Merge r13421:HEAD from branches/DISRV.  This merges the debuginfo-server
stuff into the trunk.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13440 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/AUTHORS b/AUTHORS
index 740a724..e38c95a 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -65,8 +65,16 @@
 also made a bunch of performance and memory-reduction fixes across
 diverse parts of the system.
 
-Maynard Johnson contributed IBM Power6 and Power7 support, and generally
-deals with ppc64-linux issues.
+Carl Love and Maynard Johnson contributed IBM Power6 and Power7
+support, and generally deal with ppc{32,64}-linux issues.
+
+Petar Jovanovic and Dejan Jevtic wrote and maintain the mips32-linux
+port.
+
+Dragos Tatulea modified the arm-android port so it also works on
+x86-android.
+
+Jakub Jelinek helped out with the AVX support.
 
 Many, many people sent bug reports, patches, and helpful feedback.
 
diff --git a/Makefile.all.am b/Makefile.all.am
index fe6fccd..1f69802 100644
--- a/Makefile.all.am
+++ b/Makefile.all.am
@@ -112,14 +112,6 @@
 #
 # Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
 # For building the core, coregrind/Makefile.am files add some extra things.
-#
-# Also: in newer versions of automake (1.10 onwards?) asm files ending with
-# '.S' are considered "pre-processed" (as opposed to those ending in '.s')
-# and so the CPPFLAGS are passed to the assembler.  But this is not true for
-# older automakes (e.g. 1.8.5, 1.9.6), sigh.  So we include
-# AM_CPPFLAGS_<PLATFORM> in each AM_CCASFLAGS_<PLATFORM> variable.  This
-# means some of the flags are duplicated on systems with newer versions of
-# automake, but this does not really matter and seems hard to avoid.
 
 AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
 	-I$(top_srcdir) \
@@ -141,27 +133,27 @@
 endif
 
 AM_FLAG_M3264_X86_LINUX   = @FLAG_M32@
-AM_CFLAGS_X86_LINUX       = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
-			 	$(AM_CFLAGS_BASE)
-AM_CCASFLAGS_X86_LINUX    = $(AM_CPPFLAGS_X86_LINUX) @FLAG_M32@ -g
+AM_CFLAGS_X86_LINUX       = @FLAG_M32@  @PREFERRED_STACK_BOUNDARY@ \
+				$(AM_CFLAGS_BASE) -fomit-frame-pointer
+AM_CCASFLAGS_X86_LINUX    = @FLAG_M32@ -g
 
 AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
-AM_CFLAGS_AMD64_LINUX     = @FLAG_M64@ -fomit-frame-pointer \
-				@PREFERRED_STACK_BOUNDARY@ $(AM_CFLAGS_BASE)
-AM_CCASFLAGS_AMD64_LINUX  = $(AM_CPPFLAGS_AMD64_LINUX) @FLAG_M64@ -g
+AM_CFLAGS_AMD64_LINUX     = @FLAG_M64@ @PREFERRED_STACK_BOUNDARY@ \
+				$(AM_CFLAGS_BASE) -fomit-frame-pointer
+AM_CCASFLAGS_AMD64_LINUX  = @FLAG_M64@ -g
 
 AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
 AM_CFLAGS_PPC32_LINUX     = @FLAG_M32@ $(AM_CFLAGS_BASE)
-AM_CCASFLAGS_PPC32_LINUX  = $(AM_CPPFLAGS_PPC32_LINUX) @FLAG_M32@ -g
+AM_CCASFLAGS_PPC32_LINUX  = @FLAG_M32@ -g
 
 AM_FLAG_M3264_PPC64_LINUX = @FLAG_M64@
 AM_CFLAGS_PPC64_LINUX     = @FLAG_M64@ $(AM_CFLAGS_BASE)
-AM_CCASFLAGS_PPC64_LINUX  = $(AM_CPPFLAGS_PPC64_LINUX) @FLAG_M64@ -g
+AM_CCASFLAGS_PPC64_LINUX  = @FLAG_M64@ -g
 
 AM_FLAG_M3264_ARM_LINUX   = @FLAG_M32@
 AM_CFLAGS_ARM_LINUX       = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
 			 	$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
-AM_CCASFLAGS_ARM_LINUX    = $(AM_CPPFLAGS_ARM_LINUX) @FLAG_M32@ \
+AM_CCASFLAGS_ARM_LINUX    = @FLAG_M32@ \
 				-marm -mcpu=cortex-a8 -g
 
 AM_FLAG_M3264_X86_DARWIN = -arch i386
@@ -169,17 +161,24 @@
 				-mmacosx-version-min=10.5 \
 				-fno-stack-protector -fno-pic -fno-PIC
 
-AM_CCASFLAGS_X86_DARWIN  = $(AM_CPPFLAGS_X86_DARWIN) -arch i386 -g
+AM_CCASFLAGS_X86_DARWIN  = -arch i386 -g
 
 AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
 AM_CFLAGS_AMD64_DARWIN     = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
 			    -mmacosx-version-min=10.5 -fno-stack-protector
-AM_CCASFLAGS_AMD64_DARWIN  = $(AM_CPPFLAGS_AMD64_DARWIN) -arch x86_64 -g
+AM_CCASFLAGS_AMD64_DARWIN  = -arch x86_64 -g
 
 AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
-AM_CFLAGS_S390X_LINUX     = @FLAG_M64@ $(AM_CFLAGS_BASE)
-AM_CCASFLAGS_S390X_LINUX  = $(AM_CPPFLAGS_S390X_LINUX) -mzarch -march=z900 \
-                            @FLAG_M64@ -g
+AM_CFLAGS_S390X_LINUX     = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
+AM_CCASFLAGS_S390X_LINUX  = @FLAG_M64@ -g -mzarch -march=z900
+
+AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
+AM_CFLAGS_MIPS32_LINUX     = @FLAG_M32@ $(AM_CFLAGS_BASE) -mips32
+AM_CCASFLAGS_MIPS32_LINUX  = @FLAG_M32@ -mips32 -g
+
+AM_FLAG_M3264_MIPS64_LINUX = @FLAG_M64@
+AM_CFLAGS_MIPS64_LINUX     = @FLAG_M64@ $(AM_CFLAGS_BASE) -mips64
+AM_CCASFLAGS_MIPS64_LINUX  = @FLAG_M64@ -mips64 -g
 
 # Flags for the primary target.  These must be used to build the
 # regtests and performance tests.  In fact, these must be used to
@@ -202,6 +201,13 @@
 PRELOAD_LDFLAGS_COMMON_LINUX  = -nodefaultlibs -shared -Wl,-z,interpose,-z,initfirst
 PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
 
+if VGCONF_PLATVARIANT_IS_ANDROID
+# The Android toolchain includes all kinds of stdlib helpers present in
+# bionic which is bad because we are not linking with it and the Android
+# linker will panic.
+PRELOAD_LDFLAGS_COMMON_LINUX += -nostdlib
+endif
+
 PRELOAD_LDFLAGS_X86_LINUX    = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
 PRELOAD_LDFLAGS_AMD64_LINUX  = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
 PRELOAD_LDFLAGS_PPC32_LINUX  = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
@@ -210,4 +216,6 @@
 PRELOAD_LDFLAGS_X86_DARWIN   = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
 PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
 PRELOAD_LDFLAGS_S390X_LINUX  = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
+PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
+PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
 
diff --git a/Makefile.am b/Makefile.am
index f91200a..498463e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,5 +1,5 @@
 
-AUTOMAKE_OPTIONS = foreign 1.7 dist-bzip2
+AUTOMAKE_OPTIONS = foreign 1.10 dist-bzip2
 
 include $(top_srcdir)/Makefile.all.am 
 
@@ -28,6 +28,7 @@
 	tests \
 	perf \
 	gdbserver_tests \
+	memcheck/tests/vbit-test \
 	auxprogs \
 	mpi \
 	docs
@@ -43,7 +44,7 @@
 	exp-sgcheck.supp \
 	darwin9.supp darwin9-drd.supp \
 	darwin10.supp darwin10-drd.supp \
-	darwin11.supp \
+	darwin11.supp darwin12.supp \
 	bionic.supp
 DEFAULT_SUPP_FILES = @DEFAULT_SUPP@
 
@@ -99,9 +100,13 @@
 	README_MISSING_SYSCALL_OR_IOCTL \
 	README.s390 \
 	README.android \
+	README.android_emulator \
+	README.mips \
+	NEWS.old \
 	valgrind.pc.in \
 	valgrind.spec.in \
-	valgrind.spec
+	valgrind.spec \
+	autogen.sh
 
 dist_noinst_SCRIPTS = \
 	vg-in-place
diff --git a/Makefile.tool-tests.am b/Makefile.tool-tests.am
index 79110df..c8fd434 100644
--- a/Makefile.tool-tests.am
+++ b/Makefile.tool-tests.am
@@ -9,6 +9,12 @@
 		-DVGO_@VGCONF_OS@=1 \
 		-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
 		-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
+
+if VGCONF_HAVE_PLATFORM_SEC
+AM_CPPFLAGS +=	-DVGA_SEC_@VGCONF_ARCH_SEC@=1  \
+		-DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1
+endif
+
 # Nb: Tools need to augment these flags with an arch-selection option, such
 # as $(AM_FLAG_M3264_PRI).
 AM_CFLAGS   = -Winline -Wall -Wshadow -g
@@ -21,6 +27,10 @@
 noinst_DSYMS = $(check_PROGRAMS)
 endif
 
+if HAS_WRITE_STRINGS_WARNING
+CFLAGS += -Wno-write-strings
+endif
+
 check-local: build-noinst_DSYMS
 
 clean-local: clean-noinst_DSYMS
diff --git a/Makefile.tool.am b/Makefile.tool.am
index 7924b1b..8e0a0ad 100644
--- a/Makefile.tool.am
+++ b/Makefile.tool.am
@@ -26,10 +26,12 @@
 endif
 
 
-# -Wl,--build-id=none is needed when linking tools on Linux. Without this
-# flag newer ld versions (2.20 and later) create a .note.gnu.build-id at the
-# default text segment address, which of course means the resulting executable
-# is unusable. So we have to tell ld not to generate that, with --build-id=none.
+# -Wl,--build-id=none is needed when linking tools with a linker that only
+# knows -Ttext and not -Ttext-segment. Without this flag newer ld versions
+# (2.20 and later) create a .note.gnu.build-id at the default text segment
+# address, which of course means the resulting executable
+# is unusable. So we have to tell ld not to generate that, with
+# --build-id=none unless the linker supports -Ttext-segment.
 TOOL_LDFLAGS_COMMON_LINUX = \
 	-static -nodefaultlibs -nostartfiles -u _start @FLAG_NO_BUILD_ID@
 TOOL_LDFLAGS_COMMON_DARWIN = \
@@ -59,6 +61,15 @@
 TOOL_LDFLAGS_AMD64_DARWIN = \
 	$(TOOL_LDFLAGS_COMMON_DARWIN) -arch x86_64
 
+# MIPS Linux default start symbol is __start, not _start like on x86 or amd
+TOOL_LDFLAGS_MIPS32_LINUX = \
+	-static -nodefaultlibs -nostartfiles -u __start @FLAG_NO_BUILD_ID@ \
+	@FLAG_M32@
+
+TOOL_LDFLAGS_MIPS64_LINUX = \
+	-static -nodefaultlibs -nostartfiles -u __start @FLAG_NO_BUILD_ID@ \
+	@FLAG_M64@
+
 # On Android we must ask for non-executable stack, not sure why.
 if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
 if VGCONF_PLATVARIANT_IS_ANDROID
@@ -103,6 +114,11 @@
 LIBREPLACEMALLOC_S390X_LINUX = \
 	$(top_builddir)/coregrind/libreplacemalloc_toolpreload-s390x-linux.a
 
+LIBREPLACEMALLOC_MIPS32_LINUX = \
+	$(top_builddir)/coregrind/libreplacemalloc_toolpreload-mips32-linux.a
+
+LIBREPLACEMALLOC_MIPS64_LINUX = \
+	$(top_builddir)/coregrind/libreplacemalloc_toolpreload-mips64-linux.a
 
 LIBREPLACEMALLOC_LDFLAGS_X86_LINUX = \
 	-Wl,--whole-archive \
@@ -140,6 +156,16 @@
 	$(LIBREPLACEMALLOC_S390X_LINUX) \
 	-Wl,--no-whole-archive
 
+LIBREPLACEMALLOC_LDFLAGS_MIPS32_LINUX = \
+	-Wl,--whole-archive \
+	$(LIBREPLACEMALLOC_MIPS32_LINUX) \
+	-Wl,--no-whole-archive
+
+LIBREPLACEMALLOC_LDFLAGS_MIPS64_LINUX = \
+	-Wl,--whole-archive \
+	$(LIBREPLACEMALLOC_MIPS64_LINUX) \
+	-Wl,--no-whole-archive
+
 #----------------------------------------------------------------------------
 # General stuff
 #----------------------------------------------------------------------------
diff --git a/Makefile.vex.am b/Makefile.vex.am
index ed9d809..419a580 100644
--- a/Makefile.vex.am
+++ b/Makefile.vex.am
@@ -17,7 +17,7 @@
 pkginclude_HEADERS = \
 	pub/libvex.h \
 	pub/libvex_basictypes.h \
-	pub/libvex_emwarn.h \
+	pub/libvex_emnote.h \
 	pub/libvex_guest_offsets.h \
 	pub/libvex_guest_x86.h \
 	pub/libvex_guest_amd64.h \
@@ -25,6 +25,7 @@
 	pub/libvex_guest_ppc64.h \
 	pub/libvex_guest_arm.h \
 	pub/libvex_guest_s390x.h \
+	pub/libvex_guest_mips32.h \
 	pub/libvex_s390x_common.h \
 	pub/libvex_ir.h \
 	pub/libvex_trc_values.h
@@ -41,15 +42,20 @@
 	priv/guest_ppc_defs.h \
 	priv/guest_arm_defs.h \
 	priv/guest_s390_defs.h \
+	priv/guest_mips_defs.h \
 	priv/host_generic_regs.h \
 	priv/host_generic_simd64.h \
 	priv/host_generic_simd128.h \
+	priv/host_generic_simd256.h \
+	priv/host_generic_maddf.h \
 	priv/host_x86_defs.h \
 	priv/host_amd64_defs.h \
 	priv/host_ppc_defs.h \
 	priv/host_arm_defs.h \
 	priv/host_s390_defs.h \
-	priv/host_s390_disasm.h
+	priv/s390_disasm.h \
+	priv/s390_defs.h \
+	priv/host_mips_defs.h
 
 BUILT_SOURCES = pub/libvex_guest_offsets.h
 CLEANFILES    = pub/libvex_guest_offsets.h
@@ -64,14 +70,15 @@
 			    pub/libvex_guest_ppc32.h \
 			    pub/libvex_guest_ppc64.h \
 			    pub/libvex_guest_arm.h \
-			    pub/libvex_guest_s390x.h
+			    pub/libvex_guest_s390x.h \
+			    pub/libvex_guest_mips32.h
 	rm -f auxprogs/genoffsets.s
 	$(CC) $(CFLAGS) \
 	      $(LIBVEX_CFLAGS) \
 	      $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@) \
 				-O -S -o auxprogs/genoffsets.s \
 					 auxprogs/genoffsets.c
-	grep xyzzy auxprogs/genoffsets.s | grep define \
+	grep xyzzy auxprogs/genoffsets.s | grep "^#define" \
 	   | sed "s/xyzzy\\$$//g" \
 	   | sed "s/xyzzy#//g" \
 	   | sed "s/xyzzy//g" \
@@ -92,6 +99,7 @@
 	priv/main_main.c \
 	priv/main_util.c \
 	priv/ir_defs.c \
+	priv/ir_inject.c \
 	priv/ir_match.c \
 	priv/ir_opt.c \
 	priv/guest_generic_bb_to_IR.c \
@@ -106,9 +114,13 @@
 	priv/guest_arm_toIR.c \
 	priv/guest_s390_helpers.c \
 	priv/guest_s390_toIR.c \
+	priv/guest_mips_helpers.c \
+	priv/guest_mips_toIR.c \
 	priv/host_generic_regs.c \
 	priv/host_generic_simd64.c \
 	priv/host_generic_simd128.c \
+	priv/host_generic_simd256.c \
+	priv/host_generic_maddf.c \
 	priv/host_generic_reg_alloc2.c \
 	priv/host_x86_defs.c \
 	priv/host_x86_isel.c \
@@ -120,7 +132,9 @@
 	priv/host_arm_isel.c \
 	priv/host_s390_defs.c \
 	priv/host_s390_isel.c \
-	priv/host_s390_disasm.c
+	priv/s390_disasm.c \
+	priv/host_mips_defs.c \
+	priv/host_mips_isel.c
 
 LIBVEX_CFLAGS = \
 	-Wbad-function-cast \
diff --git a/NEWS b/NEWS
index 1f4bd55..1b3c209 100644
--- a/NEWS
+++ b/NEWS
@@ -1,19 +1,464 @@
-Release 3.8.0 (????)
-~~~~~~~~~~~~~~~~~~~~
+Release 3.9.0 (?? ?????? 201?)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 * ================== PLATFORM CHANGES =================
 
-* Support for amd64 AES instructions (AESKEYGENASSIST, AESENC, AESENCLAST,
-  AESDEC, AESDECLAST, AESIMC).
+  mips64-linux support
 
 * ==================== TOOL CHANGES ====================
+* Memcheck:
+
+  - Using the options --show-leak-kinds=kind1,kind2,.. and
+    --errors-for-leak-kinds=kind1,kind2,.., each leak kind (definite, indirect,
+    possible, reachable) can now be individually reported and/or counted as
+    an error.
+    In a leak suppression entry, an optional line 'match-leak-kinds:'
+    controls which leak kinds are suppressed by this entry.
+    This is a.o. useful to avoid definite leaks being "catched"
+    by a suppression entry aimed at suppressing possibly lost blocks.
+
+  - The option --keep-stacktraces controls which stack trace(s) to keep for
+    malloc'd and/or free'd blocks. This can be used to obtain more information
+    for 'use after free' errors or to decrease Valgrind memory and/or cpu usage
+    by recording less information for heap blocks.
+
+* ==================== OTHER CHANGES ====================
+
+  - Option --merge-recursive-frames=<number> tells Valgrind to
+    detect and merge (collapse) recursive calls when recording stack traces.
+    When your program has recursive algorithms, this limits
+    the memory used by Valgrind for recorded stack traces and avoid
+    recording uninteresting repeated calls.
+    The value is changeable using the monitor command
+    'v.set merge-recursive-frames'.
+
+  - valgrind.h has a new request VALGRIND_MONITOR_COMMAND.
+    This can be used to execute gdbserver monitor commands from
+    the client program.
+
+  - Addition of GDB server monitor command 'v.info open_fds' that gives the
+    list of open file descriptors and additional details.
+
+  - Addition of GDB server monitor command 'v.info execontext' that shows
+    information about the stack traces recorded by Valgrind.
+    This can be used to analyse one possible cause of Valgrind high
+    memory usage for some programs.
+
+  - Addition of GDB server monitor command
+    'v.do expensive_sanity_check_general' that checks the sanity
+    of various Valgrind aspects, including the Valgrind heap.
+
+* ==================== FIXED BUGS ====================
+
+The following bugs have been fixed or resolved.  Note that "n-i-bz"
+stands for "not in bugzilla" -- that is, a bug that was reported to us
+but never got a bugzilla entry.  We encourage you to file bugs in
+bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
+than mailing the developers (or mailing lists) directly -- bugs that
+are not entered into bugzilla tend to get forgotten about or ignored.
+
+To see details of a given bug, visit
+  https://bugs.kde.org/show_bug.cgi?id=XXXXXX
+where XXXXXX is the bug number as listed below.
+
+v = verified fixed in 3_8_BRANCH
+m = merged into 3_8_BRANCH
+[390] = fixed in trunk (for 3.9.0)
+[381] = fixed in trunk and in 3_8_BRANCH, for 3.8.1
+[382] = fixed in trunk and needs to be made available for 3.8.2 too
+
+123837    [390] semctl system call: 4rth argument is optional, depending on cmd
+135425    [390] memcheck should tell you where Freed blocks were Mallocd
+252955    [390] Impossible to compile with ccache
+253519  Memcheck reports auxv pointer accesses as invalid reads.
+        FIXED r13109
+
+274695    [390] s390x: Support "compare to/from logical" instructions (z196)
+275800    [390] s390x: Add support for the ecag instruction (part 1)
+275800    [390] s390x: Autodetect cache info (part 2)
+284540    [390] Memcheck shouldn't count suppressions matching still-reachable allocations
+296311    [390] Wrong stack traces due to -fomit-frame-pointer (x86) 
+
+305431  Use find_buildid shdr fallback for separate .debug files
+        FIXED r13160
+
+305948    [390] ppc64: code generation for ShlD64 / ShrD64 asserts
+306035    [390] s390x: Fix IR generation for LAAG and friends
+306054    [390] s390x: Condition code computation for convert-to-int/logical
+
+306098  s390x: alternate opcode form for convert to/from fixed
+   FIXED, 2501/12935, but not yet closed
+306310  3.8.0 release tarball missing some files
+   FIXED 12964/12983.
+
+306783  Mips unhandled syscall :  4025  /  4079  / 4182
+   FIXED r12995.
+
+307038  DWARF2 CFI reader: unhandled DW_OP_ opcode 0x8 (DW_OP_const1u et al)
+        FIXED r13010
+
+307101  sys_capget second argument can be NULL
+        FIXED r13021
+307103  sys_openat: If pathname is absolute, then dirfd is ignored.
+        FIXED r13159
+307103  sys_openat If pathname is absolute, then dirfd is ignored
+        FIXED r13159
+
+307106  amd64->IR: f0 0f c0 02 (lock xadd byte)
+        == 308333
+        FIXED r2581
+
+307141  valgrind does't work in mips-linux system
+        FIXED (no action on our part?  unclear)
+
+
+
+307155    [390] filter_gdb should filter out syscall-template.S T_PSEUDO
+307285  x86_amd64 feature test for avx in test suite is wrong
+        FIXED, r13161
+
+307290  memcheck overlap testcase needs memcpy version filter
+        FIXED r13020
+
+307463  Please add "&limit=0" to the "all open bugs" link
+        FIXED
+
+307465    [390] --show-possibly-lost=no should bring down the error count / exit code
+307729  pkgconfig support broken valgrind.pc
+        valt_load_address=@VALT_LOAD_ADDRESS@
+        FIXED r13018
+
+307828  SSE optimized wcscpy, wcscmp, wcsrchr and wcschr trigger
+        uninitialised value and/or invalid read warnings
+        FIXED r13162
+
+307955  Building valgrind 3.7.0-r4 fails in Gentoo AMD64 when
+        using clang instead of gcc
+        FIXED (long since)
+
+308321    [390] testsuite memcheck filter interferes with gdb_filter 
+308341    [390] vgdb should report process exit (or fatal signal)
+308427  s390 memcheck reports  tsearch conditional jump or move
+        depends on uninitialized value
+        FIXED r2551
+
+308495  Remove build dependency on installed Xen headers
+        FIXED r13081
+
+308573  Internal Valgrind error on 64-bit instruction executed in
+        32-bit mode
+        FIXED r2558, r13091
+
+308627  pmovmskb validity bit propagation is imprecise
+        == 308626
+        FIXED r2559, r13108, r13129
+
+308644    [390] vgdb command for having the info for the track-fds option
+308711    [390] give more info about aspacemgr and arenas in out_of_memory
+308886    [390] Missing support for PTRACE_SET/GETREGSET 
+308886  Missing support for PTRACE_SET/GETREGSET
+        FIXED r13112, r13115 (??)
+
+309229  V-bit tester does not report number of tests generated
+        FIXED r13124
+
+309425  Provide a --sigill-diagnostics flag to suppress illegal
+        instruction reporting
+        FIXED r13164, r2582
+
+309600  valgrind is a bit confused about 0-sized sections
+        FIXED r13109
+
+309823    [390] Generate errors for still reachable blocks
+309921  PCMPISTRI validity bit propagation is imprecise
+        FIXED r2562, r13132
+
+309922  none/tests/ppc64/test_dfp5 sometimes fails
+        FIXED r2563
+
+310169  The Iop_CmpORD class of Iops is currently not supported
+        by the vbit checker.
+        FIXED r13123
+
+310424    [390] --read-var-info does not properly describe static variables 
+310792  [PATCH v2] search additional path for debug symbols
+        FIXED r13154,13169
+
+310931    [390] s390x: Message-security assist (MSA) instruction extension not implemented
+311100  PPC DFP implementation of the integer operands is not
+        consistent with the Iop definitions
+        FIXED r2562, r13260
+
+311407  ssse3 bcopy (actually converted memcpy) causes invalid read of
+        size 8 under Debian GNU/Linux 32 bits
+        FIXED r13253
+
+
+311880  x86_64: make regtest hangs at shell_valid1
+        FIXED r2597
+
+312571  Rounding mode call wrong for the DFP  Iops: Iop_AddD128, 
+        Iop_SubD128, Iop_MulD128, Iop_DivD128, Iop_D128toI64
+        FIXED r2627
+
+312620  Recent change to Iop_D32toD64 and Iop_D64toD32 for s390 DFP
+        support broke ppc implementation of the Iops
+        FIXED r2650
+
+312913    [390] Dangling pointers error should also report the alloc stack trace
+312980    [390] Building on Mountain Lion generates some compiler warnings
+313267  Adding MIPS64/Linux port to Valgrind
+        FIXED (mostly -- still DW64 outstandings) r13292, r2687
+
+313811    [390] Buffer overflow in assert_fail
+314099  coverity pointed out error in VEX guest_ppc_toIR.c insn_suffix
+        FIXED 2671 
+
+315441  sendmsg syscall should ignore unset msghdr msg_flags
+        FIXED 13294
+
+315545    [390] (find_TTEntry_from_hcode): Assertion '(UChar*)sec->tt[tteNo].tcptr <= (UChar*)hcode' failed
+316535    [390] Use of |signed int| instead of (unsigned) |size_t| in valgrind messages...
+315959    [390] valgrind man page has bogus SGCHECK (and no BBV) OPTIONS section
+316144    [390] valgrind.1 manpage contains unknown ??? strings for some core option references
+316145    [390] callgrind command line options in manpage reference (unknown) callgrind manual
+319235    [390] --db-attach=yes is broken with Yama ptrace scoping enabled
+n-i-bz    [390] report error for vgdb snapshot requested before execution
+n-i-bz    [390] Some wrong command line options could be ignored
+n-i-bz    [390] same as 303624 (fixed in 3.8.0), but for x86 android
+
+304832  ppc32: build failure
+  FIXED (not sure what happened.  Seems bogus to me.)
+
+n-i-bz  patch to allow fair-sched on android
+        FIXED r13186
+
+315738  disInstr(arm): unhandled instruction: 0xEEBE0BEE (vcvt.s32.f64)
+        FIXED 2695 13313
+
+311669  disInstr(arm): unhandled instruction: 0xEE07CFBA
+        FIXED in 3.8.1 (hence, basically, invalid)
+
+311318  ARM: "128-bit constant is not implemented" error message
+        FIXED 2693
+
+309427  SSE optimized stpncpy trigger uninitialised value and/or
+        invalid read warnings
+        FIXED, r13163
+
+308718  ARM implement SMLALBB family of instructions
+        FIXED 2692, 13311
+
+308717  ARM: implement fixed-point VCVT.F64.[SU]32
+        FIXED 2694 13312
+
+316144  valgrind.1 manpage contains unknown ??? strings for some
+        core option references
+        FIXED 13314
+
+316145  callgrind command line options in manpage reference
+        (unknown) callgrind manual
+        FIXED 13324
+
+316181  x264 program of parsec 2.1 stuck (do not finish)
+        FIXED 13315
+
+316535  Use of |signed int| instead of (unsigned) |size_t| in
+        valgrind messages...
+        FIXED 13326
+
+317091  Use -Wl,-Ttext-segment when static linking if possible to
+        keep build-ids
+        FIXED 13331
+
+317186  "Impossible happends" when occurs VCVT instruction on ARM
+        FIXED 2698
+
+315959  valgrind man page has bogus SGCHECK (and no BBV) OPTIONS section
+        FIXED 13323
+        312907 ==
+
+312171  ppc: insn selection for DFP
+        FIXED r?????
+
+315534  msgrcv inside a thread causes valgrind to hang (block)
+        FIXED 13289
+
+316503  Valgrind does not support SSE4 "movntdqa" instruction
+        FIXED 2700 13336
+
+311690  V crashes because it redirects branches inside of a redirected function
+        FIXED (kinda; not really) 13190
+
+314269  ppc: dead code in insn selection
+        FIXED 2697
+
+315345  cl-format.xml and callgrind/dump.c don't agree on
+        using cfl= or cfi= for the called function source file
+        FIXED 13310
+
+251569  vex amd64->IR: 0xF 0x1 0xF9 0xBF 0x90 0xD0 0x3 0x0 (RDTSCP)
+        311933 ==
+        313348 ==
+        313354 ==
+        FIXED 2701 13337
+
+305728  Add support for AVX2 instructions
+        FIXED r2702, r13338, r13339, r13340
+
+317318  Support for Threading Building Blocks "scalable_malloc"
+        WORKSFORME
+
+308089  Unhandled syscall on ppc64: prctl
+        FIXED 13350
+
+263034  Crash when loading some PPC64 binaries
+        FIXED 13351
+
+307082  HG false positive: pthread_cond_destroy: destruction of
+        unknown cond var, w/ patch
+        FIXED 13332
+
+135425  memcheck should tell you where Freed blocks were Mallocd
+        FIXED 13223
+
+269599] Increase deepest backtrace
+FIXED r??
+
+317444  amd64->IR: 0xC4 0x41 0x2C 0xC2 0xD2 0x8 (vcmpeq_uqps)
+        FIXED 2703 13342
+
+317461  Fix BMI assembler configure check and avx2/bmi/fma vgtest prereqs
+        FIXED 13343
+
+317463  bmi testcase IR SANITY CHECK FAILURE
+        FIXED 2704
+
+314718  ARM: implement integer divide instruction (sdiv and udiv)
+        FIXED 2706 13365
+
+315689  disInstr(thumb): unhandled instruction: 0xF852 0x0E10 (LDRT)
+        FIXED 2705 13364
+
+317506  memcheck/tests/vbit-test fails with unknown opcode after
+        introduction of new Iops for AVX2, BMI, FMA support
+        FIXED 13347
+
+320211 Stack buffer overflow in ./coregrind/m_main.c with huge TMPDIR
+
+Release 3.8.1 (19 September 2012)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.8.1 is a bug fix release.  It fixes some assertion failures in 3.8.0
+that occur moderately frequently in real use cases, adds support for
+some missing instructions on ARM, and fixes a deadlock condition on
+MacOSX.  If you package or deliver 3.8.0 for others to use, you might
+want to consider upgrading to 3.8.1 instead.
+
+The following bugs have been fixed or resolved.  Note that "n-i-bz"
+stands for "not in bugzilla" -- that is, a bug that was reported to us
+but never got a bugzilla entry.  We encourage you to file bugs in
+bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
+than mailing the developers (or mailing lists) directly -- bugs that
+are not entered into bugzilla tend to get forgotten about or ignored.
+
+To see details of a given bug, visit
+  https://bugs.kde.org/show_bug.cgi?id=XXXXXX
+where XXXXXX is the bug number as listed below.
+
+284004  == 301281
+289584  Unhandled instruction: 0xF 0x29 0xE5 (MOVAPS)
+295808  amd64->IR: 0xF3 0xF 0xBC 0xC0 (TZCNT)
+298281  wcslen causes false(?) uninitialised value warnings
+301281  valgrind hangs on OS X when the process calls system()
+304035  disInstr(arm): unhandled instruction 0xE1023053
+304867  implement MOVBE instruction in x86 mode
+304980  Assertion 'lo <= hi' failed in vgModuleLocal_find_rx_mapping
+305042  amd64: implement 0F 7F encoding of movq between two registers
+305199  ARM: implement QDADD and QDSUB
+305321  amd64->IR: 0xF 0xD 0xC (prefetchw)
+305513  killed by fatal signal: SIGSEGV
+305690  DRD reporting invalid semaphore when sem_trywait fails
+305926  Invalid alignment checks for some AVX instructions
+306297  disInstr(thumb): unhandled instruction 0xE883 0x000C
+306310  3.8.0 release tarball missing some files
+306612  RHEL 6 glibc-2.X default suppressions need /lib*/libc-*patterns
+306664  vex amd64->IR: 0x66 0xF 0x3A 0x62 0xD1 0x46 0x66 0xF
+n-i-bz  shmat of a segment > 4Gb does not work 
+n-i-bz  simulate_control_c script wrong USR1 signal number on mips
+n-i-bz  vgdb ptrace calls wrong on mips [...]
+n-i-bz  Fixes for more MPI false positives
+n-i-bz  exp-sgcheck's memcpy causes programs to segfault
+n-i-bz  OSX build w/ clang: asserts at startup
+n-i-bz  Incorrect undef'dness prop for Iop_DPBtoBCD and Iop_BCDtoDPB
+n-i-bz  fix a couple of union tag-vs-field mixups
+n-i-bz  OSX: use __NR_poll_nocancel rather than __NR_poll
+
+The following bugs were fixed in 3.8.0 but not listed in this NEWS
+file at the time:
+
+254088  Valgrind should know about UD2 instruction
+301280  == 254088
+301902  == 254088
+304754  NEWS blows TeX's little mind
+
+(3.8.1: 19 September 2012, vex rXXXX, valgrind rXXXXX)
+
+
+
+Release 3.8.0 (10 August 2012)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.8.0 is a feature release with many improvements and the usual
+collection of bug fixes.
+
+This release supports X86/Linux, AMD64/Linux, ARM/Linux, PPC32/Linux,
+PPC64/Linux, S390X/Linux, MIPS/Linux, ARM/Android, X86/Android,
+X86/MacOSX 10.6/10.7 and AMD64/MacOSX 10.6/10.7.  Support for recent
+distros and toolchain components (glibc 2.16, gcc 4.7) has been added.
+There is initial support for MacOSX 10.8, but it is not usable for
+serious work at present.
+
+* ================== PLATFORM CHANGES =================
+
+* Support for MIPS32 platforms running Linux.  Valgrind has been
+  tested on MIPS32 and MIPS32r2 platforms running different Debian
+  Squeeze and MeeGo distributions.  Both little-endian and big-endian
+  cores are supported.  The tools Memcheck, Massif and Lackey have
+  been tested and are known to work. See README.mips for more details.
+
+* Preliminary support for Android running on x86.
+
+* Preliminary (as-yet largely unusable) support for MacOSX 10.8.
+
+* Support for Intel AVX instructions and for AES instructions.  This
+  support is available only for 64 bit code.
+
+* Support for POWER Decimal Floating Point instructions.
+
+* ==================== TOOL CHANGES ====================
+
+* Non-libc malloc implementations are now supported.  This is useful
+  for tools that replace malloc (Memcheck, Massif, DRD, Helgrind).
+  Using the new option --soname-synonyms, such tools can be informed
+  that the malloc implementation is either linked statically into the
+  executable, or is present in some other shared library different
+  from libc.so.  This makes it possible to process statically linked
+  programs, and programs using other malloc libraries, for example
+  TCMalloc or JEMalloc.
+
+* For tools that provide their own replacement for malloc et al, the
+  option --redzone-size=<number> allows users to specify the size of
+  the padding blocks (redzones) added before and after each client
+  allocated block.  Smaller redzones decrease the memory needed by
+  Valgrind.  Bigger redzones increase the chance to detect blocks
+  overrun or underrun.  Prior to this change, the redzone size was
+  hardwired to 16 bytes in Memcheck.
 
 * Memcheck:
 
   - The leak_check GDB server monitor command now can
     control the maximum nr of loss records to output.
 
-  - reduction of memory use for applications allocating
+  - Reduction of memory use for applications allocating
     many blocks and/or having many partially defined bytes.
 
   - Addition of GDB server monitor command 'block_list' that lists
@@ -22,64 +467,243 @@
   - Addition of GDB server monitor command 'who_points_at' that lists
     the locations pointing at a block.
 
-  - if a redzone size > 0 is given, VALGRIND_MALLOCLIKE_BLOCK now
-    will detect an invalid access of these redzones, by marking them
-    noaccess.
+  - If a redzone size > 0 is given, VALGRIND_MALLOCLIKE_BLOCK now will
+    detect an invalid access of these redzones, by marking them
+    noaccess.  Similarly, if a redzone size is given for a memory
+    pool, VALGRIND_MEMPOOL_ALLOC will mark the redzones no access.
+    This still allows to find some bugs if the user has forgotten to
+    mark the pool superblock noaccess.
+
+  - Performance of memory leak check has been improved, especially in
+    cases where there are many leaked blocks and/or many suppression
+    rules used to suppress leak reports.
+
+  - Reduced noise (false positive) level on MacOSX 10.6/10.7, due to
+    more precise analysis, which is important for LLVM/Clang
+    generated code.  This is at the cost of somewhat reduced
+    performance.  Note there is no change to analysis precision or
+    costs on Linux targets.
+
+* DRD:
+
+  - Added even more facilities that can help finding the cause of a data
+    race, namely the command-line option --ptrace-addr and the macro
+    DRD_STOP_TRACING_VAR(x). More information can be found in the manual.
+
+  - Fixed a subtle bug that could cause false positive data race reports.
 
 * ==================== OTHER CHANGES ====================
 
 * The C++ demangler has been updated so as to work well with C++ 
   compiled by up to at least g++ 4.6.
 
-* The new option --fair-sched allows to control the locking mechanism
-  used by Valgrind. The locking mechanism influences the performance
-  and scheduling of multithreaded applications (in particular
-  on multiprocessor/multicore systems).
+* Tool developers can make replacement/wrapping more flexible thanks
+  to the new option --soname-synonyms.  This was reported above, but
+  in fact is very general and applies to all function
+  replacement/wrapping, not just to malloc-family functions.
 
-* Support to run Valgrind on Valgrind has been improved.
+* Round-robin scheduling of threads can be selected, using the new
+  option --fair-sched= yes.  Prior to this change, the pipe-based
+  thread serialisation mechanism (which is still the default) could
+  give very unfair scheduling.  --fair-sched=yes improves
+  responsiveness of interactive multithreaded applications, and
+  improves repeatability of results from the thread checkers Helgrind
+  and DRD.
+
+* For tool developers: support to run Valgrind on Valgrind has been
+  improved.  We can now routinely Valgrind on Helgrind or Memcheck.
 
 * gdbserver now shows the float shadow registers as integer
   rather than float values, as the shadow values are mostly
   used as bit patterns.
 
+* Increased limit for the --num-callers command line flag to 500.
+
+* Performance improvements for error matching when there are many
+  suppression records in use.
+
+* Improved support for DWARF4 debugging information (bug 284184).
+
+* Initial support for DWZ compressed Dwarf debug info.
+
+* Improved control over the IR optimiser's handling of the tradeoff
+  between performance and precision of exceptions.  Specifically,
+  --vex-iropt-precise-memory-exns has been removed and replaced by
+  --vex-iropt-register-updates, with extended functionality.  This
+  allows the Valgrind gdbserver to always show up to date register
+  values to GDB.
+
+* Modest performance gains through the use of translation chaining for
+  JIT-generated code.
+
 * ==================== FIXED BUGS ====================
 
 The following bugs have been fixed or resolved.  Note that "n-i-bz"
 stands for "not in bugzilla" -- that is, a bug that was reported to us
 but never got a bugzilla entry.  We encourage you to file bugs in
-bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather than
-mailing the developers (or mailing lists) directly -- bugs that are
-not entered into bugzilla tend to get forgotten about or ignored.
+bugzilla (https://bugs.kde.org/enter_bug.cgi?product=valgrind) rather
+than mailing the developers (or mailing lists) directly -- bugs that
+are not entered into bugzilla tend to get forgotten about or ignored.
 
 To see details of a given bug, visit
-https://bugs.kde.org/show_bug.cgi?id=XXXXXX
+  https://bugs.kde.org/show_bug.cgi?id=XXXXXX
 where XXXXXX is the bug number as listed below.
 
+197914  Building valgrind from svn now requires automake-1.10
+203877  increase to 16Mb maximum allowed alignment for memalign et al
+219156  Handle statically linked malloc or other malloc lib (e.g. tcmalloc) 
 247386  make perf does not run all performance tests
 270006  Valgrind scheduler unfair 
+270777  Adding MIPS/Linux port to Valgrind
 270796  s390x: Removed broken support for the TS insn
 271438  Fix configure for proper SSE4.2 detection
 273114  s390x: Support TR, TRE, TROO, TROT, TRTO, and TRTT instructions
+273475  Add support for AVX instructions
+274078  improved configure logic for mpicc
 276993  fix mremap 'no thrash checks' 
-281482  valgrind's memcheck incorrect byte allocation count in realloc() for silly argument
+278313  Fedora 15/x64: err read debug info with --read-var-info=yes flag
+281482  memcheck incorrect byte allocation count in realloc() for silly argument
 282230  group allocator for small fixed size, use it for MC_Chunk/SEc vbit
 283413  Fix wrong sanity check
 283671  Robustize alignment computation in LibVEX_Alloc
+283961  Adding support for some HCI IOCTLs
+284124  parse_type_DIE: confused by: DWARF 4
+284864  == 273475 (Add support for AVX instructions)
+285219  Too-restrictive constraints for Thumb2 "SP plus/minus register"
+285662  (MacOSX): Memcheck needs to replace memcpy/memmove
+285725  == 273475 (Add support for AVX instructions)
+286261  add wrapper for linux I2C_RDWR ioctl
 286270  vgpreload is not friendly to 64->32 bit execs, gives ld.so warnings
 286374  Running cachegrind with --branch-sim=yes on 64-bit PowerPC program fails
+286384  configure fails "checking for a supported version of gcc"
+286497  == 273475 (Add support for AVX instructions)
+286596  == 273475 (Add support for AVX instructions)
+286917  disInstr(arm): unhandled instruction: QADD (also QSUB)
+287175  ARM: scalar VFP fixed-point VCVT instructions not handled
 287260  Incorrect conditional jump or move depends on uninitialised value(s)
+287301  vex amd64->IR: 0x66 0xF 0x38 0x41 0xC0 0xB8 0x0 0x0 (PHMINPOSUW)
+287307  == 273475 (Add support for AVX instructions)
 287858  VG_(strerror): unknown error 
+288298  (MacOSX) unhandled syscall shm_unlink
+288995  == 273475 (Add support for AVX instructions)
+289470  Loading of large Mach-O thin binaries fails.
+289656  == 273475 (Add support for AVX instructions)
 289699  vgdb connection in relay mode erroneously closed due to buffer overrun 
-289939  wish: complete monitor cmd 'leak_check' with details about leaked or reachable blocks
+289823  ==  293754 (PCMPxSTRx not implemented for 16-bit characters)
+289839  s390x: Provide support for unicode conversion instructions
+289939  monitor cmd 'leak_check' with details about leaked or reachable blocks
+290006  memcheck doesn't mark %xmm as initialized after "pcmpeqw %xmm %xmm"
 290655  Add support for AESKEYGENASSIST instruction 
+290719  valgrind-3.7.0 fails with automake-1.11.2 due to"pkglibdir" usage
 290974  vgdb must align pages to VKI_SHMLBA (16KB) on ARM 
+291253  ES register not initialised in valgrind simulation
+291568  Fix 3DNOW-related crashes with baseline x86_64 CPU (w patch)
+291865  s390x: Support the "Compare Double and Swap" family of instructions
+292300  == 273475 (Add support for AVX instructions)
+292430  unrecognized instruction in __intel_get_new_mem_ops_cpuid
+292493  == 273475 (Add support for AVX instructions)
+292626  Missing fcntl F_SETOWN_EX and F_GETOWN_EX support
+292627  Missing support for some SCSI ioctls
+292628  none/tests/x86/bug125959-x86.c triggers undefined behavior
+292841  == 273475 (Add support for AVX instructions)
+292993  implement the getcpu syscall on amd64-linux
+292995  Implement the “cross memory attach” syscalls introduced in Linux 3.2
 293088  Add some VEX sanity checks for ppc64 unhandled instructions
+293751  == 290655 (Add support for AESKEYGENASSIST instruction)
+293754  PCMPxSTRx not implemented for 16-bit characters
+293755  == 293754 (No tests for PCMPxSTRx on 16-bit characters)
+293808  CLFLUSH not supported by latest VEX for amd64
+294047  valgrind does not correctly emulate prlimit64(..., RLIMIT_NOFILE, ...)
+294048  MPSADBW instruction not implemented
 294055  regtest none/tests/shell fails when locale is not set to C
+294185  INT 0x44 (and others) not supported on x86 guest, but used by Jikes RVM
 294190  --vgdb-error=xxx can be out of sync with errors shown to the user
-295799  Missing \n with get_vbits in gdbserver when line is % 80 and there are some unaddressable bytes 
+294191  amd64: fnsave/frstor and 0x66 size prefixes on FP instructions
+294260  disInstr_AMD64: disInstr miscalculated next %rip
+294523  --partial-loads-ok=yes causes false negatives
+294617  vex amd64->IR: 0x66 0xF 0x3A 0xDF 0xD1 0x1 0xE8 0x6A
+294736  vex amd64->IR: 0x48 0xF 0xD7 0xD6 0x48 0x83
+294812  patch allowing to run (on x86 at least) helgrind/drd on tool.
+295089  can not annotate source for both helgrind and drd
+295221  POWER Processor decimal floating point instruction support missing
+295427  building for i386 with clang on darwin11 requires "-new_linker linker"
+295428  coregrind/m_main.c has incorrect x86 assembly for darwin
+295590  Helgrind: Assertion 'cvi->nWaiters > 0' failed
+295617  ARM - Add some missing syscalls
+295799  Missing \n with get_vbits in gdbserver when line is % 80 [...]
+296229  Linux user input device ioctls missing wrappers
+296318  ELF Debug info improvements (more than one rx/rw mapping)
+296422  Add translation chaining support
+296457  vex amd64->IR: 0x66 0xF 0x3A 0xDF 0xD1 0x1 0xE8 0x6A (dup of AES)
+296792  valgrind 3.7.0: add SIOCSHWTSTAMP (0x89B0) ioctl wrapper
+296983  Fix build issues on x86_64/ppc64 without 32-bit toolchains
+297078  gdbserver signal handling problems [..]
+297147  drd false positives on newly allocated memory
+297329  disallow decoding of IBM Power DFP insns on some machines
+297497  POWER Processor decimal floating point instruction support missing
+297701  Another alias for strncasecmp_l in libc-2.13.so
+297911  'invalid write' not reported when using APIs for custom mem allocators.
+297976  s390x: revisit EX implementation
+297991  Valgrind interferes with mmap()+ftell() 
+297992  Support systems missing WIFCONTINUED (e.g. pre-2.6.10 Linux) 
+297993  Fix compilation of valgrind with gcc -g3.
+298080  POWER Processor DFP support missing, part 3
+298227  == 273475 (Add support for AVX instructions)
+298335  == 273475 (Add support for AVX instructions)
+298354  Unhandled ARM Thumb instruction 0xEB0D 0x0585 (streq)
+298394  s390x: Don't bail out on an unknown machine model.  [..]
+298421  accept4() syscall (366) support is missing for ARM
+298718  vex amd64->IR: 0xF 0xB1 0xCB 0x9C 0x8F 0x45
+298732  valgrind installation problem in ubuntu with kernel version 3.x
+298862  POWER Processor DFP instruction support missing, part 4
+298864  DWARF reader mis-parses DW_FORM_ref_addr
+298943  massif asserts with --pages-as-heap=yes when brk is changing [..]
+299053  Support DWARF4 DW_AT_high_pc constant form
+299104  == 273475 (Add support for AVX instructions)
+299316  Helgrind: hg_main.c:628 (map_threads_lookup): Assertion 'thr' failed.
+299629  dup3() syscall (358) support is missing for ARM
+299694  POWER Processor DFP instruction support missing, part 5
+299756  Ignore --free-fill for MEMPOOL_FREE and FREELIKE client requests
+299803  == 273475 (Add support for AVX instructions)
+299804  == 273475 (Add support for AVX instructions)
+299805  == 273475 (Add support for AVX instructions)
+300140  ARM - Missing (T1) SMMUL
+300195  == 296318 (ELF Debug info improvements (more than one rx/rw mapping))
+300389  Assertion `are_valid_hwcaps(VexArchAMD64, [..])' failed.
+300414  FCOM and FCOMP unimplemented for amd64 guest
+301204  infinite loop in canonicaliseSymtab with ifunc symbol
+301229  == 203877 (increase to 16Mb maximum allowed alignment for memalign etc)
+301265  add x86 support to Android build 
+301984  configure script doesn't detect certain versions of clang
+302205  Fix compiler warnings for POWER VEX code and POWER test cases
+302287  Unhandled movbe instruction on Atom processors
+302370  PPC: fnmadd, fnmsub, fnmadds, fnmsubs insns always negate the result
+302536  Fix for the POWER Valgrind regression test: memcheck-ISA2.0.
+302578  Unrecognized isntruction 0xc5 0x32 0xc2 0xca 0x09 vcmpngess
+302656  == 273475 (Add support for AVX instructions)
+302709  valgrind for ARM needs extra tls support for android emulator [..]
+302827  add wrapper for CDROM_GET_CAPABILITY
+302901  Valgrind crashes with dwz optimized debuginfo
+302918  Enable testing of the vmaddfp and vnsubfp instructions in the testsuite
+303116  Add support for the POWER instruction popcntb
+303127  Power test suite fixes for frsqrte, vrefp, and vrsqrtefp instructions.
+303250  Assertion `instrs_in->arr_used <= 10000' failed w/ OpenSSL code
+303466  == 273475 (Add support for AVX instructions)
+303624  segmentation fault on Android 4.1 (e.g. on Galaxy Nexus OMAP) 
+303963  strstr() function produces wrong results under valgrind callgrind
+304054  CALL_FN_xx macros need to enforce stack alignment
+304561  tee system call not supported
+715750  (MacOSX): Incorrect invalid-address errors near 0xFFFFxxxx (mozbug#)
+n-i-bz  Add missing gdbserver xml files for shadow registers for ppc32
+n-i-bz  Bypass gcc4.4/4.5 code gen bugs causing out of memory or asserts
+n-i-bz  Fix assert in gdbserver for watchpoints watching the same address
+n-i-bz  Fix false positive in sys_clone on amd64 when optional args [..]
 n-i-bz  s390x: Shadow registers can now be examined using vgdb
-297078  gdbserver signal handling problems caused by diff vki nr/gdb nr
-        and non reset of "C-ontinued" signal
+
+(3.8.0-TEST3:  9 August 2012, vex r2465, valgrind r12865)
+(3.8.0:       10 August 2012, vex r2465, valgrind r12866)
+
+
 
 Release 3.7.0 (5 November 2011)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -1546,2009 +2170,3 @@
 
 (3.4.0.RC1:  24 Dec 2008, vex r1878, valgrind r8882).
 (3.4.0:       3 Jan 2009, vex r1878, valgrind r8899).
-
-
-
-Release 3.3.1 (4 June 2008)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-3.3.1 fixes a bunch of bugs in 3.3.0, adds support for glibc-2.8 based
-systems (openSUSE 11, Fedora Core 9), improves the existing glibc-2.7
-support, and adds support for the SSSE3 (Core 2) instruction set.
-
-3.3.1 will likely be the last release that supports some very old
-systems.  In particular, the next major release, 3.4.0, will drop
-support for the old LinuxThreads threading library, and for gcc
-versions prior to 3.0.
-
-The fixed bugs are as follows.  Note that "n-i-bz" stands for "not in
-bugzilla" -- that is, a bug that was reported to us but never got a
-bugzilla entry.  We encourage you to file bugs in bugzilla
-(http://bugs.kde.org/enter_valgrind_bug.cgi) rather than mailing the
-developers (or mailing lists) directly -- bugs that are not entered
-into bugzilla tend to get forgotten about or ignored.
-
-n-i-bz  Massif segfaults at exit
-n-i-bz  Memcheck asserts on Altivec code
-n-i-bz  fix sizeof bug in Helgrind
-n-i-bz  check fd on sys_llseek
-n-i-bz  update syscall lists to kernel 2.6.23.1
-n-i-bz  support sys_sync_file_range
-n-i-bz  handle sys_sysinfo, sys_getresuid, sys_getresgid on ppc64-linux
-n-i-bz  intercept memcpy in 64-bit ld.so's
-n-i-bz  Fix wrappers for sys_{futimesat,utimensat}
-n-i-bz  Minor false-error avoidance fixes for Memcheck
-n-i-bz  libmpiwrap.c: add a wrapper for MPI_Waitany
-n-i-bz  helgrind support for glibc-2.8
-n-i-bz  partial fix for mc_leakcheck.c:698 assert:
-        'lc_shadows[i]->data + lc_shadows[i] ...
-n-i-bz  Massif/Cachegrind output corruption when programs fork
-n-i-bz  register allocator fix: handle spill stores correctly
-n-i-bz  add support for PA6T PowerPC CPUs
-126389  vex x86->IR: 0xF 0xAE (FXRSTOR)
-158525  ==126389
-152818  vex x86->IR: 0xF3 0xAC (repz lodsb) 
-153196  vex x86->IR: 0xF2 0xA6 (repnz cmpsb) 
-155011  vex x86->IR: 0xCF (iret)
-155091  Warning [...] unhandled DW_OP_ opcode 0x23
-156960  ==155901
-155528  support Core2/SSSE3 insns on x86/amd64
-155929  ms_print fails on massif outputs containing long lines
-157665  valgrind fails on shmdt(0) after shmat to 0
-157748  support x86 PUSHFW/POPFW
-158212  helgrind: handle pthread_rwlock_try{rd,wr}lock.
-158425  sys_poll incorrectly emulated when RES==0
-158744  vex amd64->IR: 0xF0 0x41 0xF 0xC0 (xaddb)
-160907  Support for a couple of recent Linux syscalls
-161285  Patch -- support for eventfd() syscall
-161378  illegal opcode in debug libm (FUCOMPP)
-160136  ==161378
-161487  number of suppressions files is limited to 10
-162386  ms_print typo in milliseconds time unit for massif
-161036  exp-drd: client allocated memory was never freed
-162663  signalfd_wrapper fails on 64bit linux
-
-(3.3.1.RC1:  2 June 2008, vex r1854, valgrind r8169).
-(3.3.1:      4 June 2008, vex r1854, valgrind r8180).
-
-
-
-Release 3.3.0 (7 December 2007)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-3.3.0 is a feature release with many significant improvements and the
-usual collection of bug fixes.  This release supports X86/Linux,
-AMD64/Linux, PPC32/Linux and PPC64/Linux.  Support for recent distros
-(using gcc 4.3, glibc 2.6 and 2.7) has been added.
-
-The main excitement in 3.3.0 is new and improved tools.  Helgrind
-works again, Massif has been completely overhauled and much improved,
-Cachegrind now does branch-misprediction profiling, and a new category
-of experimental tools has been created, containing two new tools:
-Omega and DRD.  There are many other smaller improvements.  In detail:
-
-- Helgrind has been completely overhauled and works for the first time
-  since Valgrind 2.2.0.  Supported functionality is: detection of
-  misuses of the POSIX PThreads API, detection of potential deadlocks
-  resulting from cyclic lock dependencies, and detection of data
-  races.  Compared to the 2.2.0 Helgrind, the race detection algorithm
-  has some significant improvements aimed at reducing the false error
-  rate.  Handling of various kinds of corner cases has been improved.
-  Efforts have been made to make the error messages easier to
-  understand.  Extensive documentation is provided.
-
-- Massif has been completely overhauled.  Instead of measuring
-  space-time usage -- which wasn't always useful and many people found
-  confusing -- it now measures space usage at various points in the
-  execution, including the point of peak memory allocation.  Its
-  output format has also changed: instead of producing PostScript
-  graphs and HTML text, it produces a single text output (via the new
-  'ms_print' script) that contains both a graph and the old textual
-  information, but in a more compact and readable form.  Finally, the
-  new version should be more reliable than the old one, as it has been
-  tested more thoroughly.
-
-- Cachegrind has been extended to do branch-misprediction profiling.
-  Both conditional and indirect branches are profiled.  The default
-  behaviour of Cachegrind is unchanged.  To use the new functionality,
-  give the option --branch-sim=yes.
-
-- A new category of "experimental tools" has been created.  Such tools
-  may not work as well as the standard tools, but are included because
-  some people will find them useful, and because exposure to a wider
-  user group provides tool authors with more end-user feedback.  These
-  tools have a "exp-" prefix attached to their names to indicate their
-  experimental nature.  Currently there are two experimental tools:
-
-  * exp-Omega: an instantaneous leak detector.  See
-    exp-omega/docs/omega_introduction.txt.
-
-  * exp-DRD: a data race detector based on the happens-before
-    relation.  See exp-drd/docs/README.txt.
-
-- Scalability improvements for very large programs, particularly those
-  which have a million or more malloc'd blocks in use at once.  These
-  improvements mostly affect Memcheck.  Memcheck is also up to 10%
-  faster for all programs, with x86-linux seeing the largest
-  improvement.
-
-- Works well on the latest Linux distros.  Has been tested on Fedora
-  Core 8 (x86, amd64, ppc32, ppc64) and openSUSE 10.3.  glibc 2.6 and
-  2.7 are supported.  gcc-4.3 (in its current pre-release state) is
-  supported.  At the same time, 3.3.0 retains support for older
-  distros.
-
-- The documentation has been modestly reorganised with the aim of
-  making it easier to find information on common-usage scenarios.
-  Some advanced material has been moved into a new chapter in the main
-  manual, so as to unclutter the main flow, and other tidying up has
-  been done.
-
-- There is experimental support for AIX 5.3, both 32-bit and 64-bit
-  processes.  You need to be running a 64-bit kernel to use Valgrind
-  on a 64-bit executable.
-
-- There have been some changes to command line options, which may
-  affect you:
-
-  * --log-file-exactly and 
-    --log-file-qualifier options have been removed.
-
-    To make up for this --log-file option has been made more powerful.
-    It now accepts a %p format specifier, which is replaced with the
-    process ID, and a %q{FOO} format specifier, which is replaced with
-    the contents of the environment variable FOO.
-
-  * --child-silent-after-fork=yes|no [no]
-
-    Causes Valgrind to not show any debugging or logging output for
-    the child process resulting from a fork() call.  This can make the
-    output less confusing (although more misleading) when dealing with
-    processes that create children.
-
-  * --cachegrind-out-file, --callgrind-out-file and --massif-out-file
-
-    These control the names of the output files produced by
-    Cachegrind, Callgrind and Massif.  They accept the same %p and %q
-    format specifiers that --log-file accepts.  --callgrind-out-file
-    replaces Callgrind's old --base option.
-
-  * Cachegrind's 'cg_annotate' script no longer uses the --<pid>
-    option to specify the output file.  Instead, the first non-option
-    argument is taken to be the name of the output file, and any
-    subsequent non-option arguments are taken to be the names of
-    source files to be annotated.
-
-  * Cachegrind and Callgrind now use directory names where possible in
-    their output files.  This means that the -I option to
-    'cg_annotate' and 'callgrind_annotate' should not be needed in
-    most cases.  It also means they can correctly handle the case
-    where two source files in different directories have the same
-    name.
-
-- Memcheck offers a new suppression kind: "Jump".  This is for
-  suppressing jump-to-invalid-address errors.  Previously you had to
-  use an "Addr1" suppression, which didn't make much sense.
-
-- Memcheck has new flags --malloc-fill=<hexnum> and
-  --free-fill=<hexnum> which free malloc'd / free'd areas with the
-  specified byte.  This can help shake out obscure memory corruption
-  problems.  The definedness and addressability of these areas is
-  unchanged -- only the contents are affected.
-
-- The behaviour of Memcheck's client requests VALGRIND_GET_VBITS and
-  VALGRIND_SET_VBITS have changed slightly.  They no longer issue
-  addressability errors -- if either array is partially unaddressable,
-  they just return 3 (as before).  Also, SET_VBITS doesn't report
-  definedness errors if any of the V bits are undefined.
-
-- The following Memcheck client requests have been removed:
-    VALGRIND_MAKE_NOACCESS
-    VALGRIND_MAKE_WRITABLE
-    VALGRIND_MAKE_READABLE
-    VALGRIND_CHECK_WRITABLE
-    VALGRIND_CHECK_READABLE
-    VALGRIND_CHECK_DEFINED
-  They were deprecated in 3.2.0, when equivalent but better-named client
-  requests were added.  See the 3.2.0 release notes for more details.
-
-- The behaviour of the tool Lackey has changed slightly.  First, the output
-  from --trace-mem has been made more compact, to reduce the size of the
-  traces.  Second, a new option --trace-superblocks has been added, which
-  shows the addresses of superblocks (code blocks) as they are executed.
-
-- The following bugs have been fixed.  Note that "n-i-bz" stands for
-  "not in bugzilla" -- that is, a bug that was reported to us but
-  never got a bugzilla entry.  We encourage you to file bugs in
-  bugzilla (http://bugs.kde.org/enter_valgrind_bug.cgi) rather than
-  mailing the developers (or mailing lists) directly.
-
-  n-i-bz  x86_linux_REDIR_FOR_index() broken
-  n-i-bz  guest-amd64/toIR.c:2512 (dis_op2_E_G): Assertion `0' failed.
-  n-i-bz  Support x86 INT insn (INT (0xCD) 0x40 - 0x43)
-  n-i-bz  Add sys_utimensat system call for Linux x86 platform
-   79844  Helgrind complains about race condition which does not exist
-   82871  Massif output function names too short
-   89061  Massif: ms_main.c:485 (get_XCon): Assertion `xpt->max_chi...'
-   92615  Write output from Massif at crash
-   95483  massif feature request: include peak allocation in report
-  112163  MASSIF crashed with signal 7 (SIGBUS) after running 2 days
-  119404  problems running setuid executables (partial fix)
-  121629  add instruction-counting mode for timing
-  127371  java vm giving unhandled instruction bytes: 0x26 0x2E 0x64 0x65
-  129937  ==150380
-  129576  Massif loses track of memory, incorrect graphs
-  132132  massif --format=html output does not do html entity escaping
-  132950  Heap alloc/usage summary
-  133962  unhandled instruction bytes: 0xF2 0x4C 0xF 0x10
-  134990  use -fno-stack-protector if possible
-  136382  ==134990
-  137396  I would really like helgrind to work again...
-  137714  x86/amd64->IR: 0x66 0xF 0xF7 0xC6 (maskmovq, maskmovdq)
-  141631  Massif: percentages don't add up correctly
-  142706  massif numbers don't seem to add up
-  143062  massif crashes on app exit with signal 8 SIGFPE
-  144453  (get_XCon): Assertion 'xpt->max_children != 0' failed.
-  145559  valgrind aborts when malloc_stats is called
-  145609  valgrind aborts all runs with 'repeated section!'
-  145622  --db-attach broken again on x86-64
-  145837  ==149519
-  145887  PPC32: getitimer() system call is not supported
-  146252  ==150678
-  146456  (update_XCon): Assertion 'xpt->curr_space >= -space_delta'...
-  146701  ==134990
-  146781  Adding support for private futexes
-  147325  valgrind internal error on syscall (SYS_io_destroy, 0)
-  147498  amd64->IR: 0xF0 0xF 0xB0 0xF (lock cmpxchg %cl,(%rdi))
-  147545  Memcheck: mc_main.c:817 (get_sec_vbits8): Assertion 'n' failed.
-  147628  SALC opcode 0xd6 unimplemented
-  147825  crash on amd64-linux with gcc 4.2 and glibc 2.6 (CFI)
-  148174  Incorrect type of freed_list_volume causes assertion [...]
-  148447  x86_64 : new NOP codes: 66 66 66 66 2e 0f 1f
-  149182  PPC Trap instructions not implemented in valgrind
-  149504  Assertion hit on alloc_xpt->curr_space >= -space_delta
-  149519  ppc32: V aborts with SIGSEGV on execution of a signal handler
-  149892  ==137714
-  150044  SEGV during stack deregister
-  150380  dwarf/gcc interoperation (dwarf3 read problems)
-  150408  ==148447
-  150678  guest-amd64/toIR.c:3741 (dis_Grp5): Assertion `sz == 4' failed
-  151209  V unable to execute programs for users with UID > 2^16
-  151938  help on --db-command= misleading
-  152022  subw $0x28, %%sp causes assertion failure in memcheck
-  152357  inb and outb not recognized in 64-bit mode
-  152501  vex x86->IR: 0x27 0x66 0x89 0x45 (daa) 
-  152818  vex x86->IR: 0xF3 0xAC 0xFC 0x9C (rep lodsb)
-
-Developer-visible changes:
-
-- The names of some functions and types within the Vex IR have
-  changed.  Run 'svn log -r1689 VEX/pub/libvex_ir.h' for full details.
-  Any existing standalone tools will have to be updated to reflect
-  these changes.  The new names should be clearer.  The file
-  VEX/pub/libvex_ir.h is also much better commented.
-
-- A number of new debugging command line options have been added.
-  These are mostly of use for debugging the symbol table and line
-  number readers:
-
-  --trace-symtab-patt=<patt> limit debuginfo tracing to obj name <patt>
-  --trace-cfi=no|yes        show call-frame-info details? [no]
-  --debug-dump=syms         mimic /usr/bin/readelf --syms
-  --debug-dump=line         mimic /usr/bin/readelf --debug-dump=line
-  --debug-dump=frames       mimic /usr/bin/readelf --debug-dump=frames
-  --sym-offsets=yes|no      show syms in form 'name+offset' ? [no]
-
-- Internally, the code base has been further factorised and
-  abstractified, particularly with respect to support for non-Linux
-  OSs.
-
-(3.3.0.RC1:  2 Dec 2007, vex r1803, valgrind r7268).
-(3.3.0.RC2:  5 Dec 2007, vex r1804, valgrind r7282).
-(3.3.0.RC3:  9 Dec 2007, vex r1804, valgrind r7288).
-(3.3.0:     10 Dec 2007, vex r1804, valgrind r7290).
-
-
-
-Release 3.2.3 (29 Jan 2007)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Unfortunately 3.2.2 introduced a regression which can cause an
-assertion failure ("vex: the `impossible' happened: eqIRConst") when
-running obscure pieces of SSE code.  3.2.3 fixes this and adds one
-more glibc-2.5 intercept.  In all other respects it is identical to
-3.2.2.  Please do not use (or package) 3.2.2; instead use 3.2.3.
-
-n-i-bz   vex: the `impossible' happened: eqIRConst
-n-i-bz   Add an intercept for glibc-2.5 __stpcpy_chk
-
-(3.2.3: 29 Jan 2007, vex r1732, valgrind r6560).
-
-
-Release 3.2.2 (22 Jan 2007)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-3.2.2 fixes a bunch of bugs in 3.2.1, adds support for glibc-2.5 based
-systems (openSUSE 10.2, Fedora Core 6), improves support for icc-9.X
-compiled code, and brings modest performance improvements in some
-areas, including amd64 floating point, powerpc support, and startup
-responsiveness on all targets.
-
-The fixed bugs are as follows.  Note that "n-i-bz" stands for "not in
-bugzilla" -- that is, a bug that was reported to us but never got a
-bugzilla entry.  We encourage you to file bugs in bugzilla
-(http://bugs.kde.org/enter_valgrind_bug.cgi) rather than mailing the
-developers (or mailing lists) directly.
-
-129390   ppc?->IR: some kind of VMX prefetch (dstt)
-129968   amd64->IR: 0xF 0xAE 0x0 (fxsave)
-134319   ==129968
-133054   'make install' fails with syntax errors
-118903   ==133054
-132998   startup fails in when running on UML
-134207   pkg-config output contains @VG_PLATFORM@
-134727   valgrind exits with "Value too large for defined data type"
-n-i-bz   ppc32/64: support mcrfs
-n-i-bz   Cachegrind/Callgrind: Update cache parameter detection
-135012   x86->IR: 0xD7 0x8A 0xE0 0xD0 (xlat)
-125959   ==135012
-126147   x86->IR: 0xF2 0xA5 0xF 0x77 (repne movsw)
-136650   amd64->IR: 0xC2 0x8 0x0
-135421   x86->IR: unhandled Grp5(R) case 6
-n-i-bz   Improved documentation of the IR intermediate representation
-n-i-bz   jcxz (x86) (users list, 8 Nov)
-n-i-bz   ExeContext hashing fix
-n-i-bz   fix CFI reading failures ("Dwarf CFI 0:24 0:32 0:48 0:7")
-n-i-bz   fix Cachegrind/Callgrind simulation bug
-n-i-bz   libmpiwrap.c: fix handling of MPI_LONG_DOUBLE
-n-i-bz   make User errors suppressible
-136844   corrupted malloc line when using --gen-suppressions=yes
-138507   ==136844
-n-i-bz   Speed up the JIT's register allocator
-n-i-bz   Fix confusing leak-checker flag hints
-n-i-bz   Support recent autoswamp versions
-n-i-bz   ppc32/64 dispatcher speedups
-n-i-bz   ppc64 front end rld/rlw improvements
-n-i-bz   ppc64 back end imm64 improvements
-136300   support 64K pages on ppc64-linux
-139124   == 136300
-n-i-bz   fix ppc insn set tests for gcc >= 4.1
-137493   x86->IR: recent binutils no-ops
-137714   x86->IR: 0x66 0xF 0xF7 0xC6 (maskmovdqu)
-138424   "failed in UME with error 22" (produce a better error msg)
-138856   ==138424
-138627   Enhancement support for prctl ioctls
-138896   Add support for usb ioctls
-136059   ==138896
-139050   ppc32->IR: mfspr 268/269 instructions not handled
-n-i-bz   ppc32->IR: lvxl/stvxl
-n-i-bz   glibc-2.5 support
-n-i-bz   memcheck: provide replacement for mempcpy
-n-i-bz   memcheck: replace bcmp in ld.so
-n-i-bz   Use 'ifndef' in VEX's Makefile correctly
-n-i-bz   Suppressions for MVL 4.0.1 on ppc32-linux
-n-i-bz   libmpiwrap.c: Fixes for MPICH
-n-i-bz   More robust handling of hinted client mmaps
-139776   Invalid read in unaligned memcpy with Intel compiler v9
-n-i-bz   Generate valid XML even for very long fn names
-n-i-bz   Don't prompt about suppressions for unshown reachable leaks
-139910   amd64 rcl is not supported
-n-i-bz   DWARF CFI reader: handle DW_CFA_undefined
-n-i-bz   DWARF CFI reader: handle icc9 generated CFI info better
-n-i-bz   fix false uninit-value errs in icc9 generated FP code
-n-i-bz   reduce extraneous frames in libmpiwrap.c
-n-i-bz   support pselect6 on amd64-linux
-
-(3.2.2: 22 Jan 2007, vex r1729, valgrind r6545).
-
-
-Release 3.2.1 (16 Sept 2006)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-3.2.1 adds x86/amd64 support for all SSE3 instructions except monitor
-and mwait, further reduces memcheck's false error rate on all
-platforms, adds support for recent binutils (in OpenSUSE 10.2 and
-Fedora Rawhide) and fixes a bunch of bugs in 3.2.0.  Some of the fixed
-bugs were causing large programs to segfault with --tool=callgrind and
---tool=cachegrind, so an upgrade is recommended.
-
-In view of the fact that any 3.3.0 release is unlikely to happen until
-well into 1Q07, we intend to keep the 3.2.X line alive for a while
-yet, and so we tentatively plan a 3.2.2 release sometime in December
-06.
-
-The fixed bugs are as follows.  Note that "n-i-bz" stands for "not in
-bugzilla" -- that is, a bug that was reported to us but never got a
-bugzilla entry.
-
-n-i-bz   Expanding brk() into last available page asserts
-n-i-bz   ppc64-linux stack RZ fast-case snafu
-n-i-bz   'c' in --gen-supps=yes doesn't work
-n-i-bz   VG_N_SEGMENTS too low (users, 28 June)
-n-i-bz   VG_N_SEGNAMES too low (Stu Robinson)
-106852   x86->IR: fisttp (SSE3)
-117172   FUTEX_WAKE does not use uaddr2
-124039   Lacks support for VKI_[GP]IO_UNIMAP*
-127521   amd64->IR: 0xF0 0x48 0xF 0xC7 (cmpxchg8b)
-128917   amd64->IR: 0x66 0xF 0xF6 0xC4 (psadbw,SSE2)
-129246   JJ: ppc32/ppc64 syscalls, w/ patch
-129358   x86->IR: fisttpl (SSE3)
-129866   cachegrind/callgrind causes executable to die
-130020   Can't stat .so/.exe error while reading symbols
-130388   Valgrind aborts when process calls malloc_trim()
-130638   PATCH: ppc32 missing system calls
-130785   amd64->IR: unhandled instruction "pushfq"
-131481:  (HINT_NOP) vex x86->IR: 0xF 0x1F 0x0 0xF
-131298   ==131481
-132146   Programs with long sequences of bswap[l,q]s
-132918   vex amd64->IR: 0xD9 0xF8 (fprem)
-132813   Assertion at priv/guest-x86/toIR.c:652 fails
-133051   'cfsi->len > 0 && cfsi->len < 2000000' failed
-132722   valgrind header files are not standard C
-n-i-bz   Livelocks entire machine (users list, Timothy Terriberry)
-n-i-bz   Alex Bennee mmap problem (9 Aug)
-n-i-bz   BartV: Don't print more lines of a stack-trace than were obtained.
-n-i-bz   ppc32 SuSE 10.1 redir
-n-i-bz   amd64 padding suppressions
-n-i-bz   amd64 insn printing fix.
-n-i-bz   ppc cmp reg,reg fix
-n-i-bz   x86/amd64 iropt e/rflag reduction rules
-n-i-bz   SuSE 10.1 (ppc32) minor fixes
-133678   amd64->IR: 0x48 0xF 0xC5 0xC0 (pextrw?)
-133694   aspacem assertion: aspacem_minAddr <= holeStart
-n-i-bz   callgrind: fix warning about malformed creator line 
-n-i-bz   callgrind: fix annotate script for data produced with 
-         --dump-instr=yes
-n-i-bz   callgrind: fix failed assertion when toggling 
-         instrumentation mode
-n-i-bz   callgrind: fix annotate script fix warnings with
-         --collect-jumps=yes
-n-i-bz   docs path hardwired (Dennis Lubert)
-
-The following bugs were not fixed, due primarily to lack of developer
-time, and also because bug reporters did not answer requests for
-feedback in time for the release:
-
-129390   ppc?->IR: some kind of VMX prefetch (dstt)
-129968   amd64->IR: 0xF 0xAE 0x0 (fxsave)
-133054   'make install' fails with syntax errors
-n-i-bz   Signal race condition (users list, 13 June, Johannes Berg)
-n-i-bz   Unrecognised instruction at address 0x70198EC2 (users list,
-         19 July, Bennee)
-132998   startup fails in when running on UML
-
-The following bug was tentatively fixed on the mainline but the fix
-was considered too risky to push into 3.2.X:
-
-133154   crash when using client requests to register/deregister stack
-
-(3.2.1: 16 Sept 2006, vex r1658, valgrind r6070).
-
-
-Release 3.2.0 (7 June 2006)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-3.2.0 is a feature release with many significant improvements and the
-usual collection of bug fixes.  This release supports X86/Linux,
-AMD64/Linux, PPC32/Linux and PPC64/Linux.
-
-Performance, especially of Memcheck, is improved, Addrcheck has been
-removed, Callgrind has been added, PPC64/Linux support has been added,
-Lackey has been improved, and MPI support has been added.  In detail:
-
-- Memcheck has improved speed and reduced memory use.  Run times are
-  typically reduced by 15-30%, averaging about 24% for SPEC CPU2000.
-  The other tools have smaller but noticeable speed improvments.  We
-  are interested to hear what improvements users get.
-
-  Memcheck uses less memory due to the introduction of a compressed
-  representation for shadow memory.  The space overhead has been
-  reduced by a factor of up to four, depending on program behaviour.
-  This means you should be able to run programs that use more memory
-  than before without hitting problems.
-
-- Addrcheck has been removed.  It has not worked since version 2.4.0,
-  and the speed and memory improvements to Memcheck make it redundant.
-  If you liked using Addrcheck because it didn't give undefined value
-  errors, you can use the new Memcheck option --undef-value-errors=no
-  to get the same behaviour.
-
-- The number of undefined-value errors incorrectly reported by
-  Memcheck has been reduced (such false reports were already very
-  rare).  In particular, efforts have been made to ensure Memcheck
-  works really well with gcc 4.0/4.1-generated code on X86/Linux and
-  AMD64/Linux.
-
-- Josef Weidendorfer's popular Callgrind tool has been added.  Folding
-  it in was a logical step given its popularity and usefulness, and
-  makes it easier for us to ensure it works "out of the box" on all
-  supported targets.  The associated KDE KCachegrind GUI remains a
-  separate project.
-
-- A new release of the Valkyrie GUI for Memcheck, version 1.2.0,
-  accompanies this release.  Improvements over previous releases
-  include improved robustness, many refinements to the user interface,
-  and use of a standard autoconf/automake build system.  You can get
-  it from http://www.valgrind.org/downloads/guis.html.
-
-- Valgrind now works on PPC64/Linux.  As with the AMD64/Linux port,
-  this supports programs using to 32G of address space.  On 64-bit
-  capable PPC64/Linux setups, you get a dual architecture build so
-  that both 32-bit and 64-bit executables can be run.  Linux on POWER5
-  is supported, and POWER4 is also believed to work.  Both 32-bit and
-  64-bit DWARF2 is supported.  This port is known to work well with
-  both gcc-compiled and xlc/xlf-compiled code.
-
-- Floating point accuracy has been improved for PPC32/Linux.
-  Specifically, the floating point rounding mode is observed on all FP
-  arithmetic operations, and multiply-accumulate instructions are
-  preserved by the compilation pipeline.  This means you should get FP
-  results which are bit-for-bit identical to a native run.  These
-  improvements are also present in the PPC64/Linux port.
-
-- Lackey, the example tool, has been improved:
-
-  * It has a new option --detailed-counts (off by default) which
-    causes it to print out a count of loads, stores and ALU operations
-    done, and their sizes.
-
-  * It has a new option --trace-mem (off by default) which causes it
-    to print out a trace of all memory accesses performed by a
-    program.  It's a good starting point for building Valgrind tools
-    that need to track memory accesses.  Read the comments at the top
-    of the file lackey/lk_main.c for details.
-
-  * The original instrumentation (counting numbers of instructions,
-    jumps, etc) is now controlled by a new option --basic-counts.  It
-    is on by default.
-
-- MPI support: partial support for debugging distributed applications
-  using the MPI library specification has been added.  Valgrind is
-  aware of the memory state changes caused by a subset of the MPI
-  functions, and will carefully check data passed to the (P)MPI_
-  interface.
-
-- A new flag, --error-exitcode=, has been added.  This allows changing
-  the exit code in runs where Valgrind reported errors, which is
-  useful when using Valgrind as part of an automated test suite.
-
-- Various segfaults when reading old-style "stabs" debug information
-  have been fixed.
-
-- A simple performance evaluation suite has been added.  See
-  perf/README and README_DEVELOPERS for details.  There are
-  various bells and whistles.
-
-- New configuration flags:
-    --enable-only32bit
-    --enable-only64bit
-  By default, on 64 bit platforms (ppc64-linux, amd64-linux) the build
-  system will attempt to build a Valgrind which supports both 32-bit
-  and 64-bit executables.  This may not be what you want, and you can
-  override the default behaviour using these flags.
-
-Please note that Helgrind is still not working.  We have made an
-important step towards making it work again, however, with the
-addition of function wrapping (see below).
-
-Other user-visible changes:
-
-- Valgrind now has the ability to intercept and wrap arbitrary
-  functions.  This is a preliminary step towards making Helgrind work
-  again, and was required for MPI support.
-
-- There are some changes to Memcheck's client requests.  Some of them
-  have changed names:
-
-    MAKE_NOACCESS  --> MAKE_MEM_NOACCESS
-    MAKE_WRITABLE  --> MAKE_MEM_UNDEFINED
-    MAKE_READABLE  --> MAKE_MEM_DEFINED
-
-    CHECK_WRITABLE --> CHECK_MEM_IS_ADDRESSABLE
-    CHECK_READABLE --> CHECK_MEM_IS_DEFINED
-    CHECK_DEFINED  --> CHECK_VALUE_IS_DEFINED
-
-  The reason for the change is that the old names are subtly
-  misleading.  The old names will still work, but they are deprecated
-  and may be removed in a future release.
-
-  We also added a new client request:
-  
-    MAKE_MEM_DEFINED_IF_ADDRESSABLE(a, len)
-    
-  which is like MAKE_MEM_DEFINED but only affects a byte if the byte is
-  already addressable.
-
-- The way client requests are encoded in the instruction stream has
-  changed.  Unfortunately, this means 3.2.0 will not honour client
-  requests compiled into binaries using headers from earlier versions
-  of Valgrind.  We will try to keep the client request encodings more 
-  stable in future.
-
-BUGS FIXED:
-
-108258   NPTL pthread cleanup handlers not called 
-117290   valgrind is sigKILL'd on startup
-117295   == 117290
-118703   m_signals.c:1427 Assertion 'tst->status == VgTs_WaitSys'
-118466   add %reg, %reg generates incorrect validity for bit 0
-123210   New: strlen from ld-linux on amd64
-123244   DWARF2 CFI reader: unhandled CFI instruction 0:18
-123248   syscalls in glibc-2.4: openat, fstatat, symlinkat
-123258   socketcall.recvmsg(msg.msg_iov[i] points to uninit
-123535   mremap(new_addr) requires MREMAP_FIXED in 4th arg
-123836   small typo in the doc
-124029   ppc compile failed: `vor' gcc 3.3.5
-124222   Segfault: @@don't know what type ':' is
-124475   ppc32: crash (syscall?) timer_settime()
-124499   amd64->IR: 0xF 0xE 0x48 0x85 (femms)
-124528   FATAL: aspacem assertion failed: segment_is_sane
-124697   vex x86->IR: 0xF 0x70 0xC9 0x0 (pshufw)
-124892   vex x86->IR: 0xF3 0xAE (REPx SCASB)
-126216   == 124892
-124808   ppc32: sys_sched_getaffinity() not handled
-n-i-bz   Very long stabs strings crash m_debuginfo
-n-i-bz   amd64->IR: 0x66 0xF 0xF5 (pmaddwd)
-125492   ppc32: support a bunch more syscalls
-121617   ppc32/64: coredumping gives assertion failure
-121814   Coregrind return error as exitcode patch
-126517   == 121814
-125607   amd64->IR: 0x66 0xF 0xA3 0x2 (btw etc)
-125651   amd64->IR: 0xF8 0x49 0xFF 0xE3 (clc?)
-126253   x86 movx is wrong
-126451   3.2 SVN doesn't work on ppc32 CPU's without FPU
-126217   increase # threads
-126243   vex x86->IR: popw mem
-126583   amd64->IR: 0x48 0xF 0xA4 0xC2 (shld $1,%rax,%rdx)
-126668   amd64->IR: 0x1C 0xFF (sbb $0xff,%al)
-126696   support for CDROMREADRAW ioctl and CDROMREADTOCENTRY fix
-126722   assertion: segment_is_sane at m_aspacemgr/aspacemgr.c:1624
-126938   bad checking for syscalls linkat, renameat, symlinkat
-
-(3.2.0RC1: 27 May  2006, vex r1626, valgrind r5947).
-(3.2.0:     7 June 2006, vex r1628, valgrind r5957).
-
-
-Release 3.1.1 (15 March 2006)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-3.1.1 fixes a bunch of bugs reported in 3.1.0.  There is no new
-functionality.  The fixed bugs are:
-
-(note: "n-i-bz" means "not in bugzilla" -- this bug does not have
- a bugzilla entry).
-
-n-i-bz   ppc32: fsub 3,3,3 in dispatcher doesn't clear NaNs
-n-i-bz   ppc32: __NR_{set,get}priority
-117332   x86: missing line info with icc 8.1
-117366   amd64: 0xDD 0x7C fnstsw
-118274   == 117366
-117367   amd64: 0xD9 0xF4 fxtract
-117369   amd64: __NR_getpriority (140)
-117419   ppc32: lfsu f5, -4(r11)
-117419   ppc32: fsqrt
-117936   more stabs problems (segfaults while reading debug info)
-119914   == 117936
-120345   == 117936
-118239   amd64: 0xF 0xAE 0x3F (clflush)
-118939   vm86old system call
-n-i-bz   memcheck/tests/mempool reads freed memory
-n-i-bz   AshleyP's custom-allocator assertion
-n-i-bz   Dirk strict-aliasing stuff
-n-i-bz   More space for debugger cmd line (Dan Thaler)
-n-i-bz   Clarified leak checker output message
-n-i-bz   AshleyP's --gen-suppressions output fix
-n-i-bz   cg_annotate's --sort option broken
-n-i-bz   OSet 64-bit fastcmp bug
-n-i-bz   VG_(getgroups) fix (Shinichi Noda)
-n-i-bz   ppc32: allocate from callee-saved FP/VMX regs
-n-i-bz   misaligned path word-size bug in mc_main.c
-119297   Incorrect error message for sse code
-120410   x86: prefetchw (0xF 0xD 0x48 0x4)
-120728   TIOCSERGETLSR, TIOCGICOUNT, HDIO_GET_DMA ioctls
-120658   Build fixes for gcc 2.96
-120734   x86: Support for changing EIP in signal handler
-n-i-bz   memcheck/tests/zeropage de-looping fix
-n-i-bz   x86: fxtract doesn't work reliably
-121662   x86: lock xadd (0xF0 0xF 0xC0 0x2)
-121893   calloc does not always return zeroed memory
-121901   no support for syscall tkill
-n-i-bz   Suppression update for Debian unstable
-122067   amd64: fcmovnu (0xDB 0xD9)
-n-i-bz   ppc32: broken signal handling in cpu feature detection
-n-i-bz   ppc32: rounding mode problems (improved, partial fix only)
-119482   ppc32: mtfsb1
-n-i-bz   ppc32: mtocrf/mfocrf
-
-(3.1.1:  15 March 2006, vex r1597, valgrind r5771).
-
-
-Release 3.1.0 (25 November 2005)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-3.1.0 is a feature release with a number of significant improvements:
-AMD64 support is much improved, PPC32 support is good enough to be
-usable, and the handling of memory management and address space is
-much more robust.  In detail:
-
-- AMD64 support is much improved.  The 64-bit vs. 32-bit issues in
-  3.0.X have been resolved, and it should "just work" now in all
-  cases.  On AMD64 machines both 64-bit and 32-bit versions of
-  Valgrind are built.  The right version will be invoked
-  automatically, even when using --trace-children and mixing execution
-  between 64-bit and 32-bit executables.  Also, many more instructions
-  are supported.
-
-- PPC32 support is now good enough to be usable.  It should work with
-  all tools, but please let us know if you have problems.  Three
-  classes of CPUs are supported: integer only (no FP, no Altivec),
-  which covers embedded PPC uses, integer and FP but no Altivec
-  (G3-ish), and CPUs capable of Altivec too (G4, G5).
-
-- Valgrind's address space management has been overhauled.  As a
-  result, Valgrind should be much more robust with programs that use
-  large amounts of memory.  There should be many fewer "memory
-  exhausted" messages, and debug symbols should be read correctly on
-  large (eg. 300MB+) executables.  On 32-bit machines the full address
-  space available to user programs (usually 3GB or 4GB) can be fully
-  utilised.  On 64-bit machines up to 32GB of space is usable; when
-  using Memcheck that means your program can use up to about 14GB.
-
-  A side effect of this change is that Valgrind is no longer protected
-  against wild writes by the client.  This feature was nice but relied
-  on the x86 segment registers and so wasn't portable.
-
-- Most users should not notice, but as part of the address space
-  manager change, the way Valgrind is built has been changed.  Each
-  tool is now built as a statically linked stand-alone executable,
-  rather than as a shared object that is dynamically linked with the
-  core.  The "valgrind" program invokes the appropriate tool depending
-  on the --tool option.  This slightly increases the amount of disk
-  space used by Valgrind, but it greatly simplified many things and
-  removed Valgrind's dependence on glibc.
-
-Please note that Addrcheck and Helgrind are still not working.  Work
-is underway to reinstate them (or equivalents).  We apologise for the
-inconvenience.
-
-Other user-visible changes:
-
-- The --weird-hacks option has been renamed --sim-hints.
-
-- The --time-stamp option no longer gives an absolute date and time.
-  It now prints the time elapsed since the program began.
-
-- It should build with gcc-2.96.
-
-- Valgrind can now run itself (see README_DEVELOPERS for how).
-  This is not much use to you, but it means the developers can now
-  profile Valgrind using Cachegrind.  As a result a couple of
-  performance bad cases have been fixed.
-
-- The XML output format has changed slightly.  See
-  docs/internals/xml-output.txt.
-
-- Core dumping has been reinstated (it was disabled in 3.0.0 and 3.0.1).
-  If your program crashes while running under Valgrind, a core file with
-  the name "vgcore.<pid>" will be created (if your settings allow core
-  file creation).  Note that the floating point information is not all
-  there.  If Valgrind itself crashes, the OS will create a normal core
-  file.
-
-The following are some user-visible changes that occurred in earlier
-versions that may not have been announced, or were announced but not
-widely noticed.  So we're mentioning them now.
-
-- The --tool flag is optional once again;  if you omit it, Memcheck
-  is run by default.
-
-- The --num-callers flag now has a default value of 12.  It was
-  previously 4.
-
-- The --xml=yes flag causes Valgrind's output to be produced in XML
-  format.  This is designed to make it easy for other programs to
-  consume Valgrind's output.  The format is described in the file
-  docs/internals/xml-format.txt.
-
-- The --gen-suppressions flag supports an "all" value that causes every
-  suppression to be printed without asking.
-
-- The --log-file option no longer puts "pid" in the filename, eg. the
-  old name "foo.pid12345" is now "foo.12345".
-
-- There are several graphical front-ends for Valgrind, such as Valkyrie,
-  Alleyoop and Valgui.  See http://www.valgrind.org/downloads/guis.html
-  for a list.
-
-BUGS FIXED:
-
-109861  amd64 hangs at startup
-110301  ditto
-111554  valgrind crashes with Cannot allocate memory
-111809  Memcheck tool doesn't start java
-111901  cross-platform run of cachegrind fails on opteron
-113468  (vgPlain_mprotect_range): Assertion 'r != -1' failed.
- 92071  Reading debugging info uses too much memory
-109744  memcheck loses track of mmap from direct ld-linux.so.2
-110183  tail of page with _end
- 82301  FV memory layout too rigid
- 98278  Infinite recursion possible when allocating memory
-108994  Valgrind runs out of memory due to 133x overhead
-115643  valgrind cannot allocate memory
-105974  vg_hashtable.c static hash table
-109323  ppc32: dispatch.S uses Altivec insn, which doesn't work on POWER. 
-109345  ptrace_setregs not yet implemented for ppc
-110831  Would like to be able to run against both 32 and 64 bit 
-        binaries on AMD64
-110829  == 110831
-111781  compile of valgrind-3.0.0 fails on my linux (gcc 2.X prob)
-112670  Cachegrind: cg_main.c:486 (handleOneStatement ...
-112941  vex x86: 0xD9 0xF4 (fxtract)
-110201  == 112941
-113015  vex amd64->IR: 0xE3 0x14 0x48 0x83 (jrcxz)
-113126  Crash with binaries built with -gstabs+/-ggdb
-104065  == 113126
-115741  == 113126
-113403  Partial SSE3 support on x86
-113541  vex: Grp5(x86) (alt encoding inc/dec) case 1
-113642  valgrind crashes when trying to read debug information
-113810  vex x86->IR: 66 0F F6 (66 + PSADBW == SSE PSADBW)
-113796  read() and write() do not work if buffer is in shared memory
-113851  vex x86->IR: (pmaddwd): 0x66 0xF 0xF5 0xC7
-114366  vex amd64 cannnot handle __asm__( "fninit" )
-114412  vex amd64->IR: 0xF 0xAD 0xC2 0xD3 (128-bit shift, shrdq?)
-114455  vex amd64->IR: 0xF 0xAC 0xD0 0x1 (also shrdq)
-115590: amd64->IR: 0x67 0xE3 0x9 0xEB (address size override)
-115953  valgrind svn r5042 does not build with parallel make (-j3)
-116057  maximum instruction size - VG_MAX_INSTR_SZB too small?
-116483  shmat failes with invalid argument
-102202  valgrind crashes when realloc'ing until out of memory
-109487  == 102202
-110536  == 102202
-112687  == 102202
-111724  vex amd64->IR: 0x41 0xF 0xAB (more BT{,S,R,C} fun n games)
-111748  vex amd64->IR: 0xDD 0xE2 (fucom)
-111785  make fails if CC contains spaces
-111829  vex x86->IR: sbb AL, Ib
-111851  vex x86->IR: 0x9F 0x89 (lahf/sahf)
-112031  iopl on AMD64 and README_MISSING_SYSCALL_OR_IOCTL update
-112152  code generation for Xin_MFence on x86 with SSE0 subarch
-112167  == 112152
-112789  == 112152
-112199  naked ar tool is used in vex makefile
-112501  vex x86->IR: movq (0xF 0x7F 0xC1 0xF) (mmx MOVQ)
-113583  == 112501
-112538  memalign crash
-113190  Broken links in docs/html/
-113230  Valgrind sys_pipe on x86-64 wrongly thinks file descriptors
-        should be 64bit
-113996  vex amd64->IR: fucomp (0xDD 0xE9)
-114196  vex x86->IR: out %eax,(%dx) (0xEF 0xC9 0xC3 0x90)
-114289  Memcheck fails to intercept malloc when used in an uclibc environment
-114756  mbind syscall support
-114757  Valgrind dies with assertion: Assertion 'noLargerThan > 0' failed
-114563  stack tracking module not informed when valgrind switches threads
-114564  clone() and stacks
-114565  == 114564
-115496  glibc crashes trying to use sysinfo page
-116200  enable fsetxattr, fgetxattr, and fremovexattr for amd64
-
-(3.1.0RC1: 20 November 2005, vex r1466, valgrind r5224).
-(3.1.0:    26 November 2005, vex r1471, valgrind r5235).
-
-
-Release 3.0.1 (29 August 2005)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-3.0.1 fixes a bunch of bugs reported in 3.0.0.  There is no new
-functionality.  Some of the fixed bugs are critical, so if you
-use/distribute 3.0.0, an upgrade to 3.0.1 is recommended.  The fixed
-bugs are:
-
-(note: "n-i-bz" means "not in bugzilla" -- this bug does not have
- a bugzilla entry).
-
-109313  (== 110505) x86 cmpxchg8b
-n-i-bz  x86: track but ignore changes to %eflags.AC (alignment check)
-110102  dis_op2_E_G(amd64)
-110202  x86 sys_waitpid(#286)
-110203  clock_getres(,0)
-110208  execve fail wrong retval
-110274  SSE1 now mandatory for x86
-110388  amd64 0xDD 0xD1
-110464  amd64 0xDC 0x1D FCOMP
-110478  amd64 0xF 0xD PREFETCH
-n-i-bz  XML <unique> printing wrong
-n-i-bz  Dirk r4359 (amd64 syscalls from trunk)
-110591  amd64 and x86: rdtsc not implemented properly
-n-i-bz  Nick r4384 (stub implementations of Addrcheck and Helgrind)
-110652  AMD64 valgrind crashes on cwtd instruction
-110653  AMD64 valgrind crashes on sarb $0x4,foo(%rip) instruction
-110656  PATH=/usr/bin::/bin valgrind foobar stats ./fooba
-110657  Small test fixes
-110671  vex x86->IR: unhandled instruction bytes: 0xF3 0xC3 (rep ret)
-n-i-bz  Nick (Cachegrind should not assert when it encounters a client
-        request.)
-110685  amd64->IR: unhandled instruction bytes: 0xE1 0x56 (loope Jb)
-110830  configuring with --host fails to build 32 bit on 64 bit target
-110875  Assertion when execve fails
-n-i-bz  Updates to Memcheck manual
-n-i-bz  Fixed broken malloc_usable_size()
-110898  opteron instructions missing: btq btsq btrq bsfq
-110954  x86->IR: unhandled instruction bytes: 0xE2 0xF6 (loop Jb)
-n-i-bz  Make suppressions work for "???" lines in stacktraces.
-111006  bogus warnings from linuxthreads
-111092  x86: dis_Grp2(Reg): unhandled case(x86) 
-111231  sctp_getladdrs() and sctp_getpaddrs() returns uninitialized
-        memory
-111102  (comment #4)   Fixed 64-bit unclean "silly arg" message
-n-i-bz  vex x86->IR: unhandled instruction bytes: 0x14 0x0
-n-i-bz  minor umount/fcntl wrapper fixes
-111090  Internal Error running Massif
-101204  noisy warning
-111513  Illegal opcode for SSE instruction (x86 movups)
-111555  VEX/Makefile: CC is set to gcc
-n-i-bz  Fix XML bugs in FAQ
-
-(3.0.1: 29 August 05,
-        vex/branches/VEX_3_0_BRANCH r1367,
-        valgrind/branches/VALGRIND_3_0_BRANCH r4574).
-
-
-
-Release 3.0.0 (3 August 2005)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-3.0.0 is a major overhaul of Valgrind.  The most significant user
-visible change is that Valgrind now supports architectures other than
-x86.  The new architectures it supports are AMD64 and PPC32, and the
-infrastructure is present for other architectures to be added later.
-
-AMD64 support works well, but has some shortcomings:
-
-- It generally won't be as solid as the x86 version.  For example,
-  support for more obscure instructions and system calls may be missing.
-  We will fix these as they arise.
-
-- Address space may be limited; see the point about
-  position-independent executables below.
-
-- If Valgrind is built on an AMD64 machine, it will only run 64-bit
-  executables.  If you want to run 32-bit x86 executables under Valgrind
-  on an AMD64, you will need to build Valgrind on an x86 machine and
-  copy it to the AMD64 machine.  And it probably won't work if you do
-  something tricky like exec'ing a 32-bit program from a 64-bit program
-  while using --trace-children=yes.  We hope to improve this situation
-  in the future.
-
-The PPC32 support is very basic.  It may not work reliably even for
-small programs, but it's a start.  Many thanks to Paul Mackerras for
-his great work that enabled this support.  We are working to make
-PPC32 usable as soon as possible.
-
-Other user-visible changes:
-
-- Valgrind is no longer built by default as a position-independent
-  executable (PIE), as this caused too many problems.
-
-  Without PIE enabled, AMD64 programs will only be able to access 2GB of
-  address space.  We will fix this eventually, but not for the moment.
-  
-  Use --enable-pie at configure-time to turn this on.
-
-- Support for programs that use stack-switching has been improved.  Use
-  the --max-stackframe flag for simple cases, and the
-  VALGRIND_STACK_REGISTER, VALGRIND_STACK_DEREGISTER and
-  VALGRIND_STACK_CHANGE client requests for trickier cases.
-
-- Support for programs that use self-modifying code has been improved,
-  in particular programs that put temporary code fragments on the stack.
-  This helps for C programs compiled with GCC that use nested functions,
-  and also Ada programs.  This is controlled with the --smc-check
-  flag, although the default setting should work in most cases.
-
-- Output can now be printed in XML format.  This should make it easier
-  for tools such as GUI front-ends and automated error-processing
-  schemes to use Valgrind output as input.  The --xml flag controls this.
-  As part of this change, ELF directory information is read from executables,
-  so absolute source file paths are available if needed.
-
-- Programs that allocate many heap blocks may run faster, due to
-  improvements in certain data structures.
-
-- Addrcheck is currently not working.  We hope to get it working again
-  soon.  Helgrind is still not working, as was the case for the 2.4.0
-  release.
-
-- The JITter has been completely rewritten, and is now in a separate
-  library, called Vex.  This enabled a lot of the user-visible changes,
-  such as new architecture support.  The new JIT unfortunately translates
-  more slowly than the old one, so programs may take longer to start.
-  We believe the code quality is produces is about the same, so once
-  started, programs should run at about the same speed.  Feedback about
-  this would be useful.
-
-  On the plus side, Vex and hence Memcheck tracks value flow properly
-  through floating point and vector registers, something the 2.X line
-  could not do.  That means that Memcheck is much more likely to be
-  usably accurate on vectorised code.
-
-- There is a subtle change to the way exiting of threaded programs
-  is handled.  In 3.0, Valgrind's final diagnostic output (leak check,
-  etc) is not printed until the last thread exits.  If the last thread
-  to exit was not the original thread which started the program, any
-  other process wait()-ing on this one to exit may conclude it has
-  finished before the diagnostic output is printed.  This may not be
-  what you expect.  2.X had a different scheme which avoided this
-  problem, but caused deadlocks under obscure circumstances, so we
-  are trying something different for 3.0.
-
-- Small changes in control log file naming which make it easier to
-  use valgrind for debugging MPI-based programs.  The relevant
-  new flags are --log-file-exactly= and --log-file-qualifier=.
-
-- As part of adding AMD64 support, DWARF2 CFI-based stack unwinding
-  support was added.  In principle this means Valgrind can produce
-  meaningful backtraces on x86 code compiled with -fomit-frame-pointer
-  providing you also compile your code with -fasynchronous-unwind-tables.
-
-- The documentation build system has been completely redone.
-  The documentation masters are now in XML format, and from that
-  HTML, PostScript and PDF documentation is generated.  As a result
-  the manual is now available in book form.  Note that the
-  documentation in the source tarballs is pre-built, so you don't need
-  any XML processing tools to build Valgrind from a tarball.
-
-Changes that are not user-visible:
-
-- The code has been massively overhauled in order to modularise it.
-  As a result we hope it is easier to navigate and understand.
-
-- Lots of code has been rewritten.
-
-BUGS FIXED:
-
-110046  sz == 4 assertion failed 
-109810  vex amd64->IR: unhandled instruction bytes: 0xA3 0x4C 0x70 0xD7
-109802  Add a plausible_stack_size command-line parameter ?
-109783  unhandled ioctl TIOCMGET (running hw detection tool discover) 
-109780  unhandled ioctl BLKSSZGET (running fdisk -l /dev/hda)
-109718  vex x86->IR: unhandled instruction: ffreep 
-109429  AMD64 unhandled syscall: 127 (sigpending)
-109401  false positive uninit in strchr from ld-linux.so.2
-109385  "stabs" parse failure 
-109378  amd64: unhandled instruction REP NOP
-109376  amd64: unhandled instruction LOOP Jb 
-109363  AMD64 unhandled instruction bytes 
-109362  AMD64 unhandled syscall: 24 (sched_yield)
-109358  fork() won't work with valgrind-3.0 SVN
-109332  amd64 unhandled instruction: ADC Ev, Gv
-109314  Bogus memcheck report on amd64
-108883  Crash; vg_memory.c:905 (vgPlain_init_shadow_range):
-        Assertion `vgPlain_defined_init_shadow_page()' failed.
-108349  mincore syscall parameter checked incorrectly 
-108059  build infrastructure: small update
-107524  epoll_ctl event parameter checked on EPOLL_CTL_DEL
-107123  Vex dies with unhandled instructions: 0xD9 0x31 0xF 0xAE
-106841  auxmap & openGL problems
-106713  SDL_Init causes valgrind to exit
-106352  setcontext and makecontext not handled correctly 
-106293  addresses beyond initial client stack allocation 
-        not checked in VALGRIND_DO_LEAK_CHECK
-106283  PIE client programs are loaded at address 0
-105831  Assertion `vgPlain_defined_init_shadow_page()' failed.
-105039  long run-times probably due to memory manager 
-104797  valgrind needs to be aware of BLKGETSIZE64
-103594  unhandled instruction: FICOM
-103320  Valgrind 2.4.0 fails to compile with gcc 3.4.3 and -O0
-103168  potentially memory leak in coregrind/ume.c 
-102039  bad permissions for mapped region at address 0xB7C73680
-101881  weird assertion problem
-101543  Support fadvise64 syscalls
-75247   x86_64/amd64 support (the biggest "bug" we have ever fixed)
-
-(3.0RC1: 27 July   05, vex r1303, valgrind r4283).
-(3.0.0:   3 August 05, vex r1313, valgrind r4316).
-
-
-
-Stable release 2.4.1 (1 August 2005)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-(The notes for this release have been lost.  Sorry!  It would have
-contained various bug fixes but no new features.)
-
-
-
-Stable release 2.4.0 (March 2005) -- CHANGES RELATIVE TO 2.2.0
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-2.4.0 brings many significant changes and bug fixes.  The most
-significant user-visible change is that we no longer supply our own
-pthread implementation.  Instead, Valgrind is finally capable of
-running the native thread library, either LinuxThreads or NPTL.
-
-This means our libpthread has gone, along with the bugs associated
-with it.  Valgrind now supports the kernel's threading syscalls, and
-lets you use your standard system libpthread.  As a result:
-
-* There are many fewer system dependencies and strange library-related
-  bugs.  There is a small performance improvement, and a large
-  stability improvement.
-
-* On the downside, Valgrind can no longer report misuses of the POSIX
-  PThreads API.  It also means that Helgrind currently does not work.
-  We hope to fix these problems in a future release.
-
-Note that running the native thread libraries does not mean Valgrind
-is able to provide genuine concurrent execution on SMPs.  We still
-impose the restriction that only one thread is running at any given
-time.
-
-There are many other significant changes too:
-
-* Memcheck is (once again) the default tool.
-
-* The default stack backtrace is now 12 call frames, rather than 4.
-
-* Suppressions can have up to 25 call frame matches, rather than 4.
-
-* Memcheck and Addrcheck use less memory.  Under some circumstances,
-  they no longer allocate shadow memory if there are large regions of
-  memory with the same A/V states - such as an mmaped file.
-
-* The memory-leak detector in Memcheck and Addrcheck has been
-  improved.  It now reports more types of memory leak, including
-  leaked cycles.  When reporting leaked memory, it can distinguish
-  between directly leaked memory (memory with no references), and
-  indirectly leaked memory (memory only referred to by other leaked
-  memory).
-
-* Memcheck's confusion over the effect of mprotect() has been fixed:
-  previously mprotect could erroneously mark undefined data as
-  defined.
-
-* Signal handling is much improved and should be very close to what
-  you get when running natively.  
-
-  One result of this is that Valgrind observes changes to sigcontexts
-  passed to signal handlers.  Such modifications will take effect when
-  the signal returns.  You will need to run with --single-step=yes to
-  make this useful.
-
-* Valgrind is built in Position Independent Executable (PIE) format if
-  your toolchain supports it.  This allows it to take advantage of all
-  the available address space on systems with 4Gbyte user address
-  spaces.
-
-* Valgrind can now run itself (requires PIE support).
-
-* Syscall arguments are now checked for validity.  Previously all
-  memory used by syscalls was checked, but now the actual values
-  passed are also checked.
-
-* Syscall wrappers are more robust against bad addresses being passed
-  to syscalls: they will fail with EFAULT rather than killing Valgrind
-  with SIGSEGV.
-
-* Because clone() is directly supported, some non-pthread uses of it
-  will work.  Partial sharing (where some resources are shared, and
-  some are not) is not supported.
-
-* open() and readlink() on /proc/self/exe are supported.
-
-BUGS FIXED:
-
-88520   pipe+fork+dup2 kills the main program
-88604 	Valgrind Aborts when using $VALGRIND_OPTS and user progra...
-88614 	valgrind: vg_libpthread.c:2323 (read): Assertion `read_pt...
-88703 	Stabs parser fails to handle ";"
-88886 	ioctl wrappers for TIOCMBIS and TIOCMBIC
-89032 	valgrind pthread_cond_timedwait fails
-89106 	the 'impossible' happened
-89139 	Missing sched_setaffinity & sched_getaffinity
-89198 	valgrind lacks support for SIOCSPGRP and SIOCGPGRP
-89263 	Missing ioctl translations for scsi-generic and CD playing
-89440 	tests/deadlock.c line endings
-89481 	`impossible' happened: EXEC FAILED
-89663 	valgrind 2.2.0 crash on Redhat 7.2
-89792 	Report pthread_mutex_lock() deadlocks instead of returnin...
-90111 	statvfs64 gives invalid error/warning
-90128 	crash+memory fault with stabs generated by gnat for a run...
-90778 	VALGRIND_CHECK_DEFINED() not as documented in memcheck.h
-90834 	cachegrind crashes at end of program without reporting re...
-91028 	valgrind: vg_memory.c:229 (vgPlain_unmap_range): Assertio...
-91162 	valgrind crash while debugging drivel 1.2.1
-91199 	Unimplemented function
-91325 	Signal routing does not propagate the siginfo structure
-91599 	Assertion `cv == ((void *)0)'
-91604 	rw_lookup clears orig and sends the NULL value to rw_new
-91821 	Small problems building valgrind with $top_builddir ne $t...
-91844 	signal 11 (SIGSEGV) at get_tcb (libpthread.c:86) in corec...
-92264 	UNIMPLEMENTED FUNCTION: pthread_condattr_setpshared
-92331 	per-target flags necessitate AM_PROG_CC_C_O
-92420 	valgrind doesn't compile with linux 2.6.8.1/9
-92513 	Valgrind 2.2.0 generates some warning messages
-92528 	vg_symtab2.c:170 (addLoc): Assertion `loc->size > 0' failed.
-93096 	unhandled ioctl 0x4B3A and 0x5601
-93117 	Tool and core interface versions do not match
-93128 	Can't run valgrind --tool=memcheck because of unimplement...
-93174 	Valgrind can crash if passed bad args to certain syscalls
-93309 	Stack frame in new thread is badly aligned
-93328 	Wrong types used with sys_sigprocmask()
-93763 	/usr/include/asm/msr.h is missing
-93776 	valgrind: vg_memory.c:508 (vgPlain_find_map_space): Asser...
-93810 	fcntl() argument checking a bit too strict
-94378 	Assertion `tst->sigqueue_head != tst->sigqueue_tail' failed.
-94429 	valgrind 2.2.0 segfault with mmap64 in glibc 2.3.3
-94645 	Impossible happened: PINSRW mem
-94953 	valgrind: the `impossible' happened: SIGSEGV
-95667 	Valgrind does not work with any KDE app
-96243 	Assertion 'res==0' failed
-96252 	stage2 loader of valgrind fails to allocate memory
-96520 	All programs crashing at _dl_start (in /lib/ld-2.3.3.so) ...
-96660 	ioctl CDROMREADTOCENTRY causes bogus warnings
-96747 	After looping in a segfault handler, the impossible happens
-96923 	Zero sized arrays crash valgrind trace back with SIGFPE
-96948 	valgrind stops with assertion failure regarding mmap2
-96966 	valgrind fails when application opens more than 16 sockets
-97398 	valgrind: vg_libpthread.c:2667 Assertion failed
-97407 	valgrind: vg_mylibc.c:1226 (vgPlain_safe_fd): Assertion `...
-97427 	"Warning: invalid file descriptor -1 in syscall close()" ...
-97785 	missing backtrace
-97792 	build in obj dir fails - autoconf / makefile cleanup
-97880 	pthread_mutex_lock fails from shared library (special ker...
-97975 	program aborts without ang VG messages
-98129 	Failed when open and close file 230000 times using stdio
-98175 	Crashes when using valgrind-2.2.0 with a program using al...
-98288 	Massif broken
-98303 	UNIMPLEMENTED FUNCTION pthread_condattr_setpshared
-98630 	failed--compilation missing warnings.pm, fails to make he...
-98756 	Cannot valgrind signal-heavy kdrive X server
-98966 	valgrinding the JVM fails with a sanity check assertion
-99035 	Valgrind crashes while profiling
-99142 	loops with message "Signal 11 being dropped from thread 0...
-99195 	threaded apps crash on thread start (using QThread::start...
-99348 	Assertion `vgPlain_lseek(core_fd, 0, 1) == phdrs[i].p_off...
-99568 	False negative due to mishandling of mprotect
-99738 	valgrind memcheck crashes on program that uses sigitimer
-99923 	0-sized allocations are reported as leaks
-99949 	program seg faults after exit()
-100036 	"newSuperblock's request for 1048576 bytes failed"
-100116 	valgrind: (pthread_cond_init): Assertion `sizeof(* cond) ...
-100486 	memcheck reports "valgrind: the `impossible' happened: V...
-100833 	second call to "mremap" fails with EINVAL
-101156 	(vgPlain_find_map_space): Assertion `(addr & ((1 << 12)-1...
-101173 	Assertion `recDepth >= 0 && recDepth < 500' failed
-101291 	creating threads in a forked process fails
-101313 	valgrind causes different behavior when resizing a window...
-101423 	segfault for c++ array of floats
-101562 	valgrind massif dies on SIGINT even with signal handler r...
-
-
-Stable release 2.2.0 (31 August 2004) -- CHANGES RELATIVE TO 2.0.0
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-2.2.0 brings nine months worth of improvements and bug fixes.  We
-believe it to be a worthy successor to 2.0.0.  There are literally
-hundreds of bug fixes and minor improvements.  There are also some
-fairly major user-visible changes:
-
-* A complete overhaul of handling of system calls and signals, and 
-  their interaction with threads.  In general, the accuracy of the 
-  system call, thread and signal simulations is much improved:
-
-  - Blocking system calls behave exactly as they do when running
-    natively (not on valgrind).  That is, if a syscall blocks only the
-    calling thread when running natively, than it behaves the same on
-    valgrind.  No more mysterious hangs because V doesn't know that some
-    syscall or other, should block only the calling thread.
-
-  - Interrupted syscalls should now give more faithful results.
-
-  - Signal contexts in signal handlers are supported.
-
-* Improvements to NPTL support to the extent that V now works 
-  properly on NPTL-only setups.
-
-* Greater isolation between Valgrind and the program being run, so
-  the program is less likely to inadvertently kill Valgrind by
-  doing wild writes.
-
-* Massif: a new space profiling tool.  Try it!  It's cool, and it'll
-  tell you in detail where and when your C/C++ code is allocating heap.
-  Draws pretty .ps pictures of memory use against time.  A potentially
-  powerful tool for making sense of your program's space use.
-
-* File descriptor leakage checks.  When enabled, Valgrind will print out
-  a list of open file descriptors on exit.
-
-* Improved SSE2/SSE3 support.
-
-* Time-stamped output; use --time-stamp=yes
-
-
-
-Stable release 2.2.0 (31 August 2004) -- CHANGES RELATIVE TO 2.1.2
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-2.2.0 is not much different from 2.1.2, released seven weeks ago.
-A number of bugs have been fixed, most notably #85658, which gave
-problems for quite a few people.  There have been many internal
-cleanups, but those are not user visible.
-
-The following bugs have been fixed since 2.1.2:
-
-85658   Assert in coregrind/vg_libpthread.c:2326 (open64) !=
-        (void*)0 failed
-        This bug was reported multiple times, and so the following
-        duplicates of it are also fixed: 87620, 85796, 85935, 86065, 
-        86919, 86988, 87917, 88156
-
-80716   Semaphore mapping bug caused by unmap (sem_destroy)
-        (Was fixed prior to 2.1.2)
-
-86987   semctl and shmctl syscalls family is not handled properly
-
-86696   valgrind 2.1.2 + RH AS2.1 + librt
-
-86730   valgrind locks up at end of run with assertion failure 
-        in __pthread_unwind
-
-86641   memcheck doesn't work with Mesa OpenGL/ATI on Suse 9.1
-        (also fixes 74298, a duplicate of this)
-
-85947   MMX/SSE unhandled instruction 'sfence'
-
-84978   Wrong error "Conditional jump or move depends on
-        uninitialised value" resulting from "sbbl %reg, %reg"
-
-86254   ssort() fails when signed int return type from comparison is 
-        too small to handle result of unsigned int subtraction
-
-87089   memalign( 4, xxx) makes valgrind assert
-
-86407   Add support for low-level parallel port driver ioctls.
-
-70587   Add timestamps to Valgrind output? (wishlist)
-
-84937   vg_libpthread.c:2505 (se_remap): Assertion `res == 0'
-        (fixed prior to 2.1.2)
-
-86317   cannot load libSDL-1.2.so.0 using valgrind
-
-86989   memcpy from mac_replace_strmem.c complains about
-        uninitialized pointers passed when length to copy is zero
-
-85811   gnu pascal symbol causes segmentation fault; ok in 2.0.0
-
-79138   writing to sbrk()'d memory causes segfault
-
-77369   sched deadlock while signal received during pthread_join
-        and the joined thread exited
-
-88115   In signal handler for SIGFPE,  siginfo->si_addr is wrong 
-        under Valgrind
-
-78765   Massif crashes on app exit if FP exceptions are enabled
-
-Additionally there are the following changes, which are not 
-connected to any bug report numbers, AFAICS:
-
-* Fix scary bug causing mis-identification of SSE stores vs
-  loads and so causing memcheck to sometimes give nonsense results
-  on SSE code.
-
-* Add support for the POSIX message queue system calls.
-
-* Fix to allow 32-bit Valgrind to run on AMD64 boxes.  Note: this does
-  NOT allow Valgrind to work with 64-bit executables - only with 32-bit
-  executables on an AMD64 box.
-
-* At configure time, only check whether linux/mii.h can be processed 
-  so that we don't generate ugly warnings by trying to compile it.
-
-* Add support for POSIX clocks and timers.
-
-
-
-Developer (cvs head) release 2.1.2 (18 July 2004)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-2.1.2 contains four months worth of bug fixes and refinements.
-Although officially a developer release, we believe it to be stable
-enough for widespread day-to-day use.  2.1.2 is pretty good, so try it
-first, although there is a chance it won't work.  If so then try 2.0.0
-and tell us what went wrong."  2.1.2 fixes a lot of problems present
-in 2.0.0 and is generally a much better product.
-
-Relative to 2.1.1, a large number of minor problems with 2.1.1 have
-been fixed, and so if you use 2.1.1 you should try 2.1.2.  Users of
-the last stable release, 2.0.0, might also want to try this release.
-
-The following bugs, and probably many more, have been fixed.  These
-are listed at http://bugs.kde.org.  Reporting a bug for valgrind in
-the http://bugs.kde.org is much more likely to get you a fix than
-mailing developers directly, so please continue to keep sending bugs
-there.
-
-76869   Crashes when running any tool under Fedora Core 2 test1
-        This fixes the problem with returning from a signal handler 
-        when VDSOs are turned off in FC2.
-
-69508   java 1.4.2 client fails with erroneous "stack size too small".
-        This fix makes more of the pthread stack attribute related 
-        functions work properly.  Java still doesn't work though.
-
-71906   malloc alignment should be 8, not 4
-        All memory returned by malloc/new etc is now at least
-        8-byte aligned.
-
-81970   vg_alloc_ThreadState: no free slots available
-        (closed because the workaround is simple: increase
-         VG_N_THREADS, rebuild and try again.)
-
-78514   Conditional jump or move depends on uninitialized value(s)
-        (a slight mishanding of FP code in memcheck)
-
-77952   pThread Support (crash) (due to initialisation-ordering probs)
-        (also 85118)
-
-80942   Addrcheck wasn't doing overlap checking as it should.
-78048   return NULL on malloc/new etc failure, instead of asserting
-73655   operator new() override in user .so files often doesn't get picked up
-83060   Valgrind does not handle native kernel AIO
-69872   Create proper coredumps after fatal signals
-82026   failure with new glibc versions: __libc_* functions are not exported
-70344   UNIMPLEMENTED FUNCTION: tcdrain 
-81297   Cancellation of pthread_cond_wait does not require mutex
-82872   Using debug info from additional packages (wishlist)
-83025   Support for ioctls FIGETBSZ and FIBMAP
-83340   Support for ioctl HDIO_GET_IDENTITY
-79714   Support for the semtimedop system call.
-77022   Support for ioctls FBIOGET_VSCREENINFO and FBIOGET_FSCREENINFO
-82098   hp2ps ansification (wishlist)
-83573   Valgrind SIGSEGV on execve
-82999   show which cmdline option was erroneous (wishlist)
-83040   make valgrind VPATH and distcheck-clean (wishlist)
-83998   Assertion `newfd > vgPlain_max_fd' failed (see below)
-82722   Unchecked mmap in as_pad leads to mysterious failures later
-78958   memcheck seg faults while running Mozilla 
-85416   Arguments with colon (e.g. --logsocket) ignored
-
-
-Additionally there are the following changes, which are not 
-connected to any bug report numbers, AFAICS:
-
-* Rearranged address space layout relative to 2.1.1, so that
-  Valgrind/tools will run out of memory later than currently in many
-  circumstances.  This is good news esp. for Calltree.  It should
-  be possible for client programs to allocate over 800MB of
-  memory when using memcheck now.
-
-* Improved checking when laying out memory.  Should hopefully avoid
-  the random segmentation faults that 2.1.1 sometimes caused.
-
-* Support for Fedora Core 2 and SuSE 9.1.  Improvements to NPTL
-  support to the extent that V now works properly on NPTL-only setups.
-
-* Renamed the following options:
-  --logfile-fd  -->  --log-fd
-  --logfile     -->  --log-file
-  --logsocket   -->  --log-socket
-  to be consistent with each other and other options (esp. --input-fd).
-
-* Add support for SIOCGMIIPHY, SIOCGMIIREG and SIOCSMIIREG ioctls and
-  improve the checking of other interface related ioctls.
-
-* Fix building with gcc-3.4.1.
-
-* Remove limit on number of semaphores supported.
-
-* Add support for syscalls: set_tid_address (258), acct (51).
-
-* Support instruction "repne movs" -- not official but seems to occur.
-
-* Implement an emulated soft limit for file descriptors in addition to
-  the current reserved area, which effectively acts as a hard limit. The
-  setrlimit system call now simply updates the emulated limits as best
-  as possible - the hard limit is not allowed to move at all and just
-  returns EPERM if you try and change it.  This should stop reductions
-  in the soft limit causing assertions when valgrind tries to allocate
-  descriptors from the reserved area.
-  (This actually came from bug #83998).
-
-* Major overhaul of Cachegrind implementation.  First user-visible change
-  is that cachegrind.out files are now typically 90% smaller than they
-  used to be;  code annotation times are correspondingly much smaller.
-  Second user-visible change is that hit/miss counts for code that is
-  unloaded at run-time is no longer dumped into a single "discard" pile,
-  but accurately preserved.
-
-* Client requests for telling valgrind about memory pools.
-
-
-
-Developer (cvs head) release 2.1.1 (12 March 2004)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-2.1.1 contains some internal structural changes needed for V's
-long-term future.  These don't affect end-users.  Most notable
-user-visible changes are:
-
-* Greater isolation between Valgrind and the program being run, so
-  the program is less likely to inadvertently kill Valgrind by
-  doing wild writes.
-
-* Massif: a new space profiling tool.  Try it!  It's cool, and it'll
-  tell you in detail where and when your C/C++ code is allocating heap.
-  Draws pretty .ps pictures of memory use against time.  A potentially
-  powerful tool for making sense of your program's space use.
-
-* Fixes for many bugs, including support for more SSE2/SSE3 instructions,
-  various signal/syscall things, and various problems with debug
-  info readers.
-
-* Support for glibc-2.3.3 based systems.
-
-We are now doing automatic overnight build-and-test runs on a variety
-of distros.  As a result, we believe 2.1.1 builds and runs on:
-Red Hat 7.2, 7.3, 8.0, 9, Fedora Core 1, SuSE 8.2, SuSE 9.
-
-
-The following bugs, and probably many more, have been fixed.  These
-are listed at http://bugs.kde.org.  Reporting a bug for valgrind in
-the http://bugs.kde.org is much more likely to get you a fix than
-mailing developers directly, so please continue to keep sending bugs
-there.
-
-69616   glibc 2.3.2 w/NPTL is massively different than what valgrind expects 
-69856   I don't know how to instrument MMXish stuff (Helgrind)
-73892   valgrind segfaults starting with Objective-C debug info 
-        (fix for S-type stabs)
-73145   Valgrind complains too much about close(<reserved fd>) 
-73902   Shadow memory allocation seems to fail on RedHat 8.0 
-68633   VG_N_SEMAPHORES too low (V itself was leaking semaphores)
-75099   impossible to trace multiprocess programs 
-76839   the `impossible' happened: disInstr: INT but not 0x80 ! 
-76762   vg_to_ucode.c:3748 (dis_push_segreg): Assertion `sz == 4' failed. 
-76747   cannot include valgrind.h in c++ program 
-76223   parsing B(3,10) gave NULL type => impossible happens 
-75604   shmdt handling problem 
-76416   Problems with gcc 3.4 snap 20040225 
-75614   using -gstabs when building your programs the `impossible' happened
-75787   Patch for some CDROM ioctls CDORM_GET_MCN, CDROM_SEND_PACKET,
-75294   gcc 3.4 snapshot's libstdc++ have unsupported instructions. 
-        (REP RET)
-73326   vg_symtab2.c:272 (addScopeRange): Assertion `range->size > 0' failed. 
-72596   not recognizing __libc_malloc 
-69489   Would like to attach ddd to running program 
-72781   Cachegrind crashes with kde programs 
-73055   Illegal operand at DXTCV11CompressBlockSSE2 (more SSE opcodes)
-73026   Descriptor leak check reports port numbers wrongly 
-71705   README_MISSING_SYSCALL_OR_IOCTL out of date 
-72643   Improve support for SSE/SSE2 instructions 
-72484   valgrind leaves it's own signal mask in place when execing 
-72650   Signal Handling always seems to restart system calls 
-72006   The mmap system call turns all errors in ENOMEM 
-71781   gdb attach is pretty useless 
-71180   unhandled instruction bytes: 0xF 0xAE 0x85 0xE8 
-69886   writes to zero page cause valgrind to assert on exit 
-71791   crash when valgrinding gimp 1.3 (stabs reader problem)
-69783   unhandled syscall: 218 
-69782   unhandled instruction bytes: 0x66 0xF 0x2B 0x80 
-70385   valgrind fails if the soft file descriptor limit is less 
-        than about 828
-69529   "rep; nop" should do a yield 
-70827   programs with lots of shared libraries report "mmap failed" 
-        for some of them when reading symbols 
-71028   glibc's strnlen is optimised enough to confuse valgrind 
-
-
-
-
-Unstable (cvs head) release 2.1.0 (15 December 2003)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-For whatever it's worth, 2.1.0 actually seems pretty darn stable to me
-(Julian).  It looks eminently usable, and given that it fixes some
-significant bugs, may well be worth using on a day-to-day basis.
-2.1.0 is known to build and pass regression tests on: SuSE 9, SuSE
-8.2, RedHat 8.
-
-2.1.0 most notably includes Jeremy Fitzhardinge's complete overhaul of
-handling of system calls and signals, and their interaction with
-threads.  In general, the accuracy of the system call, thread and
-signal simulations is much improved.  Specifically:
-
-- Blocking system calls behave exactly as they do when running
-  natively (not on valgrind).  That is, if a syscall blocks only the
-  calling thread when running natively, than it behaves the same on
-  valgrind.  No more mysterious hangs because V doesn't know that some
-  syscall or other, should block only the calling thread.
-
-- Interrupted syscalls should now give more faithful results.
-
-- Finally, signal contexts in signal handlers are supported.  As a
-  result, konqueror on SuSE 9 no longer segfaults when notified of
-  file changes in directories it is watching.
-
-Other changes:
-
-- Robert Walsh's file descriptor leakage checks.  When enabled,
-  Valgrind will print out a list of open file descriptors on
-  exit.  Along with each file descriptor, Valgrind prints out a stack
-  backtrace of where the file was opened and any details relating to the
-  file descriptor such as the file name or socket details.
-  To use, give: --track-fds=yes
-
-- Implemented a few more SSE/SSE2 instructions.
-
-- Less crud on the stack when you do 'where' inside a GDB attach.
-
-- Fixed the following bugs:
-  68360: Valgrind does not compile against 2.6.0-testX kernels
-  68525: CVS head doesn't compile on C90 compilers
-  68566: pkgconfig support (wishlist)
-  68588: Assertion `sz == 4' failed in vg_to_ucode.c (disInstr)
-  69140: valgrind not able to explicitly specify a path to a binary. 
-  69432: helgrind asserts encountering a MutexErr when there are 
-         EraserErr suppressions
-
-- Increase the max size of the translation cache from 200k average bbs
-  to 300k average bbs.  Programs on the size of OOo (680m17) are
-  thrashing the cache at the smaller size, creating large numbers of
-  retranslations and wasting significant time as a result.
-
-
-
-Stable release 2.0.0 (5 Nov 2003)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-2.0.0 improves SSE/SSE2 support, fixes some minor bugs, and
-improves support for SuSE 9 and the Red Hat "Severn" beta.
-
-- Further improvements to SSE/SSE2 support.  The entire test suite of
-  the GNU Scientific Library (gsl-1.4) compiled with Intel Icc 7.1
-  20030307Z '-g -O -xW' now works.  I think this gives pretty good
-  coverage of SSE/SSE2 floating point instructions, or at least the
-  subset emitted by Icc.
-
-- Also added support for the following instructions:
-    MOVNTDQ UCOMISD UNPCKLPS UNPCKHPS SQRTSS
-    PUSH/POP %{FS,GS}, and PUSH %CS (Nb: there is no POP %CS).
-
-- CFI support for GDB version 6.  Needed to enable newer GDBs
-  to figure out where they are when using --gdb-attach=yes.
-
-- Fix this:
-      mc_translate.c:1091 (memcheck_instrument): Assertion
-      `u_in->size == 4 || u_in->size == 16' failed.
-
-- Return an error rather than panicing when given a bad socketcall.
-
-- Fix checking of syscall rt_sigtimedwait().
-
-- Implement __NR_clock_gettime (syscall 265).  Needed on Red Hat Severn.
-
-- Fixed bug in overlap check in strncpy() -- it was assuming the src was 'n'
-  bytes long, when it could be shorter, which could cause false
-  positives.
-
-- Support use of select() for very large numbers of file descriptors.
-
-- Don't fail silently if the executable is statically linked, or is
-  setuid/setgid. Print an error message instead.
-
-- Support for old DWARF-1 format line number info.
-
-
-
-Snapshot 20031012 (12 October 2003)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Three months worth of bug fixes, roughly.  Most significant single
-change is improved SSE/SSE2 support, mostly thanks to Dirk Mueller.
-
-20031012 builds on Red Hat Fedora ("Severn") but doesn't really work
-(curiosly, mozilla runs OK, but a modest "ls -l" bombs).  I hope to
-get a working version out soon.  It may or may not work ok on the
-forthcoming SuSE 9; I hear positive noises about it but haven't been
-able to verify this myself (not until I get hold of a copy of 9).
-
-A detailed list of changes, in no particular order:
-
-- Describe --gen-suppressions in the FAQ.
-
-- Syscall __NR_waitpid supported.
-
-- Minor MMX bug fix.
-
-- -v prints program's argv[] at startup.
-
-- More glibc-2.3 suppressions.
-
-- Suppressions for stack underrun bug(s) in the c++ support library
-  distributed with Intel Icc 7.0.
-
-- Fix problems reading /proc/self/maps.
-
-- Fix a couple of messages that should have been suppressed by -q, 
-  but weren't.
-
-- Make Addrcheck understand "Overlap" suppressions.
-
-- At startup, check if program is statically linked and bail out if so.
-
-- Cachegrind: Auto-detect Intel Pentium-M, also VIA Nehemiah
-
-- Memcheck/addrcheck: minor speed optimisations
-
-- Handle syscall __NR_brk more correctly than before.
-
-- Fixed incorrect allocate/free mismatch errors when using
-  operator new(unsigned, std::nothrow_t const&)
-  operator new[](unsigned, std::nothrow_t const&)
-
-- Support POSIX pthread spinlocks.
-
-- Fixups for clean compilation with gcc-3.3.1.
-
-- Implemented more opcodes: 
-    - push %es
-    - push %ds
-    - pop %es
-    - pop %ds
-    - movntq
-    - sfence
-    - pshufw
-    - pavgb
-    - ucomiss
-    - enter
-    - mov imm32, %esp
-    - all "in" and "out" opcodes
-    - inc/dec %esp
-    - A whole bunch of SSE/SSE2 instructions
-
-- Memcheck: don't bomb on SSE/SSE2 code.
-
-
-Snapshot 20030725 (25 July 2003)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Fixes some minor problems in 20030716.
-
-- Fix bugs in overlap checking for strcpy/memcpy etc.
-
-- Do overlap checking with Addrcheck as well as Memcheck.
-
-- Fix this:
-      Memcheck: the `impossible' happened:
-      get_error_name: unexpected type
-
-- Install headers needed to compile new skins.
-
-- Remove leading spaces and colon in the LD_LIBRARY_PATH / LD_PRELOAD
-  passed to non-traced children.
-
-- Fix file descriptor leak in valgrind-listener.
-
-- Fix longstanding bug in which the allocation point of a 
-  block resized by realloc was not correctly set.  This may
-  have caused confusing error messages.
-
-
-Snapshot 20030716 (16 July 2003)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-20030716 is a snapshot of our current CVS head (development) branch.
-This is the branch which will become valgrind-2.0.  It contains
-significant enhancements over the 1.9.X branch.
-
-Despite this being a snapshot of the CVS head, it is believed to be
-quite stable -- at least as stable as 1.9.6 or 1.0.4, if not more so
--- and therefore suitable for widespread use.  Please let us know asap
-if it causes problems for you.
-
-Two reasons for releasing a snapshot now are:
-
-- It's been a while since 1.9.6, and this snapshot fixes
-  various problems that 1.9.6 has with threaded programs 
-  on glibc-2.3.X based systems.
-
-- So as to make available improvements in the 2.0 line.
-
-Major changes in 20030716, as compared to 1.9.6:
-
-- More fixes to threading support on glibc-2.3.1 and 2.3.2-based
-  systems (SuSE 8.2, Red Hat 9).  If you have had problems
-  with inconsistent/illogical behaviour of errno, h_errno or the DNS
-  resolver functions in threaded programs, 20030716 should improve
-  matters.  This snapshot seems stable enough to run OpenOffice.org
-  1.1rc on Red Hat 7.3, SuSE 8.2 and Red Hat 9, and that's a big
-  threaded app if ever I saw one.
-
-- Automatic generation of suppression records; you no longer
-  need to write them by hand.  Use --gen-suppressions=yes.
-
-- strcpy/memcpy/etc check their arguments for overlaps, when
-  running with the Memcheck or Addrcheck skins.
-
-- malloc_usable_size() is now supported.
-
-- new client requests:
-    - VALGRIND_COUNT_ERRORS, VALGRIND_COUNT_LEAKS: 
-      useful with regression testing
-    - VALGRIND_NON_SIMD_CALL[0123]: for running arbitrary functions 
-      on real CPU (use with caution!)
-
-- The GDB attach mechanism is more flexible.  Allow the GDB to
-  be run to be specified by --gdb-path=/path/to/gdb, and specify
-  which file descriptor V will read its input from with
-  --input-fd=<number>.
-
-- Cachegrind gives more accurate results (wasn't tracking instructions in
-  malloc() and friends previously, is now).
-
-- Complete support for the MMX instruction set.
-
-- Partial support for the SSE and SSE2 instruction sets.  Work for this
-  is ongoing.  About half the SSE/SSE2 instructions are done, so
-  some SSE based programs may work.  Currently you need to specify
-  --skin=addrcheck.  Basically not suitable for real use yet.
-
-- Significant speedups (10%-20%) for standard memory checking.
-
-- Fix assertion failure in pthread_once().
-
-- Fix this:
-    valgrind: vg_intercept.c:598 (vgAllRoadsLeadToRome_select): 
-              Assertion `ms_end >= ms_now' failed.
-
-- Implement pthread_mutexattr_setpshared.
-
-- Understand Pentium 4 branch hints.  Also implemented a couple more
-  obscure x86 instructions.
-
-- Lots of other minor bug fixes.
-
-- We have a decent regression test system, for the first time.
-  This doesn't help you directly, but it does make it a lot easier
-  for us to track the quality of the system, especially across
-  multiple linux distributions.  
-
-  You can run the regression tests with 'make regtest' after 'make
-  install' completes.  On SuSE 8.2 and Red Hat 9 I get this:
- 
-     == 84 tests, 0 stderr failures, 0 stdout failures ==
-
-  On Red Hat 8, I get this:
-
-     == 84 tests, 2 stderr failures, 1 stdout failure ==
-     corecheck/tests/res_search               (stdout)
-     memcheck/tests/sigaltstack               (stderr)
-
-  sigaltstack is probably harmless.  res_search doesn't work
-  on R H 8 even running natively, so I'm not too worried.   
-
-  On Red Hat 7.3, a glibc-2.2.5 system, I get these harmless failures:
-
-     == 84 tests, 2 stderr failures, 1 stdout failure ==
-     corecheck/tests/pth_atfork1              (stdout)
-     corecheck/tests/pth_atfork1              (stderr)
-     memcheck/tests/sigaltstack               (stderr)
-
-  You need to run on a PII system, at least, since some tests
-  contain P6-specific instructions, and the test machine needs
-  access to the internet so that corecheck/tests/res_search
-  (a test that the DNS resolver works) can function.
-
-As ever, thanks for the vast amount of feedback :) and bug reports :(
-We may not answer all messages, but we do at least look at all of
-them, and tend to fix the most frequently reported bugs.
-
-
-
-Version 1.9.6 (7 May 2003 or thereabouts)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Major changes in 1.9.6:
-
-- Improved threading support for glibc >= 2.3.2 (SuSE 8.2,
-  RedHat 9, to name but two ...)  It turned out that 1.9.5
-  had problems with threading support on glibc >= 2.3.2,
-  usually manifested by threaded programs deadlocking in system calls,
-  or running unbelievably slowly.  Hopefully these are fixed now.  1.9.6
-  is the first valgrind which gives reasonable support for
-  glibc-2.3.2.  Also fixed a 2.3.2 problem with pthread_atfork().
-
-- Majorly expanded FAQ.txt.  We've added workarounds for all
-  common problems for which a workaround is known.
-
-Minor changes in 1.9.6:
-
-- Fix identification of the main thread's stack.  Incorrect
-  identification of it was causing some on-stack addresses to not get
-  identified as such.  This only affected the usefulness of some error
-  messages; the correctness of the checks made is unchanged.
-
-- Support for kernels >= 2.5.68.
-
-- Dummy implementations of __libc_current_sigrtmin, 
-  __libc_current_sigrtmax and __libc_allocate_rtsig, hopefully
-  good enough to keep alive programs which previously died for lack of
-  them.
-
-- Fix bug in the VALGRIND_DISCARD_TRANSLATIONS client request.
-
-- Fix bug in the DWARF2 debug line info loader, when instructions 
-  following each other have source lines far from each other 
-  (e.g. with inlined functions).
-
-- Debug info reading: read symbols from both "symtab" and "dynsym"
-  sections, rather than merely from the one that comes last in the
-  file.
-
-- New syscall support: prctl(), creat(), lookup_dcookie().
-
-- When checking calls to accept(), recvfrom(), getsocketopt(),
-  don't complain if buffer values are NULL.
-
-- Try and avoid assertion failures in
-  mash_LD_PRELOAD_and_LD_LIBRARY_PATH.
-
-- Minor bug fixes in cg_annotate.
-
-
-
-Version 1.9.5 (7 April 2003)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-It occurs to me that it would be helpful for valgrind users to record
-in the source distribution the changes in each release.  So I now
-attempt to mend my errant ways :-)  Changes in this and future releases
-will be documented in the NEWS file in the source distribution.
-
-Major changes in 1.9.5:
-
-- (Critical bug fix): Fix a bug in the FPU simulation.  This was
-  causing some floating point conditional tests not to work right.
-  Several people reported this.  If you had floating point code which
-  didn't work right on 1.9.1 to 1.9.4, it's worth trying 1.9.5.
-
-- Partial support for Red Hat 9.  RH9 uses the new Native Posix 
-  Threads Library (NPTL), instead of the older LinuxThreads.  
-  This potentially causes problems with V which will take some
-  time to correct.  In the meantime we have partially worked around
-  this, and so 1.9.5 works on RH9.  Threaded programs still work,
-  but they may deadlock, because some system calls (accept, read,
-  write, etc) which should be nonblocking, in fact do block.  This
-  is a known bug which we are looking into.
-
-  If you can, your best bet (unfortunately) is to avoid using 
-  1.9.5 on a Red Hat 9 system, or on any NPTL-based distribution.
-  If your glibc is 2.3.1 or earlier, you're almost certainly OK.
-
-Minor changes in 1.9.5:
-
-- Added some #errors to valgrind.h to ensure people don't include
-  it accidentally in their sources.  This is a change from 1.0.X
-  which was never properly documented.  The right thing to include
-  is now memcheck.h.  Some people reported problems and strange
-  behaviour when (incorrectly) including valgrind.h in code with 
-  1.9.1 -- 1.9.4.  This is no longer possible.
-
-- Add some __extension__ bits and pieces so that gcc configured
-  for valgrind-checking compiles even with -Werror.  If you
-  don't understand this, ignore it.  Of interest to gcc developers
-  only.
-
-- Removed a pointless check which caused problems interworking 
-  with Clearcase.  V would complain about shared objects whose
-  names did not end ".so", and refuse to run.  This is now fixed.
-  In fact it was fixed in 1.9.4 but not documented.
-
-- Fixed a bug causing an assertion failure of "waiters == 1"
-  somewhere in vg_scheduler.c, when running large threaded apps,
-  notably MySQL.
-
-- Add support for the munlock system call (124).
-
-Some comments about future releases:
-
-1.9.5 is, we hope, the most stable Valgrind so far.  It pretty much
-supersedes the 1.0.X branch.  If you are a valgrind packager, please
-consider making 1.9.5 available to your users.  You can regard the
-1.0.X branch as obsolete: 1.9.5 is stable and vastly superior.  There
-are no plans at all for further releases of the 1.0.X branch.
-
-If you want a leading-edge valgrind, consider building the cvs head
-(from SourceForge), or getting a snapshot of it.  Current cool stuff
-going in includes MMX support (done); SSE/SSE2 support (in progress),
-a significant (10-20%) performance improvement (done), and the usual
-large collection of minor changes.  Hopefully we will be able to
-improve our NPTL support, but no promises.
-
diff --git a/NEWS.old b/NEWS.old
new file mode 100644
index 0000000..38d1089
--- /dev/null
+++ b/NEWS.old
@@ -0,0 +1,2003 @@
+Release 3.3.1 (4 June 2008)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.3.1 fixes a bunch of bugs in 3.3.0, adds support for glibc-2.8 based
+systems (openSUSE 11, Fedora Core 9), improves the existing glibc-2.7
+support, and adds support for the SSSE3 (Core 2) instruction set.
+
+3.3.1 will likely be the last release that supports some very old
+systems.  In particular, the next major release, 3.4.0, will drop
+support for the old LinuxThreads threading library, and for gcc
+versions prior to 3.0.
+
+The fixed bugs are as follows.  Note that "n-i-bz" stands for "not in
+bugzilla" -- that is, a bug that was reported to us but never got a
+bugzilla entry.  We encourage you to file bugs in bugzilla
+(http://bugs.kde.org/enter_valgrind_bug.cgi) rather than mailing the
+developers (or mailing lists) directly -- bugs that are not entered
+into bugzilla tend to get forgotten about or ignored.
+
+n-i-bz  Massif segfaults at exit
+n-i-bz  Memcheck asserts on Altivec code
+n-i-bz  fix sizeof bug in Helgrind
+n-i-bz  check fd on sys_llseek
+n-i-bz  update syscall lists to kernel 2.6.23.1
+n-i-bz  support sys_sync_file_range
+n-i-bz  handle sys_sysinfo, sys_getresuid, sys_getresgid on ppc64-linux
+n-i-bz  intercept memcpy in 64-bit ld.so's
+n-i-bz  Fix wrappers for sys_{futimesat,utimensat}
+n-i-bz  Minor false-error avoidance fixes for Memcheck
+n-i-bz  libmpiwrap.c: add a wrapper for MPI_Waitany
+n-i-bz  helgrind support for glibc-2.8
+n-i-bz  partial fix for mc_leakcheck.c:698 assert:
+        'lc_shadows[i]->data + lc_shadows[i] ...
+n-i-bz  Massif/Cachegrind output corruption when programs fork
+n-i-bz  register allocator fix: handle spill stores correctly
+n-i-bz  add support for PA6T PowerPC CPUs
+126389  vex x86->IR: 0xF 0xAE (FXRSTOR)
+158525  ==126389
+152818  vex x86->IR: 0xF3 0xAC (repz lodsb) 
+153196  vex x86->IR: 0xF2 0xA6 (repnz cmpsb) 
+155011  vex x86->IR: 0xCF (iret)
+155091  Warning [...] unhandled DW_OP_ opcode 0x23
+156960  ==155901
+155528  support Core2/SSSE3 insns on x86/amd64
+155929  ms_print fails on massif outputs containing long lines
+157665  valgrind fails on shmdt(0) after shmat to 0
+157748  support x86 PUSHFW/POPFW
+158212  helgrind: handle pthread_rwlock_try{rd,wr}lock.
+158425  sys_poll incorrectly emulated when RES==0
+158744  vex amd64->IR: 0xF0 0x41 0xF 0xC0 (xaddb)
+160907  Support for a couple of recent Linux syscalls
+161285  Patch -- support for eventfd() syscall
+161378  illegal opcode in debug libm (FUCOMPP)
+160136  ==161378
+161487  number of suppressions files is limited to 10
+162386  ms_print typo in milliseconds time unit for massif
+161036  exp-drd: client allocated memory was never freed
+162663  signalfd_wrapper fails on 64bit linux
+
+(3.3.1.RC1:  2 June 2008, vex r1854, valgrind r8169).
+(3.3.1:      4 June 2008, vex r1854, valgrind r8180).
+
+
+
+Release 3.3.0 (7 December 2007)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.3.0 is a feature release with many significant improvements and the
+usual collection of bug fixes.  This release supports X86/Linux,
+AMD64/Linux, PPC32/Linux and PPC64/Linux.  Support for recent distros
+(using gcc 4.3, glibc 2.6 and 2.7) has been added.
+
+The main excitement in 3.3.0 is new and improved tools.  Helgrind
+works again, Massif has been completely overhauled and much improved,
+Cachegrind now does branch-misprediction profiling, and a new category
+of experimental tools has been created, containing two new tools:
+Omega and DRD.  There are many other smaller improvements.  In detail:
+
+- Helgrind has been completely overhauled and works for the first time
+  since Valgrind 2.2.0.  Supported functionality is: detection of
+  misuses of the POSIX PThreads API, detection of potential deadlocks
+  resulting from cyclic lock dependencies, and detection of data
+  races.  Compared to the 2.2.0 Helgrind, the race detection algorithm
+  has some significant improvements aimed at reducing the false error
+  rate.  Handling of various kinds of corner cases has been improved.
+  Efforts have been made to make the error messages easier to
+  understand.  Extensive documentation is provided.
+
+- Massif has been completely overhauled.  Instead of measuring
+  space-time usage -- which wasn't always useful and many people found
+  confusing -- it now measures space usage at various points in the
+  execution, including the point of peak memory allocation.  Its
+  output format has also changed: instead of producing PostScript
+  graphs and HTML text, it produces a single text output (via the new
+  'ms_print' script) that contains both a graph and the old textual
+  information, but in a more compact and readable form.  Finally, the
+  new version should be more reliable than the old one, as it has been
+  tested more thoroughly.
+
+- Cachegrind has been extended to do branch-misprediction profiling.
+  Both conditional and indirect branches are profiled.  The default
+  behaviour of Cachegrind is unchanged.  To use the new functionality,
+  give the option --branch-sim=yes.
+
+- A new category of "experimental tools" has been created.  Such tools
+  may not work as well as the standard tools, but are included because
+  some people will find them useful, and because exposure to a wider
+  user group provides tool authors with more end-user feedback.  These
+  tools have a "exp-" prefix attached to their names to indicate their
+  experimental nature.  Currently there are two experimental tools:
+
+  * exp-Omega: an instantaneous leak detector.  See
+    exp-omega/docs/omega_introduction.txt.
+
+  * exp-DRD: a data race detector based on the happens-before
+    relation.  See exp-drd/docs/README.txt.
+
+- Scalability improvements for very large programs, particularly those
+  which have a million or more malloc'd blocks in use at once.  These
+  improvements mostly affect Memcheck.  Memcheck is also up to 10%
+  faster for all programs, with x86-linux seeing the largest
+  improvement.
+
+- Works well on the latest Linux distros.  Has been tested on Fedora
+  Core 8 (x86, amd64, ppc32, ppc64) and openSUSE 10.3.  glibc 2.6 and
+  2.7 are supported.  gcc-4.3 (in its current pre-release state) is
+  supported.  At the same time, 3.3.0 retains support for older
+  distros.
+
+- The documentation has been modestly reorganised with the aim of
+  making it easier to find information on common-usage scenarios.
+  Some advanced material has been moved into a new chapter in the main
+  manual, so as to unclutter the main flow, and other tidying up has
+  been done.
+
+- There is experimental support for AIX 5.3, both 32-bit and 64-bit
+  processes.  You need to be running a 64-bit kernel to use Valgrind
+  on a 64-bit executable.
+
+- There have been some changes to command line options, which may
+  affect you:
+
+  * --log-file-exactly and 
+    --log-file-qualifier options have been removed.
+
+    To make up for this --log-file option has been made more powerful.
+    It now accepts a %p format specifier, which is replaced with the
+    process ID, and a %q{FOO} format specifier, which is replaced with
+    the contents of the environment variable FOO.
+
+  * --child-silent-after-fork=yes|no [no]
+
+    Causes Valgrind to not show any debugging or logging output for
+    the child process resulting from a fork() call.  This can make the
+    output less confusing (although more misleading) when dealing with
+    processes that create children.
+
+  * --cachegrind-out-file, --callgrind-out-file and --massif-out-file
+
+    These control the names of the output files produced by
+    Cachegrind, Callgrind and Massif.  They accept the same %p and %q
+    format specifiers that --log-file accepts.  --callgrind-out-file
+    replaces Callgrind's old --base option.
+
+  * Cachegrind's 'cg_annotate' script no longer uses the --<pid>
+    option to specify the output file.  Instead, the first non-option
+    argument is taken to be the name of the output file, and any
+    subsequent non-option arguments are taken to be the names of
+    source files to be annotated.
+
+  * Cachegrind and Callgrind now use directory names where possible in
+    their output files.  This means that the -I option to
+    'cg_annotate' and 'callgrind_annotate' should not be needed in
+    most cases.  It also means they can correctly handle the case
+    where two source files in different directories have the same
+    name.
+
+- Memcheck offers a new suppression kind: "Jump".  This is for
+  suppressing jump-to-invalid-address errors.  Previously you had to
+  use an "Addr1" suppression, which didn't make much sense.
+
+- Memcheck has new flags --malloc-fill=<hexnum> and
+  --free-fill=<hexnum> which free malloc'd / free'd areas with the
+  specified byte.  This can help shake out obscure memory corruption
+  problems.  The definedness and addressability of these areas is
+  unchanged -- only the contents are affected.
+
+- The behaviour of Memcheck's client requests VALGRIND_GET_VBITS and
+  VALGRIND_SET_VBITS have changed slightly.  They no longer issue
+  addressability errors -- if either array is partially unaddressable,
+  they just return 3 (as before).  Also, SET_VBITS doesn't report
+  definedness errors if any of the V bits are undefined.
+
+- The following Memcheck client requests have been removed:
+    VALGRIND_MAKE_NOACCESS
+    VALGRIND_MAKE_WRITABLE
+    VALGRIND_MAKE_READABLE
+    VALGRIND_CHECK_WRITABLE
+    VALGRIND_CHECK_READABLE
+    VALGRIND_CHECK_DEFINED
+  They were deprecated in 3.2.0, when equivalent but better-named client
+  requests were added.  See the 3.2.0 release notes for more details.
+
+- The behaviour of the tool Lackey has changed slightly.  First, the output
+  from --trace-mem has been made more compact, to reduce the size of the
+  traces.  Second, a new option --trace-superblocks has been added, which
+  shows the addresses of superblocks (code blocks) as they are executed.
+
+- The following bugs have been fixed.  Note that "n-i-bz" stands for
+  "not in bugzilla" -- that is, a bug that was reported to us but
+  never got a bugzilla entry.  We encourage you to file bugs in
+  bugzilla (http://bugs.kde.org/enter_valgrind_bug.cgi) rather than
+  mailing the developers (or mailing lists) directly.
+
+  n-i-bz  x86_linux_REDIR_FOR_index() broken
+  n-i-bz  guest-amd64/toIR.c:2512 (dis_op2_E_G): Assertion `0' failed.
+  n-i-bz  Support x86 INT insn (INT (0xCD) 0x40 - 0x43)
+  n-i-bz  Add sys_utimensat system call for Linux x86 platform
+   79844  Helgrind complains about race condition which does not exist
+   82871  Massif output function names too short
+   89061  Massif: ms_main.c:485 (get_XCon): Assertion `xpt->max_chi...'
+   92615  Write output from Massif at crash
+   95483  massif feature request: include peak allocation in report
+  112163  MASSIF crashed with signal 7 (SIGBUS) after running 2 days
+  119404  problems running setuid executables (partial fix)
+  121629  add instruction-counting mode for timing
+  127371  java vm giving unhandled instruction bytes: 0x26 0x2E 0x64 0x65
+  129937  ==150380
+  129576  Massif loses track of memory, incorrect graphs
+  132132  massif --format=html output does not do html entity escaping
+  132950  Heap alloc/usage summary
+  133962  unhandled instruction bytes: 0xF2 0x4C 0xF 0x10
+  134990  use -fno-stack-protector if possible
+  136382  ==134990
+  137396  I would really like helgrind to work again...
+  137714  x86/amd64->IR: 0x66 0xF 0xF7 0xC6 (maskmovq, maskmovdq)
+  141631  Massif: percentages don't add up correctly
+  142706  massif numbers don't seem to add up
+  143062  massif crashes on app exit with signal 8 SIGFPE
+  144453  (get_XCon): Assertion 'xpt->max_children != 0' failed.
+  145559  valgrind aborts when malloc_stats is called
+  145609  valgrind aborts all runs with 'repeated section!'
+  145622  --db-attach broken again on x86-64
+  145837  ==149519
+  145887  PPC32: getitimer() system call is not supported
+  146252  ==150678
+  146456  (update_XCon): Assertion 'xpt->curr_space >= -space_delta'...
+  146701  ==134990
+  146781  Adding support for private futexes
+  147325  valgrind internal error on syscall (SYS_io_destroy, 0)
+  147498  amd64->IR: 0xF0 0xF 0xB0 0xF (lock cmpxchg %cl,(%rdi))
+  147545  Memcheck: mc_main.c:817 (get_sec_vbits8): Assertion 'n' failed.
+  147628  SALC opcode 0xd6 unimplemented
+  147825  crash on amd64-linux with gcc 4.2 and glibc 2.6 (CFI)
+  148174  Incorrect type of freed_list_volume causes assertion [...]
+  148447  x86_64 : new NOP codes: 66 66 66 66 2e 0f 1f
+  149182  PPC Trap instructions not implemented in valgrind
+  149504  Assertion hit on alloc_xpt->curr_space >= -space_delta
+  149519  ppc32: V aborts with SIGSEGV on execution of a signal handler
+  149892  ==137714
+  150044  SEGV during stack deregister
+  150380  dwarf/gcc interoperation (dwarf3 read problems)
+  150408  ==148447
+  150678  guest-amd64/toIR.c:3741 (dis_Grp5): Assertion `sz == 4' failed
+  151209  V unable to execute programs for users with UID > 2^16
+  151938  help on --db-command= misleading
+  152022  subw $0x28, %%sp causes assertion failure in memcheck
+  152357  inb and outb not recognized in 64-bit mode
+  152501  vex x86->IR: 0x27 0x66 0x89 0x45 (daa) 
+  152818  vex x86->IR: 0xF3 0xAC 0xFC 0x9C (rep lodsb)
+
+Developer-visible changes:
+
+- The names of some functions and types within the Vex IR have
+  changed.  Run 'svn log -r1689 VEX/pub/libvex_ir.h' for full details.
+  Any existing standalone tools will have to be updated to reflect
+  these changes.  The new names should be clearer.  The file
+  VEX/pub/libvex_ir.h is also much better commented.
+
+- A number of new debugging command line options have been added.
+  These are mostly of use for debugging the symbol table and line
+  number readers:
+
+  --trace-symtab-patt=<patt> limit debuginfo tracing to obj name <patt>
+  --trace-cfi=no|yes        show call-frame-info details? [no]
+  --debug-dump=syms         mimic /usr/bin/readelf --syms
+  --debug-dump=line         mimic /usr/bin/readelf --debug-dump=line
+  --debug-dump=frames       mimic /usr/bin/readelf --debug-dump=frames
+  --sym-offsets=yes|no      show syms in form 'name+offset' ? [no]
+
+- Internally, the code base has been further factorised and
+  abstractified, particularly with respect to support for non-Linux
+  OSs.
+
+(3.3.0.RC1:  2 Dec 2007, vex r1803, valgrind r7268).
+(3.3.0.RC2:  5 Dec 2007, vex r1804, valgrind r7282).
+(3.3.0.RC3:  9 Dec 2007, vex r1804, valgrind r7288).
+(3.3.0:     10 Dec 2007, vex r1804, valgrind r7290).
+
+
+
+Release 3.2.3 (29 Jan 2007)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Unfortunately 3.2.2 introduced a regression which can cause an
+assertion failure ("vex: the `impossible' happened: eqIRConst") when
+running obscure pieces of SSE code.  3.2.3 fixes this and adds one
+more glibc-2.5 intercept.  In all other respects it is identical to
+3.2.2.  Please do not use (or package) 3.2.2; instead use 3.2.3.
+
+n-i-bz   vex: the `impossible' happened: eqIRConst
+n-i-bz   Add an intercept for glibc-2.5 __stpcpy_chk
+
+(3.2.3: 29 Jan 2007, vex r1732, valgrind r6560).
+
+
+Release 3.2.2 (22 Jan 2007)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.2.2 fixes a bunch of bugs in 3.2.1, adds support for glibc-2.5 based
+systems (openSUSE 10.2, Fedora Core 6), improves support for icc-9.X
+compiled code, and brings modest performance improvements in some
+areas, including amd64 floating point, powerpc support, and startup
+responsiveness on all targets.
+
+The fixed bugs are as follows.  Note that "n-i-bz" stands for "not in
+bugzilla" -- that is, a bug that was reported to us but never got a
+bugzilla entry.  We encourage you to file bugs in bugzilla
+(http://bugs.kde.org/enter_valgrind_bug.cgi) rather than mailing the
+developers (or mailing lists) directly.
+
+129390   ppc?->IR: some kind of VMX prefetch (dstt)
+129968   amd64->IR: 0xF 0xAE 0x0 (fxsave)
+134319   ==129968
+133054   'make install' fails with syntax errors
+118903   ==133054
+132998   startup fails in when running on UML
+134207   pkg-config output contains @VG_PLATFORM@
+134727   valgrind exits with "Value too large for defined data type"
+n-i-bz   ppc32/64: support mcrfs
+n-i-bz   Cachegrind/Callgrind: Update cache parameter detection
+135012   x86->IR: 0xD7 0x8A 0xE0 0xD0 (xlat)
+125959   ==135012
+126147   x86->IR: 0xF2 0xA5 0xF 0x77 (repne movsw)
+136650   amd64->IR: 0xC2 0x8 0x0
+135421   x86->IR: unhandled Grp5(R) case 6
+n-i-bz   Improved documentation of the IR intermediate representation
+n-i-bz   jcxz (x86) (users list, 8 Nov)
+n-i-bz   ExeContext hashing fix
+n-i-bz   fix CFI reading failures ("Dwarf CFI 0:24 0:32 0:48 0:7")
+n-i-bz   fix Cachegrind/Callgrind simulation bug
+n-i-bz   libmpiwrap.c: fix handling of MPI_LONG_DOUBLE
+n-i-bz   make User errors suppressible
+136844   corrupted malloc line when using --gen-suppressions=yes
+138507   ==136844
+n-i-bz   Speed up the JIT's register allocator
+n-i-bz   Fix confusing leak-checker flag hints
+n-i-bz   Support recent autoswamp versions
+n-i-bz   ppc32/64 dispatcher speedups
+n-i-bz   ppc64 front end rld/rlw improvements
+n-i-bz   ppc64 back end imm64 improvements
+136300   support 64K pages on ppc64-linux
+139124   == 136300
+n-i-bz   fix ppc insn set tests for gcc >= 4.1
+137493   x86->IR: recent binutils no-ops
+137714   x86->IR: 0x66 0xF 0xF7 0xC6 (maskmovdqu)
+138424   "failed in UME with error 22" (produce a better error msg)
+138856   ==138424
+138627   Enhancement support for prctl ioctls
+138896   Add support for usb ioctls
+136059   ==138896
+139050   ppc32->IR: mfspr 268/269 instructions not handled
+n-i-bz   ppc32->IR: lvxl/stvxl
+n-i-bz   glibc-2.5 support
+n-i-bz   memcheck: provide replacement for mempcpy
+n-i-bz   memcheck: replace bcmp in ld.so
+n-i-bz   Use 'ifndef' in VEX's Makefile correctly
+n-i-bz   Suppressions for MVL 4.0.1 on ppc32-linux
+n-i-bz   libmpiwrap.c: Fixes for MPICH
+n-i-bz   More robust handling of hinted client mmaps
+139776   Invalid read in unaligned memcpy with Intel compiler v9
+n-i-bz   Generate valid XML even for very long fn names
+n-i-bz   Don't prompt about suppressions for unshown reachable leaks
+139910   amd64 rcl is not supported
+n-i-bz   DWARF CFI reader: handle DW_CFA_undefined
+n-i-bz   DWARF CFI reader: handle icc9 generated CFI info better
+n-i-bz   fix false uninit-value errs in icc9 generated FP code
+n-i-bz   reduce extraneous frames in libmpiwrap.c
+n-i-bz   support pselect6 on amd64-linux
+
+(3.2.2: 22 Jan 2007, vex r1729, valgrind r6545).
+
+
+Release 3.2.1 (16 Sept 2006)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.2.1 adds x86/amd64 support for all SSE3 instructions except monitor
+and mwait, further reduces memcheck's false error rate on all
+platforms, adds support for recent binutils (in OpenSUSE 10.2 and
+Fedora Rawhide) and fixes a bunch of bugs in 3.2.0.  Some of the fixed
+bugs were causing large programs to segfault with --tool=callgrind and
+--tool=cachegrind, so an upgrade is recommended.
+
+In view of the fact that any 3.3.0 release is unlikely to happen until
+well into 1Q07, we intend to keep the 3.2.X line alive for a while
+yet, and so we tentatively plan a 3.2.2 release sometime in December
+06.
+
+The fixed bugs are as follows.  Note that "n-i-bz" stands for "not in
+bugzilla" -- that is, a bug that was reported to us but never got a
+bugzilla entry.
+
+n-i-bz   Expanding brk() into last available page asserts
+n-i-bz   ppc64-linux stack RZ fast-case snafu
+n-i-bz   'c' in --gen-supps=yes doesn't work
+n-i-bz   VG_N_SEGMENTS too low (users, 28 June)
+n-i-bz   VG_N_SEGNAMES too low (Stu Robinson)
+106852   x86->IR: fisttp (SSE3)
+117172   FUTEX_WAKE does not use uaddr2
+124039   Lacks support for VKI_[GP]IO_UNIMAP*
+127521   amd64->IR: 0xF0 0x48 0xF 0xC7 (cmpxchg8b)
+128917   amd64->IR: 0x66 0xF 0xF6 0xC4 (psadbw,SSE2)
+129246   JJ: ppc32/ppc64 syscalls, w/ patch
+129358   x86->IR: fisttpl (SSE3)
+129866   cachegrind/callgrind causes executable to die
+130020   Can't stat .so/.exe error while reading symbols
+130388   Valgrind aborts when process calls malloc_trim()
+130638   PATCH: ppc32 missing system calls
+130785   amd64->IR: unhandled instruction "pushfq"
+131481:  (HINT_NOP) vex x86->IR: 0xF 0x1F 0x0 0xF
+131298   ==131481
+132146   Programs with long sequences of bswap[l,q]s
+132918   vex amd64->IR: 0xD9 0xF8 (fprem)
+132813   Assertion at priv/guest-x86/toIR.c:652 fails
+133051   'cfsi->len > 0 && cfsi->len < 2000000' failed
+132722   valgrind header files are not standard C
+n-i-bz   Livelocks entire machine (users list, Timothy Terriberry)
+n-i-bz   Alex Bennee mmap problem (9 Aug)
+n-i-bz   BartV: Don't print more lines of a stack-trace than were obtained.
+n-i-bz   ppc32 SuSE 10.1 redir
+n-i-bz   amd64 padding suppressions
+n-i-bz   amd64 insn printing fix.
+n-i-bz   ppc cmp reg,reg fix
+n-i-bz   x86/amd64 iropt e/rflag reduction rules
+n-i-bz   SuSE 10.1 (ppc32) minor fixes
+133678   amd64->IR: 0x48 0xF 0xC5 0xC0 (pextrw?)
+133694   aspacem assertion: aspacem_minAddr <= holeStart
+n-i-bz   callgrind: fix warning about malformed creator line 
+n-i-bz   callgrind: fix annotate script for data produced with 
+         --dump-instr=yes
+n-i-bz   callgrind: fix failed assertion when toggling 
+         instrumentation mode
+n-i-bz   callgrind: fix annotate script fix warnings with
+         --collect-jumps=yes
+n-i-bz   docs path hardwired (Dennis Lubert)
+
+The following bugs were not fixed, due primarily to lack of developer
+time, and also because bug reporters did not answer requests for
+feedback in time for the release:
+
+129390   ppc?->IR: some kind of VMX prefetch (dstt)
+129968   amd64->IR: 0xF 0xAE 0x0 (fxsave)
+133054   'make install' fails with syntax errors
+n-i-bz   Signal race condition (users list, 13 June, Johannes Berg)
+n-i-bz   Unrecognised instruction at address 0x70198EC2 (users list,
+         19 July, Bennee)
+132998   startup fails in when running on UML
+
+The following bug was tentatively fixed on the mainline but the fix
+was considered too risky to push into 3.2.X:
+
+133154   crash when using client requests to register/deregister stack
+
+(3.2.1: 16 Sept 2006, vex r1658, valgrind r6070).
+
+
+Release 3.2.0 (7 June 2006)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.2.0 is a feature release with many significant improvements and the
+usual collection of bug fixes.  This release supports X86/Linux,
+AMD64/Linux, PPC32/Linux and PPC64/Linux.
+
+Performance, especially of Memcheck, is improved, Addrcheck has been
+removed, Callgrind has been added, PPC64/Linux support has been added,
+Lackey has been improved, and MPI support has been added.  In detail:
+
+- Memcheck has improved speed and reduced memory use.  Run times are
+  typically reduced by 15-30%, averaging about 24% for SPEC CPU2000.
+  The other tools have smaller but noticeable speed improvements.  We
+  are interested to hear what improvements users get.
+
+  Memcheck uses less memory due to the introduction of a compressed
+  representation for shadow memory.  The space overhead has been
+  reduced by a factor of up to four, depending on program behaviour.
+  This means you should be able to run programs that use more memory
+  than before without hitting problems.
+
+- Addrcheck has been removed.  It has not worked since version 2.4.0,
+  and the speed and memory improvements to Memcheck make it redundant.
+  If you liked using Addrcheck because it didn't give undefined value
+  errors, you can use the new Memcheck option --undef-value-errors=no
+  to get the same behaviour.
+
+- The number of undefined-value errors incorrectly reported by
+  Memcheck has been reduced (such false reports were already very
+  rare).  In particular, efforts have been made to ensure Memcheck
+  works really well with gcc 4.0/4.1-generated code on X86/Linux and
+  AMD64/Linux.
+
+- Josef Weidendorfer's popular Callgrind tool has been added.  Folding
+  it in was a logical step given its popularity and usefulness, and
+  makes it easier for us to ensure it works "out of the box" on all
+  supported targets.  The associated KDE KCachegrind GUI remains a
+  separate project.
+
+- A new release of the Valkyrie GUI for Memcheck, version 1.2.0,
+  accompanies this release.  Improvements over previous releases
+  include improved robustness, many refinements to the user interface,
+  and use of a standard autoconf/automake build system.  You can get
+  it from http://www.valgrind.org/downloads/guis.html.
+
+- Valgrind now works on PPC64/Linux.  As with the AMD64/Linux port,
+  this supports programs using to 32G of address space.  On 64-bit
+  capable PPC64/Linux setups, you get a dual architecture build so
+  that both 32-bit and 64-bit executables can be run.  Linux on POWER5
+  is supported, and POWER4 is also believed to work.  Both 32-bit and
+  64-bit DWARF2 is supported.  This port is known to work well with
+  both gcc-compiled and xlc/xlf-compiled code.
+
+- Floating point accuracy has been improved for PPC32/Linux.
+  Specifically, the floating point rounding mode is observed on all FP
+  arithmetic operations, and multiply-accumulate instructions are
+  preserved by the compilation pipeline.  This means you should get FP
+  results which are bit-for-bit identical to a native run.  These
+  improvements are also present in the PPC64/Linux port.
+
+- Lackey, the example tool, has been improved:
+
+  * It has a new option --detailed-counts (off by default) which
+    causes it to print out a count of loads, stores and ALU operations
+    done, and their sizes.
+
+  * It has a new option --trace-mem (off by default) which causes it
+    to print out a trace of all memory accesses performed by a
+    program.  It's a good starting point for building Valgrind tools
+    that need to track memory accesses.  Read the comments at the top
+    of the file lackey/lk_main.c for details.
+
+  * The original instrumentation (counting numbers of instructions,
+    jumps, etc) is now controlled by a new option --basic-counts.  It
+    is on by default.
+
+- MPI support: partial support for debugging distributed applications
+  using the MPI library specification has been added.  Valgrind is
+  aware of the memory state changes caused by a subset of the MPI
+  functions, and will carefully check data passed to the (P)MPI_
+  interface.
+
+- A new flag, --error-exitcode=, has been added.  This allows changing
+  the exit code in runs where Valgrind reported errors, which is
+  useful when using Valgrind as part of an automated test suite.
+
+- Various segfaults when reading old-style "stabs" debug information
+  have been fixed.
+
+- A simple performance evaluation suite has been added.  See
+  perf/README and README_DEVELOPERS for details.  There are
+  various bells and whistles.
+
+- New configuration flags:
+    --enable-only32bit
+    --enable-only64bit
+  By default, on 64 bit platforms (ppc64-linux, amd64-linux) the build
+  system will attempt to build a Valgrind which supports both 32-bit
+  and 64-bit executables.  This may not be what you want, and you can
+  override the default behaviour using these flags.
+
+Please note that Helgrind is still not working.  We have made an
+important step towards making it work again, however, with the
+addition of function wrapping (see below).
+
+Other user-visible changes:
+
+- Valgrind now has the ability to intercept and wrap arbitrary
+  functions.  This is a preliminary step towards making Helgrind work
+  again, and was required for MPI support.
+
+- There are some changes to Memcheck's client requests.  Some of them
+  have changed names:
+
+    MAKE_NOACCESS  --> MAKE_MEM_NOACCESS
+    MAKE_WRITABLE  --> MAKE_MEM_UNDEFINED
+    MAKE_READABLE  --> MAKE_MEM_DEFINED
+
+    CHECK_WRITABLE --> CHECK_MEM_IS_ADDRESSABLE
+    CHECK_READABLE --> CHECK_MEM_IS_DEFINED
+    CHECK_DEFINED  --> CHECK_VALUE_IS_DEFINED
+
+  The reason for the change is that the old names are subtly
+  misleading.  The old names will still work, but they are deprecated
+  and may be removed in a future release.
+
+  We also added a new client request:
+  
+    MAKE_MEM_DEFINED_IF_ADDRESSABLE(a, len)
+    
+  which is like MAKE_MEM_DEFINED but only affects a byte if the byte is
+  already addressable.
+
+- The way client requests are encoded in the instruction stream has
+  changed.  Unfortunately, this means 3.2.0 will not honour client
+  requests compiled into binaries using headers from earlier versions
+  of Valgrind.  We will try to keep the client request encodings more 
+  stable in future.
+
+BUGS FIXED:
+
+108258   NPTL pthread cleanup handlers not called 
+117290   valgrind is sigKILL'd on startup
+117295   == 117290
+118703   m_signals.c:1427 Assertion 'tst->status == VgTs_WaitSys'
+118466   add %reg, %reg generates incorrect validity for bit 0
+123210   New: strlen from ld-linux on amd64
+123244   DWARF2 CFI reader: unhandled CFI instruction 0:18
+123248   syscalls in glibc-2.4: openat, fstatat, symlinkat
+123258   socketcall.recvmsg(msg.msg_iov[i] points to uninit
+123535   mremap(new_addr) requires MREMAP_FIXED in 4th arg
+123836   small typo in the doc
+124029   ppc compile failed: `vor' gcc 3.3.5
+124222   Segfault: @@don't know what type ':' is
+124475   ppc32: crash (syscall?) timer_settime()
+124499   amd64->IR: 0xF 0xE 0x48 0x85 (femms)
+124528   FATAL: aspacem assertion failed: segment_is_sane
+124697   vex x86->IR: 0xF 0x70 0xC9 0x0 (pshufw)
+124892   vex x86->IR: 0xF3 0xAE (REPx SCASB)
+126216   == 124892
+124808   ppc32: sys_sched_getaffinity() not handled
+n-i-bz   Very long stabs strings crash m_debuginfo
+n-i-bz   amd64->IR: 0x66 0xF 0xF5 (pmaddwd)
+125492   ppc32: support a bunch more syscalls
+121617   ppc32/64: coredumping gives assertion failure
+121814   Coregrind return error as exitcode patch
+126517   == 121814
+125607   amd64->IR: 0x66 0xF 0xA3 0x2 (btw etc)
+125651   amd64->IR: 0xF8 0x49 0xFF 0xE3 (clc?)
+126253   x86 movx is wrong
+126451   3.2 SVN doesn't work on ppc32 CPU's without FPU
+126217   increase # threads
+126243   vex x86->IR: popw mem
+126583   amd64->IR: 0x48 0xF 0xA4 0xC2 (shld $1,%rax,%rdx)
+126668   amd64->IR: 0x1C 0xFF (sbb $0xff,%al)
+126696   support for CDROMREADRAW ioctl and CDROMREADTOCENTRY fix
+126722   assertion: segment_is_sane at m_aspacemgr/aspacemgr.c:1624
+126938   bad checking for syscalls linkat, renameat, symlinkat
+
+(3.2.0RC1: 27 May  2006, vex r1626, valgrind r5947).
+(3.2.0:     7 June 2006, vex r1628, valgrind r5957).
+
+
+Release 3.1.1 (15 March 2006)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.1.1 fixes a bunch of bugs reported in 3.1.0.  There is no new
+functionality.  The fixed bugs are:
+
+(note: "n-i-bz" means "not in bugzilla" -- this bug does not have
+ a bugzilla entry).
+
+n-i-bz   ppc32: fsub 3,3,3 in dispatcher doesn't clear NaNs
+n-i-bz   ppc32: __NR_{set,get}priority
+117332   x86: missing line info with icc 8.1
+117366   amd64: 0xDD 0x7C fnstsw
+118274   == 117366
+117367   amd64: 0xD9 0xF4 fxtract
+117369   amd64: __NR_getpriority (140)
+117419   ppc32: lfsu f5, -4(r11)
+117419   ppc32: fsqrt
+117936   more stabs problems (segfaults while reading debug info)
+119914   == 117936
+120345   == 117936
+118239   amd64: 0xF 0xAE 0x3F (clflush)
+118939   vm86old system call
+n-i-bz   memcheck/tests/mempool reads freed memory
+n-i-bz   AshleyP's custom-allocator assertion
+n-i-bz   Dirk strict-aliasing stuff
+n-i-bz   More space for debugger cmd line (Dan Thaler)
+n-i-bz   Clarified leak checker output message
+n-i-bz   AshleyP's --gen-suppressions output fix
+n-i-bz   cg_annotate's --sort option broken
+n-i-bz   OSet 64-bit fastcmp bug
+n-i-bz   VG_(getgroups) fix (Shinichi Noda)
+n-i-bz   ppc32: allocate from callee-saved FP/VMX regs
+n-i-bz   misaligned path word-size bug in mc_main.c
+119297   Incorrect error message for sse code
+120410   x86: prefetchw (0xF 0xD 0x48 0x4)
+120728   TIOCSERGETLSR, TIOCGICOUNT, HDIO_GET_DMA ioctls
+120658   Build fixes for gcc 2.96
+120734   x86: Support for changing EIP in signal handler
+n-i-bz   memcheck/tests/zeropage de-looping fix
+n-i-bz   x86: fxtract doesn't work reliably
+121662   x86: lock xadd (0xF0 0xF 0xC0 0x2)
+121893   calloc does not always return zeroed memory
+121901   no support for syscall tkill
+n-i-bz   Suppression update for Debian unstable
+122067   amd64: fcmovnu (0xDB 0xD9)
+n-i-bz   ppc32: broken signal handling in cpu feature detection
+n-i-bz   ppc32: rounding mode problems (improved, partial fix only)
+119482   ppc32: mtfsb1
+n-i-bz   ppc32: mtocrf/mfocrf
+
+(3.1.1:  15 March 2006, vex r1597, valgrind r5771).
+
+
+Release 3.1.0 (25 November 2005)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.1.0 is a feature release with a number of significant improvements:
+AMD64 support is much improved, PPC32 support is good enough to be
+usable, and the handling of memory management and address space is
+much more robust.  In detail:
+
+- AMD64 support is much improved.  The 64-bit vs. 32-bit issues in
+  3.0.X have been resolved, and it should "just work" now in all
+  cases.  On AMD64 machines both 64-bit and 32-bit versions of
+  Valgrind are built.  The right version will be invoked
+  automatically, even when using --trace-children and mixing execution
+  between 64-bit and 32-bit executables.  Also, many more instructions
+  are supported.
+
+- PPC32 support is now good enough to be usable.  It should work with
+  all tools, but please let us know if you have problems.  Three
+  classes of CPUs are supported: integer only (no FP, no Altivec),
+  which covers embedded PPC uses, integer and FP but no Altivec
+  (G3-ish), and CPUs capable of Altivec too (G4, G5).
+
+- Valgrind's address space management has been overhauled.  As a
+  result, Valgrind should be much more robust with programs that use
+  large amounts of memory.  There should be many fewer "memory
+  exhausted" messages, and debug symbols should be read correctly on
+  large (eg. 300MB+) executables.  On 32-bit machines the full address
+  space available to user programs (usually 3GB or 4GB) can be fully
+  utilised.  On 64-bit machines up to 32GB of space is usable; when
+  using Memcheck that means your program can use up to about 14GB.
+
+  A side effect of this change is that Valgrind is no longer protected
+  against wild writes by the client.  This feature was nice but relied
+  on the x86 segment registers and so wasn't portable.
+
+- Most users should not notice, but as part of the address space
+  manager change, the way Valgrind is built has been changed.  Each
+  tool is now built as a statically linked stand-alone executable,
+  rather than as a shared object that is dynamically linked with the
+  core.  The "valgrind" program invokes the appropriate tool depending
+  on the --tool option.  This slightly increases the amount of disk
+  space used by Valgrind, but it greatly simplified many things and
+  removed Valgrind's dependence on glibc.
+
+Please note that Addrcheck and Helgrind are still not working.  Work
+is underway to reinstate them (or equivalents).  We apologise for the
+inconvenience.
+
+Other user-visible changes:
+
+- The --weird-hacks option has been renamed --sim-hints.
+
+- The --time-stamp option no longer gives an absolute date and time.
+  It now prints the time elapsed since the program began.
+
+- It should build with gcc-2.96.
+
+- Valgrind can now run itself (see README_DEVELOPERS for how).
+  This is not much use to you, but it means the developers can now
+  profile Valgrind using Cachegrind.  As a result a couple of
+  performance bad cases have been fixed.
+
+- The XML output format has changed slightly.  See
+  docs/internals/xml-output.txt.
+
+- Core dumping has been reinstated (it was disabled in 3.0.0 and 3.0.1).
+  If your program crashes while running under Valgrind, a core file with
+  the name "vgcore.<pid>" will be created (if your settings allow core
+  file creation).  Note that the floating point information is not all
+  there.  If Valgrind itself crashes, the OS will create a normal core
+  file.
+
+The following are some user-visible changes that occurred in earlier
+versions that may not have been announced, or were announced but not
+widely noticed.  So we're mentioning them now.
+
+- The --tool flag is optional once again;  if you omit it, Memcheck
+  is run by default.
+
+- The --num-callers flag now has a default value of 12.  It was
+  previously 4.
+
+- The --xml=yes flag causes Valgrind's output to be produced in XML
+  format.  This is designed to make it easy for other programs to
+  consume Valgrind's output.  The format is described in the file
+  docs/internals/xml-format.txt.
+
+- The --gen-suppressions flag supports an "all" value that causes every
+  suppression to be printed without asking.
+
+- The --log-file option no longer puts "pid" in the filename, eg. the
+  old name "foo.pid12345" is now "foo.12345".
+
+- There are several graphical front-ends for Valgrind, such as Valkyrie,
+  Alleyoop and Valgui.  See http://www.valgrind.org/downloads/guis.html
+  for a list.
+
+BUGS FIXED:
+
+109861  amd64 hangs at startup
+110301  ditto
+111554  valgrind crashes with Cannot allocate memory
+111809  Memcheck tool doesn't start java
+111901  cross-platform run of cachegrind fails on opteron
+113468  (vgPlain_mprotect_range): Assertion 'r != -1' failed.
+ 92071  Reading debugging info uses too much memory
+109744  memcheck loses track of mmap from direct ld-linux.so.2
+110183  tail of page with _end
+ 82301  FV memory layout too rigid
+ 98278  Infinite recursion possible when allocating memory
+108994  Valgrind runs out of memory due to 133x overhead
+115643  valgrind cannot allocate memory
+105974  vg_hashtable.c static hash table
+109323  ppc32: dispatch.S uses Altivec insn, which doesn't work on POWER. 
+109345  ptrace_setregs not yet implemented for ppc
+110831  Would like to be able to run against both 32 and 64 bit 
+        binaries on AMD64
+110829  == 110831
+111781  compile of valgrind-3.0.0 fails on my linux (gcc 2.X prob)
+112670  Cachegrind: cg_main.c:486 (handleOneStatement ...
+112941  vex x86: 0xD9 0xF4 (fxtract)
+110201  == 112941
+113015  vex amd64->IR: 0xE3 0x14 0x48 0x83 (jrcxz)
+113126  Crash with binaries built with -gstabs+/-ggdb
+104065  == 113126
+115741  == 113126
+113403  Partial SSE3 support on x86
+113541  vex: Grp5(x86) (alt encoding inc/dec) case 1
+113642  valgrind crashes when trying to read debug information
+113810  vex x86->IR: 66 0F F6 (66 + PSADBW == SSE PSADBW)
+113796  read() and write() do not work if buffer is in shared memory
+113851  vex x86->IR: (pmaddwd): 0x66 0xF 0xF5 0xC7
+114366  vex amd64 cannnot handle __asm__( "fninit" )
+114412  vex amd64->IR: 0xF 0xAD 0xC2 0xD3 (128-bit shift, shrdq?)
+114455  vex amd64->IR: 0xF 0xAC 0xD0 0x1 (also shrdq)
+115590: amd64->IR: 0x67 0xE3 0x9 0xEB (address size override)
+115953  valgrind svn r5042 does not build with parallel make (-j3)
+116057  maximum instruction size - VG_MAX_INSTR_SZB too small?
+116483  shmat failes with invalid argument
+102202  valgrind crashes when realloc'ing until out of memory
+109487  == 102202
+110536  == 102202
+112687  == 102202
+111724  vex amd64->IR: 0x41 0xF 0xAB (more BT{,S,R,C} fun n games)
+111748  vex amd64->IR: 0xDD 0xE2 (fucom)
+111785  make fails if CC contains spaces
+111829  vex x86->IR: sbb AL, Ib
+111851  vex x86->IR: 0x9F 0x89 (lahf/sahf)
+112031  iopl on AMD64 and README_MISSING_SYSCALL_OR_IOCTL update
+112152  code generation for Xin_MFence on x86 with SSE0 subarch
+112167  == 112152
+112789  == 112152
+112199  naked ar tool is used in vex makefile
+112501  vex x86->IR: movq (0xF 0x7F 0xC1 0xF) (mmx MOVQ)
+113583  == 112501
+112538  memalign crash
+113190  Broken links in docs/html/
+113230  Valgrind sys_pipe on x86-64 wrongly thinks file descriptors
+        should be 64bit
+113996  vex amd64->IR: fucomp (0xDD 0xE9)
+114196  vex x86->IR: out %eax,(%dx) (0xEF 0xC9 0xC3 0x90)
+114289  Memcheck fails to intercept malloc when used in an uclibc environment
+114756  mbind syscall support
+114757  Valgrind dies with assertion: Assertion 'noLargerThan > 0' failed
+114563  stack tracking module not informed when valgrind switches threads
+114564  clone() and stacks
+114565  == 114564
+115496  glibc crashes trying to use sysinfo page
+116200  enable fsetxattr, fgetxattr, and fremovexattr for amd64
+
+(3.1.0RC1: 20 November 2005, vex r1466, valgrind r5224).
+(3.1.0:    26 November 2005, vex r1471, valgrind r5235).
+
+
+Release 3.0.1 (29 August 2005)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.0.1 fixes a bunch of bugs reported in 3.0.0.  There is no new
+functionality.  Some of the fixed bugs are critical, so if you
+use/distribute 3.0.0, an upgrade to 3.0.1 is recommended.  The fixed
+bugs are:
+
+(note: "n-i-bz" means "not in bugzilla" -- this bug does not have
+ a bugzilla entry).
+
+109313  (== 110505) x86 cmpxchg8b
+n-i-bz  x86: track but ignore changes to %eflags.AC (alignment check)
+110102  dis_op2_E_G(amd64)
+110202  x86 sys_waitpid(#286)
+110203  clock_getres(,0)
+110208  execve fail wrong retval
+110274  SSE1 now mandatory for x86
+110388  amd64 0xDD 0xD1
+110464  amd64 0xDC 0x1D FCOMP
+110478  amd64 0xF 0xD PREFETCH
+n-i-bz  XML <unique> printing wrong
+n-i-bz  Dirk r4359 (amd64 syscalls from trunk)
+110591  amd64 and x86: rdtsc not implemented properly
+n-i-bz  Nick r4384 (stub implementations of Addrcheck and Helgrind)
+110652  AMD64 valgrind crashes on cwtd instruction
+110653  AMD64 valgrind crashes on sarb $0x4,foo(%rip) instruction
+110656  PATH=/usr/bin::/bin valgrind foobar stats ./fooba
+110657  Small test fixes
+110671  vex x86->IR: unhandled instruction bytes: 0xF3 0xC3 (rep ret)
+n-i-bz  Nick (Cachegrind should not assert when it encounters a client
+        request.)
+110685  amd64->IR: unhandled instruction bytes: 0xE1 0x56 (loope Jb)
+110830  configuring with --host fails to build 32 bit on 64 bit target
+110875  Assertion when execve fails
+n-i-bz  Updates to Memcheck manual
+n-i-bz  Fixed broken malloc_usable_size()
+110898  opteron instructions missing: btq btsq btrq bsfq
+110954  x86->IR: unhandled instruction bytes: 0xE2 0xF6 (loop Jb)
+n-i-bz  Make suppressions work for "???" lines in stacktraces.
+111006  bogus warnings from linuxthreads
+111092  x86: dis_Grp2(Reg): unhandled case(x86) 
+111231  sctp_getladdrs() and sctp_getpaddrs() returns uninitialized
+        memory
+111102  (comment #4)   Fixed 64-bit unclean "silly arg" message
+n-i-bz  vex x86->IR: unhandled instruction bytes: 0x14 0x0
+n-i-bz  minor umount/fcntl wrapper fixes
+111090  Internal Error running Massif
+101204  noisy warning
+111513  Illegal opcode for SSE instruction (x86 movups)
+111555  VEX/Makefile: CC is set to gcc
+n-i-bz  Fix XML bugs in FAQ
+
+(3.0.1: 29 August 05,
+        vex/branches/VEX_3_0_BRANCH r1367,
+        valgrind/branches/VALGRIND_3_0_BRANCH r4574).
+
+
+
+Release 3.0.0 (3 August 2005)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+3.0.0 is a major overhaul of Valgrind.  The most significant user
+visible change is that Valgrind now supports architectures other than
+x86.  The new architectures it supports are AMD64 and PPC32, and the
+infrastructure is present for other architectures to be added later.
+
+AMD64 support works well, but has some shortcomings:
+
+- It generally won't be as solid as the x86 version.  For example,
+  support for more obscure instructions and system calls may be missing.
+  We will fix these as they arise.
+
+- Address space may be limited; see the point about
+  position-independent executables below.
+
+- If Valgrind is built on an AMD64 machine, it will only run 64-bit
+  executables.  If you want to run 32-bit x86 executables under Valgrind
+  on an AMD64, you will need to build Valgrind on an x86 machine and
+  copy it to the AMD64 machine.  And it probably won't work if you do
+  something tricky like exec'ing a 32-bit program from a 64-bit program
+  while using --trace-children=yes.  We hope to improve this situation
+  in the future.
+
+The PPC32 support is very basic.  It may not work reliably even for
+small programs, but it's a start.  Many thanks to Paul Mackerras for
+his great work that enabled this support.  We are working to make
+PPC32 usable as soon as possible.
+
+Other user-visible changes:
+
+- Valgrind is no longer built by default as a position-independent
+  executable (PIE), as this caused too many problems.
+
+  Without PIE enabled, AMD64 programs will only be able to access 2GB of
+  address space.  We will fix this eventually, but not for the moment.
+  
+  Use --enable-pie at configure-time to turn this on.
+
+- Support for programs that use stack-switching has been improved.  Use
+  the --max-stackframe flag for simple cases, and the
+  VALGRIND_STACK_REGISTER, VALGRIND_STACK_DEREGISTER and
+  VALGRIND_STACK_CHANGE client requests for trickier cases.
+
+- Support for programs that use self-modifying code has been improved,
+  in particular programs that put temporary code fragments on the stack.
+  This helps for C programs compiled with GCC that use nested functions,
+  and also Ada programs.  This is controlled with the --smc-check
+  flag, although the default setting should work in most cases.
+
+- Output can now be printed in XML format.  This should make it easier
+  for tools such as GUI front-ends and automated error-processing
+  schemes to use Valgrind output as input.  The --xml flag controls this.
+  As part of this change, ELF directory information is read from executables,
+  so absolute source file paths are available if needed.
+
+- Programs that allocate many heap blocks may run faster, due to
+  improvements in certain data structures.
+
+- Addrcheck is currently not working.  We hope to get it working again
+  soon.  Helgrind is still not working, as was the case for the 2.4.0
+  release.
+
+- The JITter has been completely rewritten, and is now in a separate
+  library, called Vex.  This enabled a lot of the user-visible changes,
+  such as new architecture support.  The new JIT unfortunately translates
+  more slowly than the old one, so programs may take longer to start.
+  We believe the code quality is produces is about the same, so once
+  started, programs should run at about the same speed.  Feedback about
+  this would be useful.
+
+  On the plus side, Vex and hence Memcheck tracks value flow properly
+  through floating point and vector registers, something the 2.X line
+  could not do.  That means that Memcheck is much more likely to be
+  usably accurate on vectorised code.
+
+- There is a subtle change to the way exiting of threaded programs
+  is handled.  In 3.0, Valgrind's final diagnostic output (leak check,
+  etc) is not printed until the last thread exits.  If the last thread
+  to exit was not the original thread which started the program, any
+  other process wait()-ing on this one to exit may conclude it has
+  finished before the diagnostic output is printed.  This may not be
+  what you expect.  2.X had a different scheme which avoided this
+  problem, but caused deadlocks under obscure circumstances, so we
+  are trying something different for 3.0.
+
+- Small changes in control log file naming which make it easier to
+  use valgrind for debugging MPI-based programs.  The relevant
+  new flags are --log-file-exactly= and --log-file-qualifier=.
+
+- As part of adding AMD64 support, DWARF2 CFI-based stack unwinding
+  support was added.  In principle this means Valgrind can produce
+  meaningful backtraces on x86 code compiled with -fomit-frame-pointer
+  providing you also compile your code with -fasynchronous-unwind-tables.
+
+- The documentation build system has been completely redone.
+  The documentation masters are now in XML format, and from that
+  HTML, PostScript and PDF documentation is generated.  As a result
+  the manual is now available in book form.  Note that the
+  documentation in the source tarballs is pre-built, so you don't need
+  any XML processing tools to build Valgrind from a tarball.
+
+Changes that are not user-visible:
+
+- The code has been massively overhauled in order to modularise it.
+  As a result we hope it is easier to navigate and understand.
+
+- Lots of code has been rewritten.
+
+BUGS FIXED:
+
+110046  sz == 4 assertion failed 
+109810  vex amd64->IR: unhandled instruction bytes: 0xA3 0x4C 0x70 0xD7
+109802  Add a plausible_stack_size command-line parameter ?
+109783  unhandled ioctl TIOCMGET (running hw detection tool discover) 
+109780  unhandled ioctl BLKSSZGET (running fdisk -l /dev/hda)
+109718  vex x86->IR: unhandled instruction: ffreep 
+109429  AMD64 unhandled syscall: 127 (sigpending)
+109401  false positive uninit in strchr from ld-linux.so.2
+109385  "stabs" parse failure 
+109378  amd64: unhandled instruction REP NOP
+109376  amd64: unhandled instruction LOOP Jb 
+109363  AMD64 unhandled instruction bytes 
+109362  AMD64 unhandled syscall: 24 (sched_yield)
+109358  fork() won't work with valgrind-3.0 SVN
+109332  amd64 unhandled instruction: ADC Ev, Gv
+109314  Bogus memcheck report on amd64
+108883  Crash; vg_memory.c:905 (vgPlain_init_shadow_range):
+        Assertion `vgPlain_defined_init_shadow_page()' failed.
+108349  mincore syscall parameter checked incorrectly 
+108059  build infrastructure: small update
+107524  epoll_ctl event parameter checked on EPOLL_CTL_DEL
+107123  Vex dies with unhandled instructions: 0xD9 0x31 0xF 0xAE
+106841  auxmap & openGL problems
+106713  SDL_Init causes valgrind to exit
+106352  setcontext and makecontext not handled correctly 
+106293  addresses beyond initial client stack allocation 
+        not checked in VALGRIND_DO_LEAK_CHECK
+106283  PIE client programs are loaded at address 0
+105831  Assertion `vgPlain_defined_init_shadow_page()' failed.
+105039  long run-times probably due to memory manager 
+104797  valgrind needs to be aware of BLKGETSIZE64
+103594  unhandled instruction: FICOM
+103320  Valgrind 2.4.0 fails to compile with gcc 3.4.3 and -O0
+103168  potentially memory leak in coregrind/ume.c 
+102039  bad permissions for mapped region at address 0xB7C73680
+101881  weird assertion problem
+101543  Support fadvise64 syscalls
+75247   x86_64/amd64 support (the biggest "bug" we have ever fixed)
+
+(3.0RC1: 27 July   05, vex r1303, valgrind r4283).
+(3.0.0:   3 August 05, vex r1313, valgrind r4316).
+
+
+
+Stable release 2.4.1 (1 August 2005)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+(The notes for this release have been lost.  Sorry!  It would have
+contained various bug fixes but no new features.)
+
+
+
+Stable release 2.4.0 (March 2005) -- CHANGES RELATIVE TO 2.2.0
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+2.4.0 brings many significant changes and bug fixes.  The most
+significant user-visible change is that we no longer supply our own
+pthread implementation.  Instead, Valgrind is finally capable of
+running the native thread library, either LinuxThreads or NPTL.
+
+This means our libpthread has gone, along with the bugs associated
+with it.  Valgrind now supports the kernel's threading syscalls, and
+lets you use your standard system libpthread.  As a result:
+
+* There are many fewer system dependencies and strange library-related
+  bugs.  There is a small performance improvement, and a large
+  stability improvement.
+
+* On the downside, Valgrind can no longer report misuses of the POSIX
+  PThreads API.  It also means that Helgrind currently does not work.
+  We hope to fix these problems in a future release.
+
+Note that running the native thread libraries does not mean Valgrind
+is able to provide genuine concurrent execution on SMPs.  We still
+impose the restriction that only one thread is running at any given
+time.
+
+There are many other significant changes too:
+
+* Memcheck is (once again) the default tool.
+
+* The default stack backtrace is now 12 call frames, rather than 4.
+
+* Suppressions can have up to 25 call frame matches, rather than 4.
+
+* Memcheck and Addrcheck use less memory.  Under some circumstances,
+  they no longer allocate shadow memory if there are large regions of
+  memory with the same A/V states - such as an mmaped file.
+
+* The memory-leak detector in Memcheck and Addrcheck has been
+  improved.  It now reports more types of memory leak, including
+  leaked cycles.  When reporting leaked memory, it can distinguish
+  between directly leaked memory (memory with no references), and
+  indirectly leaked memory (memory only referred to by other leaked
+  memory).
+
+* Memcheck's confusion over the effect of mprotect() has been fixed:
+  previously mprotect could erroneously mark undefined data as
+  defined.
+
+* Signal handling is much improved and should be very close to what
+  you get when running natively.  
+
+  One result of this is that Valgrind observes changes to sigcontexts
+  passed to signal handlers.  Such modifications will take effect when
+  the signal returns.  You will need to run with --single-step=yes to
+  make this useful.
+
+* Valgrind is built in Position Independent Executable (PIE) format if
+  your toolchain supports it.  This allows it to take advantage of all
+  the available address space on systems with 4Gbyte user address
+  spaces.
+
+* Valgrind can now run itself (requires PIE support).
+
+* Syscall arguments are now checked for validity.  Previously all
+  memory used by syscalls was checked, but now the actual values
+  passed are also checked.
+
+* Syscall wrappers are more robust against bad addresses being passed
+  to syscalls: they will fail with EFAULT rather than killing Valgrind
+  with SIGSEGV.
+
+* Because clone() is directly supported, some non-pthread uses of it
+  will work.  Partial sharing (where some resources are shared, and
+  some are not) is not supported.
+
+* open() and readlink() on /proc/self/exe are supported.
+
+BUGS FIXED:
+
+88520   pipe+fork+dup2 kills the main program
+88604 	Valgrind Aborts when using $VALGRIND_OPTS and user progra...
+88614 	valgrind: vg_libpthread.c:2323 (read): Assertion `read_pt...
+88703 	Stabs parser fails to handle ";"
+88886 	ioctl wrappers for TIOCMBIS and TIOCMBIC
+89032 	valgrind pthread_cond_timedwait fails
+89106 	the 'impossible' happened
+89139 	Missing sched_setaffinity & sched_getaffinity
+89198 	valgrind lacks support for SIOCSPGRP and SIOCGPGRP
+89263 	Missing ioctl translations for scsi-generic and CD playing
+89440 	tests/deadlock.c line endings
+89481 	`impossible' happened: EXEC FAILED
+89663 	valgrind 2.2.0 crash on Redhat 7.2
+89792 	Report pthread_mutex_lock() deadlocks instead of returnin...
+90111 	statvfs64 gives invalid error/warning
+90128 	crash+memory fault with stabs generated by gnat for a run...
+90778 	VALGRIND_CHECK_DEFINED() not as documented in memcheck.h
+90834 	cachegrind crashes at end of program without reporting re...
+91028 	valgrind: vg_memory.c:229 (vgPlain_unmap_range): Assertio...
+91162 	valgrind crash while debugging drivel 1.2.1
+91199 	Unimplemented function
+91325 	Signal routing does not propagate the siginfo structure
+91599 	Assertion `cv == ((void *)0)'
+91604 	rw_lookup clears orig and sends the NULL value to rw_new
+91821 	Small problems building valgrind with $top_builddir ne $t...
+91844 	signal 11 (SIGSEGV) at get_tcb (libpthread.c:86) in corec...
+92264 	UNIMPLEMENTED FUNCTION: pthread_condattr_setpshared
+92331 	per-target flags necessitate AM_PROG_CC_C_O
+92420 	valgrind doesn't compile with linux 2.6.8.1/9
+92513 	Valgrind 2.2.0 generates some warning messages
+92528 	vg_symtab2.c:170 (addLoc): Assertion `loc->size > 0' failed.
+93096 	unhandled ioctl 0x4B3A and 0x5601
+93117 	Tool and core interface versions do not match
+93128 	Can't run valgrind --tool=memcheck because of unimplement...
+93174 	Valgrind can crash if passed bad args to certain syscalls
+93309 	Stack frame in new thread is badly aligned
+93328 	Wrong types used with sys_sigprocmask()
+93763 	/usr/include/asm/msr.h is missing
+93776 	valgrind: vg_memory.c:508 (vgPlain_find_map_space): Asser...
+93810 	fcntl() argument checking a bit too strict
+94378 	Assertion `tst->sigqueue_head != tst->sigqueue_tail' failed.
+94429 	valgrind 2.2.0 segfault with mmap64 in glibc 2.3.3
+94645 	Impossible happened: PINSRW mem
+94953 	valgrind: the `impossible' happened: SIGSEGV
+95667 	Valgrind does not work with any KDE app
+96243 	Assertion 'res==0' failed
+96252 	stage2 loader of valgrind fails to allocate memory
+96520 	All programs crashing at _dl_start (in /lib/ld-2.3.3.so) ...
+96660 	ioctl CDROMREADTOCENTRY causes bogus warnings
+96747 	After looping in a segfault handler, the impossible happens
+96923 	Zero sized arrays crash valgrind trace back with SIGFPE
+96948 	valgrind stops with assertion failure regarding mmap2
+96966 	valgrind fails when application opens more than 16 sockets
+97398 	valgrind: vg_libpthread.c:2667 Assertion failed
+97407 	valgrind: vg_mylibc.c:1226 (vgPlain_safe_fd): Assertion `...
+97427 	"Warning: invalid file descriptor -1 in syscall close()" ...
+97785 	missing backtrace
+97792 	build in obj dir fails - autoconf / makefile cleanup
+97880 	pthread_mutex_lock fails from shared library (special ker...
+97975 	program aborts without ang VG messages
+98129 	Failed when open and close file 230000 times using stdio
+98175 	Crashes when using valgrind-2.2.0 with a program using al...
+98288 	Massif broken
+98303 	UNIMPLEMENTED FUNCTION pthread_condattr_setpshared
+98630 	failed--compilation missing warnings.pm, fails to make he...
+98756 	Cannot valgrind signal-heavy kdrive X server
+98966 	valgrinding the JVM fails with a sanity check assertion
+99035 	Valgrind crashes while profiling
+99142 	loops with message "Signal 11 being dropped from thread 0...
+99195 	threaded apps crash on thread start (using QThread::start...
+99348 	Assertion `vgPlain_lseek(core_fd, 0, 1) == phdrs[i].p_off...
+99568 	False negative due to mishandling of mprotect
+99738 	valgrind memcheck crashes on program that uses sigitimer
+99923 	0-sized allocations are reported as leaks
+99949 	program seg faults after exit()
+100036 	"newSuperblock's request for 1048576 bytes failed"
+100116 	valgrind: (pthread_cond_init): Assertion `sizeof(* cond) ...
+100486 	memcheck reports "valgrind: the `impossible' happened: V...
+100833 	second call to "mremap" fails with EINVAL
+101156 	(vgPlain_find_map_space): Assertion `(addr & ((1 << 12)-1...
+101173 	Assertion `recDepth >= 0 && recDepth < 500' failed
+101291 	creating threads in a forked process fails
+101313 	valgrind causes different behavior when resizing a window...
+101423 	segfault for c++ array of floats
+101562 	valgrind massif dies on SIGINT even with signal handler r...
+
+
+Stable release 2.2.0 (31 August 2004) -- CHANGES RELATIVE TO 2.0.0
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+2.2.0 brings nine months worth of improvements and bug fixes.  We
+believe it to be a worthy successor to 2.0.0.  There are literally
+hundreds of bug fixes and minor improvements.  There are also some
+fairly major user-visible changes:
+
+* A complete overhaul of handling of system calls and signals, and 
+  their interaction with threads.  In general, the accuracy of the 
+  system call, thread and signal simulations is much improved:
+
+  - Blocking system calls behave exactly as they do when running
+    natively (not on valgrind).  That is, if a syscall blocks only the
+    calling thread when running natively, than it behaves the same on
+    valgrind.  No more mysterious hangs because V doesn't know that some
+    syscall or other, should block only the calling thread.
+
+  - Interrupted syscalls should now give more faithful results.
+
+  - Signal contexts in signal handlers are supported.
+
+* Improvements to NPTL support to the extent that V now works 
+  properly on NPTL-only setups.
+
+* Greater isolation between Valgrind and the program being run, so
+  the program is less likely to inadvertently kill Valgrind by
+  doing wild writes.
+
+* Massif: a new space profiling tool.  Try it!  It's cool, and it'll
+  tell you in detail where and when your C/C++ code is allocating heap.
+  Draws pretty .ps pictures of memory use against time.  A potentially
+  powerful tool for making sense of your program's space use.
+
+* File descriptor leakage checks.  When enabled, Valgrind will print out
+  a list of open file descriptors on exit.
+
+* Improved SSE2/SSE3 support.
+
+* Time-stamped output; use --time-stamp=yes
+
+
+
+Stable release 2.2.0 (31 August 2004) -- CHANGES RELATIVE TO 2.1.2
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+2.2.0 is not much different from 2.1.2, released seven weeks ago.
+A number of bugs have been fixed, most notably #85658, which gave
+problems for quite a few people.  There have been many internal
+cleanups, but those are not user visible.
+
+The following bugs have been fixed since 2.1.2:
+
+85658   Assert in coregrind/vg_libpthread.c:2326 (open64) !=
+        (void*)0 failed
+        This bug was reported multiple times, and so the following
+        duplicates of it are also fixed: 87620, 85796, 85935, 86065, 
+        86919, 86988, 87917, 88156
+
+80716   Semaphore mapping bug caused by unmap (sem_destroy)
+        (Was fixed prior to 2.1.2)
+
+86987   semctl and shmctl syscalls family is not handled properly
+
+86696   valgrind 2.1.2 + RH AS2.1 + librt
+
+86730   valgrind locks up at end of run with assertion failure 
+        in __pthread_unwind
+
+86641   memcheck doesn't work with Mesa OpenGL/ATI on Suse 9.1
+        (also fixes 74298, a duplicate of this)
+
+85947   MMX/SSE unhandled instruction 'sfence'
+
+84978   Wrong error "Conditional jump or move depends on
+        uninitialised value" resulting from "sbbl %reg, %reg"
+
+86254   ssort() fails when signed int return type from comparison is 
+        too small to handle result of unsigned int subtraction
+
+87089   memalign( 4, xxx) makes valgrind assert
+
+86407   Add support for low-level parallel port driver ioctls.
+
+70587   Add timestamps to Valgrind output? (wishlist)
+
+84937   vg_libpthread.c:2505 (se_remap): Assertion `res == 0'
+        (fixed prior to 2.1.2)
+
+86317   cannot load libSDL-1.2.so.0 using valgrind
+
+86989   memcpy from mac_replace_strmem.c complains about
+        uninitialized pointers passed when length to copy is zero
+
+85811   gnu pascal symbol causes segmentation fault; ok in 2.0.0
+
+79138   writing to sbrk()'d memory causes segfault
+
+77369   sched deadlock while signal received during pthread_join
+        and the joined thread exited
+
+88115   In signal handler for SIGFPE,  siginfo->si_addr is wrong 
+        under Valgrind
+
+78765   Massif crashes on app exit if FP exceptions are enabled
+
+Additionally there are the following changes, which are not 
+connected to any bug report numbers, AFAICS:
+
+* Fix scary bug causing mis-identification of SSE stores vs
+  loads and so causing memcheck to sometimes give nonsense results
+  on SSE code.
+
+* Add support for the POSIX message queue system calls.
+
+* Fix to allow 32-bit Valgrind to run on AMD64 boxes.  Note: this does
+  NOT allow Valgrind to work with 64-bit executables - only with 32-bit
+  executables on an AMD64 box.
+
+* At configure time, only check whether linux/mii.h can be processed 
+  so that we don't generate ugly warnings by trying to compile it.
+
+* Add support for POSIX clocks and timers.
+
+
+
+Developer (cvs head) release 2.1.2 (18 July 2004)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+2.1.2 contains four months worth of bug fixes and refinements.
+Although officially a developer release, we believe it to be stable
+enough for widespread day-to-day use.  2.1.2 is pretty good, so try it
+first, although there is a chance it won't work.  If so then try 2.0.0
+and tell us what went wrong."  2.1.2 fixes a lot of problems present
+in 2.0.0 and is generally a much better product.
+
+Relative to 2.1.1, a large number of minor problems with 2.1.1 have
+been fixed, and so if you use 2.1.1 you should try 2.1.2.  Users of
+the last stable release, 2.0.0, might also want to try this release.
+
+The following bugs, and probably many more, have been fixed.  These
+are listed at http://bugs.kde.org.  Reporting a bug for valgrind in
+the http://bugs.kde.org is much more likely to get you a fix than
+mailing developers directly, so please continue to keep sending bugs
+there.
+
+76869   Crashes when running any tool under Fedora Core 2 test1
+        This fixes the problem with returning from a signal handler 
+        when VDSOs are turned off in FC2.
+
+69508   java 1.4.2 client fails with erroneous "stack size too small".
+        This fix makes more of the pthread stack attribute related 
+        functions work properly.  Java still doesn't work though.
+
+71906   malloc alignment should be 8, not 4
+        All memory returned by malloc/new etc is now at least
+        8-byte aligned.
+
+81970   vg_alloc_ThreadState: no free slots available
+        (closed because the workaround is simple: increase
+         VG_N_THREADS, rebuild and try again.)
+
+78514   Conditional jump or move depends on uninitialized value(s)
+        (a slight mishanding of FP code in memcheck)
+
+77952   pThread Support (crash) (due to initialisation-ordering probs)
+        (also 85118)
+
+80942   Addrcheck wasn't doing overlap checking as it should.
+78048   return NULL on malloc/new etc failure, instead of asserting
+73655   operator new() override in user .so files often doesn't get picked up
+83060   Valgrind does not handle native kernel AIO
+69872   Create proper coredumps after fatal signals
+82026   failure with new glibc versions: __libc_* functions are not exported
+70344   UNIMPLEMENTED FUNCTION: tcdrain 
+81297   Cancellation of pthread_cond_wait does not require mutex
+82872   Using debug info from additional packages (wishlist)
+83025   Support for ioctls FIGETBSZ and FIBMAP
+83340   Support for ioctl HDIO_GET_IDENTITY
+79714   Support for the semtimedop system call.
+77022   Support for ioctls FBIOGET_VSCREENINFO and FBIOGET_FSCREENINFO
+82098   hp2ps ansification (wishlist)
+83573   Valgrind SIGSEGV on execve
+82999   show which cmdline option was erroneous (wishlist)
+83040   make valgrind VPATH and distcheck-clean (wishlist)
+83998   Assertion `newfd > vgPlain_max_fd' failed (see below)
+82722   Unchecked mmap in as_pad leads to mysterious failures later
+78958   memcheck seg faults while running Mozilla 
+85416   Arguments with colon (e.g. --logsocket) ignored
+
+
+Additionally there are the following changes, which are not 
+connected to any bug report numbers, AFAICS:
+
+* Rearranged address space layout relative to 2.1.1, so that
+  Valgrind/tools will run out of memory later than currently in many
+  circumstances.  This is good news esp. for Calltree.  It should
+  be possible for client programs to allocate over 800MB of
+  memory when using memcheck now.
+
+* Improved checking when laying out memory.  Should hopefully avoid
+  the random segmentation faults that 2.1.1 sometimes caused.
+
+* Support for Fedora Core 2 and SuSE 9.1.  Improvements to NPTL
+  support to the extent that V now works properly on NPTL-only setups.
+
+* Renamed the following options:
+  --logfile-fd  -->  --log-fd
+  --logfile     -->  --log-file
+  --logsocket   -->  --log-socket
+  to be consistent with each other and other options (esp. --input-fd).
+
+* Add support for SIOCGMIIPHY, SIOCGMIIREG and SIOCSMIIREG ioctls and
+  improve the checking of other interface related ioctls.
+
+* Fix building with gcc-3.4.1.
+
+* Remove limit on number of semaphores supported.
+
+* Add support for syscalls: set_tid_address (258), acct (51).
+
+* Support instruction "repne movs" -- not official but seems to occur.
+
+* Implement an emulated soft limit for file descriptors in addition to
+  the current reserved area, which effectively acts as a hard limit. The
+  setrlimit system call now simply updates the emulated limits as best
+  as possible - the hard limit is not allowed to move at all and just
+  returns EPERM if you try and change it.  This should stop reductions
+  in the soft limit causing assertions when valgrind tries to allocate
+  descriptors from the reserved area.
+  (This actually came from bug #83998).
+
+* Major overhaul of Cachegrind implementation.  First user-visible change
+  is that cachegrind.out files are now typically 90% smaller than they
+  used to be;  code annotation times are correspondingly much smaller.
+  Second user-visible change is that hit/miss counts for code that is
+  unloaded at run-time is no longer dumped into a single "discard" pile,
+  but accurately preserved.
+
+* Client requests for telling valgrind about memory pools.
+
+
+
+Developer (cvs head) release 2.1.1 (12 March 2004)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+2.1.1 contains some internal structural changes needed for V's
+long-term future.  These don't affect end-users.  Most notable
+user-visible changes are:
+
+* Greater isolation between Valgrind and the program being run, so
+  the program is less likely to inadvertently kill Valgrind by
+  doing wild writes.
+
+* Massif: a new space profiling tool.  Try it!  It's cool, and it'll
+  tell you in detail where and when your C/C++ code is allocating heap.
+  Draws pretty .ps pictures of memory use against time.  A potentially
+  powerful tool for making sense of your program's space use.
+
+* Fixes for many bugs, including support for more SSE2/SSE3 instructions,
+  various signal/syscall things, and various problems with debug
+  info readers.
+
+* Support for glibc-2.3.3 based systems.
+
+We are now doing automatic overnight build-and-test runs on a variety
+of distros.  As a result, we believe 2.1.1 builds and runs on:
+Red Hat 7.2, 7.3, 8.0, 9, Fedora Core 1, SuSE 8.2, SuSE 9.
+
+
+The following bugs, and probably many more, have been fixed.  These
+are listed at http://bugs.kde.org.  Reporting a bug for valgrind in
+the http://bugs.kde.org is much more likely to get you a fix than
+mailing developers directly, so please continue to keep sending bugs
+there.
+
+69616   glibc 2.3.2 w/NPTL is massively different than what valgrind expects 
+69856   I don't know how to instrument MMXish stuff (Helgrind)
+73892   valgrind segfaults starting with Objective-C debug info 
+        (fix for S-type stabs)
+73145   Valgrind complains too much about close(<reserved fd>) 
+73902   Shadow memory allocation seems to fail on RedHat 8.0 
+68633   VG_N_SEMAPHORES too low (V itself was leaking semaphores)
+75099   impossible to trace multiprocess programs 
+76839   the `impossible' happened: disInstr: INT but not 0x80 ! 
+76762   vg_to_ucode.c:3748 (dis_push_segreg): Assertion `sz == 4' failed. 
+76747   cannot include valgrind.h in c++ program 
+76223   parsing B(3,10) gave NULL type => impossible happens 
+75604   shmdt handling problem 
+76416   Problems with gcc 3.4 snap 20040225 
+75614   using -gstabs when building your programs the `impossible' happened
+75787   Patch for some CDROM ioctls CDORM_GET_MCN, CDROM_SEND_PACKET,
+75294   gcc 3.4 snapshot's libstdc++ have unsupported instructions. 
+        (REP RET)
+73326   vg_symtab2.c:272 (addScopeRange): Assertion `range->size > 0' failed. 
+72596   not recognizing __libc_malloc 
+69489   Would like to attach ddd to running program 
+72781   Cachegrind crashes with kde programs 
+73055   Illegal operand at DXTCV11CompressBlockSSE2 (more SSE opcodes)
+73026   Descriptor leak check reports port numbers wrongly 
+71705   README_MISSING_SYSCALL_OR_IOCTL out of date 
+72643   Improve support for SSE/SSE2 instructions 
+72484   valgrind leaves it's own signal mask in place when execing 
+72650   Signal Handling always seems to restart system calls 
+72006   The mmap system call turns all errors in ENOMEM 
+71781   gdb attach is pretty useless 
+71180   unhandled instruction bytes: 0xF 0xAE 0x85 0xE8 
+69886   writes to zero page cause valgrind to assert on exit 
+71791   crash when valgrinding gimp 1.3 (stabs reader problem)
+69783   unhandled syscall: 218 
+69782   unhandled instruction bytes: 0x66 0xF 0x2B 0x80 
+70385   valgrind fails if the soft file descriptor limit is less 
+        than about 828
+69529   "rep; nop" should do a yield 
+70827   programs with lots of shared libraries report "mmap failed" 
+        for some of them when reading symbols 
+71028   glibc's strnlen is optimised enough to confuse valgrind 
+
+
+
+
+Unstable (cvs head) release 2.1.0 (15 December 2003)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+For whatever it's worth, 2.1.0 actually seems pretty darn stable to me
+(Julian).  It looks eminently usable, and given that it fixes some
+significant bugs, may well be worth using on a day-to-day basis.
+2.1.0 is known to build and pass regression tests on: SuSE 9, SuSE
+8.2, RedHat 8.
+
+2.1.0 most notably includes Jeremy Fitzhardinge's complete overhaul of
+handling of system calls and signals, and their interaction with
+threads.  In general, the accuracy of the system call, thread and
+signal simulations is much improved.  Specifically:
+
+- Blocking system calls behave exactly as they do when running
+  natively (not on valgrind).  That is, if a syscall blocks only the
+  calling thread when running natively, than it behaves the same on
+  valgrind.  No more mysterious hangs because V doesn't know that some
+  syscall or other, should block only the calling thread.
+
+- Interrupted syscalls should now give more faithful results.
+
+- Finally, signal contexts in signal handlers are supported.  As a
+  result, konqueror on SuSE 9 no longer segfaults when notified of
+  file changes in directories it is watching.
+
+Other changes:
+
+- Robert Walsh's file descriptor leakage checks.  When enabled,
+  Valgrind will print out a list of open file descriptors on
+  exit.  Along with each file descriptor, Valgrind prints out a stack
+  backtrace of where the file was opened and any details relating to the
+  file descriptor such as the file name or socket details.
+  To use, give: --track-fds=yes
+
+- Implemented a few more SSE/SSE2 instructions.
+
+- Less crud on the stack when you do 'where' inside a GDB attach.
+
+- Fixed the following bugs:
+  68360: Valgrind does not compile against 2.6.0-testX kernels
+  68525: CVS head doesn't compile on C90 compilers
+  68566: pkgconfig support (wishlist)
+  68588: Assertion `sz == 4' failed in vg_to_ucode.c (disInstr)
+  69140: valgrind not able to explicitly specify a path to a binary. 
+  69432: helgrind asserts encountering a MutexErr when there are 
+         EraserErr suppressions
+
+- Increase the max size of the translation cache from 200k average bbs
+  to 300k average bbs.  Programs on the size of OOo (680m17) are
+  thrashing the cache at the smaller size, creating large numbers of
+  retranslations and wasting significant time as a result.
+
+
+
+Stable release 2.0.0 (5 Nov 2003)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+2.0.0 improves SSE/SSE2 support, fixes some minor bugs, and
+improves support for SuSE 9 and the Red Hat "Severn" beta.
+
+- Further improvements to SSE/SSE2 support.  The entire test suite of
+  the GNU Scientific Library (gsl-1.4) compiled with Intel Icc 7.1
+  20030307Z '-g -O -xW' now works.  I think this gives pretty good
+  coverage of SSE/SSE2 floating point instructions, or at least the
+  subset emitted by Icc.
+
+- Also added support for the following instructions:
+    MOVNTDQ UCOMISD UNPCKLPS UNPCKHPS SQRTSS
+    PUSH/POP %{FS,GS}, and PUSH %CS (Nb: there is no POP %CS).
+
+- CFI support for GDB version 6.  Needed to enable newer GDBs
+  to figure out where they are when using --gdb-attach=yes.
+
+- Fix this:
+      mc_translate.c:1091 (memcheck_instrument): Assertion
+      `u_in->size == 4 || u_in->size == 16' failed.
+
+- Return an error rather than panicing when given a bad socketcall.
+
+- Fix checking of syscall rt_sigtimedwait().
+
+- Implement __NR_clock_gettime (syscall 265).  Needed on Red Hat Severn.
+
+- Fixed bug in overlap check in strncpy() -- it was assuming the src was 'n'
+  bytes long, when it could be shorter, which could cause false
+  positives.
+
+- Support use of select() for very large numbers of file descriptors.
+
+- Don't fail silently if the executable is statically linked, or is
+  setuid/setgid. Print an error message instead.
+
+- Support for old DWARF-1 format line number info.
+
+
+
+Snapshot 20031012 (12 October 2003)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Three months worth of bug fixes, roughly.  Most significant single
+change is improved SSE/SSE2 support, mostly thanks to Dirk Mueller.
+
+20031012 builds on Red Hat Fedora ("Severn") but doesn't really work
+(curiously, mozilla runs OK, but a modest "ls -l" bombs).  I hope to
+get a working version out soon.  It may or may not work ok on the
+forthcoming SuSE 9; I hear positive noises about it but haven't been
+able to verify this myself (not until I get hold of a copy of 9).
+
+A detailed list of changes, in no particular order:
+
+- Describe --gen-suppressions in the FAQ.
+
+- Syscall __NR_waitpid supported.
+
+- Minor MMX bug fix.
+
+- -v prints program's argv[] at startup.
+
+- More glibc-2.3 suppressions.
+
+- Suppressions for stack underrun bug(s) in the c++ support library
+  distributed with Intel Icc 7.0.
+
+- Fix problems reading /proc/self/maps.
+
+- Fix a couple of messages that should have been suppressed by -q, 
+  but weren't.
+
+- Make Addrcheck understand "Overlap" suppressions.
+
+- At startup, check if program is statically linked and bail out if so.
+
+- Cachegrind: Auto-detect Intel Pentium-M, also VIA Nehemiah
+
+- Memcheck/addrcheck: minor speed optimisations
+
+- Handle syscall __NR_brk more correctly than before.
+
+- Fixed incorrect allocate/free mismatch errors when using
+  operator new(unsigned, std::nothrow_t const&)
+  operator new[](unsigned, std::nothrow_t const&)
+
+- Support POSIX pthread spinlocks.
+
+- Fixups for clean compilation with gcc-3.3.1.
+
+- Implemented more opcodes: 
+    - push %es
+    - push %ds
+    - pop %es
+    - pop %ds
+    - movntq
+    - sfence
+    - pshufw
+    - pavgb
+    - ucomiss
+    - enter
+    - mov imm32, %esp
+    - all "in" and "out" opcodes
+    - inc/dec %esp
+    - A whole bunch of SSE/SSE2 instructions
+
+- Memcheck: don't bomb on SSE/SSE2 code.
+
+
+Snapshot 20030725 (25 July 2003)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Fixes some minor problems in 20030716.
+
+- Fix bugs in overlap checking for strcpy/memcpy etc.
+
+- Do overlap checking with Addrcheck as well as Memcheck.
+
+- Fix this:
+      Memcheck: the `impossible' happened:
+      get_error_name: unexpected type
+
+- Install headers needed to compile new skins.
+
+- Remove leading spaces and colon in the LD_LIBRARY_PATH / LD_PRELOAD
+  passed to non-traced children.
+
+- Fix file descriptor leak in valgrind-listener.
+
+- Fix longstanding bug in which the allocation point of a 
+  block resized by realloc was not correctly set.  This may
+  have caused confusing error messages.
+
+
+Snapshot 20030716 (16 July 2003)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+20030716 is a snapshot of our current CVS head (development) branch.
+This is the branch which will become valgrind-2.0.  It contains
+significant enhancements over the 1.9.X branch.
+
+Despite this being a snapshot of the CVS head, it is believed to be
+quite stable -- at least as stable as 1.9.6 or 1.0.4, if not more so
+-- and therefore suitable for widespread use.  Please let us know asap
+if it causes problems for you.
+
+Two reasons for releasing a snapshot now are:
+
+- It's been a while since 1.9.6, and this snapshot fixes
+  various problems that 1.9.6 has with threaded programs 
+  on glibc-2.3.X based systems.
+
+- So as to make available improvements in the 2.0 line.
+
+Major changes in 20030716, as compared to 1.9.6:
+
+- More fixes to threading support on glibc-2.3.1 and 2.3.2-based
+  systems (SuSE 8.2, Red Hat 9).  If you have had problems
+  with inconsistent/illogical behaviour of errno, h_errno or the DNS
+  resolver functions in threaded programs, 20030716 should improve
+  matters.  This snapshot seems stable enough to run OpenOffice.org
+  1.1rc on Red Hat 7.3, SuSE 8.2 and Red Hat 9, and that's a big
+  threaded app if ever I saw one.
+
+- Automatic generation of suppression records; you no longer
+  need to write them by hand.  Use --gen-suppressions=yes.
+
+- strcpy/memcpy/etc check their arguments for overlaps, when
+  running with the Memcheck or Addrcheck skins.
+
+- malloc_usable_size() is now supported.
+
+- new client requests:
+    - VALGRIND_COUNT_ERRORS, VALGRIND_COUNT_LEAKS: 
+      useful with regression testing
+    - VALGRIND_NON_SIMD_CALL[0123]: for running arbitrary functions 
+      on real CPU (use with caution!)
+
+- The GDB attach mechanism is more flexible.  Allow the GDB to
+  be run to be specified by --gdb-path=/path/to/gdb, and specify
+  which file descriptor V will read its input from with
+  --input-fd=<number>.
+
+- Cachegrind gives more accurate results (wasn't tracking instructions in
+  malloc() and friends previously, is now).
+
+- Complete support for the MMX instruction set.
+
+- Partial support for the SSE and SSE2 instruction sets.  Work for this
+  is ongoing.  About half the SSE/SSE2 instructions are done, so
+  some SSE based programs may work.  Currently you need to specify
+  --skin=addrcheck.  Basically not suitable for real use yet.
+
+- Significant speedups (10%-20%) for standard memory checking.
+
+- Fix assertion failure in pthread_once().
+
+- Fix this:
+    valgrind: vg_intercept.c:598 (vgAllRoadsLeadToRome_select): 
+              Assertion `ms_end >= ms_now' failed.
+
+- Implement pthread_mutexattr_setpshared.
+
+- Understand Pentium 4 branch hints.  Also implemented a couple more
+  obscure x86 instructions.
+
+- Lots of other minor bug fixes.
+
+- We have a decent regression test system, for the first time.
+  This doesn't help you directly, but it does make it a lot easier
+  for us to track the quality of the system, especially across
+  multiple linux distributions.  
+
+  You can run the regression tests with 'make regtest' after 'make
+  install' completes.  On SuSE 8.2 and Red Hat 9 I get this:
+ 
+     == 84 tests, 0 stderr failures, 0 stdout failures ==
+
+  On Red Hat 8, I get this:
+
+     == 84 tests, 2 stderr failures, 1 stdout failure ==
+     corecheck/tests/res_search               (stdout)
+     memcheck/tests/sigaltstack               (stderr)
+
+  sigaltstack is probably harmless.  res_search doesn't work
+  on R H 8 even running natively, so I'm not too worried.   
+
+  On Red Hat 7.3, a glibc-2.2.5 system, I get these harmless failures:
+
+     == 84 tests, 2 stderr failures, 1 stdout failure ==
+     corecheck/tests/pth_atfork1              (stdout)
+     corecheck/tests/pth_atfork1              (stderr)
+     memcheck/tests/sigaltstack               (stderr)
+
+  You need to run on a PII system, at least, since some tests
+  contain P6-specific instructions, and the test machine needs
+  access to the internet so that corecheck/tests/res_search
+  (a test that the DNS resolver works) can function.
+
+As ever, thanks for the vast amount of feedback :) and bug reports :(
+We may not answer all messages, but we do at least look at all of
+them, and tend to fix the most frequently reported bugs.
+
+
+
+Version 1.9.6 (7 May 2003 or thereabouts)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Major changes in 1.9.6:
+
+- Improved threading support for glibc >= 2.3.2 (SuSE 8.2,
+  RedHat 9, to name but two ...)  It turned out that 1.9.5
+  had problems with threading support on glibc >= 2.3.2,
+  usually manifested by threaded programs deadlocking in system calls,
+  or running unbelievably slowly.  Hopefully these are fixed now.  1.9.6
+  is the first valgrind which gives reasonable support for
+  glibc-2.3.2.  Also fixed a 2.3.2 problem with pthread_atfork().
+
+- Majorly expanded FAQ.txt.  We've added workarounds for all
+  common problems for which a workaround is known.
+
+Minor changes in 1.9.6:
+
+- Fix identification of the main thread's stack.  Incorrect
+  identification of it was causing some on-stack addresses to not get
+  identified as such.  This only affected the usefulness of some error
+  messages; the correctness of the checks made is unchanged.
+
+- Support for kernels >= 2.5.68.
+
+- Dummy implementations of __libc_current_sigrtmin, 
+  __libc_current_sigrtmax and __libc_allocate_rtsig, hopefully
+  good enough to keep alive programs which previously died for lack of
+  them.
+
+- Fix bug in the VALGRIND_DISCARD_TRANSLATIONS client request.
+
+- Fix bug in the DWARF2 debug line info loader, when instructions 
+  following each other have source lines far from each other 
+  (e.g. with inlined functions).
+
+- Debug info reading: read symbols from both "symtab" and "dynsym"
+  sections, rather than merely from the one that comes last in the
+  file.
+
+- New syscall support: prctl(), creat(), lookup_dcookie().
+
+- When checking calls to accept(), recvfrom(), getsocketopt(),
+  don't complain if buffer values are NULL.
+
+- Try and avoid assertion failures in
+  mash_LD_PRELOAD_and_LD_LIBRARY_PATH.
+
+- Minor bug fixes in cg_annotate.
+
+
+
+Version 1.9.5 (7 April 2003)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+It occurs to me that it would be helpful for valgrind users to record
+in the source distribution the changes in each release.  So I now
+attempt to mend my errant ways :-)  Changes in this and future releases
+will be documented in the NEWS file in the source distribution.
+
+Major changes in 1.9.5:
+
+- (Critical bug fix): Fix a bug in the FPU simulation.  This was
+  causing some floating point conditional tests not to work right.
+  Several people reported this.  If you had floating point code which
+  didn't work right on 1.9.1 to 1.9.4, it's worth trying 1.9.5.
+
+- Partial support for Red Hat 9.  RH9 uses the new Native Posix 
+  Threads Library (NPTL), instead of the older LinuxThreads.  
+  This potentially causes problems with V which will take some
+  time to correct.  In the meantime we have partially worked around
+  this, and so 1.9.5 works on RH9.  Threaded programs still work,
+  but they may deadlock, because some system calls (accept, read,
+  write, etc) which should be nonblocking, in fact do block.  This
+  is a known bug which we are looking into.
+
+  If you can, your best bet (unfortunately) is to avoid using 
+  1.9.5 on a Red Hat 9 system, or on any NPTL-based distribution.
+  If your glibc is 2.3.1 or earlier, you're almost certainly OK.
+
+Minor changes in 1.9.5:
+
+- Added some #errors to valgrind.h to ensure people don't include
+  it accidentally in their sources.  This is a change from 1.0.X
+  which was never properly documented.  The right thing to include
+  is now memcheck.h.  Some people reported problems and strange
+  behaviour when (incorrectly) including valgrind.h in code with 
+  1.9.1 -- 1.9.4.  This is no longer possible.
+
+- Add some __extension__ bits and pieces so that gcc configured
+  for valgrind-checking compiles even with -Werror.  If you
+  don't understand this, ignore it.  Of interest to gcc developers
+  only.
+
+- Removed a pointless check which caused problems interworking 
+  with Clearcase.  V would complain about shared objects whose
+  names did not end ".so", and refuse to run.  This is now fixed.
+  In fact it was fixed in 1.9.4 but not documented.
+
+- Fixed a bug causing an assertion failure of "waiters == 1"
+  somewhere in vg_scheduler.c, when running large threaded apps,
+  notably MySQL.
+
+- Add support for the munlock system call (124).
+
+Some comments about future releases:
+
+1.9.5 is, we hope, the most stable Valgrind so far.  It pretty much
+supersedes the 1.0.X branch.  If you are a valgrind packager, please
+consider making 1.9.5 available to your users.  You can regard the
+1.0.X branch as obsolete: 1.9.5 is stable and vastly superior.  There
+are no plans at all for further releases of the 1.0.X branch.
+
+If you want a leading-edge valgrind, consider building the cvs head
+(from SourceForge), or getting a snapshot of it.  Current cool stuff
+going in includes MMX support (done); SSE/SSE2 support (in progress),
+a significant (10-20%) performance improvement (done), and the usual
+large collection of minor changes.  Hopefully we will be able to
+improve our NPTL support, but no promises.
+
diff --git a/README b/README
index 4122991..075227f 100644
--- a/README
+++ b/README
@@ -32,7 +32,7 @@
 to make it portable.  Nonetheless, it is available for the following
 platforms: 
 
-- x86/Linux
+- X86/Linux
 - AMD64/Linux
 - PPC32/Linux
 - PPC64/Linux
@@ -40,8 +40,10 @@
 - x86/MacOSX
 - AMD64/MacOSX
 - S390X/Linux
+- MIPS32/Linux
+- MIPS64/Linux
 
-Note that AMD64 is just another name for x86-64, and Valgrind runs fine
+Note that AMD64 is just another name for x86_64, and Valgrind runs fine
 on Intel processors.  Also note that the core of MacOSX is called
 "Darwin" and this name is used sometimes.
 
diff --git a/README.android b/README.android
index 3c2eba0..82acd8d 100644
--- a/README.android
+++ b/README.android
@@ -2,15 +2,29 @@
 How to cross-compile for Android.  These notes were last updated on 
 17 Feb 2012, for Valgrind SVN revision 12390/2257.
 
-This is known to work at least for Android 4.0.3 running on a (rooted,
-AOSP build) Nexus S and also on the same on Motorola Xoom.  Android
-2.3.4 on Nexus S worked at some time in the past.  Other
-configurations and toolchains might work, but haven't been tested.
+This is known to work at least for :
+ARM:
+  Android 4.0.3 running on a (rooted, AOSP build) Nexus S.
+  Android 4.0.3 running on Motorola Xoom.
+  Android 4.0.3 running on android arm emulator.
+  Android 4.1   running on android emulator.
+  Android 2.3.4 on Nexus S worked at some time in the past.
+
+x86:
+  Android 4.0.3 running on android x86 emulator.
+
+On android-arm, GDBserver might insert breaks at wrong addresses.
+Feedback on this welcome.
+
+Other configurations and toolchains might work, but haven't been tested.
 Feedback is welcome.
 
+
 You need the android-ndk-r6 native development kit.  r6b and r7
 give a non-completely-working build; see
 http://code.google.com/p/android/issues/detail?id=23203
+For the android emulator, the versions needed and how to
+install them are described in README.android_emulator.
 
 Install it somewhere.  Doesn't matter where.  Then do this:
 
@@ -32,7 +46,8 @@
 # So choose one of the below:
 #
 export HWKIND=nexus_s         # Samsung Nexus S; also Xoom (for now)
-export HWKIND=pandaboard      # Pandaboard running Linaro Android
+export HWKIND=generic         # A generic Android device. eg, Pandaboard
+export HWKIND=emulator        # Android emulator
 
 # Then cd to the root of your Valgrind source tree.
 #
@@ -45,10 +60,16 @@
 
 # Set up toolchain paths.
 #
+# For ARM
 export AR=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ar
 export LD=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-ld
 export CC=$NDKROOT/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc
 
+# For x86
+export AR=$NDKROOT/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-android-linux-ar
+export LD=$NDKROOT/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-android-linux-ld
+export CC=$NDKROOT/toolchains/x86-4.4.3/prebuilt/linux-x86/bin/i686-android-linux-gcc
+
 
 # Do configuration stuff.  Don't mess with the --prefix in the
 # configure command below, even if you think it's wrong.
@@ -56,21 +77,37 @@
 # different if /sdcard doesn't work on the device -- this is
 # a known cause of difficulties.
 
+# The below re-generates configure, Makefiles, ...
+# This is not needed if you start from a release tarball.
 ./autogen.sh
 
+# for ARM
 CPPFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm -DANDROID_HARDWARE_$HWKIND" \
    CFLAGS="--sysroot=$NDKROOT/platforms/android-3/arch-arm" \
    ./configure --prefix=/data/local/Inst \
    --host=armv7-unknown-linux --target=armv7-unknown-linux \
    --with-tmpdir=/sdcard
+# note: on android emulator, android-14 platform was also tested and works.
+# It is not clear what this platform nr really is.
 
+# for x86
+CPPFLAGS="--sysroot=$NDKROOT/platforms/android-9/arch-x86 -DANDROID_HARDWARE_$HWKIND" \
+   CFLAGS="--sysroot=$NDKROOT/platforms/android-9/arch-x86 -fno-pic" \
+   ./configure --prefix=/data/local/Inst \
+   --host=i686-android-linux --target=i686-android-linux \
+   --with-tmpdir=/sdcard
 
 # At the end of the configure run, a few lines of details
 # are printed.  Make sure that you see these two lines:
 #
+# For ARM:
 #          Platform variant: android
 #     Primary -DVGPV string: -DVGPV_arm_linux_android=1
 #
+# For x86:
+#          Platform variant: android
+#     Primary -DVGPV string: -DVGPV_x86_linux_android=1
+#
 # If you see anything else at this point, something is wrong, and
 # either the build will fail, or will succeed but you'll get something
 # which won't work.
diff --git a/README.android_emulator b/README.android_emulator
new file mode 100644
index 0000000..7548959
--- /dev/null
+++ b/README.android_emulator
@@ -0,0 +1,73 @@
+
+How to install and run an android emulator.
+
+mkdir android # or any other place you prefer
+cd android
+
+# download java JDK
+# http://www.oracle.com/technetwork/java/javase/downloads/index.html
+# download android SDK
+# http://developer.android.com/sdk/index.html
+# download android NDK
+# http://developer.android.com/sdk/ndk/index.html
+
+# versions I used:
+#  jdk-7u4-linux-i586.tar.gz
+#  android-ndk-r8-linux-x86.tar.bz2
+#  android-sdk_r18-linux.tgz
+
+# install jdk
+tar xzf jdk-7u4-linux-i586.tar.gz
+
+# install sdk
+tar xzf android-sdk_r18-linux.tgz
+
+# install ndk
+tar xjf android-ndk-r8-linux-x86.tar.bz2
+
+
+# setup PATH to use the installed software:
+export SDKROOT=$HOME/android/android-sdk-linux
+export PATH=$PATH:$SDKROOT/tools:$SDKROOT/platform-tools
+export NDKROOT=$HOME/android/android-ndk-r8
+
+# install android platforms you want by starting:
+android 
+# (from $SDKROOT/tools)
+
+# select the platforms you need
+# I selected and installed:
+#   Android 4.0.3 (API 15)
+# Upgraded then to the newer version available:
+#     Android sdk 20
+#     Android platform tools 12
+
+# then define a virtual device:
+Tools -> Manage AVDs...
+# I define an AVD Name with 64 Mb SD Card, (4.0.3, api 15)
+# rest is default
+
+
+# compile and make install Valgrind, following README.android
+
+
+# Start your android emulator (it takes some time).
+# You can use adb shell to get a shell on the device
+# and see it is working. Note that I usually get
+# one or two time out from adb shell before it works
+adb shell
+
+# Once the emulator is ready, push your Valgrind to the emulator:
+adb push Inst /
+
+
+# if you need to debug:
+# You have on the android side a gdbserver
+# on the device side:
+gdbserver :1234 your_exe
+
+# on the host side:
+adb forward tcp:1234 tcp:1234
+$HOME/android/android-ndk-r8/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-x86/bin/arm-linux-androideabi-gdb your_exe
+target remote :1234
+
diff --git a/README.mips b/README.mips
new file mode 100644
index 0000000..bc5ae9c
--- /dev/null
+++ b/README.mips
@@ -0,0 +1,51 @@
+
+Supported platforms
+-------------------
+- MIPS32 and MIPS32r2 platforms are currently supported.
+- Both little-endian and big-endian cores are supported.
+
+
+Building V for MIPS
+-------------------
+- Native build is available for all supported platforms. The build system
+expects that native GCC is configured correctly and optimized for the platform.
+Yet, this may not be the case with some Debian distributions which configure
+GCC to compile to "mips1" by default. Depending on a target platform, using
+CFLAGS="-mips32r2" or CFLAGS="-mips32" will do the trick and compile Valgrind
+correctly.
+- Use of cross-toolchain is supported as well.
+- Example of configure line and additional configure options:
+
+   $ ./configure --host=mipsel-linux-gnu --prefix=<path_to_install_directory>
+        [--with-pagesize=<4|16|64>]
+
+ * --host=mips-linux-gnu is necessary only if Valgrind is built on platform
+   other then MIPS, tools for building MIPS application have to be in PATH.
+
+ * --with-pagesize option is used to set default PAGE SIZE. If option is not
+   used, PAGE SIZE is set to value default for platform on which Valgrind is
+   built on. Possible values are 4, 16 of 64 and represent size in kilobytes.
+
+ * --host=mips-linux-gnu is necessary if you compile it with cross toolchain
+   compiler for big endian platform.
+
+ * --host=mipsel-linux-gnu is necessary if you compile it with cross toolchain
+   compiler for little endian platform.
+
+ * --build=mips-linux is needed if you want to build it for MIPS32 on 64-bit
+   MIPS system.
+
+ * If you are compiling Valgrind with gcc version older then gcc (GCC) 4.5.1
+   you must specify CFLAGS="-mips32r2 -mplt", e.g.
+   ./configure --prefix=<path_to_install_directory>
+   CFLAGS="-mips32r2 -mplt"
+
+
+Limitations
+-----------
+- Currently, memcheck, massif, lackey, callgrind and none are supported.
+- Support for helgrind, drd and exp-ptrcheck is still incomplete.
+- Some Valgrind tests for MIPS expect mips32r2 architecture and will not
+compile when target is one of the older instruction sets.
+- Older GCC may have issues with some inline assembly blocks. Get a toolchain
+based on newer GCC versions, if possible.
diff --git a/README.s390 b/README.s390
index 034cc31..28e7f1f 100644
--- a/README.s390
+++ b/README.s390
@@ -11,13 +11,27 @@
 - 31-bit client programs are not supported.
 - Hexadecimal floating point is not supported.
 - Decimal floating point is not supported yet.
-- Currently, only memcheck, massif, lackey, and none are supported
+- memcheck, massif, lackey, and none are supported.
+- cachegrind is supported on z10 and newer models. On older models,
+  a z10 cache architecture will be assumed.
+- callgrind and all experimental tools are currently not supported.
 - helgrind and drd seem to work on SLES10,11 and RHEL5,6 on z9,z10 and z196
   but might fail on other hardware/software combinations.
 - Some gcc versions use mvc to copy 4/8 byte values. This will affect some
   debug messages. Valgrind will complain about 4 or 8 one-byte reads/writes
   instead of just 1 read/write.
-- exp-ptrcheck and callgrind are not supported.
+
+
+Hardware facilities
+-------------------
+Valgrind does not require that the host machine has the same hardware
+facilities as the machine for which the client program was compiled.
+This is convenient. The JIT compiler will translate the client instructions
+according to the facilities available on the host.
+This means, though, that probing for hardware facilities by issuing
+instructions from that facility and observing whether SIGILL is thrown
+may not work. As a consequence, programs that attempt to do so may
+behave differently. It is believed that this is a rare use case.
 
 
 Recommendations
@@ -31,6 +45,6 @@
 (1) Linux for zSeries ELF ABI Supplement
     http://refspecs.linuxfoundation.org/ELF/zSeries/index.html
 (2) z/Architecture Principles of Operation
-    http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr008.pdf
+    http://publibfi.boulder.ibm.com/epubs/pdf/dz9zr009.pdf
 (3) z/Architecture Reference Summary
-    http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs006.pdf
+    http://publibfi.boulder.ibm.com/epubs/pdf/dz9zs007.pdf
diff --git a/README_DEVELOPERS b/README_DEVELOPERS
index d09917a..2201fd6 100644
--- a/README_DEVELOPERS
+++ b/README_DEVELOPERS
@@ -111,9 +111,10 @@
 
     (gdb) b vgPlain_do_exec
 
-(5) Run the tool with required options:
+(5) Run the tool with required options (the --tool option is required
+    for correct setup), e.g.
 
-    (gdb) run pwd
+    (gdb) run --tool=lackey pwd
 
 Steps (1)--(3) can be put in a .gdbinit file, but any directory names must
 be fully expanded (ie. not an environment variable).
@@ -136,7 +137,15 @@
 
 Self-hosting
 ~~~~~~~~~~~~
-To run Valgrind under Valgrind:
+This section explains :
+  (A) How to configure Valgrind to run under Valgrind.
+      Such a setup is called self hosting, or outer/inner setup.
+  (B) How to run Valgrind regression tests in a 'self-hosting' mode,
+      e.g. to verify Valgrind has no bugs such as memory leaks.
+  (C) How to run Valgrind performance tests in a 'self-hosting' mode,
+      to analyse and optimise the performance of Valgrind and its tools.
+
+(A) How to configure Valgrind to run under Valgrind:
 
 (1) Check out 2 trees, "Inner" and "Outer".  Inner runs the app
     directly.  Outer runs Inner.
@@ -148,6 +157,7 @@
 (4) Choose a very simple program (date) and try
 
     outer/.../bin/valgrind --sim-hints=enable-outer --trace-children=yes  \
+       --smc-check=all-non-file \
        --run-libc-freeres=no --tool=cachegrind -v \
        inner/.../bin/valgrind --vgdb-prefix=./inner --tool=none -v prog
 
@@ -156,6 +166,10 @@
 it will try to find and run __libc_freeres in the inner, while libc is not
 used by the inner. Inner needs --vgdb-prefix=./inner to avoid inner
 gdbserver colliding with outer gdbserver.
+Currently, inner does *not* use the client request 
+VALGRIND_DISCARD_TRANSLATIONS for the JITted code or the code patched for
+translation chaining. So the outer needs --smc-check=all-non-file to
+detect the modified code.
 
 Debugging the whole thing might imply to use up to 3 GDB:
   * a GDB attached to the Outer valgrind, allowing
@@ -186,18 +200,19 @@
 When using self-hosting with an outer Callgrind tool, use '--pop-on-jump'
 (on the outer). Otherwise, Callgrind has much higher memory requirements. 
 
-Regression tests in an outer/inner setup:
+(B) Regression tests in an outer/inner setup:
+
  To run all the regression tests with an outer memcheck, do :
-   perl test/vg_regtest --outer-valgrind=../outer/.../bin/valgrind \
-                        --all
+   perl tests/vg_regtest --outer-valgrind=../outer/.../bin/valgrind \
+                         --all
 
  To run a specific regression tests with an outer memcheck, do:
-   perl test/vg_regtest --outer-valgrind=../outer/.../bin/valgrind \
-                        none/tests/args.vgtest
+   perl tests/vg_regtest --outer-valgrind=../outer/.../bin/valgrind \
+                         none/tests/args.vgtest
 
  To run regression tests with another outer tool:
    perl tests/vg_regtest --outer-valgrind=../outer/.../bin/valgrind \
-                         --outer-tool=helgrind " --all
+                         --outer-tool=helgrind --all
 
  --outer-args allows to give specific arguments to the outer tool,
  replacing the default one provided by vg_regtest.
@@ -211,6 +226,48 @@
 The file tests/outer_inner.supp contains suppressions for 
 the irrelevant or benign errors found in the inner.
 
+(C) Performance tests in an outer/inner setup:
+
+ To run all the performance tests with an outer cachegrind, do :
+    perl perf/vg_perf --outer-valgrind=../outer/.../bin/valgrind perf
+
+ To run a specific perf test (e.g. bz2) in this setup, do :
+    perl perf/vg_perf --outer-valgrind=../outer/.../bin/valgrind perf/bz2
+
+ To run all the performance tests with an outer callgrind, do :
+    perl perf/vg_perf --outer-valgrind=../outer/.../bin/valgrind \
+                      --outer-tool=callgrind perf
+
+ To compare the performance of multiple Valgrind versions, do :
+    perl perf/vg_perf --outer-valgrind=../outer/.../bin/valgrind \
+      --vg=../inner_xxxx --vg=../inner_yyyy perf
+  (where inner_xxxx and inner_yyyy are the versions to compare).
+  Cachegrind and cg_diff are particularly handy to obtain a delta
+  between the two versions.
+
+When the outer tool is callgrind or cachegrind, the following
+output files will be created for each test:
+   <outertoolname>.out.<inner_valgrind_dir>.<tt>.<perftestname>.<pid>
+   <outertoolname>.outer.log.<inner_valgrind_dir>.<tt>.<perftestname>.<pid>
+ (where tt is the two letters abbreviation for the inner tool(s) run).
+
+For example, the command
+    perl perf/vg_perf \
+      --outer-valgrind=../outer_trunk/install/bin/valgrind \
+      --outer-tool=callgrind \
+      --vg=../inner_tchain --vg=../inner_trunk perf/many-loss-records
+
+produces the files
+    callgrind.out.inner_tchain.no.many-loss-records.18465
+    callgrind.outer.log.inner_tchain.no.many-loss-records.18465
+    callgrind.out.inner_tchain.me.many-loss-records.21899
+    callgrind.outer.log.inner_tchain.me.many-loss-records.21899
+    callgrind.out.inner_trunk.no.many-loss-records.21224
+    callgrind.outer.log.inner_trunk.no.many-loss-records.21224
+    callgrind.out.inner_trunk.me.many-loss-records.22916
+    callgrind.outer.log.inner_trunk.me.many-loss-records.22916
+
+
 Printing out problematic blocks
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 If you want to print out a disassembly of a particular block that
diff --git a/auxprogs/Makefile.am b/auxprogs/Makefile.am
index c336b27..a9f4b03 100644
--- a/auxprogs/Makefile.am
+++ b/auxprogs/Makefile.am
@@ -21,16 +21,32 @@
 	primes.c
 
 #----------------------------------------------------------------------------
-# valgrind_listener (built for the primary target only)
+# valgrind_listener  (built for the primary target only)
+# valgrind-di-server (ditto)
 #----------------------------------------------------------------------------
 
-bin_PROGRAMS = valgrind-listener
+bin_PROGRAMS = valgrind-listener valgrind-di-server
 
 valgrind_listener_SOURCES = valgrind-listener.c
 valgrind_listener_CPPFLAGS  = $(AM_CPPFLAGS_PRI) -I$(top_srcdir)/coregrind
 valgrind_listener_CFLAGS    = $(AM_CFLAGS_PRI)
 valgrind_listener_CCASFLAGS = $(AM_CCASFLAGS_PRI)
 valgrind_listener_LDFLAGS   = $(AM_CFLAGS_PRI)
+if VGCONF_PLATVARIANT_IS_ANDROID
+valgrind_listener_CFLAGS    += -static
+endif
 if VGCONF_PLATFORMS_INCLUDE_X86_DARWIN
 valgrind_listener_LDFLAGS   += -Wl,-read_only_relocs -Wl,suppress
 endif
+
+valgrind_di_server_SOURCES   = valgrind-di-server.c
+valgrind_di_server_CPPFLAGS  = $(AM_CPPFLAGS_PRI) -I$(top_srcdir)/coregrind
+valgrind_di_server_CFLAGS    = $(AM_CFLAGS_PRI)
+valgrind_di_server_CCASFLAGS = $(AM_CCASFLAGS_PRI)
+valgrind_di_server_LDFLAGS   = $(AM_CFLAGS_PRI)
+if VGCONF_PLATVARIANT_IS_ANDROID
+valgrind_di_server_CFLAGS    += -static
+endif
+if VGCONF_PLATFORMS_INCLUDE_X86_DARWIN
+valgrind_di_server_LDFLAGS   += -Wl,-read_only_relocs -Wl,suppress
+endif
diff --git a/auxprogs/change-copyright-year b/auxprogs/change-copyright-year
index a377f8c..d6a50df 100755
--- a/auxprogs/change-copyright-year
+++ b/auxprogs/change-copyright-year
@@ -3,7 +3,7 @@
 # Script updates the copyright year in every file in Valgrind that contains
 # a copyright notice.  Assumes they're all in the same format:
 #
-#     "Copyright (C) 20xy-2010"
+#     "Copyright (C) 20xy-2011"
 #
 # where x can be 0 or 1 and y can be anything.
 # To use:
@@ -18,7 +18,12 @@
 # change them.
 for i in `find . -name '*.[chS]' -type f -not -path '*.svn\/*'` ; do
     echo $i
-    perl -p -e 's/Copyright \(C\) 20([0-1])([0-9])-2010/Copyright (C) 20$1$2-2011/' < $i > tmp.$$
+    perl -p -e 's/Copyright \(C\) 20([0-1])([0-9])-2011/Copyright (C) 20$1$2-2012/' < $i > tmp.$$
+    mv tmp.$$ $i
+
+# Copyright IBM Corp. 2010-2011
+
+    perl -p -e 's/Copyright IBM Corp. 20([0-1])([0-9])-2011/Copyright IBM Corp. 20$1$2-2012/' < $i > tmp.$$
     mv tmp.$$ $i
 done
 
diff --git a/auxprogs/gsl16test b/auxprogs/gsl16test
index 9beb73b..bd127d7 100755
--- a/auxprogs/gsl16test
+++ b/auxprogs/gsl16test
@@ -92,7 +92,7 @@
        "(cd gsl-1.6-patched && CC=$GSL_CC CFLAGS=\"$GSL_CFLAGS\" ./configure)" && \
 \
 runcmd "Building                      " \
-       "(cd gsl-1.6-patched && make && make -k check)"
+       "(cd gsl-1.6-patched && make -j4 && make -k check)"
 
 echo -n "   Collecting reference results  "
 rm -f out-REF
@@ -100,19 +100,19 @@
 echo "  ... done"
 
 echo -n "   Collecting valgrinded results "
-rm -f out-V
-(cd gsl-1.6-patched && for f in $ALL_TESTS ; do eval $GSL_VV -v --trace-children=yes "$GSL_VFLAGS" ./$f ; done) &> out-V
+rm -f out-VAL
+(cd gsl-1.6-patched && for f in $ALL_TESTS ; do eval $GSL_VV -v --trace-children=yes "$GSL_VFLAGS" ./$f ; done) &> out-VAL
 echo "  ... done"
 
 echo -n "   Native fails:    " && (grep FAIL: out-REF | wc -l)
 echo -n "   Native passes:   " && (grep PASS: out-REF | wc -l)
-echo -n "   Valgrind fails:  " && (grep FAIL: out-V | wc -l)
-echo -n "   Valgrind passes: " && (grep PASS: out-V | wc -l)
+echo -n "   Valgrind fails:  " && (grep FAIL: out-VAL | wc -l)
+echo -n "   Valgrind passes: " && (grep PASS: out-VAL | wc -l)
 
 (echo -n "   Native fails:    " && (grep FAIL: out-REF | wc -l)) >> summary.txt
 (echo -n "   Native passes:   " && (grep PASS: out-REF | wc -l)) >> summary.txt
-(echo -n "   Valgrind fails:  " && (grep FAIL: out-V | wc -l)) >> summary.txt
-(echo -n "   Valgrind passes: " && (grep PASS: out-V | wc -l)) >> summary.txt
+(echo -n "   Valgrind fails:  " && (grep FAIL: out-VAL | wc -l)) >> summary.txt
+(echo -n "   Valgrind passes: " && (grep PASS: out-VAL | wc -l)) >> summary.txt
 echo >> summary.txt
 
 echo
diff --git a/auxprogs/s390-check-opcodes.pl b/auxprogs/s390-check-opcodes.pl
index ab1aec4..180a3bc 100755
--- a/auxprogs/s390-check-opcodes.pl
+++ b/auxprogs/s390-check-opcodes.pl
@@ -26,6 +26,7 @@
 my %csv_desc = ();
 my %csv_implemented = ();
 my %toir_implemented = ();
+my %toir_decoded = ();
 
 
 #----------------------------------------------------
@@ -35,6 +36,7 @@
 while (my $line = <OPC>) {
     chomp $line;
     next if ($line =~ "^[ ]*#");   # comments
+    next if ($line =~ /^\s*$/);    # blank line
     my $description = (split /"/,$line)[1];
     my ($encoding,$mnemonic,$format) = split /\s+/,$line;
 
@@ -52,6 +54,43 @@
     next if ($mnemonic eq "jg");    # special case of brcl
     next if ($mnemonic eq "tmh");   # alternate mnemonic for tmlh
     next if ($mnemonic eq "tml");   # alternate mnemonic for tmll
+    next if ($mnemonic eq "lrdr");  # alternate mnemonic for ldxr
+    next if ($mnemonic eq "lrer");  # alternate mnemonic for ledr
+    next if ($mnemonic eq "me");    # alternate mnemonic for mde
+    next if ($mnemonic eq "mer");   # alternate mnemonic for mder
+    next if ($mnemonic eq "cuutf"); # alternate mnemonic for cu21
+    next if ($mnemonic eq "cutfu"); # alternate mnemonic for cu12
+
+    next if ($mnemonic eq "cfdbra"); # indistinguishable from cfdbr
+    next if ($mnemonic eq "cfebra"); # indistinguishable from cfebr
+    next if ($mnemonic eq "cfxbra"); # indistinguishable from cfxbr
+    next if ($mnemonic eq "cgdbra"); # indistinguishable from cgdbr
+    next if ($mnemonic eq "cgebra"); # indistinguishable from cgebr
+    next if ($mnemonic eq "cgxbra"); # indistinguishable from cgxbr
+    next if ($mnemonic eq "cdfbra"); # indistinguishable from cdfbr
+    next if ($mnemonic eq "cefbra"); # indistinguishable from cefbr
+    next if ($mnemonic eq "cxfbra"); # indistinguishable from cxfbr
+    next if ($mnemonic eq "cdgbra"); # indistinguishable from cdgbr
+    next if ($mnemonic eq "cegbra"); # indistinguishable from cegbr
+    next if ($mnemonic eq "cxgbra"); # indistinguishable from cxgbr
+    next if ($mnemonic eq "ldxbra"); # indistinguishable from ldxbr
+    next if ($mnemonic eq "lexbra"); # indistinguishable from lexbr
+    next if ($mnemonic eq "ledbra"); # indistinguishable from ledbr
+    next if ($mnemonic eq "cdgtra"); # indistinguishable from cdgtr
+    next if ($mnemonic eq "cxgtra"); # indistinguishable from cxgtr
+    next if ($mnemonic eq "cgdtra"); # indistinguishable from cgdtr
+    next if ($mnemonic eq "cgxtra"); # indistinguishable from cgxtr
+    next if ($mnemonic eq "fidbra"); # indistinguishable from fidbr
+    next if ($mnemonic eq "fiebra"); # indistinguishable from fiebr
+    next if ($mnemonic eq "fixbra"); # indistinguishable from fixbr
+    next if ($mnemonic eq "adtr");  # indistinguishable from adtra
+    next if ($mnemonic eq "axtr");  # indistinguishable from axtra
+    next if ($mnemonic eq "sdtr");  # indistinguishable from sdtra
+    next if ($mnemonic eq "sxtr");  # indistinguishable from sxtra
+    next if ($mnemonic eq "ddtr");  # indistinguishable from ddtra
+    next if ($mnemonic eq "dxtr");  # indistinguishable from dxtra
+    next if ($mnemonic eq "mdtr");  # indistinguishable from mdtra
+    next if ($mnemonic eq "mxtr");  # indistinguishable from mxtra
 
     $description =~ s/^[\s]+//g;    # remove leading blanks
     $description =~ s/[\s]+$//g;    # remove trailing blanks
@@ -88,6 +127,34 @@
     $mnemonic    =~ s/"//g;
     $description =~ s/"//g;
 
+    next if ($mnemonic eq "cfdbra"); # indistinguishable from cfdbr
+    next if ($mnemonic eq "cfebra"); # indistinguishable from cfebr
+    next if ($mnemonic eq "cfxbra"); # indistinguishable from cfxbr
+    next if ($mnemonic eq "cgdbra"); # indistinguishable from cgdbr
+    next if ($mnemonic eq "cgebra"); # indistinguishable from cgebr
+    next if ($mnemonic eq "cgxbra"); # indistinguishable from cgxbr
+    next if ($mnemonic eq "cdfbra"); # indistinguishable from cdfbr
+    next if ($mnemonic eq "cefbra"); # indistinguishable from cefbr
+    next if ($mnemonic eq "cxfbra"); # indistinguishable from cxfbr
+    next if ($mnemonic eq "cegbra"); # indistinguishable from cegbr
+    next if ($mnemonic eq "cdgbra"); # indistinguishable from cdgbr
+    next if ($mnemonic eq "cegbra"); # indistinguishable from cegbr
+    next if ($mnemonic eq "cxgbra"); # indistinguishable from cxgbr
+    next if ($mnemonic eq "ldxbra"); # indistinguishable from ldxbr
+    next if ($mnemonic eq "lexbra"); # indistinguishable from lexbr
+    next if ($mnemonic eq "ledbra"); # indistinguishable from ledbr
+    next if ($mnemonic eq "cdgtra"); # indistinguishable from cdgtr
+    next if ($mnemonic eq "cxgtra"); # indistinguishable from cxgtr
+    next if ($mnemonic eq "cgdtra"); # indistinguishable from cgdtr
+    next if ($mnemonic eq "cgxtra"); # indistinguishable from cgxtr
+    next if ($mnemonic eq "fidbra"); # indistinguishable from fidbr
+    next if ($mnemonic eq "fiebra"); # indistinguishable from fiebr
+    next if ($mnemonic eq "fixbra"); # indistinguishable from fixbr
+    next if ($mnemonic eq "adtr");   # indistinguishable from adtra
+    next if ($mnemonic eq "sdtr");   # indistinguishable from sdtra
+    next if ($mnemonic eq "ddtr");   # indistinguishable from ddtra
+    next if ($mnemonic eq "mdtr");   # indistinguishable from mdtra
+
 # Complain about duplicate entries. We don't want them.
     if ($csv_desc{$mnemonic}) {
         print "$mnemonic: duplicate entry\n";
@@ -112,8 +179,17 @@
 open(TOIR, "$toir_file") || die "cannot open $toir_file\n";
 while (my $line = <TOIR>) {
     chomp $line;
+    if ($line =~ /goto\s+unimplemented/) {
+        # Assume this is in the decoder
+        if ($line =~ /\/\*\s([A-Z][A-Z0-9]+)\s\*\//) {
+            my $mnemonic = $1;
+            $mnemonic =~ tr/A-Z/a-z/;
+            $toir_decoded{$mnemonic} = 1;
+#            print "DECODED: $mnemonic\n";
+        }
+    }
     next if (! ($line =~ /^s390_irgen_[A-Z]/));
-    $line =~ /^s390_irgen_([A-Z]+)/;
+    $line =~ /^s390_irgen_([A-Z][A-Z0-9]*)/;
     my $op = $1;
     $op =~ tr/A-Z/a-z/;
     $toir_implemented{$op} = 1;
@@ -135,11 +211,15 @@
 }
 
 #----------------------------------------------------
-# 2) Make sure opcodes descriptions are the same
+# 2) Make sure opcode descriptions are the same
 #----------------------------------------------------
 foreach my $opc (keys %opc_desc) {
-    if ($opc_desc{$opc} ne $csv_desc{$opc}) {
-        print "*** opcode $opc differs: $opc_desc{$opc}\n";
+    if (defined $csv_desc{$opc}) {
+        if ($opc_desc{$opc} ne $csv_desc{$opc}) {
+            print "*** opcode $opc differs:\n";
+        print "    binutils:    $opc_desc{$opc}\n";
+            print "    opcodes.csv: $csv_desc{$opc}\n";
+        }
     }
 }
 
@@ -158,5 +238,17 @@
     }
 }
 
+#----------------------------------------------------
+# 4) Make sure all opcodes are handled by the decoder
+#----------------------------------------------------
+
+# We only have to check those for which we don't generate IR.
+
+foreach my $opc (keys %opc_desc) {
+    if (! $toir_implemented{$opc} && ! $toir_decoded{$opc}) {
+        print "*** opcode $opc is not handled by the decoder\n";
+    }
+}
+
 print "there are " . int(keys %toir_implemented) . " implemented opcodes\n";
 exit 0
diff --git a/auxprogs/valgrind-di-server.c b/auxprogs/valgrind-di-server.c
new file mode 100644
index 0000000..06dfdf8
--- /dev/null
+++ b/auxprogs/valgrind-di-server.c
@@ -0,0 +1,1224 @@
+
+/*--------------------------------------------------------------------*/
+/*--- A simple debuginfo server for Valgrind.                      ---*/
+/*---                                         valgrind-di-server.c ---*/
+/*--------------------------------------------------------------------*/
+
+/* To build for an x86_64-linux host:
+      gcc -g -Wall -O -o valgrind-di-server \
+         auxprogs/valgrind-di-server.c -Icoregrind -Iinclude \
+         -IVEX/pub -DVGO_linux -DVGA_amd64
+
+   To build for an x86 (32-bit) host
+      The same, except change -DVGA_amd64 to -DVGA_x86
+*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2013-2013 Mozilla Foundation
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+/* Contributed by Julian Seward <jseward@acm.org> */
+
+/* This code works (just), but it's a mess.  Cleanups (also for
+   coregrind/m_debuginfo/image.c):
+
+   * Build this file for the host arch, not the target.  But how?
+     Even Tromey had difficulty figuring out how to do that.
+
+   * Change the use of pread w/ fd to FILE*, for the file we're
+     serving.  Or, at least, put a loop around the pread uses
+     so that it works correctly in the case where pread reads more
+     than zero but less than we asked for.
+
+   * CRC3 request/response: pass session-IDs back and forth and
+     check them
+
+   * Check that all error cases result in a FAIL frame being returned.
+
+   * image.c: don't assert in cases where a FAIL frame is returned;
+     instead cause the debuginfo reading to fail gracefully.  (Not
+     sure how to do this)
+
+   * Improve diagnostic printing
+
+   * image.c: do we need to do VG_(write_socket) ?  Will it work
+     just to use ordinary VG_(write) ?
+
+   * Both files: document the reason for setting TCP_NODELAY
+
+   * Add a command line argument saying where the served-from
+     directory is -- changes clo_serverpath.
+
+   * Fix up (common up) massive code duplication between client and
+     server.
+
+   * Tidy up the LZO source files; integrate properly in the build
+     system.
+*/
+
+/*---------------------------------------------------------------*/
+
+/* Include valgrind headers before system headers to avoid problems
+   with the system headers #defining things which are used as names
+   of structure members in vki headers. */
+
+#include "pub_core_basics.h"
+#include "pub_core_libcassert.h"    // For VG_BUGS_TO
+#include "pub_core_vki.h"           // Avoids warnings from 
+                                    // pub_core_libcfile.h
+#include "pub_core_libcfile.h"      // For VG_CLO_DEFAULT_LOGPORT
+
+#include <stdio.h>
+#include <unistd.h>
+#include <string.h>
+#include <time.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <signal.h>
+#include <sys/poll.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <sys/stat.h>
+#include <netinet/tcp.h>
+
+#include "../coregrind/m_debuginfo/minilzo.h"
+
+/*---------------------------------------------------------------*/
+
+/* The maximum allowable number concurrent connections. */
+#define M_CONNECTIONS 50
+
+static const char* clo_serverpath = ".";
+
+
+/*---------------------------------------------------------------*/
+
+__attribute__ ((noreturn))
+static void panic ( const char* str )
+{
+   fprintf(stderr,
+           "\nvalgrind-di-server: the "
+           "'impossible' happened:\n   %s\n", str);
+   fprintf(stderr,
+           "Please report this bug at: %s\n\n", VG_BUGS_TO);
+   exit(1);
+}
+
+__attribute__ ((noreturn))
+static void my_assert_fail ( const char* expr, const char* file, int line, const char* fn )
+{
+   fprintf(stderr,
+           "\nvalgrind-di-server: %s:%d (%s): Assertion '%s' failed.\n",
+           file, line, fn, expr );
+   fprintf(stderr,
+           "Please report this bug at: %s\n\n", VG_BUGS_TO);
+   exit(1);
+}
+
+#undef assert
+
+#define assert(expr)                                             \
+  ((void) ((expr) ? 0 :					         \
+	   (my_assert_fail (VG_STRINGIFY(expr),	                 \
+                            __FILE__, __LINE__,                  \
+                            __PRETTY_FUNCTION__), 0)))
+
+
+/*---------------------------------------------------------------*/
+
+/* Holds the state that we need to track, for each connection. */
+typedef
+   struct {
+      // is this entry in use?
+      Bool in_use;
+      // socket descriptor to communicate with client.  Initialised as
+      // soon as this entry is created.
+      int  conn_sd;
+      // fd for the file that we are connected to.  Zero if not
+      // currently connected to any file.
+      int   file_fd;
+      ULong file_size;
+      // Session ID
+      ULong session_id;
+      // How many bytes and chunks sent?
+      ULong stats_n_rdok_frames;
+      ULong stats_n_read_unz_bytes; // bytes via READ (uncompressed)
+      ULong stats_n_read_z_bytes;   // bytes via READ (compressed)
+   }
+   ConnState;
+
+/* The state itself. */
+static int       conn_count = 0;
+static ConnState conn_state[M_CONNECTIONS];
+
+/* Issues unique session ID values. */
+static ULong next_session_id = 1;
+
+
+/*---------------------------------------------------------------*/
+
+// Code that is duplicated with the client :-(
+
+/* The following Adler-32 checksum code is taken from zlib-1.2.3, which
+   has the following copyright notice. */
+/*
+Copyright notice:
+
+ (C) 1995-2004 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+If you use the zlib library in a product, we would appreciate *not*
+receiving lengthy legal documents to sign. The sources are provided
+for free but without warranty of any kind.  The library has been
+entirely written by Jean-loup Gailly and Mark Adler; it does not
+include third-party code.
+
+If you redistribute modified sources, we would appreciate that you include
+in the file ChangeLog history information documenting your changes. Please
+read the FAQ for more information on the distribution of modified source
+versions.
+*/
+
+/* Update a running Adler-32 checksum with the bytes buf[0..len-1] and
+   return the updated checksum. If buf is NULL, this function returns
+   the required initial value for the checksum. An Adler-32 checksum is
+   almost as reliable as a CRC32 but can be computed much faster. */
+static
+UInt adler32( UInt adler, const UChar* buf, UInt len )
+{
+#  define BASE 65521UL    /* largest prime smaller than 65536 */
+#  define NMAX 5552
+   /* NMAX is the largest n such that 
+      255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
+
+#  define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
+#  define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
+#  define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
+#  define DO8(buf,i)  DO4(buf,i); DO4(buf,i+4);
+#  define DO16(buf)   DO8(buf,0); DO8(buf,8);
+
+   /* The zlib sources recommend this definition of MOD if the
+      processor cannot do integer division in hardware. */
+#  define MOD(a) \
+      do { \
+          if (a >= (BASE << 16)) a -= (BASE << 16); \
+          if (a >= (BASE << 15)) a -= (BASE << 15); \
+          if (a >= (BASE << 14)) a -= (BASE << 14); \
+          if (a >= (BASE << 13)) a -= (BASE << 13); \
+          if (a >= (BASE << 12)) a -= (BASE << 12); \
+          if (a >= (BASE << 11)) a -= (BASE << 11); \
+          if (a >= (BASE << 10)) a -= (BASE << 10); \
+          if (a >= (BASE << 9)) a -= (BASE << 9); \
+          if (a >= (BASE << 8)) a -= (BASE << 8); \
+          if (a >= (BASE << 7)) a -= (BASE << 7); \
+          if (a >= (BASE << 6)) a -= (BASE << 6); \
+          if (a >= (BASE << 5)) a -= (BASE << 5); \
+          if (a >= (BASE << 4)) a -= (BASE << 4); \
+          if (a >= (BASE << 3)) a -= (BASE << 3); \
+          if (a >= (BASE << 2)) a -= (BASE << 2); \
+          if (a >= (BASE << 1)) a -= (BASE << 1); \
+          if (a >= BASE) a -= BASE; \
+      } while (0)
+#  define MOD4(a) \
+      do { \
+          if (a >= (BASE << 4)) a -= (BASE << 4); \
+          if (a >= (BASE << 3)) a -= (BASE << 3); \
+          if (a >= (BASE << 2)) a -= (BASE << 2); \
+          if (a >= (BASE << 1)) a -= (BASE << 1); \
+          if (a >= BASE) a -= BASE; \
+      } while (0)
+
+    UInt sum2;
+    UInt n;
+
+    /* split Adler-32 into component sums */
+    sum2 = (adler >> 16) & 0xffff;
+    adler &= 0xffff;
+
+    /* in case user likes doing a byte at a time, keep it fast */
+    if (len == 1) {
+        adler += buf[0];
+        if (adler >= BASE)
+            adler -= BASE;
+        sum2 += adler;
+        if (sum2 >= BASE)
+            sum2 -= BASE;
+        return adler | (sum2 << 16);
+    }
+
+    /* initial Adler-32 value (deferred check for len == 1 speed) */
+    if (buf == NULL)
+        return 1L;
+
+    /* in case short lengths are provided, keep it somewhat fast */
+    if (len < 16) {
+        while (len--) {
+            adler += *buf++;
+            sum2 += adler;
+        }
+        if (adler >= BASE)
+            adler -= BASE;
+        MOD4(sum2);             /* only added so many BASE's */
+        return adler | (sum2 << 16);
+    }
+
+    /* do length NMAX blocks -- requires just one modulo operation */
+    while (len >= NMAX) {
+        len -= NMAX;
+        n = NMAX / 16;          /* NMAX is divisible by 16 */
+        do {
+            DO16(buf);          /* 16 sums unrolled */
+            buf += 16;
+        } while (--n);
+        MOD(adler);
+        MOD(sum2);
+    }
+
+    /* do remaining bytes (less than NMAX, still just one modulo) */
+    if (len) {                  /* avoid modulos if none remaining */
+        while (len >= 16) {
+            len -= 16;
+            DO16(buf);
+            buf += 16;
+        }
+        while (len--) {
+            adler += *buf++;
+            sum2 += adler;
+        }
+        MOD(adler);
+        MOD(sum2);
+    }
+
+    /* return recombined sums */
+    return adler | (sum2 << 16);
+
+#  undef MOD4
+#  undef MOD
+#  undef DO16
+#  undef DO8
+#  undef DO4
+#  undef DO2
+#  undef DO1
+#  undef NMAX
+#  undef BASE
+}
+
+
+/* A frame.  The first 4 bytes of |data| give the kind of the frame,
+   and the rest of it is kind-specific data. */
+typedef  struct { UChar* data; SizeT n_data; }  Frame;
+
+
+static void write_UInt_le ( /*OUT*/UChar* dst, UInt n )
+{
+   Int i;
+   for (i = 0; i <= 3; i++) {
+      dst[i] = (UChar)(n & 0xFF);
+      n >>= 8;
+   }
+}
+
+static UInt read_UInt_le ( UChar* src )
+{
+   UInt r = 0;
+   Int i;
+   for (i = 3; i >= 0; i--) {
+      r <<= 8;
+      r += (UInt)src[i];
+   }
+   return r;
+}
+
+static void write_ULong_le ( /*OUT*/UChar* dst, ULong n )
+{
+   Int i;
+   for (i = 0; i <= 7; i++) {
+      dst[i] = (UChar)(n & 0xFF);
+      n >>= 8;
+   }
+}
+
+static ULong read_ULong_le ( UChar* src )
+{
+   ULong r = 0;
+   Int i;
+   for (i = 7; i >= 0; i--) {
+      r <<= 8;
+      r += (ULong)src[i];
+   }
+   return r;
+}
+
+static Frame* mk_Frame_asciiz ( const char* tag, const char* str )
+{
+   assert(strlen(tag) == 4);
+   Frame* f = calloc(sizeof(Frame), 1);
+   size_t n_str = strlen(str);
+   f->n_data = 4 + n_str + 1;
+   f->data = calloc(f->n_data, 1);
+   memcpy(&f->data[0], tag, 4);
+   memcpy(&f->data[4], str, n_str);
+   assert(f->data[4 + n_str] == 0);
+   return f;
+}
+
+static Bool parse_Frame_noargs ( Frame* fr, const HChar* tag )
+{
+   assert(strlen(tag) == 4);
+   if (!fr || !fr->data) return False;
+   if (fr->n_data < 4) return False;
+   if (memcmp(&fr->data[0], tag, 4) != 0) return False;
+   if (fr->n_data != 4) return False;
+   return True;
+}
+
+static Bool parse_Frame_asciiz ( Frame* fr, const HChar* tag,
+                                 /*OUT*/UChar** str )
+{
+   assert(strlen(tag) == 4);
+   if (!fr || !fr->data) return False;
+   if (fr->n_data < 4) return False;
+   if (memcmp(&fr->data[0], tag, 4) != 0) return False;
+   if (fr->n_data < 5) return False; // else there isn't even enough
+                                     // space for the terminating zero
+   /* Find the terminating zero and ensure it's right at the end
+      of the data.  If not, the frame is malformed. */
+   SizeT i = 4;
+   while (True) {
+      if (i >= fr->n_data) break;
+      if (fr->data[i] == 0) break;
+      i++;
+   }
+   assert(i <= fr->n_data);
+   if (i == fr->n_data-1 && fr->data[i] == 0) {
+      *str = &fr->data[4];
+      return True;
+   } else {
+      return False;
+   }
+}
+
+static Frame* mk_Frame_le64 ( const HChar* tag, ULong n1 )
+{
+   assert(strlen(tag) == 4);
+   Frame* f = calloc(sizeof(Frame), 1);
+   f->n_data = 4 + 1*8;
+   f->data = calloc(f->n_data, 1);
+   memcpy(&f->data[0], tag, 4);
+   write_ULong_le(&f->data[4 + 0*8], n1);
+   return f;
+}
+
+static Frame* mk_Frame_le64_le64 ( const HChar* tag, ULong n1, ULong n2 )
+{
+   assert(strlen(tag) == 4);
+   Frame* f = calloc(sizeof(Frame), 1);
+   f->n_data = 4 + 2*8;
+   f->data = calloc(f->n_data, 1);
+   memcpy(&f->data[0], tag, 4);
+   write_ULong_le(&f->data[4 + 0*8], n1);
+   write_ULong_le(&f->data[4 + 1*8], n2);
+   return f;
+}
+
+static Bool parse_Frame_le64_le64_le64 ( Frame* fr, const HChar* tag,
+                                         /*OUT*/ULong* n1, /*OUT*/ULong* n2,
+                                         /*OUT*/ULong* n3 )
+{
+   assert(strlen(tag) == 4);
+   if (!fr || !fr->data) return False;
+   if (fr->n_data < 4) return False;
+   if (memcmp(&fr->data[0], tag, 4) != 0) return False;
+   if (fr->n_data != 4 + 3*8) return False;
+   *n1 = read_ULong_le(&fr->data[4 + 0*8]);
+   *n2 = read_ULong_le(&fr->data[4 + 1*8]);
+   *n3 = read_ULong_le(&fr->data[4 + 2*8]);
+   return True;
+}
+
+static Frame* mk_Frame_le64_le64_le64_bytes ( 
+                 const HChar* tag,
+                 ULong n1, ULong n2, ULong n3, ULong n_data,
+                 /*OUT*/UChar** data )
+{
+   assert(strlen(tag) == 4);
+   Frame* f = calloc(sizeof(Frame), 1);
+   f->n_data = 4 + 3*8 + n_data;
+   f->data = calloc(f->n_data, 1);
+   memcpy(&f->data[0], tag, 4);
+   write_ULong_le(&f->data[4 + 0*8], n1);
+   write_ULong_le(&f->data[4 + 1*8], n2);
+   write_ULong_le(&f->data[4 + 2*8], n3);
+   *data = &f->data[4 + 3*8];
+   return f;
+}
+
+static void free_Frame ( Frame* fr )
+{
+   assert(fr && fr->data);
+   free(fr->data);
+   free(fr);
+}
+
+
+static void set_blocking ( int sd )
+{
+   int res;
+   res = fcntl(sd, F_GETFL);
+   res = fcntl(sd, F_SETFL, res & ~O_NONBLOCK);
+   if (res != 0) {
+      perror("fcntl failed");
+      panic("set_blocking");
+   }
+}
+
+
+#if 0
+static void set_nonblocking ( int sd )
+{
+   int res;
+   res = fcntl(sd, F_GETFL);
+   res = fcntl(sd, F_SETFL, res | O_NONBLOCK);
+   if (res != 0) {
+      perror("fcntl failed");
+      panic("set_nonblocking");
+   }
+}
+#endif
+
+
+/* Tries to read 'len' bytes from fd, blocking if necessary.  Assumes
+   fd has been set in blocking mode.  If it returns with the number of
+   bytes read < len, it means that either fd was closed, or there was
+   an error on it. */
+static SizeT my_read ( Int fd, UChar* buf, SizeT len )
+{
+  //set_blocking(fd);
+   SizeT nRead = 0;
+   while (1) {
+      if (nRead == len) return nRead;
+      assert(nRead < len);
+      SizeT nNeeded = len - nRead;
+      assert(nNeeded > 0);
+      SSizeT n = read(fd, &buf[nRead], nNeeded);
+      if (n <= 0) return nRead; /* error or EOF */
+      nRead += n;
+   }
+}
+
+/* Tries to write 'len' bytes to fd, blocking if necessary.  Assumes
+   fd has been set in blocking mode.  If it returns with the number of
+   bytes written < len, it means that either fd was closed, or there was
+   an error on it. */
+static SizeT my_write ( Int fd, UChar* buf, SizeT len )
+{
+  //set_nonblocking(fd);
+   SizeT nWritten = 0;
+   while (1) {
+      if (nWritten == len) return nWritten;
+      assert(nWritten < len);
+      SizeT nStillToDo = len - nWritten;
+      assert(nStillToDo > 0);
+      SSizeT n = write(fd, &buf[nWritten], nStillToDo);
+      if (n < 0) return nWritten; /* error or EOF */
+      nWritten += n;
+   }
+}
+
+
+static UInt calc_gnu_debuglink_crc32(/*OUT*/Bool* ok, int fd, ULong size)
+{
+  static const UInt crc32_table[256] =
+    {
+      0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419,
+      0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4,
+      0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07,
+      0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
+      0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856,
+      0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
+      0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4,
+      0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
+      0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3,
+      0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a,
+      0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599,
+      0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
+      0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190,
+      0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f,
+      0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e,
+      0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
+      0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed,
+      0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
+      0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3,
+      0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
+      0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a,
+      0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5,
+      0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010,
+      0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+      0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17,
+      0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6,
+      0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615,
+      0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
+      0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344,
+      0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
+      0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a,
+      0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
+      0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1,
+      0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c,
+      0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef,
+      0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
+      0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe,
+      0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31,
+      0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c,
+      0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
+      0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b,
+      0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
+      0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1,
+      0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
+      0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278,
+      0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7,
+      0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66,
+      0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+      0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605,
+      0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8,
+      0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b,
+      0x2d02ef8d
+    };
+
+      /* Work through the image in 1 KB chunks. */
+      UInt  crc      = 0xFFFFFFFF;
+      ULong img_szB  = size;
+      ULong curr_off = 0;
+      while (1) {
+         assert(curr_off >= 0 && curr_off <= img_szB);
+         if (curr_off == img_szB) break;
+         ULong avail = img_szB - curr_off;
+         assert(avail > 0 && avail <= img_szB);
+         if (avail > 65536) avail = 65536;
+         UChar buf[65536];
+         Int nRead = pread(fd, buf, avail, curr_off);
+         if (nRead <= 0) { /* EOF or error on the file; neither should happen */
+            *ok = False;
+            return 0;
+         }
+         /* this is a kludge .. we should loop around pread and deal
+            with short reads, for whatever reason */
+         assert(nRead == avail);
+         UInt i;
+         for (i = 0; i < (UInt)nRead; i++)
+            crc = crc32_table[(crc ^ buf[i]) & 0xff] ^ (crc >> 8);
+         curr_off += nRead;
+      }
+      *ok = True;
+      return ~crc & 0xFFFFFFFF;
+   }
+
+
+/*---------------------------------------------------------------*/
+
+/* Handle a transaction for conn_state[conn_no].  There is incoming
+   data available; read it and send back an appropriate response.
+   Returns a boolean indicating whether the connection has been
+   closed; in which case this function does all necessary cleanup and
+   leaves conn_state[conn_no] in a not-in-use state. */
+
+static Bool handle_transaction ( int conn_no )
+{
+   Frame* req = NULL; /* the request frame that we receive */
+   Frame* res = NULL; /* the response frame that we send back */
+
+   assert(conn_no >= 0 && conn_no < M_CONNECTIONS);
+   assert(conn_state[conn_no].in_use);
+
+   //printf("SERVER: handle_transaction(%d)\n", conn_no); fflush(stdout);
+
+   Int sd = conn_state[conn_no].conn_sd;
+
+   /* Get a frame out of the channel. */
+   UChar rd_first8[8];  // adler32; length32
+   { Int r = my_read(sd, &rd_first8[0], 8);
+     if (r == 0) goto client_closed_conn;
+     if (r != 8) goto fail;
+   }
+   UInt rd_adler = read_UInt_le(&rd_first8[0]);
+   UInt rd_len   = read_UInt_le(&rd_first8[4]);
+   /* Allocate a Frame to hold the result data, and read into it. */
+   // Reject obviously-insane length fields.
+   if (rd_len > 4*1024*1024) goto fail;
+   assert(req == NULL);
+   req = calloc(sizeof(Frame), 1);
+   req->n_data = rd_len;
+   req->data = calloc(rd_len, 1);
+   if (rd_len > 0) {
+      Int r = my_read(sd, req->data, req->n_data);
+      if (r != rd_len) goto fail;
+   }
+//printf("SERVER: recv %c%c%c%c\n", req->data[0], req->data[1], req->data[2], req->data[3]); fflush(stdout);
+
+   /* Compute the checksum for the received data, and check it. */
+   UInt adler = adler32(0, NULL, 0); // initial value
+   adler = adler32(adler, &rd_first8[4], 4);
+   if (req->n_data > 0) 
+      adler = adler32(adler, req->data, req->n_data);
+
+   if (adler/*computed*/ != rd_adler/*expected*/) goto fail;
+
+   /* Now we have a request frame.  Cook up a response. */
+   assert(res == NULL);
+
+   UChar* filename = NULL;
+   ULong req_session_id = 0, req_offset = 0, req_len = 0;
+
+   if (parse_Frame_noargs(req, "VERS")) {
+      res = mk_Frame_asciiz("VEOK", "Valgrind Debuginfo Server, Version 1");
+   }
+   else
+   if (parse_Frame_noargs(req, "CRC3")) {
+      /* FIXME: add a session ID to this request, and check it */
+      if (conn_state[conn_no].file_fd == 0) {
+         res = mk_Frame_asciiz("CRC3", "FAIL: not connected to file");
+      } else {
+         Bool ok    = False;
+         UInt crc32 = calc_gnu_debuglink_crc32(&ok, 
+                                               conn_state[conn_no].file_fd,
+                                               conn_state[conn_no].file_size);
+         if (ok) {
+            res = mk_Frame_le64("CROK", (ULong)crc32);
+         } else {
+            res = mk_Frame_asciiz("FAIL", "CRC3: I/O error reading file");
+         }
+      }
+   }
+   else
+   if (parse_Frame_asciiz(req, "OPEN", &filename)) {
+      Bool ok = True;
+      int  fd = 0;
+      if (conn_state[conn_no].file_fd != 0) {
+         res = mk_Frame_asciiz("FAIL", "OPEN: already connected to file");
+         ok = False;
+      }
+      if (ok) {
+         assert(clo_serverpath);
+         fd = open((char*)filename, O_RDONLY);
+         if (fd == -1) {
+            res = mk_Frame_asciiz("FAIL", "OPEN: cannot open file");
+            ok = False;
+         } else {
+            assert(fd > 2);
+         }
+      }
+      if (ok) {
+         struct stat stat_buf;
+         int r = fstat(fd, &stat_buf);
+         if (r != 0) {
+            res = mk_Frame_asciiz("FAIL", "OPEN: cannot stat file");
+            ok = False;
+         }
+         if (ok && stat_buf.st_size == 0) {
+            res = mk_Frame_asciiz("FAIL", "OPEN: file has zero size");
+            ok = False;
+         }
+         if (ok) {
+            conn_state[conn_no].file_fd   = fd;
+            conn_state[conn_no].file_size = stat_buf.st_size;
+            assert(res == NULL);
+            res = mk_Frame_le64_le64("OPOK", conn_state[conn_no].session_id,
+                                             conn_state[conn_no].file_size);
+            printf("(%d) SessionID %llu: open successful for \"%s\"\n",
+                   conn_count, conn_state[conn_no].session_id, filename );
+            fflush(stdout);
+         }
+      }
+   }
+   else
+   if (parse_Frame_le64_le64_le64(req, "READ", &req_session_id,
+                                  &req_offset, &req_len)) {
+      /* Because each new connection is associated with its own socket
+         descriptor and hence with a particular conn_no, the requested
+         session-ID is redundant -- it must be the one associated with
+         this slot.  But check anyway. */
+      Bool ok = True;
+      if (req_session_id != conn_state[conn_no].session_id) {
+         req = mk_Frame_asciiz("FAIL", "READ: invalid session ID");
+         ok = False;
+      }
+      /* Check we're connected to a file, and if so range-check the
+         request. */
+      if (ok && conn_state[conn_no].file_fd == 0) {
+         res = mk_Frame_asciiz("FAIL", "READ: no associated file");
+         ok = False;
+      }
+      if (ok && (req_len == 0 || req_len > 4*1024*1024)) {
+         res = mk_Frame_asciiz("FAIL", "READ: invalid request size");
+         ok = False;
+      }
+      if (ok && req_len + req_offset > conn_state[conn_no].file_size) {
+         res = mk_Frame_asciiz("FAIL", "READ: request exceeds file size");
+         ok = False;
+      }
+      /* Try to read the file. */
+      if (ok) {
+         /* First, allocate a temp buf and read from the file into it. */
+         /* FIXME: what if pread reads short and we have to redo it? */
+         UChar* unzBuf = malloc(req_len);
+         size_t nRead = pread(conn_state[conn_no].file_fd,
+                              unzBuf, req_len, req_offset);
+         if (nRead != req_len) {
+            free_Frame(res);
+            res = mk_Frame_asciiz("FAIL", "READ: I/O error reading file");
+            ok = False;
+         }         UInt zLen = 0;
+         if (ok) {
+            // Now compress it with LZO.  LZO appears to recommend
+            // the worst-case output size as (in_len + in_len / 16 + 67).
+            // Be more conservative here.
+#           define STACK_ALLOC(var,size) \
+               lzo_align_t __LZO_MMODEL \
+                  var [ ((size) \
+                        + (sizeof(lzo_align_t) - 1)) / sizeof(lzo_align_t) ]
+            STACK_ALLOC(wrkmem, LZO1X_1_MEM_COMPRESS);
+#           undef STACK_ALLOC
+            UInt zLenMax = req_len + req_len / 4 + 1024;
+            UChar* zBuf = malloc(zLenMax);
+            zLen = zLenMax;
+            Int lzo_rc = lzo1x_1_compress(unzBuf, req_len,
+                                          zBuf, (lzo_uint*)&zLen, wrkmem); 
+            if (lzo_rc == LZO_E_OK) {
+              //printf("XXXXX req_len %u  zLen %u\n", (UInt)req_len, (UInt)zLen);
+               assert(zLen <= zLenMax);
+               /* Make a frame to put the results in.  Bytes 24 and
+                  onwards need to be filled from the compressed data,
+                  and 'buf' is set to point to the right bit. */
+               UChar* buf = NULL;
+               res = mk_Frame_le64_le64_le64_bytes
+                 ("RDOK", req_session_id, req_offset, req_len, zLen, &buf);
+               assert(res);
+               assert(buf);
+               memcpy(buf, zBuf, zLen);
+               // Update stats
+               conn_state[conn_no].stats_n_rdok_frames++;
+               conn_state[conn_no].stats_n_read_unz_bytes += req_len;
+               conn_state[conn_no].stats_n_read_z_bytes   += zLen;
+            } else {
+               ok = False;
+               free_Frame(res);
+               res = mk_Frame_asciiz("FAIL", "READ: LZO failed");
+            }
+            free(zBuf);
+         }
+         free(unzBuf);
+      }
+   }
+   else {
+      res = mk_Frame_asciiz("FAIL", "Invalid request frame type");
+   }
+
+   /* All paths through the above should result in an assignment to |res|. */
+   assert(res != NULL);
+
+   /* And send the response frame back to the client. */
+   /* What goes on the wire is:
+         adler(le32) n_data(le32) data[0 .. n_data-1]
+      where the checksum covers n_data as well as data[].
+   */
+   /* The initial Adler-32 value */
+   adler = adler32(0, NULL, 0);
+
+   /* Fold in the length field, encoded as le32. */
+   UChar wr_first8[8];
+   write_UInt_le(&wr_first8[4], res->n_data);
+   adler = adler32(adler, &wr_first8[4], 4);
+   /* Fold in the data values */
+   adler = adler32(adler, res->data, res->n_data);
+   write_UInt_le(&wr_first8[0], adler);
+
+   Int r = my_write(sd, &wr_first8[0], 8);
+   if (r != 8) goto fail;
+   assert(res->n_data >= 4); // else ill formed -- no KIND field
+   r = my_write(sd, res->data, res->n_data);
+   if (r != res->n_data) goto fail;
+
+//printf("SERVER: send %c%c%c%c\n", res->data[0], res->data[1], res->data[2], res->data[3]); fflush(stdout);
+
+   /* So, success. */
+   if (req) free_Frame(req);
+   if (res) free_Frame(res);
+   return False;  /* "connection still in use" */
+
+   // Is there any difference between these?
+  client_closed_conn:
+  fail:
+   if (conn_state[conn_no].conn_sd > 0)
+      close(conn_state[conn_no].conn_sd);
+   if (conn_state[conn_no].file_fd > 0)
+      close(conn_state[conn_no].file_fd);
+
+   if (conn_state[conn_no].stats_n_rdok_frames > 0) {
+      printf("(%d) SessionID %llu:   sent %llu frames, "
+             "%llu MB (unz), %llu MB (z), ratio %4.2f:1\n",
+             conn_count, conn_state[conn_no].session_id,
+             conn_state[conn_no].stats_n_rdok_frames,
+             conn_state[conn_no].stats_n_read_unz_bytes / 1000000,
+             conn_state[conn_no].stats_n_read_z_bytes / 1000000,
+             (double)conn_state[conn_no].stats_n_read_unz_bytes
+               / (double)conn_state[conn_no].stats_n_read_z_bytes);
+      printf("(%d) SessionID %llu: closed\n",
+             conn_count, conn_state[conn_no].session_id);
+
+      fflush(stdout);
+   }
+
+   memset(&conn_state[conn_no], 0, sizeof(conn_state[conn_no]));
+   if (req) free_Frame(req);
+   if (res) free_Frame(res);
+   return True; /* "connection has been closed" */
+}
+
+
+/*---------------------------------------------------------------*/
+
+
+
+#if 0
+static void copyout ( char* buf, int nbuf )
+{
+   int i;
+   for (i = 0; i < nbuf; i++) {
+      if (buf[i] == '\n') {
+         fprintf(stdout, "\n(%d) ", conn_count);
+      } else {
+         __attribute__((unused)) size_t ignored 
+            = fwrite(&buf[i], 1, 1, stdout);
+      }
+   }
+   fflush(stdout);
+}
+
+static int read_from_sd ( int sd )
+{
+   char buf[100];
+   int n;
+
+   set_blocking(sd);
+   n = read(sd, buf, 99);
+   if (n <= 0) return 0; /* closed */
+   copyout(buf, n);
+
+   set_nonblocking(sd);
+   while (1) {
+      n = read(sd, buf, 100);
+      if (n <= 0) return 1; /* not closed */
+      copyout(buf, n);
+   }
+}
+#endif
+
+static void snooze ( void )
+{
+   struct timespec req;
+   req.tv_sec = 0;
+   req.tv_nsec = 200 * 1000 * 1000;
+   nanosleep(&req,NULL);
+}
+
+
+/* returns 0 if invalid, else port # */
+static int atoi_portno ( const char* str )
+{
+   int n = 0;
+   while (1) {
+      if (*str == 0) 
+         break;
+      if (*str < '0' || *str > '9')
+         return 0;
+      n = 10*n + (int)(*str - '0');
+      str++;
+      if (n >= 65536) 
+         return 0;
+   }
+   if (n < 1024)
+      return 0;
+   return n;
+}
+
+
+static void usage ( void )
+{
+   fprintf(stderr, 
+      "\n"
+      "usage is:\n"
+      "\n"
+      "   valgrind-di-server [--exit-at-zero|-e] [port-number]\n"
+      "\n"
+      "   where   --exit-at-zero or -e causes the listener to exit\n"
+      "           when the number of connections falls back to zero\n"
+      "           (the default is to keep listening forever)\n"
+      "\n"
+      "           port-number is the default port on which to listen for\n"
+      "           connections.  It must be between 1024 and 65535.\n"
+      "           Current default is %d.\n"
+      "\n"
+      ,
+      VG_CLO_DEFAULT_LOGPORT
+   );
+   exit(1);
+}
+
+
+static void banner ( const char* str )
+{
+   time_t t;
+   t = time(NULL);
+   printf("valgrind-di-server %s at %s", str, ctime(&t));
+   fflush(stdout);
+}
+
+
+static void exit_routine ( void )
+{
+   banner("exited");
+   exit(0);
+}
+
+
+static void sigint_handler ( int signo )
+{
+   exit_routine();
+}
+
+
+int main (int argc, char** argv) 
+{
+   int    i, j, res, one;
+   int    main_sd, new_sd;
+   socklen_t client_len;
+   struct sockaddr_in client_addr, server_addr;
+
+   char /*bool*/ exit_when_zero = 0;
+   int           port = VG_CLO_DEFAULT_LOGPORT;
+
+   for (i = 1; i < argc; i++) {
+      if (0==strcmp(argv[i], "--exit-at-zero")
+          || 0==strcmp(argv[i], "-e")) {
+         exit_when_zero = 1;
+      }
+      else
+      if (atoi_portno(argv[i]) > 0) {
+         port = atoi_portno(argv[i]);
+      }
+      else
+      usage();
+   }
+
+   banner("started");
+   signal(SIGINT, sigint_handler);
+
+   conn_count = 0;
+   memset(&conn_state, 0, sizeof(conn_state));
+
+   /* create socket */
+   main_sd = socket(AF_INET, SOCK_STREAM, 0);
+   if (main_sd < 0) {
+      perror("cannot open socket ");
+      panic("main -- create socket");
+   }
+
+   /* allow address reuse to avoid "address already in use" errors */
+
+   one = 1;
+   if (setsockopt(main_sd, SOL_SOCKET, SO_REUSEADDR, 
+		  &one, sizeof(one)) < 0) {
+      perror("cannot enable address reuse ");
+      panic("main -- enable address reuse");
+   }
+
+   /* bind server port */
+   server_addr.sin_family      = AF_INET;
+   server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
+   server_addr.sin_port        = htons(port);
+  
+   if (bind(main_sd, (struct sockaddr *) &server_addr, 
+                     sizeof(server_addr) ) < 0) {
+      perror("cannot bind port ");
+      panic("main -- bind port");
+   }
+
+   res = listen(main_sd, M_CONNECTIONS);
+   if (res != 0) {
+      perror("listen failed ");
+      panic("main -- listen");
+   }
+
+   Bool do_snooze = False;  
+   while (1) {
+
+      if (0 && do_snooze)
+         snooze();
+
+      /* Snooze after this iteration, unless something happened. */
+      do_snooze = True;
+
+      /* enquire, using poll, whether there is any activity available on
+         the main socket descriptor.  If so, someone is trying to
+         connect; get the fd and add it to our table thereof. */
+      { struct pollfd ufd;
+        while (1) {
+           ufd.fd      = main_sd;
+           ufd.events  = POLLIN;
+           ufd.revents = 0;
+           res = poll(&ufd, 1, 0/*ms*/ /* 0=return immediately. */);
+           if (res == 0) break;
+
+           /* ok, we have someone waiting to connect.  Get the sd. */
+           client_len = sizeof(client_addr);
+           new_sd = accept(main_sd, (struct sockaddr *)&client_addr, 
+                                                       &client_len);
+           if (new_sd < 0) {
+              perror("cannot accept connection ");
+              panic("main -- accept connection");
+           }
+
+           /* find a place to put it. */
+	   assert(new_sd > 0);
+           for (i = 0; i < M_CONNECTIONS; i++)
+              if (!conn_state[i].in_use)
+                 break;
+
+           if (i >= M_CONNECTIONS) {
+              fprintf(stderr, "Too many concurrent connections.  "
+                              "Increase M_CONNECTIONS and recompile.\n");
+              panic("main -- too many concurrent connections");
+           }
+
+assert(one == 1);
+int ret = setsockopt( new_sd, IPPROTO_TCP, TCP_NODELAY, &one, sizeof(one));
+assert(ret != -1);
+
+           memset(&conn_state[i], 0, sizeof(conn_state[i]));
+           conn_state[i].in_use     = True;
+           conn_state[i].conn_sd    = new_sd;
+           conn_state[i].file_fd    = 0; /* not known yet */
+           conn_state[i].session_id = next_session_id++;
+           set_blocking(new_sd);
+           conn_count++;
+           do_snooze = False;
+        } /* while (1) */
+      }
+
+      /* We've processed all new connect requests.  Listen for changes
+         to the current set of fds.  This requires gathering up all
+         the known conn_sd values and doing poll() on them. */
+      struct pollfd tmp_pollfd[M_CONNECTIONS];
+      /* And a parallel array which maps entries in tmp_pollfd back to
+         entries in conn_state. */
+      int tmp_pollfd_to_conn_state[M_CONNECTIONS];
+      j = 0;
+      for (i = 0; i < M_CONNECTIONS; i++) {
+         if (!conn_state[i].in_use)
+            continue;
+         assert(conn_state[i].conn_sd > 2);
+         tmp_pollfd[j].fd      = conn_state[i].conn_sd;
+         tmp_pollfd[j].events  = POLLIN /* | POLLHUP | POLLNVAL */;
+         tmp_pollfd[j].revents = 0;
+         tmp_pollfd_to_conn_state[j] = i;
+         j++;
+      }
+
+      res = poll(tmp_pollfd, j, 20/*ms*/ /* 0=return immediately. */ );
+      if (res < 0) {
+         perror("poll(main) failed");
+         panic("poll(main) failed");
+      }
+    
+      /* nothing happened. go round again. */
+      if (res == 0) {
+         continue;
+      }
+
+      /* inspect the fds. */
+      for (i = 0; i < j; i++) {
+ 
+         if (tmp_pollfd[i].revents & POLLIN) {
+            /* We have some activity on tmp_pollfd[i].  We need to
+               figure out which conn_state[] entry that corresponds
+               to, which is what tmp_pollfd_to_conn_state is for. */
+            Int  conn_no  = tmp_pollfd_to_conn_state[i];
+            Bool finished = handle_transaction(conn_no);
+            if (finished) {
+               /* this connection has been closed or otherwise gone
+                  bad; forget about it. */
+               conn_count--;
+               fflush(stdout);
+               if (conn_count == 0 && exit_when_zero) {
+                  if (0) printf("\n");
+                  fflush(stdout);
+                  exit_routine();
+	       }
+            } else {
+               // maybe show stats
+               if (conn_state[i].stats_n_rdok_frames > 0
+                   && (conn_state[i].stats_n_rdok_frames % 1000) == 0) {
+                  printf("(%d) SessionID %llu:   sent %llu frames, "
+                         "%llu MB (unz), %llu MB (z)\n",
+                         conn_count, conn_state[conn_no].session_id,
+                         conn_state[conn_no].stats_n_rdok_frames,
+                         conn_state[conn_no].stats_n_read_unz_bytes / 1000000,
+                         conn_state[conn_no].stats_n_read_z_bytes / 1000000);
+                  fflush(stdout);
+               }
+            }
+         }
+
+      } /* for (i = 0; i < j; i++) */
+  
+      do_snooze = False;
+
+   } /* while (1) */
+
+   /* NOTREACHED */
+}
+
+////////////////////////////////////////////////////
+#include "../coregrind/m_debuginfo/minilzo-inl.c"
+
+/*--------------------------------------------------------------------*/
+/*--- end                                     valgrind-di-server.c ---*/
+/*--------------------------------------------------------------------*/
diff --git a/auxprogs/valgrind-listener.c b/auxprogs/valgrind-listener.c
index c516ac4..881098b 100644
--- a/auxprogs/valgrind-listener.c
+++ b/auxprogs/valgrind-listener.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -64,7 +64,7 @@
 /*---------------------------------------------------------------*/
 
 __attribute__ ((noreturn))
-static void panic ( Char* str )
+static void panic ( const char* str )
 {
    fprintf(stderr,
            "\nvalgrind-listener: the "
@@ -75,7 +75,7 @@
 }
 
 __attribute__ ((noreturn))
-static void my_assert_fail ( const Char* expr, const Char* file, Int line, const Char* fn )
+static void my_assert_fail ( const char* expr, const char* file, int line, const char* fn )
 {
    fprintf(stderr,
            "\nvalgrind-listener: %s:%d (%s): Assertion '%s' failed.\n",
@@ -168,7 +168,7 @@
 
 
 /* returns 0 if invalid, else port # */
-static int atoi_portno ( char* str )
+static int atoi_portno ( const char* str )
 {
    int n = 0;
    while (1) {
@@ -210,7 +210,7 @@
 }
 
 
-static void banner ( char* str )
+static void banner ( const char* str )
 {
    time_t t;
    t = time(NULL);
diff --git a/cachegrind/Makefile.am b/cachegrind/Makefile.am
index 0b6879c..43a44af 100644
--- a/cachegrind/Makefile.am
+++ b/cachegrind/Makefile.am
@@ -41,12 +41,7 @@
 
 CACHEGRIND_SOURCES_COMMON = \
 	cg_main.c \
-	cg-arch.c \
-	cg-x86-amd64.c \
-	cg-ppc32.c \
-	cg-ppc64.c \
-	cg-arm.c   \
-	cg-s390x.c
+	cg-arch.c
 
 cachegrind_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES      = \
 	$(CACHEGRIND_SOURCES_COMMON)
@@ -87,5 +82,3 @@
 	$(cachegrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS) \
 	$(cachegrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS)
 endif
-
-
diff --git a/cachegrind/cg-arch.c b/cachegrind/cg-arch.c
index 77adfc2..18d2912 100644
--- a/cachegrind/cg-arch.c
+++ b/cachegrind/cg-arch.c
@@ -1,15 +1,12 @@
 /*--------------------------------------------------------------------*/
-/*--- Cachegrind: cache configuration.                             ---*/
-/*--- The architecture specific void VG_(configure_caches) are     ---*/
-/*--- located in the cg-<architecture>.c files.                    ---*/
-/*---                                                    cg-arch.c ---*/
+/*--- Cachegrind: cache configuration.                   cg-arch.c ---*/
 /*--------------------------------------------------------------------*/
 
 /*
    This file is part of Cachegrind, a Valgrind tool for cache
    profiling programs.
 
-   Copyright (C) 2011-2011 Nicholas Nethercote
+   Copyright (C) 2011-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -35,12 +32,16 @@
 #include "pub_tool_libcbase.h"
 #include "pub_tool_libcprint.h"
 #include "pub_tool_options.h"
+#include "pub_tool_machine.h"
 
 #include "cg_arch.h"
 
+static void configure_caches(cache_t* I1c, cache_t* D1c, cache_t* LLc,
+                             Bool all_caches_clo_defined);
+
 // Checks cache config is ok.  Returns NULL if ok, or a pointer to an error
 // string otherwise.
-static Char* check_cache(cache_t* cache)
+static const HChar* check_cache(cache_t* cache)
 {
    // Simulator requires set count to be a power of two.
    if ((cache->size % (cache->line_size * cache->assoc) != 0) ||
@@ -75,11 +76,12 @@
 }
 
 
-static void parse_cache_opt ( cache_t* cache, Char* opt, Char* optval )
+static void parse_cache_opt ( cache_t* cache, const HChar* opt,
+                              const HChar* optval )
 {
    Long i1, i2, i3;
-   Char* endptr;
-   Char* checkRes;
+   HChar* endptr;
+   const HChar* checkRes;
 
    // Option argument looks like "65536,2,64".  Extract them.
    i1 = VG_(strtoll10)(optval,   &endptr); if (*endptr != ',')  goto bad;
@@ -111,12 +113,12 @@
 }
 
 
-Bool VG_(str_clo_cache_opt)(Char *arg,
+Bool VG_(str_clo_cache_opt)(const HChar *arg,
                             cache_t* clo_I1c,
                             cache_t* clo_D1c,
                             cache_t* clo_LLc)
 {
-   Char* tmp_str;
+   const HChar* tmp_str;
 
    if      VG_STR_CLO(arg, "--I1", tmp_str) {
       parse_cache_opt(clo_I1c, arg, tmp_str);
@@ -132,7 +134,7 @@
       return False;
 }
 
-static void umsg_cache_img(Char* desc, cache_t* c)
+static void umsg_cache_img(const HChar* desc, cache_t* c)
 {
    VG_(umsg)("  %s: %'d B, %d-way, %d B lines\n", desc,
              c->size, c->assoc, c->line_size);
@@ -140,9 +142,9 @@
 
 // Verifies if c is a valid cache.
 // An invalid value causes an assert, unless clo_redefined is True.
-static void check_cache_or_override(Char* desc, cache_t* c, Bool clo_redefined)
+static void check_cache_or_override(const HChar* desc, cache_t* c, Bool clo_redefined)
 {
-   Char* checkRes;
+   const HChar* checkRes;
 
    checkRes = check_cache(c);
    if (checkRes) {
@@ -157,6 +159,65 @@
    }
 }
 
+
+/* If the LL cache config isn't something the simulation functions
+   can handle, try to adjust it so it is.  Caches are characterised
+   by (total size T, line size L, associativity A), and then we
+   have
+
+     number of sets S = T / (L * A)
+
+   The required constraints are:
+
+   * L must be a power of 2, but it always is in practice, so
+     no problem there
+
+   * A can be any value >= 1
+
+   * T can be any value, but ..
+
+   * S must be a power of 2.
+
+   That sometimes gives a problem.  For example, some Core iX based
+   Intel CPUs have T = 12MB, A = 16, L = 64, which gives 12288
+   sets.  The "fix" in this case is to increase the associativity
+   by 50% to 24, which reduces the number of sets to 8192, making
+   it a power of 2.  That's what the following code does (handing
+   the "3/2 rescaling case".)  We might need to deal with other
+   ratios later (5/4 ?).
+
+   The "fix" is "justified" (cough, cough) by alleging that
+   increases of associativity above about 4 have very little effect
+   on the actual miss rate.  It would be far more inaccurate to
+   fudge this by changing the size of the simulated cache --
+   changing the associativity is a much better option.
+*/
+
+static void
+maybe_tweak_LLc(cache_t *LLc)
+{
+  if (LLc->size > 0 && LLc->assoc > 0 && LLc->line_size > 0) {
+      Long nSets = (Long)LLc->size / (Long)(LLc->line_size * LLc->assoc);
+      if (/* stay sane */
+          nSets >= 4
+          /* nSets is not a power of 2 */
+          && VG_(log2_64)( (ULong)nSets ) == -1
+          /* nSets is 50% above a power of 2 */
+          && VG_(log2_64)( (ULong)((2 * nSets) / (Long)3) ) != -1
+          /* associativity can be increased by exactly 50% */
+          && (LLc->assoc % 2) == 0
+         ) {
+         /* # sets is 1.5 * a power of two, but the associativity is
+            even, so we can increase that up by 50% and implicitly
+            scale the # sets down accordingly. */
+         Int new_assoc = LLc->assoc + (LLc->assoc / 2);
+         VG_(dmsg)("warning: pretending that LL cache has associativity"
+                   " %d instead of actual %d\n", new_assoc, LLc->assoc);
+         LLc->assoc = new_assoc;
+      }
+   }
+}
+
 void VG_(post_clo_init_configure_caches)(cache_t* I1c,
                                          cache_t* D1c,
                                          cache_t* LLc,
@@ -174,7 +235,9 @@
 
    // Set the cache config (using auto-detection, if supported by the
    // architecture).
-   VG_(configure_caches)( I1c, D1c, LLc, all_caches_clo_defined );
+   configure_caches( I1c, D1c, LLc, all_caches_clo_defined );
+
+   maybe_tweak_LLc( LLc );
 
    // Check the default/auto-detected values.
    // Allow the user to override invalid auto-detected caches
@@ -206,3 +269,168 @@
 "    --LL=<size>,<assoc>,<line_size>  set LL cache manually\n"
                );
 }
+
+
+// Traverse the cache info and return a cache of the given kind and level.
+// Return NULL if no such cache exists.
+static const VexCache *
+locate_cache(const VexCacheInfo *ci, VexCacheKind kind, UInt level)
+{
+   const VexCache *c;
+
+   for (c = ci->caches; c != ci->caches + ci->num_caches; ++c) {
+      if (c->level == level && c->kind == kind) {
+         return c;
+      }
+   }
+   return NULL;  // not found
+}
+
+
+// Gives the auto-detected configuration of I1, D1 and LL caches.  They get
+// overridden by any cache configurations specified on the command line.
+static void
+configure_caches(cache_t *I1c, cache_t *D1c, cache_t *LLc,
+                 Bool all_caches_clo_defined)
+{
+   VexArchInfo vai;
+   const VexCacheInfo *ci;
+   const VexCache *i1, *d1, *ll;
+
+   VG_(machine_get_VexArchInfo)(NULL, &vai);
+   ci = &vai.hwcache_info;
+
+   // Extract what we need
+   i1 = locate_cache(ci, INSN_CACHE, 1);
+   d1 = locate_cache(ci, DATA_CACHE, 1);
+   ll = locate_cache(ci, UNIFIED_CACHE, ci->num_levels);
+
+   if (ci->num_caches > 0 && ll == NULL) {
+      VG_(dmsg)("warning: L2 cache not installed, ignore LL results.\n");
+   }
+
+   if (ll && ci->num_levels > 2) {
+      VG_(dmsg)("warning: L%u cache found, using its data for the "
+                "LL simulation.\n", ci->num_levels);
+   }
+
+   if (i1 && d1 && ll) {
+      if (i1->is_trace_cache) {
+         /* HACK ALERT: Instruction trace cache -- capacity is micro-ops based.
+          * conversion to byte size is a total guess;  treat the 12K and 16K
+          * cases the same since the cache byte size must be a power of two for
+          * everything to work!.  Also guessing 32 bytes for the line size...
+          */
+         UInt adjusted_size, guessed_line_size = 32;
+
+         if (i1->sizeB == 12 * 1024 || i1->sizeB == 16 * 1024) {
+            adjusted_size = 16 * 1024;
+         } else {
+            adjusted_size = 32 * 1024;
+         }
+         VG_(dmsg)("warning: Pentium 4 with %u KB micro-op instruction trace cache\n",
+                   i1->sizeB / 1024);
+         VG_(dmsg)("         Simulating a %d KB I-cache with %d B lines\n",
+                   adjusted_size / 1024, guessed_line_size);
+
+         *I1c = (cache_t) { adjusted_size, i1->assoc, guessed_line_size };
+      } else {
+         *I1c = (cache_t) { i1->sizeB, i1->assoc, i1->line_sizeB };
+      }
+      *D1c = (cache_t) { d1->sizeB, d1->assoc, d1->line_sizeB };
+      *LLc = (cache_t) { ll->sizeB, ll->assoc, ll->line_sizeB };
+
+      return;
+   }
+
+   // Cache information could not be queried; choose some default
+   // architecture specific default setting.
+
+#if defined(VGA_ppc32)
+
+   // Default cache configuration
+   *I1c = (cache_t) {  65536, 2, 64 };
+   *D1c = (cache_t) {  65536, 2, 64 };
+   *LLc = (cache_t) { 262144, 8, 64 };
+
+#elif defined(VGA_ppc64)
+
+   // Default cache configuration
+   *I1c = (cache_t) {  65536, 2, 64 };
+   *D1c = (cache_t) {  65536, 2, 64 };
+   *LLc = (cache_t) { 262144, 8, 64 };
+
+#elif defined(VGA_arm)
+
+   // Set caches to default (for Cortex-A8 ?)
+   *I1c = (cache_t) {  16384, 4, 64 };
+   *D1c = (cache_t) {  16384, 4, 64 };
+   *LLc = (cache_t) { 262144, 8, 64 };
+
+#elif defined(VGA_s390x)
+   //
+   // Here is the cache data from older machine models:
+   //
+   //           I1            D1      I/D L2
+   // z900  256k/256/4    256k/256/4   16MB
+   // z800  256k/256/4    256k/256/4    8MB
+   // z990  256k/256/4    256k/256/4   32MB
+   // z890  256k/256/4    256k/256/4   32MB
+   // z9    256k/256/4    256k/256/4   40MB
+   //
+   // Sources:
+   // (1) IBM System z9 109 Technical Introduction
+   //     www.redbooks.ibm.com/redbooks/pdfs/sg246669.pdf
+   // (2) The microarchitecture of the IBM eServer z900 processor
+   //     IBM Journal of Research and Development
+   //     Volume 46, Number 4/5, pp 381-395, July/September 2002
+   // (3) The IBM eServer z990 microprocessor
+   //     IBM Journal of Research and Development
+   //     Volume 48, Number 3/4, pp 295-309, May/July 2004 
+   // (4) Charles Webb, IBM
+   //
+   // L2 data is unfortunately incomplete. Otherwise, we could support
+   // machines without the ECAG insn by looking at VEX_S390X_MODEL(hwcaps).
+
+   // Default cache configuration is z10-EC  (Source: ECAG insn)
+   *I1c = (cache_t) {    65536,  4, 256 };
+   *D1c = (cache_t) {   131072,  8, 256 };
+   *LLc = (cache_t) { 50331648, 24, 256 };
+
+#elif defined(VGA_mips32)
+
+   // Set caches to default (for MIPS32-r2(mips 74kc))
+   *I1c = (cache_t) {  32768, 4, 32 };
+   *D1c = (cache_t) {  32768, 4, 32 };
+   *LLc = (cache_t) { 524288, 8, 32 };
+
+#elif defined(VGA_mips64)
+
+   // Set caches to default (for MIPS64 - 5kc)
+   *I1c = (cache_t) {  32768, 4, 32 };
+   *D1c = (cache_t) {  32768, 4, 32 };
+   *LLc = (cache_t) { 524288, 8, 32 };
+
+#elif defined(VGA_x86) || defined(VGA_amd64)
+
+   *I1c = (cache_t) {  65536, 2, 64 };
+   *D1c = (cache_t) {  65536, 2, 64 };
+   *LLc = (cache_t) { 262144, 8, 64 };
+
+#else
+
+#error "Unknown arch"
+
+#endif
+
+   if (!all_caches_clo_defined) {
+      const HChar warning[] =
+        "Warning: Cannot auto-detect cache config, using defaults.\n"
+        "         Run with -v to see.\n";
+      VG_(dmsg)("%s", warning);
+   }
+}
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/cachegrind/cg-arm.c b/cachegrind/cg-arm.c
deleted file mode 100644
index c9ef4d4..0000000
--- a/cachegrind/cg-arm.c
+++ /dev/null
@@ -1,59 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- ARM-specific definitions.                           cg-arm.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
-   This file is part of Cachegrind, a Valgrind tool for cache
-   profiling programs.
-
-   Copyright (C) 2005-2011 Johan Bjork
-      jbjoerk@gmail.com
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307, USA.
-
-   The GNU General Public License is contained in the file COPYING.
-*/
-
-#if defined(VGA_arm)
-
-#include "pub_tool_basics.h"
-#include "pub_tool_libcbase.h"
-#include "pub_tool_libcassert.h"
-#include "pub_tool_libcprint.h"
-
-#include "cg_arch.h"
-
-void VG_(configure_caches)(cache_t* I1c, cache_t* D1c, cache_t* LLc,
-                           Bool all_caches_clo_defined)
-{
-   // Set caches to default (for Cortex-A8 ?)
-   *I1c = (cache_t) {  16384, 4, 64 };
-   *D1c = (cache_t) {  16384, 4, 64 };
-   *LLc = (cache_t) { 262144, 8, 64 };
-
-   if (!all_caches_clo_defined) {
-      VG_(message)(Vg_DebugMsg, 
-                   "Warning: Cannot auto-detect cache config on ARM, using one "
-                   "or more defaults\n");
-   }
-}
-
-#endif // #if defined(VGA_arm)
-
-/*--------------------------------------------------------------------*/
-/*--- end                                                 cg-arm.c ---*/
-/*--------------------------------------------------------------------*/
diff --git a/cachegrind/cg-ppc32.c b/cachegrind/cg-ppc32.c
deleted file mode 100644
index 528efa7..0000000
--- a/cachegrind/cg-ppc32.c
+++ /dev/null
@@ -1,68 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- PPC32-specific definitions.                       cg-ppc32.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
-   This file is part of Cachegrind, a Valgrind tool for cache
-   profiling programs.
-
-   Copyright (C) 2005-2011 Nicholas Nethercote
-      njn@valgrind.org
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307, USA.
-
-   The GNU General Public License is contained in the file COPYING.
-*/
-
-#if defined(VGA_ppc32)
-
-#include "pub_tool_basics.h"
-#include "pub_tool_libcbase.h"
-#include "pub_tool_libcassert.h"
-#include "pub_tool_libcprint.h"
-
-#include "cg_arch.h"
-
-void VG_(configure_caches)(cache_t* I1c, cache_t* D1c, cache_t* LLc,
-                           Bool all_caches_clo_defined)
-{
-   // Set caches to default.
-   *I1c = (cache_t) {  65536, 2, 64 };
-   *D1c = (cache_t) {  65536, 2, 64 };
-   *LLc = (cache_t) { 262144, 8, 64 };
-
-   // Warn if config not completely specified from cmd line.  Note that
-   // this message is slightly different from the one we give on x86/AMD64
-   // when auto-detection fails;  this lets us filter out this one (which is
-   // not important) in the regression test suite without filtering the
-   // x86/AMD64 one (which we want to see if it ever occurs in the
-   // regression test suite).
-   //
-   // If you change this message, please update
-   // cachegrind/tests/filter_stderr!
-   //
-   if (!all_caches_clo_defined) {
-      VG_(dmsg)("Warning: Cannot auto-detect cache config on PPC32, using one "
-                "or more defaults\n");
-   }
-}
-
-#endif // defined(VGA_ppc32)
-
-/*--------------------------------------------------------------------*/
-/*--- end                                                          ---*/
-/*--------------------------------------------------------------------*/
diff --git a/cachegrind/cg-ppc64.c b/cachegrind/cg-ppc64.c
deleted file mode 100644
index 9845451..0000000
--- a/cachegrind/cg-ppc64.c
+++ /dev/null
@@ -1,68 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- PPC64-specific definitions.                       cg-ppc64.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
-   This file is part of Cachegrind, a Valgrind tool for cache
-   profiling programs.
-
-   Copyright (C) 2005-2011 Nicholas Nethercote
-      njn@valgrind.org
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307, USA.
-
-   The GNU General Public License is contained in the file COPYING.
-*/
-
-#if defined(VGA_ppc64)
-
-#include "pub_tool_basics.h"
-#include "pub_tool_libcbase.h"
-#include "pub_tool_libcassert.h"
-#include "pub_tool_libcprint.h"
-
-#include "cg_arch.h"
-
-void VG_(configure_caches)(cache_t* I1c, cache_t* D1c, cache_t* LLc,
-                           Bool all_caches_clo_defined)
-{
-   // Set caches to default.
-   *I1c = (cache_t) {  65536, 2, 64 };
-   *D1c = (cache_t) {  65536, 2, 64 };
-   *LLc = (cache_t) { 262144, 8, 64 };
-
-   // Warn if config not completely specified from cmd line.  Note that
-   // this message is slightly different from the one we give on x86/AMD64
-   // when auto-detection fails;  this lets us filter out this one (which is
-   // not important) in the regression test suite without filtering the
-   // x86/AMD64 one (which we want to see if it ever occurs in the
-   // regression test suite).
-   //
-   // If you change this message, please update
-   // cachegrind/tests/filter_stderr!
-   //
-   if (!all_caches_clo_defined) {
-      VG_(dmsg)("Warning: Cannot auto-detect cache config on PPC64, using one "
-                "or more defaults\n");
-   }
-}
-
-#endif
-
-/*--------------------------------------------------------------------*/
-/*--- end                                                          ---*/
-/*--------------------------------------------------------------------*/
diff --git a/cachegrind/cg-s390x.c b/cachegrind/cg-s390x.c
deleted file mode 100644
index 824a0d7..0000000
--- a/cachegrind/cg-s390x.c
+++ /dev/null
@@ -1,130 +0,0 @@
-/* -*- mode: C; c-basic-offset: 3; -*- */
-
-/*--------------------------------------------------------------------*/
-/*--- s390x-specific definitions.                       cg-s390x.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
-   This file is part of Cachegrind, a Valgrind tool for cache
-   profiling programs.
-
-   Copyright IBM Corp. 2010-2011
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307, USA.
-
-   The GNU General Public License is contained in the file COPYING.
-*/
-
-/* Contributed by Christian Borntraeger */
-
-#if defined(VGA_s390x)
-
-#include "pub_tool_basics.h"
-#include "pub_tool_libcbase.h"
-#include "pub_tool_libcassert.h"
-#include "pub_tool_libcprint.h"
-
-#include "cg_arch.h"
-
-void VG_(configure_caches)(cache_t* I1c, cache_t* D1c, cache_t* L2c,
-                           Bool all_caches_clo_defined)
-{
-   // z900
-   //
-   // Source:
-   // The microarchitecture of the IBM eServer z900 processor
-   // IBM Journal of Research and Development
-   // Volume 46, Number 4/5, pp 381-395, July/September 2002
-   //
-   // Split L1 I/D cache
-   // Size: 256 kB each
-   // Line size: 256 bytes
-   // 4-way set associative
-   // L2 cache: 16 MB x 2 (16 MB per 10 CPs)  (Charles Webb)
-
-   // z800
-   //
-   // Source:  Charles Webb from IBM
-   //
-   // Split L1 I/D cache
-   // Size: 256 kB each
-   // Line size: 256 bytes
-   // 4-way set associative
-   // L2 cache: 16 MB  (or half that size)
-
-   // z990
-   //
-   // The IBM eServer z990 microprocessor
-   // IBM Journal of Research and Development
-   // Volume 48, Number 3/4, pp 295-309, May/July 2004 
-   //
-   // Split L1 I/D cache
-   // Size: 256 kB each
-   // Line size: 256 bytes
-   // 4-way set associative
-   // L2 cache: 32 MB x 4 (32 MB per book/node)  (Charles Webb)
-
-   // z890
-   //
-   // Source:  Charles Webb from IBM
-   //
-   // Split L1 I/D cache
-   // Size: 256 kB each
-   // Line size: 256 bytes
-   // 4-way set associative
-   // L2 cache: 32 MB  (or half that size)
-
-   // z9
-   //
-   // Source:  Charles Webb from IBM
-   //
-   // Split L1 I/D cache
-   // Size: 256 kB each
-   // Line size: 256 bytes
-   // 4-way set associative
-   // L2 cache: 40 MB x 4 (40 MB per book/node)
-
-
-   // Set caches to z10 default.
-   // See IBM Journal of Research and Development
-   // Issue Date: Jan. 2009
-   // Volume: 53 Issue:1
-   // fixs390: have a table for all available models and check /proc/cpuinfo
-   *I1c = (cache_t) {   65536,  4, 256 };
-   *D1c = (cache_t) {  131072,  8, 256 };
-   *L2c = (cache_t) { 3145728, 12, 256 };
-
-   // Warn if config not completely specified from cmd line.  Note that
-   // this message is slightly different from the one we give on x86/AMD64
-   // when auto-detection fails;  this lets us filter out this one (which is
-   // not important) in the regression test suite without filtering the
-   // x86/AMD64 one (which we want to see if it ever occurs in the
-   // regression test suite).
-   //
-   // If you change this message, please update
-   // cachegrind/tests/filter_stderr!
-   //
-   if (!all_caches_clo_defined) {
-      VG_(dmsg)("Warning: Cannot auto-detect cache config on s390x, using one "
-                "or more defaults \n");
-   }
-}
-
-#endif
-
-/*--------------------------------------------------------------------*/
-/*--- end                                               cg-s390x.c ---*/
-/*--------------------------------------------------------------------*/
diff --git a/cachegrind/cg-x86-amd64.c b/cachegrind/cg-x86-amd64.c
deleted file mode 100644
index 16e4a72..0000000
--- a/cachegrind/cg-x86-amd64.c
+++ /dev/null
@@ -1,548 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- x86- and AMD64-specific definitions.          cg-x86-amd64.c ---*/
-/*--------------------------------------------------------------------*/
-
-/*
-   This file is part of Cachegrind, a Valgrind tool for cache
-   profiling programs.
-
-   Copyright (C) 2002-2011 Nicholas Nethercote
-      njn@valgrind.org
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307, USA.
-
-   The GNU General Public License is contained in the file COPYING.
-*/
-
-#if defined(VGA_x86) || defined(VGA_amd64)
-
-#include "pub_tool_basics.h"
-#include "pub_tool_cpuid.h"
-#include "pub_tool_libcbase.h"
-#include "pub_tool_libcassert.h"
-#include "pub_tool_libcprint.h"
-
-#include "cg_arch.h"
-
-// All CPUID info taken from sandpile.org/ia32/cpuid.htm */
-// Probably only works for Intel and AMD chips, and probably only for some of
-// them. 
-
-static void micro_ops_warn(Int actual_size, Int used_size, Int line_size)
-{
-   VG_(dmsg)("warning: Pentium 4 with %d KB micro-op instruction trace cache\n", 
-             actual_size);
-   VG_(dmsg)("         Simulating a %d KB I-cache with %d B lines\n", 
-             used_size, line_size);
-}
-
-/* Intel method is truly wretched.  We have to do an insane indexing into an
- * array of pre-defined configurations for various parts of the memory
- * hierarchy.
- * According to Intel Processor Identification, App Note 485.
- * 
- * If a L3 cache is found, then data for it rather than the L2
- * is returned via *LLc.
- */
-static
-Int Intel_cache_info(Int level, cache_t* I1c, cache_t* D1c, cache_t* LLc)
-{
-   Int cpuid1_eax;
-   Int cpuid1_ignore;
-   Int family;
-   Int model;
-   UChar info[16];
-   Int   i, j, trials;
-   Bool  L2_found = False;
-   /* If we see L3 cache info, copy it into L3c.  Then, at the end,
-      copy it into *LLc.  Hence if a L3 cache is specified, *LLc will
-      eventually contain a description of it rather than the L2 cache.
-      The use of the L3c intermediary makes this process independent
-      of the order in which the cache specifications appear in
-      info[]. */
-   Bool  L3_found = False;
-   cache_t L3c = { 0, 0, 0 };
-
-   if (level < 2) {
-      VG_(dmsg)("warning: CPUID level < 2 for Intel processor (%d)\n", level);
-      return -1;
-   }
-
-   /* family/model needed to distinguish code reuse (currently 0x49) */
-   VG_(cpuid)(1, 0, &cpuid1_eax, &cpuid1_ignore,
-	      &cpuid1_ignore, &cpuid1_ignore);
-   family = (((cpuid1_eax >> 20) & 0xff) << 4) + ((cpuid1_eax >> 8) & 0xf);
-   model =  (((cpuid1_eax >> 16) & 0xf) << 4) + ((cpuid1_eax >> 4) & 0xf);
-
-   VG_(cpuid)(2, 0, (Int*)&info[0], (Int*)&info[4], 
-                    (Int*)&info[8], (Int*)&info[12]);
-   trials  = info[0] - 1;   /* AL register - bits 0..7 of %eax */
-   info[0] = 0x0;           /* reset AL */
-
-   if (0 != trials) {
-      VG_(dmsg)("warning: non-zero CPUID trials for Intel processor (%d)\n",
-                trials);
-      return -1;
-   }
-
-   for (i = 0; i < 16; i++) {
-
-      switch (info[i]) {
-
-      case 0x0:       /* ignore zeros */
-          break;
-          
-      /* TLB info, ignore */
-      case 0x01: case 0x02: case 0x03: case 0x04: case 0x05:
-      case 0x0b:
-      case 0x4f: case 0x50: case 0x51: case 0x52: case 0x55:
-      case 0x56: case 0x57: case 0x59:
-      case 0x5a: case 0x5b: case 0x5c: case 0x5d:
-      case 0x76:
-      case 0xb0: case 0xb1: case 0xb2:
-      case 0xb3: case 0xb4: case 0xba: case 0xc0:
-      case 0xca:
-          break;      
-
-      case 0x06: *I1c = (cache_t) {  8, 4, 32 }; break;
-      case 0x08: *I1c = (cache_t) { 16, 4, 32 }; break;
-      case 0x09: *I1c = (cache_t) { 32, 4, 64 }; break;
-      case 0x30: *I1c = (cache_t) { 32, 8, 64 }; break;
-
-      case 0x0a: *D1c = (cache_t) {  8, 2, 32 }; break;
-      case 0x0c: *D1c = (cache_t) { 16, 4, 32 }; break;
-      case 0x0d: *D1c = (cache_t) { 16, 4, 64 }; break;
-      case 0x0e: *D1c = (cache_t) { 24, 6, 64 }; break;
-      case 0x2c: *D1c = (cache_t) { 32, 8, 64 }; break;
-
-      /* IA-64 info -- panic! */
-      case 0x10: case 0x15: case 0x1a: 
-      case 0x88: case 0x89: case 0x8a: case 0x8d:
-      case 0x90: case 0x96: case 0x9b:
-         VG_(tool_panic)("IA-64 cache detected?!");
-
-      /* L3 cache info. */
-      case 0x22: L3c = (cache_t) { 512,    4, 64 }; L3_found = True; break;
-      case 0x23: L3c = (cache_t) { 1024,   8, 64 }; L3_found = True; break;
-      case 0x25: L3c = (cache_t) { 2048,   8, 64 }; L3_found = True; break;
-      case 0x29: L3c = (cache_t) { 4096,   8, 64 }; L3_found = True; break;
-      case 0x46: L3c = (cache_t) { 4096,   4, 64 }; L3_found = True; break;
-      case 0x47: L3c = (cache_t) { 8192,   8, 64 }; L3_found = True; break;
-      case 0x4a: L3c = (cache_t) { 6144,  12, 64 }; L3_found = True; break;
-      case 0x4b: L3c = (cache_t) { 8192,  16, 64 }; L3_found = True; break;
-      case 0x4c: L3c = (cache_t) { 12288, 12, 64 }; L3_found = True; break;
-      case 0x4d: L3c = (cache_t) { 16384, 16, 64 }; L3_found = True; break;
-      case 0xd0: L3c = (cache_t) { 512,    4, 64 }; L3_found = True; break;
-      case 0xd1: L3c = (cache_t) { 1024,   4, 64 }; L3_found = True; break;
-      case 0xd2: L3c = (cache_t) { 2048,   4, 64 }; L3_found = True; break;
-      case 0xd6: L3c = (cache_t) { 1024,   8, 64 }; L3_found = True; break;
-      case 0xd7: L3c = (cache_t) { 2048,   8, 64 }; L3_found = True; break;
-      case 0xd8: L3c = (cache_t) { 4096,   8, 64 }; L3_found = True; break;
-      case 0xdc: L3c = (cache_t) { 1536,  12, 64 }; L3_found = True; break;
-      case 0xdd: L3c = (cache_t) { 3072,  12, 64 }; L3_found = True; break;
-      case 0xde: L3c = (cache_t) { 6144,  12, 64 }; L3_found = True; break;
-      case 0xe2: L3c = (cache_t) { 2048,  16, 64 }; L3_found = True; break;
-      case 0xe3: L3c = (cache_t) { 4096,  16, 64 }; L3_found = True; break;
-      case 0xe4: L3c = (cache_t) { 8192,  16, 64 }; L3_found = True; break;
-      case 0xea: L3c = (cache_t) { 12288, 24, 64 }; L3_found = True; break;
-      case 0xeb: L3c = (cache_t) { 18432, 24, 64 }; L3_found = True; break;
-      case 0xec: L3c = (cache_t) { 24576, 24, 64 }; L3_found = True; break;
-
-      /* Described as "MLC" in Intel documentation */
-      case 0x21: *LLc = (cache_t) {  256, 8, 64 }; L2_found = True; break;
-
-      /* These are sectored, whatever that means */
-      case 0x39: *LLc = (cache_t) {  128, 4, 64 }; L2_found = True; break;
-      case 0x3c: *LLc = (cache_t) {  256, 4, 64 }; L2_found = True; break;
-
-      /* If a P6 core, this means "no L2 cache".  
-         If a P4 core, this means "no L3 cache".
-         We don't know what core it is, so don't issue a warning.  To detect
-         a missing L2 cache, we use 'L2_found'. */
-      case 0x40:
-          break;
-
-      case 0x41: *LLc = (cache_t) {  128,  4, 32 }; L2_found = True; break;
-      case 0x42: *LLc = (cache_t) {  256,  4, 32 }; L2_found = True; break;
-      case 0x43: *LLc = (cache_t) {  512,  4, 32 }; L2_found = True; break;
-      case 0x44: *LLc = (cache_t) { 1024,  4, 32 }; L2_found = True; break;
-      case 0x45: *LLc = (cache_t) { 2048,  4, 32 }; L2_found = True; break;
-      case 0x48: *LLc = (cache_t) { 3072, 12, 64 }; L2_found = True; break;
-      case 0x4e: *LLc = (cache_t) { 6144, 24, 64 }; L2_found = True; break;
-      case 0x49:
-         if (family == 15 && model == 6) {
-            /* On Xeon MP (family F, model 6), this is for L3 */
-            L3c = (cache_t) { 4096, 16, 64 }; L3_found = True;
-         } else {
-	    *LLc = (cache_t) { 4096, 16, 64 }; L2_found = True;
-         }
-         break;
-
-      /* These are sectored, whatever that means */
-      case 0x60: *D1c = (cache_t) { 16, 8, 64 };  break;      /* sectored */
-      case 0x66: *D1c = (cache_t) {  8, 4, 64 };  break;      /* sectored */
-      case 0x67: *D1c = (cache_t) { 16, 4, 64 };  break;      /* sectored */
-      case 0x68: *D1c = (cache_t) { 32, 4, 64 };  break;      /* sectored */
-
-      /* HACK ALERT: Instruction trace cache -- capacity is micro-ops based.
-       * conversion to byte size is a total guess;  treat the 12K and 16K
-       * cases the same since the cache byte size must be a power of two for
-       * everything to work!.  Also guessing 32 bytes for the line size... 
-       */
-      case 0x70:    /* 12K micro-ops, 8-way */
-         *I1c = (cache_t) { 16, 8, 32 };  
-         micro_ops_warn(12, 16, 32);
-         break;  
-      case 0x71:    /* 16K micro-ops, 8-way */
-         *I1c = (cache_t) { 16, 8, 32 };  
-         micro_ops_warn(16, 16, 32); 
-         break;  
-      case 0x72:    /* 32K micro-ops, 8-way */
-         *I1c = (cache_t) { 32, 8, 32 };  
-         micro_ops_warn(32, 32, 32); 
-         break;  
-
-      /* not sectored, whatever that might mean */
-      case 0x78: *LLc = (cache_t) { 1024, 4,  64 }; L2_found = True;  break;
-
-      /* These are sectored, whatever that means */
-      case 0x79: *LLc = (cache_t) {  128, 8,  64 }; L2_found = True;  break;
-      case 0x7a: *LLc = (cache_t) {  256, 8,  64 }; L2_found = True;  break;
-      case 0x7b: *LLc = (cache_t) {  512, 8,  64 }; L2_found = True;  break;
-      case 0x7c: *LLc = (cache_t) { 1024, 8,  64 }; L2_found = True;  break;
-      case 0x7d: *LLc = (cache_t) { 2048, 8,  64 }; L2_found = True;  break;
-      case 0x7e: *LLc = (cache_t) {  256, 8, 128 }; L2_found = True;  break;
-      case 0x7f: *LLc = (cache_t) {  512, 2,  64 }; L2_found = True;  break;
-      case 0x80: *LLc = (cache_t) {  512, 8,  64 }; L2_found = True;  break;
-      case 0x81: *LLc = (cache_t) {  128, 8,  32 }; L2_found = True;  break;
-      case 0x82: *LLc = (cache_t) {  256, 8,  32 }; L2_found = True;  break;
-      case 0x83: *LLc = (cache_t) {  512, 8,  32 }; L2_found = True;  break;
-      case 0x84: *LLc = (cache_t) { 1024, 8,  32 }; L2_found = True;  break;
-      case 0x85: *LLc = (cache_t) { 2048, 8,  32 }; L2_found = True;  break;
-      case 0x86: *LLc = (cache_t) {  512, 4,  64 }; L2_found = True;  break;
-      case 0x87: *LLc = (cache_t) { 1024, 8,  64 }; L2_found = True;  break;
-
-      /* Ignore prefetch information */
-      case 0xf0: case 0xf1:
-         break;
-
-      case 0xff:
-         j = 0;
-         VG_(cpuid)(4, j++, (Int*)&info[0], (Int*)&info[4], 
-                            (Int*)&info[8], (Int*)&info[12]);
-
-         while ((info[0] & 0x1f) != 0) {
-            UInt assoc = ((*(UInt *)&info[4] >> 22) & 0x3ff) + 1;
-            UInt parts = ((*(UInt *)&info[4] >> 12) & 0x3ff) + 1;
-            UInt line_size = (*(UInt *)&info[4] & 0x7ff) + 1;
-            UInt sets = *(UInt *)&info[8] + 1;
-            cache_t c;
-
-            c.size = assoc * parts * line_size * sets / 1024;
-            c.assoc = assoc;
-            c.line_size = line_size;
-
-            switch ((info[0] & 0xe0) >> 5)
-            {
-            case 1:
-               switch (info[0] & 0x1f)
-               {
-               case 1: *D1c = c; break;
-               case 2: *I1c = c; break;
-               case 3: VG_(dmsg)("warning: L1 unified cache ignored\n"); break;
-               default: VG_(dmsg)("warning: L1 cache of unknown type ignored\n"); break;
-               }
-               break;
-            case 2:
-               switch (info[0] & 0x1f)
-               {
-               case 1: VG_(dmsg)("warning: L2 data cache ignored\n"); break;
-               case 2: VG_(dmsg)("warning: L2 instruction cache ignored\n"); break;
-               case 3: *LLc = c; L2_found = True; break;
-               default: VG_(dmsg)("warning: L2 cache of unknown type ignored\n"); break;
-               }
-               break;
-            case 3:
-               switch (info[0] & 0x1f)
-               {
-               case 1: VG_(dmsg)("warning: L3 data cache ignored\n"); break;
-               case 2: VG_(dmsg)("warning: L3 instruction cache ignored\n"); break;
-               case 3: L3c = c; L3_found = True; break;
-               default: VG_(dmsg)("warning: L3 cache of unknown type ignored\n"); break;
-               }
-               break;
-            default:
-               VG_(dmsg)("warning: L%u cache ignored\n", (info[0] & 0xe0) >> 5);
-               break;
-            }
-
-            VG_(cpuid)(4, j++, (Int*)&info[0], (Int*)&info[4], 
-                               (Int*)&info[8], (Int*)&info[12]);
-         }
-         break;
-
-      default:
-         VG_(dmsg)("warning: Unknown Intel cache config value (0x%x), ignoring\n",
-                   info[i]);
-         break;
-      }
-   }
-
-   /* If we found a L3 cache, throw away the L2 data and use the L3's instead. */
-   if (L3_found) {
-      VG_(dmsg)("warning: L3 cache found, using its data for the LL simulation.\n");
-      *LLc = L3c;
-      L2_found = True;
-   }
-
-   if (!L2_found)
-      VG_(dmsg)("warning: L2 cache not installed, ignore LL results.\n");
-
-   return 0;
-}
-
-/* AMD method is straightforward, just extract appropriate bits from the
- * result registers.
- *
- * Bits, for D1 and I1:
- *  31..24  data L1 cache size in KBs    
- *  23..16  data L1 cache associativity (FFh=full)    
- *  15.. 8  data L1 cache lines per tag    
- *   7.. 0  data L1 cache line size in bytes
- *
- * Bits, for L2:
- *  31..16  unified L2 cache size in KBs
- *  15..12  unified L2 cache associativity (0=off, FFh=full)
- *  11.. 8  unified L2 cache lines per tag    
- *   7.. 0  unified L2 cache line size in bytes
- *
- * #3  The AMD K7 processor's L2 cache must be configured prior to relying 
- *     upon this information. (Whatever that means -- njn)
- *
- * Also, according to Cyrille Chepelov, Duron stepping A0 processors (model
- * 0x630) have a bug and misreport their L2 size as 1KB (it's really 64KB),
- * so we detect that.
- * 
- * Returns 0 on success, non-zero on failure.  As with the Intel code
- * above, if a L3 cache is found, then data for it rather than the L2
- * is returned via *LLc.
- */
-
-/* A small helper */
-static Int decode_AMD_cache_L2_L3_assoc ( Int bits_15_12 )
-{
-   /* Decode a L2/L3 associativity indication.  It is encoded
-      differently from the I1/D1 associativity.  Returns 1
-      (direct-map) as a safe but suboptimal result for unknown
-      encodings. */
-   switch (bits_15_12 & 0xF) {
-      case 1: return 1;    case 2: return 2;
-      case 4: return 4;    case 6: return 8;
-      case 8: return 16;   case 0xA: return 32;
-      case 0xB: return 48; case 0xC: return 64;
-      case 0xD: return 96; case 0xE: return 128;
-      case 0xF: /* fully associative */
-      case 0: /* L2/L3 cache or TLB is disabled */
-      default:
-        return 1;
-   }
-}
-
-static
-Int AMD_cache_info(cache_t* I1c, cache_t* D1c, cache_t* LLc)
-{
-   UInt ext_level;
-   UInt dummy, model;
-   UInt I1i, D1i, L2i, L3i;
-   
-   VG_(cpuid)(0x80000000, 0, &ext_level, &dummy, &dummy, &dummy);
-
-   if (0 == (ext_level & 0x80000000) || ext_level < 0x80000006) {
-      VG_(dmsg)("warning: ext_level < 0x80000006 for AMD processor (0x%x)\n", 
-                ext_level);
-      return -1;
-   }
-
-   VG_(cpuid)(0x80000005, 0, &dummy, &dummy, &D1i, &I1i);
-   VG_(cpuid)(0x80000006, 0, &dummy, &dummy, &L2i, &L3i);
-
-   VG_(cpuid)(0x1, 0, &model, &dummy, &dummy, &dummy);
-
-   /* Check for Duron bug */
-   if (model == 0x630) {
-      VG_(dmsg)("warning: Buggy Duron stepping A0. Assuming L2 size=65536 bytes\n");
-      L2i = (64 << 16) | (L2i & 0xffff);
-   }
-
-   D1c->size      = (D1i >> 24) & 0xff;
-   D1c->assoc     = (D1i >> 16) & 0xff;
-   D1c->line_size = (D1i >>  0) & 0xff;
-
-   I1c->size      = (I1i >> 24) & 0xff;
-   I1c->assoc     = (I1i >> 16) & 0xff;
-   I1c->line_size = (I1i >>  0) & 0xff;
-
-   LLc->size      = (L2i >> 16) & 0xffff; /* Nb: different bits used for L2 */
-   LLc->assoc     = decode_AMD_cache_L2_L3_assoc((L2i >> 12) & 0xf);
-   LLc->line_size = (L2i >>  0) & 0xff;
-
-   if (((L3i >> 18) & 0x3fff) > 0) {
-      /* There's an L3 cache.  Replace *LLc contents with this info. */
-      /* NB: the test in the if is "if L3 size > 0 ".  I don't know if
-         this is the right way to test presence-vs-absence of L3.  I
-         can't see any guidance on this in the AMD documentation. */
-      LLc->size      = ((L3i >> 18) & 0x3fff) * 512;
-      LLc->assoc     = decode_AMD_cache_L2_L3_assoc((L3i >> 12) & 0xf);
-      LLc->line_size = (L3i >>  0) & 0xff;
-      VG_(dmsg)("warning: L3 cache found, using its data for the L2 simulation.\n");
-   }
-
-   return 0;
-}
-
-static 
-Int get_caches_from_CPUID(cache_t* I1c, cache_t* D1c, cache_t* LLc)
-{
-   Int  level, ret;
-   Char vendor_id[13];
-
-   if (!VG_(has_cpuid)()) {
-      VG_(dmsg)("CPUID instruction not supported\n");
-      return -1;
-   }
-
-   VG_(cpuid)(0, 0, &level, (int*)&vendor_id[0], 
-	      (int*)&vendor_id[8], (int*)&vendor_id[4]);    
-   vendor_id[12] = '\0';
-
-   if (0 == level) {
-      VG_(dmsg)("CPUID level is 0, early Pentium?\n");
-      return -1;
-   }
-
-   /* Only handling Intel and AMD chips... no Cyrix, Transmeta, etc */
-   if (0 == VG_(strcmp)(vendor_id, "GenuineIntel")) {
-      ret = Intel_cache_info(level, I1c, D1c, LLc);
-
-   } else if (0 == VG_(strcmp)(vendor_id, "AuthenticAMD")) {
-      ret = AMD_cache_info(I1c, D1c, LLc);
-
-   } else if (0 == VG_(strcmp)(vendor_id, "CentaurHauls")) {
-      /* Total kludge.  Pretend to be a VIA Nehemiah. */
-      D1c->size      = 64;
-      D1c->assoc     = 16;
-      D1c->line_size = 16;
-      I1c->size      = 64;
-      I1c->assoc     = 4;
-      I1c->line_size = 16;
-      LLc->size      = 64;
-      LLc->assoc     = 16;
-      LLc->line_size = 16;
-      ret = 0;
-
-   } else {
-      VG_(dmsg)("CPU vendor ID not recognised (%s)\n", vendor_id);
-      return -1;
-   }
-
-   /* Successful!  Convert sizes from KB to bytes */
-   I1c->size *= 1024;
-   D1c->size *= 1024;
-   LLc->size *= 1024;
-
-   /* If the LL cache config isn't something the simulation functions
-      can handle, try to adjust it so it is.  Caches are characterised
-      by (total size T, line size L, associativity A), and then we
-      have
-
-        number of sets S = T / (L * A)
-
-      The required constraints are:
-
-      * L must be a power of 2, but it always is in practice, so
-        no problem there
-
-      * A can be any value >= 1
-
-      * T can be any value, but ..
-
-      * S must be a power of 2.
-
-      That sometimes gives a problem.  For example, some Core iX based
-      Intel CPUs have T = 12MB, A = 16, L = 64, which gives 12288
-      sets.  The "fix" in this case is to increase the associativity
-      by 50% to 24, which reduces the number of sets to 8192, making
-      it a power of 2.  That's what the following code does (handing
-      the "3/2 rescaling case".)  We might need to deal with other
-      ratios later (5/4 ?).
-
-      The "fix" is "justified" (cough, cough) by alleging that
-      increases of associativity above about 4 have very little effect
-      on the actual miss rate.  It would be far more inaccurate to
-      fudge this by changing the size of the simulated cache --
-      changing the associativity is a much better option.
-   */
-   if (LLc->size > 0 && LLc->assoc > 0 && LLc->line_size > 0) {
-      Long nSets = (Long)LLc->size / (Long)(LLc->line_size * LLc->assoc);
-      if (/* stay sane */
-          nSets >= 4
-          /* nSets is not a power of 2 */
-          && VG_(log2_64)( (ULong)nSets ) == -1
-          /* nSets is 50% above a power of 2 */
-          && VG_(log2_64)( (ULong)((2 * nSets) / (Long)3) ) != -1
-          /* associativity can be increased by exactly 50% */
-          && (LLc->assoc % 2) == 0
-         ) {
-         /* # sets is 1.5 * a power of two, but the associativity is
-            even, so we can increase that up by 50% and implicitly
-            scale the # sets down accordingly. */
-         Int new_assoc = LLc->assoc + (LLc->assoc / 2);
-         VG_(dmsg)("warning: pretending that LL cache has associativity"
-                   " %d instead of actual %d\n", new_assoc, LLc->assoc);
-         LLc->assoc = new_assoc;
-      }
-   }
-
-   return ret;
-}
-
-
-void VG_(configure_caches)(cache_t* I1c, cache_t* D1c, cache_t* LLc,
-                           Bool all_caches_clo_defined)
-{
-   Int res;
-   
-   // Set caches to default.
-   *I1c = (cache_t) {  65536, 2, 64 };
-   *D1c = (cache_t) {  65536, 2, 64 };
-   *LLc = (cache_t) { 262144, 8, 64 };
-
-   // Then replace with any info we can get from CPUID.
-   res = get_caches_from_CPUID(I1c, D1c, LLc);
-
-   // Warn if CPUID failed and config not completely specified from cmd line.
-   if (res != 0 && !all_caches_clo_defined) {
-      VG_(dmsg)("Warning: Couldn't auto-detect cache config, using one "
-                "or more defaults \n");
-   }
-}
-
-#endif // defined(VGA_x86) || defined(VGA_amd64)
-
-/*--------------------------------------------------------------------*/
-/*--- end                                                          ---*/
-/*--------------------------------------------------------------------*/
diff --git a/cachegrind/cg_arch.h b/cachegrind/cg_arch.h
index 68f9ab3..cd0b74f 100644
--- a/cachegrind/cg_arch.h
+++ b/cachegrind/cg_arch.h
@@ -7,7 +7,7 @@
    This file is part of Cachegrind, a Valgrind tool for cache
    profiling programs.
 
-   Copyright (C) 2002-2011 Nicholas Nethercote
+   Copyright (C) 2002-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -44,15 +44,10 @@
 // initialized to UNDEFINED_CACHE.
 #define UNDEFINED_CACHE     { -1, -1, -1 }
 
-// Gives the auto-detected configuration of I1, D1 and LL caches.  They get
-// overridden by any cache configurations specified on the command line.
-void VG_(configure_caches)(cache_t* I1c, cache_t* D1c, cache_t* LLc,
-                           Bool all_caches_clo_defined);
-
 // If arg is a command line option configuring I1 or D1 or LL cache,
 // then parses arg to set the relevant cache_t elements.
 // Returns True if arg is a cache command line option, False otherwise.
-Bool VG_(str_clo_cache_opt)(Char *arg,
+Bool VG_(str_clo_cache_opt)(const HChar *arg,
                             cache_t* clo_I1c,
                             cache_t* clo_D1c,
                             cache_t* clo_LLc);
diff --git a/cachegrind/cg_branchpred.c b/cachegrind/cg_branchpred.c
index 1db7fb5..0324d31 100644
--- a/cachegrind/cg_branchpred.c
+++ b/cachegrind/cg_branchpred.c
@@ -7,7 +7,7 @@
    This file is part of Cachegrind, a Valgrind tool for cache
    profiling programs.
 
-   Copyright (C) 2002-2011 Nicholas Nethercote
+   Copyright (C) 2002-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -44,7 +44,8 @@
 
 /* How many bits at the bottom of an instruction address are
    guaranteed to be zero? */
-#if defined(VGA_ppc32) || defined(VGA_ppc64) || defined(VGA_arm)
+#if defined(VGA_ppc32) || defined(VGA_ppc64) || defined(VGA_arm) \
+    || defined(VGA_mips32) || defined(VGA_mips64)
 #  define N_IADDR_LO_ZERO_BITS 2
 #elif defined(VGA_x86) || defined(VGA_amd64)
 #  define N_IADDR_LO_ZERO_BITS 0
diff --git a/cachegrind/cg_main.c b/cachegrind/cg_main.c
index 4b36204..d136875 100644
--- a/cachegrind/cg_main.c
+++ b/cachegrind/cg_main.c
@@ -8,7 +8,7 @@
    This file is part of Cachegrind, a Valgrind tool for cache
    profiling programs.
 
-   Copyright (C) 2002-2011 Nicholas Nethercote
+   Copyright (C) 2002-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -67,7 +67,13 @@
 
 static Bool  clo_cache_sim  = True;  /* do cache simulation? */
 static Bool  clo_branch_sim = False; /* do branch simulation? */
-static Char* clo_cachegrind_out_file = "cachegrind.out.%p";
+static const HChar* clo_cachegrind_out_file = "cachegrind.out.%p";
+
+/*------------------------------------------------------------*/
+/*--- Cachesim configuration                               ---*/
+/*------------------------------------------------------------*/
+
+static Int min_line_size = 0; /* min of L1 and LL cache line sizes */
 
 /*------------------------------------------------------------*/
 /*--- Types and Data Structures                            ---*/
@@ -96,9 +102,9 @@
 // - Traversed for dumping stats at end in file/func/line hierarchy.
 
 typedef struct {
-   Char* file;
-   Char* fn;
-   Int   line;
+   HChar* file;
+   HChar* fn;
+   Int    line;
 }
 CodeLoc;
 
@@ -115,8 +121,8 @@
 static Word cmp_CodeLoc_LineCC(const void *vloc, const void *vcc)
 {
    Word res;
-   CodeLoc* a = (CodeLoc*)vloc;
-   CodeLoc* b = &(((LineCC*)vcc)->loc);
+   const CodeLoc* a = (const CodeLoc*)vloc;
+   const CodeLoc* b = &(((const LineCC*)vcc)->loc);
 
    res = VG_(strcmp)(a->file, b->file);
    if (0 != res)
@@ -171,7 +177,8 @@
 static Int  distinct_files      = 0;
 static Int  distinct_fns        = 0;
 static Int  distinct_lines      = 0;
-static Int  distinct_instrs     = 0;
+static Int  distinct_instrsGen  = 0;
+static Int  distinct_instrsNoX  = 0;
 
 static Int  full_debugs         = 0;
 static Int  file_line_debugs    = 0;
@@ -184,18 +191,18 @@
 
 static Word stringCmp( const void* key, const void* elem )
 {
-   return VG_(strcmp)(*(Char**)key, *(Char**)elem);
+   return VG_(strcmp)(*(const HChar *const *)key, *(const HChar *const *)elem);
 }
 
 // Get a permanent string;  either pull it out of the string table if it's
 // been encountered before, or dup it and put it into the string table.
-static Char* get_perm_string(Char* s)
+static HChar* get_perm_string(HChar* s)
 {
-   Char** s_ptr = VG_(OSetGen_Lookup)(stringTable, &s);
+   HChar** s_ptr = VG_(OSetGen_Lookup)(stringTable, &s);
    if (s_ptr) {
       return *s_ptr;
    } else {
-      Char** s_node = VG_(OSetGen_AllocNode)(stringTable, sizeof(Char*));
+      HChar** s_node = VG_(OSetGen_AllocNode)(stringTable, sizeof(HChar*));
       *s_node = VG_(strdup)("cg.main.gps.1", s);
       VG_(OSetGen_Insert)(stringTable, s_node);
       return *s_node;
@@ -206,10 +213,10 @@
 /*--- CC table operations                                  ---*/
 /*------------------------------------------------------------*/
 
-static void get_debug_info(Addr instr_addr, Char file[FILE_LEN],
-                           Char fn[FN_LEN], Int* line)
+static void get_debug_info(Addr instr_addr, HChar file[FILE_LEN],
+                           HChar fn[FN_LEN], UInt* line)
 {
-   Char dir[FILE_LEN];
+   HChar dir[FILE_LEN];
    Bool found_dirname;
    Bool found_file_line = VG_(get_filename_linenum)(
                              instr_addr, 
@@ -248,8 +255,8 @@
 // Returns a pointer to the line CC, creates a new one if necessary.
 static LineCC* get_lineCC(Addr origAddr)
 {
-   Char    file[FILE_LEN], fn[FN_LEN];
-   Int     line;
+   HChar   file[FILE_LEN], fn[FN_LEN];
+   UInt    line;
    CodeLoc loc;
    LineCC* lineCC;
 
@@ -289,16 +296,28 @@
 /*--- Cache simulation functions                           ---*/
 /*------------------------------------------------------------*/
 
+/* A common case for an instruction read event is that the
+ * bytes read belong to the same cache line in both L1I and LL
+ * (if cache line sizes of L1 and LL are the same).
+ * As this can be detected at instrumentation time, and results
+ * in faster simulation, special-casing is benefical.
+ *
+ * Abbrevations used in var/function names:
+ *  IrNoX - instruction read does not cross cache lines
+ *  IrGen - generic instruction read; not detected as IrNoX
+ *  Ir    - not known / not important whether it is an IrNoX
+ */
+
 // Only used with --cache-sim=no.
 static VG_REGPARM(1)
-void log_1I(InstrInfo* n)
+void log_1Ir(InstrInfo* n)
 {
    n->parent->Ir.a++;
 }
 
 // Only used with --cache-sim=no.
 static VG_REGPARM(2)
-void log_2I(InstrInfo* n, InstrInfo* n2)
+void log_2Ir(InstrInfo* n, InstrInfo* n2)
 {
    n->parent->Ir.a++;
    n2->parent->Ir.a++;
@@ -306,66 +325,78 @@
 
 // Only used with --cache-sim=no.
 static VG_REGPARM(3)
-void log_3I(InstrInfo* n, InstrInfo* n2, InstrInfo* n3)
+void log_3Ir(InstrInfo* n, InstrInfo* n2, InstrInfo* n3)
 {
    n->parent->Ir.a++;
    n2->parent->Ir.a++;
    n3->parent->Ir.a++;
 }
 
+// Generic case for instruction reads: may cross cache lines.
+// All other Ir handlers expect IrNoX instruction reads.
 static VG_REGPARM(1)
-void log_1I_0D_cache_access(InstrInfo* n)
+void log_1IrGen_0D_cache_access(InstrInfo* n)
 {
-   //VG_(printf)("1I_0D :  CCaddr=0x%010lx,  iaddr=0x%010lx,  isize=%lu\n",
+   //VG_(printf)("1IrGen_0D :  CCaddr=0x%010lx,  iaddr=0x%010lx,  isize=%lu\n",
    //             n, n->instr_addr, n->instr_len);
-   cachesim_I1_doref(n->instr_addr, n->instr_len, 
-                     &n->parent->Ir.m1, &n->parent->Ir.mL);
+   cachesim_I1_doref_Gen(n->instr_addr, n->instr_len,
+			 &n->parent->Ir.m1, &n->parent->Ir.mL);
+   n->parent->Ir.a++;
+}
+
+static VG_REGPARM(1)
+void log_1IrNoX_0D_cache_access(InstrInfo* n)
+{
+   //VG_(printf)("1IrNoX_0D :  CCaddr=0x%010lx,  iaddr=0x%010lx,  isize=%lu\n",
+   //             n, n->instr_addr, n->instr_len);
+   cachesim_I1_doref_NoX(n->instr_addr, n->instr_len,
+			 &n->parent->Ir.m1, &n->parent->Ir.mL);
    n->parent->Ir.a++;
 }
 
 static VG_REGPARM(2)
-void log_2I_0D_cache_access(InstrInfo* n, InstrInfo* n2)
+void log_2IrNoX_0D_cache_access(InstrInfo* n, InstrInfo* n2)
 {
-   //VG_(printf)("2I_0D : CC1addr=0x%010lx, i1addr=0x%010lx, i1size=%lu\n"
-   //            "        CC2addr=0x%010lx, i2addr=0x%010lx, i2size=%lu\n",
+   //VG_(printf)("2IrNoX_0D : CC1addr=0x%010lx, i1addr=0x%010lx, i1size=%lu\n"
+   //            "            CC2addr=0x%010lx, i2addr=0x%010lx, i2size=%lu\n",
    //            n,  n->instr_addr,  n->instr_len,
    //            n2, n2->instr_addr, n2->instr_len);
-   cachesim_I1_doref(n->instr_addr, n->instr_len, 
-                     &n->parent->Ir.m1, &n->parent->Ir.mL);
+   cachesim_I1_doref_NoX(n->instr_addr, n->instr_len,
+			 &n->parent->Ir.m1, &n->parent->Ir.mL);
    n->parent->Ir.a++;
-   cachesim_I1_doref(n2->instr_addr, n2->instr_len, 
-                     &n2->parent->Ir.m1, &n2->parent->Ir.mL);
+   cachesim_I1_doref_NoX(n2->instr_addr, n2->instr_len,
+			 &n2->parent->Ir.m1, &n2->parent->Ir.mL);
    n2->parent->Ir.a++;
 }
 
 static VG_REGPARM(3)
-void log_3I_0D_cache_access(InstrInfo* n, InstrInfo* n2, InstrInfo* n3)
+void log_3IrNoX_0D_cache_access(InstrInfo* n, InstrInfo* n2, InstrInfo* n3)
 {
-   //VG_(printf)("3I_0D : CC1addr=0x%010lx, i1addr=0x%010lx, i1size=%lu\n"
-   //            "        CC2addr=0x%010lx, i2addr=0x%010lx, i2size=%lu\n"
-   //            "        CC3addr=0x%010lx, i3addr=0x%010lx, i3size=%lu\n",
+   //VG_(printf)("3IrNoX_0D : CC1addr=0x%010lx, i1addr=0x%010lx, i1size=%lu\n"
+   //            "            CC2addr=0x%010lx, i2addr=0x%010lx, i2size=%lu\n"
+   //            "            CC3addr=0x%010lx, i3addr=0x%010lx, i3size=%lu\n",
    //            n,  n->instr_addr,  n->instr_len,
    //            n2, n2->instr_addr, n2->instr_len,
    //            n3, n3->instr_addr, n3->instr_len);
-   cachesim_I1_doref(n->instr_addr, n->instr_len, 
-                     &n->parent->Ir.m1, &n->parent->Ir.mL);
+   cachesim_I1_doref_NoX(n->instr_addr, n->instr_len,
+			 &n->parent->Ir.m1, &n->parent->Ir.mL);
    n->parent->Ir.a++;
-   cachesim_I1_doref(n2->instr_addr, n2->instr_len, 
-                     &n2->parent->Ir.m1, &n2->parent->Ir.mL);
+   cachesim_I1_doref_NoX(n2->instr_addr, n2->instr_len,
+			 &n2->parent->Ir.m1, &n2->parent->Ir.mL);
    n2->parent->Ir.a++;
-   cachesim_I1_doref(n3->instr_addr, n3->instr_len, 
-                     &n3->parent->Ir.m1, &n3->parent->Ir.mL);
+   cachesim_I1_doref_NoX(n3->instr_addr, n3->instr_len,
+			 &n3->parent->Ir.m1, &n3->parent->Ir.mL);
    n3->parent->Ir.a++;
 }
 
 static VG_REGPARM(3)
-void log_1I_1Dr_cache_access(InstrInfo* n, Addr data_addr, Word data_size)
+void log_1IrNoX_1Dr_cache_access(InstrInfo* n, Addr data_addr, Word data_size)
 {
-   //VG_(printf)("1I_1Dr:  CCaddr=0x%010lx,  iaddr=0x%010lx,  isize=%lu\n"
+   //VG_(printf)("1IrNoX_1Dr:  CCaddr=0x%010lx,  iaddr=0x%010lx,  isize=%lu\n"
    //            "                               daddr=0x%010lx,  dsize=%lu\n",
    //            n, n->instr_addr, n->instr_len, data_addr, data_size);
-   cachesim_I1_doref(n->instr_addr, n->instr_len, 
-                     &n->parent->Ir.m1, &n->parent->Ir.mL);
+   cachesim_I1_doref_NoX(n->instr_addr, n->instr_len,
+			 &n->parent->Ir.m1, &n->parent->Ir.mL);
    n->parent->Ir.a++;
 
    cachesim_D1_doref(data_addr, data_size, 
@@ -374,13 +405,13 @@
 }
 
 static VG_REGPARM(3)
-void log_1I_1Dw_cache_access(InstrInfo* n, Addr data_addr, Word data_size)
+void log_1IrNoX_1Dw_cache_access(InstrInfo* n, Addr data_addr, Word data_size)
 {
-   //VG_(printf)("1I_1Dw:  CCaddr=0x%010lx,  iaddr=0x%010lx,  isize=%lu\n"
+   //VG_(printf)("1IrNoX_1Dw:  CCaddr=0x%010lx,  iaddr=0x%010lx,  isize=%lu\n"
    //            "                               daddr=0x%010lx,  dsize=%lu\n",
    //            n, n->instr_addr, n->instr_len, data_addr, data_size);
-   cachesim_I1_doref(n->instr_addr, n->instr_len, 
-                     &n->parent->Ir.m1, &n->parent->Ir.mL);
+   cachesim_I1_doref_NoX(n->instr_addr, n->instr_len,
+			 &n->parent->Ir.m1, &n->parent->Ir.mL);
    n->parent->Ir.a++;
 
    cachesim_D1_doref(data_addr, data_size, 
@@ -388,20 +419,24 @@
    n->parent->Dw.a++;
 }
 
+/* Note that addEvent_D_guarded assumes that log_0Ir_1Dr_cache_access
+   and log_0Ir_1Dw_cache_access have exactly the same prototype.  If
+   you change them, you must change addEvent_D_guarded too. */
 static VG_REGPARM(3)
-void log_0I_1Dr_cache_access(InstrInfo* n, Addr data_addr, Word data_size)
+void log_0Ir_1Dr_cache_access(InstrInfo* n, Addr data_addr, Word data_size)
 {
-   //VG_(printf)("0I_1Dr:  CCaddr=0x%010lx,  daddr=0x%010lx,  dsize=%lu\n",
+   //VG_(printf)("0Ir_1Dr:  CCaddr=0x%010lx,  daddr=0x%010lx,  dsize=%lu\n",
    //            n, data_addr, data_size);
    cachesim_D1_doref(data_addr, data_size, 
                      &n->parent->Dr.m1, &n->parent->Dr.mL);
    n->parent->Dr.a++;
 }
 
+/* See comment on log_0Ir_1Dr_cache_access. */
 static VG_REGPARM(3)
-void log_0I_1Dw_cache_access(InstrInfo* n, Addr data_addr, Word data_size)
+void log_0Ir_1Dw_cache_access(InstrInfo* n, Addr data_addr, Word data_size)
 {
-   //VG_(printf)("0I_1Dw:  CCaddr=0x%010lx,  daddr=0x%010lx,  dsize=%lu\n",
+   //VG_(printf)("0Ir_1Dw:  CCaddr=0x%010lx,  daddr=0x%010lx,  dsize=%lu\n",
    //            n, data_addr, data_size);
    cachesim_D1_doref(data_addr, data_size, 
                      &n->parent->Dw.m1, &n->parent->Dw.mL);
@@ -473,12 +508,13 @@
 
 typedef 
    enum { 
-      Ev_Ir,  // Instruction read
-      Ev_Dr,  // Data read
-      Ev_Dw,  // Data write
-      Ev_Dm,  // Data modify (read then write)
-      Ev_Bc,  // branch conditional
-      Ev_Bi   // branch indirect (to unknown destination)
+      Ev_IrNoX,  // Instruction read not crossing cache lines
+      Ev_IrGen,  // Generic Ir, not being detected as IrNoX
+      Ev_Dr,     // Data read
+      Ev_Dw,     // Data write
+      Ev_Dm,     // Data modify (read then write)
+      Ev_Bc,     // branch conditional
+      Ev_Bi      // branch indirect (to unknown destination)
    }
    EventTag;
 
@@ -488,7 +524,9 @@
       InstrInfo* inode;
       union {
          struct {
-         } Ir;
+         } IrGen;
+         struct {
+         } IrNoX;
          struct {
             IRAtom* ea;
             Int     szB;
@@ -595,7 +633,6 @@
    sbInfo->SB_addr  = origAddr;
    sbInfo->n_instrs = n_instrs;
    VG_(OSetGen_Insert)( instrInfoTable, sbInfo );
-   distinct_instrs++;
 
    return sbInfo;
 }
@@ -604,8 +641,11 @@
 static void showEvent ( Event* ev )
 {
    switch (ev->tag) {
-      case Ev_Ir: 
-         VG_(printf)("Ir %p\n", ev->inode);
+      case Ev_IrGen:
+         VG_(printf)("IrGen %p\n", ev->inode);
+         break;
+      case Ev_IrNoX:
+         VG_(printf)("IrNoX %p\n", ev->inode);
          break;
       case Ev_Dr:
          VG_(printf)("Dr %p %d EA=", ev->inode, ev->Ev.Dr.szB);
@@ -661,7 +701,7 @@
 static void flushEvents ( CgState* cgs )
 {
    Int        i, regparms;
-   Char*      helperName;
+   const HChar* helperName;
    void*      helperAddr;
    IRExpr**   argv;
    IRExpr*    i_node_expr;
@@ -696,8 +736,8 @@
       /* Decide on helper fn to call and args to pass it, and advance
          i appropriately. */
       switch (ev->tag) {
-         case Ev_Ir:
-            /* Merge an Ir with a following Dr/Dm. */
+         case Ev_IrNoX:
+            /* Merge an IrNoX with a following Dr/Dm. */
             if (ev2 && (ev2->tag == Ev_Dr || ev2->tag == Ev_Dm)) {
                /* Why is this true?  It's because we're merging an Ir
                   with a following Dr or Dm.  The Ir derives from the
@@ -708,36 +748,36 @@
                   immediately preceding Ir.  Same applies to analogous
                   assertions in the subsequent cases. */
                tl_assert(ev2->inode == ev->inode);
-               helperName = "log_1I_1Dr_cache_access";
-               helperAddr = &log_1I_1Dr_cache_access;
+               helperName = "log_1IrNoX_1Dr_cache_access";
+               helperAddr = &log_1IrNoX_1Dr_cache_access;
                argv = mkIRExprVec_3( i_node_expr,
                                      get_Event_dea(ev2),
                                      mkIRExpr_HWord( get_Event_dszB(ev2) ) );
                regparms = 3;
                i += 2;
             }
-            /* Merge an Ir with a following Dw. */
+            /* Merge an IrNoX with a following Dw. */
             else
             if (ev2 && ev2->tag == Ev_Dw) {
                tl_assert(ev2->inode == ev->inode);
-               helperName = "log_1I_1Dw_cache_access";
-               helperAddr = &log_1I_1Dw_cache_access;
+               helperName = "log_1IrNoX_1Dw_cache_access";
+               helperAddr = &log_1IrNoX_1Dw_cache_access;
                argv = mkIRExprVec_3( i_node_expr,
                                      get_Event_dea(ev2),
                                      mkIRExpr_HWord( get_Event_dszB(ev2) ) );
                regparms = 3;
                i += 2;
             }
-            /* Merge an Ir with two following Irs. */
+            /* Merge an IrNoX with two following IrNoX's. */
             else
-            if (ev2 && ev3 && ev2->tag == Ev_Ir && ev3->tag == Ev_Ir)
+            if (ev2 && ev3 && ev2->tag == Ev_IrNoX && ev3->tag == Ev_IrNoX)
             {
                if (clo_cache_sim) {
-                  helperName = "log_3I_0D_cache_access";
-                  helperAddr = &log_3I_0D_cache_access;
+                  helperName = "log_3IrNoX_0D_cache_access";
+                  helperAddr = &log_3IrNoX_0D_cache_access;
                } else {
-                  helperName = "log_3I";
-                  helperAddr = &log_3I;
+                  helperName = "log_3Ir";
+                  helperAddr = &log_3Ir;
                }
                argv = mkIRExprVec_3( i_node_expr, 
                                      mkIRExpr_HWord( (HWord)ev2->inode ), 
@@ -745,15 +785,15 @@
                regparms = 3;
                i += 3;
             }
-            /* Merge an Ir with one following Ir. */
+            /* Merge an IrNoX with one following IrNoX. */
             else
-            if (ev2 && ev2->tag == Ev_Ir) {
+            if (ev2 && ev2->tag == Ev_IrNoX) {
                if (clo_cache_sim) {
-                  helperName = "log_2I_0D_cache_access";
-                  helperAddr = &log_2I_0D_cache_access;
+                  helperName = "log_2IrNoX_0D_cache_access";
+                  helperAddr = &log_2IrNoX_0D_cache_access;
                } else {
-                  helperName = "log_2I";
-                  helperAddr = &log_2I;
+                  helperName = "log_2Ir";
+                  helperAddr = &log_2Ir;
                }
                argv = mkIRExprVec_2( i_node_expr,
                                      mkIRExpr_HWord( (HWord)ev2->inode ) );
@@ -763,22 +803,34 @@
             /* No merging possible; emit as-is. */
             else {
                if (clo_cache_sim) {
-                  helperName = "log_1I_0D_cache_access";
-                  helperAddr = &log_1I_0D_cache_access;
+                  helperName = "log_1IrNoX_0D_cache_access";
+                  helperAddr = &log_1IrNoX_0D_cache_access;
                } else {
-                  helperName = "log_1I";
-                  helperAddr = &log_1I;
+                  helperName = "log_1Ir";
+                  helperAddr = &log_1Ir;
                }
                argv = mkIRExprVec_1( i_node_expr );
                regparms = 1;
                i++;
             }
             break;
+         case Ev_IrGen:
+            if (clo_cache_sim) {
+	       helperName = "log_1IrGen_0D_cache_access";
+	       helperAddr = &log_1IrGen_0D_cache_access;
+	    } else {
+	       helperName = "log_1Ir";
+	       helperAddr = &log_1Ir;
+	    }
+	    argv = mkIRExprVec_1( i_node_expr );
+	    regparms = 1;
+	    i++;
+            break;
          case Ev_Dr:
          case Ev_Dm:
             /* Data read or modify */
-            helperName = "log_0I_1Dr_cache_access";
-            helperAddr = &log_0I_1Dr_cache_access;
+            helperName = "log_0Ir_1Dr_cache_access";
+            helperAddr = &log_0Ir_1Dr_cache_access;
             argv = mkIRExprVec_3( i_node_expr, 
                                   get_Event_dea(ev), 
                                   mkIRExpr_HWord( get_Event_dszB(ev) ) );
@@ -787,8 +839,8 @@
             break;
          case Ev_Dw:
             /* Data write */
-            helperName = "log_0I_1Dw_cache_access";
-            helperAddr = &log_0I_1Dw_cache_access;
+            helperName = "log_0Ir_1Dw_cache_access";
+            helperAddr = &log_0Ir_1Dw_cache_access;
             argv = mkIRExprVec_3( i_node_expr,
                                   get_Event_dea(ev), 
                                   mkIRExpr_HWord( get_Event_dszB(ev) ) );
@@ -836,8 +888,14 @@
    tl_assert(cgs->events_used >= 0 && cgs->events_used < N_EVENTS);
    evt = &cgs->events[cgs->events_used];
    init_Event(evt);
-   evt->tag      = Ev_Ir;
    evt->inode    = inode;
+   if (cachesim_is_IrNoX(inode->instr_addr, inode->instr_len)) {
+      evt->tag = Ev_IrNoX;
+      distinct_instrsNoX++;
+   } else {
+      evt->tag = Ev_IrGen;
+      distinct_instrsGen++;
+   }
    cgs->events_used++;
 }
 
@@ -846,7 +904,7 @@
 {
    Event* evt;
    tl_assert(isIRAtom(ea));
-   tl_assert(datasize >= 1 && datasize <= MIN_LINE_SIZE);
+   tl_assert(datasize >= 1 && datasize <= min_line_size);
    if (!clo_cache_sim)
       return;
    if (cgs->events_used == N_EVENTS)
@@ -868,7 +926,7 @@
    Event* evt;
 
    tl_assert(isIRAtom(ea));
-   tl_assert(datasize >= 1 && datasize <= MIN_LINE_SIZE);
+   tl_assert(datasize >= 1 && datasize <= min_line_size);
 
    if (!clo_cache_sim)
       return;
@@ -876,10 +934,10 @@
    /* Is it possible to merge this write with the preceding read? */
    lastEvt = &cgs->events[cgs->events_used-1];
    if (cgs->events_used > 0
-    && lastEvt->tag       == Ev_Dr
-    && lastEvt->Ev.Dr.szB == datasize
-    && lastEvt->inode     == inode
-    && eqIRAtom(lastEvt->Ev.Dr.ea, ea))
+       && lastEvt->tag       == Ev_Dr
+       && lastEvt->Ev.Dr.szB == datasize
+       && lastEvt->inode     == inode
+       && eqIRAtom(lastEvt->Ev.Dr.ea, ea))
    {
       lastEvt->tag   = Ev_Dm;
       return;
@@ -899,6 +957,52 @@
 }
 
 static
+void addEvent_D_guarded ( CgState* cgs, InstrInfo* inode,
+                          Int datasize, IRAtom* ea, IRAtom* guard,
+                          Bool isWrite )
+{
+   tl_assert(isIRAtom(ea));
+   tl_assert(guard);
+   tl_assert(isIRAtom(guard));
+   tl_assert(datasize >= 1 && datasize <= min_line_size);
+
+   if (!clo_cache_sim)
+      return;
+
+   /* Adding guarded memory actions and merging them with the existing
+      queue is too complex.  Simply flush the queue and add this
+      action immediately.  Since guarded loads and stores are pretty
+      rare, this is not thought likely to cause any noticeable
+      performance loss as a result of the loss of event-merging
+      opportunities. */
+   tl_assert(cgs->events_used >= 0);
+   flushEvents(cgs);
+   tl_assert(cgs->events_used == 0);
+   /* Same as case Ev_Dw / case Ev_Dr in flushEvents, except with guard */
+   IRExpr*      i_node_expr;
+   const HChar* helperName;
+   void*        helperAddr;
+   IRExpr**     argv;
+   Int          regparms;
+   IRDirty*     di;
+   i_node_expr = mkIRExpr_HWord( (HWord)inode );
+   helperName  = isWrite ? "log_0Ir_1Dw_cache_access"
+                         : "log_0Ir_1Dr_cache_access";
+   helperAddr  = isWrite ? &log_0Ir_1Dw_cache_access
+                         : &log_0Ir_1Dr_cache_access;
+   argv        = mkIRExprVec_3( i_node_expr,
+                                ea, mkIRExpr_HWord( datasize ) );
+   regparms    = 3;
+   di          = unsafeIRDirty_0_N(
+                    regparms, 
+                    helperName, VG_(fnptr_to_fnentry)( helperAddr ), 
+                    argv );
+   di->guard = guard;
+   addStmtToIRSB( cgs->sbOut, IRStmt_Dirty(di) );
+}
+
+
+static
 void addEvent_Bc ( CgState* cgs, InstrInfo* inode, IRAtom* guard )
 {
    Event* evt;
@@ -946,6 +1050,7 @@
                       IRSB* sbIn, 
                       VexGuestLayout* layout, 
                       VexGuestExtents* vge,
+                      VexArchInfo* archinfo_host,
                       IRType gWordTy, IRType hWordTy )
 {
    Int        i, isize;
@@ -1046,6 +1151,31 @@
             break;
          }
 
+         case Ist_StoreG: {
+            IRStoreG* sg   = st->Ist.StoreG.details;
+            IRExpr*   data = sg->data;
+            IRExpr*   addr = sg->addr;
+            IRType    type = typeOfIRExpr(tyenv, data);
+            tl_assert(type != Ity_INVALID);
+            addEvent_D_guarded( &cgs, curr_inode,
+                                sizeofIRType(type), addr, sg->guard,
+                                True/*isWrite*/ );
+            break;
+         }
+
+         case Ist_LoadG: {
+            IRLoadG* lg       = st->Ist.LoadG.details;
+            IRType   type     = Ity_INVALID; /* loaded type */
+            IRType   typeWide = Ity_INVALID; /* after implicit widening */
+            IRExpr*  addr     = lg->addr;
+            typeOfIRLoadGOp(lg->cvt, &typeWide, &type);
+            tl_assert(type != Ity_INVALID);
+            addEvent_D_guarded( &cgs, curr_inode,
+                                sizeofIRType(type), addr, lg->guard,
+                                False/*!isWrite*/ );
+            break;
+         }
+
          case Ist_Dirty: {
             Int      dataSize;
             IRDirty* d = st->Ist.Dirty.details;
@@ -1058,8 +1188,8 @@
                // instructions will be done inaccurately, but they're
                // very rare and this avoids errors from hitting more
                // than two cache lines in the simulation.
-               if (dataSize > MIN_LINE_SIZE)
-                  dataSize = MIN_LINE_SIZE;
+               if (dataSize > min_line_size)
+                  dataSize = min_line_size;
                if (d->mFx == Ifx_Read || d->mFx == Ifx_Modify)
                   addEvent_Dr( &cgs, curr_inode, dataSize, d->mAddr );
                if (d->mFx == Ifx_Write || d->mFx == Ifx_Modify)
@@ -1085,8 +1215,8 @@
             if (cas->dataHi != NULL)
                dataSize *= 2; /* since it's a doubleword-CAS */
             /* I don't think this can ever happen, but play safe. */
-            if (dataSize > MIN_LINE_SIZE)
-               dataSize = MIN_LINE_SIZE;
+            if (dataSize > min_line_size)
+               dataSize = min_line_size;
             addEvent_Dr( &cgs, curr_inode, dataSize, cas->addr );
             addEvent_Dw( &cgs, curr_inode, dataSize, cas->addr );
             break;
@@ -1099,6 +1229,8 @@
                dataTy = typeOfIRTemp(tyenv, st->Ist.LLSC.result);
                addEvent_Dr( &cgs, curr_inode,
                             sizeofIRType(dataTy), st->Ist.LLSC.addr );
+               /* flush events before LL, should help SC to succeed */
+               flushEvents( &cgs );
             } else {
                /* SC */
                dataTy = typeOfIRExpr(tyenv, st->Ist.LLSC.storedata);
@@ -1176,6 +1308,7 @@
          }
 
          default:
+            ppIRStmt(st);
             tl_assert(0);
             break;
       }
@@ -1252,7 +1385,8 @@
 {
    Int     i, fd;
    SysRes  sres;
-   Char    buf[512], *currFile = NULL, *currFn = NULL;
+   HChar    buf[512];
+   HChar   *currFile = NULL, *currFn = NULL;
    LineCC* lineCC;
 
    // Setup output filename.  Nb: it's important to do this now, ie. as late
@@ -1260,7 +1394,7 @@
    // output file format string contains a %p (pid) specifier, both the
    // parent and child will incorrectly write to the same file;  this
    // happened in 3.3.0.
-   Char* cachegrind_out_file =
+   HChar* cachegrind_out_file =
       VG_(expand_file_name)("--cachegrind-out-file", clo_cachegrind_out_file);
 
    sres = VG_(open)(cachegrind_out_file, VKI_O_CREAT|VKI_O_TRUNC|VKI_O_WRONLY,
@@ -1457,7 +1591,8 @@
 
 static void cg_fini(Int exitcode)
 {
-   static Char buf1[128], buf2[128], buf3[128], buf4[123], fmt[128];
+   static HChar buf1[128], buf2[128], buf3[128], buf4[123];
+   static HChar fmt[128];
 
    CacheCC  D_total;
    BranchCC B_total;
@@ -1581,10 +1716,11 @@
                           file_line_debugs + no_debugs;
 
       VG_(dmsg)("\n");
-      VG_(dmsg)("cachegrind: distinct files: %d\n", distinct_files);
-      VG_(dmsg)("cachegrind: distinct fns:   %d\n", distinct_fns);
-      VG_(dmsg)("cachegrind: distinct lines: %d\n", distinct_lines);
-      VG_(dmsg)("cachegrind: distinct instrs:%d\n", distinct_instrs);
+      VG_(dmsg)("cachegrind: distinct files     : %d\n", distinct_files);
+      VG_(dmsg)("cachegrind: distinct functions : %d\n", distinct_fns);
+      VG_(dmsg)("cachegrind: distinct lines     : %d\n", distinct_lines);
+      VG_(dmsg)("cachegrind: distinct instrs NoX: %d\n", distinct_instrsNoX);
+      VG_(dmsg)("cachegrind: distinct instrs Gen: %d\n", distinct_instrsGen);
       VG_(dmsg)("cachegrind: debug lookups      : %d\n", debug_lookups);
       
       VG_(percentify)(full_debugs,      debug_lookups, 1, 6, buf1);
@@ -1640,7 +1776,7 @@
 /*--- Command line processing                                      ---*/
 /*--------------------------------------------------------------------*/
 
-static Bool cg_process_cmd_line_option(Char* arg)
+static Bool cg_process_cmd_line_option(const HChar* arg)
 {
    if (VG_(str_clo_cache_opt)(arg,
                               &clo_I1_cache,
@@ -1685,10 +1821,12 @@
    VG_(details_version)         (NULL);
    VG_(details_description)     ("a cache and branch-prediction profiler");
    VG_(details_copyright_author)(
-      "Copyright (C) 2002-2011, and GNU GPL'd, by Nicholas Nethercote et al.");
+      "Copyright (C) 2002-2012, and GNU GPL'd, by Nicholas Nethercote et al.");
    VG_(details_bug_reports_to)  (VG_BUGS_TO);
    VG_(details_avg_translation_sizeB) ( 500 );
 
+   VG_(clo_vex_control).iropt_register_updates
+      = VexRegUpdSpAtMemAccess; // overridable by the user.
    VG_(basic_tool_funcs)          (cg_post_clo_init,
                                    cg_instrument,
                                    cg_fini);
@@ -1724,9 +1862,27 @@
                                        &clo_D1_cache,
                                        &clo_LL_cache);
 
-   cachesim_I1_initcache(I1c);
-   cachesim_D1_initcache(D1c);
-   cachesim_LL_initcache(LLc);
+   // min_line_size is used to make sure that we never feed
+   // accesses to the simulator straddling more than two
+   // cache lines at any cache level
+   min_line_size = (I1c.line_size < D1c.line_size) ? I1c.line_size : D1c.line_size;
+   min_line_size = (LLc.line_size < min_line_size) ? LLc.line_size : min_line_size;
+
+   Int largest_load_or_store_size
+      = VG_(machine_get_size_of_largest_guest_register)();
+   if (min_line_size < largest_load_or_store_size) {
+      /* We can't continue, because the cache simulation might
+         straddle more than 2 lines, and it will assert.  So let's
+         just stop before we start. */
+      VG_(umsg)("Cachegrind: cannot continue: the minimum line size (%d)\n",
+                (Int)min_line_size);
+      VG_(umsg)("  must be equal to or larger than the maximum register size (%d)\n",
+                largest_load_or_store_size );
+      VG_(umsg)("  but it is not.  Exiting now.\n");
+      VG_(exit)(1);
+   }
+
+   cachesim_initcaches(I1c, D1c, LLc);
 }
 
 VG_DETERMINE_INTERFACE_VERSION(cg_pre_clo_init)
diff --git a/cachegrind/cg_merge.c b/cachegrind/cg_merge.c
index 9564c62..a3f6761 100644
--- a/cachegrind/cg_merge.c
+++ b/cachegrind/cg_merge.c
@@ -8,7 +8,7 @@
   This file is part of Cachegrind, a Valgrind tool for cache
   profiling programs.
 
-  Copyright (C) 2002-2011 Nicholas Nethercote
+  Copyright (C) 2002-2012 Nicholas Nethercote
      njn@valgrind.org
 
   AVL tree code derived from
@@ -111,7 +111,7 @@
 //------------------------------------------------------------------//
 
 
-static char* argv0 = "cg_merge";
+static const char* argv0 = "cg_merge";
 
 /* Keep track of source filename/line no so as to be able to
    print decent error messages. */
@@ -129,7 +129,7 @@
 }
 
 __attribute__((noreturn))
-static void mallocFail ( SOURCE* s, char* who )
+static void mallocFail ( SOURCE* s, const char* who )
 {
    fprintf(stderr, "%s: out of memory in %s\n", argv0, who );
    printSrcLoc( s );
@@ -137,7 +137,7 @@
 }
 
 __attribute__((noreturn))
-static void parseError ( SOURCE* s, char* msg )
+static void parseError ( SOURCE* s, const char* msg )
 {
    fprintf(stderr, "%s: parse error: %s\n", argv0, msg );
    printSrcLoc( s );
@@ -145,7 +145,7 @@
 }
 
 __attribute__((noreturn))
-static void barf ( SOURCE* s, char* msg )
+static void barf ( SOURCE* s, const char* msg )
 {
    fprintf(stderr, "%s: %s\n", argv0, msg );
    printSrcLoc( s );
@@ -186,12 +186,12 @@
    return line[0] != 0;
 }
 
-static Bool streqn ( char* s1, char* s2, size_t n )
+static Bool streqn ( const char* s1, const char* s2, size_t n )
 {
    return 0 == strncmp(s1, s2, n);
 }
 
-static Bool streq ( char* s1, char* s2 )
+static Bool streq ( const char* s1, const char* s2 )
 {
    return 0 == strcmp(s1, s2 );
 }
@@ -277,8 +277,10 @@
 
    assert(n_counts >= 0);
    cts->counts = malloc(n_counts * sizeof(ULong));
-   if (cts->counts == NULL)
+   if (cts->counts == NULL) {
+      free(cts);
       return NULL;
+   }
 
    cts->n_counts = n_counts;
    for (i = 0; i < n_counts; i++)
@@ -296,8 +298,10 @@
 
    assert(n_counts >= 0);
    cts->counts = malloc(n_counts * sizeof(ULong));
-   if (cts->counts == NULL)
+   if (cts->counts == NULL) {
+      free(cts);
       return NULL;
+   }
 
    cts->n_counts = n_counts;
    for (i = 0; i < n_counts; i++)
@@ -454,8 +458,8 @@
    char* ptr = *pptr;
    while (isspace(*ptr)) ptr++;
    if (!isdigit(*ptr)) {
-      return False; /* end of string, or junk */
       *pptr = ptr;
+      return False; /* end of string, or junk */
    }
    u64 = 0;
    while (isdigit(*ptr)) {
@@ -534,7 +538,7 @@
 static
 void handle_counts ( SOURCE* s,
                      CacheProfFile* cpf, 
-                     char* fi, char* fn, char* newCountsStr )
+                     const char* fi, const char* fn, char* newCountsStr )
 {
    WordFM* countsMap;
    Bool    freeNewCounts;
@@ -604,10 +608,8 @@
    int            n_tmp_desclines = 0;
    CacheProfFile* cpf;
    Counts*        summaryRead; 
-   char*          curr_fn_init = "???";
-   char*          curr_fl_init = "???";
-   char*          curr_fn      = curr_fn_init;
-   char*          curr_fl      = curr_fl_init;
+   char*          curr_fn = strdup("???");
+   char*          curr_fl = strdup("???");
 
    cpf = new_CacheProfFile( NULL, NULL, NULL, 0, NULL, NULL, NULL );
    if (cpf == NULL)
@@ -686,15 +688,13 @@
       }
       else
       if (streqn(line, "fn=", 3)) {
-         if (curr_fn != curr_fn_init)
-            free(curr_fn);
+         free(curr_fn);
          curr_fn = strdup(line+3);
          continue;
       }
       else
       if (streqn(line, "fl=", 3)) {
-         if (curr_fl != curr_fl_init)
-            free(curr_fl);
+         free(curr_fl);
          curr_fl = strdup(line+3);
          continue;
       }
@@ -742,10 +742,8 @@
       cpf->summary_line = NULL;
    }
 
-   if (curr_fn != curr_fn_init)
-      free(curr_fn);
-   if (curr_fl != curr_fl_init)
-      free(curr_fl);
+   free(curr_fn);
+   free(curr_fl);
 
    // All looks OK
    return cpf;
diff --git a/cachegrind/cg_sim.c b/cachegrind/cg_sim.c
index a16b25e..8d17a68 100644
--- a/cachegrind/cg_sim.c
+++ b/cachegrind/cg_sim.c
@@ -7,7 +7,7 @@
    This file is part of Cachegrind, a Valgrind tool for cache
    profiling programs.
 
-   Copyright (C) 2002-2011 Nicholas Nethercote
+   Copyright (C) 2002-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -46,7 +46,7 @@
    Int          sets_min_1;
    Int          line_size_bits;
    Int          tag_shift;
-   Char         desc_line[128];
+   HChar        desc_line[128];
    UWord*       tags;
 } cache_t2;
 
@@ -79,118 +79,159 @@
       c->tags[i] = 0;
 }
 
-/* This is done as a macro rather than by passing in the cache_t2 as an 
- * arg because it slows things down by a small amount (3-5%) due to all 
- * that extra indirection. */
+/* This attribute forces GCC to inline the function, getting rid of a
+ * lot of indirection around the cache_t2 pointer, if it is known to be
+ * constant in the caller (the caller is inlined itself).
+ * Without inlining of simulator functions, cachegrind can get 40% slower.
+ */
+__attribute__((always_inline))
+static __inline__
+Bool cachesim_setref_is_miss(cache_t2* c, UInt set_no, UWord tag)
+{
+   int i, j;
+   UWord *set;
 
-#define CACHESIM(L, MISS_TREATMENT)                                         \
-/* The cache and associated bits and pieces. */                             \
-static cache_t2 L;                                                          \
-                                                                            \
-static void cachesim_##L##_initcache(cache_t config)                        \
-{                                                                           \
-    cachesim_initcache(config, &L);                                         \
-}                                                                           \
-                                                                            \
-/* This attribute forces GCC to inline this function, even though it's */   \
-/* bigger than its usual limit.  Inlining gains around 5--10% speedup. */   \
-__attribute__((always_inline))                                              \
-static __inline__                                                           \
-void cachesim_##L##_doref(Addr a, UChar size, ULong* m1, ULong *mL)         \
-{                                                                           \
-   UInt  set1 = ( a         >> L.line_size_bits) & (L.sets_min_1);          \
-   UInt  set2 = ((a+size-1) >> L.line_size_bits) & (L.sets_min_1);          \
-   UWord tag  = a >> L.tag_shift;                                           \
-   UWord tag2;                                                              \
-   Int i, j;                                                                \
-   Bool is_miss = False;                                                    \
-   UWord* set;                                                              \
-                                                                            \
-   /* First case: word entirely within line. */                             \
-   if (set1 == set2) {                                                      \
-                                                                            \
-      set = &(L.tags[set1 * L.assoc]);                                      \
-                                                                            \
-      /* This loop is unrolled for just the first case, which is the most */\
-      /* common.  We can't unroll any further because it would screw up   */\
-      /* if we have a direct-mapped (1-way) cache.                        */\
-      if (tag == set[0]) {                                                  \
-         return;                                                            \
-      }                                                                     \
-      /* If the tag is one other than the MRU, move it into the MRU spot  */\
-      /* and shuffle the rest down.                                       */\
-      for (i = 1; i < L.assoc; i++) {                                       \
-         if (tag == set[i]) {                                               \
-            for (j = i; j > 0; j--) {                                       \
-               set[j] = set[j - 1];                                         \
-            }                                                               \
-            set[0] = tag;                                                   \
-            return;                                                         \
-         }                                                                  \
-      }                                                                     \
-                                                                            \
-      /* A miss;  install this tag as MRU, shuffle rest down. */            \
-      for (j = L.assoc - 1; j > 0; j--) {                                   \
-         set[j] = set[j - 1];                                               \
-      }                                                                     \
-      set[0] = tag;                                                         \
-      MISS_TREATMENT;                                                       \
-      return;                                                               \
-                                                                            \
-   /* Second case: word straddles two lines. */                             \
-   /* Nb: this is a fast way of doing ((set1+1) % L.sets) */                \
-   } else if (((set1 + 1) & (L.sets_min_1)) == set2) {                      \
-      set = &(L.tags[set1 * L.assoc]);                                      \
-      if (tag == set[0]) {                                                  \
-         goto block2;                                                       \
-      }                                                                     \
-      for (i = 1; i < L.assoc; i++) {                                       \
-         if (tag == set[i]) {                                               \
-            for (j = i; j > 0; j--) {                                       \
-               set[j] = set[j - 1];                                         \
-            }                                                               \
-            set[0] = tag;                                                   \
-            goto block2;                                                    \
-         }                                                                  \
-      }                                                                     \
-      for (j = L.assoc - 1; j > 0; j--) {                                   \
-         set[j] = set[j - 1];                                               \
-      }                                                                     \
-      set[0] = tag;                                                         \
-      is_miss = True;                                                       \
-block2:                                                                     \
-      set = &(L.tags[set2 * L.assoc]);                                      \
-      tag2 = (a+size-1) >> L.tag_shift;                                     \
-      if (tag2 == set[0]) {                                                 \
-         goto miss_treatment;                                               \
-      }                                                                     \
-      for (i = 1; i < L.assoc; i++) {                                       \
-         if (tag2 == set[i]) {                                              \
-            for (j = i; j > 0; j--) {                                       \
-               set[j] = set[j - 1];                                         \
-            }                                                               \
-            set[0] = tag2;                                                  \
-            goto miss_treatment;                                            \
-         }                                                                  \
-      }                                                                     \
-      for (j = L.assoc - 1; j > 0; j--) {                                   \
-         set[j] = set[j - 1];                                               \
-      }                                                                     \
-      set[0] = tag2;                                                        \
-      is_miss = True;                                                       \
-miss_treatment:                                                             \
-      if (is_miss) { MISS_TREATMENT; }                                      \
-                                                                            \
-   } else {                                                                 \
-       VG_(printf)("addr: %lx  size: %u  sets: %d %d", a, size, set1, set2);\
-       VG_(tool_panic)("item straddles more than two cache sets");          \
-   }                                                                        \
-   return;                                                                  \
+   set = &(c->tags[set_no * c->assoc]);
+
+   /* This loop is unrolled for just the first case, which is the most */
+   /* common.  We can't unroll any further because it would screw up   */
+   /* if we have a direct-mapped (1-way) cache.                        */
+   if (tag == set[0])
+      return False;
+
+   /* If the tag is one other than the MRU, move it into the MRU spot  */
+   /* and shuffle the rest down.                                       */
+   for (i = 1; i < c->assoc; i++) {
+      if (tag == set[i]) {
+         for (j = i; j > 0; j--) {
+            set[j] = set[j - 1];
+         }
+         set[0] = tag;
+
+         return False;
+      }
+   }
+
+   /* A miss;  install this tag as MRU, shuffle rest down. */
+   for (j = c->assoc - 1; j > 0; j--) {
+      set[j] = set[j - 1];
+   }
+   set[0] = tag;
+
+   return True;
 }
 
-CACHESIM(LL, (*mL)++ );
-CACHESIM(I1, { (*m1)++; cachesim_LL_doref(a, size, m1, mL); } );
-CACHESIM(D1, { (*m1)++; cachesim_LL_doref(a, size, m1, mL); } );
+__attribute__((always_inline))
+static __inline__
+Bool cachesim_ref_is_miss(cache_t2* c, Addr a, UChar size)
+{
+   /* A memory block has the size of a cache line */
+   UWord block1 =  a         >> c->line_size_bits;
+   UWord block2 = (a+size-1) >> c->line_size_bits;
+   UInt  set1   = block1 & c->sets_min_1;
+
+   /* Tags used in real caches are minimal to save space.
+    * As the last bits of the block number of addresses mapping
+    * into one cache set are the same, real caches use as tag
+    *   tag = block >> log2(#sets)
+    * But using the memory block as more specific tag is fine,
+    * and saves instructions.
+    */
+   UWord tag1   = block1;
+
+   /* Access entirely within line. */
+   if (block1 == block2)
+      return cachesim_setref_is_miss(c, set1, tag1);
+
+   /* Access straddles two lines. */
+   else if (block1 + 1 == block2) {
+      UInt  set2 = block2 & c->sets_min_1;
+      UWord tag2 = block2;
+
+      /* always do both, as state is updated as side effect */
+      if (cachesim_setref_is_miss(c, set1, tag1)) {
+         cachesim_setref_is_miss(c, set2, tag2);
+         return True;
+      }
+      return cachesim_setref_is_miss(c, set2, tag2);
+   }
+   VG_(printf)("addr: %lx  size: %u  blocks: %ld %ld",
+               a, size, block1, block2);
+   VG_(tool_panic)("item straddles more than two cache sets");
+   /* not reached */
+   return True;
+}
+
+
+static cache_t2 LL;
+static cache_t2 I1;
+static cache_t2 D1;
+
+static void cachesim_initcaches(cache_t I1c, cache_t D1c, cache_t LLc)
+{
+   cachesim_initcache(I1c, &I1);
+   cachesim_initcache(D1c, &D1);
+   cachesim_initcache(LLc, &LL);
+}
+
+__attribute__((always_inline))
+static __inline__
+void cachesim_I1_doref_Gen(Addr a, UChar size, ULong* m1, ULong *mL)
+{
+   if (cachesim_ref_is_miss(&I1, a, size)) {
+      (*m1)++;
+      if (cachesim_ref_is_miss(&LL, a, size))
+         (*mL)++;
+   }
+}
+
+// common special case IrNoX
+__attribute__((always_inline))
+static __inline__
+void cachesim_I1_doref_NoX(Addr a, UChar size, ULong* m1, ULong *mL)
+{
+   UWord block  = a >> I1.line_size_bits;
+   UInt  I1_set = block & I1.sets_min_1;
+
+   // use block as tag
+   if (cachesim_setref_is_miss(&I1, I1_set, block)) {
+      UInt  LL_set = block & LL.sets_min_1;
+      (*m1)++;
+      // can use block as tag as L1I and LL cache line sizes are equal
+      if (cachesim_setref_is_miss(&LL, LL_set, block))
+         (*mL)++;
+   }
+}
+
+__attribute__((always_inline))
+static __inline__
+void cachesim_D1_doref(Addr a, UChar size, ULong* m1, ULong *mL)
+{
+   if (cachesim_ref_is_miss(&D1, a, size)) {
+      (*m1)++;
+      if (cachesim_ref_is_miss(&LL, a, size))
+         (*mL)++;
+   }
+}
+
+/* Check for special case IrNoX. Called at instrumentation time.
+ *
+ * Does this Ir only touch one cache line, and are L1I/LL cache
+ * line sizes the same? This allows to get rid of a runtime check.
+ *
+ * Returning false is always fine, as this calls the generic case
+ */
+static Bool cachesim_is_IrNoX(Addr a, UChar size)
+{
+   UWord block1, block2;
+
+   if (I1.line_size_bits != LL.line_size_bits) return False;
+   block1 =  a         >> I1.line_size_bits;
+   block2 = (a+size-1) >> I1.line_size_bits;
+   if (block1 != block2) return False;
+
+   return True;
+}
 
 /*--------------------------------------------------------------------*/
 /*--- end                                                 cg_sim.c ---*/
diff --git a/cachegrind/docs/cg-manual.xml b/cachegrind/docs/cg-manual.xml
index 7f4d8bc..f45bda8 100644
--- a/cachegrind/docs/cg-manual.xml
+++ b/cachegrind/docs/cg-manual.xml
@@ -3,8 +3,8 @@
   "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
 [ <!ENTITY % vg-entities SYSTEM "../../docs/xml/vg-entities.xml"> %vg-entities; ]>
 
-
-<chapter id="cg-manual" xreflabel="Cachegrind: a cache and branch-prediction profiler">
+<!-- Referenced from both the manual and manpage -->
+<chapter id="&vg-cg-manual-id;" xreflabel="&vg-cg-manual-label;">
 <title>Cachegrind: a cache and branch-prediction profiler</title>
 
 <para>To use this tool, you must specify
@@ -20,10 +20,10 @@
 unified second-level cache (L2).  This exactly matches the configuration of
 many modern machines.</para>
 
-<para>However, some modern machines have three levels of cache.  For these
+<para>However, some modern machines have three or four levels of cache.  For these
 machines (in the cases where Cachegrind can auto-detect the cache
-configuration) Cachegrind simulates the first-level and third-level caches.
-The reason for this choice is that the L3 cache has the most influence on
+configuration) Cachegrind simulates the first-level and last-level caches.
+The reason for this choice is that the last-level cache has the most influence on
 runtime, as it masks accesses to main memory.  Furthermore, the L1 caches
 often have low associativity, so simulating them can detect cases where the
 code interacts badly with this cache (eg. traversing a matrix column-wise
@@ -352,7 +352,7 @@
 that event (e.g. the third row shows that
 <computeroutput>strcmp()</computeroutput> contains no
 instructions that write to memory). The name
-<computeroutput>???</computeroutput> is used if the the file name
+<computeroutput>???</computeroutput> is used if the file name
 and/or function name could not be determined from debugging
 information. If most of the entries have the form
 <computeroutput>???:???</computeroutput> the program probably
@@ -1367,7 +1367,7 @@
 </itemizedlist>
 
 <para>Another thing worth noting is that results are very sensitive.
-Changing the size of the the executable being profiled, or the sizes
+Changing the size of the executable being profiled, or the sizes
 of any of the shared libraries it uses, or even the length of their
 file names, can perturb the results.  Variations will be small, but
 don't expect perfectly repeatable results if your program changes at
diff --git a/cachegrind/tests/Makefile.am b/cachegrind/tests/Makefile.am
index 1dafb0a..e21d52d 100644
--- a/cachegrind/tests/Makefile.am
+++ b/cachegrind/tests/Makefile.am
@@ -30,5 +30,4 @@
 else
 myprint_so_LDFLAGS	= $(AM_CFLAGS) -shared -fPIC
 endif
-myprint_so_SOURCES	= myprint.c	# Only needed for automake-1.7.
 myprint_so_CFLAGS	= $(AM_CFLAGS) -fPIC
diff --git a/cachegrind/tests/filter_stderr b/cachegrind/tests/filter_stderr
index d6800cd..8f48d2b 100755
--- a/cachegrind/tests/filter_stderr
+++ b/cachegrind/tests/filter_stderr
@@ -17,7 +17,7 @@
 sed "/warning: Pentium 4 with 12 KB micro-op instruction trace cache/d" |
 sed "/Simulating a 16 KB I-cache with 32 B lines/d"   |
 sed "/warning: L3 cache found, using its data for the LL simulation./d" |
-sed "/Warning: Cannot auto-detect cache config on PPC.., using one or more defaults/d" |
-sed "/Warning: Cannot auto-detect cache config on ARM, using one or more defaults/d" |
-sed "/Warning: Cannot auto-detect cache config on s390x, using one or more defaults/d" |
+sed "/warning: L4 cache found, using its data for the LL simulation./d" |
+sed "/Warning: Cannot auto-detect cache config, using defaults./d" |
+sed "/Run with -v to see./d" |
 sed "/warning: pretending that LL cache has associativity .*$/d"
diff --git a/callgrind/Makefile.am b/callgrind/Makefile.am
index 7cb6807..343f034 100644
--- a/callgrind/Makefile.am
+++ b/callgrind/Makefile.am
@@ -45,12 +45,7 @@
 	main.c \
 	sim.c \
 	threads.c \
-	../cachegrind/cg-arch.c \
-	../cachegrind/cg-x86-amd64.c \
-	../cachegrind/cg-ppc32.c \
-	../cachegrind/cg-ppc64.c \
-	../cachegrind/cg-arm.c   \
-	../cachegrind/cg-s390x.c
+	../cachegrind/cg-arch.c
 
 CALLGRIND_CFLAGS_COMMON = -I$(top_srcdir)/cachegrind
 
@@ -93,4 +88,3 @@
 	$(callgrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS) \
 	$(callgrind_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS)
 endif
-
diff --git a/callgrind/bb.c b/callgrind/bb.c
index 5a0f465..58de2c2 100644
--- a/callgrind/bb.c
+++ b/callgrind/bb.c
@@ -6,7 +6,7 @@
 /*
    This file is part of Callgrind, a Valgrind tool for call tracing.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/callgrind/bbcc.c b/callgrind/bbcc.c
index 374ed2a..bd8508b 100644
--- a/callgrind/bbcc.c
+++ b/callgrind/bbcc.c
@@ -6,7 +6,7 @@
 /*
    This file is part of Callgrind, a Valgrind tool for call tracing.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -338,9 +338,9 @@
 	     current_bbccs.entries);
 }
 
-static Char* mangled_cxt(Context* cxt, int rec_index)
+static const HChar* mangled_cxt(Context* cxt, int rec_index)
 {
-    static Char mangled[FN_NAME_LEN];
+    static HChar mangled[FN_NAME_LEN];
     int i, p;
 
     if (!cxt) return "(no context)";
@@ -413,6 +413,8 @@
     CLG_DEBUGIF(3)
       CLG_(print_bbcc)(-2, bbcc);
 
+    // FIXME: mangled_cxt returns a pointer to a static buffer that
+    // gets overwritten with each invocation. 
     CLG_DEBUG(2,"- clone_BBCC(%p, %d) for BB %#lx\n"
 		"   orig %s\n"
 		"   new  %s\n",
@@ -482,7 +484,8 @@
   BB* source_bb;
   Bool seen_before;
   fn_node* caller;
-  int fn_number, *pactive;
+  int fn_number;
+  unsigned *pactive;
   call_entry* call_entry_up;
 
   CLG_DEBUG(1,"  Callstack underflow !\n");
@@ -571,7 +574,12 @@
    */
   tid = VG_(get_running_tid)();
 #if 1
-  CLG_(switch_thread)(tid);
+  /* CLG_(switch_thread) is a no-op when tid is equal to CLG_(current_tid).
+   * As this is on the hot path, we only call CLG_(switch_thread)(tid)
+   * if tid differs from the CLG_(current_tid).
+   */
+  if (UNLIKELY(tid != CLG_(current_tid)))
+     CLG_(switch_thread)(tid);
 #else
   CLG_ASSERT(VG_(get_running_tid)() == CLG_(current_tid));
 #endif
@@ -586,11 +594,8 @@
       jmpkind = last_bb->jmp[passed].jmpkind;
       isConditionalJump = (passed < last_bb->cjmp_count);
 
-      /* if we are in a function which is skipped in the call graph, we
-       * do not increment the exe counter to produce cost (if simulation off),
-       * which would lead to dumping this BB to be skipped
-       */
-      if (CLG_(current_state).collect && !CLG_(current_state).nonskipped) {
+      if (CLG_(current_state).collect) {
+	if (!CLG_(current_state).nonskipped) {
 	  last_bbcc->ecounter_sum++;
 	  last_bbcc->jmp[passed].ecounter++;
 	  if (!CLG_(clo).simulate_cache) {
@@ -598,6 +603,18 @@
               UInt instr_count = last_bb->jmp[passed].instr+1;
               CLG_(current_state).cost[ fullOffset(EG_IR) ] += instr_count;
 	  }
+	}
+	else {
+	  /* do not increment exe counter of BBs in skipped functions, as it
+	   * would fool dumping code */
+	  if (!CLG_(clo).simulate_cache) {
+	      /* update Ir cost */
+              UInt instr_count = last_bb->jmp[passed].instr+1;
+              CLG_(current_state).cost[ fullOffset(EG_IR) ] += instr_count;
+              CLG_(current_state).nonskipped->skipped[ fullOffset(EG_IR) ]
+		+= instr_count;
+	  }
+	}
       }
 
       CLG_DEBUGIF(4) {
diff --git a/callgrind/callgrind.h b/callgrind/callgrind.h
index 752d0af..196c5a4 100644
--- a/callgrind/callgrind.h
+++ b/callgrind/callgrind.h
@@ -13,7 +13,7 @@
    This file is part of callgrind, a valgrind tool for cache simulation
    and call tree tracing.
 
-   Copyright (C) 2003-2011 Josef Weidendorfer.  All rights reserved.
+   Copyright (C) 2003-2012 Josef Weidendorfer.  All rights reserved.
 
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
diff --git a/callgrind/callgrind_annotate.in b/callgrind/callgrind_annotate.in
index e2e2f5f..f11d5f6 100644
--- a/callgrind/callgrind_annotate.in
+++ b/callgrind/callgrind_annotate.in
@@ -81,6 +81,7 @@
 # Total counts for summary (an array reference).
 my $summary_CC;
 my $totals_CC;
+my $summary_calculated = 0;
 
 # Totals for each function, for overall summary.
 # hash(filename:fn_name => CC array)
@@ -440,9 +441,6 @@
       }
     }
 
-    # Check for needed header entries
-    ($cmd ne "") or die("Line $.: missing command line\n");
-
     # Read "events:" line.  We make a temporary hash in which the Nth event's
     # value is N, which is useful for handling --show/--sort options below.
     ($events ne "") or die("Line $.: missing events line\n");
@@ -630,7 +628,7 @@
         } elsif (s/^cob=(.*)$//) {
 	  $curr_cobj = uncompressed_name("ob",$1);
 
-	} elsif (s/^cfi=(.*)$//) {
+	} elsif (s/^cf[il]=(.*)$//) {
 	  $curr_cfile = uncompressed_name("fl",$1);
 
 	} elsif (s/^cfn=(.*)$//) {
@@ -681,15 +679,6 @@
         }
     }
 
-    if ((not defined $summary_CC) || is_zero($summary_CC)) {
-	$summary_CC = $totals_CC;
-    }
-
-    # Check if summary line was present
-    if (not defined $summary_CC) {
-        warn("WARNING: missing final summary line, no summary will be printed\n");
-    }
-
     # Finish up handling final filename/fn_name counts
     $fn_totals{"$curr_file:$curr_fn"} = $curr_fn_CC
 	if (defined $curr_file && defined $curr_fn);
@@ -704,6 +693,20 @@
     }
 
     close(INPUTFILE);
+
+    if ((not defined $summary_CC) || is_zero($summary_CC)) {
+	$summary_CC = $totals_CC;
+
+	# if neither 'summary:' nor 'totals:' line is given,
+	# calculate summary from fn_totals hash
+	if ((not defined $summary_CC) || is_zero($summary_CC)) {
+	    $summary_calculated = 1;
+	    $summary_CC = [];
+	    foreach my $name (keys %fn_totals) {
+		add_array_a_to_b($fn_totals{$name}, $summary_CC);
+	    }
+	}
+    }
 }
 
 #-----------------------------------------------------------------------------
@@ -719,6 +722,7 @@
     print($fancy);
     print($desc);
     my $target = $cmd;
+    if ($target eq "") { $target = "(unknown)"; }
     if ($pid ne "") {
       $target .= " (PID $pid";
       if ($part ne "") { $target .= ", part $part"; }
@@ -855,8 +859,11 @@
     print("\n");
     print($fancy);
     print_CC($summary_CC, $summary_CC_col_widths);
-    print(" PROGRAM TOTALS\n");
-    print("\n");
+    print(" PROGRAM TOTALS");
+    if ($summary_calculated) {
+	print(" (calculated)");
+    }
+    print("\n\n");
 
     # Header for functions
     print($fancy);
@@ -921,7 +928,8 @@
         print_CC($fn_CC, $fn_CC_col_widths);
 	if ($tree_caller || $tree_calling) { print " * "; }
         print(" $fn_name");
-	if (defined $obj_name{$fn_name}) {
+	if ((defined $obj_name{$fn_name}) &&
+	    ($obj_name{$fn_name} ne "")) {
 	  print " [$obj_name{$fn_name}]";
 	}
 	print "\n";
diff --git a/callgrind/callstack.c b/callgrind/callstack.c
index 092acb2..95c2278 100644
--- a/callgrind/callstack.c
+++ b/callgrind/callstack.c
@@ -6,7 +6,7 @@
 /*
    This file is part of Callgrind, a Valgrind tool for call tracing.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -130,7 +130,7 @@
 #endif		
 	    
   if (fn->dump_before) {
-    Char trigger[FN_NAME_LEN];
+    HChar trigger[FN_NAME_LEN];
     VG_(sprintf)(trigger, "--dump-before=%s", fn->name);
     CLG_(dump_profile)(trigger, True);
   }
@@ -152,7 +152,7 @@
   CLG_ASSERT(fn != 0);
 
   if (fn->dump_after) {
-    Char trigger[FN_NAME_LEN];
+    HChar trigger[FN_NAME_LEN];
     VG_(sprintf)(trigger, "--dump-after=%s", fn->name);
     CLG_(dump_profile)(trigger, True);
   }
@@ -273,7 +273,8 @@
     CLG_DEBUGIF(0) {
 	if (CLG_(clo).verbose<2) {
 	  if (jcc && jcc->to && jcc->to->bb) {
-	    char spaces[][41] = { "   .   .   .   .   .   .   .   .   .   .",
+	    const HChar spaces[][41] = {
+                                  "   .   .   .   .   .   .   .   .   .   .",
 				  "  .   .   .   .   .   .   .   .   .   . ",
 				  " .   .   .   .   .   .   .   .   .   .  ",
 				  ".   .   .   .   .   .   .   .   .   .   " };
diff --git a/callgrind/clo.c b/callgrind/clo.c
index 6488bac..c35cbf3 100644
--- a/callgrind/clo.c
+++ b/callgrind/clo.c
@@ -2,10 +2,10 @@
    This file is part of Callgrind, a Valgrind tool for call graph
    profiling programs.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This tool is derived from and contains lot of code from Cachegrind
-   Copyright (C) 2002-2011 Nicholas Nethercote (njn@valgrind.org)
+   Copyright (C) 2002-2012 Nicholas Nethercote (njn@valgrind.org)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -89,7 +89,7 @@
   config_node* wild_star;
   config_node* wild_char;
 
-  Char name[1];
+  HChar name[1];
 };
 
 /* root of trie */
@@ -119,7 +119,7 @@
 }
 
 
-static config_node* new_config(Char* name, int length)
+static config_node* new_config(const HChar* name, int length)
 {
     int i;
     config_node* node = (config_node*) CLG_MALLOC("cl.clo.nc.1",
@@ -145,7 +145,7 @@
 }
 
 static __inline__
-Bool is_wild(Char n)
+Bool is_wild(HChar n)
 {
   return (n == '*') || (n == '?');
 }
@@ -158,7 +158,7 @@
  * tree root is stored into <*pnode>, and the created
  * leaf (fn_config) for the given pattern is returned.
  */
-static fn_config* get_fnc2(config_node* node, Char* name)
+static fn_config* get_fnc2(config_node* node, const HChar* name)
 {
   config_node *new_sub, *n, *nprev;
   int offset, len;
@@ -276,7 +276,7 @@
   int i;
 
   if (node != fn_configs) {
-    char sp[] = "                                        ";
+    const HChar sp[] = "                                        ";
 
     if (depth>40) depth=40;
     VG_(printf)("%s", sp+40-depth);
@@ -297,7 +297,7 @@
 }
 
 /* get a function config for a name pattern (from command line) */
-static fn_config* get_fnc(Char* name)
+static fn_config* get_fnc(const HChar* name)
 {
   fn_config* fnc;
 
@@ -354,7 +354,8 @@
  * looking for a match to <name>. For every matching leaf,
  * <fn> is updated with the pattern config.
  */
-static void update_fn_config2(fn_node* fn, Char* name, config_node* node)
+static void update_fn_config2(fn_node* fn, const HChar* name,
+                              config_node* node)
 {
     config_node* n;
 
@@ -405,9 +406,9 @@
 /*--- Command line processing                                      ---*/
 /*--------------------------------------------------------------------*/
 
-Bool CLG_(process_cmd_line_option)(Char* arg)
+Bool CLG_(process_cmd_line_option)(const HChar* arg)
 {
-   Char* tmp_str;
+   const HChar* tmp_str;
 
    if      VG_BOOL_CLO(arg, "--skip-plt", CLG_(clo).skip_plt) {}
 
@@ -469,7 +470,7 @@
 
    else if VG_STREQN(12, arg, "--ct-verbose") {
        fn_config* fnc;
-       Char* s;
+       HChar* s;
        UInt n = VG_(strtoll10)(arg+12, &s);
        if ((n <= 0) || *s != '=') return False;
        fnc = get_fnc(s+1);
@@ -484,7 +485,7 @@
 
    else if VG_STREQN(10, arg, "--fn-group") {
        fn_config* fnc;
-       Char* s;
+       HChar* s;
        UInt n = VG_(strtoll10)(arg+10, &s);
        if ((n <= 0) || *s != '=') return False;
        fnc = get_fnc(s+1);
@@ -493,7 +494,7 @@
 
    else if VG_STREQN(18, arg, "--separate-callers") {
        fn_config* fnc;
-       Char* s;
+       HChar* s;
        UInt n = VG_(strtoll10)(arg+18, &s);
        if ((n <= 0) || *s != '=') return False;
        fnc = get_fnc(s+1);
@@ -502,7 +503,7 @@
 
    else if VG_STREQN(15, arg, "--separate-recs") {
        fn_config* fnc;
-       Char* s;
+       HChar* s;
        UInt n = VG_(strtoll10)(arg+15, &s);
        if ((n <= 0) || *s != '=') return False;
        fnc = get_fnc(s+1);
diff --git a/callgrind/context.c b/callgrind/context.c
index 42d8e4f..be6be70 100644
--- a/callgrind/context.c
+++ b/callgrind/context.c
@@ -6,7 +6,7 @@
 /*
    This file is part of Callgrind, a Valgrind tool for call tracing.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -284,7 +284,7 @@
   Int fn_entries;
 
   CLG_DEBUG(5, "+ push_cxt(fn '%s'): old ctx %d\n", 
-	    fn ? fn->name : (Char*)"0x0",
+	    fn ? fn->name : "0x0",
 	    CLG_(current_state).cxt ?
 	    CLG_(current_state).cxt->base_number : -1);
 
@@ -313,7 +313,7 @@
 
     CLG_DEBUG(0, "Resize Context Stack: %d => %d (pushing '%s')\n", 
 	     CLG_(current_fn_stack).size, new_size,
-	     fn ? fn->name : (Char*)"0x0");
+	     fn ? fn->name : "0x0");
 
     CLG_(current_fn_stack).size = new_size;
   }
@@ -331,7 +331,7 @@
   CLG_(current_state).cxt = CLG_(get_cxt)(CLG_(current_fn_stack).top);
 
   CLG_DEBUG(5, "- push_cxt(fn '%s'): new cxt %d, fn_sp %ld\n",
-	    fn ? fn->name : (Char*)"0x0",
+	    fn ? fn->name : "0x0",
 	    CLG_(current_state).cxt ?
 	      CLG_(current_state).cxt->base_number : -1,
 	    CLG_(current_fn_stack).top - CLG_(current_fn_stack).bottom + 0L);
diff --git a/callgrind/costs.c b/callgrind/costs.c
index 357fcb4..32cdfbf 100644
--- a/callgrind/costs.c
+++ b/callgrind/costs.c
@@ -6,7 +6,7 @@
 /*
    This file is part of Callgrind, a Valgrind tool for call tracing.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/callgrind/debug.c b/callgrind/debug.c
index 6d21d48..67d083b 100644
--- a/callgrind/debug.c
+++ b/callgrind/debug.c
@@ -2,10 +2,10 @@
    This file is part of Callgrind, a Valgrind tool for call graph
    profiling programs.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This tool is derived from and contains lot of code from Cachegrind
-   Copyright (C) 2002-2011 Nicholas Nethercote (njn@valgrind.org)
+   Copyright (C) 2002-2012 Nicholas Nethercote (njn@valgrind.org)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -39,7 +39,7 @@
 static void print_indent(int s)
 {
     /* max of 40 spaces */
-    char sp[] = "                                        ";
+    const HChar sp[] = "                                        ";
     if (s>40) s=40;
     VG_(printf)("%s", sp+40-s);
 }
@@ -72,7 +72,7 @@
 
 
 
-void CLG_(print_cxt)(int s, Context* cxt, int rec_index)
+void CLG_(print_cxt)(Int s, Context* cxt, int rec_index)
 {
   if (s<0) {
     s = -s;
@@ -373,11 +373,11 @@
 /* dump out an address with source info if available */
 void CLG_(print_addr)(Addr addr)
 {
-    Char fl_buf[FILENAME_LEN];
-    Char fn_buf[FN_NAME_LEN];
-    const UChar* obj_name;
+    HChar fl_buf[FILENAME_LEN];
+    HChar fn_buf[FN_NAME_LEN];
+    const HChar* obj_name;
     DebugInfo* di;
-    int ln, i=0, opos=0;
+    UInt ln, i=0, opos=0;
 	
     if (addr == 0) {
 	VG_(printf)("%08lx", addr);
@@ -435,7 +435,7 @@
   VG_(printf)("\n");
 }
 
-void* CLG_(malloc)(HChar* cc, UWord s, char* f)
+void* CLG_(malloc)(const HChar* cc, UWord s, const HChar* f)
 {
     CLG_DEBUG(3, "Malloc(%lu) in %s.\n", s, f);
     return VG_(malloc)(cc,s);
diff --git a/callgrind/docs/cl-format.xml b/callgrind/docs/cl-format.xml
index f6199e0..4426b6a 100644
--- a/callgrind/docs/cl-format.xml
+++ b/callgrind/docs/cl-format.xml
@@ -30,7 +30,9 @@
 <title>Basic Structure</title>
 
 <para>Each file has a header part of an arbitrary number of lines of the
-format "key: value". The lines with key "positions" and "events" define
+format "key: value". After the header, lines specifying profile costs
+follow. Everywhere, comments on own lines starting with '#' are allowed.
+The header lines with keys "positions" and "events" define
 the meaning of cost lines in the second part of the file: the value of
 "positions" is a list of subpositions, and the value of "events" is a list
 of event type names. Cost lines consist of subpositions followed by 64-bit
@@ -98,8 +100,8 @@
 ability to specify call relationship among functions. More generally, you
 specify associations among positions. For this, the second part of the
 file also can contain association specifications. These look similar to
-position specifications, but consist of 2 lines. For calls, the format
-looks like 
+position specifications, but consist of two lines. For calls, the format
+looks like
 <screen>
  calls=(Call Count) (Destination position)
  (Source position) (Inclusive cost of call)
@@ -108,8 +110,10 @@
 <para>The destination only specifies subpositions like line number. Therefore,
 to be able to specify a call to another function in another source file, you
 have to precede the above lines with a "cfn=" specification for the name of the
-called function, and a "cfl=" specification if the function is in another
-source file. The 2nd line looks like a regular cost line with the difference
+called function, and optionally a "cfi=" specification if the function is in
+another source file ("cfl=" is an alternative specification for "cfi=" because
+of historical reasons, and both should be supported by format readers).
+The second line looks like a regular cost line with the difference
 that inclusive cost spent inside of the function call has to be specified.</para> 
 
 <para>Other associations are for example (conditional) jumps. See the
@@ -134,14 +138,14 @@
 cfn=func1
 calls=1 50
 16 400
-cfl=file2.c
+cfi=file2.c
 cfn=func2
 calls=3 20
 16 400
 
 fn=func1
 51 100
-cfl=file2.c
+cfi=file2.c
 cfn=func2
 calls=2 20
 51 300
@@ -158,7 +162,7 @@
 
 <para>Function <function>func1</function> is located in
 <filename>file1.c</filename>, the same as <function>main</function>.
-Therefore, a "cfl=" specification for the call to <function>func1</function>
+Therefore, a "cfi=" specification for the call to <function>func1</function>
 is not needed. The function <function>func1</function> only consists of code
 at line 51 of <filename>file1.c</filename>, where <function>func2</function>
 is called.</para>
@@ -191,14 +195,14 @@
 cfn=(2) func1
 calls=1 50
 16 400
-cfl=(2) file2.c
+cfi=(2) file2.c
 cfn=(3) func2
 calls=3 20
 16 400
 
 fn=(2)
 51 100
-cfl=(2)
+cfi=(2)
 cfn=(3)
 calls=2 20
 51 300
@@ -286,8 +290,8 @@
 cost of the full run has to be known. Usually, it is assumed that this is the
 sum of all cost lines in a file. But sometimes, this is not correct. Thus, you
 can specify a "summary:" line in the header giving the full cost for the
-profile run. This has another effect: a import filter can show a progress bar
-while loading a large data file if he knows to cost sum in advance.</para>
+profile run. An import filter may use this to show a progress bar
+while loading a large data file.</para>
 
 </sect3>
 
@@ -356,7 +360,7 @@
 <screen>PositionSpecification := Position "=" Space* PositionName</screen>
 <screen>Position := CostPosition | CalledPosition</screen>
 <screen>CostPosition := "ob" | "fl" | "fi" | "fe" | "fn"</screen>
-<screen>CalledPosition := " "cob" | "cfl" | "cfn"</screen>
+<screen>CalledPosition := " "cob" | "cfi" | "cfl" | "cfn"</screen>
 <screen>PositionName := ( "(" Number ")" )? (Space* NoNewLineChar* )?</screen>
 <screen>AssociationSpecification := CallSpecification
   | JumpSpecification</screen>
@@ -388,24 +392,24 @@
     <para>This is used to distinguish future profile data formats.  A 
     major version of 0 or 1 is supposed to be upwards compatible with 
     Cachegrind's format.  It is optional; if not appearing, version 1 
-    is supposed.  Otherwise, this has to be the first header line.</para>
+    is assumed.  Otherwise, this has to be the first header line.</para>
   </listitem>
 
   <listitem>
     <para><computeroutput>pid: process id</computeroutput> [Callgrind]</para>
-    <para>This specifies the process ID of the supervised application 
+    <para>Optional. This specifies the process ID of the supervised application 
     for which this profile was generated.</para>
   </listitem>
 
   <listitem>
     <para><computeroutput>cmd: program name + args</computeroutput> [Cachegrind]</para>
-    <para>This specifies the full command line of the supervised
+    <para>Optional. This specifies the full command line of the supervised
     application for which this profile was generated.</para>
   </listitem>
 
   <listitem>
     <para><computeroutput>part: number</computeroutput> [Callgrind]</para>
-    <para>This specifies a sequentially incremented number for each dump 
+    <para>Optional. This specifies a sequentially incremented number for each dump 
     generated, starting at 1.</para>
   </listitem>
 
@@ -468,13 +472,16 @@
 
   <listitem>
     <para><computeroutput>summary: costs</computeroutput> [Callgrind]</para>
+    <para>Optional. This header line specifies a summary cost, which should be
+    equal or larger than a total over all self costs. It may be larger as
+    the cost lines may not represent all cost of the program run.</para>
+  </listitem>
+
+  <listitem>
     <para><computeroutput>totals: costs</computeroutput> [Cachegrind]</para>
-    <para>The value or the total number of events covered by this trace
-    file.  Both keys have the same meaning, but the "totals:" line 
-    happens to be at the end of the file, while "summary:" appears in 
-    the header.  This was added to allow postprocessing tools to know
-    in advance to total cost. The two lines always give the same cost 
-    counts.</para>
+    <para>Optional. Should appear at the end of the file (although
+    looking like a header line). Must give the total of all cost lines,
+    to allow for a consistency check.</para>
   </listitem>
 
 </itemizedlist>
@@ -534,12 +541,18 @@
   </listitem>
 
   <listitem>
-    <para><computeroutput>cfl=</computeroutput> [Callgrind]</para>
+    <para><computeroutput>cfi=</computeroutput> [Callgrind]</para>
     <para>The source file including the code of the target of the
     next call cost lines.</para>
   </listitem>
 
   <listitem>
+    <para><computeroutput>cfl=</computeroutput> [Callgrind]</para>
+    <para>Alternative spelling for <computeroutput>cfi=</computeroutput>
+    specification (because of historical reasons).</para>
+  </listitem>
+
+  <listitem>
     <para><computeroutput>cfn=</computeroutput> [Callgrind]</para>
     <para>The name of the target function of the next call cost 
     lines.</para>
diff --git a/callgrind/docs/cl-manual.xml b/callgrind/docs/cl-manual.xml
index 994ddcb..2f08ac8 100644
--- a/callgrind/docs/cl-manual.xml
+++ b/callgrind/docs/cl-manual.xml
@@ -88,16 +88,16 @@
 particular by reducing the call count.</para>
 
 <para>Callgrind's cache simulation is based on that of Cachegrind.
-Read the documentation for <xref linkend="cg-manual"/> first.  The material
+Read the documentation for <xref linkend="&vg-cg-manual-id;"/> first.  The material
 below describes the features supported in addition to Cachegrind's
 features.</para>
 
 <para>Callgrind's ability to detect function calls and returns depends
-on the instruction set of the platform it is run on.  It works best
-on x86 and amd64, and unfortunately currently does not work so well
-on PowerPC code.  This is because there are no explicit call or return
-instructions in the PowerPC instruction set, so Callgrind has to rely
-on heuristics to detect calls and returns.</para>
+on the instruction set of the platform it is run on.  It works best on
+x86 and amd64, and unfortunately currently does not work so well on
+PowerPC, ARM, Thumb or MIPS code.  This is because there are no explicit
+call or return instructions in these instruction sets, so Callgrind
+has to rely on heuristics to detect calls and returns.</para>
 
   </sect2>
 
@@ -936,7 +936,7 @@
       Cache misses on instruction reads ("I1mr"/"ILmr"),
       data read accesses ("Dr") and related cache misses ("D1mr"/"DLmr"),
       data write accesses ("Dw") and related cache misses ("D1mw"/"DLmw").
-      For more information, see <xref linkend="cg-manual"/>.
+      For more information, see <xref linkend="&vg-cg-manual-id;"/>.
       </para>
     </listitem>
   </varlistentry>
diff --git a/callgrind/dump.c b/callgrind/dump.c
index 9995b4a..0f38e09 100644
--- a/callgrind/dump.c
+++ b/callgrind/dump.c
@@ -6,7 +6,7 @@
 /*
    This file is part of Callgrind, a Valgrind tool for call tracing.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -36,12 +36,12 @@
 /* Dump Part Counter */
 static Int out_counter = 0;
 
-static Char* out_file = 0;
-static Char* out_directory = 0;
+static HChar* out_file = 0;
+static HChar* out_directory = 0;
 static Bool dumps_initialized = False;
 
 /* Command */
-static Char cmdbuf[BUF_LEN];
+static HChar cmdbuf[BUF_LEN];
 
 /* Total reads/writes/misses sum over all dumps and threads.
  * Updated during CC traversal at dump time.
@@ -55,20 +55,20 @@
  *  print_fn_pos, fprint_apos, fprint_fcost, fprint_jcc,
  *  fprint_fcc_ln, dump_run_info, dump_state_info
  */
-static Char outbuf[FILENAME_LEN + FN_NAME_LEN + OBJ_NAME_LEN + COSTS_LEN];
+static HChar outbuf[FILENAME_LEN + FN_NAME_LEN + OBJ_NAME_LEN + COSTS_LEN];
 
 Int CLG_(get_dump_counter)(void)
 {
   return out_counter;
 }
 
-Char* CLG_(get_out_file)()
+HChar* CLG_(get_out_file)()
 {
     CLG_(init_dumps)();
     return out_file;
 }
 
-Char* CLG_(get_out_directory)()
+HChar* CLG_(get_out_directory)()
 {
     CLG_(init_dumps)();
     return out_directory;
@@ -145,15 +145,15 @@
 
 #if 0
 static __inline__
-static void my_fwrite(Int fd, Char* buf, Int len)
+static void my_fwrite(Int fd, const HChar* buf, Int len)
 {
-	VG_(write)(fd, (void*)buf, len);
+	VG_(write)(fd, buf, len);
 }
 #else
 
 #define FWRITE_BUFSIZE 32000
 #define FWRITE_THROUGH 10000
-static Char fwrite_buf[FWRITE_BUFSIZE];
+static HChar fwrite_buf[FWRITE_BUFSIZE];
 static Int fwrite_pos;
 static Int fwrite_fd = -1;
 
@@ -161,11 +161,11 @@
 void fwrite_flush(void)
 {
     if ((fwrite_fd>=0) && (fwrite_pos>0))
-	VG_(write)(fwrite_fd, (void*)fwrite_buf, fwrite_pos);
+	VG_(write)(fwrite_fd, fwrite_buf, fwrite_pos);
     fwrite_pos = 0;
 }
 
-static void my_fwrite(Int fd, Char* buf, Int len)
+static void my_fwrite(Int fd, const HChar* buf, Int len)
 {
     if (fwrite_fd != fd) {
 	fwrite_flush();
@@ -173,7 +173,7 @@
     }
     if (len > FWRITE_THROUGH) {
 	fwrite_flush();
-	VG_(write)(fd, (void*)buf, len);
+	VG_(write)(fd, buf, len);
 	return;
     }
     if (FWRITE_BUFSIZE - fwrite_pos <= len) fwrite_flush();
@@ -183,7 +183,7 @@
 #endif
 
 
-static void print_obj(Char* buf, obj_node* obj)
+static void print_obj(HChar* buf, obj_node* obj)
 {
     //int n;
 
@@ -212,7 +212,7 @@
 #endif
 }
 
-static void print_file(Char* buf, file_node* file)
+static void print_file(HChar* buf, file_node* file)
 {
     if (CLG_(clo).compress_strings) {
 	CLG_ASSERT(file_dumped != 0);
@@ -231,7 +231,7 @@
 /*
  * tag can be "fn", "cfn", "jfn"
  */
-static void print_fn(Int fd, Char* buf, Char* tag, fn_node* fn)
+static void print_fn(Int fd, HChar* buf, const HChar* tag, fn_node* fn)
 {
     int p;
     p = VG_(sprintf)(buf, "%s=",tag);
@@ -251,7 +251,7 @@
     my_fwrite(fd, buf, p);
 }
 
-static void print_mangled_fn(Int fd, Char* buf, Char* tag, 
+static void print_mangled_fn(Int fd, HChar* buf, const HChar* tag, 
 			     Context* cxt, int rec_index)
 {
     int p, i;
@@ -346,7 +346,7 @@
     if (!CLG_(clo).mangle_names) {
 	if (last->rec_index != bbcc->rec_index) {
 	    VG_(sprintf)(outbuf, "rec=%d\n\n", bbcc->rec_index);
-	    my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+	    my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
 	    last->rec_index = bbcc->rec_index;
 	    last->cxt = 0; /* reprint context */
 	    res = True;
@@ -361,7 +361,7 @@
 		if (last_from != 0) {
 		    /* switch back to no context */
 		    VG_(sprintf)(outbuf, "frfn=(spontaneous)\n");
-		    my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+		    my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
 		    res = True;
 		}
 	    }
@@ -376,7 +376,7 @@
     if (last->obj != bbcc->cxt->fn[0]->file->obj) {
 	VG_(sprintf)(outbuf, "ob=");
 	print_obj(outbuf+3, bbcc->cxt->fn[0]->file->obj);
-	my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+	my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
 	last->obj = bbcc->cxt->fn[0]->file->obj;
 	res = True;
     }
@@ -384,7 +384,7 @@
     if (last->file != bbcc->cxt->fn[0]->file) {
 	VG_(sprintf)(outbuf, "fl=");
 	print_file(outbuf+3, bbcc->cxt->fn[0]->file);
-	my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+	my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
 	last->file = bbcc->cxt->fn[0]->file;
 	res = True;
     }
@@ -440,8 +440,8 @@
 static /* __inline__ */
 Bool get_debug_pos(BBCC* bbcc, Addr addr, AddrPos* p)
 {
-    Char file[FILENAME_LEN];
-    Char dir[FILENAME_LEN];
+    HChar file[FILENAME_LEN];
+    HChar dir[FILENAME_LEN];
     Bool found_file_line, found_dirname;
 
     int cachepos = addr % DEBUG_CACHE_SIZE;
@@ -534,13 +534,13 @@
 	else
 	    VG_(sprintf)(outbuf, "fi=");
 	print_file(outbuf+3, curr->file);
-	my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+	my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
     }
 
     if (CLG_(clo).dump_bbs) {
 	if (curr->line != last->line) {
 	    VG_(sprintf)(outbuf, "ln=%d\n", curr->line);
-	    my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+	    my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
 	}
     }
 }
@@ -606,7 +606,7 @@
 		VG_(sprintf)(outbuf+p, "%u ", curr->line);
 	}
     }
-    my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+    my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
 }
 
 
@@ -619,7 +619,7 @@
 {
   int p = CLG_(sprint_mappingcost)(outbuf, es, cost);
   VG_(sprintf)(outbuf+p, "\n");
-  my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+  my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
   return;
 }
 
@@ -692,7 +692,7 @@
 	if (last->file != target.file) {
 	    VG_(sprintf)(outbuf, "jfi=");
 	    print_file(outbuf+4, target.file);
-	    my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+	    my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
 	}
 	
 	if (jcc->from->cxt != jcc->to->cxt) {
@@ -713,7 +713,7 @@
 	    VG_(sprintf)(outbuf, "jump=%llu ",
 			 jcc->call_counter);
 	}
-	my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+	my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
 		
 	fprint_pos(fd, &target, last);
 	my_fwrite(fd, "\n", 1);
@@ -731,14 +731,14 @@
     if (jcc->from->cxt->fn[0]->file->obj != obj) {
 	VG_(sprintf)(outbuf, "cob=");
 	print_obj(outbuf+4, obj);
-	my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+	my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
     }
 
     /* file of called position different to current file? */
     if (last->file != file) {
 	VG_(sprintf)(outbuf, "cfi=");
 	print_file(outbuf+4, file);
-	my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+	my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
     }
 
     if (CLG_(clo).mangle_names)
@@ -749,7 +749,7 @@
     if (!CLG_(is_zero_cost)( CLG_(sets).full, jcc->cost)) {
       VG_(sprintf)(outbuf, "calls=%llu ", 
 		   jcc->call_counter);
-	my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+	my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
 
 	fprint_pos(fd, &target, last);
 	my_fwrite(fd, "\n", 1);	
@@ -893,7 +893,7 @@
 			      currCost->cost, bbcc->skipped );
 #if 0
       VG_(sprintf)(outbuf, "# Skipped\n");
-      my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+      my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
 #endif
       fprint_fcost(fd, currCost, last);
     }
@@ -915,7 +915,7 @@
       fprint_apos(fd, &(currCost->p), last, bbcc->cxt->fn[0]->file);
       fprint_fcost(fd, currCost, last);
     }
-    if (CLG_(clo).dump_bbs) my_fwrite(fd, (void*)"\n", 1);
+    if (CLG_(clo).dump_bbs) my_fwrite(fd, "\n", 1);
     
     /* when every cost was immediatly written, we must have done so,
      * as this function is only called when there's cost in a BBCC
@@ -1251,7 +1251,7 @@
 
 
 
-static void fprint_cost_ln(int fd, Char* prefix,
+static void fprint_cost_ln(int fd, const HChar* prefix,
 			   EventMapping* em, ULong* cost)
 {
     int p;
@@ -1259,11 +1259,11 @@
     p = VG_(sprintf)(outbuf, "%s", prefix);
     p += CLG_(sprint_mappingcost)(outbuf + p, em, cost);
     VG_(sprintf)(outbuf + p, "\n");
-    my_fwrite(fd, (void*)outbuf, VG_(strlen)(outbuf));
+    my_fwrite(fd, outbuf, VG_(strlen)(outbuf));
 }
 
 static ULong bbs_done = 0;
-static Char* filename = 0;
+static HChar* filename = 0;
 
 static
 void file_err(void)
@@ -1283,7 +1283,7 @@
  *
  * Returns the file descriptor, and -1 on error (no write permission)
  */
-static int new_dumpfile(Char buf[BUF_LEN], int tid, Char* trigger)
+static int new_dumpfile(HChar buf[BUF_LEN], int tid, const HChar* trigger)
 {
     Bool appending = False;
     int i, fd;
@@ -1331,27 +1331,27 @@
     if (!appending) {
 	/* version */
 	VG_(sprintf)(buf, "version: 1\n");
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
 
 	/* creator */
 	VG_(sprintf)(buf, "creator: callgrind-" VERSION "\n");
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
 
 	/* "pid:" line */
 	VG_(sprintf)(buf, "pid: %d\n", VG_(getpid)());
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
 
 	/* "cmd:" line */
 	VG_(strcpy)(buf, "cmd: ");
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
-	my_fwrite(fd, (void*)cmdbuf, VG_(strlen)(cmdbuf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
+	my_fwrite(fd, cmdbuf, VG_(strlen)(cmdbuf));
     }
 
     VG_(sprintf)(buf, "\npart: %d\n", out_counter);
-    my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+    my_fwrite(fd, buf, VG_(strlen)(buf));
     if (CLG_(clo).separate_threads) {
 	VG_(sprintf)(buf, "thread: %d\n", tid);
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
     }
 
     /* "desc:" lines */
@@ -1362,36 +1362,36 @@
 	/* Global options changing the tracing behaviour */
 	VG_(sprintf)(buf, "\ndesc: Option: --skip-plt=%s\n",
 		     CLG_(clo).skip_plt ? "yes" : "no");
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
 	VG_(sprintf)(buf, "desc: Option: --collect-jumps=%s\n",
 		     CLG_(clo).collect_jumps ? "yes" : "no");
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
 	VG_(sprintf)(buf, "desc: Option: --separate-recs=%d\n",
 		     CLG_(clo).separate_recursions);
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
 	VG_(sprintf)(buf, "desc: Option: --separate-callers=%d\n",
 		     CLG_(clo).separate_callers);
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
 
 	VG_(sprintf)(buf, "desc: Option: --dump-bbs=%s\n",
 		     CLG_(clo).dump_bbs ? "yes" : "no");
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
 	VG_(sprintf)(buf, "desc: Option: --separate-threads=%s\n",
 		     CLG_(clo).separate_threads ? "yes" : "no");
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
 #endif
 
 	(*CLG_(cachesim).getdesc)(buf);
-	my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	my_fwrite(fd, buf, VG_(strlen)(buf));
     }
 
     VG_(sprintf)(buf, "\ndesc: Timerange: Basic block %llu - %llu\n",
 		 bbs_done, CLG_(stat).bb_executions);
 
-    my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+    my_fwrite(fd, buf, VG_(strlen)(buf));
     VG_(sprintf)(buf, "desc: Trigger: %s\n",
-		 trigger ? trigger : (Char*)"Program termination");
-    my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+		 trigger ? trigger : "Program termination");
+    my_fwrite(fd, buf, VG_(strlen)(buf));
 
 #if 0
    /* Output function specific config
@@ -1401,27 +1401,27 @@
        while (fnc) {
 	   if (fnc->skip) {
 	       VG_(sprintf)(buf, "desc: Option: --fn-skip=%s\n", fnc->name);
-	       my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	       my_fwrite(fd, buf, VG_(strlen)(buf));
 	   }
 	   if (fnc->dump_at_enter) {
 	       VG_(sprintf)(buf, "desc: Option: --fn-dump-at-enter=%s\n",
 			    fnc->name);
-	       my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	       my_fwrite(fd, buf, VG_(strlen)(buf));
 	   }   
 	   if (fnc->dump_at_leave) {
 	       VG_(sprintf)(buf, "desc: Option: --fn-dump-at-leave=%s\n",
 			    fnc->name);
-	       my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	       my_fwrite(fd, buf, VG_(strlen)(buf));
 	   }
 	   if (fnc->separate_callers != CLG_(clo).separate_callers) {
 	       VG_(sprintf)(buf, "desc: Option: --separate-callers%d=%s\n",
 			    fnc->separate_callers, fnc->name);
-	       my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	       my_fwrite(fd, buf, VG_(strlen)(buf));
 	   }   
 	   if (fnc->separate_recursions != CLG_(clo).separate_recursions) {
 	       VG_(sprintf)(buf, "desc: Option: --separate-recs%d=%s\n",
 			    fnc->separate_recursions, fnc->name);
-	       my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+	       my_fwrite(fd, buf, VG_(strlen)(buf));
 	   }   
 	   fnc = fnc->next;
        }
@@ -1433,12 +1433,12 @@
 		CLG_(clo).dump_instr ? " instr" : "",
 		CLG_(clo).dump_bb    ? " bb" : "",
 		CLG_(clo).dump_line  ? " line" : "");
-   my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+   my_fwrite(fd, buf, VG_(strlen)(buf));
 
    /* "events:" line */
    i = VG_(sprintf)(buf, "events: ");
    CLG_(sprint_eventmapping)(buf+i, CLG_(dumpmap));
-   my_fwrite(fd, (void*)buf, VG_(strlen)(buf));
+   my_fwrite(fd, buf, VG_(strlen)(buf));
    my_fwrite(fd, "\n", 1);
 
    /* summary lines */
@@ -1503,8 +1503,8 @@
 /* Helper for print_bbccs */
 
 static Int   print_fd;
-static Char* print_trigger;
-static Char  print_buf[BUF_LEN];
+static const HChar* print_trigger;
+static HChar print_buf[BUF_LEN];
 
 static void print_bbccs_of_thread(thread_info* ti)
 {
@@ -1541,7 +1541,7 @@
 	/* switch back to file of function */
 	VG_(sprintf)(print_buf, "fe=");
 	print_file(print_buf+3, lastFnPos.cxt->fn[0]->file);
-	my_fwrite(print_fd, (void*)print_buf, VG_(strlen)(print_buf));
+	my_fwrite(print_fd, print_buf, VG_(strlen)(print_buf));
       }
       my_fwrite(print_fd, "\n", 1);
     }
@@ -1571,7 +1571,7 @@
 	VG_(sprintf)(print_buf+pos, "%d %llu\n", 
 		     (*p)->bb->instr_count,
 		     ecounter);
-	my_fwrite(print_fd, (void*)print_buf, VG_(strlen)(print_buf));
+	my_fwrite(print_fd, print_buf, VG_(strlen)(print_buf));
     }
     
     fprint_bbcc(print_fd, *p, &lastAPos);
@@ -1590,7 +1590,7 @@
 }
 
 
-static void print_bbccs(Char* trigger, Bool only_current_thread)
+static void print_bbccs(const HChar* trigger, Bool only_current_thread)
 {
   init_dump_array();
   init_debug_cache();
@@ -1615,17 +1615,17 @@
 }
 
 
-void CLG_(dump_profile)(Char* trigger, Bool only_current_thread)
+void CLG_(dump_profile)(const HChar* trigger, Bool only_current_thread)
 {
    CLG_DEBUG(2, "+ dump_profile(Trigger '%s')\n",
-	    trigger ? trigger : (Char*)"Prg.Term.");
+	    trigger ? trigger : "Prg.Term.");
 
    CLG_(init_dumps)();
 
    if (VG_(clo_verbosity) > 1)
        VG_(message)(Vg_DebugMsg, "Start dumping at BB %llu (%s)...\n",
 		    CLG_(stat).bb_executions,
-		    trigger ? trigger : (Char*)"Prg.Term.");
+		    trigger ? trigger : "Prg.Term.");
 
    out_counter++;
 
@@ -1715,12 +1715,12 @@
        i++;
    }
    i = lastSlash;
-   out_directory = (Char*) CLG_MALLOC("cl.dump.init_dumps.1", i+1);
+   out_directory = (HChar*) CLG_MALLOC("cl.dump.init_dumps.1", i+1);
    VG_(strncpy)(out_directory, out_file, i);
    out_directory[i] = 0;
 
    /* allocate space big enough for final filenames */
-   filename = (Char*) CLG_MALLOC("cl.dump.init_dumps.2",
+   filename = (HChar*) CLG_MALLOC("cl.dump.init_dumps.2",
                                  VG_(strlen)(out_file)+32);
    CLG_ASSERT(filename != 0);
        
diff --git a/callgrind/events.c b/callgrind/events.c
index 9d38b06..0193d2a 100644
--- a/callgrind/events.c
+++ b/callgrind/events.c
@@ -6,7 +6,7 @@
 /*
    This file is part of Callgrind, a Valgrind tool for call tracing.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -46,7 +46,7 @@
 	eventGroup[i] = 0;
 
     for(i=0; i< MAX_EVENTSET_COUNT; i++)
-	eventSetTable[i] = 0;
+	eventSetTable[i] = 0; 
 
     eventSets_initialized = 1;
  }
@@ -62,13 +62,13 @@
     CLG_ASSERT(eventGroup[id]==0);
 
     eg = (EventGroup*) CLG_MALLOC("cl.events.group.1",
-				  sizeof(EventGroup) + n * sizeof(Char*));
+				  sizeof(EventGroup) + n * sizeof(HChar*));
     eg->size = n;
     eventGroup[id] = eg;
     return eg;
 }
 
-EventGroup* CLG_(register_event_group) (int id, Char* n1)
+EventGroup* CLG_(register_event_group) (int id, const HChar* n1)
 {
     EventGroup* eg = new_event_group(id, 1);
     eg->name[0] = n1;
@@ -76,7 +76,8 @@
     return eg;
 }
 
-EventGroup* CLG_(register_event_group2)(int id, Char* n1, Char* n2)
+EventGroup* CLG_(register_event_group2)(int id, const HChar* n1,
+                                        const HChar* n2)
 {
     EventGroup* eg = new_event_group(id, 2);
     eg->name[0] = n1;
@@ -85,7 +86,8 @@
     return eg;
 }
 
-EventGroup* CLG_(register_event_group3)(int id, Char* n1, Char* n2, Char* n3)
+EventGroup* CLG_(register_event_group3)(int id, const HChar* n1,
+                                        const HChar* n2, const HChar* n3)
 {
     EventGroup* eg = new_event_group(id, 3);
     eg->name[0] = n1;
@@ -95,8 +97,9 @@
     return eg;
 }
 
-EventGroup* CLG_(register_event_group4)(int id,
-					Char* n1, Char* n2, Char* n3, Char* n4)
+EventGroup* CLG_(register_event_group4)(int id, const HChar* n1,
+                                        const HChar* n2, const HChar* n3,
+                                        const HChar* n4)
 {
     EventGroup* eg = new_event_group(id, 4);
     eg->name[0] = n1;
@@ -189,7 +192,7 @@
     return eventset_from_mask(es1->mask | es2->mask);
 }
 
-Int CLG_(sprint_eventset)(Char* buf, EventSet* es)
+Int CLG_(sprint_eventset)(HChar* buf, EventSet* es)
 {
     Int i, j, pos;
     UInt mask;
@@ -443,7 +446,7 @@
 
 
 /* Returns number of characters written */
-Int CLG_(sprint_cost)(Char* buf, EventSet* es, ULong* c)
+Int CLG_(sprint_cost)(HChar* buf, EventSet* es, ULong* c)
 {
     Int i, pos, skipped = 0;
 
@@ -487,7 +490,7 @@
     return em;
 }
 
-void CLG_(append_event)(EventMapping* em, Char* n)
+void CLG_(append_event)(EventMapping* em, const HChar* n)
 {
     Int i, j, offset = 0;
     UInt mask;
@@ -515,7 +518,7 @@
 
 
 /* Returns number of characters written */
-Int CLG_(sprint_eventmapping)(Char* buf, EventMapping* em)
+Int CLG_(sprint_eventmapping)(HChar* buf, EventMapping* em)
 {
     Int i, pos = 0;
     EventGroup* eg;
@@ -534,7 +537,7 @@
 }
 
 /* Returns number of characters written */
-Int CLG_(sprint_mappingcost)(Char* buf, EventMapping* em, ULong* c)
+Int CLG_(sprint_mappingcost)(HChar* buf, EventMapping* em, ULong* c)
 {
     Int i, pos, skipped = 0;
 
diff --git a/callgrind/events.h b/callgrind/events.h
index 5a4cddd..37bc7cc 100644
--- a/callgrind/events.h
+++ b/callgrind/events.h
@@ -6,7 +6,7 @@
 /*
    This file is part of Callgrind, a Valgrind tool for call tracing.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -48,14 +48,16 @@
 typedef struct _EventGroup EventGroup;
 struct _EventGroup {
     Int size;
-    Char* name[0];
+    const HChar* name[0];
 };
 
 /* return 0 if event group can not be registered */
-EventGroup* CLG_(register_event_group) (int id, Char*);
-EventGroup* CLG_(register_event_group2)(int id, Char*, Char*);
-EventGroup* CLG_(register_event_group3)(int id, Char*, Char*, Char*);
-EventGroup* CLG_(register_event_group4)(int id, Char*, Char*, Char*, Char*);
+EventGroup* CLG_(register_event_group) (int id, const HChar*);
+EventGroup* CLG_(register_event_group2)(int id, const HChar*, const HChar*);
+EventGroup* CLG_(register_event_group3)(int id, const HChar*, const HChar*,
+                                        const HChar*);
+EventGroup* CLG_(register_event_group4)(int id, const HChar*, const HChar*,
+                                        const HChar*, const HChar*);
 EventGroup* CLG_(get_event_group)(int id);
 
 /* Event sets are defined by event groups they consist of. */
@@ -77,7 +79,7 @@
 EventSet* CLG_(add_event_group2)(EventSet*, Int id1, Int id2);
 EventSet* CLG_(add_event_set)(EventSet*, EventSet*);
 /* Writes event names into buf. Returns number of characters written */
-Int CLG_(sprint_eventset)(Char* buf, EventSet*);
+Int CLG_(sprint_eventset)(HChar* buf, EventSet*);
 
 
 /* Operations on costs. A cost pointer of 0 means zero cost.
@@ -104,7 +106,7 @@
 Bool CLG_(add_diff_cost)(EventSet*,ULong* dst, ULong* old, ULong* new_cost);
 Bool CLG_(add_diff_cost_lz)(EventSet*,ULong** pdst, ULong* old, ULong* new_cost);
 /* Returns number of characters written */
-Int CLG_(sprint_cost)(Char* buf, EventSet*, ULong*);
+Int CLG_(sprint_cost)(HChar* buf, EventSet*, ULong*);
 
 /* EventMapping: An ordered subset of events from an event set.
  * This is used to print out part of an EventSet, or in another order.
@@ -124,10 +126,10 @@
 
 /* Allocate space for an event mapping */
 EventMapping* CLG_(get_eventmapping)(EventSet*);
-void CLG_(append_event)(EventMapping*, Char*);
+void CLG_(append_event)(EventMapping*, const HChar*);
 /* Returns number of characters written */
-Int CLG_(sprint_eventmapping)(Char* buf, EventMapping*);
+Int CLG_(sprint_eventmapping)(HChar* buf, EventMapping*);
 /* Returns number of characters written */
-Int CLG_(sprint_mappingcost)(Char* buf, EventMapping*, ULong*);
+Int CLG_(sprint_mappingcost)(HChar* buf, EventMapping*, ULong*);
 
 #endif /* CLG_EVENTS */
diff --git a/callgrind/fn.c b/callgrind/fn.c
index 6a50306..983b122 100644
--- a/callgrind/fn.c
+++ b/callgrind/fn.c
@@ -6,7 +6,7 @@
 /*
    This file is part of Callgrind, a Valgrind tool for call tracing.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -39,7 +39,7 @@
 struct chunk_t { int start, len; };
 struct pattern
 {
-    const char* name;
+    const HChar* name;
     int len;
     struct chunk_t chunk[];
 };
@@ -49,7 +49,7 @@
  */
 __attribute__((unused))    // Possibly;  depends on the platform.
 static Bool check_code(obj_node* obj,
-		       unsigned char code[], struct pattern* pat)
+                       UChar code[], struct pattern* pat)
 {
     Bool found;
     Addr addr, end;
@@ -122,7 +122,7 @@
 static Bool search_runtime_resolve(obj_node* obj)
 {
 #if defined(VGP_x86_linux)
-    static unsigned char code[] = {
+    static UChar code[] = {
 	/* 0*/ 0x50, 0x51, 0x52, 0x8b, 0x54, 0x24, 0x10, 0x8b,
 	/* 8*/ 0x44, 0x24, 0x0c, 0xe8, 0x70, 0x01, 0x00, 0x00,
 	/*16*/ 0x5a, 0x59, 0x87, 0x04, 0x24, 0xc2, 0x08, 0x00 };
@@ -131,7 +131,7 @@
 	"x86-def", 24, {{ 0,12 }, { 16,8 }, { 24,0}} };
 
     /* Pattern for glibc-2.8 on OpenSuse11.0 */
-    static unsigned char code_28[] = {
+    static UChar code_28[] = {
 	/* 0*/ 0x50, 0x51, 0x52, 0x8b, 0x54, 0x24, 0x10, 0x8b,
 	/* 8*/ 0x44, 0x24, 0x0c, 0xe8, 0x70, 0x01, 0x00, 0x00,
 	/*16*/ 0x5a, 0x8b, 0x0c, 0x24, 0x89, 0x04, 0x24, 0x8b,
@@ -146,7 +146,7 @@
 #endif
 
 #if defined(VGP_ppc32_linux)
-    static unsigned char code[] = {
+    static UChar code[] = {
 	/* 0*/ 0x94, 0x21, 0xff, 0xc0, 0x90, 0x01, 0x00, 0x0c,
 	/* 8*/ 0x90, 0x61, 0x00, 0x10, 0x90, 0x81, 0x00, 0x14,
 	/*16*/ 0x7d, 0x83, 0x63, 0x78, 0x90, 0xa1, 0x00, 0x18,
@@ -172,7 +172,7 @@
 #endif
 
 #if defined(VGP_amd64_linux)
-    static unsigned char code[] = {
+    static UChar code[] = {
 	/* 0*/ 0x48, 0x83, 0xec, 0x38, 0x48, 0x89, 0x04, 0x24,
 	/* 8*/ 0x48, 0x89, 0x4c, 0x24, 0x08, 0x48, 0x89, 0x54, 0x24, 0x10,
 	/*18*/ 0x48, 0x89, 0x74, 0x24, 0x18, 0x48, 0x89, 0x7c, 0x24, 0x20,
@@ -214,7 +214,7 @@
 
 #define HASH_CONSTANT   256
 
-static UInt str_hash(const Char *s, UInt table_size)
+static UInt str_hash(const HChar *s, UInt table_size)
 {
     int hash_value = 0;
     for ( ; *s; s++)
@@ -223,7 +223,7 @@
 }
 
 
-static Char* anonymous_obj = "???";
+static const HChar* anonymous_obj = "???";
 
 static __inline__ 
 obj_node* new_obj_node(DebugInfo* di, obj_node* next)
@@ -265,9 +265,9 @@
 {
     obj_node*    curr_obj_node;
     UInt         objname_hash;
-    const UChar* obj_name;
+    const HChar* obj_name;
     
-    obj_name = di ? (Char*) VG_(DebugInfo_get_filename)(di) : anonymous_obj;
+    obj_name = di ? VG_(DebugInfo_get_filename)(di) : anonymous_obj;
 
     /* lookup in obj hash */
     objname_hash = str_hash(obj_name, N_OBJ_ENTRIES);
@@ -286,7 +286,7 @@
 
 
 static __inline__ 
-file_node* new_file_node(Char filename[FILENAME_LEN],
+file_node* new_file_node(HChar filename[FILENAME_LEN],
 			 obj_node* obj, file_node* next)
 {
   Int i;
@@ -305,7 +305,7 @@
 
  
 file_node* CLG_(get_file_node)(obj_node* curr_obj_node,
-			      Char filename[FILENAME_LEN])
+                               HChar filename[FILENAME_LEN])
 {
     file_node* curr_file_node;
     UInt       filename_hash;
@@ -330,7 +330,7 @@
 static void resize_fn_array(void);
 
 static __inline__ 
-fn_node* new_fn_node(Char fnname[FILENAME_LEN],
+fn_node* new_fn_node(HChar fnname[FILENAME_LEN],
 		     file_node* file, fn_node* next)
 {
     fn_node* fn = (fn_node*) CLG_MALLOC("cl.fn.nfnnd.1",
@@ -374,7 +374,7 @@
  */
 static
 fn_node* get_fn_node_infile(file_node* curr_file_node,
-			    Char fnname[FN_NAME_LEN])
+			    HChar fnname[FN_NAME_LEN])
 {
     fn_node* curr_fn_node;
     UInt     fnname_hash;
@@ -403,8 +403,8 @@
  */
 static __inline__
 fn_node* get_fn_node_inseg(DebugInfo* di,
-			   Char filename[FILENAME_LEN],
-			   Char fnname[FN_NAME_LEN])
+			   HChar filename[FILENAME_LEN],
+			   HChar fnname[FN_NAME_LEN])
 {
   obj_node  *obj  = CLG_(get_obj_node)(di);
   file_node *file = CLG_(get_file_node)(obj, filename);
@@ -415,12 +415,12 @@
 
 
 Bool CLG_(get_debug_info)(Addr instr_addr,
-			 Char file[FILENAME_LEN],
-			 Char fn_name[FN_NAME_LEN], UInt* line_num,
+			 HChar file[FILENAME_LEN],
+			 HChar fn_name[FN_NAME_LEN], UInt* line_num,
 			 DebugInfo** pDebugInfo)
 {
   Bool found_file_line, found_fn, found_dirname, result = True;
-  Char dir[FILENAME_LEN];
+  HChar dir[FILENAME_LEN];
   UInt line;
   
   CLG_DEBUG(6, "  + get_debug_info(%#lx)\n", instr_addr);
@@ -471,9 +471,9 @@
 
    CLG_DEBUG(6, "  - get_debug_info(%#lx): seg '%s', fn %s\n",
 	    instr_addr,
-	    !pDebugInfo   ? (const UChar*)"-" :
+	    !pDebugInfo   ? "-" :
 	    (*pDebugInfo) ? VG_(DebugInfo_get_filename)(*pDebugInfo) :
-	    (const UChar*)"(None)",
+	    "(None)",
 	    fn_name);
 
   return result;
@@ -488,7 +488,7 @@
  */
 fn_node* CLG_(get_fn_node)(BB* bb)
 {
-    Char       filename[FILENAME_LEN], fnname[FN_NAME_LEN];
+    HChar      filename[FILENAME_LEN], fnname[FN_NAME_LEN];
     DebugInfo* di;
     UInt       line_num;
     fn_node*   fn;
diff --git a/callgrind/global.h b/callgrind/global.h
index 63f6e10..d764e16 100644
--- a/callgrind/global.h
+++ b/callgrind/global.h
@@ -56,8 +56,8 @@
 struct _CommandLineOptions {
 
   /* Dump format options */
-  Char* out_format;      /* Format string for callgrind output file name */
-  Bool combine_dumps;    /* Dump trace parts into same file? */
+  const HChar* out_format;  /* Format string for callgrind output file name */
+  Bool combine_dumps;       /* Dump trace parts into same file? */
   Bool compress_strings;
   Bool compress_events;
   Bool compress_pos;
@@ -212,7 +212,6 @@
 typedef struct _Context     Context;
 typedef struct _CC          CC;
 typedef struct _BB          BB;
-typedef struct _Skipped     Skipped;
 typedef struct _BBCC        BBCC;
 typedef struct _jCC         jCC;
 typedef struct _fCC         fCC;
@@ -422,7 +421,7 @@
  */
 
 struct _fn_node {
-  Char*      name;
+  HChar*     name;
   UInt       number;
   Context*   last_cxt; /* LRU info */
   Context*   pure_cxt; /* the context with only the function itself */
@@ -456,7 +455,7 @@
 #define N_BBCC2_ENTRIES         37
 
 struct _file_node {
-   Char*      name;
+   HChar*     name;
    fn_node*   fns[N_FN_ENTRIES];
    UInt       number;
    obj_node*  obj;
@@ -468,7 +467,7 @@
  * zero when object is unmapped (possible at dump time).
  */
 struct _obj_node {
-   Char*      name;
+   const HChar* name;
    UInt       last_slash_pos;
 
    Addr       start;  /* Start address of text segment mapping */
@@ -657,10 +656,10 @@
 struct cachesim_if
 {
     void (*print_opts)(void);
-    Bool (*parse_opt)(Char* arg);
+    Bool (*parse_opt)(const HChar* arg);
     void (*post_clo_init)(void);
     void (*clear)(void);
-    void (*getdesc)(Char* buf);
+    void (*getdesc)(HChar* buf);
     void (*printstat)(Int,Int,Int);
     void (*add_icost)(SimCost, BBCC*, InstrInfo*, ULong);
     void (*finish)(void);
@@ -676,9 +675,9 @@
     void (*log_0I1Dw)(InstrInfo*, Addr, Word) VG_REGPARM(3);
 
     // function names of helpers (for debugging generated code)
-    Char *log_1I0D_name, *log_2I0D_name, *log_3I0D_name;
-    Char *log_1I1Dr_name, *log_1I1Dw_name;
-    Char *log_0I1Dr_name, *log_0I1Dw_name;
+    const HChar *log_1I0D_name, *log_2I0D_name, *log_3I0D_name;
+    const HChar *log_1I1Dr_name, *log_1I1Dw_name;
+    const HChar *log_0I1Dr_name, *log_0I1Dw_name;
 };
 
 // set by setup_bbcc at start of every BB, and needed by log_* helpers
@@ -712,7 +711,7 @@
 
 void CLG_(set_clo_defaults)(void);
 void CLG_(update_fn_config)(fn_node*);
-Bool CLG_(process_cmd_line_option)(Char*);
+Bool CLG_(process_cmd_line_option)(const HChar*);
 void CLG_(print_usage)(void);
 void CLG_(print_debug_usage)(void);
 
@@ -721,11 +720,11 @@
 void CLG_(init_eventsets)(void);
 
 /* from main.c */
-Bool CLG_(get_debug_info)(Addr, Char filename[FILENAME_LEN],
-			 Char fn_name[FN_NAME_LEN], UInt*, DebugInfo**);
+Bool CLG_(get_debug_info)(Addr, HChar filename[FILENAME_LEN],
+			 HChar fn_name[FN_NAME_LEN], UInt*, DebugInfo**);
 void CLG_(collectBlockInfo)(IRSB* bbIn, UInt*, UInt*, Bool*);
-void CLG_(set_instrument_state)(Char*,Bool);
-void CLG_(dump_profile)(Char* trigger,Bool only_current_thread);
+void CLG_(set_instrument_state)(const HChar*,Bool);
+void CLG_(dump_profile)(const HChar* trigger,Bool only_current_thread);
 void CLG_(zero_all_cost)(Bool only_current_thread);
 Int CLG_(get_dump_counter)(void);
 void CLG_(fini)(Int exitcode);
@@ -751,7 +750,7 @@
 
 void      CLG_(init_obj_table)(void);
 obj_node* CLG_(get_obj_node)(DebugInfo* si);
-file_node* CLG_(get_file_node)(obj_node*, Char* filename);
+file_node* CLG_(get_file_node)(obj_node*, HChar* filename);
 fn_node*  CLG_(get_fn_node)(BB* bb);
 
 /* from bbcc.c */
@@ -813,8 +812,8 @@
 /* from dump.c */
 extern FullCost CLG_(total_cost);
 void CLG_(init_dumps)(void);
-Char* CLG_(get_out_file)(void);
-Char* CLG_(get_out_directory)(void);
+HChar* CLG_(get_out_file)(void);
+HChar* CLG_(get_out_directory)(void);
 
 /*------------------------------------------------------------*/
 /*--- Exported global variables                            ---*/
@@ -827,6 +826,8 @@
 /* Function active counter array, indexed by function number */
 extern UInt* CLG_(fn_active_array);
 extern Bool CLG_(instrument_state);
+ /* min of L1 and LL cache line sizes */
+extern Int CLG_(min_line_size);
 
 extern call_stack CLG_(current_call_stack);
 extern fn_stack   CLG_(current_fn_stack);
@@ -841,8 +842,8 @@
 #if CLG_ENABLE_DEBUG
 
 #define CLG_DEBUGIF(x) \
-  if ( (CLG_(clo).verbose >x) && \
-       (CLG_(stat).bb_executions >= CLG_(clo).verbose_start))
+  if (UNLIKELY( (CLG_(clo).verbose >x) && \
+                (CLG_(stat).bb_executions >= CLG_(clo).verbose_start)))
 
 #define CLG_DEBUG(x,format,args...)   \
     CLG_DEBUGIF(x) {                  \
@@ -851,7 +852,7 @@
     }
 
 #define CLG_ASSERT(cond)              \
-    if (!(cond)) {                    \
+    if (UNLIKELY(!(cond))) {          \
       CLG_(print_context)();          \
       CLG_(print_bbno)();	      \
       tl_assert(cond);                \
@@ -880,8 +881,8 @@
 void CLG_(print_addr)(Addr addr);
 void CLG_(print_addr_ln)(Addr addr);
 
-void* CLG_(malloc)(HChar* cc, UWord s, char* f);
-void* CLG_(free)(void* p, char* f);
+void* CLG_(malloc)(const HChar* cc, UWord s, const HChar* f);
+void* CLG_(free)(void* p, const HChar* f);
 #if 0
 #define CLG_MALLOC(_cc,x) CLG_(malloc)((_cc),x,__FUNCTION__)
 #define CLG_FREE(p)       CLG_(free)(p,__FUNCTION__)
diff --git a/callgrind/jumps.c b/callgrind/jumps.c
index c623811..633152e 100644
--- a/callgrind/jumps.c
+++ b/callgrind/jumps.c
@@ -6,7 +6,7 @@
 /*
    This file is part of Callgrind, a Valgrind tool for call tracing.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/callgrind/main.c b/callgrind/main.c
index 62ca8c9..66c381f 100644
--- a/callgrind/main.c
+++ b/callgrind/main.c
@@ -8,10 +8,10 @@
    This file is part of Callgrind, a Valgrind tool for call graph
    profiling programs.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This tool is derived from and contains code from Cachegrind
-   Copyright (C) 2002-2011 Nicholas Nethercote (njn@valgrind.org)
+   Copyright (C) 2002-2012 Nicholas Nethercote (njn@valgrind.org)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -52,6 +52,10 @@
 /* thread and signal handler specific */
 exec_state CLG_(current_state);
 
+/* min of L1 and LL cache line sizes.  This only gets set to a
+   non-zero value if we are doing cache simulation. */
+Int CLG_(min_line_size) = 0;
+
 
 /*------------------------------------------------------------*/
 /*--- Statistics                                           ---*/
@@ -373,7 +377,7 @@
 static void flushEvents ( ClgState* clgs )
 {
    Int        i, regparms, inew;
-   Char*      helperName;
+   const HChar* helperName;
    void*      helperAddr;
    IRExpr**   argv;
    IRExpr*    i_node_expr;
@@ -613,8 +617,9 @@
 {
    Event* evt;
    tl_assert(isIRAtom(ea));
-   tl_assert(datasize >= 1 && datasize <= MIN_LINE_SIZE);
+   tl_assert(datasize >= 1);
    if (!CLG_(clo).simulate_cache) return;
+   tl_assert(datasize <= CLG_(min_line_size));
 
    if (clgs->events_used == N_EVENTS)
       flushEvents(clgs);
@@ -634,8 +639,9 @@
    Event* lastEvt;
    Event* evt;
    tl_assert(isIRAtom(ea));
-   tl_assert(datasize >= 1 && datasize <= MIN_LINE_SIZE);
+   tl_assert(datasize >= 1);
    if (!CLG_(clo).simulate_cache) return;
+   tl_assert(datasize <= CLG_(min_line_size));
 
    /* Is it possible to merge this write with the preceding read? */
    lastEvt = &clgs->events[clgs->events_used-1];
@@ -663,6 +669,50 @@
 }
 
 static
+void addEvent_D_guarded ( ClgState* clgs, InstrInfo* inode,
+                          Int datasize, IRAtom* ea, IRAtom* guard,
+                          Bool isWrite )
+{
+   tl_assert(isIRAtom(ea));
+   tl_assert(guard);
+   tl_assert(isIRAtom(guard));
+   tl_assert(datasize >= 1);
+   if (!CLG_(clo).simulate_cache) return;
+   tl_assert(datasize <= CLG_(min_line_size));
+
+   /* Adding guarded memory actions and merging them with the existing
+      queue is too complex.  Simply flush the queue and add this
+      action immediately.  Since guarded loads and stores are pretty
+      rare, this is not thought likely to cause any noticeable
+      performance loss as a result of the loss of event-merging
+      opportunities. */
+   tl_assert(clgs->events_used >= 0);
+   flushEvents(clgs);
+   tl_assert(clgs->events_used == 0);
+   /* Same as case Ev_Dw / case Ev_Dr in flushEvents, except with guard */
+   IRExpr*      i_node_expr;
+   const HChar* helperName;
+   void*        helperAddr;
+   IRExpr**     argv;
+   Int          regparms;
+   IRDirty*     di;
+   i_node_expr = mkIRExpr_HWord( (HWord)inode );
+   helperName  = isWrite ? CLG_(cachesim).log_0I1Dw_name
+                         : CLG_(cachesim).log_0I1Dr_name;
+   helperAddr  = isWrite ? CLG_(cachesim).log_0I1Dw
+                         : CLG_(cachesim).log_0I1Dr;
+   argv        = mkIRExprVec_3( i_node_expr,
+                                ea, mkIRExpr_HWord( datasize ) );
+   regparms    = 3;
+   di          = unsafeIRDirty_0_N(
+                    regparms, 
+                    helperName, VG_(fnptr_to_fnentry)( helperAddr ), 
+                    argv );
+   di->guard = guard;
+   addStmtToIRSB( clgs->sbOut, IRStmt_Dirty(di) );
+}
+
+static
 void addEvent_Bc ( ClgState* clgs, InstrInfo* inode, IRAtom* guard )
 {
    Event* evt;
@@ -903,15 +953,16 @@
 			IRSB* sbIn,
 			VexGuestLayout* layout,
 			VexGuestExtents* vge,
+                        VexArchInfo* archinfo_host,
 			IRType gWordTy, IRType hWordTy )
 {
-   Int      i;
-   IRStmt*  st;
-   Addr     origAddr;
+   Int        i;
+   IRStmt*    st;
+   Addr       origAddr;
    InstrInfo* curr_inode = NULL;
-   ClgState clgs;
-   UInt     cJumps = 0;
-
+   ClgState   clgs;
+   UInt       cJumps = 0;
+   IRTypeEnv* tyenv = sbIn->tyenv;
 
    if (gWordTy != hWordTy) {
       /* We don't currently support this case. */
@@ -1015,6 +1066,31 @@
 	    break;
 	 }
 
+         case Ist_StoreG: {
+            IRStoreG* sg   = st->Ist.StoreG.details;
+            IRExpr*   data = sg->data;
+            IRExpr*   addr = sg->addr;
+            IRType    type = typeOfIRExpr(tyenv, data);
+            tl_assert(type != Ity_INVALID);
+            addEvent_D_guarded( &clgs, curr_inode,
+                                sizeofIRType(type), addr, sg->guard,
+                                True/*isWrite*/ );
+            break;
+         }
+
+         case Ist_LoadG: {
+            IRLoadG* lg       = st->Ist.LoadG.details;
+            IRType   type     = Ity_INVALID; /* loaded type */
+            IRType   typeWide = Ity_INVALID; /* after implicit widening */
+            IRExpr*  addr     = lg->addr;
+            typeOfIRLoadGOp(lg->cvt, &typeWide, &type);
+            tl_assert(type != Ity_INVALID);
+            addEvent_D_guarded( &clgs, curr_inode,
+                                sizeofIRType(type), addr, lg->guard,
+                                False/*!isWrite*/ );
+            break;
+         }
+
 	 case Ist_Dirty: {
 	    Int      dataSize;
 	    IRDirty* d = st->Ist.Dirty.details;
@@ -1027,8 +1103,8 @@
 	       // instructions will be done inaccurately, but they're
 	       // very rare and this avoids errors from hitting more
 	       // than two cache lines in the simulation.
-	       if (dataSize > MIN_LINE_SIZE)
-		  dataSize = MIN_LINE_SIZE;
+	       if (CLG_(clo).simulate_cache && dataSize > CLG_(min_line_size))
+		  dataSize = CLG_(min_line_size);
 	       if (d->mFx == Ifx_Read || d->mFx == Ifx_Modify)
 		  addEvent_Dr( &clgs, curr_inode, dataSize, d->mAddr );
 	       if (d->mFx == Ifx_Write || d->mFx == Ifx_Modify)
@@ -1066,6 +1142,8 @@
                dataTy = typeOfIRTemp(sbIn->tyenv, st->Ist.LLSC.result);
                addEvent_Dr( &clgs, curr_inode,
                             sizeofIRType(dataTy), st->Ist.LLSC.addr );
+               /* flush events before LL, should help SC to succeed */
+               flushEvents( &clgs );
             } else {
                /* SC */
                dataTy = typeOfIRExpr(sbIn->tyenv, st->Ist.LLSC.storedata);
@@ -1222,7 +1300,7 @@
 			    jmps_passed, hWordTy);
    }
    CLG_ASSERT(clgs.bb->cjmp_count == cJumps);
-   CLG_ASSERT(clgs.bb->instr_count = clgs.ii_index);
+   CLG_ASSERT(clgs.bb->instr_count == clgs.ii_index);
 
    /* Info for final exit from BB */
    {
@@ -1258,7 +1336,7 @@
 
    if (clgs.seen_before) {
        CLG_ASSERT(clgs.bb->cost_count == update_cost_offsets(&clgs));
-       CLG_ASSERT(clgs.bb->instr_len = clgs.instr_offset);
+       CLG_ASSERT(clgs.bb->instr_len == clgs.instr_offset);
    }
    else {
        clgs.bb->cost_count = update_cost_offsets(&clgs);
@@ -1367,10 +1445,11 @@
     CLG_(zero_cost)( CLG_(sets).full, CLG_(current_state).cost );
 }
 
-/* Ups, this can go very wrong... */
-extern void VG_(discard_translations) ( Addr64 start, ULong range, HChar* who );
+/* Ups, this can go very wrong...
+   FIXME: We should export this function or provide other means to get a handle */
+extern void VG_(discard_translations) ( Addr64 start, ULong range, const HChar* who );
 
-void CLG_(set_instrument_state)(Char* reason, Bool state)
+void CLG_(set_instrument_state)(const HChar* reason, Bool state)
 {
   if (CLG_(instrument_state) == state) {
     CLG_DEBUG(2, "%s: instrumentation already %s\n",
@@ -1396,7 +1475,7 @@
 /* helper for dump_state_togdb */
 static void dump_state_of_thread_togdb(thread_info* ti)
 {
-    static Char buf[512];
+    static HChar buf[512];
     static FullCost sum = 0, tmp = 0;
     Int t, p, i;
     BBCC *from, *to;
@@ -1442,7 +1521,7 @@
 /* Dump current state */
 static void dump_state_togdb(void)
 {
-    static Char buf[512];
+    static HChar buf[512];
     thread_info** th;
     int t, p;
     Int orig_tid = CLG_(current_tid);
@@ -1494,11 +1573,11 @@
 }
 
 /* return True if request recognised, False otherwise */
-static Bool handle_gdb_monitor_command (ThreadId tid, Char *req)
+static Bool handle_gdb_monitor_command (ThreadId tid, const HChar *req)
 {
-   Char* wcmd;
-   Char s[VG_(strlen(req))]; /* copy for strtok_r */
-   Char *ssaveptr;
+   HChar* wcmd;
+   HChar s[VG_(strlen(req))]; /* copy for strtok_r */
+   HChar *ssaveptr;
 
    VG_(strcpy) (s, req);
 
@@ -1522,7 +1601,7 @@
    }
 
    case 3: { /* status */
-     Char* arg = VG_(strtok_r) (0, " ", &ssaveptr);
+     HChar* arg = VG_(strtok_r) (0, " ", &ssaveptr);
      if (arg && (VG_(strcmp)(arg, "internal") == 0)) {
        /* internal interface to callgrind_control */
        dump_state_togdb();
@@ -1543,7 +1622,7 @@
    }
 
    case 4: { /* instrumentation */
-     Char* arg = VG_(strtok_r) (0, " ", &ssaveptr);
+     HChar* arg = VG_(strtok_r) (0, " ", &ssaveptr);
      if (!arg) {
        VG_(gdb_printf)("instrumentation: %s\n",
 		       CLG_(instrument_state) ? "on":"off");
@@ -1574,8 +1653,8 @@
 
    case VG_USERREQ__DUMP_STATS_AT:
      {
-       Char buf[512];
-       VG_(sprintf)(buf,"Client Request: %s", (Char*)args[1]);
+       HChar buf[512];
+       VG_(sprintf)(buf,"Client Request: %s", (HChar*)args[1]);
        CLG_(dump_profile)(buf, True);
        *ret = 0;                 /* meaningless */
      }
@@ -1604,7 +1683,7 @@
      break;
 
    case VG_USERREQ__GDB_MONITOR_COMMAND: {
-      Bool handled = handle_gdb_monitor_command (tid, (Char*)args[1]);
+      Bool handled = handle_gdb_monitor_command (tid, (HChar*)args[1]);
       if (handled)
          *ret = 1;
       else
@@ -1693,7 +1772,8 @@
 static
 void branchsim_printstat(int l1, int l2, int l3)
 {
-    static Char buf1[128], buf2[128], buf3[128], fmt[128];
+    static HChar buf1[128], buf2[128], buf3[128];
+    static HChar fmt[128];
     FullCost total;
     ULong Bc_total_b, Bc_total_mp, Bi_total_b, Bi_total_mp;
     ULong B_total_b, B_total_mp;
@@ -1731,7 +1811,8 @@
 static
 void finish(void)
 {
-  Char buf[32+COSTS_LEN], fmt[128];
+  HChar buf[32+COSTS_LEN];
+  HChar fmt[128];
   Int l1, l2, l3;
   FullCost total;
 
@@ -1883,9 +1964,29 @@
 static
 void CLG_(post_clo_init)(void)
 {
-   VG_(clo_vex_control).iropt_unroll_thresh = 0;
-   VG_(clo_vex_control).guest_chase_thresh = 0;
+   if (VG_(clo_vex_control).iropt_register_updates
+       != VexRegUpdSpAtMemAccess) {
+      CLG_DEBUG(1, " Using user specified value for "
+                "--vex-iropt-register-updates\n");
+   } else {
+      CLG_DEBUG(1, 
+                " Using default --vex-iropt-register-updates="
+                "sp-at-mem-access\n");
+   }
 
+   if (VG_(clo_vex_control).iropt_unroll_thresh != 0) {
+      VG_(message)(Vg_UserMsg, 
+                   "callgrind only works with --vex-iropt-unroll-thresh=0\n"
+                   "=> resetting it back to 0\n");
+      VG_(clo_vex_control).iropt_unroll_thresh = 0;   // cannot be overriden.
+   }
+   if (VG_(clo_vex_control).guest_chase_thresh != 0) {
+      VG_(message)(Vg_UserMsg,
+                   "callgrind only works with --vex-guest-chase-thresh=0\n"
+                   "=> resetting it back to 0\n");
+      VG_(clo_vex_control).guest_chase_thresh = 0; // cannot be overriden.
+   }
+   
    CLG_DEBUG(1, "  dump threads: %s\n", CLG_(clo).separate_threads ? "Yes":"No");
    CLG_DEBUG(1, "  call sep. : %d\n", CLG_(clo).separate_callers);
    CLG_DEBUG(1, "  rec. sep. : %d\n", CLG_(clo).separate_recursions);
@@ -1925,11 +2026,16 @@
     VG_(details_name)            ("Callgrind");
     VG_(details_version)         (NULL);
     VG_(details_description)     ("a call-graph generating cache profiler");
-    VG_(details_copyright_author)("Copyright (C) 2002-2011, and GNU GPL'd, "
+    VG_(details_copyright_author)("Copyright (C) 2002-2012, and GNU GPL'd, "
 				  "by Josef Weidendorfer et al.");
     VG_(details_bug_reports_to)  (VG_BUGS_TO);
     VG_(details_avg_translation_sizeB) ( 500 );
 
+    VG_(clo_vex_control).iropt_register_updates
+       = VexRegUpdSpAtMemAccess; // overridable by the user.
+    VG_(clo_vex_control).iropt_unroll_thresh = 0;   // cannot be overriden.
+    VG_(clo_vex_control).guest_chase_thresh = 0;    // cannot be overriden.
+
     VG_(basic_tool_funcs)        (CLG_(post_clo_init),
                                   CLG_(instrument),
                                   CLG_(fini));
diff --git a/callgrind/sim.c b/callgrind/sim.c
index c1deff7..4d3fcc1 100644
--- a/callgrind/sim.c
+++ b/callgrind/sim.c
@@ -7,10 +7,10 @@
    This file is part of Callgrind, a Valgrind tool for call graph
    profiling programs.
 
-   Copyright (C) 2003-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2003-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This tool is derived from and contains code from Cachegrind
-   Copyright (C) 2002-2011 Nicholas Nethercote (njn@valgrind.org)
+   Copyright (C) 2002-2012 Nicholas Nethercote (njn@valgrind.org)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -66,7 +66,7 @@
 
 /* Cache state */
 typedef struct {
-   char*        name;
+   const HChar* name;
    int          size;                   /* bytes */
    int          assoc;
    int          line_size;              /* bytes */
@@ -76,7 +76,7 @@
    int          line_size_bits;
    int          tag_shift;
    UWord        tag_mask;
-   char         desc_line[128];
+   HChar        desc_line[128];
    UWord*       tags;
 
   /* for cache use */
@@ -227,18 +227,23 @@
 
 
 /*------------------------------------------------------------*/
-/*--- Write Through Cache Simulation                       ---*/
+/*--- Simple Cache Simulation                              ---*/
 /*------------------------------------------------------------*/
 
 /*
- * Simple model: L1 & LL Write Through
- * Does not distinguish among read and write references
+ * Model: single inclusive, 2-level cache hierarchy (L1/LL)
+ *        with write-allocate
+ *
+ * For simple cache hit/miss counts, we do not have to
+ * maintain the dirty state of lines (no need to distinguish
+ * read/write references), and the resulting counts are the
+ * same for write-through and write-back caches.
  *
  * Simulator functions:
  *  CacheModelResult cachesim_I1_ref(Addr a, UChar size)
  *  CacheModelResult cachesim_D1_ref(Addr a, UChar size)
  */
-
+__attribute__((always_inline))
 static __inline__
 CacheResult cachesim_setref(cache_t2* c, UInt set_no, UWord tag)
 {
@@ -274,28 +279,34 @@
     return Miss;
 }
 
-static CacheResult cachesim_ref(cache_t2* c, Addr a, UChar size)
+__attribute__((always_inline))
+static __inline__
+CacheResult cachesim_ref(cache_t2* c, Addr a, UChar size)
 {
-    UInt  set1 = ( a         >> c->line_size_bits) & (c->sets_min_1);
-    UInt  set2 = ((a+size-1) >> c->line_size_bits) & (c->sets_min_1);
-    UWord tag  = a >> c->tag_shift;
+    UWord block1 =  a         >> c->line_size_bits;
+    UWord block2 = (a+size-1) >> c->line_size_bits;
+    UInt  set1   = block1 & c->sets_min_1;
+    /* the tag does not need to include bits specifying the set,
+     * but it can, and this saves instructions */
+    UWord tag1   = block1;
 
     /* Access entirely within line. */
-    if (set1 == set2) 
-	return cachesim_setref(c, set1, tag);
+    if (block1 == block2)
+	return cachesim_setref(c, set1, tag1);
 
     /* Access straddles two lines. */
-    /* Nb: this is a fast way of doing ((set1+1) % c->sets) */
-    else if (((set1 + 1) & (c->sets_min_1)) == set2) {
-	UWord tag2  = (a+size-1) >> c->tag_shift;
+    else if (block1 + 1 == block2) {
+        UInt  set2 = block2 & c->sets_min_1;
+        UWord tag2 = block2;
 
 	/* the call updates cache structures as side effect */
-	CacheResult res1 =  cachesim_setref(c, set1, tag);
+	CacheResult res1 =  cachesim_setref(c, set1, tag1);
 	CacheResult res2 =  cachesim_setref(c, set2, tag2);
 	return ((res1 == Miss) || (res2 == Miss)) ? Miss : Hit;
 
    } else {
-       VG_(printf)("addr: %lx  size: %u  sets: %d %d", a, size, set1, set2);
+       VG_(printf)("addr: %lx  size: %u  blocks: %ld %ld",
+		   a, size, block1, block2);
        VG_(tool_panic)("item straddles more than two cache sets");
    }
    return Hit;
@@ -338,6 +349,7 @@
  * this cache line (CACHELINE_DIRTY = 1). By OR'ing the reference
  * type (Read/Write), the line gets dirty on a write.
  */
+__attribute__((always_inline))
 static __inline__
 CacheResult cachesim_setref_wb(cache_t2* c, RefType ref, UInt set_no, UWord tag)
 {
@@ -376,7 +388,7 @@
     return (tmp_tag & CACHELINE_DIRTY) ? MissDirty : Miss;
 }
 
-
+__attribute__((always_inline))
 static __inline__
 CacheResult cachesim_ref_wb(cache_t2* c, RefType ref, Addr a, UChar size)
 {
@@ -1034,7 +1046,7 @@
 }
 
 static
-Char* cacheRes(CacheModelResult r)
+const HChar* cacheRes(CacheModelResult r)
 {
     switch(r) {
     case L1_Hit:    return "L1 Hit ";
@@ -1177,6 +1189,9 @@
 }
 
 
+/* Note that addEvent_D_guarded assumes that log_0I1Dr and log_0I1Dw
+   have exactly the same prototype.  If you change them, you must
+   change addEvent_D_guarded too. */
 VG_REGPARM(3)
 static void log_0I1Dr(InstrInfo* ii, Addr data_addr, Word data_size)
 {
@@ -1236,6 +1251,7 @@
     }
 }
 
+/* See comment on log_0I1Dr. */
 VG_REGPARM(3)
 static void log_0I1Dw(InstrInfo* ii, Addr data_addr, Word data_size)
 {
@@ -1307,6 +1323,28 @@
   D1.name = "D1";
   LL.name = "LL";
 
+  // min_line_size is used to make sure that we never feed
+  // accesses to the simulator straddling more than two
+  // cache lines at any cache level
+  CLG_(min_line_size) = (I1c.line_size < D1c.line_size)
+                           ? I1c.line_size : D1c.line_size;
+  CLG_(min_line_size) = (LLc.line_size < CLG_(min_line_size))
+                           ? LLc.line_size : CLG_(min_line_size);
+
+  Int largest_load_or_store_size
+     = VG_(machine_get_size_of_largest_guest_register)();
+  if (CLG_(min_line_size) < largest_load_or_store_size) {
+     /* We can't continue, because the cache simulation might
+        straddle more than 2 lines, and it will assert.  So let's
+        just stop before we start. */
+     VG_(umsg)("Callgrind: cannot continue: the minimum line size (%d)\n",
+               (Int)CLG_(min_line_size));
+     VG_(umsg)("  must be equal to or larger than the maximum register size (%d)\n",
+               largest_load_or_store_size );
+     VG_(umsg)("  but it is not.  Exiting now.\n");
+     VG_(exit)(1);
+  }
+
   cachesim_initcache(I1c, &I1);
   cachesim_initcache(D1c, &D1);
   cachesim_initcache(LLc, &LL);
@@ -1396,7 +1434,7 @@
 }
 
 
-static void cachesim_getdesc(Char* buf)
+static void cachesim_getdesc(HChar* buf)
 {
   Int p;
   p = VG_(sprintf)(buf, "\ndesc: I1 cache: %s\n", I1.desc_line);
@@ -1423,7 +1461,7 @@
  *
  * Called from CLG_(process_cmd_line_option)() in clo.c
  */
-static Bool cachesim_parse_opt(Char* arg)
+static Bool cachesim_parse_opt(const HChar* arg)
 {
    if      VG_BOOL_CLO(arg, "--simulate-wb",      clo_simulate_writeback) {}
    else if VG_BOOL_CLO(arg, "--simulate-hwpref",  clo_simulate_hwpref)    {}
@@ -1450,7 +1488,7 @@
 /* Adds commas to ULong, right justifying in a field field_width wide, returns
  * the string in buf. */
 static
-Int commify(ULong n, int field_width, char* buf)
+Int commify(ULong n, int field_width, HChar* buf)
 {
    int len, n_commas, i, j, new_len, space;
 
@@ -1480,7 +1518,7 @@
 }
 
 static
-void percentify(Int n, Int ex, Int field_width, char buf[]) 
+void percentify(Int n, Int ex, Int field_width, HChar buf[]) 
 {
    int i, len, space;
     
@@ -1501,7 +1539,7 @@
   FullCost total = CLG_(total_cost), D_total = 0;
   ULong LL_total_m, LL_total_mr, LL_total_mw,
     LL_total, LL_total_r, LL_total_w;
-  char buf1[RESULTS_BUF_LEN], 
+  HChar buf1[RESULTS_BUF_LEN], 
     buf2[RESULTS_BUF_LEN], 
     buf3[RESULTS_BUF_LEN];
   Int p;
@@ -1774,4 +1812,3 @@
 /*--------------------------------------------------------------------*/
 /*--- end                                                 ct_sim.c ---*/
 /*--------------------------------------------------------------------*/
-
diff --git a/callgrind/tests/filter_stderr b/callgrind/tests/filter_stderr
index 9664d51..e11afcf 100755
--- a/callgrind/tests/filter_stderr
+++ b/callgrind/tests/filter_stderr
@@ -26,7 +26,7 @@
 sed "/warning: Pentium 4 with 12 KB micro-op instruction trace cache/d" |
 sed "/Simulating a 16 KB I-cache with 32 B lines/d"   |
 sed "/warning: L3 cache found, using its data for the LL simulation./d" |
-sed "/Warning: Cannot auto-detect cache config on PPC.., using one or more defaults/d" |
-sed "/Warning: Cannot auto-detect cache config on ARM, using one or more defaults/d" |
-sed "/Warning: Cannot auto-detect cache config on s390x, using one or more defaults/d" |
+sed "/warning: L4 cache found, using its data for the LL simulation./d" |
+sed "/Warning: Cannot auto-detect cache config, using defaults./d" |
+sed "/Run with -v to see./d" |
 sed "/warning: pretending that LL cache has associativity .*$/d"
diff --git a/callgrind/threads.c b/callgrind/threads.c
index 8bb9349..98d9385 100644
--- a/callgrind/threads.c
+++ b/callgrind/threads.c
@@ -6,7 +6,7 @@
 /*
    This file is part of Callgrind, a Valgrind tool for call tracing.
 
-   Copyright (C) 2002-2011, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
+   Copyright (C) 2002-2012, Josef Weidendorfer (Josef.Weidendorfer@gmx.de)
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -179,7 +179,7 @@
 {
     /* check for dumps needed */
     static ULong bbs_done = 0;
-    static Char buf[512];
+    static HChar buf[512];
 
     if (CLG_(clo).dump_every_bb >0) {
        if (CLG_(stat).bb_executions - bbs_done > CLG_(clo).dump_every_bb) {
@@ -453,4 +453,3 @@
 
   return es;
 }
-
diff --git a/configure.in b/configure.in
index 623bdc3..232ddcb 100644
--- a/configure.in
+++ b/configure.in
@@ -8,7 +8,7 @@
 ##------------------------------------------------------------##
 
 # Process this file with autoconf to produce a configure script.
-AC_INIT([Valgrind],[3.8.0.SVN],[valgrind-users@lists.sourceforge.net])
+AC_INIT([Valgrind],[3.9.0.SVN],[valgrind-users@lists.sourceforge.net])
 AC_CONFIG_SRCDIR(coregrind/m_main.c)
 AC_CONFIG_HEADERS([config.h])
 AM_INIT_AUTOMAKE([foreign])
@@ -110,20 +110,22 @@
 # OS/X 10.6: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
 # OS/X 10.7: i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
 # Clang: clang version 2.9 (tags/RELEASE_29/final)
+# Apple clang: Apple clang version 3.1 (tags/Apple/clang-318.0.58) (based on LLVM 3.1svn)
+# FreeBSD clang: FreeBSD clang version 3.1 (branches/release_31 156863) 20120523
 #
 [
-  gcc_version=`${CC} -dumpversion 2>/dev/null`
-  if test "x$gcc_version" = x; then
-    gcc_version=`${CC} --version \
-               | $SED -n -e 's/[^ ]*gcc[^ ]* ([^)]*) \([0-9.]*\).*$/\1/p' \
-                         -e 's/[^ ]*clang version \([0-9.]*\).*$/\1/p'`
-  fi
-]
-
-is_clang="notclang"
-if test "x`${CC} --version | head -n 1 | $SED 's/\(clang\) version.*/\1/'`" = "xclang" ; then
-   is_clang="clang"
+if test "x`${CC} --version | $SED -n -e 's/.*\(clang\) version.*/\1/p'`" = "xclang" ; then
+    is_clang="clang"
+    # Don't use -dumpversion with clang: it will always produce "4.2.1".
+    gcc_version=`${CC} --version | $SED -n -e 's/.*clang version \([0-9.]*\).*$/\1/p'`
+else
+    is_clang="notclang"
+    gcc_version=`${CC} -dumpversion 2>/dev/null`
+    if test "x$gcc_version" = x; then
+	gcc_version=`${CC} --version | $SED -n -e 's/[^ ]*gcc[^ ]* ([^)]*) \([0-9.]*\).*$/\1/p'`
+    fi
 fi
+]
 
 case "${is_clang}-${gcc_version}" in
      notclang-3.*)
@@ -132,7 +134,7 @@
      notclang-4.*)
 	AC_MSG_RESULT([ok (${gcc_version})])
 	;;
-     clang-2.9)
+     clang-2.9|clang-3.*|clang-4.*)
 	AC_MSG_RESULT([ok (clang-${gcc_version})])
 	;;
      *)
@@ -189,6 +191,30 @@
 	ARCH_MAX="arm"
 	;;
 
+     mips)
+        AC_MSG_RESULT([ok (${host_cpu})])
+        ARCH_MAX="mips32"
+        ;;
+
+     mipsel)
+        AC_MSG_RESULT([ok (${host_cpu})])
+        ARCH_MAX="mips32"
+        ;;
+
+     mipsisa32r2)
+        AC_MSG_RESULT([ok (${host_cpu})])
+        ARCH_MAX="mips32"
+        ;;
+
+     mips64*)
+        AC_MSG_RESULT([ok (${host_cpu})])
+        ARCH_MAX="mips64"
+        ;;
+
+     mipsisa64*)
+        AC_MSG_RESULT([ok (${host_cpu})])
+        ARCH_MAX="mips64"
+        ;;
      *) 
 	AC_MSG_RESULT([no (${host_cpu})])
 	AC_MSG_ERROR([Unsupported host architecture. Sorry])
@@ -270,6 +296,7 @@
         AC_DEFINE([DARWIN_10_5], 100500, [DARWIN_VERS value for Mac OS X 10.5])
         AC_DEFINE([DARWIN_10_6], 100600, [DARWIN_VERS value for Mac OS X 10.6])
         AC_DEFINE([DARWIN_10_7], 100700, [DARWIN_VERS value for Mac OS X 10.7])
+        AC_DEFINE([DARWIN_10_8], 100800, [DARWIN_VERS value for Mac OS X 10.8])
 
 	AC_MSG_CHECKING([for the kernel version])
 	kernel=`uname -r`
@@ -306,10 +333,15 @@
 	     11.*)
 		  AC_MSG_RESULT([Darwin 11.x (${kernel}) / Mac OS X 10.7 Lion])
 		  AC_DEFINE([DARWIN_VERS], DARWIN_10_7, [Darwin / Mac OS X version])
-                  # FIXME: change these to xx11.supp
 		  DEFAULT_SUPP="darwin11.supp ${DEFAULT_SUPP}"
 		  DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
 		  ;;
+	     12.*)
+		  AC_MSG_RESULT([Darwin 12.x (${kernel}) / Mac OS X 10.8 Mountain Lion])
+		  AC_DEFINE([DARWIN_VERS], DARWIN_10_8, [Darwin / Mac OS X version])
+		  DEFAULT_SUPP="darwin12.supp ${DEFAULT_SUPP}"
+		  DEFAULT_SUPP="darwin10-drd.supp ${DEFAULT_SUPP}"
+		  ;;
              *) 
 		  AC_MSG_RESULT([unsupported (${kernel})])
 		  AC_MSG_ERROR([Valgrind works on Darwin 10.x and 11.x (Mac OS X 10.6/7)])
@@ -535,6 +567,26 @@
         valt_load_address_sec_inner="0xUNSET"
         AC_MSG_RESULT([ok (${ARCH_MAX}-${VGCONF_OS})])
         ;;
+     mips32-linux) 
+        VGCONF_ARCH_PRI="mips32"
+        VGCONF_PLATFORM_PRI_CAPS="MIPS32_LINUX"
+        VGCONF_PLATFORM_SEC_CAPS=""
+        valt_load_address_pri_norml="0x38000000"
+        valt_load_address_pri_inner="0x28000000"
+        valt_load_address_sec_norml="0xUNSET"
+        valt_load_address_sec_inner="0xUNSET"
+        AC_MSG_RESULT([ok (${ARCH_MAX}-${VGCONF_OS})])
+        ;;
+     mips64-linux)
+        VGCONF_ARCH_PRI="mips64"
+        VGCONF_PLATFORM_PRI_CAPS="MIPS64_LINUX"
+        VGCONF_PLATFORM_SEC_CAPS=""
+        valt_load_address_pri_norml="0x38000000"
+        valt_load_address_pri_inner="0x28000000"
+        valt_load_address_sec_norml="0xUNSET"
+        valt_load_address_sec_inner="0xUNSET"
+        AC_MSG_RESULT([ok (${ARCH_MAX}-${VGCONF_OS})])
+        ;;
     *)
         VGCONF_ARCH_PRI="unknown"
         VGCONF_ARCH_SEC="unknown"
@@ -570,6 +622,10 @@
                test x$VGCONF_PLATFORM_PRI_CAPS = xARM_LINUX )
 AM_CONDITIONAL(VGCONF_ARCHS_INCLUDE_S390X,
                test x$VGCONF_PLATFORM_PRI_CAPS = xS390X_LINUX )
+AM_CONDITIONAL(VGCONF_ARCHS_INCLUDE_MIPS32,
+               test x$VGCONF_PLATFORM_PRI_CAPS = xMIPS32_LINUX )
+AM_CONDITIONAL(VGCONF_ARCHS_INCLUDE_MIPS64,
+               test x$VGCONF_PLATFORM_PRI_CAPS = xMIPS64_LINUX ) 
 
 # Set up VGCONF_PLATFORMS_INCLUDE_<platform>.  Either one or two of these
 # become defined.
@@ -588,6 +644,10 @@
 AM_CONDITIONAL(VGCONF_PLATFORMS_INCLUDE_S390X_LINUX,
                test x$VGCONF_PLATFORM_PRI_CAPS = xS390X_LINUX \
                  -o x$VGCONF_PLATFORM_SEC_CAPS = xS390X_LINUX)
+AM_CONDITIONAL(VGCONF_PLATFORMS_INCLUDE_MIPS32_LINUX,
+               test x$VGCONF_PLATFORM_PRI_CAPS = xMIPS32_LINUX)
+AM_CONDITIONAL(VGCONF_PLATFORMS_INCLUDE_MIPS64_LINUX,
+               test x$VGCONF_PLATFORM_PRI_CAPS = xMIPS64_LINUX)
 
 AM_CONDITIONAL(VGCONF_PLATFORMS_INCLUDE_X86_DARWIN,   
                test x$VGCONF_PLATFORM_PRI_CAPS = xX86_DARWIN \
@@ -605,7 +665,9 @@
                  -o x$VGCONF_PLATFORM_PRI_CAPS = xPPC32_LINUX \
                  -o x$VGCONF_PLATFORM_PRI_CAPS = xPPC64_LINUX \
                  -o x$VGCONF_PLATFORM_PRI_CAPS = xARM_LINUX \
-                 -o x$VGCONF_PLATFORM_PRI_CAPS = xS390X_LINUX)
+                 -o x$VGCONF_PLATFORM_PRI_CAPS = xS390X_LINUX \
+                 -o x$VGCONF_PLATFORM_PRI_CAPS = xMIPS32_LINUX \
+                 -o x$VGCONF_PLATFORM_PRI_CAPS = xMIPS64_LINUX)
 AM_CONDITIONAL(VGCONF_OS_IS_DARWIN,
                test x$VGCONF_PLATFORM_PRI_CAPS = xX86_DARWIN \
                  -o x$VGCONF_PLATFORM_PRI_CAPS = xAMD64_DARWIN)
@@ -616,6 +678,19 @@
 AM_CONDITIONAL(VGCONF_HAVE_PLATFORM_SEC,
                test x$VGCONF_PLATFORM_SEC_CAPS != x)
 
+dnl automake-1.10 does not have AM_COND_IF (added in 1.11), so we supply a
+dnl fallback definition
+dnl The macro is courtesy of Dave Hart:
+dnl   https://lists.gnu.org/archive/html/automake/2010-12/msg00045.html
+m4_ifndef([AM_COND_IF], [AC_DEFUN([AM_COND_IF], [
+if test -z "$$1_TRUE"; then :
+  m4_n([$2])[]dnl
+m4_ifval([$3],
+[else
+  $3
+])dnl
+fi[]dnl
+])])
 
 #----------------------------------------------------------------------------
 # Inner Valgrind?
@@ -641,6 +716,32 @@
 
 
 #----------------------------------------------------------------------------
+# Define MIPS_PAGE_SHIFT (--with-pagesize)
+#----------------------------------------------------------------------------
+AC_ARG_WITH(pagesize,
+   [  --with-pagesize=        override detected page size (4, 16 or 64)],
+   [psize=$withval],
+   [psize=0]
+)
+ 
+if test "$psize" = "0"; then
+    psizer=`getconf PAGESIZE`
+    let "psize=${psizer}/1024"
+fi
+
+if test "$psize" = "4"; then
+    AC_DEFINE([MIPS_PAGE_SHIFT], 12, [configured page size 4k])
+elif test "$psize" = "16"; then
+    AC_DEFINE([MIPS_PAGE_SHIFT], 14, [configured page size 16k])
+elif test "$psize" = "64"; then
+    AC_DEFINE([MIPS_PAGE_SHIFT], 16, [configured page size 64k])
+else
+   AC_DEFINE([MIPS_PAGE_SHIFT], 12, [configured default page size 4k])
+fi
+AC_MSG_RESULT([checking for Pagesize... ${psize}k])
+
+
+#----------------------------------------------------------------------------
 # Extra fine-tuning of installation directories
 #----------------------------------------------------------------------------
 AC_ARG_WITH(tmpdir,
@@ -791,6 +892,20 @@
 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
 	;;
+     2.16)
+	AC_MSG_RESULT(2.16 family)
+	AC_DEFINE([GLIBC_2_16], 1, [Define to 1 if you're using glibc 2.16.x])
+	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
+	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+	;;
+     2.17)
+	AC_MSG_RESULT(2.17 family)
+	AC_DEFINE([GLIBC_2_17], 1, [Define to 1 if you're using glibc 2.17.x])
+	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
+	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+	;;
      darwin)
 	AC_MSG_RESULT(Darwin)
 	AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
@@ -804,7 +919,7 @@
 
      *)
 	AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
-	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.15])
+	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.17])
 	AC_MSG_ERROR([or Darwin libc])
 	;;
 esac
@@ -829,10 +944,10 @@
 
 # Normally the PLAT = (ARCH, OS) characterisation of the platform is enough.
 # But there are times where we need a bit more control.  The motivating
-# and currently only case is Android: this is almost identical to arm-linux,
-# but not quite.  So this introduces the concept of platform variant tags,
-# which get passed in the compile as -DVGPV_<arch>_<os>_<variant> along
-# with the main -DVGP_<arch>_<os> definition.
+# and currently only case is Android: this is almost identical to
+# {x86,arm}-linux, but not quite.  So this introduces the concept of platform
+# variant tags, which get passed in the compile as -DVGPV_<arch>_<os>_<variant>
+# along with the main -DVGP_<arch>_<os> definition.
 #
 # In almost all cases, the <variant> bit is "vanilla".  But for Android
 # it is "android" instead.
@@ -845,15 +960,14 @@
 #
 #   -DVGP_arm_linux -DVGPV_arm_linux_android
 #
-# The setup of the platform variant is pushed relatively far down this
-# file in order that we can inspect any of the variables set above.
+# Same for x86. The setup of the platform variant is pushed relatively far
+# down this file in order that we can inspect any of the variables set above.
 
 # In the normal case ..
 VGCONF_PLATVARIANT="vanilla"
 
-# Android on ARM ?
-if test "$VGCONF_ARCH_PRI-$VGCONF_OS" = "arm-linux" \
-        -a "$GLIBC_VERSION" = "bionic";
+# Android ?
+if test "$GLIBC_VERSION" = "bionic";
 then
    VGCONF_PLATVARIANT="android"
 fi
@@ -883,6 +997,49 @@
 # Checking for various library functions and other definitions
 #----------------------------------------------------------------------------
 
+# Check for AT_FDCWD
+
+AC_MSG_CHECKING([for AT_FDCWD])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#define _GNU_SOURCE
+#include <fcntl.h>
+#include <unistd.h>
+]], [[
+  int a = AT_FDCWD;
+]])], [
+ac_have_at_fdcwd=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_at_fdcwd=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL([HAVE_AT_FDCWD], [test x$ac_have_at_fdcwd = xyes])
+
+# Check for stpncpy function definition in string.h
+# This explicitly checks with _GNU_SOURCE defined since that is also
+# used in the test case (some systems might define it without anyway
+# since stpncpy is part of The Open Group Base Specifications Issue 7
+# IEEE Std 1003.1-2008.
+AC_MSG_CHECKING([for stpncpy])
+AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#define _GNU_SOURCE
+#include <string.h>
+]], [[
+  char *d;
+  char *s;
+  size_t n = 0;
+  char *r = stpncpy(d, s, n);
+]])], [
+ac_have_gnu_stpncpy=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_gnu_stpncpy=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL([HAVE_GNU_STPNCPY], [test x$ac_have_gnu_stpncpy = xyes])
+
 # Check for CLOCK_MONOTONIC
 
 AC_MSG_CHECKING([for CLOCK_MONOTONIC])
@@ -1070,11 +1227,13 @@
 
 AM_CONDITIONAL(HAS_VSX, test x$ac_have_vsx = xyes)
 
+
 AC_MSG_CHECKING([that assembler knows DFP])
 
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 ]], [[
   __asm__ __volatile__("dadd 1, 2, 3");
+  __asm__ __volatile__("dcffix 1, 2");
 ]])], [
 ac_asm_have_dfp=yes
 AC_MSG_RESULT([yes])
@@ -1083,12 +1242,14 @@
 AC_MSG_RESULT([no])
 ])
 
+
 AC_MSG_CHECKING([that compiler knows -mhard-dfp switch])
 safe_CFLAGS=$CFLAGS
 CFLAGS="-mhard-dfp"
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 ]], [[
   __asm__ __volatile__("dadd 1, 2, 3");
+  __asm__ __volatile__("dcffix 1, 2");
 ]])], [
 ac_gcc_have_dfp=yes
 AC_MSG_RESULT([yes])
@@ -1097,11 +1258,26 @@
 AC_MSG_RESULT([no])
 ])
 
------
 CFLAGS=$safe_CFLAGS
 
 AM_CONDITIONAL(HAS_DFP, test x$ac_asm_have_dfp = xyes -a x$ac_gcc_have_dfp = xyes)
 
+
+AC_MSG_CHECKING([that compiler knows DFP datatypes])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+]], [[
+  _Decimal64 x = 0.0DD;
+]])], [
+ac_gcc_have_dfp_type=yes
+AC_MSG_RESULT([yes])
+], [
+ac_gcc_have_dfp_type=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL(BUILD_DFP_TESTS, test x$ac_gcc_have_dfp_type = xyes)
+
+
 # Check for pthread_create@GLIBC2.0
 AC_MSG_CHECKING([for pthread_create@GLIBC2.0()])
 
@@ -1281,10 +1457,31 @@
 ])
 CFLAGS=$safe_CFLAGS
 
-if test x$no_pointer_sign = xyes; then
-  CFLAGS="$CFLAGS -Wno-pointer-sign"
+AM_CONDITIONAL(HAS_POINTER_SIGN_WARNING, test x$no_pointer_sign = xyes)
+
+
+# does this compiler support -Wno-write-strings ?
+AC_MSG_CHECKING([if gcc accepts -Wwrite-strings])
+
+safe_CFLAGS=$CFLAGS
+CFLAGS="-Wwrite-strings"
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+  return 0;
+]])], [
+no_write_strings=yes
+AC_MSG_RESULT([yes])
+], [
+no_write_strings=no
+AC_MSG_RESULT([no])
+])
+CFLAGS=$safe_CFLAGS
+
+if test x$no_write_strings = xyes; then
+  CFLAGS="$CFLAGS -Wwrite-strings"
 fi
 
+AM_CONDITIONAL(HAS_WRITE_STRINGS_WARNING, test x$no_write_strings = xyes)
 
 # does this compiler support -Wno-empty-body ?
 
@@ -1454,13 +1651,71 @@
 CFLAGS=$safe_CFLAGS
 
 
+# does this compiler support -gdwarf-4 -fdebug-types-section ?
+
+AC_MSG_CHECKING([if gcc accepts -gdwarf-4 -fdebug-types-section])
+
+safe_CFLAGS=$CFLAGS
+CFLAGS="-gdwarf-4 -fdebug-types-section"
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ]], [[
+  return 0;
+]])], [
+ac_have_dwarf4=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_dwarf4=no
+AC_MSG_RESULT([no])
+])
+AM_CONDITIONAL(DWARF4, test x$ac_have_dwarf4 = xyes)
+CFLAGS=$safe_CFLAGS
+
+
+# We want to use use the -Ttext-segment option to the linker.
+# GNU (bfd) ld supports this directly. Newer GNU gold linkers
+# support it as an alias of -Ttext. Sadly GNU (bfd) ld's -Ttext
+# semantics are NOT what we want (GNU gold -Ttext is fine).
+#
+# For GNU (bfd) ld -Ttext-segment chooses the base at which ELF headers
+# will reside. -Ttext aligns just the .text section start (but not any
+# other section).
+#
+# So test for -Ttext-segment which is supported by all bfd ld versions
+# and use that if it exists. If it doesn't exist it must be an older
+# version of gold and we can fall back to using -Ttext which has the
+# right semantics.
+
+AC_MSG_CHECKING([if the linker accepts -Wl,-Ttext-segment])
+
+safe_CFLAGS=$CFLAGS
+CFLAGS="-static -nodefaultlibs -nostartfiles -Wl,-Ttext-segment=$valt_load_address_pri_norml"
+
+AC_LINK_IFELSE(
+[AC_LANG_SOURCE([int _start () { return 0; }])],
+[
+  linker_using_t_text="no"
+  AC_SUBST([FLAG_T_TEXT], ["-Ttext-segment"])
+  AC_MSG_RESULT([yes])
+], [
+  linker_using_t_text="yes"
+  AC_SUBST([FLAG_T_TEXT], ["-Ttext"])
+  AC_MSG_RESULT([no])
+])
+CFLAGS=$safe_CFLAGS
+
+# If the linker only supports -Ttext (not -Ttext-segment) then we will
+# have to strip any build-id ELF NOTEs from the staticly linked tools.
+# Otherwise the build-id NOTE might end up at the default load address.
+# (Pedantically if the linker is gold then -Ttext is fine, but newer
+# gold versions also support -Ttext-segment. So just assume that unless
+# we can use -Ttext-segment we need to strip the build-id NOTEs.
+if test "x${linker_using_t_text}" == "xyes"; then
+AC_MSG_NOTICE([ld -Ttext used, need to strip build-id NOTEs.])
 # does the linker support -Wl,--build-id=none ?  Note, it's
 # important that we test indirectly via whichever C compiler
 # is selected, rather than testing /usr/bin/ld or whatever
 # directly.
-
 AC_MSG_CHECKING([if the linker accepts -Wl,--build-id=none])
-
 safe_CFLAGS=$CFLAGS
 CFLAGS="-Wl,--build-id=none"
 
@@ -1473,9 +1728,12 @@
   AC_SUBST([FLAG_NO_BUILD_ID], [""])
   AC_MSG_RESULT([no])
 ])
+else
+AC_MSG_NOTICE([ld -Ttext-segment used, no need to strip build-id NOTEs.])
+AC_SUBST([FLAG_NO_BUILD_ID], [""])
+fi
 CFLAGS=$safe_CFLAGS
 
-
 # does the ppc assembler support "mtocrf" et al?
 AC_MSG_CHECKING([if ppc32/64 as supports mtocrf/mfocrf])
 
@@ -1560,6 +1818,31 @@
 AM_CONDITIONAL(BUILD_PCLMULQDQ_TESTS, test x$ac_have_as_pclmulqdq = xyes)
 
 
+# does the x86/amd64 assembler understand the VPCLMULQDQ instruction?
+# Note, this doesn't generate a C-level symbol.  It generates a
+# automake-level symbol (BUILD_VPCLMULQDQ_TESTS), used in test Makefile.am's
+AC_MSG_CHECKING([if x86/amd64 assembler supports 'vpclmulqdq'])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+  do {
+      /*
+       * Carry-less multiplication of xmm1 with xmm2 and store the result in
+       * xmm3. The immediate is used to determine which quadwords of xmm1 and
+       * xmm2 should be used.
+       */
+   __asm__ __volatile__(
+      "vpclmulqdq \$0,%%xmm1,%%xmm2,%%xmm3" : : : );
+  } while (0)
+]])], [
+ac_have_as_vpclmulqdq=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_as_vpclmulqdq=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL(BUILD_VPCLMULQDQ_TESTS, test x$ac_have_as_vpclmulqdq = xyes)
+
+
 # does the x86/amd64 assembler understand the LZCNT instruction?
 # Note, this doesn't generate a C-level symbol.  It generates a
 # automake-level symbol (BUILD_LZCNT_TESTS), used in test Makefile.am's
@@ -1567,7 +1850,7 @@
 
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
   do { 		 
-      __asm__ __volatile__("lzcnt %rax,%rax");
+      __asm__ __volatile__("lzcnt %%rax,%%rax" : : : "rax");
   } while (0)
 ]])], [
   ac_have_as_lzcnt=yes
@@ -1590,7 +1873,9 @@
    __asm__ __volatile__(
       "crc32q %%r15,%%r15" : : : "r15" );
    __asm__ __volatile__(
-      "pblendvb (%rcx), %xmm11"); }
+      "pblendvb (%%rcx), %%xmm11" : : : "memory", "xmm11"); 
+   __asm__ __volatile__(
+      "aesdec %%xmm2, %%xmm1" : : : "xmm2", "xmm1"); }
   while (0)
 ]])], [
 ac_have_as_sse42=yes
@@ -1603,6 +1888,152 @@
 AM_CONDITIONAL(BUILD_SSE42_TESTS, test x$ac_have_as_sse42 = xyes)
 
 
+# does the x86/amd64 assembler understand AVX instructions?
+# Note, this doesn't generate a C-level symbol.  It generates a
+# automake-level symbol (BUILD_AVX_TESTS), used in test Makefile.am's
+AC_MSG_CHECKING([if x86/amd64 assembler speaks AVX])
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+  do { long long int x; 
+   __asm__ __volatile__(
+      "vmovupd (%%rsp), %%ymm7" : : : "xmm7" );
+   __asm__ __volatile__(
+      "vaddpd %%ymm6,%%ymm7,%%ymm8" : : : "xmm6","xmm7","xmm8"); }
+  while (0)
+]])], [
+ac_have_as_avx=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_as_avx=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL(BUILD_AVX_TESTS, test x$ac_have_as_avx = xyes)
+
+
+# does the x86/amd64 assembler understand AVX2 instructions?
+# Note, this doesn't generate a C-level symbol.  It generates a
+# automake-level symbol (BUILD_AVX2_TESTS), used in test Makefile.am's
+AC_MSG_CHECKING([if x86/amd64 assembler speaks AVX2])
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+  do { long long int x; 
+   __asm__ __volatile__(
+      "vpsravd (%%rsp), %%ymm8, %%ymm7" : : : "xmm7", "xmm8" );
+   __asm__ __volatile__(
+      "vpaddb %%ymm6,%%ymm7,%%ymm8" : : : "xmm6","xmm7","xmm8"); }
+  while (0)
+]])], [
+ac_have_as_avx2=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_as_avx2=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL(BUILD_AVX2_TESTS, test x$ac_have_as_avx2 = xyes)
+
+
+# does the x86/amd64 assembler understand BMI1 and BMI2 instructions?
+# Note, this doesn't generate a C-level symbol.  It generates a
+# automake-level symbol (BUILD_BMI_TESTS), used in test Makefile.am's
+AC_MSG_CHECKING([if x86/amd64 assembler speaks BMI1 and BMI2])
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+  do { unsigned int h, l;
+   __asm__ __volatile__(
+      "andn %2, %1, %0" : "=r" (h) : "r" (0x1234567), "r" (0x7654321) );
+   __asm__ __volatile__(
+      "movl %2, %%edx; mulx %3, %1, %0" : "=r" (h), "=r" (l) : "g" (0x1234567), "rm" (0x7654321) : "edx" ); }
+  while (0)
+]])], [
+ac_have_as_bmi=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_as_bmi=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL(BUILD_BMI_TESTS, test x$ac_have_as_bmi = xyes)
+
+
+# does the x86/amd64 assembler understand FMA instructions?
+# Note, this doesn't generate a C-level symbol.  It generates a
+# automake-level symbol (BUILD_FMA_TESTS), used in test Makefile.am's
+AC_MSG_CHECKING([if x86/amd64 assembler speaks FMA])
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+  do { unsigned int h, l;
+   __asm__ __volatile__(
+      "vfmadd132ps (%%rsp), %%ymm8, %%ymm7" : : : "xmm7", "xmm8" );
+   __asm__ __volatile__(
+      "vfnmsub231sd (%%rsp), %%xmm8, %%xmm7" : : : "xmm7", "xmm8" );
+   __asm__ __volatile__(
+      "vfmsubadd213pd (%%rsp), %%xmm8, %%xmm7" : : : "xmm7", "xmm8" ); }
+  while (0)
+]])], [
+ac_have_as_fma=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_as_fma=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL(BUILD_FMA_TESTS, test x$ac_have_as_fma = xyes)
+
+
+# does the x86/amd64 assembler understand MOVBE?
+# Note, this doesn't generate a C-level symbol.  It generates a
+# automake-level symbol (BUILD_MOVBE_TESTS), used in test Makefile.am's
+AC_MSG_CHECKING([if x86/amd64 assembler knows the MOVBE insn])
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+  do { long long int x; 
+   __asm__ __volatile__(
+      "movbe (%%rsp), %%r15" : : : "memory", "r15" ); }
+  while (0)
+]])], [
+ac_have_as_movbe=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_as_movbe=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL(BUILD_MOVBE_TESTS, test x$ac_have_as_movbe = xyes)
+
+
+# Does the C compiler support the "ifunc" attribute
+# Note, this doesn't generate a C-level symbol.  It generates a
+# automake-level symbol (BUILD_IFUNC_TESTS), used in test Makefile.am's
+AC_MSG_CHECKING([if gcc supports the ifunc attribute])
+
+AC_LINK_IFELSE([AC_LANG_SOURCE([[
+static void mytest(void) {}
+
+static void (*resolve_test(void))(void)
+{
+    return (void (*)(void))&mytest;
+}
+
+void test(void) __attribute__((ifunc("resolve_test")));
+
+int main()
+{
+    test();
+    return 0;
+}
+]])], [
+ac_have_ifunc_attr=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_ifunc_attr=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL(BUILD_IFUNC_TESTS, test x$ac_have_ifunc_attr = xyes)
+
+
 # XXX JRS 2010 Oct 13: what is this for?  For sure, we don't need this
 # when building the tool executables.  I think we should get rid of it.
 #
@@ -1653,6 +2084,8 @@
 # Verify whether the <linux/futex.h> header is usable.
 AC_MSG_CHECKING([if <linux/futex.h> is usable])
 
+save_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -D__user="
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
 #include <linux/futex.h>
 ]], [[
@@ -1666,6 +2099,8 @@
 ac_have_usable_linux_futex_h=no
 AC_MSG_RESULT([no])
 ])
+CFLAGS="$save_CFLAGS"
+
 
 #----------------------------------------------------------------------------
 # Checks for typedefs, structures, and compiler characteristics.
@@ -1730,6 +2165,11 @@
 AM_CONDITIONAL([HAVE_PTHREAD_SPINLOCK],
                [test x$ac_cv_func_pthread_spin_lock = xyes])
 
+if test x$VGCONF_PLATFORM_PRI_CAPS = xMIPS32_LINUX \
+     -o x$VGCONF_PLATFORM_PRI_CAPS = xMIPS64_LINUX ; then
+  AC_DEFINE([DISABLE_PTHREAD_SPINLOCK_INTERCEPT], 1,
+            [Disable intercept pthread_spin_lock() on MIPS32 and MIPS64.])
+fi
 
 #----------------------------------------------------------------------------
 # MPI checks
@@ -1744,18 +2184,26 @@
 mflag_primary=
 if test x$VGCONF_PLATFORM_PRI_CAPS = xX86_LINUX \
      -o x$VGCONF_PLATFORM_PRI_CAPS = xPPC32_LINUX \
-     -o x$VGCONF_PLATFORM_PRI_CAPS = xARM_LINUX ; then
+     -o x$VGCONF_PLATFORM_PRI_CAPS = xARM_LINUX \
+     -o x$VGCONF_PLATFORM_PRI_CAPS = xMIPS32_LINUX \
+     -o x$VGCONF_PLATFORM_PRI_CAPS = xMIPS64_LINUX ; then
   mflag_primary=$FLAG_M32
 elif test x$VGCONF_PLATFORM_PRI_CAPS = xAMD64_LINUX \
        -o x$VGCONF_PLATFORM_PRI_CAPS = xPPC64_LINUX \
        -o x$VGCONF_PLATFORM_PRI_CAPS = xS390X_LINUX ; then
   mflag_primary=$FLAG_M64
+elif test x$VGCONF_PLATFORM_PRI_CAPS = xX86_DARWIN ; then
+  mflag_primary="$FLAG_M32 -arch i386"
+elif test x$VGCONF_PLATFORM_PRI_CAPS = xAMD64_DARWIN ; then
+  mflag_primary="$FLAG_M64 -arch x86_64"
 fi
 
 mflag_secondary=
 if test x$VGCONF_PLATFORM_SEC_CAPS = xX86_LINUX \
      -o x$VGCONF_PLATFORM_SEC_CAPS = xPPC32_LINUX ; then
   mflag_secondary=$FLAG_M32
+elif test x$VGCONF_PLATFORM_SEC_CAPS = xX86_DARWIN ; then
+  mflag_secondary="$FLAG_M32 -arch i386"
 fi
 
 
@@ -1765,19 +2213,39 @@
 )
 AC_SUBST(MPI_CC)
 
+## We AM_COND_IF here instead of automake "if" in mpi/Makefile.am so that we can
+## use these values in the check for a functioning mpicc.
+##
+## We leave the MPI_FLAG_M3264_ logic in mpi/Makefile.am and assume that
+## mflag_primary/mflag_secondary are sufficient approximations of that behavior
+AM_COND_IF([VGCONF_OS_IS_LINUX],
+           [CFLAGS_MPI="-g -O -fno-omit-frame-pointer -Wall -fpic"
+            LDFLAGS_MPI="-fpic -shared"])
+AM_COND_IF([VGCONF_OS_IS_DARWIN],
+           [CFLAGS_MPI="-g -O -fno-omit-frame-pointer -Wall -dynamic"
+            LDFLAGS_MPI="-dynamic -dynamiclib -all_load"])
+
+AC_SUBST([CFLAGS_MPI])
+AC_SUBST([LDFLAGS_MPI])
+
+
 ## See if MPI_CC works for the primary target
 ##
 AC_MSG_CHECKING([primary target for usable MPI2-compliant C compiler and mpi.h])
 saved_CC=$CC
 saved_CFLAGS=$CFLAGS
 CC=$MPI_CC
-CFLAGS=$mflag_primary
+CFLAGS="$CFLAGS_MPI $mflag_primary"
+saved_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS_MPI $mflag_primary"
 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
 #include <mpi.h>
 #include <stdio.h>
 ]], [[
+  int ni, na, nd, comb;
   int r = MPI_Init(NULL,NULL);
-  r |= MPI_Type_get_contents( MPI_INT, 0,0,0, NULL,NULL,NULL );
+  r |= MPI_Type_get_envelope( MPI_INT, &ni, &na, &nd, &comb );
+  r |= MPI_Finalize();
   return r; 
 ]])], [
 ac_have_mpi2_pri=yes
@@ -1788,6 +2256,7 @@
 ])
 CC=$saved_CC
 CFLAGS=$saved_CFLAGS
+LDFLAGS="$saved_LDFLAGS"
 AM_CONDITIONAL(BUILD_MPIWRAP_PRI, test x$ac_have_mpi2_pri = xyes)
 
 ## See if MPI_CC works for the secondary target.  Complication: what if
@@ -1798,18 +2267,22 @@
 AC_MSG_CHECKING([secondary target for usable MPI2-compliant C compiler and mpi.h])
 saved_CC=$CC
 saved_CFLAGS=$CFLAGS
+saved_LDFLAGS="$LDFLAGS"
+LDFLAGS="$LDFLAGS_MPI $mflag_secondary"
 if test x$VGCONF_PLATFORM_SEC_CAPS = x ; then
   CC="$MPI_CC this will surely fail"
 else
   CC=$MPI_CC
 fi
-CFLAGS=$mflag_secondary
+CFLAGS="$CFLAGS_MPI $mflag_secondary"
 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
 #include <mpi.h>
 #include <stdio.h>
 ]], [[
+  int ni, na, nd, comb;
   int r = MPI_Init(NULL,NULL);
-  r |= MPI_Type_get_contents( MPI_INT, 0,0,0, NULL,NULL,NULL );
+  r |= MPI_Type_get_envelope( MPI_INT, &ni, &na, &nd, &comb );
+  r |= MPI_Finalize();
   return r; 
 ]])], [
 ac_have_mpi2_sec=yes
@@ -1820,6 +2293,7 @@
 ])
 CC=$saved_CC
 CFLAGS=$saved_CFLAGS
+LDFLAGS="$saved_LDFLAGS"
 AM_CONDITIONAL(BUILD_MPIWRAP_SEC, test x$ac_have_mpi2_sec = xyes)
 
 
@@ -1849,7 +2323,9 @@
 
 AC_LANG(C++)
 safe_CXXFLAGS=$CXXFLAGS
-CXXFLAGS="-lboost_thread-mt $mflag_primary"
+CXXFLAGS="$mflag_primary"
+safe_LIBS="$LIBS"
+LIBS="-lboost_thread-mt $LIBS"
 
 AC_LINK_IFELSE([AC_LANG_SOURCE([
 #include <boost/thread.hpp>
@@ -1864,13 +2340,14 @@
 [
 ac_have_boost_1_35=yes
 AC_SUBST([BOOST_CFLAGS], [])
-AC_SUBST([BOOST_LIBS], ["${CXXFLAGS}"])
+AC_SUBST([BOOST_LIBS], [-lboost_thread-mt])
 AC_MSG_RESULT([yes])
 ], [
 ac_have_boost_1_35=no
 AC_MSG_RESULT([no])
 ])
 
+LIBS="$safe_LIBS"
 CXXFLAGS=$safe_CXXFLAGS
 AC_LANG(C)
 
@@ -2129,6 +2606,8 @@
    memcheck/tests/x86-linux/Makefile
    memcheck/tests/ppc32/Makefile
    memcheck/tests/ppc64/Makefile
+   memcheck/tests/s390x/Makefile
+   memcheck/tests/vbit-test/Makefile
    cachegrind/Makefile
    cachegrind/tests/Makefile
    cachegrind/tests/x86/Makefile
@@ -2153,6 +2632,8 @@
    none/tests/x86/Makefile
    none/tests/arm/Makefile
    none/tests/s390x/Makefile
+   none/tests/mips32/Makefile
+   none/tests/mips64/Makefile
    none/tests/linux/Makefile
    none/tests/darwin/Makefile
    none/tests/x86-linux/Makefile
diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am
index 329a01b..6d0fe83 100644
--- a/coregrind/Makefile.am
+++ b/coregrind/Makefile.am
@@ -53,17 +53,19 @@
 valgrind_LDFLAGS   += -Wl,-read_only_relocs -Wl,suppress
 endif
 # On Android we must ask for non-executable stack, not sure why.
-if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
 if VGCONF_PLATVARIANT_IS_ANDROID
+valgrind_CFLAGS += -static
 valgrind_LDFLAGS   += -Wl,-z,noexecstack
 endif
-endif
 
 vgdb_SOURCES = vgdb.c
 vgdb_CPPFLAGS  = $(AM_CPPFLAGS_PRI)
 vgdb_CFLAGS    = $(AM_CFLAGS_PRI)
 vgdb_CCASFLAGS = $(AM_CCASFLAGS_PRI)
 vgdb_LDFLAGS   = $(AM_CFLAGS_PRI)
+if VGCONF_PLATVARIANT_IS_ANDROID
+vgdb_CFLAGS    += -static
+endif
 if !VGCONF_PLATVARIANT_IS_ANDROID
 vgdb_LDADD     = -lpthread
 endif
@@ -167,6 +169,7 @@
 	pub_core_oset.h		\
 	pub_core_redir.h	\
 	pub_core_replacemalloc.h\
+	pub_core_sbprofile.h	\
 	pub_core_scheduler.h	\
 	pub_core_seqmatch.h	\
 	pub_core_sigframe.h	\
@@ -199,6 +202,7 @@
 	m_debuginfo/priv_readdwarf3.h	\
 	m_debuginfo/priv_readelf.h	\
 	m_debuginfo/priv_readmacho.h	\
+	m_debuginfo/priv_image.h	\
 	m_demangle/ansidecl.h	\
 	m_demangle/cp-demangle.h \
 	m_demangle/dyn-string.h	\
@@ -222,6 +226,7 @@
 	m_syswrap/priv_syswrap-linux-variants.h \
 	m_syswrap/priv_syswrap-darwin.h \
 	m_syswrap/priv_syswrap-main.h \
+       m_syswrap/priv_syswrap-xen.h \
 	m_ume/priv_ume.h
 
 #----------------------------------------------------------------------------
@@ -237,6 +242,7 @@
 endif
 
 COREGRIND_SOURCES_COMMON = \
+	m_cache.c \
 	m_commandline.c \
 	m_clientstate.c \
 	m_cpuid.S \
@@ -259,6 +265,7 @@
 	m_options.c \
 	m_oset.c \
 	m_redir.c \
+	m_sbprofile.c \
 	m_seqmatch.c \
 	m_signals.c \
 	m_sparsewa.c \
@@ -290,6 +297,7 @@
 	m_debuginfo/readstabs.c \
 	m_debuginfo/storage.c \
 	m_debuginfo/tytypes.c \
+	m_debuginfo/image.c \
 	m_demangle/cp-demangle.c \
 	m_demangle/cplus-dem.c \
 	m_demangle/demangle.c \
@@ -301,9 +309,10 @@
 	m_dispatch/dispatch-ppc64-linux.S \
 	m_dispatch/dispatch-arm-linux.S \
 	m_dispatch/dispatch-s390x-linux.S \
+	m_dispatch/dispatch-mips32-linux.S \
+	m_dispatch/dispatch-mips64-linux.S \
 	m_dispatch/dispatch-x86-darwin.S \
 	m_dispatch/dispatch-amd64-darwin.S \
-	m_gdbserver/m_gdbserver.c \
 	m_gdbserver/inferiors.c \
 	m_gdbserver/m_gdbserver.c \
 	m_gdbserver/regcache.c \
@@ -312,13 +321,14 @@
 	m_gdbserver/signals.c \
 	m_gdbserver/target.c \
 	m_gdbserver/utils.c \
-	m_gdbserver/valgrind-low.c \
 	m_gdbserver/valgrind-low-x86.c \
 	m_gdbserver/valgrind-low-amd64.c \
 	m_gdbserver/valgrind-low-arm.c \
 	m_gdbserver/valgrind-low-ppc32.c \
 	m_gdbserver/valgrind-low-ppc64.c \
 	m_gdbserver/valgrind-low-s390x.c \
+	m_gdbserver/valgrind-low-mips32.c \
+	m_gdbserver/valgrind-low-mips64.c \
 	m_gdbserver/version.c \
 	m_initimg/initimg-linux.c \
 	m_initimg/initimg-darwin.c \
@@ -338,6 +348,8 @@
 	m_sigframe/sigframe-ppc64-linux.c \
 	m_sigframe/sigframe-arm-linux.c \
 	m_sigframe/sigframe-s390x-linux.c \
+	m_sigframe/sigframe-mips32-linux.c \
+	m_sigframe/sigframe-mips64-linux.c \
 	m_sigframe/sigframe-x86-darwin.c \
 	m_sigframe/sigframe-amd64-darwin.c \
 	m_syswrap/syscall-x86-linux.S \
@@ -346,6 +358,8 @@
 	m_syswrap/syscall-ppc64-linux.S \
 	m_syswrap/syscall-arm-linux.S \
 	m_syswrap/syscall-s390x-linux.S \
+	m_syswrap/syscall-mips32-linux.S \
+	m_syswrap/syscall-mips64-linux.S \
 	m_syswrap/syscall-x86-darwin.S \
 	m_syswrap/syscall-amd64-darwin.S \
 	m_syswrap/syswrap-main.c \
@@ -359,8 +373,11 @@
 	m_syswrap/syswrap-ppc64-linux.c \
 	m_syswrap/syswrap-arm-linux.c \
 	m_syswrap/syswrap-s390x-linux.c \
+	m_syswrap/syswrap-mips32-linux.c \
+	m_syswrap/syswrap-mips64-linux.c \
 	m_syswrap/syswrap-x86-darwin.c \
 	m_syswrap/syswrap-amd64-darwin.c \
+	m_syswrap/syswrap-xen.c \
 	m_ume/elf.c \
 	m_ume/macho.c \
 	m_ume/main.c \
@@ -470,6 +487,9 @@
 	m_gdbserver/32bit-sse-valgrind-s1.xml \
 	m_gdbserver/32bit-sse-valgrind-s2.xml \
 	m_gdbserver/32bit-sse.xml \
+	m_gdbserver/64bit-avx-valgrind-s2.xml \
+	m_gdbserver/64bit-avx-valgrind-s1.xml \
+	m_gdbserver/64bit-avx.xml \
 	m_gdbserver/64bit-core-valgrind-s1.xml \
 	m_gdbserver/64bit-core-valgrind-s2.xml \
 	m_gdbserver/64bit-core.xml \
@@ -479,6 +499,10 @@
 	m_gdbserver/64bit-sse-valgrind-s1.xml \
 	m_gdbserver/64bit-sse-valgrind-s2.xml \
 	m_gdbserver/64bit-sse.xml \
+	m_gdbserver/amd64-avx-coresse-valgrind.xml \
+	m_gdbserver/amd64-avx-coresse.xml \
+	m_gdbserver/amd64-avx-linux-valgrind.xml \
+	m_gdbserver/amd64-avx-linux.xml \
 	m_gdbserver/amd64-coresse-valgrind.xml \
 	m_gdbserver/amd64-linux-valgrind.xml \
 	m_gdbserver/arm-core-valgrind-s1.xml \
@@ -500,6 +524,8 @@
 	m_gdbserver/power-altivec-valgrind-s1.xml \
 	m_gdbserver/power-altivec-valgrind-s2.xml \
 	m_gdbserver/power-altivec.xml \
+	m_gdbserver/power-core-valgrind-s1.xml \
+	m_gdbserver/power-core-valgrind-s2.xml \
 	m_gdbserver/power-core.xml \
 	m_gdbserver/power-fpu-valgrind-s1.xml \
 	m_gdbserver/power-fpu-valgrind-s2.xml \
@@ -524,7 +550,29 @@
 	m_gdbserver/s390x-generic.xml \
 	m_gdbserver/s390x-linux64-valgrind-s1.xml \
 	m_gdbserver/s390x-linux64-valgrind-s2.xml \
-	m_gdbserver/s390x-linux64.xml
+	m_gdbserver/s390x-linux64.xml \
+	m_gdbserver/mips-cp0-valgrind-s1.xml \
+	m_gdbserver/mips-cp0-valgrind-s2.xml \
+	m_gdbserver/mips-cp0.xml \
+	m_gdbserver/mips-cpu-valgrind-s1.xml \
+	m_gdbserver/mips-cpu-valgrind-s2.xml \
+	m_gdbserver/mips-cpu.xml \
+	m_gdbserver/mips-linux.xml \
+	m_gdbserver/mips-linux-valgrind.xml \
+	m_gdbserver/mips-fpu-valgrind-s1.xml \
+	m_gdbserver/mips-fpu-valgrind-s2.xml \
+	m_gdbserver/mips-fpu.xml \
+	m_gdbserver/mips64-cp0-valgrind-s1.xml \
+	m_gdbserver/mips64-cp0-valgrind-s2.xml \
+	m_gdbserver/mips64-cp0.xml \
+	m_gdbserver/mips64-cpu-valgrind-s1.xml \
+	m_gdbserver/mips64-cpu-valgrind-s2.xml \
+	m_gdbserver/mips64-cpu.xml \
+	m_gdbserver/mips64-linux.xml \
+	m_gdbserver/mips64-linux-valgrind.xml \
+	m_gdbserver/mips64-fpu-valgrind-s1.xml \
+	m_gdbserver/mips64-fpu-valgrind-s2.xml \
+	m_gdbserver/mips64-fpu.xml
 
 # so as to make sure these get copied into the install tree
 vglibdir = $(pkglibdir)
diff --git a/coregrind/launcher-darwin.c b/coregrind/launcher-darwin.c
index 9eedcf4..8f8c608 100644
--- a/coregrind/launcher-darwin.c
+++ b/coregrind/launcher-darwin.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/launcher-linux.c b/coregrind/launcher-linux.c
index 6a200c3..469380f 100644
--- a/coregrind/launcher-linux.c
+++ b/coregrind/launcher-linux.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -51,11 +51,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
-
-
-
-#define PATH_MAX 4096 /* POSIX refers to this a lot but I dunno
-                         where it is defined */
+#include <limits.h>             // PATH_MAX
 
 #ifndef EM_X86_64
 #define EM_X86_64 62    // elf.h doesn't define this on some older systems
@@ -81,10 +77,17 @@
 /* Search the path for the client program */
 static const char *find_client(const char *clientname)
 {
-   static char fullname[PATH_MAX];
+   char *fullname = NULL;
    const char *path = getenv("PATH");
    const char *colon;
 
+   /* Make the size of the FULLNAME buffer large enough. */
+   unsigned need = strlen(path) + strlen("/") + strlen(clientname) + 1;
+
+   fullname = malloc(need);
+   if (fullname == NULL)
+      barf("malloc of fullname failed.");
+
    while (path)
    {
       if ((colon = strchr(path, ':')) == NULL)
@@ -94,7 +97,7 @@
       }
       else
       {
-         memcpy(fullname, path, colon - path);
+         strncpy(fullname, path, colon - path);
          fullname[colon - path] = '\0';
          path = colon + 1;
       }
@@ -113,7 +116,7 @@
 static const char *select_platform(const char *clientname)
 {
    int fd;
-   uint8_t header[4096];
+   char header[4096];
    ssize_t n_bytes;
    const char *platform = NULL;
 
@@ -179,6 +182,12 @@
                  ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX)) {
                platform = "arm-linux";
             }
+            else
+            if (ehdr->e_machine == EM_MIPS &&
+                (ehdr->e_ident[EI_OSABI] == ELFOSABI_SYSV ||
+                 ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX)) {
+               platform = "mips32-linux";
+            }
          }
          else if (header[EI_DATA] == ELFDATA2MSB) {
             if (ehdr->e_machine == EM_PPC &&
@@ -186,6 +195,12 @@
                  ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX)) {
                platform = "ppc32-linux";
             }
+            else 
+            if (ehdr->e_machine == EM_MIPS &&
+                (ehdr->e_ident[EI_OSABI] == ELFOSABI_SYSV ||
+                 ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX)) {
+               platform = "mips32-linux";
+            }
          }
 
       } else if (n_bytes >= sizeof(Elf64_Ehdr) && header[EI_CLASS] == ELFCLASS64) {
@@ -196,9 +211,13 @@
                 (ehdr->e_ident[EI_OSABI] == ELFOSABI_SYSV ||
                  ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX)) {
                platform = "amd64-linux";
+            } else if (ehdr->e_machine == EM_MIPS &&
+                (ehdr->e_ident[EI_OSABI] == ELFOSABI_SYSV ||
+                 ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX)) {
+               platform = "mips64-linux";
             }
          } else if (header[EI_DATA] == ELFDATA2MSB) {
-#           if !defined(VGPV_arm_linux_android)
+#           if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
             if (ehdr->e_machine == EM_PPC64 &&
                 (ehdr->e_ident[EI_OSABI] == ELFOSABI_SYSV ||
                  ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX)) {
@@ -209,6 +228,10 @@
                 (ehdr->e_ident[EI_OSABI] == ELFOSABI_SYSV ||
                  ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX)) {
                platform = "s390x-linux";
+            } else if (ehdr->e_machine == EM_MIPS &&
+                (ehdr->e_ident[EI_OSABI] == ELFOSABI_SYSV ||
+                 ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX)) {
+               platform = "mips64-linux";
             }
 #           endif
          }
@@ -284,7 +307,9 @@
        (0==strcmp(VG_PLATFORM,"ppc32-linux")) ||
        (0==strcmp(VG_PLATFORM,"ppc64-linux")) ||
        (0==strcmp(VG_PLATFORM,"arm-linux"))   ||
-       (0==strcmp(VG_PLATFORM,"s390x-linux")))
+       (0==strcmp(VG_PLATFORM,"s390x-linux")) ||
+       (0==strcmp(VG_PLATFORM,"mips32-linux")) ||
+       (0==strcmp(VG_PLATFORM,"mips64-linux")))
       default_platform = VG_PLATFORM;
    else
       barf("Unknown VG_PLATFORM '%s'", VG_PLATFORM);
diff --git a/coregrind/link_tool_exe_darwin.in b/coregrind/link_tool_exe_darwin.in
index e111738..bf483a9 100644
--- a/coregrind/link_tool_exe_darwin.in
+++ b/coregrind/link_tool_exe_darwin.in
@@ -98,7 +98,8 @@
 die "Not enough arguments"
     if (($#ARGV + 1) < 5);
 
-my $ala = $ARGV[0];
+my $ala = $ARGV[0];  # the load address to use
+my $cc  = $ARGV[1];  # the C compiler in use
 
 # check for plausible-ish alt load address
 die "Bogus alt-load address (1)"
@@ -140,6 +141,14 @@
 my $cmd = "/usr/bin/ld";
 
 $cmd = "$cmd -static";
+
+# If we're building with clang (viz, the C compiler as specified
+# by the 2nd arg ends in "clang"), we also need -new_linker.  See
+# https://bugs.kde.org/show_bug.cgi?id=295427
+if ("$cc" =~ /clang$/) {
+    $cmd = "$cmd -new_linker";
+}
+
 $cmd = "$cmd -arch $archstr";
 $cmd = "$cmd -macosx_version_min 10.5";
 $cmd = "$cmd -o $outname";
diff --git a/coregrind/link_tool_exe_linux.in b/coregrind/link_tool_exe_linux.in
index 6de2562..5946463 100644
--- a/coregrind/link_tool_exe_linux.in
+++ b/coregrind/link_tool_exe_linux.in
@@ -30,21 +30,29 @@
 # Linux specific complications:
 #
 # - need to support both old GNU ld and gold: use -Ttext= to
-#   set the text segment address.
+#   set the text segment address if that is all we have. We really
+#   need -Ttext-segment. Otherwise with GNU ld sections or notes
+#   (like the build-id) don't get at the desired address. But older
+#   linkers only know about -Ttext, not -Ttext-segment. So configure
+#   checks for us and sets FLAG_T_TEXT.
 #
-# - need to pass --build-id=none (that is, -Wl,--build-id=none to
-#   gcc) if it accepts it, to ensure the linker doesn't add a
-#   notes section which ends up at the default load address and
-#   so defeats our attempts to keep that address clear for the
-#   client.  However, older linkers don't support this flag, so it
-#   is tested for by configure.in and is shipped to us as part of
+# - If all we have is -Ttext, then we need to pass --build-id=none
+#   (that is, -Wl,--build-id=none to gcc) if it accepts it, to ensure
+#   the linker doesn't add a notes section which ends up at the default
+#   load address and so defeats our attempts to keep that address clear
+#   for the client.  However, older linkers don't support this flag,
+#   so it is tested for by configure.in and is shipped to us as part of
 #   argv[2 ..].
 #
-#
 # So: what we actually do:
 # 
 #   pass the specified command to the linker as-is, except, add
-#   "-static" and "-Ttext=<argv[1]>" to it.
+#   "-static" and "-Ttext[-segment]=<argv[1]>" to it.
+#   Previously we did this by adding these options after the first
+#   word of the rest of the arguments, which works in the common case
+#   when it's something like "gcc". But the linker invocation itself
+#   might be multiple words, say if it's "ccache gcc". So we now put
+#   the new options at the end instead.
 #
 
 use warnings;
@@ -55,31 +63,36 @@
     if (($#ARGV + 1) < 5);
 
 my $ala = $ARGV[0];
+shift; # Remove $ala from @ARGV
 
 # check for plausible-ish alt load address
 die "Bogus alt-load address"
     if (length($ala) < 3 || index($ala, "0x") != 0);
 
-# The cc invokation to do the final link
-my $cc = $ARGV[1];
+# For mips32 or mips64 we need to use "--section-start=.reginfo=$ala" or
+# "--section-start=.MIPS.options=$ala" respectively, because "-Ttext=$ala" will
+# not put all the sections to the specificed address ($ala).
+my $x = `cat ../config.log 2>&1 | grep host_cpu= | sed "s/host_cpu='//g"`;
+my $arch = substr($x, 0, index($x, "'"));
 
-# and the 'restargs' are argv[2 ..]
-
-# so, build up the complete command here:
-# 'cc' -static -Ttext='ala' 'restargs'
-
-my $cmd="$cc -static -Wl,-Ttext=$ala";
-
-# Add the rest of the parameters
-foreach my $n (2 .. $#ARGV) {
-   $cmd = "$cmd $ARGV[$n]";
+my $extra_args;
+if (($arch eq 'mips') || ($arch eq 'mipsel')
+    || ($arch eq 'mipsisa32r2el')) {
+   $extra_args = "-static -Wl,--section-start=.reginfo=$ala";
+} elsif (($arch eq 'mips64') || ($arch eq 'mips64el') ||
+         ($arch eq 'mipsisa64el')) {
+   $extra_args = "-static -Wl,--section-start=.MIPS.options=$ala";
+} else {
+   $extra_args = "-static -Wl,@FLAG_T_TEXT@=$ala";
 }
 
+my $cmd = join(" ", @ARGV, $extra_args);
+
 #print "link_tool_exe_linux: $cmd\n";
 
 
 # Execute the command:
-my $r = system("$cmd");
+my $r = system($cmd);
 
 if ($r == 0) {
     exit 0;
diff --git a/coregrind/m_aspacehl.c b/coregrind/m_aspacehl.c
index dfac89e..e4ae2d1 100644
--- a/coregrind/m_aspacehl.c
+++ b/coregrind/m_aspacehl.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2006-2011 Julian Seward
+   Copyright (C) 2006-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_aspacemgr/aspacemgr-common.c b/coregrind/m_aspacemgr/aspacemgr-common.c
index 7f7717c..228ba8f 100644
--- a/coregrind/m_aspacemgr/aspacemgr-common.c
+++ b/coregrind/m_aspacemgr/aspacemgr-common.c
@@ -9,7 +9,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2006-2011 OpenWorks LLP
+   Copyright (C) 2006-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -64,14 +64,14 @@
    aspacem_assert(2+2 == 5);
 }
 
-void ML_(am_barf) ( HChar* what )
+void ML_(am_barf) ( const HChar* what )
 {
    VG_(debugLog)(0, "aspacem", "Valgrind: FATAL: %s\n", what);
    VG_(debugLog)(0, "aspacem", "Exiting now.\n");
    ML_(am_exit)(1);
 }
 
-void ML_(am_barf_toolow) ( HChar* what )
+void ML_(am_barf_toolow) ( const HChar* what )
 {
    VG_(debugLog)(0, "aspacem", 
                     "Valgrind: FATAL: %s is too low.\n", what);
@@ -81,9 +81,9 @@
 }
 
 void ML_(am_assert_fail)( const HChar* expr,
-                          const Char* file,
+                          const HChar* file,
                           Int line, 
-                          const Char* fn )
+                          const HChar* fn )
 {
    VG_(debugLog)(0, "aspacem", 
                     "Valgrind: FATAL: aspacem assertion failed:\n");
@@ -115,7 +115,7 @@
 UInt local_vsprintf ( HChar* buf, const HChar *format, va_list vargs )
 {
    Int ret;
-   Char *aspacem_sprintf_ptr = buf;
+   HChar *aspacem_sprintf_ptr = buf;
 
    ret = VG_(debugLog_vprintf)
             ( local_add_to_aspacem_sprintf_buf, 
@@ -159,7 +159,8 @@
    res = VG_(do_syscall6)(__NR_mmap2, (UWord)start, length,
                           prot, flags, fd, offset / 4096);
 #  elif defined(VGP_amd64_linux) || defined(VGP_ppc64_linux) \
-        || defined(VGP_s390x_linux)
+        || defined(VGP_s390x_linux) || defined(VGP_mips32_linux) \
+        || defined(VGP_mips64_linux)
    res = VG_(do_syscall6)(__NR_mmap, (UWord)start, length, 
                          prot, flags, fd, offset);
 #  elif defined(VGP_x86_darwin)
@@ -240,7 +241,7 @@
 
 /* --- Pertaining to files --- */
 
-SysRes ML_(am_open) ( const Char* pathname, Int flags, Int mode )
+SysRes ML_(am_open) ( const HChar* pathname, Int flags, Int mode )
 {  
    SysRes res = VG_(do_syscall3)(__NR_open, (UWord)pathname, flags, mode);
    return res;
diff --git a/coregrind/m_aspacemgr/aspacemgr-linux.c b/coregrind/m_aspacemgr/aspacemgr-linux.c
index 9980501..9db3820 100644
--- a/coregrind/m_aspacemgr/aspacemgr-linux.c
+++ b/coregrind/m_aspacemgr/aspacemgr-linux.c
@@ -10,7 +10,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -334,7 +334,7 @@
 static void parse_procselfmaps (
       void (*record_mapping)( Addr addr, SizeT len, UInt prot,
                               ULong dev, ULong ino, Off64T offset, 
-                              const UChar* filename ),
+                              const HChar* filename ),
       void (*record_gap)( Addr addr, SizeT len )
    );
 
@@ -419,7 +419,7 @@
 /*---                                                           ---*/
 /*-----------------------------------------------------------------*/
 
-static HChar* show_SegKind ( SegKind sk )
+static const HChar* show_SegKind ( SegKind sk )
 {
    switch (sk) {
       case SkFree:  return "    ";
@@ -433,7 +433,7 @@
    }
 }
 
-static HChar* show_ShrinkMode ( ShrinkMode sm )
+static const HChar* show_ShrinkMode ( ShrinkMode sm )
 {
    switch (sm) {
       case SmLower: return "SmLower";
@@ -445,7 +445,7 @@
 
 static void show_len_concisely ( /*OUT*/HChar* buf, Addr start, Addr end )
 {
-   HChar* fmt;
+   const HChar* fmt;
    ULong len = ((ULong)end) - ((ULong)start) + 1;
 
    if (len < 10*1000*1000ULL) {
@@ -477,7 +477,7 @@
             show_nsegment_full ( Int logLevel, Int segNo, NSegment* seg )
 {
    HChar len_buf[20];
-   HChar* name = "(none)";
+   const HChar* name = "(none)";
 
    if (seg->fnIdx >= 0 && seg->fnIdx < segnames_used
                        && segnames[seg->fnIdx].inUse
@@ -570,7 +570,7 @@
 }
 
 /* Print out the segment array (debugging only!). */
-void VG_(am_show_nsegments) ( Int logLevel, HChar* who )
+void VG_(am_show_nsegments) ( Int logLevel, const HChar* who )
 {
    Int i;
    VG_(debugLog)(logLevel, "aspacem",
@@ -862,7 +862,7 @@
 
 static void sync_check_mapping_callback ( Addr addr, SizeT len, UInt prot,
                                           ULong dev, ULong ino, Off64T offset, 
-                                          const UChar* filename )
+                                          const HChar* filename )
 {
    Int  iLo, iHi, i;
    Bool sloppyXcheck;
@@ -990,7 +990,7 @@
             prot & VKI_PROT_READ  ? 'r' : '-',
             prot & VKI_PROT_WRITE ? 'w' : '-',
             prot & VKI_PROT_EXEC  ? 'x' : '-',
-            dev, ino, offset, filename ? (HChar*)filename : "(none)" );
+            dev, ino, offset, filename ? filename : "(none)" );
 
          return;
       }
@@ -1209,12 +1209,12 @@
 
 /* Given a pointer to a seg, tries to figure out which one it is in
    nsegments[..].  Very paranoid. */
-static Int segAddr_to_index ( NSegment* seg )
+static Int segAddr_to_index ( const NSegment* seg )
 {
    Int i;
    if (seg < &nsegments[0] || seg >= &nsegments[nsegments_used])
       return -1;
-   i = ((UChar*)seg - (UChar*)(&nsegments[0])) / sizeof(NSegment);
+   i = ((const UChar*)seg - (const UChar*)(&nsegments[0])) / sizeof(NSegment);
    if (i < 0 || i >= nsegments_used)
       return -1;
    if (seg == &nsegments[i])
@@ -1225,7 +1225,7 @@
 
 /* Find the next segment along from 'here', if it is a file/anon/resvn
    segment. */
-NSegment const * VG_(am_next_nsegment) ( NSegment* here, Bool fwds )
+NSegment const * VG_(am_next_nsegment) ( const NSegment* here, Bool fwds )
 {
    Int i = segAddr_to_index(here);
    if (i < 0 || i >= nsegments_used)
@@ -1535,7 +1535,7 @@
 
 static void read_maps_callback ( Addr addr, SizeT len, UInt prot,
                                  ULong dev, ULong ino, Off64T offset, 
-                                 const UChar* filename )
+                                 const HChar* filename )
 {
    NSegment seg;
    init_nsegment( &seg );
@@ -1649,7 +1649,7 @@
    aspacem_minAddr = (Addr) 0x04000000; // 64M
 
 #  if VG_WORDSIZE == 8
-     aspacem_maxAddr = (Addr)0x800000000 - 1; // 32G
+     aspacem_maxAddr = (Addr)0x1000000000ULL - 1; // 64G
 #    ifdef ENABLE_INNER
      { Addr cse = VG_PGROUNDDN( sp_at_startup ) - 1;
        if (aspacem_maxAddr > cse)
@@ -2533,7 +2533,7 @@
    /* Ask for an advisory.  If it's negative, fail immediately. */
    req.rkind = MAny;
    req.start = 0;
-   #if defined(VGA_arm)
+   #if defined(VGA_arm) || defined(VGA_mips32) || defined(VGA_mips64)
    aspacem_assert(VKI_SHMLBA >= VKI_PAGE_SIZE);
    #else
    aspacem_assert(VKI_SHMLBA == VKI_PAGE_SIZE);
@@ -2603,7 +2603,7 @@
                                                   fd, offset );
 }
 
-extern SysRes VG_(am_shared_mmap_file_float_valgrind)
+SysRes VG_(am_shared_mmap_file_float_valgrind)
    ( SizeT length, UInt prot, Int fd, Off64T offset )
 {
    return VG_(am_mmap_file_float_valgrind_flags) (length, prot,
@@ -2732,7 +2732,7 @@
    (is-client-heap) flag for that area.  Otherwise do nothing.
    (Bizarre interface so that the same code works for both Linux and
    AIX and does not impose inefficiencies on the Linux version.) */
-void VG_(am_set_segment_isCH_if_SkAnonC)( NSegment* seg )
+void VG_(am_set_segment_isCH_if_SkAnonC)( const NSegment* seg )
 {
    Int i = segAddr_to_index( seg );
    aspacem_assert(i >= 0 && i < nsegments_used);
@@ -2746,7 +2746,7 @@
 /* Same idea as VG_(am_set_segment_isCH_if_SkAnonC), except set the
    segment's hasT bit (has-cached-code) if this is SkFileC or SkAnonC
    segment. */
-void VG_(am_set_segment_hasT_if_SkFileC_or_SkAnonC)( NSegment* seg )
+void VG_(am_set_segment_hasT_if_SkFileC_or_SkAnonC)( const NSegment* seg )
 {
    Int i = segAddr_to_index( seg );
    aspacem_assert(i >= 0 && i < nsegments_used);
@@ -2830,7 +2830,7 @@
    the reservation segment after the operation must be at least one
    page long. */
 
-Bool VG_(am_extend_into_adjacent_reservation_client) ( NSegment* seg, 
+Bool VG_(am_extend_into_adjacent_reservation_client) ( const NSegment* seg, 
                                                        SSizeT    delta )
 {
    Int    segA, segR;
@@ -2943,7 +2943,7 @@
    immediately discard translations from the new area. */
 
 Bool VG_(am_extend_map_client)( /*OUT*/Bool* need_discard,
-                                NSegment* seg, SizeT delta )
+                                const NSegment* seg, SizeT delta )
 {
    Addr     xStart;
    SysRes   sres;
@@ -3098,14 +3098,14 @@
 #define M_PROCMAP_BUF 100000
 
 /* static ... to keep it out of the stack frame. */
-static Char procmap_buf[M_PROCMAP_BUF];
+static HChar procmap_buf[M_PROCMAP_BUF];
 
 /* Records length of /proc/self/maps read into procmap_buf. */
 static Int  buf_n_tot;
 
 /* Helper fns. */
 
-static Int hexdigit ( Char c )
+static Int hexdigit ( HChar c )
 {
    if (c >= '0' && c <= '9') return (Int)(c - '0');
    if (c >= 'a' && c <= 'f') return 10 + (Int)(c - 'a');
@@ -3113,20 +3113,20 @@
    return -1;
 }
 
-static Int decdigit ( Char c )
+static Int decdigit ( HChar c )
 {
    if (c >= '0' && c <= '9') return (Int)(c - '0');
    return -1;
 }
 
-static Int readchar ( const Char* buf, Char* ch )
+static Int readchar ( const HChar* buf, HChar* ch )
 {
    if (*buf == 0) return 0;
    *ch = *buf;
    return 1;
 }
 
-static Int readhex ( const Char* buf, UWord* val )
+static Int readhex ( const HChar* buf, UWord* val )
 {
    /* Read a word-sized hex number. */
    Int n = 0;
@@ -3138,7 +3138,7 @@
    return n;
 }
 
-static Int readhex64 ( const Char* buf, ULong* val )
+static Int readhex64 ( const HChar* buf, ULong* val )
 {
    /* Read a potentially 64-bit hex number. */
    Int n = 0;
@@ -3150,7 +3150,7 @@
    return n;
 }
 
-static Int readdec64 ( const Char* buf, ULong* val )
+static Int readdec64 ( const HChar* buf, ULong* val )
 {
    Int n = 0;
    *val = 0;
@@ -3219,14 +3219,14 @@
 static void parse_procselfmaps (
       void (*record_mapping)( Addr addr, SizeT len, UInt prot,
                               ULong dev, ULong ino, Off64T offset, 
-                              const UChar* filename ),
+                              const HChar* filename ),
       void (*record_gap)( Addr addr, SizeT len )
    )
 {
    Int    i, j, i_eol;
    Addr   start, endPlusOne, gapStart;
-   UChar* filename;
-   UChar  rr, ww, xx, pp, ch, tmp;
+   HChar* filename;
+   HChar  rr, ww, xx, pp, ch, tmp;
    UInt	  prot;
    UWord  maj, min;
    ULong  foffset, dev, ino;
@@ -3428,7 +3428,7 @@
 static void parse_procselfmaps (
       void (*record_mapping)( Addr addr, SizeT len, UInt prot,
                               ULong dev, ULong ino, Off64T offset, 
-                              const UChar* filename ),
+                              const HChar* filename ),
       void (*record_gap)( Addr addr, SizeT len )
    )
 {
@@ -3486,7 +3486,7 @@
 
 static void add_mapping_callback(Addr addr, SizeT len, UInt prot, 
                                  ULong dev, ULong ino, Off64T offset, 
-                                 const UChar *filename)
+                                 const HChar *filename)
 {
    // derived from sync_check_mapping_callback()
 
diff --git a/coregrind/m_aspacemgr/priv_aspacemgr.h b/coregrind/m_aspacemgr/priv_aspacemgr.h
index ade252e..cb48bdc 100644
--- a/coregrind/m_aspacemgr/priv_aspacemgr.h
+++ b/coregrind/m_aspacemgr/priv_aspacemgr.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2006-2011 OpenWorks LLP
+   Copyright (C) 2006-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -65,14 +65,14 @@
 
 __attribute__ ((noreturn))
 extern void   ML_(am_exit) ( Int status );
-extern void   ML_(am_barf) ( HChar* what );
-extern void   ML_(am_barf_toolow) ( HChar* what );
+extern void   ML_(am_barf) ( const HChar* what );
+extern void   ML_(am_barf_toolow) ( const HChar* what );
 
 __attribute__ ((noreturn))
 extern void   ML_(am_assert_fail) ( const HChar* expr,
-                                    const Char* file,
+                                    const HChar* file,
                                     Int line, 
-                                    const Char* fn );
+                                    const HChar* fn );
 
 #define aspacem_assert(expr)                              \
   ((void) ((expr) ? 0 :                                   \
@@ -105,7 +105,7 @@
 /* There is also VG_(do_mmap_NO_NOTIFY), but that's not declared
    here (obviously). */
 
-extern SysRes ML_(am_open)  ( const Char* pathname, Int flags, Int mode );
+extern SysRes ML_(am_open)  ( const HChar* pathname, Int flags, Int mode );
 extern void   ML_(am_close) ( Int fd );
 extern Int    ML_(am_read)  ( Int fd, void* buf, Int count);
 extern Int    ML_(am_readlink) ( HChar* path, HChar* buf, UInt bufsiz );
diff --git a/coregrind/m_cache.c b/coregrind/m_cache.c
new file mode 100644
index 0000000..077fc0a
--- /dev/null
+++ b/coregrind/m_cache.c
@@ -0,0 +1,792 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+/*--------------------------------------------------------------------*/
+/*--- Cache-related stuff.                               m_cache.c ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2002-2012 Nicholas Nethercote
+      njn@valgrind.org
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#include "pub_core_basics.h"
+#include "pub_core_libcbase.h"
+#include "pub_core_libcassert.h"
+#include "pub_core_libcprint.h"
+#include "pub_core_mallocfree.h"
+#include "pub_core_machine.h"
+#include "pub_core_debuglog.h"
+#include "libvex.h"
+
+#if defined(VGA_x86) || defined(VGA_amd64)
+
+#include "pub_core_cpuid.h"
+
+// All CPUID info taken from sandpile.org/ia32/cpuid.htm */
+// Probably only works for Intel and AMD chips, and probably only for some of
+// them.
+
+static void
+add_cache(VexCacheInfo *ci, VexCache cache)
+{
+   static UInt num_allocated = 0;
+
+   if (ci->num_caches == num_allocated) {
+      num_allocated += 6;
+      ci->caches = VG_(realloc)("m_cache", ci->caches,
+                                num_allocated * sizeof *ci->caches);
+   }
+
+   if (ci->num_levels < cache.level) ci->num_levels = cache.level;
+   ci->caches[ci->num_caches++] = cache;
+}
+
+/* Convenience macros */
+#define add_icache(level, size, assoc, linesize) \
+   do { \
+      add_cache(ci, \
+                VEX_CACHE_INIT(INSN_CACHE, level, size, linesize, assoc)); \
+   } while (0)
+
+#define add_dcache(level, size, assoc, linesize) \
+   do { \
+      add_cache(ci, \
+                VEX_CACHE_INIT(DATA_CACHE, level, size, linesize, assoc)); \
+   } while (0)
+
+#define add_ucache(level, size, assoc, linesize) \
+   do { \
+      add_cache(ci, \
+                VEX_CACHE_INIT(UNIFIED_CACHE, level, size, linesize, assoc)); \
+   } while (0)
+
+#define add_itcache(level, size, assoc) \
+   do { \
+      VexCache c = \
+          VEX_CACHE_INIT(INSN_CACHE, level, size, 0, assoc); \
+      c.is_trace_cache = True; \
+      add_cache(ci, c); \
+   } while (0)
+
+#define add_I1(size, assoc, linesize) add_icache(1, size, assoc, linesize)
+#define add_D1(size, assoc, linesize) add_dcache(1, size, assoc, linesize)
+#define add_U1(size, assoc, linesize) add_ucache(1, size, assoc, linesize)
+#define add_I2(size, assoc, linesize) add_icache(2, size, assoc, linesize)
+#define add_D2(size, assoc, linesize) add_dcache(2, size, assoc, linesize)
+#define add_U2(size, assoc, linesize) add_ucache(2, size, assoc, linesize)
+#define add_I3(size, assoc, linesize) add_icache(3, size, assoc, linesize)
+#define add_D3(size, assoc, linesize) add_dcache(3, size, assoc, linesize)
+#define add_U3(size, assoc, linesize) add_ucache(3, size, assoc, linesize)
+
+#define add_I1T(size, assoc) \
+   add_itcache(1, size, assoc)
+
+/* Intel method is truly wretched.  We have to do an insane indexing into an
+ * array of pre-defined configurations for various parts of the memory
+ * hierarchy.
+ * According to Intel Processor Identification, App Note 485.
+ *
+ * If a L3 cache is found, then data for it rather than the L2
+ * is returned via *LLc.
+ */
+static Int
+Intel_cache_info(Int level, VexCacheInfo *ci)
+{
+   UInt cpuid1_eax;
+   UInt cpuid1_ignore;
+   Int family;
+   Int model;
+   UChar info[16];
+   Int   i, j, trials;
+
+   if (level < 2) {
+      VG_(debugLog)(1, "cache", "warning: CPUID level < 2 for Intel "
+                    "processor (%d)\n", level);
+      return -1;
+   }
+
+   /* family/model needed to distinguish code reuse (currently 0x49) */
+   VG_(cpuid)(1, 0, &cpuid1_eax, &cpuid1_ignore,
+	      &cpuid1_ignore, &cpuid1_ignore);
+   family = (((cpuid1_eax >> 20) & 0xff) << 4) + ((cpuid1_eax >> 8) & 0xf);
+   model =  (((cpuid1_eax >> 16) & 0xf) << 4) + ((cpuid1_eax >> 4) & 0xf);
+
+   VG_(cpuid)(2, 0, (UInt*)&info[0], (UInt*)&info[4],
+                    (UInt*)&info[8], (UInt*)&info[12]);
+   trials  = info[0] - 1;   /* AL register - bits 0..7 of %eax */
+   info[0] = 0x0;           /* reset AL */
+
+   if (0 != trials) {
+      VG_(debugLog)(1, "cache", "warning: non-zero CPUID trials for Intel "
+                    "processor (%d)\n", trials);
+      return -1;
+   }
+
+   ci->num_levels = 0;
+   ci->num_caches = 0;
+   ci->icaches_maintain_coherence = True;
+   ci->caches = NULL;
+
+   for (i = 0; i < 16; i++) {
+
+      switch (info[i]) {
+
+      case 0x0:       /* ignore zeros */
+          break;
+
+      /* TLB info, ignore */
+      case 0x01: case 0x02: case 0x03: case 0x04: case 0x05:
+      case 0x0b:
+      case 0x4f: case 0x50: case 0x51: case 0x52: case 0x55:
+      case 0x56: case 0x57: case 0x59:
+      case 0x5a: case 0x5b: case 0x5c: case 0x5d:
+      case 0x76:
+      case 0xb0: case 0xb1: case 0xb2:
+      case 0xb3: case 0xb4: case 0xba: case 0xc0:
+      case 0xca:
+          break;
+
+      case 0x06: add_I1( 8, 4, 32); break;
+      case 0x08: add_I1(16, 4, 32); break;
+      case 0x09: add_I1(32, 4, 64); break;
+      case 0x30: add_I1(32, 8, 64); break;
+
+      case 0x0a: add_D1( 8, 2, 32); break;
+      case 0x0c: add_D1(16, 4, 32); break;
+      case 0x0d: add_D1(16, 4, 64); break;
+      case 0x0e: add_D1(24, 6, 64); break;
+      case 0x2c: add_D1(32, 8, 64); break;
+
+      /* IA-64 info -- panic! */
+      case 0x10: case 0x15: case 0x1a:
+      case 0x88: case 0x89: case 0x8a: case 0x8d:
+      case 0x90: case 0x96: case 0x9b:
+         VG_(core_panic)("IA-64 cache detected?!");
+
+      /* L3 cache info. */
+      case 0x22: add_U3(512,    4, 64); break;
+      case 0x23: add_U3(1024,   8, 64); break;
+      case 0x25: add_U3(2048,   8, 64); break;
+      case 0x29: add_U3(4096,   8, 64); break;
+      case 0x46: add_U3(4096,   4, 64); break;
+      case 0x47: add_U3(8192,   8, 64); break;
+      case 0x4a: add_U3(6144,  12, 64); break;
+      case 0x4b: add_U3(8192,  16, 64); break;
+      case 0x4c: add_U3(12288, 12, 64); break;
+      case 0x4d: add_U3(16384, 16, 64); break;
+      case 0xd0: add_U3(512,    4, 64); break;
+      case 0xd1: add_U3(1024,   4, 64); break;
+      case 0xd2: add_U3(2048,   4, 64); break;
+      case 0xd6: add_U3(1024,   8, 64); break;
+      case 0xd7: add_U3(2048,   8, 64); break;
+      case 0xd8: add_U3(4096,   8, 64); break;
+      case 0xdc: add_U3(1536,  12, 64); break;
+      case 0xdd: add_U3(3072,  12, 64); break;
+      case 0xde: add_U3(6144,  12, 64); break;
+      case 0xe2: add_U3(2048,  16, 64); break;
+      case 0xe3: add_U3(4096,  16, 64); break;
+      case 0xe4: add_U3(8192,  16, 64); break;
+      case 0xea: add_U3(12288, 24, 64); break;
+      case 0xeb: add_U3(18432, 24, 64); break;
+      case 0xec: add_U3(24576, 24, 64); break;
+
+      /* Described as "MLC" in Intel documentation */
+      case 0x21: add_U2(256, 8, 64); break;
+
+      /* These are sectored, whatever that means */
+         // FIXME: I did not find these in the Intel docs
+      case 0x39: add_U2(128, 4, 64); break;
+      case 0x3c: add_U2(256, 4, 64); break;
+
+      /* If a P6 core, this means "no L2 cache".
+         If a P4 core, this means "no L3 cache".
+         We don't know what core it is, so don't issue a warning.  To detect
+         a missing L2 cache, we use 'L2_found'. */
+      case 0x40:
+          break;
+
+      case 0x41: add_U2(  128,  4, 32); break;
+      case 0x42: add_U2(  256,  4, 32); break;
+      case 0x43: add_U2(  512,  4, 32); break;
+      case 0x44: add_U2( 1024,  4, 32); break;
+      case 0x45: add_U2( 2048,  4, 32); break;
+      case 0x48: add_U2( 3072, 12, 64); break;
+      case 0x4e: add_U2( 6144, 24, 64); break;
+      case 0x49:
+         if (family == 15 && model == 6) {
+            /* On Xeon MP (family F, model 6), this is for L3 */
+            add_U3(4096, 16, 64);
+         } else {
+	    add_U2(4096, 16, 64);
+         }
+         break;
+
+      /* These are sectored, whatever that means */
+      case 0x60: add_D1(16, 8, 64);  break;      /* sectored */
+      case 0x66: add_D1( 8, 4, 64);  break;      /* sectored */
+      case 0x67: add_D1(16, 4, 64);  break;      /* sectored */
+      case 0x68: add_D1(32, 4, 64);  break;      /* sectored */
+
+      /* HACK ALERT: Instruction trace cache -- capacity is micro-ops based.
+       * conversion to byte size is a total guess;  treat the 12K and 16K
+       * cases the same since the cache byte size must be a power of two for
+       * everything to work!.  Also guessing 32 bytes for the line size...
+       */
+      case 0x70:    /* 12K micro-ops, 8-way */
+         add_I1T(12, 8);
+         break;
+      case 0x71:    /* 16K micro-ops, 8-way */
+         add_I1T(16, 8);
+         break;
+      case 0x72:    /* 32K micro-ops, 8-way */
+         add_I1T(32, 8);
+         break;
+
+      /* not sectored, whatever that might mean */
+      case 0x78: add_U2(1024, 4,  64);  break;
+
+      /* These are sectored, whatever that means */
+      case 0x79: add_U2( 128, 8,  64);  break;
+      case 0x7a: add_U2( 256, 8,  64);  break;
+      case 0x7b: add_U2( 512, 8,  64);  break;
+      case 0x7c: add_U2(1024, 8,  64);  break;
+      case 0x7d: add_U2(2048, 8,  64);  break;
+      case 0x7e: add_U2( 256, 8, 128);  break;
+      case 0x7f: add_U2( 512, 2,  64);  break;
+      case 0x80: add_U2( 512, 8,  64);  break;
+      case 0x81: add_U2( 128, 8,  32);  break;
+      case 0x82: add_U2( 256, 8,  32);  break;
+      case 0x83: add_U2( 512, 8,  32);  break;
+      case 0x84: add_U2(1024, 8,  32);  break;
+      case 0x85: add_U2(2048, 8,  32);  break;
+      case 0x86: add_U2( 512, 4,  64);  break;
+      case 0x87: add_U2(1024, 8,  64);  break;
+
+      /* Ignore prefetch information */
+      case 0xf0: case 0xf1:
+         break;
+
+      case 0xff:
+         j = 0;
+         VG_(cpuid)(4, j++, (UInt*)&info[0], (UInt*)&info[4],
+                            (UInt*)&info[8], (UInt*)&info[12]);
+
+         while ((info[0] & 0x1f) != 0) {
+            UInt assoc = ((*(UInt *)&info[4] >> 22) & 0x3ff) + 1;
+            UInt parts = ((*(UInt *)&info[4] >> 12) & 0x3ff) + 1;
+            UInt line_size = (*(UInt *)&info[4] & 0x7ff) + 1;
+            UInt sets = *(UInt *)&info[8] + 1;
+
+            UInt size = assoc * parts * line_size * sets / 1024;
+
+            switch ((info[0] & 0xe0) >> 5)
+            {
+            case 1:
+               switch (info[0] & 0x1f)
+               {
+               case 1: add_D1(size, assoc, line_size); break;
+               case 2: add_I1(size, assoc, line_size); break;
+               case 3: add_U1(size, assoc, line_size); break;
+               default:
+                  VG_(debugLog)(1, "cache",
+                                "warning: L1 cache of unknown type ignored\n");
+                  break;
+               }
+               break;
+            case 2:
+               switch (info[0] & 0x1f)
+               {
+               case 1: add_D2(size, assoc, line_size); break;
+               case 2: add_I2(size, assoc, line_size); break;
+               case 3: add_U2(size, assoc, line_size); break;
+               default:
+                  VG_(debugLog)(1, "cache",
+                                "warning: L2 cache of unknown type ignored\n");
+                  break;
+               }
+               break;
+            case 3:
+               switch (info[0] & 0x1f)
+               {
+               case 1: add_D3(size, assoc, line_size); break;
+               case 2: add_I3(size, assoc, line_size); break;
+               case 3: add_U3(size, assoc, line_size); break;
+               default:
+                  VG_(debugLog)(1, "cache",
+                                "warning: L3 cache of unknown type ignored\n");
+                  break;
+               }
+               break;
+            default:
+               VG_(debugLog)(1, "cache", "warning: L%u cache ignored\n",
+                             (info[0] & 0xe0) >> 5);
+               break;
+            }
+
+            VG_(cpuid)(4, j++, (UInt*)&info[0], (UInt*)&info[4],
+                               (UInt*)&info[8], (UInt*)&info[12]);
+         }
+         break;
+
+      default:
+         VG_(debugLog)(1, "cache",
+                       "warning: Unknown Intel cache config value (0x%x), "
+                       "ignoring\n", info[i]);
+         break;
+      }
+   }
+
+   return 0;
+}
+
+/* AMD method is straightforward, just extract appropriate bits from the
+ * result registers.
+ *
+ * Bits, for D1 and I1:
+ *  31..24  data L1 cache size in KBs
+ *  23..16  data L1 cache associativity (FFh=full)
+ *  15.. 8  data L1 cache lines per tag
+ *   7.. 0  data L1 cache line size in bytes
+ *
+ * Bits, for L2:
+ *  31..16  unified L2 cache size in KBs
+ *  15..12  unified L2 cache associativity (0=off, FFh=full)
+ *  11.. 8  unified L2 cache lines per tag
+ *   7.. 0  unified L2 cache line size in bytes
+ *
+ * #3  The AMD K7 processor's L2 cache must be configured prior to relying
+ *     upon this information. (Whatever that means -- njn)
+ *
+ * Also, according to Cyrille Chepelov, Duron stepping A0 processors (model
+ * 0x630) have a bug and misreport their L2 size as 1KB (it's really 64KB),
+ * so we detect that.
+ *
+ * Returns 0 on success, non-zero on failure.  As with the Intel code
+ * above, if a L3 cache is found, then data for it rather than the L2
+ * is returned via *LLc.
+ */
+
+/* A small helper */
+static Int
+decode_AMD_cache_L2_L3_assoc ( Int bits_15_12 )
+{
+   /* Decode a L2/L3 associativity indication.  It is encoded
+      differently from the I1/D1 associativity.  Returns 1
+      (direct-map) as a safe but suboptimal result for unknown
+      encodings. */
+   switch (bits_15_12 & 0xF) {
+      case 1: return 1;    case 2: return 2;
+      case 4: return 4;    case 6: return 8;
+      case 8: return 16;   case 0xA: return 32;
+      case 0xB: return 48; case 0xC: return 64;
+      case 0xD: return 96; case 0xE: return 128;
+      case 0xF: /* fully associative */
+      case 0: /* L2/L3 cache or TLB is disabled */
+      default:
+        return 1;
+   }
+}
+
+static Int
+AMD_cache_info(VexCacheInfo *ci)
+{
+   UInt ext_level;
+   UInt dummy, model;
+   UInt I1i, D1i, L2i, L3i;
+   UInt size, line_size, assoc;
+
+   VG_(cpuid)(0x80000000, 0, &ext_level, &dummy, &dummy, &dummy);
+
+   if (0 == (ext_level & 0x80000000) || ext_level < 0x80000006) {
+      VG_(debugLog)(1, "cache", "warning: ext_level < 0x80000006 for AMD "
+                    "processor (0x%x)\n", ext_level);
+      return -1;
+   }
+
+   VG_(cpuid)(0x80000005, 0, &dummy, &dummy, &D1i, &I1i);
+   VG_(cpuid)(0x80000006, 0, &dummy, &dummy, &L2i, &L3i);
+
+   VG_(cpuid)(0x1, 0, &model, &dummy, &dummy, &dummy);
+
+   /* Check for Duron bug */
+   if (model == 0x630) {
+      VG_(debugLog)(1, "cache", "warning: Buggy Duron stepping A0. "
+                    "Assuming L2 size=65536 bytes\n");
+      L2i = (64 << 16) | (L2i & 0xffff);
+   }
+
+   ci->num_levels = 2;
+   ci->num_caches = 3;
+   ci->icaches_maintain_coherence = True;
+
+   /* Check for L3 cache */
+   if (((L3i >> 18) & 0x3fff) > 0) {
+      ci->num_levels = 3;
+      ci->num_caches = 4;
+   }
+
+   ci->caches = VG_(malloc)("m_cache", ci->num_caches * sizeof *ci->caches);
+
+   // D1
+   size      = (D1i >> 24) & 0xff;
+   assoc     = (D1i >> 16) & 0xff;
+   line_size = (D1i >>  0) & 0xff;
+   ci->caches[0] = VEX_CACHE_INIT(DATA_CACHE, 1, size, line_size, assoc);
+
+   // I1
+   size      = (I1i >> 24) & 0xff;
+   assoc     = (I1i >> 16) & 0xff;
+   line_size = (I1i >>  0) & 0xff;
+   ci->caches[1] = VEX_CACHE_INIT(INSN_CACHE, 1, size, line_size, assoc);
+
+   // L2    Nb: different bits used for L2
+   size      = (L2i >> 16) & 0xffff;
+   assoc     = decode_AMD_cache_L2_L3_assoc((L2i >> 12) & 0xf);
+   line_size = (L2i >>  0) & 0xff;
+   ci->caches[2] = VEX_CACHE_INIT(UNIFIED_CACHE, 2, size, line_size, assoc);
+
+   // L3, if any
+   if (((L3i >> 18) & 0x3fff) > 0) {
+      /* There's an L3 cache. */
+      /* NB: the test in the if is "if L3 size > 0 ".  I don't know if
+         this is the right way to test presence-vs-absence of L3.  I
+         can't see any guidance on this in the AMD documentation. */
+      size      = ((L3i >> 18) & 0x3fff) * 512;
+      assoc     = decode_AMD_cache_L2_L3_assoc((L3i >> 12) & 0xf);
+      line_size = (L3i >>  0) & 0xff;
+      ci->caches[3] = VEX_CACHE_INIT(UNIFIED_CACHE, 3, size, line_size, assoc);
+   }
+
+   return 0;
+}
+
+static Int
+get_caches_from_CPUID(VexCacheInfo *ci)
+{
+   Int  ret, i;
+   UInt level;
+   HChar vendor_id[13];
+
+   vg_assert(VG_(has_cpuid)());
+
+   VG_(cpuid)(0, 0, &level, (UInt*)&vendor_id[0],
+	      (UInt*)&vendor_id[8], (UInt*)&vendor_id[4]);
+   vendor_id[12] = '\0';
+
+   if (0 == level) {    // CPUID level is 0, early Pentium?
+      return -1;
+   }
+
+   /* Only handling Intel and AMD chips... no Cyrix, Transmeta, etc */
+   if (0 == VG_(strcmp)(vendor_id, "GenuineIntel")) {
+      ret = Intel_cache_info(level, ci);
+
+   } else if (0 == VG_(strcmp)(vendor_id, "AuthenticAMD")) {
+      ret = AMD_cache_info(ci);
+
+   } else if (0 == VG_(strcmp)(vendor_id, "CentaurHauls")) {
+      /* Total kludge.  Pretend to be a VIA Nehemiah. */
+      ci->num_levels = 2;
+      ci->num_caches = 3;
+      ci->icaches_maintain_coherence = True;
+      ci->caches = VG_(malloc)("m_cache", ci->num_caches * sizeof *ci->caches);
+      ci->caches[0] = VEX_CACHE_INIT(DATA_CACHE,    1, 64, 16, 16);
+      ci->caches[1] = VEX_CACHE_INIT(INSN_CACHE,    1, 64, 16,  4);
+      ci->caches[2] = VEX_CACHE_INIT(UNIFIED_CACHE, 2, 64, 16, 16);
+
+      ret = 0;
+
+   } else {
+      VG_(debugLog)(1, "cache", "CPU vendor ID not recognised (%s)\n",
+                    vendor_id);
+      return -1;
+   }
+
+   /* Successful!  Convert sizes from KB to bytes */
+   for (i = 0; i < ci->num_caches; ++i) {
+      ci->caches[i].sizeB *= 1024;
+   }
+
+   return ret;
+}
+
+static Bool
+get_cache_info(VexArchInfo *vai)
+{
+   Int ret = get_caches_from_CPUID(&vai->hwcache_info); 
+
+   return ret == 0 ? True : False;
+}
+
+#elif defined(VGA_arm) || defined(VGA_ppc32) || defined(VGA_ppc64) || \
+      defined(VGA_mips32) || defined(VGA_mips64)
+
+static Bool
+get_cache_info(VexArchInfo *vai)
+{
+   vai->hwcache_info.icaches_maintain_coherence = False;
+
+   return False;   // not yet
+}
+
+#elif defined(VGA_s390x)
+
+static ULong
+ecag(UInt ai, UInt li, UInt ti)
+{
+   register ULong result asm("2") = 0;
+   register ULong input  asm("3") = (ai << 4) | (li << 1) | ti;
+
+   asm volatile(".short 0xeb20\n\t"
+                ".long  0x3000004c\n\t"
+                 : "=d" (result) : "d" (input));
+
+   return result;
+}
+
+static UInt
+get_cache_info_for_level(ULong topology, UInt level)
+{
+   return (topology >> (56 - level * 8)) & 0xff;
+}
+
+static ULong
+get_line_size(UInt level, Bool is_insn_cache)
+{
+   return ecag(1, level, is_insn_cache);
+}
+
+static ULong
+get_total_size(UInt level, Bool is_insn_cache)
+{
+   return ecag(2, level, is_insn_cache);
+}
+
+static ULong
+get_associativity(UInt level, Bool is_insn_cache)
+{
+   return ecag(3, level, is_insn_cache);
+}
+
+static VexCache
+get_cache(UInt level, VexCacheKind kind)
+{
+   Bool is_insn_cache = kind == INSN_CACHE;
+   UInt size = get_total_size(level, is_insn_cache);
+   UInt line_size = get_line_size(level, is_insn_cache);
+   UInt assoc = get_associativity(level, is_insn_cache);
+
+   return VEX_CACHE_INIT(kind, level + 1, size, line_size, assoc);
+}
+
+static Bool
+get_cache_info(VexArchInfo *vai)
+{
+   VexCacheInfo *ci = &vai->hwcache_info;
+
+   ci->icaches_maintain_coherence = True;
+
+   if (! (vai->hwcaps & VEX_HWCAPS_S390X_GIE)) {
+      // ECAG is not available
+      return False;
+   }
+
+   UInt level, cache_kind, info, i;
+   ULong topology = ecag(0, 0, 0);   // get summary
+
+   /* ECAG supports at most 8 levels of cache. Find out how many levels
+      of cache and how many caches there are. */
+   ci->num_levels = 0;
+   ci->num_caches = 0;
+   for (level = 0; level < 8; level++) {
+      info = get_cache_info_for_level(topology, level);
+
+      if ((info & 0xc) == 0) break;  // cache does not exist at this level
+      ++ci->num_levels;
+
+      cache_kind = info & 0x3;
+      switch (cache_kind) {
+      case 0:  ci->num_caches += 2; break; /* separate data and insn cache */
+      case 1:  ci->num_caches += 1; break; /* only insn cache */
+      case 2:  ci->num_caches += 1; break; /* only data cache */
+      case 3:  ci->num_caches += 1; break; /* unified data and insn cache */
+      }
+   }
+
+   ci->caches = VG_(malloc)("m_cache", ci->num_caches * sizeof *ci->caches);
+
+   i = 0;
+   for (level = 0; level < ci->num_levels; level++) {
+      info = get_cache_info_for_level(topology, level);
+      cache_kind = info & 0x3;
+      switch (cache_kind) {
+      case 0:   /* separate data and insn cache */
+         ci->caches[i++] = get_cache(level, INSN_CACHE);
+         ci->caches[i++] = get_cache(level, DATA_CACHE);
+         break;
+
+      case 1:   /* only insn cache */
+         ci->caches[i++] = get_cache(level, INSN_CACHE);
+         break;
+
+      case 2:   /* only data cache */
+         ci->caches[i++] = get_cache(level, DATA_CACHE);
+         break;
+
+      case 3:   /* unified data and insn cache */
+         ci->caches[i++] = get_cache(level, UNIFIED_CACHE);
+         break;
+      }
+   }
+   return True;
+}
+
+#else
+
+#error "Unknown arch"
+
+#endif
+
+/* Debug information */
+static void
+write_cache_info(const VexCacheInfo *ci)
+{
+   UInt i;
+
+   VG_(debugLog)(1, "cache", "Cache info:\n");
+   VG_(debugLog)(1, "cache", "  #levels = %u\n", ci->num_levels);
+   VG_(debugLog)(1, "cache", "  #caches = %u\n", ci->num_caches);
+   for (i = 0; i < ci->num_caches; ++i) {
+      VexCache *c = ci->caches + i;
+      const HChar *kind;
+      VG_(debugLog)(1, "cache", "     cache #%u:\n", i);
+      switch (c->kind) {
+      case INSN_CACHE:    kind = "insn";    break;
+      case DATA_CACHE:    kind = "data";    break;
+      case UNIFIED_CACHE: kind = "unified"; break;
+      default: kind = "unknown"; break;
+      }
+      VG_(debugLog)(1, "cache", "        kind = %s\n", kind);
+      VG_(debugLog)(1, "cache", "        level = %u\n", c->level);
+      VG_(debugLog)(1, "cache", "        size = %u bytes\n", c->sizeB);
+      VG_(debugLog)(1, "cache", "        linesize = %u bytes\n", c->line_sizeB);
+      VG_(debugLog)(1, "cache", "        assoc = %u\n", c->assoc);
+   }
+}
+
+static Bool
+cache_info_is_sensible(const VexCacheInfo *ci)
+{
+   UInt level, i;
+   Bool sensible = True;
+
+   /* There must be at most one cache of a given kind at the same level.
+      If there is a unified cache at a given level, no other cache may
+      exist at that level. */
+   for (level = 1; level <= ci->num_levels; ++level) {
+      UInt num_icache, num_dcache, num_ucache;
+
+      num_icache = num_dcache = num_ucache = 0;
+      for (i = 0; i < ci->num_caches; ++i) {
+         if (ci->caches[i].level == level) {
+            switch (ci->caches[i].kind) {
+            case INSN_CACHE:    ++num_icache; break;
+            case DATA_CACHE:    ++num_dcache; break;
+            case UNIFIED_CACHE: ++num_ucache; break;
+            }
+         }
+      }
+      if (num_icache == 0 && num_dcache == 0 && num_ucache == 0) {
+         VG_(debugLog)(1, "cache", "warning: No caches at level %u\n", level);
+         sensible = False;
+      }
+      if (num_icache > 1 || num_dcache > 1 || num_ucache > 1) {
+         VG_(debugLog)(1, "cache", "warning: More than one cache of a given "
+                       "kind at level %u\n", level);
+         sensible = False;
+      }
+      if (num_ucache != 0 && (num_icache > 0 || num_dcache > 0)) {
+         VG_(debugLog)(1, "cache", "warning: Unified cache and I/D cache "
+                       "at level %u\n", level);
+         sensible = False;
+      }
+   }
+
+   /* If there is a cache at level N > 1 there must be a cache at level N-1 */
+   for (level = 2; level <= ci->num_levels; ++level) {
+      Bool found = False;
+      for (i = 0; i < ci->num_caches; ++i) {
+         if (ci->caches[i].level == level - 1) {
+            found = True;
+            break;
+         }
+      }
+      if (! found) {
+         VG_(debugLog)(1, "cache", "warning: Cache at level %u but no cache "
+                       "at level %u\n", level, level - 1);
+         sensible = False;
+      }
+   }
+
+   return sensible;
+}
+
+
+/* Autodetect the cache information for this host and stuff it into
+   VexArchInfo::hwcache_info. Return True if successful. */
+Bool
+VG_(machine_get_cache_info)(VexArchInfo *vai)
+{
+   Bool ok = get_cache_info(vai);
+
+   VexCacheInfo *ci = &vai->hwcache_info;
+
+   if (! ok) {
+      VG_(debugLog)(1, "cache", "Could not autodetect cache info\n");
+   } else {
+      ok = cache_info_is_sensible(ci);
+
+      if (! ok) {
+         VG_(debugLog)(1, "cache",
+                       "Autodetected cache info is not sensible\n");
+      } else {
+         VG_(debugLog)(1, "cache",
+                       "Autodetected cache info is sensible\n");
+      }
+      write_cache_info(ci);  /* write out for debugging */
+   }
+
+   if (! ok ) {
+      /* Reset cache info */
+      ci->num_levels = 0;
+      ci->num_caches = 0;
+      VG_(free)(ci->caches);
+      ci->caches = NULL;
+   }
+
+   return ok;
+}
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/m_clientstate.c b/coregrind/m_clientstate.c
index 6b9d710..f7dfd47 100644
--- a/coregrind/m_clientstate.c
+++ b/coregrind/m_clientstate.c
@@ -9,7 +9,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -64,6 +64,9 @@
 /* A fd which refers to the fake /proc/<pid>/cmdline in /tmp. */
 Int VG_(cl_cmdline_fd) = -1;
 
+/* A fd which refers to the fake /proc/<pid>/auxv in /tmp. */
+Int VG_(cl_auxv_fd) = -1;
+
 // Command line pieces, after they have been extracted from argv in
 // m_main.main().  The payload vectors are allocated in VG_AR_TOOL
 // (the default arena).  They are never freed.
diff --git a/coregrind/m_commandline.c b/coregrind/m_commandline.c
index 76f22a9..6d5871a 100644
--- a/coregrind/m_commandline.c
+++ b/coregrind/m_commandline.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -53,7 +53,7 @@
 // Note that we deliberately don't free the malloc'd memory.  See
 // comment at call site.
 
-static HChar* read_dot_valgrindrc ( HChar* dir )
+static HChar* read_dot_valgrindrc ( const HChar* dir )
 {
    Int    n;
    SysRes fd;
diff --git a/coregrind/m_coredump/coredump-elf.c b/coregrind/m_coredump/coredump-elf.c
index 77a8f34..ebf31d0 100644
--- a/coregrind/m_coredump/coredump-elf.c
+++ b/coregrind/m_coredump/coredump-elf.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -136,7 +136,7 @@
    phdr->p_align = VKI_PAGE_SIZE;
 }
 
-#if defined(VGPV_arm_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
 /* Android's libc doesn't provide a definition for this.  Hence: */
 typedef
    struct {
@@ -150,7 +150,7 @@
 struct note {
    struct note *next;
    ESZ(Nhdr) note;
-   Char name[0];
+   HChar name[0];
 };
 
 static UInt note_size(const struct note *n)
@@ -159,8 +159,8 @@
                             + VG_ROUNDUP(n->note.n_descsz, 4);
 }
 
-#if !defined(VGPV_arm_linux_android)
-static void add_note(struct note **list, const Char *name, UInt type,
+#if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
+static void add_note(struct note **list, const HChar *name, UInt type,
                      const void *data, UInt datasz)
 {
    Int namelen = VG_(strlen)(name)+1;
@@ -181,7 +181,7 @@
    VG_(memcpy)(n->name, name, namelen);
    VG_(memcpy)(n->name+VG_ROUNDUP(namelen,4), data, datasz);
 }
-#endif /* !defined(VGPV_arm_linux_android) */
+#endif /* !defined(VGPV_*_linux_android) */
 
 static void write_note(Int fd, const struct note *n)
 {
@@ -191,7 +191,7 @@
 static void fill_prpsinfo(const ThreadState *tst,
                           struct vki_elf_prpsinfo *prpsinfo)
 {
-   static Char name[VKI_PATH_MAX];
+   static HChar name[VKI_PATH_MAX];
 
    VG_(memset)(prpsinfo, 0, sizeof(*prpsinfo));
 
@@ -219,7 +219,7 @@
    prpsinfo->pr_gid = 0;
    
    if (VG_(resolve_filename)(VG_(cl_exec_fd), name, VKI_PATH_MAX)) {
-      Char *n = name+VG_(strlen)(name)-1;
+      HChar *n = name+VG_(strlen)(name)-1;
 
       while (n > name && *n != '/')
 	 n--;
@@ -235,7 +235,7 @@
 			  const vki_siginfo_t *si)
 {
    struct vki_user_regs_struct *regs;
-   ThreadArchState* arch = (ThreadArchState*)&tst->arch;
+   const ThreadArchState* arch = &tst->arch;
 
    VG_(memset)(prs, 0, sizeof(*prs));
 
@@ -280,7 +280,7 @@
    regs->gs     = arch->vex.guest_GS;
 
 #elif defined(VGP_amd64_linux)
-   regs->eflags = LibVEX_GuestAMD64_get_rflags( &((ThreadArchState*)arch)->vex );
+   regs->eflags = LibVEX_GuestAMD64_get_rflags( &arch->vex );
    regs->rsp    = arch->vex.guest_RSP;
    regs->rip    = arch->vex.guest_RIP;
 
@@ -317,8 +317,8 @@
    regs->orig_gpr3 = arch->vex.guest_GPR3;
    regs->ctr = arch->vex.guest_CTR;
    regs->link = arch->vex.guest_LR;
-   regs->xer = LibVEX_GuestPPC32_get_XER( &((ThreadArchState*)arch)->vex );
-   regs->ccr = LibVEX_GuestPPC32_get_CR( &((ThreadArchState*)arch)->vex );
+   regs->xer = LibVEX_GuestPPC32_get_XER( &arch->vex );
+   regs->ccr = LibVEX_GuestPPC32_get_CR( &arch->vex );
    regs->mq = 0;
    regs->trap = 0;
    regs->dar = 0; /* should be fault address? */
@@ -338,8 +338,8 @@
    regs->orig_gpr3 = arch->vex.guest_GPR3;
    regs->ctr = arch->vex.guest_CTR;
    regs->link = arch->vex.guest_LR;
-   regs->xer = LibVEX_GuestPPC64_get_XER( &((ThreadArchState*)arch)->vex );
-   regs->ccr = LibVEX_GuestPPC64_get_CR( &((ThreadArchState*)arch)->vex );
+   regs->xer = LibVEX_GuestPPC64_get_XER( &arch->vex );
+   regs->ccr = LibVEX_GuestPPC64_get_CR( &arch->vex );
    /* regs->mq = 0; */
    regs->trap = 0;
    regs->dar = 0; /* should be fault address? */
@@ -363,7 +363,7 @@
    regs->ARM_sp   = arch->vex.guest_R13;
    regs->ARM_lr   = arch->vex.guest_R14;
    regs->ARM_pc   = arch->vex.guest_R15T;
-   regs->ARM_cpsr = LibVEX_GuestARM_get_cpsr( &((ThreadArchState*)arch)->vex );
+   regs->ARM_cpsr = LibVEX_GuestARM_get_cpsr( &arch->vex );
 
 #elif defined(VGP_s390x_linux)
 #  define DO(n)  regs->gprs[n] = arch->vex.guest_r##n
@@ -375,6 +375,24 @@
    DO(8);  DO(9);  DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
 #  undef DO
    regs->orig_gpr2 = arch->vex.guest_r2;
+#elif defined(VGP_mips32_linux)
+#  define DO(n)  regs->MIPS_r##n = arch->vex.guest_r##n
+   DO(0);  DO(1);  DO(2);  DO(3);  DO(4);  DO(5);  DO(6);  DO(7);
+   DO(8);  DO(9);  DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
+   DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
+   DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
+#  undef DO
+   regs->MIPS_hi   = arch->vex.guest_HI;
+   regs->MIPS_lo   = arch->vex.guest_LO;
+#elif defined(VGP_mips64_linux)
+#  define DO(n)  regs->MIPS_r##n = arch->vex.guest_r##n
+   DO(0);  DO(1);  DO(2);  DO(3);  DO(4);  DO(5);  DO(6);  DO(7);
+   DO(8);  DO(9);  DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
+   DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
+   DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
+#  undef DO
+   regs->MIPS_hi   = arch->vex.guest_HI;
+   regs->MIPS_lo   = arch->vex.guest_LO;
 #else
 #  error Unknown ELF platform
 #endif
@@ -383,10 +401,10 @@
 static void fill_fpu(const ThreadState *tst, vki_elf_fpregset_t *fpu)
 {
    __attribute__((unused))
-   ThreadArchState* arch = (ThreadArchState*)&tst->arch;
+   const ThreadArchState* arch = &tst->arch;
 
 #if defined(VGP_x86_linux)
-//:: static void fill_fpu(vki_elf_fpregset_t *fpu, const Char *from)
+//:: static void fill_fpu(vki_elf_fpregset_t *fpu, const HChar *from)
 //:: {
 //::    if (VG_(have_ssestate)) {
 //::       UShort *to;
@@ -404,7 +422,7 @@
 //::       VG_(memcpy)(fpu, from, sizeof(*fpu));
 //:: }
 
-//::    fill_fpu(fpu, (const Char *)&arch->m_sse);
+//::    fill_fpu(fpu, (const HChar *)&arch->m_sse);
 
 #elif defined(VGP_amd64_linux)
 //::    fpu->cwd = ?;
@@ -417,7 +435,8 @@
 //::    fpu->mxcsr_mask = ?;
 //::    fpu->st_space = ?;
 
-#  define DO(n)  VG_(memcpy)(fpu->xmm_space + n * 4, &arch->vex.guest_XMM##n, sizeof(arch->vex.guest_XMM##n))
+#  define DO(n)  VG_(memcpy)(fpu->xmm_space + n * 4, \
+                             &arch->vex.guest_YMM##n[0], 16)
    DO(0);  DO(1);  DO(2);  DO(3);  DO(4);  DO(5);  DO(6);  DO(7);
    DO(8);  DO(9);  DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
 #  undef DO
@@ -454,15 +473,29 @@
    DO(0);  DO(1);  DO(2);  DO(3);  DO(4);  DO(5);  DO(6);  DO(7);
    DO(8);  DO(9);  DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
 # undef DO
+#elif defined(VGP_mips32_linux)
+#  define DO(n)  (*fpu)[n] = *(double*)(&arch->vex.guest_f##n)
+   DO(0);  DO(1);  DO(2);  DO(3);  DO(4);  DO(5);  DO(6);  DO(7);
+   DO(8);  DO(9);  DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
+   DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
+   DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
+#  undef DO
+#elif defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+#  define DO(n)  (*fpu)[n] = *(double*)(&arch->vex.guest_f##n)
+   DO(0);  DO(1);  DO(2);  DO(3);  DO(4);  DO(5);  DO(6);  DO(7);
+   DO(8);  DO(9);  DO(10); DO(11); DO(12); DO(13); DO(14); DO(15);
+   DO(16); DO(17); DO(18); DO(19); DO(20); DO(21); DO(22); DO(23);
+   DO(24); DO(25); DO(26); DO(27); DO(28); DO(29); DO(30); DO(31);
+#  undef DO
 #else
 #  error Unknown ELF platform
 #endif
 }
 
-#if defined(VGP_x86_linux)
+#if defined(VGP_x86_linux) && !defined(VGPV_x86_linux_android)
 static void fill_xfpu(const ThreadState *tst, vki_elf_fpxregset_t *xfpu)
 {
-   ThreadArchState* arch = (ThreadArchState*)&tst->arch;
+   const ThreadArchState* arch = &tst->arch;
 
 //::    xfpu->cwd = ?;
 //::    xfpu->swd = ?;
@@ -487,9 +520,9 @@
 static
 void make_elf_coredump(ThreadId tid, const vki_siginfo_t *si, UInt max_size)
 {
-   Char* buf = NULL;
-   Char *basename = "vgcore";
-   Char *coreext = "";
+   HChar* buf = NULL;
+   const HChar *basename = "vgcore";
+   const HChar *coreext = "";
    Int seq = 0;
    Int core_fd;
    NSegment const * seg;
@@ -572,26 +605,28 @@
 	 continue;
 
 #     if defined(VGP_x86_linux)
+#     if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
       {
          vki_elf_fpxregset_t xfpu;
          fill_xfpu(&VG_(threads)[i], &xfpu);
          add_note(&notelist, "LINUX", NT_PRXFPREG, &xfpu, sizeof(xfpu));
       }
 #     endif
+#     endif
 
       fill_fpu(&VG_(threads)[i], &fpu);
-#     if !defined(VGPV_arm_linux_android)
+#     if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
       add_note(&notelist, "CORE", NT_FPREGSET, &fpu, sizeof(fpu));
 #     endif
 
       fill_prstatus(&VG_(threads)[i], &prstatus, si);
-#     if !defined(VGPV_arm_linux_android)
+#     if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
       add_note(&notelist, "CORE", NT_PRSTATUS, &prstatus, sizeof(prstatus));
 #     endif
    }
 
    fill_prpsinfo(&VG_(threads)[tid], &prpsinfo);
-#  if !defined(VGPV_arm_linux_android)
+#  if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
    add_note(&notelist, "CORE", NT_PRPSINFO, &prpsinfo, sizeof(prpsinfo));
 #  endif
 
diff --git a/coregrind/m_cpuid.S b/coregrind/m_cpuid.S
index 1942fb8..6ffa6e0 100644
--- a/coregrind/m_cpuid.S
+++ b/coregrind/m_cpuid.S
@@ -7,7 +7,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2000-2011 Julian Seward 
+  Copyright (C) 2000-2012 Julian Seward 
      jseward@acm.org
 
   This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_debugger.c b/coregrind/m_debugger.c
index bb559f4..1c967ef 100644
--- a/coregrind/m_debugger.c
+++ b/coregrind/m_debugger.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -35,6 +35,7 @@
 #include "pub_core_xarray.h"
 #include "pub_core_clientstate.h"
 #include "pub_core_debugger.h"
+#include "pub_core_gdbserver.h"
 #include "pub_core_libcbase.h"
 #include "pub_core_libcprint.h"
 #include "pub_core_libcproc.h"
@@ -307,6 +308,43 @@
 
    return VG_(ptrace)(VKI_PTRACE_POKEUSR_AREA, pid,  &pa, NULL);
 
+#elif defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+   struct vki_user_regs_struct regs;
+   VG_(memset)(&regs, 0, sizeof(regs));
+   regs.MIPS_r0     = vex->guest_r0;
+   regs.MIPS_r1     = vex->guest_r1;
+   regs.MIPS_r2     = vex->guest_r2;
+   regs.MIPS_r3     = vex->guest_r3;
+   regs.MIPS_r4     = vex->guest_r4;
+   regs.MIPS_r5     = vex->guest_r5;
+   regs.MIPS_r6     = vex->guest_r6;
+   regs.MIPS_r7     = vex->guest_r7;
+   regs.MIPS_r8     = vex->guest_r8;
+   regs.MIPS_r9     = vex->guest_r9;
+   regs.MIPS_r10     = vex->guest_r10;
+   regs.MIPS_r11     = vex->guest_r11;
+   regs.MIPS_r12     = vex->guest_r12;
+   regs.MIPS_r13     = vex->guest_r13;
+   regs.MIPS_r14     = vex->guest_r14;
+   regs.MIPS_r15     = vex->guest_r15;
+   regs.MIPS_r16     = vex->guest_r16;
+   regs.MIPS_r17     = vex->guest_r17;
+   regs.MIPS_r18     = vex->guest_r18;
+   regs.MIPS_r19     = vex->guest_r19;
+   regs.MIPS_r20     = vex->guest_r20;
+   regs.MIPS_r21     = vex->guest_r21;
+   regs.MIPS_r22     = vex->guest_r22;
+   regs.MIPS_r23     = vex->guest_r23;
+   regs.MIPS_r24     = vex->guest_r24;
+   regs.MIPS_r25     = vex->guest_r25;
+   regs.MIPS_r26     = vex->guest_r26;
+   regs.MIPS_r27     = vex->guest_r27;
+   regs.MIPS_r28     = vex->guest_r28;
+   regs.MIPS_r29     = vex->guest_r29;
+   regs.MIPS_r30     = vex->guest_r30;
+   regs.MIPS_r31     = vex->guest_r31;
+   return VG_(ptrace)(VKI_PTRACE_SETREGS, pid, NULL, &regs);
+
 #else
 #  error Unknown arch
 #endif
@@ -326,6 +364,7 @@
 
    if (pid == 0) {
       /* child */
+      VG_(set_ptracer)();
       rc = VG_(ptrace)(VKI_PTRACE_TRACEME, 0, NULL, NULL);
       vg_assert(rc == 0);
       rc = VG_(kill)(VG_(getpid)(), VKI_SIGSTOP);
@@ -342,11 +381,11 @@
           VG_(kill)(pid, VKI_SIGSTOP) == 0 &&
           VG_(ptrace)(VKI_PTRACE_DETACH, pid, NULL, 0) == 0)
       {
-         Char pidbuf[15];
-         Char file[50];
-         Char buf[N_BUF];
-         Char *bufptr;
-         Char *cmdptr;
+         HChar pidbuf[15];
+         HChar file[50];
+         HChar buf[N_BUF];
+         HChar *bufptr;
+         const HChar *cmdptr;
          
          VG_(sprintf)(pidbuf, "%d", pid);
          VG_(sprintf)(file, "/proc/%d/fd/%d", pid, VG_(cl_exec_fd));
diff --git a/coregrind/m_debuginfo/d3basics.c b/coregrind/m_debuginfo/d3basics.c
index 03af598..9253704 100644
--- a/coregrind/m_debuginfo/d3basics.c
+++ b/coregrind/m_debuginfo/d3basics.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks LLP
+   Copyright (C) 2008-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -38,6 +38,7 @@
 #include "pub_core_debuginfo.h"
 #include "pub_core_libcassert.h"
 #include "pub_core_libcprint.h"
+#include "pub_core_libcbase.h"
 #include "pub_core_options.h"
 #include "pub_core_xarray.h"
 
@@ -45,10 +46,11 @@
 #include "pub_core_aspacemgr.h" /* VG_(is_valid_for_client) */
 
 #include "priv_misc.h"
+#include "priv_image.h"
 #include "priv_d3basics.h"      /* self */
 #include "priv_storage.h"
 
-HChar* ML_(pp_DW_children) ( DW_children hashch )
+const HChar* ML_(pp_DW_children) ( DW_children hashch )
 {
    switch (hashch) {
       case DW_children_no:  return "no children";
@@ -57,7 +59,7 @@
    return "DW_children_???";
 }
 
-HChar* ML_(pp_DW_TAG) ( DW_TAG tag )
+const HChar* ML_(pp_DW_TAG) ( DW_TAG tag )
 {
    switch (tag) {
       case DW_TAG_padding:            return "DW_TAG_padding";
@@ -152,7 +154,7 @@
    return "DW_TAG_???";
 }
 
-HChar* ML_(pp_DW_FORM) ( DW_FORM form )
+const HChar* ML_(pp_DW_FORM) ( DW_FORM form )
 {
    switch (form) {
       case DW_FORM_addr:      return "DW_FORM_addr";
@@ -180,11 +182,13 @@
       case DW_FORM_exprloc:   return "DW_FORM_exprloc";
       case DW_FORM_flag_present:return "DW_FORM_flag_present";
       case DW_FORM_ref_sig8:  return "DW_FORM_ref_sig8";
+      case DW_FORM_GNU_ref_alt:return "DW_FORM_GNU_ref_alt";
+      case DW_FORM_GNU_strp_alt:return "DW_FORM_GNU_strp_alt";
    }
    return "DW_FORM_???";
 }
 
-HChar* ML_(pp_DW_AT) ( DW_AT attr )
+const HChar* ML_(pp_DW_AT) ( DW_AT attr )
 {
    switch (attr) {
       case DW_AT_sibling:             return "DW_AT_sibling";
@@ -410,6 +414,12 @@
 #  elif defined(VGP_s390x_linux)
    if (regno == 15) { *a = regs->sp; return True; }
    if (regno == 11) { *a = regs->fp; return True; }
+#  elif defined(VGP_mips32_linux)
+   if (regno == 29) { *a = regs->sp; return True; }
+   if (regno == 30) { *a = regs->fp; return True; }
+#  elif defined(VGP_mips64_linux)
+   if (regno == 29) { *a = regs->sp; return True; }
+   if (regno == 30) { *a = regs->fp; return True; }
 #  else
 #    error "Unknown platform"
 #  endif
@@ -1008,7 +1018,7 @@
    Word       i, nGuards;
    MaybeULong *mul, *mul2;
 
-   HChar*  badness = NULL;
+   const HChar*  badness = NULL;
    UChar*  p       = &gx->payload[0]; /* must remain unsigned */
    XArray* results = VG_(newXA)( ML_(dinfo_zalloc), "di.d3basics.etG.1",
                                  ML_(dinfo_free),
diff --git a/coregrind/m_debuginfo/debuginfo.c b/coregrind/m_debuginfo/debuginfo.c
index fa08d8e..9ebf429 100644
--- a/coregrind/m_debuginfo/debuginfo.c
+++ b/coregrind/m_debuginfo/debuginfo.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -51,6 +51,7 @@
 #include "pub_core_ume.h"
 
 #include "priv_misc.h"           /* dinfo_zalloc/free */
+#include "priv_image.h"
 #include "priv_d3basics.h"       /* ML_(pp_GX) */
 #include "priv_tytypes.h"
 #include "priv_storage.h"
@@ -100,6 +101,7 @@
 /*--- fwdses                                               ---*/
 /*------------------------------------------------------------*/
 
+static UInt CF_info_generation = 0;
 static void cfsi_cache__invalidate ( void );
 
 
@@ -168,7 +170,7 @@
 
 /* Allocate and zero out a new DebugInfo record. */
 static 
-DebugInfo* alloc_DebugInfo( const UChar* filename )
+DebugInfo* alloc_DebugInfo( const HChar* filename )
 {
    Bool       traceme;
    DebugInfo* di;
@@ -178,6 +180,9 @@
    di = ML_(dinfo_zalloc)("di.debuginfo.aDI.1", sizeof(DebugInfo));
    di->handle       = handle_counter++;
    di->fsm.filename = ML_(dinfo_strdup)("di.debuginfo.aDI.2", filename);
+   di->fsm.maps     = VG_(newXA)(
+                         ML_(dinfo_zalloc), "di.debuginfo.aDI.3",
+                         ML_(dinfo_free), sizeof(struct _DebugInfoMapping));
 
    /* Everything else -- pointers, sizes, arrays -- is zeroed by
       ML_(dinfo_zalloc).  Now set up the debugging-output flags. */
@@ -204,6 +209,7 @@
    GExpr* gexpr;
 
    vg_assert(di != NULL);
+   if (di->fsm.maps)     VG_(deleteXA)(di->fsm.maps);
    if (di->fsm.filename) ML_(dinfo_free)(di->fsm.filename);
    if (di->soname)       ML_(dinfo_free)(di->soname);
    if (di->loctab)       ML_(dinfo_free)(di->loctab);
@@ -294,7 +300,7 @@
 */
 static void discard_DebugInfo ( DebugInfo* di )
 {
-   HChar* reason = "munmap";
+   const HChar* reason = "munmap";
 
    DebugInfo** prev_next_ptr = &debugInfo_list;
    DebugInfo*  curr          =  debugInfo_list;
@@ -309,7 +315,7 @@
                          di->text_avma, 
                          di->text_avma + di->text_size,
                          curr->fsm.filename ? curr->fsm.filename
-                                            : (UChar*)"???",
+                                            : "???",
                          reason);
          vg_assert(*prev_next_ptr == curr);
          *prev_next_ptr = curr->next;
@@ -385,32 +391,20 @@
 }
 
 
-/* Do the basic rx_ and rw_ mappings of the two DebugInfos overlap in
-   any way? */
+/* Do the basic mappings of the two DebugInfos overlap in any way? */
 static Bool do_DebugInfos_overlap ( DebugInfo* di1, DebugInfo* di2 )
 {
+   Word i, j;
    vg_assert(di1);
    vg_assert(di2);
-
-   if (di1->fsm.have_rx_map && di2->fsm.have_rx_map
-       && ranges_overlap(di1->fsm.rx_map_avma, di1->fsm.rx_map_size,
-                         di2->fsm.rx_map_avma, di2->fsm.rx_map_size))
-      return True;
-
-   if (di1->fsm.have_rx_map && di2->fsm.have_rw_map
-       && ranges_overlap(di1->fsm.rx_map_avma, di1->fsm.rx_map_size,
-                         di2->fsm.rw_map_avma, di2->fsm.rw_map_size))
-      return True;
-
-   if (di1->fsm.have_rw_map && di2->fsm.have_rx_map
-       && ranges_overlap(di1->fsm.rw_map_avma, di1->fsm.rw_map_size,
-                         di2->fsm.rx_map_avma, di2->fsm.rx_map_size))
-      return True;
-
-   if (di1->fsm.have_rw_map && di2->fsm.have_rw_map
-       && ranges_overlap(di1->fsm.rw_map_avma, di1->fsm.rw_map_size,
-                         di2->fsm.rw_map_avma, di2->fsm.rw_map_size))
-      return True;
+   for (i = 0; i < VG_(sizeXA)(di1->fsm.maps); i++) {
+      struct _DebugInfoMapping* map1 = VG_(indexXA)(di1->fsm.maps, i);
+      for (j = 0; j < VG_(sizeXA)(di2->fsm.maps); j++) {
+         struct _DebugInfoMapping* map2 = VG_(indexXA)(di2->fsm.maps, j);
+         if (ranges_overlap(map1->avma, map1->size, map2->avma, map2->size))
+            return True;
+      }
+   }
 
    return False;
 }
@@ -441,8 +435,7 @@
 
 
 /* Discard any elements of debugInfo_list which overlap with diRef.
-   Clearly diRef must have its rx_ and rw_ mapping information set to
-   something sane. */
+   Clearly diRef must have its mapping information set to something sane. */
 static void discard_DebugInfos_which_overlap_with ( DebugInfo* diRef )
 {
    DebugInfo* di;
@@ -464,7 +457,7 @@
 /* Find the existing DebugInfo for |filename| or if not found, create
    one.  In the latter case |filename| is strdup'd into VG_AR_DINFO,
    and the new DebugInfo is added to debugInfo_list. */
-static DebugInfo* find_or_create_DebugInfo_for ( UChar* filename )
+static DebugInfo* find_or_create_DebugInfo_for ( HChar* filename )
 {
    DebugInfo* di;
    vg_assert(filename);
@@ -490,41 +483,67 @@
 static void check_CFSI_related_invariants ( DebugInfo* di )
 {
    DebugInfo* di2 = NULL;
+   Bool has_nonempty_rx = False;
+   Bool cfsi_fits = False;
+   Word i, j;
    vg_assert(di);
    /* This fn isn't called until after debuginfo for this object has
       been successfully read.  And that shouldn't happen until we have
       both a r-x and rw- mapping for the object.  Hence: */
    vg_assert(di->fsm.have_rx_map);
    vg_assert(di->fsm.have_rw_map);
-   /* degenerate case: r-x section is empty */
-   if (di->fsm.rx_map_size == 0) {
+   for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+      struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, i);
+      /* We are interested in r-x mappings only */
+      if (!map->rx)
+         continue;
+
+      /* degenerate case: r-x section is empty */
+      if (map->size == 0)
+         continue;
+      has_nonempty_rx = True;
+        
+      /* normal case: r-x section is nonempty */
+      /* invariant (0) */
+      vg_assert(map->size > 0);
+
+      /* invariant (1) */
+      for (di2 = debugInfo_list; di2; di2 = di2->next) {
+         if (di2 == di)
+            continue;
+         for (j = 0; j < VG_(sizeXA)(di2->fsm.maps); j++) {
+            struct _DebugInfoMapping* map2 = VG_(indexXA)(di2->fsm.maps, j);
+            if (!map2->rx || map2->size == 0)
+               continue;
+            vg_assert(!ranges_overlap(map->avma,  map->size,
+                                      map2->avma, map2->size));
+         }
+      }
+      di2 = NULL;
+
+      /* invariant (2) */
+      if (di->cfsi) {
+         vg_assert(di->cfsi_minavma <= di->cfsi_maxavma); /* duh! */
+         /* Assume the csfi fits completely into one individual mapping
+            for now. This might need to be improved/reworked later. */
+         if (di->cfsi_minavma >= map->avma &&
+             di->cfsi_maxavma <  map->avma + map->size)
+            cfsi_fits = True;
+      }
+   }
+
+   /* degenerate case: all r-x sections are empty */
+   if (!has_nonempty_rx) {
       vg_assert(di->cfsi == NULL);
       return;
    }
-   /* normal case: r-x section is nonempty */
-   /* invariant (0) */
-   vg_assert(di->fsm.rx_map_size > 0);
-   /* invariant (1) */
-   for (di2 = debugInfo_list; di2; di2 = di2->next) {
-      if (di2 == di)
-         continue;
-      if (di2->fsm.rx_map_size == 0)
-         continue;
-      vg_assert(
-         di->fsm.rx_map_avma + di->fsm.rx_map_size <= di2->fsm.rx_map_avma
-         || di2->fsm.rx_map_avma + di2->fsm.rx_map_size <= di->fsm.rx_map_avma
-      );
-   }
-   di2 = NULL;
-   /* invariant (2) */
-   if (di->cfsi) {
-      vg_assert(di->cfsi_minavma <= di->cfsi_maxavma); /* duh! */
-      vg_assert(di->cfsi_minavma >= di->fsm.rx_map_avma);
-      vg_assert(di->cfsi_maxavma < di->fsm.rx_map_avma + di->fsm.rx_map_size);
-   }
+
+   /* invariant (2) - cont. */
+   if (di->cfsi)
+      vg_assert(cfsi_fits);
+
    /* invariants (3) and (4) */
    if (di->cfsi) {
-      Word i;
       vg_assert(di->cfsi_used > 0);
       vg_assert(di->cfsi_size > 0);
       for (i = 0; i < di->cfsi_used; i++) {
@@ -601,9 +620,9 @@
    TRACE_SYMTAB("\n");
 
    /* We're going to read symbols and debug info for the avma
-      ranges [rx_map_avma, +rx_map_size) and [rw_map_avma,
-      +rw_map_size).  First get rid of any other DebugInfos which
-      overlap either of those ranges (to avoid total confusion). */
+      ranges specified in the _DebugInfoFsm mapping array. First
+      get rid of any other DebugInfos which overlap any of those
+      ranges (to avoid total confusion). */
    discard_DebugInfos_which_overlap_with( di );
 
    /* .. and acquire new info. */
@@ -708,10 +727,19 @@
       return 0;
 
    /* If the file doesn't have a name, we're hosed.  Give up. */
-   filename = VG_(am_get_filename)( (NSegment*)seg );
+   filename = VG_(am_get_filename)( seg );
    if (!filename)
       return 0;
 
+   /*
+    * Cannot read from these magic files:
+    * --20208-- WARNING: Serious error when reading debug info
+    * --20208-- When reading debug info from /proc/xen/privcmd:
+    * --20208-- can't read file to inspect ELF header
+    */
+   if (VG_(strncmp)(filename, "/proc/xen/", 10) == 0)
+      return 0;
+
    if (debug)
       VG_(printf)("di_notify_mmap-2: %s\n", filename);
 
@@ -792,7 +820,8 @@
    is_rw_map = False;
    is_ro_map = False;
 
-#  if defined(VGA_x86) || defined(VGA_ppc32)
+#  if defined(VGA_x86) || defined(VGA_ppc32) || defined(VGA_mips32) \
+      || defined(VGA_mips64)
    is_rx_map = seg->hasR && seg->hasX;
    is_rw_map = seg->hasR && seg->hasW;
 #  elif defined(VGA_amd64) || defined(VGA_ppc64) || defined(VGA_arm)
@@ -860,7 +889,7 @@
 
    /* We're only interested in mappings of object files. */
 #  if defined(VGO_linux)
-   if (!ML_(is_elf_object_file)( buf1k, (SizeT)sr_Res(preadres) ))
+   if (!ML_(is_elf_object_file)( buf1k, (SizeT)sr_Res(preadres), False ))
       return 0;
 #  elif defined(VGO_darwin)
    if (!ML_(is_macho_object_file)( buf1k, (SizeT)sr_Res(preadres) ))
@@ -874,41 +903,20 @@
    di = find_or_create_DebugInfo_for( filename );
    vg_assert(di);
 
-   if (is_rx_map) {
-      /* We have a text-like mapping.  Note the details. */
-      if (!di->fsm.have_rx_map) {
-         di->fsm.have_rx_map = True;
-         di->fsm.rx_map_avma = a;
-         di->fsm.rx_map_size = seg->end + 1 - seg->start;
-         di->fsm.rx_map_foff = seg->offset;
-      } else {
-         /* FIXME: complain about a second text-like mapping */
-      }
-   }
+   /* Note the details about the mapping. */
+   struct _DebugInfoMapping map;
+   map.avma = a;
+   map.size = seg->end + 1 - seg->start;
+   map.foff = seg->offset;
+   map.rx   = is_rx_map;
+   map.rw   = is_rw_map;
+   map.ro   = is_ro_map;
+   VG_(addToXA)(di->fsm.maps, &map);
 
-   if (is_rw_map) {
-      /* We have a data-like mapping.  Note the details. */
-      if (!di->fsm.have_rw_map) {
-         di->fsm.have_rw_map = True;
-         di->fsm.rw_map_avma = a;
-         di->fsm.rw_map_size = seg->end + 1 - seg->start;
-         di->fsm.rw_map_foff = seg->offset;
-      } else {
-         /* FIXME: complain about a second data-like mapping */
-      }
-   }
-
-   if (is_ro_map) {
-      /* We have a r-- mapping.  Note the details (OSX 10.7, 32-bit only) */
-      if (!di->fsm.have_ro_map) {
-         di->fsm.have_ro_map = True;
-         di->fsm.ro_map_avma = a;
-         di->fsm.ro_map_size = seg->end + 1 - seg->start;
-         di->fsm.ro_map_foff = seg->offset;
-      } else {
-         /* FIXME: complain about a second r-- mapping */
-      }
-   }
+   /* Update flags about what kind of mappings we've already seen. */
+   di->fsm.have_rx_map |= is_rx_map;
+   di->fsm.have_rw_map |= is_rw_map;
+   di->fsm.have_ro_map |= is_ro_map;
 
    /* So, finally, are we in an accept state? */
    if (di->fsm.have_rx_map && di->fsm.have_rw_map && !di->have_dinfo) {
@@ -960,7 +968,7 @@
 void VG_(di_notify_vm_protect)( Addr a, SizeT len, UInt prot )
 {
    Bool do_nothing = True;
-#  if defined(VGP_x86_darwin) && DARWIN_VERS == DARWIN_10_7
+#  if defined(VGP_x86_darwin) && (DARWIN_VERS == DARWIN_10_7 || DARWIN_VERS == DARWIN_10_8)
    do_nothing = False;
 #  endif
    if (do_nothing /* wrong platform */)
@@ -977,6 +985,8 @@
       is found, conclude we're in an accept state and read debuginfo
       accordingly. */
    DebugInfo* di;
+   struct _DebugInfoMapping *map = NULL;
+   Word i;
    for (di = debugInfo_list; di; di = di->next) {
       vg_assert(di->fsm.filename);
       if (di->have_dinfo)
@@ -987,36 +997,45 @@
          continue; /* rx- mapping already exists */
       if (!di->fsm.have_rw_map)
          continue; /* need to have a rw- mapping */
-      if (di->fsm.ro_map_avma != a || di->fsm.ro_map_size != len)
-         continue; /* this isn't an upgrade of the r-- mapping */
+      /* Try to find a mapping matching the memory area. */
+      for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+         map = (struct _DebugInfoMapping*)VG_(indexXA)(di->fsm.maps, i);
+         if (map->ro && map->avma == a && map->size == len)
+            break;
+         map = NULL;
+      }
+      if (!map)
+         continue; /* this isn't an upgrade of an r-- mapping */
       /* looks like we're in luck! */
       break;
    }
    if (di == NULL)
       return; /* didn't find anything */
 
-   /* Do the upgrade.  Copy the RO map info into the RX map info and
-      pretend we never saw the RO map at all. */
-   vg_assert(di->fsm.have_rw_map);
+   /* Do the upgrade.  Simply update the flags of the mapping
+      and pretend we never saw the RO map at all. */
    vg_assert(di->fsm.have_ro_map);
-   vg_assert(!di->fsm.have_rx_map);
-
+   map->rx = True;
+   map->ro = False;
    di->fsm.have_rx_map = True;
-   di->fsm.rx_map_avma = di->fsm.ro_map_avma;
-   di->fsm.rx_map_size = di->fsm.ro_map_size;
-   di->fsm.rx_map_foff = di->fsm.ro_map_foff;
-
    di->fsm.have_ro_map = False;
-   di->fsm.ro_map_avma = 0;
-   di->fsm.ro_map_size = 0;
-   di->fsm.ro_map_foff = 0;
+   /* See if there are any more ro mappings */
+   for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+      map = (struct _DebugInfoMapping*)VG_(indexXA)(di->fsm.maps, i);
+      if (map->ro) {
+         di->fsm.have_ro_map = True;
+         break;
+      }
+   }
 
-   /* And since we're now in an accept state, read debuginfo.  Finally. */
-   ULong di_handle __attribute__((unused))
-      = di_notify_ACHIEVE_ACCEPT_STATE( di );
-   /* di_handle is ignored. That's not a problem per se -- it just
-      means nobody will ever be able to refer to this debuginfo by
-      handle since nobody will know what the handle value is. */
+   /* Check if we're now in an accept state and read debuginfo.  Finally. */
+   if (di->fsm.have_rx_map && di->fsm.have_rw_map && !di->have_dinfo) {
+      ULong di_handle __attribute__((unused))
+         = di_notify_ACHIEVE_ACCEPT_STATE( di );
+      /* di_handle is ignored. That's not a problem per se -- it just
+         means nobody will ever be able to refer to this debuginfo by
+         handle since nobody will know what the handle value is. */
+   }
 }
 
 
@@ -1024,14 +1043,13 @@
 
 /* this should really return ULong, as per VG_(di_notify_mmap). */
 void VG_(di_notify_pdb_debuginfo)( Int fd_obj, Addr avma_obj,
-                                   SizeT total_size,
-                                   PtrdiffT unknown_purpose__reloc )
+                                   SizeT total_size, PtrdiffT bias_obj )
 {
    Int    i, r, sz_exename;
    ULong  obj_mtime, pdb_mtime;
-   Char   exename[VKI_PATH_MAX];
-   Char*  pdbname = NULL;
-   Char*  dot;
+   HChar  exename[VKI_PATH_MAX];
+   HChar* pdbname = NULL;
+   HChar* dot;
    SysRes sres;
    Int    fd_pdbimage;
    SizeT  n_pdbimage;
@@ -1041,8 +1059,8 @@
       VG_(message)(Vg_UserMsg, "\n");
       VG_(message)(Vg_UserMsg,
          "LOAD_PDB_DEBUGINFO: clreq:   fd=%d, avma=%#lx, total_size=%lu, "
-         "uu_reloc=%#lx\n", 
-         fd_obj, avma_obj, total_size, unknown_purpose__reloc
+         "bias=%#lx\n", 
+         fd_obj, avma_obj, total_size, bias_obj
       );
    }
 
@@ -1232,7 +1250,7 @@
 
      /* don't set up any of the di-> fields; let
         ML_(read_pdb_debug_info) do it. */
-     ML_(read_pdb_debug_info)( di, avma_obj, unknown_purpose__reloc,
+     ML_(read_pdb_debug_info)( di, avma_obj, bias_obj,
                                pdbimage, n_pdbimage, pdbname, pdb_mtime );
      // JRS fixme: take notice of return value from read_pdb_debug_info,
      // and handle failure
@@ -1273,6 +1291,31 @@
 }
 
 
+struct _DebugInfoMapping* ML_(find_rx_mapping) ( struct _DebugInfo* di,
+                                                 Addr lo, Addr hi )
+{
+   Word i;
+   vg_assert(lo <= hi); 
+
+   /* Optimization: Try to use the last matched rx mapping first */
+   if (   di->last_rx_map
+       && lo >= di->last_rx_map->avma
+       && hi <  di->last_rx_map->avma + di->last_rx_map->size)
+      return di->last_rx_map;
+
+   for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+      struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, i);
+      if (   map->rx && map->size > 0
+          && lo >= map->avma && hi < map->avma + map->size) {
+         di->last_rx_map = map;
+         return map;
+      }
+   }
+
+   return NULL;
+}
+
+
 /*------------------------------------------------------------*/
 /*--- Use of symbol table & location info to create        ---*/
 /*--- plausible-looking stack dumps.                       ---*/
@@ -1300,9 +1343,7 @@
             See Comment_Regarding_Text_Range_Checks in storage.c for
             details. */
          inRange = di->fsm.have_rx_map
-                   && di->fsm.rx_map_size > 0
-                   && di->fsm.rx_map_avma <= ptr
-                   && ptr < di->fsm.rx_map_avma + di->fsm.rx_map_size;
+                   && (ML_(find_rx_mapping)(di, ptr, ptr) != NULL);
       } else {
          inRange = (di->data_present
                     && di->data_size > 0
@@ -1380,7 +1421,7 @@
 static
 Bool get_sym_name ( Bool do_cxx_demangling, Bool do_z_demangling,
                     Bool do_below_main_renaming,
-                    Addr a, Char* buf, Int nbuf,
+                    Addr a, HChar* buf, Int nbuf,
                     Bool match_anywhere_in_sym, Bool show_offset,
                     Bool findText, /*OUT*/PtrdiffT* offsetP )
 {
@@ -1410,9 +1451,9 @@
    if (offsetP) *offsetP = offset;
 
    if (show_offset && offset != 0) {
-      Char     buf2[12];
-      Char*    symend = buf + VG_(strlen)(buf);
-      Char*    end = buf + nbuf;
+      HChar    buf2[12];
+      HChar*   symend = buf + VG_(strlen)(buf);
+      HChar*   end = buf + nbuf;
       Int      len;
 
       len = VG_(sprintf)(buf2, "%c%ld",
@@ -1421,7 +1462,7 @@
       vg_assert(len < (Int)sizeof(buf2));
 
       if (len < (end - symend)) {
-	 Char *cp = buf2;
+	 HChar *cp = buf2;
 	 VG_(memcpy)(symend, cp, len+1);
       }
    }
@@ -1450,7 +1491,7 @@
 
 /* This is available to tools... always demangle C++ names,
    match anywhere in function, but don't show offsets. */
-Bool VG_(get_fnname) ( Addr a, Char* buf, Int nbuf )
+Bool VG_(get_fnname) ( Addr a, HChar* buf, Int nbuf )
 {
    return get_sym_name ( /*C++-demangle*/True, /*Z-demangle*/True,
                          /*below-main-renaming*/True,
@@ -1463,7 +1504,7 @@
 
 /* This is available to tools... always demangle C++ names,
    match anywhere in function, and show offset if nonzero. */
-Bool VG_(get_fnname_w_offset) ( Addr a, Char* buf, Int nbuf )
+Bool VG_(get_fnname_w_offset) ( Addr a, HChar* buf, Int nbuf )
 {
    return get_sym_name ( /*C++-demangle*/True, /*Z-demangle*/True,
                          /*below-main-renaming*/True,
@@ -1477,7 +1518,7 @@
 /* This is available to tools... always demangle C++ names,
    only succeed if 'a' matches first instruction of function,
    and don't show offsets. */
-Bool VG_(get_fnname_if_entry) ( Addr a, Char* buf, Int nbuf )
+Bool VG_(get_fnname_if_entry) ( Addr a, HChar* buf, Int nbuf )
 {
    return get_sym_name ( /*C++-demangle*/True, /*Z-demangle*/True,
                          /*below-main-renaming*/True,
@@ -1491,7 +1532,7 @@
 /* This is only available to core... don't C++-demangle, don't Z-demangle,
    don't rename below-main, match anywhere in function, and don't show
    offsets. */
-Bool VG_(get_fnname_raw) ( Addr a, Char* buf, Int nbuf )
+Bool VG_(get_fnname_raw) ( Addr a, HChar* buf, Int nbuf )
 {
    return get_sym_name ( /*C++-demangle*/False, /*Z-demangle*/False,
                          /*below-main-renaming*/False,
@@ -1505,7 +1546,7 @@
 /* This is only available to core... don't demangle C++ names, but do
    do Z-demangling and below-main-renaming, match anywhere in function, and
    don't show offsets. */
-Bool VG_(get_fnname_no_cxx_demangle) ( Addr a, Char* buf, Int nbuf )
+Bool VG_(get_fnname_no_cxx_demangle) ( Addr a, HChar* buf, Int nbuf )
 {
    return get_sym_name ( /*C++-demangle*/False, /*Z-demangle*/True,
                          /*below-main-renaming*/True,
@@ -1516,7 +1557,23 @@
                          /*offsetP*/NULL );
 }
 
-Vg_FnNameKind VG_(get_fnname_kind) ( Char* name )
+/* mips-linux only: find the offset of current address. This is needed for 
+   stack unwinding for MIPS.
+*/
+Bool VG_(get_inst_offset_in_function)( Addr a,
+                                       /*OUT*/PtrdiffT* offset )
+{
+   HChar fnname[64];
+   return get_sym_name ( /*C++-demangle*/False, /*Z-demangle*/False,
+                         /*below-main-renaming*/False,
+                         a, fnname, 64,
+                         /*match_anywhere_in_sym*/True, 
+                         /*show offset?*/True,
+                         /*data syms only please*/True,
+                         offset );
+}
+
+Vg_FnNameKind VG_(get_fnname_kind) ( HChar* name )
 {
    if (VG_STREQ("main", name)) {
       return Vg_FnNameMain;
@@ -1543,7 +1600,7 @@
 {
    // We don't need a big buffer;  all the special names are small.
    #define BUFLEN 50
-   Char buf[50];
+   HChar buf[50];
 
    // We don't demangle, because it's faster not to, and the special names
    // we're looking for won't be demangled.
@@ -1560,7 +1617,7 @@
    which is guaranteed to be zero terminated.  Also data_addr's offset
    from the symbol start is put into *offset. */
 Bool VG_(get_datasym_and_offset)( Addr data_addr,
-                                  /*OUT*/Char* dname, Int n_dname,
+                                  /*OUT*/HChar* dname, Int n_dname,
                                   /*OUT*/PtrdiffT* offset )
 {
    Bool ok;
@@ -1581,7 +1638,7 @@
 /* Map a code address to the name of a shared object file or the
    executable.  Returns False if no idea; otherwise True.  Doesn't
    require debug info.  Caller supplies buf and nbuf. */
-Bool VG_(get_objname) ( Addr a, Char* buf, Int nbuf )
+Bool VG_(get_objname) ( Addr a, HChar* buf, Int nbuf )
 {
    DebugInfo* di;
    const NSegment *seg;
@@ -1633,7 +1690,7 @@
 }
 
 /* Map a code address to a filename.  Returns True if successful.  */
-Bool VG_(get_filename)( Addr a, Char* filename, Int n_filename )
+Bool VG_(get_filename)( Addr a, HChar* filename, Int n_filename )
 {
    DebugInfo* si;
    Word       locno;
@@ -1661,8 +1718,8 @@
    See prototype for detailed description of behaviour.
 */
 Bool VG_(get_filename_linenum) ( Addr a, 
-                                 /*OUT*/Char* filename, Int n_filename,
-                                 /*OUT*/Char* dirname,  Int n_dirname,
+                                 /*OUT*/HChar* filename, Int n_filename,
+                                 /*OUT*/HChar* dirname,  Int n_dirname,
                                  /*OUT*/Bool* dirname_available,
                                  /*OUT*/UInt* lineno )
 {
@@ -1711,7 +1768,7 @@
    Therefore specify "*" to search all the objects.  On TOC-afflicted
    platforms, a symbol is deemed to be found only if it has a nonzero
    TOC pointer.  */
-Bool VG_(lookup_symbol_SLOW)(UChar* sopatt, UChar* name, 
+Bool VG_(lookup_symbol_SLOW)(const HChar* sopatt, HChar* name, 
                              Addr* pEnt, Addr* pToc)
 {
    Bool     require_pToc = False;
@@ -1730,7 +1787,7 @@
          continue;
       }
       for (i = 0; i < si->symtab_used; i++) {
-         UChar* pri_name = si->symtab[i].pri_name;
+         HChar* pri_name = si->symtab[i].pri_name;
          tl_assert(pri_name);
          if (0==VG_(strcmp)(name, pri_name)
              && (require_pToc ? si->symtab[i].tocptr : True)) {
@@ -1738,7 +1795,7 @@
             *pToc = si->symtab[i].tocptr;
             return True;
          }
-         UChar** sec_names = si->symtab[i].sec_names;
+         HChar** sec_names = si->symtab[i].sec_names;
          if (sec_names) {
             tl_assert(sec_names[0]);
             while (*sec_names) {
@@ -1763,7 +1820,7 @@
 /* Copy str into buf starting at n, but not going past buf[n_buf-1]
    and always ensuring that buf is zero-terminated. */
 
-static Int putStr ( Int n, Int n_buf, Char* buf, Char* str ) 
+static Int putStr ( Int n, Int n_buf, HChar* buf, const HChar* str ) 
 {
    vg_assert(n_buf > 0);
    vg_assert(n >= 0 && n < n_buf);
@@ -1777,9 +1834,9 @@
 /* Same as putStr, but escaping chars for XML output, and
    also not adding more than count chars to n_buf. */
 
-static Int putStrEsc ( Int n, Int n_buf, Int count, Char* buf, Char* str ) 
+static Int putStrEsc ( Int n, Int n_buf, Int count, HChar* buf, HChar* str ) 
 {
-   Char alt[2];
+   HChar alt[2];
    vg_assert(n_buf > 0);
    vg_assert(count >= 0 && count < n_buf);
    vg_assert(n >= 0 && n < n_buf);
@@ -1818,7 +1875,7 @@
    return n;
 }
 
-Char* VG_(describe_IP)(Addr eip, Char* buf, Int n_buf)
+HChar* VG_(describe_IP)(Addr eip, HChar* buf, Int n_buf)
 {
 #  define APPEND(_str) \
       n = putStr(n, n_buf, buf, _str)
@@ -1827,13 +1884,13 @@
 #  define BUF_LEN    4096
 
    UInt  lineno; 
-   UChar ibuf[50];
+   HChar ibuf[50];
    Int   n = 0;
 
-   static UChar buf_fn[BUF_LEN];
-   static UChar buf_obj[BUF_LEN];
-   static UChar buf_srcloc[BUF_LEN];
-   static UChar buf_dirname[BUF_LEN];
+   static HChar buf_fn[BUF_LEN];
+   static HChar buf_obj[BUF_LEN];
+   static HChar buf_srcloc[BUF_LEN];
+   static HChar buf_dirname[BUF_LEN];
    buf_fn[0] = buf_obj[0] = buf_srcloc[0] = buf_dirname[0] = 0;
 
    Bool  know_dirinfo = False;
@@ -1855,8 +1912,8 @@
    if (VG_(clo_xml)) {
 
       Bool   human_readable = True;
-      HChar* maybe_newline  = human_readable ? "\n      " : "";
-      HChar* maybe_newline2 = human_readable ? "\n    "   : "";
+      const HChar* maybe_newline  = human_readable ? "\n      " : "";
+      const HChar* maybe_newline2 = human_readable ? "\n    "   : "";
 
       /* Print in XML format, dumping in as much info as we know.
          Ensure all tags are balanced even if the individual strings
@@ -1923,7 +1980,7 @@
       if (know_srcloc) {
          APPEND(" (");
          // Get the directory name, if any, possibly pruned, into dirname.
-         UChar* dirname = NULL;
+         HChar* dirname = NULL;
          if (VG_(clo_n_fullpath_after) > 0) {
             Int i;
             dirname = buf_dirname;
@@ -1931,8 +1988,8 @@
             // If user supplied --fullpath-after=foo, this will remove 
             // a leading string which matches '.*foo' (not greedy).
             for (i = 0; i < VG_(clo_n_fullpath_after); i++) {
-               UChar* prefix = VG_(clo_fullpath_after)[i];
-               UChar* str    = VG_(strstr)(dirname, prefix);
+               const HChar* prefix = VG_(clo_fullpath_after)[i];
+               HChar* str    = VG_(strstr)(dirname, prefix);
                if (str) {
                   dirname = str + VG_(strlen)(prefix);
                   break;
@@ -1997,30 +2054,40 @@
 UWord evalCfiExpr ( XArray* exprs, Int ix, 
                     CfiExprEvalContext* eec, Bool* ok )
 {
-   UWord wL, wR;
+   UWord w, wL, wR;
    Addr  a;
    CfiExpr* e;
    vg_assert(sizeof(Addr) == sizeof(UWord));
    e = VG_(indexXA)( exprs, ix );
    switch (e->tag) {
+      case Cex_Unop:
+         w = evalCfiExpr( exprs, e->Cex.Unop.ix, eec, ok );
+         if (!(*ok)) return 0;
+         switch (e->Cex.Unop.op) {
+            case Cunop_Abs: return (Word) w < 0 ? - w : w;
+            case Cunop_Neg: return - (Word) w;
+            case Cunop_Not: return ~ w;
+            default: goto unhandled;
+         }
+         /*NOTREACHED*/
       case Cex_Binop:
          wL = evalCfiExpr( exprs, e->Cex.Binop.ixL, eec, ok );
          if (!(*ok)) return 0;
          wR = evalCfiExpr( exprs, e->Cex.Binop.ixR, eec, ok );
          if (!(*ok)) return 0;
          switch (e->Cex.Binop.op) {
-            case Cop_Add: return wL + wR;
-            case Cop_Sub: return wL - wR;
-            case Cop_And: return wL & wR;
-            case Cop_Mul: return wL * wR;
-            case Cop_Shl: return wL << wR;
-            case Cop_Shr: return wL >> wR;
-            case Cop_Eq: return wL == wR ? 1 : 0;
-            case Cop_Ge: return (Word) wL >= (Word) wR ? 1 : 0;
-            case Cop_Gt: return (Word) wL > (Word) wR ? 1 : 0;
-            case Cop_Le: return (Word) wL <= (Word) wR ? 1 : 0;
-            case Cop_Lt: return (Word) wL < (Word) wR ? 1 : 0;
-            case Cop_Ne: return wL != wR ? 1 : 0;
+            case Cbinop_Add: return wL + wR;
+            case Cbinop_Sub: return wL - wR;
+            case Cbinop_And: return wL & wR;
+            case Cbinop_Mul: return wL * wR;
+            case Cbinop_Shl: return wL << wR;
+            case Cbinop_Shr: return wL >> wR;
+            case Cbinop_Eq: return wL == wR ? 1 : 0;
+            case Cbinop_Ge: return (Word) wL >= (Word) wR ? 1 : 0;
+            case Cbinop_Gt: return (Word) wL > (Word) wR ? 1 : 0;
+            case Cbinop_Le: return (Word) wL <= (Word) wR ? 1 : 0;
+            case Cbinop_Lt: return (Word) wL < (Word) wR ? 1 : 0;
+            case Cbinop_Ne: return wL != wR ? 1 : 0;
             default: goto unhandled;
          }
          /*NOTREACHED*/
@@ -2040,6 +2107,11 @@
             case Creg_IA_SP: return eec->uregs->sp;
             case Creg_IA_BP: return eec->uregs->fp;
             case Creg_S390_R14: return eec->uregs->lr;
+#           elif defined(VGA_mips32) || defined(VGA_mips64)
+            case Creg_IA_IP: return eec->uregs->pc;
+            case Creg_IA_SP: return eec->uregs->sp;
+            case Creg_IA_BP: return eec->uregs->fp;
+            case Creg_MIPS_RA: return eec->uregs->ra;
 #           elif defined(VGA_ppc32) || defined(VGA_ppc64)
 #           else
 #             error "Unsupported arch"
@@ -2176,7 +2248,8 @@
    records are added all at once, when the debuginfo for an object is
    read, and is not changed ever thereafter. */
 
-#define N_CFSI_CACHE 511
+// Prime number, giving about 3K cache on 32 bits, 6K cache on 64 bits.
+#define N_CFSI_CACHE 509
 
 typedef
    struct { Addr ip; DebugInfo* di; Word ix; }
@@ -2186,8 +2259,13 @@
 
 static void cfsi_cache__invalidate ( void ) {
    VG_(memset)(&cfsi_cache, 0, sizeof(cfsi_cache));
+   CF_info_generation++;
 }
 
+UInt VG_(CF_info_generation) (void)
+{
+   return CF_info_generation;
+}
 
 static inline CFSICacheEnt* cfsi_cache__find ( Addr ip )
 {
@@ -2268,6 +2346,16 @@
       case CFIC_IA_BPREL:
          cfa = cfsi->cfa_off + uregs->fp;
          break;
+#     elif defined(VGA_mips32) || defined(VGA_mips64)
+      case CFIC_IA_SPREL:
+         cfa = cfsi->cfa_off + uregs->sp;
+         break;
+      case CFIR_SAME:
+         cfa = uregs->fp;
+         break;
+      case CFIC_IA_BPREL:
+         cfa = cfsi->cfa_off + uregs->fp;
+         break;
 #     elif defined(VGA_ppc32) || defined(VGA_ppc64)
 #     else
 #       error "Unsupported arch"
@@ -2362,6 +2450,8 @@
    ipHere = uregsHere->r15;
 #  elif defined(VGA_s390x)
    ipHere = uregsHere->ia;
+#  elif defined(VGA_mips32) || defined(VGA_mips64)
+   ipHere = uregsHere->pc;
 #  elif defined(VGA_ppc32) || defined(VGA_ppc64)
 #  else
 #    error "Unknown arch"
@@ -2438,6 +2528,10 @@
    COMPUTE(uregsPrev.ia, uregsHere->ia, cfsi->ra_how, cfsi->ra_off);
    COMPUTE(uregsPrev.sp, uregsHere->sp, cfsi->sp_how, cfsi->sp_off);
    COMPUTE(uregsPrev.fp, uregsHere->fp, cfsi->fp_how, cfsi->fp_off);
+#  elif defined(VGA_mips32) || defined(VGA_mips64)
+   COMPUTE(uregsPrev.pc, uregsHere->pc, cfsi->ra_how, cfsi->ra_off);
+   COMPUTE(uregsPrev.sp, uregsHere->sp, cfsi->sp_how, cfsi->sp_off);
+   COMPUTE(uregsPrev.fp, uregsHere->fp, cfsi->fp_how, cfsi->fp_off);
 #  elif defined(VGA_ppc32) || defined(VGA_ppc64)
 #  else
 #    error "Unknown arch"
@@ -2682,10 +2776,10 @@
 {
    Bool   have_descr, have_srcloc;
    Bool   xml       = VG_(clo_xml);
-   UChar* vo_plural = var_offset == 1 ? "" : "s";
-   UChar* ro_plural = residual_offset == 1 ? "" : "s";
-   UChar* basetag   = "auxwhat"; /* a constant */
-   UChar tagL[32], tagR[32], xagL[32], xagR[32];
+   const HChar* vo_plural = var_offset == 1 ? "" : "s";
+   const HChar* ro_plural = residual_offset == 1 ? "" : "s";
+   const HChar* basetag   = "auxwhat"; /* a constant */
+   HChar tagL[32], tagR[32], xagL[32], xagR[32];
 
    if (frameNo < -1) {
       vg_assert(0); /* Not allowed */
@@ -3086,7 +3180,7 @@
 }
 
 /* Try to form some description of DATA_ADDR by looking at the DWARF3
-   debug info we have.  This considers all global variables, and all
+   debug info we have.  This considers all global variables, and 8
    frames in the stacks of all threads.  Result is written at the ends
    of DNAME{1,2}V, which are XArray*s of HChar, that have been
    initialised by the caller, and True is returned.  If no description
@@ -3197,28 +3291,6 @@
       in the stacks of all the threads.  First try to figure out which
       thread's stack data_addr is in. */
 
-   /* --- KLUDGE --- Try examining the top frame of all thread stacks.
-      This finds variables which are not stack allocated but are not
-      globally visible either; specifically it appears to pick up
-      variables which are visible only within a compilation unit.
-      These will have the address range of the compilation unit and
-      tend to live at Scope level 1. */
-   VG_(thread_stack_reset_iter)(&tid);
-   while ( VG_(thread_stack_next)(&tid, &stack_min, &stack_max) ) {
-      if (stack_min >= stack_max)
-         continue; /* ignore obviously stupid cases */
-      if (consider_vars_in_frame( dname1, dname2,
-                                  data_addr,
-                                  VG_(get_IP)(tid),
-                                  VG_(get_SP)(tid), 
-                                  VG_(get_FP)(tid), tid, 0 )) {
-         zterm_XA( dname1 );
-         zterm_XA( dname2 );
-         return True;
-      }
-   }
-   /* --- end KLUDGE --- */
-
    /* Perhaps it's on a thread's stack? */
    found = False;
    VG_(thread_stack_reset_iter)(&tid);
@@ -3243,9 +3315,6 @@
    n_frames = VG_(get_StackTrace)( tid, ips, N_FRAMES,
                                    sps, fps, 0/*first_ip_delta*/ );
 
-   /* As a result of KLUDGE above, starting the loop at j = 0
-      duplicates examination of the top frame and so isn't necessary.
-      Oh well. */
    vg_assert(n_frames >= 0 && n_frames <= N_FRAMES);
    for (j = 0; j < n_frames; j++) {
       if (consider_vars_in_frame( dname1, dname2,
@@ -3722,12 +3791,22 @@
    return di->gotplt_present ? di->gotplt_size : 0; 
 }
 
-const UChar* VG_(DebugInfo_get_soname)(const DebugInfo* di)
+Addr VG_(DebugInfo_get_got_avma)(const DebugInfo* di)
+{
+   return di->got_present ? di->got_avma : 0; 
+}
+
+SizeT VG_(DebugInfo_get_got_size)(const DebugInfo* di)
+{
+   return di->got_present ? di->got_size : 0; 
+}
+
+const HChar* VG_(DebugInfo_get_soname)(const DebugInfo* di)
 {
    return di->soname;
 }
 
-const UChar* VG_(DebugInfo_get_filename)(const DebugInfo* di)
+const HChar* VG_(DebugInfo_get_filename)(const DebugInfo* di)
 {
    return di->fsm.filename;
 }
@@ -3747,8 +3826,8 @@
                                   /*OUT*/Addr*    avma,
                                   /*OUT*/Addr*    tocptr,
                                   /*OUT*/UInt*    size,
-                                  /*OUT*/UChar**  pri_name,
-                                  /*OUT*/UChar*** sec_names,
+                                  /*OUT*/HChar**  pri_name,
+                                  /*OUT*/HChar*** sec_names,
                                   /*OUT*/Bool*    isText,
                                   /*OUT*/Bool*    isIFunc )
 {
@@ -3757,7 +3836,7 @@
    if (tocptr)    *tocptr    = si->symtab[idx].tocptr;
    if (size)      *size      = si->symtab[idx].size;
    if (pri_name)  *pri_name  = si->symtab[idx].pri_name;
-   if (sec_names) *sec_names = si->symtab[idx].sec_names;
+   if (sec_names) *sec_names = (HChar **)si->symtab[idx].sec_names; // FIXME
    if (isText)    *isText    = si->symtab[idx].isText;
    if (isIFunc)   *isIFunc   = si->symtab[idx].isIFunc;
 }
@@ -3789,7 +3868,7 @@
    characters of the object's name is put in name[0 .. n_name-2], and
    name[n_name-1] is set to zero (guaranteed zero terminated). */
 
-VgSectKind VG_(DebugInfo_sect_kind)( /*OUT*/UChar* name, SizeT n_name, 
+VgSectKind VG_(DebugInfo_sect_kind)( /*OUT*/HChar* name, SizeT n_name, 
                                      Addr a)
 {
    DebugInfo* di;
diff --git a/coregrind/m_debuginfo/image.c b/coregrind/m_debuginfo/image.c
new file mode 100644
index 0000000..8bb3779
--- /dev/null
+++ b/coregrind/m_debuginfo/image.c
@@ -0,0 +1,1045 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+/*--------------------------------------------------------------------*/
+/*--- An abstraction that provides a file-reading mechanism.       ---*/
+/*---                                                      image.c ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2013-2013 Mozilla Foundation
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+/* Contributed by Julian Seward <jseward@acm.org> */
+
+/* See the corresponding auxprogs/valgrind-di-server.c for a list of
+   cleanups for this file and itself. */
+
+#include "pub_core_basics.h"
+#include "pub_core_vki.h"
+#include "pub_core_libcbase.h"
+#include "pub_core_libcassert.h"
+#include "pub_core_libcprint.h"
+#include "pub_core_libcfile.h"
+#include "priv_misc.h"             /* dinfo_zalloc/free/strdup */
+#include "priv_image.h"            /* self */
+
+#include "pub_tool_libcproc.h" // RMME
+#include "minilzo.h"
+
+#define CACHE_ENTRY_SIZE_BITS (12+1)
+#define CACHE_N_ENTRIES       32
+
+#define CACHE_ENTRY_SIZE      (1 << CACHE_ENTRY_SIZE_BITS)
+
+/* An entry in the cache. */
+typedef
+   struct {
+      DiOffT off; // file offset for data[0]
+      SizeT  used; // 1 .. sizeof(data), or 0 to denote not-in-use
+      UChar  data[CACHE_ENTRY_SIZE];
+   }
+   CEnt;
+
+/* Source for files */
+typedef
+   struct {
+      // True: img is of local file.  False: img is from a server.
+      Bool  is_local;
+      // The fd for the local file, or sd for a remote server.
+      Int   fd;
+      // The name.  In ML_(dinfo_zalloc)'d space.  Used only for printing
+      // error messages; hence it doesn't really matter what this contains.
+      HChar* name;
+      // The rest of these fields are only valid when using remote files
+      // (that is, using a debuginfo server; hence when is_local==False)
+      // Session ID allocated to us by the server.  Cannot be zero.
+      ULong session_id;
+   }
+   Source;
+
+struct _DiImage {
+   // The source -- how to get hold of the file we are reading
+   Source source;
+   // Total size of the image.
+   SizeT size;
+   // The number of entries used.  0 .. CACHE_N_ENTRIES
+   UInt  ces_used;
+   // Pointers to the entries.  ces[0 .. ces_used-1] are non-NULL.
+   // ces[ces_used .. CACHE_N_ENTRIES-1] are NULL.
+   // The non-NULL entries may be arranged arbitrarily.  We expect to use
+   // a pseudo-LRU scheme though.
+   CEnt* ces[CACHE_N_ENTRIES];
+};
+
+/* A frame.  The first 4 bytes of |data| give the kind of the frame,
+   and the rest of it is kind-specific data. */
+typedef  struct { UChar* data; SizeT n_data; }  Frame;
+
+static void write_UInt_le ( /*OUT*/UChar* dst, UInt n )
+{
+   Int i;
+   for (i = 0; i <= 3; i++) {
+      dst[i] = (UChar)(n & 0xFF);
+      n >>= 8;
+   }
+}
+
+static UInt read_UInt_le ( UChar* src )
+{
+   UInt r = 0;
+   Int i;
+   for (i = 3; i >= 0; i--) {
+      r <<= 8;
+      r += (UInt)src[i];
+   }
+   return r;
+}
+
+static void write_ULong_le ( /*OUT*/UChar* dst, ULong n )
+{
+   Int i;
+   for (i = 0; i <= 7; i++) {
+      dst[i] = (UChar)(n & 0xFF);
+      n >>= 8;
+   }
+}
+
+static ULong read_ULong_le ( UChar* src )
+{
+   ULong r = 0;
+   Int i;
+   for (i = 7; i >= 0; i--) {
+      r <<= 8;
+      r += (ULong)src[i];
+   }
+   return r;
+}
+
+
+/* Set |sd| to be blocking.  Returns True on success. */
+static Bool set_blocking ( int sd )
+{
+   Int res;
+   res = VG_(fcntl)(sd, VKI_F_GETFL, 0/*ignored*/);
+   if (res != -1)
+      res = VG_(fcntl)(sd, VKI_F_SETFL, res & ~VKI_O_NONBLOCK);
+   return (res != -1);
+}
+
+/* Tries to read 'len' bytes from fd, blocking if necessary.  Assumes
+   fd has been set in blocking mode.  If it returns with the number of
+   bytes read < len, it means that either fd was closed, or there was
+   an error on it. */
+static Int my_read ( Int fd, UChar* buf, Int len )
+{
+   Int nRead = 0;
+   while (1) {
+      if (nRead == len) return nRead;
+      vg_assert(nRead < len);
+      Int nNeeded = len - nRead;
+      vg_assert(nNeeded > 0);
+      Int n = VG_(read)(fd, &buf[nRead], nNeeded);
+      if (n <= 0) return nRead; /* error or EOF */
+      nRead += n;
+   }
+}
+
+/* Tries to write 'len' bytes to fd, blocking if necessary.  Assumes
+   fd has been set in blocking mode.  If it returns with the number of
+   bytes written < len, it means that either fd was closed, or there was
+   an error on it. */
+static Int my_write ( Int fd, UChar* buf, Int len )
+{
+   Int nWritten = 0;
+   while (1) {
+      if (nWritten == len) return nWritten;
+      vg_assert(nWritten < len);
+      Int nStillToDo = len - nWritten;
+      vg_assert(nStillToDo > 0);
+      Int n = VG_(write_socket)(fd, &buf[nWritten], nStillToDo);
+      if (n < 0) return nWritten; /* error or EOF */
+      nWritten += n;
+   }
+}
+
+/* If we lost communication with the remote server, just give up.
+   Recovering is too difficult. */
+static void give_up__comms_lost(void)
+{
+   VG_(umsg)("\n");
+   VG_(umsg)(
+      "Valgrind: debuginfo reader: Lost communication with the remote\n");
+   VG_(umsg)(
+      "Valgrind: debuginfo server.  I can't recover.  Giving up.  Sorry.\n");
+   VG_(umsg)("\n");
+   VG_(exit)(1);
+   /*NOTREACHED*/
+}
+
+static void give_up__image_overrun(void)
+{
+   VG_(umsg)("\n");
+   VG_(umsg)(
+      "Valgrind: debuginfo reader: Possibly corrupted debuginfo file.\n");
+   VG_(umsg)(
+      "Valgrind: I can't recover.  Giving up.  Sorry.\n");
+   VG_(umsg)("\n");
+   VG_(exit)(1);
+   /*NOTREACHED*/
+}
+
+/* "Do" a transaction: that is, send the given frame to the server and
+   return the frame it sends back.  Caller owns the resulting frame
+   and must free it.  A NULL return means the transaction failed for
+   some reason. */
+static Frame* do_transaction ( Int sd, Frame* req )
+{
+   if (0) VG_(printf)("CLIENT: send %c%c%c%c\n",
+                      req->data[0], req->data[1], req->data[2], req->data[3]);
+
+   /* What goes on the wire is:
+         adler(le32) n_data(le32) data[0 .. n_data-1]
+      where the checksum covers n_data as well as data[].
+   */
+   /* The initial Adler-32 value */
+   UInt adler = VG_(adler32)(0, NULL, 0);
+
+   /* Fold in the length field, encoded as le32. */
+   UChar wr_first8[8];
+   write_UInt_le(&wr_first8[4], req->n_data);
+   adler = VG_(adler32)(adler, &wr_first8[4], 4);
+   /* Fold in the data values */
+   adler = VG_(adler32)(adler, req->data, req->n_data);
+   write_UInt_le(&wr_first8[0], adler);
+
+   Int r = my_write(sd, &wr_first8[0], 8);
+   if (r != 8) return NULL;
+   vg_assert(req->n_data >= 4); // else ill formed -- no KIND field
+   r = my_write(sd, req->data, req->n_data);
+   if (r != req->n_data) return NULL;
+
+   /* So, the request is sent.  Now get a request of the same format
+      out of the channel. */
+   UChar rd_first8[8];  // adler32; length32
+   r = my_read(sd, &rd_first8[0], 8);
+   if (r != 8) return NULL;
+   UInt rd_adler = read_UInt_le(&rd_first8[0]);
+   UInt rd_len   = read_UInt_le(&rd_first8[4]);
+   /* Allocate a Frame to hold the result data, and read into it. */
+   // Reject obviously-insane length fields.
+   if (rd_len < 4 || rd_len > 4*1024*1024) return NULL;
+   Frame* res = ML_(dinfo_zalloc)("di.do_transaction.1", sizeof(Frame));
+   res->n_data = rd_len;
+   res->data = ML_(dinfo_zalloc)("di.do_transaction.2", rd_len);
+   r = my_read(sd, res->data, res->n_data);
+   if (r != rd_len) return NULL;
+
+   if (0) VG_(printf)("CLIENT: recv %c%c%c%c\n",
+                      res->data[0], res->data[1], res->data[2], res->data[3]);
+
+   /* Compute the checksum for the received data, and check it. */
+   adler = VG_(adler32)(0, NULL, 0); // initial value
+   adler = VG_(adler32)(adler, &rd_first8[4], 4);
+   if (res->n_data > 0)
+      adler = VG_(adler32)(adler, res->data, res->n_data);
+
+   if (adler/*computed*/ != rd_adler/*expected*/) return NULL;
+   return res;
+}
+
+static void free_Frame ( Frame* fr )
+{
+   vg_assert(fr && fr->data);
+   ML_(dinfo_free)(fr->data);
+   ML_(dinfo_free)(fr);
+}
+
+static Frame* mk_Frame_noargs ( const HChar* tag )
+{
+   vg_assert(VG_(strlen)(tag) == 4);
+   Frame* f = ML_(dinfo_zalloc)("di.mFn.1", sizeof(Frame));
+   f->n_data = 4;
+   f->data = ML_(dinfo_zalloc)("di.mFn.2", f->n_data);
+   VG_(memcpy)(&f->data[0], tag, 4);
+   return f;
+}
+
+static Frame* mk_Frame_le64_le64_le64 ( const HChar* tag,
+                                        ULong n1, ULong n2, ULong n3 )
+{
+   vg_assert(VG_(strlen)(tag) == 4);
+   Frame* f = ML_(dinfo_zalloc)("di.mFlll.1", sizeof(Frame));
+   f->n_data = 4 + 3*8;
+   f->data = ML_(dinfo_zalloc)("di.mFlll.2", f->n_data);
+   VG_(memcpy)(&f->data[0], tag, 4);
+   write_ULong_le(&f->data[4 + 0*8], n1);
+   write_ULong_le(&f->data[4 + 1*8], n2);
+   write_ULong_le(&f->data[4 + 2*8], n3);
+   return f;
+}
+
+static Frame* mk_Frame_asciiz ( const HChar* tag, const HChar* str )
+{
+   vg_assert(VG_(strlen)(tag) == 4);
+   Frame* f = ML_(dinfo_zalloc)("di.mFa.1", sizeof(Frame));
+   SizeT n_str = VG_(strlen)(str);
+   f->n_data = 4 + n_str + 1;
+   f->data = ML_(dinfo_zalloc)("di.mFa.2", f->n_data);
+   VG_(memcpy)(&f->data[0], tag, 4);
+   VG_(memcpy)(&f->data[4], str, n_str);
+   vg_assert(f->data[4 + n_str] == 0);
+   return f;
+}
+
+static Bool parse_Frame_le64 ( Frame* fr, const HChar* tag, /*OUT*/ULong* n1 )
+{
+   vg_assert(VG_(strlen)(tag) == 4);
+   if (!fr || !fr->data) return False;
+   if (fr->n_data < 4) return False;
+   if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
+   if (fr->n_data != 4 + 1*8) return False;
+   *n1 = read_ULong_le(&fr->data[4 + 0*8]);
+   return True;
+}
+
+static Bool parse_Frame_le64_le64 ( Frame* fr, const HChar* tag,
+                                    /*OUT*/ULong* n1, /*OUT*/ULong* n2 )
+{
+   vg_assert(VG_(strlen)(tag) == 4);
+   if (!fr || !fr->data) return False;
+   if (fr->n_data < 4) return False;
+   if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
+   if (fr->n_data != 4 + 2*8) return False;
+   *n1 = read_ULong_le(&fr->data[4 + 0*8]);
+   *n2 = read_ULong_le(&fr->data[4 + 1*8]);
+   return True;
+}
+
+static Bool parse_Frame_asciiz ( Frame* fr, const HChar* tag,
+                                 /*OUT*/UChar** str )
+{
+   vg_assert(VG_(strlen)(tag) == 4);
+   if (!fr || !fr->data) return False;
+   if (fr->n_data < 4) return False;
+   if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
+   if (fr->n_data < 5) return False; // else there isn't even enough
+                                     // space for the terminating zero
+   /* Find the terminating zero and ensure it's right at the end
+      of the data.  If not, the frame is malformed. */
+   SizeT i = 4;
+   while (True) {
+      if (i >= fr->n_data) break;
+      if (fr->data[i] == 0) break;
+      i++;
+   }
+   vg_assert(i <= fr->n_data);
+   if (i == fr->n_data-1 && fr->data[i] == 0) {
+      *str = &fr->data[4];
+      return True;
+   } else {
+      return False;
+   }
+}
+
+static Bool parse_Frame_le64_le64_le64_bytes (
+               Frame* fr, const HChar* tag,
+               /*OUT*/ULong* n1, /*OUT*/ULong* n2, /*OUT*/ULong* n3,
+               /*OUT*/UChar** data, /*OUT*/ULong* n_data 
+            )
+{
+   vg_assert(VG_(strlen)(tag) == 4);
+   if (!fr || !fr->data) return False;
+   if (fr->n_data < 4) return False;
+   if (VG_(memcmp)(&fr->data[0], tag, 4) != 0) return False;
+   if (fr->n_data < 4 + 3*8) return False;
+   *n1 = read_ULong_le(&fr->data[4 + 0*8]);
+   *n2 = read_ULong_le(&fr->data[4 + 1*8]);
+   *n3 = read_ULong_le(&fr->data[4 + 2*8]);
+   *data   = &fr->data[4 + 3*8];
+   *n_data = fr->n_data - (4 + 3*8);
+   vg_assert(fr->n_data >= 4 + 3*8);
+   return True;
+}
+
+static DiOffT block_round_down ( DiOffT i )
+{
+   return i & ((DiOffT)~(CACHE_ENTRY_SIZE-1));
+}
+
+/* Is this offset inside this CEnt? */
+static inline Bool is_in_CEnt ( CEnt* cent, DiOffT off )
+{
+   /* This assertion is checked by set_CEnt, so checking it here has
+      no benefit, whereas skipping it does remove it from the hottest
+      path. */
+   /* vg_assert(cent->used > 0 && cent->used <= CACHE_ENTRY_SIZE); */
+   return cent->off <= off && off < cent->off + cent->used;
+}
+
+/* Allocate a new CEnt, connect it to |img|, and return its index. */
+static UInt alloc_CEnt ( DiImage* img )
+{
+   vg_assert(img);
+   vg_assert(img->ces_used < CACHE_N_ENTRIES);
+   UInt entNo = img->ces_used;
+   img->ces_used++;
+   vg_assert(img->ces[entNo] == NULL);
+   img->ces[entNo] = ML_(dinfo_zalloc)("di.alloc_CEnt.1", sizeof(CEnt));
+   return entNo;
+}
+
+/* Move the given entry to the top and slide those above it down by 1,
+   to make space. */
+static void move_CEnt_to_top ( DiImage* img, UInt entNo )
+{
+   vg_assert(img->ces_used <= CACHE_N_ENTRIES);
+   vg_assert(entNo > 0 && entNo < img->ces_used);
+   CEnt* tmp = img->ces[entNo];
+   while (entNo > 0) {
+      img->ces[entNo] = img->ces[entNo-1];
+      entNo--;
+   }
+   img->ces[0] = tmp;
+}
+
+/* Set the given entry so that it has a chunk of the file containing
+   the given offset.  It is this function that brings data into the
+   cache, either by reading the local file or pulling it from the
+   remote server. */
+static void set_CEnt ( DiImage* img, UInt entNo, DiOffT off )
+{
+   SizeT len;
+   DiOffT off_orig = off;
+   vg_assert(img);
+   vg_assert(img->ces_used <= CACHE_N_ENTRIES);
+   vg_assert(entNo >= 0 && entNo < img->ces_used);
+   vg_assert(off < img->size);
+   vg_assert(img->ces[entNo] != NULL);
+   /* Compute [off, +len) as the slice we are going to read. */
+   off = block_round_down(off);
+   len = img->size - off;
+   if (len > CACHE_ENTRY_SIZE) len = CACHE_ENTRY_SIZE;
+   /* It is conceivable that the 'len > 0' bit could fail if we make
+      an image with a zero sized file.  But then no 'get' request on
+      that image would be valid. */
+   vg_assert(len > 0 && len <= CACHE_ENTRY_SIZE);
+   vg_assert(off + len <= img->size);
+   vg_assert(off <= off_orig && off_orig < off+len);
+   /* So, read  off .. off+len-1  into the entry. */
+   CEnt* ce = img->ces[entNo];
+
+   if (0) {
+      static UInt t_last = 0;
+      static ULong nread = 0;
+      UInt now = VG_(read_millisecond_timer)();
+      UInt delay = now - t_last;
+      t_last = now;
+      nread += len;
+      VG_(printf)("XXXXXXXX (tot %lld) read %ld offset %lld  %u\n", 
+                  nread, len, off, delay);
+   }
+
+   if (img->source.is_local) {
+      // Simple: just read it
+      SysRes sr = VG_(pread)(img->source.fd, &ce->data[0], (Int)len, off);
+      vg_assert(!sr_isError(sr));
+   } else {
+      // Not so simple: poke the server
+      vg_assert(img->source.session_id > 0);
+      Frame* req
+         = mk_Frame_le64_le64_le64("READ", img->source.session_id, off, len);
+      Frame* res = do_transaction(img->source.fd, req);
+      free_Frame(req); req = NULL;
+      if (!res) goto server_fail;
+      ULong  rx_session_id = 0, rx_off = 0, rx_len = 0, rx_zdata_len = 0;
+      UChar* rx_data = NULL;
+      /* Pretty confusing.  rx_sessionid, rx_off and rx_len are copies
+         of the values that we requested in the READ frame just above,
+         so we can be sure that the server is responding to the right
+         request.  It just copies them from the request into the
+         response.  rx_data is the actual data, and rx_zdata_len is
+         its compressed length.  Hence rx_len must equal len, but
+         rx_zdata_len can be different -- smaller, hopefully.. */
+      if (!parse_Frame_le64_le64_le64_bytes
+          (res, "RDOK", &rx_session_id, &rx_off,
+                        &rx_len, &rx_data, &rx_zdata_len))
+         goto server_fail;
+      if (rx_session_id != img->source.session_id
+          || rx_off != off || rx_len != len || rx_data == NULL)
+         goto server_fail;
+
+      //VG_(memcpy)(&ce->data[0], rx_data, len);
+      // Decompress into the destination buffer
+      // Tell the lib the max number of output bytes it can write.
+      // After the call, this holds the number of bytes actually written,
+      // and it's an error if it is different.
+      UInt out_len = len;
+      Int lzo_rc = lzo1x_decompress_safe(rx_data, rx_zdata_len,
+                                         &ce->data[0], (lzo_uint*)&out_len,
+                                         NULL);
+      Bool ok = lzo_rc == LZO_E_OK && out_len == len;
+      if (!ok) goto server_fail;
+
+      free_Frame(res); res = NULL;
+      goto end_of_else_clause;
+     server_fail:
+      /* The server screwed up somehow.  Now what? */
+      if (res) {
+         UChar* reason = NULL;
+         if (parse_Frame_asciiz(res, "FAIL", &reason)) {
+            VG_(umsg)("set_CEnt (reading data from DI server): fail: "
+                      "%s\n", reason);
+         } else {
+            VG_(umsg)("set_CEnt (reading data from DI server): fail: "
+                      "unknown reason\n");
+         }
+         free_Frame(res); res = NULL;
+      } else {
+         VG_(umsg)("set_CEnt (reading data from DI server): fail: "
+                   "server unexpectedly closed the connection\n");
+      }
+      give_up__comms_lost();
+      /* NOTREACHED */
+      vg_assert(0);
+     end_of_else_clause:
+      {}
+   }
+   
+   ce->off  = off;
+   ce->used = len;
+   vg_assert(ce->used > 0 && ce->used <= CACHE_ENTRY_SIZE);
+}
+
+__attribute__((noinline))
+static UChar get_slowcase ( DiImage* img, DiOffT off )
+{
+   /* Stay sane .. */
+   vg_assert(off < img->size);
+   vg_assert(img->ces_used <= CACHE_N_ENTRIES);
+   UInt i;
+   /* Start the search at entry 1, since the fast-case function
+      checked slot zero already. */
+   for (i = 1; i < img->ces_used; i++) {
+      vg_assert(img->ces[i]);
+      if (is_in_CEnt(img->ces[i], off))
+         break;
+   }
+   vg_assert(i <= img->ces_used);
+   if (i == img->ces_used) {
+      /* It's not in any entry.  Either allocate a new entry or
+         recycle the LRU one. */
+      if (img->ces_used == CACHE_N_ENTRIES) {
+         /* All entries in use.  Recycle the (ostensibly) LRU one. */
+         set_CEnt(img, CACHE_N_ENTRIES-1, off);
+         i = CACHE_N_ENTRIES-1;
+      } else {
+         /* Allocate a new one, and fill it in. */
+         UInt entNo = alloc_CEnt(img);
+         set_CEnt(img, entNo, off);
+         i = entNo;
+      }
+   } else {
+      /* We found it at position 'i'. */
+      vg_assert(i > 0);
+   }
+   if (i > 0) {
+      move_CEnt_to_top(img, i);
+      i = 0;
+   }
+   vg_assert(is_in_CEnt(img->ces[i], off));
+   return img->ces[i]->data[ off - img->ces[i]->off ];
+}
+
+// This is called a lot, so do the usual fast/slow split stuff on it. */
+static UChar get ( DiImage* img, DiOffT off )
+{
+   /* Most likely case is, it's in the ces[0] position. */
+   /* ML_(img_from_local_file) requests a read for ces[0] when
+      creating the image.  Hence slot zero is always non-NULL, so we
+      can skip this test. */
+   if (LIKELY(/* img->ces[0] != NULL && */
+              is_in_CEnt(img->ces[0], off))) {
+      return img->ces[0]->data[ off - img->ces[0]->off ];
+   }
+   /* Else we'll have to fish around for it. */
+   return get_slowcase(img, off);
+}
+
+/* Create an image from a file in the local filesystem.  This is
+   relatively straightforward. */
+DiImage* ML_(img_from_local_file)(const HChar* fullpath)
+{
+   SysRes         fd;
+   struct vg_stat stat_buf;
+   DiOffT         size;
+
+   fd = VG_(open)(fullpath, VKI_O_RDONLY, 0);
+   if (sr_isError(fd))
+      return NULL;
+
+   if (VG_(fstat)(sr_Res(fd), &stat_buf) != 0) {
+      VG_(close)(sr_Res(fd));
+      return NULL;
+   }
+
+   size = stat_buf.size;
+   if (size == 0 || size == DiOffT_INVALID
+       || /* size is unrepresentable as a SizeT */
+          size != (DiOffT)(SizeT)(size)) {
+      VG_(close)(sr_Res(fd));
+      return NULL; 
+   }
+
+   DiImage* img = ML_(dinfo_zalloc)("di.image.ML_iflf.1", sizeof(DiImage));
+   img->source.is_local = True;
+   img->source.fd       = sr_Res(fd);
+   img->size            = size;
+   img->ces_used        = 0;
+   img->source.name     = ML_(dinfo_strdup)("di.image.ML_iflf.2", fullpath);
+   /* img->ces is already zeroed out */
+   vg_assert(img->source.fd >= 0);
+
+   /* Force the zeroth entry to be the first chunk of the file.
+      That's likely to be the first part that's requested anyway, and
+      loading it at this point forcing img->cent[0] to always be
+      non-empty, thereby saving us an is-it-empty check on the fast
+      path in get(). */
+   UInt entNo = alloc_CEnt(img);
+   vg_assert(entNo == 0);
+   set_CEnt(img, 0, 0);
+
+   return img;
+}
+
+
+/* Create an image from a file on a remote debuginfo server.  This is
+   more complex.  There are lots of ways in which it can fail. */
+DiImage* ML_(img_from_di_server)(const HChar* filename,
+                                 const HChar* serverAddr)
+{
+   if (filename == NULL || serverAddr == NULL)
+      return NULL;
+
+   /* The filename must be a plain filename -- no slashes at all. */
+   if (VG_(strchr)(filename, '/') != NULL)
+      return NULL;
+
+   /* Try to connect to the server.  A side effect of this is to parse
+      and reject, if syntactically invalid, |serverAddr|.  Reasons why
+      this could fail:
+      - serverAddr is not of the form d.d.d.d:d or d.d.d.d
+      - attempt to connect to that address:port failed
+   */
+   Int sd = VG_(connect_via_socket)(serverAddr);
+   if (sd < 0)
+      return NULL;
+   if (!set_blocking(sd))
+      return NULL;
+   Int one = 1;
+   Int sr = VG_(setsockopt)(sd, VKI_IPPROTO_TCP, VKI_TCP_NODELAY, 
+                            &one, sizeof(one));
+   vg_assert(sr == 0);
+
+   /* Ok, we got a connection.  Ask it for version string, so as to be
+      reasonably sure we're talking to an instance of
+      auxprogs/valgrind-di-server and not to some other random program
+      that happens to be listening on that port. */
+   Frame* req = mk_Frame_noargs("VERS");
+   Frame* res = do_transaction(sd, req);
+   if (res == NULL)
+      goto fail; // do_transaction failed?!
+   UChar* vstr = NULL;
+   if (!parse_Frame_asciiz(res, "VEOK", &vstr))
+      goto fail; // unexpected response kind, or invalid ID string
+   vg_assert(vstr);
+   if (VG_(strcmp)("Valgrind Debuginfo Server, Version 1",
+                   (const HChar*)vstr) != 0)
+      goto fail; // wrong version string
+   free_Frame(req);
+   free_Frame(res);
+   req = NULL;
+   res = NULL;
+
+   /* Server seems plausible.  Present it with the name of the file we
+      want and see if it'll give us back a session ID for it. */
+   req = mk_Frame_asciiz("OPEN", filename);
+   res = do_transaction(sd, req);
+   if (res == NULL)
+      goto fail;
+   ULong session_id = 0, size = 0;
+   if (!parse_Frame_le64_le64(res, "OPOK", &session_id, &size))
+      goto fail;
+   free_Frame(req);
+   free_Frame(res);
+   req = NULL;
+   res = NULL;
+
+   /* We have a session ID.  We're ready to roll. */
+   DiImage* img = ML_(dinfo_zalloc)("di.image.ML_ifds.1", sizeof(DiImage));
+   img->source.is_local   = False;
+   img->source.fd         = sd;
+   img->source.session_id = session_id;
+   img->size              = size;
+   img->ces_used          = 0;
+   img->source.name       = ML_(dinfo_zalloc)("di.image.ML_ifds.2",
+                                              20 + VG_(strlen)(filename)
+                                                 + VG_(strlen)(serverAddr));
+   VG_(sprintf)(img->source.name, "%s at %s", filename, serverAddr);
+
+   /* img->ces is already zeroed out */
+   vg_assert(img->source.fd >= 0);
+
+   /* See comment on equivalent bit in ML_(img_from_local_file) for
+      rationale. */
+   UInt entNo = alloc_CEnt(img);
+   vg_assert(entNo == 0);
+   set_CEnt(img, 0, 0);
+
+   return img;
+
+  fail:
+   if (req) free_Frame(req);
+   if (res) {
+      UChar* reason = NULL;
+      if (parse_Frame_asciiz(res, "FAIL", &reason)) {
+         // HACK: if it's just telling us that the file can't
+         // be opened, don't print it, else we'll get flooded with
+         // such complaints, one for each main object for which there
+         // isn't a debuginfo file on the server.
+         if (0 != VG_(strcmp)((const HChar*)reason, "OPEN: cannot open file"))
+            VG_(umsg)("ML_(img_from_di_server): fail: %s\n", reason);
+      } else {
+         VG_(umsg)("ML_(img_from_di_server): fail: unknown reason\n");
+      }
+      free_Frame(res);
+   }
+   VG_(close)(sd);
+   return NULL;
+}
+
+void ML_(img_done)(DiImage* img)
+{
+   vg_assert(img);
+   if (img->source.is_local) {
+      /* Close the file; nothing else to do. */
+      vg_assert(img->source.session_id == 0);
+      VG_(close)(img->source.fd);
+   } else {
+      /* Close the socket.  The server can detect this and will scrub
+         the connection when it happens, so there's no need to tell it
+         explicitly by sending it a "CLOSE" message, or any such. */
+      vg_assert(img->source.session_id != 0);
+      VG_(close)(img->source.fd);
+   }
+
+   /* Free up the cache entries, ultimately |img| itself. */
+   UInt i;
+   vg_assert(img->ces_used <= CACHE_N_ENTRIES);
+   for (i = 0; i < img->ces_used; i++) {
+      ML_(dinfo_free)(img->ces[i]);
+   }
+   /* Take the opportunity to sanity check the rest. */
+   for (i = i; i < img->ces_used; i++) {
+      vg_assert(img->ces[i] == NULL);
+   }
+   ML_(dinfo_free)(img->source.name);
+   ML_(dinfo_free)(img);
+}
+
+DiOffT ML_(img_size)(DiImage* img)
+{
+   vg_assert(img);
+   return img->size;
+}
+
+inline Bool ML_(img_valid)(DiImage* img, DiOffT offset, SizeT size)
+{
+   vg_assert(img);
+   vg_assert(offset != DiOffT_INVALID);
+   return img->size > 0 && offset + size <= (DiOffT)img->size;
+}
+
+/* Check the given range is valid, and if not, shut down the system.
+   An invalid range would imply that we're trying to read outside the
+   image, which normally means the image is corrupted somehow, or the
+   caller is buggy.  Recovering is too complex, and we have
+   probably-corrupt debuginfo, so just give up. */
+static void ensure_valid(DiImage* img, DiOffT offset, SizeT size,
+                         const HChar* caller)
+{
+   if (LIKELY(ML_(img_valid)(img, offset, size)))
+      return;
+   VG_(umsg)("Valgrind: debuginfo reader: ensure_valid failed:\n");
+   VG_(umsg)("Valgrind:   during call to %s\n", caller);
+   VG_(umsg)("Valgrind:   request for range [%llu, +%llu) exceeds\n",
+             (ULong)offset, (ULong)size);
+   VG_(umsg)("Valgrind:   valid image size of %llu for image:\n",
+             (ULong)img->size);
+   VG_(umsg)("Valgrind:   \"%s\"\n", img->source.name);
+   give_up__image_overrun();
+}
+
+
+void ML_(img_get)(/*OUT*/void* dst,
+                  DiImage* img, DiOffT offset, SizeT size)
+{
+   vg_assert(img);
+   vg_assert(size > 0);
+   ensure_valid(img, offset, size, "ML_(img_get)");
+   SizeT i;
+   for (i = 0; i < size; i++) {
+      ((UChar*)dst)[i] = get(img, offset + i);
+   }
+}
+
+SizeT ML_(img_get_some)(/*OUT*/void* dst,
+                        DiImage* img, DiOffT offset, SizeT size)
+{
+   vg_assert(img);
+   vg_assert(size > 0);
+   ensure_valid(img, offset, size, "ML_(img_get_some)");
+   UChar* dstU = (UChar*)dst;
+   /* Use |get| in the normal way to get the first byte of the range.
+      This guarantees to put the cache entry containing |offset| in
+      position zero. */
+   dstU[0] = get(img, offset);
+   /* Now just read as many bytes as we can (or need) directly out of
+      entry zero, without bothering to call |get| each time. */
+   CEnt* ce = img->ces[0];
+   vg_assert(ce && ce->used >= 1);
+   vg_assert(is_in_CEnt(ce, offset));
+   SizeT nToCopy = size - 1;
+   SizeT nAvail  = (SizeT)(ce->used - (offset + 1 - ce->off));
+   vg_assert(nAvail >= 0 && nAvail <= ce->used-1);
+   if (nAvail < nToCopy) nToCopy = nAvail;
+   VG_(memcpy)(&dstU[1], &ce->data[offset + 1 - ce->off], nToCopy);
+   return nToCopy + 1;
+}
+
+
+SizeT ML_(img_strlen)(DiImage* img, DiOffT off)
+{
+   ensure_valid(img, off, 1, "ML_(img_strlen)");
+   SizeT i = 0;
+   while (get(img, off + i) != 0) i++;
+   return i;
+}
+
+HChar* ML_(img_strdup)(DiImage* img, const HChar* cc, DiOffT offset)
+{
+   ensure_valid(img, offset, 1, "ML_(img_strdup)");
+   SizeT  len = ML_(img_strlen)(img, offset);
+   HChar* res = ML_(dinfo_zalloc)(cc, len+1);
+   SizeT  i;
+   for (i = 0; i < len; i++) {
+      res[i] = get(img, offset+i);
+   }
+   vg_assert(res[len] == 0);
+   return res;
+}
+
+Int ML_(img_strcmp)(DiImage* img, DiOffT off1, DiOffT off2)
+{
+   ensure_valid(img, off1, 1, "ML_(img_strcmp)(first arg)");
+   ensure_valid(img, off2, 1, "ML_(img_strcmp)(second arg)");
+   while (True) {
+      UChar c1 = get(img, off1);
+      UChar c2 = get(img, off2);
+      if (c1 < c2) return -1;
+      if (c1 > c2) return 1;
+      if (c1 == 0) return 0;
+      off1++; off2++;
+   }
+}
+
+Int ML_(img_strcmp_c)(DiImage* img, DiOffT off1, const HChar* str2)
+{
+   ensure_valid(img, off1, 1, "ML_(img_strcmp_c)");
+   while (True) {
+      UChar c1 = get(img, off1);
+      UChar c2 = *(UChar*)str2;
+      if (c1 < c2) return -1;
+      if (c1 > c2) return 1;
+      if (c1 == 0) return 0;
+      off1++; str2++;
+   }
+}
+
+UChar ML_(img_get_UChar)(DiImage* img, DiOffT offset)
+{
+   ensure_valid(img, offset, 1, "ML_(img_get_UChar)");
+   return get(img, offset);
+}
+
+UShort ML_(img_get_UShort)(DiImage* img, DiOffT offset)
+{
+   UShort r;
+   ML_(img_get)(&r, img, offset, sizeof(r));
+   return r;
+}
+
+UInt ML_(img_get_UInt)(DiImage* img, DiOffT offset)
+{
+   UInt r;
+   ML_(img_get)(&r, img, offset, sizeof(r));
+   return r;
+}
+
+ULong ML_(img_get_ULong)(DiImage* img, DiOffT offset)
+{
+   ULong r;
+   ML_(img_get)(&r, img, offset, sizeof(r));
+   return r;
+}
+
+
+/*
+ * This routine for calculating the CRC for a separate debug file
+ * is GPLed code borrowed from GNU binutils.
+ */
+UInt ML_(img_calc_gnu_debuglink_crc32)(DiImage* img)
+{
+  static const UInt crc32_table[256] =
+    {
+      0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419,
+      0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4,
+      0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07,
+      0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
+      0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856,
+      0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
+      0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4,
+      0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
+      0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3,
+      0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a,
+      0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599,
+      0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
+      0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190,
+      0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f,
+      0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e,
+      0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
+      0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed,
+      0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
+      0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3,
+      0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
+      0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a,
+      0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5,
+      0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010,
+      0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+      0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17,
+      0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6,
+      0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615,
+      0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
+      0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344,
+      0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
+      0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a,
+      0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
+      0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1,
+      0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c,
+      0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef,
+      0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
+      0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe,
+      0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31,
+      0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c,
+      0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
+      0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b,
+      0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
+      0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1,
+      0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
+      0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278,
+      0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7,
+      0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66,
+      0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+      0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605,
+      0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8,
+      0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b,
+      0x2d02ef8d
+    };
+
+   vg_assert(img);
+
+   /* If the image is local, calculate the CRC here directly.  If it's
+      remote, forward the request to the server. */
+   if (img->source.is_local) {
+      /* Work through the image in 1 KB chunks. */
+      UInt   crc      = 0xFFFFFFFF;
+      DiOffT img_szB  = ML_(img_size)(img);
+      DiOffT curr_off = 0;
+      while (1) {
+         vg_assert(curr_off >= 0 && curr_off <= img_szB);
+         if (curr_off == img_szB) break;
+         DiOffT avail = img_szB - curr_off;
+         vg_assert(avail > 0 && avail <= img_szB);
+         if (avail > 1024) avail = 1024;
+         UChar buf[1024];
+         SizeT nGot = ML_(img_get_some)(buf, img, curr_off, avail);
+         vg_assert(nGot >= 1 && nGot <= avail);
+         UInt i;
+         for (i = 0; i < (UInt)nGot; i++)
+            crc = crc32_table[(crc ^ buf[i]) & 0xff] ^ (crc >> 8);
+         curr_off += nGot;
+      }
+      return ~crc & 0xFFFFFFFF;
+   } else {
+      Frame* req = mk_Frame_noargs("CRC3");
+      Frame* res = do_transaction(img->source.fd, req);
+      if (!res) goto remote_crc_fail;
+      ULong crc32 = 0;
+      if (!parse_Frame_le64(res, "CROK", &crc32)) goto remote_crc_fail;
+      if ((crc32 & ~0xFFFFFFFFULL) != 0) goto remote_crc_fail;
+      if (req) free_Frame(req);
+      if (res) free_Frame(res);
+      return (UInt)crc32;
+     remote_crc_fail:
+
+      // XXXX common this up with the READ diagnostic cases
+      if (res) {
+         UChar* reason = NULL;
+         if (parse_Frame_asciiz(res, "FAIL", &reason)) {
+            VG_(umsg)("img_calc_gnu_debuglink_crc32: fail: "
+                      "%s\n", reason);
+         } else {
+            VG_(umsg)("img_calc_gnu_debuglink_crc32: fail: "
+                      "unknown reason\n");
+         }
+      } else {
+         VG_(umsg)("img_calc_gnu_debuglink_crc32: fail: "
+                   "server unexpectedly closed the connection\n");
+      }
+
+      if (req) free_Frame(req);
+      if (res) free_Frame(res);
+      // FIXME: now what?
+      give_up__comms_lost();
+      /* NOTREACHED */
+      vg_assert(0);
+   }
+   /*NOTREACHED*/
+   vg_assert(0);
+}
+
+////////////////////////////////////////////////////
+#include "minilzo-inl.c"
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                  image.c ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/m_debuginfo/lzoconf.h b/coregrind/m_debuginfo/lzoconf.h
new file mode 100644
index 0000000..23c6ca9
--- /dev/null
+++ b/coregrind/m_debuginfo/lzoconf.h
@@ -0,0 +1,446 @@
+/* lzoconf.h -- configuration of the LZO data compression library
+
+   This file is part of the LZO real-time data compression library.
+
+   Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
+   All Rights Reserved.
+
+   The LZO library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of
+   the License, or (at your option) any later version.
+
+   The LZO library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with the LZO library; see the file COPYING.
+   If not, write to the Free Software Foundation, Inc.,
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+   Markus F.X.J. Oberhumer
+   <markus@oberhumer.com>
+   http://www.oberhumer.com/opensource/lzo/
+ */
+
+
+#ifndef __LZOCONF_H_INCLUDED
+#define __LZOCONF_H_INCLUDED 1
+
+#define LZO_VERSION             0x2060
+#define LZO_VERSION_STRING      "2.06"
+#define LZO_VERSION_DATE        "Aug 12 2011"
+
+/* internal Autoconf configuration file - only used when building LZO */
+#if defined(LZO_HAVE_CONFIG_H)
+#  include <config.h>
+#endif
+#include <limits.h>
+#include <stddef.h>
+
+
+/***********************************************************************
+// LZO requires a conforming <limits.h>
+************************************************************************/
+
+#if !defined(CHAR_BIT) || (CHAR_BIT != 8)
+#  error "invalid CHAR_BIT"
+#endif
+#if !defined(UCHAR_MAX) || !defined(UINT_MAX) || !defined(ULONG_MAX)
+#  error "check your compiler installation"
+#endif
+#if (USHRT_MAX < 1) || (UINT_MAX < 1) || (ULONG_MAX < 1)
+#  error "your limits.h macros are broken"
+#endif
+
+/* get OS and architecture defines */
+#ifndef __LZODEFS_H_INCLUDED
+#include "lzodefs.h"
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/***********************************************************************
+// some core defines
+************************************************************************/
+
+#if !defined(LZO_UINT32_C)
+#  if (UINT_MAX < LZO_0xffffffffL)
+#    define LZO_UINT32_C(c)     c ## UL
+#  else
+#    define LZO_UINT32_C(c)     ((c) + 0U)
+#  endif
+#endif
+
+/* memory checkers */
+#if !defined(__LZO_CHECKER)
+#  if defined(__BOUNDS_CHECKING_ON)
+#    define __LZO_CHECKER       1
+#  elif defined(__CHECKER__)
+#    define __LZO_CHECKER       1
+#  elif defined(__INSURE__)
+#    define __LZO_CHECKER       1
+#  elif defined(__PURIFY__)
+#    define __LZO_CHECKER       1
+#  endif
+#endif
+
+
+/***********************************************************************
+// integral and pointer types
+************************************************************************/
+
+/* lzo_uint should match size_t */
+#if !defined(LZO_UINT_MAX)
+#  if defined(LZO_ABI_LLP64) /* WIN64 */
+#    if defined(LZO_OS_WIN64)
+     typedef unsigned __int64   lzo_uint;
+     typedef __int64            lzo_int;
+#    else
+     typedef unsigned long long lzo_uint;
+     typedef long long          lzo_int;
+#    endif
+#    define LZO_UINT_MAX        0xffffffffffffffffull
+#    define LZO_INT_MAX         9223372036854775807LL
+#    define LZO_INT_MIN         (-1LL - LZO_INT_MAX)
+#  elif defined(LZO_ABI_IP32L64) /* MIPS R5900 */
+     typedef unsigned int       lzo_uint;
+     typedef int                lzo_int;
+#    define LZO_UINT_MAX        UINT_MAX
+#    define LZO_INT_MAX         INT_MAX
+#    define LZO_INT_MIN         INT_MIN
+#  elif (ULONG_MAX >= LZO_0xffffffffL)
+     typedef unsigned long      lzo_uint;
+     typedef long               lzo_int;
+#    define LZO_UINT_MAX        ULONG_MAX
+#    define LZO_INT_MAX         LONG_MAX
+#    define LZO_INT_MIN         LONG_MIN
+#  else
+#    error "lzo_uint"
+#  endif
+#endif
+
+/* Integral types with 32 bits or more. */
+#if !defined(LZO_UINT32_MAX)
+#  if (UINT_MAX >= LZO_0xffffffffL)
+     typedef unsigned int       lzo_uint32;
+     typedef int                lzo_int32;
+#    define LZO_UINT32_MAX      UINT_MAX
+#    define LZO_INT32_MAX       INT_MAX
+#    define LZO_INT32_MIN       INT_MIN
+#  elif (ULONG_MAX >= LZO_0xffffffffL)
+     typedef unsigned long      lzo_uint32;
+     typedef long               lzo_int32;
+#    define LZO_UINT32_MAX      ULONG_MAX
+#    define LZO_INT32_MAX       LONG_MAX
+#    define LZO_INT32_MIN       LONG_MIN
+#  else
+#    error "lzo_uint32"
+#  endif
+#endif
+
+/* Integral types with exactly 64 bits. */
+#if !defined(LZO_UINT64_MAX)
+#  if (LZO_UINT_MAX >= LZO_0xffffffffL)
+#   if ((((LZO_UINT_MAX) >> 31) >> 31) == 3)
+#    define lzo_uint64          lzo_uint
+#    define lzo_int64           lzo_int
+#    define LZO_UINT64_MAX      LZO_UINT_MAX
+#    define LZO_INT64_MAX       LZO_INT_MAX
+#    define LZO_INT64_MIN       LZO_INT_MIN
+#   endif
+#  elif (ULONG_MAX >= LZO_0xffffffffL)
+#   if ((((ULONG_MAX) >> 31) >> 31) == 3)
+     typedef unsigned long      lzo_uint64;
+     typedef long               lzo_int64;
+#    define LZO_UINT64_MAX      ULONG_MAX
+#    define LZO_INT64_MAX       LONG_MAX
+#    define LZO_INT64_MIN       LONG_MIN
+#   endif
+#  endif
+#endif
+
+/* The larger type of lzo_uint and lzo_uint32. */
+#if (LZO_UINT_MAX >= LZO_UINT32_MAX)
+#  define lzo_xint              lzo_uint
+#else
+#  define lzo_xint              lzo_uint32
+#endif
+
+/* Memory model that allows to access memory at offsets of lzo_uint. */
+#if !defined(__LZO_MMODEL)
+#  if (LZO_UINT_MAX <= UINT_MAX)
+#    define __LZO_MMODEL        /*empty*/
+#  elif defined(LZO_HAVE_MM_HUGE_PTR)
+#    define __LZO_MMODEL_HUGE   1
+#    define __LZO_MMODEL        __huge
+#  else
+#    define __LZO_MMODEL        /*empty*/
+#  endif
+#endif
+
+/* no typedef here because of const-pointer issues */
+#define lzo_bytep               unsigned char __LZO_MMODEL *
+#define lzo_charp               char __LZO_MMODEL *
+#define lzo_voidp               void __LZO_MMODEL *
+#define lzo_shortp              short __LZO_MMODEL *
+#define lzo_ushortp             unsigned short __LZO_MMODEL *
+#define lzo_uint32p             lzo_uint32 __LZO_MMODEL *
+#define lzo_int32p              lzo_int32 __LZO_MMODEL *
+#if defined(LZO_UINT64_MAX)
+#define lzo_uint64p             lzo_uint64 __LZO_MMODEL *
+#define lzo_int64p              lzo_int64 __LZO_MMODEL *
+#endif
+#define lzo_uintp               lzo_uint __LZO_MMODEL *
+#define lzo_intp                lzo_int __LZO_MMODEL *
+#define lzo_xintp               lzo_xint __LZO_MMODEL *
+#define lzo_voidpp              lzo_voidp __LZO_MMODEL *
+#define lzo_bytepp              lzo_bytep __LZO_MMODEL *
+/* deprecated - use 'lzo_bytep' instead of 'lzo_byte *' */
+#define lzo_byte                unsigned char __LZO_MMODEL
+
+typedef int lzo_bool;
+
+
+/***********************************************************************
+// function types
+************************************************************************/
+
+/* name mangling */
+#if !defined(__LZO_EXTERN_C)
+#  ifdef __cplusplus
+#    define __LZO_EXTERN_C      extern "C"
+#  else
+#    define __LZO_EXTERN_C      extern
+#  endif
+#endif
+
+/* calling convention */
+#if !defined(__LZO_CDECL)
+#  define __LZO_CDECL           __lzo_cdecl
+#endif
+
+/* DLL export information */
+#if !defined(__LZO_EXPORT1)
+#  define __LZO_EXPORT1         /*empty*/
+#endif
+#if !defined(__LZO_EXPORT2)
+#  define __LZO_EXPORT2         /*empty*/
+#endif
+
+/* __cdecl calling convention for public C and assembly functions */
+#if !defined(LZO_PUBLIC)
+#  define LZO_PUBLIC(_rettype)  __LZO_EXPORT1 _rettype __LZO_EXPORT2 __LZO_CDECL
+#endif
+#if !defined(LZO_EXTERN)
+#  define LZO_EXTERN(_rettype)  __LZO_EXTERN_C LZO_PUBLIC(_rettype)
+#endif
+#if !defined(LZO_PRIVATE)
+#  define LZO_PRIVATE(_rettype) static _rettype __LZO_CDECL
+#endif
+
+/* function types */
+typedef int
+(__LZO_CDECL *lzo_compress_t)   ( const lzo_bytep src, lzo_uint  src_len,
+                                        lzo_bytep dst, lzo_uintp dst_len,
+                                        lzo_voidp wrkmem );
+
+typedef int
+(__LZO_CDECL *lzo_decompress_t) ( const lzo_bytep src, lzo_uint  src_len,
+                                        lzo_bytep dst, lzo_uintp dst_len,
+                                        lzo_voidp wrkmem );
+
+typedef int
+(__LZO_CDECL *lzo_optimize_t)   (       lzo_bytep src, lzo_uint  src_len,
+                                        lzo_bytep dst, lzo_uintp dst_len,
+                                        lzo_voidp wrkmem );
+
+typedef int
+(__LZO_CDECL *lzo_compress_dict_t)(const lzo_bytep src, lzo_uint  src_len,
+                                         lzo_bytep dst, lzo_uintp dst_len,
+                                         lzo_voidp wrkmem,
+                                   const lzo_bytep dict, lzo_uint dict_len );
+
+typedef int
+(__LZO_CDECL *lzo_decompress_dict_t)(const lzo_bytep src, lzo_uint  src_len,
+                                           lzo_bytep dst, lzo_uintp dst_len,
+                                           lzo_voidp wrkmem,
+                                     const lzo_bytep dict, lzo_uint dict_len );
+
+
+/* Callback interface. Currently only the progress indicator ("nprogress")
+ * is used, but this may change in a future release. */
+
+struct lzo_callback_t;
+typedef struct lzo_callback_t lzo_callback_t;
+#define lzo_callback_p lzo_callback_t __LZO_MMODEL *
+
+/* malloc & free function types */
+typedef lzo_voidp (__LZO_CDECL *lzo_alloc_func_t)
+    (lzo_callback_p self, lzo_uint items, lzo_uint size);
+typedef void      (__LZO_CDECL *lzo_free_func_t)
+    (lzo_callback_p self, lzo_voidp ptr);
+
+/* a progress indicator callback function */
+typedef void (__LZO_CDECL *lzo_progress_func_t)
+    (lzo_callback_p, lzo_uint, lzo_uint, int);
+
+struct lzo_callback_t
+{
+    /* custom allocators (set to 0 to disable) */
+    lzo_alloc_func_t nalloc;                /* [not used right now] */
+    lzo_free_func_t nfree;                  /* [not used right now] */
+
+    /* a progress indicator callback function (set to 0 to disable) */
+    lzo_progress_func_t nprogress;
+
+    /* NOTE: the first parameter "self" of the nalloc/nfree/nprogress
+     * callbacks points back to this struct, so you are free to store
+     * some extra info in the following variables. */
+    lzo_voidp user1;
+    lzo_xint user2;
+    lzo_xint user3;
+};
+
+
+/***********************************************************************
+// error codes and prototypes
+************************************************************************/
+
+/* Error codes for the compression/decompression functions. Negative
+ * values are errors, positive values will be used for special but
+ * normal events.
+ */
+#define LZO_E_OK                    0
+#define LZO_E_ERROR                 (-1)
+#define LZO_E_OUT_OF_MEMORY         (-2)    /* [lzo_alloc_func_t failure] */
+#define LZO_E_NOT_COMPRESSIBLE      (-3)    /* [not used right now] */
+#define LZO_E_INPUT_OVERRUN         (-4)
+#define LZO_E_OUTPUT_OVERRUN        (-5)
+#define LZO_E_LOOKBEHIND_OVERRUN    (-6)
+#define LZO_E_EOF_NOT_FOUND         (-7)
+#define LZO_E_INPUT_NOT_CONSUMED    (-8)
+#define LZO_E_NOT_YET_IMPLEMENTED   (-9)    /* [not used right now] */
+#define LZO_E_INVALID_ARGUMENT      (-10)
+
+
+#ifndef lzo_sizeof_dict_t
+#  define lzo_sizeof_dict_t     ((unsigned)sizeof(lzo_bytep))
+#endif
+
+/* lzo_init() should be the first function you call.
+ * Check the return code !
+ *
+ * lzo_init() is a macro to allow checking that the library and the
+ * compiler's view of various types are consistent.
+ */
+#define lzo_init() __lzo_init_v2(LZO_VERSION,(int)sizeof(short),(int)sizeof(int),\
+    (int)sizeof(long),(int)sizeof(lzo_uint32),(int)sizeof(lzo_uint),\
+    (int)lzo_sizeof_dict_t,(int)sizeof(char *),(int)sizeof(lzo_voidp),\
+    (int)sizeof(lzo_callback_t))
+LZO_EXTERN(int) __lzo_init_v2(unsigned,int,int,int,int,int,int,int,int,int);
+
+/* version functions (useful for shared libraries) */
+LZO_EXTERN(unsigned) lzo_version(void);
+LZO_EXTERN(const char *) lzo_version_string(void);
+LZO_EXTERN(const char *) lzo_version_date(void);
+LZO_EXTERN(const lzo_charp) _lzo_version_string(void);
+LZO_EXTERN(const lzo_charp) _lzo_version_date(void);
+
+/* string functions */
+LZO_EXTERN(int)
+    lzo_memcmp(const lzo_voidp a, const lzo_voidp b, lzo_uint len);
+LZO_EXTERN(lzo_voidp)
+    lzo_memcpy(lzo_voidp dst, const lzo_voidp src, lzo_uint len);
+LZO_EXTERN(lzo_voidp)
+    lzo_memmove(lzo_voidp dst, const lzo_voidp src, lzo_uint len);
+LZO_EXTERN(lzo_voidp)
+    lzo_memset(lzo_voidp buf, int c, lzo_uint len);
+
+/* checksum functions */
+LZO_EXTERN(lzo_uint32)
+    lzo_adler32(lzo_uint32 c, const lzo_bytep buf, lzo_uint len);
+LZO_EXTERN(lzo_uint32)
+    lzo_crc32(lzo_uint32 c, const lzo_bytep buf, lzo_uint len);
+LZO_EXTERN(const lzo_uint32p)
+    lzo_get_crc32_table(void);
+
+/* misc. */
+LZO_EXTERN(int) _lzo_config_check(void);
+typedef union { lzo_bytep p; lzo_uint u; } __lzo_pu_u;
+typedef union { lzo_bytep p; lzo_uint32 u32; } __lzo_pu32_u;
+typedef union { void *vp; lzo_bytep bp; lzo_uint u; lzo_uint32 u32; unsigned long l; } lzo_align_t;
+
+/* align a char pointer on a boundary that is a multiple of 'size' */
+LZO_EXTERN(unsigned) __lzo_align_gap(const lzo_voidp p, lzo_uint size);
+#define LZO_PTR_ALIGN_UP(p,size) \
+    ((p) + (lzo_uint) __lzo_align_gap((const lzo_voidp)(p),(lzo_uint)(size)))
+
+
+/***********************************************************************
+// deprecated macros - only for backward compatibility with LZO v1.xx
+************************************************************************/
+
+#if defined(LZO_CFG_COMPAT)
+
+#define __LZOCONF_H 1
+
+#if defined(LZO_ARCH_I086)
+#  define __LZO_i386 1
+#elif defined(LZO_ARCH_I386)
+#  define __LZO_i386 1
+#endif
+
+#if defined(LZO_OS_DOS16)
+#  define __LZO_DOS 1
+#  define __LZO_DOS16 1
+#elif defined(LZO_OS_DOS32)
+#  define __LZO_DOS 1
+#elif defined(LZO_OS_WIN16)
+#  define __LZO_WIN 1
+#  define __LZO_WIN16 1
+#elif defined(LZO_OS_WIN32)
+#  define __LZO_WIN 1
+#endif
+
+#define __LZO_CMODEL            /*empty*/
+#define __LZO_DMODEL            /*empty*/
+#define __LZO_ENTRY             __LZO_CDECL
+#define LZO_EXTERN_CDECL        LZO_EXTERN
+#define LZO_ALIGN               LZO_PTR_ALIGN_UP
+
+#define lzo_compress_asm_t      lzo_compress_t
+#define lzo_decompress_asm_t    lzo_decompress_t
+
+#endif /* LZO_CFG_COMPAT */
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* already included */
+
+
+/* vim:set ts=4 et: */
diff --git a/coregrind/m_debuginfo/lzodefs.h b/coregrind/m_debuginfo/lzodefs.h
new file mode 100644
index 0000000..0e40e33
--- /dev/null
+++ b/coregrind/m_debuginfo/lzodefs.h
@@ -0,0 +1,1852 @@
+/* lzodefs.h -- architecture, OS and compiler specific defines
+
+   This file is part of the LZO real-time data compression library.
+
+   Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
+   All Rights Reserved.
+
+   The LZO library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of
+   the License, or (at your option) any later version.
+
+   The LZO library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with the LZO library; see the file COPYING.
+   If not, write to the Free Software Foundation, Inc.,
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+   Markus F.X.J. Oberhumer
+   <markus@oberhumer.com>
+   http://www.oberhumer.com/opensource/lzo/
+ */
+
+
+#ifndef __LZODEFS_H_INCLUDED
+#define __LZODEFS_H_INCLUDED 1
+
+#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
+#  define __CYGWIN__ __CYGWIN32__
+#endif
+#if defined(__IBMCPP__) && !defined(__IBMC__)
+#  define __IBMC__ __IBMCPP__
+#endif
+#if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER)
+#  define __INTEL_COMPILER __ICL
+#endif
+#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE)
+#  define _ALL_SOURCE 1
+#endif
+#if defined(__mips__) && defined(__R5900__)
+#  if !defined(__LONG_MAX__)
+#    define __LONG_MAX__ 9223372036854775807L
+#  endif
+#endif
+#if defined(__INTEL_COMPILER) && defined(__linux__)
+#  pragma warning(disable: 193)
+#endif
+#if defined(__KEIL__) && defined(__C166__)
+#  pragma warning disable = 322
+#elif 0 && defined(__C251__)
+#  pragma warning disable = 322
+#endif
+#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
+#  if (_MSC_VER >= 1300)
+#    pragma warning(disable: 4668)
+#  endif
+#endif
+#if 0 && defined(__WATCOMC__)
+#  if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060)
+#    pragma warning 203 9
+#  endif
+#endif
+#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__)
+#  pragma option -h
+#endif
+#if 0
+#define LZO_0xffffL             0xfffful
+#define LZO_0xffffffffL         0xfffffffful
+#else
+#define LZO_0xffffL             65535ul
+#define LZO_0xffffffffL         4294967295ul
+#endif
+#if (LZO_0xffffL == LZO_0xffffffffL)
+#  error "your preprocessor is broken 1"
+#endif
+#if (16ul * 16384ul != 262144ul)
+#  error "your preprocessor is broken 2"
+#endif
+#if 0
+#if (32767 >= 4294967295ul)
+#  error "your preprocessor is broken 3"
+#endif
+#if (65535u >= 4294967295ul)
+#  error "your preprocessor is broken 4"
+#endif
+#endif
+#if (UINT_MAX == LZO_0xffffL)
+#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__)
+#  if !defined(MSDOS)
+#    define MSDOS 1
+#  endif
+#  if !defined(_MSDOS)
+#    define _MSDOS 1
+#  endif
+#elif 0 && defined(__VERSION) && defined(MB_LEN_MAX)
+#  if (__VERSION == 520) && (MB_LEN_MAX == 1)
+#    if !defined(__AZTEC_C__)
+#      define __AZTEC_C__ __VERSION
+#    endif
+#    if !defined(__DOS__)
+#      define __DOS__ 1
+#    endif
+#  endif
+#endif
+#endif
+#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL)
+#  define ptrdiff_t long
+#  define _PTRDIFF_T_DEFINED 1
+#endif
+#if (UINT_MAX == LZO_0xffffL)
+#  undef __LZO_RENAME_A
+#  undef __LZO_RENAME_B
+#  if defined(__AZTEC_C__) && defined(__DOS__)
+#    define __LZO_RENAME_A 1
+#  elif defined(_MSC_VER) && defined(MSDOS)
+#    if (_MSC_VER < 600)
+#      define __LZO_RENAME_A 1
+#    elif (_MSC_VER < 700)
+#      define __LZO_RENAME_B 1
+#    endif
+#  elif defined(__TSC__) && defined(__OS2__)
+#    define __LZO_RENAME_A 1
+#  elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410)
+#    define __LZO_RENAME_A 1
+#  elif defined(__PACIFIC__) && defined(DOS)
+#    if !defined(__far)
+#      define __far far
+#    endif
+#    if !defined(__near)
+#      define __near near
+#    endif
+#  endif
+#  if defined(__LZO_RENAME_A)
+#    if !defined(__cdecl)
+#      define __cdecl cdecl
+#    endif
+#    if !defined(__far)
+#      define __far far
+#    endif
+#    if !defined(__huge)
+#      define __huge huge
+#    endif
+#    if !defined(__near)
+#      define __near near
+#    endif
+#    if !defined(__pascal)
+#      define __pascal pascal
+#    endif
+#    if !defined(__huge)
+#      define __huge huge
+#    endif
+#  elif defined(__LZO_RENAME_B)
+#    if !defined(__cdecl)
+#      define __cdecl _cdecl
+#    endif
+#    if !defined(__far)
+#      define __far _far
+#    endif
+#    if !defined(__huge)
+#      define __huge _huge
+#    endif
+#    if !defined(__near)
+#      define __near _near
+#    endif
+#    if !defined(__pascal)
+#      define __pascal _pascal
+#    endif
+#  elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
+#    if !defined(__cdecl)
+#      define __cdecl cdecl
+#    endif
+#    if !defined(__pascal)
+#      define __pascal pascal
+#    endif
+#  endif
+#  undef __LZO_RENAME_A
+#  undef __LZO_RENAME_B
+#endif
+#if (UINT_MAX == LZO_0xffffL)
+#if defined(__AZTEC_C__) && defined(__DOS__)
+#  define LZO_BROKEN_CDECL_ALT_SYNTAX 1
+#elif defined(_MSC_VER) && defined(MSDOS)
+#  if (_MSC_VER < 600)
+#    define LZO_BROKEN_INTEGRAL_CONSTANTS 1
+#  endif
+#  if (_MSC_VER < 700)
+#    define LZO_BROKEN_INTEGRAL_PROMOTION 1
+#    define LZO_BROKEN_SIZEOF 1
+#  endif
+#elif defined(__PACIFIC__) && defined(DOS)
+#  define LZO_BROKEN_INTEGRAL_CONSTANTS 1
+#elif defined(__TURBOC__) && defined(__MSDOS__)
+#  if (__TURBOC__ < 0x0150)
+#    define LZO_BROKEN_CDECL_ALT_SYNTAX 1
+#    define LZO_BROKEN_INTEGRAL_CONSTANTS 1
+#    define LZO_BROKEN_INTEGRAL_PROMOTION 1
+#  endif
+#  if (__TURBOC__ < 0x0200)
+#    define LZO_BROKEN_SIZEOF 1
+#  endif
+#  if (__TURBOC__ < 0x0400) && defined(__cplusplus)
+#    define LZO_BROKEN_CDECL_ALT_SYNTAX 1
+#  endif
+#elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
+#  define LZO_BROKEN_CDECL_ALT_SYNTAX 1
+#  define LZO_BROKEN_SIZEOF 1
+#endif
+#endif
+#if defined(__WATCOMC__) && (__WATCOMC__ < 900)
+#  define LZO_BROKEN_INTEGRAL_CONSTANTS 1
+#endif
+#if defined(_CRAY) && defined(_CRAY1)
+#  define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1
+#endif
+#define LZO_PP_STRINGIZE(x)             #x
+#define LZO_PP_MACRO_EXPAND(x)          LZO_PP_STRINGIZE(x)
+#define LZO_PP_CONCAT2(a,b)             a ## b
+#define LZO_PP_CONCAT3(a,b,c)           a ## b ## c
+#define LZO_PP_CONCAT4(a,b,c,d)         a ## b ## c ## d
+#define LZO_PP_CONCAT5(a,b,c,d,e)       a ## b ## c ## d ## e
+#define LZO_PP_ECONCAT2(a,b)            LZO_PP_CONCAT2(a,b)
+#define LZO_PP_ECONCAT3(a,b,c)          LZO_PP_CONCAT3(a,b,c)
+#define LZO_PP_ECONCAT4(a,b,c,d)        LZO_PP_CONCAT4(a,b,c,d)
+#define LZO_PP_ECONCAT5(a,b,c,d,e)      LZO_PP_CONCAT5(a,b,c,d,e)
+#if 1
+#define LZO_CPP_STRINGIZE(x)            #x
+#define LZO_CPP_MACRO_EXPAND(x)         LZO_CPP_STRINGIZE(x)
+#define LZO_CPP_CONCAT2(a,b)            a ## b
+#define LZO_CPP_CONCAT3(a,b,c)          a ## b ## c
+#define LZO_CPP_CONCAT4(a,b,c,d)        a ## b ## c ## d
+#define LZO_CPP_CONCAT5(a,b,c,d,e)      a ## b ## c ## d ## e
+#define LZO_CPP_ECONCAT2(a,b)           LZO_CPP_CONCAT2(a,b)
+#define LZO_CPP_ECONCAT3(a,b,c)         LZO_CPP_CONCAT3(a,b,c)
+#define LZO_CPP_ECONCAT4(a,b,c,d)       LZO_CPP_CONCAT4(a,b,c,d)
+#define LZO_CPP_ECONCAT5(a,b,c,d,e)     LZO_CPP_CONCAT5(a,b,c,d,e)
+#endif
+#define __LZO_MASK_GEN(o,b)     (((((o) << ((b)-1)) - (o)) << 1) + (o))
+#if 1 && defined(__cplusplus)
+#  if !defined(__STDC_CONSTANT_MACROS)
+#    define __STDC_CONSTANT_MACROS 1
+#  endif
+#  if !defined(__STDC_LIMIT_MACROS)
+#    define __STDC_LIMIT_MACROS 1
+#  endif
+#endif
+#if defined(__cplusplus)
+#  define LZO_EXTERN_C extern "C"
+#else
+#  define LZO_EXTERN_C extern
+#endif
+#if !defined(__LZO_OS_OVERRIDE)
+#if (LZO_OS_FREESTANDING)
+#  define LZO_INFO_OS           "freestanding"
+#elif (LZO_OS_EMBEDDED)
+#  define LZO_INFO_OS           "embedded"
+#elif 1 && defined(__IAR_SYSTEMS_ICC__)
+#  define LZO_OS_EMBEDDED       1
+#  define LZO_INFO_OS           "embedded"
+#elif defined(__CYGWIN__) && defined(__GNUC__)
+#  define LZO_OS_CYGWIN         1
+#  define LZO_INFO_OS           "cygwin"
+#elif defined(__EMX__) && defined(__GNUC__)
+#  define LZO_OS_EMX            1
+#  define LZO_INFO_OS           "emx"
+#elif defined(__BEOS__)
+#  define LZO_OS_BEOS           1
+#  define LZO_INFO_OS           "beos"
+#elif defined(__Lynx__)
+#  define LZO_OS_LYNXOS         1
+#  define LZO_INFO_OS           "lynxos"
+#elif defined(__OS400__)
+#  define LZO_OS_OS400          1
+#  define LZO_INFO_OS           "os400"
+#elif defined(__QNX__)
+#  define LZO_OS_QNX            1
+#  define LZO_INFO_OS           "qnx"
+#elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460)
+#  define LZO_OS_DOS32          1
+#  define LZO_INFO_OS           "dos32"
+#elif defined(__BORLANDC__) && defined(__DPMI16__)
+#  define LZO_OS_DOS16          1
+#  define LZO_INFO_OS           "dos16"
+#elif defined(__ZTC__) && defined(DOS386)
+#  define LZO_OS_DOS32          1
+#  define LZO_INFO_OS           "dos32"
+#elif defined(__OS2__) || defined(__OS2V2__)
+#  if (UINT_MAX == LZO_0xffffL)
+#    define LZO_OS_OS216        1
+#    define LZO_INFO_OS         "os216"
+#  elif (UINT_MAX == LZO_0xffffffffL)
+#    define LZO_OS_OS2          1
+#    define LZO_INFO_OS         "os2"
+#  else
+#    error "check your limits.h header"
+#  endif
+#elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64)
+#  define LZO_OS_WIN64          1
+#  define LZO_INFO_OS           "win64"
+#elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__)
+#  define LZO_OS_WIN32          1
+#  define LZO_INFO_OS           "win32"
+#elif defined(__MWERKS__) && defined(__INTEL__)
+#  define LZO_OS_WIN32          1
+#  define LZO_INFO_OS           "win32"
+#elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows)
+#  if (UINT_MAX == LZO_0xffffL)
+#    define LZO_OS_WIN16        1
+#    define LZO_INFO_OS         "win16"
+#  elif (UINT_MAX == LZO_0xffffffffL)
+#    define LZO_OS_WIN32        1
+#    define LZO_INFO_OS         "win32"
+#  else
+#    error "check your limits.h header"
+#  endif
+#elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS))
+#  if (UINT_MAX == LZO_0xffffL)
+#    define LZO_OS_DOS16        1
+#    define LZO_INFO_OS         "dos16"
+#  elif (UINT_MAX == LZO_0xffffffffL)
+#    define LZO_OS_DOS32        1
+#    define LZO_INFO_OS         "dos32"
+#  else
+#    error "check your limits.h header"
+#  endif
+#elif defined(__WATCOMC__)
+#  if defined(__NT__) && (UINT_MAX == LZO_0xffffL)
+#    define LZO_OS_DOS16        1
+#    define LZO_INFO_OS         "dos16"
+#  elif defined(__NT__) && (__WATCOMC__ < 1100)
+#    define LZO_OS_WIN32        1
+#    define LZO_INFO_OS         "win32"
+#  elif defined(__linux__) || defined(__LINUX__)
+#    define LZO_OS_POSIX        1
+#    define LZO_INFO_OS         "posix"
+#  else
+#    error "please specify a target using the -bt compiler option"
+#  endif
+#elif defined(__palmos__)
+#  define LZO_OS_PALMOS         1
+#  define LZO_INFO_OS           "palmos"
+#elif defined(__TOS__) || defined(__atarist__)
+#  define LZO_OS_TOS            1
+#  define LZO_INFO_OS           "tos"
+#elif defined(macintosh) && !defined(__ppc__)
+#  define LZO_OS_MACCLASSIC     1
+#  define LZO_INFO_OS           "macclassic"
+#elif defined(__VMS)
+#  define LZO_OS_VMS            1
+#  define LZO_INFO_OS           "vms"
+#elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
+#  define LZO_OS_CONSOLE        1
+#  define LZO_OS_CONSOLE_PS2    1
+#  define LZO_INFO_OS           "console"
+#  define LZO_INFO_OS_CONSOLE   "ps2"
+#elif (defined(__mips__) && defined(__psp__))
+#  define LZO_OS_CONSOLE        1
+#  define LZO_OS_CONSOLE_PSP    1
+#  define LZO_INFO_OS           "console"
+#  define LZO_INFO_OS_CONSOLE   "psp"
+#else
+#  define LZO_OS_POSIX          1
+#  define LZO_INFO_OS           "posix"
+#endif
+#if (LZO_OS_POSIX)
+#  if defined(_AIX) || defined(__AIX__) || defined(__aix__)
+#    define LZO_OS_POSIX_AIX        1
+#    define LZO_INFO_OS_POSIX       "aix"
+#  elif defined(__FreeBSD__)
+#    define LZO_OS_POSIX_FREEBSD    1
+#    define LZO_INFO_OS_POSIX       "freebsd"
+#  elif defined(__hpux__) || defined(__hpux)
+#    define LZO_OS_POSIX_HPUX       1
+#    define LZO_INFO_OS_POSIX       "hpux"
+#  elif defined(__INTERIX)
+#    define LZO_OS_POSIX_INTERIX    1
+#    define LZO_INFO_OS_POSIX       "interix"
+#  elif defined(__IRIX__) || defined(__irix__)
+#    define LZO_OS_POSIX_IRIX       1
+#    define LZO_INFO_OS_POSIX       "irix"
+#  elif defined(__linux__) || defined(__linux) || defined(__LINUX__)
+#    define LZO_OS_POSIX_LINUX      1
+#    define LZO_INFO_OS_POSIX       "linux"
+#  elif defined(__APPLE__) || defined(__MACOS__)
+#    define LZO_OS_POSIX_MACOSX     1
+#    define LZO_INFO_OS_POSIX       "macosx"
+#  elif defined(__minix__) || defined(__minix)
+#    define LZO_OS_POSIX_MINIX      1
+#    define LZO_INFO_OS_POSIX       "minix"
+#  elif defined(__NetBSD__)
+#    define LZO_OS_POSIX_NETBSD     1
+#    define LZO_INFO_OS_POSIX       "netbsd"
+#  elif defined(__OpenBSD__)
+#    define LZO_OS_POSIX_OPENBSD    1
+#    define LZO_INFO_OS_POSIX       "openbsd"
+#  elif defined(__osf__)
+#    define LZO_OS_POSIX_OSF        1
+#    define LZO_INFO_OS_POSIX       "osf"
+#  elif defined(__solaris__) || defined(__sun)
+#    if defined(__SVR4) || defined(__svr4__)
+#      define LZO_OS_POSIX_SOLARIS  1
+#      define LZO_INFO_OS_POSIX     "solaris"
+#    else
+#      define LZO_OS_POSIX_SUNOS    1
+#      define LZO_INFO_OS_POSIX     "sunos"
+#    endif
+#  elif defined(__ultrix__) || defined(__ultrix)
+#    define LZO_OS_POSIX_ULTRIX     1
+#    define LZO_INFO_OS_POSIX       "ultrix"
+#  elif defined(_UNICOS)
+#    define LZO_OS_POSIX_UNICOS     1
+#    define LZO_INFO_OS_POSIX       "unicos"
+#  else
+#    define LZO_OS_POSIX_UNKNOWN    1
+#    define LZO_INFO_OS_POSIX       "unknown"
+#  endif
+#endif
+#endif
+#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
+#  if (UINT_MAX != LZO_0xffffL)
+#    error "this should not happen"
+#  endif
+#  if (ULONG_MAX != LZO_0xffffffffL)
+#    error "this should not happen"
+#  endif
+#endif
+#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64)
+#  if (UINT_MAX != LZO_0xffffffffL)
+#    error "this should not happen"
+#  endif
+#  if (ULONG_MAX != LZO_0xffffffffL)
+#    error "this should not happen"
+#  endif
+#endif
+#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__)
+#  define LZO_CC_CILLY          1
+#  define LZO_INFO_CC           "Cilly"
+#  if defined(__CILLY__)
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__CILLY__)
+#  else
+#    define LZO_INFO_CCVER      "unknown"
+#  endif
+#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__)
+#  define LZO_CC_SDCC           1
+#  define LZO_INFO_CC           "sdcc"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(SDCC)
+#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
+#  define LZO_CC_PATHSCALE      (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__)
+#  define LZO_INFO_CC           "Pathscale C"
+#  define LZO_INFO_CCVER        __PATHSCALE__
+#elif defined(__INTEL_COMPILER)
+#  define LZO_CC_INTELC         1
+#  define LZO_INFO_CC           "Intel C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__INTEL_COMPILER)
+#  if defined(_WIN32) || defined(_WIN64)
+#    define LZO_CC_SYNTAX_MSC 1
+#  else
+#    define LZO_CC_SYNTAX_GNUC 1
+#  endif
+#elif defined(__POCC__) && defined(_WIN32)
+#  define LZO_CC_PELLESC        1
+#  define LZO_INFO_CC           "Pelles C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__POCC__)
+#elif defined(__clang__) && defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+#  if defined(__GNUC_PATCHLEVEL__)
+#    define LZO_CC_CLANG_GNUC   (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
+#  else
+#    define LZO_CC_CLANG_GNUC   (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
+#  endif
+#  if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__)
+#    define LZO_CC_CLANG_CLANG  (__clang_major__ * 0x10000L + __clang_minor__ * 0x100 + __clang_patchlevel__)
+#  else
+#    define LZO_CC_CLANG_CLANG  0x010000L
+#  endif
+#  define LZO_CC_CLANG          LZO_CC_CLANG_GNUC
+#  define LZO_INFO_CC           "clang"
+#  define LZO_INFO_CCVER        __VERSION__
+#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+#  if defined(__GNUC_PATCHLEVEL__)
+#    define LZO_CC_LLVM_GNUC    (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
+#  else
+#    define LZO_CC_LLVM_GNUC    (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
+#  endif
+#  define LZO_CC_LLVM           LZO_CC_LLVM_GNUC
+#  define LZO_INFO_CC           "llvm-gcc"
+#  define LZO_INFO_CCVER        __VERSION__
+#elif defined(__GNUC__) && defined(__VERSION__)
+#  if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
+#    define LZO_CC_GNUC         (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
+#  elif defined(__GNUC_MINOR__)
+#    define LZO_CC_GNUC         (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
+#  else
+#    define LZO_CC_GNUC         (__GNUC__ * 0x10000L)
+#  endif
+#  define LZO_INFO_CC           "gcc"
+#  define LZO_INFO_CCVER        __VERSION__
+#elif defined(__ACK__) && defined(_ACK)
+#  define LZO_CC_ACK            1
+#  define LZO_INFO_CC           "Amsterdam Compiler Kit C"
+#  define LZO_INFO_CCVER        "unknown"
+#elif defined(__AZTEC_C__)
+#  define LZO_CC_AZTECC         1
+#  define LZO_INFO_CC           "Aztec C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__AZTEC_C__)
+#elif defined(__CODEGEARC__)
+#  define LZO_CC_CODEGEARC      1
+#  define LZO_INFO_CC           "CodeGear C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__CODEGEARC__)
+#elif defined(__BORLANDC__)
+#  define LZO_CC_BORLANDC       1
+#  define LZO_INFO_CC           "Borland C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__BORLANDC__)
+#elif defined(_CRAYC) && defined(_RELEASE)
+#  define LZO_CC_CRAYC          1
+#  define LZO_INFO_CC           "Cray C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(_RELEASE)
+#elif defined(__DMC__) && defined(__SC__)
+#  define LZO_CC_DMC            1
+#  define LZO_INFO_CC           "Digital Mars C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__DMC__)
+#elif defined(__DECC)
+#  define LZO_CC_DECC           1
+#  define LZO_INFO_CC           "DEC C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__DECC)
+#elif defined(__HIGHC__)
+#  define LZO_CC_HIGHC          1
+#  define LZO_INFO_CC           "MetaWare High C"
+#  define LZO_INFO_CCVER        "unknown"
+#elif defined(__IAR_SYSTEMS_ICC__)
+#  define LZO_CC_IARC           1
+#  define LZO_INFO_CC           "IAR C"
+#  if defined(__VER__)
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__VER__)
+#  else
+#    define LZO_INFO_CCVER      "unknown"
+#  endif
+#elif defined(__IBMC__)
+#  define LZO_CC_IBMC           1
+#  define LZO_INFO_CC           "IBM C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__IBMC__)
+#elif defined(__KEIL__) && defined(__C166__)
+#  define LZO_CC_KEILC          1
+#  define LZO_INFO_CC           "Keil C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__C166__)
+#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL)
+#  define LZO_CC_LCCWIN32       1
+#  define LZO_INFO_CC           "lcc-win32"
+#  define LZO_INFO_CCVER        "unknown"
+#elif defined(__LCC__)
+#  define LZO_CC_LCC            1
+#  define LZO_INFO_CC           "lcc"
+#  if defined(__LCC_VERSION__)
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__LCC_VERSION__)
+#  else
+#    define LZO_INFO_CCVER      "unknown"
+#  endif
+#elif defined(_MSC_VER)
+#  define LZO_CC_MSC            1
+#  define LZO_INFO_CC           "Microsoft C"
+#  if defined(_MSC_FULL_VER)
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER)
+#  else
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(_MSC_VER)
+#  endif
+#elif defined(__MWERKS__)
+#  define LZO_CC_MWERKS         1
+#  define LZO_INFO_CC           "Metrowerks C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__MWERKS__)
+#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
+#  define LZO_CC_NDPC           1
+#  define LZO_INFO_CC           "Microway NDP C"
+#  define LZO_INFO_CCVER        "unknown"
+#elif defined(__PACIFIC__)
+#  define LZO_CC_PACIFICC       1
+#  define LZO_INFO_CC           "Pacific C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__PACIFIC__)
+#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
+#  define LZO_CC_PGI            1
+#  define LZO_INFO_CC           "Portland Group PGI C"
+#  define LZO_INFO_CCVER        "unknown"
+#elif defined(__PUREC__) && defined(__TOS__)
+#  define LZO_CC_PUREC          1
+#  define LZO_INFO_CC           "Pure C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__PUREC__)
+#elif defined(__SC__) && defined(__ZTC__)
+#  define LZO_CC_SYMANTECC      1
+#  define LZO_INFO_CC           "Symantec C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__SC__)
+#elif defined(__SUNPRO_C)
+#  define LZO_INFO_CC           "SunPro C"
+#  if ((__SUNPRO_C)+0 > 0)
+#    define LZO_CC_SUNPROC      __SUNPRO_C
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__SUNPRO_C)
+#  else
+#    define LZO_CC_SUNPROC      1
+#    define LZO_INFO_CCVER      "unknown"
+#  endif
+#elif defined(__SUNPRO_CC)
+#  define LZO_INFO_CC           "SunPro C"
+#  if ((__SUNPRO_CC)+0 > 0)
+#    define LZO_CC_SUNPROC      __SUNPRO_CC
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__SUNPRO_CC)
+#  else
+#    define LZO_CC_SUNPROC      1
+#    define LZO_INFO_CCVER      "unknown"
+#  endif
+#elif defined(__TINYC__)
+#  define LZO_CC_TINYC          1
+#  define LZO_INFO_CC           "Tiny C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__TINYC__)
+#elif defined(__TSC__)
+#  define LZO_CC_TOPSPEEDC      1
+#  define LZO_INFO_CC           "TopSpeed C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__TSC__)
+#elif defined(__WATCOMC__)
+#  define LZO_CC_WATCOMC        1
+#  define LZO_INFO_CC           "Watcom C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__WATCOMC__)
+#elif defined(__TURBOC__)
+#  define LZO_CC_TURBOC         1
+#  define LZO_INFO_CC           "Turbo C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__TURBOC__)
+#elif defined(__ZTC__)
+#  define LZO_CC_ZORTECHC       1
+#  define LZO_INFO_CC           "Zortech C"
+#  if (__ZTC__ == 0x310)
+#    define LZO_INFO_CCVER      "0x310"
+#  else
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__ZTC__)
+#  endif
+#else
+#  define LZO_CC_UNKNOWN        1
+#  define LZO_INFO_CC           "unknown"
+#  define LZO_INFO_CCVER        "unknown"
+#endif
+#if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
+#  error "LZO_CC_MSC: _MSC_FULL_VER is not defined"
+#endif
+#if !defined(__LZO_ARCH_OVERRIDE) && !(LZO_ARCH_GENERIC) && defined(_CRAY)
+#  if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY)
+#    if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E)
+#      define LZO_ARCH_CRAY_MPP     1
+#    elif defined(_CRAY1)
+#      define LZO_ARCH_CRAY_PVP     1
+#    endif
+#  endif
+#endif
+#if !defined(__LZO_ARCH_OVERRIDE)
+#if (LZO_ARCH_GENERIC)
+#  define LZO_INFO_ARCH             "generic"
+#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
+#  define LZO_ARCH_I086             1
+#  define LZO_ARCH_IA16             1
+#  define LZO_INFO_ARCH             "i086"
+#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
+#  define LZO_ARCH_ALPHA            1
+#  define LZO_INFO_ARCH             "alpha"
+#elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E))
+#  define LZO_ARCH_ALPHA            1
+#  define LZO_INFO_ARCH             "alpha"
+#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
+#  define LZO_ARCH_AMD64            1
+#  define LZO_INFO_ARCH             "amd64"
+#elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB))
+#  define LZO_ARCH_ARM              1
+#  define LZO_ARCH_ARM_THUMB        1
+#  define LZO_INFO_ARCH             "arm_thumb"
+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__)
+#  define LZO_ARCH_ARM              1
+#  if defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 1)
+#    define LZO_ARCH_ARM_THUMB      1
+#    define LZO_INFO_ARCH           "arm_thumb"
+#  elif defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 2)
+#    define LZO_INFO_ARCH           "arm"
+#  else
+#    define LZO_INFO_ARCH           "arm"
+#  endif
+#elif defined(__arm__) || defined(_M_ARM)
+#  define LZO_ARCH_ARM              1
+#  define LZO_INFO_ARCH             "arm"
+#elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__)
+#  define LZO_ARCH_AVR              1
+#  define LZO_INFO_ARCH             "avr"
+#elif defined(__avr32__) || defined(__AVR32__)
+#  define LZO_ARCH_AVR32            1
+#  define LZO_INFO_ARCH             "avr32"
+#elif defined(__bfin__)
+#  define LZO_ARCH_BLACKFIN         1
+#  define LZO_INFO_ARCH             "blackfin"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__C166__)
+#  define LZO_ARCH_C166             1
+#  define LZO_INFO_ARCH             "c166"
+#elif defined(__cris__)
+#  define LZO_ARCH_CRIS             1
+#  define LZO_INFO_ARCH             "cris"
+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__)
+#  define LZO_ARCH_EZ80             1
+#  define LZO_INFO_ARCH             "ez80"
+#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+#  define LZO_ARCH_H8300            1
+#  define LZO_INFO_ARCH             "h8300"
+#elif defined(__hppa__) || defined(__hppa)
+#  define LZO_ARCH_HPPA             1
+#  define LZO_INFO_ARCH             "hppa"
+#elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386)
+#  define LZO_ARCH_I386             1
+#  define LZO_ARCH_IA32             1
+#  define LZO_INFO_ARCH             "i386"
+#elif (LZO_CC_ZORTECHC && defined(__I86__))
+#  define LZO_ARCH_I386             1
+#  define LZO_ARCH_IA32             1
+#  define LZO_INFO_ARCH             "i386"
+#elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386)
+#  define LZO_ARCH_I386             1
+#  define LZO_ARCH_IA32             1
+#  define LZO_INFO_ARCH             "i386"
+#elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64)
+#  define LZO_ARCH_IA64             1
+#  define LZO_INFO_ARCH             "ia64"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__)
+#  define LZO_ARCH_M16C             1
+#  define LZO_INFO_ARCH             "m16c"
+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__)
+#  define LZO_ARCH_M16C             1
+#  define LZO_INFO_ARCH             "m16c"
+#elif defined(__m32r__)
+#  define LZO_ARCH_M32R             1
+#  define LZO_INFO_ARCH             "m32r"
+#elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K)
+#  define LZO_ARCH_M68K             1
+#  define LZO_INFO_ARCH             "m68k"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__C251__)
+#  define LZO_ARCH_MCS251           1
+#  define LZO_INFO_ARCH             "mcs251"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__C51__)
+#  define LZO_ARCH_MCS51            1
+#  define LZO_INFO_ARCH             "mcs51"
+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__)
+#  define LZO_ARCH_MCS51            1
+#  define LZO_INFO_ARCH             "mcs51"
+#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000)
+#  define LZO_ARCH_MIPS             1
+#  define LZO_INFO_ARCH             "mips"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__)
+#  define LZO_ARCH_MSP430           1
+#  define LZO_INFO_ARCH             "msp430"
+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__)
+#  define LZO_ARCH_MSP430           1
+#  define LZO_INFO_ARCH             "msp430"
+#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
+#  define LZO_ARCH_POWERPC          1
+#  define LZO_INFO_ARCH             "powerpc"
+#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
+#  define LZO_ARCH_S390             1
+#  define LZO_INFO_ARCH             "s390"
+#elif defined(__sh__) || defined(_M_SH)
+#  define LZO_ARCH_SH               1
+#  define LZO_INFO_ARCH             "sh"
+#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8)
+#  define LZO_ARCH_SPARC            1
+#  define LZO_INFO_ARCH             "sparc"
+#elif defined(__SPU__)
+#  define LZO_ARCH_SPU              1
+#  define LZO_INFO_ARCH             "spu"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__z80)
+#  define LZO_ARCH_Z80              1
+#  define LZO_INFO_ARCH             "z80"
+#elif (LZO_ARCH_CRAY_PVP)
+#  if defined(_CRAYSV1)
+#    define LZO_ARCH_CRAY_SV1       1
+#    define LZO_INFO_ARCH           "cray_sv1"
+#  elif (_ADDR64)
+#    define LZO_ARCH_CRAY_T90       1
+#    define LZO_INFO_ARCH           "cray_t90"
+#  elif (_ADDR32)
+#    define LZO_ARCH_CRAY_YMP       1
+#    define LZO_INFO_ARCH           "cray_ymp"
+#  else
+#    define LZO_ARCH_CRAY_XMP       1
+#    define LZO_INFO_ARCH           "cray_xmp"
+#  endif
+#else
+#  define LZO_ARCH_UNKNOWN          1
+#  define LZO_INFO_ARCH             "unknown"
+#endif
+#endif
+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2)
+#  error "FIXME - missing define for CPU architecture"
+#endif
+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32)
+#  error "FIXME - missing WIN32 define for CPU architecture"
+#endif
+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64)
+#  error "FIXME - missing WIN64 define for CPU architecture"
+#endif
+#if (LZO_OS_OS216 || LZO_OS_WIN16)
+#  define LZO_ARCH_I086PM           1
+#  define LZO_ARCH_IA16PM           1
+#elif 1 && (LZO_OS_DOS16 && defined(BLX286))
+#  define LZO_ARCH_I086PM           1
+#  define LZO_ARCH_IA16PM           1
+#elif 1 && (LZO_OS_DOS16 && defined(DOSX286))
+#  define LZO_ARCH_I086PM           1
+#  define LZO_ARCH_IA16PM           1
+#elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__))
+#  define LZO_ARCH_I086PM           1
+#  define LZO_ARCH_IA16PM           1
+#endif
+#if (LZO_ARCH_ARM_THUMB) && !(LZO_ARCH_ARM)
+#  error "this should not happen"
+#endif
+#if (LZO_ARCH_I086PM) && !(LZO_ARCH_I086)
+#  error "this should not happen"
+#endif
+#if (LZO_ARCH_I086)
+#  if (UINT_MAX != LZO_0xffffL)
+#    error "this should not happen"
+#  endif
+#  if (ULONG_MAX != LZO_0xffffffffL)
+#    error "this should not happen"
+#  endif
+#endif
+#if (LZO_ARCH_I386)
+#  if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__)
+#    error "this should not happen"
+#  endif
+#  if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__)
+#    error "this should not happen"
+#  endif
+#  if (ULONG_MAX != LZO_0xffffffffL)
+#    error "this should not happen"
+#  endif
+#endif
+#if !defined(__LZO_MM_OVERRIDE)
+#if (LZO_ARCH_I086)
+#if (UINT_MAX != LZO_0xffffL)
+#  error "this should not happen"
+#endif
+#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM)
+#  define LZO_MM_TINY           1
+#elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM)
+#  define LZO_MM_HUGE           1
+#elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL)
+#  define LZO_MM_SMALL          1
+#elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM)
+#  define LZO_MM_MEDIUM         1
+#elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM)
+#  define LZO_MM_COMPACT        1
+#elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL)
+#  define LZO_MM_LARGE          1
+#elif (LZO_CC_AZTECC)
+#  if defined(_LARGE_CODE) && defined(_LARGE_DATA)
+#    define LZO_MM_LARGE        1
+#  elif defined(_LARGE_CODE)
+#    define LZO_MM_MEDIUM       1
+#  elif defined(_LARGE_DATA)
+#    define LZO_MM_COMPACT      1
+#  else
+#    define LZO_MM_SMALL        1
+#  endif
+#elif (LZO_CC_ZORTECHC && defined(__VCM__))
+#  define LZO_MM_LARGE          1
+#else
+#  error "unknown memory model"
+#endif
+#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
+#define LZO_HAVE_MM_HUGE_PTR        1
+#define LZO_HAVE_MM_HUGE_ARRAY      1
+#if (LZO_MM_TINY)
+#  undef LZO_HAVE_MM_HUGE_ARRAY
+#endif
+#if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC)
+#  undef LZO_HAVE_MM_HUGE_PTR
+#  undef LZO_HAVE_MM_HUGE_ARRAY
+#elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
+#  undef LZO_HAVE_MM_HUGE_ARRAY
+#elif (LZO_CC_MSC && defined(_QC))
+#  undef LZO_HAVE_MM_HUGE_ARRAY
+#  if (_MSC_VER < 600)
+#    undef LZO_HAVE_MM_HUGE_PTR
+#  endif
+#elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295))
+#  undef LZO_HAVE_MM_HUGE_ARRAY
+#endif
+#if (LZO_ARCH_I086PM) && !(LZO_HAVE_MM_HUGE_PTR)
+#  if (LZO_OS_DOS16)
+#    error "this should not happen"
+#  elif (LZO_CC_ZORTECHC)
+#  else
+#    error "this should not happen"
+#  endif
+#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
+   extern void __near __cdecl _AHSHIFT(void);
+#  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
+#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
+   extern void __near __cdecl _AHSHIFT(void);
+#  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
+#elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC)
+   extern void __near __cdecl _AHSHIFT(void);
+#  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
+#elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295))
+   extern void __near __cdecl _AHSHIFT(void);
+#  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
+#elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16)
+#  define LZO_MM_AHSHIFT      12
+#elif (LZO_CC_WATCOMC)
+   extern unsigned char _HShift;
+#  define LZO_MM_AHSHIFT      ((unsigned) _HShift)
+#else
+#  error "FIXME - implement LZO_MM_AHSHIFT"
+#endif
+#ifdef __cplusplus
+}
+#endif
+#endif
+#elif (LZO_ARCH_C166)
+#if !defined(__MODEL__)
+#  error "FIXME - C166 __MODEL__"
+#elif ((__MODEL__) == 0)
+#  define LZO_MM_SMALL          1
+#elif ((__MODEL__) == 1)
+#  define LZO_MM_SMALL          1
+#elif ((__MODEL__) == 2)
+#  define LZO_MM_LARGE          1
+#elif ((__MODEL__) == 3)
+#  define LZO_MM_TINY           1
+#elif ((__MODEL__) == 4)
+#  define LZO_MM_XTINY          1
+#elif ((__MODEL__) == 5)
+#  define LZO_MM_XSMALL         1
+#else
+#  error "FIXME - C166 __MODEL__"
+#endif
+#elif (LZO_ARCH_MCS251)
+#if !defined(__MODEL__)
+#  error "FIXME - MCS251 __MODEL__"
+#elif ((__MODEL__) == 0)
+#  define LZO_MM_SMALL          1
+#elif ((__MODEL__) == 2)
+#  define LZO_MM_LARGE          1
+#elif ((__MODEL__) == 3)
+#  define LZO_MM_TINY           1
+#elif ((__MODEL__) == 4)
+#  define LZO_MM_XTINY          1
+#elif ((__MODEL__) == 5)
+#  define LZO_MM_XSMALL         1
+#else
+#  error "FIXME - MCS251 __MODEL__"
+#endif
+#elif (LZO_ARCH_MCS51)
+#if !defined(__MODEL__)
+#  error "FIXME - MCS51 __MODEL__"
+#elif ((__MODEL__) == 1)
+#  define LZO_MM_SMALL          1
+#elif ((__MODEL__) == 2)
+#  define LZO_MM_LARGE          1
+#elif ((__MODEL__) == 3)
+#  define LZO_MM_TINY           1
+#elif ((__MODEL__) == 4)
+#  define LZO_MM_XTINY          1
+#elif ((__MODEL__) == 5)
+#  define LZO_MM_XSMALL         1
+#else
+#  error "FIXME - MCS51 __MODEL__"
+#endif
+#elif (LZO_ARCH_CRAY_PVP)
+#  define LZO_MM_PVP            1
+#else
+#  define LZO_MM_FLAT           1
+#endif
+#if (LZO_MM_COMPACT)
+#  define LZO_INFO_MM           "compact"
+#elif (LZO_MM_FLAT)
+#  define LZO_INFO_MM           "flat"
+#elif (LZO_MM_HUGE)
+#  define LZO_INFO_MM           "huge"
+#elif (LZO_MM_LARGE)
+#  define LZO_INFO_MM           "large"
+#elif (LZO_MM_MEDIUM)
+#  define LZO_INFO_MM           "medium"
+#elif (LZO_MM_PVP)
+#  define LZO_INFO_MM           "pvp"
+#elif (LZO_MM_SMALL)
+#  define LZO_INFO_MM           "small"
+#elif (LZO_MM_TINY)
+#  define LZO_INFO_MM           "tiny"
+#else
+#  error "unknown memory model"
+#endif
+#endif
+#if defined(SIZEOF_SHORT)
+#  define LZO_SIZEOF_SHORT          (SIZEOF_SHORT)
+#endif
+#if defined(SIZEOF_INT)
+#  define LZO_SIZEOF_INT            (SIZEOF_INT)
+#endif
+#if defined(SIZEOF_LONG)
+#  define LZO_SIZEOF_LONG           (SIZEOF_LONG)
+#endif
+#if defined(SIZEOF_LONG_LONG)
+#  define LZO_SIZEOF_LONG_LONG      (SIZEOF_LONG_LONG)
+#endif
+#if defined(SIZEOF___INT16)
+#  define LZO_SIZEOF___INT16        (SIZEOF___INT16)
+#endif
+#if defined(SIZEOF___INT32)
+#  define LZO_SIZEOF___INT32        (SIZEOF___INT32)
+#endif
+#if defined(SIZEOF___INT64)
+#  define LZO_SIZEOF___INT64        (SIZEOF___INT64)
+#endif
+#if defined(SIZEOF_VOID_P)
+#  define LZO_SIZEOF_VOID_P         (SIZEOF_VOID_P)
+#endif
+#if defined(SIZEOF_SIZE_T)
+#  define LZO_SIZEOF_SIZE_T         (SIZEOF_SIZE_T)
+#endif
+#if defined(SIZEOF_PTRDIFF_T)
+#  define LZO_SIZEOF_PTRDIFF_T      (SIZEOF_PTRDIFF_T)
+#endif
+#define __LZO_LSR(x,b)    (((x)+0ul) >> (b))
+#if !defined(LZO_SIZEOF_SHORT)
+#  if (LZO_ARCH_CRAY_PVP)
+#    define LZO_SIZEOF_SHORT        8
+#  elif (USHRT_MAX == LZO_0xffffL)
+#    define LZO_SIZEOF_SHORT        2
+#  elif (__LZO_LSR(USHRT_MAX,7) == 1)
+#    define LZO_SIZEOF_SHORT        1
+#  elif (__LZO_LSR(USHRT_MAX,15) == 1)
+#    define LZO_SIZEOF_SHORT        2
+#  elif (__LZO_LSR(USHRT_MAX,31) == 1)
+#    define LZO_SIZEOF_SHORT        4
+#  elif (__LZO_LSR(USHRT_MAX,63) == 1)
+#    define LZO_SIZEOF_SHORT        8
+#  elif (__LZO_LSR(USHRT_MAX,127) == 1)
+#    define LZO_SIZEOF_SHORT        16
+#  else
+#    error "LZO_SIZEOF_SHORT"
+#  endif
+#endif
+#if !defined(LZO_SIZEOF_INT)
+#  if (LZO_ARCH_CRAY_PVP)
+#    define LZO_SIZEOF_INT          8
+#  elif (UINT_MAX == LZO_0xffffL)
+#    define LZO_SIZEOF_INT          2
+#  elif (UINT_MAX == LZO_0xffffffffL)
+#    define LZO_SIZEOF_INT          4
+#  elif (__LZO_LSR(UINT_MAX,7) == 1)
+#    define LZO_SIZEOF_INT          1
+#  elif (__LZO_LSR(UINT_MAX,15) == 1)
+#    define LZO_SIZEOF_INT          2
+#  elif (__LZO_LSR(UINT_MAX,31) == 1)
+#    define LZO_SIZEOF_INT          4
+#  elif (__LZO_LSR(UINT_MAX,63) == 1)
+#    define LZO_SIZEOF_INT          8
+#  elif (__LZO_LSR(UINT_MAX,127) == 1)
+#    define LZO_SIZEOF_INT          16
+#  else
+#    error "LZO_SIZEOF_INT"
+#  endif
+#endif
+#if !defined(LZO_SIZEOF_LONG)
+#  if (ULONG_MAX == LZO_0xffffffffL)
+#    define LZO_SIZEOF_LONG         4
+#  elif (__LZO_LSR(ULONG_MAX,7) == 1)
+#    define LZO_SIZEOF_LONG         1
+#  elif (__LZO_LSR(ULONG_MAX,15) == 1)
+#    define LZO_SIZEOF_LONG         2
+#  elif (__LZO_LSR(ULONG_MAX,31) == 1)
+#    define LZO_SIZEOF_LONG         4
+#  elif (__LZO_LSR(ULONG_MAX,63) == 1)
+#    define LZO_SIZEOF_LONG         8
+#  elif (__LZO_LSR(ULONG_MAX,127) == 1)
+#    define LZO_SIZEOF_LONG         16
+#  else
+#    error "LZO_SIZEOF_LONG"
+#  endif
+#endif
+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
+#  if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
+#    if (LZO_CC_GNUC >= 0x030300ul)
+#      if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0)
+#        define LZO_SIZEOF_LONG_LONG      LZO_SIZEOF_LONG
+#      elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1)
+#        define LZO_SIZEOF_LONG_LONG      4
+#      endif
+#    endif
+#  endif
+#endif
+#endif
+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
+#if (LZO_ARCH_I086 && LZO_CC_DMC)
+#elif (LZO_CC_CILLY) && defined(__GNUC__)
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400))
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_OS_WIN64 || defined(_WIN64))
+#  define LZO_SIZEOF___INT64        8
+#elif (LZO_ARCH_I386 && (LZO_CC_DMC))
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700)))
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC))
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
+#  define LZO_SIZEOF___INT64        8
+#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC))
+#  define LZO_SIZEOF___INT64        8
+#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
+#  define LZO_SIZEOF___INT64        8
+#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100)))
+#  define LZO_SIZEOF___INT64        8
+#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64))
+#  define LZO_SIZEOF___INT64        8
+#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2)
+#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+#  define LZO_SIZEOF_LONG_LONG      8
+#endif
+#endif
+#endif
+#if defined(__cplusplus) && (LZO_CC_GNUC)
+#  if (LZO_CC_GNUC < 0x020800ul)
+#    undef LZO_SIZEOF_LONG_LONG
+#  endif
+#endif
+#if (LZO_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG)
+#  undef LZO_SIZEOF_LONG_LONG
+#endif
+#if !defined(LZO_SIZEOF_VOID_P)
+#if (LZO_ARCH_I086)
+#  define __LZO_WORDSIZE            2
+#  if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
+#    define LZO_SIZEOF_VOID_P       2
+#  elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
+#    define LZO_SIZEOF_VOID_P       4
+#  else
+#    error "LZO_MM"
+#  endif
+#elif (LZO_ARCH_AVR || LZO_ARCH_Z80)
+#  define __LZO_WORDSIZE            1
+#  define LZO_SIZEOF_VOID_P         2
+#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430)
+#  define LZO_SIZEOF_VOID_P         2
+#elif (LZO_ARCH_H8300)
+#  if defined(__NORMAL_MODE__)
+#    define __LZO_WORDSIZE          4
+#    define LZO_SIZEOF_VOID_P       2
+#  elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+#    define __LZO_WORDSIZE          4
+#    define LZO_SIZEOF_VOID_P       4
+#  else
+#    define __LZO_WORDSIZE          2
+#    define LZO_SIZEOF_VOID_P       2
+#  endif
+#  if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
+#    define LZO_SIZEOF_SIZE_T       LZO_SIZEOF_INT
+#    define LZO_SIZEOF_PTRDIFF_T    LZO_SIZEOF_INT
+#  endif
+#elif (LZO_ARCH_M16C)
+#  define __LZO_WORDSIZE            2
+#  if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
+#    define LZO_SIZEOF_VOID_P       4
+#  else
+#    define LZO_SIZEOF_VOID_P       2
+#  endif
+#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
+#  define __LZO_WORDSIZE            8
+#  define LZO_SIZEOF_VOID_P         4
+#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
+#  define __LZO_WORDSIZE            8
+#  define LZO_SIZEOF_VOID_P         8
+#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
+#  define LZO_SIZEOF_VOID_P         LZO_SIZEOF_LONG
+#  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_LONG
+#  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_LONG
+#elif (LZO_OS_OS400 || defined(__OS400__))
+#  define __LZO_WORDSIZE            LZO_SIZEOF_LONG
+#  define LZO_SIZEOF_VOID_P         16
+#  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_LONG
+#  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_LONG
+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
+#  define LZO_SIZEOF_VOID_P         8
+#  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_LONG
+#  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_LONG
+#elif (LZO_ARCH_SPU)
+# if 0
+#  define __LZO_WORDSIZE            16
+# endif
+#  define LZO_SIZEOF_VOID_P         4
+#else
+#  define LZO_SIZEOF_VOID_P         LZO_SIZEOF_LONG
+#endif
+#endif
+#if !defined(LZO_WORDSIZE)
+#  if defined(__LZO_WORDSIZE)
+#    define LZO_WORDSIZE            __LZO_WORDSIZE
+#  else
+#    define LZO_WORDSIZE            LZO_SIZEOF_VOID_P
+#  endif
+#endif
+#if !defined(LZO_SIZEOF_SIZE_T)
+#if (LZO_ARCH_I086 || LZO_ARCH_M16C)
+#  define LZO_SIZEOF_SIZE_T         2
+#else
+#  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_VOID_P
+#endif
+#endif
+#if !defined(LZO_SIZEOF_PTRDIFF_T)
+#if (LZO_ARCH_I086)
+#  if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE)
+#    define LZO_SIZEOF_PTRDIFF_T    LZO_SIZEOF_VOID_P
+#  elif (LZO_MM_COMPACT || LZO_MM_LARGE)
+#    if (LZO_CC_BORLANDC || LZO_CC_TURBOC)
+#      define LZO_SIZEOF_PTRDIFF_T  4
+#    else
+#      define LZO_SIZEOF_PTRDIFF_T  2
+#    endif
+#  else
+#    error "LZO_MM"
+#  endif
+#else
+#  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_SIZE_T
+#endif
+#endif
+#if (LZO_ABI_NEUTRAL_ENDIAN)
+#  undef LZO_ABI_BIG_ENDIAN
+#  undef LZO_ABI_LITTLE_ENDIAN
+#elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN)
+#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP)
+#  define LZO_ABI_BIG_ENDIAN        1
+#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64)
+#  define LZO_ABI_LITTLE_ENDIAN     1
+#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
+#  define LZO_ABI_LITTLE_ENDIAN     1
+#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390)
+#  define LZO_ABI_BIG_ENDIAN        1
+#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
+#  if (__LITTLE_ENDIAN__ == 1)
+#    define LZO_ABI_LITTLE_ENDIAN   1
+#  else
+#    define LZO_ABI_BIG_ENDIAN      1
+#  endif
+#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
+#  define LZO_ABI_BIG_ENDIAN        1
+#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
+#  define LZO_ABI_LITTLE_ENDIAN     1
+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
+#  define LZO_ABI_BIG_ENDIAN        1
+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
+#  define LZO_ABI_LITTLE_ENDIAN     1
+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
+#  define LZO_ABI_BIG_ENDIAN        1
+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
+#  define LZO_ABI_LITTLE_ENDIAN     1
+#endif
+#endif
+#if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN)
+#  error "this should not happen"
+#endif
+#if (LZO_ABI_BIG_ENDIAN)
+#  define LZO_INFO_ABI_ENDIAN       "be"
+#elif (LZO_ABI_LITTLE_ENDIAN)
+#  define LZO_INFO_ABI_ENDIAN       "le"
+#elif (LZO_ABI_NEUTRAL_ENDIAN)
+#  define LZO_INFO_ABI_ENDIAN       "neutral"
+#endif
+#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
+#  define LZO_ABI_I8LP16         1
+#  define LZO_INFO_ABI_PM       "i8lp16"
+#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
+#  define LZO_ABI_ILP16         1
+#  define LZO_INFO_ABI_PM       "ilp16"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
+#  define LZO_ABI_ILP32         1
+#  define LZO_INFO_ABI_PM       "ilp32"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8)
+#  define LZO_ABI_LLP64         1
+#  define LZO_INFO_ABI_PM       "llp64"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
+#  define LZO_ABI_LP64          1
+#  define LZO_INFO_ABI_PM       "lp64"
+#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
+#  define LZO_ABI_ILP64         1
+#  define LZO_INFO_ABI_PM       "ilp64"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4)
+#  define LZO_ABI_IP32L64       1
+#  define LZO_INFO_ABI_PM       "ip32l64"
+#endif
+#if !defined(__LZO_LIBC_OVERRIDE)
+#if (LZO_LIBC_NAKED)
+#  define LZO_INFO_LIBC         "naked"
+#elif (LZO_LIBC_FREESTANDING)
+#  define LZO_INFO_LIBC         "freestanding"
+#elif (LZO_LIBC_MOSTLY_FREESTANDING)
+#  define LZO_INFO_LIBC         "mfreestanding"
+#elif (LZO_LIBC_ISOC90)
+#  define LZO_INFO_LIBC         "isoc90"
+#elif (LZO_LIBC_ISOC99)
+#  define LZO_INFO_LIBC         "isoc99"
+#elif defined(__dietlibc__)
+#  define LZO_LIBC_DIETLIBC     1
+#  define LZO_INFO_LIBC         "dietlibc"
+#elif defined(_NEWLIB_VERSION)
+#  define LZO_LIBC_NEWLIB       1
+#  define LZO_INFO_LIBC         "newlib"
+#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
+#  if defined(__UCLIBC_SUBLEVEL__)
+#    define LZO_LIBC_UCLIBC     (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__)
+#  else
+#    define LZO_LIBC_UCLIBC     0x00090bL
+#  endif
+#  define LZO_INFO_LIBC         "uclibc"
+#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
+#  define LZO_LIBC_GLIBC        (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100)
+#  define LZO_INFO_LIBC         "glibc"
+#elif (LZO_CC_MWERKS) && defined(__MSL__)
+#  define LZO_LIBC_MSL          __MSL__
+#  define LZO_INFO_LIBC         "msl"
+#elif 1 && defined(__IAR_SYSTEMS_ICC__)
+#  define LZO_LIBC_ISOC90       1
+#  define LZO_INFO_LIBC         "isoc90"
+#else
+#  define LZO_LIBC_DEFAULT      1
+#  define LZO_INFO_LIBC         "default"
+#endif
+#endif
+#if !defined(__lzo_gnuc_extension__)
+#if (LZO_CC_GNUC >= 0x020800ul)
+#  define __lzo_gnuc_extension__    __extension__
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_gnuc_extension__    __extension__
+#else
+#  define __lzo_gnuc_extension__    /*empty*/
+#endif
+#endif
+#if !defined(__lzo_ua_volatile)
+#  define __lzo_ua_volatile     volatile
+#endif
+#if !defined(__lzo_alignof)
+#if (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
+#  define __lzo_alignof(e)      __alignof__(e)
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
+#  define __lzo_alignof(e)      __alignof__(e)
+#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
+#  define __lzo_alignof(e)      __alignof(e)
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#  define __lzo_alignof(e)      __alignof__(e)
+#endif
+#endif
+#if defined(__lzo_alignof)
+#  define __lzo_HAVE_alignof 1
+#endif
+#if !defined(__lzo_constructor)
+#if (LZO_CC_GNUC >= 0x030400ul)
+#  define __lzo_constructor     __attribute__((__constructor__,__used__))
+#elif (LZO_CC_GNUC >= 0x020700ul)
+#  define __lzo_constructor     __attribute__((__constructor__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_constructor     __attribute__((__constructor__))
+#endif
+#endif
+#if defined(__lzo_constructor)
+#  define __lzo_HAVE_constructor 1
+#endif
+#if !defined(__lzo_destructor)
+#if (LZO_CC_GNUC >= 0x030400ul)
+#  define __lzo_destructor      __attribute__((__destructor__,__used__))
+#elif (LZO_CC_GNUC >= 0x020700ul)
+#  define __lzo_destructor      __attribute__((__destructor__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_destructor      __attribute__((__destructor__))
+#endif
+#endif
+#if defined(__lzo_destructor)
+#  define __lzo_HAVE_destructor 1
+#endif
+#if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor)
+#  error "this should not happen"
+#endif
+#if !defined(__lzo_inline)
+#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295))
+#elif defined(__cplusplus)
+#  define __lzo_inline          inline
+#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
+#  define __lzo_inline          __inline
+#elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
+#  define __lzo_inline          __inline__
+#elif (LZO_CC_DMC)
+#  define __lzo_inline          __inline
+#elif (LZO_CC_INTELC)
+#  define __lzo_inline          __inline
+#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405))
+#  define __lzo_inline          __inline
+#elif (LZO_CC_MSC && (_MSC_VER >= 900))
+#  define __lzo_inline          __inline
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#  define __lzo_inline          __inline__
+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+#  define __lzo_inline          inline
+#endif
+#endif
+#if defined(__lzo_inline)
+#  define __lzo_HAVE_inline 1
+#else
+#  define __lzo_inline          /*empty*/
+#endif
+#if !defined(__lzo_forceinline)
+#if (LZO_CC_GNUC >= 0x030200ul)
+#  define __lzo_forceinline     __inline__ __attribute__((__always_inline__))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
+#  define __lzo_forceinline     __forceinline
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
+#  define __lzo_forceinline     __inline__ __attribute__((__always_inline__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_forceinline     __inline__ __attribute__((__always_inline__))
+#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
+#  define __lzo_forceinline     __forceinline
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#  define __lzo_forceinline     __inline__ __attribute__((__always_inline__))
+#endif
+#endif
+#if defined(__lzo_forceinline)
+#  define __lzo_HAVE_forceinline 1
+#else
+#  define __lzo_forceinline     /*empty*/
+#endif
+#if !defined(__lzo_noinline)
+#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul)
+#  define __lzo_noinline        __attribute__((__noinline__,__used__))
+#elif (LZO_CC_GNUC >= 0x030200ul)
+#  define __lzo_noinline        __attribute__((__noinline__))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_MSC)
+#  define __lzo_noinline        __declspec(noinline)
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
+#  define __lzo_noinline        __attribute__((__noinline__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_noinline        __attribute__((__noinline__))
+#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
+#  define __lzo_noinline        __declspec(noinline)
+#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64))
+#  if defined(__cplusplus)
+#  else
+#    define __lzo_noinline      __declspec(noinline)
+#  endif
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#  define __lzo_noinline        __attribute__((__noinline__))
+#endif
+#endif
+#if defined(__lzo_noinline)
+#  define __lzo_HAVE_noinline 1
+#else
+#  define __lzo_noinline        /*empty*/
+#endif
+#if (__lzo_HAVE_forceinline || __lzo_HAVE_noinline) && !(__lzo_HAVE_inline)
+#  error "this should not happen"
+#endif
+#if !defined(__lzo_noreturn)
+#if (LZO_CC_GNUC >= 0x020700ul)
+#  define __lzo_noreturn        __attribute__((__noreturn__))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
+#  define __lzo_noreturn        __declspec(noreturn)
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
+#  define __lzo_noreturn        __attribute__((__noreturn__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_noreturn        __attribute__((__noreturn__))
+#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
+#  define __lzo_noreturn        __declspec(noreturn)
+#endif
+#endif
+#if defined(__lzo_noreturn)
+#  define __lzo_HAVE_noreturn 1
+#else
+#  define __lzo_noreturn        /*empty*/
+#endif
+#if !defined(__lzo_nothrow)
+#if (LZO_CC_GNUC >= 0x030300ul)
+#  define __lzo_nothrow         __attribute__((__nothrow__))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) && defined(__cplusplus)
+#  define __lzo_nothrow         __declspec(nothrow)
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 900) && LZO_CC_SYNTAX_GNUC)
+#  define __lzo_nothrow         __attribute__((__nothrow__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_nothrow         __attribute__((__nothrow__))
+#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
+#  define __lzo_nothrow         __declspec(nothrow)
+#endif
+#endif
+#if defined(__lzo_nothrow)
+#  define __lzo_HAVE_nothrow 1
+#else
+#  define __lzo_nothrow         /*empty*/
+#endif
+#if !defined(__lzo_restrict)
+#if (LZO_CC_GNUC >= 0x030400ul)
+#  define __lzo_restrict        __restrict__
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
+#  define __lzo_restrict        __restrict__
+#elif (LZO_CC_CLANG || LZO_CC_LLVM)
+#  define __lzo_restrict        __restrict__
+#elif (LZO_CC_MSC && (_MSC_VER >= 1400))
+#  define __lzo_restrict        __restrict
+#endif
+#endif
+#if defined(__lzo_restrict)
+#  define __lzo_HAVE_restrict 1
+#else
+#  define __lzo_restrict        /*empty*/
+#endif
+#if !defined(__lzo_likely) && !defined(__lzo_unlikely)
+#if (LZO_CC_GNUC >= 0x030200ul)
+#  define __lzo_likely(e)       (__builtin_expect(!!(e),1))
+#  define __lzo_unlikely(e)     (__builtin_expect(!!(e),0))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
+#  define __lzo_likely(e)       (__builtin_expect(!!(e),1))
+#  define __lzo_unlikely(e)     (__builtin_expect(!!(e),0))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_likely(e)       (__builtin_expect(!!(e),1))
+#  define __lzo_unlikely(e)     (__builtin_expect(!!(e),0))
+#endif
+#endif
+#if defined(__lzo_likely)
+#  define __lzo_HAVE_likely 1
+#else
+#  define __lzo_likely(e)       (e)
+#endif
+#if defined(__lzo_unlikely)
+#  define __lzo_HAVE_unlikely 1
+#else
+#  define __lzo_unlikely(e)     (e)
+#endif
+#if !defined(LZO_UNUSED)
+#  if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
+#    define LZO_UNUSED(var)         ((void) &var)
+#  elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC)
+#    define LZO_UNUSED(var)         if (&var) ; else
+#  elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#    define LZO_UNUSED(var)         ((void) var)
+#  elif (LZO_CC_MSC && (_MSC_VER < 900))
+#    define LZO_UNUSED(var)         if (&var) ; else
+#  elif (LZO_CC_KEILC)
+#    define LZO_UNUSED(var)         {extern int __lzo_unused[1-2*!(sizeof(var)>0)];}
+#  elif (LZO_CC_PACIFICC)
+#    define LZO_UNUSED(var)         ((void) sizeof(var))
+#  elif (LZO_CC_WATCOMC) && defined(__cplusplus)
+#    define LZO_UNUSED(var)         ((void) var)
+#  else
+#    define LZO_UNUSED(var)         ((void) &var)
+#  endif
+#endif
+#if !defined(LZO_UNUSED_FUNC)
+#  if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
+#    define LZO_UNUSED_FUNC(func)   ((void) func)
+#  elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC)
+#    define LZO_UNUSED_FUNC(func)   if (func) ; else
+#  elif (LZO_CC_CLANG || LZO_CC_LLVM)
+#    define LZO_UNUSED_FUNC(func)   ((void) &func)
+#  elif (LZO_CC_MSC && (_MSC_VER < 900))
+#    define LZO_UNUSED_FUNC(func)   if (func) ; else
+#  elif (LZO_CC_MSC)
+#    define LZO_UNUSED_FUNC(func)   ((void) &func)
+#  elif (LZO_CC_KEILC || LZO_CC_PELLESC)
+#    define LZO_UNUSED_FUNC(func)   {extern int __lzo_unused[1-2*!(sizeof((int)func)>0)];}
+#  else
+#    define LZO_UNUSED_FUNC(func)   ((void) func)
+#  endif
+#endif
+#if !defined(LZO_UNUSED_LABEL)
+#  if (LZO_CC_WATCOMC) && defined(__cplusplus)
+#    define LZO_UNUSED_LABEL(l)     switch(0) case 1:goto l
+#  elif (LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC)
+#    define LZO_UNUSED_LABEL(l)     if (0) goto l
+#  else
+#    define LZO_UNUSED_LABEL(l)     switch(0) case 1:goto l
+#  endif
+#endif
+#if !defined(LZO_DEFINE_UNINITIALIZED_VAR)
+#  if 0
+#    define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var
+#  elif 0 && (LZO_CC_GNUC)
+#    define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var = var
+#  else
+#    define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var = init
+#  endif
+#endif
+#if !defined(LZO_UNCONST_CAST)
+#  if 0 && defined(__cplusplus)
+#    define LZO_UNCONST_CAST(t,e)   (const_cast<t> (e))
+#  elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#    define LZO_UNCONST_CAST(t,e)   ((t) ((void *) ((char *) ((lzo_uintptr_t) ((const void *) (e))))))
+#  else
+#    define LZO_UNCONST_CAST(t,e)   ((t) ((void *) ((char *) ((const void *) (e)))))
+#  endif
+#endif
+#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER)
+#  if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
+#    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1-!(e)];
+#  elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
+#    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1u-2*!(e)];
+#  elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
+#    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1-!(e)];
+#  else
+#    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1-2*!(e)];
+#  endif
+#endif
+#if !defined(LZO_COMPILE_TIME_ASSERT)
+#  if (LZO_CC_AZTECC)
+#    define LZO_COMPILE_TIME_ASSERT(e)  {typedef int __lzo_cta_t[1-!(e)];}
+#  elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
+#    define LZO_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
+#  elif (LZO_CC_MSC && (_MSC_VER < 900))
+#    define LZO_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
+#  elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
+#    define LZO_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
+#  else
+#    define LZO_COMPILE_TIME_ASSERT(e)  {typedef int __lzo_cta_t[1-2*!(e)];}
+#  endif
+#endif
+#if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
+#  if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
+#  elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
+#    define __lzo_cdecl                 __cdecl
+#    define __lzo_cdecl_atexit          /*empty*/
+#    define __lzo_cdecl_main            __cdecl
+#    if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
+#      define __lzo_cdecl_qsort         __pascal
+#    elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
+#      define __lzo_cdecl_qsort         _stdcall
+#    else
+#      define __lzo_cdecl_qsort         __cdecl
+#    endif
+#  elif (LZO_CC_WATCOMC)
+#    define __lzo_cdecl                 __cdecl
+#  else
+#    define __lzo_cdecl                 __cdecl
+#    define __lzo_cdecl_atexit          __cdecl
+#    define __lzo_cdecl_main            __cdecl
+#    define __lzo_cdecl_qsort           __cdecl
+#  endif
+#  if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC)
+#  elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
+#    define __lzo_cdecl_sighandler      __pascal
+#  elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
+#    define __lzo_cdecl_sighandler      _stdcall
+#  elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
+#    define __lzo_cdecl_sighandler      __clrcall
+#  elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
+#    if defined(_DLL)
+#      define __lzo_cdecl_sighandler    _far _cdecl _loadds
+#    elif defined(_MT)
+#      define __lzo_cdecl_sighandler    _far _cdecl
+#    else
+#      define __lzo_cdecl_sighandler    _cdecl
+#    endif
+#  else
+#    define __lzo_cdecl_sighandler      __cdecl
+#  endif
+#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC)
+#  define __lzo_cdecl                   __cdecl
+#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
+#  define __lzo_cdecl                   cdecl
+#endif
+#if !defined(__lzo_cdecl)
+#  define __lzo_cdecl                   /*empty*/
+#endif
+#if !defined(__lzo_cdecl_atexit)
+#  define __lzo_cdecl_atexit            /*empty*/
+#endif
+#if !defined(__lzo_cdecl_main)
+#  define __lzo_cdecl_main              /*empty*/
+#endif
+#if !defined(__lzo_cdecl_qsort)
+#  define __lzo_cdecl_qsort             /*empty*/
+#endif
+#if !defined(__lzo_cdecl_sighandler)
+#  define __lzo_cdecl_sighandler        /*empty*/
+#endif
+#if !defined(__lzo_cdecl_va)
+#  define __lzo_cdecl_va                __lzo_cdecl
+#endif
+#if !(LZO_CFG_NO_WINDOWS_H)
+#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64)
+#  if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
+#  elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
+#  elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul)))
+#  else
+#    define LZO_HAVE_WINDOWS_H 1
+#  endif
+#endif
+#endif
+#if (LZO_ARCH_ALPHA)
+#  define LZO_OPT_AVOID_UINT_INDEX  1
+#  define LZO_OPT_AVOID_SHORT       1
+#  define LZO_OPT_AVOID_USHORT      1
+#elif (LZO_ARCH_AMD64)
+#  define LZO_OPT_AVOID_INT_INDEX   1
+#  define LZO_OPT_AVOID_UINT_INDEX  1
+#  define LZO_OPT_UNALIGNED16       1
+#  define LZO_OPT_UNALIGNED32       1
+#  define LZO_OPT_UNALIGNED64       1
+#elif (LZO_ARCH_ARM && LZO_ARCH_ARM_THUMB)
+#elif (LZO_ARCH_ARM)
+#  define LZO_OPT_AVOID_SHORT       1
+#  define LZO_OPT_AVOID_USHORT      1
+#elif (LZO_ARCH_CRIS)
+#  define LZO_OPT_UNALIGNED16       1
+#  define LZO_OPT_UNALIGNED32       1
+#elif (LZO_ARCH_I386)
+#  define LZO_OPT_UNALIGNED16       1
+#  define LZO_OPT_UNALIGNED32       1
+#elif (LZO_ARCH_IA64)
+#  define LZO_OPT_AVOID_INT_INDEX   1
+#  define LZO_OPT_AVOID_UINT_INDEX  1
+#  define LZO_OPT_PREFER_POSTINC    1
+#elif (LZO_ARCH_M68K)
+#  define LZO_OPT_PREFER_POSTINC    1
+#  define LZO_OPT_PREFER_PREDEC     1
+#  if defined(__mc68020__) && !defined(__mcoldfire__)
+#    define LZO_OPT_UNALIGNED16     1
+#    define LZO_OPT_UNALIGNED32     1
+#  endif
+#elif (LZO_ARCH_MIPS)
+#  define LZO_OPT_AVOID_UINT_INDEX  1
+#elif (LZO_ARCH_POWERPC)
+#  define LZO_OPT_PREFER_PREINC     1
+#  define LZO_OPT_PREFER_PREDEC     1
+#  if (LZO_ABI_BIG_ENDIAN)
+#    define LZO_OPT_UNALIGNED16     1
+#    define LZO_OPT_UNALIGNED32     1
+#  endif
+#elif (LZO_ARCH_S390)
+#  define LZO_OPT_UNALIGNED16       1
+#  define LZO_OPT_UNALIGNED32       1
+#  if (LZO_SIZEOF_SIZE_T == 8)
+#    define LZO_OPT_UNALIGNED64     1
+#  endif
+#elif (LZO_ARCH_SH)
+#  define LZO_OPT_PREFER_POSTINC    1
+#  define LZO_OPT_PREFER_PREDEC     1
+#endif
+#ifndef LZO_CFG_NO_INLINE_ASM
+#if (LZO_CC_LLVM)
+#  define LZO_CFG_NO_INLINE_ASM 1
+#endif
+#endif
+#ifndef LZO_CFG_NO_UNALIGNED
+#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC)
+#  define LZO_CFG_NO_UNALIGNED 1
+#endif
+#endif
+#if (LZO_CFG_NO_UNALIGNED)
+#  undef LZO_OPT_UNALIGNED16
+#  undef LZO_OPT_UNALIGNED32
+#  undef LZO_OPT_UNALIGNED64
+#endif
+#if (LZO_CFG_NO_INLINE_ASM)
+#elif (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
+#  define LZO_ASM_SYNTAX_MSC 1
+#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
+#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul))
+#elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
+#  define LZO_ASM_SYNTAX_GNUC 1
+#elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
+#  define LZO_ASM_SYNTAX_GNUC 1
+#endif
+#if (LZO_ASM_SYNTAX_GNUC)
+#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
+#  define __LZO_ASM_CLOBBER         "ax"
+#elif (LZO_CC_INTELC)
+#  define __LZO_ASM_CLOBBER         "memory"
+#else
+#  define __LZO_ASM_CLOBBER         "cc", "memory"
+#endif
+#endif
+#if defined(__LZO_INFOSTR_MM)
+#elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM))
+#  define __LZO_INFOSTR_MM          ""
+#elif defined(LZO_INFO_MM)
+#  define __LZO_INFOSTR_MM          "." LZO_INFO_MM
+#else
+#  define __LZO_INFOSTR_MM          ""
+#endif
+#if defined(__LZO_INFOSTR_PM)
+#elif defined(LZO_INFO_ABI_PM)
+#  define __LZO_INFOSTR_PM          "." LZO_INFO_ABI_PM
+#else
+#  define __LZO_INFOSTR_PM          ""
+#endif
+#if defined(__LZO_INFOSTR_ENDIAN)
+#elif defined(LZO_INFO_ABI_ENDIAN)
+#  define __LZO_INFOSTR_ENDIAN      "." LZO_INFO_ABI_ENDIAN
+#else
+#  define __LZO_INFOSTR_ENDIAN      ""
+#endif
+#if defined(__LZO_INFOSTR_OSNAME)
+#elif defined(LZO_INFO_OS_CONSOLE)
+#  define __LZO_INFOSTR_OSNAME      LZO_INFO_OS "." LZO_INFO_OS_CONSOLE
+#elif defined(LZO_INFO_OS_POSIX)
+#  define __LZO_INFOSTR_OSNAME      LZO_INFO_OS "." LZO_INFO_OS_POSIX
+#else
+#  define __LZO_INFOSTR_OSNAME      LZO_INFO_OS
+#endif
+#if defined(__LZO_INFOSTR_LIBC)
+#elif defined(LZO_INFO_LIBC)
+#  define __LZO_INFOSTR_LIBC        "." LZO_INFO_LIBC
+#else
+#  define __LZO_INFOSTR_LIBC        ""
+#endif
+#if defined(__LZO_INFOSTR_CCVER)
+#elif defined(LZO_INFO_CCVER)
+#  define __LZO_INFOSTR_CCVER       " " LZO_INFO_CCVER
+#else
+#  define __LZO_INFOSTR_CCVER       ""
+#endif
+#define LZO_INFO_STRING \
+    LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \
+    " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER
+
+#endif /* already included */
+
+/* vim:set ts=4 et: */
diff --git a/coregrind/m_debuginfo/minilzo-inl.c b/coregrind/m_debuginfo/minilzo-inl.c
new file mode 100644
index 0000000..153d008
--- /dev/null
+++ b/coregrind/m_debuginfo/minilzo-inl.c
@@ -0,0 +1,4583 @@
+/* minilzo.c -- mini subset of the LZO real-time data compression library
+
+   This file is part of the LZO real-time data compression library.
+
+   Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
+   All Rights Reserved.
+
+   The LZO library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of
+   the License, or (at your option) any later version.
+
+   The LZO library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with the LZO library; see the file COPYING.
+   If not, write to the Free Software Foundation, Inc.,
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+   Markus F.X.J. Oberhumer
+   <markus@oberhumer.com>
+   http://www.oberhumer.com/opensource/lzo/
+ */
+
+/*
+ * NOTE:
+ *   the full LZO package can be found at
+ *   http://www.oberhumer.com/opensource/lzo/
+ */
+
+// BEGIN JRS added
+#define LZO_CFG_FREESTANDING 1
+// END JRS added
+
+#define __LZO_IN_MINILZO 1
+
+#if defined(LZO_CFG_FREESTANDING)
+#  undef MINILZO_HAVE_CONFIG_H
+#  define LZO_LIBC_FREESTANDING 1
+#  define LZO_OS_FREESTANDING 1
+#endif
+
+#ifdef MINILZO_HAVE_CONFIG_H
+#  include <config.h>
+#endif
+#include <limits.h>
+#include <stddef.h>
+#if defined(MINILZO_CFG_USE_INTERNAL_LZODEFS)
+
+#ifndef __LZODEFS_H_INCLUDED
+#define __LZODEFS_H_INCLUDED 1
+
+#if defined(__CYGWIN32__) && !defined(__CYGWIN__)
+#  define __CYGWIN__ __CYGWIN32__
+#endif
+#if defined(__IBMCPP__) && !defined(__IBMC__)
+#  define __IBMC__ __IBMCPP__
+#endif
+#if defined(__ICL) && defined(_WIN32) && !defined(__INTEL_COMPILER)
+#  define __INTEL_COMPILER __ICL
+#endif
+#if 1 && defined(__INTERIX) && defined(__GNUC__) && !defined(_ALL_SOURCE)
+#  define _ALL_SOURCE 1
+#endif
+#if defined(__mips__) && defined(__R5900__)
+#  if !defined(__LONG_MAX__)
+#    define __LONG_MAX__ 9223372036854775807L
+#  endif
+#endif
+#if defined(__INTEL_COMPILER) && defined(__linux__)
+#  pragma warning(disable: 193)
+#endif
+#if defined(__KEIL__) && defined(__C166__)
+#  pragma warning disable = 322
+#elif 0 && defined(__C251__)
+#  pragma warning disable = 322
+#endif
+#if defined(_MSC_VER) && !defined(__INTEL_COMPILER) && !defined(__MWERKS__)
+#  if (_MSC_VER >= 1300)
+#    pragma warning(disable: 4668)
+#  endif
+#endif
+#if 0 && defined(__WATCOMC__)
+#  if (__WATCOMC__ >= 1050) && (__WATCOMC__ < 1060)
+#    pragma warning 203 9
+#  endif
+#endif
+#if defined(__BORLANDC__) && defined(__MSDOS__) && !defined(__FLAT__)
+#  pragma option -h
+#endif
+#if 0
+#define LZO_0xffffL             0xfffful
+#define LZO_0xffffffffL         0xfffffffful
+#else
+#define LZO_0xffffL             65535ul
+#define LZO_0xffffffffL         4294967295ul
+#endif
+#if (LZO_0xffffL == LZO_0xffffffffL)
+#  error "your preprocessor is broken 1"
+#endif
+#if (16ul * 16384ul != 262144ul)
+#  error "your preprocessor is broken 2"
+#endif
+#if 0
+#if (32767 >= 4294967295ul)
+#  error "your preprocessor is broken 3"
+#endif
+#if (65535u >= 4294967295ul)
+#  error "your preprocessor is broken 4"
+#endif
+#endif
+#if (UINT_MAX == LZO_0xffffL)
+#if defined(__ZTC__) && defined(__I86__) && !defined(__OS2__)
+#  if !defined(MSDOS)
+#    define MSDOS 1
+#  endif
+#  if !defined(_MSDOS)
+#    define _MSDOS 1
+#  endif
+#elif 0 && defined(__VERSION) && defined(MB_LEN_MAX)
+#  if (__VERSION == 520) && (MB_LEN_MAX == 1)
+#    if !defined(__AZTEC_C__)
+#      define __AZTEC_C__ __VERSION
+#    endif
+#    if !defined(__DOS__)
+#      define __DOS__ 1
+#    endif
+#  endif
+#endif
+#endif
+#if defined(_MSC_VER) && defined(M_I86HM) && (UINT_MAX == LZO_0xffffL)
+#  define ptrdiff_t long
+#  define _PTRDIFF_T_DEFINED 1
+#endif
+#if (UINT_MAX == LZO_0xffffL)
+#  undef __LZO_RENAME_A
+#  undef __LZO_RENAME_B
+#  if defined(__AZTEC_C__) && defined(__DOS__)
+#    define __LZO_RENAME_A 1
+#  elif defined(_MSC_VER) && defined(MSDOS)
+#    if (_MSC_VER < 600)
+#      define __LZO_RENAME_A 1
+#    elif (_MSC_VER < 700)
+#      define __LZO_RENAME_B 1
+#    endif
+#  elif defined(__TSC__) && defined(__OS2__)
+#    define __LZO_RENAME_A 1
+#  elif defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0410)
+#    define __LZO_RENAME_A 1
+#  elif defined(__PACIFIC__) && defined(DOS)
+#    if !defined(__far)
+#      define __far far
+#    endif
+#    if !defined(__near)
+#      define __near near
+#    endif
+#  endif
+#  if defined(__LZO_RENAME_A)
+#    if !defined(__cdecl)
+#      define __cdecl cdecl
+#    endif
+#    if !defined(__far)
+#      define __far far
+#    endif
+#    if !defined(__huge)
+#      define __huge huge
+#    endif
+#    if !defined(__near)
+#      define __near near
+#    endif
+#    if !defined(__pascal)
+#      define __pascal pascal
+#    endif
+#    if !defined(__huge)
+#      define __huge huge
+#    endif
+#  elif defined(__LZO_RENAME_B)
+#    if !defined(__cdecl)
+#      define __cdecl _cdecl
+#    endif
+#    if !defined(__far)
+#      define __far _far
+#    endif
+#    if !defined(__huge)
+#      define __huge _huge
+#    endif
+#    if !defined(__near)
+#      define __near _near
+#    endif
+#    if !defined(__pascal)
+#      define __pascal _pascal
+#    endif
+#  elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
+#    if !defined(__cdecl)
+#      define __cdecl cdecl
+#    endif
+#    if !defined(__pascal)
+#      define __pascal pascal
+#    endif
+#  endif
+#  undef __LZO_RENAME_A
+#  undef __LZO_RENAME_B
+#endif
+#if (UINT_MAX == LZO_0xffffL)
+#if defined(__AZTEC_C__) && defined(__DOS__)
+#  define LZO_BROKEN_CDECL_ALT_SYNTAX 1
+#elif defined(_MSC_VER) && defined(MSDOS)
+#  if (_MSC_VER < 600)
+#    define LZO_BROKEN_INTEGRAL_CONSTANTS 1
+#  endif
+#  if (_MSC_VER < 700)
+#    define LZO_BROKEN_INTEGRAL_PROMOTION 1
+#    define LZO_BROKEN_SIZEOF 1
+#  endif
+#elif defined(__PACIFIC__) && defined(DOS)
+#  define LZO_BROKEN_INTEGRAL_CONSTANTS 1
+#elif defined(__TURBOC__) && defined(__MSDOS__)
+#  if (__TURBOC__ < 0x0150)
+#    define LZO_BROKEN_CDECL_ALT_SYNTAX 1
+#    define LZO_BROKEN_INTEGRAL_CONSTANTS 1
+#    define LZO_BROKEN_INTEGRAL_PROMOTION 1
+#  endif
+#  if (__TURBOC__ < 0x0200)
+#    define LZO_BROKEN_SIZEOF 1
+#  endif
+#  if (__TURBOC__ < 0x0400) && defined(__cplusplus)
+#    define LZO_BROKEN_CDECL_ALT_SYNTAX 1
+#  endif
+#elif (defined(__PUREC__) || defined(__TURBOC__)) && defined(__TOS__)
+#  define LZO_BROKEN_CDECL_ALT_SYNTAX 1
+#  define LZO_BROKEN_SIZEOF 1
+#endif
+#endif
+#if defined(__WATCOMC__) && (__WATCOMC__ < 900)
+#  define LZO_BROKEN_INTEGRAL_CONSTANTS 1
+#endif
+#if defined(_CRAY) && defined(_CRAY1)
+#  define LZO_BROKEN_SIGNED_RIGHT_SHIFT 1
+#endif
+#define LZO_PP_STRINGIZE(x)             #x
+#define LZO_PP_MACRO_EXPAND(x)          LZO_PP_STRINGIZE(x)
+#define LZO_PP_CONCAT2(a,b)             a ## b
+#define LZO_PP_CONCAT3(a,b,c)           a ## b ## c
+#define LZO_PP_CONCAT4(a,b,c,d)         a ## b ## c ## d
+#define LZO_PP_CONCAT5(a,b,c,d,e)       a ## b ## c ## d ## e
+#define LZO_PP_ECONCAT2(a,b)            LZO_PP_CONCAT2(a,b)
+#define LZO_PP_ECONCAT3(a,b,c)          LZO_PP_CONCAT3(a,b,c)
+#define LZO_PP_ECONCAT4(a,b,c,d)        LZO_PP_CONCAT4(a,b,c,d)
+#define LZO_PP_ECONCAT5(a,b,c,d,e)      LZO_PP_CONCAT5(a,b,c,d,e)
+#if 1
+#define LZO_CPP_STRINGIZE(x)            #x
+#define LZO_CPP_MACRO_EXPAND(x)         LZO_CPP_STRINGIZE(x)
+#define LZO_CPP_CONCAT2(a,b)            a ## b
+#define LZO_CPP_CONCAT3(a,b,c)          a ## b ## c
+#define LZO_CPP_CONCAT4(a,b,c,d)        a ## b ## c ## d
+#define LZO_CPP_CONCAT5(a,b,c,d,e)      a ## b ## c ## d ## e
+#define LZO_CPP_ECONCAT2(a,b)           LZO_CPP_CONCAT2(a,b)
+#define LZO_CPP_ECONCAT3(a,b,c)         LZO_CPP_CONCAT3(a,b,c)
+#define LZO_CPP_ECONCAT4(a,b,c,d)       LZO_CPP_CONCAT4(a,b,c,d)
+#define LZO_CPP_ECONCAT5(a,b,c,d,e)     LZO_CPP_CONCAT5(a,b,c,d,e)
+#endif
+#define __LZO_MASK_GEN(o,b)     (((((o) << ((b)-1)) - (o)) << 1) + (o))
+#if 1 && defined(__cplusplus)
+#  if !defined(__STDC_CONSTANT_MACROS)
+#    define __STDC_CONSTANT_MACROS 1
+#  endif
+#  if !defined(__STDC_LIMIT_MACROS)
+#    define __STDC_LIMIT_MACROS 1
+#  endif
+#endif
+#if defined(__cplusplus)
+#  define LZO_EXTERN_C extern "C"
+#else
+#  define LZO_EXTERN_C extern
+#endif
+#if !defined(__LZO_OS_OVERRIDE)
+#if (LZO_OS_FREESTANDING)
+#  define LZO_INFO_OS           "freestanding"
+#elif (LZO_OS_EMBEDDED)
+#  define LZO_INFO_OS           "embedded"
+#elif 1 && defined(__IAR_SYSTEMS_ICC__)
+#  define LZO_OS_EMBEDDED       1
+#  define LZO_INFO_OS           "embedded"
+#elif defined(__CYGWIN__) && defined(__GNUC__)
+#  define LZO_OS_CYGWIN         1
+#  define LZO_INFO_OS           "cygwin"
+#elif defined(__EMX__) && defined(__GNUC__)
+#  define LZO_OS_EMX            1
+#  define LZO_INFO_OS           "emx"
+#elif defined(__BEOS__)
+#  define LZO_OS_BEOS           1
+#  define LZO_INFO_OS           "beos"
+#elif defined(__Lynx__)
+#  define LZO_OS_LYNXOS         1
+#  define LZO_INFO_OS           "lynxos"
+#elif defined(__OS400__)
+#  define LZO_OS_OS400          1
+#  define LZO_INFO_OS           "os400"
+#elif defined(__QNX__)
+#  define LZO_OS_QNX            1
+#  define LZO_INFO_OS           "qnx"
+#elif defined(__BORLANDC__) && defined(__DPMI32__) && (__BORLANDC__ >= 0x0460)
+#  define LZO_OS_DOS32          1
+#  define LZO_INFO_OS           "dos32"
+#elif defined(__BORLANDC__) && defined(__DPMI16__)
+#  define LZO_OS_DOS16          1
+#  define LZO_INFO_OS           "dos16"
+#elif defined(__ZTC__) && defined(DOS386)
+#  define LZO_OS_DOS32          1
+#  define LZO_INFO_OS           "dos32"
+#elif defined(__OS2__) || defined(__OS2V2__)
+#  if (UINT_MAX == LZO_0xffffL)
+#    define LZO_OS_OS216        1
+#    define LZO_INFO_OS         "os216"
+#  elif (UINT_MAX == LZO_0xffffffffL)
+#    define LZO_OS_OS2          1
+#    define LZO_INFO_OS         "os2"
+#  else
+#    error "check your limits.h header"
+#  endif
+#elif defined(__WIN64__) || defined(_WIN64) || defined(WIN64)
+#  define LZO_OS_WIN64          1
+#  define LZO_INFO_OS           "win64"
+#elif defined(__WIN32__) || defined(_WIN32) || defined(WIN32) || defined(__WINDOWS_386__)
+#  define LZO_OS_WIN32          1
+#  define LZO_INFO_OS           "win32"
+#elif defined(__MWERKS__) && defined(__INTEL__)
+#  define LZO_OS_WIN32          1
+#  define LZO_INFO_OS           "win32"
+#elif defined(__WINDOWS__) || defined(_WINDOWS) || defined(_Windows)
+#  if (UINT_MAX == LZO_0xffffL)
+#    define LZO_OS_WIN16        1
+#    define LZO_INFO_OS         "win16"
+#  elif (UINT_MAX == LZO_0xffffffffL)
+#    define LZO_OS_WIN32        1
+#    define LZO_INFO_OS         "win32"
+#  else
+#    error "check your limits.h header"
+#  endif
+#elif defined(__DOS__) || defined(__MSDOS__) || defined(_MSDOS) || defined(MSDOS) || (defined(__PACIFIC__) && defined(DOS))
+#  if (UINT_MAX == LZO_0xffffL)
+#    define LZO_OS_DOS16        1
+#    define LZO_INFO_OS         "dos16"
+#  elif (UINT_MAX == LZO_0xffffffffL)
+#    define LZO_OS_DOS32        1
+#    define LZO_INFO_OS         "dos32"
+#  else
+#    error "check your limits.h header"
+#  endif
+#elif defined(__WATCOMC__)
+#  if defined(__NT__) && (UINT_MAX == LZO_0xffffL)
+#    define LZO_OS_DOS16        1
+#    define LZO_INFO_OS         "dos16"
+#  elif defined(__NT__) && (__WATCOMC__ < 1100)
+#    define LZO_OS_WIN32        1
+#    define LZO_INFO_OS         "win32"
+#  elif defined(__linux__) || defined(__LINUX__)
+#    define LZO_OS_POSIX        1
+#    define LZO_INFO_OS         "posix"
+#  else
+#    error "please specify a target using the -bt compiler option"
+#  endif
+#elif defined(__palmos__)
+#  define LZO_OS_PALMOS         1
+#  define LZO_INFO_OS           "palmos"
+#elif defined(__TOS__) || defined(__atarist__)
+#  define LZO_OS_TOS            1
+#  define LZO_INFO_OS           "tos"
+#elif defined(macintosh) && !defined(__ppc__)
+#  define LZO_OS_MACCLASSIC     1
+#  define LZO_INFO_OS           "macclassic"
+#elif defined(__VMS)
+#  define LZO_OS_VMS            1
+#  define LZO_INFO_OS           "vms"
+#elif ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
+#  define LZO_OS_CONSOLE        1
+#  define LZO_OS_CONSOLE_PS2    1
+#  define LZO_INFO_OS           "console"
+#  define LZO_INFO_OS_CONSOLE   "ps2"
+#elif (defined(__mips__) && defined(__psp__))
+#  define LZO_OS_CONSOLE        1
+#  define LZO_OS_CONSOLE_PSP    1
+#  define LZO_INFO_OS           "console"
+#  define LZO_INFO_OS_CONSOLE   "psp"
+#else
+#  define LZO_OS_POSIX          1
+#  define LZO_INFO_OS           "posix"
+#endif
+#if (LZO_OS_POSIX)
+#  if defined(_AIX) || defined(__AIX__) || defined(__aix__)
+#    define LZO_OS_POSIX_AIX        1
+#    define LZO_INFO_OS_POSIX       "aix"
+#  elif defined(__FreeBSD__)
+#    define LZO_OS_POSIX_FREEBSD    1
+#    define LZO_INFO_OS_POSIX       "freebsd"
+#  elif defined(__hpux__) || defined(__hpux)
+#    define LZO_OS_POSIX_HPUX       1
+#    define LZO_INFO_OS_POSIX       "hpux"
+#  elif defined(__INTERIX)
+#    define LZO_OS_POSIX_INTERIX    1
+#    define LZO_INFO_OS_POSIX       "interix"
+#  elif defined(__IRIX__) || defined(__irix__)
+#    define LZO_OS_POSIX_IRIX       1
+#    define LZO_INFO_OS_POSIX       "irix"
+#  elif defined(__linux__) || defined(__linux) || defined(__LINUX__)
+#    define LZO_OS_POSIX_LINUX      1
+#    define LZO_INFO_OS_POSIX       "linux"
+#  elif defined(__APPLE__) || defined(__MACOS__)
+#    define LZO_OS_POSIX_MACOSX     1
+#    define LZO_INFO_OS_POSIX       "macosx"
+#  elif defined(__minix__) || defined(__minix)
+#    define LZO_OS_POSIX_MINIX      1
+#    define LZO_INFO_OS_POSIX       "minix"
+#  elif defined(__NetBSD__)
+#    define LZO_OS_POSIX_NETBSD     1
+#    define LZO_INFO_OS_POSIX       "netbsd"
+#  elif defined(__OpenBSD__)
+#    define LZO_OS_POSIX_OPENBSD    1
+#    define LZO_INFO_OS_POSIX       "openbsd"
+#  elif defined(__osf__)
+#    define LZO_OS_POSIX_OSF        1
+#    define LZO_INFO_OS_POSIX       "osf"
+#  elif defined(__solaris__) || defined(__sun)
+#    if defined(__SVR4) || defined(__svr4__)
+#      define LZO_OS_POSIX_SOLARIS  1
+#      define LZO_INFO_OS_POSIX     "solaris"
+#    else
+#      define LZO_OS_POSIX_SUNOS    1
+#      define LZO_INFO_OS_POSIX     "sunos"
+#    endif
+#  elif defined(__ultrix__) || defined(__ultrix)
+#    define LZO_OS_POSIX_ULTRIX     1
+#    define LZO_INFO_OS_POSIX       "ultrix"
+#  elif defined(_UNICOS)
+#    define LZO_OS_POSIX_UNICOS     1
+#    define LZO_INFO_OS_POSIX       "unicos"
+#  else
+#    define LZO_OS_POSIX_UNKNOWN    1
+#    define LZO_INFO_OS_POSIX       "unknown"
+#  endif
+#endif
+#endif
+#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
+#  if (UINT_MAX != LZO_0xffffL)
+#    error "this should not happen"
+#  endif
+#  if (ULONG_MAX != LZO_0xffffffffL)
+#    error "this should not happen"
+#  endif
+#endif
+#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32 || LZO_OS_WIN64)
+#  if (UINT_MAX != LZO_0xffffffffL)
+#    error "this should not happen"
+#  endif
+#  if (ULONG_MAX != LZO_0xffffffffL)
+#    error "this should not happen"
+#  endif
+#endif
+#if defined(CIL) && defined(_GNUCC) && defined(__GNUC__)
+#  define LZO_CC_CILLY          1
+#  define LZO_INFO_CC           "Cilly"
+#  if defined(__CILLY__)
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__CILLY__)
+#  else
+#    define LZO_INFO_CCVER      "unknown"
+#  endif
+#elif 0 && defined(SDCC) && defined(__VERSION__) && !defined(__GNUC__)
+#  define LZO_CC_SDCC           1
+#  define LZO_INFO_CC           "sdcc"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(SDCC)
+#elif defined(__PATHSCALE__) && defined(__PATHCC_PATCHLEVEL__)
+#  define LZO_CC_PATHSCALE      (__PATHCC__ * 0x10000L + __PATHCC_MINOR__ * 0x100 + __PATHCC_PATCHLEVEL__)
+#  define LZO_INFO_CC           "Pathscale C"
+#  define LZO_INFO_CCVER        __PATHSCALE__
+#elif defined(__INTEL_COMPILER)
+#  define LZO_CC_INTELC         1
+#  define LZO_INFO_CC           "Intel C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__INTEL_COMPILER)
+#  if defined(_WIN32) || defined(_WIN64)
+#    define LZO_CC_SYNTAX_MSC 1
+#  else
+#    define LZO_CC_SYNTAX_GNUC 1
+#  endif
+#elif defined(__POCC__) && defined(_WIN32)
+#  define LZO_CC_PELLESC        1
+#  define LZO_INFO_CC           "Pelles C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__POCC__)
+#elif defined(__clang__) && defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+#  if defined(__GNUC_PATCHLEVEL__)
+#    define LZO_CC_CLANG_GNUC   (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
+#  else
+#    define LZO_CC_CLANG_GNUC   (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
+#  endif
+#  if defined(__clang_major__) && defined(__clang_minor__) && defined(__clang_patchlevel__)
+#    define LZO_CC_CLANG_CLANG  (__clang_major__ * 0x10000L + __clang_minor__ * 0x100 + __clang_patchlevel__)
+#  else
+#    define LZO_CC_CLANG_CLANG  0x010000L
+#  endif
+#  define LZO_CC_CLANG          LZO_CC_CLANG_GNUC
+#  define LZO_INFO_CC           "clang"
+#  define LZO_INFO_CCVER        __VERSION__
+#elif defined(__llvm__) && defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__VERSION__)
+#  if defined(__GNUC_PATCHLEVEL__)
+#    define LZO_CC_LLVM_GNUC    (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
+#  else
+#    define LZO_CC_LLVM_GNUC    (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
+#  endif
+#  define LZO_CC_LLVM           LZO_CC_LLVM_GNUC
+#  define LZO_INFO_CC           "llvm-gcc"
+#  define LZO_INFO_CCVER        __VERSION__
+#elif defined(__GNUC__) && defined(__VERSION__)
+#  if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
+#    define LZO_CC_GNUC         (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)
+#  elif defined(__GNUC_MINOR__)
+#    define LZO_CC_GNUC         (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)
+#  else
+#    define LZO_CC_GNUC         (__GNUC__ * 0x10000L)
+#  endif
+#  define LZO_INFO_CC           "gcc"
+#  define LZO_INFO_CCVER        __VERSION__
+#elif defined(__ACK__) && defined(_ACK)
+#  define LZO_CC_ACK            1
+#  define LZO_INFO_CC           "Amsterdam Compiler Kit C"
+#  define LZO_INFO_CCVER        "unknown"
+#elif defined(__AZTEC_C__)
+#  define LZO_CC_AZTECC         1
+#  define LZO_INFO_CC           "Aztec C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__AZTEC_C__)
+#elif defined(__CODEGEARC__)
+#  define LZO_CC_CODEGEARC      1
+#  define LZO_INFO_CC           "CodeGear C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__CODEGEARC__)
+#elif defined(__BORLANDC__)
+#  define LZO_CC_BORLANDC       1
+#  define LZO_INFO_CC           "Borland C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__BORLANDC__)
+#elif defined(_CRAYC) && defined(_RELEASE)
+#  define LZO_CC_CRAYC          1
+#  define LZO_INFO_CC           "Cray C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(_RELEASE)
+#elif defined(__DMC__) && defined(__SC__)
+#  define LZO_CC_DMC            1
+#  define LZO_INFO_CC           "Digital Mars C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__DMC__)
+#elif defined(__DECC)
+#  define LZO_CC_DECC           1
+#  define LZO_INFO_CC           "DEC C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__DECC)
+#elif defined(__HIGHC__)
+#  define LZO_CC_HIGHC          1
+#  define LZO_INFO_CC           "MetaWare High C"
+#  define LZO_INFO_CCVER        "unknown"
+#elif defined(__IAR_SYSTEMS_ICC__)
+#  define LZO_CC_IARC           1
+#  define LZO_INFO_CC           "IAR C"
+#  if defined(__VER__)
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__VER__)
+#  else
+#    define LZO_INFO_CCVER      "unknown"
+#  endif
+#elif defined(__IBMC__)
+#  define LZO_CC_IBMC           1
+#  define LZO_INFO_CC           "IBM C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__IBMC__)
+#elif defined(__KEIL__) && defined(__C166__)
+#  define LZO_CC_KEILC          1
+#  define LZO_INFO_CC           "Keil C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__C166__)
+#elif defined(__LCC__) && defined(_WIN32) && defined(__LCCOPTIMLEVEL)
+#  define LZO_CC_LCCWIN32       1
+#  define LZO_INFO_CC           "lcc-win32"
+#  define LZO_INFO_CCVER        "unknown"
+#elif defined(__LCC__)
+#  define LZO_CC_LCC            1
+#  define LZO_INFO_CC           "lcc"
+#  if defined(__LCC_VERSION__)
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__LCC_VERSION__)
+#  else
+#    define LZO_INFO_CCVER      "unknown"
+#  endif
+#elif defined(_MSC_VER)
+#  define LZO_CC_MSC            1
+#  define LZO_INFO_CC           "Microsoft C"
+#  if defined(_MSC_FULL_VER)
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(_MSC_VER) "." LZO_PP_MACRO_EXPAND(_MSC_FULL_VER)
+#  else
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(_MSC_VER)
+#  endif
+#elif defined(__MWERKS__)
+#  define LZO_CC_MWERKS         1
+#  define LZO_INFO_CC           "Metrowerks C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__MWERKS__)
+#elif (defined(__NDPC__) || defined(__NDPX__)) && defined(__i386)
+#  define LZO_CC_NDPC           1
+#  define LZO_INFO_CC           "Microway NDP C"
+#  define LZO_INFO_CCVER        "unknown"
+#elif defined(__PACIFIC__)
+#  define LZO_CC_PACIFICC       1
+#  define LZO_INFO_CC           "Pacific C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__PACIFIC__)
+#elif defined(__PGI) && (defined(__linux__) || defined(__WIN32__))
+#  define LZO_CC_PGI            1
+#  define LZO_INFO_CC           "Portland Group PGI C"
+#  define LZO_INFO_CCVER        "unknown"
+#elif defined(__PUREC__) && defined(__TOS__)
+#  define LZO_CC_PUREC          1
+#  define LZO_INFO_CC           "Pure C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__PUREC__)
+#elif defined(__SC__) && defined(__ZTC__)
+#  define LZO_CC_SYMANTECC      1
+#  define LZO_INFO_CC           "Symantec C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__SC__)
+#elif defined(__SUNPRO_C)
+#  define LZO_INFO_CC           "SunPro C"
+#  if ((__SUNPRO_C)+0 > 0)
+#    define LZO_CC_SUNPROC      __SUNPRO_C
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__SUNPRO_C)
+#  else
+#    define LZO_CC_SUNPROC      1
+#    define LZO_INFO_CCVER      "unknown"
+#  endif
+#elif defined(__SUNPRO_CC)
+#  define LZO_INFO_CC           "SunPro C"
+#  if ((__SUNPRO_CC)+0 > 0)
+#    define LZO_CC_SUNPROC      __SUNPRO_CC
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__SUNPRO_CC)
+#  else
+#    define LZO_CC_SUNPROC      1
+#    define LZO_INFO_CCVER      "unknown"
+#  endif
+#elif defined(__TINYC__)
+#  define LZO_CC_TINYC          1
+#  define LZO_INFO_CC           "Tiny C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__TINYC__)
+#elif defined(__TSC__)
+#  define LZO_CC_TOPSPEEDC      1
+#  define LZO_INFO_CC           "TopSpeed C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__TSC__)
+#elif defined(__WATCOMC__)
+#  define LZO_CC_WATCOMC        1
+#  define LZO_INFO_CC           "Watcom C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__WATCOMC__)
+#elif defined(__TURBOC__)
+#  define LZO_CC_TURBOC         1
+#  define LZO_INFO_CC           "Turbo C"
+#  define LZO_INFO_CCVER        LZO_PP_MACRO_EXPAND(__TURBOC__)
+#elif defined(__ZTC__)
+#  define LZO_CC_ZORTECHC       1
+#  define LZO_INFO_CC           "Zortech C"
+#  if (__ZTC__ == 0x310)
+#    define LZO_INFO_CCVER      "0x310"
+#  else
+#    define LZO_INFO_CCVER      LZO_PP_MACRO_EXPAND(__ZTC__)
+#  endif
+#else
+#  define LZO_CC_UNKNOWN        1
+#  define LZO_INFO_CC           "unknown"
+#  define LZO_INFO_CCVER        "unknown"
+#endif
+#if 0 && (LZO_CC_MSC && (_MSC_VER >= 1200)) && !defined(_MSC_FULL_VER)
+#  error "LZO_CC_MSC: _MSC_FULL_VER is not defined"
+#endif
+#if !defined(__LZO_ARCH_OVERRIDE) && !(LZO_ARCH_GENERIC) && defined(_CRAY)
+#  if (UINT_MAX > LZO_0xffffffffL) && defined(_CRAY)
+#    if defined(_CRAYMPP) || defined(_CRAYT3D) || defined(_CRAYT3E)
+#      define LZO_ARCH_CRAY_MPP     1
+#    elif defined(_CRAY1)
+#      define LZO_ARCH_CRAY_PVP     1
+#    endif
+#  endif
+#endif
+#if !defined(__LZO_ARCH_OVERRIDE)
+#if (LZO_ARCH_GENERIC)
+#  define LZO_INFO_ARCH             "generic"
+#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
+#  define LZO_ARCH_I086             1
+#  define LZO_ARCH_IA16             1
+#  define LZO_INFO_ARCH             "i086"
+#elif defined(__alpha__) || defined(__alpha) || defined(_M_ALPHA)
+#  define LZO_ARCH_ALPHA            1
+#  define LZO_INFO_ARCH             "alpha"
+#elif (LZO_ARCH_CRAY_MPP) && (defined(_CRAYT3D) || defined(_CRAYT3E))
+#  define LZO_ARCH_ALPHA            1
+#  define LZO_INFO_ARCH             "alpha"
+#elif defined(__amd64__) || defined(__x86_64__) || defined(_M_AMD64)
+#  define LZO_ARCH_AMD64            1
+#  define LZO_INFO_ARCH             "amd64"
+#elif defined(__thumb__) || (defined(_M_ARM) && defined(_M_THUMB))
+#  define LZO_ARCH_ARM              1
+#  define LZO_ARCH_ARM_THUMB        1
+#  define LZO_INFO_ARCH             "arm_thumb"
+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCARM__)
+#  define LZO_ARCH_ARM              1
+#  if defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 1)
+#    define LZO_ARCH_ARM_THUMB      1
+#    define LZO_INFO_ARCH           "arm_thumb"
+#  elif defined(__CPU_MODE__) && ((__CPU_MODE__)+0 == 2)
+#    define LZO_INFO_ARCH           "arm"
+#  else
+#    define LZO_INFO_ARCH           "arm"
+#  endif
+#elif defined(__arm__) || defined(_M_ARM)
+#  define LZO_ARCH_ARM              1
+#  define LZO_INFO_ARCH             "arm"
+#elif (UINT_MAX <= LZO_0xffffL) && defined(__AVR__)
+#  define LZO_ARCH_AVR              1
+#  define LZO_INFO_ARCH             "avr"
+#elif defined(__avr32__) || defined(__AVR32__)
+#  define LZO_ARCH_AVR32            1
+#  define LZO_INFO_ARCH             "avr32"
+#elif defined(__bfin__)
+#  define LZO_ARCH_BLACKFIN         1
+#  define LZO_INFO_ARCH             "blackfin"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__C166__)
+#  define LZO_ARCH_C166             1
+#  define LZO_INFO_ARCH             "c166"
+#elif defined(__cris__)
+#  define LZO_ARCH_CRIS             1
+#  define LZO_INFO_ARCH             "cris"
+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCEZ80__)
+#  define LZO_ARCH_EZ80             1
+#  define LZO_INFO_ARCH             "ez80"
+#elif defined(__H8300__) || defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+#  define LZO_ARCH_H8300            1
+#  define LZO_INFO_ARCH             "h8300"
+#elif defined(__hppa__) || defined(__hppa)
+#  define LZO_ARCH_HPPA             1
+#  define LZO_INFO_ARCH             "hppa"
+#elif defined(__386__) || defined(__i386__) || defined(__i386) || defined(_M_IX86) || defined(_M_I386)
+#  define LZO_ARCH_I386             1
+#  define LZO_ARCH_IA32             1
+#  define LZO_INFO_ARCH             "i386"
+#elif (LZO_CC_ZORTECHC && defined(__I86__))
+#  define LZO_ARCH_I386             1
+#  define LZO_ARCH_IA32             1
+#  define LZO_INFO_ARCH             "i386"
+#elif (LZO_OS_DOS32 && LZO_CC_HIGHC) && defined(_I386)
+#  define LZO_ARCH_I386             1
+#  define LZO_ARCH_IA32             1
+#  define LZO_INFO_ARCH             "i386"
+#elif defined(__ia64__) || defined(__ia64) || defined(_M_IA64)
+#  define LZO_ARCH_IA64             1
+#  define LZO_INFO_ARCH             "ia64"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__m32c__)
+#  define LZO_ARCH_M16C             1
+#  define LZO_INFO_ARCH             "m16c"
+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICCM16C__)
+#  define LZO_ARCH_M16C             1
+#  define LZO_INFO_ARCH             "m16c"
+#elif defined(__m32r__)
+#  define LZO_ARCH_M32R             1
+#  define LZO_INFO_ARCH             "m32r"
+#elif (LZO_OS_TOS) || defined(__m68k__) || defined(__m68000__) || defined(__mc68000__) || defined(__mc68020__) || defined(_M_M68K)
+#  define LZO_ARCH_M68K             1
+#  define LZO_INFO_ARCH             "m68k"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__C251__)
+#  define LZO_ARCH_MCS251           1
+#  define LZO_INFO_ARCH             "mcs251"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__C51__)
+#  define LZO_ARCH_MCS51            1
+#  define LZO_INFO_ARCH             "mcs51"
+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC8051__)
+#  define LZO_ARCH_MCS51            1
+#  define LZO_INFO_ARCH             "mcs51"
+#elif defined(__mips__) || defined(__mips) || defined(_MIPS_ARCH) || defined(_M_MRX000)
+#  define LZO_ARCH_MIPS             1
+#  define LZO_INFO_ARCH             "mips"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__MSP430__)
+#  define LZO_ARCH_MSP430           1
+#  define LZO_INFO_ARCH             "msp430"
+#elif defined(__IAR_SYSTEMS_ICC__) && defined(__ICC430__)
+#  define LZO_ARCH_MSP430           1
+#  define LZO_INFO_ARCH             "msp430"
+#elif defined(__powerpc__) || defined(__powerpc) || defined(__ppc__) || defined(__PPC__) || defined(_M_PPC) || defined(_ARCH_PPC) || defined(_ARCH_PWR)
+#  define LZO_ARCH_POWERPC          1
+#  define LZO_INFO_ARCH             "powerpc"
+#elif defined(__s390__) || defined(__s390) || defined(__s390x__) || defined(__s390x)
+#  define LZO_ARCH_S390             1
+#  define LZO_INFO_ARCH             "s390"
+#elif defined(__sh__) || defined(_M_SH)
+#  define LZO_ARCH_SH               1
+#  define LZO_INFO_ARCH             "sh"
+#elif defined(__sparc__) || defined(__sparc) || defined(__sparcv8)
+#  define LZO_ARCH_SPARC            1
+#  define LZO_INFO_ARCH             "sparc"
+#elif defined(__SPU__)
+#  define LZO_ARCH_SPU              1
+#  define LZO_INFO_ARCH             "spu"
+#elif (UINT_MAX == LZO_0xffffL) && defined(__z80)
+#  define LZO_ARCH_Z80              1
+#  define LZO_INFO_ARCH             "z80"
+#elif (LZO_ARCH_CRAY_PVP)
+#  if defined(_CRAYSV1)
+#    define LZO_ARCH_CRAY_SV1       1
+#    define LZO_INFO_ARCH           "cray_sv1"
+#  elif (_ADDR64)
+#    define LZO_ARCH_CRAY_T90       1
+#    define LZO_INFO_ARCH           "cray_t90"
+#  elif (_ADDR32)
+#    define LZO_ARCH_CRAY_YMP       1
+#    define LZO_INFO_ARCH           "cray_ymp"
+#  else
+#    define LZO_ARCH_CRAY_XMP       1
+#    define LZO_INFO_ARCH           "cray_xmp"
+#  endif
+#else
+#  define LZO_ARCH_UNKNOWN          1
+#  define LZO_INFO_ARCH             "unknown"
+#endif
+#endif
+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_DOS32 || LZO_OS_OS2)
+#  error "FIXME - missing define for CPU architecture"
+#endif
+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN32)
+#  error "FIXME - missing WIN32 define for CPU architecture"
+#endif
+#if 1 && (LZO_ARCH_UNKNOWN) && (LZO_OS_WIN64)
+#  error "FIXME - missing WIN64 define for CPU architecture"
+#endif
+#if (LZO_OS_OS216 || LZO_OS_WIN16)
+#  define LZO_ARCH_I086PM           1
+#  define LZO_ARCH_IA16PM           1
+#elif 1 && (LZO_OS_DOS16 && defined(BLX286))
+#  define LZO_ARCH_I086PM           1
+#  define LZO_ARCH_IA16PM           1
+#elif 1 && (LZO_OS_DOS16 && defined(DOSX286))
+#  define LZO_ARCH_I086PM           1
+#  define LZO_ARCH_IA16PM           1
+#elif 1 && (LZO_OS_DOS16 && LZO_CC_BORLANDC && defined(__DPMI16__))
+#  define LZO_ARCH_I086PM           1
+#  define LZO_ARCH_IA16PM           1
+#endif
+#if (LZO_ARCH_ARM_THUMB) && !(LZO_ARCH_ARM)
+#  error "this should not happen"
+#endif
+#if (LZO_ARCH_I086PM) && !(LZO_ARCH_I086)
+#  error "this should not happen"
+#endif
+#if (LZO_ARCH_I086)
+#  if (UINT_MAX != LZO_0xffffL)
+#    error "this should not happen"
+#  endif
+#  if (ULONG_MAX != LZO_0xffffffffL)
+#    error "this should not happen"
+#  endif
+#endif
+#if (LZO_ARCH_I386)
+#  if (UINT_MAX != LZO_0xffffL) && defined(__i386_int16__)
+#    error "this should not happen"
+#  endif
+#  if (UINT_MAX != LZO_0xffffffffL) && !defined(__i386_int16__)
+#    error "this should not happen"
+#  endif
+#  if (ULONG_MAX != LZO_0xffffffffL)
+#    error "this should not happen"
+#  endif
+#endif
+#if !defined(__LZO_MM_OVERRIDE)
+#if (LZO_ARCH_I086)
+#if (UINT_MAX != LZO_0xffffL)
+#  error "this should not happen"
+#endif
+#if defined(__TINY__) || defined(M_I86TM) || defined(_M_I86TM)
+#  define LZO_MM_TINY           1
+#elif defined(__HUGE__) || defined(_HUGE_) || defined(M_I86HM) || defined(_M_I86HM)
+#  define LZO_MM_HUGE           1
+#elif defined(__SMALL__) || defined(M_I86SM) || defined(_M_I86SM) || defined(SMALL_MODEL)
+#  define LZO_MM_SMALL          1
+#elif defined(__MEDIUM__) || defined(M_I86MM) || defined(_M_I86MM)
+#  define LZO_MM_MEDIUM         1
+#elif defined(__COMPACT__) || defined(M_I86CM) || defined(_M_I86CM)
+#  define LZO_MM_COMPACT        1
+#elif defined(__LARGE__) || defined(M_I86LM) || defined(_M_I86LM) || defined(LARGE_MODEL)
+#  define LZO_MM_LARGE          1
+#elif (LZO_CC_AZTECC)
+#  if defined(_LARGE_CODE) && defined(_LARGE_DATA)
+#    define LZO_MM_LARGE        1
+#  elif defined(_LARGE_CODE)
+#    define LZO_MM_MEDIUM       1
+#  elif defined(_LARGE_DATA)
+#    define LZO_MM_COMPACT      1
+#  else
+#    define LZO_MM_SMALL        1
+#  endif
+#elif (LZO_CC_ZORTECHC && defined(__VCM__))
+#  define LZO_MM_LARGE          1
+#else
+#  error "unknown memory model"
+#endif
+#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
+#define LZO_HAVE_MM_HUGE_PTR        1
+#define LZO_HAVE_MM_HUGE_ARRAY      1
+#if (LZO_MM_TINY)
+#  undef LZO_HAVE_MM_HUGE_ARRAY
+#endif
+#if (LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_ZORTECHC)
+#  undef LZO_HAVE_MM_HUGE_PTR
+#  undef LZO_HAVE_MM_HUGE_ARRAY
+#elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
+#  undef LZO_HAVE_MM_HUGE_ARRAY
+#elif (LZO_CC_MSC && defined(_QC))
+#  undef LZO_HAVE_MM_HUGE_ARRAY
+#  if (_MSC_VER < 600)
+#    undef LZO_HAVE_MM_HUGE_PTR
+#  endif
+#elif (LZO_CC_TURBOC && (__TURBOC__ < 0x0295))
+#  undef LZO_HAVE_MM_HUGE_ARRAY
+#endif
+#if (LZO_ARCH_I086PM) && !(LZO_HAVE_MM_HUGE_PTR)
+#  if (LZO_OS_DOS16)
+#    error "this should not happen"
+#  elif (LZO_CC_ZORTECHC)
+#  else
+#    error "this should not happen"
+#  endif
+#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0200))
+   extern void __near __cdecl _AHSHIFT(void);
+#  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
+#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
+   extern void __near __cdecl _AHSHIFT(void);
+#  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
+#elif (LZO_CC_MSC || LZO_CC_TOPSPEEDC)
+   extern void __near __cdecl _AHSHIFT(void);
+#  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
+#elif (LZO_CC_TURBOC && (__TURBOC__ >= 0x0295))
+   extern void __near __cdecl _AHSHIFT(void);
+#  define LZO_MM_AHSHIFT      ((unsigned) _AHSHIFT)
+#elif ((LZO_CC_AZTECC || LZO_CC_PACIFICC || LZO_CC_TURBOC) && LZO_OS_DOS16)
+#  define LZO_MM_AHSHIFT      12
+#elif (LZO_CC_WATCOMC)
+   extern unsigned char _HShift;
+#  define LZO_MM_AHSHIFT      ((unsigned) _HShift)
+#else
+#  error "FIXME - implement LZO_MM_AHSHIFT"
+#endif
+#ifdef __cplusplus
+}
+#endif
+#endif
+#elif (LZO_ARCH_C166)
+#if !defined(__MODEL__)
+#  error "FIXME - C166 __MODEL__"
+#elif ((__MODEL__) == 0)
+#  define LZO_MM_SMALL          1
+#elif ((__MODEL__) == 1)
+#  define LZO_MM_SMALL          1
+#elif ((__MODEL__) == 2)
+#  define LZO_MM_LARGE          1
+#elif ((__MODEL__) == 3)
+#  define LZO_MM_TINY           1
+#elif ((__MODEL__) == 4)
+#  define LZO_MM_XTINY          1
+#elif ((__MODEL__) == 5)
+#  define LZO_MM_XSMALL         1
+#else
+#  error "FIXME - C166 __MODEL__"
+#endif
+#elif (LZO_ARCH_MCS251)
+#if !defined(__MODEL__)
+#  error "FIXME - MCS251 __MODEL__"
+#elif ((__MODEL__) == 0)
+#  define LZO_MM_SMALL          1
+#elif ((__MODEL__) == 2)
+#  define LZO_MM_LARGE          1
+#elif ((__MODEL__) == 3)
+#  define LZO_MM_TINY           1
+#elif ((__MODEL__) == 4)
+#  define LZO_MM_XTINY          1
+#elif ((__MODEL__) == 5)
+#  define LZO_MM_XSMALL         1
+#else
+#  error "FIXME - MCS251 __MODEL__"
+#endif
+#elif (LZO_ARCH_MCS51)
+#if !defined(__MODEL__)
+#  error "FIXME - MCS51 __MODEL__"
+#elif ((__MODEL__) == 1)
+#  define LZO_MM_SMALL          1
+#elif ((__MODEL__) == 2)
+#  define LZO_MM_LARGE          1
+#elif ((__MODEL__) == 3)
+#  define LZO_MM_TINY           1
+#elif ((__MODEL__) == 4)
+#  define LZO_MM_XTINY          1
+#elif ((__MODEL__) == 5)
+#  define LZO_MM_XSMALL         1
+#else
+#  error "FIXME - MCS51 __MODEL__"
+#endif
+#elif (LZO_ARCH_CRAY_PVP)
+#  define LZO_MM_PVP            1
+#else
+#  define LZO_MM_FLAT           1
+#endif
+#if (LZO_MM_COMPACT)
+#  define LZO_INFO_MM           "compact"
+#elif (LZO_MM_FLAT)
+#  define LZO_INFO_MM           "flat"
+#elif (LZO_MM_HUGE)
+#  define LZO_INFO_MM           "huge"
+#elif (LZO_MM_LARGE)
+#  define LZO_INFO_MM           "large"
+#elif (LZO_MM_MEDIUM)
+#  define LZO_INFO_MM           "medium"
+#elif (LZO_MM_PVP)
+#  define LZO_INFO_MM           "pvp"
+#elif (LZO_MM_SMALL)
+#  define LZO_INFO_MM           "small"
+#elif (LZO_MM_TINY)
+#  define LZO_INFO_MM           "tiny"
+#else
+#  error "unknown memory model"
+#endif
+#endif
+#if defined(SIZEOF_SHORT)
+#  define LZO_SIZEOF_SHORT          (SIZEOF_SHORT)
+#endif
+#if defined(SIZEOF_INT)
+#  define LZO_SIZEOF_INT            (SIZEOF_INT)
+#endif
+#if defined(SIZEOF_LONG)
+#  define LZO_SIZEOF_LONG           (SIZEOF_LONG)
+#endif
+#if defined(SIZEOF_LONG_LONG)
+#  define LZO_SIZEOF_LONG_LONG      (SIZEOF_LONG_LONG)
+#endif
+#if defined(SIZEOF___INT16)
+#  define LZO_SIZEOF___INT16        (SIZEOF___INT16)
+#endif
+#if defined(SIZEOF___INT32)
+#  define LZO_SIZEOF___INT32        (SIZEOF___INT32)
+#endif
+#if defined(SIZEOF___INT64)
+#  define LZO_SIZEOF___INT64        (SIZEOF___INT64)
+#endif
+#if defined(SIZEOF_VOID_P)
+#  define LZO_SIZEOF_VOID_P         (SIZEOF_VOID_P)
+#endif
+#if defined(SIZEOF_SIZE_T)
+#  define LZO_SIZEOF_SIZE_T         (SIZEOF_SIZE_T)
+#endif
+#if defined(SIZEOF_PTRDIFF_T)
+#  define LZO_SIZEOF_PTRDIFF_T      (SIZEOF_PTRDIFF_T)
+#endif
+#define __LZO_LSR(x,b)    (((x)+0ul) >> (b))
+#if !defined(LZO_SIZEOF_SHORT)
+#  if (LZO_ARCH_CRAY_PVP)
+#    define LZO_SIZEOF_SHORT        8
+#  elif (USHRT_MAX == LZO_0xffffL)
+#    define LZO_SIZEOF_SHORT        2
+#  elif (__LZO_LSR(USHRT_MAX,7) == 1)
+#    define LZO_SIZEOF_SHORT        1
+#  elif (__LZO_LSR(USHRT_MAX,15) == 1)
+#    define LZO_SIZEOF_SHORT        2
+#  elif (__LZO_LSR(USHRT_MAX,31) == 1)
+#    define LZO_SIZEOF_SHORT        4
+#  elif (__LZO_LSR(USHRT_MAX,63) == 1)
+#    define LZO_SIZEOF_SHORT        8
+#  elif (__LZO_LSR(USHRT_MAX,127) == 1)
+#    define LZO_SIZEOF_SHORT        16
+#  else
+#    error "LZO_SIZEOF_SHORT"
+#  endif
+#endif
+#if !defined(LZO_SIZEOF_INT)
+#  if (LZO_ARCH_CRAY_PVP)
+#    define LZO_SIZEOF_INT          8
+#  elif (UINT_MAX == LZO_0xffffL)
+#    define LZO_SIZEOF_INT          2
+#  elif (UINT_MAX == LZO_0xffffffffL)
+#    define LZO_SIZEOF_INT          4
+#  elif (__LZO_LSR(UINT_MAX,7) == 1)
+#    define LZO_SIZEOF_INT          1
+#  elif (__LZO_LSR(UINT_MAX,15) == 1)
+#    define LZO_SIZEOF_INT          2
+#  elif (__LZO_LSR(UINT_MAX,31) == 1)
+#    define LZO_SIZEOF_INT          4
+#  elif (__LZO_LSR(UINT_MAX,63) == 1)
+#    define LZO_SIZEOF_INT          8
+#  elif (__LZO_LSR(UINT_MAX,127) == 1)
+#    define LZO_SIZEOF_INT          16
+#  else
+#    error "LZO_SIZEOF_INT"
+#  endif
+#endif
+#if !defined(LZO_SIZEOF_LONG)
+#  if (ULONG_MAX == LZO_0xffffffffL)
+#    define LZO_SIZEOF_LONG         4
+#  elif (__LZO_LSR(ULONG_MAX,7) == 1)
+#    define LZO_SIZEOF_LONG         1
+#  elif (__LZO_LSR(ULONG_MAX,15) == 1)
+#    define LZO_SIZEOF_LONG         2
+#  elif (__LZO_LSR(ULONG_MAX,31) == 1)
+#    define LZO_SIZEOF_LONG         4
+#  elif (__LZO_LSR(ULONG_MAX,63) == 1)
+#    define LZO_SIZEOF_LONG         8
+#  elif (__LZO_LSR(ULONG_MAX,127) == 1)
+#    define LZO_SIZEOF_LONG         16
+#  else
+#    error "LZO_SIZEOF_LONG"
+#  endif
+#endif
+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
+#  if defined(__LONG_MAX__) && defined(__LONG_LONG_MAX__)
+#    if (LZO_CC_GNUC >= 0x030300ul)
+#      if ((__LONG_MAX__)+0 == (__LONG_LONG_MAX__)+0)
+#        define LZO_SIZEOF_LONG_LONG      LZO_SIZEOF_LONG
+#      elif (__LZO_LSR(__LONG_LONG_MAX__,30) == 1)
+#        define LZO_SIZEOF_LONG_LONG      4
+#      endif
+#    endif
+#  endif
+#endif
+#endif
+#if !defined(LZO_SIZEOF_LONG_LONG) && !defined(LZO_SIZEOF___INT64)
+#if (LZO_SIZEOF_LONG > 0 && LZO_SIZEOF_LONG < 8)
+#if (LZO_ARCH_I086 && LZO_CC_DMC)
+#elif (LZO_CC_CILLY) && defined(__GNUC__)
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif ((LZO_OS_WIN32 || LZO_OS_WIN64 || defined(_WIN32)) && LZO_CC_MSC && (_MSC_VER >= 1400))
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_OS_WIN64 || defined(_WIN64))
+#  define LZO_SIZEOF___INT64        8
+#elif (LZO_ARCH_I386 && (LZO_CC_DMC))
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_ARCH_I386 && (LZO_CC_SYMANTECC && (__SC__ >= 0x700)))
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC && defined(__linux__)))
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_ARCH_I386 && (LZO_CC_MWERKS || LZO_CC_PELLESC || LZO_CC_PGI || LZO_CC_SUNPROC))
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_ARCH_I386 && (LZO_CC_INTELC || LZO_CC_MSC))
+#  define LZO_SIZEOF___INT64        8
+#elif ((LZO_OS_WIN32 || defined(_WIN32)) && (LZO_CC_MSC))
+#  define LZO_SIZEOF___INT64        8
+#elif (LZO_ARCH_I386 && (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0520)))
+#  define LZO_SIZEOF___INT64        8
+#elif (LZO_ARCH_I386 && (LZO_CC_WATCOMC && (__WATCOMC__ >= 1100)))
+#  define LZO_SIZEOF___INT64        8
+#elif (LZO_CC_WATCOMC && defined(_INTEGRAL_MAX_BITS) && (_INTEGRAL_MAX_BITS == 64))
+#  define LZO_SIZEOF___INT64        8
+#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
+#  define LZO_SIZEOF_LONG_LONG      8
+#elif (LZO_CC_SDCC) && (LZO_SIZEOF_INT == 2)
+#elif 1 && defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+#  define LZO_SIZEOF_LONG_LONG      8
+#endif
+#endif
+#endif
+#if defined(__cplusplus) && (LZO_CC_GNUC)
+#  if (LZO_CC_GNUC < 0x020800ul)
+#    undef LZO_SIZEOF_LONG_LONG
+#  endif
+#endif
+#if (LZO_CFG_NO_LONG_LONG) || defined(__NO_LONG_LONG)
+#  undef LZO_SIZEOF_LONG_LONG
+#endif
+#if !defined(LZO_SIZEOF_VOID_P)
+#if (LZO_ARCH_I086)
+#  define __LZO_WORDSIZE            2
+#  if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
+#    define LZO_SIZEOF_VOID_P       2
+#  elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
+#    define LZO_SIZEOF_VOID_P       4
+#  else
+#    error "LZO_MM"
+#  endif
+#elif (LZO_ARCH_AVR || LZO_ARCH_Z80)
+#  define __LZO_WORDSIZE            1
+#  define LZO_SIZEOF_VOID_P         2
+#elif (LZO_ARCH_C166 || LZO_ARCH_MCS51 || LZO_ARCH_MCS251 || LZO_ARCH_MSP430)
+#  define LZO_SIZEOF_VOID_P         2
+#elif (LZO_ARCH_H8300)
+#  if defined(__NORMAL_MODE__)
+#    define __LZO_WORDSIZE          4
+#    define LZO_SIZEOF_VOID_P       2
+#  elif defined(__H8300H__) || defined(__H8300S__) || defined(__H8300SX__)
+#    define __LZO_WORDSIZE          4
+#    define LZO_SIZEOF_VOID_P       4
+#  else
+#    define __LZO_WORDSIZE          2
+#    define LZO_SIZEOF_VOID_P       2
+#  endif
+#  if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x040000ul)) && (LZO_SIZEOF_INT == 4)
+#    define LZO_SIZEOF_SIZE_T       LZO_SIZEOF_INT
+#    define LZO_SIZEOF_PTRDIFF_T    LZO_SIZEOF_INT
+#  endif
+#elif (LZO_ARCH_M16C)
+#  define __LZO_WORDSIZE            2
+#  if defined(__m32c_cpu__) || defined(__m32cm_cpu__)
+#    define LZO_SIZEOF_VOID_P       4
+#  else
+#    define LZO_SIZEOF_VOID_P       2
+#  endif
+#elif (LZO_SIZEOF_LONG == 8) && ((defined(__mips__) && defined(__R5900__)) || defined(__MIPS_PSX2__))
+#  define __LZO_WORDSIZE            8
+#  define LZO_SIZEOF_VOID_P         4
+#elif defined(__LLP64__) || defined(__LLP64) || defined(_LLP64) || defined(_WIN64)
+#  define __LZO_WORDSIZE            8
+#  define LZO_SIZEOF_VOID_P         8
+#elif (LZO_OS_OS400 || defined(__OS400__)) && defined(__LLP64_IFC__)
+#  define LZO_SIZEOF_VOID_P         LZO_SIZEOF_LONG
+#  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_LONG
+#  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_LONG
+#elif (LZO_OS_OS400 || defined(__OS400__))
+#  define __LZO_WORDSIZE            LZO_SIZEOF_LONG
+#  define LZO_SIZEOF_VOID_P         16
+#  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_LONG
+#  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_LONG
+#elif (defined(__vms) || defined(__VMS)) && (__INITIAL_POINTER_SIZE+0 == 64)
+#  define LZO_SIZEOF_VOID_P         8
+#  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_LONG
+#  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_LONG
+#elif (LZO_ARCH_SPU)
+# if 0
+#  define __LZO_WORDSIZE            16
+# endif
+#  define LZO_SIZEOF_VOID_P         4
+#else
+#  define LZO_SIZEOF_VOID_P         LZO_SIZEOF_LONG
+#endif
+#endif
+#if !defined(LZO_WORDSIZE)
+#  if defined(__LZO_WORDSIZE)
+#    define LZO_WORDSIZE            __LZO_WORDSIZE
+#  else
+#    define LZO_WORDSIZE            LZO_SIZEOF_VOID_P
+#  endif
+#endif
+#if !defined(LZO_SIZEOF_SIZE_T)
+#if (LZO_ARCH_I086 || LZO_ARCH_M16C)
+#  define LZO_SIZEOF_SIZE_T         2
+#else
+#  define LZO_SIZEOF_SIZE_T         LZO_SIZEOF_VOID_P
+#endif
+#endif
+#if !defined(LZO_SIZEOF_PTRDIFF_T)
+#if (LZO_ARCH_I086)
+#  if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM || LZO_MM_HUGE)
+#    define LZO_SIZEOF_PTRDIFF_T    LZO_SIZEOF_VOID_P
+#  elif (LZO_MM_COMPACT || LZO_MM_LARGE)
+#    if (LZO_CC_BORLANDC || LZO_CC_TURBOC)
+#      define LZO_SIZEOF_PTRDIFF_T  4
+#    else
+#      define LZO_SIZEOF_PTRDIFF_T  2
+#    endif
+#  else
+#    error "LZO_MM"
+#  endif
+#else
+#  define LZO_SIZEOF_PTRDIFF_T      LZO_SIZEOF_SIZE_T
+#endif
+#endif
+#if (LZO_ABI_NEUTRAL_ENDIAN)
+#  undef LZO_ABI_BIG_ENDIAN
+#  undef LZO_ABI_LITTLE_ENDIAN
+#elif !(LZO_ABI_BIG_ENDIAN) && !(LZO_ABI_LITTLE_ENDIAN)
+#if (LZO_ARCH_ALPHA) && (LZO_ARCH_CRAY_MPP)
+#  define LZO_ABI_BIG_ENDIAN        1
+#elif (LZO_ARCH_IA64) && (LZO_OS_POSIX_LINUX || LZO_OS_WIN64)
+#  define LZO_ABI_LITTLE_ENDIAN     1
+#elif (LZO_ARCH_ALPHA || LZO_ARCH_AMD64 || LZO_ARCH_BLACKFIN || LZO_ARCH_CRIS || LZO_ARCH_I086 || LZO_ARCH_I386 || LZO_ARCH_MSP430)
+#  define LZO_ABI_LITTLE_ENDIAN     1
+#elif (LZO_ARCH_AVR32 || LZO_ARCH_M68K || LZO_ARCH_S390)
+#  define LZO_ABI_BIG_ENDIAN        1
+#elif 1 && defined(__IAR_SYSTEMS_ICC__) && defined(__LITTLE_ENDIAN__)
+#  if (__LITTLE_ENDIAN__ == 1)
+#    define LZO_ABI_LITTLE_ENDIAN   1
+#  else
+#    define LZO_ABI_BIG_ENDIAN      1
+#  endif
+#elif 1 && defined(__BIG_ENDIAN__) && !defined(__LITTLE_ENDIAN__)
+#  define LZO_ABI_BIG_ENDIAN        1
+#elif 1 && defined(__LITTLE_ENDIAN__) && !defined(__BIG_ENDIAN__)
+#  define LZO_ABI_LITTLE_ENDIAN     1
+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEB__) && !defined(__ARMEL__)
+#  define LZO_ABI_BIG_ENDIAN        1
+#elif 1 && (LZO_ARCH_ARM) && defined(__ARMEL__) && !defined(__ARMEB__)
+#  define LZO_ABI_LITTLE_ENDIAN     1
+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEB__) && !defined(__MIPSEL__)
+#  define LZO_ABI_BIG_ENDIAN        1
+#elif 1 && (LZO_ARCH_MIPS) && defined(__MIPSEL__) && !defined(__MIPSEB__)
+#  define LZO_ABI_LITTLE_ENDIAN     1
+#endif
+#endif
+#if (LZO_ABI_BIG_ENDIAN) && (LZO_ABI_LITTLE_ENDIAN)
+#  error "this should not happen"
+#endif
+#if (LZO_ABI_BIG_ENDIAN)
+#  define LZO_INFO_ABI_ENDIAN       "be"
+#elif (LZO_ABI_LITTLE_ENDIAN)
+#  define LZO_INFO_ABI_ENDIAN       "le"
+#elif (LZO_ABI_NEUTRAL_ENDIAN)
+#  define LZO_INFO_ABI_ENDIAN       "neutral"
+#endif
+#if (LZO_SIZEOF_INT == 1 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
+#  define LZO_ABI_I8LP16         1
+#  define LZO_INFO_ABI_PM       "i8lp16"
+#elif (LZO_SIZEOF_INT == 2 && LZO_SIZEOF_LONG == 2 && LZO_SIZEOF_VOID_P == 2)
+#  define LZO_ABI_ILP16         1
+#  define LZO_INFO_ABI_PM       "ilp16"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 4)
+#  define LZO_ABI_ILP32         1
+#  define LZO_INFO_ABI_PM       "ilp32"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 4 && LZO_SIZEOF_VOID_P == 8 && LZO_SIZEOF_SIZE_T == 8)
+#  define LZO_ABI_LLP64         1
+#  define LZO_INFO_ABI_PM       "llp64"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
+#  define LZO_ABI_LP64          1
+#  define LZO_INFO_ABI_PM       "lp64"
+#elif (LZO_SIZEOF_INT == 8 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 8)
+#  define LZO_ABI_ILP64         1
+#  define LZO_INFO_ABI_PM       "ilp64"
+#elif (LZO_SIZEOF_INT == 4 && LZO_SIZEOF_LONG == 8 && LZO_SIZEOF_VOID_P == 4)
+#  define LZO_ABI_IP32L64       1
+#  define LZO_INFO_ABI_PM       "ip32l64"
+#endif
+#if !defined(__LZO_LIBC_OVERRIDE)
+#if (LZO_LIBC_NAKED)
+#  define LZO_INFO_LIBC         "naked"
+#elif (LZO_LIBC_FREESTANDING)
+#  define LZO_INFO_LIBC         "freestanding"
+#elif (LZO_LIBC_MOSTLY_FREESTANDING)
+#  define LZO_INFO_LIBC         "mfreestanding"
+#elif (LZO_LIBC_ISOC90)
+#  define LZO_INFO_LIBC         "isoc90"
+#elif (LZO_LIBC_ISOC99)
+#  define LZO_INFO_LIBC         "isoc99"
+#elif defined(__dietlibc__)
+#  define LZO_LIBC_DIETLIBC     1
+#  define LZO_INFO_LIBC         "dietlibc"
+#elif defined(_NEWLIB_VERSION)
+#  define LZO_LIBC_NEWLIB       1
+#  define LZO_INFO_LIBC         "newlib"
+#elif defined(__UCLIBC__) && defined(__UCLIBC_MAJOR__) && defined(__UCLIBC_MINOR__)
+#  if defined(__UCLIBC_SUBLEVEL__)
+#    define LZO_LIBC_UCLIBC     (__UCLIBC_MAJOR__ * 0x10000L + __UCLIBC_MINOR__ * 0x100 + __UCLIBC_SUBLEVEL__)
+#  else
+#    define LZO_LIBC_UCLIBC     0x00090bL
+#  endif
+#  define LZO_INFO_LIBC         "uclibc"
+#elif defined(__GLIBC__) && defined(__GLIBC_MINOR__)
+#  define LZO_LIBC_GLIBC        (__GLIBC__ * 0x10000L + __GLIBC_MINOR__ * 0x100)
+#  define LZO_INFO_LIBC         "glibc"
+#elif (LZO_CC_MWERKS) && defined(__MSL__)
+#  define LZO_LIBC_MSL          __MSL__
+#  define LZO_INFO_LIBC         "msl"
+#elif 1 && defined(__IAR_SYSTEMS_ICC__)
+#  define LZO_LIBC_ISOC90       1
+#  define LZO_INFO_LIBC         "isoc90"
+#else
+#  define LZO_LIBC_DEFAULT      1
+#  define LZO_INFO_LIBC         "default"
+#endif
+#endif
+#if !defined(__lzo_gnuc_extension__)
+#if (LZO_CC_GNUC >= 0x020800ul)
+#  define __lzo_gnuc_extension__    __extension__
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_gnuc_extension__    __extension__
+#else
+#  define __lzo_gnuc_extension__    /*empty*/
+#endif
+#endif
+#if !defined(__lzo_ua_volatile)
+#  define __lzo_ua_volatile     volatile
+#endif
+#if !defined(__lzo_alignof)
+#if (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
+#  define __lzo_alignof(e)      __alignof__(e)
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 700))
+#  define __lzo_alignof(e)      __alignof__(e)
+#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
+#  define __lzo_alignof(e)      __alignof(e)
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#  define __lzo_alignof(e)      __alignof__(e)
+#endif
+#endif
+#if defined(__lzo_alignof)
+#  define __lzo_HAVE_alignof 1
+#endif
+#if !defined(__lzo_constructor)
+#if (LZO_CC_GNUC >= 0x030400ul)
+#  define __lzo_constructor     __attribute__((__constructor__,__used__))
+#elif (LZO_CC_GNUC >= 0x020700ul)
+#  define __lzo_constructor     __attribute__((__constructor__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_constructor     __attribute__((__constructor__))
+#endif
+#endif
+#if defined(__lzo_constructor)
+#  define __lzo_HAVE_constructor 1
+#endif
+#if !defined(__lzo_destructor)
+#if (LZO_CC_GNUC >= 0x030400ul)
+#  define __lzo_destructor      __attribute__((__destructor__,__used__))
+#elif (LZO_CC_GNUC >= 0x020700ul)
+#  define __lzo_destructor      __attribute__((__destructor__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_destructor      __attribute__((__destructor__))
+#endif
+#endif
+#if defined(__lzo_destructor)
+#  define __lzo_HAVE_destructor 1
+#endif
+#if (__lzo_HAVE_destructor) && !(__lzo_HAVE_constructor)
+#  error "this should not happen"
+#endif
+#if !defined(__lzo_inline)
+#if (LZO_CC_TURBOC && (__TURBOC__ <= 0x0295))
+#elif defined(__cplusplus)
+#  define __lzo_inline          inline
+#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550))
+#  define __lzo_inline          __inline
+#elif (LZO_CC_CILLY || LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE || LZO_CC_PGI)
+#  define __lzo_inline          __inline__
+#elif (LZO_CC_DMC)
+#  define __lzo_inline          __inline
+#elif (LZO_CC_INTELC)
+#  define __lzo_inline          __inline
+#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x2405))
+#  define __lzo_inline          __inline
+#elif (LZO_CC_MSC && (_MSC_VER >= 900))
+#  define __lzo_inline          __inline
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#  define __lzo_inline          __inline__
+#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)
+#  define __lzo_inline          inline
+#endif
+#endif
+#if defined(__lzo_inline)
+#  define __lzo_HAVE_inline 1
+#else
+#  define __lzo_inline          /*empty*/
+#endif
+#if !defined(__lzo_forceinline)
+#if (LZO_CC_GNUC >= 0x030200ul)
+#  define __lzo_forceinline     __inline__ __attribute__((__always_inline__))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
+#  define __lzo_forceinline     __forceinline
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
+#  define __lzo_forceinline     __inline__ __attribute__((__always_inline__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_forceinline     __inline__ __attribute__((__always_inline__))
+#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
+#  define __lzo_forceinline     __forceinline
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#  define __lzo_forceinline     __inline__ __attribute__((__always_inline__))
+#endif
+#endif
+#if defined(__lzo_forceinline)
+#  define __lzo_HAVE_forceinline 1
+#else
+#  define __lzo_forceinline     /*empty*/
+#endif
+#if !defined(__lzo_noinline)
+#if 1 && (LZO_ARCH_I386) && (LZO_CC_GNUC >= 0x040000ul) && (LZO_CC_GNUC < 0x040003ul)
+#  define __lzo_noinline        __attribute__((__noinline__,__used__))
+#elif (LZO_CC_GNUC >= 0x030200ul)
+#  define __lzo_noinline        __attribute__((__noinline__))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_MSC)
+#  define __lzo_noinline        __declspec(noinline)
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800) && LZO_CC_SYNTAX_GNUC)
+#  define __lzo_noinline        __attribute__((__noinline__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_noinline        __attribute__((__noinline__))
+#elif (LZO_CC_MSC && (_MSC_VER >= 1300))
+#  define __lzo_noinline        __declspec(noinline)
+#elif (LZO_CC_MWERKS && (__MWERKS__ >= 0x3200) && (LZO_OS_WIN32 || LZO_OS_WIN64))
+#  if defined(__cplusplus)
+#  else
+#    define __lzo_noinline      __declspec(noinline)
+#  endif
+#elif (LZO_CC_SUNPROC && (LZO_CC_SUNPROC >= 0x5100))
+#  define __lzo_noinline        __attribute__((__noinline__))
+#endif
+#endif
+#if defined(__lzo_noinline)
+#  define __lzo_HAVE_noinline 1
+#else
+#  define __lzo_noinline        /*empty*/
+#endif
+#if (__lzo_HAVE_forceinline || __lzo_HAVE_noinline) && !(__lzo_HAVE_inline)
+#  error "this should not happen"
+#endif
+#if !defined(__lzo_noreturn)
+#if (LZO_CC_GNUC >= 0x020700ul)
+#  define __lzo_noreturn        __attribute__((__noreturn__))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC)
+#  define __lzo_noreturn        __declspec(noreturn)
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
+#  define __lzo_noreturn        __attribute__((__noreturn__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_noreturn        __attribute__((__noreturn__))
+#elif (LZO_CC_MSC && (_MSC_VER >= 1200))
+#  define __lzo_noreturn        __declspec(noreturn)
+#endif
+#endif
+#if defined(__lzo_noreturn)
+#  define __lzo_HAVE_noreturn 1
+#else
+#  define __lzo_noreturn        /*empty*/
+#endif
+#if !defined(__lzo_nothrow)
+#if (LZO_CC_GNUC >= 0x030300ul)
+#  define __lzo_nothrow         __attribute__((__nothrow__))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 450) && LZO_CC_SYNTAX_MSC) && defined(__cplusplus)
+#  define __lzo_nothrow         __declspec(nothrow)
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 900) && LZO_CC_SYNTAX_GNUC)
+#  define __lzo_nothrow         __attribute__((__nothrow__))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_nothrow         __attribute__((__nothrow__))
+#elif (LZO_CC_MSC && (_MSC_VER >= 1200)) && defined(__cplusplus)
+#  define __lzo_nothrow         __declspec(nothrow)
+#endif
+#endif
+#if defined(__lzo_nothrow)
+#  define __lzo_HAVE_nothrow 1
+#else
+#  define __lzo_nothrow         /*empty*/
+#endif
+#if !defined(__lzo_restrict)
+#if (LZO_CC_GNUC >= 0x030400ul)
+#  define __lzo_restrict        __restrict__
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 600) && LZO_CC_SYNTAX_GNUC)
+#  define __lzo_restrict        __restrict__
+#elif (LZO_CC_CLANG || LZO_CC_LLVM)
+#  define __lzo_restrict        __restrict__
+#elif (LZO_CC_MSC && (_MSC_VER >= 1400))
+#  define __lzo_restrict        __restrict
+#endif
+#endif
+#if defined(__lzo_restrict)
+#  define __lzo_HAVE_restrict 1
+#else
+#  define __lzo_restrict        /*empty*/
+#endif
+#if !defined(__lzo_likely) && !defined(__lzo_unlikely)
+#if (LZO_CC_GNUC >= 0x030200ul)
+#  define __lzo_likely(e)       (__builtin_expect(!!(e),1))
+#  define __lzo_unlikely(e)     (__builtin_expect(!!(e),0))
+#elif (LZO_CC_INTELC && (__INTEL_COMPILER >= 800))
+#  define __lzo_likely(e)       (__builtin_expect(!!(e),1))
+#  define __lzo_unlikely(e)     (__builtin_expect(!!(e),0))
+#elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#  define __lzo_likely(e)       (__builtin_expect(!!(e),1))
+#  define __lzo_unlikely(e)     (__builtin_expect(!!(e),0))
+#endif
+#endif
+#if defined(__lzo_likely)
+#  define __lzo_HAVE_likely 1
+#else
+#  define __lzo_likely(e)       (e)
+#endif
+#if defined(__lzo_unlikely)
+#  define __lzo_HAVE_unlikely 1
+#else
+#  define __lzo_unlikely(e)     (e)
+#endif
+#if !defined(LZO_UNUSED)
+#  if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
+#    define LZO_UNUSED(var)         ((void) &var)
+#  elif (LZO_CC_BORLANDC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PELLESC || LZO_CC_TURBOC)
+#    define LZO_UNUSED(var)         if (&var) ; else
+#  elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#    define LZO_UNUSED(var)         ((void) var)
+#  elif (LZO_CC_MSC && (_MSC_VER < 900))
+#    define LZO_UNUSED(var)         if (&var) ; else
+#  elif (LZO_CC_KEILC)
+#    define LZO_UNUSED(var)         {extern int __lzo_unused[1-2*!(sizeof(var)>0)];}
+#  elif (LZO_CC_PACIFICC)
+#    define LZO_UNUSED(var)         ((void) sizeof(var))
+#  elif (LZO_CC_WATCOMC) && defined(__cplusplus)
+#    define LZO_UNUSED(var)         ((void) var)
+#  else
+#    define LZO_UNUSED(var)         ((void) &var)
+#  endif
+#endif
+#if !defined(LZO_UNUSED_FUNC)
+#  if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0600))
+#    define LZO_UNUSED_FUNC(func)   ((void) func)
+#  elif (LZO_CC_BORLANDC || LZO_CC_NDPC || LZO_CC_TURBOC)
+#    define LZO_UNUSED_FUNC(func)   if (func) ; else
+#  elif (LZO_CC_CLANG || LZO_CC_LLVM)
+#    define LZO_UNUSED_FUNC(func)   ((void) &func)
+#  elif (LZO_CC_MSC && (_MSC_VER < 900))
+#    define LZO_UNUSED_FUNC(func)   if (func) ; else
+#  elif (LZO_CC_MSC)
+#    define LZO_UNUSED_FUNC(func)   ((void) &func)
+#  elif (LZO_CC_KEILC || LZO_CC_PELLESC)
+#    define LZO_UNUSED_FUNC(func)   {extern int __lzo_unused[1-2*!(sizeof((int)func)>0)];}
+#  else
+#    define LZO_UNUSED_FUNC(func)   ((void) func)
+#  endif
+#endif
+#if !defined(LZO_UNUSED_LABEL)
+#  if (LZO_CC_WATCOMC) && defined(__cplusplus)
+#    define LZO_UNUSED_LABEL(l)     switch(0) case 1:goto l
+#  elif (LZO_CC_CLANG || LZO_CC_INTELC || LZO_CC_WATCOMC)
+#    define LZO_UNUSED_LABEL(l)     if (0) goto l
+#  else
+#    define LZO_UNUSED_LABEL(l)     switch(0) case 1:goto l
+#  endif
+#endif
+#if !defined(LZO_DEFINE_UNINITIALIZED_VAR)
+#  if 0
+#    define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var
+#  elif 0 && (LZO_CC_GNUC)
+#    define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var = var
+#  else
+#    define LZO_DEFINE_UNINITIALIZED_VAR(type,var,init)  type var = init
+#  endif
+#endif
+#if !defined(LZO_UNCONST_CAST)
+#  if 0 && defined(__cplusplus)
+#    define LZO_UNCONST_CAST(t,e)   (const_cast<t> (e))
+#  elif (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_LLVM || LZO_CC_PATHSCALE)
+#    define LZO_UNCONST_CAST(t,e)   ((t) ((void *) ((char *) ((lzo_uintptr_t) ((const void *) (e))))))
+#  else
+#    define LZO_UNCONST_CAST(t,e)   ((t) ((void *) ((char *) ((const void *) (e)))))
+#  endif
+#endif
+#if !defined(LZO_COMPILE_TIME_ASSERT_HEADER)
+#  if (LZO_CC_AZTECC || LZO_CC_ZORTECHC)
+#    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1-!(e)];
+#  elif (LZO_CC_DMC || LZO_CC_SYMANTECC)
+#    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1u-2*!(e)];
+#  elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
+#    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1-!(e)];
+#  else
+#    define LZO_COMPILE_TIME_ASSERT_HEADER(e)  extern int __lzo_cta[1-2*!(e)];
+#  endif
+#endif
+#if !defined(LZO_COMPILE_TIME_ASSERT)
+#  if (LZO_CC_AZTECC)
+#    define LZO_COMPILE_TIME_ASSERT(e)  {typedef int __lzo_cta_t[1-!(e)];}
+#  elif (LZO_CC_DMC || LZO_CC_PACIFICC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
+#    define LZO_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
+#  elif (LZO_CC_MSC && (_MSC_VER < 900))
+#    define LZO_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
+#  elif (LZO_CC_TURBOC && (__TURBOC__ == 0x0295))
+#    define LZO_COMPILE_TIME_ASSERT(e)  switch(0) case 1:case !(e):break;
+#  else
+#    define LZO_COMPILE_TIME_ASSERT(e)  {typedef int __lzo_cta_t[1-2*!(e)];}
+#  endif
+#endif
+#if (LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
+#  if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC)
+#  elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
+#    define __lzo_cdecl                 __cdecl
+#    define __lzo_cdecl_atexit          /*empty*/
+#    define __lzo_cdecl_main            __cdecl
+#    if (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
+#      define __lzo_cdecl_qsort         __pascal
+#    elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
+#      define __lzo_cdecl_qsort         _stdcall
+#    else
+#      define __lzo_cdecl_qsort         __cdecl
+#    endif
+#  elif (LZO_CC_WATCOMC)
+#    define __lzo_cdecl                 __cdecl
+#  else
+#    define __lzo_cdecl                 __cdecl
+#    define __lzo_cdecl_atexit          __cdecl
+#    define __lzo_cdecl_main            __cdecl
+#    define __lzo_cdecl_qsort           __cdecl
+#  endif
+#  if (LZO_CC_GNUC || LZO_CC_HIGHC || LZO_CC_NDPC || LZO_CC_PACIFICC || LZO_CC_WATCOMC)
+#  elif (LZO_OS_OS2 && (LZO_CC_DMC || LZO_CC_SYMANTECC))
+#    define __lzo_cdecl_sighandler      __pascal
+#  elif (LZO_OS_OS2 && (LZO_CC_ZORTECHC))
+#    define __lzo_cdecl_sighandler      _stdcall
+#  elif (LZO_CC_MSC && (_MSC_VER >= 1400)) && defined(_M_CEE_PURE)
+#    define __lzo_cdecl_sighandler      __clrcall
+#  elif (LZO_CC_MSC && (_MSC_VER >= 600 && _MSC_VER < 700))
+#    if defined(_DLL)
+#      define __lzo_cdecl_sighandler    _far _cdecl _loadds
+#    elif defined(_MT)
+#      define __lzo_cdecl_sighandler    _far _cdecl
+#    else
+#      define __lzo_cdecl_sighandler    _cdecl
+#    endif
+#  else
+#    define __lzo_cdecl_sighandler      __cdecl
+#  endif
+#elif (LZO_ARCH_I386) && (LZO_CC_WATCOMC)
+#  define __lzo_cdecl                   __cdecl
+#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
+#  define __lzo_cdecl                   cdecl
+#endif
+#if !defined(__lzo_cdecl)
+#  define __lzo_cdecl                   /*empty*/
+#endif
+#if !defined(__lzo_cdecl_atexit)
+#  define __lzo_cdecl_atexit            /*empty*/
+#endif
+#if !defined(__lzo_cdecl_main)
+#  define __lzo_cdecl_main              /*empty*/
+#endif
+#if !defined(__lzo_cdecl_qsort)
+#  define __lzo_cdecl_qsort             /*empty*/
+#endif
+#if !defined(__lzo_cdecl_sighandler)
+#  define __lzo_cdecl_sighandler        /*empty*/
+#endif
+#if !defined(__lzo_cdecl_va)
+#  define __lzo_cdecl_va                __lzo_cdecl
+#endif
+#if !(LZO_CFG_NO_WINDOWS_H)
+#if (LZO_OS_CYGWIN || (LZO_OS_EMX && defined(__RSXNT__)) || LZO_OS_WIN32 || LZO_OS_WIN64)
+#  if (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
+#  elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
+#  elif ((LZO_OS_CYGWIN || defined(__MINGW32__)) && (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025f00ul)))
+#  else
+#    define LZO_HAVE_WINDOWS_H 1
+#  endif
+#endif
+#endif
+#if (LZO_ARCH_ALPHA)
+#  define LZO_OPT_AVOID_UINT_INDEX  1
+#  define LZO_OPT_AVOID_SHORT       1
+#  define LZO_OPT_AVOID_USHORT      1
+#elif (LZO_ARCH_AMD64)
+#  define LZO_OPT_AVOID_INT_INDEX   1
+#  define LZO_OPT_AVOID_UINT_INDEX  1
+#  define LZO_OPT_UNALIGNED16       1
+#  define LZO_OPT_UNALIGNED32       1
+#  define LZO_OPT_UNALIGNED64       1
+#elif (LZO_ARCH_ARM && LZO_ARCH_ARM_THUMB)
+#elif (LZO_ARCH_ARM)
+#  define LZO_OPT_AVOID_SHORT       1
+#  define LZO_OPT_AVOID_USHORT      1
+#elif (LZO_ARCH_CRIS)
+#  define LZO_OPT_UNALIGNED16       1
+#  define LZO_OPT_UNALIGNED32       1
+#elif (LZO_ARCH_I386)
+#  define LZO_OPT_UNALIGNED16       1
+#  define LZO_OPT_UNALIGNED32       1
+#elif (LZO_ARCH_IA64)
+#  define LZO_OPT_AVOID_INT_INDEX   1
+#  define LZO_OPT_AVOID_UINT_INDEX  1
+#  define LZO_OPT_PREFER_POSTINC    1
+#elif (LZO_ARCH_M68K)
+#  define LZO_OPT_PREFER_POSTINC    1
+#  define LZO_OPT_PREFER_PREDEC     1
+#  if defined(__mc68020__) && !defined(__mcoldfire__)
+#    define LZO_OPT_UNALIGNED16     1
+#    define LZO_OPT_UNALIGNED32     1
+#  endif
+#elif (LZO_ARCH_MIPS)
+#  define LZO_OPT_AVOID_UINT_INDEX  1
+#elif (LZO_ARCH_POWERPC)
+#  define LZO_OPT_PREFER_PREINC     1
+#  define LZO_OPT_PREFER_PREDEC     1
+#  if (LZO_ABI_BIG_ENDIAN)
+#    define LZO_OPT_UNALIGNED16     1
+#    define LZO_OPT_UNALIGNED32     1
+#  endif
+#elif (LZO_ARCH_S390)
+#  define LZO_OPT_UNALIGNED16       1
+#  define LZO_OPT_UNALIGNED32       1
+#  if (LZO_SIZEOF_SIZE_T == 8)
+#    define LZO_OPT_UNALIGNED64     1
+#  endif
+#elif (LZO_ARCH_SH)
+#  define LZO_OPT_PREFER_POSTINC    1
+#  define LZO_OPT_PREFER_PREDEC     1
+#endif
+#ifndef LZO_CFG_NO_INLINE_ASM
+#if (LZO_CC_LLVM)
+#  define LZO_CFG_NO_INLINE_ASM 1
+#endif
+#endif
+#ifndef LZO_CFG_NO_UNALIGNED
+#if (LZO_ABI_NEUTRAL_ENDIAN) || (LZO_ARCH_GENERIC)
+#  define LZO_CFG_NO_UNALIGNED 1
+#endif
+#endif
+#if (LZO_CFG_NO_UNALIGNED)
+#  undef LZO_OPT_UNALIGNED16
+#  undef LZO_OPT_UNALIGNED32
+#  undef LZO_OPT_UNALIGNED64
+#endif
+#if (LZO_CFG_NO_INLINE_ASM)
+#elif (LZO_ARCH_I386 && (LZO_OS_DOS32 || LZO_OS_WIN32) && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
+#  define LZO_ASM_SYNTAX_MSC 1
+#elif (LZO_OS_WIN64 && (LZO_CC_DMC || LZO_CC_INTELC || LZO_CC_MSC || LZO_CC_PELLESC))
+#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC == 0x011f00ul))
+#elif (LZO_ARCH_I386 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
+#  define LZO_ASM_SYNTAX_GNUC 1
+#elif (LZO_ARCH_AMD64 && (LZO_CC_CLANG || LZO_CC_GNUC || LZO_CC_INTELC || LZO_CC_PATHSCALE))
+#  define LZO_ASM_SYNTAX_GNUC 1
+#endif
+#if (LZO_ASM_SYNTAX_GNUC)
+#if (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
+#  define __LZO_ASM_CLOBBER         "ax"
+#elif (LZO_CC_INTELC)
+#  define __LZO_ASM_CLOBBER         "memory"
+#else
+#  define __LZO_ASM_CLOBBER         "cc", "memory"
+#endif
+#endif
+#if defined(__LZO_INFOSTR_MM)
+#elif (LZO_MM_FLAT) && (defined(__LZO_INFOSTR_PM) || defined(LZO_INFO_ABI_PM))
+#  define __LZO_INFOSTR_MM          ""
+#elif defined(LZO_INFO_MM)
+#  define __LZO_INFOSTR_MM          "." LZO_INFO_MM
+#else
+#  define __LZO_INFOSTR_MM          ""
+#endif
+#if defined(__LZO_INFOSTR_PM)
+#elif defined(LZO_INFO_ABI_PM)
+#  define __LZO_INFOSTR_PM          "." LZO_INFO_ABI_PM
+#else
+#  define __LZO_INFOSTR_PM          ""
+#endif
+#if defined(__LZO_INFOSTR_ENDIAN)
+#elif defined(LZO_INFO_ABI_ENDIAN)
+#  define __LZO_INFOSTR_ENDIAN      "." LZO_INFO_ABI_ENDIAN
+#else
+#  define __LZO_INFOSTR_ENDIAN      ""
+#endif
+#if defined(__LZO_INFOSTR_OSNAME)
+#elif defined(LZO_INFO_OS_CONSOLE)
+#  define __LZO_INFOSTR_OSNAME      LZO_INFO_OS "." LZO_INFO_OS_CONSOLE
+#elif defined(LZO_INFO_OS_POSIX)
+#  define __LZO_INFOSTR_OSNAME      LZO_INFO_OS "." LZO_INFO_OS_POSIX
+#else
+#  define __LZO_INFOSTR_OSNAME      LZO_INFO_OS
+#endif
+#if defined(__LZO_INFOSTR_LIBC)
+#elif defined(LZO_INFO_LIBC)
+#  define __LZO_INFOSTR_LIBC        "." LZO_INFO_LIBC
+#else
+#  define __LZO_INFOSTR_LIBC        ""
+#endif
+#if defined(__LZO_INFOSTR_CCVER)
+#elif defined(LZO_INFO_CCVER)
+#  define __LZO_INFOSTR_CCVER       " " LZO_INFO_CCVER
+#else
+#  define __LZO_INFOSTR_CCVER       ""
+#endif
+#define LZO_INFO_STRING \
+    LZO_INFO_ARCH __LZO_INFOSTR_MM __LZO_INFOSTR_PM __LZO_INFOSTR_ENDIAN \
+    " " __LZO_INFOSTR_OSNAME __LZO_INFOSTR_LIBC " " LZO_INFO_CC __LZO_INFOSTR_CCVER
+
+#endif
+
+#endif
+
+#undef LZO_HAVE_CONFIG_H
+#include "minilzo.h"
+
+#if !defined(MINILZO_VERSION) || (MINILZO_VERSION != 0x2060)
+#  error "version mismatch in miniLZO source files"
+#endif
+
+#ifdef MINILZO_HAVE_CONFIG_H
+#  define LZO_HAVE_CONFIG_H 1
+#endif
+
+#ifndef __LZO_CONF_H
+#define __LZO_CONF_H 1
+
+#if !defined(__LZO_IN_MINILZO)
+#if (LZO_CFG_FREESTANDING)
+#  define LZO_LIBC_FREESTANDING 1
+#  define LZO_OS_FREESTANDING 1
+#  define ACC_LIBC_FREESTANDING 1
+#  define ACC_OS_FREESTANDING 1
+#endif
+#if (LZO_CFG_NO_UNALIGNED)
+#  define ACC_CFG_NO_UNALIGNED 1
+#endif
+#if (LZO_ARCH_GENERIC)
+#  define ACC_ARCH_GENERIC 1
+#endif
+#if (LZO_ABI_NEUTRAL_ENDIAN)
+#  define ACC_ABI_NEUTRAL_ENDIAN 1
+#endif
+#if (LZO_HAVE_CONFIG_H)
+#  define ACC_CONFIG_NO_HEADER 1
+#endif
+#if defined(LZO_CFG_EXTRA_CONFIG_HEADER)
+#  include LZO_CFG_EXTRA_CONFIG_HEADER
+#endif
+#if defined(__LZOCONF_H) || defined(__LZOCONF_H_INCLUDED)
+#  error "include this file first"
+#endif
+#include "lzo/lzoconf.h"
+#endif
+
+#if (LZO_VERSION < 0x02000) || !defined(__LZOCONF_H_INCLUDED)
+#  error "version mismatch"
+#endif
+
+#if (LZO_CC_BORLANDC && LZO_ARCH_I086)
+#  pragma option -h
+#endif
+
+#if (LZO_CC_MSC && (_MSC_VER >= 1000))
+#  pragma warning(disable: 4127 4701)
+#endif
+#if (LZO_CC_MSC && (_MSC_VER >= 1300))
+#  pragma warning(disable: 4820)
+#  pragma warning(disable: 4514 4710 4711)
+#endif
+
+#if (LZO_CC_SUNPROC)
+#if !defined(__cplusplus)
+#  pragma error_messages(off,E_END_OF_LOOP_CODE_NOT_REACHED)
+#  pragma error_messages(off,E_LOOP_NOT_ENTERED_AT_TOP)
+#  pragma error_messages(off,E_STATEMENT_NOT_REACHED)
+#endif
+#endif
+
+#if (__LZO_MMODEL_HUGE) && !(LZO_HAVE_MM_HUGE_PTR)
+#  error "this should not happen - check defines for __huge"
+#endif
+
+#if defined(__LZO_IN_MINILZO) || defined(LZO_CFG_FREESTANDING)
+#elif (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
+#  define ACC_WANT_ACC_INCD_H 1
+#  define ACC_WANT_ACC_INCE_H 1
+#  define ACC_WANT_ACC_INCI_H 1
+#elif 1
+#  include <string.h>
+#else
+#  define ACC_WANT_ACC_INCD_H 1
+#endif
+
+#if (LZO_ARCH_I086)
+#  define ACC_MM_AHSHIFT        LZO_MM_AHSHIFT
+#  define ACC_PTR_FP_OFF(x)     (((const unsigned __far*)&(x))[0])
+#  define ACC_PTR_FP_SEG(x)     (((const unsigned __far*)&(x))[1])
+#  define ACC_PTR_MK_FP(s,o)    ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o)))
+#endif
+
+#if !defined(lzo_uintptr_t)
+#  if defined(__LZO_MMODEL_HUGE)
+#    define lzo_uintptr_t       unsigned long
+#  elif 1 && defined(LZO_OS_OS400) && (LZO_SIZEOF_VOID_P == 16)
+#    define __LZO_UINTPTR_T_IS_POINTER 1
+     typedef char*              lzo_uintptr_t;
+#    define lzo_uintptr_t       lzo_uintptr_t
+#  elif (LZO_SIZEOF_SIZE_T == LZO_SIZEOF_VOID_P)
+#    define lzo_uintptr_t       size_t
+#  elif (LZO_SIZEOF_LONG == LZO_SIZEOF_VOID_P)
+#    define lzo_uintptr_t       unsigned long
+#  elif (LZO_SIZEOF_INT == LZO_SIZEOF_VOID_P)
+#    define lzo_uintptr_t       unsigned int
+#  elif (LZO_SIZEOF_LONG_LONG == LZO_SIZEOF_VOID_P)
+#    define lzo_uintptr_t       unsigned long long
+#  else
+#    define lzo_uintptr_t       size_t
+#  endif
+#endif
+LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp))
+
+#if 1 && !defined(LZO_CFG_FREESTANDING)
+#if 1 && !defined(HAVE_STRING_H)
+#define HAVE_STRING_H 1
+#endif
+#if 1 && !defined(HAVE_MEMCMP)
+#define HAVE_MEMCMP 1
+#endif
+#if 1 && !defined(HAVE_MEMCPY)
+#define HAVE_MEMCPY 1
+#endif
+#if 1 && !defined(HAVE_MEMMOVE)
+#define HAVE_MEMMOVE 1
+#endif
+#if 1 && !defined(HAVE_MEMSET)
+#define HAVE_MEMSET 1
+#endif
+#endif
+
+#if 1 && defined(HAVE_STRING_H)
+#include <string.h>
+#endif
+
+#if (LZO_CFG_FREESTANDING)
+#  undef HAVE_MEMCMP
+#  undef HAVE_MEMCPY
+#  undef HAVE_MEMMOVE
+#  undef HAVE_MEMSET
+#endif
+
+#if !(HAVE_MEMCMP)
+#  undef memcmp
+#  define memcmp(a,b,c)         lzo_memcmp(a,b,c)
+#elif !(__LZO_MMODEL_HUGE)
+#  undef lzo_memcmp
+#  define lzo_memcmp(a,b,c)     memcmp(a,b,c)
+#endif
+#if !(HAVE_MEMCPY)
+#  undef memcpy
+#  define memcpy(a,b,c)         lzo_memcpy(a,b,c)
+#elif !(__LZO_MMODEL_HUGE)
+#  undef lzo_memcpy
+#  define lzo_memcpy(a,b,c)     memcpy(a,b,c)
+#endif
+#if !(HAVE_MEMMOVE)
+#  undef memmove
+#  define memmove(a,b,c)        lzo_memmove(a,b,c)
+#elif !(__LZO_MMODEL_HUGE)
+#  undef lzo_memmove
+#  define lzo_memmove(a,b,c)    memmove(a,b,c)
+#endif
+#if !(HAVE_MEMSET)
+#  undef memset
+#  define memset(a,b,c)         lzo_memset(a,b,c)
+#elif !(__LZO_MMODEL_HUGE)
+#  undef lzo_memset
+#  define lzo_memset(a,b,c)     memset(a,b,c)
+#endif
+
+#undef NDEBUG
+#if (LZO_CFG_FREESTANDING)
+#  undef LZO_DEBUG
+#  define NDEBUG 1
+#  undef assert
+#  define assert(e) ((void)0)
+#else
+#  if !defined(LZO_DEBUG)
+#    define NDEBUG 1
+#  endif
+#  include <assert.h>
+#endif
+
+#if 0 && defined(__BOUNDS_CHECKING_ON)
+#  include <unchecked.h>
+#else
+#  define BOUNDS_CHECKING_OFF_DURING(stmt)      stmt
+#  define BOUNDS_CHECKING_OFF_IN_EXPR(expr)     (expr)
+#endif
+
+#if !defined(__lzo_inline)
+#  define __lzo_inline              /*empty*/
+#endif
+#if !defined(__lzo_forceinline)
+#  define __lzo_forceinline         /*empty*/
+#endif
+#if !defined(__lzo_noinline)
+#  define __lzo_noinline            /*empty*/
+#endif
+
+#if (LZO_CFG_PGO)
+#  undef __acc_likely
+#  undef __acc_unlikely
+#  undef __lzo_likely
+#  undef __lzo_unlikely
+#  define __acc_likely(e)       (e)
+#  define __acc_unlikely(e)     (e)
+#  define __lzo_likely(e)       (e)
+#  define __lzo_unlikely(e)     (e)
+#endif
+
+#if 1
+#  define LZO_BYTE(x)       ((unsigned char) (x))
+#else
+#  define LZO_BYTE(x)       ((unsigned char) ((x) & 0xff))
+#endif
+
+#define LZO_MAX(a,b)        ((a) >= (b) ? (a) : (b))
+#define LZO_MIN(a,b)        ((a) <= (b) ? (a) : (b))
+#define LZO_MAX3(a,b,c)     ((a) >= (b) ? LZO_MAX(a,c) : LZO_MAX(b,c))
+#define LZO_MIN3(a,b,c)     ((a) <= (b) ? LZO_MIN(a,c) : LZO_MIN(b,c))
+
+#define lzo_sizeof(type)    ((lzo_uint) (sizeof(type)))
+
+#define LZO_HIGH(array)     ((lzo_uint) (sizeof(array)/sizeof(*(array))))
+
+#define LZO_SIZE(bits)      (1u << (bits))
+#define LZO_MASK(bits)      (LZO_SIZE(bits) - 1)
+
+#define LZO_LSIZE(bits)     (1ul << (bits))
+#define LZO_LMASK(bits)     (LZO_LSIZE(bits) - 1)
+
+#define LZO_USIZE(bits)     ((lzo_uint) 1 << (bits))
+#define LZO_UMASK(bits)     (LZO_USIZE(bits) - 1)
+
+#if !defined(DMUL)
+#if 0
+
+#  define DMUL(a,b) ((lzo_xint) ((lzo_uint32)(a) * (lzo_uint32)(b)))
+#else
+#  define DMUL(a,b) ((lzo_xint) ((a) * (b)))
+#endif
+#endif
+
+#if 1 && (LZO_ARCH_AMD64 || LZO_ARCH_I386 || LZO_ARCH_POWERPC)
+#  if (LZO_SIZEOF_SHORT == 2)
+#    define LZO_UNALIGNED_OK_2 1
+#  endif
+#  if (LZO_SIZEOF_INT == 4)
+#    define LZO_UNALIGNED_OK_4 1
+#  endif
+#endif
+#if 1 && (LZO_ARCH_AMD64)
+#  if defined(LZO_UINT64_MAX)
+#    define LZO_UNALIGNED_OK_8 1
+#  endif
+#endif
+#if (LZO_CFG_NO_UNALIGNED)
+#  undef LZO_UNALIGNED_OK_2
+#  undef LZO_UNALIGNED_OK_4
+#  undef LZO_UNALIGNED_OK_8
+#endif
+
+#undef UA_GET16
+#undef UA_SET16
+#undef UA_COPY16
+#undef UA_GET32
+#undef UA_SET32
+#undef UA_COPY32
+#undef UA_GET64
+#undef UA_SET64
+#undef UA_COPY64
+#if defined(LZO_UNALIGNED_OK_2)
+   LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(unsigned short) == 2)
+#  if 1 && defined(ACC_UA_COPY16)
+#    define UA_GET16        ACC_UA_GET16
+#    define UA_SET16        ACC_UA_SET16
+#    define UA_COPY16       ACC_UA_COPY16
+#  else
+#    define UA_GET16(p)     (* (__lzo_ua_volatile const lzo_ushortp) (__lzo_ua_volatile const lzo_voidp) (p))
+#    define UA_SET16(p,v)   ((* (__lzo_ua_volatile lzo_ushortp) (__lzo_ua_volatile lzo_voidp) (p)) = (unsigned short) (v))
+#    define UA_COPY16(d,s)  UA_SET16(d, UA_GET16(s))
+#  endif
+#endif
+#if defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4)
+   LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint32) == 4)
+#  if 1 && defined(ACC_UA_COPY32)
+#    define UA_GET32        ACC_UA_GET32
+#    define UA_SET32        ACC_UA_SET32
+#    define UA_COPY32       ACC_UA_COPY32
+#  else
+#    define UA_GET32(p)     (* (__lzo_ua_volatile const lzo_uint32p) (__lzo_ua_volatile const lzo_voidp) (p))
+#    define UA_SET32(p,v)   ((* (__lzo_ua_volatile lzo_uint32p) (__lzo_ua_volatile lzo_voidp) (p)) = (lzo_uint32) (v))
+#    define UA_COPY32(d,s)  UA_SET32(d, UA_GET32(s))
+#  endif
+#endif
+#if defined(LZO_UNALIGNED_OK_8)
+   LZO_COMPILE_TIME_ASSERT_HEADER(sizeof(lzo_uint64) == 8)
+#  if 1 && defined(ACC_UA_COPY64)
+#    define UA_GET64        ACC_UA_GET64
+#    define UA_SET64        ACC_UA_SET64
+#    define UA_COPY64       ACC_UA_COPY64
+#  else
+#    define UA_GET64(p)     (* (__lzo_ua_volatile const lzo_uint64p) (__lzo_ua_volatile const lzo_voidp) (p))
+#    define UA_SET64(p,v)   ((* (__lzo_ua_volatile lzo_uint64p) (__lzo_ua_volatile lzo_voidp) (p)) = (lzo_uint64) (v))
+#    define UA_COPY64(d,s)  UA_SET64(d, UA_GET64(s))
+#  endif
+#endif
+
+#define MEMCPY8_DS(dest,src,len) \
+    lzo_memcpy(dest,src,len); dest += len; src += len
+
+#define BZERO8_PTR(s,l,n) \
+    lzo_memset((lzo_voidp)(s),0,(lzo_uint)(l)*(n))
+
+#define MEMCPY_DS(dest,src,len) \
+    do *dest++ = *src++; while (--len > 0)
+
+LZO_EXTERN(const lzo_bytep) lzo_copyright(void);
+
+#ifndef __LZO_PTR_H
+#define __LZO_PTR_H 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if !defined(lzo_uintptr_t)
+#  if (__LZO_MMODEL_HUGE)
+#    define lzo_uintptr_t   unsigned long
+#  else
+#    define lzo_uintptr_t   acc_uintptr_t
+#    ifdef __ACC_INTPTR_T_IS_POINTER
+#      define __LZO_UINTPTR_T_IS_POINTER 1
+#    endif
+#  endif
+#endif
+
+#if (LZO_ARCH_I086)
+#define PTR(a)              ((lzo_bytep) (a))
+#define PTR_ALIGNED_4(a)    ((ACC_PTR_FP_OFF(a) & 3) == 0)
+#define PTR_ALIGNED2_4(a,b) (((ACC_PTR_FP_OFF(a) | ACC_PTR_FP_OFF(b)) & 3) == 0)
+#elif (LZO_MM_PVP)
+#define PTR(a)              ((lzo_bytep) (a))
+#define PTR_ALIGNED_8(a)    ((((lzo_uintptr_t)(a)) >> 61) == 0)
+#define PTR_ALIGNED2_8(a,b) ((((lzo_uintptr_t)(a)|(lzo_uintptr_t)(b)) >> 61) == 0)
+#else
+#define PTR(a)              ((lzo_uintptr_t) (a))
+#define PTR_LINEAR(a)       PTR(a)
+#define PTR_ALIGNED_4(a)    ((PTR_LINEAR(a) & 3) == 0)
+#define PTR_ALIGNED_8(a)    ((PTR_LINEAR(a) & 7) == 0)
+#define PTR_ALIGNED2_4(a,b) (((PTR_LINEAR(a) | PTR_LINEAR(b)) & 3) == 0)
+#define PTR_ALIGNED2_8(a,b) (((PTR_LINEAR(a) | PTR_LINEAR(b)) & 7) == 0)
+#endif
+
+#define PTR_LT(a,b)         (PTR(a) < PTR(b))
+#define PTR_GE(a,b)         (PTR(a) >= PTR(b))
+#define PTR_DIFF(a,b)       (PTR(a) - PTR(b))
+#define pd(a,b)             ((lzo_uint) ((a)-(b)))
+
+LZO_EXTERN(lzo_uintptr_t)
+__lzo_ptr_linear(const lzo_voidp ptr);
+
+typedef union
+{
+    char            a_char;
+    unsigned char   a_uchar;
+    short           a_short;
+    unsigned short  a_ushort;
+    int             a_int;
+    unsigned int    a_uint;
+    long            a_long;
+    unsigned long   a_ulong;
+    lzo_int         a_lzo_int;
+    lzo_uint        a_lzo_uint;
+    lzo_int32       a_lzo_int32;
+    lzo_uint32      a_lzo_uint32;
+#if defined(LZO_UINT64_MAX)
+    lzo_int64       a_lzo_int64;
+    lzo_uint64      a_lzo_uint64;
+#endif
+    ptrdiff_t       a_ptrdiff_t;
+    lzo_uintptr_t   a_lzo_uintptr_t;
+    lzo_voidp       a_lzo_voidp;
+    void *          a_void_p;
+    lzo_bytep       a_lzo_bytep;
+    lzo_bytepp      a_lzo_bytepp;
+    lzo_uintp       a_lzo_uintp;
+    lzo_uint *      a_lzo_uint_p;
+    lzo_uint32p     a_lzo_uint32p;
+    lzo_uint32 *    a_lzo_uint32_p;
+    unsigned char * a_uchar_p;
+    char *          a_char_p;
+}
+lzo_full_align_t;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+#ifndef LZO_DETERMINISTIC
+#define LZO_DETERMINISTIC 1
+#endif
+
+#ifndef LZO_DICT_USE_PTR
+#define LZO_DICT_USE_PTR 1
+#if 0 && (LZO_ARCH_I086)
+#  undef LZO_DICT_USE_PTR
+#  define LZO_DICT_USE_PTR 0
+#endif
+#endif
+
+#if (LZO_DICT_USE_PTR)
+#  define lzo_dict_t    const lzo_bytep
+#  define lzo_dict_p    lzo_dict_t __LZO_MMODEL *
+#else
+#  define lzo_dict_t    lzo_uint
+#  define lzo_dict_p    lzo_dict_t __LZO_MMODEL *
+#endif
+
+#endif
+
+#if !defined(MINILZO_CFG_SKIP_LZO_PTR)
+
+LZO_PUBLIC(lzo_uintptr_t)
+__lzo_ptr_linear(const lzo_voidp ptr)
+{
+    lzo_uintptr_t p;
+
+#if (LZO_ARCH_I086)
+    p = (((lzo_uintptr_t)(ACC_PTR_FP_SEG(ptr))) << (16 - ACC_MM_AHSHIFT)) + (ACC_PTR_FP_OFF(ptr));
+#elif (LZO_MM_PVP)
+    p = (lzo_uintptr_t) (ptr);
+    p = (p << 3) | (p >> 61);
+#else
+    p = (lzo_uintptr_t) PTR_LINEAR(ptr);
+#endif
+
+    return p;
+}
+
+LZO_PUBLIC(unsigned)
+__lzo_align_gap(const lzo_voidp ptr, lzo_uint size)
+{
+#if defined(__LZO_UINTPTR_T_IS_POINTER)
+    size_t n = (size_t) ptr;
+    n = (((n + size - 1) / size) * size) - n;
+#else
+    lzo_uintptr_t p, n;
+    p = __lzo_ptr_linear(ptr);
+    n = (((p + size - 1) / size) * size) - p;
+#endif
+
+    assert(size > 0);
+    assert((long)n >= 0);
+    assert(n <= size);
+    return (unsigned)n;
+}
+
+#endif
+#if !defined(MINILZO_CFG_SKIP_LZO_UTIL)
+
+/* If you use the LZO library in a product, I would appreciate that you
+ * keep this copyright string in the executable of your product.
+ */
+
+static const char __lzo_copyright[] =
+#if !defined(__LZO_IN_MINLZO)
+    LZO_VERSION_STRING;
+#else
+    "\r\n\n"
+    "LZO data compression library.\n"
+    "$Copyright: LZO Copyright (C) 1996-2011 Markus Franz Xaver Johannes Oberhumer\n"
+    "<markus@oberhumer.com>\n"
+    "http://www.oberhumer.com $\n\n"
+    "$Id: LZO version: v" LZO_VERSION_STRING ", " LZO_VERSION_DATE " $\n"
+    "$Info: " LZO_INFO_STRING " $\n";
+#endif
+
+LZO_PUBLIC(const lzo_bytep)
+lzo_copyright(void)
+{
+#if (LZO_OS_DOS16 && LZO_CC_TURBOC)
+    return (lzo_voidp) __lzo_copyright;
+#else
+    return (const lzo_bytep) __lzo_copyright;
+#endif
+}
+
+LZO_PUBLIC(unsigned)
+lzo_version(void)
+{
+    return LZO_VERSION;
+}
+
+LZO_PUBLIC(const char *)
+lzo_version_string(void)
+{
+    return LZO_VERSION_STRING;
+}
+
+LZO_PUBLIC(const char *)
+lzo_version_date(void)
+{
+    return LZO_VERSION_DATE;
+}
+
+LZO_PUBLIC(const lzo_charp)
+_lzo_version_string(void)
+{
+    return LZO_VERSION_STRING;
+}
+
+LZO_PUBLIC(const lzo_charp)
+_lzo_version_date(void)
+{
+    return LZO_VERSION_DATE;
+}
+
+#define LZO_BASE 65521u
+#define LZO_NMAX 5552
+
+#define LZO_DO1(buf,i)  s1 += buf[i]; s2 += s1
+#define LZO_DO2(buf,i)  LZO_DO1(buf,i); LZO_DO1(buf,i+1);
+#define LZO_DO4(buf,i)  LZO_DO2(buf,i); LZO_DO2(buf,i+2);
+#define LZO_DO8(buf,i)  LZO_DO4(buf,i); LZO_DO4(buf,i+4);
+#define LZO_DO16(buf,i) LZO_DO8(buf,i); LZO_DO8(buf,i+8);
+
+LZO_PUBLIC(lzo_uint32)
+lzo_adler32(lzo_uint32 adler, const lzo_bytep buf, lzo_uint len)
+{
+    lzo_uint32 s1 = adler & 0xffff;
+    lzo_uint32 s2 = (adler >> 16) & 0xffff;
+    unsigned k;
+
+    if (buf == NULL)
+        return 1;
+
+    while (len > 0)
+    {
+        k = len < LZO_NMAX ? (unsigned) len : LZO_NMAX;
+        len -= k;
+        if (k >= 16) do
+        {
+            LZO_DO16(buf,0);
+            buf += 16;
+            k -= 16;
+        } while (k >= 16);
+        if (k != 0) do
+        {
+            s1 += *buf++;
+            s2 += s1;
+        } while (--k > 0);
+        s1 %= LZO_BASE;
+        s2 %= LZO_BASE;
+    }
+    return (s2 << 16) | s1;
+}
+
+#undef LZO_DO1
+#undef LZO_DO2
+#undef LZO_DO4
+#undef LZO_DO8
+#undef LZO_DO16
+
+#endif
+#if !defined(MINILZO_CFG_SKIP_LZO_STRING)
+#undef lzo_memcmp
+#undef lzo_memcpy
+#undef lzo_memmove
+#undef lzo_memset
+#if !defined(__LZO_MMODEL_HUGE)
+#  undef LZO_HAVE_MM_HUGE_PTR
+#endif
+#define lzo_hsize_t             lzo_uint
+#define lzo_hvoid_p             lzo_voidp
+#define lzo_hbyte_p             lzo_bytep
+#define LZOLIB_PUBLIC(r,f)      LZO_PUBLIC(r) f
+#define lzo_hmemcmp             lzo_memcmp
+#define lzo_hmemcpy             lzo_memcpy
+#define lzo_hmemmove            lzo_memmove
+#define lzo_hmemset             lzo_memset
+#define __LZOLIB_HMEMCPY_CH_INCLUDED 1
+#if !defined(LZOLIB_PUBLIC)
+#  define LZOLIB_PUBLIC(r,f)    r __LZOLIB_FUNCNAME(f)
+#endif
+LZOLIB_PUBLIC(int, lzo_hmemcmp) (const lzo_hvoid_p s1, const lzo_hvoid_p s2, lzo_hsize_t len)
+{
+#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCMP)
+    const lzo_hbyte_p p1 = (const lzo_hbyte_p) s1;
+    const lzo_hbyte_p p2 = (const lzo_hbyte_p) s2;
+    if __lzo_likely(len > 0) do
+    {
+        int d = *p1 - *p2;
+        if (d != 0)
+            return d;
+        p1++; p2++;
+    } while __lzo_likely(--len > 0);
+    return 0;
+#else
+    return memcmp(s1, s2, len);
+#endif
+}
+LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemcpy) (lzo_hvoid_p dest, const lzo_hvoid_p src, lzo_hsize_t len)
+{
+#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCPY)
+    lzo_hbyte_p p1 = (lzo_hbyte_p) dest;
+    const lzo_hbyte_p p2 = (const lzo_hbyte_p) src;
+    if (!(len > 0) || p1 == p2)
+        return dest;
+    do
+        *p1++ = *p2++;
+    while __lzo_likely(--len > 0);
+    return dest;
+#else
+    return memcpy(dest, src, len);
+#endif
+}
+LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemmove) (lzo_hvoid_p dest, const lzo_hvoid_p src, lzo_hsize_t len)
+{
+#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMMOVE)
+    lzo_hbyte_p p1 = (lzo_hbyte_p) dest;
+    const lzo_hbyte_p p2 = (const lzo_hbyte_p) src;
+    if (!(len > 0) || p1 == p2)
+        return dest;
+    if (p1 < p2)
+    {
+        do
+            *p1++ = *p2++;
+        while __lzo_likely(--len > 0);
+    }
+    else
+    {
+        p1 += len;
+        p2 += len;
+        do
+            *--p1 = *--p2;
+        while __lzo_likely(--len > 0);
+    }
+    return dest;
+#else
+    return memmove(dest, src, len);
+#endif
+}
+LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemset) (lzo_hvoid_p s, int c, lzo_hsize_t len)
+{
+#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMSET)
+    lzo_hbyte_p p = (lzo_hbyte_p) s;
+    if __lzo_likely(len > 0) do
+        *p++ = (unsigned char) c;
+    while __lzo_likely(--len > 0);
+    return s;
+#else
+    return memset(s, c, len);
+#endif
+}
+#undef LZOLIB_PUBLIC
+#endif
+#if !defined(MINILZO_CFG_SKIP_LZO_INIT)
+
+#if !defined(__LZO_IN_MINILZO)
+
+#define ACC_WANT_ACC_CHK_CH 1
+#undef ACCCHK_ASSERT
+
+    ACCCHK_ASSERT_IS_SIGNED_T(lzo_int)
+    ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uint)
+
+    ACCCHK_ASSERT_IS_SIGNED_T(lzo_int32)
+    ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uint32)
+    ACCCHK_ASSERT((LZO_UINT32_C(1) << (int)(8*sizeof(LZO_UINT32_C(1))-1)) > 0)
+    ACCCHK_ASSERT(sizeof(lzo_uint32) >= 4)
+#if defined(LZO_UINT64_MAX)
+    ACCCHK_ASSERT(sizeof(lzo_uint64) == 8)
+    ACCCHK_ASSERT_IS_SIGNED_T(lzo_int64)
+    ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uint64)
+#endif
+
+#if !defined(__LZO_UINTPTR_T_IS_POINTER)
+    ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_uintptr_t)
+#endif
+    ACCCHK_ASSERT(sizeof(lzo_uintptr_t) >= sizeof(lzo_voidp))
+
+    ACCCHK_ASSERT_IS_UNSIGNED_T(lzo_xint)
+    ACCCHK_ASSERT(sizeof(lzo_xint) >= sizeof(lzo_uint32))
+    ACCCHK_ASSERT(sizeof(lzo_xint) >= sizeof(lzo_uint))
+    ACCCHK_ASSERT(sizeof(lzo_xint) == sizeof(lzo_uint32) || sizeof(lzo_xint) == sizeof(lzo_uint))
+
+#endif
+#undef ACCCHK_ASSERT
+
+#define WANT_lzo_bitops_clz32 1
+#define WANT_lzo_bitops_clz64 1
+#define WANT_lzo_bitops_ctz32 1
+#define WANT_lzo_bitops_ctz64 1
+
+#if (defined(_WIN32) || defined(_WIN64)) && ((LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_MSC && (_MSC_VER >= 1400)))
+#include <intrin.h>
+#if !defined(lzo_bitops_clz32) && defined(WANT_lzo_bitops_clz32) && 0
+#pragma intrinsic(_BitScanReverse)
+static __lzo_inline unsigned lzo_bitops_clz32(lzo_uint32 v)
+{
+    unsigned long r;
+    (void) _BitScanReverse(&r, v);
+    return (unsigned) r;
+}
+#define lzo_bitops_clz32 lzo_bitops_clz32
+#endif
+#if !defined(lzo_bitops_clz64) && defined(WANT_lzo_bitops_clz64) && defined(LZO_UINT64_MAX) && 0
+#pragma intrinsic(_BitScanReverse64)
+static __lzo_inline unsigned lzo_bitops_clz64(lzo_uint64 v)
+{
+    unsigned long r;
+    (void) _BitScanReverse64(&r, v);
+    return (unsigned) r;
+}
+#define lzo_bitops_clz64 lzo_bitops_clz64
+#endif
+#if !defined(lzo_bitops_ctz32) && defined(WANT_lzo_bitops_ctz32)
+#pragma intrinsic(_BitScanForward)
+static __lzo_inline unsigned lzo_bitops_ctz32(lzo_uint32 v)
+{
+    unsigned long r;
+    (void) _BitScanForward(&r, v);
+    return (unsigned) r;
+}
+#define lzo_bitops_ctz32 lzo_bitops_ctz32
+#endif
+#if !defined(lzo_bitops_ctz64) && defined(WANT_lzo_bitops_ctz64) && defined(LZO_UINT64_MAX)
+#pragma intrinsic(_BitScanForward64)
+static __lzo_inline unsigned lzo_bitops_ctz64(lzo_uint64 v)
+{
+    unsigned long r;
+    (void) _BitScanForward64(&r, v);
+    return (unsigned) r;
+}
+#define lzo_bitops_ctz64 lzo_bitops_ctz64
+#endif
+
+#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_LLVM && (!defined(__llvm_tools_version__) || (__llvm_tools_version__+0 >= 0x010500ul))))
+#if !defined(lzo_bitops_clz32) && defined(WANT_lzo_bitops_clz32)
+#define lzo_bitops_clz32(v) ((unsigned) __builtin_clz(v))
+#endif
+#if !defined(lzo_bitops_clz64) && defined(WANT_lzo_bitops_clz64) && defined(LZO_UINT64_MAX)
+#define lzo_bitops_clz64(v) ((unsigned) __builtin_clzll(v))
+#endif
+#if !defined(lzo_bitops_ctz32) && defined(WANT_lzo_bitops_ctz32)
+#define lzo_bitops_ctz32(v) ((unsigned) __builtin_ctz(v))
+#endif
+#if !defined(lzo_bitops_ctz64) && defined(WANT_lzo_bitops_ctz64) && defined(LZO_UINT64_MAX)
+#define lzo_bitops_ctz64(v) ((unsigned) __builtin_ctzll(v))
+#endif
+#if !defined(lzo_bitops_popcount32) && defined(WANT_lzo_bitops_popcount32)
+#define lzo_bitops_popcount32(v) ((unsigned) __builtin_popcount(v))
+#endif
+#if !defined(lzo_bitops_popcount32) && defined(WANT_lzo_bitops_popcount64) && defined(LZO_UINT64_MAX)
+#define lzo_bitops_popcount64(v) ((unsigned) __builtin_popcountll(v))
+#endif
+#endif
+
+#if 0
+#define u2p(ptr,off) ((lzo_voidp) (((lzo_bytep)(lzo_voidp)(ptr)) + (off)))
+#else
+static __lzo_noinline lzo_voidp u2p(lzo_voidp ptr, lzo_uint off)
+{
+    return (lzo_voidp) ((lzo_bytep) ptr + off);
+}
+#endif
+
+LZO_PUBLIC(int)
+_lzo_config_check(void)
+{
+    lzo_bool r = 1;
+    union {
+        lzo_xint a[2]; unsigned char b[2*LZO_MAX(8,sizeof(lzo_xint))];
+#if defined(LZO_UNALIGNED_OK_8)
+        lzo_uint64 c[2];
+#endif
+        unsigned short x[2]; lzo_uint32 y[2]; lzo_uint z[2];
+    } u;
+    lzo_voidp p;
+
+    u.a[0] = u.a[1] = 0;
+    p = u2p(&u, 0);
+    r &= ((* (lzo_bytep) p) == 0);
+#if !defined(LZO_CFG_NO_CONFIG_CHECK)
+#if defined(LZO_ABI_BIG_ENDIAN)
+    u.a[0] = u.a[1] = 0; u.b[sizeof(lzo_uint) - 1] = 128;
+    p = u2p(&u, 0);
+    r &= ((* (lzo_uintp) p) == 128);
+#endif
+#if defined(LZO_ABI_LITTLE_ENDIAN)
+    u.a[0] = u.a[1] = 0; u.b[0] = 128;
+    p = u2p(&u, 0);
+    r &= ((* (lzo_uintp) p) == 128);
+#endif
+#if defined(LZO_UNALIGNED_OK_2)
+    u.a[0] = u.a[1] = 0;
+    u.b[0] = 1; u.b[sizeof(unsigned short) + 1] = 2;
+    p = u2p(&u, 1);
+    r &= ((* (lzo_ushortp) p) == 0);
+#endif
+#if defined(LZO_UNALIGNED_OK_4)
+    u.a[0] = u.a[1] = 0;
+    u.b[0] = 3; u.b[sizeof(lzo_uint32) + 1] = 4;
+    p = u2p(&u, 1);
+    r &= ((* (lzo_uint32p) p) == 0);
+#endif
+#if defined(LZO_UNALIGNED_OK_8)
+    u.c[0] = u.c[1] = 0;
+    u.b[0] = 5; u.b[sizeof(lzo_uint64) + 1] = 6;
+    p = u2p(&u, 1);
+    r &= ((* (lzo_uint64p) p) == 0);
+#endif
+#if defined(lzo_bitops_clz32)
+    { unsigned i; lzo_uint32 v = 1;
+    for (i = 0; i < 32; i++, v <<= 1)
+        r &= lzo_bitops_clz32(v) == 31 - i;
+    }
+#endif
+#if defined(lzo_bitops_clz64)
+    { unsigned i; lzo_uint64 v = 1;
+    for (i = 0; i < 64; i++, v <<= 1)
+        r &= lzo_bitops_clz64(v) == 63 - i;
+    }
+#endif
+#if defined(lzo_bitops_ctz32)
+    { unsigned i; lzo_uint32 v = 1;
+    for (i = 0; i < 32; i++, v <<= 1)
+        r &= lzo_bitops_ctz32(v) == i;
+    }
+#endif
+#if defined(lzo_bitops_ctz64)
+    { unsigned i; lzo_uint64 v = 1;
+    for (i = 0; i < 64; i++, v <<= 1)
+        r &= lzo_bitops_ctz64(v) == i;
+    }
+#endif
+#endif
+
+    return r == 1 ? LZO_E_OK : LZO_E_ERROR;
+}
+
+LZO_PUBLIC(int)
+__lzo_init_v2(unsigned v, int s1, int s2, int s3, int s4, int s5,
+                          int s6, int s7, int s8, int s9)
+{
+    int r;
+
+#if defined(__LZO_IN_MINILZO)
+#elif (LZO_CC_MSC && ((_MSC_VER) < 700))
+#else
+#define ACC_WANT_ACC_CHK_CH 1
+#undef ACCCHK_ASSERT
+#define ACCCHK_ASSERT(expr)  LZO_COMPILE_TIME_ASSERT(expr)
+#endif
+#undef ACCCHK_ASSERT
+
+    if (v == 0)
+        return LZO_E_ERROR;
+
+    r = (s1 == -1 || s1 == (int) sizeof(short)) &&
+        (s2 == -1 || s2 == (int) sizeof(int)) &&
+        (s3 == -1 || s3 == (int) sizeof(long)) &&
+        (s4 == -1 || s4 == (int) sizeof(lzo_uint32)) &&
+        (s5 == -1 || s5 == (int) sizeof(lzo_uint)) &&
+        (s6 == -1 || s6 == (int) lzo_sizeof_dict_t) &&
+        (s7 == -1 || s7 == (int) sizeof(char *)) &&
+        (s8 == -1 || s8 == (int) sizeof(lzo_voidp)) &&
+        (s9 == -1 || s9 == (int) sizeof(lzo_callback_t));
+    if (!r)
+        return LZO_E_ERROR;
+
+    r = _lzo_config_check();
+    if (r != LZO_E_OK)
+        return r;
+
+    return r;
+}
+
+#if !defined(__LZO_IN_MINILZO)
+
+#if (LZO_OS_WIN16 && LZO_CC_WATCOMC) && defined(__SW_BD)
+
+#if 0
+BOOL FAR PASCAL LibMain ( HANDLE hInstance, WORD wDataSegment,
+                          WORD wHeapSize, LPSTR lpszCmdLine )
+#else
+int __far __pascal LibMain ( int a, short b, short c, long d )
+#endif
+{
+    LZO_UNUSED(a); LZO_UNUSED(b); LZO_UNUSED(c); LZO_UNUSED(d);
+    return 1;
+}
+
+#endif
+
+#endif
+
+#endif
+
+#define LZO1X           1
+#define LZO_EOF_CODE    1
+#define M2_MAX_OFFSET   0x0800
+
+#if !defined(MINILZO_CFG_SKIP_LZO1X_1_COMPRESS)
+
+#if 1 && defined(UA_GET32)
+#undef  LZO_DICT_USE_PTR
+#define LZO_DICT_USE_PTR 0
+#undef  lzo_dict_t
+#define lzo_dict_t unsigned short
+#endif
+
+#define LZO_NEED_DICT_H 1
+#ifndef D_BITS
+#define D_BITS          14
+#endif
+#define D_INDEX1(d,p)       d = DM(DMUL(0x21,DX3(p,5,5,6)) >> 5)
+#define D_INDEX2(d,p)       d = (d & (D_MASK & 0x7ff)) ^ (D_HIGH | 0x1f)
+#if 1
+#define DINDEX(dv,p)        DM(((DMUL(0x1824429d,dv)) >> (32-D_BITS)))
+#else
+#define DINDEX(dv,p)        DM((dv) + ((dv) >> (32-D_BITS)))
+#endif
+
+#ifndef __LZO_CONFIG1X_H
+#define __LZO_CONFIG1X_H 1
+
+#if !defined(LZO1X) && !defined(LZO1Y) && !defined(LZO1Z)
+#  define LZO1X 1
+#endif
+
+#if !defined(__LZO_IN_MINILZO)
+#include "lzo/lzo1x.h"
+#endif
+
+#ifndef LZO_EOF_CODE
+#define LZO_EOF_CODE 1
+#endif
+#undef LZO_DETERMINISTIC
+
+#define M1_MAX_OFFSET   0x0400
+#ifndef M2_MAX_OFFSET
+#define M2_MAX_OFFSET   0x0800
+#endif
+#define M3_MAX_OFFSET   0x4000
+#define M4_MAX_OFFSET   0xbfff
+
+#define MX_MAX_OFFSET   (M1_MAX_OFFSET + M2_MAX_OFFSET)
+
+#define M1_MIN_LEN      2
+#define M1_MAX_LEN      2
+#define M2_MIN_LEN      3
+#ifndef M2_MAX_LEN
+#define M2_MAX_LEN      8
+#endif
+#define M3_MIN_LEN      3
+#define M3_MAX_LEN      33
+#define M4_MIN_LEN      3
+#define M4_MAX_LEN      9
+
+#define M1_MARKER       0
+#define M2_MARKER       64
+#define M3_MARKER       32
+#define M4_MARKER       16
+
+#ifndef MIN_LOOKAHEAD
+#define MIN_LOOKAHEAD       (M2_MAX_LEN + 1)
+#endif
+
+#if defined(LZO_NEED_DICT_H)
+
+#ifndef LZO_HASH
+#define LZO_HASH            LZO_HASH_LZO_INCREMENTAL_B
+#endif
+#define DL_MIN_LEN          M2_MIN_LEN
+
+#ifndef __LZO_DICT_H
+#define __LZO_DICT_H 1
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if !defined(D_BITS) && defined(DBITS)
+#  define D_BITS        DBITS
+#endif
+#if !defined(D_BITS)
+#  error "D_BITS is not defined"
+#endif
+#if (D_BITS < 16)
+#  define D_SIZE        LZO_SIZE(D_BITS)
+#  define D_MASK        LZO_MASK(D_BITS)
+#else
+#  define D_SIZE        LZO_USIZE(D_BITS)
+#  define D_MASK        LZO_UMASK(D_BITS)
+#endif
+#define D_HIGH          ((D_MASK >> 1) + 1)
+
+#if !defined(DD_BITS)
+#  define DD_BITS       0
+#endif
+#define DD_SIZE         LZO_SIZE(DD_BITS)
+#define DD_MASK         LZO_MASK(DD_BITS)
+
+#if !defined(DL_BITS)
+#  define DL_BITS       (D_BITS - DD_BITS)
+#endif
+#if (DL_BITS < 16)
+#  define DL_SIZE       LZO_SIZE(DL_BITS)
+#  define DL_MASK       LZO_MASK(DL_BITS)
+#else
+#  define DL_SIZE       LZO_USIZE(DL_BITS)
+#  define DL_MASK       LZO_UMASK(DL_BITS)
+#endif
+
+#if (D_BITS != DL_BITS + DD_BITS)
+#  error "D_BITS does not match"
+#endif
+#if (D_BITS < 6 || D_BITS > 18)
+#  error "invalid D_BITS"
+#endif
+#if (DL_BITS < 6 || DL_BITS > 20)
+#  error "invalid DL_BITS"
+#endif
+#if (DD_BITS < 0 || DD_BITS > 6)
+#  error "invalid DD_BITS"
+#endif
+
+#if !defined(DL_MIN_LEN)
+#  define DL_MIN_LEN    3
+#endif
+#if !defined(DL_SHIFT)
+#  define DL_SHIFT      ((DL_BITS + (DL_MIN_LEN - 1)) / DL_MIN_LEN)
+#endif
+
+#define LZO_HASH_GZIP                   1
+#define LZO_HASH_GZIP_INCREMENTAL       2
+#define LZO_HASH_LZO_INCREMENTAL_A      3
+#define LZO_HASH_LZO_INCREMENTAL_B      4
+
+#if !defined(LZO_HASH)
+#  error "choose a hashing strategy"
+#endif
+
+#undef DM
+#undef DX
+
+#if (DL_MIN_LEN == 3)
+#  define _DV2_A(p,shift1,shift2) \
+        (((( (lzo_xint)((p)[0]) << shift1) ^ (p)[1]) << shift2) ^ (p)[2])
+#  define _DV2_B(p,shift1,shift2) \
+        (((( (lzo_xint)((p)[2]) << shift1) ^ (p)[1]) << shift2) ^ (p)[0])
+#  define _DV3_B(p,shift1,shift2,shift3) \
+        ((_DV2_B((p)+1,shift1,shift2) << (shift3)) ^ (p)[0])
+#elif (DL_MIN_LEN == 2)
+#  define _DV2_A(p,shift1,shift2) \
+        (( (lzo_xint)(p[0]) << shift1) ^ p[1])
+#  define _DV2_B(p,shift1,shift2) \
+        (( (lzo_xint)(p[1]) << shift1) ^ p[2])
+#else
+#  error "invalid DL_MIN_LEN"
+#endif
+#define _DV_A(p,shift)      _DV2_A(p,shift,shift)
+#define _DV_B(p,shift)      _DV2_B(p,shift,shift)
+#define DA2(p,s1,s2) \
+        (((((lzo_xint)((p)[2]) << (s2)) + (p)[1]) << (s1)) + (p)[0])
+#define DS2(p,s1,s2) \
+        (((((lzo_xint)((p)[2]) << (s2)) - (p)[1]) << (s1)) - (p)[0])
+#define DX2(p,s1,s2) \
+        (((((lzo_xint)((p)[2]) << (s2)) ^ (p)[1]) << (s1)) ^ (p)[0])
+#define DA3(p,s1,s2,s3) ((DA2((p)+1,s2,s3) << (s1)) + (p)[0])
+#define DS3(p,s1,s2,s3) ((DS2((p)+1,s2,s3) << (s1)) - (p)[0])
+#define DX3(p,s1,s2,s3) ((DX2((p)+1,s2,s3) << (s1)) ^ (p)[0])
+#define DMS(v,s)        ((lzo_uint) (((v) & (D_MASK >> (s))) << (s)))
+#define DM(v)           DMS(v,0)
+
+#if (LZO_HASH == LZO_HASH_GZIP)
+#  define _DINDEX(dv,p)     (_DV_A((p),DL_SHIFT))
+
+#elif (LZO_HASH == LZO_HASH_GZIP_INCREMENTAL)
+#  define __LZO_HASH_INCREMENTAL 1
+#  define DVAL_FIRST(dv,p)  dv = _DV_A((p),DL_SHIFT)
+#  define DVAL_NEXT(dv,p)   dv = (((dv) << DL_SHIFT) ^ p[2])
+#  define _DINDEX(dv,p)     (dv)
+#  define DVAL_LOOKAHEAD    DL_MIN_LEN
+
+#elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_A)
+#  define __LZO_HASH_INCREMENTAL 1
+#  define DVAL_FIRST(dv,p)  dv = _DV_A((p),5)
+#  define DVAL_NEXT(dv,p) \
+                dv ^= (lzo_xint)(p[-1]) << (2*5); dv = (((dv) << 5) ^ p[2])
+#  define _DINDEX(dv,p)     ((DMUL(0x9f5f,dv)) >> 5)
+#  define DVAL_LOOKAHEAD    DL_MIN_LEN
+
+#elif (LZO_HASH == LZO_HASH_LZO_INCREMENTAL_B)
+#  define __LZO_HASH_INCREMENTAL 1
+#  define DVAL_FIRST(dv,p)  dv = _DV_B((p),5)
+#  define DVAL_NEXT(dv,p) \
+                dv ^= p[-1]; dv = (((dv) >> 5) ^ ((lzo_xint)(p[2]) << (2*5)))
+#  define _DINDEX(dv,p)     ((DMUL(0x9f5f,dv)) >> 5)
+#  define DVAL_LOOKAHEAD    DL_MIN_LEN
+
+#else
+#  error "choose a hashing strategy"
+#endif
+
+#ifndef DINDEX
+#define DINDEX(dv,p)        ((lzo_uint)((_DINDEX(dv,p)) & DL_MASK) << DD_BITS)
+#endif
+#if !defined(DINDEX1) && defined(D_INDEX1)
+#define DINDEX1             D_INDEX1
+#endif
+#if !defined(DINDEX2) && defined(D_INDEX2)
+#define DINDEX2             D_INDEX2
+#endif
+
+#if !defined(__LZO_HASH_INCREMENTAL)
+#  define DVAL_FIRST(dv,p)  ((void) 0)
+#  define DVAL_NEXT(dv,p)   ((void) 0)
+#  define DVAL_LOOKAHEAD    0
+#endif
+
+#if !defined(DVAL_ASSERT)
+#if defined(__LZO_HASH_INCREMENTAL) && !defined(NDEBUG)
+#if (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x020700ul) || LZO_CC_LLVM)
+static void __attribute__((__unused__))
+#else
+static void
+#endif
+DVAL_ASSERT(lzo_xint dv, const lzo_bytep p)
+{
+    lzo_xint df;
+    DVAL_FIRST(df,(p));
+    assert(DINDEX(dv,p) == DINDEX(df,p));
+}
+#else
+#  define DVAL_ASSERT(dv,p) ((void) 0)
+#endif
+#endif
+
+#if (LZO_DICT_USE_PTR)
+#  define DENTRY(p,in)                          (p)
+#  define GINDEX(m_pos,m_off,dict,dindex,in)    m_pos = dict[dindex]
+#else
+#  define DENTRY(p,in)                          ((lzo_dict_t) pd(p, in))
+#  define GINDEX(m_pos,m_off,dict,dindex,in)    m_off = dict[dindex]
+#endif
+
+#if (DD_BITS == 0)
+
+#  define UPDATE_D(dict,drun,dv,p,in)       dict[ DINDEX(dv,p) ] = DENTRY(p,in)
+#  define UPDATE_I(dict,drun,index,p,in)    dict[index] = DENTRY(p,in)
+#  define UPDATE_P(ptr,drun,p,in)           (ptr)[0] = DENTRY(p,in)
+
+#else
+
+#  define UPDATE_D(dict,drun,dv,p,in)   \
+        dict[ DINDEX(dv,p) + drun++ ] = DENTRY(p,in); drun &= DD_MASK
+#  define UPDATE_I(dict,drun,index,p,in)    \
+        dict[ (index) + drun++ ] = DENTRY(p,in); drun &= DD_MASK
+#  define UPDATE_P(ptr,drun,p,in)   \
+        (ptr) [ drun++ ] = DENTRY(p,in); drun &= DD_MASK
+
+#endif
+
+#if (LZO_DICT_USE_PTR)
+
+#define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \
+        (m_pos == NULL || (m_off = pd(ip, m_pos)) > max_offset)
+
+#define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \
+    (BOUNDS_CHECKING_OFF_IN_EXPR(( \
+        m_pos = ip - (lzo_uint) PTR_DIFF(ip,m_pos), \
+        PTR_LT(m_pos,in) || \
+        (m_off = (lzo_uint) PTR_DIFF(ip,m_pos)) == 0 || \
+         m_off > max_offset )))
+
+#else
+
+#define LZO_CHECK_MPOS_DET(m_pos,m_off,in,ip,max_offset) \
+        (m_off == 0 || \
+         ((m_off = pd(ip, in) - m_off) > max_offset) || \
+         (m_pos = (ip) - (m_off), 0) )
+
+#define LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,max_offset) \
+        (pd(ip, in) <= m_off || \
+         ((m_off = pd(ip, in) - m_off) > max_offset) || \
+         (m_pos = (ip) - (m_off), 0) )
+
+#endif
+
+#if (LZO_DETERMINISTIC)
+#  define LZO_CHECK_MPOS    LZO_CHECK_MPOS_DET
+#else
+#  define LZO_CHECK_MPOS    LZO_CHECK_MPOS_NON_DET
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+#endif
+
+#endif
+
+#define LZO_DETERMINISTIC !(LZO_DICT_USE_PTR)
+
+#ifndef DO_COMPRESS
+#define DO_COMPRESS     lzo1x_1_compress
+#endif
+
+#if 1 && defined(DO_COMPRESS) && !defined(do_compress)
+#  define do_compress       LZO_CPP_ECONCAT2(DO_COMPRESS,_core)
+#endif
+
+#if defined(UA_GET64) && (LZO_ABI_BIG_ENDIAN)
+#  define WANT_lzo_bitops_clz64 1
+#elif defined(UA_GET64) && (LZO_ABI_LITTLE_ENDIAN)
+#  define WANT_lzo_bitops_ctz64 1
+#elif defined(UA_GET32) && (LZO_ABI_BIG_ENDIAN)
+#  define WANT_lzo_bitops_clz32 1
+#elif defined(UA_GET32) && (LZO_ABI_LITTLE_ENDIAN)
+#  define WANT_lzo_bitops_ctz32 1
+#endif
+
+#if (defined(_WIN32) || defined(_WIN64)) && ((LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_MSC && (_MSC_VER >= 1400)))
+#include <intrin.h>
+#if !defined(lzo_bitops_clz32) && defined(WANT_lzo_bitops_clz32) && 0
+#pragma intrinsic(_BitScanReverse)
+static __lzo_inline unsigned lzo_bitops_clz32(lzo_uint32 v)
+{
+    unsigned long r;
+    (void) _BitScanReverse(&r, v);
+    return (unsigned) r;
+}
+#define lzo_bitops_clz32 lzo_bitops_clz32
+#endif
+#if !defined(lzo_bitops_clz64) && defined(WANT_lzo_bitops_clz64) && defined(LZO_UINT64_MAX) && 0
+#pragma intrinsic(_BitScanReverse64)
+static __lzo_inline unsigned lzo_bitops_clz64(lzo_uint64 v)
+{
+    unsigned long r;
+    (void) _BitScanReverse64(&r, v);
+    return (unsigned) r;
+}
+#define lzo_bitops_clz64 lzo_bitops_clz64
+#endif
+#if !defined(lzo_bitops_ctz32) && defined(WANT_lzo_bitops_ctz32)
+#pragma intrinsic(_BitScanForward)
+static __lzo_inline unsigned lzo_bitops_ctz32(lzo_uint32 v)
+{
+    unsigned long r;
+    (void) _BitScanForward(&r, v);
+    return (unsigned) r;
+}
+#define lzo_bitops_ctz32 lzo_bitops_ctz32
+#endif
+#if !defined(lzo_bitops_ctz64) && defined(WANT_lzo_bitops_ctz64) && defined(LZO_UINT64_MAX)
+#pragma intrinsic(_BitScanForward64)
+static __lzo_inline unsigned lzo_bitops_ctz64(lzo_uint64 v)
+{
+    unsigned long r;
+    (void) _BitScanForward64(&r, v);
+    return (unsigned) r;
+}
+#define lzo_bitops_ctz64 lzo_bitops_ctz64
+#endif
+
+#elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || (LZO_CC_INTELC && (__INTEL_COMPILER >= 1000)) || (LZO_CC_LLVM && (!defined(__llvm_tools_version__) || (__llvm_tools_version__+0 >= 0x010500ul))))
+#if !defined(lzo_bitops_clz32) && defined(WANT_lzo_bitops_clz32)
+#define lzo_bitops_clz32(v) ((unsigned) __builtin_clz(v))
+#endif
+#if !defined(lzo_bitops_clz64) && defined(WANT_lzo_bitops_clz64) && defined(LZO_UINT64_MAX)
+#define lzo_bitops_clz64(v) ((unsigned) __builtin_clzll(v))
+#endif
+#if !defined(lzo_bitops_ctz32) && defined(WANT_lzo_bitops_ctz32)
+#define lzo_bitops_ctz32(v) ((unsigned) __builtin_ctz(v))
+#endif
+#if !defined(lzo_bitops_ctz64) && defined(WANT_lzo_bitops_ctz64) && defined(LZO_UINT64_MAX)
+#define lzo_bitops_ctz64(v) ((unsigned) __builtin_ctzll(v))
+#endif
+#if !defined(lzo_bitops_popcount32) && defined(WANT_lzo_bitops_popcount32)
+#define lzo_bitops_popcount32(v) ((unsigned) __builtin_popcount(v))
+#endif
+#if !defined(lzo_bitops_popcount32) && defined(WANT_lzo_bitops_popcount64) && defined(LZO_UINT64_MAX)
+#define lzo_bitops_popcount64(v) ((unsigned) __builtin_popcountll(v))
+#endif
+#endif
+
+static __lzo_noinline lzo_uint
+do_compress ( const lzo_bytep in , lzo_uint  in_len,
+                    lzo_bytep out, lzo_uintp out_len,
+                    lzo_uint  ti,  lzo_voidp wrkmem)
+{
+    register const lzo_bytep ip;
+    lzo_bytep op;
+    const lzo_bytep const in_end = in + in_len;
+    const lzo_bytep const ip_end = in + in_len - 20;
+    const lzo_bytep ii;
+    lzo_dict_p const dict = (lzo_dict_p) wrkmem;
+
+    op = out;
+    ip = in;
+    ii = ip;
+
+    ip += ti < 4 ? 4 - ti : 0;
+    for (;;)
+    {
+        const lzo_bytep m_pos;
+#if !(LZO_DETERMINISTIC)
+        LZO_DEFINE_UNINITIALIZED_VAR(lzo_uint, m_off, 0);
+        lzo_uint m_len;
+        lzo_uint dindex;
+next:
+        if __lzo_unlikely(ip >= ip_end)
+            break;
+        DINDEX1(dindex,ip);
+        GINDEX(m_pos,m_off,dict,dindex,in);
+        if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET))
+            goto literal;
+#if 1
+        if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3])
+            goto try_match;
+        DINDEX2(dindex,ip);
+#endif
+        GINDEX(m_pos,m_off,dict,dindex,in);
+        if (LZO_CHECK_MPOS_NON_DET(m_pos,m_off,in,ip,M4_MAX_OFFSET))
+            goto literal;
+        if (m_off <= M2_MAX_OFFSET || m_pos[3] == ip[3])
+            goto try_match;
+        goto literal;
+
+try_match:
+#if defined(UA_GET32)
+        if (UA_GET32(m_pos) != UA_GET32(ip))
+#else
+        if (m_pos[0] != ip[0] || m_pos[1] != ip[1] || m_pos[2] != ip[2] || m_pos[3] != ip[3])
+#endif
+        {
+literal:
+            UPDATE_I(dict,0,dindex,ip,in);
+            ip += 1 + ((ip - ii) >> 5);
+            continue;
+        }
+        UPDATE_I(dict,0,dindex,ip,in);
+#else
+        lzo_uint m_off;
+        lzo_uint m_len;
+        {
+        lzo_uint32 dv;
+        lzo_uint dindex;
+literal:
+        ip += 1 + ((ip - ii) >> 5);
+next:
+        if __lzo_unlikely(ip >= ip_end)
+            break;
+        dv = UA_GET32(ip);
+        dindex = DINDEX(dv,ip);
+        GINDEX(m_off,m_pos,in+dict,dindex,in);
+        UPDATE_I(dict,0,dindex,ip,in);
+        if __lzo_unlikely(dv != UA_GET32(m_pos))
+            goto literal;
+        }
+#endif
+
+        ii -= ti; ti = 0;
+        {
+        register lzo_uint t = pd(ip,ii);
+        if (t != 0)
+        {
+            if (t <= 3)
+            {
+                op[-2] |= LZO_BYTE(t);
+#if defined(UA_COPY32)
+                UA_COPY32(op, ii);
+                op += t;
+#else
+                { do *op++ = *ii++; while (--t > 0); }
+#endif
+            }
+#if defined(UA_COPY32) || defined(UA_COPY64)
+            else if (t <= 16)
+            {
+                *op++ = LZO_BYTE(t - 3);
+#if defined(UA_COPY64)
+                UA_COPY64(op, ii);
+                UA_COPY64(op+8, ii+8);
+#else
+                UA_COPY32(op, ii);
+                UA_COPY32(op+4, ii+4);
+                UA_COPY32(op+8, ii+8);
+                UA_COPY32(op+12, ii+12);
+#endif
+                op += t;
+            }
+#endif
+            else
+            {
+                if (t <= 18)
+                    *op++ = LZO_BYTE(t - 3);
+                else
+                {
+                    register lzo_uint tt = t - 18;
+                    *op++ = 0;
+                    while __lzo_unlikely(tt > 255)
+                    {
+                        tt -= 255;
+#if 1 && (LZO_CC_MSC && (_MSC_VER >= 1400))
+                        * (volatile unsigned char *) op++ = 0;
+#else
+                        *op++ = 0;
+#endif
+                    }
+                    assert(tt > 0);
+                    *op++ = LZO_BYTE(tt);
+                }
+#if defined(UA_COPY32) || defined(UA_COPY64)
+                do {
+#if defined(UA_COPY64)
+                    UA_COPY64(op, ii);
+                    UA_COPY64(op+8, ii+8);
+#else
+                    UA_COPY32(op, ii);
+                    UA_COPY32(op+4, ii+4);
+                    UA_COPY32(op+8, ii+8);
+                    UA_COPY32(op+12, ii+12);
+#endif
+                    op += 16; ii += 16; t -= 16;
+                } while (t >= 16); if (t > 0)
+#endif
+                { do *op++ = *ii++; while (--t > 0); }
+            }
+        }
+        }
+        m_len = 4;
+        {
+#if defined(UA_GET64)
+        lzo_uint64 v;
+        v = UA_GET64(ip + m_len) ^ UA_GET64(m_pos + m_len);
+        if __lzo_unlikely(v == 0) {
+            do {
+                m_len += 8;
+                v = UA_GET64(ip + m_len) ^ UA_GET64(m_pos + m_len);
+                if __lzo_unlikely(ip + m_len >= ip_end)
+                    goto m_len_done;
+            } while (v == 0);
+        }
+#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_clz64)
+        m_len += lzo_bitops_clz64(v) / CHAR_BIT;
+#elif (LZO_ABI_BIG_ENDIAN)
+        if ((v >> (64 - CHAR_BIT)) == 0) do {
+            v <<= CHAR_BIT;
+            m_len += 1;
+        } while ((v >> (64 - CHAR_BIT)) == 0);
+#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_ctz64)
+        m_len += lzo_bitops_ctz64(v) / CHAR_BIT;
+#elif (LZO_ABI_LITTLE_ENDIAN)
+        if ((v & UCHAR_MAX) == 0) do {
+            v >>= CHAR_BIT;
+            m_len += 1;
+        } while ((v & UCHAR_MAX) == 0);
+#else
+        if (ip[m_len] == m_pos[m_len]) do {
+            m_len += 1;
+        } while (ip[m_len] == m_pos[m_len]);
+#endif
+#elif defined(UA_GET32)
+        lzo_uint32 v;
+        v = UA_GET32(ip + m_len) ^ UA_GET32(m_pos + m_len);
+        if __lzo_unlikely(v == 0) {
+            do {
+                m_len += 4;
+                v = UA_GET32(ip + m_len) ^ UA_GET32(m_pos + m_len);
+                if __lzo_unlikely(ip + m_len >= ip_end)
+                    goto m_len_done;
+            } while (v == 0);
+        }
+#if (LZO_ABI_BIG_ENDIAN) && defined(lzo_bitops_clz32)
+        m_len += lzo_bitops_clz32(v) / CHAR_BIT;
+#elif (LZO_ABI_BIG_ENDIAN)
+        if ((v >> (32 - CHAR_BIT)) == 0) do {
+            v <<= CHAR_BIT;
+            m_len += 1;
+        } while ((v >> (32 - CHAR_BIT)) == 0);
+#elif (LZO_ABI_LITTLE_ENDIAN) && defined(lzo_bitops_ctz32)
+        m_len += lzo_bitops_ctz32(v) / CHAR_BIT;
+#elif (LZO_ABI_LITTLE_ENDIAN)
+        if ((v & UCHAR_MAX) == 0) do {
+            v >>= CHAR_BIT;
+            m_len += 1;
+        } while ((v & UCHAR_MAX) == 0);
+#else
+        if (ip[m_len] == m_pos[m_len]) do {
+            m_len += 1;
+        } while (ip[m_len] == m_pos[m_len]);
+#endif
+#else
+        if __lzo_unlikely(ip[m_len] == m_pos[m_len]) {
+            do {
+                m_len += 1;
+                if __lzo_unlikely(ip + m_len >= ip_end)
+                    goto m_len_done;
+            } while (ip[m_len] == m_pos[m_len]);
+        }
+#endif
+        }
+m_len_done:
+        m_off = pd(ip,m_pos);
+        ip += m_len;
+        ii = ip;
+        if (m_len <= M2_MAX_LEN && m_off <= M2_MAX_OFFSET)
+        {
+            m_off -= 1;
+#if defined(LZO1X)
+            *op++ = LZO_BYTE(((m_len - 1) << 5) | ((m_off & 7) << 2));
+            *op++ = LZO_BYTE(m_off >> 3);
+#elif defined(LZO1Y)
+            *op++ = LZO_BYTE(((m_len + 1) << 4) | ((m_off & 3) << 2));
+            *op++ = LZO_BYTE(m_off >> 2);
+#endif
+        }
+        else if (m_off <= M3_MAX_OFFSET)
+        {
+            m_off -= 1;
+            if (m_len <= M3_MAX_LEN)
+                *op++ = LZO_BYTE(M3_MARKER | (m_len - 2));
+            else
+            {
+                m_len -= M3_MAX_LEN;
+                *op++ = M3_MARKER | 0;
+                while __lzo_unlikely(m_len > 255)
+                {
+                    m_len -= 255;
+#if 1 && (LZO_CC_MSC && (_MSC_VER >= 1400))
+                    * (volatile unsigned char *) op++ = 0;
+#else
+                    *op++ = 0;
+#endif
+                }
+                *op++ = LZO_BYTE(m_len);
+            }
+            *op++ = LZO_BYTE(m_off << 2);
+            *op++ = LZO_BYTE(m_off >> 6);
+        }
+        else
+        {
+            m_off -= 0x4000;
+            if (m_len <= M4_MAX_LEN)
+                *op++ = LZO_BYTE(M4_MARKER | ((m_off >> 11) & 8) | (m_len - 2));
+            else
+            {
+                m_len -= M4_MAX_LEN;
+                *op++ = LZO_BYTE(M4_MARKER | ((m_off >> 11) & 8));
+                while __lzo_unlikely(m_len > 255)
+                {
+                    m_len -= 255;
+#if 1 && (LZO_CC_MSC && (_MSC_VER >= 1400))
+                    * (volatile unsigned char *) op++ = 0;
+#else
+                    *op++ = 0;
+#endif
+                }
+                *op++ = LZO_BYTE(m_len);
+            }
+            *op++ = LZO_BYTE(m_off << 2);
+            *op++ = LZO_BYTE(m_off >> 6);
+        }
+        goto next;
+    }
+
+    *out_len = pd(op, out);
+    return pd(in_end,ii-ti);
+}
+
+LZO_PUBLIC(int)
+DO_COMPRESS      ( const lzo_bytep in , lzo_uint  in_len,
+                         lzo_bytep out, lzo_uintp out_len,
+                         lzo_voidp wrkmem )
+{
+    const lzo_bytep ip = in;
+    lzo_bytep op = out;
+    lzo_uint l = in_len;
+    lzo_uint t = 0;
+
+    while (l > 20)
+    {
+        lzo_uint ll = l;
+        lzo_uintptr_t ll_end;
+#if 0 || (LZO_DETERMINISTIC)
+        ll = LZO_MIN(ll, 49152);
+#endif
+        ll_end = (lzo_uintptr_t)ip + ll;
+        if ((ll_end + ((t + ll) >> 5)) <= ll_end || (const lzo_bytep)(ll_end + ((t + ll) >> 5)) <= ip + ll)
+            break;
+#if (LZO_DETERMINISTIC)
+        lzo_memset(wrkmem, 0, ((lzo_uint)1 << D_BITS) * sizeof(lzo_dict_t));
+#endif
+        t = do_compress(ip,ll,op,out_len,t,wrkmem);
+        ip += ll;
+        op += *out_len;
+        l  -= ll;
+    }
+    t += l;
+
+    if (t > 0)
+    {
+        const lzo_bytep ii = in + in_len - t;
+
+        if (op == out && t <= 238)
+            *op++ = LZO_BYTE(17 + t);
+        else if (t <= 3)
+            op[-2] |= LZO_BYTE(t);
+        else if (t <= 18)
+            *op++ = LZO_BYTE(t - 3);
+        else
+        {
+            lzo_uint tt = t - 18;
+
+            *op++ = 0;
+            while (tt > 255)
+            {
+                tt -= 255;
+#if 1 && (LZO_CC_MSC && (_MSC_VER >= 1400))
+
+                * (volatile unsigned char *) op++ = 0;
+#else
+                *op++ = 0;
+#endif
+            }
+            assert(tt > 0);
+            *op++ = LZO_BYTE(tt);
+        }
+        do *op++ = *ii++; while (--t > 0);
+    }
+
+    *op++ = M4_MARKER | 1;
+    *op++ = 0;
+    *op++ = 0;
+
+    *out_len = pd(op, out);
+    return LZO_E_OK;
+}
+
+#endif
+
+#undef do_compress
+#undef DO_COMPRESS
+#undef LZO_HASH
+
+#undef LZO_TEST_OVERRUN
+#undef DO_DECOMPRESS
+#define DO_DECOMPRESS       lzo1x_decompress
+
+#if !defined(MINILZO_CFG_SKIP_LZO1X_DECOMPRESS)
+
+#if defined(LZO_TEST_OVERRUN)
+#  if !defined(LZO_TEST_OVERRUN_INPUT)
+#    define LZO_TEST_OVERRUN_INPUT       2
+#  endif
+#  if !defined(LZO_TEST_OVERRUN_OUTPUT)
+#    define LZO_TEST_OVERRUN_OUTPUT      2
+#  endif
+#  if !defined(LZO_TEST_OVERRUN_LOOKBEHIND)
+#    define LZO_TEST_OVERRUN_LOOKBEHIND  1
+#  endif
+#endif
+
+#undef TEST_IP
+#undef TEST_OP
+#undef TEST_LB
+#undef TEST_LBO
+#undef NEED_IP
+#undef NEED_OP
+#undef HAVE_TEST_IP
+#undef HAVE_TEST_OP
+#undef HAVE_NEED_IP
+#undef HAVE_NEED_OP
+#undef HAVE_ANY_IP
+#undef HAVE_ANY_OP
+
+#if defined(LZO_TEST_OVERRUN_INPUT)
+#  if (LZO_TEST_OVERRUN_INPUT >= 1)
+#    define TEST_IP             (ip < ip_end)
+#  endif
+#  if (LZO_TEST_OVERRUN_INPUT >= 2)
+#    define NEED_IP(x) \
+            if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x))  goto input_overrun
+#  endif
+#endif
+
+#if defined(LZO_TEST_OVERRUN_OUTPUT)
+#  if (LZO_TEST_OVERRUN_OUTPUT >= 1)
+#    define TEST_OP             (op <= op_end)
+#  endif
+#  if (LZO_TEST_OVERRUN_OUTPUT >= 2)
+#    undef TEST_OP
+#    define NEED_OP(x) \
+            if ((lzo_uint)(op_end - op) < (lzo_uint)(x))  goto output_overrun
+#  endif
+#endif
+
+#if defined(LZO_TEST_OVERRUN_LOOKBEHIND)
+#  define TEST_LB(m_pos)        if (m_pos < out || m_pos >= op) goto lookbehind_overrun
+#  define TEST_LBO(m_pos,o)     if (m_pos < out || m_pos >= op - (o)) goto lookbehind_overrun
+#else
+#  define TEST_LB(m_pos)        ((void) 0)
+#  define TEST_LBO(m_pos,o)     ((void) 0)
+#endif
+
+#if !defined(LZO_EOF_CODE) && !defined(TEST_IP)
+#  define TEST_IP               (ip < ip_end)
+#endif
+
+#if defined(TEST_IP)
+#  define HAVE_TEST_IP 1
+#else
+#  define TEST_IP               1
+#endif
+#if defined(TEST_OP)
+#  define HAVE_TEST_OP 1
+#else
+#  define TEST_OP               1
+#endif
+
+#if defined(NEED_IP)
+#  define HAVE_NEED_IP 1
+#else
+#  define NEED_IP(x)            ((void) 0)
+#endif
+#if defined(NEED_OP)
+#  define HAVE_NEED_OP 1
+#else
+#  define NEED_OP(x)            ((void) 0)
+#endif
+
+#if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP)
+#  define HAVE_ANY_IP 1
+#endif
+#if defined(HAVE_TEST_OP) || defined(HAVE_NEED_OP)
+#  define HAVE_ANY_OP 1
+#endif
+
+#if defined(DO_DECOMPRESS)
+LZO_PUBLIC(int)
+DO_DECOMPRESS  ( const lzo_bytep in , lzo_uint  in_len,
+                       lzo_bytep out, lzo_uintp out_len,
+                       lzo_voidp wrkmem )
+#endif
+{
+    register lzo_bytep op;
+    register const lzo_bytep ip;
+    register lzo_uint t;
+#if defined(COPY_DICT)
+    lzo_uint m_off;
+    const lzo_bytep dict_end;
+#else
+    register const lzo_bytep m_pos;
+#endif
+
+    const lzo_bytep const ip_end = in + in_len;
+#if defined(HAVE_ANY_OP)
+    lzo_bytep const op_end = out + *out_len;
+#endif
+#if defined(LZO1Z)
+    lzo_uint last_m_off = 0;
+#endif
+
+    LZO_UNUSED(wrkmem);
+
+#if defined(COPY_DICT)
+    if (dict)
+    {
+        if (dict_len > M4_MAX_OFFSET)
+        {
+            dict += dict_len - M4_MAX_OFFSET;
+            dict_len = M4_MAX_OFFSET;
+        }
+        dict_end = dict + dict_len;
+    }
+    else
+    {
+        dict_len = 0;
+        dict_end = NULL;
+    }
+#endif
+
+    *out_len = 0;
+
+    op = out;
+    ip = in;
+
+    if (*ip > 17)
+    {
+        t = *ip++ - 17;
+        if (t < 4)
+            goto match_next;
+        assert(t > 0); NEED_OP(t); NEED_IP(t+1);
+        do *op++ = *ip++; while (--t > 0);
+        goto first_literal_run;
+    }
+
+    while (TEST_IP && TEST_OP)
+    {
+        t = *ip++;
+        if (t >= 16)
+            goto match;
+        if (t == 0)
+        {
+            NEED_IP(1);
+            while (*ip == 0)
+            {
+                t += 255;
+                ip++;
+                NEED_IP(1);
+            }
+            t += 15 + *ip++;
+        }
+        assert(t > 0); NEED_OP(t+3); NEED_IP(t+4);
+#if defined(LZO_UNALIGNED_OK_8) && defined(LZO_UNALIGNED_OK_4)
+        t += 3;
+        if (t >= 8) do
+        {
+            UA_COPY64(op,ip);
+            op += 8; ip += 8; t -= 8;
+        } while (t >= 8);
+        if (t >= 4)
+        {
+            UA_COPY32(op,ip);
+            op += 4; ip += 4; t -= 4;
+        }
+        if (t > 0)
+        {
+            *op++ = *ip++;
+            if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
+        }
+#elif defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4)
+#if !defined(LZO_UNALIGNED_OK_4)
+        if (PTR_ALIGNED2_4(op,ip))
+        {
+#endif
+        UA_COPY32(op,ip);
+        op += 4; ip += 4;
+        if (--t > 0)
+        {
+            if (t >= 4)
+            {
+                do {
+                    UA_COPY32(op,ip);
+                    op += 4; ip += 4; t -= 4;
+                } while (t >= 4);
+                if (t > 0) do *op++ = *ip++; while (--t > 0);
+            }
+            else
+                do *op++ = *ip++; while (--t > 0);
+        }
+#if !defined(LZO_UNALIGNED_OK_4)
+        }
+        else
+#endif
+#endif
+#if !defined(LZO_UNALIGNED_OK_4) && !defined(LZO_UNALIGNED_OK_8)
+        {
+            *op++ = *ip++; *op++ = *ip++; *op++ = *ip++;
+            do *op++ = *ip++; while (--t > 0);
+        }
+#endif
+
+first_literal_run:
+
+        t = *ip++;
+        if (t >= 16)
+            goto match;
+#if defined(COPY_DICT)
+#if defined(LZO1Z)
+        m_off = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2);
+        last_m_off = m_off;
+#else
+        m_off = (1 + M2_MAX_OFFSET) + (t >> 2) + (*ip++ << 2);
+#endif
+        NEED_OP(3);
+        t = 3; COPY_DICT(t,m_off)
+#else
+#if defined(LZO1Z)
+        t = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2);
+        m_pos = op - t;
+        last_m_off = t;
+#else
+        m_pos = op - (1 + M2_MAX_OFFSET);
+        m_pos -= t >> 2;
+        m_pos -= *ip++ << 2;
+#endif
+        TEST_LB(m_pos); NEED_OP(3);
+        *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos;
+#endif
+        goto match_done;
+
+        do {
+match:
+            if (t >= 64)
+            {
+#if defined(COPY_DICT)
+#if defined(LZO1X)
+                m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3);
+                t = (t >> 5) - 1;
+#elif defined(LZO1Y)
+                m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2);
+                t = (t >> 4) - 3;
+#elif defined(LZO1Z)
+                m_off = t & 0x1f;
+                if (m_off >= 0x1c)
+                    m_off = last_m_off;
+                else
+                {
+                    m_off = 1 + (m_off << 6) + (*ip++ >> 2);
+                    last_m_off = m_off;
+                }
+                t = (t >> 5) - 1;
+#endif
+#else
+#if defined(LZO1X)
+                m_pos = op - 1;
+                m_pos -= (t >> 2) & 7;
+                m_pos -= *ip++ << 3;
+                t = (t >> 5) - 1;
+#elif defined(LZO1Y)
+                m_pos = op - 1;
+                m_pos -= (t >> 2) & 3;
+                m_pos -= *ip++ << 2;
+                t = (t >> 4) - 3;
+#elif defined(LZO1Z)
+                {
+                    lzo_uint off = t & 0x1f;
+                    m_pos = op;
+                    if (off >= 0x1c)
+                    {
+                        assert(last_m_off > 0);
+                        m_pos -= last_m_off;
+                    }
+                    else
+                    {
+                        off = 1 + (off << 6) + (*ip++ >> 2);
+                        m_pos -= off;
+                        last_m_off = off;
+                    }
+                }
+                t = (t >> 5) - 1;
+#endif
+                TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1);
+                goto copy_match;
+#endif
+            }
+            else if (t >= 32)
+            {
+                t &= 31;
+                if (t == 0)
+                {
+                    NEED_IP(1);
+                    while (*ip == 0)
+                    {
+                        t += 255;
+                        ip++;
+                        NEED_IP(1);
+                    }
+                    t += 31 + *ip++;
+                }
+#if defined(COPY_DICT)
+#if defined(LZO1Z)
+                m_off = 1 + (ip[0] << 6) + (ip[1] >> 2);
+                last_m_off = m_off;
+#else
+                m_off = 1 + (ip[0] >> 2) + (ip[1] << 6);
+#endif
+#else
+#if defined(LZO1Z)
+                {
+                    lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2);
+                    m_pos = op - off;
+                    last_m_off = off;
+                }
+#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN)
+                m_pos = op - 1;
+                m_pos -= UA_GET16(ip) >> 2;
+#else
+                m_pos = op - 1;
+                m_pos -= (ip[0] >> 2) + (ip[1] << 6);
+#endif
+#endif
+                ip += 2;
+            }
+            else if (t >= 16)
+            {
+#if defined(COPY_DICT)
+                m_off = (t & 8) << 11;
+#else
+                m_pos = op;
+                m_pos -= (t & 8) << 11;
+#endif
+                t &= 7;
+                if (t == 0)
+                {
+                    NEED_IP(1);
+                    while (*ip == 0)
+                    {
+                        t += 255;
+                        ip++;
+                        NEED_IP(1);
+                    }
+                    t += 7 + *ip++;
+                }
+#if defined(COPY_DICT)
+#if defined(LZO1Z)
+                m_off += (ip[0] << 6) + (ip[1] >> 2);
+#else
+                m_off += (ip[0] >> 2) + (ip[1] << 6);
+#endif
+                ip += 2;
+                if (m_off == 0)
+                    goto eof_found;
+                m_off += 0x4000;
+#if defined(LZO1Z)
+                last_m_off = m_off;
+#endif
+#else
+#if defined(LZO1Z)
+                m_pos -= (ip[0] << 6) + (ip[1] >> 2);
+#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN)
+                m_pos -= UA_GET16(ip) >> 2;
+#else
+                m_pos -= (ip[0] >> 2) + (ip[1] << 6);
+#endif
+                ip += 2;
+                if (m_pos == op)
+                    goto eof_found;
+                m_pos -= 0x4000;
+#if defined(LZO1Z)
+                last_m_off = pd((const lzo_bytep)op, m_pos);
+#endif
+#endif
+            }
+            else
+            {
+#if defined(COPY_DICT)
+#if defined(LZO1Z)
+                m_off = 1 + (t << 6) + (*ip++ >> 2);
+                last_m_off = m_off;
+#else
+                m_off = 1 + (t >> 2) + (*ip++ << 2);
+#endif
+                NEED_OP(2);
+                t = 2; COPY_DICT(t,m_off)
+#else
+#if defined(LZO1Z)
+                t = 1 + (t << 6) + (*ip++ >> 2);
+                m_pos = op - t;
+                last_m_off = t;
+#else
+                m_pos = op - 1;
+                m_pos -= t >> 2;
+                m_pos -= *ip++ << 2;
+#endif
+                TEST_LB(m_pos); NEED_OP(2);
+                *op++ = *m_pos++; *op++ = *m_pos;
+#endif
+                goto match_done;
+            }
+
+#if defined(COPY_DICT)
+
+            NEED_OP(t+3-1);
+            t += 3-1; COPY_DICT(t,m_off)
+
+#else
+
+            TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1);
+#if defined(LZO_UNALIGNED_OK_8) && defined(LZO_UNALIGNED_OK_4)
+            if (op - m_pos >= 8)
+            {
+                t += (3 - 1);
+                if (t >= 8) do
+                {
+                    UA_COPY64(op,m_pos);
+                    op += 8; m_pos += 8; t -= 8;
+                } while (t >= 8);
+                if (t >= 4)
+                {
+                    UA_COPY32(op,m_pos);
+                    op += 4; m_pos += 4; t -= 4;
+                }
+                if (t > 0)
+                {
+                    *op++ = m_pos[0];
+                    if (t > 1) { *op++ = m_pos[1]; if (t > 2) { *op++ = m_pos[2]; } }
+                }
+            }
+            else
+#elif defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4)
+#if !defined(LZO_UNALIGNED_OK_4)
+            if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos))
+            {
+                assert((op - m_pos) >= 4);
+#else
+            if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4)
+            {
+#endif
+                UA_COPY32(op,m_pos);
+                op += 4; m_pos += 4; t -= 4 - (3 - 1);
+                do {
+                    UA_COPY32(op,m_pos);
+                    op += 4; m_pos += 4; t -= 4;
+                } while (t >= 4);
+                if (t > 0) do *op++ = *m_pos++; while (--t > 0);
+            }
+            else
+#endif
+            {
+copy_match:
+                *op++ = *m_pos++; *op++ = *m_pos++;
+                do *op++ = *m_pos++; while (--t > 0);
+            }
+
+#endif
+
+match_done:
+#if defined(LZO1Z)
+            t = ip[-1] & 3;
+#else
+            t = ip[-2] & 3;
+#endif
+            if (t == 0)
+                break;
+
+match_next:
+            assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+1);
+#if 0
+            do *op++ = *ip++; while (--t > 0);
+#else
+            *op++ = *ip++;
+            if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
+#endif
+            t = *ip++;
+        } while (TEST_IP && TEST_OP);
+    }
+
+#if defined(HAVE_TEST_IP) || defined(HAVE_TEST_OP)
+    *out_len = pd(op, out);
+    return LZO_E_EOF_NOT_FOUND;
+#endif
+
+eof_found:
+    assert(t == 1);
+    *out_len = pd(op, out);
+    return (ip == ip_end ? LZO_E_OK :
+           (ip < ip_end  ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN));
+
+#if defined(HAVE_NEED_IP)
+input_overrun:
+    *out_len = pd(op, out);
+    return LZO_E_INPUT_OVERRUN;
+#endif
+
+#if defined(HAVE_NEED_OP)
+output_overrun:
+    *out_len = pd(op, out);
+    return LZO_E_OUTPUT_OVERRUN;
+#endif
+
+#if defined(LZO_TEST_OVERRUN_LOOKBEHIND)
+lookbehind_overrun:
+    *out_len = pd(op, out);
+    return LZO_E_LOOKBEHIND_OVERRUN;
+#endif
+}
+
+#endif
+
+#define LZO_TEST_OVERRUN 1
+#undef DO_DECOMPRESS
+#define DO_DECOMPRESS       lzo1x_decompress_safe
+
+#if !defined(MINILZO_CFG_SKIP_LZO1X_DECOMPRESS_SAFE)
+
+#if defined(LZO_TEST_OVERRUN)
+#  if !defined(LZO_TEST_OVERRUN_INPUT)
+#    define LZO_TEST_OVERRUN_INPUT       2
+#  endif
+#  if !defined(LZO_TEST_OVERRUN_OUTPUT)
+#    define LZO_TEST_OVERRUN_OUTPUT      2
+#  endif
+#  if !defined(LZO_TEST_OVERRUN_LOOKBEHIND)
+#    define LZO_TEST_OVERRUN_LOOKBEHIND  1
+#  endif
+#endif
+
+#undef TEST_IP
+#undef TEST_OP
+#undef TEST_LB
+#undef TEST_LBO
+#undef NEED_IP
+#undef NEED_OP
+#undef HAVE_TEST_IP
+#undef HAVE_TEST_OP
+#undef HAVE_NEED_IP
+#undef HAVE_NEED_OP
+#undef HAVE_ANY_IP
+#undef HAVE_ANY_OP
+
+#if defined(LZO_TEST_OVERRUN_INPUT)
+#  if (LZO_TEST_OVERRUN_INPUT >= 1)
+#    define TEST_IP             (ip < ip_end)
+#  endif
+#  if (LZO_TEST_OVERRUN_INPUT >= 2)
+#    define NEED_IP(x) \
+            if ((lzo_uint)(ip_end - ip) < (lzo_uint)(x))  goto input_overrun
+#  endif
+#endif
+
+#if defined(LZO_TEST_OVERRUN_OUTPUT)
+#  if (LZO_TEST_OVERRUN_OUTPUT >= 1)
+#    define TEST_OP             (op <= op_end)
+#  endif
+#  if (LZO_TEST_OVERRUN_OUTPUT >= 2)
+#    undef TEST_OP
+#    define NEED_OP(x) \
+            if ((lzo_uint)(op_end - op) < (lzo_uint)(x))  goto output_overrun
+#  endif
+#endif
+
+#if defined(LZO_TEST_OVERRUN_LOOKBEHIND)
+#  define TEST_LB(m_pos)        if (m_pos < out || m_pos >= op) goto lookbehind_overrun
+#  define TEST_LBO(m_pos,o)     if (m_pos < out || m_pos >= op - (o)) goto lookbehind_overrun
+#else
+#  define TEST_LB(m_pos)        ((void) 0)
+#  define TEST_LBO(m_pos,o)     ((void) 0)
+#endif
+
+#if !defined(LZO_EOF_CODE) && !defined(TEST_IP)
+#  define TEST_IP               (ip < ip_end)
+#endif
+
+#if defined(TEST_IP)
+#  define HAVE_TEST_IP 1
+#else
+#  define TEST_IP               1
+#endif
+#if defined(TEST_OP)
+#  define HAVE_TEST_OP 1
+#else
+#  define TEST_OP               1
+#endif
+
+#if defined(NEED_IP)
+#  define HAVE_NEED_IP 1
+#else
+#  define NEED_IP(x)            ((void) 0)
+#endif
+#if defined(NEED_OP)
+#  define HAVE_NEED_OP 1
+#else
+#  define NEED_OP(x)            ((void) 0)
+#endif
+
+#if defined(HAVE_TEST_IP) || defined(HAVE_NEED_IP)
+#  define HAVE_ANY_IP 1
+#endif
+#if defined(HAVE_TEST_OP) || defined(HAVE_NEED_OP)
+#  define HAVE_ANY_OP 1
+#endif
+
+#if defined(DO_DECOMPRESS)
+LZO_PUBLIC(int)
+DO_DECOMPRESS  ( const lzo_bytep in , lzo_uint  in_len,
+                       lzo_bytep out, lzo_uintp out_len,
+                       lzo_voidp wrkmem )
+#endif
+{
+    register lzo_bytep op;
+    register const lzo_bytep ip;
+    register lzo_uint t;
+#if defined(COPY_DICT)
+    lzo_uint m_off;
+    const lzo_bytep dict_end;
+#else
+    register const lzo_bytep m_pos;
+#endif
+
+    const lzo_bytep const ip_end = in + in_len;
+#if defined(HAVE_ANY_OP)
+    lzo_bytep const op_end = out + *out_len;
+#endif
+#if defined(LZO1Z)
+    lzo_uint last_m_off = 0;
+#endif
+
+    LZO_UNUSED(wrkmem);
+
+#if defined(COPY_DICT)
+    if (dict)
+    {
+        if (dict_len > M4_MAX_OFFSET)
+        {
+            dict += dict_len - M4_MAX_OFFSET;
+            dict_len = M4_MAX_OFFSET;
+        }
+        dict_end = dict + dict_len;
+    }
+    else
+    {
+        dict_len = 0;
+        dict_end = NULL;
+    }
+#endif
+
+    *out_len = 0;
+
+    op = out;
+    ip = in;
+
+    if (*ip > 17)
+    {
+        t = *ip++ - 17;
+        if (t < 4)
+            goto match_next;
+        assert(t > 0); NEED_OP(t); NEED_IP(t+1);
+        do *op++ = *ip++; while (--t > 0);
+        goto first_literal_run;
+    }
+
+    while (TEST_IP && TEST_OP)
+    {
+        t = *ip++;
+        if (t >= 16)
+            goto match;
+        if (t == 0)
+        {
+            NEED_IP(1);
+            while (*ip == 0)
+            {
+                t += 255;
+                ip++;
+                NEED_IP(1);
+            }
+            t += 15 + *ip++;
+        }
+        assert(t > 0); NEED_OP(t+3); NEED_IP(t+4);
+#if defined(LZO_UNALIGNED_OK_8) && defined(LZO_UNALIGNED_OK_4)
+        t += 3;
+        if (t >= 8) do
+        {
+            UA_COPY64(op,ip);
+            op += 8; ip += 8; t -= 8;
+        } while (t >= 8);
+        if (t >= 4)
+        {
+            UA_COPY32(op,ip);
+            op += 4; ip += 4; t -= 4;
+        }
+        if (t > 0)
+        {
+            *op++ = *ip++;
+            if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
+        }
+#elif defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4)
+#if !defined(LZO_UNALIGNED_OK_4)
+        if (PTR_ALIGNED2_4(op,ip))
+        {
+#endif
+        UA_COPY32(op,ip);
+        op += 4; ip += 4;
+        if (--t > 0)
+        {
+            if (t >= 4)
+            {
+                do {
+                    UA_COPY32(op,ip);
+                    op += 4; ip += 4; t -= 4;
+                } while (t >= 4);
+                if (t > 0) do *op++ = *ip++; while (--t > 0);
+            }
+            else
+                do *op++ = *ip++; while (--t > 0);
+        }
+#if !defined(LZO_UNALIGNED_OK_4)
+        }
+        else
+#endif
+#endif
+#if !defined(LZO_UNALIGNED_OK_4) && !defined(LZO_UNALIGNED_OK_8)
+        {
+            *op++ = *ip++; *op++ = *ip++; *op++ = *ip++;
+            do *op++ = *ip++; while (--t > 0);
+        }
+#endif
+
+first_literal_run:
+
+        t = *ip++;
+        if (t >= 16)
+            goto match;
+#if defined(COPY_DICT)
+#if defined(LZO1Z)
+        m_off = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2);
+        last_m_off = m_off;
+#else
+        m_off = (1 + M2_MAX_OFFSET) + (t >> 2) + (*ip++ << 2);
+#endif
+        NEED_OP(3);
+        t = 3; COPY_DICT(t,m_off)
+#else
+#if defined(LZO1Z)
+        t = (1 + M2_MAX_OFFSET) + (t << 6) + (*ip++ >> 2);
+        m_pos = op - t;
+        last_m_off = t;
+#else
+        m_pos = op - (1 + M2_MAX_OFFSET);
+        m_pos -= t >> 2;
+        m_pos -= *ip++ << 2;
+#endif
+        TEST_LB(m_pos); NEED_OP(3);
+        *op++ = *m_pos++; *op++ = *m_pos++; *op++ = *m_pos;
+#endif
+        goto match_done;
+
+        do {
+match:
+            if (t >= 64)
+            {
+#if defined(COPY_DICT)
+#if defined(LZO1X)
+                m_off = 1 + ((t >> 2) & 7) + (*ip++ << 3);
+                t = (t >> 5) - 1;
+#elif defined(LZO1Y)
+                m_off = 1 + ((t >> 2) & 3) + (*ip++ << 2);
+                t = (t >> 4) - 3;
+#elif defined(LZO1Z)
+                m_off = t & 0x1f;
+                if (m_off >= 0x1c)
+                    m_off = last_m_off;
+                else
+                {
+                    m_off = 1 + (m_off << 6) + (*ip++ >> 2);
+                    last_m_off = m_off;
+                }
+                t = (t >> 5) - 1;
+#endif
+#else
+#if defined(LZO1X)
+                m_pos = op - 1;
+                m_pos -= (t >> 2) & 7;
+                m_pos -= *ip++ << 3;
+                t = (t >> 5) - 1;
+#elif defined(LZO1Y)
+                m_pos = op - 1;
+                m_pos -= (t >> 2) & 3;
+                m_pos -= *ip++ << 2;
+                t = (t >> 4) - 3;
+#elif defined(LZO1Z)
+                {
+                    lzo_uint off = t & 0x1f;
+                    m_pos = op;
+                    if (off >= 0x1c)
+                    {
+                        assert(last_m_off > 0);
+                        m_pos -= last_m_off;
+                    }
+                    else
+                    {
+                        off = 1 + (off << 6) + (*ip++ >> 2);
+                        m_pos -= off;
+                        last_m_off = off;
+                    }
+                }
+                t = (t >> 5) - 1;
+#endif
+                TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1);
+                goto copy_match;
+#endif
+            }
+            else if (t >= 32)
+            {
+                t &= 31;
+                if (t == 0)
+                {
+                    NEED_IP(1);
+                    while (*ip == 0)
+                    {
+                        t += 255;
+                        ip++;
+                        NEED_IP(1);
+                    }
+                    t += 31 + *ip++;
+                }
+#if defined(COPY_DICT)
+#if defined(LZO1Z)
+                m_off = 1 + (ip[0] << 6) + (ip[1] >> 2);
+                last_m_off = m_off;
+#else
+                m_off = 1 + (ip[0] >> 2) + (ip[1] << 6);
+#endif
+#else
+#if defined(LZO1Z)
+                {
+                    lzo_uint off = 1 + (ip[0] << 6) + (ip[1] >> 2);
+                    m_pos = op - off;
+                    last_m_off = off;
+                }
+#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN)
+                m_pos = op - 1;
+                m_pos -= UA_GET16(ip) >> 2;
+#else
+                m_pos = op - 1;
+                m_pos -= (ip[0] >> 2) + (ip[1] << 6);
+#endif
+#endif
+                ip += 2;
+            }
+            else if (t >= 16)
+            {
+#if defined(COPY_DICT)
+                m_off = (t & 8) << 11;
+#else
+                m_pos = op;
+                m_pos -= (t & 8) << 11;
+#endif
+                t &= 7;
+                if (t == 0)
+                {
+                    NEED_IP(1);
+                    while (*ip == 0)
+                    {
+                        t += 255;
+                        ip++;
+                        NEED_IP(1);
+                    }
+                    t += 7 + *ip++;
+                }
+#if defined(COPY_DICT)
+#if defined(LZO1Z)
+                m_off += (ip[0] << 6) + (ip[1] >> 2);
+#else
+                m_off += (ip[0] >> 2) + (ip[1] << 6);
+#endif
+                ip += 2;
+                if (m_off == 0)
+                    goto eof_found;
+                m_off += 0x4000;
+#if defined(LZO1Z)
+                last_m_off = m_off;
+#endif
+#else
+#if defined(LZO1Z)
+                m_pos -= (ip[0] << 6) + (ip[1] >> 2);
+#elif defined(LZO_UNALIGNED_OK_2) && defined(LZO_ABI_LITTLE_ENDIAN)
+                m_pos -= UA_GET16(ip) >> 2;
+#else
+                m_pos -= (ip[0] >> 2) + (ip[1] << 6);
+#endif
+                ip += 2;
+                if (m_pos == op)
+                    goto eof_found;
+                m_pos -= 0x4000;
+#if defined(LZO1Z)
+                last_m_off = pd((const lzo_bytep)op, m_pos);
+#endif
+#endif
+            }
+            else
+            {
+#if defined(COPY_DICT)
+#if defined(LZO1Z)
+                m_off = 1 + (t << 6) + (*ip++ >> 2);
+                last_m_off = m_off;
+#else
+                m_off = 1 + (t >> 2) + (*ip++ << 2);
+#endif
+                NEED_OP(2);
+                t = 2; COPY_DICT(t,m_off)
+#else
+#if defined(LZO1Z)
+                t = 1 + (t << 6) + (*ip++ >> 2);
+                m_pos = op - t;
+                last_m_off = t;
+#else
+                m_pos = op - 1;
+                m_pos -= t >> 2;
+                m_pos -= *ip++ << 2;
+#endif
+                TEST_LB(m_pos); NEED_OP(2);
+                *op++ = *m_pos++; *op++ = *m_pos;
+#endif
+                goto match_done;
+            }
+
+#if defined(COPY_DICT)
+
+            NEED_OP(t+3-1);
+            t += 3-1; COPY_DICT(t,m_off)
+
+#else
+
+            TEST_LB(m_pos); assert(t > 0); NEED_OP(t+3-1);
+#if defined(LZO_UNALIGNED_OK_8) && defined(LZO_UNALIGNED_OK_4)
+            if (op - m_pos >= 8)
+            {
+                t += (3 - 1);
+                if (t >= 8) do
+                {
+                    UA_COPY64(op,m_pos);
+                    op += 8; m_pos += 8; t -= 8;
+                } while (t >= 8);
+                if (t >= 4)
+                {
+                    UA_COPY32(op,m_pos);
+                    op += 4; m_pos += 4; t -= 4;
+                }
+                if (t > 0)
+                {
+                    *op++ = m_pos[0];
+                    if (t > 1) { *op++ = m_pos[1]; if (t > 2) { *op++ = m_pos[2]; } }
+                }
+            }
+            else
+#elif defined(LZO_UNALIGNED_OK_4) || defined(LZO_ALIGNED_OK_4)
+#if !defined(LZO_UNALIGNED_OK_4)
+            if (t >= 2 * 4 - (3 - 1) && PTR_ALIGNED2_4(op,m_pos))
+            {
+                assert((op - m_pos) >= 4);
+#else
+            if (t >= 2 * 4 - (3 - 1) && (op - m_pos) >= 4)
+            {
+#endif
+                UA_COPY32(op,m_pos);
+                op += 4; m_pos += 4; t -= 4 - (3 - 1);
+                do {
+                    UA_COPY32(op,m_pos);
+                    op += 4; m_pos += 4; t -= 4;
+                } while (t >= 4);
+                if (t > 0) do *op++ = *m_pos++; while (--t > 0);
+            }
+            else
+#endif
+            {
+copy_match:
+                *op++ = *m_pos++; *op++ = *m_pos++;
+                do *op++ = *m_pos++; while (--t > 0);
+            }
+
+#endif
+
+match_done:
+#if defined(LZO1Z)
+            t = ip[-1] & 3;
+#else
+            t = ip[-2] & 3;
+#endif
+            if (t == 0)
+                break;
+
+match_next:
+            assert(t > 0); assert(t < 4); NEED_OP(t); NEED_IP(t+1);
+#if 0
+            do *op++ = *ip++; while (--t > 0);
+#else
+            *op++ = *ip++;
+            if (t > 1) { *op++ = *ip++; if (t > 2) { *op++ = *ip++; } }
+#endif
+            t = *ip++;
+        } while (TEST_IP && TEST_OP);
+    }
+
+#if defined(HAVE_TEST_IP) || defined(HAVE_TEST_OP)
+    *out_len = pd(op, out);
+    return LZO_E_EOF_NOT_FOUND;
+#endif
+
+eof_found:
+    assert(t == 1);
+    *out_len = pd(op, out);
+    return (ip == ip_end ? LZO_E_OK :
+           (ip < ip_end  ? LZO_E_INPUT_NOT_CONSUMED : LZO_E_INPUT_OVERRUN));
+
+#if defined(HAVE_NEED_IP)
+input_overrun:
+    *out_len = pd(op, out);
+    return LZO_E_INPUT_OVERRUN;
+#endif
+
+#if defined(HAVE_NEED_OP)
+output_overrun:
+    *out_len = pd(op, out);
+    return LZO_E_OUTPUT_OVERRUN;
+#endif
+
+#if defined(LZO_TEST_OVERRUN_LOOKBEHIND)
+lookbehind_overrun:
+    *out_len = pd(op, out);
+    return LZO_E_LOOKBEHIND_OVERRUN;
+#endif
+}
+
+#endif
+
+/***** End of minilzo.c *****/
+
diff --git a/coregrind/m_debuginfo/minilzo.h b/coregrind/m_debuginfo/minilzo.h
new file mode 100644
index 0000000..4c7b237
--- /dev/null
+++ b/coregrind/m_debuginfo/minilzo.h
@@ -0,0 +1,109 @@
+/* minilzo.h -- mini subset of the LZO real-time data compression library
+
+   This file is part of the LZO real-time data compression library.
+
+   Copyright (C) 2011 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2010 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2009 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2008 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2007 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2006 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2005 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2004 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2003 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2002 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2001 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 2000 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1999 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1998 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1997 Markus Franz Xaver Johannes Oberhumer
+   Copyright (C) 1996 Markus Franz Xaver Johannes Oberhumer
+   All Rights Reserved.
+
+   The LZO library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of
+   the License, or (at your option) any later version.
+
+   The LZO library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with the LZO library; see the file COPYING.
+   If not, write to the Free Software Foundation, Inc.,
+   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+   Markus F.X.J. Oberhumer
+   <markus@oberhumer.com>
+   http://www.oberhumer.com/opensource/lzo/
+ */
+
+/*
+ * NOTE:
+ *   the full LZO package can be found at
+ *   http://www.oberhumer.com/opensource/lzo/
+ */
+
+
+#ifndef __MINILZO_H
+#define __MINILZO_H 1
+
+#define MINILZO_VERSION         0x2060
+
+#ifdef __LZOCONF_H
+#  error "you cannot use both LZO and miniLZO"
+#endif
+
+#undef LZO_HAVE_CONFIG_H
+#include "lzoconf.h"
+
+#if !defined(LZO_VERSION) || (LZO_VERSION != MINILZO_VERSION)
+#  error "version mismatch in header files"
+#endif
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/***********************************************************************
+//
+************************************************************************/
+
+/* Memory required for the wrkmem parameter.
+ * When the required size is 0, you can also pass a NULL pointer.
+ */
+
+#define LZO1X_MEM_COMPRESS      LZO1X_1_MEM_COMPRESS
+#define LZO1X_1_MEM_COMPRESS    ((lzo_uint32) (16384L * lzo_sizeof_dict_t))
+#define LZO1X_MEM_DECOMPRESS    (0)
+
+
+/* compression */
+LZO_EXTERN(int)
+lzo1x_1_compress        ( const lzo_bytep src, lzo_uint  src_len,
+                                lzo_bytep dst, lzo_uintp dst_len,
+                                lzo_voidp wrkmem );
+
+/* decompression */
+LZO_EXTERN(int)
+lzo1x_decompress        ( const lzo_bytep src, lzo_uint  src_len,
+                                lzo_bytep dst, lzo_uintp dst_len,
+                                lzo_voidp wrkmem /* NOT USED */ );
+
+/* safe decompression with overrun testing */
+LZO_EXTERN(int)
+lzo1x_decompress_safe   ( const lzo_bytep src, lzo_uint  src_len,
+                                lzo_bytep dst, lzo_uintp dst_len,
+                                lzo_voidp wrkmem /* NOT USED */ );
+
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* already included */
+
diff --git a/coregrind/m_debuginfo/misc.c b/coregrind/m_debuginfo/misc.c
index 39df3e1..08abfa4 100644
--- a/coregrind/m_debuginfo/misc.c
+++ b/coregrind/m_debuginfo/misc.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks LLP
+   Copyright (C) 2008-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -42,7 +42,7 @@
 #include "priv_misc.h"            /* self */
 
 
-void* ML_(dinfo_zalloc) ( HChar* cc, SizeT szB ) {
+void* ML_(dinfo_zalloc) ( const HChar* cc, SizeT szB ) {
    void* v;
    vg_assert(szB > 0);
    v = VG_(arena_malloc)( VG_AR_DINFO, cc, szB );
@@ -55,12 +55,12 @@
    VG_(arena_free)( VG_AR_DINFO, v );
 }
 
-UChar* ML_(dinfo_strdup) ( HChar* cc, const UChar* str ) {
+HChar* ML_(dinfo_strdup) ( const HChar* cc, const HChar* str ) {
    return VG_(arena_strdup)( VG_AR_DINFO, cc, str );
 }
 
-UChar* ML_(dinfo_memdup) ( HChar* cc, UChar* str, SizeT nStr ) {
-   UChar* dst = VG_(arena_malloc)( VG_AR_DINFO, cc, nStr );
+void* ML_(dinfo_memdup) ( const HChar* cc, void* str, SizeT nStr ) {
+   void* dst = VG_(arena_malloc)( VG_AR_DINFO, cc, nStr );
    tl_assert(dst);
    VG_(memcpy)(dst, str, nStr);
    return dst;
diff --git a/coregrind/m_debuginfo/priv_d3basics.h b/coregrind/m_debuginfo/priv_d3basics.h
index bc58294..61acc71 100644
--- a/coregrind/m_debuginfo/priv_d3basics.h
+++ b/coregrind/m_debuginfo/priv_d3basics.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks LLP and others; see below
+   Copyright (C) 2008-2012 OpenWorks LLP and others; see below
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -199,7 +199,11 @@
     DW_FORM_sec_offset = 0x17,
     DW_FORM_exprloc = 0x18,
     DW_FORM_flag_present = 0x19,
-    DW_FORM_ref_sig8 = 0x20
+    DW_FORM_ref_sig8 = 0x20,
+    /* Extensions for DWZ multifile.
+       See http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open .  */
+    DW_FORM_GNU_ref_alt = 0x1f20,
+    DW_FORM_GNU_strp_alt = 0x1f21
   }
   DW_FORM;
 
@@ -558,10 +562,10 @@
   }
   DW_OP;
 
-HChar* ML_(pp_DW_children) ( DW_children hashch );
-HChar* ML_(pp_DW_TAG)      ( DW_TAG tag );
-HChar* ML_(pp_DW_FORM)     ( DW_FORM form );
-HChar* ML_(pp_DW_AT)       ( DW_AT attr );
+const HChar* ML_(pp_DW_children) ( DW_children hashch );
+const HChar* ML_(pp_DW_TAG)      ( DW_TAG tag );
+const HChar* ML_(pp_DW_FORM)     ( DW_FORM form );
+const HChar* ML_(pp_DW_AT)       ( DW_AT attr );
 
 
 /* --- To do with evaluation of Dwarf expressions --- */
diff --git a/coregrind/m_debuginfo/priv_image.h b/coregrind/m_debuginfo/priv_image.h
new file mode 100644
index 0000000..083f079
--- /dev/null
+++ b/coregrind/m_debuginfo/priv_image.h
@@ -0,0 +1,346 @@
+
+/*--------------------------------------------------------------------*/
+/*--- An abstraction that provides a file-reading mechanism.       ---*/
+/*---                                                 priv_image.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2013-2013 Mozilla Foundation
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+/* Contributed by Julian Seward <jseward@acm.org> */
+
+
+/*------------------------------------------------------------*/
+/*--- DiImage -- abstract images                           ---*/
+/*------------------------------------------------------------*/
+
+/* The basic type, containing an abstractified memory area that can be
+   read from.  This is an abstract type since there can be more than
+   one implementation of it. */
+
+/* abstract */
+typedef  struct _DiImage  DiImage;
+
+/* an offset in the image */
+typedef  ULong  DiOffT;
+
+/* This denotes an invalid DiOffT value.  Except where otherwise
+   noted, you must never pass this to any of the ML_(image_*)
+   functions -- they will assert.  That does mean though that they can
+   be used for signalling other conditions, for example that some
+   expected part of the image is missing. */
+#define DiOffT_INVALID ((DiOffT)(0xFFFFFFFFFFFFFFFFULL))
+
+/* Create an image from a file in the local filesysem.  Returns NULL
+   if it fails, for whatever reason. */
+DiImage* ML_(img_from_local_file)(const HChar* fullpath);
+
+/* Create an image by connecting to a Valgrind debuginfo server
+   (auxprogs/valgrind-di-server.c).  |filename| contains the object
+   name to ask for; it must be a plain filename, not absolute, not a
+   path.  |serverAddr| must be of the form either "d.d.d.d" or
+   "d.d.d.d:d" where d is one or more digits.  These specify the IPv4
+   address and (in the second case) port number for the server.  In
+   the first case, port 1500 is assumed. */
+DiImage* ML_(img_from_di_server)(const HChar* filename,
+                                 const HChar* serverAddr);
+
+/* Destroy an existing image. */
+void ML_(img_done)(DiImage*);
+
+/* How big is the image? */
+DiOffT ML_(img_size)(DiImage* img);
+
+/* Does the section [offset, +size) exist in the image? */
+Bool ML_(img_valid)(DiImage* img, DiOffT offset, SizeT size);
+
+/* Get info out of an image.  If any part of the section denoted by
+   [offset, +size) is invalid, does not return. */
+void ML_(img_get)(/*OUT*/void* dst,
+                  DiImage* img, DiOffT offset, SizeT size);
+
+/* A version of ML_(img_get) that is significantly cheaper when
+   fetching a lot of data, at the cost of being more difficult to use.
+   Fetches between 1 and |size| bytes from |img| at |offset| and
+   places them in |dst|.  |size| must be at least 1.  The number of
+   bytes read is returned, and the caller must be able to deal with
+   any number between 1 and |size|.  |offset| must be a valid offset
+   in the image; if not the function will not return.  This function
+   will not read off the end of the image. */
+SizeT ML_(img_get_some)(/*OUT*/void* dst,
+                        DiImage* img, DiOffT offset, SizeT size);
+
+/* Copy a C string out of the image, into ML_(dinfo_zalloc)'d space.
+   The caller owns the string and must free it with ML_(dinfo_free).
+   |offset| may be DiOffT_INVALID, in which case this returns NULL. */
+HChar* ML_(img_strdup)(DiImage* img, const HChar* cc, DiOffT offset);
+
+/* Do strcmp on two C strings in the image.  Chars are cast to HChar
+   before comparison. */
+Int ML_(img_strcmp)(DiImage* img, DiOffT off1, DiOffT off2);
+
+/* Do strcmp of a C string in the image vs a normal one.  Chars are
+   cast to HChar before comparison. */
+Int ML_(img_strcmp_c)(DiImage* img, DiOffT off1, const HChar* str2);
+
+/* Do strlen of a C string in the image. */
+SizeT ML_(img_strlen)(DiImage* img, DiOffT off);
+
+/* Fetch various sized primitive types from the image.  These operate
+   at the endianness and word size of the host. */
+UChar  ML_(img_get_UChar) (DiImage* img, DiOffT offset);
+UShort ML_(img_get_UShort)(DiImage* img, DiOffT offset);
+UInt   ML_(img_get_UInt)  (DiImage* img, DiOffT offset);
+ULong  ML_(img_get_ULong) (DiImage* img, DiOffT offset);
+
+/* Calculate the "GNU Debuglink CRC" for the image.  This
+   unfortunately has to be done as part of the DiImage implementation
+   because it involves reading the entire image, and is therefore
+   something that needs to be handed off to the remote server -- since
+   to do it otherwise would imply pulling the entire image across the
+   connection, making the client/server split pointless. */
+UInt ML_(img_calc_gnu_debuglink_crc32)(DiImage* img);
+
+
+/*------------------------------------------------------------*/
+/*--- DiCursor -- cursors for reading images               ---*/
+/*------------------------------------------------------------*/
+
+/* A type built on DiImage.  It contains a DiImage and a 'current
+   offset' in the image, and is useful for building low level readers
+   of images.  In the functions section below, "read" means "read data
+   at the cursor without moving it along", and "step" means "read data
+   at the cursor and move it along by the size of the item read". */
+typedef
+   struct { DiImage* img; DiOffT ioff; }
+   DiCursor;
+
+/* An invalid cursor.  You can't use it for anything. */
+#define DiCursor_INVALID ((DiCursor){NULL,DiOffT_INVALID})
+
+static inline DiCursor mk_DiCursor ( DiImage* img, DiOffT ioff ) {
+   return (DiCursor){img, ioff};
+}
+
+static inline Bool ML_(cur_is_valid)(DiCursor c) {
+   return c.img != NULL;
+}
+
+
+/*------------------------------------------------------------*/
+/*--- DiSlice -- subranges within DiImages                 ---*/
+/*------------------------------------------------------------*/
+
+/* Another type built on top of DiImage.  It denotes a subrange of an
+   image and is useful for representing (eg) exactly the part of an
+   image that is a specific ELF section. */
+typedef
+   struct { DiImage* img; DiOffT ioff; DiOffT szB; }
+   DiSlice;
+
+/* A DiSlice can also be INVALID, meaning it does not refer to any
+   part of any image. */
+#define DiSlice_INVALID ((DiSlice){NULL,DiOffT_INVALID,0})
+
+static inline DiSlice mk_DiSlice ( DiImage* img, DiOffT ioff, DiOffT szB ) {
+   return (DiSlice){img, ioff, szB};
+}
+
+static inline Bool ML_(sli_is_valid)( DiSlice sli ) {
+   return sli.img != NULL;
+}
+
+/* Create a slice from a combination of a cursor and a length.  The
+   maximum implied offset must not exceed the size of the underlying
+   image; this is asserted for. */
+static inline DiSlice ML_(sli_from_cur)( DiCursor cur, DiOffT size ) {
+   if (ML_(cur_is_valid)(cur)) {
+      vg_assert(size != DiOffT_INVALID);
+      vg_assert(cur.ioff + size <= ML_(img_size)(cur.img));
+      return mk_DiSlice(cur.img, cur.ioff, size);
+   } else {
+      return DiSlice_INVALID;
+   }
+}
+
+/* Create a slice which exactly covers the given image. */
+static inline DiSlice ML_(sli_from_img)( DiImage* img ) {
+   if (img) {
+      return mk_DiSlice(img, 0, ML_(img_size)(img));
+   } else {
+      return DiSlice_INVALID;
+   }
+}
+
+
+/*------------------------------------------------------------*/
+/*--- Functions that operate on DiCursors                  ---*/
+/*------------------------------------------------------------*/
+
+/* Create a cursor from a slice, referring to the first byte of the
+   slice. */
+static inline DiCursor ML_(cur_from_sli)( DiSlice sl ) {
+   if (ML_(sli_is_valid)(sl)) {
+      DiCursor c;
+      c.img  = sl.img;
+      c.ioff = sl.ioff;
+      return c;
+   } else {
+      return DiCursor_INVALID;
+   }
+}
+
+static inline Bool ML_(cur_cmpLT)( DiCursor c1, DiCursor c2 ) {
+   vg_assert(c1.img == c2.img);
+   return c1.ioff < c2.ioff;
+}
+static inline Bool ML_(cur_cmpEQ)( DiCursor c1, DiCursor c2 ) {
+   vg_assert(c1.img == c2.img);
+   return c1.ioff == c2.ioff;
+}
+static inline Bool ML_(cur_cmpGT)( DiCursor c1, DiCursor c2 ) {
+   vg_assert(c1.img == c2.img);
+   return c1.ioff > c2.ioff;
+}
+
+static inline DiCursor ML_(cur_plus)( DiCursor c, Long n ) {
+   c.ioff += (DiOffT)n;
+   return c;
+}
+
+/* Asserts that c1 and c2 refer to the same image.  Returns the difference
+   in offsets (c1.ioff - c2.ioff). */
+static inline Long ML_(cur_minus)( DiCursor c1, DiCursor c2 ) {
+   vg_assert(c1.img == c2.img);
+   return (Long)(c1.ioff) - (Long)(c2.ioff);
+}
+
+static inline SizeT ML_(cur_strlen)( DiCursor c ) {
+   return ML_(img_strlen)( c.img, c.ioff );
+}
+
+// strdup from the given cursor.  Caller must ML_(dinfo_free) the
+// resulting string.
+static inline HChar* ML_(cur_read_strdup)( DiCursor c, const HChar* cc ) {
+   vg_assert(c.ioff != DiOffT_INVALID);
+   HChar* res = ML_(img_strdup)(c.img, cc, c.ioff);
+   return res;
+}
+// strdup from the given cursor and advance it.  Caller must
+// ML_(dinfo_free) the resulting string.
+static inline HChar* ML_(cur_step_strdup)( DiCursor* c, const HChar* cc ) {
+   vg_assert(c->ioff != DiOffT_INVALID);
+   HChar* res = ML_(img_strdup)(c->img, cc, c->ioff);
+   c->ioff += VG_(strlen)(res) + 1;
+   return res;
+}
+
+// Fetch an arbitrary number of bytes from the cursor.
+static inline void ML_(cur_read_get) ( /*OUT*/void* dst,
+                                       DiCursor c, SizeT size) {
+   ML_(img_get)(dst, c.img, c.ioff, size);
+}
+
+// Fetch an arbitrary number of bytes from the cursor, and advance it.
+static inline void ML_(cur_step_get) ( /*OUT*/void* dst,
+                                       DiCursor* c, SizeT size) {
+   ML_(img_get)(dst, c->img, c->ioff, size);
+   c->ioff += size;
+}
+
+// memdup from the given cursor.  Caller must ML_(dinfo_free) the
+// resulting block.
+static inline UChar* ML_(cur_read_memdup)( DiCursor c, SizeT size,
+                                           const HChar* cc )
+{
+   UChar* dst = ML_(dinfo_zalloc)(cc, size);
+   if (size > 0)
+      ML_(cur_read_get)(dst, c, size);
+   return dst;
+}
+
+static inline UChar ML_(cur_read_UChar) ( DiCursor c ) {
+   UChar r = ML_(img_get_UChar)( c.img, c.ioff );
+   return r;
+}
+static inline UChar ML_(cur_step_UChar)( DiCursor* c ) {
+   UChar r = ML_(img_get_UChar)( c->img, c->ioff );
+   c->ioff += sizeof(UChar);
+   return r;
+}
+
+static inline UShort ML_(cur_read_UShort) ( DiCursor c ) {
+   UShort r = ML_(img_get_UShort)( c.img, c.ioff );
+   return r;
+}
+static inline UShort ML_(cur_step_UShort) ( DiCursor* c ) {
+   UShort r = ML_(img_get_UShort)( c->img, c->ioff );
+   c->ioff += sizeof(UShort);
+   return r;
+}
+static inline Short ML_(cur_step_Short) ( DiCursor* c ) {
+   return (Short)ML_(cur_step_UShort)( c );
+}
+
+static inline UInt ML_(cur_read_UInt) ( DiCursor c ) {
+   UInt r = ML_(img_get_UInt)( c.img, c.ioff );
+   return r;
+}
+static inline UInt ML_(cur_step_UInt) ( DiCursor* c ) {
+   UInt r = ML_(img_get_UInt)( c->img, c->ioff );
+   c->ioff += sizeof(UInt);
+   return r;
+}
+static inline Int ML_(cur_step_Int) ( DiCursor* c ) {
+   return (Int)ML_(cur_step_UInt)( c );
+}
+
+static inline ULong ML_(cur_read_ULong) ( DiCursor c ) {
+   ULong r = ML_(img_get_ULong)( c.img, c.ioff );
+   return r;
+}
+static inline ULong ML_(cur_step_ULong) ( DiCursor* c ) {
+   ULong r = ML_(img_get_ULong)( c->img, c->ioff );
+   c->ioff += sizeof(ULong);
+   return r;
+}
+static inline Long ML_(cur_step_Long) ( DiCursor* c ) {
+   return (Long)ML_(cur_step_ULong)( c );
+}
+
+static inline Addr ML_(cur_step_Addr) ( DiCursor* c ) {
+   if (sizeof(Addr) == sizeof(UInt)) {
+      return ML_(cur_step_UInt)(c);
+   } else if  (sizeof(Addr) == sizeof(ULong)) {
+      return ML_(cur_step_ULong)(c);
+   } else {
+      vg_assert(0);
+   }
+}
+
+
+
+/*--------------------------------------------------------------------*/
+/*--- end                                             priv_image.h ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/m_debuginfo/priv_misc.h b/coregrind/m_debuginfo/priv_misc.h
index fba4182..ea871dd 100644
--- a/coregrind/m_debuginfo/priv_misc.h
+++ b/coregrind/m_debuginfo/priv_misc.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks LLP
+   Copyright (C) 2008-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -38,10 +38,10 @@
 
 
 /* Allocate(zeroed), free, strdup, memdup, all in VG_AR_DINFO. */
-void*  ML_(dinfo_zalloc)( HChar* cc, SizeT szB );
+void*  ML_(dinfo_zalloc)( const HChar* cc, SizeT szB );
 void   ML_(dinfo_free)( void* v );
-UChar* ML_(dinfo_strdup)( HChar* cc, const UChar* str );
-UChar* ML_(dinfo_memdup)( HChar* cc, UChar* str, SizeT nStr );
+HChar* ML_(dinfo_strdup)( const HChar* cc, const HChar* str );
+void*  ML_(dinfo_memdup)( const HChar* cc, void* str, SizeT nStr );
 
 /* Extract (possibly unaligned) data of various sizes from a buffer. */
 Short ML_(read_Short)( UChar* data );
diff --git a/coregrind/m_debuginfo/priv_readdwarf.h b/coregrind/m_debuginfo/priv_readdwarf.h
index 9147953..a8c6fdb 100644
--- a/coregrind/m_debuginfo/priv_readdwarf.h
+++ b/coregrind/m_debuginfo/priv_readdwarf.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -44,10 +44,12 @@
 extern
 void ML_(read_debuginfo_dwarf3)
         ( struct _DebugInfo* di,
-          UChar* debug_info_img, Word debug_info_sz,  /* .debug_info */
-          UChar* debug_abbv_img, Word debug_abbv_sz,  /* .debug_abbrev */
-          UChar* debug_line_img, Word debug_line_sz,  /* .debug_line */
-          UChar* debug_str_img,  Word debug_str_sz ); /* .debug_str */
+          DiSlice escn_debug_info,      /* .debug_info */
+          DiSlice escn_debug_types,     /* .debug_types */
+          DiSlice escn_debug_abbv,      /* .debug_abbrev */
+          DiSlice escn_debug_line,      /* .debug_line */
+          DiSlice escn_debug_str,       /* .debug_str */
+          DiSlice escn_debug_str_alt ); /* .debug_str */
 
 /* --------------------
    DWARF1 reader
@@ -63,8 +65,7 @@
 extern
 void ML_(read_callframe_info_dwarf3)
         ( /*OUT*/struct _DebugInfo* di,
-          UChar* frame_image, SizeT frame_size, Addr frame_avma,
-          Bool is_ehframe );
+          DiSlice escn_frame, Addr frame_avma, Bool is_ehframe );
 
 
 #endif /* ndef __PRIV_READDWARF_H */
diff --git a/coregrind/m_debuginfo/priv_readdwarf3.h b/coregrind/m_debuginfo/priv_readdwarf3.h
index 4cef084..7cba4e2 100644
--- a/coregrind/m_debuginfo/priv_readdwarf3.h
+++ b/coregrind/m_debuginfo/priv_readdwarf3.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks LLP
+   Copyright (C) 2008-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -42,12 +42,12 @@
 void 
 ML_(new_dwarf3_reader) (
    struct _DebugInfo* di,
-   UChar* debug_info_img,   SizeT debug_info_sz,
-   UChar* debug_abbv_img,   SizeT debug_abbv_sz,
-   UChar* debug_line_img,   SizeT debug_line_sz,
-   UChar* debug_str_img,    SizeT debug_str_sz,
-   UChar* debug_ranges_img, SizeT debug_ranges_sz,
-   UChar* debug_loc_img,    SizeT debug_loc_sz
+   DiSlice escn_debug_info,      DiSlice escn_debug_types,
+   DiSlice escn_debug_abbv,      DiSlice escn_debug_line,
+   DiSlice escn_debug_str,       DiSlice escn_debug_ranges,
+   DiSlice escn_debug_loc,       DiSlice escn_debug_info_alt,
+   DiSlice escn_debug_abbv_alt,  DiSlice escn_debug_line_alt,
+   DiSlice escn_debug_str_alt
 );
 
 #endif /* ndef __PRIV_READDWARF3_H */
diff --git a/coregrind/m_debuginfo/priv_readelf.h b/coregrind/m_debuginfo/priv_readelf.h
index 0876670..a78cbb9 100644
--- a/coregrind/m_debuginfo/priv_readelf.h
+++ b/coregrind/m_debuginfo/priv_readelf.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -40,7 +40,7 @@
 
 /* Identify an ELF object file by peering at the first few bytes of
    it. */
-extern Bool ML_(is_elf_object_file)( void* image, SizeT n_image );
+extern Bool ML_(is_elf_object_file)( void* image, SizeT n_image, Bool rel_ok );
 
 /* The central function for reading ELF debug info.  For the
    object/exe specified by the SegInfo, find ELF sections, then read
diff --git a/coregrind/m_debuginfo/priv_readpdb.h b/coregrind/m_debuginfo/priv_readpdb.h
index c36016b..328e5f0 100644
--- a/coregrind/m_debuginfo/priv_readpdb.h
+++ b/coregrind/m_debuginfo/priv_readpdb.h
@@ -11,7 +11,7 @@
       derived from readelf.c and valgrind-20031012-wine/vg_symtab2.c
       derived from wine-1.0/tools/winedump/pdb.c and msc.c
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -41,10 +41,10 @@
 extern Bool ML_(read_pdb_debug_info)(
                DebugInfo* di,
                Addr       obj_avma,
-               PtrdiffT   unknown_purpose__reloc,
+               PtrdiffT   obj_bias,
                void*      pdbimage,
                SizeT      n_pdbimage,
-               Char*      pdbname,
+               HChar*     pdbname,
                ULong      pdbmtime
             );
 
diff --git a/coregrind/m_debuginfo/priv_readstabs.h b/coregrind/m_debuginfo/priv_readstabs.h
index 2df00f3..f0e657d 100644
--- a/coregrind/m_debuginfo/priv_readstabs.h
+++ b/coregrind/m_debuginfo/priv_readstabs.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -43,7 +43,7 @@
 extern
 void ML_(read_debuginfo_stabs) ( struct _DebugInfo* di,
                                  UChar* stabC,   Int stab_sz,
-                                 UChar* stabstr, Int stabstr_sz );
+                                 HChar* stabstr, Int stabstr_sz );
 
 #endif /* ndef __PRIV_READSTABS_H */
 
diff --git a/coregrind/m_debuginfo/priv_storage.h b/coregrind/m_debuginfo/priv_storage.h
index 53ca0d2..6628373 100644
--- a/coregrind/m_debuginfo/priv_storage.h
+++ b/coregrind/m_debuginfo/priv_storage.h
@@ -9,7 +9,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -66,8 +66,8 @@
    struct { 
       Addr    addr;    /* lowest address of entity */
       Addr    tocptr;  /* ppc64-linux only: value that R2 should have */
-      UChar*  pri_name;  /* primary name, never NULL */
-      UChar** sec_names; /* NULL, or a NULL term'd array of other names */
+      HChar*  pri_name;  /* primary name, never NULL */
+      HChar** sec_names; /* NULL, or a NULL term'd array of other names */
       // XXX: this could be shrunk (on 32-bit platforms) by using 30
       // bits for the size and 1 bit each for isText and isIFunc.  If you
       // do this, make sure that all assignments to the latter two use
@@ -107,9 +107,9 @@
       UShort size:LOC_SIZE_BITS; /* # bytes; we catch overflows of this */
       UInt   lineno:LINENO_BITS; /* source line number, or zero */
       /* Word 3 */
-      UChar*  filename;          /* source filename */
+      const HChar* filename;     /* source filename */
       /* Word 4 */
-      UChar*  dirname;           /* source directory name */
+      const HChar* dirname;      /* source directory name */
    }
    DiLoc;
 
@@ -257,6 +257,21 @@
       Int   fp_off;
    }
    DiCfSI;
+#elif defined(VGA_mips32) || defined(VGA_mips64)
+typedef
+   struct {
+      Addr  base;
+      UInt  len;
+      UChar cfa_how; /* a CFIC_ value */
+      UChar ra_how;  /* a CFIR_ value */
+      UChar sp_how;  /* a CFIR_ value */
+      UChar fp_how;  /* a CFIR_ value */
+      Int   cfa_off;
+      Int   ra_off;
+      Int   sp_off;
+      Int   fp_off;
+   }
+   DiCfSI;
 #else
 #  error "Unknown arch"
 #endif
@@ -264,20 +279,28 @@
 
 typedef
    enum {
-      Cop_Add=0x321,
-      Cop_Sub,
-      Cop_And,
-      Cop_Mul,
-      Cop_Shl,
-      Cop_Shr,
-      Cop_Eq,
-      Cop_Ge,
-      Cop_Gt,
-      Cop_Le,
-      Cop_Lt,
-      Cop_Ne
+      Cunop_Abs=0x231,
+      Cunop_Neg,
+      Cunop_Not
    }
-   CfiOp;
+   CfiUnop;
+
+typedef
+   enum {
+      Cbinop_Add=0x321,
+      Cbinop_Sub,
+      Cbinop_And,
+      Cbinop_Mul,
+      Cbinop_Shl,
+      Cbinop_Shr,
+      Cbinop_Eq,
+      Cbinop_Ge,
+      Cbinop_Gt,
+      Cbinop_Le,
+      Cbinop_Lt,
+      Cbinop_Ne
+   }
+   CfiBinop;
 
 typedef
    enum {
@@ -288,7 +311,8 @@
       Creg_ARM_R12,
       Creg_ARM_R15,
       Creg_ARM_R14,
-      Creg_S390_R14
+      Creg_S390_R14,
+      Creg_MIPS_RA
    }
    CfiReg;
 
@@ -297,6 +321,7 @@
       Cex_Undef=0x123,
       Cex_Deref,
       Cex_Const,
+      Cex_Unop,
       Cex_Binop,
       Cex_CfiReg,
       Cex_DwReg
@@ -316,7 +341,11 @@
             UWord con;
          } Const;
          struct {
-            CfiOp op;
+            CfiUnop op;
+            Int ix;
+         } Unop;
+         struct {
+            CfiBinop op;
             Int ixL;
             Int ixR;
          } Binop;
@@ -334,7 +363,8 @@
 extern Int ML_(CfiExpr_Undef) ( XArray* dst );
 extern Int ML_(CfiExpr_Deref) ( XArray* dst, Int ixAddr );
 extern Int ML_(CfiExpr_Const) ( XArray* dst, UWord con );
-extern Int ML_(CfiExpr_Binop) ( XArray* dst, CfiOp op, Int ixL, Int ixR );
+extern Int ML_(CfiExpr_Unop)  ( XArray* dst, CfiUnop op, Int ix );
+extern Int ML_(CfiExpr_Binop) ( XArray* dst, CfiBinop op, Int ixL, Int ixR );
 extern Int ML_(CfiExpr_CfiReg)( XArray* dst, CfiReg reg );
 extern Int ML_(CfiExpr_DwReg) ( XArray* dst, Int reg );
 
@@ -375,11 +405,11 @@
 
 typedef
    struct {
-      UChar* name;  /* in DebugInfo.strchunks */
+      HChar* name;  /* in DebugInfo.strchunks */
       UWord  typeR; /* a cuOff */
       GExpr* gexpr; /* on DebugInfo.gexprs list */
       GExpr* fbGX;  /* SHARED. */
-      UChar* fileName; /* where declared; may be NULL. in
+      HChar* fileName; /* where declared; may be NULL. in
                           DebugInfo.strchunks */
       Int    lineNo;   /* where declared; may be zero. */
    }
@@ -405,13 +435,9 @@
    true.  The initial state is one in which we have no observations,
    so have_rx_map and have_rw_map are both false.
 
-   This is all rather ad-hoc; for example it has no way to record more
-   than one rw or rx mapping for a given object, not because such
-   events have never been observed, but because we've never needed to
-   note more than the first one of any such in order when to decide to
-   read debug info.  It may be that in future we need to track more
-   state in order to make the decision, so this struct would then get
-   expanded.
+   This all started as a rather ad-hoc solution, but was further
+   expanded to handle weird object layouts, e.g. more than one rw
+   or rx mapping for one binary.
 
    The normal sequence of events is one of
 
@@ -428,28 +454,22 @@
    where the upgrade is done by a call to vm_protect.  Hence we
    need to also track this possibility.
 */
+
+struct _DebugInfoMapping
+{
+   Addr  avma; /* these fields record the file offset, length */
+   SizeT size; /* and map address of each mapping             */
+   OffT  foff;
+   Bool  rx, rw, ro;  /* memory access flags for this mapping */
+};
+
 struct _DebugInfoFSM
 {
-   /* --- all targets --- */
-   UChar* filename; /* in mallocville (VG_AR_DINFO) */
-
+   HChar*  filename;  /* in mallocville (VG_AR_DINFO)               */
+   XArray* maps;      /* XArray of _DebugInfoMapping structs        */
    Bool  have_rx_map; /* did we see a r?x mapping yet for the file? */
    Bool  have_rw_map; /* did we see a rw? mapping yet for the file? */
-
-   Addr  rx_map_avma; /* these fields record the file offset, length */
-   SizeT rx_map_size; /* and map address of the r?x mapping we believe */
-   OffT  rx_map_foff; /* is the .text segment mapping */
-
-   Addr  rw_map_avma; /* ditto, for the rw? mapping we believe is the */
-   SizeT rw_map_size; /* .data segment mapping */
-   OffT  rw_map_foff;
-
-   /* --- OSX 10.7, 32-bit only --- */
    Bool  have_ro_map; /* did we see a r-- mapping yet for the file? */
-
-   Addr  ro_map_avma; /* file offset, length, avma for said mapping */
-   SizeT ro_map_size;
-   OffT  ro_map_foff;
 };
 
 
@@ -516,7 +536,7 @@
       is, at the point where .have_dinfo is set to True). */
 
    /* The file's soname. */
-   UChar* soname;
+   HChar* soname;
 
    /* Description of some important mapped segments.  The presence or
       absence of the mapping is denoted by the _present field, since
@@ -529,17 +549,17 @@
 
       Comment_on_IMPORTANT_CFSI_REPRESENTATIONAL_INVARIANTS: we require that
  
-      either (rx_map_size == 0 && cfsi == NULL) (the degenerate case)
+      either (size of all rx maps == 0 && cfsi == NULL) (the degenerate case)
 
       or the normal case, which is the AND of the following:
-      (0) rx_map_size > 0
-      (1) no two DebugInfos with rx_map_size > 0 
-          have overlapping [rx_map_avma,+rx_map_size)
-      (2) [cfsi_minavma,cfsi_maxavma] does not extend 
-          beyond [rx_map_avma,+rx_map_size); that is, the former is a 
-          subrange or equal to the latter.
+      (0) size of at least one rx mapping > 0
+      (1) no two DebugInfos with some rx mapping of size > 0 
+          have overlapping rx mappings
+      (2) [cfsi_minavma,cfsi_maxavma] does not extend beyond
+          [avma,+size) of one rx mapping; that is, the former
+          is a subrange or equal to the latter.
       (3) all DiCfSI in the cfsi array all have ranges that fall within
-          [rx_map_avma,+rx_map_size).
+          [avma,+size) of that rx mapping.
       (4) all DiCfSI in the cfsi array are non-overlapping
 
       The cumulative effect of these restrictions is to ensure that
@@ -748,13 +768,14 @@
    UWord     fpo_size;
    Addr      fpo_minavma;
    Addr      fpo_maxavma;
+   Addr      fpo_base_avma;
 
    /* Expandable arrays of characters -- the string table.  Pointers
       into this are stable (the arrays are not reallocated). */
    struct strchunk {
       UInt   strtab_used;
       struct strchunk* next;
-      UChar  strtab[SEGINFO_STRCHUNKSIZE];
+      HChar  strtab[SEGINFO_STRCHUNKSIZE];
    } *strchunks;
 
    /* Variable scope information, as harvested from Dwarf3 files.
@@ -792,6 +813,11 @@
 
    /* An array of guarded DWARF3 expressions. */
    XArray* admin_gexprs;
+
+   /* Cached last rx mapping matched and returned by ML_(find_rx_mapping).
+      This helps performance a lot during ML_(addLineInfo) etc., which can
+      easily be invoked hundreds of thousands of times. */
+   struct _DebugInfoMapping* last_rx_map;
 };
 
 /* --------------------- functions --------------------- */
@@ -808,8 +834,8 @@
 /* Add a line-number record to a DebugInfo. */
 extern
 void ML_(addLineInfo) ( struct _DebugInfo* di, 
-                        UChar*   filename, 
-                        UChar*   dirname,  /* NULL is allowable */
+                        const HChar* filename, 
+                        const HChar* dirname,  /* NULL is allowable */
                         Addr this, Addr next, Int lineno, Int entry);
 
 /* Add a CFI summary record.  The supplied DiCfSI is copied. */
@@ -817,17 +843,22 @@
 
 /* Add a string to the string table of a DebugInfo.  If len==-1,
    ML_(addStr) will itself measure the length of the string. */
-extern UChar* ML_(addStr) ( struct _DebugInfo* di, UChar* str, Int len );
+extern HChar* ML_(addStr) ( struct _DebugInfo* di, const HChar* str, Int len );
+
+/* Add a string to the string table of a DebugInfo, by copying the
+   string from the given DiCursor.  Measures the length of the string
+   itself. */
+extern HChar* ML_(addStrFromCursor)( struct _DebugInfo* di, DiCursor c );
 
 extern void ML_(addVar)( struct _DebugInfo* di,
                          Int    level,
                          Addr   aMin,
                          Addr   aMax,
-                         UChar* name,
+                         HChar* name,
                          UWord  typeR, /* a cuOff */
                          GExpr* gexpr,
                          GExpr* fbGX, /* SHARED. */
-                         UChar* fileName, /* where decl'd - may be NULL */
+                         HChar* fileName, /* where decl'd - may be NULL */
                          Int    lineNo, /* where decl'd - may be zero */
                          Bool   show );
 
@@ -860,13 +891,20 @@
    if not found.  Binary search.  */
 extern Word ML_(search_one_fpotab) ( struct _DebugInfo* di, Addr ptr );
 
+/* Helper function for the most often needed searching for an rx
+   mapping containing the specified address range.  The range must
+   fall entirely within the mapping to be considered to be within it.
+   Asserts if lo > hi; caller must ensure this doesn't happen. */
+extern struct _DebugInfoMapping* ML_(find_rx_mapping) ( struct _DebugInfo* di,
+                                                        Addr lo, Addr hi );
+
 /* ------ Misc ------ */
 
 /* Show a non-fatal debug info reading error.  Use vg_panic if
    terminal.  'serious' errors are always shown, not 'serious' ones
    are shown only at verbosity level 2 and above. */
 extern 
-void ML_(symerr) ( struct _DebugInfo* di, Bool serious, HChar* msg );
+void ML_(symerr) ( struct _DebugInfo* di, Bool serious, const HChar* msg );
 
 /* Print a symbol. */
 extern void ML_(ppSym) ( Int idx, DiSym* sym );
@@ -875,8 +913,9 @@
 extern void ML_(ppDiCfSI) ( XArray* /* of CfiExpr */ exprs, DiCfSI* si );
 
 
+#define TRACE_SYMTAB_ENABLED (di->trace_symtab)
 #define TRACE_SYMTAB(format, args...) \
-   if (di->trace_symtab) { VG_(printf)(format, ## args); }
+   if (TRACE_SYMTAB_ENABLED) { VG_(printf)(format, ## args); }
 
 
 #endif /* ndef __PRIV_STORAGE_H */
diff --git a/coregrind/m_debuginfo/priv_tytypes.h b/coregrind/m_debuginfo/priv_tytypes.h
index dd74a3b..5a208b4 100644
--- a/coregrind/m_debuginfo/priv_tytypes.h
+++ b/coregrind/m_debuginfo/priv_tytypes.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks LLP
+   Copyright (C) 2008-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -74,12 +74,12 @@
          struct {
          } UNKNOWN;
          struct {
-            UChar* name; /* in mallocville */
+            HChar* name; /* in mallocville */
             Bool   valueKnown; /* atoms w/ unknown value are possible */
             Long   value;
          } Atom;
          struct {
-            UChar* name;  /* in mallocville */
+            HChar* name;  /* in mallocville */
             UWord  typeR; /* should be Te_TyXXXX */
             union {
                UChar* loc;   /* location expr, in mallocville */
@@ -97,7 +97,7 @@
             Long boundU;
          } Bound;
          struct {
-            UChar* name; /* in mallocville */
+            HChar* name; /* in mallocville */
             Int    szB;
             UChar  enc; /* S:signed U:unsigned F:floating C:complex float */
          } TyBase;
@@ -106,18 +106,18 @@
             UWord typeR;
          } TyPorR;
          struct {
-            UChar* name;  /* in mallocville */
+            HChar* name;  /* in mallocville */
             UWord  typeR; /* MAY BE D3_INVALID_CUOFF, denoting unknown */
          } TyTyDef;
          struct {
-            UChar*  name; /* in mallocville */
+            HChar*  name; /* in mallocville */
             UWord   szB;
             XArray* /* of UWord */ fieldRs;
             Bool    complete;
             Bool    isStruct;
          } TyStOrUn;
          struct {
-            UChar*  name; /* in mallocville */
+            HChar*  name; /* in mallocville */
             Int     szB;
             XArray* /* of UWord */ atomRs;
          } TyEnum;
@@ -146,7 +146,7 @@
 void ML_(pp_TyEnt)( TyEnt* );
 
 /* Print a whole XArray of TyEnts, debug-style */
-void ML_(pp_TyEnts)( XArray* tyents, HChar* who );
+void ML_(pp_TyEnts)( XArray* tyents, const HChar* who );
 
 /* Print a TyEnt, C style, chasing stuff as necessary. */
 void ML_(pp_TyEnt_C_ishly)( XArray* /* of TyEnt */ tyents,
@@ -154,11 +154,11 @@
 
 /* Generates a total ordering on TyEnts based only on their .cuOff
    fields. */
-Word ML_(TyEnt__cmp_by_cuOff_only) ( TyEnt* te1, TyEnt* te2 );
+Word ML_(TyEnt__cmp_by_cuOff_only) ( const TyEnt* te1, const TyEnt* te2 );
 
 /* Generates a total ordering on TyEnts based on everything except
    their .cuOff fields. */
-Word ML_(TyEnt__cmp_by_all_except_cuOff) ( TyEnt* te1, TyEnt* te2 );
+Word ML_(TyEnt__cmp_by_all_except_cuOff) ( const TyEnt* te1, const TyEnt* te2 );
 
 /* Free up all directly or indirectly heap-allocated stuff attached to
    this TyEnt, and set its tag to Te_EMPTY.  The .cuOff field is
diff --git a/coregrind/m_debuginfo/readdwarf.c b/coregrind/m_debuginfo/readdwarf.c
index cfdc80a..0e369c5 100644
--- a/coregrind/m_debuginfo/readdwarf.c
+++ b/coregrind/m_debuginfo/readdwarf.c
@@ -1,3 +1,4 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
 
 /*--------------------------------------------------------------------*/
 /*--- Read DWARF1/2/3/4 debug info.                    readdwarf.c ---*/
@@ -7,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -39,6 +40,7 @@
 #include "pub_core_xarray.h"
 #include "pub_core_tooliface.h"    /* VG_(needs) */
 #include "priv_misc.h"             /* dinfo_zalloc/free/strdup */
+#include "priv_image.h"
 #include "priv_d3basics.h"
 #include "priv_tytypes.h"
 #include "priv_storage.h"
@@ -152,10 +154,10 @@
 typedef struct
 {
   /* Feel free to add more members here if you need ! */
-  Char* compdir;   /* Compilation directory - points to .debug_info */
-  Char* name;      /* Main file name - points to .debug_info */
-  ULong stmt_list; /* Offset in .debug_line */
-  Bool  dw64;      /* 64-bit Dwarf? */
+  DiCursor compdir;  /* Compilation directory - points to .debug_info */
+  DiCursor name;     /* Main file name - points to .debug_info */
+  ULong    stmt_list; /* Offset in .debug_line */
+  Bool     dw64;      /* 64-bit Dwarf? */
 } 
 UnitInfo;
 
@@ -206,57 +208,36 @@
 
 
 /* FIXME: duplicated in readdwarf3.c */
-static 
-ULong read_leb128 ( UChar* data, Int* length_return, Int sign )
+/* Read a 'leb128' and advance *data accordingly. */
+static ULong step_leb128 ( DiCursor* data, Int sign )
 {
-  ULong  result = 0;
-  UInt   num_read = 0;
-  Int    shift = 0;
-  UChar  byte;
+   ULong  result = 0;
+   Int    shift = 0;
+   UChar  byte;
 
-  vg_assert(sign == 0 || sign == 1);
+   vg_assert(sign == 0 || sign == 1);
 
-  do
-    {
-      byte = * data ++;
-      num_read ++;
-
+   do {
+      byte = ML_(cur_step_UChar)(data);
       result |= ((ULong)(byte & 0x7f)) << shift;
-
       shift += 7;
+   }
+   while (byte & 0x80);
 
-    }
-  while (byte & 0x80);
+   if (sign && (shift < 64) && (byte & 0x40))
+      result |= -(1ULL << shift);
 
-  if (length_return != NULL)
-    * length_return = num_read;
-
-  if (sign && (shift < 64) && (byte & 0x40))
-    result |= -(1ULL << shift);
-
-  return result;
+   return result;
 }
 
-/* Small helper functions easier to use
- * value is returned and the given pointer is
- * moved past end of leb128 data */
 /* FIXME: duplicated in readdwarf3.c */
-static ULong read_leb128U( UChar **data )
-{
-  Int len;
-  ULong val = read_leb128( *data, &len, 0 );
-  *data += len;
-  return val;
+static ULong step_leb128U( DiCursor* data ) {
+   return step_leb128( data, 0 );
 }
 
-/* Same for signed data */
 /* FIXME: duplicated in readdwarf3.c */
-static Long read_leb128S( UChar **data )
-{
-   Int len;
-   ULong val = read_leb128( *data, &len, 1 );
-   *data += len;
-   return (Long)val;
+static Long step_leb128S( DiCursor* data ) {
+   return step_leb128( data, 1 );
 }
 
 /* Read what the DWARF3 spec calls an "initial length field".  This
@@ -265,7 +246,7 @@
 
    Read 32-bit value from p.  If it is 0xFFFFFFFF, instead read a
    64-bit bit value from p+4.  This is used in 64-bit dwarf to encode
-   some table lengths. 
+   some table lengths.  Advance the cursor (p) accordingly.
 
    XXX this is a hack: the endianness of the initial length field is
    specified by the DWARF we're reading.  This happens to work only
@@ -275,18 +256,27 @@
    of other places -- to be precise, exactly the places where
    binutils/dwarf.c calls byte_get().
 */
-static ULong read_initial_length_field ( UChar* p_img, /*OUT*/Bool* is64 )
+static
+ULong step_initial_length_field ( DiCursor* p_img, /*OUT*/Bool* is64 )
 {
-   UInt w32 = ML_(read_UInt)(p_img);
+   UInt w32 = ML_(cur_step_UInt)(p_img);
    if (w32 == 0xFFFFFFFF) {
       *is64 = True;
-      return ML_(read_ULong)(p_img+4);
+      return ML_(cur_step_ULong)(p_img);
    } else {
       *is64 = False;
       return (ULong)w32;
    }
 }
 
+static
+ULong read_initial_length_field ( DiCursor p_img, /*OUT*/Bool* is64 )
+{
+   /* Something of a roundabout approach .. the modification to p_img
+      is abandoned. */
+   return step_initial_length_field( &p_img, is64 );
+}
+
 
 static LineSMR state_machine_regs;
 
@@ -308,9 +298,9 @@
 
 /* Look up a directory name, or return NULL if unknown. */
 static
-Char* lookupDir ( Int filename_index,
-                  WordArray* fnidx2dir,
-                  WordArray* dirnames )
+HChar* lookupDir ( Int filename_index,
+                   WordArray* fnidx2dir,
+                   WordArray* dirnames )
 {
    Bool inRange;
    Word diridx, dirname;
@@ -321,7 +311,7 @@
    dirname = index_WordArray( &inRange, dirnames, (Int)diridx );
    if (!inRange) goto bad;
 
-   return (Char*)dirname;
+   return (HChar*)dirname;
   bad:
    return NULL;
 }
@@ -329,34 +319,24 @@
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 
-/* Handled an extended line op starting at 'data'.  Returns the number
-   of bytes that 'data' should be advanced by. */
+/* Handled an extended line op starting at *data, and advance *data
+   accordingly. */
 static 
-Word process_extended_line_op( struct _DebugInfo* di,
+void process_extended_line_op( struct _DebugInfo* di,
                                WordArray* filenames, 
                                WordArray* dirnames, 
                                WordArray* fnidx2dir, 
-                               UChar* data, Int is_stmt)
+                               DiCursor* data, Int is_stmt)
 {
-   UChar  op_code;
-   Int    bytes_read;
-   UInt   len;
-   UChar* name;
-   Addr   adr;
-
-   len = read_leb128 (data, & bytes_read, 0);
-   data += bytes_read;
-
+   UInt len = step_leb128U(data);
    if (len == 0) {
       VG_(message)(Vg_UserMsg,
                    "Warning: DWARF2 reader: "
                    "Badly formed extended line op encountered\n");
-      return (Word)bytes_read;
+      return;
    }
 
-   len += bytes_read;
-   op_code = * data ++;
-
+   UChar op_code = ML_(cur_step_UChar)(data);
    if (0) VG_(printf)("dwarf2: ext OPC: %d\n", op_code);
 
    switch (op_code) {
@@ -370,9 +350,9 @@
          if (state_machine_regs.is_stmt) {
             if (state_machine_regs.last_address) {
                Bool inRange = False;
-               Char* filename
-                  = (Char*)index_WordArray( &inRange, filenames, 
-                                            state_machine_regs.last_file);
+               const HChar* filename
+                  = (HChar*)index_WordArray( &inRange, filenames, 
+                                             state_machine_regs.last_file);
                if (!inRange || !filename)
                   filename = "???";
                ML_(addLineInfo) (
@@ -392,30 +372,29 @@
                         (Int)op_code);
          break;
 
-      case DW_LNE_set_address:
-         adr = ML_(read_Addr)(data);
+      case DW_LNE_set_address: {
+         Addr adr = ML_(cur_step_Addr)(data);
          state_machine_regs.address = adr;
          if (di->ddump_line)
             VG_(printf)("  Extended opcode %d: set Address to 0x%lx\n",
                         (Int)op_code, (Addr)adr);
          break;
+      }
 
-      case DW_LNE_define_file:
-         name = data;
+      case DW_LNE_define_file: {
+         HChar* name = ML_(cur_step_strdup)(data, "di.pelo.1");
          addto_WordArray( filenames, (Word)ML_(addStr)(di,name,-1) );
-         data += VG_(strlen) ((char *) data) + 1;
-         read_leb128 (data, & bytes_read, 0);
-         data += bytes_read;
-         read_leb128 (data, & bytes_read, 0);
-         data += bytes_read;
-         read_leb128 (data, & bytes_read, 0);
+         ML_(dinfo_free)(name);
+         (void)step_leb128U(data); // ignored: dir index
+         (void)step_leb128U(data); // ignored: mod time
+         (void)step_leb128U(data); // ignored: file size
          if (di->ddump_line)
             VG_(printf)("  DWARF2-line: set_address\n");
          break;
+      }
 
       case DW_LNE_set_discriminator:
-         read_leb128 (data, & bytes_read, 0);
-         data += bytes_read;
+         (void)step_leb128U(data); // ignored: new 'discriminator' value
          break;
 
       default:
@@ -423,8 +402,6 @@
             VG_(printf)("process_extended_line_op:default\n");
          break;
    }
-
-   return (Word)len;
 }
 
 ////////////////////////////////////////////////////////////////////
@@ -442,20 +419,18 @@
 static 
 void read_dwarf2_lineblock ( struct _DebugInfo* di,
                              UnitInfo* ui, 
-                             UChar*    theBlock, /* IMAGE */
+                             DiCursor  theBlock, /* IMAGE */
                              Int       noLargerThan )
 {
    Int            i;
    DebugLineInfo  info;
-   UChar*         standard_opcodes;
-   UChar*         end_of_sequence;
    Bool           is64;
    WordArray      filenames;
    WordArray      dirnames;
    WordArray      fnidx2dir;
 
-   UChar*         external = theBlock;
-   UChar*         data = theBlock;
+   DiCursor       external = theBlock;
+   DiCursor       data = theBlock;
 
    /* filenames is an array of file names harvested from the DWARF2
       info.  Entry [0] is NULL and is never referred to by the state
@@ -492,15 +467,15 @@
    */
    addto_WordArray( &filenames, (Word)NULL );
 
-   if (ui->compdir)
-      addto_WordArray( &dirnames, (Word)ML_(addStr)(di, ui->compdir, -1) );
+   if (ML_(cur_is_valid)(ui->compdir))
+      addto_WordArray( &dirnames,
+                       (Word)ML_(addStrFromCursor)(di, ui->compdir) );
    else
       addto_WordArray( &dirnames, (Word)ML_(addStr)(di, ".", -1) );
 
    addto_WordArray( &fnidx2dir, (Word)0 );  /* compilation dir */
 
-   info.li_length = read_initial_length_field( external, &is64 );
-   external += is64 ? 12 : 4;
+   info.li_length = step_initial_length_field( &external, &is64 );
    if (di->ddump_line)
       VG_(printf)("  Length:                      %llu\n", 
                   info.li_length);
@@ -514,8 +489,7 @@
    }
 
    /* Check its version number.  */
-   info.li_version = ML_(read_UShort)(external);
-   external += 2;
+   info.li_version = ML_(cur_step_UShort)(&external);
    if (di->ddump_line)
       VG_(printf)("  DWARF Version:               %d\n", 
                   (Int)info.li_version);
@@ -527,15 +501,13 @@
       goto out;
    }
 
-   info.li_header_length = ui->dw64 ? ML_(read_ULong)(external) 
-                                    : (ULong)(ML_(read_UInt)(external));
-   external += ui->dw64 ? 8 : 4;
+   info.li_header_length = is64 ? ML_(cur_step_ULong)(&external) 
+                                : (ULong)(ML_(cur_step_UInt)(&external));
    if (di->ddump_line)
       VG_(printf)("  Prologue Length:             %llu\n", 
                   info.li_header_length);
 
-   info.li_min_insn_length = * ((UChar *)external);
-   external += 1;
+   info.li_min_insn_length = ML_(cur_step_UChar)(&external);
    if (di->ddump_line)
       VG_(printf)("  Minimum Instruction Length:  %d\n", 
                   (Int)info.li_min_insn_length);
@@ -546,13 +518,12 @@
       patch attached to BZ#233595.
    */
    if (info.li_version >= 4) {
-      info.li_max_ops_per_insn = * ((UChar *)external);
+      info.li_max_ops_per_insn = ML_(cur_step_UChar)(&external);
       if (info.li_max_ops_per_insn != 1) {
          ML_(symerr)(di, True,
                      "Invalid Maximum Ops Per Insn in line info.");
          goto out;
       }
-      external += 1;
       if (di->ddump_line)
          VG_(printf)("  Maximum Ops Per Insn:        %d\n", 
                   (Int)info.li_max_ops_per_insn);
@@ -560,8 +531,7 @@
       info.li_max_ops_per_insn = 1;
    }
 
-   info.li_default_is_stmt = * ((UChar *)external);
-   external += 1;
+   info.li_default_is_stmt = ML_(cur_step_UChar)(&external);
    if (di->ddump_line)
       VG_(printf)("  Initial value of 'is_stmt':  %d\n", 
                   (Int)info.li_default_is_stmt);
@@ -586,21 +556,18 @@
    info.li_default_is_stmt = True; 
 
    /* JRS: changed (UInt*) to (UChar*) */
-   info.li_line_base = * ((UChar *)external);
-   info.li_line_base = (Int)(signed char)info.li_line_base;
-   external += 1;
+   info.li_line_base = ML_(cur_step_UChar)(&external);
+   info.li_line_base = (Int)(Char)info.li_line_base;
    if (di->ddump_line)
       VG_(printf)("  Line Base:                   %d\n", 
                   info.li_line_base);
 
-   info.li_line_range = * ((UChar *)external);
-   external += 1;
+   info.li_line_range = ML_(cur_step_UChar)(&external);
    if (di->ddump_line)
       VG_(printf)("  Line Range:                  %d\n", 
                   (Int)info.li_line_range);
 
-   info.li_opcode_base = * ((UChar *)external);
-   external += 1;
+   info.li_opcode_base = ML_(cur_step_UChar)(&external);
    if (di->ddump_line)
       VG_(printf)("  Opcode Base:                 %d\n\n", 
                   info.li_opcode_base);
@@ -610,62 +577,69 @@
                       (Int)info.li_line_range,
                       (Int)info.li_opcode_base);
 
-   end_of_sequence = data + info.li_length 
-                          + (is64 ? 12 : 4);
+   DiCursor end_of_sequence
+     = ML_(cur_plus)(data, info.li_length + (is64 ? 12 : 4));
 
    reset_state_machine (info.li_default_is_stmt);
 
    /* Read the contents of the Opcodes table.  */
-   standard_opcodes = external;
+   DiCursor standard_opcodes = external;
    if (di->ddump_line) {
       VG_(printf)(" Opcodes:\n");
       for (i = 1; i < (Int)info.li_opcode_base; i++) {
          VG_(printf)("  Opcode %d has %d args\n", 
-                     i, (Int)standard_opcodes[i-1]);
+                     i, (Int)ML_(cur_read_UChar)(
+                                ML_(cur_plus)(standard_opcodes,
+                                              (i-1) * sizeof(UChar)) ));
       }
       VG_(printf)("\n");
    }
 
    /* Read the contents of the Directory table.  */
-   data = standard_opcodes + info.li_opcode_base - 1;
+   data = ML_(cur_plus)(standard_opcodes, info.li_opcode_base - 1);
 
    if (di->ddump_line)
       VG_(printf)(" The Directory Table%s\n", 
-                  *data == 0 ? " is empty." : ":" );
+                  ML_(cur_read_UChar)(data) == 0 ? " is empty." : ":" );
 
-   while (* data != 0) {
+   while (ML_(cur_read_UChar)(data) != 0) {
 
 #     define NBUF 4096
-      static Char buf[NBUF];
+      static HChar buf[NBUF];
 
+      HChar* data_str = ML_(cur_read_strdup)(data, "di.rd2l.1");
       if (di->ddump_line)
-         VG_(printf)("  %s\n", data);
+         VG_(printf)("  %s\n", data_str);
 
       /* If data[0] is '/', then 'data' is an absolute path and we
          don't mess with it.  Otherwise, if we can, construct the
-         'path ui->compdir' ++ "/" ++ 'data'. */
+         path 'ui->compdir' ++ "/" ++ 'data'. */
 
-      if (*data != '/' 
+      if (data_str[0] != '/' 
           /* not an absolute path */
-          && ui->compdir != NULL
+          && ML_(cur_is_valid)(ui->compdir)
           /* actually got something sensible for compdir */
-          && VG_(strlen)(ui->compdir) + VG_(strlen)(data) + 5/*paranoia*/ < NBUF
+          && ML_(cur_strlen)(ui->compdir)
+             + VG_(strlen)(data_str) + 5/*paranoia*/ < NBUF
           /* it's short enough to concatenate */) 
       {
          buf[0] = 0;
-         VG_(strcat)(buf, ui->compdir);
+         HChar* compdir_str = ML_(cur_read_strdup)(ui->compdir, "di.rd2l.1b");
+         VG_(strcat)(buf, compdir_str);
          VG_(strcat)(buf, "/");
-         VG_(strcat)(buf, data);
+         VG_(strcat)(buf, data_str);
          vg_assert(VG_(strlen)(buf) < NBUF);
          addto_WordArray( &dirnames, (Word)ML_(addStr)(di,buf,-1) );
          if (0) VG_(printf)("rel path  %s\n", buf);
+         ML_(dinfo_free)(compdir_str);
       } else {
          /* just use 'data'. */
-         addto_WordArray( &dirnames, (Word)ML_(addStr)(di,data,-1) );
-         if (0) VG_(printf)("abs path  %s\n", data);
+         addto_WordArray( &dirnames, (Word)ML_(addStr)(di,data_str,-1) );
+         if (0) VG_(printf)("abs path  %s\n", data_str);
       }
 
-      data += VG_(strlen)(data) + 1;
+      data = ML_(cur_plus)(data, VG_(strlen)(data_str) + 1);
+      ML_(dinfo_free)(data_str);
 
 #     undef NBUF
    }
@@ -673,12 +647,12 @@
    if (di->ddump_line)
       VG_(printf)("\n");
 
-   if (*data != 0) {
+   if (ML_(cur_read_UChar)(data) != 0) {
       ML_(symerr)(di, True,
                   "can't find NUL at end of DWARF2 directory table");
       goto out;
    }
-   data ++;
+   data = ML_(cur_plus)(data, 1);
 
    /* Read the contents of the File Name table.  This produces a bunch
       of file names, and for each, an index to the corresponding
@@ -689,20 +663,11 @@
    }
 
    i = 1;
-   while (* data != 0) {
-      UChar* name;
-      Int    bytes_read, diridx;
-      Int    uu_time, uu_size; /* unused, and a guess */
-      name = data;
-      data += VG_(strlen) ((Char *) data) + 1;
-
-      diridx = read_leb128 (data, & bytes_read, 0);
-      data += bytes_read;
-      uu_time = read_leb128 (data, & bytes_read, 0);
-      data += bytes_read;
-      uu_size = read_leb128 (data, & bytes_read, 0);
-      data += bytes_read;
-
+   while (ML_(cur_read_UChar)(data) != 0) {
+      HChar* name    = ML_(cur_step_strdup)(&data, "di.rd2l.2");
+      Int    diridx  = step_leb128U(&data);
+      Int    uu_time = step_leb128U(&data); /* unused */
+      Int    uu_size = step_leb128U(&data); /* unused */
       addto_WordArray( &filenames, (Word)ML_(addStr)(di,name,-1) );
       addto_WordArray( &fnidx2dir, (Word)diridx );
       if (0) VG_(printf)("file %s diridx %d\n", name, diridx );
@@ -710,43 +675,37 @@
          VG_(printf)("  %d\t%d\t%d\t%d\t%s\n", 
                      i, diridx, uu_time, uu_size, name);
       i++;
+      ML_(dinfo_free)(name);
    }
 
    if (di->ddump_line)
       VG_(printf)("\n");
 
-   if (*data != 0) {
+   if (ML_(cur_read_UChar)(data) != 0) {
       ML_(symerr)(di, True,
                   "can't find NUL at end of DWARF2 file name table");
       goto out;
    }
-   data ++;
+   data = ML_(cur_plus)(data, 1);
 
    if (di->ddump_line)
       VG_(printf)(" Line Number Statements:\n");
 
    /* Now display the statements.  */
 
-   while (data < end_of_sequence) {
-
-      UChar op_code;
-      Int           adv;
-      Int           bytes_read;
-
-      op_code = * data ++;
+   while (ML_(cur_cmpLT)(data, end_of_sequence)) {
+      UChar op_code = ML_(cur_step_UChar)(&data);
 
       if (0) VG_(printf)("dwarf2: OPC: %d\n", op_code);
 
       if (op_code >= info.li_opcode_base) {
-
-         Int advAddr;
          op_code -= info.li_opcode_base;
-         adv      = (op_code / info.li_line_range)
+         Word adv = (op_code / info.li_line_range)
                        * info.li_min_insn_length;
-         advAddr = adv;
+         Int advAddr = adv;
          state_machine_regs.address += adv;
 
-         if (0) VG_(printf)("smr.a += %#x\n", adv );
+         if (0) VG_(printf)("smr.a += %#lx\n", adv );
          adv = (op_code % info.li_line_range) + info.li_line_base;
          if (0) VG_(printf)("1002: di->o %#lx, smr.a %#lx\n",
                             di->text_debug_bias, state_machine_regs.address );
@@ -762,9 +721,9 @@
             /* only add a statement if there was a previous boundary */
             if (state_machine_regs.last_address) {
                Bool inRange = False;
-               Char* filename
-                  = (Char*)index_WordArray( &inRange, &filenames, 
-                                            state_machine_regs.last_file);
+               const HChar* filename
+                  = (HChar*)index_WordArray( &inRange, &filenames, 
+                                             state_machine_regs.last_file);
                if (!inRange || !filename)
                   filename = "???";
                ML_(addLineInfo)(
@@ -782,16 +741,15 @@
             state_machine_regs.last_file = state_machine_regs.file;
             state_machine_regs.last_line = state_machine_regs.line;
          }
-
       }
 
       else { /* ! (op_code >= info.li_opcode_base) */
 
       switch (op_code) {
          case DW_LNS_extended_op:
-            data += process_extended_line_op (
+            process_extended_line_op (
                        di, &filenames, &dirnames, &fnidx2dir,
-                       data, info.li_default_is_stmt);
+                       &data, info.li_default_is_stmt);
             break;
 
          case DW_LNS_copy:
@@ -801,9 +759,9 @@
                /* only add a statement if there was a previous boundary */
                if (state_machine_regs.last_address) {
                   Bool inRange = False;
-                  Char* filename
-                     = (Char*)index_WordArray( &inRange, &filenames,
-                                               state_machine_regs.last_file );
+                  const HChar* filename
+                     = (HChar*)index_WordArray( &inRange, &filenames,
+                                                state_machine_regs.last_file );
                   if (!inRange || !filename)
                      filename = "???";
                   ML_(addLineInfo)(
@@ -826,77 +784,71 @@
                VG_(printf)("  Copy\n");
             break;
 
-         case DW_LNS_advance_pc:
-            adv = info.li_min_insn_length
-                     * read_leb128 (data, & bytes_read, 0);
-            data += bytes_read;
+         case DW_LNS_advance_pc: {
+            Word adv = info.li_min_insn_length * step_leb128U(&data);
             state_machine_regs.address += adv;
-            if (0) VG_(printf)("smr.a += %#x\n", adv );
+            if (0) VG_(printf)("smr.a += %#lx\n", adv );
             if (di->ddump_line)
-               VG_(printf)("  Advance PC by %d to 0x%lx\n", 
-                           (Int)adv, state_machine_regs.address);
+               VG_(printf)("  Advance PC by %ld to 0x%lx\n", 
+                           adv, state_machine_regs.address);
             break;
-
-         case DW_LNS_advance_line:
-            adv = read_leb128 (data, & bytes_read, 1);
-            data += bytes_read;
+         }
+         case DW_LNS_advance_line: {
+            Word adv = step_leb128S(&data);
             state_machine_regs.line += adv;
             if (di->ddump_line)
-               VG_(printf)("  Advance Line by %d to %d\n", 
-                           (Int)adv, (Int)state_machine_regs.line);
+               VG_(printf)("  Advance Line by %ld to %d\n", 
+                           adv, (Int)state_machine_regs.line);
             break;
-
-         case DW_LNS_set_file:
-            adv = read_leb128 (data, & bytes_read, 0);
-            data += bytes_read;
+         }
+         case DW_LNS_set_file: {
+            Word adv = step_leb128U(&data);
             state_machine_regs.file = adv;
             if (di->ddump_line)
-               VG_(printf)("  Set File Name to entry %d in the File Name Table\n",
-                           (Int)adv);
+               VG_(printf)("  Set File Name to entry %ld in the "
+                           "File Name Table\n", adv);
             break;
-
-         case DW_LNS_set_column:
-            adv = read_leb128 (data, & bytes_read, 0);
-            data += bytes_read;
+         }
+         case DW_LNS_set_column: {
+            Word adv = step_leb128U(&data);
             state_machine_regs.column = adv;
             if (di->ddump_line)
-               VG_(printf)("  Set column to %d\n", (Int)adv);
+               VG_(printf)("  Set column to %ld\n", adv);
             break;
-
-         case DW_LNS_negate_stmt:
-            adv = state_machine_regs.is_stmt;
+         }
+         case DW_LNS_negate_stmt: {
+            Int adv = state_machine_regs.is_stmt;
             adv = ! adv;
             state_machine_regs.is_stmt = adv;
             if (di->ddump_line)
                VG_(printf)("  DWARF2-line: negate_stmt\n");
             break;
-
-         case DW_LNS_set_basic_block:
+         }
+         case DW_LNS_set_basic_block: {
             state_machine_regs.basic_block = 1;
             if (di->ddump_line)
                VG_(printf)("  DWARF2-line: set_basic_block\n");
             break;
-
-         case DW_LNS_const_add_pc:
-            adv = (((255 - info.li_opcode_base) / info.li_line_range)
-                   * info.li_min_insn_length);
+         }
+         case DW_LNS_const_add_pc: {
+            Word adv = (((255 - info.li_opcode_base) / info.li_line_range)
+                          * info.li_min_insn_length);
             state_machine_regs.address += adv;
-            if (0) VG_(printf)("smr.a += %#x\n", adv );
+            if (0) VG_(printf)("smr.a += %#lx\n", adv );
             if (di->ddump_line)
-               VG_(printf)("  Advance PC by constant %d to 0x%lx\n", 
-                           (Int)adv, (Addr)state_machine_regs.address);
+               VG_(printf)("  Advance PC by constant %ld to 0x%lx\n", 
+                           adv, (Addr)state_machine_regs.address);
             break;
-
-         case DW_LNS_fixed_advance_pc:
+         }
+         case DW_LNS_fixed_advance_pc: {
             /* XXX: Need something to get 2 bytes */
-            adv = ML_(read_UShort)(data);
-            data += 2;
+            Word adv = ML_(cur_step_UShort)(&data);
             state_machine_regs.address += adv;
-            if (0) VG_(printf)("smr.a += %#x\n", adv );
+            if (0) VG_(printf)("smr.a += %#lx\n", adv );
             if (di->ddump_line)
                VG_(printf)("  DWARF2-line: fixed_advance_pc\n");
             break;
-
+         }
          case DW_LNS_set_prologue_end:
             if (di->ddump_line)
                VG_(printf)("  DWARF2-line: set_prologue_end\n");
@@ -908,17 +860,18 @@
             break;
 
          case DW_LNS_set_isa:
-            /*adv =*/ read_leb128 (data, & bytes_read, 0);
-            data += bytes_read;
+            (void)step_leb128U(&data);
             if (di->ddump_line)
                VG_(printf)("  DWARF2-line: set_isa\n");
             break;
 
          default: {
             Int j;
-            for (j = standard_opcodes[op_code - 1]; j > 0 ; --j) {
-               read_leb128 (data, &bytes_read, 0);
-               data += bytes_read;
+            for (j = (Int)ML_(cur_read_UChar)(
+                             ML_(cur_plus)(standard_opcodes,
+                                           (op_code-1) * sizeof(UChar)));
+                 j > 0 ; --j) {
+               step_leb128U(&data);
             }
             if (di->ddump_line)
                VG_(printf)("  Unknown opcode %d\n", (Int)op_code);
@@ -943,34 +896,34 @@
 ////////////////////////////////////////////////////////////////////
 
 /* Return abbrev for given code 
- * Returned pointer points to the tag
+ * Returned cursor points to the tag
  * */
-static UChar* lookup_abbrev( UChar* p, UInt acode )
+static DiCursor lookup_abbrev( DiCursor p, ULong acode )
 {
-   UInt code;
-   UInt name;
-   for( ; ; ) {
-      code = read_leb128U( &p );
-      if ( code == acode )
+   while (1) {
+      ULong code = step_leb128U(&p);
+      if (code == acode)
          return p;
-      read_leb128U( &p ); /* skip tag */
-      p++;                /* skip has_children flag */
+      (void)step_leb128U(&p);  /* skip tag */
+      p = ML_(cur_plus)(p,1);  /* skip has_children flag */
+      ULong name;
       do {
-         name = read_leb128U( &p ); /* name */
-         read_leb128U( &p );   /* form */
+         name = step_leb128U(&p); /* name */
+         (void)step_leb128U(&p);  /* form */
       }
-      while( name != 0 ); /* until name == form == 0 */
+      while (name != 0); /* until name == form == 0 */
    }
-   return NULL;
 }
 
 /* Read general information for a particular compile unit block in
- * the .debug_info section.
+ * the .debug_info section. In particular read the name, compdir and
+ * stmt_list needed to parse the line number information.
  * 
  * Input: - unitblock is the start of a compilation
  *          unit block in .debuginfo section
  *        - debugabbrev is start of .debug_abbrev section
  *        - debugstr is start of .debug_str section
+ *        - debugstr_alt_img is start of .debug_str section in alt debug file
  *        
  * Output: Fill members of ui pertaining to the compilation unit:
  *         - ui->name is the name of the compilation unit
@@ -983,19 +936,19 @@
  */
 static 
 void read_unitinfo_dwarf2( /*OUT*/UnitInfo* ui,
-                                  UChar*    unitblock_img,
-                                  UChar*    debugabbrev_img,
-                                  UChar*    debugstr_img )
+                                  DiCursor  unitblock_img,
+                                  DiCursor  debugabbrev_img,
+                                  DiCursor  debugstr_img,
+                                  DiCursor  debugstr_alt_img )
 {
    UInt   acode, abcode;
    ULong  atoffs, blklen;
-   Int    level;
-   /* UShort ver; */
+   UShort ver;
 
-   UChar addr_size;
-   UChar* p = unitblock_img;
-   UChar* end_img;
-   UChar* abbrev_img;
+   UChar    addr_size;
+   DiCursor p = unitblock_img;
+   DiCursor end_img;
+   DiCursor abbrev_img;
 
    VG_(memset)( ui, 0, sizeof( UnitInfo ) );
    ui->stmt_list = -1LL;
@@ -1003,72 +956,64 @@
    /* Read the compilation unit header in .debug_info section - See p 70 */
 
    /* This block length */
-   blklen = read_initial_length_field( p, &ui->dw64 );
-   p += ui->dw64 ? 12 : 4;
+   blklen = step_initial_length_field( &p, &ui->dw64 );
 
    /* version should be 2, 3 or 4 */
-   /* ver = ML_(read_UShort)(p); */
-   p += 2;
+   ver = ML_(cur_step_UShort)(&p);
 
    /* get offset in abbrev */
-   atoffs = ui->dw64 ? ML_(read_ULong)(p) : (ULong)(ML_(read_UInt)(p));
-   p += ui->dw64 ? 8 : 4;
+   atoffs = ui->dw64 ? ML_(cur_step_ULong)(&p)
+                     : (ULong)(ML_(cur_step_UInt)(&p));
 
    /* Address size */
-   addr_size = *p;
-   p += 1;
+   addr_size = ML_(cur_step_UChar)(&p);
 
-   end_img     = unitblock_img 
-                 + blklen + (ui->dw64 ? 12 : 4); /* End of this block */
-   level       = 0;                        /* Level in the abbrev tree */
-   abbrev_img  = debugabbrev_img 
-                 + atoffs; /* Abbreviation data for this block */
+   /* End of this block */
+   end_img = ML_(cur_plus)(unitblock_img, blklen + (ui->dw64 ? 12 : 4)); 
+
+   /* Abbreviation data for this block */
+   abbrev_img = ML_(cur_plus)(debugabbrev_img, atoffs);
    
-   /* Read the compilation unit entries */
-   while ( p < end_img ) {
-      Bool has_child;
+   /* Read the compilation unit entry - this is always the first DIE.
+    * See DWARF4 para 7.5. */
+   if (ML_(cur_cmpLT)(p, end_img)) {
       UInt tag;
 
-      acode = read_leb128U( &p ); /* abbreviation code */
-      if ( acode == 0 ) {
-         /* NULL entry used for padding - or last child for a sequence
-            - see para 7.5.3 */
-         level--;
-         continue;
-      }
+      acode = step_leb128U( &p ); /* abbreviation code */
       
       /* Read abbreviation header */
-      abcode = read_leb128U( &abbrev_img ); /* abbreviation code */
+      abcode = step_leb128U( &abbrev_img ); /* abbreviation code */
       if ( acode != abcode ) {
-         /* We are in in children list, and must rewind to a
-          * previously declared abbrev code.  This code works but is
-          * not triggered since we shortcut the parsing once we have
-          * read the compile_unit block.  This should only occur when
-          * level > 0 */
-         abbrev_img = lookup_abbrev( debugabbrev_img + atoffs, acode );
+         /* This isn't illegal, but somewhat unlikely. Normally the
+          * first abbrev describes the first DIE, the compile_unit.
+          * But maybe this abbrevation data is shared with another
+          * or it is a NULL entry used for padding. See para 7.5.3. */
+         abbrev_img = lookup_abbrev( ML_(cur_plus)(debugabbrev_img, atoffs),
+                                     acode );
       }
 
-      tag = read_leb128U( &abbrev_img );
-      has_child = *(abbrev_img++) == 1; /* DW_CHILDREN_yes */
+      tag = step_leb128U( &abbrev_img );
 
-      if ( has_child )
-         level++;
+      if ( tag != 0x0011 /*TAG_compile_unit*/ )
+         return; /* Not a compile unit (might be partial) or broken DWARF. */
+
+      /* DW_CHILDREN_yes or DW_CHILDREN_no */
+      abbrev_img = ML_(cur_plus)(abbrev_img, 1);
 
       /* And loop on entries */
       for ( ; ; ) {
          /* Read entry definition */
-         UInt  name, form;
-         ULong cval = -1LL;  /* Constant value read */
-         Char  *sval = NULL; /* String value read */
-         name = read_leb128U( &abbrev_img );
-         form = read_leb128U( &abbrev_img );
-         if ( name == 0 )
+         ULong    cval = -1LL;  /* Constant value read */
+         DiCursor sval = DiCursor_INVALID; /* String value read */
+         UInt     name = step_leb128U( &abbrev_img );
+         UInt     form = step_leb128U( &abbrev_img );
+         if (name == 0)
             break;
        
          /* Read data */
          /* Attributes encoding explained p 71 */
          if ( form == 0x16 /* FORM_indirect */ )
-            form = read_leb128U( &p );
+            form = step_leb128U( &p );
          /* Decode form. For most kinds, Just skip the amount of data since
             we don't use it for now */
          /* JRS 9 Feb 06: This now handles 64-bit DWARF too.  In
@@ -1084,53 +1029,108 @@
             handle FORM_addr too. */
          switch( form ) {
             /* Those cases extract the data properly */
-            case 0x05: /* FORM_data2 */     cval = ML_(read_UShort)(p); p +=2; break;
-            case 0x06: /* FORM_data4 */     cval = ML_(read_UInt)(p);   p +=4; break;
+            case 0x05: /* FORM_data2 */
+               cval = ML_(cur_step_UShort)(&p);
+               break;
+            case 0x06: /* FORM_data4 */
+               cval = ML_(cur_step_UInt)(&p);
+               break;
             case 0x0e: /* FORM_strp */      /* pointer in .debug_str */
-                       /* 2006-01-01: only generate a value if
-                          debugstr is non-NULL (which means that a
-                          debug_str section was found) */
-                                            if (debugstr_img && !ui->dw64)
-                                               sval = debugstr_img + ML_(read_UInt)(p); 
-                                            if (debugstr_img && ui->dw64)
-                                               sval = debugstr_img + ML_(read_ULong)(p); 
-                                            p += ui->dw64 ? 8 : 4; 
-                                            break;
-            case 0x08: /* FORM_string */    sval = (Char*)p; 
-                                            p += VG_(strlen)((Char*)p) + 1; break;
-            case 0x0b: /* FORM_data1 */     cval = *p; p++; break;
-            case 0x17: /* FORM_sec_offset */if (ui->dw64) {
-                                               cval = ML_(read_ULong)(p); p += 8;
-                                            } else {
-                                               cval = ML_(read_UInt)(p); p += 4;
-                                            }; break;
-
-            case 0x07: /* FORM_data8 */     if (ui->dw64) cval = ML_(read_ULong)(p);
-                                            p += 8; break;
-                                            /* perhaps should assign
-                                               unconditionally to cval? */
-
+               /* 2006-01-01: only generate a value if a debug_str
+                  section was found) */
+               if (ML_(cur_is_valid)(debugstr_img) && !ui->dw64)
+                  sval = ML_(cur_plus)(debugstr_img, ML_(cur_read_UInt)(p));
+               if (ML_(cur_is_valid)(debugstr_img) && ui->dw64)
+                  sval = ML_(cur_plus)(debugstr_img, ML_(cur_read_ULong)(p));
+               p = ML_(cur_plus)(p, ui->dw64 ? 8 : 4);
+               break;
+            case 0x08: /* FORM_string */
+               sval = p;
+               p = ML_(cur_plus)(p, ML_(cur_strlen)(p) + 1);
+               break;
+            case 0x0b: /* FORM_data1 */
+               cval = ML_(cur_step_UChar)(&p);
+               break;
+            case 0x17: /* FORM_sec_offset */
+               if (ui->dw64) {
+                 cval = ML_(cur_step_ULong)(&p);
+               } else {
+                 cval = ML_(cur_step_UInt)(&p);
+               };
+               break;
+            case 0x07: /* FORM_data8 */
+               if (ui->dw64) cval = ML_(cur_read_ULong)(p);
+               p = ML_(cur_plus)(p, 8);
+               /* perhaps should assign unconditionally to cval? */
+               break;
             /* TODO : Following ones just skip data - implement if you need */
-            case 0x01: /* FORM_addr */      p += addr_size; break;
-            case 0x03: /* FORM_block2 */    p += ML_(read_UShort)(p) + 2; break;
-            case 0x04: /* FORM_block4 */    p += ML_(read_UInt)(p) + 4; break;
-            case 0x09: /* FORM_block */     p += read_leb128U( &p ); break;
-            case 0x0a: /* FORM_block1 */    p += *p + 1; break;
-            case 0x0c: /* FORM_flag */      p++; break;
-            case 0x0d: /* FORM_sdata */     read_leb128S( &p ); break;
-            case 0x0f: /* FORM_udata */     read_leb128U( &p ); break;
-            case 0x10: /* FORM_ref_addr */  p += ui->dw64 ? 8 : 4; break;
-            case 0x11: /* FORM_ref1 */      p++; break;
-            case 0x12: /* FORM_ref2 */      p += 2; break;
-            case 0x13: /* FORM_ref4 */      p += 4; break;
-            case 0x14: /* FORM_ref8 */      p += 8; break;
-            case 0x15: /* FORM_ref_udata */ read_leb128U( &p ); break;
-            case 0x18: /* FORM_exprloc */   p += read_leb128U( &p ); break;
-            case 0x19: /* FORM_flag_present */break;
-            case 0x20: /* FORM_ref_sig8 */  p += 8; break;
+            case 0x01: /* FORM_addr */
+               p = ML_(cur_plus)(p, addr_size);
+               break;
+            case 0x03: /* FORM_block2 */
+               p = ML_(cur_plus)(p, ML_(cur_read_UShort)(p) + 2);
+               break;
+            case 0x04: /* FORM_block4 */
+               p = ML_(cur_plus)(p, ML_(cur_read_UInt)(p) + 4);
+               break;
+            case 0x09:   /* FORM_block */     /* fallthrough */
+            case 0x18: { /* FORM_exprloc */
+               ULong block_len = step_leb128U(&p);
+               p = ML_(cur_plus)(p, block_len);
+               break;
+            }
+            case 0x0a: /* FORM_block1 */
+               p = ML_(cur_plus)(p, ML_(cur_read_UChar)(p) + 1);
+               break;
+            case 0x0c: /* FORM_flag */
+               p = ML_(cur_plus)(p, 1);
+               break;
+            case 0x0d: /* FORM_sdata */
+               (void)step_leb128S(&p);
+               break;
+            case 0x0f: /* FORM_udata */
+               (void)step_leb128U(&p);
+               break;
+            case 0x10: /* FORM_ref_addr */
+               p = ML_(cur_plus)(p, (ver == 2) ? addr_size 
+                                               : (ui->dw64 ? 8 : 4));
+               break;
+            case 0x11: /* FORM_ref1 */
+               p = ML_(cur_plus)(p, 1);
+               break;
+            case 0x12: /* FORM_ref2 */
+               p = ML_(cur_plus)(p, 2);
+               break;
+            case 0x13: /* FORM_ref4 */
+               p = ML_(cur_plus)(p, 4);
+               break;
+            case 0x14: /* FORM_ref8 */
+               p = ML_(cur_plus)(p, 8);
+               break;
+            case 0x15: /* FORM_ref_udata */
+               (void)step_leb128U(&p);
+               break;
+            case 0x19: /* FORM_flag_present */
+               break;
+            case 0x20: /* FORM_ref_sig8 */
+               p = ML_(cur_plus)(p, 8);
+               break;
+            case 0x1f20: /* FORM_GNU_ref_alt */
+               p = ML_(cur_plus)(p, ui->dw64 ? 8 : 4);
+               break;
+            case 0x1f21: /* FORM_GNU_strp_alt */
+               if (ML_(cur_is_valid)(debugstr_alt_img) && !ui->dw64)
+                  sval = ML_(cur_plus)(debugstr_alt_img,
+                                       ML_(cur_read_UInt)(p));
+               if (ML_(cur_is_valid)(debugstr_alt_img) && ui->dw64)
+                  sval = ML_(cur_plus)(debugstr_alt_img,
+                                       ML_(cur_read_ULong)(p));
+               p = ML_(cur_plus)(p, ui->dw64 ? 8 : 4);
+               break;
 
             default:
-               VG_(printf)( "### unhandled dwarf2 abbrev form code 0x%x\n", form );
+               VG_(printf)( "### unhandled dwarf2 abbrev form code 0x%x\n",
+                            form );
                break;
          }
          
@@ -1141,16 +1141,9 @@
             else if ( name == 0x10 ) ui->stmt_list = cval; /* DW_AT_stmt_list */
          }
       }
-      /* Shortcut the parsing once we have read the compile_unit block
-       * That's enough info for us, and we are not gdb ! */
-      if ( tag == 0x0011 /*TAG_compile_unit*/ )
-         break;
-   } /* Loop on each sub block */
-
-   /* This test would be valid if we were not shortcutting the parsing
-   if (level != 0)
-      VG_(printf)( "#### Exiting debuginfo block at level %d !!!\n", level );
-   */
+   } /* Just read the first DIE, if that wasn't the compile_unit then
+      * this might have been a partial unit or broken DWARF info.
+      * That's enough info for us, and we are not gdb ! */
 }
 
 
@@ -1165,47 +1158,50 @@
  */
 void ML_(read_debuginfo_dwarf3)
         ( struct _DebugInfo* di,
-          UChar* debug_info_img, Word debug_info_sz, /* .debug_info */
-          UChar* debug_abbv_img, Word debug_abbv_sz, /* .debug_abbrev */
-          UChar* debug_line_img, Word debug_line_sz, /* .debug_line */
-          UChar* debug_str_img,  Word debug_str_sz ) /* .debug_str */
+          DiSlice escn_debug_info,      /* .debug_info */
+          DiSlice escn_debug_types,     /* .debug_types */
+          DiSlice escn_debug_abbv,      /* .debug_abbrev */
+          DiSlice escn_debug_line,      /* .debug_line */
+          DiSlice escn_debug_str,       /* .debug_str */
+          DiSlice escn_debug_str_alt )  /* .debug_str */
 {
    UnitInfo ui;
    UShort   ver;
-   UChar*   block_img;
-   UChar*   end1_img;
    ULong    blklen;
    Bool     blklen_is_64;
-   Int      blklen_len;
-
-   end1_img  = debug_info_img + debug_info_sz;
-   blklen_len = 0;
 
    /* Make sure we at least have a header for the first block */
-   if (debug_info_sz < 4) {
+   if (escn_debug_info.szB < 4) {
       ML_(symerr)( di, True, 
                    "Last block truncated in .debug_info; ignoring" );
       return;
    }
 
+   DiCursor block_img = DiCursor_INVALID;
+   DiCursor end1_img  = ML_(cur_plus)( ML_(cur_from_sli)(escn_debug_info), 
+                                       escn_debug_info.szB );
+   Int blklen_len = 0;
+
    /* Iterate on all the blocks we find in .debug_info */
-   for ( block_img = debug_info_img; 
-         block_img < end1_img - 4; 
-         block_img += blklen + blklen_len ) {
+   for ( block_img = ML_(cur_from_sli)(escn_debug_info);
+         ML_(cur_cmpLT)(block_img, ML_(cur_plus)(end1_img, -(DiOffT)4));
+         block_img = ML_(cur_plus)(block_img, blklen + blklen_len) ) {
 
       /* Read the compilation unit header in .debug_info section - See
          p 70 */
       /* This block length */
       blklen     = read_initial_length_field( block_img, &blklen_is_64 );
       blklen_len = blklen_is_64 ? 12 : 4;
-      if ( block_img + blklen + blklen_len > end1_img ) {
+
+      if (ML_(cur_cmpGT)( ML_(cur_plus)(block_img, blklen + blklen_len),
+                          end1_img )) {
          ML_(symerr)( di, True,
                       "Last block truncated in .debug_info; ignoring" );
          return;
       }
 
       /* version should be 2 */
-      ver = ML_(read_UShort)( block_img + blklen_len );
+      ver = ML_(cur_read_UShort)( ML_(cur_plus)(block_img, blklen_len) );
       if ( ver != 2 && ver != 3 && ver != 4 ) {
          ML_(symerr)( di, True,
                       "Ignoring non-Dwarf2/3/4 block in .debug_info" );
@@ -1214,25 +1210,40 @@
       
       /* Fill ui with offset in .debug_line and compdir */
       if (0)
-         VG_(printf)( "Reading UnitInfo at 0x%lx.....\n",
-                      block_img - debug_info_img + 0UL );
+         VG_(printf)(
+            "Reading UnitInfo at 0x%llx.....\n",
+            (ULong)ML_(cur_minus)( block_img,
+                                   ML_(cur_from_sli)(escn_debug_info)) );
       read_unitinfo_dwarf2( &ui, block_img, 
-                                 debug_abbv_img, debug_str_img );
-      if (0)
+                                 ML_(cur_from_sli)(escn_debug_abbv),
+                                 ML_(cur_from_sli)(escn_debug_str),
+                                 ML_(cur_from_sli)(escn_debug_str_alt) );
+      if (0) {
+         HChar* str_name    = ML_(cur_read_strdup)(ui.name,    "di.rdd3.1");
+         HChar* str_compdir = ML_(cur_read_strdup)(ui.compdir, "di.rdd3.2");
          VG_(printf)( "   => LINES=0x%llx    NAME=%s     DIR=%s\n", 
-                      ui.stmt_list, ui.name, ui.compdir );
-      
+                      ui.stmt_list, str_name, str_compdir );
+         ML_(dinfo_free)(str_name);
+         ML_(dinfo_free)(str_compdir);
+      }
+
       /* Ignore blocks with no .debug_line associated block */
       if ( ui.stmt_list == -1LL )
          continue;
       
-      if (0) 
-         VG_(printf)("debug_line_sz %ld, ui.stmt_list %lld  %s\n",
-                     debug_line_sz, ui.stmt_list, ui.name );
+      if (0) {
+         HChar* str_name = ML_(cur_read_strdup)(ui.name, "di.rdd3.3");
+         VG_(printf)("debug_line_sz %lld, ui.stmt_list %lld  %s\n",
+                     escn_debug_line.szB, ui.stmt_list, str_name );
+         ML_(dinfo_free)(str_name);
+      }
+
       /* Read the .debug_line block for this compile unit */
-      read_dwarf2_lineblock( 
-         di, &ui, debug_line_img + ui.stmt_list, 
-                  debug_line_sz  - ui.stmt_list );
+      read_dwarf2_lineblock(
+         di, &ui,
+         ML_(cur_plus)(ML_(cur_from_sli)(escn_debug_line), ui.stmt_list),
+         escn_debug_line.szB  - ui.stmt_list
+      );
    }
 }
 
@@ -1391,7 +1402,7 @@
 };
 
 /* end of enums taken from gdb-6.0 sources */
-
+#if 0
 void ML_(read_debuginfo_dwarf1) ( 
         struct _DebugInfo* di, 
         UChar* dwarf1d, Int dwarf1d_sz, 
@@ -1402,7 +1413,7 @@
    Int    die_offset, die_szb, at_offset;
    UShort die_kind, at_kind;
    UChar* at_base;
-   UChar* src_filename;
+   HChar* src_filename;
 
    if (0) 
       VG_(printf)("read_debuginfo_dwarf1 ( %p, %d, %p, %d )\n",
@@ -1465,7 +1476,7 @@
             case AT_comp_dir:
                /* Zero terminated string, step over it. */
                if (at_kind == AT_name)
-                  src_filename = at_base + at_offset;
+                 src_filename = (HChar *)(at_base + at_offset);
                while (at_offset < die_szb-6 && at_base[at_offset] != 0)
                   at_offset++;
                at_offset++;
@@ -1494,7 +1505,7 @@
 	 */
          Addr   base;
 	 Int    len;
-         Char*  curr_filenm;
+         HChar* curr_filenm;
          UChar* ptr;
          UInt   prev_line, prev_delta;
 
@@ -1534,7 +1545,7 @@
    } /* Looping over DIEs */
 
 }
-
+#endif
 
 /*------------------------------------------------------------*/
 /*--- Read call-frame info from an .eh_frame section       ---*/
@@ -1842,6 +1853,14 @@
 #  define FP_REG         11    // sometimes s390 has a frame pointer in r11
 #  define SP_REG         15    // stack is always r15
 #  define RA_REG_DEFAULT 14    // the return address is in r14
+#elif defined(VGP_mips32_linux)
+#  define FP_REG         30
+#  define SP_REG         29
+#  define RA_REG_DEFAULT 31
+#elif defined(VGP_mips64_linux)
+#  define FP_REG         30
+#  define SP_REG         29
+#  define RA_REG_DEFAULT 31
 #else
 #  error "Unknown platform"
 #endif
@@ -1850,7 +1869,8 @@
    arm-linux (320) seems ludicrously high, but the ARM IHI 0040A page
    7 (DWARF for the ARM Architecture) specifies that values up to 320
    might exist, for Neon/VFP-v3. */
-#if defined(VGP_ppc32_linux) || defined(VGP_ppc64_linux)
+#if defined(VGP_ppc32_linux) || defined(VGP_ppc64_linux) \
+    || defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
 # define N_CFI_REGS 72
 #elif defined(VGP_arm_linux)
 # define N_CFI_REGS 320
@@ -2085,10 +2105,10 @@
 */
 typedef
    struct {
-      UChar  encoding;
-      UChar* ehframe_image;
-      Addr   ehframe_avma;
-      Addr   text_bias;
+      UChar    encoding;
+      DiCursor ehframe_image;
+      Addr     ehframe_avma;
+      Addr     text_bias;
    }
    AddressDecodingInfo;
 
@@ -2154,7 +2174,8 @@
    else
    if (ctxs->cfa_is_regoff && ctxs->cfa_reg == SP_REG) {
       si->cfa_off = ctxs->cfa_off;
-#     if defined(VGA_x86) || defined(VGA_amd64) || defined(VGA_s390x)
+#     if defined(VGA_x86) || defined(VGA_amd64) || defined(VGA_s390x) \
+         || defined(VGA_mips32) || defined(VGA_mips64)
       si->cfa_how = CFIC_IA_SPREL;
 #     elif defined(VGA_arm)
       si->cfa_how = CFIC_ARM_R13REL;
@@ -2165,7 +2186,8 @@
    else
    if (ctxs->cfa_is_regoff && ctxs->cfa_reg == FP_REG) {
       si->cfa_off = ctxs->cfa_off;
-#     if defined(VGA_x86) || defined(VGA_amd64) || defined(VGA_s390x)
+#     if defined(VGA_x86) || defined(VGA_amd64) || defined(VGA_s390x) \
+         || defined(VGA_mips32) || defined(VGA_mips64)
       si->cfa_how = CFIC_IA_BPREL;
 #     elif defined(VGA_arm)
       si->cfa_how = CFIC_ARM_R12REL;
@@ -2366,6 +2388,50 @@
    return True;
 
 
+#  elif defined(VGA_mips32) || defined(VGA_mips64)
+ 
+   /* --- entire tail of this fn specialised for mips --- */
+ 
+   SUMMARISE_HOW(si->ra_how, si->ra_off,
+                             ctxs->reg[ctx->ra_reg] );
+   SUMMARISE_HOW(si->fp_how, si->fp_off,
+                             ctxs->reg[FP_REG] );
+   SUMMARISE_HOW(si->sp_how, si->sp_off,
+                             ctxs->reg[SP_REG] );
+      si->sp_how = CFIR_CFAREL;
+   si->sp_off = 0;
+
+   if (si->fp_how == CFIR_UNKNOWN)
+       si->fp_how = CFIR_SAME;
+   if (si->cfa_how == CFIR_UNKNOWN) {
+      si->cfa_how = CFIC_IA_SPREL;
+      si->cfa_off = 160;
+   }
+   if (si->ra_how == CFIR_UNKNOWN) {
+      if (!debuginfo->cfsi_exprs)
+         debuginfo->cfsi_exprs = VG_(newXA)( ML_(dinfo_zalloc),
+                                             "di.ccCt.2a",
+                                             ML_(dinfo_free),
+                                             sizeof(CfiExpr) );
+      si->ra_how = CFIR_EXPR;
+      si->ra_off = ML_(CfiExpr_CfiReg)( debuginfo->cfsi_exprs,
+                                        Creg_MIPS_RA);
+   }
+
+   if (si->ra_how == CFIR_SAME)
+      { why = 3; goto failed; }
+
+   if (loc_start >= ctx->loc) 
+      { why = 4; goto failed; }
+   if (ctx->loc - loc_start > 10000000 /* let's say */)
+      { why = 5; goto failed; }
+
+   si->base = loc_start + ctx->initloc;
+   si->len  = (UInt)(ctx->loc - loc_start);
+
+   return True;
+
+
 
 #  elif defined(VGA_ppc32) || defined(VGA_ppc64)
 #  else
@@ -2448,6 +2514,13 @@
             return ML_(CfiExpr_CfiReg)( dstxa, Creg_IA_BP );
          if (dwreg == srcuc->ra_reg)
             return ML_(CfiExpr_CfiReg)( dstxa, Creg_IA_IP ); /* correct? */
+#        elif defined(VGA_mips32) || defined(VGA_mips64)
+         if (dwreg == SP_REG)
+            return ML_(CfiExpr_CfiReg)( dstxa, Creg_IA_SP );
+         if (dwreg == FP_REG)
+            return ML_(CfiExpr_CfiReg)( dstxa, Creg_IA_BP );
+         if (dwreg == srcuc->ra_reg)
+            return ML_(CfiExpr_CfiReg)( dstxa, Creg_IA_IP );
 #        elif defined(VGA_ppc32) || defined(VGA_ppc64)
 #        else
 #           error "Unknown arch"
@@ -2487,20 +2560,20 @@
 
 /* ------------ Pick apart DWARF2 byte streams ------------ */
 
-static ULong read_le_u_encoded_literal ( UChar* data, UInt size )
+static ULong step_le_u_encoded_literal ( DiCursor* data, UInt size )
 {
    switch (size) {
-      case 8:  return (ULong)ML_(read_ULong)( data );
-      case 4:  return (ULong)ML_(read_UInt)( data );
-      case 2:  return (ULong)ML_(read_UShort)( data );
-      case 1:  return (ULong)ML_(read_UChar)( data );
+      case 8:  return (ULong)ML_(cur_step_ULong)( data );
+      case 4:  return (ULong)ML_(cur_step_UInt)( data );
+      case 2:  return (ULong)ML_(cur_step_UShort)( data );
+      case 1:  return (ULong)ML_(cur_step_UChar)( data );
       default: vg_assert(0); /*NOTREACHED*/ return 0;
    }
 }
 
-static Long read_le_s_encoded_literal ( UChar* data, UInt size )
+static Long step_le_s_encoded_literal ( DiCursor* data, UInt size )
 {
-   Long s64 = read_le_u_encoded_literal( data, size );
+   Long s64 = step_le_u_encoded_literal( data, size );
    switch (size) {
       case 8:  break;
       case 4:  s64 <<= 32; s64 >>= 32; break;
@@ -2534,9 +2607,8 @@
    }
 }
 
-static Addr read_encoded_Addr ( /*OUT*/Int* nbytes,
-                                AddressDecodingInfo* adi,
-                                UChar* data )
+static Addr step_encoded_Addr ( AddressDecodingInfo* adi,
+                                /*MOD*/DiCursor* data )
 {
    /* Regarding the handling of DW_EH_PE_absptr.  DWARF3 says this
       denotes an absolute address, hence you would think 'base' is
@@ -2557,22 +2629,20 @@
          address at which the object was attached.  This offset is
          available in the run-time linker's data structures.
    */
-   Addr   base;
-   Word   offset;
-   UChar  encoding      = adi->encoding;
-   UChar* ehframe_image = adi->ehframe_image;
-   Addr   ehframe_avma  = adi->ehframe_avma;
+   Addr     base;
+   Word     offset;
+   UChar    encoding      = adi->encoding;
+   DiCursor ehframe_image = adi->ehframe_image;
+   Addr     ehframe_avma  = adi->ehframe_avma;
 
    vg_assert((encoding & DW_EH_PE_indirect) == 0);
 
-   *nbytes = 0;
-
    switch (encoding & 0x70) {
       case DW_EH_PE_absptr:
          base = adi->text_bias;
          break;
       case DW_EH_PE_pcrel:
-         base = ehframe_avma + ( data - ehframe_image );
+         base = ehframe_avma + ML_(cur_minus)(*data, ehframe_image);
          break;
       case DW_EH_PE_datarel:
          vg_assert(0);
@@ -2587,10 +2657,10 @@
          break;
       case DW_EH_PE_aligned:
          base = 0;
-         offset = data - ehframe_image;
+         offset = ML_(cur_minus)(*data, ehframe_image);
          if ((offset % sizeof(Addr)) != 0) {
-            *nbytes = sizeof(Addr) - (offset % sizeof(Addr));
-            data += *nbytes;
+            Word nbytes = sizeof(Addr) - (offset % sizeof(Addr));
+            *data = ML_(cur_plus)(*data, nbytes);
          }
          break;
       default:
@@ -2602,23 +2672,17 @@
 
    switch (encoding & 0x0f) {
       case DW_EH_PE_udata2:
-         *nbytes += sizeof(UShort);
-         return base + ML_(read_UShort)(data);
+         return base + ML_(cur_step_UShort)(data);
       case DW_EH_PE_udata4:
-         *nbytes += sizeof(UInt);
-         return base + ML_(read_UInt)(data);
+         return base + ML_(cur_step_UInt)(data);
       case DW_EH_PE_udata8:
-         *nbytes += sizeof(ULong);
-         return base + ML_(read_ULong)(data);
+         return base + ML_(cur_step_ULong)(data);
       case DW_EH_PE_sdata2:
-         *nbytes += sizeof(Short);
-         return base + ML_(read_Short)(data);
+         return base + ML_(cur_step_Short)(data);
       case DW_EH_PE_sdata4:
-         *nbytes += sizeof(Int);
-         return base + ML_(read_Int)(data);
+         return base + ML_(cur_step_Int)(data);
       case DW_EH_PE_sdata8:
-         *nbytes += sizeof(Long);
-         return base + ML_(read_Long)(data);
+         return base + ML_(cur_step_Long)(data);
       default:
          vg_assert2(0, "read encoded address %d\n", encoding & 0x0f);
    }
@@ -2633,7 +2697,7 @@
 /* IMPORTANT: when adding expression forms here, also remember to
    add suitable evaluation code in evalCfiExpr in debuginfo.c. */
 static Int dwarfexpr_to_dag ( UnwindContext* ctx, 
-                              UChar* expr, Int exprlen, 
+                              DiCursor expr, Int exprlen, 
                               Bool push_cfa_at_start,
                               Bool ddump_frames )
 {
@@ -2657,19 +2721,20 @@
          sp--;                                     \
       } while (0)
 
-   Int    ix, ix2, reg;
-   UChar  opcode;
-   Word   sw;
-   UWord  uw;
-   CfiOp  op;
-   HChar* opname;
+   Int      ix, ix2, reg;
+   UChar    opcode;
+   Word     sw;
+   UWord    uw;
+   CfiUnop  uop;
+   CfiBinop bop;
+   const HChar* opname;
 
    Int sp; /* # of top element: valid is -1 .. N_EXPR_STACK-1 */
    Int stack[N_EXPR_STACK];  /* indices into ctx->exprs */
    struct UnwindContextState* ctxs = &ctx->state[ctx->state_sp];
 
-   XArray* dst   = ctx->exprs;
-   UChar*  limit = expr + exprlen;
+   XArray*  dst   = ctx->exprs;
+   DiCursor limit = ML_(cur_plus)(expr, exprlen);
 
    vg_assert(dst);
    vg_assert(exprlen >= 0);
@@ -2681,7 +2746,7 @@
       if (ctxs->cfa_is_regoff) {
          /* cfa is reg +/- offset */
          ix = ML_(CfiExpr_Binop)( dst,
-                 Cop_Add,
+                 Cbinop_Add,
                  ML_(CfiExpr_DwReg)( dst, ctxs->cfa_reg ),
                  ML_(CfiExpr_Const)( dst, (UWord)(Word)ctxs->cfa_off )
               );
@@ -2696,10 +2761,10 @@
 
       vg_assert(sp >= -1 && sp < N_EXPR_STACK);
 
-      if (expr > limit) 
+      if (ML_(cur_cmpGT)(expr, limit)) /* "expr > limit" */
          return -1;  /* overrun - something's wrong */
 
-      if (expr == limit) {
+      if (ML_(cur_cmpEQ)(expr, limit)) { /* "expr == limit" */
         /* end of expr - return expr on the top of stack. */
         if (sp == -1)
            return -1; /* stack empty.  Bad. */
@@ -2707,9 +2772,9 @@
            break;
       }
 
-      op = 0; opname = NULL; /* excessively conservative */
+      uop = 0; bop = 0; opname = NULL; /* excessively conservative */
 
-      opcode = *expr++;
+      opcode = ML_(cur_step_UChar)(&expr);
       switch (opcode) {
 
          case DW_OP_lit0 ... DW_OP_lit31:
@@ -2725,9 +2790,9 @@
             /* push: reg + sleb128 */
             reg = (Int)opcode - (Int)DW_OP_breg0;
             vg_assert(reg >= 0 && reg <= 31);
-            sw = read_leb128S( &expr );
+            sw = step_leb128S( &expr );
             ix = ML_(CfiExpr_Binop)( dst,
-                    Cop_Add,
+                    Cbinop_Add,
                     ML_(CfiExpr_DwReg)( dst, reg ),
                     ML_(CfiExpr_Const)( dst, (UWord)sw )
                  );
@@ -2747,61 +2812,104 @@
             break;
 
          case DW_OP_plus_uconst:
-            uw = read_leb128U( &expr );
+            uw = step_leb128U( &expr );
             PUSH( ML_(CfiExpr_Const)( dst, uw ) );
             POP( ix );
             POP( ix2 );
-            PUSH( ML_(CfiExpr_Binop)( dst, op, ix2, ix ) );
+            PUSH( ML_(CfiExpr_Binop)( dst, Cbinop_Add, ix2, ix ) );
             if (ddump_frames)
                VG_(printf)("DW_OP_plus_uconst: %lu", uw);
             break;
 
          case DW_OP_const4s:
             /* push: 32-bit signed immediate */
-            sw = read_le_s_encoded_literal( expr, 4 );
-            expr += 4;
+            sw = step_le_s_encoded_literal( &expr, 4 );
             PUSH( ML_(CfiExpr_Const)( dst, (UWord)sw ) );
             if (ddump_frames)
                VG_(printf)("DW_OP_const4s: %ld", sw);
             break;
 
+         case DW_OP_const2s:
+            /* push: 16-bit signed immediate */
+            sw = step_le_s_encoded_literal( &expr, 2 );
+            PUSH( ML_(CfiExpr_Const)( dst, (UWord)sw ) );
+            if (ddump_frames)
+               VG_(printf)("DW_OP_const2s: %ld", sw);
+            break;
+
          case DW_OP_const1s:
             /* push: 8-bit signed immediate */
-            sw = read_le_s_encoded_literal( expr, 1 );
-            expr += 1;
+            sw = step_le_s_encoded_literal( &expr, 1 );
             PUSH( ML_(CfiExpr_Const)( dst, (UWord)sw ) );
             if (ddump_frames)
                VG_(printf)("DW_OP_const1s: %ld", sw);
             break;
 
+         case DW_OP_const1u:
+            /* push: 8-bit unsigned immediate */
+            uw = step_le_u_encoded_literal( &expr, 1 );
+            PUSH( ML_(CfiExpr_Const)( dst, uw ) );
+            if (ddump_frames)
+               VG_(printf)("DW_OP_const1: %lu", uw);
+            break;
+
+         case DW_OP_const2u:
+            /* push: 16-bit unsigned immediate */
+            uw = step_le_u_encoded_literal( &expr, 2 );
+            PUSH( ML_(CfiExpr_Const)( dst, uw ) );
+            if (ddump_frames)
+               VG_(printf)("DW_OP_const2: %lu", uw);
+            break;
+
+         case DW_OP_const4u:
+            /* push: 32-bit unsigned immediate */
+            uw = step_le_u_encoded_literal( &expr, 4 );
+            PUSH( ML_(CfiExpr_Const)( dst, uw ) );
+            if (ddump_frames)
+               VG_(printf)("DW_OP_const4: %lu", uw);
+            break;
+
+         case DW_OP_abs:
+            uop = Cunop_Abs; opname = "abs"; goto unop;
+         case DW_OP_neg:
+            uop = Cunop_Neg; opname = "neg"; goto unop;
+         case DW_OP_not:
+            uop = Cunop_Not; opname = "not"; goto unop;
+         unop:
+            POP( ix );
+            PUSH( ML_(CfiExpr_Unop)( dst, uop, ix ) );
+            if (ddump_frames)
+               VG_(printf)("DW_OP_%s", opname);
+            break;
+
          case DW_OP_minus:
-            op = Cop_Sub; opname = "minus"; goto binop;
+            bop = Cbinop_Sub; opname = "minus"; goto binop;
          case DW_OP_plus:
-            op = Cop_Add; opname = "plus"; goto binop;
+            bop = Cbinop_Add; opname = "plus"; goto binop;
          case DW_OP_and:
-            op = Cop_And; opname = "and"; goto binop;
+            bop = Cbinop_And; opname = "and"; goto binop;
          case DW_OP_mul:
-            op = Cop_Mul; opname = "mul"; goto binop;
+            bop = Cbinop_Mul; opname = "mul"; goto binop;
          case DW_OP_shl:
-            op = Cop_Shl; opname = "shl"; goto binop;
+            bop = Cbinop_Shl; opname = "shl"; goto binop;
          case DW_OP_shr:
-            op = Cop_Shr; opname = "shr"; goto binop;
+            bop = Cbinop_Shr; opname = "shr"; goto binop;
          case DW_OP_eq:
-            op = Cop_Eq; opname = "eq"; goto binop;
+            bop = Cbinop_Eq; opname = "eq"; goto binop;
          case DW_OP_ge:
-            op = Cop_Ge; opname = "ge"; goto binop;
+            bop = Cbinop_Ge; opname = "ge"; goto binop;
          case DW_OP_gt:
-            op = Cop_Gt; opname = "gt"; goto binop;
+            bop = Cbinop_Gt; opname = "gt"; goto binop;
          case DW_OP_le:
-            op = Cop_Le; opname = "le"; goto binop;
+            bop = Cbinop_Le; opname = "le"; goto binop;
          case DW_OP_lt:
-            op = Cop_Lt; opname = "lt"; goto binop;
+            bop = Cbinop_Lt; opname = "lt"; goto binop;
          case DW_OP_ne:
-            op = Cop_Ne; opname = "ne"; goto binop;
+            bop = Cbinop_Ne; opname = "ne"; goto binop;
          binop:
             POP( ix );
             POP( ix2 );
-            PUSH( ML_(CfiExpr_Binop)( dst, op, ix2, ix ) );
+            PUSH( ML_(CfiExpr_Binop)( dst, bop, ix2, ix ) );
             if (ddump_frames)
                VG_(printf)("DW_OP_%s", opname);
             break;
@@ -2821,7 +2929,7 @@
             return -1;
       }
 
-      if (expr < limit && ddump_frames)
+      if (ML_(cur_cmpLT)(expr, limit) && ddump_frames)
          VG_(printf)("; ");
 
    }
@@ -2846,21 +2954,20 @@
    Returns 0 if the instruction could not be executed. 
 */
 static Int run_CF_instruction ( /*MOD*/UnwindContext* ctx, 
-                                UChar* instr,
+                                DiCursor instrIN,
                                 UnwindContext* restore_ctx,
                                 AddressDecodingInfo* adi,
                                 struct _DebugInfo* di )
 {
-   Int    off, reg, reg2, nleb, len;
-   UInt   delta;
-   UChar* expr;
-   Int    j;
-   Int    i   = 0;
-   UChar  hi2 = (instr[i] >> 6) & 3;
-   UChar  lo6 = instr[i] & 0x3F;
-   Addr   printing_bias = ((Addr)ctx->initloc) - ((Addr)di->text_bias);
+   Int      off, reg, reg2, len, j;
+   UInt     delta;
+   Addr     printing_bias = ((Addr)ctx->initloc) - ((Addr)di->text_bias);
    struct UnwindContextState* ctxs;
-   i++;
+
+   DiCursor instr   = instrIN;
+   UChar    instr_0 = ML_(cur_step_UChar)(&instr);
+   UChar    hi2     = (instr_0 >> 6) & 3;
+   UChar    lo6     = instr_0 & 0x3F;
 
    if (ctx->state_sp < 0 || ctx->state_sp >= N_RR_STACK)
       return 0; /* bogus reg-rule stack pointer */
@@ -2873,13 +2980,12 @@
       if (di->ddump_frames)
          VG_(printf)("  DW_CFA_advance_loc: %d to %08lx\n", 
                      (Int)delta, (Addr)ctx->loc + printing_bias);
-      return i;
+      return ML_(cur_minus)(instr, instrIN);
    }
 
    if (hi2 == DW_CFA_offset) {
       /* Set rule for reg 'lo6' to CFAOff(off * data_af) */
-      off = read_leb128( &instr[i], &nleb, 0 );
-      i += nleb;
+      off = step_leb128( &instr, 0 );
       reg = (Int)lo6;
       if (reg < 0 || reg >= N_CFI_REGS) 
          return 0; /* fail */
@@ -2890,7 +2996,7 @@
                      (Int)reg,
                      ctxs->reg[reg].arg < 0 ? "" : "+", 
                      (Int)ctxs->reg[reg].arg );
-      return i;
+      return ML_(cur_minus)(instr, instrIN);
    }
 
    if (hi2 == DW_CFA_restore) {
@@ -2902,7 +3008,7 @@
       ctxs->reg[reg] = restore_ctx->state[restore_ctx->state_sp].reg[reg];
       if (di->ddump_frames)
          VG_(printf)("  DW_CFA_restore: r%d\n", (Int)reg);
-      return i;
+      return ML_(cur_minus)(instr, instrIN);
    }
 
    vg_assert(hi2 == DW_CFA_use_secondary);
@@ -2919,13 +3025,12 @@
          /* 2007 Feb 23: No.  binutils/dwarf.c treats it as an encoded
             address and that appears to be in accordance with the
             DWARF3 spec. */
-         ctx->loc = read_encoded_Addr(&len, adi, &instr[i]);
-         i += len;
+         ctx->loc = step_encoded_Addr(adi, &instr);
          if (di->ddump_frames)
             VG_(printf)("  rci:DW_CFA_set_loc\n");
          break;
       case DW_CFA_advance_loc1:
-         delta = (UInt)ML_(read_UChar)(&instr[i]); i+= sizeof(UChar);
+         delta = (UInt)ML_(cur_step_UChar)(&instr);
          delta *= ctx->code_a_f;
          ctx->loc += delta;
          if (di->ddump_frames)
@@ -2933,7 +3038,7 @@
                         (Int)delta, (Addr)ctx->loc + printing_bias);
          break;
       case DW_CFA_advance_loc2:
-         delta = (UInt)ML_(read_UShort)(&instr[i]); i+= sizeof(UShort);
+         delta = (UInt)ML_(cur_step_UShort)(&instr);
          delta *= ctx->code_a_f;
          ctx->loc += delta;
          if (di->ddump_frames)
@@ -2941,7 +3046,7 @@
                         (Int)delta, (Addr)ctx->loc + printing_bias);
          break;
       case DW_CFA_advance_loc4:
-         delta = (UInt)ML_(read_UInt)(&instr[i]); i+= sizeof(UInt);
+         delta = (UInt)ML_(cur_step_UInt)(&instr);
          delta *= ctx->code_a_f;
          ctx->loc += delta;
          if (di->ddump_frames)
@@ -2950,10 +3055,8 @@
          break;
 
       case DW_CFA_def_cfa:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 0 );
          if (reg < 0 || reg >= N_CFI_REGS) 
             return 0; /* fail */
          ctxs->cfa_is_regoff = True;
@@ -2965,10 +3068,8 @@
          break;
 
       case DW_CFA_def_cfa_sf:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 1 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 1 );
          if (reg < 0 || reg >= N_CFI_REGS)
             return 0; /* fail */
          ctxs->cfa_is_regoff = True;
@@ -2980,10 +3081,8 @@
          break;
 
       case DW_CFA_register:
-         reg = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
-         reg2 = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
+         reg  = step_leb128( &instr, 0 );
+         reg2 = step_leb128( &instr, 0 );
          if (reg < 0 || reg >= N_CFI_REGS) 
             return 0; /* fail */
          if (reg2 < 0 || reg2 >= N_CFI_REGS) 
@@ -2996,10 +3095,8 @@
          break;
 
       case DW_CFA_offset_extended:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 0 );
          if (reg < 0 || reg >= N_CFI_REGS)
             return 0; /* fail */
          ctxs->reg[reg].tag = RR_CFAOff;
@@ -3009,10 +3106,8 @@
          break;
 
       case DW_CFA_offset_extended_sf:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 1 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 1 );
          if (reg < 0 || reg >= N_CFI_REGS) 
             return 0; /* fail */
          ctxs->reg[reg].tag = RR_CFAOff;
@@ -3025,10 +3120,8 @@
          break;
 
       case DW_CFA_GNU_negative_offset_extended:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 0 );
          if (reg < 0 || reg >= N_CFI_REGS)
             return 0; /* fail */
          ctxs->reg[reg].tag = RR_CFAOff;
@@ -3038,8 +3131,7 @@
          break;
 
       case DW_CFA_restore_extended:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
          if (reg < 0 || reg >= N_CFI_REGS)
             return 0; /* fail */
 	 if (restore_ctx == NULL)
@@ -3050,10 +3142,8 @@
          break;
 
       case DW_CFA_val_offset:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 0 );
          if (reg < 0 || reg >= N_CFI_REGS)
             return 0; /* fail */
          ctxs->reg[reg].tag = RR_CFAValOff;
@@ -3063,10 +3153,8 @@
          break;
 
       case DW_CFA_val_offset_sf:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 1 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 1 );
          if (reg < 0 || reg >= N_CFI_REGS)
             return 0; /* fail */
          ctxs->reg[reg].tag = RR_CFAValOff;
@@ -3076,8 +3164,7 @@
          break;
 
       case DW_CFA_def_cfa_register:
-         reg = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
+         reg = step_leb128( &instr, 0);
          if (reg < 0 || reg >= N_CFI_REGS) 
             return 0; /* fail */
          ctxs->cfa_is_regoff = True;
@@ -3089,8 +3176,7 @@
          break;
 
       case DW_CFA_def_cfa_offset:
-         off = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
+         off = step_leb128( &instr, 0);
          ctxs->cfa_is_regoff = True;
          ctxs->cfa_expr_ix   = 0;
          /* ->reg is unchanged */
@@ -3100,8 +3186,7 @@
          break;
 
       case DW_CFA_def_cfa_offset_sf:
-         off = read_leb128( &instr[i], &nleb, 1);
-         i += nleb;
+         off = step_leb128( &instr, 1);
          ctxs->cfa_is_regoff = True;
          ctxs->cfa_expr_ix   = 0;
          /* ->reg is unchanged */
@@ -3111,8 +3196,7 @@
          break;
 
       case DW_CFA_undefined:
-         reg = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
+         reg = step_leb128( &instr, 0);
          if (reg < 0 || reg >= N_CFI_REGS) 
             return 0; /* fail */
          ctxs->reg[reg].tag = RR_Undef;
@@ -3122,8 +3206,7 @@
          break;
 
       case DW_CFA_same_value:
-         reg = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
+         reg = step_leb128( &instr, 0);
          if (reg < 0 || reg >= N_CFI_REGS) 
             return 0; /* fail */
          ctxs->reg[reg].tag = RR_Same;
@@ -3135,22 +3218,20 @@
       case DW_CFA_GNU_args_size:
          /* No idea what is supposed to happen.  gdb-6.3 simply
             ignores these. */
-         /*off = */ read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
+         /*off = */ (void)step_leb128( &instr, 0 );
          if (di->ddump_frames)
             VG_(printf)("  rci:DW_CFA_GNU_args_size (ignored)\n");
          break;
 
-      case DW_CFA_expression:
+      case DW_CFA_expression: {
          /* Identical to DW_CFA_val_expression except that the value
             computed is an address and so needs one final
             dereference. */
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         len = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         expr = &instr[i];
-         i += len;
+         DiCursor expr;
+         reg = step_leb128( &instr, 0 );
+         len = step_leb128( &instr, 0 );
+         expr = instr;
+         instr = ML_(cur_plus)(instr, len);
          if (reg < 0 || reg >= N_CFI_REGS)
             return 0; /* fail */
          if (di->ddump_frames)
@@ -3174,14 +3255,14 @@
          ctxs->reg[reg].tag = RR_ValExpr;
          ctxs->reg[reg].arg = j;
          break;
+      }
 
-      case DW_CFA_val_expression:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         len = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         expr = &instr[i];
-         i += len;
+      case DW_CFA_val_expression: {
+         DiCursor expr;
+         reg = step_leb128( &instr, 0 );
+         len = step_leb128( &instr, 0 );
+         expr = instr;
+         instr = ML_(cur_plus)(instr, len);
          if (reg < 0 || reg >= N_CFI_REGS)
             return 0; /* fail */
          if (di->ddump_frames)
@@ -3203,12 +3284,13 @@
          ctxs->reg[reg].tag = RR_ValExpr;
          ctxs->reg[reg].arg = j;
          break;
+      }
 
-      case DW_CFA_def_cfa_expression:
-         len = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         expr = &instr[i];
-         i += len;
+      case DW_CFA_def_cfa_expression: {
+         DiCursor expr;
+         len = step_leb128( &instr, 0 );
+         expr = instr;
+         instr = ML_(cur_plus)(instr, len);
          if (di->ddump_frames)
             VG_(printf)("  DW_CFA_def_cfa_expression (");
          /* Convert the expression into a dag rooted at ctx->exprs index j,
@@ -3222,6 +3304,7 @@
          ctxs->cfa_off       = 0;
          ctxs->cfa_expr_ix   = j;
          break;
+      }
 
       case DW_CFA_GNU_window_save:
          /* Ignored.  This appears to be sparc-specific; quite why it
@@ -3240,7 +3323,7 @@
             /* stack overflow.  We're hosed. */
             VG_(message)(Vg_DebugMsg, "DWARF2 CFI reader: N_RR_STACK is "
                                       "too low; increase and recompile.");
-            i = 0; /* indicate failure */
+            return 0; /* indicate failure */
          } else {
             VG_(memcpy)(/*dst*/&ctx->state[ctx->state_sp],
                         /*src*/&ctx->state[ctx->state_sp - 1],
@@ -3254,8 +3337,8 @@
          /* we just checked this at entry, so: */
          vg_assert(ctx->state_sp >= 0 && ctx->state_sp < N_RR_STACK);
          if (ctx->state_sp == 0) {
-            /* stack overflow.  Give up. */
-            i = 0; /* indicate failure */
+            /* stack undefflow.  Give up. */
+            return 0; /* indicate failure */
          } else {
             /* simply fall back to previous entry */
             ctx->state_sp--;
@@ -3267,11 +3350,11 @@
                                    "instruction 0:%d\n", (Int)lo6); 
          if (di->ddump_frames)
             VG_(printf)("  rci:run_CF_instruction:default\n");
-         i = 0;
-         break;
+         return 0; /* failure */
+         /*NOTREACHED*/
    }
 
-   return i;   
+   return ML_(cur_minus)(instr, instrIN);
 }
 
 
@@ -3279,40 +3362,48 @@
    close as possible (preferably identical) to how GNU binutils
    readelf --debug-dump=frames would. */
 
-static Int show_CF_instruction ( UChar* instr,
+static Int show_CF_instruction ( DiCursor instrIN,
                                  AddressDecodingInfo* adi,
                                  Int code_a_f, Int data_a_f )
 {
-   UInt  delta;
-   Int   off, coff, reg, reg2, nleb, len;
-   Addr  loc;
-   Int   i   = 0;
-   UChar hi2 = (instr[i] >> 6) & 3;
-   UChar lo6 = instr[i] & 0x3F;
-   i++;
+   Int      off, coff, reg, reg2, len;
+   UInt     delta;
+   Addr     loc;
+   DiCursor instr   = instrIN;
+   UChar    instr_0 = ML_(cur_step_UChar)(&instr);
+   UChar    hi2     = (instr_0 >> 6) & 3;
+   UChar    lo6     = instr_0 & 0x3F;
 
-   if (0) VG_(printf)("raw:%x/%x:%x:%x:%x:%x:%x:%x:%x:%x\n",
-                      hi2, lo6,
-                      instr[i+0], instr[i+1], instr[i+2], instr[i+3],
-                      instr[i+4], instr[i+5], instr[i+6], instr[i+7] );
+   if (0) {
+      DiCursor tmpi = instrIN;
+      UInt i_0 = ML_(cur_step_UChar)(&tmpi);
+      UInt i_1 = ML_(cur_step_UChar)(&tmpi);
+      UInt i_2 = ML_(cur_step_UChar)(&tmpi);
+      UInt i_3 = ML_(cur_step_UChar)(&tmpi);
+      UInt i_4 = ML_(cur_step_UChar)(&tmpi);
+      UInt i_5 = ML_(cur_step_UChar)(&tmpi);
+      UInt i_6 = ML_(cur_step_UChar)(&tmpi);
+      UInt i_7 = ML_(cur_step_UChar)(&tmpi);
+      VG_(printf)("raw:%x/%x:%x:%x:%x:%x:%x:%x:%x:%x\n",
+                  hi2, lo6, i_0, i_1, i_2, i_3, i_4, i_5, i_6, i_7);
+   }
    
    if (hi2 == DW_CFA_advance_loc) {
       VG_(printf)("  sci:DW_CFA_advance_loc(%d)\n", (Int)lo6);
-      return i;
+      return ML_(cur_minus)(instr, instrIN);
    }
 
    if (hi2 == DW_CFA_offset) {
-      off = read_leb128( &instr[i], &nleb, 0 );
-      i += nleb;
+      off = step_leb128( &instr, 0 );
       coff = off * data_a_f;
       VG_(printf)("  DW_CFA_offset: r%d at cfa%s%d\n",
                   (Int)lo6, coff < 0 ? "" : "+", (Int)coff );
-      return i;
+      return ML_(cur_minus)(instr, instrIN);
    }
 
    if (hi2 == DW_CFA_restore) {
       VG_(printf)("  sci:DW_CFA_restore(r%d)\n", (Int)lo6);
-      return i;
+      return ML_(cur_minus)(instr, instrIN);
    }
 
    vg_assert(hi2 == DW_CFA_use_secondary);
@@ -3326,84 +3417,71 @@
       case DW_CFA_set_loc:
          /* WAS: loc = read_Addr(&instr[i]); i+= sizeof(Addr); 
             (now known to be incorrect -- the address is encoded) */
-         loc = read_encoded_Addr(&len, adi, &instr[i]);
-         i += len;
+         loc = step_encoded_Addr(adi, &instr);
          VG_(printf)("  sci:DW_CFA_set_loc(%#lx)\n", loc);
          break;
 
       case DW_CFA_advance_loc1:
-         delta = (UInt)ML_(read_UChar)(&instr[i]); i+= sizeof(UChar);
+         delta = (UInt)ML_(cur_step_UChar)(&instr);
          VG_(printf)("  sci:DW_CFA_advance_loc1(%d)\n", delta); 
          break;
 
       case DW_CFA_advance_loc2:
-         delta = (UInt)ML_(read_UShort)(&instr[i]); i+= sizeof(UShort);
+         delta = (UInt)ML_(cur_step_UShort)(&instr);
          VG_(printf)("  sci:DW_CFA_advance_loc2(%d)\n", delta); 
          break;
 
       case DW_CFA_advance_loc4:
-         delta = (UInt)ML_(read_UInt)(&instr[i]); i+= sizeof(UInt);
+         delta = (UInt)ML_(cur_step_UInt)(&instr);
          VG_(printf)("  DW_CFA_advance_loc4(%d)\n", delta); 
          break;
 
       case DW_CFA_def_cfa:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 0 );
          VG_(printf)("  DW_CFA_def_cfa: r%d ofs %d\n", (Int)reg, (Int)off); 
          break;
 
       case DW_CFA_def_cfa_sf:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 1 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 1 );
          VG_(printf)("  DW_CFA_def_cfa_sf: r%d ofs %d\n", 
                      (Int)reg, (Int)(off * data_a_f));
          break;
 
       case DW_CFA_register:
-         reg = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
-         reg2 = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
+         reg  = step_leb128( &instr, 0);
+         reg2 = step_leb128( &instr, 0);
          VG_(printf)("  sci:DW_CFA_register(r%d, r%d)\n", reg, reg2); 
          break;
 
       case DW_CFA_def_cfa_register:
-         reg = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
+         reg = step_leb128( &instr, 0);
          VG_(printf)("  sci:DW_CFA_def_cfa_register(r%d)\n", reg); 
          break;
 
       case DW_CFA_def_cfa_offset: 
-         off = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
+         off = step_leb128( &instr, 0);
          VG_(printf)("  sci:DW_CFA_def_cfa_offset(%d)\n", off); 
          break;
 
       case DW_CFA_def_cfa_offset_sf:
-         off = read_leb128( &instr[i], &nleb, 1);
-         i += nleb;
+         off = step_leb128( &instr, 1);
          VG_(printf)("  sci:DW_CFA_def_cfa_offset_sf(%d)\n", off);
          break;
 
       case DW_CFA_restore_extended:
-         reg = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
+         reg = step_leb128( &instr, 0);
          VG_(printf)("  sci:DW_CFA_restore_extended(r%d)\n", reg);
          break;
 
       case DW_CFA_undefined:
-         reg = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
+         reg = step_leb128( &instr, 0);
          VG_(printf)("  sci:DW_CFA_undefined(r%d)\n", reg);
          break;
 
       case DW_CFA_same_value:
-         reg = read_leb128( &instr[i], &nleb, 0);
-         i += nleb;
+         reg = step_leb128( &instr, 0);
          VG_(printf)("  sci:DW_CFA_same_value(r%d)\n", reg);
          break;
 
@@ -3416,78 +3494,62 @@
          break;
 
       case DW_CFA_GNU_args_size:
-         off = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
+         off = step_leb128( &instr, 0 );
          VG_(printf)("  sci:DW_CFA_GNU_args_size(%d)\n", off ); 
          break;
 
       case DW_CFA_def_cfa_expression:
-         len = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         i += len;
+         len = step_leb128( &instr, 0 );
+         instr = ML_(cur_plus)(instr, len);
          VG_(printf)("  sci:DW_CFA_def_cfa_expression(length %d)\n", len);
          break;
 
       case DW_CFA_expression:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         len = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         i += len;
+         reg = step_leb128( &instr, 0 );
+         len = step_leb128( &instr, 0 );
+         instr = ML_(cur_plus)(instr, len);
          VG_(printf)("  sci:DW_CFA_expression(r%d, length %d)\n", reg, len);
          break;
 
       case DW_CFA_val_expression:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         len = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         i += len;
+         reg = step_leb128( &instr, 0 );
+         len = step_leb128( &instr, 0 );
+         instr = ML_(cur_plus)(instr, len);
          VG_(printf)("  sci:DW_CFA_val_expression(r%d, length %d)\n", reg, len);
          break;
 
       case DW_CFA_offset_extended:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 0 );
          VG_(printf)("  sci:DW_CFA_offset_extended(r%d, "
                      "off %d x data_af)\n", reg, off);
          break;
 
       case DW_CFA_offset_extended_sf:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 1 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 1 );
 	 coff = (Int)(off * data_a_f);
          VG_(printf)("  DW_CFA_offset_extended_sf: r%d at cfa%s%d\n", 
                         reg, coff < 0 ? "" : "+", coff);
          break;
 
       case DW_CFA_GNU_negative_offset_extended:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 0 );
          VG_(printf)("  sci:DW_CFA_GNU_negative_offset_extended"
                      "(r%d, off %d x data_af)\n", reg, -off);
          break;
 
       case DW_CFA_val_offset:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 0 );
          VG_(printf)("  sci:DW_CFA_val_offset(r%d, off %d x data_af)\n", 
                      reg, off);
          break;
 
        case DW_CFA_val_offset_sf:
-         reg = read_leb128( &instr[i], &nleb, 0 );
-         i += nleb;
-         off = read_leb128( &instr[i], &nleb, 1 );
-         i += nleb;
+         reg = step_leb128( &instr, 0 );
+         off = step_leb128( &instr, 1 );
          VG_(printf)("  sci:DW_CFA_val_offset_sf(r%d, off %d x data_af)\n", 
                      reg, off);
          break;
@@ -3501,19 +3563,20 @@
          break;
    }
 
-   return i;
+   return ML_(cur_minus)(instr, instrIN);
 }
 
 
 /* Show the instructions in instrs[0 .. ilen-1]. */
-static void show_CF_instructions ( UChar* instrs, Int ilen,
+static void show_CF_instructions ( DiCursor instrs, Int ilen,
                                    AddressDecodingInfo* adi,
                                    Int code_a_f, Int data_a_f )
 {
    Int i = 0;
    while (True) {
       if (i >= ilen) break;
-      i += show_CF_instruction( &instrs[i], adi, code_a_f, data_a_f );
+      i += show_CF_instruction( ML_(cur_plus)(instrs, i),
+                                adi, code_a_f, data_a_f );
    }
 }
 
@@ -3524,7 +3587,7 @@
 static 
 Bool run_CF_instructions ( struct _DebugInfo* di,
                            Bool record,
-                           UnwindContext* ctx, UChar* instrs, Int ilen,
+                           UnwindContext* ctx, DiCursor instrs, Int ilen,
                            UWord fde_arange,
                            UnwindContext* restore_ctx,
                            AddressDecodingInfo* adi )
@@ -3538,9 +3601,10 @@
    while (True) {
       loc_prev = ctx->loc;
       if (i >= ilen) break;
-      if (0) (void)show_CF_instruction( &instrs[i], adi, 
+      if (0) (void)show_CF_instruction( ML_(cur_plus)(instrs,i), adi, 
                                         ctx->code_a_f, ctx->data_a_f );
-      j = run_CF_instruction( ctx, &instrs[i], restore_ctx, adi, di );
+      j = run_CF_instruction( ctx, ML_(cur_plus)(instrs,i),
+                              restore_ctx, adi, di );
       if (j == 0)
          return False; /* execution failed */
       i += j;
@@ -3575,19 +3639,18 @@
 typedef
    struct {
       /* This gives the CIE an identity to which FDEs will refer. */
-      ULong  offset;
+      ULong    offset;
       /* Code, data factors. */
-      Int    code_a_f;
-      Int    data_a_f;
+      Int      code_a_f;
+      Int      data_a_f;
       /* Return-address pseudo-register. */
-      Int    ra_reg;
-      UChar  address_encoding;
-      /* Where are the instrs?  Note, this are simply pointers back to
-         the transiently-mapped-in section. */
-      UChar* instrs;
-      Int    ilen;
+      Int      ra_reg;
+      UChar    address_encoding;
+      /* Where are the instrs? */
+      DiCursor instrs;
+      Int      ilen;
       /* God knows .. don't ask */
-      Bool   saw_z_augmentation;
+      Bool     saw_z_augmentation;
    }
    CIE;
 
@@ -3598,12 +3661,12 @@
    cie->data_a_f           = 0;
    cie->ra_reg             = 0;
    cie->address_encoding   = 0;
-   cie->instrs             = NULL;
+   cie->instrs             = DiCursor_INVALID;
    cie->ilen               = 0;
    cie->saw_z_augmentation = False;
 }
 
-#define N_CIEs 4000
+#define N_CIEs 5000
 static CIE the_CIEs[N_CIEs];
 
 
@@ -3612,14 +3675,14 @@
    dealing with -- they are slightly different. */
 void ML_(read_callframe_info_dwarf3)
         ( /*OUT*/struct _DebugInfo* di,
-          UChar* frame_image, SizeT frame_size, Addr frame_avma,
-          Bool is_ehframe )
+          DiSlice escn_frame, Addr frame_avma, Bool is_ehframe )
 {
-   Int    nbytes;
-   HChar* how = NULL;
-   Int    n_CIEs = 0;
-   UChar* data = frame_image;
-   UWord  cfsi_used_orig;
+   const HChar* how = NULL;
+   Int      n_CIEs = 0;
+   DiCursor frame_image = ML_(cur_from_sli)(escn_frame); /* fixed */
+   DiOffT   frame_size  = escn_frame.szB;
+   DiCursor data        = frame_image;
+   UWord    cfsi_used_orig;
 
    /* If we're dealing with a .debug_frame, assume zero frame_avma. */
    if (!is_ehframe)
@@ -3645,10 +3708,9 @@
 
    if (di->trace_cfi) {
       VG_(printf)("\n-----------------------------------------------\n");
-      VG_(printf)("CFI info: szB %ld, _avma %#lx, _image %p\n",
-                  frame_size, frame_avma, frame_image );
-      VG_(printf)("CFI info: name %s\n",
-                  di->fsm.filename );
+      VG_(printf)("CFI info: szB %lld, _avma %#lx\n",
+                  escn_frame.szB, frame_avma );
+      VG_(printf)("CFI info: name %s\n", di->fsm.filename );
    }
 
    /* Loop over CIEs/FDEs */
@@ -3673,17 +3735,17 @@
       previously-seen CIE.
    */
    while (True) {
-      UChar* ciefde_start;
-      ULong  ciefde_len;
-      ULong  cie_pointer;
-      Bool   dw64;
+      DiCursor ciefde_start;
+      ULong    ciefde_len;
+      ULong    cie_pointer;
+      Bool     dw64;
 
       /* Are we done? */
-      if (data == frame_image + frame_size)
+      if (ML_(cur_cmpEQ)(data, ML_(cur_plus)(frame_image, frame_size)))
          return;
 
       /* Overshot the end?  Means something is wrong */
-      if (data > frame_image + frame_size) {
+      if (ML_(cur_cmpGT)(data, ML_(cur_plus)(frame_image, frame_size))) {
          how = "overran the end of .eh_frame";
          goto bad;
       }
@@ -3693,11 +3755,10 @@
 
       ciefde_start = data;
       if (di->trace_cfi) 
-         VG_(printf)("\ncie/fde.start   = %p (frame_image + 0x%lx)\n", 
-                     ciefde_start,
-                     ciefde_start - frame_image + 0UL);
+         VG_(printf)("\ncie/fde.start   = (frame_image + 0x%llx)\n", 
+                     ML_(cur_minus)(ciefde_start, frame_image));
 
-      ciefde_len = (ULong)ML_(read_UInt)(data); data += sizeof(UInt);
+      ciefde_len = (ULong)ML_(cur_step_UInt)(&data);
       if (di->trace_cfi) 
          VG_(printf)("cie/fde.length  = %lld\n", ciefde_len);
 
@@ -3707,8 +3768,8 @@
          places where .eh_frame and .debug_frame data differ. */
       if (ciefde_len == 0) {
          if (di->ddump_frames)
-            VG_(printf)("%08lx ZERO terminator\n\n",
-                        ((Addr)ciefde_start) - ((Addr)frame_image));
+            VG_(printf)("%08llx ZERO terminator\n\n",
+                        ML_(cur_minus)(ciefde_start, frame_image));
          return;
       }
 
@@ -3718,17 +3779,17 @@
       dw64 = False;
       if (ciefde_len == 0xFFFFFFFFUL) {
          dw64 = True;
-         ciefde_len = ML_(read_ULong)(data); data += sizeof(ULong);
+         ciefde_len = ML_(cur_step_ULong)(&data);
       }
 
       /* Now get the CIE ID, whose size depends on the DWARF 32 vs
 	 64-ness. */
       if (dw64) {
-         cie_pointer = ML_(read_ULong)(data); 
-         data += sizeof(ULong); /* XXX see XXX below */
+         /* see XXX below */
+         cie_pointer = ML_(cur_step_ULong)(&data); 
       } else {
-         cie_pointer = (ULong)ML_(read_UInt)(data); 
-         data += sizeof(UInt); /* XXX see XXX below */
+         /* see XXX below */
+         cie_pointer = (ULong)ML_(cur_step_UInt)(&data); 
       }
 
       if (di->trace_cfi) 
@@ -3739,9 +3800,9 @@
       if (cie_pointer == (is_ehframe ? 0ULL
                           : dw64 ? 0xFFFFFFFFFFFFFFFFULL : 0xFFFFFFFFULL)) {
 
-         Int    this_CIE;
-         UChar  cie_version;
-         UChar* cie_augmentation;
+         Int      this_CIE;
+         UChar    cie_version;
+         DiCursor cie_augmentation;
 
          /* --------- CIE --------- */
 	 if (di->trace_cfi) 
@@ -3761,15 +3822,16 @@
 
 	 /* Record its offset.  This is how we will find it again
             later when looking at an FDE. */
-         the_CIEs[this_CIE].offset = (ULong)(ciefde_start - frame_image);
+         the_CIEs[this_CIE].offset
+            = (ULong)ML_(cur_minus)(ciefde_start, frame_image);
 
          if (di->ddump_frames)
             VG_(printf)("%08lx %08lx %08lx CIE\n",
-                        ((Addr)ciefde_start) - ((Addr)frame_image),
+                        (Addr)ML_(cur_minus)(ciefde_start, frame_image),
                         (Addr)ciefde_len,
                         (Addr)(UWord)cie_pointer );
 
-         cie_version = ML_(read_UChar)(data); data += sizeof(UChar);
+         cie_version = ML_(cur_step_UChar)(&data);
          if (di->trace_cfi)
             VG_(printf)("cie.version     = %d\n", (Int)cie_version);
          if (di->ddump_frames)
@@ -3780,32 +3842,36 @@
          }
 
          cie_augmentation = data;
-         data += 1 + VG_(strlen)(cie_augmentation);
-         if (di->trace_cfi) 
-            VG_(printf)("cie.augment     = \"%s\"\n", cie_augmentation);
-         if (di->ddump_frames)
-            VG_(printf)("  Augmentation:          \"%s\"\n", cie_augmentation);
+         data = ML_(cur_plus)(data, 1 + ML_(cur_strlen)(cie_augmentation));
 
-         if (cie_augmentation[0] == 'e' && cie_augmentation[1] == 'h') {
-            data += sizeof(Addr);
-            cie_augmentation += 2;
+         if (di->trace_cfi || di->ddump_frames) {
+            HChar* str = ML_(cur_read_strdup)(cie_augmentation, "di.rcid3.1");
+            if (di->trace_cfi) 
+               VG_(printf)("cie.augment     = \"%s\"\n", str);
+            if (di->ddump_frames)
+               VG_(printf)("  Augmentation:          \"%s\"\n", str);
+            ML_(dinfo_free)(str);
+         }
+
+         if (ML_(cur_read_UChar)(cie_augmentation) == 'e'
+             && ML_(cur_read_UChar)
+                   (ML_(cur_plus)(cie_augmentation, 1)) == 'h') {
+            data = ML_(cur_plus)(data, sizeof(Addr));
+            cie_augmentation = ML_(cur_plus)(cie_augmentation, 2);
          }
 
          if (cie_version >= 4) {
-            if (ML_(read_UChar)(data) != sizeof(Addr)) {
+            if (ML_(cur_step_UChar)(&data) != sizeof(Addr)) {
                how = "unexpected address size";
                goto bad;
             }
-            data += sizeof(UChar);
-            if (ML_(read_UChar)(data) != 0) {
+            if (ML_(cur_step_UChar)(&data) != 0) {
                how = "unexpected non-zero segment size";
                goto bad;
             }
-            data += sizeof(UChar);
          }
 
-         the_CIEs[this_CIE].code_a_f = read_leb128( data, &nbytes, 0);
-         data += nbytes;
+         the_CIEs[this_CIE].code_a_f = step_leb128( &data, 0);
          if (di->trace_cfi) 
             VG_(printf)("cie.code_af     = %d\n", 
                         the_CIEs[this_CIE].code_a_f);
@@ -3813,8 +3879,7 @@
             VG_(printf)("  Code alignment factor: %d\n",
                         (Int)the_CIEs[this_CIE].code_a_f);
 
-         the_CIEs[this_CIE].data_a_f = read_leb128( data, &nbytes, 1);
-         data += nbytes;
+         the_CIEs[this_CIE].data_a_f = step_leb128( &data, 1);
          if (di->trace_cfi) 
             VG_(printf)("cie.data_af     = %d\n",
                         the_CIEs[this_CIE].data_a_f);
@@ -3823,11 +3888,9 @@
                         (Int)the_CIEs[this_CIE].data_a_f);
 
          if (cie_version == 1) {
-            the_CIEs[this_CIE].ra_reg = (Int)ML_(read_UChar)(data); 
-            data += sizeof(UChar);
+            the_CIEs[this_CIE].ra_reg = (Int)ML_(cur_step_UChar)(&data); 
          } else {
-            the_CIEs[this_CIE].ra_reg = read_leb128( data, &nbytes, 0);
-            data += nbytes;
+            the_CIEs[this_CIE].ra_reg = step_leb128( &data, 0);
          }
          if (di->trace_cfi) 
             VG_(printf)("cie.ra_reg      = %d\n", 
@@ -3843,46 +3906,47 @@
          }
 
          the_CIEs[this_CIE].saw_z_augmentation 
-            = *cie_augmentation == 'z';
+            = ML_(cur_read_UChar)(cie_augmentation) == 'z';
          if (the_CIEs[this_CIE].saw_z_augmentation) {
-            UInt length = read_leb128( data, &nbytes, 0);
-            data += nbytes;
-            the_CIEs[this_CIE].instrs = data + length;
-            cie_augmentation++;
+            UInt length = step_leb128( &data, 0);
+            the_CIEs[this_CIE].instrs = ML_(cur_plus)(data, length);
+            cie_augmentation = ML_(cur_plus)(cie_augmentation, 1);
             if (di->ddump_frames) {
                UInt i;
                VG_(printf)("  Augmentation data:    ");
                for (i = 0; i < length; i++)
-                  VG_(printf)(" %02x", (UInt)data[i]);
+                  VG_(printf)(" %02x", (UInt)ML_(cur_read_UChar)
+                                                (ML_(cur_plus)(data, i)));
                VG_(printf)("\n");
             }
          } else {
-            the_CIEs[this_CIE].instrs = NULL;
+            the_CIEs[this_CIE].instrs = DiCursor_INVALID;
          }
 
          the_CIEs[this_CIE].address_encoding = default_Addr_encoding();
 
-         while (*cie_augmentation) {
-            switch (*cie_augmentation) {
+         while (ML_(cur_read_UChar)(cie_augmentation)) {
+            switch (ML_(cur_read_UChar)(cie_augmentation)) {
                case 'L':
-                  data++;
-                  cie_augmentation++;
+                  data = ML_(cur_plus)(data, 1);
+                  cie_augmentation = ML_(cur_plus)(cie_augmentation, 1);
                   break;
                case 'R':
                   the_CIEs[this_CIE].address_encoding 
-                     = ML_(read_UChar)(data); data += sizeof(UChar);
-                  cie_augmentation++;
+                     = ML_(cur_step_UChar)(&data);
+                  cie_augmentation = ML_(cur_plus)(cie_augmentation, 1);
                   break;
                case 'P':
-                  data += size_of_encoded_Addr( ML_(read_UChar)(data) );
-                  data++;
-                  cie_augmentation++;
+                  data = ML_(cur_plus)(data, size_of_encoded_Addr(
+                                                ML_(cur_read_UChar)(data) ));
+                  data = ML_(cur_plus)(data, 1);
+                  cie_augmentation = ML_(cur_plus)(cie_augmentation, 1);
                   break;
                case 'S':
-                  cie_augmentation++;
+                  cie_augmentation = ML_(cur_plus)(cie_augmentation, 1);
                   break;
                default:
-                  if (the_CIEs[this_CIE].instrs == NULL) {
+                  if (!ML_(cur_is_valid)(the_CIEs[this_CIE].instrs)) {
                      how = "unhandled cie.augmentation";
                      goto bad;
                   }
@@ -3898,10 +3962,10 @@
                         the_CIEs[this_CIE].address_encoding);
 
          the_CIEs[this_CIE].instrs = data;
-         the_CIEs[this_CIE].ilen
-            = ciefde_start + ciefde_len + sizeof(UInt) - data;
+         the_CIEs[this_CIE].ilen   = ML_(cur_minus)(ciefde_start, data) 
+                                     + (Long)ciefde_len + (Long)sizeof(UInt);
          if (di->trace_cfi) {
-            VG_(printf)("cie.instrs      = %p\n", the_CIEs[this_CIE].instrs);
+            //VG_(printf)("cie.instrs      = %p\n", the_CIEs[this_CIE].instrs);
             VG_(printf)("cie.ilen        = %d\n", the_CIEs[this_CIE].ilen);
 	 }
 
@@ -3911,7 +3975,7 @@
             goto bad;
          }
 
-         data += the_CIEs[this_CIE].ilen;
+         data = ML_(cur_plus)(data, the_CIEs[this_CIE].ilen);
 
          /* Show the CIE's instructions (the preamble for each FDE
             that uses this CIE). */ 
@@ -3937,13 +4001,13 @@
 
          AddressDecodingInfo adi;
          UnwindContext ctx, restore_ctx;
-         Int    cie;
-         ULong  look_for;
-         Bool   ok;
-         Addr   fde_initloc;
-         UWord  fde_arange;
-         UChar* fde_instrs;
-         Int    fde_ilen;
+         Int      cie;
+         ULong    look_for;
+         Bool     ok;
+         Addr     fde_initloc;
+         UWord    fde_arange;
+         DiCursor fde_instrs;
+         Int      fde_ilen;
 
          /* --------- FDE --------- */
 
@@ -3952,8 +4016,8 @@
 
          /* re sizeof(UInt) / sizeof(ULong), matches XXX above. */
          if (is_ehframe)
-            look_for = (data - (dw64 ? sizeof(ULong) : sizeof(UInt)) 
-                             - frame_image) 
+            look_for = ML_(cur_minus)(data, frame_image)
+                       - (dw64 ? sizeof(ULong) : sizeof(UInt))
                        - cie_pointer;
          else
             look_for = cie_pointer;
@@ -3974,8 +4038,7 @@
          adi.ehframe_image = frame_image;
          adi.ehframe_avma  = frame_avma;
          adi.text_bias     = di->text_debug_bias;
-         fde_initloc = read_encoded_Addr(&nbytes, &adi, data);
-         data += nbytes;
+         fde_initloc = step_encoded_Addr(&adi, &data);
          if (di->trace_cfi) 
             VG_(printf)("fde.initloc     = %#lx\n", fde_initloc);
 
@@ -3993,8 +4056,7 @@
            switch (ptr_size) {
               case 8: case 4: case 2: case 1: 
                  fde_arange 
-                    = (UWord)read_le_u_encoded_literal(data, ptr_size);
-                 data += ptr_size;
+                    = (UWord)step_le_u_encoded_literal(&data, ptr_size);
                  break;
               default: 
                  how = "unknown arange field encoding in FDE";
@@ -4007,7 +4069,7 @@
 
          if (di->ddump_frames)
             VG_(printf)("%08lx %08lx %08lx FDE cie=%08lx pc=%08lx..%08lx\n",
-                        ((Addr)ciefde_start) - ((Addr)frame_image),
+                        (Addr)ML_(cur_minus)(ciefde_start, frame_image),
                         (Addr)ciefde_len,
                         (Addr)(UWord)cie_pointer,
                         (Addr)look_for, 
@@ -4015,22 +4077,23 @@
                         ((Addr)fde_initloc) - di->text_debug_bias + fde_arange);
 
          if (the_CIEs[cie].saw_z_augmentation) {
-            UInt length = read_leb128( data, &nbytes, 0);
-            data += nbytes;
+            UInt length = step_leb128( &data, 0);
             if (di->ddump_frames && (length > 0)) {
                UInt i;
                VG_(printf)("  Augmentation data:    ");
                for (i = 0; i < length; i++)
-                  VG_(printf)(" %02x", (UInt)data[i]);
+                  VG_(printf)(" %02x", (UInt)ML_(cur_read_UChar)
+                                                (ML_(cur_plus)(data, i)));
                VG_(printf)("\n\n");
             }
-            data += length;
+            data = ML_(cur_plus)(data, length);
          }
 
          fde_instrs = data;
-         fde_ilen   = ciefde_start + ciefde_len + sizeof(UInt) - data;
+         fde_ilen   = ML_(cur_minus)(ciefde_start, data)
+                      + (Long)ciefde_len + (Long)sizeof(UInt);
          if (di->trace_cfi) {
-            VG_(printf)("fde.instrs      = %p\n", fde_instrs);
+            //VG_(printf)("fde.instrs      = %p\n", fde_instrs);
             VG_(printf)("fde.ilen        = %d\n", (Int)fde_ilen);
 	 }
 
@@ -4039,7 +4102,7 @@
             goto bad;
          }
 
-	 data += fde_ilen;
+	 data = ML_(cur_plus)(data, fde_ilen);
 
          /* If this object's DebugInfo* had some DiCFSIs from a
             previous .eh_frame or .debug_frame read, we must check
diff --git a/coregrind/m_debuginfo/readdwarf3.c b/coregrind/m_debuginfo/readdwarf3.c
index bb90ef6..fe35f55 100644
--- a/coregrind/m_debuginfo/readdwarf3.c
+++ b/coregrind/m_debuginfo/readdwarf3.c
@@ -1,3 +1,4 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
 
 /*--------------------------------------------------------------------*/
 /*--- Read DWARF3/4 ".debug_info" sections (DIE trees).            ---*/
@@ -8,7 +9,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks LLP
+   Copyright (C) 2008-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -71,7 +72,7 @@
    ML_(sizeOfType): differentiate between zero sized types and types
    for which the size is unknown.  Is this important?  I don't know.
 
-   DW_AT_array_types: deal with explicit sizes (currently we compute
+   DW_TAG_array_types: deal with explicit sizes (currently we compute
    the size from the bounds and the element size, although that's
    fragile, if the bounds incompletely specified, or completely
    absent)
@@ -85,7 +86,7 @@
    expressions correctly, by failing to evaluate them and hence
    effectively ignoring the variable with which they are associated.
 
-   Deal with DW_AT_array_types which have element size != stride
+   Deal with DW_TAG_array_types which have element size != stride
 
    In some cases, the info for a variable is split between two
    different DIEs (generally a declarer and a definer).  We punt on
@@ -140,11 +141,13 @@
 #include "pub_core_libcassert.h"
 #include "pub_core_libcprint.h"
 #include "pub_core_libcsetjmp.h"   // setjmp facilities
+#include "pub_core_hashtable.h"
 #include "pub_core_options.h"
 #include "pub_core_tooliface.h"    /* VG_(needs) */
 #include "pub_core_xarray.h"
 #include "pub_core_wordfm.h"
 #include "priv_misc.h"             /* dinfo_zalloc/free */
+#include "priv_image.h"
 #include "priv_tytypes.h"
 #include "priv_d3basics.h"
 #include "priv_storage.h"
@@ -165,11 +168,10 @@
 
 typedef
    struct {
-      UChar* region_start_img;
-      UWord  region_szB;
-      UWord  region_next;
-      void (*barf)( HChar* ) __attribute__((noreturn));
-      HChar* barfstr;
+      DiSlice sli;      // to which this cursor applies
+      DiOffT  sli_next; // offset in underlying DiImage; must be >= sli.ioff
+      void (*barf)( const HChar* ) __attribute__((noreturn));
+      const HChar* barfstr;
    }
    Cursor;
 
@@ -177,21 +179,25 @@
    if (!c)                return False;
    if (!c->barf)          return False;
    if (!c->barfstr)       return False;
+   if (!ML_(sli_is_valid)(c->sli))    return False;
+   if (c->sli.ioff == DiOffT_INVALID) return False;
+   if (c->sli_next < c->sli.ioff)     return False;
    return True;
 }
 
-static void init_Cursor ( Cursor* c,
-                          UChar*  region_start_img,
-                          UWord   region_szB,
-                          UWord   region_next,
-                          __attribute__((noreturn)) void (*barf)( HChar* ),
-                          HChar*  barfstr )
+// Initialise a cursor from a DiSlice (ELF section, really) so as to
+// start reading at offset |sli_initial_offset| from the start of the
+// slice.
+static void init_Cursor ( /*OUT*/Cursor* c,
+                          DiSlice sli,
+                          ULong   sli_initial_offset,
+                          __attribute__((noreturn)) void (*barf)(const HChar*),
+                          const HChar* barfstr )
 {
    vg_assert(c);
-   VG_(memset)(c, 0, sizeof(*c));
-   c->region_start_img = region_start_img;
-   c->region_szB       = region_szB;
-   c->region_next      = region_next;
+   VG_(bzero_inline)(c, sizeof(*c));
+   c->sli              = sli;
+   c->sli_next         = c->sli.ioff + sli_initial_offset;
    c->barf             = barf;
    c->barfstr          = barfstr;
    vg_assert(is_sane_Cursor(c));
@@ -199,79 +205,83 @@
 
 static Bool is_at_end_Cursor ( Cursor* c ) {
    vg_assert(is_sane_Cursor(c));
-   return c->region_next >= c->region_szB;
+   return c->sli_next >= c->sli.ioff + c->sli.szB;
 }
 
-static inline UWord get_position_of_Cursor ( Cursor* c ) {
+static inline ULong get_position_of_Cursor ( Cursor* c ) {
    vg_assert(is_sane_Cursor(c));
-   return c->region_next;
+   return c->sli_next - c->sli.ioff;
 }
-static inline void set_position_of_Cursor ( Cursor* c, UWord pos ) {
-   c->region_next = pos;
+static inline void set_position_of_Cursor ( Cursor* c, ULong pos ) {
+   c->sli_next = c->sli.ioff + pos;
    vg_assert(is_sane_Cursor(c));
 }
 
-static /*signed*/Word get_remaining_length_Cursor ( Cursor* c ) {
+static /*signed*/Long get_remaining_length_Cursor ( Cursor* c ) {
    vg_assert(is_sane_Cursor(c));
-   return c->region_szB - c->region_next;
+   return c->sli.ioff + c->sli.szB - c->sli_next;
 }
 
-static UChar* get_address_of_Cursor ( Cursor* c ) {
-   vg_assert(is_sane_Cursor(c));
-   return &c->region_start_img[ c->region_next ];
+//static void* get_address_of_Cursor ( Cursor* c ) {
+//   vg_assert(is_sane_Cursor(c));
+//   return &c->region_start_img[ c->region_next ];
+//}
+
+static DiCursor get_DiCursor_from_Cursor ( Cursor* c ) {
+   return mk_DiCursor(c->sli.img, c->sli_next);
 }
 
 /* FIXME: document assumptions on endianness for
    get_UShort/UInt/ULong. */
 static inline UChar get_UChar ( Cursor* c ) {
    UChar r;
-   /* vg_assert(is_sane_Cursor(c)); */
-   if (c->region_next + sizeof(UChar) > c->region_szB) {
+   vg_assert(is_sane_Cursor(c));
+   if (c->sli_next + sizeof(UChar) > c->sli.ioff + c->sli.szB) {
       c->barf(c->barfstr);
       /*NOTREACHED*/
       vg_assert(0);
    }
-   r = * (UChar*) &c->region_start_img[ c->region_next ];
-   c->region_next += sizeof(UChar);
+   r = ML_(img_get_UChar)(c->sli.img, c->sli_next);
+   c->sli_next += sizeof(UChar);
    return r;
 }
 static UShort get_UShort ( Cursor* c ) {
    UShort r;
    vg_assert(is_sane_Cursor(c));
-   if (c->region_next + sizeof(UShort) > c->region_szB) {
+   if (c->sli_next + sizeof(UShort) > c->sli.ioff + c->sli.szB) {
       c->barf(c->barfstr);
       /*NOTREACHED*/
       vg_assert(0);
    }
-   r = ML_(read_UShort)(&c->region_start_img[ c->region_next ]);
-   c->region_next += sizeof(UShort);
+   r = ML_(img_get_UShort)(c->sli.img, c->sli_next);
+   c->sli_next += sizeof(UShort);
    return r;
 }
 static UInt get_UInt ( Cursor* c ) {
    UInt r;
    vg_assert(is_sane_Cursor(c));
-   if (c->region_next + sizeof(UInt) > c->region_szB) {
+   if (c->sli_next + sizeof(UInt) > c->sli.ioff + c->sli.szB) {
       c->barf(c->barfstr);
       /*NOTREACHED*/
       vg_assert(0);
    }
-   r = ML_(read_UInt)(&c->region_start_img[ c->region_next ]);
-   c->region_next += sizeof(UInt);
+   r = ML_(img_get_UInt)(c->sli.img, c->sli_next);
+   c->sli_next += sizeof(UInt);
    return r;
 }
 static ULong get_ULong ( Cursor* c ) {
    ULong r;
    vg_assert(is_sane_Cursor(c));
-   if (c->region_next + sizeof(ULong) > c->region_szB) {
+   if (c->sli_next + sizeof(ULong) > c->sli.ioff + c->sli.szB) {
       c->barf(c->barfstr);
       /*NOTREACHED*/
       vg_assert(0);
    }
-   r = ML_(read_ULong)(&c->region_start_img[ c->region_next ]);
-   c->region_next += sizeof(ULong);
+   r = ML_(img_get_ULong)(c->sli.img, c->sli_next);
+   c->sli_next += sizeof(ULong);
    return r;
 }
-static inline ULong get_ULEB128 ( Cursor* c ) {
+static ULong get_ULEB128 ( Cursor* c ) {
    ULong result;
    Int   shift;
    UChar byte;
@@ -302,29 +312,28 @@
    return result;
 }
 
-/* Assume 'c' points to the start of a string.  Return the absolute
-   address of whatever it points at, and advance it past the
-   terminating zero.  This makes it safe for the caller to then copy
-   the string with ML_(addStr), since (w.r.t. image overruns) the
-   process of advancing past the terminating zero will already have
-   "vetted" the string. */
-static UChar* get_AsciiZ ( Cursor* c ) {
-   UChar  uc;
-   UChar* res = get_address_of_Cursor(c);
+/* Assume 'c' points to the start of a string.  Return a DiCursor of
+   whatever it points at, and advance it past the terminating zero.
+   This makes it safe for the caller to then copy the string with
+   ML_(addStr), since (w.r.t. image overruns) the process of advancing
+   past the terminating zero will already have "vetted" the string. */
+static DiCursor get_AsciiZ ( Cursor* c ) {
+   UChar uc;
+   DiCursor res = get_DiCursor_from_Cursor(c);
    do { uc = get_UChar(c); } while (uc != 0);
    return res;
 }
 
 static ULong peek_ULEB128 ( Cursor* c ) {
-   Word here = c->region_next;
-   ULong r = get_ULEB128( c );
-   c->region_next = here;
+   DiOffT here = c->sli_next;
+   ULong  r    = get_ULEB128( c );
+   c->sli_next = here;
    return r;
 }
 static UChar peek_UChar ( Cursor* c ) {
-   Word here = c->region_next;
-   UChar r = get_UChar( c );
-   c->region_next = here;
+   DiOffT here = c->sli_next;
+   UChar  r    = get_UChar( c );
+   c->sli_next = here;
    return r;
 }
 
@@ -342,7 +351,7 @@
 /* Read a DWARF3 'Initial Length' field */
 static ULong get_Initial_Length ( /*OUT*/Bool* is64,
                                   Cursor* c, 
-                                  HChar* barfMsg )
+                                  const HChar* barfMsg )
 {
    ULong w64;
    UInt  w32;
@@ -376,7 +385,7 @@
 typedef
    struct {
       /* Call here if anything goes wrong */
-      void (*barf)( HChar* ) __attribute__((noreturn));
+      void (*barf)( const HChar* ) __attribute__((noreturn));
       /* Is this 64-bit DWARF ? */
       Bool   is_dw64;
       /* Which DWARF version ?  (2, 3 or 4) */
@@ -396,25 +405,28 @@
          values. */
       Addr   cu_svma;
       Bool   cu_svma_known;
+
       /* The debug_abbreviations table to be used for this Unit */
-      UChar* debug_abbv;
+      //UChar* debug_abbv;
       /* Upper bound on size thereof (an overestimate, in general) */
-      UWord  debug_abbv_maxszB;
-      /* Where is .debug_str ? */
-      UChar* debug_str_img;
-      UWord  debug_str_sz;
-      /* Where is .debug_ranges ? */
-      UChar* debug_ranges_img;
-      UWord  debug_ranges_sz;
-      /* Where is .debug_loc ? */
-      UChar* debug_loc_img;
-      UWord  debug_loc_sz;
-      /* Where is .debug_line? */
-      UChar* debug_line_img;
-      UWord  debug_line_sz;
-      /* Where is .debug_info? */
-      UChar* debug_info_img;
-      UWord  debug_info_sz;
+      //UWord  debug_abbv_maxszB;
+      /* A bounded area of the image, to be used as the
+         debug_abbreviations table tobe used for this Unit. */
+      DiSlice debug_abbv;
+
+      /* Image information for various sections. */
+      DiSlice escn_debug_str;
+      DiSlice escn_debug_ranges;
+      DiSlice escn_debug_loc;
+      DiSlice escn_debug_line;
+      DiSlice escn_debug_info;
+      DiSlice escn_debug_types;
+      DiSlice escn_debug_info_alt;
+      DiSlice escn_debug_str_alt;
+      /* How much to add to .debug_types resp. alternate .debug_info offsets
+         in cook_die*.  */
+      UWord  types_cuOff_bias;
+      UWord  alt_cuOff_bias;
       /* --- Needed so we can add stuff to the string table. --- */
       struct _DebugInfo* di;
       /* --- a cache for set_abbv_Cursor --- */
@@ -422,10 +434,80 @@
       struct { ULong abbv_code; UWord posn; } saC_cache[N_ABBV_CACHE];
       UWord saC_cache_queries;
       UWord saC_cache_misses;
+
+      /* True if this came from .debug_types; otherwise it came from
+         .debug_info.  */
+      Bool is_type_unit;
+      /* For a unit coming from .debug_types, these hold the TU's type
+         signature and the uncooked DIE offset of the TU's signatured
+         type.  For a unit coming from .debug_info, these are unused.  */
+      ULong type_signature;
+      ULong type_offset;
+
+      /* Signatured type hash; computed once and then shared by all
+         CUs.  */
+      VgHashTable signature_types;
+
+      /* True if this came from alternate .debug_info; otherwise
+         it came from normal .debug_info or .debug_types.  */
+      Bool is_alt_info;
    }
    CUConst;
 
 
+/* Return the cooked value of DIE depending on whether CC represents a
+   .debug_types unit.  To cook a DIE, we pretend that the .debug_info,
+   .debug_types and optional alternate .debug_info sections form
+   a contiguous whole, so that DIEs coming from .debug_types are numbered
+   starting at the end of .debug_info and DIEs coming from alternate
+   .debug_info are numbered starting at the end of .debug_types.  */
+static UWord cook_die( CUConst* cc, UWord die )
+{
+   if (cc->is_type_unit)
+      die += cc->types_cuOff_bias;
+   else if (cc->is_alt_info)
+      die += cc->alt_cuOff_bias;
+   return die;
+}
+
+/* Like cook_die, but understand that DIEs coming from a
+   DW_FORM_ref_sig8 reference are already cooked.  Also, handle
+   DW_FORM_GNU_ref_alt from within primary .debug_info or .debug_types
+   as reference to alternate .debug_info.  */
+static UWord cook_die_using_form( CUConst *cc, UWord die, DW_FORM form)
+{
+   if (form == DW_FORM_ref_sig8)
+      return die;
+   if (form == DW_FORM_GNU_ref_alt)
+      return die + cc->alt_cuOff_bias;
+   return cook_die( cc, die );
+}
+
+/* Return the uncooked offset of DIE and set *TYPE_FLAG to true if the DIE
+   came from the .debug_types section and *ALT_FLAG to true if the DIE
+   came from alternate .debug_info section.  */
+static UWord uncook_die( CUConst *cc, UWord die, /*OUT*/Bool *type_flag,
+                         Bool *alt_flag )
+{
+   *alt_flag = False;
+   *type_flag = False;
+   /* The use of escn_debug_{info,types}.szB seems safe to me even if
+      escn_debug_{info,types} are DiSlice_INVALID (meaning the
+      sections were not found), because DiSlice_INVALID.szB is always
+      zero.  That said, it seems unlikely we'd ever get here if
+      .debug_info or .debug_types were missing. */
+   if (die >= cc->escn_debug_info.szB) {
+      if (die >= cc->escn_debug_info.szB + cc->escn_debug_types.szB) {
+         *alt_flag = True;
+         die -= cc->escn_debug_info.szB + cc->escn_debug_types.szB;
+      } else {
+         *type_flag = True;
+         die -= cc->escn_debug_info.szB;
+      }
+   }
+   return die;
+}
+
 /*------------------------------------------------------------*/
 /*---                                                      ---*/
 /*--- Helper functions for Guarded Expressions             ---*/
@@ -500,7 +582,7 @@
 }
 
 __attribute__((noinline))
-static GExpr* make_singleton_GX ( UChar* block, UWord nbytes )
+static GExpr* make_singleton_GX ( DiCursor block, ULong nbytes )
 {
    SizeT  bytesReqd;
    GExpr* gx;
@@ -511,7 +593,7 @@
    bytesReqd
       =   sizeof(UChar)  /*biasMe*/    + sizeof(UChar) /*!isEnd*/
         + sizeof(UWord)  /*aMin*/      + sizeof(UWord) /*aMax*/
-        + sizeof(UShort) /*nbytes*/    + nbytes
+        + sizeof(UShort) /*nbytes*/    + (SizeT)nbytes
         + sizeof(UChar); /*isEnd*/
 
    gx = ML_(dinfo_zalloc)( "di.readdwarf3.msGX.1", 
@@ -525,7 +607,7 @@
    p = ML_(write_Addr)(p, 0);         /*aMin*/
    p = ML_(write_Addr)(p, ~0);        /*aMax*/
    p = ML_(write_UShort)(p, nbytes);  /*nbytes*/
-   VG_(memcpy)(p, block, nbytes); p += nbytes;
+   ML_(cur_read_get)(p, block, nbytes); p += nbytes;
    p = ML_(write_UChar)(p, 1);        /*isEnd*/
 
    vg_assert( (SizeT)(p - pstart) == bytesReqd);
@@ -538,7 +620,7 @@
 __attribute__((noinline))
 static GExpr* make_general_GX ( CUConst* cc,
                                 Bool     td3,
-                                UWord    debug_loc_offset,
+                                ULong    debug_loc_offset,
                                 Addr     svma_of_referencing_CU )
 {
    Addr      base;
@@ -548,16 +630,15 @@
    Word      nbytes;
 
    vg_assert(sizeof(UWord) == sizeof(Addr));
-   if (cc->debug_loc_sz == 0)
+   if (!ML_(sli_is_valid)(cc->escn_debug_loc) || cc->escn_debug_loc.szB == 0)
       cc->barf("make_general_GX: .debug_loc is empty/missing");
 
-   init_Cursor( &loc, cc->debug_loc_img, 
-                cc->debug_loc_sz, 0, cc->barf,
+   init_Cursor( &loc, cc->escn_debug_loc, 0, cc->barf,
                 "Overrun whilst reading .debug_loc section(2)" );
    set_position_of_Cursor( &loc, debug_loc_offset );
 
-   TRACE_D3("make_general_GX (.debug_loc_offset = %lu, img = %p) {\n",
-            debug_loc_offset, get_address_of_Cursor( &loc ) );
+   TRACE_D3("make_general_GX (.debug_loc_offset = %llu, ioff = %llu) {\n",
+            debug_loc_offset, (ULong)get_DiCursor_from_Cursor(&loc).ioff );
 
    /* Who frees this xa?  It is freed before this fn exits. */
    xa = VG_(newXA)( ML_(dinfo_zalloc), "di.readdwarf3.mgGX.1", 
@@ -593,7 +674,7 @@
          (sec 2.17.2) */
       if (w1 > w2) {
          TRACE_D3("negative range is for .debug_loc expr at "
-                  "file offset %lu\n", 
+                  "file offset %llu\n", 
                   debug_loc_offset);
          cc->barf( "negative range in .debug_loc section" );
       }
@@ -727,11 +808,11 @@
    XArray*   xa; /* XArray of AddrRange */
    AddrRange pair;
 
-   if (cc->debug_ranges_sz == 0)
+   if (!ML_(sli_is_valid)(cc->escn_debug_ranges)
+       || cc->escn_debug_ranges.szB == 0)
       cc->barf("get_range_list: .debug_ranges is empty/missing");
 
-   init_Cursor( &ranges, cc->debug_ranges_img, 
-                cc->debug_ranges_sz, 0, cc->barf,
+   init_Cursor( &ranges, cc->escn_debug_ranges, 0, cc->barf,
                 "Overrun whilst reading .debug_ranges section(2)" );
    set_position_of_Cursor( &ranges, debug_ranges_offset );
 
@@ -778,10 +859,12 @@
 void parse_CU_Header ( /*OUT*/CUConst* cc,
                        Bool td3,
                        Cursor* c, 
-                       UChar* debug_abbv_img, UWord debug_abbv_sz )
+                       DiSlice escn_debug_abbv,
+		       Bool type_unit,
+                       Bool alt_info )
 {
    UChar  address_size;
-   UWord  debug_abbrev_offset;
+   ULong  debug_abbrev_offset;
    Int    i;
 
    VG_(memset)(cc, 0, sizeof(*cc));
@@ -803,9 +886,9 @@
 
    /* debug_abbrev_offset */
    debug_abbrev_offset = get_Dwarfish_UWord( c, cc->is_dw64 );
-   if (debug_abbrev_offset >= debug_abbv_sz)
+   if (debug_abbrev_offset >= escn_debug_abbv.szB)
       cc->barf( "parse_CU_Header: invalid debug_abbrev_offset" );
-   TRACE_D3("   Abbrev Offset: %ld\n", debug_abbrev_offset );
+   TRACE_D3("   Abbrev Offset: %lld\n", debug_abbrev_offset );
 
    /* address size.  If this isn't equal to the host word size, just
       give up.  This makes it safe to assume elsewhere that
@@ -816,13 +899,30 @@
       cc->barf( "parse_CU_Header: invalid address_size" );
    TRACE_D3("   Pointer Size:  %d\n", (Int)address_size );
 
-   /* Set up so that cc->debug_abbv points to the relevant table for
-      this CU.  Set the szB so that at least we can't read off the end
-      of the debug_abbrev section -- potentially (and quite likely)
-      too big, if this isn't the last table in the section, but at
-      least it's safe. */
-   cc->debug_abbv        = debug_abbv_img + debug_abbrev_offset;
-   cc->debug_abbv_maxszB = debug_abbv_sz  - debug_abbrev_offset;
+   cc->is_type_unit = type_unit;
+   cc->is_alt_info = alt_info;
+
+   if (type_unit) {
+      cc->type_signature = get_ULong( c );
+      cc->type_offset = get_Dwarfish_UWord( c, cc->is_dw64 );
+   }
+
+   /* Set up cc->debug_abbv to point to the relevant table for this
+      CU.  Set its .szB so that at least we can't read off the end of
+      the debug_abbrev section -- potentially (and quite likely) too
+      big, if this isn't the last table in the section, but at least
+      it's safe.
+
+      This amounts to taking debug_abbv_escn and moving the start
+      position along by debug_abbrev_offset bytes, hence forming a
+      smaller DiSlice which has the same end point.  Since we checked
+      just above that debug_abbrev_offset is less than the size of
+      debug_abbv_escn, this should leave us with a nonempty slice. */
+   vg_assert(debug_abbrev_offset < escn_debug_abbv.szB);
+   cc->debug_abbv      = escn_debug_abbv;
+   cc->debug_abbv.ioff += debug_abbrev_offset;
+   cc->debug_abbv.szB  -= debug_abbrev_offset;
+
    /* and empty out the set_abbv_Cursor cache */
    if (0) VG_(printf)("XXXXXX initialise set_abbv_Cursor cache\n");
    for (i = 0; i < N_ABBV_CACHE; i++) {
@@ -858,27 +958,25 @@
    for (i = 0; i < N_ABBV_CACHE; i++) {
       /* No need to test the cached abbv_codes for -1 (empty), since
          we just asserted that abbv_code is not -1. */
-     if (cc->saC_cache[i].abbv_code == abbv_code) {
-        /* Found it.  Cool.  Set up the parser using the cached
-           position, and move this cache entry 1 step closer to the
-           front. */
-        if (0) VG_(printf)("XXXXXX found in set_abbv_Cursor cache\n");
-        init_Cursor( c, cc->debug_abbv,
-                     cc->debug_abbv_maxszB, cc->saC_cache[i].posn, 
-                     cc->barf,
-                     "Overrun whilst parsing .debug_abbrev section(1)" );
-        if (i > 0) {
-           ULong t_abbv_code = cc->saC_cache[i].abbv_code;
-           UWord t_posn = cc->saC_cache[i].posn;
-           while (i > 0) {
-              cc->saC_cache[i] = cc->saC_cache[i-1];
-              cc->saC_cache[0].abbv_code = t_abbv_code;
-              cc->saC_cache[0].posn = t_posn;
-              i--;
-           }
-        }
-        return;
-     }
+      if (LIKELY(cc->saC_cache[i].abbv_code == abbv_code)) {
+         /* Found it.  Set up the parser using the cached position,
+            and move this cache entry to the front. */
+         if (0) VG_(printf)("XXXXXX found in set_abbv_Cursor cache\n");
+         init_Cursor( c, cc->debug_abbv, cc->saC_cache[i].posn, 
+                      cc->barf,
+                      "Overrun whilst parsing .debug_abbrev section(1)" );
+         if (i > 0) {
+            ULong t_abbv_code = cc->saC_cache[i].abbv_code;
+            UWord t_posn      = cc->saC_cache[i].posn;
+            while (i > 0) {
+               cc->saC_cache[i] = cc->saC_cache[i-1];
+               i--;
+            }
+            cc->saC_cache[0].abbv_code = t_abbv_code;
+            cc->saC_cache[0].posn      = t_posn;
+         }
+         return;
+      }
    }
 
    /* No.  It's not in the cache.  We have to search through
@@ -886,7 +984,7 @@
       when done. */
 
    cc->saC_cache_misses++;
-   init_Cursor( c, cc->debug_abbv, cc->debug_abbv_maxszB, 0, cc->barf,
+   init_Cursor( c, cc->debug_abbv, 0, cc->barf,
                "Overrun whilst parsing .debug_abbrev section(2)" );
 
    /* Now iterate though the table until we find the requested
@@ -926,70 +1024,107 @@
    cc->saC_cache[N_ABBV_CACHE/2].posn = get_position_of_Cursor(c);
 }
 
+/* This represents a single signatured type.  It maps a type signature
+   (a ULong) to a cooked DIE offset.  Objects of this type are stored
+   in the type signature hash table.  */
+typedef
+   struct D3SignatureType {
+      struct D3SignatureType *next;
+      UWord data;
+      ULong type_signature;
+      UWord die;
+   }
+   D3SignatureType;
 
-/* From 'c', get the Form data into the lowest 1/2/4/8 bytes of *cts.
+/* Record a signatured type in the hash table.  */
+static void record_signatured_type ( VgHashTable tab,
+                                     ULong type_signature,
+                                     UWord die )
+{
+   D3SignatureType *dstype = ML_(dinfo_zalloc) ( "di.readdwarf3.sigtype",
+                                                 sizeof(D3SignatureType) );
+   dstype->data = (UWord) type_signature;
+   dstype->type_signature = type_signature;
+   dstype->die = die;
+   VG_(HT_add_node) ( tab, dstype );
+}
 
-   If *cts itself contains the entire result, then *ctsSzB is set to
-   1,2,4 or 8 accordingly and *ctsMemSzB is set to zero.
+/* Given a type signature hash table and a type signature, return the
+   cooked DIE offset of the type.  If the type cannot be found, call
+   BARF.  */
+static UWord lookup_signatured_type ( VgHashTable tab,
+                                      ULong type_signature,
+                                      void (*barf)( const HChar* ) __attribute__((noreturn)) )
+{
+   D3SignatureType *dstype = VG_(HT_lookup) ( tab, (UWord) type_signature );
+   /* This may be unwarranted chumminess with the hash table
+      implementation.  */
+   while ( dstype != NULL && dstype->type_signature != type_signature)
+      dstype = dstype->next;
+   if (dstype == NULL) {
+      barf("lookup_signatured_type: could not find signatured type");
+      /*NOTREACHED*/
+      vg_assert(0);
+   }
+   return dstype->die;
+}
 
-   Alternatively, the result can be a block of data (in the
-   transiently mapped-in object, so-called "image" space).  If so then
-   the lowest sizeof(void*)/8 bytes of *cts hold a pointer to said
-   image, *ctsSzB is zero, and *ctsMemSzB is the size of the block.
 
-   Unfortunately this means it is impossible to represent a zero-size
-   image block since that would have *ctsSzB == 0 and *ctsMemSzB == 0
-   and so is ambiguous (which case it is?)
+/* Represents Form data.  If szB is 1/2/4/8 then the result is in the
+   lowest 1/2/4/8 bytes of u.val.  If szB is zero or negative then the
+   result is an image section beginning at u.cur and with size -szB.
+   No other szB values are allowed. */
+typedef
+   struct {
+      Long szB; // 1, 2, 4, 8 or non-positive values only.
+      union { ULong val; DiCursor cur; } u;
+   }
+   FormContents;
 
-   Invariant on successful return: 
-      (*ctsSzB > 0 && *ctsMemSzB == 0)
-      || (*ctsSzB == 0 && *ctsMemSzB > 0)
-*/
+/* From 'c', get the Form data into 'cts'.  Either it gets a 1/2/4/8
+   byte scalar value, or (a reference to) zero or more bytes starting
+   at a DiCursor.*/
 static
-void get_Form_contents ( /*OUT*/ULong* cts,
-                         /*OUT*/Int*   ctsSzB,
-                         /*OUT*/UWord* ctsMemSzB,
+void get_Form_contents ( /*OUT*/FormContents* cts,
                          CUConst* cc, Cursor* c,
                          Bool td3, DW_FORM form )
 {
-   *cts       = 0;
-   *ctsSzB    = 0;
-   *ctsMemSzB = 0;
+   VG_(bzero_inline)(cts, sizeof(*cts));
    switch (form) {
       case DW_FORM_data1:
-         *cts = (ULong)(UChar)get_UChar(c);
-         *ctsSzB = 1;
-         TRACE_D3("%u", (UInt)*cts);
+         cts->u.val = (ULong)(UChar)get_UChar(c);
+         cts->szB   = 1;
+         TRACE_D3("%u", (UInt)cts->u.val);
          break;
       case DW_FORM_data2:
-         *cts = (ULong)(UShort)get_UShort(c);
-         *ctsSzB = 2;
-         TRACE_D3("%u", (UInt)*cts);
+         cts->u.val = (ULong)(UShort)get_UShort(c);
+         cts->szB   = 2;
+         TRACE_D3("%u", (UInt)cts->u.val);
          break;
       case DW_FORM_data4:
-         *cts = (ULong)(UInt)get_UInt(c);
-         *ctsSzB = 4;
-         TRACE_D3("%u", (UInt)*cts);
+         cts->u.val = (ULong)(UInt)get_UInt(c);
+         cts->szB   = 4;
+         TRACE_D3("%u", (UInt)cts->u.val);
          break;
       case DW_FORM_data8:
-         *cts = get_ULong(c);
-         *ctsSzB = 8;
-         TRACE_D3("%llu", *cts);
+         cts->u.val = get_ULong(c);
+         cts->szB   = 8;
+         TRACE_D3("%llu", cts->u.val);
          break;
       case DW_FORM_sec_offset:
-         *cts = (ULong)get_Dwarfish_UWord( c, cc->is_dw64 );
-         *ctsSzB = cc->is_dw64 ? 8 : 4;
-         TRACE_D3("%llu", *cts);
+         cts->u.val = (ULong)get_Dwarfish_UWord( c, cc->is_dw64 );
+         cts->szB   = cc->is_dw64 ? 8 : 4;
+         TRACE_D3("%llu", cts->u.val);
          break;
       case DW_FORM_sdata:
-         *cts = (ULong)(Long)get_SLEB128(c);
-         *ctsSzB = 8;
-         TRACE_D3("%lld", (Long)*cts);
+         cts->u.val = (ULong)(Long)get_SLEB128(c);
+         cts->szB   = 8;
+         TRACE_D3("%lld", (Long)cts->u.val);
          break;
       case DW_FORM_udata:
-         *cts = (ULong)(Long)get_ULEB128(c);
-         *ctsSzB = 8;
-         TRACE_D3("%llu", (Long)*cts);
+         cts->u.val = (ULong)(Long)get_ULEB128(c);
+         cts->szB   = 8;
+         TRACE_D3("%llu", (Long)cts->u.val);
          break;
       case DW_FORM_addr:
          /* note, this is a hack.  DW_FORM_addr is defined as getting
@@ -998,9 +1133,9 @@
             parse_CU_Header() rejects all inputs except those for
             which address_size == sizeof(Word), hence we can just
             treat it as a (host) Word.  */
-         *cts = (ULong)(UWord)get_UWord(c);
-         *ctsSzB = sizeof(UWord);
-         TRACE_D3("0x%lx", (UWord)*cts);
+         cts->u.val = (ULong)(UWord)get_UWord(c);
+         cts->szB   = sizeof(UWord);
+         TRACE_D3("0x%lx", (UWord)cts->u.val);
          break;
 
       case DW_FORM_ref_addr:
@@ -1018,14 +1153,22 @@
             So for the moment we merely range-check, to see that they
             actually do specify a plausible offset within this
             object's .debug_info, and return the value unchanged.
+
+            In DWARF 2, DW_FORM_ref_addr is address-sized, but in
+            DWARF 3 and later, it is offset-sized.
          */
-         *cts = (ULong)(UWord)get_UWord(c);
-         *ctsSzB = sizeof(UWord);
-         TRACE_D3("0x%lx", (UWord)*cts);
-         if (0) VG_(printf)("DW_FORM_ref_addr 0x%lx\n", (UWord)*cts);
-         if (/* the following 2 are surely impossible, but ... */
-             cc->debug_info_img == NULL || cc->debug_info_sz == 0
-             || *cts >= (ULong)cc->debug_info_sz) {
+         if (cc->version == 2) {
+            cts->u.val = (ULong)(UWord)get_UWord(c);
+            cts->szB   = sizeof(UWord);
+         } else {
+            cts->u.val = get_Dwarfish_UWord(c, cc->is_dw64);
+            cts->szB   = cc->is_dw64 ? sizeof(ULong) : sizeof(UInt);
+         }
+         TRACE_D3("0x%lx", (UWord)cts->u.val);
+         if (0) VG_(printf)("DW_FORM_ref_addr 0x%lx\n", (UWord)cts->u.val);
+         if (/* the following is surely impossible, but ... */
+             !ML_(sli_is_valid)(cc->escn_debug_info)
+             || cts->u.val >= (ULong)cc->escn_debug_info.szB) {
             /* Hmm.  Offset is nonsensical for this object's .debug_info
                section.  Be safe and reject it. */
             cc->barf("get_Form_contents: DW_FORM_ref_addr points "
@@ -1035,153 +1178,203 @@
 
       case DW_FORM_strp: {
          /* this is an offset into .debug_str */
-         UChar* str;
          UWord uw = (UWord)get_Dwarfish_UWord( c, cc->is_dw64 );
-         if (cc->debug_str_img == NULL || uw >= cc->debug_str_sz)
+         if (!ML_(sli_is_valid)(cc->escn_debug_str)
+             || uw >= cc->escn_debug_str.szB)
             cc->barf("get_Form_contents: DW_FORM_strp "
                      "points outside .debug_str");
          /* FIXME: check the entire string lies inside debug_str,
             not just the first byte of it. */
-         str = (UChar*)cc->debug_str_img + uw;
-         TRACE_D3("(indirect string, offset: 0x%lx): %s", uw, str);
-         *cts = (ULong)(UWord)str;
-         *ctsMemSzB = 1 + (ULong)VG_(strlen)(str);
+         DiCursor str
+            = ML_(cur_plus)( ML_(cur_from_sli)(cc->escn_debug_str), uw );
+         if (td3) {
+            HChar* tmp = ML_(cur_read_strdup)(str, "di.getFC.1");
+            TRACE_D3("(indirect string, offset: 0x%lx): %s", uw, tmp);
+            ML_(dinfo_free)(tmp);
+         }
+         cts->u.cur = str;
+         cts->szB   = - (Long)(1 + (ULong)ML_(cur_strlen)(str));
          break;
       }
       case DW_FORM_string: {
-         UChar* str = get_AsciiZ(c);
-         TRACE_D3("%s", str);
-         *cts = (ULong)(UWord)str;
+         DiCursor str = get_AsciiZ(c);
+         if (td3) {
+            HChar* tmp = ML_(cur_read_strdup)(str, "di.getFC.2");
+            TRACE_D3("%s", tmp);
+            ML_(dinfo_free)(tmp);
+         }
+         cts->u.cur = str;
          /* strlen is safe because get_AsciiZ already 'vetted' the
             entire string */
-         *ctsMemSzB = 1 + (ULong)VG_(strlen)(str);
+         cts->szB   = - (Long)(1 + (ULong)ML_(cur_strlen)(str));
          break;
       }
       case DW_FORM_ref1: {
-         UChar  u8 = get_UChar(c);
-         UWord res = cc->cu_start_offset + (UWord)u8;
-         *cts = (ULong)res;
-         *ctsSzB = sizeof(UWord);
+         UChar u8   = get_UChar(c);
+         UWord res  = cc->cu_start_offset + (UWord)u8;
+         cts->u.val = (ULong)res;
+         cts->szB   = sizeof(UWord);
          TRACE_D3("<%lx>", res);
          break;
       }
       case DW_FORM_ref2: {
-         UShort  u16 = get_UShort(c);
-         UWord res = cc->cu_start_offset + (UWord)u16;
-         *cts = (ULong)res;
-         *ctsSzB = sizeof(UWord);
+         UShort u16 = get_UShort(c);
+         UWord  res = cc->cu_start_offset + (UWord)u16;
+         cts->u.val = (ULong)res;
+         cts->szB   = sizeof(UWord);
          TRACE_D3("<%lx>", res);
          break;
       }
       case DW_FORM_ref4: {
-         UInt  u32 = get_UInt(c);
-         UWord res = cc->cu_start_offset + (UWord)u32;
-         *cts = (ULong)res;
-         *ctsSzB = sizeof(UWord);
+         UInt  u32  = get_UInt(c);
+         UWord res  = cc->cu_start_offset + (UWord)u32;
+         cts->u.val = (ULong)res;
+         cts->szB   = sizeof(UWord);
          TRACE_D3("<%lx>", res);
          break;
       }
       case DW_FORM_ref8: {
-         ULong  u64 = get_ULong(c);
-         UWord res = cc->cu_start_offset + (UWord)u64;
-         *cts = (ULong)res;
-         *ctsSzB = sizeof(UWord);
+         ULong u64  = get_ULong(c);
+         UWord res  = cc->cu_start_offset + (UWord)u64;
+         cts->u.val = (ULong)res;
+         cts->szB   = sizeof(UWord);
          TRACE_D3("<%lx>", res);
          break;
       }
       case DW_FORM_ref_udata: {
-         ULong  u64 = get_ULEB128(c);
-         UWord res = cc->cu_start_offset + (UWord)u64;
-         *cts = (ULong)res;
-         *ctsSzB = sizeof(UWord);
+         ULong u64  = get_ULEB128(c);
+         UWord res  = cc->cu_start_offset + (UWord)u64;
+         cts->u.val = (ULong)res;
+         cts->szB   = sizeof(UWord);
          TRACE_D3("<%lx>", res);
          break;
       }
       case DW_FORM_flag: {
          UChar u8 = get_UChar(c);
          TRACE_D3("%u", (UInt)u8);
-         *cts = (ULong)u8;
-         *ctsSzB = 1;
+         cts->u.val = (ULong)u8;
+         cts->szB   = 1;
          break;
       }
       case DW_FORM_flag_present:
          TRACE_D3("1");
-         *cts = 1;
-         *ctsSzB = 1;
+         cts->u.val = 1;
+         cts->szB   = 1;
          break;
       case DW_FORM_block1: {
-         ULong  u64b;
-         ULong  u64 = (ULong)get_UChar(c);
-         UChar* block = get_address_of_Cursor(c);
+         ULong    u64b;
+         ULong    u64   = (ULong)get_UChar(c);
+         DiCursor block = get_DiCursor_from_Cursor(c);
          TRACE_D3("%llu byte block: ", u64);
          for (u64b = u64; u64b > 0; u64b--) {
             UChar u8 = get_UChar(c);
             TRACE_D3("%x ", (UInt)u8);
          }
-         *cts = (ULong)(UWord)block;
-         *ctsMemSzB = (UWord)u64;
+         cts->u.cur = block;
+         cts->szB   = - (Long)u64;
          break;
       }
       case DW_FORM_block2: {
-         ULong  u64b;
-         ULong  u64 = (ULong)get_UShort(c);
-         UChar* block = get_address_of_Cursor(c);
+         ULong    u64b;
+         ULong    u64   = (ULong)get_UShort(c);
+         DiCursor block = get_DiCursor_from_Cursor(c);
          TRACE_D3("%llu byte block: ", u64);
          for (u64b = u64; u64b > 0; u64b--) {
             UChar u8 = get_UChar(c);
             TRACE_D3("%x ", (UInt)u8);
          }
-         *cts = (ULong)(UWord)block;
-         *ctsMemSzB = (UWord)u64;
+         cts->u.cur = block;
+         cts->szB   = - (Long)u64;
          break;
       }
       case DW_FORM_block4: {
-         ULong  u64b;
-         ULong  u64 = (ULong)get_UInt(c);
-         UChar* block = get_address_of_Cursor(c);
+         ULong    u64b;
+         ULong    u64   = (ULong)get_UInt(c);
+         DiCursor block = get_DiCursor_from_Cursor(c);
          TRACE_D3("%llu byte block: ", u64);
          for (u64b = u64; u64b > 0; u64b--) {
             UChar u8 = get_UChar(c);
             TRACE_D3("%x ", (UInt)u8);
          }
-         *cts = (ULong)(UWord)block;
-         *ctsMemSzB = (UWord)u64;
+         cts->u.cur = block;
+         cts->szB   = - (Long)u64;
          break;
       }
       case DW_FORM_exprloc:
       case DW_FORM_block: {
-         ULong  u64b;
-         ULong  u64 = (ULong)get_ULEB128(c);
-         UChar* block = get_address_of_Cursor(c);
+         ULong    u64b;
+         ULong    u64   = (ULong)get_ULEB128(c);
+         DiCursor block = get_DiCursor_from_Cursor(c);
          TRACE_D3("%llu byte block: ", u64);
          for (u64b = u64; u64b > 0; u64b--) {
             UChar u8 = get_UChar(c);
             TRACE_D3("%x ", (UInt)u8);
          }
-         *cts = (ULong)(UWord)block;
-         *ctsMemSzB = (UWord)u64;
+         cts->u.cur = block;
+         cts->szB   = - (Long)u64;
          break;
       }
       case DW_FORM_ref_sig8: {
          ULong  u64b;
-         UChar* block = get_address_of_Cursor(c);
+         ULong  signature = get_ULong (c);
+         ULong  work = signature;
          TRACE_D3("8 byte signature: ");
          for (u64b = 8; u64b > 0; u64b--) {
-            UChar u8 = get_UChar(c);
+            UChar u8 = work & 0xff;
             TRACE_D3("%x ", (UInt)u8);
+            work >>= 8;
          }
-         *cts = (ULong)(UWord)block;
-         *ctsMemSzB = 8;
+         /* Due to the way that the hash table is constructed, the
+            resulting DIE offset here is already "cooked".  See
+            cook_die_using_form.  */
+         cts->u.val = lookup_signatured_type (cc->signature_types, signature,
+                                              c->barf);
+         cts->szB   = sizeof(UWord);
          break;
       }
       case DW_FORM_indirect:
-         get_Form_contents (cts, ctsSzB, ctsMemSzB, cc, c, td3,
-                            (DW_FORM)get_ULEB128(c));
+         get_Form_contents (cts, cc, c, td3, (DW_FORM)get_ULEB128(c));
          return;
 
+      case DW_FORM_GNU_ref_alt:
+         cts->u.val = get_Dwarfish_UWord(c, cc->is_dw64);
+         cts->szB   = cc->is_dw64 ? sizeof(ULong) : sizeof(UInt);
+         TRACE_D3("0x%lx", (UWord)cts->u.val);
+         if (0) VG_(printf)("DW_FORM_GNU_ref_alt 0x%lx\n", (UWord)cts->u.val);
+         if (/* the following is surely impossible, but ... */
+             !ML_(sli_is_valid)(cc->escn_debug_info_alt)
+             || cts->u.val >= (ULong)cc->escn_debug_info_alt.szB) {
+            /* Hmm.  Offset is nonsensical for this object's .debug_info
+               section.  Be safe and reject it. */
+            cc->barf("get_Form_contents: DW_FORM_ref_addr points "
+                     "outside alternate .debug_info");
+         }
+         break;
+
+      case DW_FORM_GNU_strp_alt: {
+         /* this is an offset into alternate .debug_str */
+         SizeT uw = (UWord)get_Dwarfish_UWord( c, cc->is_dw64 );
+         if (!ML_(sli_is_valid)(cc->escn_debug_str_alt)
+             || uw >= cc->escn_debug_str_alt.szB)
+            cc->barf("get_Form_contents: DW_FORM_GNU_strp_alt "
+                     "points outside alternate .debug_str");
+         /* FIXME: check the entire string lies inside debug_str,
+            not just the first byte of it. */
+         DiCursor str
+            = ML_(cur_plus)( ML_(cur_from_sli)(cc->escn_debug_str_alt), uw);
+         if (td3) {
+            HChar* tmp = ML_(cur_read_strdup)(str, "di.getFC.3");
+            TRACE_D3("(indirect alt string, offset: 0x%lx): %s", uw, tmp);
+            ML_(dinfo_free)(tmp);
+         }
+         cts->u.cur = str;
+         cts->szB   = - (Long)(1 + (ULong)ML_(cur_strlen)(str));
+         break;
+      }
+
       default:
          VG_(printf)(
-            "get_Form_contents: unhandled %d (%s) at <%lx>\n",
+            "get_Form_contents: unhandled %d (%s) at <%llx>\n",
             form, ML_(pp_DW_FORM)(form), get_position_of_Cursor(c));
          c->barf("get_Form_contents: unhandled DW_FORM");
    }
@@ -1196,7 +1389,7 @@
 
 typedef
    struct _TempVar {
-      UChar*  name; /* in DebugInfo's .strchunks */
+      HChar*  name; /* in DebugInfo's .strchunks */
       /* Represent ranges economically.  nRanges is the number of
          ranges.  Cases:
          0: .rngOneMin .rngOneMax .manyRanges are all zero
@@ -1219,7 +1412,7 @@
       GExpr*  gexpr; /* for this variable */
       GExpr*  fbGX;  /* to find the frame base of the enclosing fn, if
                         any */
-      UChar*  fName; /* declaring file name, or NULL */
+      HChar*  fName; /* declaring file name, or NULL */
       Int     fLine; /* declaring file line number, or zero */
       /* offset in .debug_info, so that abstract instances can be
          found to satisfy references from concrete instances. */
@@ -1256,12 +1449,12 @@
       GExpr*  fbGX[N_D3_VAR_STACK];   /* if isFunc, contains the FB
                                          expr, else NULL */
       /* The file name table.  Is a mapping from integer index to the
-         (permanent) copy of the string, iow a non-img area. */
+         (permanent) copy of the string in in DebugInfo's .strchunks. */
       XArray* /* of UChar* */ filenameTable;
    }
    D3VarParser;
 
-static void varstack_show ( D3VarParser* parser, HChar* str ) {
+static void varstack_show ( D3VarParser* parser, const HChar* str ) {
    Word i, j;
    VG_(printf)("  varstack (%s) {\n", str);
    for (i = 0; i <= parser->sp; i++) {
@@ -1351,27 +1544,26 @@
 }
 
 
-/* cts, ctsSzB, ctsMemSzB are derived from a DW_AT_location and so
-   refer either to a location expression or to a location list.
-   Figure out which, and in both cases bundle the expression or
-   location list into a so-called GExpr (guarded expression). */
+/* cts is derived from a DW_AT_location and so refers either to a
+   location expression or to a location list.  Figure out which, and
+   in both cases bundle the expression or location list into a
+   so-called GExpr (guarded expression). */
 __attribute__((noinline))
-static GExpr* get_GX ( CUConst* cc, Bool td3, 
-                       ULong cts, Int ctsSzB, UWord ctsMemSzB )
+static GExpr* get_GX ( CUConst* cc, Bool td3, const FormContents* cts )
 {
    GExpr* gexpr = NULL;
-   if (ctsMemSzB > 0 && ctsSzB == 0) {
-      /* represents an in-line location expression, and cts points
-         right at it */
-      gexpr = make_singleton_GX( (UChar*)(UWord)cts, ctsMemSzB );
+   if (cts->szB < 0) {
+      /* represents a non-empty in-line location expression, and
+         cts->u.cur points at the image bytes */
+      gexpr = make_singleton_GX( cts->u.cur, (ULong)(- cts->szB) );
    }
    else 
-   if (ctsMemSzB == 0 && ctsSzB > 0) {
-      /* represents location list.  cts is the offset of it in
-         .debug_loc. */
+   if (cts->szB > 0) {
+      /* represents a location list.  cts->u.val is the offset of it
+         in .debug_loc. */
       if (!cc->cu_svma_known)
          cc->barf("get_GX: location list, but CU svma is unknown");
-      gexpr = make_general_GX( cc, td3, (UWord)cts, cc->cu_svma );
+      gexpr = make_general_GX( cc, td3, cts->u.val, cc->cu_svma );
    }
    else {
       vg_assert(0); /* else caller is bogus */
@@ -1382,7 +1574,7 @@
 
 static 
 void read_filename_table( /*MOD*/D3VarParser* parser,
-                          CUConst* cc, UWord debug_line_offset,
+                          CUConst* cc, ULong debug_line_offset,
                           Bool td3 )
 {
    Bool   is_dw64;
@@ -1390,15 +1582,15 @@
    Word   i;
    UShort version;
    UChar  opcode_base;
-   UChar* str;
+   HChar* str;
 
    vg_assert(parser && cc && cc->barf);
-   if ((!cc->debug_line_img) 
-       || cc->debug_line_sz <= debug_line_offset)
+   if (!ML_(sli_is_valid)(cc->escn_debug_line)
+       || cc->escn_debug_line.szB <= debug_line_offset) {
       cc->barf("read_filename_table: .debug_line is missing?");
+   }
 
-   init_Cursor( &c, cc->debug_line_img, 
-                cc->debug_line_sz, debug_line_offset, cc->barf, 
+   init_Cursor( &c, cc->escn_debug_line, debug_line_offset, cc->barf, 
                 "Overrun whilst reading .debug_line section(1)" );
 
    /* unit_length = */
@@ -1434,10 +1626,10 @@
    str = ML_(addStr)( cc->di, "<unknown_file>", -1 );
    VG_(addToXA)( parser->filenameTable, &str );
    while (peek_UChar(&c) != 0) {
-      str = get_AsciiZ(&c);
+      DiCursor cur = get_AsciiZ(&c);
+      str = ML_(addStrFromCursor)( cc->di, cur );
       TRACE_D3("  read_filename_table: %ld %s\n",
                VG_(sizeXA)(parser->filenameTable), str);
-      str = ML_(addStr)( cc->di, str, -1 );
       VG_(addToXA)( parser->filenameTable, &str );
       (void)get_ULEB128( &c ); /* skip directory index # */
       (void)get_ULEB128( &c ); /* skip last mod time */
@@ -1462,18 +1654,21 @@
    Bool td3
 )
 {
-   ULong       cts;
-   Int         ctsSzB;
-   UWord       ctsMemSzB;
+   FormContents cts;
 
    UWord saved_die_c_offset  = get_position_of_Cursor( c_die );
    UWord saved_abbv_c_offset = get_position_of_Cursor( c_abbv );
+   Bool  debug_types_flag;
+   Bool  alt_flag;
 
    varstack_preen( parser, td3, level-1 );
 
-   if (dtag == DW_TAG_compile_unit) {
+   if (dtag == DW_TAG_compile_unit
+       || dtag == DW_TAG_type_unit
+       || dtag == DW_TAG_partial_unit) {
       Bool have_lo    = False;
       Bool have_hi1   = False;
+      Bool hiIsRelative = False;
       Bool have_range = False;
       Addr ip_lo    = 0;
       Addr ip_hi1   = 0;
@@ -1482,24 +1677,27 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_low_pc && ctsSzB > 0) {
-            ip_lo   = cts;
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_low_pc && cts.szB > 0) {
+            ip_lo   = cts.u.val;
             have_lo = True;
          }
-         if (attr == DW_AT_high_pc && ctsSzB > 0) {
-            ip_hi1   = cts;
+         if (attr == DW_AT_high_pc && cts.szB > 0) {
+            ip_hi1   = cts.u.val;
             have_hi1 = True;
+            if (form != DW_FORM_addr)
+               hiIsRelative = True;
          }
-         if (attr == DW_AT_ranges && ctsSzB > 0) {
-            rangeoff = cts;
+         if (attr == DW_AT_ranges && cts.szB > 0) {
+            rangeoff   = cts.u.val;
             have_range = True;
          }
-         if (attr == DW_AT_stmt_list && ctsSzB > 0) {
-            read_filename_table( parser, cc, (UWord)cts, td3 );
+         if (attr == DW_AT_stmt_list && cts.szB > 0) {
+            read_filename_table( parser, cc, cts.u.val, td3 );
          }
       }
+      if (have_lo && have_hi1 && hiIsRelative)
+         ip_hi1 += ip_lo;
       /* Now, does this give us an opportunity to find this
          CU's svma? */
 #if 0
@@ -1580,6 +1778,7 @@
       Bool   have_lo    = False;
       Bool   have_hi1   = False;
       Bool   have_range = False;
+      Bool   hiIsRelative = False;
       Addr   ip_lo      = 0;
       Addr   ip_hi1     = 0;
       Addr   rangeoff   = 0;
@@ -1589,29 +1788,31 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_low_pc && ctsSzB > 0) {
-            ip_lo   = cts;
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_low_pc && cts.szB > 0) {
+            ip_lo   = cts.u.val;
             have_lo = True;
          }
-         if (attr == DW_AT_high_pc && ctsSzB > 0) {
-            ip_hi1   = cts;
+         if (attr == DW_AT_high_pc && cts.szB > 0) {
+            ip_hi1   = cts.u.val;
             have_hi1 = True;
+            if (form != DW_FORM_addr)
+               hiIsRelative = True;
          }
-         if (attr == DW_AT_ranges && ctsSzB > 0) {
-            rangeoff = cts;
+         if (attr == DW_AT_ranges && cts.szB > 0) {
+            rangeoff   = cts.u.val;
             have_range = True;
          }
          if (isFunc
              && attr == DW_AT_frame_base
-             && ((ctsMemSzB > 0 && ctsSzB == 0)
-                 || (ctsMemSzB == 0 && ctsSzB > 0))) {
-            fbGX = get_GX( cc, False/*td3*/, cts, ctsSzB, ctsMemSzB );
+             && cts.szB != 0 /* either scalar or nonempty block */) {
+            fbGX = get_GX( cc, False/*td3*/, &cts );
             vg_assert(fbGX);
             VG_(addToXA)(gexprs, &fbGX);
          }
       }
+      if (have_lo && have_hi1 && hiIsRelative)
+         ip_hi1 += ip_lo;
       /* Do we have something that looks sane? */
       if (dtag == DW_TAG_subprogram 
           && (!have_lo) && (!have_hi1) && (!have_range)) {
@@ -1659,57 +1860,63 @@
    }
 
    if (dtag == DW_TAG_variable || dtag == DW_TAG_formal_parameter) {
-      UChar* name        = NULL;
+      HChar* name        = NULL;
       UWord  typeR       = D3_INVALID_CUOFF;
-      Bool   external    = False;
+      Bool   global      = False;
       GExpr* gexpr       = NULL;
       Int    n_attrs     = 0;
       UWord  abs_ori     = (UWord)D3_INVALID_CUOFF;
       Int    lineNo      = 0;
-      UChar* fileName    = NULL;
+      HChar* fileName    = NULL;
       while (True) {
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
          n_attrs++;
-         if (attr == DW_AT_name && ctsMemSzB > 0) {
-            name = ML_(addStr)( cc->di, (UChar*)(UWord)cts, -1 );
+         if (attr == DW_AT_name && cts.szB < 0) {
+            name = ML_(addStrFromCursor)( cc->di, cts.u.cur );
          }
          if (attr == DW_AT_location
-             && ((ctsMemSzB > 0 && ctsSzB == 0)
-                 || (ctsMemSzB == 0 && ctsSzB > 0))) {
-            gexpr = get_GX( cc, False/*td3*/, cts, ctsSzB, ctsMemSzB );
+             && cts.szB != 0 /* either scalar or nonempty block */) {
+            gexpr = get_GX( cc, False/*td3*/, &cts );
             vg_assert(gexpr);
             VG_(addToXA)(gexprs, &gexpr);
          }
-         if (attr == DW_AT_type && ctsSzB > 0) {
-            typeR = (UWord)cts;
+         if (attr == DW_AT_type && cts.szB > 0) {
+            typeR = cook_die_using_form( cc, cts.u.val, form );
          }
-         if (attr == DW_AT_external && ctsSzB > 0 && cts > 0) {
-            external = True;
+         if (attr == DW_AT_external && cts.szB > 0 && cts.u.val > 0) {
+            global = True;
          }
-         if (attr == DW_AT_abstract_origin && ctsSzB > 0) {
-            abs_ori = (UWord)cts;
+         if (attr == DW_AT_abstract_origin && cts.szB > 0) {
+            abs_ori = (UWord)cts.u.val;
          }
-         if (attr == DW_AT_declaration && ctsSzB > 0 && cts > 0) {
+         if (attr == DW_AT_declaration && cts.szB > 0 && cts.u.val > 0) {
             /*declaration = True;*/
          }
-         if (attr == DW_AT_decl_line && ctsSzB > 0) {
-            lineNo = (Int)cts;
+         if (attr == DW_AT_decl_line && cts.szB > 0) {
+            lineNo = (Int)cts.u.val;
          }
-         if (attr == DW_AT_decl_file && ctsSzB > 0) {
-            Int ftabIx = (Int)cts;
+         if (attr == DW_AT_decl_file && cts.szB > 0) {
+            Int ftabIx = (Int)cts.u.val;
             if (ftabIx >= 1
                 && ftabIx < VG_(sizeXA)( parser->filenameTable )) {
-               fileName = *(UChar**)
+               fileName = *(HChar**)
                           VG_(indexXA)( parser->filenameTable, ftabIx );
                vg_assert(fileName);
             }
             if (0) VG_(printf)("XXX filename = %s\n", fileName);
          }
       }
+      if (!global && dtag == DW_TAG_variable && level == 1) {
+         /* Case of a static variable. It is better to declare
+            it global as the variable is not really related to
+            a PC range, as its address can be used by program
+            counters outside of the ranges where it is visible . */
+         global = True;
+      }
+
       /* We'll collect it under if one of the following three
          conditions holds:
          (1) has location and type    -> completed
@@ -1735,7 +1942,7 @@
             this CU. */
          vg_assert(parser->sp >= 0);
 
-         /* If this is a local variable (non-external), try to find
+         /* If this is a local variable (non-global), try to find
             the GExpr for the DW_AT_frame_base of the containing
             function.  It should have been pushed on the stack at the
             time we encountered its DW_TAG_subprogram DIE, so the way
@@ -1747,7 +1954,7 @@
             if the containing DT_TAG_subprogram didn't supply a
             DW_AT_frame_base -- that's OK, but there must actually be
             a containing DW_TAG_subprogram. */
-         if (!external) {
+         if (!global) {
             Bool found = False;
             for (i = parser->sp; i >= 0; i--) {
                if (parser->isFunc[i]) {
@@ -1759,7 +1966,7 @@
             if (!found) {
                if (0 && VG_(clo_verbosity) >= 0) {
                   VG_(message)(Vg_DebugMsg, 
-                     "warning: parse_var_DIE: non-external variable "
+                     "warning: parse_var_DIE: non-global variable "
                      "outside DW_TAG_subprogram\n");
                }
                /* goto bad_DIE; */
@@ -1772,18 +1979,18 @@
             }
          }
 
-         /* re "external ? 0 : parser->sp" (twice), if the var is
-            marked 'external' then we must put it at the global scope,
+         /* re "global ? 0 : parser->sp" (twice), if the var is
+            marked 'global' then we must put it at the global scope,
             as only the global scope (level 0) covers the entire PC
             address space.  It is asserted elsewhere that level 0 
             always covers the entire address space. */
-         xa = parser->ranges[external ? 0 : parser->sp];
+         xa = parser->ranges[global ? 0 : parser->sp];
          nRanges = VG_(sizeXA)(xa);
          vg_assert(nRanges >= 0);
 
          tv = ML_(dinfo_zalloc)( "di.readdwarf3.pvD.1", sizeof(TempVar) );
          tv->name   = name;
-         tv->level  = external ? 0 : parser->sp;
+         tv->level  = global ? 0 : parser->sp;
          tv->typeR  = typeR;
          tv->gexpr  = gexpr;
          tv->fbGX   = fbGX;
@@ -1917,15 +2124,22 @@
    set_position_of_Cursor( c_die,  saved_die_c_offset );
    set_position_of_Cursor( c_abbv, saved_abbv_c_offset );
    VG_(printf)("\nparse_var_DIE: confused by:\n");
-   VG_(printf)(" <%d><%lx>: %s\n", level, posn, ML_(pp_DW_TAG)( dtag ) );
+   posn = uncook_die( cc, posn, &debug_types_flag, &alt_flag );
+   VG_(printf)(" <%d><%lx>: %s", level, posn, ML_(pp_DW_TAG)( dtag ) );
+   if (debug_types_flag) {
+      VG_(printf)(" (in .debug_types)");
+   }
+   else if (alt_flag) {
+      VG_(printf)(" (in alternate .debug_info)");
+   }
+   VG_(printf)("\n");
    while (True) {
       DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
       DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
       if (attr == 0 && form == 0) break;
       VG_(printf)("     %18s: ", ML_(pp_DW_AT)(attr));
       /* Get the form contents, so as to print them */
-      get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                         cc, c_die, True, form );
+      get_Form_contents( &cts, cc, c_die, True, form );
       VG_(printf)("\t\n");
    }
    VG_(printf)("\n");
@@ -1964,7 +2178,7 @@
    }
    D3TypeParser;
 
-static void typestack_show ( D3TypeParser* parser, HChar* str ) {
+static void typestack_show ( D3TypeParser* parser, const HChar* str ) {
    Word i;
    VG_(printf)("  typestack (%s) {\n", str);
    for (i = 0; i <= parser->sp; i++) {
@@ -2090,13 +2304,13 @@
                              CUConst* cc,
                              Bool td3 )
 {
-   ULong cts;
-   Int   ctsSzB;
-   UWord ctsMemSzB;
+   FormContents cts;
    TyEnt typeE;
    TyEnt atomE;
    TyEnt fieldE;
    TyEnt boundE;
+   Bool  debug_types_flag;
+   Bool  alt_flag;
 
    UWord saved_die_c_offset  = get_position_of_Cursor( c_die );
    UWord saved_abbv_c_offset = get_position_of_Cursor( c_abbv );
@@ -2111,7 +2325,9 @@
       its children. */
    typestack_preen( parser, td3, level-1 );
 
-   if (dtag == DW_TAG_compile_unit) {
+   if (dtag == DW_TAG_compile_unit
+       || dtag == DW_TAG_type_unit
+       || dtag == DW_TAG_partial_unit) {
       /* See if we can find DW_AT_language, since it is important for
          establishing array bounds (see DW_TAG_subrange_type below in
          this fn) */
@@ -2119,13 +2335,12 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
          if (attr != DW_AT_language)
             continue;
-         if (ctsSzB == 0)
+         if (cts.szB <= 0)
            goto bad_DIE;
-         switch (cts) {
+         switch (cts.u.val) {
             case DW_LANG_C89: case DW_LANG_C:
             case DW_LANG_C_plus_plus: case DW_LANG_ObjC:
             case DW_LANG_ObjC_plus_plus: case DW_LANG_UPC:
@@ -2158,23 +2373,24 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_name && ctsMemSzB > 0) {
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_name && cts.szB < 0) {
             typeE.Te.TyBase.name
-               = ML_(dinfo_strdup)( "di.readdwarf3.ptD.base_type.1",
-                                    (UChar*)(UWord)cts );
+               = ML_(cur_read_strdup)( cts.u.cur,
+                                       "di.readdwarf3.ptD.base_type.1" );
          }
-         if (attr == DW_AT_byte_size && ctsSzB > 0) {
-            typeE.Te.TyBase.szB = cts;
+         if (attr == DW_AT_byte_size && cts.szB > 0) {
+            typeE.Te.TyBase.szB = cts.u.val;
          }
-         if (attr == DW_AT_encoding && ctsSzB > 0) {
-            switch (cts) {
+         if (attr == DW_AT_encoding && cts.szB > 0) {
+            switch (cts.u.val) {
                case DW_ATE_unsigned: case DW_ATE_unsigned_char:
                case DW_ATE_UTF: /* since DWARF4, e.g. char16_t from C++ */
                case DW_ATE_boolean:/* FIXME - is this correct? */
+               case DW_ATE_unsigned_fixed:
                   typeE.Te.TyBase.enc = 'U'; break;
                case DW_ATE_signed: case DW_ATE_signed_char:
+               case DW_ATE_signed_fixed:
                   typeE.Te.TyBase.enc = 'S'; break;
                case DW_ATE_float:
                   typeE.Te.TyBase.enc = 'F'; break;
@@ -2266,13 +2482,13 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_byte_size && ctsSzB > 0) {
-            typeE.Te.TyPorR.szB = cts;
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_byte_size && cts.szB > 0) {
+            typeE.Te.TyPorR.szB = cts.u.val;
          }
-         if (attr == DW_AT_type && ctsSzB > 0) {
-            typeE.Te.TyPorR.typeR = (UWord)cts;
+         if (attr == DW_AT_type && cts.szB > 0) {
+            typeE.Te.TyPorR.typeR
+               = cook_die_using_form( cc, (UWord)cts.u.val, form );
          }
       }
       /* Do we have something that looks sane? */
@@ -2287,6 +2503,7 @@
       VG_(memset)(&typeE, 0, sizeof(typeE));
       typeE.cuOff = posn;
       typeE.tag   = Te_TyEnum;
+      Bool is_decl = False;
       typeE.Te.TyEnum.atomRs
          = VG_(newXA)( ML_(dinfo_zalloc), "di.readdwarf3.ptD.enum_type.1", 
                        ML_(dinfo_free),
@@ -2295,15 +2512,17 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_name && ctsMemSzB > 0) {
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_name && cts.szB < 0) {
             typeE.Te.TyEnum.name
-              = ML_(dinfo_strdup)( "di.readdwarf3.pTD.enum_type.2",
-                                   (UChar*)(UWord)cts );
+               = ML_(cur_read_strdup)( cts.u.cur,
+                                       "di.readdwarf3.pTD.enum_type.2" );
          }
-         if (attr == DW_AT_byte_size && ctsSzB > 0) {
-            typeE.Te.TyEnum.szB = cts;
+         if (attr == DW_AT_byte_size && cts.szB > 0) {
+            typeE.Te.TyEnum.szB = cts.u.val;
+         }
+         if (attr == DW_AT_declaration) {
+            is_decl = True;
          }
       }
 
@@ -2316,9 +2535,19 @@
       if (typeE.Te.TyEnum.szB == 0 
           /* we must know the size */
           /* but not for Ada, which uses such dummy
-             enumerations as helper for gdb ada mode. */
-          && parser->language != 'A')
+             enumerations as helper for gdb ada mode.
+             Also GCC allows incomplete enums as GNU extension.
+             http://gcc.gnu.org/onlinedocs/gcc/Incomplete-Enums.html
+             These are marked as DW_AT_declaration and won't have
+             a size. They can only be used in declaration or as
+             pointer types.  You can't allocate variables or storage
+             using such an enum type. (Also GCC seems to have a bug
+             that will put such an enumeration_type into a .debug_types
+             unit which should only contain complete types.) */
+          && (parser->language != 'A' && !is_decl)) {
          goto bad_DIE;
+      }
+
       /* On't stack! */
       typestack_push( cc, parser, td3, &typeE, level );
       goto acquire_Type;
@@ -2362,15 +2591,14 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_name && ctsMemSzB > 0) {
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_name && cts.szB < 0) {
             atomE.Te.Atom.name 
-              = ML_(dinfo_strdup)( "di.readdwarf3.pTD.enumerator.1",
-                                   (UChar*)(UWord)cts );
+              = ML_(cur_read_strdup)( cts.u.cur,
+                                      "di.readdwarf3.pTD.enumerator.1" );
          }
-         if (attr == DW_AT_const_value && ctsSzB > 0) {
-            atomE.Te.Atom.value = cts;
+         if (attr == DW_AT_const_value && cts.szB > 0) {
+            atomE.Te.Atom.value      = cts.u.val;
             atomE.Te.Atom.valueKnown = True;
          }
       }
@@ -2415,21 +2643,20 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_name && ctsMemSzB > 0) {
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_name && cts.szB < 0) {
             typeE.Te.TyStOrUn.name
-               = ML_(dinfo_strdup)( "di.readdwarf3.ptD.struct_type.2",
-                                    (UChar*)(UWord)cts );
+               = ML_(cur_read_strdup)( cts.u.cur,
+                                       "di.readdwarf3.ptD.struct_type.2" );
          }
-         if (attr == DW_AT_byte_size && ctsSzB >= 0) {
-            typeE.Te.TyStOrUn.szB = cts;
+         if (attr == DW_AT_byte_size && cts.szB >= 0) {
+            typeE.Te.TyStOrUn.szB = cts.u.val;
             have_szB = True;
          }
-         if (attr == DW_AT_declaration && ctsSzB > 0 && cts > 0) {
+         if (attr == DW_AT_declaration && cts.szB > 0 && cts.u.val > 0) {
             is_decl = True;
          }
-         if (attr == DW_AT_specification && ctsSzB > 0 && cts > 0) {
+         if (attr == DW_AT_specification && cts.szB > 0 && cts.u.val > 0) {
             is_spec = True;
          }
       }
@@ -2437,8 +2664,14 @@
       if (is_decl && (!is_spec)) {
          /* It's a DW_AT_declaration.  We require the name but
             nothing else. */
+         /* JRS 2012-06-28: following discussion w/ tromey, if the the
+            type doesn't have name, just make one up, and accept it.
+            It might be referred to by other DIEs, so ignoring it
+            doesn't seem like a safe option. */
          if (typeE.Te.TyStOrUn.name == NULL)
-            goto bad_DIE;
+            typeE.Te.TyStOrUn.name
+               = ML_(dinfo_strdup)( "di.readdwarf3.ptD.struct_type.3",
+                                    "<anon_struct_type>" );
          typeE.Te.TyStOrUn.complete = False;
          /* JRS 2009 Aug 10: <possible kludge>? */
          /* Push this tyent on the stack, even though it's incomplete.
@@ -2479,29 +2712,30 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_name && ctsMemSzB > 0) {
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_name && cts.szB < 0) {
             fieldE.Te.Field.name
-               = ML_(dinfo_strdup)( "di.readdwarf3.ptD.member.1",
-                                    (UChar*)(UWord)cts );
+               = ML_(cur_read_strdup)( cts.u.cur,
+                                       "di.readdwarf3.ptD.member.1" );
          }
-         if (attr == DW_AT_type && ctsSzB > 0) {
-            fieldE.Te.Field.typeR = (UWord)cts;
+         if (attr == DW_AT_type && cts.szB > 0) {
+            fieldE.Te.Field.typeR
+               = cook_die_using_form( cc, (UWord)cts.u.val, form );
          }
          /* There are 2 different cases for DW_AT_data_member_location.
             If it is a constant class attribute, it contains byte offset
             from the beginning of the containing entity.
             Otherwise it is a location expression.  */
-         if (attr == DW_AT_data_member_location && ctsSzB > 0) {
+         if (attr == DW_AT_data_member_location && cts.szB > 0) {
             fieldE.Te.Field.nLoc = -1;
-            fieldE.Te.Field.pos.offset = cts;
-         } else if (attr == DW_AT_data_member_location && ctsMemSzB > 0) {
-            fieldE.Te.Field.nLoc = (UWord)ctsMemSzB;
+            fieldE.Te.Field.pos.offset = cts.u.val;
+         }
+         if (attr == DW_AT_data_member_location && cts.szB <= 0) {
+            fieldE.Te.Field.nLoc = (UWord)(-cts.szB);
             fieldE.Te.Field.pos.loc
-               = ML_(dinfo_memdup)( "di.readdwarf3.ptD.member.2",
-                                    (UChar*)(UWord)cts, 
-                                    (SizeT)fieldE.Te.Field.nLoc );
+               = ML_(cur_read_memdup)( cts.u.cur, 
+                                       (SizeT)fieldE.Te.Field.nLoc,
+                                       "di.readdwarf3.ptD.member.2" );
          }
       }
       /* Do we have a plausible parent? */
@@ -2564,10 +2798,10 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_type && ctsSzB > 0) {
-            typeE.Te.TyArray.typeR = (UWord)cts;
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_type && cts.szB > 0) {
+            typeE.Te.TyArray.typeR
+               = cook_die_using_form( cc, (UWord)cts.u.val, form );
          }
       }
       if (typeE.Te.TyArray.typeR == D3_INVALID_CUOFF)
@@ -2602,18 +2836,17 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_lower_bound && ctsSzB > 0) {
-            lower      = (Long)cts;
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_lower_bound && cts.szB > 0) {
+            lower      = (Long)cts.u.val;
             have_lower = True;
          }
-         if (attr == DW_AT_upper_bound && ctsSzB > 0) {
-            upper      = (Long)cts;
+         if (attr == DW_AT_upper_bound && cts.szB > 0) {
+            upper      = (Long)cts.u.val;
             have_upper = True;
          }
-         if (attr == DW_AT_count && ctsSzB > 0) {
-            /*count    = (Long)cts;*/
+         if (attr == DW_AT_count && cts.szB > 0) {
+            /*count    = (Long)cts.u.val;*/
             have_count = True;
          }
       }
@@ -2661,7 +2894,7 @@
       boundE.cuOff = posn;
       vg_assert(parser->qparentE[parser->sp].Te.TyArray.boundRs);
       VG_(addToXA)( parser->qparentE[parser->sp].Te.TyArray.boundRs,
-                    &boundE );
+                    &boundE.cuOff );
       /* And record the child itself */
       goto acquire_Bound;
    }
@@ -2682,15 +2915,15 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_name && ctsMemSzB > 0) {
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_name && cts.szB < 0) {
             typeE.Te.TyTyDef.name
-               = ML_(dinfo_strdup)( "di.readdwarf3.ptD.typedef.1",
-                                    (UChar*)(UWord)cts );
+               = ML_(cur_read_strdup)( cts.u.cur,
+                                       "di.readdwarf3.ptD.typedef.1" );
          }
-         if (attr == DW_AT_type && ctsSzB > 0) {
-            typeE.Te.TyTyDef.typeR = (UWord)cts;
+         if (attr == DW_AT_type && cts.szB > 0) {
+            typeE.Te.TyTyDef.typeR
+               = cook_die_using_form( cc, (UWord)cts.u.val, form );
          }
       }
       /* Do we have something that looks sane? */
@@ -2730,10 +2963,10 @@
          DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
          DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
          if (attr == 0 && form == 0) break;
-         get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                            cc, c_die, False/*td3*/, form );
-         if (attr == DW_AT_type && ctsSzB > 0) {
-            typeE.Te.TyQual.typeR = (UWord)cts;
+         get_Form_contents( &cts, cc, c_die, False/*td3*/, form );
+         if (attr == DW_AT_type && cts.szB > 0) {
+            typeE.Te.TyQual.typeR
+               = cook_die_using_form( cc, (UWord)cts.u.val, form );
             have_ty++;
          }
       }
@@ -2813,15 +3046,21 @@
    set_position_of_Cursor( c_die,  saved_die_c_offset );
    set_position_of_Cursor( c_abbv, saved_abbv_c_offset );
    VG_(printf)("\nparse_type_DIE: confused by:\n");
-   VG_(printf)(" <%d><%lx>: %s\n", level, posn, ML_(pp_DW_TAG)( dtag ) );
+   posn = uncook_die( cc, posn, &debug_types_flag, &alt_flag );
+   VG_(printf)(" <%d><%lx>: %s", level, posn, ML_(pp_DW_TAG)( dtag ) );
+   if (debug_types_flag) {
+      VG_(printf)(" (in .debug_types)");
+   } else if (alt_flag) {
+      VG_(printf)(" (in alternate .debug_info)");
+   }
+   VG_(printf)("\n");
    while (True) {
       DW_AT   attr = (DW_AT)  get_ULEB128( c_abbv );
       DW_FORM form = (DW_FORM)get_ULEB128( c_abbv );
       if (attr == 0 && form == 0) break;
       VG_(printf)("     %18s: ", ML_(pp_DW_AT)(attr));
       /* Get the form contents, so as to print them */
-      get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                         cc, c_die, True, form );
+      get_Form_contents( &cts, cc, c_die, True, form );
       VG_(printf)("\t\n");
    }
    VG_(printf)("\n");
@@ -3056,10 +3295,7 @@
 
    /* First we must sort .ents by its .cuOff fields, so we
       can index into it. */
-   VG_(setCmpFnXA)(
-      ents,
-      (Int(*)(void*,void*)) ML_(TyEnt__cmp_by_cuOff_only)
-   );
+   VG_(setCmpFnXA)( ents, (XACmpFn_t) ML_(TyEnt__cmp_by_cuOff_only) );
    VG_(sortXA)( ents );
 
    /* Now repeatedly do commoning and substitution passes over
@@ -3108,7 +3344,7 @@
 
 __attribute__((noinline))
 static void resolve_variable_types (
-               void (*barf)( HChar* ) __attribute__((noreturn)),
+               void (*barf)( const HChar* ) __attribute__((noreturn)),
                /*R-O*/XArray* /* of TyEnt */ ents,
                /*MOD*/TyEntIndexCache* ents_cache,
                /*MOD*/XArray* /* of TempVar* */ vars
@@ -3160,9 +3396,9 @@
 /*---                                                      ---*/
 /*------------------------------------------------------------*/
 
-static Int cmp_TempVar_by_dioff ( void* v1, void* v2 ) {
-   TempVar* t1 = *(TempVar**)v1;
-   TempVar* t2 = *(TempVar**)v2;
+static Int cmp_TempVar_by_dioff ( const void* v1, const void* v2 ) {
+   const TempVar* t1 = *(const TempVar *const *)v1;
+   const TempVar* t2 = *(const TempVar *const *)v2;
    if (t1->dioff < t2->dioff) return -1;
    if (t1->dioff > t2->dioff) return 1;
    return 0;
@@ -3186,7 +3422,7 @@
    UWord  after_die_c_offset, after_abbv_c_offset;
 
    /* --- Deal with this DIE --- */
-   posn      = get_position_of_Cursor( c );
+   posn      = cook_die( cc, get_position_of_Cursor( c ) );
    abbv_code = get_ULEB128( c );
    set_abbv_Cursor( &abbv, td3, cc, abbv_code );
    atag      = get_ULEB128( &abbv );
@@ -3211,17 +3447,14 @@
    start_abbv_c_offset = get_position_of_Cursor( &abbv );
 
    while (True) {
-      ULong cts;
-      Int   ctsSzB;
-      UWord ctsMemSzB;
+      FormContents cts;
       ULong at_name = get_ULEB128( &abbv );
       ULong at_form = get_ULEB128( &abbv );
       if (at_name == 0 && at_form == 0) break;
       TRACE_D3("     %18s: ", ML_(pp_DW_AT)(at_name));
       /* Get the form contents, but ignore them; the only purpose is
          to print them, if td3 is True */
-      get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
-                         cc, c, td3, (DW_FORM)at_form );
+      get_Form_contents( &cts, cc, c, td3, (DW_FORM)at_form );
       TRACE_D3("\t");
       TRACE_D3("\n");
    }
@@ -3282,13 +3515,13 @@
 static
 void new_dwarf3_reader_wrk ( 
    struct _DebugInfo* di,
-   __attribute__((noreturn)) void (*barf)( HChar* ),
-   UChar* debug_info_img,   SizeT debug_info_sz,
-   UChar* debug_abbv_img,   SizeT debug_abbv_sz,
-   UChar* debug_line_img,   SizeT debug_line_sz,
-   UChar* debug_str_img,    SizeT debug_str_sz,
-   UChar* debug_ranges_img, SizeT debug_ranges_sz,
-   UChar* debug_loc_img,    SizeT debug_loc_sz
+   __attribute__((noreturn)) void (*barf)( const HChar* ),
+   DiSlice escn_debug_info,      DiSlice escn_debug_types,
+   DiSlice escn_debug_abbv,      DiSlice escn_debug_line,
+   DiSlice escn_debug_str,       DiSlice escn_debug_ranges,
+   DiSlice escn_debug_loc,       DiSlice escn_debug_info_alt,
+   DiSlice escn_debug_abbv_alt,  DiSlice escn_debug_line_alt,
+   DiSlice escn_debug_str_alt
 )
 {
    XArray* /* of TyEnt */     tyents;
@@ -3310,6 +3543,8 @@
    Word  i, j, n;
    Bool td3 = di->trace_symtab;
    XArray* /* of TempVar* */ dioff_lookup_tab;
+   Int pass;
+   VgHashTable signature_types;
 #if 0
    /* This doesn't work properly because it assumes all entries are
       packed end to end, with no holes.  But that doesn't always
@@ -3373,83 +3608,79 @@
    TRACE_SYMTAB("\n");
    TRACE_SYMTAB("\n------ The contents of .debug_ranges ------\n");
    TRACE_SYMTAB("    Offset   Begin    End\n");
-   init_Cursor( &ranges, debug_ranges_img, 
-                debug_ranges_sz, 0, barf, 
-                "Overrun whilst reading .debug_ranges section(1)" );
-   dr_base = 0;
-   dr_offset = 0;
-   while (True) {
-      UWord  w1, w2;
+   if (ML_(sli_is_valid)(escn_debug_ranges)) {
+      init_Cursor( &ranges, escn_debug_ranges, 0, barf, 
+                   "Overrun whilst reading .debug_ranges section(1)" );
+      dr_base = 0;
+      dr_offset = 0;
+      while (True) {
+         UWord  w1, w2;
 
-      if (is_at_end_Cursor( &ranges ))
-         break;
+         if (is_at_end_Cursor( &ranges ))
+            break;
 
-      /* Read a (host-)word pair.  This is something of a hack since
-         the word size to read is really dictated by the ELF file;
-         however, we assume we're reading a file with the same
-         word-sizeness as the host.  Reasonably enough. */
-      w1 = get_UWord( &ranges );
-      w2 = get_UWord( &ranges );
+         /* Read a (host-)word pair.  This is something of a hack since
+            the word size to read is really dictated by the ELF file;
+            however, we assume we're reading a file with the same
+            word-sizeness as the host.  Reasonably enough. */
+         w1 = get_UWord( &ranges );
+         w2 = get_UWord( &ranges );
 
-      if (w1 == 0 && w2 == 0) {
-         /* end of list.  reset 'base' */
-         TRACE_D3("    %08lx <End of list>\n", dr_offset);
-         dr_base = 0;
-         dr_offset = get_position_of_Cursor( &ranges );
-         continue;
+         if (w1 == 0 && w2 == 0) {
+            /* end of list.  reset 'base' */
+            TRACE_D3("    %08lx <End of list>\n", dr_offset);
+            dr_base = 0;
+            dr_offset = get_position_of_Cursor( &ranges );
+            continue;
+         }
+
+         if (w1 == -1UL) {
+            /* new value for 'base' */
+            TRACE_D3("    %08lx %16lx %08lx (base address)\n",
+                     dr_offset, w1, w2);
+            dr_base = w2;
+            continue;
+         }
+
+         /* else a range [w1+base, w2+base) is denoted */
+         TRACE_D3("    %08lx %08lx %08lx\n",
+                  dr_offset, w1 + dr_base, w2 + dr_base);
       }
-
-      if (w1 == -1UL) {
-         /* new value for 'base' */
-         TRACE_D3("    %08lx %16lx %08lx (base address)\n",
-                  dr_offset, w1, w2);
-         dr_base = w2;
-         continue;
-      }
-
-      /* else a range [w1+base, w2+base) is denoted */
-      TRACE_D3("    %08lx %08lx %08lx\n",
-               dr_offset, w1 + dr_base, w2 + dr_base);
    }
 
    /* Display .debug_abbrev */
-   init_Cursor( &abbv, debug_abbv_img, debug_abbv_sz, 0, barf, 
-                "Overrun whilst reading .debug_abbrev section" );
    TRACE_SYMTAB("\n");
    TRACE_SYMTAB("\n------ The contents of .debug_abbrev ------\n");
-   while (True) {
-      if (is_at_end_Cursor( &abbv ))
-         break;
-      /* Read one abbreviation table */
-      TRACE_D3("  Number TAG\n");
+   if (ML_(sli_is_valid)(escn_debug_abbv)) {
+      init_Cursor( &abbv, escn_debug_abbv, 0, barf, 
+                   "Overrun whilst reading .debug_abbrev section" );
       while (True) {
-         ULong atag;
-         UInt  has_children;
-         ULong acode = get_ULEB128( &abbv );
-         if (acode == 0) break; /* end of the table */
-         atag = get_ULEB128( &abbv );
-         has_children = get_UChar( &abbv );
-         TRACE_D3("   %llu      %s    [%s]\n", 
-                  acode, ML_(pp_DW_TAG)(atag),
-                         ML_(pp_DW_children)(has_children));
+         if (is_at_end_Cursor( &abbv ))
+            break;
+         /* Read one abbreviation table */
+         TRACE_D3("  Number TAG\n");
          while (True) {
-            ULong at_name = get_ULEB128( &abbv );
-            ULong at_form = get_ULEB128( &abbv );
-            if (at_name == 0 && at_form == 0) break;
-            TRACE_D3("    %18s %s\n", 
-                     ML_(pp_DW_AT)(at_name), ML_(pp_DW_FORM)(at_form));
+            ULong atag;
+            UInt  has_children;
+            ULong acode = get_ULEB128( &abbv );
+            if (acode == 0) break; /* end of the table */
+            atag = get_ULEB128( &abbv );
+            has_children = get_UChar( &abbv );
+            TRACE_D3("   %llu      %s    [%s]\n", 
+                     acode, ML_(pp_DW_TAG)(atag),
+                            ML_(pp_DW_children)(has_children));
+            while (True) {
+               ULong at_name = get_ULEB128( &abbv );
+               ULong at_form = get_ULEB128( &abbv );
+               if (at_name == 0 && at_form == 0) break;
+               TRACE_D3("    %18s %s\n", 
+                        ML_(pp_DW_AT)(at_name), ML_(pp_DW_FORM)(at_form));
+            }
          }
       }
    }
    TRACE_SYMTAB("\n");
 
-   /* Now loop over the Compilation Units listed in the .debug_info
-      section (see D3SPEC sec 7.5) paras 1 and 2.  Each compilation
-      unit contains a Compilation Unit Header followed by precisely
-      one DW_TAG_compile_unit or DW_TAG_partial_unit DIE. */
-   init_Cursor( &info, debug_info_img, debug_info_sz, 0, barf,
-                "Overrun whilst reading .debug_info section" );
-
    /* We'll park the harvested type information in here.  Also create
       a fake "void" entry with offset D3_FAKEVOID_CUOFF, so we always
       have at least one type entry to refer to.  D3_FAKEVOID_CUOFF is
@@ -3511,158 +3742,252 @@
    VG_(memset)( &varparser, 0, sizeof(varparser) );
    varparser.sp = -1;
 
-   TRACE_D3("\n------ Parsing .debug_info section ------\n");
-   while (True) {
-      UWord   cu_start_offset, cu_offset_now;
-      CUConst cc;
-      /* It may be that the stated size of this CU is larger than the
-         amount of stuff actually in it.  icc9 seems to generate CUs
-         thusly.  We use these variables to figure out if this is
-         indeed the case, and if so how many bytes we need to skip to
-         get to the start of the next CU.  Not skipping those bytes
-         causes us to misidentify the start of the next CU, and it all
-         goes badly wrong after that (not surprisingly). */
-      UWord cu_size_including_IniLen, cu_amount_used;
+   signature_types = VG_(HT_construct) ("signature_types");
+   
+   /* Do an initial pass to scan the .debug_types section, if any, and
+      fill in the signatured types hash table.  This lets us handle
+      mapping from a type signature to a (cooked) DIE offset directly
+      in get_Form_contents.  */
+   if (ML_(sli_is_valid)(escn_debug_types)) {
+      init_Cursor( &info, escn_debug_types, 0, barf,
+                   "Overrun whilst reading .debug_types section" );
+      TRACE_D3("\n------ Collecting signatures from "
+               ".debug_types section ------\n");
 
-      /* It seems icc9 finishes the DIE info before debug_info_sz
-         bytes have been used up.  So be flexible, and declare the
-         sequence complete if there is not enough remaining bytes to
-         hold even the smallest conceivable CU header.  (11 bytes I
-         reckon). */
-      /* JRS 23Jan09: I suspect this is no longer necessary now that
-         the code below contains a 'while (cu_amount_used <
-         cu_size_including_IniLen ...'  style loop, which skips over
-         any leftover bytes at the end of a CU in the case where the
-         CU's stated size is larger than its actual size (as
-         determined by reading all its DIEs).  However, for prudence,
-         I'll leave the following test in place.  I can't see that a
-         CU header can be smaller than 11 bytes, so I don't think
-         there's any harm possible through the test -- it just adds
-         robustness. */
-      Word avail = get_remaining_length_Cursor( &info );
-      if (avail < 11) {
-         if (avail > 0)
-            TRACE_D3("new_dwarf3_reader_wrk: warning: "
-                     "%ld unused bytes after end of DIEs\n", avail);
-         break;
+      while (True) {
+         UWord   cu_start_offset, cu_offset_now;
+         CUConst cc;
+
+         cu_start_offset = get_position_of_Cursor( &info );
+         TRACE_D3("\n");
+         TRACE_D3("  Compilation Unit @ offset 0x%lx:\n", cu_start_offset);
+         /* parse_CU_header initialises the CU's set_abbv_Cursor cache
+            (saC_cache) */
+         parse_CU_Header( &cc, td3, &info, escn_debug_abbv, True, False );
+
+         /* Needed by cook_die.  */
+         cc.types_cuOff_bias = escn_debug_info.szB;
+
+         record_signatured_type( signature_types, cc.type_signature,
+                                 cook_die( &cc, cc.type_offset ));
+
+         /* Until proven otherwise we assume we don't need the icc9
+            workaround in this case; see the DIE-reading loop below
+            for details.  */
+         cu_offset_now = (cu_start_offset + cc.unit_length
+                          + (cc.is_dw64 ? 12 : 4));
+
+         if (cu_offset_now >= escn_debug_types.szB)
+            break;
+
+         set_position_of_Cursor ( &info, cu_offset_now );
+      }
+   }
+
+   /* Perform three DIE-reading passes.  The first pass reads DIEs from
+      alternate .debug_info (if any), the second pass reads DIEs from
+      .debug_info, and the third pass reads DIEs from .debug_types.
+      Moving the body of this loop into a separate function would
+      require a large number of arguments to be passed in, so it is
+      kept inline instead.  */
+   for (pass = 0; pass < 3; ++pass) {
+      ULong section_size;
+
+      if (pass == 0) {
+         if (!ML_(sli_is_valid)(escn_debug_info_alt))
+	    continue;
+         /* Now loop over the Compilation Units listed in the alternate
+            .debug_info section (see D3SPEC sec 7.5) paras 1 and 2.
+            Each compilation unit contains a Compilation Unit Header
+            followed by precisely one DW_TAG_compile_unit or
+            DW_TAG_partial_unit DIE. */
+         init_Cursor( &info, escn_debug_info_alt, 0, barf,
+                      "Overrun whilst reading alternate .debug_info section" );
+         section_size = escn_debug_info_alt.szB;
+
+         TRACE_D3("\n------ Parsing alternate .debug_info section ------\n");
+      } else if (pass == 1) {
+         /* Now loop over the Compilation Units listed in the .debug_info
+            section (see D3SPEC sec 7.5) paras 1 and 2.  Each compilation
+            unit contains a Compilation Unit Header followed by precisely
+            one DW_TAG_compile_unit or DW_TAG_partial_unit DIE. */
+         init_Cursor( &info, escn_debug_info, 0, barf,
+                      "Overrun whilst reading .debug_info section" );
+         section_size = escn_debug_info.szB;
+
+         TRACE_D3("\n------ Parsing .debug_info section ------\n");
+      } else {
+         if (!ML_(sli_is_valid)(escn_debug_types))
+            continue;
+         init_Cursor( &info, escn_debug_types, 0, barf,
+                      "Overrun whilst reading .debug_types section" );
+         section_size = escn_debug_types.szB;
+
+         TRACE_D3("\n------ Parsing .debug_types section ------\n");
       }
 
-      /* Check the varparser's stack is in a sane state. */
-      vg_assert(varparser.sp == -1);
-      for (i = 0; i < N_D3_VAR_STACK; i++) {
-         vg_assert(varparser.ranges[i] == NULL);
-         vg_assert(varparser.level[i] == 0);
-      }
-      for (i = 0; i < N_D3_TYPE_STACK; i++) {
-         vg_assert(typarser.qparentE[i].cuOff == D3_INVALID_CUOFF);
-         vg_assert(typarser.qparentE[i].tag   == Te_EMPTY);
-         vg_assert(typarser.qlevel[i] == 0);
-      }
+      while (True) {
+         ULong   cu_start_offset, cu_offset_now;
+         CUConst cc;
+         /* It may be that the stated size of this CU is larger than the
+            amount of stuff actually in it.  icc9 seems to generate CUs
+            thusly.  We use these variables to figure out if this is
+            indeed the case, and if so how many bytes we need to skip to
+            get to the start of the next CU.  Not skipping those bytes
+            causes us to misidentify the start of the next CU, and it all
+            goes badly wrong after that (not surprisingly). */
+         UWord cu_size_including_IniLen, cu_amount_used;
 
-      cu_start_offset = get_position_of_Cursor( &info );
-      TRACE_D3("\n");
-      TRACE_D3("  Compilation Unit @ offset 0x%lx:\n", cu_start_offset);
-      /* parse_CU_header initialises the CU's set_abbv_Cursor cache
-         (saC_cache) */
-      parse_CU_Header( &cc, td3, &info,
-                       (UChar*)debug_abbv_img, debug_abbv_sz );
-      cc.debug_str_img    = debug_str_img;
-      cc.debug_str_sz     = debug_str_sz;
-      cc.debug_ranges_img = debug_ranges_img;
-      cc.debug_ranges_sz  = debug_ranges_sz;
-      cc.debug_loc_img    = debug_loc_img;
-      cc.debug_loc_sz     = debug_loc_sz;
-      cc.debug_line_img   = debug_line_img;
-      cc.debug_line_sz    = debug_line_sz;
-      cc.debug_info_img   = debug_info_img;
-      cc.debug_info_sz    = debug_info_sz;
-      cc.cu_start_offset  = cu_start_offset;
-      cc.di = di;
-      /* The CU's svma can be deduced by looking at the AT_low_pc
-         value in the top level TAG_compile_unit, which is the topmost
-         DIE.  We'll leave it for the 'varparser' to acquire that info
-         and fill it in -- since it is the only party to want to know
-         it. */
-      cc.cu_svma_known = False;
-      cc.cu_svma       = 0;
+         /* It seems icc9 finishes the DIE info before debug_info_sz
+            bytes have been used up.  So be flexible, and declare the
+            sequence complete if there is not enough remaining bytes to
+            hold even the smallest conceivable CU header.  (11 bytes I
+            reckon). */
+         /* JRS 23Jan09: I suspect this is no longer necessary now that
+            the code below contains a 'while (cu_amount_used <
+            cu_size_including_IniLen ...'  style loop, which skips over
+            any leftover bytes at the end of a CU in the case where the
+            CU's stated size is larger than its actual size (as
+            determined by reading all its DIEs).  However, for prudence,
+            I'll leave the following test in place.  I can't see that a
+            CU header can be smaller than 11 bytes, so I don't think
+            there's any harm possible through the test -- it just adds
+            robustness. */
+         Word avail = get_remaining_length_Cursor( &info );
+         if (avail < 11) {
+            if (avail > 0)
+               TRACE_D3("new_dwarf3_reader_wrk: warning: "
+                        "%ld unused bytes after end of DIEs\n", avail);
+            break;
+         }
 
-      /* Create a fake outermost-level range covering the entire
-         address range.  So we always have *something* to catch all
-         variable declarations. */
-      varstack_push( &cc, &varparser, td3, 
-                     unitary_range_list(0UL, ~0UL),
-                     -1, False/*isFunc*/, NULL/*fbGX*/ );
+         /* Check the varparser's stack is in a sane state. */
+         vg_assert(varparser.sp == -1);
+         for (i = 0; i < N_D3_VAR_STACK; i++) {
+            vg_assert(varparser.ranges[i] == NULL);
+            vg_assert(varparser.level[i] == 0);
+         }
+         for (i = 0; i < N_D3_TYPE_STACK; i++) {
+            vg_assert(typarser.qparentE[i].cuOff == D3_INVALID_CUOFF);
+            vg_assert(typarser.qparentE[i].tag   == Te_EMPTY);
+            vg_assert(typarser.qlevel[i] == 0);
+         }
 
-      /* And set up the file name table.  When we come across the top
-         level DIE for this CU (which is what the next call to
-         read_DIE should process) we will copy all the file names out
-         of the .debug_line img area and use this table to look up the
-         copies when we later see filename numbers in DW_TAG_variables
-         etc. */
-      vg_assert(!varparser.filenameTable );
-      varparser.filenameTable 
-         = VG_(newXA)( ML_(dinfo_zalloc), "di.readdwarf3.ndrw.5",
-                       ML_(dinfo_free),
-                       sizeof(UChar*) );
-      vg_assert(varparser.filenameTable);
+         cu_start_offset = get_position_of_Cursor( &info );
+         TRACE_D3("\n");
+         TRACE_D3("  Compilation Unit @ offset 0x%llx:\n", cu_start_offset);
+         /* parse_CU_header initialises the CU's set_abbv_Cursor cache
+            (saC_cache) */
+         if (pass == 0) {
+            parse_CU_Header( &cc, td3, &info, escn_debug_abbv_alt,
+                             False, True );
+         } else {
+            parse_CU_Header( &cc, td3, &info, escn_debug_abbv,
+                             pass == 2, False );
+         }
+         cc.escn_debug_str      = pass == 0 ? escn_debug_str_alt
+                                            : escn_debug_str;
+         cc.escn_debug_ranges   = escn_debug_ranges;
+         cc.escn_debug_loc      = escn_debug_loc;
+         cc.escn_debug_line     = pass == 0 ? escn_debug_line_alt
+                                            : escn_debug_line;
+         cc.escn_debug_info     = pass == 0 ? escn_debug_info_alt
+                                            : escn_debug_info;
+         cc.escn_debug_types    = escn_debug_types;
+         cc.escn_debug_info_alt = escn_debug_info_alt;
+         cc.escn_debug_str_alt  = escn_debug_str_alt;
+         cc.types_cuOff_bias    = escn_debug_info.szB;
+         cc.alt_cuOff_bias      = escn_debug_info.szB + escn_debug_types.szB;
+         cc.cu_start_offset     = cu_start_offset;
+         cc.di = di;
+         /* The CU's svma can be deduced by looking at the AT_low_pc
+            value in the top level TAG_compile_unit, which is the topmost
+            DIE.  We'll leave it for the 'varparser' to acquire that info
+            and fill it in -- since it is the only party to want to know
+            it. */
+         cc.cu_svma_known = False;
+         cc.cu_svma       = 0;
 
-      /* Now read the one-and-only top-level DIE for this CU. */
-      vg_assert(varparser.sp == 0);
-      read_DIE( rangestree,
-                tyents, tempvars, gexprs,
-                &typarser, &varparser,
-                &info, td3, &cc, 0 );
+         cc.signature_types = signature_types;
 
-      cu_offset_now = get_position_of_Cursor( &info );
+         /* Create a fake outermost-level range covering the entire
+            address range.  So we always have *something* to catch all
+            variable declarations. */
+         varstack_push( &cc, &varparser, td3, 
+                        unitary_range_list(0UL, ~0UL),
+                        -1, False/*isFunc*/, NULL/*fbGX*/ );
 
-      if (0) VG_(printf)("Travelled: %lu  size %llu\n",
-                         cu_offset_now - cc.cu_start_offset,
-                         cc.unit_length + (cc.is_dw64 ? 12 : 4));
+         /* And set up the file name table.  When we come across the top
+            level DIE for this CU (which is what the next call to
+            read_DIE should process) we will copy all the file names out
+            of the .debug_line img area and use this table to look up the
+            copies when we later see filename numbers in DW_TAG_variables
+            etc. */
+         vg_assert(!varparser.filenameTable );
+         varparser.filenameTable 
+            = VG_(newXA)( ML_(dinfo_zalloc), "di.readdwarf3.ndrw.5",
+                          ML_(dinfo_free),
+                          sizeof(UChar*) );
+         vg_assert(varparser.filenameTable);
 
-      /* How big the CU claims it is .. */
-      cu_size_including_IniLen = cc.unit_length + (cc.is_dw64 ? 12 : 4);
-      /* .. vs how big we have found it to be */
-      cu_amount_used = cu_offset_now - cc.cu_start_offset;
+         /* Now read the one-and-only top-level DIE for this CU. */
+         vg_assert(varparser.sp == 0);
+         read_DIE( rangestree,
+                   tyents, tempvars, gexprs,
+                   &typarser, &varparser,
+                   &info, td3, &cc, 0 );
 
-      if (1) TRACE_D3("offset now %ld, d-i-size %ld\n",
-                      cu_offset_now, debug_info_sz);
-      if (cu_offset_now > debug_info_sz)
-         barf("toplevel DIEs beyond end of CU");
-
-      /* If the CU is bigger than it claims to be, we've got a serious
-         problem. */
-      if (cu_amount_used > cu_size_including_IniLen)
-         barf("CU's actual size appears to be larger than it claims it is");
-
-      /* If the CU is smaller than it claims to be, we need to skip some
-         bytes.  Loop updates cu_offset_new and cu_amount_used. */
-      while (cu_amount_used < cu_size_including_IniLen
-             && get_remaining_length_Cursor( &info ) > 0) {
-         if (0) VG_(printf)("SKIP\n");
-         (void)get_UChar( &info );
          cu_offset_now = get_position_of_Cursor( &info );
+
+         if (0) VG_(printf)("Travelled: %llu  size %llu\n",
+                            cu_offset_now - cc.cu_start_offset,
+                            cc.unit_length + (cc.is_dw64 ? 12 : 4));
+
+         /* How big the CU claims it is .. */
+         cu_size_including_IniLen = cc.unit_length + (cc.is_dw64 ? 12 : 4);
+         /* .. vs how big we have found it to be */
          cu_amount_used = cu_offset_now - cc.cu_start_offset;
+
+         if (1) TRACE_D3("offset now %lld, d-i-size %lld\n",
+                         cu_offset_now, section_size);
+         if (cu_offset_now > section_size)
+            barf("toplevel DIEs beyond end of CU");
+
+         /* If the CU is bigger than it claims to be, we've got a serious
+            problem. */
+         if (cu_amount_used > cu_size_including_IniLen)
+            barf("CU's actual size appears to be larger than it claims it is");
+
+         /* If the CU is smaller than it claims to be, we need to skip some
+            bytes.  Loop updates cu_offset_new and cu_amount_used. */
+         while (cu_amount_used < cu_size_including_IniLen
+                && get_remaining_length_Cursor( &info ) > 0) {
+            if (0) VG_(printf)("SKIP\n");
+            (void)get_UChar( &info );
+            cu_offset_now = get_position_of_Cursor( &info );
+            cu_amount_used = cu_offset_now - cc.cu_start_offset;
+         }
+
+         /* Preen to level -2.  DIEs have level >= 0 so -2 cannot occur
+            anywhere else at all.  Our fake the-entire-address-space
+            range is at level -1, so preening to -2 should completely
+            empty the stack out. */
+         TRACE_D3("\n");
+         varstack_preen( &varparser, td3, -2 );
+         /* Similarly, empty the type stack out. */
+         typestack_preen( &typarser, td3, -2 );
+
+         TRACE_D3("set_abbv_Cursor cache: %lu queries, %lu misses\n",
+                  cc.saC_cache_queries, cc.saC_cache_misses);
+
+         vg_assert(varparser.filenameTable );
+         VG_(deleteXA)( varparser.filenameTable );
+         varparser.filenameTable = NULL;
+
+         if (cu_offset_now == section_size)
+            break;
+         /* else keep going */
       }
-
-      /* Preen to level -2.  DIEs have level >= 0 so -2 cannot occur
-         anywhere else at all.  Our fake the-entire-address-space
-         range is at level -1, so preening to -2 should completely
-         empty the stack out. */
-      TRACE_D3("\n");
-      varstack_preen( &varparser, td3, -2 );
-      /* Similarly, empty the type stack out. */
-      typestack_preen( &typarser, td3, -2 );
-
-      if (cu_offset_now == debug_info_sz)
-         break;
-      /* else keep going */
-
-      TRACE_D3("set_abbv_Cursor cache: %lu queries, %lu misses\n",
-               cc.saC_cache_queries, cc.saC_cache_misses);
-
-      vg_assert(varparser.filenameTable );
-      VG_(deleteXA)( varparser.filenameTable );
-      varparser.filenameTable = NULL;
    }
 
    /* From here on we're post-processing the stuff we got
@@ -3711,10 +4036,7 @@
       minor) waste of time, since tyents itself is sorted, but
       necessary since VG_(lookupXA) refuses to cooperate if we
       don't. */
-   VG_(setCmpFnXA)(
-      tyents_to_keep,
-      (Int(*)(void*,void*)) ML_(TyEnt__cmp_by_cuOff_only)
-   );
+   VG_(setCmpFnXA)( tyents_to_keep, (XACmpFn_t) ML_(TyEnt__cmp_by_cuOff_only) );
    VG_(sortXA)( tyents_to_keep );
 
    /* Enable cacheing on tyents_to_keep */
@@ -3755,10 +4077,19 @@
    vg_assert(dioff_lookup_tab);
 
    n = VG_(sizeXA)( tempvars );
+   Word first_primary_var = 0;
+   for (first_primary_var = 0;
+        escn_debug_info_alt.szB/*really?*/ && first_primary_var < n;
+        first_primary_var++) {
+      varp = *(TempVar**)VG_(indexXA)( tempvars, first_primary_var );
+      if (varp->dioff < escn_debug_info.szB + escn_debug_types.szB)
+         break;
+   }
    for (i = 0; i < n; i++) {
-      varp = *(TempVar**)VG_(indexXA)( tempvars, i );
-      if (i > 0) {
-         varp2 = *(TempVar**)VG_(indexXA)( tempvars, i-1 );
+      varp = *(TempVar**)VG_(indexXA)( tempvars, (i + first_primary_var) % n );
+      if (i > first_primary_var) {
+         varp2 = *(TempVar**)VG_(indexXA)( tempvars,
+                                           (i + first_primary_var - 1) % n );
          /* why should this hold?  Only, I think, because we've
             constructed the array by reading .debug_info sequentially,
             and so the array .dioff fields should reflect that, and be
@@ -3782,7 +4113,7 @@
          VG_(printf)("<%lx> addVar: level %d: %s :: ",
                      varp->dioff,
                      varp->level,
-                     varp->name ? varp->name : (UChar*)"<anon_var>" );
+                     varp->name ? varp->name : "<anon_var>" );
          if (varp->typeR) {
             ML_(pp_TyEnt_C_ishly)( tyents_to_keep, varp->typeR );
          } else {
@@ -3803,7 +4134,7 @@
             VG_(printf)("  FrB=none\n");
          }
          VG_(printf)("  declared at: %s:%d\n",
-                     varp->fName ? varp->fName : (UChar*)"NULL",
+                     varp->fName ? varp->fName : "NULL",
                      varp->fLine );
          if (varp->absOri != (UWord)D3_INVALID_CUOFF)
             VG_(printf)("  abstract origin: <%lx>\n", varp->absOri);
@@ -3973,14 +4304,10 @@
    ML_(dinfo_free)( tyents_to_keep_cache );
    tyents_to_keep_cache = NULL;
 
-   /* and the file name table (just the array, not the entries
-      themselves).  (Apparently, 2008-Oct-23, varparser.filenameTable
-      can be NULL here, for icc9 generated Dwarf3.  Not sure what that
-      signifies (a deeper problem with the reader?)) */
-   if (varparser.filenameTable) {
-      VG_(deleteXA)( varparser.filenameTable );
-      varparser.filenameTable = NULL;
-   }
+   vg_assert( varparser.filenameTable == NULL );
+
+   /* And the signatured type hash.  */
+   VG_(HT_destruct) ( signature_types, ML_(dinfo_free) );
 
    /* record the GExprs in di so they can be freed later */
    vg_assert(!di->admin_gexprs);
@@ -3995,10 +4322,10 @@
 /*------------------------------------------------------------*/
 
 static Bool               d3rd_jmpbuf_valid  = False;
-static HChar*             d3rd_jmpbuf_reason = NULL;
+static const HChar*       d3rd_jmpbuf_reason = NULL;
 static VG_MINIMAL_JMP_BUF(d3rd_jmpbuf);
 
-static __attribute__((noreturn)) void barf ( HChar* reason ) {
+static __attribute__((noreturn)) void barf ( const HChar* reason ) {
    vg_assert(d3rd_jmpbuf_valid);
    d3rd_jmpbuf_reason = reason;
    VG_MINIMAL_LONGJMP(d3rd_jmpbuf);
@@ -4010,12 +4337,12 @@
 void 
 ML_(new_dwarf3_reader) (
    struct _DebugInfo* di,
-   UChar* debug_info_img,   SizeT debug_info_sz,
-   UChar* debug_abbv_img,   SizeT debug_abbv_sz,
-   UChar* debug_line_img,   SizeT debug_line_sz,
-   UChar* debug_str_img,    SizeT debug_str_sz,
-   UChar* debug_ranges_img, SizeT debug_ranges_sz,
-   UChar* debug_loc_img,    SizeT debug_loc_sz
+   DiSlice escn_debug_info,      DiSlice escn_debug_types,
+   DiSlice escn_debug_abbv,      DiSlice escn_debug_line,
+   DiSlice escn_debug_str,       DiSlice escn_debug_ranges,
+   DiSlice escn_debug_loc,       DiSlice escn_debug_info_alt,
+   DiSlice escn_debug_abbv_alt,  DiSlice escn_debug_line_alt,
+   DiSlice escn_debug_str_alt
 )
 {
    volatile Int  jumped;
@@ -4033,12 +4360,12 @@
    if (jumped == 0) {
       /* try this ... */
       new_dwarf3_reader_wrk( di, barf,
-                             debug_info_img,   debug_info_sz,
-                             debug_abbv_img,   debug_abbv_sz,
-                             debug_line_img,   debug_line_sz,
-                             debug_str_img,    debug_str_sz,
-                             debug_ranges_img, debug_ranges_sz,
-                             debug_loc_img,    debug_loc_sz );
+                             escn_debug_info,     escn_debug_types,
+                             escn_debug_abbv,     escn_debug_line,
+                             escn_debug_str,      escn_debug_ranges,
+                             escn_debug_loc,      escn_debug_info_alt,
+                             escn_debug_abbv_alt, escn_debug_line_alt,
+                             escn_debug_str_alt );
       d3rd_jmpbuf_valid = False;
       TRACE_D3("\n------ .debug_info reading was successful ------\n");
    } else {
diff --git a/coregrind/m_debuginfo/readelf.c b/coregrind/m_debuginfo/readelf.c
index 4714471..7cd4297 100644
--- a/coregrind/m_debuginfo/readelf.c
+++ b/coregrind/m_debuginfo/readelf.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -37,14 +37,13 @@
 #include "pub_core_libcbase.h"
 #include "pub_core_libcprint.h"
 #include "pub_core_libcassert.h"
-#include "pub_core_libcfile.h"
-#include "pub_core_aspacemgr.h"    /* for mmaping debuginfo files */
 #include "pub_core_machine.h"      /* VG_ELF_CLASS */
 #include "pub_core_options.h"
 #include "pub_core_oset.h"
 #include "pub_core_tooliface.h"    /* VG_(needs) */
 #include "pub_core_xarray.h"
 #include "priv_misc.h"             /* dinfo_zalloc/free/strdup */
+#include "priv_image.h"
 #include "priv_d3basics.h"
 #include "priv_tytypes.h"
 #include "priv_storage.h"
@@ -107,11 +106,10 @@
    them.  It calls onwards to readdwarf.c to read DWARF2/3 line number
    and call frame info found. */
 
-
 /* Identify an ELF object file by peering at the first few bytes of
    it. */
 
-Bool ML_(is_elf_object_file)( void* image, SizeT n_image )
+Bool ML_(is_elf_object_file)( void* image, SizeT n_image, Bool rel_ok )
 {
    ElfXX_Ehdr* ehdr = (ElfXX_Ehdr*)image;
    Int ok = 1;
@@ -126,28 +124,45 @@
    ok &= (ehdr->e_ident[EI_CLASS] == VG_ELF_CLASS
           && ehdr->e_ident[EI_DATA] == VG_ELF_DATA2XXX
           && ehdr->e_ident[EI_VERSION] == EV_CURRENT);
-   ok &= (ehdr->e_type == ET_EXEC || ehdr->e_type == ET_DYN);
+   ok &= (ehdr->e_type == ET_EXEC || ehdr->e_type == ET_DYN
+          || (rel_ok && ehdr->e_type == ET_REL));
    ok &= (ehdr->e_machine == VG_ELF_MACHINE);
    ok &= (ehdr->e_version == EV_CURRENT);
    ok &= (ehdr->e_shstrndx != SHN_UNDEF);
    ok &= (ehdr->e_shoff != 0 && ehdr->e_shnum != 0);
-   ok &= (ehdr->e_phoff != 0 && ehdr->e_phnum != 0);
+   ok &= ((ehdr->e_phoff != 0 && ehdr->e_phnum != 0)
+          || ehdr->e_type == ET_REL);
 
-   if (ok)
-      return True;
-   else
+   return ok ? True : False;
+}
+
+
+/* The same thing, but operating on a DiImage instead. */
+
+static Bool is_elf_object_file_by_DiImage( DiImage* img, Bool rel_ok )
+{
+   /* Be sure this doesn't make the frame too big. */
+   vg_assert(sizeof(ElfXX_Ehdr) <= 512);
+
+   ElfXX_Ehdr ehdr;
+   if (!ML_(img_valid)(img, 0, sizeof(ehdr)))
       return False;
+
+   ML_(img_get)(&ehdr, img, 0, sizeof(ehdr));
+   return ML_(is_elf_object_file)( &ehdr, sizeof(ehdr), rel_ok );
 }
 
 
 /* Show a raw ELF symbol, given its in-image address and name. */
 
 static
-void show_raw_elf_symbol ( Int i, 
-                           ElfXX_Sym* sym, Char* sym_name, Addr sym_svma,
+void show_raw_elf_symbol ( DiImage* strtab_img,
+                           Int i, 
+                           ElfXX_Sym* sym,
+                           DiOffT sym_name_ioff, Addr sym_svma,
                            Bool ppc64_linux_format )
 {
-   HChar* space = ppc64_linux_format ? "                  " : "";
+   const HChar* space = ppc64_linux_format ? "                  " : "";
    VG_(printf)("raw symbol [%4d]: ", i);
    switch (ELFXX_ST_BIND(sym->st_info)) {
       case STB_LOCAL:  VG_(printf)("LOC "); break;
@@ -167,10 +182,15 @@
       case STT_HIPROC:  VG_(printf)("hip "); break;
       default:          VG_(printf)("??? "); break;
    }
+   HChar* sym_name = NULL;
+   if (sym->st_name)
+      sym_name = ML_(img_strdup)(strtab_img, "di.sres.1", sym_name_ioff);
    VG_(printf)(": svma %#010lx, %ssz %4ld  %s\n",
                sym_svma, space, sym->st_size + 0UL,
-               ( sym->st_name ? sym_name : (Char*)"NONAME" ) ); 
-}               
+               (sym_name ? sym_name : "NONAME") ); 
+   if (sym_name)
+      ML_(dinfo_free)(sym_name);
+}
 
 
 /* Decide whether SYM is something we should collect, and if so, copy
@@ -205,21 +225,22 @@
         /* INPUTS */
         struct _DebugInfo* di, /* containing DebugInfo */
         ElfXX_Sym* sym,        /* ELF symbol */
-        Char*      sym_name,   /* name */
+        DiOffT     sym_name_ioff, /* name, may be absent (DiOffT_INVALID) */
+        DiSlice*   escn_strtab,   /* holds the name */
         Addr       sym_svma,   /* address as stated in the object file */
         Bool       symtab_in_debug, /* symbol table is in the debug file */
-        UChar*     opd_img,    /* oimage of .opd sec (ppc64-linux only) */
+        DiSlice*   escn_opd,   /* the .opd (ppc64-linux only) */
         PtrdiffT   opd_bias,   /* for biasing AVMAs found in .opd */
         /* OUTPUTS */
-        Char** sym_name_out,   /* name we should record */
-        Addr*  sym_avma_out,   /* addr we should record */
-        Int*   sym_size_out,   /* symbol size */
-        Addr*  sym_tocptr_out, /* ppc64-linux only: R2 value to be
-                                  used on entry */
-        Bool*  from_opd_out,   /* ppc64-linux only: did we deref an
+        DiOffT* sym_name_out_ioff, /* name (in strtab) we should record */
+        Addr*   sym_avma_out,   /* addr we should record */
+        Int*    sym_size_out,   /* symbol size */
+        Addr*   sym_tocptr_out, /* ppc64-linux only: R2 value to be
+                                   used on entry */
+        Bool*   from_opd_out,   /* ppc64-linux only: did we deref an
                                   .opd entry? */
-        Bool*  is_text_out,    /* is this a text symbol? */
-        Bool*  is_ifunc        /* is this a  STT_GNU_IFUNC function ?*/
+        Bool*   is_text_out,    /* is this a text symbol? */
+        Bool*   is_ifunc        /* is this a  STT_GNU_IFUNC function ?*/
      )
 {
    Bool plausible;
@@ -231,13 +252,24 @@
    PtrdiffT text_bias, data_bias, sdata_bias, rodata_bias, bss_bias, sbss_bias;
 
    /* Set defaults */
-   *sym_name_out   = sym_name;
-   *sym_avma_out   = sym_svma; /* we will bias this shortly */
-   *is_text_out    = True;
-   *sym_size_out   = (Int)sym->st_size;
-   *sym_tocptr_out = 0; /* unknown/inapplicable */
-   *from_opd_out   = False;
-   *is_ifunc       = False;
+   *sym_name_out_ioff = sym_name_ioff;
+   *sym_avma_out      = sym_svma; /* we will bias this shortly */
+   *is_text_out       = True;
+   *sym_tocptr_out    = 0; /* unknown/inapplicable */
+   *from_opd_out      = False;
+   *is_ifunc          = False;
+   /* Get the symbol size, but restrict it to fit in a signed 32 bit
+      int.  Also, deal with the stupid case of negative size by making
+      the size be 1.  Note that sym->st_size has type UWord,
+      effectively. */
+   { Word size_tmp = (Word)sym->st_size;
+     Word max_Int  = (1LL << 31) - 1;
+     if (size_tmp < 0)       size_tmp = 1;
+     if (size_tmp > max_Int) size_tmp = max_Int;
+     *sym_size_out = (Int)size_tmp;
+   }
+   /* After this point refer only to *sym_size_out and not to
+      sym->st_size. */
 
    /* Figure out if we're interested in the symbol.  Firstly, is it of
       the right flavour?  */
@@ -249,9 +281,9 @@
         &&
         (ELFXX_ST_TYPE(sym->st_info) == STT_FUNC 
          || ELFXX_ST_TYPE(sym->st_info) == STT_OBJECT
-#ifdef STT_GNU_IFUNC
+#        ifdef STT_GNU_IFUNC
          || ELFXX_ST_TYPE(sym->st_info) == STT_GNU_IFUNC
-#endif
+#        endif
         );
 
    /* Work out the svma and bias for each section as it will appear in
@@ -349,7 +381,7 @@
    if (!plausible
        && *is_text_out
        && ELFXX_ST_TYPE(sym->st_info) == STT_NOTYPE
-       && sym->st_size > 0
+       && *sym_size_out > 0
        && di->opd_present
        && di->opd_size > 0
        && *sym_avma_out >= di->opd_avma
@@ -361,11 +393,16 @@
       return False;
 
    /* Ignore if nameless. */
-   if (sym_name == (ElfXX_Word)0
+   if (sym_name_ioff == DiOffT_INVALID
        || /* VG_(strlen)(sym_name) == 0 */
           /* equivalent but cheaper ... */
-          sym_name[0] == 0) {
-      TRACE_SYMTAB("    ignore -- nameless: %s\n", sym_name);
+          ML_(img_get_UChar)(escn_strtab->img, sym_name_ioff) == '\0') {
+      if (TRACE_SYMTAB_ENABLED) {
+         HChar* sym_name = ML_(img_strdup)(escn_strtab->img,
+                                           "di.gesi.1", sym_name_ioff);
+         TRACE_SYMTAB("    ignore -- nameless: %s\n", sym_name);
+         if (sym_name) ML_(dinfo_free)(sym_name);
+      }
       return False;
    }
 
@@ -382,11 +419,16 @@
       in /system/lib/libc.so: strlen strcmp strcpy memcmp memcpy
       in /system/bin/linker:  __dl_strcmp __dl_strlen
    */
-   if (sym->st_size == 0) {
-#     if defined(VGPV_arm_linux_android)
+   if (*sym_size_out == 0) {
+#     if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
       *sym_size_out = 2048;
 #     else
-      TRACE_SYMTAB("    ignore -- size=0: %s\n", sym_name);
+      if (TRACE_SYMTAB_ENABLED) {
+         HChar* sym_name = ML_(img_strdup)(escn_strtab->img,
+                                           "di.gesi.2", sym_name_ioff);
+         TRACE_SYMTAB("    ignore -- size=0: %s\n", sym_name);
+         if (sym_name) ML_(dinfo_free)(sym_name);
+      }
       return False;
 #     endif
    }
@@ -395,7 +437,12 @@
       symbols, and particularly reduces the number of
       overlapping address ranges.  Don't ask me why ... */
    if ((Int)sym->st_value == 0) {
-      TRACE_SYMTAB( "    ignore -- valu=0: %s\n", sym_name);
+      if (TRACE_SYMTAB_ENABLED) {
+         HChar* sym_name = ML_(img_strdup)(escn_strtab->img,
+                                           "di.gesi.3", sym_name_ioff);
+         TRACE_SYMTAB( "    ignore -- valu=0: %s\n", sym_name);
+         if (sym_name) ML_(dinfo_free)(sym_name);
+      }
       return False;
    }
 
@@ -405,14 +452,24 @@
        && di->got_size > 0
        && *sym_avma_out >= di->got_avma 
        && *sym_avma_out <  di->got_avma + di->got_size) {
-      TRACE_SYMTAB("    ignore -- in GOT: %s\n", sym_name);
+      if (TRACE_SYMTAB_ENABLED) {
+         HChar* sym_name = ML_(img_strdup)(escn_strtab->img,
+                                           "di.gesi.4", sym_name_ioff);
+         TRACE_SYMTAB("    ignore -- in GOT: %s\n", sym_name);
+         if (sym_name) ML_(dinfo_free)(sym_name);
+      }
       return False;
    }
    if (di->plt_present
        && di->plt_size > 0
        && *sym_avma_out >= di->plt_avma
        && *sym_avma_out <  di->plt_avma + di->plt_size) {
-      TRACE_SYMTAB("    ignore -- in PLT: %s\n", sym_name);
+      if (TRACE_SYMTAB_ENABLED) {
+         HChar* sym_name = ML_(img_strdup)(escn_strtab->img,
+                                           "di.gesi.5", sym_name_ioff);
+         TRACE_SYMTAB("    ignore -- in PLT: %s\n", sym_name);
+         if (sym_name) ML_(dinfo_free)(sym_name);
+      }
       return False;
    }
 
@@ -433,11 +490,15 @@
        && *sym_avma_out >= di->opd_avma
        && *sym_avma_out <  di->opd_avma + di->opd_size) {
 #     if !defined(VGP_ppc64_linux)
-      TRACE_SYMTAB("    ignore -- in OPD: %s\n", sym_name);
+      if (TRACE_SYMTAB_ENABLED) {
+         HChar* sym_name = ML_(img_strdup)(escn_strtab->img,
+                                           "di.gesi.6", sym_name_ioff);
+         TRACE_SYMTAB("    ignore -- in OPD: %s\n", sym_name);
+         if (sym_name) ML_(dinfo_free)(sym_name);
+      }
       return False;
 #     else
       Int    offset_in_opd;
-      ULong* fn_descr;
       Bool   details = 1||False;
 
       if (details)
@@ -445,7 +506,12 @@
                       (void*)(opd_bias), (void*)*sym_avma_out);
 
       if (!VG_IS_8_ALIGNED(*sym_avma_out)) {
-         TRACE_SYMTAB("    ignore -- not 8-aligned: %s\n", sym_name);
+         if (TRACE_SYMTAB_ENABLED) {
+            HChar* sym_name = ML_(img_strdup)(escn_strtab->img,
+                                              "di.gesi.6a", sym_name_ioff);
+            TRACE_SYMTAB("    ignore -- not 8-aligned: %s\n", sym_name);
+            if (sym_name) ML_(dinfo_free)(sym_name);
+         }
          return False;
       }
 
@@ -455,7 +521,12 @@
 
       offset_in_opd = (Addr)(*sym_avma_out) - (Addr)(di->opd_avma);
       if (offset_in_opd < 0 || offset_in_opd >= di->opd_size) {
-         TRACE_SYMTAB("    ignore -- invalid OPD offset: %s\n", sym_name);
+         if (TRACE_SYMTAB_ENABLED) {
+            HChar* sym_name = ML_(img_strdup)(escn_strtab->img,
+                                              "di.gesi.6a", sym_name_ioff);
+            TRACE_SYMTAB("    ignore -- invalid OPD offset: %s\n", sym_name);
+            if (sym_name) ML_(dinfo_free)(sym_name);
+         }
          return False;
       }
 
@@ -465,7 +536,24 @@
          opd_img is the start address of the .opd in the oimage.
          Hence: */
 
-      fn_descr = (ULong*)(opd_img + offset_in_opd);
+      ULong fn_descr[2]; /* is actually 3 words, but we need only 2 */
+      if (!ML_(img_valid)(escn_opd->img, escn_opd->ioff + offset_in_opd,
+                          sizeof(fn_descr))) {
+         if (TRACE_SYMTAB_ENABLED) {
+            HChar* sym_name = ML_(img_strdup)(escn_strtab->img,
+                                              "di.gesi.6b", sym_name_ioff);
+            TRACE_SYMTAB("    ignore -- invalid OPD fn_descr offset: %s\n",
+                         sym_name);
+            if (sym_name) ML_(dinfo_free)(sym_name);
+
+         }
+         return False;
+      }
+
+      /* This can't fail now, because we just checked the offset
+         above. */
+      ML_(img_get)(&fn_descr[0], escn_opd->img,
+                   escn_opd->ioff + offset_in_opd, sizeof(fn_descr));
 
       if (details) 
          TRACE_SYMTAB("opdXXY: offset %d,  fn_descr %p\n", 
@@ -499,9 +587,10 @@
 #  if defined(VGP_ppc64_linux)
    if (di->opd_size > 0
        && !is_in_opd
-       && sym_name[0] == '.') {
+       && *sym_name_out_ioff != DiOffT_INVALID
+       && ML_(img_get_UChar)(escn_strtab->img, *sym_name_out_ioff) == '.') {
       vg_assert(!(*from_opd_out));
-      *sym_name_out = &sym_name[1];
+      (*sym_name_out_ioff)++;
    }
 #  endif
 
@@ -554,9 +643,11 @@
          background. */
       Bool in_rx;
       vg_assert(di->fsm.have_rx_map);
-      in_rx = (!(*sym_avma_out + *sym_size_out <= di->fsm.rx_map_avma
-                 || *sym_avma_out >= di->fsm.rx_map_avma
-                                     + di->fsm.rx_map_size));
+      /* This could actually wrap around and cause
+         ML_(find_rx_mapping) to assert.  But that seems so unlikely,
+         let's wait for it to happen before fixing it. */
+      in_rx = (ML_(find_rx_mapping)(di, *sym_avma_out,
+                                    *sym_avma_out + *sym_size_out) != NULL);
       if (in_text)
          vg_assert(in_rx);
       if (!in_rx) {
@@ -580,7 +671,7 @@
 #  if defined(VGP_ppc64_linux)
    /* It's crucial that we never add symbol addresses in the .opd
       section.  This would completely mess up function redirection and
-      intercepting.  This assert ensures that anysymbols that make it
+      intercepting.  This assert ensures that any symbols that make it
       into the symbol table on ppc64-linux don't point into .opd. */
    if (di->opd_present && di->opd_size > 0) {
       vg_assert(*sym_avma_out + *sym_size_out <= di->opd_avma
@@ -594,75 +685,80 @@
 
 
 /* Read an ELF symbol table (normal or dynamic).  This one is for the
-   "normal" case ({x86,amd64,ppc32}-linux). */
+   "normal" case ({x86,amd64,ppc32,arm,mips32,mips64}-linux). */
 static
 __attribute__((unused)) /* not referred to on all targets */
 void read_elf_symtab__normal( 
-        struct _DebugInfo* di, UChar* tab_name,
-        ElfXX_Sym* symtab_img, SizeT symtab_szB,
-        UChar*     strtab_img, SizeT strtab_szB,
-        Bool       symtab_in_debug,
-        UChar*     opd_img /* ppc64-linux only */ 
+        struct _DebugInfo* di, const HChar* tab_name,
+        DiSlice*   escn_symtab,
+        DiSlice*   escn_strtab,
+        DiSlice*   escn_opd, /* ppc64-linux only */ 
+        Bool       symtab_in_debug
      )
 {
-   Word       i;
-   Addr       sym_svma, sym_avma_really;
-   Char      *sym_name, *sym_name_really;
-   Int        sym_size;
-   Addr       sym_tocptr;
-   Bool       from_opd, is_text, is_ifunc;
-   DiSym      disym;
-   ElfXX_Sym *sym;
-
-   if (strtab_img == NULL || symtab_img == NULL) {
-      Char buf[80];
+   if (escn_strtab->img == NULL || escn_symtab->img == NULL) {
+      HChar buf[80];
       vg_assert(VG_(strlen)(tab_name) < 40);
       VG_(sprintf)(buf, "   object doesn't have a %s", tab_name);
       ML_(symerr)(di, False, buf);
       return;
    }
 
-   TRACE_SYMTAB("\n--- Reading (ELF, standard) %s (%ld entries) ---\n",
-                tab_name, symtab_szB/sizeof(ElfXX_Sym) );
+   TRACE_SYMTAB("\n--- Reading (ELF, standard) %s (%lld entries) ---\n",
+                tab_name, escn_symtab->szB/sizeof(ElfXX_Sym) );
 
    /* Perhaps should start at i = 1; ELF docs suggest that entry
       0 always denotes 'unknown symbol'. */
-   for (i = 1; i < (Word)(symtab_szB/sizeof(ElfXX_Sym)); i++) {
-      sym      = & symtab_img[i];
-      sym_name = (UChar*)(strtab_img + sym->st_name);
-      sym_svma = sym->st_value;
+   Word i;
+   for (i = 1; i < (Word)(escn_symtab->szB/sizeof(ElfXX_Sym)); i++) {
+      ElfXX_Sym sym;
+      ML_(img_get)(&sym, escn_symtab->img,
+                   escn_symtab->ioff + i * sizeof(ElfXX_Sym), sizeof(sym));
+      DiOffT sym_name = escn_strtab->ioff + sym.st_name;
+      Addr   sym_svma = sym.st_value;
 
       if (di->trace_symtab)
-         show_raw_elf_symbol(i, sym, sym_name, sym_svma, False);
+        show_raw_elf_symbol(escn_strtab->img, i,
+                            &sym, sym_name, sym_svma, False);
 
-      if (get_elf_symbol_info(di, sym, sym_name, sym_svma,
-                              symtab_in_debug,
-                              opd_img, di->text_bias,
+      Addr   sym_avma_really = 0;
+      Int    sym_size = 0;
+      Addr   sym_tocptr = 0;
+      Bool   from_opd = False, is_text = False, is_ifunc = False;
+      DiOffT sym_name_really = DiOffT_INVALID;
+      if (get_elf_symbol_info(di, &sym, sym_name, escn_strtab, 
+                              sym_svma, symtab_in_debug,
+                              escn_opd, di->text_bias,
                               &sym_name_really, 
                               &sym_avma_really,
                               &sym_size,
                               &sym_tocptr,
                               &from_opd, &is_text, &is_ifunc)) {
 
+         DiSym  disym;
+         VG_(memset)(&disym, 0, sizeof(disym));
+         HChar* cstr = ML_(img_strdup)(escn_strtab->img,
+                                       "di.res__n.1", sym_name_really);
          disym.addr      = sym_avma_really;
          disym.tocptr    = sym_tocptr;
-         disym.pri_name  = ML_(addStr) ( di, sym_name_really, -1 );
+         disym.pri_name  = ML_(addStr) ( di, cstr, -1 );
          disym.sec_names = NULL;
          disym.size      = sym_size;
          disym.isText    = is_text;
          disym.isIFunc   = is_ifunc;
+         if (cstr) { ML_(dinfo_free)(cstr); cstr = NULL; }
          vg_assert(disym.pri_name);
          vg_assert(disym.tocptr == 0); /* has no role except on ppc64-linux */
          ML_(addSym) ( di, &disym );
 
-         if (di->trace_symtab) {
-            VG_(printf)("    rec(%c) [%4ld]:          "
-                        "  val %#010lx, sz %4d  %s\n",
-                        is_text ? 't' : 'd',
-                        i,
-                        disym.addr,
-                        (Int)disym.size,
-                        (HChar*)disym.pri_name
+         if (TRACE_SYMTAB_ENABLED) {
+            TRACE_SYMTAB("    rec(%c) [%4ld]:          "
+                         "  val %#010lx, sz %4d  %s\n",
+                         is_text ? 't' : 'd',
+                         i,
+                         disym.addr,
+                         (Int)disym.size,
+                         (HChar*)disym.pri_name
             );
          }
 
@@ -676,8 +772,12 @@
 
 typedef
    struct { 
-      Addr   addr; 
-      UChar* name; 
+      Addr   addr;
+      DiOffT name;
+      /* We have to store also the DiImage* so as to give context for
+         |name|.  This is not part of the key (in terms of lookup) but
+         there's no easy other way to do this.  Ugly. */
+      DiImage* img;
    }
    TempSymKey;
 
@@ -692,46 +792,46 @@
    }
    TempSym;
 
-static Word cmp_TempSymKey ( TempSymKey* key1, TempSym* elem2 ) {
+static Word cmp_TempSymKey ( TempSymKey* key1, TempSym* elem2 )
+{
+   /* Stay sane ... */
+   vg_assert(key1->img == elem2->key.img);
+   vg_assert(key1->img != NULL);
    if (key1->addr < elem2->key.addr) return -1;
    if (key1->addr > elem2->key.addr) return 1;
-   return (Word)VG_(strcmp)(key1->name, elem2->key.name);
+   vg_assert(key1->name != DiOffT_INVALID);
+   vg_assert(elem2->key.name != DiOffT_INVALID);
+   return (Word)ML_(img_strcmp)(key1->img, key1->name, elem2->key.name);
 }
 
 static
 __attribute__((unused)) /* not referred to on all targets */
 void read_elf_symtab__ppc64_linux( 
-        struct _DebugInfo* di, UChar* tab_name,
-        ElfXX_Sym* symtab_img, SizeT symtab_szB,
-        UChar*     strtab_img, SizeT strtab_szB,
-        Bool       symtab_in_debug,
-        UChar*     opd_img /* ppc64-linux only */ 
+        struct _DebugInfo* di, const HChar* tab_name,
+        DiSlice*   escn_symtab,
+        DiSlice*   escn_strtab,
+        DiSlice*   escn_opd, /* ppc64-linux only */ 
+        Bool       symtab_in_debug
      )
 {
    Word        i;
    Int         old_size;
-   Addr        sym_svma, sym_avma_really;
-   Char       *sym_name, *sym_name_really;
-   Int         sym_size;
-   Addr        sym_tocptr;
-   Bool        from_opd, modify_size, modify_tocptr, is_text, is_ifunc;
-   DiSym       disym;
-   ElfXX_Sym  *sym;
+   Bool        modify_size, modify_tocptr;
    OSet       *oset;
    TempSymKey  key;
    TempSym    *elem;
    TempSym    *prev;
 
-   if (strtab_img == NULL || symtab_img == NULL) {
-      Char buf[80];
+   if (escn_strtab->img == NULL || escn_symtab->img == NULL) {
+      HChar buf[80];
       vg_assert(VG_(strlen)(tab_name) < 40);
       VG_(sprintf)(buf, "   object doesn't have a %s", tab_name);
       ML_(symerr)(di, False, buf);
       return;
    }
 
-   TRACE_SYMTAB("\n--- Reading (ELF, ppc64-linux) %s (%ld entries) ---\n",
-                tab_name, symtab_szB/sizeof(ElfXX_Sym) );
+   TRACE_SYMTAB("\n--- Reading (ELF, ppc64-linux) %s (%lld entries) ---\n",
+                tab_name, escn_symtab->szB/sizeof(ElfXX_Sym) );
 
    oset = VG_(OSetGen_Create)( offsetof(TempSym,key), 
                                (OSetCmp_t)cmp_TempSymKey, 
@@ -741,17 +841,27 @@
 
    /* Perhaps should start at i = 1; ELF docs suggest that entry
       0 always denotes 'unknown symbol'. */
-   for (i = 1; i < (Word)(symtab_szB/sizeof(ElfXX_Sym)); i++) {
-      sym      = & symtab_img[i];
-      sym_name = (Char*)(strtab_img + sym->st_name);
-      sym_svma = sym->st_value;
+   for (i = 1; i < (Word)(escn_symtab->szB/sizeof(ElfXX_Sym)); i++) {
+      ElfXX_Sym sym;
+      ML_(img_get)(&sym, escn_symtab->img,
+                   escn_symtab->ioff + i * sizeof(ElfXX_Sym), sizeof(sym));
+      DiOffT sym_name = escn_strtab->ioff + sym.st_name;
+      Addr   sym_svma = sym.st_value;
 
       if (di->trace_symtab)
-         show_raw_elf_symbol(i, sym, sym_name, sym_svma, True);
+         show_raw_elf_symbol(escn_strtab->img, i,
+                             &sym, sym_name, sym_svma, True);
 
-      if (get_elf_symbol_info(di, sym, sym_name, sym_svma,
-                              symtab_in_debug,
-                              opd_img, di->text_bias,
+      Addr   sym_avma_really = 0;
+      Int    sym_size = 0;
+      Addr   sym_tocptr = 0;
+      Bool   from_opd = False, is_text = False, is_ifunc = False;
+      DiOffT sym_name_really = DiOffT_INVALID;
+      DiSym  disym;
+      VG_(memset)(&disym, 0, sizeof(disym));
+      if (get_elf_symbol_info(di, &sym, sym_name, escn_strtab,
+                              sym_svma, symtab_in_debug,
+                              escn_opd, di->text_bias,
                               &sym_name_really, 
                               &sym_avma_really,
                               &sym_size,
@@ -761,6 +871,7 @@
          /* Check if we've seen this (name,addr) key before. */
          key.addr = sym_avma_really;
          key.name = sym_name_really;
+         key.img  = escn_strtab->img;
          prev = VG_(OSetGen_Lookup)( oset, &key );
 
          if (prev) {
@@ -800,21 +911,21 @@
 
             if (modify_size && di->trace_symtab) {
                VG_(printf)("    modify (old sz %4d)    "
-                           " val %#010lx, toc %#010lx, sz %4d  %s\n",
+                           " val %#010lx, toc %#010lx, sz %4d  %lld\n",
                            old_size,
                            prev->key.addr,
                            prev->tocptr,
-                           (Int)   prev->size, 
-                           (HChar*)prev->key.name
+                           (Int)  prev->size, 
+                           (ULong)prev->key.name
                );
             }
             if (modify_tocptr && di->trace_symtab) {
                VG_(printf)("    modify (upd tocptr)     "
-                           " val %#010lx, toc %#010lx, sz %4d  %s\n",
+                           " val %#010lx, toc %#010lx, sz %4d  %lld\n",
                            prev->key.addr,
                            prev->tocptr,
-                           (Int)   prev->size,
-                           (HChar*)prev->key.name
+                           (Int)  prev->size,
+                           (ULong)prev->key.name
                );
             }
 
@@ -831,14 +942,17 @@
             elem->is_ifunc = is_ifunc;
             VG_(OSetGen_Insert)(oset, elem);
             if (di->trace_symtab) {
+               HChar* str = ML_(img_strdup)(escn_strtab->img, "di.respl.2",
+                                            elem->key.name);
                VG_(printf)("   to-oset [%4ld]:          "
                            "  val %#010lx, toc %#010lx, sz %4d  %s\n",
                            i,
                            elem->key.addr,
                            elem->tocptr,
-                           (Int)   elem->size,
-                           (HChar*)elem->key.name
+                           (Int)  elem->size,
+                           str
                );
+               if (str) ML_(dinfo_free)(str);
             }
 
          }
@@ -852,13 +966,18 @@
    VG_(OSetGen_ResetIter)( oset );
 
    while ( (elem = VG_(OSetGen_Next)(oset)) ) {
+      DiSym disym;
+      VG_(memset)(&disym, 0, sizeof(disym));
+      HChar* cstr = ML_(img_strdup)(escn_strtab->img,
+                                    "di.res__ppc64.1", elem->key.name);
       disym.addr      = elem->key.addr;
       disym.tocptr    = elem->tocptr;
-      disym.pri_name  = ML_(addStr) ( di, elem->key.name, -1 );
+      disym.pri_name  = ML_(addStr) ( di, cstr, -1 );
       disym.sec_names = NULL;
       disym.size      = elem->size;
       disym.isText    = elem->is_text;
       disym.isIFunc   = elem->is_ifunc;
+      if (cstr) { ML_(dinfo_free)(cstr); cstr = NULL; }
       vg_assert(disym.pri_name != NULL);
 
       ML_(addSym) ( di, &disym );
@@ -885,350 +1004,327 @@
  * can be found here:
  *
  * http://fedoraproject.org/wiki/RolandMcGrath/BuildID
+ *
+ * Returned string must be freed by the caller.
  */
 static
-Char *find_buildid(Addr image, UWord n_image)
+HChar* find_buildid(DiImage* img, Bool rel_ok, Bool search_shdrs)
 {
-   Char* buildid = NULL;
-   __attribute__((unused)) /* on Android, at least */
-   ElfXX_Ehdr* ehdr = (ElfXX_Ehdr*)image;
+   HChar* buildid = NULL;
 
-#ifdef NT_GNU_BUILD_ID
-   if (n_image >= sizeof(ElfXX_Ehdr) &&
-       ML_(is_elf_object_file)(ehdr, n_image)) {
+#  ifdef NT_GNU_BUILD_ID
+   if (is_elf_object_file_by_DiImage(img, rel_ok)) {
       Word i;
 
-      for (i = 0; i < ehdr->e_phnum; i++) {
-         ElfXX_Phdr* phdr
-            = (ElfXX_Phdr*)(image + ehdr->e_phoff + i * ehdr->e_phentsize);
+      ElfXX_Ehdr ehdr;
+      ML_(img_get)(&ehdr, img, 0, sizeof(ehdr));
+      for (i = 0; i < ehdr.e_phnum; i++) {
+         ElfXX_Phdr phdr;
+         ML_(img_get)(&phdr, img,
+                      ehdr.e_phoff + i * ehdr.e_phentsize, sizeof(phdr));
 
-         if (phdr->p_type == PT_NOTE) {
-            ElfXX_Off offset =  phdr->p_offset;
+         if (phdr.p_type == PT_NOTE) {
+            ElfXX_Off note_ioff = phdr.p_offset;
 
-            while (offset < phdr->p_offset + phdr->p_filesz) {
-               ElfXX_Nhdr* note = (ElfXX_Nhdr*)(image + offset);
-               Char* name = (Char *)note + sizeof(ElfXX_Nhdr);
-               UChar *desc = (UChar *)name + ((note->n_namesz + 3) & ~3);
-               Word j;
-
-               if (VG_(strcmp)(name, ELF_NOTE_GNU) == 0 &&
-                   note->n_type == NT_GNU_BUILD_ID) {
+            while (note_ioff < phdr.p_offset + phdr.p_filesz) {
+               ElfXX_Nhdr note;
+               ML_(img_get)(&note, img, (DiOffT)note_ioff, sizeof(note));
+               DiOffT name_ioff = note_ioff + sizeof(ElfXX_Nhdr);
+               DiOffT desc_ioff = name_ioff + ((note.n_namesz + 3) & ~3);
+               if (ML_(img_strcmp_c)(img, name_ioff, ELF_NOTE_GNU) == 0
+                   && note.n_type == NT_GNU_BUILD_ID) {
                   buildid = ML_(dinfo_zalloc)("di.fbi.1",
-                                              note->n_descsz * 2 + 1);
-                  
-                  for (j = 0; j < note->n_descsz; j++) {
+                                              note.n_descsz * 2 + 1);
+                  Word j;
+                  for (j = 0; j < note.n_descsz; j++) {
+                     UChar desc_j = ML_(img_get_UChar)(img, desc_ioff + j);
                      VG_(sprintf)(buildid + VG_(strlen)(buildid), 
-                                  "%02x", desc[j]);
+                                  "%02x", (UInt)desc_j);
                   }
                }
 
-               offset = offset + sizeof(ElfXX_Nhdr)
-                               + ((note->n_namesz + 3) & ~3)
-                               + ((note->n_descsz + 3) & ~3);
+               note_ioff = note_ioff + sizeof(ElfXX_Nhdr)
+                                     + ((note.n_namesz + 3) & ~3)
+                                     + ((note.n_descsz + 3) & ~3);
             }            
          }
-      }    
+      }
+
+      /* Normally we would only search shdrs for ET_REL files, but when
+         we search for a separate .debug file phdrs might not be there
+         (they are never loaded) or have been corrupted, so try again
+         against shdrs. */
+      if (buildid || (!rel_ok && !search_shdrs))
+         return buildid;
+
+      for (i = 0; i < ehdr.e_shnum; i++) {
+         ElfXX_Shdr shdr;
+         ML_(img_get)(&shdr, img,
+                      ehdr.e_shoff + i * ehdr.e_shentsize, sizeof(shdr));
+
+         if (shdr.sh_type == SHT_NOTE) {
+            ElfXX_Off note_ioff = shdr.sh_offset;
+
+            while (note_ioff < shdr.sh_offset + shdr.sh_size) {
+               ElfXX_Nhdr note;
+               ML_(img_get)(&note, img, (DiOffT)note_ioff, sizeof(note));
+               DiOffT name_ioff = note_ioff + sizeof(ElfXX_Nhdr);
+               DiOffT desc_ioff = name_ioff + ((note.n_namesz + 3) & ~3);
+
+               if (ML_(img_strcmp_c)(img, name_ioff, ELF_NOTE_GNU) == 0
+                   && note.n_type == NT_GNU_BUILD_ID) {
+                  buildid = ML_(dinfo_zalloc)("di.fbi.2",
+                                              note.n_descsz * 2 + 1);
+                  Word j;
+                  for (j = 0; j < note.n_descsz; j++) {
+                     UChar desc_j = ML_(img_get_UChar)(img, desc_ioff + j);
+                     VG_(sprintf)(buildid + VG_(strlen)(buildid), 
+                                  "%02x", (UInt)desc_j);
+                  }
+               }
+
+               note_ioff = note_ioff + sizeof(ElfXX_Nhdr)
+                                     + ((note.n_namesz + 3) & ~3)
+                                     + ((note.n_descsz + 3) & ~3);
+            }            
+         }
+      }
    }
-#endif
+#  endif /* def NT_GNU_BUILD_ID */
 
    return buildid;
 }
 
-/*
- * This routine for calculating the CRC for a separate debug file
- * is GPLed code borrowed from GNU binutils.
- */
-static UInt
-calc_gnu_debuglink_crc32(UInt crc, const UChar *buf, Int len)
-{
-  static const UInt crc32_table[256] =
-    {
-      0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419,
-      0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4,
-      0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07,
-      0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de,
-      0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856,
-      0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
-      0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4,
-      0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b,
-      0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3,
-      0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a,
-      0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599,
-      0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
-      0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190,
-      0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f,
-      0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e,
-      0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01,
-      0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed,
-      0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
-      0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3,
-      0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2,
-      0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a,
-      0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5,
-      0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010,
-      0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
-      0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17,
-      0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6,
-      0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615,
-      0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8,
-      0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344,
-      0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
-      0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a,
-      0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5,
-      0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1,
-      0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c,
-      0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef,
-      0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
-      0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe,
-      0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31,
-      0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c,
-      0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713,
-      0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b,
-      0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
-      0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1,
-      0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c,
-      0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278,
-      0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7,
-      0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66,
-      0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
-      0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605,
-      0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8,
-      0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b,
-      0x2d02ef8d
-    };
-  const UChar *end;
 
-  crc = ~crc & 0xffffffff;
-  for (end = buf + len; buf < end; ++ buf)
-    crc = crc32_table[(crc ^ *buf) & 0xff] ^ (crc >> 8);
-  return ~crc & 0xffffffff;;
-}
+/* Try and open a separate debug file, ignoring any where the CRC does
+   not match the value from the main object file.  Returned DiImage
+   must be discarded by the caller.
 
-/*
- * Try and open a separate debug file, ignoring any where the CRC does
- * not match the value from the main object file.
+   If |serverAddr| is NULL, |name| is expected to be a fully qualified
+   (absolute) path to the file in the local filesystem.  If
+   |serverAddr| is non-NULL, it is expected to be an IPv4 and port
+   spec of the form "d.d.d.d:d" or "d.d.d.d", and |name| is expected
+   to be a plain filename (no path components at all).
  */
 static
-Addr open_debug_file( Char* name, Char* buildid, UInt crc, /*OUT*/UWord* size )
+DiImage* open_debug_file( const HChar* name, const HChar* buildid, UInt crc,
+                          Bool rel_ok, const HChar* serverAddr )
 {
-   SysRes fd, sres;
-   struct vg_stat stat_buf;
-   UInt calccrc;
+   DiImage* dimg 
+     = serverAddr ? ML_(img_from_di_server)(name, serverAddr)
+                  : ML_(img_from_local_file)(name);
+   if (dimg == NULL)
+      return NULL;
 
-   fd = VG_(open)(name, VKI_O_RDONLY, 0);
-   if (sr_isError(fd))
-      return 0;
-
-   if (VG_(fstat)(sr_Res(fd), &stat_buf) != 0) {
-      VG_(close)(sr_Res(fd));
-      return 0;
+   if (VG_(clo_verbosity) > 1) {
+      if (serverAddr)
+         VG_(message)(Vg_DebugMsg, "  Considering %s on server %s ..\n",
+                                   name, serverAddr);
+      else
+         VG_(message)(Vg_DebugMsg, "  Considering %s ..\n", name);
    }
 
-   if (VG_(clo_verbosity) > 1)
-      VG_(message)(Vg_DebugMsg, "  Considering %s ..\n", name);
-   
-   *size = stat_buf.size;
-   
-   sres = VG_(am_mmap_file_float_valgrind)
-             ( *size, VKI_PROT_READ, sr_Res(fd), 0 );
-
-   VG_(close)(sr_Res(fd));
-   
-   if (sr_isError(sres))
-      return 0;
-
    if (buildid) {
-      Char* debug_buildid = find_buildid(sr_Res(sres), *size);
+      HChar* debug_buildid = find_buildid(dimg, rel_ok, True);
       if (debug_buildid == NULL || VG_(strcmp)(buildid, debug_buildid) != 0) {
-         SysRes res = VG_(am_munmap_valgrind)(sr_Res(sres), *size);
-         vg_assert(!sr_isError(res));
+         ML_(img_done)(dimg);
          if (VG_(clo_verbosity) > 1)
             VG_(message)(Vg_DebugMsg, 
                "  .. build-id mismatch (found %s wanted %s)\n", 
                debug_buildid, buildid);
          ML_(dinfo_free)(debug_buildid);
-         return 0;
+         return NULL;
       }
       ML_(dinfo_free)(debug_buildid);
-
       if (VG_(clo_verbosity) > 1)
          VG_(message)(Vg_DebugMsg, "  .. build-id is valid\n");
    } else {
-      calccrc = calc_gnu_debuglink_crc32(0, (UChar*)sr_Res(sres), *size);
+      UInt calccrc = ML_(img_calc_gnu_debuglink_crc32)(dimg);
       if (calccrc != crc) {
-         SysRes res = VG_(am_munmap_valgrind)(sr_Res(sres), *size);
-         vg_assert(!sr_isError(res));
+         ML_(img_done)(dimg);
          if (VG_(clo_verbosity) > 1)
             VG_(message)(Vg_DebugMsg, 
                "  .. CRC mismatch (computed %08x wanted %08x)\n", calccrc, crc);
-         return 0;
+         return NULL;
       }
 
       if (VG_(clo_verbosity) > 1)
          VG_(message)(Vg_DebugMsg, "  .. CRC is valid\n");
    }
    
-   return sr_Res(sres);
-}
-
-
-/* Try to find and map in a debuginfo file by some totally ad-hoc
-   scheme.  If successful, set *dimage and *n_dimage to point to the
-   image, and return True, else return False.  A temporary hack for
-   Android; does nothing on any other platform. */
-static
-Bool find_ad_hoc_debug_image( struct _DebugInfo* di, 
-                              Char* filename,
-                              /*OUT*/Addr* dimage,
-                              /*OUT*/SizeT* n_dimage )
-{
-   vg_assert(*dimage == 0 && *n_dimage == 0);
-
-#  if !defined(VGPV_arm_linux_android)
-   return False; /* we don't know narfink */
-
-#  else /* android specific hacks; look away now. */
-
-   /* The deal is: if we're looking for for a debuginfo file for some
-      object /path/to/object (which can be any path), see if we can
-      find the file /sdcard/symbols/path/to/object.  So for example it
-      produces the following mappings, both of which are important for
-      Memcheck:
-
-      /system/bin/linker  --> /sdcard/symbols/system/bin/linker
-      /system/lib/libc.so --> /sdcard/symbols/system/lib/libc.so
-
-      These /symbols files come from the AOSP build tree for your
-      device, for example out/target/product/crespo/symbols/system
-      (for a Nexus S), so one simple thing you can do is take the tree
-      rooted at out/target/product/crespo/symbols/system on the host
-      and park it at /sdcard/symbols/system on the device.  Then,
-      assuming it matches what's actually running on the device,
-      you'll have full debuginfo for all the libraries on the device.
-  
-      But beware: there is no checking that the debuginfo file, if
-      found, matches the main file in any way.
-   */
-   if (!filename || *filename != '/')
-      return False;
-
-   HChar* nm = ML_(dinfo_zalloc)("di.fahdi.1", 
-                                 50 + VG_(strlen)(filename));
-   VG_(sprintf)(nm, "/sdcard/symbols%s", filename);
-
-   SysRes fd = VG_(open)(nm, VKI_O_RDONLY, 0);
-   if (sr_isError(fd)) goto fail;
-
-   struct vg_stat stat_buf;
-   if (VG_(fstat)(sr_Res(fd), &stat_buf) != 0) {
-      VG_(close)(sr_Res(fd));
-      goto fail;
-   }
-
-   *n_dimage = stat_buf.size;
-
-   SysRes sres = VG_(am_mmap_file_float_valgrind)
-                    ( *n_dimage, VKI_PROT_READ, sr_Res(fd), 0 );
-
-   VG_(close)(sr_Res(fd));
-   if (sr_isError(sres))
-     goto fail;
-
-   *dimage = sr_Res(sres);
-
-   if (VG_(clo_verbosity) > 1)
-      VG_(dmsg)("  Using debuginfo from %s\n", nm);
-
-   ML_(dinfo_free)(nm);
-   return True;
-
-  fail:
-   if (nm) ML_(dinfo_free)(nm);
-   return False;
-
-#  endif
+   return dimg;
 }
 
 
 /* Try to find a separate debug file for a given object file.  If
-   found, it will be mapped in and the address and size returned in
-   *dimage and *n_dimage.  If not, *dimage and *n_dimage will be
-   unchanged.  The caller should set them to zero before the call. */
+   found, return its DiImage, which should be freed by the caller.  If
+   |buildid| is non-NULL, then a debug object matching it is
+   acceptable.  If |buildid| is NULL or doesn't specify a findable
+   debug object, then we look in various places to find a file with
+   the specified CRC.  And if that doesn't work out then we give
+   up. */
 static
-void find_debug_file( struct _DebugInfo* di,
-                      Char* objpath, Char* buildid,
-                      Char* debugname, UInt crc,
-                      /*OUT*/Addr*  dimage,
-                      /*OUT*/SizeT* n_dimage )
+DiImage* find_debug_file( struct _DebugInfo* di,
+                          const HChar* objpath, const HChar* buildid,
+                          const HChar* debugname, UInt crc, Bool rel_ok )
 {
-   Char* debugpath = NULL;
-   Addr  addr = 0;
-   UWord size = 0;
+   const HChar* extrapath  = VG_(clo_extra_debuginfo_path);
+   const HChar* serverpath = VG_(clo_debuginfo_server);
 
-   vg_assert(*dimage == 0 && *n_dimage == 0);
+   DiImage* dimg      = NULL; /* the img that we found */
+   HChar*   debugpath = NULL; /* where we found it */
 
    if (buildid != NULL) {
-      debugpath = ML_(dinfo_zalloc)(
-                     "di.fdf.1",
-                     VG_(strlen)(buildid) + 33);
+      debugpath = ML_(dinfo_zalloc)("di.fdf.1",
+                                    VG_(strlen)(buildid) + 33);
 
       VG_(sprintf)(debugpath, "/usr/lib/debug/.build-id/%c%c/%s.debug",
                    buildid[0], buildid[1], buildid + 2);
 
-      if ((addr = open_debug_file(debugpath, buildid, 0, &size)) == 0) {
+      dimg = open_debug_file(debugpath, buildid, 0, rel_ok, NULL);
+      if (!dimg) {
          ML_(dinfo_free)(debugpath);
          debugpath = NULL;
       }
    }
 
-   if (addr == 0 && debugname != NULL) {
-      Char *objdir = ML_(dinfo_strdup)("di.fdf.2", objpath);
-      Char *objdirptr;
+   if (dimg == NULL && debugname != NULL && !rel_ok) {
+      HChar *objdir = ML_(dinfo_strdup)("di.fdf.2", objpath);
+      HChar *objdirptr;
 
       if ((objdirptr = VG_(strrchr)(objdir, '/')) != NULL)
          *objdirptr = '\0';
 
       debugpath = ML_(dinfo_zalloc)(
                      "di.fdf.3",
-                     VG_(strlen)(objdir) + VG_(strlen)(debugname) + 32);
+                     VG_(strlen)(objdir) + VG_(strlen)(debugname) + 64
+                     + (extrapath ? VG_(strlen)(extrapath) : 0)
+                     + (serverpath ? VG_(strlen)(serverpath) : 0));
 
       VG_(sprintf)(debugpath, "%s/%s", objdir, debugname);
+      dimg = open_debug_file(debugpath, NULL, crc, rel_ok, NULL);
+      if (dimg != NULL) goto dimg_ok;
 
-      if ((addr = open_debug_file(debugpath, NULL, crc, &size)) == 0) {
-         VG_(sprintf)(debugpath, "%s/.debug/%s", objdir, debugname);
-         if ((addr = open_debug_file(debugpath, NULL, crc, &size)) == 0) {
-            VG_(sprintf)(debugpath, "/usr/lib/debug%s/%s", objdir, debugname);
-            addr = open_debug_file(debugpath, NULL, crc, &size);
-         }
+      VG_(sprintf)(debugpath, "%s/.debug/%s", objdir, debugname);
+      dimg = open_debug_file(debugpath, NULL, crc, rel_ok, NULL);
+      if (dimg != NULL) goto dimg_ok;
+      
+      VG_(sprintf)(debugpath, "/usr/lib/debug%s/%s", objdir, debugname);
+      dimg = open_debug_file(debugpath, NULL, crc, rel_ok, NULL);
+      if (dimg != NULL) goto dimg_ok;
+
+      if (extrapath) {
+         VG_(sprintf)(debugpath, "%s%s/%s", extrapath,
+                                            objdir, debugname);
+         dimg = open_debug_file(debugpath, NULL, crc, rel_ok, NULL);
+         if (dimg != NULL) goto dimg_ok;
       }
 
+      if (serverpath) {
+         /* When looking on the debuginfo server, always just pass the
+            basename. */
+         const HChar* basename = debugname;
+         if (VG_(strstr)(basename, "/") != NULL) {
+            basename = VG_(strrchr)(basename, '/') + 1;
+         }
+         VG_(sprintf)(debugpath, "%s on %s", basename, serverpath);
+         dimg = open_debug_file(basename, NULL, crc, rel_ok, serverpath);
+         if (dimg) goto dimg_ok;
+      }
+
+      dimg_ok:
+
       ML_(dinfo_free)(objdir);
    }
 
-   if (addr > 0 && size > 0) {
+   if (dimg != NULL) {
+      vg_assert(debugpath);
       TRACE_SYMTAB("\n");
       TRACE_SYMTAB("------ Found a debuginfo file: %s\n", debugpath);
-      *dimage = addr;
-      *n_dimage = size;
    }
 
-   ML_(dinfo_free)(debugpath);
+   if (debugpath)
+      ML_(dinfo_free)(debugpath);
+
+   return dimg;
 }
 
 
-static Bool contained_within ( Addr outer, UWord n_outer,
-                               Addr inner, UWord n_inner )
+/* Try to find a separate debug file for a given object file, in a
+   hacky and dangerous way: check only the --extra-debuginfo-path and
+   the --debuginfo-server.  And don't do a consistency check. */
+static
+DiImage* find_debug_file_ad_hoc( struct _DebugInfo* di,
+                                 const HChar* objpath )
 {
-   if (n_outer == 0 || n_inner == 0)
-      return False;
-   /* Simplistic .. assumes no wraparound (reasonably enough) */
-   if (inner >= outer && inner+n_inner <= outer+n_outer)
-      return True;
-   return False;
+   const HChar* extrapath  = VG_(clo_extra_debuginfo_path);
+   const HChar* serverpath = VG_(clo_debuginfo_server);
+
+   DiImage* dimg      = NULL; /* the img that we found */
+   HChar*   debugpath = NULL; /* where we found it */
+
+   HChar *objdir = ML_(dinfo_strdup)("di.fdfah.1", objpath);
+   HChar *objdirptr;
+
+   if ((objdirptr = VG_(strrchr)(objdir, '/')) != NULL)
+      *objdirptr = '\0';
+
+   debugpath = ML_(dinfo_zalloc)(
+                  "di.fdfah.3",
+                  VG_(strlen)(objdir) + 64
+                  + (extrapath ? VG_(strlen)(extrapath) : 0)
+                  + (serverpath ? VG_(strlen)(serverpath) : 0));
+
+   if (extrapath) {
+      VG_(sprintf)(debugpath, "%s/%s", extrapath, objpath);
+      dimg = ML_(img_from_local_file)(debugpath);
+      if (dimg != NULL) {
+         if (VG_(clo_verbosity) > 1) {
+            VG_(message)(Vg_DebugMsg, "  Using (POSSIBLY MISMATCHED) %s\n",
+                                      debugpath);
+         }
+         goto dimg_ok;
+      }
+   }
+   if (serverpath) {
+      /* When looking on the debuginfo server, always just pass the
+         basename. */
+      const HChar* basename = objpath;
+      if (VG_(strstr)(basename, "/") != NULL) {
+         basename = VG_(strrchr)(basename, '/') + 1;
+      }
+      VG_(sprintf)(debugpath, "%s on %s", basename, serverpath);
+      dimg = ML_(img_from_di_server)(basename, serverpath);
+      if (dimg != NULL) {
+         if (VG_(clo_verbosity) > 1) {
+            VG_(message)(Vg_DebugMsg, "  Using (POSSIBLY MISMATCHED) %s\n",
+                                      debugpath);
+         }
+         goto dimg_ok;
+      }
+   }
+
+   dimg_ok:
+
+   ML_(dinfo_free)(objdir);
+
+   if (dimg != NULL) {
+      vg_assert(debugpath);
+      TRACE_SYMTAB("\n");
+      TRACE_SYMTAB("------ Found an ad_hoc debuginfo file: %s\n", debugpath);
+   }
+
+   if (debugpath)
+      ML_(dinfo_free)(debugpath);
+
+   return dimg;
 }
 
-static void* INDEX_BIS ( void* base, Word idx, Word scale ) {
-   return (void*)( ((UChar*)base) + idx * scale );
+
+static DiOffT INDEX_BIS ( DiOffT base, UWord idx, UWord scale ) {
+   // This is a bit stupid.  Really, idx and scale ought to be
+   // 64-bit quantities, always.
+   return base + (DiOffT)idx * (DiOffT)scale;
 }
 
 
@@ -1238,20 +1334,22 @@
 static
 Word file_offset_from_svma ( /*OUT*/Bool* ok,
                              Addr         svma,
-                             ElfXX_Phdr*  phdr_img,
+                             DiImage*     img,
+                             DiOffT       phdr_ioff,
                              Word         phdr_nent,
                              Word         phdr_ent_szB )
 {
-   Word        i;
-   ElfXX_Phdr* seg;
+   Word i;
    for (i = 0; i < phdr_nent; i++) {
-      seg = INDEX_BIS( phdr_img, i, phdr_ent_szB );
-      if (seg->p_type != PT_LOAD)
+      ElfXX_Phdr seg;
+      ML_(img_get)(&seg, img,
+                   INDEX_BIS(phdr_ioff, i, phdr_ent_szB), sizeof(seg));
+      if (seg.p_type != PT_LOAD)
          continue;
-      if (svma >= (seg->p_vaddr & -seg->p_align)
-          && svma + 1 <= seg->p_vaddr + seg->p_filesz) {
+      if (svma >= (seg.p_vaddr & -seg.p_align)
+          && svma + 1 <= seg.p_vaddr + seg.p_filesz) {
          *ok = True;
-         return svma - seg->p_vaddr + seg->p_offset;
+         return svma - seg.p_vaddr + seg.p_offset;
       }
    }
    *ok = False;
@@ -1266,12 +1364,6 @@
    supplied DebugInfo.
 */
 
-/* Temporarily holds information copied out of PT_LOAD entries
-   in ML_(read_elf_debug_info. */
-typedef
-   struct { Addr svma_base; Addr svma_limit; PtrdiffT bias; }
-   RangeAndBias;
-
 Bool ML_(read_elf_debug_info) ( struct _DebugInfo* di )
 {
    /* This function is long and complex.  That, and the presence of
@@ -1280,60 +1372,77 @@
       follow, points executed exactly once -- that is, those which are
       the top level of the function -- are marked TOPLEVEL.
    */
-   /* TOPLEVEL */
-   Bool          res, ok;
-   SysRes        fd, sres;
-   Word          i;
-   Bool          dynbss_present = False;
-   Bool          sdynbss_present = False;
+   /* Consistent terminology for local variable names, without which
+      it's almost unfollowably complex:
 
-   /* Image addresses for the ELF file we're working with. */
-   Addr          oimage   = 0;
-   UWord         n_oimage = 0;
+      In which file?
+         in the main ELF file         *_m*
+         in the debuginfo file        *_d*
+         in the alt debuginfo file    *_a*
+
+      What kind of thing?
+         _{m,d,a}img       a DiImage*
+         _{m,d,a}ioff      an offset in the image (DiOffT)
+         _{m,d,a}nent      "number of entries"
+         _{m,d,a}ent_szB   "size in bytes of an entry"
+         ehdr_{m,d,a}      ELF header
+         phdr              Program header
+         shdr              Section header
+         a_X               a temporary X
+         _escn             an DiSlice (elf section info) variable
+         szB               size in bytes
+   */
+
+
+   /* TOPLEVEL */
+   Bool     res, ok;
+   Word     i, j;
+   Bool     dynbss_present = False;
+   Bool     sdynbss_present = False;
+
+   /* Image for the main ELF file we're working with. */
+   DiImage* mimg = NULL;
 
    /* Ditto for any ELF debuginfo file that we might happen to load. */
-   Addr          dimage   = 0;
-   UWord         n_dimage = 0;
+   DiImage* dimg = NULL;
 
-   /* ELF header for the main file.  Should == oimage since is at
-      start of file. */
-   ElfXX_Ehdr* ehdr_img = NULL;
+   /* Ditto for alternate ELF debuginfo file that we might happen to load. */
+   DiImage* aimg = NULL;
+
+   /* ELF header offset for the main file.  Should be zero since the
+      ELF header is at start of file. */
+   DiOffT   ehdr_mioff = 0;
 
    /* Program header table image addr, # entries, entry size */
-   ElfXX_Phdr* phdr_img     = NULL;
-   UWord       phdr_nent    = 0;
-   UWord       phdr_ent_szB = 0;
+   DiOffT   phdr_mioff    = 0;
+   UWord    phdr_mnent    = 0;
+   UWord    phdr_ment_szB = 0;
 
    /* Section header image addr, # entries, entry size.  Also the
       associated string table. */
-   ElfXX_Shdr* shdr_img        = NULL;
-   UWord       shdr_nent       = 0;
-   UWord       shdr_ent_szB    = 0;
-   UChar*      shdr_strtab_img = NULL;
+   DiOffT   shdr_mioff        = 0;
+   UWord    shdr_mnent        = 0;
+   UWord    shdr_ment_szB     = 0;
+   DiOffT   shdr_strtab_mioff = 0;
 
    /* SVMAs covered by rx and rw segments and corresponding biases.
-      We keep separate lists of rx and rw areas.  Each can have up to
-      N_RX_RW_AREAS entries.  Normally each object would provide just
-      one rx and one rw area, but Mike Hommey's elfhack creates
-      objects with two rx PT_LOAD entries, hence the generality. */
-   const Int N_RX_RW_AREAS = 2;
+      Normally each object would provide just one rx and one rw area,
+      but various ELF mangling tools create objects with multiple
+      such entries, hence the generality. */
+   typedef
+      struct {
+         Addr     svma_base;
+         Addr     svma_limit;
+         PtrdiffT bias;
+         Bool     exec;
+      }
+      RangeAndBias;
 
-   RangeAndBias rx[N_RX_RW_AREAS];
-   RangeAndBias rw[N_RX_RW_AREAS];
-   Word n_rx = 0; /* 0 .. N_RX_RW_AREAS */
-   Word n_rw = 0; /* 0 .. N_RX_RW_AREAS */
-   /* Pointless paranoia: */
-   VG_(memset)( rx, 0, sizeof(rx) );
-   VG_(memset)( rw, 0, sizeof(rw) );
-
-   /* Build ID */
-   Char* buildid = NULL;
+   XArray* /* of RangeAndBias */ svma_ranges = NULL;
 
    vg_assert(di);
    vg_assert(di->fsm.have_rx_map == True);
    vg_assert(di->fsm.have_rw_map == True);
-   vg_assert(di->fsm.rx_map_size > 0);
-   vg_assert(di->fsm.rw_map_size > 0);
    vg_assert(di->have_dinfo == False);
    vg_assert(di->fsm.filename);
    vg_assert(!di->symtab);
@@ -1343,19 +1452,32 @@
    vg_assert(!di->strchunks);
    vg_assert(!di->soname);
 
-   /* If these don't hold true, it means that m_syswrap/m_aspacemgr
-      managed to do a mapping where the start isn't page aligned.
-      Which sounds pretty bogus to me. */
-   vg_assert(VG_IS_PAGE_ALIGNED(di->fsm.rx_map_avma));
-   vg_assert(VG_IS_PAGE_ALIGNED(di->fsm.rw_map_avma));
+   {
+      Bool has_nonempty_rx = False;
+      Bool has_nonempty_rw = False;
+      for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+         struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, i);
+         if (!map->rx && !map->rw)
+            continue;
+         if (map->rx && map->size > 0)
+            has_nonempty_rx = True;
+         if (map->rw && map->size > 0)
+            has_nonempty_rw = True;
+         /* If this doesn't hold true, it means that m_syswrap/m_aspacemgr
+            managed to do a mapping where the start isn't page aligned.
+            Which sounds pretty bogus to me. */
+         vg_assert(VG_IS_PAGE_ALIGNED(map->avma));
+      }
+      vg_assert(has_nonempty_rx);
+      vg_assert(has_nonempty_rw);
+   }
 
    /* ----------------------------------------------------------
       At this point, there is very little information in the
       DebugInfo.  We only know that something that looks like an ELF
-      file has been mapped rx-ishly as recorded with the di->*rx_map*
-      fields and has also been mapped rw-ishly as recorded with the
-      di->*rw_map* fields.  First we examine the file's ELF Program
-      Header, and, by comparing that against the di->*r{w,x}_map*
+      file has been mapped rx-ishly and rw-ishly as recorded in the
+      di->fsm.maps array items.  First we examine the file's ELF
+      Program Header, and, by comparing that against the di->fsm.maps
       info, try to figure out the AVMAs for the sections we care
       about, that should have been mapped: text, data, sdata, bss,
       got, plt, and toc.
@@ -1363,62 +1485,24 @@
 
    res = False;
 
-   oimage = (Addr)NULL;
    if (VG_(clo_verbosity) > 1 || VG_(clo_trace_redir))
-      VG_(message)(Vg_DebugMsg, "Reading syms from %s (%#lx)\n",
-                                di->fsm.filename, di->fsm.rx_map_avma );
+      VG_(message)(Vg_DebugMsg, "Reading syms from %s\n",
+                                di->fsm.filename );
 
-   /* mmap the object image aboard, so that we can read symbols and
-      line number info out of it.  It will be munmapped immediately
-      thereafter; it is only aboard transiently. */
-
-   fd = VG_(open)(di->fsm.filename, VKI_O_RDONLY, 0);
-   if (sr_isError(fd)) {
-      ML_(symerr)(di, True, "Can't open .so/.exe to read symbols?!");
-      return False;
-   }
-
-   { Long n_oimageLL = VG_(fsize)(sr_Res(fd));
-     if (n_oimageLL <= 0) {
-        ML_(symerr)(di, True, "Can't stat .so/.exe (to determine its size)?!");
-        VG_(close)(sr_Res(fd));
-        return False;
-     }
-     n_oimage = (UWord)(ULong)n_oimageLL;
-   }
-
-   sres = VG_(am_mmap_file_float_valgrind)
-             ( n_oimage, VKI_PROT_READ, sr_Res(fd), 0 );
-
-   VG_(close)(sr_Res(fd));
-
-   if (sr_isError(sres)) {
-      VG_(message)(Vg_UserMsg, "warning: mmap failed on %s\n",
+   /* Connect to the primary object image, so that we can read symbols
+      and line number info out of it.  It will be disconnected
+      immediately thereafter; it is only connected transiently. */
+   mimg = ML_(img_from_local_file)(di->fsm.filename);
+   if (mimg == NULL) {
+      VG_(message)(Vg_UserMsg, "warning: connection to image %s failed\n",
                                di->fsm.filename );
       VG_(message)(Vg_UserMsg, "         no symbols or debug info loaded\n" );
       return False;
    }
 
-   oimage = sr_Res(sres);
-   /* Check against wraparound.  am_mmap_file_float_valgrind should
-      not produce a wrapped-around mapping. */
-   vg_assert(n_oimage > 0);
-   vg_assert(oimage + n_oimage > oimage);
-
-   if (0) {
-      VG_(printf)("read_elf_debug_info: OIMAGE = %p - %p\n", 
-                  (void*)oimage, (void*)(oimage + (UWord)n_oimage));
-   }
-
-   /* Ok, the object image is safely in oimage[0 .. n_oimage-1].  Now
-      verify that it is a valid ELF .so or executable image. */
-   res      = False;
-   ok       = (n_oimage >= sizeof(ElfXX_Ehdr));
-   ehdr_img = (ElfXX_Ehdr*)oimage;
-
-   if (ok)
-      ok &= ML_(is_elf_object_file)(ehdr_img, n_oimage);
-
+   /* Ok, the object image is available.  Now verify that it is a
+      valid ELF .so or executable image. */
+   ok = is_elf_object_file_by_DiImage(mimg, False);
    if (!ok) {
       ML_(symerr)(di, True, "Invalid ELF Header");
       goto out;
@@ -1426,62 +1510,80 @@
 
    /* Find where the program and section header tables are, and give
       up if either is missing or outside the image (bogus). */
-   phdr_img     = (ElfXX_Phdr*)( ((UChar*)ehdr_img) + ehdr_img->e_phoff );
-   phdr_nent    = ehdr_img->e_phnum;
-   phdr_ent_szB = ehdr_img->e_phentsize;
+   ElfXX_Ehdr ehdr_m;
+   vg_assert(ehdr_mioff == 0); // ensured by its initialisation
+   ok = ML_(img_valid)(mimg, ehdr_mioff, sizeof(ehdr_m));
+   vg_assert(ok); // ML_(is_elf_object_file) should ensure this
+   ML_(img_get)(&ehdr_m, mimg, ehdr_mioff, sizeof(ehdr_m));
 
-   shdr_img     = (ElfXX_Shdr*)( ((UChar*)ehdr_img) + ehdr_img->e_shoff );
-   shdr_nent    = ehdr_img->e_shnum;
-   shdr_ent_szB = ehdr_img->e_shentsize;
+   phdr_mioff    = ehdr_mioff + ehdr_m.e_phoff;
+   phdr_mnent    = ehdr_m.e_phnum;
+   phdr_ment_szB = ehdr_m.e_phentsize;
+
+   shdr_mioff    = ehdr_mioff + ehdr_m.e_shoff;
+   shdr_mnent    = ehdr_m.e_shnum;
+   shdr_ment_szB = ehdr_m.e_shentsize;
 
    TRACE_SYMTAB("------ Basic facts about the object ------\n");
-   TRACE_SYMTAB("object:  img %p n_oimage %ld\n",
-               (void*)oimage, n_oimage);
-   TRACE_SYMTAB("phdr:    img %p nent %ld ent_szB %ld\n",
-               phdr_img, phdr_nent, phdr_ent_szB);
-   TRACE_SYMTAB("shdr:    img %p nent %ld ent_szB %ld\n",
-               shdr_img, shdr_nent, shdr_ent_szB);
-   TRACE_SYMTAB("rx_map:  avma %#lx  size %lu  foff %lu\n",
-                di->fsm.rx_map_avma, di->fsm.rx_map_size, di->fsm.rx_map_foff);
-   TRACE_SYMTAB("rw_map:  avma %#lx  size %lu  foff %lu\n",
-                di->fsm.rw_map_avma, di->fsm.rw_map_size, di->fsm.rw_map_foff);
+   TRACE_SYMTAB("object:  n_oimage %llu\n",
+                (ULong)ML_(img_size)(mimg));
+   TRACE_SYMTAB("phdr:    ioff %llu nent %ld ent_szB %ld\n",
+               phdr_mioff, phdr_mnent, phdr_ment_szB);
+   TRACE_SYMTAB("shdr:    ioff %llu nent %ld ent_szB %ld\n",
+               shdr_mioff, shdr_mnent, shdr_ment_szB);
+   for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+      struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, i);
+      if (map->rx)
+         TRACE_SYMTAB("rx_map:  avma %#lx   size %lu  foff %lu\n",
+                      map->avma, map->size, map->foff);
+   }
+   for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+      struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, i);
+      if (map->rw)
+         TRACE_SYMTAB("rw_map:  avma %#lx   size %lu  foff %lu\n",
+                      map->avma, map->size, map->foff);
+   }
 
-   if (phdr_nent == 0
-       || !contained_within(
-             oimage, n_oimage,
-             (Addr)phdr_img, phdr_nent * phdr_ent_szB)) {
+   if (phdr_mnent == 0
+       || !ML_(img_valid)(mimg, phdr_mioff, phdr_mnent * phdr_ment_szB)) {
       ML_(symerr)(di, True, "Missing or invalid ELF Program Header Table");
       goto out;
    }
 
-   if (shdr_nent == 0
-       || !contained_within(
-             oimage, n_oimage,
-             (Addr)shdr_img, shdr_nent * shdr_ent_szB)) {
+   if (shdr_mnent == 0
+       || !ML_(img_valid)(mimg, shdr_mioff, shdr_mnent * shdr_ment_szB)) {
       ML_(symerr)(di, True, "Missing or invalid ELF Section Header Table");
       goto out;
    }
 
    /* Also find the section header's string table, and validate. */
    /* checked previously by is_elf_object_file: */
-   vg_assert( ehdr_img->e_shstrndx != SHN_UNDEF );
+   vg_assert(ehdr_m.e_shstrndx != SHN_UNDEF);
 
-   shdr_strtab_img
-      = (UChar*)( ((UChar*)ehdr_img)
-                  + shdr_img[ehdr_img->e_shstrndx].sh_offset);
-   if (!contained_within( oimage, n_oimage,
-                          (Addr)shdr_strtab_img,
-                          1/*bogus, but we don't know the real size*/ )) {
-      ML_(symerr)(di, True, "Invalid ELF Section Header String Table");
-      goto out;
+   // shdr_mioff is the offset of the section header table
+   // and we need the ehdr_m.e_shstrndx'th entry
+   { ElfXX_Shdr a_shdr;
+     ML_(img_get)(&a_shdr, mimg,
+                  INDEX_BIS(shdr_mioff, ehdr_m.e_shstrndx, shdr_ment_szB),
+                  sizeof(a_shdr));
+     shdr_strtab_mioff
+        = ehdr_mioff /* isn't this always zero? */ + a_shdr.sh_offset;
+
+     if (!ML_(img_valid)(mimg, shdr_strtab_mioff, 
+                         1/*bogus, but we don't know the real size*/ )) {
+        ML_(symerr)(di, True, "Invalid ELF Section Header String Table");
+        goto out;
+     }
    }
 
-   TRACE_SYMTAB("shdr:    string table at %p\n", shdr_strtab_img );
+   TRACE_SYMTAB("shdr:    string table at %llu\n", shdr_strtab_mioff);
+
+   svma_ranges = VG_(newXA)(ML_(dinfo_zalloc), "di.relfdi.1",
+                            ML_(dinfo_free), sizeof(RangeAndBias));
 
    /* TOPLEVEL */
    /* Look through the program header table, and:
-      - copy information from suitable PT_LOAD entries into rx[] or
-        rw[]
+      - copy information from suitable PT_LOAD entries into svma_ranges
       - find (or fake up) the .soname for this object.
    */
    TRACE_SYMTAB("\n");
@@ -1491,67 +1593,69 @@
       /* TOPLEVEL */
       ElfXX_Addr prev_svma = 0;
 
-      for (i = 0; i < phdr_nent; i++) {
-         ElfXX_Phdr* phdr = INDEX_BIS( phdr_img, i, phdr_ent_szB );
+      for (i = 0; i < phdr_mnent; i++) {
+         ElfXX_Phdr a_phdr;
+         ML_(img_get)(&a_phdr, mimg,
+                      INDEX_BIS(phdr_mioff, i, phdr_ment_szB),
+                      sizeof(a_phdr));
 
          /* Make sure the PT_LOADable entries are in order and
             non-overlapping.  This in turn means the address ranges
-            slurped into rx[] and rw[] are in order and
+            slurped into svma_ranges are in order and
             non-overlapping. */
-         vg_assert(n_rx >= 0 && n_rx <= N_RX_RW_AREAS);
-         vg_assert(n_rw >= 0 && n_rw <= N_RX_RW_AREAS);
 
-         if (phdr->p_type == PT_LOAD) {
+         if (a_phdr.p_type == PT_LOAD) {
             TRACE_SYMTAB("PT_LOAD[%ld]: p_vaddr %#lx (prev %#lx)\n",
-                         i, (UWord)phdr->p_vaddr, (UWord)prev_svma);
+                         i, (UWord)a_phdr.p_vaddr, (UWord)prev_svma);
             TRACE_SYMTAB("PT_LOAD[%ld]:   p_offset %lu, p_filesz %lu,"
                          " perms %c%c%c\n",
-                         i, (UWord)phdr->p_offset, (UWord)phdr->p_filesz,
-                         phdr->p_flags & PF_R ? 'r' : '-',
-                         phdr->p_flags & PF_W ? 'w' : '-',
-                         phdr->p_flags & PF_X ? 'x' : '-');
-            if (phdr->p_vaddr < prev_svma) {
+                         i, (UWord)a_phdr.p_offset, (UWord)a_phdr.p_filesz,
+                         a_phdr.p_flags & PF_R ? 'r' : '-',
+                         a_phdr.p_flags & PF_W ? 'w' : '-',
+                         a_phdr.p_flags & PF_X ? 'x' : '-');
+            if (a_phdr.p_vaddr < prev_svma) {
                ML_(symerr)(di, True,
                            "ELF Program Headers are not in ascending order");
                goto out;
             }
-            prev_svma = phdr->p_vaddr;
-            if (phdr->p_offset >= di->fsm.rx_map_foff
-                && phdr->p_offset < di->fsm.rx_map_foff + di->fsm.rx_map_size
-                && phdr->p_offset + phdr->p_filesz
-                   <= di->fsm.rx_map_foff + di->fsm.rx_map_size
-                && (phdr->p_flags & (PF_R | PF_W | PF_X)) == (PF_R | PF_X)) {
-               if (n_rx == N_RX_RW_AREAS) {
-                  ML_(symerr)(di, True,
-                              "N_RX_RW_AREAS is too low; "
-                              "increase and recompile.");
+            prev_svma = a_phdr.p_vaddr;
+            if (a_phdr.p_memsz > 0) {
+               Bool loaded = False;
+               for (j = 0; j < VG_(sizeXA)(di->fsm.maps); j++) {
+                  struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, j);
+                  if (   (map->rx || map->rw)
+                      && a_phdr.p_offset >= map->foff
+                      && a_phdr.p_offset <  map->foff + map->size
+                      && a_phdr.p_offset + a_phdr.p_filesz 
+                         <= map->foff + map->size) {
+                     RangeAndBias item;
+                     item.svma_base  = a_phdr.p_vaddr;
+                     item.svma_limit = a_phdr.p_vaddr + a_phdr.p_memsz;
+                     item.bias       = map->avma - map->foff
+                                       + a_phdr.p_offset - a_phdr.p_vaddr;
+                     if (map->rw
+                         && (a_phdr.p_flags & (PF_R | PF_W))
+                            == (PF_R | PF_W)) {
+                        item.exec = False;
+                        VG_(addToXA)(svma_ranges, &item);
+                        TRACE_SYMTAB("PT_LOAD[%ld]:   acquired as rw\n", i);
+                        loaded = True;
+                     }
+                     if (map->rx
+                         && (a_phdr.p_flags & (PF_R | PF_X))
+                            == (PF_R | PF_X)) {
+                        item.exec = True;
+                        VG_(addToXA)(svma_ranges, &item);
+                        TRACE_SYMTAB("PT_LOAD[%ld]:   acquired as rx\n", i);
+                        loaded = True;
+                     }
+                  }
+               }
+               if (!loaded) {
+                  ML_(symerr)(di, False,
+                              "ELF section outside all mapped regions");
                   goto out;
                }
-               rx[n_rx].svma_base  = phdr->p_vaddr;
-               rx[n_rx].svma_limit = phdr->p_vaddr + phdr->p_memsz;
-               rx[n_rx].bias       = di->fsm.rx_map_avma - di->fsm.rx_map_foff
-                                     + phdr->p_offset - phdr->p_vaddr;
-               n_rx++;
-               TRACE_SYMTAB("PT_LOAD[%ld]:   acquired as rx\n", i);
-            }
-            else
-            if (phdr->p_offset >= di->fsm.rw_map_foff
-                && phdr->p_offset < di->fsm.rw_map_foff + di->fsm.rw_map_size
-                && phdr->p_offset + phdr->p_filesz 
-                   <= di->fsm.rw_map_foff + di->fsm.rw_map_size
-                && (phdr->p_flags & (PF_R | PF_W | PF_X)) == (PF_R | PF_W)) {
-               if (n_rw == N_RX_RW_AREAS) {
-                  ML_(symerr)(di, True,
-                              "N_RX_RW_AREAS is too low; "
-                              "increase and recompile.");
-                  goto out;
-               }
-               rw[n_rw].svma_base  = phdr->p_vaddr;
-               rw[n_rw].svma_limit = phdr->p_vaddr + phdr->p_memsz;
-               rw[n_rw].bias       = di->fsm.rw_map_avma - di->fsm.rw_map_foff
-                                     + phdr->p_offset - phdr->p_vaddr;
-               n_rw++;
-               TRACE_SYMTAB("PT_LOAD[%ld]:   acquired as rw\n", i);
             }
          }
 
@@ -1559,29 +1663,37 @@
             The seginfo needs to have some kind of soname in order to
             facilitate writing redirect functions, since all redirect
             specifications require a soname (pattern). */
-         if (phdr->p_type == PT_DYNAMIC && di->soname == NULL) {
-            ElfXX_Dyn* dyn_img = (ElfXX_Dyn*)( ((UChar*)ehdr_img)
-                                               + phdr->p_offset);
-            Word   stroff = -1;
-            UChar* strtab = NULL;
-            Word   j;
-            for (j = 0; dyn_img[j].d_tag != DT_NULL; j++) {
-               switch (dyn_img[j].d_tag) {
+         if (a_phdr.p_type == PT_DYNAMIC && di->soname == NULL) {
+            Word   stroff       = -1;
+            DiOffT strtab_mioff = DiOffT_INVALID;
+            for (j = 0; True/*exit check is in the loop*/; j++) {
+               ElfXX_Dyn t_dyn_m; /* dyn_img[j] */
+               ML_(img_get)(&t_dyn_m, mimg,
+                            INDEX_BIS(ehdr_mioff + a_phdr.p_offset,
+                                      j, sizeof(ElfXX_Dyn)),
+                            sizeof(t_dyn_m));
+               if (t_dyn_m.d_tag == DT_NULL)
+                  break;
+
+               switch (t_dyn_m.d_tag) {
                   case DT_SONAME: {
-                     stroff = dyn_img[j].d_un.d_val;
+                     stroff = t_dyn_m.d_un.d_val;
                      break;
                   }
                   case DT_STRTAB: {
                      Bool ok2 = False;
                      Word offset = file_offset_from_svma(
-                                      &ok2,
-                                      dyn_img[j].d_un.d_ptr,
-                                      phdr_img,
-                                      phdr_nent, phdr_ent_szB
+                                      &ok2, t_dyn_m.d_un.d_ptr, mimg,
+                                      phdr_mioff, phdr_mnent, phdr_ment_szB
                                    );
-                     if (ok2 && strtab == NULL) {
-                        vg_assert(offset >= 0 && offset <= n_oimage);
-                        strtab = ((UChar*)ehdr_img) + offset;
+                     if (ok2 && strtab_mioff == DiOffT_INVALID) {
+                        // Check for obviously bogus offsets.
+                        if (!ML_(img_valid)(mimg, offset, 1)) {
+                           ML_(symerr)(di, True, "Invalid DT_STRTAB offset");
+                           goto out;
+                        }
+                        strtab_mioff = ehdr_mioff + offset;
+                        vg_assert(ehdr_mioff == 0); // should always be
                      }
                      break;
                   }
@@ -1589,12 +1701,13 @@
                      break;
                }
             }
-            if (stroff != -1 && strtab != NULL) {
-               TRACE_SYMTAB("Found soname = %s\n", strtab+stroff);
-               di->soname = ML_(dinfo_strdup)("di.redi.1", strtab+stroff);
+            if (stroff != -1 && strtab_mioff != DiOffT_INVALID) {
+               di->soname = ML_(img_strdup)(mimg, "di.redi.1",
+                                            strtab_mioff + stroff);
+               TRACE_SYMTAB("Found soname = %s\n", di->soname);
             }
          }
-      } /* for (i = 0; i < phdr_nent; i++) ... */
+      } /* for (i = 0; i < phdr_Mnent; i++) ... */
       /* TOPLEVEL */
 
    } /* examine the program headers (local scope) */
@@ -1608,74 +1721,79 @@
       di->soname = ML_(dinfo_strdup)("di.redi.2", "NONE");
    }
 
-   vg_assert(n_rx >= 0 && n_rx <= N_RX_RW_AREAS);
-   vg_assert(n_rw >= 0 && n_rw <= N_RX_RW_AREAS);
-   for (i = 0; i < n_rx; i++) {
-      vg_assert(rx[i].svma_limit != 0);
-   }
-   for (i = 0; i < n_rw; i++) {
-      vg_assert(rw[i].svma_limit != 0);
-   }
+   vg_assert(VG_(sizeXA)(svma_ranges) != 0);
 
    /* Now read the section table. */
    TRACE_SYMTAB("\n");
    TRACE_SYMTAB("------ Examining the section headers ------\n");
-   TRACE_SYMTAB("rx: at %#lx are mapped foffsets %ld .. %ld\n",
-                di->fsm.rx_map_avma,
-                di->fsm.rx_map_foff,
-                di->fsm.rx_map_foff + di->fsm.rx_map_size - 1 );
-   for (i = 0; i < n_rx; i++) {
-      TRACE_SYMTAB("rx[%ld]: contains svmas %#lx .. %#lx with bias %#lx\n",
-                   i, rx[i].svma_base, rx[i].svma_limit - 1, rx[i].bias );
+   for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+      struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, i);
+      if (map->rx)
+         TRACE_SYMTAB("rx: at %#lx are mapped foffsets %ld .. %ld\n",
+                      map->avma, map->foff, map->foff + map->size - 1 );
    }
-   TRACE_SYMTAB("rw: at %#lx are mapped foffsets %ld .. %ld\n",
-                di->fsm.rw_map_avma,
-                di->fsm.rw_map_foff, 
-                di->fsm.rw_map_foff + di->fsm.rw_map_size - 1 );
-   for (i = 0; i < n_rw; i++) {
-      TRACE_SYMTAB("rw[%ld]: contains svmas %#lx .. %#lx with bias %#lx\n",
-                   i, rw[i].svma_base, rw[i].svma_limit - 1, rw[i].bias );
+   TRACE_SYMTAB("rx: contains these svma regions:\n");
+   for (i = 0; i < VG_(sizeXA)(svma_ranges); i++) {
+      RangeAndBias* reg = VG_(indexXA)(svma_ranges, i);
+      if (reg->exec)
+         TRACE_SYMTAB("  svmas %#lx .. %#lx with bias %#lx\n",
+                      reg->svma_base, reg->svma_limit - 1, reg->bias );
+   }
+   for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+      struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, i);
+      if (map->rw)
+         TRACE_SYMTAB("rw: at %#lx are mapped foffsets %ld .. %ld\n",
+                      map->avma, map->foff, map->foff + map->size - 1 );
+   }
+   TRACE_SYMTAB("rw: contains these svma regions:\n");
+   for (i = 0; i < VG_(sizeXA)(svma_ranges); i++) {
+      RangeAndBias* reg = VG_(indexXA)(svma_ranges, i);
+      if (!reg->exec)
+         TRACE_SYMTAB("  svmas %#lx .. %#lx with bias %#lx\n",
+                      reg->svma_base, reg->svma_limit - 1, reg->bias );
    }
 
    /* TOPLEVEL */
    /* Iterate over section headers */
-   for (i = 0; i < shdr_nent; i++) {
-      ElfXX_Shdr* shdr = INDEX_BIS( shdr_img, i, shdr_ent_szB );
-      UChar* name = shdr_strtab_img + shdr->sh_name;
-      Addr   svma = shdr->sh_addr;
-      OffT   foff = shdr->sh_offset;
-      UWord  size = shdr->sh_size;
-      UInt   alyn = shdr->sh_addralign;
-      Bool   bits = !(shdr->sh_type == SHT_NOBITS);
+   for (i = 0; i < shdr_mnent; i++) {
+      ElfXX_Shdr a_shdr;
+      ML_(img_get)(&a_shdr, mimg,
+                   INDEX_BIS(shdr_mioff, i, shdr_ment_szB), sizeof(a_shdr));
+      DiOffT name_mioff = shdr_strtab_mioff + a_shdr.sh_name;
+      HChar* name = ML_(img_strdup)(mimg, "di.redi_name.1", name_mioff);
+      Addr   svma = a_shdr.sh_addr;
+      OffT   foff = a_shdr.sh_offset;
+      UWord  size = a_shdr.sh_size; /* Do not change this to be signed. */
+      UInt   alyn = a_shdr.sh_addralign;
+      Bool   bits = !(a_shdr.sh_type == SHT_NOBITS);
       /* Look through our collection of info obtained from the PT_LOAD
          headers, and make 'inrx' and 'inrw' point to the first entry
          in each that intersects 'avma'.  If in each case none is found,
          leave the relevant pointer at NULL. */
       RangeAndBias* inrx = NULL;
       RangeAndBias* inrw = NULL;
-      { Word j;
-        for (j = 0; j < n_rx; j++) {
-           if (svma >= rx[j].svma_base && svma < rx[j].svma_limit) {
-             inrx = &rx[j];
-             break;
-           }
-        }
-        for (j = 0; j < n_rw; j++) {
-           if (svma >= rw[j].svma_base && svma < rw[j].svma_limit) {
-             inrw = &rw[j];
-             break;
-           }
-        }
+      for (j = 0; j < VG_(sizeXA)(svma_ranges); j++) {
+         RangeAndBias* rng = VG_(indexXA)(svma_ranges, j);
+         if (svma >= rng->svma_base && svma < rng->svma_limit) {
+            if (!inrx && rng->exec) {
+               inrx = rng;
+            } else if (!inrw && !rng->exec) {
+               inrw = rng;
+            }
+            if (inrx && inrw)
+               break;
+         }
       }
 
       TRACE_SYMTAB(" [sec %2ld]  %s %s  al%2u  foff %6ld .. %6ld  "
-                  "  svma %p  name \"%s\"\n", 
-                  i, inrx ? "rx" : "  ", inrw ? "rw" : "  ", alyn,
-                  foff, foff+size-1, (void*)svma, name );
+                   "  svma %p  name \"%s\"\n", 
+                   i, inrx ? "rx" : "  ", inrw ? "rw" : "  ", alyn,
+                   foff, foff+size-1, (void*)svma, name);
 
       /* Check for sane-sized segments.  SHT_NOBITS sections have zero
          size in the file. */
-      if ((foff >= n_oimage) || (foff + (bits ? size : 0) > n_oimage)) {
+      if ((foff >= ML_(img_size)(mimg)) 
+          || (foff + (bits ? size : 0) > ML_(img_size)(mimg))) {
          ML_(symerr)(di, True, "ELF Section extends beyond image end");
          goto out;
       }
@@ -1687,6 +1805,13 @@
          goto out;
       }
 
+      /* Ignore zero sized sections. */
+      if (size == 0) {
+         TRACE_SYMTAB("zero sized section \"%s\", ignoring\n", name);
+         ML_(dinfo_free)(name);
+         continue;
+      }
+
 #     define BAD(_secname)                                 \
          do { ML_(symerr)(di, True,                        \
                           "Can't make sense of " _secname  \
@@ -1703,7 +1828,7 @@
 
       /* Accept .text where mapped as rx (code), even if zero-sized */
       if (0 == VG_(strcmp)(name, ".text")) {
-         if (inrx && size >= 0 && !di->text_present) {
+         if (inrx && !di->text_present) {
             di->text_present = True;
             di->text_svma = svma;
             di->text_avma = svma + inrx->bias;
@@ -1725,7 +1850,7 @@
 
       /* Accept .data where mapped as rw (data), even if zero-sized */
       if (0 == VG_(strcmp)(name, ".data")) {
-         if (inrw && size >= 0 && !di->data_present) {
+         if (inrw && !di->data_present) {
             di->data_present = True;
             di->data_svma = svma;
             di->data_avma = svma + inrw->bias;
@@ -1747,7 +1872,7 @@
 
       /* Accept .sdata where mapped as rw (data) */
       if (0 == VG_(strcmp)(name, ".sdata")) {
-         if (inrw && size > 0 && !di->sdata_present) {
+         if (inrw && !di->sdata_present) {
             di->sdata_present = True;
             di->sdata_svma = svma;
             di->sdata_avma = svma + inrw->bias;
@@ -1769,7 +1894,7 @@
 
       /* Accept .rodata where mapped as rx (data), even if zero-sized */
       if (0 == VG_(strcmp)(name, ".rodata")) {
-         if (inrx && size >= 0 && !di->rodata_present) {
+         if (inrx && !di->rodata_present) {
             di->rodata_present = True;
             di->rodata_svma = svma;
             di->rodata_avma = svma + inrx->bias;
@@ -1791,7 +1916,7 @@
       }
 
       if (0 == VG_(strcmp)(name, ".dynbss")) {
-         if (inrw && size > 0 && !di->bss_present) {
+         if (inrw && !di->bss_present) {
             dynbss_present = True;
             di->bss_present = True;
             di->bss_svma = svma;
@@ -1812,7 +1937,7 @@
 
       /* Accept .bss where mapped as rw (data), even if zero-sized */
       if (0 == VG_(strcmp)(name, ".bss")) {
-         if (inrw && size > 0 && dynbss_present) {
+         if (inrw && dynbss_present) {
             vg_assert(di->bss_present);
             dynbss_present = False;
             vg_assert(di->bss_svma + di->bss_size == svma);
@@ -1824,7 +1949,7 @@
             TRACE_SYMTAB("acquiring .bss bias = %#lx\n", di->bss_bias);
          } else
 
-         if (inrw && size >= 0 && !di->bss_present) {
+         if (inrw && !di->bss_present) {
             di->bss_present = True;
             di->bss_svma = svma;
             di->bss_avma = svma + inrw->bias;
@@ -1842,7 +1967,7 @@
          } else
 
          /* Now one from the wtf?! department ... */
-         if (inrx && (!inrw) && size >= 0 && !di->bss_present) {
+         if (inrx && (!inrw) && !di->bss_present) {
             /* File contains a .bss, but it got mapped as rx only.
                This is very strange.  For now, just pretend we didn't
                see it :-) */
@@ -1859,11 +1984,11 @@
                             "mapped r-x only - ignoring .bss syms\n");
                VG_(message)(Vg_UserMsg,   " %s\n", di->fsm.filename 
                                                       ? di->fsm.filename
-                                                      : (UChar*)"(null?!)" );
+                                                      : "(null?!)" );
             }
          } else
 
-         if ((!inrw) && (!inrx) && size >= 0 && !di->bss_present) {
+         if ((!inrw) && (!inrx) && !di->bss_present) {
             /* File contains a .bss, but it didn't get mapped.  Ignore. */
             di->bss_present = False;
             di->bss_svma = 0;
@@ -1876,7 +2001,7 @@
       }
 
       if (0 == VG_(strcmp)(name, ".sdynbss")) {
-         if (inrw && size >= 0 && !di->sbss_present) {
+         if (inrw && !di->sbss_present) {
             sdynbss_present = True;
             di->sbss_present = True;
             di->sbss_svma = svma;
@@ -1897,7 +2022,7 @@
 
       /* Accept .sbss where mapped as rw (data) */
       if (0 == VG_(strcmp)(name, ".sbss")) {
-         if (inrw && size > 0 && sdynbss_present) {
+         if (inrw && sdynbss_present) {
             vg_assert(di->sbss_present);
             sdynbss_present = False;
             vg_assert(di->sbss_svma + di->sbss_size == svma);
@@ -1909,7 +2034,7 @@
             TRACE_SYMTAB("acquiring .sbss bias = %#lx\n", di->sbss_bias);
          } else
 
-         if (inrw && size > 0 && !di->sbss_present) {
+         if (inrw && !di->sbss_present) {
             di->sbss_present = True;
             di->sbss_svma = svma;
             di->sbss_avma = svma + inrw->bias;
@@ -1931,7 +2056,7 @@
 
       /* Accept .got where mapped as rw (data) */
       if (0 == VG_(strcmp)(name, ".got")) {
-         if (inrw && size > 0 && !di->got_present) {
+         if (inrw && !di->got_present) {
             di->got_present = True;
             di->got_avma = svma + inrw->bias;
             di->got_size = size;
@@ -1943,7 +2068,7 @@
 
       /* Accept .got.plt where mapped as rw (data) */
       if (0 == VG_(strcmp)(name, ".got.plt")) {
-         if (inrw && size > 0 && !di->gotplt_present) {
+         if (inrw && !di->gotplt_present) {
             di->gotplt_present = True;
             di->gotplt_avma = svma + inrw->bias;
             di->gotplt_size = size;
@@ -1955,10 +2080,11 @@
 
       /* PLT is different on different platforms, it seems. */
 #     if defined(VGP_x86_linux) || defined(VGP_amd64_linux) \
-         || defined(VGP_arm_linux) || defined (VGP_s390x_linux)
+         || defined(VGP_arm_linux) || defined (VGP_s390x_linux) \
+         || defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
       /* Accept .plt where mapped as rx (code) */
       if (0 == VG_(strcmp)(name, ".plt")) {
-         if (inrx && size > 0 && !di->plt_present) {
+         if (inrx && !di->plt_present) {
             di->plt_present = True;
             di->plt_avma = svma + inrx->bias;
             di->plt_size = size;
@@ -1970,7 +2096,7 @@
 #     elif defined(VGP_ppc32_linux)
       /* Accept .plt where mapped as rw (data) */
       if (0 == VG_(strcmp)(name, ".plt")) {
-         if (inrw && size > 0 && !di->plt_present) {
+         if (inrw && !di->plt_present) {
             di->plt_present = True;
             di->plt_avma = svma + inrw->bias;
             di->plt_size = size;
@@ -1982,7 +2108,7 @@
 #     elif defined(VGP_ppc64_linux)
       /* Accept .plt where mapped as rw (data), or unmapped */
       if (0 == VG_(strcmp)(name, ".plt")) {
-         if (inrw && size > 0 && !di->plt_present) {
+         if (inrw && !di->plt_present) {
             di->plt_present = True;
             di->plt_avma = svma + inrw->bias;
             di->plt_size = size;
@@ -2005,7 +2131,7 @@
 
       /* Accept .opd where mapped as rw (data) */
       if (0 == VG_(strcmp)(name, ".opd")) {
-         if (inrw && size > 0 && !di->opd_present) {
+         if (inrw && !di->opd_present) {
             di->opd_present = True;
             di->opd_avma = svma + inrw->bias;
             di->opd_size = size;
@@ -2020,14 +2146,14 @@
          rw (data) instead.  We can handle up to N_EHFRAME_SECTS per
          ELF object. */
       if (0 == VG_(strcmp)(name, ".eh_frame")) {
-         if (inrx && size > 0 && di->n_ehframe < N_EHFRAME_SECTS) {
+         if (inrx && di->n_ehframe < N_EHFRAME_SECTS) {
             di->ehframe_avma[di->n_ehframe] = svma + inrx->bias;
             di->ehframe_size[di->n_ehframe] = size;
             TRACE_SYMTAB("acquiring .eh_frame avma = %#lx\n",
                          di->ehframe_avma[di->n_ehframe]);
             di->n_ehframe++;
          } else
-         if (inrw && size > 0 && di->n_ehframe < N_EHFRAME_SECTS) {
+         if (inrw && di->n_ehframe < N_EHFRAME_SECTS) {
             di->ehframe_avma[di->n_ehframe] = svma + inrw->bias;
             di->ehframe_size[di->n_ehframe] = size;
             TRACE_SYMTAB("acquiring .eh_frame avma = %#lx\n",
@@ -2038,7 +2164,9 @@
          }
       }
 
-#    undef BAD
+      ML_(dinfo_free)(name);
+
+#     undef BAD
 
    } /* iterate over the section headers */
 
@@ -2056,61 +2184,49 @@
                 "for debug-info sections ------\n");
 
    /* TOPLEVEL */
-   /* Find interesting sections, read the symbol table(s), read any debug
-      information */
+   /* Find interesting sections, read the symbol table(s), read any
+      debug information.  Each section is located either in the main,
+      debug or alt-debug files, but only in one.  For each section,
+      |section_escn| records which of |mimg|, |dimg| or |aimg| we
+      found it in, along with the section's image offset and its size.
+      The triples (section_img, section_ioff, section_szB) are
+      consistent, in that they are always either (NULL,
+      DiOffT_INVALID, 0), or refer to the same image, and are all
+      assigned together. */
    {
-      /* IMAGE addresses: pointers to start of sections in the
-         transiently loaded oimage, not in the fragments of the file
-         mapped in by the guest's dynamic linker. */
       /* TOPLEVEL */
-      UChar*     strtab_img       = NULL; /* .strtab */
-      ElfXX_Sym* symtab_img       = NULL; /* .symtab */
-      UChar*     dynstr_img       = NULL; /* .dynstr */
-      ElfXX_Sym* dynsym_img       = NULL; /* .dynsym */
-      UChar*     debuglink_img    = NULL; /* .gnu_debuglink */
-      UChar*     stab_img         = NULL; /* .stab         (stabs)  */
-      UChar*     stabstr_img      = NULL; /* .stabstr      (stabs)  */
-      UChar*     debug_line_img   = NULL; /* .debug_line   (dwarf2) */
-      UChar*     debug_info_img   = NULL; /* .debug_info   (dwarf2) */
-      UChar*     debug_abbv_img   = NULL; /* .debug_abbrev (dwarf2) */
-      UChar*     debug_str_img    = NULL; /* .debug_str    (dwarf2) */
-      UChar*     debug_ranges_img = NULL; /* .debug_ranges (dwarf2) */
-      UChar*     debug_loc_img    = NULL; /* .debug_loc    (dwarf2) */
-      UChar*     debug_frame_img  = NULL; /* .debug_frame  (dwarf2) */
-      UChar*     dwarf1d_img      = NULL; /* .debug        (dwarf1) */
-      UChar*     dwarf1l_img      = NULL; /* .line         (dwarf1) */
-      UChar*     opd_img          = NULL; /* .opd (dwarf2,
-                                                   ppc64-linux) */
-      UChar*     ehframe_img[N_EHFRAME_SECTS]; /* .eh_frame (dwarf2) */
+      DiSlice strtab_escn         = DiSlice_INVALID; // .strtab
+      DiSlice symtab_escn         = DiSlice_INVALID; // .symtab
+      DiSlice dynstr_escn         = DiSlice_INVALID; // .dynstr
+      DiSlice dynsym_escn         = DiSlice_INVALID; // .dynsym
+      DiSlice debuglink_escn      = DiSlice_INVALID; // .gnu_debuglink
+      DiSlice debugaltlink_escn   = DiSlice_INVALID; // .gnu_debugaltlink
+      DiSlice stab_escn           = DiSlice_INVALID; // .stab         (stabs) 
+      DiSlice stabstr_escn        = DiSlice_INVALID; // .stabstr      (stabs) 
+      DiSlice debug_line_escn     = DiSlice_INVALID; // .debug_line   (dwarf2)
+      DiSlice debug_info_escn     = DiSlice_INVALID; // .debug_info   (dwarf2)
+      DiSlice debug_types_escn    = DiSlice_INVALID; // .debug_types  (dwarf4)
+      DiSlice debug_abbv_escn     = DiSlice_INVALID; // .debug_abbrev (dwarf2)
+      DiSlice debug_str_escn      = DiSlice_INVALID; // .debug_str    (dwarf2)
+      DiSlice debug_ranges_escn   = DiSlice_INVALID; // .debug_ranges (dwarf2)
+      DiSlice debug_loc_escn      = DiSlice_INVALID; // .debug_loc    (dwarf2)
+      DiSlice debug_frame_escn    = DiSlice_INVALID; // .debug_frame  (dwarf2)
+      DiSlice debug_line_alt_escn = DiSlice_INVALID; // .debug_line   (alt)
+      DiSlice debug_info_alt_escn = DiSlice_INVALID; // .debug_info   (alt)
+      DiSlice debug_abbv_alt_escn = DiSlice_INVALID; // .debug_abbrev (alt)
+      DiSlice debug_str_alt_escn  = DiSlice_INVALID; // .debug_str    (alt)
+      DiSlice dwarf1d_escn        = DiSlice_INVALID; // .debug        (dwarf1)
+      DiSlice dwarf1l_escn        = DiSlice_INVALID; // .line         (dwarf1)
+      DiSlice opd_escn            = DiSlice_INVALID; // .opd (dwarf2, 
+                                                     //       ppc64-linux)
+      DiSlice ehframe_escn[N_EHFRAME_SECTS];         // .eh_frame (dwarf2)
 
-      /* Section sizes, in bytes */
-      SizeT      strtab_sz       = 0;
-      SizeT      symtab_sz       = 0;
-      SizeT      dynstr_sz       = 0;
-      SizeT      dynsym_sz       = 0;
-      SizeT      debuglink_sz    = 0;
-      SizeT      stab_sz         = 0;
-      SizeT      stabstr_sz      = 0;
-      SizeT      debug_line_sz   = 0;
-      SizeT      debug_info_sz   = 0;
-      SizeT      debug_abbv_sz   = 0;
-      SizeT      debug_str_sz    = 0;
-      SizeT      debug_ranges_sz = 0;
-      SizeT      debug_loc_sz    = 0;
-      SizeT      debug_frame_sz  = 0;
-      SizeT      dwarf1d_sz      = 0;
-      SizeT      dwarf1l_sz      = 0;
-      SizeT      opd_sz_unused   = 0;
-      SizeT      ehframe_sz[N_EHFRAME_SECTS];
-
-      for (i = 0; i < N_EHFRAME_SECTS; i++) {
-         ehframe_img[i] = NULL;
-         ehframe_sz[i]  = 0;
-      }
+      for (i = 0; i < N_EHFRAME_SECTS; i++)
+         ehframe_escn[i] = DiSlice_INVALID;
 
       /* Find all interesting sections */
 
-      UInt ehframe_ix = 0;
+      UInt ehframe_mix = 0;
 
       /* What FIND does: it finds the section called _SEC_NAME.  The
          size of it is assigned to _SEC_SIZE.  The address of the
@@ -2126,23 +2242,29 @@
 
       /* TOPLEVEL */
       /* Iterate over section headers (again) */
-      for (i = 0; i < ehdr_img->e_shnum; i++) {
+      for (i = 0; i < ehdr_m.e_shnum; i++) {
 
-#        define FINDX(_sec_name, _sec_size, _sec_img, _post_fx)     \
-         do { ElfXX_Shdr* shdr \
-                 = INDEX_BIS( shdr_img, i, shdr_ent_szB ); \
-            if (0 == VG_(strcmp)(_sec_name, shdr_strtab_img \
-                                            + shdr->sh_name)) { \
+#        define FINDX(_sec_name, _sec_escn, _post_fx) \
+         do { \
+            ElfXX_Shdr a_shdr; \
+            ML_(img_get)(&a_shdr, mimg, \
+                         INDEX_BIS(shdr_mioff, i, shdr_ment_szB), \
+                         sizeof(a_shdr)); \
+            if (0 == ML_(img_strcmp_c)(mimg, shdr_strtab_mioff \
+                                              + a_shdr.sh_name, _sec_name)) { \
                Bool nobits; \
-               _sec_img  = (void*)(oimage + shdr->sh_offset); \
-               _sec_size = shdr->sh_size; \
-               nobits    = shdr->sh_type == SHT_NOBITS; \
-               TRACE_SYMTAB( "%18s:  img %p .. %p\n", \
-                             _sec_name, (UChar*)_sec_img, \
-                             ((UChar*)_sec_img) + _sec_size - 1); \
+               _sec_escn.img  = mimg; \
+               _sec_escn.ioff = (DiOffT)a_shdr.sh_offset; \
+               _sec_escn.szB  = a_shdr.sh_size; \
+               nobits         = a_shdr.sh_type == SHT_NOBITS; \
+               vg_assert(_sec_escn.img  != NULL); \
+               vg_assert(_sec_escn.ioff != DiOffT_INVALID); \
+               TRACE_SYMTAB( "%18s:  ioff %llu .. %llu\n", \
+                             _sec_name, (ULong)_sec_escn.ioff, \
+                             ((ULong)_sec_escn.ioff) + _sec_escn.szB - 1); \
                /* SHT_NOBITS sections have zero size in the file. */ \
-               if ( shdr->sh_offset \
-                    + (nobits ? 0 : _sec_size) > n_oimage ) { \
+               if ( a_shdr.sh_offset \
+                    + (nobits ? 0 : _sec_escn.szB) > ML_(img_size)(mimg) ) { \
                   ML_(symerr)(di, True, \
                               "   section beyond image end?!"); \
                   goto out; \
@@ -2152,48 +2274,48 @@
          } while (0);
 
          /* Version with no post-effects */
-#        define FIND(_sec_name, _sec_size, _sec_img) \
-            FINDX(_sec_name, _sec_size, _sec_img, /**/)
+#        define FIND(_sec_name, _sec_escn) \
+            FINDX(_sec_name, _sec_escn, /**/)
 
-         /*   NAME              SIZE             IMAGE addr */
-         FIND(".dynsym",        dynsym_sz,       dynsym_img)
-         FIND(".dynstr",        dynstr_sz,       dynstr_img)
-         FIND(".symtab",        symtab_sz,       symtab_img)
-         FIND(".strtab",        strtab_sz,       strtab_img)
+         /*   NAME                  ElfSec */
+         FIND(".dynsym",            dynsym_escn)
+         FIND(".dynstr",            dynstr_escn)
+         FIND(".symtab",            symtab_escn)
+         FIND(".strtab",            strtab_escn)
 
-         FIND(".gnu_debuglink", debuglink_sz,    debuglink_img)
+         FIND(".gnu_debuglink",     debuglink_escn)
+         FIND(".gnu_debugaltlink",  debugaltlink_escn)
 
-         FIND(".stab",          stab_sz,         stab_img)
-         FIND(".stabstr",       stabstr_sz,      stabstr_img)
+         FIND(".stab",              stab_escn)
+         FIND(".stabstr",           stabstr_escn)
 
-         FIND(".debug_line",    debug_line_sz,   debug_line_img)
-         FIND(".debug_info",    debug_info_sz,   debug_info_img)
-         FIND(".debug_abbrev",  debug_abbv_sz,   debug_abbv_img)
-         FIND(".debug_str",     debug_str_sz,    debug_str_img)
-         FIND(".debug_ranges",  debug_ranges_sz, debug_ranges_img)
-         FIND(".debug_loc",     debug_loc_sz,    debug_loc_img)
-         FIND(".debug_frame",   debug_frame_sz,  debug_frame_img)
+         FIND(".debug_line",        debug_line_escn)
+         FIND(".debug_info",        debug_info_escn)
+         FIND(".debug_types",       debug_types_escn)
+         FIND(".debug_abbrev",      debug_abbv_escn)
+         FIND(".debug_str",         debug_str_escn)
+         FIND(".debug_ranges",      debug_ranges_escn)
+         FIND(".debug_loc",         debug_loc_escn)
+         FIND(".debug_frame",       debug_frame_escn)
 
-         FIND(".debug",         dwarf1d_sz,      dwarf1d_img)
-         FIND(".line",          dwarf1l_sz,      dwarf1l_img)
+         FIND(".debug",             dwarf1d_escn)
+         FIND(".line",              dwarf1l_escn)
 
-         FIND(".opd",           opd_sz_unused,   opd_img)
+         FIND(".opd",               opd_escn)
 
-         FINDX(".eh_frame",     ehframe_sz[ehframe_ix],
-                                                 ehframe_img[ehframe_ix], 
-               do { ehframe_ix++; vg_assert(ehframe_ix <= N_EHFRAME_SECTS); }
-                    while (0)
+         FINDX(".eh_frame",         ehframe_escn[ehframe_mix],
+               do { ehframe_mix++; vg_assert(ehframe_mix <= N_EHFRAME_SECTS);
+               } while (0)
          )
          /* Comment_on_EH_FRAME_MULTIPLE_INSTANCES: w.r.t. .eh_frame
             multi-instance kludgery, how are we assured that the order
-            in which we fill in ehframe_sz[] and ehframe_img[] is
-            consistent with the order in which we previously filled in
-            di->ehframe_avma[] and di->ehframe_size[] ?  By the fact
-            that in both cases, these arrays were filled in by
-            iterating over the section headers top-to-bottom.  So both
-            loops (this one and the previous one) encounter the
-            .eh_frame entries in the same order and so fill in these
-            arrays in a consistent order.
+            in which we fill in ehframe_escn[] is consistent with the
+            order in which we previously filled in di->ehframe_avma[]
+            and di->ehframe_size[] ?  By the fact that in both cases,
+            these arrays were filled in by iterating over the section
+            headers top-to-bottom.  So both loops (this one and the
+            previous one) encounter the .eh_frame entries in the same
+            order and so fill in these arrays in a consistent order.
          */
 
 #        undef FINDX
@@ -2201,32 +2323,43 @@
       } /* Iterate over section headers (again) */
 
       /* TOPLEVEL */
-      /* Now, see if we can find a debuginfo object, and if so map it in, and
-         put the mapping address and size in dimage and n_dimage. */
-      vg_assert(dimage == 0 && n_dimage == 0);
+      /* Now, see if we can find a debuginfo object, and if so connect
+         |dimg| to it. */
+      vg_assert(dimg == NULL && aimg == NULL);
 
       /* Look for a build-id */
-      buildid = find_buildid(oimage, n_oimage);
+      HChar* buildid = find_buildid(mimg, False, False);
 
-      /* Look for a debug image */
-      if (buildid != NULL || debuglink_img != NULL) {
+      /* Look for a debug image that matches either the build-id or
+         the debuglink-CRC32 in the main image.  If the main image
+         doesn't contain either of those then this won't even bother
+         to try looking.  This looks in all known places, including
+         the --extra-debuginfo-path if specified and on the
+         --debuginfo-server if specified. */
+      if (buildid != NULL || debuglink_escn.img != NULL) {
          /* Do have a debuglink section? */
-         if (debuglink_img != NULL) {
-            UInt crc_offset = VG_ROUNDUP(VG_(strlen)(debuglink_img)+1, 4);
-            UInt crc;
-
-            vg_assert(crc_offset + sizeof(UInt) <= debuglink_sz);
+         if (debuglink_escn.img != NULL) {
+            UInt crc_offset 
+               = VG_ROUNDUP(ML_(img_strlen)(debuglink_escn.img,
+                                            debuglink_escn.ioff)+1, 4);
+            vg_assert(crc_offset + sizeof(UInt) <= debuglink_escn.szB);
 
             /* Extract the CRC from the debuglink section */
-            crc = ML_(read_UInt)(debuglink_img + crc_offset);
+            UInt crc = ML_(img_get_UInt)(debuglink_escn.img,
+                                         debuglink_escn.ioff + crc_offset);
 
             /* See if we can find a matching debug file */
-            find_debug_file( di, di->fsm.filename, buildid,
-                             debuglink_img, crc, &dimage, &n_dimage );
+            HChar* debuglink_str_m
+               = ML_(img_strdup)(debuglink_escn.img,
+                                 "di.redi_dlk.1", debuglink_escn.ioff);
+            dimg = find_debug_file( di, di->fsm.filename, buildid,
+                                    debuglink_str_m, crc, False );
+            if (debuglink_str_m)
+               ML_(dinfo_free)(debuglink_str_m);
          } else {
             /* See if we can find a matching debug file */
-            find_debug_file( di, di->fsm.filename, buildid,
-                             NULL, 0, &dimage, &n_dimage );
+            dimg = find_debug_file( di, di->fsm.filename, buildid,
+                                    NULL, 0, False );
          }
       }
 
@@ -2235,48 +2368,54 @@
          buildid = NULL; /* paranoia */
       }
 
-      /* Still no luck?  Let's have one last roll of the dice. */
-      if (dimage == 0) {
-         vg_assert(n_dimage == 0);
-         Bool found = find_ad_hoc_debug_image( di, di->fsm.filename,
-                                               &dimage, &n_dimage );
-         if (found)
-            vg_assert(dimage != 0);
+      /* As a last-ditch measure, try looking for in the
+         --extra-debuginfo-path and/or on the --debuginfo-server, but
+         only in the case where --allow-mismatched-debuginfo=yes.
+         This is dangerous in that (1) it gives no assurance that the
+         debuginfo object matches the main one, and hence (2) we will
+         very likely get an assertion in the code below, if indeed
+         there is a mismatch.  Hence it is disabled by default
+         (--allow-mismatched-debuginfo=no).  Nevertheless it's
+         sometimes a useful way of getting out of a tight spot.
+
+         Note that we're ignoring the name in the .gnu_debuglink
+         section here, and just looking for a file of the same name
+         either the extra-path or on the server. */
+      if (dimg == NULL && VG_(clo_allow_mismatched_debuginfo)) {
+         dimg = find_debug_file_ad_hoc( di, di->fsm.filename );
       }
 
       /* TOPLEVEL */
       /* If we were successful in finding a debug image, pull various
          SVMA/bias/size and image addresses out of it. */
-      if (dimage != 0 
-          && n_dimage >= sizeof(ElfXX_Ehdr)
-          && ML_(is_elf_object_file)((void*)dimage, n_dimage)) {
+      if (dimg != NULL && is_elf_object_file_by_DiImage(dimg, False)) {
 
          /* Pull out and validate program header and section header info */
-         ElfXX_Ehdr* ehdr_dimg     = (ElfXX_Ehdr*)dimage;
-         ElfXX_Phdr* phdr_dimg     = (ElfXX_Phdr*)( ((UChar*)ehdr_dimg)
-                                                       + ehdr_dimg->e_phoff );
-         UWord       phdr_dnent    = ehdr_dimg->e_phnum;
-         UWord       phdr_dent_szB = ehdr_dimg->e_phentsize;
-         ElfXX_Shdr* shdr_dimg     = (ElfXX_Shdr*)( ((UChar*)ehdr_dimg)
-                                                       + ehdr_dimg->e_shoff );
-         UWord       shdr_dnent       = ehdr_dimg->e_shnum;
-         UWord       shdr_dent_szB    = ehdr_dimg->e_shentsize;
-         UChar*      shdr_strtab_dimg = NULL;
+         DiOffT      ehdr_dioff = 0;
+         ElfXX_Ehdr  ehdr_dimg;
+         ML_(img_get)(&ehdr_dimg, dimg, ehdr_dioff, sizeof(ehdr_dimg));
+
+         DiOffT   phdr_dioff        = ehdr_dimg.e_phoff;
+         UWord    phdr_dnent        = ehdr_dimg.e_phnum;
+         UWord    phdr_dent_szB     = ehdr_dimg.e_phentsize;
+
+         DiOffT   shdr_dioff        = ehdr_dimg.e_shoff;
+         UWord    shdr_dnent        = ehdr_dimg.e_shnum;
+         UWord    shdr_dent_szB     = ehdr_dimg.e_shentsize;
+
+         DiOffT   shdr_strtab_dioff = DiOffT_INVALID;
 
          /* SVMAs covered by rx and rw segments and corresponding bias. */
-         /* Addr     rx_dsvma_base = 0; */ /* UNUSED */
          Addr     rx_dsvma_limit = 0;
          PtrdiffT rx_dbias = 0;
-         /* Addr     rw_dsvma_base = 0; */ /* UNUSED */
          Addr     rw_dsvma_limit = 0;
          PtrdiffT rw_dbias = 0;
 
          Bool need_symtab, need_stabs, need_dwarf2, need_dwarf1;
 
          if (phdr_dnent == 0
-             || !contained_within(
-                    dimage, n_dimage,
-                    (Addr)phdr_dimg, phdr_dnent * phdr_dent_szB)) {
+             || !ML_(img_valid)(dimg, phdr_dioff,
+                                phdr_dnent * phdr_dent_szB)) {
             ML_(symerr)(di, True,
                         "Missing or invalid ELF Program Header Table"
                         " (debuginfo file)");
@@ -2284,9 +2423,8 @@
          }
 
          if (shdr_dnent == 0
-             || !contained_within(
-                    dimage, n_dimage,
-                    (Addr)shdr_dimg, shdr_dnent * shdr_dent_szB)) {
+             || !ML_(img_valid)(dimg, shdr_dioff,
+                                shdr_dnent * shdr_dent_szB)) {
             ML_(symerr)(di, True,
                         "Missing or invalid ELF Section Header Table"
                         " (debuginfo file)");
@@ -2295,86 +2433,92 @@
 
          /* Also find the section header's string table, and validate. */
          /* checked previously by is_elf_object_file: */
-         vg_assert( ehdr_dimg->e_shstrndx != SHN_UNDEF );
+         vg_assert(ehdr_dimg.e_shstrndx != SHN_UNDEF);
 
-         shdr_strtab_dimg
-            = (UChar*)( ((UChar*)ehdr_dimg)
-                        + shdr_dimg[ehdr_dimg->e_shstrndx].sh_offset);
-         if (!contained_within( 
-                 dimage, n_dimage,
-                 (Addr)shdr_strtab_dimg,
-                 1/*bogus, but we don't know the real size*/ )) {
-            ML_(symerr)(di, True, 
-                        "Invalid ELF Section Header String Table"
-                        " (debuginfo file)");
-            goto out;
+         // shdr_dioff is the offset of the section header table
+         // and we need the ehdr_dimg.e_shstrndx'th entry
+         { ElfXX_Shdr a_shdr;
+           ML_(img_get)(&a_shdr, dimg,
+                        INDEX_BIS(shdr_dioff, ehdr_dimg.e_shstrndx,
+                                              shdr_dent_szB),
+                        sizeof(a_shdr));
+           shdr_strtab_dioff = a_shdr.sh_offset;
+           if (!ML_(img_valid)(dimg, shdr_strtab_dioff,
+                               1/*bogus, but we don't know the real size*/)) {
+              ML_(symerr)(di, True, 
+                          "Invalid ELF Section Header String Table"
+                          " (debuginfo file)");
+              goto out;
+           }
          }
 
-         need_symtab = (NULL == symtab_img);
-         need_stabs  = (NULL == stab_img);
-         need_dwarf2 = (NULL == debug_info_img);
-         need_dwarf1 = (NULL == dwarf1d_img);
-
-         for (i = 0; i < ehdr_dimg->e_phnum; i++) {
-            ElfXX_Phdr* phdr 
-               = INDEX_BIS( (void*)(dimage + ehdr_dimg->e_phoff), 
-                                       i, phdr_ent_szB );
-            if (phdr->p_type == PT_LOAD) {
-               if (rx_dsvma_limit == 0
-                   && phdr->p_offset >= di->fsm.rx_map_foff
-                   && phdr->p_offset
-                      < di->fsm.rx_map_foff + di->fsm.rx_map_size
-                   && phdr->p_offset + phdr->p_filesz
-                      <= di->fsm.rx_map_foff + di->fsm.rx_map_size) {
-                  /* rx_dsvma_base = phdr->p_vaddr; */ /* UNUSED */
-                  rx_dsvma_limit = phdr->p_vaddr + phdr->p_memsz;
-                  rx_dbias = di->fsm.rx_map_avma - di->fsm.rx_map_foff 
-                             + phdr->p_offset - phdr->p_vaddr;
-               }
-               else
-               if (rw_dsvma_limit == 0
-                   && phdr->p_offset >= di->fsm.rw_map_foff
-                   && phdr->p_offset
-                      < di->fsm.rw_map_foff + di->fsm.rw_map_size
-                   && phdr->p_offset + phdr->p_filesz
-                      <= di->fsm.rw_map_foff + di->fsm.rw_map_size) {
-                  /* rw_dsvma_base = phdr->p_vaddr; */ /* UNUSED */
-                  rw_dsvma_limit = phdr->p_vaddr + phdr->p_memsz;
-                  rw_dbias = di->fsm.rw_map_avma - di->fsm.rw_map_foff
-                             + phdr->p_offset - phdr->p_vaddr;
+         for (i = 0; i < ehdr_dimg.e_phnum; i++) {
+            ElfXX_Phdr a_phdr;
+            ML_(img_get)(&a_phdr, dimg, INDEX_BIS(ehdr_dimg.e_phoff,
+                                                  i, phdr_dent_szB), 
+                           sizeof(a_phdr));
+            if (a_phdr.p_type == PT_LOAD) {
+               for (j = 0; j < VG_(sizeXA)(di->fsm.maps); j++) {
+                  struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, j);
+                  if (   a_phdr.p_offset >= map->foff
+                      && a_phdr.p_offset <  map->foff + map->size
+                      && a_phdr.p_offset + a_phdr.p_filesz
+                         < map->foff + map->size) {
+                     if (map->rx && rx_dsvma_limit == 0) {
+                        rx_dsvma_limit = a_phdr.p_vaddr + a_phdr.p_memsz;
+                        rx_dbias = map->avma - map->foff + a_phdr.p_offset
+                                   - a_phdr.p_vaddr;
+                     }
+                     if (map->rw && rw_dsvma_limit == 0) {
+                        rw_dsvma_limit = a_phdr.p_vaddr + a_phdr.p_memsz;
+                        rw_dbias = map->avma - map->foff + a_phdr.p_offset
+                                   - a_phdr.p_vaddr;
+                     }
+                     break;
+                  }
                }
             }
          }
 
-         /* Find all interesting sections */
-         for (i = 0; i < ehdr_dimg->e_shnum; i++) {
+         need_symtab = (symtab_escn.img == NULL);
+         need_stabs  = (stab_escn.img == NULL);
+         need_dwarf2 = (debug_info_escn.img == NULL);
+         need_dwarf1 = (dwarf1d_escn.img == NULL);
+
+         /* Find all interesting sections in the debug image */
+         for (i = 0; i < ehdr_dimg.e_shnum; i++) {
 
             /* Find debug svma and bias information for sections
                we found in the main file. */ 
 
-#           define FIND(sec, seg) \
-            do { ElfXX_Shdr* shdr \
-                    = INDEX_BIS( shdr_dimg, i, shdr_dent_szB ); \
-               if (di->sec##_present \
-                   && 0 == VG_(strcmp)("." #sec, \
-                                       shdr_strtab_dimg + shdr->sh_name)) { \
-                  vg_assert(di->sec##_size == shdr->sh_size); \
-                  vg_assert(di->sec##_avma +  shdr->sh_addr + seg##_dbias); \
+#           define FIND(_sec, _seg) \
+            do { \
+               ElfXX_Shdr a_shdr; \
+               ML_(img_get)(&a_shdr, dimg, \
+                            INDEX_BIS(shdr_dioff, i, shdr_dent_szB), \
+                            sizeof(a_shdr)); \
+               if (di->_sec##_present \
+                   && 0 == ML_(img_strcmp_c)(dimg, shdr_strtab_dioff \
+                                             + a_shdr.sh_name, "." #_sec)) { \
+                  vg_assert(di->_sec##_size == a_shdr.sh_size); \
+                  /* JRS 2013-Jun-01: the following assert doesn't contain */ \
+                  /* any ==s, which seems to me to be suspicious. */ \
+                  vg_assert(di->_sec##_avma +  a_shdr.sh_addr + _seg##_dbias); \
                   /* Assume we have a correct value for the main */ \
                   /* object's bias.  Use that to derive the debuginfo */ \
                   /* object's bias, by adding the difference in SVMAs */ \
                   /* for the corresponding sections in the two files. */ \
                   /* That should take care of all prelinking effects. */ \
-                  di->sec##_debug_svma = shdr->sh_addr; \
-                  di->sec##_debug_bias \
-                     = di->sec##_bias + \
-                       di->sec##_svma - di->sec##_debug_svma; \
-                  TRACE_SYMTAB("acquiring ." #sec \
+                  di->_sec##_debug_svma = a_shdr.sh_addr; \
+                  di->_sec##_debug_bias \
+                     = di->_sec##_bias + \
+                       di->_sec##_svma - di->_sec##_debug_svma; \
+                  TRACE_SYMTAB("acquiring ." #_sec \
                                " debug svma = %#lx .. %#lx\n",       \
-                               di->sec##_debug_svma, \
-                               di->sec##_debug_svma + di->sec##_size - 1); \
-                  TRACE_SYMTAB("acquiring ." #sec " debug bias = %#lx\n", \
-                               di->sec##_debug_bias); \
+                               di->_sec##_debug_svma, \
+                               di->_sec##_debug_svma + di->_sec##_size - 1); \
+                  TRACE_SYMTAB("acquiring ." #_sec " debug bias = %#lx\n", \
+                               di->_sec##_debug_bias); \
                } \
             } while (0);
 
@@ -2389,28 +2533,37 @@
 #           undef FIND
 
             /* Same deal as previous FIND, except only do it for those
-               sections for which we didn't find anything useful in
-               the main file. */
+               sections which we didn't find in the main file. */
 
-#           define FIND(condition, sec_name, sec_size, sec_img) \
-            do { ElfXX_Shdr* shdr \
-                    = INDEX_BIS( shdr_dimg, i, shdr_dent_szB ); \
-               if (condition \
-                   && 0 == VG_(strcmp)(sec_name, \
-                                       shdr_strtab_dimg + shdr->sh_name)) { \
+#           define FIND(_condition, _sec_name, _sec_escn) \
+            do { \
+               ElfXX_Shdr a_shdr; \
+               ML_(img_get)(&a_shdr, dimg, \
+                            INDEX_BIS(shdr_dioff, i, shdr_dent_szB), \
+                            sizeof(a_shdr)); \
+               if (_condition \
+                   && 0 == ML_(img_strcmp_c)(dimg, shdr_strtab_dioff \
+                                             + a_shdr.sh_name, _sec_name)) { \
                   Bool nobits; \
-                  if (0 != sec_img) \
-                     VG_(core_panic)("repeated section!\n"); \
-                  sec_img  = (void*)(dimage + shdr->sh_offset); \
-                  sec_size = shdr->sh_size; \
-                  nobits   = shdr->sh_type == SHT_NOBITS; \
-                  TRACE_SYMTAB( "%18s: dimg %p .. %p\n", \
-                                sec_name, \
-                                (UChar*)sec_img, \
-                                ((UChar*)sec_img) + sec_size - 1); \
+                  if (_sec_escn.img != NULL) { \
+                     ML_(symerr)(di, True, \
+                                 "   debuginfo section duplicates a" \
+                                 " section in the main ELF file"); \
+                     goto out; \
+                  } \
+                  _sec_escn.img  = dimg; \
+                  _sec_escn.ioff = (DiOffT)a_shdr.sh_offset;  \
+                  _sec_escn.szB  = a_shdr.sh_size; \
+                  nobits         = a_shdr.sh_type == SHT_NOBITS; \
+                  vg_assert(_sec_escn.img  != NULL); \
+                  vg_assert(_sec_escn.ioff != DiOffT_INVALID); \
+                  TRACE_SYMTAB( "%18s: dioff %llu .. %llu\n", \
+                                _sec_name, \
+                                (ULong)_sec_escn.ioff, \
+                                ((ULong)_sec_escn.ioff) + _sec_escn.szB - 1); \
                   /* SHT_NOBITS sections have zero size in the file. */ \
-                  if ( shdr->sh_offset \
-                       + (nobits ? 0 : sec_size) > n_dimage ) { \
+                  if (a_shdr.sh_offset \
+                      + (nobits ? 0 : _sec_escn.szB) > ML_(img_size)(dimg)) { \
                      ML_(symerr)(di, True, \
                                  "   section beyond image end?!"); \
                      goto out; \
@@ -2418,55 +2571,168 @@
                } \
             } while (0);
 
-            /* NEEDED?        NAME             SIZE           IMAGE addr */
-            FIND(need_symtab, ".symtab",       symtab_sz,     symtab_img)
-            FIND(need_symtab, ".strtab",       strtab_sz,     strtab_img)
-            FIND(need_stabs,  ".stab",         stab_sz,       stab_img)
-            FIND(need_stabs,  ".stabstr",      stabstr_sz,    stabstr_img)
-            FIND(need_dwarf2, ".debug_line",   debug_line_sz, debug_line_img)
-            FIND(need_dwarf2, ".debug_info",   debug_info_sz, debug_info_img)
-            FIND(need_dwarf2, ".debug_abbrev", debug_abbv_sz, debug_abbv_img)
-            FIND(need_dwarf2, ".debug_str",    debug_str_sz,  debug_str_img)
-            FIND(need_dwarf2, ".debug_ranges", debug_ranges_sz, 
-                                                            debug_ranges_img)
-            FIND(need_dwarf2, ".debug_loc",    debug_loc_sz,  debug_loc_img)
-            FIND(need_dwarf2, ".debug_frame",  debug_frame_sz,
-                                                            debug_frame_img)
-            FIND(need_dwarf1, ".debug",        dwarf1d_sz,    dwarf1d_img)
-            FIND(need_dwarf1, ".line",         dwarf1l_sz,    dwarf1l_img)
+            /* NEEDED?        NAME             ElfSec */
+            FIND(need_symtab, ".symtab",       symtab_escn)
+            FIND(need_symtab, ".strtab",       strtab_escn)
+            FIND(need_stabs,  ".stab",         stab_escn)
+            FIND(need_stabs,  ".stabstr",      stabstr_escn)
+            FIND(need_dwarf2, ".debug_line",   debug_line_escn)
+            FIND(need_dwarf2, ".debug_info",   debug_info_escn)
+            FIND(need_dwarf2, ".debug_types",  debug_types_escn)
+
+            FIND(need_dwarf2, ".debug_abbrev", debug_abbv_escn)
+            FIND(need_dwarf2, ".debug_str",    debug_str_escn)
+            FIND(need_dwarf2, ".debug_ranges", debug_ranges_escn)
+
+            FIND(need_dwarf2, ".debug_loc",    debug_loc_escn)
+            FIND(need_dwarf2, ".debug_frame",  debug_frame_escn)
+
+            FIND(need_dwarf2, ".gnu_debugaltlink", debugaltlink_escn)
+
+            FIND(need_dwarf1, ".debug",        dwarf1d_escn)
+            FIND(need_dwarf1, ".line",         dwarf1l_escn)
 
 #           undef FIND
          } /* Find all interesting sections */
       } /* do we have a debug image? */
 
       /* TOPLEVEL */
+      /* Look for alternate debug image, and if found, connect |aimg|
+         to it. */
+      vg_assert(aimg == NULL);
+
+      if (debugaltlink_escn.img != NULL) {
+         UInt buildid_offset = ML_(img_strlen)(debugaltlink_escn.img, 0)+1;
+
+         vg_assert(buildid_offset < debugaltlink_escn.szB);
+
+         HChar *altbuildid
+            = ML_(dinfo_zalloc)("di.fbi.4",
+                                (debugaltlink_escn.szB - buildid_offset)
+                                * 2 + 1);
+
+         for (j = 0; j < debugaltlink_escn.szB - buildid_offset; j++)
+            VG_(sprintf)(
+               altbuildid + 2 * j, "%02x",
+               (UInt)ML_(img_get_UChar)(debugaltlink_escn.img,
+                                        debugaltlink_escn.ioff 
+                                        + buildid_offset + j));
+
+         /* See if we can find a matching debug file */
+         aimg = find_debug_file( di, di->fsm.filename, altbuildid,
+                                 NULL, 0, True );
+
+         ML_(dinfo_free)(altbuildid);
+      }
+
+      /* TOPLEVEL */
+      /* If we were successful in finding alternate debug image, pull various
+         size and image addresses out of it. */
+      if (aimg != NULL && is_elf_object_file_by_DiImage(aimg, True)) {
+
+         /* Pull out and validate program header and section header info */
+         DiOffT      ehdr_aioff = 0;
+         ElfXX_Ehdr  ehdr_aimg;
+         ML_(img_get)(&ehdr_aimg, aimg, ehdr_aioff, sizeof(ehdr_aimg));
+
+         DiOffT   shdr_aioff        = ehdr_aimg.e_shoff;
+         UWord    shdr_anent        = ehdr_aimg.e_shnum;
+         UWord    shdr_aent_szB     = ehdr_aimg.e_shentsize;
+
+         DiOffT   shdr_strtab_aioff = DiOffT_INVALID;
+
+         if (shdr_anent == 0
+             || !ML_(img_valid)(aimg, shdr_aioff,
+                                shdr_anent * shdr_aent_szB)) {
+            ML_(symerr)(di, True,
+                        "Missing or invalid ELF Section Header Table"
+                        " (alternate debuginfo file)");
+            goto out;
+         }
+
+         /* Also find the section header's string table, and validate. */
+         /* checked previously by is_elf_object_file: */
+         vg_assert(ehdr_aimg.e_shstrndx != SHN_UNDEF);
+
+         // shdr_aioff is the offset of the section header table
+         // and we need the ehdr_aimg.e_shstrndx'th entry
+         { ElfXX_Shdr a_shdr;
+           ML_(img_get)(&a_shdr, aimg,
+                        INDEX_BIS(shdr_aioff, ehdr_aimg.e_shstrndx,
+                                              shdr_aent_szB),
+                        sizeof(a_shdr));
+           shdr_strtab_aioff = a_shdr.sh_offset;
+           if (!ML_(img_valid)(aimg, shdr_strtab_aioff,
+                               1/*bogus, but we don't know the real size*/)) {
+              ML_(symerr)(di, True, 
+                          "Invalid ELF Section Header String Table"
+                          " (alternate debuginfo file)");
+              goto out;
+           }
+         }
+
+         /* Find all interesting sections */
+         for (i = 0; i < ehdr_aimg.e_shnum; i++) {
+
+#           define FIND(_sec_name, _sec_escn) \
+            do { \
+               ElfXX_Shdr a_shdr; \
+               ML_(img_get)(&a_shdr, aimg, \
+                            INDEX_BIS(shdr_aioff, i, shdr_aent_szB), \
+                            sizeof(a_shdr)); \
+               if (0 == ML_(img_strcmp_c)(aimg, shdr_strtab_aioff \
+                                          + a_shdr.sh_name, _sec_name)) { \
+                  if (_sec_escn.img != NULL) { \
+                     ML_(symerr)(di, True, \
+                                 "   alternate debuginfo section duplicates a" \
+                                 " section in the main ELF file"); \
+                     goto out; \
+                  } \
+                  _sec_escn.img  = aimg; \
+                  _sec_escn.ioff = (DiOffT)a_shdr.sh_offset; \
+                  _sec_escn.szB  = a_shdr.sh_size; \
+                  vg_assert(_sec_escn.img  != NULL); \
+                  vg_assert(_sec_escn.ioff != DiOffT_INVALID); \
+                  TRACE_SYMTAB( "%18s: aioff %llu .. %llu\n", \
+                                _sec_name, \
+                                (ULong)_sec_escn.ioff, \
+                                ((ULong)_sec_escn.ioff) + _sec_escn.szB - 1); \
+               } \
+            } while (0);
+
+            /*   NAME             ElfSec */
+            FIND(".debug_line",   debug_line_alt_escn)
+            FIND(".debug_info",   debug_info_alt_escn)
+            FIND(".debug_abbrev", debug_abbv_alt_escn)
+            FIND(".debug_str",    debug_str_alt_escn)
+
+#           undef FIND
+         } /* Find all interesting sections */
+      } /* do we have a debug image? */
+
+
+      /* TOPLEVEL */
       /* Check some sizes */
-      vg_assert((dynsym_sz % sizeof(ElfXX_Sym)) == 0);
-      vg_assert((symtab_sz % sizeof(ElfXX_Sym)) == 0);
+      vg_assert((dynsym_escn.szB % sizeof(ElfXX_Sym)) == 0);
+      vg_assert((symtab_escn.szB % sizeof(ElfXX_Sym)) == 0);
 
       /* Read symbols */
       {
-         void (*read_elf_symtab)(struct _DebugInfo*,UChar*,
-                                 ElfXX_Sym*,SizeT,
-                                 UChar*,SizeT,
-                                 Bool,UChar*);
+         void (*read_elf_symtab)(struct _DebugInfo*, const HChar*,
+                                 DiSlice*, DiSlice*, DiSlice*, Bool);
          Bool symtab_in_debug;
 #        if defined(VGP_ppc64_linux)
          read_elf_symtab = read_elf_symtab__ppc64_linux;
 #        else
          read_elf_symtab = read_elf_symtab__normal;
 #        endif
-         symtab_in_debug = (Addr)symtab_img >= dimage
-                           && (Addr)symtab_img < dimage + n_dimage;
+         symtab_in_debug = symtab_escn.img == dimg;
          read_elf_symtab(di, "symbol table",
-                         symtab_img, symtab_sz,
-                         strtab_img, strtab_sz, 
-                         symtab_in_debug, opd_img);
-
+                         &symtab_escn, &strtab_escn, &opd_escn,
+                         symtab_in_debug);
          read_elf_symtab(di, "dynamic symbol table",
-                         dynsym_img, dynsym_sz,
-                         dynstr_img, dynstr_sz, 
-                         False, opd_img);
+                         &dynsym_escn, &dynstr_escn, &opd_escn,
+                         False);
       } /* Read symbols */
 
       /* TOPLEVEL */
@@ -2476,16 +2742,16 @@
       for (i = 0; i < di->n_ehframe; i++) {
          /* see Comment_on_EH_FRAME_MULTIPLE_INSTANCES above for why
             this next assertion should hold. */
-         vg_assert(ehframe_sz[i] == di->ehframe_size[i]);
+         vg_assert(ML_(sli_is_valid)(ehframe_escn[i]));
+         vg_assert(ehframe_escn[i].szB == di->ehframe_size[i]);
          ML_(read_callframe_info_dwarf3)( di,
-                                          ehframe_img[i],
-                                          ehframe_sz[i],
+                                          ehframe_escn[i],
                                           di->ehframe_avma[i],
                                           True/*is_ehframe*/ );
       }
-      if (debug_frame_sz) {
+      if (ML_(sli_is_valid)(debug_frame_escn)) {
          ML_(read_callframe_info_dwarf3)( di,
-                                          debug_frame_img, debug_frame_sz,
+                                          debug_frame_escn,
                                           0/*assume zero avma*/,
                                           False/*!is_ehframe*/ );
       }
@@ -2499,27 +2765,32 @@
 #     if !defined(VGP_amd64_linux) \
          && !defined(VGP_s390x_linux) \
          && !defined(VGP_ppc64_linux) \
-         && !defined(VGPV_arm_linux_android)
+         && !defined(VGPV_arm_linux_android) \
+         && !defined(VGPV_x86_linux_android) \
+         && !defined(VGP_mips64_linux)
+#if 0
       if (stab_img && stabstr_img) {
          ML_(read_debuginfo_stabs) ( di, stab_img, stab_sz, 
                                          stabstr_img, stabstr_sz );
       }
+#endif
 #     endif
       /* jrs 2006-01-01: icc-8.1 has been observed to generate
          binaries without debug_str sections.  Don't preclude
          debuginfo reading for that reason, but, in
          read_unitinfo_dwarf2, do check that debugstr is non-NULL
          before using it. */
-      if (debug_info_img && debug_abbv_img && debug_line_img
-                                           /* && debug_str_img */) {
-
+      if (ML_(sli_is_valid)(debug_info_escn) 
+          && ML_(sli_is_valid)(debug_abbv_escn)
+          && ML_(sli_is_valid)(debug_line_escn)) {
          /* The old reader: line numbers and unwind info only */
          ML_(read_debuginfo_dwarf3) ( di,
-                                      debug_info_img, debug_info_sz,
-                                      debug_abbv_img, debug_abbv_sz,
-                                      debug_line_img, debug_line_sz,
-                                      debug_str_img,  debug_str_sz );
-
+                                      debug_info_escn,
+                                      debug_types_escn,
+                                      debug_abbv_escn,
+                                      debug_line_escn,
+                                      debug_str_escn,
+                                      debug_str_alt_escn );
          /* The new reader: read the DIEs in .debug_info to acquire
             information on variable types and locations.  But only if
             the tool asks for it, or the user requests it on the
@@ -2527,19 +2798,21 @@
          if (VG_(needs).var_info /* the tool requires it */
              || VG_(clo_read_var_info) /* the user asked for it */) {
             ML_(new_dwarf3_reader)(
-               di, debug_info_img,   debug_info_sz,
-                   debug_abbv_img,   debug_abbv_sz,
-                   debug_line_img,   debug_line_sz,
-                   debug_str_img,    debug_str_sz,
-                   debug_ranges_img, debug_ranges_sz,
-                   debug_loc_img,    debug_loc_sz
+               di, debug_info_escn,     debug_types_escn,
+                   debug_abbv_escn,     debug_line_escn,
+                   debug_str_escn,      debug_ranges_escn,
+                   debug_loc_escn,      debug_info_alt_escn,
+                   debug_abbv_alt_escn, debug_line_alt_escn,
+                   debug_str_alt_escn
             );
          }
       }
+#if 0
       if (dwarf1d_img && dwarf1l_img) {
          ML_(read_debuginfo_dwarf1) ( di, dwarf1d_img, dwarf1d_sz, 
                                           dwarf1l_img, dwarf1l_sz );
       }
+#endif
       /* TOPLEVEL */
 
    } /* "Find interesting sections, read the symbol table(s), read any debug
@@ -2554,7 +2827,6 @@
       exp-sgcheck.) */
    if (0 && (VG_(needs).var_info || VG_(clo_read_var_info))) {
       UWord nVars = 0;
-      Word  j;
       if (di->varinfo) {
          for (j = 0; j < VG_(sizeXA)(di->varinfo); j++) {
             OSet* /* of DiAddrRange */ scope
@@ -2580,14 +2852,13 @@
 
   out: 
    {
-      SysRes m_res;
-      /* Last, but not least, heave the image(s) back overboard. */
-      if (dimage) {
-         m_res = VG_(am_munmap_valgrind) ( dimage, n_dimage );
-         vg_assert(!sr_isError(m_res));
-      }
-      m_res = VG_(am_munmap_valgrind) ( oimage, n_oimage );
-      vg_assert(!sr_isError(m_res));
+      /* Last, but not least, detach from the image(s). */
+      if (mimg) ML_(img_done)(mimg);
+      if (dimg) ML_(img_done)(dimg);
+      if (aimg) ML_(img_done)(aimg);
+
+      if (svma_ranges) VG_(deleteXA)(svma_ranges);
+
       return res;
    } /* out: */ 
 
diff --git a/coregrind/m_debuginfo/readmacho.c b/coregrind/m_debuginfo/readmacho.c
index 8487243..94865cb 100644
--- a/coregrind/m_debuginfo/readmacho.c
+++ b/coregrind/m_debuginfo/readmacho.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Apple Inc.
+   Copyright (C) 2005-2012 Apple Inc.
       Greg Parker gparker@apple.com
 
    This program is free software; you can redistribute it and/or
@@ -47,8 +47,9 @@
 #include "pub_core_clientstate.h"
 #include "pub_core_debuginfo.h"
 
-#include "priv_d3basics.h"
 #include "priv_misc.h"
+#include "priv_image.h"
+#include "priv_d3basics.h"
 #include "priv_tytypes.h"
 #include "priv_storage.h"
 #include "priv_readmacho.h"
@@ -85,23 +86,15 @@
 /*---                                                      ---*/
 /*------------------------------------------------------------*/
 
-typedef
-   struct {
-      /* These two describe the entire mapped-in ("primary") image,
-         fat headers, kitchen sink, whatnot: the entire file.  The
-         image is mapped into img[0 .. img_szB-1]. */
-      UChar* img;
-      SizeT  img_szB;
-      /* These two describe the Mach-O object of interest, which is
-         presumably somewhere inside the primary image.
-         map_image_aboard() below, which generates this info, will
-         carefully check that the macho_ fields denote a section of
-         memory that falls entirely inside img[0 .. img_szB-1]. */
-      UChar* macho_img;
-      SizeT  macho_img_szB;
-   }
-   ImageInfo;
-
+/* A DiSlice is used to handle the thin/fat distinction for MachO images.
+   (1) the entire mapped-in ("primary") image, fat headers, kitchen sink,
+       whatnot: the entire file.  This is the DiImage* that is the backing
+       for the DiSlice.
+   (2) the Mach-O object of interest, which is presumably somewhere inside
+       the primary image.  map_image_aboard() below, which generates this
+       info, will carefully check that the macho_ fields denote a section of
+       memory that falls entirely inside the primary image.
+*/
 
 Bool ML_(is_macho_object_file)( const void* buf, SizeT szB )
 {
@@ -137,174 +130,158 @@
 
 
 /* Unmap an image mapped in by map_image_aboard. */
-static void unmap_image ( /*MOD*/ImageInfo* ii )
+static void unmap_image ( /*MOD*/DiSlice* sli )
 {
-   SysRes sres;
-   vg_assert(ii->img);
-   vg_assert(ii->img_szB > 0);
-   sres = VG_(am_munmap_valgrind)( (Addr)ii->img, ii->img_szB );
-   /* Do we care if this fails?  I suppose so; it would indicate
-      some fairly serious snafu with the mapping of the file. */
-   vg_assert( !sr_isError(sres) );
-   VG_(memset)(ii, 0, sizeof(*ii));
+   vg_assert(sli);
+   if (ML_(sli_is_valid)(*sli)) {
+      ML_(img_done)(sli->img);
+      *sli = DiSlice_INVALID;
+   }
 }
 
 
-/* Map a given fat or thin object aboard, find the thin part if
-   necessary, do some checks, and write details of both the fat and
-   thin parts into *ii.  Returns False (and leaves the file unmapped)
-   on failure.  Guarantees to return pointers to a valid(ish) Mach-O
-   image if it succeeds. */
-static Bool map_image_aboard ( DebugInfo* di, /* only for err msgs */
-                               /*OUT*/ImageInfo* ii, UChar* filename )
+/* Open the given file, find the thin part if necessary, do some
+   checks, and return a DiSlice containing details of both the thin
+   part and (implicitly, via the contained DiImage*) the fat part.
+   returns DiSlice_INVALID if it fails.  If it succeeds, the returned
+   slice is guaranteed to refer to a valid(ish) Mach-O image. */
+static DiSlice map_image_aboard ( DebugInfo* di, /* only for err msgs */
+                                  const HChar* filename )
 {
-   VG_(memset)(ii, 0, sizeof(*ii));
+   DiSlice sli = DiSlice_INVALID;
 
    /* First off, try to map the thing in. */
-   { SizeT  size;
-     SysRes fd, sres;
-     struct vg_stat stat_buf;
-
-     fd = VG_(stat)(filename, &stat_buf);
-     if (sr_isError(fd)) {
-        ML_(symerr)(di, True, "Can't stat image (to determine its size)?!");
-        return False;
-     }
-     size = stat_buf.size;
-
-     fd = VG_(open)(filename, VKI_O_RDONLY, 0);
-     if (sr_isError(fd)) {
-       ML_(symerr)(di, True, "Can't open image to read symbols?!");
-        return False;
-     }
-
-     sres = VG_(am_mmap_file_float_valgrind)
-               ( size, VKI_PROT_READ, sr_Res(fd), 0 );
-     if (sr_isError(sres)) {
-        ML_(symerr)(di, True, "Can't mmap image to read symbols?!");
-        return False;
-     }
-
-     VG_(close)(sr_Res(fd));
-
-     ii->img     = (UChar*)sr_Res(sres);
-     ii->img_szB = size;
+   DiImage* mimg = ML_(img_from_local_file)(filename);
+   if (mimg == NULL) {
+      VG_(message)(Vg_UserMsg, "warning: connection to image %s failed\n",
+                               filename );
+      VG_(message)(Vg_UserMsg, "         no symbols or debug info loaded\n" );
+      return DiSlice_INVALID;
    }
 
-   /* Now it's mapped in and we have .img and .img_szB set.  Look for
-      the embedded Mach-O object.  If not findable, unmap and fail. */
-   { struct fat_header*  fh_be;
-     struct fat_header   fh;
-     struct MACH_HEADER* mh;
+   /* Now we have a viable DiImage* for it.  Look for the embedded
+      Mach-O object.  If not findable, close the image and fail. */
+   DiOffT            fh_be_ioff = 0;
+   struct fat_header fh_be;
+   struct fat_header fh;
      
-     // Assume initially that we have a thin image, and update
-     // these if it turns out to be fat.
-     ii->macho_img     = ii->img;
-     ii->macho_img_szB = ii->img_szB;
+   // Assume initially that we have a thin image, and narrow
+   // the bounds if it turns out to be fat.  This stores |mimg| as
+   // |sli.img|, so NULL out |mimg| after this point, for the sake of
+   // clarity.
+   sli  = ML_(sli_from_img)(mimg);
+   mimg = NULL;
 
-     // Check for fat header.
-     if (ii->img_szB < sizeof(struct fat_header)) {
-        ML_(symerr)(di, True, "Invalid Mach-O file (0 too small).");
-        goto unmap_and_fail;
-     }
-
-     // Fat header is always BIG-ENDIAN
-     fh_be = (struct fat_header *)ii->img;
-     fh.magic = VG_(ntohl)(fh_be->magic);
-     fh.nfat_arch = VG_(ntohl)(fh_be->nfat_arch);
-     if (fh.magic == FAT_MAGIC) {
-        // Look for a good architecture.
-        struct fat_arch *arch_be;
-        struct fat_arch arch;
-        Int f;
-        if (ii->img_szB < sizeof(struct fat_header)
-                          + fh.nfat_arch * sizeof(struct fat_arch)) {
-           ML_(symerr)(di, True, "Invalid Mach-O file (1 too small).");
-           goto unmap_and_fail;
-        }
-        for (f = 0, arch_be = (struct fat_arch *)(fh_be+1); 
-             f < fh.nfat_arch;
-             f++, arch_be++) {
-           Int cputype;
-#          if defined(VGA_ppc)
-           cputype = CPU_TYPE_POWERPC;
-#          elif defined(VGA_ppc64)
-           cputype = CPU_TYPE_POWERPC64;
-#          elif defined(VGA_x86)
-           cputype = CPU_TYPE_X86;
-#          elif defined(VGA_amd64)
-           cputype = CPU_TYPE_X86_64;
-#          else
-#            error "unknown architecture"
-#          endif
-           arch.cputype    = VG_(ntohl)(arch_be->cputype);
-           arch.cpusubtype = VG_(ntohl)(arch_be->cpusubtype);
-           arch.offset     = VG_(ntohl)(arch_be->offset);
-           arch.size       = VG_(ntohl)(arch_be->size);
-           if (arch.cputype == cputype) {
-              if (ii->img_szB < arch.offset + arch.size) {
-                 ML_(symerr)(di, True, "Invalid Mach-O file (2 too small).");
-                 goto unmap_and_fail;
-              }
-              ii->macho_img     = ii->img + arch.offset;
-              ii->macho_img_szB = arch.size;
-              break;
-           }
-        }
-        if (f == fh.nfat_arch) {
-           ML_(symerr)(di, True,
-                       "No acceptable architecture found in fat file.");
-           goto unmap_and_fail;
-        }
-     }
-
-     /* Sanity check what we found. */
-
-     /* assured by logic above */
-     vg_assert(ii->img_szB >= sizeof(struct fat_header));
-
-     if (ii->macho_img_szB < sizeof(struct MACH_HEADER)) {
-        ML_(symerr)(di, True, "Invalid Mach-O file (3 too small).");
-        goto unmap_and_fail;
-     }
-
-     if (ii->macho_img_szB > ii->img_szB) {
-        ML_(symerr)(di, True, "Invalid Mach-O file (thin bigger than fat).");
-        goto unmap_and_fail;
-     }
-
-     if (ii->macho_img >= ii->img
-         && ii->macho_img + ii->macho_img_szB <= ii->img + ii->img_szB) {
-        /* thin entirely within fat, as expected */
-     } else {
-        ML_(symerr)(di, True, "Invalid Mach-O file (thin not inside fat).");
-        goto unmap_and_fail;
-     }
-
-     mh = (struct MACH_HEADER *)ii->macho_img;
-     if (mh->magic != MAGIC) {
-        ML_(symerr)(di, True, "Invalid Mach-O file (bad magic).");
-        goto unmap_and_fail;
-     }
-
-     if (ii->macho_img_szB < sizeof(struct MACH_HEADER) + mh->sizeofcmds) {
-        ML_(symerr)(di, True, "Invalid Mach-O file (4 too small).");
-        goto unmap_and_fail;
-     }
+   // Check for fat header.
+   if (ML_(img_size)(sli.img) < sizeof(struct fat_header)) {
+      ML_(symerr)(di, True, "Invalid Mach-O file (0 too small).");
+      goto close_and_fail;
    }
 
-   vg_assert(ii->img);
-   vg_assert(ii->macho_img);
-   vg_assert(ii->img_szB > 0);
-   vg_assert(ii->macho_img_szB > 0);
-   vg_assert(ii->macho_img >= ii->img);
-   vg_assert(ii->macho_img + ii->macho_img_szB <= ii->img + ii->img_szB);
-   return True;  /* success */
+   // Fat header is always BIG-ENDIAN
+   ML_(img_get)(&fh_be, sli.img, fh_be_ioff, sizeof(fh_be));
+   VG_(memset)(&fh, 0, sizeof(fh));
+   fh.magic     = VG_(ntohl)(fh_be.magic);
+   fh.nfat_arch = VG_(ntohl)(fh_be.nfat_arch);
+   if (fh.magic == FAT_MAGIC) {
+      // Look for a good architecture.
+      if (ML_(img_size)(sli.img) < sizeof(struct fat_header)
+                                   + fh.nfat_arch * sizeof(struct fat_arch)) {
+         ML_(symerr)(di, True, "Invalid Mach-O file (1 too small).");
+         goto close_and_fail;
+      }
+      DiOffT arch_be_ioff;
+      Int    f;
+      for (f = 0, arch_be_ioff = sizeof(struct fat_header);
+           f < fh.nfat_arch;
+           f++, arch_be_ioff += sizeof(struct fat_arch)) {
+#        if defined(VGA_ppc)
+         Int cputype = CPU_TYPE_POWERPC;
+#        elif defined(VGA_ppc64)
+         Int cputype = CPU_TYPE_POWERPC64;
+#        elif defined(VGA_x86)
+         Int cputype = CPU_TYPE_X86;
+#        elif defined(VGA_amd64)
+         Int cputype = CPU_TYPE_X86_64;
+#        else
+#          error "unknown architecture"
+#        endif
+         struct fat_arch arch_be;
+         struct fat_arch arch;
+         ML_(img_get)(&arch_be, sli.img, arch_be_ioff, sizeof(arch_be));
+         VG_(memset)(&arch, 0, sizeof(arch));
+         arch.cputype    = VG_(ntohl)(arch_be.cputype);
+         arch.cpusubtype = VG_(ntohl)(arch_be.cpusubtype);
+         arch.offset     = VG_(ntohl)(arch_be.offset);
+         arch.size       = VG_(ntohl)(arch_be.size);
+         if (arch.cputype == cputype) {
+            if (ML_(img_size)(sli.img) < arch.offset + arch.size) {
+               ML_(symerr)(di, True, "Invalid Mach-O file (2 too small).");
+               goto close_and_fail;
+            }
+            /* Found a suitable arch.  Narrow down the slice accordingly. */
+            sli.ioff = arch.offset;
+            sli.szB  = arch.size;
+            break;
+         }
+      }
+      if (f == fh.nfat_arch) {
+         ML_(symerr)(di, True,
+                     "No acceptable architecture found in fat file.");
+         goto close_and_fail;
+      }
+   }
+
+   /* Sanity check what we found. */
+
+   /* assured by logic above */
+   vg_assert(ML_(img_size)(sli.img) >= sizeof(struct fat_header));
+
+   if (sli.szB < sizeof(struct MACH_HEADER)) {
+      ML_(symerr)(di, True, "Invalid Mach-O file (3 too small).");
+      goto close_and_fail;
+   }
+
+   if (sli.szB > ML_(img_size)(sli.img)) {
+      ML_(symerr)(di, True, "Invalid Mach-O file (thin bigger than fat).");
+      goto close_and_fail;
+   }
+
+   if (sli.ioff >= 0 && sli.ioff + sli.szB <= ML_(img_size)(sli.img)) {
+      /* thin entirely within fat, as expected */
+   } else {
+      ML_(symerr)(di, True, "Invalid Mach-O file (thin not inside fat).");
+      goto close_and_fail;
+   }
+
+   /* Peer at the Mach header for the thin object, starting at the
+      beginning of the slice, to check it's at least marginally
+      sane. */
+   struct MACH_HEADER mh;
+   ML_(cur_read_get)(&mh, ML_(cur_from_sli)(sli), sizeof(mh));
+   if (mh.magic != MAGIC) {
+      ML_(symerr)(di, True, "Invalid Mach-O file (bad magic).");
+      goto close_and_fail;
+   }
+
+   if (sli.szB < sizeof(struct MACH_HEADER) + mh.sizeofcmds) {
+      ML_(symerr)(di, True, "Invalid Mach-O file (4 too small).");
+      goto close_and_fail;
+   }
+
+   /* "main image is plausible" */
+   vg_assert(sli.img);
+   vg_assert(ML_(img_size)(sli.img) > 0);
+   /* "thin image exists and is a sub-part (or all) of main image" */
+   vg_assert(sli.ioff >= 0);
+   vg_assert(sli.szB > 0);
+   vg_assert(sli.ioff + sli.szB <= ML_(img_size)(sli.img));
+   return sli;  /* success */
    /*NOTREACHED*/
 
-  unmap_and_fail:
-   unmap_image(ii);
-   return False; /* bah! */
+  close_and_fail:
+   unmap_image(&sli);
+   return DiSlice_INVALID; /* bah! */
 }
 
 
@@ -320,30 +297,38 @@
 static
 void read_symtab( /*OUT*/XArray* /* DiSym */ syms,
                   struct _DebugInfo* di, 
-                  struct NLIST* o_symtab, UInt o_symtab_count,
-                  UChar*     o_strtab, UInt o_strtab_sz )
+                  DiCursor symtab_cur, UInt symtab_count,
+                  DiCursor strtab_cur, UInt strtab_sz )
 {
    Int    i;
-   Addr   sym_addr;
    DiSym  disym;
-   UChar* name;
 
-   static UChar* s_a_t_v = NULL; /* do not make non-static */
+   // "start_according_to_valgrind"
+   static HChar* s_a_t_v = NULL; /* do not make non-static */
 
-   for (i = 0; i < o_symtab_count; i++) {
-      struct NLIST *nl = o_symtab+i;
-      if ((nl->n_type & N_TYPE) == N_SECT) {
-         sym_addr = di->text_bias + nl->n_value;
-    /*} else if ((nl->n_type & N_TYPE) == N_ABS) {
+   for (i = 0; i < symtab_count; i++) {
+      struct NLIST nl;
+      ML_(cur_read_get)(&nl,
+                        ML_(cur_plus)(symtab_cur, i * sizeof(struct NLIST)),
+                        sizeof(nl));
+
+      Addr sym_addr = 0;
+      if ((nl.n_type & N_TYPE) == N_SECT) {
+         sym_addr = di->text_bias + nl.n_value;
+      /*} else if ((nl.n_type & N_TYPE) == N_ABS) {
          GrP fixme don't ignore absolute symbols?
-         sym_addr = nl->n_value; */
+         sym_addr = nl.n_value; */
       } else {
          continue;
       }
       
-      if (di->trace_symtab)
-         VG_(printf)("nlist raw: avma %010lx  %s\n",
-                     sym_addr, o_strtab + nl->n_un.n_strx );
+      if (di->trace_symtab) {
+         HChar* str = ML_(cur_read_strdup)(
+                         ML_(cur_plus)(strtab_cur, nl.n_un.n_strx),
+                         "di.read_symtab.1");
+         VG_(printf)("nlist raw: avma %010lx  %s\n", sym_addr, str );
+         ML_(dinfo_free)(str);
+      }
 
       /* If no part of the symbol falls within the mapped range,
          ignore it. */
@@ -354,14 +339,20 @@
 
       /* skip names which point outside the string table;
          following these risks segfaulting Valgrind */
-      name = o_strtab + nl->n_un.n_strx;
-      if (name < o_strtab || name >= o_strtab + o_strtab_sz)
+      if (nl.n_un.n_strx < 0 || nl.n_un.n_strx >= strtab_sz) {
          continue;
+      }
+
+      HChar* name
+         = ML_(cur_read_strdup)( ML_(cur_plus)(strtab_cur, nl.n_un.n_strx),
+                                 "di.read_symtab.2");
 
       /* skip nameless symbols; these appear to be common, but
          useless */
-      if (*name == 0)
+      if (*name == 0) {
+         ML_(dinfo_free)(name);
          continue;
+      }
 
       disym.addr      = sym_addr;
       disym.tocptr    = 0;
@@ -389,16 +380,17 @@
 
       vg_assert(disym.pri_name);
       VG_(addToXA)( syms, &disym );
+      ML_(dinfo_free)(name);
    }
 }
 
 
 /* Compare DiSyms by their start address, and for equal addresses, use
    the primary name as a secondary sort key. */
-static Int cmp_DiSym_by_start_then_name ( void* v1, void* v2 )
+static Int cmp_DiSym_by_start_then_name ( const void* v1, const void* v2 )
 {
-   DiSym* s1 = (DiSym*)v1;
-   DiSym* s2 = (DiSym*)v2;
+   const DiSym* s1 = (DiSym*)v1;
+   const DiSym* s2 = (DiSym*)v2;
    if (s1->addr < s2->addr) return -1;
    if (s1->addr > s2->addr) return 1;
    return VG_(strcmp)(s1->pri_name, s2->pri_name);
@@ -496,7 +488,7 @@
 #endif
 
 
-static Bool file_exists_p(const Char *path)
+static Bool file_exists_p(const HChar *path)
 {
    struct vg_stat sbuf;
    SysRes res = VG_(stat)(path, &sbuf);
@@ -506,13 +498,13 @@
 
 /* Search for an existing dSYM file as a possible separate debug file.  
    Adapted from gdb. */
-static Char *
-find_separate_debug_file (const Char *executable_name)
+static HChar *
+find_separate_debug_file (const HChar *executable_name)
 {
-   Char *basename_str;
-   Char *dot_ptr;
-   Char *slash_ptr;
-   Char *dsymfile;
+   const HChar *basename_str;
+   HChar *dot_ptr;
+   HChar *slash_ptr;
+   HChar *dsymfile;
     
    /* Make sure the object file name itself doesn't contain ".dSYM" in it or we
       will end up with an infinite loop where after we add a dSYM symbol file,
@@ -593,53 +585,85 @@
 }
 
 
-static UChar *getsectdata(UChar* base, SizeT size, 
-                          Char *segname, Char *sectname,
-                          /*OUT*/Word *sect_size)
+/* Given a DiSlice covering the entire Mach-O thin image, find the
+   DiSlice for the specified (segname, sectname) pairing, if
+   possible. */
+static DiSlice getsectdata ( DiSlice img,
+                             const HChar *segname, const HChar *sectname )
 {
-   struct MACH_HEADER *mh = (struct MACH_HEADER *)base;
-   struct load_command *cmd;          
-   Int c;
+   DiCursor cur = ML_(cur_from_sli)(img);
 
-   for (c = 0, cmd = (struct load_command *)(mh+1);
-        c < mh->ncmds;
-        c++, cmd = (struct load_command *)(cmd->cmdsize + (Addr)cmd))
-   {
-      if (cmd->cmd == LC_SEGMENT_CMD) {
-         struct SEGMENT_COMMAND *seg = (struct SEGMENT_COMMAND *)cmd;
-         if (0 == VG_(strncmp(seg->segname, segname, sizeof(seg->segname)))) {
-            struct SECTION *sects = (struct SECTION *)(seg+1);
+   struct MACH_HEADER mh;
+   ML_(cur_step_get)(&mh, &cur, sizeof(mh));
+
+   Int c;
+   for (c = 0; c < mh.ncmds; c++) {
+      struct load_command cmd;          
+      ML_(cur_read_get)(&cmd, cur, sizeof(cmd));
+      if (cmd.cmd == LC_SEGMENT_CMD) {
+         struct SEGMENT_COMMAND seg;
+         ML_(cur_read_get)(&seg, cur, sizeof(seg));
+         if (0 == VG_(strncmp(&seg.segname[0],
+                              segname, sizeof(seg.segname)))) {
+            DiCursor sects_cur = ML_(cur_plus)(cur, sizeof(seg));
             Int s;
-            for (s = 0; s < seg->nsects; s++) {
-               if (0 == VG_(strncmp(sects[s].sectname, sectname, 
-                                    sizeof(sects[s].sectname)))) 
-               {
-                  if (sect_size) *sect_size = sects[s].size;
-                  return (UChar *)(base + sects[s].offset);
+            for (s = 0; s < seg.nsects; s++) {
+               struct SECTION sect;
+               ML_(cur_step_get)(&sect, &sects_cur, sizeof(sect));
+               if (0 == VG_(strncmp(sect.sectname, sectname, 
+                                    sizeof(sect.sectname)))) {
+                  DiSlice res = img;
+                  res.ioff = sect.offset;
+                  res.szB = sect.size;
+                  return res;
                }
             }
+
          }
       }
+      cur = ML_(cur_plus)(cur, cmd.cmdsize);
    }
 
-   if (sect_size) *sect_size = 0;
-   return 0;
+   return DiSlice_INVALID;
 }
 
 
-/* Brute force just simply search for uuid[0..15] in img[0..n_img-1] */
-static Bool check_uuid_matches ( Addr imgA, Word n_img, UChar* uuid )
+/* Brute force just simply search for uuid[0..15] in |sli| */
+static Bool check_uuid_matches ( DiSlice sli, UChar* uuid )
 {
-   Word   i;
-   UChar* img = (UChar*)imgA;
-   UChar  first = uuid[0];
-   if (n_img < 16)
+   if (sli.szB < 16)
       return False;
-   for (i = 0; i < n_img-16; i++) {
-      if (img[i] != first)
-         continue;
-      if (0 == VG_(memcmp)( &img[i], &uuid[0], 16 ))
-         return True;
+
+   /* Work through the slice in 1 KB chunks. */
+   UChar  first    = uuid[0];
+   DiOffT min_off  = sli.ioff;
+   DiOffT max1_off = sli.ioff + sli.szB;
+   DiOffT curr_off = min_off;
+   vg_assert(min_off < max1_off);
+   while (1) {
+      vg_assert(curr_off >= min_off && curr_off <= max1_off);
+      if (curr_off == max1_off) break;
+      DiOffT avail = max1_off - curr_off;
+      vg_assert(avail > 0 && avail <= max1_off);
+      if (avail > 1024) avail = 1024;
+      UChar buf[1024];
+      SizeT nGot = ML_(img_get_some)(buf, sli.img, curr_off, avail);
+      vg_assert(nGot >= 1 && nGot <= avail);
+      UInt i;
+      /* Scan through the 1K chunk we got, looking for the start char. */
+      for (i = 0; i < (UInt)nGot; i++) {
+         if (buf[i] != first)
+            continue;
+         /* first char matches.  See if we can get 16 bytes at this
+            offset, and compare. */
+         if (curr_off + i < max1_off && max1_off - (curr_off + i) >= 16) {
+            UChar buff16[16];
+            ML_(img_get)(&buff16[0], sli.img, curr_off + i, 16);
+            if (0 == VG_(memcmp)(&buff16[0], &uuid[0], 16))
+               return True;
+         }
+         curr_off += nGot;
+      }
    }
    return False;
 }
@@ -648,7 +672,7 @@
 /* Heuristic kludge: return True if this looks like an installed
    standard library; hence we shouldn't consider automagically running
    dsymutil on it. */
-static Bool is_systemish_library_name ( UChar* name )
+static Bool is_systemish_library_name ( HChar* name )
 {
    vg_assert(name);
    if (0 == VG_(strncasecmp)(name, "/usr/", 5)
@@ -668,35 +692,51 @@
 
 Bool ML_(read_macho_debug_info)( struct _DebugInfo* di )
 {
-   struct symtab_command *symcmd = NULL;
-   struct dysymtab_command *dysymcmd = NULL;
-   HChar* dsymfilename = NULL;
-   Bool have_uuid = False;
-   UChar uuid[16];
-   ImageInfo ii;  /* main file */
-   ImageInfo iid; /* auxiliary .dSYM file */
-   Bool ok;
+   DiSlice  msli         = DiSlice_INVALID; // the main image
+   DiSlice  dsli         = DiSlice_INVALID; // the debuginfo image
+   DiCursor sym_cur      = DiCursor_INVALID;
+   DiCursor dysym_cur    = DiCursor_INVALID;
+   HChar*   dsymfilename = NULL;
+   Bool     have_uuid    = False;
+   UChar    uuid[16];
+   Word     i;
+   struct _DebugInfoMapping* rx_map = NULL;
+   struct _DebugInfoMapping* rw_map = NULL;
 
    /* mmap the object file to look for di->soname and di->text_bias 
       and uuid and nlist and STABS */
 
-   if (VG_(clo_verbosity) > 1)
-      VG_(message)(Vg_DebugMsg,
-                   "%s (%#lx)\n", di->fsm.filename, di->fsm.rx_map_avma );
-
    /* This should be ensured by our caller (that we're in the accept
       state). */
    vg_assert(di->fsm.have_rx_map);
    vg_assert(di->fsm.have_rw_map);
 
-   VG_(memset)(&ii,   0, sizeof(ii));
-   VG_(memset)(&iid,  0, sizeof(iid));
+   for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+      struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, i);
+      if (map->rx && !rx_map)
+         rx_map = map;
+      if (map->rw && !rw_map)
+         rw_map = map;
+      if (rx_map && rw_map)
+         break;
+   }
+   vg_assert(rx_map);
+   vg_assert(rw_map);
+
+   if (VG_(clo_verbosity) > 1)
+      VG_(message)(Vg_DebugMsg,
+                   "%s (rx at %#lx, rw at %#lx)\n", di->fsm.filename,
+                   rx_map->avma, rw_map->avma );
+
    VG_(memset)(&uuid, 0, sizeof(uuid));
 
-   ok = map_image_aboard( di, &ii, di->fsm.filename );
-   if (!ok) goto fail;
+   msli = map_image_aboard( di, di->fsm.filename );
+   if (!ML_(sli_is_valid)(msli)) {
+      ML_(symerr)(di, False, "Connect to main image failed.");
+      goto fail;
+   }
 
-   vg_assert(ii.macho_img != NULL && ii.macho_img_szB > 0);
+   vg_assert(msli.img != NULL && msli.szB > 0);
 
    /* Poke around in the Mach-O header, to find some important
       stuff. */
@@ -709,38 +749,55 @@
 
    di->text_bias = 0;
 
-   { struct MACH_HEADER *mh = (struct MACH_HEADER *)ii.macho_img;
-      struct load_command *cmd;
-      Int c;
+   { 
+      DiCursor cmd_cur = ML_(cur_from_sli)(msli);
 
-      for (c = 0, cmd = (struct load_command *)(mh+1);
-           c < mh->ncmds;
-           c++, cmd = (struct load_command *)(cmd->cmdsize
-                                              + (unsigned long)cmd)) {
-         if (cmd->cmd == LC_SYMTAB) {
-            symcmd = (struct symtab_command *)cmd;
+      struct MACH_HEADER mh;
+      ML_(cur_step_get)(&mh, &cmd_cur, sizeof(mh));
+
+      /* Now cur_cmd points just after the Mach header, right at the
+         start of the load commands, which is where we need it to start
+         the following loop. */
+
+      Int c;
+      for (c = 0; c < mh.ncmds; c++) {
+         struct load_command cmd;
+         ML_(cur_read_get)(&cmd, cmd_cur, sizeof(cmd));
+ 
+         if (cmd.cmd == LC_SYMTAB) {
+            sym_cur = cmd_cur;
          } 
-         else if (cmd->cmd == LC_DYSYMTAB) {
-            dysymcmd = (struct dysymtab_command *)cmd;
+         else if (cmd.cmd == LC_DYSYMTAB) {
+            dysym_cur = cmd_cur;
          } 
-         else if (cmd->cmd == LC_ID_DYLIB && mh->filetype == MH_DYLIB) {
+         else if (cmd.cmd == LC_ID_DYLIB && mh.filetype == MH_DYLIB) {
             // GrP fixme bundle?
-            struct dylib_command *dcmd = (struct dylib_command *)cmd;
-            UChar *dylibname = dcmd->dylib.name.offset + (UChar *)dcmd;
-            UChar *soname = VG_(strrchr)(dylibname, '/');
+            struct dylib_command dcmd;
+            ML_(cur_read_get)(&dcmd, cmd_cur, sizeof(dcmd));
+            DiCursor dylibname_cur
+               = ML_(cur_plus)(cmd_cur, dcmd.dylib.name.offset);
+            HChar* dylibname
+               = ML_(cur_read_strdup)(dylibname_cur, "di.rmdi.1");
+            HChar* soname = VG_(strrchr)(dylibname, '/');
             if (!soname) soname = dylibname;
             else soname++;
             di->soname = ML_(dinfo_strdup)("di.readmacho.dylibname",
                                            soname);
+            ML_(dinfo_free)(dylibname);
          }
-         else if (cmd->cmd==LC_ID_DYLINKER  &&  mh->filetype==MH_DYLINKER) {
-            struct dylinker_command *dcmd = (struct dylinker_command *)cmd;
-            UChar *dylinkername = dcmd->name.offset + (UChar *)dcmd;
-            UChar *soname = VG_(strrchr)(dylinkername, '/');
+         else if (cmd.cmd==LC_ID_DYLINKER  &&  mh.filetype==MH_DYLINKER) {
+            struct dylinker_command dcmd;
+            ML_(cur_read_get)(&dcmd, cmd_cur, sizeof(dcmd));
+            DiCursor dylinkername_cur
+               = ML_(cur_plus)(cmd_cur, dcmd.name.offset);
+            HChar* dylinkername
+               = ML_(cur_read_strdup)(dylinkername_cur, "di.rmdi.2");
+            HChar* soname = VG_(strrchr)(dylinkername, '/');
             if (!soname) soname = dylinkername;
             else soname++;
             di->soname = ML_(dinfo_strdup)("di.readmacho.dylinkername",
                                            soname);
+            ML_(dinfo_free)(dylinkername);
          }
 
          // A comment from Julian about why varinfo[35] fail:
@@ -770,17 +827,18 @@
          // {text,data,bss}_{avma,svma}, from which the _bias numbers are
          // then trivially derived.  Then I think the debuginfo reader should
          // work pretty well.
-         else if (cmd->cmd == LC_SEGMENT_CMD) {
-            struct SEGMENT_COMMAND *seg = (struct SEGMENT_COMMAND *)cmd;
+         else if (cmd.cmd == LC_SEGMENT_CMD) {
+            struct SEGMENT_COMMAND seg;
+            ML_(cur_read_get)(&seg, cmd_cur, sizeof(seg));
             /* Try for __TEXT */
             if (!di->text_present
-                && 0 == VG_(strcmp)(seg->segname, "__TEXT")
+                && 0 == VG_(strcmp)(&seg.segname[0], "__TEXT")
                 /* DDD: is the  next line a kludge? -- JRS */
-                && seg->fileoff == 0 && seg->filesize != 0) {
+                && seg.fileoff == 0 && seg.filesize != 0) {
                di->text_present = True;
-               di->text_svma = (Addr)seg->vmaddr;
-               di->text_avma = di->fsm.rx_map_avma;
-               di->text_size = seg->vmsize;
+               di->text_svma = (Addr)seg.vmaddr;
+               di->text_avma = rx_map->avma;
+               di->text_size = seg.vmsize;
                di->text_bias = di->text_avma - di->text_svma;
                /* Make the _debug_ values be the same as the
                   svma/bias for the primary object, since there is
@@ -792,22 +850,23 @@
             }
             /* Try for __DATA */
             if (!di->data_present
-                && 0 == VG_(strcmp)(seg->segname, "__DATA")
-                /* && DDD:seg->fileoff == 0 */ && seg->filesize != 0) {
+                && 0 == VG_(strcmp)(&seg.segname[0], "__DATA")
+                /* && DDD:seg->fileoff == 0 */ && seg.filesize != 0) {
                di->data_present = True;
-               di->data_svma = (Addr)seg->vmaddr;
-               di->data_avma = di->fsm.rw_map_avma;
-               di->data_size = seg->vmsize;
+               di->data_svma = (Addr)seg.vmaddr;
+               di->data_avma = rw_map->avma;
+               di->data_size = seg.vmsize;
                di->data_bias = di->data_avma - di->data_svma;
                di->data_debug_svma = di->data_svma;
                di->data_debug_bias = di->data_bias;
             }
          }
-         else if (cmd->cmd == LC_UUID) {
-             struct uuid_command *uuid_cmd = (struct uuid_command *)cmd;
-             VG_(memcpy)(uuid, uuid_cmd->uuid, sizeof(uuid));
+         else if (cmd.cmd == LC_UUID) {
+             ML_(cur_read_get)(&uuid, cmd_cur, sizeof(uuid));
              have_uuid = True;
          }
+         // Move the cursor along
+         cmd_cur = ML_(cur_plus)(cmd_cur, cmd.cmdsize);
       }
    }
 
@@ -823,33 +882,42 @@
 
    /* Now we have the base object to hand.  Read symbols from it. */
 
-   if (ii.macho_img && ii.macho_img_szB > 0 && symcmd && dysymcmd) {
+   // We already asserted that ..
+   vg_assert(msli.img != NULL && msli.szB > 0);
+
+   if (ML_(cur_is_valid)(sym_cur) && ML_(cur_is_valid)(dysym_cur)) {
+
+      struct symtab_command   symcmd;
+      struct dysymtab_command dysymcmd;
+
+      ML_(cur_read_get)(&symcmd,   sym_cur,   sizeof(symcmd));
+      ML_(cur_read_get)(&dysymcmd, dysym_cur, sizeof(dysymcmd));
 
       /* Read nlist symbol table */
-      struct NLIST *syms;
-      UChar *strs;
+      DiCursor syms = DiCursor_INVALID;
+      DiCursor strs = DiCursor_INVALID;
       XArray* /* DiSym */ candSyms = NULL;
-      Word i, nCandSyms;
+      Word nCandSyms;
 
-      if (ii.macho_img_szB < symcmd->stroff + symcmd->strsize
-          || ii.macho_img_szB < symcmd->symoff + symcmd->nsyms
-                                                 * sizeof(struct NLIST)) {
+      if (msli.szB < symcmd.stroff + symcmd.strsize
+          || msli.szB < symcmd.symoff + symcmd.nsyms
+                                        * sizeof(struct NLIST)) {
          ML_(symerr)(di, False, "Invalid Mach-O file (5 too small).");
          goto fail;
       }   
-      if (dysymcmd->ilocalsym + dysymcmd->nlocalsym > symcmd->nsyms
-          || dysymcmd->iextdefsym + dysymcmd->nextdefsym > symcmd->nsyms) {
+      if (dysymcmd.ilocalsym + dysymcmd.nlocalsym > symcmd.nsyms
+          || dysymcmd.iextdefsym + dysymcmd.nextdefsym > symcmd.nsyms) {
          ML_(symerr)(di, False, "Invalid Mach-O file (bad symbol table).");
          goto fail;
       }
-      
-      syms = (struct NLIST *)(ii.macho_img + symcmd->symoff);
-      strs = (UChar *)(ii.macho_img + symcmd->stroff);
+
+      syms = ML_(cur_plus)(ML_(cur_from_sli)(msli), symcmd.symoff);
+      strs = ML_(cur_plus)(ML_(cur_from_sli)(msli), symcmd.stroff);
       
       if (VG_(clo_verbosity) > 1)
          VG_(message)(Vg_DebugMsg,
             "   reading syms   from primary file (%d %d)\n",
-            dysymcmd->nextdefsym, dysymcmd->nlocalsym );
+            dysymcmd.nextdefsym, dysymcmd.nlocalsym );
 
       /* Read candidate symbols into 'candSyms', so we can truncate
          overlapping ends and generally tidy up, before presenting
@@ -862,14 +930,16 @@
 
       // extern symbols
       read_symtab(candSyms,
-                  di, 
-                  syms + dysymcmd->iextdefsym, dysymcmd->nextdefsym, 
-                  strs, symcmd->strsize);
+                  di,
+                  ML_(cur_plus)(syms,
+                                dysymcmd.iextdefsym * sizeof(struct NLIST)),
+                  dysymcmd.nextdefsym, strs, symcmd.strsize);
       // static and private_extern symbols
       read_symtab(candSyms,
-                  di, 
-                  syms + dysymcmd->ilocalsym, dysymcmd->nlocalsym, 
-                  strs, symcmd->strsize);
+                  di,
+                  ML_(cur_plus)(syms,
+                                dysymcmd.ilocalsym * sizeof(struct NLIST)),
+                  dysymcmd.nlocalsym, strs, symcmd.strsize);
 
       /* tidy up the cand syms -- trim overlapping ends.  May resize
          candSyms. */
@@ -902,7 +972,7 @@
       goto success;
 
    /* mmap the dSYM file to look for DWARF debug info.  If successful,
-      use the .macho_img and .macho_img_szB in iid. */
+      use the .macho_img and .macho_img_szB in dsli. */
 
    dsymfilename = find_separate_debug_file( di->fsm.filename );
 
@@ -913,14 +983,16 @@
       if (VG_(clo_verbosity) > 1)
          VG_(message)(Vg_DebugMsg, "   dSYM= %s\n", dsymfilename);
 
-      ok = map_image_aboard( di, &iid, dsymfilename );
-      if (!ok) goto fail;
+      dsli = map_image_aboard( di, dsymfilename );
+      if (!ML_(sli_is_valid)(dsli)) {
+         ML_(symerr)(di, False, "Connect to debuginfo image failed "
+                                "(first attempt).");
+         goto fail;
+      }
 
       /* check it has the right uuid. */
       vg_assert(have_uuid);
-      valid = iid.macho_img && iid.macho_img_szB > 0 
-              && check_uuid_matches( (Addr)iid.macho_img,
-                                     iid.macho_img_szB, uuid );
+      valid = dsli.img && dsli.szB > 0 && check_uuid_matches( dsli, uuid );
       if (valid)
          goto read_the_dwarf;
 
@@ -956,7 +1028,7 @@
    /* Run dsymutil */
 
    { Int r;
-     HChar* dsymutil = "/usr/bin/dsymutil ";
+     const HChar* dsymutil = "/usr/bin/dsymutil ";
      HChar* cmd = ML_(dinfo_zalloc)( "di.readmacho.tmp1", 
                                      VG_(strlen)(dsymutil)
                                      + VG_(strlen)(di->fsm.filename)
@@ -981,14 +1053,17 @@
       if (VG_(clo_verbosity) > 1)
          VG_(message)(Vg_DebugMsg, "   dsyms= %s\n", dsymfilename);
 
-      ok = map_image_aboard( di, &iid, dsymfilename );
-      if (!ok) goto fail;
+      dsli = map_image_aboard( di, dsymfilename );
+      if (!ML_(sli_is_valid)(dsli)) {
+         ML_(symerr)(di, False, "Connect to debuginfo image failed "
+                                "(second attempt).");
+         goto fail;
+      }
 
       /* check it has the right uuid. */
       vg_assert(have_uuid);
-      valid = iid.macho_img && iid.macho_img_szB > 0 
-              && check_uuid_matches( (Addr)iid.macho_img,
-                                     iid.macho_img_szB, uuid );
+      vg_assert(have_uuid);
+      valid = dsli.img && dsli.szB > 0 && check_uuid_matches( dsli, uuid );
       if (!valid) {
          if (VG_(clo_verbosity) > 0) {
             VG_(message)(Vg_DebugMsg,
@@ -1003,9 +1078,9 @@
             VG_(message)(Vg_DebugMsg,
                          "WARNING: for %s\n", di->fsm.filename);
          }
-         unmap_image( &iid );
-         /* unmap_image zeroes the fields, so the following test makes
-            sense. */
+         unmap_image( &dsli );
+         /* unmap_image zeroes out dsli, so it's safe for "fail:" to
+            re-try unmap_image. */
          goto fail;
       }
    }
@@ -1014,63 +1089,43 @@
       on to reading stuff out of it. */
 
   read_the_dwarf:
-   if (iid.macho_img && iid.macho_img_szB > 0) {
-      UChar* debug_info_img = NULL;
-      Word   debug_info_sz;
-      UChar* debug_abbv_img;
-      Word   debug_abbv_sz;
-      UChar* debug_line_img;
-      Word   debug_line_sz;
-      UChar* debug_str_img;
-      Word   debug_str_sz;
-      UChar* debug_ranges_img;
-      Word   debug_ranges_sz;
-      UChar* debug_loc_img;
-      Word   debug_loc_sz;
-      UChar* debug_name_img;
-      Word   debug_name_sz;
-
-      debug_info_img = 
-          getsectdata(iid.macho_img, iid.macho_img_szB, 
-                      "__DWARF", "__debug_info", &debug_info_sz);
-      debug_abbv_img = 
-          getsectdata(iid.macho_img, iid.macho_img_szB, 
-                      "__DWARF", "__debug_abbrev", &debug_abbv_sz);
-      debug_line_img = 
-          getsectdata(iid.macho_img, iid.macho_img_szB, 
-                      "__DWARF", "__debug_line", &debug_line_sz);
-      debug_str_img = 
-          getsectdata(iid.macho_img, iid.macho_img_szB, 
-                      "__DWARF", "__debug_str", &debug_str_sz);
-      debug_ranges_img = 
-          getsectdata(iid.macho_img, iid.macho_img_szB, 
-                      "__DWARF", "__debug_ranges", &debug_ranges_sz);
-      debug_loc_img = 
-          getsectdata(iid.macho_img, iid.macho_img_szB, 
-                      "__DWARF", "__debug_loc", &debug_loc_sz);
-      debug_name_img = 
-          getsectdata(iid.macho_img, iid.macho_img_szB, 
-                      "__DWARF", "__debug_pubnames", &debug_name_sz);
+   if (ML_(sli_is_valid)(msli) && msli.szB > 0) {
+      // "_mscn" is "mach-o section"
+      DiSlice debug_info_mscn
+         = getsectdata(dsli, "__DWARF", "__debug_info");
+      DiSlice debug_abbv_mscn
+         = getsectdata(dsli, "__DWARF", "__debug_abbrev");
+      DiSlice debug_line_mscn
+         = getsectdata(dsli, "__DWARF", "__debug_line");
+      DiSlice debug_str_mscn
+         = getsectdata(dsli, "__DWARF", "__debug_str");
+      DiSlice debug_ranges_mscn
+         = getsectdata(dsli, "__DWARF", "__debug_ranges");
+      DiSlice debug_loc_mscn
+         = getsectdata(dsli, "__DWARF", "__debug_loc");
    
-      if (debug_info_img) {
+      if (ML_(sli_is_valid)(debug_info_mscn)) {
          if (VG_(clo_verbosity) > 1) {
             if (0)
             VG_(message)(Vg_DebugMsg,
                          "Reading dwarf3 for %s (%#lx) from %s"
-                         " (%ld %ld %ld %ld %ld %ld)\n",
+                         " (%lld %lld %lld %lld %lld %lld)\n",
                          di->fsm.filename, di->text_avma, dsymfilename,
-                         debug_info_sz, debug_abbv_sz, debug_line_sz, 
-                         debug_str_sz, debug_ranges_sz, debug_loc_sz
+                         debug_info_mscn.szB, debug_abbv_mscn.szB,
+                         debug_line_mscn.szB, debug_str_mscn.szB,
+                         debug_ranges_mscn.szB, debug_loc_mscn.szB
                          );
             VG_(message)(Vg_DebugMsg,
                "   reading dwarf3 from dsyms file\n");
          }
          /* The old reader: line numbers and unwind info only */
          ML_(read_debuginfo_dwarf3) ( di,
-                                      debug_info_img, debug_info_sz,
-                                      debug_abbv_img, debug_abbv_sz,
-                                      debug_line_img, debug_line_sz,
-                                      debug_str_img,  debug_str_sz );
+                                      debug_info_mscn,
+				      DiSlice_INVALID, /* .debug_types */
+                                      debug_abbv_mscn,
+                                      debug_line_mscn,
+                                      debug_str_mscn,
+                                      DiSlice_INVALID /* ALT .debug_str */ );
 
          /* The new reader: read the DIEs in .debug_info to acquire
             information on variable types and locations.  But only if
@@ -1079,12 +1134,17 @@
          if (VG_(needs).var_info /* the tool requires it */
              || VG_(clo_read_var_info) /* the user asked for it */) {
             ML_(new_dwarf3_reader)(
-               di, debug_info_img,   debug_info_sz,
-                   debug_abbv_img,   debug_abbv_sz,
-                   debug_line_img,   debug_line_sz,
-                   debug_str_img,    debug_str_sz,
-                   debug_ranges_img, debug_ranges_sz,
-                   debug_loc_img,    debug_loc_sz
+               di, debug_info_mscn,
+                   DiSlice_INVALID, /* .debug_types */
+                   debug_abbv_mscn,
+                   debug_line_mscn,
+                   debug_str_mscn,
+                   debug_ranges_mscn,
+                   debug_loc_mscn,
+                   DiSlice_INVALID, /* ALT .debug_info */
+                   DiSlice_INVALID, /* ALT .debug_abbv */
+                   DiSlice_INVALID, /* ALT .debug_line */
+                   DiSlice_INVALID  /* ALT .debug_str */
             );
          }
       }
@@ -1093,20 +1153,16 @@
    if (dsymfilename) ML_(dinfo_free)(dsymfilename);
 
   success:
-   if (ii.img)
-      unmap_image(&ii);
-   if (iid.img)
-      unmap_image(&iid);
+   unmap_image(&msli);
+   unmap_image(&dsli);
    return True;
 
    /* NOTREACHED */
 
   fail:
    ML_(symerr)(di, True, "Error reading Mach-O object.");
-   if (ii.img)
-      unmap_image(&ii);
-   if (iid.img)
-      unmap_image(&iid);
+   unmap_image(&msli);
+   unmap_image(&dsli);
    return False;
 }
 
diff --git a/coregrind/m_debuginfo/readpdb.c b/coregrind/m_debuginfo/readpdb.c
index e9fa7f5..1994a1c 100644
--- a/coregrind/m_debuginfo/readpdb.c
+++ b/coregrind/m_debuginfo/readpdb.c
@@ -11,7 +11,7 @@
       derived from readelf.c and valgrind-20031012-wine/vg_symtab2.c
       derived from wine-1.0/tools/winedump/pdb.c and msc.c
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
    Copyright 2006 Eric Pouech (winedump/pdb.c and msc.c)
       GNU Lesser General Public License version 2.1 or later applies.
@@ -50,6 +50,7 @@
 #include "pub_core_redir.h"
 
 #include "priv_misc.h"             /* dinfo_zalloc/free/strdup */
+#include "priv_image.h"
 #include "priv_d3basics.h"
 #include "priv_storage.h"
 #include "priv_readpdb.h"          // self
@@ -61,46 +62,23 @@
 /*---                                                      ---*/
 /*------------------------------------------------------------*/
 
-/* JRS 2009-Apr-13: Mostly this PDB reader is straightforward.  But
-   the biasing is incomprehensible, and I don't claim to understand it
-   at all.  There are four places where biasing is required:
+/* There are just two simple ways of biasing in use here.
 
-   - when reading symbol addresses (DEBUG_SnarfCodeView)
-   - when reading old-style line number tables (DEBUG_SnarfLinetab)
-   - when reading new-style line number tables (codeview_dump_linetab2)
-   - when reading FPO (stack-unwind) tables (pdb_dump)
+   The CodeView debug info entries contain virtual addresses
+   relative to segment (here it is one PE section), which in
+   turn specifies its start as a VA relative to "image base".
 
-   To complicate matters further, Wine supplies us, via the
-   VG_USERREQ__LOAD_PDB_DEBUGINFO client request that initiates PDB
-   reading, a value 'unknown_purpose__reloc' which, if you read
-   'virtual.c' in the Wine sources, looks a lot like a text bias
-   value.  Yet the code below ignores it.
+   The second type of debug info (FPOs) contain VAs relative
+   directly to the image base, without the segment indirection.
 
-   To make future experimentation with biasing easier, here are four
-   macros which give the bias to use in each of the four cases.  Be
-   warned, they can and do refer to local vars in the relevant
-   functions. */
+   The original/preferred image base is set in the PE header,
+   but it can change as long as the file contains relocation
+   data. So everything is biased using the current image base,
+   which is the base AVMA passed by Wine.
 
-/* The BIAS_FOR_{SYMBOLS,LINETAB,LINETAB2} are as in JohnR's original
-   patch.  BIAS_FOR_FPO was originally hardwired to zero, but that
-   doesn't make much sense.  Here, we use text_bias as empirically
-   producing the most ranges that fall inside the text segments for a
-   multi-dll program.  Of course, it could still be nonsense :-) */
-#define BIAS_FOR_SYMBOLS   (di->fsm.rx_map_avma)
-#define BIAS_FOR_LINETAB   (di->fsm.rx_map_avma)
-#define BIAS_FOR_LINETAB2  (di->text_bias)
-#define BIAS_FOR_FPO       (di->text_bias)
-/* Using di->text_bias for the FPOs causes 981 in range and 1 out of
-   range.  Using rx_map_avma gives 953 in range and 29 out of range,
-   so di->text_bias looks like a better bet.:
-   $ grep FPO spew-B-text_bias  | grep keep | wc
-       981    4905   57429
-   $ grep FPO spew-B-text_bias  | grep SKIP | wc
-         1       5      53
-   $ grep FPO spew-B-rx_map_avma  | grep keep | wc
-       953    4765   55945
-   $ grep FPO spew-B-rx_map_avma  | grep SKIP | wc
-        29     145    1537
+   The difference between the original image base and current
+   image base, which is what Wine sends here in the last
+   argument of VG_(di_notify_pdb_debuginfo), is not used.
 */
 
 /* This module leaks space; enable m_main's calling of
@@ -1034,18 +1012,19 @@
 }
 
 
-static void* find_pdb_header( UChar* pdbimage,
+static void* find_pdb_header( void* pdbimage,
                               unsigned* signature )
 {
-   static char pdbtxt[]= "Microsoft C/C++";
-   UChar* txteof = (UChar*)VG_(strchr)(pdbimage, '\032');
+   static const HChar pdbtxt[]= "Microsoft C/C++";
+   HChar* txteof = VG_(strchr)(pdbimage, '\032');
    if (! txteof)
       return NULL;
    if (0!=VG_(strncmp)(pdbimage, pdbtxt, -1+ sizeof(pdbtxt)))
       return NULL;
 
    *signature = *(unsigned*)(1+ txteof);
-   return (void*)((~3& (3+ (4+ 1+ (txteof - pdbimage)))) + pdbimage);
+   HChar *img_addr = pdbimage;    // so we can do address arithmetic
+   return ((~3& (3+ (4+ 1+ (txteof - img_addr)))) + img_addr);
 }
 
 
@@ -1117,7 +1096,7 @@
 
 
 static void pdb_jg_init( struct pdb_reader* reader,
-                         char* pdbimage,
+                         void* pdbimage,
                          unsigned n_pdbimage )
 {
    reader->read_file     = pdb_jg_read_file;
@@ -1132,7 +1111,7 @@
 
 
 static 
-void pdb_check_root_version_and_timestamp( char* pdbname,
+void pdb_check_root_version_and_timestamp( HChar* pdbname,
                                            ULong  pdbmtime,
                                            unsigned  version,
                                            UInt TimeDateStamp )
@@ -1223,6 +1202,7 @@
 
 static ULong DEBUG_SnarfCodeView(
                 DebugInfo* di,
+                PtrdiffT bias,
                 IMAGE_SECTION_HEADER* sectp,
                 void* root, /* FIXME: better name */
                 Int offset,
@@ -1231,11 +1211,10 @@
 {
    Int    i, length;
    DiSym  vsym;
-   UChar* nmstr;
-   Char   symname[4096 /*WIN32_PATH_MAX*/];
+   HChar* nmstr;
+   HChar  symname[4096 /*WIN32_PATH_MAX*/];
 
    Bool  debug = di->trace_symtab;
-   Addr  bias = BIAS_FOR_SYMBOLS;
    ULong n_syms_read = 0;
 
    if (debug)
@@ -1538,28 +1517,28 @@
 
 static ULong DEBUG_SnarfLinetab(
           DebugInfo* di,
+          PtrdiffT bias,
           IMAGE_SECTION_HEADER* sectp,
-          Char* linetab,
+          void* linetab,
           Int size
        )
 {
    //VG_(printf)("DEBUG_SnarfLinetab %p %p %p %d\n", di, sectp, linetab, size);
    Int                file_segcount;
-   Char               filename[WIN32_PATH_MAX];
-   UInt               * filetab;
-   UChar              * fn;
+   HChar              filename[WIN32_PATH_MAX];
+   const UInt         * filetab;
+   const UChar        * fn;
    Int                i;
    Int                k;
-   UInt               * lt_ptr;
+   const UInt         * lt_ptr;
    Int                nfile;
    Int                nseg;
    union any_size     pnt;
    union any_size     pnt2;
-   struct startend    * start;
+   const struct startend * start;
    Int                this_seg;
 
    Bool  debug = di->trace_symtab;
-   Addr  bias = BIAS_FOR_LINETAB;
    ULong n_lines_read = 0;
 
    if (debug)
@@ -1574,36 +1553,36 @@
    nfile = *pnt.s++;
    nseg  = *pnt.s++;
 
-   filetab = (unsigned int *) pnt.c;
+   filetab = pnt.ui;
 
    /*
     * Now count up the number of segments in the file.
     */
    nseg = 0;
    for (i = 0; i < nfile; i++) {
-      pnt2.c = linetab + filetab[i];
+      pnt2.c = (HChar *)linetab + filetab[i];
       nseg += *pnt2.s;
    }
 
    this_seg = 0;
    for (i = 0; i < nfile; i++) {
-      UChar *fnmstr;
-      UChar *dirstr;
+      HChar *fnmstr;
+      HChar *dirstr;
 
       /*
        * Get the pointer into the segment information.
        */
-      pnt2.c = linetab + filetab[i];
+      pnt2.c = (HChar *)linetab + filetab[i];
       file_segcount = *pnt2.s;
 
       pnt2.ui++;
-      lt_ptr = (unsigned int *) pnt2.c;
-      start = (struct startend *) (lt_ptr + file_segcount);
+      lt_ptr = pnt2.ui;
+      start = (const struct startend *) (lt_ptr + file_segcount);
 
       /*
        * Now snarf the filename for all of the segments for this file.
        */
-      fn = (UChar*) (start + file_segcount);
+      fn = (const UChar*) (start + file_segcount);
       /* fn now points at a Pascal-style string, that is, the first
          byte is the length, and the remaining up to 255 (presumably)
          are the contents. */
@@ -1625,7 +1604,7 @@
          Int linecount;
          Int segno;
 
-         pnt2.c = linetab + lt_ptr[k];
+         pnt2.c = (HChar *)linetab + lt_ptr[k];
 
          segno = *pnt2.s++;
          linecount = *pnt2.s++;
@@ -1648,11 +1627,11 @@
                if (debug)
                   VG_(message)(Vg_UserMsg,
                      "  Adding line %d addr=%#lx end=%#lx\n", 
-                        ((unsigned short *)(pnt2.ui + linecount))[j],
+                        ((const unsigned short *)(pnt2.ui + linecount))[j],
                         startaddr, endaddr );
                   ML_(addLineInfo)(
                      di, fnmstr, dirstr, startaddr, endaddr,
-                     ((unsigned short *)(pnt2.ui + linecount))[j], j );
+                     ((const unsigned short *)(pnt2.ui + linecount))[j], j );
                   n_lines_read++;
                }
             }
@@ -1708,11 +1687,13 @@
 
 static ULong codeview_dump_linetab2(
                 DebugInfo* di,
-                Char* linetab,
+                Addr bias,
+                IMAGE_SECTION_HEADER* sectp,
+                HChar* linetab,
                 DWORD size,
-                Char* strimage,
+                HChar* strimage,
                 DWORD strsize,
-                Char* pfx
+                const HChar* pfx
              )
 {
    DWORD       offset;
@@ -1721,7 +1702,6 @@
    struct codeview_linetab2_file* fd;
 
    Bool  debug = di->trace_symtab;
-   Addr  bias = BIAS_FOR_LINETAB2;
    ULong n_line2s_read = 0;
 
    if (*(const DWORD*)linetab != 0x000000f4)
@@ -1729,7 +1709,7 @@
    offset = *((DWORD*)linetab + 1);
    lbh = (struct codeview_linetab2_block*)(linetab + 8 + offset);
 
-   while ((Char*)lbh < linetab + size) {
+   while ((HChar*)lbh < linetab + size) {
 
       HChar *filename, *dirname;
       Addr svma_s, svma_e;
@@ -1780,8 +1760,10 @@
 
       if (lbh->nlines > 1) {
          for (i = 0; i < lbh->nlines-1; i++) {
-            svma_s = lbh->start + lbh->l[i].offset;
-            svma_e = lbh->start + lbh->l[i+1].offset-1;
+            svma_s = sectp[lbh->seg - 1].VirtualAddress + lbh->start
+                     + lbh->l[i].offset;
+            svma_e = sectp[lbh->seg - 1].VirtualAddress + lbh->start
+                     + lbh->l[i+1].offset-1;
             if (debug)
                VG_(printf)("%s  line %d: %08lx to %08lx\n",
                            pfx, lbh->l[i].lineno ^ 0x80000000, svma_s, svma_e);
@@ -1791,8 +1773,10 @@
                               lbh->l[i].lineno ^ 0x80000000, 0 );
             n_line2s_read++;
          }
-         svma_s = lbh->start + lbh->l[ lbh->nlines-1].offset;
-         svma_e = lbh->start + lbh->size - 1;
+         svma_s = sectp[lbh->seg - 1].VirtualAddress + lbh->start
+                  + lbh->l[ lbh->nlines-1].offset;
+         svma_e = sectp[lbh->seg - 1].VirtualAddress + lbh->start
+                  + lbh->size - 1;
          if (debug)
             VG_(printf)("%s  line %d: %08lx to %08lx\n",
                         pfx, lbh->l[ lbh->nlines-1  ].lineno ^ 0x80000000,
@@ -1817,13 +1801,14 @@
 /*---                                                      ---*/
 /*------------------------------------------------------------*/
 
-static Int cmp_FPO_DATA_for_canonicalisation ( void* f1V, void* f2V )
+static Int cmp_FPO_DATA_for_canonicalisation ( const void* f1V,
+                                               const void* f2V )
 {
    /* Cause FPO data to be sorted first in ascending order of range
       starts, and for entries with the same range start, with the
       shorter range (length) first. */
-   FPO_DATA* f1 = (FPO_DATA*)f1V;
-   FPO_DATA* f2 = (FPO_DATA*)f2V;
+   const FPO_DATA* f1 = f1V;
+   const FPO_DATA* f2 = f2V;
    if (f1->ulOffStart < f2->ulOffStart) return -1;
    if (f1->ulOffStart > f2->ulOffStart) return  1;
    if (f1->cbProcSize < f2->cbProcSize) return -1;
@@ -1835,8 +1820,8 @@
 /* JRS fixme: compare with version in current Wine sources */
 static void pdb_dump( struct pdb_reader* pdb,
                       DebugInfo* di,
-                      Addr pe_avma,
-                      Int  unknown_purpose__reloc,
+                      Addr       pe_avma,
+                      PtrdiffT   pe_bias,
                       IMAGE_SECTION_HEADER* sectp_avma )
 {
    Int header_size;
@@ -1848,7 +1833,6 @@
    char *file; 
 
    Bool debug = di->trace_symtab;
-   Addr bias_for_fpo = BIAS_FOR_FPO;
 
    ULong n_fpos_read = 0, n_syms_read = 0,
          n_lines_read = 0, n_line2s_read = 0;
@@ -1875,26 +1859,6 @@
       }
    }
 
-   if (VG_(clo_verbosity) > 1) {
-      VG_(message)(Vg_DebugMsg,
-                   "PDB_READER:\n");
-      VG_(message)(Vg_DebugMsg,
-                   "   BIAS_FOR_SYMBOLS  = %#08lx  %s\n",
-                   (PtrdiffT)BIAS_FOR_SYMBOLS, VG_STRINGIFY(BIAS_FOR_SYMBOLS));
-      VG_(message)(Vg_DebugMsg,
-                   "   BIAS_FOR_LINETAB  = %#08lx  %s\n",
-                   (PtrdiffT)BIAS_FOR_LINETAB, VG_STRINGIFY(BIAS_FOR_LINETAB));
-      VG_(message)(Vg_DebugMsg,
-                   "   BIAS_FOR_LINETAB2 = %#08lx  %s\n",
-                   (PtrdiffT)BIAS_FOR_LINETAB2, VG_STRINGIFY(BIAS_FOR_LINETAB2));
-      VG_(message)(Vg_DebugMsg,
-                   "   BIAS_FOR_FPO      = %#08lx  %s\n",
-                   (PtrdiffT)BIAS_FOR_FPO, VG_STRINGIFY(BIAS_FOR_FPO));
-      VG_(message)(Vg_DebugMsg,
-                   "   RELOC             = %#08lx\n",
-                   (PtrdiffT)unknown_purpose__reloc);
-   }
-
    /* Since we just use the FPO data without reformatting, at least
       do a basic sanity check on the struct layout. */
    vg_assert(sizeof(FPO_DATA) == 16);
@@ -1914,6 +1878,7 @@
       di->fpo_size = sz;
       if (0) VG_(printf)("FPO: got fpo_size %lu\n", (UWord)sz);
       vg_assert(0 == (di->fpo_size % sizeof(FPO_DATA)));
+      di->fpo_base_avma = pe_avma;
    } else {
       vg_assert(di->fpo == NULL);
       vg_assert(di->fpo_size == 0);
@@ -1997,7 +1962,7 @@
       /* Now bias the table.  This can't be done in the same pass as
          the sanity check, hence a second loop. */
       for (i = 0; i < di->fpo_size; i++) {
-         di->fpo[i].ulOffStart += bias_for_fpo;
+         di->fpo[i].ulOffStart += pe_avma;
          // make sure the biasing didn't royally screw up, by wrapping
          // the range around the end of the address space
          vg_assert(0xFFFFFFFF - di->fpo[i].ulOffStart /* "remaining space" */
@@ -2098,7 +2063,7 @@
          VG_(umsg)("\n");
       if (VG_(clo_verbosity) > 1)
          VG_(message)(Vg_UserMsg, "Reading global symbols\n" );
-      DEBUG_SnarfCodeView( di, sectp_avma, modimage, 0, len_modimage );
+      DEBUG_SnarfCodeView( di, pe_avma, sectp_avma, modimage, 0, len_modimage );
       ML_(dinfo_free)( (void*)modimage );
    }
 
@@ -2141,7 +2106,7 @@
                VG_(message)(Vg_UserMsg, "Reading symbols for %s\n",
                                         file_name );
             n_syms_read 
-               += DEBUG_SnarfCodeView( di, sectp_avma, modimage,
+               += DEBUG_SnarfCodeView( di, pe_avma, sectp_avma, modimage,
                                            sizeof(unsigned long),
                                            symbol_size );
          }
@@ -2152,7 +2117,7 @@
             if (VG_(clo_verbosity) > 1)
                VG_(message)(Vg_UserMsg, "Reading lines for %s\n", file_name );
             n_lines_read
-               += DEBUG_SnarfLinetab( di, sectp_avma,
+               += DEBUG_SnarfLinetab( di, pe_avma, sectp_avma,
                                           modimage + symbol_size, lineno_size );
          }
 
@@ -2162,7 +2127,8 @@
           */
          n_line2s_read
             += codeview_dump_linetab2(
-                  di, (char*)modimage + symbol_size + lineno_size,
+                  di, pe_avma, sectp_avma,
+                      (HChar*)modimage + symbol_size + lineno_size,
                       total_size - (symbol_size + lineno_size),
                   /* if filesimage is NULL, pass that directly onwards
                      to codeview_dump_linetab2, so it knows not to
@@ -2211,10 +2177,10 @@
 Bool ML_(read_pdb_debug_info)(
         DebugInfo* di,
         Addr       obj_avma,
-        PtrdiffT   unknown_purpose__reloc,
+        PtrdiffT   obj_bias,
         void*      pdbimage,
         SizeT      n_pdbimage,
-        Char*      pdbname,
+        HChar*     pdbname,
         ULong      pdbmtime
      )
 {
@@ -2259,29 +2225,34 @@
         + OFFSET_OF(IMAGE_NT_HEADERS, OptionalHeader)
         + ntheaders_avma->FileHeader.SizeOfOptionalHeader;
 
-   di->fsm.rx_map_avma = (Addr)obj_avma;
-
-   /* Iterate over PE(?) headers.  Try to establish the text_bias,
-      that's all we really care about. */
+   /* Iterate over PE headers and fill our section mapping table. */
    for ( i = 0;
          i < ntheaders_avma->FileHeader.NumberOfSections;
          i++, pe_seg_avma += sizeof(IMAGE_SECTION_HEADER) ) {
       pe_sechdr_avma = (IMAGE_SECTION_HEADER *)pe_seg_avma;
 
-      if (VG_(clo_verbosity) > 1)
+      if (VG_(clo_verbosity) > 1) {
+         /* Copy name, it can be 8 chars and not NUL-terminated */
+         char name[9];
+         VG_(memcpy)(name, pe_sechdr_avma->Name, 8);
+         name[8] = '\0';
          VG_(message)(Vg_UserMsg,
-                      "  Scanning PE section %s at avma %p svma %#lx\n",
-                      pe_sechdr_avma->Name, pe_seg_avma,
+                      "  Scanning PE section %ps at avma %#lx svma %#lx\n",
+                      name, obj_avma + pe_sechdr_avma->VirtualAddress,
                       pe_sechdr_avma->VirtualAddress);
+      }
 
       if (pe_sechdr_avma->Characteristics & IMAGE_SCN_MEM_DISCARDABLE)
          continue;
 
       mapped_avma     = (Addr)obj_avma + pe_sechdr_avma->VirtualAddress;
       mapped_end_avma = mapped_avma + pe_sechdr_avma->Misc.VirtualSize;
-      if (VG_(clo_verbosity) > 1)
-         VG_(message)(Vg_DebugMsg,
-             "   ::: mapped_avma is %#lx\n", mapped_avma);
+
+      struct _DebugInfoMapping map;
+      map.avma = mapped_avma;
+      map.size = pe_sechdr_avma->Misc.VirtualSize;
+      map.foff = pe_sechdr_avma->PointerToRawData;
+      map.ro   = False;
 
       if (pe_sechdr_avma->Characteristics & IMAGE_SCN_CNT_CODE) {
          /* Ignore uninitialised code sections - if you have
@@ -2290,60 +2261,44 @@
             the real text section and valgrind will compute the wrong
             avma value and hence the wrong bias. */
          if (!(pe_sechdr_avma->Characteristics & IMAGE_SCN_CNT_UNINITIALIZED_DATA)) {
+            map.rx   = True;
+            map.rw   = False;
+            VG_(addToXA)(di->fsm.maps, &map);
             di->fsm.have_rx_map = True;
-            if (di->fsm.rx_map_avma == 0) {
-               di->fsm.rx_map_avma = mapped_avma;
-            }
-            if (di->fsm.rx_map_size==0) {
-               di->fsm.rx_map_foff = pe_sechdr_avma->PointerToRawData;
-            }
+
             di->text_present = True;
-            if (di->text_avma==0) {
+            if (di->text_avma == 0) {
+               di->text_svma = pe_sechdr_avma->VirtualAddress;
                di->text_avma = mapped_avma;
+               di->text_size = pe_sechdr_avma->Misc.VirtualSize;
+            } else {
+               di->text_size = mapped_end_avma - di->text_avma;
             }
-            di->text_size   += pe_sechdr_avma->Misc.VirtualSize;
-            di->fsm.rx_map_size += pe_sechdr_avma->Misc.VirtualSize;
          }
       }
       else if (pe_sechdr_avma->Characteristics 
                & IMAGE_SCN_CNT_INITIALIZED_DATA) {
+         map.rx   = False;
+         map.rw   = True;
+         VG_(addToXA)(di->fsm.maps, &map);
          di->fsm.have_rw_map = True;
-         if (di->fsm.rw_map_avma == 0) {
-            di->fsm.rw_map_avma = mapped_avma;
-         }
-         if (di->fsm.rw_map_size==0) {
-            di->fsm.rw_map_foff = pe_sechdr_avma->PointerToRawData;
-         }
+
          di->data_present = True;
-         if (di->data_avma==0) {
+         if (di->data_avma == 0) {
             di->data_avma = mapped_avma;
+            di->data_size = pe_sechdr_avma->Misc.VirtualSize;
+         } else {
+            di->data_size = mapped_end_avma - di->data_avma;
          }
-         di->fsm.rw_map_size += pe_sechdr_avma->Misc.VirtualSize;
-         di->data_size   += pe_sechdr_avma->Misc.VirtualSize;
       }
       else if (pe_sechdr_avma->Characteristics
                & IMAGE_SCN_CNT_UNINITIALIZED_DATA) {
          di->bss_present = True;
-         di->bss_avma = mapped_avma;
-         di->bss_size = pe_sechdr_avma->Misc.VirtualSize;
-      }
-
-      mapped_avma     = VG_PGROUNDDN(mapped_avma);
-      mapped_end_avma = VG_PGROUNDUP(mapped_end_avma);
-
-      /* Urr.  These tests are bogus; ->fsm.rx_map_avma is not necessarily
-         the start of the text section. */
-      if ((1 /*VG_(needs).data_syms*/ 
-           || (pe_sechdr_avma->Characteristics & IMAGE_SCN_CNT_CODE))
-          && mapped_avma >= di->fsm.rx_map_avma
-          && mapped_avma <= (di->fsm.rx_map_avma+di->text_size)
-          && mapped_end_avma > (di->fsm.rx_map_avma+di->text_size)) {
-         UInt newsz = mapped_end_avma - di->fsm.rx_map_avma;
-         if (newsz > di->text_size) {
-            /* extending the mapping is always needed for PE files
-               under WINE */
-            di->text_size = newsz;
-            di->fsm.rx_map_size = newsz;
+         if (di->bss_avma == 0) {
+            di->bss_avma = mapped_avma;
+            di->bss_size = pe_sechdr_avma->Misc.VirtualSize;
+         } else {
+            di->bss_size = mapped_end_avma - di->bss_avma;
          }
       }
    }
@@ -2357,21 +2312,23 @@
       TRACE_SYMTAB("\n");
    }
 
-   if (di->text_present) {
-      di->text_bias = di->text_avma - di->text_svma;
-   } else {
-      di->text_bias = 0;
-   }
+   di->text_bias = obj_bias;
 
    if (VG_(clo_verbosity) > 1) {
-      VG_(message)(Vg_DebugMsg,
-                   "rx_map: avma %#lx size %7lu foff %llu\n",
-                   di->fsm.rx_map_avma, di->fsm.rx_map_size,
-                   (Off64T)di->fsm.rx_map_foff);
-      VG_(message)(Vg_DebugMsg,
-                   "rw_map: avma %#lx size %7lu foff %llu\n",
-                   di->fsm.rw_map_avma, di->fsm.rw_map_size,
-                   (Off64T)di->fsm.rw_map_foff);
+      for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+         struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, i);
+         if (map->rx)
+            VG_(message)(Vg_DebugMsg,
+                         "rx_map: avma %#lx size %7lu foff %llu\n",
+                         map->avma, map->size, (Off64T)map->foff);
+      }
+      for (i = 0; i < VG_(sizeXA)(di->fsm.maps); i++) {
+         struct _DebugInfoMapping* map = VG_(indexXA)(di->fsm.maps, i);
+         if (map->rw)
+            VG_(message)(Vg_DebugMsg,
+                         "rw_map: avma %#lx size %7lu foff %llu\n",
+                         map->avma, map->size, (Off64T)map->foff);
+      }
 
       VG_(message)(Vg_DebugMsg,
                    "  text: avma %#lx svma %#lx size %7lu bias %#lx\n",
@@ -2399,7 +2356,7 @@
             pdbname, pdbmtime, root->version, root->TimeDateStamp );
          ML_(dinfo_free)( root );
       }
-      pdb_dump( &reader, di, obj_avma, unknown_purpose__reloc, sectp_avma );
+      pdb_dump( &reader, di, obj_avma, obj_bias, sectp_avma );
    }
    else
    if (0==VG_(strncmp)((char const *)&signature, "JG\0\0", 4)) {
@@ -2411,7 +2368,7 @@
             pdbname, pdbmtime, root->version, root->TimeDateStamp);
          ML_(dinfo_free)( root );
       }
-      pdb_dump( &reader, di, obj_avma, unknown_purpose__reloc, sectp_avma );
+      pdb_dump( &reader, di, obj_avma, obj_bias, sectp_avma );
    }
 
    if (1) {
@@ -2451,7 +2408,7 @@
    /* This is a giant kludge, of the kind "you did WTF?!?", but it
       works. */
    Bool   do_cleanup = False;
-   HChar  tmpname[100], tmpnameroot[50];
+   HChar  tmpname[VG_(mkstemp_fullname_bufsz)(50-1)], tmpnameroot[50];
    Int    fd, r;
    HChar* res = NULL;
 
@@ -2473,9 +2430,9 @@
    /* Make up the command to run, essentially:
       sh -c "strings (pename) | egrep '\.pdb|\.PDB' > (tmpname)"
    */
-   HChar* sh      = "/bin/sh";
-   HChar* strings = "/usr/bin/strings";
-   HChar* egrep   = "/usr/bin/egrep";
+   const HChar* sh      = "/bin/sh";
+   const HChar* strings = "/usr/bin/strings";
+   const HChar* egrep   = "/usr/bin/egrep";
 
    /* (sh) -c "(strings) (pename) | (egrep) 'pdb' > (tmpname) */
    Int cmdlen = VG_(strlen)(strings) + VG_(strlen)(pename)
diff --git a/coregrind/m_debuginfo/readstabs.c b/coregrind/m_debuginfo/readstabs.c
index e62721b..9955627 100644
--- a/coregrind/m_debuginfo/readstabs.c
+++ b/coregrind/m_debuginfo/readstabs.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -35,8 +35,9 @@
 */
 
 /* "on Linux (except android), or on Darwin" */
-#if (defined(VGO_linux) && !defined(VGPV_arm_linux_android)) \
-    || defined(VGO_darwin)
+#if (defined(VGO_linux) && \
+    !(defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)) \
+    || defined(VGO_darwin))
 
 #include "pub_core_basics.h"
 #include "pub_core_debuginfo.h"
@@ -45,6 +46,7 @@
 #include "pub_core_libcprint.h"
 #include "pub_core_xarray.h"
 #include "priv_misc.h"             /* dinfo_zalloc/free/strdup */
+#include "priv_image.h"
 #include "priv_tytypes.h"
 #include "priv_d3basics.h"
 #include "priv_storage.h"
@@ -97,14 +99,12 @@
 */
 void ML_(read_debuginfo_stabs) ( DebugInfo* di,
                                  UChar* stabC,   Int stab_sz, 
-                                 UChar* stabstr, Int stabstr_sz )
+                                 HChar* stabstr, Int stabstr_sz )
 {
-   const Bool debug     = False;
-   const Bool contdebug = False;
    Int    i;
    Int    n_stab_entries;
    struct nlist* stab = (struct nlist*)stabC;
-   UChar *next_stabstr = NULL;
+   HChar *next_stabstr = NULL;
    /* state for various things */
    struct {
       Addr     start;         /* start address */
@@ -112,7 +112,7 @@
       Int      line;          /* first line */
    } func = { 0, 0, -1 };
    struct {
-      Char     *name;
+      HChar   *name;
       Bool     same;
    } file = { NULL, True };
    struct {
@@ -140,24 +140,24 @@
 
    n_stab_entries = stab_sz/(int)sizeof(struct nlist);
 
+   TRACE_SYMTAB("\n--- Reading STABS (%d entries) ---\n", n_stab_entries);
+
    for (i = 0; i < n_stab_entries; i++) {
       const struct nlist *st = &stab[i];
-      Char *string;
+      HChar *string;
 
-      if (di->trace_symtab) {
-         VG_(printf) ( "%2d  type=%d   othr=%d   desc=%d   "
-                       "value=0x%x   strx=%d  %s\n", i,
-                       st->n_type, st->n_other, st->n_desc, 
-                       (Int)st->n_value,
-                       (Int)st->n_un.n_strx, 
-                       stabstr + st->n_un.n_strx );
-      }
+      TRACE_SYMTAB("%2d  type=%d   othr=%d   desc=%d   "
+                   "value=0x%x   strx=%d  %s\n", i,
+                   st->n_type, st->n_other, st->n_desc, 
+                   (Int)st->n_value,
+                   (Int)st->n_un.n_strx, 
+                   stabstr + st->n_un.n_strx );
 
       /* handle continued string stabs */
       {
          Int   qbuflen = 0;
          Int   qidx = 0;
-         Char* qbuf = NULL;
+         HChar* qbuf = NULL;
          Int   qlen;
          Bool  qcontinuing = False;
          UInt  qstringidx;
@@ -180,15 +180,14 @@
             while (string[qlen-1] == '\\' && qlen > 0)
                qlen--;
 
-            if (contdebug)
-               VG_(printf)("found extension string: \"%s\" "
-                           "len=%d(%c) idx=%d buflen=%d\n", 
-                           string, qlen, string[qlen-1], qidx, qbuflen);
+            TRACE_SYMTAB("cont: found extension string: \"%s\" "
+                         "len=%d(%c) idx=%d buflen=%d\n", 
+                         string, qlen, string[qlen-1], qidx, qbuflen);
 
             /* XXX this is silly.  The si->strtab should have a way of
                appending to the last added string... */
             if ((qidx + qlen) >= qbuflen) {
-               Char *n;
+               HChar *n;
                
                if (qbuflen == 0)
                   qbuflen = 16;
@@ -204,9 +203,9 @@
 
             VG_(memcpy)(&qbuf[qidx], string, qlen);
             qidx += qlen;
-            if (contdebug) {
+            if (di->trace_symtab) {
                qbuf[qidx] = '\0';
-               VG_(printf)("working buf=\"%s\"\n", qbuf);
+               TRACE_SYMTAB("cont: working buf=\"%s\"\n", qbuf);
             }
 
             i++;
@@ -226,8 +225,7 @@
             i--;                        /* overstepped */
             string = ML_(addStr)(di, qbuf, qidx);
             ML_(dinfo_free)(qbuf);
-            if (contdebug)
-               VG_(printf)("made composite: \"%s\"\n", string);
+            TRACE_SYMTAB("cont: made composite: \"%s\"\n", string);
          }
       }
 
@@ -265,7 +263,7 @@
             /* FALLTHROUGH */
 
          case N_SO: {                /* new source file */
-            UChar *nm = string;
+            HChar *nm = string;
             UInt len = VG_(strlen)(nm);
             Addr addr = func.start + st->n_value;
 
@@ -283,8 +281,7 @@
 
             if (len > 0 && nm[len-1] != '/') {
                file.name = ML_(addStr)(di, nm, -1);
-               if (debug)
-                  VG_(printf)("new source: %s\n", file.name);
+               TRACE_SYMTAB("new source: %s\n", file.name);
             } else if (len == 0)
                file.name = ML_(addStr)(di, "?1\0", -1);
 
@@ -388,7 +385,7 @@
    }
 }
 
-#endif /* (defined(VGO_linux) && !defined(VGPV_arm_linux_android)) \
+#endif /* (defined(VGO_linux) && !defined(VGPV_*_linux_android)) \
           || defined(VGO_darwin) */
 
 /*--------------------------------------------------------------------*/
diff --git a/coregrind/m_debuginfo/storage.c b/coregrind/m_debuginfo/storage.c
index 2a9938f..ef70913 100644
--- a/coregrind/m_debuginfo/storage.c
+++ b/coregrind/m_debuginfo/storage.c
@@ -9,7 +9,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -47,6 +47,7 @@
 #include "pub_core_oset.h"
 
 #include "priv_misc.h"         /* dinfo_zalloc/free/strdup */
+#include "priv_image.h"
 #include "priv_d3basics.h"     /* ML_(pp_GX) */
 #include "priv_tytypes.h"
 #include "priv_storage.h"      /* self */
@@ -59,7 +60,7 @@
 /* Show a non-fatal debug info reading error.  Use vg_panic if
    terminal.  'serious' errors are shown regardless of the
    verbosity setting. */
-void ML_(symerr) ( struct _DebugInfo* di, Bool serious, HChar* msg )
+void ML_(symerr) ( struct _DebugInfo* di, Bool serious, const HChar* msg )
 {
    /* XML mode hides everything :-( */
    if (VG_(clo_xml))
@@ -75,7 +76,7 @@
          VG_(message)(Vg_DebugMsg, 
                       "When reading debug info from %s:\n",
                       (di && di->fsm.filename) ? di->fsm.filename
-                                               : (UChar*)"???");
+                                               : "???");
       }
       VG_(message)(Vg_DebugMsg, "%s\n", msg);
 
@@ -91,7 +92,7 @@
 /* Print a symbol. */
 void ML_(ppSym) ( Int idx, DiSym* sym )
 {
-   UChar** sec_names = sym->sec_names;
+   HChar** sec_names = sym->sec_names;
    vg_assert(sym->pri_name);
    if (sec_names)
       vg_assert(sec_names);
@@ -189,7 +190,7 @@
    VG_(printf)(" R7=");
    SHOW_HOW(si->r7_how, si->r7_off);
 #  elif defined(VGA_ppc32) || defined(VGA_ppc64)
-#  elif defined(VGA_s390x)
+#  elif defined(VGA_s390x) || defined(VGA_mips32) || defined(VGA_mips64)
    VG_(printf)(" SP=");
    SHOW_HOW(si->sp_how, si->sp_off);
    VG_(printf)(" FP=");
@@ -215,11 +216,11 @@
    a chunking memory allocator rather than reallocating, so the
    pointers are stable.
 */
-UChar* ML_(addStr) ( struct _DebugInfo* di, UChar* str, Int len )
+HChar* ML_(addStr) ( struct _DebugInfo* di, const HChar* str, Int len )
 {
    struct strchunk *chunk;
    Int    space_needed;
-   UChar* p;
+   HChar* p;
 
    if (len == -1) {
       len = VG_(strlen)(str);
@@ -249,6 +250,21 @@
 }
 
 
+/* Add a string to the string table of a DebugInfo, by copying the
+   string from the given DiCursor.  Measures the length of the string
+   itself. */
+HChar* ML_(addStrFromCursor)( struct _DebugInfo* di, DiCursor c )
+{
+   /* This is a less-than-stellar implementation, but it should
+      work. */
+   vg_assert(ML_(cur_is_valid)(c));
+   HChar* str = ML_(cur_read_strdup)(c, "di.addStrFromCursor.1");
+   HChar* res = ML_(addStr)(di, str, -1);
+   ML_(dinfo_free)(str);
+   return res;
+}
+
+
 /* Add a symbol to the symbol table, by copying *sym.  'sym' may only
    have one name, so there's no complexities to do with deep vs
    shallow copying of the sec_name array.  This is checked.
@@ -337,8 +353,8 @@
 /* Top-level place to call to add a source-location mapping entry.
 */
 void ML_(addLineInfo) ( struct _DebugInfo* di,
-                        UChar*   filename,
-                        UChar*   dirname, /* NULL == directory is unknown */
+                        const HChar* filename,
+                        const HChar* dirname, /* NULL == directory is unknown */
                         Addr     this,
                         Addr     next,
                         Int      lineno,
@@ -347,14 +363,14 @@
 {
    static const Bool debug = False;
    DiLoc loc;
-   Int size = next - this;
+   UWord size = next - this;
 
    /* Ignore zero-sized locs */
    if (this == next) return;
 
    if (debug)
       VG_(printf)( "  src %s %s line %d %#lx-%#lx\n",
-                   dirname ? dirname : (UChar*)"(unknown)",
+                   dirname ? dirname : "(unknown)",
                    filename, lineno, this, next );
 
    /* Maximum sanity checking.  Some versions of GNU as do a shabby
@@ -377,23 +393,30 @@
        if (0)
        VG_(message)(Vg_DebugMsg, 
                     "warning: line info address range too large "
-                    "at entry %d: %d\n", entry, size);
+                    "at entry %d: %lu\n", entry, size);
        size = 1;
    }
 
+   /* At this point, we know that the original value for |size|, viz
+      |next - this|, will only still be used in the case where
+      |this| <u |next|, so it can't have underflowed.  Considering
+      that and the three checks that follow it, the following must
+      hold. */
+   vg_assert(size >= 1);
+   vg_assert(size <= MAX_LOC_SIZE);
+
    /* Rule out ones which are completely outside the r-x mapped area.
       See "Comment_Regarding_Text_Range_Checks" elsewhere in this file
       for background and rationale. */
    vg_assert(di->fsm.have_rx_map && di->fsm.have_rw_map);
-   if (next-1 < di->fsm.rx_map_avma
-       || this >= di->fsm.rx_map_avma + di->fsm.rx_map_size ) {
+   if (ML_(find_rx_mapping)(di, this, this + size - 1) == NULL) {
        if (0)
           VG_(message)(Vg_DebugMsg, 
                        "warning: ignoring line info entry falling "
                        "outside current DebugInfo: %#lx %#lx %#lx %#lx\n",
                        di->text_avma, 
                        di->text_avma + di->text_size, 
-                       this, next-1);
+                       this, this + size - 1);
        return;
    }
 
@@ -421,7 +444,7 @@
    loc.dirname   = dirname;
 
    if (0) VG_(message)(Vg_DebugMsg, 
-		       "addLoc: addr %#lx, size %d, line %d, file %s\n",
+		       "addLoc: addr %#lx, size %lu, line %d, file %s\n",
 		       this,size,lineno,filename);
 
    addLoc ( di, &loc );
@@ -436,6 +459,8 @@
    UInt    new_sz, i;
    DiCfSI* new_tab;
    SSizeT  delta;
+   struct _DebugInfoMapping* map;
+   struct _DebugInfoMapping* map2;
 
    /* copy the original, so we can mess with it */
    DiCfSI cfsi = *cfsi_orig;
@@ -456,27 +481,30 @@
    vg_assert(cfsi.len < 5000000);
 
    vg_assert(di->fsm.have_rx_map && di->fsm.have_rw_map);
-   /* If we have an empty r-x mapping (is that possible?) then the
-      DiCfSI can't possibly fall inside it.  In which case skip. */
-   if (di->fsm.rx_map_size == 0)
-      return;
+   /* Find mapping where at least one end of the CFSI falls into. */
+   map  = ML_(find_rx_mapping)(di, cfsi.base, cfsi.base);
+   map2 = ML_(find_rx_mapping)(di, cfsi.base + cfsi.len - 1,
+                                   cfsi.base + cfsi.len - 1);
+   if (map == NULL)
+      map = map2;
+   else if (map2 == NULL)
+      map2 = map;
 
-   /* Rule out ones which are completely outside the r-x mapped area.
+   /* Rule out ones which are completely outside the r-x mapped area
+      (or which span across different areas).
       See "Comment_Regarding_Text_Range_Checks" elsewhere in this file
       for background and rationale. */
-   if (cfsi.base + cfsi.len - 1 < di->fsm.rx_map_avma
-       || cfsi.base >= di->fsm.rx_map_avma + di->fsm.rx_map_size) {
+   if (map == NULL || map != map2) {
       static Int complaints = 10;
       if (VG_(clo_trace_cfi) || complaints > 0) {
          complaints--;
          if (VG_(clo_verbosity) > 1) {
             VG_(message)(
                Vg_DebugMsg,
-               "warning: DiCfSI %#lx .. %#lx outside segment %#lx .. %#lx\n",
+               "warning: DiCfSI %#lx .. %#lx outside mapped rw segments (%s)\n",
                cfsi.base, 
                cfsi.base + cfsi.len - 1,
-               di->text_avma,
-               di->text_avma + di->text_size - 1 
+               di->soname
             );
          }
          if (VG_(clo_trace_cfi)) 
@@ -493,27 +521,27 @@
       will fail.  See
       "Comment_on_IMPORTANT_CFSI_REPRESENTATIONAL_INVARIANTS" in
       priv_storage.h for background. */
-   if (cfsi.base < di->fsm.rx_map_avma) {
+   if (cfsi.base < map->avma) {
       /* Lower end is outside the mapped area.  Hence upper end must
          be inside it. */
       if (0) VG_(printf)("XXX truncate lower\n");
-      vg_assert(cfsi.base + cfsi.len - 1 >= di->fsm.rx_map_avma);
-      delta = (SSizeT)(di->fsm.rx_map_avma - cfsi.base);
+      vg_assert(cfsi.base + cfsi.len - 1 >= map->avma);
+      delta = (SSizeT)(map->avma - cfsi.base);
       vg_assert(delta > 0);
       vg_assert(delta < (SSizeT)cfsi.len);
       cfsi.base += delta;
       cfsi.len -= delta;
    }
    else
-   if (cfsi.base + cfsi.len - 1 > di->fsm.rx_map_avma
-                                  + di->fsm.rx_map_size - 1) {
+   if (cfsi.base + cfsi.len - 1 > map->avma + map->size - 1) {
       /* Upper end is outside the mapped area.  Hence lower end must be
          inside it. */
       if (0) VG_(printf)("XXX truncate upper\n");
-      vg_assert(cfsi.base <= di->fsm.rx_map_avma + di->fsm.rx_map_size - 1);
+      vg_assert(cfsi.base <= map->avma + map->size - 1);
       delta = (SSizeT)( (cfsi.base + cfsi.len - 1) 
-                        - (di->fsm.rx_map_avma + di->fsm.rx_map_size - 1) );
-      vg_assert(delta > 0); vg_assert(delta < (SSizeT)cfsi.len);
+                        - (map->avma + map->size - 1) );
+      vg_assert(delta > 0);
+      vg_assert(delta < (SSizeT)cfsi.len);
       cfsi.len -= delta;
    }
 
@@ -526,9 +554,9 @@
    vg_assert(cfsi.len > 0);
 
    /* Similar logic applies for the next two assertions. */
-   vg_assert(cfsi.base >= di->fsm.rx_map_avma);
+   vg_assert(cfsi.base >= map->avma);
    vg_assert(cfsi.base + cfsi.len - 1
-             <= di->fsm.rx_map_avma + di->fsm.rx_map_size - 1);
+             <= map->avma + map->size - 1);
 
    if (di->cfsi_used == di->cfsi_size) {
       new_sz = 2 * di->cfsi_size;
@@ -573,7 +601,16 @@
    e.Cex.Const.con = con;
    return (Int)VG_(addToXA)( dst, &e );
 }
-Int ML_(CfiExpr_Binop)( XArray* dst, CfiOp op, Int ixL, Int ixR )
+Int ML_(CfiExpr_Unop)( XArray* dst, CfiUnop op, Int ix )
+{
+   CfiExpr e;
+   VG_(memset)( &e, 0, sizeof(e) );
+   e.tag = Cex_Unop;
+   e.Cex.Unop.op  = op;
+   e.Cex.Unop.ix = ix;
+   return (Int)VG_(addToXA)( dst, &e );
+}
+Int ML_(CfiExpr_Binop)( XArray* dst, CfiBinop op, Int ixL, Int ixR )
 {
    CfiExpr e;
    VG_(memset)( &e, 0, sizeof(e) );
@@ -600,22 +637,32 @@
    return (Int)VG_(addToXA)( dst, &e );
 }
 
-static void ppCfiOp ( CfiOp op ) 
+static void ppCfiUnop ( CfiUnop op ) 
 {
    switch (op) {
-      case Cop_Add: VG_(printf)("+"); break;
-      case Cop_Sub: VG_(printf)("-"); break;
-      case Cop_And: VG_(printf)("&"); break;
-      case Cop_Mul: VG_(printf)("*"); break;
-      case Cop_Shl: VG_(printf)("<<"); break;
-      case Cop_Shr: VG_(printf)(">>"); break;
-      case Cop_Eq: VG_(printf)("=="); break;
-      case Cop_Ge: VG_(printf)(">="); break;
-      case Cop_Gt: VG_(printf)(">"); break;
-      case Cop_Le: VG_(printf)("<="); break;
-      case Cop_Lt: VG_(printf)("<"); break;
-      case Cop_Ne: VG_(printf)("!="); break;
-      default:      vg_assert(0);
+      case Cunop_Abs: VG_(printf)("abs"); break;
+      case Cunop_Neg: VG_(printf)("-"); break;
+      case Cunop_Not: VG_(printf)("~"); break;
+      default:        vg_assert(0);
+   }
+}
+
+static void ppCfiBinop ( CfiBinop op ) 
+{
+   switch (op) {
+      case Cbinop_Add: VG_(printf)("+"); break;
+      case Cbinop_Sub: VG_(printf)("-"); break;
+      case Cbinop_And: VG_(printf)("&"); break;
+      case Cbinop_Mul: VG_(printf)("*"); break;
+      case Cbinop_Shl: VG_(printf)("<<"); break;
+      case Cbinop_Shr: VG_(printf)(">>"); break;
+      case Cbinop_Eq:  VG_(printf)("=="); break;
+      case Cbinop_Ge:  VG_(printf)(">="); break;
+      case Cbinop_Gt:  VG_(printf)(">"); break;
+      case Cbinop_Le:  VG_(printf)("<="); break;
+      case Cbinop_Lt:  VG_(printf)("<"); break;
+      case Cbinop_Ne:  VG_(printf)("!="); break;
+      default:         vg_assert(0);
    }
 }
 
@@ -629,6 +676,8 @@
       case Creg_ARM_R12: VG_(printf)("R12"); break;
       case Creg_ARM_R15: VG_(printf)("R15"); break;
       case Creg_ARM_R14: VG_(printf)("R14"); break;
+      case Creg_MIPS_RA: VG_(printf)("RA"); break;
+      case Creg_S390_R14: VG_(printf)("R14"); break;
       default: vg_assert(0);
    }
 }
@@ -650,11 +699,17 @@
       case Cex_Const: 
          VG_(printf)("0x%lx", e->Cex.Const.con); 
          break;
+      case Cex_Unop: 
+         ppCfiUnop(e->Cex.Unop.op);
+         VG_(printf)("(");
+         ML_(ppCfiExpr)(src, e->Cex.Unop.ix);
+         VG_(printf)(")");
+         break;
       case Cex_Binop: 
          VG_(printf)("(");
          ML_(ppCfiExpr)(src, e->Cex.Binop.ixL);
          VG_(printf)(")");
-         ppCfiOp(e->Cex.Binop.op);
+         ppCfiBinop(e->Cex.Binop.op);
          VG_(printf)("(");
          ML_(ppCfiExpr)(src, e->Cex.Binop.ixR);
          VG_(printf)(")");
@@ -686,7 +741,7 @@
 }
 
 static
-void show_scope ( OSet* /* of DiAddrRange */ scope, HChar* who )
+void show_scope ( OSet* /* of DiAddrRange */ scope, const HChar* who )
 {
    DiAddrRange* range;
    VG_(printf)("Scope \"%s\" = {\n", who);
@@ -857,11 +912,11 @@
                   Int    level,
                   Addr   aMin,
                   Addr   aMax,
-                  UChar* name, /* in di's .strchunks */
+                  HChar* name, /* in di's .strchunks */
                   UWord  typeR, /* a cuOff */
                   GExpr* gexpr,
                   GExpr* fbGX,
-                  UChar* fileName, /* where decl'd - may be NULL.
+                  HChar* fileName, /* where decl'd - may be NULL.
                                       in di's .strchunks */
                   Int    lineNo, /* where decl'd - may be zero */
                   Bool   show )
@@ -871,7 +926,7 @@
    Bool       all;
    TyEnt*     ent;
    MaybeULong mul;
-   HChar*     badness;
+   const HChar* badness;
 
    tl_assert(di && di->admin_tyents);
 
@@ -917,16 +972,12 @@
       and it is re-checked at the start of
       ML_(read_elf_debug_info). */
    vg_assert(di->fsm.have_rx_map && di->fsm.have_rw_map);
-   if (level > 0
-       && (aMax < di->fsm.rx_map_avma
-           || aMin >= di->fsm.rx_map_avma + di->fsm.rx_map_size)) {
+   if (level > 0 && ML_(find_rx_mapping)(di, aMin, aMax) == NULL) {
       if (VG_(clo_verbosity) >= 0) {
          VG_(message)(Vg_DebugMsg, 
             "warning: addVar: in range %#lx .. %#lx outside "
-            "segment %#lx .. %#lx (%s)\n",
-            aMin, aMax,
-            di->text_avma, di->text_avma + di->text_size -1,
-            name
+            "all rx mapped areas (%s)\n",
+            aMin, aMax, name
          );
       }
       return;
@@ -1096,10 +1147,10 @@
    facilitates using binary search to map addresses to symbols when we
    come to query the table.
 */
-static Int compare_DiSym ( void* va, void* vb ) 
+static Int compare_DiSym ( const void* va, const void* vb ) 
 {
-   DiSym* a = (DiSym*)va;
-   DiSym* b = (DiSym*)vb;
+   const DiSym* a = va;
+   const DiSym* b = vb;
    if (a->addr < b->addr) return -1;
    if (a->addr > b->addr) return  1;
    return 0;
@@ -1139,12 +1190,12 @@
  */
 static
 Bool preferName ( struct _DebugInfo* di,
-                  UChar* a_name, UChar* b_name,
+                  HChar* a_name, HChar* b_name,
                   Addr sym_avma/*exposition only*/ )
 {
    Word cmp;
    Word vlena, vlenb;		/* length without version */
-   const UChar *vpa, *vpb;
+   const HChar *vpa, *vpb;
 
    Bool preferA = False;
    Bool preferB = False;
@@ -1198,7 +1249,7 @@
    {
       Bool blankA = True;
       Bool blankB = True;
-      Char *s;
+      HChar *s;
       s = a_name;
       while (*s) {
          if (!VG_(isspace)(*s++)) {
@@ -1282,8 +1333,8 @@
    vg_assert(from->pri_name);
    /* Figure out how many names there will be in the new combined
       secondary vector. */
-   UChar** to_sec   = to->sec_names;
-   UChar** from_sec = from->sec_names;
+   HChar** to_sec   = to->sec_names;
+   HChar** from_sec = from->sec_names;
    Word n_new_sec = 1;
    if (from_sec) {
       while (*from_sec) {
@@ -1301,8 +1352,8 @@
       TRACE_SYMTAB("merge: -> %ld\n", n_new_sec);
    /* Create the new sec and copy stuff into it, putting the new
       entries at the end. */
-   UChar** new_sec = ML_(dinfo_zalloc)( "di.storage.aDntf.1",
-                                        (n_new_sec+1) * sizeof(UChar*) );
+   HChar** new_sec = ML_(dinfo_zalloc)( "di.storage.aDntf.1",
+                                        (n_new_sec+1) * sizeof(HChar*) );
    from_sec = from->sec_names;
    to_sec   = to->sec_names;
    Word i = 0;
@@ -1333,7 +1384,7 @@
 {
    Word  i, j, n_truncated;
    Addr  sta1, sta2, end1, end2, toc1, toc2;
-   UChar *pri1, *pri2, **sec1, **sec2;
+   HChar *pri1, *pri2, **sec1, **sec2;
    Bool  ist1, ist2, isf1, isf2;
 
 #  define SWAP(ty,aa,bb) \
@@ -1368,11 +1419,18 @@
          vg_assert(w < r);
          if (   di->symtab[w].addr      == di->symtab[r].addr
              && di->symtab[w].size      == di->symtab[r].size
-             && !!di->symtab[w].isText  == !!di->symtab[r].isText
-             && !!di->symtab[w].isIFunc == !!di->symtab[r].isIFunc) {
+             && !!di->symtab[w].isText  == !!di->symtab[r].isText) {
             /* merge the two into one */
             n_merged++;
-            add_DiSym_names_to_from(di, &di->symtab[w], &di->symtab[r]);
+            /* Add r names to w if r has secondary names 
+               or r and w primary names differ. */
+            if (di->symtab[r].sec_names 
+                || (0 != VG_(strcmp)(di->symtab[r].pri_name,
+                                     di->symtab[w].pri_name))) {
+               add_DiSym_names_to_from(di, &di->symtab[w], &di->symtab[r]);
+            }
+            /* mark w as an IFunc if either w or r are */
+            di->symtab[w].isIFunc = di->symtab[w].isIFunc || di->symtab[r].isIFunc;
             /* and use ::pri_names to indicate this slot is no longer in use */
             di->symtab[r].pri_name = NULL;
             if (di->symtab[r].sec_names) {
@@ -1450,7 +1508,7 @@
          if (end1 > end2) { 
             sta1 = end2 + 1;
             SWAP(Addr,sta1,sta2); SWAP(Addr,end1,end2); SWAP(Addr,toc1,toc2);
-            SWAP(UChar*,pri1,pri2); SWAP(UChar**,sec1,sec2);
+            SWAP(HChar*,pri1,pri2); SWAP(HChar**,sec1,sec2);
             SWAP(Bool,ist1,ist2); SWAP(Bool,isf1,isf2);
          } else 
          if (end1 < end2) {
@@ -1519,7 +1577,7 @@
       show the user. */
    for (i = 0; i < ((Word)di->symtab_used)-1; i++) {
       DiSym*  sym = &di->symtab[i];
-      UChar** sec = sym->sec_names;
+      HChar** sec = sym->sec_names;
       if (!sec)
          continue;
       /* Slow but simple.  Copy all the cands into a temp array,
@@ -1527,8 +1585,8 @@
       Word n_tmp = 1;
       while (*sec) { n_tmp++; sec++; }
       j = 0;
-      UChar** tmp = ML_(dinfo_zalloc)( "di.storage.cS.1",
-                                       (n_tmp+1) * sizeof(UChar*) );
+      HChar** tmp = ML_(dinfo_zalloc)( "di.storage.cS.1",
+                                       (n_tmp+1) * sizeof(HChar*) );
       tmp[j++] = sym->pri_name;
       sec = sym->sec_names;
       while (*sec) { tmp[j++] = *sec; sec++; }
@@ -1546,7 +1604,7 @@
       vg_assert(best >= 0 && best < n_tmp);
       /* Copy back */
       sym->pri_name = tmp[best];
-      UChar** cursor = sym->sec_names;
+      HChar** cursor = sym->sec_names;
       for (j = 0; j < n_tmp; j++) {
          if (j == best)
             continue;
@@ -1566,10 +1624,10 @@
    ranges do not overlap.  This facilitates using binary search to map
    addresses to locations when we come to query the table.
 */
-static Int compare_DiLoc ( void* va, void* vb ) 
+static Int compare_DiLoc ( const void* va, const void* vb ) 
 {
-   DiLoc* a = (DiLoc*)va;
-   DiLoc* b = (DiLoc*)vb;
+   const DiLoc* a = va;
+   const DiLoc* b = vb;
    if (a->addr < b->addr) return -1;
    if (a->addr > b->addr) return  1;
    return 0;
@@ -1652,10 +1710,10 @@
    as to facilitate rapidly skipping this SegInfo when looking for an
    address which falls outside that range.
 */
-static Int compare_DiCfSI ( void* va, void* vb )
+static Int compare_DiCfSI ( const void* va, const void* vb )
 {
-   DiCfSI* a = (DiCfSI*)va;
-   DiCfSI* b = (DiCfSI*)vb;
+   const DiCfSI* a = va;
+   const DiCfSI* b = vb;
    if (a->base < b->base) return -1;
    if (a->base > b->base) return  1;
    return 0;
@@ -1850,7 +1908,7 @@
 
 Word ML_(search_one_fpotab) ( struct _DebugInfo* di, Addr ptr )
 {
-   Addr const addr = ptr - di->fsm.rx_map_avma;
+   Addr const addr = ptr - di->fpo_base_avma;
    Addr a_mid_lo, a_mid_hi;
    Word mid, size,
         lo = 0,
diff --git a/coregrind/m_debuginfo/tytypes.c b/coregrind/m_debuginfo/tytypes.c
index 580df5f..9fcda78 100644
--- a/coregrind/m_debuginfo/tytypes.c
+++ b/coregrind/m_debuginfo/tytypes.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks LLP
+   Copyright (C) 2008-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -102,12 +102,12 @@
          if (te->Te.Field.nLoc == -1)
             VG_(printf)("Te_Field(ty=0x%05lx,pos.offset=%ld,\"%s\")",
                         te->Te.Field.typeR, te->Te.Field.pos.offset,
-                        te->Te.Field.name ? te->Te.Field.name : (UChar*)"");
+                        te->Te.Field.name ? te->Te.Field.name : "");
          else
             VG_(printf)("Te_Field(ty=0x%05lx,nLoc=%lu,pos.loc=%p,\"%s\")",
                         te->Te.Field.typeR, te->Te.Field.nLoc,
                         te->Te.Field.pos.loc,
-                        te->Te.Field.name ? te->Te.Field.name : (UChar*)"");
+                        te->Te.Field.name ? te->Te.Field.name : "");
          break;
       case Te_Bound:
          VG_(printf)("Te_Bound[");
@@ -126,7 +126,7 @@
          VG_(printf)("Te_TyBase(%d,%c,\"%s\")",
                      te->Te.TyBase.szB, te->Te.TyBase.enc,
                      te->Te.TyBase.name ? te->Te.TyBase.name
-                                        : (UChar*)"(null)" );
+                                        : "(null)" );
          break;
       case Te_TyPtr:
          VG_(printf)("Te_TyPtr(%d,0x%05lx)", te->Te.TyPorR.szB,
@@ -148,7 +148,7 @@
          VG_(printf)("Te_TyTyDef(0x%05lx,\"%s\")",
                      te->Te.TyTyDef.typeR,
                      te->Te.TyTyDef.name ? te->Te.TyTyDef.name
-                                         : (UChar*)"" );
+                                         : "" );
          break;
       case Te_TyStOrUn:
          if (te->Te.TyStOrUn.complete) {
@@ -157,7 +157,7 @@
                         te->Te.TyStOrUn.isStruct ? 'S' : 'U',
                         te->Te.TyStOrUn.fieldRs,
                         te->Te.TyStOrUn.name ? te->Te.TyStOrUn.name
-                                             : (UChar*)"" );
+                                             : "" );
             if (te->Te.TyStOrUn.fieldRs)
                pp_XArray_of_cuOffs( te->Te.TyStOrUn.fieldRs );
          } else {
@@ -169,7 +169,7 @@
          VG_(printf)("Te_TyEnum(%d,%p,\"%s\")",
                      te->Te.TyEnum.szB, te->Te.TyEnum.atomRs,
                      te->Te.TyEnum.name ? te->Te.TyEnum.name
-                                        : (UChar*)"" );
+                                        : "" );
          if (te->Te.TyEnum.atomRs)
             pp_XArray_of_cuOffs( te->Te.TyEnum.atomRs );
          break;
@@ -198,7 +198,7 @@
 
 /* Print a whole XArray of TyEnts, debug-style */
 
-void ML_(pp_TyEnts)( XArray* tyents, HChar* who )
+void ML_(pp_TyEnts)( XArray* tyents, const HChar* who )
 {
    Word i, n;
    VG_(printf)("------ %s ------\n", who);
@@ -272,7 +272,7 @@
          VG_(printf)("%s %s",
                      ent->Te.TyStOrUn.isStruct ? "struct" : "union",
                      ent->Te.TyStOrUn.name ? ent->Te.TyStOrUn.name
-                                           : (UChar*)"<anonymous>" );
+                                           : "<anonymous>" );
          break;
       case Te_TyArray:
          ML_(pp_TyEnt_C_ishly)(tyents, ent->Te.TyArray.typeR);
@@ -410,7 +410,7 @@
 /* Generates a total ordering on TyEnts based only on their .cuOff
    fields. */
 
-Word ML_(TyEnt__cmp_by_cuOff_only) ( TyEnt* te1, TyEnt* te2 )
+Word ML_(TyEnt__cmp_by_cuOff_only) ( const TyEnt* te1, const TyEnt* te2 )
 {
    if (te1->cuOff < te2->cuOff) return -1;
    if (te1->cuOff > te2->cuOff) return 1;
@@ -469,7 +469,7 @@
    }
    return 0;
 }
-static Word Asciiz__cmp ( UChar* a, UChar* b ) {
+static Word Asciiz__cmp ( const HChar* a, const HChar* b ) {
    /* A wrapper around strcmp that handles NULL strings safely. */
    if (a == NULL && b == NULL) return 0;
    if (a == NULL && b != NULL) return -1;
@@ -477,7 +477,7 @@
    return VG_(strcmp)(a, b);
 }
 
-Word ML_(TyEnt__cmp_by_all_except_cuOff) ( TyEnt* te1, TyEnt* te2 )
+Word ML_(TyEnt__cmp_by_all_except_cuOff) ( const TyEnt* te1, const TyEnt* te2 )
 {
    Word r;
    if (te1->tag < te2->tag) return -1;
@@ -736,15 +736,15 @@
 /* Describe where in the type 'offset' falls.  Caller must
    deallocate the resulting XArray. */
 
-static void copy_UWord_into_XA ( XArray* /* of UChar */ xa,
+static void copy_UWord_into_XA ( XArray* /* of HChar */ xa,
                                  UWord uw ) {
-   UChar buf[32];
+   HChar buf[32];
    VG_(memset)(buf, 0, sizeof(buf));
    VG_(sprintf)(buf, "%lu", uw);
    VG_(addBytesToXA)( xa, buf, VG_(strlen)(buf));
 }
 
-XArray* /*UChar*/ ML_(describe_type)( /*OUT*/PtrdiffT* residual_offset,
+XArray* /*HChar*/ ML_(describe_type)( /*OUT*/PtrdiffT* residual_offset,
                                       XArray* /* of TyEnt */ tyents,
                                       UWord ty_cuOff, 
                                       PtrdiffT offset )
@@ -752,7 +752,7 @@
    TyEnt*  ty;
    XArray* xa = VG_(newXA)( ML_(dinfo_zalloc), "di.tytypes.dt.1",
                             ML_(dinfo_free),
-                            sizeof(UChar) );
+                            sizeof(HChar) );
    vg_assert(xa);
 
    ty = ML_(TyEnts__index_by_cuOff)(tyents, NULL, ty_cuOff);
diff --git a/coregrind/m_debuglog.c b/coregrind/m_debuglog.c
index 44f7376..961d86c 100644
--- a/coregrind/m_debuglog.c
+++ b/coregrind/m_debuglog.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -71,17 +71,19 @@
 
 #if defined(VGP_x86_linux)
 
-static UInt local_sys_write_stderr ( HChar* buf, Int n )
+static UInt local_sys_write_stderr ( const HChar* buf, Int n )
 {
    Int result;
 
    __asm__ volatile (
+      "pushl %%ebx\n"
       "movl  $"VG_STRINGIFY(__NR_write)", %%eax\n" /* %eax = __NR_write */
       "movl  $2, %%ebx\n"       /* %ebx = stderr */
       "int   $0x80\n"           /* write(stderr, buf, n) */
+      "popl %%ebx\n"
       : /*wr*/    "=a" (result)
       : /*rd*/    "c" (buf), "d" (n)
-      : /*trash*/ "ebx", "edi", "memory", "cc"
+      : /*trash*/ "edi", "memory", "cc"
    );
 
    return result >= 0 ? result : -1;
@@ -102,7 +104,7 @@
 
 #elif defined(VGP_amd64_linux)
 __attribute__((noinline))
-static UInt local_sys_write_stderr ( HChar* buf, Int n )
+static UInt local_sys_write_stderr ( const HChar* buf, Int n )
 {
    volatile Long block[2];
    block[0] = (Long)buf;
@@ -145,7 +147,7 @@
 
 #elif defined(VGP_ppc32_linux)
 
-static UInt local_sys_write_stderr ( HChar* buf, Int n )
+static UInt local_sys_write_stderr ( const HChar* buf, Int n )
 {
    volatile Int block[2];
    block[0] = (Int)buf;
@@ -188,7 +190,7 @@
 
 #elif defined(VGP_ppc64_linux)
 
-static UInt local_sys_write_stderr ( HChar* buf, Int n )
+static UInt local_sys_write_stderr ( const HChar* buf, Int n )
 {
    volatile Long block[2];
    block[0] = (Long)buf;
@@ -231,7 +233,7 @@
 
 #elif defined(VGP_arm_linux)
 
-static UInt local_sys_write_stderr ( HChar* buf, Int n )
+static UInt local_sys_write_stderr ( const HChar* buf, Int n )
 {
    volatile Int block[2];
    block[0] = (Int)buf;
@@ -272,7 +274,7 @@
    asm code.  Both macros give the same results for Unix-class syscalls (which
    these all are, as identified by the use of 'int 0x80'). */
 __attribute__((noinline))
-static UInt local_sys_write_stderr ( HChar* buf, Int n )
+static UInt local_sys_write_stderr ( const HChar* buf, Int n )
 {
    UInt __res;
    __asm__ volatile (
@@ -314,7 +316,7 @@
 #elif defined(VGP_amd64_darwin)
 
 __attribute__((noinline))
-static UInt local_sys_write_stderr ( HChar* buf, Int n )
+static UInt local_sys_write_stderr ( const HChar* buf, Int n )
 {
    UInt __res;
    __asm__ volatile (
@@ -348,12 +350,12 @@
 }
 
 #elif defined(VGP_s390x_linux)
-static UInt local_sys_write_stderr ( HChar* buf, Int n )
+static UInt local_sys_write_stderr ( const HChar* buf, Int n )
 {
-   register Int    r2     asm("2") = 2;      /* file descriptor STDERR */
-   register HChar* r3     asm("3") = buf;
-   register ULong  r4     asm("4") = n;
-   register ULong  r2_res asm("2");
+   register Int          r2     asm("2") = 2;      /* file descriptor STDERR */
+   register const HChar* r3     asm("3") = buf;
+   register ULong        r4     asm("4") = n;
+   register ULong        r2_res asm("2");
    ULong __res;
 
    __asm__ __volatile__ (
@@ -388,6 +390,79 @@
    return (UInt)(__res);
 }
 
+#elif defined(VGP_mips32_linux)
+static UInt local_sys_write_stderr ( const HChar* buf, Int n )
+{
+   volatile Int block[2];
+   block[0] = (Int)buf;
+   block[1] = n;
+   __asm__ volatile (
+      "li   $4, 2\n\t"        /* stderr */
+      "lw   $5, 0(%0)\n\t"    /* buf */
+      "lw   $6, 4(%0)\n\t"    /* n */
+      "move $7, $0\n\t"
+      "li   $2, %1\n\t"       /* set v0 = __NR_write */
+      "syscall\n\t"           /* write() */
+      "nop\n\t"
+      :
+      : "r" (block), "n" (__NR_write)
+      : "2", "4", "5", "6", "7"
+   );
+   if (block[0] < 0)
+      block[0] = -1;
+   return (UInt)block[0];
+}
+
+static UInt local_sys_getpid ( void )
+{
+   UInt __res;
+   __asm__ volatile (
+      "li   $2, %1\n\t"       /* set v0 = __NR_getpid */
+      "syscall\n\t"      /* getpid() */
+      "nop\n\t"
+      "move  %0, $2\n"
+      : "=r" (__res)
+      : "n" (__NR_getpid)
+      : "$2" );
+   return __res;
+}
+
+#elif defined(VGP_mips64_linux)
+static UInt local_sys_write_stderr ( const HChar* buf, Int n )
+{
+   volatile Long block[2];
+   block[0] = (Long)buf;
+   block[1] = n;
+   __asm__ volatile (
+      "li   $4, 2\n\t"      /* std output*/
+      "ld   $5, 0(%0)\n\t"  /*$5 = buf*/
+      "ld   $6, 8(%0)\n\t"  /*$6 = n */
+      "move $7, $0\n\t"
+      "li   $2, %1\n\t"     /* set v0 = __NR_write */
+      "\tsyscall\n"
+      "\tnop\n"
+      : /*wr*/
+      : /*rd*/  "r" (block), "n" (__NR_write)
+      : "2", "4", "5", "6", "7"
+   );
+   if (block[0] < 0)
+      block[0] = -1;
+   return (UInt)(Int)block[0];
+}
+ 
+static UInt local_sys_getpid ( void )
+{
+   ULong __res;
+   __asm__ volatile (
+      "li   $2, %1\n\t"  /* set v0 = __NR_getpid */
+      "syscall\n\t"      /* getpid() */
+      "nop\n\t"
+      "move  %0, $2\n"
+      : "=r" (__res)
+      : "n" (__NR_getpid)
+      : "$2" );
+   return (UInt)(__res);
+}
 
 #else
 # error Unknown platform
@@ -414,7 +489,7 @@
 
 /* Emit buf[0 .. n-1] to stderr.  Unfortunately platform-specific. 
 */
-static void emit ( HChar* buf, Int n )
+static void emit ( const HChar* buf, Int n )
 {
    if (n >= 1)
       (void)local_sys_write_stderr(buf, n);
@@ -450,7 +525,7 @@
                      void* send_arg2,
                      Int flags, 
                      Int width, 
-                     HChar* str, 
+                     const HChar* str, 
                      Bool capitalise )
 {
 #  define MAYBE_TOUPPER(ch) (capitalise ? local_toupper(ch) : (ch))
@@ -496,12 +571,12 @@
 static 
 UInt myvprintf_str_XML_simplistic ( void(*send)(HChar,void*),
                                     void* send_arg2,
-                                    HChar* str )
+                                    const HChar* str )
 {
    UInt   ret = 0;
    Int    i;
    Int    len = local_strlen(str);
-   HChar* alt;
+   const HChar* alt;
 
    for (i = 0; i < len; i++) {
       switch (str[i]) {
@@ -546,7 +621,7 @@
    Int    ind = 0;
    Int    i, nc = 0;
    Bool   neg = False;
-   HChar* digits = capitalised ? "0123456789ABCDEF" : "0123456789abcdef";
+   const HChar* digits = capitalised ? "0123456789ABCDEF" : "0123456789abcdef";
    UInt   ret = 0;
 
    if (base < 2 || base > 16)
@@ -723,15 +798,15 @@
                i++;
                /* %pS, like %s but escaping chars for XML safety */
                /* Note: simplistic; ignores field width and flags */
-               char *str = va_arg (vargs, char *);
-               if (str == (char*) 0)
+               const HChar *str = va_arg (vargs, HChar *);
+               if (str == NULL)
                   str = "(null)";
                ret += myvprintf_str_XML_simplistic(send, send_arg2, str);
             } else if (format[i+1] == 's') {
                i++;
                /* %ps, synonym for %s with --xml=no / %pS with --xml=yes */
-               char *str = va_arg (vargs, char *);
-               if (str == (char*) 0)
+               const HChar *str = va_arg (vargs, HChar *);
+               if (str == NULL)
                   str = "(null)";
                if (clo_xml)
                   ret += myvprintf_str_XML_simplistic(send, send_arg2, str);
@@ -767,16 +842,16 @@
             send(va_arg (vargs, int), send_arg2);
             break;
          case 's': case 'S': { /* %s */
-            char *str = va_arg (vargs, char *);
-            if (str == (char*) 0) str = "(null)";
+            const HChar *str = va_arg (vargs, HChar *);
+            if (str == NULL) str = "(null)";
             ret += myvprintf_str(send, send_arg2, 
                                  flags, width, str, format[i]=='S');
             break;
          }
 
 //         case 'y': { /* %y - print symbol */
-//            Char buf[100];
-//            Char *cp = buf;
+//            HChar buf[100];
+//            HChar *cp = buf;
 //            Addr a = va_arg(vargs, Addr);
 //
 //            if (flags & VG_MSG_PAREN)
@@ -810,7 +885,7 @@
 
 /* Module startup. */
 /* EXPORTED */
-void VG_(debugLog_startup) ( Int level, HChar* who )
+void VG_(debugLog_startup) ( Int level, const HChar* who )
 {
    if (level < 0)  level = 0;
    if (level > 10) level = 10;
@@ -886,7 +961,7 @@
    (void)myvprintf_str ( add_to_buf, &buf, 0, 1, ":", False );
    (void)myvprintf_int64 ( add_to_buf, &buf, 0, 10, 1, False, (ULong)level );
    (void)myvprintf_str ( add_to_buf, &buf, 0, 1, ":", False );
-   (void)myvprintf_str ( add_to_buf, &buf, 0, 8, (HChar*)modulename, False );
+   (void)myvprintf_str ( add_to_buf, &buf, 0, 8, modulename, False );
    (void)myvprintf_str ( add_to_buf, &buf, 0, indent, "", False );
 
    va_start(vargs,format);
diff --git a/coregrind/m_demangle/demangle.c b/coregrind/m_demangle/demangle.c
index 1a57bac..8f9af4a 100644
--- a/coregrind/m_demangle/demangle.c
+++ b/coregrind/m_demangle/demangle.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -87,7 +87,7 @@
 /* This is the main, standard demangler entry point. */
 
 void VG_(demangle) ( Bool do_cxx_demangling, Bool do_z_demangling,
-                     Char* orig, Char* result, Int result_size )
+                     HChar* orig, HChar* result, Int result_size )
 {
 #  define N_ZBUF 4096
    HChar* demangled = NULL;
diff --git a/coregrind/m_demangle/vg_libciface.h b/coregrind/m_demangle/vg_libciface.h
index 66835ee..0d2b35e 100644
--- a/coregrind/m_demangle/vg_libciface.h
+++ b/coregrind/m_demangle/vg_libciface.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_dispatch/dispatch-amd64-darwin.S b/coregrind/m_dispatch/dispatch-amd64-darwin.S
index 6354281..165666a 100644
--- a/coregrind/m_dispatch/dispatch-amd64-darwin.S
+++ b/coregrind/m_dispatch/dispatch-amd64-darwin.S
@@ -8,7 +8,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2000-2011 Julian Seward 
+  Copyright (C) 2000-2012 Julian Seward 
      jseward@acm.org
 
   This program is free software; you can redistribute it and/or
@@ -39,29 +39,35 @@
 
 /*------------------------------------------------------------*/
 /*---                                                      ---*/
-/*--- The dispatch loop.  VG_(run_innerloop) is used to    ---*/
-/*--- run all translations except no-redir ones.           ---*/
+/*--- The dispatch loop.  VG_(disp_run_translations) is    ---*/
+/*--- used to run all translations,                        ---*/
+/*--- including no-redir ones.                             ---*/
 /*---                                                      ---*/
 /*------------------------------------------------------------*/
 
 /*----------------------------------------------------*/
-/*--- Preamble (set everything up)                 ---*/
+/*--- Entry and preamble (set everything up)       ---*/
 /*----------------------------------------------------*/
 
 /* signature:
-UWord VG_(run_innerloop) ( void* guest_state, UWord do_profiling );
+void VG_(disp_run_translations)( UWord* two_words,
+                                 void*  guest_state, 
+                                 Addr   host_addr );
 */
-
 .text
-.globl VG_(run_innerloop)
-VG_(run_innerloop):
-	/* %rdi holds guest_state */
-	/* %rsi holds do_profiling */
-	
-	/* ----- entry point to VG_(run_innerloop) ----- */
+.globl VG_(disp_run_translations)
+VG_(disp_run_translations):
+        /* %rdi holds two_words    */
+	/* %rsi holds guest_state  */
+	/* %rdx holds host_addr    */
+
+        /* The preamble */
+
+        /* Save integer registers, since this is a pseudo-function. */
+        pushq   %rax
 	pushq	%rbx
 	pushq	%rcx
-	pushq	%rdx
+        pushq   %rdx
 	pushq	%rsi
 	pushq	%rbp
 	pushq	%r8
@@ -72,20 +78,10 @@
 	pushq	%r13
 	pushq	%r14
 	pushq	%r15
-	pushq	%rdi  /* guest_state */
+        /* %rdi must be saved last */
+	pushq	%rdi
 
-	movq	VG_(dispatch_ctr)@GOTPCREL(%rip), %r15
-	movl	(%r15), %r15d
-	pushq	%r15
-
-	/* 8(%rsp) holds cached copy of guest_state ptr */
-	/* 0(%rsp) holds cached copy of VG_(dispatch_ctr) */
-
-	/* Set up the guest state pointer */
-	movq	%rdi, %rbp
-	
-	/* fetch %RIP into %rax */
-	movq	OFFSET_amd64_RIP(%rbp), %rax
+        /* Get the host CPU in the state expected by generated code. */
 
 	/* set host FPU control word to the default mode expected 
            by VEX-generated code.  See comments in libvex.h for
@@ -104,153 +100,37 @@
 	/* set dir flag to known value */
 	cld
 
-	/* fall into main loop  (the right one) */
-	cmpq	$0, %rsi
-	je	VG_(run_innerloop__dispatch_unassisted_unprofiled)
-	jmp	VG_(run_innerloop__dispatch_unassisted_profiled)
-	/*NOTREACHED*/	
+	/* Set up the guest state pointer */
+	movq	%rsi, %rbp
+
+        /* and jump into the code cache.  Chained translations in
+           the code cache run, until for whatever reason, they can't
+           continue.  When that happens, the translation in question
+           will jump (or call) to one of the continuation points
+           VG_(cp_...) below. */
+        jmpq    *%rdx
+       	/*NOTREACHED*/	
 
 /*----------------------------------------------------*/
-/*--- NO-PROFILING (standard) dispatcher           ---*/
+/*--- Postamble and exit.                          ---*/
 /*----------------------------------------------------*/
 
-.align	4
-.globl	VG_(run_innerloop__dispatch_unassisted_unprofiled)
-VG_(run_innerloop__dispatch_unassisted_unprofiled):
-	/* AT ENTRY: %rax is next guest addr, %rbp is the
-           unmodified guest state ptr */
-
-	/* save the jump address in the guest state */
-	movq	%rax, OFFSET_amd64_RIP(%rbp)
-
-	/* Are we out of timeslice?  If yes, defer to scheduler. */
-	subl	$1, 0(%rsp)
-	jz	counter_is_zero
-
-	/* try a fast lookup in the translation cache */
-	movabsq	$VG_(tt_fast), %rcx
-	movq	%rax, %rbx
-	andq	$VG_TT_FAST_MASK, %rbx	/* entry# */
-	shlq	$4, %rbx		/* entry# * sizeof(FastCacheEntry) */
-	movq	0(%rcx,%rbx,1), %r10	/* .guest */
-	movq	8(%rcx,%rbx,1), %r11	/* .host */
-	cmpq	%rax, %r10
-	jnz	fast_lookup_failed
-
-        /* Found a match.  Jump to .host. */
-	jmp 	*%r11
-	ud2	/* persuade insn decoders not to speculate past here */
-	/* generated code should run, then jump back to
-	   VG_(run_innerloop__dispatch_{un,}assisted_unprofiled). */
-	/*NOTREACHED*/
-
-.align	4
-.globl	VG_(run_innerloop__dispatch_assisted_unprofiled)
-VG_(run_innerloop__dispatch_assisted_unprofiled):
-	/* AT ENTRY: %rax is next guest addr, %rbp is the
-           modified guest state ptr.  Since the GSP has changed,
-           jump directly to gsp_changed. */
-        jmp     gsp_changed
-        ud2
-        /*NOTREACHED*/
-
-/*----------------------------------------------------*/
-/*--- PROFILING dispatcher (can be much slower)    ---*/
-/*----------------------------------------------------*/
-
-.align	4
-.globl	VG_(run_innerloop__dispatch_unassisted_profiled)
-VG_(run_innerloop__dispatch_unassisted_profiled):
-	/* AT ENTRY: %rax is next guest addr, %rbp is the
-           unmodified guest state ptr */
-
-	/* save the jump address in the guest state */
-	movq	%rax, OFFSET_amd64_RIP(%rbp)
-
-	/* Are we out of timeslice?  If yes, defer to scheduler. */
-	subl	$1, 0(%rsp)
-	jz	counter_is_zero
-
-	/* try a fast lookup in the translation cache */
-        movabsq $VG_(tt_fast), %rcx
-	movq	%rax, %rbx
-	andq	$VG_TT_FAST_MASK, %rbx	/* entry# */
-	shlq	$4, %rbx		/* entry# * sizeof(FastCacheEntry) */
-	movq	0(%rcx,%rbx,1), %r10	/* .guest */
-	movq	8(%rcx,%rbx,1), %r11	/* .host */
-	cmpq	%rax, %r10
-	jnz	fast_lookup_failed
-
-	/* increment bb profile counter */
-	movabsq	$VG_(tt_fastN), %rdx
-	shrq	$1, %rbx		/* entry# * sizeof(UInt*) */
-	movq	(%rdx,%rbx,1), %rdx
-	addl	$1, (%rdx)
-
-        /* Found a match.  Jump to .host. */
-	jmp 	*%r11
-	ud2	/* persuade insn decoders not to speculate past here */
-	/* generated code should run, then jump back to
-	   VG_(run_innerloop__dispatch_{un,}assisted_profiled). */
-	/*NOTREACHED*/
-
-.align	4
-.globl	VG_(run_innerloop__dispatch_assisted_profiled)
-VG_(run_innerloop__dispatch_assisted_profiled):
-	/* AT ENTRY: %rax is next guest addr, %rbp is the
-           modified guest state ptr.  Since the GSP has changed,
-           jump directly to gsp_changed. */
-        jmp     gsp_changed
-        ud2
-        /*NOTREACHED*/
-
-/*----------------------------------------------------*/
-/*--- exit points                                  ---*/
-/*----------------------------------------------------*/
-
-gsp_changed:
-	/* Someone messed with the gsp.  Have to
-           defer to scheduler to resolve this.  dispatch ctr
-	   is not yet decremented, so no need to increment. */
-	/* %RIP is NOT up to date here.  First, need to write
-	   %rax back to %RIP, but without trashing %rbp since
-	   that holds the value we want to return to the scheduler.
-	   Hence use %r15 transiently for the guest state pointer. */
-	movq	8(%rsp), %r15
-	movq	%rax, OFFSET_amd64_RIP(%r15)
-	movq	%rbp, %rax
-	jmp	run_innerloop_exit
-	/*NOTREACHED*/
-
-counter_is_zero:
-	/* %RIP is up to date here */
-	/* back out decrement of the dispatch counter */
-	addl	$1, 0(%rsp)
-	movq	$VG_TRC_INNER_COUNTERZERO, %rax
-	jmp	run_innerloop_exit
-
-fast_lookup_failed:
-	/* %RIP is up to date here */
-	/* back out decrement of the dispatch counter */
-	addl	$1, 0(%rsp)
-	movq	$VG_TRC_INNER_FASTMISS, %rax
-	jmp	run_innerloop_exit
-
-
-
-/* All exits from the dispatcher go through here.  %rax holds
-   the return value. 
-*/
-run_innerloop_exit: 
-	/* We're leaving.  Check that nobody messed with
-           %mxcsr or %fpucw.  We can't mess with %rax here as it
-	   holds the tentative return value, but any other is OK. */
+postamble:
+        /* At this point, %rax and %rdx contain two
+           words to be returned to the caller.  %rax
+           holds a TRC value, and %rdx optionally may
+           hold another word (for CHAIN_ME exits, the
+           address of the place to patch.) */
+        
+	/* We're leaving.  Check that nobody messed with %mxcsr
+           or %fpucw.  We can't mess with %rax or %rdx here as they
+           hold the tentative return values, but any others are OK. */
 #if !defined(ENABLE_INNER)
         /* This check fails for self-hosting, so skip in that case */
 	pushq	$0
 	fstcw	(%rsp)
 	cmpl	$0x027F, (%rsp)
-	popq	%r15 /* get rid of the word without trashing %eflags */
+	popq	%r15 /* get rid of the word without trashing %rflags */
 	jnz	invariant_violation
 #endif
 	pushq	$0
@@ -260,20 +140,17 @@
 	popq	%r15
 	jnz	invariant_violation
 	/* otherwise we're OK */
-	jmp	run_innerloop_exit_REALLY
-
+	jmp	remove_frame
 invariant_violation:
 	movq	$VG_TRC_INVARIANT_FAILED, %rax
-	jmp	run_innerloop_exit_REALLY
+        movq    $0, %rdx
 
-run_innerloop_exit_REALLY:
-
-	/* restore VG_(dispatch_ctr) */	
-	popq	%r14
-	movq	VG_(dispatch_ctr)@GOTPCREL(%rip), %r15
-	movl	%r14d, (%r15)
-
+remove_frame:
+        /* Pop %rdi, stash return values */
 	popq	%rdi
+        movq    %rax, 0(%rdi)
+        movq    %rdx, 8(%rdi)
+        /* Now pop everything else */
 	popq	%r15
 	popq	%r14
 	popq	%r13
@@ -287,58 +164,89 @@
 	popq	%rdx
 	popq	%rcx
 	popq	%rbx
+	popq	%rax
 	ret	
+        
+/*----------------------------------------------------*/
+/*--- Continuation points                          ---*/
+/*----------------------------------------------------*/
 
-	
-/*------------------------------------------------------------*/
-/*---                                                      ---*/
-/*--- A special dispatcher, for running no-redir           ---*/
-/*--- translations.  Just runs the given translation once. ---*/
-/*---                                                      ---*/
-/*------------------------------------------------------------*/
+/* ------ Chain me to slow entry point ------ */
+.globl VG_(disp_cp_chain_me_to_slowEP)
+VG_(disp_cp_chain_me_to_slowEP):
+        /* We got called.  The return address indicates
+           where the patching needs to happen.  Collect
+           the return address and, exit back to C land,
+           handing the caller the pair (Chain_me_S, RA) */
+        movq    $VG_TRC_CHAIN_ME_TO_SLOW_EP, %rax
+        popq    %rdx
+        /* 10 = movabsq $VG_(disp_chain_me_to_slowEP), %r11;
+           3  = call *%r11 */
+        subq    $10+3, %rdx
+        jmp     postamble
 
-/* signature:
-void VG_(run_a_noredir_translation) ( UWord* argblock );
-*/
+/* ------ Chain me to fast entry point ------ */
+.globl VG_(disp_cp_chain_me_to_fastEP)
+VG_(disp_cp_chain_me_to_fastEP):
+        /* We got called.  The return address indicates
+           where the patching needs to happen.  Collect
+           the return address and, exit back to C land,
+           handing the caller the pair (Chain_me_F, RA) */
+        movq    $VG_TRC_CHAIN_ME_TO_FAST_EP, %rax
+        popq    %rdx
+        /* 10 = movabsq $VG_(disp_chain_me_to_fastEP), %r11;
+           3  = call *%r11 */
+        subq    $10+3, %rdx
+        jmp     postamble
 
-/* Run a no-redir translation.  argblock points to 4 UWords, 2 to carry args
-   and 2 to carry results:
-      0: input:  ptr to translation
-      1: input:  ptr to guest state
-      2: output: next guest PC
-      3: output: guest state pointer afterwards (== thread return code)
-*/
-.align 4
-.globl VG_(run_a_noredir_translation)
-VG_(run_a_noredir_translation):
-	/* Save callee-saves regs */
-	pushq %rbx
-	pushq %rbp
-	pushq %r12
-	pushq %r13
-	pushq %r14
-	pushq %r15
+/* ------ Indirect but boring jump ------ */
+.globl VG_(disp_cp_xindir)
+VG_(disp_cp_xindir):
+	/* Where are we going? */
+	movq	OFFSET_amd64_RIP(%rbp), %rax
 
-	pushq %rdi  /* we will need it after running the translation */
-	movq 8(%rdi), %rbp
-	jmp *0(%rdi)
-	/*NOTREACHED*/
-	ud2
-	/* If the translation has been correctly constructed, we
-	should resume at the the following label. */
-.globl VG_(run_a_noredir_translation__return_point)
-VG_(run_a_noredir_translation__return_point):
-	popq %rdi
-	movq %rax, 16(%rdi)
-	movq %rbp, 24(%rdi)
+        /* stats only */
+        movabsq $VG_(stats__n_xindirs_32), %r10
+        addl    $1, (%r10)
+        
+	/* try a fast lookup in the translation cache */
+	movabsq $VG_(tt_fast), %rcx
+	movq	%rax, %rbx		/* next guest addr */
+	andq	$VG_TT_FAST_MASK, %rbx	/* entry# */
+	shlq	$4, %rbx		/* entry# * sizeof(FastCacheEntry) */
+	movq	0(%rcx,%rbx,1), %r10	/* .guest */
+	movq	8(%rcx,%rbx,1), %r11	/* .host */
+	cmpq	%rax, %r10
+	jnz	fast_lookup_failed
 
-	popq  %r15
-	popq  %r14
-	popq  %r13
-	popq  %r12
-	popq  %rbp
-	popq  %rbx
-	ret
+        /* Found a match.  Jump to .host. */
+	jmp 	*%r11
+	ud2	/* persuade insn decoders not to speculate past here */
+
+fast_lookup_failed:
+        /* stats only */
+        movabsq $VG_(stats__n_xindir_misses_32), %r10
+        addl    $1, (%r10)
+
+	movq	$VG_TRC_INNER_FASTMISS, %rax
+        movq    $0, %rdx
+	jmp	postamble
+
+/* ------ Assisted jump ------ */
+.globl VG_(disp_cp_xassisted)
+VG_(disp_cp_xassisted):
+        /* %rbp contains the TRC */
+        movq    %rbp, %rax
+        movq    $0, %rdx
+        jmp     postamble
+
+/* ------ Event check failed ------ */
+.globl VG_(disp_cp_evcheck_fail)
+VG_(disp_cp_evcheck_fail):
+       	movq	$VG_TRC_INNER_COUNTERZERO, %rax
+        movq    $0, %rdx
+	jmp	postamble
+
 
 #endif // defined(VGP_amd64_darwin)
 
diff --git a/coregrind/m_dispatch/dispatch-amd64-linux.S b/coregrind/m_dispatch/dispatch-amd64-linux.S
index 73daec5..c6a0ea0 100644
--- a/coregrind/m_dispatch/dispatch-amd64-linux.S
+++ b/coregrind/m_dispatch/dispatch-amd64-linux.S
@@ -8,7 +8,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2000-2011 Julian Seward 
+  Copyright (C) 2000-2012 Julian Seward 
      jseward@acm.org
 
   This program is free software; you can redistribute it and/or
@@ -206,8 +206,8 @@
 	/* Where are we going? */
 	movq	OFFSET_amd64_RIP(%rbp), %rax
 
-        /* RM ME -- stats only */
-        addq    $1, vgPlain_stats__n_xindirs
+        /* stats only */
+        addl    $1, VG_(stats__n_xindirs_32)
         
 	/* try a fast lookup in the translation cache */
 	movabsq $VG_(tt_fast), %rcx
@@ -224,8 +224,8 @@
 	ud2	/* persuade insn decoders not to speculate past here */
 
 fast_lookup_failed:
-        /* RM ME -- stats only */
-        addq    $1, vgPlain_stats__n_xindir_misses
+        /* stats only */
+        addl    $1, VG_(stats__n_xindir_misses_32)
 
 	movq	$VG_TRC_INNER_FASTMISS, %rax
         movq    $0, %rdx
diff --git a/coregrind/m_dispatch/dispatch-arm-linux.S b/coregrind/m_dispatch/dispatch-arm-linux.S
index 2c0ea62..348af7c 100644
--- a/coregrind/m_dispatch/dispatch-arm-linux.S
+++ b/coregrind/m_dispatch/dispatch-arm-linux.S
@@ -8,7 +8,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2008-2011 Evan Geller
+  Copyright (C) 2008-2012 Evan Geller
      gaze@bea.ms
 
   This program is free software; you can redistribute it and/or
@@ -152,15 +152,12 @@
 	/* Where are we going? */
         ldr  r0, [r8, #OFFSET_arm_R15T]
 
-        /* RM ME -- stats only */
-        movw r1, #:lower16:vgPlain_stats__n_xindirs
-        movt r1, #:upper16:vgPlain_stats__n_xindirs
+        /* stats only */
+        movw r1, #:lower16:vgPlain_stats__n_xindirs_32
+        movt r1, #:upper16:vgPlain_stats__n_xindirs_32
         ldr  r2, [r1, #0]
-        adds r2, r2, #1
+        add  r2, r2, #1
         str  r2, [r1, #0]
-        ldr  r2, [r1, #4]
-        adc  r2, r2, #0
-        str  r2, [r1, #4]
         
         /* try a fast lookup in the translation cache */
         // r0 = next guest, r1,r2,r3,r4 scratch
@@ -181,14 +178,11 @@
 
         /* otherwise the fast lookup failed */
         /* RM ME -- stats only */
-        movw r1, #:lower16:vgPlain_stats__n_xindir_misses
-        movt r1, #:upper16:vgPlain_stats__n_xindir_misses
+        movw r1, #:lower16:vgPlain_stats__n_xindir_misses_32
+        movt r1, #:upper16:vgPlain_stats__n_xindir_misses_32
         ldr  r2, [r1, #0]
-        adds r2, r2, #1
+        add  r2, r2, #1
         str  r2, [r1, #0]
-        ldr  r2, [r1, #4]
-        adc  r2, r2, #0
-        str  r2, [r1, #4]
 
 	mov  r1, #VG_TRC_INNER_FASTMISS
         mov  r2, #0
diff --git a/coregrind/m_dispatch/dispatch-mips32-linux.S b/coregrind/m_dispatch/dispatch-mips32-linux.S
new file mode 100644
index 0000000..a059b98
--- /dev/null
+++ b/coregrind/m_dispatch/dispatch-mips32-linux.S
@@ -0,0 +1,245 @@
+
+/*--------------------------------------------------------------------*/
+/*--- The core dispatch loop, for jumping to a code address.       ---*/
+/*---                                        dispatch-mips-linux.S ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+  This file is part of Valgrind, a dynamic binary instrumentation
+  framework.
+
+  Copyright (C) 2000-2012 RT-RK
+     mips-valgrind@rt-rk.com 
+
+  This program is free software; you can redistribute it and/or
+  modify it under the terms of the GNU General Public License as
+  published by the Free Software Foundation; either version 2 of the
+  License, or (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+  General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+  The GNU General Public License is contained in the file COPYING.
+*/
+
+
+#if defined(VGP_mips32_linux)
+
+#include "pub_core_basics_asm.h"
+#include "pub_core_dispatch_asm.h"
+#include "pub_core_transtab_asm.h"
+#include "libvex_guest_offsets.h"	/* for OFFSET_mips_PC */
+
+
+/*------------------------------------------------------------*/
+/*---                                                      ---*/
+/*--- The dispatch loop.  VG_(disp_run_translations) is    ---*/
+/*--- used to run all translations,                        ---*/
+/*--- including no-redir ones.                             ---*/
+/*---                                                      ---*/
+/*------------------------------------------------------------*/
+
+/*----------------------------------------------------*/
+/*--- Entry and preamble (set everything up)       ---*/
+/*----------------------------------------------------*/
+
+/* signature:
+void VG_(disp_run_translations)( UWord* two_words,
+                                 void*  guest_state, 
+                                 Addr   host_addr );
+*/
+
+.text
+.globl VG_(disp_run_translations)
+VG_(disp_run_translations):
+    /* a0 ($4) holds two_words   */
+    /* a1 ($5) holds guest_state */
+    /* a2 ($6) holds host_addr   */
+
+    /* New stack frame.  Stack must remain 8 aligned (at least) */
+    addiu $29, -64
+
+    /* Save ra */
+    sw  $31, 16($29)
+
+    /* ... and s0 - s7 */
+    sw $16, 20($29)
+    sw $17, 24($29)
+    sw $18, 28($29)
+    sw $19, 32($29)
+    sw $20, 36($29)
+    sw $21, 40($29)
+    sw $22, 44($29)
+    sw $23, 48($29)
+
+    /* ... and gp, fp/s8 */
+    sw $28, 52($29)
+    sw $30, 56($29)
+
+    /* Save a0 ($4) on stack. In postamble it will be restored such that the
+       return values can be written */
+    sw $4, 60($29)
+
+    /* Load address of guest state into guest state register ($23) */
+    move $23, $5
+
+    /* and jump into the code cache.  Chained translations in
+           the code cache run, until for whatever reason, they can't
+           continue.  When that happens, the translation in question
+           will jump (or call) to one of the continuation points
+           VG_(cp_...) below. */
+    jr $6
+    /*NOTREACHED*/
+
+/*----------------------------------------------------*/
+/*--- Postamble and exit.                          ---*/
+/*----------------------------------------------------*/
+
+postamble:
+        /* At this point, $2 and $3 contain two
+           words to be returned to the caller.  $2
+           holds a TRC value, and $3 optionally may
+           hold another word (for CHAIN_ME exits, the
+           address of the place to patch.) */
+
+    /* Restore $4 from stack; holds address of two_words */
+    lw $4, 60($29)
+    sw  $2, 0($4)         /* Store $2 to two_words[0] */
+    sw  $3, 4($4)         /* Store $3 to two_words[1] */
+
+    /* Restore callee-saved registers... */
+
+    /* Restore ra */
+    lw $31, 16($29)
+
+    /* ... and s0 - s7 */
+    lw $16, 20($29)
+    lw $17, 24($29)
+    lw $18, 28($29)
+    lw $19, 32($29)
+    lw $20, 36($29)
+    lw $21, 40($29)
+    lw $22, 44($29)
+    lw $23, 48($29)
+
+    /* ... and gp, fp/s8 */
+    lw $28, 52($29)
+    lw $30, 56($29)
+
+    addiu $29, 64   /* stack_size */
+    jr $31
+    nop
+
+/*----------------------------------------------------*/
+/*--- Continuation points                          ---*/
+/*----------------------------------------------------*/
+
+/* ------ Chain me to slow entry point ------ */
+.global VG_(disp_cp_chain_me_to_slowEP)
+VG_(disp_cp_chain_me_to_slowEP):
+        /* We got called.  The return address indicates
+           where the patching needs to happen.  Collect
+           the return address and, exit back to C land,
+           handing the caller the pair (Chain_me_S, RA) */
+        li $2, VG_TRC_CHAIN_ME_TO_SLOW_EP
+        move $3, $31
+        /* 8 = mkLoadImm_EXACTLY2or5
+           4 = jalr $9
+           4 = nop */
+        addiu  $3, $3, -16
+        b    postamble
+
+/* ------ Chain me to slow entry point ------ */
+.global VG_(disp_cp_chain_me_to_fastEP)
+VG_(disp_cp_chain_me_to_fastEP):
+        /* We got called.  The return address indicates
+           where the patching needs to happen.  Collect
+           the return address and, exit back to C land,
+           handing the caller the pair (Chain_me_S, RA) */
+        li $2, VG_TRC_CHAIN_ME_TO_FAST_EP
+        move $3, $31
+        /* 8 = mkLoadImm_EXACTLY2or5
+           4 = jalr $9
+           4 = nop */
+        addiu  $3, $3, -16
+        b    postamble
+
+/* ------ Indirect but boring jump ------ */
+.global VG_(disp_cp_xindir)
+VG_(disp_cp_xindir):
+        /* Where are we going? */
+        lw  $11, OFFSET_mips32_PC($23)
+
+        lw $13, vgPlain_stats__n_xindirs_32
+        addiu $13, $13, 0x1
+        sw $13, vgPlain_stats__n_xindirs_32
+
+        /* try a fast lookup in the translation cache */
+        /* t1 = VG_TT_FAST_HASH(addr) * sizeof(ULong*)
+                = (t8 >> 2 & VG_TT_FAST_MASK)  << 3 */
+
+        move $14, $11
+        li $12, VG_TT_FAST_MASK
+        srl $14, $14, 2
+        and $14, $14, $12
+        sll $14, $14, 3
+
+        /* t2 = (addr of VG_(tt_fast)) + t1 */
+        la $13, VG_(tt_fast)
+        addu $13, $13, $14
+
+        lw $12, 0($13) /* t3 = VG_(tt_fast)[hash] :: ULong* */
+        addi $13, $13, 4
+        lw $25, 0($13) /* little-endian, so comparing 1st 32bit word */
+        nop
+
+check:
+        bne $12, $11, fast_lookup_failed
+        /* run the translation */
+        jr $25
+        .long   0x0   /* persuade insn decoders not to speculate past here */
+
+fast_lookup_failed:
+        /* %PC is up to date */
+        /* back out decrement of the dispatch counter */
+        /* hold dispatch_ctr in t0 (r8) */
+        lw $13, vgPlain_stats__n_xindirs_32
+        addiu $13, $13, 0x1
+        sw $13, vgPlain_stats__n_xindirs_32
+        li $2, VG_TRC_INNER_FASTMISS
+        li $3, 0
+        b       postamble
+
+/* ------ Assisted jump ------ */
+        .global VG_(disp_cp_xassisted)
+VG_(disp_cp_xassisted):
+        /* guest-state-pointer contains the TRC. Put the value into the
+           return register */
+        move    $2, $23
+        move    $3, $0
+        b       postamble
+
+/* ------ Event check failed ------ */
+        .global VG_(disp_cp_evcheck_fail)
+VG_(disp_cp_evcheck_fail):
+        li      $2, VG_TRC_INNER_COUNTERZERO
+        move    $3, $0
+        b       postamble
+
+.size VG_(disp_run_translations), .-VG_(disp_run_translations)
+
+
+/* Let the linker know we do not need an executable stack */
+.section .note.GNU-stack,"",@progbits
+
+#endif // defined(VGP_mips32_linux)
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/m_dispatch/dispatch-mips64-linux.S b/coregrind/m_dispatch/dispatch-mips64-linux.S
new file mode 100644
index 0000000..152a633
--- /dev/null
+++ b/coregrind/m_dispatch/dispatch-mips64-linux.S
@@ -0,0 +1,245 @@
+
+/*--------------------------------------------------------------------*/
+/*--- The core dispatch loop, for jumping to a code address.       ---*/
+/*---                                      dispatch-mips64-linux.S ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+  This file is part of Valgrind, a dynamic binary instrumentation
+  framework.
+
+  Copyright (C) 2000-2013 RT-RK
+     mips-valgrind@rt-rk.com 
+
+  This program is free software; you can redistribute it and/or
+  modify it under the terms of the GNU General Public License as
+  published by the Free Software Foundation; either version 2 of the
+  License, or (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+  General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+  The GNU General Public License is contained in the file COPYING.
+*/
+
+
+#if defined(VGP_mips64_linux)
+
+#include "pub_core_basics_asm.h"
+#include "pub_core_dispatch_asm.h"
+#include "pub_core_transtab_asm.h"
+#include "libvex_guest_offsets.h"	/* for OFFSET_mips_PC */
+
+
+/*------------------------------------------------------------*/
+/*---                                                      ---*/
+/*--- The dispatch loop.  VG_(disp_run_translations) is    ---*/
+/*--- used to run all translations,                        ---*/
+/*--- including no-redir ones.                             ---*/
+/*---                                                      ---*/
+/*------------------------------------------------------------*/
+
+/*----------------------------------------------------*/
+/*--- Entry and preamble (set everything up)       ---*/
+/*----------------------------------------------------*/
+
+/* signature:
+void VG_(disp_run_translations)( UWord* two_words,
+                                 void*  guest_state, 
+                                 Addr   host_addr );
+*/
+
+.text
+.globl VG_(disp_run_translations)
+VG_(disp_run_translations):
+    /* a0 ($4) holds two_words   */
+    /* a1 ($5) holds guest_state */
+    /* a2 ($6) holds host_addr   */
+
+    /* New stack frame.  Stack must remain 16 aligned (at least) */
+    daddiu $29, -176
+
+    /* Save ra */
+    sd  $31, 72($29)
+
+    /* ... and s0 - s7 */
+    sd $16, 80($29)
+    sd $17, 88($29)
+    sd $18, 96($29)
+    sd $19, 104($29)
+    sd $20, 112($29)
+    sd $21, 120($29)
+    sd $22, 128($29)
+    sd $23, 136($29)
+
+    /* ... and gp, fp/s8 */
+    sd $28, 144($29)
+    sd $30, 152($29)
+
+    /* Save a0 ($4) on stack. In postamble it will be restored such that the
+       return values can be written */
+    sd $4, 160($29)
+
+    /* Load address of guest state into guest state register ($23) */
+    move $23, $5
+
+    /* and jump into the code cache.  Chained translations in
+           the code cache run, until for whatever reason, they can't
+           continue.  When that happens, the translation in question
+           will jump (or call) to one of the continuation points
+           VG_(cp_...) below. */
+    jr $6
+    /*NOTREACHED*/
+    
+/*----------------------------------------------------*/
+/*--- Postamble and exit.                          ---*/
+/*----------------------------------------------------*/
+
+postamble:
+        /* At this point, $2 and $3 contain two
+           words to be returned to the caller.  $2
+           holds a TRC value, and $3 optionally may
+           hold another word (for CHAIN_ME exits, the
+           address of the place to patch.) */
+
+    /* Restore $4 from stack; holds address of two_words */
+    ld $4, 160($29)
+    sd  $2, 0($4)         /* Store $2 to two_words[0] */
+    sd  $3, 8($4)         /* Store $3 to two_words[1] */
+
+    /* Restore callee-saved registers... */
+
+    /* Restore ra */
+    ld $31, 72($29)
+
+    /* ... and s0 - s7 */
+    ld $16, 80($29)
+    ld $17, 88($29)
+    ld $18, 96($29)
+    ld $19, 104($29)
+    ld $20, 112($29)
+    ld $21, 120($29)
+    ld $22, 128($29)
+    ld $23, 136($29)
+
+    /* ... and gp, fp/s8 */
+    ld $28, 144($29)
+    ld $30, 152($29)
+
+    daddiu $29, 176   /* stack_size */
+    jr $31
+    nop
+
+/*----------------------------------------------------*/
+/*--- Continuation points                          ---*/
+/*----------------------------------------------------*/
+
+/* ------ Chain me to slow entry point ------ */
+.global VG_(disp_cp_chain_me_to_slowEP)
+VG_(disp_cp_chain_me_to_slowEP):
+        /* We got called.  The return address indicates
+           where the patching needs to happen.  Collect
+           the return address and, exit back to C land,
+           handing the caller the pair (Chain_me_S, RA) */
+        li $2, VG_TRC_CHAIN_ME_TO_SLOW_EP
+        move $3, $31
+        /* 8 = mkLoadImm_EXACTLY2or6
+           4 = jalr $9
+           4 = nop */
+        daddiu  $3, $3, -32
+        b    postamble
+
+/* ------ Chain me to slow entry point ------ */
+.global VG_(disp_cp_chain_me_to_fastEP)
+VG_(disp_cp_chain_me_to_fastEP):
+        /* We got called.  The return address indicates
+           where the patching needs to happen.  Collect
+           the return address and, exit back to C land,
+           handing the caller the pair (Chain_me_S, RA) */
+        li $2, VG_TRC_CHAIN_ME_TO_FAST_EP
+        move $3, $31
+        /* 8 = mkLoadImm_EXACTLY2or6
+           4 = jalr $9
+           4 = nop */
+        daddiu  $3, $3, -32
+        b    postamble
+
+/* ------ Indirect but boring jump ------ */
+.global VG_(disp_cp_xindir)
+VG_(disp_cp_xindir):
+        /* Where are we going? */
+        ld  $11, OFFSET_mips64_PC($23)
+
+        lw $13, vgPlain_stats__n_xindirs_32
+        addiu $13, $13, 0x1
+        sw $13, vgPlain_stats__n_xindirs_32
+
+        /* try a fast lookup in the translation cache */
+        /* t1 = VG_TT_FAST_HASH(addr) * sizeof(ULong*)
+                = (t8 >> 2 & VG_TT_FAST_MASK)  << 3 */
+
+        move $14, $11
+        li $12, VG_TT_FAST_MASK
+        srl $14, $14, 2
+        and $14, $14, $12
+        sll $14, $14, 3
+
+        /* t2 = (addr of VG_(tt_fast)) + t1 */
+        la $13, VG_(tt_fast)
+        addu $13, $13, $14
+
+        ld $12, 0($13) /* t3 = VG_(tt_fast)[hash] :: ULong* */
+        addi $13, $13, 8
+        ld $25, 0($13) /* little-endian, so comparing 1st 32bit word */
+        nop
+
+check:
+        bne $12, $11, fast_lookup_failed
+        /* run the translation */
+        jr $25
+        .long   0x0   /* persuade insn decoders not to speculate past here */
+
+fast_lookup_failed:
+        /* %PC is up to date */
+        /* back out decrement of the dispatch counter */
+        /* hold dispatch_ctr in t0 (r8) */
+        lw $13, vgPlain_stats__n_xindirs_32
+        addiu $13, $13, 0x1
+        sw $13, vgPlain_stats__n_xindirs_32
+        li $2, VG_TRC_INNER_FASTMISS
+        li $3, 0
+        b       postamble
+
+/* ------ Assisted jump ------ */
+        .global VG_(disp_cp_xassisted)
+VG_(disp_cp_xassisted):
+        /* guest-state-pointer contains the TRC. Put the value into the
+           return register */
+        move    $2, $23
+        move    $3, $0
+        b       postamble
+
+/* ------ Event check failed ------ */
+        .global VG_(disp_cp_evcheck_fail)
+VG_(disp_cp_evcheck_fail):
+        li      $2, VG_TRC_INNER_COUNTERZERO
+        move    $3, $0
+        b       postamble
+
+.size VG_(disp_run_translations), .-VG_(disp_run_translations)
+
+
+/* Let the linker know we do not need an executable stack */
+.section .note.GNU-stack,"",@progbits
+
+#endif // defined(VGP_mips64_linux)
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/m_dispatch/dispatch-ppc32-linux.S b/coregrind/m_dispatch/dispatch-ppc32-linux.S
index 4a2c5d3..1689b53 100644
--- a/coregrind/m_dispatch/dispatch-ppc32-linux.S
+++ b/coregrind/m_dispatch/dispatch-ppc32-linux.S
@@ -8,7 +8,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2005-2011 Cerion Armour-Brown <cerion@open-works.co.uk>
+  Copyright (C) 2005-2012 Cerion Armour-Brown <cerion@open-works.co.uk>
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -440,13 +440,10 @@
         lwz     3,OFFSET_ppc32_CIA(31)
 
         /* stats only */
-        lis     5,VG_(stats__n_xindirs)@ha
-        addi    5,5,VG_(stats__n_xindirs)@l
-        lwz     6,4(5)
-        addic.  6,6,1
-        stw     6,4(5)
+        lis     5,VG_(stats__n_xindirs_32)@ha
+        addi    5,5,VG_(stats__n_xindirs_32)@l
         lwz     6,0(5)
-        addze   6,6
+        addi    6,6,1
         stw     6,0(5)
         
         /* r5 = &VG_(tt_fast) */
@@ -469,13 +466,10 @@
 
 fast_lookup_failed:
         /* stats only */
-        lis     5,VG_(stats__n_xindir_misses)@ha
-        addi    5,5,VG_(stats__n_xindir_misses)@l
-        lwz     6,4(5)
-        addic.  6,6,1
-        stw     6,4(5)
+        lis     5,VG_(stats__n_xindir_misses_32)@ha
+        addi    5,5,VG_(stats__n_xindir_misses_32)@l
         lwz     6,0(5)
-        addze   6,6
+        addi    6,6,1
         stw     6,0(5)
 
         li      6,VG_TRC_INNER_FASTMISS
diff --git a/coregrind/m_dispatch/dispatch-ppc64-linux.S b/coregrind/m_dispatch/dispatch-ppc64-linux.S
index 9083be1..5a4d4bc 100644
--- a/coregrind/m_dispatch/dispatch-ppc64-linux.S
+++ b/coregrind/m_dispatch/dispatch-ppc64-linux.S
@@ -8,7 +8,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2005-2011 Cerion Armour-Brown <cerion@open-works.co.uk>
+  Copyright (C) 2005-2012 Cerion Armour-Brown <cerion@open-works.co.uk>
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -46,10 +46,10 @@
 .section ".toc","aw"
 .tocent__vgPlain_tt_fast:
         .tc vgPlain_tt_fast[TC],vgPlain_tt_fast
-.tocent__vgPlain_stats__n_xindirs:
-        .tc vgPlain_stats__n_xindirs[TC],vgPlain_stats__n_xindirs
-.tocent__vgPlain_stats__n_xindir_misses:
-        .tc vgPlain_stats__n_xindir_misses[TC],vgPlain_stats__n_xindir_misses
+.tocent__vgPlain_stats__n_xindirs_32:
+        .tc vgPlain_stats__n_xindirs_32[TC],vgPlain_stats__n_xindirs_32
+.tocent__vgPlain_stats__n_xindir_misses_32:
+        .tc vgPlain_stats__n_xindir_misses_32[TC],vgPlain_stats__n_xindir_misses_32
 .tocent__vgPlain_machine_ppc64_has_VMX:
         .tc vgPlain_machine_ppc64_has_VMX[TC],vgPlain_machine_ppc64_has_VMX
 
@@ -456,10 +456,10 @@
         ld      3,OFFSET_ppc64_CIA(31)
 
         /* stats only */
-	ld	5, .tocent__vgPlain_stats__n_xindirs@toc(2)
-        ld      6,0(5)
+	ld	5, .tocent__vgPlain_stats__n_xindirs_32@toc(2)
+        lwz     6,0(5)
         addi    6,6,1
-        std     6,0(5)
+        stw     6,0(5)
 
 	/* r5 = &VG_(tt_fast) */
 	ld	5, .tocent__vgPlain_tt_fast@toc(2) /* &VG_(tt_fast) */
@@ -481,10 +481,10 @@
 
 .fast_lookup_failed:
         /* stats only */
-	ld	5, .tocent__vgPlain_stats__n_xindir_misses@toc(2)
-        ld      6,0(5)
+	ld	5, .tocent__vgPlain_stats__n_xindir_misses_32@toc(2)
+        lwz     6,0(5)
         addi    6,6,1
-        std     6,0(5)
+        stw     6,0(5)
 
         li      6,VG_TRC_INNER_FASTMISS
         li      7,0
diff --git a/coregrind/m_dispatch/dispatch-s390x-linux.S b/coregrind/m_dispatch/dispatch-s390x-linux.S
index 5cc517f..c63115d 100644
--- a/coregrind/m_dispatch/dispatch-s390x-linux.S
+++ b/coregrind/m_dispatch/dispatch-s390x-linux.S
@@ -8,8 +8,8 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright IBM Corp. 2010-2011
-  Copyright 2011-2012, Florian Krohm (britzel@acm.org)
+  Copyright IBM Corp. 2010-2012
+  Copyright (C) 2011-2012, Florian Krohm (britzel@acm.org)
         
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -39,10 +39,6 @@
 
 #if defined(VGA_s390x)
 
-/*
-#define XINDIR_STATS
-*/
-
 /*------------------------------------------------------------*/
 /*---                                                      ---*/
 /*--- The dispatch loop.  VG_(disp_run_translations) is    ---*/
@@ -183,17 +179,10 @@
 /* ------ Chain me to slow entry point ------ */
         .global VG_(disp_cp_chain_me_to_slowEP)
 VG_(disp_cp_chain_me_to_slowEP):
-        /* We got called via  BASR  %r1,tchain_scratch, i.e. %r1 is the return
-           address. Collect it, compute the place to patch and return to C land.
-           The return values (TRC, address-to-patch) are stored here in %r0 and %r1,
-           respectively */
+        /* When we come here %r1 contains the address of the place to patch.
+           The return values (TRC, address-to-patch) are stored here in
+           %r0 and %r1, respectively */
         lghi    %r0,VG_TRC_CHAIN_ME_TO_SLOW_EP
-        /* Recover the address where patching needs to happen */
-        /* FIXME: this is not good as it implies that LOAD64_LEN is fixed. But
-           we want it to be variable such that newer machines can take advantage
-           of hardware capabilities. So it would be better if this adjustment is
-           done before transfering control to here. */
-        aghi    %r1,-(S390_TCHAIN_LOAD64_LEN + S390_TCHAIN_CALL_LEN)
         j       postamble
 
 
@@ -201,9 +190,7 @@
         .global VG_(disp_cp_chain_me_to_fastEP)
 VG_(disp_cp_chain_me_to_fastEP):
         /* Identical to VG_(disp_cp_chain_me_to_slowEP), except value of %r0. */
-
         lghi    %r0,VG_TRC_CHAIN_ME_TO_FAST_EP
-        aghi    %r1,-(S390_TCHAIN_LOAD64_LEN + S390_TCHAIN_CALL_LEN)
         j       postamble
 
 
@@ -213,13 +200,11 @@
 	/* Where are we going? */
         lg      %r2, OFFSET_s390x_IA(%r13)
 
-#ifdef XINDIR_STATS
-        /* Increment VG_(stats__n_xindirs), an ULong value */
-        larl    %r8, VG_(stats__n_xindirs)
-        lg      %r10,0(%r8)
-        aghi    %r10,1
-        stg     %r10,0(%r8)
-#endif
+        /* Increment VG_(stats__n_xindirs_32) */
+        larl    %r8, VG_(stats__n_xindirs_32)
+        l       %r10,0(%r8)
+        ahi     %r10,1
+        st      %r10,0(%r8)
 
 	/* Try a fast lookup in the translation cache:
            Compute offset (not index) into VT_(tt_fast):
@@ -246,21 +231,17 @@
         
         /* Found a match.  Call .host.
            r11 is an address. There we will find the instrumented client code.
-           That code may modify the guest state register r13. The client code
-           will return to the beginning of this loop start by issuing br LR.
-           We can simply branch to the host code */
-        // FIXME Update comment
+           That code may modify the guest state register r13. */
         br      %r11
         .long   0x0   /* persuade insn decoders not to speculate past here */
 
 fast_lookup_failed:
-#ifdef XINDIR_STATS
-        /* Increment VG_(stats__n_xindir_misses), an ULong value */
-        larl    %r8, VG_(stats__n_xindir_misses)
-        lg      %r10,0(%r8)
-        aghi    %r10,1
-        stg     %r10,0(%r8)
-#endif
+        /* Increment VG_(stats__n_xindir_misses_32) */
+        larl    %r8, VG_(stats__n_xindir_misses_32)
+        l       %r10,0(%r8)
+        ahi     %r10,1
+        st      %r10,0(%r8)
+
         lghi    %r0,VG_TRC_INNER_FASTMISS
         lghi    %r1,0
         j       postamble
diff --git a/coregrind/m_dispatch/dispatch-x86-darwin.S b/coregrind/m_dispatch/dispatch-x86-darwin.S
index 1b216b3..a54b732 100644
--- a/coregrind/m_dispatch/dispatch-x86-darwin.S
+++ b/coregrind/m_dispatch/dispatch-x86-darwin.S
@@ -8,7 +8,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2000-2011 Julian Seward 
+  Copyright (C) 2000-2012 Julian Seward 
      jseward@acm.org
 
   This program is free software; you can redistribute it and/or
@@ -37,45 +37,35 @@
 #include "libvex_guest_offsets.h"	/* for OFFSET_x86_EIP */
 
 
-/* Global variables */
-/* These are defined here instead of in their respective C files to
-   avoid extra PIC branch code here. */
-.data
-.align 2
-
-/* m_transtab.c */
-.globl VG_(tt_fast)
-.align 4
-VG_(tt_fast):	.space VG_TT_FAST_SIZE*8, 0  /* (2*Addr) [VG_TT_FAST_SIZE] */
-.globl VG_(tt_fastN)
-VG_(tt_fastN):	.space VG_TT_FAST_SIZE*4, 0  /* (UInt *) [VG_TT_FAST_SIZE] */
-
-/* scheduler.c */
-.globl VG_(dispatch_ctr)
-VG_(dispatch_ctr):	.long 0
-
-	
 /*------------------------------------------------------------*/
 /*---                                                      ---*/
-/*--- The dispatch loop.  VG_(run_innerloop) is used to    ---*/
-/*--- run all translations except no-redir ones.           ---*/
+/*--- The dispatch loop.  VG_(disp_run_translations) is    ---*/
+/*--- used to run all translations,                        ---*/
+/*--- including no-redir ones.                             ---*/
 /*---                                                      ---*/
 /*------------------------------------------------------------*/
 
 /*----------------------------------------------------*/
-/*--- Preamble (set everything up)                 ---*/
+/*--- Entry and preamble (set everything up)       ---*/
 /*----------------------------------------------------*/
 
 /* signature:
-UWord VG_(run_innerloop) ( void* guest_state, UWord do_profiling );
+void VG_(disp_run_translations)( UWord* two_words,
+                                 void*  guest_state, 
+                                 Addr   host_addr );
 */
 .text
-.globl VG_(run_innerloop)
-VG_(run_innerloop):
-	/* 4(%esp) holds guest_state */
-	/* 8(%esp) holds do_profiling */
-	
-	/* ----- entry point to VG_(run_innerloop) ----- */
+.globl VG_(disp_run_translations)
+VG_(disp_run_translations):
+        /* 0(%esp) holds our return address. */
+	/* 4(%esp) holds two_words */
+	/* 8(%esp) holds guest_state */
+	/* 12(%esp) holds host_addr */
+
+        /* The preamble */
+
+        /* Save integer registers, since this is a pseudo-function. */
+        pushl   %eax
 	pushl	%ebx
 	pushl	%ecx
 	pushl	%edx
@@ -83,14 +73,11 @@
 	pushl	%edi
 	pushl	%ebp
 	
-	/* 28(%esp) holds guest_state */
-	/* 32(%esp) holds do_profiling */
+	/* 28+4(%esp) holds two_words */
+	/* 28+8(%esp) holds guest_state */
+	/* 28+12(%esp) holds host_addr */
 
-	/* Set up the guest state pointer */
-	movl	28(%esp), %ebp
-	
-	/* fetch %EIP into %eax */
-	movl	OFFSET_x86_EIP(%ebp), %eax
+        /* Get the host CPU in the state expected by generated code. */
 
 	/* set host FPU control word to the default mode expected 
            by VEX-generated code.  See comments in libvex.h for
@@ -110,140 +97,32 @@
 L1:
 	/* set dir flag to known value */
 	cld
-	
-	/* fall into main loop (the right one) */
-	cmpl	$0, 32(%esp) /* do_profiling */
-	je	VG_(run_innerloop__dispatch_unassisted_unprofiled)
-	jmp	VG_(run_innerloop__dispatch_unassisted_profiled)
+
+	/* Set up the guest state pointer */
+	movl	28+8(%esp), %ebp
+
+        /* and jump into the code cache.  Chained translations in
+           the code cache run, until for whatever reason, they can't
+           continue.  When that happens, the translation in question
+           will jump (or call) to one of the continuation points
+           VG_(cp_...) below. */
+        jmpl    *28+12(%esp)
 	/*NOTREACHED*/
 
 /*----------------------------------------------------*/
-/*--- NO-PROFILING (standard) dispatcher           ---*/
+/*--- Postamble and exit.                          ---*/
 /*----------------------------------------------------*/
 
-.globl	VG_(run_innerloop__dispatch_unassisted_unprofiled)
-VG_(run_innerloop__dispatch_unassisted_unprofiled):
-	/* AT ENTRY: %eax is next guest addr, %ebp is the
-           unmodified guest state ptr */
+postamble:
+        /* At this point, %eax and %edx contain two
+           words to be returned to the caller.  %eax
+           holds a TRC value, and %edx optionally may
+           hold another word (for CHAIN_ME exits, the
+           address of the place to patch.) */
 
-	/* save the jump address in the guest state */
-	movl	%eax, OFFSET_x86_EIP(%ebp)
-
-	/* Are we out of timeslice?  If yes, defer to scheduler. */
-	subl	$1, VG_(dispatch_ctr)
-	jz	counter_is_zero
-
-	/* try a fast lookup in the translation cache */
-	movl	%eax, %ebx
-	andl	$VG_TT_FAST_MASK, %ebx
-	movl	0+VG_(tt_fast)(,%ebx,8), %esi	/* .guest */
-	movl	4+VG_(tt_fast)(,%ebx,8), %edi	/* .host */
-	cmpl	%eax, %esi
-	jnz	fast_lookup_failed
-
-	/* Found a match.  Jump to .host. */
-	jmp 	*%edi
-	ud2	/* persuade insn decoders not to speculate past here */
-	/* generated code should run, then jump back to
-	   VG_(run_innerloop__dispatch_{un,}assisted_unprofiled). */
-	/*NOTREACHED*/
-
-.globl	VG_(run_innerloop__dispatch_assisted_unprofiled)
-VG_(run_innerloop__dispatch_assisted_unprofiled):
-	/* AT ENTRY: %eax is next guest addr, %ebp is the
-           modified guest state ptr */
-        jmp     gsp_changed
-        ud2
-        /*NOTREACHED*/
-
-/*----------------------------------------------------*/
-/*--- PROFILING dispatcher (can be much slower)    ---*/
-/*----------------------------------------------------*/
-
-.globl	VG_(run_innerloop__dispatch_unassisted_profiled)
-VG_(run_innerloop__dispatch_unassisted_profiled):
-	/* AT ENTRY: %eax is next guest addr, %ebp is the
-           unmodified guest state ptr */
-
-	/* save the jump address in the guest state */
-	movl	%eax, OFFSET_x86_EIP(%ebp)
-
-	/* Are we out of timeslice?  If yes, defer to scheduler. */
-	subl	$1, VG_(dispatch_ctr)
-	jz	counter_is_zero
-
-	/* try a fast lookup in the translation cache */
-	movl	%eax, %ebx
-	andl	$VG_TT_FAST_MASK, %ebx
-	movl	0+VG_(tt_fast)(,%ebx,8), %esi	/* .guest */
-	movl	4+VG_(tt_fast)(,%ebx,8), %edi	/* .host */
-	cmpl	%eax, %esi
-	jnz	fast_lookup_failed
-	/* increment bb profile counter */
-	/* note: innocuous as this sounds, it causes a huge amount more
-           stress on D1 and significantly slows everything down. */
-	movl	VG_(tt_fastN)(,%ebx,4), %edx
-	/* Use "addl $1", not "incl", to avoid partial-flags stall on P4 */
-	addl	$1, (%edx)
-
-	/* Found a match.  Jump to .host. */
-	jmp 	*%edi
-	ud2	/* persuade insn decoders not to speculate past here */
-	/* generated code should run, then jump back to
-	   VG_(run_innerloop__dispatch_{un,}assisted_profiled). */
-	/*NOTREACHED*/
-
-.globl	VG_(run_innerloop__dispatch_assisted_profiled)
-VG_(run_innerloop__dispatch_assisted_profiled):
-	/* AT ENTRY: %eax is next guest addr, %ebp is the
-           modified guest state ptr */
-        jmp     gsp_changed
-        ud2
-        /*NOTREACHED*/
-
-/*----------------------------------------------------*/
-/*--- exit points                                  ---*/
-/*----------------------------------------------------*/
-
-gsp_changed:
-	/* Someone messed with the gsp.  Have to
-           defer to scheduler to resolve this.  dispatch ctr
-	   is not yet decremented, so no need to increment. */
-	/* %EIP is NOT up to date here.  First, need to write
-	   %eax back to %EIP, but without trashing %ebp since
-	   that holds the value we want to return to the scheduler.
-	   Hence use %esi transiently for the guest state pointer. */
-	movl	28(%esp), %esi
-	movl	%eax, OFFSET_x86_EIP(%esi)
-	movl	%ebp, %eax
-	jmp	run_innerloop_exit
-	/*NOTREACHED*/
-
-counter_is_zero:
-	/* %EIP is up to date here */
-	/* back out decrement of the dispatch counter */
-	addl	$1, VG_(dispatch_ctr)
-	movl	$VG_TRC_INNER_COUNTERZERO, %eax
-	jmp	run_innerloop_exit
-	/*NOTREACHED*/
-
-fast_lookup_failed:
-	/* %EIP is up to date here */
-	/* back out decrement of the dispatch counter */
-	addl	$1, VG_(dispatch_ctr)
-	movl	$VG_TRC_INNER_FASTMISS, %eax
-	jmp	run_innerloop_exit
-	/*NOTREACHED*/
-
-
-
-/* All exits from the dispatcher go through here.  %eax holds
-   the return value. 
-*/
-run_innerloop_exit: 
-	/* We're leaving.  Check that nobody messed with
-           %mxcsr or %fpucw.  We can't mess with %eax here as it
-	   holds the tentative return value, but any other is OK. */
+	/* We're leaving.  Check that nobody messed with %mxcsr
+           or %fpucw.  We can't mess with %eax or %edx here as they
+	   holds the tentative return value, but any others are OK. */
 #if !defined(ENABLE_INNER)
         /* This check fails for self-hosting, so skip in that case */
 	pushl	$0
@@ -252,7 +131,7 @@
 	popl	%esi /* get rid of the word without trashing %eflags */
 	jnz	invariant_violation
 #endif
-	cmpl	$0, VG_(machine_x86_have_mxcsr)
+#	cmpl	$0, VG_(machine_x86_have_mxcsr)
 	jz	L2
 	pushl	$0
 	stmxcsr	(%esp)
@@ -261,69 +140,105 @@
 	popl	%esi
 	jnz	invariant_violation
 L2:	/* otherwise we're OK */
-	jmp	run_innerloop_exit_REALLY
-
+	jmp	remove_frame
 invariant_violation:
 	movl	$VG_TRC_INVARIANT_FAILED, %eax
-	jmp	run_innerloop_exit_REALLY
+        movl    $0, %edx
 
-run_innerloop_exit_REALLY:
+remove_frame:
+        /* Stash return values */
+        movl    28+4(%esp), %edi        /* two_words */
+        movl    %eax, 0(%edi)
+        movl    %edx, 4(%edi)
+        /* Restore int regs and return. */
 	popl	%ebp
 	popl	%edi
 	popl	%esi
 	popl	%edx
 	popl	%ecx
 	popl	%ebx
+	popl	%eax
 	ret	
+        
+/*----------------------------------------------------*/
+/*--- Continuation points                          ---*/
+/*----------------------------------------------------*/
 
+/* ------ Chain me to slow entry point ------ */
+.globl VG_(disp_cp_chain_me_to_slowEP)
+VG_(disp_cp_chain_me_to_slowEP):
+        /* We got called.  The return address indicates
+           where the patching needs to happen.  Collect
+           the return address and, exit back to C land,
+           handing the caller the pair (Chain_me_S, RA) */
+        movl    $VG_TRC_CHAIN_ME_TO_SLOW_EP, %eax
+        popl    %edx
+        /* 5 = movl $VG_(disp_chain_me_to_slowEP), %edx;
+           2 = call *%edx */
+        subl    $5+2, %edx
+        jmp     postamble
 
-/*------------------------------------------------------------*/
-/*---                                                      ---*/
-/*--- A special dispatcher, for running no-redir           ---*/
-/*--- translations.  Just runs the given translation once. ---*/
-/*---                                                      ---*/
-/*------------------------------------------------------------*/
+/* ------ Chain me to fast entry point ------ */
+.globl VG_(disp_cp_chain_me_to_fastEP)
+VG_(disp_cp_chain_me_to_fastEP):
+        /* We got called.  The return address indicates
+           where the patching needs to happen.  Collect
+           the return address and, exit back to C land,
+           handing the caller the pair (Chain_me_F, RA) */
+        movl    $VG_TRC_CHAIN_ME_TO_FAST_EP, %eax
+        popl    %edx
+        /* 5 = movl $VG_(disp_chain_me_to_fastEP), %edx;
+           2 = call *%edx */
+        subl    $5+2, %edx
+        jmp     postamble
 
-/* signature:
-void VG_(run_a_noredir_translation) ( UWord* argblock );
-*/
+/* ------ Indirect but boring jump ------ */
+.globl VG_(disp_cp_xindir)
+VG_(disp_cp_xindir):
+	/* Where are we going? */
+	movl	OFFSET_x86_EIP(%ebp), %eax
 
-/* Run a no-redir translation.  argblock points to 4 UWords, 2 to carry args
-   and 2 to carry results:
-      0: input:  ptr to translation
-      1: input:  ptr to guest state
-      2: output: next guest PC
-      3: output: guest state pointer afterwards (== thread return code)
-*/
-.globl VG_(run_a_noredir_translation)
-VG_(run_a_noredir_translation):
-	/* Save callee-saves regs */
-	pushl %esi
-	pushl %edi
-	pushl %ebp
-	pushl %ebx
+        /* stats only */
+        addl    $1, VG_(stats__n_xindirs_32)
+        
+        /* try a fast lookup in the translation cache */
+        movl    %eax, %ebx                      /* next guest addr */
+        andl    $VG_TT_FAST_MASK, %ebx          /* entry# */
+        movl    0+VG_(tt_fast)(,%ebx,8), %esi   /* .guest */
+        movl    4+VG_(tt_fast)(,%ebx,8), %edi   /* .host */
+        cmpl    %eax, %esi
+        jnz     fast_lookup_failed
 
-	movl 20(%esp), %edi	/* %edi = argblock */
-	movl 4(%edi), %ebp	/* argblock[1] */
-	jmp *0(%edi)		/* argblock[0] */
-	/*NOTREACHED*/
-	ud2
-	/* If the translation has been correctly constructed, we
-	should resume at the the following label. */
-.globl VG_(run_a_noredir_translation__return_point)
-VG_(run_a_noredir_translation__return_point):
-	movl 20(%esp), %edi
-	movl %eax, 8(%edi)	/* argblock[2] */
-	movl %ebp, 12(%edi)	/* argblock[3] */
+        /* Found a match.  Jump to .host. */
+	jmp 	*%edi
+	ud2	/* persuade insn decoders not to speculate past here */
 
-	popl %ebx
-	popl %ebp
-	popl %edi
-	popl %esi
-	ret
+fast_lookup_failed:
+        /* stats only */
+        addl    $1, VG_(stats__n_xindir_misses_32)
+
+	movl	$VG_TRC_INNER_FASTMISS, %eax
+        movl    $0, %edx
+	jmp	postamble
+
+/* ------ Assisted jump ------ */
+.globl VG_(disp_cp_xassisted)
+VG_(disp_cp_xassisted):
+        /* %ebp contains the TRC */
+        movl    %ebp, %eax
+        movl    $0, %edx
+        jmp     postamble
+
+/* ------ Event check failed ------ */
+.globl VG_(disp_cp_evcheck_fail)
+VG_(disp_cp_evcheck_fail):
+       	movl	$VG_TRC_INNER_COUNTERZERO, %eax
+        movl    $0, %edx
+	jmp	postamble
+
 
 #endif // defined(VGP_x86_darwin)
-			
+
 /*--------------------------------------------------------------------*/
 /*--- end                                                          ---*/
 /*--------------------------------------------------------------------*/
diff --git a/coregrind/m_dispatch/dispatch-x86-linux.S b/coregrind/m_dispatch/dispatch-x86-linux.S
index f34d8bf..a79ab4a 100644
--- a/coregrind/m_dispatch/dispatch-x86-linux.S
+++ b/coregrind/m_dispatch/dispatch-x86-linux.S
@@ -8,7 +8,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2000-2011 Julian Seward 
+  Copyright (C) 2000-2012 Julian Seward 
      jseward@acm.org
 
   This program is free software; you can redistribute it and/or
@@ -199,9 +199,8 @@
 	/* Where are we going? */
 	movl	OFFSET_x86_EIP(%ebp), %eax
 
-        /* RM ME -- stats only */
-        addl    $1, vgPlain_stats__n_xindirs
-        adcl    $0, vgPlain_stats__n_xindirs+4
+        /* stats only */
+        addl    $1, VG_(stats__n_xindirs_32)
         
         /* try a fast lookup in the translation cache */
         movl    %eax, %ebx                      /* next guest addr */
@@ -216,9 +215,8 @@
 	ud2	/* persuade insn decoders not to speculate past here */
 
 fast_lookup_failed:
-        /* RM ME -- stats only */
-        addl    $1, vgPlain_stats__n_xindir_misses
-        adcl    $0, vgPlain_stats__n_xindir_misses+4
+        /* stats only */
+        addl    $1, VG_(stats__n_xindir_misses_32)
 
 	movl	$VG_TRC_INNER_FASTMISS, %eax
         movl    $0, %edx
diff --git a/coregrind/m_errormgr.c b/coregrind/m_errormgr.c
index 44976a8..0e99234 100644
--- a/coregrind/m_errormgr.c
+++ b/coregrind/m_errormgr.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -139,7 +139,7 @@
    ExeContext* where;      // Initialised by core
    ErrorKind ekind;        // Used by ALL.  Must be in the range (0..)
    Addr addr;              // Used frequently
-   Char* string;           // Used frequently
+   const HChar* string;    // Used frequently
    void* extra;            // For any tool-specific extras
 };
 
@@ -159,7 +159,7 @@
    return err->addr;
 }
 
-Char* VG_(get_error_string) ( Error* err )
+const HChar* VG_(get_error_string) ( Error* err )
 {
    return err->string;
 }
@@ -211,7 +211,9 @@
 typedef
    struct {
       SuppLocTy ty;
-      Char*     name; /* NULL for NoName and DotDotDot */
+      Bool      name_is_simple_str; /* True if name is a string without
+                                       '?' and '*' wildcard characters. */
+      HChar*    name; /* NULL for NoName and DotDotDot */
    }
    SuppLoc;
 
@@ -222,7 +224,7 @@
 struct _Supp {
    struct _Supp* next;
    Int count;     // The number of times this error has been suppressed.
-   Char* sname;   // The name by which the suppression is referred to.
+   HChar* sname;  // The name by which the suppression is referred to.
 
    // Length of 'callers'
    Int n_callers;
@@ -232,7 +234,7 @@
 
    /* The tool-specific part */
    SuppKind skind;   // What kind of suppression.  Must use the range (0..).
-   Char* string;     // String -- use is optional.  NULL by default.
+   HChar* string;    // String -- use is optional.  NULL by default.
    void* extra;      // Anything else -- use is optional.  NULL by default.
 };
 
@@ -241,7 +243,7 @@
    return su->skind;
 }
 
-Char* VG_(get_supp_string) ( Supp* su )
+HChar* VG_(get_supp_string) ( Supp* su )
 {
    return su->string;
 }
@@ -257,7 +259,7 @@
    su->skind = skind;
 }
 
-void VG_(set_supp_string) ( Supp* su, Char* string )
+void VG_(set_supp_string) ( Supp* su, HChar* string )
 {
    su->string = string;
 }
@@ -315,7 +317,7 @@
 
 static void printSuppForIp_XML(UInt n, Addr ip, void* uu_opaque)
 {
-   static UChar buf[ERRTXT_LEN];
+   static HChar buf[ERRTXT_LEN];
    if ( VG_(get_fnname_no_cxx_demangle) (ip, buf,  ERRTXT_LEN) ) {
       VG_(printf_xml)("    <sframe> <fun>%pS</fun> </sframe>\n", buf);
    } else
@@ -328,7 +330,7 @@
 
 static void printSuppForIp_nonXML(UInt n, Addr ip, void* textV)
 {
-   static UChar buf[ERRTXT_LEN];
+   static HChar buf[ERRTXT_LEN];
    XArray* /* of HChar */ text = (XArray*)textV;
    if ( VG_(get_fnname_no_cxx_demangle) (ip, buf,  ERRTXT_LEN) ) {
       VG_(xaprintf)(text, "   fun:%s\n", buf);
@@ -344,9 +346,9 @@
 */
 static void gen_suppression(Error* err)
 {
-   Char        xtra[256]; /* assumed big enough (is overrun-safe) */
+   HChar       xtra[256]; /* assumed big enough (is overrun-safe) */
    Bool        anyXtra;
-   Char*       name;
+   const HChar* name;
    ExeContext* ec;
    XArray* /* HChar */ text;
 
@@ -443,9 +445,9 @@
 /* Figure out if we want to perform a given action for this error,
    possibly by asking the user.
 */
-Bool VG_(is_action_requested) ( Char* action, Bool* clo )
+Bool VG_(is_action_requested) ( const HChar* action, Bool* clo )
 {
-   Char ch, ch2;
+   HChar ch, ch2;
    Int res;
 
    /* First off, we shouldn't be asking the user anything if
@@ -616,7 +618,7 @@
 /* Construct an error */
 static
 void construct_error ( Error* err, ThreadId tid, ErrorKind ekind, Addr a,
-                       Char* s, void* extra, ExeContext* where )
+                       const HChar* s, void* extra, ExeContext* where )
 {
    /* DO NOT MAKE unique_counter NON-STATIC */
    static UInt unique_counter = 0;
@@ -650,7 +652,7 @@
    All detected errors are notified here; this routine decides if/when the
    user should see the error. */
 void VG_(maybe_record_error) ( ThreadId tid, 
-                               ErrorKind ekind, Addr a, Char* s, void* extra )
+                               ErrorKind ekind, Addr a, const HChar* s, void* extra )
 {
           Error  err;
           Error* p;
@@ -822,7 +824,7 @@
    suppressed.  Bool 'print_error' dictates whether to print the error. 
    Bool 'count_error' dictates whether to count the error in n_errs_found.
 */
-Bool VG_(unique_error) ( ThreadId tid, ErrorKind ekind, Addr a, Char* s,
+Bool VG_(unique_error) ( ThreadId tid, ErrorKind ekind, Addr a, const HChar* s,
                          void* extra, ExeContext* where, Bool print_error,
                          Bool allow_db_attach, Bool count_error )
 {
@@ -1032,10 +1034,10 @@
 /* Get the next char from fd into *out_buf.  Returns 1 if success,
    0 if eof or < 0 if error. */
 
-static Int get_char ( Int fd, Char* out_buf )
+static Int get_char ( Int fd, HChar* out_buf )
 {
    Int r;
-   static Char buf[256];
+   static HChar buf[256];
    static Int buf_size = 0;
    static Int buf_used = 0;
    vg_assert(buf_size >= 0 && buf_size <= 256);
@@ -1056,13 +1058,16 @@
    return 1;
 }
 
-Bool VG_(get_line) ( Int fd, Char** bufpp, SizeT* nBufp, Int* lineno )
+// Get a non blank non comment line.
+// Returns True if eof.
+static Bool get_nbnc_line ( Int fd, HChar** bufpp, SizeT* nBufp, Int* lineno )
 {
-   Char* buf  = *bufpp;
+   HChar* buf  = *bufpp;
    SizeT nBuf = *nBufp;
-   Char  ch;
+   HChar  ch;
    Int   n, i;
    while (True) {
+      buf[0] = 0;
       /* First, read until a non-blank char appears. */
       while (True) {
          n = get_char(fd, &ch);
@@ -1102,6 +1107,37 @@
    }
 }
 
+// True if buf starts with fun: or obj: or is ...
+static Bool is_location_line (HChar* buf)
+{
+   return VG_(strncmp)(buf, "fun:", 4) == 0
+      || VG_(strncmp)(buf, "obj:", 4) == 0
+      || VG_(strcmp)(buf, "...") == 0;
+}
+
+Bool VG_(get_line) ( Int fd, HChar** bufpp, SizeT* nBufp, Int* lineno )
+{
+   Bool eof = get_nbnc_line (fd, bufpp, nBufp, lineno);
+
+   if (eof)
+      return True;
+
+   if (is_location_line(*bufpp))
+      return True; // Not a extra suppr line
+   else
+      return False; // An suppression extra line
+}
+
+/* True if s contains no wildcard (?, *) characters. */
+static Bool is_simple_str (const HChar *s)
+{
+   while (*s) {
+      if (*s == '?' || *s == '*')
+         return False;
+      s++;
+   }
+   return True;
+}
 
 /* buf contains the raw name of a caller, supposedly either
        fun:some_function_name   or
@@ -1112,22 +1148,25 @@
    after the descriptor (fun: or obj:) part.
    Returns False if failed.
 */
-static Bool setLocationTy ( SuppLoc* p, Char *buf )
+static Bool setLocationTy ( SuppLoc* p, HChar *buf )
 {
    if (VG_(strncmp)(buf, "fun:", 4) == 0) {
       p->name = VG_(arena_strdup)(VG_AR_CORE,
                                   "errormgr.sLTy.1", buf+4);
+      p->name_is_simple_str = is_simple_str (p->name);
       p->ty = FunName;
       return True;
    }
    if (VG_(strncmp)(buf, "obj:", 4) == 0) {
       p->name = VG_(arena_strdup)(VG_AR_CORE,
                                   "errormgr.sLTy.2", buf+4);
+      p->name_is_simple_str = is_simple_str (p->name);
       p->ty = ObjName;
       return True;
    }
    if (VG_(strcmp)(buf, "...") == 0) {
       p->name = NULL;
+      p->name_is_simple_str = False;
       p->ty = DotDotDot;
       return True;
    }
@@ -1138,10 +1177,10 @@
 
 
 /* Look for "tool" in a string like "tool1,tool2,tool3" */
-static Bool tool_name_present(Char *name, Char *names)
+static Bool tool_name_present(const HChar *name, HChar *names)
 {
    Bool  found;
-   Char *s = NULL;   /* Shut gcc up */
+   HChar *s = NULL;   /* Shut gcc up */
    Int   len = VG_(strlen)(name);
 
    found = (NULL != (s = VG_(strstr)(names, name)) &&
@@ -1156,16 +1195,17 @@
    and place them in the suppressions list.  If there's any difficulty
    doing this, just give up -- there's no point in trying to recover.  
 */
-static void load_one_suppressions_file ( Char* filename )
+static void load_one_suppressions_file ( const HChar* filename )
 {
    SysRes sres;
    Int    fd, i, j, lineno = 0;
+   Bool   got_a_location_line_read_by_tool;
    Bool   eof;
    SizeT  nBuf = 200;
-   Char*  buf = VG_(malloc)("errormgr.losf.1", nBuf);
-   Char*  tool_names;
-   Char*  supp_name;
-   Char*  err_str = NULL;
+   HChar* buf = VG_(malloc)("errormgr.losf.1", nBuf);
+   HChar* tool_names;
+   HChar* supp_name;
+   const HChar* err_str = NULL;
    SuppLoc tmp_callers[VG_MAX_SUPP_CALLERS];
 
    // Check it's not a directory.
@@ -1198,12 +1238,13 @@
       // Initialise temporary reading-in buffer.
       for (i = 0; i < VG_MAX_SUPP_CALLERS; i++) {
          tmp_callers[i].ty   = NoName;
+         tmp_callers[i].name_is_simple_str = False;
          tmp_callers[i].name = NULL;
       }
 
       supp->string = supp->extra = NULL;
 
-      eof = VG_(get_line) ( fd, &buf, &nBuf, &lineno );
+      eof = get_nbnc_line ( fd, &buf, &nBuf, &lineno );
       if (eof) {
          VG_(arena_free)(VG_AR_CORE, supp);
          break;
@@ -1211,15 +1252,15 @@
 
       if (!VG_STREQ(buf, "{")) BOMB("expected '{' or end-of-file");
       
-      eof = VG_(get_line) ( fd, &buf, &nBuf, &lineno );
+      eof = get_nbnc_line ( fd, &buf, &nBuf, &lineno );
 
       if (eof || VG_STREQ(buf, "}")) BOMB("unexpected '}'");
 
       supp->sname = VG_(arena_strdup)(VG_AR_CORE, "errormgr.losf.2", buf);
 
-      eof = VG_(get_line) ( fd, &buf, &nBuf, &lineno );
+      eof = get_nbnc_line ( fd, &buf, &nBuf, &lineno );
 
-      if (eof) BOMB("unexpected end-of-file");
+      if (eof) BOMB("unexpected end-of-file (expecting tool:suppr)");
 
       /* Check it has the "tool1,tool2,...:supp" form (look for ':') */
       i = 0;
@@ -1255,8 +1296,8 @@
       else {
          // Ignore rest of suppression
          while (True) {
-            eof = VG_(get_line) ( fd, &buf, &nBuf, &lineno );
-            if (eof) BOMB("unexpected end-of-file");
+            eof = get_nbnc_line ( fd, &buf, &nBuf, &lineno );
+            if (eof) BOMB("unexpected end-of-file (when skipping suppression)");
             if (VG_STREQ(buf, "}"))
                break;
          }
@@ -1265,6 +1306,9 @@
          continue;
       }
 
+      buf[0] = 0;
+      // tool_read_extra_suppression_info might read lines
+      // from fd till a location line. 
       if (VG_(needs).tool_errors && 
           !VG_TDICT_CALL(tool_read_extra_suppression_info,
                          fd, &buf, &nBuf, supp))
@@ -1272,12 +1316,19 @@
          BOMB("bad or missing extra suppression info");
       }
 
+      got_a_location_line_read_by_tool = buf[0] != 0 && is_location_line(buf);
+
       /* the main frame-descriptor reading loop */
       i = 0;
       while (True) {
-         eof = VG_(get_line) ( fd, &buf, &nBuf, &lineno );
+         if (got_a_location_line_read_by_tool) {
+            got_a_location_line_read_by_tool = False;
+            eof = False;
+         } else {
+            eof = get_nbnc_line ( fd, &buf, &nBuf, &lineno );
+         }
          if (eof)
-            BOMB("unexpected end-of-file");
+            BOMB("unexpected end-of-file (when reading stack trace)");
          if (VG_STREQ(buf, "}")) {
             if (i > 0) {
                break;
@@ -1299,7 +1350,7 @@
       // lines and grab the '}'.
       if (!VG_STREQ(buf, "}")) {
          do {
-            eof = VG_(get_line) ( fd, &buf, &nBuf, &lineno );
+            eof = get_nbnc_line ( fd, &buf, &nBuf, &lineno );
          } while (!eof && !VG_STREQ(buf, "}"));
       }
 
@@ -1373,24 +1424,127 @@
    matching a sequence of Addrs against a pattern composed of a
    sequence of SuppLocs.
 */
-static Bool supploc_IsStar ( void* supplocV )
+static Bool supploc_IsStar ( const void* supplocV )
 {
-   SuppLoc* supploc = (SuppLoc*)supplocV;
+   const SuppLoc* supploc = supplocV;
    return supploc->ty == DotDotDot;
 }
 
-static Bool supploc_IsQuery ( void* supplocV )
+static Bool supploc_IsQuery ( const void* supplocV )
 {
    return False; /* there's no '?' equivalent in the supp syntax */
 }
 
-static Bool supp_pattEQinp ( void* supplocV, void* addrV )
-{
-   SuppLoc* supploc = (SuppLoc*)supplocV; /* PATTERN */
-   Addr     ip      = *(Addr*)addrV; /* INPUT */
+/* IPtoFunOrObjCompleter is a lazy completer of the IPs
+   needed to match an error with the suppression patterns.
+   The matching between an IP and a suppression pattern is done either
+   with the IP function name or with the IP object name.
+   First time the fun or obj name is needed for an IP member
+   of a stack trace, it will be computed and stored in names.
+   The IPtoFunOrObjCompleter type is designed to minimise the nr of
+   allocations and the nr of debuginfo search. */
+typedef
+   struct {
+      StackTrace ips; // stack trace we are lazily completing.
+      UWord n_ips; // nr of elements in ips.
 
-   Char caller_name[ERRTXT_LEN];
-   caller_name[0] = 0;
+      Int* fun_offsets;
+      // fun_offsets[i] is the offset in names where the
+      // function name for ips[i] is located.
+      // An offset -1 means the function name is not yet completed.
+      Int* obj_offsets;
+      // Similarly, obj_offsets[i] gives the offset for the
+      // object name for ips[i] (-1 meaning object name not yet completed).
+
+      // All function names and object names will be concatenated
+      // in names. names is reallocated on demand.
+      HChar *names;
+      Int   names_szB;  // size of names.
+      Int   names_free; // offset first free HChar in names.
+   }
+   IPtoFunOrObjCompleter;
+
+// free the memory in ip2fo.
+static void clearIPtoFunOrObjCompleter
+  (IPtoFunOrObjCompleter* ip2fo)
+{
+   if (ip2fo->fun_offsets) VG_(free)(ip2fo->fun_offsets);
+   if (ip2fo->obj_offsets) VG_(free)(ip2fo->obj_offsets);
+   if (ip2fo->names)       VG_(free)(ip2fo->names);
+}
+
+/* foComplete returns the function name or object name for IP.
+   If needFun, returns the function name for IP
+   else returns the object name for IP.
+   The function name or object name will be computed and added in
+   names if not yet done.
+   IP must be equal to focompl->ipc[ixIP]. */
+static HChar* foComplete(IPtoFunOrObjCompleter* ip2fo,
+                         Addr IP, Int ixIP, Bool needFun)
+{
+   vg_assert (ixIP < ip2fo->n_ips);
+   vg_assert (IP == ip2fo->ips[ixIP]);
+
+   // ptr to the offset array for function offsets (if needFun)
+   // or object offsets (if !needFun).
+   Int** offsets;
+   if (needFun)
+      offsets = &ip2fo->fun_offsets;
+   else
+      offsets = &ip2fo->obj_offsets;
+
+   // Allocate offsets if not yet done.
+   if (!*offsets) {
+      Int i;
+      *offsets =
+         VG_(malloc)("foComplete",
+                     ip2fo->n_ips * sizeof(Int));
+      for (i = 0; i < ip2fo->n_ips; i++)
+         (*offsets)[i] = -1;
+   }
+
+   // Complete Fun name or Obj name for IP if not yet done.
+   if ((*offsets)[ixIP] == -1) {
+      /* Ensure we have ERRTXT_LEN characters available in names */
+      if (ip2fo->names_szB 
+            < ip2fo->names_free + ERRTXT_LEN) {
+         ip2fo->names 
+            = VG_(realloc)("foc_names",
+                           ip2fo->names,
+                           ip2fo->names_szB + ERRTXT_LEN);
+         ip2fo->names_szB += ERRTXT_LEN;
+      }
+      HChar* caller_name = ip2fo->names + ip2fo->names_free;
+      (*offsets)[ixIP] = ip2fo->names_free;
+      if (needFun) {
+         /* Get the function name into 'caller_name', or "???"
+            if unknown. */
+         // Nb: C++-mangled names are used in suppressions.  Do, though,
+         // Z-demangle them, since otherwise it's possible to wind
+         // up comparing "malloc" in the suppression against
+         // "_vgrZU_libcZdsoZa_malloc" in the backtrace, and the
+         // two of them need to be made to match.
+         if (!VG_(get_fnname_no_cxx_demangle)(IP, caller_name, ERRTXT_LEN))
+            VG_(strcpy)(caller_name, "???");
+      } else {
+         /* Get the object name into 'caller_name', or "???"
+            if unknown. */
+         if (!VG_(get_objname)(IP, caller_name, ERRTXT_LEN))
+            VG_(strcpy)(caller_name, "???");
+      }
+      ip2fo->names_free += VG_(strlen)(caller_name) + 1;
+   }
+
+   return ip2fo->names + (*offsets)[ixIP];
+}
+
+static Bool supp_pattEQinp ( const void* supplocV, const void* addrV,
+                             void* inputCompleter, UWord ixAddrV )
+{
+   const SuppLoc* supploc = supplocV; /* PATTERN */
+   Addr     ip      = *(const Addr*)addrV; /* INPUT */
+   IPtoFunOrObjCompleter* ip2fo = inputCompleter;
+   HChar* funobj_name; // Fun or Obj name.
 
    /* So, does this IP address match this suppression-line? */
    switch (supploc->ty) {
@@ -1402,43 +1556,33 @@
             this can't happen. */
          vg_assert(0);
       case ObjName:
-         /* Get the object name into 'caller_name', or "???"
-            if unknown. */
-         if (!VG_(get_objname)(ip, caller_name, ERRTXT_LEN))
-            VG_(strcpy)(caller_name, "???");
+         funobj_name = foComplete(ip2fo, ip, ixAddrV, False /*needFun*/);
          break; 
-      case FunName: 
-         /* Get the function name into 'caller_name', or "???"
-            if unknown. */
-         // Nb: C++-mangled names are used in suppressions.  Do, though,
-         // Z-demangle them, since otherwise it's possible to wind
-         // up comparing "malloc" in the suppression against
-         // "_vgrZU_libcZdsoZa_malloc" in the backtrace, and the
-         // two of them need to be made to match.
-         if (!VG_(get_fnname_no_cxx_demangle)(ip, caller_name, ERRTXT_LEN))
-            VG_(strcpy)(caller_name, "???");
+      case FunName:
+         funobj_name = foComplete(ip2fo, ip, ixAddrV, True /*needFun*/);
          break;
       default:
         vg_assert(0);
    }
 
-   /* So now we have the function or object name in caller_name, and
+   /* So now we have the function or object name in funobj_name, and
       the pattern (at the character level) to match against is in
       supploc->name.  Hence (and leading to a re-entrant call of
-      VG_(generic_match)): */
-   return VG_(string_match)(supploc->name, caller_name);
+      VG_(generic_match) if there is a wildcard character): */
+   if (supploc->name_is_simple_str)
+      return VG_(strcmp) (supploc->name, funobj_name) == 0;
+   else
+      return VG_(string_match)(supploc->name, funobj_name);
 }
 
 /////////////////////////////////////////////////////
 
-static Bool supp_matches_callers(Error* err, Supp* su)
+static Bool supp_matches_callers(IPtoFunOrObjCompleter* ip2fo, Supp* su)
 {
    /* Unwrap the args and set up the correct parameterisation of
       VG_(generic_match), using supploc_IsStar, supploc_IsQuery and
       supp_pattEQinp. */
-   /* note, StackTrace === Addr* */
-   StackTrace ips      = VG_(get_ExeContext_StackTrace)(err->where);
-   UWord      n_ips    = VG_(get_ExeContext_n_ips)(err->where);
+   /* note, StackTrace ip2fo->ips === Addr* */
    SuppLoc*   supps    = su->callers;
    UWord      n_supps  = su->n_callers;
    UWord      szbPatt  = sizeof(SuppLoc);
@@ -1448,8 +1592,9 @@
       VG_(generic_match)(
          matchAll,
          /*PATT*/supps, szbPatt, n_supps, 0/*initial Ix*/,
-         /*INPUT*/ips, szbInput, n_ips,  0/*initial Ix*/,
-         supploc_IsStar, supploc_IsQuery, supp_pattEQinp
+         /*INPUT*/ip2fo->ips, szbInput, ip2fo->n_ips,  0/*initial Ix*/,
+         supploc_IsStar, supploc_IsQuery, supp_pattEQinp,
+         ip2fo
       );
 }
 
@@ -1486,14 +1631,38 @@
    Supp* su;
    Supp* su_prev;
 
+   IPtoFunOrObjCompleter ip2fo;
+   /* Conceptually, ip2fo contains an array of function names and an array of
+      object names, corresponding to the array of IP of err->where.
+      These names are just computed 'on demand' (so once maximum),
+      then stored (efficiently, avoiding too many allocs) in ip2fo to be re-usable
+      for the matching of the same IP with the next suppression pattern. 
+
+      VG_(generic_match) gets this 'IP to Fun or Obj name completer' as one
+      of its arguments. It will then pass it to the function
+      supp_pattEQinp which will then lazily complete the IP function name or
+      object name inside ip2fo. Next time the fun or obj name for the same
+      IP is needed (i.e. for the matching with the next suppr pattern), then
+      the fun or obj name will not be searched again in the debug info. */
+
    /* stats gathering */
    em_supplist_searches++;
 
+   /* Prepare the lazy input completer. */
+   ip2fo.ips = VG_(get_ExeContext_StackTrace)(err->where);
+   ip2fo.n_ips = VG_(get_ExeContext_n_ips)(err->where);
+   ip2fo.fun_offsets = NULL;
+   ip2fo.obj_offsets = NULL;
+   ip2fo.names = NULL;
+   ip2fo.names_szB = 0;
+   ip2fo.names_free = 0;
+
    /* See if the error context matches any suppression. */
    su_prev = NULL;
    for (su = suppressions; su != NULL; su = su->next) {
       em_supplist_cmps++;
-      if (supp_matches_error(su, err) && supp_matches_callers(err, su)) {
+      if (supp_matches_error(su, err) 
+          && supp_matches_callers(&ip2fo, su)) {
          /* got a match.  Move this entry to the head of the list
             in the hope of making future searches cheaper. */
          if (su_prev) {
@@ -1502,10 +1671,12 @@
             su->next = suppressions;
             suppressions = su;
          }
+         clearIPtoFunOrObjCompleter(&ip2fo);
          return su;
       }
       su_prev = su;
    }
+   clearIPtoFunOrObjCompleter(&ip2fo);
    return NULL;      /* no matches */
 }
 
diff --git a/coregrind/m_execontext.c b/coregrind/m_execontext.c
index 208684d..2da7e39 100644
--- a/coregrind/m_execontext.c
+++ b/coregrind/m_execontext.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -45,9 +45,10 @@
 /*--- Low-level ExeContext storage.                        ---*/
 /*------------------------------------------------------------*/
 
-/* The first 4 IP values are used in comparisons to remove duplicate
-   errors, and for comparing against suppression specifications.  The
-   rest are purely informational (but often important).
+/* Depending on VgRes, the first 2, 4 or all IP values are used in
+   comparisons to remove duplicate errors, and for comparing against
+   suppression specifications.  If not used in comparison, the rest
+   are purely informational (but often important).
 
    The contexts are stored in a traditional chained hash table, so as
    to allow quick determination of whether a new context already
@@ -98,6 +99,7 @@
 /* ECU serial number */
 static UInt ec_next_ecu = 4; /* We must never issue zero */
 
+static ExeContext* null_ExeContext;
 
 /* Stats only: the number of times the system was searched to locate a
    context. */
@@ -119,6 +121,7 @@
 /*--- Exported functions.                                  ---*/
 /*------------------------------------------------------------*/
 
+static ExeContext* record_ExeContext_wrk2 ( Addr* ips, UInt n_ips ); /*fwds*/
 
 /* Initialise this subsystem. */
 static void init_ExeContext_storage ( void )
@@ -141,14 +144,39 @@
    for (i = 0; i < ec_htab_size; i++)
       ec_htab[i] = NULL;
 
+   {
+      Addr ips[1];
+      ips[0] = 0;
+      null_ExeContext = record_ExeContext_wrk2(ips, 1);
+      // null execontext must be the first one created and get ecu 4.
+      vg_assert(null_ExeContext->ecu == 4);
+   }
+
    init_done = True;
 }
 
 
 /* Print stats. */
-void VG_(print_ExeContext_stats) ( void )
+void VG_(print_ExeContext_stats) ( Bool with_stacktraces )
 {
    init_ExeContext_storage();
+
+   if (with_stacktraces) {
+      Int i;
+      ExeContext* ec;
+      VG_(message)(Vg_DebugMsg, "   exectx: Printing contexts stacktraces\n");
+      for (i = 0; i < ec_htab_size; i++) {
+         for (ec = ec_htab[i]; ec; ec = ec->chain) {
+            VG_(message)(Vg_DebugMsg, "   exectx: stacktrace ecu %u n_ips %u\n",
+                         ec->ecu, ec->n_ips);
+            VG_(pp_StackTrace)( ec->ips, ec->n_ips );
+         }
+      }
+      VG_(message)(Vg_DebugMsg, 
+                   "   exectx: Printed %'llu contexts stacktraces\n",
+                   ec_totstored);
+   }
+
    VG_(message)(Vg_DebugMsg, 
       "   exectx: %'lu lists, %'llu contexts (avg %'llu per list)\n",
       ec_htab_size, ec_totstored, ec_totstored / (ULong)ec_htab_size
@@ -293,11 +321,10 @@
 /* Do the first part of getting a stack trace: actually unwind the
    stack, and hand the results off to the duplicate-trace-finder
    (_wrk2). */
-static ExeContext* record_ExeContext_wrk2 ( Addr* ips, UInt n_ips ); /*fwds*/
 static ExeContext* record_ExeContext_wrk ( ThreadId tid, Word first_ip_delta,
                                            Bool first_ip_only )
 {
-   Addr ips[VG_DEEPEST_BACKTRACE];
+   Addr ips[VG_(clo_backtrace_size)];
    UInt n_ips;
 
    init_ExeContext_storage();
@@ -307,12 +334,9 @@
 
    vg_assert(VG_(is_valid_tid)(tid));
 
-   vg_assert(VG_(clo_backtrace_size) >= 1 &&
-             VG_(clo_backtrace_size) <= VG_DEEPEST_BACKTRACE);
-
    if (first_ip_only) {
       n_ips = 1;
-      ips[0] = VG_(get_IP)(tid);
+      ips[0] = VG_(get_IP)(tid) + first_ip_delta;
    } else {
       n_ips = VG_(get_StackTrace)( tid, ips, VG_(clo_backtrace_size),
                                    NULL/*array to dump SP values in*/,
@@ -396,9 +420,10 @@
    /* Bummer.  We have to allocate a new context record. */
    ec_totstored++;
 
-   new_ec = VG_(arena_malloc)( VG_AR_EXECTXT, "execontext.rEw2.2",
-                               sizeof(struct _ExeContext) 
-                               + n_ips * sizeof(Addr) );
+   new_ec = VG_(arena_perm_malloc)( VG_AR_EXECTXT,
+                                    sizeof(struct _ExeContext) 
+                                    + n_ips * sizeof(Addr),
+                                    vg_alignof(struct _ExeContext));
 
    for (i = 0; i < n_ips; i++)
       new_ec->ips[i] = ips[i];
@@ -431,8 +456,9 @@
                                       False/*!first_ip_only*/ );
 }
 
-ExeContext* VG_(record_depth_1_ExeContext)( ThreadId tid ) {
-   return record_ExeContext_wrk( tid, 0/*first_ip_delta*/,
+ExeContext* VG_(record_depth_1_ExeContext)( ThreadId tid, Word first_ip_delta )
+{
+   return record_ExeContext_wrk( tid, first_ip_delta,
                                       True/*first_ip_only*/ );
 }
 
@@ -472,9 +498,16 @@
 
 ExeContext* VG_(make_ExeContext_from_StackTrace)( Addr* ips, UInt n_ips )
 {
+   init_ExeContext_storage();
    return record_ExeContext_wrk2(ips, n_ips);
 }
 
+ExeContext* VG_(null_ExeContext) (void)
+{
+   init_ExeContext_storage();
+   return null_ExeContext;
+}
+
 /*--------------------------------------------------------------------*/
 /*--- end                                           m_execontext.c ---*/
 /*--------------------------------------------------------------------*/
diff --git a/coregrind/m_gdbserver/64bit-avx-valgrind-s1.xml b/coregrind/m_gdbserver/64bit-avx-valgrind-s1.xml
new file mode 100644
index 0000000..cc2bb59
--- /dev/null
+++ b/coregrind/m_gdbserver/64bit-avx-valgrind-s1.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.i386.avx.valgrind.s1">
+  <reg name="ymm0hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm1hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm2hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm3hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm4hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm5hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm6hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm7hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm8hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm9hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm10hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm11hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm12hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm13hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm14hs1" bitsize="128" type="uint128"/>
+  <reg name="ymm15hs1" bitsize="128" type="uint128"/>
+</feature>
diff --git a/coregrind/m_gdbserver/64bit-avx-valgrind-s2.xml b/coregrind/m_gdbserver/64bit-avx-valgrind-s2.xml
new file mode 100644
index 0000000..f82cb16
--- /dev/null
+++ b/coregrind/m_gdbserver/64bit-avx-valgrind-s2.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.i386.avx.valgrind.s2">
+  <reg name="ymm0hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm1hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm2hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm3hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm4hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm5hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm6hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm7hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm8hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm9hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm10hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm11hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm12hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm13hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm14hs2" bitsize="128" type="uint128"/>
+  <reg name="ymm15hs2" bitsize="128" type="uint128"/>
+</feature>
diff --git a/coregrind/m_gdbserver/64bit-avx.xml b/coregrind/m_gdbserver/64bit-avx.xml
new file mode 100644
index 0000000..838bd6a
--- /dev/null
+++ b/coregrind/m_gdbserver/64bit-avx.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.i386.avx">
+  <reg name="ymm0h" bitsize="128" type="uint128"/>
+  <reg name="ymm1h" bitsize="128" type="uint128"/>
+  <reg name="ymm2h" bitsize="128" type="uint128"/>
+  <reg name="ymm3h" bitsize="128" type="uint128"/>
+  <reg name="ymm4h" bitsize="128" type="uint128"/>
+  <reg name="ymm5h" bitsize="128" type="uint128"/>
+  <reg name="ymm6h" bitsize="128" type="uint128"/>
+  <reg name="ymm7h" bitsize="128" type="uint128"/>
+  <reg name="ymm8h" bitsize="128" type="uint128"/>
+  <reg name="ymm9h" bitsize="128" type="uint128"/>
+  <reg name="ymm10h" bitsize="128" type="uint128"/>
+  <reg name="ymm11h" bitsize="128" type="uint128"/>
+  <reg name="ymm12h" bitsize="128" type="uint128"/>
+  <reg name="ymm13h" bitsize="128" type="uint128"/>
+  <reg name="ymm14h" bitsize="128" type="uint128"/>
+  <reg name="ymm15h" bitsize="128" type="uint128"/>
+</feature>
diff --git a/coregrind/m_gdbserver/amd64-avx-coresse-valgrind.xml b/coregrind/m_gdbserver/amd64-avx-coresse-valgrind.xml
new file mode 100644
index 0000000..2b75715
--- /dev/null
+++ b/coregrind/m_gdbserver/amd64-avx-coresse-valgrind.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!-- AMD64 - core and sse.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>i386:x86-64</architecture>
+  <xi:include href="64bit-core.xml"/>
+  <xi:include href="64bit-sse.xml"/>
+  <xi:include href="64bit-avx.xml"/>
+  <xi:include href="64bit-core-valgrind-s1.xml"/>
+  <xi:include href="64bit-sse-valgrind-s1.xml"/>
+  <xi:include href="64bit-avx-valgrind-s1.xml"/>
+  <xi:include href="64bit-core-valgrind-s2.xml"/>
+  <xi:include href="64bit-sse-valgrind-s2.xml"/>
+  <xi:include href="64bit-avx-valgrind-s2.xml"/>
+</target>
diff --git a/coregrind/m_gdbserver/amd64-avx-coresse.xml b/coregrind/m_gdbserver/amd64-avx-coresse.xml
new file mode 100644
index 0000000..c46b318
--- /dev/null
+++ b/coregrind/m_gdbserver/amd64-avx-coresse.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!-- AMD64 - core and sse and avx.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>i386:x86-64</architecture>
+  <xi:include href="64bit-core.xml"/>
+  <xi:include href="64bit-sse.xml"/>
+  <xi:include href="64bit-avx.xml"/>
+</target>
diff --git a/coregrind/m_gdbserver/amd64-avx-linux-valgrind.xml b/coregrind/m_gdbserver/amd64-avx-linux-valgrind.xml
new file mode 100644
index 0000000..d692664
--- /dev/null
+++ b/coregrind/m_gdbserver/amd64-avx-linux-valgrind.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!-- AMD64 with avx - Includes Linux-only special "register".  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>i386:x86-64</architecture>
+  <osabi>GNU/Linux</osabi>
+  <xi:include href="64bit-core.xml"/>
+  <xi:include href="64bit-sse.xml"/>
+  <xi:include href="64bit-linux.xml"/>
+  <xi:include href="64bit-avx.xml"/>
+  <xi:include href="64bit-core-valgrind-s1.xml"/>
+  <xi:include href="64bit-sse-valgrind-s1.xml"/>
+  <xi:include href="64bit-linux-valgrind-s1.xml"/>
+  <xi:include href="64bit-avx-valgrind-s1.xml"/>
+  <xi:include href="64bit-core-valgrind-s2.xml"/>
+  <xi:include href="64bit-sse-valgrind-s2.xml"/>
+  <xi:include href="64bit-linux-valgrind-s2.xml"/>
+  <xi:include href="64bit-avx-valgrind-s2.xml"/>
+</target>
diff --git a/coregrind/m_gdbserver/amd64-avx-linux.xml b/coregrind/m_gdbserver/amd64-avx-linux.xml
new file mode 100644
index 0000000..3fea2e4
--- /dev/null
+++ b/coregrind/m_gdbserver/amd64-avx-linux.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!-- AMD64 with avx - Includes Linux-only special "register".  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>i386:x86-64</architecture>
+  <osabi>GNU/Linux</osabi>
+  <xi:include href="64bit-core.xml"/>
+  <xi:include href="64bit-sse.xml"/>
+  <xi:include href="64bit-linux.xml"/>
+  <xi:include href="64bit-avx.xml"/>
+</target>
diff --git a/coregrind/m_gdbserver/m_gdbserver.c b/coregrind/m_gdbserver/m_gdbserver.c
index f3d3d50..44a9990 100644
--- a/coregrind/m_gdbserver/m_gdbserver.c
+++ b/coregrind/m_gdbserver/m_gdbserver.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2011-2011 Philippe Waroquiers
+   Copyright (C) 2011-2012 Philippe Waroquiers
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -33,12 +33,15 @@
 #include "pub_core_libcproc.h"
 #include "pub_core_libcprint.h"
 #include "pub_core_mallocfree.h"
+#include "pub_tool_libcsetjmp.h"
+#include "pub_core_threadstate.h"
 #include "pub_core_gdbserver.h"
 #include "pub_core_options.h"
 #include "pub_core_libcsetjmp.h"
 #include "pub_core_threadstate.h"
 #include "pub_core_transtab.h"
 #include "pub_tool_hashtable.h"
+#include "pub_tool_xarray.h"
 #include "pub_core_libcassert.h"
 #include "pub_tool_libcbase.h"
 #include "pub_core_libcsignal.h"
@@ -57,7 +60,7 @@
 void VG_(helperc_CallDebugger) ( HWord iaddr );
 VG_REGPARM(1)
 void VG_(helperc_invalidate_if_not_gdbserved) ( Addr addr );
-static void invalidate_current_ip (ThreadId tid, char *who);
+static void invalidate_current_ip (ThreadId tid, const HChar *who);
 
 /* reasons of call to call_gdbserver. */
 typedef
@@ -67,10 +70,11 @@
       core_reason,    // gdbserver invocation by core (e.g. error encountered)
       break_reason,   // break encountered
       watch_reason,   // watchpoint detected by tool
-      signal_reason}  // signal encountered
+      signal_reason,  // signal encountered
+      exit_reason}    // process terminated
     CallReason;
 
-static char* ppCallReason(CallReason reason)
+static const HChar* ppCallReason(CallReason reason)
 {
    switch (reason) {
    case init_reason:    return "init_reason";
@@ -79,6 +83,7 @@
    case break_reason:   return "break_reason";
    case watch_reason:   return "watch_reason";
    case signal_reason:  return "signal_reason";
+   case exit_reason:    return "exit_reason";
    default: vg_assert (0);
    }
 }
@@ -130,22 +135,16 @@
 
 static void call_gdbserver ( ThreadId tid , CallReason reason);
 
-/* convert from CORE_ADDR to void* */
-static
-void* C2v(CORE_ADDR addr)
-{
-   return (void*) addr;
-}
-
 /* Describes the address addr (for debugging/printing purposes).
    Last two results are kept. A third call will replace the
    oldest result. */
-static char* sym (Addr addr, Bool is_code)
+static HChar* sym (Addr addr, Bool is_code)
 {
-   static char buf[2][200];
+   static HChar buf[2][200];
    static int w = 0;
    PtrdiffT offset;
    if (w == 2) w = 0;
+   buf[w][0] = '\0';
    if (is_code) {
       VG_(describe_IP) (addr, buf[w], 200);
    } else {
@@ -159,6 +158,18 @@
 static int gdbserver_called = 0;
 static int gdbserver_exited = 0;
 
+/* alloc and free functions for xarray and similar. */
+static void* gs_alloc (const HChar* cc, SizeT sz)
+{
+   void* res = VG_(arena_malloc)(VG_AR_CORE, cc, sz);
+   vg_assert (res);
+   return res;
+}
+static void gs_free (void* ptr)
+{
+   VG_(arena_free)(VG_AR_CORE, ptr);
+}
+
 typedef
    enum {
      GS_break,
@@ -198,7 +209,7 @@
 #endif
 }
 
-static void add_gs_address (Addr addr, GS_Kind kind, char* from)
+static void add_gs_address (Addr addr, GS_Kind kind, const HChar* from)
 {
    GS_Address *p;
 
@@ -212,7 +223,7 @@
    VG_(discard_translations) (addr, 2, from);
 }
 
-static void remove_gs_address (GS_Address* g, char* from)
+static void remove_gs_address (GS_Address* g, const HChar* from)
 {
    VG_(HT_remove) (gs_addresses, g->addr);
    // See add_gs_address for the explanation for the range 2 below.
@@ -220,7 +231,7 @@
    VG_(arena_free) (VG_AR_CORE, g);
 }
 
-char* VG_(ppPointKind) (PointKind kind)
+const HChar* VG_(ppPointKind) (PointKind kind)
 {
    switch(kind) {
    case software_breakpoint: return "software_breakpoint";
@@ -228,21 +239,52 @@
    case write_watchpoint:    return "write_watchpoint";
    case read_watchpoint:     return "read_watchpoint";
    case access_watchpoint:   return "access_watchpoint";
-   default: vg_assert(0);
+   default:                  return "???wrong PointKind";
    }
 }
 
 typedef
    struct _GS_Watch {
-      struct _GS_Watch* next;
       Addr    addr;
       SizeT   len;
       PointKind kind;
    }
    GS_Watch;
 
-/* gs_watches contains a list of all addresses+len that are being watched. */
-static VgHashTable gs_watches = NULL;
+/* gs_watches contains a list of all addresses+len+kind that are being
+   watched. */
+static XArray* gs_watches = NULL;
+
+static inline GS_Watch* index_gs_watches(Word i)
+{
+   return *(GS_Watch **) VG_(indexXA) (gs_watches, i);
+}
+
+/* Returns the GS_Watch matching addr/len/kind and sets *g_ix to its
+   position in gs_watches.
+   If no matching GS_Watch is found, returns NULL and sets g_ix to -1. */
+static GS_Watch* lookup_gs_watch (Addr addr, SizeT len, PointKind kind,
+                                  Word* g_ix)
+{
+   const Word n_elems = VG_(sizeXA) (gs_watches);
+   Word i;
+   GS_Watch *g;
+
+   /* Linear search. If we have many watches, this might be optimised
+      by having the array sorted and using VG_(lookupXA) */
+   for (i = 0; i < n_elems; i++) {
+      g = index_gs_watches(i);
+      if (g->addr == addr && g->len == len && g->kind == kind) {
+         // Found.
+         *g_ix = i;
+         return g;
+      }
+   }
+
+   // Not found.
+   *g_ix = -1;
+   return NULL;
+}
 
 
 /* protocol spec tells the below must be idempotent. */
@@ -297,6 +339,7 @@
 {
    Bool res;
    GS_Watch *g;
+   Word g_ix;
    Bool is_code = kind == software_breakpoint || kind == hardware_breakpoint;
 
    dlog(1, "%s %s at addr %p %s\n",
@@ -321,7 +364,10 @@
    if (!res) 
       return False; /* error or unsupported */
 
-   g = VG_(HT_lookup) (gs_watches, (UWord)addr);
+   // Protocol says insert/remove must be idempotent.
+   // So, we just ignore double insert or (supposed) double delete.
+
+   g = lookup_gs_watch (addr, len, kind, &g_ix);
    if (insert) {
       if (g == NULL) {
          g = VG_(arena_malloc)(VG_AR_CORE, "gdbserver_point watchpoint",
@@ -329,27 +375,47 @@
          g->addr = addr;
          g->len  = len;
          g->kind = kind;
-         VG_(HT_add_node)(gs_watches, g);
+         VG_(addToXA)(gs_watches, &g);
       } else {
-         g->kind = kind;
+         dlog(1, 
+              "VG_(gdbserver_point) addr %p len %d kind %s already inserted\n",
+               C2v(addr), len, VG_(ppPointKind) (kind));
       }
    } else {
-      vg_assert (g != NULL);
-      VG_(HT_remove) (gs_watches, g->addr);
-      VG_(arena_free) (VG_AR_CORE, g);
+      if (g != NULL) {
+         VG_(removeIndexXA) (gs_watches, g_ix);
+         VG_(arena_free) (VG_AR_CORE, g);
+      } else {
+         dlog(1, 
+              "VG_(gdbserver_point) addr %p len %d kind %s already deleted?\n",
+              C2v(addr), len, VG_(ppPointKind) (kind));
+      }
    }  
    return True;
 }
 
+Bool VG_(has_gdbserver_breakpoint) (Addr addr)
+{
+   GS_Address *g;
+   if (!gdbserver_called)
+      return False;
+   g = VG_(HT_lookup) (gs_addresses, (UWord)HT_addr(addr));
+   return (g != NULL && g->kind == GS_break);
+}
+
 Bool VG_(is_watched)(PointKind kind, Addr addr, Int szB)
 {
+   Word n_elems;
    GS_Watch* g;
+   Word i;
    Bool watched = False;
    const ThreadId tid = VG_(running_tid);
 
    if (!gdbserver_called)
       return False;
 
+   n_elems = VG_(sizeXA) (gs_watches);
+
    Addr to = addr + szB; // semi-open interval [addr, to[
 
    vg_assert (kind == access_watchpoint 
@@ -357,8 +423,9 @@
               || kind == write_watchpoint);
    dlog(1, "tid %d VG_(is_watched) %s addr %p szB %d\n",
         tid, VG_(ppPointKind) (kind), C2v(addr), szB);
-   VG_(HT_ResetIter) (gs_watches);
-   while ((g = VG_(HT_Next) (gs_watches))) {
+
+   for (i = 0; i < n_elems; i++) {
+      g = index_gs_watches(i);
       switch (g->kind) {
       case software_breakpoint:
       case hardware_breakpoint:
@@ -480,36 +547,39 @@
    VG_(free) (ag);
 }
 
-// Clear watched addressed in gs_watches
+// Clear watched addressed in gs_watches, delete gs_watches.
 static void clear_watched_addresses(void)
 {
-   GS_Watch** ag;
-   UInt n_elems;
-   int i;
+   GS_Watch* g;
+   const Word n_elems = VG_(sizeXA) (gs_watches);
+   Word i;
 
    dlog(1,
-        "clear_watched_addresses: scanning hash table nodes %d\n", 
-        VG_(HT_count_nodes) (gs_watches));
-   ag = (GS_Watch**) VG_(HT_to_array) (gs_watches, &n_elems);
+        "clear_watched_addresses: %ld elements\n", 
+        n_elems);
+   
    for (i = 0; i < n_elems; i++) {
-      if (!VG_(gdbserver_point) (ag[i]->kind,
+      g = index_gs_watches(i);
+      if (!VG_(gdbserver_point) (g->kind,
                                  /* insert */ False,
-                                 ag[i]->addr,
-                                 ag[i]->len)) {
+                                 g->addr,
+                                 g->len)) {
          vg_assert (0);
       }
    }
-   VG_(free) (ag);
+
+   VG_(deleteXA) (gs_watches);
+   gs_watches = NULL;
 }
 
-static void invalidate_if_jump_not_yet_gdbserved (Addr addr, char* from)
+static void invalidate_if_jump_not_yet_gdbserved (Addr addr, const HChar* from)
 {
    if (VG_(HT_lookup) (gs_addresses, (UWord)HT_addr(addr)))
       return;
    add_gs_address (addr, GS_jump, from);
 }
 
-static void invalidate_current_ip (ThreadId tid, char *who)
+static void invalidate_current_ip (ThreadId tid, const HChar *who)
 {
    invalidate_if_jump_not_yet_gdbserved (VG_(get_IP) (tid), who);
 }
@@ -553,8 +623,6 @@
       VG_(HT_destruct) (gs_addresses, VG_(free));
       gs_addresses = NULL;
       clear_watched_addresses();
-      VG_(HT_destruct) (gs_watches, VG_(free));
-      gs_watches = NULL;
    } else {
       vg_assert (gs_addresses == NULL);
       vg_assert (gs_watches == NULL);
@@ -586,6 +654,14 @@
         VG_(getpid) (), tid, VG_(name_of_ThreadStatus)(tst->status),
         tst->sched_jmpbuf_valid);
 
+   /* If we are about to die, then just run server_main() once to get
+      the resume reply out and return immediately because most of the state
+      of this tid and process is about to be torn down. */
+   if (reason == exit_reason) {
+      server_main();
+      return;
+   }
+
    vg_assert(VG_(is_valid_tid)(tid));
    saved_pc = VG_(get_IP) (tid);
 
@@ -599,7 +675,10 @@
       vg_assert (gs_addresses == NULL);
       vg_assert (gs_watches == NULL);
       gs_addresses = VG_(HT_construct)( "gdbserved_addresses" );
-      gs_watches = VG_(HT_construct)( "gdbserved_watches" );
+      gs_watches = VG_(newXA)(gs_alloc,
+                              "gdbserved_watches",
+                              gs_free,
+                              sizeof(GS_Watch*));
       VG_(atfork)(NULL, NULL, gdbserver_cleanup_in_child_after_fork);
    }
    vg_assert (gs_addresses != NULL);
@@ -875,6 +954,34 @@
    }
 }
 
+void VG_(gdbserver_exit) (ThreadId tid, VgSchedReturnCode tids_schedretcode)
+{
+   dlog(1, "VG core calling VG_(gdbserver_exit) tid %d will exit\n", tid);
+   if (remote_connected()) {
+      /* Make sure vgdb knows we are about to die and why. */
+      switch(tids_schedretcode) {
+      case VgSrc_None:
+         vg_assert (0);
+      case VgSrc_ExitThread:
+      case VgSrc_ExitProcess:
+         gdbserver_process_exit_encountered ('W', VG_(threads)[tid].os_state.exitcode);
+         call_gdbserver (tid, exit_reason);
+         break;
+      case VgSrc_FatalSig:
+         gdbserver_process_exit_encountered ('X', VG_(threads)[tid].os_state.fatalsig);
+         call_gdbserver (tid, exit_reason);
+         break;
+      default:
+         vg_assert(0);
+      }
+   } else {
+      dlog(1, "not connected\n");
+   }
+
+   /* Tear down the connection if it still exists. */
+   VG_(gdbserver) (0);
+}
+
 // Check if single_stepping or if there is a break requested at iaddr. 
 // If yes, call debugger
 VG_REGPARM(1)
@@ -947,7 +1054,7 @@
 {
    
    void*    fn;
-   HChar*   nm;
+   const HChar*   nm;
    IRExpr** args;
    Int      nargs;
    IRDirty* di;
@@ -986,7 +1093,7 @@
       IRSB* irsb)                 /* irsb block to which call is added */
 {
    void*    fn;
-   HChar*   nm;
+   const HChar*   nm;
    IRExpr** args;
    Int      nargs;
    IRDirty* di;
@@ -1029,12 +1136,16 @@
       gdb interactions. */
    
    di->nFxState = 2;
-   di->fxState[0].fx     = Ifx_Read;
-   di->fxState[0].offset = layout->offset_SP;
-   di->fxState[0].size   = layout->sizeof_SP;
-   di->fxState[1].fx     = Ifx_Modify;
-   di->fxState[1].offset = layout->offset_IP;
-   di->fxState[1].size   = layout->sizeof_IP;
+   di->fxState[0].fx        = Ifx_Read;
+   di->fxState[0].offset    = layout->offset_SP;
+   di->fxState[0].size      = layout->sizeof_SP;
+   di->fxState[0].nRepeats  = 0;
+   di->fxState[0].repeatLen = 0;
+   di->fxState[1].fx        = Ifx_Modify;
+   di->fxState[1].offset    = layout->offset_IP;
+   di->fxState[1].size      = layout->sizeof_IP;
+   di->fxState[1].nRepeats  = 0;
+   di->fxState[1].repeatLen = 0;
 
    addStmtToIRSB(irsb, IRStmt_Dirty(di));
 
@@ -1131,7 +1242,7 @@
 }
 
 struct mon_out_buf {
-   char buf[DATASIZ+1];
+   HChar buf[DATASIZ+1];
    int next;
    UInt ret;
 };
@@ -1167,14 +1278,15 @@
    return b.ret;
 }
 
-Int VG_(keyword_id) (Char* keywords, Char* input_word, kwd_report_error report)
+Int VG_(keyword_id) (const HChar* keywords, const HChar* input_word,
+                     kwd_report_error report)
 {
    const Int il = (input_word == NULL ? 0 : VG_(strlen) (input_word));
-   Char  iw[il+1];
-   Char  kwds[VG_(strlen)(keywords)+1];
-   Char  *kwdssaveptr;
+   HChar  iw[il+1];
+   HChar  kwds[VG_(strlen)(keywords)+1];
+   HChar  *kwdssaveptr;
 
-   Char* kw; /* current keyword, its length, its position */
+   HChar* kw; /* current keyword, its length, its position */
    Int   kwl;
    Int   kpos = -1;
 
@@ -1197,7 +1309,7 @@
       VG_(strcpy) (kwds, keywords);
       if (pass == 1)
          VG_(gdb_printf) ("%s can match", 
-                          (il == 0 ? "<empty string>" : (char *) iw));
+                          (il == 0 ? "<empty string>" : iw));
       for (kw = VG_(strtok_r) (kwds, " ", &kwdssaveptr); 
            kw != NULL; 
            kw = VG_(strtok_r) (NULL, " ", &kwdssaveptr)) {
@@ -1256,7 +1368,7 @@
 }
 
 /* True if string can be a 0x number */
-static Bool is_zero_x (Char *s)
+static Bool is_zero_x (const HChar *s)
 {
    if (strlen (s) >= 3 && s[0] == '0' && s[1] == 'x')
       return True;
@@ -1265,7 +1377,7 @@
 }
 
 /* True if string can be a 0b number */
-static Bool is_zero_b (Char *s)
+static Bool is_zero_b (const HChar *s)
 {
    if (strlen (s) >= 3 && s[0] == '0' && s[1] == 'b')
       return True;
@@ -1275,12 +1387,12 @@
 
 void VG_(strtok_get_address_and_size) (Addr* address, 
                                        SizeT* szB, 
-                                       Char **ssaveptr)
+                                       HChar **ssaveptr)
 {
-   Char* wa;
-   Char* ws;
-   Char* endptr;
-   UChar *ppc;
+   HChar* wa;
+   HChar* ws;
+   HChar* endptr;
+   const HChar *ppc;
 
    wa = VG_(strtok_r) (NULL, " ", ssaveptr);
    ppc = wa;
@@ -1297,7 +1409,7 @@
       *szB = VG_(strtoull16) (ws, &endptr);
    } else if (is_zero_b (ws)) {
       Int j;
-      Char *parsews = ws;
+      HChar *parsews = ws;
       Int n_bits = VG_(strlen) (ws) - 2;
       *szB = 0;
       ws = NULL; // assume the below loop gives a correct nr.
@@ -1329,7 +1441,7 @@
    const int nr_gdbserved_addresses 
       = (gs_addresses == NULL ? -1 : VG_(HT_count_nodes) (gs_addresses));
    const int nr_watchpoints
-      = (gs_watches == NULL ? -1 : VG_(HT_count_nodes) (gs_watches));
+      = (gs_watches == NULL ? -1 : (int) VG_(sizeXA) (gs_watches));
    remote_utils_output_status();
    VG_(umsg)
       ("nr of calls to gdbserver: %d\n"
diff --git a/coregrind/m_gdbserver/mips-cp0-valgrind-s1.xml b/coregrind/m_gdbserver/mips-cp0-valgrind-s1.xml
new file mode 100644
index 0000000..b775194
--- /dev/null
+++ b/coregrind/m_gdbserver/mips-cp0-valgrind-s1.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cp0.valgrind.s1">
+  <reg name="statuss1" bitsize="32" regnum="32"/>
+  <reg name="badvaddrs1" bitsize="32" regnum="35"/>
+  <reg name="causes1" bitsize="32" regnum="36"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips-cp0-valgrind-s2.xml b/coregrind/m_gdbserver/mips-cp0-valgrind-s2.xml
new file mode 100644
index 0000000..fc57afa
--- /dev/null
+++ b/coregrind/m_gdbserver/mips-cp0-valgrind-s2.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cp0.valgrind.s2">
+  <reg name="statuss2" bitsize="32" regnum="32"/>
+  <reg name="badvaddrs2" bitsize="32" regnum="35"/>
+  <reg name="causes2" bitsize="32" regnum="36"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips-cp0.xml b/coregrind/m_gdbserver/mips-cp0.xml
new file mode 100644
index 0000000..2555b1d
--- /dev/null
+++ b/coregrind/m_gdbserver/mips-cp0.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cp0">
+  <reg name="status" bitsize="32" regnum="32"/>
+  <reg name="badvaddr" bitsize="32" regnum="35"/>
+  <reg name="cause" bitsize="32" regnum="36"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips-cpu-valgrind-s1.xml b/coregrind/m_gdbserver/mips-cpu-valgrind-s1.xml
new file mode 100644
index 0000000..3404b43
--- /dev/null
+++ b/coregrind/m_gdbserver/mips-cpu-valgrind-s1.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cpu.valgrind.s1">
+  <reg name="r0s1" bitsize="32" regnum="0"/>
+  <reg name="r1s1" bitsize="32"/>
+  <reg name="r2s1" bitsize="32"/>
+  <reg name="r3s1" bitsize="32"/>
+  <reg name="r4s1" bitsize="32"/>
+  <reg name="r5s1" bitsize="32"/>
+  <reg name="r6s1" bitsize="32"/>
+  <reg name="r7s1" bitsize="32"/>
+  <reg name="r8s1" bitsize="32"/>
+  <reg name="r9s1" bitsize="32"/>
+  <reg name="r10s1" bitsize="32"/>
+  <reg name="r11s1" bitsize="32"/>
+  <reg name="r12s1" bitsize="32"/>
+  <reg name="r13s1" bitsize="32"/>
+  <reg name="r14s1" bitsize="32"/>
+  <reg name="r15s1" bitsize="32"/>
+  <reg name="r16s1" bitsize="32"/>
+  <reg name="r17s1" bitsize="32"/>
+  <reg name="r18s1" bitsize="32"/>
+  <reg name="r19s1" bitsize="32"/>
+  <reg name="r20s1" bitsize="32"/>
+  <reg name="r21s1" bitsize="32"/>
+  <reg name="r22s1" bitsize="32"/>
+  <reg name="r23s1" bitsize="32"/>
+  <reg name="r24s1" bitsize="32"/>
+  <reg name="r25s1" bitsize="32"/>
+  <reg name="r26s1" bitsize="32"/>
+  <reg name="r27s1" bitsize="32"/>
+  <reg name="r28s1" bitsize="32"/>
+  <reg name="r29s1" bitsize="32"/>
+  <reg name="r30s1" bitsize="32"/>
+  <reg name="r31s1" bitsize="32"/>
+
+  <reg name="los1" bitsize="32" regnum="33"/>
+  <reg name="his1" bitsize="32" regnum="34"/>
+  <reg name="pcs1" bitsize="32" regnum="37"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips-cpu-valgrind-s2.xml b/coregrind/m_gdbserver/mips-cpu-valgrind-s2.xml
new file mode 100644
index 0000000..13b1640
--- /dev/null
+++ b/coregrind/m_gdbserver/mips-cpu-valgrind-s2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cpu.valgrind.s2">
+  <reg name="r0s2" bitsize="32" regnum="0"/>
+  <reg name="r1s2" bitsize="32"/>
+  <reg name="r2s2" bitsize="32"/>
+  <reg name="r3s2" bitsize="32"/>
+  <reg name="r4s2" bitsize="32"/>
+  <reg name="r5s2" bitsize="32"/>
+  <reg name="r6s2" bitsize="32"/>
+  <reg name="r7s2" bitsize="32"/>
+  <reg name="r8s2" bitsize="32"/>
+  <reg name="r9s2" bitsize="32"/>
+  <reg name="r10s2" bitsize="32"/>
+  <reg name="r11s2" bitsize="32"/>
+  <reg name="r12s2" bitsize="32"/>
+  <reg name="r13s2" bitsize="32"/>
+  <reg name="r14s2" bitsize="32"/>
+  <reg name="r15s2" bitsize="32"/>
+  <reg name="r16s2" bitsize="32"/>
+  <reg name="r17s2" bitsize="32"/>
+  <reg name="r18s2" bitsize="32"/>
+  <reg name="r19s2" bitsize="32"/>
+  <reg name="r20s2" bitsize="32"/>
+  <reg name="r21s2" bitsize="32"/>
+  <reg name="r22s2" bitsize="32"/>
+  <reg name="r23s2" bitsize="32"/>
+  <reg name="r24s2" bitsize="32"/>
+  <reg name="r25s2" bitsize="32"/>
+  <reg name="r26s2" bitsize="32"/>
+  <reg name="r27s2" bitsize="32"/>
+  <reg name="r28s2" bitsize="32"/>
+  <reg name="r29s2" bitsize="32"/>
+  <reg name="r30s2" bitsize="32"/>
+  <reg name="r31s2" bitsize="32"/>
+
+  <reg name="los2" bitsize="32" regnum="33"/>
+  <reg name="his2" bitsize="32" regnum="34"/>
+  <reg name="pcs2" bitsize="32" regnum="37"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips-cpu.xml b/coregrind/m_gdbserver/mips-cpu.xml
new file mode 100644
index 0000000..62bfe03
--- /dev/null
+++ b/coregrind/m_gdbserver/mips-cpu.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cpu">
+  <reg name="r0" bitsize="32" regnum="0"/>
+  <reg name="r1" bitsize="32"/>
+  <reg name="r2" bitsize="32"/>
+  <reg name="r3" bitsize="32"/>
+  <reg name="r4" bitsize="32"/>
+  <reg name="r5" bitsize="32"/>
+  <reg name="r6" bitsize="32"/>
+  <reg name="r7" bitsize="32"/>
+  <reg name="r8" bitsize="32"/>
+  <reg name="r9" bitsize="32"/>
+  <reg name="r10" bitsize="32"/>
+  <reg name="r11" bitsize="32"/>
+  <reg name="r12" bitsize="32"/>
+  <reg name="r13" bitsize="32"/>
+  <reg name="r14" bitsize="32"/>
+  <reg name="r15" bitsize="32"/>
+  <reg name="r16" bitsize="32"/>
+  <reg name="r17" bitsize="32"/>
+  <reg name="r18" bitsize="32"/>
+  <reg name="r19" bitsize="32"/>
+  <reg name="r20" bitsize="32"/>
+  <reg name="r21" bitsize="32"/>
+  <reg name="r22" bitsize="32"/>
+  <reg name="r23" bitsize="32"/>
+  <reg name="r24" bitsize="32"/>
+  <reg name="r25" bitsize="32"/>
+  <reg name="r26" bitsize="32"/>
+  <reg name="r27" bitsize="32"/>
+  <reg name="r28" bitsize="32"/>
+  <reg name="r29" bitsize="32"/>
+  <reg name="r30" bitsize="32"/>
+  <reg name="r31" bitsize="32"/>
+
+  <reg name="lo" bitsize="32" regnum="33"/>
+  <reg name="hi" bitsize="32" regnum="34"/>
+  <reg name="pc" bitsize="32" regnum="37"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips-fpu-valgrind-s1.xml b/coregrind/m_gdbserver/mips-fpu-valgrind-s1.xml
new file mode 100644
index 0000000..3c84e9d
--- /dev/null
+++ b/coregrind/m_gdbserver/mips-fpu-valgrind-s1.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.fpu.valgrind.s1">
+  <reg name="f0s1" bitsize="32" type="ieee_single" regnum="38"/>
+  <reg name="f1s1" bitsize="32" type="ieee_single"/>
+  <reg name="f2s1" bitsize="32" type="ieee_single"/>
+  <reg name="f3s1" bitsize="32" type="ieee_single"/>
+  <reg name="f4s1" bitsize="32" type="ieee_single"/>
+  <reg name="f5s1" bitsize="32" type="ieee_single"/>
+  <reg name="f6s1" bitsize="32" type="ieee_single"/>
+  <reg name="f7s1" bitsize="32" type="ieee_single"/>
+  <reg name="f8s1" bitsize="32" type="ieee_single"/>
+  <reg name="f9s1" bitsize="32" type="ieee_single"/>
+  <reg name="f10s1" bitsize="32" type="ieee_single"/>
+  <reg name="f11s1" bitsize="32" type="ieee_single"/>
+  <reg name="f12s1" bitsize="32" type="ieee_single"/>
+  <reg name="f13s1" bitsize="32" type="ieee_single"/>
+  <reg name="f14s1" bitsize="32" type="ieee_single"/>
+  <reg name="f15s1" bitsize="32" type="ieee_single"/>
+  <reg name="f16s1" bitsize="32" type="ieee_single"/>
+  <reg name="f17s1" bitsize="32" type="ieee_single"/>
+  <reg name="f18s1" bitsize="32" type="ieee_single"/>
+  <reg name="f19s1" bitsize="32" type="ieee_single"/>
+  <reg name="f20s1" bitsize="32" type="ieee_single"/>
+  <reg name="f21s1" bitsize="32" type="ieee_single"/>
+  <reg name="f22s1" bitsize="32" type="ieee_single"/>
+  <reg name="f23s1" bitsize="32" type="ieee_single"/>
+  <reg name="f24s1" bitsize="32" type="ieee_single"/>
+  <reg name="f25s1" bitsize="32" type="ieee_single"/>
+  <reg name="f26s1" bitsize="32" type="ieee_single"/>
+  <reg name="f27s1" bitsize="32" type="ieee_single"/>
+  <reg name="f28s1" bitsize="32" type="ieee_single"/>
+  <reg name="f29s1" bitsize="32" type="ieee_single"/>
+  <reg name="f30s1" bitsize="32" type="ieee_single"/>
+  <reg name="f31s1" bitsize="32" type="ieee_single"/>
+
+  <reg name="fcsrs1" bitsize="32" group="float"/>
+  <reg name="firs1" bitsize="32" group="float"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips-fpu-valgrind-s2.xml b/coregrind/m_gdbserver/mips-fpu-valgrind-s2.xml
new file mode 100644
index 0000000..3a50143
--- /dev/null
+++ b/coregrind/m_gdbserver/mips-fpu-valgrind-s2.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.fpu.valgrind.s2">
+  <reg name="f0s2" bitsize="32" type="ieee_single" regnum="38"/>
+  <reg name="f1s2" bitsize="32" type="ieee_single"/>
+  <reg name="f2s2" bitsize="32" type="ieee_single"/>
+  <reg name="f3s2" bitsize="32" type="ieee_single"/>
+  <reg name="f4s2" bitsize="32" type="ieee_single"/>
+  <reg name="f5s2" bitsize="32" type="ieee_single"/>
+  <reg name="f6s2" bitsize="32" type="ieee_single"/>
+  <reg name="f7s2" bitsize="32" type="ieee_single"/>
+  <reg name="f8s2" bitsize="32" type="ieee_single"/>
+  <reg name="f9s2" bitsize="32" type="ieee_single"/>
+  <reg name="f10s2" bitsize="32" type="ieee_single"/>
+  <reg name="f11s2" bitsize="32" type="ieee_single"/>
+  <reg name="f12s2" bitsize="32" type="ieee_single"/>
+  <reg name="f13s2" bitsize="32" type="ieee_single"/>
+  <reg name="f14s2" bitsize="32" type="ieee_single"/>
+  <reg name="f15s2" bitsize="32" type="ieee_single"/>
+  <reg name="f16s2" bitsize="32" type="ieee_single"/>
+  <reg name="f17s2" bitsize="32" type="ieee_single"/>
+  <reg name="f18s2" bitsize="32" type="ieee_single"/>
+  <reg name="f19s2" bitsize="32" type="ieee_single"/>
+  <reg name="f20s2" bitsize="32" type="ieee_single"/>
+  <reg name="f21s2" bitsize="32" type="ieee_single"/>
+  <reg name="f22s2" bitsize="32" type="ieee_single"/>
+  <reg name="f23s2" bitsize="32" type="ieee_single"/>
+  <reg name="f24s2" bitsize="32" type="ieee_single"/>
+  <reg name="f25s2" bitsize="32" type="ieee_single"/>
+  <reg name="f26s2" bitsize="32" type="ieee_single"/>
+  <reg name="f27s2" bitsize="32" type="ieee_single"/>
+  <reg name="f28s2" bitsize="32" type="ieee_single"/>
+  <reg name="f29s2" bitsize="32" type="ieee_single"/>
+  <reg name="f30s2" bitsize="32" type="ieee_single"/>
+  <reg name="f31s2" bitsize="32" type="ieee_single"/>
+
+  <reg name="fcsrs2" bitsize="32" group="float"/>
+  <reg name="firs2" bitsize="32" group="float"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips-fpu.xml b/coregrind/m_gdbserver/mips-fpu.xml
new file mode 100644
index 0000000..fc371c6
--- /dev/null
+++ b/coregrind/m_gdbserver/mips-fpu.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.fpu">
+  <reg name="f0" bitsize="32" type="ieee_single" regnum="38"/>
+  <reg name="f1" bitsize="32" type="ieee_single"/>
+  <reg name="f2" bitsize="32" type="ieee_single"/>
+  <reg name="f3" bitsize="32" type="ieee_single"/>
+  <reg name="f4" bitsize="32" type="ieee_single"/>
+  <reg name="f5" bitsize="32" type="ieee_single"/>
+  <reg name="f6" bitsize="32" type="ieee_single"/>
+  <reg name="f7" bitsize="32" type="ieee_single"/>
+  <reg name="f8" bitsize="32" type="ieee_single"/>
+  <reg name="f9" bitsize="32" type="ieee_single"/>
+  <reg name="f10" bitsize="32" type="ieee_single"/>
+  <reg name="f11" bitsize="32" type="ieee_single"/>
+  <reg name="f12" bitsize="32" type="ieee_single"/>
+  <reg name="f13" bitsize="32" type="ieee_single"/>
+  <reg name="f14" bitsize="32" type="ieee_single"/>
+  <reg name="f15" bitsize="32" type="ieee_single"/>
+  <reg name="f16" bitsize="32" type="ieee_single"/>
+  <reg name="f17" bitsize="32" type="ieee_single"/>
+  <reg name="f18" bitsize="32" type="ieee_single"/>
+  <reg name="f19" bitsize="32" type="ieee_single"/>
+  <reg name="f20" bitsize="32" type="ieee_single"/>
+  <reg name="f21" bitsize="32" type="ieee_single"/>
+  <reg name="f22" bitsize="32" type="ieee_single"/>
+  <reg name="f23" bitsize="32" type="ieee_single"/>
+  <reg name="f24" bitsize="32" type="ieee_single"/>
+  <reg name="f25" bitsize="32" type="ieee_single"/>
+  <reg name="f26" bitsize="32" type="ieee_single"/>
+  <reg name="f27" bitsize="32" type="ieee_single"/>
+  <reg name="f28" bitsize="32" type="ieee_single"/>
+  <reg name="f29" bitsize="32" type="ieee_single"/>
+  <reg name="f30" bitsize="32" type="ieee_single"/>
+  <reg name="f31" bitsize="32" type="ieee_single"/>
+
+  <reg name="fcsr" bitsize="32" group="float"/>
+  <reg name="fir" bitsize="32" group="float"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips-linux-valgrind.xml b/coregrind/m_gdbserver/mips-linux-valgrind.xml
new file mode 100644
index 0000000..b18c623
--- /dev/null
+++ b/coregrind/m_gdbserver/mips-linux-valgrind.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>mips</architecture>
+  <osabi>GNU/Linux</osabi>
+  <xi:include href="mips-cpu.xml"/>
+  <xi:include href="mips-cp0.xml"/>
+  <xi:include href="mips-fpu.xml"/>
+  <xi:include href="mips-cpu-valgrind-s1.xml"/>
+  <xi:include href="mips-cp0-valgrind-s1.xml"/>
+  <xi:include href="mips-fpu-valgrind-s1.xml"/>
+  <xi:include href="mips-cpu-valgrind-s2.xml"/>
+  <xi:include href="mips-cp0-valgrind-s2.xml"/>
+  <xi:include href="mips-fpu-valgrind-s2.xml"/>
+
+  <feature name="org.gnu.gdb.mips.linux">
+    <reg name="restart" bitsize="32" group="system"/>
+  </feature>
+</target>
diff --git a/coregrind/m_gdbserver/mips-linux.xml b/coregrind/m_gdbserver/mips-linux.xml
new file mode 100644
index 0000000..73fb432
--- /dev/null
+++ b/coregrind/m_gdbserver/mips-linux.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>mips</architecture>
+  <osabi>GNU/Linux</osabi>
+  <xi:include href="mips-cpu.xml"/>
+  <xi:include href="mips-cp0.xml"/>
+  <xi:include href="mips-fpu.xml"/>
+
+  <feature name="org.gnu.gdb.mips.linux">
+    <reg name="restart" bitsize="32" group="system"/>
+  </feature>
+</target>
diff --git a/coregrind/m_gdbserver/mips64-cp0-valgrind-s1.xml b/coregrind/m_gdbserver/mips64-cp0-valgrind-s1.xml
new file mode 100644
index 0000000..21447d1
--- /dev/null
+++ b/coregrind/m_gdbserver/mips64-cp0-valgrind-s1.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cp0.valgrind.s1">
+  <reg name="statuss1" bitsize="64" regnum="32"/>
+  <reg name="badvaddrs1" bitsize="64" regnum="35"/>
+  <reg name="causes1" bitsize="64" regnum="36"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips64-cp0-valgrind-s2.xml b/coregrind/m_gdbserver/mips64-cp0-valgrind-s2.xml
new file mode 100644
index 0000000..3623f39
--- /dev/null
+++ b/coregrind/m_gdbserver/mips64-cp0-valgrind-s2.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cp0.valgrind.s2">
+  <reg name="statuss2" bitsize="64" regnum="32"/>
+  <reg name="badvaddrs2" bitsize="64" regnum="35"/>
+  <reg name="causes2" bitsize="64" regnum="36"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips64-cp0.xml b/coregrind/m_gdbserver/mips64-cp0.xml
new file mode 100644
index 0000000..d6d422f
--- /dev/null
+++ b/coregrind/m_gdbserver/mips64-cp0.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cp0">
+  <reg name="status" bitsize="64" regnum="32"/>
+  <reg name="badvaddr" bitsize="64" regnum="35"/>
+  <reg name="cause" bitsize="64" regnum="36"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips64-cpu-valgrind-s1.xml b/coregrind/m_gdbserver/mips64-cpu-valgrind-s1.xml
new file mode 100644
index 0000000..549dd72
--- /dev/null
+++ b/coregrind/m_gdbserver/mips64-cpu-valgrind-s1.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cpu.valgrind.s1">
+  <reg name="r0s1" bitsize="64" regnum="0"/>
+  <reg name="r1s1" bitsize="64"/>
+  <reg name="r2s1" bitsize="64"/>
+  <reg name="r3s1" bitsize="64"/>
+  <reg name="r4s1" bitsize="64"/>
+  <reg name="r5s1" bitsize="64"/>
+  <reg name="r6s1" bitsize="64"/>
+  <reg name="r7s1" bitsize="64"/>
+  <reg name="r8s1" bitsize="64"/>
+  <reg name="r9s1" bitsize="64"/>
+  <reg name="r10s1" bitsize="64"/>
+  <reg name="r11s1" bitsize="64"/>
+  <reg name="r12s1" bitsize="64"/>
+  <reg name="r13s1" bitsize="64"/>
+  <reg name="r14s1" bitsize="64"/>
+  <reg name="r15s1" bitsize="64"/>
+  <reg name="r16s1" bitsize="64"/>
+  <reg name="r17s1" bitsize="64"/>
+  <reg name="r18s1" bitsize="64"/>
+  <reg name="r19s1" bitsize="64"/>
+  <reg name="r20s1" bitsize="64"/>
+  <reg name="r21s1" bitsize="64"/>
+  <reg name="r22s1" bitsize="64"/>
+  <reg name="r23s1" bitsize="64"/>
+  <reg name="r24s1" bitsize="64"/>
+  <reg name="r25s1" bitsize="64"/>
+  <reg name="r26s1" bitsize="64"/>
+  <reg name="r27s1" bitsize="64"/>
+  <reg name="r28s1" bitsize="64"/>
+  <reg name="r29s1" bitsize="64"/>
+  <reg name="r30s1" bitsize="64"/>
+  <reg name="r31s1" bitsize="64"/>
+
+  <reg name="los1" bitsize="64" regnum="33"/>
+  <reg name="his1" bitsize="64" regnum="34"/>
+  <reg name="pcs1" bitsize="64" regnum="37"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips64-cpu-valgrind-s2.xml b/coregrind/m_gdbserver/mips64-cpu-valgrind-s2.xml
new file mode 100644
index 0000000..f054a8f
--- /dev/null
+++ b/coregrind/m_gdbserver/mips64-cpu-valgrind-s2.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cpu.valgrind.s2">
+  <reg name="r0s2" bitsize="64" regnum="0"/>
+  <reg name="r1s2" bitsize="64"/>
+  <reg name="r2s2" bitsize="64"/>
+  <reg name="r3s2" bitsize="64"/>
+  <reg name="r4s2" bitsize="64"/>
+  <reg name="r5s2" bitsize="64"/>
+  <reg name="r6s2" bitsize="64"/>
+  <reg name="r7s2" bitsize="64"/>
+  <reg name="r8s2" bitsize="64"/>
+  <reg name="r9s2" bitsize="64"/>
+  <reg name="r10s2" bitsize="64"/>
+  <reg name="r11s2" bitsize="64"/>
+  <reg name="r12s2" bitsize="64"/>
+  <reg name="r13s2" bitsize="64"/>
+  <reg name="r14s2" bitsize="64"/>
+  <reg name="r15s2" bitsize="64"/>
+  <reg name="r16s2" bitsize="64"/>
+  <reg name="r17s2" bitsize="64"/>
+  <reg name="r18s2" bitsize="64"/>
+  <reg name="r19s2" bitsize="64"/>
+  <reg name="r20s2" bitsize="64"/>
+  <reg name="r21s2" bitsize="64"/>
+  <reg name="r22s2" bitsize="64"/>
+  <reg name="r23s2" bitsize="64"/>
+  <reg name="r24s2" bitsize="64"/>
+  <reg name="r25s2" bitsize="64"/>
+  <reg name="r26s2" bitsize="64"/>
+  <reg name="r27s2" bitsize="64"/>
+  <reg name="r28s2" bitsize="64"/>
+  <reg name="r29s2" bitsize="64"/>
+  <reg name="r30s2" bitsize="64"/>
+  <reg name="r31s2" bitsize="64"/>
+
+  <reg name="los2" bitsize="64" regnum="33"/>
+  <reg name="his2" bitsize="64" regnum="34"/>
+  <reg name="pcs2" bitsize="64" regnum="37"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips64-cpu.xml b/coregrind/m_gdbserver/mips64-cpu.xml
new file mode 100644
index 0000000..5ee6cfa
--- /dev/null
+++ b/coregrind/m_gdbserver/mips64-cpu.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.cpu">
+  <reg name="r0" bitsize="64" regnum="0"/>
+  <reg name="r1" bitsize="64"/>
+  <reg name="r2" bitsize="64"/>
+  <reg name="r3" bitsize="64"/>
+  <reg name="r4" bitsize="64"/>
+  <reg name="r5" bitsize="64"/>
+  <reg name="r6" bitsize="64"/>
+  <reg name="r7" bitsize="64"/>
+  <reg name="r8" bitsize="64"/>
+  <reg name="r9" bitsize="64"/>
+  <reg name="r10" bitsize="64"/>
+  <reg name="r11" bitsize="64"/>
+  <reg name="r12" bitsize="64"/>
+  <reg name="r13" bitsize="64"/>
+  <reg name="r14" bitsize="64"/>
+  <reg name="r15" bitsize="64"/>
+  <reg name="r16" bitsize="64"/>
+  <reg name="r17" bitsize="64"/>
+  <reg name="r18" bitsize="64"/>
+  <reg name="r19" bitsize="64"/>
+  <reg name="r20" bitsize="64"/>
+  <reg name="r21" bitsize="64"/>
+  <reg name="r22" bitsize="64"/>
+  <reg name="r23" bitsize="64"/>
+  <reg name="r24" bitsize="64"/>
+  <reg name="r25" bitsize="64"/>
+  <reg name="r26" bitsize="64"/>
+  <reg name="r27" bitsize="64"/>
+  <reg name="r28" bitsize="64"/>
+  <reg name="r29" bitsize="64"/>
+  <reg name="r30" bitsize="64"/>
+  <reg name="r31" bitsize="64"/>
+
+  <reg name="lo" bitsize="64" regnum="33"/>
+  <reg name="hi" bitsize="64" regnum="34"/>
+  <reg name="pc" bitsize="64" regnum="37"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips64-fpu-valgrind-s1.xml b/coregrind/m_gdbserver/mips64-fpu-valgrind-s1.xml
new file mode 100644
index 0000000..6aa735e
--- /dev/null
+++ b/coregrind/m_gdbserver/mips64-fpu-valgrind-s1.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.fpu.valgrind.s1">
+  <reg name="f0s1" bitsize="64" type="ieee_double" regnum="38"/>
+  <reg name="f1s1" bitsize="64" type="ieee_double"/>
+  <reg name="f2s1" bitsize="64" type="ieee_double"/>
+  <reg name="f3s1" bitsize="64" type="ieee_double"/>
+  <reg name="f4s1" bitsize="64" type="ieee_double"/>
+  <reg name="f5s1" bitsize="64" type="ieee_double"/>
+  <reg name="f6s1" bitsize="64" type="ieee_double"/>
+  <reg name="f7s1" bitsize="64" type="ieee_double"/>
+  <reg name="f8s1" bitsize="64" type="ieee_double"/>
+  <reg name="f9s1" bitsize="64" type="ieee_double"/>
+  <reg name="f10s1" bitsize="64" type="ieee_double"/>
+  <reg name="f11s1" bitsize="64" type="ieee_double"/>
+  <reg name="f12s1" bitsize="64" type="ieee_double"/>
+  <reg name="f13s1" bitsize="64" type="ieee_double"/>
+  <reg name="f14s1" bitsize="64" type="ieee_double"/>
+  <reg name="f15s1" bitsize="64" type="ieee_double"/>
+  <reg name="f16s1" bitsize="64" type="ieee_double"/>
+  <reg name="f17s1" bitsize="64" type="ieee_double"/>
+  <reg name="f18s1" bitsize="64" type="ieee_double"/>
+  <reg name="f19s1" bitsize="64" type="ieee_double"/>
+  <reg name="f20s1" bitsize="64" type="ieee_double"/>
+  <reg name="f21s1" bitsize="64" type="ieee_double"/>
+  <reg name="f22s1" bitsize="64" type="ieee_double"/>
+  <reg name="f23s1" bitsize="64" type="ieee_double"/>
+  <reg name="f24s1" bitsize="64" type="ieee_double"/>
+  <reg name="f25s1" bitsize="64" type="ieee_double"/>
+  <reg name="f26s1" bitsize="64" type="ieee_double"/>
+  <reg name="f27s1" bitsize="64" type="ieee_double"/>
+  <reg name="f28s1" bitsize="64" type="ieee_double"/>
+  <reg name="f29s1" bitsize="64" type="ieee_double"/>
+  <reg name="f30s1" bitsize="64" type="ieee_double"/>
+  <reg name="f31s1" bitsize="64" type="ieee_double"/>
+
+  <reg name="fcsrs1" bitsize="64" group="float"/>
+  <reg name="firs1" bitsize="64" group="float"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips64-fpu-valgrind-s2.xml b/coregrind/m_gdbserver/mips64-fpu-valgrind-s2.xml
new file mode 100644
index 0000000..3d5c278
--- /dev/null
+++ b/coregrind/m_gdbserver/mips64-fpu-valgrind-s2.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.fpu.valgrind.s2">
+  <reg name="f0s2" bitsize="64" type="ieee_double" regnum="38"/>
+  <reg name="f1s2" bitsize="64" type="ieee_double"/>
+  <reg name="f2s2" bitsize="64" type="ieee_double"/>
+  <reg name="f3s2" bitsize="64" type="ieee_double"/>
+  <reg name="f4s2" bitsize="64" type="ieee_double"/>
+  <reg name="f5s2" bitsize="64" type="ieee_double"/>
+  <reg name="f6s2" bitsize="64" type="ieee_double"/>
+  <reg name="f7s2" bitsize="64" type="ieee_double"/>
+  <reg name="f8s2" bitsize="64" type="ieee_double"/>
+  <reg name="f9s2" bitsize="64" type="ieee_double"/>
+  <reg name="f10s2" bitsize="64" type="ieee_double"/>
+  <reg name="f11s2" bitsize="64" type="ieee_double"/>
+  <reg name="f12s2" bitsize="64" type="ieee_double"/>
+  <reg name="f13s2" bitsize="64" type="ieee_double"/>
+  <reg name="f14s2" bitsize="64" type="ieee_double"/>
+  <reg name="f15s2" bitsize="64" type="ieee_double"/>
+  <reg name="f16s2" bitsize="64" type="ieee_double"/>
+  <reg name="f17s2" bitsize="64" type="ieee_double"/>
+  <reg name="f18s2" bitsize="64" type="ieee_double"/>
+  <reg name="f19s2" bitsize="64" type="ieee_double"/>
+  <reg name="f20s2" bitsize="64" type="ieee_double"/>
+  <reg name="f21s2" bitsize="64" type="ieee_double"/>
+  <reg name="f22s2" bitsize="64" type="ieee_double"/>
+  <reg name="f23s2" bitsize="64" type="ieee_double"/>
+  <reg name="f24s2" bitsize="64" type="ieee_double"/>
+  <reg name="f25s2" bitsize="64" type="ieee_double"/>
+  <reg name="f26s2" bitsize="64" type="ieee_double"/>
+  <reg name="f27s2" bitsize="64" type="ieee_double"/>
+  <reg name="f28s2" bitsize="64" type="ieee_double"/>
+  <reg name="f29s2" bitsize="64" type="ieee_double"/>
+  <reg name="f30s2" bitsize="64" type="ieee_double"/>
+  <reg name="f31s2" bitsize="64" type="ieee_double"/>
+
+  <reg name="fcsrs2" bitsize="64" group="float"/>
+  <reg name="firs2" bitsize="64" group="float"/>
+</feature>
diff --git a/coregrind/m_gdbserver/mips64-fpu.xml b/coregrind/m_gdbserver/mips64-fpu.xml
new file mode 100644
index 0000000..e5a3915
--- /dev/null
+++ b/coregrind/m_gdbserver/mips64-fpu.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.mips.fpu">
+  <reg name="f0" bitsize="64" type="ieee_double" regnum="38"/>
+  <reg name="f1" bitsize="64" type="ieee_double"/>
+  <reg name="f2" bitsize="64" type="ieee_double"/>
+  <reg name="f3" bitsize="64" type="ieee_double"/>
+  <reg name="f4" bitsize="64" type="ieee_double"/>
+  <reg name="f5" bitsize="64" type="ieee_double"/>
+  <reg name="f6" bitsize="64" type="ieee_double"/>
+  <reg name="f7" bitsize="64" type="ieee_double"/>
+  <reg name="f8" bitsize="64" type="ieee_double"/>
+  <reg name="f9" bitsize="64" type="ieee_double"/>
+  <reg name="f10" bitsize="64" type="ieee_double"/>
+  <reg name="f11" bitsize="64" type="ieee_double"/>
+  <reg name="f12" bitsize="64" type="ieee_double"/>
+  <reg name="f13" bitsize="64" type="ieee_double"/>
+  <reg name="f14" bitsize="64" type="ieee_double"/>
+  <reg name="f15" bitsize="64" type="ieee_double"/>
+  <reg name="f16" bitsize="64" type="ieee_double"/>
+  <reg name="f17" bitsize="64" type="ieee_double"/>
+  <reg name="f18" bitsize="64" type="ieee_double"/>
+  <reg name="f19" bitsize="64" type="ieee_double"/>
+  <reg name="f20" bitsize="64" type="ieee_double"/>
+  <reg name="f21" bitsize="64" type="ieee_double"/>
+  <reg name="f22" bitsize="64" type="ieee_double"/>
+  <reg name="f23" bitsize="64" type="ieee_double"/>
+  <reg name="f24" bitsize="64" type="ieee_double"/>
+  <reg name="f25" bitsize="64" type="ieee_double"/>
+  <reg name="f26" bitsize="64" type="ieee_double"/>
+  <reg name="f27" bitsize="64" type="ieee_double"/>
+  <reg name="f28" bitsize="64" type="ieee_double"/>
+  <reg name="f29" bitsize="64" type="ieee_double"/>
+  <reg name="f30" bitsize="64" type="ieee_double"/>
+  <reg name="f31" bitsize="64" type="ieee_double"/>
+
+  <reg name="fcsr" bitsize="64" group="float"/>
+  <reg name="fir" bitsize="64" group="float"/>
+</feature>
\ No newline at end of file
diff --git a/coregrind/m_gdbserver/mips64-linux-valgrind.xml b/coregrind/m_gdbserver/mips64-linux-valgrind.xml
new file mode 100644
index 0000000..baf6533
--- /dev/null
+++ b/coregrind/m_gdbserver/mips64-linux-valgrind.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>mips</architecture>
+  <xi:include href="mips64-cpu.xml"/>
+  <xi:include href="mips64-cp0.xml"/>
+  <xi:include href="mips64-fpu.xml"/>
+  <xi:include href="mips64-cpu-valgrind-s1.xml"/>
+  <xi:include href="mips64-cp0-valgrind-s1.xml"/>
+  <xi:include href="mips64-fpu-valgrind-s1.xml"/>
+  <xi:include href="mips64-cpu-valgrind-s2.xml"/>
+  <xi:include href="mips64-cp0-valgrind-s2.xml"/>
+  <xi:include href="mips64-fpu-valgrind-s2.xml"/>
+
+  <feature name="org.gnu.gdb.mips.linux">
+    <reg name="restart" bitsize="64" group="system"/>
+  </feature>
+</target>
diff --git a/coregrind/m_gdbserver/mips64-linux.xml b/coregrind/m_gdbserver/mips64-linux.xml
new file mode 100644
index 0000000..58d5a15
--- /dev/null
+++ b/coregrind/m_gdbserver/mips64-linux.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2013 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>mips</architecture>
+  <xi:include href="mips64-cpu.xml"/>
+  <xi:include href="mips64-cp0.xml"/>
+  <xi:include href="mips64-fpu.xml"/>
+
+  <feature name="org.gnu.gdb.mips.linux">
+    <reg name="restart" bitsize="64" group="system"/>
+  </feature>
+</target>
\ No newline at end of file
diff --git a/coregrind/m_gdbserver/power-core-valgrind-s1.xml b/coregrind/m_gdbserver/power-core-valgrind-s1.xml
new file mode 100644
index 0000000..b667df8
--- /dev/null
+++ b/coregrind/m_gdbserver/power-core-valgrind-s1.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.power.core-valgrind-s1">
+  <reg name="r0s1" bitsize="32" type="uint32"/>
+  <reg name="r1s1" bitsize="32" type="uint32"/>
+  <reg name="r2s1" bitsize="32" type="uint32"/>
+  <reg name="r3s1" bitsize="32" type="uint32"/>
+  <reg name="r4s1" bitsize="32" type="uint32"/>
+  <reg name="r5s1" bitsize="32" type="uint32"/>
+  <reg name="r6s1" bitsize="32" type="uint32"/>
+  <reg name="r7s1" bitsize="32" type="uint32"/>
+  <reg name="r8s1" bitsize="32" type="uint32"/>
+  <reg name="r9s1" bitsize="32" type="uint32"/>
+  <reg name="r10s1" bitsize="32" type="uint32"/>
+  <reg name="r11s1" bitsize="32" type="uint32"/>
+  <reg name="r12s1" bitsize="32" type="uint32"/>
+  <reg name="r13s1" bitsize="32" type="uint32"/>
+  <reg name="r14s1" bitsize="32" type="uint32"/>
+  <reg name="r15s1" bitsize="32" type="uint32"/>
+  <reg name="r16s1" bitsize="32" type="uint32"/>
+  <reg name="r17s1" bitsize="32" type="uint32"/>
+  <reg name="r18s1" bitsize="32" type="uint32"/>
+  <reg name="r19s1" bitsize="32" type="uint32"/>
+  <reg name="r20s1" bitsize="32" type="uint32"/>
+  <reg name="r21s1" bitsize="32" type="uint32"/>
+  <reg name="r22s1" bitsize="32" type="uint32"/>
+  <reg name="r23s1" bitsize="32" type="uint32"/>
+  <reg name="r24s1" bitsize="32" type="uint32"/>
+  <reg name="r25s1" bitsize="32" type="uint32"/>
+  <reg name="r26s1" bitsize="32" type="uint32"/>
+  <reg name="r27s1" bitsize="32" type="uint32"/>
+  <reg name="r28s1" bitsize="32" type="uint32"/>
+  <reg name="r29s1" bitsize="32" type="uint32"/>
+  <reg name="r30s1" bitsize="32" type="uint32"/>
+  <reg name="r31s1" bitsize="32" type="uint32"/>
+
+  <reg name="pcs1" bitsize="32" type="code_ptr" regnum="64"/>
+  <reg name="msrs1" bitsize="32" type="uint32"/>
+  <reg name="crs1" bitsize="32" type="uint32"/>
+  <reg name="lrs1" bitsize="32" type="code_ptr"/>
+  <reg name="ctrs1" bitsize="32" type="uint32"/>
+  <reg name="xers1" bitsize="32" type="uint32"/>
+</feature>
diff --git a/coregrind/m_gdbserver/power-core-valgrind-s2.xml b/coregrind/m_gdbserver/power-core-valgrind-s2.xml
new file mode 100644
index 0000000..c361117
--- /dev/null
+++ b/coregrind/m_gdbserver/power-core-valgrind-s2.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+
+     Copying and distribution of this file, with or without modification,
+     are permitted in any medium without royalty provided the copyright
+     notice and this notice are preserved.  -->
+
+<!DOCTYPE feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.power.core-valgrind-s2">
+  <reg name="r0s2" bitsize="32" type="uint32"/>
+  <reg name="r1s2" bitsize="32" type="uint32"/>
+  <reg name="r2s2" bitsize="32" type="uint32"/>
+  <reg name="r3s2" bitsize="32" type="uint32"/>
+  <reg name="r4s2" bitsize="32" type="uint32"/>
+  <reg name="r5s2" bitsize="32" type="uint32"/>
+  <reg name="r6s2" bitsize="32" type="uint32"/>
+  <reg name="r7s2" bitsize="32" type="uint32"/>
+  <reg name="r8s2" bitsize="32" type="uint32"/>
+  <reg name="r9s2" bitsize="32" type="uint32"/>
+  <reg name="r10s2" bitsize="32" type="uint32"/>
+  <reg name="r11s2" bitsize="32" type="uint32"/>
+  <reg name="r12s2" bitsize="32" type="uint32"/>
+  <reg name="r13s2" bitsize="32" type="uint32"/>
+  <reg name="r14s2" bitsize="32" type="uint32"/>
+  <reg name="r15s2" bitsize="32" type="uint32"/>
+  <reg name="r16s2" bitsize="32" type="uint32"/>
+  <reg name="r17s2" bitsize="32" type="uint32"/>
+  <reg name="r18s2" bitsize="32" type="uint32"/>
+  <reg name="r19s2" bitsize="32" type="uint32"/>
+  <reg name="r20s2" bitsize="32" type="uint32"/>
+  <reg name="r21s2" bitsize="32" type="uint32"/>
+  <reg name="r22s2" bitsize="32" type="uint32"/>
+  <reg name="r23s2" bitsize="32" type="uint32"/>
+  <reg name="r24s2" bitsize="32" type="uint32"/>
+  <reg name="r25s2" bitsize="32" type="uint32"/>
+  <reg name="r26s2" bitsize="32" type="uint32"/>
+  <reg name="r27s2" bitsize="32" type="uint32"/>
+  <reg name="r28s2" bitsize="32" type="uint32"/>
+  <reg name="r29s2" bitsize="32" type="uint32"/>
+  <reg name="r30s2" bitsize="32" type="uint32"/>
+  <reg name="r31s2" bitsize="32" type="uint32"/>
+
+  <reg name="pcs2" bitsize="32" type="code_ptr" regnum="64"/>
+  <reg name="msrs2" bitsize="32" type="uint32"/>
+  <reg name="crs2" bitsize="32" type="uint32"/>
+  <reg name="lrs2" bitsize="32" type="code_ptr"/>
+  <reg name="ctrs2" bitsize="32" type="uint32"/>
+  <reg name="xers2" bitsize="32" type="uint32"/>
+</feature>
diff --git a/coregrind/m_gdbserver/regcache.c b/coregrind/m_gdbserver/regcache.c
index a920231..6b3d54b 100644
--- a/coregrind/m_gdbserver/regcache.c
+++ b/coregrind/m_gdbserver/regcache.c
@@ -54,7 +54,7 @@
 
    /* FIXME - fetch registers for INF */
    if (fetch && regcache->registers_valid == 0) {
-      fetch_inferior_registers (0);
+      valgrind_fetch_registers (0);
       regcache->registers_valid = 1;
    }
 
@@ -72,7 +72,7 @@
       struct thread_info *saved_inferior = current_inferior;
 
       current_inferior = thread;
-      store_inferior_registers (-1);
+      valgrind_store_registers (-1);
       current_inferior = saved_inferior;
    }
 
@@ -164,7 +164,7 @@
    convert_int_to_ascii (registers, buf, register_bytes);
 }
 
-void registers_from_string (char *buf)
+void registers_from_string (const char *buf)
 {
    int len = strlen (buf);
    unsigned char *registers = get_regcache (current_inferior, 1)->registers;
@@ -235,7 +235,7 @@
 {
    Bool new;
    unsigned char bytes_register[register_size (n)];
-   convert_ascii_to_int ((char *) buf, bytes_register, register_size (n));
+   convert_ascii_to_int (buf, bytes_register, register_size (n));
    VG_(dmemcpy) (register_data_for_supply (n, 0, &new), 
                  bytes_register, register_size (n), mod);
    if (new)
diff --git a/coregrind/m_gdbserver/regcache.h b/coregrind/m_gdbserver/regcache.h
index 2f17d0a..abd4eb7 100644
--- a/coregrind/m_gdbserver/regcache.h
+++ b/coregrind/m_gdbserver/regcache.h
@@ -1,5 +1,5 @@
 /* Register support routines for the remote server for GDB.
-   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002, 2012 Free Software Foundation, Inc.
 
    This file is part of GDB.
    It has been modified to integrate it in valgrind
@@ -44,7 +44,7 @@
 
 /* Convert a string to register values and fill our register cache.  */
 
-void registers_from_string (char *buf);
+void registers_from_string (const char *buf);
 
 /* Return the size in bytes of a string-encoded register packet.  */
 
diff --git a/coregrind/m_gdbserver/regdef.h b/coregrind/m_gdbserver/regdef.h
index 60400fd..146079c 100644
--- a/coregrind/m_gdbserver/regdef.h
+++ b/coregrind/m_gdbserver/regdef.h
@@ -1,5 +1,5 @@
 /* Register protocol definition structures for the GNU Debugger
-   Copyright 2001, 2002 Free Software Foundation, Inc.
+   Copyright 2001, 2002, 2012 Free Software Foundation, Inc.
 
    This file is part of GDB.
    It has been modified to integrate it in valgrind
diff --git a/coregrind/m_gdbserver/remote-utils.c b/coregrind/m_gdbserver/remote-utils.c
index 76bf498..59a698e 100644
--- a/coregrind/m_gdbserver/remote-utils.c
+++ b/coregrind/m_gdbserver/remote-utils.c
@@ -59,7 +59,7 @@
 static char *shared_mem = NULL;
 
 static
-int open_fifo (char *side, char *path, int flags)
+int open_fifo (const char *side, const char *path, int flags)
 {
   SysRes o;
   int fd;
@@ -91,7 +91,7 @@
 /* Returns 0 if vgdb and connection state looks good,
    otherwise returns an int value telling which check failed. */
 static
-int vgdb_state_looks_bad(char* where)
+int vgdb_state_looks_bad(const char* where)
 {
    if (VG_(kill)(shared->vgdb_pid, 0) != 0)
       return 1; // vgdb process does not exist anymore.
@@ -105,16 +105,11 @@
    return 0; // all is ok.
 }
 
-/* On systems that defines PR_SET_PTRACER, verify if ptrace_scope is
-   is permissive enough for vgdb. Otherwise, call set_ptracer.
-   This is especially aimed at Ubuntu >= 10.10 which has added
-   the ptrace_scope context. */
-static
-void set_ptracer(void)
+void VG_(set_ptracer)(void)
 {
 #ifdef PR_SET_PTRACER
    SysRes o;
-   char *ptrace_scope_setting_file = "/proc/sys/kernel/yama/ptrace_scope";
+   const char *ptrace_scope_setting_file = "/proc/sys/kernel/yama/ptrace_scope";
    int fd;
    char ptrace_scope;
    int ret;
@@ -132,11 +127,16 @@
       dlog(1, "ptrace_scope %c\n", ptrace_scope);
       if (ptrace_scope != '0') {
          /* insufficient default ptrace_scope.
-            Indicate to the kernel that we accept to be
-            ptraced by our vgdb. */
-         ret = VG_(prctl) (PR_SET_PTRACER, shared->vgdb_pid, 0, 0, 0);
-         dlog(1, "set_ptracer to vgdb_pid %d result %d\n",
-              shared->vgdb_pid, ret);
+            Indicate to the kernel that we accept to be ptraced. */
+#ifdef PR_SET_PTRACER_ANY
+         ret = VG_(prctl) (PR_SET_PTRACER, PR_SET_PTRACER_ANY, 0, 0, 0);
+         dlog(1, "set_ptracer to PR_SET_PTRACER_ANY result %d\n", ret);
+#else
+         ret = VG_(prctl) (PR_SET_PTRACER, 1, 0, 0, 0);
+         dlog(1, "set_ptracer to 1 result %d\n", ret);
+#endif
+         if (ret)
+            VG_(umsg)("error calling PR_SET_PTRACER, vgdb might block\n");
       }
    } else {
       dlog(0, "Could not read the ptrace_scope setting from %s\n",
@@ -181,7 +181,6 @@
          be reasonably sure someone is reading on the other
          side of the fifo. */
       if (!vgdb_state_looks_bad("bad?@ensure_write_remote_desc")) {
-         set_ptracer();
          write_remote_desc = open_fifo ("write", to_gdb, VKI_O_WRONLY);
       }
    }
@@ -196,7 +195,7 @@
 void safe_mknod (char *nod)
 {
    SysRes m;
-   m = VG_(mknod) (nod, VKI_S_IFIFO|0666, 0);
+   m = VG_(mknod) (nod, VKI_S_IFIFO|0600, 0);
    if (sr_isError (m)) {
       if (sr_Err (m) == VKI_EEXIST) {
          if (VG_(clo_verbosity) > 1) {
@@ -219,7 +218,7 @@
    will be created if not existing yet. They will be removed when
    the gdbserver connection is closed or the process exits */
 
-void remote_open (char *name)
+void remote_open (const HChar *name)
 {
    const HChar *user, *host;
    int save_fcntl_flags, len;
@@ -293,7 +292,7 @@
 
    if (!mknod_done) {
       mknod_done++;
-
+      VG_(set_ptracer)();
       /*
        * Unlink just in case a previous process with the same PID had been
        * killed and hence Valgrind hasn't had the chance yet to remove these.
@@ -307,7 +306,7 @@
 
       pid_from_to_creator = pid;
       
-      o = VG_(open) (shared_mem, VKI_O_CREAT|VKI_O_RDWR, 0666);
+      o = VG_(open) (shared_mem, VKI_O_CREAT|VKI_O_RDWR, 0600);
       if (sr_isError (o)) {
          sr_perror(o, "cannot create shared_mem file %s\n", shared_mem);
          fatal("");
@@ -362,7 +361,7 @@
 }
 
 static
-char * ppFinishReason (FinishReason reason)
+const char * ppFinishReason (FinishReason reason)
 {
    switch (reason) {
    case orderly_finish:    return "orderly_finish";
@@ -438,7 +437,7 @@
    gives a small value to --vgdb-poll. So, the function avoids
    doing repetitively system calls by rather looking at the
    counter values maintained in shared memory by vgdb. */
-int remote_desc_activity(char *msg)
+int remote_desc_activity(const char *msg)
 {
    int ret;
    const int looking_at = shared->written_by_vgdb;
@@ -542,6 +541,29 @@
   return i;
 }
 
+/* builds an image of bin according to byte order of the architecture 
+   Useful for register and int image */
+char* heximage (char *buf, char *bin, int count)
+{
+#if defined(VGA_x86) || defined(VGA_amd64)
+   char rev[count]; 
+   /* note: no need for trailing \0, length is known with count */
+  int i;
+  for (i = 0; i < count; i++)
+    rev[i] = bin[count - i - 1];
+  hexify (buf, rev, count);
+#else
+  hexify (buf, bin, count);
+#endif
+  return buf;
+}
+
+void* C2v(CORE_ADDR addr)
+{
+   return (void*) addr;
+}
+
+
 /* Convert BUFFER, binary data at least LEN bytes long, into escaped
    binary data in OUT_BUF.  Set *OUT_LEN to the length of the data
    encoded in OUT_BUF, and return the number of bytes in OUT_BUF
@@ -729,7 +751,7 @@
 
       /* Check for an input interrupt while we're here.  */
       if (cc == '\003')
-         (*the_target->send_signal) (VKI_SIGINT);
+         dlog(1, "Received 0x03 character (SIGINT)\n");
    }
    while (cc != '+');
 
@@ -748,19 +770,23 @@
 
 void monitor_output (char *s)
 {
-   const int len = strlen(s);
-   char *buf = malloc(1 + 2*len + 1);
-
-   buf[0] = 'O';
-   hexify(buf+1, s, len);
-   if (putpkt (buf) < 0) {
-      /* We probably have lost the connection with vgdb. */
-      reset_valgrind_sink("Error writing monitor output");
-      /* write again after reset */
-      VG_(printf) ("%s", s);
+   if (remote_connected()) {
+      const int len = strlen(s);
+      char *buf = malloc(1 + 2*len + 1);
+      
+      buf[0] = 'O';
+      hexify(buf+1, s, len);
+      if (putpkt (buf) < 0) {
+         /* We probably have lost the connection with vgdb. */
+         reset_valgrind_sink("Error writing monitor output");
+         /* write again after reset */
+         VG_(printf) ("%s", s);
+      }
+      
+      free (buf);
+   } else {
+      print_to_initial_valgrind_sink (s);
    }
-   
-   free (buf);
 }
 
 /* Returns next char from remote GDB.  -1 if error.  */
@@ -906,7 +932,7 @@
    buf[3] = '\0';
 }
 
-void convert_int_to_ascii (unsigned char *from, char *to, int n)
+void convert_int_to_ascii (const unsigned char *from, char *to, int n)
 {
    int nib;
    int ch;
@@ -921,7 +947,7 @@
 }
 
 
-void convert_ascii_to_int (char *from, unsigned char *to, int n)
+void convert_ascii_to_int (const char *from, unsigned char *to, int n)
 {
    int nib1, nib2;
    while (n--) {
@@ -962,15 +988,14 @@
    if (status == 'T') {
       const char **regp = gdbserver_expedite_regs;
       
-      if (the_target->stopped_by_watchpoint != NULL
-	  && (*the_target->stopped_by_watchpoint) ()) {
+      if (valgrind_stopped_by_watchpoint()) {
          CORE_ADDR addr;
          int i;
 
          strncpy (buf, "watch:", 6);
          buf += 6;
 
-         addr = (*the_target->stopped_data_address) ();
+         addr = valgrind_stopped_data_address ();
 
          /* Convert each byte of the address into two hexadecimal chars.
             Note that we take sizeof (void *) instead of sizeof (addr);
diff --git a/coregrind/m_gdbserver/server.c b/coregrind/m_gdbserver/server.c
index 2736419..d530330 100644
--- a/coregrind/m_gdbserver/server.c
+++ b/coregrind/m_gdbserver/server.c
@@ -27,6 +27,9 @@
 #include "pub_core_translate.h"
 #include "pub_core_mallocfree.h"
 #include "pub_core_initimg.h"
+#include "pub_core_execontext.h"
+#include "pub_core_syswrap.h"      // VG_(show_open_fds)
+#include "pub_core_scheduler.h"
 
 unsigned long cont_thread;
 unsigned long general_thread;
@@ -38,11 +41,13 @@
 
 /* for a gdbserver integrated in valgrind, resuming the process consists
    in returning the control to valgrind.
+   The guess process resumes its execution.
    Then at the next error or break or ..., valgrind calls gdbserver again.
-   A resume packet must then be built.
-   resume_packet_needed records the fact that the next call to gdbserver
+   A resume reply packet must then be built to inform GDB that the
+   resume request is finished.
+   resume_reply_packet_needed records the fact that the next call to gdbserver
    must send a resume packet to gdb. */
-static Bool resume_packet_needed = False;
+static Bool resume_reply_packet_needed = False;
 
 VG_MINIMAL_JMP_BUF(toplevel);
 
@@ -50,7 +55,7 @@
    or -1 otherwise.  */
 
 static
-int decode_xfer_read (char *buf, char **annex, CORE_ADDR *ofs, unsigned int *len)
+int decode_xfer_read (char *buf, const char **annex, CORE_ADDR *ofs, unsigned int *len)
 {
    /* Extract and NUL-terminate the annex.  */
    *annex = buf;
@@ -92,7 +97,7 @@
 static Bool command_output_to_log = False;
 /* True <=> command output goes to log instead of gdb */
 
-void reset_valgrind_sink(char *info)
+void reset_valgrind_sink(const char *info)
 {
    if (VG_(log_output_sink).fd != initial_valgrind_sink.fd
        && initial_valgrind_sink_saved) {
@@ -102,8 +107,15 @@
    }
 }
 
+void print_to_initial_valgrind_sink (const char *msg)
+{
+   vg_assert (initial_valgrind_sink_saved);
+   VG_(write) (initial_valgrind_sink.fd, msg, strlen(msg));
+}
+
+
 static
-void kill_request (char *msg)
+void kill_request (const char *msg)
 {
    VG_(umsg) ("%s", msg);
    remote_close();
@@ -123,8 +135,8 @@
    UWord ret = 0;
    char s[strlen(mon)+1]; /* copy for strtok_r */
    char* wcmd;
-   Char* ssaveptr;
-   char* endptr;
+   HChar* ssaveptr;
+   const char* endptr;
    int   kwdid;
    int int_value;
 
@@ -135,7 +147,8 @@
    /* NB: if possible, avoid introducing a new command below which
       starts with the same 3 first letters as an already existing
       command. This ensures a shorter abbreviation for the user. */
-   switch (VG_(keyword_id) ("help v.set v.info v.wait v.kill v.translate",
+   switch (VG_(keyword_id) ("help v.set v.info v.wait v.kill v.translate"
+                            " v.do",
                             wcmd, kwd_report_duplicated_matches)) {
    case -2:
       ret = 1;
@@ -158,20 +171,25 @@
 
       VG_(gdb_printf) (
 "general valgrind monitor commands:\n"
-"  help [debug]             : monitor command help. With debug: + debugging commands\n"
+"  help [debug]            : monitor command help. With debug: + debugging commands\n"
 "  v.wait [<ms>]           : sleep <ms> (default 0) then continue\n"
 "  v.info all_errors       : show all errors found so far\n"
 "  v.info last_error       : show last error found\n"
 "  v.info n_errs_found     : show the nr of errors found so far\n"
+"  v.info open_fds         : show open file descriptors (only if --track-fds=yes)\n"
 "  v.kill                  : kill the Valgrind process\n"
 "  v.set gdb_output        : set valgrind output to gdb\n"
 "  v.set log_output        : set valgrind output to log\n"
 "  v.set mixed_output      : set valgrind output to log, interactive output to gdb\n"
+"  v.set merge-recursive-frames <num> : merge recursive calls in max <num> frames\n"
 "  v.set vgdb-error <errornr> : debug me at error >= <errornr> \n");
       if (int_value) { VG_(gdb_printf) (
 "debugging valgrind internals monitor commands:\n"
+"  v.do   expensive_sanity_check_general : do an expensive sanity check now\n"
 "  v.info gdbserver_status : show gdbserver status\n"
-"  v.info memory           : show valgrind heap memory stats\n"
+"  v.info memory [aspacemgr] : show valgrind heap memory stats\n"
+"     (with aspacemgr arg, also shows valgrind segments on log ouput)\n"
+"  v.info exectxt          : show stacktraces and stats of all execontexts\n"
 "  v.info scheduler        : show valgrind thread state and stacktrace\n"
 "  v.set debuglog <level>  : set valgrind debug log level to <level>\n"
 "  v.translate <addr> [<traceflags>]  : debug translation of <addr> with <traceflags>\n"
@@ -183,19 +201,23 @@
       ret = 1;
       wcmd = strtok_r (NULL, " ", &ssaveptr);
       switch (kwdid = VG_(keyword_id) 
-              ("vgdb-error debuglog gdb_output log_output mixed_output",
+              ("vgdb-error debuglog merge-recursive-frames"
+               " gdb_output log_output mixed_output",
                wcmd, kwd_report_all)) {
       case -2:
       case -1: 
          break;
       case 0: /* vgdb-error */
       case 1: /* debuglog */
+      case 2: /* merge-recursive-frames */
          wcmd = strtok_r (NULL, " ", &ssaveptr);
          if (wcmd == NULL) {
             int_value = 0;
             endptr = "empty"; /* to report an error below */
          } else {
-            int_value = strtol (wcmd, &endptr, 10);
+            HChar *the_end;
+            int_value = strtol (wcmd, &the_end, 10);
+            endptr = the_end;
          }
          if (*endptr != '\0') {
             VG_(gdb_printf) ("missing or malformed integer value\n");
@@ -207,21 +229,26 @@
             VG_(gdb_printf) ("debuglog value changed from %d to %d\n",
                              VG_(debugLog_getLevel)(), int_value);
             VG_(debugLog_startup) (int_value, "gdbsrv");
+         } else if (kwdid == 2) {
+            VG_(gdb_printf)
+               ("merge-recursive-frames value changed from %d to %d\n",
+                VG_(clo_merge_recursive_frames), int_value);
+            VG_(clo_merge_recursive_frames) = int_value;
          } else {
             vg_assert (0);
          }
          break;
-      case 2: /* gdb_output */
+      case 3: /* gdb_output */
          (*sink_wanted_at_return).fd = -2;
          command_output_to_log = False;
          VG_(gdb_printf) ("valgrind output will go to gdb\n");
          break;
-      case 3: /* log_output */
+      case 4: /* log_output */
          (*sink_wanted_at_return).fd = initial_valgrind_sink.fd;
          command_output_to_log = True;
          VG_(gdb_printf) ("valgrind output will go to log\n");
          break;
-      case 4: /* mixed output */
+      case 5: /* mixed output */
          (*sink_wanted_at_return).fd = initial_valgrind_sink.fd;
          command_output_to_log = False;
          VG_(gdb_printf)
@@ -236,7 +263,7 @@
       wcmd = strtok_r (NULL, " ", &ssaveptr);
       switch (kwdid = VG_(keyword_id) 
               ("all_errors n_errs_found last_error gdbserver_status memory"
-               " scheduler",
+               " scheduler open_fds exectxt",
                wcmd, kwd_report_all)) {
       case -2:
       case -1: 
@@ -261,12 +288,37 @@
          VG_(print_all_arena_stats) ();
          if (VG_(clo_profile_heap))
             VG_(print_arena_cc_analysis) ();
+         wcmd = strtok_r (NULL, " ", &ssaveptr);
+         if (wcmd != NULL) {
+            switch (VG_(keyword_id) ("aspacemgr", wcmd, kwd_report_all)) {
+            case -2:
+            case -1: break;
+            case  0: 
+               VG_(am_show_nsegments) (0, "gdbserver v.info memory aspacemgr");
+               break;
+            default: tl_assert (0);
+            }
+         }
+
          ret = 1;
          break;
       case  5: /* scheduler */
          VG_(show_sched_status) ();
          ret = 1;
          break;
+      case  6: /* open_fds */
+         if (VG_(clo_track_fds))
+            VG_(show_open_fds) ("");
+         else
+            VG_(gdb_printf)
+               ("Valgrind must be started with --track-fds=yes"
+                " to show open fds\n");
+         ret = 1;
+         break;
+      case  7: /* exectxt */
+         VG_(print_ExeContext_stats) (True /* with_stacktraces */);
+         ret = 1;
+         break;
       default:
          vg_assert(0);
       }
@@ -275,7 +327,7 @@
    case  3: /* v.wait */
       wcmd = strtok_r (NULL, " ", &ssaveptr);
       if (wcmd != NULL) {
-         int_value = strtol (wcmd, &endptr, 10);
+         int_value = strtol (wcmd, NULL, 10);
          VG_(gdb_printf) ("gdbserver: continuing in %d ms ...\n", int_value);
          VG_(poll)(NULL, 0, int_value);
       }
@@ -326,6 +378,25 @@
       break;
    }
 
+   case  6: /* v.do */
+      ret = 1;
+      wcmd = strtok_r (NULL, " ", &ssaveptr);
+      switch (VG_(keyword_id) ("expensive_sanity_check_general",
+                               wcmd, kwd_report_all)) {
+         case -2:
+         case -1: break;
+         case  0: { /* expensive_sanity_check_general */
+            // Temporarily bump up sanity level to check e.g. the malloc arenas.
+            const Int save_clo_sanity_level = VG_(clo_sanity_level);
+            if (VG_(clo_sanity_level) < 4) VG_(clo_sanity_level) = 4;
+            VG_(sanity_check_general) (/* force_expensive */ True);
+            VG_(clo_sanity_level) = save_clo_sanity_level;
+            break;
+         }
+         default: tl_assert (0);
+      }
+      break;
+
    default:
       vg_assert (0);
    }
@@ -425,6 +496,26 @@
    arg_own_buf[0] = 0;
 }
 
+Bool VG_(client_monitor_command) (HChar* cmd)
+{
+   const Bool connected = remote_connected();
+   const int saved_command_output_to_log = command_output_to_log;
+   Bool handled;
+
+   if (!connected)
+      command_output_to_log = True;
+   handled = handle_gdb_monitor_command (cmd);
+   if (!connected) {
+      // reset the log output unless cmd changed it.
+      if (command_output_to_log)
+         command_output_to_log = saved_command_output_to_log;
+   }
+   if (handled)
+      return False; // recognised
+   else
+      return True; // not recognised
+}
+
 /* Handle all of the extended 'q' packets.  */
 static
 void handle_query (char *arg_own_buf, int *new_packet_len_p)
@@ -517,12 +608,11 @@
       }
    }
 
-   if ( ((*the_target->target_xml)() != NULL 
-         || (*the_target->shadow_target_xml)() != NULL)
+   if (valgrind_target_xml(VG_(clo_vgdb_shadow_registers)) != NULL
         && strncmp ("qXfer:features:read:", arg_own_buf, 20) == 0) {
       CORE_ADDR ofs;
       unsigned int len, doc_len;
-      char *annex = NULL;
+      const char *annex = NULL;
       // First, the annex is extracted from the packet received.
       // Then, it is replaced by the corresponding file name.
       int fd;
@@ -534,19 +624,11 @@
       }
       
       if (strcmp (annex, "target.xml") == 0) {
-         annex = NULL; // to replace it by the corresponding filename.
-
-         /* If VG_(clo_vgdb_shadow_registers), try to use
-            shadow_target_xml. Fallback to target_xml
-            if not defined. */
-         if (VG_(clo_vgdb_shadow_registers)) {
-            annex = (*the_target->shadow_target_xml)();
-            if (annex != NULL)
-               /* Ensure the shadow registers are initialized. */
-               initialize_shadow_low(True);
+         annex = valgrind_target_xml(VG_(clo_vgdb_shadow_registers));
+         if (annex != NULL && VG_(clo_vgdb_shadow_registers)) {
+            /* Ensure the shadow registers are initialized. */
+            initialize_shadow_low(True);
          }
-         if (annex == NULL)
-            annex = (*the_target->target_xml)();
          if (annex == NULL) {
             strcpy (arg_own_buf, "E00");
             return;
@@ -582,7 +664,7 @@
          }
          VG_(lseek) (fd, ofs, VKI_SEEK_SET);
          len_read = VG_(read) (fd, toread, len);
-         *new_packet_len_p = write_qxfer_response (arg_own_buf, toread,
+         *new_packet_len_p = write_qxfer_response (arg_own_buf, (unsigned char *)toread,
                                                    len_read, ofs + len_read < doc_len);
          VG_(close) (fd);
          return;
@@ -594,7 +676,7 @@
       int n;
       CORE_ADDR ofs;
       unsigned int len;
-      char *annex;
+      const char *annex;
 
       /* Reject any annex; grab the offset and length.  */
       if (decode_xfer_read (arg_own_buf + 16, &annex, &ofs, &len) < 0
@@ -654,8 +736,7 @@
       if (VG_(client_auxv))
          strcat (arg_own_buf, ";qXfer:auxv:read+");
 
-      if ((*the_target->target_xml)() != NULL
-          || (*the_target->shadow_target_xml)() != NULL) {
+      if (valgrind_target_xml(VG_(clo_vgdb_shadow_registers)) != NULL) {
          strcat (arg_own_buf, ";qXfer:features:read+");
          /* if a new gdb connects to us, we have to reset the register
             set to the normal register sets to allow this new gdb to
@@ -694,21 +775,16 @@
    struct thread_resume resume_info[2];
    int n = 0;
 
-   if (step || sig || (cont_thread != 0 && cont_thread != -1)) {
-      resume_info[0].thread
-         = ((struct inferior_list_entry *) current_inferior)->id;
+   if (step || sig) {
       resume_info[0].step = step;
       resume_info[0].sig = sig;
-      resume_info[0].leave_stopped = 0;
       n++;
    }
-   resume_info[n].thread = -1;
    resume_info[n].step = 0;
    resume_info[n].sig = 0;
-   resume_info[n].leave_stopped = (cont_thread != 0 && cont_thread != -1);
 
-   resume_packet_needed = True;
-   (*the_target->resume) (resume_info);
+   resume_reply_packet_needed = True;
+   valgrind_resume (resume_info);
 }
 
 /* server_main global variables */
@@ -719,7 +795,7 @@
 {
    dlog(1, "gdbserver_init gdbserver embedded in valgrind: %s\n", version);
    noack_mode = False;
-   initialize_low ();
+   valgrind_initialize_target ();
    // After a fork, gdbserver_init can be called again.
    // We do not have to re-malloc the buffers in such a case.
    if (own_buf == NULL)
@@ -748,7 +824,7 @@
    unsigned int len;
    CORE_ADDR mem_addr;
 
-   zignal = mywait (&status);
+   zignal = valgrind_wait (&status);
    if (VG_MINIMAL_SETJMP(toplevel)) {
       dlog(0, "error caused VG_MINIMAL_LONGJMP to server_main\n");
    }
@@ -757,12 +833,21 @@
       int packet_len;
       int new_packet_len = -1;
       
-      if (resume_packet_needed) {
-         resume_packet_needed = False;
+      if (resume_reply_packet_needed) {
+         /* Send the resume reply to reply to last GDB resume
+            request. */
+         resume_reply_packet_needed = False;
          prepare_resume_reply (own_buf, status, zignal);
          putpkt (own_buf);
       }
 
+      /* If we our status is terminal (exit or fatal signal) get out
+         as quickly as we can. We won't be able to handle any request
+         anymore.  */
+      if (status == 'W' || status == 'X') {
+         return;
+      }
+
       packet_len = getpkt (own_buf);
       if (packet_len <= 0)
          break;
@@ -791,7 +876,7 @@
          remote_finish (reset_after_error);
          remote_open (VG_(clo_vgdb_prefix));
          myresume (0, 0);
-         resume_packet_needed = False;
+         resume_reply_packet_needed = False;
          return;
       case '!':
          /* We can not use the extended protocol with valgrind,
@@ -877,14 +962,14 @@
       }
       case 'm':
          decode_m_packet (&own_buf[1], &mem_addr, &len);
-         if (read_inferior_memory (mem_addr, mem_buf, len) == 0)
+         if (valgrind_read_memory (mem_addr, mem_buf, len) == 0)
             convert_int_to_ascii (mem_buf, own_buf, len);
          else
             write_enn (own_buf);
          break;
       case 'M':
          decode_M_packet (&own_buf[1], &mem_addr, &len, mem_buf);
-         if (write_inferior_memory (mem_addr, mem_buf, len) == 0)
+         if (valgrind_write_memory (mem_addr, mem_buf, len) == 0)
             write_ok (own_buf);
          else
             write_enn (own_buf);
@@ -892,7 +977,7 @@
       case 'X':
          if (decode_X_packet (&own_buf[1], packet_len - 1,
                               &mem_addr, &len, mem_buf) < 0
-             || write_inferior_memory (mem_addr, mem_buf, len) != 0)
+             || valgrind_write_memory (mem_addr, mem_buf, len) != 0)
             write_enn (own_buf);
          else
             write_ok (own_buf);
@@ -930,15 +1015,13 @@
          int zlen = strtol (lenptr + 1, &dataptr, 16);
          char type = own_buf[1];
          
-         if (the_target->insert_watchpoint == NULL
-             || (type < '0' || type > '4')) {
-            /* No watchpoint support or not a watchpoint command;
-               unrecognized either way.  */
+         if (type < '0' || type > '4') {
+            /* Watchpoint command type unrecognized. */
             own_buf[0] = '\0';
          } else {
             int res;
             
-            res = (*the_target->insert_watchpoint) (type, addr, zlen);
+            res = valgrind_insert_watchpoint (type, addr, zlen);
             if (res == 0)
                write_ok (own_buf);
             else if (res == 1)
@@ -956,15 +1039,13 @@
          int zlen = strtol (lenptr + 1, &dataptr, 16);
          char type = own_buf[1];
          
-         if (the_target->remove_watchpoint == NULL
-             || (type < '0' || type > '4')) {
-            /* No watchpoint support or not a watchpoint command;
-               unrecognized either way.  */
+         if (type < '0' || type > '4') {
+            /* Watchpoint command type unrecognized. */
             own_buf[0] = '\0';
          } else {
             int res;
             
-            res = (*the_target->remove_watchpoint) (type, addr, zlen);
+            res = valgrind_remove_watchpoint (type, addr, zlen);
             if (res == 0)
                write_ok (own_buf);
             else if (res == 1)
@@ -988,7 +1069,7 @@
             break;
          }
 
-         if (mythread_alive (thread_id))
+         if (valgrind_thread_alive (thread_id))
             write_ok (own_buf);
          else
             write_enn (own_buf);
@@ -1042,6 +1123,6 @@
    remote_finish (reset_after_error);
    remote_open (VG_(clo_vgdb_prefix)); 
    myresume (0, 0);
-   resume_packet_needed = False;
+   resume_reply_packet_needed = False;
    return;
 }
diff --git a/coregrind/m_gdbserver/server.h b/coregrind/m_gdbserver/server.h
index a88bc03..655a2ab 100644
--- a/coregrind/m_gdbserver/server.h
+++ b/coregrind/m_gdbserver/server.h
@@ -1,6 +1,6 @@
 /* Common definitions for remote server for GDB.
    Copyright (C) 1993, 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004, 2005,
-   2006
+   2006, 2012
    Free Software Foundation, Inc.
 
    This file is part of GDB.
@@ -40,9 +40,9 @@
 #include "pub_tool_libcassert.h"
 #include "pub_tool_libcbase.h"
 #include "pub_tool_options.h"
-#include "pub_core_gdbserver.h"
 #include "pub_tool_libcsetjmp.h"
 #include "pub_core_threadstate.h"
+#include "pub_core_gdbserver.h"
 #include "pub_core_aspacemgr.h"
 #include "pub_tool_vki.h"
 #include "valgrind.h"
@@ -63,7 +63,7 @@
 
 
 /* Output string s to the gdb debugging this process or to vgdb.
-   Do not call this directly. Rather use VG_(monitor_print) 
+   Do not call this directly. Rather use VG_(gdb_printf) 
    to output something to gdb, use normal valgrind messaging
    (e.g. VG_(umsg)) to send output that can either go
    to gdb or to log. */
@@ -76,7 +76,7 @@
    returns 2 if remote_desc_activity detected the connection has been
              lost and should be reopened.
    msg is used for debug logging.*/
-extern int remote_desc_activity(char *msg);
+extern int remote_desc_activity(const char *msg);
 
 /* output some status of gdbserver communication */
 extern void remote_utils_output_status(void);
@@ -92,7 +92,12 @@
 /* If Valgrind sink was changed by gdbserver:
       Resets the valgrind sink to before the changes done by gdbserver,
       and does VG_(umsg). If info != NULL, info added in VG_(usmg). */
-extern void reset_valgrind_sink(char* info);
+extern void reset_valgrind_sink(const char* info);
+
+// VG_(gdb_printf) by default writes to vgdb/gdb.
+// If there is no connection, it will rather write to the initial (log)
+// valgrind fd using the below.
+extern void print_to_initial_valgrind_sink (const char *msg);
 
 /* For ARM usage.
    Guesses if pc is a thumb pc.
@@ -107,34 +112,6 @@
    If debug info not found for this pc, assumes arm */
 extern Addr thumb_pc (Addr pc);
 
-/* True if gdbserver is single stepping the valgrind process */
-extern Bool valgrind_single_stepping(void);
-
-/* Set Valgrind in single stepping mode or not according to Bool. */
-extern void valgrind_set_single_stepping(Bool);
-
-/* gets the addr at which a (possible) break must be ignored once.
-   If there is no such break to be ignored once, 0 is returned.
-   This is needed for the following case:
-   The user sets a break at address AAA.
-   The break is encountered. Then the user does stepi 
-   (i.e. step one instruction).
-   In such a case, the already encountered break must be ignored
-   to ensure the stepi will advance by one instruction: a "break"
-   is implemented in valgrind by some helper code just after the
-   instruction mark at which the break is set. This helper code
-   verifies if either there is a break at the current PC
-   or if we are in stepping mode. If we are in stepping mode,
-   the already encountered break must be ignored once to advance
-   to the next instruction.
-   ??? need to check if this is *really* needed. */
-extern Addr valgrind_get_ignore_break_once(void);
-
-/* When addr > 0, ensures the next stop reply packet informs
-   gdb about the encountered watchpoint.
-   Use addr 0x0 to reset. */
-extern void VG_(set_watchpoint_stop_address) (Addr addr);
-
 /* when invoked by vgdb using ptrace, contains the tid chosen
    by vgdb (if vgdb gives a tid different of 0: a 0 tid by
    vgdb means use the running_tid if there is one running
@@ -162,27 +139,27 @@
 #define VKI_POLLNVAL          0x0020
 
 /* a bunch of macros to avoid libc usage in valgrind-ified gdbserver */ 
-#define strcmp(s1,s2)         VG_(strcmp) ((Char *)(s1),(Char *)(s2))
-#define strncmp(s1,s2,nmax)   VG_(strncmp) ((Char *)(s1),(Char *)(s2),nmax)
-#define strcat(s1,s2)         VG_(strcat) ((Char *)(s1),(Char *)(s2))
-#define strcpy(s1,s2)         VG_(strcpy) ((Char *)(s1),(Char *)(s2))
-#define strncpy(s1,s2,nmax)   VG_(strncpy) ((Char *)(s1),(Char *)(s2),nmax)
-#define strlen(s)             VG_(strlen) ((Char *)(s))
-#define strtok(p,s)           (char *) VG_(strtok) ((Char *)(p),(Char *)(s))
-#define strtok_r(p,s,ss)      (char *) VG_(strtok_r) ((Char *)(p),(Char *)(s),(Char **)(ss))
-#define strchr(s,c)           (char *) VG_(strchr) ((Char *)(s),c)
+#define strcmp(s1,s2)         VG_(strcmp) ((s1),(s2))
+#define strncmp(s1,s2,nmax)   VG_(strncmp) ((s1),(s2),nmax)
+#define strcat(s1,s2)         VG_(strcat) ((s1),(s2))
+#define strcpy(s1,s2)         VG_(strcpy) ((s1),(s2))
+#define strncpy(s1,s2,nmax)   VG_(strncpy) ((s1),(s2),nmax)
+#define strlen(s)             VG_(strlen) ((s))
+#define strtok(p,s)           VG_(strtok) ((p),(s))
+#define strtok_r(p,s,ss)      VG_(strtok_r) ((p),(s),(ss))
+#define strchr(s,c)           VG_(strchr) ((s),c)
 /* strtol and strtoul supports base 16 or else assumes it is base 10 */
 #define strtol(s,r,b)         ((b) == 16 ? \
-                               VG_(strtoll16) ((Char *)(s),(Char **)(r)) \
-                               : VG_(strtoll10) ((Char *)(s),(Char **)(r)))
+                               VG_(strtoll16) ((s),(r)) \
+                               : VG_(strtoll10) ((s),(r)))
 #define strtoul(s,r,b)        ((b) == 16 ? \
-                               VG_(strtoull16) ((Char *)(s),(Char **)(r)) \
-                               : VG_(strtoull10) ((Char *)(s),(Char **)(r)))
+                               VG_(strtoull16) ((s),(r)) \
+                               : VG_(strtoull10) ((s),(r)))
 
 #define malloc(sz)            VG_(arena_malloc)  (VG_AR_CORE, "gdbsrv", sz)
 #define calloc(n,sz)          VG_(arena_calloc)  (VG_AR_CORE, "gdbsrv", n, sz)
 #define realloc(p,size)       VG_(arena_realloc) (VG_AR_CORE, "gdbsrv", p, size)
-#define strdup(s)             (char *) VG_(arena_strdup)  (VG_AR_CORE, "gdbsrv", (Char *)(s))
+#define strdup(s)             VG_(arena_strdup)  (VG_AR_CORE, "gdbsrv", (s))
 #define free(b)               VG_(arena_free)    (VG_AR_CORE, b)
 
 #ifndef ATTR_NORETURN
@@ -226,16 +203,24 @@
 #include "gdb/signals.h"
 
 /* signal handling with gdbserver: before delivering a signal,
-   call gdbserver_signal_encountered then give control to
-   gdbserver by calling call_gdbserver.
-   On return, call gdbserver_deliver_signal to effectively
-   deliver the signal or not. */
+   call gdbserver_signal_encountered. This will set
+   the signal to report in the next resume reply sent to GDB.
+   A call to call_gdbserver is needed to send the resume reply to GDB.
+   After this call, gdbserver_deliver_signal indicates if the signal
+   is effectively to be delivered to the guest process. */
 extern void gdbserver_signal_encountered (Int vki_sigNo);
 /* between these two calls, call call_gdbserver */
 /* If gdbserver_deliver_signal True, then gdb did not ask
    to ignore the signal, so signal can be delivered to the guest. */
 extern Bool gdbserver_deliver_signal (Int vki_sigNo);
 
+/* Called when a process is about to go with reason ('W' or 'X') and code.
+   This sets global variables that will be used to return the process
+   exit status to GDB in the next resume_reply.
+   Similarly to gdbserver_signal_encountered, a call to call_gdbserver
+   is needed to send the resume reply. */
+extern void gdbserver_process_exit_encountered (unsigned char status, Int code);
+
 /* To optimise signal handling, gdb can instruct gdbserver to
    not stop on some signals. In the below, a 1 indicates the gdb_nr signal
    has to be passed directly to the guest, without asking gdb.
@@ -249,13 +234,6 @@
 
 /* Target-specific functions */
 
-void initialize_low (void);
-
-/* initialize or re-initialize the register set of the low target.
-   if shadow_mode, then (re-)define the normal and valgrind shadow registers
-   else (re-)define only the normal registers. */
-void initialize_shadow_low (Bool shadow_mode);
-
 /* From inferiors.c.  */
 
 extern struct inferior_list all_threads;
@@ -303,14 +281,14 @@
 int putpkt (char *buf);
 int putpkt_binary (char *buf, int len);
 int getpkt (char *buf);
-void remote_open (char *name);
+void remote_open (const HChar *name);
 void remote_close (void);
 
 void sync_gdb_connection (void);
 void write_ok (char *buf);
 void write_enn (char *buf);
-void convert_ascii_to_int (char *from, unsigned char *to, int n);
-void convert_int_to_ascii (unsigned char *from, char *to, int n);
+void convert_ascii_to_int (const char *from, unsigned char *to, int n);
+void convert_int_to_ascii (const unsigned char *from, char *to, int n);
 void prepare_resume_reply (char *buf, char status, unsigned char sig);
 
 void decode_address (CORE_ADDR *addrp, const char *start, int len);
@@ -323,6 +301,14 @@
 
 int unhexify (char *bin, const char *hex, int count);
 int hexify (char *hex, const char *bin, int count);
+/* heximage builds an image of bin according to byte order of the architecture 
+   Useful for register and int image */
+char* heximage (char *buf, char *bin, int count);
+
+/* convert from CORE_ADDR to void* */
+void* C2v(CORE_ADDR addr);
+
+
 int remote_escape_output (const gdb_byte *buffer, int len,
 			  gdb_byte *out_buf, int *out_len,
 			  int out_maxlen);
@@ -331,14 +317,14 @@
 enum target_signal target_signal_from_host (int hostsig);
 int target_signal_to_host_p (enum target_signal oursig);
 int target_signal_to_host (enum target_signal oursig);
-char *target_signal_to_name (enum target_signal);
+const char *target_signal_to_name (enum target_signal);
 
 /* Functions from utils.c */
 
 /* error is like VG_(umsg), then VG_MINIMAL_LONGJMP to gdbserver toplevel. */
 void error (const char *string,...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2);
 /* first output a description of the error inside sr, then like VG_(umsg). */
-void sr_perror (SysRes sr,char *string,...) ATTR_FORMAT (printf, 2, 3);
+void sr_perror (SysRes sr,const char *string,...) ATTR_FORMAT (printf, 2, 3);
 /* fatal is like VG_(umsg), then exit(1). */
 void fatal (const char *string,...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2);
 /* warning is like VG_(umsg). */
diff --git a/coregrind/m_gdbserver/signals.c b/coregrind/m_gdbserver/signals.c
index ee60ccd..69aa9b1 100644
--- a/coregrind/m_gdbserver/signals.c
+++ b/coregrind/m_gdbserver/signals.c
@@ -30,15 +30,15 @@
 #endif
 #endif
 
-enum target_signal target_signal_from_name (char *name);
+enum target_signal target_signal_from_name (const char *name);
 enum target_signal target_signal_from_command (int num);
 
 /* This table must match in order and size the signals in enum target_signal
    in gdb/signals.h. */
 /* *INDENT-OFF* */
 static struct {
-   char *name;
-   char *string;
+   const char *name;
+   const char *string;
 } signals [] =
    {
       {"0", "Signal 0"},
@@ -205,7 +205,7 @@
 
 
 /* Return the name for a signal.  */
-char *target_signal_to_name (enum target_signal sig)
+const char *target_signal_to_name (enum target_signal sig)
 {
    if ((sig >= TARGET_SIGNAL_FIRST) && (sig <= TARGET_SIGNAL_LAST)
        && signals[sig].name != NULL)
@@ -217,7 +217,7 @@
 }
 
 /* Given a name, return its signal.  */
-enum target_signal target_signal_from_name (char *name)
+enum target_signal target_signal_from_name (const char *name)
 {
    enum target_signal sig;
 
diff --git a/coregrind/m_gdbserver/target.c b/coregrind/m_gdbserver/target.c
index c72c761..72cf242 100644
--- a/coregrind/m_gdbserver/target.c
+++ b/coregrind/m_gdbserver/target.c
@@ -23,8 +23,555 @@
    Boston, MA 02110-1301, USA.  */
 
 #include "server.h"
+#include "target.h"
+#include "regdef.h"
+#include "regcache.h"
+#include "valgrind_low.h"
+#include "gdb/signals.h"
+#include "pub_core_aspacemgr.h"
+#include "pub_tool_machine.h"
+#include "pub_core_threadstate.h"
+#include "pub_core_transtab.h"
+#include "pub_core_gdbserver.h" 
+#include "pub_tool_debuginfo.h"
 
-struct target_ops *the_target;
+
+/* the_low_target defines the architecture specific aspects depending
+   on the cpu */
+static struct valgrind_target_ops the_low_target;
+
+static
+char *image_ptid(unsigned long ptid)
+{
+  static char result[100];
+  VG_(sprintf) (result, "id %ld", ptid);
+  return result;
+}
+#define get_thread(inf) ((struct thread_info *)(inf))
+static
+void remove_thread_if_not_in_vg_threads (struct inferior_list_entry *inf)
+{
+  struct thread_info *thread = get_thread (inf);
+  if (!VG_(lwpid_to_vgtid)(thread_to_gdb_id(thread))) {
+     dlog(1, "removing gdb ptid %s\n", 
+          image_ptid(thread_to_gdb_id(thread)));
+     remove_thread (thread);
+  }
+}
+
+/* synchronize threads known by valgrind and threads known by gdbserver */
+static
+void valgrind_update_threads (int pid)
+{
+  ThreadId tid;
+  ThreadState *ts;
+  unsigned long ptid;
+  struct thread_info *ti;
+
+  /* call remove_thread for all gdb threads not in valgrind threads */
+  for_each_inferior (&all_threads, remove_thread_if_not_in_vg_threads);
+  
+  /* call add_thread for all valgrind threads not known in gdb all_threads */
+  for (tid = 1; tid < VG_N_THREADS; tid++) {
+
+#define LOCAL_THREAD_TRACE " ti* %p vgtid %d status %s as gdb ptid %s lwpid %d\n", \
+        ti, tid, VG_(name_of_ThreadStatus) (ts->status), \
+        image_ptid (ptid), ts->os_state.lwpid
+
+     if (VG_(is_valid_tid) (tid)) {
+        ts = VG_(get_ThreadState) (tid);
+        ptid = ts->os_state.lwpid;
+        ti = gdb_id_to_thread (ptid);
+        if (!ti) {
+           /* we do not report the threads which are not yet fully
+              initialized otherwise this creates duplicated threads
+              in gdb: once with pid xxx lwpid 0, then after that
+              with pid xxx lwpid yyy. */
+           if (ts->status != VgTs_Init) {
+              dlog(1, "adding_thread" LOCAL_THREAD_TRACE);
+              add_thread (ptid, ts, ptid);
+           }
+        } else {
+           dlog(2, "(known thread)" LOCAL_THREAD_TRACE);
+        }
+     }
+#undef LOCAL_THREAD_TRACE
+  }
+}
+
+static
+struct reg* build_shadow_arch (struct reg *reg_defs, int n) {
+   int i, r;
+   static const char *postfix[3] = { "", "s1", "s2" };
+   struct reg *new_regs = malloc(3 * n * sizeof(reg_defs[0]));
+   int reg_set_len = reg_defs[n-1].offset + reg_defs[n-1].size;
+
+   for (i = 0; i < 3; i++) {
+      for (r = 0; r < n; r++) {
+         char *regname = malloc(strlen(reg_defs[r].name) 
+                                + strlen (postfix[i]) + 1);
+         strcpy (regname, reg_defs[r].name);
+         strcat (regname, postfix[i]);
+         new_regs[i*n + r].name = regname;
+         new_regs[i*n + r].offset = i*reg_set_len + reg_defs[r].offset;
+         new_regs[i*n + r].size = reg_defs[r].size;
+         dlog(1,
+              "%10s Nr %d offset(bit) %d offset(byte) %d  size(bit) %d\n",
+              new_regs[i*n + r].name, i*n + r, new_regs[i*n + r].offset,
+              (new_regs[i*n + r].offset) / 8, new_regs[i*n + r].size);
+      }  
+   }
+
+   return new_regs;
+}
+
+
+static CORE_ADDR stopped_data_address = 0;
+void VG_(set_watchpoint_stop_address) (Addr addr)
+{
+   stopped_data_address = addr;
+}
+
+int valgrind_stopped_by_watchpoint (void)
+{
+   return stopped_data_address != 0;
+}
+
+CORE_ADDR valgrind_stopped_data_address (void)
+{
+   return stopped_data_address;
+}
+
+/* pc at which we last stopped */
+static CORE_ADDR stop_pc;
+
+/* pc at which we resume. 
+   If stop_pc != resume_pc, it means
+      gdb/gdbserver has changed the pc so as to have either
+      a    "continue by jumping at that address"
+      or a "continue at that address to call some code from gdb".
+*/
+static CORE_ADDR resume_pc;
+
+static int vki_signal_to_report;
+
+void gdbserver_signal_encountered (Int vki_sigNo)
+{
+   vki_signal_to_report = vki_sigNo;
+}
+
+static int vki_signal_to_deliver;
+Bool gdbserver_deliver_signal (Int vki_sigNo)
+{
+   return vki_sigNo == vki_signal_to_deliver;
+}
+
+static unsigned char exit_status_to_report;
+static int exit_code_to_report;
+void gdbserver_process_exit_encountered (unsigned char status, Int code)
+{
+   vg_assert (status == 'W' || status == 'X');
+   exit_status_to_report = status;
+   exit_code_to_report = code;
+}
+
+static
+char* sym (Addr addr)
+{
+   static char buf[200];
+   VG_(describe_IP) (addr, buf, 200);
+   return buf;
+}
+
+ThreadId vgdb_interrupted_tid = 0;
+
+/* 0 => not single stepping.
+   1 => single stepping asked by gdb
+   2 => single stepping asked by valgrind (watchpoint) */
+static int stepping = 0;
+
+Addr valgrind_get_ignore_break_once(void)
+{
+   if (valgrind_single_stepping())
+      return resume_pc;
+   else
+      return 0;
+}
+
+void valgrind_set_single_stepping(Bool set)
+{
+   if (set)
+      stepping = 2;
+   else
+      stepping = 0;
+}
+
+Bool valgrind_single_stepping(void)
+{
+   if (stepping)
+      return True;
+   else
+      return False;
+}
+
+int valgrind_thread_alive (unsigned long tid)
+{
+  struct thread_info *ti =  gdb_id_to_thread(tid);
+  ThreadState *tst;
+
+  if (ti != NULL) {
+     tst = (ThreadState *) inferior_target_data (ti);
+     return tst->status != VgTs_Zombie;
+  }
+  else {
+    return 0;
+  }
+}
+
+void valgrind_resume (struct thread_resume *resume_info)
+{
+   dlog(1,
+        "resume_info step %d sig %d stepping %d\n", 
+        resume_info->step,
+        resume_info->sig,
+        stepping);
+   if (valgrind_stopped_by_watchpoint()) {
+      dlog(1, "clearing watchpoint stopped_data_address %p\n",
+           C2v(stopped_data_address));
+      VG_(set_watchpoint_stop_address) ((Addr) 0);
+   }
+   vki_signal_to_deliver = resume_info->sig;
+   
+   stepping = resume_info->step;
+   resume_pc = (*the_low_target.get_pc) ();
+   if (resume_pc != stop_pc) {
+      dlog(1,
+           "stop_pc %p changed to be resume_pc %s\n",
+           C2v(stop_pc), sym(resume_pc));
+   }
+   regcache_invalidate();
+}
+
+unsigned char valgrind_wait (char *ourstatus)
+{
+   int pid;
+   unsigned long wptid;
+   ThreadState *tst;
+   enum target_signal sig;
+   int code;
+
+   pid = VG_(getpid) ();
+   dlog(1, "enter valgrind_wait pid %d\n", pid);
+
+   regcache_invalidate();
+   valgrind_update_threads(pid);
+
+   /* First see if we are done with this process. */
+   if (exit_status_to_report != 0) {
+      *ourstatus = exit_status_to_report;
+      exit_status_to_report = 0;
+
+      if (*ourstatus == 'W') {
+         code = exit_code_to_report;
+         exit_code_to_report = 0;
+         dlog(1, "exit valgrind_wait status W exit code %d\n", code);
+         return code;
+      }
+
+      if (*ourstatus == 'X') {
+         sig = target_signal_from_host(exit_code_to_report);
+         exit_code_to_report = 0;
+         dlog(1, "exit valgrind_wait status X signal %d\n", sig);
+         return sig;
+      }
+   }
+
+   /* in valgrind, we consider that a wait always succeeds with STOPPED 'T' 
+      and with a signal TRAP (i.e. a breakpoint), unless there is
+      a signal to report. */
+   *ourstatus = 'T';
+   if (vki_signal_to_report == 0)
+      sig = TARGET_SIGNAL_TRAP;
+   else {
+      sig = target_signal_from_host(vki_signal_to_report);
+      vki_signal_to_report = 0;
+   }
+   
+   if (vgdb_interrupted_tid != 0)
+      tst = VG_(get_ThreadState) (vgdb_interrupted_tid);
+   else
+      tst = VG_(get_ThreadState) (VG_(running_tid));
+   wptid = tst->os_state.lwpid;
+   /* we can only change the current_inferior when the wptid references
+      an existing thread. Otherwise, we are still in the init phase.
+      (hack similar to main thread hack in valgrind_update_threads) */
+   if (tst->os_state.lwpid)
+      current_inferior = gdb_id_to_thread (wptid);
+   stop_pc = (*the_low_target.get_pc) ();
+   
+   dlog(1,
+        "exit valgrind_wait status T ptid %s stop_pc %s signal %d\n", 
+        image_ptid (wptid), sym (stop_pc), sig);
+   return sig;
+}
+
+/* Fetch one register from valgrind VEX guest state.  */
+static
+void fetch_register (int regno)
+{
+   int size;
+   ThreadState *tst = (ThreadState *) inferior_target_data (current_inferior);
+   ThreadId tid = tst->tid;
+
+   if (regno >= the_low_target.num_regs) {
+      dlog(0, "error fetch_register regno %d max %d\n",
+           regno, the_low_target.num_regs);
+      return;
+   }
+   size = register_size (regno);
+   if (size > 0) {
+      Bool mod;
+      char buf [size];
+      VG_(memset) (buf, 0, size); // registers not fetched will be seen as 0.
+      (*the_low_target.transfer_register) (tid, regno, buf,
+                                           valgrind_to_gdbserver, size, &mod);
+      // Note: the *mod received from transfer_register is not interesting.
+      // We are interested to see if the register data in the register cache is modified.
+      supply_register (regno, buf, &mod);
+      if (mod && VG_(debugLog_getLevel)() > 1) {
+         char bufimage [2*size + 1];
+         heximage (bufimage, buf, size);
+         dlog(2, "fetched register %d size %d name %s value %s tid %d status %s\n", 
+              regno, size, the_low_target.reg_defs[regno].name, bufimage, 
+              tid, VG_(name_of_ThreadStatus) (tst->status));
+      }
+   }
+}
+
+/* Fetch all registers, or just one, from the child process.  */
+static
+void usr_fetch_inferior_registers (int regno)
+{
+   if (regno == -1 || regno == 0)
+      for (regno = 0; regno < the_low_target.num_regs; regno++)
+         fetch_register (regno);
+   else
+      fetch_register (regno);
+}
+
+/* Store our register values back into the inferior.
+   If REGNO is -1, do this for all registers.
+   Otherwise, REGNO specifies which register (so we can save time).  */
+static
+void usr_store_inferior_registers (int regno)
+{
+   int size;
+   ThreadState *tst = (ThreadState *) inferior_target_data (current_inferior);
+   ThreadId tid = tst->tid;
+   
+   if (regno >= 0) {
+
+      if (regno >= the_low_target.num_regs) {
+         dlog(0, "error store_register regno %d max %d\n",
+              regno, the_low_target.num_regs);
+         return;
+      }
+      
+      size = register_size (regno);
+      if (size > 0) {
+         Bool mod;
+         Addr old_SP, new_SP;
+         char buf[size];
+
+         if (regno == the_low_target.stack_pointer_regno) {
+            /* When the stack pointer register is changed such that
+               the stack is extended, we better inform the tool of the
+               stack increase.  This is needed in particular to avoid
+               spurious Memcheck errors during Inferior calls. So, we
+               save in old_SP the SP before the change. A change of
+               stack pointer is also assumed to have initialised this
+               new stack space. For the typical example of an inferior
+               call, gdb writes arguments on the stack, and then
+               changes the stack pointer. As the stack increase tool
+               function might mark it as undefined, we have to call it
+               at the good moment. */
+            VG_(memset) ((void *) &old_SP, 0, size);
+            (*the_low_target.transfer_register) (tid, regno, (void *) &old_SP, 
+                                                 valgrind_to_gdbserver, size, &mod);
+         }
+
+         VG_(memset) (buf, 0, size);
+         collect_register (regno, buf);
+         (*the_low_target.transfer_register) (tid, regno, buf, 
+                                              gdbserver_to_valgrind, size, &mod);
+         if (mod && VG_(debugLog_getLevel)() > 1) {
+            char bufimage [2*size + 1];
+            heximage (bufimage, buf, size);
+            dlog(2, 
+                 "stored register %d size %d name %s value %s "
+                 "tid %d status %s\n", 
+                 regno, size, the_low_target.reg_defs[regno].name, bufimage, 
+                 tid, VG_(name_of_ThreadStatus) (tst->status));
+         }
+         if (regno == the_low_target.stack_pointer_regno) {
+            VG_(memcpy) (&new_SP, buf, size);
+            if (old_SP > new_SP) {
+               Word delta  = (Word)new_SP - (Word)old_SP;
+               dlog(1, 
+                    "   stack increase by stack pointer changed from %p to %p "
+                    "delta %ld\n",
+                    (void*) old_SP, (void *) new_SP,
+                    delta);
+               VG_TRACK( new_mem_stack_w_ECU, new_SP, -delta, 0 );
+               VG_TRACK( new_mem_stack,       new_SP, -delta );
+               VG_TRACK( post_mem_write, Vg_CoreClientReq, tid,
+                         new_SP, -delta);
+            }
+         }
+      }
+   }
+   else {
+      for (regno = 0; regno < the_low_target.num_regs; regno++)
+         usr_store_inferior_registers (regno);
+   }
+}
+
+void valgrind_fetch_registers (int regno)
+{
+   usr_fetch_inferior_registers (regno);
+}
+
+void valgrind_store_registers (int regno)
+{
+   usr_store_inferior_registers (regno);
+}
+
+int valgrind_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
+{
+   const void *sourceaddr = C2v (memaddr);
+   dlog(2, "reading memory %p size %d\n", sourceaddr, len);
+   if (!VG_(am_is_valid_for_client_or_free_or_resvn) ((Addr) sourceaddr, 
+                                                      len, VKI_PROT_READ)) {
+      dlog(1, "error reading memory %p size %d\n", sourceaddr, len);
+      return -1;
+   }
+   VG_(memcpy) (myaddr, sourceaddr, len);
+   return 0;
+}
+
+int valgrind_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr, int len)
+{
+   void *targetaddr = C2v (memaddr);
+   dlog(2, "writing memory %p size %d\n", targetaddr, len);
+   if (!VG_(am_is_valid_for_client_or_free_or_resvn) ((Addr)targetaddr, 
+                                                      len, VKI_PROT_WRITE)) {
+      dlog(1, "error writing memory %p size %d\n", targetaddr, len);
+      return -1;
+   }
+   if (len > 0) {
+      VG_(memcpy) (targetaddr, myaddr, len);
+      if (VG_(tdict).track_post_mem_write) {
+         /* Inform the tool of the post memwrite.  Note that we do the
+            minimum necessary to avoid complains from e.g.
+            memcheck. The idea is that the debugger is as least
+            intrusive as possible.  So, we do not inform of the pre
+            mem write (and in any case, this would cause problems with
+            memcheck that does not like our CorePart in
+            pre_mem_write. */
+         ThreadState *tst = 
+            (ThreadState *) inferior_target_data (current_inferior);
+         ThreadId tid = tst->tid;
+         VG_(tdict).track_post_mem_write( Vg_CoreClientReq, tid,
+                                          (Addr) targetaddr, len );
+      }
+   }
+   return 0;
+}
+
+/* insert or remove a breakpoint */
+static
+int valgrind_point (Bool insert, char type, CORE_ADDR addr, int len)
+{
+   PointKind kind;
+   switch (type) {
+   case '0': /* implemented by inserting checks at each instruction in sb */
+      kind = software_breakpoint;
+      break;
+   case '1': /* hw breakpoint, same implementation as sw breakpoint */
+      kind = hardware_breakpoint;
+      break;
+   case '2':
+      kind = write_watchpoint;
+      break;
+   case '3':
+      kind = read_watchpoint;
+      break;
+   case '4':
+      kind = access_watchpoint;
+      break;
+   default:
+      vg_assert (0);
+   }
+
+   /* Attention: gdbserver convention differs: 0 means ok; 1 means not ok */
+   if (VG_(gdbserver_point) (kind, insert, addr, len))
+      return 0;
+   else
+      return 1; /* error or unsupported */
+}
+
+const char* valgrind_target_xml (Bool shadow_mode)
+{
+   return (*the_low_target.target_xml) (shadow_mode);
+}
+
+int valgrind_insert_watchpoint (char type, CORE_ADDR addr, int len)
+{
+   return valgrind_point (/* insert */ True, type, addr, len);
+}
+
+int valgrind_remove_watchpoint (char type, CORE_ADDR addr, int len)
+{
+   return valgrind_point (/* insert*/ False, type, addr, len);
+}
+
+/* returns a pointer to the architecture state corresponding to
+   the provided register set: 0 => normal guest registers,
+                              1 => shadow1
+                              2 => shadow2
+*/
+VexGuestArchState* get_arch (int set, ThreadState* tst) 
+{
+  switch (set) {
+  case 0: return &tst->arch.vex;
+  case 1: return &tst->arch.vex_shadow1;
+  case 2: return &tst->arch.vex_shadow2;
+  default: vg_assert(0);
+  }
+}
+
+static int non_shadow_num_regs = 0;
+static struct reg *non_shadow_reg_defs = NULL;
+void initialize_shadow_low(Bool shadow_mode)
+{
+  if (non_shadow_reg_defs == NULL) {
+    non_shadow_reg_defs = the_low_target.reg_defs;
+    non_shadow_num_regs = the_low_target.num_regs;
+  }
+
+  regcache_invalidate();
+  if (the_low_target.reg_defs != non_shadow_reg_defs) {
+     free (the_low_target.reg_defs);
+  }
+  if (shadow_mode) {
+    the_low_target.num_regs = 3 * non_shadow_num_regs;
+    the_low_target.reg_defs = build_shadow_arch (non_shadow_reg_defs, non_shadow_num_regs);
+  } else {
+    the_low_target.num_regs = non_shadow_num_regs;
+    the_low_target.reg_defs = non_shadow_reg_defs;
+  }
+  set_register_cache (the_low_target.reg_defs, the_low_target.num_regs);
+}
 
 void set_desired_inferior (int use_general)
 {
@@ -61,42 +608,6 @@
   }
 }
 
-int read_inferior_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
-{
-   int res;
-   res = (*the_target->read_memory) (memaddr, myaddr, len);
-   return res;
-}
-
-int write_inferior_memory (CORE_ADDR memaddr, const unsigned char *myaddr,
-                           int len)
-{
-   /* Lacking cleanups, there is some potential for a memory leak if the
-      write fails and we go through error().  Make sure that no more than
-      one buffer is ever pending by making BUFFER static.  */
-   static unsigned char *buffer = 0;
-   int res;
-
-   if (buffer != NULL)
-      free (buffer);
-
-   buffer = malloc (len);
-   VG_(memcpy) (buffer, myaddr, len);
-   res = (*the_target->write_memory) (memaddr, buffer, len);
-   free (buffer);
-   buffer = NULL;
-
-   return res;
-}
-
-void set_target_ops (struct target_ops *target)
-{
-   // Can be called again after a fork => do not re-malloc the_target.
-   if (the_target == NULL)
-      the_target = (struct target_ops *) malloc (sizeof (*the_target));
-   VG_(memcpy) (the_target, target, sizeof (*the_target));
-}
-
 void* VG_(dmemcpy) ( void *d, const void *s, SizeT sz, Bool *mod )
 {
    if (VG_(memcmp) (d, s, sz)) {
@@ -121,3 +632,26 @@
    else
       vg_assert (0);
 }
+
+void valgrind_initialize_target(void)
+{
+#if defined(VGA_x86)
+   x86_init_architecture(&the_low_target);
+#elif defined(VGA_amd64)
+   amd64_init_architecture(&the_low_target);
+#elif defined(VGA_arm)
+   arm_init_architecture(&the_low_target);
+#elif defined(VGA_ppc32)
+   ppc32_init_architecture(&the_low_target);
+#elif defined(VGA_ppc64)
+   ppc64_init_architecture(&the_low_target);
+#elif defined(VGA_s390x)
+   s390x_init_architecture(&the_low_target);
+#elif defined(VGA_mips32)
+   mips32_init_architecture(&the_low_target);
+#elif defined(VGA_mips64)
+   mips64_init_architecture(&the_low_target);
+#else
+   architecture missing in target.c valgrind_initialize_target
+#endif
+}
diff --git a/coregrind/m_gdbserver/target.h b/coregrind/m_gdbserver/target.h
index d657438..2d4949c 100644
--- a/coregrind/m_gdbserver/target.h
+++ b/coregrind/m_gdbserver/target.h
@@ -1,6 +1,7 @@
-/* Target operations for the remote server for GDB.
-   Copyright (C) 2002, 2003, 2004, 2005
+/* Target operations for the Valgrind remote server for GDB.
+   Copyright (C) 2002, 2003, 2004, 2005, 2012
    Free Software Foundation, Inc.
+   Philippe Waroquiers.
 
    Contributed by MontaVista Software.
 
@@ -25,18 +26,54 @@
 #ifndef TARGET_H
 #define TARGET_H
 
-/* This structure describes how to resume a particular thread (or
-   all threads) based on the client's request.  If thread is -1, then
-   this entry applies to all threads.  These are generally passed around
-   as an array, and terminated by a thread == -1 entry.  */
+/* This file defines the architecture independent Valgrind gdbserver
+   high level operations such as read memory, get/set registers, ...
 
+   These high level operations are called by the gdbserver
+   protocol implementation (e.g. typically server.c).
+   
+   For some of these high level operations, target.c will call
+   low level operations dependent on the architecture.
+   
+   For example, getting or setting the registers will work on a
+   register cache. The exact details of the registers (how much,
+   their size, etc) is not defined by target.c or the register cache.
+
+   Such architecture dependent information is defined by
+   valgrind_low.h/valgrind-low-xxxxx.c providing 'low level operations'
+   specific to the xxxxx architecture (for example,
+   valgrind-low-x86.c, valgrind-low-armc.c). */
+        
+/* -------------------------------------------------------------------------- */
+/* ------------------------ Initialisation ---------------------------------- */
+/* -------------------------------------------------------------------------- */
+
+/* Initialize the Valgrind high target. This will in turn
+   initialise the low (architecture specific) target. */
+extern void valgrind_initialize_target(void);
+
+/* initialize or re-initialize the register set of the low target.
+   if shadow_mode, then (re-)define the normal and valgrind shadow registers
+   else (re-)define only the normal registers. */
+extern void initialize_shadow_low (Bool shadow_mode);
+
+/* Returns the name of the xml target description file. 
+   returns NULL if no xml target description available.
+   if shadow_mode, then returns the xml target description
+   with the shadow registers
+   else returns the xml target description only for
+   the normal registers. */
+extern const char* valgrind_target_xml (Bool shadow_mode);
+
+
+/* -------------------------------------------------------------------------- */
+/* --------------------------- Execution control ---------------------------- */
+/* -------------------------------------------------------------------------- */
+
+/* This structure describes how to resume the execution.
+   Currently, there is no way to resume only a specific thread.  */
 struct thread_resume
 {
-  unsigned long thread;
-
-  /* If non-zero, leave this thread stopped.  */
-  int leave_stopped;
-
   /* If non-zero, we want to single-step.  */
   int step;
 
@@ -44,114 +81,133 @@
   int sig;
 };
 
-struct target_ops
-{
-  /* Return 1 iff the thread with process ID PID is alive.  */
+/* Prepare to Resume (i.e. restart) the guest.
+   The resume info indicates how the resume will be done. 
+   In case GDB has changed the program counter, valgrind_resume
+   will also ensure that the execution will be resumed at this
+   new program counter.
+   The Resume is really only executed once the gdbserver
+   returns (giving back the control to Valgrind). */
+extern void valgrind_resume (struct thread_resume *resume_info);
 
-  int (*thread_alive) (unsigned long pid);
+/* When Valgrind gets the control, it will execute the guest
+   process till there is a reason to call the gdbserver
+   again (e.g. because a breakpoint is encountered or the
+   tool reports an error).
+   In such case, the executionof guest code  stops, and the
+   control is given to gdbserver. Gdbserver will send a resume
+   reply packet to GDB.
 
-  /* Resume the inferior process.  */
+   valgrind_wait gets from Valgrind data structures the
+   information needed produce the resume reply for GDB:
+   a.o. OURSTATUS will be filled in with a response code to send to GDB.
 
-  void (*resume) (struct thread_resume *resume_info);
+   Returns the signal which caused the process to stop, in the
+   remote protocol numbering (e.g. TARGET_SIGNAL_STOP), or the
+   exit code as an integer if *OURSTATUS is 'W'.  */
+extern unsigned char valgrind_wait (char *outstatus);
 
-  /* Wait for the inferior process to change state.
+/* When execution is stopped and gdbserver has control, more
+   info about the stop reason can be retrieved using the following
+   functions. */
 
-     STATUS will be filled in with a response code to send to GDB.
+/* gets the addr at which a (possible) break must be ignored once.
+   If there is no such break to be ignored once, 0 is returned.
+   This is needed for the following case:
+   The user sets a break at address AAA.
+   The break is encountered. Then the user does stepi 
+   (i.e. step one instruction).
+   In such a case, the already encountered break must be ignored
+   to ensure the stepi will advance by one instruction: a "break"
+   is implemented in valgrind by some helper code just after the
+   instruction mark at which the break is set. This helper code
+   verifies if either there is a break at the current PC
+   or if we are in stepping mode. If we are in stepping mode,
+   the already encountered break must be ignored once to advance
+   to the next instruction.
+   ??? need to check if this is *really* needed. */
+extern Addr valgrind_get_ignore_break_once(void);
 
-     Returns the signal which caused the process to stop, in the
-     remote protocol numbering (e.g. TARGET_SIGNAL_STOP), or the
-     exit code as an integer if *STATUS is 'W'.  */
+/* When addr > 0, ensures the next resume reply packet informs
+   gdb about the encountered watchpoint.
+   valgrind_stopped_by_watchpoint() will return 1 till reset.
+   Use addr 0x0 to reset. */
+extern void VG_(set_watchpoint_stop_address) (Addr addr);
 
-  unsigned char (*wait) (char *status);
+/* Returns 1 if target was stopped due to a watchpoint hit, 0 otherwise.  */
+extern int valgrind_stopped_by_watchpoint (void);
 
-  /* Fetch registers from the inferior process.
+/* Returns the address associated with the watchpoint that hit, if any;  
+   returns 0 otherwise.  */
+extern CORE_ADDR valgrind_stopped_data_address (void);
 
-     If REGNO is -1, fetch all registers; otherwise, fetch at least REGNO.  */
+/* True if gdbserver is single stepping the valgrind process */
+extern Bool valgrind_single_stepping(void);
 
-  void (*fetch_registers) (int regno);
+/* Set Valgrind in single stepping mode or not according to Bool. */
+extern void valgrind_set_single_stepping(Bool);
 
-  /* Store registers to the inferior process.
+/* -------------------------------------------------------------------------- */
+/* ----------------- Examining/modifying data while stopped ----------------- */
+/* -------------------------------------------------------------------------- */
 
-     If REGNO is -1, store all registers; otherwise, store at least REGNO.  */
+/* Return 1 iff the thread with ID tid is alive.  */
+extern int valgrind_thread_alive (unsigned long tid);
 
-  void (*store_registers) (int regno);
+/* Allows to controls the thread (current_inferior) used for following
+   valgrind_(fetch|store)_registers calls.
+   If USE_GENERAL,
+     current_inferior is set to general_thread
+   else
+     current_inferior is set to step_thread or else cont_thread.
+   If the above gives no valid thread, then current_inferior is
+   set to the first valid thread. */
+extern void set_desired_inferior (int use_general);
 
-  /* Read memory from the inferior process.  This should generally be
-     called through read_inferior_memory, which handles breakpoint shadowing.
+/* Fetch registers from the current_inferior thread.
+   If REGNO is -1, fetch all registers; otherwise, fetch at least REGNO.  */
+extern void valgrind_fetch_registers (int regno);
 
-     Read LEN bytes at MEMADDR into a buffer at MYADDR.
-  
-     Returns 0 on success and errno on failure.  */
+/* Store registers to the current_inferior thread.
+   If REGNO is -1, store all registers; otherwise, store at least REGNO.  */
+extern void valgrind_store_registers (int regno);
 
-  int (*read_memory) (CORE_ADDR memaddr, unsigned char *myaddr, int len);
 
-  /* Write memory to the inferior process.  This should generally be
-     called through write_inferior_memory, which handles breakpoint shadowing.
 
-     Write LEN bytes from the buffer at MYADDR to MEMADDR.
+/* Read memory from the inferior process.
+   Read LEN bytes at MEMADDR into a buffer at MYADDR.
+   Returns 0 on success and errno on failure.  */
+extern int valgrind_read_memory (CORE_ADDR memaddr,
+                                 unsigned char *myaddr, int len);
 
-     Returns 0 on success and errno on failure.  */
+/* Write memory to the inferior process.
+   Write LEN bytes from the buffer at MYADDR to MEMADDR.
+   Returns 0 on success and errno on failure.  */
+extern int valgrind_write_memory (CORE_ADDR memaddr,
+                                  const unsigned char *myaddr, int len);
 
-  int (*write_memory) (CORE_ADDR memaddr, const unsigned char *myaddr,
-		       int len);
 
-  /* Send a signal to the inferior process, however is appropriate.  */
-  void (*send_signal) (int);
+/* Insert and remove a hardware watchpoint.
+   Returns 0 on success, -1 on failure and 1 on unsupported.  
+   The type is coded as follows:
+   2 = write watchpoint
+   3 = read watchpoint
+   4 = access watchpoint
+*/
+extern int valgrind_insert_watchpoint (char type, CORE_ADDR addr, int len);
+extern int valgrind_remove_watchpoint (char type, CORE_ADDR addr, int len);
 
-  /* Returns the name of the xml target description file. 
-     returns NULL if no xml target description available. */
-  char* (*target_xml)(void);
 
-  /* Same but describes also the shadow registers. */
-  char* (*shadow_target_xml)(void);
+/* -------------------------------------------------------------------------- */
+/* ----------- Utils functions for low level arch specific files ------------ */
+/* -------------------------------------------------------------------------- */
 
-  /* Insert and remove a hardware watchpoint.
-     Returns 0 on success, -1 on failure and 1 on unsupported.  
-     The type is coded as follows:
-       2 = write watchpoint
-       3 = read watchpoint
-       4 = access watchpoint
-  */
-
-  int (*insert_watchpoint) (char type, CORE_ADDR addr, int len);
-  int (*remove_watchpoint) (char type, CORE_ADDR addr, int len);
-
-  /* Returns 1 if target was stopped due to a watchpoint hit, 0 otherwise.  */
-
-  int (*stopped_by_watchpoint) (void);
-
-  /* Returns the address associated with the watchpoint that hit, if any;  
-     returns 0 otherwise.  */
-
-  CORE_ADDR (*stopped_data_address) (void);
-
-};
-
-extern struct target_ops *the_target;
-
-void set_target_ops (struct target_ops *);
-
-#define detach_inferior() \
-  (*the_target->detach) ()
-
-#define mythread_alive(pid) \
-  (*the_target->thread_alive) (pid)
-
-#define fetch_inferior_registers(regno) \
-  (*the_target->fetch_registers) (regno)
-
-#define store_inferior_registers(regno) \
-  (*the_target->store_registers) (regno)
-
-#define mywait(statusp) \
-  (*the_target->wait) (statusp)
-
-int read_inferior_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len);
-
-int write_inferior_memory (CORE_ADDR memaddr, const unsigned char *myaddr,
-			   int len);
-
-void set_desired_inferior (int id);
+/* returns a pointer to the architecture state corresponding to
+   the provided register set: 0 => normal guest registers,
+                              1 => shadow1
+                              2 => shadow2
+*/
+extern VexGuestArchState* get_arch (int set, ThreadState* tst);
 
 /* like memcpy but first check if content of destination and source
    differs. If no difference, no copy is done, *mod set to False.
@@ -173,4 +229,6 @@
                             SizeT sz,
                             Bool *mod);
 
+
+
 #endif /* TARGET_H */
diff --git a/coregrind/m_gdbserver/utils.c b/coregrind/m_gdbserver/utils.c
index 57db175..511b1e6 100644
--- a/coregrind/m_gdbserver/utils.c
+++ b/coregrind/m_gdbserver/utils.c
@@ -26,7 +26,7 @@
 
 /* Print the system error message for sr.
    Then print the rest of the args. */
-void sr_perror (SysRes sr,char *string,...)
+void sr_perror (SysRes sr, const char *string,...)
 {
    va_list args;
    if (sr_isError (sr))
diff --git a/coregrind/m_gdbserver/valgrind-low-amd64.c b/coregrind/m_gdbserver/valgrind-low-amd64.c
index 0dc0382..82f85f0 100644
--- a/coregrind/m_gdbserver/valgrind-low-amd64.c
+++ b/coregrind/m_gdbserver/valgrind-low-amd64.c
@@ -27,7 +27,7 @@
 #include "regcache.h"
 
 #include "pub_core_aspacemgr.h"
-#include "pub_tool_machine.h"
+#include "pub_core_machine.h"
 #include "pub_core_threadstate.h"
 #include "pub_core_transtab.h"
 #include "pub_core_gdbserver.h" 
@@ -41,7 +41,7 @@
 
 /* below loosely inspired from file generated with gdb regdat.sh */
 
-struct reg regs[] = {
+static struct reg regs[] = {
   { "rax", 0, 64 },
   { "rbx", 64, 64 },
   { "rcx", 128, 64 },
@@ -100,11 +100,29 @@
   { "xmm15", 4128, 128 },
   { "mxcsr", 4256, 32  },
 #if defined(VGO_linux)
-  { "orig_rax", 4288, 64 }
+  { "orig_rax", 4288, 64 },
 #endif
+  { "ymm0h", 4352, 128 }, // The ymm?h registers only to be given to GDB
+  { "ymm1h", 4480, 128 }, // if Valgrind is running with AVX instructions.
+  { "ymm2h", 4608, 128 },
+  { "ymm3h", 4736, 128 },
+  { "ymm4h", 4864, 128 },
+  { "ymm5h", 4992, 128 },
+  { "ymm6h", 5120, 128 },
+  { "ymm7h", 5248, 128 },
+  { "ymm8h", 5376, 128 },
+  { "ymm9h", 5504, 128 },
+  { "ymm10h", 5632, 128 },
+  { "ymm11h", 5760, 128 },
+  { "ymm12h", 5888, 128 },
+  { "ymm13h", 6016, 128 },
+  { "ymm14h", 6144, 128 },
+  { "ymm15h", 6272, 128 }
 };
 static const char *expedite_regs[] = { "rbp", "rsp", "rip", 0 };
-#define num_regs (sizeof (regs) / sizeof (regs[0]))
+#define max_num_regs (sizeof (regs) / sizeof (regs[0]))
+static int dyn_num_regs; // if no AVX, we have to give less registers to gdb.
+
 
 static
 CORE_ADDR get_pc (void)
@@ -135,8 +153,8 @@
                         transfer_direction dir, int size, Bool *mod)
 {
    ThreadState* tst = VG_(get_ThreadState)(tid);
-   int set = abs_regno / num_regs;
-   int regno = abs_regno % num_regs;
+   int set = abs_regno / dyn_num_regs;
+   int regno = abs_regno % dyn_num_regs;
    *mod = False;
 
    VexGuestAMD64State* amd64 = (VexGuestAMD64State*) get_arch (set, tst);
@@ -160,16 +178,7 @@
    case 13: VG_(transfer) (&amd64->guest_R13, buf, dir, size, mod); break;
    case 14: VG_(transfer) (&amd64->guest_R14, buf, dir, size, mod); break;
    case 15: VG_(transfer) (&amd64->guest_R15, buf, dir, size, mod); break;
-   case 16: 
-      VG_(transfer) (&amd64->guest_RIP, buf, dir, size, mod);
-      if (*mod && VG_(debugLog_getLevel)() > 2) {
-         char bufimage [2*sizeof(amd64->guest_IP_AT_SYSCALL) + 1];
-         heximage (bufimage, 
-                   (char *) &amd64->guest_IP_AT_SYSCALL, 
-                   sizeof(amd64->guest_IP_AT_SYSCALL));
-         dlog(3, "guest_IP_AT_SYSCALL %s\n", bufimage);
-      }
-      break;
+   case 16: VG_(transfer) (&amd64->guest_RIP, buf, dir, size, mod); break;
    case 17: 
       if (dir == valgrind_to_gdbserver) {
          ULong rflags;
@@ -200,13 +209,13 @@
    case 31: 
       if (dir == valgrind_to_gdbserver) {
          UChar fpreg80[10];
-         convert_f64le_to_f80le ((UChar *)&amd64->guest_FPREG[regno-16],
+         convert_f64le_to_f80le ((UChar *)&amd64->guest_FPREG[regno-24],
                                  fpreg80);
          VG_(transfer) (&fpreg80, buf, dir, sizeof(fpreg80), mod);
       } else {
          ULong fpreg64;
          convert_f80le_to_f64le (buf, (UChar *)&fpreg64); 
-         VG_(transfer) (&amd64->guest_FPREG[regno-16], &fpreg64,
+         VG_(transfer) (&amd64->guest_FPREG[regno-24], &fpreg64,
                         dir, sizeof(fpreg64), mod);
       }
       break;
@@ -251,22 +260,22 @@
    case 37: *mod = False; break; // GDBTD ??? equivalent of foseg
    case 38: *mod = False; break; // GDBTD ??? equivalent of fooff
    case 39: *mod = False; break; // GDBTD ??? equivalent of fop
-   case 40: VG_(transfer) (&amd64->guest_XMM0,  buf, dir, size, mod); break;
-   case 41: VG_(transfer) (&amd64->guest_XMM1,  buf, dir, size, mod); break;
-   case 42: VG_(transfer) (&amd64->guest_XMM2,  buf, dir, size, mod); break;
-   case 43: VG_(transfer) (&amd64->guest_XMM3,  buf, dir, size, mod); break;
-   case 44: VG_(transfer) (&amd64->guest_XMM4,  buf, dir, size, mod); break;
-   case 45: VG_(transfer) (&amd64->guest_XMM5,  buf, dir, size, mod); break;
-   case 46: VG_(transfer) (&amd64->guest_XMM6,  buf, dir, size, mod); break;
-   case 47: VG_(transfer) (&amd64->guest_XMM7,  buf, dir, size, mod); break;
-   case 48: VG_(transfer) (&amd64->guest_XMM8,  buf, dir, size, mod); break;
-   case 49: VG_(transfer) (&amd64->guest_XMM9,  buf, dir, size, mod); break;
-   case 50: VG_(transfer) (&amd64->guest_XMM10, buf, dir, size, mod); break;
-   case 51: VG_(transfer) (&amd64->guest_XMM11, buf, dir, size, mod); break;
-   case 52: VG_(transfer) (&amd64->guest_XMM12, buf, dir, size, mod); break;
-   case 53: VG_(transfer) (&amd64->guest_XMM13, buf, dir, size, mod); break;
-   case 54: VG_(transfer) (&amd64->guest_XMM14, buf, dir, size, mod); break;
-   case 55: VG_(transfer) (&amd64->guest_XMM15, buf, dir, size, mod); break;
+   case 40: VG_(transfer) (&amd64->guest_YMM0[0],  buf, dir, size, mod); break;
+   case 41: VG_(transfer) (&amd64->guest_YMM1[0],  buf, dir, size, mod); break;
+   case 42: VG_(transfer) (&amd64->guest_YMM2[0],  buf, dir, size, mod); break;
+   case 43: VG_(transfer) (&amd64->guest_YMM3[0],  buf, dir, size, mod); break;
+   case 44: VG_(transfer) (&amd64->guest_YMM4[0],  buf, dir, size, mod); break;
+   case 45: VG_(transfer) (&amd64->guest_YMM5[0],  buf, dir, size, mod); break;
+   case 46: VG_(transfer) (&amd64->guest_YMM6[0],  buf, dir, size, mod); break;
+   case 47: VG_(transfer) (&amd64->guest_YMM7[0],  buf, dir, size, mod); break;
+   case 48: VG_(transfer) (&amd64->guest_YMM8[0],  buf, dir, size, mod); break;
+   case 49: VG_(transfer) (&amd64->guest_YMM9[0],  buf, dir, size, mod); break;
+   case 50: VG_(transfer) (&amd64->guest_YMM10[0], buf, dir, size, mod); break;
+   case 51: VG_(transfer) (&amd64->guest_YMM11[0], buf, dir, size, mod); break;
+   case 52: VG_(transfer) (&amd64->guest_YMM12[0], buf, dir, size, mod); break;
+   case 53: VG_(transfer) (&amd64->guest_YMM13[0], buf, dir, size, mod); break;
+   case 54: VG_(transfer) (&amd64->guest_YMM14[0], buf, dir, size, mod); break;
+   case 55: VG_(transfer) (&amd64->guest_YMM15[0], buf, dir, size, mod); break;
    case 56: 
       if (dir == valgrind_to_gdbserver) {
          // vex only models the rounding bits (see libvex_guest_x86.h)
@@ -278,29 +287,83 @@
       }
       break;
    case 57: *mod = False; break; // GDBTD???? VEX equivalent { "orig_rax"},
+   case 58: VG_(transfer) (&amd64->guest_YMM0[4],  buf, dir, size, mod); break;
+   case 59: VG_(transfer) (&amd64->guest_YMM1[4],  buf, dir, size, mod); break;
+   case 60: VG_(transfer) (&amd64->guest_YMM2[4],  buf, dir, size, mod); break;
+   case 61: VG_(transfer) (&amd64->guest_YMM3[4],  buf, dir, size, mod); break;
+   case 62: VG_(transfer) (&amd64->guest_YMM4[4],  buf, dir, size, mod); break;
+   case 63: VG_(transfer) (&amd64->guest_YMM5[4],  buf, dir, size, mod); break;
+   case 64: VG_(transfer) (&amd64->guest_YMM6[4],  buf, dir, size, mod); break;
+   case 65: VG_(transfer) (&amd64->guest_YMM7[4],  buf, dir, size, mod); break;
+   case 66: VG_(transfer) (&amd64->guest_YMM8[4],  buf, dir, size, mod); break;
+   case 67: VG_(transfer) (&amd64->guest_YMM9[4],  buf, dir, size, mod); break;
+   case 68: VG_(transfer) (&amd64->guest_YMM10[4], buf, dir, size, mod); break;
+   case 69: VG_(transfer) (&amd64->guest_YMM11[4], buf, dir, size, mod); break;
+   case 70: VG_(transfer) (&amd64->guest_YMM12[4], buf, dir, size, mod); break;
+   case 71: VG_(transfer) (&amd64->guest_YMM13[4], buf, dir, size, mod); break;
+   case 72: VG_(transfer) (&amd64->guest_YMM14[4], buf, dir, size, mod); break;
+   case 73: VG_(transfer) (&amd64->guest_YMM15[4], buf, dir, size, mod); break;
    default: vg_assert(0);
    }
 }
 
+static
+Bool have_avx(void)
+{
+   VexArch va;
+   VexArchInfo vai;
+   VG_(machine_get_VexArchInfo) (&va, &vai);
+   return (vai.hwcaps & VEX_HWCAPS_AMD64_AVX ? True : False);
+}
+static
+const char* target_xml (Bool shadow_mode)
+{
+   if (shadow_mode) {
+#if defined(VGO_linux)
+      if (have_avx())
+         return "amd64-avx-linux-valgrind.xml";
+      else
+         return "amd64-linux-valgrind.xml";
+#else
+      if (have_avx())
+         return "amd64-avx-coresse-valgrind.xml";
+      else
+         return "amd64-coresse-valgrind.xml";
+#endif
+   } else {
+#if defined(VGO_linux)
+      if (have_avx())
+         return "amd64-avx-linux.xml";
+      else
+         return NULL;
+#else
+      if (have_avx())
+         return "amd64-avx-coresse.xml";
+      else
+         return NULL;
+#endif
+   }  
+}
+
 static struct valgrind_target_ops low_target = {
-   num_regs,
+   -1, // Must be computed at init time.
    regs,
    7, //RSP
    transfer_register,
    get_pc,
    set_pc,
    "amd64",
-   NULL, // target_xml not needed.
-#if defined(VGO_linux)
-   "amd64-linux-valgrind.xml"
-#else
-   "amd64-coresse-valgrind.xml"
-#endif
+   target_xml
 };
 
 void amd64_init_architecture (struct valgrind_target_ops *target)
 {
    *target = low_target;
-   set_register_cache (regs, num_regs);
+   if (have_avx())
+      dyn_num_regs = max_num_regs;
+   else
+      dyn_num_regs = max_num_regs - 16; // remove the AVX "high" registers.
+   target->num_regs = dyn_num_regs;
+   set_register_cache (regs, dyn_num_regs);
    gdbserver_expedite_regs = expedite_regs;
 }
diff --git a/coregrind/m_gdbserver/valgrind-low-arm.c b/coregrind/m_gdbserver/valgrind-low-arm.c
index 5767793..b14084a 100644
--- a/coregrind/m_gdbserver/valgrind-low-arm.c
+++ b/coregrind/m_gdbserver/valgrind-low-arm.c
@@ -37,7 +37,7 @@
 
 #include "libvex_guest_arm.h"
 
-struct reg regs[] = {
+static struct reg regs[] = {
   { "r0", 0, 32 },
   { "r1", 32, 32 },
   { "r2", 64, 32 },
@@ -144,7 +144,7 @@
 
    // pc aligned on 4 bytes. We need to use debug info.
    {
-      Char fnname[200]; // ??? max size
+      HChar fnname[200]; // ??? max size
       Addr entrypoint;
       Addr ptoc; // unused but needed.
       // If this is a thumb instruction, we need to ask
@@ -277,6 +277,16 @@
    }
 }
 
+static
+const char* target_xml (Bool shadow_mode)
+{
+   if (shadow_mode) {
+      return "arm-with-vfpv3-valgrind.xml";
+   } else {
+      return "arm-with-vfpv3.xml";
+   }  
+}
+
 static struct valgrind_target_ops low_target = {
    num_regs,
    regs,
@@ -285,8 +295,7 @@
    get_pc,
    set_pc,
    "arm",
-   "arm-with-vfpv3.xml",
-   "arm-with-vfpv3-valgrind.xml"
+   target_xml
 };
 
 void arm_init_architecture (struct valgrind_target_ops *target)
diff --git a/coregrind/m_gdbserver/valgrind-low-mips32.c b/coregrind/m_gdbserver/valgrind-low-mips32.c
new file mode 100644
index 0000000..b6b6491
--- /dev/null
+++ b/coregrind/m_gdbserver/valgrind-low-mips32.c
@@ -0,0 +1,258 @@
+/* Low level interface to valgrind, for the remote server for GDB integrated
+   in valgrind.
+   Copyright (C) 2012
+   Free Software Foundation, Inc.
+
+   This file is part of VALGRIND.
+   It has been inspired from a file from gdbserver in gdb 6.6.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+#include "server.h"
+#include "target.h"
+#include "regdef.h"
+#include "regcache.h"
+
+#include "pub_core_aspacemgr.h"
+#include "pub_tool_machine.h"
+#include "pub_core_threadstate.h"
+#include "pub_core_transtab.h"
+#include "pub_core_gdbserver.h" 
+
+#include "valgrind_low.h"
+
+#include "libvex_guest_mips32.h"
+
+static struct reg regs[] = {
+  { "r0", 0, 32 },
+  { "r1", 32, 32 },
+  { "r2", 64, 32 },
+  { "r3", 96, 32 },
+  { "r4", 128, 32 },
+  { "r5", 160, 32 },
+  { "r6", 192, 32 },
+  { "r7", 224, 32 },
+  { "r8", 256, 32 },
+  { "r9", 288, 32 },
+  { "r10", 320, 32 },
+  { "r11", 352, 32 },
+  { "r12", 384, 32 },
+  { "r13", 416, 32 },
+  { "r14", 448, 32 },
+  { "r15", 480, 32 },
+  { "r16", 512, 32 },
+  { "r17", 544, 32 },
+  { "r18", 576, 32 },
+  { "r19", 608, 32 },
+  { "r20", 640, 32 },
+  { "r21", 672, 32 },
+  { "r22", 704, 32 },
+  { "r23", 736, 32 },
+  { "r24", 768, 32 },
+  { "r25", 800, 32 },
+  { "r26", 832, 32 },
+  { "r27", 864, 32 },
+  { "r28", 896, 32 },
+  { "r29", 928, 32 },
+  { "r30", 960, 32 },
+  { "r31", 992, 32 },
+  { "status", 1024, 32 },
+  { "lo", 1056, 32 },
+  { "hi", 1088, 32 },
+  { "badvaddr", 1120, 32 },
+  { "cause", 1152, 32 },
+  { "pc", 1184, 32 },
+  { "f0", 1216, 32 },
+  { "f1", 1248, 32 },
+  { "f2", 1280, 32 },
+  { "f3", 1312, 32 },
+  { "f4", 1344, 32 },
+  { "f5", 1376, 32 },
+  { "f6", 1408, 32 },
+  { "f7", 1440, 32 },
+  { "f8", 1472, 32 },
+  { "f9", 1504, 32 },
+  { "f10", 1536, 32 },
+  { "f11", 1568, 32 },
+  { "f12", 1600, 32 },
+  { "f13", 1632, 32 },
+  { "f14", 1664, 32 },
+  { "f15", 1696, 32 },
+  { "f16", 1728, 32 },
+  { "f17", 1760, 32 },
+  { "f18", 1792, 32 },
+  { "f19", 1824, 32 },
+  { "f20", 1856, 32 },
+  { "f21", 1888, 32 },
+  { "f22", 1920, 32 },
+  { "f23", 1952, 32 },
+  { "f24", 1984, 32 },
+  { "f25", 2016, 32 },
+  { "f26", 2048, 32 },
+  { "f27", 2080, 32 },
+  { "f28", 2112, 32 },
+  { "f29", 2144, 32 },
+  { "f30", 2176, 32 },
+  { "f31", 2208, 32 },
+  { "fcsr", 2240, 32 },
+  { "fir", 2272, 32 },
+  { "restart", 2304, 32 },
+};
+
+#define num_regs (sizeof (regs) / sizeof (regs[0]))
+
+static const char *expedite_regs[] = { "r29", "pc", 0 };
+
+static
+CORE_ADDR get_pc (void)
+{
+   unsigned long pc;
+
+   collect_register_by_name ("pc", &pc);
+
+   dlog(1, "stop pc is %p\n", (void *) pc);
+   return pc;
+}
+
+static
+void set_pc (CORE_ADDR newpc)
+{
+   Bool mod;
+   supply_register_by_name ("pc", &newpc, &mod);
+   if (mod)
+      dlog(1, "set pc to %p\n", C2v (newpc));
+   else
+      dlog(1, "set pc not changed %p\n", C2v (newpc));
+}
+
+/* store registers in the guest state (gdbserver_to_valgrind)
+   or fetch register from the guest state (valgrind_to_gdbserver). */
+static
+void transfer_register (ThreadId tid, int abs_regno, void * buf,
+                        transfer_direction dir, int size, Bool *mod)
+{
+   ThreadState* tst = VG_(get_ThreadState)(tid);
+   int set = abs_regno / num_regs;
+   int regno = abs_regno % num_regs;
+   *mod = False;
+
+   VexGuestMIPS32State* mips1 = (VexGuestMIPS32State*) get_arch (set, tst);
+
+   switch (regno) { 
+   case 0:  VG_(transfer) (&mips1->guest_r0,  buf, dir, size, mod); break;
+   case 1:  VG_(transfer) (&mips1->guest_r1,  buf, dir, size, mod); break;
+   case 2:  VG_(transfer) (&mips1->guest_r2,  buf, dir, size, mod); break;
+   case 3:  VG_(transfer) (&mips1->guest_r3,  buf, dir, size, mod); break;
+   case 4:  VG_(transfer) (&mips1->guest_r4,  buf, dir, size, mod); break;
+   case 5:  VG_(transfer) (&mips1->guest_r5,  buf, dir, size, mod); break;
+   case 6:  VG_(transfer) (&mips1->guest_r6,  buf, dir, size, mod); break;
+   case 7:  VG_(transfer) (&mips1->guest_r7,  buf, dir, size, mod); break;
+   case 8:  VG_(transfer) (&mips1->guest_r8,  buf, dir, size, mod); break;
+   case 9:  VG_(transfer) (&mips1->guest_r9,  buf, dir, size, mod); break;
+   case 10: VG_(transfer) (&mips1->guest_r10,  buf, dir, size, mod); break;
+   case 11: VG_(transfer) (&mips1->guest_r11,  buf, dir, size, mod); break;
+   case 12: VG_(transfer) (&mips1->guest_r12, buf, dir, size, mod); break;
+   case 13: VG_(transfer) (&mips1->guest_r13, buf, dir, size, mod); break;
+   case 14: VG_(transfer) (&mips1->guest_r14, buf, dir, size, mod); break;
+   case 15: VG_(transfer) (&mips1->guest_r15, buf, dir, size, mod); break;
+   case 16: VG_(transfer) (&mips1->guest_r16, buf, dir, size, mod); break;
+   case 17: VG_(transfer) (&mips1->guest_r17, buf, dir, size, mod); break;
+   case 18: VG_(transfer) (&mips1->guest_r18,  buf, dir, size, mod); break;
+   case 19: VG_(transfer) (&mips1->guest_r19,  buf, dir, size, mod); break;
+   case 20: VG_(transfer) (&mips1->guest_r20,  buf, dir, size, mod); break;
+   case 21: VG_(transfer) (&mips1->guest_r21,  buf, dir, size, mod); break;
+   case 22: VG_(transfer) (&mips1->guest_r22,  buf, dir, size, mod); break;
+   case 23: VG_(transfer) (&mips1->guest_r23,  buf, dir, size, mod); break;
+   case 24: VG_(transfer) (&mips1->guest_r24,  buf, dir, size, mod); break;
+   case 25: VG_(transfer) (&mips1->guest_r25,  buf, dir, size, mod); break;
+   case 26: VG_(transfer) (&mips1->guest_r26,  buf, dir, size, mod); break;
+   case 27: VG_(transfer) (&mips1->guest_r27,  buf, dir, size, mod); break;
+   case 28: VG_(transfer) (&mips1->guest_r28, buf, dir, size, mod); break;
+   case 29: VG_(transfer) (&mips1->guest_r29, buf, dir, size, mod); break;
+   case 30: VG_(transfer) (&mips1->guest_r30, buf, dir, size, mod); break;
+   case 31: VG_(transfer) (&mips1->guest_r31, buf, dir, size, mod); break;
+   case 32: *mod = False; break; // GDBTD???? VEX { "status", 1024, 32 },
+   case 33: VG_(transfer) (&mips1->guest_LO, buf, dir, size, mod); break;
+   case 34: VG_(transfer) (&mips1->guest_HI, buf, dir, size, mod); break;
+   case 35: *mod = False; break; // GDBTD???? VEX { "badvaddr", 1120, 32 },
+   case 36: *mod = False; break; // GDBTD???? VEX { "cause", 1152, 32 },
+   case 37: VG_(transfer) (&mips1->guest_PC,  buf, dir, size, mod); break;
+   case 38: VG_(transfer) (&mips1->guest_f0,  buf, dir, size, mod); break;
+   case 39: VG_(transfer) (&mips1->guest_f1,  buf, dir, size, mod); break;
+   case 40: VG_(transfer) (&mips1->guest_f2,  buf, dir, size, mod); break;
+   case 41: VG_(transfer) (&mips1->guest_f3,  buf, dir, size, mod); break;
+   case 42: VG_(transfer) (&mips1->guest_f4,  buf, dir, size, mod); break;
+   case 43: VG_(transfer) (&mips1->guest_f5,  buf, dir, size, mod); break;
+   case 44: VG_(transfer) (&mips1->guest_f6,  buf, dir, size, mod); break;
+   case 45: VG_(transfer) (&mips1->guest_f7, buf, dir, size, mod); break;
+   case 46: VG_(transfer) (&mips1->guest_f8, buf, dir, size, mod); break;
+   case 47: VG_(transfer) (&mips1->guest_f9, buf, dir, size, mod); break;
+   case 48: VG_(transfer) (&mips1->guest_f10, buf, dir, size, mod); break;
+   case 49: VG_(transfer) (&mips1->guest_f11, buf, dir, size, mod); break;
+   case 50: VG_(transfer) (&mips1->guest_f12, buf, dir, size, mod); break;
+   case 51: VG_(transfer) (&mips1->guest_f13,  buf, dir, size, mod); break;
+   case 52: VG_(transfer) (&mips1->guest_f14,  buf, dir, size, mod); break;
+   case 53: VG_(transfer) (&mips1->guest_f15,  buf, dir, size, mod); break;
+   case 54: VG_(transfer) (&mips1->guest_f16,  buf, dir, size, mod); break;
+   case 55: VG_(transfer) (&mips1->guest_f17,  buf, dir, size, mod); break;
+   case 56: VG_(transfer) (&mips1->guest_f18,  buf, dir, size, mod); break;
+   case 57: VG_(transfer) (&mips1->guest_f19, buf, dir, size, mod); break;
+   case 58: VG_(transfer) (&mips1->guest_f20, buf, dir, size, mod); break;
+   case 59: VG_(transfer) (&mips1->guest_f21, buf, dir, size, mod); break;
+   case 60: VG_(transfer) (&mips1->guest_f22, buf, dir, size, mod); break;
+   case 61: VG_(transfer) (&mips1->guest_f23, buf, dir, size, mod); break;
+   case 62: VG_(transfer) (&mips1->guest_f24,  buf, dir, size, mod); break;
+   case 63: VG_(transfer) (&mips1->guest_f25,  buf, dir, size, mod); break;
+   case 64: VG_(transfer) (&mips1->guest_f26,  buf, dir, size, mod); break;
+   case 65: VG_(transfer) (&mips1->guest_f27,  buf, dir, size, mod); break;
+   case 66: VG_(transfer) (&mips1->guest_f28,  buf, dir, size, mod); break;
+   case 67: VG_(transfer) (&mips1->guest_f29,  buf, dir, size, mod); break;
+   case 68: VG_(transfer) (&mips1->guest_f30, buf, dir, size, mod); break;
+   case 69: VG_(transfer) (&mips1->guest_f31, buf, dir, size, mod); break;
+   case 70: VG_(transfer) (&mips1->guest_FCSR, buf, dir, size, mod); break;
+   case 71: VG_(transfer) (&mips1->guest_FIR, buf, dir, size, mod); break;
+   case 72: *mod = False; break; // GDBTD???? VEX{ "restart", 2304, 32 },
+   default: VG_(printf)("regno: %d\n", regno); vg_assert(0);
+   }
+}
+
+static
+const char* target_xml (Bool shadow_mode)
+{
+   if (shadow_mode) {
+      return "mips-linux-valgrind.xml";
+   } else {
+      return "mips-linux.xml";
+   }  
+}
+
+static struct valgrind_target_ops low_target = {
+   num_regs,
+   regs,
+   29, //sp = r29, which is register offset 29 in regs
+   transfer_register,
+   get_pc,
+   set_pc,
+   "mips",
+   target_xml
+};
+
+void mips32_init_architecture (struct valgrind_target_ops *target)
+{
+   *target = low_target;
+   set_register_cache (regs, num_regs);
+   gdbserver_expedite_regs = expedite_regs;
+}
diff --git a/coregrind/m_gdbserver/valgrind-low-mips64.c b/coregrind/m_gdbserver/valgrind-low-mips64.c
new file mode 100644
index 0000000..9c07336
--- /dev/null
+++ b/coregrind/m_gdbserver/valgrind-low-mips64.c
@@ -0,0 +1,259 @@
+/* Low level interface to valgrind, for the remote server for GDB integrated
+   in valgrind.
+   Copyright (C) 2011
+   Free Software Foundation, Inc.
+
+   This file is part of VALGRIND.
+   It has been inspired from a file from gdbserver in gdb 6.6.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
+
+#include "server.h"
+#include "target.h"
+#include "regdef.h"
+#include "regcache.h"
+
+#include "pub_core_aspacemgr.h"
+#include "pub_tool_machine.h"
+#include "pub_core_threadstate.h"
+#include "pub_core_transtab.h"
+#include "pub_core_gdbserver.h" 
+
+#include "valgrind_low.h"
+
+#include "libvex_guest_mips64.h"
+
+static struct reg regs[] = {
+   { "r0", 0, 64 },
+   { "r1", 64, 64 },
+   { "r2", 128, 64 },
+   { "r3", 192, 64 },
+   { "r4", 256, 64 },
+   { "r5", 320, 64 },
+   { "r6", 384, 64 },
+   { "r7", 448, 64 },
+   { "r8", 512, 64 },
+   { "r9", 576, 64 },
+   { "r10", 640, 64 },
+   { "r11", 704, 64 },
+   { "r12", 768, 64 },
+   { "r13", 832, 64 },
+   { "r14", 896, 64 },
+   { "r15", 960, 64 },
+   { "r16", 1024, 64 },
+   { "r17", 1088, 64 },
+   { "r18", 1152, 64 },
+   { "r19", 1216, 64 },
+   { "r20", 1280, 64 },
+   { "r21", 1344, 64 },
+   { "r22", 1408, 64 },
+   { "r23", 1472, 64 },
+   { "r24", 1536, 64 },
+   { "r25", 1600, 64 },
+   { "r26", 1664, 64 },
+   { "r27", 1728, 64 },
+   { "r28", 1792, 64 },
+   { "r29", 1856, 64 },
+   { "r30", 1920, 64 },
+   { "r31", 1984, 64 },
+   { "status", 2048, 64 },
+   { "lo", 2112, 64 },
+   { "hi", 2176, 64 },
+   { "badvaddr", 2240, 64 },
+   { "cause", 2304, 64 },
+   { "pc", 2368, 64 },
+   { "f0", 2432, 64 },
+   { "f1", 2496, 64 },
+   { "f2", 2560, 64 },
+   { "f3", 2624, 64 },
+   { "f4", 2688, 64 },
+   { "f5", 2752, 64 },
+   { "f6", 2816, 64 },
+   { "f7", 2880, 64 },
+   { "f8", 2944, 64 },
+   { "f9", 3008, 64 },
+   { "f10", 3072, 64 },
+   { "f11", 3136, 64 },
+   { "f12", 3200, 64 },
+   { "f13", 3264, 64 },
+   { "f14", 3328, 64 },
+   { "f15", 3392, 64 },
+   { "f16", 3456, 64 },
+   { "f17", 3520, 64 },
+   { "f18", 3584, 64 },
+   { "f19", 3648, 64 },
+   { "f20", 3712, 64 },
+   { "f21", 3776, 64 },
+   { "f22", 3840, 64 },
+   { "f23", 3904, 64 },
+   { "f24", 3968, 64 },
+   { "f25", 4032, 64 },
+   { "f26", 4096, 64 },
+   { "f27", 4160, 64 },
+   { "f28", 4224, 64 },
+   { "f29", 4288, 64 },
+   { "f30", 4352, 64 },
+   { "f31", 4416, 64 },
+   { "fcsr", 4480, 64 },
+   { "fir", 4544, 64 },
+   { "restart", 4608, 64 }
+};
+
+
+#define num_regs (sizeof (regs) / sizeof (regs[0]))
+
+static const char *expedite_regs[] = { "r29", "pc", 0 };
+
+static
+CORE_ADDR get_pc (void)
+{
+   unsigned long pc;
+
+   collect_register_by_name ("pc", &pc);
+
+   dlog(1, "stop pc is %p\n", (void *) pc);
+   return pc;
+}
+
+static
+void set_pc (CORE_ADDR newpc)
+{
+   Bool mod;
+   supply_register_by_name ("pc", &newpc, &mod);
+   if (mod)
+      dlog(1, "set pc to %p\n", C2v (newpc));
+   else
+      dlog(1, "set pc not changed %p\n", C2v (newpc));
+}
+
+/* store registers in the guest state (gdbserver_to_valgrind)
+   or fetch register from the guest state (valgrind_to_gdbserver). */
+static
+void transfer_register (ThreadId tid, int abs_regno, void * buf,
+                        transfer_direction dir, int size, Bool *mod)
+{
+   ThreadState* tst = VG_(get_ThreadState)(tid);
+   int set = abs_regno / num_regs;
+   int regno = abs_regno % num_regs;
+   *mod = False;
+
+   VexGuestMIPS64State* mips1 = (VexGuestMIPS64State*) get_arch (set, tst);
+
+   switch (regno) { 
+   case 0:  VG_(transfer) (&mips1->guest_r0,  buf, dir, size, mod); break;
+   case 1:  VG_(transfer) (&mips1->guest_r1,  buf, dir, size, mod); break;
+   case 2:  VG_(transfer) (&mips1->guest_r2,  buf, dir, size, mod); break;
+   case 3:  VG_(transfer) (&mips1->guest_r3,  buf, dir, size, mod); break;
+   case 4:  VG_(transfer) (&mips1->guest_r4,  buf, dir, size, mod); break;
+   case 5:  VG_(transfer) (&mips1->guest_r5,  buf, dir, size, mod); break;
+   case 6:  VG_(transfer) (&mips1->guest_r6,  buf, dir, size, mod); break;
+   case 7:  VG_(transfer) (&mips1->guest_r7,  buf, dir, size, mod); break;
+   case 8:  VG_(transfer) (&mips1->guest_r8,  buf, dir, size, mod); break;
+   case 9:  VG_(transfer) (&mips1->guest_r9,  buf, dir, size, mod); break;
+   case 10: VG_(transfer) (&mips1->guest_r10,  buf, dir, size, mod); break;
+   case 11: VG_(transfer) (&mips1->guest_r11,  buf, dir, size, mod); break;
+   case 12: VG_(transfer) (&mips1->guest_r12, buf, dir, size, mod); break;
+   case 13: VG_(transfer) (&mips1->guest_r13, buf, dir, size, mod); break;
+   case 14: VG_(transfer) (&mips1->guest_r14, buf, dir, size, mod); break;
+   case 15: VG_(transfer) (&mips1->guest_r15, buf, dir, size, mod); break;
+   case 16: VG_(transfer) (&mips1->guest_r16, buf, dir, size, mod); break;
+   case 17: VG_(transfer) (&mips1->guest_r17, buf, dir, size, mod); break;
+   case 18: VG_(transfer) (&mips1->guest_r18,  buf, dir, size, mod); break;
+   case 19: VG_(transfer) (&mips1->guest_r19,  buf, dir, size, mod); break;
+   case 20: VG_(transfer) (&mips1->guest_r20,  buf, dir, size, mod); break;
+   case 21: VG_(transfer) (&mips1->guest_r21,  buf, dir, size, mod); break;
+   case 22: VG_(transfer) (&mips1->guest_r22,  buf, dir, size, mod); break;
+   case 23: VG_(transfer) (&mips1->guest_r23,  buf, dir, size, mod); break;
+   case 24: VG_(transfer) (&mips1->guest_r24,  buf, dir, size, mod); break;
+   case 25: VG_(transfer) (&mips1->guest_r25,  buf, dir, size, mod); break;
+   case 26: VG_(transfer) (&mips1->guest_r26,  buf, dir, size, mod); break;
+   case 27: VG_(transfer) (&mips1->guest_r27,  buf, dir, size, mod); break;
+   case 28: VG_(transfer) (&mips1->guest_r28, buf, dir, size, mod); break;
+   case 29: VG_(transfer) (&mips1->guest_r29, buf, dir, size, mod); break;
+   case 30: VG_(transfer) (&mips1->guest_r30, buf, dir, size, mod); break;
+   case 31: VG_(transfer) (&mips1->guest_r31, buf, dir, size, mod); break;
+   case 32: *mod = False; break; // GDBTD???? VEX { "status", 1024, 64 }
+   case 33: VG_(transfer) (&mips1->guest_LO, buf, dir, size, mod); break;
+   case 34: VG_(transfer) (&mips1->guest_HI, buf, dir, size, mod); break;
+   case 35: *mod = False; break; // GDBTD???? VEX { "badvaddr", 1120, 64 },
+   case 36: *mod = False; break; // GDBTD???? VEX { "cause", 1152, 64 },
+   case 37: VG_(transfer) (&mips1->guest_PC,  buf, dir, size, mod); break;
+   case 38: VG_(transfer) (&mips1->guest_f0,  buf, dir, size, mod); break;
+   case 39: VG_(transfer) (&mips1->guest_f1,  buf, dir, size, mod); break;
+   case 40: VG_(transfer) (&mips1->guest_f2,  buf, dir, size, mod); break;
+   case 41: VG_(transfer) (&mips1->guest_f3,  buf, dir, size, mod); break;
+   case 42: VG_(transfer) (&mips1->guest_f4,  buf, dir, size, mod); break;
+   case 43: VG_(transfer) (&mips1->guest_f5,  buf, dir, size, mod); break;
+   case 44: VG_(transfer) (&mips1->guest_f6,  buf, dir, size, mod); break;
+   case 45: VG_(transfer) (&mips1->guest_f7, buf, dir, size, mod); break;
+   case 46: VG_(transfer) (&mips1->guest_f8, buf, dir, size, mod); break;
+   case 47: VG_(transfer) (&mips1->guest_f9, buf, dir, size, mod); break;
+   case 48: VG_(transfer) (&mips1->guest_f10, buf, dir, size, mod); break;
+   case 49: VG_(transfer) (&mips1->guest_f11, buf, dir, size, mod); break;
+   case 50: VG_(transfer) (&mips1->guest_f12, buf, dir, size, mod); break;
+   case 51: VG_(transfer) (&mips1->guest_f13,  buf, dir, size, mod); break;
+   case 52: VG_(transfer) (&mips1->guest_f14,  buf, dir, size, mod); break;
+   case 53: VG_(transfer) (&mips1->guest_f15,  buf, dir, size, mod); break;
+   case 54: VG_(transfer) (&mips1->guest_f16,  buf, dir, size, mod); break;
+   case 55: VG_(transfer) (&mips1->guest_f17,  buf, dir, size, mod); break;
+   case 56: VG_(transfer) (&mips1->guest_f18,  buf, dir, size, mod); break;
+   case 57: VG_(transfer) (&mips1->guest_f19, buf, dir, size, mod); break;
+   case 58: VG_(transfer) (&mips1->guest_f20, buf, dir, size, mod); break;
+   case 59: VG_(transfer) (&mips1->guest_f21, buf, dir, size, mod); break;
+   case 60: VG_(transfer) (&mips1->guest_f22, buf, dir, size, mod); break;
+   case 61: VG_(transfer) (&mips1->guest_f23, buf, dir, size, mod); break;
+   case 62: VG_(transfer) (&mips1->guest_f24,  buf, dir, size, mod); break;
+   case 63: VG_(transfer) (&mips1->guest_f25,  buf, dir, size, mod); break;
+   case 64: VG_(transfer) (&mips1->guest_f26,  buf, dir, size, mod); break;
+   case 65: VG_(transfer) (&mips1->guest_f27,  buf, dir, size, mod); break;
+   case 66: VG_(transfer) (&mips1->guest_f28,  buf, dir, size, mod); break;
+   case 67: VG_(transfer) (&mips1->guest_f29,  buf, dir, size, mod); break;
+   case 68: VG_(transfer) (&mips1->guest_f30, buf, dir, size, mod); break;
+   case 69: VG_(transfer) (&mips1->guest_f31, buf, dir, size, mod); break;
+   case 70: VG_(transfer) (&mips1->guest_FCSR, buf, dir, size, mod); break;
+   case 71: VG_(transfer) (&mips1->guest_FIR, buf, dir, size, mod); break;
+   case 72: *mod = False; break; // GDBTD???? VEX{ "restart", 2304, 64 },
+   default: VG_(printf)("regno: %d\n", regno); vg_assert(0);
+   }
+}
+
+static
+const char* target_xml (Bool shadow_mode)
+{
+   if (shadow_mode) {
+      return "mips64-linux-valgrind.xml";
+   } else {
+      return "mips64-linux.xml";
+   }  
+}
+
+static struct valgrind_target_ops low_target = {
+   num_regs,
+   regs,
+   29, //sp = r29, which is register offset 29 in regs
+   transfer_register,
+   get_pc,
+   set_pc,
+   "mips64",
+   target_xml
+};
+
+void mips64_init_architecture (struct valgrind_target_ops *target)
+{
+   *target = low_target;
+   set_register_cache (regs, num_regs);
+   gdbserver_expedite_regs = expedite_regs;
+}
diff --git a/coregrind/m_gdbserver/valgrind-low-ppc32.c b/coregrind/m_gdbserver/valgrind-low-ppc32.c
index a7e282e..ba4ae8f 100644
--- a/coregrind/m_gdbserver/valgrind-low-ppc32.c
+++ b/coregrind/m_gdbserver/valgrind-low-ppc32.c
@@ -39,7 +39,7 @@
 /* this is only the basic set of registers.
    Need to look at what is the exact ppc32 model to support.
 */
-struct reg regs[] = {
+static struct reg regs[] = {
   { "r0", 0, 32 },
   { "r1", 32, 32 },
   { "r2", 64, 32 },
@@ -322,6 +322,16 @@
    }
 }
 
+static
+const char* target_xml (Bool shadow_mode)
+{
+   if (shadow_mode) {
+      return "powerpc-altivec32l-valgrind.xml";
+   } else {
+      return "powerpc-altivec32l.xml";
+   }  
+}
+
 static struct valgrind_target_ops low_target = {
    num_regs,
    regs,
@@ -330,8 +340,7 @@
    get_pc,
    set_pc,
    "ppc32",
-   "powerpc-altivec32l.xml",
-   "powerpc-altivec32l-valgrind.xml"
+   target_xml
 };
 
 void ppc32_init_architecture (struct valgrind_target_ops *target)
diff --git a/coregrind/m_gdbserver/valgrind-low-ppc64.c b/coregrind/m_gdbserver/valgrind-low-ppc64.c
index f2fdbec..a516d20 100644
--- a/coregrind/m_gdbserver/valgrind-low-ppc64.c
+++ b/coregrind/m_gdbserver/valgrind-low-ppc64.c
@@ -36,7 +36,7 @@
 
 #include "libvex_guest_ppc64.h"
 
-struct reg regs[] = {
+static struct reg regs[] = {
   { "r0", 0, 64 },
   { "r1", 64, 64 },
   { "r2", 128, 64 },
@@ -319,6 +319,16 @@
    }
 }
 
+static
+const char* target_xml (Bool shadow_mode)
+{
+   if (shadow_mode) {
+      return "powerpc-altivec64l-valgrind.xml";
+   } else {
+      return "powerpc-altivec64l.xml";
+   }  
+}
+
 static struct valgrind_target_ops low_target = {
    num_regs,
    regs,
@@ -327,8 +337,7 @@
    get_pc,
    set_pc,
    "ppc64",
-   "powerpc-altivec64l.xml",
-   "powerpc-altivec64l-valgrind.xml"
+   target_xml
 };
 
 void ppc64_init_architecture (struct valgrind_target_ops *target)
diff --git a/coregrind/m_gdbserver/valgrind-low-s390x.c b/coregrind/m_gdbserver/valgrind-low-s390x.c
index aae9355..6909e4c 100644
--- a/coregrind/m_gdbserver/valgrind-low-s390x.c
+++ b/coregrind/m_gdbserver/valgrind-low-s390x.c
@@ -36,7 +36,7 @@
 
 #include "libvex_guest_s390x.h"
 
-struct reg regs[] = {
+static struct reg regs[] = {
   { "pswm", 0, 64 },
   { "pswa", 64, 64 },
   { "r0", 128, 64 },
@@ -187,6 +187,16 @@
    }
 }
 
+static
+const char* target_xml (Bool shadow_mode)
+{
+   if (shadow_mode) {
+      return "s390x-generic-valgrind.xml";
+   } else {
+      return "s390x-generic.xml";
+   }  
+}
+
 static struct valgrind_target_ops low_target = {
    num_regs,
    regs,
@@ -195,8 +205,7 @@
    get_pc,
    set_pc,
    "s390x",
-   "s390x-generic.xml",
-   "s390x-generic-valgrind.xml"
+   target_xml
 };
 
 void s390x_init_architecture (struct valgrind_target_ops *target)
diff --git a/coregrind/m_gdbserver/valgrind-low-x86.c b/coregrind/m_gdbserver/valgrind-low-x86.c
index 89ef329..fc533f7 100644
--- a/coregrind/m_gdbserver/valgrind-low-x86.c
+++ b/coregrind/m_gdbserver/valgrind-low-x86.c
@@ -137,16 +137,7 @@
    case 5:  VG_(transfer) (&x86->guest_EBP, buf, dir, size, mod); break;
    case 6:  VG_(transfer) (&x86->guest_ESI, buf, dir, size, mod); break;
    case 7:  VG_(transfer) (&x86->guest_EDI, buf, dir, size, mod); break;
-   case 8:  
-      VG_(transfer) (&x86->guest_EIP, buf, dir, size, mod); 
-      if (*mod && VG_(debugLog_getLevel)() > 2) {
-         char bufimage [2*sizeof(x86->guest_IP_AT_SYSCALL) + 1];
-         heximage (bufimage, 
-                   (char *) &x86->guest_IP_AT_SYSCALL, 
-                   sizeof(x86->guest_IP_AT_SYSCALL));
-         dlog(3, "guest_IP_AT_SYSCALL %s\n", bufimage);
-      }
-      break;
+   case 8:  VG_(transfer) (&x86->guest_EIP, buf, dir, size, mod); break;
    case 9:  
       if (dir == valgrind_to_gdbserver) {
          UInt eflags;
@@ -252,6 +243,20 @@
    }
 }
 
+static
+const char* target_xml (Bool shadow_mode)
+{
+   if (shadow_mode) {
+#if defined(VGO_linux)
+   return "i386-linux-valgrind.xml";
+#else
+   return "i386-coresse-valgrind.xml";
+#endif
+   } else {
+      return NULL;
+   }  
+}
+
 static struct valgrind_target_ops low_target = {
    num_regs,
    regs,
@@ -260,12 +265,7 @@
    get_pc,
    set_pc,
    "i386",
-   NULL, // target_xml not needed.
-#if defined(VGO_linux)
-   "i386-linux-valgrind.xml"
-#else
-   "i386-coresse-valgrind.xml"
-#endif
+   target_xml
 };
 
 void x86_init_architecture (struct valgrind_target_ops *target)
diff --git a/coregrind/m_gdbserver/valgrind-low.c b/coregrind/m_gdbserver/valgrind-low.c
deleted file mode 100644
index 59f5284..0000000
--- a/coregrind/m_gdbserver/valgrind-low.c
+++ /dev/null
@@ -1,641 +0,0 @@
-/* Low level interface to valgrind, for the remote server for GDB integrated
-   in valgrind.
-   Copyright (C) 2011
-   Free Software Foundation, Inc.
-
-   This file is part of VALGRIND.
-   It has been inspired from a file from gdbserver in gdb 6.6.
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
-
-#include "server.h"
-#include "target.h"
-#include "regdef.h"
-#include "regcache.h"
-#include "valgrind_low.h"
-#include "gdb/signals.h"
-#include "pub_core_aspacemgr.h"
-#include "pub_tool_machine.h"
-#include "pub_core_threadstate.h"
-#include "pub_core_transtab.h"
-#include "pub_core_gdbserver.h" 
-#include "pub_tool_debuginfo.h"
-
-/* the_low_target defines the architecture specific aspects depending
-   on the cpu */
-static struct valgrind_target_ops the_low_target;
-
-/* builds an image of bin according to byte order of the architecture 
-   Useful for register and int image */
-char* heximage (char *buf, char *bin, int count)
-{
-#if defined(VGA_x86) || defined(VGA_amd64)
-   char rev[count]; 
-   /* note: no need for trailing \0, length is known with count */
-  int i;
-  for (i = 0; i < count; i++)
-    rev[i] = bin[count - i - 1];
-  hexify (buf, rev, count);
-#else
-  hexify (buf, bin, count);
-#endif
-  return buf;
-}
-
-void* C2v(CORE_ADDR addr)
-{
-   return (void*) addr;
-}
-
-static
-char *image_ptid(unsigned long ptid)
-{
-  static char result[100];
-  VG_(sprintf) (result, "id %ld", ptid);
-  return result;
-}
-#define get_thread(inf) ((struct thread_info *)(inf))
-static
-void remove_thread_if_not_in_vg_threads (struct inferior_list_entry *inf)
-{
-  struct thread_info *thread = get_thread (inf);
-  if (!VG_(lwpid_to_vgtid)(thread_to_gdb_id(thread))) {
-     dlog(1, "removing gdb ptid %s\n", 
-          image_ptid(thread_to_gdb_id(thread)));
-     remove_thread (thread);
-  }
-}
-
-/* synchronize threads known by valgrind and threads known by gdbserver */
-static
-void valgrind_update_threads (int pid)
-{
-  ThreadId tid;
-  ThreadState *ts;
-  unsigned long ptid;
-  struct thread_info *ti;
-
-  /* call remove_thread for all gdb threads not in valgrind threads */
-  for_each_inferior (&all_threads, remove_thread_if_not_in_vg_threads);
-  
-  /* call add_thread for all valgrind threads not known in gdb all_threads */
-  for (tid = 1; tid < VG_N_THREADS; tid++) {
-
-#define LOCAL_THREAD_TRACE " ti* %p vgtid %d status %s as gdb ptid %s lwpid %d\n", \
-        ti, tid, VG_(name_of_ThreadStatus) (ts->status), \
-        image_ptid (ptid), ts->os_state.lwpid
-
-     if (VG_(is_valid_tid) (tid)) {
-        ts = VG_(get_ThreadState) (tid);
-        ptid = ts->os_state.lwpid;
-        ti = gdb_id_to_thread (ptid);
-        if (!ti) {
-           /* we do not report the threads which are not yet fully
-              initialized otherwise this creates duplicated threads
-              in gdb: once with pid xxx lwpid 0, then after that
-              with pid xxx lwpid yyy. */
-           if (ts->status != VgTs_Init) {
-              dlog(1, "adding_thread" LOCAL_THREAD_TRACE);
-              add_thread (ptid, ts, ptid);
-           }
-        } else {
-           dlog(2, "(known thread)" LOCAL_THREAD_TRACE);
-        }
-     }
-#undef LOCAL_THREAD_TRACE
-  }
-}
-
-/* Return nonzero if the given thread is still alive.  */
-static
-int valgrind_thread_alive (unsigned long tid)
-{
-  struct thread_info *ti =  gdb_id_to_thread(tid);
-  ThreadState *tst;
-
-  if (ti != NULL) {
-     tst = (ThreadState *) inferior_target_data (ti);
-     return tst->status != VgTs_Zombie;
-  }
-  else {
-    return 0;
-  }
-}
-
-/* allocate and build a register structure containing the shadow registers.
-   reg_defs is the normal registers, n is their numbers */
-static
-struct reg* build_shadow_arch (struct reg *reg_defs, int n) {
-   int i, r;
-   static char *postfix[3] = { "", "s1", "s2" };
-   struct reg *new_regs = malloc(3 * n * sizeof(reg_defs[0]));
-   int reg_set_len = reg_defs[n-1].offset + reg_defs[n-1].size;
-
-   for (i = 0; i < 3; i++) {
-      for (r = 0; r < n; r++) {
-         new_regs[i*n + r].name = malloc(strlen(reg_defs[r].name) 
-                                         + strlen (postfix[i]) + 1);
-         strcpy (new_regs[i*n + r].name, reg_defs[r].name);
-         strcat (new_regs[i*n + r].name, postfix[i]);
-         new_regs[i*n + r].offset = i*reg_set_len + reg_defs[r].offset;
-         new_regs[i*n + r].size = reg_defs[r].size;
-         dlog(1,
-              "%10s Nr %d offset(bit) %d offset(byte) %d  size(bit) %d\n",
-              new_regs[i*n + r].name, i*n + r, new_regs[i*n + r].offset,
-              (new_regs[i*n + r].offset) / 8, new_regs[i*n + r].size);
-      }  
-   }
-
-   return new_regs;
-}
-
-/* Fetch one register from valgrind VEX guest state.  */
-static
-void fetch_register (int regno)
-{
-   int size;
-   ThreadState *tst = (ThreadState *) inferior_target_data (current_inferior);
-   ThreadId tid = tst->tid;
-
-   if (regno >= the_low_target.num_regs) {
-      dlog(0, "error fetch_register regno %d max %d\n",
-           regno, the_low_target.num_regs);
-      return;
-   }
-   size = register_size (regno);
-   if (size > 0) {
-      Bool mod;
-      char buf [size];
-      VG_(memset) (buf, 0, size); // registers not fetched will be seen as 0.
-      (*the_low_target.transfer_register) (tid, regno, buf,
-                                           valgrind_to_gdbserver, size, &mod);
-      // Note: the *mod received from transfer_register is not interesting.
-      // We are interested to see if the register data in the register cache is modified.
-      supply_register (regno, buf, &mod);
-      if (mod && VG_(debugLog_getLevel)() > 1) {
-         char bufimage [2*size + 1];
-         heximage (bufimage, buf, size);
-         dlog(2, "fetched register %d size %d name %s value %s tid %d status %s\n", 
-              regno, size, the_low_target.reg_defs[regno].name, bufimage, 
-              tid, VG_(name_of_ThreadStatus) (tst->status));
-      }
-   }
-}
-
-/* Fetch all registers, or just one, from the child process.  */
-static
-void usr_fetch_inferior_registers (int regno)
-{
-   if (regno == -1 || regno == 0)
-      for (regno = 0; regno < the_low_target.num_regs; regno++)
-         fetch_register (regno);
-   else
-      fetch_register (regno);
-}
-
-/* Store our register values back into the inferior.
-   If REGNO is -1, do this for all registers.
-   Otherwise, REGNO specifies which register (so we can save time).  */
-static
-void usr_store_inferior_registers (int regno)
-{
-   int size;
-   ThreadState *tst = (ThreadState *) inferior_target_data (current_inferior);
-   ThreadId tid = tst->tid;
-   
-   if (regno >= 0) {
-
-      if (regno >= the_low_target.num_regs) {
-         dlog(0, "error store_register regno %d max %d\n",
-              regno, the_low_target.num_regs);
-         return;
-      }
-      
-      size = register_size (regno);
-      if (size > 0) {
-         Bool mod;
-         Addr old_SP, new_SP;
-         char buf[size];
-
-         if (regno == the_low_target.stack_pointer_regno) {
-            /* When the stack pointer register is changed such that
-               the stack is extended, we better inform the tool of the
-               stack increase.  This is needed in particular to avoid
-               spurious Memcheck errors during Inferior calls. So, we
-               save in old_SP the SP before the change. A change of
-               stack pointer is also assumed to have initialised this
-               new stack space. For the typical example of an inferior
-               call, gdb writes arguments on the stack, and then
-               changes the stack pointer. As the stack increase tool
-               function might mark it as undefined, we have to call it
-               at the good moment. */
-            VG_(memset) ((void *) &old_SP, 0, size);
-            (*the_low_target.transfer_register) (tid, regno, (void *) &old_SP, 
-                                                 valgrind_to_gdbserver, size, &mod);
-         }
-
-         VG_(memset) (buf, 0, size);
-         collect_register (regno, buf);
-         (*the_low_target.transfer_register) (tid, regno, buf, 
-                                              gdbserver_to_valgrind, size, &mod);
-         if (mod && VG_(debugLog_getLevel)() > 1) {
-            char bufimage [2*size + 1];
-            heximage (bufimage, buf, size);
-            dlog(2, 
-                 "stored register %d size %d name %s value %s "
-                 "tid %d status %s\n", 
-                 regno, size, the_low_target.reg_defs[regno].name, bufimage, 
-                 tid, VG_(name_of_ThreadStatus) (tst->status));
-         }
-         if (regno == the_low_target.stack_pointer_regno) {
-            VG_(memcpy) (&new_SP, buf, size);
-            if (old_SP > new_SP) {
-               Word delta  = (Word)new_SP - (Word)old_SP;
-               dlog(1, 
-                    "   stack increase by stack pointer changed from %p to %p "
-                    "delta %ld\n",
-                    (void*) old_SP, (void *) new_SP,
-                    delta);
-               VG_TRACK( new_mem_stack_w_ECU, new_SP, -delta, 0 );
-               VG_TRACK( new_mem_stack,       new_SP, -delta );
-               if (VG_(tdict).track_post_mem_write) {
-                  VG_(tdict).track_post_mem_write( Vg_CoreClientReq, tid, 
-                                                   new_SP, -delta);
-               }
-            }
-         }
-      }
-   }
-   else {
-      for (regno = 0; regno < the_low_target.num_regs; regno++)
-         usr_store_inferior_registers (regno);
-   }
-}
-
-static
-void valgrind_fetch_registers (int regno)
-{
-   usr_fetch_inferior_registers (regno);
-}
-
-static
-void valgrind_store_registers (int regno)
-{
-   usr_store_inferior_registers (regno);
-}
-
-/* Copy LEN bytes from inferior's memory starting at MEMADDR
-   to debugger memory starting at MYADDR.  */
-
-static
-int valgrind_read_memory (CORE_ADDR memaddr, unsigned char *myaddr, int len)
-{
-   const void *sourceaddr = C2v (memaddr);
-   dlog(2, "reading memory %p size %d\n", sourceaddr, len);
-   if (!VG_(am_is_valid_for_client_or_free_or_resvn) ((Addr) sourceaddr, 
-                                                      len, VKI_PROT_READ)) {
-      dlog(1, "error reading memory %p size %d\n", sourceaddr, len);
-      return -1;
-   }
-   VG_(memcpy) (myaddr, sourceaddr, len);
-   return 0;
-}
-
-/* Copy LEN bytes of data from debugger memory at MYADDR
-   to inferior's memory at MEMADDR.
-   On failure (cannot write the inferior)
-   returns the value of errno.  */
-
-static
-int valgrind_write_memory (CORE_ADDR memaddr, const unsigned char *myaddr, int len)
-{
-   void *targetaddr = C2v (memaddr);
-   dlog(2, "writing memory %p size %d\n", targetaddr, len);
-   if (!VG_(am_is_valid_for_client_or_free_or_resvn) ((Addr)targetaddr, 
-                                                      len, VKI_PROT_WRITE)) {
-      dlog(1, "error writing memory %p size %d\n", targetaddr, len);
-      return -1;
-   }
-   if (len > 0) {
-      VG_(memcpy) (targetaddr, myaddr, len);
-      if (VG_(tdict).track_post_mem_write) {
-         /* Inform the tool of the post memwrite.  Note that we do the
-            minimum necessary to avoid complains from e.g.
-            memcheck. The idea is that the debugger is as least
-            intrusive as possible.  So, we do not inform of the pre
-            mem write (and in any case, this would cause problems with
-            memcheck that does not like our CorePart in
-            pre_mem_write. */
-         ThreadState *tst = (ThreadState *) inferior_target_data (current_inferior);
-         ThreadId tid = tst->tid;
-         VG_(tdict).track_post_mem_write( Vg_CoreClientReq, tid, (Addr) targetaddr, len );
-      }
-   }
-   return 0;
-}
-
-/* insert or remove a breakpoint */
-static
-int valgrind_point (Bool insert, char type, CORE_ADDR addr, int len)
-{
-   PointKind kind;
-   switch (type) {
-   case '0': /* implemented by inserting checks at each instruction in sb */
-      kind = software_breakpoint;
-      break;
-   case '1': /* hw breakpoint, same implementation as sw breakpoint */
-      kind = hardware_breakpoint;
-      break;
-   case '2':
-      kind = write_watchpoint;
-      break;
-   case '3':
-      kind = read_watchpoint;
-      break;
-   case '4':
-      kind = access_watchpoint;
-      break;
-   default:
-      vg_assert (0);
-   }
-
-   /* Attention: gdbserver convention differs: 0 means ok; 1 means not ok */
-   if (VG_(gdbserver_point) (kind, insert, addr, len))
-      return 0;
-   else
-      return 1; /* error or unsupported */
-}
-
-static
-void valgrind_send_signal (int sig)
-{
-   dlog(1, "valgrind_send_signal %d called ????\n", sig); 
-}
-
-static
-char* valgrind_target_xml (void)
-{
-   return (char *) the_low_target.target_xml;
-}
-
-static
-char* valgrind_shadow_target_xml (void)
-{
-   return (char *) the_low_target.shadow_target_xml;
-}
-
-static
-int valgrind_insert_point (char type, CORE_ADDR addr, int len)
-{
-   return valgrind_point (/* insert */ True, type, addr, len);
-}
-
-static
-int valgrind_remove_point (char type, CORE_ADDR addr, int len)
-{
-   return valgrind_point (/* insert*/ False, type, addr, len);
-}
-
-static CORE_ADDR stopped_data_address = 0;
-void VG_(set_watchpoint_stop_address) (Addr addr)
-{
-   stopped_data_address = addr;
-}
-
-static
-int valgrind_stopped_by_watchpoint (void)
-{
-   return stopped_data_address != 0;
-}
-
-static
-CORE_ADDR valgrind_stopped_data_address (void)
-{
-   return stopped_data_address;
-}
-
-/* pc at which we last stopped */
-static CORE_ADDR stop_pc;
-
-/* pc at which we resume. 
-   If stop_pc != resume_pc, it means
-      gdb/gdbserver has changed the pc so as to have either
-      a    "continue by jumping at that address"
-      or a "continue at that address to call some code from gdb".
-*/
-static CORE_ADDR resume_pc;
-
-static int vki_signal_to_report;
-
-void gdbserver_signal_encountered (Int vki_sigNo)
-{
-   vki_signal_to_report = vki_sigNo;
-}
-
-static int vki_signal_to_deliver;
-Bool gdbserver_deliver_signal (Int vki_sigNo)
-{
-   return vki_sigNo == vki_signal_to_deliver;
-}
-
-static
-char* sym (Addr addr)
-{
-   static char buf[200];
-   VG_(describe_IP) (addr, buf, 200);
-   return buf;
-}
-
-ThreadId vgdb_interrupted_tid = 0;
-/* called to wait for the process to stop */
-static
-unsigned char valgrind_wait (char *ourstatus)
-{
-   int pid;
-   unsigned long wptid;
-   ThreadState *tst;
-   enum target_signal sig;
-
-   pid = VG_(getpid) ();
-   dlog(1, "enter valgrind_wait pid %d\n", pid);
-
-   regcache_invalidate();
-   valgrind_update_threads(pid);
-
-   /* in valgrind, we consider that a wait always succeeds with STOPPED 'T' 
-      and with a signal TRAP (i.e. a breakpoint), unless there is
-      a signal to report. */
-   *ourstatus = 'T';
-   if (vki_signal_to_report == 0)
-      sig = TARGET_SIGNAL_TRAP;
-   else {
-      sig = target_signal_from_host(vki_signal_to_report);
-      vki_signal_to_report = 0;
-   }
-   
-   if (vgdb_interrupted_tid != 0)
-      tst = VG_(get_ThreadState) (vgdb_interrupted_tid);
-   else
-      tst = VG_(get_ThreadState) (VG_(running_tid));
-   wptid = tst->os_state.lwpid;
-   /* we can only change the current_inferior when the wptid references
-      an existing thread. Otherwise, we are still in the init phase.
-      (hack similar to main thread hack in valgrind_update_threads) */
-   if (tst->os_state.lwpid)
-      current_inferior = gdb_id_to_thread (wptid);
-   stop_pc = (*the_low_target.get_pc) ();
-   
-   dlog(1,
-        "exit valgrind_wait returns ptid %s stop_pc %s signal %d\n", 
-        image_ptid (wptid), sym (stop_pc), sig);
-   return sig;
-}
-
-/* 0 => not single stepping.
-   1 => single stepping asked by gdb
-   2 => single stepping asked by valgrind (watchpoint) */
-static int stepping = 0;
-
-/* called when the process is to be resumed */
-static
-void valgrind_resume (struct thread_resume *resume_info)
-{
-   dlog(1,
-        "resume_info thread %ld leave_stopped %d step %d sig %d stepping %d\n", 
-        resume_info->thread,
-        resume_info->leave_stopped,
-        resume_info->step,
-        resume_info->sig,
-        stepping);
-   if (valgrind_stopped_by_watchpoint()) {
-      dlog(1, "clearing watchpoint stopped_data_address %p\n",
-           C2v(stopped_data_address));
-      VG_(set_watchpoint_stop_address) ((Addr) 0);
-   }
-   vki_signal_to_deliver = resume_info->sig;
-   
-   stepping = resume_info->step;
-   resume_pc = (*the_low_target.get_pc) ();
-   if (resume_pc != stop_pc) {
-      dlog(1,
-           "stop_pc %p changed to be resume_pc %s\n",
-           C2v(stop_pc), sym(resume_pc));
-   }
-   regcache_invalidate();
-}
-
-Addr valgrind_get_ignore_break_once(void)
-{
-   if (valgrind_single_stepping())
-      return resume_pc;
-   else
-      return 0;
-}
-
-
-void valgrind_set_single_stepping(Bool set)
-{
-   if (set)
-      stepping = 2;
-   else
-      stepping = 0;
-}
-
-Bool valgrind_single_stepping(void)
-{
-   if (stepping)
-      return True;
-   else
-      return False;
-}
-
-static struct target_ops valgrind_target_ops = {
-   valgrind_thread_alive,
-   valgrind_resume,
-   valgrind_wait,
-   valgrind_fetch_registers,
-   valgrind_store_registers,
-   valgrind_read_memory,
-   valgrind_write_memory,
-   valgrind_send_signal,
-   valgrind_target_xml,
-   valgrind_shadow_target_xml,
-   valgrind_insert_point,
-   valgrind_remove_point,
-   valgrind_stopped_by_watchpoint,
-   valgrind_stopped_data_address,
-};
-
-
-/* returns a pointer to the architecture state corresponding to
-   the provided register set: 0 => normal guest registers,
-                              1 => shadow1
-                              2 => shadow2
-*/
-VexGuestArchState* get_arch (int set, ThreadState* tst) 
-{
-  switch (set) {
-  case 0: return &tst->arch.vex;
-  case 1: return &tst->arch.vex_shadow1;
-  case 2: return &tst->arch.vex_shadow2;
-  default: vg_assert(0);
-  }
-}
-
-static int non_shadow_num_regs = 0;
-static struct reg *non_shadow_reg_defs = NULL;
-void initialize_shadow_low(Bool shadow_mode)
-{
-  if (non_shadow_reg_defs == NULL) {
-    non_shadow_reg_defs = the_low_target.reg_defs;
-    non_shadow_num_regs = the_low_target.num_regs;
-  }
-
-  regcache_invalidate();
-  if (the_low_target.reg_defs != non_shadow_reg_defs) {
-     free (the_low_target.reg_defs);
-  }
-  if (shadow_mode) {
-    the_low_target.num_regs = 3 * non_shadow_num_regs;
-    the_low_target.reg_defs = build_shadow_arch (non_shadow_reg_defs, non_shadow_num_regs);
-  } else {
-    the_low_target.num_regs = non_shadow_num_regs;
-    the_low_target.reg_defs = non_shadow_reg_defs;
-  }
-  set_register_cache (the_low_target.reg_defs, the_low_target.num_regs);
-}
-
-void initialize_low(void)
-{
-   set_target_ops (&valgrind_target_ops);
-
-#if defined(VGA_x86)
-   x86_init_architecture(&the_low_target);
-#elif defined(VGA_amd64)
-   amd64_init_architecture(&the_low_target);
-#elif defined(VGA_arm)
-   arm_init_architecture(&the_low_target);
-#elif defined(VGA_ppc32)
-   ppc32_init_architecture(&the_low_target);
-#elif defined(VGA_ppc64)
-   ppc64_init_architecture(&the_low_target);
-#elif defined(VGA_s390x)
-   s390x_init_architecture(&the_low_target);
-#else
-   architecture missing in valgrind-low.c
-#endif
-
-}
diff --git a/coregrind/m_gdbserver/valgrind_low.h b/coregrind/m_gdbserver/valgrind_low.h
index 6817110..c8d53cb 100644
--- a/coregrind/m_gdbserver/valgrind_low.h
+++ b/coregrind/m_gdbserver/valgrind_low.h
@@ -2,7 +2,7 @@
    needed for interfacing the Valgrind gdbserver with the Valgrind
    guest.
 
-   Copyright (C) 2011
+   Copyright (C) 2011, 2012
    Free Software Foundation, Inc.
 
    This file has been inspired from a file that is part of GDB.
@@ -54,38 +54,26 @@
       or NULL not to answer.  */
    const char *arch_string;
    
-   /* Description of the set of registers.
+   /* Returns the target xml description of the set of registers.
       For some architectures (e.g. arm), it is mandatory
       to give a description of the registers, otherwise
       gdb does not understand the reply to the 'g' packet
-      (which is used to get the registers). */
-   const char *target_xml;
+      (which is used to get the registers).
+      If shadow_mode, returns a target xml description
+      including the two shadow registers sets.
+      This is mandatory to use the option --vgdb-shadow-registers=yes. 
+      Returns NULL if there is no target xml file*/
+   const char* (*target_xml) (Bool shadow_mode);
 
-   /* Same as target_xml, but describes also the two shadow
-      registers set.
-      This is mandatory to use the option --vgdb-shadow-registers=yes. */
-   const char *shadow_target_xml;
 };
 
-
-/* convert from CORE_ADDR to void* */
-extern void* C2v(CORE_ADDR addr);
-
-/* builds an image of bin according to byte order of the architecture 
-   Useful for register and int image */
-extern char* heximage (char *buf, char *bin, int count);
-
-/* returns a pointer to the architecture state corresponding to
-   the provided register set: 0 => normal guest registers,
-                              1 => shadow1
-                              2 => shadow2 */
-VexGuestArchState* get_arch (int set, ThreadState* tst);
-
 extern void x86_init_architecture (struct valgrind_target_ops *target);
 extern void amd64_init_architecture (struct valgrind_target_ops *target);
 extern void arm_init_architecture (struct valgrind_target_ops *target);
 extern void ppc32_init_architecture (struct valgrind_target_ops *target);
 extern void ppc64_init_architecture (struct valgrind_target_ops *target);
 extern void s390x_init_architecture (struct valgrind_target_ops *target);
+extern void mips32_init_architecture (struct valgrind_target_ops *target);
+extern void mips64_init_architecture (struct valgrind_target_ops *target);
 
 #endif
diff --git a/coregrind/m_hashtable.c b/coregrind/m_hashtable.c
index b0110b1..abf1df0 100644
--- a/coregrind/m_hashtable.c
+++ b/coregrind/m_hashtable.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -47,7 +47,7 @@
    UInt         iterChain;  // next chain to be traversed by the iterator
    VgHashNode** chains;     // expanding array of hash chains
    Bool         iterOK;     // table safe to iterate over?
-   HChar*       name;       // name of table (for debugging only)
+   const HChar* name;       // name of table (for debugging only)
 };
 
 #define N_HASH_PRIMES 20
@@ -64,7 +64,7 @@
 /*--- Functions                                                    ---*/
 /*--------------------------------------------------------------------*/
 
-VgHashTable VG_(HT_construct) ( HChar* name )
+VgHashTable VG_(HT_construct) ( const HChar* name )
 {
    /* Initialises to zero, ie. all entries NULL */
    SizeT       n_chains = primes[0];
diff --git a/coregrind/m_initimg/initimg-darwin.c b/coregrind/m_initimg/initimg-darwin.c
index d21347d..29d3fb7 100644
--- a/coregrind/m_initimg/initimg-darwin.c
+++ b/coregrind/m_initimg/initimg-darwin.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -62,7 +62,7 @@
 static void load_client ( /*OUT*/ExeInfo* info, 
                           /*OUT*/Addr*    client_ip)
 {
-   HChar* exe_name;
+   const HChar* exe_name;
    Int    ret;
    SysRes res;
 
@@ -116,11 +116,11 @@
 */
 static HChar** setup_client_env ( HChar** origenv, const HChar* toolname)
 {
-   HChar* preload_core    = "vgpreload_core";
-   HChar* ld_preload      = "DYLD_INSERT_LIBRARIES=";
-   HChar* dyld_cache      = "DYLD_SHARED_REGION=";
-   HChar* dyld_cache_value= "avoid";
-   HChar* v_launcher      = VALGRIND_LAUNCHER "=";
+   const HChar* preload_core    = "vgpreload_core";
+   const HChar* ld_preload      = "DYLD_INSERT_LIBRARIES=";
+   const HChar* dyld_cache      = "DYLD_SHARED_REGION=";
+   const HChar* dyld_cache_value= "avoid";
+   const HChar* v_launcher      = VALGRIND_LAUNCHER "=";
    Int    ld_preload_len  = VG_(strlen)( ld_preload );
    Int    dyld_cache_len  = VG_(strlen)( dyld_cache );
    Int    v_launcher_len  = VG_(strlen)( v_launcher );
@@ -259,10 +259,10 @@
 /*====================================================================*/
 
 /* Add a string onto the string table, and return its address */
-static char *copy_str(char **tab, const char *str)
+static HChar *copy_str(HChar **tab, const HChar *str)
 {
-   char *cp = *tab;
-   char *orig = cp;
+   HChar *cp = *tab;
+   HChar *orig = cp;
 
    while(*str)
       *cp++ = *str++;
@@ -316,14 +316,14 @@
 
 static 
 Addr setup_client_stack( void*  init_sp,
-                         char** orig_envp, 
+                         HChar** orig_envp, 
                          const ExeInfo* info,
                          Addr   clstack_end,
                          SizeT  clstack_max_size )
 {
-   char **cpp;
-   char *strtab;		/* string table */
-   char *stringbase;
+   HChar **cpp;
+   HChar *strtab;		/* string table */
+   HChar *stringbase;
    Addr *ptr;
    unsigned stringsize;		/* total size of strings in bytes */
    unsigned auxsize;		/* total size of auxv in bytes */
@@ -387,11 +387,11 @@
    /* OK, now we know how big the client stack is */
    stacksize =
       sizeof(Word) +                          /* argc */
-      (have_exename ? sizeof(char **) : 0) +  /* argc[0] == exename */
-      sizeof(char **)*argc +                  /* argv */
-      sizeof(char **) +	                      /* terminal NULL */
-      sizeof(char **)*envc +                  /* envp */
-      sizeof(char **) +	                      /* terminal NULL */
+      (have_exename ? sizeof(HChar **) : 0) + /* argc[0] == exename */
+      sizeof(HChar **)*argc +                 /* argv */
+      sizeof(HChar **) +                      /* terminal NULL */
+      sizeof(HChar **)*envc +                 /* envp */
+      sizeof(HChar **) +                      /* terminal NULL */
       auxsize +                               /* auxv */
       VG_ROUNDUP(stringsize, sizeof(Word));   /* strings (aligned) */
 
@@ -402,7 +402,7 @@
    client_SP = VG_ROUNDDN(client_SP, 32); /* make stack 32 byte aligned */
 
    /* base of the string table (aligned) */
-   stringbase = strtab = (char *)clstack_end 
+   stringbase = strtab = (HChar *)clstack_end 
                          - VG_ROUNDUP(stringsize, sizeof(int));
 
    /* The max stack size */
@@ -459,7 +459,7 @@
    *ptr++ = 0;
 
    /* --- envp --- */
-   VG_(client_envp) = (Char **)ptr;
+   VG_(client_envp) = (HChar **)ptr;
    for (cpp = orig_envp; cpp && *cpp; ptr++, cpp++)
       *ptr = (Addr)copy_str(&strtab, *cpp);
    *ptr++ = 0;
diff --git a/coregrind/m_initimg/initimg-linux.c b/coregrind/m_initimg/initimg-linux.c
index b752f01..653ce1a 100644
--- a/coregrind/m_initimg/initimg-linux.c
+++ b/coregrind/m_initimg/initimg-linux.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -71,7 +71,7 @@
                           /*OUT*/Addr*    client_ip,
 			  /*OUT*/Addr*    client_toc)
 {
-   HChar* exe_name;
+   const HChar* exe_name;
    Int    ret;
    SysRes res;
 
@@ -126,9 +126,9 @@
 */
 static HChar** setup_client_env ( HChar** origenv, const HChar* toolname)
 {
-   HChar* preload_core    = "vgpreload_core";
-   HChar* ld_preload      = "LD_PRELOAD=";
-   HChar* v_launcher      = VALGRIND_LAUNCHER "=";
+   const HChar* preload_core    = "vgpreload_core";
+   const HChar* ld_preload      = "LD_PRELOAD=";
+   const HChar* v_launcher      = VALGRIND_LAUNCHER "=";
    Int    ld_preload_len  = VG_(strlen)( ld_preload );
    Int    v_launcher_len  = VG_(strlen)( v_launcher );
    Bool   ld_preload_done = False;
@@ -288,10 +288,10 @@
 #endif	/* AT_SECURE */
 
 /* Add a string onto the string table, and return its address */
-static char *copy_str(char **tab, const char *str)
+static HChar *copy_str(HChar **tab, const HChar *str)
 {
-   char *cp = *tab;
-   char *orig = cp;
+   HChar *cp = *tab;
+   HChar *orig = cp;
 
    while(*str)
       *cp++ = *str++;
@@ -382,16 +382,16 @@
 
 static 
 Addr setup_client_stack( void*  init_sp,
-                         char** orig_envp, 
+                         HChar** orig_envp, 
                          const ExeInfo* info,
                          UInt** client_auxv,
                          Addr   clstack_end,
                          SizeT  clstack_max_size )
 {
    SysRes res;
-   char **cpp;
-   char *strtab;		/* string table */
-   char *stringbase;
+   HChar **cpp;
+   HChar *strtab;		/* string table */
+   HChar *stringbase;
    Addr *ptr;
    struct auxv *auxv;
    const struct auxv *orig_auxv;
@@ -468,11 +468,11 @@
    /* OK, now we know how big the client stack is */
    stacksize =
       sizeof(Word) +                          /* argc */
-      (have_exename ? sizeof(char **) : 0) +  /* argc[0] == exename */
-      sizeof(char **)*argc +                  /* argv */
-      sizeof(char **) +	                      /* terminal NULL */
-      sizeof(char **)*envc +                  /* envp */
-      sizeof(char **) +	                      /* terminal NULL */
+      (have_exename ? sizeof(HChar **) : 0) + /* argc[0] == exename */
+      sizeof(HChar **)*argc +                 /* argv */
+      sizeof(HChar **) +                      /* terminal NULL */
+      sizeof(HChar **)*envc +                 /* envp */
+      sizeof(HChar **) +                      /* terminal NULL */
       auxsize +                               /* auxv */
       VG_ROUNDUP(stringsize, sizeof(Word));   /* strings (aligned) */
 
@@ -483,7 +483,7 @@
    client_SP = VG_ROUNDDN(client_SP, 16); /* make stack 16 byte aligned */
 
    /* base of the string table (aligned) */
-   stringbase = strtab = (char *)clstack_end 
+   stringbase = strtab = (HChar *)clstack_end 
                          - VG_ROUNDUP(stringsize, sizeof(int));
 
    clstack_start = VG_PGROUNDDN(client_SP);
@@ -557,7 +557,7 @@
         res = VG_(am_mmap_anon_fixed_client)(
                  anon_start -inner_HACK,
                  anon_size +inner_HACK,
-	         VKI_PROT_READ|VKI_PROT_WRITE|VKI_PROT_EXEC
+	         info->stack_prot
 	      );
      }
      if ((!ok) || sr_isError(res)) {
@@ -603,7 +603,7 @@
    *ptr++ = 0;
 
    /* --- envp --- */
-   VG_(client_envp) = (Char **)ptr;
+   VG_(client_envp) = (HChar **)ptr;
    for (cpp = orig_envp; cpp && *cpp; ptr++, cpp++)
       *ptr = (Addr)copy_str(&strtab, *cpp);
    *ptr++ = 0;
@@ -643,7 +643,7 @@
          case AT_GID:
          case AT_EGID:
          case AT_CLKTCK:
-#        if !defined(VGPV_arm_linux_android)
+#        if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
          case AT_FPUCW: /* missing on android */
 #        endif
             /* All these are pointerless, so we don't need to do
@@ -668,8 +668,14 @@
             /* When gdbserver sends the auxv to gdb, the AT_BASE has
                to be ignored, as otherwise gdb adds this offset
                to loaded shared libs, causing wrong address
-               relocation e.g. when inserting breaks. */
+               relocation e.g. when inserting breaks.
+               However, ignoring AT_BASE makes V crash on Android 4.1.
+               So, keep the AT_BASE on android for now.
+               ??? Need to dig in depth about AT_BASE/GDB interaction */
+#           if !defined(VGPV_arm_linux_android) \
+               && !defined(VGPV_x86_linux_android)
             auxv->a_type = AT_IGNORE;
+#           endif
             auxv->u.a_val = info->interp_base;
             break;
 
@@ -690,6 +696,15 @@
                                "ARM has-neon from-auxv: %s\n",
                                has_neon ? "YES" : "NO");
               VG_(machine_arm_set_has_NEON)( has_neon );
+              #define VKI_HWCAP_TLS 32768
+              Bool has_tls = (auxv->u.a_val & VKI_HWCAP_TLS) > 0;
+              VG_(debugLog)(2, "initimg",
+                               "ARM has-tls from-auxv: %s\n",
+                               has_tls ? "YES" : "NO");
+              /* If real hw sets properly HWCAP_TLS, we might
+                 use this info to decide to really execute set_tls syscall
+                 in syswrap-arm-linux.c rather than to base this on
+                 conditional compilation. */
             }
 #           endif
             break;
@@ -1065,9 +1080,9 @@
    VG_(memset)(&arch->vex_shadow1, 0xFF, sizeof(VexGuestS390XState));
    VG_(memset)(&arch->vex_shadow2, 0x00, sizeof(VexGuestS390XState));
    /* ... except SP, FPC, and IA */
-   VG_(memset)((UChar *)&arch->vex_shadow1 + VG_O_STACK_PTR, 0x00, 8);
-   VG_(memset)((UChar *)&arch->vex_shadow1 + VG_O_FPC_REG,   0x00, 4);
-   VG_(memset)((UChar *)&arch->vex_shadow1 + VG_O_INSTR_PTR, 0x00, 8);
+   VG_(memset)(&arch->vex_shadow1 + VG_O_STACK_PTR, 0x00, 8);
+   VG_(memset)(&arch->vex_shadow1 + VG_O_FPC_REG,   0x00, 4);
+   VG_(memset)(&arch->vex_shadow1 + VG_O_INSTR_PTR, 0x00, 8);
 
    /* Put essential stuff into the new state. */
    arch->vex.guest_SP = iifii.initial_client_SP;
@@ -1081,6 +1096,34 @@
    VG_TRACK(post_reg_write, Vg_CoreStartup, /*tid*/1, VG_O_INSTR_PTR, 8);
    return;
 
+#  elif defined(VGP_mips32_linux)
+   vg_assert(0 == sizeof(VexGuestMIPS32State) % 16);
+   /* Zero out the initial state, and set up the simulated FPU in a
+      sane way. */
+   LibVEX_GuestMIPS32_initialise(&arch->vex);
+
+   /* Zero out the shadow areas. */
+   VG_(memset)(&arch->vex_shadow1, 0, sizeof(VexGuestMIPS32State));
+   VG_(memset)(&arch->vex_shadow2, 0, sizeof(VexGuestMIPS32State));
+
+   arch->vex.guest_r29 = iifii.initial_client_SP;
+   arch->vex.guest_PC = iifii.initial_client_IP;
+   arch->vex.guest_r31 = iifii.initial_client_SP;
+
+#   elif defined(VGP_mips64_linux)
+   vg_assert(0 == sizeof(VexGuestMIPS64State) % 16);
+   /* Zero out the initial state, and set up the simulated FPU in a
+      sane way. */
+   LibVEX_GuestMIPS64_initialise(&arch->vex);
+
+   /* Zero out the shadow areas. */
+   VG_(memset)(&arch->vex_shadow1, 0, sizeof(VexGuestMIPS64State));
+   VG_(memset)(&arch->vex_shadow2, 0, sizeof(VexGuestMIPS64State));
+
+   arch->vex.guest_r29 = iifii.initial_client_SP;
+   arch->vex.guest_PC = iifii.initial_client_IP;
+   arch->vex.guest_r31 = iifii.initial_client_SP;
+
 #  else
 #    error Unknown platform
 #  endif
diff --git a/coregrind/m_initimg/initimg-pathscan.c b/coregrind/m_initimg/initimg-pathscan.c
index 380e580..91d3f1d 100644
--- a/coregrind/m_initimg/initimg-pathscan.c
+++ b/coregrind/m_initimg/initimg-pathscan.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -61,9 +61,9 @@
    This routine will return True if (*func) returns True and False if
    it reaches the end of the list without that happening.
 */
-static Bool scan_colsep(char *colsep, Bool (*func)(const char *))
+static Bool scan_colsep(HChar *colsep, Bool (*func)(const HChar *))
 {
-   char *cp, *entry;
+   HChar *cp, *entry;
    int end;
 
    if (colsep == NULL ||
@@ -76,7 +76,7 @@
       end = (*cp == '\0');
 
       if (*cp == ':' || *cp == '\0') {
-	 char save = *cp;
+	 HChar save = *cp;
 
 	 *cp = '\0';
 	 if ((*func)(entry)) {
@@ -96,7 +96,7 @@
 static HChar executable_name_in [VKI_PATH_MAX];
 static HChar executable_name_out[VKI_PATH_MAX];
 
-static Bool match_executable(const char *entry) 
+static Bool match_executable(const HChar *entry) 
 {
    HChar buf[VG_(strlen)(entry) + VG_(strlen)(executable_name_in) + 3];
 
@@ -129,7 +129,7 @@
 }
 
 // Returns NULL if it wasn't found.
-HChar* ML_(find_executable) ( const HChar* exec )
+const HChar* ML_(find_executable) ( const HChar* exec )
 {
    vg_assert(NULL != exec);
    if (VG_(strchr)(exec, '/')) {
diff --git a/coregrind/m_initimg/priv_initimg_pathscan.h b/coregrind/m_initimg/priv_initimg_pathscan.h
index f3169b1..1afb9a1 100644
--- a/coregrind/m_initimg/priv_initimg_pathscan.h
+++ b/coregrind/m_initimg/priv_initimg_pathscan.h
@@ -32,6 +32,6 @@
 #ifndef __PRIV_INITIMG_PATHSCAN_H
 #define __PRIV_INITIMG_PATHSCAN_
 
-extern HChar* ML_(find_executable) ( const HChar* exec );
+extern const HChar* ML_(find_executable) ( const HChar* exec );
 
 #endif
diff --git a/coregrind/m_libcassert.c b/coregrind/m_libcassert.c
index 1f5b95c..c8efdde 100644
--- a/coregrind/m_libcassert.c
+++ b/coregrind/m_libcassert.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -152,6 +152,56 @@
         (srP)->misc.S390X.r_fp = fp;                      \
         (srP)->misc.S390X.r_lr = lr;                      \
       }
+#elif defined(VGP_mips32_linux)
+#  define GET_STARTREGS(srP)                              \
+      { UInt pc, sp, fp, ra, gp;                          \
+      asm("move $8, $31;"             /* t0 = ra */       \
+          "bal m_libcassert_get_ip;"  /* ra = pc */       \
+          "m_libcassert_get_ip:\n"                        \
+          "move %0, $31;"                                 \
+          "move $31, $8;"             /* restore lr */    \
+          "move %1, $29;"                                 \
+          "move %2, $30;"                                 \
+          "move %3, $31;"                                 \
+          "move %4, $28;"                                 \
+          : "=r" (pc),                                    \
+            "=r" (sp),                                    \
+            "=r" (fp),                                    \
+            "=r" (ra),                                    \
+            "=r" (gp)                                     \
+          : /* reads none */                              \
+          : "$8" /* trashed */ );                         \
+        (srP)->r_pc = (ULong)pc - 8;                      \
+        (srP)->r_sp = (ULong)sp;                          \
+        (srP)->misc.MIPS32.r30 = (ULong)fp;               \
+        (srP)->misc.MIPS32.r31 = (ULong)ra;               \
+        (srP)->misc.MIPS32.r28 = (ULong)gp;               \
+      }
+#elif defined(VGP_mips64_linux)
+#  define GET_STARTREGS(srP)                              \
+      { ULong pc, sp, fp, ra, gp;                          \
+      asm("move $8, $31;"             /* t0 = ra */       \
+          "bal m_libcassert_get_ip;"  /* ra = pc */       \
+          "m_libcassert_get_ip:\n"                        \
+          "move %0, $31;"                                 \
+          "move $31, $8;"             /* restore lr */    \
+          "move %1, $29;"                                 \
+          "move %2, $30;"                                 \
+          "move %3, $31;"                                 \
+          "move %4, $28;"                                 \
+          : "=r" (pc),                                    \
+            "=r" (sp),                                    \
+            "=r" (fp),                                    \
+            "=r" (ra),                                    \
+            "=r" (gp)                                     \
+          : /* reads none */                              \
+          : "$8" /* trashed */ );                         \
+        (srP)->r_pc = (ULong)pc - 8;                      \
+        (srP)->r_sp = (ULong)sp;                          \
+        (srP)->misc.MIPS64.r30 = (ULong)fp;               \
+        (srP)->misc.MIPS64.r31 = (ULong)ra;               \
+        (srP)->misc.MIPS64.r28 = (ULong)gp;               \
+      }
 #else
 #  error Unknown platform
 #endif
@@ -191,7 +241,7 @@
 }
 
 __attribute__ ((noreturn))
-static void report_and_quit ( const Char* report,
+static void report_and_quit ( const HChar* report,
                               UnwindStartRegs* startRegsIN )
 {
    Addr stacktop;
@@ -242,13 +292,14 @@
    VG_(exit)(1);
 }
 
-void VG_(assert_fail) ( Bool isCore, const Char* expr, const Char* file, 
-                        Int line, const Char* fn, const HChar* format, ... )
+void VG_(assert_fail) ( Bool isCore, const HChar* expr, const HChar* file, 
+                        Int line, const HChar* fn, const HChar* format, ... )
 {
    va_list vargs;
-   Char buf[256];
-   Char* component;
-   Char* bugs_to;
+   HChar buf[512];
+   const HChar* component;
+   const HChar* bugs_to;
+   UInt written;
 
    static Bool entered = False;
    if (entered) 
@@ -256,9 +307,14 @@
    entered = True;
 
    va_start(vargs, format);
-   VG_(vsprintf) ( buf, format, vargs );
+   written = VG_(vsnprintf) ( buf, sizeof(buf), format, vargs );
    va_end(vargs);
 
+   if (written >= sizeof(buf)) {
+      VG_(printf)("\nvalgrind: %s: buf is too small, sizeof(buf) = %u, "
+                  "written = %d\n", __func__, (unsigned)sizeof(buf), written);
+   }
+
    if (isCore) {
       component = "valgrind";
       bugs_to   = VG_BUGS_TO;
@@ -285,7 +341,7 @@
 }
 
 __attribute__ ((noreturn))
-static void panic ( Char* name, Char* report, Char* str,
+static void panic ( const HChar* name, const HChar* report, const HChar* str,
                     UnwindStartRegs* startRegs )
 {
    if (VG_(clo_xml))
@@ -294,23 +350,23 @@
    report_and_quit(report, startRegs);
 }
 
-void VG_(core_panic_at) ( Char* str, UnwindStartRegs* startRegs )
+void VG_(core_panic_at) ( const HChar* str, UnwindStartRegs* startRegs )
 {
    panic("valgrind", VG_BUGS_TO, str, startRegs);
 }
 
-void VG_(core_panic) ( Char* str )
+void VG_(core_panic) ( const HChar* str )
 {
    VG_(core_panic_at)(str, NULL);
 }
 
-void VG_(tool_panic) ( Char* str )
+void VG_(tool_panic) ( const HChar* str )
 {
    panic(VG_(details).name, VG_(details).bug_reports_to, str, NULL);
 }
 
 /* Print some helpful-ish text about unimplemented things, and give up. */
-void VG_(unimplemented) ( Char* msg )
+void VG_(unimplemented) ( const HChar* msg )
 {
    if (VG_(clo_xml))
       VG_(printf_xml)("</valgrindoutput>\n");
@@ -334,4 +390,3 @@
 /*--------------------------------------------------------------------*/
 /*--- end                                                          ---*/
 /*--------------------------------------------------------------------*/
-
diff --git a/coregrind/m_libcbase.c b/coregrind/m_libcbase.c
index c7a1892..5e3fc80 100644
--- a/coregrind/m_libcbase.c
+++ b/coregrind/m_libcbase.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -32,16 +32,16 @@
 #include "pub_core_libcbase.h"
 
 /* ---------------------------------------------------------------------
-   Char functions.
+   HChar functions.
    ------------------------------------------------------------------ */
 
-Bool VG_(isspace) ( Char c )
+Bool VG_(isspace) ( HChar c )
 {
    return (c == ' '  || c == '\n' || c == '\t' || 
            c == '\f' || c == '\v' || c == '\r');
 }
 
-Bool VG_(isdigit) ( Char c )
+Bool VG_(isdigit) ( HChar c )
 {
    return (c >= '0' && c <= '9');
 }
@@ -50,13 +50,13 @@
    Converting strings to numbers
    ------------------------------------------------------------------ */
 
-static Bool is_dec_digit(Char c, Long* digit)
+static Bool is_dec_digit(HChar c, Long* digit)
 {
    if (c >= '0' && c <= '9') { *digit = (Long)(c - '0'); return True; }
    return False;
 }
 
-static Bool is_hex_digit(Char c, Long* digit)
+static Bool is_hex_digit(HChar c, Long* digit)
 {
    if (c >= '0' && c <= '9') { *digit = (Long)(c - '0');        return True; }
    if (c >= 'A' && c <= 'F') { *digit = (Long)((c - 'A') + 10); return True; }
@@ -64,11 +64,11 @@
    return False;
 }
 
-Long VG_(strtoll10) ( Char* str, Char** endptr )
+Long VG_(strtoll10) ( const HChar* str, HChar** endptr )
 {
    Bool neg = False, converted = False;
    Long n = 0, digit = 0;
-   Char* str0 = str;
+   const HChar* str0 = str;
 
    // Skip leading whitespace.
    while (VG_(isspace)(*str)) str++;
@@ -85,16 +85,16 @@
 
    if (!converted) str = str0;   // If nothing converted, endptr points to
    if (neg) n = -n;              //   the start of the string.
-   if (endptr) *endptr = str;    // Record first failing character.
+   if (endptr) *endptr = (HChar *)str;    // Record first failing character.
    return n;
 }
 
-ULong VG_(strtoull10) ( Char* str, Char** endptr )
+ULong VG_(strtoull10) ( const HChar* str, HChar** endptr )
 {
    Bool converted = False;
    ULong n = 0;
    Long digit = 0;
-   Char* str0 = str;
+   const HChar* str0 = str;
 
    // Skip leading whitespace.
    while (VG_(isspace)(*str)) str++;
@@ -110,15 +110,15 @@
 
    if (!converted) str = str0;   // If nothing converted, endptr points to
    //   the start of the string.
-   if (endptr) *endptr = str;    // Record first failing character.
+   if (endptr) *endptr = (HChar *)str;    // Record first failing character.
    return n;
 }
 
-Long VG_(strtoll16) ( Char* str, Char** endptr )
+Long VG_(strtoll16) ( const HChar* str, HChar** endptr )
 {
    Bool neg = False, converted = False;
    Long n = 0, digit = 0;
-   Char* str0 = str;
+   const HChar* str0 = str;
 
    // Skip leading whitespace.
    while (VG_(isspace)(*str)) str++;
@@ -143,16 +143,16 @@
 
    if (!converted) str = str0;   // If nothing converted, endptr points to
    if (neg) n = -n;              //   the start of the string.
-   if (endptr) *endptr = str;    // Record first failing character.
+   if (endptr) *endptr = (HChar *)str;    // Record first failing character.
    return n;
 }
 
-ULong VG_(strtoull16) ( Char* str, Char** endptr )
+ULong VG_(strtoull16) ( const HChar* str, HChar** endptr )
 {
    Bool converted = False;
    ULong n = 0;
    Long digit = 0;
-   Char* str0 = str;
+   const HChar* str0 = str;
 
    // Skip leading whitespace.
    while (VG_(isspace)(*str)) str++;
@@ -176,11 +176,11 @@
 
    if (!converted) str = str0;   // If nothing converted, endptr points to
    //   the start of the string.
-   if (endptr) *endptr = str;    // Record first failing character.
+   if (endptr) *endptr = (HChar *)str;    // Record first failing character.
    return n;
 }
 
-double VG_(strtod) ( Char* str, Char** endptr )
+double VG_(strtod) ( const HChar* str, HChar** endptr )
 {
    Bool neg = False;
    Long digit;
@@ -209,11 +209,11 @@
 
    n += frac;
    if (neg) n = -n;
-   if (endptr) *endptr = str;    // Record first failing character.
+   if (endptr) *endptr = (HChar *)str;    // Record first failing character.
    return n;
 }
 
-Char VG_(tolower) ( Char c )
+HChar VG_(tolower) ( HChar c )
 {
    if ( c >= 'A'  &&  c <= 'Z' ) {
       return c - 'A' + 'a';
@@ -226,47 +226,47 @@
    String functions
    ------------------------------------------------------------------ */
 
-SizeT VG_(strlen) ( const Char* str )
+SizeT VG_(strlen) ( const HChar* str )
 {
    SizeT i = 0;
    while (str[i] != 0) i++;
    return i;
 }
 
-Char* VG_(strcat) ( Char* dest, const Char* src )
+HChar* VG_(strcat) ( HChar* dest, const HChar* src )
 {
-   Char* dest_orig = dest;
+   HChar* dest_orig = dest;
    while (*dest) dest++;
    while (*src) *dest++ = *src++;
    *dest = 0;
    return dest_orig;
 }
 
-Char* VG_(strncat) ( Char* dest, const Char* src, SizeT n )
+HChar* VG_(strncat) ( HChar* dest, const HChar* src, SizeT n )
 {
-   Char* dest_orig = dest;
+   HChar* dest_orig = dest;
    while (*dest) dest++;
    while (*src && n > 0) { *dest++ = *src++; n--; }
    *dest = 0;
    return dest_orig;
 }
 
-Char* VG_(strpbrk) ( const Char* s, const Char* accpt )
+HChar* VG_(strpbrk) ( const HChar* s, const HChar* accpt )
 {
-   const Char* a;
+   const HChar* a;
    while (*s) {
       a = accpt;
       while (*a)
          if (*a++ == *s)
-            return (Char *) s;
+           return (HChar *)s;
       s++;
    }
    return NULL;
 }
 
-Char* VG_(strcpy) ( Char* dest, const Char* src )
+HChar* VG_(strcpy) ( HChar* dest, const HChar* src )
 {
-   Char* dest_orig = dest;
+   HChar* dest_orig = dest;
    while (*src) *dest++ = *src++;
    *dest = 0;
    return dest_orig;
@@ -274,7 +274,7 @@
 
 /* Copy bytes, not overrunning the end of dest and always ensuring
    zero termination. */
-void VG_(strncpy_safely) ( Char* dest, const Char* src, SizeT ndest )
+void VG_(strncpy_safely) ( HChar* dest, const HChar* src, SizeT ndest )
 {
    SizeT i = 0;
    while (True) {
@@ -286,7 +286,7 @@
    }
 }
 
-Char* VG_(strncpy) ( Char* dest, const Char* src, SizeT ndest )
+HChar* VG_(strncpy) ( HChar* dest, const HChar* src, SizeT ndest )
 {
    SizeT i = 0;
    while (True) {
@@ -300,53 +300,50 @@
    }
 }
 
-Int VG_(strcmp) ( const Char* s1, const Char* s2 )
+Int VG_(strcmp) ( const HChar* s1, const HChar* s2 )
 {
    while (True) {
-      if (*s1 == 0 && *s2 == 0) return 0;
-      if (*s1 == 0) return -1;
-      if (*s2 == 0) return 1;
+      if (*(const UChar*)s1 < *(const UChar*)s2) return -1;
+      if (*(const UChar*)s1 > *(const UChar*)s2) return 1;
 
-      if (*(UChar*)s1 < *(UChar*)s2) return -1;
-      if (*(UChar*)s1 > *(UChar*)s2) return 1;
+      /* *s1 == *s2 */
+      if (*s1 == 0) return 0;
 
       s1++; s2++;
    }
 }
 
-Int VG_(strcasecmp) ( const Char* s1, const Char* s2 )
+Int VG_(strcasecmp) ( const HChar* s1, const HChar* s2 )
 {
    while (True) {
       UChar c1 = (UChar)VG_(tolower)(*s1);
       UChar c2 = (UChar)VG_(tolower)(*s2);
-      if (c1 == 0 && c2 == 0) return 0;
-      if (c1 == 0) return -1;
-      if (c2 == 0) return 1;
-
       if (c1 < c2) return -1;
       if (c1 > c2) return 1;
+      
+      /* c1 == c2 */
+      if (c1 == 0) return 0;
 
       s1++; s2++;
    }
 }
 
-Int VG_(strncmp) ( const Char* s1, const Char* s2, SizeT nmax )
+Int VG_(strncmp) ( const HChar* s1, const HChar* s2, SizeT nmax )
 {
    SizeT n = 0;
    while (True) {
       if (n >= nmax) return 0;
-      if (*s1 == 0 && *s2 == 0) return 0;
-      if (*s1 == 0) return -1;
-      if (*s2 == 0) return 1;
-
-      if (*(UChar*)s1 < *(UChar*)s2) return -1;
-      if (*(UChar*)s1 > *(UChar*)s2) return 1;
+      if (*(const UChar*)s1 < *(const UChar*)s2) return -1;
+      if (*(const UChar*)s1 > *(const UChar*)s2) return 1;
+      
+      /* *s1 == *s2 */
+      if (*s1 == 0) return 0;
 
       s1++; s2++; n++;
    }
 }
 
-Int VG_(strncasecmp) ( const Char* s1, const Char* s2, SizeT nmax )
+Int VG_(strncasecmp) ( const HChar* s1, const HChar* s2, SizeT nmax )
 {
    Int n = 0;
    while (True) {
@@ -355,18 +352,17 @@
       if (n >= nmax) return 0;
       c1 = (UChar)VG_(tolower)(*s1);
       c2 = (UChar)VG_(tolower)(*s2);
-      if (c1 == 0 && c2 == 0) return 0;
-      if (c1 == 0) return -1;
-      if (c2 == 0) return 1;
-
       if (c1 < c2) return -1;
       if (c1 > c2) return 1;
 
+      /* c1 == c2 */
+      if (c1 == 0) return 0;
+
       s1++; s2++; n++;
    }
 }
 
-Char* VG_(strstr) ( const Char* haystack, Char* needle )
+HChar* VG_(strstr) ( const HChar* haystack, const HChar* needle )
 {
    SizeT n; 
    if (haystack == NULL)
@@ -376,12 +372,12 @@
       if (haystack[0] == 0) 
          return NULL;
       if (VG_(strncmp)(haystack, needle, n) == 0) 
-         return (Char*)haystack;
+         return (HChar*)haystack;
       haystack++;
    }
 }
 
-Char* VG_(strcasestr) ( const Char* haystack, Char* needle )
+HChar* VG_(strcasestr) ( const HChar* haystack, const HChar* needle )
 {
    Int n; 
    if (haystack == NULL)
@@ -391,41 +387,41 @@
       if (haystack[0] == 0) 
          return NULL;
       if (VG_(strncasecmp)(haystack, needle, n) == 0) 
-         return (Char*)haystack;
+         return (HChar*)haystack;
       haystack++;
    }
 }
 
-Char* VG_(strchr) ( const Char* s, Char c )
+HChar* VG_(strchr) ( const HChar* s, HChar c )
 {
    while (True) {
-      if (*s == c) return (Char*)s;
+     if (*s == c) return (HChar *)s;
       if (*s == 0) return NULL;
       s++;
    }
 }
 
-Char* VG_(strrchr) ( const Char* s, Char c )
+HChar* VG_(strrchr) ( const HChar* s, HChar c )
 {
    Int n = VG_(strlen)(s);
    while (--n > 0) {
-      if (s[n] == c) return (Char*)s + n;
+     if (s[n] == c) return (HChar *)s + n;
    }
    return NULL;
 }
 
 /* (code copied from glib then updated to valgrind types) */
-static Char *olds;
-Char *
-VG_(strtok) (Char *s, const Char *delim)
+static HChar *olds;
+HChar *
+VG_(strtok) (HChar *s, const HChar *delim)
 {
    return VG_(strtok_r) (s, delim, &olds);
 }
 
-Char *
-VG_(strtok_r) (Char* s, const Char* delim, Char** saveptr)
+HChar *
+VG_(strtok_r) (HChar* s, const HChar* delim, HChar** saveptr)
 {
-   Char *token;
+   HChar *token;
 
    if (s == NULL)
       s = *saveptr;
@@ -453,14 +449,14 @@
    return token;
 }
 
-static Bool isHex ( UChar c )
+static Bool isHex ( HChar c )
 {
   return ((c >= '0' && c <= '9') ||
 	  (c >= 'a' && c <= 'f') ||
 	  (c >= 'A' && c <= 'F'));
 }
 
-static UInt fromHex ( UChar c )
+static UInt fromHex ( HChar c )
 {
    if (c >= '0' && c <= '9')
       return (UInt)c - (UInt)'0';
@@ -473,7 +469,7 @@
    return 0;
 }
 
-Bool VG_(parse_Addr) ( UChar** ppc, Addr* result )
+Bool VG_(parse_Addr) ( const HChar** ppc, Addr* result )
 {
    Int used, limit = 2 * sizeof(Addr);
    if (**ppc != '0')
@@ -496,9 +492,9 @@
    return True;
 }
 
-SizeT VG_(strspn) ( const Char* s, const Char* accpt )
+SizeT VG_(strspn) ( const HChar* s, const HChar* accpt )
 {
-   const Char *p, *a;
+   const HChar *p, *a;
    SizeT count = 0;
    for (p = s; *p != '\0'; ++p) {
       for (a = accpt; *a != '\0'; ++a)
@@ -512,7 +508,7 @@
    return count;
 }
 
-SizeT VG_(strcspn) ( const Char* s, const char* reject )
+SizeT VG_(strcspn) ( const HChar* s, const HChar* reject )
 {
    SizeT count = 0;
    while (*s != '\0') {
@@ -560,8 +556,24 @@
       d = (UChar*)dI;
    }
 
-   while (sz--)
-      *d++ = *s++;
+   /* If we're unlucky, the alignment constraints for the fast case
+      above won't apply, and we'll have to to it all here.  Hence the
+      unrolling. */
+   while (sz >= 4) {
+      d[0] = s[0];
+      d[1] = s[1];
+      d[2] = s[2];
+      d[3] = s[3];
+      d += 4;
+      s += 4;
+      sz -= 4;
+   }
+   while (sz >= 1) {
+      d[0] = s[0];
+      d += 1;
+      s += 1;
+      sz -= 1;
+   }
 
    return dest;
 }
@@ -573,12 +585,12 @@
       return dest;
    if (dest < src) {
       for (i = 0; i < sz; i++) {
-         ((UChar*)dest)[i] = ((UChar*)src)[i];
+         ((UChar*)dest)[i] = ((const UChar*)src)[i];
       }
    }
    else if (dest > src) {
       for (i = 0; i < sz; i++) {
-         ((UChar*)dest)[sz-i-1] = ((UChar*)src)[sz-i-1];
+         ((UChar*)dest)[sz-i-1] = ((const UChar*)src)[sz-i-1];
       }
    }
    return dest;
@@ -587,7 +599,7 @@
 void* VG_(memset) ( void *destV, Int c, SizeT sz )
 {
    Int   c4;
-   Char* d = (Char*)destV;
+   HChar* d = (HChar*)destV;
    while ((!VG_IS_4_ALIGNED(d)) && sz >= 1) {
       d[0] = c;
       d++;
@@ -676,7 +688,7 @@
       pv = (Char*)&v, v = *(Word*)pm
 
 static Char* bm_med3 ( Char* a, Char* b, Char* c, 
-                       Int (*cmp)(void*,void*) ) {
+                       Int (*cmp)(const void*, const void*) ) {
    return cmp(a, b) < 0
           ? (cmp(b, c) < 0 ? b : cmp(a, c) < 0 ? c : a)
           : (cmp(b, c) > 0 ? b : cmp(a, c) > 0 ? c : a);
@@ -697,7 +709,7 @@
 }
 
 static void bm_qsort ( Char* a, SizeT n, SizeT es,
-                       Int (*cmp)(void*,void*) )
+                       Int (*cmp)(const void*, const void*) )
 {
    Char  *pa, *pb, *pc, *pd, *pl, *pm, *pn, *pv;
    Int   r, swaptype;
@@ -806,7 +818,7 @@
 
 // Generic quick sort.
 void VG_(ssort)( void* base, SizeT nmemb, SizeT size,
-                 Int (*compar)(void*, void*) )
+                 Int (*compar)(const void*, const void*) )
 {
    bm_qsort(base,nmemb,size,compar);
 }
@@ -830,6 +842,168 @@
    return *pSeed;
 }
 
+
+/* The following Adler-32 checksum code is taken from zlib-1.2.3, which
+   has the following copyright notice. */
+/*
+Copyright notice:
+
+ (C) 1995-2004 Jean-loup Gailly and Mark Adler
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  Jean-loup Gailly        Mark Adler
+  jloup@gzip.org          madler@alumni.caltech.edu
+
+If you use the zlib library in a product, we would appreciate *not*
+receiving lengthy legal documents to sign. The sources are provided
+for free but without warranty of any kind.  The library has been
+entirely written by Jean-loup Gailly and Mark Adler; it does not
+include third-party code.
+
+If you redistribute modified sources, we would appreciate that you include
+in the file ChangeLog history information documenting your changes. Please
+read the FAQ for more information on the distribution of modified source
+versions.
+*/
+
+/* Update a running Adler-32 checksum with the bytes buf[0..len-1] and
+   return the updated checksum. If buf is NULL, this function returns
+   the required initial value for the checksum. An Adler-32 checksum is
+   almost as reliable as a CRC32 but can be computed much faster. */
+UInt VG_(adler32)( UInt adler, const UChar* buf, UInt len )
+{
+#  define BASE 65521UL    /* largest prime smaller than 65536 */
+#  define NMAX 5552
+   /* NMAX is the largest n such that 
+      255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
+
+#  define DO1(buf,i)  {adler += (buf)[i]; sum2 += adler;}
+#  define DO2(buf,i)  DO1(buf,i); DO1(buf,i+1);
+#  define DO4(buf,i)  DO2(buf,i); DO2(buf,i+2);
+#  define DO8(buf,i)  DO4(buf,i); DO4(buf,i+4);
+#  define DO16(buf)   DO8(buf,0); DO8(buf,8);
+
+   /* The zlib sources recommend this definition of MOD if the
+      processor cannot do integer division in hardware. */
+#  define MOD(a) \
+      do { \
+          if (a >= (BASE << 16)) a -= (BASE << 16); \
+          if (a >= (BASE << 15)) a -= (BASE << 15); \
+          if (a >= (BASE << 14)) a -= (BASE << 14); \
+          if (a >= (BASE << 13)) a -= (BASE << 13); \
+          if (a >= (BASE << 12)) a -= (BASE << 12); \
+          if (a >= (BASE << 11)) a -= (BASE << 11); \
+          if (a >= (BASE << 10)) a -= (BASE << 10); \
+          if (a >= (BASE << 9)) a -= (BASE << 9); \
+          if (a >= (BASE << 8)) a -= (BASE << 8); \
+          if (a >= (BASE << 7)) a -= (BASE << 7); \
+          if (a >= (BASE << 6)) a -= (BASE << 6); \
+          if (a >= (BASE << 5)) a -= (BASE << 5); \
+          if (a >= (BASE << 4)) a -= (BASE << 4); \
+          if (a >= (BASE << 3)) a -= (BASE << 3); \
+          if (a >= (BASE << 2)) a -= (BASE << 2); \
+          if (a >= (BASE << 1)) a -= (BASE << 1); \
+          if (a >= BASE) a -= BASE; \
+      } while (0)
+#  define MOD4(a) \
+      do { \
+          if (a >= (BASE << 4)) a -= (BASE << 4); \
+          if (a >= (BASE << 3)) a -= (BASE << 3); \
+          if (a >= (BASE << 2)) a -= (BASE << 2); \
+          if (a >= (BASE << 1)) a -= (BASE << 1); \
+          if (a >= BASE) a -= BASE; \
+      } while (0)
+
+    UInt sum2;
+    UInt n;
+
+    /* split Adler-32 into component sums */
+    sum2 = (adler >> 16) & 0xffff;
+    adler &= 0xffff;
+
+    /* in case user likes doing a byte at a time, keep it fast */
+    if (len == 1) {
+        adler += buf[0];
+        if (adler >= BASE)
+            adler -= BASE;
+        sum2 += adler;
+        if (sum2 >= BASE)
+            sum2 -= BASE;
+        return adler | (sum2 << 16);
+    }
+
+    /* initial Adler-32 value (deferred check for len == 1 speed) */
+    if (buf == NULL)
+        return 1L;
+
+    /* in case short lengths are provided, keep it somewhat fast */
+    if (len < 16) {
+        while (len--) {
+            adler += *buf++;
+            sum2 += adler;
+        }
+        if (adler >= BASE)
+            adler -= BASE;
+        MOD4(sum2);             /* only added so many BASE's */
+        return adler | (sum2 << 16);
+    }
+
+    /* do length NMAX blocks -- requires just one modulo operation */
+    while (len >= NMAX) {
+        len -= NMAX;
+        n = NMAX / 16;          /* NMAX is divisible by 16 */
+        do {
+            DO16(buf);          /* 16 sums unrolled */
+            buf += 16;
+        } while (--n);
+        MOD(adler);
+        MOD(sum2);
+    }
+
+    /* do remaining bytes (less than NMAX, still just one modulo) */
+    if (len) {                  /* avoid modulos if none remaining */
+        while (len >= 16) {
+            len -= 16;
+            DO16(buf);
+            buf += 16;
+        }
+        while (len--) {
+            adler += *buf++;
+            sum2 += adler;
+        }
+        MOD(adler);
+        MOD(sum2);
+    }
+
+    /* return recombined sums */
+    return adler | (sum2 << 16);
+
+#  undef MOD4
+#  undef MOD
+#  undef DO16
+#  undef DO8
+#  undef DO4
+#  undef DO2
+#  undef DO1
+#  undef NMAX
+#  undef BASE
+}
+
 /*--------------------------------------------------------------------*/
 /*--- end                                                          ---*/
 /*--------------------------------------------------------------------*/
diff --git a/coregrind/m_libcfile.c b/coregrind/m_libcfile.c
index fd11cb7..ebf9594 100644
--- a/coregrind/m_libcfile.c
+++ b/coregrind/m_libcfile.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -104,7 +104,7 @@
 #  endif
 }
 
-SysRes VG_(mknod) ( const Char* pathname, Int mode, UWord dev )
+SysRes VG_(mknod) ( const HChar* pathname, Int mode, UWord dev )
 {  
 #  if defined(VGO_linux) || defined(VGO_darwin)
    SysRes res = VG_(do_syscall3)(__NR_mknod,
@@ -115,7 +115,7 @@
    return res;
 }
 
-SysRes VG_(open) ( const Char* pathname, Int flags, Int mode )
+SysRes VG_(open) ( const HChar* pathname, Int flags, Int mode )
 {  
 #  if defined(VGO_linux)
    SysRes res = VG_(do_syscall3)(__NR_open,
@@ -129,7 +129,7 @@
    return res;
 }
 
-Int VG_(fd_open) (const Char* pathname, Int flags, Int mode)
+Int VG_(fd_open) (const HChar* pathname, Int flags, Int mode)
 {
    SysRes sr;
    sr = VG_(open) (pathname, flags, mode);
@@ -194,7 +194,17 @@
 
 Int VG_(pipe) ( Int fd[2] )
 {
-#  if defined(VGO_linux)
+#  if defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+   /* __NR_pipe has a strange return convention on mips32-linux. */
+   SysRes res = VG_(do_syscall1)(__NR_pipe, (UWord)fd);
+   if (!sr_isError(res)) {
+      fd[0] = (Int)sr_Res(res);
+      fd[1] = (Int)sr_ResEx(res);
+      return 0;
+   } else {
+      return -1;
+   }
+#  elif defined(VGO_linux)
    SysRes res = VG_(do_syscall1)(__NR_pipe, (UWord)fd);
    return sr_isError(res) ? -1 : 0;
 #  elif defined(VGO_darwin)
@@ -232,7 +242,7 @@
 #    error "Unknown plat"
 #  endif
    /* if you change the error-reporting conventions of this, also
-      change VG_(pread) and all other usage points. */
+      change all usage points. */
 }
 
 
@@ -260,7 +270,7 @@
       (_p_vgstat)->ctime_nsec = (ULong)( (_p_vkistat)->st_ctime_nsec ); \
    } while (0)
 
-SysRes VG_(stat) ( const Char* file_name, struct vg_stat* vgbuf )
+SysRes VG_(stat) ( const HChar* file_name, struct vg_stat* vgbuf )
 {
    SysRes res;
    VG_(memset)(vgbuf, 0, sizeof(*vgbuf));
@@ -367,13 +377,13 @@
    return sr_isError(res) ? -1 : sr_Res(res);
 }
 
-Int VG_(rename) ( const Char* old_name, const Char* new_name )
+Int VG_(rename) ( const HChar* old_name, const HChar* new_name )
 {
    SysRes res = VG_(do_syscall2)(__NR_rename, (UWord)old_name, (UWord)new_name);
    return sr_isError(res) ? (-1) : 0;
 }
 
-Int VG_(unlink) ( const Char* file_name )
+Int VG_(unlink) ( const HChar* file_name )
 {
    SysRes res = VG_(do_syscall1)(__NR_unlink, (UWord)file_name);
    return sr_isError(res) ? (-1) : 0;
@@ -416,8 +426,8 @@
       tell us the startup path.  Note the env var is keyed to the
       parent's PID, not ours, since our parent is the launcher
       process. */
-   { Char  envvar[100];
-     Char* wd = NULL;
+   { HChar  envvar[100];
+     HChar* wd = NULL;
      VG_(memset)(envvar, 0, sizeof(envvar));
      VG_(sprintf)(envvar, "VALGRIND_STARTUP_PWD_%d_XYZZY", 
                           (Int)VG_(getppid)());
@@ -436,7 +446,7 @@
 
 /* Copy the previously acquired startup_wd into buf[0 .. size-1],
    or return False if buf isn't big enough. */
-Bool VG_(get_startup_wd) ( Char* buf, SizeT size )
+Bool VG_(get_startup_wd) ( HChar* buf, SizeT size )
 {
    vg_assert(startup_wd_acquired);
    vg_assert(startup_wd[ sizeof(startup_wd)-1 ] == 0);
@@ -446,15 +456,21 @@
    return True;
 }
 
-Int    VG_(poll) (struct vki_pollfd *fds, Int nfds, Int timeout)
+Int VG_(poll) (struct vki_pollfd *fds, Int nfds, Int timeout)
 {
    SysRes res;
+#  if defined(VGO_linux)
    res = VG_(do_syscall3)(__NR_poll, (UWord)fds, nfds, timeout);
+#  elif defined(VGO_darwin)
+   res = VG_(do_syscall3)(__NR_poll_nocancel, (UWord)fds, nfds, timeout);
+#  else
+#    error "Unknown OS"
+#  endif
    return sr_isError(res) ? -1 : sr_Res(res);
 }
 
 
-Int VG_(readlink) (const Char* path, Char* buf, UInt bufsiz)
+Int VG_(readlink) (const HChar* path, HChar* buf, UInt bufsiz)
 {
    SysRes res;
    /* res = readlink( path, buf, bufsiz ); */
@@ -575,24 +591,48 @@
    return 0;
 }
 
-/* DDD: Note this moves (or at least, is believed to move) the file
-   pointer on Linux but doesn't on Darwin.  This inconsistency should
-   be fixed.  (In other words, why isn't the Linux version implemented
-   in terms of pread()?) */
 SysRes VG_(pread) ( Int fd, void* buf, Int count, OffT offset )
 {
    SysRes res;
-#  if defined(VGO_linux)
-   OffT off = VG_(lseek)( fd, offset, VKI_SEEK_SET);
-   if (off < 0)
-      return VG_(mk_SysRes_Error)( VKI_EINVAL );
-   res = VG_(do_syscall3)(__NR_read, fd, (UWord)buf, count );
+   // on 32 bits platforms, we receive a 32 bits OffT but
+   // we must extend it to pass a long long 64 bits.
+#  if defined(VGP_x86_linux)
+   vg_assert(sizeof(OffT) == 4);
+   res = VG_(do_syscall5)(__NR_pread64, fd, (UWord)buf, count, 
+                          offset, 0); // Little endian long long
+   return res;
+#  elif defined(VGP_arm_linux)
+   vg_assert(sizeof(OffT) == 4);
+   res = VG_(do_syscall5)(__NR_pread64, fd, (UWord)buf, count, 
+                          0, offset); // Big endian long long
+   return res;
+#  elif defined(VGP_ppc32_linux)
+   vg_assert(sizeof(OffT) == 4);
+   res = VG_(do_syscall6)(__NR_pread64, fd, (UWord)buf, count, 
+                          0, // Padding needed on PPC32
+                          0, offset); // Big endian long long
+   return res;
+#  elif defined(VGP_mips32_linux) && (VKI_LITTLE_ENDIAN)
+   vg_assert(sizeof(OffT) == 4);
+   res = VG_(do_syscall6)(__NR_pread64, fd, (UWord)buf, count, 
+                          0, offset, 0);
+   return res;
+#  elif defined(VGP_mips32_linux) && (VKI_BIG_ENDIAN)
+   vg_assert(sizeof(OffT) == 4);
+   res = VG_(do_syscall6)(__NR_pread64, fd, (UWord)buf, count, 
+                          0, 0, offset);
+   return res;
+#  elif defined(VGP_amd64_linux) \
+      || defined(VGP_ppc64_linux) || defined(VGP_s390x_linux) \
+      || defined(VGP_mips64_linux) 
+   res = VG_(do_syscall4)(__NR_pread64, fd, (UWord)buf, count, offset);
    return res;
 #  elif defined(VGP_amd64_darwin)
+   vg_assert(sizeof(OffT) == 8);
    res = VG_(do_syscall4)(__NR_pread_nocancel, fd, (UWord)buf, count, offset);
    return res;
 #  elif defined(VGP_x86_darwin)
-   /* ppc32-darwin is the same, but with the args inverted */
+   vg_assert(sizeof(OffT) == 8);
    res = VG_(do_syscall5)(__NR_pread_nocancel, fd, (UWord)buf, count, 
                           offset & 0xffffffff, offset >> 32);
    return res;
@@ -613,14 +653,26 @@
    return tmpdir;
 }
 
+static const HChar *mkstemp_format = "%s/valgrind_%s_%08x";
+
+SizeT VG_(mkstemp_fullname_bufsz) ( SizeT part_of_name_len )
+{
+   return VG_(strlen)(mkstemp_format)
+      + VG_(strlen)(VG_(tmpdir)()) - 2 // %s tmpdir
+      + part_of_name_len - 2           // %s part_of_name
+      + 8 - 4                          // %08x
+      + 1;                             // trailing 0
+}
+
+
 /* Create and open (-rw------) a tmp file name incorporating said arg.
    Returns -1 on failure, else the fd of the file.  If fullname is
    non-NULL, the file's name is written into it.  The number of bytes
-   written is guaranteed not to exceed 64+strlen(part_of_name). */
+   written is equal to VG_(mkstemp_fullname_bufsz)(part_of_name). */
 
 Int VG_(mkstemp) ( HChar* part_of_name, /*OUT*/HChar* fullname )
 {
-   HChar  buf[200];
+   HChar  buf[VG_(mkstemp_fullname_bufsz)(VG_(strlen)(part_of_name))];
    Int    n, tries, fd;
    UInt   seed;
    SysRes sres;
@@ -666,7 +718,7 @@
    ------------------------------------------------------------------ */
 
 static
-Int parse_inet_addr_and_port ( UChar* str, UInt* ip_addr, UShort* port );
+Int parse_inet_addr_and_port ( const HChar* str, UInt* ip_addr, UShort* port );
 
 static
 Int my_connect ( Int sockfd, struct vki_sockaddr_in* serv_addr, Int addrlen );
@@ -724,7 +776,7 @@
      the relevant file (socket) descriptor, otherwise.
  is used.
 */
-Int VG_(connect_via_socket)( UChar* str )
+Int VG_(connect_via_socket)( const HChar* str )
 {
 #  if defined(VGO_linux) || defined(VGO_darwin)
    Int sd, res;
@@ -770,7 +822,7 @@
 /* Let d = one or more digits.  Accept either:
    d.d.d.d  or  d.d.d.d:d
 */
-static Int parse_inet_addr_and_port ( UChar* str, UInt* ip_addr, UShort* port )
+static Int parse_inet_addr_and_port ( const HChar* str, UInt* ip_addr, UShort* port )
 {
 #  define GET_CH ((*str) ? (*str++) : 0)
    UInt ipa, i, j, c, any;
@@ -824,7 +876,8 @@
    res = VG_(do_syscall2)(__NR_socketcall, VKI_SYS_SOCKET, (UWord)&args);
    return sr_isError(res) ? -1 : sr_Res(res);
 
-#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux)
+#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux) \
+        || defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
    SysRes res;
    res = VG_(do_syscall3)(__NR_socket, domain, type, protocol );
    return sr_isError(res) ? -1 : sr_Res(res);
@@ -862,7 +915,8 @@
    res = VG_(do_syscall2)(__NR_socketcall, VKI_SYS_CONNECT, (UWord)&args);
    return sr_isError(res) ? -1 : sr_Res(res);
 
-#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux)
+#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux) \
+        || defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
    SysRes res;
    res = VG_(do_syscall3)(__NR_connect, sockfd, (UWord)serv_addr, addrlen);
    return sr_isError(res) ? -1 : sr_Res(res);
@@ -878,7 +932,7 @@
 #  endif
 }
 
-Int VG_(write_socket)( Int sd, void *msg, Int count )
+Int VG_(write_socket)( Int sd, const void *msg, Int count )
 {
    /* This is actually send(). */
 
@@ -900,7 +954,8 @@
    res = VG_(do_syscall2)(__NR_socketcall, VKI_SYS_SEND, (UWord)&args);
    return sr_isError(res) ? -1 : sr_Res(res);
 
-#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux)
+#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux) \
+        || defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
    SysRes res;
    res = VG_(do_syscall6)(__NR_sendto, sd, (UWord)msg, 
                                        count, VKI_MSG_NOSIGNAL, 0,0);
@@ -919,7 +974,8 @@
 Int VG_(getsockname) ( Int sd, struct vki_sockaddr *name, Int *namelen)
 {
 #  if defined(VGP_x86_linux) || defined(VGP_ppc32_linux) \
-      || defined(VGP_ppc64_linux) || defined(VGP_s390x_linux)
+      || defined(VGP_ppc64_linux) || defined(VGP_s390x_linux) \
+      || defined(VGP_mips32_linux)
    SysRes res;
    UWord  args[3];
    args[0] = sd;
@@ -928,7 +984,8 @@
    res = VG_(do_syscall2)(__NR_socketcall, VKI_SYS_GETSOCKNAME, (UWord)&args);
    return sr_isError(res) ? -1 : sr_Res(res);
 
-#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux)
+#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux) \
+        || defined(VGP_mips64_linux)
    SysRes res;
    res = VG_(do_syscall3)( __NR_getsockname,
                            (UWord)sd, (UWord)name, (UWord)namelen );
@@ -948,7 +1005,8 @@
 Int VG_(getpeername) ( Int sd, struct vki_sockaddr *name, Int *namelen)
 {
 #  if defined(VGP_x86_linux) || defined(VGP_ppc32_linux) \
-      || defined(VGP_ppc64_linux) || defined(VGP_s390x_linux)
+      || defined(VGP_ppc64_linux) || defined(VGP_s390x_linux) \
+      || defined(VGP_mips32_linux)
    SysRes res;
    UWord  args[3];
    args[0] = sd;
@@ -957,7 +1015,8 @@
    res = VG_(do_syscall2)(__NR_socketcall, VKI_SYS_GETPEERNAME, (UWord)&args);
    return sr_isError(res) ? -1 : sr_Res(res);
 
-#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux)
+#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux) \
+        || defined(VGP_mips64_linux)
    SysRes res;
    res = VG_(do_syscall3)( __NR_getpeername,
                            (UWord)sd, (UWord)name, (UWord)namelen );
@@ -989,7 +1048,8 @@
    res = VG_(do_syscall2)(__NR_socketcall, VKI_SYS_GETSOCKOPT, (UWord)&args);
    return sr_isError(res) ? -1 : sr_Res(res);
 
-#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux)
+#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux) \
+        || defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
    SysRes res;
    res = VG_(do_syscall5)( __NR_getsockopt,
                            (UWord)sd, (UWord)level, (UWord)optname, 
@@ -1009,11 +1069,47 @@
 }
 
 
-Char *VG_(basename)(const Char *path)
+Int VG_(setsockopt) ( Int sd, Int level, Int optname, void *optval,
+                      Int optlen)
 {
-   static Char buf[VKI_PATH_MAX];
+#  if defined(VGP_x86_linux) || defined(VGP_ppc32_linux) \
+      || defined(VGP_ppc64_linux) || defined(VGP_s390x_linux)
+   SysRes res;
+   UWord  args[5];
+   args[0] = sd;
+   args[1] = level;
+   args[2] = optname;
+   args[3] = (UWord)optval;
+   args[4] = (UWord)optlen;
+   res = VG_(do_syscall2)(__NR_socketcall, VKI_SYS_SETSOCKOPT, (UWord)&args);
+   return sr_isError(res) ? -1 : sr_Res(res);
+
+#  elif defined(VGP_amd64_linux) || defined(VGP_arm_linux) \
+        || defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+   SysRes res;
+   res = VG_(do_syscall5)( __NR_setsockopt,
+                           (UWord)sd, (UWord)level, (UWord)optname, 
+                           (UWord)optval, (UWord)optlen );
+   return sr_isError(res) ? -1 : sr_Res(res);
+
+#  elif defined(VGO_darwin)
+   SysRes res;
+   res = VG_(do_syscall5)( __NR_setsockopt,
+                           (UWord)sd, (UWord)level, (UWord)optname, 
+                           (UWord)optval, (UWord)optlen );
+   return sr_isError(res) ? -1 : sr_Res(res);
+
+#  else
+#    error "Unknown platform"
+#  endif
+}
+
+
+const HChar *VG_(basename)(const HChar *path)
+{
+   static HChar buf[VKI_PATH_MAX];
    
-   const Char *p, *end;
+   const HChar *p, *end;
 
    if (path == NULL  ||  
        0 == VG_(strcmp)(path, ""))
@@ -1045,11 +1141,11 @@
 }
 
 
-Char *VG_(dirname)(const Char *path)
+const HChar *VG_(dirname)(const HChar *path)
 {
-   static Char buf[VKI_PATH_MAX];
+   static HChar buf[VKI_PATH_MAX];
     
-   const Char *p;
+   const HChar *p;
 
    if (path == NULL  ||  
        0 == VG_(strcmp)(path, "")  ||  
diff --git a/coregrind/m_libcprint.c b/coregrind/m_libcprint.c
index 3657da4..d4e3bee 100644
--- a/coregrind/m_libcprint.c
+++ b/coregrind/m_libcprint.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -31,7 +31,7 @@
 #include "pub_core_basics.h"
 #include "pub_core_vki.h"
 #include "pub_core_debuglog.h"
-#include "pub_core_gdbserver.h"
+#include "pub_tool_gdbserver.h"  // VG_(gdb_printf)
 #include "pub_core_libcbase.h"
 #include "pub_core_libcassert.h"
 #include "pub_core_libcfile.h"   // VG_(write)(), VG_(write_socket)()
@@ -57,7 +57,7 @@
  
 /* Do the low-level send of a message to the logging sink. */
 static
-void send_bytes_to_logging_sink ( OutputSink* sink, Char* msg, Int nbytes )
+void send_bytes_to_logging_sink ( OutputSink* sink, const HChar* msg, Int nbytes )
 {
    if (sink->is_socket) {
       Int rc = VG_(write_socket)( sink->fd, msg, nbytes );
@@ -179,7 +179,7 @@
    *(*b)++ = c;
 }
 
-UInt VG_(vsprintf) ( Char* buf, const HChar *format, va_list vargs )
+UInt VG_(vsprintf) ( HChar* buf, const HChar *format, va_list vargs )
 {
    Int ret;
    HChar* sprintf_ptr = buf;
@@ -193,7 +193,7 @@
    return ret;
 }
 
-UInt VG_(sprintf) ( Char* buf, const HChar *format, ... )
+UInt VG_(sprintf) ( HChar* buf, const HChar *format, ... )
 {
    UInt ret;
    va_list vargs;
@@ -226,20 +226,21 @@
    } 
 }
 
-UInt VG_(vsnprintf) ( Char* buf, Int size, const HChar *format, va_list vargs )
+UInt VG_(vsnprintf) ( HChar* buf, Int size, const HChar *format, va_list vargs )
 {
    snprintf_buf_t b;
    b.buf      = buf;
    b.buf_size = size < 0 ? 0 : size;
    b.buf_used = 0;
-
+   if (b.buf_size > 0)
+      b.buf[0] = 0; // ensure to null terminate buf if empty format
    (void) VG_(debugLog_vprintf) 
              ( add_to__snprintf_buf, &b, format, vargs );
 
    return b.buf_used;
 }
 
-UInt VG_(snprintf) ( Char* buf, Int size, const HChar *format, ... )
+UInt VG_(snprintf) ( HChar* buf, Int size, const HChar *format, ... )
 {
    UInt ret;
    va_list vargs;
@@ -267,11 +268,11 @@
 
 // Percentify n/m with d decimal places.  Includes the '%' symbol at the end.
 // Right justifies in 'buf'.
-void VG_(percentify)(ULong n, ULong m, UInt d, Int n_buf, char buf[]) 
+void VG_(percentify)(ULong n, ULong m, UInt d, Int n_buf, HChar buf[]) 
 {
    Int i, len, space;
    ULong p1;
-   Char fmt[32];
+   HChar fmt[32];
 
    if (m == 0) {
       // Have to generate the format string in order to be flexible about
@@ -522,7 +523,7 @@
    return count;
 }
 
-void VG_(fmsg_bad_option) ( HChar* opt, const HChar* format, ... )
+void VG_(fmsg_bad_option) ( const HChar* opt, const HChar* format, ... )
 {
    va_list vargs;
    va_start(vargs,format);
@@ -573,7 +574,7 @@
 }
 
 __attribute__((noreturn))
-void VG_(err_config_error) ( Char* format, ... )
+void VG_(err_config_error) ( const HChar* format, ... )
 {
    va_list vargs;
    va_start(vargs,format);
diff --git a/coregrind/m_libcproc.c b/coregrind/m_libcproc.c
index 21fee60..045a378 100644
--- a/coregrind/m_libcproc.c
+++ b/coregrind/m_libcproc.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -60,12 +60,12 @@
 
 /* As deduced from sp_at_startup, the client's argc, argv[] and
    envp[] as extracted from the client's stack at startup-time. */
-Char** VG_(client_envp) = NULL;
+HChar** VG_(client_envp) = NULL;
 
 /* Path to library directory */
-const Char *VG_(libdir) = VG_LIBDIR;
+const HChar *VG_(libdir) = VG_LIBDIR;
 
-const Char *VG_(LD_PRELOAD_var_name) =
+const HChar *VG_(LD_PRELOAD_var_name) =
 #if defined(VGO_linux)
    "LD_PRELOAD";
 #elif defined(VGO_darwin)
@@ -76,13 +76,13 @@
 
 /* We do getenv without libc's help by snooping around in
    VG_(client_envp) as determined at startup time. */
-Char *VG_(getenv)(Char *varname)
+HChar *VG_(getenv)(const HChar *varname)
 {
    Int i, n;
    vg_assert( VG_(client_envp) );
    n = VG_(strlen)(varname);
    for (i = 0; VG_(client_envp)[i] != NULL; i++) {
-      Char* s = VG_(client_envp)[i];
+      HChar* s = VG_(client_envp)[i];
       if (VG_(strncmp)(varname, s, n) == 0 && s[n] == '=') {
          return & s[n+1];
       }
@@ -90,9 +90,9 @@
    return NULL;
 }
 
-void  VG_(env_unsetenv) ( Char **env, const Char *varname )
+void  VG_(env_unsetenv) ( HChar **env, const HChar *varname )
 {
-   Char **from, **to;
+   HChar **from, **to;
    vg_assert(env);
    vg_assert(varname);
    to = NULL;
@@ -108,14 +108,15 @@
 }
 
 /* set the environment; returns the old env if a new one was allocated */
-Char **VG_(env_setenv) ( Char ***envp, const Char* varname, const Char *val )
+HChar **VG_(env_setenv) ( HChar ***envp, const HChar* varname,
+                          const HChar *val )
 {
-   Char **env = (*envp);
-   Char **cpp;
+   HChar **env = (*envp);
+   HChar **cpp;
    Int len = VG_(strlen)(varname);
-   Char *valstr = VG_(arena_malloc)(VG_AR_CORE, "libcproc.es.1",
-                                    len + VG_(strlen)(val) + 2);
-   Char **oldenv = NULL;
+   HChar *valstr = VG_(arena_malloc)(VG_AR_CORE, "libcproc.es.1",
+                                     len + VG_(strlen)(val) + 2);
+   HChar **oldenv = NULL;
 
    VG_(sprintf)(valstr, "%s=%s", varname, val);
 
@@ -127,7 +128,7 @@
    }
 
    if (env == NULL) {
-      env = VG_(arena_malloc)(VG_AR_CORE, "libcproc.es.2", sizeof(Char **) * 2);
+      env = VG_(arena_malloc)(VG_AR_CORE, "libcproc.es.2", sizeof(HChar *) * 2);
       env[0] = valstr;
       env[1] = NULL;
 
@@ -135,8 +136,8 @@
 
    }  else {
       Int envlen = (cpp-env) + 2;
-      Char **newenv = VG_(arena_malloc)(VG_AR_CORE, "libcproc.es.3",
-                                        envlen * sizeof(Char **));
+      HChar **newenv = VG_(arena_malloc)(VG_AR_CORE, "libcproc.es.3",
+                                         envlen * sizeof(HChar *));
 
       for (cpp = newenv; *env; )
 	 *cpp++ = *env++;
@@ -162,18 +163,18 @@
    This is also careful to mop up any excess ':'s, since empty strings
    delimited by ':' are considered to be '.' in a path.
 */
-static void mash_colon_env(Char *varp, const Char *remove_pattern)
+static void mash_colon_env(HChar *varp, const HChar *remove_pattern)
 {
-   Char *const start = varp;
-   Char *entry_start = varp;
-   Char *output = varp;
+   HChar *const start = varp;
+   HChar *entry_start = varp;
+   HChar *output = varp;
 
    if (varp == NULL)
       return;
 
    while(*varp) {
       if (*varp == ':') {
-	 Char prev;
+	 HChar prev;
 	 Bool match;
 
 	 /* This is a bit subtle: we want to match against the entry
@@ -219,7 +220,7 @@
 
 // Removes all the Valgrind-added stuff from the passed environment.  Used
 // when starting child processes, so they don't see that added stuff.
-void VG_(env_remove_valgrind_env_stuff)(Char** envp)
+void VG_(env_remove_valgrind_env_stuff)(HChar** envp)
 {
 
 #if defined(VGO_darwin)
@@ -230,10 +231,10 @@
 #endif
 
    Int i;
-   Char* ld_preload_str = NULL;
-   Char* ld_library_path_str = NULL;
-   Char* dyld_insert_libraries_str = NULL;
-   Char* buf;
+   HChar* ld_preload_str = NULL;
+   HChar* ld_library_path_str = NULL;
+   HChar* dyld_insert_libraries_str = NULL;
+   HChar* buf;
 
    // Find LD_* variables
    // DDD: should probably conditionally compiled some of this:
@@ -296,11 +297,11 @@
 }
 
 /* clone the environment */
-Char **VG_(env_clone) ( Char **oldenv )
+HChar **VG_(env_clone) ( HChar **oldenv )
 {
-   Char **oldenvp;
-   Char **newenvp;
-   Char **newenv;
+   HChar **oldenvp;
+   HChar **newenvp;
+   HChar **newenv;
    Int  envlen;
 
    vg_assert(oldenv);
@@ -309,7 +310,7 @@
    envlen = oldenvp - oldenv + 1;
    
    newenv = VG_(arena_malloc)(VG_AR_CORE, "libcproc.ec.1",
-                              envlen * sizeof(Char **));
+                              envlen * sizeof(HChar *));
 
    oldenvp = oldenv;
    newenvp = newenv;
@@ -323,9 +324,9 @@
    return newenv;
 }
 
-void VG_(execv) ( Char* filename, Char** argv )
+void VG_(execv) ( const HChar* filename, HChar** argv )
 {
-   Char** envp;
+   HChar** envp;
    SysRes res;
 
    /* restore the DATA rlimit for the child */
@@ -342,7 +343,7 @@
 
 /* Return -1 if error, else 0.  NOTE does not indicate return code of
    child! */
-Int VG_(system) ( Char* cmd )
+Int VG_(system) ( const HChar* cmd )
 {
    Int pid;
    if (cmd == NULL)
@@ -352,10 +353,10 @@
       return -1;
    if (pid == 0) {
       /* child */
-      Char* argv[4] = { "/bin/sh", "-c", cmd, 0 };
-      VG_(execv)(argv[0], argv);
+      const HChar* argv[4] = { "/bin/sh", "-c", cmd, 0 };
+      VG_(execv)(argv[0], (HChar **)argv);
 
-      /* If we're still alive here, execve failed. */
+      /* If we're still alive here, execv failed. */
       VG_(exit)(1);
    } else {
       /* parent */
@@ -442,7 +443,7 @@
    SysRes res = VG_(do_syscall0)(__NR_gettid);
 
    if (sr_isError(res) && sr_Res(res) == VKI_ENOSYS) {
-      Char pid[16];      
+      HChar pid[16];      
       /*
        * The gettid system call does not exist. The obvious assumption
        * to make at this point would be that we are running on an older
@@ -460,7 +461,7 @@
       res = VG_(do_syscall3)(__NR_readlink, (UWord)"/proc/self",
                              (UWord)pid, sizeof(pid));
       if (!sr_isError(res) && sr_Res(res) > 0) {
-         Char* s;
+         HChar* s;
          pid[sr_Res(res)] = '\0';
          res = VG_(mk_SysRes_Success)(  VG_(strtoll10)(pid, &s) );
          if (*s != '\0') {
@@ -532,7 +533,8 @@
    platform. */
 Int VG_(getgroups)( Int size, UInt* list )
 {
-#  if defined(VGP_x86_linux) || defined(VGP_ppc32_linux)
+#  if defined(VGP_x86_linux) || defined(VGP_ppc32_linux) \
+      || defined(VGP_mips64_linux)
    Int    i;
    SysRes sres;
    UShort list16[64];
@@ -549,7 +551,8 @@
 
 #  elif defined(VGP_amd64_linux) || defined(VGP_ppc64_linux)  \
         || defined(VGP_arm_linux)                             \
-        || defined(VGO_darwin) || defined(VGP_s390x_linux)
+        || defined(VGO_darwin) || defined(VGP_s390x_linux)    \
+        || defined(VGP_mips32_linux)
    SysRes sres;
    sres = VG_(do_syscall2)(__NR_getgroups, size, (Addr)list);
    if (sr_isError(sres))
@@ -723,15 +726,20 @@
 
 void VG_(invalidate_icache) ( void *ptr, SizeT nbytes )
 {
+   if (nbytes == 0) return;    // nothing to do
+
+   // Get cache info
+   VexArchInfo vai;
+   VG_(machine_get_VexArchInfo)(NULL, &vai);
+
+   // If I-caches are coherent, nothing needs to be done here
+   if (vai.hwcache_info.icaches_maintain_coherence) return;
+
 #  if defined(VGA_ppc32) || defined(VGA_ppc64)
    Addr startaddr = (Addr) ptr;
    Addr endaddr   = startaddr + nbytes;
    Addr cls;
    Addr addr;
-   VexArchInfo vai;
-
-   if (nbytes == 0) return;
-   vg_assert(nbytes > 0);
 
    VG_(machine_get_VexArchInfo)( NULL, &vai );
    cls = vai.ppc_cache_line_szB;
@@ -749,23 +757,17 @@
    }
    __asm__ __volatile__("sync; isync");
 
-#  elif defined(VGA_x86)
-   /* no need to do anything, hardware provides coherence */
-
-#  elif defined(VGA_amd64)
-   /* no need to do anything, hardware provides coherence */
-
-#  elif defined(VGA_s390x)
-   /* no need to do anything, hardware provides coherence */
-
 #  elif defined(VGP_arm_linux)
    /* ARM cache flushes are privileged, so we must defer to the kernel. */
    Addr startaddr = (Addr) ptr;
    Addr endaddr   = startaddr + nbytes;
    VG_(do_syscall2)(__NR_ARM_cacheflush, startaddr, endaddr);
 
-#  else
-#    error "Unknown ARCH"
+#  elif defined(VGA_mips32) || defined(VGA_mips64)
+   SysRes sres = VG_(do_syscall3)(__NR_cacheflush, (UWord) ptr,
+                                 (UWord) nbytes, (UWord) 3);
+   vg_assert( sres._isError == 0 );
+
 #  endif
 }
 
diff --git a/coregrind/m_libcsetjmp.c b/coregrind/m_libcsetjmp.c
index 6b9160c..2b016a9 100644
--- a/coregrind/m_libcsetjmp.c
+++ b/coregrind/m_libcsetjmp.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2010-2011 Mozilla Inc
+   Copyright (C) 2010-2012 Mozilla Inc
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/coregrind/m_libcsignal.c b/coregrind/m_libcsignal.c
index 6f65e4d..4015634 100644
--- a/coregrind/m_libcsignal.c
+++ b/coregrind/m_libcsignal.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_mach/mach_basics.c b/coregrind/m_mach/mach_basics.c
index 7f9336f..7c73c77 100644
--- a/coregrind/m_mach/mach_basics.c
+++ b/coregrind/m_mach/mach_basics.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Apple Inc.
+   Copyright (C) 2005-2012 Apple Inc.
       Greg Parker  gparker@apple.com
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_mach/mach_traps-amd64-darwin.S b/coregrind/m_mach/mach_traps-amd64-darwin.S
index d90cc61..e305ccf 100644
--- a/coregrind/m_mach/mach_traps-amd64-darwin.S
+++ b/coregrind/m_mach/mach_traps-amd64-darwin.S
@@ -6,7 +6,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2007-2011 Apple Inc.
+   Copyright (C) 2007-2012 Apple Inc.
       Greg Parker  gparker@apple.com
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_mach/mach_traps-x86-darwin.S b/coregrind/m_mach/mach_traps-x86-darwin.S
index 32f106f..d77094a 100644
--- a/coregrind/m_mach/mach_traps-x86-darwin.S
+++ b/coregrind/m_mach/mach_traps-x86-darwin.S
@@ -6,7 +6,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2006-2011 Apple Inc.
+   Copyright (C) 2006-2012 Apple Inc.
       Greg Parker  gparker@apple.com
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c
index 7043aea..256b793 100644
--- a/coregrind/m_machine.c
+++ b/coregrind/m_machine.c
@@ -6,7 +6,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -34,6 +34,7 @@
 #include "pub_core_libcassert.h"
 #include "pub_core_libcbase.h"
 #include "pub_core_libcfile.h"
+#include "pub_core_libcprint.h"
 #include "pub_core_mallocfree.h"
 #include "pub_core_machine.h"
 #include "pub_core_cpuid.h"
@@ -103,6 +104,24 @@
       = VG_(threads)[tid].arch.vex.guest_r11;
    regs->misc.S390X.r_lr
       = VG_(threads)[tid].arch.vex.guest_r14;
+#  elif defined(VGA_mips32)
+   regs->r_pc = VG_(threads)[tid].arch.vex.guest_PC;
+   regs->r_sp = VG_(threads)[tid].arch.vex.guest_r29;
+   regs->misc.MIPS32.r30
+      = VG_(threads)[tid].arch.vex.guest_r30;
+   regs->misc.MIPS32.r31
+      = VG_(threads)[tid].arch.vex.guest_r31;
+   regs->misc.MIPS32.r28
+      = VG_(threads)[tid].arch.vex.guest_r28;
+#  elif defined(VGA_mips64)
+   regs->r_pc = VG_(threads)[tid].arch.vex.guest_PC;
+   regs->r_sp = VG_(threads)[tid].arch.vex.guest_r29;
+   regs->misc.MIPS64.r30
+      = VG_(threads)[tid].arch.vex.guest_r30;
+   regs->misc.MIPS64.r31
+      = VG_(threads)[tid].arch.vex.guest_r31;
+   regs->misc.MIPS64.r28
+      = VG_(threads)[tid].arch.vex.guest_r28;
 #  else
 #    error "Unknown arch"
 #  endif
@@ -132,6 +151,9 @@
 #  elif defined(VGP_s390x_linux)
    VG_(threads)[tid].arch.vex_shadow1.guest_r2 = s1res;
    VG_(threads)[tid].arch.vex_shadow2.guest_r2 = s2res;
+#  elif defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+   VG_(threads)[tid].arch.vex_shadow1.guest_r2 = s1res;
+   VG_(threads)[tid].arch.vex_shadow2.guest_r2 = s2res;
 #  else
 #    error "Unknown plat"
 #  endif
@@ -186,7 +208,8 @@
 }
 
 
-static void apply_to_GPs_of_tid(ThreadId tid, void (*f)(ThreadId, HChar*, Addr))
+static void apply_to_GPs_of_tid(ThreadId tid, void (*f)(ThreadId,
+                                                        const HChar*, Addr))
 {
    VexGuestArchState* vex = &(VG_(get_ThreadState)(tid)->arch.vex);
 #if defined(VGA_x86)
@@ -282,13 +305,46 @@
    (*f)(tid, "r13", vex->guest_r13);
    (*f)(tid, "r14", vex->guest_r14);
    (*f)(tid, "r15", vex->guest_r15);
+#elif defined(VGA_mips32) || defined(VGA_mips64)
+   (*f)(tid, "r0" , vex->guest_r0 );
+   (*f)(tid, "r1" , vex->guest_r1 );
+   (*f)(tid, "r2" , vex->guest_r2 );
+   (*f)(tid, "r3" , vex->guest_r3 );
+   (*f)(tid, "r4" , vex->guest_r4 );
+   (*f)(tid, "r5" , vex->guest_r5 );
+   (*f)(tid, "r6" , vex->guest_r6 );
+   (*f)(tid, "r7" , vex->guest_r7 );
+   (*f)(tid, "r8" , vex->guest_r8 );
+   (*f)(tid, "r9" , vex->guest_r9 );
+   (*f)(tid, "r10", vex->guest_r10);
+   (*f)(tid, "r11", vex->guest_r11);
+   (*f)(tid, "r12", vex->guest_r12);
+   (*f)(tid, "r13", vex->guest_r13);
+   (*f)(tid, "r14", vex->guest_r14);
+   (*f)(tid, "r15", vex->guest_r15);
+   (*f)(tid, "r16", vex->guest_r16);
+   (*f)(tid, "r17", vex->guest_r17);
+   (*f)(tid, "r18", vex->guest_r18);
+   (*f)(tid, "r19", vex->guest_r19);
+   (*f)(tid, "r20", vex->guest_r20);
+   (*f)(tid, "r21", vex->guest_r21);
+   (*f)(tid, "r22", vex->guest_r22);
+   (*f)(tid, "r23", vex->guest_r23);
+   (*f)(tid, "r24", vex->guest_r24);
+   (*f)(tid, "r25", vex->guest_r25);
+   (*f)(tid, "r26", vex->guest_r26);
+   (*f)(tid, "r27", vex->guest_r27);
+   (*f)(tid, "r28", vex->guest_r28);
+   (*f)(tid, "r29", vex->guest_r29);
+   (*f)(tid, "r30", vex->guest_r30);
+   (*f)(tid, "r31", vex->guest_r31);
 #else
 #  error Unknown arch
 #endif
 }
 
 
-void VG_(apply_to_GP_regs)(void (*f)(ThreadId, HChar*, UWord))
+void VG_(apply_to_GP_regs)(void (*f)(ThreadId, const HChar*, UWord))
 {
    ThreadId tid;
 
@@ -356,35 +412,7 @@
    (2) from the AT_SYSINFO entries the kernel gave us (ppc32 cache
    line size).  It's a bit nasty in the sense that there's no obvious
    way to stop uses of some of this info before it's ready to go.
-
-   Current dependencies are:
-
-   x86:   initially:  call VG_(machine_get_hwcaps)
-
-          then safe to use VG_(machine_get_VexArchInfo) 
-                       and VG_(machine_x86_have_mxcsr)
-   -------------
-   amd64: initially:  call VG_(machine_get_hwcaps)
-
-          then safe to use VG_(machine_get_VexArchInfo) 
-   -------------
-   ppc32: initially:  call VG_(machine_get_hwcaps)
-                      call VG_(machine_ppc32_set_clszB)
-
-          then safe to use VG_(machine_get_VexArchInfo) 
-                       and VG_(machine_ppc32_has_FP)
-                       and VG_(machine_ppc32_has_VMX)
-   -------------
-   ppc64: initially:  call VG_(machine_get_hwcaps)
-                      call VG_(machine_ppc64_set_clszB)
-
-          then safe to use VG_(machine_get_VexArchInfo) 
-                       and VG_(machine_ppc64_has_VMX)
-
-   -------------
-   s390x: initially:  call VG_(machine_get_hwcaps)
-
-          then safe to use VG_(machine_get_VexArchInfo)
+   See pub_core_machine.h for more information about that.
 
    VG_(machine_get_hwcaps) may use signals (although it attempts to
    leave signal state unchanged) and therefore should only be
@@ -395,7 +423,7 @@
 static Bool hwcaps_done = False;
 
 /* --- all archs --- */
-static VexArch     va;
+static VexArch     va = VexArch_INVALID;
 static VexArchInfo vai;
 
 #if defined(VGA_x86)
@@ -412,7 +440,6 @@
 Int VG_(machine_arm_archlevel) = 4;
 #endif
 
-/* fixs390: anything for s390x here ? */
 
 /* For hwcaps detection on ppc32/64, s390x, and arm we'll need to do SIGILL
    testing, so we need a VG_MINIMAL_JMP_BUF. */
@@ -495,7 +522,8 @@
 
    processor 0: version = FF,  identification = 0117C9,  machine = 2064
 
-   and return the machine model or VEX_S390X_MODEL_INVALID on error. */
+   and return the machine model. If the machine model could not be determined
+   or it is an unknown model, return VEX_S390X_MODEL_UNKNOWN. */
 
 static UInt VG_(get_machine_model)(void)
 {
@@ -513,6 +541,7 @@
       { "2098", VEX_S390X_MODEL_Z10_BC },
       { "2817", VEX_S390X_MODEL_Z196 },
       { "2818", VEX_S390X_MODEL_Z114 },
+      { "2827", VEX_S390X_MODEL_ZEC12 },
    };
 
    Int    model, n, fh;
@@ -522,7 +551,7 @@
 
    /* Slurp contents of /proc/cpuinfo into FILE_BUF */
    fd = VG_(open)( "/proc/cpuinfo", 0, VKI_S_IRUSR );
-   if ( sr_isError(fd) ) return VEX_S390X_MODEL_INVALID;
+   if ( sr_isError(fd) ) return VEX_S390X_MODEL_UNKNOWN;
 
    fh  = sr_Res(fd);
 
@@ -555,7 +584,7 @@
    VG_(close)(fh);
 
    /* Parse file */
-   model = VEX_S390X_MODEL_INVALID;
+   model = VEX_S390X_MODEL_UNKNOWN;
    for (p = file_buf; *p; ++p) {
       /* Beginning of line */
      if (VG_(strncmp)( p, "processor", sizeof "processor" - 1 ) != 0) continue;
@@ -588,17 +617,78 @@
 
    VG_(free)( file_buf );
    VG_(debugLog)(1, "machine", "model = %s\n",
-                 model == VEX_S390X_MODEL_INVALID ? "UNKNOWN"
+                 model == VEX_S390X_MODEL_UNKNOWN ? "UNKNOWN"
                                                   : model_map[model].name);
-
    return model;
 }
 
 #endif /* VGA_s390x */
 
+#if defined(VGA_mips32) || defined(VGA_mips64)
+
+/* Read /proc/cpuinfo and return the machine model. */
+static UInt VG_(get_machine_model)(void)
+{
+   const char *search_MIPS_str = "MIPS";
+   const char *search_Broadcom_str = "Broadcom";
+   const char *search_Netlogic_str = "Netlogic";
+   Int    n, fh;
+   SysRes fd;
+   SizeT  num_bytes, file_buf_size;
+   HChar  *file_buf;
+
+   /* Slurp contents of /proc/cpuinfo into FILE_BUF */
+   fd = VG_(open)( "/proc/cpuinfo", 0, VKI_S_IRUSR );
+   if ( sr_isError(fd) ) return -1;
+
+   fh  = sr_Res(fd);
+
+   /* Determine the size of /proc/cpuinfo.
+      Work around broken-ness in /proc file system implementation.
+      fstat returns a zero size for /proc/cpuinfo although it is
+      claimed to be a regular file. */
+   num_bytes = 0;
+   file_buf_size = 1000;
+   file_buf = VG_(malloc)("cpuinfo", file_buf_size + 1);
+   while (42) {
+      n = VG_(read)(fh, file_buf, file_buf_size);
+      if (n < 0) break;
+
+      num_bytes += n;
+      if (n < file_buf_size) break;  /* reached EOF */
+   }
+
+   if (n < 0) num_bytes = 0;   /* read error; ignore contents */
+
+   if (num_bytes > file_buf_size) {
+      VG_(free)( file_buf );
+      VG_(lseek)( fh, 0, VKI_SEEK_SET );
+      file_buf = VG_(malloc)( "cpuinfo", num_bytes + 1 );
+      n = VG_(read)( fh, file_buf, num_bytes );
+      if (n < 0) num_bytes = 0;
+   }
+
+   file_buf[num_bytes] = '\0';
+   VG_(close)(fh);
+
+   /* Parse file */
+   if (VG_(strstr) (file_buf, search_Broadcom_str) != NULL)
+       return VEX_PRID_COMP_BROADCOM;
+   if (VG_(strstr) (file_buf, search_Netlogic_str) != NULL)
+       return VEX_PRID_COMP_NETLOGIC;
+   if (VG_(strstr) (file_buf, search_MIPS_str) != NULL)
+       return VEX_PRID_COMP_MIPS;
+
+   /* Did not find string in the proc file. */
+   return -1;
+}
+
+#endif
+
 /* Determine what insn set and insn set variant the host has, and
    record it.  To be called once at system startup.  Returns False if
-   this a CPU incapable of running Valgrind. */
+   this a CPU incapable of running Valgrind.
+   Also determine information about the caches on this host. */
 
 Bool VG_(machine_get_hwcaps)( void )
 {
@@ -612,7 +702,7 @@
 #if defined(VGA_x86)
    { Bool have_sse1, have_sse2, have_cx8, have_lzcnt;
      UInt eax, ebx, ecx, edx, max_extended;
-     UChar vstr[13];
+     HChar vstr[13];
      vstr[0] = 0;
 
      if (!VG_(has_cpuid)())
@@ -655,34 +745,32 @@
         have_lzcnt = (ecx & (1<<5)) != 0; /* True => have LZCNT */
      }
 
+     va = VexArchX86;
      if (have_sse2 && have_sse1) {
-        va          = VexArchX86;
         vai.hwcaps  = VEX_HWCAPS_X86_SSE1;
         vai.hwcaps |= VEX_HWCAPS_X86_SSE2;
         if (have_lzcnt)
            vai.hwcaps |= VEX_HWCAPS_X86_LZCNT;
         VG_(machine_x86_have_mxcsr) = 1;
-        return True;
-     }
-
-     if (have_sse1) {
-        va          = VexArchX86;
+     } else if (have_sse1) {
         vai.hwcaps  = VEX_HWCAPS_X86_SSE1;
         VG_(machine_x86_have_mxcsr) = 1;
-        return True;
+     } else {
+       vai.hwcaps = 0; /*baseline - no sse at all*/
+       VG_(machine_x86_have_mxcsr) = 0;
      }
 
-     va         = VexArchX86;
-     vai.hwcaps = 0; /*baseline - no sse at all*/
-     VG_(machine_x86_have_mxcsr) = 0;
+     VG_(machine_get_cache_info)(&vai);
+
      return True;
    }
 
 #elif defined(VGA_amd64)
    { Bool have_sse3, have_cx8, have_cx16;
-     Bool have_lzcnt;
-     UInt eax, ebx, ecx, edx, max_extended;
-     UChar vstr[13];
+     Bool have_lzcnt, have_avx, have_bmi, have_avx2;
+     Bool have_rdtscp;
+     UInt eax, ebx, ecx, edx, max_basic, max_extended;
+     HChar vstr[13];
      vstr[0] = 0;
 
      if (!VG_(has_cpuid)())
@@ -690,7 +778,8 @@
         return False;
 
      VG_(cpuid)(0, 0, &eax, &ebx, &ecx, &edx);
-     if (eax < 1)
+     max_basic = eax;
+     if (max_basic < 1)
         /* we can't ask for cpuid(x) for x > 0.  Give up. */
         return False;
 
@@ -709,9 +798,33 @@
 
      // we assume that SSE1 and SSE2 are available by default
      have_sse3 = (ecx & (1<<0)) != 0;  /* True => have sse3 insns */
-     // ssse3  is ecx:9
-     // sse41  is ecx:19
-     // sse42  is ecx:20
+     // ssse3   is ecx:9
+     // sse41   is ecx:19
+     // sse42   is ecx:20
+
+     // osxsave is ecx:27
+     // avx     is ecx:28
+     // fma     is ecx:12
+     have_avx = False;
+     /* have_fma = False; */
+     if ( (ecx & ((1<<27)|(1<<28))) == ((1<<27)|(1<<28)) ) {
+        /* processor supports AVX instructions and XGETBV is enabled
+           by OS */
+        ULong w;
+        __asm__ __volatile__("movq $0,%%rcx ; "
+                             ".byte 0x0F,0x01,0xD0 ; " /* xgetbv */
+                             "movq %%rax,%0"
+                             :/*OUT*/"=r"(w) :/*IN*/
+                             :/*TRASH*/"rdx","rcx");
+        if ((w & 6) == 6) {
+           /* OS has enabled both XMM and YMM state support */
+           have_avx = True;
+           /* have_fma = (ecx & (1<<12)) != 0; */
+           /* have_fma: Probably correct, but gcc complains due to
+              unusedness. &*/
+        }
+     }
+
 
      /* cmpxchg8b is a minimum requirement now; if we don't have it we
         must simply give up.  But all CPUs since Pentium-I have it, so
@@ -723,18 +836,40 @@
      /* on amd64 we tolerate older cpus, which don't have cmpxchg16b */
      have_cx16 = (ecx & (1<<13)) != 0; /* True => have cmpxchg16b */
 
-     /* Figure out if this is an AMD that can do LZCNT. */
+     /* Figure out if this CPU can do LZCNT. */
      have_lzcnt = False;
-     if (0 == VG_(strcmp)(vstr, "AuthenticAMD")
-         && max_extended >= 0x80000001) {
+     if (max_extended >= 0x80000001) {
         VG_(cpuid)(0x80000001, 0, &eax, &ebx, &ecx, &edx);
         have_lzcnt = (ecx & (1<<5)) != 0; /* True => have LZCNT */
      }
 
+     /* Can we do RDTSCP? */
+     have_rdtscp = False;
+     if (max_extended >= 0x80000001) {
+        VG_(cpuid)(0x80000001, 0, &eax, &ebx, &ecx, &edx);
+        have_rdtscp = (edx & (1<<27)) != 0; /* True => have RDTSVCP */
+     }
+
+     /* Check for BMI1 and AVX2. */
+     have_bmi = False;
+     have_avx2 = False;
+     if (max_basic >= 7) {
+        VG_(cpuid)(7, 0, &eax, &ebx, &ecx, &edx);
+        have_bmi = (ebx & (1<<3)) != 0; /* True => have BMI1 */
+        have_avx2 = have_avx && ((ebx & (1<<5)) != 0); /* True => have AVX2 */
+     }
+
      va         = VexArchAMD64;
-     vai.hwcaps = (have_sse3 ? VEX_HWCAPS_AMD64_SSE3 : 0)
-                  | (have_cx16 ? VEX_HWCAPS_AMD64_CX16 : 0)
-                  | (have_lzcnt ? VEX_HWCAPS_AMD64_LZCNT : 0);
+     vai.hwcaps = (have_sse3   ? VEX_HWCAPS_AMD64_SSE3   : 0)
+                | (have_cx16   ? VEX_HWCAPS_AMD64_CX16   : 0)
+                | (have_lzcnt  ? VEX_HWCAPS_AMD64_LZCNT  : 0)
+                | (have_avx    ? VEX_HWCAPS_AMD64_AVX    : 0)
+                | (have_bmi    ? VEX_HWCAPS_AMD64_BMI    : 0)
+                | (have_avx2   ? VEX_HWCAPS_AMD64_AVX2   : 0)
+                | (have_rdtscp ? VEX_HWCAPS_AMD64_RDTSCP : 0);
+
+     VG_(machine_get_cache_info)(&vai);
+
      return True;
    }
 
@@ -750,7 +885,7 @@
      vki_sigaction_fromK_t saved_sigill_act, saved_sigfpe_act;
      vki_sigaction_toK_t     tmp_sigill_act,   tmp_sigfpe_act;
 
-     volatile Bool have_F, have_V, have_FX, have_GX, have_VX;
+     volatile Bool have_F, have_V, have_FX, have_GX, have_VX, have_DFP;
      Int r;
 
      /* This is a kludge.  Really we ought to back-convert saved_act
@@ -837,6 +972,13 @@
         __asm__ __volatile__(".long 0xf0000564"); /* xsabsdp XT,XB */
      }
 
+     /* Check for Decimal Floating Point (DFP) support. */
+     have_DFP = True;
+     if (VG_MINIMAL_SETJMP(env_unsup_insn)) {
+        have_DFP = False;
+     } else {
+        __asm__ __volatile__(".long 0xee4e8005"); /* dadd  FRT,FRA, FRB */
+     }
 
      /* determine dcbz/dcbzl sizes while we still have the signal
       * handlers registered */
@@ -848,9 +990,9 @@
      vg_assert(r == 0);
      r = VG_(sigprocmask)(VKI_SIG_SETMASK, &saved_set, NULL);
      vg_assert(r == 0);
-     VG_(debugLog)(1, "machine", "F %d V %d FX %d GX %d VX %d\n", 
+     VG_(debugLog)(1, "machine", "F %d V %d FX %d GX %d VX %d DFP %d\n",
                     (Int)have_F, (Int)have_V, (Int)have_FX,
-                    (Int)have_GX, (Int)have_VX);
+                    (Int)have_GX, (Int)have_VX, (Int)have_DFP);
      /* Make FP a prerequisite for VMX (bogusly so), and for FX and GX. */
      if (have_V && !have_F)
         have_V = False;
@@ -870,6 +1012,9 @@
      if (have_FX) vai.hwcaps |= VEX_HWCAPS_PPC32_FX;
      if (have_GX) vai.hwcaps |= VEX_HWCAPS_PPC32_GX;
      if (have_VX) vai.hwcaps |= VEX_HWCAPS_PPC32_VX;
+     if (have_DFP) vai.hwcaps |= VEX_HWCAPS_PPC32_DFP;
+
+     VG_(machine_get_cache_info)(&vai);
 
      /* But we're not done yet: VG_(machine_ppc32_set_clszB) must be
         called before we're ready to go. */
@@ -883,7 +1028,7 @@
      vki_sigaction_fromK_t saved_sigill_act, saved_sigfpe_act;
      vki_sigaction_toK_t     tmp_sigill_act,   tmp_sigfpe_act;
 
-     volatile Bool have_F, have_V, have_FX, have_GX, have_VX;
+     volatile Bool have_F, have_V, have_FX, have_GX, have_VX, have_DFP;
      Int r;
 
      /* This is a kludge.  Really we ought to back-convert saved_act
@@ -962,6 +1107,14 @@
         __asm__ __volatile__(".long 0xf0000564"); /* xsabsdp XT,XB */
      }
 
+     /* Check for Decimal Floating Point (DFP) support. */
+     have_DFP = True;
+     if (VG_MINIMAL_SETJMP(env_unsup_insn)) {
+        have_DFP = False;
+     } else {
+        __asm__ __volatile__(".long 0xee4e8005"); /* dadd  FRT,FRA, FRB */
+     }
+
      /* determine dcbz/dcbzl sizes while we still have the signal
       * handlers registered */
      find_ppc_dcbz_sz(&vai);
@@ -969,9 +1122,9 @@
      VG_(sigaction)(VKI_SIGILL, &saved_sigill_act, NULL);
      VG_(sigaction)(VKI_SIGFPE, &saved_sigfpe_act, NULL);
      VG_(sigprocmask)(VKI_SIG_SETMASK, &saved_set, NULL);
-     VG_(debugLog)(1, "machine", "F %d V %d FX %d GX %d VX %d\n", 
+     VG_(debugLog)(1, "machine", "F %d V %d FX %d GX %d VX %d DFP %d\n",
                     (Int)have_F, (Int)have_V, (Int)have_FX,
-                    (Int)have_GX, (Int)have_VX);
+                    (Int)have_GX, (Int)have_VX, (Int)have_DFP);
      /* on ppc64, if we don't even have FP, just give up. */
      if (!have_F)
         return False;
@@ -985,6 +1138,9 @@
      if (have_FX) vai.hwcaps |= VEX_HWCAPS_PPC64_FX;
      if (have_GX) vai.hwcaps |= VEX_HWCAPS_PPC64_GX;
      if (have_VX) vai.hwcaps |= VEX_HWCAPS_PPC64_VX;
+     if (have_DFP) vai.hwcaps |= VEX_HWCAPS_PPC64_DFP;
+
+     VG_(machine_get_cache_info)(&vai);
 
      /* But we're not done yet: VG_(machine_ppc64_set_clszB) must be
         called before we're ready to go. */
@@ -992,15 +1148,22 @@
    }
 
 #elif defined(VGA_s390x)
+
+#include "libvex_s390x_common.h"
+
    {
      /* Instruction set detection code borrowed from ppc above. */
      vki_sigset_t          saved_set, tmp_set;
      vki_sigaction_fromK_t saved_sigill_act;
      vki_sigaction_toK_t     tmp_sigill_act;
 
-     volatile Bool have_LDISP, have_EIMM, have_GIE, have_DFP, have_FGX;
-     volatile Bool have_STFLE, have_ETF2;
-     Int r, model;
+     volatile Bool have_LDISP, have_STFLE;
+     Int i, r, model;
+
+     /* If the model is "unknown" don't treat this as an error. Assume
+        this is a brand-new machine model for which we don't have the 
+        identification yet. Keeping fingers crossed. */
+     model = VG_(get_machine_model)();
 
      /* Unblock SIGILL and stash away the old action for that signal */
      VG_(sigemptyset)(&tmp_set);
@@ -1036,53 +1199,22 @@
                              ".short 0x0057" : : : "r0", "r1", "cc", "memory");
      }
 
-     have_EIMM = True;
-     if (VG_MINIMAL_SETJMP(env_unsup_insn)) {
-        have_EIMM = False;
-     } else {
-        __asm__ __volatile__(".long  0xc0090000\n\t"  /* iilf r0,0 */
-                             ".short 0x0000" : : : "r0", "memory");
-     }
+     /* Check availability og STFLE. If available store facility bits
+        in hoststfle. */
+     ULong hoststfle[S390_NUM_FACILITY_DW];
 
-     have_GIE = True;
-     if (VG_MINIMAL_SETJMP(env_unsup_insn)) {
-        have_GIE = False;
-     } else {
-        __asm__ __volatile__(".long  0xc2010000\n\t"  /* msfi r0,0 */
-                             ".short 0x0000" : : : "r0", "memory");
-     }
+     for (i = 0; i < S390_NUM_FACILITY_DW; ++i)
+        hoststfle[i] = 0;
 
-     have_DFP = True;
-     if (VG_MINIMAL_SETJMP(env_unsup_insn)) {
-        have_DFP = False;
-     } else {
-        __asm__ __volatile__(".long 0xb3d20000"
-                               : : : "r0", "cc", "memory");  /* adtr r0,r0,r0 */
-     }
-
-     have_FGX = True;
-     if (VG_MINIMAL_SETJMP(env_unsup_insn)) {
-        have_FGX = False;
-     } else {
-        __asm__ __volatile__(".long 0xb3cd0000" : : : "r0");  /* lgdr r0,f0 */
-     }
-
-     /* Detect presence of the ETF2-enhancement facility using the
-        STFLE insn. Note, that STFLE and ETF2 were introduced at the same
-        time, so the absence of STLFE implies the absence of ETF2. */
      have_STFLE = True;
-     have_ETF2 = False;
      if (VG_MINIMAL_SETJMP(env_unsup_insn)) {
         have_STFLE = False;
      } else {
-         ULong hoststfle[1];
-         register ULong reg0 asm("0") = 0; /* one double word available */
+         register ULong reg0 asm("0") = S390_NUM_FACILITY_DW - 1;
 
          __asm__ __volatile__(" .insn s,0xb2b00000,%0\n"   /* stfle */
                               : "=m" (hoststfle), "+d"(reg0)
                               : : "cc", "memory");
-         if (hoststfle[0] & (1ULL << (63 - 24)))
-             have_ETF2 = True;
      }
 
      /* Restore signals */
@@ -1092,29 +1224,64 @@
      vg_assert(r == 0);
      va = VexArchS390X;
 
-     model = VG_(get_machine_model)();
-
-     VG_(debugLog)(1, "machine", "machine %d  LDISP %d EIMM %d GIE %d DFP %d "
-                   "FGX %d STFLE %d ETF2 %d\n", model, have_LDISP, have_EIMM,
-                   have_GIE, have_DFP, have_FGX, have_STFLE, have_ETF2);
-
-     if (model == VEX_S390X_MODEL_INVALID) return False;
-
      vai.hwcaps = model;
+     if (have_STFLE) vai.hwcaps |= VEX_HWCAPS_S390X_STFLE;
      if (have_LDISP) {
-        /* Use long displacement only on machines >= z990. For all other machines
-           it is millicoded and therefore slow. */
+        /* Use long displacement only on machines >= z990. For all other
+           machines it is millicoded and therefore slow. */
         if (model >= VEX_S390X_MODEL_Z990)
            vai.hwcaps |= VEX_HWCAPS_S390X_LDISP;
      }
-     if (have_EIMM)  vai.hwcaps |= VEX_HWCAPS_S390X_EIMM;
-     if (have_GIE)   vai.hwcaps |= VEX_HWCAPS_S390X_GIE;
-     if (have_DFP)   vai.hwcaps |= VEX_HWCAPS_S390X_DFP;
-     if (have_FGX)   vai.hwcaps |= VEX_HWCAPS_S390X_FGX;
-     if (have_ETF2)  vai.hwcaps |= VEX_HWCAPS_S390X_ETF2;
 
+     /* Detect presence of certain facilities using the STFLE insn.
+        Note, that these facilities were introduced at the same time or later
+        as STFLE, so the absence of STLFE implies the absence of the facility
+        we're trying to detect. */
+     struct fac_hwcaps_map {
+        UInt installed;
+        UInt facility_bit;
+        UInt hwcaps_bit;
+        const HChar name[6];   // may need adjustment for new facility names
+     } fac_hwcaps[] = {
+        { False, S390_FAC_EIMM,  VEX_HWCAPS_S390X_EIMM,  "EIMM"  },
+        { False, S390_FAC_GIE,   VEX_HWCAPS_S390X_GIE,   "GIE"   },
+        { False, S390_FAC_DFP,   VEX_HWCAPS_S390X_DFP,   "DFP"   },
+        { False, S390_FAC_FPSE,  VEX_HWCAPS_S390X_FGX,   "FGX"   },
+        { False, S390_FAC_ETF2,  VEX_HWCAPS_S390X_ETF2,  "ETF2"  },
+        { False, S390_FAC_ETF3,  VEX_HWCAPS_S390X_ETF3,  "ETF3"  },
+        { False, S390_FAC_STCKF, VEX_HWCAPS_S390X_STCKF, "STCKF" },
+        { False, S390_FAC_FPEXT, VEX_HWCAPS_S390X_FPEXT, "FPEXT" },
+        { False, S390_FAC_LSC,   VEX_HWCAPS_S390X_LSC,   "LSC"   },
+        { False, S390_FAC_PFPO,  VEX_HWCAPS_S390X_PFPO,  "PFPO"  },
+     };
+
+     /* Set hwcaps according to the detected facilities */
+     for (i=0; i < sizeof fac_hwcaps / sizeof fac_hwcaps[0]; ++i) {
+        vg_assert(fac_hwcaps[i].facility_bit <= 63);  // for now
+        if (hoststfle[0] & (1ULL << (63 - fac_hwcaps[i].facility_bit))) {
+           fac_hwcaps[i].installed = True;
+           vai.hwcaps |= fac_hwcaps[i].hwcaps_bit;
+        }
+     }
+
+     /* Build up a string showing the probed-for facilities */
+     HChar fac_str[(sizeof fac_hwcaps / sizeof fac_hwcaps[0]) *
+                   (sizeof fac_hwcaps[0].name + 3) + //  %s %d
+                   7 + 1 + 4 + 2  // machine %4d
+                   + 1];  // \0
+     HChar *p = fac_str;
+     p += VG_(sprintf)(p, "machine %4d  ", model);
+     for (i=0; i < sizeof fac_hwcaps / sizeof fac_hwcaps[0]; ++i) {
+        p += VG_(sprintf)(p, " %s %1d", fac_hwcaps[i].name,
+                          fac_hwcaps[i].installed);
+     }
+     *p++ = '\0';
+
+     VG_(debugLog)(1, "machine", "%s\n", fac_str);
      VG_(debugLog)(1, "machine", "hwcaps = 0x%x\n", vai.hwcaps);
 
+     VG_(machine_get_cache_info)(&vai);
+
      return True;
    }
 
@@ -1224,6 +1391,36 @@
      if (have_VFP)  vai.hwcaps |= VEX_HWCAPS_ARM_VFP;
      if (have_NEON) vai.hwcaps |= VEX_HWCAPS_ARM_NEON;
 
+     VG_(machine_get_cache_info)(&vai);
+
+     return True;
+   }
+
+#elif defined(VGA_mips32)
+   {
+     va = VexArchMIPS32;
+     UInt model = VG_(get_machine_model)();
+     if (model== -1)
+         return False;
+
+     vai.hwcaps = model;
+
+     VG_(machine_get_cache_info)(&vai);
+
+     return True;
+   }
+
+#elif defined(VGA_mips64)
+   {
+     va = VexArchMIPS64;
+     UInt model = VG_(get_machine_model)();
+     if (model== -1)
+         return False;
+
+     vai.hwcaps = model;
+
+     VG_(machine_get_cache_info)(&vai);
+
      return True;
    }
 
@@ -1294,6 +1491,74 @@
 }
 
 
+/* Returns the size of the largest guest register that we will
+   simulate in this run.  This depends on both the guest architecture
+   and on the specific capabilities we are simulating for that guest
+   (eg, AVX or non-AVX ?, for amd64).  Should return either 4, 8, 16
+   or 32.  General rule: if in doubt, return a value larger than
+   reality.
+
+   This information is needed by Cachegrind and Callgrind to decide
+   what the minimum cache line size they are prepared to simulate is.
+   Basically require that the minimum cache line size is at least as
+   large as the largest register that might get transferred to/from
+   memory, so as to guarantee that any such transaction can straddle
+   at most 2 cache lines.
+*/
+Int VG_(machine_get_size_of_largest_guest_register) ( void )
+{
+   vg_assert(hwcaps_done);
+   /* Once hwcaps_done is True, we can fish around inside va/vai to
+      find the information we need. */
+
+#  if defined(VGA_x86)
+   vg_assert(va == VexArchX86);
+   /* We don't support AVX, so 32 is out.  At the other end, even if
+      we don't support any SSE, the X87 can generate 10 byte
+      transfers, so let's say 16 to be on the safe side.  Hence the
+      answer is always 16. */
+   return 16;
+
+#  elif defined(VGA_amd64)
+   /* if AVX then 32 else 16 */
+   return (vai.hwcaps & VEX_HWCAPS_AMD64_AVX) ? 32 : 16;
+
+#  elif defined(VGA_ppc32)
+   /* 8 if boring; 16 if signs of Altivec or other exotic stuff */
+   if (vai.hwcaps & VEX_HWCAPS_PPC32_V) return 16;
+   if (vai.hwcaps & VEX_HWCAPS_PPC32_VX) return 16;
+   if (vai.hwcaps & VEX_HWCAPS_PPC32_DFP) return 16;
+   return 8;
+
+#  elif defined(VGA_ppc64)
+   /* 8 if boring; 16 if signs of Altivec or other exotic stuff */
+   if (vai.hwcaps & VEX_HWCAPS_PPC64_V) return 16;
+   if (vai.hwcaps & VEX_HWCAPS_PPC64_VX) return 16;
+   if (vai.hwcaps & VEX_HWCAPS_PPC64_DFP) return 16;
+   return 8;
+
+#  elif defined(VGA_s390x)
+   return 8;
+
+#  elif defined(VGA_arm)
+   /* Really it depends whether or not we have NEON, but let's just
+      assume we always do. */
+   return 16;
+
+#  elif defined(VGA_mips32)
+   /* The guest state implies 4, but that can't really be true, can
+      it? */
+   return 8;
+
+#  elif defined(VGA_mips64)
+   return 8;
+
+#  else
+#    error "Unknown arch"
+#  endif
+}
+
+
 // Given a pointer to a function as obtained by "& functionname" in C,
 // produce a pointer to the actual entry point for the function.
 void* VG_(fnptr_to_fnentry)( void* f )
@@ -1301,7 +1566,8 @@
 #  if defined(VGP_x86_linux) || defined(VGP_amd64_linux)  \
       || defined(VGP_arm_linux)                           \
       || defined(VGP_ppc32_linux) || defined(VGO_darwin)  \
-      || defined(VGP_s390x_linux)
+      || defined(VGP_s390x_linux) || defined(VGP_mips32_linux) \
+      || defined(VGP_mips64_linux)
    return f;
 #  elif defined(VGP_ppc64_linux)
    /* ppc64-linux uses the AIX scheme, in which f is a pointer to a
diff --git a/coregrind/m_main.c b/coregrind/m_main.c
index 057267b..8953af1 100644
--- a/coregrind/m_main.c
+++ b/coregrind/m_main.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -49,6 +49,7 @@
 #include "pub_core_libcprint.h"
 #include "pub_core_libcproc.h"
 #include "pub_core_libcsignal.h"
+#include "pub_core_sbprofile.h"
 #include "pub_core_syscall.h"       // VG_(strerror)
 #include "pub_core_mach.h"
 #include "pub_core_machine.h"
@@ -65,6 +66,10 @@
 #include "pub_core_translate.h"     // For VG_(translate)
 #include "pub_core_trampoline.h"
 #include "pub_core_transtab.h"
+#include "pub_tool_inner.h"
+#if defined(ENABLE_INNER_CLIENT_REQUEST)
+#include "valgrind.h"
+#endif 
 
 
 /*====================================================================*/
@@ -76,7 +81,7 @@
    VG_(print_translation_stats)();
    VG_(print_tt_tc_stats)();
    VG_(print_scheduler_stats)();
-   VG_(print_ExeContext_stats)();
+   VG_(print_ExeContext_stats)( False /* with_stacktraces */ );
    VG_(print_errormgr_stats)();
 
    // Memory stats
@@ -104,7 +109,7 @@
       - for the name of the GDB executable
       - for the name of vgdb's path prefix
       which must be supplied when they are VG_(printf)'d. */
-   Char* usage1 = 
+   const HChar usage1[] = 
 "usage: valgrind [options] prog-and-args\n"
 "\n"
 "  tool-selection option, with default in [ ]:\n"
@@ -154,10 +159,12 @@
 "    --max-stackframe=<number> assume stack switch for SP changes larger\n"
 "                              than <number> bytes [2000000]\n"
 "    --main-stacksize=<number> set size of main thread's stack (in bytes)\n"
-"                              [use current 'ulimit' value]\n"
+"                              [min(max(current 'ulimit' value,1MB),16MB)]\n"
 "\n"
 "  user options for Valgrind tools that replace malloc:\n"
-"    --alignment=<number>      set minimum alignment of heap allocations [%ld]\n"
+"    --alignment=<number>      set minimum alignment of heap allocations [%s]\n"
+"    --redzone-size=<number>   set minimum size of redzones added before/after\n"
+"                              heap blocks (in bytes). [%s]\n"
 "\n"
 "  uncommon user options for all Valgrind tools:\n"
 "    --fullpath-after=         (with nothing after the '=')\n"
@@ -166,6 +173,14 @@
 "                              part of the path after 'string'.  Allows removal\n"
 "                              of path prefixes.  Use this flag multiple times\n"
 "                              to specify a set of prefixes to remove.\n"
+"    --extra-debuginfo-path=path    absolute path to search for additional\n"
+"                              debug symbols, in addition to existing default\n"
+"                              well known search paths.\n"
+"    --debuginfo-server=ipaddr:port    also query this server\n"
+"                              (valgrind-di-server) for debug symbols\n"
+"    --allow-mismatched-debuginfo=no|yes  [no]\n"
+"                              for the above two flags only, accept debuginfo\n"
+"                              objects that don't \"match\" the main object\n"
 "    --smc-check=none|stack|all|all-non-file [stack]\n"
 "                              checks for self-modifying code: none, only for\n"
 "                              code found in stacks, for all code, or for all\n"
@@ -183,13 +198,21 @@
 "    --fair-sched=no|yes|try   schedule threads fairly on multicore systems [no]\n"
 "    --kernel-variant=variant1,variant2,...  known variants: bproc [none]\n"
 "                              handle non-standard kernel variants\n"
+"    --merge-recursive-frames=<number>  merge frames between identical\n"
+"           program counters in max <number> frames) [0]\n"
 "    --show-emwarns=no|yes     show warnings about emulation limits? [no]\n"
 "    --require-text-symbol=:sonamepattern:symbolpattern    abort run if the\n"
 "                              stated shared object doesn't have the stated\n"
 "                              text symbol.  Patterns can contain ? and *.\n"
+"    --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname\n"
+"              specify patterns for function wrapping or replacement.\n"
+"              To use a non-libc malloc library that is\n"
+"                  in the main exe:  --soname-synonyms=somalloc=NONE\n"
+"                  in libxyzzy.so:   --soname-synonyms=somalloc=libxyzzy.so\n"
+"    --sigill-diagnostics=yes|no  warn about illegal instructions? [yes]\n"
 "\n";
 
-   Char* usage2 = 
+   const HChar usage2[] = 
 "\n"
 "  debugging options for all Valgrind tools:\n"
 "    -d                        show verbose debugging output\n"
@@ -197,7 +220,10 @@
 "    --sanity-level=<number>   level of sanity checking to do [1]\n"
 "    --trace-flags=<XXXXXXXX>   show generated code? (X = 0|1) [00000000]\n"
 "    --profile-flags=<XXXXXXXX> ditto, but for profiling (X = 0|1) [00000000]\n"
+"    --profile-interval=<number> show profile every <number> event checks\n"
+"                                [0, meaning only at the end of the run]\n"
 "    --trace-notbelow=<number> only show BBs above <number> [999999999]\n"
+"    --trace-notabove=<number> only show BBs below <number> [0]\n"
 "    --trace-syscalls=no|yes   show all system calls? [no]\n"
 "    --trace-signals=no|yes    show signal handling details? [no]\n"
 "    --trace-symtab=no|yes     show symbol table details? [no]\n"
@@ -209,6 +235,8 @@
 "    --trace-redir=no|yes      show redirection details? [no]\n"
 "    --trace-sched=no|yes      show thread scheduler details? [no]\n"
 "    --profile-heap=no|yes     profile Valgrind's own space use\n"
+"    --core-redzone-size=<number>  set minimum size of redzones added before/after\n"
+"                              heap blocks allocated for Valgrind internal use (in bytes) [4]\n"
 "    --wait-for-gdb=yes|no     pause on startup to wait for gdb attach\n"
 "    --sym-offsets=yes|no      show syms in form 'name+offset' ? [no]\n"
 "    --command-line-only=no|yes  only use command line options [no]\n"
@@ -216,7 +244,10 @@
 "  Vex options for all Valgrind tools:\n"
 "    --vex-iropt-verbosity=<0..9>           [0]\n"
 "    --vex-iropt-level=<0..2>               [2]\n"
-"    --vex-iropt-precise-memory-exns=no|yes [no]\n"
+"    --vex-iropt-register-updates=sp-at-mem-access\n"
+"                                |unwindregs-at-mem-access\n"
+"                                |allregs-at-mem-access\n"
+"                                |allregs-at-each-insn  [unwindregs-at-mem-access]\n"
 "    --vex-iropt-unroll-thresh=<0..400>     [120]\n"
 "    --vex-guest-max-insns=<1..100>         [50]\n"
 "    --vex-guest-chase-thresh=<0..99>       [10]\n"
@@ -230,7 +261,9 @@
 "       0000 0100   show selecting insns\n"
 "       0000 0010   show after reg-alloc\n"
 "       0000 0001   show final assembly\n"
-"      (Nb: you need --trace-notbelow with --trace-flags for full details)\n"
+"       0000 0000   show summary profile only\n"
+"      (Nb: you need --trace-notbelow and/or --trace-notabove\n"
+"           with --trace-flags for full details)\n"
 "\n"
 "  debugging options for Valgrind tools that report errors\n"
 "    --dump-error=<number>     show translation for basic block associated\n"
@@ -240,27 +273,41 @@
 "    --trace-malloc=no|yes     show client malloc details? [no]\n"
 "\n";
 
-   Char* usage3 =
+   const HChar usage3[] =
 "\n"
 "  Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc\n"
 "\n"
 "  %s is %s\n"
-"  Valgrind is Copyright (C) 2000-2011, and GNU GPL'd, by Julian Seward et al.\n"
-"  LibVEX is Copyright (C) 2004-2011, and GNU GPL'd, by OpenWorks LLP et al.\n"
+"  Valgrind is Copyright (C) 2000-2012, and GNU GPL'd, by Julian Seward et al.\n"
+"  LibVEX is Copyright (C) 2004-2012, and GNU GPL'd, by OpenWorks LLP et al.\n"
 "\n"
 "  Bug reports, feedback, admiration, abuse, etc, to: %s.\n"
 "\n";
 
-   Char* gdb_path = GDB_PATH;
+   const HChar* gdb_path = GDB_PATH;
+   HChar default_alignment[30];
+   HChar default_redzone_size[30];
 
    // Ensure the message goes to stdout
    VG_(log_output_sink).fd = 1;
    VG_(log_output_sink).is_socket = False;
 
-   /* 'usage1' expects two int, two char* argument, and one SizeT argument. */
+   if (VG_(needs).malloc_replacement) {
+      VG_(sprintf)(default_alignment,    "%d",  VG_MIN_MALLOC_SZB);
+      VG_(sprintf)(default_redzone_size, "%lu", VG_(tdict).tool_client_redzone_szB);
+   } else {
+      VG_(strcpy)(default_alignment,    "not used by this tool");
+      VG_(strcpy)(default_redzone_size, "not used by this tool");
+   }
+   /* 'usage1' a type as described after each arg. */
    VG_(printf)(usage1, 
-               VG_(clo_vgdb_error), gdb_path, VG_MIN_MALLOC_SZB,
-               VG_(clo_vgdb_poll), VG_(vgdb_prefix_default)()); 
+               VG_(clo_vgdb_error)        /* int */,
+               gdb_path                   /* char* */,
+               default_alignment          /* char* */,
+               default_redzone_size       /* char* */,
+               VG_(clo_vgdb_poll)         /* int */,
+               VG_(vgdb_prefix_default)() /* char* */
+               ); 
    if (VG_(details).name) {
       VG_(printf)("  user options for %s:\n", VG_(details).name);
       if (VG_(needs).command_line_options)
@@ -302,7 +349,7 @@
    have handled here.
 */
 static void early_process_cmd_line_options ( /*OUT*/Int* need_help,
-                                             /*OUT*/HChar** tool )
+                                             /*OUT*/const HChar** tool )
 {
    UInt   i;
    HChar* str;
@@ -369,7 +416,7 @@
 */
 static
 void main_process_cmd_line_options ( /*OUT*/Bool* logging_to_fd,
-                                     /*OUT*/Char** xml_fname_unexpanded,
+                                     /*OUT*/HChar** xml_fname_unexpanded,
                                      const HChar* toolname )
 {
    // VG_(clo_log_fd) is used by all the messaging.  It starts as 2 (stderr)
@@ -378,7 +425,7 @@
    SysRes sres;
    Int    i, tmp_log_fd, tmp_xml_fd;
    Int    toolname_len = VG_(strlen)(toolname);
-   Char*  tmp_str;         // Used in a couple of places.
+   const HChar* tmp_str;         // Used in a couple of places.
    enum {
       VgLogTo_Fd,
       VgLogTo_File,
@@ -389,8 +436,12 @@
    /* Temporarily holds the string STR specified with
       --{log,xml}-{name,socket}=STR.  'fs' stands for
       file-or-socket. */
-   Char* log_fsname_unexpanded = NULL;
-   Char* xml_fsname_unexpanded = NULL;
+   const HChar* log_fsname_unexpanded = NULL;
+   const HChar* xml_fsname_unexpanded = NULL;
+
+   /* Whether the user has explicitly provided --sigill-diagnostics.
+      If not explicitly given depends on general verbosity setting. */
+   Bool sigill_diag_set = False;
 
    /* Log to stderr by default, but usage message goes to stdout.  XML
       output is initially disabled. */
@@ -455,10 +506,27 @@
       else if VG_STREQN(20, arg, "--command-line-only=") {}
       else if VG_STREQ(     arg, "--")                   {}
       else if VG_STREQ(     arg, "-d")                   {}
-      else if VG_STREQN(16, arg, "--max-stackframe")     {}
-      else if VG_STREQN(16, arg, "--main-stacksize")     {}
-      else if VG_STREQN(11, arg,  "--sim-hints")         {}
-      else if VG_STREQN(14, arg, "--profile-heap")       {}
+      else if VG_STREQN(17, arg, "--max-stackframe=")    {}
+      else if VG_STREQN(17, arg, "--main-stacksize=")    {}
+      else if VG_STREQN(12, arg,  "--sim-hints=")        {}
+      else if VG_STREQN(15, arg, "--profile-heap=")      {}
+      else if VG_STREQN(20, arg, "--core-redzone-size=") {}
+      else if VG_STREQN(15, arg, "--redzone-size=")      {}
+
+      /* Obsolete options. Report an error and exit */
+      else if VG_STREQN(34, arg, "--vex-iropt-precise-memory-exns=no") {
+         VG_(fmsg_bad_option)
+            (arg,
+             "--vex-iropt-precise-memory-exns is obsolete\n"
+             "Use --vex-iropt-register-updates=unwindregs-at-mem-access instead\n");
+      }
+      else if VG_STREQN(35, arg, "--vex-iropt-precise-memory-exns=yes") {
+         VG_(fmsg_bad_option)
+            (arg,
+             "--vex-iropt-precise-memory-exns is obsolete\n"
+             "Use --vex-iropt-register-updates=allregs-at-mem-access instead\n"
+             " (or --vex-iropt-register-updates=allregs-at-each-insn)\n");
+      }
 
       // These options are new.
       else if (VG_STREQ(arg, "-v") ||
@@ -469,13 +537,21 @@
                VG_STREQ(arg, "--quiet"))
          VG_(clo_verbosity)--;
 
+      else if VG_BOOL_CLO(arg, "--sigill-diagnostics", VG_(clo_sigill_diag))
+         sigill_diag_set = True;
+
       else if VG_BOOL_CLO(arg, "--stats",          VG_(clo_stats)) {}
       else if VG_BOOL_CLO(arg, "--xml",            VG_(clo_xml))
          VG_(debugLog_setXml)(VG_(clo_xml));
 
       else if VG_XACT_CLO(arg, "--vgdb=no",        VG_(clo_vgdb), Vg_VgdbNo) {}
       else if VG_XACT_CLO(arg, "--vgdb=yes",       VG_(clo_vgdb), Vg_VgdbYes) {}
-      else if VG_XACT_CLO(arg, "--vgdb=full",      VG_(clo_vgdb), Vg_VgdbFull) {}
+      else if VG_XACT_CLO(arg, "--vgdb=full",      VG_(clo_vgdb), Vg_VgdbFull) {
+         /* automatically updates register values at each insn
+            with --vgdb=full */
+         VG_(clo_vex_control).iropt_register_updates 
+            = VexRegUpdAllregsAtEachInsn;
+      }
       else if VG_INT_CLO (arg, "--vgdb-poll",      VG_(clo_vgdb_poll)) {}
       else if VG_INT_CLO (arg, "--vgdb-error",     VG_(clo_vgdb_error)) {}
       else if VG_STR_CLO (arg, "--vgdb-prefix",    VG_(clo_vgdb_prefix)) {}
@@ -483,6 +559,7 @@
                             VG_(clo_vgdb_shadow_registers)) {}
       else if VG_BOOL_CLO(arg, "--db-attach",      VG_(clo_db_attach)) {}
       else if VG_BOOL_CLO(arg, "--demangle",       VG_(clo_demangle)) {}
+      else if VG_STR_CLO (arg, "--soname-synonyms",VG_(clo_soname_synonyms)) {}
       else if VG_BOOL_CLO(arg, "--error-limit",    VG_(clo_error_limit)) {}
       else if VG_INT_CLO (arg, "--error-exitcode", VG_(clo_error_exitcode)) {}
       else if VG_BOOL_CLO(arg, "--show-emwarns",   VG_(clo_show_emwarns)) {}
@@ -529,6 +606,9 @@
       else if VG_INT_CLO (arg, "--sanity-level",     VG_(clo_sanity_level)) {}
       else if VG_BINT_CLO(arg, "--num-callers",      VG_(clo_backtrace_size), 1,
                                                      VG_DEEPEST_BACKTRACE) {}
+      else if VG_BINT_CLO(arg, "--merge-recursive-frames",
+                               VG_(clo_merge_recursive_frames), 0,
+                               VG_DEEPEST_BACKTRACE) {}
 
       else if VG_XACT_CLO(arg, "--smc-check=none",  VG_(clo_smc_check),
                                                     Vg_SmcNone);
@@ -553,8 +633,22 @@
                        VG_(clo_vex_control).iropt_verbosity, 0, 10) {}
       else if VG_BINT_CLO(arg, "--vex-iropt-level",
                        VG_(clo_vex_control).iropt_level, 0, 2) {}
-      else if VG_BOOL_CLO(arg, "--vex-iropt-precise-memory-exns",
-                       VG_(clo_vex_control).iropt_precise_memory_exns) {}
+      else if VG_XACT_CLO(arg, 
+                       "--vex-iropt-register-updates=sp-at-mem-access",
+                       VG_(clo_vex_control).iropt_register_updates,
+                       VexRegUpdSpAtMemAccess);
+      else if VG_XACT_CLO(arg, 
+                       "--vex-iropt-register-updates=unwindregs-at-mem-access",
+                       VG_(clo_vex_control).iropt_register_updates,
+                       VexRegUpdUnwindregsAtMemAccess);
+      else if VG_XACT_CLO(arg, 
+                       "--vex-iropt-register-updates=allregs-at-mem-access",
+                       VG_(clo_vex_control).iropt_register_updates,
+                       VexRegUpdAllregsAtMemAccess);
+      else if VG_XACT_CLO(arg, 
+                       "--vex-iropt-register-updates=allregs-at-each-insn",
+                       VG_(clo_vex_control).iropt_register_updates,
+                       VexRegUpdAllregsAtEachInsn);
       else if VG_BINT_CLO(arg, "--vex-iropt-unroll-thresh",
                        VG_(clo_vex_control).iropt_unroll_thresh, 0, 400) {}
       else if VG_BINT_CLO(arg, "--vex-guest-max-insns",
@@ -587,6 +681,12 @@
          xml_to = VgLogTo_Socket;
       }
 
+      else if VG_STR_CLO(arg, "--debuginfo-server",
+                              VG_(clo_debuginfo_server)) {}
+
+      else if VG_BOOL_CLO(arg, "--allow-mismatched-debuginfo",
+                               VG_(clo_allow_mismatched_debuginfo)) {}
+
       else if VG_STR_CLO(arg, "--xml-user-comment",
                               VG_(clo_xml_user_comment)) {}
 
@@ -610,6 +710,9 @@
          VG_(clo_n_fullpath_after)++;
       }
 
+      else if VG_STR_CLO (arg, "--extra-debuginfo-path",
+                      VG_(clo_extra_debuginfo_path)) {}
+
       else if VG_STR_CLO(arg, "--require-text-symbol", tmp_str) {
          if (VG_(clo_n_req_tsyms) >= VG_CLO_MAX_REQ_TSYMS) {
             VG_(fmsg_bad_option)(arg,
@@ -622,7 +725,7 @@
             and the fnpatt just by looking for the second occurrence
             of C, without hardwiring any assumption about what C
             is. */
-         Char patt[7];
+         HChar patt[7];
          Bool ok = True;
          ok = tmp_str && VG_(strlen)(tmp_str) > 0;
          if (ok) {
@@ -643,7 +746,6 @@
       /* "stuvwxyz" --> stuvwxyz (binary) */
       else if VG_STR_CLO(arg, "--trace-flags", tmp_str) {
          Int j;
-   
          if (8 != VG_(strlen)(tmp_str)) {
             VG_(fmsg_bad_option)(arg,
                "--trace-flags argument must have 8 digits\n");
@@ -658,25 +760,30 @@
          }
       }
 
+      else if VG_INT_CLO (arg, "--trace-notbelow", VG_(clo_trace_notbelow)) {}
+
+      else if VG_INT_CLO (arg, "--trace-notabove", VG_(clo_trace_notabove)) {}
+
       /* "stuvwxyz" --> stuvwxyz (binary) */
       else if VG_STR_CLO(arg, "--profile-flags", tmp_str) {
          Int j;
-   
          if (8 != VG_(strlen)(tmp_str)) {
             VG_(fmsg_bad_option)(arg, 
                "--profile-flags argument must have 8 digits\n");
          }
          for (j = 0; j < 8; j++) {
             if      ('0' == tmp_str[j]) { /* do nothing */ }
-            else if ('1' == tmp_str[j]) VG_(clo_profile_flags) |= (1 << (7-j));
+            else if ('1' == tmp_str[j]) VG_(clo_profyle_flags) |= (1 << (7-j));
             else {
                VG_(fmsg_bad_option)(arg,
                   "--profile-flags argument can only contain 0s and 1s\n");
             }
          }
+         VG_(clo_profyle_sbs) = True;
       }
 
-      else if VG_INT_CLO (arg, "--trace-notbelow", VG_(clo_trace_notbelow)) {}
+      else if VG_INT_CLO (arg, "--profile-interval",
+                          VG_(clo_profyle_interval)) {}
 
       else if VG_XACT_CLO(arg, "--gen-suppressions=no",
                                VG_(clo_gen_suppressions), 0) {}
@@ -712,6 +819,27 @@
    if (VG_(clo_verbosity) < 0)
       VG_(clo_verbosity) = 0;
 
+   if (!sigill_diag_set)
+      VG_(clo_sigill_diag) = (VG_(clo_verbosity) > 0);
+
+   if (VG_(clo_trace_notbelow) == -1) {
+     if (VG_(clo_trace_notabove) == -1) {
+       /* [] */
+       VG_(clo_trace_notbelow) = 2147483647;
+       VG_(clo_trace_notabove) = 0;
+     } else {
+       /* [0 .. notabove] */
+       VG_(clo_trace_notbelow) = 0;
+     }
+   } else {
+     if (VG_(clo_trace_notabove) == -1) {
+       /* [notbelow .. ]  */
+       VG_(clo_trace_notabove) = 2147483647;
+     } else {
+       /* [notbelow .. notabove]  */
+     }
+   }
+
    VG_(dyn_vgdb_error) = VG_(clo_vgdb_error);
 
    if (VG_(clo_gen_suppressions) > 0 && 
@@ -810,7 +938,7 @@
          break;
 
       case VgLogTo_File: {
-         Char* logfilename;
+         HChar* logfilename;
 
          vg_assert(log_fsname_unexpanded != NULL);
          vg_assert(VG_(strlen)(log_fsname_unexpanded) <= 900); /* paranoia */
@@ -869,7 +997,7 @@
          break;
 
       case VgLogTo_File: {
-         Char* xmlfilename;
+         HChar* xmlfilename;
 
          vg_assert(xml_fsname_unexpanded != NULL);
          vg_assert(VG_(strlen)(xml_fsname_unexpanded) <= 900); /* paranoia */
@@ -985,9 +1113,9 @@
        (VG_(needs).core_errors || VG_(needs).tool_errors)) {
       /* If we haven't reached the max number of suppressions, load
          the default one. */
-      static const Char default_supp[] = "default.supp";
+      static const HChar default_supp[] = "default.supp";
       Int len = VG_(strlen)(VG_(libdir)) + 1 + sizeof(default_supp);
-      Char *buf = VG_(arena_malloc)(VG_AR_CORE, "main.mpclo.3", len);
+      HChar *buf = VG_(arena_malloc)(VG_AR_CORE, "main.mpclo.3", len);
       VG_(sprintf)(buf, "%s/%s", VG_(libdir), default_supp);
       VG_(clo_suppressions)[VG_(clo_n_suppressions)] = buf;
       VG_(clo_n_suppressions)++;
@@ -997,7 +1125,7 @@
 }
 
 // Write the name and value of log file qualifiers to the xml file.
-static void print_file_vars(Char* format)
+static void print_file_vars(HChar* format)
 {
    Int i = 0;
    
@@ -1009,8 +1137,8 @@
             i++;
             if ('{' == format[i]) {
 	       // Get the env var name, print its contents.
-	       Char* qualname;
-               Char* qual;
+	       HChar* qualname;
+               HChar* qual;
                i++;
                qualname = &format[i];
                while (True) {
@@ -1045,10 +1173,10 @@
 /*====================================================================*/
 
 // Print the argument, escaping any chars that require it.
-static void umsg_arg(const Char* arg)
+static void umsg_arg(const HChar* arg)
 {
    SizeT len = VG_(strlen)(arg);
-   Char* special = " \\<>";
+   const HChar* special = " \\<>";
    Int i;
    for (i = 0; i < len; i++) {
       if (VG_(strchr)(special, arg[i])) {
@@ -1059,7 +1187,7 @@
 }
 
 // Send output to the XML-stream and escape any XML meta-characters.
-static void xml_arg(const Char* arg)
+static void xml_arg(const HChar* arg)
 {
    VG_(printf_xml)("%pS", arg);
 }
@@ -1069,16 +1197,16 @@
    command line args, to help people trying to interpret the
    results of a run which encompasses multiple processes. */
 static void print_preamble ( Bool logging_to_fd, 
-                             Char* xml_fname_unexpanded,
+                             HChar* xml_fname_unexpanded,
                              const HChar* toolname )
 {
    Int    i;
-   HChar* xpre  = VG_(clo_xml) ? "  <line>" : "";
-   HChar* xpost = VG_(clo_xml) ? "</line>" : "";
+   const HChar* xpre  = VG_(clo_xml) ? "  <line>" : "";
+   const HChar* xpost = VG_(clo_xml) ? "</line>" : "";
    UInt (*umsg_or_xml)( const HChar*, ... )
       = VG_(clo_xml) ? VG_(printf_xml) : VG_(umsg);
 
-   void (*umsg_or_xml_arg)( const Char* )
+   void (*umsg_or_xml_arg)( const HChar* )
       = VG_(clo_xml) ? xml_arg : umsg_arg;
 
    vg_assert( VG_(args_for_client) );
@@ -1106,7 +1234,7 @@
                    VG_(details).name, 
                    NULL == VG_(details).version ? "" : "-",
                    NULL == VG_(details).version 
-                      ? (Char*)"" : VG_(details).version,
+                      ? "" : VG_(details).version,
                    VG_(details).description,
                    xpost );
 
@@ -1203,6 +1331,15 @@
    else if (VG_(clo_verbosity) > 0)
       VG_(umsg)("\n");
 
+#  if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_8
+   /* Uh, this doesn't play nice with XML output. */
+   umsg_or_xml( "WARNING: Support on MacOS 10.8 is experimental and mostly broken.\n");
+   umsg_or_xml( "WARNING: Expect incorrect results, assertions and crashes.\n");
+   umsg_or_xml( "WARNING: In particular, Memcheck on 32-bit programs will fail to\n");
+   umsg_or_xml( "WARNING: detect any errors associated with heap-allocated data.\n");
+   umsg_or_xml( "\n" );
+#  endif
+
    if (VG_(clo_verbosity) > 1) {
       SysRes fd;
       VexArch vex_arch;
@@ -1222,7 +1359,7 @@
          VG_(message)(Vg_DebugMsg, "  can't open /proc/version\n");
       } else {
 #        define BUF_LEN    256
-         Char version_buf[BUF_LEN];
+         HChar version_buf[BUF_LEN];
          Int n = VG_(read) ( sr_Res(fd), version_buf, BUF_LEN );
          vg_assert(n <= BUF_LEN);
          if (n > 0) {
@@ -1311,82 +1448,6 @@
 
 
 /*====================================================================*/
-/*=== BB profiling                                                 ===*/
-/*====================================================================*/
-
-static 
-void show_BB_profile ( BBProfEntry tops[], UInt n_tops, ULong score_total )
-{
-   ULong score_cumul,   score_here;
-   Char  buf_cumul[10], buf_here[10];
-   Char  name[64];
-   Int   r;
-
-   VG_(printf)("\n");
-   VG_(printf)("-----------------------------------------------------------\n");
-   VG_(printf)("--- BEGIN BB Profile (summary of scores)                ---\n");
-   VG_(printf)("-----------------------------------------------------------\n");
-   VG_(printf)("\n");
-
-   VG_(printf)("Total score = %lld\n\n", score_total);
-
-   score_cumul = 0;
-   for (r = 0; r < n_tops; r++) {
-      if (tops[r].addr == 0)
-         continue;
-      name[0] = 0;
-      VG_(get_fnname_w_offset)(tops[r].addr, name, 64);
-      name[63] = 0;
-      score_here = tops[r].score;
-      score_cumul += score_here;
-      VG_(percentify)(score_cumul, score_total, 2, 6, buf_cumul);
-      VG_(percentify)(score_here,  score_total, 2, 6, buf_here);
-      VG_(printf)("%3d: (%9lld %s)   %9lld %s      0x%llx %s\n",
-                  r,
-                  score_cumul, buf_cumul,
-                  score_here,  buf_here, tops[r].addr, name );
-   }
-
-   VG_(printf)("\n");
-   VG_(printf)("-----------------------------------------------------------\n");
-   VG_(printf)("--- BB Profile (BB details)                             ---\n");
-   VG_(printf)("-----------------------------------------------------------\n");
-   VG_(printf)("\n");
-
-   score_cumul = 0;
-   for (r = 0; r < n_tops; r++) {
-      if (tops[r].addr == 0)
-         continue;
-      name[0] = 0;
-      VG_(get_fnname_w_offset)(tops[r].addr, name, 64);
-      name[63] = 0;
-      score_here = tops[r].score;
-      score_cumul += score_here;
-      VG_(percentify)(score_cumul, score_total, 2, 6, buf_cumul);
-      VG_(percentify)(score_here,  score_total, 2, 6, buf_here);
-      VG_(printf)("\n");
-      VG_(printf)("=-=-=-=-=-=-=-=-=-=-=-=-=-= begin BB rank %d "
-                  "=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n", r);
-      VG_(printf)("%3d: (%9lld %s)   %9lld %s      0x%llx %s\n",
-                  r,
-                  score_cumul, buf_cumul,
-                  score_here,  buf_here, tops[r].addr, name );
-      VG_(printf)("\n");
-      VG_(discard_translations)(tops[r].addr, 1, "bb profile");
-      VG_(translate)(0, tops[r].addr, True, VG_(clo_profile_flags), 0, True);
-      VG_(printf)("=-=-=-=-=-=-=-=-=-=-=-=-=-=  end BB rank %d  "
-                  "=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n", r);
-   }
-
-   VG_(printf)("\n");
-   VG_(printf)("-----------------------------------------------------------\n");
-   VG_(printf)("--- END BB Profile                                      ---\n");
-   VG_(printf)("-----------------------------------------------------------\n");
-   VG_(printf)("\n");
-}
-
-
-/*====================================================================*/
 /*=== main()                                                       ===*/
 /*====================================================================*/
 
@@ -1444,15 +1505,28 @@
 static
 Int valgrind_main ( Int argc, HChar **argv, HChar **envp )
 {
-   HChar*  toolname           = "memcheck";    // default to Memcheck
+   const HChar* toolname      = "memcheck";    // default to Memcheck
    Int     need_help          = 0; // 0 = no, 1 = --help, 2 = --help-debug
    ThreadId tid_main          = VG_INVALID_THREADID;
    Bool    logging_to_fd      = False;
-   Char* xml_fname_unexpanded = NULL;
+   HChar* xml_fname_unexpanded = NULL;
    Int     loglevel, i;
    struct vki_rlimit zero = { 0, 0 };
    XArray* addr2dihandle = NULL;
 
+   // For an inner Valgrind, register the interim stack asap.
+   // This is needed to allow the outer valgrind to do stacktraces during init.
+   // Note that this stack is not unregistered when the main thread
+   // is switching to the (real) stack. Unregistering this would imply
+   // to save the stack id in a global variable, and have a "if"
+   // in run_a_thread_NORETURN to do the unregistration only for the
+   // main thread. This unregistration is not worth this complexity.
+   INNER_REQUEST
+      ((void) VALGRIND_STACK_REGISTER
+       (&VG_(interim_stack).bytes[0],
+        &VG_(interim_stack).bytes[0] + sizeof(VG_(interim_stack))));
+
+
    //============================================================
    //
    // Nb: startup is complex.  Prerequisites are shown at every step.
@@ -1465,7 +1539,7 @@
    //============================================================
    
    /* This is needed to make VG_(getenv) usable early. */
-   VG_(client_envp) = (Char**)envp;
+   VG_(client_envp) = (HChar**)envp;
 
    //--------------------------------------------------------------
    // Start up Mach kernel interface, if any
@@ -1481,14 +1555,18 @@
    //--------------------------------------------------------------
    /* Start the debugging-log system ASAP.  First find out how many 
       "-d"s were specified.  This is a pre-scan of the command line.  Also
-      get --profile-heap=yes which is needed by the time we start up dynamic
-      memory management.  */
+      get --profile-heap=yes, --core-redzone-size, --redzone-size which are
+      needed by the time we start up dynamic memory management.  */
    loglevel = 0;
    for (i = 1; i < argc; i++) {
       if (argv[i][0] != '-') break;
       if VG_STREQ(argv[i], "--") break;
       if VG_STREQ(argv[i], "-d") loglevel++;
       if VG_BOOL_CLO(argv[i], "--profile-heap", VG_(clo_profile_heap)) {}
+      if VG_BINT_CLO(argv[i], "--core-redzone-size", VG_(clo_core_redzone_size),
+                     0, MAX_CLO_REDZONE_SZB) {}
+      if VG_BINT_CLO(argv[i], "--redzone-size", VG_(clo_redzone_size),
+                     0, MAX_CLO_REDZONE_SZB) {}
    }
 
    /* ... and start the debug logger.  Now we can safely emit logging
@@ -1504,7 +1582,24 @@
    VG_(debugLog)(1, "main", "Checking current stack is plausible\n");
    { HChar* limLo  = (HChar*)(&VG_(interim_stack).bytes[0]);
      HChar* limHi  = limLo + sizeof(VG_(interim_stack));
-     HChar* aLocal = (HChar*)&zero; /* any auto local will do */
+     HChar* volatile 
+            aLocal = (HChar*)&limLo; /* any auto local will do */
+     /* Re "volatile": Apple clang version 4.0
+        (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn)" appeared
+        to miscompile the following check, causing run to abort at
+        this point (in 64-bit mode) even though aLocal is within limLo
+        .. limHi.  But in fact clang is within its rights to do
+        strange things here.  "The reason is that the comparisons
+        aLocal < limLo and aLocal >= limHi cause undefined behaviour
+        (according to c99 6.5.8) because they compare pointers that do
+        not point into the same aggregate."  Adding "volatile" appears
+        to fix it because "The compiler would have to prove that there
+        is undefined behavior in order to exploit it.  But as a
+        volatile variable can change its value in ways invisible to
+        the compiler, the compiler must make the conservative
+        assumption that it points into the same aggregate as the other
+        pointer its compared against.  I.e. the behaviour is possibly
+        defined." (Analysis by Florian Krohm). */
      if (aLocal < limLo || aLocal >= limHi) {
         /* something's wrong.  Stop. */
         VG_(debugLog)(0, "main", "Root stack %p to %p, a local %p\n",
@@ -1535,8 +1630,10 @@
    //   p: logging, plausible-stack
    //--------------------------------------------------------------
    VG_(debugLog)(1, "main", "Starting the address space manager\n");
-   vg_assert(VKI_PAGE_SIZE     == 4096 || VKI_PAGE_SIZE     == 65536);
-   vg_assert(VKI_MAX_PAGE_SIZE == 4096 || VKI_MAX_PAGE_SIZE == 65536);
+   vg_assert(VKI_PAGE_SIZE     == 4096 || VKI_PAGE_SIZE     == 65536
+             || VKI_PAGE_SIZE     == 16384);
+   vg_assert(VKI_MAX_PAGE_SIZE == 4096 || VKI_MAX_PAGE_SIZE == 65536
+             || VKI_MAX_PAGE_SIZE == 16384);
    vg_assert(VKI_PAGE_SIZE <= VKI_MAX_PAGE_SIZE);
    vg_assert(VKI_PAGE_SIZE     == (1 << VKI_PAGE_SHIFT));
    vg_assert(VKI_MAX_PAGE_SIZE == (1 << VKI_MAX_PAGE_SHIFT));
@@ -1546,7 +1643,7 @@
    //--------------------------------------------------------------
    // Start up the dynamic memory manager
    //   p: address space management
-   //   p: getting --profile-heap
+   //   p: getting --profile-heap,--core-redzone-size,--redzone-size
    //   In fact m_mallocfree is self-initialising, so there's no
    //   initialisation call to do.  Instead, try a simple malloc/
    //   free pair right now to check that nothing is broken.
@@ -1614,6 +1711,7 @@
         VG_(printf)("   * x86 (practically any; Pentium-I or above), "
                     "AMD Athlon or above)\n");
         VG_(printf)("   * AMD Athlon64/Opteron\n");
+        VG_(printf)("   * ARM (armv7)\n");
         VG_(printf)("   * PowerPC (most; ppc405 and above)\n");
         VG_(printf)("   * System z (64bit only - s390x; z900 and above)\n");
         VG_(printf)("\n");
@@ -1636,7 +1734,7 @@
         VG_(err_config_error)( "Can't establish current working "
                                "directory at startup\n");
    }
-   { Char buf[VKI_PATH_MAX+1];
+   { HChar buf[VKI_PATH_MAX+1];
      Bool ok = VG_(get_startup_wd)( buf, sizeof(buf) );
      vg_assert(ok);
      buf[VKI_PATH_MAX] = 0;
@@ -1738,17 +1836,20 @@
    setup_file_descriptors();
 
    //--------------------------------------------------------------
-   // create the fake /proc/<pid>/cmdline file and then unlink it,
-   // but hold onto the fd, so we can hand it out to the client
-   // when it tries to open /proc/<pid>/cmdline for itself.
+   // create fake /proc/<pid>/cmdline and /proc/<pid>/auxv files
+   // and then unlink them, but hold onto the fds, so we can handr
+   // them out to the client when it tries to open
+   // /proc/<pid>/cmdline or /proc/<pid>/auxv for itself.
    //   p: setup file descriptors
+   //   p: ii_create_image for VG_(client_auxv) setup.
    //--------------------------------------------------------------
 #if !defined(VGO_linux)
    // client shouldn't be using /proc!
    VG_(cl_cmdline_fd) = -1;
+   VG_(cl_auxv_fd) = -1;
 #else
    if (!need_help) {
-      HChar  buf[50], buf2[50+64];
+      HChar  buf[50], buf2[VG_(mkstemp_fullname_bufsz)(50-1)];
       HChar  nul[1];
       Int    fd, r;
       const HChar* exename;
@@ -1782,6 +1883,35 @@
          VG_(err_config_error)("Can't delete client cmdline file in %s\n", buf2);
 
       VG_(cl_cmdline_fd) = fd;
+
+      VG_(debugLog)(1, "main", "Create fake /proc/<pid>/auxv\n");
+
+      VG_(sprintf)(buf, "proc_%d_auxv", VG_(getpid)());
+      fd = VG_(mkstemp)( buf, buf2 );
+      if (fd == -1)
+         VG_(err_config_error)("Can't create client auxv file in %s\n", buf2);
+
+      UWord *client_auxv = VG_(client_auxv);
+      unsigned int client_auxv_len = 0;
+      while (*client_auxv != 0) {
+         client_auxv++;
+         client_auxv++;
+         client_auxv_len += 2 * sizeof(UWord);
+      }
+      client_auxv_len += 2 * sizeof(UWord);
+
+      VG_(write)(fd, VG_(client_auxv), client_auxv_len);
+
+      /* Don't bother to seek the file back to the start; instead do
+	 it every time a copy of it is given out (by PRE(sys_open)). 
+	 That is probably more robust across fork() etc. */
+
+      /* Now delete it, but hang on to the fd. */
+      r = VG_(unlink)( buf2 );
+      if (r)
+         VG_(err_config_error)("Can't delete client auxv file in %s\n", buf2);
+
+      VG_(cl_auxv_fd) = fd;
    }
 #endif
 
@@ -1845,7 +1975,7 @@
       /* The tool's "needs" will by now be finalised, since it has no
          further opportunity to specify them.  So now sanity check
          them. */
-      Char* s;
+      const HChar* s;
       Bool  ok;
       ok = VG_(sanity_check_needs)( &s );
       if (!ok) {
@@ -1890,6 +2020,8 @@
       iters = 5;
 #     elif defined(VGP_s390x_linux)
       iters = 10;
+#     elif defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+      iters = 10;
 #     elif defined(VGO_darwin)
       iters = 3;
 #     else
@@ -2324,7 +2456,7 @@
 
    /* Print out file descriptor summary and stats. */
    if (VG_(clo_track_fds))
-      VG_(show_open_fds)();
+      VG_(show_open_fds)("at exit");
 
    /* Call the tool's finalisation function.  This makes Memcheck's
       leak checker run, and possibly chuck a bunch of leak errors into
@@ -2360,11 +2492,11 @@
       VG_(print_arena_cc_analysis)();
    }
 
-   if (VG_(clo_profile_flags) > 0) {
-      #define N_MAX 200
-      BBProfEntry tops[N_MAX];
-      ULong score_total = VG_(get_BB_profile) (tops, N_MAX);
-      show_BB_profile(tops, N_MAX, score_total);
+   /* If profiling has been requested, but with zero interval, it
+      means "profile at the end of the run only".  In which case we
+      need to dump the profile now. */
+   if (VG_(clo_profyle_sbs) && VG_(clo_profyle_interval) == 0) {
+      VG_(get_and_show_SB_profile)(0/*denoting end-of-run*/);
    }
 
    /* Print Vex storage stats */
@@ -2374,9 +2506,10 @@
    /* Flush any output cached by previous calls to VG_(message). */
    VG_(message_flush)();
 
-   /* terminate gdbserver if ever it was started. We terminate it here so that it get
-      the output above if output was redirected to gdb */
-   VG_(gdbserver) (0);
+   /* terminate gdbserver if ever it was started. We terminate it here
+      so that it get the output above if output was redirected to
+      gdb */
+   VG_(gdbserver_exit) (tid, tids_schedretcode);
 
    /* Ok, finally exit in the os-specific way, according to the scheduler's
       return code.  In short, if the (last) thread exited by calling
@@ -2469,6 +2602,10 @@
 #  if defined(VGP_ppc64_linux)
    VG_(threads)[tid].arch.vex.guest_GPR2 = r2;
 #  endif
+   /* mips-linux note: we need to set t9 */
+#  if defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+   VG_(threads)[tid].arch.vex.guest_r25 = __libc_freeres_wrapper;
+#  endif
 
    /* Block all blockable signals by copying the real block state into
       the thread's block state*/
@@ -2511,8 +2648,8 @@
 
    From this derive two requirements:
 
-   1. gcc may emit calls to memcpy and memset to deal with structure
-      assignments etc.  Since we have chosen to ignore all the
+   1. gcc may emit calls to memcpy, memmove and memset to deal with
+      structure assignments etc.  Since we have chosen to ignore all the
       "normal" supporting libraries, we have to provide our own
       implementations of them.  No problem.
 
@@ -2526,6 +2663,10 @@
 void* memcpy(void *dest, const void *src, SizeT n) {
    return VG_(memcpy)(dest,src,n);
 }
+void* memmove(void *dest, const void *src, SizeT n);
+void* memmove(void *dest, const void *src, SizeT n) {
+   return VG_(memmove)(dest,src,n);
+}
 void* memset(void *s, int c, SizeT n);
 void* memset(void *s, int c, SizeT n) {
   return VG_(memset)(s,c,n);
@@ -2690,7 +2831,14 @@
        call _start_in_C_linux, passing it the initial SP. */
     "\tmr 3,1\n"
     "\tmr 1,16\n"
-    "\tbl ._start_in_C_linux\n"
+    "\tlis  14,   _start_in_C_linux@highest\n"
+    "\tori  14,14,_start_in_C_linux@higher\n"
+    "\tsldi 14,14,32\n"
+    "\toris 14,14,_start_in_C_linux@h\n"
+    "\tori  14,14,_start_in_C_linux@l\n"
+    "\tld 14,0(14)\n"
+    "\tmtctr 14\n"
+    "\tbctrl\n"
     "\tnop\n"
     "\ttrap\n"
 );
@@ -2757,6 +2905,89 @@
     "\t.word "VG_STRINGIFY(VG_STACK_GUARD_SZB)"\n"
     "\t.word "VG_STRINGIFY(VG_STACK_ACTIVE_SZB)"\n"
 );
+#elif defined(VGP_mips32_linux)
+asm("\n"
+    "\t.type _gp_disp,@object\n"
+    ".text\n"
+    "\t.globl __start\n"
+    "\t.type __start,@function\n"
+    "__start:\n"
+
+    "\tbal 1f\n"
+    "\tnop\n"
+    
+    "1:\n"    
+
+    "\tlui      $28, %hi(_gp_disp)\n"
+    "\taddiu    $28, $28, %lo(_gp_disp)\n"
+    "\taddu     $28, $28, $31\n"
+    /* t1/$9 <- Addr(interim_stack) */
+    "\tlui      $9, %hi(vgPlain_interim_stack)\n"
+    /* t1/$9 <- Addr(interim_stack) */
+    "\taddiu    $9, %lo(vgPlain_interim_stack)\n"
+
+
+    "\tli    $10, "VG_STRINGIFY(VG_STACK_GUARD_SZB)"\n"
+    "\tli    $11, "VG_STRINGIFY(VG_STACK_ACTIVE_SZB)"\n"
+    
+    "\taddu     $9, $9, $10\n"
+    "\taddu     $9, $9, $11\n"
+    "\tli       $12, 0xFFFFFFF0\n"
+    "\tand      $9, $9, $12\n"
+    /* now t1/$9 = &vgPlain_interim_stack + VG_STACK_GUARD_SZB +
+       VG_STACK_ACTIVE_SZB rounded down to the nearest 16-byte
+       boundary.  And $29 is the original SP.  Set the SP to t1 and
+       call _start_in_C, passing it the initial SP. */
+       
+    "\tmove    $4, $29\n"     // a0 <- $sp (_start_in_C first arg)
+    "\tmove    $29, $9\n"     // $sp <- t1 (new sp)
+    
+    "\tlui     $25, %hi(_start_in_C_linux)\n"
+    "\taddiu   $25, %lo(_start_in_C_linux)\n"
+    
+    "\tbal  _start_in_C_linux\n"
+    "\tbreak  0x7\n"
+    ".previous\n"
+);
+#elif defined(VGP_mips64_linux)
+asm(
+".text\n"
+".globl __start\n"
+".type __start,@function\n"
+"__start:\n"
+    "\t.set noreorder\n"
+    "\t.cpload $25\n"
+    "\t.set reorder\n"
+    "\t.cprestore 16\n"
+    "\tlui    $9, %hi(vgPlain_interim_stack)\n"
+    /* t1/$9 <- Addr(interim_stack) */
+    "\tdaddiu $9, %lo(vgPlain_interim_stack)\n"
+
+    "\tli     $10, "VG_STRINGIFY(VG_STACK_GUARD_SZB)"\n"
+    "\tli     $11, "VG_STRINGIFY(VG_STACK_ACTIVE_SZB)"\n"
+
+    "\tdaddu  $9, $9, $10\n"
+    "\tdaddu  $9, $9, $11\n"
+    "\tli     $12, 0xFFFFFF00\n"
+    "\tand    $9, $9, $12\n"
+    /* now t1/$9 = &vgPlain_interim_stack + VG_STACK_GUARD_SZB +
+       VG_STACK_ACTIVE_SZB rounded down to the nearest 16-byte
+       boundary.  And $29 is the original SP.  Set the SP to t1 and
+       call _start_in_C, passing it the initial SP. */
+
+    "\tmove   $4, $29\n"     // a0 <- $sp (_start_in_C first arg)
+    "\tmove   $29, $9\n"     // $sp <- t1 (new sp)
+
+    "\tlui    $9, %highest(_start_in_C_linux)\n"
+    "\tori    $9, %higher(_start_in_C_linux)\n"
+    "\tdsll32 $9, $9, 0x0\n"
+    "\tlui    $10, %hi(_start_in_C_linux)\n"
+    "\tdaddiu $10, %lo(_start_in_C_linux)\n"
+    "\tdaddu  $25, $9, $10\n"
+    "\tjalr   $25\n"
+    "\tnop\n"
+".end __start\n"
+);
 #else
 #  error "Unknown linux platform"
 #endif
@@ -2769,8 +3000,12 @@
 /* --- !!! --- EXTERNAL HEADERS end --- !!! --- */
 
 /* Avoid compiler warnings: this fn _is_ used, but labelling it
-   'static' causes gcc to complain it isn't. */
+   'static' causes gcc to complain it isn't.
+   attribute 'used' also ensures the code is not eliminated at link
+   time */
+__attribute__ ((used))
 void _start_in_C_linux ( UWord* pArgc );
+__attribute__ ((used))
 void _start_in_C_linux ( UWord* pArgc )
 {
    Int     r;
diff --git a/coregrind/m_mallocfree.c b/coregrind/m_mallocfree.c
index 40c12f6..16bc81d 100644
--- a/coregrind/m_mallocfree.c
+++ b/coregrind/m_mallocfree.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -191,7 +191,7 @@
 // elastic, in that it can be bigger than asked-for to ensure alignment.
 typedef
    struct {
-      Char*        name;
+      const HChar* name;
       Bool         clientmem;        // Allocates in the client address space?
       SizeT        rz_szB;           // Red zone size in bytes
       SizeT        min_sblock_szB;   // Minimum superblock size in bytes
@@ -218,8 +218,17 @@
       SizeT        sblocks_used;
       Superblock*  sblocks_initial[SBLOCKS_SIZE_INITIAL];
       Superblock*  deferred_reclaimed_sb;
-      
-      // Stats only.
+
+      // VG_(arena_perm_malloc) returns memory from superblocks
+      // only used for permanent blocks. No overhead. These superblocks
+      // are not stored in sblocks array above.
+      Addr         perm_malloc_current; // first byte free in perm_malloc sb.
+      Addr         perm_malloc_limit; // maximum usable byte in perm_malloc sb.
+
+      // Stats only
+      SizeT        stats__perm_bytes_on_loan;
+      SizeT        stats__perm_blocks;
+
       ULong        stats__nreclaim_unsplit;
       ULong        stats__nreclaim_split;
       /* total # of reclaim executed for unsplittable/splittable superblocks */
@@ -243,7 +252,7 @@
 
 #define SIZE_T_0x1      ((SizeT)0x1)
 
-static char* probably_your_fault =
+static const char* probably_your_fault =
    "This is probably caused by your program erroneously writing past the\n"
    "end of a heap block and corrupting heap metadata.  If you fix any\n"
    "invalid writes reported by Memcheck, this assertion failure will\n"
@@ -269,6 +278,10 @@
    return bszB & (~SIZE_T_0x1);
 }
 
+// Forward definition.
+static
+void ensure_mm_init ( ArenaId aid );
+
 // return either 0 or sizeof(ULong) depending on whether or not
 // heap profiling is engaged
 #define hp_overhead_szB() set_at_init_hp_overhead_szB
@@ -420,18 +433,18 @@
 
 // Set and get the cost-center field of a block.
 static __inline__
-void set_cc ( Block* b, HChar* cc )
+void set_cc ( Block* b, const HChar* cc )
 { 
    UByte* b2 = (UByte*)b;
    vg_assert( VG_(clo_profile_heap) );
-   *(HChar**)&b2[0] = cc;
+   *(const HChar**)&b2[0] = cc;
 }
 static __inline__
-HChar* get_cc ( Block* b )
+const HChar* get_cc ( Block* b )
 {
    UByte* b2 = (UByte*)b;
    vg_assert( VG_(clo_profile_heap) );
-   return *(HChar**)&b2[0];
+   return *(const HChar**)&b2[0];
 }
 
 //---------------------------------------------------------------------------
@@ -491,24 +504,51 @@
    return & vg_arena[arena];
 }
 
-// Initialise an arena.  rz_szB is the minimum redzone size;  it might be
-// made bigger to ensure that VG_MIN_MALLOC_SZB is observed.
+static ArenaId arenaP_to_ArenaId ( Arena *a )
+{
+   ArenaId arena = a -vg_arena; 
+   vg_assert(arena >= 0 && arena < VG_N_ARENAS);
+   return arena;
+}
+
+SizeT VG_(malloc_effective_client_redzone_size)(void)
+{
+   vg_assert(VG_(needs).malloc_replacement);
+   ensure_mm_init (VG_AR_CLIENT);
+   /*  ensure_mm_init will call arena_init if not yet done.
+       This then ensures that the arena redzone size is properly
+       initialised. */
+   return arenaId_to_ArenaP(VG_AR_CLIENT)->rz_szB;
+}
+
+// Initialise an arena.  rz_szB is the (default) minimum redzone size;
+// It might be overriden by VG_(clo_redzone_size) or VG_(clo_core_redzone_size).
+// it might be made bigger to ensure that VG_MIN_MALLOC_SZB is observed.
 static
-void arena_init ( ArenaId aid, Char* name, SizeT rz_szB,
+void arena_init ( ArenaId aid, const HChar* name, SizeT rz_szB,
                   SizeT min_sblock_szB, SizeT min_unsplittable_sblock_szB )
 {
    SizeT  i;
    Arena* a = arenaId_to_ArenaP(aid);
+
+   // Ensure default redzones are a reasonable size.  
+   vg_assert(rz_szB <= MAX_REDZONE_SZB);
    
-   // Ensure redzones are a reasonable size.  They must always be at least
-   // the size of a pointer, for holding the prev/next pointer (see the layout
-   // details at the top of this file).
-   vg_assert(rz_szB < 128);
+   /* Override the default redzone size if a clo value was given.
+      Note that the clo value can be significantly bigger than MAX_REDZONE_SZB
+      to allow the user to chase horrible bugs using up to 1 page
+      of protection. */
+   if (VG_AR_CLIENT == aid) {
+      if (VG_(clo_redzone_size) != -1)
+         rz_szB = VG_(clo_redzone_size);
+   } else {
+      if (VG_(clo_core_redzone_size) != rz_szB)
+         rz_szB = VG_(clo_core_redzone_size);
+   }
+
+   // Redzones must always be at least the size of a pointer, for holding the
+   // prev/next pointer (see the layout details at the top of this file).
    if (rz_szB < sizeof(void*)) rz_szB = sizeof(void*);
-   
-   vg_assert((min_sblock_szB % VKI_PAGE_SIZE) == 0);
-   a->name      = name;
-   a->clientmem = ( VG_AR_CLIENT == aid ? True : False );
 
    // The size of the low and high admin sections in a block must be a
    // multiple of VG_MIN_MALLOC_SZB.  So we round up the asked-for
@@ -517,6 +557,13 @@
    while (0 != overhead_szB_lo(a) % VG_MIN_MALLOC_SZB) a->rz_szB++;
    vg_assert(overhead_szB_lo(a) - hp_overhead_szB() == overhead_szB_hi(a));
 
+   // Here we have established the effective redzone size.
+
+
+   vg_assert((min_sblock_szB % VKI_PAGE_SIZE) == 0);
+   a->name      = name;
+   a->clientmem = ( VG_AR_CLIENT == aid ? True : False );
+
    a->min_sblock_szB = min_sblock_szB;
    a->min_unsplittable_sblock_szB = min_unsplittable_sblock_szB;
    for (i = 0; i < N_MALLOC_LISTS; i++) a->freelist[i] = NULL;
@@ -524,6 +571,11 @@
    a->sblocks                  = & a->sblocks_initial[0];
    a->sblocks_size             = SBLOCKS_SIZE_INITIAL;
    a->sblocks_used             = 0;
+   a->deferred_reclaimed_sb    = 0;
+   a->perm_malloc_current      = 0;
+   a->perm_malloc_limit        = 0;
+   a->stats__perm_bytes_on_loan= 0;
+   a->stats__perm_blocks       = 0;
    a->stats__nreclaim_unsplit  = 0;
    a->stats__nreclaim_split    = 0;
    a->stats__bytes_on_loan     = 0;
@@ -545,18 +597,19 @@
    for (i = 0; i < VG_N_ARENAS; i++) {
       Arena* a = arenaId_to_ArenaP(i);
       VG_(message)(Vg_DebugMsg,
-                   "%8s: %8ld/%8ld  max/curr mmap'd, "
+                   "%8s: %8lu/%8lu  max/curr mmap'd, "
                    "%llu/%llu unsplit/split sb unmmap'd,  "
-                   "%8ld/%8ld max/curr,  "
+                   "%8lu/%8lu max/curr,  "
                    "%10llu/%10llu totalloc-blocks/bytes,"
-                   "  %10llu searches\n",
+                   "  %10llu searches %lu rzB\n",
                    a->name,
                    a->stats__bytes_mmaped_max, a->stats__bytes_mmaped,
                    a->stats__nreclaim_unsplit, a->stats__nreclaim_split,
                    a->stats__bytes_on_loan_max,
                    a->stats__bytes_on_loan,
                    a->stats__tot_blocks, a->stats__tot_bytes,
-                   a->stats__nsearches
+                   a->stats__nsearches,
+                   a->rz_szB
       );
    }
 }
@@ -615,8 +668,7 @@
       // Check and set the client arena redzone size
       if (VG_(needs).malloc_replacement) {
          client_rz_szB = VG_(tdict).tool_client_redzone_szB;
-         // 128 is no special figure, just something not too big
-         if (client_rz_szB > 128) {
+         if (client_rz_szB > MAX_REDZONE_SZB) {
             VG_(printf)( "\nTool error:\n"
                          "  specified redzone size is too big (%llu)\n", 
                          (ULong)client_rz_szB);
@@ -641,13 +693,20 @@
          VG_(clo_profile_heap)  ? VG_MIN_MALLOC_SZB  : 0;
       // Initialise the non-client arenas
       // Similarly to client arena, big allocations will be unsplittable.
-      arena_init ( VG_AR_CORE,      "core",     4,   1048576, 1048576+1 );
-      arena_init ( VG_AR_TOOL,      "tool",     4,   4194304, 4194304+1 );
-      arena_init ( VG_AR_DINFO,     "dinfo",    4,   1048576, 1048576+1 );
-      arena_init ( VG_AR_DEMANGLE,  "demangle", 4,     65536,   65536+1 );
-      arena_init ( VG_AR_EXECTXT,   "exectxt",  4,   1048576, 1048576+1 );
-      arena_init ( VG_AR_ERRORS,    "errors",   4,     65536,   65536+1 );
-      arena_init ( VG_AR_TTAUX,     "ttaux",    4,     65536,   65536+1 );
+      arena_init ( VG_AR_CORE,      "core",     CORE_REDZONE_DEFAULT_SZB,
+                   1048576, 1048576+1 );
+      arena_init ( VG_AR_TOOL,      "tool",     CORE_REDZONE_DEFAULT_SZB,
+                   4194304, 4194304+1 );
+      arena_init ( VG_AR_DINFO,     "dinfo",    CORE_REDZONE_DEFAULT_SZB,
+                   1048576, 1048576+1 );
+      arena_init ( VG_AR_DEMANGLE,  "demangle", CORE_REDZONE_DEFAULT_SZB,
+                   65536,   65536+1 );
+      arena_init ( VG_AR_EXECTXT,   "exectxt",  CORE_REDZONE_DEFAULT_SZB,
+                   1048576, 1048576+1 );
+      arena_init ( VG_AR_ERRORS,    "errors",   CORE_REDZONE_DEFAULT_SZB,
+                   65536,   65536+1 );
+      arena_init ( VG_AR_TTAUX,     "ttaux",    CORE_REDZONE_DEFAULT_SZB,
+                   65536,   65536+1 );
       nonclient_inited = True;
    }
 
@@ -664,11 +723,16 @@
 /*------------------------------------------------------------*/
 
 __attribute__((noreturn))
-void VG_(out_of_memory_NORETURN) ( HChar* who, SizeT szB )
+void VG_(out_of_memory_NORETURN) ( const HChar* who, SizeT szB )
 {
-   static Bool alreadyCrashing = False;
+   static Int outputTrial = 0;
+   // We try once to output the full memory state followed by the below message.
+   // If that fails (due to out of memory during first trial), we try to just
+   // output the below message.
+   // And then we abandon.
+   
    ULong tot_alloc = VG_(am_get_anonsize_total)();
-   Char* s1 = 
+   const HChar* s1 = 
       "\n"
       "    Valgrind's memory management: out of memory:\n"
       "       %s's request for %llu bytes failed.\n"
@@ -691,8 +755,15 @@
       "    3GB per process.\n\n"
       "    Whatever the reason, Valgrind cannot continue.  Sorry.\n";
 
-   if (!alreadyCrashing) {
-      alreadyCrashing = True;
+   if (outputTrial <= 1) {
+      if (outputTrial == 0) {
+         outputTrial++;
+         VG_(am_show_nsegments) (0, "out_of_memory");
+         VG_(print_all_arena_stats) ();
+         if (VG_(clo_profile_heap))
+            VG_(print_arena_cc_analysis) ();
+      }
+      outputTrial++;
       VG_(message)(Vg_UserMsg, s1, who, (ULong)szB, tot_alloc);
    } else {
       VG_(debugLog)(0,"mallocfree", s1, who, (ULong)szB, tot_alloc);
@@ -760,9 +831,7 @@
       // Mark this segment as containing client heap.  The leak
       // checker needs to be able to identify such segments so as not
       // to use them as sources of roots during leak checks.
-      VG_(am_set_segment_isCH_if_SkAnonC)( 
-         (NSegment*) VG_(am_find_nsegment)( (Addr)sb )
-      );
+      VG_(am_set_segment_isCH_if_SkAnonC)( VG_(am_find_nsegment)( (Addr)sb ) );
    } else {
       // non-client allocation -- abort if it fails
       if (unsplittable)
@@ -1157,6 +1226,8 @@
       }
    }
 
+   arena_bytes_on_loan += a->stats__perm_bytes_on_loan;
+
    if (arena_bytes_on_loan != a->stats__bytes_on_loan) {
 #     ifdef VERBOSE_MALLOC
       VG_(printf)( "sanity_check_malloc_arena: a->bytes_on_loan %lu, "
@@ -1222,13 +1293,17 @@
 
 #define N_AN_CCS 1000
 
-typedef struct { ULong nBytes; ULong nBlocks; HChar* cc; } AnCC;
+typedef struct {
+   ULong nBytes;
+   ULong nBlocks;
+   const HChar* cc;
+} AnCC;
 
 static AnCC anCCs[N_AN_CCS];
 
-static Int cmp_AnCC_by_vol ( void* v1, void* v2 ) {
-   AnCC* ancc1 = (AnCC*)v1;
-   AnCC* ancc2 = (AnCC*)v2;
+static Int cmp_AnCC_by_vol ( const void* v1, const void* v2 ) {
+   const AnCC* ancc1 = v1;
+   const AnCC* ancc2 = v2;
    if (ancc1->nBytes < ancc2->nBytes) return -1;
    if (ancc1->nBytes > ancc2->nBytes) return 1;
    return 0;
@@ -1242,7 +1317,7 @@
    Bool        thisFree, lastWasFree;
    SizeT       b_bszB;
 
-   HChar* cc;
+   const HChar* cc;
    UInt n_ccs = 0;
    //return;
    a = arenaId_to_ArenaP(aid);
@@ -1257,10 +1332,11 @@
    VG_(printf)(
       "-------- Arena \"%s\": %lu/%lu max/curr mmap'd, "
       "%llu/%llu unsplit/split sb unmmap'd, "
-      "%lu/%lu max/curr on_loan --------\n",
+      "%lu/%lu max/curr on_loan %lu rzB --------\n",
       a->name, a->stats__bytes_mmaped_max, a->stats__bytes_mmaped,
       a->stats__nreclaim_unsplit, a->stats__nreclaim_split,
-      a->stats__bytes_on_loan_max, a->stats__bytes_on_loan 
+      a->stats__bytes_on_loan_max, a->stats__bytes_on_loan,
+      a->rz_szB
    );
 
    for (j = 0; j < a->sblocks_used; ++j) {
@@ -1317,6 +1393,14 @@
       }
    }
 
+   if (a->stats__perm_bytes_on_loan > 0) {
+      tl_assert(n_ccs < N_AN_CCS-1);
+      anCCs[n_ccs].nBytes  = a->stats__perm_bytes_on_loan;
+      anCCs[n_ccs].nBlocks = a->stats__perm_blocks;
+      anCCs[n_ccs].cc      = "perm_malloc";
+      n_ccs++;
+   }
+
    VG_(ssort)( &anCCs[0], n_ccs, sizeof(anCCs[0]), cmp_AnCC_by_vol );
 
    for (k = 0; k < n_ccs; k++) {
@@ -1429,7 +1513,26 @@
    return ((req_pszB + n) & (~n));
 }
 
-void* VG_(arena_malloc) ( ArenaId aid, HChar* cc, SizeT req_pszB )
+static
+void add_one_block_to_stats (Arena* a, SizeT loaned)
+{
+   a->stats__bytes_on_loan += loaned;
+   if (a->stats__bytes_on_loan > a->stats__bytes_on_loan_max) {
+      a->stats__bytes_on_loan_max = a->stats__bytes_on_loan;
+      if (a->stats__bytes_on_loan_max >= a->next_profile_at) {
+         /* next profile after 10% more growth */
+         a->next_profile_at 
+            = (SizeT)( 
+                 (((ULong)a->stats__bytes_on_loan_max) * 105ULL) / 100ULL );
+         if (VG_(clo_profile_heap))
+            cc_analyse_alloc_arena(arenaP_to_ArenaId (a));
+      }
+   }
+   a->stats__tot_blocks += (ULong)1;
+   a->stats__tot_bytes  += (ULong)loaned;
+}
+
+void* VG_(arena_malloc) ( ArenaId aid, const HChar* cc, SizeT req_pszB )
 {
    SizeT       req_bszB, frag_bszB, b_bszB;
    UInt        lno, i;
@@ -1584,20 +1687,7 @@
 
    // Update stats
    SizeT loaned = bszB_to_pszB(a, b_bszB);
-   a->stats__bytes_on_loan += loaned;
-   if (a->stats__bytes_on_loan > a->stats__bytes_on_loan_max) {
-      a->stats__bytes_on_loan_max = a->stats__bytes_on_loan;
-      if (a->stats__bytes_on_loan_max >= a->next_profile_at) {
-         /* next profile after 10% more growth */
-         a->next_profile_at 
-            = (SizeT)( 
-                 (((ULong)a->stats__bytes_on_loan_max) * 105ULL) / 100ULL );
-         if (VG_(clo_profile_heap))
-            cc_analyse_alloc_arena(aid);
-      }
-   }
-   a->stats__tot_blocks += (ULong)1;
-   a->stats__tot_bytes  += (ULong)loaned;
+   add_one_block_to_stats (a, loaned);
    a->stats__nsearches  += (ULong)stats__nsearches;
 
 #  ifdef DEBUG_MALLOC
@@ -1902,7 +1992,7 @@
    .    .               .   .   .               .   .
 
 */
-void* VG_(arena_memalign) ( ArenaId aid, HChar* cc, 
+void* VG_(arena_memalign) ( ArenaId aid, const HChar* cc, 
                             SizeT req_alignB, SizeT req_pszB )
 {
    SizeT  base_pszB_req, base_pszB_act, frag_bszB;
@@ -1920,10 +2010,11 @@
    // this allocation; it isn't optional.
    vg_assert(cc);
 
+   // Check that the requested alignment has a plausible size.
    // Check that the requested alignment seems reasonable; that is, is
    // a power of 2.
    if (req_alignB < VG_MIN_MALLOC_SZB
-       || req_alignB > 1048576
+       || req_alignB > 16 * 1024 * 1024
        || VG_(log2)( req_alignB ) == -1 /* not a power of 2 */) {
       VG_(printf)("VG_(arena_memalign)(%p, %lu, %lu)\n"
                   "bad alignment value %lu\n"
@@ -2096,11 +2187,11 @@
 /*--- Services layered on top of malloc/free.              ---*/
 /*------------------------------------------------------------*/
 
-void* VG_(arena_calloc) ( ArenaId aid, HChar* cc,
+void* VG_(arena_calloc) ( ArenaId aid, const HChar* cc,
                           SizeT nmemb, SizeT bytes_per_memb )
 {
    SizeT  size;
-   UChar* p;
+   void*  p;
 
    size = nmemb * bytes_per_memb;
    vg_assert(size >= nmemb && size >= bytes_per_memb);// check against overflow
@@ -2113,12 +2204,12 @@
 }
 
 
-void* VG_(arena_realloc) ( ArenaId aid, HChar* cc, 
+void* VG_(arena_realloc) ( ArenaId aid, const HChar* cc, 
                            void* ptr, SizeT req_pszB )
 {
    Arena* a;
    SizeT  old_pszB;
-   UChar  *p_new;
+   void*  p_new;
    Block* b;
 
    ensure_mm_init(aid);
@@ -2156,12 +2247,12 @@
 
 
 /* Inline just for the wrapper VG_(strdup) below */
-__inline__ Char* VG_(arena_strdup) ( ArenaId aid, HChar* cc, 
-                                     const Char* s )
+__inline__ HChar* VG_(arena_strdup) ( ArenaId aid, const HChar* cc, 
+                                      const HChar* s )
 {
    Int   i;
    Int   len;
-   Char* res;
+   HChar* res;
 
    if (s == NULL)
       return NULL;
@@ -2174,6 +2265,36 @@
    return res;
 }
 
+void* VG_(arena_perm_malloc) ( ArenaId aid, SizeT size, Int align  )
+{
+   Arena*      a;
+
+   ensure_mm_init(aid);
+   a = arenaId_to_ArenaP(aid);
+
+   align = align - 1;
+   size = (size + align) & ~align;
+
+   if (UNLIKELY(a->perm_malloc_current + size > a->perm_malloc_limit)) {
+      // Get a superblock, but we will not insert it into the superblock list.
+      // The superblock structure is not needed, so we will use the full
+      // memory range of it. This superblock is however counted in the
+      // mmaped statistics.
+      Superblock* new_sb = newSuperblock (a, size);
+      a->perm_malloc_limit = (Addr)&new_sb->payload_bytes[new_sb->n_payload_bytes - 1];
+
+      // We do not mind starting allocating from the beginning of the superblock
+      // as afterwards, we "lose" it as a superblock.
+      a->perm_malloc_current = (Addr)new_sb;
+   }
+
+   a->stats__perm_blocks += 1;
+   a->stats__perm_bytes_on_loan  += size;
+   add_one_block_to_stats (a, size);
+
+   a->perm_malloc_current        += size;
+   return (void*)(a->perm_malloc_current - size);
+}
 
 /*------------------------------------------------------------*/
 /*--- Tool-visible functions.                              ---*/
@@ -2181,7 +2302,7 @@
 
 // All just wrappers to avoid exposing arenas to tools.
 
-void* VG_(malloc) ( HChar* cc, SizeT nbytes )
+void* VG_(malloc) ( const HChar* cc, SizeT nbytes )
 {
    return VG_(arena_malloc) ( VG_AR_TOOL, cc, nbytes );
 }
@@ -2191,17 +2312,17 @@
    VG_(arena_free) ( VG_AR_TOOL, ptr );
 }
 
-void* VG_(calloc) ( HChar* cc, SizeT nmemb, SizeT bytes_per_memb )
+void* VG_(calloc) ( const HChar* cc, SizeT nmemb, SizeT bytes_per_memb )
 {
    return VG_(arena_calloc) ( VG_AR_TOOL, cc, nmemb, bytes_per_memb );
 }
 
-void* VG_(realloc) ( HChar* cc, void* ptr, SizeT size )
+void* VG_(realloc) ( const HChar* cc, void* ptr, SizeT size )
 {
    return VG_(arena_realloc) ( VG_AR_TOOL, cc, ptr, size );
 }
 
-Char* VG_(strdup) ( HChar* cc, const Char* s )
+HChar* VG_(strdup) ( const HChar* cc, const HChar* s )
 {
    return VG_(arena_strdup) ( VG_AR_TOOL, cc, s ); 
 }
@@ -2212,6 +2333,11 @@
    return VG_(arena_malloc_usable_size)(VG_AR_CLIENT, p);
 }                                                            
   
+void* VG_(perm_malloc) ( SizeT size, Int align  )
+{
+   return VG_(arena_perm_malloc) ( VG_AR_TOOL, size, align );
+}
+
 
 /*--------------------------------------------------------------------*/
 /*--- end                                                          ---*/
diff --git a/coregrind/m_options.c b/coregrind/m_options.c
index df00193..b8e3cac 100644
--- a/coregrind/m_options.c
+++ b/coregrind/m_options.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -47,44 +47,51 @@
 Bool   VG_(clo_error_limit)    = True;
 Int    VG_(clo_error_exitcode) = 0;
 
-#if defined(VGPV_arm_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
 VgVgdb VG_(clo_vgdb)           = Vg_VgdbNo; // currently disabled on Android
 #else
 VgVgdb VG_(clo_vgdb)           = Vg_VgdbYes;
 #endif
 Int    VG_(clo_vgdb_poll)      = 5000; 
 Int    VG_(clo_vgdb_error)     = 999999999;
-HChar* VG_(clo_vgdb_prefix)    = NULL;
+const HChar* VG_(clo_vgdb_prefix)    = NULL;
 Bool   VG_(clo_vgdb_shadow_registers) = False;
 
 Bool   VG_(clo_db_attach)      = False;
-Char*  VG_(clo_db_command)     = GDB_PATH " -nw %f %p";
+const HChar*  VG_(clo_db_command)     = GDB_PATH " -nw %f %p";
 Int    VG_(clo_gen_suppressions) = 0;
 Int    VG_(clo_sanity_level)   = 1;
 Int    VG_(clo_verbosity)      = 1;
 Bool   VG_(clo_stats)          = False;
 Bool   VG_(clo_xml)            = False;
-HChar* VG_(clo_xml_user_comment) = NULL;
+const HChar* VG_(clo_xml_user_comment) = NULL;
 Bool   VG_(clo_demangle)       = True;
+const HChar* VG_(clo_soname_synonyms)    = NULL;
 Bool   VG_(clo_trace_children) = False;
-HChar* VG_(clo_trace_children_skip) = NULL;
-HChar* VG_(clo_trace_children_skip_by_arg) = NULL;
+const HChar* VG_(clo_trace_children_skip) = NULL;
+const HChar* VG_(clo_trace_children_skip_by_arg) = NULL;
 Bool   VG_(clo_child_silent_after_fork) = False;
-Char*  VG_(clo_log_fname_expanded) = NULL;
-Char*  VG_(clo_xml_fname_expanded) = NULL;
+HChar* VG_(clo_log_fname_expanded) = NULL;
+HChar* VG_(clo_xml_fname_expanded) = NULL;
 Bool   VG_(clo_time_stamp)     = False;
 Int    VG_(clo_input_fd)       = 0; /* stdin */
 Int    VG_(clo_n_suppressions) = 0;
-Char*  VG_(clo_suppressions)[VG_CLO_MAX_SFILES];
+const HChar* VG_(clo_suppressions)[VG_CLO_MAX_SFILES];
 Int    VG_(clo_n_fullpath_after) = 0;
-Char*  VG_(clo_fullpath_after)[VG_CLO_MAX_FULLPATH_AFTER];
+const HChar* VG_(clo_fullpath_after)[VG_CLO_MAX_FULLPATH_AFTER];
+const HChar* VG_(clo_extra_debuginfo_path) = NULL;
+const HChar* VG_(clo_debuginfo_server) = NULL;
+Bool   VG_(clo_allow_mismatched_debuginfo) = False;
 UChar  VG_(clo_trace_flags)    = 0; // 00000000b
-UChar  VG_(clo_profile_flags)  = 0; // 00000000b
-Int    VG_(clo_trace_notbelow) = 999999999;
+Bool   VG_(clo_profyle_sbs)    = False;
+UChar  VG_(clo_profyle_flags)  = 0; // 00000000b
+ULong  VG_(clo_profyle_interval) = 0;
+Int    VG_(clo_trace_notbelow) = -1;  // unspecified
+Int    VG_(clo_trace_notabove) = -1;  // unspecified
 Bool   VG_(clo_trace_syscalls) = False;
 Bool   VG_(clo_trace_signals)  = False;
 Bool   VG_(clo_trace_symtab)   = False;
-HChar* VG_(clo_trace_symtab_patt) = "*";
+const HChar* VG_(clo_trace_symtab_patt) = "*";
 Bool   VG_(clo_trace_cfi)      = False;
 Bool   VG_(clo_debug_dump_syms) = False;
 Bool   VG_(clo_debug_dump_line) = False;
@@ -94,13 +101,18 @@
        VG_(clo_fair_sched)     = disable_fair_sched;
 Bool   VG_(clo_trace_sched)    = False;
 Bool   VG_(clo_profile_heap)   = False;
+Int    VG_(clo_core_redzone_size) = CORE_REDZONE_DEFAULT_SZB;
+// A value != -1 overrides the tool-specific value
+// VG_(needs_malloc_replacement).tool_client_redzone_szB
+Int    VG_(clo_redzone_size)   = -1;
 Int    VG_(clo_dump_error)     = 0;
 Int    VG_(clo_backtrace_size) = 12;
-Char*  VG_(clo_sim_hints)      = NULL;
+Int    VG_(clo_merge_recursive_frames) = 0; // default value: no merge
+const HChar* VG_(clo_sim_hints)      = NULL;
 Bool   VG_(clo_sym_offsets)    = False;
 Bool   VG_(clo_read_var_info)  = False;
 Int    VG_(clo_n_req_tsyms)    = 0;
-HChar* VG_(clo_req_tsyms)[VG_CLO_MAX_REQ_TSYMS];
+const HChar* VG_(clo_req_tsyms)[VG_CLO_MAX_REQ_TSYMS];
 HChar* VG_(clo_require_text_symbol) = NULL;
 Bool   VG_(clo_run_libc_freeres) = True;
 Bool   VG_(clo_track_fds)      = False;
@@ -110,9 +122,9 @@
 Word   VG_(clo_main_stacksize) = 0; /* use client's rlimit.stack */
 Bool   VG_(clo_wait_for_gdb)   = False;
 VgSmc  VG_(clo_smc_check)      = Vg_SmcStack;
-HChar* VG_(clo_kernel_variant) = NULL;
+const HChar* VG_(clo_kernel_variant) = NULL;
 Bool   VG_(clo_dsymutil)       = False;
-
+Bool   VG_(clo_sigill_diag)    = True;
 
 /*====================================================================*/
 /*=== File expansion                                               ===*/
@@ -120,11 +132,11 @@
 
 // Copies the string, prepending it with the startup working directory, and
 // expanding %p and %q entries.  Returns a new, malloc'd string.
-Char* VG_(expand_file_name)(Char* option_name, Char* format)
+HChar* VG_(expand_file_name)(const HChar* option_name, const HChar* format)
 {
-   static Char base_dir[VKI_PATH_MAX];
+   static HChar base_dir[VKI_PATH_MAX];
    Int len, i = 0, j = 0;
-   Char* out;
+   HChar* out;
 
    Bool ok = VG_(get_startup_wd)(base_dir, VKI_PATH_MAX);
    tl_assert(ok);
@@ -194,8 +206,8 @@
             i++;
             if ('{' == format[i]) {
                // Get the env var name, print its contents.
-               Char* qualname;
-               Char* qual;
+               const HChar* qualname;
+               HChar* qual;
                i++;
                qualname = &format[i];
                while (True) {
@@ -205,15 +217,21 @@
                   } else if ('}' == format[i]) {
                      // Temporarily replace the '}' with NUL to extract var
                      // name.
-                     format[i] = 0;
+                     // FIXME: this is not safe as FORMAT is sometimes a
+                     // string literal which may reside in read-only memory
+                    ((HChar *)format)[i] = 0;
                      qual = VG_(getenv)(qualname);
                      if (NULL == qual) {
                         VG_(fmsg)("%s: environment variable %s is not set\n",
                                   option_name, qualname);
-                        format[i] = '}';  // Put the '}' back.
+                     // FIXME: this is not safe as FORMAT is sometimes a
+                     // string literal which may reside in read-only memory
+                        ((HChar *)format)[i] = '}';  // Put the '}' back.
                         goto bad;
                      }
-                     format[i] = '}';     // Put the '}' back.
+                     // FIXME: this is not safe as FORMAT is sometimes a
+                     // string literal which may reside in read-only memory
+                     ((HChar *)format)[i] = '}';     // Put the '}' back.
                      i++;
                      break;
                   }
@@ -240,7 +258,7 @@
    return out;
 
   bad: {
-   Char* opt =    // 2:  1 for the '=', 1 for the NUL.
+   HChar* opt =    // 2:  1 for the '=', 1 for the NUL.
       VG_(malloc)( "options.efn.3",
                    VG_(strlen)(option_name) + VG_(strlen)(format) + 2 );
    VG_(strcpy)(opt, option_name);
@@ -292,7 +310,7 @@
    // by --trace-children-skip=.
    if (VG_(clo_trace_children_skip)) {
       HChar const* last = VG_(clo_trace_children_skip);
-      HChar const* name = (HChar const*)child_exe_name;
+      HChar const* name = child_exe_name;
       while (*last) {
          Bool   matches;
          HChar* patt;
diff --git a/coregrind/m_oset.c b/coregrind/m_oset.c
index acb724e..a2ad7d9 100644
--- a/coregrind/m_oset.c
+++ b/coregrind/m_oset.c
@@ -113,7 +113,7 @@
    SizeT       keyOff;     // key offset
    OSetCmp_t   cmp;        // compare a key and an element, or NULL
    OSetAlloc_t alloc;      // allocator
-   HChar* cc;              // cc for allocator
+   const HChar* cc;        // cc for allocator
    OSetFree_t  free;       // deallocator
    PoolAlloc*  node_pa;    // (optional) pool allocator for nodes.
    SizeT       maxEltSize; // for node_pa, must be > 0. Otherwise unused.
@@ -179,8 +179,8 @@
 // Compare the first word of each element.  Inlining is *crucial*.
 static inline Word fast_cmp(const void* k, const AvlNode* n)
 {
-   UWord w1 = *(UWord*)k;
-   UWord w2 = *(UWord*)elem_of_node(n);
+   UWord w1 = *(const UWord*)k;
+   UWord w2 = *(const UWord*)elem_of_node(n);
    // In previous versions, we tried to do this faster by doing
    // "return w1 - w2".  But it didn't work reliably, because the
    // complete result of subtracting two N-bit numbers is an N+1-bit
@@ -286,7 +286,7 @@
 
 // The underscores avoid GCC complaints about overshadowing global names.
 AvlTree* VG_(OSetGen_Create)(PtrdiffT _keyOff, OSetCmp_t _cmp,
-                             OSetAlloc_t _alloc, HChar* _cc,
+                             OSetAlloc_t _alloc, const HChar* _cc,
                              OSetFree_t _free)
 {
    AvlTree* t;
@@ -315,7 +315,7 @@
 }
 
 AvlTree* VG_(OSetGen_Create_With_Pool)(PtrdiffT _keyOff, OSetCmp_t _cmp,
-                                       OSetAlloc_t _alloc, HChar* _cc,
+                                       OSetAlloc_t _alloc, const HChar* _cc,
                                        OSetFree_t _free,
                                        SizeT _poolSize,
                                        SizeT _maxEltSize)
@@ -363,7 +363,7 @@
    return t;
 }
 
-AvlTree* VG_(OSetWord_Create)(OSetAlloc_t _alloc, HChar* _cc, 
+AvlTree* VG_(OSetWord_Create)(OSetAlloc_t _alloc, const HChar* _cc, 
                               OSetFree_t _free)
 {
    return VG_(OSetGen_Create)(/*keyOff*/0, /*cmp*/NULL, _alloc, _cc, _free);
@@ -593,7 +593,7 @@
       // elem_of_node because it saves about 10% on lookup time.  This
       // shouldn't be very dangerous because each node will have been
       // checked on insertion.
-      UWord w1 = *(UWord*)k;
+      UWord w1 = *(const UWord*)k;
       UWord w2;
       while (True) {
          if (curr == NULL) return NULL;
@@ -935,7 +935,7 @@
 }
 
 static void OSet_Print2( AvlTree* t, AvlNode* n,
-                         Char*(*strElem)(void *), Int p )
+                         HChar*(*strElem)(void *), Int p )
 {
    // This is a recursive in-order traversal.
    Int q = p;
@@ -947,7 +947,8 @@
 }
 
 __attribute__((unused))
-static void OSet_Print( AvlTree* t, const HChar *where, Char*(*strElem)(void *) )
+static void OSet_Print( AvlTree* t, const HChar *where,
+                        HChar*(*strElem)(void *) )
 {
    VG_(printf)("-- start %s ----------------\n", where);
    OSet_Print2(t, t->root, strElem, 0);
diff --git a/coregrind/m_poolalloc.c b/coregrind/m_poolalloc.c
index a236a0b..e3b07fc 100644
--- a/coregrind/m_poolalloc.c
+++ b/coregrind/m_poolalloc.c
@@ -36,8 +36,8 @@
    UWord   nrRef;         /* nr reference to this pool allocator */
    UWord   elemSzB;       /* element size */
    UWord   nPerPool;      /* # elems per pool */
-   void*   (*alloc)(HChar*, SizeT); /* pool allocator */
-   HChar*  cc; /* pool allocator's cc */
+   void*   (*alloc)(const HChar*, SizeT); /* pool allocator */
+   const HChar*  cc; /* pool allocator's cc */
    void    (*free)(void*); /* pool allocator's free-er */
    /* XArray of void* (pointers to pools).  The pools themselves.
       Each element is a pointer to a block of size (elemSzB *
@@ -50,8 +50,8 @@
 
 PoolAlloc* VG_(newPA) ( UWord  elemSzB,
                         UWord  nPerPool,
-                        void*  (*alloc)(HChar*, SizeT),
-                        HChar* cc,
+                        void*  (*alloc)(const HChar*, SizeT),
+                        const  HChar* cc,
                         void   (*free_fn)(void*) )
 {
    PoolAlloc* pa;
diff --git a/coregrind/m_redir.c b/coregrind/m_redir.c
index 9c7dbd6..df9246b 100644
--- a/coregrind/m_redir.c
+++ b/coregrind/m_redir.c
@@ -7,9 +7,9 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
-   Copyright (C) 2003-2011 Jeremy Fitzhardinge
+   Copyright (C) 2003-2012 Jeremy Fitzhardinge
       jeremy@goop.org
 
    This program is free software; you can redistribute it and/or
@@ -302,15 +302,15 @@
 
 static void maybe_add_active ( Active /*by value; callee copies*/ );
 
-static void*  dinfo_zalloc(HChar* ec, SizeT);
+static void*  dinfo_zalloc(const HChar* ec, SizeT);
 static void   dinfo_free(void*);
-static HChar* dinfo_strdup(HChar* ec, HChar*);
+static HChar* dinfo_strdup(const HChar* ec, const HChar*);
 static Bool   is_plausible_guest_addr(Addr);
 
-static void   show_redir_state ( HChar* who );
-static void   show_active ( HChar* left, Active* act );
+static void   show_redir_state ( const HChar* who );
+static void   show_active ( const HChar* left, Active* act );
 
-static void   handle_maybe_load_notifier( const UChar* soname, 
+static void   handle_maybe_load_notifier( const HChar* soname, 
                                                 HChar* symbol, Addr addr );
 
 static void   handle_require_text_symbols ( DebugInfo* );
@@ -334,8 +334,8 @@
    NULL terminated array, for easy iteration.  Caller must pass also
    the address of a 2-entry array which can be used in the common case
    to avoid dynamic allocation. */
-static UChar** alloc_symname_array ( UChar* pri_name, UChar** sec_names,
-                                     UChar** twoslots )
+static HChar** alloc_symname_array ( HChar* pri_name, HChar** sec_names,
+                                     HChar** twoslots )
 {
    /* Special-case the common case: only one name.  We expect the
       caller to supply a stack-allocated 2-entry array for this. */
@@ -346,10 +346,10 @@
    }
    /* Else must use dynamic allocation.  Figure out size .. */
    Word    n_req = 1;
-   UChar** pp    = sec_names;
+   HChar** pp    = sec_names;
    while (*pp) { n_req++; pp++; }
    /* .. allocate and copy in. */
-   UChar** arr = dinfo_zalloc( "redir.asa.1", (n_req+1) * sizeof(UChar*) );
+   HChar** arr = dinfo_zalloc( "redir.asa.1", (n_req+1) * sizeof(HChar*) );
    Word    i   = 0;
    arr[i++] = pri_name;
    pp = sec_names;
@@ -361,12 +361,24 @@
 
 
 /* Free the array allocated by alloc_symname_array, if any. */
-static void free_symname_array ( UChar** names, UChar** twoslots )
+static void free_symname_array ( HChar** names, HChar** twoslots )
 {
    if (names != twoslots)
       dinfo_free(names);
 }
 
+static HChar const* advance_to_equal ( HChar const* c ) {
+   while (*c && *c != '=') {
+      ++c;
+   }
+   return c;
+}
+static HChar const* advance_to_comma ( HChar const* c ) {
+   while (*c && *c != ',') {
+      ++c;
+   }
+   return c;
+}
 
 /* Notify m_redir of the arrival of a new DebugInfo.  This is fairly
    complex, but the net effect is to (1) add a new entry to the
@@ -383,14 +395,14 @@
    Spec*        spec;
    TopSpec*     ts;
    TopSpec*     newts;
-   UChar*       sym_name_pri;
-   UChar**      sym_names_sec;
+   HChar*       sym_name_pri;
+   HChar**      sym_names_sec;
    Addr         sym_addr, sym_toc;
    HChar        demangled_sopatt[N_DEMANGLED];
    HChar        demangled_fnpatt[N_DEMANGLED];
    Bool         check_ppcTOCs = False;
    Bool         isText;
-   const UChar* newdi_soname;
+   const HChar* newdi_soname;
 
 #  if defined(VG_PLAT_USES_PPCTOC)
    check_ppcTOCs = True;
@@ -425,8 +437,8 @@
          is a kludge. An alternate solution would be to change
          the _vgr prefix according to outer/inner/client.
       */
-      const UChar* newdi_filename = VG_(DebugInfo_get_filename)(newdi);
-      const UChar* newdi_basename = VG_(basename) (newdi_filename);
+      const HChar* newdi_filename = VG_(DebugInfo_get_filename)(newdi);
+      const HChar* newdi_basename = VG_(basename) (newdi_filename);
       if (VG_(strncmp) (newdi_basename, "vgpreload_", 10) == 0) {
          /* This looks like a vgpreload file => check if this file
             is from the inner VALGRIND_LIB.
@@ -435,7 +447,7 @@
             pointing to files inside the valgrind build directories. */
          struct vg_stat newdi_stat;
          SysRes newdi_res;
-         Char in_vglib_filename[VKI_PATH_MAX];
+         HChar in_vglib_filename[VKI_PATH_MAX];
          struct vg_stat in_vglib_stat;
          SysRes in_vglib_res;
 
@@ -491,10 +503,10 @@
                                   NULL, &sym_name_pri, &sym_names_sec,
                                   &isText, NULL );
       /* Set up to conveniently iterate over all names for this symbol. */
-      UChar*  twoslots[2];
-      UChar** names_init = alloc_symname_array(sym_name_pri, sym_names_sec,
+      HChar*  twoslots[2];
+      HChar** names_init = alloc_symname_array(sym_name_pri, sym_names_sec,
                                                &twoslots[0]);
-      UChar** names;
+      HChar** names;
       for (names = names_init; *names; names++) {
          ok = VG_(maybe_Z_demangle)( *names,
                                      demangled_sopatt, N_DEMANGLED,
@@ -516,6 +528,48 @@
                the following loop, and complain at that point. */
             continue;
          }
+
+         if (0 == VG_(strncmp) (demangled_sopatt, 
+                                VG_SO_SYN_PREFIX, VG_SO_SYN_PREFIX_LEN)) {
+            /* This is a redirection for handling lib so synonyms. If we
+               have a matching lib synonym, then replace the sopatt.
+               Otherwise, just ignore this redirection spec. */
+
+            if (!VG_(clo_soname_synonyms))
+               continue; // No synonyms => skip the redir.
+
+            /* Search for a matching synonym=newname*/
+            SizeT const sopatt_syn_len 
+               = VG_(strlen)(demangled_sopatt+VG_SO_SYN_PREFIX_LEN);
+            HChar const* last = VG_(clo_soname_synonyms);
+            
+            while (*last) {
+               HChar const* first = last;
+               last = advance_to_equal(first);
+               
+               if ((last - first) == sopatt_syn_len
+                   && 0 == VG_(strncmp)(demangled_sopatt+VG_SO_SYN_PREFIX_LEN,
+                                        first,
+                                        sopatt_syn_len)) {
+                  // Found the demangle_sopatt synonym => replace it
+                  first = last + 1;
+                  last = advance_to_comma(first);
+                  VG_(strncpy)(demangled_sopatt, first, last - first);
+                  demangled_sopatt[last - first] = '\0';
+                  break;
+               }
+
+               last = advance_to_comma(last);
+               if (*last == ',')
+                  last++;
+            }
+            
+            // If we have not replaced the sopatt, then skip the redir.
+            if (0 == VG_(strncmp) (demangled_sopatt, 
+                                   VG_SO_SYN_PREFIX, VG_SO_SYN_PREFIX_LEN))
+               continue;
+         }
+
          spec = dinfo_zalloc("redir.rnnD.1", sizeof(Spec));
          vg_assert(spec);
          spec->from_sopatt = dinfo_strdup("redir.rnnD.2", demangled_sopatt);
@@ -541,10 +595,10 @@
          VG_(DebugInfo_syms_getidx)( newdi, i, &sym_addr, &sym_toc,
                                      NULL, &sym_name_pri, &sym_names_sec,
                                      &isText, NULL );
-         UChar*  twoslots[2];
-         UChar** names_init = alloc_symname_array(sym_name_pri, sym_names_sec,
+         HChar*  twoslots[2];
+         HChar** names_init = alloc_symname_array(sym_name_pri, sym_names_sec,
                                                   &twoslots[0]);
-         UChar** names;
+         HChar** names;
          for (names = names_init; *names; names++) {
             ok = isText
                  && VG_(maybe_Z_demangle)( 
@@ -679,8 +733,8 @@
    Active  act;
    Int     nsyms, i;
    Addr    sym_addr;
-   UChar*  sym_name_pri;
-   UChar** sym_names_sec;
+   HChar*  sym_name_pri;
+   HChar** sym_names_sec;
 
    /* First figure out which of the specs match the seginfo's soname.
       Also clear the 'done' bits, so that after the main loop below
@@ -704,10 +758,10 @@
       VG_(DebugInfo_syms_getidx)( di, i, &sym_addr, NULL,
                                   NULL, &sym_name_pri, &sym_names_sec,
                                   &isText, &isIFunc );
-      UChar*  twoslots[2];
-      UChar** names_init = alloc_symname_array(sym_name_pri, sym_names_sec,
+      HChar*  twoslots[2];
+      HChar** names_init = alloc_symname_array(sym_name_pri, sym_names_sec,
                                                &twoslots[0]);
-      UChar** names;
+      HChar** names;
       for (names = names_init; *names; names++) {
 
          /* ignore data symbols */
@@ -747,7 +801,7 @@
    }
    if (sp) {
       const HChar** strp;
-      HChar* v = "valgrind:  ";
+      const HChar* v = "valgrind:  ";
       vg_assert(sp->mark);
       vg_assert(!sp->done);
       vg_assert(sp->mandatory);
@@ -792,7 +846,7 @@
    conflicting bindings. */
 static void maybe_add_active ( Active act )
 {
-   HChar*  what    = NULL;
+   const HChar*  what = NULL;
    Active* old     = NULL;
    Bool    add_act = False;
 
@@ -1075,9 +1129,9 @@
    entry that holds these initial specs. */
 
 __attribute__((unused)) /* not used on all platforms */
-static void add_hardwired_spec ( HChar* sopatt, HChar* fnpatt, 
-                                 Addr   to_addr,
-                                 const HChar** mandatory )
+static void add_hardwired_spec (const  HChar* sopatt, const HChar* fnpatt, 
+                                Addr   to_addr,
+                                const HChar** mandatory )
 {
    Spec* spec = dinfo_zalloc("redir.ahs.1", sizeof(Spec));
    vg_assert(spec);
@@ -1092,8 +1146,8 @@
    vg_assert(topSpecs->next == NULL);
    vg_assert(topSpecs->seginfo == NULL);
    /* FIXED PARTS */
-   spec->from_sopatt = sopatt;
-   spec->from_fnpatt = fnpatt;
+   spec->from_sopatt = (HChar *)sopatt;
+   spec->from_fnpatt = (HChar *)fnpatt;
    spec->to_addr     = to_addr;
    spec->isWrap      = False;
    spec->mandatory   = mandatory;
@@ -1304,6 +1358,28 @@
 #  elif defined(VGP_s390x_linux)
    /* nothing so far */
 
+#  elif defined(VGP_mips32_linux)
+   if (0==VG_(strcmp)("Memcheck", VG_(details).name)) {
+
+      /* this is mandatory - can't sanely continue without it */
+      add_hardwired_spec(
+         "ld.so.3", "strlen",
+         (Addr)&VG_(mips32_linux_REDIR_FOR_strlen),
+         complain_about_stripped_glibc_ldso
+      );
+   }
+
+#  elif defined(VGP_mips64_linux)
+   if (0==VG_(strcmp)("Memcheck", VG_(details).name)) {
+
+      /* this is mandatory - can't sanely continue without it */
+      add_hardwired_spec(
+         "ld.so.3", "strlen",
+         (Addr)&VG_(mips64_linux_REDIR_FOR_strlen),
+         complain_about_stripped_glibc_ldso
+      );
+   }
+
 #  else
 #    error Unknown platform
 #  endif
@@ -1317,7 +1393,7 @@
 /*--- MISC HELPERS                                         ---*/
 /*------------------------------------------------------------*/
 
-static void* dinfo_zalloc(HChar* ec, SizeT n) {
+static void* dinfo_zalloc(const HChar* ec, SizeT n) {
    void* p;
    vg_assert(n > 0);
    p = VG_(arena_malloc)(VG_AR_DINFO, ec, n);
@@ -1331,7 +1407,7 @@
    return VG_(arena_free)(VG_AR_DINFO, p);
 }
 
-static HChar* dinfo_strdup(HChar* ec, HChar* str)
+static HChar* dinfo_strdup(const HChar* ec, const HChar* str)
 {
    return VG_(arena_strdup)(VG_AR_DINFO, ec, str);
 }
@@ -1352,7 +1428,7 @@
 /*------------------------------------------------------------*/
 
 static 
-void handle_maybe_load_notifier( const UChar* soname, 
+void handle_maybe_load_notifier( const HChar* soname, 
                                        HChar* symbol, Addr addr )
 {
 #  if defined(VGP_x86_linux)
@@ -1413,10 +1489,10 @@
    vg_assert(VG_(clo_n_req_tsyms) >= 0);
    vg_assert(VG_(clo_n_req_tsyms) <= VG_CLO_MAX_REQ_TSYMS);
    for (i = 0; i < VG_(clo_n_req_tsyms); i++) {
-      HChar* spec = VG_(clo_req_tsyms)[i];
-      vg_assert(spec && VG_(strlen)(spec) >= 4);
+      const HChar* clo_spec = VG_(clo_req_tsyms)[i];
+      vg_assert(clo_spec && VG_(strlen)(clo_spec) >= 4);
       // clone the spec, so we can stick a zero at the end of the sopatt
-      spec = VG_(strdup)("m_redir.hrts.1", spec);
+      HChar *spec = VG_(strdup)("m_redir.hrts.1", clo_spec);
       HChar sep = spec[0];
       HChar* sopatt = &spec[1];
       HChar* fnpatt = VG_(strchr)(sopatt, sep);
@@ -1453,15 +1529,15 @@
       Int    nsyms  = VG_(DebugInfo_syms_howmany)(di);
       for (j = 0; j < nsyms; j++) {
          Bool    isText        = False;
-         UChar*  sym_name_pri  = NULL;
-         UChar** sym_names_sec = NULL;
+         HChar*  sym_name_pri  = NULL;
+         HChar** sym_names_sec = NULL;
          VG_(DebugInfo_syms_getidx)( di, j, NULL, NULL,
                                      NULL, &sym_name_pri, &sym_names_sec,
                                      &isText, NULL );
-         UChar*  twoslots[2];
-         UChar** names_init = alloc_symname_array(sym_name_pri, sym_names_sec,
+         HChar*  twoslots[2];
+         HChar** names_init = alloc_symname_array(sym_name_pri, sym_names_sec,
                                                   &twoslots[0]);
-         UChar** names;
+         HChar** names;
          for (names = names_init; *names; names++) {
             /* ignore data symbols */
             if (0) VG_(printf)("QQQ %s\n", *names);
@@ -1479,7 +1555,7 @@
       }
 
       if (!found) {
-         HChar* v = "valgrind:  ";
+         const HChar* v = "valgrind:  ";
          VG_(printf)("\n");
          VG_(printf)(
          "%sFatal error at when loading library with soname\n", v);
@@ -1509,7 +1585,7 @@
 /*--- SANITY/DEBUG                                         ---*/
 /*------------------------------------------------------------*/
 
-static void show_spec ( HChar* left, Spec* spec )
+static void show_spec ( const HChar* left, Spec* spec )
 {
    VG_(message)( Vg_DebugMsg, 
                  "%s%25s %30s %s-> (%04d.%d) 0x%08llx\n",
@@ -1520,7 +1596,7 @@
                  (ULong)spec->to_addr );
 }
 
-static void show_active ( HChar* left, Active* act )
+static void show_active ( const HChar* left, Active* act )
 {
    Bool ok;
    HChar name1[64] = "";
@@ -1539,7 +1615,7 @@
                              (ULong)act->to_addr, name2 );
 }
 
-static void show_redir_state ( HChar* who )
+static void show_redir_state ( const HChar* who )
 {
    TopSpec* ts;
    Spec*    sp;
@@ -1547,11 +1623,15 @@
    VG_(message)(Vg_DebugMsg, "<<\n");
    VG_(message)(Vg_DebugMsg, "   ------ REDIR STATE %s ------\n", who);
    for (ts = topSpecs; ts; ts = ts->next) {
-      VG_(message)(Vg_DebugMsg, 
-                   "   TOPSPECS of soname %s\n",
-                   ts->seginfo
-                      ? (HChar*)VG_(DebugInfo_get_soname)(ts->seginfo)
-                      : "(hardwired)" );
+      if (ts->seginfo)
+         VG_(message)(Vg_DebugMsg, 
+                      "   TOPSPECS of soname %s filename %s\n",
+                      VG_(DebugInfo_get_soname)(ts->seginfo),
+                      VG_(DebugInfo_get_filename)(ts->seginfo));
+      else
+         VG_(message)(Vg_DebugMsg, 
+                      "   TOPSPECS of soname (hardwired)\n");
+         
       for (sp = ts->specs; sp; sp = sp->next)
          show_spec("     ", sp);
    }
diff --git a/coregrind/m_replacemalloc/replacemalloc_core.c b/coregrind/m_replacemalloc/replacemalloc_core.c
index baaa3be..773caef 100644
--- a/coregrind/m_replacemalloc/replacemalloc_core.c
+++ b/coregrind/m_replacemalloc/replacemalloc_core.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -51,7 +51,7 @@
 UInt VG_(clo_alignment)     = VG_MIN_MALLOC_SZB;
 
 
-Bool VG_(replacement_malloc_process_cmd_line_option)(Char* arg)
+Bool VG_(replacement_malloc_process_cmd_line_option)(const HChar* arg)
 {
    if VG_INT_CLO(arg, "--alignment", VG_(clo_alignment)) {
       if (VG_(clo_alignment) < VG_MIN_MALLOC_SZB ||
diff --git a/coregrind/m_replacemalloc/vg_replace_malloc.c b/coregrind/m_replacemalloc/vg_replace_malloc.c
index 3953911..1a032ec 100644
--- a/coregrind/m_replacemalloc/vg_replace_malloc.c
+++ b/coregrind/m_replacemalloc/vg_replace_malloc.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -119,6 +119,9 @@
 #  if defined(VGPV_arm_linux_android)
    __asm__ __volatile__(".word 0xFFFFFFFF");
    while (1) {}
+#  elif defined(VGPV_x86_linux_android)
+   __asm__ __volatile__("ud2");
+   while (1) {}
 #  else
    extern __attribute__ ((__noreturn__)) void _exit(int status);
    _exit(x);
@@ -128,7 +131,7 @@
 /* Same problem with getpagesize. */
 static inline int my_getpagesize ( void )
 {
-#  if defined(VGPV_arm_linux_android)
+#  if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
    return 4096; /* kludge - link failure on Android, for some reason */
 #  else
    extern int getpagesize (void);
@@ -171,6 +174,7 @@
 */
 static struct vg_mallocfunc_info info;
 static int init_done;
+#define DO_INIT if (UNLIKELY(!init_done)) init()
 
 /* Startup hook - called as init section */
 __attribute__((constructor))
@@ -191,6 +195,22 @@
    replacing.
 */
 
+/* The replacement functions are running on the simulated CPU.
+   The code on the simulated CPU does not necessarily use
+   all arguments. E.g. args can be ignored and/or only given
+   to a NON SIMD call.
+   The definedness of such 'unused' arguments will not be verified
+   by memcheck.
+   A call to 'trigger_memcheck_error_if_undefined' allows 
+   memcheck to detect such errors for the otherwise unused args.
+   Apart of allowing memcheck to detect an error, the function
+   trigger_memcheck_error_if_undefined has no effect and
+   has a minimal cost for other tools replacing malloc functions.
+*/
+static inline void trigger_memcheck_error_if_undefined ( ULong x )
+{
+   if (x == 0) __asm__ __volatile__( "" ::: "memory" );
+}
 
 /*---------------------- malloc ----------------------*/
 
@@ -204,7 +224,8 @@
    { \
       void* v; \
       \
-      if (!init_done) init(); \
+      DO_INIT; \
+      trigger_memcheck_error_if_undefined((ULong)n ); \
       MALLOC_TRACE(#fnname "(%llu)", (ULong)n ); \
       \
       v = (void*)VALGRIND_NON_SIMD_CALL1( info.tl_##vg_replacement, n ); \
@@ -219,7 +240,9 @@
    { \
       void* v; \
       \
-      if (!init_done) init(); \
+      DO_INIT; \
+      trigger_memcheck_error_if_undefined((ULong) zone); \
+      trigger_memcheck_error_if_undefined((ULong) n); \
       MALLOC_TRACE(#fnname "(%p, %llu)", zone, (ULong)n ); \
       \
       v = (void*)VALGRIND_NON_SIMD_CALL1( info.tl_##vg_replacement, n ); \
@@ -239,7 +262,8 @@
    { \
       void* v; \
       \
-      if (!init_done) init(); \
+      DO_INIT; \
+      trigger_memcheck_error_if_undefined((ULong) n); \
       MALLOC_TRACE(#fnname "(%llu)", (ULong)n );        \
       \
       v = (void*)VALGRIND_NON_SIMD_CALL1( info.tl_##vg_replacement, n ); \
@@ -256,15 +280,22 @@
 
 // Each of these lines generates a replacement function:
 //     (from_so, from_fn,  v's replacement)
+// For some lines, we will also define a replacement function
+// whose only purpose is to be a soname synonym place holder
+// that can be replaced using --soname-synonyms.
+#define SO_SYN_MALLOC VG_SO_SYN(somalloc)
 
 // malloc
 #if defined(VGO_linux)
  ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, malloc,      malloc);
  ALLOC_or_NULL(VG_Z_LIBC_SONAME,      malloc,      malloc);
+ ALLOC_or_NULL(SO_SYN_MALLOC,         malloc,      malloc);
 
 #elif defined(VGO_darwin)
  ALLOC_or_NULL(VG_Z_LIBC_SONAME,      malloc,      malloc);
- ZONEALLOC_or_NULL(VG_Z_LIBC_SONAME, malloc_zone_malloc, malloc);
+ ALLOC_or_NULL(SO_SYN_MALLOC,         malloc,      malloc);
+ ZONEALLOC_or_NULL(VG_Z_LIBC_SONAME,  malloc_zone_malloc, malloc);
+ ZONEALLOC_or_NULL(SO_SYN_MALLOC,     malloc_zone_malloc, malloc);
 
 #endif
 
@@ -281,11 +312,13 @@
  #if VG_WORDSIZE == 4
   ALLOC_or_BOMB(VG_Z_LIBSTDCXX_SONAME, _Znwj,          __builtin_new);
   ALLOC_or_BOMB(VG_Z_LIBC_SONAME,      _Znwj,          __builtin_new);
+  ALLOC_or_BOMB(SO_SYN_MALLOC,         _Znwj,          __builtin_new);
  #endif
  // operator new(unsigned long), GNU mangling
  #if VG_WORDSIZE == 8
   ALLOC_or_BOMB(VG_Z_LIBSTDCXX_SONAME, _Znwm,          __builtin_new);
   ALLOC_or_BOMB(VG_Z_LIBC_SONAME,      _Znwm,          __builtin_new);
+  ALLOC_or_BOMB(SO_SYN_MALLOC,         _Znwm,          __builtin_new);
  #endif
 
 #elif defined(VGO_darwin)
@@ -310,11 +343,13 @@
  #if VG_WORDSIZE == 4
   ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, _ZnwjRKSt9nothrow_t,  __builtin_new);
   ALLOC_or_NULL(VG_Z_LIBC_SONAME,      _ZnwjRKSt9nothrow_t,  __builtin_new);
+  ALLOC_or_NULL(SO_SYN_MALLOC,         _ZnwjRKSt9nothrow_t,  __builtin_new);
  #endif
  // operator new(unsigned long, std::nothrow_t const&), GNU mangling
  #if VG_WORDSIZE == 8
   ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, _ZnwmRKSt9nothrow_t,  __builtin_new);
   ALLOC_or_NULL(VG_Z_LIBC_SONAME,      _ZnwmRKSt9nothrow_t,  __builtin_new);
+  ALLOC_or_NULL(SO_SYN_MALLOC,         _ZnwmRKSt9nothrow_t,  __builtin_new);
  #endif
 
 #elif defined(VGO_darwin)
@@ -342,11 +377,13 @@
  #if VG_WORDSIZE == 4
   ALLOC_or_BOMB(VG_Z_LIBSTDCXX_SONAME, _Znaj,             __builtin_vec_new );
   ALLOC_or_BOMB(VG_Z_LIBC_SONAME,      _Znaj,             __builtin_vec_new );
+  ALLOC_or_BOMB(SO_SYN_MALLOC,         _Znaj,             __builtin_vec_new );
  #endif
  // operator new[](unsigned long), GNU mangling
  #if VG_WORDSIZE == 8
   ALLOC_or_BOMB(VG_Z_LIBSTDCXX_SONAME, _Znam,             __builtin_vec_new );
   ALLOC_or_BOMB(VG_Z_LIBC_SONAME,      _Znam,             __builtin_vec_new );
+  ALLOC_or_BOMB(SO_SYN_MALLOC,         _Znam,             __builtin_vec_new );
  #endif
 
 #elif defined(VGO_darwin)
@@ -371,11 +408,13 @@
  #if VG_WORDSIZE == 4
   ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, _ZnajRKSt9nothrow_t, __builtin_vec_new );
   ALLOC_or_NULL(VG_Z_LIBC_SONAME,      _ZnajRKSt9nothrow_t, __builtin_vec_new );
+  ALLOC_or_NULL(SO_SYN_MALLOC,         _ZnajRKSt9nothrow_t, __builtin_vec_new );
  #endif
  // operator new[](unsigned long, std::nothrow_t const&), GNU mangling
  #if VG_WORDSIZE == 8
   ALLOC_or_NULL(VG_Z_LIBSTDCXX_SONAME, _ZnamRKSt9nothrow_t, __builtin_vec_new );
   ALLOC_or_NULL(VG_Z_LIBC_SONAME,      _ZnamRKSt9nothrow_t, __builtin_vec_new );
+  ALLOC_or_NULL(SO_SYN_MALLOC,         _ZnamRKSt9nothrow_t, __builtin_vec_new );
  #endif
 
 #elif defined(VGO_darwin)
@@ -403,7 +442,8 @@
    void VG_REPLACE_FUNCTION_EZU(10040,soname,fnname) (void *zone, void *p); \
    void VG_REPLACE_FUNCTION_EZU(10040,soname,fnname) (void *zone, void *p)  \
    { \
-      if (!init_done) init(); \
+      DO_INIT; \
+      trigger_memcheck_error_if_undefined((ULong) zone); \
       MALLOC_TRACE(#fnname "(%p, %p)\n", zone, p ); \
       if (p == NULL)  \
          return; \
@@ -415,20 +455,24 @@
    void VG_REPLACE_FUNCTION_EZU(10050,soname,fnname) (void *p); \
    void VG_REPLACE_FUNCTION_EZU(10050,soname,fnname) (void *p)  \
    { \
-      if (!init_done) init(); \
+      DO_INIT; \
       MALLOC_TRACE(#fnname "(%p)\n", p ); \
       if (p == NULL)  \
          return; \
       (void)VALGRIND_NON_SIMD_CALL1( info.tl_##vg_replacement, p ); \
    }
 
+
 #if defined(VGO_linux)
  FREE(VG_Z_LIBSTDCXX_SONAME,  free,                 free );
  FREE(VG_Z_LIBC_SONAME,       free,                 free );
+ FREE(SO_SYN_MALLOC,          free,                 free );
 
 #elif defined(VGO_darwin)
  FREE(VG_Z_LIBC_SONAME,       free,                 free );
+ FREE(SO_SYN_MALLOC,          free,                 free );
  ZONEFREE(VG_Z_LIBC_SONAME,   malloc_zone_free,     free );
+ ZONEFREE(SO_SYN_MALLOC,      malloc_zone_free,     free );
 
 #endif
 
@@ -439,6 +483,7 @@
 #if defined(VGO_linux)
  FREE(VG_Z_LIBSTDCXX_SONAME,  cfree,                free );
  FREE(VG_Z_LIBC_SONAME,       cfree,                free );
+ FREE(SO_SYN_MALLOC,          cfree,                free );
 
 #elif defined(VGO_darwin)
  //FREE(VG_Z_LIBSTDCXX_SONAME,  cfree,                free );
@@ -456,6 +501,7 @@
  // operator delete(void*), GNU mangling
  FREE(VG_Z_LIBSTDCXX_SONAME,  _ZdlPv,               __builtin_delete );
  FREE(VG_Z_LIBC_SONAME,       _ZdlPv,               __builtin_delete );
+ FREE(SO_SYN_MALLOC,          _ZdlPv,               __builtin_delete );
 
 #elif defined(VGO_darwin)
  // operator delete(void*), GNU mangling
@@ -471,6 +517,7 @@
  // operator delete(void*, std::nothrow_t const&), GNU mangling
  FREE(VG_Z_LIBSTDCXX_SONAME, _ZdlPvRKSt9nothrow_t,  __builtin_delete );
  FREE(VG_Z_LIBC_SONAME,      _ZdlPvRKSt9nothrow_t,  __builtin_delete );
+ FREE(SO_SYN_MALLOC,         _ZdlPvRKSt9nothrow_t,  __builtin_delete );
 
 #elif defined(VGO_darwin)
  // operator delete(void*, std::nothrow_t const&), GNU mangling
@@ -489,6 +536,7 @@
  // operator delete[](void*), GNU mangling
  FREE(VG_Z_LIBSTDCXX_SONAME,  _ZdaPv,               __builtin_vec_delete );
  FREE(VG_Z_LIBC_SONAME,       _ZdaPv,               __builtin_vec_delete );
+ FREE(SO_SYN_MALLOC,          _ZdaPv,               __builtin_vec_delete );
 
 #elif defined(VGO_darwin)
  // operator delete[](void*), not mangled (for gcc 2.96)
@@ -507,6 +555,7 @@
  // operator delete[](void*, std::nothrow_t const&), GNU mangling
  FREE(VG_Z_LIBSTDCXX_SONAME,  _ZdaPvRKSt9nothrow_t, __builtin_vec_delete );
  FREE(VG_Z_LIBC_SONAME,       _ZdaPvRKSt9nothrow_t, __builtin_vec_delete );
+ FREE(SO_SYN_MALLOC,          _ZdaPvRKSt9nothrow_t, __builtin_vec_delete );
 
 #elif defined(VGO_darwin)
  // operator delete[](void*, std::nothrow_t const&), GNU mangling
@@ -527,7 +576,10 @@
    { \
       void* v; \
       \
-      if (!init_done) init(); \
+      DO_INIT; \
+      trigger_memcheck_error_if_undefined((ULong) zone); \
+      trigger_memcheck_error_if_undefined((ULong) nmemb); \
+      trigger_memcheck_error_if_undefined((ULong) size); \
       MALLOC_TRACE("zone_calloc(%p, %llu,%llu)", zone, (ULong)nmemb, (ULong)size ); \
       \
       v = (void*)VALGRIND_NON_SIMD_CALL2( info.tl_calloc, nmemb, size ); \
@@ -544,7 +596,7 @@
    { \
       void* v; \
       \
-      if (!init_done) init(); \
+      DO_INIT; \
       MALLOC_TRACE("calloc(%llu,%llu)", (ULong)nmemb, (ULong)size ); \
       \
       /* Protect against overflow.  See bug 24078. (that bug number is
@@ -564,10 +616,13 @@
 
 #if defined(VGO_linux)
  CALLOC(VG_Z_LIBC_SONAME, calloc);
+ CALLOC(SO_SYN_MALLOC,    calloc);
 
 #elif defined(VGO_darwin)
  CALLOC(VG_Z_LIBC_SONAME, calloc);
+ CALLOC(SO_SYN_MALLOC,    calloc);
  ZONECALLOC(VG_Z_LIBC_SONAME, malloc_zone_calloc);
+ ZONECALLOC(SO_SYN_MALLOC,    malloc_zone_calloc);
 
 #endif
 
@@ -583,7 +638,7 @@
    { \
       void* v; \
       \
-      if (!init_done) init(); \
+      DO_INIT; \
       MALLOC_TRACE("zone_realloc(%p,%p,%llu)", zone, ptrV, (ULong)new_size ); \
       \
       if (ptrV == NULL) \
@@ -610,7 +665,7 @@
    { \
       void* v; \
       \
-      if (!init_done) init(); \
+      DO_INIT; \
       MALLOC_TRACE("realloc(%p,%llu)", ptrV, (ULong)new_size ); \
       \
       if (ptrV == NULL) \
@@ -630,10 +685,13 @@
 
 #if defined(VGO_linux)
  REALLOC(VG_Z_LIBC_SONAME, realloc);
+ REALLOC(SO_SYN_MALLOC,    realloc);
 
 #elif defined(VGO_darwin)
  REALLOC(VG_Z_LIBC_SONAME, realloc);
+ REALLOC(SO_SYN_MALLOC,    realloc);
  ZONEREALLOC(VG_Z_LIBC_SONAME, malloc_zone_realloc);
+ ZONEREALLOC(SO_SYN_MALLOC,    malloc_zone_realloc);
 
 #endif
 
@@ -649,7 +707,9 @@
    { \
       void* v; \
       \
-      if (!init_done) init(); \
+      DO_INIT; \
+      trigger_memcheck_error_if_undefined((ULong) zone); \
+      trigger_memcheck_error_if_undefined((ULong) n); \
       MALLOC_TRACE("zone_memalign(%p, al %llu, size %llu)", \
                    zone, (ULong)alignment, (ULong)n );  \
       \
@@ -674,7 +734,8 @@
    { \
       void* v; \
       \
-      if (!init_done) init(); \
+      DO_INIT; \
+      trigger_memcheck_error_if_undefined((ULong) n); \
       MALLOC_TRACE("memalign(al %llu, size %llu)", \
                    (ULong)alignment, (ULong)n ); \
       \
@@ -692,10 +753,13 @@
 
 #if defined(VGO_linux)
  MEMALIGN(VG_Z_LIBC_SONAME, memalign);
+ MEMALIGN(SO_SYN_MALLOC,    memalign);
 
 #elif defined(VGO_darwin)
  MEMALIGN(VG_Z_LIBC_SONAME, memalign);
+ MEMALIGN(SO_SYN_MALLOC,    memalign);
  ZONEMEMALIGN(VG_Z_LIBC_SONAME, malloc_zone_memalign);
+ ZONEMEMALIGN(SO_SYN_MALLOC,    malloc_zone_memalign);
 
 #endif
 
@@ -724,16 +788,20 @@
       static int pszB = 0; \
       if (pszB == 0) \
          pszB = my_getpagesize(); \
+      trigger_memcheck_error_if_undefined((ULong) zone); \
       return VG_REPLACE_FUNCTION_EZU(10110,VG_Z_LIBC_SONAME,memalign) \
                 ((SizeT)pszB, size); \
    }
 
 #if defined(VGO_linux)
  VALLOC(VG_Z_LIBC_SONAME, valloc);
+ VALLOC(SO_SYN_MALLOC, valloc);
 
 #elif defined(VGO_darwin)
  VALLOC(VG_Z_LIBC_SONAME, valloc);
+ VALLOC(SO_SYN_MALLOC, valloc);
  ZONEVALLOC(VG_Z_LIBC_SONAME, malloc_zone_valloc);
+ ZONEVALLOC(SO_SYN_MALLOC,    malloc_zone_valloc);
 
 #endif
 
@@ -749,11 +817,14 @@
    { \
       /* In glibc-2.2.4, 1 denotes a successful return value for \
          mallopt */ \
+      trigger_memcheck_error_if_undefined((ULong) cmd); \
+      trigger_memcheck_error_if_undefined((ULong) value); \
       return 1; \
    }
 
 #if defined(VGO_linux)
  MALLOPT(VG_Z_LIBC_SONAME, mallopt);
+ MALLOPT(SO_SYN_MALLOC,    mallopt);
 
 #elif defined(VGO_darwin)
  //MALLOPT(VG_Z_LIBC_SONAME, mallopt);
@@ -791,11 +862,13 @@
    { \
       /* 0 denotes that malloc_trim() either wasn't able \
          to do anything, or was not implemented */ \
+      trigger_memcheck_error_if_undefined((ULong) pad); \
       return 0; \
    }
 
 #if defined(VGO_linux)
  MALLOC_TRIM(VG_Z_LIBC_SONAME, malloc_trim);
+ MALLOC_TRIM(SO_SYN_MALLOC,    malloc_trim);
 
 #elif defined(VGO_darwin)
  //MALLOC_TRIM(VG_Z_LIBC_SONAME, malloc_trim);
@@ -833,6 +906,7 @@
 
 #if defined(VGO_linux)
  POSIX_MEMALIGN(VG_Z_LIBC_SONAME, posix_memalign);
+ POSIX_MEMALIGN(SO_SYN_MALLOC,    posix_memalign);
 
 #elif defined(VGO_darwin)
  //POSIX_MEMALIGN(VG_Z_LIBC_SONAME, posix_memalign);
@@ -849,7 +923,7 @@
    {  \
       SizeT pszB; \
       \
-      if (!init_done) init(); \
+      DO_INIT; \
       MALLOC_TRACE("malloc_usable_size(%p)", p ); \
       if (NULL == p) \
          return 0; \
@@ -862,11 +936,18 @@
 
 #if defined(VGO_linux)
  MALLOC_USABLE_SIZE(VG_Z_LIBC_SONAME, malloc_usable_size);
+ MALLOC_USABLE_SIZE(SO_SYN_MALLOC,    malloc_usable_size);
  MALLOC_USABLE_SIZE(VG_Z_LIBC_SONAME, malloc_size);
+ MALLOC_USABLE_SIZE(SO_SYN_MALLOC,    malloc_size);
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+  MALLOC_USABLE_SIZE(VG_Z_LIBC_SONAME, dlmalloc_usable_size);
+  MALLOC_USABLE_SIZE(SO_SYN_MALLOC,    dlmalloc_usable_size);
+# endif
 
 #elif defined(VGO_darwin)
  //MALLOC_USABLE_SIZE(VG_Z_LIBC_SONAME, malloc_usable_size);
  MALLOC_USABLE_SIZE(VG_Z_LIBC_SONAME, malloc_size);
+ MALLOC_USABLE_SIZE(SO_SYN_MALLOC,    malloc_size);
 
 #endif
 
@@ -913,6 +994,7 @@
 
 #if defined(VGO_linux)
  MALLOC_STATS(VG_Z_LIBC_SONAME, malloc_stats);
+ MALLOC_STATS(SO_SYN_MALLOC,    malloc_stats);
 
 #elif defined(VGO_darwin)
  //MALLOC_STATS(VG_Z_LIBC_SONAME, malloc_stats);
@@ -931,7 +1013,7 @@
    struct vg_mallinfo VG_REPLACE_FUNCTION_EZU(10200,soname,fnname) ( void ) \
    { \
       static struct vg_mallinfo mi; \
-      if (!init_done) init(); \
+      DO_INIT; \
       MALLOC_TRACE("mallinfo()\n"); \
       (void)VALGRIND_NON_SIMD_CALL1( info.mallinfo, &mi ); \
       return mi; \
@@ -939,6 +1021,7 @@
 
 #if defined(VGO_linux)
  MALLINFO(VG_Z_LIBC_SONAME, mallinfo);
+ MALLINFO(SO_SYN_MALLOC,    mallinfo);
 
 #elif defined(VGO_darwin)
  //MALLINFO(VG_Z_LIBC_SONAME, mallinfo);
@@ -954,16 +1037,21 @@
 {
    /* Implement "malloc_size" by handing the request through to the
       tool's .tl_usable_size method. */
-   if (!init_done) init();
+   DO_INIT;
+   trigger_memcheck_error_if_undefined((ULong) zone);
+   trigger_memcheck_error_if_undefined((ULong) ptr);
    size_t res = (size_t)VALGRIND_NON_SIMD_CALL1(
                            info.tl_malloc_usable_size, ptr);
    return res;
 }
 
+/* Note that the (void*) casts below are a kludge which stops
+   compilers complaining about the fact that the the replacement
+   functions aren't really of the right type. */
 static vki_malloc_zone_t vg_default_zone = {
     NULL, // reserved1
     NULL, // reserved2
-    my_malloc_size, // JRS fixme: is this right?
+    (void*)my_malloc_size, // JRS fixme: is this right?
     (void*)VG_REPLACE_FUNCTION_EZU(10020,VG_Z_LIBC_SONAME,malloc_zone_malloc), 
     (void*)VG_REPLACE_FUNCTION_EZU(10060,VG_Z_LIBC_SONAME,malloc_zone_calloc), 
     (void*)VG_REPLACE_FUNCTION_EZU(10130,VG_Z_LIBC_SONAME,malloc_zone_valloc), 
@@ -990,6 +1078,7 @@
    }
 
 DEFAULT_ZONE(VG_Z_LIBC_SONAME, malloc_default_zone);
+DEFAULT_ZONE(SO_SYN_MALLOC,    malloc_default_zone);
 
 
 #define ZONE_FROM_PTR(soname, fnname) \
@@ -1001,6 +1090,7 @@
    }
 
 ZONE_FROM_PTR(VG_Z_LIBC_SONAME, malloc_zone_from_ptr);
+ZONE_FROM_PTR(SO_SYN_MALLOC,    malloc_zone_from_ptr);
 
 
 // GrP fixme bypass libc's use of zone->introspect->check
@@ -1009,6 +1099,7 @@
    int VG_REPLACE_FUNCTION_EZU(10230,soname,fnname)(void* zone); \
    int VG_REPLACE_FUNCTION_EZU(10230,soname,fnname)(void* zone)  \
    { \
+      trigger_memcheck_error_if_undefined((ULong) zone); \
       return 1; \
    }
 
diff --git a/coregrind/m_sbprofile.c b/coregrind/m_sbprofile.c
new file mode 100644
index 0000000..d49be6d
--- /dev/null
+++ b/coregrind/m_sbprofile.c
@@ -0,0 +1,199 @@
+
+/*--------------------------------------------------------------------*/
+/*--- For printing superblock profiles               m_sbprofile.c ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2012-2012 Mozilla Foundation
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+/* Contributed by Julian Seward <jseward@acm.org> */
+
+#include "pub_core_basics.h"
+#include "pub_core_transtab.h"
+#include "pub_core_libcbase.h"
+#include "pub_core_libcprint.h"
+#include "pub_core_libcassert.h"
+#include "pub_core_debuginfo.h"
+#include "pub_core_translate.h"
+#include "pub_core_options.h"
+#include "pub_core_sbprofile.h"    // self
+
+/*====================================================================*/
+/*=== SB profiling                                                 ===*/
+/*====================================================================*/
+
+static UInt n_profiles = 0;
+
+static 
+void show_SB_profile ( SBProfEntry tops[], UInt n_tops,
+                       ULong score_total, ULong ecs_done )
+{
+   ULong score_cumul, score_cumul_saved, score_here;
+   HChar buf_cumul[10], buf_here[10];
+   HChar name[64];
+   Int   r; /* must be signed */
+
+   HChar ecs_txt[50];
+   if (ecs_done > 0) {
+      VG_(sprintf)(ecs_txt, "%'llu ecs done", ecs_done);
+   } else {
+      VG_(strcpy)(ecs_txt, "for the entire run");
+   }
+
+   vg_assert(VG_(clo_profyle_sbs));
+
+   VG_(printf)("\n");
+   VG_(printf)("<<<---<<<---<<<---<<<---<<<---<<<---<<<---"
+               "<<<---<<<---<<<---<<<---<<<---<<<\n");
+   VG_(printf)("<<<---<<<---<<<---<<<---<<<---<<<---<<<---"
+               "<<<---<<<---<<<---<<<---<<<---<<<\n");
+   VG_(printf)("\n");
+   VG_(printf)("<<< BEGIN SB Profile #%u (%s)\n",
+               ++n_profiles, ecs_txt);
+   VG_(printf)("<<<\n");
+   VG_(printf)("\n");
+
+   VG_(printf)("Total score = %'lld\n\n", score_total);
+
+   /* Print an initial per-block summary. */
+   VG_(printf)("rank  ---cumulative---      -----self-----\n");
+   score_cumul = 0;
+   for (r = 0; r < n_tops; r++) {
+      if (tops[r].addr == 0)
+         continue;
+      if (tops[r].score == 0)
+         continue;
+      name[0] = 0;
+      VG_(get_fnname_w_offset)(tops[r].addr, name, 64);
+      name[63] = 0;
+      score_here = tops[r].score;
+      score_cumul += score_here;
+      VG_(percentify)(score_cumul, score_total, 2, 6, buf_cumul);
+      VG_(percentify)(score_here,  score_total, 2, 6, buf_here);
+      VG_(printf)("%3d: (%9lld %s)   %9lld %s      0x%llx %s\n",
+                  r,
+                  score_cumul, buf_cumul,
+                  score_here,  buf_here, tops[r].addr, name );
+   }
+   score_cumul_saved = score_cumul;
+
+   if (VG_(clo_profyle_flags) > 0) {
+
+      /* Show the details, if requested. */
+      VG_(printf)("\n");
+      VG_(printf)("-----------------------------"
+                  "------------------------------\n");
+      VG_(printf)("--- SB Profile (SB details)  "
+                  "                           ---\n");
+      VG_(printf)("-----------------------------"
+                  "------------------------------\n");
+      VG_(printf)("\n");
+
+      score_cumul = 0;
+      for (r = 0; r < n_tops; r++) {
+         if (tops[r].addr == 0)
+            continue;
+         if (tops[r].score == 0)
+            continue;
+         name[0] = 0;
+         VG_(get_fnname_w_offset)(tops[r].addr, name, 64);
+         name[63] = 0;
+         score_here = tops[r].score;
+         score_cumul += score_here;
+         VG_(percentify)(score_cumul, score_total, 2, 6, buf_cumul);
+         VG_(percentify)(score_here,  score_total, 2, 6, buf_here);
+         VG_(printf)("\n");
+         VG_(printf)("=-=-=-=-=-=-=-=-=-=-=-=-=-= begin SB rank %d "
+                     "=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n", r);
+         VG_(printf)("%3d: (%9lld %s)   %9lld %s      0x%llx %s\n",
+                     r,
+                     score_cumul, buf_cumul,
+                     score_here,  buf_here, tops[r].addr, name );
+         VG_(printf)("\n");
+         VG_(discard_translations)(tops[r].addr, 1, "bb profile");
+         VG_(translate)(0, tops[r].addr, True, VG_(clo_profyle_flags), 0, True);
+         VG_(printf)("=-=-=-=-=-=-=-=-=-=-=-=-=-=  end SB rank %d  "
+                     "=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n", r);
+      }
+
+      /* Print a final per-block summary, in reverse order, for the
+         convenience of people reading up from the end. */
+      score_cumul = score_cumul_saved;
+      for (r = n_tops-1; r >= 0; r--) {
+         if (tops[r].addr == 0)
+            continue;
+         if (tops[r].score == 0)
+            continue;
+         name[0] = 0;
+         VG_(get_fnname_w_offset)(tops[r].addr, name, 64);
+         name[63] = 0;
+         score_here = tops[r].score;
+         VG_(percentify)(score_cumul, score_total, 2, 6, buf_cumul);
+         VG_(percentify)(score_here,  score_total, 2, 6, buf_here);
+         VG_(printf)("%3d: (%9lld %s)   %9lld %s      0x%llx %s\n",
+                     r,
+                     score_cumul, buf_cumul,
+                     score_here,  buf_here, tops[r].addr, name );
+         score_cumul -= score_here;
+      }
+      VG_(printf)("rank  ---cumulative---      -----self-----\n");
+
+   }
+
+   VG_(printf)("\n");
+   VG_(printf)(">>>\n");
+   VG_(printf)(">>> END SB Profile #%u (%s)\n",
+               n_profiles, ecs_txt);
+   VG_(printf)(">>>\n");
+   VG_(printf)(">>>--->>>--->>>--->>>--->>>--->>>--->>>---"
+               ">>>--->>>--->>>--->>>--->>>--->>>\n");
+   VG_(printf)(">>>--->>>--->>>--->>>--->>>--->>>--->>>---"
+               ">>>--->>>--->>>--->>>--->>>--->>>\n");
+   VG_(printf)("\n");
+}
+
+
+/* Get and print a profile.  Also, zero out the counters so that if we
+   call it again later, the second call will only show new work done
+   since the first call.  ecs_done == 0 is taken to mean this is a
+   run-end profile. */
+void VG_(get_and_show_SB_profile) ( ULong ecs_done )
+{
+   /* The number of blocks to show for a end-of-run profile */
+#  define N_MAX_END 200
+   /* The number of blocks to show for a mid-run profile. */
+#  define N_MAX_INTERVAL 20
+   vg_assert(N_MAX_INTERVAL <= N_MAX_END);
+   SBProfEntry tops[N_MAX_END];
+   Int nToShow = ecs_done == 0  ? N_MAX_END  : N_MAX_INTERVAL;
+   ULong score_total = VG_(get_SB_profile)(tops, nToShow);
+   show_SB_profile(tops, nToShow, score_total, ecs_done);
+#  undef N_MAX_END
+#  undef N_MAX_INTERVAL
+}
+
+
+/*--------------------------------------------------------------------*/
+/*--- end                                            m_sbprofile.c ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/m_scheduler/priv_sched-lock-impl.h b/coregrind/m_scheduler/priv_sched-lock-impl.h
index 2eb1b89..efff82e 100644
--- a/coregrind/m_scheduler/priv_sched-lock-impl.h
+++ b/coregrind/m_scheduler/priv_sched-lock-impl.h
@@ -33,7 +33,7 @@
 #define __PRIV_SCHED_LOCK_IMPL_H
 
 struct sched_lock_ops {
-   const Char *(*get_sched_lock_name)(void);
+   const HChar *(*get_sched_lock_name)(void);
    struct sched_lock *(*create_sched_lock)(void);
    void (*destroy_sched_lock)(struct sched_lock *p);
    int (*get_sched_lock_owner)(struct sched_lock *p);
diff --git a/coregrind/m_scheduler/priv_sched-lock.h b/coregrind/m_scheduler/priv_sched-lock.h
index c411735..a0b3488 100644
--- a/coregrind/m_scheduler/priv_sched-lock.h
+++ b/coregrind/m_scheduler/priv_sched-lock.h
@@ -37,7 +37,7 @@
 enum SchedLockType { sched_lock_generic, sched_lock_ticket };
 
 Bool ML_(set_sched_lock_impl)(const enum SchedLockType t);
-const Char *ML_(get_sched_lock_name)(void);
+const HChar *ML_(get_sched_lock_name)(void);
 struct sched_lock *ML_(create_sched_lock)(void);
 void ML_(destroy_sched_lock)(struct sched_lock *p);
 int ML_(get_sched_lock_owner)(struct sched_lock *p);
diff --git a/coregrind/m_scheduler/priv_sema.h b/coregrind/m_scheduler/priv_sema.h
index d439b09..d044322 100644
--- a/coregrind/m_scheduler/priv_sema.h
+++ b/coregrind/m_scheduler/priv_sema.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_scheduler/sched-lock-generic.c b/coregrind/m_scheduler/sched-lock-generic.c
index be01fff..8fcdd7f 100644
--- a/coregrind/m_scheduler/sched-lock-generic.c
+++ b/coregrind/m_scheduler/sched-lock-generic.c
@@ -41,7 +41,7 @@
    vg_sema_t sema;
 };
 
-static const Char *get_sched_lock_name(void)
+static const HChar *get_sched_lock_name(void)
 {
    return "generic";
 }
diff --git a/coregrind/m_scheduler/sched-lock.c b/coregrind/m_scheduler/sched-lock.c
index f6fdb4d..71bc559 100644
--- a/coregrind/m_scheduler/sched-lock.c
+++ b/coregrind/m_scheduler/sched-lock.c
@@ -65,7 +65,7 @@
    return !!p;
 }
 
-const Char *ML_(get_sched_lock_name)(void)
+const HChar *ML_(get_sched_lock_name)(void)
 {
    return (sched_lock_ops->get_sched_lock_name)();
 }
diff --git a/coregrind/m_scheduler/scheduler.c b/coregrind/m_scheduler/scheduler.c
index 6fc5f50..eb3351e 100644
--- a/coregrind/m_scheduler/scheduler.c
+++ b/coregrind/m_scheduler/scheduler.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -57,20 +57,6 @@
    way back for the moment, until we do an OS port in earnest...]
 */
 
-/* FIXME tchaining tests:
-   - extensive spinrounds
-   - with sched quantum = 1  -- check that handle_noredir_jump
-     doesn't return with INNER_COUNTERZERO
-   other:
-   - out of date comment w.r.t. bit 0 set in libvex_trc_values.h
-   - can VG_TRC_BORING still happen?  if not, rm
-   - memory leaks in m_transtab (InEdgeArr/OutEdgeArr leaking?)
-   - move do_cacheflush out of m_transtab
-   - more economical unchaining when nuking an entire sector
-   - ditto w.r.t. cache flushes
-   - verify case of 2 paths from A to B
-   - check -- is IP_AT_SYSCALL still right?
-*/
 
 #include "pub_core_basics.h"
 #include "pub_core_debuglog.h"
@@ -95,6 +81,7 @@
 #include "pub_core_mallocfree.h"
 #include "pub_core_options.h"
 #include "pub_core_replacemalloc.h"
+#include "pub_core_sbprofile.h"
 #include "pub_core_signals.h"
 #include "pub_core_stacks.h"
 #include "pub_core_stacktrace.h"    // For VG_(get_and_pp_StackTrace)()
@@ -107,6 +94,7 @@
 #include "priv_sched-lock.h"
 #include "pub_core_scheduler.h"     // self
 #include "pub_core_redir.h"
+#include "libvex_emnote.h"          // VexEmNote
 
 
 /* ---------------------------------------------------------------------
@@ -142,8 +130,16 @@
 static ULong n_scheduling_events_MINOR = 0;
 static ULong n_scheduling_events_MAJOR = 0;
 
-ULong VG_(stats__n_xindirs) = 0;
-ULong VG_(stats__n_xindir_misses) = 0;
+/* Stats: number of XIndirs, and number that missed in the fast
+   cache. */
+static ULong stats__n_xindirs = 0;
+static ULong stats__n_xindir_misses = 0;
+
+/* And 32-bit temp bins for the above, so that 32-bit platforms don't
+   have to do 64 bit incs on the hot path through
+   VG_(cp_disp_xindir). */
+/*global*/ UInt VG_(stats__n_xindirs_32) = 0;
+/*global*/ UInt VG_(stats__n_xindir_misses_32) = 0;
 
 /* Sanity checking counts. */
 static UInt sanity_fast_count = 0;
@@ -155,9 +151,9 @@
       "scheduler: %'llu event checks.\n", bbs_done );
    VG_(message)(Vg_DebugMsg,
                 "scheduler: %'llu indir transfers, %'llu misses (1 in %llu)\n",
-                VG_(stats__n_xindirs), VG_(stats__n_xindir_misses),
-                VG_(stats__n_xindirs) / (VG_(stats__n_xindir_misses) 
-                                         ? VG_(stats__n_xindir_misses) : 1));
+                stats__n_xindirs, stats__n_xindir_misses,
+                stats__n_xindirs / (stats__n_xindir_misses 
+                                    ? stats__n_xindir_misses : 1));
    VG_(message)(Vg_DebugMsg,
       "scheduler: %'llu/%'llu major/minor sched events.\n",
       n_scheduling_events_MAJOR, n_scheduling_events_MINOR);
@@ -177,48 +173,60 @@
    ------------------------------------------------------------------ */
 
 static
-void print_sched_event ( ThreadId tid, Char* what )
+void print_sched_event ( ThreadId tid, const HChar* what )
 {
    VG_(message)(Vg_DebugMsg, "  SCHED[%d]: %s\n", tid, what );
 }
 
-/* For showing SB counts, if the user asks to see them. */
-#define SHOW_SBCOUNT_EVERY (20ULL * 1000 * 1000)
-static ULong bbs_done_lastcheck = 0;
-
+/* For showing SB profiles, if the user asks to see them. */
 static
-void maybe_show_sb_counts ( void )
+void maybe_show_sb_profile ( void )
 {
-   Long delta = bbs_done - bbs_done_lastcheck;
+   /* DO NOT MAKE NON-STATIC */
+   static ULong bbs_done_lastcheck = 0;
+   /* */
+   vg_assert(VG_(clo_profyle_interval) > 0);
+   Long delta = (Long)(bbs_done - bbs_done_lastcheck);
    vg_assert(delta >= 0);
-   if (UNLIKELY(delta >= SHOW_SBCOUNT_EVERY)) {
-      VG_(umsg)("%'lld superblocks executed\n", bbs_done);
+   if ((ULong)delta >= VG_(clo_profyle_interval)) {
       bbs_done_lastcheck = bbs_done;
+      VG_(get_and_show_SB_profile)(bbs_done);
    }
 }
 
 static
-HChar* name_of_sched_event ( UInt event )
+const HChar* name_of_sched_event ( UInt event )
 {
    switch (event) {
-      case VEX_TRC_JMP_SYS_SYSCALL:   return "SYSCALL";
-      case VEX_TRC_JMP_SYS_INT32:     return "INT32";
-      case VEX_TRC_JMP_SYS_INT128:    return "INT128";
-      case VEX_TRC_JMP_SYS_INT129:    return "INT129";
-      case VEX_TRC_JMP_SYS_INT130:    return "INT130";
-      case VEX_TRC_JMP_SYS_SYSENTER:  return "SYSENTER";
-      case VEX_TRC_JMP_CLIENTREQ:     return "CLIENTREQ";
-      case VEX_TRC_JMP_YIELD:         return "YIELD";
-      case VEX_TRC_JMP_NODECODE:      return "NODECODE";
-      case VEX_TRC_JMP_MAPFAIL:       return "MAPFAIL";
-      case VEX_TRC_JMP_NOREDIR:       return "NOREDIR";
-      case VEX_TRC_JMP_EMWARN:        return "EMWARN";
-      case VEX_TRC_JMP_TINVAL:        return "TINVAL";
-      case VG_TRC_INVARIANT_FAILED:   return "INVFAILED";
-      case VG_TRC_INNER_COUNTERZERO:  return "COUNTERZERO";
-      case VG_TRC_INNER_FASTMISS:     return "FASTMISS";
-      case VG_TRC_FAULT_SIGNAL:       return "FAULTSIGNAL";
-      default:                        return "??UNKNOWN??";
+      case VEX_TRC_JMP_TINVAL:         return "TINVAL";
+      case VEX_TRC_JMP_NOREDIR:        return "NOREDIR";
+      case VEX_TRC_JMP_SIGTRAP:        return "SIGTRAP";
+      case VEX_TRC_JMP_SIGSEGV:        return "SIGSEGV";
+      case VEX_TRC_JMP_SIGBUS:         return "SIGBUS";
+      case VEX_TRC_JMP_SIGFPE_INTOVF:
+      case VEX_TRC_JMP_SIGFPE_INTDIV:  return "SIGFPE";
+      case VEX_TRC_JMP_EMWARN:         return "EMWARN";
+      case VEX_TRC_JMP_EMFAIL:         return "EMFAIL";
+      case VEX_TRC_JMP_CLIENTREQ:      return "CLIENTREQ";
+      case VEX_TRC_JMP_YIELD:          return "YIELD";
+      case VEX_TRC_JMP_NODECODE:       return "NODECODE";
+      case VEX_TRC_JMP_MAPFAIL:        return "MAPFAIL";
+      case VEX_TRC_JMP_SYS_SYSCALL:    return "SYSCALL";
+      case VEX_TRC_JMP_SYS_INT32:      return "INT32";
+      case VEX_TRC_JMP_SYS_INT128:     return "INT128";
+      case VEX_TRC_JMP_SYS_INT129:     return "INT129";
+      case VEX_TRC_JMP_SYS_INT130:     return "INT130";
+      case VEX_TRC_JMP_SYS_SYSENTER:   return "SYSENTER";
+      case VEX_TRC_JMP_BORING:         return "VEX_BORING";
+
+      case VG_TRC_BORING:              return "VG_BORING";
+      case VG_TRC_INNER_FASTMISS:      return "FASTMISS";
+      case VG_TRC_INNER_COUNTERZERO:   return "COUNTERZERO";
+      case VG_TRC_FAULT_SIGNAL:        return "FAULTSIGNAL";
+      case VG_TRC_INVARIANT_FAILED:    return "INVFAILED";
+      case VG_TRC_CHAIN_ME_TO_SLOW_EP: return "CHAIN_ME_SLOW";
+      case VG_TRC_CHAIN_ME_TO_FAST_EP: return "CHAIN_ME_FAST";
+      default:                         return "??UNKNOWN??";
   }
 }
 
@@ -247,7 +255,7 @@
 
    When this returns, we'll actually be running.
  */
-void VG_(acquire_BigLock)(ThreadId tid, HChar* who)
+void VG_(acquire_BigLock)(ThreadId tid, const HChar* who)
 {
    ThreadState *tst;
 
@@ -277,7 +285,10 @@
    VG_(running_tid) = tid;
 
    { Addr gsp = VG_(get_SP)(tid);
-     VG_(unknown_SP_update)(gsp, gsp, 0/*unknown origin*/);
+      if (NULL != VG_(tdict).track_new_mem_stack_w_ECU)
+         VG_(unknown_SP_update_w_ECU)(gsp, gsp, 0/*unknown origin*/);
+      else
+         VG_(unknown_SP_update)(gsp, gsp);
    }
 
    if (VG_(clo_trace_sched)) {
@@ -295,7 +306,8 @@
    but it may mean that we remain in a Runnable state and we're just
    yielding the CPU to another thread).
  */
-void VG_(release_BigLock)(ThreadId tid, ThreadStatus sleepstate, HChar* who)
+void VG_(release_BigLock)(ThreadId tid, ThreadStatus sleepstate,
+                          const HChar* who)
 {
    ThreadState *tst = VG_(get_ThreadState)(tid);
 
@@ -310,7 +322,7 @@
    VG_(running_tid) = VG_INVALID_THREADID;
 
    if (VG_(clo_trace_sched)) {
-      Char buf[200];
+      HChar buf[200];
       vg_assert(VG_(strlen)(who) <= 200-100);
       VG_(sprintf)(buf, "releasing lock (%s) -> %s",
                         who, VG_(name_of_ThreadStatus)(sleepstate));
@@ -335,13 +347,13 @@
 }
 
 /* See pub_core_scheduler.h for description */
-void VG_(acquire_BigLock_LL) ( HChar* who )
+void VG_(acquire_BigLock_LL) ( const HChar* who )
 {
    ML_(acquire_sched_lock)(the_BigLock);
 }
 
 /* See pub_core_scheduler.h for description */
-void VG_(release_BigLock_LL) ( HChar* who )
+void VG_(release_BigLock_LL) ( const HChar* who )
 {
    ML_(release_sched_lock)(the_BigLock);
 }
@@ -736,14 +748,14 @@
 #  endif
 
 #  if defined(VGA_amd64)
-   /* amd64 XMM regs must form an array, ie, have no holes in
+   /* amd64 YMM regs must form an array, ie, have no holes in
       between. */
    vg_assert(
-      (offsetof(VexGuestAMD64State,guest_XMM16)
-       - offsetof(VexGuestAMD64State,guest_XMM0))
-      == (17/*#regs*/-1) * 16/*bytes per reg*/
+      (offsetof(VexGuestAMD64State,guest_YMM16)
+       - offsetof(VexGuestAMD64State,guest_YMM0))
+      == (17/*#regs*/-1) * 32/*bytes per reg*/
    );
-   vg_assert(VG_IS_16_ALIGNED(offsetof(VexGuestAMD64State,guest_XMM0)));
+   vg_assert(VG_IS_16_ALIGNED(offsetof(VexGuestAMD64State,guest_YMM0)));
    vg_assert(VG_IS_8_ALIGNED(offsetof(VexGuestAMD64State,guest_FPREG)));
    vg_assert(16 == offsetof(VexGuestAMD64State,guest_RAX));
    vg_assert(VG_IS_8_ALIGNED(offsetof(VexGuestAMD64State,guest_RAX)));
@@ -777,6 +789,10 @@
 #  if defined(VGA_s390x)
    /* no special requirements */
 #  endif
+
+#  if defined(VGA_mips32) || defined(VGA_mips64)
+  /* no special requirements */
+#  endif
 }
 
 // NO_VGDB_POLL value ensures vgdb is not polled, while
@@ -830,6 +846,10 @@
    do_pre_run_checks( (ThreadState*)tst );
    /* end Paranoia */
 
+   /* Futz with the XIndir stats counters. */
+   vg_assert(VG_(stats__n_xindirs_32) == 0);
+   vg_assert(VG_(stats__n_xindir_misses_32) == 0);
+
    /* Clear return area. */
    two_words[0] = two_words[1] = 0;
 
@@ -866,7 +886,6 @@
    /* We have either a no-redir or a redir translation. */
    vg_assert(host_code_addr != 0); /* implausible */
 
-
    /* there should be no undealt-with signals */
    //vg_assert(VG_(threads)[tid].siginfo.si_signo == 0);
 
@@ -916,6 +935,15 @@
       block_signals();
    } 
 
+   /* Merge the 32-bit XIndir/miss counters into the 64 bit versions,
+      and zero out the 32-bit ones in preparation for the next run of
+      generated code. */
+   stats__n_xindirs += (ULong)VG_(stats__n_xindirs_32);
+   VG_(stats__n_xindirs_32) = 0;
+   stats__n_xindir_misses += (ULong)VG_(stats__n_xindir_misses_32);
+   VG_(stats__n_xindir_misses_32) = 0;
+
+   /* Inspect the event counter. */
    vg_assert((Int)tst->arch.vex.host_EvC_COUNTER >= -1);
    vg_assert(tst->arch.vex.host_EvC_FAILADDR
              == (HWord)VG_(fnptr_to_fnentry)( &VG_(disp_cp_evcheck_fail)) );
@@ -1326,8 +1354,8 @@
             before swapping to another.  That means that short term
             spins waiting for hardware to poke memory won't cause a
             thread swap. */
-	 if (dispatch_ctr > 2000) 
-            dispatch_ctr = 2000;
+	 if (dispatch_ctr > 1000) 
+            dispatch_ctr = 1000;
 	 break;
 
       case VG_TRC_INNER_COUNTERZERO:
@@ -1348,22 +1376,22 @@
          break;
 
       case VEX_TRC_JMP_EMWARN: {
-         static Int  counts[EmWarn_NUMBER];
+         static Int  counts[EmNote_NUMBER];
          static Bool counts_initted = False;
-         VexEmWarn ew;
-         HChar*    what;
+         VexEmNote ew;
+         const HChar* what;
          Bool      show;
          Int       q;
          if (!counts_initted) {
             counts_initted = True;
-            for (q = 0; q < EmWarn_NUMBER; q++)
+            for (q = 0; q < EmNote_NUMBER; q++)
                counts[q] = 0;
          }
-         ew   = (VexEmWarn)VG_(threads)[tid].arch.vex.guest_EMWARN;
-         what = (ew < 0 || ew >= EmWarn_NUMBER)
+         ew   = (VexEmNote)VG_(threads)[tid].arch.vex.guest_EMNOTE;
+         what = (ew < 0 || ew >= EmNote_NUMBER)
                    ? "unknown (?!)"
-                   : LibVEX_EmWarn_string(ew);
-         show = (ew < 0 || ew >= EmWarn_NUMBER)
+                   : LibVEX_EmNote_string(ew);
+         show = (ew < 0 || ew >= EmNote_NUMBER)
                    ? True
                    : counts[ew]++ < 3;
          if (show && VG_(clo_show_emwarns) && !VG_(clo_xml)) {
@@ -1376,12 +1404,12 @@
       }
 
       case VEX_TRC_JMP_EMFAIL: {
-         VexEmWarn ew;
-         HChar*    what;
-         ew   = (VexEmWarn)VG_(threads)[tid].arch.vex.guest_EMWARN;
-         what = (ew < 0 || ew >= EmWarn_NUMBER)
+         VexEmNote ew;
+         const HChar* what;
+         ew   = (VexEmNote)VG_(threads)[tid].arch.vex.guest_EMNOTE;
+         what = (ew < 0 || ew >= EmNote_NUMBER)
                    ? "unknown (?!)"
-                   : LibVEX_EmWarn_string(ew);
+                   : LibVEX_EmNote_string(ew);
          VG_(message)( Vg_UserMsg,
                        "Emulation fatal error -- Valgrind cannot continue:\n");
          VG_(message)( Vg_UserMsg, "  %s\n", what);
@@ -1405,11 +1433,21 @@
          VG_(synth_sigbus)(tid);
          break;
 
-      case VEX_TRC_JMP_NODECODE:
-         VG_(umsg)(
-            "valgrind: Unrecognised instruction at address %#lx.\n",
-            VG_(get_IP)(tid));
-         VG_(get_and_pp_StackTrace)(tid, 50);
+      case VEX_TRC_JMP_SIGFPE_INTDIV:
+         VG_(synth_sigfpe)(tid, VKI_FPE_INTDIV);
+         break;
+
+      case VEX_TRC_JMP_SIGFPE_INTOVF:
+         VG_(synth_sigfpe)(tid, VKI_FPE_INTOVF);
+         break;
+
+      case VEX_TRC_JMP_NODECODE: {
+         Addr addr = VG_(get_IP)(tid);
+
+         if (VG_(clo_sigill_diag)) {
+            VG_(umsg)(
+               "valgrind: Unrecognised instruction at address %#lx.\n", addr);
+            VG_(get_and_pp_StackTrace)(tid, VG_(clo_backtrace_size));
 #define M(a) VG_(umsg)(a "\n");
    M("Your program just tried to execute an instruction that Valgrind" );
    M("did not recognise.  There are two possible reasons for this."    );
@@ -1422,9 +1460,26 @@
    M("Either way, Valgrind will now raise a SIGILL signal which will"  );
    M("probably kill your program."                                     );
 #undef M
-         VG_(synth_sigill)(tid, VG_(get_IP)(tid));
-         break;
+         }
 
+#if defined(VGA_s390x)
+         /* Now that the complaint is out we need to adjust the guest_IA. The
+            reason is that -- after raising the exception -- execution will
+            continue with the insn that follows the invalid insn. As the first
+            2 bits of the invalid insn determine its length in the usual way,
+            we can compute the address of the next insn here and adjust the
+            guest_IA accordingly. This adjustment is essential and tested by
+            none/tests/s390x/op_exception.c (which would loop forever
+            otherwise) */
+         UChar byte = ((UChar *)addr)[0];
+         UInt  insn_length = ((((byte >> 6) + 1) >> 1) + 1) << 1;
+         Addr  next_insn_addr = addr + insn_length;
+
+         VG_(set_IP)(tid, next_insn_addr);
+#endif
+         VG_(synth_sigill)(tid, addr);
+         break;
+      }
       case VEX_TRC_JMP_TINVAL:
          VG_(discard_translations)(
             (Addr64)VG_(threads)[tid].arch.vex.guest_TISTART,
@@ -1468,7 +1523,7 @@
          /* return address in client edx */
          VG_(threads)[tid].arch.vex.guest_EIP
             = VG_(threads)[tid].arch.vex.guest_EDX;
-         handle_syscall(tid, trc);
+         handle_syscall(tid, trc[0]);
 #        else
          vg_assert2(0, "VG_(scheduler), phase 3: "
                        "sysenter_x86 on non-x86 platform?!?!");
@@ -1483,8 +1538,8 @@
 
       } /* switch (trc) */
 
-      if (0)
-         maybe_show_sb_counts();
+      if (UNLIKELY(VG_(clo_profyle_sbs)) && VG_(clo_profyle_interval) > 0)
+         maybe_show_sb_profile();
    }
 
    if (VG_(clo_trace_sched))
@@ -1542,6 +1597,9 @@
 #elif defined (VGA_s390x)
 #  define VG_CLREQ_ARGS       guest_r2
 #  define VG_CLREQ_RET        guest_r3
+#elif defined(VGA_mips32) || defined(VGA_mips64)
+#  define VG_CLREQ_ARGS       guest_r12
+#  define VG_CLREQ_RET        guest_r11
 #else
 #  error Unknown arch
 #endif
@@ -1660,7 +1718,7 @@
          } u;
          u.uw = (unsigned long)arg[2];
          Int count = 
-            VG_(vmessage)( Vg_ClientMsg, (char *)arg[1], u.vargs );
+            VG_(vmessage)( Vg_ClientMsg, (HChar *)arg[1], u.vargs );
          VG_(message_flush)();
          SET_CLREQ_RETVAL( tid, count );
          break;
@@ -1677,7 +1735,7 @@
          } u;
          u.uw = (unsigned long)arg[2];
          Int count =
-            VG_(vmessage)( Vg_ClientMsg, (char *)arg[1], u.vargs );
+            VG_(vmessage)( Vg_ClientMsg, (HChar *)arg[1], u.vargs );
          VG_(message_flush)();
          VG_(get_and_pp_StackTrace)( tid, VG_(clo_backtrace_size) );
          SET_CLREQ_RETVAL( tid, count );
@@ -1687,7 +1745,7 @@
       case VG_USERREQ__PRINTF_VALIST_BY_REF: {
          va_list* vargsp = (va_list*)arg[2];
          Int count = 
-            VG_(vmessage)( Vg_ClientMsg, (char *)arg[1], *vargsp );
+            VG_(vmessage)( Vg_ClientMsg, (HChar *)arg[1], *vargsp );
          VG_(message_flush)();
          SET_CLREQ_RETVAL( tid, count );
          break;
@@ -1696,7 +1754,7 @@
       case VG_USERREQ__PRINTF_BACKTRACE_VALIST_BY_REF: {
          va_list* vargsp = (va_list*)arg[2];
          Int count =
-            VG_(vmessage)( Vg_ClientMsg, (char *)arg[1], *vargsp );
+            VG_(vmessage)( Vg_ClientMsg, (HChar *)arg[1], *vargsp );
          VG_(message_flush)();
          VG_(get_and_pp_StackTrace)( tid, VG_(clo_backtrace_size) );
          SET_CLREQ_RETVAL( tid, count );
@@ -1706,7 +1764,7 @@
       case VG_USERREQ__INTERNAL_PRINTF_VALIST_BY_REF: {
          va_list* vargsp = (va_list*)arg[2];
          Int count = 
-            VG_(vmessage)( Vg_DebugMsg, (char *)arg[1], *vargsp );
+            VG_(vmessage)( Vg_DebugMsg, (HChar *)arg[1], *vargsp );
          VG_(message_flush)();
          SET_CLREQ_RETVAL( tid, count );
          break;
@@ -1780,7 +1838,7 @@
 
       case VG_USERREQ__MAP_IP_TO_SRCLOC: {
          Addr   ip    = arg[1];
-         UChar* buf64 = (UChar*)arg[2];
+         HChar* buf64 = (HChar*)arg[2];
 
          VG_(memset)(buf64, 0, 64);
          UInt linenum = 0;
@@ -1823,6 +1881,13 @@
          break;
       }
 
+      case VG_USERREQ__GDB_MONITOR_COMMAND: {
+         UWord ret;
+         ret = (UWord) VG_(client_monitor_command) ((HChar*)arg[1]);
+         SET_CLREQ_RETVAL(tid, ret);
+         break;
+      }
+
       case VG_USERREQ__MALLOCLIKE_BLOCK:
       case VG_USERREQ__RESIZEINPLACE_BLOCK:
       case VG_USERREQ__FREELIKE_BLOCK:
@@ -1834,6 +1899,10 @@
             goto my_default;
          }
 
+      case VG_USERREQ__VEX_INIT_FOR_IRI:
+         LibVEX_InitIRI ( (IRICB *)arg[1] );
+         break;
+
       default:
        my_default:
 	 if (os_client_request(tid, arg)) {
@@ -1853,8 +1922,8 @@
 	    if (!whined && VG_(clo_verbosity) > 2) {
                // Allow for requests in core, but defined by tools, which
                // have 0 and 0 in their two high bytes.
-               Char c1 = (arg[0] >> 24) & 0xff;
-               Char c2 = (arg[0] >> 16) & 0xff;
+               HChar c1 = (arg[0] >> 24) & 0xff;
+               HChar c2 = (arg[0] >> 16) & 0xff;
                if (c1 == 0) c1 = '_';
                if (c2 == 0) c2 = '_';
 	       VG_(message)(Vg_UserMsg, "Warning:\n"
@@ -1904,8 +1973,6 @@
 void scheduler_sanity ( ThreadId tid )
 {
    Bool bad = False;
-   static UInt lasttime = 0;
-   UInt now;
    Int lwpid = VG_(gettid)();
 
    if (!VG_(is_running_thread)(tid)) {
@@ -1930,14 +1997,18 @@
       bad = True;
    }
 
-   /* Periodically show the state of all threads, for debugging
-      purposes. */
-   now = VG_(read_millisecond_timer)();
-   if (0 && (!bad) && (lasttime + 4000/*ms*/ <= now)) {
-      lasttime = now;
-      VG_(printf)("\n------------ Sched State at %d ms ------------\n",
-                  (Int)now);
-      VG_(show_sched_status)();
+   if (0) {
+      /* Periodically show the state of all threads, for debugging
+         purposes. */
+      static UInt lasttime = 0;
+      UInt now;
+      now = VG_(read_millisecond_timer)();
+      if ((!bad) && (lasttime + 4000/*ms*/ <= now)) {
+         lasttime = now;
+         VG_(printf)("\n------------ Sched State at %d ms ------------\n",
+                     (Int)now);
+         VG_(show_sched_status)();
+      }
    }
 
    /* core_panic also shows the sched status, which is why we don't
diff --git a/coregrind/m_scheduler/sema.c b/coregrind/m_scheduler/sema.c
index b3c85a1..2cb51d9 100644
--- a/coregrind/m_scheduler/sema.c
+++ b/coregrind/m_scheduler/sema.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -49,12 +49,12 @@
    it easier to make sense of strace/truss output - makes it possible
    to see more clearly the change of ownership of the lock.  Need to
    be careful to reinitialise it at fork() time. */
-static Char sema_char = '!'; /* will cause assertion failures if used
-                                before sema_init */
+static HChar sema_char = '!'; /* will cause assertion failures if used
+                                 before sema_init */
 
 void ML_(sema_init)(vg_sema_t *sema)
 {
-   Char buf[2];
+   HChar buf[2];
    Int res, r;
    r = VG_(pipe)(sema->pipe);
    vg_assert(r == 0);
@@ -97,7 +97,7 @@
 /* get a token */
 void ML_(sema_down)( vg_sema_t *sema, Bool as_LL )
 {
-   Char buf[2];
+   HChar buf[2];
    Int ret;
    Int lwpid = VG_(gettid)();
 
@@ -130,7 +130,7 @@
 void ML_(sema_up)( vg_sema_t *sema, Bool as_LL )
 {
    Int ret;
-   Char buf[2];
+   HChar buf[2];
    vg_assert(as_LL == sema->held_as_LL);
    buf[0] = sema_char; 
    buf[1] = 0;
diff --git a/coregrind/m_scheduler/ticket-lock-linux.c b/coregrind/m_scheduler/ticket-lock-linux.c
index 865c79e..477b6a8 100644
--- a/coregrind/m_scheduler/ticket-lock-linux.c
+++ b/coregrind/m_scheduler/ticket-lock-linux.c
@@ -68,7 +68,7 @@
 static Bool s_debug = True;
 #endif
 
-static const Char *get_sched_lock_name(void)
+static const HChar *get_sched_lock_name(void)
 {
    return "ticket lock";
 }
@@ -127,6 +127,7 @@
                   VG_(gettid)(), ticket);
    for (;;) {
       futex_value = *futex;
+      __sync_synchronize();
       if (ticket == p->head)
          break;
       if (s_debug)
@@ -142,6 +143,7 @@
          vg_assert(False);
       }
    }
+   __sync_synchronize();
    INNER_REQUEST(ANNOTATE_RWLOCK_ACQUIRED(p, /*is_w*/1));
    vg_assert(p->owner == 0);
    p->owner = VG_(gettid)();
diff --git a/coregrind/m_seqmatch.c b/coregrind/m_seqmatch.c
index 9a5c004..09db2d1 100644
--- a/coregrind/m_seqmatch.c
+++ b/coregrind/m_seqmatch.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -41,11 +41,12 @@
 /* See detailed comment in include/pub_tool_seqmatch.h about this. */
 Bool VG_(generic_match) ( 
         Bool matchAll,
-        void* patt,  SizeT szbPatt,  UWord nPatt,  UWord ixPatt,
-        void* input, SizeT szbInput, UWord nInput, UWord ixInput,
-        Bool (*pIsStar)(void*),
-        Bool (*pIsQuery)(void*),
-        Bool (*pattEQinp)(void*,void*)
+        const void* patt,  SizeT szbPatt,  UWord nPatt,  UWord ixPatt,
+        const void* input, SizeT szbInput, UWord nInput, UWord ixInput,
+        Bool (*pIsStar)(const void*),
+        Bool (*pIsQuery)(const void*),
+        Bool (*pattEQinp)(const void*,const void*,void*,UWord),
+        void* inputCompleter
      )
 {
    /* This is the spec, written in my favourite formal specification
@@ -64,7 +65,7 @@
       ma []       []     = True
    */
    Bool  havePatt, haveInput;
-   void  *currPatt, *currInput;
+   const HChar *currPatt, *currInput;
   tailcall:
    vg_assert(nPatt >= 0   && nPatt  < 1000000); /* arbitrary */
    vg_assert(nInput >= 0  && nInput < 1000000); /* arbitrary */
@@ -77,8 +78,8 @@
    /* No specific need to set NULL when !have{Patt,Input}, but guards
       against inadvertantly dereferencing an out of range pointer to
       the pattern or input arrays. */
-   currPatt  = havePatt  ? ((Char*)patt) + szbPatt * ixPatt    : NULL;
-   currInput = haveInput ? ((Char*)input) + szbInput * ixInput : NULL;
+   currPatt  = havePatt  ? ((const HChar*)patt) + szbPatt * ixPatt    : NULL;
+   currInput = haveInput ? ((const HChar*)input) + szbInput * ixInput : NULL;
 
    // Deal with the complex case first: wildcards.  Do frugal
    // matching.  When encountering a '*', first skip no characters
@@ -102,7 +103,8 @@
          if (VG_(generic_match)( matchAll,
                                  patt, szbPatt, nPatt,  ixPatt+1,
                                  input,szbInput,nInput, ixInput+0,
-                                 pIsStar,pIsQuery,pattEQinp) ) {
+                                 pIsStar,pIsQuery,pattEQinp,
+                                 inputCompleter) ) {
             return True;
          }
          // but we can tail-recurse for the second call
@@ -129,7 +131,7 @@
    //
    // ma (p:ps)   (i:is) = p == i && ma ps is
    if (havePatt && haveInput) {
-      if (!pattEQinp(currPatt,currInput)) return False;
+      if (!pattEQinp(currPatt,currInput,inputCompleter,ixInput)) return False;
       ixPatt++; ixInput++; goto tailcall;
    }
 
@@ -161,21 +163,23 @@
 /* And a parameterization of the above, to make it do
    string matching.
 */
-static Bool charIsStar  ( void* pV ) { return *(Char*)pV == '*'; }
-static Bool charIsQuery ( void* pV ) { return *(Char*)pV == '?'; }
-static Bool char_p_EQ_i ( void* pV, void* cV ) {
-   Char p = *(Char*)pV;
-   Char c = *(Char*)cV;
+static Bool charIsStar  ( const void* pV ) { return *(const HChar*)pV == '*'; }
+static Bool charIsQuery ( const void* pV ) { return *(const HChar*)pV == '?'; }
+static Bool char_p_EQ_i ( const void* pV, const void* cV,
+                          void* null_completer, UWord ixcV ) {
+   HChar p = *(const HChar*)pV;
+   HChar c = *(const HChar*)cV;
    vg_assert(p != '*' && p != '?');
    return p == c;
 }
-Bool VG_(string_match) ( const Char* patt, const Char* input )
+Bool VG_(string_match) ( const HChar* patt, const HChar* input )
 {
    return VG_(generic_match)(
              True/* match-all */,
-             (void*)patt,  sizeof(UChar), VG_(strlen)(patt), 0,
-             (void*)input, sizeof(UChar), VG_(strlen)(input), 0,
-             charIsStar, charIsQuery, char_p_EQ_i
+             patt,  sizeof(HChar), VG_(strlen)(patt), 0,
+             input, sizeof(HChar), VG_(strlen)(input), 0,
+             charIsStar, charIsQuery, char_p_EQ_i,
+             NULL
           );
 }
 
diff --git a/coregrind/m_sigframe/sigframe-amd64-darwin.c b/coregrind/m_sigframe/sigframe-amd64-darwin.c
index 8c85829..833d9d5 100644
--- a/coregrind/m_sigframe/sigframe-amd64-darwin.c
+++ b/coregrind/m_sigframe/sigframe-amd64-darwin.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2006-2011 OpenWorks Ltd
+   Copyright (C) 2006-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -89,14 +89,8 @@
 static Bool extend ( ThreadState *tst, Addr addr, SizeT size )
 {
    ThreadId tid = tst->tid;
-   /* For tracking memory events, indicate the entire frame has been
-      allocated.  Except, don't mess with the area which
-      overlaps the previous frame's redzone. */
-   /* XXX is the following call really right?  compared with the
-      amd64-linux version, this doesn't appear to handle the redzone
-      in the same way. */
-   VG_TRACK( new_mem_stack_signal,
-             addr - VG_STACK_REDZONE_SZB, size, tid );
+   VG_TRACK( new_mem_stack_signal, addr - VG_STACK_REDZONE_SZB,
+             size + VG_STACK_REDZONE_SZB, tid );
    return True;
 }
 
diff --git a/coregrind/m_sigframe/sigframe-amd64-linux.c b/coregrind/m_sigframe/sigframe-amd64-linux.c
index bef5d82..651ea11 100644
--- a/coregrind/m_sigframe/sigframe-amd64-linux.c
+++ b/coregrind/m_sigframe/sigframe-amd64-linux.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -452,7 +452,7 @@
    UWord err;
 
    rsp -= sizeof(*frame);
-   rsp = VG_ROUNDDN(rsp, 16);
+   rsp = VG_ROUNDDN(rsp, 16) - 8;
    frame = (struct rt_sigframe *)rsp;
 
    if (!extend(tst, rsp, sizeof(*frame)))
diff --git a/coregrind/m_sigframe/sigframe-arm-linux.c b/coregrind/m_sigframe/sigframe-arm-linux.c
index cf68bde..06069e4 100644
--- a/coregrind/m_sigframe/sigframe-arm-linux.c
+++ b/coregrind/m_sigframe/sigframe-arm-linux.c
@@ -8,11 +8,11 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
-   Copyright (C) 2004-2011 Paul Mackerras
+   Copyright (C) 2004-2012 Paul Mackerras
       paulus@samba.org
-   Copyright (C) 2008-2011 Evan Geller
+   Copyright (C) 2008-2012 Evan Geller
       gaze@bea.ms
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_sigframe/sigframe-mips32-linux.c b/coregrind/m_sigframe/sigframe-mips32-linux.c
new file mode 100644
index 0000000..e0220be
--- /dev/null
+++ b/coregrind/m_sigframe/sigframe-mips32-linux.c
@@ -0,0 +1,392 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Create/destroy signal delivery frames.                       ---*/
+/*---                                  sigframe-mips32-linux.c     ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2010-2012 RT-RK
+      mips-valgrind@rt-rk.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#if defined(VGP_mips32_linux)
+
+#include "pub_core_basics.h"
+#include "pub_core_vki.h"
+#include "pub_core_vkiscnums.h"
+#include "pub_core_libcsetjmp.h"    // to keep _threadstate.h happy
+#include "pub_core_threadstate.h"
+#include "pub_core_aspacemgr.h"
+#include "pub_core_libcbase.h"
+#include "pub_core_libcassert.h"
+#include "pub_core_libcprint.h"
+#include "pub_core_machine.h"
+#include "pub_core_options.h"
+#include "pub_core_sigframe.h"
+#include "pub_core_signals.h"
+#include "pub_core_tooliface.h"
+#include "pub_core_trampoline.h"
+#include "pub_core_transtab.h"      // VG_(discard_translations)
+
+struct vg_sig_private
+{
+  UInt magicPI;
+  UInt sigNo_private;
+  VexGuestMIPS32State vex_shadow1;
+  VexGuestMIPS32State vex_shadow2;
+};
+
+struct sigframe 
+{
+  UInt sf_ass[4];       /* argument save space for o32 */
+  UInt sf_pad[2];       /* Was: signal trampoline */
+  struct vki_sigcontext sf_sc;
+  vki_sigset_t sf_mask;
+  struct vg_sig_private priv;
+};
+
+struct rt_sigframe
+{
+  UInt rs_ass[4];		/* argument save space for o32 */
+  UInt rs_pad[2];		/* Was: signal trampoline */
+  vki_siginfo_t rs_info;
+  struct vki_ucontext rs_uc;
+  struct vg_sig_private priv;
+};
+
+/* Extend the stack segment downwards if needed so as to ensure the
+   new signal frames are mapped to something.  Return a Bool
+   indicating whether or not the operation was successful.
+*/
+static Bool extend ( ThreadState *tst, Addr addr, SizeT size )
+{
+  ThreadId        tid = tst->tid;
+  NSegment const* stackseg = NULL;
+
+  if (VG_(extend_stack)(addr, tst->client_stack_szB))
+    {
+      stackseg = VG_(am_find_nsegment)(addr);
+   }
+
+   if (stackseg == NULL || !stackseg->hasR || !stackseg->hasW)
+     {
+       VG_(message)(Vg_UserMsg,
+         "Can't extend stack to %#lx during signal delivery for thread %d:\n",
+         addr, tid );
+       if (stackseg == NULL)
+         VG_(message)( Vg_UserMsg, "  no stack segment\n" );
+       else
+         VG_(message)( Vg_UserMsg, "  too small or bad protection modes\n" );
+
+       /* set SIGSEGV to default handler */
+       VG_(set_default_handler)( VKI_SIGSEGV );
+       VG_(synth_fault_mapping)( tid, addr );
+
+       /* The whole process should be about to die, since the default
+          action of SIGSEGV to kill the whole process. */
+      return False;
+    }
+
+    /* For tracking memory events, indicate the entire frame has been
+       allocated. */
+    VG_TRACK( new_mem_stack_signal, addr - VG_STACK_REDZONE_SZB,
+              size + VG_STACK_REDZONE_SZB, tid );
+
+    return True;
+}
+
+static 
+void setup_sigcontext2 ( ThreadState* tst, struct vki_sigcontext **sc1,
+                         const vki_siginfo_t *si)
+{
+
+  struct vki_sigcontext *sc = *sc1;
+
+  VG_TRACK( pre_mem_write, Vg_CoreSignal, tst->tid, "signal frame mcontext",
+           (Addr)sc, sizeof(unsigned long long)*34 );       
+  sc->sc_regs[1] = tst->arch.vex.guest_r1;
+  sc->sc_regs[2] = tst->arch.vex.guest_r2;
+  sc->sc_regs[3] = tst->arch.vex.guest_r3;
+  sc->sc_regs[4] = tst->arch.vex.guest_r4;
+  sc->sc_regs[5] = tst->arch.vex.guest_r5;
+  sc->sc_regs[6] = tst->arch.vex.guest_r6;
+  sc->sc_regs[7] = tst->arch.vex.guest_r7;
+  sc->sc_regs[8] = tst->arch.vex.guest_r8;
+  sc->sc_regs[9] = tst->arch.vex.guest_r9;
+  sc->sc_regs[10] = tst->arch.vex.guest_r10;
+  sc->sc_regs[11] = tst->arch.vex.guest_r11;
+  sc->sc_regs[12] = tst->arch.vex.guest_r12;
+  sc->sc_regs[13] = tst->arch.vex.guest_r13;
+  sc->sc_regs[14] = tst->arch.vex.guest_r14;
+  sc->sc_regs[15] = tst->arch.vex.guest_r15;
+  sc->sc_regs[16] = tst->arch.vex.guest_r16;
+  sc->sc_regs[17] = tst->arch.vex.guest_r17;
+  sc->sc_regs[18] = tst->arch.vex.guest_r18;
+  sc->sc_regs[19] = tst->arch.vex.guest_r19;
+  sc->sc_regs[20] = tst->arch.vex.guest_r20;
+  sc->sc_regs[21] = tst->arch.vex.guest_r21;
+  sc->sc_regs[22] = tst->arch.vex.guest_r22;
+  sc->sc_regs[23] = tst->arch.vex.guest_r23;
+  sc->sc_regs[24] = tst->arch.vex.guest_r24;
+  sc->sc_regs[25] = tst->arch.vex.guest_r25;
+  sc->sc_regs[26] = tst->arch.vex.guest_r26;
+  sc->sc_regs[27] = tst->arch.vex.guest_r27;
+  sc->sc_regs[28] = tst->arch.vex.guest_r28;
+  sc->sc_regs[29] = tst->arch.vex.guest_r29;
+  sc->sc_regs[30] = tst->arch.vex.guest_r30;
+  sc->sc_regs[31] = tst->arch.vex.guest_r31;
+  sc->sc_pc = tst->arch.vex.guest_PC;
+  sc->sc_mdhi = tst->arch.vex.guest_HI;
+  sc->sc_mdlo = tst->arch.vex.guest_LO;
+}
+
+/* EXPORTED */
+void VG_(sigframe_create)( ThreadId tid, 
+                           Addr sp_top_of_frame,
+                           const vki_siginfo_t *siginfo,
+                           const struct vki_ucontext *siguc,
+                           void *handler, 
+                           UInt flags,
+                           const vki_sigset_t *mask,
+                           void *restorer )
+{
+  Addr sp;
+  ThreadState* tst = VG_(get_ThreadState)(tid);
+  Int sigNo = siginfo->si_signo;
+  struct vg_sig_private *priv;
+
+  /* Stack must be 8-byte aligned */
+  sp_top_of_frame &= ~0xf;
+
+  if (flags & VKI_SA_SIGINFO)
+    {
+      sp = sp_top_of_frame - sizeof(struct rt_sigframe);
+    }
+  else
+    {
+      sp = sp_top_of_frame - sizeof(struct sigframe);
+    }
+
+  tst = VG_(get_ThreadState)(tid);
+  if (!extend(tst, sp, sp_top_of_frame - sp))
+    return;
+
+  vg_assert(VG_IS_8_ALIGNED(sp));
+      
+  if (flags & VKI_SA_SIGINFO)
+    {
+      struct rt_sigframe *frame = (struct rt_sigframe *) sp;
+      struct vki_ucontext *ucp = &frame->rs_uc;
+      if (VG_(clo_trace_signals))
+        VG_(printf)("rt_sigframe\n");
+      /* Create siginfo.  */
+      VG_TRACK( pre_mem_write, Vg_CoreSignal, tid, "signal frame siginfo",
+               (Addr)&frame->rs_info, sizeof(frame->rs_info) );
+
+      VG_(memcpy)(&frame->rs_info, siginfo, sizeof(*siginfo));
+
+      VG_TRACK( post_mem_write, Vg_CoreSignal, tid, 
+               (Addr)&frame->rs_info, sizeof(frame->rs_info) );
+
+      /* Create the ucontext.  */
+      VG_TRACK( pre_mem_write, Vg_CoreSignal, tid, "signal frame ucontext",
+               (Addr)ucp, offsetof(struct vki_ucontext, uc_mcontext) );
+
+      ucp->uc_flags = 0;  
+      ucp->uc_link = 0;
+      ucp->uc_stack = tst->altstack;
+
+      VG_TRACK( post_mem_write, Vg_CoreSignal, tid, (Addr)ucp,
+               offsetof(struct vki_ucontext, uc_mcontext) );
+
+      struct vki_sigcontext *scp = &(frame->rs_uc.uc_mcontext);
+      setup_sigcontext2(tst, &(scp), siginfo);
+
+      ucp->uc_sigmask = tst->sig_mask;
+
+      priv = &frame->priv;
+
+      /*
+       * Arguments to signal handler:
+       *
+       *   a0 = signal number
+       *   a1 = 0 (should be cause)
+       *   a2 = pointer to ucontext
+       *
+       * $25 and c0_epc point to the signal handler, $29 points to
+       * the struct rt_sigframe.
+       */
+
+      tst->arch.vex.guest_r4 = siginfo->si_signo;
+      tst->arch.vex.guest_r5 = (Addr) &frame->rs_info;
+      tst->arch.vex.guest_r6 = (Addr) &frame->rs_uc;
+      tst->arch.vex.guest_r29 = (Addr) frame;
+      tst->arch.vex.guest_r25 = (Addr) handler;
+
+      if (flags & VKI_SA_RESTORER)
+        {
+          tst->arch.vex.guest_r31 = (Addr) restorer;  
+        }
+      else
+        {
+          tst->arch.vex.guest_r31 = (Addr)&VG_(mips32_linux_SUBST_FOR_rt_sigreturn);
+        }
+
+    }
+  else
+    {
+      if (VG_(clo_trace_signals))
+        VG_(printf)("sigframe\n");
+      struct sigframe *frame = (struct sigframe *) sp;
+      struct vki_sigcontext *scp = &(frame->sf_sc);
+      setup_sigcontext2(tst, &(scp), siginfo);
+      frame->sf_mask = tst->sig_mask;
+      priv = &frame->priv;
+      /*
+       * Arguments to signal handler:
+       *
+       *   a0 = signal number
+       *   a1 = 0 (should be cause)
+       *   a2 = pointer to struct sigcontext
+       *
+       * $25 and c0_epc point to the signal handler, $29 points to the
+       * struct sigframe.
+       */
+      tst->arch.vex.guest_r4 = siginfo->si_signo;
+      tst->arch.vex.guest_r5 = 0;
+      tst->arch.vex.guest_r6 = (Addr) &frame->sf_sc;
+      tst->arch.vex.guest_r29 = (Addr) frame;
+      tst->arch.vex.guest_r25 = (Addr) handler;
+
+      if (flags & VKI_SA_RESTORER)
+        {
+          tst->arch.vex.guest_r31 = (Addr) restorer;  
+        }
+      else
+        {
+          tst->arch.vex.guest_r31 = (Addr)&VG_(mips32_linux_SUBST_FOR_sigreturn);
+        }
+    }
+
+  priv->magicPI       = 0x31415927;
+  priv->sigNo_private = sigNo;
+  priv->vex_shadow1   = tst->arch.vex_shadow1;
+  priv->vex_shadow2   = tst->arch.vex_shadow2;
+  /* Set the thread so it will next run the handler. */
+  /* tst->m_sp  = sp;  also notify the tool we've updated SP */
+  VG_TRACK( post_reg_write, Vg_CoreSignal, tid, VG_O_STACK_PTR, sizeof(Addr));
+  if (VG_(clo_trace_signals))
+    VG_(printf)("handler = %p\n", handler);
+  tst->arch.vex.guest_PC = (Addr) handler;
+  /* This thread needs to be marked runnable, but we leave that the
+     caller to do. */
+}
+
+/* EXPORTED */
+void VG_(sigframe_destroy)( ThreadId tid, Bool isRT )
+{
+  ThreadState *tst;
+  struct vg_sig_private *priv1;
+  Addr sp;
+  UInt frame_size;
+  struct vki_sigcontext *mc;
+  Int sigNo;
+  Bool has_siginfo = isRT;
+
+  vg_assert(VG_(is_valid_tid)(tid));
+  tst = VG_(get_ThreadState)(tid);
+  sp   = tst->arch.vex.guest_r29;
+  if (has_siginfo)
+    {
+      struct rt_sigframe *frame = (struct rt_sigframe *)sp;
+      struct vki_ucontext *ucp = &frame->rs_uc;
+      frame_size = sizeof(*frame);
+      mc = &ucp->uc_mcontext;
+      priv1 = &frame->priv;
+      vg_assert(priv1->magicPI == 0x31415927);
+      sigNo = priv1->sigNo_private;
+    }
+  else 
+    {
+      struct sigframe *frame = (struct sigframe *)sp;
+      frame_size = sizeof(*frame);
+      mc = &(frame->sf_sc);
+      priv1 = &frame->priv;
+      vg_assert(priv1->magicPI == 0x31415927);
+      tst->sig_mask = frame->sf_mask;
+      tst->tmp_sig_mask = tst->sig_mask;
+      sigNo = priv1->sigNo_private;
+    }
+  //restore regs
+  tst->arch.vex.guest_r1 = mc->sc_regs[1];
+  tst->arch.vex.guest_r2 = mc->sc_regs[2];
+  tst->arch.vex.guest_r3 = mc->sc_regs[3];
+  tst->arch.vex.guest_r4 = mc->sc_regs[4];
+  tst->arch.vex.guest_r5 = mc->sc_regs[5];
+  tst->arch.vex.guest_r6 = mc->sc_regs[6];
+  tst->arch.vex.guest_r7 = mc->sc_regs[7];
+  tst->arch.vex.guest_r8 = mc->sc_regs[8];
+  tst->arch.vex.guest_r9 = mc->sc_regs[9];    
+  tst->arch.vex.guest_r10 = mc->sc_regs[10];
+  tst->arch.vex.guest_r11 = mc->sc_regs[11];
+  tst->arch.vex.guest_r12 = mc->sc_regs[12];
+  tst->arch.vex.guest_r13= mc->sc_regs[13];
+  tst->arch.vex.guest_r14 = mc->sc_regs[14];
+  tst->arch.vex.guest_r15 = mc->sc_regs[15];
+  tst->arch.vex.guest_r16 = mc->sc_regs[16];
+  tst->arch.vex.guest_r17 = mc->sc_regs[17];   
+  tst->arch.vex.guest_r18 = mc->sc_regs[18];
+  tst->arch.vex.guest_r19 = mc->sc_regs[19];
+  tst->arch.vex.guest_r20 = mc->sc_regs[20];
+  tst->arch.vex.guest_r21 = mc->sc_regs[21];
+  tst->arch.vex.guest_r22 = mc->sc_regs[22];
+  tst->arch.vex.guest_r23 = mc->sc_regs[23];
+  tst->arch.vex.guest_r24 = mc->sc_regs[24];
+  tst->arch.vex.guest_r25 = mc->sc_regs[25];
+  tst->arch.vex.guest_r26 = mc->sc_regs[26];
+  tst->arch.vex.guest_r27 = mc->sc_regs[27];
+  tst->arch.vex.guest_r28 = mc->sc_regs[28];
+  tst->arch.vex.guest_r30 = mc->sc_regs[30];
+  tst->arch.vex.guest_PC = mc->sc_pc;
+  tst->arch.vex.guest_r31 = mc->sc_regs[31];
+  tst->arch.vex.guest_r29 = mc->sc_regs[29];
+
+  tst->arch.vex.guest_HI = mc->sc_mdhi;
+  tst->arch.vex.guest_LO = mc->sc_mdlo;
+  tst->arch.vex_shadow1 = priv1->vex_shadow1;
+  tst->arch.vex_shadow2 = priv1->vex_shadow2; 
+
+  VG_TRACK(die_mem_stack_signal, sp, frame_size);
+  if (VG_(clo_trace_signals))
+    VG_(message)( Vg_DebugMsg, 
+         "VG_(signal_return) (thread %d): isRT=%d valid magic; EIP=%#x\n",
+         tid, isRT, tst->arch.vex.guest_PC);
+  /* tell the tools */
+  VG_TRACK( post_deliver_signal, tid, sigNo );
+}
+
+#endif // defined(VGP_mips32_linux)
+
+/*--------------------------------------------------------------------*/
+/*--- end                                  sigframe-mips32-linux.c ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/m_sigframe/sigframe-mips64-linux.c b/coregrind/m_sigframe/sigframe-mips64-linux.c
new file mode 100644
index 0000000..fc8e613
--- /dev/null
+++ b/coregrind/m_sigframe/sigframe-mips64-linux.c
@@ -0,0 +1,317 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Create/destroy signal delivery frames.                       ---*/
+/*---                                  sigframe-mips64-linux.c     ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2010-2013 RT-RK 
+      mips-valgrind@rt-rk.com 
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#if defined(VGP_mips64_linux)
+
+#include "pub_core_basics.h"
+#include "pub_core_vki.h"
+#include "pub_core_vkiscnums.h"
+#include "pub_core_libcsetjmp.h"  /* to keep _threadstate.h happy */
+#include "pub_core_threadstate.h"
+#include "pub_core_aspacemgr.h"
+#include "pub_core_libcbase.h"
+#include "pub_core_libcassert.h"
+#include "pub_core_libcprint.h"
+#include "pub_core_machine.h"
+#include "pub_core_options.h"
+#include "pub_core_sigframe.h"
+#include "pub_core_signals.h"
+#include "pub_core_tooliface.h"
+#include "pub_core_trampoline.h"
+#include "pub_core_transtab.h"  /* VG_(discard_translations) */
+
+struct vg_sig_private {
+   UInt magicPI;
+   UInt sigNo_private;
+   VexGuestMIPS64State vex_shadow1;
+   VexGuestMIPS64State vex_shadow2;
+};
+
+struct sigframe {
+   UInt sf_ass[4];  /* argument save space for o32 */
+   UInt sf_pad[2];  /* Was: signal trampoline */
+   struct vki_sigcontext sf_sc;
+   vki_sigset_t sf_mask;
+   struct vg_sig_private priv;
+};
+
+struct rt_sigframe {
+   UInt rs_ass[4];  /* argument save space for o32 */
+   UInt rs_pad[2];  /* Was: signal trampoline */
+   vki_siginfo_t rs_info;
+   struct vki_ucontext rs_uc;
+   struct vg_sig_private priv;
+};
+
+/* Extend the stack segment downwards if needed so as to ensure the new signal
+   frames are mapped to something. Return a Bool indicating whether or not the
+   operation was successful.
+*/
+static Bool extend ( ThreadState *tst, Addr addr, SizeT size )
+{
+   ThreadId tid = tst->tid;
+   NSegment const* stackseg = NULL;
+
+   if (VG_(extend_stack)(addr, tst->client_stack_szB)) {
+      stackseg = VG_(am_find_nsegment)(addr);
+   }
+
+   if (stackseg == NULL || !stackseg->hasR || !stackseg->hasW) {
+      VG_(message)(Vg_UserMsg,
+         "Can't extend stack to %#lx during signal delivery for thread %d:\n",
+         addr, tid);
+      if (stackseg == NULL)
+         VG_(message)(Vg_UserMsg, " no stack segment\n");
+      else
+         VG_(message)(Vg_UserMsg, " too small or bad protection modes\n");
+
+      /* set SIGSEGV to default handler */
+      VG_(set_default_handler)(VKI_SIGSEGV);
+      VG_(synth_fault_mapping)(tid, addr);
+
+      /* The whole process should be about to die, since the default
+         action of SIGSEGV to kill the whole process. */
+      return False;
+   }
+
+   /* For tracking memory events, indicate the entire frame has been
+      allocated. */
+   VG_TRACK(new_mem_stack_signal, addr - VG_STACK_REDZONE_SZB,
+            size + VG_STACK_REDZONE_SZB, tid);
+
+   return True;
+}
+
+static void setup_sigcontext ( ThreadState* tst, struct vki_sigcontext **sc1,
+                               const vki_siginfo_t *si)
+{
+   struct vki_sigcontext *sc = *sc1;
+
+   VG_TRACK(pre_mem_write, Vg_CoreSignal, tst->tid, "signal frame mcontext",
+            (Addr)sc, sizeof(unsigned long long)*34);
+   sc->sc_regs[1] = tst->arch.vex.guest_r1;
+   sc->sc_regs[2] = tst->arch.vex.guest_r2;
+   sc->sc_regs[3] = tst->arch.vex.guest_r3;
+   sc->sc_regs[4] = tst->arch.vex.guest_r4;
+   sc->sc_regs[5] = tst->arch.vex.guest_r5;
+   sc->sc_regs[6] = tst->arch.vex.guest_r6;
+   sc->sc_regs[7] = tst->arch.vex.guest_r7;
+   sc->sc_regs[8] = tst->arch.vex.guest_r8;
+   sc->sc_regs[9] = tst->arch.vex.guest_r9;
+   sc->sc_regs[10] = tst->arch.vex.guest_r10;
+   sc->sc_regs[11] = tst->arch.vex.guest_r11;
+   sc->sc_regs[12] = tst->arch.vex.guest_r12;
+   sc->sc_regs[13] = tst->arch.vex.guest_r13;
+   sc->sc_regs[14] = tst->arch.vex.guest_r14;
+   sc->sc_regs[15] = tst->arch.vex.guest_r15;
+   sc->sc_regs[16] = tst->arch.vex.guest_r16;
+   sc->sc_regs[17] = tst->arch.vex.guest_r17;
+   sc->sc_regs[18] = tst->arch.vex.guest_r18;
+   sc->sc_regs[19] = tst->arch.vex.guest_r19;
+   sc->sc_regs[20] = tst->arch.vex.guest_r20;
+   sc->sc_regs[21] = tst->arch.vex.guest_r21;
+   sc->sc_regs[22] = tst->arch.vex.guest_r22;
+   sc->sc_regs[23] = tst->arch.vex.guest_r23;
+   sc->sc_regs[24] = tst->arch.vex.guest_r24;
+   sc->sc_regs[25] = tst->arch.vex.guest_r25;
+   sc->sc_regs[26] = tst->arch.vex.guest_r26;
+   sc->sc_regs[27] = tst->arch.vex.guest_r27;
+   sc->sc_regs[28] = tst->arch.vex.guest_r28;
+   sc->sc_regs[29] = tst->arch.vex.guest_r29;
+   sc->sc_regs[30] = tst->arch.vex.guest_r30;
+   sc->sc_regs[31] = tst->arch.vex.guest_r31;
+   sc->sc_pc = tst->arch.vex.guest_PC;
+   sc->sc_mdhi = tst->arch.vex.guest_HI;
+   sc->sc_mdlo = tst->arch.vex.guest_LO;
+}
+
+/* EXPORTED */
+void VG_(sigframe_create) ( ThreadId tid,
+                            Addr sp_top_of_frame,
+                            const vki_siginfo_t *siginfo,
+                            const struct vki_ucontext *siguc,
+                            void *handler,
+                            UInt flags,
+                            const vki_sigset_t *mask,
+                            void *restorer )
+{
+   Addr sp;
+   ThreadState* tst = VG_(get_ThreadState)(tid);
+   Int sigNo = siginfo->si_signo;
+   struct vg_sig_private *priv;
+   /* Stack must be 16-byte aligned */
+   sp_top_of_frame &= ~0xf;
+
+   sp = sp_top_of_frame - sizeof(struct rt_sigframe);
+
+   tst = VG_(get_ThreadState)(tid);
+   if (!extend(tst, sp, sp_top_of_frame - sp))
+      return;
+
+   sp = VG_ROUNDDN(sp, 16);
+
+   struct rt_sigframe *frame = (struct rt_sigframe *)sp;
+   struct vki_ucontext *ucp = &frame->rs_uc;
+   if (VG_(clo_trace_signals))
+      VG_(printf)("rt_sigframe\n");
+   /* Create siginfo. */
+   VG_TRACK(pre_mem_write, Vg_CoreSignal, tid, "signal frame siginfo",
+            (Addr)&frame->rs_info, sizeof(frame->rs_info));
+
+   VG_(memcpy)(&frame->rs_info, siginfo, sizeof(*siginfo));
+
+   VG_TRACK(post_mem_write, Vg_CoreSignal, tid,
+            (Addr)&frame->rs_info, sizeof(frame->rs_info));
+
+   /* Create the ucontext. */
+   VG_TRACK(pre_mem_write, Vg_CoreSignal, tid, "signal frame ucontext",
+            (Addr)ucp, offsetof(struct vki_ucontext, uc_mcontext));
+
+   ucp->uc_flags = 0;
+   ucp->uc_link = 0;
+   ucp->uc_stack = tst->altstack;
+
+   VG_TRACK(post_mem_write, Vg_CoreSignal, tid, (Addr)ucp,
+            offsetof(struct vki_ucontext, uc_mcontext));
+
+   struct vki_sigcontext *scp = &(frame->rs_uc.uc_mcontext);
+   setup_sigcontext(tst, &(scp), siginfo);
+   ucp->uc_sigmask = tst->sig_mask;
+   priv = &frame->priv;
+
+   /* Arguments to signal handler:
+
+      a0 = signal number
+      a1 = 0 (should be cause)
+      a2 = pointer to ucontext
+
+      $25 and c0_epc point to the signal handler, $29 points to
+      the struct rt_sigframe. */
+
+   tst->arch.vex.guest_r4 = siginfo->si_signo;
+   tst->arch.vex.guest_r5 = (Addr) &frame->rs_info;
+   tst->arch.vex.guest_r6 = (Addr) &frame->rs_uc;
+   tst->arch.vex.guest_r29 = (Addr) frame;
+   tst->arch.vex.guest_r25 = (Addr) handler;
+
+   if (flags & VKI_SA_RESTORER) 
+      tst->arch.vex.guest_r31 = (Addr) restorer;
+   else 
+      tst->arch.vex.guest_r31 = (Addr)&VG_(mips64_linux_SUBST_FOR_rt_sigreturn);
+
+   priv->magicPI       = 0x31415927;
+   priv->sigNo_private = sigNo;
+   priv->vex_shadow1   = tst->arch.vex_shadow1;
+   priv->vex_shadow2   = tst->arch.vex_shadow2;
+   /* Set the thread so it will next run the handler. */
+   VG_TRACK( post_reg_write, Vg_CoreSignal, tid, VG_O_STACK_PTR, sizeof(Addr));
+   if (VG_(clo_trace_signals))
+      VG_(printf)("handler = %p\n", handler);
+   tst->arch.vex.guest_PC = (Addr) handler;
+   /* This thread needs to be marked runnable, but we leave that
+      the caller to do. */
+}
+
+/* EXPORTED */
+void VG_(sigframe_destroy) ( ThreadId tid, Bool isRT )
+{
+   ThreadState *tst;
+   struct vg_sig_private *priv1;
+   Addr sp;
+   UInt frame_size;
+   struct vki_sigcontext *mc;
+   Int sigNo;
+
+   vg_assert(VG_(is_valid_tid)(tid));
+   tst = VG_(get_ThreadState)(tid);
+   sp   = tst->arch.vex.guest_r29;
+   struct rt_sigframe *frame = (struct rt_sigframe *)sp;
+   struct vki_ucontext *ucp = &frame->rs_uc;
+   frame_size = sizeof(*frame);
+   mc = &ucp->uc_mcontext;
+   tst->sig_mask = ucp->uc_sigmask;
+   tst->tmp_sig_mask = ucp->uc_sigmask;
+   priv1 = &frame->priv;
+   sigNo = priv1->sigNo_private;
+   vg_assert(priv1->magicPI == 0x31415927);
+   /* restore regs */
+   tst->arch.vex.guest_r1 = mc->sc_regs[1];
+   tst->arch.vex.guest_r2 = mc->sc_regs[2];
+   tst->arch.vex.guest_r3 = mc->sc_regs[3];
+   tst->arch.vex.guest_r4 = mc->sc_regs[4];
+   tst->arch.vex.guest_r5 = mc->sc_regs[5];
+   tst->arch.vex.guest_r6 = mc->sc_regs[6];
+   tst->arch.vex.guest_r7 = mc->sc_regs[7];
+   tst->arch.vex.guest_r8 = mc->sc_regs[8];
+   tst->arch.vex.guest_r9 = mc->sc_regs[9];
+   tst->arch.vex.guest_r10 = mc->sc_regs[10];
+   tst->arch.vex.guest_r11 = mc->sc_regs[11];
+   tst->arch.vex.guest_r12 = mc->sc_regs[12];
+   tst->arch.vex.guest_r13= mc->sc_regs[13];
+   tst->arch.vex.guest_r14 = mc->sc_regs[14];
+   tst->arch.vex.guest_r15 = mc->sc_regs[15];
+   tst->arch.vex.guest_r16 = mc->sc_regs[16];
+   tst->arch.vex.guest_r17 = mc->sc_regs[17];
+   tst->arch.vex.guest_r18 = mc->sc_regs[18];
+   tst->arch.vex.guest_r19 = mc->sc_regs[19];
+   tst->arch.vex.guest_r20 = mc->sc_regs[20];
+   tst->arch.vex.guest_r21 = mc->sc_regs[21];
+   tst->arch.vex.guest_r22 = mc->sc_regs[22];
+   tst->arch.vex.guest_r23 = mc->sc_regs[23];
+   tst->arch.vex.guest_r24 = mc->sc_regs[24];
+   tst->arch.vex.guest_r25 = mc->sc_regs[25];
+   tst->arch.vex.guest_r26 = mc->sc_regs[26];
+   tst->arch.vex.guest_r27 = mc->sc_regs[27];
+   tst->arch.vex.guest_r28 = mc->sc_regs[28];
+   tst->arch.vex.guest_r30 = mc->sc_regs[30];
+   tst->arch.vex.guest_PC = mc->sc_pc;
+   tst->arch.vex.guest_r31 = mc->sc_regs[31];
+   tst->arch.vex.guest_r29 = mc->sc_regs[29];
+
+   tst->arch.vex.guest_HI = mc->sc_mdhi;
+   tst->arch.vex.guest_LO = mc->sc_mdlo;
+   tst->arch.vex_shadow1 = priv1->vex_shadow1;
+   tst->arch.vex_shadow2 = priv1->vex_shadow2;
+
+   VG_TRACK(die_mem_stack_signal, sp, frame_size);
+   if (VG_(clo_trace_signals))
+      VG_(message)(Vg_DebugMsg,
+         "VG_(signal_return) (thread %d): isRT=%d valid magic; EIP=%#llx\n",
+         tid, isRT, tst->arch.vex.guest_PC);
+   /* tell the tools */
+   VG_TRACK( post_deliver_signal, tid, sigNo );
+}
+
+#endif /* defined(VGP_mips64_linux) */
+
+/*--------------------------------------------------------------------*/
+/*--- end                                  sigframe-mips64-linux.c ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/m_sigframe/sigframe-ppc32-linux.c b/coregrind/m_sigframe/sigframe-ppc32-linux.c
index 736ce4f..5fa3686 100644
--- a/coregrind/m_sigframe/sigframe-ppc32-linux.c
+++ b/coregrind/m_sigframe/sigframe-ppc32-linux.c
@@ -8,9 +8,9 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
-   Copyright (C) 2004-2011 Paul Mackerras
+   Copyright (C) 2004-2012 Paul Mackerras
       paulus@samba.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_sigframe/sigframe-ppc64-linux.c b/coregrind/m_sigframe/sigframe-ppc64-linux.c
index 44bb269..d1bb91a 100644
--- a/coregrind/m_sigframe/sigframe-ppc64-linux.c
+++ b/coregrind/m_sigframe/sigframe-ppc64-linux.c
@@ -8,9 +8,9 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
-   Copyright (C) 2004-2011 Paul Mackerras
+   Copyright (C) 2004-2012 Paul Mackerras
       paulus@samba.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_sigframe/sigframe-s390x-linux.c b/coregrind/m_sigframe/sigframe-s390x-linux.c
index 9d3afca..1c703fe 100644
--- a/coregrind/m_sigframe/sigframe-s390x-linux.c
+++ b/coregrind/m_sigframe/sigframe-s390x-linux.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright IBM Corp. 2010-2011
+   Copyright IBM Corp. 2010-2012
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/coregrind/m_sigframe/sigframe-x86-darwin.c b/coregrind/m_sigframe/sigframe-x86-darwin.c
index aed35ce..adcbd0e 100644
--- a/coregrind/m_sigframe/sigframe-x86-darwin.c
+++ b/coregrind/m_sigframe/sigframe-x86-darwin.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2006-2011 OpenWorks Ltd
+   Copyright (C) 2006-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_sigframe/sigframe-x86-linux.c b/coregrind/m_sigframe/sigframe-x86-linux.c
index b931e5f..0551f21 100644
--- a/coregrind/m_sigframe/sigframe-x86-linux.c
+++ b/coregrind/m_sigframe/sigframe-x86-linux.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_signals.c b/coregrind/m_signals.c
index f73b8f3..8c65b11 100644
--- a/coregrind/m_signals.c
+++ b/coregrind/m_signals.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -516,6 +516,43 @@
         (srP)->misc.S390X.r_lr = (uc)->uc_mcontext.regs.gprs[14];  \
       }
 
+#elif defined(VGP_mips32_linux)
+#  define VG_UCONTEXT_INSTR_PTR(uc)   ((UWord)(((uc)->uc_mcontext.sc_pc)))
+#  define VG_UCONTEXT_STACK_PTR(uc)   ((UWord)((uc)->uc_mcontext.sc_regs[29]))
+#  define VG_UCONTEXT_FRAME_PTR(uc)       ((uc)->uc_mcontext.sc_regs[30])
+#  define VG_UCONTEXT_SYSCALL_NUM(uc)     ((uc)->uc_mcontext.sc_regs[2])
+#  define VG_UCONTEXT_SYSCALL_SYSRES(uc)                         \
+      /* Convert the value in uc_mcontext.rax into a SysRes. */  \
+      VG_(mk_SysRes_mips32_linux)( (uc)->uc_mcontext.sc_regs[2], \
+                                   (uc)->uc_mcontext.sc_regs[3], \
+                                   (uc)->uc_mcontext.sc_regs[7]) 
+ 
+#  define VG_UCONTEXT_TO_UnwindStartRegs(srP, uc)              \
+      { (srP)->r_pc = (uc)->uc_mcontext.sc_pc;                 \
+        (srP)->r_sp = (uc)->uc_mcontext.sc_regs[29];           \
+        (srP)->misc.MIPS32.r30 = (uc)->uc_mcontext.sc_regs[30]; \
+        (srP)->misc.MIPS32.r31 = (uc)->uc_mcontext.sc_regs[31]; \
+        (srP)->misc.MIPS32.r28 = (uc)->uc_mcontext.sc_regs[28]; \
+      }
+
+#elif defined(VGP_mips64_linux)
+#  define VG_UCONTEXT_INSTR_PTR(uc)       (((uc)->uc_mcontext.sc_pc))
+#  define VG_UCONTEXT_STACK_PTR(uc)       ((uc)->uc_mcontext.sc_regs[29])
+#  define VG_UCONTEXT_FRAME_PTR(uc)       ((uc)->uc_mcontext.sc_regs[30])
+#  define VG_UCONTEXT_SYSCALL_NUM(uc)     ((uc)->uc_mcontext.sc_regs[2])
+#  define VG_UCONTEXT_SYSCALL_SYSRES(uc)                        \
+      /* Convert the value in uc_mcontext.rax into a SysRes. */ \
+      VG_(mk_SysRes_mips64_linux)((uc)->uc_mcontext.sc_regs[2], \
+                                  (uc)->uc_mcontext.sc_regs[3], \
+                                  (uc)->uc_mcontext.sc_regs[7])
+
+#  define VG_UCONTEXT_TO_UnwindStartRegs(srP, uc)               \
+      { (srP)->r_pc = (uc)->uc_mcontext.sc_pc;                  \
+        (srP)->r_sp = (uc)->uc_mcontext.sc_regs[29];            \
+        (srP)->misc.MIPS64.r30 = (uc)->uc_mcontext.sc_regs[30]; \
+        (srP)->misc.MIPS64.r31 = (uc)->uc_mcontext.sc_regs[31]; \
+        (srP)->misc.MIPS64.r28 = (uc)->uc_mcontext.sc_regs[28]; \
+      }
 
 #else 
 #  error Unknown platform
@@ -777,6 +814,7 @@
 #if defined(VGP_x86_linux)
 #  define _MY_SIGRETURN(name) \
    ".text\n" \
+   ".globl my_sigreturn\n" \
    "my_sigreturn:\n" \
    "	movl	$" #name ", %eax\n" \
    "	int	$0x80\n" \
@@ -785,6 +823,7 @@
 #elif defined(VGP_amd64_linux)
 #  define _MY_SIGRETURN(name) \
    ".text\n" \
+   ".globl my_sigreturn\n" \
    "my_sigreturn:\n" \
    "	movq	$" #name ", %rax\n" \
    "	syscall\n" \
@@ -793,6 +832,7 @@
 #elif defined(VGP_ppc32_linux)
 #  define _MY_SIGRETURN(name) \
    ".text\n" \
+   ".globl my_sigreturn\n" \
    "my_sigreturn:\n" \
    "	li	0, " #name "\n" \
    "	sc\n" \
@@ -816,6 +856,7 @@
 #elif defined(VGP_arm_linux)
 #  define _MY_SIGRETURN(name) \
    ".text\n" \
+   ".globl my_sigreturn\n" \
    "my_sigreturn:\n\t" \
    "    mov  r7, #" #name "\n\t" \
    "    svc  0x00000000\n" \
@@ -824,6 +865,7 @@
 #elif defined(VGP_x86_darwin)
 #  define _MY_SIGRETURN(name) \
    ".text\n" \
+   ".globl my_sigreturn\n" \
    "my_sigreturn:\n" \
    "movl $" VG_STRINGIFY(__NR_DARWIN_FAKE_SIGRETURN) ",%eax\n" \
    "int $0x80"
@@ -832,16 +874,34 @@
    // DDD: todo
 #  define _MY_SIGRETURN(name) \
    ".text\n" \
+   ".globl my_sigreturn\n" \
    "my_sigreturn:\n" \
    "ud2\n"
 
 #elif defined(VGP_s390x_linux)
 #  define _MY_SIGRETURN(name) \
    ".text\n" \
+   ".globl my_sigreturn\n" \
    "my_sigreturn:\n" \
    " svc " #name "\n" \
    ".previous\n"
 
+#elif defined(VGP_mips32_linux)
+#  define _MY_SIGRETURN(name) \
+   ".text\n" \
+   "my_sigreturn:\n" \
+   "	li	$2, " #name "\n" /* apparently $2 is v0 */ \
+   "	syscall\n" \
+   ".previous\n"
+
+#elif defined(VGP_mips64_linux)
+#  define _MY_SIGRETURN(name) \
+   ".text\n" \
+   "my_sigreturn:\n" \
+   "   li $2, " #name "\n" \
+   "   syscall\n" \
+   ".previous\n"
+
 #else
 #  error Unknown platform
 #endif
@@ -884,7 +944,8 @@
       ksa.ksa_handler = skss.skss_per_sig[sig].skss_handler;
       ksa.sa_flags    = skss.skss_per_sig[sig].skss_flags;
 #     if !defined(VGP_ppc32_linux) && \
-         !defined(VGP_x86_darwin) && !defined(VGP_amd64_darwin)
+         !defined(VGP_x86_darwin) && !defined(VGP_amd64_darwin) && \
+         !defined(VGP_mips32_linux)
       ksa.sa_restorer = my_sigreturn;
 #     endif
       /* Re above ifdef (also the assertion below), PaulM says:
@@ -917,7 +978,8 @@
          vg_assert(ksa_old.sa_flags 
                    == skss_old.skss_per_sig[sig].skss_flags);
 #        if !defined(VGP_ppc32_linux) && \
-            !defined(VGP_x86_darwin) && !defined(VGP_amd64_darwin)
+            !defined(VGP_x86_darwin) && !defined(VGP_amd64_darwin) && \
+            !defined(VGP_mips32_linux) && !defined(VGP_mips64_linux)
          vg_assert(ksa_old.sa_restorer 
                    == my_sigreturn);
 #        endif
@@ -1298,9 +1360,9 @@
 }
 
 
-const Char *VG_(signame)(Int sigNo)
+const HChar *VG_(signame)(Int sigNo)
 {
-   static Char buf[20];
+   static HChar buf[20];
 
    switch(sigNo) {
       case VKI_SIGHUP:    return "SIGHUP";
@@ -1526,7 +1588,7 @@
 
       /* Be helpful - decode some more details about this fault */
       if (is_signal_from_kernel(tid, sigNo, info->si_code)) {
-	 const Char *event = NULL;
+	 const HChar *event = NULL;
 	 Bool haveaddr = True;
 
 	 switch(sigNo) {
@@ -1602,15 +1664,50 @@
          obviously stupid place (not mapped readable) that would
          likely cause a segfault. */
       if (VG_(is_valid_tid)(tid)) {
+         Word first_ip_delta = 0;
+#if defined(VGO_linux)
+         /* Make sure that the address stored in the stack pointer is 
+            located in a mapped page. That is not necessarily so. E.g.
+            consider the scenario where the stack pointer was decreased
+            and now has a value that is just below the end of a page that has
+            not been mapped yet. In that case VG_(am_is_valid_for_client)
+            will consider the address of the stack pointer invalid and that 
+            would cause a back-trace of depth 1 to be printed, instead of a
+            full back-trace. */
+         if (tid == 1) {           // main thread
+            Addr esp  = VG_(get_SP)(tid);
+            Addr base = VG_PGROUNDDN(esp - VG_STACK_REDZONE_SZB);
+            if (VG_(extend_stack)(base, VG_(threads)[tid].client_stack_szB)) {
+               if (VG_(clo_trace_signals))
+                  VG_(dmsg)("       -> extended stack base to %#lx\n",
+                            VG_PGROUNDDN(esp));
+            }
+         }
+#endif
+#if defined(VGA_s390x)
+         if (sigNo == VKI_SIGILL) {
+            /* The guest instruction address has been adjusted earlier to
+               point to the insn following the one that could not be decoded.
+               When printing the back-trace here we need to undo that
+               adjustment so the first line in the back-trace reports the
+               correct address. */
+            Addr  addr = (Addr)info->VKI_SIGINFO_si_addr;
+            UChar byte = ((UChar *)addr)[0];
+            Int   insn_length = ((((byte >> 6) + 1) >> 1) + 1) << 1;
+
+            first_ip_delta = -insn_length;
+         }
+#endif
          ExeContext* ec = VG_(am_is_valid_for_client)
                              (VG_(get_SP)(tid), sizeof(Addr), VKI_PROT_READ)
-                        ? VG_(record_ExeContext)( tid, 0/*first_ip_delta*/ )
-                      : VG_(record_depth_1_ExeContext)( tid );
+                        ? VG_(record_ExeContext)( tid, first_ip_delta )
+                      : VG_(record_depth_1_ExeContext)( tid,
+                                                        first_ip_delta );
          vg_assert(ec);
          VG_(pp_ExeContext)( ec );
       }
       if (sigNo == VKI_SIGSEGV 
-          && info && is_signal_from_kernel(tid, sigNo, info->si_code)
+          && is_signal_from_kernel(tid, sigNo, info->si_code)
           && info->si_code == VKI_SEGV_MAPERR) {
          VG_(umsg)(" If you believe this happened as a result of a stack\n" );
          VG_(umsg)(" overflow in your program's main thread (unlikely but\n");
@@ -1619,8 +1716,8 @@
          // FIXME: assumes main ThreadId == 1
          if (VG_(is_valid_tid)(1)) {
             VG_(umsg)(
-               " The main thread stack size used in this run was %d.\n",
-               (Int)VG_(threads)[1].client_stack_szB);
+               " The main thread stack size used in this run was %lu.\n",
+               VG_(threads)[1].client_stack_szB);
          }
       }
    }
@@ -1756,8 +1853,9 @@
    info.si_code = si_code;
    info.VKI_SIGINFO_si_addr = (void*)addr;
 
-   /* even if gdbserver indicates to ignore the signal, we will deliver it */
-   VG_(gdbserver_report_signal) (VKI_SIGSEGV, tid);
+   /* Even if gdbserver indicates to ignore the signal, we must deliver it.
+      So ignore the return value of VG_(gdbserver_report_signal). */
+   (void) VG_(gdbserver_report_signal) (VKI_SIGSEGV, tid);
 
    /* If they're trying to block the signal, force it to be delivered */
    if (VG_(sigismember)(&VG_(threads)[tid].sig_mask, VKI_SIGSEGV))
@@ -1870,6 +1968,32 @@
       resume_scheduler(tid);
 }
 
+// Synthesise a SIGFPE.
+void VG_(synth_sigfpe)(ThreadId tid, UInt code)
+{
+// Only tested on mips32 and mips64
+#if !defined(VGA_mips32) && !defined(VGA_mips64)
+   vg_assert(0);
+#else
+   vki_siginfo_t info;
+   struct vki_ucontext uc;
+
+   vg_assert(VG_(threads)[tid].status == VgTs_Runnable);
+
+   VG_(memset)(&info, 0, sizeof(info));
+   VG_(memset)(&uc,   0, sizeof(uc));
+   info.si_signo = VKI_SIGFPE;
+   info.si_code = code;
+
+   if (VG_(gdbserver_report_signal) (VKI_SIGFPE, tid)) {
+      resume_scheduler(tid);
+      deliver_signal(tid, &info, &uc);
+   }
+   else
+      resume_scheduler(tid);
+#endif
+}
+
 /* Make a signal pending for a thread, for later delivery.
    VG_(poll_signals) will arrange for it to be delivered at the right
    time. 
@@ -2089,7 +2213,7 @@
    NSegment const* seg
       = VG_(am_find_nsegment)(addr);
    NSegment const* seg_next 
-      = seg ? VG_(am_next_nsegment)( (NSegment*)seg, True/*fwds*/ )
+      = seg ? VG_(am_next_nsegment)( seg, True/*fwds*/ )
             : NULL;
 
    if (seg && seg->kind == SkAnonC)
@@ -2112,7 +2236,7 @@
                     "extending a stack base 0x%llx down by %lld\n",
                     (ULong)seg_next->start, (ULong)udelta);
    if (! VG_(am_extend_into_adjacent_reservation_client)
-            ( (NSegment*)seg_next, -(SSizeT)udelta )) {
+            ( seg_next, -(SSizeT)udelta )) {
       VG_(debugLog)(1, "signals", "extending a stack base: FAILED\n");
       return False;
    }
@@ -2243,7 +2367,7 @@
    fault    = (Addr)info->VKI_SIGINFO_si_addr;
    esp      = VG_(get_SP)(tid);
    seg      = VG_(am_find_nsegment)(fault);
-   seg_next = seg ? VG_(am_next_nsegment)( (NSegment*)seg, True/*fwds*/ )
+   seg_next = seg ? VG_(am_next_nsegment)( seg, True/*fwds*/ )
                   : NULL;
 
    if (VG_(clo_trace_signals)) {
diff --git a/coregrind/m_sparsewa.c b/coregrind/m_sparsewa.c
index 5ad0d59..4ccb7a6 100644
--- a/coregrind/m_sparsewa.c
+++ b/coregrind/m_sparsewa.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -79,8 +79,8 @@
    SWAStackElem;
 
 struct _SparseWA {
-   void*        (*alloc_nofail)(HChar*,SizeT);
-   HChar*       cc;
+   void*        (*alloc_nofail)(const HChar*,SizeT);
+   const HChar* cc;
    void         (*dealloc)(void*);
    LevelN*      root;
    SWAStackElem iterStack[8];
@@ -231,8 +231,8 @@
 }
 
 
-SparseWA* VG_(newSWA) ( void*(*alloc_nofail)(HChar* cc, SizeT), 
-                        HChar* cc,
+SparseWA* VG_(newSWA) ( void*(*alloc_nofail)(const HChar* cc, SizeT), 
+                        const HChar* cc,
                         void(*dealloc)(void*) )
 {
    SparseWA* swa;
diff --git a/coregrind/m_stacks.c b/coregrind/m_stacks.c
index 0014b60..60c31ac 100644
--- a/coregrind/m_stacks.c
+++ b/coregrind/m_stacks.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -268,59 +268,97 @@
    }
 }
 
-/* This function gets called if new_mem_stack and/or die_mem_stack are
+
+/* complaints_stack_switch reports that SP has changed by more than some
+   threshold amount (by default, 2MB).  We take this to mean that the
+   application is switching to a new stack, for whatever reason.
+   
+   JRS 20021001: following discussions with John Regehr, if a stack
+   switch happens, it seems best not to mess at all with memory
+   permissions.  Seems to work well with Netscape 4.X.  Really the
+   only remaining difficulty is knowing exactly when a stack switch is
+   happening. */
+__attribute__((noinline))
+static void complaints_stack_switch (Addr old_SP, Addr new_SP)
+{
+   static Int complaints = 3;
+   if (VG_(clo_verbosity) > 0 && complaints > 0 && !VG_(clo_xml)) {
+      Word delta  = (Word)new_SP - (Word)old_SP;
+      complaints--;
+      VG_(message)(Vg_UserMsg,
+                   "Warning: client switching stacks?  "
+                   "SP change: 0x%lx --> 0x%lx\n", old_SP, new_SP);
+      VG_(message)(Vg_UserMsg,
+                   "         to suppress, use: --max-stackframe=%ld "
+                   "or greater\n",
+                   (delta < 0 ? -delta : delta));
+      if (complaints == 0)
+         VG_(message)(Vg_UserMsg,
+                      "         further instances of this message "
+                      "will not be shown.\n");
+   }
+}
+
+/* The functions VG_(unknown_SP_update) and VG_(unknown_SP_update_w_ECU)
+   get called if new_mem_stack and/or die_mem_stack are
    tracked by the tool, and one of the specialised cases
    (eg. new_mem_stack_4) isn't used in preference.  
-*/
+
+   These functions are performance critical, so are built with macros. */
+
+// preamble + check if stack has switched.
+#define IF_STACK_SWITCH_SET_current_task_AND_RETURN                     \
+   Word delta  = (Word)new_SP - (Word)old_SP;                           \
+                                                                        \
+   /* Check if the stack pointer is still in the same stack as before. */ \
+   if (UNLIKELY(current_stack == NULL ||                                \
+      new_SP < current_stack->start || new_SP > current_stack->end)) {  \
+      Stack* new_stack = find_stack_by_addr(new_SP);                    \
+      if (new_stack                                                     \
+          && (current_stack == NULL || new_stack->id != current_stack->id)) { \
+         /* The stack pointer is now in another stack.  Update the current */ \
+         /* stack information and return without doing anything else. */ \
+         current_stack = new_stack;                                     \
+         return;                                                        \
+      }                                                                 \
+   }
+
+#define IF_BIG_DELTA_complaints_AND_RETURN                              \
+   if (UNLIKELY(delta < -VG_(clo_max_stackframe)                        \
+                || VG_(clo_max_stackframe) < delta)) {                  \
+      complaints_stack_switch(old_SP, new_SP);                          \
+      return;                                                           \
+   }
+
+#define IF_SMALLER_STACK_die_mem_stack_AND_RETURN                       \
+   if (delta > 0) {                                                     \
+      VG_TRACK( die_mem_stack, old_SP,  delta );                        \
+      return;                                                           \
+   }
+
+  
 VG_REGPARM(3)
-void VG_(unknown_SP_update)( Addr old_SP, Addr new_SP, UInt ecu )
-{
-   static Int moans = 3;
-   Word delta  = (Word)new_SP - (Word)old_SP;
-
-   /* Check if the stack pointer is still in the same stack as before. */
-   if (current_stack == NULL ||
-       new_SP < current_stack->start || new_SP > current_stack->end) {
-      Stack* new_stack = find_stack_by_addr(new_SP);
-      if (new_stack 
-          && (current_stack == NULL || new_stack->id != current_stack->id)) { 
-         /* The stack pointer is now in another stack.  Update the current
-            stack information and return without doing anything else. */
-         current_stack = new_stack;
-         return;
-      }
-   }
-
-   if (delta < -VG_(clo_max_stackframe) || VG_(clo_max_stackframe) < delta) {
-      /* SP has changed by more than some threshold amount (by
-         default, 2MB).  We take this to mean that the application is
-         switching to a new stack, for whatever reason.
-       
-         JRS 20021001: following discussions with John Regehr, if a stack
-         switch happens, it seems best not to mess at all with memory
-         permissions.  Seems to work well with Netscape 4.X.  Really the
-         only remaining difficulty is knowing exactly when a stack switch is
-         happening. */
-      if (VG_(clo_verbosity) > 0 && moans > 0 && !VG_(clo_xml)) {
-         moans--;
-         VG_(message)(Vg_UserMsg,
-            "Warning: client switching stacks?  "
-            "SP change: 0x%lx --> 0x%lx\n", old_SP, new_SP);
-         VG_(message)(Vg_UserMsg,
-            "         to suppress, use: --max-stackframe=%ld or greater\n",
-            (delta < 0 ? -delta : delta));
-         if (moans == 0)
-            VG_(message)(Vg_UserMsg,
-                "         further instances of this message "
-                "will not be shown.\n");
-      }
-   } else if (delta < 0) {
+void VG_(unknown_SP_update_w_ECU)( Addr old_SP, Addr new_SP, UInt ecu ) {
+   IF_STACK_SWITCH_SET_current_task_AND_RETURN;
+   IF_BIG_DELTA_complaints_AND_RETURN;
+   IF_SMALLER_STACK_die_mem_stack_AND_RETURN;
+   if (delta < 0) { // IF_BIGGER_STACK
       VG_TRACK( new_mem_stack_w_ECU, new_SP, -delta, ecu );
-      VG_TRACK( new_mem_stack,       new_SP, -delta );
-
-   } else if (delta > 0) {
-      VG_TRACK( die_mem_stack, old_SP,  delta );
+      return;
    }
+   // SAME_STACK. nothing to do.
+}
+
+VG_REGPARM(2)
+void VG_(unknown_SP_update)( Addr old_SP, Addr new_SP ) {
+   IF_STACK_SWITCH_SET_current_task_AND_RETURN;
+   IF_BIG_DELTA_complaints_AND_RETURN;
+   IF_SMALLER_STACK_die_mem_stack_AND_RETURN;
+   if (delta < 0) { // IF_BIGGER_STACK
+      VG_TRACK( new_mem_stack,      new_SP, -delta );
+      return;
+   }
+   // SAME_STACK. nothing to do.
 }
 
 /*--------------------------------------------------------------------*/
diff --git a/coregrind/m_stacktrace.c b/coregrind/m_stacktrace.c
index bb76931..3a1fdff 100644
--- a/coregrind/m_stacktrace.c
+++ b/coregrind/m_stacktrace.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -62,24 +62,132 @@
    traces on ppc64-linux and has no effect on other platforms.
 */
 
+/* Do frame merging in the _i frames in _ips array of recursive cycles
+   of up to _nframes.  The merge is done during stack unwinding
+   (i.e. in platform specific unwinders) to collect as many
+   "interesting" stack traces as possible. */
+#define RECURSIVE_MERGE(_nframes,_ips,_i){                      \
+   Int dist;                                                    \
+   for (dist = 1; dist <= _nframes && dist < (Int)_i; dist++) { \
+      if (_ips[_i-1] == _ips[_i-1-dist]) {                      \
+         _i = _i - dist;                                        \
+         break;                                                 \
+      }                                                         \
+   }                                                            \
+}
+
+
 /* ------------------------ x86 ------------------------- */
 
 #if defined(VGP_x86_linux) || defined(VGP_x86_darwin)
 
+#define N_FP_CF_VERIF 1021
+// prime number so that size of fp_CF_verif is just below 4K or 8K
+// Note that this prime nr differs from the one chosen in
+// m_debuginfo/debuginfo.c for the cfsi cache : in case we have
+// a collision here between two IPs, we expect to not (often) have the
+// same collision in the cfsi cache (and vice-versa).
+
+// unwinding with fp chain is ok:
+#define FPUNWIND 0
+// there is no CFI info for this IP:
+#define NOINFO   1
+// Unwind with FP is not ok, must use CF unwind:
+#define CFUNWIND 2
+
+static Addr fp_CF_verif_cache [N_FP_CF_VERIF];
+
+/* An unwind done by following the fp chain technique can be incorrect
+   as not all frames are respecting the standard bp/sp ABI.
+   The CF information is now generated by default by gcc
+   (as part of the dwarf info). However, unwinding using CF information
+   is significantly slower : a slowdown of 20% has been observed
+   on an helgrind test case.
+   So, by default, the unwinding will be done using the fp chain.
+   But before accepting to unwind an IP with fp_chain, the result
+   of the unwind will be checked with the CF information.
+   This check can give 3 results:
+     FPUNWIND (0): there is CF info, and it gives the same result as fp unwind.
+       => it is assumed that future unwind for this IP can be done
+          with the fast fp chain, without further CF checking
+     NOINFO   (1): there is no CF info (so, fp unwind is the only do-able thing)
+     CFUNWIND (2): there is CF info, but unwind result differs.
+       => it is assumed that future unwind for this IP must be done
+       with the CF info.
+   Of course, if each fp unwind implies a check done with a CF unwind,
+   it would just be slower => we cache the check result in an
+   array of checked Addr.
+   The check for an IP will be stored at
+    fp_CF_verif_cache[IP % N_FP_CF_VERIF] as one of:
+                     IP ^ FPUNWIND
+                     IP ^ NOINFO
+                     IP ^ CFUNWIND
+
+   Note: we can re-use the last (ROUNDDOWN (log (N_FP_CF_VERIF))) bits
+   to store the check result, as they are guaranteed to be non significant
+   in the comparison between 2 IPs stored in fp_CF_verif_cache).
+   In other words, if two IPs are only differing on the last 2 bits,
+   then they will not land in the same cache bucket.
+*/
+
+static UInt fp_CF_verif_generation = 0;
+// Our cache has to be maintained in sync with the CFI cache.
+// Each time the CFI cache is changed, its generation will be incremented.
+// We will clear our cache when our saved generation differs from
+// the CFI cache generation.
+
 UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
                                /*OUT*/Addr* ips, UInt max_n_ips,
                                /*OUT*/Addr* sps, /*OUT*/Addr* fps,
                                UnwindStartRegs* startRegs,
                                Addr fp_max_orig )
 {
-   Bool  debug = False;
+   const Bool do_stats = False; // compute and output some stats regularly.
+   static struct {
+      UInt nr; // nr of stacktraces computed
+      UInt nf; // nr of frames computed
+      UInt Ca; // unwind for which cache indicates CFUnwind must be used.
+      UInt FF; // unwind for which cache indicates FPUnwind can be used.
+      UInt Cf; // unwind at end of stack+store CFUNWIND (xip not end of stack).
+      UInt Fw; // unwind at end of stack+store FPUNWIND
+      UInt FO; // unwind + store FPUNWIND
+      UInt CF; // unwind + store CFUNWIND. Details below.
+      UInt xi; UInt xs; UInt xb; // register(s) which caused a 'store CFUNWIND'.
+      UInt Ck; // unwind fp invalid+store FPUNWIND
+      UInt MS; // microsoft unwind
+   } stats;
+   
+   const Bool   debug = False;
+   //                 = VG_(debugLog_getLevel) () > 3;
+   //                 = True;
+   //                 = stats.nr >= 123456;
+   const HChar* unwind_case; // used when debug is True.
+   // Debugging this function is not straightforward.
+   // Here is the easiest way I have found:
+   // 1. Change the above to True.
+   // 2. Start your program under Valgrind with --tool=none --vgdb-error=0
+   // 3. Use GDB/vgdb to put a breakpoint where you want to debug the stacktrace
+   // 4. Continue till breakpoint is encountered
+   // 5. From GDB, use 'monitor v.info scheduler' and examine the unwind traces.
+   //    You might have to do twice 'monitor v.info scheduler' to see
+   //    the effect of caching the results of the verification.
+   //    You can also modify the debug dynamically using by using
+   //    'monitor v.set debuglog 4.
+
    Int   i;
    Addr  fp_max;
    UInt  n_found = 0;
+   const Int cmrf = VG_(clo_merge_recursive_frames);
 
    vg_assert(sizeof(Addr) == sizeof(UWord));
    vg_assert(sizeof(Addr) == sizeof(void*));
 
+   D3UnwindRegs fpverif_uregs; // result of CF unwind for a check reason.
+   Addr xip_verified = 0; // xip for which we have calculated fpverif_uregs
+   // 0 assigned to silence false positive -Wuninitialized warning
+   // This is a false positive as xip_verified is assigned when
+   // xip_verif > CFUNWIND and only used if xip_verif > CFUNWIND.
+
    D3UnwindRegs uregs;
    uregs.xip = (Addr)startRegs->r_pc;
    uregs.xsp = (Addr)startRegs->r_sp;
@@ -119,12 +227,11 @@
    } 
 #  endif
 
-   /* fp is %ebp.  sp is %esp.  ip is %eip. */
+   if (UNLIKELY (fp_CF_verif_generation != VG_(CF_info_generation)())) {
+      fp_CF_verif_generation = VG_(CF_info_generation)();
+      VG_(memset)(&fp_CF_verif_cache, 0, sizeof(fp_CF_verif_cache));
+   }
 
-   if (sps) sps[0] = uregs.xsp;
-   if (fps) fps[0] = uregs.xbp;
-   ips[0] = uregs.xip;
-   i = 1;
 
    /* Loop unwinding the stack. Note that the IP value we get on
     * each pass (whether from CFI info or a stack frame) is a
@@ -141,20 +248,72 @@
     * a tail call occurs and we wind up using the CFI info for the
     * next function which is completely wrong.
     */
+   if (sps) sps[0] = uregs.xsp;
+   if (fps) fps[0] = uregs.xbp;
+   ips[0] = uregs.xip;
+   i = 1;
+   if (do_stats) stats.nr++;
+
    while (True) {
 
       if (i >= max_n_ips)
          break;
 
-      /* Try to derive a new (ip,sp,fp) triple from the current
-         set. */
+      UWord hash = uregs.xip % N_FP_CF_VERIF;
+      Addr xip_verif = uregs.xip ^ fp_CF_verif_cache [hash];
+      if (debug)
+         VG_(printf)("     uregs.xip 0x%08lx xip_verif[0x%08lx]\n",
+                     uregs.xip, xip_verif);
+      // If xip is in cache, then xip_verif will be <= CFUNWIND.
+      // Otherwise, if not in cache, xip_verif will be > CFUNWIND.
 
-      /* On x86, first try the old-fashioned method of following the
-         %ebp-chain.  Code which doesn't use this (that is, compiled
-         with -fomit-frame-pointer) is not ABI compliant and so
-         relatively rare.  Besides, trying the CFI first almost always
-         fails, and is expensive. */
-      /* Deal with frames resulting from functions which begin "pushl%
+      /* Try to derive a new (ip,sp,fp) triple from the current set. */
+
+      /* Do we have to do CFI unwinding ?
+         We do CFI unwinding if one of the following condition holds:
+         a. fp_CF_verif_cache contains xip but indicates CFUNWIND must
+            be done (i.e. fp unwind check failed when we did the first
+            unwind for this IP).
+         b. fp_CF_verif_cache does not contain xip.
+            We will try CFI unwinding in fpverif_uregs and compare with
+            FP unwind result to insert xip in the cache with the correct
+            indicator. */
+      if (UNLIKELY(xip_verif >= CFUNWIND)) {
+         if (xip_verif == CFUNWIND) {
+            /* case a : do "real" cfi unwind */
+            if ( VG_(use_CF_info)( &uregs, fp_min, fp_max ) ) {
+               if (debug) unwind_case = "Ca";
+               if (do_stats) stats.Ca++;
+               goto unwind_done;
+            }
+            /* ??? cache indicates we have to do CFI unwind (so, we
+             previously found CFI info, and failed the fp unwind
+             check). Now, we just failed with CFI.  So, once we
+             succeed, once we fail.  No idea what is going on =>
+             cleanup the cache entry and fallover to fp unwind (this
+             time). */
+            fp_CF_verif_cache [hash] = 0;
+            if (debug) VG_(printf)("     cache reset as CFI ok then nok\n");
+            //??? stats
+            xip_verif = NOINFO;
+         } else {
+            /* case b : do "verif" cfi unwind in fpverif_uregs */
+            fpverif_uregs = uregs;
+            xip_verified = uregs.xip;
+            if ( !VG_(use_CF_info)( &fpverif_uregs, fp_min, fp_max ) ) {
+               fp_CF_verif_cache [hash] = uregs.xip ^ NOINFO;
+               if (debug) VG_(printf)("     cache NOINFO fpverif_uregs\n");
+               xip_verif = NOINFO;
+            }
+         }
+      }
+
+      /* On x86, try the old-fashioned method of following the
+         %ebp-chain.  This can be done if the fp_CF_verif_cache for xip
+         indicate fp unwind is ok. This must be done if the cache indicates
+         there is no info. This is also done to confirm what to put in the cache
+         if xip was not in the cache. */
+      /* This deals with frames resulting from functions which begin "pushl%
          ebp ; movl %esp, %ebp" which is the ABI-mandated preamble. */
       if (fp_min <= uregs.xbp &&
           uregs.xbp <= fp_max - 1 * sizeof(UWord)/*see comment below*/)
@@ -167,55 +326,126 @@
          // entries [1] and above in a stack trace, by subtracting 1 from
          // them.  Hence stacks that used to end with a zero value now end in
          // -1 and so we must detect that too.
-         if (0 == uregs.xip || 1 == uregs.xip) break;
+         if (0 == uregs.xip || 1 == uregs.xip) {
+            if (xip_verif > CFUNWIND) {
+               // Check if we obtain the same result with fp unwind.
+               // If same result, then mark xip as fp unwindable
+               if (uregs.xip == fpverif_uregs.xip) {
+                  fp_CF_verif_cache [hash] = xip_verified ^ FPUNWIND;
+                  if (debug) VG_(printf)("     cache FPUNWIND 0\n");
+                  unwind_case = "Fw";
+                  if (do_stats) stats.Fw++;
+                  break;
+               } else {
+                  fp_CF_verif_cache [hash] = xip_verified ^ CFUNWIND;
+                  uregs = fpverif_uregs;
+                  if (debug) VG_(printf)("     cache CFUNWIND 0\n");
+                  unwind_case = "Cf";
+                  if (do_stats) stats.Cf++;
+                  goto unwind_done;
+               }
+            } else {
+               // end of stack => out of the loop.
+               break;
+            }
+         }
+
          uregs.xsp = uregs.xbp + sizeof(Addr) /*saved %ebp*/ 
                                + sizeof(Addr) /*ra*/;
          uregs.xbp = (((UWord*)uregs.xbp)[0]);
-         if (sps) sps[i] = uregs.xsp;
-         if (fps) fps[i] = uregs.xbp;
-         ips[i++] = uregs.xip - 1; /* -1: refer to calling insn, not the RA */
-         if (debug)
-            VG_(printf)("     ipsF[%d]=0x%08lx\n", i-1, ips[i-1]);
-         uregs.xip = uregs.xip - 1;
-            /* as per comment at the head of this loop */
-         continue;
-      }
-
-      /* That didn't work out, so see if there is any CF info to hand
-         which can be used. */
-      if ( VG_(use_CF_info)( &uregs, fp_min, fp_max ) ) {
-         if (0 == uregs.xip || 1 == uregs.xip) break;
-         if (sps) sps[i] = uregs.xsp;
-         if (fps) fps[i] = uregs.xbp;
-         ips[i++] = uregs.xip - 1; /* -1: refer to calling insn, not the RA */
-         if (debug)
-            VG_(printf)("     ipsC[%d]=0x%08lx\n", i-1, ips[i-1]);
-         uregs.xip = uregs.xip - 1;
-            /* as per comment at the head of this loop */
-         continue;
+         if (xip_verif > CFUNWIND) {
+            if (uregs.xip == fpverif_uregs.xip
+                && uregs.xsp == fpverif_uregs.xsp
+                && uregs.xbp == fpverif_uregs.xbp) {
+               fp_CF_verif_cache [hash] = xip_verified ^ FPUNWIND;
+               if (debug) VG_(printf)("     cache FPUNWIND >2\n");
+               if (debug) unwind_case = "FO";
+               if (do_stats) stats.FO++;
+            } else {
+               fp_CF_verif_cache [hash] = xip_verified ^ CFUNWIND;
+               if (debug) VG_(printf)("     cache CFUNWIND >2\n");
+               if (do_stats && uregs.xip != fpverif_uregs.xip) stats.xi++;
+               if (do_stats && uregs.xsp != fpverif_uregs.xsp) stats.xs++;
+               if (do_stats && uregs.xbp != fpverif_uregs.xbp) stats.xb++;
+               uregs = fpverif_uregs;
+               if (debug) unwind_case = "CF";
+               if (do_stats) stats.CF++;
+            }
+         } else {
+            if (debug) unwind_case = "FF";
+            if (do_stats) stats.FF++;
+         }
+         goto unwind_done;
+      } else {
+         // fp unwind has failed.
+         // If we were checking the validity of the cfi unwinding,
+         // we mark in the cache that the fp unwind cannot be done, and that
+         // cfi unwind is desired.
+         if (xip_verif > CFUNWIND) {
+            // We know that fpverif_uregs contains valid information,
+            // as a failed cf unwind would have put NOINFO in xip_verif.
+            fp_CF_verif_cache [hash] = xip_verified ^ CFUNWIND;
+            if (debug) VG_(printf)("     cache CFUNWIND as fp failed\n");
+            uregs = fpverif_uregs;
+            if (debug) unwind_case = "Ck";
+            if (do_stats) stats.Ck++;
+            goto unwind_done;
+         }
+         // xip_verif is FPUNWIND or NOINFO.
+         // We failed the cfi unwind and/or the fp unwind.
+         // => fallback to FPO info.
       }
 
       /* And, similarly, try for MSVC FPO unwind info. */
       if ( VG_(use_FPO_info)( &uregs.xip, &uregs.xsp, &uregs.xbp,
                               fp_min, fp_max ) ) {
-         if (0 == uregs.xip || 1 == uregs.xip) break;
-         if (sps) sps[i] = uregs.xsp;
-         if (fps) fps[i] = uregs.xbp;
-         ips[i++] = uregs.xip;
-         if (debug)
-            VG_(printf)("     ipsC[%d]=0x%08lx\n", i-1, ips[i-1]);
-         uregs.xip = uregs.xip - 1;
-         continue;
+         if (debug) unwind_case = "MS";
+         if (do_stats) stats.MS++;
+         goto unwind_done;
       }
 
       /* No luck.  We have to give up. */
       break;
+
+   unwind_done:
+      /* Add a frame in ips/sps/fps */
+      /* fp is %ebp.  sp is %esp.  ip is %eip. */
+      if (0 == uregs.xip || 1 == uregs.xip) break;
+      if (sps) sps[i] = uregs.xsp;
+      if (fps) fps[i] = uregs.xbp;
+      ips[i++] = uregs.xip - 1;
+      /* -1: refer to calling insn, not the RA */
+      if (debug)
+         VG_(printf)("     ips%s[%d]=0x%08lx\n", unwind_case, i-1, ips[i-1]);
+      uregs.xip = uregs.xip - 1;
+      /* as per comment at the head of this loop */
+      if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
    }
 
+   if (do_stats) stats.nf += i;
+   if (do_stats && stats.nr % 10000 == 0) {
+     VG_(printf)("nr %u nf %u "
+                 "Ca %u FF %u "
+                 "Cf %u "
+                 "Fw %u FO %u "
+                 "CF %u (xi %u xs %u xb %u) "
+                 "Ck %u MS %u\n",
+                 stats.nr, stats.nf,
+                 stats.Ca, stats.FF, 
+                 stats.Cf,
+                 stats.Fw, stats.FO, 
+                 stats.CF, stats.xi, stats.xs, stats.xb,
+                 stats.Ck, stats.MS);
+   }
    n_found = i;
    return n_found;
 }
 
+#undef N_FP_CF_VERIF
+#undef FPUNWIND
+#undef NOINFO
+#undef CFUNWIND
+
 #endif
 
 /* ----------------------- amd64 ------------------------ */
@@ -232,6 +462,7 @@
    Int   i;
    Addr  fp_max;
    UInt  n_found = 0;
+   const Int cmrf = VG_(clo_merge_recursive_frames);
 
    vg_assert(sizeof(Addr) == sizeof(UWord));
    vg_assert(sizeof(Addr) == sizeof(void*));
@@ -314,6 +545,7 @@
          if (debug)
             VG_(printf)("     ipsC[%d]=%#08lx\n", i-1, ips[i-1]);
          uregs.xip = uregs.xip - 1; /* as per comment at the head of this loop */
+         if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
          continue;
       }
 
@@ -342,6 +574,7 @@
          if (debug)
             VG_(printf)("     ipsF[%d]=%#08lx\n", i-1, ips[i-1]);
          uregs.xip = uregs.xip - 1; /* as per comment at the head of this loop */
+         if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
          continue;
       }
 
@@ -371,6 +604,7 @@
             VG_(printf)("     ipsH[%d]=%#08lx\n", i-1, ips[i-1]);
          uregs.xip = uregs.xip - 1; /* as per comment at the head of this loop */
          uregs.xsp += 8;
+         if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
          continue;
       }
 
@@ -399,6 +633,7 @@
    Word redir_stack_size = 0;
    Word redirs_used      = 0;
 #  endif
+   const Int cmrf = VG_(clo_merge_recursive_frames);
 
    Bool  debug = False;
    Int   i;
@@ -480,7 +715,7 @@
    lr_is_first_RA = False;
    {
 #     define M_VG_ERRTXT 1000
-      UChar buf_lr[M_VG_ERRTXT], buf_ip[M_VG_ERRTXT];
+      HChar buf_lr[M_VG_ERRTXT], buf_ip[M_VG_ERRTXT];
       /* The following conditional looks grossly inefficient and
          surely could be majorly improved, with not much effort. */
       if (VG_(get_fnname_raw) (lr, buf_lr, M_VG_ERRTXT))
@@ -557,6 +792,7 @@
             ip = ip - 1; /* ip is probably dead at this point, but
                             play safe, a la x86/amd64 above.  See
                             extensive comments above. */
+            if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
             continue;
          }
 
@@ -575,6 +811,87 @@
 
 #if defined(VGP_arm_linux)
 
+static Bool in_same_fn ( Addr a1, Addr a2 )
+{
+#  define M_VG_ERRTXT 500
+   HChar buf_a1[M_VG_ERRTXT], buf_a2[M_VG_ERRTXT];
+   /* The following conditional looks grossly inefficient and
+      surely could be majorly improved, with not much effort. */
+   if (VG_(get_fnname_raw) (a1, buf_a1, M_VG_ERRTXT))
+      if (VG_(get_fnname_raw) (a2, buf_a2, M_VG_ERRTXT))
+         if (VG_(strncmp)(buf_a1, buf_a2, M_VG_ERRTXT))
+            return True;
+#  undef M_VG_ERRTXT
+   return False;
+}
+
+static Bool in_same_page ( Addr a1, Addr a2 ) {
+   return (a1 & ~0xFFF) == (a2 & ~0xFFF);
+}
+
+static Addr abs_diff ( Addr a1, Addr a2 ) {
+   return (Addr)(a1 > a2 ? a1 - a2 : a2 - a1);
+}
+
+static Bool has_XT_perms ( Addr a )
+{
+   NSegment const* seg = VG_(am_find_nsegment)(a);
+   return seg && seg->hasX && seg->hasT;
+}
+
+static Bool looks_like_Thumb_call32 ( UShort w0, UShort w1 )
+{
+   if (0)
+      VG_(printf)("isT32call %04x %04x\n", (UInt)w0, (UInt)w1);
+   // BL  simm26 
+   if ((w0 & 0xF800) == 0xF000 && (w1 & 0xC000) == 0xC000) return True;
+   // BLX simm26
+   if ((w0 & 0xF800) == 0xF000 && (w1 & 0xC000) == 0xC000) return True;
+   return False;
+}
+
+static Bool looks_like_Thumb_call16 ( UShort w0 )
+{
+   return False;
+}
+
+static Bool looks_like_ARM_call ( UInt a0 )
+{
+   if (0)
+      VG_(printf)("isA32call %08x\n", a0);
+   // Leading E forces unconditional only -- fix
+   if ((a0 & 0xFF000000) == 0xEB000000) return True;
+   return False;
+}
+
+static Bool looks_like_RA ( Addr ra )
+{
+   /* 'ra' is a plausible return address if it points to
+       an instruction after a call insn. */
+   Bool isT = (ra & 1);
+   if (isT) {
+      // returning to Thumb code
+      ra &= ~1;
+      ra -= 4;
+      if (has_XT_perms(ra)) {
+         UShort w0 = *(UShort*)ra;
+         UShort w1 = in_same_page(ra, ra+2) ? *(UShort*)(ra+2) : 0;
+         if (looks_like_Thumb_call16(w1) || looks_like_Thumb_call32(w0,w1))
+            return True;
+      }
+   } else {
+      // ARM
+      ra &= ~3;
+      ra -= 4;
+      if (has_XT_perms(ra)) {
+         UInt a0 = *(UInt*)ra;
+         if (looks_like_ARM_call(a0))
+            return True;
+      }
+   }
+   return False;
+}
+
 UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
                                /*OUT*/Addr* ips, UInt max_n_ips,
                                /*OUT*/Addr* sps, /*OUT*/Addr* fps,
@@ -585,6 +902,7 @@
    Int   i;
    Addr  fp_max;
    UInt  n_found = 0;
+   const Int cmrf = VG_(clo_merge_recursive_frames);
 
    vg_assert(sizeof(Addr) == sizeof(UWord));
    vg_assert(sizeof(Addr) == sizeof(void*));
@@ -637,6 +955,7 @@
    i = 1;
 
    /* Loop unwinding the stack. */
+   Bool do_stack_scan = False;
 
    while (True) {
       if (debug) {
@@ -655,12 +974,54 @@
             VG_(printf)("USING CFI: r15: 0x%lx, r13: 0x%lx\n",
                         uregs.r15, uregs.r13);
          uregs.r15 = (uregs.r15 & 0xFFFFFFFE) - 1;
+         if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
          continue;
       }
       /* No luck.  We have to give up. */
+      do_stack_scan = True;
       break;
    }
 
+   if (0/*DISABLED BY DEFAULT*/ && do_stack_scan && i < max_n_ips && i <= 2) {
+      Int  nByStackScan = 0;
+      Addr lr = uregs.r14;
+      Addr sp = uregs.r13 & ~3;
+      Addr pc = uregs.r15;
+      // First see if LR contains
+      // something that could be a valid return address.
+      if (!in_same_fn(lr, pc) && looks_like_RA(lr)) {
+         // take it only if 'cand' isn't obviously a duplicate
+         // of the last found IP value
+         Addr cand = (lr & 0xFFFFFFFE) - 1;
+         if (abs_diff(cand, ips[i-1]) > 1) {
+            if (sps) sps[i] = 0;
+            if (fps) fps[i] = 0;
+            ips[i++] = cand;
+            if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
+            nByStackScan++;
+         }
+      }
+      while (in_same_page(sp, uregs.r13)) {
+         if (i >= max_n_ips)
+            break;
+         // we're in the same page; fairly safe to keep going
+         UWord w = *(UWord*)(sp & ~0x3);
+         if (looks_like_RA(w)) {
+            Addr cand = (w & 0xFFFFFFFE) - 1;
+            // take it only if 'cand' isn't obviously a duplicate
+            // of the last found IP value
+            if (abs_diff(cand, ips[i-1]) > 1) {
+               if (sps) sps[i] = 0;
+               if (fps) fps[i] = 0;
+               ips[i++] = cand;
+               if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
+               if (++nByStackScan >= 5) break;
+            }
+         }
+         sp += 4;
+      }
+   }
+
    n_found = i;
    return n_found;
 }
@@ -668,7 +1029,9 @@
 #endif
 
 /* ------------------------ s390x ------------------------- */
+
 #if defined(VGP_s390x_linux)
+
 UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
                                /*OUT*/Addr* ips, UInt max_n_ips,
                                /*OUT*/Addr* sps, /*OUT*/Addr* fps,
@@ -679,6 +1042,7 @@
    Int   i;
    Addr  fp_max;
    UInt  n_found = 0;
+   const Int cmrf = VG_(clo_merge_recursive_frames);
 
    vg_assert(sizeof(Addr) == sizeof(UWord));
    vg_assert(sizeof(Addr) == sizeof(void*));
@@ -718,6 +1082,7 @@
          if (fps) fps[i] = uregs.fp;
          ips[i++] = uregs.ia - 1;
          uregs.ia = uregs.ia - 1;
+         if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
          continue;
       }
       /* A problem on the first frame? Lets assume it was a bad jump.
@@ -734,6 +1099,7 @@
          }
          uregs.ia = uregs.lr - 1;
          ips[i++] = uregs.lr - 1;
+         if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
          continue;
       }
 
@@ -744,8 +1110,165 @@
    n_found = i;
    return n_found;
 }
+
 #endif
 
+/* ------------------------ mips 32/64 ------------------------- */
+#if defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
+                               /*OUT*/Addr* ips, UInt max_n_ips,
+                               /*OUT*/Addr* sps, /*OUT*/Addr* fps,
+                               UnwindStartRegs* startRegs,
+                               Addr fp_max_orig )
+{
+   Bool  debug = False;
+   Int   i;
+   Addr  fp_max;
+   UInt  n_found = 0;
+   const Int cmrf = VG_(clo_merge_recursive_frames);
+
+   vg_assert(sizeof(Addr) == sizeof(UWord));
+   vg_assert(sizeof(Addr) == sizeof(void*));
+
+   D3UnwindRegs uregs;
+   uregs.pc = startRegs->r_pc;
+   uregs.sp = startRegs->r_sp;
+   Addr fp_min = uregs.sp;
+
+#if defined(VGP_mips32_linux)
+   uregs.fp = startRegs->misc.MIPS32.r30;
+   uregs.ra = startRegs->misc.MIPS32.r31;
+#elif defined(VGP_mips64_linux)
+   uregs.fp = startRegs->misc.MIPS64.r30;
+   uregs.ra = startRegs->misc.MIPS64.r31;
+#endif
+
+   /* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
+      stopping when the trail goes cold, which we guess to be
+      when FP is not a reasonable stack location. */
+
+   fp_max = VG_PGROUNDUP(fp_max_orig);
+   if (fp_max >= sizeof(Addr))
+      fp_max -= sizeof(Addr);
+
+   if (debug)
+      VG_(printf)("max_n_ips=%d fp_min=0x%lx fp_max_orig=0x%lx, "
+                  "fp_max=0x%lx pc=0x%lx sp=0x%lx fp=0x%lx\n",
+                  max_n_ips, fp_min, fp_max_orig, fp_max,
+                  uregs.pc, uregs.sp, uregs.fp);
+
+   if (sps) sps[0] = uregs.sp;
+   if (fps) fps[0] = uregs.fp;
+   ips[0] = uregs.pc;
+   i = 1;
+
+   /* Loop unwinding the stack. */
+
+   while (True) {
+      if (debug) {
+         VG_(printf)("i: %d, pc: 0x%lx, sp: 0x%lx, ra: 0x%lx\n",
+                     i, uregs.pc, uregs.sp, uregs.ra);
+      }
+      if (i >= max_n_ips)
+         break;
+
+      D3UnwindRegs uregs_copy = uregs;
+      if (VG_(use_CF_info)( &uregs, fp_min, fp_max )) {
+         if (debug)
+            VG_(printf)("USING CFI: pc: 0x%lx, sp: 0x%lx, ra: 0x%lx\n",
+                        uregs.pc, uregs.sp, uregs.ra);
+         if (0 != uregs.pc && 1 != uregs.pc) {
+            if (sps) sps[i] = uregs.sp;
+            if (fps) fps[i] = uregs.fp;
+            ips[i++] = uregs.pc - 4;
+            uregs.pc = uregs.pc - 4;
+            if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
+            continue;
+         } else
+            uregs = uregs_copy;
+      }
+
+      int seen_sp_adjust = 0;
+      long frame_offset = 0;
+      PtrdiffT offset;
+      if (VG_(get_inst_offset_in_function)(uregs.pc, &offset)) {
+         Addr start_pc = uregs.pc - offset;
+         Addr limit_pc = uregs.pc;
+         Addr cur_pc;
+         for (cur_pc = start_pc; cur_pc < limit_pc; cur_pc += 4) {
+            unsigned long inst, high_word, low_word;
+            unsigned long * cur_inst;
+            /* Fetch the instruction.   */
+            cur_inst = (unsigned long *)cur_pc;
+            inst = *((UInt *) cur_inst);
+            if(debug)
+               VG_(printf)("cur_pc: 0x%lx, inst: 0x%lx\n", cur_pc, inst);
+
+            /* Save some code by pre-extracting some useful fields.  */
+            high_word = (inst >> 16) & 0xffff;
+            low_word = inst & 0xffff;
+
+            if (high_word == 0x27bd        /* addiu $sp,$sp,-i */
+                || high_word == 0x23bd     /* addi $sp,$sp,-i */
+                || high_word == 0x67bd) {  /* daddiu $sp,$sp,-i */
+               if (low_word & 0x8000)	/* negative stack adjustment? */
+                  frame_offset += 0x10000 - low_word;
+               else
+                  /* Exit loop if a positive stack adjustment is found, which
+                     usually means that the stack cleanup code in the function
+                     epilogue is reached.  */
+               break;
+            seen_sp_adjust = 1;
+            }
+         }
+         if(debug)
+            VG_(printf)("offset: 0x%lx\n", frame_offset);
+      }
+      if (seen_sp_adjust) {
+         if (0 == uregs.pc || 1 == uregs.pc) break;
+         if (uregs.pc == uregs.ra - 8) break;
+         if (sps) {
+            sps[i] = uregs.sp + frame_offset;
+         }
+         uregs.sp = uregs.sp + frame_offset;
+         
+         if (fps) {
+            fps[i] = fps[0];
+            uregs.fp = fps[0];
+         }
+         if (0 == uregs.ra || 1 == uregs.ra) break;
+         uregs.pc = uregs.ra - 8;
+         ips[i++] = uregs.ra - 8;
+         if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
+         continue;
+      }
+
+      if (i == 1) {
+         if (sps) {
+            sps[i] = sps[0];
+            uregs.sp = sps[0];
+         }
+         if (fps) {
+            fps[i] = fps[0];
+            uregs.fp = fps[0];
+         }
+         if (0 == uregs.ra || 1 == uregs.ra) break;
+         uregs.pc = uregs.ra - 8;
+         ips[i++] = uregs.ra - 8;
+         if (UNLIKELY(cmrf > 0)) {RECURSIVE_MERGE(cmrf,ips,i);};
+         continue;
+      }
+      /* No luck.  We have to give up. */
+      break;
+   }
+
+   n_found = i;
+   return n_found;
+}
+
+#endif
+
+
 /*------------------------------------------------------------*/
 /*---                                                      ---*/
 /*--- END platform-dependent unwinder worker functions     ---*/
@@ -821,7 +1344,7 @@
 {
    #define BUF_LEN   4096
    
-   static UChar buf[BUF_LEN];
+   static HChar buf[BUF_LEN];
 
    VG_(describe_IP)(ip, buf, BUF_LEN);
 
@@ -886,8 +1409,6 @@
 
       i++;
    } while (i < n_ips && !main_done);
-
-   #undef MYBUF_LEN
 }
 
 
diff --git a/coregrind/m_syscall.c b/coregrind/m_syscall.c
index ae9630f..4312d13 100644
--- a/coregrind/m_syscall.c
+++ b/coregrind/m_syscall.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -62,6 +62,7 @@
 
 SysRes VG_(mk_SysRes_x86_linux) ( Int val ) {
    SysRes res;
+   res._valEx   = 0; /* unused except on mips-linux */
    res._isError = val >= -4095 && val <= -1;
    if (res._isError) {
       res._val = (UInt)(-val);
@@ -74,6 +75,7 @@
 /* Similarly .. */
 SysRes VG_(mk_SysRes_amd64_linux) ( Long val ) {
    SysRes res;
+   res._valEx   = 0; /* unused except on mips-linux */
    res._isError = val >= -4095 && val <= -1;
    if (res._isError) {
       res._val = (ULong)(-val);
@@ -87,6 +89,7 @@
 /* Note this must be in the bottom bit of the second arg */
 SysRes VG_(mk_SysRes_ppc32_linux) ( UInt val, UInt cr0so ) {
    SysRes res;
+   res._valEx   = 0; /* unused except on mips-linux */
    res._isError = (cr0so & 1) != 0;
    res._val     = val;
    return res;
@@ -95,6 +98,7 @@
 /* As per ppc32 version, cr0.so must be in l.s.b. of 2nd arg */
 SysRes VG_(mk_SysRes_ppc64_linux) ( ULong val, ULong cr0so ) {
    SysRes res;
+   res._valEx   = 0; /* unused except on mips-linux */
    res._isError = (cr0so & 1) != 0;
    res._val     = val;
    return res;
@@ -102,6 +106,7 @@
 
 SysRes VG_(mk_SysRes_s390x_linux) ( Long val ) {
    SysRes res;
+   res._valEx   = 0; /* unused except on mips-linux */
    res._isError = val >= -4095 && val <= -1;
    if (res._isError) {
       res._val = -val;
@@ -113,6 +118,7 @@
 
 SysRes VG_(mk_SysRes_arm_linux) ( Int val ) {
    SysRes res;
+   res._valEx   = 0; /* unused except on mips-linux */
    res._isError = val >= -4095 && val <= -1;
    if (res._isError) {
       res._val = (UInt)(-val);
@@ -122,9 +128,28 @@
    return res;
 }
 
+/* MIPS uses a3 != 0 to flag an error */
+SysRes VG_(mk_SysRes_mips32_linux) ( UWord v0, UWord v1, UWord a3 ) {
+   SysRes res;
+   res._isError = (a3 != (UWord)0);
+   res._val     = v0;
+   res._valEx   = v1;
+   return res;
+}
+
+/* MIPS uses a3 != 0 to flag an error */
+SysRes VG_(mk_SysRes_mips64_linux) ( ULong v0, ULong v1, ULong a3 ) {
+   SysRes res;
+   res._isError = (a3 != (ULong)0);
+   res._val     = v0;
+   res._valEx   = v1;
+   return res;
+}
+
 /* Generic constructors. */
 SysRes VG_(mk_SysRes_Error) ( UWord err ) {
    SysRes r;
+   r._valEx   = 0; /* unused except on mips-linux */
    r._isError = True;
    r._val     = err;
    return r;
@@ -132,6 +157,7 @@
 
 SysRes VG_(mk_SysRes_Success) ( UWord res ) {
    SysRes r;
+   r._valEx   = 0; /* unused except on mips-linux */
    r._isError = False;
    r._val     = res;
    return r;
@@ -255,6 +281,7 @@
        );
 asm(
 ".text\n"
+".globl do_syscall_WRK\n"
 "do_syscall_WRK:\n"
 "	push	%esi\n"
 "	push	%edi\n"
@@ -296,6 +323,7 @@
        );
 asm(
 ".text\n"
+".globl do_syscall_WRK\n"
 "do_syscall_WRK:\n"
         /* Convert function calling convention --> syscall calling
            convention */
@@ -330,6 +358,7 @@
        );
 asm(
 ".text\n"
+".globl do_syscall_WRK\n"
 "do_syscall_WRK:\n"
 "        mr      0,3\n"
 "        mr      3,4\n"
@@ -396,6 +425,7 @@
        );
 asm(
 ".text\n"
+".globl do_syscall_WRK\n"
 "do_syscall_WRK:\n"
 "         push    {r4, r5, r7}\n"
 "         ldr     r4, [sp, #12]\n"
@@ -571,6 +601,59 @@
    return (UWord) (__svcres);
 }
 
+#elif defined(VGP_mips32_linux)
+/* Incoming args (syscall number + up to 6 args) come in a0 - a3 and stack.
+
+   The syscall number goes in v0.  The args are passed to the syscall in
+   the regs a0 - a3 and stack, i.e. the kernel's syscall calling convention.
+
+   (a3 != 0) flags an error.
+   We return the syscall return value in v0.
+   MIPS version
+*/
+extern int do_syscall_WRK (
+          int a1, int a2, int a3,
+          int a4, int a5, int a6, int syscall_no, UWord *err,
+          UWord *valHi, UWord* valLo
+       );
+asm(
+".globl do_syscall_WRK\n"
+".ent do_syscall_WRK\n"
+".text\n"
+"do_syscall_WRK:\n"   
+"   lw $2, 24($29)\n"    
+"   syscall\n"
+"   lw $8, 28($29)\n" 
+"   sw $7, ($8)\n"
+"   lw $8, 32($29)\n" 
+"   sw $3, ($8)\n"   // store valHi
+"   lw $8, 36($29)\n" 
+"   sw $2, ($8)\n"   // store valLo
+"   jr $31\n"
+"   nop\n"
+".previous\n"
+".end do_syscall_WRK\n"
+);
+
+#elif defined(VGP_mips64_linux)
+extern UWord do_syscall_WRK ( UWord a1, UWord a2, UWord a3, UWord a4, UWord a5,
+                              UWord a6, UWord syscall_no, ULong* V1_val );
+asm (
+".text\n"
+".globl do_syscall_WRK\n"
+"do_syscall_WRK:\n"
+"   daddiu $29, $29, -8\n"
+"   sd $11, 0($29)\n"
+"   move $2, $10\n"
+"   syscall\n"
+"   ld $11, 0($29)\n"
+"   daddiu $29, $29, 8\n"
+"   sd $3, 0($11)\n"  /* store vale of v1 in last param */
+"   sd $7, 8($11)\n"  /* store vale of a3 in last param */
+"   jr $31\n"
+".previous\n"
+);
+
 #else
 #  error Unknown platform
 #endif
@@ -678,6 +761,23 @@
    }
 
    return VG_(mk_SysRes_s390x_linux)( val );
+
+#elif defined(VGP_mips32_linux)
+   UWord err   = 0;
+   UWord valHi = 0;
+   UWord valLo = 0;
+   (void) do_syscall_WRK(a1,a2,a3,a4,a5,a6, sysno,&err,&valHi,&valLo);
+   return VG_(mk_SysRes_mips32_linux)( valLo, valHi, (ULong)err );
+
+#elif defined(VGP_mips64_linux)
+   ULong v1_a3[2];
+   v1_a3[0] = 0xFF00;
+   v1_a3[1] = 0xFF00;
+   ULong V0 = do_syscall_WRK(a1,a2,a3,a4,a5,a6,sysno,v1_a3);
+   ULong V1 = (ULong)v1_a3[0];
+   ULong A3 = (ULong)v1_a3[1];
+   return VG_(mk_SysRes_mips64_linux)( V0, V1, A3 );
+
 #else
 #  error Unknown platform
 #endif
diff --git a/coregrind/m_syswrap/priv_syswrap-darwin.h b/coregrind/m_syswrap/priv_syswrap-darwin.h
index f811f29..ec012c0 100644
--- a/coregrind/m_syswrap/priv_syswrap-darwin.h
+++ b/coregrind/m_syswrap/priv_syswrap-darwin.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Apple Inc.
+   Copyright (C) 2005-2012 Apple Inc.
       Greg Parker  gparker@apple.com
 
    This program is free software; you can redistribute it and/or
@@ -324,7 +324,7 @@
 DECL_TEMPLATE(darwin, shmdt);                   // 264
 DECL_TEMPLATE(darwin, shmget);                  // 265
 DECL_TEMPLATE(darwin, shm_open);                // 266
-// NYI shm_unlink 267
+DECL_TEMPLATE(darwin, shm_unlink);              // 267
 DECL_TEMPLATE(darwin, sem_open);                // 268
 DECL_TEMPLATE(darwin, sem_close);               // 269
 DECL_TEMPLATE(darwin, sem_unlink);              // 270
@@ -559,6 +559,16 @@
 DECL_TEMPLATE(darwin, mach_msg_thread);
 
 // Mach traps
+#if DARWIN_VERS == DARWIN_10_8
+DECL_TEMPLATE(darwin, mach__10);
+DECL_TEMPLATE(darwin, mach__12);
+DECL_TEMPLATE(darwin, mach__14);
+DECL_TEMPLATE(darwin, mach__16);
+DECL_TEMPLATE(darwin, mach__18);
+DECL_TEMPLATE(darwin, mach__19);
+DECL_TEMPLATE(darwin, mach__20);
+DECL_TEMPLATE(darwin, mach__21);
+#endif /* DARWIN_VERS == DARWIN_10_8 */
 DECL_TEMPLATE(darwin, mach_msg_unhandled);
 DECL_TEMPLATE(darwin, mach_msg);
 DECL_TEMPLATE(darwin, mach_reply_port);
diff --git a/coregrind/m_syswrap/priv_syswrap-generic.h b/coregrind/m_syswrap/priv_syswrap-generic.h
index 019dffd..5dc72ed 100644
--- a/coregrind/m_syswrap/priv_syswrap-generic.h
+++ b/coregrind/m_syswrap/priv_syswrap-generic.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -38,7 +38,7 @@
 // address space.
 extern
 Bool ML_(valid_client_addr)(Addr start, SizeT size, ThreadId tid,
-                            const Char *syscallname);
+                            const HChar *syscallname);
 
 /* Handy small function to help stop wrappers from segfaulting when
    presented with bogus client addresses.  Is not used for generating
@@ -50,7 +50,8 @@
 
 // Return true if we're allowed to use or create this fd.
 extern
-Bool ML_(fd_allowed)(Int fd, const Char *syscallname, ThreadId tid, Bool isNewFD);
+Bool ML_(fd_allowed)(Int fd, const HChar *syscallname, ThreadId tid,
+                     Bool isNewFD);
 
 extern void ML_(record_fd_open_named)          (ThreadId tid, Int fd);
 extern void ML_(record_fd_open_nameless)       (ThreadId tid, Int fd);
@@ -74,10 +75,10 @@
 
 extern void
 ML_(buf_and_len_pre_check) ( ThreadId tid, Addr buf_p, Addr buflen_p,
-                             Char* buf_s, Char* buflen_s );
+                             const HChar* buf_s, const HChar* buflen_s );
 extern void
 ML_(buf_and_len_post_check) ( ThreadId tid, SysRes res,
-                              Addr buf_p, Addr buflen_p, Char* s );
+                              Addr buf_p, Addr buflen_p, const HChar* s );
 
 /* PRE and POST for unknown ioctls based on ioctl request encoding */
 extern 
@@ -190,7 +191,6 @@
 DECL_TEMPLATE(generic, sys_statfs);                // * L?
 DECL_TEMPLATE(generic, sys_fstatfs);               // * L?
 DECL_TEMPLATE(generic, sys_iopl);                  // (x86/amd64) L
-DECL_TEMPLATE(generic, sys_ipc);                   // (x86) L
 DECL_TEMPLATE(generic, sys_newuname);              // * P
 DECL_TEMPLATE(generic, sys_pread64);               // * (Unix98?)
 DECL_TEMPLATE(generic, sys_pwrite64);              // * (Unix98?)
@@ -209,7 +209,7 @@
 
 /* ---------------------------------------------------------------------
    Wrappers for sockets and ipc-ery.  These are split into standalone
-   procedures because x86-linux hides them inside multiplexors
+   procedures because some platforms hides them inside multiplexors
    (sys_socketcall and sys_ipc).
    ------------------------------------------------------------------ */
 
@@ -235,9 +235,12 @@
 extern void   ML_(generic_POST_sys_getsockname) ( TId, SR, UW, UW, UW );
 extern void   ML_(generic_PRE_sys_getpeername)  ( TId, UW, UW, UW );
 extern void   ML_(generic_POST_sys_getpeername) ( TId, SR, UW, UW, UW );
-extern void   ML_(generic_PRE_sys_sendmsg)      ( TId, Char *, struct vki_msghdr * );
-extern void   ML_(generic_PRE_sys_recvmsg)      ( TId, Char *, struct vki_msghdr * );
-extern void   ML_(generic_POST_sys_recvmsg)     ( TId, Char *, struct vki_msghdr *, UInt );
+extern void   ML_(generic_PRE_sys_sendmsg)      ( TId, const HChar *,
+                                                  struct vki_msghdr * );
+extern void   ML_(generic_PRE_sys_recvmsg)      ( TId, const HChar *,
+                                                  struct vki_msghdr * );
+extern void   ML_(generic_POST_sys_recvmsg)     ( TId, const HChar *,
+                                                  struct vki_msghdr *, UInt );
 
 extern void   ML_(generic_PRE_sys_semop)        ( TId, UW, UW, UW );
 extern void   ML_(generic_PRE_sys_semtimedop)   ( TId, UW, UW, UW, UW );
diff --git a/coregrind/m_syswrap/priv_syswrap-linux-variants.h b/coregrind/m_syswrap/priv_syswrap-linux-variants.h
index 8143373..047ea13 100644
--- a/coregrind/m_syswrap/priv_syswrap-linux-variants.h
+++ b/coregrind/m_syswrap/priv_syswrap-linux-variants.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_syswrap/priv_syswrap-linux.h b/coregrind/m_syswrap/priv_syswrap-linux.h
index 37d41b7..0aeffaa 100644
--- a/coregrind/m_syswrap/priv_syswrap-linux.h
+++ b/coregrind/m_syswrap/priv_syswrap-linux.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -55,7 +55,10 @@
 DECL_TEMPLATE(linux, sys_dup3);
 DECL_TEMPLATE(linux, sys_getcpu);
 DECL_TEMPLATE(linux, sys_splice);
+DECL_TEMPLATE(linux, sys_tee);
+DECL_TEMPLATE(linux, sys_vmsplice);
 DECL_TEMPLATE(linux, sys_readahead);
+DECL_TEMPLATE(linux, sys_move_pages);
 
 // POSIX, but various sub-cases differ between Linux and Darwin.
 DECL_TEMPLATE(linux, sys_fcntl);
@@ -172,6 +175,7 @@
 DECL_TEMPLATE(linux, sys_fchmodat);
 DECL_TEMPLATE(linux, sys_faccessat);
 DECL_TEMPLATE(linux, sys_utimensat);
+DECL_TEMPLATE(linux, sys_name_to_handle_at);
 
 DECL_TEMPLATE(linux, sys_add_key);
 DECL_TEMPLATE(linux, sys_request_key);
@@ -287,10 +291,61 @@
 extern void ML_(linux_PRE_sys_getsockopt)  ( TId, UW, UW, UW, UW, UW );
 extern void ML_(linux_POST_sys_getsockopt) ( TId, SR, UW, UW, UW, UW, UW );
 
+// Linux-specific (but non-arch-specific) ptrace wrapper helpers
+extern void ML_(linux_PRE_getregset) ( ThreadId, long, long );
+extern void ML_(linux_PRE_setregset) ( ThreadId, long, long );
+extern void ML_(linux_POST_getregset)( ThreadId, long, long );
+
 #undef TId
 #undef UW
 #undef SR
 
+/* sys_ipc and sys_socketcall are multiplexors which implements several syscalls.
+   Used e.g. by x86, ppc32, ppc64, ... */
+DECL_TEMPLATE(linux, sys_ipc);
+DECL_TEMPLATE(linux, sys_socketcall);
+
+/* Depending on the platform, the below are implemented as
+   direct syscalls or via the above sys_socketcall multiplexor. */
+
+/* Direct ipc related syscalls. */
+/* Semaphore */
+DECL_TEMPLATE(linux, sys_semget);
+DECL_TEMPLATE(linux, sys_semop);
+DECL_TEMPLATE(linux, sys_semctl);
+DECL_TEMPLATE(linux, sys_semtimedop);
+/* Shared memory */
+DECL_TEMPLATE(linux, wrap_sys_shmat);
+DECL_TEMPLATE(linux, sys_shmget);
+DECL_TEMPLATE(linux, sys_shmdt);
+DECL_TEMPLATE(linux, sys_shmctl);
+/* Message queue */
+DECL_TEMPLATE(linux, sys_msgget);
+DECL_TEMPLATE(linux, sys_msgrcv);
+DECL_TEMPLATE(linux, sys_msgsnd);
+DECL_TEMPLATE(linux, sys_msgctl);
+
+/* Direct socket related syscalls. */
+DECL_TEMPLATE(linux, sys_socket);
+DECL_TEMPLATE(linux, sys_setsockopt);
+DECL_TEMPLATE(linux, sys_getsockopt);
+DECL_TEMPLATE(linux, sys_connect);
+DECL_TEMPLATE(linux, sys_accept);
+DECL_TEMPLATE(linux, sys_accept4);
+DECL_TEMPLATE(linux, sys_send);
+DECL_TEMPLATE(linux, sys_sendto);
+DECL_TEMPLATE(linux, sys_recv);
+DECL_TEMPLATE(linux, sys_recvfrom);
+DECL_TEMPLATE(linux, sys_sendmsg);
+DECL_TEMPLATE(linux, sys_recvmsg);
+DECL_TEMPLATE(linux, sys_shutdown);
+DECL_TEMPLATE(linux, sys_bind);
+DECL_TEMPLATE(linux, sys_listen);
+DECL_TEMPLATE(linux, sys_getsockname);
+DECL_TEMPLATE(linux, sys_getpeername);
+DECL_TEMPLATE(linux, sys_socketpair);
+
+
 #endif   // __PRIV_SYSWRAP_LINUX_H
 
 /*--------------------------------------------------------------------*/
diff --git a/coregrind/m_syswrap/priv_syswrap-main.h b/coregrind/m_syswrap/priv_syswrap-main.h
index 40ff55d..1fbf8a4 100644
--- a/coregrind/m_syswrap/priv_syswrap-main.h
+++ b/coregrind/m_syswrap/priv_syswrap-main.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_syswrap/priv_syswrap-xen.h b/coregrind/m_syswrap/priv_syswrap-xen.h
new file mode 100644
index 0000000..4dc4748
--- /dev/null
+++ b/coregrind/m_syswrap/priv_syswrap-xen.h
@@ -0,0 +1,10 @@
+#ifndef __PRIV_SYSWRAP_XEN_H
+#define __PRIV_SYSWRAP_XEN_H
+
+DECL_TEMPLATE(xen, hypercall);
+
+#endif   // __PRIV_SYSWRAP_XEN_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/m_syswrap/priv_types_n_macros.h b/coregrind/m_syswrap/priv_types_n_macros.h
index 8069cbd..ce07877 100644
--- a/coregrind/m_syswrap/priv_types_n_macros.h
+++ b/coregrind/m_syswrap/priv_types_n_macros.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -89,7 +89,8 @@
       Int o_sysno;
 #     if defined(VGP_x86_linux) || defined(VGP_amd64_linux) \
          || defined(VGP_ppc32_linux) || defined(VGP_ppc64_linux) \
-         || defined(VGP_arm_linux) || defined(VGP_s390x_linux)
+         || defined(VGP_arm_linux) || defined(VGP_s390x_linux) \
+         || defined(VGP_mips64_linux)
       Int o_arg1;
       Int o_arg2;
       Int o_arg3;
@@ -98,6 +99,15 @@
       Int o_arg6;
       Int uu_arg7;
       Int uu_arg8;
+#     elif defined(VGP_mips32_linux)
+      Int o_arg1;
+      Int o_arg2;
+      Int o_arg3;
+      Int o_arg4;
+      Int s_arg5;
+      Int s_arg6;
+      Int uu_arg7;
+      Int uu_arg8;
 #     elif defined(VGP_x86_darwin)
       Int s_arg1;
       Int s_arg2;
@@ -167,6 +177,16 @@
    fixed sized table exposed to the caller, but that's too inflexible;
    hence now use a function which can do arbitrary messing around to
    find the required entry. */
+#if defined(VGP_mips32_linux)
+   /* Up to 6 parameters, 4 in registers 2 on stack. */
+#  define PRA1(s,t,a) PRRAn(1,s,t,a)
+#  define PRA2(s,t,a) PRRAn(2,s,t,a)
+#  define PRA3(s,t,a) PRRAn(3,s,t,a)
+#  define PRA4(s,t,a) PRRAn(4,s,t,a)
+#  define PRA5(s,t,a) PSRAn(5,s,t,a)
+#  define PRA6(s,t,a) PSRAn(6,s,t,a)
+
+#endif
 #if defined(VGO_linux)
 extern
 SyscallTableEntry* ML_(get_linux_syscall_entry)( UInt sysno );
@@ -359,7 +379,16 @@
    PRAn  == "pre-read-argument"
 */
 
-#if defined(VGO_linux)
+#if defined(VGP_mips32_linux)
+   /* Up to 6 parameters, 4 in registers 2 on stack. */
+#  define PRA1(s,t,a) PRRAn(1,s,t,a)
+#  define PRA2(s,t,a) PRRAn(2,s,t,a)
+#  define PRA3(s,t,a) PRRAn(3,s,t,a)
+#  define PRA4(s,t,a) PRRAn(4,s,t,a)
+#  define PRA5(s,t,a) PSRAn(5,s,t,a)
+#  define PRA6(s,t,a) PSRAn(6,s,t,a)
+
+#elif defined(VGO_linux) && !defined(VGP_mips32_linux)
    /* Up to 6 parameters, all in registers. */
 #  define PRA1(s,t,a) PRRAn(1,s,t,a)
 #  define PRA2(s,t,a) PRRAn(2,s,t,a)
@@ -480,6 +509,18 @@
    since the least significant parts of the guest register are stored
    in memory at the highest address.
 */
+#if (defined(VGP_mips32_linux) && defined (_MIPSEB))
+ #define PSRAn_BE(n,s,t,a)                                        \
+    do {                                                          \
+      Addr next = layout->s_arg##n + sizeof(UWord) +              \
+                  VG_(get_SP)(tid);                               \
+      vg_assert(sizeof(t) <= sizeof(UWord));                      \
+      VG_(tdict).track_pre_mem_read(                              \
+         Vg_CoreSysCallArgInMem, tid, s"("#a")",                  \
+         next-sizeof(t), sizeof(t)                                \
+      );                                                          \
+   } while (0)
+#else
 #define PSRAn_BE(n,s,t,a)                                         \
    do {                                                           \
       Addr next = layout->o_arg##n + sizeof(UWord) +              \
@@ -490,6 +531,7 @@
          next-sizeof(t), sizeof(t)                                \
       );                                                          \
    } while (0)
+#endif
 
 #if defined(VG_BIGENDIAN)
 #  define PSRAn(n,s,t,a) PSRAn_BE(n,s,t,a)
diff --git a/coregrind/m_syswrap/syscall-amd64-darwin.S b/coregrind/m_syswrap/syscall-amd64-darwin.S
index bc88336..48ffad4 100644
--- a/coregrind/m_syswrap/syscall-amd64-darwin.S
+++ b/coregrind/m_syswrap/syscall-amd64-darwin.S
@@ -7,7 +7,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2000-2011 Julian Seward 
+  Copyright (C) 2000-2012 Julian Seward 
      jseward@acm.org
 
   This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_syswrap/syscall-amd64-linux.S b/coregrind/m_syswrap/syscall-amd64-linux.S
index 7147dba..1b46f3e 100644
--- a/coregrind/m_syswrap/syscall-amd64-linux.S
+++ b/coregrind/m_syswrap/syscall-amd64-linux.S
@@ -7,7 +7,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2000-2011 Julian Seward 
+  Copyright (C) 2000-2012 Julian Seward 
      jseward@acm.org
 
   This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_syswrap/syscall-arm-linux.S b/coregrind/m_syswrap/syscall-arm-linux.S
index 0696b6a..6f18518 100644
--- a/coregrind/m_syswrap/syscall-arm-linux.S
+++ b/coregrind/m_syswrap/syscall-arm-linux.S
@@ -7,7 +7,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2008-2011 Evan Geller (gaze@bea.ms)
+  Copyright (C) 2008-2012 Evan Geller (gaze@bea.ms)
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/coregrind/m_syswrap/syscall-mips32-linux.S b/coregrind/m_syswrap/syscall-mips32-linux.S
new file mode 100644
index 0000000..6a550aa
--- /dev/null
+++ b/coregrind/m_syswrap/syscall-mips32-linux.S
@@ -0,0 +1,215 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Support for doing system calls.      syscall-mips32-linux.S  ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2010-2012 RT-RK
+      mips-valgrind@rt-rk.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#if defined(VGP_mips32_linux)
+
+#include "pub_core_basics_asm.h"
+#include "pub_core_vkiscnums_asm.h"
+#include "libvex_guest_offsets.h"
+
+
+/*----------------------------------------------------------------*/
+/*
+        Perform a syscall for the client.  This will run a syscall
+        with the client's specific per-thread signal mask.
+
+        The structure of this function is such that, if the syscall is
+        interrupted by a signal, we can determine exactly what
+        execution state we were in with respect to the execution of
+        the syscall by examining the value of IP in the signal
+        handler.  This means that we can always do the appropriate
+        thing to precisely emulate the kernel's signal/syscall
+        interactions.
+
+        The syscall number is taken from the argument, even though it
+        should also be in regs->v0.  The syscall result is written
+        back to regs->v0 on completion.
+
+        Returns 0 if the syscall was successfully called (even if the
+        syscall itself failed), or a nonzero error code in the lowest
+        8 bits if one of the sigprocmasks failed (there's no way to
+        determine which one failed).  And there's no obvious way to
+        recover from that either, but nevertheless we want to know.
+
+        VG_(fixup_guest_state_after_syscall_interrupted) does the
+        thread state fixup in the case where we were interrupted by a
+        signal.
+
+        Prototype:
+
+   UWord ML_(do_syscall_for_client_WRK)(
+              Int syscallno,                 // $4 - a0
+              void* guest_state,             // $5 - a1
+              const vki_sigset_t *sysmask,   // $6 - a2
+              const vki_sigset_t *postmask,  // $7 - a3
+              Int nsigwords)                 // stack
+*/
+/* from vki_arch.h */
+#define VKI_SIG_SETMASK 3
+
+.globl ML_(do_syscall_for_client_WRK)
+ML_(do_syscall_for_client_WRK):
+
+    subu $29, $29, 56  #set up the steck frame, 
+    sw $4, 52($29)
+    sw $5, 48($29)
+    sw $6, 44($29)
+    sw $7, 40($29)
+    sw $31, 36($29)
+    sw $30, 32($29)
+    sw $16, 28($29)
+    sw $17, 24($29)
+    sw $18, 20($29)
+    sw $19, 16($29)
+    sw $20, 12($29)
+    sw $21, 8($29)
+    sw $22, 4($29)
+    sw $23, 0($29)
+    addu $30, $29, 56
+
+
+    /* Set the signal mask which should be current during the syscall. */
+
+1:  li $2, __NR_rt_sigprocmask  
+    li $4, VKI_SIG_SETMASK
+    move $5, $6 /* sysmask */
+    move $6, $7 /* postmask */
+    lw $7, 72($29) /* nsigwords */
+    syscall
+    nop
+
+# TODO: this should remain, keep it just for now
+    bnez $7, 7f
+    nop
+
+    lw $8, 48($29)    /* t0 == ThreadState */
+
+    lw $2, 52($29) /* v0 == syscallno */
+    lw $4, OFFSET_mips32_r4($8)
+    lw $5, OFFSET_mips32_r5($8)
+    lw $6, OFFSET_mips32_r6($8)
+    lw $7, OFFSET_mips32_r7($8)
+    subu $29, $29, 24  #set up the steck frame, 
+    lw $9, OFFSET_mips32_r29($8)
+    lw $10, 16($9)
+    sw $10, 16($29)
+    lw $10, 20($9)
+    sw $10, 20($29)
+
+2:  syscall
+
+3:  addu $29, $29, 24  #set up the steck frame,
+
+    lw $8, 48($29) /* t0 == ThreadState */
+    sw $2, OFFSET_mips32_r2($8)
+    sw $3, OFFSET_mips32_r3($8)
+    sw $7, OFFSET_mips32_r7($8)
+
+4:  li $2, __NR_rt_sigprocmask
+    li $4, VKI_SIG_SETMASK
+    lw $5, 40($29)
+    li $6, 0
+    lw $7, 72($29) /* nsigwords */
+    syscall
+    nop
+
+    bnez $7, 7f
+    nop
+
+    /* Success */
+    li $2, 0
+
+5:  lw $4, 52($29)
+    lw $5, 48($29)
+    lw $6, 44($29)
+    lw $7, 40($29)
+    lw $31, 36($29)
+    lw $30, 32($29)
+    lw $16, 28($29)
+    lw $17, 24($29)
+    lw $18, 20($29)
+    lw $19, 16($29)
+    lw $20, 12($29)
+    lw $21, 8($29)
+    lw $22, 4($29)
+    lw $23, 0($29)
+    addu $29, $29, 56 #release the stack frame.
+
+    jr $31
+    nop
+
+7:  /* Failure: return 0x8000 | error code */
+    li $2, 0x8000
+
+    lw $4, 52($29)
+    lw $5, 48($29)
+    lw $6, 44($29)
+    lw $7, 40($29)
+    lw $31, 36($29)
+    lw $30, 32($29)
+    lw $16, 28($29)
+    lw $17, 24($29)
+    lw $18, 20($29)
+    lw $19, 16($29)
+    lw $20, 12($29)
+    lw $21, 8($29)
+    lw $22, 4($29)
+    lw $23, 0($29)
+    addu $29, $29, 56 #release the stack frame.
+
+    jr $31
+    nop
+
+.section .rodata
+/* export the ranges so that
+   VG_(fixup_guest_state_after_syscall_interrupted) can do the
+   right thing */
+
+.globl ML_(blksys_setup)
+.globl ML_(blksys_restart)
+.globl ML_(blksys_complete)
+.globl ML_(blksys_committed)
+.globl ML_(blksys_finished)
+ML_(blksys_setup):      .long 1b
+ML_(blksys_restart):    .long 2b
+ML_(blksys_complete):   .long 3b
+ML_(blksys_committed):  .long 4b
+ML_(blksys_finished):   .long 5b
+.previous
+/* Let the linker know we don't need an executable stack */
+.section .note.GNU-stack,"",%progbits
+
+
+
+#endif // defined(VGP_mips32_linux)
+   
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/m_syswrap/syscall-mips64-linux.S b/coregrind/m_syswrap/syscall-mips64-linux.S
new file mode 100644
index 0000000..330ab1d
--- /dev/null
+++ b/coregrind/m_syswrap/syscall-mips64-linux.S
@@ -0,0 +1,155 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Support for doing system calls.      syscall-mips64-linux.S  ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+  This file is part of Valgrind, a dynamic binary instrumentation
+  framework.
+
+   Copyright (C) 2010-2013 RT-RK
+      mips-valgrind@rt-rk.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#if defined(VGP_mips64_linux)
+
+#include "pub_core_basics_asm.h"
+#include "pub_core_vkiscnums_asm.h"
+#include "libvex_guest_offsets.h"
+
+/*----------------------------------------------------------------*/
+/*
+   Perform a syscall for the client. This will run a syscall
+   with the client's specific per-thread signal mask.
+
+   The structure of this function is such that, if the syscall is
+   interrupted by a signal, we can determine exactly what
+   execution state we were in with respect to the execution of
+   the syscall by examining the value of PC in the signal
+   handler. This means that we can always do the appropriate
+   thing to precisely emulate the kernel's signal/syscall
+   interactions.
+
+   The syscall number is taken from the argument, even though it
+   should also be in regs->v0. The syscall result is written
+   back to regs->v0 on completion.
+
+   VG_(fixup_guest_state_after_syscall_interrupted) does the
+   thread state fixup in the case where we were interrupted by a
+   signal.
+
+   Prototype:
+
+   UWord ML_(do_syscall_for_client_WRK)(
+             Int syscallno,                 // $4 - a0
+             void* guest_state,             // $5 - a1
+             const vki_sigset_t *sysmask,   // $6 - a2
+             const vki_sigset_t *postmask,  // $7 - a3
+             Int nsigwords)                 // $8 - a4
+*/
+
+/* from vki_arch.h */
+#define VKI_SIG_SETMASK 3
+
+.globl ML_(do_syscall_for_client_WRK)
+ML_(do_syscall_for_client_WRK):
+
+   /* save regs $a0 - $a4 on stack */
+   daddiu  $29, $29, -48
+   sd      $4, 0($29)                /* syscallno */
+   sd      $5, 8($29)                /* guest_state */
+   sd      $6, 16($29)               /* sysmask */
+   sd      $7, 24($29)               /* postmask */
+   sd      $8, 32($29)               /* nsigwords */
+
+1: li      $2, __NR_rt_sigprocmask
+   li      $4, VKI_SIG_SETMASK
+   move    $5, $6                    /* sysmask */
+   move    $6, $7                    /* postmask */
+   move    $7, $8                    /* nsigwords */
+   syscall
+
+   bnez    $7, 7f
+   nop
+
+   /* Actually do the client syscall */ 
+   ld      $5, 8($29)                /* guest_state */
+   ld      $4, OFFSET_mips64_r4($5)  /* a0 */
+
+   ld      $6, OFFSET_mips64_r6($5)  /* a2 */
+   ld      $7, OFFSET_mips64_r7($5)  /* a3 */
+   ld      $8, OFFSET_mips64_r8($5)  /* a4 */
+   ld      $9, OFFSET_mips64_r9($5)  /* a5 */
+
+   ld      $5, OFFSET_mips64_r5($5)  /* a1 */
+   ld      $2, 0($29)                /* syscallno */
+
+2: syscall
+
+   /* Saving return values into Guest state  */
+3: ld      $5, 8($29)                /* guest_state */
+   sd      $2, OFFSET_mips64_r2($5)  /* v0 */
+   sd      $7, OFFSET_mips64_r7($5)  /* a3 */
+
+4: li      $2, __NR_rt_sigprocmask
+   li      $4, VKI_SIG_SETMASK
+   ld      $5, 24($29)               /* postmask */
+   move    $6, $0                    /* 0 (zero) */
+   ld      $7, 32($29)               /* nsigwords */
+   syscall
+
+   bnez    $7, 7f
+   nop
+
+5: /* restore 29 and return */
+   daddiu  $29, $29, 48
+   jr      $31
+   nop
+
+7: /* error */
+   daddiu  $29, $29, 48
+   li      $2, 0x8000
+   jr      $31
+   nop
+
+.section .rodata
+/* export the ranges so that
+   VG_(fixup_guest_state_after_syscall_interrupted) can do the
+   right thing */
+
+.globl ML_(blksys_setup)
+.globl ML_(blksys_restart)
+.globl ML_(blksys_complete)
+.globl ML_(blksys_committed)
+.globl ML_(blksys_finished)
+ML_(blksys_setup):      .quad 1b
+ML_(blksys_restart):    .quad 2b
+ML_(blksys_complete):   .quad 3b
+ML_(blksys_committed):  .quad 4b
+ML_(blksys_finished):   .quad 5b
+.previous
+/* Let the linker know we don't need an executable stack */
+.section .note.GNU-stack,"",%progbits
+
+#endif // defined(VGP_mips64_linux)
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/m_syswrap/syscall-ppc32-linux.S b/coregrind/m_syswrap/syscall-ppc32-linux.S
index 90b4a73..9a11126 100644
--- a/coregrind/m_syswrap/syscall-ppc32-linux.S
+++ b/coregrind/m_syswrap/syscall-ppc32-linux.S
@@ -7,7 +7,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2005-2011 Paul Mackerras (paulus@samba.org)
+  Copyright (C) 2005-2012 Paul Mackerras (paulus@samba.org)
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/coregrind/m_syswrap/syscall-ppc64-linux.S b/coregrind/m_syswrap/syscall-ppc64-linux.S
index 9fecd04..f3a1392 100644
--- a/coregrind/m_syswrap/syscall-ppc64-linux.S
+++ b/coregrind/m_syswrap/syscall-ppc64-linux.S
@@ -7,7 +7,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2005-2011 Paul Mackerras <paulus@samba.org>
+  Copyright (C) 2005-2012 Paul Mackerras <paulus@samba.org>
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/coregrind/m_syswrap/syscall-s390x-linux.S b/coregrind/m_syswrap/syscall-s390x-linux.S
index 72cf740..e31e701 100644
--- a/coregrind/m_syswrap/syscall-s390x-linux.S
+++ b/coregrind/m_syswrap/syscall-s390x-linux.S
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright IBM Corp. 2010-2011
+   Copyright IBM Corp. 2010-2012
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/coregrind/m_syswrap/syscall-x86-darwin.S b/coregrind/m_syswrap/syscall-x86-darwin.S
index 9e90c8a..8955250 100644
--- a/coregrind/m_syswrap/syscall-x86-darwin.S
+++ b/coregrind/m_syswrap/syscall-x86-darwin.S
@@ -7,7 +7,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2000-2011 Julian Seward 
+  Copyright (C) 2000-2012 Julian Seward 
      jseward@acm.org
 
   This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_syswrap/syscall-x86-linux.S b/coregrind/m_syswrap/syscall-x86-linux.S
index 594c5c6..2b440d7 100644
--- a/coregrind/m_syswrap/syscall-x86-linux.S
+++ b/coregrind/m_syswrap/syscall-x86-linux.S
@@ -7,7 +7,7 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2000-2011 Julian Seward 
+  Copyright (C) 2000-2012 Julian Seward 
      jseward@acm.org
 
   This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_syswrap/syswrap-amd64-darwin.c b/coregrind/m_syswrap/syswrap-amd64-darwin.c
index 0863abf..ec1ea01 100644
--- a/coregrind/m_syswrap/syswrap-amd64-darwin.c
+++ b/coregrind/m_syswrap/syswrap-amd64-darwin.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Apple Inc.
+   Copyright (C) 2005-2012 Apple Inc.
       Greg Parker  gparker@apple.com
 
    This program is free software; you can redistribute it and/or
@@ -97,8 +97,23 @@
                                        VexGuestAMD64State *vex)
 {
    // DDD: #warning GrP fixme fp state
-
-   VG_(memcpy)(&mach->__fpu_xmm0, &vex->guest_XMM0, 16 * sizeof(mach->__fpu_xmm0));
+   // JRS: what about the YMMHI bits?  Are they important?
+   VG_(memcpy)(&mach->__fpu_xmm0,  &vex->guest_YMM0,   sizeof(mach->__fpu_xmm0));
+   VG_(memcpy)(&mach->__fpu_xmm1,  &vex->guest_YMM1,   sizeof(mach->__fpu_xmm1));
+   VG_(memcpy)(&mach->__fpu_xmm2,  &vex->guest_YMM2,   sizeof(mach->__fpu_xmm2));
+   VG_(memcpy)(&mach->__fpu_xmm3,  &vex->guest_YMM3,   sizeof(mach->__fpu_xmm3));
+   VG_(memcpy)(&mach->__fpu_xmm4,  &vex->guest_YMM4,   sizeof(mach->__fpu_xmm4));
+   VG_(memcpy)(&mach->__fpu_xmm5,  &vex->guest_YMM5,   sizeof(mach->__fpu_xmm5));
+   VG_(memcpy)(&mach->__fpu_xmm6,  &vex->guest_YMM6,   sizeof(mach->__fpu_xmm6));
+   VG_(memcpy)(&mach->__fpu_xmm7,  &vex->guest_YMM7,   sizeof(mach->__fpu_xmm7));
+   VG_(memcpy)(&mach->__fpu_xmm8,  &vex->guest_YMM8,   sizeof(mach->__fpu_xmm8));
+   VG_(memcpy)(&mach->__fpu_xmm9,  &vex->guest_YMM9,   sizeof(mach->__fpu_xmm9));
+   VG_(memcpy)(&mach->__fpu_xmm10, &vex->guest_YMM10,  sizeof(mach->__fpu_xmm10));
+   VG_(memcpy)(&mach->__fpu_xmm11, &vex->guest_YMM11,  sizeof(mach->__fpu_xmm11));
+   VG_(memcpy)(&mach->__fpu_xmm12, &vex->guest_YMM12,  sizeof(mach->__fpu_xmm12));
+   VG_(memcpy)(&mach->__fpu_xmm13, &vex->guest_YMM13,  sizeof(mach->__fpu_xmm13));
+   VG_(memcpy)(&mach->__fpu_xmm14, &vex->guest_YMM14,  sizeof(mach->__fpu_xmm14));
+   VG_(memcpy)(&mach->__fpu_xmm15, &vex->guest_YMM15,  sizeof(mach->__fpu_xmm15));
 }
 
 
@@ -159,8 +174,23 @@
                                      VexGuestAMD64State *vex)
 {
    // DDD: #warning GrP fixme fp state
-
-   VG_(memcpy)(&vex->guest_XMM0, &mach->__fpu_xmm0, 16 * sizeof(mach->__fpu_xmm0));
+   // JRS: what about the YMMHI bits?  Are they important?
+   VG_(memcpy)(&vex->guest_YMM0,  &mach->__fpu_xmm0,  sizeof(mach->__fpu_xmm0));
+   VG_(memcpy)(&vex->guest_YMM1,  &mach->__fpu_xmm1,  sizeof(mach->__fpu_xmm1));
+   VG_(memcpy)(&vex->guest_YMM2,  &mach->__fpu_xmm2,  sizeof(mach->__fpu_xmm2));
+   VG_(memcpy)(&vex->guest_YMM3,  &mach->__fpu_xmm3,  sizeof(mach->__fpu_xmm3));
+   VG_(memcpy)(&vex->guest_YMM4,  &mach->__fpu_xmm4,  sizeof(mach->__fpu_xmm4));
+   VG_(memcpy)(&vex->guest_YMM5,  &mach->__fpu_xmm5,  sizeof(mach->__fpu_xmm5));
+   VG_(memcpy)(&vex->guest_YMM6,  &mach->__fpu_xmm6,  sizeof(mach->__fpu_xmm6));
+   VG_(memcpy)(&vex->guest_YMM7,  &mach->__fpu_xmm7,  sizeof(mach->__fpu_xmm7));
+   VG_(memcpy)(&vex->guest_YMM8,  &mach->__fpu_xmm8,  sizeof(mach->__fpu_xmm8));
+   VG_(memcpy)(&vex->guest_YMM9,  &mach->__fpu_xmm9,  sizeof(mach->__fpu_xmm9));
+   VG_(memcpy)(&vex->guest_YMM10, &mach->__fpu_xmm10, sizeof(mach->__fpu_xmm10));
+   VG_(memcpy)(&vex->guest_YMM11, &mach->__fpu_xmm11, sizeof(mach->__fpu_xmm11));
+   VG_(memcpy)(&vex->guest_YMM12, &mach->__fpu_xmm12, sizeof(mach->__fpu_xmm12));
+   VG_(memcpy)(&vex->guest_YMM13, &mach->__fpu_xmm13, sizeof(mach->__fpu_xmm13));
+   VG_(memcpy)(&vex->guest_YMM14, &mach->__fpu_xmm14, sizeof(mach->__fpu_xmm14));
+   VG_(memcpy)(&vex->guest_YMM15, &mach->__fpu_xmm15, sizeof(mach->__fpu_xmm15));
 }
 
 
@@ -418,7 +448,7 @@
         idea why. */
 #      if DARWIN_VERS <= DARWIN_10_6
        UWord magic_delta = 0;
-#      elif DARWIN_VERS == DARWIN_10_7
+#      elif DARWIN_VERS >= DARWIN_10_7
        UWord magic_delta = 0x60;
 #      endif
 
diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c
index 39a6948..82e67bd 100644
--- a/coregrind/m_syswrap/syswrap-amd64-linux.c
+++ b/coregrind/m_syswrap/syswrap-amd64-linux.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -142,6 +142,7 @@
                                     vki_modify_ldt_t * );
 asm(
 ".text\n"
+".globl do_syscall_clone_amd64_linux\n"
 "do_syscall_clone_amd64_linux:\n"
         // set up child stack, temporarily preserving fn and arg
 "       subq    $16, %rsi\n"            // make space on stack
@@ -357,35 +358,6 @@
    magic. */
 DECL_TEMPLATE(amd64_linux, sys_clone);
 DECL_TEMPLATE(amd64_linux, sys_rt_sigreturn);
-DECL_TEMPLATE(amd64_linux, sys_socket);
-DECL_TEMPLATE(amd64_linux, sys_setsockopt);
-DECL_TEMPLATE(amd64_linux, sys_getsockopt);
-DECL_TEMPLATE(amd64_linux, sys_connect);
-DECL_TEMPLATE(amd64_linux, sys_accept);
-DECL_TEMPLATE(amd64_linux, sys_accept4);
-DECL_TEMPLATE(amd64_linux, sys_sendto);
-DECL_TEMPLATE(amd64_linux, sys_recvfrom);
-DECL_TEMPLATE(amd64_linux, sys_sendmsg);
-DECL_TEMPLATE(amd64_linux, sys_recvmsg);
-DECL_TEMPLATE(amd64_linux, sys_shutdown);
-DECL_TEMPLATE(amd64_linux, sys_bind);
-DECL_TEMPLATE(amd64_linux, sys_listen);
-DECL_TEMPLATE(amd64_linux, sys_getsockname);
-DECL_TEMPLATE(amd64_linux, sys_getpeername);
-DECL_TEMPLATE(amd64_linux, sys_socketpair);
-DECL_TEMPLATE(amd64_linux, sys_semget);
-DECL_TEMPLATE(amd64_linux, sys_semop);
-DECL_TEMPLATE(amd64_linux, sys_semtimedop);
-DECL_TEMPLATE(amd64_linux, sys_semctl);
-DECL_TEMPLATE(amd64_linux, sys_msgget);
-DECL_TEMPLATE(amd64_linux, sys_msgrcv);
-DECL_TEMPLATE(amd64_linux, sys_msgsnd);
-DECL_TEMPLATE(amd64_linux, sys_msgctl);
-DECL_TEMPLATE(amd64_linux, sys_shmget);
-DECL_TEMPLATE(amd64_linux, wrap_sys_shmat);
-DECL_TEMPLATE(amd64_linux, sys_shmdt);
-DECL_TEMPLATE(amd64_linux, sys_shmdt);
-DECL_TEMPLATE(amd64_linux, sys_shmctl);
 DECL_TEMPLATE(amd64_linux, sys_arch_prctl);
 DECL_TEMPLATE(amd64_linux, sys_ptrace);
 DECL_TEMPLATE(amd64_linux, sys_fadvise64);
@@ -398,21 +370,35 @@
    ULong cloneflags;
 
    PRINT("sys_clone ( %lx, %#lx, %#lx, %#lx, %#lx )",ARG1,ARG2,ARG3,ARG4,ARG5);
-   PRE_REG_READ5(int, "clone",
+   PRE_REG_READ2(int, "clone",
                  unsigned long, flags,
-                 void *, child_stack,
-                 int *, parent_tidptr,
-                 int *, child_tidptr,
-                 void *, tlsaddr);
+                 void *, child_stack);
 
    if (ARG1 & VKI_CLONE_PARENT_SETTID) {
+      if (VG_(tdict).track_pre_reg_read) {
+         PRA3("clone", int *, parent_tidptr);
+      }
       PRE_MEM_WRITE("clone(parent_tidptr)", ARG3, sizeof(Int));
       if (!VG_(am_is_valid_for_client)(ARG3, sizeof(Int), VKI_PROT_WRITE)) {
          SET_STATUS_Failure( VKI_EFAULT );
          return;
       }
    }
+   if (ARG1 & VKI_CLONE_SETTLS) {
+      if (VG_(tdict).track_pre_reg_read) {
+         PRA4("clone", vki_modify_ldt_t *, tlsinfo);
+      }
+      PRE_MEM_READ("clone(tlsinfo)", ARG4, sizeof(vki_modify_ldt_t));
+      if (!VG_(am_is_valid_for_client)(ARG4, sizeof(vki_modify_ldt_t), 
+                                             VKI_PROT_READ)) {
+         SET_STATUS_Failure( VKI_EFAULT );
+         return;
+      }
+   }
    if (ARG1 & (VKI_CLONE_CHILD_SETTID | VKI_CLONE_CHILD_CLEARTID)) {
+      if (VG_(tdict).track_pre_reg_read) {
+         PRA5("clone", int *, child_tidptr);
+      }
       PRE_MEM_WRITE("clone(child_tidptr)", ARG4, sizeof(Int));
       if (!VG_(am_is_valid_for_client)(ARG4, sizeof(Int), VKI_PROT_WRITE)) {
          SET_STATUS_Failure( VKI_EFAULT );
@@ -602,6 +588,12 @@
    case VKI_PTRACE_SETSIGINFO:
       PRE_MEM_READ( "ptrace(setsiginfo)", ARG4, sizeof(vki_siginfo_t));
       break;
+   case VKI_PTRACE_GETREGSET:
+      ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
+      break;
+   case VKI_PTRACE_SETREGSET:
+      ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
+      break;
    default:
       break;
    }
@@ -630,352 +622,14 @@
        */
       POST_MEM_WRITE( ARG4, sizeof(vki_siginfo_t));
       break;
+   case VKI_PTRACE_GETREGSET:
+      ML_(linux_POST_getregset)(tid, ARG3, ARG4);
+      break;
    default:
       break;
    }
 }
 
-PRE(sys_socket)
-{
-   PRINT("sys_socket ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "socket", int, domain, int, type, int, protocol);
-}
-POST(sys_socket)
-{
-   SysRes r;
-   vg_assert(SUCCESS);
-   r = ML_(generic_POST_sys_socket)(tid, VG_(mk_SysRes_Success)(RES));
-   SET_STATUS_from_SysRes(r);
-}
-
-PRE(sys_setsockopt)
-{
-   PRINT("sys_setsockopt ( %ld, %ld, %ld, %#lx, %ld )",ARG1,ARG2,ARG3,ARG4,ARG5);
-   PRE_REG_READ5(long, "setsockopt",
-                 int, s, int, level, int, optname,
-                 const void *, optval, int, optlen);
-   ML_(generic_PRE_sys_setsockopt)(tid, ARG1,ARG2,ARG3,ARG4,ARG5);
-}
-
-PRE(sys_getsockopt)
-{
-   PRINT("sys_getsockopt ( %ld, %ld, %ld, %#lx, %#lx )",ARG1,ARG2,ARG3,ARG4,ARG5);
-   PRE_REG_READ5(long, "getsockopt",
-                 int, s, int, level, int, optname,
-                 void *, optval, int, *optlen);
-   ML_(linux_PRE_sys_getsockopt)(tid, ARG1,ARG2,ARG3,ARG4,ARG5);
-}
-POST(sys_getsockopt)
-{
-   vg_assert(SUCCESS);
-   ML_(linux_POST_sys_getsockopt)(tid, VG_(mk_SysRes_Success)(RES),
-                                       ARG1,ARG2,ARG3,ARG4,ARG5);
-}
-
-PRE(sys_connect)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_connect ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "connect",
-                 int, sockfd, struct sockaddr *, serv_addr, int, addrlen);
-   ML_(generic_PRE_sys_connect)(tid, ARG1,ARG2,ARG3);
-}
-
-PRE(sys_accept)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_accept ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "accept",
-                 int, s, struct sockaddr *, addr, int, *addrlen);
-   ML_(generic_PRE_sys_accept)(tid, ARG1,ARG2,ARG3);
-}
-POST(sys_accept)
-{
-   SysRes r;
-   vg_assert(SUCCESS);
-   r = ML_(generic_POST_sys_accept)(tid, VG_(mk_SysRes_Success)(RES),
-                                         ARG1,ARG2,ARG3);
-   SET_STATUS_from_SysRes(r);
-}
-
-PRE(sys_accept4)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_accept4 ( %ld, %#lx, %ld, %ld )",ARG1,ARG2,ARG3,ARG4);
-   PRE_REG_READ4(long, "accept4",
-                 int, s, struct sockaddr *, addr, int, *addrlen, int, flags);
-   ML_(generic_PRE_sys_accept)(tid, ARG1,ARG2,ARG3);
-}
-POST(sys_accept4)
-{
-   SysRes r;
-   vg_assert(SUCCESS);
-   r = ML_(generic_POST_sys_accept)(tid, VG_(mk_SysRes_Success)(RES),
-                                         ARG1,ARG2,ARG3);
-   SET_STATUS_from_SysRes(r);
-}
-
-PRE(sys_sendto)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_sendto ( %ld, %#lx, %ld, %lu, %#lx, %ld )",ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-   PRE_REG_READ6(long, "sendto",
-                 int, s, const void *, msg, int, len, 
-                 unsigned int, flags, 
-                 const struct sockaddr *, to, int, tolen);
-   ML_(generic_PRE_sys_sendto)(tid, ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-}
-
-PRE(sys_recvfrom)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_recvfrom ( %ld, %#lx, %ld, %lu, %#lx, %#lx )",ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-   PRE_REG_READ6(long, "recvfrom",
-                 int, s, void *, buf, int, len, unsigned int, flags,
-                 struct sockaddr *, from, int *, fromlen);
-   ML_(generic_PRE_sys_recvfrom)(tid, ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-}
-POST(sys_recvfrom)
-{
-   vg_assert(SUCCESS);
-   ML_(generic_POST_sys_recvfrom)(tid, VG_(mk_SysRes_Success)(RES),
-                                       ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-}
-
-PRE(sys_sendmsg)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_sendmsg ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "sendmsg",
-                 int, s, const struct msghdr *, msg, int, flags);
-   ML_(generic_PRE_sys_sendmsg)(tid, "msg", (struct vki_msghdr *)ARG2);
-}
-
-PRE(sys_recvmsg)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_recvmsg ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "recvmsg", int, s, struct msghdr *, msg, int, flags);
-   ML_(generic_PRE_sys_recvmsg)(tid, "msg", (struct vki_msghdr *)ARG2);
-}
-POST(sys_recvmsg)
-{
-   ML_(generic_POST_sys_recvmsg)(tid, "msg", (struct vki_msghdr *)ARG2, RES);
-}
-
-PRE(sys_shutdown)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_shutdown ( %ld, %ld )",ARG1,ARG2);
-   PRE_REG_READ2(int, "shutdown", int, s, int, how);
-}
-
-PRE(sys_bind)
-{
-   PRINT("sys_bind ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "bind",
-                 int, sockfd, struct sockaddr *, my_addr, int, addrlen);
-   ML_(generic_PRE_sys_bind)(tid, ARG1,ARG2,ARG3);
-}
-
-PRE(sys_listen)
-{
-   PRINT("sys_listen ( %ld, %ld )",ARG1,ARG2);
-   PRE_REG_READ2(long, "listen", int, s, int, backlog);
-}
-
-PRE(sys_getsockname)
-{
-   PRINT("sys_getsockname ( %ld, %#lx, %#lx )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "getsockname",
-                 int, s, struct sockaddr *, name, int *, namelen);
-   ML_(generic_PRE_sys_getsockname)(tid, ARG1,ARG2,ARG3);
-}
-POST(sys_getsockname)
-{
-   vg_assert(SUCCESS);
-   ML_(generic_POST_sys_getsockname)(tid, VG_(mk_SysRes_Success)(RES),
-                                          ARG1,ARG2,ARG3);
-}
-
-PRE(sys_getpeername)
-{
-   PRINT("sys_getpeername ( %ld, %#lx, %#lx )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "getpeername",
-                 int, s, struct sockaddr *, name, int *, namelen);
-   ML_(generic_PRE_sys_getpeername)(tid, ARG1,ARG2,ARG3);
-}
-POST(sys_getpeername)
-{
-   vg_assert(SUCCESS);
-   ML_(generic_POST_sys_getpeername)(tid, VG_(mk_SysRes_Success)(RES),
-                                          ARG1,ARG2,ARG3);
-}
-
-PRE(sys_socketpair)
-{
-   PRINT("sys_socketpair ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
-   PRE_REG_READ4(long, "socketpair",
-                 int, d, int, type, int, protocol, int*, sv);
-   ML_(generic_PRE_sys_socketpair)(tid, ARG1,ARG2,ARG3,ARG4);
-}
-POST(sys_socketpair)
-{
-   vg_assert(SUCCESS);
-   ML_(generic_POST_sys_socketpair)(tid, VG_(mk_SysRes_Success)(RES),
-                                         ARG1,ARG2,ARG3,ARG4);
-}
-
-PRE(sys_semget)
-{
-   PRINT("sys_semget ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "semget", vki_key_t, key, int, nsems, int, semflg);
-}
-
-PRE(sys_semop)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_semop ( %ld, %#lx, %lu )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "semop",
-                 int, semid, struct sembuf *, sops, unsigned, nsoops);
-   ML_(generic_PRE_sys_semop)(tid, ARG1,ARG2,ARG3);
-}
-
-PRE(sys_semtimedop)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_semtimedop ( %ld, %#lx, %lu, %#lx )",ARG1,ARG2,ARG3,ARG4);
-   PRE_REG_READ4(long, "semtimedop",
-                 int, semid, struct sembuf *, sops, unsigned, nsoops,
-                 struct timespec *, timeout);
-   ML_(generic_PRE_sys_semtimedop)(tid, ARG1,ARG2,ARG3,ARG4);
-}
-
-PRE(sys_semctl)
-{
-   switch (ARG3 & ~VKI_IPC_64) {
-   case VKI_IPC_INFO:
-   case VKI_SEM_INFO:
-      PRINT("sys_semctl ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
-      PRE_REG_READ4(long, "semctl",
-                    int, semid, int, semnum, int, cmd, struct seminfo *, arg);
-      break;
-   case VKI_IPC_STAT:
-   case VKI_SEM_STAT:
-   case VKI_IPC_SET:
-      PRINT("sys_semctl ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
-      PRE_REG_READ4(long, "semctl",
-                    int, semid, int, semnum, int, cmd, struct semid_ds *, arg);
-      break;
-   case VKI_GETALL:
-   case VKI_SETALL:
-      PRINT("sys_semctl ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
-      PRE_REG_READ4(long, "semctl",
-                    int, semid, int, semnum, int, cmd, unsigned short *, arg);
-      break;
-   default:
-      PRINT("sys_semctl ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
-      PRE_REG_READ3(long, "semctl",
-                    int, semid, int, semnum, int, cmd);
-      break;
-   }
-   ML_(generic_PRE_sys_semctl)(tid, ARG1,ARG2,ARG3|VKI_IPC_64,ARG4);
-}
-POST(sys_semctl)
-{
-   ML_(generic_POST_sys_semctl)(tid, RES,ARG1,ARG2,ARG3|VKI_IPC_64,ARG4);
-}
-
-PRE(sys_msgget)
-{
-   PRINT("sys_msgget ( %ld, %ld )",ARG1,ARG2);
-   PRE_REG_READ2(long, "msgget", vki_key_t, key, int, msgflg);
-}
-
-PRE(sys_msgsnd)
-{
-   PRINT("sys_msgsnd ( %ld, %#lx, %ld, %ld )",ARG1,ARG2,ARG3,ARG4);
-   PRE_REG_READ4(long, "msgsnd",
-                 int, msqid, struct msgbuf *, msgp, vki_size_t, msgsz, int, msgflg);
-   ML_(linux_PRE_sys_msgsnd)(tid, ARG1,ARG2,ARG3,ARG4);
-   if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-      *flags |= SfMayBlock;
-}
-
-PRE(sys_msgrcv)
-{
-   PRINT("sys_msgrcv ( %ld, %#lx, %ld, %ld, %ld )",ARG1,ARG2,ARG3,ARG4,ARG5);
-   PRE_REG_READ5(long, "msgrcv",
-                 int, msqid, struct msgbuf *, msgp, vki_size_t, msgsz,
-                 long, msgytp, int, msgflg);
-   ML_(linux_PRE_sys_msgrcv)(tid, ARG1,ARG2,ARG3,ARG4,ARG5);
-   if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-      *flags |= SfMayBlock;
-}
-POST(sys_msgrcv)
-{
-   ML_(linux_POST_sys_msgrcv)(tid, RES,ARG1,ARG2,ARG3,ARG4,ARG5);
-}
-
-PRE(sys_msgctl)
-{
-   PRINT("sys_msgctl ( %ld, %ld, %#lx )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "msgctl",
-                 int, msqid, int, cmd, struct msqid_ds *, buf);
-   ML_(linux_PRE_sys_msgctl)(tid, ARG1,ARG2,ARG3);
-}
-POST(sys_msgctl)
-{
-   ML_(linux_POST_sys_msgctl)(tid, RES,ARG1,ARG2,ARG3);
-}
-
-PRE(sys_shmget)
-{
-   PRINT("sys_shmget ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "shmget", vki_key_t, key, vki_size_t, size, int, shmflg);
-}
-
-PRE(wrap_sys_shmat)
-{
-   UWord arg2tmp;
-   PRINT("wrap_sys_shmat ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "shmat",
-                 int, shmid, const void *, shmaddr, int, shmflg);
-   arg2tmp = ML_(generic_PRE_sys_shmat)(tid, ARG1,ARG2,ARG3);
-   if (arg2tmp == 0)
-      SET_STATUS_Failure( VKI_EINVAL );
-   else
-      ARG2 = arg2tmp;  // used in POST
-}
-POST(wrap_sys_shmat)
-{
-   ML_(generic_POST_sys_shmat)(tid, RES,ARG1,ARG2,ARG3);
-}
-
-PRE(sys_shmdt)
-{
-   PRINT("sys_shmdt ( %#lx )",ARG1);
-   PRE_REG_READ1(long, "shmdt", const void *, shmaddr);
-   if (!ML_(generic_PRE_sys_shmdt)(tid, ARG1))
-      SET_STATUS_Failure( VKI_EINVAL );
-}
-POST(sys_shmdt)
-{
-   ML_(generic_POST_sys_shmdt)(tid, RES,ARG1);
-}
-
-PRE(sys_shmctl)
-{
-   PRINT("sys_shmctl ( %ld, %ld, %#lx )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "shmctl",
-                 int, shmid, int, cmd, struct shmid_ds *, buf);
-   ML_(generic_PRE_sys_shmctl)(tid, ARG1,ARG2|VKI_IPC_64,ARG3);
-}
-POST(sys_shmctl)
-{
-   ML_(generic_POST_sys_shmctl)(tid, RES,ARG1,ARG2|VKI_IPC_64,ARG3);
-}
-
 PRE(sys_fadvise64)
 {
    PRINT("sys_fadvise64 ( %ld, %ld, %lu, %ld )", ARG1,ARG2,ARG3,ARG4);
@@ -1088,10 +742,10 @@
    GENX_(__NR_msync,             sys_msync),          // 26 
    GENXY(__NR_mincore,           sys_mincore),        // 27 
    GENX_(__NR_madvise,           sys_madvise),        // 28 
-   PLAX_(__NR_shmget,            sys_shmget),         // 29 
+   LINX_(__NR_shmget,            sys_shmget),         // 29 
 
-   PLAXY(__NR_shmat,             wrap_sys_shmat),     // 30 
-   PLAXY(__NR_shmctl,            sys_shmctl),         // 31 
+   LINXY(__NR_shmat,             wrap_sys_shmat),     // 30 
+   LINXY(__NR_shmctl,            sys_shmctl),         // 31 
    GENXY(__NR_dup,               sys_dup),            // 32 
    GENXY(__NR_dup2,              sys_dup2),           // 33 
    GENX_(__NR_pause,             sys_pause),          // 34 
@@ -1103,24 +757,24 @@
    GENX_(__NR_getpid,            sys_getpid),         // 39 
 
    LINXY(__NR_sendfile,          sys_sendfile),       // 40 
-   PLAXY(__NR_socket,            sys_socket),         // 41 
-   PLAX_(__NR_connect,           sys_connect),        // 42
-   PLAXY(__NR_accept,            sys_accept),         // 43 
-   PLAX_(__NR_sendto,            sys_sendto),         // 44 
+   LINXY(__NR_socket,            sys_socket),         // 41 
+   LINX_(__NR_connect,           sys_connect),        // 42
+   LINXY(__NR_accept,            sys_accept),         // 43 
+   LINX_(__NR_sendto,            sys_sendto),         // 44 
 
-   PLAXY(__NR_recvfrom,          sys_recvfrom),       // 45 
-   PLAX_(__NR_sendmsg,           sys_sendmsg),        // 46 
-   PLAXY(__NR_recvmsg,           sys_recvmsg),        // 47
-   PLAX_(__NR_shutdown,          sys_shutdown),       // 48 
-   PLAX_(__NR_bind,              sys_bind),           // 49 
+   LINXY(__NR_recvfrom,          sys_recvfrom),       // 45 
+   LINX_(__NR_sendmsg,           sys_sendmsg),        // 46 
+   LINXY(__NR_recvmsg,           sys_recvmsg),        // 47
+   LINX_(__NR_shutdown,          sys_shutdown),       // 48 
+   LINX_(__NR_bind,              sys_bind),           // 49 
 
-   PLAX_(__NR_listen,            sys_listen),         // 50 
-   PLAXY(__NR_getsockname,       sys_getsockname),    // 51 
-   PLAXY(__NR_getpeername,       sys_getpeername),    // 52 
-   PLAXY(__NR_socketpair,        sys_socketpair),     // 53 
-   PLAX_(__NR_setsockopt,        sys_setsockopt),     // 54
+   LINX_(__NR_listen,            sys_listen),         // 50 
+   LINXY(__NR_getsockname,       sys_getsockname),    // 51 
+   LINXY(__NR_getpeername,       sys_getpeername),    // 52 
+   LINXY(__NR_socketpair,        sys_socketpair),     // 53 
+   LINX_(__NR_setsockopt,        sys_setsockopt),     // 54
 
-   PLAXY(__NR_getsockopt,        sys_getsockopt),     // 55 
+   LINXY(__NR_getsockopt,        sys_getsockopt),     // 55 
    PLAX_(__NR_clone,             sys_clone),          // 56 
    GENX_(__NR_fork,              sys_fork),           // 57 
    GENX_(__NR_vfork,             sys_fork),           // 58 treat as fork
@@ -1130,16 +784,16 @@
    GENXY(__NR_wait4,             sys_wait4),          // 61 
    GENX_(__NR_kill,              sys_kill),           // 62 
    GENXY(__NR_uname,             sys_newuname),       // 63 
-   PLAX_(__NR_semget,            sys_semget),         // 64 
+   LINX_(__NR_semget,            sys_semget),         // 64 
 
-   PLAX_(__NR_semop,             sys_semop),          // 65 
-   PLAXY(__NR_semctl,            sys_semctl),         // 66 
-   PLAXY(__NR_shmdt,             sys_shmdt),          // 67 
-   PLAX_(__NR_msgget,            sys_msgget),         // 68 
-   PLAX_(__NR_msgsnd,            sys_msgsnd),         // 69 
+   LINX_(__NR_semop,             sys_semop),          // 65 
+   LINXY(__NR_semctl,            sys_semctl),         // 66 
+   LINXY(__NR_shmdt,             sys_shmdt),          // 67 
+   LINX_(__NR_msgget,            sys_msgget),         // 68 
+   LINX_(__NR_msgsnd,            sys_msgsnd),         // 69 
 
-   PLAXY(__NR_msgrcv,            sys_msgrcv),         // 70 
-   PLAXY(__NR_msgctl,            sys_msgctl),         // 71 
+   LINXY(__NR_msgrcv,            sys_msgrcv),         // 70 
+   LINXY(__NR_msgctl,            sys_msgctl),         // 71 
    LINXY(__NR_fcntl,             sys_fcntl),          // 72 
    GENX_(__NR_flock,             sys_flock),          // 73 
    GENX_(__NR_fsync,             sys_fsync),          // 74 
@@ -1318,7 +972,7 @@
    LINX_(__NR_set_tid_address,   sys_set_tid_address),// 218 
    //   (__NR_restart_syscall,   sys_restart_syscall),// 219 
 
-   PLAX_(__NR_semtimedop,        sys_semtimedop),     // 220 
+   LINX_(__NR_semtimedop,        sys_semtimedop),     // 220 
    PLAX_(__NR_fadvise64,         sys_fadvise64),      // 221 
    LINXY(__NR_timer_create,      sys_timer_create),   // 222 
    LINXY(__NR_timer_settime,     sys_timer_settime),  // 223 
@@ -1385,10 +1039,10 @@
    LINXY(__NR_get_robust_list,	 sys_get_robust_list),  // 274
 
    LINX_(__NR_splice,            sys_splice),           // 275
-//   LINX_(__NR_tee,               sys_ni_syscall),       // 276
+   LINX_(__NR_tee,               sys_tee),              // 276
    LINX_(__NR_sync_file_range,   sys_sync_file_range),  // 277
-//   LINX_(__NR_vmsplice,          sys_ni_syscall),       // 278
-//   LINX_(__NR_move_pages,        sys_ni_syscall),       // 279
+   LINXY(__NR_vmsplice,          sys_vmsplice),         // 278
+   LINXY(__NR_move_pages,        sys_move_pages),       // 279
 
    LINX_(__NR_utimensat,         sys_utimensat),        // 280
    LINXY(__NR_epoll_pwait,       sys_epoll_pwait),      // 281
@@ -1399,7 +1053,7 @@
    LINX_(__NR_fallocate,         sys_fallocate),        // 285
    LINXY(__NR_timerfd_settime,   sys_timerfd_settime),  // 286
    LINXY(__NR_timerfd_gettime,   sys_timerfd_gettime),  // 287
-   PLAXY(__NR_accept4,           sys_accept4),          // 288
+   LINXY(__NR_accept4,           sys_accept4),          // 288
    LINXY(__NR_signalfd4,         sys_signalfd4),        // 289
 
    LINX_(__NR_eventfd2,          sys_eventfd2),         // 290
@@ -1417,7 +1071,7 @@
 //   LINX_(__NR_fanotify_init,     sys_ni_syscall),       // 300
 //   LINX_(__NR_fanotify_mark,     sys_ni_syscall),       // 301
    LINXY(__NR_prlimit64,         sys_prlimit64),        // 302
-//   LINX_(__NR_name_to_handle_at, sys_ni_syscall),       // 303
+   LINXY(__NR_name_to_handle_at, sys_name_to_handle_at),// 303
 //   LINX_(__NR_open_by_handle_at, sys_ni_syscall),       // 304
 
 //   LINX_(__NR_clock_adjtime,     sys_ni_syscall),       // 305
diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c
index a416b11..40bb4b5 100644
--- a/coregrind/m_syswrap/syswrap-arm-linux.c
+++ b/coregrind/m_syswrap/syswrap-arm-linux.c
@@ -7,9 +7,9 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
-   Copyright (C) 2008-2011 Evan Geller
+   Copyright (C) 2008-2012 Evan Geller
       gaze@bea.ms
 
    This program is free software; you can redistribute it and/or
@@ -114,6 +114,7 @@
                                      void* tls );
 asm(
 ".text\n"
+".globl do_syscall_clone_arm_linux\n"
 "do_syscall_clone_arm_linux:\n"
 
 /*Setup child stack */
@@ -150,6 +151,7 @@
 
 // forward declarations
 static void setup_child ( ThreadArchState*, ThreadArchState* );
+static void assign_guest_tls(ThreadId ctid, Addr tlsptr);
 static SysRes sys_set_tls ( ThreadId tid, Addr tlsptr );
             
 /* 
@@ -232,9 +234,8 @@
    VG_TRACK ( pre_thread_ll_create, ptid, ctid );
 
    if (flags & VKI_CLONE_SETTLS) {
-      res = sys_set_tls(ctid, child_tls);
-      if (sr_isError(res))
-         goto out;
+      /* Just assign the tls pointer in the guest TPIDRURO. */
+      assign_guest_tls(ctid, child_tls);
    }
     
    flags &= ~VKI_CLONE_SETTLS;
@@ -281,10 +282,53 @@
    child->vex_shadow2 = parent->vex_shadow2;
 }
 
-static SysRes sys_set_tls ( ThreadId tid, Addr tlsptr )
+static void assign_guest_tls(ThreadId tid, Addr tlsptr)
 {
    VG_(threads)[tid].arch.vex.guest_TPIDRURO = tlsptr;
+}
+
+/* Assigns tlsptr to the guest TPIDRURO.
+   If needed for the specific hardware, really executes
+   the set_tls syscall.
+*/
+static SysRes sys_set_tls ( ThreadId tid, Addr tlsptr )
+{
+   assign_guest_tls(tid, tlsptr);
+#if defined(ANDROID_HARDWARE_emulator)
+   /* Android emulator does not provide an hw tls register.
+      So, the tls register is emulated by the kernel.
+      This emulated value is set by the __NR_ARM_set_tls syscall.
+      The emulated value must be read by the kernel helper function
+      located at 0xffff0fe0.
+      
+      The emulated tlsptr is located at 0xffff0ff0
+      (so slightly after the kernel helper function).
+      Note that applications are not supposed to read this directly.
+      
+      For compatibility : if there is a hw tls register, the kernel
+      will put at 0xffff0fe0 the instructions to read it, so
+      as to have old applications calling the kernel helper
+      working properly.
+
+      For having emulated guest TLS working correctly with
+      Valgrind, it is needed to execute the syscall to set
+      the emulated TLS value in addition to the assignment
+      of TPIDRURO.
+
+      Note: the below means that if we need thread local storage
+      for Valgrind host, then there will be a conflict between
+      the need of the guest tls and of the host tls.
+      If all the guest code would cleanly call 0xffff0fe0,
+      then we might maybe intercept this. However, at least
+      __libc_preinit reads directly 0xffff0ff0.
+   */
+   /* ??? might call the below if auxv->u.a_val & VKI_HWCAP_TLS ???
+      Unclear if real hardware having tls hw register sets
+      VKI_HWCAP_TLS. */
+   return VG_(do_syscall1) (__NR_ARM_set_tls, tlsptr);
+#else
    return VG_(mk_SysRes_Success)( 0 );
+#endif
 }
 
 /* ---------------------------------------------------------------------
@@ -300,40 +344,6 @@
    aren't visible outside this file, but that requires even more macro
    magic. */
 
-DECL_TEMPLATE(arm_linux, sys_socketcall);
-DECL_TEMPLATE(arm_linux, sys_socket);
-DECL_TEMPLATE(arm_linux, sys_setsockopt);
-DECL_TEMPLATE(arm_linux, sys_getsockopt);
-DECL_TEMPLATE(arm_linux, sys_connect);
-DECL_TEMPLATE(arm_linux, sys_accept);
-DECL_TEMPLATE(arm_linux, sys_sendto);
-DECL_TEMPLATE(arm_linux, sys_recvfrom);
-//XXX: Semaphore code ripped from AMD64.
-DECL_TEMPLATE(arm_linux, sys_semget);
-DECL_TEMPLATE(arm_linux, sys_semop);
-DECL_TEMPLATE(arm_linux, sys_semctl);
-DECL_TEMPLATE(arm_linux, sys_semtimedop);
-//XXX: Shared memory code ripped from AMD64
-//
-DECL_TEMPLATE(arm_linux, wrap_sys_shmat);
-DECL_TEMPLATE(arm_linux, sys_shmget);
-DECL_TEMPLATE(arm_linux, sys_shmdt);
-DECL_TEMPLATE(arm_linux, sys_shmctl);
-DECL_TEMPLATE(arm_linux, sys_sendmsg);
-DECL_TEMPLATE(arm_linux, sys_recvmsg);
-//msg* code from AMD64
-DECL_TEMPLATE(arm_linux, sys_msgget);
-DECL_TEMPLATE(arm_linux, sys_msgrcv);
-DECL_TEMPLATE(arm_linux, sys_msgsnd);
-DECL_TEMPLATE(arm_linux, sys_msgctl);
-DECL_TEMPLATE(arm_linux, sys_shutdown);
-DECL_TEMPLATE(arm_linux, sys_bind);
-DECL_TEMPLATE(arm_linux, sys_listen);
-DECL_TEMPLATE(arm_linux, sys_getsockname);
-DECL_TEMPLATE(arm_linux, sys_getpeername);
-DECL_TEMPLATE(arm_linux, sys_socketpair);
-DECL_TEMPLATE(arm_linux, sys_send);
-DECL_TEMPLATE(arm_linux, sys_recv);
 DECL_TEMPLATE(arm_linux, sys_mmap2);
 DECL_TEMPLATE(arm_linux, sys_stat64);
 DECL_TEMPLATE(arm_linux, sys_lstat64);
@@ -347,626 +357,6 @@
 DECL_TEMPLATE(arm_linux, sys_cacheflush);
 DECL_TEMPLATE(arm_linux, sys_ptrace);
 
-PRE(sys_socketcall)
-{
-#  define ARG2_0  (((UWord*)ARG2)[0])
-#  define ARG2_1  (((UWord*)ARG2)[1])
-#  define ARG2_2  (((UWord*)ARG2)[2])
-#  define ARG2_3  (((UWord*)ARG2)[3])
-#  define ARG2_4  (((UWord*)ARG2)[4])
-#  define ARG2_5  (((UWord*)ARG2)[5])
-
-   *flags |= SfMayBlock;
-   PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
-   PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
-
-   switch (ARG1 /* request */) {
-
-   case VKI_SYS_SOCKETPAIR:
-     /* int socketpair(int d, int type, int protocol, int sv[2]); */
-      PRE_MEM_READ( "socketcall.socketpair(args)", ARG2, 4*sizeof(Addr) );
-      ML_(generic_PRE_sys_socketpair)( tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3 );
-      break;
-
-   case VKI_SYS_SOCKET:
-     /* int socket(int domain, int type, int protocol); */
-      PRE_MEM_READ( "socketcall.socket(args)", ARG2, 3*sizeof(Addr) );
-      break;
-
-   case VKI_SYS_BIND:
-     /* int bind(int sockfd, struct sockaddr *my_addr,
-   int addrlen); */
-      PRE_MEM_READ( "socketcall.bind(args)", ARG2, 3*sizeof(Addr) );
-      ML_(generic_PRE_sys_bind)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_LISTEN:
-     /* int listen(int s, int backlog); */
-      PRE_MEM_READ( "socketcall.listen(args)", ARG2, 2*sizeof(Addr) );
-      break;
-
-   case VKI_SYS_ACCEPT: {
-     /* int accept(int s, struct sockaddr *addr, int *addrlen); */
-      PRE_MEM_READ( "socketcall.accept(args)", ARG2, 3*sizeof(Addr) );
-      ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-   }
-
-   case VKI_SYS_SENDTO:
-     /* int sendto(int s, const void *msg, int len,
-                    unsigned int flags,
-                    const struct sockaddr *to, int tolen); */
-     PRE_MEM_READ( "socketcall.sendto(args)", ARG2, 6*sizeof(Addr) );
-     ML_(generic_PRE_sys_sendto)( tid, ARG2_0, ARG2_1, ARG2_2,
-              ARG2_3, ARG2_4, ARG2_5 );
-     break;
-
-   case VKI_SYS_SEND:
-     /* int send(int s, const void *msg, size_t len, int flags); */
-     PRE_MEM_READ( "socketcall.send(args)", ARG2, 4*sizeof(Addr) );
-     ML_(generic_PRE_sys_send)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_RECVFROM:
-     /* int recvfrom(int s, void *buf, int len, unsigned int flags,
-   struct sockaddr *from, int *fromlen); */
-     PRE_MEM_READ( "socketcall.recvfrom(args)", ARG2, 6*sizeof(Addr) );
-     ML_(generic_PRE_sys_recvfrom)( tid, ARG2_0, ARG2_1, ARG2_2,
-                ARG2_3, ARG2_4, ARG2_5 );
-     break;
-
-   case VKI_SYS_RECV:
-     /* int recv(int s, void *buf, int len, unsigned int flags); */
-     /* man 2 recv says:
-         The  recv call is normally used only on a connected socket
-         (see connect(2)) and is identical to recvfrom with a  NULL
-         from parameter.
-     */
-     PRE_MEM_READ( "socketcall.recv(args)", ARG2, 4*sizeof(Addr) );
-     ML_(generic_PRE_sys_recv)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_CONNECT:
-     /* int connect(int sockfd,
-   struct sockaddr *serv_addr, int addrlen ); */
-     PRE_MEM_READ( "socketcall.connect(args)", ARG2, 3*sizeof(Addr) );
-     ML_(generic_PRE_sys_connect)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_SETSOCKOPT:
-     /* int setsockopt(int s, int level, int optname,
-   const void *optval, int optlen); */
-     PRE_MEM_READ( "socketcall.setsockopt(args)", ARG2, 5*sizeof(Addr) );
-     ML_(generic_PRE_sys_setsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
-                  ARG2_3, ARG2_4 );
-     break;
-
-   case VKI_SYS_GETSOCKOPT:
-     /* int getsockopt(int s, int level, int optname,
-   void *optval, socklen_t *optlen); */
-     PRE_MEM_READ( "socketcall.getsockopt(args)", ARG2, 5*sizeof(Addr) );
-     ML_(linux_PRE_sys_getsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
-                  ARG2_3, ARG2_4 );
-     break;
-
-   case VKI_SYS_GETSOCKNAME:
-     /* int getsockname(int s, struct sockaddr* name, int* namelen) */
-     PRE_MEM_READ( "socketcall.getsockname(args)", ARG2, 3*sizeof(Addr) );
-     ML_(generic_PRE_sys_getsockname)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_GETPEERNAME:
-     /* int getpeername(int s, struct sockaddr* name, int* namelen) */
-     PRE_MEM_READ( "socketcall.getpeername(args)", ARG2, 3*sizeof(Addr) );
-     ML_(generic_PRE_sys_getpeername)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_SHUTDOWN:
-     /* int shutdown(int s, int how); */
-     PRE_MEM_READ( "socketcall.shutdown(args)", ARG2, 2*sizeof(Addr) );
-     break;
-
-   case VKI_SYS_SENDMSG: {
-     /* int sendmsg(int s, const struct msghdr *msg, int flags); */
-
-     /* this causes warnings, and I don't get why. glibc bug?
-      * (after all it's glibc providing the arguments array)
-       PRE_MEM_READ( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
-     */
-     ML_(generic_PRE_sys_sendmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
-     break;
-   }
-
-   case VKI_SYS_RECVMSG: {
-     /* int recvmsg(int s, struct msghdr *msg, int flags); */
-
-     /* this causes warnings, and I don't get why. glibc bug?
-      * (after all it's glibc providing the arguments array)
-       PRE_MEM_READ("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
-     */
-     ML_(generic_PRE_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
-     break;
-   }
-
-   default:
-     VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx",ARG1);
-     SET_STATUS_Failure( VKI_EINVAL );
-     break;
-   }
-#  undef ARG2_0
-#  undef ARG2_1
-#  undef ARG2_2
-#  undef ARG2_3
-#  undef ARG2_4
-#  undef ARG2_5
-}
-
-POST(sys_socketcall)
-{
-#  define ARG2_0  (((UWord*)ARG2)[0])
-#  define ARG2_1  (((UWord*)ARG2)[1])
-#  define ARG2_2  (((UWord*)ARG2)[2])
-#  define ARG2_3  (((UWord*)ARG2)[3])
-#  define ARG2_4  (((UWord*)ARG2)[4])
-#  define ARG2_5  (((UWord*)ARG2)[5])
-
-  SysRes r;
-  vg_assert(SUCCESS);
-  switch (ARG1 /* request */) {
-
-  case VKI_SYS_SOCKETPAIR:
-    r = ML_(generic_POST_sys_socketpair)(
-                tid, VG_(mk_SysRes_Success)(RES),
-                ARG2_0, ARG2_1, ARG2_2, ARG2_3
-                );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_SOCKET:
-    r = ML_(generic_POST_sys_socket)( tid, VG_(mk_SysRes_Success)(RES) );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_BIND:
-    /* int bind(int sockfd, struct sockaddr *my_addr,
-       int addrlen); */
-    break;
-
-  case VKI_SYS_LISTEN:
-    /* int listen(int s, int backlog); */
-    break;
-
-  case VKI_SYS_ACCEPT:
-    /* int accept(int s, struct sockaddr *addr, int *addrlen); */
-    r = ML_(generic_POST_sys_accept)( tid, VG_(mk_SysRes_Success)(RES),
-                  ARG2_0, ARG2_1, ARG2_2 );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_SENDTO:
-    break;
-
-  case VKI_SYS_SEND:
-    break;
-
-  case VKI_SYS_RECVFROM:
-    ML_(generic_POST_sys_recvfrom)( tid, VG_(mk_SysRes_Success)(RES),
-                ARG2_0, ARG2_1, ARG2_2,
-                ARG2_3, ARG2_4, ARG2_5 );
-    break;
-
-  case VKI_SYS_RECV:
-    ML_(generic_POST_sys_recv)( tid, RES, ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_CONNECT:
-    break;
-
-  case VKI_SYS_SETSOCKOPT:
-    break;
-
-  case VKI_SYS_GETSOCKOPT:
-    ML_(linux_POST_sys_getsockopt)( tid, VG_(mk_SysRes_Success)(RES),
-                  ARG2_0, ARG2_1,
-                  ARG2_2, ARG2_3, ARG2_4 );
-    break;
-
-  case VKI_SYS_GETSOCKNAME:
-    ML_(generic_POST_sys_getsockname)( tid, VG_(mk_SysRes_Success)(RES),
-                   ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_GETPEERNAME:
-    ML_(generic_POST_sys_getpeername)( tid, VG_(mk_SysRes_Success)(RES),
-                   ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_SHUTDOWN:
-    break;
-
-  case VKI_SYS_SENDMSG:
-    break;
-
-  case VKI_SYS_RECVMSG:
-    ML_(generic_POST_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1, RES );
-    break;
-
-  default:
-    VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx",ARG1);
-    VG_(core_panic)("... bye!\n");
-    break; /*NOTREACHED*/
-  }
-#  undef ARG2_0
-#  undef ARG2_1
-#  undef ARG2_2
-#  undef ARG2_3
-#  undef ARG2_4
-#  undef ARG2_5
-}
-
-PRE(sys_socket)
-{
-   PRINT("sys_socket ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "socket", int, domain, int, type, int, protocol);
-}
-POST(sys_socket)
-{
-   SysRes r;
-   vg_assert(SUCCESS);
-   r = ML_(generic_POST_sys_socket)(tid, VG_(mk_SysRes_Success)(RES));
-   SET_STATUS_from_SysRes(r);
-}
-
-PRE(sys_setsockopt)
-{
-   PRINT("sys_setsockopt ( %ld, %ld, %ld, %#lx, %ld )",ARG1,ARG2,ARG3,ARG4,ARG5);
-   PRE_REG_READ5(long, "setsockopt",
-                 int, s, int, level, int, optname,
-                 const void *, optval, int, optlen);
-   ML_(generic_PRE_sys_setsockopt)(tid, ARG1,ARG2,ARG3,ARG4,ARG5);
-}
-
-PRE(sys_getsockopt)
-{
-   PRINT("sys_getsockopt ( %ld, %ld, %ld, %#lx, %#lx )",ARG1,ARG2,ARG3,ARG4,ARG5);
-   PRE_REG_READ5(long, "getsockopt",
-                 int, s, int, level, int, optname,
-                 void *, optval, int, *optlen);
-   ML_(linux_PRE_sys_getsockopt)(tid, ARG1,ARG2,ARG3,ARG4,ARG5);
-}
-POST(sys_getsockopt)
-{
-   vg_assert(SUCCESS);
-   ML_(linux_POST_sys_getsockopt)(tid, VG_(mk_SysRes_Success)(RES),
-                                         ARG1,ARG2,ARG3,ARG4,ARG5);
-}
-
-PRE(sys_connect)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_connect ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "connect",
-                 int, sockfd, struct sockaddr *, serv_addr, int, addrlen);
-   ML_(generic_PRE_sys_connect)(tid, ARG1,ARG2,ARG3);
-}
-
-PRE(sys_accept)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_accept ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "accept",
-                 int, s, struct sockaddr *, addr, int, *addrlen);
-   ML_(generic_PRE_sys_accept)(tid, ARG1,ARG2,ARG3);
-}
-POST(sys_accept)
-{
-   SysRes r;
-   vg_assert(SUCCESS);
-   r = ML_(generic_POST_sys_accept)(tid, VG_(mk_SysRes_Success)(RES),
-                                         ARG1,ARG2,ARG3);
-   SET_STATUS_from_SysRes(r);
-}
-
-PRE(sys_sendto)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_sendto ( %ld, %#lx, %ld, %lu, %#lx, %ld )",ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-   PRE_REG_READ6(long, "sendto",
-                 int, s, const void *, msg, int, len, 
-                 unsigned int, flags, 
-                 const struct sockaddr *, to, int, tolen);
-   ML_(generic_PRE_sys_sendto)(tid, ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-}
-
-PRE(sys_recvfrom)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_recvfrom ( %ld, %#lx, %ld, %lu, %#lx, %#lx )",ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-   PRE_REG_READ6(long, "recvfrom",
-                 int, s, void *, buf, int, len, unsigned int, flags,
-                 struct sockaddr *, from, int *, fromlen);
-   ML_(generic_PRE_sys_recvfrom)(tid, ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-}
-POST(sys_recvfrom)
-{
-   vg_assert(SUCCESS);
-   ML_(generic_POST_sys_recvfrom)(tid, VG_(mk_SysRes_Success)(RES),
-                                       ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-}
-
-PRE(sys_sendmsg)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_sendmsg ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "sendmsg",
-                 int, s, const struct msghdr *, msg, int, flags);
-   ML_(generic_PRE_sys_sendmsg)(tid, "msg", (struct vki_msghdr *)ARG2);
-}
-
-PRE(sys_recvmsg)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_recvmsg ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "recvmsg", int, s, struct msghdr *, msg, int, flags);
-   ML_(generic_PRE_sys_recvmsg)(tid, "msg", (struct vki_msghdr *)ARG2);
-}
-POST(sys_recvmsg)
-{
-   ML_(generic_POST_sys_recvmsg)(tid, "msg", (struct vki_msghdr *)ARG2, RES);
-}
-
-//XXX: Semaphore code ripped from AMD64.
-PRE(sys_semget)
-{
-   PRINT("sys_semget ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "semget", vki_key_t, key, int, nsems, int, semflg);
-}
-
-PRE(sys_semop)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_semop ( %ld, %#lx, %lu )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "semop",
-                 int, semid, struct sembuf *, sops, unsigned, nsoops);
-   ML_(generic_PRE_sys_semop)(tid, ARG1,ARG2,ARG3);
-}
-
-PRE(sys_semctl)
-{
-   switch (ARG3 & ~VKI_IPC_64) {
-   case VKI_IPC_INFO:
-   case VKI_SEM_INFO:
-      PRINT("sys_semctl ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
-      PRE_REG_READ4(long, "semctl",
-                    int, semid, int, semnum, int, cmd, struct seminfo *, arg);
-      break;
-   case VKI_IPC_STAT:
-   case VKI_SEM_STAT:
-   case VKI_IPC_SET:
-      PRINT("sys_semctl ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
-      PRE_REG_READ4(long, "semctl",
-                    int, semid, int, semnum, int, cmd, struct semid_ds *, arg);
-      break;
-   case VKI_GETALL:
-   case VKI_SETALL:
-      PRINT("sys_semctl ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
-      PRE_REG_READ4(long, "semctl",
-                    int, semid, int, semnum, int, cmd, unsigned short *, arg);
-      break;
-   default:
-      PRINT("sys_semctl ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
-      PRE_REG_READ3(long, "semctl",
-                    int, semid, int, semnum, int, cmd);
-      break;
-   }
-   ML_(generic_PRE_sys_semctl)(tid, ARG1,ARG2,ARG3,ARG4);
-}
-
-POST(sys_semctl)
-{
-   ML_(generic_POST_sys_semctl)(tid, RES,ARG1,ARG2,ARG3,ARG4);
-}
-
-PRE(sys_semtimedop)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_semtimedop ( %ld, %#lx, %lu, %#lx )",ARG1,ARG2,ARG3,ARG4);
-   PRE_REG_READ4(long, "semtimedop",
-                 int, semid, struct sembuf *, sops, unsigned, nsoops,
-                 struct timespec *, timeout);
-   ML_(generic_PRE_sys_semtimedop)(tid, ARG1,ARG2,ARG3,ARG4);
-}
-
-//amd64
-PRE(sys_msgget)
-{
-   PRINT("sys_msgget ( %ld, %ld )",ARG1,ARG2);
-   PRE_REG_READ2(long, "msgget", vki_key_t, key, int, msgflg);
-}
-
-PRE(sys_msgsnd)
-{
-   PRINT("sys_msgsnd ( %ld, %#lx, %ld, %ld )",ARG1,ARG2,ARG3,ARG4);
-   PRE_REG_READ4(long, "msgsnd",
-                 int, msqid, struct msgbuf *, msgp, vki_size_t, msgsz, int, msgflg);
-   ML_(linux_PRE_sys_msgsnd)(tid, ARG1,ARG2,ARG3,ARG4);
-   if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-      *flags |= SfMayBlock;
-}
-
-PRE(sys_msgrcv)
-{
-   PRINT("sys_msgrcv ( %ld, %#lx, %ld, %ld, %ld )",ARG1,ARG2,ARG3,ARG4,ARG5);
-   PRE_REG_READ5(long, "msgrcv",
-                 int, msqid, struct msgbuf *, msgp, vki_size_t, msgsz,
-                 long, msgytp, int, msgflg);
-   ML_(linux_PRE_sys_msgrcv)(tid, ARG1,ARG2,ARG3,ARG4,ARG5);
-   if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-      *flags |= SfMayBlock;
-}
-POST(sys_msgrcv)
-{
-   ML_(linux_POST_sys_msgrcv)(tid, RES,ARG1,ARG2,ARG3,ARG4,ARG5);
-}
-
-
-PRE(sys_msgctl)
-{
-   PRINT("sys_msgctl ( %ld, %ld, %#lx )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "msgctl",
-                 int, msqid, int, cmd, struct msqid_ds *, buf);
-   ML_(linux_PRE_sys_msgctl)(tid, ARG1,ARG2,ARG3);
-}
-POST(sys_msgctl)
-{
-   ML_(linux_POST_sys_msgctl)(tid, RES,ARG1,ARG2,ARG3);
-}
-
-//shared memory code from AMD64
-PRE(sys_shmget)
-{
-   PRINT("sys_shmget ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "shmget", vki_key_t, key, vki_size_t, size, int, shmflg);
-}
-
-PRE(wrap_sys_shmat)
-{
-   UWord arg2tmp;
-   PRINT("wrap_sys_shmat ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "shmat",
-                 int, shmid, const void *, shmaddr, int, shmflg);
-   /* Round the attach address down to an VKI_SHMLBA boundary if the
-      client requested rounding.  See #222545.  This is necessary only
-      on arm-linux because VKI_SHMLBA is 4 * VKI_PAGE size; on all
-      other linux targets it is the same as the page size. */
-   if (ARG3 & VKI_SHM_RND)
-      ARG2 = VG_ROUNDDN(ARG2, VKI_SHMLBA);
-   arg2tmp = ML_(generic_PRE_sys_shmat)(tid, ARG1,ARG2,ARG3);
-   if (arg2tmp == 0)
-      SET_STATUS_Failure( VKI_EINVAL );
-   else
-      ARG2 = arg2tmp;
-}
-
-POST(wrap_sys_shmat)
-{
-   ML_(generic_POST_sys_shmat)(tid, RES,ARG1,ARG2,ARG3);
-}
-
-PRE(sys_shmdt)
-{
-   PRINT("sys_shmdt ( %#lx )",ARG1);
-   PRE_REG_READ1(long, "shmdt", const void *, shmaddr);
-   if (!ML_(generic_PRE_sys_shmdt)(tid, ARG1))
-      SET_STATUS_Failure( VKI_EINVAL );
-}
-
-POST(sys_shmdt)
-{
-   ML_(generic_POST_sys_shmdt)(tid, RES,ARG1);
-}
-
-PRE(sys_shmctl)
-{
-   PRINT("sys_shmctl ( %ld, %ld, %#lx )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "shmctl",
-                 int, shmid, int, cmd, struct shmid_ds *, buf);
-   ML_(generic_PRE_sys_shmctl)(tid, ARG1,ARG2,ARG3);
-}
-
-POST(sys_shmctl)
-{
-   ML_(generic_POST_sys_shmctl)(tid, RES,ARG1,ARG2,ARG3);
-}
-
-PRE(sys_shutdown)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_shutdown ( %ld, %ld )",ARG1,ARG2);
-   PRE_REG_READ2(int, "shutdown", int, s, int, how);
-}
-
-PRE(sys_bind)
-{
-   PRINT("sys_bind ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "bind",
-                 int, sockfd, struct sockaddr *, my_addr, int, addrlen);
-   ML_(generic_PRE_sys_bind)(tid, ARG1,ARG2,ARG3);
-}
-
-PRE(sys_listen)
-{
-   PRINT("sys_listen ( %ld, %ld )",ARG1,ARG2);
-   PRE_REG_READ2(long, "listen", int, s, int, backlog);
-}
-
-PRE(sys_getsockname)
-{
-   PRINT("sys_getsockname ( %ld, %#lx, %#lx )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "getsockname",
-                 int, s, struct sockaddr *, name, int *, namelen);
-   ML_(generic_PRE_sys_getsockname)(tid, ARG1,ARG2,ARG3);
-}
-POST(sys_getsockname)
-{
-   vg_assert(SUCCESS);
-   ML_(generic_POST_sys_getsockname)(tid, VG_(mk_SysRes_Success)(RES),
-                                          ARG1,ARG2,ARG3);
-}
-
-PRE(sys_getpeername)
-{
-   PRINT("sys_getpeername ( %ld, %#lx, %#lx )",ARG1,ARG2,ARG3);
-   PRE_REG_READ3(long, "getpeername",
-                 int, s, struct sockaddr *, name, int *, namelen);
-   ML_(generic_PRE_sys_getpeername)(tid, ARG1,ARG2,ARG3);
-}
-POST(sys_getpeername)
-{
-   vg_assert(SUCCESS);
-   ML_(generic_POST_sys_getpeername)(tid, VG_(mk_SysRes_Success)(RES),
-                                          ARG1,ARG2,ARG3);
-}
-
-PRE(sys_socketpair)
-{
-   PRINT("sys_socketpair ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
-   PRE_REG_READ4(long, "socketpair",
-                 int, d, int, type, int, protocol, int*, sv);
-   ML_(generic_PRE_sys_socketpair)(tid, ARG1,ARG2,ARG3,ARG4);
-}
-POST(sys_socketpair)
-{
-   vg_assert(SUCCESS);
-   ML_(generic_POST_sys_socketpair)(tid, VG_(mk_SysRes_Success)(RES),
-                                         ARG1,ARG2,ARG3,ARG4);
-}
-
-PRE(sys_send)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_send ( %ld, %#lx, %ld, %lu )",ARG1,ARG2,ARG3,ARG4);
-   PRE_REG_READ4(long, "send",
-                 int, s, const void *, msg, int, len, 
-                 unsigned int, flags);
-
-   ML_(generic_PRE_sys_send)( tid, ARG1, ARG2, ARG3 );
-}
-
-PRE(sys_recv)
-{
-   *flags |= SfMayBlock;
-   PRINT("sys_recv ( %ld, %#lx, %ld, %lu )",ARG1,ARG2,ARG3,ARG4);
-   PRE_REG_READ4(long, "recv",
-                 int, s, void *, buf, int, len, unsigned int, flags);
-   ML_(generic_PRE_sys_recv)( tid, ARG1, ARG2, ARG3 );
-}
-
-POST(sys_recv)
-{
-   ML_(generic_POST_sys_recv)( tid, RES, ARG1, ARG2, ARG3 );
-}
-
 PRE(sys_mmap2)
 {
    SysRes r;
@@ -1214,6 +604,7 @@
 
 PRE(sys_set_tls)
 {
+   PRINT("set_tls (%lx)",ARG1);
    PRE_REG_READ1(long, "set_tls", unsigned long, addr);
 
    SET_STATUS_from_SysRes( sys_set_tls( tid, ARG1 ) );
@@ -1304,6 +695,12 @@
    case VKI_PTRACE_SETSIGINFO:
       PRE_MEM_READ( "ptrace(setsiginfo)", ARG4, sizeof(vki_siginfo_t));
       break;
+   case VKI_PTRACE_GETREGSET:
+      ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
+      break;
+   case VKI_PTRACE_SETREGSET:
+      ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
+      break;
    default:
       break;
    }
@@ -1343,6 +740,9 @@
        */
       POST_MEM_WRITE( ARG4, sizeof(vki_siginfo_t));
       break;
+   case VKI_PTRACE_GETREGSET:
+      ML_(linux_POST_getregset)(tid, ARG3, ARG4);
+      break;
    default:
       break;
    }
@@ -1495,7 +895,7 @@
 
    GENXY(__NR_fstatfs,           sys_fstatfs),        // 100
 //   LINX_(__NR_ioperm,            sys_ioperm),         // 101
-   PLAXY(__NR_socketcall,        sys_socketcall),     // 102
+   LINXY(__NR_socketcall,        sys_socketcall),     // 102
    LINXY(__NR_syslog,            sys_syslog),         // 103
    GENXY(__NR_setitimer,         sys_setitimer),      // 104
 
@@ -1717,31 +1117,31 @@
    LINXY(__NR_mq_getsetattr,     sys_mq_getsetattr),  // (mq_open+5)
    LINXY(__NR_waitid,            sys_waitid),         // 280
 
-   PLAXY(__NR_socket,            sys_socket),         // 281
-   PLAX_(__NR_bind,              sys_bind),           // 282
-   PLAX_(__NR_connect,           sys_connect),        // 283
-   PLAX_(__NR_listen,            sys_listen),         // 284
-   PLAXY(__NR_accept,            sys_accept),         // 285
-   PLAXY(__NR_getsockname,       sys_getsockname),    // 286
-   PLAXY(__NR_getpeername,       sys_getpeername),    // 287
-   PLAXY(__NR_socketpair,        sys_socketpair),     // 288
-   PLAX_(__NR_send,              sys_send),
-   PLAX_(__NR_sendto,            sys_sendto),         // 290
-   PLAXY(__NR_recv,              sys_recv),
-   PLAXY(__NR_recvfrom,          sys_recvfrom),       // 292
-   PLAX_(__NR_shutdown,          sys_shutdown),       // 293
-   PLAX_(__NR_setsockopt,        sys_setsockopt),     // 294
-   PLAXY(__NR_getsockopt,        sys_getsockopt),     // 295
-   PLAX_(__NR_sendmsg,           sys_sendmsg),        // 296
-   PLAXY(__NR_recvmsg,           sys_recvmsg),        // 297
-   PLAX_(__NR_semop,             sys_semop),          // 298 
-   PLAX_(__NR_semget,            sys_semget),         // 299
-   PLAXY(__NR_semctl,            sys_semctl),         // 300
-   PLAX_(__NR_msgget,            sys_msgget),         
-   PLAX_(__NR_msgsnd,            sys_msgsnd),          
-   PLAXY(__NR_msgrcv,            sys_msgrcv),         
-   PLAXY(__NR_msgctl,            sys_msgctl),         // 304
-   PLAX_(__NR_semtimedop,        sys_semtimedop),     // 312
+   LINXY(__NR_socket,            sys_socket),         // 281
+   LINX_(__NR_bind,              sys_bind),           // 282
+   LINX_(__NR_connect,           sys_connect),        // 283
+   LINX_(__NR_listen,            sys_listen),         // 284
+   LINXY(__NR_accept,            sys_accept),         // 285
+   LINXY(__NR_getsockname,       sys_getsockname),    // 286
+   LINXY(__NR_getpeername,       sys_getpeername),    // 287
+   LINXY(__NR_socketpair,        sys_socketpair),     // 288
+   LINX_(__NR_send,              sys_send),
+   LINX_(__NR_sendto,            sys_sendto),         // 290
+   LINXY(__NR_recv,              sys_recv),
+   LINXY(__NR_recvfrom,          sys_recvfrom),       // 292
+   LINX_(__NR_shutdown,          sys_shutdown),       // 293
+   LINX_(__NR_setsockopt,        sys_setsockopt),     // 294
+   LINXY(__NR_getsockopt,        sys_getsockopt),     // 295
+   LINX_(__NR_sendmsg,           sys_sendmsg),        // 296
+   LINXY(__NR_recvmsg,           sys_recvmsg),        // 297
+   LINX_(__NR_semop,             sys_semop),          // 298 
+   LINX_(__NR_semget,            sys_semget),         // 299
+   LINXY(__NR_semctl,            sys_semctl),         // 300
+   LINX_(__NR_msgget,            sys_msgget),         
+   LINX_(__NR_msgsnd,            sys_msgsnd),          
+   LINXY(__NR_msgrcv,            sys_msgrcv),         
+   LINXY(__NR_msgctl,            sys_msgctl),         // 304
+   LINX_(__NR_semtimedop,        sys_semtimedop),     // 312
 
    LINX_(__NR_add_key,           sys_add_key),        // 286
    LINX_(__NR_request_key,       sys_request_key),    // 287
@@ -1769,10 +1169,10 @@
    LINX_(__NR_readlinkat,    sys_readlinkat),       // 
    LINX_(__NR_fchmodat,       sys_fchmodat),         //
    LINX_(__NR_faccessat,    sys_faccessat),        //
-   PLAXY(__NR_shmat,         wrap_sys_shmat),       //305
-   PLAXY(__NR_shmdt,             sys_shmdt),          //306 
-   PLAX_(__NR_shmget,            sys_shmget),         //307 
-   PLAXY(__NR_shmctl,            sys_shmctl),         // 308 
+   LINXY(__NR_shmat,         wrap_sys_shmat),       //305
+   LINXY(__NR_shmdt,             sys_shmdt),          //306 
+   LINX_(__NR_shmget,            sys_shmget),         //307 
+   LINXY(__NR_shmctl,            sys_shmctl),         // 308 
 //   LINX_(__NR_pselect6,       sys_pselect6),         //
 
 //   LINX_(__NR_unshare,       sys_unshare),          // 310
@@ -1783,7 +1183,7 @@
 
 //   LINX_(__NR_tee,               sys_ni_syscall),       // 315
 //   LINX_(__NR_vmsplice,          sys_ni_syscall),       // 316
-//   LINX_(__NR_move_pages,        sys_ni_syscall),       // 317
+   LINXY(__NR_move_pages,        sys_move_pages),       // 317
 //   LINX_(__NR_getcpu,            sys_ni_syscall),       // 318
 
    LINX_(__NR_utimensat,         sys_utimensat),        // 320
@@ -1812,9 +1212,16 @@
 
    LINXY(__NR_signalfd4,         sys_signalfd4),        // 355
    LINX_(__NR_eventfd2,          sys_eventfd2),         // 356
-
+   LINXY(__NR_epoll_create1,     sys_epoll_create1),    // 357
+   LINXY(__NR_dup3,              sys_dup3),             // 358
    LINXY(__NR_pipe2,             sys_pipe2),            // 359
-   LINXY(__NR_inotify_init1,     sys_inotify_init1)     // 360
+   LINXY(__NR_inotify_init1,     sys_inotify_init1),    // 360
+   LINXY(__NR_preadv,            sys_preadv),           // 361
+   LINX_(__NR_pwritev,           sys_pwritev),          // 362
+   LINXY(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo),// 363
+   LINXY(__NR_perf_event_open,   sys_perf_event_open),  // 364
+
+   LINXY(__NR_accept4,           sys_accept4)           // 366
 };
 
 
diff --git a/coregrind/m_syswrap/syswrap-darwin.c b/coregrind/m_syswrap/syswrap-darwin.c
index 8d76177..b0b1583 100644
--- a/coregrind/m_syswrap/syswrap-darwin.c
+++ b/coregrind/m_syswrap/syswrap-darwin.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Apple Inc.
+   Copyright (C) 2005-2012 Apple Inc.
       Greg Parker  gparker@apple.com
 
    This program is free software; you can redistribute it and/or
@@ -41,7 +41,6 @@
 #include "pub_core_debuglog.h"
 #include "pub_core_debuginfo.h"    // VG_(di_notify_*)
 #include "pub_core_transtab.h"     // VG_(discard_translations)
-#include "pub_tool_gdbserver.h"    // VG_(gdbserver)
 #include "pub_core_libcbase.h"
 #include "pub_core_libcassert.h"
 #include "pub_core_libcfile.h"
@@ -653,7 +652,7 @@
    // Now add/remove them.
    for (i = 0; i < css_used; i++) {
       ChangedSeg* cs = &css[i];
-      Char* action;
+      const Char* action;
       if (cs->is_added) {
          ML_(notify_core_and_tool_of_mmap)(
                cs->start, cs->end - cs->start + 1,
@@ -1477,9 +1476,12 @@
 static const char *workqop_name(int op)
 {
    switch (op) {
-   case VKI_WQOPS_QUEUE_ADD: return "QUEUE_ADD";
-   case VKI_WQOPS_QUEUE_REMOVE: return "QUEUE_REMOVE";
-   case VKI_WQOPS_THREAD_RETURN: return "THREAD_RETURN";
+   case VKI_WQOPS_QUEUE_ADD:        return "QUEUE_ADD";
+   case VKI_WQOPS_QUEUE_REMOVE:     return "QUEUE_REMOVE";
+   case VKI_WQOPS_THREAD_RETURN:    return "THREAD_RETURN";
+   case VKI_WQOPS_THREAD_SETCONC:   return "THREAD_SETCONC";
+   case VKI_WQOPS_QUEUE_NEWSPISUPP: return "QUEUE_NEWSPISUPP";
+   case VKI_WQOPS_QUEUE_REQTHREADS: return "QUEUE_REQTHREADS";
    default: return "?";
    }
 }
@@ -1498,6 +1500,8 @@
       // GrP fixme need anything here?
       // GrP fixme may block?
       break;
+   case VKI_WQOPS_QUEUE_NEWSPISUPP:
+      break; // JRS don't think we need to do anything here
 
    case VKI_WQOPS_THREAD_RETURN: {
       // The interesting case. The kernel will do one of two things:
@@ -1936,6 +1940,21 @@
    }
 }
 
+PRE(shm_unlink)
+{
+   *flags |= SfMayBlock;
+   PRINT("shm_unlink ( %#lx(%s) )", ARG1,(char*)ARG1);
+   PRE_REG_READ1(long, "shm_unlink", const char *, pathname);
+   PRE_MEM_RASCIIZ( "shm_unlink(pathname)", ARG1 );
+}
+POST(shm_unlink)
+{
+   /* My reading of the man page suggests that a call may cause memory
+      mappings to change: "if no references exist at the time of the
+      call to shm_unlink(), the resources are reclaimed immediately".
+      So we need to resync here, sigh. */
+   ML_(sync_mappings)("after", "shm_unlink", 0);
+}
 
 PRE(stat_extended)
 {
@@ -2696,7 +2715,7 @@
 /* Largely copied from PRE(sys_execve) in syswrap-generic.c, and from
    the simpler AIX equivalent (syswrap-aix5.c). */
 // Pre_read a char** argument.
-static void pre_argv_envp(Addr a, ThreadId tid, Char* s1, Char* s2)
+static void pre_argv_envp(Addr a, ThreadId tid, const Char* s1, const Char* s2)
 {
    while (True) {
       Addr a_deref;
@@ -2738,9 +2757,9 @@
 PRE(posix_spawn)
 {
    Char*        path = NULL;       /* path to executable */
-   Char**       envp = NULL;
-   Char**       argv = NULL;
-   Char**       arg2copy;
+   HChar**      envp = NULL;
+   HChar**      argv = NULL;
+   HChar**      arg2copy;
    Char*        launcher_basename = NULL;
    Int          i, j, tot_args;
    SysRes       res;
@@ -2814,14 +2833,11 @@
    /* Ok.  So let's give it a try. */
    VG_(debugLog)(1, "syswrap", "Posix_spawn of %s\n", (Char*)ARG2);
 
-   // Terminate gdbserver if it is active.
-   if (VG_(clo_vgdb)  != Vg_VgdbNo) {
-      // If the child will not be traced, we need to terminate gdbserver
-      // to cleanup the gdbserver resources (e.g. the FIFO files).
-      // If child will be traced, we also terminate gdbserver: the new 
-      // Valgrind will start a fresh gdbserver after exec.
-      VG_(gdbserver) (tid);
-   }
+   /* posix_spawn on Darwin is combining the fork and exec in one syscall.
+      So, we should not terminate gdbserver : this is still the parent
+      running, which will terminate its gdbserver when exiting.
+      If the child process is traced, it will start a fresh gdbserver
+      after posix_spawn. */
 
    // Set up the child's exe path.
    //
@@ -2854,7 +2870,7 @@
    if (ARG5 == 0) {
       envp = NULL;
    } else {
-      envp = VG_(env_clone)( (Char**)ARG5 );
+      envp = VG_(env_clone)( (HChar**)ARG5 );
       vg_assert(envp);
       VG_(env_remove_valgrind_env_stuff)( envp );
    }
@@ -2873,7 +2889,7 @@
    // are omitted.
    //
    if (!trace_this_child) {
-      argv = (Char**)ARG4;
+      argv = (HChar**)ARG4;
    } else {
       vg_assert( VG_(args_for_valgrind) );
       vg_assert( VG_(args_for_valgrind_noexecpass) >= 0 );
@@ -2888,7 +2904,7 @@
       // name of client exe
       tot_args++;
       // args for client exe, skipping [0]
-      arg2copy = (Char**)ARG4;
+      arg2copy = (HChar**)ARG4;
       if (arg2copy && arg2copy[0]) {
          for (i = 1; arg2copy[i]; i++)
             tot_args++;
@@ -2918,7 +2934,7 @@
       state does the child inherit from the parent?  */
 
    if (0) {
-      Char **cpp;
+      HChar **cpp;
       VG_(printf)("posix_spawn: %s\n", path);
       for (cpp = argv; cpp && *cpp; cpp++)
          VG_(printf)("argv: %s\n", *cpp);
@@ -2939,7 +2955,9 @@
 POST(posix_spawn)
 {
    vg_assert(SUCCESS);
-   //POST_MEM_WRITE( ARG1, sizeof(vki_pid_t) );
+   if (ARG1 != 0) {
+      POST_MEM_WRITE( ARG1, sizeof(vki_pid_t) );
+   }
 }
 
 
@@ -3521,6 +3539,7 @@
 PRE(mmap)
 {
    // SysRes r;
+   if (0) VG_(am_do_sync_check)("(PRE_MMAP)",__FILE__,__LINE__);
 
 #if VG_WORDSIZE == 4
    PRINT("mmap ( %#lx, %lu, %ld, %ld, %ld, %lld )",
@@ -3547,43 +3566,11 @@
 
 POST(mmap)
 {
-   vg_assert(SUCCESS);
-   /* JRS 2012 Mar 26: RES != -1 is surely not the right way to check
-      for success.  In any case I think syswrap-main.c won't let us
-      get here if the syscall failed, so the check is irrelevant.  See
-      VG_(post_syscall). */
-   if (RES == -1)
-      return;
-   vg_assert(VG_IS_PAGE_ALIGNED(RES));
-
-   /* begin KLUDGE */
-   Bool did_kludge = False;
-   if (ARG1 == 0 && !(ARG4 & MAP_FIXED) && RES == 0) {
-      /* An mmap-anonymous succeeded at address zero.  This is pretty
-         stupid (legit, but dangerous); so repeat the mmap call so as
-         to get a non-zero address.  Then unmap the area that the
-         original mmap created, and tidy up.  Failure to do this is
-         a causative factor in 
-         https://bugzilla.mozilla.org/show_bug.cgi?id=738034
-      */
-      SysRes more = VG_(am_do_mmap_NO_NOTIFY)(ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-      if (!sr_isError(more)) {
-         Bool need_discard = False;
-         VG_(am_munmap_client)(&need_discard, 0, ARG2);
-         vg_assert(!need_discard);
-         SET_STATUS_from_SysRes(more);
-         did_kludge = True;
-      }
-   }
-   /* end KLUDGE */
-
-   ML_(notify_core_and_tool_of_mmap)(RES, ARG2, ARG3, ARG4, ARG5, ARG6);
-   // Try to load symbols from the region
-   VG_(di_notify_mmap)( (Addr)RES, False/*allow_SkFileV*/,
-                        -1/*don't use_fd*/ );
-   if (did_kludge) {
-      /* Be paranoid if The Kludge happens. */
-      VG_(am_do_sync_check)("(MMAP_ANON_ZERO_ZERO_KLUDGE)",__FILE__,__LINE__);
+   if (RES != -1) {
+      ML_(notify_core_and_tool_of_mmap)(RES, ARG2, ARG3, ARG4, ARG5, ARG6);
+      // Try to load symbols from the region
+      VG_(di_notify_mmap)( (Addr)RES, False/*allow_SkFileV*/,
+                           -1/*don't use_fd*/ );
    }
 }
 
@@ -5018,6 +5005,8 @@
       PRINT("task_get_special_port(%s, TASK_BOOTSTRAP_PORT)", 
             name_for_port(MACH_REMOTE));
       break;
+#if DARWIN_VERS != DARWIN_10_8
+   /* These disappeared in 10.8 */
    case TASK_WIRED_LEDGER_PORT:
       PRINT("task_get_special_port(%s, TASK_WIRED_LEDGER_PORT)", 
             name_for_port(MACH_REMOTE));
@@ -5026,6 +5015,7 @@
       PRINT("task_get_special_port(%s, TASK_PAGED_LEDGER_PORT)", 
             name_for_port(MACH_REMOTE));
       break;
+#endif
    default:
       PRINT("task_get_special_port(%s, %d)", 
             name_for_port(MACH_REMOTE), req->which_port);
@@ -5064,12 +5054,15 @@
    case TASK_HOST_PORT:
       assign_port_name(reply->special_port.name, "host");
       break;
+#if DARWIN_VERS != DARWIN_10_8
+   /* These disappeared in 10.8 */
    case TASK_WIRED_LEDGER_PORT:
       assign_port_name(reply->special_port.name, "wired-ledger");
       break;
    case TASK_PAGED_LEDGER_PORT:
       assign_port_name(reply->special_port.name, "paged-ledger");
       break;
+#endif
    default:
       assign_port_name(reply->special_port.name, "special-%p");
       break;
@@ -6535,7 +6528,13 @@
    if (ARG4) semaphore_signal((semaphore_t)ARG4);
    if (ARG1  &&  ARG2) {
        ML_(notify_core_and_tool_of_munmap)(ARG1, ARG2);
+#      if DARWIN_VERS == DARWIN_10_8
+       /* JRS 2012 Aug 02: ugly hack: vm_deallocate disappeared from
+          the mig output.  Work around it for the time being. */
+       VG_(do_syscall2)(__NR_munmap, ARG1, ARG2);
+#      else
        vm_deallocate(mach_task_self(), (vm_address_t)ARG1, (vm_size_t)ARG2);
+#      endif
    }
 
    // Tell V to terminate the thread.
@@ -7748,6 +7747,7 @@
 }
 
 
+#if DARWIN_VERS >= DARWIN_10_7
 /* ---------------------------------------------------------------------
    Added for OSX 10.7 (Lion)
    ------------------------------------------------------------------ */
@@ -7762,6 +7762,7 @@
 {
    POST_MEM_WRITE(ARG1, ARG2);
 }
+#endif
 
 PRE(psynch_mutexwait)
 {
@@ -7843,16 +7844,74 @@
 
 
 /* ---------------------------------------------------------------------
+   Added for OSX 10.8 (Mountain Lion)
+   ------------------------------------------------------------------ */
+
+#if DARWIN_VERS == DARWIN_10_8
+
+PRE(mach__10)
+{
+   PRINT("mach__10(ARGUMENTS_UNKNOWN)");
+}
+POST(mach__10)
+{
+   ML_(sync_mappings)("after", "mach__10", 0);
+}
+
+PRE(mach__12)
+{
+   PRINT("mach__12(ARGUMENTS_UNKNOWN)");
+}
+POST(mach__12)
+{
+   ML_(sync_mappings)("after", "mach__12", 0);
+}
+
+PRE(mach__14)
+{
+   PRINT("mach__14(ARGUMENTS_UNKNOWN)");
+}
+
+PRE(mach__16)
+{
+   PRINT("mach__16(ARGUMENTS_UNKNOWN)");
+}
+
+PRE(mach__18)
+{
+   PRINT("mach__18(ARGUMENTS_UNKNOWN)");
+}
+
+PRE(mach__19)
+{
+   PRINT("mach__19(ARGUMENTS_UNKNOWN)");
+}
+
+PRE(mach__20)
+{
+   PRINT("mach__20(ARGUMENTS_UNKNOWN)");
+}
+
+PRE(mach__21)
+{
+   PRINT("mach__21(ARGUMENTS_UNKNOWN)");
+}
+
+#endif /* DARWIN_VERS == DARWIN_10_8 */
+
+
+/* ---------------------------------------------------------------------
    syscall tables
    ------------------------------------------------------------------ */
 
 /* Add a Darwin-specific, arch-independent wrapper to a syscall table. */
 #define MACX_(sysno, name)    WRAPPER_ENTRY_X_(darwin, VG_DARWIN_SYSNO_INDEX(sysno), name) 
 #define MACXY(sysno, name)    WRAPPER_ENTRY_XY(darwin, VG_DARWIN_SYSNO_INDEX(sysno), name)
-#define _____(sysno) GENX_(sysno, sys_ni_syscall)
+#define _____(sysno) GENX_(sysno, sys_ni_syscall)  /* UNIX style only */
 
 /*
-     _____ : unsupported by the kernel (sys_ni_syscall)
+     _____ : unsupported by the kernel (sys_ni_syscall) (UNIX-style only)
+             unfortunately misused for Mach too, causing assertion failures
   // _____ : unimplemented in valgrind
      GEN   : handlers are in syswrap-generic.c
      MAC   : handlers are in this file
@@ -8145,7 +8204,7 @@
    MACXY(__NR_shmdt,       shmdt), 
    MACX_(__NR_shmget,      shmget), 
    MACXY(__NR_shm_open,    shm_open), 
-// _____(__NR_shm_unlink), 
+   MACXY(__NR_shm_unlink,  shm_unlink), 
    MACX_(__NR_sem_open,    sem_open), 
    MACX_(__NR_sem_close,   sem_close), 
    MACX_(__NR_sem_unlink,  sem_unlink), 
@@ -8347,18 +8406,51 @@
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(7)), 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(8)), 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(9)), 
+
+#  if DARWIN_VERS == DARWIN_10_8
+   MACXY(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(10), mach__10), 
+#  else
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(10)), 
+#  endif
+
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(11)), 
+
+#  if DARWIN_VERS == DARWIN_10_8
+   MACXY(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(12), mach__12), 
+#  else
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(12)), 
+#  endif
+
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(13)), 
+
+#  if DARWIN_VERS == DARWIN_10_8
+   MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(14), mach__14), 
+#  else
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(14)), 
+#  endif
+
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(15)), 
+
+#  if DARWIN_VERS == DARWIN_10_8
+   MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(16), mach__16), 
+#  else
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(16)), 
+#  endif
+
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(17)), 
+
+#  if DARWIN_VERS == DARWIN_10_8
+   MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(18), mach__18), 
+   MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(19), mach__19), 
+   MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(20), mach__20),
+   MACX_(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(21), mach__21), 
+#  else
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(18)), 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(19)), 
-   _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(20)),   // -20
+   _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(20)), 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(21)), 
+#  endif
+
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(22)), 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(23)), 
    _____(VG_DARWIN_SYSCALL_CONSTRUCT_MACH(24)), 
diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c
index 0f538d3..b85fd9c 100644
--- a/coregrind/m_syswrap/syswrap-generic.c
+++ b/coregrind/m_syswrap/syswrap-generic.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -72,7 +72,7 @@
    client or is free or a reservation. */
 
 Bool ML_(valid_client_addr)(Addr start, SizeT size, ThreadId tid,
-                                   const Char *syscallname)
+                                   const HChar *syscallname)
 {
    Bool ret;
 
@@ -407,7 +407,7 @@
       ok = VG_(am_covered_by_single_free_segment) ( needA, needL );
    }
    if (ok && advised == needA) {
-      ok = VG_(am_extend_map_client)( &d, (NSegment*)old_seg, needL );
+      ok = VG_(am_extend_map_client)( &d, old_seg, needL );
       if (ok) {
          VG_TRACK( new_mem_mmap, needA, needL, 
                                  old_seg->hasR, 
@@ -463,7 +463,7 @@
    }
    if (!ok || advised != needA)
       goto eNOMEM;
-   ok = VG_(am_extend_map_client)( &d, (NSegment*)old_seg, needL );
+   ok = VG_(am_extend_map_client)( &d, old_seg, needL );
    if (!ok)
       goto eNOMEM;
    VG_TRACK( new_mem_mmap, needA, needL, 
@@ -510,7 +510,7 @@
 typedef struct OpenFd
 {
    Int fd;                        /* The file descriptor */
-   Char *pathname;                /* NULL if not a regular file or unknown */
+   HChar *pathname;               /* NULL if not a regular file or unknown */
    ExeContext *where;             /* NULL if inherited from parent */
    struct OpenFd *next, *prev;
 } OpenFd;
@@ -592,7 +592,7 @@
 void ML_(record_fd_open_named)(ThreadId tid, Int fd)
 {
    static HChar buf[VKI_PATH_MAX];
-   Char* name;
+   HChar* name;
    if (VG_(resolve_filename)(fd, buf, VKI_PATH_MAX))
       name = buf;
    else
@@ -608,7 +608,7 @@
 }
 
 static
-Char *unix2name(struct vki_sockaddr_un *sa, UInt len, Char *name)
+HChar *unix2name(struct vki_sockaddr_un *sa, UInt len, HChar *name)
 {
    if (sa == NULL || len == 0 || sa->sun_path[0] == '\0') {
       VG_(sprintf)(name, "<unknown>");
@@ -620,7 +620,7 @@
 }
 
 static
-Char *inet2name(struct vki_sockaddr_in *sa, UInt len, Char *name)
+HChar *inet2name(struct vki_sockaddr_in *sa, UInt len, HChar *name)
 {
    if (sa == NULL || len == 0) {
       VG_(sprintf)(name, "<unknown>");
@@ -650,7 +650,7 @@
       struct vki_sockaddr_in in;
       struct vki_sockaddr_un un;
    } laddr;
-   UInt llen;
+   Int llen;
 
    llen = sizeof(laddr);
    VG_(memset)(&laddr, 0, llen);
@@ -661,7 +661,7 @@
          static char lname[32];
          static char pname[32];
          struct vki_sockaddr_in paddr;
-         UInt plen = sizeof(struct vki_sockaddr_in);
+         Int plen = sizeof(struct vki_sockaddr_in);
 
          if (VG_(getpeername)(fd, (struct vki_sockaddr *)&paddr, &plen) != -1) {
             VG_(message)(Vg_UserMsg, "Open AF_INET socket %d: %s <-> %s\n", fd,
@@ -691,11 +691,11 @@
 
 
 /* Dump out a summary, and a more detailed list, of open file descriptors. */
-void VG_(show_open_fds) (void)
+void VG_(show_open_fds) (const HChar* when)
 {
    OpenFd *i = allocated_fds;
 
-   VG_(message)(Vg_UserMsg, "FILE DESCRIPTORS: %d open at exit.\n", fd_count);
+   VG_(message)(Vg_UserMsg, "FILE DESCRIPTORS: %d open %s.\n", fd_count, when);
 
    while (i) {
       if (i->pathname) {
@@ -703,7 +703,7 @@
                       i->pathname);
       } else {
          Int val;
-         UInt len = sizeof(val);
+         Int len = sizeof(val);
 
          if (VG_(getsockopt)(i->fd, VKI_SOL_SOCKET, VKI_SO_TYPE, &val, &len)
              == -1) {
@@ -774,7 +774,7 @@
          goto out;
 
       if (VG_(strcmp)(d.d_name, ".") && VG_(strcmp)(d.d_name, "..")) {
-         Char* s;
+         HChar* s;
          Int fno = VG_(strtoll10)(d.d_name, &s);
          if (*s == '\0') {
             if (fno != sr_Res(f))
@@ -802,10 +802,11 @@
 }
 
 static
-Char *strdupcat ( HChar* cc, const Char *s1, const Char *s2, ArenaId aid )
+HChar *strdupcat ( const HChar* cc, const HChar *s1, const HChar *s2,
+                   ArenaId aid )
 {
    UInt len = VG_(strlen) ( s1 ) + VG_(strlen) ( s2 ) + 1;
-   Char *result = VG_(arena_malloc) ( aid, cc, len );
+   HChar *result = VG_(arena_malloc) ( aid, cc, len );
    VG_(strcpy) ( result, s1 );
    VG_(strcat) ( result, s2 );
    return result;
@@ -813,20 +814,20 @@
 
 static 
 void pre_mem_read_sendmsg ( ThreadId tid, Bool read,
-                            Char *msg, Addr base, SizeT size )
+                            const HChar *msg, Addr base, SizeT size )
 {
-   Char *outmsg = strdupcat ( "di.syswrap.pmrs.1",
-                              "sendmsg", msg, VG_AR_CORE );
+   HChar *outmsg = strdupcat ( "di.syswrap.pmrs.1",
+                               "sendmsg", msg, VG_AR_CORE );
    PRE_MEM_READ( outmsg, base, size );
    VG_(arena_free) ( VG_AR_CORE, outmsg );
 }
 
 static 
 void pre_mem_write_recvmsg ( ThreadId tid, Bool read,
-                             Char *msg, Addr base, SizeT size )
+                             const HChar *msg, Addr base, SizeT size )
 {
-   Char *outmsg = strdupcat ( "di.syswrap.pmwr.1",
-                              "recvmsg", msg, VG_AR_CORE );
+   HChar *outmsg = strdupcat ( "di.syswrap.pmwr.1",
+                               "recvmsg", msg, VG_AR_CORE );
    if ( read )
       PRE_MEM_READ( outmsg, base, size );
    else
@@ -836,7 +837,7 @@
 
 static
 void post_mem_write_recvmsg ( ThreadId tid, Bool read,
-                              Char *fieldName, Addr base, SizeT size )
+                              const HChar *fieldName, Addr base, SizeT size )
 {
    if ( !read )
       POST_MEM_WRITE( base, size );
@@ -845,13 +846,14 @@
 static
 void msghdr_foreachfield ( 
         ThreadId tid,
-        Char *name,
+        const HChar *name,
         struct vki_msghdr *msg,
         UInt length,
-        void (*foreach_func)( ThreadId, Bool, Char *, Addr, SizeT ) 
+        void (*foreach_func)( ThreadId, Bool, const HChar *, Addr, SizeT ),
+        Bool recv
      )
 {
-   Char *fieldName;
+   HChar *fieldName;
 
    if ( !msg )
       return;
@@ -866,7 +868,11 @@
    foreach_func ( tid, True, fieldName, (Addr)&msg->msg_iovlen, sizeof( msg->msg_iovlen ) );
    foreach_func ( tid, True, fieldName, (Addr)&msg->msg_control, sizeof( msg->msg_control ) );
    foreach_func ( tid, True, fieldName, (Addr)&msg->msg_controllen, sizeof( msg->msg_controllen ) );
-   foreach_func ( tid, False, fieldName, (Addr)&msg->msg_flags, sizeof( msg->msg_flags ) );
+
+   /* msg_flags is completely ignored for send_mesg, recv_mesg doesn't read
+      the field, but does write to it. */
+   if ( recv )
+      foreach_func ( tid, False, fieldName, (Addr)&msg->msg_flags, sizeof( msg->msg_flags ) );
 
    if ( msg->msg_name ) {
       VG_(sprintf) ( fieldName, "(%s.msg_name)", name );
@@ -928,13 +934,16 @@
 /* GrP kernel ignores sa_len (at least on Darwin); this checks the rest */
 static
 void pre_mem_read_sockaddr ( ThreadId tid,
-                             Char *description,
+                             const HChar *description,
                              struct vki_sockaddr *sa, UInt salen )
 {
-   Char *outmsg;
+   HChar *outmsg;
    struct vki_sockaddr_un*  sun  = (struct vki_sockaddr_un *)sa;
    struct vki_sockaddr_in*  sin  = (struct vki_sockaddr_in *)sa;
    struct vki_sockaddr_in6* sin6 = (struct vki_sockaddr_in6 *)sa;
+#ifdef VKI_AF_BLUETOOTH
+   struct vki_sockaddr_rc*  rc   = (struct vki_sockaddr_rc *)sa;
+#endif
 
    /* NULL/zero-length sockaddrs are legal */
    if ( sa == NULL || salen == 0 ) return;
@@ -974,7 +983,16 @@
          PRE_MEM_READ( outmsg,
             (Addr) &sin6->sin6_scope_id, sizeof (sin6->sin6_scope_id) );
          break;
-               
+
+#ifdef VKI_AF_BLUETOOTH
+      case VKI_AF_BLUETOOTH:
+         VG_(sprintf) ( outmsg, description, "rc_bdaddr" );
+         PRE_MEM_READ( outmsg, (Addr) &rc->rc_bdaddr, sizeof (rc->rc_bdaddr) );
+         VG_(sprintf) ( outmsg, description, "rc_channel" );
+         PRE_MEM_READ( outmsg, (Addr) &rc->rc_channel, sizeof (rc->rc_channel) );
+         break;
+#endif
+
       default:
          VG_(sprintf) ( outmsg, description, "" );
          PRE_MEM_READ( outmsg, (Addr) sa, salen );
@@ -985,7 +1003,7 @@
 }
 
 /* Dereference a pointer to a UInt. */
-static UInt deref_UInt ( ThreadId tid, Addr a, Char* s )
+static UInt deref_UInt ( ThreadId tid, Addr a, const HChar* s )
 {
    UInt* a_p = (UInt*)a;
    PRE_MEM_READ( s, (Addr)a_p, sizeof(UInt) );
@@ -996,7 +1014,7 @@
 }
 
 void ML_(buf_and_len_pre_check) ( ThreadId tid, Addr buf_p, Addr buflen_p,
-                                  Char* buf_s, Char* buflen_s )
+                                  const HChar* buf_s, const HChar* buflen_s )
 {
    if (VG_(tdict).track_pre_mem_write) {
       UInt buflen_in = deref_UInt( tid, buflen_p, buflen_s);
@@ -1008,7 +1026,7 @@
 }
 
 void ML_(buf_and_len_post_check) ( ThreadId tid, SysRes res,
-                                   Addr buf_p, Addr buflen_p, Char* s )
+                                   Addr buf_p, Addr buflen_p, const HChar* s )
 {
    if (!sr_isError(res) && VG_(tdict).track_post_mem_write) {
       UInt buflen_out = deref_UInt( tid, buflen_p, s);
@@ -1092,7 +1110,7 @@
       aseg = VG_(am_find_nsegment)( VG_(brk_limit)-1 );
    else
       aseg = VG_(am_find_nsegment)( VG_(brk_limit) );
-   rseg = VG_(am_next_nsegment)( (NSegment*)aseg, True/*forwards*/ );
+   rseg = VG_(am_next_nsegment)( aseg, True/*forwards*/ );
 
    /* These should be assured by setup_client_dataseg in m_main. */
    vg_assert(aseg);
@@ -1120,7 +1138,7 @@
    vg_assert(delta > 0);
    vg_assert(VG_IS_PAGE_ALIGNED(delta));
    
-   ok = VG_(am_extend_into_adjacent_reservation_client)( (NSegment*)aseg, delta );
+   ok = VG_(am_extend_into_adjacent_reservation_client)( aseg, delta );
    if (!ok) goto bad;
 
    VG_(brk_limit) = newbrk;
@@ -1156,7 +1174,8 @@
 */
 
 /* Return true if we're allowed to use or create this fd */
-Bool ML_(fd_allowed)(Int fd, const Char *syscallname, ThreadId tid, Bool isNewFd)
+Bool ML_(fd_allowed)(Int fd, const HChar *syscallname, ThreadId tid,
+                     Bool isNewFd)
 {
    Bool allowed = True;
 
@@ -1507,23 +1526,26 @@
 /* ------ */
 
 void 
-ML_(generic_PRE_sys_sendmsg) ( ThreadId tid, Char *name, struct vki_msghdr *msg )
+ML_(generic_PRE_sys_sendmsg) ( ThreadId tid, const HChar *name,
+                               struct vki_msghdr *msg )
 {
-   msghdr_foreachfield ( tid, name, msg, ~0, pre_mem_read_sendmsg );
+   msghdr_foreachfield ( tid, name, msg, ~0, pre_mem_read_sendmsg, False );
 }
 
 /* ------ */
 
 void
-ML_(generic_PRE_sys_recvmsg) ( ThreadId tid, Char *name, struct vki_msghdr *msg )
+ML_(generic_PRE_sys_recvmsg) ( ThreadId tid, const HChar *name,
+                               struct vki_msghdr *msg )
 {
-   msghdr_foreachfield ( tid, name, msg, ~0, pre_mem_write_recvmsg );
+   msghdr_foreachfield ( tid, name, msg, ~0, pre_mem_write_recvmsg, True );
 }
 
 void 
-ML_(generic_POST_sys_recvmsg) ( ThreadId tid, Char *name, struct vki_msghdr *msg, UInt length )
+ML_(generic_POST_sys_recvmsg) ( ThreadId tid, const HChar *name,
+                                struct vki_msghdr *msg, UInt length )
 {
-   msghdr_foreachfield( tid, name, msg, length, post_mem_write_recvmsg );
+   msghdr_foreachfield( tid, name, msg, length, post_mem_write_recvmsg, True );
    check_cmsg_for_fds( tid, msg );
 }
 
@@ -1700,7 +1722,7 @@
 /* ------ */
 
 static
-UInt get_shm_size ( Int shmid )
+SizeT get_shm_size ( Int shmid )
 {
 #ifdef __NR_shmctl
 #  ifdef VKI_IPC_64
@@ -1725,7 +1747,7 @@
    if (sr_isError(__res))
       return 0;
  
-   return buf.shm_segsz;
+   return (SizeT) buf.shm_segsz;
 }
 
 UWord
@@ -1733,7 +1755,7 @@
                              UWord arg0, UWord arg1, UWord arg2 )
 {
    /* void *shmat(int shmid, const void *shmaddr, int shmflg); */
-   UInt  segmentSize = get_shm_size ( arg0 );
+   SizeT  segmentSize = get_shm_size ( arg0 );
    UWord tmp;
    Bool  ok;
    if (arg1 == 0) {
@@ -1768,7 +1790,7 @@
                               UWord res,
                               UWord arg0, UWord arg1, UWord arg2 )
 {
-   UInt segmentSize = VG_PGROUNDUP(get_shm_size(arg0));
+   SizeT segmentSize = VG_PGROUNDUP(get_shm_size(arg0));
    if ( segmentSize > 0 ) {
       UInt prot = VKI_PROT_READ|VKI_PROT_WRITE;
       Bool d;
@@ -1930,7 +1952,6 @@
    }
 }
 
-
 /* ---------------------------------------------------------------------
    Generic handler for mmap
    ------------------------------------------------------------------ */
@@ -2482,7 +2503,7 @@
 }
 
 // Pre_read a char** argument.
-static void pre_argv_envp(Addr a, ThreadId tid, Char* s1, Char* s2)
+static void pre_argv_envp(Addr a, ThreadId tid, const HChar* s1, const HChar* s2)
 {
    while (True) {
       Addr a_deref;
@@ -2518,11 +2539,11 @@
 // but it seems to work nonetheless...
 PRE(sys_execve)
 {
-   Char*        path = NULL;       /* path to executable */
-   Char**       envp = NULL;
-   Char**       argv = NULL;
-   Char**       arg2copy;
-   Char*        launcher_basename = NULL;
+   HChar*       path = NULL;       /* path to executable */
+   HChar**      envp = NULL;
+   HChar**      argv = NULL;
+   HChar**      arg2copy;
+   HChar*       launcher_basename = NULL;
    ThreadState* tst;
    Int          i, j, tot_args;
    SysRes       res;
@@ -2582,7 +2603,7 @@
    // ok, etc.  We allow setuid executables to run only in the case when
    // we are not simulating them, that is, they to be run natively.
    setuid_allowed = trace_this_child  ? False  : True;
-   res = VG_(pre_exec_check)((const Char*)ARG1, NULL, setuid_allowed);
+   res = VG_(pre_exec_check)((const HChar *)ARG1, NULL, setuid_allowed);
    if (sr_isError(res)) {
       SET_STATUS_Failure( sr_Err(res) );
       return;
@@ -2599,7 +2620,7 @@
    }
 
    /* After this point, we can't recover if the execve fails. */
-   VG_(debugLog)(1, "syswrap", "Exec of %s\n", (Char*)ARG1);
+   VG_(debugLog)(1, "syswrap", "Exec of %s\n", (HChar*)ARG1);
 
    
    // Terminate gdbserver if it is active.
@@ -2635,7 +2656,7 @@
       }
 
    } else {
-      path = (Char*)ARG1;
+      path = (HChar*)ARG1;
    }
 
    // Set up the child's environment.
@@ -2652,7 +2673,7 @@
    if (ARG3 == 0) {
       envp = NULL;
    } else {
-      envp = VG_(env_clone)( (Char**)ARG3 );
+      envp = VG_(env_clone)( (HChar**)ARG3 );
       if (envp == NULL) goto hosed;
       VG_(env_remove_valgrind_env_stuff)( envp );
    }
@@ -2671,7 +2692,7 @@
    // are omitted.
    //
    if (!trace_this_child) {
-      argv = (Char**)ARG2;
+      argv = (HChar**)ARG2;
    } else {
       vg_assert( VG_(args_for_valgrind) );
       vg_assert( VG_(args_for_valgrind_noexecpass) >= 0 );
@@ -2686,7 +2707,7 @@
       // name of client exe
       tot_args++;
       // args for client exe, skipping [0]
-      arg2copy = (Char**)ARG2;
+      arg2copy = (HChar**)ARG2;
       if (arg2copy && arg2copy[0]) {
          for (i = 1; arg2copy[i]; i++)
             tot_args++;
@@ -2703,7 +2724,7 @@
             continue;
          argv[j++] = * (HChar**) VG_(indexXA)( VG_(args_for_valgrind), i );
       }
-      argv[j++] = (Char*)ARG1;
+      argv[j++] = (HChar*)ARG1;
       if (arg2copy && arg2copy[0])
          for (i = 1; arg2copy[i]; i++)
             argv[j++] = arg2copy[i];
@@ -2761,7 +2782,7 @@
    }
 
    if (0) {
-      Char **cpp;
+      HChar **cpp;
       VG_(printf)("exec: %s\n", path);
       for (cpp = argv; cpp && *cpp; cpp++)
          VG_(printf)("argv: %s\n", *cpp);
@@ -3504,7 +3525,7 @@
       vg_assert(aseg);
 
       if (grows == VKI_PROT_GROWSDOWN) {
-         rseg = VG_(am_next_nsegment)( (NSegment*)aseg, False/*backwards*/ );
+         rseg = VG_(am_next_nsegment)( aseg, False/*backwards*/ );
          if (rseg &&
              rseg->kind == SkResvn &&
              rseg->smode == SmUpper &&
@@ -3517,7 +3538,7 @@
             SET_STATUS_Failure( VKI_EINVAL );
          }
       } else if (grows == VKI_PROT_GROWSUP) {
-         rseg = VG_(am_next_nsegment)( (NSegment*)aseg, True/*forwards*/ );
+         rseg = VG_(am_next_nsegment)( aseg, True/*forwards*/ );
          if (rseg &&
              rseg->kind == SkResvn &&
              rseg->smode == SmLower &&
@@ -3615,7 +3636,7 @@
       cloned fd back to the start. */
    {
       HChar  name[30];
-      Char*  arg1s = (Char*) ARG1;
+      HChar* arg1s = (HChar*) ARG1;
       SysRes sres;
 
       VG_(sprintf)(name, "/proc/%d/cmdline", VG_(getpid)());
@@ -3633,6 +3654,31 @@
          return;
       }
    }
+
+   /* Handle the case where the open is of /proc/self/auxv or
+      /proc/<pid>/auxv, and just give it a copy of the fd for the
+      fake file we cooked up at startup (in m_main).  Also, seek the
+      cloned fd back to the start. */
+   {
+      HChar  name[30];
+      HChar* arg1s = (HChar*) ARG1;
+      SysRes sres;
+
+      VG_(sprintf)(name, "/proc/%d/auxv", VG_(getpid)());
+      if (ML_(safe_to_deref)( arg1s, 1 ) &&
+          (VG_STREQ(arg1s, name) || VG_STREQ(arg1s, "/proc/self/auxv"))
+         )
+      {
+         sres = VG_(dup)( VG_(cl_auxv_fd) );
+         SET_STATUS_from_SysRes( sres );
+         if (!sr_isError(sres)) {
+            OffT off = VG_(lseek)( sr_Res(sres), 0, VKI_SEEK_SET );
+            if (off < 0)
+               SET_STATUS_Failure( VKI_EMFILE );
+         }
+         return;
+      }
+   }
 #endif // defined(VGO_linux)
 
    /* Otherwise handle normally */
@@ -3647,7 +3693,7 @@
       SET_STATUS_Failure( VKI_EMFILE );
    } else {
       if (VG_(clo_track_fds))
-         ML_(record_fd_open_with_given_name)(tid, RES, (Char*)ARG1);
+         ML_(record_fd_open_with_given_name)(tid, RES, (HChar*)ARG1);
    }
 }
 
@@ -3705,7 +3751,7 @@
       SET_STATUS_Failure( VKI_EMFILE );
    } else {
       if (VG_(clo_track_fds))
-         ML_(record_fd_open_with_given_name)(tid, RES, (Char*)ARG1);
+         ML_(record_fd_open_with_given_name)(tid, RES, (HChar*)ARG1);
    }
 }
 
@@ -3763,7 +3809,7 @@
        * /proc/<pid>/exe.
        */
       HChar name[25];
-      Char* arg1s = (Char*) ARG1;
+      HChar* arg1s = (HChar*) ARG1;
       VG_(sprintf)(name, "/proc/%d/exe", VG_(getpid)());
       if (ML_(safe_to_deref)(arg1s, 1) &&
           (VG_STREQ(arg1s, name) || VG_STREQ(arg1s, "/proc/self/exe"))
@@ -4192,4 +4238,3 @@
 /*--------------------------------------------------------------------*/
 /*--- end                                                          ---*/
 /*--------------------------------------------------------------------*/
-
diff --git a/coregrind/m_syswrap/syswrap-linux-variants.c b/coregrind/m_syswrap/syswrap-linux-variants.c
index 2c8d8c4..c516a08 100644
--- a/coregrind/m_syswrap/syswrap-linux-variants.c
+++ b/coregrind/m_syswrap/syswrap-linux-variants.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c
index 2d62343..039f8d4 100644
--- a/coregrind/m_syswrap/syswrap-linux.c
+++ b/coregrind/m_syswrap/syswrap-linux.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -47,6 +47,7 @@
 #include "pub_core_libcprint.h"
 #include "pub_core_libcproc.h"
 #include "pub_core_libcsignal.h"
+#include "pub_core_machine.h"      // VG_(get_SP)
 #include "pub_core_mallocfree.h"
 #include "pub_core_tooliface.h"
 #include "pub_core_options.h"
@@ -62,7 +63,7 @@
 #include "priv_types_n_macros.h"
 #include "priv_syswrap-generic.h"
 #include "priv_syswrap-linux.h"
-
+#include "priv_syswrap-xen.h"
 
 // Run a thread from beginning to end and return the thread's
 // scheduler-return-code.
@@ -222,13 +223,15 @@
          assembler. */
 #if defined(VGP_x86_linux)
       asm volatile (
+         "pushl %%ebx\n"
          "movl	%1, %0\n"	/* set tst->status = VgTs_Empty */
          "movl	%2, %%eax\n"    /* set %eax = __NR_exit */
          "movl	%3, %%ebx\n"    /* set %ebx = tst->os_state.exitcode */
          "int	$0x80\n"	/* exit(tst->os_state.exitcode) */
+	 "popl %%ebx\n"
          : "=m" (tst->status)
          : "n" (VgTs_Empty), "n" (__NR_exit), "m" (tst->os_state.exitcode)
-         : "eax", "ebx"
+         : "eax"
       );
 #elif defined(VGP_amd64_linux)
       asm volatile (
@@ -271,6 +274,17 @@
          : "d" (VgTs_Empty), "n" (__NR_exit), "m" (tst->os_state.exitcode)
          : "2"
       );
+#elif defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+      asm volatile (
+         "sw   %1, %0\n\t"     /* set tst->status = VgTs_Empty */
+         "li  	$2, %2\n\t"     /* set v0 = __NR_exit */
+         "lw   $4, %3\n\t"     /* set a0 = tst->os_state.exitcode */
+         "syscall\n\t"         /* exit(tst->os_state.exitcode) */
+         "nop"
+         : "=m" (tst->status)
+         : "r" (VgTs_Empty), "n" (__NR_exit), "m" (tst->os_state.exitcode)
+         : "cc", "memory" , "v0", "a0"
+      );
 #else
 # error Unknown platform
 #endif
@@ -414,7 +428,8 @@
       VG_(clone) stuff */
 #if defined(VGP_x86_linux) \
     || defined(VGP_ppc32_linux) || defined(VGP_ppc64_linux) \
-    || defined(VGP_arm_linux)
+    || defined(VGP_arm_linux) || defined(VGP_mips32_linux) \
+    || defined(VGP_mips64_linux)
    res = VG_(do_syscall5)( __NR_clone, flags, 
                            (UWord)NULL, (UWord)parent_tidptr, 
                            (UWord)NULL, (UWord)child_tidptr );
@@ -502,7 +517,7 @@
    // by 'data'.
    *flags |= SfMayBlock;
    PRINT("sys_mount( %#lx(%s), %#lx(%s), %#lx(%s), %#lx, %#lx )",
-         ARG1,(Char*)ARG1, ARG2,(Char*)ARG2, ARG3,(Char*)ARG3, ARG4, ARG5);
+         ARG1,(HChar*)ARG1, ARG2,(HChar*)ARG2, ARG3,(HChar*)ARG3, ARG4, ARG5);
    PRE_REG_READ5(long, "mount",
                  char *, source, char *, target, char *, type,
                  unsigned long, flags, void *, data);
@@ -996,9 +1011,20 @@
                     struct timespec *, utime, vki_u32 *, uaddr2);
       break;
    case VKI_FUTEX_WAIT_BITSET:
-      PRE_REG_READ6(long, "futex", 
-                    vki_u32 *, futex, int, op, int, val,
-                    struct timespec *, utime, int, dummy, int, val3);
+      /* Check that the address at least begins in client-accessible area. */
+      if (!VG_(am_is_valid_for_client)( ARG1, 1, VKI_PROT_READ )) {
+            SET_STATUS_Failure( VKI_EFAULT );
+            return;
+      }
+      if (*(vki_u32 *)ARG1 != ARG3) {
+         PRE_REG_READ5(long, "futex",
+                       vki_u32 *, futex, int, op, int, val,
+                       struct timespec *, utime, int, dummy);
+      } else {
+         PRE_REG_READ6(long, "futex",
+                       vki_u32 *, futex, int, op, int, val,
+                       struct timespec *, utime, int, dummy, int, val3);
+      }
       break;
    case VKI_FUTEX_WAKE_BITSET:
       PRE_REG_READ6(long, "futex", 
@@ -1842,7 +1868,7 @@
       SET_STATUS_Failure( VKI_EMFILE );
    } else {
       if (VG_(clo_track_fds))
-         ML_(record_fd_open_with_given_name)(tid, RES, (Char*)ARG1);
+         ML_(record_fd_open_with_given_name)(tid, RES, (HChar*)ARG1);
    }
 }
 
@@ -2187,8 +2213,9 @@
                  vki_cap_user_header_t, header, vki_cap_user_data_t, data);
    PRE_MEM_READ( "capget(header)", ARG1, 
                   sizeof(struct __vki_user_cap_header_struct) );
-   PRE_MEM_WRITE( "capget(data)", ARG2, 
-                  sizeof(struct __vki_user_cap_data_struct) );
+   if (ARG2 != (Addr)NULL)
+      PRE_MEM_WRITE( "capget(data)", ARG2, 
+                     sizeof(struct __vki_user_cap_data_struct) );
 }
 POST(sys_capget)
 {
@@ -2783,6 +2810,24 @@
       POST_MEM_WRITE( ARG3, sizeof(struct vki_getcpu_cache) );
 }
 
+PRE(sys_move_pages)
+{
+   PRINT("sys_move_pages ( %ld, %ld, %#lx, %#lx, %#lx, %lx )",
+         ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+   PRE_REG_READ6(int, "move_pages",
+                 vki_pid_t, pid, unsigned long, nr_pages, const void **, pages,
+                 const int *, nodes, int *, status, int, flags);
+   PRE_MEM_READ("move_pages(pages)", ARG3, ARG2 * sizeof(void *));
+   if (ARG4)
+      PRE_MEM_READ("move_pages(nodes)", ARG4, ARG2 * sizeof(int));
+   PRE_MEM_WRITE("move_pages(status)", ARG5, ARG2 * sizeof(int));
+}
+
+POST(sys_move_pages)
+{
+   POST_MEM_WRITE(ARG5, ARG2 * sizeof(int));
+}
+
 /* ---------------------------------------------------------------------
    utime wrapper
    ------------------------------------------------------------------ */
@@ -2851,7 +2896,8 @@
 // This wrapper is only suitable for 32-bit architectures.
 // (XXX: so how is it that PRE(sys_sigpending) above doesn't need
 // conditional compilation like this?)
-#if defined(VGP_x86_linux) || defined(VGP_ppc32_linux) || defined(VGP_arm_linux)
+#if defined(VGP_x86_linux) || defined(VGP_ppc32_linux) \
+    || defined(VGP_arm_linux) || defined(VGP_mips32_linux)
 PRE(sys_sigprocmask)
 {
    vki_old_sigset_t* set;
@@ -3244,6 +3290,888 @@
 }
 
 /* ---------------------------------------------------------------------
+   Generic handler for sys_ipc
+   Depending on the platform, some syscalls (e.g. semctl, semop, ...)
+   are either direct system calls, or are all implemented via sys_ipc.
+   ------------------------------------------------------------------ */
+#ifdef __NR_ipc
+static Addr deref_Addr ( ThreadId tid, Addr a, const HChar* s )
+{
+   Addr* a_p = (Addr*)a;
+   PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
+   return *a_p;
+}
+
+static Bool semctl_cmd_has_4args (UWord cmd)
+{
+   switch (cmd & ~VKI_IPC_64)
+   {
+   case VKI_IPC_INFO:
+   case VKI_SEM_INFO:
+   case VKI_IPC_STAT:
+   case VKI_SEM_STAT:
+   case VKI_IPC_SET:
+   case VKI_GETALL:
+   case VKI_SETALL:
+      return True;
+   default:
+      return False;
+   }
+}
+
+PRE(sys_ipc)
+{
+   PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )",
+         ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+
+   switch (ARG1 /* call */) {
+   case VKI_SEMOP:
+      PRE_REG_READ5(int, "ipc",
+                    vki_uint, call, int, first, int, second, int, third,
+                    void *, ptr);
+      ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
+      *flags |= SfMayBlock;
+      break;
+   case VKI_SEMGET:
+      PRE_REG_READ4(int, "ipc",
+                    vki_uint, call, int, first, int, second, int, third);
+      break;
+   case VKI_SEMCTL:
+   {
+      PRE_REG_READ5(int, "ipc",
+                    vki_uint, call, int, first, int, second, int, third,
+                    void *, ptr);
+      UWord arg;
+      if (semctl_cmd_has_4args(ARG4))
+         arg = deref_Addr( tid, ARG5, "semctl(arg)" );
+      else
+         arg = 0;
+      ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
+      break;
+   }
+   case VKI_SEMTIMEDOP:
+      PRE_REG_READ6(int, "ipc",
+                    vki_uint, call, int, first, int, second, int, third,
+                    void *, ptr, long, fifth);
+      ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
+      *flags |= SfMayBlock;
+      break;
+   case VKI_MSGSND:
+      PRE_REG_READ5(int, "ipc",
+                    vki_uint, call, int, first, int, second, int, third,
+                    void *, ptr);
+      ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
+      if ((ARG4 & VKI_IPC_NOWAIT) == 0)
+         *flags |= SfMayBlock;
+      break;
+   case VKI_MSGRCV:
+   {
+      PRE_REG_READ5(int, "ipc",
+                    vki_uint, call, int, first, int, second, int, third,
+                    void *, ptr);
+      Addr msgp;
+      Word msgtyp;
+ 
+      msgp = deref_Addr( tid, (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
+                         "msgrcv(msgp)" );
+      msgtyp = deref_Addr( tid, 
+                           (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
+                           "msgrcv(msgp)" );
+
+      ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
+
+      if ((ARG4 & VKI_IPC_NOWAIT) == 0)
+         *flags |= SfMayBlock;
+      break;
+   }
+   case VKI_MSGGET:
+      PRE_REG_READ3(int, "ipc", vki_uint, call, int, first, int, second);
+      break;
+   case VKI_MSGCTL:
+      PRE_REG_READ5(int, "ipc",
+                    vki_uint, call, int, first, int, second, int, third,
+                    void *, ptr);
+      ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
+      break;
+   case VKI_SHMAT:
+   {
+      PRE_REG_READ5(int, "ipc",
+                    vki_uint, call, int, first, int, second, int, third,
+                    void *, ptr);
+      UWord w;
+      PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
+      w = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
+      if (w == 0)
+         SET_STATUS_Failure( VKI_EINVAL );
+      else
+         ARG5 = w;
+      break;
+   }
+   case VKI_SHMDT:
+      PRE_REG_READ5(int, "ipc",
+                    vki_uint, call, int, first, int, second, int, third,
+                    void *, ptr);
+      if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
+	 SET_STATUS_Failure( VKI_EINVAL );
+      break;
+   case VKI_SHMGET:
+      PRE_REG_READ4(int, "ipc",
+                    vki_uint, call, int, first, int, second, int, third);
+      break;
+   case VKI_SHMCTL: /* IPCOP_shmctl */
+      PRE_REG_READ5(int, "ipc",
+                    vki_uint, call, int, first, int, second, int, third,
+                    void *, ptr);
+      ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
+      break;
+   default:
+      VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld\n", ARG1 );
+      VG_(core_panic)("... bye!\n");
+      break; /*NOTREACHED*/
+   }
+}
+
+POST(sys_ipc)
+{
+   vg_assert(SUCCESS);
+   switch (ARG1 /* call */) {
+   case VKI_SEMOP:
+   case VKI_SEMGET:
+      break;
+   case VKI_SEMCTL:
+   {
+      UWord arg;
+      if (semctl_cmd_has_4args(ARG4))
+         arg = deref_Addr( tid, ARG5, "semctl(arg)" );
+      else
+         arg = 0;
+      ML_(generic_POST_sys_semctl)( tid, RES, ARG2, ARG3, ARG4, arg );
+      break;
+   }
+   case VKI_SEMTIMEDOP:
+   case VKI_MSGSND:
+      break;
+   case VKI_MSGRCV:
+   {
+      Addr msgp;
+      Word msgtyp;
+
+      msgp = deref_Addr( tid,
+			 (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
+			 "msgrcv(msgp)" );
+      msgtyp = deref_Addr( tid,
+			   (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
+			   "msgrcv(msgp)" );
+
+      ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
+      break;
+   }
+   case VKI_MSGGET:
+      break;
+   case VKI_MSGCTL:
+      ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
+      break;
+   case VKI_SHMAT:
+   {
+      Addr addr;
+
+      /* force readability. before the syscall it is
+       * indeed uninitialized, as can be seen in
+       * glibc/sysdeps/unix/sysv/linux/shmat.c */
+      POST_MEM_WRITE( ARG4, sizeof( Addr ) );
+
+      addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
+      ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
+      break;
+   }
+   case VKI_SHMDT:
+      ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
+      break;
+   case VKI_SHMGET:
+      break;
+   case VKI_SHMCTL:
+      ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
+      break;
+   default:
+      VG_(message)(Vg_DebugMsg,
+		   "FATAL: unhandled syscall(ipc) %ld\n",
+		   ARG1 );
+      VG_(core_panic)("... bye!\n");
+      break; /*NOTREACHED*/
+   }
+}
+#endif
+
+PRE(sys_semget)
+{
+   PRINT("sys_semget ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "semget", vki_key_t, key, int, nsems, int, semflg);
+}
+
+PRE(sys_semop)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_semop ( %ld, %#lx, %lu )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "semop",
+                 int, semid, struct sembuf *, sops, unsigned, nsoops);
+   ML_(generic_PRE_sys_semop)(tid, ARG1,ARG2,ARG3);
+}
+
+PRE(sys_semctl)
+{
+   switch (ARG3 & ~VKI_IPC_64) {
+   case VKI_IPC_INFO:
+   case VKI_SEM_INFO:
+      PRINT("sys_semctl ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
+      PRE_REG_READ4(long, "semctl",
+                    int, semid, int, semnum, int, cmd, struct seminfo *, arg);
+      break;
+   case VKI_IPC_STAT:
+   case VKI_SEM_STAT:
+   case VKI_IPC_SET:
+      PRINT("sys_semctl ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
+      PRE_REG_READ4(long, "semctl",
+                    int, semid, int, semnum, int, cmd, struct semid_ds *, arg);
+      break;
+   case VKI_GETALL:
+   case VKI_SETALL:
+      PRINT("sys_semctl ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
+      PRE_REG_READ4(long, "semctl",
+                    int, semid, int, semnum, int, cmd, unsigned short *, arg);
+      break;
+   default:
+      PRINT("sys_semctl ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
+      PRE_REG_READ3(long, "semctl",
+                    int, semid, int, semnum, int, cmd);
+      break;
+   }
+#ifdef VGP_amd64_linux
+   ML_(generic_PRE_sys_semctl)(tid, ARG1,ARG2,ARG3|VKI_IPC_64,ARG4);
+#else
+   ML_(generic_PRE_sys_semctl)(tid, ARG1,ARG2,ARG3,ARG4);
+#endif
+}
+
+POST(sys_semctl)
+{
+#ifdef VGP_amd64_linux
+   ML_(generic_POST_sys_semctl)(tid, RES,ARG1,ARG2,ARG3|VKI_IPC_64,ARG4);
+#else
+   ML_(generic_POST_sys_semctl)(tid, RES,ARG1,ARG2,ARG3,ARG4);
+#endif
+}
+
+PRE(sys_semtimedop)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_semtimedop ( %ld, %#lx, %lu, %#lx )",ARG1,ARG2,ARG3,ARG4);
+   PRE_REG_READ4(long, "semtimedop",
+                 int, semid, struct sembuf *, sops, unsigned, nsoops,
+                 struct timespec *, timeout);
+   ML_(generic_PRE_sys_semtimedop)(tid, ARG1,ARG2,ARG3,ARG4);
+}
+
+PRE(sys_msgget)
+{
+   PRINT("sys_msgget ( %ld, %ld )",ARG1,ARG2);
+   PRE_REG_READ2(long, "msgget", vki_key_t, key, int, msgflg);
+}
+
+PRE(sys_msgsnd)
+{
+   PRINT("sys_msgsnd ( %ld, %#lx, %ld, %ld )",ARG1,ARG2,ARG3,ARG4);
+   PRE_REG_READ4(long, "msgsnd",
+                 int, msqid, struct msgbuf *, msgp, vki_size_t, msgsz, int, msgflg);
+   ML_(linux_PRE_sys_msgsnd)(tid, ARG1,ARG2,ARG3,ARG4);
+   if ((ARG4 & VKI_IPC_NOWAIT) == 0)
+      *flags |= SfMayBlock;
+}
+
+PRE(sys_msgrcv)
+{
+   PRINT("sys_msgrcv ( %ld, %#lx, %ld, %ld, %ld )",ARG1,ARG2,ARG3,ARG4,ARG5);
+   PRE_REG_READ5(long, "msgrcv",
+                 int, msqid, struct msgbuf *, msgp, vki_size_t, msgsz,
+                 long, msgytp, int, msgflg);
+   ML_(linux_PRE_sys_msgrcv)(tid, ARG1,ARG2,ARG3,ARG4,ARG5);
+   if ((ARG5 & VKI_IPC_NOWAIT) == 0)
+      *flags |= SfMayBlock;
+}
+POST(sys_msgrcv)
+{
+   ML_(linux_POST_sys_msgrcv)(tid, RES,ARG1,ARG2,ARG3,ARG4,ARG5);
+}
+
+PRE(sys_msgctl)
+{
+   PRINT("sys_msgctl ( %ld, %ld, %#lx )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "msgctl",
+                 int, msqid, int, cmd, struct msqid_ds *, buf);
+   ML_(linux_PRE_sys_msgctl)(tid, ARG1,ARG2,ARG3);
+}
+
+POST(sys_msgctl)
+{
+   ML_(linux_POST_sys_msgctl)(tid, RES,ARG1,ARG2,ARG3);
+}
+
+PRE(sys_shmget)
+{
+   PRINT("sys_shmget ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "shmget", vki_key_t, key, vki_size_t, size, int, shmflg);
+}
+
+PRE(wrap_sys_shmat)
+{
+   UWord arg2tmp;
+   PRINT("wrap_sys_shmat ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "shmat",
+                 int, shmid, const void *, shmaddr, int, shmflg);
+#if defined(VGP_arm_linux)
+   /* Round the attach address down to an VKI_SHMLBA boundary if the
+      client requested rounding.  See #222545.  This is necessary only
+      on arm-linux because VKI_SHMLBA is 4 * VKI_PAGE size; on all
+      other linux targets it is the same as the page size. */
+   if (ARG3 & VKI_SHM_RND)
+      ARG2 = VG_ROUNDDN(ARG2, VKI_SHMLBA);
+#endif
+   arg2tmp = ML_(generic_PRE_sys_shmat)(tid, ARG1,ARG2,ARG3);
+   if (arg2tmp == 0)
+      SET_STATUS_Failure( VKI_EINVAL );
+   else
+      ARG2 = arg2tmp;  // used in POST
+}
+
+POST(wrap_sys_shmat)
+{
+   ML_(generic_POST_sys_shmat)(tid, RES,ARG1,ARG2,ARG3);
+}
+
+PRE(sys_shmdt)
+{
+   PRINT("sys_shmdt ( %#lx )",ARG1);
+   PRE_REG_READ1(long, "shmdt", const void *, shmaddr);
+   if (!ML_(generic_PRE_sys_shmdt)(tid, ARG1))
+      SET_STATUS_Failure( VKI_EINVAL );
+}
+
+POST(sys_shmdt)
+{
+   ML_(generic_POST_sys_shmdt)(tid, RES,ARG1);
+}
+
+PRE(sys_shmctl)
+{
+   PRINT("sys_shmctl ( %ld, %ld, %#lx )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "shmctl",
+                 int, shmid, int, cmd, struct shmid_ds *, buf);
+#ifdef VGP_amd64_linux
+   ML_(generic_PRE_sys_shmctl)(tid, ARG1,ARG2|VKI_IPC_64,ARG3);
+#else
+   ML_(generic_PRE_sys_shmctl)(tid, ARG1,ARG2,ARG3);
+#endif
+}
+
+POST(sys_shmctl)
+{
+#ifdef VGP_amd64_linux
+   ML_(generic_POST_sys_shmctl)(tid, RES,ARG1,ARG2|VKI_IPC_64,ARG3);
+#else
+   ML_(generic_POST_sys_shmctl)(tid, RES,ARG1,ARG2,ARG3);
+#endif
+}
+
+
+/* ---------------------------------------------------------------------
+   Generic handler for sys_socketcall
+   Depending on the platform, some socket related syscalls (e.g. socketpair,
+   socket, bind, ...)
+   are either direct system calls, or are all implemented via sys_socketcall.
+   ------------------------------------------------------------------ */
+#ifdef __NR_socketcall
+PRE(sys_socketcall)
+{
+#  define ARG2_0  (((UWord*)ARG2)[0])
+#  define ARG2_1  (((UWord*)ARG2)[1])
+#  define ARG2_2  (((UWord*)ARG2)[2])
+#  define ARG2_3  (((UWord*)ARG2)[3])
+#  define ARG2_4  (((UWord*)ARG2)[4])
+#  define ARG2_5  (((UWord*)ARG2)[5])
+
+// call PRE_MEM_READ and check for EFAULT result.
+#define PRE_MEM_READ_ef(msg, arg, size)                         \
+   {                                                            \
+      PRE_MEM_READ( msg, arg, size);                            \
+      if (!ML_(valid_client_addr)(arg, size, tid, NULL)) {      \
+         SET_STATUS_Failure( VKI_EFAULT );                      \
+         break;                                                 \
+      }                                                         \
+   }
+
+   *flags |= SfMayBlock;
+   PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
+   PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
+
+   switch (ARG1 /* request */) {
+
+   case VKI_SYS_SOCKETPAIR:
+      /* int socketpair(int d, int type, int protocol, int sv[2]); */
+      PRE_MEM_READ_ef( "socketcall.socketpair(args)", ARG2, 4*sizeof(Addr) );
+      ML_(generic_PRE_sys_socketpair)( tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3 );
+      break;
+
+   case VKI_SYS_SOCKET:
+      /* int socket(int domain, int type, int protocol); */
+      PRE_MEM_READ_ef( "socketcall.socket(args)", ARG2, 3*sizeof(Addr) );
+      break;
+
+   case VKI_SYS_BIND:
+      /* int bind(int sockfd, struct sockaddr *my_addr, 
+                  int addrlen); */
+      PRE_MEM_READ_ef( "socketcall.bind(args)", ARG2, 3*sizeof(Addr) );
+      ML_(generic_PRE_sys_bind)( tid, ARG2_0, ARG2_1, ARG2_2 );
+      break;
+               
+   case VKI_SYS_LISTEN:
+      /* int listen(int s, int backlog); */
+      PRE_MEM_READ_ef( "socketcall.listen(args)", ARG2, 2*sizeof(Addr) );
+      break;
+
+   case VKI_SYS_ACCEPT:
+      /* int accept(int s, struct sockaddr *addr, int *addrlen); */
+      PRE_MEM_READ_ef( "socketcall.accept(args)", ARG2, 3*sizeof(Addr) );
+      ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
+      break;
+
+   case VKI_SYS_ACCEPT4:
+      /* int accept4(int s, struct sockaddr *addr, int *addrlen, int flags); */
+      PRE_MEM_READ_ef( "socketcall.accept4(args)", ARG2, 4*sizeof(Addr) );
+      ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
+      break;
+
+   case VKI_SYS_SENDTO:
+      /* int sendto(int s, const void *msg, int len, 
+                    unsigned int flags, 
+                    const struct sockaddr *to, int tolen); */
+      PRE_MEM_READ_ef( "socketcall.sendto(args)", ARG2, 6*sizeof(Addr) );
+      ML_(generic_PRE_sys_sendto)( tid, ARG2_0, ARG2_1, ARG2_2, 
+                                   ARG2_3, ARG2_4, ARG2_5 );
+      break;
+
+   case VKI_SYS_SEND:
+      /* int send(int s, const void *msg, size_t len, int flags); */
+      PRE_MEM_READ_ef( "socketcall.send(args)", ARG2, 4*sizeof(Addr) );
+      ML_(generic_PRE_sys_send)( tid, ARG2_0, ARG2_1, ARG2_2 );
+      break;
+
+   case VKI_SYS_RECVFROM:
+      /* int recvfrom(int s, void *buf, int len, unsigned int flags,
+         struct sockaddr *from, int *fromlen); */
+      PRE_MEM_READ_ef( "socketcall.recvfrom(args)", ARG2, 6*sizeof(Addr) );
+      ML_(generic_PRE_sys_recvfrom)( tid, ARG2_0, ARG2_1, ARG2_2, 
+                                     ARG2_3, ARG2_4, ARG2_5 );
+      break;
+   
+   case VKI_SYS_RECV:
+      /* int recv(int s, void *buf, int len, unsigned int flags); */
+      /* man 2 recv says:
+         The  recv call is normally used only on a connected socket
+         (see connect(2)) and is identical to recvfrom with a  NULL
+         from parameter.
+      */
+      PRE_MEM_READ_ef( "socketcall.recv(args)", ARG2, 4*sizeof(Addr) );
+      ML_(generic_PRE_sys_recv)( tid, ARG2_0, ARG2_1, ARG2_2 );
+      break;
+
+   case VKI_SYS_CONNECT:
+      /* int connect(int sockfd, 
+                     struct sockaddr *serv_addr, int addrlen ); */
+      PRE_MEM_READ_ef( "socketcall.connect(args)", ARG2, 3*sizeof(Addr) );
+      ML_(generic_PRE_sys_connect)( tid, ARG2_0, ARG2_1, ARG2_2 );
+      break;
+
+   case VKI_SYS_SETSOCKOPT:
+      /* int setsockopt(int s, int level, int optname, 
+                        const void *optval, int optlen); */
+      PRE_MEM_READ_ef( "socketcall.setsockopt(args)", ARG2, 5*sizeof(Addr) );
+      ML_(generic_PRE_sys_setsockopt)( tid, ARG2_0, ARG2_1, ARG2_2, 
+                                       ARG2_3, ARG2_4 );
+      break;
+
+   case VKI_SYS_GETSOCKOPT:
+      /* int getsockopt(int s, int level, int optname, 
+                        void *optval, socklen_t *optlen); */
+      PRE_MEM_READ_ef( "socketcall.getsockopt(args)", ARG2, 5*sizeof(Addr) );
+      ML_(linux_PRE_sys_getsockopt)( tid, ARG2_0, ARG2_1, ARG2_2, 
+                                     ARG2_3, ARG2_4 );
+      break;
+
+   case VKI_SYS_GETSOCKNAME:
+      /* int getsockname(int s, struct sockaddr* name, int* namelen) */
+      PRE_MEM_READ_ef( "socketcall.getsockname(args)", ARG2, 3*sizeof(Addr) );
+      ML_(generic_PRE_sys_getsockname)( tid, ARG2_0, ARG2_1, ARG2_2 );
+      break;
+
+   case VKI_SYS_GETPEERNAME:
+      /* int getpeername(int s, struct sockaddr* name, int* namelen) */
+      PRE_MEM_READ_ef( "socketcall.getpeername(args)", ARG2, 3*sizeof(Addr) );
+      ML_(generic_PRE_sys_getpeername)( tid, ARG2_0, ARG2_1, ARG2_2 );
+      break;
+
+   case VKI_SYS_SHUTDOWN:
+      /* int shutdown(int s, int how); */
+      PRE_MEM_READ_ef( "socketcall.shutdown(args)", ARG2, 2*sizeof(Addr) );
+      break;
+
+   case VKI_SYS_SENDMSG:
+      /* int sendmsg(int s, const struct msghdr *msg, int flags); */
+      PRE_MEM_READ_ef( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
+      ML_(generic_PRE_sys_sendmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
+      break;
+      
+   case VKI_SYS_RECVMSG:
+      /* int recvmsg(int s, struct msghdr *msg, int flags); */
+      PRE_MEM_READ_ef("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
+      ML_(generic_PRE_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
+      break;
+
+   default:
+      VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx\n",ARG1);
+      SET_STATUS_Failure( VKI_EINVAL );
+      break;
+   }
+#  undef ARG2_0
+#  undef ARG2_1
+#  undef ARG2_2
+#  undef ARG2_3
+#  undef ARG2_4
+#  undef ARG2_5
+}
+
+POST(sys_socketcall)
+{
+#  define ARG2_0  (((UWord*)ARG2)[0])
+#  define ARG2_1  (((UWord*)ARG2)[1])
+#  define ARG2_2  (((UWord*)ARG2)[2])
+#  define ARG2_3  (((UWord*)ARG2)[3])
+#  define ARG2_4  (((UWord*)ARG2)[4])
+#  define ARG2_5  (((UWord*)ARG2)[5])
+
+   SysRes r;
+   vg_assert(SUCCESS);
+   switch (ARG1 /* request */) {
+
+   case VKI_SYS_SOCKETPAIR:
+      r = ML_(generic_POST_sys_socketpair)( 
+             tid, VG_(mk_SysRes_Success)(RES), 
+             ARG2_0, ARG2_1, ARG2_2, ARG2_3 
+          );
+      SET_STATUS_from_SysRes(r);
+      break;
+
+   case VKI_SYS_SOCKET:
+      r = ML_(generic_POST_sys_socket)( tid, VG_(mk_SysRes_Success)(RES) );
+      SET_STATUS_from_SysRes(r);
+      break;
+
+   case VKI_SYS_BIND:
+      /* int bind(int sockfd, struct sockaddr *my_addr, 
+			int addrlen); */
+      break;
+               
+   case VKI_SYS_LISTEN:
+      /* int listen(int s, int backlog); */
+      break;
+
+   case VKI_SYS_ACCEPT:
+   case VKI_SYS_ACCEPT4:
+      /* int accept(int s, struct sockaddr *addr, int *addrlen); */
+      /* int accept4(int s, struct sockaddr *addr, int *addrlen, int flags); */
+     r = ML_(generic_POST_sys_accept)( tid, VG_(mk_SysRes_Success)(RES), 
+                                            ARG2_0, ARG2_1, ARG2_2 );
+     SET_STATUS_from_SysRes(r);
+     break;
+
+   case VKI_SYS_SENDTO:
+      break;
+
+   case VKI_SYS_SEND:
+      break;
+
+   case VKI_SYS_RECVFROM:
+      ML_(generic_POST_sys_recvfrom)( tid, VG_(mk_SysRes_Success)(RES),
+                                           ARG2_0, ARG2_1, ARG2_2,
+                                           ARG2_3, ARG2_4, ARG2_5 );
+      break;
+
+   case VKI_SYS_RECV:
+      ML_(generic_POST_sys_recv)( tid, RES, ARG2_0, ARG2_1, ARG2_2 );
+      break;
+
+   case VKI_SYS_CONNECT:
+      break;
+
+   case VKI_SYS_SETSOCKOPT:
+      break;
+
+   case VKI_SYS_GETSOCKOPT:
+      ML_(linux_POST_sys_getsockopt)( tid, VG_(mk_SysRes_Success)(RES),
+                                      ARG2_0, ARG2_1, 
+                                      ARG2_2, ARG2_3, ARG2_4 );
+      break;
+
+   case VKI_SYS_GETSOCKNAME:
+      ML_(generic_POST_sys_getsockname)( tid, VG_(mk_SysRes_Success)(RES),
+                                              ARG2_0, ARG2_1, ARG2_2 );
+      break;
+
+   case VKI_SYS_GETPEERNAME:
+      ML_(generic_POST_sys_getpeername)( tid, VG_(mk_SysRes_Success)(RES), 
+                                              ARG2_0, ARG2_1, ARG2_2 );
+      break;
+
+   case VKI_SYS_SHUTDOWN:
+      break;
+
+   case VKI_SYS_SENDMSG:
+      break;
+
+   case VKI_SYS_RECVMSG:
+      ML_(generic_POST_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1, RES );
+      break;
+
+   default:
+      VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx\n",ARG1);
+      VG_(core_panic)("... bye!\n");
+      break; /*NOTREACHED*/
+   }
+#  undef ARG2_0
+#  undef ARG2_1
+#  undef ARG2_2
+#  undef ARG2_3
+#  undef ARG2_4
+#  undef ARG2_5
+}
+#endif
+
+PRE(sys_socket)
+{
+   PRINT("sys_socket ( %ld, %ld, %ld )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "socket", int, domain, int, type, int, protocol);
+}
+POST(sys_socket)
+{
+   SysRes r;
+   vg_assert(SUCCESS);
+   r = ML_(generic_POST_sys_socket)(tid, VG_(mk_SysRes_Success)(RES));
+   SET_STATUS_from_SysRes(r);
+}
+
+PRE(sys_setsockopt)
+{
+   PRINT("sys_setsockopt ( %ld, %ld, %ld, %#lx, %ld )",ARG1,ARG2,ARG3,ARG4,ARG5);
+   PRE_REG_READ5(long, "setsockopt",
+                 int, s, int, level, int, optname,
+                 const void *, optval, int, optlen);
+   ML_(generic_PRE_sys_setsockopt)(tid, ARG1,ARG2,ARG3,ARG4,ARG5);
+}
+
+PRE(sys_getsockopt)
+{
+   PRINT("sys_getsockopt ( %ld, %ld, %ld, %#lx, %#lx )",ARG1,ARG2,ARG3,ARG4,ARG5);
+   PRE_REG_READ5(long, "getsockopt",
+                 int, s, int, level, int, optname,
+                 void *, optval, int, *optlen);
+   ML_(linux_PRE_sys_getsockopt)(tid, ARG1,ARG2,ARG3,ARG4,ARG5);
+}
+POST(sys_getsockopt)
+{
+   vg_assert(SUCCESS);
+   ML_(linux_POST_sys_getsockopt)(tid, VG_(mk_SysRes_Success)(RES),
+                                       ARG1,ARG2,ARG3,ARG4,ARG5);
+}
+
+PRE(sys_connect)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_connect ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "connect",
+                 int, sockfd, struct sockaddr *, serv_addr, int, addrlen);
+   ML_(generic_PRE_sys_connect)(tid, ARG1,ARG2,ARG3);
+}
+
+PRE(sys_accept)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_accept ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "accept",
+                 int, s, struct sockaddr *, addr, int, *addrlen);
+   ML_(generic_PRE_sys_accept)(tid, ARG1,ARG2,ARG3);
+}
+POST(sys_accept)
+{
+   SysRes r;
+   vg_assert(SUCCESS);
+   r = ML_(generic_POST_sys_accept)(tid, VG_(mk_SysRes_Success)(RES),
+                                         ARG1,ARG2,ARG3);
+   SET_STATUS_from_SysRes(r);
+}
+
+PRE(sys_accept4)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_accept4 ( %ld, %#lx, %ld, %ld )",ARG1,ARG2,ARG3,ARG4);
+   PRE_REG_READ4(long, "accept4",
+                 int, s, struct sockaddr *, addr, int, *addrlen, int, flags);
+   ML_(generic_PRE_sys_accept)(tid, ARG1,ARG2,ARG3);
+}
+POST(sys_accept4)
+{
+   SysRes r;
+   vg_assert(SUCCESS);
+   r = ML_(generic_POST_sys_accept)(tid, VG_(mk_SysRes_Success)(RES),
+                                         ARG1,ARG2,ARG3);
+   SET_STATUS_from_SysRes(r);
+}
+
+PRE(sys_send)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_send ( %ld, %#lx, %ld, %lu )",ARG1,ARG2,ARG3,ARG4);
+   PRE_REG_READ4(long, "send",
+                 int, s, const void *, msg, int, len, 
+                 unsigned int, flags);
+
+   ML_(generic_PRE_sys_send)( tid, ARG1, ARG2, ARG3 );
+}
+
+PRE(sys_sendto)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_sendto ( %ld, %#lx, %ld, %lu, %#lx, %ld )",ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+   PRE_REG_READ6(long, "sendto",
+                 int, s, const void *, msg, int, len, 
+                 unsigned int, flags, 
+                 const struct sockaddr *, to, int, tolen);
+   ML_(generic_PRE_sys_sendto)(tid, ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+}
+
+PRE (sys_recv) 
+{
+  *flags |= SfMayBlock;
+  PRINT ("sys_recv ( %ld, %#lx, %ld, %lu )", ARG1, ARG2, ARG3, ARG4);
+  PRE_REG_READ4 (long, "recv", int, s, void *, buf, int, len,
+                 unsigned int, flags);
+  ML_ (generic_PRE_sys_recv) (tid, ARG1, ARG2, ARG3);
+} 
+
+POST (sys_recv) 
+{
+  ML_ (generic_POST_sys_recv) (tid, RES, ARG1, ARG2, ARG3);
+} 
+
+PRE(sys_recvfrom)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_recvfrom ( %ld, %#lx, %ld, %lu, %#lx, %#lx )",ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+   PRE_REG_READ6(long, "recvfrom",
+                 int, s, void *, buf, int, len, unsigned int, flags,
+                 struct sockaddr *, from, int *, fromlen);
+   ML_(generic_PRE_sys_recvfrom)(tid, ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+}
+POST(sys_recvfrom)
+{
+   vg_assert(SUCCESS);
+   ML_(generic_POST_sys_recvfrom)(tid, VG_(mk_SysRes_Success)(RES),
+                                       ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+}
+
+PRE(sys_sendmsg)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_sendmsg ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "sendmsg",
+                 int, s, const struct msghdr *, msg, int, flags);
+   ML_(generic_PRE_sys_sendmsg)(tid, "msg", (struct vki_msghdr *)ARG2);
+}
+
+PRE(sys_recvmsg)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_recvmsg ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "recvmsg", int, s, struct msghdr *, msg, int, flags);
+   ML_(generic_PRE_sys_recvmsg)(tid, "msg", (struct vki_msghdr *)ARG2);
+}
+POST(sys_recvmsg)
+{
+   ML_(generic_POST_sys_recvmsg)(tid, "msg", (struct vki_msghdr *)ARG2, RES);
+}
+
+PRE(sys_shutdown)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_shutdown ( %ld, %ld )",ARG1,ARG2);
+   PRE_REG_READ2(int, "shutdown", int, s, int, how);
+}
+
+PRE(sys_bind)
+{
+   PRINT("sys_bind ( %ld, %#lx, %ld )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "bind",
+                 int, sockfd, struct sockaddr *, my_addr, int, addrlen);
+   ML_(generic_PRE_sys_bind)(tid, ARG1,ARG2,ARG3);
+}
+
+PRE(sys_listen)
+{
+   PRINT("sys_listen ( %ld, %ld )",ARG1,ARG2);
+   PRE_REG_READ2(long, "listen", int, s, int, backlog);
+}
+
+PRE(sys_getsockname)
+{
+   PRINT("sys_getsockname ( %ld, %#lx, %#lx )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "getsockname",
+                 int, s, struct sockaddr *, name, int *, namelen);
+   ML_(generic_PRE_sys_getsockname)(tid, ARG1,ARG2,ARG3);
+}
+POST(sys_getsockname)
+{
+   vg_assert(SUCCESS);
+   ML_(generic_POST_sys_getsockname)(tid, VG_(mk_SysRes_Success)(RES),
+                                          ARG1,ARG2,ARG3);
+}
+
+PRE(sys_getpeername)
+{
+   PRINT("sys_getpeername ( %ld, %#lx, %#lx )",ARG1,ARG2,ARG3);
+   PRE_REG_READ3(long, "getpeername",
+                 int, s, struct sockaddr *, name, int *, namelen);
+   ML_(generic_PRE_sys_getpeername)(tid, ARG1,ARG2,ARG3);
+}
+POST(sys_getpeername)
+{
+   vg_assert(SUCCESS);
+   ML_(generic_POST_sys_getpeername)(tid, VG_(mk_SysRes_Success)(RES),
+                                          ARG1,ARG2,ARG3);
+}
+
+PRE(sys_socketpair)
+{
+   PRINT("sys_socketpair ( %ld, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4);
+   PRE_REG_READ4(long, "socketpair",
+                 int, d, int, type, int, protocol, int*, sv);
+   ML_(generic_PRE_sys_socketpair)(tid, ARG1,ARG2,ARG3,ARG4);
+}
+POST(sys_socketpair)
+{
+   vg_assert(SUCCESS);
+   ML_(generic_POST_sys_socketpair)(tid, VG_(mk_SysRes_Success)(RES),
+                                         ARG1,ARG2,ARG3,ARG4);
+}
+
+
+/* ---------------------------------------------------------------------
    *at wrappers
    ------------------------------------------------------------------ */
 
@@ -3264,10 +4192,15 @@
                     int, dfd, const char *, filename, int, flags);
    }
 
-   if (ARG1 != VKI_AT_FDCWD && !ML_(fd_allowed)(ARG1, "openat", tid, False))
+   PRE_MEM_RASCIIZ( "openat(filename)", ARG2 );
+
+   /* For absolute filenames, dfd is ignored.  If dfd is AT_FDCWD,
+      filename is relative to cwd.  */
+   if (ML_(safe_to_deref)( (void*)ARG2, 1 )
+       && *(Char *)ARG2 != '/'
+       && ARG1 != VKI_AT_FDCWD
+       && !ML_(fd_allowed)(ARG1, "openat", tid, False))
       SET_STATUS_Failure( VKI_EBADF );
-   else
-      PRE_MEM_RASCIIZ( "openat(filename)", ARG2 );
 
    /* Handle the case where the open is of /proc/self/cmdline or
       /proc/<pid>/cmdline, and just give it a copy of the fd for the
@@ -3276,8 +4209,8 @@
 
    VG_(sprintf)(name, "/proc/%d/cmdline", VG_(getpid)());
    if (ML_(safe_to_deref)( (void*)ARG2, 1 )
-       && (VG_(strcmp)((Char *)ARG2, name) == 0 
-           || VG_(strcmp)((Char *)ARG2, "/proc/self/cmdline") == 0)) {
+       && (VG_(strcmp)((HChar *)ARG2, name) == 0 
+           || VG_(strcmp)((HChar *)ARG2, "/proc/self/cmdline") == 0)) {
       sres = VG_(dup)( VG_(cl_cmdline_fd) );
       SET_STATUS_from_SysRes( sres );
       if (!sr_isError(sres)) {
@@ -3288,6 +4221,22 @@
       return;
    }
 
+   /* Do the same for /proc/self/auxv or /proc/<pid>/auxv case. */
+
+   VG_(sprintf)(name, "/proc/%d/auxv", VG_(getpid)());
+   if (ML_(safe_to_deref)( (void*)ARG2, 1 )
+       && (VG_(strcmp)((HChar *)ARG2, name) == 0 
+           || VG_(strcmp)((HChar *)ARG2, "/proc/self/auxv") == 0)) {
+      sres = VG_(dup)( VG_(cl_auxv_fd) );
+      SET_STATUS_from_SysRes( sres );
+      if (!sr_isError(sres)) {
+         OffT off = VG_(lseek)( sr_Res(sres), 0, VKI_SEEK_SET );
+         if (off < 0)
+            SET_STATUS_Failure( VKI_EMFILE );
+      }
+      return;
+   }
+
    /* Otherwise handle normally */
    *flags |= SfMayBlock;
 }
@@ -3300,7 +4249,7 @@
       SET_STATUS_Failure( VKI_EMFILE );
    } else {
       if (VG_(clo_track_fds))
-         ML_(record_fd_open_with_given_name)(tid, RES, (Char*)ARG2);
+         ML_(record_fd_open_with_given_name)(tid, RES, (HChar*)ARG2);
    }
 }
 
@@ -3424,8 +4373,8 @@
     */
    VG_(sprintf)(name, "/proc/%d/exe", VG_(getpid)());
    if (ML_(safe_to_deref)((void*)ARG2, 1)
-       && (VG_(strcmp)((Char *)ARG2, name) == 0 
-           || VG_(strcmp)((Char *)ARG2, "/proc/self/exe") == 0)) {
+       && (VG_(strcmp)((HChar *)ARG2, name) == 0 
+           || VG_(strcmp)((HChar *)ARG2, "/proc/self/exe") == 0)) {
       VG_(sprintf)(name, "/proc/self/fd/%d", VG_(cl_exec_fd));
       SET_STATUS_from_SysRes( VG_(do_syscall4)(saved, ARG1, (UWord)name, 
                                                       ARG3, ARG4));
@@ -3454,6 +4403,24 @@
    PRE_MEM_RASCIIZ( "faccessat(pathname)", ARG2 );
 }
 
+PRE(sys_name_to_handle_at)
+{
+   PRINT("sys_name_to_handle_at ( %ld, %#lx(%s), %#lx, %#lx, %ld )", ARG1, ARG2, (char*)ARG2, ARG3, ARG4, ARG5);
+   PRE_REG_READ5(int, "name_to_handle_at",
+                 int, dfd, const char *, name,
+                 struct vki_file_handle, handle,
+                 int *, mnt_id, int, flag);
+   PRE_MEM_RASCIIZ( "name_to_handle_at(name)", ARG2 );
+   PRE_MEM_WRITE( "name_to_handle_at(handle)", ARG3, sizeof(struct vki_file_handle) + ((struct vki_file_handle*)ARG3)->handle_bytes );
+   PRE_MEM_WRITE( "name_to_handle_at(mnt_id)", ARG4, sizeof(int) );
+}
+
+POST(sys_name_to_handle_at)
+{
+   POST_MEM_WRITE( ARG3, sizeof(struct vki_file_handle) + ((struct vki_file_handle*)ARG3)->handle_bytes );
+   POST_MEM_WRITE( ARG4, sizeof(int) );
+}
+
 /* ---------------------------------------------------------------------
    p{read,write}v wrappers
    ------------------------------------------------------------------ */
@@ -3623,7 +4590,7 @@
 PRE(sys_sendmmsg)
 {
    struct vki_mmsghdr *mmsg = (struct vki_mmsghdr *)ARG2;
-   Char name[32];
+   HChar name[32];
    UInt i;
    *flags |= SfMayBlock;
    PRINT("sys_sendmmsg ( %ld, %#lx, %ld, %ld )",ARG1,ARG2,ARG3,ARG4);
@@ -3651,7 +4618,7 @@
 PRE(sys_recvmmsg)
 {
    struct vki_mmsghdr *mmsg = (struct vki_mmsghdr *)ARG2;
-   Char name[32];
+   HChar name[32];
    UInt i;
    *flags |= SfMayBlock;
    PRINT("sys_recvmmsg ( %ld, %#lx, %ld, %ld, %#lx )",ARG1,ARG2,ARG3,ARG4,ARG5);
@@ -3672,7 +4639,7 @@
 {
    if (RES > 0) {
       struct vki_mmsghdr *mmsg = (struct vki_mmsghdr *)ARG2;
-      Char name[32];
+      HChar name[32];
       UInt i;
       for (i = 0; i < RES; i++) {
          VG_(sprintf)(name, "mmsg[%u].msg_hdr", i);
@@ -3896,7 +4863,7 @@
    *flags |= SfMayBlock;
    PRINT("sys_splice ( %ld, %#lx, %ld, %#lx, %ld, %ld )",
          ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-   PRE_REG_READ6(int32_t, "splice",
+   PRE_REG_READ6(vki_ssize_t, "splice",
                  int, fd_in, vki_loff_t *, off_in,
                  int, fd_out, vki_loff_t *, off_out,
                  vki_size_t, len, unsigned int, flags);
@@ -3911,6 +4878,64 @@
    }
 }
 
+PRE(sys_tee)
+{
+   *flags |= SfMayBlock;
+   PRINT("sys_tree ( %ld, %ld, %ld, %ld )", ARG1,ARG2,ARG3,ARG4);
+   PRE_REG_READ4(vki_ssize_t, "tee",
+                 int, fd_in, int, fd_out,
+                 vki_size_t, len, unsigned int, flags);
+   if (!ML_(fd_allowed)(ARG1, "tee(fd_in)", tid, False) ||
+       !ML_(fd_allowed)(ARG2, "tee(fd_out)", tid, False)) {
+      SET_STATUS_Failure( VKI_EBADF );
+   }
+}
+
+PRE(sys_vmsplice)
+{
+   Int fdfl;
+   *flags |= SfMayBlock;
+   PRINT("sys_vmsplice ( %ld, %#lx, %ld, %ld )",
+         ARG1,ARG2,ARG3,ARG4);
+   PRE_REG_READ4(vki_ssize_t, "splice",
+                 int, fd, struct vki_iovec *, iov,
+                 unsigned long, nr_segs, unsigned int, flags);
+   if (!ML_(fd_allowed)(ARG1, "vmsplice(fd)", tid, False)) {
+      SET_STATUS_Failure( VKI_EBADF );
+   } else if ((fdfl = VG_(fcntl)(ARG1, VKI_F_GETFL, 0)) < 0) {
+      SET_STATUS_Failure( VKI_EBADF );
+   } else {
+      const struct vki_iovec *iov;
+      PRE_MEM_READ( "vmsplice(iov)", ARG2, sizeof(struct vki_iovec) * ARG3 );
+      for (iov = (struct vki_iovec *)ARG2;
+           iov < (struct vki_iovec *)ARG2 + ARG3; iov++) 
+      {
+         if ((fdfl & VKI_O_ACCMODE) == VKI_O_RDONLY)
+            PRE_MEM_WRITE( "vmsplice(iov[...])", (Addr)iov->iov_base, iov->iov_len );
+         else
+            PRE_MEM_READ( "vmsplice(iov[...])", (Addr)iov->iov_base, iov->iov_len );
+      }
+   }
+}
+
+POST(sys_vmsplice)
+{
+   vg_assert(SUCCESS);
+   if (RES > 0) {
+      Int fdfl = VG_(fcntl)(ARG1, VKI_F_GETFL, 0);
+      vg_assert(fdfl >= 0);
+      if ((fdfl & VKI_O_ACCMODE) == VKI_O_RDONLY)
+      {
+         const struct vki_iovec *iov;
+         for (iov = (struct vki_iovec *)ARG2;
+              iov < (struct vki_iovec *)ARG2 + ARG3; iov++) 
+         {
+            POST_MEM_WRITE( (Addr)iov->iov_base, iov->iov_len );
+         }
+      }
+   }
+}
+
 /* ---------------------------------------------------------------------
    oprofile-related wrappers
    ------------------------------------------------------------------ */
@@ -3990,7 +5015,7 @@
    case VKI_F_GETLK:
    case VKI_F_SETLK:
    case VKI_F_SETLKW:
-#  if defined(VGP_x86_linux)
+#  if defined(VGP_x86_linux) || defined(VGP_mips64_linux)
    case VKI_F_GETLK64:
    case VKI_F_SETLK64:
    case VKI_F_SETLKW64:
@@ -4180,6 +5205,21 @@
       /* SCSI no operand */
    case VKI_SCSI_IOCTL_DOORLOCK:
    case VKI_SCSI_IOCTL_DOORUNLOCK:
+      
+   /* KVM ioctls that dont check for a numeric value as parameter */
+   case VKI_KVM_S390_ENABLE_SIE:
+   case VKI_KVM_S390_INITIAL_RESET:
+
+   /* vhost without parameter */
+   case VKI_VHOST_SET_OWNER:
+   case VKI_VHOST_RESET_OWNER:
+
+   /* User input device creation */
+   case VKI_UI_DEV_CREATE:
+   case VKI_UI_DEV_DESTROY:
+
+   /* InfiniBand */
+   case VKI_IB_USER_MAD_ENABLE_PKEY:
       PRINT("sys_ioctl ( %ld, 0x%lx )",ARG1,ARG2);
       PRE_REG_READ2(long, "ioctl",
                     unsigned int, fd, unsigned int, request);
@@ -4454,6 +5494,13 @@
                      (Addr)&((struct vki_ifreq *)ARG3)->ifr_map,
                      sizeof(((struct vki_ifreq *)ARG3)->ifr_map) );
       break;
+   case VKI_SIOCSHWTSTAMP:       /* Set hardware time stamping   */
+      PRE_MEM_RASCIIZ( "ioctl(SIOCSHWTSTAMP)",
+                     (Addr)((struct vki_ifreq *)ARG3)->vki_ifr_name );
+      PRE_MEM_READ( "ioctl(SIOCSHWTSTAMP)",
+                     (Addr)((struct vki_ifreq *)ARG3)->vki_ifr_data,
+                     sizeof(struct vki_hwtstamp_config) );
+      break;
    case VKI_SIOCSIFTXQLEN:       /* Set the tx queue length      */
       PRE_MEM_RASCIIZ( "ioctl(SIOCSIFTXQLEN)",
                      (Addr)((struct vki_ifreq *)ARG3)->vki_ifr_name );
@@ -4512,6 +5559,23 @@
 		    sizeof(struct vki_rtentry));
       break;
 
+      /* tun/tap related ioctls */
+   case VKI_TUNSETIFF:
+      PRE_MEM_RASCIIZ( "ioctl(TUNSETIFF)",
+                     (Addr)((struct vki_ifreq *)ARG3)->vki_ifr_name );
+      PRE_MEM_READ( "ioctl(TUNSETIFF)",
+                     (Addr)&((struct vki_ifreq *)ARG3)->vki_ifr_flags,
+                     sizeof(((struct vki_ifreq *)ARG3)->vki_ifr_flags) );
+      PRE_MEM_WRITE( "ioctl(TUNSETIFF)", ARG3, 
+		     sizeof(struct vki_ifreq));
+      break;
+   case VKI_TUNSETOFFLOAD:
+      break; 
+   case VKI_TUNGETIFF:
+      PRE_MEM_WRITE( "ioctl(TUNGETIFF)", ARG3, 
+		     sizeof(struct vki_ifreq));
+      break;
+
       /* RARP cache control calls. */
    case VKI_SIOCDRARP:           /* delete RARP table entry      */
    case VKI_SIOCSRARP:           /* set RARP table entry         */
@@ -4652,6 +5716,9 @@
    case VKI_BLKGETSIZE64:
       PRE_MEM_WRITE( "ioctl(BLKGETSIZE64)", ARG3, sizeof(unsigned long long));
       break;
+   case VKI_BLKPBSZGET:
+      PRE_MEM_WRITE( "ioctl(BLKPBSZGET)", ARG3, sizeof(int));
+      break;
 
       /* Hard disks */
    case VKI_HDIO_GETGEO: /* 0x0301 */
@@ -4736,6 +5803,8 @@
    case VKI_CDROM_DRIVE_STATUS: /* 0x5326 */
    case VKI_CDROM_CLEAR_OPTIONS: /* 0x5321 */
       break;
+   case VKI_CDROM_GET_CAPABILITY: /* 0x5331 */
+      break;
 
    case VKI_FIGETBSZ:
       PRE_MEM_WRITE( "ioctl(FIGETBSZ)", ARG3, sizeof(unsigned long));
@@ -5306,7 +6375,21 @@
       }
       break;
 
-#  if defined(VGPV_arm_linux_android)
+  /* User input device creation */
+  case VKI_UI_SET_EVBIT:
+  case VKI_UI_SET_KEYBIT:
+  case VKI_UI_SET_RELBIT:
+  case VKI_UI_SET_ABSBIT:
+  case VKI_UI_SET_MSCBIT:
+  case VKI_UI_SET_LEDBIT:
+  case VKI_UI_SET_SNDBIT:
+  case VKI_UI_SET_FFBIT:
+  case VKI_UI_SET_SWBIT:
+  case VKI_UI_SET_PROPBIT:
+      /* These just take an int by value */
+      break;
+
+#  if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
    /* ashmem */
    case VKI_ASHMEM_GET_SIZE:
    case VKI_ASHMEM_SET_SIZE:
@@ -5372,7 +6455,7 @@
            PRE_FIELD_WRITE("ioctl(BINDER_VERSION)", bv->protocol_version);
        }
        break;
-#  endif /* defined(VGPV_arm_linux_android) */
+#  endif /* defined(VGPV_*_linux_android) */
 
    case VKI_HCIINQUIRY:
       if (ARG3) {
@@ -5384,6 +6467,82 @@
                        ir->num_rsp * sizeof(struct vki_inquiry_info));
       }
       break;
+      
+   /* KVM ioctls that check for a numeric value as parameter */
+   case VKI_KVM_GET_API_VERSION:
+   case VKI_KVM_CREATE_VM:
+   case VKI_KVM_GET_VCPU_MMAP_SIZE:
+   case VKI_KVM_CHECK_EXTENSION:
+   case VKI_KVM_CREATE_VCPU:
+   case VKI_KVM_RUN:
+      break;
+
+#ifdef ENABLE_XEN
+   case VKI_XEN_IOCTL_PRIVCMD_HYPERCALL: {
+      SyscallArgs harrghs;
+      struct vki_xen_privcmd_hypercall *args =
+         (struct vki_xen_privcmd_hypercall *)(ARG3);
+
+      if (!args)
+         break;
+
+      VG_(memset)(&harrghs, 0, sizeof(harrghs));
+      harrghs.sysno = args->op;
+      harrghs.arg1 = args->arg[0];
+      harrghs.arg2 = args->arg[1];
+      harrghs.arg3 = args->arg[2];
+      harrghs.arg4 = args->arg[3];
+      harrghs.arg5 = args->arg[4];
+      harrghs.arg6 = harrghs.arg7 = harrghs.arg8 = 0;
+
+      WRAPPER_PRE_NAME(xen, hypercall) (tid, layout, &harrghs, status, flags);
+
+      /* HACK. arg8 is used to return the number of hypercall
+       * arguments actually consumed! */
+      PRE_MEM_READ("hypercall", ARG3, sizeof(args->op) +
+                   ( sizeof(args->arg[0]) * harrghs.arg8 ) );
+
+      break;
+   }
+
+   case VKI_XEN_IOCTL_PRIVCMD_MMAP: {
+       struct vki_xen_privcmd_mmap *args =
+           (struct vki_xen_privcmd_mmap *)(ARG3);
+       PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAP(num)",
+                    (Addr)&args->num, sizeof(args->num));
+       PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAP(dom)",
+                    (Addr)&args->dom, sizeof(args->dom));
+       PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAP(entry)",
+                    (Addr)args->entry, sizeof(*(args->entry)) * args->num);
+      break;
+   }
+   case VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH: {
+       struct vki_xen_privcmd_mmapbatch *args =
+           (struct vki_xen_privcmd_mmapbatch *)(ARG3);
+       PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH(num)",
+                    (Addr)&args->num, sizeof(args->num));
+       PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH(dom)",
+                    (Addr)&args->dom, sizeof(args->dom));
+       PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH(addr)",
+                    (Addr)&args->addr, sizeof(args->addr));
+       PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH(arr)",
+                    (Addr)args->arr, sizeof(*(args->arr)) * args->num);
+      break;
+   }
+   case VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH_V2: {
+       struct vki_xen_privcmd_mmapbatch_v2 *args =
+           (struct vki_xen_privcmd_mmapbatch_v2 *)(ARG3);
+       PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH_V2(num)",
+                    (Addr)&args->num, sizeof(args->num));
+       PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH_V2(dom)",
+                    (Addr)&args->dom, sizeof(args->dom));
+       PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH_V2(addr)",
+                    (Addr)&args->addr, sizeof(args->addr));
+       PRE_MEM_READ("VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH_V2(arr)",
+                    (Addr)args->arr, sizeof(*(args->arr)) * args->num);
+      break;
+   }
+#endif
 
    default:
       /* EVIOC* are variable length and return size written on success */
@@ -5423,7 +6582,7 @@
 
    /* --- BEGIN special IOCTL handlers for specific Android hardware --- */
 
-#  if defined(VGPV_arm_linux_android)
+#  if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
 
 #  if defined(ANDROID_HARDWARE_nexus_s)
 
@@ -5485,11 +6644,11 @@
    /* END Nexus S specific ioctls */
 
 
-#  elif defined(ANDROID_HARDWARE_pandaboard)
+#  elif defined(ANDROID_HARDWARE_generic) || defined(ANDROID_HARDWARE_emulator)
 
-   /* BEGIN Pandaboard specific ioctls */
+   /* BEGIN generic/emulator specific ioctls */
    /* currently none are known */
-   /* END Pandaboard specific ioctls */
+   /* END generic/emulator specific ioctls */
 
 
 #  else /* no ANDROID_HARDWARE_anything defined */
@@ -5500,7 +6659,8 @@
 #   warning "building for.  Currently known values are"
 #   warning ""
 #   warning "   ANDROID_HARDWARE_nexus_s       Samsung Nexus S"
-#   warning "   ANDROID_HARDWARE_pandaboard    Pandaboard running Linaro Android"
+#   warning "   ANDROID_HARDWARE_generic       Generic device (eg, Pandaboard)"
+#   warning "   ANDROID_HARDWARE_emulator      x86 or arm emulator"
 #   warning ""
 #   warning "Make sure you exactly follow the steps in README.android."
 #   warning ""
@@ -5508,7 +6668,7 @@
 
 #  endif /* cases for ANDROID_HARDWARE_blah */
 
-#  endif /* defined(VGPV_arm_linux_android) */
+#  endif /* defined(VGPV_*_linux_android) */
 
    /* --- END special IOCTL handlers for specific Android hardware --- */
 
@@ -5517,6 +6677,7 @@
    case VKI_TCSETS:
    case VKI_TCSETSW:
    case VKI_TCSETSF:
+   case VKI_IB_USER_MAD_ENABLE_PKEY:
       break; 
    case VKI_TCGETS:
       POST_MEM_WRITE( ARG3, sizeof(struct vki_termios) );
@@ -5670,6 +6831,19 @@
                 (Addr)&((struct vki_mii_ioctl_data *)&((struct vki_ifreq *)ARG3)->vki_ifr_data)->val_out,
                 sizeof(((struct vki_mii_ioctl_data *)&((struct vki_ifreq *)ARG3)->vki_ifr_data)->val_out) );
       break;
+
+      /* tun/tap related ioctls */
+   case VKI_TUNSETIFF:
+      POST_MEM_WRITE( (Addr)&((struct vki_ifreq *)ARG3)->vki_ifr_name,
+                      sizeof(((struct vki_ifreq *)ARG3)->vki_ifr_name) );
+      break;
+   case VKI_TUNGETIFF:
+      POST_MEM_WRITE( (Addr)&((struct vki_ifreq *)ARG3)->vki_ifr_name,
+                      sizeof(((struct vki_ifreq *)ARG3)->vki_ifr_name) );
+      POST_MEM_WRITE( (Addr)&((struct vki_ifreq *)ARG3)->vki_ifr_flags,
+                      sizeof(((struct vki_ifreq *)ARG3)->vki_ifr_flags) );
+      break;
+
    case VKI_SIOCGIFCONF:         /* get iface list               */
       /* WAS:
 	 PRE_MEM_WRITE("ioctl(SIOCGIFCONF)", ARG3, sizeof(struct ifconf));
@@ -5703,6 +6877,7 @@
                     
    case VKI_SIOCSIFFLAGS:        /* set flags                    */
    case VKI_SIOCSIFMAP:          /* Set device parameters        */
+   case VKI_SIOCSHWTSTAMP:       /* Set hardware time stamping   */
    case VKI_SIOCSIFTXQLEN:       /* Set the tx queue length      */
    case VKI_SIOCSIFDSTADDR:      /* set remote PA address        */
    case VKI_SIOCSIFBRDADDR:      /* set broadcast PA address     */
@@ -5858,6 +7033,9 @@
    case VKI_BLKGETSIZE64:
       POST_MEM_WRITE(ARG3, sizeof(unsigned long long));
       break;
+   case VKI_BLKPBSZGET:
+      POST_MEM_WRITE(ARG3, sizeof(int));
+      break;
 
       /* Hard disks */
    case VKI_HDIO_GETGEO: /* 0x0301 */
@@ -5911,6 +7089,8 @@
    case VKI_CDROM_DRIVE_STATUS: /* 0x5326 */
    case VKI_CDROM_CLEAR_OPTIONS: /* 0x5321 */
       break;
+   case VKI_CDROM_GET_CAPABILITY: /* 0x5331 */
+      break;
 
    case VKI_FIGETBSZ:
       POST_MEM_WRITE(ARG3, sizeof(unsigned long));
@@ -6316,7 +7496,7 @@
       }
       break;
 
-#  if defined(VGPV_arm_linux_android)
+#  if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
    /* ashmem */
    case VKI_ASHMEM_GET_SIZE:
    case VKI_ASHMEM_SET_SIZE:
@@ -6357,7 +7537,7 @@
            POST_FIELD_WRITE(bv->protocol_version);
        }
        break;
-#  endif /* defined(VGPV_arm_linux_android) */
+#  endif /* defined(VGPV_*_linux_android) */
 
    case VKI_HCIINQUIRY:
       if (ARG3) {
@@ -6367,6 +7547,55 @@
       }
       break;
 
+   /* KVM ioctls that only write the system call return value */
+   case VKI_KVM_GET_API_VERSION:
+   case VKI_KVM_CREATE_VM:
+   case VKI_KVM_CHECK_EXTENSION:
+   case VKI_KVM_GET_VCPU_MMAP_SIZE:
+   case VKI_KVM_S390_ENABLE_SIE:
+   case VKI_KVM_CREATE_VCPU:
+   case VKI_KVM_RUN:
+   case VKI_KVM_S390_INITIAL_RESET:
+      break;
+
+#ifdef ENABLE_XEN
+   case VKI_XEN_IOCTL_PRIVCMD_HYPERCALL: {
+      SyscallArgs harrghs;
+      struct vki_xen_privcmd_hypercall *args =
+         (struct vki_xen_privcmd_hypercall *)(ARG3);
+
+      if (!args)
+         break;
+
+      VG_(memset)(&harrghs, 0, sizeof(harrghs));
+      harrghs.sysno = args->op;
+      harrghs.arg1 = args->arg[0];
+      harrghs.arg2 = args->arg[1];
+      harrghs.arg3 = args->arg[2];
+      harrghs.arg4 = args->arg[3];
+      harrghs.arg5 = args->arg[4];
+      harrghs.arg6 = harrghs.arg7 = harrghs.arg8 = 0;
+
+      WRAPPER_POST_NAME(xen, hypercall) (tid, &harrghs, status);
+      break;
+   };
+
+   case VKI_XEN_IOCTL_PRIVCMD_MMAP:
+      break;
+   case VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH: {
+       struct vki_xen_privcmd_mmapbatch *args =
+           (struct vki_xen_privcmd_mmapbatch *)(ARG3);
+       POST_MEM_WRITE((Addr)args->arr, sizeof(*(args->arr)) * args->num);
+      }
+      break;
+   case VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH_V2: {
+       struct vki_xen_privcmd_mmapbatch_v2 *args =
+           (struct vki_xen_privcmd_mmapbatch_v2 *)(ARG3);
+       POST_MEM_WRITE((Addr)args->err, sizeof(*(args->err)) * args->num);
+      }
+      break;
+#endif
+
    default:
       /* EVIOC* are variable length and return size written on success */
       switch (ARG2 & ~(_VKI_IOC_SIZEMASK << _VKI_IOC_SIZESHIFT)) {
@@ -6466,6 +7695,46 @@
    }
 }
 
+/* ---------------------------------------------------------------------
+   ptrace wrapper helpers
+   ------------------------------------------------------------------ */
+
+void
+ML_(linux_PRE_getregset) ( ThreadId tid, long arg3, long arg4 )
+{
+   struct vki_iovec *iov = (struct vki_iovec *) arg4;
+
+   PRE_MEM_READ("ptrace(getregset iovec->iov_base)",
+		(unsigned long) &iov->iov_base, sizeof(iov->iov_base));
+   PRE_MEM_READ("ptrace(getregset iovec->iov_len)",
+		(unsigned long) &iov->iov_len, sizeof(iov->iov_len));
+   PRE_MEM_WRITE("ptrace(getregset *(iovec->iov_base))",
+		 (unsigned long) iov->iov_base, iov->iov_len);
+}
+
+void
+ML_(linux_PRE_setregset) ( ThreadId tid, long arg3, long arg4 )
+{
+   struct vki_iovec *iov = (struct vki_iovec *) arg4;
+
+   PRE_MEM_READ("ptrace(setregset iovec->iov_base)",
+		(unsigned long) &iov->iov_base, sizeof(iov->iov_base));
+   PRE_MEM_READ("ptrace(setregset iovec->iov_len)",
+		(unsigned long) &iov->iov_len, sizeof(iov->iov_len));
+   PRE_MEM_READ("ptrace(setregset *(iovec->iov_base))",
+		(unsigned long) iov->iov_base, iov->iov_len);
+}
+
+void
+ML_(linux_POST_getregset) ( ThreadId tid, long arg3, long arg4 )
+{
+   struct vki_iovec *iov = (struct vki_iovec *) arg4;
+
+   /* XXX: The actual amount of data written by the kernel might be
+      less than iov_len, depending on the regset (arg3). */
+   POST_MEM_WRITE((unsigned long) iov->iov_base, iov->iov_len);
+}
+
 #undef PRE
 #undef POST
 
diff --git a/coregrind/m_syswrap/syswrap-main.c b/coregrind/m_syswrap/syswrap-main.c
index 991e009..2dbbaa1 100644
--- a/coregrind/m_syswrap/syswrap-main.c
+++ b/coregrind/m_syswrap/syswrap-main.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -68,6 +68,8 @@
    ppc32  r0    r3   r4   r5   r6   r7   r8   n/a  n/a  r3+CR0.SO (== ARG1)
    ppc64  r0    r3   r4   r5   r6   r7   r8   n/a  n/a  r3+CR0.SO (== ARG1)
    arm    r7    r0   r1   r2   r3   r4   r5   n/a  n/a  r0        (== ARG1)
+   mips32 v0    a0   a1   a2   a3 stack stack n/a  n/a  v0        (== NUM)
+   mips64 v0    a0   a1   a2   a3   a4   a5   a6   a7   v0        (== NUM)
 
    On s390x the svc instruction is used for system calls. The system call
    number is encoded in the instruction (8 bit immediate field). Since Linux
@@ -462,6 +464,39 @@
    canonical->arg7  = 0;
    canonical->arg8  = 0;
 
+#elif defined(VGP_mips32_linux)
+   VexGuestMIPS32State* gst = (VexGuestMIPS32State*)gst_vanilla;
+   canonical->sysno = gst->guest_r2;    // v0
+   if (canonical->sysno != __NR_syscall) {
+      canonical->arg1  = gst->guest_r4;    // a0
+      canonical->arg2  = gst->guest_r5;    // a1
+      canonical->arg3  = gst->guest_r6;    // a2
+      canonical->arg4  = gst->guest_r7;    // a3
+      canonical->arg5  = *((UInt*) (gst->guest_r29 + 16));    // 16(guest_SP/sp)
+      canonical->arg6  = *((UInt*) (gst->guest_r29 + 20));    // 20(sp)
+      canonical->arg8 = 0;
+   } else {
+      // Fixme hack handle syscall()
+      canonical->sysno = gst->guest_r4;    // a0
+      canonical->arg1  = gst->guest_r5;    // a1
+      canonical->arg2  = gst->guest_r6;    // a2
+      canonical->arg3  = gst->guest_r7;    // a3
+      canonical->arg4  = *((UInt*) (gst->guest_r29 + 16));    // 16(guest_SP/sp)
+      canonical->arg5  = *((UInt*) (gst->guest_r29 + 20));    // 20(guest_SP/sp)
+      canonical->arg6  = *((UInt*) (gst->guest_r29 + 24));    // 24(guest_SP/sp)
+      canonical->arg8 = __NR_syscall;
+   }
+
+#elif defined(VGP_mips64_linux)
+   VexGuestMIPS64State* gst = (VexGuestMIPS64State*)gst_vanilla;
+   canonical->sysno = gst->guest_r2;    // v0
+   canonical->arg1  = gst->guest_r4;    // a0
+   canonical->arg2  = gst->guest_r5;    // a1
+   canonical->arg3  = gst->guest_r6;    // a2
+   canonical->arg4  = gst->guest_r7;    // a3
+   canonical->arg5  = gst->guest_r8;    // a4
+   canonical->arg6  = gst->guest_r9;    // a5
+
 #elif defined(VGP_x86_darwin)
    VexGuestX86State* gst = (VexGuestX86State*)gst_vanilla;
    UWord *stack = (UWord *)gst->guest_ESP;
@@ -695,6 +730,37 @@
    gst->guest_r6     = canonical->arg5;
    gst->guest_r7     = canonical->arg6;
 
+#elif defined(VGP_mips32_linux)
+   VexGuestMIPS32State* gst = (VexGuestMIPS32State*)gst_vanilla;
+   if (canonical->arg8 != __NR_syscall) {
+      gst->guest_r2 = canonical->sysno;
+      gst->guest_r4 = canonical->arg1;
+      gst->guest_r5 = canonical->arg2;
+      gst->guest_r6 = canonical->arg3;
+      gst->guest_r7 = canonical->arg4;
+      *((UInt*) (gst->guest_r29 + 16)) = canonical->arg5;    // 16(guest_GPR29/sp)
+      *((UInt*) (gst->guest_r29 + 20)) = canonical->arg6;    // 20(sp)
+   } else {
+      canonical->arg8 = 0;
+      gst->guest_r2 = __NR_syscall;
+      gst->guest_r4 = canonical->sysno;
+      gst->guest_r5 = canonical->arg1;
+      gst->guest_r6 = canonical->arg2;
+      gst->guest_r7 = canonical->arg3;
+      *((UInt*) (gst->guest_r29 + 16)) = canonical->arg4;    // 16(guest_GPR29/sp)
+      *((UInt*) (gst->guest_r29 + 20)) = canonical->arg5;    // 20(sp)
+      *((UInt*) (gst->guest_r29 + 24)) = canonical->arg6;    // 24(sp)
+   }
+
+#elif defined(VGP_mips64_linux)
+   VexGuestMIPS64State* gst = (VexGuestMIPS64State*)gst_vanilla;
+   gst->guest_r2 = canonical->sysno;
+   gst->guest_r4 = canonical->arg1;
+   gst->guest_r5 = canonical->arg2;
+   gst->guest_r6 = canonical->arg3;
+   gst->guest_r7 = canonical->arg4;
+   gst->guest_r8 = canonical->arg5;
+   gst->guest_r9 = canonical->arg6;
 #else
 #  error "putSyscallArgsIntoGuestState: unknown arch"
 #endif
@@ -733,6 +799,22 @@
    canonical->sres = VG_(mk_SysRes_arm_linux)( gst->guest_R0 );
    canonical->what = SsComplete;
 
+#  elif defined(VGP_mips32_linux)
+   VexGuestMIPS32State* gst = (VexGuestMIPS32State*)gst_vanilla;
+   UInt                v0 = gst->guest_r2;    // v0
+   UInt                v1 = gst->guest_r3;    // v1
+   UInt                a3 = gst->guest_r7;    // a3
+   canonical->sres = VG_(mk_SysRes_mips32_linux)( v0, v1, a3 );
+   canonical->what = SsComplete;
+
+#  elif defined(VGP_mips64_linux)
+   VexGuestMIPS64State* gst = (VexGuestMIPS64State*)gst_vanilla;
+   ULong                v0 = gst->guest_r2;    // v0
+   ULong                v1 = gst->guest_r3;    // v1
+   ULong                a3 = gst->guest_r7;    // a3
+   canonical->sres = VG_(mk_SysRes_mips64_linux)(v0, v1, a3);
+   canonical->what = SsComplete;
+
 #  elif defined(VGP_x86_darwin)
    /* duplicates logic in m_signals.VG_UCONTEXT_SYSCALL_SYSRES */
    VexGuestX86State* gst = (VexGuestX86State*)gst_vanilla;
@@ -965,6 +1047,42 @@
       gst->guest_r2 = sr_Res(canonical->sres);
    }
 
+#  elif defined(VGP_mips32_linux)
+   VexGuestMIPS32State* gst = (VexGuestMIPS32State*)gst_vanilla;
+   vg_assert(canonical->what == SsComplete);
+   if (sr_isError(canonical->sres)) {
+      gst->guest_r2 = (Int)sr_Err(canonical->sres);
+      gst->guest_r7 = (Int)sr_Err(canonical->sres);
+   } else {
+      gst->guest_r2 = sr_Res(canonical->sres);
+      gst->guest_r3 = sr_ResEx(canonical->sres);
+      gst->guest_r7 = (Int)sr_Err(canonical->sres);
+   }
+   VG_TRACK( post_reg_write, Vg_CoreSysCall, tid,
+             OFFSET_mips32_r2, sizeof(UWord) );
+   VG_TRACK( post_reg_write, Vg_CoreSysCall, tid,
+             OFFSET_mips32_r3, sizeof(UWord) );
+   VG_TRACK( post_reg_write, Vg_CoreSysCall, tid,
+             OFFSET_mips32_r7, sizeof(UWord) );
+
+#  elif defined(VGP_mips64_linux)
+   VexGuestMIPS64State* gst = (VexGuestMIPS64State*)gst_vanilla;
+   vg_assert(canonical->what == SsComplete);
+   if (sr_isError(canonical->sres)) {
+      gst->guest_r2 = (Int)sr_Err(canonical->sres);
+      gst->guest_r7 = (Int)sr_Err(canonical->sres);
+   } else {
+      gst->guest_r2 = sr_Res(canonical->sres);
+      gst->guest_r3 = sr_ResEx(canonical->sres);
+      gst->guest_r7 = (Int)sr_Err(canonical->sres);
+   }
+   VG_TRACK( post_reg_write, Vg_CoreSysCall, tid,
+             OFFSET_mips64_r2, sizeof(UWord) );
+   VG_TRACK( post_reg_write, Vg_CoreSysCall, tid,
+             OFFSET_mips64_r3, sizeof(UWord) );
+   VG_TRACK( post_reg_write, Vg_CoreSysCall, tid,
+             OFFSET_mips64_r7, sizeof(UWord) );
+
 #  else
 #    error "putSyscallStatusIntoGuestState: unknown arch"
 #  endif
@@ -1033,6 +1151,28 @@
    layout->uu_arg7  = -1; /* impossible value */
    layout->uu_arg8  = -1; /* impossible value */
 
+#elif defined(VGP_mips32_linux)
+   layout->o_sysno  = OFFSET_mips32_r2;
+   layout->o_arg1   = OFFSET_mips32_r4;
+   layout->o_arg2   = OFFSET_mips32_r5;
+   layout->o_arg3   = OFFSET_mips32_r6;
+   layout->o_arg4   = OFFSET_mips32_r7;
+   layout->s_arg5   = sizeof(UWord) * 4;
+   layout->s_arg6   = sizeof(UWord) * 5;
+   layout->uu_arg7  = -1; /* impossible value */
+   layout->uu_arg8  = -1; /* impossible value */
+
+#elif defined(VGP_mips64_linux)
+   layout->o_sysno  = OFFSET_mips64_r2;
+   layout->o_arg1   = OFFSET_mips64_r4;
+   layout->o_arg2   = OFFSET_mips64_r5;
+   layout->o_arg3   = OFFSET_mips64_r6;
+   layout->o_arg4   = OFFSET_mips64_r7;
+   layout->o_arg5   = OFFSET_mips64_r8;
+   layout->o_arg6   = OFFSET_mips64_r9;
+   layout->uu_arg7  = -1; /* impossible value */
+   layout->uu_arg8  = -1; /* impossible value */
+
 #elif defined(VGP_x86_darwin)
    layout->o_sysno  = OFFSET_x86_EAX;
    // syscall parameters are on stack in C convention
@@ -1887,11 +2027,45 @@
 
       vg_assert(p[0] == 0x0A);
    }
+
+#elif defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+
+   arch->vex.guest_PC -= 4;             // sizeof(mips instr)
+
+   /* Make sure our caller is actually sane, and we're really backing
+      back over a syscall.
+      
+      syscall == 00 00 00 0C 
+      big endian
+      syscall == 0C 00 00 00
+   */
+   {
+      UChar *p = (UChar *)(arch->vex.guest_PC);
+#     if defined (VG_LITTLEENDIAN)
+      if (p[0] != 0x0c || p[1] != 0x00 || p[2] != 0x00 || p[3] != 0x00)
+         VG_(message)(Vg_DebugMsg,
+                      "?! restarting over syscall at %#llx %02x %02x %02x %02x\n",
+                      arch->vex.guest_PC, p[0], p[1], p[2], p[3]);
+
+      vg_assert(p[0] == 0x0c && p[1] == 0x00 && p[2] == 0x00 && p[3] == 0x00);
+#     elif defined (VG_BIGENDIAN)
+      if (p[0] != 0x00 || p[1] != 0x00 || p[2] != 0x00 || p[3] != 0x0c)
+         VG_(message)(Vg_DebugMsg,
+                      "?! restarting over syscall at %#llx %02x %02x %02x %02x\n",
+                      arch->vex.guest_PC, p[0], p[1], p[2], p[3]);
+
+      vg_assert(p[0] == 0x00 && p[1] == 0x00 && p[2] == 0x00 && p[3] == 0x0c);
+#     else
+#        error "Unknown endianness"
+#     endif
+   }
+
 #else
 #  error "ML_(fixup_guest_state_to_restart_syscall): unknown plat"
 #endif
 }
 
+
 /* 
    Fix up the guest state when a syscall is interrupted by a signal
    and so has been forced to return 'sysret'.
@@ -1902,7 +2076,7 @@
 
      1. unblock signals
      2. perform syscall
-     3. save result to guest state (EAX, RAX, R3+CR0.SO)
+     3. save result to guest state (EAX, RAX, R3+CR0.SO, R0, V0)
      4. re-block signals
 
    If a signal
diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c
new file mode 100644
index 0000000..a255234
--- /dev/null
+++ b/coregrind/m_syswrap/syswrap-mips32-linux.c
@@ -0,0 +1,1025 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Platform-specific syscalls stuff.    syswrap-mips32-linux.c ----*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2010-2012 RT-RK
+      mips-valgrind@rt-rk.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#if defined(VGP_mips32_linux)
+#include "pub_core_basics.h"
+#include "pub_core_vki.h"
+#include "pub_core_vkiscnums.h"
+#include "pub_core_libcsetjmp.h"    // to keep _threadstate.h happy
+#include "pub_core_threadstate.h"
+#include "pub_core_aspacemgr.h"
+#include "pub_core_debuglog.h"
+#include "pub_core_libcbase.h"
+#include "pub_core_libcassert.h"
+#include "pub_core_libcprint.h"
+#include "pub_core_libcproc.h"
+#include "pub_core_libcsignal.h"
+#include "pub_core_options.h"
+#include "pub_core_scheduler.h"
+#include "pub_core_sigframe.h"     // For VG_(sigframe_destroy)()
+#include "pub_core_signals.h"
+#include "pub_core_syscall.h"
+#include "pub_core_syswrap.h"
+#include "pub_core_tooliface.h"
+#include "pub_core_stacks.h"        // VG_(register_stack)
+#include "pub_core_transtab.h"      // VG_(discard_translations)
+#include "priv_types_n_macros.h"
+#include "priv_syswrap-generic.h"   /* for decls of generic wrappers */
+#include "priv_syswrap-linux.h"     /* for decls of linux-ish wrappers */
+#include "priv_syswrap-main.h"
+
+#include "pub_core_debuginfo.h"     // VG_(di_notify_*)
+#include "pub_core_xarray.h"
+#include "pub_core_clientstate.h"   // VG_(brk_base), VG_(brk_limit)
+#include "pub_core_errormgr.h"
+#include "pub_tool_gdbserver.h"     // VG_(gdbserver)
+#include "pub_core_libcfile.h"
+#include "pub_core_machine.h"       // VG_(get_SP)
+#include "pub_core_mallocfree.h"
+#include "pub_core_stacktrace.h"    // For VG_(get_and_pp_StackTrace)()
+#include "pub_core_ume.h"
+
+#include "priv_syswrap-generic.h"
+
+#include "config.h"
+
+#include <errno.h>
+
+/* ---------------------------------------------------------------------
+                             clone() handling
+   ------------------------------------------------------------------ */ 
+/* Call f(arg1), but first switch stacks, using 'stack' as the new
+   stack, and use 'retaddr' as f's return-to address.  Also, clear all
+   the integer registers before entering f.*/ 
+
+__attribute__ ((noreturn)) 
+void ML_ (call_on_new_stack_0_1) (Addr stack, Addr retaddr, 
+                                  void (*f) (Word), Word arg1);
+//    a0 = stack
+//    a1 = retaddr
+//    a2 = f
+//    a3 = arg1
+asm (
+".text\n" 
+".globl vgModuleLocal_call_on_new_stack_0_1\n" 
+"vgModuleLocal_call_on_new_stack_0_1:\n" 
+"   move	$29, $4\n\t"	// stack to %sp
+"   move	$25, $6\n\t"	// f to t9/$25 
+"   move 	$4, $7\n\t"	// arg1 to $a0
+"   li 		$2, 0\n\t"	// zero all GP regs
+"   li 		$3, 0\n\t" 
+"   li 		$5, 0\n\t" 
+"   li 		$6, 0\n\t" 
+"   li 		$7, 0\n\t" 
+
+"   li 		$12, 0\n\t" 
+"   li 		$13, 0\n\t" 
+"   li 		$14, 0\n\t" 
+"   li 		$15, 0\n\t" 
+"   li 		$16, 0\n\t" 
+"   li 		$17, 0\n\t" 
+"   li 		$18, 0\n\t" 
+"   li 		$19, 0\n\t" 
+"   li 		$20, 0\n\t" 
+"   li 		$21, 0\n\t" 
+"   li 		$22, 0\n\t" 
+"   li 		$23, 0\n\t" 
+"   li 		$24, 0\n\t" 
+"   jr 		$25\n\t"	// jump to dst
+"   break	0x7\n"	// should never get here
+".previous\n" 
+);
+
+/*
+        Perform a clone system call.  clone is strange because it has
+        fork()-like return-twice semantics, so it needs special
+        handling here.
+        Upon entry, we have:
+            int (fn)(void*)     in  $a0       0
+            void* child_stack   in  $a1       4
+            int flags           in  $a2       8
+            void* arg           in  $a3       12
+            pid_t* child_tid    in  stack     16
+            pid_t* parent_tid   in  stack     20
+            void* tls_ptr       in  stack     24
+
+        System call requires:
+            int    $__NR_clone  in $v0
+            int    flags        in $a0   0
+            void*  child_stack  in $a1   4
+            pid_t* parent_tid   in $a2   8
+            void*  tls_ptr      in $a3   12
+            pid_t* child_tid    in stack 16
+
+   int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg,
+             void *parent_tidptr, void *tls, void *child_tidptr) 
+
+   Returns an Int encoded in the linux-mips way, not a SysRes.
+ */ 
+#define __NR_CLONE        VG_STRINGIFY(__NR_clone)
+#define __NR_EXIT         VG_STRINGIFY(__NR_exit)
+
+//extern
+UInt do_syscall_clone_mips_linux (Word (*fn) (void *), //a0      0     32
+                                   void *stack,         //a1      4     36
+                                   Int flags,           //a2      8     40
+                                   void *arg,           //a3      12    44
+                                   Int * child_tid,     //stack   16    48
+                                   Int * parent_tid,    //stack   20    52
+                                   Int tls);          //stack   24    56
+asm (
+".text\n" 
+"   .globl   do_syscall_clone_mips_linux\n" 
+"   do_syscall_clone_mips_linux:\n"
+"   subu    $29,$29,32\n\t"
+"   sw $31, 0($29)\n\t"
+"   sw $2, 4($29)\n\t"
+"   sw $3, 8($29)\n\t"
+"   sw $30, 12($29)\n\t"
+"   sw $28, 28($29)\n\t"
+    /* set up child stack with function and arg */
+    /* syscall arg 2 child_stack is already in a1 */
+"   subu $5, $5, 32\n\t" /* make space on stack */
+"   sw $4, 0($5)\n\t" /* fn  */
+"   sw $7, 4($5)\n\t" /* fn arg */
+"   sw $6, 8($5)\n\t"
+    /* get other args to clone */
+
+"   move $4, $a2\n\t" /* a0 = flags */
+"   lw $6,  52($29)\n\t" /* a2 = parent_tid */
+"   lw $7,  48($29)\n\t" /* a3 = child_tid */
+"   sw $7,  16($29)\n\t" /* 16(sp) = child_tid */
+"   lw $7,  56($29)\n\t" /* a3 = tls_ptr */  
+    /* do the system call */
+
+"   li $2, " __NR_CLONE "\n\t" /* __NR_clone */
+"   syscall\n\t"
+"   nop\n\t"
+
+"   bnez    $7, .Lerror\n\t" 
+"   nop\n\t" 
+"   beqz    $2, .Lstart\n\t" 
+"   nop\n\t" 
+
+"   lw      $31, 0($sp)\n\t" 
+"   nop\n\t" 
+"   lw      $30, 12($sp)\n\t" 
+"   nop\n\t" 
+"   addu    $29,$29,32\n\t" /* free stack */  
+"   nop\n\t" 
+"   jr      $31\n\t" 
+"   nop\n\t" 
+
+".Lerror:\n\t" 
+"   li      $31, 5\n\t" 
+"   jr      $31\n\t" 
+"   nop\n\t" 
+
+".Lstart:\n\t" 
+"   lw      $4,  4($29)\n\t" 
+"   nop\n\t" 
+"   lw      $25, 0($29)\n\t" 
+"   nop\n\t" 
+"   jalr    $25\n\t" 
+"   nop\n\t" 
+
+"   move $4, $2\n\t" /* retval from fn is in $v0 */  
+"   li $2, " __NR_EXIT "\n\t" /* NR_exit */  
+"   syscall\n\t" 
+"   nop\n\t" 
+"   .previous\n" 
+);
+
+#undef __NR_CLONE
+#undef __NR_EXIT
+
+// forward declarations
+
+static void setup_child (ThreadArchState *, ThreadArchState *);
+static SysRes sys_set_tls (ThreadId tid, Addr tlsptr);
+/* 
+   When a client clones, we need to keep track of the new thread.  This means:
+   1. allocate a ThreadId+ThreadState+stack for the the thread
+   2. initialize the thread's new VCPU state
+   3. create the thread using the same args as the client requested,
+   but using the scheduler entrypoint for IP, and a separate stack
+   for SP.
+ */ 
+
+static SysRes do_clone (ThreadId ptid, 
+                        UInt flags, Addr sp, 
+                        Int * parent_tidptr,
+                        Int * child_tidptr, 
+                        Addr child_tls) 
+{
+   const Bool debug = False;
+   ThreadId ctid = VG_ (alloc_ThreadState) ();
+   ThreadState * ptst = VG_ (get_ThreadState) (ptid);
+   ThreadState * ctst = VG_ (get_ThreadState) (ctid);
+   UInt ret = 0;
+   UWord * stack;
+   NSegment const *seg;
+   SysRes res;
+   vki_sigset_t blockall, savedmask;
+
+   VG_ (sigfillset) (&blockall);
+   vg_assert (VG_ (is_running_thread) (ptid));
+   vg_assert (VG_ (is_valid_tid) (ctid));
+   stack = (UWord *) ML_ (allocstack) (ctid);
+   if (stack == NULL) {
+      res = VG_ (mk_SysRes_Error) (VKI_ENOMEM);
+      goto out;
+   }
+   setup_child (&ctst->arch, &ptst->arch);
+
+   /* on MIPS we need to set V0 and A3 to zero */ 
+   ctst->arch.vex.guest_r2 = 0;
+   ctst->arch.vex.guest_r7 = 0;
+   if (sp != 0)
+      ctst->arch.vex.guest_r29 = sp;
+
+   ctst->os_state.parent = ptid;
+   ctst->sig_mask = ptst->sig_mask;
+   ctst->tmp_sig_mask = ptst->sig_mask;
+
+   /* Start the child with its threadgroup being the same as the
+      parent's.  This is so that any exit_group calls that happen
+      after the child is created but before it sets its
+      os_state.threadgroup field for real (in thread_wrapper in
+      syswrap-linux.c), really kill the new thread.  a.k.a this avoids
+      a race condition in which the thread is unkillable (via
+      exit_group) because its threadgroup is not set.  The race window
+      is probably only a few hundred or a few thousand cycles long.
+      See #226116. */ 
+
+   ctst->os_state.threadgroup = ptst->os_state.threadgroup;
+   seg = VG_ (am_find_nsegment) ((Addr) sp);
+
+   if (seg && seg->kind != SkResvn) {
+      ctst->client_stack_highest_word = (Addr) VG_PGROUNDUP (sp);
+      ctst->client_stack_szB = ctst->client_stack_highest_word - seg->start;
+      VG_ (register_stack) (seg->start, ctst->client_stack_highest_word);
+      if (debug)
+         VG_ (printf) ("tid %d: guessed client stack range %#lx-%#lx\n",
+
+      ctid, seg->start, VG_PGROUNDUP (sp));
+   } else {
+      VG_ (message) (Vg_UserMsg,
+                     "!? New thread %d starts with sp+%#lx) unmapped\n",
+                     ctid, sp);
+      ctst->client_stack_szB = 0;
+   }
+
+   VG_TRACK (pre_thread_ll_create, ptid, ctid);
+   if (flags & VKI_CLONE_SETTLS) {
+      if (debug)
+        VG_(printf)("clone child has SETTLS: tls at %#lx\n", child_tls);
+      ctst->arch.vex.guest_r27 = child_tls;
+      res = sys_set_tls(ctid, child_tls);
+      if (sr_isError(res))
+         goto out;
+      ctst->arch.vex.guest_r27 = child_tls;
+  }
+
+   flags &= ~VKI_CLONE_SETTLS;
+   VG_ (sigprocmask) (VKI_SIG_SETMASK, &blockall, &savedmask);
+   /* Create the new thread */ 
+   ret = do_syscall_clone_mips_linux (ML_ (start_thread_NORETURN),
+                                    stack, flags, &VG_ (threads)[ctid], 
+                                    child_tidptr, parent_tidptr,
+                                    0 /*child_tls*/);
+
+   /* High half word64 is syscall return value.  Low half is
+      the entire CR, from which we need to extract CR0.SO. */ 
+   if (debug)
+      VG_(printf)("ret: 0x%x\n", ret);
+
+   res = VG_ (mk_SysRes_mips32_linux) (/*val */ ret, 0, /*errflag */ 0);
+
+   VG_ (sigprocmask) (VKI_SIG_SETMASK, &savedmask, NULL);
+
+   out:
+   if (sr_isError (res)) {
+      VG_(cleanup_thread) (&ctst->arch);
+      ctst->status = VgTs_Empty;
+      VG_TRACK (pre_thread_ll_exit, ctid);
+   }
+   ptst->arch.vex.guest_r2 = 0;
+
+   return res;
+}
+
+/* ---------------------------------------------------------------------
+   More thread stuff
+   ------------------------------------------------------------------ */ 
+
+// MIPS doesn't have any architecture specific thread stuff that
+// needs to be cleaned up da li ????!!!!???
+void
+VG_ (cleanup_thread) (ThreadArchState * arch) { } 
+
+void
+setup_child ( /*OUT*/ ThreadArchState * child,
+              /*IN*/ ThreadArchState * parent) 
+{
+   /* We inherit our parent's guest state. */ 
+   child->vex = parent->vex;
+   child->vex_shadow1 = parent->vex_shadow1;
+   child->vex_shadow2 = parent->vex_shadow2;
+}
+
+SysRes sys_set_tls ( ThreadId tid, Addr tlsptr )
+{
+   VG_(threads)[tid].arch.vex.guest_ULR = tlsptr;
+   return VG_(mk_SysRes_Success)( 0 );
+}
+
+/* ---------------------------------------------------------------------
+   PRE/POST wrappers for mips/Linux-specific syscalls
+   ------------------------------------------------------------------ */ 
+#define PRE(name)       DEFN_PRE_TEMPLATE(mips_linux, name)
+#define POST(name)      DEFN_POST_TEMPLATE(mips_linux, name)
+
+/* Add prototypes for the wrappers declared here, so that gcc doesn't
+   harass us for not having prototypes.  Really this is a kludge --
+   the right thing to do is to make these wrappers 'static' since they
+   aren't visible outside this file, but that requires even more macro
+   magic. */ 
+//DECL_TEMPLATE (mips_linux, sys_syscall);
+DECL_TEMPLATE (mips_linux, sys_mmap);
+DECL_TEMPLATE (mips_linux, sys_mmap2);
+DECL_TEMPLATE (mips_linux, sys_stat64);
+DECL_TEMPLATE (mips_linux, sys_lstat64);
+DECL_TEMPLATE (mips_linux, sys_fstatat64);
+DECL_TEMPLATE (mips_linux, sys_fstat64);
+DECL_TEMPLATE (mips_linux, sys_clone);
+DECL_TEMPLATE (mips_linux, sys_sigreturn);
+DECL_TEMPLATE (mips_linux, sys_rt_sigreturn);
+DECL_TEMPLATE (mips_linux, sys_cacheflush);
+DECL_TEMPLATE (mips_linux, sys_set_thread_area);
+DECL_TEMPLATE (mips_linux, sys_pipe);
+
+PRE (sys_mmap2) 
+{
+  SysRes r;
+  // Exactly like old_mmap() except:
+  //  - all 6 args are passed in regs, rather than in a memory-block.
+  //  - the file offset is specified in pagesize units rather than bytes,
+  //    so that it can be used for files bigger than 2^32 bytes.
+  // pagesize or 4K-size units in offset?
+  vg_assert (VKI_PAGE_SIZE == 4096 || VKI_PAGE_SIZE == 4096 * 4
+             || VKI_PAGE_SIZE == 4096 * 16);
+  PRINT ("sys_mmap2 ( %#lx, %llu, %ld, %ld, %ld, %ld )", ARG1, (ULong) ARG2,
+                                                         ARG3, ARG4, 
+                                                         ARG5, ARG6);
+  PRE_REG_READ6 (long, "mmap2", unsigned long, start, unsigned long, length,
+                 unsigned long, prot, unsigned long, flags,
+                 unsigned long, fd, unsigned long, offset);
+  r =
+    ML_ (generic_PRE_sys_mmap) (tid, ARG1, ARG2, ARG3, ARG4, ARG5,
+                                VKI_PAGE_SIZE * (Off64T) ARG6);
+  SET_STATUS_from_SysRes (r);
+} 
+
+PRE (sys_mmap) 
+{
+  SysRes r;
+  //vg_assert(VKI_PAGE_SIZE == 4096);
+  PRINT ("sys_mmap ( %#lx, %llu, %lu, %lu, %lu, %ld )", ARG1, (ULong) ARG2,
+                                                        ARG3, ARG4, ARG5, ARG6);
+  PRE_REG_READ6 (long, "mmap", unsigned long, start, vki_size_t, length,
+                 int, prot, int, flags, int, fd, unsigned long, offset);
+  r =
+    ML_ (generic_PRE_sys_mmap) (tid, ARG1, ARG2, ARG3, ARG4, ARG5,
+                                (Off64T) ARG6);
+  SET_STATUS_from_SysRes (r);
+} 
+
+// XXX: lstat64/fstat64/stat64 are generic, but not necessarily
+// applicable to every architecture -- I think only to 32-bit archs.
+// We're going to need something like linux/core_os32.h for such
+// things, eventually, I think.  --njn
+ 
+PRE (sys_lstat64) 
+{
+  PRINT ("sys_lstat64 ( %#lx(%s), %#lx )", ARG1, (char *) ARG1, ARG2);
+  PRE_REG_READ2 (long, "lstat64", char *, file_name, struct stat64 *, buf);
+  PRE_MEM_RASCIIZ ("lstat64(file_name)", ARG1);
+  PRE_MEM_WRITE ("lstat64(buf)", ARG2, sizeof (struct vki_stat64));
+} 
+
+POST (sys_lstat64) 
+{
+  vg_assert (SUCCESS);
+  if (RES == 0)
+    {
+      POST_MEM_WRITE (ARG2, sizeof (struct vki_stat64));
+    }
+} 
+
+PRE (sys_stat64) 
+{
+  PRINT ("sys_stat64 ( %#lx(%s), %#lx )", ARG1, (char *) ARG1, ARG2);
+  PRE_REG_READ2 (long, "stat64", char *, file_name, struct stat64 *, buf);
+  PRE_MEM_RASCIIZ ("stat64(file_name)", ARG1);
+  PRE_MEM_WRITE ("stat64(buf)", ARG2, sizeof (struct vki_stat64));
+}
+
+POST (sys_stat64)
+{
+  POST_MEM_WRITE (ARG2, sizeof (struct vki_stat64));
+}
+
+PRE (sys_fstatat64)
+{
+  PRINT ("sys_fstatat64 ( %ld, %#lx(%s), %#lx )", ARG1, ARG2, (char *) ARG2,
+                                                  ARG3);
+  PRE_REG_READ3 (long, "fstatat64", int, dfd, char *, file_name,
+                 struct stat64 *, buf);
+  PRE_MEM_RASCIIZ ("fstatat64(file_name)", ARG2);
+  PRE_MEM_WRITE ("fstatat64(buf)", ARG3, sizeof (struct vki_stat64));
+}
+
+POST (sys_fstatat64)
+{
+  POST_MEM_WRITE (ARG3, sizeof (struct vki_stat64));
+}
+
+PRE (sys_fstat64)
+{
+  PRINT ("sys_fstat64 ( %ld, %#lx )", ARG1, ARG2);
+  PRE_REG_READ2 (long, "fstat64", unsigned long, fd, struct stat64 *, buf);
+  PRE_MEM_WRITE ("fstat64(buf)", ARG2, sizeof (struct vki_stat64));
+}
+
+POST (sys_fstat64)
+{
+  POST_MEM_WRITE (ARG2, sizeof (struct vki_stat64));
+} 
+
+PRE (sys_clone) 
+  {
+    Bool badarg = False;
+    UInt cloneflags;
+    PRINT ("sys_clone ( %lx, %#lx, %#lx, %#lx, %#lx )", ARG1, ARG2, ARG3,
+                                                        ARG4, ARG5);
+    PRE_REG_READ2 (int, "clone", unsigned long, flags,  void *, child_stack);
+    if (ARG1 & VKI_CLONE_PARENT_SETTID)
+      {
+        if (VG_ (tdict).track_pre_reg_read)
+          {
+            PRA3 ("clone", int *, parent_tidptr);
+          }
+        PRE_MEM_WRITE ("clone(parent_tidptr)", ARG3, sizeof (Int));
+        if (!VG_ (am_is_valid_for_client)(ARG3, sizeof (Int), VKI_PROT_WRITE))
+        {
+          badarg = True;
+        }
+      }
+    if (ARG1 & (VKI_CLONE_CHILD_SETTID | VKI_CLONE_CHILD_CLEARTID))
+      {
+        if (VG_ (tdict).track_pre_reg_read)
+          {
+            PRA5 ("clone", int *, child_tidptr);
+          }
+        PRE_MEM_WRITE ("clone(child_tidptr)", ARG5, sizeof (Int));
+        if (!VG_ (am_is_valid_for_client)(ARG5, sizeof (Int), VKI_PROT_WRITE))
+          {
+            badarg = True;
+          }
+      }
+    if (badarg)
+      {
+        SET_STATUS_Failure (VKI_EFAULT);
+        return;
+      }
+    cloneflags = ARG1;
+    if (!ML_ (client_signal_OK) (ARG1 & VKI_CSIGNAL))
+      {
+        SET_STATUS_Failure (VKI_EINVAL);
+        return;
+      }
+    /* Only look at the flags we really care about */ 
+    switch (cloneflags & (VKI_CLONE_VM | VKI_CLONE_FS
+           |VKI_CLONE_FILES | VKI_CLONE_VFORK))
+      {
+        case VKI_CLONE_VM | VKI_CLONE_FS | VKI_CLONE_FILES:
+        /* thread creation */ 
+        PRINT ("sys_clone1 ( %#lx, %#lx, %#lx, %#lx, %#lx )",
+               ARG1, ARG2, ARG3, ARG4, ARG5);
+        SET_STATUS_from_SysRes (do_clone (tid, 
+                                          ARG1, /* flags */ 
+                                          (Addr) ARG2, /* child SP */ 
+                                          (Int *) ARG3, /* parent_tidptr */ 
+                                          (Int *) ARG5, /* child_tidptr */ 
+                                          (Addr) ARG4));	/* child_tls */
+
+        break;
+        case VKI_CLONE_VFORK | VKI_CLONE_VM:	/* vfork */
+          /* FALLTHROUGH - assume vfork == fork */ 
+          cloneflags &= ~(VKI_CLONE_VFORK | VKI_CLONE_VM);
+        case 0:  /* plain fork */
+          SET_STATUS_from_SysRes (ML_ (do_fork_clone) (tid,
+                                  cloneflags, /* flags */ 
+                                  (Int *) ARG3, /* parent_tidptr */ 
+                                  (Int *) ARG5));	/* child_tidptr */
+        break;
+        default:
+          /* should we just ENOSYS? */ 
+          VG_ (message) (Vg_UserMsg, "Unsupported clone() flags: 0x%lx\n", ARG1);
+          VG_ (message) (Vg_UserMsg, "\n");
+          VG_ (message) (Vg_UserMsg, "The only supported clone() uses are:\n");
+          VG_ (message) (Vg_UserMsg, 
+                          " - via a threads library (LinuxThreads or NPTL)\n");
+          VG_ (message) (Vg_UserMsg,
+                          " - via the implementation of fork or vfork\n");
+          VG_ (unimplemented)("Valgrind does not support general clone().");
+    }
+    if (SUCCESS)
+      {
+        if (ARG1 & VKI_CLONE_PARENT_SETTID)
+          POST_MEM_WRITE (ARG3, sizeof (Int));
+        if (ARG1 & (VKI_CLONE_CHILD_SETTID | VKI_CLONE_CHILD_CLEARTID))
+          POST_MEM_WRITE (ARG5, sizeof (Int));
+        /* Thread creation was successful; let the child have the chance 
+         * to run */
+        *flags |= SfYieldAfter;
+      }
+}
+
+PRE (sys_sigreturn) 
+{
+  PRINT ("sys_sigreturn ( )");
+  vg_assert (VG_ (is_valid_tid) (tid));
+  vg_assert (tid >= 1 && tid < VG_N_THREADS);
+  vg_assert (VG_ (is_running_thread) (tid));
+  VG_ (sigframe_destroy) (tid, False);
+  /* Tell the driver not to update the guest state with the "result",
+     and set a bogus result to keep it happy. */ 
+  *flags |= SfNoWriteResult;
+  SET_STATUS_Success (0);
+   /* Check to see if any signals arose as a result of this. */ 
+  *flags |= SfPollAfter;
+}
+
+PRE (sys_rt_sigreturn) 
+{
+  PRINT ("rt_sigreturn ( )");
+  vg_assert (VG_ (is_valid_tid) (tid));
+  vg_assert (tid >= 1 && tid < VG_N_THREADS);
+  vg_assert (VG_ (is_running_thread) (tid));
+  /* Restore register state from frame and remove it */ 
+  VG_ (sigframe_destroy) (tid, True);
+  /* Tell the driver not to update the guest state with the "result",
+     and set a bogus result to keep it happy. */ 
+  *flags |= SfNoWriteResult;
+  SET_STATUS_Success (0);
+  /* Check to see if any signals arose as a result of this. */ 
+  *flags |= SfPollAfter;
+}
+
+PRE (sys_set_thread_area) 
+{
+   PRINT ("set_thread_area (%lx)", ARG1);
+   PRE_REG_READ1(long, "set_thread_area", unsigned long, addr);
+   SET_STATUS_from_SysRes( sys_set_tls( tid, ARG1 ) );
+}
+
+/* Very much MIPS specific */
+PRE (sys_cacheflush)
+{
+  PRINT ("cacheflush (%lx, %#lx, %#lx)", ARG1, ARG2, ARG3);
+  PRE_REG_READ3 (long, "cacheflush", void *, addrlow, void *, addrhigh, int,
+                 flags);
+  VG_ (discard_translations) ((Addr64) ARG1, ((ULong) ARG2) - ((ULong) ARG1) +
+                              1ULL /*paranoia */ , "PRE(sys_cacheflush)");
+  SET_STATUS_Success (0);
+}
+
+PRE(sys_pipe)
+{
+   PRINT("sys_pipe ( %#lx )", ARG1);
+   PRE_REG_READ1(int, "pipe", int *, filedes);
+   PRE_MEM_WRITE( "pipe(filedes)", ARG1, 2*sizeof(int) );
+}
+
+POST(sys_pipe)
+{
+   Int p0, p1;
+   vg_assert(SUCCESS);
+   p0 = RES;
+   p1 = sr_ResEx(status->sres);
+
+   if (!ML_(fd_allowed)(p0, "pipe", tid, True) ||
+       !ML_(fd_allowed)(p1, "pipe", tid, True)) {
+      VG_(close)(p0);
+      VG_(close)(p1);
+      SET_STATUS_Failure( VKI_EMFILE );
+   } else {
+      if (VG_(clo_track_fds)) {
+         ML_(record_fd_open_nameless)(tid, p0);
+         ML_(record_fd_open_nameless)(tid, p1);
+      }
+   }
+}
+
+#undef PRE
+#undef POST
+
+/* ---------------------------------------------------------------------
+   The mips/Linux syscall table
+   ------------------------------------------------------------------ */ 
+#define PLAX_(sysno, name)    WRAPPER_ENTRY_X_(mips_linux, sysno, name) 
+#define PLAXY(sysno, name)    WRAPPER_ENTRY_XY(mips_linux, sysno, name)
+
+// This table maps from __NR_xxx syscall numbers (from
+// linux/include/asm-mips/unistd.h) to the appropriate PRE/POST sys_foo()
+// wrappers on mips (as per sys_call_table in linux/arch/mips/kernel/entry.S).
+//
+
+// For those syscalls not handled by Valgrind, the annotation indicate its
+// arch/OS combination, eg. */* (generic), */Linux (Linux only), ?/?
+// (unknown).
+
+static SyscallTableEntry syscall_main_table[] = { 
+  //PLAXY (__NR_syscall, sys_syscall),	// 0
+  GENX_ (__NR_exit, sys_exit),	// 1
+  GENX_ (__NR_fork, sys_fork),	// 2
+  GENXY (__NR_read, sys_read),	// 3
+  GENX_ (__NR_write, sys_write),	// 4
+  GENXY (__NR_open, sys_open),	// 5
+  GENXY (__NR_close, sys_close),	// 6
+  GENXY (__NR_waitpid, sys_waitpid),	// 7
+  GENXY (__NR_creat, sys_creat),	// 8
+  GENX_ (__NR_link, sys_link),	// 9
+  GENX_ (__NR_unlink, sys_unlink),	// 10
+  GENX_ (__NR_execve, sys_execve),	// 11
+  GENX_ (__NR_chdir, sys_chdir),	// 12
+  GENXY (__NR_time, sys_time),		// 13
+  GENX_ (__NR_mknod, sys_mknod),	// 14
+  GENX_ (__NR_chmod, sys_chmod),	// 15
+  GENX_ (__NR_lchown, sys_lchown),	// 16
+  LINX_ (__NR_lseek, sys_lseek),	// 19
+  GENX_ (__NR_getpid, sys_getpid),	// 20
+  LINX_ (__NR_mount, sys_mount),	// 21
+  LINX_ (__NR_umount, sys_oldumount),	// 22
+  GENX_ (__NR_setuid, sys_setuid),	// 23 ## P
+  GENX_ (__NR_getuid, sys_getuid),	// 24 ## P
+  LINX_ (__NR_stime, sys_stime),	// 25
+  //..    PLAXY(__NR_ptrace,            sys_ptrace),            // 26
+  GENX_ (__NR_alarm, sys_alarm),	// 27
+  //..    //   (__NR_oldfstat,          sys_fstat), 
+  GENX_ (__NR_pause, sys_pause),	// 29
+  LINX_ (__NR_utime, sys_utime),	// 30
+  //..    GENX_(__NR_stty,              sys_ni_syscall),        // 31
+  //..    GENX_(__NR_gtty,              sys_ni_syscall),        // 32
+  GENX_ (__NR_access, sys_access),	// 33
+  //..    GENX_(__NR_nice,              sys_nice),              // 34
+  //..    GENX_(__NR_ftime,             sys_ni_syscall),        // 35
+  //..    GENX_(__NR_sync,              sys_sync),              // 36
+  GENX_ (__NR_kill, sys_kill),	// 37
+  GENX_ (__NR_rename, sys_rename),	// 38
+  GENX_ (__NR_mkdir, sys_mkdir),	// 39
+  GENX_ (__NR_rmdir, sys_rmdir),	// 40
+  GENXY (__NR_dup, sys_dup),	// 41
+  PLAXY (__NR_pipe, sys_pipe),	// 42
+  GENXY (__NR_times, sys_times),	// 43
+  //..    GENX_(__NR_prof,              sys_ni_syscall),   // 44
+  //..
+  GENX_ (__NR_brk, sys_brk),	// 45
+  GENX_ (__NR_setgid, sys_setgid),	// 46
+  GENX_ (__NR_getgid, sys_getgid),	// 47
+  //..    //   (__NR_signal,            sys_signal),       // 48 */* (ANSI C)
+  GENX_ (__NR_geteuid, sys_geteuid),	// 49
+  GENX_ (__NR_getegid, sys_getegid),	// 50
+  //..    GENX_(__NR_acct,              sys_acct),         // 51
+  LINX_ (__NR_umount2, sys_umount),	// 52
+  //..    GENX_(__NR_lock,              sys_ni_syscall),   // 53
+  LINXY (__NR_ioctl, sys_ioctl),	// 54
+  LINXY (__NR_fcntl, sys_fcntl),	// 55
+  //..    GENX_(__NR_mpx,               sys_ni_syscall),   // 56
+  GENX_ (__NR_setpgid, sys_setpgid),	// 57
+  //..    GENX_(__NR_ulimit,            sys_ni_syscall),        // 58
+  //..    //   (__NR_oldolduname,       sys_olduname),          // 59
+  GENX_ (__NR_umask, sys_umask),	// 60
+  GENX_ (__NR_chroot, sys_chroot),	// 61
+  //..    //   (__NR_ustat,             sys_ustat)              // 62 SVr4 -- deprecated
+  GENXY (__NR_dup2, sys_dup2),	// 63
+  GENX_ (__NR_getppid, sys_getppid),	// 64
+  GENX_ (__NR_getpgrp, sys_getpgrp),	// 65
+  GENX_ (__NR_setsid, sys_setsid),	// 66
+  //   PLAXY(__NR_sigaction,         sys_sigaction),         // 67
+  //..    //   (__NR_sgetmask,          sys_sgetmask),          // 68 */* (ANSI C)
+  //..    //   (__NR_ssetmask,          sys_ssetmask),          // 69 */* (ANSI C)
+  //.. 
+  GENX_ (__NR_setreuid, sys_setreuid),	// 70
+  GENX_ (__NR_setregid, sys_setregid),	// 71
+  //   PLAX_(__NR_sigsuspend,        sys_sigsuspend),        // 72
+  LINXY (__NR_sigpending, sys_sigpending),	// 73
+  //..    //   (__NR_sethostname,       sys_sethostname),       // 74 */*
+  //..
+  GENX_ (__NR_setrlimit, sys_setrlimit),	// 75
+  //..    GENXY(__NR_getrlimit,         sys_old_getrlimit),     // 76
+  GENXY (__NR_getrusage, sys_getrusage),	// 77
+  GENXY (__NR_gettimeofday, sys_gettimeofday),	// 78
+  GENX_ (__NR_settimeofday, sys_settimeofday),  // 79
+  //..
+  GENXY (__NR_getgroups, sys_getgroups),	// 80
+  GENX_ (__NR_setgroups, sys_setgroups),	// 81
+  //..    PLAX_(__NR_select,            old_select),            // 82
+  GENX_ (__NR_symlink, sys_symlink),	// 83
+  //..    //   (__NR_oldlstat,          sys_lstat),             // 84 -- obsolete
+  //..
+  GENX_ (__NR_readlink, sys_readlink),	// 85
+  //..    //   (__NR_uselib,            sys_uselib),            // 86 */Linux
+  //..    //   (__NR_swapon,            sys_swapon),            // 87 */Linux
+  //..    //   (__NR_reboot,            sys_reboot),            // 88 */Linux
+  //..    //   (__NR_readdir,           old_readdir),           // 89 -- superseded
+  PLAX_ (__NR_mmap, sys_mmap),	// 90
+  GENXY (__NR_munmap, sys_munmap),	// 91
+  GENX_ (__NR_truncate, sys_truncate),	// 92
+  GENX_ (__NR_ftruncate, sys_ftruncate),	// 93
+  GENX_ (__NR_fchmod, sys_fchmod),	// 94
+  GENX_ (__NR_fchown, sys_fchown),	// 95
+  GENX_ (__NR_getpriority, sys_getpriority),	// 96
+  GENX_ (__NR_setpriority, sys_setpriority),	// 97
+  //..    GENX_(__NR_profil,            sys_ni_syscall),        // 98
+  GENXY (__NR_statfs, sys_statfs),	// 99
+  //..
+  GENXY (__NR_fstatfs, sys_fstatfs),	// 100
+  //..    LINX_(__NR_ioperm,            sys_ioperm),            // 101
+  LINXY (__NR_socketcall, sys_socketcall),	// 102
+  LINXY (__NR_syslog, sys_syslog),	// 103
+  GENXY (__NR_setitimer, sys_setitimer),	// 104
+  //..
+  //..    GENXY(__NR_getitimer,         sys_getitimer),         // 105
+  GENXY (__NR_stat, sys_newstat),	// 106
+  GENXY (__NR_lstat, sys_newlstat),	// 107
+  GENXY (__NR_fstat, sys_newfstat),	// 108
+  //..    //   (__NR_olduname,          sys_uname),             // 109 -- obsolete
+  //..
+  //..    GENX_(__NR_iopl,              sys_iopl),              // 110
+  //..    LINX_(__NR_vhangup,           sys_vhangup),           // 111
+  //..    GENX_(__NR_idle,              sys_ni_syscall),        // 112
+  //..    //   (__NR_vm86old,           sys_vm86old),           // 113 x86/Linux-only
+  GENXY (__NR_wait4, sys_wait4),	// 114
+  //..
+  //..    //   (__NR_swapoff,           sys_swapoff),           // 115 */Linux 
+  LINXY (__NR_sysinfo, sys_sysinfo),	// 116
+  LINXY (__NR_ipc, sys_ipc),	// 117
+  GENX_ (__NR_fsync, sys_fsync),	// 118
+  PLAX_ (__NR_sigreturn, sys_sigreturn),	// 119 ?/Linux
+  //..
+  PLAX_ (__NR_clone, sys_clone),	// 120
+  //..    //   (__NR_setdomainname,     sys_setdomainname),     // 121 */*(?)
+  GENXY (__NR_uname, sys_newuname),	// 122
+  //..    PLAX_(__NR_modify_ldt,        sys_modify_ldt),        // 123
+  //..    LINXY(__NR_adjtimex,          sys_adjtimex),          // 124
+  //..
+  GENXY (__NR_mprotect, sys_mprotect),	// 125
+  LINXY (__NR_sigprocmask, sys_sigprocmask),    // 126
+  //..    // Nb: create_module() was removed 2.4-->2.6
+  //..    GENX_(__NR_create_module,     sys_ni_syscall),        // 127
+  //..    GENX_(__NR_init_module,       sys_init_module),       // 128
+  //..    //   (__NR_delete_module,     sys_delete_module),     // 129 (*/Linux)?
+  //..
+  //..    // Nb: get_kernel_syms() was removed 2.4-->2.6
+  //..    GENX_(__NR_get_kernel_syms,   sys_ni_syscall),        // 130
+  //..    LINX_(__NR_quotactl,          sys_quotactl),          // 131
+  GENX_ (__NR_getpgid, sys_getpgid),	// 132
+  GENX_ (__NR_fchdir, sys_fchdir),	// 133
+  //..    //   (__NR_bdflush,           sys_bdflush),           // 134 */Linux
+  //..
+  //..    //   (__NR_sysfs,             sys_sysfs),             // 135 SVr4
+  LINX_ (__NR_personality, sys_personality),	// 136
+  //..    GENX_(__NR_afs_syscall,       sys_ni_syscall),        // 137
+  LINX_ (__NR_setfsuid, sys_setfsuid),	// 138
+  LINX_ (__NR_setfsgid, sys_setfsgid),	// 139
+  LINXY (__NR__llseek, sys_llseek),	// 140
+  GENXY (__NR_getdents, sys_getdents),	// 141
+  GENX_ (__NR__newselect, sys_select),	// 142
+  GENX_ (__NR_flock, sys_flock),	// 143
+  GENX_ (__NR_msync, sys_msync),	// 144
+  //..
+  GENXY (__NR_readv, sys_readv),	// 145
+  GENX_ (__NR_writev, sys_writev),	// 146
+  PLAX_ (__NR_cacheflush, sys_cacheflush),	// 147
+  GENX_ (__NR_getsid, sys_getsid),	// 151
+  GENX_ (__NR_fdatasync, sys_fdatasync),	// 152
+  LINXY (__NR__sysctl, sys_sysctl),	// 153
+  //..
+  GENX_ (__NR_mlock, sys_mlock),	// 154
+  GENX_ (__NR_munlock, sys_munlock),	// 155
+  GENX_ (__NR_mlockall, sys_mlockall),	// 156
+  LINX_ (__NR_munlockall, sys_munlockall),	// 157
+  //..    LINXY(__NR_sched_setparam,    sys_sched_setparam),    // 158
+  //..
+  LINXY (__NR_sched_getparam, sys_sched_getparam),	// 159
+  LINX_ (__NR_sched_setscheduler, sys_sched_setscheduler),	// 160
+  LINX_ (__NR_sched_getscheduler, sys_sched_getscheduler),	// 161
+  LINX_ (__NR_sched_yield, sys_sched_yield),	// 162
+  LINX_ (__NR_sched_get_priority_max, sys_sched_get_priority_max),	// 163
+  LINX_ (__NR_sched_get_priority_min, sys_sched_get_priority_min),	// 164
+  //..    //LINX?(__NR_sched_rr_get_interval,  sys_sched_rr_get_interval), // 165 */*
+  GENXY (__NR_nanosleep, sys_nanosleep),	// 166
+  GENX_ (__NR_mremap, sys_mremap),	// 167
+  LINXY (__NR_accept, sys_accept),	// 168
+  LINX_ (__NR_bind, sys_bind),	// 169
+  LINX_ (__NR_connect, sys_connect),	// 170
+  LINXY (__NR_getpeername, sys_getpeername),	// 171
+  LINXY (__NR_getsockname, sys_getsockname),	// 172
+  LINXY (__NR_getsockopt, sys_getsockopt),	// 173
+  LINX_ (__NR_listen, sys_listen),	// 174
+  LINXY (__NR_recv, sys_recv),	// 175
+  LINXY (__NR_recvfrom, sys_recvfrom),	// 176
+  LINXY (__NR_recvmsg, sys_recvmsg),	// 177
+  LINX_ (__NR_send, sys_send),	// 178
+  LINX_ (__NR_sendmsg, sys_sendmsg),	// 179
+  LINX_ (__NR_sendto, sys_sendto),	// 180
+  LINX_ (__NR_setsockopt, sys_setsockopt),	// 181
+  LINX_ (__NR_shutdown, sys_shutdown),  // 182
+  LINXY (__NR_socket, sys_socket),	// 183
+  LINXY (__NR_socketpair, sys_socketpair),	// 184
+  LINX_ (__NR_setresuid, sys_setresuid),	// 185
+  LINXY (__NR_getresuid, sys_getresuid),	// 186
+  //..    GENX_(__NR_query_module,      sys_ni_syscall),        // 
+  GENXY (__NR_poll, sys_poll),	// 188
+  //..    //   (__NR_nfsservctl,        sys_nfsservctl),        // 168 */Linux
+  //..
+  LINX_ (__NR_setresgid, sys_setresgid),	// 190
+  LINXY (__NR_getresgid, sys_getresgid),	// 191
+  LINXY (__NR_prctl, sys_prctl),	// 192
+  PLAX_ (__NR_rt_sigreturn, sys_rt_sigreturn),	// 193
+  LINXY (__NR_rt_sigaction, sys_rt_sigaction),	// 194
+  LINXY (__NR_rt_sigprocmask, sys_rt_sigprocmask),	// 195
+  LINXY (__NR_rt_sigpending, sys_rt_sigpending),	// 196
+  LINXY (__NR_rt_sigtimedwait, sys_rt_sigtimedwait),	// 197
+  LINXY (__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo),	// 198
+  LINX_ (__NR_rt_sigsuspend, sys_rt_sigsuspend),	// 199
+  GENXY (__NR_pread64, sys_pread64),	// 200
+  GENX_ (__NR_pwrite64, sys_pwrite64),	// 201
+  GENX_ (__NR_chown, sys_chown),   // 202
+  GENXY (__NR_getcwd, sys_getcwd), // 203
+  LINXY (__NR_capget, sys_capget), // 204
+  //..
+  //..    LINX_(__NR_capset,            sys_capset),            // 205
+  GENXY (__NR_sigaltstack, sys_sigaltstack),	// 206
+  LINXY (__NR_sendfile, sys_sendfile),	// 207
+  //..    GENXY(__NR_getpmsg,           sys_getpmsg),           // 208
+  //..    GENX_(__NR_putpmsg,           sys_putpmsg),           // 209
+  // Nb: we treat vfork as fork
+  //   GENX_(__NR_vfork,             sys_fork),              // 
+  GENXY (__NR_getrlimit, sys_getrlimit),	// 76
+  //__NR_readahead      // 191 ppc/Linux only?
+  PLAX_ (__NR_mmap2, sys_mmap2),	// 210
+  //   GENX_(__NR_truncate64,        sys_truncate64),        // 211
+  GENX_ (__NR_ftruncate64, sys_ftruncate64),	// 212
+  //..
+  PLAXY (__NR_stat64, sys_stat64),	// 213
+  PLAXY (__NR_lstat64, sys_lstat64),	// 214
+  PLAXY (__NR_fstat64, sys_fstat64),	// 215
+  GENXY (__NR_getdents64, sys_getdents64),	// 219
+  //..    //   (__NR_pivot_root,        sys_pivot_root),        //
+  LINXY (__NR_fcntl64, sys_fcntl64),	// 220
+  GENX_ (__NR_madvise, sys_madvise),	// 218
+  GENXY (__NR_mincore, sys_mincore),	// 217
+  LINX_ (__NR_gettid, sys_gettid),	// 222
+  //..    LINX_(__NR_tkill,             sys_tkill),             // 208 */Linux
+  //..    LINX_(__NR_setxattr,          sys_setxattr),          // 209
+  //..    LINX_(__NR_lsetxattr,         sys_lsetxattr),         // 210
+  //..    LINX_(__NR_fsetxattr,         sys_fsetxattr),         // 211
+  LINXY (__NR_getxattr, sys_getxattr),	// 227
+  LINXY (__NR_lgetxattr, sys_lgetxattr),	// 228
+  LINXY (__NR_fgetxattr, sys_fgetxattr),	// 229
+  LINXY (__NR_listxattr, sys_listxattr),	// 230
+  LINXY (__NR_llistxattr, sys_llistxattr),	// 231
+  LINXY (__NR_flistxattr, sys_flistxattr),	// 232
+  LINX_ (__NR_removexattr, sys_removexattr),	// 233
+  LINX_ (__NR_lremovexattr, sys_lremovexattr),	// 234
+  LINX_ (__NR_fremovexattr, sys_fremovexattr),	// 235
+  LINXY (__NR_futex, sys_futex),	// 238
+  LINX_ (__NR_sched_setaffinity, sys_sched_setaffinity),	// 239
+  LINXY (__NR_sched_getaffinity, sys_sched_getaffinity),	// 240
+  /* 224 currently unused */ 
+  // __NR_tuxcall                                               // 
+  LINXY (__NR_sendfile64, sys_sendfile64),	// 237
+  //..
+  LINX_ (__NR_io_setup, sys_io_setup),	// 241
+  LINX_ (__NR_io_destroy, sys_io_destroy),	// 242
+  LINXY (__NR_io_getevents, sys_io_getevents),	// 243
+  LINX_ (__NR_io_submit, sys_io_submit),	// 244
+  LINXY (__NR_io_cancel, sys_io_cancel),	// 245
+  //..
+  LINX_ (__NR_set_tid_address, sys_set_tid_address),	// 252
+  LINX_ (__NR_fadvise64, sys_fadvise64),	// 254
+  LINX_ (__NR_exit_group, sys_exit_group),	// 246
+  //..    GENXY(__NR_lookup_dcookie,    sys_lookup_dcookie),    // 247
+  LINXY (__NR_epoll_create, sys_epoll_create),	// 248
+  LINX_ (__NR_epoll_ctl, sys_epoll_ctl),	// 249
+  LINXY (__NR_epoll_wait, sys_epoll_wait),	// 250
+  //..    //   (__NR_remap_file_pages,  sys_remap_file_pages),  // 239 */Linux
+  LINXY (__NR_timer_create, sys_timer_create),	// 257
+  LINXY (__NR_timer_settime, sys_timer_settime),	// 258
+  LINXY (__NR_timer_gettime, sys_timer_gettime),	// 259
+  LINX_ (__NR_timer_getoverrun, sys_timer_getoverrun),	// 260
+  LINX_ (__NR_timer_delete, sys_timer_delete),	// 261
+  LINX_ (__NR_clock_settime, sys_clock_settime),	// 262
+  LINXY (__NR_clock_gettime, sys_clock_gettime),	// 263
+  LINXY (__NR_clock_getres, sys_clock_getres),	// 264
+  LINXY (__NR_clock_nanosleep, sys_clock_nanosleep),	// 265
+  // __NR_swapcontext                                           // 
+  LINXY (__NR_tgkill, sys_tgkill),	// 266 */Linux
+  //..    GENX_(__NR_utimes,            sys_utimes),            // 267
+  GENXY (__NR_statfs64, sys_statfs64),	// 255
+  GENXY (__NR_fstatfs64, sys_fstatfs64),	// 256
+  LINXY (__NR_get_mempolicy, sys_get_mempolicy),	// 269
+  LINX_ (__NR_set_mempolicy, sys_set_mempolicy),	// 270
+  LINXY (__NR_mq_open, sys_mq_open),	// 271
+  LINX_ (__NR_mq_unlink, sys_mq_unlink),	// 272
+  LINX_ (__NR_mq_timedsend, sys_mq_timedsend),	// 273
+  LINXY (__NR_mq_timedreceive, sys_mq_timedreceive),	// 274
+  LINX_ (__NR_mq_notify, sys_mq_notify),	// 275
+  LINXY (__NR_mq_getsetattr, sys_mq_getsetattr),	// 276
+  // __NR_kexec_load                                            // 
+  LINX_ (__NR_inotify_init, sys_inotify_init),	// 275
+  LINX_ (__NR_inotify_add_watch, sys_inotify_add_watch),	// 276
+  LINX_ (__NR_inotify_rm_watch, sys_inotify_rm_watch),	// 277
+  PLAX_ (__NR_set_thread_area, sys_set_thread_area),	// 283
+  LINXY (__NR_openat, sys_openat),	// 288
+  LINX_ (__NR_mkdirat, sys_mkdirat),	// 289
+  LINX_ (__NR_mknodat, sys_mknodat),	// 290
+  LINX_ (__NR_fchownat, sys_fchownat),	// 291
+  LINX_ (__NR_futimesat, sys_futimesat),	// 292
+  PLAXY (__NR_fstatat64, sys_fstatat64),	// 293
+  LINX_ (__NR_unlinkat, sys_unlinkat),	// 294
+  LINX_ (__NR_renameat, sys_renameat),	// 295
+  LINX_ (__NR_linkat, sys_linkat),	// 296
+  LINX_ (__NR_symlinkat, sys_symlinkat),	// 297
+  LINX_ (__NR_readlinkat, sys_readlinkat),	// 298
+  LINX_ (__NR_fchmodat, sys_fchmodat),	// 299
+  LINX_ (__NR_faccessat, sys_faccessat),	// 300
+  LINXY (__NR_ppoll, sys_ppoll),	// 302
+  LINX_ (__NR_set_robust_list, sys_set_robust_list),	// 309
+  LINXY (__NR_get_robust_list, sys_get_robust_list),	// 310
+  LINXY (__NR_epoll_pwait, sys_epoll_pwait),	// 313
+  LINX_ (__NR_utimensat, sys_utimensat),	// 316
+  LINX_ (__NR_fallocate, sys_fallocate),	// 320
+  LINXY (__NR_timerfd_create, sys_timerfd_create),    // 321
+  LINXY (__NR_timerfd_gettime, sys_timerfd_gettime),  // 322
+  LINXY (__NR_timerfd_settime, sys_timerfd_settime),  // 323
+  LINXY (__NR_signalfd4, sys_signalfd4),	// 324
+  LINX_ (__NR_eventfd2, sys_eventfd2),	// 325
+  LINXY (__NR_pipe2, sys_pipe2),	// 328
+  LINXY (__NR_inotify_init1, sys_inotify_init1),	// 329
+  LINXY (__NR_prlimit64, sys_prlimit64) // 338
+};
+
+SyscallTableEntry* ML_(get_linux_syscall_entry) (UInt sysno)
+{
+  const UInt syscall_main_table_size
+   = sizeof (syscall_main_table) / sizeof (syscall_main_table[0]);
+  /* Is it in the contiguous initial section of the table? */
+  if (sysno < syscall_main_table_size)
+    {
+      SyscallTableEntry * sys = &syscall_main_table[sysno];
+      if (sys->before == NULL)
+        return NULL;    /* no entry */
+      else
+        return sys;
+    }
+  /* Can't find a wrapper */
+  return NULL;
+}
+
+#endif // defined(VGP_mips32_linux)
+
+/*--------------------------------------------------------------------*/ 
+/*--- end                                     syswrap-mips-linux.c ---*/ 
+/*--------------------------------------------------------------------*/ 
diff --git a/coregrind/m_syswrap/syswrap-mips64-linux.c b/coregrind/m_syswrap/syswrap-mips64-linux.c
new file mode 100644
index 0000000..2c1c47d
--- /dev/null
+++ b/coregrind/m_syswrap/syswrap-mips64-linux.c
@@ -0,0 +1,948 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Platform-specific syscalls stuff.    syswrap-mips64-linux.c ----*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2010-2013 RT-RK
+      mips-valgrind@rt-rk.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#if defined(VGP_mips64_linux)
+#include "pub_core_basics.h"
+#include "pub_core_vki.h"
+#include "pub_core_vkiscnums.h"
+#include "pub_core_libcsetjmp.h"   /* to keep _threadstate.h happy */
+#include "pub_core_threadstate.h"
+#include "pub_core_aspacemgr.h"
+#include "pub_core_debuglog.h"
+#include "pub_core_libcbase.h"
+#include "pub_core_libcassert.h"
+#include "pub_core_libcprint.h"
+#include "pub_core_libcproc.h"
+#include "pub_core_libcsignal.h"
+#include "pub_core_options.h"
+#include "pub_core_scheduler.h"
+#include "pub_core_sigframe.h"     /* For VG_(sigframe_destroy)() */
+#include "pub_core_signals.h"
+#include "pub_core_syscall.h"
+#include "pub_core_syswrap.h"
+#include "pub_core_tooliface.h"
+#include "pub_core_stacks.h"       /* VG_(register_stack) */
+#include "pub_core_transtab.h"     /* VG_(discard_translations) */
+#include "priv_types_n_macros.h"
+#include "priv_syswrap-generic.h"  /* for decls of generic wrappers */
+#include "priv_syswrap-linux.h"    /* for decls of linux-ish wrappers */
+#include "priv_syswrap-main.h"
+
+#include "pub_core_debuginfo.h"    /* VG_(di_notify_*) */
+#include "pub_core_xarray.h"
+#include "pub_core_clientstate.h"  /* VG_(brk_base), VG_(brk_limit) */
+#include "pub_core_errormgr.h"
+#include "pub_tool_gdbserver.h"    /* VG_(gdbserver) */
+#include "pub_core_libcfile.h"
+#include "pub_core_machine.h"      /* VG_(get_SP) */
+#include "pub_core_mallocfree.h"
+#include "pub_core_stacktrace.h"   /* For VG_(get_and_pp_StackTrace)() */
+#include "pub_core_ume.h"
+
+#include "config.h"
+
+#include <errno.h>
+
+/* ---------------------------------------------------------------------
+                             clone() handling
+   ------------------------------------------------------------------ */
+
+/* Call f(arg1), but first switch stacks, using 'stack' as the new stack, and
+   use 'retaddr' as f's return-to address. Also, clear all the integer registers
+   before entering f. */
+__attribute__ ((noreturn))
+void ML_(call_on_new_stack_0_1) ( Addr stack,             /* $4 - $a0 */
+                                  Addr retaddr,           /* $5 - $a1 */
+                                  void (*f_desc) (Word),  /* $6 - $a2 */
+                                  Word arg1 );            /* $7 - $a3 */
+asm (
+".text\n"
+".globl vgModuleLocal_call_on_new_stack_0_1\n"
+"vgModuleLocal_call_on_new_stack_0_1:\n"
+"   move $29, $4\n"  /* set stack */
+"   move $4,  $7\n"  /* arg1 to $4 */
+"   move $25, $6\n"
+"   move $31, $5\n"  /* retaddr to $ra */
+"   jr $25\n"        /* jump to f */
+"   break 0x7\n"     /* should never get here */
+".previous\n"
+);
+
+/* Perform a clone system call.  clone is strange because it has fork()-like
+   return-twice semantics, so it needs special handling here.
+
+   Upon entry, we have:
+
+      word (fn)(void*)    in a0 = 4
+      void* child_stack   in a1 = 5
+      word flags          in a2 = 6
+      void* arg           in a3 = 7
+      pid_t* parent_tid   in a4 = 8
+      void* tls           in a5 = 9
+      pid_t* child_tid    in a6 = 10  
+
+   System call requires:
+
+      int    $__NR_clone  in v0 
+      int    flags        in a0 = 4 
+      void*  child_stack  in a1 = 5 
+      pid_t* parent_tid   in a2 = 6
+      void*  tls_ptr      in a3 = 7 
+      pid_t* child_tid    in a4 = 8 */
+
+#define __NR_CLONE        __NR_clone
+#define __NR_EXIT         __NR_exit
+
+ULong do_syscall_clone_mips64_linux ( Word (*fn) (void *),  /* a0 - 4 */
+                                      void* stack,          /* a1 - 5 */
+                                      Int   flags,          /* a2 - 6 */
+                                      void* arg,            /* a3 - 7 */
+                                      Int*  parent_tid,     /* a4 - 8 */
+                                      void* /* Int tls */,  /* a5 - 9 */
+                                      Int*  child_tid );    /* a6 - 10 */
+
+asm(
+".text\n" 
+".set noreorder\n"
+".set nomacro\n"
+".globl do_syscall_clone_mips64_linux\n"
+"do_syscall_clone_mips64_linux:\n"
+"   daddiu $29, $29, -32\n"
+"   sd $31, 0($29)\n"
+"   sd $30, 8($29)\n"
+"   sd $28, 16($29)\n"
+
+"   daddiu  $5, $5, -32\n"
+"   sd $4, 0($5)\n"   /* fn */
+"   sd $7, 8($5)\n"   /* arg */
+"   sd $6, 16($5)\n"  /* flags */
+
+/* 1. arg for syscalls */
+"   move $4, $6\n"   /* flags */
+"   move $6, $8\n"   /* parent */
+"   move $7, $a5\n"  /* tls */
+"   move $8, $a6\n"  /* child */
+
+/* 2. do a syscall to clone */
+"   li  $2, 5055\n"  /* syscall num for clone */
+"   syscall\n"
+
+/* 3. See if we are a child, call fn and after that exit */
+"   bnez $7, p_or_error\n"
+"   nop\n"
+
+"   bnez $2, p_or_error\n"
+"   nop\n"
+
+"   ld $25,0($29)\n"
+"   jalr $25\n"
+"   ld $4,8($29)\n"
+
+"   move $4, $2\n\t"  /* retval from fn is in $v0 */
+"   li $2, 5058\n\t"  /* NR_exit */
+"   syscall\n\t"
+"   nop\n\t"
+/* 4. If we are parent or error, just return to caller */
+"   p_or_error:\n"
+"   ld $31, 0($29)\n"
+"   ld $30, 8($29)\n"
+"   ld $28, 16($29)\n"
+"   jr $31\n"
+"   daddi $29,$29, 32\n"
+".previous\n"
+);
+
+#undef __NR_CLONE
+#undef __NR_EXIT
+
+/* forward declarations */
+static void setup_child ( ThreadArchState *, ThreadArchState *);
+static SysRes sys_set_tls ( ThreadId tid, Addr tlsptr);
+
+/* When a client clones, we need to keep track of the new thread. This means:
+   1. allocate a ThreadId+ThreadState+stack for the the thread
+
+   2. initialize the thread's new VCPU state
+
+   3. create the thread using the same args as the client requested, but using
+      the scheduler entrypoint for IP, and a separate stack for SP. */
+static SysRes do_clone ( ThreadId ptid,
+                         UInt flags, Addr sp,
+                         Int* parent_tidptr,
+                         Int* child_tidptr,
+                         Addr child_tls )
+{
+   const Bool debug = False;
+   ThreadId ctid = VG_ (alloc_ThreadState) ();
+   ThreadState * ptst = VG_ (get_ThreadState) (ptid);
+   ThreadState * ctst = VG_ (get_ThreadState) (ctid);
+   UInt ret = 0;
+   UWord * stack;
+   NSegment const *seg;
+   SysRes res;
+   vki_sigset_t blockall, savedmask;
+
+   VG_(sigfillset)(&blockall);
+   vg_assert(VG_(is_running_thread)(ptid));
+   vg_assert(VG_(is_valid_tid)(ctid));
+   stack = (UWord *)ML_(allocstack)(ctid);
+   if (stack == NULL) {
+      res = VG_(mk_SysRes_Error)(VKI_ENOMEM);
+      goto out;
+   }
+   setup_child(&ctst->arch, &ptst->arch);
+
+   /* on MIPS we need to set V0 and A3 to zero */
+   ctst->arch.vex.guest_r2 = 0;
+   ctst->arch.vex.guest_r7 = 0;
+   if (sp != 0)
+      ctst->arch.vex.guest_r29 = sp;
+
+   ctst->os_state.parent = ptid;
+   ctst->sig_mask = ptst->sig_mask;
+   ctst->tmp_sig_mask = ptst->sig_mask;
+
+   ctst->os_state.threadgroup = ptst->os_state.threadgroup;
+   seg = VG_(am_find_nsegment)((Addr)sp);
+
+   if (seg && seg->kind != SkResvn) {
+      ctst->client_stack_highest_word = sp;
+      ctst->client_stack_szB = ctst->client_stack_highest_word - seg->start;
+      VG_(register_stack)(seg->start, ctst->client_stack_highest_word);
+      if (debug)
+        VG_(printf)("tid %d: guessed client stack range %#lx-%#lx\n",
+                    ctid, seg->start, sp /* VG_PGROUNDUP (sp) */ );
+   } else {
+      VG_(message)(Vg_UserMsg,
+                    "!? New thread %d starts with sp+%#lx) unmapped\n",
+                    ctid, sp);
+      ctst->client_stack_szB = 0;
+   }
+
+   VG_TRACK(pre_thread_ll_create, ptid, ctid);
+   if (flags & VKI_CLONE_SETTLS) {
+       if (debug)
+         VG_(printf)("clone child has SETTLS: tls at %#lx\n", child_tls);
+       res = sys_set_tls(ctid, child_tls);
+       if (sr_isError(res))
+          goto out;
+       ctst->arch.vex.guest_r27 = child_tls;
+   }
+
+   flags &= ~VKI_CLONE_SETTLS;
+   VG_ (sigprocmask) (VKI_SIG_SETMASK, &blockall, &savedmask);
+   /* Create the new thread */
+   ret = do_syscall_clone_mips64_linux(ML_(start_thread_NORETURN),
+                                       stack, flags, &VG_(threads)[ctid],
+                                       parent_tidptr, NULL /*child_tls*/,
+                                       child_tidptr);
+   if (debug)
+     VG_(printf)("ret: 0x%x\n", ret);
+
+   res = VG_(mk_SysRes_mips64_linux)( /* val */ ret, 0, /* errflag */ 0);
+
+   VG_(sigprocmask)(VKI_SIG_SETMASK, &savedmask, NULL);
+
+   out:
+   if (sr_isError (res)) {
+      VG_ (cleanup_thread) (&ctst->arch);
+      ctst->status = VgTs_Empty;
+      VG_TRACK (pre_thread_ll_exit, ctid);
+   }
+   ptst->arch.vex.guest_r2 = 0;
+
+   return res;
+}
+
+/* ---------------------------------------------------------------------
+                          More thread stuff
+   ------------------------------------------------------------------ */
+void VG_(cleanup_thread) ( ThreadArchState * arch ) { };
+
+void setup_child ( /* OUT */ ThreadArchState * child,
+                   /* IN  */ ThreadArchState * parent )
+{
+   /* We inherit our parent's guest state. */
+   child->vex = parent->vex;
+   child->vex_shadow1 = parent->vex_shadow1;
+   child->vex_shadow2 = parent->vex_shadow2;
+}
+
+SysRes sys_set_tls ( ThreadId tid, Addr tlsptr )
+{
+   VG_(threads)[tid].arch.vex.guest_ULR = tlsptr;
+   return VG_(mk_SysRes_Success)( 0 );
+}
+
+/* ---------------------------------------------------------------------
+           PRE/POST wrappers for mips/Linux-specific syscalls
+   ------------------------------------------------------------------ */
+
+#define PRE(name)       DEFN_PRE_TEMPLATE(mips_linux, name)
+#define POST(name)      DEFN_POST_TEMPLATE(mips_linux, name)
+
+/* Add prototypes for the wrappers declared here, so that gcc doesn't harass us
+   for not having prototypes. Really this is a kludge -- the right thing to do
+   is to make these wrappers 'static' since they aren't visible outside this
+   file, but that requires even more macro magic. */
+
+DECL_TEMPLATE (mips_linux, sys_set_thread_area);
+DECL_TEMPLATE (mips_linux, sys_clone);
+DECL_TEMPLATE (mips_linux, sys_tee);
+DECL_TEMPLATE (mips_linux, sys_splice);
+DECL_TEMPLATE (mips_linux, sys_vmsplice);
+DECL_TEMPLATE (mips_linux, sys_ustat);
+DECL_TEMPLATE (mips_linux, sys_sysfs);
+DECL_TEMPLATE (mips_linux, sys_swapon);
+DECL_TEMPLATE (mips_linux, sys_swapoff);
+DECL_TEMPLATE (mips_linux, sys_setdomainname);
+DECL_TEMPLATE (mips_linux, sys_sethostname);
+DECL_TEMPLATE (mips_linux, sys_reboot);
+DECL_TEMPLATE (mips_linux, sys_cacheflush);
+DECL_TEMPLATE (mips_linux, sys_sched_rr_get_interval);
+DECL_TEMPLATE (mips_linux, sys_unshare);
+DECL_TEMPLATE (mips_linux, sys_arch_prctl);
+DECL_TEMPLATE (mips_linux, sys_ptrace);
+DECL_TEMPLATE (mips_linux, sys_mmap);
+DECL_TEMPLATE (mips_linux, sys_rt_sigreturn);
+DECL_TEMPLATE (mips_linux, sys_pipe);
+
+PRE(sys_tee)
+{
+   PRINT("sys_tee ( %ld, %ld, %ld, %ld )", ARG1, ARG2, ARG3, ARG4);
+   PRE_REG_READ4(long, "sys_tee", int, fdin, int, fdout, vki_size_t, len,
+                 int, flags);
+}
+
+PRE(sys_splice)
+{
+   PRINT("sys_splice ( %ld, %ld, %ld, %ld, %ld, %ld )", ARG1, ARG2, ARG3,
+                                                        ARG4, ARG5, ARG6);
+
+   PRE_REG_READ6(long, "sys_splice", int, fdin, vki_loff_t, sizein, int,
+                 fdout, vki_loff_t, sizeout, vki_size_t, len, int, flags);
+}
+
+PRE(sys_vmsplice)
+{
+   PRINT("sys_vmsplice ( %ld, %ld, %ld, %ld )", ARG1, ARG2, ARG3, ARG4);
+   PRE_REG_READ4(long, "sys_vmsplice", int, fdin, struct vki_iovec *, v,
+                 vki_size_t, len, int, flags);
+}
+
+PRE(sys_unshare)
+{
+   PRINT("sys_unshare ( %ld )", ARG1);
+   PRE_REG_READ1(long, "sys_unshare", int, flags);
+}
+
+PRE(sys_sched_rr_get_interval)
+{
+   PRINT("sys_sched_rr_get_interval ( %ld, %#lx)", ARG1, ARG2);
+   PRE_REG_READ2(long, "sched_rr_get_interval", int, flags,
+                 struct timespec *, timer);
+   *flags |= SfMayBlock;
+}
+
+PRE(sys_ustat)
+{
+   PRINT("sys_ustat ( %ld, %#lx)", ARG1, ARG2);
+   PRE_REG_READ2(long, "ustat", int, flags, const void *, path);
+}
+
+PRE(sys_swapon)
+{
+   PRINT("sys_swapon ( %#lx, %ld )", ARG1, ARG2);
+   PRE_REG_READ2(long, "swapon", const void *, path, int, flags);
+}
+
+PRE(sys_swapoff)
+{
+   PRINT("sys_swapoff ( %#lx )", ARG1);
+   PRE_REG_READ1(long, "swapoff", const void *, path);
+}
+
+PRE(sys_sysfs)
+{
+   PRINT("sys_sysfs ( %ld, %ld, %#lx )", ARG1, ARG2, ARG3);
+   PRE_REG_READ3(long, "sysfs", int, flags, int, desc, const void *, path);
+}
+
+/* Very much MIPS specific */
+PRE(sys_cacheflush)
+{
+   PRINT("cacheflush (%lx, %#lx, %#lx)", ARG1, ARG2, ARG3);
+   PRE_REG_READ3(long, "cacheflush", void *, addrlow, void *, addrhigh,
+                 int, flags);
+   VG_(discard_translations)((Addr64) ARG1, ((ULong) ARG2) - ((ULong) ARG1) +
+                             1ULL /*paranoia */ , "PRE(sys_cacheflush)");
+   SET_STATUS_Success(0);
+}
+
+PRE(sys_reboot)
+{
+   PRINT("sys_reboot ( %ld )", ARG1);
+   PRE_REG_READ1(int, "reboot", int, flags);
+   *flags |= SfMayBlock;
+}
+
+PRE(sys_setdomainname)
+{
+   PRINT ("sys_setdomainname ( %#lx, %ld )", ARG1, ARG2);
+   PRE_REG_READ2 (long, "setdomainname", const void *, name, int, len);
+}
+
+PRE(sys_sethostname)
+{
+   PRINT ("sys_sethostname ( %ld, %ld )", ARG1, ARG2);
+   PRE_REG_READ2 (long, "sethostname", const void *, name, int, len);
+}
+
+PRE(sys_ptrace)
+{
+   PRINT("sys_ptrace ( %ld, %ld, %#lx, %#lx )", ARG1, ARG2, ARG3, ARG4);
+   PRE_REG_READ4(int, "ptrace", long, request, long, pid, long, addr,
+                 long, data);
+   switch (ARG1) {
+      case VKI_PTRACE_PEEKTEXT:
+      case VKI_PTRACE_PEEKDATA:
+      case VKI_PTRACE_PEEKUSR:
+         PRE_MEM_WRITE("ptrace(peek)", ARG4, sizeof(long));
+         break;
+      case VKI_PTRACE_GETEVENTMSG:
+         PRE_MEM_WRITE("ptrace(geteventmsg)", ARG4, sizeof(unsigned long));
+         break;
+      case VKI_PTRACE_GETSIGINFO:
+         PRE_MEM_WRITE("ptrace(getsiginfo)", ARG4, sizeof(vki_siginfo_t));
+         break;
+      case VKI_PTRACE_SETSIGINFO:
+         PRE_MEM_READ("ptrace(setsiginfo)", ARG4, sizeof(vki_siginfo_t));
+         break;
+      case VKI_PTRACE_GETREGSET:
+         ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
+         break;
+      default:
+        break;
+   }
+}
+
+POST(sys_ptrace)
+{
+   switch (ARG1) {
+      case VKI_PTRACE_PEEKTEXT:
+      case VKI_PTRACE_PEEKDATA:
+      case VKI_PTRACE_PEEKUSR:
+         POST_MEM_WRITE (ARG4, sizeof(long));
+         break;
+      case VKI_PTRACE_GETEVENTMSG:
+         POST_MEM_WRITE (ARG4, sizeof(unsigned long));
+      break;
+      case VKI_PTRACE_GETSIGINFO:
+         POST_MEM_WRITE (ARG4, sizeof(vki_siginfo_t));
+         break;
+      case VKI_PTRACE_GETREGSET:
+         ML_(linux_POST_getregset)(tid, ARG3, ARG4);
+         break;
+      default:
+      break;
+   }
+}
+
+PRE (sys_mmap)
+{
+   SysRes r;
+   PRINT("sys_mmap ( %#lx, %llu, %lu, %lu, %lu, %ld )", ARG1, (ULong)ARG2,
+                                                        ARG3, ARG4, ARG5, ARG6);
+   PRE_REG_READ6(long, "mmap", unsigned long, start, vki_size_t, length,
+                 int, prot, int, flags, int, fd, unsigned long, offset);
+   r = ML_(generic_PRE_sys_mmap)(tid, ARG1, ARG2, ARG3, ARG4, ARG5,
+                                 (Off64T) ARG6);
+   SET_STATUS_from_SysRes(r);
+}
+
+PRE(sys_clone)
+{
+   Bool badarg = False;
+   UInt cloneflags;
+   PRINT("sys_clone ( %lx, %#lx, %#lx, %#lx, %#lx )", ARG1, ARG2, ARG3,
+                                                      ARG4, ARG5);
+   PRE_REG_READ2(int, "clone", unsigned long, flags, void *, child_stack);
+   if (ARG1 & VKI_CLONE_PARENT_SETTID) {
+      if (VG_(tdict).track_pre_reg_read) {
+         PRA3("clone", int *, parent_tidptr);
+      }
+      PRE_MEM_WRITE("clone(parent_tidptr)", ARG3, sizeof(Int));
+      if (!VG_(am_is_valid_for_client)(ARG3, sizeof(Int), VKI_PROT_WRITE)) {
+         badarg = True;
+      }
+   }
+   if (ARG1 & (VKI_CLONE_CHILD_SETTID | VKI_CLONE_CHILD_CLEARTID)) {
+      if (VG_(tdict).track_pre_reg_read) {
+         PRA5("clone", int *, child_tidptr);
+      }
+      PRE_MEM_WRITE("clone(child_tidptr)", ARG5, sizeof (Int));
+      if (!VG_(am_is_valid_for_client)(ARG5, sizeof (Int), VKI_PROT_WRITE))
+         badarg = True;
+   }
+   if (badarg) {
+      SET_STATUS_Failure(VKI_EFAULT);
+      return;
+   }
+   cloneflags = ARG1;
+   if (!ML_(client_signal_OK)(ARG1 & VKI_CSIGNAL)) {
+      SET_STATUS_Failure(VKI_EINVAL);
+      return;
+   }
+   /* Only look at the flags we really care about */
+   switch (cloneflags & (VKI_CLONE_VM | VKI_CLONE_FS
+           |VKI_CLONE_FILES | VKI_CLONE_VFORK)) {
+      case VKI_CLONE_VM | VKI_CLONE_FS | VKI_CLONE_FILES:
+         /* thread creation */
+         SET_STATUS_from_SysRes(do_clone(tid,
+                                         ARG1,          /* flags */
+                                         (Addr)ARG2,    /* child SP */
+                                         (Int *)ARG3,   /* parent_tidptr */
+                                         (Int *)ARG5,   /* child_tidptr */
+                                         (Addr)ARG4));  /* child_tls */
+         break;
+
+      case VKI_CLONE_VFORK | VKI_CLONE_VM:  /* vfork */
+         /* FALLTHROUGH - assume vfork == fork */
+         cloneflags &= ~(VKI_CLONE_VFORK | VKI_CLONE_VM);
+      case 0:  /* plain fork */
+         SET_STATUS_from_SysRes(ML_(do_fork_clone)(tid,
+                                cloneflags,     /* flags */
+                                (Int *)ARG3,    /* parent_tidptr */
+                                (Int *)ARG5));  /* child_tidptr */
+         break;
+
+      default:
+         /* should we just ENOSYS? */
+         VG_(message)(Vg_UserMsg, "Unsupported clone() flags: 0x%lx\n", ARG1);
+         VG_(message)(Vg_UserMsg, "\n");
+         VG_(message)(Vg_UserMsg, "The only supported clone() uses are:\n");
+         VG_(message)(Vg_UserMsg,
+                       " - via a threads library (LinuxThreads or NPTL)\n");
+         VG_(message)(Vg_UserMsg,
+                       " - via the implementation of fork or vfork\n");
+         VG_(unimplemented)("Valgrind does not support general clone().");
+   }
+   if (SUCCESS) {
+      if (ARG1 & VKI_CLONE_PARENT_SETTID)
+         POST_MEM_WRITE(ARG3, sizeof(Int));
+      if (ARG1 & (VKI_CLONE_CHILD_SETTID | VKI_CLONE_CHILD_CLEARTID))
+         POST_MEM_WRITE(ARG5, sizeof(Int));
+      /* Thread creation was successful; let the child have the chance to run */
+      *flags |= SfYieldAfter;
+   }
+}
+
+PRE(sys_rt_sigreturn)
+{
+   /* See comments on PRE(sys_rt_sigreturn) in syswrap-s390x-linux.c for
+      an explanation of what follows. */
+   ThreadState* tst;
+   PRINT("sys_rt_sigreturn ( )");
+
+   vg_assert(VG_(is_valid_tid)(tid));
+   vg_assert(tid >= 1 && tid < VG_N_THREADS);
+   vg_assert(VG_(is_running_thread)(tid));
+
+   tst = VG_(get_ThreadState)(tid);
+
+   /* This is only so that the IA is (might be) useful to report if
+      something goes wrong in the sigreturn */
+   ML_(fixup_guest_state_to_restart_syscall)(&tst->arch);
+
+   /* Restore register state from frame and remove it */
+   VG_(sigframe_destroy)(tid, True);
+
+   /* Tell the driver not to update the guest state with the "result",
+      and set a bogus result to keep it happy. */
+   *flags |= SfNoWriteResult;
+   SET_STATUS_Success(0);
+
+   /* Check to see if any signals arose as a result of this. */
+   *flags |= SfPollAfter;
+}
+
+PRE(sys_set_thread_area)
+{
+   PRINT("set_thread_area (%lx)", ARG1);
+   PRE_REG_READ1(long, "set_thread_area", unsigned long, addr);
+   SET_STATUS_from_SysRes(sys_set_tls(tid, ARG1));
+}
+
+PRE(sys_pipe)
+{
+   PRINT("sys_pipe ( %#lx )", ARG1);
+   PRE_REG_READ1(int, "pipe", int *, filedes);
+   PRE_MEM_WRITE( "pipe(filedes)", ARG1, 2*sizeof(int) );
+}
+
+POST(sys_pipe)
+{
+   Int p0, p1;
+   vg_assert(SUCCESS);
+   p0 = RES;
+   p1 = sr_ResEx(status->sres);
+
+   if (!ML_(fd_allowed)(p0, "pipe", tid, True) ||
+       !ML_(fd_allowed)(p1, "pipe", tid, True)) {
+      VG_(close)(p0);
+      VG_(close)(p1);
+      SET_STATUS_Failure( VKI_EMFILE );
+   } else {
+      if (VG_(clo_track_fds)) {
+         ML_(record_fd_open_nameless)(tid, p0);
+         ML_(record_fd_open_nameless)(tid, p1);
+      }
+   }
+}
+
+#undef PRE
+#undef POST
+
+/* ---------------------------------------------------------------------
+   The mips64/Linux syscall table
+   ------------------------------------------------------------------ */
+
+/* Add an mips64-linux specific wrapper to a syscall table. */
+#define PLAX_(sysno, name)    WRAPPER_ENTRY_X_(mips_linux, sysno, name)
+#define PLAXY(sysno, name)    WRAPPER_ENTRY_XY(mips_linux, sysno, name)
+
+static SyscallTableEntry syscall_main_table[] = {
+   GENXY (__NR_read, sys_read),  /* 5000 */
+   GENX_ (__NR_write, sys_write),
+   GENXY (__NR_open, sys_open),
+   GENXY (__NR_close, sys_close),
+   GENXY (__NR_stat, sys_newstat),
+   GENXY (__NR_fstat, sys_newfstat),
+   GENXY (__NR_lstat, sys_newlstat),
+   GENXY (__NR_poll, sys_poll),
+   LINX_ (__NR_lseek, sys_lseek),
+   PLAX_ (__NR_mmap, sys_mmap),
+   GENXY (__NR_mprotect, sys_mprotect),
+   GENXY (__NR_munmap, sys_munmap),
+   GENX_ (__NR_brk, sys_brk),
+   LINXY (__NR_rt_sigaction, sys_rt_sigaction),
+   LINXY (__NR_rt_sigprocmask, sys_rt_sigprocmask),
+   LINXY (__NR_ioctl, sys_ioctl),
+   LINXY (__NR_eventfd2, sys_eventfd2),
+   LINXY (__NR_signalfd4, sys_signalfd4),
+   GENXY (__NR_pread64, sys_pread64),
+   GENX_ (__NR_pwrite64, sys_pwrite64),
+   GENXY (__NR_readv, sys_readv),
+   GENX_ (__NR_writev, sys_writev),
+   GENX_ (__NR_access, sys_access),
+   PLAXY (__NR_pipe, sys_pipe),
+   LINXY (__NR_pipe2, sys_pipe2),
+   GENX_ (__NR__newselect,sys_select),
+   LINX_ (__NR_sched_yield, sys_sched_yield),
+   GENX_ (__NR_mremap, sys_mremap),
+   GENX_ (__NR_msync, sys_msync),
+   GENXY (__NR_mincore, sys_mincore),
+   GENX_ (__NR_madvise, sys_madvise),
+   LINX_ (__NR_shmget, sys_shmget),
+   LINXY (__NR_shmat, wrap_sys_shmat),
+   LINXY (__NR_shmctl, sys_shmctl),
+   GENXY (__NR_dup, sys_dup),
+   GENXY (__NR_dup2, sys_dup2),
+   LINXY (__NR_dup3, sys_dup3),
+   GENX_ (__NR_pause, sys_pause),
+   GENXY (__NR_nanosleep, sys_nanosleep),
+   GENXY (__NR_getitimer, sys_getitimer),
+   GENXY (__NR_setitimer, sys_setitimer),
+   GENX_ (__NR_alarm, sys_alarm),
+   GENX_ (__NR_getpid, sys_getpid),
+   /* LINX_(__NR_fallocate,sys_fallocate), */
+   LINXY (__NR_sendfile, sys_sendfile),
+   LINXY (__NR_socket, sys_socket),
+   LINX_ (__NR_connect, sys_connect),
+   LINXY (__NR_accept, sys_accept),
+   LINXY (__NR_accept4, sys_accept4),
+   LINX_ (__NR_sendto, sys_sendto),
+   LINXY (__NR_recvfrom, sys_recvfrom),
+   LINX_ (__NR_sendmsg, sys_sendmsg),
+   LINXY (__NR_recvmsg, sys_recvmsg),
+   LINX_ (__NR_shutdown, sys_shutdown),
+   LINX_ (__NR_bind, sys_bind),
+   LINX_ (__NR_listen, sys_listen),
+   LINXY (__NR_getsockname, sys_getsockname),
+   LINXY (__NR_getpeername, sys_getpeername),
+   LINXY (__NR_socketpair, sys_socketpair),
+   LINX_ (__NR_setsockopt, sys_setsockopt),
+   LINXY (__NR_getsockopt, sys_getsockopt),
+   PLAX_ (__NR_clone, sys_clone),
+   GENX_ (__NR_fork, sys_fork),
+   GENX_ (__NR_execve, sys_execve),
+   GENX_ (__NR_exit, sys_exit),
+   GENXY (__NR_wait4, sys_wait4),
+   GENX_ (__NR_kill, sys_kill),
+   GENXY (__NR_uname, sys_newuname),
+   LINX_ (__NR_semget, sys_semget),
+   LINX_ (__NR_semop, sys_semop),
+   LINXY (__NR_semctl, sys_semctl),
+   LINXY (__NR_shmdt, sys_shmdt),
+   LINX_ (__NR_msgget, sys_msgget),
+   LINX_ (__NR_msgsnd, sys_msgsnd),
+   LINXY (__NR_msgrcv, sys_msgrcv),
+   LINXY (__NR_msgctl, sys_msgctl),
+   LINXY (__NR_fcntl, sys_fcntl),
+   GENX_ (__NR_flock, sys_flock),
+   GENX_ (__NR_fsync, sys_fsync),
+   GENX_ (__NR_fdatasync, sys_fdatasync),
+   GENX_ (__NR_truncate, sys_truncate),
+   GENX_ (__NR_ftruncate, sys_ftruncate),
+   GENXY (__NR_getdents, sys_getdents),
+   GENXY (__NR_getcwd, sys_getcwd),
+   GENX_ (__NR_chdir, sys_chdir),
+   GENX_ (__NR_fchdir, sys_fchdir),
+   GENX_ (__NR_rename, sys_rename),
+   GENX_ (__NR_mkdir, sys_mkdir),
+   GENX_ (__NR_rmdir, sys_rmdir),
+   GENXY (__NR_creat, sys_creat),
+   GENX_ (__NR_link, sys_link),
+   GENX_ (__NR_unlink, sys_unlink),
+   GENX_ (__NR_symlink, sys_symlink),
+   GENX_ (__NR_readlink, sys_readlink),
+   GENX_ (__NR_chmod, sys_chmod),
+   GENX_ (__NR_fchmod, sys_fchmod),
+   GENX_ (__NR_chown, sys_chown),
+   GENX_ (__NR_fchown, sys_fchown),
+   GENX_ (__NR_lchown, sys_lchown),
+   GENX_ (__NR_umask, sys_umask),
+   GENXY (__NR_gettimeofday, sys_gettimeofday),
+   GENXY (__NR_getrlimit, sys_getrlimit),
+   GENXY (__NR_getrusage, sys_getrusage),
+   LINXY (__NR_sysinfo, sys_sysinfo),
+   GENXY (__NR_times, sys_times),
+   PLAXY (__NR_ptrace, sys_ptrace),
+   GENX_ (__NR_getuid, sys_getuid),
+   LINXY (__NR_syslog, sys_syslog),
+   GENX_ (__NR_getgid, sys_getgid),
+   GENX_ (__NR_setuid, sys_setuid),
+   GENX_ (__NR_setgid, sys_setgid),
+   GENX_ (__NR_geteuid, sys_geteuid),
+   GENX_ (__NR_getegid, sys_getegid),
+   GENX_ (__NR_setpgid, sys_setpgid),
+   GENX_ (__NR_getppid, sys_getppid),
+   GENX_ (__NR_getpgrp, sys_getpgrp),
+   GENX_ (__NR_setsid, sys_setsid),
+   GENX_ (__NR_setreuid, sys_setreuid),
+   GENX_ (__NR_setregid, sys_setregid),
+   GENXY (__NR_getgroups, sys_getgroups),
+   GENX_ (__NR_setgroups, sys_setgroups),
+   LINX_ (__NR_setresuid, sys_setresuid),
+   LINXY (__NR_getresuid, sys_getresuid),
+   LINX_ (__NR_setresgid, sys_setresgid),
+   LINXY (__NR_getresgid, sys_getresgid),
+   GENX_ (__NR_getpgid, sys_getpgid),
+   LINX_ (__NR_setfsuid, sys_setfsuid),
+   LINX_ (__NR_setfsgid, sys_setfsgid),
+   GENX_ (__NR_getsid, sys_getsid),
+   LINXY (__NR_capget, sys_capget),
+   LINX_ (__NR_capset, sys_capset),
+   LINXY (__NR_rt_sigpending, sys_rt_sigpending),
+   LINXY (__NR_rt_sigtimedwait, sys_rt_sigtimedwait),
+   LINXY (__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo),
+   LINX_ (__NR_rt_sigsuspend, sys_rt_sigsuspend),
+   GENXY (__NR_sigaltstack, sys_sigaltstack),
+   LINX_ (__NR_utime, sys_utime),
+   GENX_ (__NR_mknod, sys_mknod),
+   LINX_ (__NR_personality, sys_personality),
+   PLAX_ (__NR_ustat, sys_ustat),
+   GENXY (__NR_statfs, sys_statfs),
+   GENXY (__NR_fstatfs, sys_fstatfs),
+   PLAX_ (__NR_sysfs, sys_sysfs),
+   GENX_ (__NR_getpriority, sys_getpriority),
+   GENX_ (__NR_setpriority, sys_setpriority),
+   LINXY (__NR_sched_setparam, sys_sched_setparam),
+   LINXY (__NR_sched_getparam, sys_sched_getparam),
+   LINX_ (__NR_sched_setscheduler, sys_sched_setscheduler),
+   LINX_ (__NR_sched_getscheduler, sys_sched_getscheduler),
+   LINX_ (__NR_sched_get_priority_max, sys_sched_get_priority_max),
+   LINX_ (__NR_sched_get_priority_min, sys_sched_get_priority_min),
+   PLAX_ (__NR_sched_rr_get_interval, sys_sched_rr_get_interval),
+   GENX_ (__NR_mlock, sys_mlock),
+   GENX_ (__NR_munlock, sys_munlock),
+   GENX_ (__NR_mlockall, sys_mlockall),
+   LINX_ (__NR_munlockall, sys_munlockall),
+   LINX_ (__NR_vhangup, sys_vhangup),
+   /* GENX_(__NR_pivot_root,sys_pivot_root), */
+   LINXY (__NR__sysctl, sys_sysctl),
+   LINXY (__NR_prctl, sys_prctl),
+   LINXY (__NR_adjtimex, sys_adjtimex),
+   GENX_ (__NR_setrlimit, sys_setrlimit),
+   GENX_ (__NR_chroot, sys_chroot),
+   GENX_ (__NR_sync, sys_sync),
+   GENX_ (__NR_acct, sys_acct),
+   GENX_ (__NR_settimeofday, sys_settimeofday),
+   LINX_ (__NR_mount, sys_mount),
+   LINX_ (__NR_umount2, sys_umount),
+   PLAX_ (__NR_swapon, sys_swapon),
+   PLAX_ (__NR_swapoff, sys_swapoff),
+   PLAX_ (__NR_reboot, sys_reboot),
+   PLAX_ (__NR_sethostname, sys_sethostname),
+   PLAX_ (__NR_setdomainname, sys_setdomainname),
+   GENX_ (__NR_create_module, sys_ni_syscall),
+   LINX_ (__NR_init_module, sys_init_module),
+   LINX_ (__NR_delete_module, sys_delete_module),
+   GENX_ (__NR_get_kernel_syms, sys_ni_syscall),
+   GENX_ (__NR_query_module, sys_ni_syscall),
+   LINX_ (__NR_quotactl, sys_quotactl),
+   /* GENX_(__NR_nfsservctl,sys_nfsservctl), */
+   GENXY (__NR_getpmsg, sys_getpmsg),
+   GENX_ (__NR_putpmsg, sys_putpmsg),
+   GENX_ (__NR_afs_syscall, sys_ni_syscall),
+   /* GENX_(__NR_reserved177,sys_reserved177), */
+   LINX_ (__NR_gettid, sys_gettid),
+   /* GENX_(__NR_readahead,sys_readahead), */
+   LINX_ (__NR_setxattr, sys_setxattr),
+   LINX_ (__NR_lsetxattr, sys_lsetxattr),
+   LINX_ (__NR_fsetxattr, sys_fsetxattr),
+   LINXY (__NR_getxattr, sys_getxattr),
+   LINXY (__NR_lgetxattr, sys_lgetxattr),
+   LINXY (__NR_fgetxattr, sys_fgetxattr),
+   LINXY (__NR_listxattr, sys_listxattr),
+   LINXY (__NR_llistxattr, sys_llistxattr),
+   LINXY (__NR_flistxattr, sys_flistxattr),
+   LINX_ (__NR_removexattr, sys_removexattr),
+   LINX_ (__NR_lremovexattr, sys_lremovexattr),
+   LINX_ (__NR_fremovexattr, sys_fremovexattr),
+   LINXY (__NR_tkill, sys_tkill),
+   /* GENX_(__NR_reserved193,sys_reserved193), */
+   LINXY (__NR_futex, sys_futex),
+   LINX_ (__NR_sched_setaffinity, sys_sched_setaffinity),
+   LINXY (__NR_sched_getaffinity, sys_sched_getaffinity),
+   PLAX_ (__NR_cacheflush, sys_cacheflush),
+   LINXY (__NR_io_setup, sys_io_setup),
+   LINX_ (__NR_io_destroy, sys_io_destroy),
+   LINXY (__NR_io_getevents, sys_io_getevents),
+   LINX_ (__NR_io_submit, sys_io_submit),
+   LINXY (__NR_io_cancel, sys_io_cancel),
+   LINX_ (__NR_exit_group, sys_exit_group),
+   /* LINXY (__NR_lookup_dcookie, sys_lookup_dcookie), */
+   LINXY (__NR_epoll_create, sys_epoll_create),
+   LINXY (__NR_epoll_create1, sys_epoll_create1),
+   LINX_ (__NR_epoll_ctl, sys_epoll_ctl),
+   LINXY (__NR_epoll_wait, sys_epoll_wait),
+   PLAX_(__NR_rt_sigreturn,sys_rt_sigreturn),
+   /* LINXY(__NR_fcntl64,sys_fcntl64), */
+   LINX_ (__NR_set_tid_address, sys_set_tid_address),
+   LINX_ (__NR_semtimedop, sys_semtimedop),
+   LINX_ (__NR_fadvise64, sys_fadvise64),
+   LINXY (__NR_timer_create, sys_timer_create),
+   LINXY (__NR_timer_settime, sys_timer_settime),
+   LINXY (__NR_timer_gettime, sys_timer_gettime),
+   LINX_ (__NR_timer_getoverrun, sys_timer_getoverrun),
+   LINX_ (__NR_timer_delete, sys_timer_delete),
+   LINX_ (__NR_clock_settime, sys_clock_settime),
+   LINXY (__NR_clock_gettime, sys_clock_gettime),
+   LINXY (__NR_clock_getres, sys_clock_getres),
+   LINXY (__NR_clock_nanosleep, sys_clock_nanosleep),
+   LINX_ (__NR_tgkill, sys_tgkill),
+   GENX_ (__NR_utimes, sys_utimes),
+   LINX_ (__NR_mbind, sys_mbind),
+   LINXY (__NR_get_mempolicy, sys_get_mempolicy),
+   LINX_ (__NR_set_mempolicy, sys_set_mempolicy),
+   LINXY (__NR_mq_open, sys_mq_open),
+   LINX_ (__NR_mq_unlink, sys_mq_unlink),
+   LINX_ (__NR_mq_timedsend, sys_mq_timedsend),
+   LINXY (__NR_mq_timedreceive, sys_mq_timedreceive),
+   LINX_ (__NR_mq_notify, sys_mq_notify),
+   LINXY (__NR_mq_getsetattr, sys_mq_getsetattr),
+   GENX_ (__NR_vserver, sys_ni_syscall),
+   LINXY (__NR_waitid, sys_waitid),
+   LINX_ (__NR_add_key, sys_add_key),
+   LINX_ (__NR_request_key, sys_request_key),
+   LINXY (__NR_keyctl, sys_keyctl),
+   PLAX_ (__NR_set_thread_area, sys_set_thread_area),
+   LINX_ (__NR_inotify_init, sys_inotify_init),
+   LINX_ (__NR_inotify_add_watch, sys_inotify_add_watch),
+   LINX_ (__NR_inotify_rm_watch, sys_inotify_rm_watch),
+   LINXY (__NR_openat, sys_openat),
+   LINX_ (__NR_mkdirat, sys_mkdirat),
+   LINX_ (__NR_mknodat, sys_mknodat),
+   LINX_ (__NR_fchownat, sys_fchownat),
+   LINX_ (__NR_futimesat, sys_futimesat),
+   LINX_ (__NR_unlinkat, sys_unlinkat),
+   LINX_ (__NR_renameat, sys_renameat),
+   LINX_ (__NR_linkat, sys_linkat),
+   LINX_ (__NR_symlinkat, sys_symlinkat),
+   LINX_ (__NR_readlinkat, sys_readlinkat),
+   LINX_ (__NR_fchmodat, sys_fchmodat),
+   LINX_ (__NR_faccessat, sys_faccessat),
+   LINX_ (__NR_pselect6, sys_pselect6),
+   LINXY (__NR_ppoll, sys_ppoll),
+   PLAX_ (__NR_unshare, sys_unshare),
+   PLAX_ (__NR_splice, sys_splice),
+   LINX_ (__NR_sync_file_range, sys_sync_file_range),
+   PLAX_ (__NR_tee, sys_tee),
+   PLAX_ (__NR_vmsplice, sys_vmsplice),
+   LINX_ (__NR_set_robust_list, sys_set_robust_list),
+   LINXY (__NR_get_robust_list, sys_get_robust_list),
+   LINXY (__NR_epoll_pwait, sys_epoll_pwait),
+   LINX_ (__NR_ioprio_set, sys_ioprio_set),
+   LINX_ (__NR_ioprio_get, sys_ioprio_get),
+   LINX_ (__NR_utimensat, sys_utimensat),
+   LINXY (__NR_signalfd, sys_signalfd),
+   LINXY (__NR_eventfd, sys_eventfd),
+   LINX_ (__NR_fallocate, sys_fallocate),
+   LINXY (__NR_timerfd_create, sys_timerfd_create),
+   LINXY (__NR_timerfd_gettime, sys_timerfd_gettime),
+   LINXY (__NR_timerfd_settime, sys_timerfd_settime),
+   LINXY (__NR_newfstatat, sys_newfstatat),
+   LINXY (__NR_prlimit64, sys_prlimit64),
+   LINXY (__NR_process_vm_readv, sys_process_vm_readv),
+   LINX_ (__NR_process_vm_writev, sys_process_vm_writev)
+};
+
+SyscallTableEntry * ML_(get_linux_syscall_entry) ( UInt sysno )
+{
+   const UInt syscall_main_table_size
+      = sizeof(syscall_main_table) / sizeof(syscall_main_table[0]);
+
+   if (sysno < syscall_main_table_size) {
+      SyscallTableEntry * sys = &syscall_main_table[sysno];
+      if (sys->before == NULL)
+         return NULL;  /* no entry */
+      else
+         return sys;
+   }
+   /* Can't find a wrapper */
+   return NULL;
+}
+
+#endif  /* defined(VGP_mips64_linux) */
+
+/*--------------------------------------------------------------------*/ 
+/*--- end                                   syswrap-mips64-linux.c ---*/ 
+/*--------------------------------------------------------------------*/ 
diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c
index 715e685..c866fae 100644
--- a/coregrind/m_syswrap/syswrap-ppc32-linux.c
+++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c
@@ -7,8 +7,8 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Nicholas Nethercote <njn@valgrind.org>
-   Copyright (C) 2005-2011 Cerion Armour-Brown <cerion@open-works.co.uk>
+   Copyright (C) 2005-2012 Nicholas Nethercote <njn@valgrind.org>
+   Copyright (C) 2005-2012 Cerion Armour-Brown <cerion@open-works.co.uk>
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -158,6 +158,7 @@
                                      vki_modify_ldt_t * );
 asm(
 ".text\n"
+".globl do_syscall_clone_ppc32_linux\n"
 "do_syscall_clone_ppc32_linux:\n"
 "       stwu    1,-32(1)\n"
 "       stw     29,20(1)\n"
@@ -409,14 +410,12 @@
    aren't visible outside this file, but that requires even more macro
    magic. */
 
-DECL_TEMPLATE(ppc32_linux, sys_socketcall);
 DECL_TEMPLATE(ppc32_linux, sys_mmap);
 DECL_TEMPLATE(ppc32_linux, sys_mmap2);
 DECL_TEMPLATE(ppc32_linux, sys_stat64);
 DECL_TEMPLATE(ppc32_linux, sys_lstat64);
 DECL_TEMPLATE(ppc32_linux, sys_fstatat64);
 DECL_TEMPLATE(ppc32_linux, sys_fstat64);
-DECL_TEMPLATE(ppc32_linux, sys_ipc);
 DECL_TEMPLATE(ppc32_linux, sys_clone);
 DECL_TEMPLATE(ppc32_linux, sys_sigreturn);
 DECL_TEMPLATE(ppc32_linux, sys_rt_sigreturn);
@@ -424,271 +423,6 @@
 DECL_TEMPLATE(ppc32_linux, sys_spu_create);
 DECL_TEMPLATE(ppc32_linux, sys_spu_run);
 
-PRE(sys_socketcall)
-{
-#  define ARG2_0  (((UWord*)ARG2)[0])
-#  define ARG2_1  (((UWord*)ARG2)[1])
-#  define ARG2_2  (((UWord*)ARG2)[2])
-#  define ARG2_3  (((UWord*)ARG2)[3])
-#  define ARG2_4  (((UWord*)ARG2)[4])
-#  define ARG2_5  (((UWord*)ARG2)[5])
-
-   *flags |= SfMayBlock;
-   PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
-   PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
-
-   switch (ARG1 /* request */) {
-
-   case VKI_SYS_SOCKETPAIR:
-     /* int socketpair(int d, int type, int protocol, int sv[2]); */
-      PRE_MEM_READ( "socketcall.socketpair(args)", ARG2, 4*sizeof(Addr) );
-      ML_(generic_PRE_sys_socketpair)( tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3 );
-      break;
-
-   case VKI_SYS_SOCKET:
-     /* int socket(int domain, int type, int protocol); */
-      PRE_MEM_READ( "socketcall.socket(args)", ARG2, 3*sizeof(Addr) );
-      break;
-
-   case VKI_SYS_BIND:
-     /* int bind(int sockfd, struct sockaddr *my_addr,
-	int addrlen); */
-      PRE_MEM_READ( "socketcall.bind(args)", ARG2, 3*sizeof(Addr) );
-      ML_(generic_PRE_sys_bind)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_LISTEN:
-     /* int listen(int s, int backlog); */
-      PRE_MEM_READ( "socketcall.listen(args)", ARG2, 2*sizeof(Addr) );
-      break;
-
-   case VKI_SYS_ACCEPT: {
-     /* int accept(int s, struct sockaddr *addr, int *addrlen); */
-      PRE_MEM_READ( "socketcall.accept(args)", ARG2, 3*sizeof(Addr) );
-      ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-   }
-
-   case VKI_SYS_ACCEPT4: {
-     /* int accept(int s, struct sockaddr *addr, int *addrlen, int args); */
-      PRE_MEM_READ( "socketcall.accept4(args)", ARG2, 4*sizeof(Addr) );
-      ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-   }
-
-   case VKI_SYS_SENDTO:
-     /* int sendto(int s, const void *msg, int len,
-                    unsigned int flags,
-                    const struct sockaddr *to, int tolen); */
-     PRE_MEM_READ( "socketcall.sendto(args)", ARG2, 6*sizeof(Addr) );
-     ML_(generic_PRE_sys_sendto)( tid, ARG2_0, ARG2_1, ARG2_2,
-				  ARG2_3, ARG2_4, ARG2_5 );
-     break;
-
-   case VKI_SYS_SEND:
-     /* int send(int s, const void *msg, size_t len, int flags); */
-     PRE_MEM_READ( "socketcall.send(args)", ARG2, 4*sizeof(Addr) );
-     ML_(generic_PRE_sys_send)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_RECVFROM:
-     /* int recvfrom(int s, void *buf, int len, unsigned int flags,
-	struct sockaddr *from, int *fromlen); */
-     PRE_MEM_READ( "socketcall.recvfrom(args)", ARG2, 6*sizeof(Addr) );
-     ML_(generic_PRE_sys_recvfrom)( tid, ARG2_0, ARG2_1, ARG2_2,
-				    ARG2_3, ARG2_4, ARG2_5 );
-     break;
-
-   case VKI_SYS_RECV:
-     /* int recv(int s, void *buf, int len, unsigned int flags); */
-     /* man 2 recv says:
-         The  recv call is normally used only on a connected socket
-         (see connect(2)) and is identical to recvfrom with a  NULL
-         from parameter.
-     */
-     PRE_MEM_READ( "socketcall.recv(args)", ARG2, 4*sizeof(Addr) );
-     ML_(generic_PRE_sys_recv)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_CONNECT:
-     /* int connect(int sockfd,
-	struct sockaddr *serv_addr, int addrlen ); */
-     PRE_MEM_READ( "socketcall.connect(args)", ARG2, 3*sizeof(Addr) );
-     ML_(generic_PRE_sys_connect)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_SETSOCKOPT:
-     /* int setsockopt(int s, int level, int optname,
-	const void *optval, int optlen); */
-     PRE_MEM_READ( "socketcall.setsockopt(args)", ARG2, 5*sizeof(Addr) );
-     ML_(generic_PRE_sys_setsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
-				      ARG2_3, ARG2_4 );
-     break;
-
-   case VKI_SYS_GETSOCKOPT:
-     /* int getsockopt(int s, int level, int optname,
-	void *optval, socklen_t *optlen); */
-     PRE_MEM_READ( "socketcall.getsockopt(args)", ARG2, 5*sizeof(Addr) );
-     ML_(linux_PRE_sys_getsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
-				    ARG2_3, ARG2_4 );
-     break;
-
-   case VKI_SYS_GETSOCKNAME:
-     /* int getsockname(int s, struct sockaddr* name, int* namelen) */
-     PRE_MEM_READ( "socketcall.getsockname(args)", ARG2, 3*sizeof(Addr) );
-     ML_(generic_PRE_sys_getsockname)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_GETPEERNAME:
-     /* int getpeername(int s, struct sockaddr* name, int* namelen) */
-     PRE_MEM_READ( "socketcall.getpeername(args)", ARG2, 3*sizeof(Addr) );
-     ML_(generic_PRE_sys_getpeername)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_SHUTDOWN:
-     /* int shutdown(int s, int how); */
-     PRE_MEM_READ( "socketcall.shutdown(args)", ARG2, 2*sizeof(Addr) );
-     break;
-
-   case VKI_SYS_SENDMSG: {
-     /* int sendmsg(int s, const struct msghdr *msg, int flags); */
-
-     /* this causes warnings, and I don't get why. glibc bug?
-      * (after all it's glibc providing the arguments array)
-       PRE_MEM_READ( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
-     */
-     ML_(generic_PRE_sys_sendmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
-     break;
-   }
-
-   case VKI_SYS_RECVMSG: {
-     /* int recvmsg(int s, struct msghdr *msg, int flags); */
-
-     /* this causes warnings, and I don't get why. glibc bug?
-      * (after all it's glibc providing the arguments array)
-       PRE_MEM_READ("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
-     */
-     ML_(generic_PRE_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
-     break;
-   }
-
-   default:
-     VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx\n",ARG1);
-     SET_STATUS_Failure( VKI_EINVAL );
-     break;
-   }
-#  undef ARG2_0
-#  undef ARG2_1
-#  undef ARG2_2
-#  undef ARG2_3
-#  undef ARG2_4
-#  undef ARG2_5
-}
-
-POST(sys_socketcall)
-{
-#  define ARG2_0  (((UWord*)ARG2)[0])
-#  define ARG2_1  (((UWord*)ARG2)[1])
-#  define ARG2_2  (((UWord*)ARG2)[2])
-#  define ARG2_3  (((UWord*)ARG2)[3])
-#  define ARG2_4  (((UWord*)ARG2)[4])
-#  define ARG2_5  (((UWord*)ARG2)[5])
-
-  SysRes r;
-  vg_assert(SUCCESS);
-  switch (ARG1 /* request */) {
-
-  case VKI_SYS_SOCKETPAIR:
-    r = ML_(generic_POST_sys_socketpair)(
-					 tid, VG_(mk_SysRes_Success)(RES),
-					 ARG2_0, ARG2_1, ARG2_2, ARG2_3
-					 );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_SOCKET:
-    r = ML_(generic_POST_sys_socket)( tid, VG_(mk_SysRes_Success)(RES) );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_BIND:
-    /* int bind(int sockfd, struct sockaddr *my_addr,
-       int addrlen); */
-    break;
-
-  case VKI_SYS_LISTEN:
-    /* int listen(int s, int backlog); */
-    break;
-
-  case VKI_SYS_ACCEPT:
-  case VKI_SYS_ACCEPT4:
-    /* int accept(int s, struct sockaddr *addr, int *addrlen); */
-    r = ML_(generic_POST_sys_accept)( tid, VG_(mk_SysRes_Success)(RES),
-				      ARG2_0, ARG2_1, ARG2_2 );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_SENDTO:
-    break;
-
-  case VKI_SYS_SEND:
-    break;
-
-  case VKI_SYS_RECVFROM:
-    ML_(generic_POST_sys_recvfrom)( tid, VG_(mk_SysRes_Success)(RES),
-				    ARG2_0, ARG2_1, ARG2_2,
-				    ARG2_3, ARG2_4, ARG2_5 );
-    break;
-
-  case VKI_SYS_RECV:
-    ML_(generic_POST_sys_recv)( tid, RES, ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_CONNECT:
-    break;
-
-  case VKI_SYS_SETSOCKOPT:
-    break;
-
-  case VKI_SYS_GETSOCKOPT:
-    ML_(linux_POST_sys_getsockopt)( tid, VG_(mk_SysRes_Success)(RES),
-				    ARG2_0, ARG2_1,
-				    ARG2_2, ARG2_3, ARG2_4 );
-    break;
-
-  case VKI_SYS_GETSOCKNAME:
-    ML_(generic_POST_sys_getsockname)( tid, VG_(mk_SysRes_Success)(RES),
-				       ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_GETPEERNAME:
-    ML_(generic_POST_sys_getpeername)( tid, VG_(mk_SysRes_Success)(RES),
-				       ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_SHUTDOWN:
-    break;
-
-  case VKI_SYS_SENDMSG:
-    break;
-
-  case VKI_SYS_RECVMSG:
-    ML_(generic_POST_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1, RES );
-    break;
-
-  default:
-    VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx\n",ARG1);
-    VG_(core_panic)("... bye!\n");
-    break; /*NOTREACHED*/
-  }
-#  undef ARG2_0
-#  undef ARG2_1
-#  undef ARG2_2
-#  undef ARG2_3
-#  undef ARG2_4
-#  undef ARG2_5
-}
-
 PRE(sys_mmap)
 {
    SysRes r;
@@ -783,160 +517,6 @@
   POST_MEM_WRITE( ARG2, sizeof(struct vki_stat64) );
 }
 
-static Addr deref_Addr ( ThreadId tid, Addr a, Char* s )
-{
-   Addr* a_p = (Addr*)a;
-   PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
-   return *a_p;
-}
-
-PRE(sys_ipc)
-{
-  PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-  // XXX: this is simplistic -- some args are not used in all circumstances.
-  PRE_REG_READ6(int, "ipc",
-		vki_uint, call, int, first, int, second, int, third,
-		void *, ptr, long, fifth)
-
-    switch (ARG1 /* call */) {
-    case VKI_SEMOP:
-      ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
-      *flags |= SfMayBlock;
-      break;
-    case VKI_SEMGET:
-      break;
-    case VKI_SEMCTL:
-      {
-	UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-	ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-	break;
-      }
-    case VKI_SEMTIMEDOP:
-      ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
-      *flags |= SfMayBlock;
-      break;
-    case VKI_MSGSND:
-      ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
-      if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-	*flags |= SfMayBlock;
-      break;
-    case VKI_MSGRCV:
-      {
-	Addr msgp;
-	Word msgtyp;
-
-	msgp = deref_Addr( tid,
-			   (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-			   "msgrcv(msgp)" );
-	msgtyp = deref_Addr( tid,
-			     (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-			     "msgrcv(msgp)" );
-
-	ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
-
-	if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-	  *flags |= SfMayBlock;
-	break;
-      }
-    case VKI_MSGGET:
-      break;
-    case VKI_MSGCTL:
-      ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
-      break;
-    case VKI_SHMAT:
-      {
-	UWord w;
-	PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
-	w = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
-	if (w == 0)
-	  SET_STATUS_Failure( VKI_EINVAL );
-	else
-	  ARG5 = w;
-	break;
-      }
-    case VKI_SHMDT:
-      if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
-	SET_STATUS_Failure( VKI_EINVAL );
-      break;
-    case VKI_SHMGET:
-      break;
-    case VKI_SHMCTL: /* IPCOP_shmctl */
-      ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
-      break;
-    default:
-      VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld\n", ARG1 );
-      VG_(core_panic)("... bye!\n");
-      break; /*NOTREACHED*/
-    }
-}
-
-POST(sys_ipc)
-{
-  vg_assert(SUCCESS);
-  switch (ARG1 /* call */) {
-  case VKI_SEMOP:
-  case VKI_SEMGET:
-    break;
-  case VKI_SEMCTL:
-    {
-      UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-      ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-      break;
-    }
-  case VKI_SEMTIMEDOP:
-  case VKI_MSGSND:
-    break;
-  case VKI_MSGRCV:
-    {
-      Addr msgp;
-      Word msgtyp;
-
-      msgp = deref_Addr( tid,
-                         (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-                         "msgrcv(msgp)" );
-      msgtyp = deref_Addr( tid,
-                           (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-                           "msgrcv(msgp)" );
-
-      ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
-      break;
-    }
-  case VKI_MSGGET:
-    break;
-  case VKI_MSGCTL:
-    ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
-    break;
-  case VKI_SHMAT:
-    {
-      Addr addr;
-
-      /* force readability. before the syscall it is
-       * indeed uninitialized, as can be seen in
-       * glibc/sysdeps/unix/sysv/linux/shmat.c */
-      POST_MEM_WRITE( ARG4, sizeof( Addr ) );
-
-      addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
-      ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
-      break;
-    }
-  case VKI_SHMDT:
-    ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
-    break;
-  case VKI_SHMGET:
-    break;
-  case VKI_SHMCTL:
-    ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
-    break;
-  default:
-    VG_(message)(Vg_DebugMsg,
-		 "FATAL: unhandled syscall(ipc) %ld\n",
-		 ARG1 );
-    VG_(core_panic)("... bye!\n");
-    break; /*NOTREACHED*/
-  }
-}
-
-
 
 
 //.. PRE(old_select, MayBlock)
@@ -1239,159 +819,6 @@
 //..    }
 //.. }
 
-//.. // XXX: this duplicates a function in coregrind/vg_syscalls.c, yuk
-//.. static Addr deref_Addr ( ThreadId tid, Addr a, Char* s )
-//.. {
-//..    Addr* a_p = (Addr*)a;
-//..    PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
-//..    return *a_p;
-//.. }
-
-//.. // XXX: should use the constants here (eg. SHMAT), not the numbers directly!
-//.. PRE(sys_ipc, 0)
-//.. {
-//..    PRINT("sys_ipc ( %d, %d, %d, %d, %p, %d )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-//..    // XXX: this is simplistic -- some args are not used in all circumstances.
-//..    PRE_REG_READ6(int, "ipc",
-//..                  vki_uint, call, int, first, int, second, int, third,
-//..                  void *, ptr, long, fifth)
-//.. 
-//..    switch (ARG1 /* call */) {
-//..    case VKI_SEMOP:
-//..       ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
-//..       /* tst->sys_flags |= MayBlock; */
-//..       break;
-//..    case VKI_SEMGET:
-//..       break;
-//..    case VKI_SEMCTL:
-//..    {
-//..       UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-//..       ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-//..       break;
-//..    }
-//..    case VKI_SEMTIMEDOP:
-//..       ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
-//..       /* tst->sys_flags |= MayBlock; */
-//..       break;
-//..    case VKI_MSGSND:
-//..       ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
-//..       /* if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-//..             tst->sys_flags |= MayBlock;
-//..       */
-//..       break;
-//..    case VKI_MSGRCV:
-//..    {
-//..       Addr msgp;
-//..       Word msgtyp;
-//..  
-//..       msgp = deref_Addr( tid,
-//.. 			 (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-//.. 			 "msgrcv(msgp)" );
-//..       msgtyp = deref_Addr( tid,
-//.. 			   (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-//.. 			   "msgrcv(msgp)" );
-//.. 
-//..       ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
-//.. 
-//..       /* if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-//..             tst->sys_flags |= MayBlock;
-//..       */
-//..       break;
-//..    }
-//..    case VKI_MSGGET:
-//..       break;
-//..    case VKI_MSGCTL:
-//..       ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
-//..       break;
-//..    case VKI_SHMAT:
-//..       PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
-//..       ARG5 = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
-//..       if (ARG5 == 0)
-//..          SET_RESULT( -VKI_EINVAL );
-//..       break;
-//..    case VKI_SHMDT:
-//..       if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
-//.. 	 SET_RESULT( -VKI_EINVAL );
-//..       break;
-//..    case VKI_SHMGET:
-//..       break;
-//..    case VKI_SHMCTL: /* IPCOP_shmctl */
-//..       ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
-//..       break;
-//..    default:
-//..       VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %d", ARG1 );
-//..       VG_(core_panic)("... bye!\n");
-//..       break; /*NOTREACHED*/
-//..    }   
-//.. }
-
-//.. POST(sys_ipc)
-//.. {
-//..    switch (ARG1 /* call */) {
-//..    case VKI_SEMOP:
-//..    case VKI_SEMGET:
-//..       break;
-//..    case VKI_SEMCTL:
-//..    {
-//..       UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-//..       ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-//..       break;
-//..    }
-//..    case VKI_SEMTIMEDOP:
-//..    case VKI_MSGSND:
-//..       break;
-//..    case VKI_MSGRCV:
-//..    {
-//..       Addr msgp;
-//..       Word msgtyp;
-//.. 
-//..       msgp = deref_Addr( tid,
-//.. 			 (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-//.. 			 "msgrcv(msgp)" );
-//..       msgtyp = deref_Addr( tid,
-//.. 			   (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-//.. 			   "msgrcv(msgp)" );
-//.. 
-//..       ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
-//..       break;
-//..    }
-//..    case VKI_MSGGET:
-//..       break;
-//..    case VKI_MSGCTL:
-//..       ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
-//..       break;
-//..    case VKI_SHMAT:
-//..    {
-//..       Addr addr;
-//.. 
-//..       /* force readability. before the syscall it is
-//..        * indeed uninitialized, as can be seen in
-//..        * glibc/sysdeps/unix/sysv/linux/shmat.c */
-//..       POST_MEM_WRITE( ARG4, sizeof( Addr ) );
-//.. 
-//..       addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
-//..       if ( addr > 0 ) { 
-//..          ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
-//..       }
-//..       break;
-//..    }
-//..    case VKI_SHMDT:
-//..       ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
-//..       break;
-//..    case VKI_SHMGET:
-//..       break;
-//..    case VKI_SHMCTL:
-//..       ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
-//..       break;
-//..    default:
-//..       VG_(message)(Vg_DebugMsg,
-//.. 		   "FATAL: unhandled syscall(ipc) %d",
-//.. 		   ARG1 );
-//..       VG_(core_panic)("... bye!\n");
-//..       break; /*NOTREACHED*/
-//..    }
-//.. }
-
 /* NB: This is an almost identical clone of versions for x86-linux and
    arm-linux, which are themselves literally identical. */
 PRE(sys_sigsuspend)
@@ -1572,7 +999,7 @@
 //.. 
    GENXY(__NR_fstatfs,           sys_fstatfs),           // 100
 //..    LINX_(__NR_ioperm,            sys_ioperm),            // 101
-   PLAXY(__NR_socketcall,        sys_socketcall),        // 102
+   LINXY(__NR_socketcall,        sys_socketcall),        // 102
    LINXY(__NR_syslog,            sys_syslog),            // 103
    GENXY(__NR_setitimer,         sys_setitimer),         // 104
 
@@ -1590,7 +1017,7 @@
 //.. 
 //..    //   (__NR_swapoff,           sys_swapoff),           // 115 */Linux 
    LINXY(__NR_sysinfo,           sys_sysinfo),           // 116
-   PLAXY(__NR_ipc,               sys_ipc),               // 117
+   LINXY(__NR_ipc,               sys_ipc),               // 117
    GENX_(__NR_fsync,             sys_fsync),             // 118
    PLAX_(__NR_sigreturn,         sys_sigreturn),         // 119 ?/Linux
 //.. 
@@ -1764,7 +1191,7 @@
 /* Number 256 is reserved for sys_debug_setcontext */
 /* Number 257 is reserved for vserver */
 /* Number 258 is reserved for new sys_remap_file_pages */
-/* Number 259 is reserved for new sys_mbind */
+   LINX_(__NR_mbind,             sys_mbind),             // 259
    LINXY(__NR_get_mempolicy,     sys_get_mempolicy),          // 260
    LINX_(__NR_set_mempolicy,     sys_set_mempolicy),          // 261
 
@@ -1807,7 +1234,7 @@
    LINX_(__NR_faccessat,         sys_faccessat),         // 298
    LINX_(__NR_set_robust_list,   sys_set_robust_list),   // 299
    LINXY(__NR_get_robust_list,   sys_get_robust_list),   // 300
-//   LINX_(__NR_move_pages,        sys_ni_syscall),        // 301
+   LINXY(__NR_move_pages,        sys_move_pages),        // 301
    LINXY(__NR_getcpu,            sys_getcpu),            // 302
    LINXY(__NR_epoll_pwait,       sys_epoll_pwait),       // 303
    LINX_(__NR_utimensat,         sys_utimensat),         // 304
diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c
index 75137f2..d3a5b0f 100644
--- a/coregrind/m_syswrap/syswrap-ppc64-linux.c
+++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c
@@ -7,8 +7,8 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Nicholas Nethercote <njn@valgrind.org>
-   Copyright (C) 2005-2011 Cerion Armour-Brown <cerion@open-works.co.uk>
+   Copyright (C) 2005-2012 Nicholas Nethercote <njn@valgrind.org>
+   Copyright (C) 2005-2012 Cerion Armour-Brown <cerion@open-works.co.uk>
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -439,284 +439,16 @@
    aren't visible outside this file, but that requires even more macro
    magic. */
 
-DECL_TEMPLATE(ppc64_linux, sys_socketcall);
 DECL_TEMPLATE(ppc64_linux, sys_mmap);
 //zz DECL_TEMPLATE(ppc64_linux, sys_mmap2);
 //zz DECL_TEMPLATE(ppc64_linux, sys_stat64);
 //zz DECL_TEMPLATE(ppc64_linux, sys_lstat64);
 //zz DECL_TEMPLATE(ppc64_linux, sys_fstat64);
-DECL_TEMPLATE(ppc64_linux, sys_ipc);
 DECL_TEMPLATE(ppc64_linux, sys_clone);
 //zz DECL_TEMPLATE(ppc64_linux, sys_sigreturn);
 DECL_TEMPLATE(ppc64_linux, sys_rt_sigreturn);
 DECL_TEMPLATE(ppc64_linux, sys_fadvise64);
 
-PRE(sys_socketcall)
-{
-#  define ARG2_0  (((UWord*)ARG2)[0])
-#  define ARG2_1  (((UWord*)ARG2)[1])
-#  define ARG2_2  (((UWord*)ARG2)[2])
-#  define ARG2_3  (((UWord*)ARG2)[3])
-#  define ARG2_4  (((UWord*)ARG2)[4])
-#  define ARG2_5  (((UWord*)ARG2)[5])
-
-   *flags |= SfMayBlock;
-   PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
-   PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
-
-   switch (ARG1 /* request */) {
-
-   case VKI_SYS_SOCKETPAIR:
-     /* int socketpair(int d, int type, int protocol, int sv[2]); */
-      PRE_MEM_READ( "socketcall.socketpair(args)", ARG2, 4*sizeof(Addr) );
-      ML_(generic_PRE_sys_socketpair)( tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3 );
-      break;
-
-   case VKI_SYS_SOCKET:
-     /* int socket(int domain, int type, int protocol); */
-      PRE_MEM_READ( "socketcall.socket(args)", ARG2, 3*sizeof(Addr) );
-      break;
-
-   case VKI_SYS_BIND:
-     /* int bind(int sockfd, struct sockaddr *my_addr,
-	int addrlen); */
-      PRE_MEM_READ( "socketcall.bind(args)", ARG2, 3*sizeof(Addr) );
-      ML_(generic_PRE_sys_bind)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_LISTEN:
-     /* int listen(int s, int backlog); */
-      PRE_MEM_READ( "socketcall.listen(args)", ARG2, 2*sizeof(Addr) );
-      break;
-
-   case VKI_SYS_ACCEPT: {
-     /* int accept(int s, struct sockaddr *addr, int *addrlen); */
-      PRE_MEM_READ( "socketcall.accept(args)", ARG2, 3*sizeof(Addr) );
-      ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-   }
-
-   case VKI_SYS_ACCEPT4: {
-     /* int accept4(int s, struct sockaddr *addr, int *addrlen, int flags); */
-      PRE_MEM_READ( "socketcall.accept4(args)", ARG2, 4*sizeof(Addr) );
-      ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-   }
-
-   case VKI_SYS_SENDTO:
-     /* int sendto(int s, const void *msg, int len,
-                    unsigned int flags,
-                    const struct sockaddr *to, int tolen); */
-     PRE_MEM_READ( "socketcall.sendto(args)", ARG2, 6*sizeof(Addr) );
-     ML_(generic_PRE_sys_sendto)( tid, ARG2_0, ARG2_1, ARG2_2,
-				  ARG2_3, ARG2_4, ARG2_5 );
-     break;
-
-   case VKI_SYS_SEND:
-     /* int send(int s, const void *msg, size_t len, int flags); */
-     PRE_MEM_READ( "socketcall.send(args)", ARG2, 4*sizeof(Addr) );
-     ML_(generic_PRE_sys_send)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_RECVFROM:
-     /* int recvfrom(int s, void *buf, int len, unsigned int flags,
-	struct sockaddr *from, int *fromlen); */
-     PRE_MEM_READ( "socketcall.recvfrom(args)", ARG2, 6*sizeof(Addr) );
-     ML_(generic_PRE_sys_recvfrom)( tid, ARG2_0, ARG2_1, ARG2_2,
-				    ARG2_3, ARG2_4, ARG2_5 );
-     break;
-
-   case VKI_SYS_RECV:
-     /* int recv(int s, void *buf, int len, unsigned int flags); */
-     /* man 2 recv says:
-         The  recv call is normally used only on a connected socket
-         (see connect(2)) and is identical to recvfrom with a  NULL
-         from parameter.
-     */
-     PRE_MEM_READ( "socketcall.recv(args)", ARG2, 4*sizeof(Addr) );
-     ML_(generic_PRE_sys_recv)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_CONNECT:
-     /* int connect(int sockfd,
-	struct sockaddr *serv_addr, int addrlen ); */
-     PRE_MEM_READ( "socketcall.connect(args)", ARG2, 3*sizeof(Addr) );
-     ML_(generic_PRE_sys_connect)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_SETSOCKOPT:
-     /* int setsockopt(int s, int level, int optname,
-	const void *optval, int optlen); */
-     PRE_MEM_READ( "socketcall.setsockopt(args)", ARG2, 5*sizeof(Addr) );
-     ML_(generic_PRE_sys_setsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
-				      ARG2_3, ARG2_4 );
-     break;
-
-   case VKI_SYS_GETSOCKOPT:
-     /* int getsockopt(int s, int level, int optname,
-	void *optval, socklen_t *optlen); */
-     PRE_MEM_READ( "socketcall.getsockopt(args)", ARG2, 5*sizeof(Addr) );
-     ML_(linux_PRE_sys_getsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
-				    ARG2_3, ARG2_4 );
-     break;
-
-   case VKI_SYS_GETSOCKNAME:
-     /* int getsockname(int s, struct sockaddr* name, int* namelen) */
-     PRE_MEM_READ( "socketcall.getsockname(args)", ARG2, 3*sizeof(Addr) );
-     ML_(generic_PRE_sys_getsockname)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_GETPEERNAME:
-     /* int getpeername(int s, struct sockaddr* name, int* namelen) */
-     PRE_MEM_READ( "socketcall.getpeername(args)", ARG2, 3*sizeof(Addr) );
-     ML_(generic_PRE_sys_getpeername)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_SHUTDOWN:
-     /* int shutdown(int s, int how); */
-     PRE_MEM_READ( "socketcall.shutdown(args)", ARG2, 2*sizeof(Addr) );
-     break;
-
-   case VKI_SYS_SENDMSG: {
-     /* int sendmsg(int s, const struct msghdr *msg, int flags); */
-
-     /* this causes warnings, and I don't get why. glibc bug?
-      * (after all it's glibc providing the arguments array)
-       PRE_MEM_READ( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
-     */
-     ML_(generic_PRE_sys_sendmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
-     break;
-   }
-
-   case VKI_SYS_RECVMSG: {
-     /* int recvmsg(int s, struct msghdr *msg, int flags); */
-
-     /* this causes warnings, and I don't get why. glibc bug?
-      * (after all it's glibc providing the arguments array)
-       PRE_MEM_READ("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
-     */
-     ML_(generic_PRE_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
-     break;
-   }
-
-   default:
-     VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx\n",ARG1);
-     SET_STATUS_Failure( VKI_EINVAL );
-     break;
-   }
-#  undef ARG2_0
-#  undef ARG2_1
-#  undef ARG2_2
-#  undef ARG2_3
-#  undef ARG2_4
-#  undef ARG2_5
-}
-
-POST(sys_socketcall)
-{
-#  define ARG2_0  (((UWord*)ARG2)[0])
-#  define ARG2_1  (((UWord*)ARG2)[1])
-#  define ARG2_2  (((UWord*)ARG2)[2])
-#  define ARG2_3  (((UWord*)ARG2)[3])
-#  define ARG2_4  (((UWord*)ARG2)[4])
-#  define ARG2_5  (((UWord*)ARG2)[5])
-
-  SysRes r;
-  vg_assert(SUCCESS);
-  switch (ARG1 /* request */) {
-
-  case VKI_SYS_SOCKETPAIR:
-    r = ML_(generic_POST_sys_socketpair)(
-					 tid, VG_(mk_SysRes_Success)(RES),
-					 ARG2_0, ARG2_1, ARG2_2, ARG2_3
-					 );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_SOCKET:
-    r = ML_(generic_POST_sys_socket)( tid, VG_(mk_SysRes_Success)(RES) );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_BIND:
-    /* int bind(int sockfd, struct sockaddr *my_addr,
-       int addrlen); */
-    break;
-
-  case VKI_SYS_LISTEN:
-    /* int listen(int s, int backlog); */
-    break;
-
-  case VKI_SYS_ACCEPT:
-  case VKI_SYS_ACCEPT4:
-    /* int accept(int s, struct sockaddr *addr, int *addrlen); */
-    /* int accept4(int s, struct sockaddr *addr, int *addrlen, int flags); */
-    r = ML_(generic_POST_sys_accept)( tid, VG_(mk_SysRes_Success)(RES),
-				      ARG2_0, ARG2_1, ARG2_2 );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_SENDTO:
-    break;
-
-  case VKI_SYS_SEND:
-    break;
-
-  case VKI_SYS_RECVFROM:
-    ML_(generic_POST_sys_recvfrom)( tid, VG_(mk_SysRes_Success)(RES),
-				    ARG2_0, ARG2_1, ARG2_2,
-				    ARG2_3, ARG2_4, ARG2_5 );
-    break;
-
-  case VKI_SYS_RECV:
-    ML_(generic_POST_sys_recv)( tid, RES, ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_CONNECT:
-    break;
-
-  case VKI_SYS_SETSOCKOPT:
-    break;
-
-  case VKI_SYS_GETSOCKOPT:
-    ML_(linux_POST_sys_getsockopt)( tid, VG_(mk_SysRes_Success)(RES),
-				    ARG2_0, ARG2_1,
-				    ARG2_2, ARG2_3, ARG2_4 );
-    break;
-
-  case VKI_SYS_GETSOCKNAME:
-    ML_(generic_POST_sys_getsockname)( tid, VG_(mk_SysRes_Success)(RES),
-				       ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_GETPEERNAME:
-    ML_(generic_POST_sys_getpeername)( tid, VG_(mk_SysRes_Success)(RES),
-				       ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_SHUTDOWN:
-    break;
-
-  case VKI_SYS_SENDMSG:
-    break;
-
-  case VKI_SYS_RECVMSG:
-    ML_(generic_POST_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1, RES );
-    break;
-
-  default:
-    VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx\n",ARG1);
-    VG_(core_panic)("... bye!\n");
-    break; /*NOTREACHED*/
-  }
-#  undef ARG2_0
-#  undef ARG2_1
-#  undef ARG2_2
-#  undef ARG2_3
-#  undef ARG2_4
-#  undef ARG2_5
-}
-
 PRE(sys_mmap)
 {
    SysRes r;
@@ -797,158 +529,6 @@
 //zz   POST_MEM_WRITE( ARG2, sizeof(struct vki_stat64) );
 //zz }
 
-static Addr deref_Addr ( ThreadId tid, Addr a, Char* s )
-{
-   Addr* a_p = (Addr*)a;
-   PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
-   return *a_p;
-}
-
-PRE(sys_ipc)
-{
-  PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-  // XXX: this is simplistic -- some args are not used in all circumstances.
-  PRE_REG_READ6(int, "ipc",
-		vki_uint, call, int, first, int, second, int, third,
-		void *, ptr, long, fifth)
-
-    switch (ARG1 /* call */) {
-    case VKI_SEMOP:
-      ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
-      *flags |= SfMayBlock;
-      break;
-    case VKI_SEMGET:
-      break;
-    case VKI_SEMCTL:
-      {
-	UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-	ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-	break;
-      }
-    case VKI_SEMTIMEDOP:
-      ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
-      *flags |= SfMayBlock;
-      break;
-    case VKI_MSGSND:
-      ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
-      if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-	*flags |= SfMayBlock;
-      break;
-    case VKI_MSGRCV:
-      {
-	Addr msgp;
-	Word msgtyp;
-
-	msgp = deref_Addr( tid,
-			   (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-			   "msgrcv(msgp)" );
-	msgtyp = deref_Addr( tid,
-			     (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-			     "msgrcv(msgp)" );
-
-	ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
-
-	if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-	  *flags |= SfMayBlock;
-	break;
-      }
-    case VKI_MSGGET:
-      break;
-    case VKI_MSGCTL:
-      ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
-      break;
-    case VKI_SHMAT:
-      {
-	UWord w;
-	PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
-	w = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
-	if (w == 0)
-	  SET_STATUS_Failure( VKI_EINVAL );
-	else
-	  ARG5 = w;
-	break;
-      }
-    case VKI_SHMDT:
-      if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
-	SET_STATUS_Failure( VKI_EINVAL );
-      break;
-    case VKI_SHMGET:
-      break;
-    case VKI_SHMCTL: /* IPCOP_shmctl */
-      ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
-      break;
-    default:
-      VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld\n", ARG1 );
-      VG_(core_panic)("... bye!\n");
-      break; /*NOTREACHED*/
-    }
-}
-
-POST(sys_ipc)
-{
-  vg_assert(SUCCESS);
-  switch (ARG1 /* call */) {
-  case VKI_SEMOP:
-  case VKI_SEMGET:
-    break;
-  case VKI_SEMCTL:
-    {
-      UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-      ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-      break;
-    }
-  case VKI_SEMTIMEDOP:
-  case VKI_MSGSND:
-    break;
-  case VKI_MSGRCV:
-    {
-      Addr msgp;
-      Word msgtyp;
-
-      msgp = deref_Addr( tid,
-                         (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-                         "msgrcv(msgp)" );
-      msgtyp = deref_Addr( tid,
-                           (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-                           "msgrcv(msgp)" );
-
-      ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
-      break;
-    }
-  case VKI_MSGGET:
-    break;
-  case VKI_MSGCTL:
-    ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
-    break;
-  case VKI_SHMAT:
-    {
-      Addr addr;
-
-      /* force readability. before the syscall it is
-       * indeed uninitialized, as can be seen in
-       * glibc/sysdeps/unix/sysv/linux/shmat.c */
-      POST_MEM_WRITE( ARG4, sizeof( Addr ) );
-
-      addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
-      ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
-      break;
-    }
-  case VKI_SHMDT:
-    ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
-    break;
-  case VKI_SHMGET:
-    break;
-  case VKI_SHMCTL:
-    ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
-    break;
-  default:
-    VG_(message)(Vg_DebugMsg,
-		 "FATAL: unhandled syscall(ipc) %ld\n",
-		 ARG1 );
-    VG_(core_panic)("... bye!\n");
-    break; /*NOTREACHED*/
-  }
-}
 
 PRE(sys_clone)
 {
@@ -1219,7 +799,7 @@
 
    GENXY(__NR_fstatfs,           sys_fstatfs),            // 100
 // _____(__NR_ioperm,            sys_ioperm),             // 101
-   PLAXY(__NR_socketcall,        sys_socketcall),         // 102
+   LINXY(__NR_socketcall,        sys_socketcall),         // 102
    LINXY(__NR_syslog,            sys_syslog),             // 103
    GENXY(__NR_setitimer,         sys_setitimer),          // 104
 
@@ -1237,7 +817,7 @@
 
 // _____(__NR_swapoff,           sys_swapoff),            // 115
    LINXY(__NR_sysinfo,           sys_sysinfo),            // 116
-   PLAXY(__NR_ipc,               sys_ipc),                // 117
+   LINXY(__NR_ipc,               sys_ipc),                // 117
    GENX_(__NR_fsync,             sys_fsync),              // 118
 // _____(__NR_sigreturn,         sys_sigreturn),          // 119
 
@@ -1302,7 +882,7 @@
    LINX_(__NR_setresgid,         sys_setresgid),          // 169
 
    LINXY(__NR_getresgid,         sys_getresgid),          // 170
-// _____(__NR_prctl,             sys_prctl),              // 171
+   LINXY(__NR_prctl,             sys_prctl),              // 171
    PLAX_(__NR_rt_sigreturn,      sys_rt_sigreturn),       // 172
    LINXY(__NR_rt_sigaction,      sys_rt_sigaction),       // 173
    LINXY(__NR_rt_sigprocmask,    sys_rt_sigprocmask),     // 174
@@ -1405,10 +985,10 @@
 // /* Number 256 is reserved for sys_debug_setcontext */
 // /* Number 257 is reserved for vserver */
 // /* 258 currently unused */
-// _____(__NR_mbind,             sys_mbind),              // 259
+   LINX_(__NR_mbind,             sys_mbind),              // 259
 
-// _____(__NR_get_mempolicy,     sys_get_mempolicy),      // 260
-// _____(__NR_set_mempolicy,     sys_set_mempolicy),      // 261
+   LINXY(__NR_get_mempolicy,     sys_get_mempolicy),      // 260
+   LINX_(__NR_set_mempolicy,     sys_set_mempolicy),      // 261
    LINXY(__NR_mq_open,           sys_mq_open),            // 262
    LINX_(__NR_mq_unlink,         sys_mq_unlink),          // 263
    LINX_(__NR_mq_timedsend,      sys_mq_timedsend),       // 264
@@ -1447,7 +1027,7 @@
    LINX_(__NR_faccessat,         sys_faccessat),          // 298
    LINX_(__NR_set_robust_list,   sys_set_robust_list),    // 299
    LINXY(__NR_get_robust_list,   sys_get_robust_list),    // 300
-//   LINX_(__NR_move_pages,        sys_ni_syscall),        // 301
+   LINXY(__NR_move_pages,        sys_move_pages),        // 301
    LINXY(__NR_getcpu,            sys_getcpu),            // 302
    LINXY(__NR_epoll_pwait,       sys_epoll_pwait),       // 303
    LINX_(__NR_utimensat,         sys_utimensat),         // 304
diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c
index 15f8f23..84c2f29 100644
--- a/coregrind/m_syswrap/syswrap-s390x-linux.c
+++ b/coregrind/m_syswrap/syswrap-s390x-linux.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright IBM Corp. 2010-2011
+   Copyright IBM Corp. 2010-2012
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -123,7 +123,7 @@
             long   flags         in r3
             int*   parent_tid    in r4
             int*   child_tid     in r5
-            int*   child_tid     in r6
+            int*   tls address   in r6
             Word   (*fn)(void *) 160(r15)
             void   *arg          168(r15)
 
@@ -143,14 +143,15 @@
 extern
 ULong do_syscall_clone_s390x_linux ( void  *stack,
                                      ULong flags,
-                                     Int   *child_tid,
                                      Int   *parent_tid,
+                                     Int   *child_tid,
                                      Addr  tlsaddr,
                                      Word (*fn)(void *),
                                      void  *arg);
 asm(
    "   .text\n"
    "   .align  4\n"
+   ".globl do_syscall_clone_s390x_linux\n"
    "do_syscall_clone_s390x_linux:\n"
    "   lg    %r1, 160(%r15)\n"   // save fn from parent stack into r1
    "   lg    %r0, 168(%r15)\n"   // save arg from parent stack into r0
@@ -303,7 +304,7 @@
 
    /* Create the new thread */
    r2 = do_syscall_clone_s390x_linux(
-            stack, flags, child_tidptr, parent_tidptr, tlsaddr,
+            stack, flags, parent_tidptr, child_tidptr, tlsaddr,
             ML_(start_thread_NORETURN), &VG_(threads)[ctid]);
 
    res = VG_(mk_SysRes_s390x_linux)( r2 );
@@ -338,18 +339,19 @@
    magic. */
 
 DECL_TEMPLATE(s390x_linux, sys_ptrace);
-DECL_TEMPLATE(s390x_linux, sys_socketcall);
 DECL_TEMPLATE(s390x_linux, sys_mmap);
-DECL_TEMPLATE(s390x_linux, sys_ipc);
 DECL_TEMPLATE(s390x_linux, sys_clone);
 DECL_TEMPLATE(s390x_linux, sys_sigreturn);
 DECL_TEMPLATE(s390x_linux, sys_rt_sigreturn);
 DECL_TEMPLATE(s390x_linux, sys_fadvise64);
 
-// PEEK TEXT,DATA and USER are common to all architectures
-// PEEKUSR_AREA and POKEUSR_AREA are special, having a memory area
-// containing the real addr, data, and len field pointed to by ARG3
-// instead of ARG4
+/* PEEK TEXT,DATA and USER are common to all architectures.
+   PEEKUSR_AREA and POKEUSR_AREA are special, having a memory area
+   containing the real addr, data, and len field pointed to by ARG3
+   instead of ARG4.
+   GETREGSET and SETREGSET use a struct iovec (pointed to by ARG4) for
+   the address and size of the user buffer. */
+
 PRE(sys_ptrace)
 {
    PRINT("sys_ptrace ( %ld, %ld, %#lx, %#lx )", ARG1,ARG2,ARG3,ARG4);
@@ -405,6 +407,12 @@
                        pa->vki_process_addr, pa->vki_len);
          break;
       }
+   case VKI_PTRACE_GETREGSET:
+      ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
+      break;
+   case VKI_PTRACE_SETREGSET:
+      ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
+      break;
    default:
       break;
    }
@@ -433,330 +441,16 @@
 
 	 pa = (vki_ptrace_area *) ARG3;
          POST_MEM_WRITE(pa->vki_process_addr, pa->vki_len);
+	 break;
       }
+   case VKI_PTRACE_GETREGSET:
+      ML_(linux_POST_getregset)(tid, ARG3, ARG4);
+      break;
    default:
       break;
    }
 }
 
-
-PRE(sys_socketcall)
-{
-#  define ARG2_0  (((UWord*)ARG2)[0])
-#  define ARG2_1  (((UWord*)ARG2)[1])
-#  define ARG2_2  (((UWord*)ARG2)[2])
-#  define ARG2_3  (((UWord*)ARG2)[3])
-#  define ARG2_4  (((UWord*)ARG2)[4])
-#  define ARG2_5  (((UWord*)ARG2)[5])
-
-   *flags |= SfMayBlock;
-   PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
-   PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
-
-   switch (ARG1 /* request */) {
-
-   case VKI_SYS_SOCKETPAIR:
-     /* int socketpair(int d, int type, int protocol, int sv[2]); */
-      PRE_MEM_READ( "socketcall.socketpair(args)", ARG2, 4*sizeof(Addr) );
-      if (!ML_(valid_client_addr)(ARG2, 4*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-      }
-      ML_(generic_PRE_sys_socketpair)( tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3 );
-      break;
-
-   case VKI_SYS_SOCKET:
-     /* int socket(int domain, int type, int protocol); */
-      PRE_MEM_READ( "socketcall.socket(args)", ARG2, 3*sizeof(Addr) );
-      if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-      }
-      break;
-
-   case VKI_SYS_BIND:
-     /* int bind(int sockfd, struct sockaddr *my_addr,
-	int addrlen); */
-      PRE_MEM_READ( "socketcall.bind(args)", ARG2, 3*sizeof(Addr) );
-      if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-      }
-      ML_(generic_PRE_sys_bind)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_LISTEN:
-     /* int listen(int s, int backlog); */
-      PRE_MEM_READ( "socketcall.listen(args)", ARG2, 2*sizeof(Addr) );
-      if (!ML_(valid_client_addr)(ARG2, 2*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-      }
-      break;
-
-   case VKI_SYS_ACCEPT: {
-     /* int accept(int s, struct sockaddr *addr, int *addrlen); */
-      PRE_MEM_READ( "socketcall.accept(args)", ARG2, 3*sizeof(Addr) );
-      if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-      }
-      ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-   }
-
-   case VKI_SYS_SENDTO:
-     /* int sendto(int s, const void *msg, int len,
-                    unsigned int flags,
-                    const struct sockaddr *to, int tolen); */
-     PRE_MEM_READ( "socketcall.sendto(args)", ARG2, 6*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 6*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     ML_(generic_PRE_sys_sendto)( tid, ARG2_0, ARG2_1, ARG2_2,
-				  ARG2_3, ARG2_4, ARG2_5 );
-     break;
-
-   case VKI_SYS_SEND:
-     /* int send(int s, const void *msg, size_t len, int flags); */
-     PRE_MEM_READ( "socketcall.send(args)", ARG2, 4*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 4*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     ML_(generic_PRE_sys_send)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_RECVFROM:
-     /* int recvfrom(int s, void *buf, int len, unsigned int flags,
-	struct sockaddr *from, int *fromlen); */
-     PRE_MEM_READ( "socketcall.recvfrom(args)", ARG2, 6*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 6*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     ML_(generic_PRE_sys_recvfrom)( tid, ARG2_0, ARG2_1, ARG2_2,
-				    ARG2_3, ARG2_4, ARG2_5 );
-     break;
-
-   case VKI_SYS_RECV:
-     /* int recv(int s, void *buf, int len, unsigned int flags); */
-     /* man 2 recv says:
-         The  recv call is normally used only on a connected socket
-         (see connect(2)) and is identical to recvfrom with a  NULL
-         from parameter.
-     */
-     PRE_MEM_READ( "socketcall.recv(args)", ARG2, 4*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 4*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     ML_(generic_PRE_sys_recv)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_CONNECT:
-     /* int connect(int sockfd,
-	struct sockaddr *serv_addr, int addrlen ); */
-     PRE_MEM_READ( "socketcall.connect(args)", ARG2, 3*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     ML_(generic_PRE_sys_connect)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_SETSOCKOPT:
-     /* int setsockopt(int s, int level, int optname,
-	const void *optval, int optlen); */
-     PRE_MEM_READ( "socketcall.setsockopt(args)", ARG2, 5*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 5*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     ML_(generic_PRE_sys_setsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
-				      ARG2_3, ARG2_4 );
-     break;
-
-   case VKI_SYS_GETSOCKOPT:
-     /* int getsockopt(int s, int level, int optname,
-	void *optval, socklen_t *optlen); */
-     PRE_MEM_READ( "socketcall.getsockopt(args)", ARG2, 5*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 5*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     ML_(linux_PRE_sys_getsockopt)( tid, ARG2_0, ARG2_1, ARG2_2,
-				      ARG2_3, ARG2_4 );
-     break;
-
-   case VKI_SYS_GETSOCKNAME:
-     /* int getsockname(int s, struct sockaddr* name, int* namelen) */
-     PRE_MEM_READ( "socketcall.getsockname(args)", ARG2, 3*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     ML_(generic_PRE_sys_getsockname)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_GETPEERNAME:
-     /* int getpeername(int s, struct sockaddr* name, int* namelen) */
-     PRE_MEM_READ( "socketcall.getpeername(args)", ARG2, 3*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     ML_(generic_PRE_sys_getpeername)( tid, ARG2_0, ARG2_1, ARG2_2 );
-     break;
-
-   case VKI_SYS_SHUTDOWN:
-     /* int shutdown(int s, int how); */
-     PRE_MEM_READ( "socketcall.shutdown(args)", ARG2, 2*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 2*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     break;
-
-   case VKI_SYS_SENDMSG: {
-     /* int sendmsg(int s, const struct msghdr *msg, int flags); */
-     PRE_MEM_READ( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     ML_(generic_PRE_sys_sendmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
-     break;
-   }
-
-   case VKI_SYS_RECVMSG: {
-     /* int recvmsg(int s, struct msghdr *msg, int flags); */
-     PRE_MEM_READ("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
-     if (!ML_(valid_client_addr)(ARG2, 3*sizeof(Addr), tid, NULL)) {
-         SET_STATUS_Failure( VKI_EFAULT );
-         break;
-     }
-     ML_(generic_PRE_sys_recvmsg)( tid, "msg2", (struct vki_msghdr *)ARG2_1 );
-     break;
-   }
-
-   default:
-     VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx\n",ARG1);
-     SET_STATUS_Failure( VKI_EINVAL );
-     break;
-   }
-#  undef ARG2_0
-#  undef ARG2_1
-#  undef ARG2_2
-#  undef ARG2_3
-#  undef ARG2_4
-#  undef ARG2_5
-}
-
-POST(sys_socketcall)
-{
-#  define ARG2_0  (((UWord*)ARG2)[0])
-#  define ARG2_1  (((UWord*)ARG2)[1])
-#  define ARG2_2  (((UWord*)ARG2)[2])
-#  define ARG2_3  (((UWord*)ARG2)[3])
-#  define ARG2_4  (((UWord*)ARG2)[4])
-#  define ARG2_5  (((UWord*)ARG2)[5])
-
-  SysRes r;
-  vg_assert(SUCCESS);
-  switch (ARG1 /* request */) {
-
-  case VKI_SYS_SOCKETPAIR:
-    r = ML_(generic_POST_sys_socketpair)(
-					 tid, VG_(mk_SysRes_Success)(RES),
-					 ARG2_0, ARG2_1, ARG2_2, ARG2_3
-					 );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_SOCKET:
-    r = ML_(generic_POST_sys_socket)( tid, VG_(mk_SysRes_Success)(RES) );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_BIND:
-    /* int bind(int sockfd, struct sockaddr *my_addr,
-       int addrlen); */
-    break;
-
-  case VKI_SYS_LISTEN:
-    /* int listen(int s, int backlog); */
-    break;
-
-  case VKI_SYS_ACCEPT:
-    /* int accept(int s, struct sockaddr *addr, int *addrlen); */
-    r = ML_(generic_POST_sys_accept)( tid, VG_(mk_SysRes_Success)(RES),
-				      ARG2_0, ARG2_1, ARG2_2 );
-    SET_STATUS_from_SysRes(r);
-    break;
-
-  case VKI_SYS_SENDTO:
-    break;
-
-  case VKI_SYS_SEND:
-    break;
-
-  case VKI_SYS_RECVFROM:
-    ML_(generic_POST_sys_recvfrom)( tid, VG_(mk_SysRes_Success)(RES),
-				    ARG2_0, ARG2_1, ARG2_2,
-				    ARG2_3, ARG2_4, ARG2_5 );
-    break;
-
-  case VKI_SYS_RECV:
-    ML_(generic_POST_sys_recv)( tid, RES, ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_CONNECT:
-    break;
-
-  case VKI_SYS_SETSOCKOPT:
-    break;
-
-  case VKI_SYS_GETSOCKOPT:
-    ML_(linux_POST_sys_getsockopt)( tid, VG_(mk_SysRes_Success)(RES),
-				      ARG2_0, ARG2_1,
-				      ARG2_2, ARG2_3, ARG2_4 );
-    break;
-
-  case VKI_SYS_GETSOCKNAME:
-    ML_(generic_POST_sys_getsockname)( tid, VG_(mk_SysRes_Success)(RES),
-				       ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_GETPEERNAME:
-    ML_(generic_POST_sys_getpeername)( tid, VG_(mk_SysRes_Success)(RES),
-				       ARG2_0, ARG2_1, ARG2_2 );
-    break;
-
-  case VKI_SYS_SHUTDOWN:
-    break;
-
-  case VKI_SYS_SENDMSG:
-    break;
-
-  case VKI_SYS_RECVMSG:
-    ML_(generic_POST_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1, RES );
-    break;
-
-  default:
-    VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx\n",ARG1);
-    VG_(core_panic)("... bye!\n");
-    break; /*NOTREACHED*/
-  }
-#  undef ARG2_0
-#  undef ARG2_1
-#  undef ARG2_2
-#  undef ARG2_3
-#  undef ARG2_4
-#  undef ARG2_5
-}
-
 PRE(sys_mmap)
 {
    UWord a0, a1, a2, a3, a4, a5;
@@ -780,160 +474,6 @@
    SET_STATUS_from_SysRes(r);
 }
 
-static Addr deref_Addr ( ThreadId tid, Addr a, Char* s )
-{
-   Addr* a_p = (Addr*)a;
-   PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
-   return *a_p;
-}
-
-PRE(sys_ipc)
-{
-  PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )",
-        ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-  // XXX: this is simplistic -- some args are not used in all circumstances.
-  PRE_REG_READ6(int, "ipc",
-		vki_uint, call, int, first, int, second, int, third,
-		void *, ptr, long, fifth)
-
-    switch (ARG1 /* call */) {
-    case VKI_SEMOP:
-      ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
-      *flags |= SfMayBlock;
-      break;
-    case VKI_SEMGET:
-      break;
-    case VKI_SEMCTL:
-      {
-	UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-	ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-	break;
-      }
-    case VKI_SEMTIMEDOP:
-      ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
-      *flags |= SfMayBlock;
-      break;
-    case VKI_MSGSND:
-      ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
-      if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-	*flags |= SfMayBlock;
-      break;
-    case VKI_MSGRCV:
-      {
-	Addr msgp;
-	Word msgtyp;
-
-	msgp = deref_Addr( tid,
-			   (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-			   "msgrcv(msgp)" );
-	msgtyp = deref_Addr( tid,
-			     (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-			     "msgrcv(msgp)" );
-
-	ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
-
-	if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-	  *flags |= SfMayBlock;
-	break;
-      }
-    case VKI_MSGGET:
-      break;
-    case VKI_MSGCTL:
-      ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
-      break;
-    case VKI_SHMAT:
-      {
-	UWord w;
-	PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
-	w = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
-	if (w == 0)
-	  SET_STATUS_Failure( VKI_EINVAL );
-	else
-	  ARG5 = w;
-	break;
-      }
-    case VKI_SHMDT:
-      if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
-	SET_STATUS_Failure( VKI_EINVAL );
-      break;
-    case VKI_SHMGET:
-      break;
-    case VKI_SHMCTL: /* IPCOP_shmctl */
-      ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
-      break;
-    default:
-      VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld", ARG1 );
-      VG_(core_panic)("... bye!\n");
-      break; /*NOTREACHED*/
-    }
-}
-
-POST(sys_ipc)
-{
-  vg_assert(SUCCESS);
-  switch (ARG1 /* call */) {
-  case VKI_SEMOP:
-  case VKI_SEMGET:
-    break;
-  case VKI_SEMCTL:
-    {
-      UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-      ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-      break;
-    }
-  case VKI_SEMTIMEDOP:
-  case VKI_MSGSND:
-    break;
-  case VKI_MSGRCV:
-    {
-      Addr msgp;
-      Word msgtyp;
-
-      msgp = deref_Addr( tid,
-                         (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-                         "msgrcv(msgp)" );
-      msgtyp = deref_Addr( tid,
-                           (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-                           "msgrcv(msgp)" );
-
-      ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
-      break;
-    }
-  case VKI_MSGGET:
-    break;
-  case VKI_MSGCTL:
-    ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
-    break;
-  case VKI_SHMAT:
-    {
-      Addr addr;
-
-      /* force readability. before the syscall it is
-       * indeed uninitialized, as can be seen in
-       * glibc/sysdeps/unix/sysv/linux/shmat.c */
-      POST_MEM_WRITE( ARG4, sizeof( Addr ) );
-
-      addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
-      ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
-      break;
-    }
-  case VKI_SHMDT:
-    ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
-    break;
-  case VKI_SHMGET:
-    break;
-  case VKI_SHMCTL:
-    ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
-    break;
-  default:
-    VG_(message)(Vg_DebugMsg,
-		 "FATAL: unhandled syscall(ipc) %ld",
-		 ARG1 );
-    VG_(core_panic)("... bye!\n");
-    break; /*NOTREACHED*/
-  }
-}
-
 PRE(sys_clone)
 {
    UInt cloneflags;
@@ -964,6 +504,13 @@
       }
    }
 
+   /* The kernel simply copies reg6 (ARG5) into AR0 and AR1, no checks */
+   if (ARG2 & VKI_CLONE_SETTLS) {
+      if (VG_(tdict).track_pre_reg_read) {
+         PRA5("clone", Addr, tlsinfo);
+      }
+   }
+
    cloneflags = ARG2;
 
    if (!ML_(client_signal_OK)(ARG2 & VKI_CSIGNAL)) {
@@ -1228,7 +775,7 @@
 
    GENXY(__NR_fstatfs,  sys_fstatfs),                                 // 100
    GENX_(101, sys_ni_syscall), /* unimplemented (by the kernel) */    // 101
-   PLAXY(__NR_socketcall, sys_socketcall),                            // 102
+   LINXY(__NR_socketcall, sys_socketcall),                            // 102
    LINXY(__NR_syslog,  sys_syslog),                                   // 103
    GENXY(__NR_setitimer,  sys_setitimer),                             // 104
 
@@ -1246,7 +793,7 @@
 
 // ?????(__NR_swapoff, ),                                             // 115
    LINXY(__NR_sysinfo,  sys_sysinfo),                                 // 116
-   PLAXY(__NR_ipc, sys_ipc),                                          // 117
+   LINXY(__NR_ipc, sys_ipc),                                          // 117
    GENX_(__NR_fsync,  sys_fsync),                                     // 118
    PLAX_(__NR_sigreturn, sys_sigreturn),                              // 119
 
diff --git a/coregrind/m_syswrap/syswrap-x86-darwin.c b/coregrind/m_syswrap/syswrap-x86-darwin.c
index 6096d4a..1a90d8f 100644
--- a/coregrind/m_syswrap/syswrap-x86-darwin.c
+++ b/coregrind/m_syswrap/syswrap-x86-darwin.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Apple Inc.
+   Copyright (C) 2005-2012 Apple Inc.
       Greg Parker  gparker@apple.com
 
    This program is free software; you can redistribute it and/or
@@ -409,7 +409,7 @@
          idea why. */
 #     if DARWIN_VERS <= DARWIN_10_6
       UWord magic_delta = 0;
-#     elif DARWIN_VERS == DARWIN_10_7
+#     elif DARWIN_VERS >= DARWIN_10_7
       UWord magic_delta = 0x48;
 #     endif
 
diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c
index a79bc45..ed60a15 100644
--- a/coregrind/m_syswrap/syswrap-x86-linux.c
+++ b/coregrind/m_syswrap/syswrap-x86-linux.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -142,6 +142,7 @@
                                  vki_modify_ldt_t * );
 asm(
 ".text\n"
+".globl do_syscall_clone_x86_linux\n"
 "do_syscall_clone_x86_linux:\n"
 "        push    %ebx\n"
 "        push    %edi\n"
@@ -548,7 +549,7 @@
    vg_assert(sizeof(HWord) == sizeof(VexGuestX86SegDescr*));
    vg_assert(8 == sizeof(VexGuestX86SegDescr));
 
-   ldt = (Char*)(VG_(threads)[tid].arch.vex.guest_LDT);
+   ldt = (UChar*)(VG_(threads)[tid].arch.vex.guest_LDT);
    res = VG_(mk_SysRes_Success)( 0 );
    if (ldt == NULL)
       /* LDT not allocated, meaning all entries are null */
@@ -790,7 +791,6 @@
    the right thing to do is to make these wrappers 'static' since they
    aren't visible outside this file, but that requires even more macro
    magic. */
-DECL_TEMPLATE(x86_linux, sys_socketcall);
 DECL_TEMPLATE(x86_linux, sys_stat64);
 DECL_TEMPLATE(x86_linux, sys_fstatat64);
 DECL_TEMPLATE(x86_linux, sys_fstat64);
@@ -799,7 +799,6 @@
 DECL_TEMPLATE(x86_linux, old_mmap);
 DECL_TEMPLATE(x86_linux, sys_mmap2);
 DECL_TEMPLATE(x86_linux, sys_sigreturn);
-DECL_TEMPLATE(x86_linux, sys_ipc);
 DECL_TEMPLATE(x86_linux, sys_rt_sigreturn);
 DECL_TEMPLATE(x86_linux, sys_modify_ldt);
 DECL_TEMPLATE(x86_linux, sys_set_thread_area);
@@ -1119,6 +1118,10 @@
       PRE_MEM_WRITE( "ptrace(getfpxregs)", ARG4, 
                      sizeof(struct vki_user_fxsr_struct) );
       break;
+   case VKI_PTRACE_GET_THREAD_AREA:
+      PRE_MEM_WRITE( "ptrace(get_thread_area)", ARG4, 
+                     sizeof(struct vki_user_desc) );
+      break;
    case VKI_PTRACE_SETREGS:
       PRE_MEM_READ( "ptrace(setregs)", ARG4, 
 		     sizeof (struct vki_user_regs_struct));
@@ -1131,6 +1134,10 @@
       PRE_MEM_READ( "ptrace(setfpxregs)", ARG4, 
                      sizeof(struct vki_user_fxsr_struct) );
       break;
+   case VKI_PTRACE_SET_THREAD_AREA:
+      PRE_MEM_READ( "ptrace(set_thread_area)", ARG4, 
+                     sizeof(struct vki_user_desc) );
+      break;
    case VKI_PTRACE_GETEVENTMSG:
       PRE_MEM_WRITE( "ptrace(geteventmsg)", ARG4, sizeof(unsigned long));
       break;
@@ -1140,6 +1147,12 @@
    case VKI_PTRACE_SETSIGINFO:
       PRE_MEM_READ( "ptrace(setsiginfo)", ARG4, sizeof(vki_siginfo_t));
       break;
+   case VKI_PTRACE_GETREGSET:
+      ML_(linux_PRE_getregset)(tid, ARG3, ARG4);
+      break;
+   case VKI_PTRACE_SETREGSET:
+      ML_(linux_PRE_setregset)(tid, ARG3, ARG4);
+      break;
    default:
       break;
    }
@@ -1162,6 +1175,9 @@
    case VKI_PTRACE_GETFPXREGS:
       POST_MEM_WRITE( ARG4, sizeof(struct vki_user_fxsr_struct) );
       break;
+   case VKI_PTRACE_GET_THREAD_AREA:
+      POST_MEM_WRITE( ARG4, sizeof(struct vki_user_desc) );
+      break;
    case VKI_PTRACE_GETEVENTMSG:
       POST_MEM_WRITE( ARG4, sizeof(unsigned long));
       break;
@@ -1171,161 +1187,11 @@
        */
       POST_MEM_WRITE( ARG4, sizeof(vki_siginfo_t));
       break;
-   default:
-      break;
-   }
-}
-
-static Addr deref_Addr ( ThreadId tid, Addr a, Char* s )
-{
-   Addr* a_p = (Addr*)a;
-   PRE_MEM_READ( s, (Addr)a_p, sizeof(Addr) );
-   return *a_p;
-}
- 
-PRE(sys_ipc)
-{
-   PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
-   // XXX: this is simplistic -- some args are not used in all circumstances.
-   PRE_REG_READ6(int, "ipc",
-                 vki_uint, call, int, first, int, second, int, third,
-                 void *, ptr, long, fifth)
-
-   switch (ARG1 /* call */) {
-   case VKI_SEMOP:
-      ML_(generic_PRE_sys_semop)( tid, ARG2, ARG5, ARG3 );
-      *flags |= SfMayBlock;
-      break;
-   case VKI_SEMGET:
-      break;
-   case VKI_SEMCTL:
-   {
-      UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-      ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-      break;
-   }
-   case VKI_SEMTIMEDOP:
-      ML_(generic_PRE_sys_semtimedop)( tid, ARG2, ARG5, ARG3, ARG6 );
-      *flags |= SfMayBlock;
-      break;
-   case VKI_MSGSND:
-      ML_(linux_PRE_sys_msgsnd)( tid, ARG2, ARG5, ARG3, ARG4 );
-      if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-         *flags |= SfMayBlock;
-      break;
-   case VKI_MSGRCV:
-   {
-      Addr msgp;
-      Word msgtyp;
- 
-      msgp = deref_Addr( tid,
-			 (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-			 "msgrcv(msgp)" );
-      msgtyp = deref_Addr( tid,
-			   (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-			   "msgrcv(msgp)" );
-
-      ML_(linux_PRE_sys_msgrcv)( tid, ARG2, msgp, ARG3, msgtyp, ARG4 );
-
-      if ((ARG4 & VKI_IPC_NOWAIT) == 0)
-         *flags |= SfMayBlock;
-      break;
-   }
-   case VKI_MSGGET:
-      break;
-   case VKI_MSGCTL:
-      ML_(linux_PRE_sys_msgctl)( tid, ARG2, ARG3, ARG5 );
-      break;
-   case VKI_SHMAT:
-   {
-      UWord w;
-      PRE_MEM_WRITE( "shmat(raddr)", ARG4, sizeof(Addr) );
-      w = ML_(generic_PRE_sys_shmat)( tid, ARG2, ARG5, ARG3 );
-      if (w == 0)
-         SET_STATUS_Failure( VKI_EINVAL );
-      else
-         ARG5 = w;
-      break;
-   }
-   case VKI_SHMDT:
-      if (!ML_(generic_PRE_sys_shmdt)(tid, ARG5))
-	 SET_STATUS_Failure( VKI_EINVAL );
-      break;
-   case VKI_SHMGET:
-      break;
-   case VKI_SHMCTL: /* IPCOP_shmctl */
-      ML_(generic_PRE_sys_shmctl)( tid, ARG2, ARG3, ARG5 );
+   case VKI_PTRACE_GETREGSET:
+      ML_(linux_POST_getregset)(tid, ARG3, ARG4);
       break;
    default:
-      VG_(message)(Vg_DebugMsg, "FATAL: unhandled syscall(ipc) %ld\n", ARG1 );
-      VG_(core_panic)("... bye!\n");
-      break; /*NOTREACHED*/
-   }   
-}
-
-POST(sys_ipc)
-{
-   vg_assert(SUCCESS);
-   switch (ARG1 /* call */) {
-   case VKI_SEMOP:
-   case VKI_SEMGET:
       break;
-   case VKI_SEMCTL:
-   {
-      UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
-      ML_(generic_PRE_sys_semctl)( tid, ARG2, ARG3, ARG4, arg );
-      break;
-   }
-   case VKI_SEMTIMEDOP:
-   case VKI_MSGSND:
-      break;
-   case VKI_MSGRCV:
-   {
-      Addr msgp;
-      Word msgtyp;
-
-      msgp = deref_Addr( tid,
-			 (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgp),
-			 "msgrcv(msgp)" );
-      msgtyp = deref_Addr( tid,
-			   (Addr) (&((struct vki_ipc_kludge *)ARG5)->msgtyp),
-			   "msgrcv(msgp)" );
-
-      ML_(linux_POST_sys_msgrcv)( tid, RES, ARG2, msgp, ARG3, msgtyp, ARG4 );
-      break;
-   }
-   case VKI_MSGGET:
-      break;
-   case VKI_MSGCTL:
-      ML_(linux_POST_sys_msgctl)( tid, RES, ARG2, ARG3, ARG5 );
-      break;
-   case VKI_SHMAT:
-   {
-      Addr addr;
-
-      /* force readability. before the syscall it is
-       * indeed uninitialized, as can be seen in
-       * glibc/sysdeps/unix/sysv/linux/shmat.c */
-      POST_MEM_WRITE( ARG4, sizeof( Addr ) );
-
-      addr = deref_Addr ( tid, ARG4, "shmat(addr)" );
-      ML_(generic_POST_sys_shmat)( tid, addr, ARG2, ARG5, ARG3 );
-      break;
-   }
-   case VKI_SHMDT:
-      ML_(generic_POST_sys_shmdt)( tid, RES, ARG5 );
-      break;
-   case VKI_SHMGET:
-      break;
-   case VKI_SHMCTL:
-      ML_(generic_POST_sys_shmctl)( tid, RES, ARG2, ARG3, ARG5 );
-      break;
-   default:
-      VG_(message)(Vg_DebugMsg,
-		   "FATAL: unhandled syscall(ipc) %ld\n",
-		   ARG1 );
-      VG_(core_panic)("... bye!\n");
-      break; /*NOTREACHED*/
    }
 }
 
@@ -1444,272 +1310,6 @@
    POST_MEM_WRITE( ARG2, sizeof(struct vki_stat64) );
 }
 
-PRE(sys_socketcall)
-{
-#  define ARG2_0  (((UWord*)ARG2)[0])
-#  define ARG2_1  (((UWord*)ARG2)[1])
-#  define ARG2_2  (((UWord*)ARG2)[2])
-#  define ARG2_3  (((UWord*)ARG2)[3])
-#  define ARG2_4  (((UWord*)ARG2)[4])
-#  define ARG2_5  (((UWord*)ARG2)[5])
-
-   *flags |= SfMayBlock;
-   PRINT("sys_socketcall ( %ld, %#lx )",ARG1,ARG2);
-   PRE_REG_READ2(long, "socketcall", int, call, unsigned long *, args);
-
-   switch (ARG1 /* request */) {
-
-   case VKI_SYS_SOCKETPAIR:
-      /* int socketpair(int d, int type, int protocol, int sv[2]); */
-      PRE_MEM_READ( "socketcall.socketpair(args)", ARG2, 4*sizeof(Addr) );
-      ML_(generic_PRE_sys_socketpair)( tid, ARG2_0, ARG2_1, ARG2_2, ARG2_3 );
-      break;
-
-   case VKI_SYS_SOCKET:
-      /* int socket(int domain, int type, int protocol); */
-      PRE_MEM_READ( "socketcall.socket(args)", ARG2, 3*sizeof(Addr) );
-      break;
-
-   case VKI_SYS_BIND:
-      /* int bind(int sockfd, struct sockaddr *my_addr, 
-                  int addrlen); */
-      PRE_MEM_READ( "socketcall.bind(args)", ARG2, 3*sizeof(Addr) );
-      ML_(generic_PRE_sys_bind)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-               
-   case VKI_SYS_LISTEN:
-      /* int listen(int s, int backlog); */
-      PRE_MEM_READ( "socketcall.listen(args)", ARG2, 2*sizeof(Addr) );
-      break;
-
-   case VKI_SYS_ACCEPT: {
-      /* int accept(int s, struct sockaddr *addr, int *addrlen); */
-      PRE_MEM_READ( "socketcall.accept(args)", ARG2, 3*sizeof(Addr) );
-      ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-   }
-
-   case VKI_SYS_ACCEPT4: {
-      /*int accept(int s, struct sockaddr *add, int *addrlen, int flags)*/
-      PRE_MEM_READ( "socketcall.accept4(args)", ARG2, 4*sizeof(Addr) );
-      ML_(generic_PRE_sys_accept)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-   }
-
-   case VKI_SYS_SENDTO:
-      /* int sendto(int s, const void *msg, int len, 
-                    unsigned int flags, 
-                    const struct sockaddr *to, int tolen); */
-      PRE_MEM_READ( "socketcall.sendto(args)", ARG2, 6*sizeof(Addr) );
-      ML_(generic_PRE_sys_sendto)( tid, ARG2_0, ARG2_1, ARG2_2, 
-                                   ARG2_3, ARG2_4, ARG2_5 );
-      break;
-
-   case VKI_SYS_SEND:
-      /* int send(int s, const void *msg, size_t len, int flags); */
-      PRE_MEM_READ( "socketcall.send(args)", ARG2, 4*sizeof(Addr) );
-      ML_(generic_PRE_sys_send)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_RECVFROM:
-      /* int recvfrom(int s, void *buf, int len, unsigned int flags,
-         struct sockaddr *from, int *fromlen); */
-      PRE_MEM_READ( "socketcall.recvfrom(args)", ARG2, 6*sizeof(Addr) );
-      ML_(generic_PRE_sys_recvfrom)( tid, ARG2_0, ARG2_1, ARG2_2, 
-                                     ARG2_3, ARG2_4, ARG2_5 );
-      break;
-   
-   case VKI_SYS_RECV:
-      /* int recv(int s, void *buf, int len, unsigned int flags); */
-      /* man 2 recv says:
-         The  recv call is normally used only on a connected socket
-         (see connect(2)) and is identical to recvfrom with a  NULL
-         from parameter.
-      */
-      PRE_MEM_READ( "socketcall.recv(args)", ARG2, 4*sizeof(Addr) );
-      ML_(generic_PRE_sys_recv)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_CONNECT:
-      /* int connect(int sockfd, 
-                     struct sockaddr *serv_addr, int addrlen ); */
-      PRE_MEM_READ( "socketcall.connect(args)", ARG2, 3*sizeof(Addr) );
-      ML_(generic_PRE_sys_connect)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_SETSOCKOPT:
-      /* int setsockopt(int s, int level, int optname, 
-                        const void *optval, int optlen); */
-      PRE_MEM_READ( "socketcall.setsockopt(args)", ARG2, 5*sizeof(Addr) );
-      ML_(generic_PRE_sys_setsockopt)( tid, ARG2_0, ARG2_1, ARG2_2, 
-                                       ARG2_3, ARG2_4 );
-      break;
-
-   case VKI_SYS_GETSOCKOPT:
-      /* int getsockopt(int s, int level, int optname, 
-                        void *optval, socklen_t *optlen); */
-      PRE_MEM_READ( "socketcall.getsockopt(args)", ARG2, 5*sizeof(Addr) );
-      ML_(linux_PRE_sys_getsockopt)( tid, ARG2_0, ARG2_1, ARG2_2, 
-                                     ARG2_3, ARG2_4 );
-      break;
-
-   case VKI_SYS_GETSOCKNAME:
-      /* int getsockname(int s, struct sockaddr* name, int* namelen) */
-      PRE_MEM_READ( "socketcall.getsockname(args)", ARG2, 3*sizeof(Addr) );
-      ML_(generic_PRE_sys_getsockname)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_GETPEERNAME:
-      /* int getpeername(int s, struct sockaddr* name, int* namelen) */
-      PRE_MEM_READ( "socketcall.getpeername(args)", ARG2, 3*sizeof(Addr) );
-      ML_(generic_PRE_sys_getpeername)( tid, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_SHUTDOWN:
-      /* int shutdown(int s, int how); */
-      PRE_MEM_READ( "socketcall.shutdown(args)", ARG2, 2*sizeof(Addr) );
-      break;
-
-   case VKI_SYS_SENDMSG: {
-      /* int sendmsg(int s, const struct msghdr *msg, int flags); */
-
-      /* this causes warnings, and I don't get why. glibc bug?
-       * (after all it's glibc providing the arguments array)
-       PRE_MEM_READ( "socketcall.sendmsg(args)", ARG2, 3*sizeof(Addr) );
-      */
-      ML_(generic_PRE_sys_sendmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
-      break;
-   }
-      
-   case VKI_SYS_RECVMSG: {
-      /* int recvmsg(int s, struct msghdr *msg, int flags); */
-
-      /* this causes warnings, and I don't get why. glibc bug?
-       * (after all it's glibc providing the arguments array)
-       PRE_MEM_READ("socketcall.recvmsg(args)", ARG2, 3*sizeof(Addr) );
-      */
-      ML_(generic_PRE_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1 );
-      break;
-   }
-
-   default:
-      VG_(message)(Vg_DebugMsg,"Warning: unhandled socketcall 0x%lx\n",ARG1);
-      SET_STATUS_Failure( VKI_EINVAL );
-      break;
-   }
-#  undef ARG2_0
-#  undef ARG2_1
-#  undef ARG2_2
-#  undef ARG2_3
-#  undef ARG2_4
-#  undef ARG2_5
-}
-
-POST(sys_socketcall)
-{
-#  define ARG2_0  (((UWord*)ARG2)[0])
-#  define ARG2_1  (((UWord*)ARG2)[1])
-#  define ARG2_2  (((UWord*)ARG2)[2])
-#  define ARG2_3  (((UWord*)ARG2)[3])
-#  define ARG2_4  (((UWord*)ARG2)[4])
-#  define ARG2_5  (((UWord*)ARG2)[5])
-
-   SysRes r;
-   vg_assert(SUCCESS);
-   switch (ARG1 /* request */) {
-
-   case VKI_SYS_SOCKETPAIR:
-      r = ML_(generic_POST_sys_socketpair)( 
-             tid, VG_(mk_SysRes_Success)(RES), 
-             ARG2_0, ARG2_1, ARG2_2, ARG2_3 
-          );
-      SET_STATUS_from_SysRes(r);
-      break;
-
-   case VKI_SYS_SOCKET:
-      r = ML_(generic_POST_sys_socket)( tid, VG_(mk_SysRes_Success)(RES) );
-      SET_STATUS_from_SysRes(r);
-      break;
-
-   case VKI_SYS_BIND:
-      /* int bind(int sockfd, struct sockaddr *my_addr, 
-			int addrlen); */
-      break;
-               
-   case VKI_SYS_LISTEN:
-      /* int listen(int s, int backlog); */
-      break;
-
-   case VKI_SYS_ACCEPT:
-   case VKI_SYS_ACCEPT4:
-      /* int accept(int s, struct sockaddr *addr, int *addrlen); */
-      /* int accept4(int s, struct sockaddr *addr, int *addrlen, int flags); */
-     r = ML_(generic_POST_sys_accept)( tid, VG_(mk_SysRes_Success)(RES), 
-                                            ARG2_0, ARG2_1, ARG2_2 );
-     SET_STATUS_from_SysRes(r);
-     break;
-
-   case VKI_SYS_SENDTO:
-      break;
-
-   case VKI_SYS_SEND:
-      break;
-
-   case VKI_SYS_RECVFROM:
-      ML_(generic_POST_sys_recvfrom)( tid, VG_(mk_SysRes_Success)(RES),
-                                           ARG2_0, ARG2_1, ARG2_2,
-                                           ARG2_3, ARG2_4, ARG2_5 );
-      break;
-
-   case VKI_SYS_RECV:
-      ML_(generic_POST_sys_recv)( tid, RES, ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_CONNECT:
-      break;
-
-   case VKI_SYS_SETSOCKOPT:
-      break;
-
-   case VKI_SYS_GETSOCKOPT:
-      ML_(linux_POST_sys_getsockopt)( tid, VG_(mk_SysRes_Success)(RES),
-                                      ARG2_0, ARG2_1, 
-                                      ARG2_2, ARG2_3, ARG2_4 );
-      break;
-
-   case VKI_SYS_GETSOCKNAME:
-      ML_(generic_POST_sys_getsockname)( tid, VG_(mk_SysRes_Success)(RES),
-                                              ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_GETPEERNAME:
-      ML_(generic_POST_sys_getpeername)( tid, VG_(mk_SysRes_Success)(RES), 
-                                              ARG2_0, ARG2_1, ARG2_2 );
-      break;
-
-   case VKI_SYS_SHUTDOWN:
-      break;
-
-   case VKI_SYS_SENDMSG:
-      break;
-
-   case VKI_SYS_RECVMSG:
-      ML_(generic_POST_sys_recvmsg)( tid, "msg", (struct vki_msghdr *)ARG2_1, RES );
-      break;
-
-   default:
-      VG_(message)(Vg_DebugMsg,"FATAL: unhandled socketcall 0x%lx\n",ARG1);
-      VG_(core_panic)("... bye!\n");
-      break; /*NOTREACHED*/
-   }
-#  undef ARG2_0
-#  undef ARG2_1
-#  undef ARG2_2
-#  undef ARG2_3
-#  undef ARG2_4
-#  undef ARG2_5
-}
-
 /* NB: arm-linux has a clone of this one, and ppc32-linux has an almost
    identical version. */
 PRE(sys_sigsuspend)
@@ -1935,7 +1535,7 @@
 
    GENXY(__NR_fstatfs,           sys_fstatfs),        // 100
    LINX_(__NR_ioperm,            sys_ioperm),         // 101
-   PLAXY(__NR_socketcall,        sys_socketcall),     // 102 x86/Linux-only
+   LINXY(__NR_socketcall,        sys_socketcall),     // 102 x86/Linux-only
    LINXY(__NR_syslog,            sys_syslog),         // 103
    GENXY(__NR_setitimer,         sys_setitimer),      // 104
 
@@ -1953,7 +1553,7 @@
 //zz 
 //zz    //   (__NR_swapoff,           sys_swapoff),        // 115 */Linux 
    LINXY(__NR_sysinfo,           sys_sysinfo),        // 116
-   PLAXY(__NR_ipc,               sys_ipc),            // 117
+   LINXY(__NR_ipc,               sys_ipc),            // 117
    GENX_(__NR_fsync,             sys_fsync),          // 118
    PLAX_(__NR_sigreturn,         sys_sigreturn),      // 119 ?/Linux
 
@@ -2194,9 +1794,9 @@
    LINX_(__NR_splice,            sys_splice),           // 313
    LINX_(__NR_sync_file_range,   sys_sync_file_range),  // 314
 
-//   LINX_(__NR_tee,               sys_ni_syscall),       // 315
-//   LINX_(__NR_vmsplice,          sys_ni_syscall),       // 316
-//   LINX_(__NR_move_pages,        sys_ni_syscall),       // 317
+   LINX_(__NR_tee,               sys_tee),              // 315
+   LINXY(__NR_vmsplice,          sys_vmsplice),         // 316
+   LINXY(__NR_move_pages,        sys_move_pages),       // 317
    LINXY(__NR_getcpu,            sys_getcpu),           // 318
    LINXY(__NR_epoll_pwait,       sys_epoll_pwait),      // 319
 
@@ -2225,7 +1825,7 @@
 //   LINX_(__NR_fanotify_mark,     sys_ni_syscall),       // 339
 
    LINXY(__NR_prlimit64,         sys_prlimit64),        // 340
-//   LINX_(__NR_name_to_handle_at, sys_ni_syscall),       // 341
+   LINXY(__NR_name_to_handle_at, sys_name_to_handle_at),// 341
 //   LINX_(__NR_open_by_handle_at, sys_ni_syscall),       // 342
 //   LINX_(__NR_clock_adjtime,     sys_ni_syscall),       // 343
 //   LINX_(__NR_syncfs,            sys_ni_syscall),       // 344
diff --git a/coregrind/m_syswrap/syswrap-xen.c b/coregrind/m_syswrap/syswrap-xen.c
new file mode 100644
index 0000000..ce300e8
--- /dev/null
+++ b/coregrind/m_syswrap/syswrap-xen.c
@@ -0,0 +1,1195 @@
+
+/*--------------------------------------------------------------------*/
+/*--- Xen Hypercalls                                 syswrap-xen.c ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2012 Citrix Systems
+      ian.campbell@citrix.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#include "pub_core_basics.h"
+#include "pub_core_vki.h"
+
+#if defined(ENABLE_XEN)
+
+#include "pub_core_vkiscnums.h"
+#include "pub_core_libcsetjmp.h"   // to keep _threadstate.h happy
+#include "pub_core_threadstate.h"
+#include "pub_core_aspacemgr.h"
+#include "pub_core_debuginfo.h"    // VG_(di_notify_*)
+#include "pub_core_transtab.h"     // VG_(discard_translations)
+#include "pub_core_xarray.h"
+#include "pub_core_clientstate.h"
+#include "pub_core_debuglog.h"
+#include "pub_core_libcbase.h"
+#include "pub_core_libcassert.h"
+#include "pub_core_libcfile.h"
+#include "pub_core_libcprint.h"
+#include "pub_core_libcproc.h"
+#include "pub_core_libcsignal.h"
+#include "pub_core_mallocfree.h"
+#include "pub_core_tooliface.h"
+#include "pub_core_options.h"
+#include "pub_core_scheduler.h"
+#include "pub_core_signals.h"
+#include "pub_core_syscall.h"
+#include "pub_core_syswrap.h"
+#include "pub_core_stacktrace.h"    // For VG_(get_and_pp_StackTrace)()
+
+#include "priv_types_n_macros.h"
+#include "priv_syswrap-generic.h"
+#include "priv_syswrap-xen.h"
+
+#include <inttypes.h>
+
+#define PRE(name) static DEFN_PRE_TEMPLATE(xen, name)
+#define POST(name) static DEFN_POST_TEMPLATE(xen, name)
+
+static void bad_subop ( ThreadId              tid,
+                        SyscallArgLayout*     layout,
+                        /*MOD*/SyscallArgs*   args,
+                        /*OUT*/SyscallStatus* status,
+                        /*OUT*/UWord*         flags,
+                        const HChar*           hypercall,
+                        UWord                 subop)
+{
+   VG_(dmsg)("WARNING: unhandled %s subop: %ld\n",
+             hypercall, subop);
+   if (VG_(clo_verbosity) > 1) {
+      VG_(get_and_pp_StackTrace)(tid, VG_(clo_backtrace_size));
+   }
+   VG_(dmsg)("You may be able to write your own handler.\n");
+   VG_(dmsg)("Read the file README_MISSING_SYSCALL_OR_IOCTL.\n");
+   VG_(dmsg)("Nevertheless we consider this a bug.  Please report\n");
+   VG_(dmsg)("it at http://valgrind.org/support/bug_reports.html &\n");
+   VG_(dmsg)("http://wiki.xen.org/wiki/Reporting_Bugs_against_Xen.\n");
+
+   SET_STATUS_Failure(VKI_ENOSYS);
+}
+
+PRE(memory_op)
+{
+   PRINT("__HYPERVISOR_memory_op ( %ld, %lx )", ARG1, ARG2);
+
+   switch (ARG1) {
+   case VKI_XENMEM_set_memory_map: {
+      struct vki_xen_foreign_memory_map *arg =
+	      (struct vki_xen_foreign_memory_map *)ARG2;
+      PRE_MEM_READ("XENMEM_set_memory_map domid",
+                   (Addr)&arg->domid, sizeof(arg->domid));
+      PRE_MEM_READ("XENMEM_set_memory_map map",
+                   (Addr)&arg->map, sizeof(arg->map));
+      break;
+   }
+   case VKI_XENMEM_increase_reservation:
+   case VKI_XENMEM_decrease_reservation:
+   case VKI_XENMEM_populate_physmap:
+   case VKI_XENMEM_claim_pages: {
+      struct xen_memory_reservation *memory_reservation =
+         (struct xen_memory_reservation *)ARG2;
+      const HChar *which;
+
+      switch (ARG1) {
+      case VKI_XENMEM_increase_reservation:
+         which = "XENMEM_increase_reservation";
+         break;
+      case VKI_XENMEM_decrease_reservation:
+         which = "XENMEM_decrease_reservation";
+         PRE_MEM_READ(which,
+                      (Addr)memory_reservation->extent_start.p,
+                      sizeof(vki_xen_pfn_t) * memory_reservation->nr_extents);
+	 break;
+      case VKI_XENMEM_populate_physmap:
+         which = "XENMEM_populate_physmap";
+         PRE_MEM_READ(which,
+                      (Addr)memory_reservation->extent_start.p,
+                      sizeof(vki_xen_pfn_t) * memory_reservation->nr_extents);
+         break;
+      case VKI_XENMEM_claim_pages:
+         which = "XENMEM_claim_pages";
+         break;
+      default:
+         which = "XENMEM_unknown";
+         break;
+      }
+
+      PRE_MEM_READ(which,
+                   (Addr)&memory_reservation->extent_start,
+                   sizeof(memory_reservation->extent_start));
+      PRE_MEM_READ(which,
+                   (Addr)&memory_reservation->nr_extents,
+                   sizeof(memory_reservation->nr_extents));
+      PRE_MEM_READ(which,
+                   (Addr)&memory_reservation->extent_order,
+                   sizeof(memory_reservation->extent_order));
+      PRE_MEM_READ(which,
+                   (Addr)&memory_reservation->mem_flags,
+                   sizeof(memory_reservation->mem_flags));
+      PRE_MEM_READ(which,
+                   (Addr)&memory_reservation->domid,
+                   sizeof(memory_reservation->domid));
+      break;
+   }
+
+   case VKI_XENMEM_get_sharing_freed_pages:
+   case VKI_XENMEM_get_sharing_shared_pages:
+      break;
+
+   default:
+      bad_subop(tid, layout, arrghs, status, flags,
+                "__HYPERVISOR_memory_op", ARG1);
+      break;
+   }
+}
+
+PRE(mmuext_op)
+{
+   struct vki_xen_mmuext_op *ops = (struct vki_xen_mmuext_op *)ARG1;
+   unsigned int i, nr = ARG2;
+
+   for (i=0; i<nr; i++) {
+      struct vki_xen_mmuext_op *op = ops + i;
+      PRE_MEM_READ("__HYPERVISOR_MMUEXT_OP cmd",
+                   (Addr)&op->cmd, sizeof(op->cmd));
+      switch(op->cmd) {
+      case VKI_XEN_MMUEXT_PIN_L1_TABLE:
+      case VKI_XEN_MMUEXT_PIN_L2_TABLE:
+      case VKI_XEN_MMUEXT_PIN_L3_TABLE:
+      case VKI_XEN_MMUEXT_PIN_L4_TABLE:
+      case VKI_XEN_MMUEXT_UNPIN_TABLE:
+      case VKI_XEN_MMUEXT_NEW_BASEPTR:
+      case VKI_XEN_MMUEXT_CLEAR_PAGE:
+      case VKI_XEN_MMUEXT_COPY_PAGE:
+      case VKI_XEN_MMUEXT_MARK_SUPER:
+      case VKI_XEN_MMUEXT_UNMARK_SUPER:
+         PRE_MEM_READ("__HYPERVISOR_MMUEXT_OP arg1.mfn",
+                      (Addr)&op->arg1.mfn,
+                      sizeof(op->arg1.mfn));
+         break;
+
+      case VKI_XEN_MMUEXT_INVLPG_LOCAL:
+      case VKI_XEN_MMUEXT_INVLPG_ALL:
+      case VKI_XEN_MMUEXT_SET_LDT:
+         PRE_MEM_READ("__HYPERVISOR_MMUEXT_OP arg1.mfn",
+                      (Addr)&op->arg1.linear_addr,
+                      sizeof(op->arg1.linear_addr));
+         break;
+
+      case VKI_XEN_MMUEXT_TLB_FLUSH_LOCAL:
+      case VKI_XEN_MMUEXT_TLB_FLUSH_MULTI:
+      case VKI_XEN_MMUEXT_INVLPG_MULTI:
+      case VKI_XEN_MMUEXT_TLB_FLUSH_ALL:
+      case VKI_XEN_MMUEXT_FLUSH_CACHE:
+      case VKI_XEN_MMUEXT_NEW_USER_BASEPTR:
+      case VKI_XEN_MMUEXT_FLUSH_CACHE_GLOBAL:
+         /* None */
+         break;
+      }
+
+      switch(op->cmd) {
+      case VKI_XEN_MMUEXT_SET_LDT:
+         PRE_MEM_READ("__HYPERVISOR_MMUEXT_OP arg2.nr_ents",
+                      (Addr)&op->arg2.nr_ents,
+                      sizeof(op->arg2.nr_ents));
+         break;
+
+      case VKI_XEN_MMUEXT_TLB_FLUSH_MULTI:
+      case VKI_XEN_MMUEXT_INVLPG_MULTI:
+         /* How many??? */
+         PRE_MEM_READ("__HYPERVISOR_MMUEXT_OP arg2.vcpumask",
+                      (Addr)&op->arg2.vcpumask,
+                      sizeof(op->arg2.vcpumask));
+         break;
+
+      case VKI_XEN_MMUEXT_COPY_PAGE:
+         PRE_MEM_READ("__HYPERVISOR_MMUEXT_OP arg2.src_mfn",
+                      (Addr)&op->arg2.src_mfn,
+                      sizeof(op->arg2.src_mfn));
+         break;
+
+      case VKI_XEN_MMUEXT_PIN_L1_TABLE:
+      case VKI_XEN_MMUEXT_PIN_L2_TABLE:
+      case VKI_XEN_MMUEXT_PIN_L3_TABLE:
+      case VKI_XEN_MMUEXT_PIN_L4_TABLE:
+      case VKI_XEN_MMUEXT_UNPIN_TABLE:
+      case VKI_XEN_MMUEXT_NEW_BASEPTR:
+      case VKI_XEN_MMUEXT_TLB_FLUSH_LOCAL:
+      case VKI_XEN_MMUEXT_INVLPG_LOCAL:
+      case VKI_XEN_MMUEXT_TLB_FLUSH_ALL:
+      case VKI_XEN_MMUEXT_INVLPG_ALL:
+      case VKI_XEN_MMUEXT_FLUSH_CACHE:
+      case VKI_XEN_MMUEXT_NEW_USER_BASEPTR:
+      case VKI_XEN_MMUEXT_CLEAR_PAGE:
+      case VKI_XEN_MMUEXT_FLUSH_CACHE_GLOBAL:
+      case VKI_XEN_MMUEXT_MARK_SUPER:
+      case VKI_XEN_MMUEXT_UNMARK_SUPER:
+         /* None */
+         break;
+      }
+   }
+}
+
+static void pre_evtchn_op(ThreadId tid,
+                          SyscallArgLayout*     layout,
+                          /*MOD*/SyscallArgs*   arrghs,
+                          /*OUT*/SyscallStatus* status,
+                          /*OUT*/UWord*         flags,
+                          __vki_u32 cmd, void *arg, int compat)
+{
+   PRINT("__HYPERVISOR_event_channel_op%s ( %d, %p )",
+         compat ? "_compat" : "", cmd, arg);
+
+   switch (cmd) {
+   case VKI_XEN_EVTCHNOP_alloc_unbound: {
+      struct vki_xen_evtchn_alloc_unbound *alloc_unbound = arg;
+      PRE_MEM_READ("EVTCHNOP_alloc_unbound dom",
+                   (Addr)&alloc_unbound->dom, sizeof(alloc_unbound->dom));
+      PRE_MEM_READ("EVTCHNOP_alloc_unbound remote_dom",
+                   (Addr)&alloc_unbound->remote_dom,
+                   sizeof(alloc_unbound->remote_dom));
+      break;
+   }
+   default:
+      if ( compat )
+         bad_subop(tid, layout, arrghs, status, flags,
+                   "__HYPERVISOR_event_channel_op_compat", cmd);
+      else
+         bad_subop(tid, layout, arrghs, status, flags,
+                   "__HYPERVISOR_event_channel_op", cmd);
+      break;
+   }
+}
+
+PRE(evtchn_op)
+{
+   pre_evtchn_op(tid, layout, arrghs, status, flags,
+                 ARG1, (void *)ARG2, 0);
+}
+
+PRE(evtchn_op_compat)
+{
+   struct vki_xen_evtchn_op *evtchn = (struct vki_xen_evtchn_op *)ARG1;
+   PRE_MEM_READ("__HYPERVISOR_event_channel_op_compat",
+                ARG1, sizeof(*evtchn));
+
+   pre_evtchn_op(tid, layout, arrghs, status, flags,
+                 evtchn->cmd, &evtchn->u, 1);
+}
+
+PRE(xen_version)
+{
+   PRINT("__HYPERVISOR_xen_version ( %ld, %lx )", ARG1, ARG2);
+
+   switch (ARG1) {
+   case VKI_XENVER_version:
+   case VKI_XENVER_extraversion:
+   case VKI_XENVER_compile_info:
+   case VKI_XENVER_capabilities:
+   case VKI_XENVER_changeset:
+   case VKI_XENVER_platform_parameters:
+   case VKI_XENVER_get_features:
+   case VKI_XENVER_pagesize:
+   case VKI_XENVER_guest_handle:
+   case VKI_XENVER_commandline:
+      /* No inputs */
+      break;
+
+   default:
+      bad_subop(tid, layout, arrghs, status, flags,
+                "__HYPERVISOR_xen_version", ARG1);
+      break;
+   }
+}
+
+PRE(grant_table_op)
+{
+   PRINT("__HYPERVISOR_grant_table_op ( %ld, 0x%lx, %ld )", ARG1, ARG2, ARG3);
+   switch (ARG1) {
+   case VKI_XEN_GNTTABOP_setup_table: {
+      struct vki_xen_gnttab_setup_table *gst =
+	      (struct vki_xen_gnttab_setup_table*)ARG2;
+      PRE_MEM_READ("VKI_XEN_GNTTABOP_setup_table dom",
+		   (Addr)&gst->dom, sizeof(gst->dom));
+      PRE_MEM_READ("VKI_XEN_GNTTABOP_setup_table nr_frames",
+                   (Addr)&gst->nr_frames, sizeof(gst->nr_frames));
+      break;
+   }
+   default:
+      bad_subop(tid, layout, arrghs, status, flags,
+                "__HYPERVISOR_grant_table_op", ARG1);
+      break;
+   }
+}
+
+PRE(sysctl) {
+   struct vki_xen_sysctl *sysctl = (struct vki_xen_sysctl *)ARG1;
+
+   PRINT("__HYPERVISOR_sysctl ( %d )", sysctl->cmd);
+
+   /*
+    * Common part of xen_sysctl:
+    *    uint32_t cmd;
+    *    uint32_t interface_version;
+    */
+   PRE_MEM_READ("__HYPERVISOR_sysctl", ARG1,
+                sizeof(vki_uint32_t) + sizeof(vki_uint32_t));
+
+   if (!sysctl)
+      return;
+
+   switch (sysctl->interface_version)
+   {
+   case 0x00000008:
+   case 0x00000009:
+   case 0x0000000a:
+	   break;
+   default:
+      VG_(dmsg)("WARNING: sysctl version %"PRIx32" not supported\n",
+                sysctl->interface_version);
+      if (VG_(clo_verbosity) > 1) {
+         VG_(get_and_pp_StackTrace)(tid, VG_(clo_backtrace_size));
+      }
+      VG_(dmsg)("You may be able to write your own handler.\n");
+      VG_(dmsg)("Read the file README_MISSING_SYSCALL_OR_IOCTL.\n");
+      VG_(dmsg)("Nevertheless we consider this a bug.  Please report\n");
+      VG_(dmsg)("it at http://valgrind.org/support/bug_reports.html &\n");
+      VG_(dmsg)("http://wiki.xen.org/wiki/Reporting_Bugs_against_Xen.\n");
+
+      SET_STATUS_Failure(VKI_EINVAL);
+      return;
+   }
+
+#define __PRE_XEN_SYSCTL_READ(_sysctl, _union, _field)			\
+      PRE_MEM_READ("XEN_SYSCTL_" #_sysctl " u." #_union "." #_field,	\
+                   (Addr)&sysctl->u._union._field,			\
+                   sizeof(sysctl->u._union._field))
+#define PRE_XEN_SYSCTL_READ(_sysctl, _field) \
+      __PRE_XEN_SYSCTL_READ(_sysctl, _sysctl, _field)
+
+   switch (sysctl->cmd) {
+   case VKI_XEN_SYSCTL_getdomaininfolist:
+      switch (sysctl->interface_version)
+      {
+      case 0x00000008:
+	 PRE_XEN_SYSCTL_READ(getdomaininfolist_00000008, first_domain);
+	 PRE_XEN_SYSCTL_READ(getdomaininfolist_00000008, max_domains);
+	 PRE_XEN_SYSCTL_READ(getdomaininfolist_00000008, buffer);
+	 break;
+      case 0x00000009:
+	 PRE_XEN_SYSCTL_READ(getdomaininfolist_00000009, first_domain);
+	 PRE_XEN_SYSCTL_READ(getdomaininfolist_00000009, max_domains);
+	 PRE_XEN_SYSCTL_READ(getdomaininfolist_00000009, buffer);
+	 break;
+      }
+      break;
+
+   case VKI_XEN_SYSCTL_sched_id:
+       /* No inputs */
+       break;
+
+   case VKI_XEN_SYSCTL_cpupool_op:
+      PRE_XEN_SYSCTL_READ(cpupool_op, op);
+
+      switch(sysctl->u.cpupool_op.op) {
+      case VKI_XEN_SYSCTL_CPUPOOL_OP_CREATE:
+      case VKI_XEN_SYSCTL_CPUPOOL_OP_DESTROY:
+      case VKI_XEN_SYSCTL_CPUPOOL_OP_INFO:
+      case VKI_XEN_SYSCTL_CPUPOOL_OP_ADDCPU:
+      case VKI_XEN_SYSCTL_CPUPOOL_OP_RMCPU:
+      case VKI_XEN_SYSCTL_CPUPOOL_OP_MOVEDOMAIN:
+         PRE_XEN_SYSCTL_READ(cpupool_op, cpupool_id);
+      }
+
+      if (sysctl->u.cpupool_op.op == VKI_XEN_SYSCTL_CPUPOOL_OP_CREATE)
+         PRE_XEN_SYSCTL_READ(cpupool_op, sched_id);
+
+      if (sysctl->u.cpupool_op.op == VKI_XEN_SYSCTL_CPUPOOL_OP_MOVEDOMAIN)
+         PRE_XEN_SYSCTL_READ(cpupool_op, domid);
+
+      if (sysctl->u.cpupool_op.op == VKI_XEN_SYSCTL_CPUPOOL_OP_ADDCPU ||
+          sysctl->u.cpupool_op.op == VKI_XEN_SYSCTL_CPUPOOL_OP_RMCPU)
+         PRE_XEN_SYSCTL_READ(cpupool_op, cpu);
+
+      break;
+
+   case VKI_XEN_SYSCTL_physinfo:
+      /* No input params */
+      break;
+
+   case VKI_XEN_SYSCTL_topologyinfo:
+      PRE_XEN_SYSCTL_READ(topologyinfo, max_cpu_index);
+      PRE_XEN_SYSCTL_READ(topologyinfo, cpu_to_core);
+      PRE_XEN_SYSCTL_READ(topologyinfo, cpu_to_socket);
+      PRE_XEN_SYSCTL_READ(topologyinfo, cpu_to_node);
+      break;
+
+   case VKI_XEN_SYSCTL_numainfo:
+      PRE_XEN_SYSCTL_READ(numainfo, max_node_index);
+      PRE_XEN_SYSCTL_READ(numainfo, node_to_memsize);
+      PRE_XEN_SYSCTL_READ(numainfo, node_to_memfree);
+      PRE_XEN_SYSCTL_READ(numainfo, node_to_node_distance);
+      break;
+
+   default:
+      bad_subop(tid, layout, arrghs, status, flags,
+                "__HYPERVISOR_sysctl", sysctl->cmd);
+      break;
+   }
+#undef PRE_XEN_SYSCTL_READ
+#undef __PRE_XEN_SYSCTL_READ
+}
+
+PRE(domctl)
+{
+   struct vki_xen_domctl *domctl = (struct vki_xen_domctl *)ARG1;
+
+   PRINT("__HYPERVISOR_domctl ( %d ) on dom%d", domctl->cmd, domctl->domain);
+
+   /*
+    * Common part of xen_domctl:
+    *    vki_uint32_t cmd;
+    *    vki_uint32_t interface_version;
+    *    vki_xen_domid_t  domain;
+    */
+   PRE_MEM_READ("__HYPERVISOR_domctl", ARG1,
+                sizeof(vki_uint32_t) + sizeof(vki_uint32_t)
+		+ sizeof(vki_xen_domid_t));
+
+   if (!domctl)
+      return;
+
+   switch (domctl->interface_version)
+   {
+   case 0x00000007:
+   case 0x00000008:
+   case 0x00000009:
+	   break;
+   default:
+      VG_(dmsg)("WARNING: domctl version %"PRIx32" not supported\n",
+                domctl->interface_version);
+      if (VG_(clo_verbosity) > 1) {
+         VG_(get_and_pp_StackTrace)(tid, VG_(clo_backtrace_size));
+      }
+      VG_(dmsg)("You may be able to write your own handler.\n");
+      VG_(dmsg)("Read the file README_MISSING_SYSCALL_OR_IOCTL.\n");
+      VG_(dmsg)("Nevertheless we consider this a bug.  Please report\n");
+      VG_(dmsg)("it at http://valgrind.org/support/bug_reports.html &\n");
+      VG_(dmsg)("http://wiki.xen.org/wiki/Reporting_Bugs_against_Xen.\n");
+
+      SET_STATUS_Failure(VKI_EINVAL);
+      return;
+   }
+
+#define __PRE_XEN_DOMCTL_READ(_domctl, _union, _field)			\
+      PRE_MEM_READ("XEN_DOMCTL_" #_domctl " u." #_union "." #_field,	\
+                   (Addr)&domctl->u._union._field,			\
+                   sizeof(domctl->u._union._field))
+#define PRE_XEN_DOMCTL_READ(_domctl, _field) \
+      __PRE_XEN_DOMCTL_READ(_domctl, _domctl, _field)
+
+   switch (domctl->cmd) {
+   case VKI_XEN_DOMCTL_destroydomain:
+   case VKI_XEN_DOMCTL_pausedomain:
+   case VKI_XEN_DOMCTL_max_vcpus:
+   case VKI_XEN_DOMCTL_get_address_size:
+   case VKI_XEN_DOMCTL_gettscinfo:
+   case VKI_XEN_DOMCTL_getdomaininfo:
+   case VKI_XEN_DOMCTL_unpausedomain:
+      /* No input fields. */
+      break;
+
+   case VKI_XEN_DOMCTL_createdomain:
+      PRE_XEN_DOMCTL_READ(createdomain, ssidref);
+      PRE_XEN_DOMCTL_READ(createdomain, handle);
+      PRE_XEN_DOMCTL_READ(createdomain, flags);
+      break;
+
+   case VKI_XEN_DOMCTL_max_mem:
+      PRE_XEN_DOMCTL_READ(max_mem, max_memkb);
+      break;
+
+   case VKI_XEN_DOMCTL_set_address_size:
+      __PRE_XEN_DOMCTL_READ(set_address_size, address_size, size);
+      break;
+
+   case VKI_XEN_DOMCTL_settscinfo:
+      __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.tsc_mode);
+      __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.gtsc_khz);
+      __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.incarnation);
+      __PRE_XEN_DOMCTL_READ(settscinfo, tsc_info, info.elapsed_nsec);
+      break;
+
+   case VKI_XEN_DOMCTL_hypercall_init:
+      PRE_XEN_DOMCTL_READ(hypercall_init, gmfn);
+      break;
+
+   case VKI_XEN_DOMCTL_getvcpuinfo:
+      PRE_XEN_DOMCTL_READ(getvcpuinfo, vcpu);
+      break;
+
+   case VKI_XEN_DOMCTL_scheduler_op:
+      PRE_XEN_DOMCTL_READ(scheduler_op, sched_id);
+      PRE_XEN_DOMCTL_READ(scheduler_op, cmd);
+      if ( domctl->u.scheduler_op.cmd == VKI_XEN_DOMCTL_SCHEDOP_putinfo ) {
+         switch(domctl->u.scheduler_op.sched_id) {
+         case VKI_XEN_SCHEDULER_SEDF:
+            PRE_XEN_DOMCTL_READ(scheduler_op, u.sedf.period);
+            PRE_XEN_DOMCTL_READ(scheduler_op, u.sedf.slice);
+            PRE_XEN_DOMCTL_READ(scheduler_op, u.sedf.latency);
+            PRE_XEN_DOMCTL_READ(scheduler_op, u.sedf.extratime);
+            PRE_XEN_DOMCTL_READ(scheduler_op, u.sedf.weight);
+            break;
+         case VKI_XEN_SCHEDULER_CREDIT:
+            PRE_XEN_DOMCTL_READ(scheduler_op, u.credit.weight);
+            PRE_XEN_DOMCTL_READ(scheduler_op, u.credit.cap);
+            break;
+         case VKI_XEN_SCHEDULER_CREDIT2:
+            PRE_XEN_DOMCTL_READ(scheduler_op, u.credit2.weight);
+            break;
+         case VKI_XEN_SCHEDULER_ARINC653:
+            break;
+         }
+      }
+      break;
+
+   case VKI_XEN_DOMCTL_getvcpuaffinity:
+      __PRE_XEN_DOMCTL_READ(getvcpuaffinity, vcpuaffinity, vcpu);
+      break;
+
+   case VKI_XEN_DOMCTL_setvcpuaffinity:
+      __PRE_XEN_DOMCTL_READ(setvcpuaffinity, vcpuaffinity, vcpu);
+      PRE_MEM_READ("XEN_DOMCTL_setvcpuaffinity u.vcpuaffinity.cpumap.bitmap",
+                   (Addr)domctl->u.vcpuaffinity.cpumap.bitmap.p,
+                   domctl->u.vcpuaffinity.cpumap.nr_bits / 8);
+      break;
+
+   case VKI_XEN_DOMCTL_getnodeaffinity:
+      __PRE_XEN_DOMCTL_READ(nodeaffinity, nodeaffinity, nodemap.nr_bits);
+      break;
+   case VKI_XEN_DOMCTL_setnodeaffinity:
+      __PRE_XEN_DOMCTL_READ(nodeaffinity, nodeaffinity, nodemap.nr_bits);
+      PRE_MEM_READ("XEN_DOMCTL_setnodeaffinity u.nodeaffinity.cpumap.bitmap",
+                   (Addr)domctl->u.nodeaffinity.nodemap.bitmap.p,
+                   domctl->u.nodeaffinity.nodemap.nr_bits / 8);
+      break;
+
+   case VKI_XEN_DOMCTL_getvcpucontext:
+      __PRE_XEN_DOMCTL_READ(getvcpucontext, vcpucontext, vcpu);
+      break;
+
+   case VKI_XEN_DOMCTL_setvcpucontext:
+      __PRE_XEN_DOMCTL_READ(setvcpucontext, vcpucontext, vcpu);
+      __PRE_XEN_DOMCTL_READ(setvcpucontext, vcpucontext, ctxt.p);
+      break;
+
+   case VKI_XEN_DOMCTL_set_cpuid:
+      PRE_MEM_READ("XEN_DOMCTL_set_cpuid u.cpuid",
+                   (Addr)&domctl->u.cpuid, sizeof(domctl->u.cpuid));
+      break;
+
+   case VKI_XEN_DOMCTL_getvcpuextstate:
+      __PRE_XEN_DOMCTL_READ(getvcpuextstate, vcpuextstate, vcpu);
+      __PRE_XEN_DOMCTL_READ(getvcpuextstate, vcpuextstate, xfeature_mask);
+      __PRE_XEN_DOMCTL_READ(getvcpuextstate, vcpuextstate, size);
+      __PRE_XEN_DOMCTL_READ(getvcpuextstate, vcpuextstate, buffer);
+      break;
+
+   default:
+      bad_subop(tid, layout, arrghs, status, flags,
+                "__HYPERVISOR_domctl", domctl->cmd);
+      break;
+   }
+#undef PRE_XEN_DOMCTL_READ
+#undef __PRE_XEN_DOMCTL_READ
+}
+
+PRE(hvm_op)
+{
+   unsigned long op = ARG1;
+   void *arg = (void *)(unsigned long)ARG2;
+
+   PRINT("__HYPERVISOR_hvm_op ( %ld, %p )", op, arg);
+
+#define __PRE_XEN_HVMOP_READ(_hvm_op, _type, _field)    \
+   PRE_MEM_READ("XEN_HVMOP_" # _hvm_op " " #_field,     \
+                (Addr)&((_type*)arg)->_field,           \
+                sizeof(((_type*)arg)->_field))
+#define PRE_XEN_HVMOP_READ(_hvm_op, _field)                             \
+   __PRE_XEN_HVMOP_READ(_hvm_op, "xen_hvm_" # _hvm_op "_t", _field)
+
+   switch (op) {
+   case VKI_XEN_HVMOP_set_param:
+      __PRE_XEN_HVMOP_READ(set_param, struct vki_xen_hvm_param, domid);
+      __PRE_XEN_HVMOP_READ(set_param, struct vki_xen_hvm_param, index);
+      __PRE_XEN_HVMOP_READ(set_param, struct vki_xen_hvm_param, value);
+      break;
+
+   case VKI_XEN_HVMOP_get_param:
+      __PRE_XEN_HVMOP_READ(get_param, struct vki_xen_hvm_param, domid);
+      __PRE_XEN_HVMOP_READ(get_param, struct vki_xen_hvm_param, index);
+      break;
+
+   default:
+      bad_subop(tid, layout, arrghs, status, flags,
+                "__HYPERVISOR_hvm_op", op);
+      break;
+   }
+#undef __PRE_XEN_HVMOP_READ
+#undef PRE_XEN_HVMOP_READ
+}
+
+POST(memory_op)
+{
+   switch (ARG1) {
+   case VKI_XENMEM_set_memory_map:
+   case VKI_XENMEM_decrease_reservation:
+   case VKI_XENMEM_claim_pages:
+      /* No outputs */
+      break;
+   case VKI_XENMEM_increase_reservation:
+   case VKI_XENMEM_populate_physmap: {
+      struct xen_memory_reservation *memory_reservation =
+         (struct xen_memory_reservation *)ARG2;
+
+      POST_MEM_WRITE((Addr)memory_reservation->extent_start.p,
+                     sizeof(vki_xen_pfn_t) * memory_reservation->nr_extents);
+      break;
+   }
+
+   case VKI_XENMEM_get_sharing_freed_pages:
+   case VKI_XENMEM_get_sharing_shared_pages:
+       /* No outputs */
+       break;
+   }
+}
+
+POST(mmuext_op)
+{
+   unsigned int *pdone = (unsigned int *)ARG3;
+   /* simplistic */
+   POST_MEM_WRITE((Addr)pdone, sizeof(*pdone));
+}
+
+static void post_evtchn_op(ThreadId tid, __vki_u32 cmd, void *arg, int compat)
+{
+   switch (cmd) {
+   case VKI_XEN_EVTCHNOP_alloc_unbound: {
+      struct vki_xen_evtchn_alloc_unbound *alloc_unbound = arg;
+      POST_MEM_WRITE((Addr)&alloc_unbound->port, sizeof(alloc_unbound->port));
+      break;
+   }
+   }
+}
+
+POST(evtchn_op)
+{
+   post_evtchn_op(tid, ARG1, (void *)ARG2, 0);
+}
+
+POST(evtchn_op_compat)
+{
+   struct vki_xen_evtchn_op *evtchn = (struct vki_xen_evtchn_op *)ARG1;
+   post_evtchn_op(tid, evtchn->cmd, &evtchn->u, 1);
+}
+
+POST(xen_version)
+{
+   switch (ARG1) {
+   case VKI_XENVER_version:
+      /* No outputs */
+      break;
+   case VKI_XENVER_extraversion:
+      POST_MEM_WRITE((Addr)ARG2, sizeof(vki_xen_extraversion_t));
+      break;
+   case VKI_XENVER_compile_info:
+      POST_MEM_WRITE((Addr)ARG2, sizeof(struct vki_xen_compile_info));
+      break;
+   case VKI_XENVER_capabilities:
+      POST_MEM_WRITE((Addr)ARG2, sizeof(vki_xen_capabilities_info_t));
+      break;
+   case VKI_XENVER_changeset:
+      POST_MEM_WRITE((Addr)ARG2, sizeof(vki_xen_changeset_info_t));
+      break;
+   case VKI_XENVER_platform_parameters:
+      POST_MEM_WRITE((Addr)ARG2, sizeof(struct vki_xen_platform_parameters));
+      break;
+   case VKI_XENVER_get_features:
+      POST_MEM_WRITE((Addr)ARG2, sizeof(struct vki_xen_feature_info));
+      break;
+   case VKI_XENVER_pagesize:
+      /* No outputs */
+      break;
+   case VKI_XENVER_guest_handle:
+      POST_MEM_WRITE((Addr)ARG2, sizeof(vki_xen_domain_handle_t));
+      break;
+   case VKI_XENVER_commandline:
+      POST_MEM_WRITE((Addr)ARG2, sizeof(vki_xen_commandline_t));
+      break;
+   }
+}
+
+POST(grant_table_op)
+{
+   switch (ARG1) {
+   case VKI_XEN_GNTTABOP_setup_table: {
+      struct vki_xen_gnttab_setup_table *gst =
+	      (struct vki_xen_gnttab_setup_table*)ARG2;
+      PRE_MEM_WRITE("VKI_XEN_GNTTABOP_setup_table",
+                    (Addr)&gst->status, sizeof(gst->status));
+      PRE_MEM_WRITE("VKI_XEN_GNTTABOP_setup_table",
+                    (Addr)gst->frame_list.p,
+                    sizeof(*gst->frame_list.p) & gst->nr_frames);
+      break;
+   }
+   }
+}
+
+POST(sysctl)
+{
+   struct vki_xen_sysctl *sysctl = (struct vki_xen_sysctl *)ARG1;
+
+   switch (sysctl->interface_version)
+   {
+   case 0x00000008:
+   case 0x00000009:
+   case 0x0000000a:
+	   break;
+   default:
+      return;
+   }
+
+#define __POST_XEN_SYSCTL_WRITE(_sysctl, _union, _field)        \
+      POST_MEM_WRITE((Addr)&sysctl->u._union._field,            \
+                     sizeof(sysctl->u._union._field))
+#define POST_XEN_SYSCTL_WRITE(_sysctl, _field) \
+      __POST_XEN_SYSCTL_WRITE(_sysctl, _sysctl, _field)
+
+   switch (sysctl->cmd) {
+   case VKI_XEN_SYSCTL_getdomaininfolist:
+      switch (sysctl->interface_version)
+      {
+      case 0x00000008:
+	 POST_XEN_SYSCTL_WRITE(getdomaininfolist_00000008, num_domains);
+	 POST_MEM_WRITE((Addr)sysctl->u.getdomaininfolist_00000008.buffer.p,
+			sizeof(*sysctl->u.getdomaininfolist_00000008.buffer.p)
+			* sysctl->u.getdomaininfolist_00000008.num_domains);
+	 break;
+      case 0x00000009:
+	 POST_XEN_SYSCTL_WRITE(getdomaininfolist_00000009, num_domains);
+	 POST_MEM_WRITE((Addr)sysctl->u.getdomaininfolist_00000009.buffer.p,
+			sizeof(*sysctl->u.getdomaininfolist_00000009.buffer.p)
+			* sysctl->u.getdomaininfolist_00000009.num_domains);
+	 break;
+      }
+      break;
+
+   case VKI_XEN_SYSCTL_sched_id:
+       POST_XEN_SYSCTL_WRITE(sched_id, sched_id);
+       break;
+
+   case VKI_XEN_SYSCTL_cpupool_op:
+      if (sysctl->u.cpupool_op.op == VKI_XEN_SYSCTL_CPUPOOL_OP_CREATE ||
+          sysctl->u.cpupool_op.op == VKI_XEN_SYSCTL_CPUPOOL_OP_INFO)
+         POST_XEN_SYSCTL_WRITE(cpupool_op, cpupool_id);
+      if (sysctl->u.cpupool_op.op == VKI_XEN_SYSCTL_CPUPOOL_OP_INFO) {
+         POST_XEN_SYSCTL_WRITE(cpupool_op, sched_id);
+         POST_XEN_SYSCTL_WRITE(cpupool_op, n_dom);
+      }
+      if (sysctl->u.cpupool_op.op == VKI_XEN_SYSCTL_CPUPOOL_OP_INFO ||
+          sysctl->u.cpupool_op.op == VKI_XEN_SYSCTL_CPUPOOL_OP_FREEINFO)
+         POST_XEN_SYSCTL_WRITE(cpupool_op, cpumap);
+      break;
+
+   case VKI_XEN_SYSCTL_physinfo:
+      switch (sysctl->interface_version)
+      {
+      case 0x00000008:
+      case 0x00000009: /* Unchanged from version 8 */
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, threads_per_core);
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, cores_per_socket);
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, nr_cpus);
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, max_cpu_id);
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, nr_nodes);
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, max_node_id);
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, cpu_khz);
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, total_pages);
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, free_pages);
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, scrub_pages);
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, hw_cap[8]);
+         POST_XEN_SYSCTL_WRITE(physinfo_00000008, capabilities);
+         break;
+      case 0x0000000a:
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, threads_per_core);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, cores_per_socket);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, nr_cpus);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, max_cpu_id);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, nr_nodes);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, max_node_id);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, cpu_khz);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, total_pages);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, free_pages);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, scrub_pages);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, outstanding_pages);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, hw_cap[8]);
+         POST_XEN_SYSCTL_WRITE(physinfo_0000000a, capabilities);
+         break;
+      }
+      break;
+
+   case VKI_XEN_SYSCTL_topologyinfo:
+      POST_XEN_SYSCTL_WRITE(topologyinfo, max_cpu_index);
+      if (sysctl->u.topologyinfo.cpu_to_core.p)
+         POST_MEM_WRITE((Addr)sysctl->u.topologyinfo.cpu_to_core.p,
+                     sizeof(uint32_t) * sysctl->u.topologyinfo.max_cpu_index);
+      if (sysctl->u.topologyinfo.cpu_to_socket.p)
+         POST_MEM_WRITE((Addr)sysctl->u.topologyinfo.cpu_to_socket.p,
+                     sizeof(uint32_t) * sysctl->u.topologyinfo.max_cpu_index);
+      if (sysctl->u.topologyinfo.cpu_to_node.p)
+         POST_MEM_WRITE((Addr)sysctl->u.topologyinfo.cpu_to_node.p,
+                     sizeof(uint32_t) * sysctl->u.topologyinfo.max_cpu_index);
+      break;
+
+   case VKI_XEN_SYSCTL_numainfo:
+      POST_XEN_SYSCTL_WRITE(numainfo, max_node_index);
+      POST_MEM_WRITE((Addr)sysctl->u.numainfo.node_to_memsize.p,
+                     sizeof(uint64_t) * sysctl->u.numainfo.max_node_index);
+      POST_MEM_WRITE((Addr)sysctl->u.numainfo.node_to_memfree.p,
+                     sizeof(uint64_t) * sysctl->u.numainfo.max_node_index);
+      POST_MEM_WRITE((Addr)sysctl->u.numainfo.node_to_node_distance.p,
+                     sizeof(uint32_t) * sysctl->u.numainfo.max_node_index);
+      break;
+   }
+#undef POST_XEN_SYSCTL_WRITE
+#undef __POST_XEN_SYSCTL_WRITE
+}
+
+POST(domctl){
+   struct vki_xen_domctl *domctl = (struct vki_xen_domctl *)ARG1;
+
+   switch (domctl->interface_version) {
+   case 0x00000007:
+   case 0x00000008:
+   case 0x00000009:
+	   break;
+   default:
+	   return;
+   }
+
+#define __POST_XEN_DOMCTL_WRITE(_domctl, _union, _field)        \
+   POST_MEM_WRITE((Addr)&domctl->u._union._field,               \
+                  sizeof(domctl->u._union._field));
+#define POST_XEN_DOMCTL_WRITE(_domctl, _field)          \
+   __POST_XEN_DOMCTL_WRITE(_domctl, _domctl, _field)
+
+   switch (domctl->cmd) {
+   case VKI_XEN_DOMCTL_createdomain:
+   case VKI_XEN_DOMCTL_destroydomain:
+   case VKI_XEN_DOMCTL_pausedomain:
+   case VKI_XEN_DOMCTL_max_mem:
+   case VKI_XEN_DOMCTL_set_address_size:
+   case VKI_XEN_DOMCTL_settscinfo:
+   case VKI_XEN_DOMCTL_hypercall_init:
+   case VKI_XEN_DOMCTL_setvcpuaffinity:
+   case VKI_XEN_DOMCTL_setvcpucontext:
+   case VKI_XEN_DOMCTL_setnodeaffinity:
+   case VKI_XEN_DOMCTL_set_cpuid:
+   case VKI_XEN_DOMCTL_unpausedomain:
+      /* No output fields */
+      break;
+
+   case VKI_XEN_DOMCTL_max_vcpus:
+      POST_XEN_DOMCTL_WRITE(max_vcpus, max);
+      break;
+
+   case VKI_XEN_DOMCTL_get_address_size:
+      __POST_XEN_DOMCTL_WRITE(get_address_size, address_size, size);
+      break;
+
+   case VKI_XEN_DOMCTL_gettscinfo:
+      __POST_XEN_DOMCTL_WRITE(settscinfo, tsc_info, info.tsc_mode);
+      __POST_XEN_DOMCTL_WRITE(settscinfo, tsc_info, info.gtsc_khz);
+      __POST_XEN_DOMCTL_WRITE(settscinfo, tsc_info, info.incarnation);
+      __POST_XEN_DOMCTL_WRITE(settscinfo, tsc_info, info.elapsed_nsec);
+      break;
+
+   case VKI_XEN_DOMCTL_getvcpuinfo:
+      POST_XEN_DOMCTL_WRITE(getvcpuinfo, online);
+      POST_XEN_DOMCTL_WRITE(getvcpuinfo, blocked);
+      POST_XEN_DOMCTL_WRITE(getvcpuinfo, running);
+      POST_XEN_DOMCTL_WRITE(getvcpuinfo, cpu_time);
+      POST_XEN_DOMCTL_WRITE(getvcpuinfo, cpu);
+      break;
+
+   case VKI_XEN_DOMCTL_scheduler_op:
+      if ( domctl->u.scheduler_op.cmd == VKI_XEN_DOMCTL_SCHEDOP_getinfo ) {
+         switch(domctl->u.scheduler_op.sched_id) {
+         case VKI_XEN_SCHEDULER_SEDF:
+            POST_XEN_DOMCTL_WRITE(scheduler_op, u.sedf.period);
+            POST_XEN_DOMCTL_WRITE(scheduler_op, u.sedf.slice);
+            POST_XEN_DOMCTL_WRITE(scheduler_op, u.sedf.latency);
+            POST_XEN_DOMCTL_WRITE(scheduler_op, u.sedf.extratime);
+            POST_XEN_DOMCTL_WRITE(scheduler_op, u.sedf.weight);
+            break;
+         case VKI_XEN_SCHEDULER_CREDIT:
+            POST_XEN_DOMCTL_WRITE(scheduler_op, u.credit.weight);
+            POST_XEN_DOMCTL_WRITE(scheduler_op, u.credit.cap);
+            break;
+         case VKI_XEN_SCHEDULER_CREDIT2:
+            POST_XEN_DOMCTL_WRITE(scheduler_op, u.credit2.weight);
+            break;
+         case VKI_XEN_SCHEDULER_ARINC653:
+            break;
+         }
+      }
+      break;
+
+   case VKI_XEN_DOMCTL_getvcpuaffinity:
+      POST_MEM_WRITE((Addr)domctl->u.vcpuaffinity.cpumap.bitmap.p,
+                     domctl->u.vcpuaffinity.cpumap.nr_bits / 8);
+      break;
+
+   case VKI_XEN_DOMCTL_getnodeaffinity:
+      POST_MEM_WRITE((Addr)domctl->u.nodeaffinity.nodemap.bitmap.p,
+                     domctl->u.nodeaffinity.nodemap.nr_bits / 8);
+      break;
+
+   case VKI_XEN_DOMCTL_getdomaininfo:
+      switch (domctl->interface_version) {
+      case 0x00000007:
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, domain);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, flags);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, tot_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, max_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, shr_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, shared_info_frame);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, cpu_time);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, nr_online_vcpus);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, max_vcpu_id);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, ssidref);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, handle);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000007, cpupool);
+      break;
+      case 0x00000008:
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, domain);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, flags);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, tot_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, max_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, shr_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, paged_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, shared_info_frame);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, cpu_time);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, nr_online_vcpus);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, max_vcpu_id);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, ssidref);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, handle);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000008, cpupool);
+      break;
+      case 0x00000009:
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, domain);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, flags);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, tot_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, max_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, outstanding_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, shr_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, paged_pages);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, shared_info_frame);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, cpu_time);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, nr_online_vcpus);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, max_vcpu_id);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, ssidref);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, handle);
+	 POST_XEN_DOMCTL_WRITE(getdomaininfo_00000009, cpupool);
+      break;
+      }
+      break;
+   case VKI_XEN_DOMCTL_getvcpucontext:
+      __POST_XEN_DOMCTL_WRITE(getvcpucontext, vcpucontext, ctxt.p);
+      break;
+
+   case VKI_XEN_DOMCTL_getvcpuextstate:
+      __POST_XEN_DOMCTL_WRITE(getvcpuextstate, vcpuextstate, xfeature_mask);
+      __POST_XEN_DOMCTL_WRITE(getvcpuextstate, vcpuextstate, size);
+      POST_MEM_WRITE((Addr)domctl->u.vcpuextstate.buffer.p,
+                     domctl->u.vcpuextstate.size);
+      break;
+
+   }
+#undef POST_XEN_DOMCTL_WRITE
+#undef __POST_XEN_DOMCTL_WRITE
+}
+
+POST(hvm_op)
+{
+   unsigned long op = ARG1;
+   void *arg = (void *)(unsigned long)ARG2;
+
+#define __POST_XEN_HVMOP_WRITE(_hvm_op, _type, _field)  \
+      POST_MEM_WRITE((Addr)&((_type*)arg)->_field,      \
+                     sizeof(((_type*)arg)->_field))
+#define POST_XEN_HVMOP_WRITE(_hvm_op, _field) \
+      __PRE_XEN_HVMOP_READ(_hvm_op, "xen_hvm_" # _hvm_op "_t", _field)
+
+   switch (op) {
+   case VKI_XEN_HVMOP_set_param:
+      /* No output paramters */
+      break;
+
+   case VKI_XEN_HVMOP_get_param:
+      __POST_XEN_HVMOP_WRITE(get_param, struct vki_xen_hvm_param, value);
+      break;
+   }
+#undef __POST_XEN_HVMOP_WRITE
+#undef POST_XEN_HVMOP_WRITE
+}
+
+typedef
+   struct {
+      SyscallTableEntry entry;
+      int nr_args;
+   }
+   XenHypercallTableEntry;
+
+#define HYPX_(const, name, nr_args) \
+   [const] = { { vgSysWrap_xen_##name##_before, NULL }, nr_args }
+#define HYPXY(const, name, nr_args)                     \
+   [const] = { { vgSysWrap_xen_##name##_before,         \
+                 vgSysWrap_xen_##name##_after },        \
+               nr_args }
+
+static XenHypercallTableEntry hypercall_table[] = {
+   //    __VKI_XEN_set_trap_table                                  // 0
+   //    __VKI_XEN_mmu_update                                      // 1
+   //    __VKI_XEN_set_gdt                                         // 2
+   //    __VKI_XEN_stack_switch                                    // 3
+   //    __VKI_XEN_set_callbacks                                   // 4
+
+   //    __VKI_XEN_fpu_taskswitch                                  // 5
+   //    __VKI_XEN_sched_op_compat                                 // 6
+   //    __VKI_XEN_platform_op                                     // 7
+   //    __VKI_XEN_set_debugreg                                    // 8
+   //    __VKI_XEN_get_debugreg                                    // 9
+
+   //    __VKI_XEN_update_descriptor                               // 10
+   //                                                                 // 11
+   HYPXY(__VKI_XEN_memory_op,               memory_op,         2), // 12
+   //    __VKI_XEN_multicall                                       // 13
+   //    __VKI_XEN_update_va_mapping                               // 14
+
+   //    __VKI_XEN_set_timer_op                                    // 15
+   HYPXY(__VKI_XEN_event_channel_op_compat, evtchn_op_compat,  1), // 16
+   HYPXY(__VKI_XEN_xen_version,             xen_version,       2), // 17
+   //    __VKI_XEN_console_io                                      // 18
+   //    __VKI_XEN_physdev_op_compat                               // 19
+
+   HYPXY(__VKI_XEN_grant_table_op,          grant_table_op,    3), // 20
+   //    __VKI_XEN_vm_assist                                       // 21
+   //    __VKI_XEN_update_va_mapping_otherdomain                   // 22
+   //    __VKI_XEN_iret,                    iret                   // 23
+   //    __VKI_XEN_vcpu_op,                 vcpu_op                // 24
+
+   //    __VKI_XEN_set_segment_base                                // 25
+   HYPXY(__VKI_XEN_mmuext_op,               mmuext_op,         2), // 26
+   //    __VKI_XEN_xsm_op                                          // 27
+   //    __VKI_XEN_nmi_op                                          // 28
+   //    __VKI_XEN_sched_op                                        // 29
+
+   //    __VKI_XEN_callback_op                                     // 30
+   //    __VKI_XEN_xenoprof_op                                     // 31
+   HYPXY(__VKI_XEN_event_channel_op,        evtchn_op,         2), // 32
+   //    __VKI_XEN_physdev_op                                      // 33
+   HYPXY(__VKI_XEN_hvm_op,                  hvm_op,            2), // 34
+
+   HYPXY(__VKI_XEN_sysctl,                  sysctl,            1), // 35
+   HYPXY(__VKI_XEN_domctl,                  domctl,            1), // 36
+   //    __VKI_XEN_kexec_op                                        // 37
+   //    __VKI_XEN_tmem_op                                         // 38
+};
+
+static void bad_before ( ThreadId              tid,
+                         SyscallArgLayout*     layout,
+                         /*MOD*/SyscallArgs*   args,
+                         /*OUT*/SyscallStatus* status,
+                         /*OUT*/UWord*         flags )
+{
+   VG_(dmsg)("WARNING: unhandled hypercall: %s\n",
+      VG_SYSNUM_STRING_EXTRA(args->sysno));
+   if (VG_(clo_verbosity) > 1) {
+      VG_(get_and_pp_StackTrace)(tid, VG_(clo_backtrace_size));
+   }
+   VG_(dmsg)("You may be able to write your own handler.\n");
+   VG_(dmsg)("Read the file README_MISSING_SYSCALL_OR_IOCTL.\n");
+   VG_(dmsg)("Nevertheless we consider this a bug.  Please report\n");
+   VG_(dmsg)("it at http://valgrind.org/support/bug_reports.html &\n");
+   VG_(dmsg)("http://wiki.xen.org/wiki/Reporting_Bugs_against_Xen.\n");
+
+   SET_STATUS_Failure(VKI_ENOSYS);
+}
+
+static XenHypercallTableEntry bad_hyper =
+{ { bad_before, NULL }, 0 };
+
+static XenHypercallTableEntry* ML_(get_xen_hypercall_entry) ( UInt sysno )
+{
+   XenHypercallTableEntry *ret = &bad_hyper;
+
+   const UInt hypercall_table_size
+      = sizeof(hypercall_table) / sizeof(hypercall_table[0]);
+
+   /* Is it in the contiguous initial section of the table? */
+   if (sysno < hypercall_table_size) {
+      XenHypercallTableEntry* ent = &hypercall_table[sysno];
+      if (ent->entry.before != NULL)
+         ret = ent;
+   }
+
+   /* Can't find a wrapper */
+   return ret;
+}
+
+DEFN_PRE_TEMPLATE(xen, hypercall)
+{
+   XenHypercallTableEntry *ent = ML_(get_xen_hypercall_entry)(SYSNO);
+
+   /* Return number of arguments consumed */
+   ARG8 = ent->nr_args;
+
+   vg_assert(ent);
+   vg_assert(ent->entry.before);
+   (ent->entry.before)( tid, layout, arrghs, status, flags );
+
+}
+
+DEFN_POST_TEMPLATE(xen, hypercall)
+{
+   XenHypercallTableEntry *ent = ML_(get_xen_hypercall_entry)(SYSNO);
+
+   /* Return number of arguments consumed */
+   ARG8 = ent->nr_args;
+
+   vg_assert(ent);
+   if (ent->entry.after)
+      (ent->entry.after)( tid, arrghs, status );
+}
+
+#endif // defined(ENABLE_XEN)
diff --git a/coregrind/m_threadstate.c b/coregrind/m_threadstate.c
index bd5b67e..3cd9478 100644
--- a/coregrind/m_threadstate.c
+++ b/coregrind/m_threadstate.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -44,7 +44,7 @@
 
 ThreadId VG_(running_tid) = VG_INVALID_THREADID;
 
-ThreadState VG_(threads)[VG_N_THREADS];
+ThreadState VG_(threads)[VG_N_THREADS] __attribute__((aligned(16)));
 
 /*------------------------------------------------------------*/
 /*--- Operations.                                          ---*/
diff --git a/coregrind/m_tooliface.c b/coregrind/m_tooliface.c
index d13a811..ac2af36 100644
--- a/coregrind/m_tooliface.c
+++ b/coregrind/m_tooliface.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Nicholas Nethercote
+   Copyright (C) 2000-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -41,7 +41,8 @@
 void VG_(basic_tool_funcs)(
    void(*post_clo_init)(void),
    IRSB*(*instrument)(VgCallbackClosure*, IRSB*, 
-                      VexGuestLayout*, VexGuestExtents*, IRType, IRType),
+                      VexGuestLayout*, VexGuestExtents*, VexArchInfo*,
+                      IRType, IRType),
    void(*fini)(Int)
 )
 {
@@ -71,11 +72,11 @@
       VG_(details).detail = detail;                 \
    }
 
-DETAILS(Char*, name)
-DETAILS(Char*, version)
-DETAILS(Char*, description)
-DETAILS(Char*, copyright_author)
-DETAILS(Char*, bug_reports_to)
+DETAILS(const HChar*, name)
+DETAILS(const HChar*, version)
+DETAILS(const HChar*, description)
+DETAILS(const HChar*, copyright_author)
+DETAILS(const HChar*, bug_reports_to)
 DETAILS(UInt,  avg_translation_sizeB)
 
 
@@ -98,7 +99,7 @@
 };
 
 /* static */
-Bool VG_(sanity_check_needs)(Char** failmsg)
+Bool VG_(sanity_check_needs)(const HChar** failmsg)
 {
    Bool any_new_mem_stack_N, any_new_mem_stack_N_w_ECU;
    Bool any_new_mem_stack_w_conflicting_otags;
@@ -229,11 +230,11 @@
    void (*pp)         (Error*),
    Bool show_TIDs,
    UInt (*update)     (Error*),
-   Bool (*recog)      (Char*, Supp*),
-   Bool (*read_extra) (Int, Char**, SizeT*, Supp*),
+   Bool (*recog)      (const HChar*, Supp*),
+   Bool (*read_extra) (Int, HChar**, SizeT*, Supp*),
    Bool (*matches)    (Error*, Supp*),
-   Char* (*name)      (Error*),
-   Bool (*get_xtra_si)(Error*,/*OUT*/Char*,Int)
+   const HChar* (*name) (Error*),
+   Bool (*get_xtra_si)(Error*,/*OUT*/HChar*,Int)
 )
 {
    VG_(needs).tool_errors = True;
@@ -250,7 +251,7 @@
 }
 
 void VG_(needs_command_line_options)(
-   Bool (*process)(Char*),
+   Bool (*process)(const HChar*),
    void (*usage)(void),
    void (*debug_usage)(void)
 )
@@ -394,13 +395,13 @@
 
 DEF0(track_ban_mem_stack,         Addr, SizeT)
 
-DEF0(track_pre_mem_read,          CorePart, ThreadId, Char*, Addr, SizeT)
-DEF0(track_pre_mem_read_asciiz,   CorePart, ThreadId, Char*, Addr)
-DEF0(track_pre_mem_write,         CorePart, ThreadId, Char*, Addr, SizeT)
+DEF0(track_pre_mem_read,          CorePart, ThreadId, const HChar*, Addr, SizeT)
+DEF0(track_pre_mem_read_asciiz,   CorePart, ThreadId, const HChar*, Addr)
+DEF0(track_pre_mem_write,         CorePart, ThreadId, const HChar*, Addr, SizeT)
 DEF0(track_post_mem_write,        CorePart, ThreadId, Addr, SizeT)
 
-DEF0(track_pre_reg_read,          CorePart, ThreadId, Char*, PtrdiffT, SizeT)
-DEF0(track_post_reg_write,        CorePart, ThreadId,        PtrdiffT, SizeT)
+DEF0(track_pre_reg_read,          CorePart, ThreadId, const HChar*, PtrdiffT, SizeT)
+DEF0(track_post_reg_write,        CorePart, ThreadId,               PtrdiffT, SizeT)
 
 DEF0(track_post_reg_write_clientcall_return, ThreadId, PtrdiffT, SizeT, Addr)
 
diff --git a/coregrind/m_trampoline.S b/coregrind/m_trampoline.S
index 73ef862..f2a86ea 100644
--- a/coregrind/m_trampoline.S
+++ b/coregrind/m_trampoline.S
@@ -7,9 +7,9 @@
   This file is part of Valgrind, a dynamic binary instrumentation
   framework.
 
-  Copyright (C) 2000-2011 Julian Seward 
+  Copyright (C) 2000-2012 Julian Seward 
      jseward@acm.org
-  Copyright (C) 2006-2011 OpenWorks LLP
+  Copyright (C) 2006-2012 OpenWorks LLP
      info@open-works.co.uk
 	
   This program is free software; you can redistribute it and/or
@@ -1021,6 +1021,120 @@
 VG_(trampoline_stuff_end):
 	.fill 2048, 2, 0x0000
 
+/*---------------------- mips32-linux ----------------------*/
+#else
+#if defined(VGP_mips32_linux)
+
+#	define UD2_16     trap ; trap ; trap; trap
+#	define UD2_64     UD2_16   ; UD2_16   ; UD2_16   ; UD2_16
+#	define UD2_256    UD2_64   ; UD2_64   ; UD2_64   ; UD2_64
+#	define UD2_1024   UD2_256  ; UD2_256  ; UD2_256  ; UD2_256
+#	define UD2_PAGE   UD2_1024 ; UD2_1024 ; UD2_1024 ; UD2_1024  
+
+
+.global VG_(trampoline_stuff_start)
+VG_(trampoline_stuff_start):
+
+.global VG_(mips32_linux_SUBST_FOR_sigreturn)
+VG_(mips32_linux_SUBST_FOR_sigreturn):
+        li $v0,__NR_sigreturn
+        syscall
+        nop
+        .long 0	/*illegal insn*/
+
+.global VG_(mips32_linux_SUBST_FOR_rt_sigreturn)
+VG_(mips32_linux_SUBST_FOR_rt_sigreturn):
+	li $v0,__NR_rt_sigreturn
+        syscall
+        nop
+        .long 0	/*illegal insn*/
+	
+/* There's no particular reason that this needs to be handwritten
+   assembly, but since that's what this file contains, here's a
+   simple strlen implementation (written in C and compiled by gcc.)
+*/
+.global VG_(mips32_linux_REDIR_FOR_strlen)
+.type   VG_(mips32_linux_REDIR_FOR_strlen), @function
+VG_(mips32_linux_REDIR_FOR_strlen):
+      li $v0, 0
+      //la $a0, string
+      j strlen_cond
+   strlen_loop:
+      addi $v0, $v0, 1
+      addi $a0, $a0, 1
+   strlen_cond:
+      lbu $t0, ($a0)
+      bne $t0, $zero, strlen_loop
+    jr $ra
+
+.size VG_(mips32_linux_REDIR_FOR_strlen), .-VG_(mips32_linux_REDIR_FOR_strlen)
+
+.global VG_(trampoline_stuff_end)
+VG_(trampoline_stuff_end):
+
+
+#	undef UD2_16
+#	undef UD2_64
+#	undef UD2_256
+#	undef UD2_1024
+#	undef UD2_PAGE
+
+/*---------------------- mips64-linux ----------------------*/
+#else
+#if defined(VGP_mips64_linux)
+
+#       define UD2_16     trap ; trap ; trap; trap
+#       define UD2_64     UD2_16   ; UD2_16   ; UD2_16   ; UD2_16
+#       define UD2_256    UD2_64   ; UD2_64   ; UD2_64   ; UD2_64
+#       define UD2_1024   UD2_256  ; UD2_256  ; UD2_256  ; UD2_256
+#       define UD2_PAGE   UD2_1024 ; UD2_1024 ; UD2_1024 ; UD2_1024  
+
+.global VG_(trampoline_stuff_start)
+VG_(trampoline_stuff_start):
+
+.global VG_(mips64_linux_SUBST_FOR_rt_sigreturn)
+VG_(mips64_linux_SUBST_FOR_rt_sigreturn):
+        li $2,__NR_rt_sigreturn
+        syscall
+        nop
+        .long 0	/*illegal insn*/
+
+/* There's no particular reason that this needs to be handwritten
+   assembly, but since that's what this file contains, here's a
+   simple strlen implementation (written in C and compiled by gcc.)
+*/
+.global VG_(mips64_linux_REDIR_FOR_strlen)
+.type   VG_(mips64_linux_REDIR_FOR_strlen), @function
+VG_(mips64_linux_REDIR_FOR_strlen):
+        lbu $12, 0($4)
+        li  $13, 0
+        beq $12, $0, M01 
+        nop
+
+M02: 
+        addiu $13, $13, 1 
+        addiu $4, $4, 1 
+        lbu $12, 0($4) 
+        bne $12, $0, M02 
+        nop 
+
+M01: 
+        move $2, $13 
+        jr $31 
+        nop
+
+.size VG_(mips64_linux_REDIR_FOR_strlen), .-VG_(mips64_linux_REDIR_FOR_strlen)
+
+.global VG_(trampoline_stuff_end)
+VG_(trampoline_stuff_end):
+
+
+#	undef UD2_16
+#	undef UD2_64
+#	undef UD2_256
+#	undef UD2_1024
+#	undef UD2_PAGE
+
 /*---------------- unknown ----------------*/
 #else
 #  error Unknown platform
@@ -1032,6 +1146,8 @@
 #endif
 #endif
 #endif
+#endif
+#endif
 
 #if defined(VGO_linux)
 /* Let the linker know we don't need an executable stack */
diff --git a/coregrind/m_translate.c b/coregrind/m_translate.c
index 31740a3..92aa008 100644
--- a/coregrind/m_translate.c
+++ b/coregrind/m_translate.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -45,7 +45,7 @@
 #include "pub_core_redir.h"      // VG_(redir_do_lookup)
 
 #include "pub_core_signals.h"    // VG_(synth_fault_{perms,mapping}
-#include "pub_core_stacks.h"     // VG_(unknown_SP_update)()
+#include "pub_core_stacks.h"     // VG_(unknown_SP_update*)()
 #include "pub_core_tooliface.h"  // VG_(tdict)
 
 #include "pub_core_translate.h"
@@ -61,6 +61,8 @@
 
 #include "pub_core_gdbserver.h"   // VG_(tool_instrument_then_gdbserver_if_needed)
 
+#include "libvex_emnote.h"        // For PPC, EmWarn_PPC64_redir_underflow
+
 /*------------------------------------------------------------*/
 /*--- Stats                                                ---*/
 /*------------------------------------------------------------*/
@@ -71,7 +73,7 @@
 
 void VG_(print_translation_stats) ( void )
 {
-   Char buf[7];
+   HChar buf[7];
    UInt n_SP_updates = n_SP_updates_fast + n_SP_updates_generic_known
                                          + n_SP_updates_generic_unknown;
    VG_(percentify)(n_SP_updates_fast, n_SP_updates, 1, 6, buf);
@@ -163,7 +165,7 @@
    if (N_ALIASES == next_SP_alias_slot) next_SP_alias_slot = 0;
 }
 
-static Bool get_SP_delta(IRTemp temp, ULong* delta)
+static Bool get_SP_delta(IRTemp temp, Long* delta)
 {
    Int i;      // i must be signed!
    vg_assert(IRTemp_INVALID != temp);
@@ -220,6 +222,7 @@
                                                  IRSB*              sb_in, 
                                                  VexGuestLayout*    layout, 
                                                  VexGuestExtents*   vge,
+                                                 VexArchInfo*       vai,
                                                  IRType             gWordTy, 
                                                  IRType             hWordTy )
 {
@@ -228,6 +231,7 @@
                                    sb_in,
                                    layout,
                                    vge,
+                                   vai,
                                    gWordTy,
                                    hWordTy),
        layout,
@@ -259,10 +263,11 @@
                           IRSB*             sb_in, 
                           VexGuestLayout*   layout, 
                           VexGuestExtents*  vge,
+                          VexArchInfo*      vai,
                           IRType            gWordTy, 
                           IRType            hWordTy )
 {
-   Int         i, j, minoff_ST, maxoff_ST, sizeof_SP, offset_SP;
+   Int         i, j, k, minoff_ST, maxoff_ST, sizeof_SP, offset_SP;
    Int         first_SP, last_SP, first_Put, last_Put;
    IRDirty     *dcall, *d;
    IRStmt*     st;
@@ -334,6 +339,8 @@
          dcall->fxState[0].fx     = Ifx_Read;                           \
          dcall->fxState[0].offset = layout->offset_SP;                  \
          dcall->fxState[0].size   = layout->sizeof_SP;                  \
+         dcall->fxState[0].nRepeats  = 0;                               \
+         dcall->fxState[0].repeatLen = 0;                               \
                                                                         \
          addStmtToIRSB( bb, IRStmt_Dirty(dcall) );                      \
                                                                         \
@@ -362,6 +369,8 @@
          dcall->fxState[0].fx     = Ifx_Read;                           \
          dcall->fxState[0].offset = layout->offset_SP;                  \
          dcall->fxState[0].size   = layout->sizeof_SP;                  \
+         dcall->fxState[0].nRepeats  = 0;                               \
+         dcall->fxState[0].repeatLen = 0;                               \
                                                                         \
          addStmtToIRSB( bb, IRStmt_Dirty(dcall) );                      \
                                                                         \
@@ -515,16 +524,25 @@
          /* Now we know what the old value of SP is.  But knowing the new
             value is a bit tricky if there is a partial write. */
          if (first_Put == first_SP && last_Put == last_SP) {
-           /* The common case, an exact write to SP.  So st->Ist.Put.data
-              does hold the new value; simple. */
+            /* The common case, an exact write to SP.  So st->Ist.Put.data
+               does hold the new value; simple. */
             vg_assert(curr_IP_known);
-            dcall = unsafeIRDirty_0_N( 
-                       3/*regparms*/, 
-                       "VG_(unknown_SP_update)", 
-                       VG_(fnptr_to_fnentry)( &VG_(unknown_SP_update) ),
-                       mkIRExprVec_3( IRExpr_RdTmp(old_SP), st->Ist.Put.data,
-                                      mk_ecu_Expr(curr_IP) ) 
-                    );
+            if (NULL != VG_(tdict).track_new_mem_stack_w_ECU)
+               dcall = unsafeIRDirty_0_N( 
+                          3/*regparms*/, 
+                          "VG_(unknown_SP_update_w_ECU)", 
+                          VG_(fnptr_to_fnentry)( &VG_(unknown_SP_update_w_ECU) ),
+                          mkIRExprVec_3( IRExpr_RdTmp(old_SP), st->Ist.Put.data,
+                                         mk_ecu_Expr(curr_IP) ) 
+                       );
+            else
+               dcall = unsafeIRDirty_0_N( 
+                          2/*regparms*/, 
+                          "VG_(unknown_SP_update)", 
+                          VG_(fnptr_to_fnentry)( &VG_(unknown_SP_update) ),
+                          mkIRExprVec_2( IRExpr_RdTmp(old_SP), st->Ist.Put.data )
+                       );
+
             addStmtToIRSB( bb, IRStmt_Dirty(dcall) );
             /* don't forget the original assignment */
             addStmtToIRSB( bb, st );
@@ -553,14 +571,23 @@
             addStmtToIRSB( bb, IRStmt_Put(offset_SP, IRExpr_RdTmp(old_SP) ));
             /* 4 */
             vg_assert(curr_IP_known);
-            dcall = unsafeIRDirty_0_N( 
-                       3/*regparms*/, 
-                       "VG_(unknown_SP_update)", 
-                       VG_(fnptr_to_fnentry)( &VG_(unknown_SP_update) ),
-                       mkIRExprVec_3( IRExpr_RdTmp(old_SP),
-                                      IRExpr_RdTmp(new_SP), 
-                                      mk_ecu_Expr(curr_IP) )
-                    );
+            if (NULL != VG_(tdict).track_new_mem_stack_w_ECU)
+               dcall = unsafeIRDirty_0_N( 
+                          3/*regparms*/, 
+                          "VG_(unknown_SP_update_w_ECU)", 
+                          VG_(fnptr_to_fnentry)( &VG_(unknown_SP_update_w_ECU) ),
+                          mkIRExprVec_3( IRExpr_RdTmp(old_SP),
+                                         IRExpr_RdTmp(new_SP), 
+                                         mk_ecu_Expr(curr_IP) )
+                       );
+            else
+               dcall = unsafeIRDirty_0_N( 
+                          2/*regparms*/, 
+                          "VG_(unknown_SP_update)", 
+                          VG_(fnptr_to_fnentry)( &VG_(unknown_SP_update) ),
+                          mkIRExprVec_2( IRExpr_RdTmp(old_SP),
+                                         IRExpr_RdTmp(new_SP) )
+                       );
             addStmtToIRSB( bb, IRStmt_Dirty(dcall) );
             /* 5 */
             addStmtToIRSB( bb, IRStmt_Put(offset_SP, IRExpr_RdTmp(new_SP) ));
@@ -586,7 +613,7 @@
          deal with SP changing in weird ways (well, we can, but not at
          this time of night).  */
       if (st->tag == Ist_PutI) {
-         descr = st->Ist.PutI.descr;
+         descr = st->Ist.PutI.details->descr;
          minoff_ST = descr->base;
          maxoff_ST = descr->base 
                      + descr->nElems * sizeofIRType(descr->elemTy) - 1;
@@ -597,13 +624,16 @@
       if (st->tag == Ist_Dirty) {
          d = st->Ist.Dirty.details;
          for (j = 0; j < d->nFxState; j++) {
-            minoff_ST = d->fxState[j].offset;
-            maxoff_ST = d->fxState[j].offset + d->fxState[j].size - 1;
             if (d->fxState[j].fx == Ifx_Read || d->fxState[j].fx == Ifx_None)
                continue;
-            if (!(offset_SP > maxoff_ST
-                  || (offset_SP + sizeof_SP - 1) < minoff_ST))
-               goto complain;
+            /* Enumerate the described state segments */
+            for (k = 0; k < 1 + d->fxState[j].nRepeats; k++) {
+               minoff_ST = d->fxState[j].offset + k * d->fxState[j].repeatLen;
+               maxoff_ST = minoff_ST + d->fxState[j].size - 1;
+               if (!(offset_SP > maxoff_ST
+                     || (offset_SP + sizeof_SP - 1) < minoff_ST))
+                  goto complain;
+            }
          }
       }
 
@@ -715,18 +745,28 @@
 /* --------- Various helper functions for translation --------- */
 
 /* Look for reasons to disallow making translations from the given
-   segment. */
+   segment/addr. */
 
-static Bool translations_allowable_from_seg ( NSegment const* seg )
+static Bool translations_allowable_from_seg ( NSegment const* seg, Addr addr )
 {
-#  if defined(VGA_x86) || defined(VGA_s390x)
+#  if defined(VGA_x86) || defined(VGA_s390x) || defined(VGA_mips32) \
+      || defined(VGA_mips64)
    Bool allowR = True;
 #  else
    Bool allowR = False;
 #  endif
    return seg != NULL
           && (seg->kind == SkAnonC || seg->kind == SkFileC || seg->kind == SkShmC)
-          && (seg->hasX || (seg->hasR && allowR));
+          && (seg->hasX 
+              || (seg->hasR && (allowR
+                                || VG_(has_gdbserver_breakpoint) (addr))));
+   /* If GDB/gdbsrv has inserted a breakpoint at addr, assume this is a valid
+      location to translate if seg is not executable but is readable.
+      This is needed for inferior function calls from GDB: GDB inserts a
+      breakpoint on the stack, and expects to regain control before the
+      breakpoint instruction at the breakpoint address is really
+      executed. For this, the breakpoint instruction must be translated
+      so as to have the call to gdbserver executed. */
 }
 
 
@@ -821,7 +861,7 @@
       allow a chase. */
 
    /* Destination not in a plausible segment? */
-   if (!translations_allowable_from_seg(seg))
+   if (!translations_allowable_from_seg(seg, addr))
       goto dontchase;
 
    /* Destination is redirected? */
@@ -905,7 +945,7 @@
    Int    stack_size       = VEX_GUEST_PPC64_REDIR_STACK_SIZE;
    Int    offB_REDIR_SP    = offsetof(VexGuestPPC64State,guest_REDIR_SP);
    Int    offB_REDIR_STACK = offsetof(VexGuestPPC64State,guest_REDIR_STACK);
-   Int    offB_EMWARN      = offsetof(VexGuestPPC64State,guest_EMWARN);
+   Int    offB_EMNOTE      = offsetof(VexGuestPPC64State,guest_EMNOTE);
    Int    offB_CIA         = offsetof(VexGuestPPC64State,guest_CIA);
    Bool   is64             = True;
    IRType ty_Word          = Ity_I64;
@@ -919,7 +959,7 @@
    Int    stack_size       = VEX_GUEST_PPC32_REDIR_STACK_SIZE;
    Int    offB_REDIR_SP    = offsetof(VexGuestPPC32State,guest_REDIR_SP);
    Int    offB_REDIR_STACK = offsetof(VexGuestPPC32State,guest_REDIR_STACK);
-   Int    offB_EMWARN      = offsetof(VexGuestPPC32State,guest_EMWARN);
+   Int    offB_EMNOTE      = offsetof(VexGuestPPC32State,guest_EMNOTE);
    Int    offB_CIA         = offsetof(VexGuestPPC32State,guest_CIA);
    Bool   is64             = False;
    IRType ty_Word          = Ity_I32;
@@ -953,11 +993,11 @@
    /* Bomb out if t1 >=s stack_size, that is, (stack_size-1)-t1 <s 0.
       The destination (0) is a bit bogus but it doesn't matter since
       this is an unrecoverable error and will lead to Valgrind
-      shutting down.  _EMWARN is set regardless - that's harmless
+      shutting down.  _EMNOTE is set regardless - that's harmless
       since is only has a meaning if the exit is taken. */
    addStmtToIRSB(
       bb,
-      IRStmt_Put(offB_EMWARN, mkU32(EmWarn_PPC64_redir_overflow))
+      IRStmt_Put(offB_EMNOTE, mkU32(EmWarn_PPC64_redir_overflow))
    );
    addStmtToIRSB(
       bb,
@@ -984,8 +1024,8 @@
    /* PutI/GetI have I32-typed indexes regardless of guest word size */
    addStmtToIRSB(
       bb, 
-      IRStmt_PutI(descr, narrowTo32(bb->tyenv,IRExpr_RdTmp(t1)), 0, e)
-   );
+      IRStmt_PutI(mkIRPutI(descr, 
+                           narrowTo32(bb->tyenv,IRExpr_RdTmp(t1)), 0, e)));
 }
 
 
@@ -999,7 +1039,7 @@
    Int    stack_size       = VEX_GUEST_PPC64_REDIR_STACK_SIZE;
    Int    offB_REDIR_SP    = offsetof(VexGuestPPC64State,guest_REDIR_SP);
    Int    offB_REDIR_STACK = offsetof(VexGuestPPC64State,guest_REDIR_STACK);
-   Int    offB_EMWARN      = offsetof(VexGuestPPC64State,guest_EMWARN);
+   Int    offB_EMNOTE      = offsetof(VexGuestPPC64State,guest_EMNOTE);
    Int    offB_CIA         = offsetof(VexGuestPPC64State,guest_CIA);
    Bool   is64             = True;
    IRType ty_Word          = Ity_I64;
@@ -1011,7 +1051,7 @@
    Int    stack_size       = VEX_GUEST_PPC32_REDIR_STACK_SIZE;
    Int    offB_REDIR_SP    = offsetof(VexGuestPPC32State,guest_REDIR_SP);
    Int    offB_REDIR_STACK = offsetof(VexGuestPPC32State,guest_REDIR_STACK);
-   Int    offB_EMWARN      = offsetof(VexGuestPPC32State,guest_EMWARN);
+   Int    offB_EMNOTE      = offsetof(VexGuestPPC32State,guest_EMNOTE);
    Int    offB_CIA         = offsetof(VexGuestPPC32State,guest_CIA);
    Bool   is64             = False;
    IRType ty_Word          = Ity_I32;
@@ -1039,7 +1079,7 @@
    /* Bomb out if t1 < 0.  Same comments as gen_PUSH apply. */
    addStmtToIRSB(
       bb,
-      IRStmt_Put(offB_EMWARN, mkU32(EmWarn_PPC64_redir_underflow))
+      IRStmt_Put(offB_EMNOTE, mkU32(EmWarn_PPC64_redir_underflow))
    );
    addStmtToIRSB(
       bb,
@@ -1181,6 +1221,17 @@
          nraddr_szB == 8 ? mkU64(0) : mkU32(0)
       )
    );
+   // t9 needs to be set to point to the start of the redirected function.
+#  if defined(VGP_mips32_linux)
+   VgCallbackClosure* closure = (VgCallbackClosure*)closureV;
+   Int offB_GPR25 = offsetof(VexGuestMIPS32State, guest_r25);
+   addStmtToIRSB(bb, IRStmt_Put(offB_GPR25, mkU32(closure->readdr)));
+#  endif
+#  if defined(VGP_mips64_linux)
+   VgCallbackClosure* closure = (VgCallbackClosure*)closureV;
+   Int offB_GPR25 = offsetof(VexGuestMIPS64State, guest_r25);
+   addStmtToIRSB(bb, IRStmt_Put(offB_GPR25, mkU64(closure->readdr)));
+#  endif
 #  if defined(VG_PLAT_USES_PPCTOC)
    { VgCallbackClosure* closure = (VgCallbackClosure*)closureV;
      addStmtToIRSB(
@@ -1217,6 +1268,15 @@
             : IRExpr_Const(IRConst_U32( (UInt)closure->nraddr ))
       )
    );
+   // t9 needs to be set to point to the start of the redirected function.
+#  if defined(VGP_mips32_linux)
+   Int offB_GPR25 = offsetof(VexGuestMIPS32State, guest_r25);
+   addStmtToIRSB(bb, IRStmt_Put(offB_GPR25, mkU32(closure->readdr)));
+#  endif
+#  if defined(VGP_mips64_linux)
+   Int offB_GPR25 = offsetof(VexGuestMIPS64State, guest_r25);
+   addStmtToIRSB(bb, IRStmt_Put(offB_GPR25, mkU64(closure->readdr)));
+#  endif
 #  if defined(VGP_ppc64_linux)
    addStmtToIRSB( 
       bb,
@@ -1326,8 +1386,8 @@
    if ((kind == T_Redir_Wrap || kind == T_Redir_Replace)
        && (VG_(clo_verbosity) >= 2 || VG_(clo_trace_redir))) {
       Bool ok;
-      Char name1[512] = "";
-      Char name2[512] = "";
+      HChar name1[512] = "";
+      HChar name2[512] = "";
       name1[0] = name2[0] = 0;
       ok = VG_(get_fnname_w_offset)(nraddr, name1, 512);
       if (!ok) VG_(strcpy)(name1, "???");
@@ -1345,9 +1405,9 @@
 
    /* If doing any code printing, print a basic block start marker */
    if (VG_(clo_trace_flags) || debugging_translation) {
-      Char fnname[512] = "UNKNOWN_FUNCTION";
+      HChar fnname[512] = "UNKNOWN_FUNCTION";
       VG_(get_fnname_w_offset)(addr, fnname, 512);
-      const UChar* objname = "UNKNOWN_OBJECT";
+      const HChar* objname = "UNKNOWN_OBJECT";
       OffT         objoff  = 0;
       DebugInfo*   di      = VG_(find_DebugInfo)( addr );
       if (di) {
@@ -1367,7 +1427,7 @@
    { /* BEGIN new scope specially for 'seg' */
    NSegment const* seg = VG_(am_find_nsegment)(addr);
 
-   if ( (!translations_allowable_from_seg(seg))
+   if ( (!translations_allowable_from_seg(seg, addr))
         || addr == TRANSTAB_BOGUS_GUEST_ADDR ) {
       if (VG_(clo_trace_signals))
          VG_(message)(Vg_DebugMsg, "translations not allowed here (0x%llx)"
@@ -1402,6 +1462,7 @@
    }
    else
    if ( (VG_(clo_trace_flags) > 0
+        && VG_(get_bbs_translated)() <= VG_(clo_trace_notabove)
         && VG_(get_bbs_translated)() >= VG_(clo_trace_notbelow) )) {
       verbosity = VG_(clo_trace_flags);
    }
@@ -1484,15 +1545,16 @@
         They are entirely legal but longwinded so as to maximise the
         chance of the C typechecker picking up any type snafus. */
      IRSB*(*f)(VgCallbackClosure*,
-               IRSB*,VexGuestLayout*,VexGuestExtents*,
+               IRSB*,VexGuestLayout*,VexGuestExtents*, VexArchInfo*,
                IRType,IRType)
         = VG_(clo_vgdb) != Vg_VgdbNo
              ? tool_instrument_then_gdbserver_if_needed
              : VG_(tdict).tool_instrument;
      IRSB*(*g)(void*,
-               IRSB*,VexGuestLayout*,VexGuestExtents*,
+               IRSB*,VexGuestLayout*,VexGuestExtents*,VexArchInfo*,
                IRType,IRType)
-       = (IRSB*(*)(void*,IRSB*,VexGuestLayout*,VexGuestExtents*,IRType,IRType))f;
+       = (IRSB*(*)(void*,IRSB*,VexGuestLayout*,VexGuestExtents*,
+                   VexArchInfo*,IRType,IRType))f;
      vta.instrument1     = g;
    }
    /* No need for type kludgery here. */
@@ -1505,8 +1567,8 @@
    vta.needs_self_check  = needs_self_check;
    vta.preamble_function = preamble_fn;
    vta.traceflags        = verbosity;
-   vta.addProfInc        = VG_(clo_profile_flags) > 0
-                           && kind != T_NoRedir;
+   vta.sigill_diag       = VG_(clo_sigill_diag);
+   vta.addProfInc        = VG_(clo_profyle_sbs) && kind != T_NoRedir;
 
    /* Set up the dispatch continuation-point info.  If this is a
       no-redir translation then it cannot be chained, and the chain-me
@@ -1550,14 +1612,14 @@
 
    vg_assert( vge.base[0] == (Addr64)addr );
    /* set 'translations taken from this segment' flag */
-   VG_(am_set_segment_hasT_if_SkFileC_or_SkAnonC)( (NSegment*)seg );
+   VG_(am_set_segment_hasT_if_SkFileC_or_SkAnonC)( seg );
    } /* END new scope specially for 'seg' */
 
    for (i = 1; i < vge.n_used; i++) {
       NSegment const* seg 
          = VG_(am_find_nsegment)( vge.base[i] );
       /* set 'translations taken from this segment' flag */
-      VG_(am_set_segment_hasT_if_SkFileC_or_SkAnonC)( (NSegment*)seg );
+      VG_(am_set_segment_hasT_if_SkFileC_or_SkAnonC)( seg );
    }
 
    /* Copy data at trans_addr into the translation cache. */
@@ -1579,6 +1641,7 @@
                                 tmpbuf_used,
                                 tres.n_sc_extents > 0,
                                 tres.offs_profInc,
+                                tres.n_guest_instrs,
                                 vex_arch );
       } else {
           vg_assert(tres.offs_profInc == -1); /* -1 == unset */
diff --git a/coregrind/m_transtab.c b/coregrind/m_transtab.c
index 5d059a2..566847c 100644
--- a/coregrind/m_transtab.c
+++ b/coregrind/m_transtab.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -46,7 +46,7 @@
 #include "pub_core_dispatch.h"   // For VG_(disp_cp*) addresses
 
 
-/* #define DEBUG_TRANSTAB */
+#define DEBUG_TRANSTAB 0
 
 
 /*-------------------------------------------------------------*/
@@ -64,8 +64,7 @@
    fits in a UShort, leaving room for 0xFFFF(EC2TTE_DELETED) to denote
    'deleted') and it is strongly recommended not to change this.
    65521 is the largest prime <= 65535. */
-#define N_TTES_PER_SECTOR /*30011*/ /*40009*/ 65521
-//DEBUG-ONLY: #define N_TTES_PER_SECTOR 10007
+#define N_TTES_PER_SECTOR /*10007*/ /*30011*/ /*40009*/ 65521
 
 /* Because each sector contains a hash table of TTEntries, we need to
    specify the maximum allowable loading, after which the sector is
@@ -423,7 +422,7 @@
 /*--- Misc                                                  ---*/
 /*-------------------------------------------------------------*/
 
-static void* ttaux_malloc ( HChar* tag, SizeT n )
+static void* ttaux_malloc ( const HChar* tag, SizeT n )
 {
    return VG_(arena_malloc)(VG_AR_TTAUX, tag, n);
 }
@@ -624,15 +623,49 @@
 }
 
 static
-Int HostExtent__cmpOrd ( void* v1, void* v2 )
+Int HostExtent__cmpOrd ( const void* v1, const void* v2 )
 {
-   HostExtent* hx1 = (HostExtent*)v1;
-   HostExtent* hx2 = (HostExtent*)v2;
+   const HostExtent* hx1 = v1;
+   const HostExtent* hx2 = v2;
    if (hx1->start + hx1->len <= hx2->start) return -1;
    if (hx2->start + hx2->len <= hx1->start) return 1;
    return 0; /* partial overlap */
 }
 
+/* True if hx is a dead host extent, i.e. corresponds to host code
+   of an entry that was invalidated. */
+static
+Bool HostExtent__is_dead (const HostExtent* hx, const Sector* sec)
+{
+   const UInt tteNo = hx->tteNo;
+#define LDEBUG(m) if (DEBUG_TRANSTAB)                           \
+      VG_(printf) (m                                            \
+                   " start 0x%p len %u sector %d ttslot %u"     \
+                   " tt.entry 0x%llu tt.tcptr 0x%p\n",          \
+                   hx->start, hx->len, (int)(sec - sectors),    \
+                   hx->tteNo,                                   \
+                   sec->tt[tteNo].entry, sec->tt[tteNo].tcptr)
+   
+   /* Entry might have been invalidated and not re-used yet.*/
+   if (sec->tt[tteNo].status == Deleted) {
+      LDEBUG("found deleted entry");
+      return True;
+   }
+   /* Maybe we found this entry via a host_extents which was
+      inserted for an entry which was changed to Deleted then
+      re-used after. If this entry was re-used, then its tcptr
+      is >= to host_extents start (i.e. the previous tcptr) + len.
+      This is the case as there is no re-use of host code: a new
+      entry or re-used entry always gets "higher value" host code. */
+   if ((UChar*) sec->tt[tteNo].tcptr >= hx->start + hx->len) {
+      LDEBUG("found re-used entry");
+      return True;
+   }
+
+   return False;
+#undef LDEBUG
+}
+
 static __attribute__((noinline))
 Bool find_TTEntry_from_hcode( /*OUT*/UInt* from_sNo,
                               /*OUT*/UInt* from_tteNo,
@@ -657,18 +690,19 @@
       Word firstW = -1, lastW = -1;
       Bool found  = VG_(lookupXA_UNSAFE)(
                        host_extents, &key, &firstW, &lastW,
-                       (Int(*)(void*,void*))HostExtent__cmpOrd
-                    );
+                       HostExtent__cmpOrd );
       vg_assert(firstW == lastW); // always true, even if not found
       if (found) {
          HostExtent* hx = VG_(indexXA)(host_extents, firstW);
          UInt tteNo = hx->tteNo;
          /* Do some additional sanity checks. */
          vg_assert(tteNo <= N_TTES_PER_SECTOR);
-         /* Entry might have been invalidated. Consider this
-            as not found. */
-         if (sec->tt[tteNo].status == Deleted)
+
+         /* if this hx entry corresponds to dead host code, we must
+            tell this code has not been found, as it cannot be patched. */
+         if (HostExtent__is_dead (hx, sec))
             return False;
+
          vg_assert(sec->tt[tteNo].status == InUse);
          /* Can only half check that the found TTEntry contains hcode,
             due to not having a length value for the hcode in the
@@ -806,7 +840,7 @@
    TTEntry* tte
       = index_tte(ie->from_sNo, ie->from_tteNo);
    UChar* place_to_patch
-      = ((HChar*)tte->tcptr) + ie->from_offs;
+      = ((UChar*)tte->tcptr) + ie->from_offs;
    UChar* disp_cp_chain_me
       = VG_(fnptr_to_fnentry)(
            ie->to_fastEP ? &VG_(disp_cp_chain_me_to_fastEP)
@@ -836,11 +870,14 @@
 void unchain_in_preparation_for_deletion ( VexArch vex_arch,
                                            UInt here_sNo, UInt here_tteNo )
 {
-   if (0)
-      VG_(printf)("QQQ unchain_in_prep %u.%u\n", here_sNo, here_tteNo);
+   if (DEBUG_TRANSTAB)
+      VG_(printf)("QQQ unchain_in_prep %u.%u...\n", here_sNo, here_tteNo);
    UWord    i, j, n, m;
    Int      evCheckSzB = LibVEX_evCheckSzB(vex_arch);
    TTEntry* here_tte   = index_tte(here_sNo, here_tteNo);
+   if (DEBUG_TRANSTAB)
+      VG_(printf)("... QQQ tt.entry 0x%llu tt.tcptr 0x%p\n",
+                  here_tte->entry, here_tte->tcptr);
    vg_assert(here_tte->status == InUse);
 
    /* Visit all InEdges owned by here_tte. */
@@ -986,7 +1023,7 @@
    vg_assert(ec >= 0 && ec < ECLASS_N);
    vg_assert(tteno < N_TTES_PER_SECTOR);
 
-   if (0) VG_(printf)("ec %d  gets %d\n", ec, (Int)tteno);
+   if (DEBUG_TRANSTAB) VG_(printf)("ec %d  gets %d\n", ec, (Int)tteno);
 
    if (sec->ec2tte_used[ec] >= sec->ec2tte_size[ec]) {
 
@@ -1004,7 +1041,7 @@
       sec->ec2tte_size[ec] = new_sz;
       sec->ec2tte[ec] = new_ar;
 
-      if (0) VG_(printf)("expand ec %d to %d\n", ec, new_sz);
+      if (DEBUG_TRANSTAB) VG_(printf)("expand ec %d to %d\n", ec, new_sz);
    }
 
    /* Common case */
@@ -1045,7 +1082,7 @@
 {
 #  define BAD(_str) do { whassup = (_str); goto bad; } while (0)
 
-   HChar*   whassup = NULL;
+   const HChar* whassup = NULL;
    Int      i, j, k, n, ec_num, ec_idx;
    TTEntry* tte;
    UShort   tteno;
@@ -1217,13 +1254,29 @@
    Bool    sane;
    Sector* sec;
    for (sno = 0; sno < N_SECTORS; sno++) {
+      Int i;
+      Int nr_not_dead_hx = 0;
+      Int szhxa;
       sec = &sectors[sno];
       if (sec->tc == NULL)
          continue;
       sane = sanity_check_eclasses_in_sector( sec );
       if (!sane)
          return False;
+      szhxa = VG_(sizeXA)(sec->host_extents);
+      for (i = 0; i < szhxa; i++) {
+         const HostExtent* hx = VG_(indexXA)(sec->host_extents, i);
+         if (!HostExtent__is_dead (hx, sec))
+            nr_not_dead_hx++;
+      }
+      if (nr_not_dead_hx != sec->tt_n_inuse) {
+         VG_(debugLog)(0, "transtab",
+                       "nr_not_dead_hx %d sanity fail (expected == in use %d)\n",
+                       nr_not_dead_hx, sec->tt_n_inuse);
+         return False;
+      }
    }
+   
    if ( !sanity_check_redir_tt_tc() )
       return False;
    if ( !sanity_check_sector_search_order() )
@@ -1320,6 +1373,8 @@
       vg_assert(sec->host_extents == NULL);
 
       VG_(debugLog)(1,"transtab", "allocate sector %d\n", sno);
+      if (VG_(clo_stats))
+         VG_(dmsg)("transtab: " "allocate sector %d\n", sno);
 
       sres = VG_(am_mmap_anon_float_valgrind)( 8 * tc_sector_szQ );
       if (sr_isError(sres)) {
@@ -1364,6 +1419,9 @@
 
       /* Sector has been used before.  Dump the old contents. */
       VG_(debugLog)(1,"transtab", "recycle sector %d\n", sno);
+      if (VG_(clo_stats))
+         VG_(dmsg)("transtab: " "recycle sector %d\n", sno);
+
       vg_assert(sec->tt != NULL);
       vg_assert(sec->tc_next != NULL);
       n_dump_count += sec->tt_n_inuse;
@@ -1372,7 +1430,8 @@
       VG_(machine_get_VexArchInfo)( &vex_arch, NULL );
 
       /* Visit each just-about-to-be-abandoned translation. */
-VG_(printf)("QQQ unlink-entire-sector: %d START\n", sno);
+      if (DEBUG_TRANSTAB) VG_(printf)("QQQ unlink-entire-sector: %d START\n",
+                                      sno);
       for (i = 0; i < N_TTES_PER_SECTOR; i++) {
          if (sec->tt[i].status == InUse) {
             vg_assert(sec->tt[i].n_tte2ec >= 1);
@@ -1391,7 +1450,8 @@
          sec->tt[i].status   = Empty;
          sec->tt[i].n_tte2ec = 0;
       }
-VG_(printf)("QQQ unlink-entire-sector: %d END\n", sno);
+      if (DEBUG_TRANSTAB) VG_(printf)("QQQ unlink-entire-sector: %d END\n",
+                                      sno);
 
       /* Free up the eclass structures. */
       for (i = 0; i < ECLASS_N; i++) {
@@ -1447,6 +1507,7 @@
                            UInt             code_len,
                            Bool             is_self_checking,
                            Int              offs_profInc,
+                           UInt             n_guest_instrs,
                            VexArch          arch_host )
 {
    Int    tcAvailQ, reqdQ, y, i;
@@ -1460,8 +1521,11 @@
    /* 60000: should agree with N_TMPBUF in m_translate.c. */
    vg_assert(code_len > 0 && code_len < 60000);
 
-   if (0)
-      VG_(printf)("add_to_transtab(entry = 0x%llx, len = %d)\n",
+   /* Generally stay sane */
+   vg_assert(n_guest_instrs < 200); /* it can be zero, tho */
+
+   if (DEBUG_TRANSTAB)
+      VG_(printf)("add_to_transtab(entry = 0x%llx, len = %d) ...\n",
                   entry, code_len);
 
    n_in_count++;
@@ -1492,14 +1556,20 @@
          now, or it has been used before, in which case it is set to be
          empty, hence throwing out the oldest sector. */
       vg_assert(tc_sector_szQ > 0);
+      Int tt_loading_pct = (100 * sectors[y].tt_n_inuse) 
+                           / N_TTES_PER_SECTOR;
+      Int tc_loading_pct = (100 * (tc_sector_szQ - tcAvailQ)) 
+                           / tc_sector_szQ;
       VG_(debugLog)(1,"transtab", 
                       "declare sector %d full "
                       "(TT loading %2d%%, TC loading %2d%%)\n",
-                      y,
-                      (100 * sectors[y].tt_n_inuse) 
-                         / N_TTES_PER_SECTOR,
-                      (100 * (tc_sector_szQ - tcAvailQ)) 
-                         / tc_sector_szQ);
+                      y, tt_loading_pct, tc_loading_pct);
+      if (VG_(clo_stats)) {
+         VG_(dmsg)("transtab: "
+                   "declare sector %d full "
+                   "(TT loading %2d%%, TC loading %2d%%)\n",
+                   y, tt_loading_pct, tc_loading_pct);
+      }
       youngest_sector++;
       if (youngest_sector >= N_SECTORS)
          youngest_sector = 0;
@@ -1549,7 +1619,7 @@
    sectors[y].tt[i].status = InUse;
    sectors[y].tt[i].tcptr  = tcptr;
    sectors[y].tt[i].count  = 0;
-   sectors[y].tt[i].weight = 1;
+   sectors[y].tt[i].weight = n_guest_instrs == 0 ? 1 : n_guest_instrs;
    sectors[y].tt[i].vge    = *vge;
    sectors[y].tt[i].entry  = entry;
 
@@ -1580,6 +1650,9 @@
         vg_assert(hx_prev->start + hx_prev->len <= hx.start);
      }
      VG_(addToXA)(hx_array, &hx);
+     if (DEBUG_TRANSTAB)
+        VG_(printf)("... hx.start 0x%p hx.len %u sector %d ttslot %d\n",
+                    hx.start, hx.len, y, i);
    }
 
    /* Update the fast-cache. */
@@ -1812,7 +1885,7 @@
 
 
 void VG_(discard_translations) ( Addr64 guest_start, ULong range,
-                                 HChar* who )
+                                 const HChar* who )
 {
    Sector* sec;
    Int     sno, ec;
@@ -2155,7 +2228,7 @@
    /* and the unredir tt/tc */
    init_unredir_tt_tc();
 
-   if (VG_(clo_verbosity) > 2) {
+   if (VG_(clo_verbosity) > 2 || VG_(clo_stats)) {
       VG_(message)(Vg_DebugMsg,
          "TT/TC: cache: %d sectors of %d bytes each = %d total\n", 
           N_SECTORS, 8 * tc_sector_szQ,
@@ -2215,7 +2288,7 @@
                 " transtab: discarded  %'llu (%'llu -> ?" "?)\n",
                 n_disc_count, n_disc_osize );
 
-   if (0) {
+   if (DEBUG_TRANSTAB) {
       Int i;
       VG_(printf)("\n");
       for (i = 0; i < ECLASS_N; i++) {
@@ -2236,7 +2309,7 @@
    return ((ULong)tte->weight) * ((ULong)tte->count);
 }
 
-ULong VG_(get_BB_profile) ( BBProfEntry tops[], UInt n_tops )
+ULong VG_(get_SB_profile) ( SBProfEntry tops[], UInt n_tops )
 {
    Int   sno, i, r, s;
    ULong score_total;
@@ -2286,6 +2359,19 @@
       }
    }
 
+   /* Now zero out all the counter fields, so that we can make
+      multiple calls here and just get the values since the last call,
+      each time, rather than values accumulated for the whole run. */
+   for (sno = 0; sno < N_SECTORS; sno++) {
+      if (sectors[sno].tc == NULL)
+         continue;
+      for (i = 0; i < N_TTES_PER_SECTOR; i++) {
+         if (sectors[sno].tt[i].status != InUse)
+            continue;
+         sectors[sno].tt[i].count = 0;
+      }
+   }
+
    return score_total;
 }
 
diff --git a/coregrind/m_ume/elf.c b/coregrind/m_ume/elf.c
index e8cd0c2..89f2630 100644
--- a/coregrind/m_ume/elf.c
+++ b/coregrind/m_ume/elf.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -89,7 +89,7 @@
 /*------------------------------------------------------------*/
 
 static 
-struct elfinfo *readelf(Int fd, const char *filename)
+struct elfinfo *readelf(Int fd, const HChar *filename)
 {
    SysRes sres;
    struct elfinfo *e = VG_(malloc)("ume.re.1", sizeof(*e));
@@ -238,7 +238,7 @@
          // The 'prot' condition allows for a read-only bss
          if ((prot & VKI_PROT_WRITE) && (bytes > 0)) {
             bytes = VKI_PAGE_SIZE - bytes;
-            VG_(memset)((char *)bss, 0, bytes);
+            VG_(memset)((void *)bss, 0, bytes);
          }
       }
    }
@@ -246,9 +246,9 @@
    return elfbrk;
 }
 
-Bool VG_(match_ELF)(Char *hdr, Int len)
+Bool VG_(match_ELF)(const void *hdr, Int len)
 {
-   ESZ(Ehdr) *e = (ESZ(Ehdr) *)hdr;
+   const ESZ(Ehdr) *e = hdr;
    return (len > sizeof(*e)) && VG_(memcmp)(&e->e_ident[0], ELFMAG, SELFMAG) == 0;
 }
 
@@ -315,9 +315,9 @@
       entry point and initial tocptr (R2) value. */
    ESZ(Word) interp_offset = 0;
 
-#ifdef HAVE_PIE
+#  if defined(HAVE_PIE)
    ebase = info->exe_base;
-#endif
+#  endif
 
    e = readelf(fd, name);
 
@@ -334,17 +334,27 @@
          become legit, which is really bad) and causes problems for
          exp-ptrcheck, which assumes all numbers below 1MB are
          nonpointers.  So, hackily, move it above 1MB. */
-      /* Later .. is appears ppc32-linux tries to put [vdso] at 1MB,
+      /* Later .. it appears ppc32-linux tries to put [vdso] at 1MB,
          which totally screws things up, because nothing else can go
-         there.  So bump the hacky load addess along by 0x8000, to
-         0x108000. */
-      if (ebase < 0x108000)
-         ebase = 0x108000;
+         there.  The size of [vdso] is around 2 or 3 pages, so bump
+         the hacky load addess along by 8 * VKI_PAGE_SIZE to be safe. */
+      /* Later .. on mips64 we can't use 0x108000, because mapelf will
+         fail. */
+#     if defined(VGP_mips64_linux)
+      if (ebase < 0x100000)
+         ebase = 0x100000;
+#     else
+      vg_assert(VKI_PAGE_SIZE >= 4096); /* stay sane */
+      ESZ(Addr) hacky_load_address = 0x100000 + 8 * VKI_PAGE_SIZE;
+      if (ebase < hacky_load_address)
+         ebase = hacky_load_address;
+#     endif
    }
 
    info->phnum = e->e.e_phnum;
    info->entry = e->e.e_entry + ebase;
    info->phdr = 0;
+   info->stack_prot = VKI_PROT_READ|VKI_PROT_WRITE|VKI_PROT_EXEC;
 
    for (i = 0; i < e->e.e_phnum; i++) {
       ESZ(Phdr) *ph = &e->p[i];
@@ -407,6 +417,15 @@
          }
          break;
 
+#     if defined(PT_GNU_STACK)
+      /* Android's elf.h doesn't appear to have PT_GNU_STACK. */
+      case PT_GNU_STACK:
+         if ((ph->p_flags & PF_X) == 0) info->stack_prot &= ~VKI_PROT_EXEC;
+         if ((ph->p_flags & PF_W) == 0) info->stack_prot &= ~VKI_PROT_WRITE;
+         if ((ph->p_flags & PF_R) == 0) info->stack_prot &= ~VKI_PROT_READ;
+         break;
+#     endif
+
       default:
          // do nothing
          break;
diff --git a/coregrind/m_ume/macho.c b/coregrind/m_ume/macho.c
index b1fd26f..5f6af43 100644
--- a/coregrind/m_ume/macho.c
+++ b/coregrind/m_ume/macho.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Apple Inc.
+   Copyright (C) 2005-2012 Apple Inc.
       Greg Parker  gparker@apple.com
 
    This program is free software; you can redistribute it and/or
@@ -68,36 +68,46 @@
 #endif
 
 
-static void print(const char *str)
+static void print(const HChar *str)
 {
    VG_(printf)("%s", str);
 }
 
-static void check_mmap(SysRes res, Addr base, SizeT len, HChar* who)
+static void check_mmap(SysRes res, Addr base, SizeT len, const HChar* who)
 {
    if (sr_isError(res)) {
-      VG_(printf)("valgrind: mmap(0x%llx, %lld) failed in UME (%s).\n", 
+      VG_(printf)("valgrind: mmap-FIXED(0x%llx, %lld) failed in UME (%s).\n", 
                   (ULong)base, (Long)len, who);
       VG_(exit)(1);
    }
 }
 
+#if DARWIN_VERS == DARWIN_10_8
+static void check_mmap_float(SysRes res, SizeT len, const HChar* who)
+{
+   if (sr_isError(res)) {
+      VG_(printf)("valgrind: mmap-FLOAT(size=%lld) failed in UME (%s).\n", 
+                  (Long)len, who);
+      VG_(exit)(1);
+   }
+}
+#endif
 
 static int 
 load_thin_file(int fd, vki_off_t offset, vki_off_t size, unsigned long filetype, 
-               const char *filename, 
+               const HChar *filename, 
                vki_uint8_t **out_stack_start, vki_uint8_t **out_stack_end, 
                vki_uint8_t **out_text, vki_uint8_t **out_entry, vki_uint8_t **out_linker_entry);
 
 static int 
 load_fat_file(int fd, vki_off_t offset, vki_off_t size, unsigned long filetype, 
-              const char *filename, 
+              const HChar *filename, 
               vki_uint8_t **out_stack_start, vki_uint8_t **out_stack_end, 
               vki_uint8_t **out_text, vki_uint8_t **out_entry, vki_uint8_t **out_linker_entry);
 
 static int 
 load_mach_file(int fd, vki_off_t offset, vki_off_t size, unsigned long filetype, 
-               const char *filename, 
+               const HChar *filename, 
                vki_uint8_t **out_stack_start, vki_uint8_t **out_stack_end, 
                vki_uint8_t **out_text, vki_uint8_t **out_entry, vki_uint8_t **out_linker_entry);
 
@@ -108,7 +118,7 @@
    The dylinker's entry point is returned in *out_linker_entry.
  */
 static int 
-open_dylinker(const char *filename, vki_uint8_t **out_linker_entry)
+open_dylinker(const HChar *filename, vki_uint8_t **out_linker_entry)
 {
    struct vg_stat sb;
    vki_size_t filesize;
@@ -370,6 +380,46 @@
 }
 
 
+/* Allocates a stack mapping at a V-chosen address.  Pertains to
+   LC_MAIN commands, which seem to have appeared in OSX 10.8.
+
+   This is a really nasty hack -- allocates 64M+stack size, then
+   deallocates the 64M, to guarantee that the stack is at least 64M
+   above zero. */
+#if DARWIN_VERS == DARWIN_10_8
+static int
+handle_lcmain ( vki_uint8_t **out_stack_start,
+                vki_uint8_t **out_stack_end,
+                vki_size_t requested_size )
+{
+   if (requested_size == 0) {
+      requested_size = default_stack_size();
+   }
+   requested_size = VG_PGROUNDUP(requested_size);
+
+   const vki_size_t HACK = 64 * 1024 * 1024;
+   requested_size += HACK;
+
+   SysRes res = VG_(am_mmap_anon_float_client)(requested_size,
+                   VKI_PROT_READ|VKI_PROT_WRITE|VKI_PROT_EXEC);
+   check_mmap_float(res, requested_size, "handle_lcmain");
+   vg_assert(!sr_isError(res));
+   *out_stack_start = (vki_uint8_t*)sr_Res(res);
+   *out_stack_end   = *out_stack_start + requested_size;
+
+   Bool need_discard = False;
+   res = VG_(am_munmap_client)(&need_discard, (Addr)*out_stack_start, HACK);
+   if (sr_isError(res)) return -1;
+   vg_assert(!need_discard); // True == wtf?
+
+   *out_stack_start += HACK;
+
+   return 0;
+}
+#endif /* DARWIN_VERS == DARWIN_10_8 */
+
+
+
 /* 
    Processes an LC_LOAD_DYLINKER command. 
    Returns 0 on success, -1 on any error.
@@ -379,14 +429,14 @@
 static int 
 load_dylinker(vki_uint8_t **linker_entry, struct dylinker_command *dycmd)
 {
-   const char *name;
+   const HChar *name;
 
    if (dycmd->name.offset >= dycmd->cmdsize) {
       print("bad executable (invalid dylinker command)\n");
       return -1;
    }
 
-   name = dycmd->name.offset + (char *)dycmd;
+   name = dycmd->name.offset + (HChar *)dycmd;
     
    // GrP fixme assumes name is terminated somewhere
    return open_dylinker(name, linker_entry);
@@ -428,10 +478,11 @@
 */
 static int 
 load_thin_file(int fd, vki_off_t offset, vki_off_t size, unsigned long filetype, 
-               const char *filename, 
+               const HChar *filename, 
                vki_uint8_t **out_stack_start, vki_uint8_t **out_stack_end, 
                vki_uint8_t **out_text, vki_uint8_t **out_entry, vki_uint8_t **out_linker_entry)
 {
+   VG_(debugLog)(1, "ume", "load_thin_file: begin:   %s\n", filename);
    struct MACH_HEADER mh;
    vki_uint8_t *headers;
    vki_uint8_t *headers_end;
@@ -487,7 +538,7 @@
       print("couldn't read load commands from executable\n");
       return -1;
    }
-   headers_end = headers + size;
+   headers_end = headers + len;
 
    
    // Map some segments into client memory:
@@ -506,6 +557,23 @@
       }
 
       switch (lc->cmd) {
+
+#if   DARWIN_VERS == DARWIN_10_8
+      case LC_MAIN: { /* New in 10.8 */
+         struct entry_point_command* epcmd
+            = (struct entry_point_command*)lc;
+         if (stack_start || stack_end) {
+            print("bad executable (multiple indications of stack)");
+            return -1;
+         }
+         err = handle_lcmain ( &stack_start, &stack_end, epcmd->stacksize );
+         if (err) return -1;
+         VG_(debugLog)(2, "ume", "lc_main: created stack %p-%p\n",
+	               stack_start, stack_end);
+         break;
+      }
+#     endif
+
       case LC_SEGMENT_CMD:
          if (lc->cmdsize < sizeof(struct SEGMENT_COMMAND)) {
             print("bad executable (invalid load commands)\n");
@@ -582,7 +650,7 @@
       // a text segment
       // an entry point (static or linker)
       if (!stack_end || !stack_start) {
-         print("bad executable (no stack)\n");
+         VG_(printf)("bad executable %s (no stack)\n", filename);
          return -1;
       }
       if (!text) {
@@ -609,6 +677,7 @@
    if (out_entry) *out_entry = entry;
    if (out_linker_entry) *out_linker_entry = linker_entry;
    
+   VG_(debugLog)(1, "ume", "load_thin_file: success: %s\n", filename);
    return 0;
 }
 
@@ -618,7 +687,7 @@
 */
 static int 
 load_fat_file(int fd, vki_off_t offset, vki_off_t size, unsigned long filetype, 
-             const char *filename, 
+             const HChar *filename, 
              vki_uint8_t **out_stack_start, vki_uint8_t **out_stack_end, 
              vki_uint8_t **out_text, vki_uint8_t **out_entry, vki_uint8_t **out_linker_entry)
 {
@@ -697,7 +766,7 @@
 */
 static int 
 load_mach_file(int fd, vki_off_t offset, vki_off_t size, unsigned long filetype, 
-              const char *filename, 
+              const HChar *filename, 
               vki_uint8_t **out_stack_start, vki_uint8_t **out_stack_end, 
               vki_uint8_t **out_text, vki_uint8_t **out_entry, vki_uint8_t **out_linker_entry)
 {
@@ -732,9 +801,9 @@
 }
 
 
-Bool VG_(match_macho)(Char *hdr, Int len)
+Bool VG_(match_macho)(const void *hdr, Int len)
 {
-   vki_uint32_t *magic = (vki_uint32_t *)hdr;
+   const vki_uint32_t *magic = hdr;
 
    // GrP fixme check more carefully for matching fat arch?
 
diff --git a/coregrind/m_ume/main.c b/coregrind/m_ume/main.c
index 1250182..ad61d6e 100644
--- a/coregrind/m_ume/main.c
+++ b/coregrind/m_ume/main.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -46,7 +46,7 @@
 
 
 typedef struct {
-   Bool (*match_fn)(Char *hdr, Int len);
+   Bool (*match_fn)(const void *hdr, Int len);
    Int  (*load_fn)(Int fd, const HChar *name, ExeInfo *info);
 } ExeHandler;
 
@@ -81,7 +81,7 @@
    fd = sr_Res(res);
 
    // Check we have execute permissions
-   ret = VG_(check_executable)(&is_setuid, (HChar*)exe_name, allow_setuid);
+   ret = VG_(check_executable)(&is_setuid, exe_name, allow_setuid);
    if (0 != ret) {
       VG_(close)(fd);
       if (is_setuid && !VG_(clo_xml)) {
@@ -155,11 +155,11 @@
 }
 
 
-static Bool is_hash_bang_file(Char* f)
+static Bool is_hash_bang_file(const HChar* f)
 {
    SysRes res = VG_(open)(f, VKI_O_RDONLY, 0);
    if (!sr_isError(res)) {
-      Char buf[3] = {0,0,0};
+      HChar buf[3] = {0,0,0};
       Int fd = sr_Res(res);
       Int n  = VG_(read)(fd, buf, 2); 
       if (n == 2 && VG_STREQ("#!", buf))
@@ -171,7 +171,7 @@
 // Look at the first 80 chars, and if any are greater than 127, it's binary.
 // This is crude, but should be good enough.  Note that it fails on a
 // zero-length file, as we want.
-static Bool is_binary_file(Char* f)
+static Bool is_binary_file(const HChar* f)
 {
    SysRes res = VG_(open)(f, VKI_O_RDONLY, 0);
    if (!sr_isError(res)) {
@@ -197,12 +197,12 @@
 // bash as a guide).  It's worth noting that the shell can execute some
 // things that VG_(do_exec)() (which subsitutes for the kernel's exec())
 // will refuse to (eg. scripts lacking a "#!" prefix).
-static Int do_exec_shell_followup(Int ret, HChar* exe_name, ExeInfo* info)
+static Int do_exec_shell_followup(Int ret, const HChar* exe_name, ExeInfo* info)
 {
-#  if defined(VGPV_arm_linux_android)
-   Char*  default_interp_name = "/system/bin/sh";
+#  if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+   const HChar*  default_interp_name = "/system/bin/sh";
 #  else
-   Char*  default_interp_name = "/bin/sh";
+   const HChar*  default_interp_name = "/bin/sh";
 #  endif
 
    SysRes res;
@@ -224,7 +224,7 @@
       info->interp_name = VG_(strdup)("ume.desf.1", default_interp_name);
       info->interp_args = NULL;
       if (info->argv && info->argv[0] != NULL)
-         info->argv[0] = (char *)exe_name;
+         info->argv[0] = exe_name;
 
       ret = VG_(do_exec_inner)(info->interp_name, info);
 
@@ -280,8 +280,7 @@
    ret = VG_(do_exec_inner)(exe_name, info);
 
    if (0 != ret) {
-      Char* exe_name_casted = (Char*)exe_name;
-      ret = do_exec_shell_followup(ret, exe_name_casted, info);
+      ret = do_exec_shell_followup(ret, exe_name, info);
    }
    return ret;
 }
diff --git a/coregrind/m_ume/priv_ume.h b/coregrind/m_ume/priv_ume.h
index 83b8678..cba484a 100644
--- a/coregrind/m_ume/priv_ume.h
+++ b/coregrind/m_ume/priv_ume.h
@@ -6,7 +6,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -35,16 +35,16 @@
 extern int VG_(do_exec_inner)(const HChar *exe, ExeInfo *info);
 
 #if defined(VGO_linux)
-extern Bool VG_(match_ELF) ( Char *hdr, Int len );
+extern Bool VG_(match_ELF) ( const void *hdr, Int len );
 extern Int  VG_(load_ELF)  ( Int fd, const HChar *name, ExeInfo *info );
 #elif defined(VGO_darwin)
-extern Bool VG_(match_macho) ( Char *hdr, Int len );
+extern Bool VG_(match_macho) ( const void *hdr, Int len );
 extern Int  VG_(load_macho)  ( Int fd, const HChar *name, ExeInfo *info );
 #else
 #  error Unknown OS
 #endif
 
-extern Bool VG_(match_script) ( Char *hdr, Int len );
+extern Bool VG_(match_script) ( const void *hdr, Int len );
 extern Int  VG_(load_script)  ( Int fd, const HChar *name, ExeInfo *info );
 
 
diff --git a/coregrind/m_ume/script.c b/coregrind/m_ume/script.c
index c1a6514..4976126 100644
--- a/coregrind/m_ume/script.c
+++ b/coregrind/m_ume/script.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -42,10 +42,11 @@
 
 #include "priv_ume.h"
 
-Bool VG_(match_script)(Char *hdr, Int len)
+Bool VG_(match_script)(const void *hdr, Int len)
 {
-   Char* end    = hdr + len;
-   Char* interp = hdr + 2;
+   const HChar* script = hdr;
+   const HChar* end    = script + len;
+   const HChar* interp = script + 2;
 
    // len < 4: need '#', '!', plus at least a '/' and one more char
    if (len < 4) return False;    
@@ -78,13 +79,13 @@
 /* returns: 0 = success, non-0 is failure */
 Int VG_(load_script)(Int fd, const HChar* name, ExeInfo* info)
 {
-   Char  hdr[4096];
-   Int   len = 4096;
-   Int   eol;
-   Char* interp;
-   Char* end;
-   Char* cp;
-   Char* arg = NULL;
+   HChar  hdr[4096];
+   Int    len = 4096;
+   Int    eol;
+   HChar* interp;
+   HChar* end;
+   HChar* cp;
+   HChar* arg = NULL;
    SysRes res;
 
    // Read the first part of the file.
@@ -133,7 +134,7 @@
    }
 
    if (info->argv && info->argv[0] != NULL)
-      info->argv[0] = (char *)name;
+     info->argv[0] = name;
 
    VG_(args_the_exename) = name;
 
diff --git a/coregrind/m_vki.c b/coregrind/m_vki.c
index 94417aa..d44ebdc 100644
--- a/coregrind/m_vki.c
+++ b/coregrind/m_vki.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2006-2011 OpenWorks LLP
+   Copyright (C) 2006-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/m_vkiscnums.c b/coregrind/m_vkiscnums.c
index a47cb63..f7fddcb 100644
--- a/coregrind/m_vkiscnums.c
+++ b/coregrind/m_vkiscnums.c
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2006-2011 OpenWorks LLP
+   Copyright (C) 2006-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -46,13 +46,13 @@
 #if defined(VGO_linux)
 //---------------------------------------------------------------------------
 
-Char* VG_(sysnum_string)(Word sysnum, SizeT n_buf, Char* buf)
+HChar* VG_(sysnum_string)(Word sysnum, SizeT n_buf, HChar* buf)
 {
    VG_(snprintf)(buf, n_buf, "%3ld", sysnum);
    return buf;
 }
 
-Char* VG_(sysnum_string_extra)(Word sysnum, SizeT n_buf, Char* buf)
+HChar* VG_(sysnum_string_extra)(Word sysnum, SizeT n_buf, HChar* buf)
 {
    return VG_(sysnum_string)(sysnum, n_buf, buf);
 }
@@ -61,9 +61,9 @@
 #elif defined(VGO_darwin)
 //---------------------------------------------------------------------------
 
-Char* VG_(sysnum_string)(Word sysnum, SizeT n_buf, Char* buf)
+HChar* VG_(sysnum_string)(Word sysnum, SizeT n_buf, HChar* buf)
 {
-   Char* classname = NULL;
+   const HChar* classname = NULL;
    switch (VG_DARWIN_SYSNO_CLASS(sysnum)) {
       case VG_DARWIN_SYSCALL_CLASS_MACH: classname = "mach"; break;
       case VG_DARWIN_SYSCALL_CLASS_UNIX: classname = "unix"; break;
@@ -76,7 +76,7 @@
    return buf;
 }
 
-Char* VG_(sysnum_string_extra)(Word sysnum, SizeT n_buf, Char* buf)
+HChar* VG_(sysnum_string_extra)(Word sysnum, SizeT n_buf, HChar* buf)
 {
    return VG_(sysnum_string)(sysnum, n_buf, buf);
 }
diff --git a/coregrind/m_wordfm.c b/coregrind/m_wordfm.c
index e64715a..c517fcb 100644
--- a/coregrind/m_wordfm.c
+++ b/coregrind/m_wordfm.c
@@ -9,13 +9,13 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2007-2011 Julian Seward
+   Copyright (C) 2007-2012 Julian Seward
       jseward@acm.org
 
    This code is based on previous work by Nicholas Nethercote
    (coregrind/m_oset.c) which is
 
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
        njn@valgrind.org
 
    which in turn was derived partially from:
@@ -81,8 +81,8 @@
 
 struct _WordFM {
    AvlNode* root;
-   void*    (*alloc_nofail)( HChar*, SizeT );
-   HChar*   cc;
+   void*    (*alloc_nofail)( const HChar*, SizeT );
+   const HChar* cc;
    void     (*dealloc)(void*);
    Word     (*kCmp)(UWord,UWord);
    AvlNode* nodeStack[WFM_STKMAX]; // Iterator node stack
@@ -502,8 +502,8 @@
 AvlNode* avl_dopy ( AvlNode* nd, 
                     UWord(*dopyK)(UWord), 
                     UWord(*dopyV)(UWord),
-                    void*(alloc_nofail)(HChar*,SizeT),
-                    HChar* cc )
+                    void*(alloc_nofail)(const HChar*,SizeT),
+                    const HChar* cc )
 {
    AvlNode* nyu;
    if (! nd)
@@ -554,8 +554,8 @@
 
 /* Initialise a WordFM. */
 static void initFM ( WordFM* fm,
-                     void*   (*alloc_nofail)( HChar*, SizeT ),
-                     HChar*  cc,
+                     void*   (*alloc_nofail)( const HChar*, SizeT ),
+                     const HChar* cc,
                      void    (*dealloc)(void*),
                      Word    (*kCmp)(UWord,UWord) )
 {
@@ -576,8 +576,8 @@
    sections of the map, or the whole thing.  If kCmp is NULL then the
    ordering used is unsigned word ordering (UWord) on the key
    values. */
-WordFM* VG_(newFM) ( void* (*alloc_nofail)( HChar*, SizeT ),
-                     HChar* cc,
+WordFM* VG_(newFM) ( void* (*alloc_nofail)( const HChar*, SizeT ),
+                     const HChar* cc,
                      void  (*dealloc)(void*),
                      Word  (*kCmp)(UWord,UWord) )
 {
@@ -849,8 +849,8 @@
    WordFM* fm; 
 };
 
-WordBag* VG_(newBag) ( void* (*alloc_nofail)( HChar*, SizeT ),
-                       HChar* cc,
+WordBag* VG_(newBag) ( void* (*alloc_nofail)( const HChar*, SizeT ),
+                       const HChar* cc,
                        void  (*dealloc)(void*) )
 {
    WordBag* bag = alloc_nofail(cc, sizeof(WordBag));
diff --git a/coregrind/m_xarray.c b/coregrind/m_xarray.c
index e9461ef..2dbd90d 100644
--- a/coregrind/m_xarray.c
+++ b/coregrind/m_xarray.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2007-2011 OpenWorks LLP
+   Copyright (C) 2007-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -38,10 +38,10 @@
 /* See pub_tool_xarray.h for details of what this is all about. */
 
 struct _XArray {
-   void* (*alloc) ( HChar*, SizeT ); /* alloc fn (nofail) */
-   HChar* cc;                       /* cost centre for alloc */
+   void* (*alloc) ( const HChar*, SizeT ); /* alloc fn (nofail) */
+   const HChar* cc;                 /* cost centre for alloc */
    void  (*free) ( void* );         /* free fn */
-   Int   (*cmpFn) ( void*, void* ); /* cmp fn (may be NULL) */
+   Int   (*cmpFn) ( const void*, const void* ); /* cmp fn (may be NULL) */
    Word  elemSzB;   /* element size in bytes */
    void* arr;       /* pointer to elements */
    Word  usedsizeE; /* # used elements in arr */
@@ -50,8 +50,8 @@
 };
 
 
-XArray* VG_(newXA) ( void*(*alloc_fn)(HChar*,SizeT), 
-                     HChar* cc,
+XArray* VG_(newXA) ( void*(*alloc_fn)(const HChar*,SizeT), 
+                     const HChar* cc,
                      void(*free_fn)(void*),
                      Word elemSzB )
 {
@@ -79,11 +79,11 @@
    return xa;
 }
 
-XArray* VG_(cloneXA)( HChar* cc, XArray* xao )
+XArray* VG_(cloneXA)( const HChar* cc, XArray* xao )
 {
    struct _XArray* xa = (struct _XArray*)xao;
    struct _XArray* nyu;
-   HChar* nyu_cc;
+   const HChar* nyu_cc;
    vg_assert(xa);
    vg_assert(xa->alloc);
    vg_assert(xa->free);
@@ -125,7 +125,7 @@
    xa->free(xa);
 }
 
-void VG_(setCmpFnXA) ( XArray* xao, Int (*compar)(void*,void*) )
+void VG_(setCmpFnXA) ( XArray* xao, XACmpFn_t compar )
 {
    struct _XArray* xa = (struct _XArray*)xao;
    vg_assert(xa);
@@ -178,7 +178,7 @@
    }
 }
 
-Word VG_(addToXA) ( XArray* xao, void* elem )
+Word VG_(addToXA) ( XArray* xao, const void* elem )
 {
    struct _XArray* xa = (struct _XArray*)xao;
    vg_assert(xa);
@@ -195,7 +195,7 @@
    return xa->usedsizeE-1;
 }
 
-Word VG_(addBytesToXA) ( XArray* xao, void* bytesV, Word nbytes )
+Word VG_(addBytesToXA) ( XArray* xao, const void* bytesV, Word nbytes )
 {
    Word r, i;
    struct _XArray* xa = (struct _XArray*)xao;
@@ -209,7 +209,7 @@
       ensureSpaceXA( xa );
       vg_assert(xa->usedsizeE < xa->totsizeE);
       vg_assert(xa->arr);
-      * (((UChar*)xa->arr) + xa->usedsizeE) = ((UChar*)bytesV)[i];
+      * (((UChar*)xa->arr) + xa->usedsizeE) = ((const UChar*)bytesV)[i];
       xa->usedsizeE++;
    }
    xa->sorted = False;
@@ -225,9 +225,9 @@
    xa->sorted = True;
 }
 
-Bool VG_(lookupXA_UNSAFE) ( XArray* xao, void* key,
+Bool VG_(lookupXA_UNSAFE) ( XArray* xao, const void* key,
                             /*OUT*/Word* first, /*OUT*/Word* last,
-                            Int(*cmpFn)(void*,void*) )
+                            Int(*cmpFn)(const void*, const void*) )
 {
    Word  lo, mid, hi, cres;
    void* midv;
@@ -264,7 +264,7 @@
    }
 }
 
-Bool VG_(lookupXA) ( XArray* xao, void* key,
+Bool VG_(lookupXA) ( XArray* xao, const void* key,
                      /*OUT*/Word* first, /*OUT*/Word* last )
 {
    struct _XArray* xa = (struct _XArray*)xao;
diff --git a/coregrind/pub_core_aspacehl.h b/coregrind/pub_core_aspacehl.h
index 20b5288..8aa7c55 100644
--- a/coregrind/pub_core_aspacehl.h
+++ b/coregrind/pub_core_aspacehl.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2009-2011 Julian Seward
+   Copyright (C) 2009-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_aspacemgr.h b/coregrind/pub_core_aspacemgr.h
index 150d3be..b6821f3 100644
--- a/coregrind/pub_core_aspacemgr.h
+++ b/coregrind/pub_core_aspacemgr.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -73,7 +73,8 @@
 
 /* Find the next segment along from 'here', if it is a file/anon/resvn
    segment. */
-extern NSegment const* VG_(am_next_nsegment) ( NSegment* here, Bool fwds );
+extern NSegment const* VG_(am_next_nsegment) ( const NSegment* here,
+                                               Bool fwds );
 
 /* Is the area [start .. start+len-1] validly accessible by the 
    client with at least the permissions 'prot' ?  To find out
@@ -98,7 +99,7 @@
 extern ULong VG_(am_get_anonsize_total)( void );
 
 /* Show the segment array on the debug log, at given loglevel. */
-extern void VG_(am_show_nsegments) ( Int logLevel, HChar* who );
+extern void VG_(am_show_nsegments) ( Int logLevel, const HChar* who );
 
 /* Get the filename corresponding to this segment, if known and if it
    has one.  The returned name's storage cannot be assumed to be
@@ -281,12 +282,12 @@
    (is-client-heap) flag for that area.  Otherwise do nothing.
    (Bizarre interface so that the same code works for both Linux and
    AIX and does not impose inefficiencies on the Linux version.) */
-extern void VG_(am_set_segment_isCH_if_SkAnonC)( NSegment* seg );
+extern void VG_(am_set_segment_isCH_if_SkAnonC)( const NSegment* seg );
 
 /* Same idea as VG_(am_set_segment_isCH_if_SkAnonC), except set the
    segment's hasT bit (has-cached-code) if this is SkFileC or SkAnonC
    segment. */
-extern void VG_(am_set_segment_hasT_if_SkFileC_or_SkAnonC)( NSegment* );
+extern void VG_(am_set_segment_hasT_if_SkFileC_or_SkAnonC)( const NSegment* );
 
 /* --- --- --- reservations --- --- --- */
 
@@ -312,7 +313,7 @@
    the reservation segment after the operation must be at least one
    page long. */
 extern Bool VG_(am_extend_into_adjacent_reservation_client) 
-   ( NSegment* seg, SSizeT delta );
+   ( const NSegment* seg, SSizeT delta );
 
 /* --- --- --- resizing/move a mapping --- --- --- */
 
@@ -324,7 +325,7 @@
    *need_discard is True after a successful return, the caller should
    immediately discard translations from the new area. */
 extern Bool VG_(am_extend_map_client)( /*OUT*/Bool* need_discard,
-                                       NSegment* seg, SizeT delta );
+                                       const NSegment* seg, SizeT delta );
 
 /* Remap the old address range to the new address range.  Fails if any
    parameter is not page aligned, if the either size is zero, if any
@@ -343,7 +344,8 @@
 // stacks.  The address space manager provides and suitably
 // protects such stacks.
 
-#if defined(VGP_ppc32_linux) || defined(VGP_ppc64_linux)
+#if defined(VGP_ppc32_linux) || defined(VGP_ppc64_linux) \
+    || defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
 # define VG_STACK_GUARD_SZB  65536  // 1 or 16 pages
 # define VG_STACK_ACTIVE_SZB (4096 * 256) // 1Mb
 #else
diff --git a/coregrind/pub_core_basics.h b/coregrind/pub_core_basics.h
index f0861d4..a086986 100644
--- a/coregrind/pub_core_basics.h
+++ b/coregrind/pub_core_basics.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -60,6 +60,10 @@
 #  include "libvex_guest_arm.h"
 #elif defined(VGA_s390x)
 #  include "libvex_guest_s390x.h"
+#elif defined(VGA_mips32)
+#  include "libvex_guest_mips32.h"
+#elif defined(VGA_mips64)
+#  include "libvex_guest_mips64.h"
 #else
 #  error Unknown arch
 #endif
@@ -83,8 +87,8 @@
 
 typedef
    struct {
-      ULong r_pc; /* x86:EIP, amd64:RIP, ppc:CIA, arm:R15 */
-      ULong r_sp; /* x86:ESP, amd64:RSP, ppc:R1,  arm:R13 */
+      ULong r_pc; /* x86:EIP, amd64:RIP, ppc:CIA, arm:R15, mips:pc */
+      ULong r_sp; /* x86:ESP, amd64:RSP, ppc:R1,  arm:R13, mips:sp */
       union {
          struct {
             UInt r_ebp;
@@ -108,6 +112,16 @@
             ULong r_fp;
             ULong r_lr;
          } S390X;
+         struct {
+            UInt r30;  /* Stack frame pointer or subroutine variable  */
+            UInt r31;  /* Return address of the last subroutine call */
+            UInt r28;
+         } MIPS32;
+         struct {
+            ULong r30;  /* Stack frame pointer or subroutine variable */
+            ULong r31;  /* Return address of the last subroutine call */
+            ULong r28;
+         } MIPS64;
       } misc;
    }
    UnwindStartRegs;
diff --git a/coregrind/pub_core_basics_asm.h b/coregrind/pub_core_basics_asm.h
index a060734..293ee8d 100644
--- a/coregrind/pub_core_basics_asm.h
+++ b/coregrind/pub_core_basics_asm.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_clientstate.h b/coregrind/pub_core_clientstate.h
index 4f4c912..b2a2f98 100644
--- a/coregrind/pub_core_clientstate.h
+++ b/coregrind/pub_core_clientstate.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -67,6 +67,9 @@
    the file contents alive exactly until the process exits. */
 extern Int VG_(cl_cmdline_fd);
 
+/* Same as above, but for /proc/<pid>/auxv. */
+extern Int VG_(cl_auxv_fd);
+
 // Client's original rlimit data and rlimit stack
 extern struct vki_rlimit VG_(client_rlimit_data);
 extern struct vki_rlimit VG_(client_rlimit_stack);
diff --git a/coregrind/pub_core_clreq.h b/coregrind/pub_core_clreq.h
index 4483ffb..4fb712d 100644
--- a/coregrind/pub_core_clreq.h
+++ b/coregrind/pub_core_clreq.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_commandline.h b/coregrind/pub_core_commandline.h
index 8279100..422080c 100644
--- a/coregrind/pub_core_commandline.h
+++ b/coregrind/pub_core_commandline.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_coredump.h b/coregrind/pub_core_coredump.h
index a8a8744..b2caa56 100644
--- a/coregrind/pub_core_coredump.h
+++ b/coregrind/pub_core_coredump.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_cpuid.h b/coregrind/pub_core_cpuid.h
index 7cceaef..269ae57 100644
--- a/coregrind/pub_core_cpuid.h
+++ b/coregrind/pub_core_cpuid.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -36,7 +36,13 @@
 // CPUID instruction.
 //--------------------------------------------------------------------
 
-#include "pub_tool_cpuid.h"
+#if defined(VGA_x86) || defined(VGA_amd64)
+extern Bool VG_(has_cpuid) ( void );
+
+extern void VG_(cpuid) ( UInt eax, UInt ecx,
+                         UInt* eax_ret, UInt* ebx_ret,
+                         UInt* ecx_ret, UInt* edx_ret );
+#endif
 
 #endif   // __PUB_CORE_CPUID_H
 
diff --git a/coregrind/pub_core_debugger.h b/coregrind/pub_core_debugger.h
index b149cad..c82e60e 100644
--- a/coregrind/pub_core_debugger.h
+++ b/coregrind/pub_core_debugger.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_debuginfo.h b/coregrind/pub_core_debuginfo.h
index fa1b129..6705bff 100644
--- a/coregrind/pub_core_debuginfo.h
+++ b/coregrind/pub_core_debuginfo.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -72,7 +72,7 @@
 /* this should really return ULong, as per VG_(di_notify_mmap). */
 extern void VG_(di_notify_pdb_debuginfo)( Int fd, Addr avma,
                                           SizeT total_size,
-                                          PtrdiffT unknown_purpose__reloc );
+                                          PtrdiffT bias );
 
 /* this should also really return ULong */
 extern void VG_(di_notify_vm_protect)( Addr a, SizeT len, UInt prot );
@@ -86,12 +86,18 @@
  * It should only be used in cases where the names of interest will have
  * particular (ie. non-mangled) forms, or the mangled form is acceptable. */
 extern
-Bool VG_(get_fnname_raw) ( Addr a, Char* buf, Int nbuf );
+Bool VG_(get_fnname_raw) ( Addr a, HChar* buf, Int nbuf );
 
 /* Like VG_(get_fnname), but without C++ demangling.  (But it does
  * Z-demangling and below-main renaming.) */
 extern
-Bool VG_(get_fnname_no_cxx_demangle) ( Addr a, Char* buf, Int nbuf );
+Bool VG_(get_fnname_no_cxx_demangle) ( Addr a, HChar* buf, Int nbuf );
+
+/* mips-linux only: find the offset of current address. This is needed for 
+   stack unwinding for MIPS.
+*/
+extern
+Bool VG_(get_inst_offset_in_function)( Addr a, /*OUT*/PtrdiffT* offset );
 
 
 /* Use DWARF2/3 CFA information to do one step of stack unwinding.
@@ -114,6 +120,10 @@
 typedef
    struct { Addr ia; Addr sp; Addr fp; Addr lr;}
    D3UnwindRegs;
+#elif defined(VGA_mips32) || defined(VGA_mips64)
+typedef
+   struct { Addr pc; Addr sp; Addr fp; Addr ra; }
+   D3UnwindRegs;
 #else
 #  error "Unsupported arch"
 #endif
@@ -122,6 +132,13 @@
                                Addr min_accessible,
                                Addr max_accessible );
 
+/* returns the "generation" of the CF info.
+   Each time some debuginfo is changed (e.g. loaded or unloaded),
+   the VG_(CF_info_generation) value returned will be increased.
+   This can be used to flush cached information derived from the CF info. */
+extern UInt VG_(CF_info_generation) (void);
+
+
 
 /* Use MSVC FPO data to do one step of stack unwinding. */
 extern Bool VG_(use_FPO_info) ( /*MOD*/Addr* ipP,
@@ -143,7 +160,8 @@
    platforms, a symbol is deemed to be found only if it has a nonzero
    TOC pointer.  */
 extern
-Bool VG_(lookup_symbol_SLOW)(UChar* sopatt, UChar* name, Addr* pEnt, Addr* pToc);
+Bool VG_(lookup_symbol_SLOW)(const HChar* sopatt, HChar* name, Addr* pEnt,
+                             Addr* pToc);
 
 #endif   // __PUB_CORE_DEBUGINFO_H
 
diff --git a/coregrind/pub_core_debuglog.h b/coregrind/pub_core_debuglog.h
index 6ec7020..c49f8ae 100644
--- a/coregrind/pub_core_debuglog.h
+++ b/coregrind/pub_core_debuglog.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -56,7 +56,7 @@
 
 /* Module startup. */
 extern 
-void VG_(debugLog_startup) ( Int level, HChar* who );
+void VG_(debugLog_startup) ( Int level, const HChar* who );
 
 
 /* Whether %ps should escape XML metacharacters. */
diff --git a/coregrind/pub_core_demangle.h b/coregrind/pub_core_demangle.h
index 2300874..749ede1 100644
--- a/coregrind/pub_core_demangle.h
+++ b/coregrind/pub_core_demangle.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -41,7 +41,7 @@
  * (2) undoes C++ demangling, if 'do_cxx_demangle' is True.  */
 extern 
 void VG_(demangle) ( Bool do_cxx_demangling, Bool do_z_demangling,
-                     Char* orig, Char* result, Int result_size );
+                     HChar* orig, HChar* result, Int result_size );
 
 /* Demangle a Z-encoded name as described in pub_tool_redir.h. 
    Z-encoded names are used by Valgrind for doing function 
diff --git a/coregrind/pub_core_dispatch.h b/coregrind/pub_core_dispatch.h
index efb5aeb..8438556 100644
--- a/coregrind/pub_core_dispatch.h
+++ b/coregrind/pub_core_dispatch.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_dispatch_asm.h b/coregrind/pub_core_dispatch_asm.h
index 31d2f59..2375894 100644
--- a/coregrind/pub_core_dispatch_asm.h
+++ b/coregrind/pub_core_dispatch_asm.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_errormgr.h b/coregrind/pub_core_errormgr.h
index 4cd0ace..4faa68b 100644
--- a/coregrind/pub_core_errormgr.h
+++ b/coregrind/pub_core_errormgr.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -62,7 +62,7 @@
 
 extern void VG_(show_error_counts_as_XML) ( void );
 
-extern Bool VG_(is_action_requested)      ( Char* action, Bool* clo );
+extern Bool VG_(is_action_requested)      ( const HChar* action, Bool* clo );
 
 extern Bool VG_(showing_core_errors)      ( void );
 
diff --git a/coregrind/pub_core_execontext.h b/coregrind/pub_core_execontext.h
index 7dac88a..4342ec2 100644
--- a/coregrind/pub_core_execontext.h
+++ b/coregrind/pub_core_execontext.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -41,10 +41,11 @@
 #include "pub_tool_execontext.h"
 
 /* The maximum number of calls we're prepared to save in an ExeContext. */
-#define VG_DEEPEST_BACKTRACE 50
+#define VG_DEEPEST_BACKTRACE 500
 
 // Print stats (informational only).
-extern void VG_(print_ExeContext_stats) ( void );
+// If with_stacktraces, outputs all the recorded stacktraces.
+extern void VG_(print_ExeContext_stats) ( Bool with_stacktraces );
 
 // Extract the StackTrace from an ExeContext.
 // (Minor hack: we use Addr* as the return type instead of StackTrace so
diff --git a/coregrind/pub_core_gdbserver.h b/coregrind/pub_core_gdbserver.h
index aca532b..9cb06c9 100644
--- a/coregrind/pub_core_gdbserver.h
+++ b/coregrind/pub_core_gdbserver.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2011-2011 Philippe Waroquiers
+   Copyright (C) 2011-2012 Philippe Waroquiers
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -48,6 +48,17 @@
 // to handle this incoming vgdb request.                                
 extern Bool VG_(gdbserver_activity) (ThreadId tid);
 
+// If connected to GDB, VG_(gdbserver_exit) reports to GDB that the process
+// is about to exit.
+// gdbserver is then stopped (using VG_(gdbserver) (0))
+void VG_(gdbserver_exit) (ThreadId tid, VgSchedReturnCode tids_schedretcode);
+
+/* On systems that defines PR_SET_PTRACER, verify if ptrace_scope is
+   is permissive enough for vgdb or --db-attach=yes.
+   Otherwise, call set_ptracer.
+   This is especially aimed at Ubuntu >= 10.10 which has added
+   the ptrace_scope context. */
+void VG_(set_ptracer)(void);
 
 /* Called by low level to insert or remove a break or watch point.
    Break or watch point implementation is done using help from the tool.
@@ -71,18 +82,26 @@
 Bool VG_(gdbserver_point) (PointKind kind, Bool insert, 
                            Addr addr, int len);
 
+/* True if there is a breakpoint at addr. */
+Bool VG_(has_gdbserver_breakpoint) (Addr addr);
+
 /* Entry point invoked by vgdb when it uses ptrace to cause a gdbserver
    invocation. A magic value is passed by vgdb in check as a verification
    that the call has been properly pushed by vgdb. */
 extern void VG_(invoke_gdbserver) ( int check );
 
-// To be called before delivering a signal.
-// Returns True if gdb user asks to pass the signal to the client.
+// To be called by core (m_signals.c) before delivering a signal.
+// Returns True unless gdb user asks to not pass the signal to the client.
 // Note that if the below returns True, the signal might
 // still be ignored if this is the action desired by the
 // guest program.
 extern Bool VG_(gdbserver_report_signal) (Int signo, ThreadId tid);
 
+/* Entry point invoked by scheduler.c to execute the request 
+   VALGRIND_CLIENT_MONITOR_COMMAND.
+   Returns True if command was not recognised. */
+extern Bool VG_(client_monitor_command) (HChar* cmd);
+
 /* software_breakpoint, single step and jump support ------------------------*/
 /* VG_(instrument_for_gdbserver_if_needed) allows to do "standard and easy"
    instrumentation for gdbserver.
diff --git a/coregrind/pub_core_hashtable.h b/coregrind/pub_core_hashtable.h
index 0c92da1..d7dd060 100644
--- a/coregrind/pub_core_hashtable.h
+++ b/coregrind/pub_core_hashtable.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_initimg.h b/coregrind/pub_core_initimg.h
index 9c6dbfa..912eced 100644
--- a/coregrind/pub_core_initimg.h
+++ b/coregrind/pub_core_initimg.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2006-2011 OpenWorks LLP
+   Copyright (C) 2006-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -69,7 +69,7 @@
 
 struct _IICreateImageInfo {
    /* ------ Mandatory fields ------ */
-   HChar*  toolname;
+   const HChar*  toolname;
    Addr    sp_at_startup;
    Addr    clstack_top;
    /* ------ Per-OS fields ------ */
@@ -93,7 +93,7 @@
 
 struct _IICreateImageInfo {
    /* ------ Mandatory fields ------ */
-   HChar*  toolname;
+   const HChar*  toolname;
    Addr    sp_at_startup;
    Addr    clstack_top;
    /* ------ Per-OS fields ------ */
diff --git a/coregrind/pub_core_libcassert.h b/coregrind/pub_core_libcassert.h
index c0a34a7..b7880d8 100644
--- a/coregrind/pub_core_libcassert.h
+++ b/coregrind/pub_core_libcassert.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -61,13 +61,13 @@
                               0)))
 
 __attribute__ ((__noreturn__))
-extern void  VG_(core_panic)      ( Char* str );
+extern void  VG_(core_panic)      ( const HChar* str );
 __attribute__ ((__noreturn__))
-extern void  VG_(core_panic_at)   ( Char* str, UnwindStartRegs* );
+extern void  VG_(core_panic_at)   ( const HChar* str, UnwindStartRegs* );
 
 /* Called when some unhandleable client behaviour is detected.
    Prints a msg and aborts. */
-extern void VG_(unimplemented) ( Char* msg )
+extern void VG_(unimplemented) ( const HChar* msg )
             __attribute__((__noreturn__));
 
 /* Show the state of all threads.  Mostly for debugging V. */
diff --git a/coregrind/pub_core_libcbase.h b/coregrind/pub_core_libcbase.h
index 182591a..0c4d676 100644
--- a/coregrind/pub_core_libcbase.h
+++ b/coregrind/pub_core_libcbase.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_libcfile.h b/coregrind/pub_core_libcfile.h
index 884d56a..430b537 100644
--- a/coregrind/pub_core_libcfile.h
+++ b/coregrind/pub_core_libcfile.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -56,7 +56,7 @@
    none specified. */
 #define VG_CLO_DEFAULT_LOGPORT 1500
 
-extern Int VG_(connect_via_socket)( UChar* str );
+extern Int VG_(connect_via_socket)( const HChar* str );
 
 extern UInt   VG_(htonl) ( UInt x );
 extern UInt   VG_(ntohl) ( UInt x );
@@ -65,11 +65,13 @@
 
 extern Int VG_(socket) ( Int domain, Int type, Int protocol );
 
-extern Int VG_(write_socket)( Int sd, void *msg, Int count );
+extern Int VG_(write_socket)( Int sd, const void *msg, Int count );
 extern Int VG_(getsockname) ( Int sd, struct vki_sockaddr *name, Int *namelen );
 extern Int VG_(getpeername) ( Int sd, struct vki_sockaddr *name, Int *namelen );
 extern Int VG_(getsockopt)  ( Int sd, Int level, Int optname, 
                               void *optval, Int *optlen );
+extern Int VG_(setsockopt)  ( Int sd, Int level, Int optname,
+                              void *optval, Int optlen );
 
 extern Int VG_(access) ( const HChar* path, Bool irusr, Bool iwusr,
                                             Bool ixusr );
@@ -84,10 +86,14 @@
    in terms of pread()?) */
 extern SysRes VG_(pread) ( Int fd, void* buf, Int count, OffT offset );
 
+/* Size of fullname buffer needed for a call to VG_(mkstemp) with
+   part_of_name having the given part_of_name_len. */
+extern SizeT VG_(mkstemp_fullname_bufsz) ( SizeT part_of_name_len );
+
 /* Create and open (-rw------) a tmp file name incorporating said arg.
    Returns -1 on failure, else the fd of the file.  If fullname is
    non-NULL, the file's name is written into it.  The number of bytes
-   written is guaranteed not to exceed 64+strlen(part_of_name). */
+   written is equal to VG_(mkstemp_fullname_bufsz)(part_of_name). */
 extern Int VG_(mkstemp) ( HChar* part_of_name, /*OUT*/HChar* fullname );
 
 /* Record the process' working directory at startup.  Is intended to
diff --git a/coregrind/pub_core_libcprint.h b/coregrind/pub_core_libcprint.h
index 5f08425..5de2dc5 100644
--- a/coregrind/pub_core_libcprint.h
+++ b/coregrind/pub_core_libcprint.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -62,7 +62,7 @@
 /* Similarly - complain and stop if there is some kind of config
    error. */
 __attribute__((noreturn))
-extern void VG_(err_config_error) ( Char* format, ... );
+extern void VG_(err_config_error) ( const HChar* format, ... );
 
 #endif   // __PUB_CORE_LIBCPRINT_H
 
diff --git a/coregrind/pub_core_libcproc.h b/coregrind/pub_core_libcproc.h
index e573fd8..88cbc47 100644
--- a/coregrind/pub_core_libcproc.h
+++ b/coregrind/pub_core_libcproc.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -69,11 +69,11 @@
 
 
 // Environment manipulations
-extern Char **VG_(env_setenv)   ( Char ***envp, const Char* varname,
-                                  const Char *val );
-extern void   VG_(env_unsetenv) ( Char **env, const Char *varname );
-extern void   VG_(env_remove_valgrind_env_stuff) ( Char** env ); 
-extern Char **VG_(env_clone)    ( Char **env_clone );
+extern HChar **VG_(env_setenv)   ( HChar ***envp, const HChar* varname,
+                                   const HChar *val );
+extern void    VG_(env_unsetenv) ( HChar **env, const HChar *varname );
+extern void    VG_(env_remove_valgrind_env_stuff) ( HChar** env ); 
+extern HChar **VG_(env_clone)    ( HChar **env_clone );
 
 // misc
 extern Int  VG_(getgroups)( Int size, UInt* list );
diff --git a/coregrind/pub_core_libcsetjmp.h b/coregrind/pub_core_libcsetjmp.h
index fec29b3..830065e 100644
--- a/coregrind/pub_core_libcsetjmp.h
+++ b/coregrind/pub_core_libcsetjmp.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2010-2011 Mozilla Inc
+   Copyright (C) 2010-2012 Mozilla Inc
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/coregrind/pub_core_libcsignal.h b/coregrind/pub_core_libcsignal.h
index 47d71d4..6c02967 100644
--- a/coregrind/pub_core_libcsignal.h
+++ b/coregrind/pub_core_libcsignal.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_mach.h b/coregrind/pub_core_mach.h
index 745655a..53e7c6e 100644
--- a/coregrind/pub_core_mach.h
+++ b/coregrind/pub_core_mach.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Apple Inc.
+   Copyright (C) 2005-2012 Apple Inc.
       Greg Parker  gparker@apple.com
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_machine.h b/coregrind/pub_core_machine.h
index 6f15be5..97324a3 100644
--- a/coregrind/pub_core_machine.h
+++ b/coregrind/pub_core_machine.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -75,6 +75,28 @@
 #  define VG_ELF_MACHINE      EM_S390
 #  define VG_ELF_CLASS        ELFCLASS64
 #  undef  VG_PLAT_USES_PPCTOC
+#elif defined(VGP_mips32_linux)
+#  if defined (VG_LITTLEENDIAN)
+#    define VG_ELF_DATA2XXX   ELFDATA2LSB
+#  elif defined (VG_BIGENDIAN)
+#    define VG_ELF_DATA2XXX   ELFDATA2MSB
+#  else
+#    error "Unknown endianness"
+#  endif
+#  define VG_ELF_MACHINE      EM_MIPS
+#  define VG_ELF_CLASS        ELFCLASS32
+#  undef  VG_PLAT_USES_PPCTOC
+#elif defined(VGP_mips64_linux)
+#  if defined (VG_LITTLEENDIAN)
+#    define VG_ELF_DATA2XXX     ELFDATA2LSB
+#  elif defined (VG_BIGENDIAN)
+#    define VG_ELF_DATA2XXX     ELFDATA2MSB
+#  else
+#    error "Unknown endianness"
+#  endif
+#  define VG_ELF_MACHINE      EM_MIPS
+#  define VG_ELF_CLASS        ELFCLASS64
+#  undef  VG_PLAT_USES_PPCTOC
 #else
 #  error Unknown platform
 #endif
@@ -104,6 +126,14 @@
 #  define VG_STACK_PTR        guest_SP
 #  define VG_FRAME_PTR        guest_FP
 #  define VG_FPC_REG          guest_fpc
+#elif defined(VGA_mips32)
+#  define VG_INSTR_PTR        guest_PC
+#  define VG_STACK_PTR        guest_r29
+#  define VG_FRAME_PTR        guest_r30
+#elif defined(VGA_mips64)
+#  define VG_INSTR_PTR        guest_PC
+#  define VG_STACK_PTR        guest_r29
+#  define VG_FRAME_PTR        guest_r30
 #else
 #  error Unknown arch
 #endif
@@ -169,6 +199,10 @@
                       call VG_(machine_arm_set_has_NEON)
 
           then safe to use VG_(machine_get_VexArchInfo) 
+   -------------
+   s390x: initially:  call VG_(machine_get_hwcaps)
+
+          then safe to use VG_(machine_get_VexArchInfo)
 
    VG_(machine_get_hwcaps) may use signals (although it attempts to
    leave signal state unchanged) and therefore should only be
@@ -180,9 +214,9 @@
    this a CPU incapable of running Valgrind. */
 extern Bool VG_(machine_get_hwcaps)( void );
 
-/* Fetch host cpu info, as per above comment. */
-extern void VG_(machine_get_VexArchInfo)( /*OUT*/VexArch*,
-                                          /*OUT*/VexArchInfo* );
+/* Determine information about the cache system this host has and
+   record it. Returns False, if cache information cannot be auto-detected. */
+extern Bool VG_(machine_get_cache_info)( VexArchInfo * );
 
 /* Notify host cpu cache line size, as per above comment. */
 #if defined(VGA_ppc32)
diff --git a/coregrind/pub_core_mallocfree.h b/coregrind/pub_core_mallocfree.h
index c192f19..814d230 100644
--- a/coregrind/pub_core_mallocfree.h
+++ b/coregrind/pub_core_mallocfree.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -70,7 +70,9 @@
 // minimum alignment.  Must be a power of 2 greater than 4, and should be
 // greater than 8.
 #if   defined(VGP_x86_linux)   || \
-      defined(VGP_arm_linux)
+      defined(VGP_arm_linux)   || \
+      defined(VGP_mips32_linux) || \
+      defined(VGP_mips64_linux)
 #  define VG_MIN_MALLOC_SZB        8
 // Nb: We always use 16 bytes for Darwin, even on 32-bits, so it can be used
 // for any AltiVec- or SSE-related type.  This matches the Darwin libc.
@@ -102,21 +104,26 @@
    int keepcost; /* top-most, releasable (via malloc_trim) space */
 };
 
-extern void* VG_(arena_malloc)  ( ArenaId arena, HChar* cc, SizeT nbytes );
+extern void* VG_(arena_malloc)  ( ArenaId arena, const HChar* cc, SizeT nbytes );
 extern void  VG_(arena_free)    ( ArenaId arena, void* ptr );
-extern void* VG_(arena_calloc)  ( ArenaId arena, HChar* cc,
+extern void* VG_(arena_calloc)  ( ArenaId arena, const HChar* cc,
                                   SizeT nmemb, SizeT bytes_per_memb );
-extern void* VG_(arena_realloc) ( ArenaId arena, HChar* cc,
+extern void* VG_(arena_realloc) ( ArenaId arena, const HChar* cc,
                                   void* ptr, SizeT size );
-extern void* VG_(arena_memalign)( ArenaId aid, HChar* cc,
+extern void* VG_(arena_memalign)( ArenaId aid, const HChar* cc,
                                   SizeT req_alignB, SizeT req_pszB );
-extern Char* VG_(arena_strdup)  ( ArenaId aid, HChar* cc, 
-                                  const Char* s);
+extern HChar* VG_(arena_strdup)  ( ArenaId aid, const HChar* cc, 
+                                   const HChar* s);
 
 extern SizeT VG_(arena_malloc_usable_size) ( ArenaId aid, void* payload );
 
 extern void  VG_(mallinfo) ( ThreadId tid, struct vg_mallinfo* mi );
 
+// VG_(arena_perm_malloc) is for permanent allocation of small blocks.
+// See VG_(perm_malloc) in pub_tool_mallocfree.h for more details.
+// Do not call any VG_(arena_*) functions with these permanent blocks.
+extern void* VG_(arena_perm_malloc) ( ArenaId aid, SizeT nbytes, Int align );
+
 extern void  VG_(sanity_check_malloc_all) ( void );
 
 extern void  VG_(print_all_arena_stats) ( void );
diff --git a/coregrind/pub_core_options.h b/coregrind/pub_core_options.h
index 5559984..58e19dd 100644
--- a/coregrind/pub_core_options.h
+++ b/coregrind/pub_core_options.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -69,7 +69,7 @@
 /* if > 0, checks every VG_(clo_vgdb_poll) BBS if vgdb wants to be served. */
 extern Int VG_(clo_vgdb_poll);
 /* prefix for the named pipes (FIFOs) used by vgdb/gdb to communicate with valgrind */
-extern HChar* VG_(clo_vgdb_prefix);
+extern const HChar* VG_(clo_vgdb_prefix);
 /* if True, gdbserver in valgrind will expose a target description containing
    shadow registers */
 extern Bool  VG_(clo_vgdb_shadow_registers);
@@ -77,7 +77,7 @@
 /* Enquire about whether to attach to a debugger at errors?   default: NO */
 extern Bool  VG_(clo_db_attach);
 /* The debugger command?  default: whatever gdb ./configure found */
-extern Char* VG_(clo_db_command);
+extern const HChar* VG_(clo_db_command);
 /* Generating a suppression for each error?   default: 0 (NO)
    Other values: 1 (yes, but ask user), 2 (yes, don't ask user) */
 extern Int   VG_(clo_gen_suppressions);
@@ -86,14 +86,18 @@
 /* Automatically attempt to demangle C++ names?  default: YES */
 extern Bool  VG_(clo_demangle);
 /* Simulate child processes? default: NO */
+/* Soname synonyms : a string containing a list of pairs
+   xxxxx=yyyyy separated by commas.
+   E.g. --soname-synonyms=somalloc=libtcmalloc*.so*,solibtruc=NONE */
+extern const HChar* VG_(clo_soname_synonyms);
 extern Bool  VG_(clo_trace_children);
 /* String containing comma-separated patterns for executable names
    that should not be traced into even when --trace-children=yes */
-extern HChar* VG_(clo_trace_children_skip);
+extern const HChar* VG_(clo_trace_children_skip);
 /* The same as VG_(clo_trace_children), except that these patterns are
    tested against the arguments for child processes, rather than the
    executable name. */
-extern HChar* VG_(clo_trace_children_skip_by_arg);
+extern const HChar* VG_(clo_trace_children_skip_by_arg);
 /* After a fork, the child's output can become confusingly
    intermingled with the parent's output.  This is especially
    problematic when VG_(clo_xml) is True.  Setting
@@ -104,8 +108,8 @@
 
 /* If the user specified --log-file=STR and/or --xml-file=STR, these
    hold STR after expansion of the %p and %q templates. */
-extern Char* VG_(clo_log_fname_expanded);
-extern Char* VG_(clo_xml_fname_expanded);
+extern HChar* VG_(clo_log_fname_expanded);
+extern HChar* VG_(clo_xml_fname_expanded);
 
 /* Add timestamps to log messages?  default: NO */
 extern Bool  VG_(clo_time_stamp);
@@ -116,18 +120,47 @@
 /* The number of suppression files specified. */
 extern Int   VG_(clo_n_suppressions);
 /* The names of the suppression files. */
-extern Char* VG_(clo_suppressions)[VG_CLO_MAX_SFILES];
+extern const HChar* VG_(clo_suppressions)[VG_CLO_MAX_SFILES];
 
 /* An array of strings harvested from --fullpath-after= flags. */
 extern Int   VG_(clo_n_fullpath_after);
-extern Char* VG_(clo_fullpath_after)[VG_CLO_MAX_FULLPATH_AFTER];
+extern const HChar* VG_(clo_fullpath_after)[VG_CLO_MAX_FULLPATH_AFTER];
+
+/* Full path to additional path to search for debug symbols */
+extern const HChar* VG_(clo_extra_debuginfo_path);
+
+/* Address of a debuginfo server to use.  Either an IPv4 address of
+   the form "d.d.d.d" or that plus a port spec, hence of the form
+   "d.d.d.d:d", where d is one or more digits. */
+extern const HChar* VG_(clo_debuginfo_server);
+
+/* Do we allow reading debuginfo from debuginfo objects that don't
+   match (in some sense) the main object?  This is dangerous, so the
+   default is NO (False).  In any case it applies only to objects
+   found either in _extra_debuginfo_path or via the
+   _debuginfo_server. */
+extern Bool VG_(clo_allow_mismatched_debuginfo);
 
 /* DEBUG: print generated code?  default: 00000000 ( == NO ) */
 extern UChar VG_(clo_trace_flags);
-/* DEBUG: do bb profiling?  default: 00000000 ( == NO ) */
-extern UChar VG_(clo_profile_flags);
-/* DEBUG: if tracing codegen, be quiet until after this bb ( 0 ) */
+
+/* DEBUG: do SB profiling? default: False (== NO).  NOTE: does not
+   have an associated command line flag.  Is set to True whenever
+   --profile-flags= is specified. */
+extern Bool  VG_(clo_profyle_sbs);
+/* DEBUG: if doing SB profiling, provides bits for which JIT stages
+   are shown.  Same meaning as for clo_trace_flags.  default: zero (==
+   show block counts only) */
+extern UChar VG_(clo_profyle_flags);
+/* DEBUG: if doing SB profiling, dump blocks and zero counters after
+   this-many back edges (event checks).  default: zero (== show
+   profiling results only at the end of the run. */
+extern ULong VG_(clo_profyle_interval);
+
+/* DEBUG: if tracing codegen, be quiet until after this bb */
 extern Int   VG_(clo_trace_notbelow);
+/* DEBUG: if tracing codegen, be quiet after this bb  */
+extern Int   VG_(clo_trace_notabove);
 /* DEBUG: print system calls?  default: NO */
 extern Bool  VG_(clo_trace_syscalls);
 /* DEBUG: print signal details?  default: NO */
@@ -135,7 +168,7 @@
 /* DEBUG: print symtab details?  default: NO */
 extern Bool  VG_(clo_trace_symtab);
 /* DEBUG: restrict symtab etc details to object name pattern.  Default: "*" */
-extern HChar* VG_(clo_trace_symtab_patt);
+extern const HChar* VG_(clo_trace_symtab_patt);
 /* DEBUG: print call-frame-info details?  default: NO */
 extern Bool  VG_(clo_trace_cfi);
 /* DEBUG:  mimic /usr/bin/readelf --syms?  default: NO */
@@ -153,17 +186,29 @@
 extern Bool  VG_(clo_trace_sched);
 /* DEBUG: do heap profiling?  default: NO */
 extern Bool  VG_(clo_profile_heap);
+#define MAX_REDZONE_SZB 128
+// Maximum for the default values for core arenas and for client
+// arena given by the tool.
+// 128 is no special figure, just something not too big
+#define MAX_CLO_REDZONE_SZB 4096
+// We allow the user to increase the redzone size to 4Kb :
+// This allows "off by one" in an array of pages to be detected.
+#define CORE_REDZONE_DEFAULT_SZB 4
+extern Int VG_(clo_core_redzone_size);
+// VG_(clo_redzone_size) has default value -1, indicating to keep
+// the tool provided value.
+extern Int VG_(clo_redzone_size);
 /* DEBUG: display gory details for the k'th most popular error.
    default: Infinity. */
 extern Int   VG_(clo_dump_error);
 /* Engage miscellaneous weird hacks needed for some progs. */
-extern Char* VG_(clo_sim_hints);
+extern const HChar* VG_(clo_sim_hints);
 /* Show symbols in the form 'name+offset' ?  Default: NO */
 extern Bool VG_(clo_sym_offsets);
 /* Read DWARF3 variable info even if tool doesn't ask for it? */
 extern Bool VG_(clo_read_var_info);
 /* Which prefix to strip from full source file paths, if any. */
-extern Char* VG_(clo_prefix_to_strip);
+extern const HChar* VG_(clo_prefix_to_strip);
 
 /* An array of strings harvested from --require-text-symbol= 
    flags.
@@ -196,7 +241,7 @@
    the entire flag in quotes to stop shells messing up the * and ?
    wildcards. */
 extern Int    VG_(clo_n_req_tsyms);
-extern HChar* VG_(clo_req_tsyms)[VG_CLO_MAX_REQ_TSYMS];
+extern const HChar* VG_(clo_req_tsyms)[VG_CLO_MAX_REQ_TSYMS];
 
 /* Track open file descriptors? */
 extern Bool  VG_(clo_track_fds);
@@ -219,6 +264,14 @@
    be? */
 extern Word VG_(clo_main_stacksize);
 
+/* If the same IP is found twice in a backtrace in a sequence of max
+   VG_(clo_merge_recursive_frames) frames, then the recursive call
+   is merged in the backtrace.
+   Note also that the merge is done during unwinding, to obtain
+   an much as possible significant backtrace.
+   Note that the value is changeable by a gdbsrv command. */
+extern Int VG_(clo_merge_recursive_frames);
+
 /* Delay startup to allow GDB to be attached?  Default: NO */
 extern Bool VG_(clo_wait_for_gdb);
 
@@ -242,7 +295,7 @@
 
 /* String containing comma-separated names of minor kernel variants,
    so they can be properly handled by m_syswrap. */
-extern HChar* VG_(clo_kernel_variant);
+extern const HChar* VG_(clo_kernel_variant);
 
 /* Darwin-specific: automatically run /usr/bin/dsymutil to update
    .dSYM directories as necessary? */
@@ -257,6 +310,11 @@
 extern Bool VG_(should_we_trace_this_child) ( HChar* child_exe_name,
                                               HChar** child_argv );
 
+/* Whether illegal instructions should be reported/diagnosed.
+   Can be explicitly set through --sigill-diagnostics otherwise
+   depends on verbosity (False if -q). */
+extern Bool VG_(clo_sigill_diag);
+
 #endif   // __PUB_CORE_OPTIONS_H
 
 /*--------------------------------------------------------------------*/
diff --git a/coregrind/pub_core_oset.h b/coregrind/pub_core_oset.h
index dc6db25..2606122 100644
--- a/coregrind/pub_core_oset.h
+++ b/coregrind/pub_core_oset.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_redir.h b/coregrind/pub_core_redir.h
index 2533f2b..1d78112 100644
--- a/coregrind/pub_core_redir.h
+++ b/coregrind/pub_core_redir.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -128,7 +128,7 @@
 //extern Bool VG_(is_wrapper_return)(Addr eip);
 
 /* Primary interface for adding wrappers for client-side functions. */
-//extern CodeRedirect *VG_(add_wrapper)(const Char *from_lib, const Char *from_sym,
+//extern CodeRedirect *VG_(add_wrapper)(const HChar *from_lib, const HChar *from_sym,
 //				      const FuncWrapper *wrapper);
 //
 //extern Bool VG_(is_resolved)(const CodeRedirect *redir);
diff --git a/coregrind/pub_core_replacemalloc.h b/coregrind/pub_core_replacemalloc.h
index 2c62275..e0eabb0 100644
--- a/coregrind/pub_core_replacemalloc.h
+++ b/coregrind/pub_core_replacemalloc.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_sbprofile.h b/coregrind/pub_core_sbprofile.h
new file mode 100644
index 0000000..4b58456
--- /dev/null
+++ b/coregrind/pub_core_sbprofile.h
@@ -0,0 +1,45 @@
+
+/*--------------------------------------------------------------------*/
+/*--- For printing superblock profiles        pub_core_sbprofile.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2012-2012 Mozilla Foundation
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+/* Contributed by Julian Seward <jseward@acm.org> */
+
+#ifndef __PUB_CORE_SBPROFILE_H
+#define __PUB_CORE_SBPROFILE_H
+
+/* Get and print a profile.  Also, zero out the counters so that if we
+   call it again later, the second call will only show new work done
+   since the first call.  ecs_done == 0 is taken to mean this is a
+   run-end profile. */
+void VG_(get_and_show_SB_profile) ( ULong ecs_done );
+
+#endif   // __PUB_CORE_SBPROFILE_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                     pub_core_sbprofile.h ---*/
+/*--------------------------------------------------------------------*/
diff --git a/coregrind/pub_core_scheduler.h b/coregrind/pub_core_scheduler.h
index 5e6042a..60d8c87 100644
--- a/coregrind/pub_core_scheduler.h
+++ b/coregrind/pub_core_scheduler.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -57,12 +57,12 @@
    thread state to VgTs_Runnable, and the thread will attempt to take
    the CPU lock.  By the time it returns, tid will be the running
    thread. */
-extern void VG_(acquire_BigLock) ( ThreadId tid, HChar* who );
+extern void VG_(acquire_BigLock) ( ThreadId tid, const HChar* who );
 
 /* Simple version, which simply acquires the lock, but does not mess
    with the guest state in the same way as the non _LL version
    does. */
-extern void VG_(acquire_BigLock_LL) ( HChar* who );
+extern void VG_(acquire_BigLock_LL) ( const HChar* who );
 
 /* Set a thread into a sleeping state.  Before the call, the thread
    must be runnable, and holding the CPU lock.  When this call
@@ -73,10 +73,10 @@
    the caller's responsibility to actually block until the thread is
    ready to run again. */
 extern void VG_(release_BigLock) ( ThreadId tid,
-                                   ThreadStatus state, HChar* who );
+                                   ThreadStatus state, const HChar* who );
 
 /* Matching function to acquire_BigLock_LL. */
-extern void VG_(release_BigLock_LL) ( HChar* who );
+extern void VG_(release_BigLock_LL) ( const HChar* who );
 
 /* Whether the specified thread owns the big lock. */
 extern Bool VG_(owns_BigLock_LL) ( ThreadId tid );
diff --git a/coregrind/pub_core_seqmatch.h b/coregrind/pub_core_seqmatch.h
index 097678f..58325df 100644
--- a/coregrind/pub_core_seqmatch.h
+++ b/coregrind/pub_core_seqmatch.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_sigframe.h b/coregrind/pub_core_sigframe.h
index 7d85759..67b864d 100644
--- a/coregrind/pub_core_sigframe.h
+++ b/coregrind/pub_core_sigframe.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_signals.h b/coregrind/pub_core_signals.h
index f2188f1..0731a4f 100644
--- a/coregrind/pub_core_signals.h
+++ b/coregrind/pub_core_signals.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -41,7 +41,7 @@
 extern Int VG_(max_signal);
 
 /* Returns the name of the vki signal sigNo */
-extern const Char *VG_(signame)(Int sigNo);
+extern const HChar *VG_(signame)(Int sigNo);
 
 /* Use high signals because native pthreads wants to use low */
 #define VG_SIGVGKILL       (VG_(max_signal)-0)
@@ -77,6 +77,7 @@
 extern void VG_(synth_sigill)       (ThreadId tid, Addr addr);
 extern void VG_(synth_sigtrap)      (ThreadId tid);
 extern void VG_(synth_sigbus)       (ThreadId tid);
+extern void VG_(synth_sigfpe)       (ThreadId tid, UInt code);
 
 /* Extend the stack to cover addr, if possible */
 extern Bool VG_(extend_stack)(Addr addr, UInt maxsize);
diff --git a/coregrind/pub_core_sparsewa.h b/coregrind/pub_core_sparsewa.h
index 34f7b16..c871a2a 100644
--- a/coregrind/pub_core_sparsewa.h
+++ b/coregrind/pub_core_sparsewa.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_stacks.h b/coregrind/pub_core_stacks.h
index f3b249d..0a05b50 100644
--- a/coregrind/pub_core_stacks.h
+++ b/coregrind/pub_core_stacks.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -42,7 +42,10 @@
 extern void  VG_(stack_limits)     ( Addr SP, Addr *start, Addr *end );
 
 extern VG_REGPARM(3)
-       void VG_(unknown_SP_update) ( Addr old_SP, Addr new_SP, UInt otag );
+       void VG_(unknown_SP_update_w_ECU)
+                                   ( Addr old_SP, Addr new_SP, UInt ecu );
+extern VG_REGPARM(2)
+       void VG_(unknown_SP_update) ( Addr old_SP, Addr new_SP );
 
 #endif   // __PUB_CORE_STACKS_H
 
diff --git a/coregrind/pub_core_stacktrace.h b/coregrind/pub_core_stacktrace.h
index dc35bd8..36c7fd8 100644
--- a/coregrind/pub_core_stacktrace.h
+++ b/coregrind/pub_core_stacktrace.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_syscall.h b/coregrind/pub_core_syscall.h
index 1b6d35f..1648f8c 100644
--- a/coregrind/pub_core_syscall.h
+++ b/coregrind/pub_core_syscall.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -79,6 +79,10 @@
 extern SysRes VG_(mk_SysRes_amd64_darwin)( UChar scclass, Bool isErr,
                                            ULong wHI, ULong wLO );
 extern SysRes VG_(mk_SysRes_s390x_linux) ( Long val );
+extern SysRes VG_(mk_SysRes_mips32_linux)( UWord v0, UWord v1,
+                                           UWord a3 );
+extern SysRes VG_(mk_SysRes_mips64_linux)( ULong v0, ULong v1,
+                                           ULong a3 );
 extern SysRes VG_(mk_SysRes_Error)       ( UWord val );
 extern SysRes VG_(mk_SysRes_Success)     ( UWord val );
 
diff --git a/coregrind/pub_core_syswrap.h b/coregrind/pub_core_syswrap.h
index b2cebae..02cc9b7 100644
--- a/coregrind/pub_core_syswrap.h
+++ b/coregrind/pub_core_syswrap.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -63,7 +63,7 @@
 
 /* fd leakage calls. */
 extern void VG_(init_preopened_fds) ( void );
-extern void VG_(show_open_fds) ( void );
+extern void VG_(show_open_fds) ( const HChar* when );
 
 // When the final thread is done, where shall I call to shutdown the
 // system cleanly?  Is set once at startup (in m_main) and never
diff --git a/coregrind/pub_core_threadstate.h b/coregrind/pub_core_threadstate.h
index 4860bad..7e7fa87 100644
--- a/coregrind/pub_core_threadstate.h
+++ b/coregrind/pub_core_threadstate.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -87,6 +87,10 @@
    typedef VexGuestARMState   VexGuestArchState;
 #elif defined(VGA_s390x)
    typedef VexGuestS390XState VexGuestArchState;
+#elif defined(VGA_mips32)
+   typedef VexGuestMIPS32State VexGuestArchState;
+#elif defined(VGA_mips64)
+   typedef VexGuestMIPS64State VexGuestArchState;
 #else
 #  error Unknown architecture
 #endif
diff --git a/coregrind/pub_core_tooliface.h b/coregrind/pub_core_tooliface.h
index e0ce16e..056d173 100644
--- a/coregrind/pub_core_tooliface.h
+++ b/coregrind/pub_core_tooliface.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -63,11 +63,11 @@
 
 typedef
    struct {
-      Char* name;
-      Char* version;
-      Char* description;
-      Char* copyright_author;
-      Char* bug_reports_to;
+      const HChar* name;
+      const HChar* version;
+      const HChar* description;
+      const HChar* copyright_author;
+      const HChar* bug_reports_to;
       UInt  avg_translation_sizeB;
    }
    VgDetails;
@@ -109,7 +109,7 @@
    IRSB* (*tool_instrument)   (VgCallbackClosure*,
                                IRSB*, 
                                VexGuestLayout*, VexGuestExtents*, 
-                               IRType, IRType);
+                               VexArchInfo*, IRType, IRType);
    void  (*tool_fini)         (Int);
 
    // VG_(needs).core_errors
@@ -121,17 +121,17 @@
    void  (*tool_pp_Error)                    (Error*);
    Bool  tool_show_ThreadIDs_for_errors;
    UInt  (*tool_update_extra)                (Error*);
-   Bool  (*tool_recognised_suppression)      (Char*, Supp*);
-   Bool  (*tool_read_extra_suppression_info) (Int, Char**, SizeT*, Supp*);
+   Bool  (*tool_recognised_suppression)      (const HChar*, Supp*);
+   Bool  (*tool_read_extra_suppression_info) (Int, HChar**, SizeT*, Supp*);
    Bool  (*tool_error_matches_suppression)   (Error*, Supp*);
-   Char* (*tool_get_error_name)              (Error*);
-   Bool  (*tool_get_extra_suppression_info)  (Error*,/*OUT*/Char*,Int);
+   const HChar* (*tool_get_error_name)       (Error*);
+   Bool  (*tool_get_extra_suppression_info)  (Error*,/*OUT*/HChar*,Int);
 
    // VG_(needs).superblock_discards
    void (*tool_discard_superblock_info)(Addr64, VexGuestExtents);
 
    // VG_(needs).command_line_options
-   Bool (*tool_process_cmd_line_option)(Char*);
+   Bool (*tool_process_cmd_line_option)(const HChar*);
    void (*tool_print_usage)            (void);
    void (*tool_print_debug_usage)      (void);
 
@@ -212,13 +212,13 @@
 
    void (*track_ban_mem_stack)(Addr, SizeT);
 
-   void (*track_pre_mem_read)       (CorePart, ThreadId, Char*, Addr, SizeT);
-   void (*track_pre_mem_read_asciiz)(CorePart, ThreadId, Char*, Addr);
-   void (*track_pre_mem_write)      (CorePart, ThreadId, Char*, Addr, SizeT);
+   void (*track_pre_mem_read)       (CorePart, ThreadId, const HChar*, Addr, SizeT);
+   void (*track_pre_mem_read_asciiz)(CorePart, ThreadId, const HChar*, Addr);
+   void (*track_pre_mem_write)      (CorePart, ThreadId, const HChar*, Addr, SizeT);
    void (*track_post_mem_write)     (CorePart, ThreadId, Addr, SizeT);
 
-   void (*track_pre_reg_read)  (CorePart, ThreadId, Char*, PtrdiffT, SizeT);
-   void (*track_post_reg_write)(CorePart, ThreadId,        PtrdiffT, SizeT);
+   void (*track_pre_reg_read)  (CorePart, ThreadId, const HChar*, PtrdiffT, SizeT);
+   void (*track_post_reg_write)(CorePart, ThreadId,               PtrdiffT, SizeT);
    void (*track_post_reg_write_clientcall_return)(ThreadId, PtrdiffT, SizeT,
                                                   Addr);
 
@@ -240,7 +240,7 @@
    Miscellaneous functions
    ------------------------------------------------------------------ */
 
-Bool VG_(sanity_check_needs) ( Char** failmsg );
+Bool VG_(sanity_check_needs) ( const HChar** failmsg );
 
 #endif   // __PUB_CORE_TOOLIFACE_H
 
diff --git a/coregrind/pub_core_trampoline.h b/coregrind/pub_core_trampoline.h
index 4e87792..b536ede 100644
--- a/coregrind/pub_core_trampoline.h
+++ b/coregrind/pub_core_trampoline.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -127,6 +127,17 @@
 extern Addr VG_(s390x_linux_SUBST_FOR_rt_sigreturn);
 #endif
 
+#if defined(VGP_mips32_linux)
+extern Addr  VG_(mips32_linux_SUBST_FOR_sigreturn);
+extern Addr  VG_(mips32_linux_SUBST_FOR_rt_sigreturn);
+extern UInt  VG_(mips32_linux_REDIR_FOR_strlen)( void* );
+#endif
+
+#if defined(VGP_mips64_linux)
+extern Addr  VG_(mips64_linux_SUBST_FOR_rt_sigreturn);
+extern UInt  VG_(mips64_linux_REDIR_FOR_strlen)( void* );
+#endif
+
 #endif   // __PUB_CORE_TRAMPOLINE_H
 
 /*--------------------------------------------------------------------*/
diff --git a/coregrind/pub_core_translate.h b/coregrind/pub_core_translate.h
index c6c2405..c399d58 100644
--- a/coregrind/pub_core_translate.h
+++ b/coregrind/pub_core_translate.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_transtab.h b/coregrind/pub_core_transtab.h
index 046bc21..6ed1cb4 100644
--- a/coregrind/pub_core_transtab.h
+++ b/coregrind/pub_core_transtab.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -62,6 +62,7 @@
                            UInt             code_len,
                            Bool             is_self_checking,
                            Int              offs_profInc,
+                           UInt             n_guest_instrs,
                            VexArch          arch_host );
 
 extern
@@ -77,7 +78,7 @@
                                    Bool          upd_cache );
 
 extern void VG_(discard_translations) ( Addr64 start, ULong range,
-                                        HChar* who );
+                                        const HChar* who );
 
 extern void VG_(print_tt_tc_stats) ( void );
 
@@ -95,14 +96,14 @@
 Bool VG_(search_unredir_transtab) ( /*OUT*/AddrH* result,
                                     Addr64        guest_addr );
 
-// BB profiling stuff
+// SB profiling stuff
 
-typedef struct _BBProfEntry {
+typedef struct _SBProfEntry {
    Addr64 addr;
    ULong  score;
-} BBProfEntry;
+} SBProfEntry;
 
-extern ULong VG_(get_BB_profile) ( BBProfEntry tops[], UInt n_tops );
+extern ULong VG_(get_SB_profile) ( SBProfEntry tops[], UInt n_tops );
 
 #endif   // __PUB_CORE_TRANSTAB_H
 
diff --git a/coregrind/pub_core_transtab_asm.h b/coregrind/pub_core_transtab_asm.h
index 00adced..c3b3855 100644
--- a/coregrind/pub_core_transtab_asm.h
+++ b/coregrind/pub_core_transtab_asm.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -62,7 +62,8 @@
 #elif defined(VGA_s390x) || defined(VGA_arm)
 #  define VG_TT_FAST_HASH(_addr)  ((((UWord)(_addr)) >> 1) & VG_TT_FAST_MASK)
 
-#elif defined(VGA_ppc32) || defined(VGA_ppc64)
+#elif defined(VGA_ppc32) || defined(VGA_ppc64) || defined(VGA_mips32) \
+      || defined(VGA_mips64)
 #  define VG_TT_FAST_HASH(_addr)  ((((UWord)(_addr)) >> 2) & VG_TT_FAST_MASK)
 
 #else
diff --git a/coregrind/pub_core_ume.h b/coregrind/pub_core_ume.h
index 4228033..2ac4600 100644
--- a/coregrind/pub_core_ume.h
+++ b/coregrind/pub_core_ume.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -44,7 +44,7 @@
 // inputs/outputs of do_exec().
 typedef
    struct {
-      HChar** argv;       // IN: the original argv
+      const HChar** argv;   // IN: the original argv
 
       Addr exe_base;     // INOUT: lowest (allowed) address of exe
       Addr exe_end;      // INOUT: highest (allowed) address
@@ -52,6 +52,7 @@
 #if !defined(VGO_darwin)
       Addr phdr;         // OUT: address phdr was mapped at
       Int  phnum;        // OUT: number of phdrs
+      UInt stack_prot;   // OUT: stack permissions
       Addr interp_base;  // OUT: where interpreter (ld.so) was mapped
 #else
       Addr  stack_start;      // OUT: address of start of stack segment (hot)
diff --git a/coregrind/pub_core_vki.h b/coregrind/pub_core_vki.h
index f314e76..457d0f6 100644
--- a/coregrind/pub_core_vki.h
+++ b/coregrind/pub_core_vki.h
@@ -8,11 +8,11 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
       njn@valgrind.org
-   Copyright (C) 2006-2011 OpenWorks LLP
+   Copyright (C) 2006-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_vkiscnums.h b/coregrind/pub_core_vkiscnums.h
index 9b0da60..e2d6e23 100644
--- a/coregrind/pub_core_vkiscnums.h
+++ b/coregrind/pub_core_vkiscnums.h
@@ -7,11 +7,11 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
       njn@valgrind.org
-   Copyright (C) 2006-2011 OpenWorks LLP
+   Copyright (C) 2006-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_vkiscnums_asm.h b/coregrind/pub_core_vkiscnums_asm.h
index 739adab..6b52acb 100644
--- a/coregrind/pub_core_vkiscnums_asm.h
+++ b/coregrind/pub_core_vkiscnums_asm.h
@@ -7,11 +7,11 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
       njn@valgrind.org
-   Copyright (C) 2006-2011 OpenWorks LLP
+   Copyright (C) 2006-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/pub_core_wordfm.h b/coregrind/pub_core_wordfm.h
index 425ed4c..8a71059 100644
--- a/coregrind/pub_core_wordfm.h
+++ b/coregrind/pub_core_wordfm.h
@@ -9,13 +9,13 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2007-2011 Julian Seward
+   Copyright (C) 2007-2012 Julian Seward
       jseward@acm.org
 
    This code is based on previous work by Nicholas Nethercote
    (coregrind/m_oset.c) which is
 
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
        njn@valgrind.org
 
    which in turn was derived partially from:
diff --git a/coregrind/pub_core_xarray.h b/coregrind/pub_core_xarray.h
index 80aedf1..b69dffb 100644
--- a/coregrind/pub_core_xarray.h
+++ b/coregrind/pub_core_xarray.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2007-2011 OpenWorks LLP
+   Copyright (C) 2007-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
diff --git a/coregrind/vg_preloaded.c b/coregrind/vg_preloaded.c
index 24a8f71..3195e19 100644
--- a/coregrind/vg_preloaded.c
+++ b/coregrind/vg_preloaded.c
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -56,7 +56,8 @@
 void VG_NOTIFY_ON_LOAD(freeres)( void );
 void VG_NOTIFY_ON_LOAD(freeres)( void )
 {
-#  if !defined(__UCLIBC__) && !defined(VGPV_arm_linux_android)
+#  if !defined(__UCLIBC__) \
+   && !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
    extern void __libc_freeres(void);
    __libc_freeres();
 #  endif
@@ -99,7 +100,7 @@
 
 /* This string will be inserted into crash logs, so crashes while 
    running under Valgrind can be distinguished from other crashes. */
-__private_extern__ char *__crashreporter_info__ = "Instrumented by Valgrind " VERSION;
+__private_extern__ const char *__crashreporter_info__ = "Instrumented by Valgrind " VERSION;
 
 /* ---------------------------------------------------------------------
    Darwin environment cleanup
@@ -115,10 +116,10 @@
 #include <crt_externs.h>
 
 // GrP fixme copied from m_libcproc
-static void env_unsetenv ( Char **env, const Char *varname )
+static void env_unsetenv ( HChar **env, const HChar *varname )
 {
-   Char **from;
-   Char **to = NULL;
+   HChar **from;
+   HChar **to = NULL;
    Int len = strlen(varname);
 
    for (from = to = env; from && *from; from++) {
@@ -136,7 +137,7 @@
 static void vg_cleanup_env(void)  __attribute__((constructor));
 static void vg_cleanup_env(void)
 {
-    Char **envp = (Char**)*_NSGetEnviron();
+    HChar **envp = (HChar**)*_NSGetEnviron();
     env_unsetenv(envp, "VALGRIND_LAUNCHER");
     env_unsetenv(envp, "DYLD_SHARED_REGION");
     // GrP fixme should be more like mash_colon_env()
diff --git a/coregrind/vgdb.c b/coregrind/vgdb.c
index d2f5182..dc3beda 100644
--- a/coregrind/vgdb.c
+++ b/coregrind/vgdb.c
@@ -6,7 +6,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2011-2011 Philippe Waroquiers
+   Copyright (C) 2011-2012 Philippe Waroquiers
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -80,7 +80,8 @@
    can be "waken up". PTRACEINVOKER implies some architecture
    specific code and/or some OS specific code. */
 #if defined(VGA_arm) || defined(VGA_x86) || defined(VGA_amd64) \
-    || defined(VGA_ppc32) || defined(VGA_ppc64) || defined(VGA_s390x)
+    || defined(VGA_ppc32) || defined(VGA_ppc64) || defined(VGA_s390x) \
+    || defined(VGP_mips32_linux) || defined(VGA_mips64)
 #define PTRACEINVOKER
 #else
 I_die_here : (PTRACEINVOKER) architecture missing in vgdb.c
@@ -93,21 +94,19 @@
 #undef PTRACEINVOKER
 #endif
 
-#if defined(VGPV_arm_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
 #undef PTRACEINVOKER
 #endif
 
 #if defined(PTRACEINVOKER)
 #include <sys/user.h>
 #if defined(VGO_linux)
-#  include <sys/prctl.h>
 #  include <linux/ptrace.h>
 #endif
 #endif
 
 
-// Outputs information for the user about ptrace_scope protection
-// or ptrace not working.
+// Outputs information for the user about ptrace not working.
 static void ptrace_restrictions_msg(void);
 
 static int debuglevel;
@@ -304,12 +303,12 @@
 #ifdef PTRACEINVOKER
 /* ptrace_(read|write)_memory are modified extracts of linux-low.c
    from gdb 6.6. Copyrighted FSF */
-/* Copy LEN bytes from inferior's memory starting at MEMADDR
-   to debugger memory starting at MYADDR.  */
+/* Copy LEN bytes from valgrind memory starting at MEMADDR
+   to vgdb memory starting at MYADDR.  */
 
 static
 int ptrace_read_memory (pid_t inferior_pid, CORE_ADDR memaddr,
-                        unsigned char *myaddr, int len)
+                        void *myaddr, int len)
 {
    register int i;
    /* Round starting address down to longword boundary.  */
@@ -338,14 +337,14 @@
    return 0;
 }
 
-/* Copy LEN bytes of data from debugger memory at MYADDR
-   to inferior's memory at MEMADDR.
-   On failure (cannot write the inferior)
+/* Copy LEN bytes of data from vgdb memory at MYADDR
+   to valgrind memory at MEMADDR.
+   On failure (cannot write the valgrind memory)
    returns the value of errno.  */
-
+__attribute__((unused)) /* not used on all platforms */
 static
 int ptrace_write_memory (pid_t inferior_pid, CORE_ADDR memaddr, 
-                         const unsigned char *myaddr, int len)
+                         const void *myaddr, int len)
 {
    register int i;
    /* Round starting address down to longword boundary.  */
@@ -361,7 +360,7 @@
    if (debuglevel >= 1) {
       DEBUG (1, "Writing ");
       for (i = 0; i < len; i++)
-         PDEBUG (1, "%02x", (unsigned)myaddr[i]);
+         PDEBUG (1, "%02x", ((const unsigned char*)myaddr)[i]);
       PDEBUG(1, " to %p\n", (void *) memaddr);
    }
    
@@ -439,8 +438,10 @@
    if (WIFSTOPPED(status))
       APPEND ("WIFSTOPPED %d ", WSTOPSIG(status));
 
+#ifdef WIFCONTINUED
    if (WIFCONTINUED(status))
       APPEND ("WIFCONTINUED ");
+#endif
 
    return result;
 #undef APPEND
@@ -456,7 +457,7 @@
    If pid is reported as being dead/exited, waitstopped will return False.
 */
 static
-Bool waitstopped (int pid, int signal_expected, char *msg)
+Bool waitstopped (int pid, int signal_expected, const char *msg)
 {
    pid_t p;
    int status = 0;
@@ -502,7 +503,7 @@
    Returns True if succesful, False otherwise.
    msg is used in tracing and error reporting. */
 static
-Bool stop (int pid, char *msg)
+Bool stop (int pid, const char *msg)
 {
    long res;
 
@@ -521,7 +522,7 @@
    Returns True if succesful, False otherwise.
    msg is used in tracing and error reporting. */
 static
-Bool attach (int pid, char *msg)
+Bool attach (int pid, const char *msg)
 {
    long res;
    static Bool output_error = True;
@@ -581,7 +582,7 @@
    for (i = 1; i < VG_N_THREADS; i++) {
       vgt += sz_tst;
       rw = ptrace_read_memory(pid, vgt+off_status,
-                              (unsigned char *)&(vgdb_threads[i].status),
+                              &(vgdb_threads[i].status),
                               sizeof(ThreadStatus));
       if (rw != 0) {
          ERROR(rw, "status ptrace_read_memory\n");
@@ -589,7 +590,7 @@
       }
       
       rw = ptrace_read_memory(pid, vgt+off_lwpid,
-                              (unsigned char *)&(vgdb_threads[i].lwpid),
+                              &(vgdb_threads[i].lwpid),
                               sizeof(Int));
       if (rw != 0) {
          ERROR(rw, "lwpid ptrace_read_memory\n");
@@ -866,11 +867,7 @@
    // address pushed on the stack should ensure this is detected.
 
    /* Not yet attached. If problem, vgdb can abort,
-      no cleanup needed.
-
-      On Ubuntu>= 10.10, a /proc setting can disable ptrace.
-      So, Valgrind has to SET_PTRACER this vgdb. Once this
-      is done, this vgdb can ptrace the valgrind process. */
+      no cleanup needed. */
 
    DEBUG(1, "attach to 'main' pid %d\n", pid);
    if (!attach(pid, "attach main pid")) {
@@ -921,6 +918,10 @@
    sp = user_mod.regs.gpr[1];
 #elif defined(VGA_s390x)
    sp = user_mod.regs.gprs[15];
+#elif defined(VGA_mips32)
+   sp = user_mod.regs[29*2];
+#elif defined(VGA_mips64)
+   sp = user_mod.regs[29];
 #else
    I_die_here : (sp) architecture missing in vgdb.c
 #endif
@@ -938,7 +939,7 @@
       DEBUG(1, "push check arg ptrace_write_memory\n");
       assert(regsize == sizeof(check));
       rw = ptrace_write_memory(pid, sp, 
-                               (unsigned char *) &check, 
+                               &check, 
                                regsize);
       if (rw != 0) {
          ERROR(rw, "push check arg ptrace_write_memory");
@@ -951,7 +952,7 @@
       // Note that for a 64 bits vgdb, only 4 bytes of NULL bad_return
       // are written.
       rw = ptrace_write_memory(pid, sp, 
-                               (unsigned char *) &bad_return,
+                               &bad_return,
                                regsize);
       if (rw != 0) {
          ERROR(rw, "push bad_return return address ptrace_write_memory");
@@ -993,6 +994,21 @@
 
 #elif defined(VGA_s390x)
       XERROR(0, "(fn32) s390x has no 32bits implementation");
+#elif defined(VGA_mips32)
+      /* put check arg in register 4 */
+      user_mod.regs[4*2] = check;
+      user_mod.regs[4*2+1] = 0xffffffff; // sign extend $a0
+      /* This sign extension is needed when vgdb 32 bits runs
+         on a 64 bits OS. */
+      /* put NULL return address in ra */
+      user_mod.regs[31*2] = bad_return;
+      user_mod.regs[31*2+1] = 0;
+      user_mod.regs[34*2] = shared32->invoke_gdbserver;
+      user_mod.regs[34*2+1] = 0;
+      user_mod.regs[25*2] = shared32->invoke_gdbserver;
+      user_mod.regs[25*2+1] = 0;
+#elif defined(VGA_mips64)
+      assert(0); // cannot vgdb a 32 bits executable with a 64 bits exe
 #else
       I_die_here : architecture missing in vgdb.c
 #endif
@@ -1013,7 +1029,7 @@
       sp = sp - regsize;
       DEBUG(1, "push bad_return return address ptrace_write_memory\n");
       rw = ptrace_write_memory(pid, sp, 
-                               (unsigned char *) &bad_return,
+                               &bad_return,
                                sizeof(bad_return));
       if (rw != 0) {
          ERROR(rw, "push bad_return return address ptrace_write_memory");
@@ -1036,7 +1052,7 @@
       Addr64 toc_addr;
       int rw;
       rw = ptrace_read_memory(pid, shared64->invoke_gdbserver,
-                              (unsigned char *)&func_addr,
+                              &func_addr,
                               sizeof(Addr64));
       if (rw != 0) {
          ERROR(rw, "ppc64 read func_addr\n");
@@ -1044,7 +1060,7 @@
          return False;
       }
       rw = ptrace_read_memory(pid, shared64->invoke_gdbserver+8,
-                              (unsigned char *)&toc_addr,
+                              &toc_addr,
                               sizeof(Addr64));
       if (rw != 0) {
          ERROR(rw, "ppc64 read toc_addr\n");
@@ -1072,6 +1088,15 @@
       user_mod.regs.gprs[15] = sp;
       /* set program counter */
       user_mod.regs.psw.addr = shared64->invoke_gdbserver;
+#elif defined(VGA_mips32)
+      assert(0); // cannot vgdb a 64 bits executable with a 32 bits exe
+#elif defined(VGA_mips64)
+      /* put check arg in register 4 */
+      user_mod.regs[4] = check;
+      /* put NULL return address in ra */
+      user_mod.regs[31] = bad_return;
+      user_mod.regs[34] = shared64->invoke_gdbserver;
+      user_mod.regs[25] = shared64->invoke_gdbserver;
 #else
       I_die_here: architecture missing in vgdb.c
 #endif
@@ -1247,7 +1272,7 @@
 }
 
 static
-int open_fifo (char* name, int flags, char* desc)
+int open_fifo (const char* name, int flags, const char* desc)
 {
    int fd;
    DEBUG(1, "opening %s %s\n", name, desc);
@@ -1299,7 +1324,7 @@
    Returns the nr of characters read, -1 if error.
    desc is a string used in tracing */
 static
-int read_buf (int fd, char* buf, char* desc)
+int read_buf (int fd, char* buf, const char* desc)
 {
    int nrread;
    DEBUG(2, "reading %s\n", desc);
@@ -1319,11 +1344,12 @@
    valgrind process that there is new data.
    Returns True if write is ok, False if there was a problem. */
 static
-Bool write_buf(int fd, char* buf, int size, char* desc, Bool notify)
+Bool write_buf(int fd, char* buf, int size, const char* desc, Bool notify)
 {
    int nrwritten;
    int nrw;
-   DEBUG(2, "writing %s len %d %s notify: %d\n", desc, size, buf, notify);
+   DEBUG(2, "writing %s len %d %.*s notify: %d\n", desc, size,
+         size, buf, notify);
    nrwritten = 0;
    while (nrwritten < size) {
       nrw = write (fd, buf+nrwritten, size - nrwritten);
@@ -1345,7 +1371,7 @@
    TO_PID } ConnectionKind;
 static const int NumConnectionKind = TO_PID+1;
 static 
-char *ppConnectionKind (ConnectionKind con)
+const char *ppConnectionKind (ConnectionKind con)
 {
    switch (con) {
    case FROM_GDB: return "FROM_GDB";
@@ -1495,9 +1521,10 @@
 static int
 readchar (int fd)
 {
-  static unsigned char buf[PBUFSIZ+1]; // +1 for trailing \0
+  static char buf[PBUFSIZ+1]; // +1 for trailing \0
   static int bufcnt = 0;
-  static unsigned char *bufp;
+  static unsigned char *bufp; 
+  // unsigned bufp to e.g. avoid having 255 converted to int -1
 
   if (bufcnt-- > 0)
      return *bufp++;
@@ -1514,7 +1541,7 @@
      }
   }
 
-  bufp = buf;
+  bufp = (unsigned char *)buf;
   bufcnt--;
   return *bufp++;
 }
@@ -1621,7 +1648,7 @@
       sigpipe++;
    } else if (signum == SIGALRM) {
       sigalrm++;
-#if defined(VGPV_arm_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
       /* Android has no pthread_cancel. As it also does not have
          PTRACE_INVOKER, there is no need for cleanup action.
          So, we just do nothing. */
@@ -1873,10 +1900,10 @@
 
    int i;
    int hi;
-   unsigned char hex[3];
+   char hex[3];
    unsigned char cksum;
-   unsigned char *hexcommand;
-   unsigned char buf[PBUFSIZ+1]; // +1 for trailing \0
+   char *hexcommand;
+   char buf[PBUFSIZ+1]; // +1 for trailing \0
    int buflen;
    int nc;
 
@@ -1906,7 +1933,8 @@
       hexcommand[0] = 0;
       strcat (hexcommand, "$qRcmd,");
       for (i = 0; i < strlen(commands[nc]); i++) {
-         sprintf(hex, "%02x", commands[nc][i]);
+         sprintf(hex, "%02x", (unsigned char) commands[nc][i]);
+         // Need to use unsigned char, to avoid sign extension.
          strcat (hexcommand, hex);
       }
       /* checksum (but without the $) */
@@ -1991,13 +2019,19 @@
    if (fd == -1) {
       DEBUG(1, "error opening cmdline file %s %s\n", 
             cmdline_file, strerror(errno));
-      sprintf(cmdline, "(could not obtain process command line)");
+      sprintf(cmdline, "(could not open process command line)");
    } else {
       sz = read(fd, cmdline, 1000);
       for (i = 0; i < sz; i++)
          if (cmdline[i] == 0)
             cmdline[i] = ' ';
-      cmdline[sz] = 0;
+      if (sz >= 0)
+         cmdline[sz] = 0;
+      else {
+         DEBUG(1, "error reading cmdline file %s %s\n", 
+               cmdline_file, strerror(errno));
+         sprintf(cmdline, "(could not read process command line)");
+      }
       close (fd);
    }  
    fprintf((on_stdout ? stdout : stderr), "use --pid=%d for %s\n", pid, cmdline);
@@ -2009,27 +2043,6 @@
 static
 void ptrace_restrictions_msg(void)
 {
-#  ifdef PR_SET_PTRACER
-   char *ptrace_scope_setting_file = "/proc/sys/kernel/yama/ptrace_scope";
-   int fd = -1;
-   char ptrace_scope = 'X';
-   fd = open (ptrace_scope_setting_file, O_RDONLY, 0);
-   if (fd >= 0 && (read (fd, &ptrace_scope, 1) == 1) && (ptrace_scope != '0')) {
-      fprintf (stderr,
-               "Note: your kernel restricts ptrace invoker using %s\n"
-               "vgdb will only be able to attach to a Valgrind process\n"
-               "blocked in a system call *after* an initial successful attach\n",
-               ptrace_scope_setting_file);
-   } else if (ptrace_scope == 'X') {
-      DEBUG (1, 
-             "PR_SET_PTRACER defined"
-             " but could not determine ptrace scope from %s\n",
-             ptrace_scope_setting_file);
-   }
-   if (fd >= 0)
-      close (fd);
-#  endif
-
 #  ifndef PTRACEINVOKER
    fprintf(stderr, 
            "Note: ptrace invoker not implemented\n"
@@ -2153,19 +2166,19 @@
          errno = 0; /* avoid complain if vgdb_dir is empty */
          while ((f = readdir (vgdb_dir))) {
             struct stat st;
-            char pathname[strlen(vgdb_dir_name) + strlen(f->d_name)];
+            char pathname[strlen(vgdb_dir_name) + strlen(f->d_name) + 1];
             char *wrongpid;
             int newpid;
 
             strcpy (pathname, vgdb_dir_name);
             strcat (pathname, f->d_name);
-            DEBUG(3, "trying %s\n", pathname);
+            DEBUG(3, "checking pathname is FIFO %s\n", pathname);
             if (stat (pathname, &st) != 0) {
                if (debuglevel >= 3)
                   ERROR (errno, "vgdb error: stat %s searching vgdb fifo\n", 
                          pathname);
             } else if (S_ISFIFO (st.st_mode)) {
-               DEBUG(3, "trying %s\n", pathname);
+               DEBUG(3, "trying FIFO %s\n", pathname);
                if (strncmp (pathname, vgdb_format, 
                             strlen (vgdb_format)) == 0) {
                   newpid = strtol(pathname + strlen (vgdb_format), 
@@ -2256,7 +2269,7 @@
 
 /* true if arg matches the provided option */
 static
-Bool is_opt(char* arg, char *option)
+Bool is_opt(char* arg, const char *option)
 {
    int option_len = strlen(option);
    if (option[option_len-1] == '=')
diff --git a/darwin10-drd.supp b/darwin10-drd.supp
index 5e14236..6bb8103 100644
--- a/darwin10-drd.supp
+++ b/darwin10-drd.supp
@@ -119,7 +119,13 @@
    fun:pthread_create
 }
 {
-   pthread_join()
+   drd-darwin-pthread-join-1
+   drd:ConflictingAccess
+   ...
+   fun:pthread_join$UNIX2003
+}
+{
+   drd-darwin-pthread-join-2
    drd:ConflictingAccess
    ...
    fun:pthread_join
diff --git a/darwin10.supp b/darwin10.supp
index d43cb3d..505305d 100644
--- a/darwin10.supp
+++ b/darwin10.supp
@@ -54,3 +54,14 @@
    fun:__keymgr_initializer
    fun:libSystem_initializer
 }
+
+{
+   darwin-still-reachable-1
+   Memcheck:Leak
+   ...
+   fun:dwarf2_unwind_dyld_add_image_hook
+   fun:_ZN4dyld19registerAddCallbackEPFvPK11mach_headerlE
+   fun:_dyld_register_func_for_add_image
+   fun:__keymgr_initializer
+   fun:libSystem_initializer
+}
diff --git a/darwin12.supp b/darwin12.supp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/darwin12.supp
diff --git a/docs/Makefile.am b/docs/Makefile.am
index 2deeb01..bb7d116 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -25,7 +25,10 @@
 	internals/3_3_BUGSTATUS.txt \
 	internals/3_4_BUGSTATUS.txt \
 	internals/3_5_BUGSTATUS.txt \
+	internals/3_7_BUGSTATUS.txt \
+	internals/3_8_BUGSTATUS.txt \
 	internals/arm_thumb_notes_gdbserver.txt \
+	internals/avx-notes.txt \
 	internals/BIG_APP_NOTES.txt \
 	internals/Darwin-notes.txt \
 	internals/SPEC-notes.txt \
diff --git a/docs/README b/docs/README
index 77ecbc5..82e3239 100644
--- a/docs/README
+++ b/docs/README
@@ -139,6 +139,15 @@
 
 I haven't succeeded in building the print docs.
 
+
+Notes [Aug. 2012]
+-----------------
+On Ubuntu 10.04 there was a new capacity-related failure whilst
+building the print docs in the run up to the 3.8.0 release.  This was
+fixed by editing /etc/texmf/texmf.cnf and changing pool_size to
+2000000.
+
+
 Notes [Mar. 2007]
 -----------------
 For SuSE 10.1, I have to install the following packages to get a
diff --git a/docs/internals/3_7_BUGSTATUS.txt b/docs/internals/3_7_BUGSTATUS.txt
new file mode 100644
index 0000000..bacc083
--- /dev/null
+++ b/docs/internals/3_7_BUGSTATUS.txt
@@ -0,0 +1,209 @@
+
+Bugs reported after the release of 3.7.0
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This file lists bugs that were reported after 3.7.0 was released, both
+in 3.7.0 and trunk, and that have not been closed.  Bugs that have
+been closed as "fixed" are listed in the top level NEWS file instead.
+In other words they get listed here first and moved to NEWS if they
+get fixed.
+
+-- reenable amd64_toIR.c commented out insns
+-- amd64 toIR memcheck icc -O3 -mAVX probs?
+-- add arm stack-scan hacks?
+-- add allocator-mismatch checking?
+-- 302709, minor tidying needed?
+-- reconsider https://bugs.kde.org/show_bug.cgi?id=253657 (AMD64 seg regs)
+-- make sure it works OK on Ubuntu 12.04 and Fedora latest (glibc 2.16)
+-- carll 2.11 Limitations, what insn sets does ppc now support
+-- ditto 2.11 Limitations for MIPS
+
+284540  Memcheck shouldn't count suppressions matching
+        still-reachable allocations
+  wishlist, w/patch, unclear if important
+
+284904  Avoid cycles by disabling inclusive costs for cycles?
+  wishlist
+
+285780  Nice to be able to display (animate) movement of variables through caches
+  wishlist
+
+286769  replace __intel_new_memcpy with valgrind's memcpy
+  not started
+
+286849  Interceptors for new/delete on Darwin were erroneously commented
+        out in r12043
+  **possible 3.8.0
+
+286864  strlen function redirection error
+  **probably invalid
+
+288099  valgrind should print arguments/return values of functions in stack
+  wishlist
+
+287862  MPI_IN_PLACE not supported for MPI collect
+  libmpiwrap.c problem; low prio
+
+288274  Aborts at illegal instruction 0x48 0xF 0x5A 0x7 0x48 0xF
+  == 278744 REX.W CVTPS2PD
+  **possible 3.8.0 (redundant REX prefix)
+
+288363  valgrind: m_libcfile.c:73 (vgPlain_safe_fd): Assertion
+        'newfd >= VG_(fd_hard_limit)' failed.
+  OSX weirdness; QUERIED (maybe invalid)
+
+288756  add '-x' to strip when stripping dynamic libraries on OSX
+  OSX.  low prio
+
+289360  parse_type_DIE confused by DW_TAG_enumeration_type
+  low prio; --read-var-info=yes problem; OP queried
+
+289578  Backtraces with unwind tables (=without debug symbols)
+        using offline symbol resolving
+  wishlist
+
+289836  Unhanded instructions mfatbu and mfatbl
+  ppc e500 insns
+
+289912  link_tool_exe_darwin should not use relative paths
+  unsupported build configuration; low prio
+
+290061  pie elf always loaded at 0x108000
+  w/ patch; looks OK; easy fix ?
+  not sure this wouldn't break something else -- needs looking into
+
+290066  Warning messages from libraries with Valgrind 3.7.0
+  ppc elfery wierdness
+  **revisit -- related to some other bug re ELF problems (296318)?
+
+290384  Valgrind does not show line numbers
+  on 32 bit FC16
+  **uninvestigated
+
+290673  wine+valgrind: failed to start tool 'memcheck' for platform
+        'x86-linux': No such  file or directory
+  **probably invalid; build config problem?
+
+291924  vex x86->IR: unhandled instruction bytes: 0x66 0xF 0x38 0x31
+  invalid (SSE4) (WONTFIX)
+
+292281  Not supported LL cache size of AMD Opteron 6176
+  hmm, more cache size kludgery required
+  **need access to the machine to fix
+
+293855  vex amd64->IR: 0x2F 0x55 0x73 0x65 0x72 0x73 0x2F 0x6A
+  some problem with interceptors on Helgrind/OSX 
+
+294065  valgrind running wine does not find pdb file because of wrong
+        path to egrep
+  w/ somewhat dodgy patch
+
+294147  Exception in thread "main" java
+  probably invalid
+  not sure what is going on here
+
+294285  --partial-loads-ok does not work for 16-byte SSE loads
+  true
+
+294454  delphi uses 16-bit addressing in the TEB (%fs)
+  obscure (16 bit (0x67 ?) insns in 32 bit mode)
+
+294861  ./configure fails to locate Boost (located in /usr/local)
+  low prio
+
+295084  Hard-coded /usr/include
+  OSX, XCode 4.3 problem
+
+251569  rdtscp not supported: vex amd64->IR: 0xF 0x1 0xF9 0x8B 0x4C 0x24
+  has doesn't-really-look-right patch 
+
+295403  Memory access below SP with some STRD instructions.
+  ARM, fiddly to fix/verify
+
+295472 "executable has wrong endian-ness" when target executable has
+  correct endianess
+  cross-compiling x86->ppc32 weirdness
+
+295514  unhandled instruction bytes : 0x66 0x9C (pushfw on x86_64)
+  not high prio
+  **possible 3.8.0 (easy to fix?)
+
+295808  vex amd64->IR: 0xF3 0xF 0xBC 0xC0 0x48 0x1 0xD0 0x48 (TZCNT)
+  **possible 3.8.0 ? see also 301011 (32 bit)
+
+295974  vex-x86 omits some SSE4.1 opcodes such as PEXTRD
+  **check before 3.8.0; maybe some 64-bit insns missing?  OP queried
+
+296166  Add support for ARM in ptrcheck
+  **no patch yet
+
+296308  helgrind tests fail on Linux/x86 due to clone syscall
+  missing unwind info
+  **possible 3.8.0; has low risk patch
+
+296311  Wrong stack traces due to -fomit-frame-pointer (x86)
+  **not sure what to do about this.  Is it serious?
+
+296480  valgrind hangs early when run on Python
+  OSX.  Not started.  Queried.
+  (might be == 301281, 284004, but not sure)
+
+296577  vex x86->IR: 0x66 0xF 0x3A 0x17
+  **wontfix (AES on 32-bit)
+
+296578  vex amd64->IR: 0x60 0x0 0x0 0x0 0x0 0x0 0x0 0x0
+  **no idea what this is
+
+296947  vex amd64->IR: 0x1F 0x7 0x0 0x0 0x0 0x0
+  probably invalid
+
+297407  Failed reading debug information for Fortran codes; invalid cuOff
+  Tromey made a patch for this.  Dunno if it should land.  Queried.
+
+298097  on ppc32 (e500mc core) target, valgrind report a app a
+        mem error but the app is good to me.
+  probably closable (may be dup of 296318)
+
+298546  wishlist: track virtual memory leaks due to mmap without munmap
+  wishlist
+
+298905  argv / argc to be changed to non valgrind values.
+  wishlist
+
+300102  memcheck tester
+  unclear what status is
+
+301011  vex x86->IR: 0xF3 0xF 0xBC 0xDE (TZCNT)
+  **possible 3.8.0; see also 295808 (64 bit)
+
+301269  optimize Memcheck to use light tracking for trusted code
+  too big a change for 3.8.0; + in development still
+
+301336  Valgrind vassert(0) in dis_neon_data_2reg_misc()
+  **possible 3.8.0.  OP queried; is this the same as 287175 ?
+
+301830  mtV: improve Valgrind so that it runs multiple threads in parallel
+  not 3.8.0 (alas)
+
+301922  gcc -O2 problem with SSE optimization?
+  invalid (versioning problem) .. should close
+
+301967  vex x86->IR: 0xC5 0xF9 0x6E 0x40 (AVX in 32-bit mode)
+  probable wontfix
+
+302234  fesetround() function does not affect FPU calculations
+  x86 rounding; dup of 136779 (which has a patch!)
+
+302271  Bug with Callgrind dump-instr and Trace-children
+  unclear what status is; queried JosefW
+
+302630  Memcheck on multithreaded program fails with Assertion
+        'sizeof(UWord) == sizeof(UInt)' failed in m_syscall.c
+  configuration error, very weird
+
+303460  Killed by fatal signal at doRegisterAllocation
+  queried OP (gentoo weirdness)
+
+-- Tues 17 July 2012 11am
+
+(transitioned to 3_8_BUGSTATUS after this point)
diff --git a/docs/internals/3_8_BUGSTATUS.txt b/docs/internals/3_8_BUGSTATUS.txt
new file mode 100644
index 0000000..66a6913
--- /dev/null
+++ b/docs/internals/3_8_BUGSTATUS.txt
@@ -0,0 +1,398 @@
+
+Bugs reported after the release of 3.8.0
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This file lists bugs that were reported after 3.8.0 was released, both
+in 3.8.0 and trunk, and that have not been closed.  Bugs that have
+been closed as "fixed" are listed in the top level NEWS file instead.
+In other words they get listed here first and moved to NEWS if they
+get fixed.
+
+This file also tracks commits & fixes that should be pushed to the 3.8
+branch.
+
+-- PUSH TO 3_8_BRANCH
+
+(B38=2500)  2469   Fix a mixup ..
+(B38=12930) 12873  n-i-bz: Use -s USR1 instead of -10 to send SIGUSR1 signal
+(B38=12931) 12874  n-i-bz: shmat of a segment > 4Gb does not work
+(B38=12933) 12878  n-i-bz: On Darwin, use __NR_poll_nocancel rather than __NR_poll
+(B38=12934) 12879 + 12882 + 12883 (301281, OSX hang on "system")
+(B38=12936) 12881  ptrace mips stuff
+(B38=12938) 12885  (Iop_DPBtoBCD and Iop_BCDtoDPB fix)
+(B38=2502)  2475   (289584: Handle a reg-reg encoding of MOVAPS)
+(B38=2503)  2476   (305042: Implement 0F 7F encoding of movq reg-reg)
+(B38=12940) 12887  (n-i-bz: libmpiwrap.c fixes)
+(B38=2504)  2477   (305321: Re-enable 'prefetch m8' and 'prefetchw m8')
+(B38=2505)  2478   (295808: Fix LZCNT and TZCNT properly)
+(B38=2506)  2479   (305199: Implement QDADD and QDSUB)
+(B38=2507)  2480   (304867: Implement MOVBE in 32 bit mode)
+(B38=12941) 12891  (304980: Fix up range checking in ML_(addLineInfo))
+(B38=12942) 12892  (305513: Fix skipping of block forms)
+(B38=12943) 12893  (298281: Implement a wrapper for wcslen on Linux)
+(B38=12944) 12894  (n-i-bz, exp-sgcheck memcpy)
+(B38=12945) 12897/8 (305690: Handle non-zero sem_*wait() return values correctly)
+(B38=2508)  2499   (305926: Invalid alignment checks for some AVX instructions)
+(B38=12946) 12923  (304980: Guard against negative symbol sizes)
+(B38=12948) 12947  (n-i-bz: volatile in stack check, re clang)
+(B38=12984) 12964  (306310  3.8.0 release tarball missing some files)
+(B38=2534)  2517/8 (n-i-bz: fix a couple of union tag-vs-field mixups)
+(B38=2535)  2531   (306297: ARM: STM<c>.W <Rn>{!}, <registers> too strict)
+(B38=2536)  2532   (306664: AMD64: Fix PCMPxSTRx variant $0x46)
+(B38=12985) 12982  (306612: Intercept __GI_memmove)
+(B38=2537,12986)
+            2533,12980
+                   (304035: ARM: uqsub16 shadd16 uhsub8 uhsub16)
+
+-------- Bugs brought forward from 3_7_BUGSTATUS.txt --------
+
+291310  FXSAVE instruction marks memory as undefined on amd64
+  x86 vs amd64 inconsistency?
+  **is fixed in 3.8.0, but was not marked as such
+  ** no it's not; v38BRANCH shows error, vTRUNK doesn't -- investigate
+  REOP
+
+303536  ioctl for SIOCETHTOOL (ethtool(8)) isn't wrapped (w/ patch)
+  SYSCALL, HAS_PATCH
+
+-------- Unfixed in 3.8.0
+
+303741  sockaddr* parameter of recvfrom not handled correctly
+        (corruption not detected later on)
+  SYSCALL, HAS_TESTCASE
+
+303877  valgrind doesn't support compressed debuginfo sections.
+  QUERIED
+
+304259  support Darwin 12 (Mac OS 10.8, Mountain Lion)
+  OSX108 (Canonical)
+
+304321  m_signals.c:2314 (sync_signalhandler_from_kernel):
+        Assertion 'tid != 0' failed
+  CLOSED as UNMAINTAINED.
+
+304450  time logging tools ?
+  WISHLIST
+
+304675  make install-strip fails when cross-compiling
+  w/ one-liner patch; but needs checking (should be more general?
+  assumes auto* version?)
+
+304676  regtest hangs on mac OS X (mchelp, coolo_sigaction, system)
+  probably related to 301281 et al.  Still valid.
+  OSX
+
+305170  linux: add FIOCLEX and FIONCLEX ioctls
+  SYSCALL.  w/ patch, looks pretty harmless
+
+n-i-bz  exp-sgcheck asserts on gcc-4.6.2 generated Dwarf3
+
+305957  m_debuginfo/d3basics.c:965 (vgModuleLocal_evaluate_GX):
+        Assertion 'aMin == (Addr)0' failed.
+        QUERIED -- no info so far -- close?
+
+306004  Wishlist: port valgrind to sparc
+   WISHLIST
+
+-- Sat 1 Sept 2012 10pm
+
+306171  Boost.Context appears to cause Valgrind to crash
+   Stack switching; should fix.  (Conservative unwind?)
+
+306235  unhandled syscall: 429 (freebsd)
+   Need to forward to FreeBSD port maintainers.
+
+306299  Internal error when running a winelib application
+   Conservative unwind?
+
+306340  parse_var_DIE confused by DWARF from clang-3.1
+   Might be quite simple to fix; need to investigate.
+   No action so far
+
+306535  massif: force dump result every X minutes
+   Queried
+
+306587  data cache line size is 128 and instruction cache line size is 32
+   PPC; obscure, needs investigatoin
+
+306590  not support e500v2 spe 0x216 command
+   PPC SPE insns; with plausible looking patch?  Need test cases, and
+   cc Mehafy.
+
+286864 strlen function redirection error
+   Gentoo glibc "miscompilation"; is this important?
+
+-- Mon 17 Sept 2012, 10 am
+
+valgrind.spec diff at https://bugzilla.mozilla.org/show_bug.cgi?id=750856#c20
+r13008 to 382 ?  check
+change of leak-check-counting?  307465
+gkw extra suppression?
+gcp libnss3.so debuginfo read hang
+
+164485  VG_N_SEGNAMES and VG_N_SEGMENTS are (still) too small
+        == https://bugzilla.redhat.com/show_bug.cgi?id=730303
+        FIX THIS **PRIO
+
+306947  s390x: BFP rounding mode improvements
+        Proposal, no action
+
+306949  s390x: BFP condition code improvements
+        Proposal, no action
+
+211352  helgrind races in helgrind's own mythread_wrapper
+        NEEDINFO
+
+307113  s390x: DFP support
+        Huge; in progress.  Queried as to status.
+
+307367  amd64->IR: 0xF2 0x48 0xF 0x5F 0x3E 0xF2 0x48 0xF
+        redundant-REX, should be easy to fix
+
+307399  amd64->IR: 0xC4 0x62 0x55 0x2E 0x18 0x44 0x39 0x87
+        (vmaskmovps %ymm11,%ymm5,(%rax))
+        CONDITIONAL STORES
+
+307415  3.8.1 build error - OSX Lion 10.7.4 duplicate symbol
+        _mach_make_memory_entry
+        OSX or XCode 4.5
+
+307500  Valgrind docs have two <title> tags
+        QUERIED (unclear how to fix)
+
+307555  The impossible happened! (OSX 10.8.1 V segfault)
+        Probably invalid
+
+307557  Leaks on Mac OS X 10.7.5 libraries at 
+        ImageLoader::recursiveInitialization
+        SHOULD FIX (simple extra supp)
+
+307612  SIGILL while profiling a program compiled using g++ 4.6.3
+        and march=native flag on Intel(R) Core(TM) i7-2670QM CPU @ 2.20GHz
+        INVALID (AVX on 3.7.0)
+
+308027  Warning: negative range in .debug_loc section
+        QUERIED -- not sure this needs fixing or not
+
+308135  PPC32 MPC8xx has 16 bytes cache size
+        HAS_PATCH -- should take this
+
+79362   Debug info is lost for .so files when they are dlclose'd
+        Still alive!
+
+308158  running with --leack-check=full makes valgrind exit
+        FreeBSD -- although FreeBSD maintainers may not be aware
+
+------ Thu Oct 11 18:51:26 CEST 2012
+
+289578  Backtraces with ARM unwind tables (=without debug symbols) and
+        support for offline symbol resolving
+        Has patch for command line enabling of stack-scan -- COMMIT
+
+197915  80-bit floats are not supported on x86 and x86-64
+        indeed, yes.
+
+299316  Helgrind: hg_main.c:628 (map_threads_lookup): Assertion 'thr'
+        failed.
+        OSX Helgrind
+
+308582  massif: wrong stack usage at exit of threaded program
+        No action so far
+
+308668  pthread rwlock_rdlock doesn't understand modifications in
+        some cases (Helgrind)
+        No action so far
+
+308729  vex x86->IR: unhandled instruction bytes 0xf 0x5
+        HAS_PATCH, but NEEDINFO
+
+212419  false positive "lock order violated" (A+B vs A)
+        INVALID
+        related: 243232 Inconsistent Lock Orderings report with trylock
+
+237920  valgrind segfault on fork failure
+        Uninvestigated
+
+308816  valgrind GPF in signal handler context 3.8.1 (allignment 
+        Needs investigation
+
+308930  syscall name_to_handle_at (303 on amd64) not handled
+        HAS_PATCH, needs looking at
+
+308977  specify Install Directory for my target platform.
+        Wishlist
+
+309100  s390x: Testcases for extended BFP
+        No action so far
+
+309323  print unrecognized instuction on MIPS
+        No action so far
+
+309430  Self hosting ppc64 encounters a vassert error on operand type
+        No action so far.  Sounds a bit strange.
+
+309554  Unhandled syscall remap_file_pages (216)
+        No action so far
+
+309721  add client request returning current value of a statistic (e.g. Ir)
+        No action yet (wishlist?)
+
+309783  Valgrind does not support separate source and build directories
+        Has patch, but needs further checking
+
+309823  Generate errors for still reachable blocks
+        May be closable -- queried Philippe
+
+309827  add support for nvidia (nvmem) ioctls
+        A bunch of Android hackery from VladV; needs pulling apart
+
+309831  3.8.1: disInstr(arm): unhandled instruction: 0xECECA102
+        (stcl, gdb disassembles to stfp) .. IWMMXT
+        ==309604
+
+310188  need better diagnostic when mmap() fails with EINVAL
+        No patch so far
+
+310692  [coregrind] Thread scheduling regression?
+        Spinlockery
+
+311093  massif and memcheck fail to redirect malloc calls on
+        statically linked application
+        Unclear what's going on
+
+-- Wed Dec  5 23:41:20 CET 2012
+
+311544  sys_fork() calls VG_(do_atfork_pre)() AFTER forking()
+        No action; needs checking
+
+311607  Unable to run matlab R2010a/R2012b (with JVM) under valgrind
+        OLD (V 3.5); NEEDINFO
+
+311649  exhausting fds can leak created files
+        Probably true; NEEDINFO
+
+311655  --log-file=FILE leads to apparent fd leak ("Open file
+        descriptor 3: $LOGFILE")
+        Probably true; should fix.
+
+311827  OS X 10.8.2 (eq_SyscallStatus): the 'impossible' happened.
+        OSX108 problems
+
+311922  WARNING: unhandled syscall: 170
+        Syscall; no action yet.  Might be easy to fix.
+
+312989  ioctl handling needs to do POST handling on generic ioctls and
+        needs to handle BPF ioctls
+        HAS_PATCH OSX10
+
+313275  False positives for shared memory semaphores/mutexes/conditions
+        No action so far.  Has testcase patches.
+
+313276  helgrind does not recognize shared memory initialized
+        semaphores, mutexes, conditions
+        == 313275, pretty much
+
+313875  cr_libinit.c:183 cri_init: sigaction() failed: Invalid argument
+        No action so far
+
+** [Bug 291310] FXSAVE instruction marks memory as undefined on amd64
+        REOP
+
+314101  Valgrind (ARM) - disInstr(thumb): unhandled instruction: 0xDF01 0x4770
+        NEEDINFO (possibly invalid)
+
+314236  OS X 10.8 testsuite build failure: test million.o
+        OSX108  No action so far.
+
+314365  enable VEX to run asm helpers that do callee register saving
+        In progress; not sure whether this is a good idea
+
+315199  vgcore file for threaded app does not show which thread crashed
+        HAS_PATCH; needs review
+
+315828  massif "internal error" vgPlain_arena_free when RPATH includes
+        /usr/local/lib
+        WONTFIX
+
+-- Thu Feb 28 09:54:56 CET 2013
+
+315919  vangrind hangs while trying to perform a write()
+        Probably invalid (strange interaction with -pg ?)
+
+315936  UNKNOWN task message [id 3403, to mach_task_self(), reply
+        0x2603] when running fork()ing tests on Mac OS X
+
+315952  tun/tap ioctls are not supported
+
+316034  Building valgrind with gcc (4.7, trunk) fails on MacOS X 10.8
+
+-- Mon Mar  4 11:36:17 CET 2013
+
+!! 294285 LoPresti 16-byte helper returns
+
+316382  Support for AMDs FMA4 instructions seem to be missing
+        No action so far
+
+316528  Dump for cachegrind
+        Wishlist
+
+316612  A -Wunused-value warning from Clang when including memcheck.h
+        Probably needs doc update
+
+316613  valgrind seg-faults in get_StackTrace_wrk under 32-bit
+        x86 app using makecontext
+        WONTFIX (is that the correct resolution?)
+
+316696  fluidanimate program of parsec 2.1 stuck (do not finish
+        for more than 5 hours)
+        No action so far (DRD specific)
+
+316761  syscall open_by_handle_at (304 on amd64, 342 on x86) not handled
+        Has patch; looks plausible; no action so far
+
+316874  amd64->IR: 0xC4 0xE2 0xF8 0xF2 0x85 0x30 0xFF 0xFF
+        Probably some AMD FMA insn?
+        QUERIED
+
+316903  memcheck/tests/origin5-bz2 FAIL with gcc-4.5+
+        Possibly a real bug
+
+317078  _mm_madd_epi16, undefined * 0 should not give uninitialised result
+        True, but probably difficult to fix without perf hit
+
+317127  Fedora18/x86_64 --sanity-level=3 : aspacem segment mismatch
+        Diagnosed (BTRFS specific); unclear what to do, if anything
+
+317208  vex x86->IR: unhandled instruction bytes: 0xC8 0x0 0x0 0x0
+        "enter $0,$0" created by D language compiler
+
+317311  Helgrind shouldn't report errors for memories allocated
+        inside pthread/mutex methods
+        FreeBSD+Helgrind weirdness
+
+317381  helgrind warns about xchg vs suppressed store
+        No action so far.  Not sure there's an easy fix for this.
+
+317390  Patch for FBLD/FBSTP/FTST
+        Needs cleanup+test cases.  Queried.
+
+317441  Add support for AMD's LWP (LightWeight Profiling) architecture
+        extension
+        Contains plausible infrastructure patch; no insns so far tho
+
+317698  parse_var_DIE: confused by: DW_TAG_compile_unit using
+        Intel 13.0 update 3 compiler
+        Reporter has queried Intel since this might be an ICC bug
+
+317893  massif terminates without any message
+        Probably just a memory limit thing.  Close as a dup, but
+        of what?
+
+318030  addHRegUse takes a lot of CPU time; band-aid speedup
+        patch within
+        No action so far
+
+318050  libmpiwrap fails to compile with out-of-source build
+        Has simple-sounding fix; should commit.
+
+Thu Apr 11 18:16:04 CEST 2013
diff --git a/docs/internals/avx-notes.txt b/docs/internals/avx-notes.txt
new file mode 100644
index 0000000..dc9f28b
--- /dev/null
+++ b/docs/internals/avx-notes.txt
@@ -0,0 +1,23 @@
+
+Cleanups
+~~~~~~~~
+
+* Important: iropt: Make sure XorV128 and XorV256 of identical
+  args gets folded to zero
+
+* add more iteration in test cases
+
+* math_UNPCKxPS_128: use xIsH ? InterleaveHI32x4 : InterleaveLO32x
+  I think this is safe w.r.t. the backend
+
+* math_UNPCKxPD_128: ditto
+
+* math_UNPCKxPD_256: split into 128 bit chunks and use math_UNPCKxPD_128
+
+
+Known limitations
+~~~~~~~~~~~~~~~~~
+
+* for many (all?) of the vector shift-by-imm cases (pre-existing as
+  well as AVX), out of range shifts are not handled properly and only
+  work I think because the host happens to have the same semantics.
diff --git a/docs/internals/register-uses.txt b/docs/internals/register-uses.txt
index f1df5a8..16f7e60 100644
--- a/docs/internals/register-uses.txt
+++ b/docs/internals/register-uses.txt
@@ -23,11 +23,11 @@
 st0        n ?         n        fp retreg            y
 st1-7      n ?         n                             y
 xmm0-7     n ?         n                             y
+gs                              Thread ptr
 
 In the case where arguments are passed in registers, the arg1,2,3
 registers are EAX, EDX, and ECX respectively.
 
-
 amd64-linux
 ~~~~~~~~~~~
 
@@ -53,7 +53,7 @@
 xmm1       n           fp#2     fp-high retreg
 xmm2-7     n           fp#3-8                        y (3-7)
 xmm8-15    n                                         y (8-12)
-
+fs                              thread ptr
 
 ppc32-linux
 ~~~~~~~~~~~
@@ -63,7 +63,7 @@
 -------------------------------------------------------------------
 r0         n           n        sometimes RAZ
 r1         y           n        stack pointer
-r2         n           n
+r2         n           n        thread ptr
 r3         n           int#1    int[31:0] retreg     y
 r4         n           int#2    also int retreg      y
 r5         n           int#3                         y
@@ -95,6 +95,10 @@
 
 ppc64-linux
 ~~~~~~~~~~~
+Reg        Callee      Arg    
+Name       Saves?      Reg?     Comment              Vex-uses?
+-------------------------------------------------------------------
+r13        n           n        thread ptr
 TBD
 
 
@@ -120,6 +124,7 @@
 r13(sp)                                              unavail
 r14(lr)                                              unavail
 r15(pc)                                              unavail
+cp15/c3/r2                  thread ptr (see libvex_guest_arm.h, guest_TPIDRURO)
 
 VFP: d8-d15 are callee-saved
 r12 (IP) is probably available for use as a caller-saved
@@ -156,6 +161,8 @@
 f1-f7      n                                         avail
 f8-f11     y                                         avail
 f12-f15    y                    see below            avail
+a0         n                    thread ptr high word
+a1         n                    thread ptr low word
 
 When r0 is used as a base or index register its contents is
 ignored and the value 0 is used instead. This is the reason
@@ -164,7 +171,6 @@
 r10, r11 as well as f12-f15 are used as real regs during insn
 selection when register pairs are required.
 
-
 ppc32-aix5
 ~~~~~~~~~~
 
diff --git a/docs/internals/release-HOWTO.txt b/docs/internals/release-HOWTO.txt
index bba60fe..430ec67 100644
--- a/docs/internals/release-HOWTO.txt
+++ b/docs/internals/release-HOWTO.txt
@@ -40,6 +40,10 @@
   this is not a very scientific or robust way to collect up all
   bugs fixed since last time.
 
+  Suggestion for next release: when a bug is fixed, update NEWS
+  directly => less chance to forget, and NEWS always up to date
+  in SVN.
+
 - Other files that might need updating:  README, README_DEVELOPERS,
   README_PACKAGERS.
 
@@ -56,6 +60,7 @@
 - Do pre-release testing:
 
   * Check it builds and regtests on a vanilla gcc-2.96 / RedHat 7.3 distro.
+  ??? is this really still up to date ???
 
   * Check standard build and regtest on the following cpus:
        x86, sse2 (P4)
@@ -65,8 +70,12 @@
        ppc32, altivec
        ppc32, no altivec (eg old iMac G3s)
 
-  * Check that the regression tests work with --sanity-level=4 on all
-    platforms.
+  * Check that the regression tests work on all platforms with more self checks:
+     export EXTRA_REGTEST_OPTS="--sanity-level=4 --helgrind:hg-sanity-flags=011111"
+     make regtest
+
+  * check there are no memleaks or similar bugs by running all regtests
+    in an outer/inner setup (see README_DEVELOPERS).
 
   * Check valgrind-listener works on all archs, also connecting to it
     from all archs.
@@ -83,6 +92,11 @@
   * Run regression tests from gsl-1.6 on all platforms.  This is a good,
     thorough test of FP.  Easy, using the scripts auxprogs/gsl16test.
 
+  * s390x: Run regression tests on a z900 machine. That is the oldest
+    supported model and there is no nightly build for it.
+
+  * s390x: Ensure README.s390 is up-to-date and URLs therein are not stale.
+
 - Change release number in AC_INIT() in configure.in to "X.Y.Z-rcN", where
   'N' is the release candidate number.
 
diff --git a/docs/internals/s390-opcodes.csv b/docs/internals/s390-opcodes.csv
index 00c93ed..d253da1 100644
--- a/docs/internals/s390-opcodes.csv
+++ b/docs/internals/s390-opcodes.csv
@@ -1,18 +1,18 @@
 a,add,implemented,
-ad,"add normalized (long)","not implemented",
-adr,"add normalized (long)","not implemented",
-ae,"add normalized (short)","not implemented",
-aer,"add normalized (short)","not implemented",
+ad,"add normalized (long)","won't do","hfp instruction"
+adr,"add normalized (long)","won't do","hfp instruction"
+ae,"add normalized (short)","won't do","hfp instruction"
+aer,"add normalized (short)","won't do","hfp instruction"
 ah,"add halfword",implemented,
 al,"add logical",implemented,
 alr,"add logical",implemented,
 ap,"add decimal","not implemented",
 ar,add,implemented,
-au,"add unnormalized (short)","not implemented",
-aur,"add unnormalized (short)","not implemented",
-aw,"add unnormalized (long)","not implemented",
-awr,"add unnormalized (long)","not implemented",
-axr,"add normalized","not implemented",
+au,"add unnormalized (short)","won't do","hfp instruction"
+aur,"add unnormalized (short)","won't do","hfp instruction"
+aw,"add unnormalized (long)","won't do","hfp instruction"
+awr,"add unnormalized (long)","won't do","hfp instruction"
+axr,"add normalized","won't do","hfp instruction"
 bakr,"branch and stack","not implemented",
 bal,"branch and link","not implemented",
 balr,"branch and link","not implemented",
@@ -28,11 +28,11 @@
 bxh,"branch on index high",implemented,
 bxle,"branch on index low or equal",implemented,
 c,compare,implemented,
-cd,"compare (long)","not implemented",
-cdr,"compare (long)","not implemented",
-cds,"compare double and swap","not implemented","open bugzilla"
-ce,"compare (short)","not implemented",
-cer,"compare (short)","not implemented",
+cd,"compare (long)","won't do","hfp instruction"
+cdr,"compare (long)","won't do","hfp instruction"
+cds,"compare double and swap",implemented,
+ce,"compare (short)","won't do","hfp instruction"
+cer,"compare (short)","won't do","hfp instruction"
 cfc,"compare and form codeword","not implemented",
 ch,"compare halfword",implemented,
 cl,"compare logical",implemented,
@@ -51,27 +51,30 @@
 csp,"compare and swap and purge",N/A,"privileged instruction"
 cvb,"convert to binary",implemented,
 cvd,"convert to decimal",implemented,
+cxr,"compare extended hfp","won't do","hfp instruction"
 d,divide,implemented,
-dd,"divide (long)","not implemented",
-ddr,"divide (long)","not implemented",
-de,"divide (short)","not implemented",
-der,"divide (short)","not implemented",
+dd,"divide (long)","won't do","hfp instruction"
+ddr,"divide (long)","won't do","hfp instruction"
+de,"divide (short)","won't do","hfp instruction"
+der,"divide (short)","won't do","hfp instruction"
 diag,diagnose,N/A,"privileged instruction"
 dp,"divide decimal","not implemented",
 dr,divide,implemented,
-dxr,"divide (ext.)","not implemented",
+dxr,"divide (ext.)","won't do","hfp instruction"
 ear,"extract access",implemented,
 ed,edit,"not implemented",
 edmk,"edit and mark","not implemented",
-epar,"extract primary ASN","not implemented",
+epar,"extract primary ASN",N/A,"privileged instruction"
+epair,"extract primary ASN and instance",N/A,"privileged instruction"
 ereg,"extract stacked registers","not implemented",
-esar,"extract secondary ASN",N/A,"privileged instruction"
+esar,"extract secondary ASN",N/A,"privileged instruction",
+esair,"extract secondary ASN and instance,N/A,"privileged instruction",
 esta,"extract stacked state","not implemented",
 ex,execute,implemented,
-hdr,"halve (long)","not implemented",
-her,"halve (short)","not implemented",
+hdr,"halve (long)","won't do","hfp instruction"
+her,"halve (short)","won't do","hfp instruction"
 hsch,"halt subchannel",N/A,"privileged instruction"
-iac,"insert address space control","not implemented",
+iac,"insert address space control",N/A,"privileged instruction"
 ic,"insert character",implemented,
 icm,"insert characters under mask",implemented,
 ipk,"insert PSW key",N/A,"privileged instruction"
@@ -84,8 +87,8 @@
 lae,"load address extended",implemented,
 lam,"load access multiple",implemented,
 lasp,"load address space parameters",N/A,"privileged instruction"
-lcdr,"load complement (long)","not implemented",
-lcer,"load complement (short)","not implemented",
+lcdr,"load complement (long)","won't do","hfp instruction"
+lcer,"load complement (short)","won't do","hfp instruction"
 lcr,"load complement",implemented,
 lctl,"load control",N/A,"privileged instruction"
 ld,"load (long)",implemented,
@@ -94,31 +97,27 @@
 ler,"load (short)",implemented,
 lh,"load halfword",implemented,
 lm,"load multiple",implemented,
-lndr,"load negative (long)","not implemented",
-lner,"load negative (short)","not implemented",
+lndr,"load negative (long)","won't do","hfp instruction"
+lner,"load negative (short)","won't do","hfp instruction"
 lnr,"load negative",implemented,
-lpdr,"load positive (long)","not implemented",
-lper,"load positive (short)","not implemented",
+lpdr,"load positive (long)","won't do","hfp instruction"
+lper,"load positive (short)","won't do","hfp instruction"
 lpr,"load positive",implemented,
 lpsw,"load PSW",N/A,"privileged instruction"
 lr,load,implemented,
 lra,"load real address",N/A,"privileged instruction"
-ldxr,"load rounded (ext. to long)","not implemented",
-lrdr,"load rounded (ext. to long)","not implemented",
-ledr,"load rounded (long to short)","not implemented",
-lrer,"load rounded (long to short)","not implemented",
-ltdr,"load and test (long)","not implemented",
-lter,"load and test (short)","not implemented",
+ldxr,"load rounded (ext. to long)","won't do","hfp instruction"
+ledr,"load rounded (long to short)","won't do","hfp instruction"
+ltdr,"load and test (long)","won't do","hfp instruction"
+lter,"load and test (short)","won't do","hfp instruction"
 ltr,"load and test",implemented,
 lura,"load using real address",N/A,"privileged instruction"
 m,multiply,implemented,
 mc,"monitor call","not implemented",
-md,"multiply (long)","not implemented",
-mdr,"multiply (long)","not implemented",
-mde,"multiply (short to long)","not implemented",
-me,"multiply (short to long)","not implemented",
+md,"multiply (long)","won't do","hfp instruction"
+mdr,"multiply (long)","won't do","hfp instruction"
+mde,"multiply (short to long)","won't do","hfp instruction"
 mder,"multiply short to long hfp","won't do","hfp instruction"
-mer,"multiply (short to long)","not implemented",
 mh,"multiply halfword",implemented,
 mp,"multiply decimal","not implemented",
 mr,multiply,implemented,
@@ -138,9 +137,9 @@
 mvpg,"move page",N/A,"privileged instruction"
 mvst,"move string",implemented,
 mvz,"move zones","not implemented",
-mxd,"multiply (long to ext.)","not implemented",
-mxdr,"multiply (long to ext.)","not implemented",
-mxr,"multiply (ext.)","not implemented",
+mxd,"multiply (long to ext.)","won't do","hfp instruction"
+mxdr,"multiply (long to ext.)","won't do","hfp instruction"
+mxr,"multiply (ext.)","won't do","hfp instruction"
 n,AND,implemented,
 nc,AND,implemented,
 ni,AND,implemented,
@@ -151,9 +150,10 @@
 or,OR,implemented,
 pack,pack,"not implemented",
 palb,"purge ALB",N/A,"privileged instruction"
-pc,"program call","not implemented",
+pc,"program call",N/A,"privileged instruction"
 pr,"program return","not implemented",
-pt,"program transfer","not implemented",
+pt,"program transfer",N/A,"privileged instruction",
+pti,"program transfer with instance",N/A,"privileged instruction",
 ptlb,"purge TLB",N/A,"privileged instruction"
 rchp,"reset channel path",N/A,"privileged instruction"
 rrbe,"reset reference bit extended",N/A,"privileged instruction"
@@ -166,10 +166,10 @@
 schm,"set channel monitor",N/A,"privileged instruction"
 sck,"set clock",N/A,"privileged instruction"
 sckc,"set clock comparator",N/A,"privileged instruction"
-sd,"subtract normalized (long)","not implemented",
-sdr,"subtract normalized (long)","not implemented",
-se,"subtract normalized (short)","not implemented",
-ser,"subtract normalized (short)","not implemented",
+sd,"subtract normalized (long)","won't do","hfp instruction"
+sdr,"subtract normalized (long)","won't do","hfp instruction"
+se,"subtract normalized (short)","won't do","hfp instruction"
+ser,"subtract normalized (short)","won't do","hfp instruction"
 sh,"subtract halfword",implemented,
 sie,"start interpretive execution","not implemented",
 sigp,"signal processor",N/A,"privileged instruction"
@@ -184,8 +184,8 @@
 spm,"set program mask","not implemented",
 spt,"set CPU timer",N/A,"privileged instruction"
 spx,"set prefix",N/A,"privileged instruction"
-sqdr,"square root (long)","not implemented",
-sqer,"square root (short)","not implemented",
+sqdr,"square root (long)","won't do","hfp instruction"
+sqer,"square root (short)","won't do","hfp instruction"
 sr,subtract,implemented,
 sra,"shift right single",implemented,
 srda,"shift right double (long)",implemented,
@@ -194,6 +194,7 @@
 srp,"shift and round decimal","not implemented",
 srst,"search string",implemented,
 ssar,"set secondary ASN","not implemented",
+ssair,"set secondary ASN with instance","not implemented",
 ssch,"start subchannel",N/A,"privileged instruction"
 sske,"set storage key extended",N/A,"privileged instruction"
 ssm,"set system mask",N/A,"privileged instruction"
@@ -218,12 +219,12 @@
 stpx,"store prefix",N/A,"privileged instruction"
 stsch,"store subchannel",N/A,"privileged instruction"
 stura,"store using real address",N/A,"privileged instruction"
-su,"subtract unnormalized (short)","not implemented",
-sur,"subtract unnormalized (short)","not implemented",
+su,"subtract unnormalized (short)","won't do","hfp instruction"
+sur,"subtract unnormalized (short)","won't do","hfp instruction"
 svc,"supervisor call",implemented,
-sw,"subtract unnormalized (long)","not implemented",
-swr,"subtract unnormalized (long)","not implemented",
-sxr,"subtract normalized (ext.)","not implemented",
+sw,"subtract unnormalized (long)","won't do","hfp instruction"
+swr,"subtract unnormalized (long)","won't do","hfp instruction"
+sxr,"subtract normalized (ext.)","won't do","hfp instruction"
 tar,"test access","not implemented",
 tb,"test block",N/A,"privileged instruction"
 tm,"test under mask",implemented,
@@ -345,8 +346,6 @@
 tcdb,"test data class long bfp",implemented,
 tceb,"test data class short bfp",implemented,
 siga,"signal adapter","not implemented",
-cuutf,"convert unicode to utf-8","not implemented",
-cutfu,"convert utf-8 to unicode","not implemented",
 plo,"perform locked operation","not implemented",
 bsa,"branch and set authority",N/A,"privileged instruction"
 rp,"resume program",N/A,"privileged instruction"
@@ -441,7 +440,7 @@
 stctg,"store control 64",N/A,"privileged instruction"
 lctlg,"load control 64",N/A,"privileged instruction"
 csg,"compare and swap 64",implemented,
-cdsg,"compare double and swap 64","not implemented","open bugzilla"
+cdsg,"compare double and swap 64",implemented,
 clmh,"compare logical characters under mask high",implemented,
 stcmh,"store characters under mask high",implemented,
 icmh,"insert characters under mask high",implemented,
@@ -534,7 +533,6 @@
 llgh,"load logical halfword",implemented,
 rllg,"rotate left single logical 64",implemented,
 rll,"rotate left single logical 32",implemented,
-cxr,"compare extended hfp","won't do","hfp instruction"
 cxfr,"convert from fixed 32 to extended hfp","won't do","hfp instruction"
 cdfr,"convert from fixed 32 to long hfp","won't do","hfp instruction"
 cefr,"convert from fixed 32 to short hfp","won't do","hfp instruction"
@@ -573,7 +571,7 @@
 ny,"and with long offset",implemented,
 cy,"compare with long offset",implemented,
 csy,"compare and swap with long offset",implemented,
-cdsy,"compare double and swap with long offset","not implemented","open bugzilla"
+cdsy,"compare double and swap with long offset",implemented,
 chy,"compare halfword with long offset",implemented,
 cly,"compare logical with long offset",implemented,
 cliy,"compare logical immediate with long offset",implemented,
@@ -623,6 +621,10 @@
 mse,"multiply and subttract short hfp","won't do","hfp instruction"
 km,"cipher message","not implemented",
 kmc,"cipher message with chaining","not implemented",
+kmf,"cipher message with CFB","not implemented",
+kmo,"cipher message with OFB","not implemented",
+kmctr,"cipher message with counter","not implemented",
+pcc,"perform cryptographic computation","not implemented",
 kimd,"compute intermediate message digest","not implemented",
 klmd,"compute last message digest","not implemented",
 kmac,"compute message authentication code","not implemented",
@@ -665,12 +667,12 @@
 stckf,"store clock fast",implemented,
 mvcos,"move with optional specifications",N/A,"privileged instruction"
 lptea,"load page-table-entry address",N/A,"privileged instruction"
-cu24,"convert utf-16 to utf-32","not implemented","open bugzilla"
-cu21,"convert utf-16 to utf-8","not implemented","open bugzilla"
-cu42,"convert utf-32 to utf-16","not implemented","open bugzilla"
-cu41,"convert utf-32 to utf-8","not implemented","open bugzilla"
-cu12,"convert utf-8 to utf-16","not implemented","open bugzilla"
-cu14,"convert utf-8 to utf-32","not implemented","open bugzilla"
+cu24,"convert utf-16 to utf-32",implemented,
+cu21,"convert utf-16 to utf-8",implemented,
+cu42,"convert utf-32 to utf-16",implemented,
+cu41,"convert utf-32 to utf-8",implemented,
+cu12,"convert utf-8 to utf-16",implemented,
+cu14,"convert utf-8 to utf-32",implemented,
 srstu,"search string unicode","not implemented",
 trtr,"tranlate and test reverse","not implemented",
 myr,"multiply unnormalized long hfp","won't do","hfp instruction"
@@ -723,7 +725,7 @@
 ltxtr,"load and test extended dfp","not implemented",
 fidtr,"load fp integer long dfp","not implemented",
 fixtr,"load fp integer extended dfp","not implemented",
-lfas,"load fpd and signal","not implemented",
+lfas,"load fpc and signal","not implemented",
 ldetr,"load lengthened long dfp","not implemented",
 lxdtr,"load lengthened extended dfp","not implemented",
 ledtr,"load rounded long dfp","not implemented",
@@ -796,7 +798,7 @@
 clgrt,"compare logical and trap (64)","not implemented",
 clfit,"compare logical and trap (32<16)","not implemented",
 clgit,"compare logical and trap (64<16)","not implemented",
-ecag,"extract cache attribute","not implemented","open bugzilla"
+ecag,"extract cache attribute",implemented,
 lrl,"load relative long (32)",implemented,
 lgrl,"load relative long (64)",implemented,
 lgfrl,"load relative long (64<32)",implemented,
@@ -824,7 +826,7 @@
 stgrl,"store relative long (64)",implemented,
 sthrl,"store halfword relative long",implemented,
 exrl,"execute relative long",implemented,
-ptf,"perform topology function","not implemented",
+ptf,"perform topology function",N/A,"privileged instruction"
 pfmf,"perform frame management function",N/A,"privileged instruction"
 trte,"translate and test extended","not implemented",
 trtre,"translate and test reverse extended","not implemented",
@@ -839,6 +841,7 @@
 scctr,"set cpu counter",N/A,"privileged instruction"
 spctr,"set peripheral counter",N/A,"privileged instruction"
 lpp,"load program parameter",N/A,"privileged instruction"
+pckmo,"perform cryptographic key management operation",N/A,"privileged instruction"
 ahhhr,"add high high",implemented,
 ahhlr,"add high low",implemented,
 aih,"add immediate high",implemented,
@@ -911,36 +914,36 @@
 slgrk,"subtract logical 3 operands 64 bit",implemented,
 popcnt,"population count","not implemented",
 rrbm,"reset reference bits multiple",N/A,"privileged instruction"
-cefbra,"convert from 32 bit fixed to short bfp with rounding mode","not implemented","new to z196"
-cdfbra,"convert from 32 bit fixed to long bfp with rounding mode","not implemented","new to z196"
-cxfbra,"convert from 32 bit fixed to extended bfp with rounding mode","not implemented","new to z196"
-cegbra,"convert from 64 bit fixed to short bfp with rounding mode","not implemented","new to z196"
-cdgbra,"convert from 64 bit fixed to long bfp with rounding mode","not implemented","new to z196"
-cxgbra,"convert from 64 bit fixed to extended bfp with rounding mode","not implemented","new to z196"
-celfbr,"convert from 32 bit logical fixed to short bfp with rounding mode","not implemented","open bugzilla"
-cdlfbr,"convert from 32 bit logical fixed to long bfp with rounding mode","not implemented","open bugzilla"
-cxlfbr,"convert from 32 bit logical fixed to extended bfp with rounding mode","not implemented","open bugzilla"
-celgbr,"convert from 64 bit logical fixed to short bfp with rounding mode","not implemented","open bugzilla"
-cdlgbr,"convert from 64 bit logical fixed to long bfp with rounding mode","not implemented","open bugzilla"
-cxlgbr,"convert from 64 bit logical fixed to extended bfp with rounding mode","not implemented","open bugzilla"
-cfebra,"convert to 32 bit fixed from short bfp with rounding mode","not implemented","new to z196"
-cfdbra,"convert to 32 bit fixed from long bfp with rounding mode","not implemented","new to z196"
-cfxbra,"convert to 32 bit fixed from extended bfp with rounding mode","not implemented","new to z196"
-cgebra,"convert to 64 bit fixed from short bfp with rounding mode","not implemented","new to z196"
-cgdbra,"convert to 64 bit fixed from long bfp with rounding mode","not implemented","new to z196"
-cgxbra,"convert to 64 bit fixed from extended bfp with rounding mode","not implemented","new to z196"
-clfebr,"convert to 32 bit fixed logical from short bfp with rounding mode","not implemented","open bugzilla"
-clfdbr,"convert to 32 bit fixed logical from long bfp with rounding mode","not implemented","open bugzilla"
-clfxbr,"convert to 32 bit fixed logical from extended bfp with rounding mode","not implemented","open bugzilla"
-clgebr,"convert to 64 bit fixed logical from short bfp with rounding mode","not implemented","open bugzilla"
-clgdbr,"convert to 64 bit fixed logical from long bfp with rounding mode","not implemented","open bugzilla"
-clgxbr,"convert to 64 bit fixed logical from extended bfp with rounding mode","not implemented","open bugzilla"
+cefbra,"convert from 32 bit fixed to short bfp with rounding mode",implemented,
+cdfbra,"convert from 32 bit fixed to long bfp with rounding mode",implemented,
+cxfbra,"convert from 32 bit fixed to extended bfp with rounding mode",implemented,
+cegbra,"convert from 64 bit fixed to short bfp with rounding mode",implemented,
+cdgbra,"convert from 64 bit fixed to long bfp with rounding mode",implemented,
+cxgbra,"convert from 64 bit fixed to extended bfp with rounding mode",implemented,
+celfbr,"convert from 32 bit logical fixed to short bfp with rounding mode",implemented,
+cdlfbr,"convert from 32 bit logical fixed to long bfp with rounding mode",implemented,
+cxlfbr,"convert from 32 bit logical fixed to extended bfp with rounding mode",implemented,
+celgbr,"convert from 64 bit logical fixed to short bfp with rounding mode",implemented,
+cdlgbr,"convert from 64 bit logical fixed to long bfp with rounding mode",implemented,
+cxlgbr,"convert from 64 bit logical fixed to extended bfp with rounding mode",implemented,
+cfebra,"convert to 32 bit fixed from short bfp with rounding mode",implemented,
+cfdbra,"convert to 32 bit fixed from long bfp with rounding mode",implemented,
+cfxbra,"convert to 32 bit fixed from extended bfp with rounding mode",implemented,
+cgebra,"convert to 64 bit fixed from short bfp with rounding mode",implemented,
+cgdbra,"convert to 64 bit fixed from long bfp with rounding mode",implemented,
+cgxbra,"convert to 64 bit fixed from extended bfp with rounding mode",implemented,
+clfebr,"convert to 32 bit fixed logical from short bfp with rounding mode",implemented,
+clfdbr,"convert to 32 bit fixed logical from long bfp with rounding mode",implemented,
+clfxbr,"convert to 32 bit fixed logical from extended bfp with rounding mode",implemented,
+clgebr,"convert to 64 bit fixed logical from short bfp with rounding mode",implemented,
+clgdbr,"convert to 64 bit fixed logical from long bfp with rounding mode",implemented,
+clgxbr,"convert to 64 bit fixed logical from extended bfp with rounding mode",implemented,
 fiebra,"load fp integer short bfp with rounding mode","not implemented","new to z196"
 fidbra,"load fp integer long bfp with rounding mode","not implemented","new to z196"
 fixbra,"load fp integer extended bfp with rounding mode","not implemented","new to z196"
-ledbra,"load rounded short/long bfp to short/long bfp with rounding mode","not implemented","new to z196"
-ldxbra,"load rounded long/extended bfp to long/extended bfp with rounding mode","not implemented","new to z196"
-lexbra,"load rounded short/extended bfp to short/extended bfp with rounding mode","not implemented","new to z196"
+ledbra,"load rounded short/long bfp to short/long bfp with rounding mode",implemented,
+ldxbra,"load rounded long/extended bfp to long/extended bfp with rounding mode",implemented,
+lexbra,"load rounded short/extended bfp to short/extended bfp with rounding mode",implemented,
 adtra,"add long dfp with rounding mode","not implemented","new to z196"
 axtra,"add extended dfp with rounding mode","not implemented","new to z196"
 cdgtra,"convert from fixed long dfp with rounding mode","not implemented","new to z196"
@@ -965,4 +968,27 @@
 mxtra,"multiply extended dfp with rounding mode","not implemented","new to z196"
 sdtra,"subtract long dfp with rounding mode","not implemented","new to z196"
 sxtra,"subtract extended dfp with rounding mode","not implemented","new to z196"
-srnmb,"set 3 bit bfp rounding mode","not implemented",
+srnmb,"set 3 bit bfp rounding mode",implemented,
+etnd,"extract transaction nesting depth","not implemented",zEC12,
+ntstg,"nontransactional store","not implemented",zEC12,
+tabort,"transaction abort","not implemented",zEC12,
+tbegin,"transaction begin","not implemented",zEC12,
+tbeginc,"constrained transaction begin","not implemented",zEC12,
+tend,"transaction end","not implemented",zEC12,
+bpp,"branch prediction preload","not implemented",zEC12,
+bprp,"branch prediction relative preload","not implemented",zEC12,
+ppa,"perform processor assist","not implemented",zEC12,
+niai,"next instruction access intent","not implemented",zEC12,
+crdte,"compare and replace DAT table entry",N/A,"privileged instruction"
+lat,"load and trap 32 bit","not implemented",zEC12,
+lgat,"load and trap 64 bit","not implemented",zEC12,
+lfhat,"load high and trap","not implemented",zEC12,
+llgfat,"load logical and trap 32>64","not implemented",zEC12,
+llgtat,"load logical thirty one bits and trap 31>64","not implemented",zEC12,
+clt,"compare logical and trap 32 bit reg-mem","not implemented",zEC12,
+clgt,"compare logical and trap 64 bit reg-mem","not implemented",zEC12,
+risbgn,"rotate then insert selected bits nocc","not implemented",zEC12,
+cdzt,"convert from zoned long","not implemented",zEC12,
+cxzt,"convert from zoned extended","not implemented",zEC12,
+czdt,"convert to zoned long","not implemented",zEC12,
+czxt,"convert to zoned extended","not implemented",zEC12,
diff --git a/docs/internals/t-chaining-notes.txt b/docs/internals/t-chaining-notes.txt
index ed1d5e3..e62240c 100644
--- a/docs/internals/t-chaining-notes.txt
+++ b/docs/internals/t-chaining-notes.txt
@@ -1,15 +1,8 @@
 
-DO NOT MERGE
-~~~~~~~~~~~~
-
-Changes memcheck/tests/Makefile.am w.r.t. -mfloat-abi=softfp
-Ditto none/tests/arm/Makefile.am
-
-
 Verification todo
 ~~~~~~~~~~~~~~~~~
 check that illegal insns on all targets don't cause the _toIR.c's to
-assert.
+assert.  [DONE: amd64 x86 ppc32 ppc64 arm s390]
 
 check also with --vex-guest-chase-cond=yes
 
@@ -17,7 +10,10 @@
 --vex-guest-max-insns=1.
 
 all targets: run some tests using --profile-flags=... to exercise  
-function patchProfInc_<arch>
+function patchProfInc_<arch> [DONE: amd64 x86 ppc32 ppc64 arm s390]
+
+figure out if there is a way to write a test program that checks
+that event checks are actually getting triggered
 
 
 Cleanups
@@ -32,23 +28,29 @@
 
 ditto ARM, Ld8S
 
-make sure IRStmt_Exit3 is completely gone.
-
-all backends: iselStmt(Ist_Exit) vs iselNext: make sure that the same
-JKs are handled, else it's not safe against branch sense switching
+Comments that used to be in m_scheduler.c:
+   tchaining tests:
+   - extensive spinrounds
+   - with sched quantum = 1  -- check that handle_noredir_jump
+     doesn't return with INNER_COUNTERZERO
+   other:
+   - out of date comment w.r.t. bit 0 set in libvex_trc_values.h
+   - can VG_TRC_BORING still happen?  if not, rm
+   - memory leaks in m_transtab (InEdgeArr/OutEdgeArr leaking?)
+   - move do_cacheflush out of m_transtab
+   - more economical unchaining when nuking an entire sector
+   - ditto w.r.t. cache flushes
+   - verify case of 2 paths from A to B
+   - check -- is IP_AT_SYSCALL still right?
 
 
 Optimisations
 ~~~~~~~~~~~~~
-all targets: change VG_(stats__n_xindirs) to a 32 bit counter, and
-empty out every now and again.  Ditto VG_(stats__n_xindir_misses).
-
-amd64: XDirect: write const value to guest_RIP using single
-insn when the value is < 0x8000'0000
-
-arm: chain_XDirect: generate short form jumps when possible
 ppc: chain_XDirect: generate short form jumps when possible
 
+ppc64: immediate generation is terrible .. should be able
+       to do better
+
 arm codegen: Generate ORRS for CmpwNEZ32(Or32(x,y))
 
 all targets: when nuking an entire sector, don't bother to undo the
diff --git a/docs/xml/FAQ.xml b/docs/xml/FAQ.xml
index e0e190b..08952cb 100644
--- a/docs/xml/FAQ.xml
+++ b/docs/xml/FAQ.xml
@@ -436,14 +436,25 @@
     the manual for more details.</para>
 
     <para>Second, if your program is statically linked, most Valgrind
-    tools won't work as well, because they won't be able to replace
-    certain functions, such as <function>malloc</function>, with their own
-    versions.  A key indicator of this is if Memcheck says:
+    tools will only work well if they are able to replace certain
+    functions, such as <function>malloc</function>, with their own
+    versions.  By default, statically linked <function>malloc
+    functions</function> are not replaced. A key indicator of this is
+    if Memcheck says:
 <programlisting>
 All heap blocks were freed -- no leaks are possible
 </programlisting>
     when you know your program calls <function>malloc</function>.  The
-    workaround is to avoid statically linking your program.</para>
+    workaround is to use the option 
+    <option>--soname-synonyms=somalloc=NONE</option>
+    or to avoid statically linking your program.</para>
+
+    <para>There will also be no replacement if you use an alternative 
+    <function>malloc library</function> such as tcmalloc, jemalloc,
+    ...  In such a case, the
+    option <option>--soname-synonyms=somalloc=zzzz</option> (where
+    zzzz is the soname of the alternative malloc library) will allow
+    Valgrind to replace the functions.</para>
   </answer>
 </qandaentry>
 
diff --git a/docs/xml/dist-docs.xml b/docs/xml/dist-docs.xml
index 68f8d9b..37b2ce3 100644
--- a/docs/xml/dist-docs.xml
+++ b/docs/xml/dist-docs.xml
@@ -35,7 +35,14 @@
       <xi:include href="../../NEWS" parse="text"  
           xmlns:xi="http://www.w3.org/2001/XInclude" />
     </literallayout>
-    </chapter>
+  </chapter>
+  <chapter id="dist.news.old" xreflabel="Old News">
+    <title>OLDER NEWS</title>
+    <literallayout>
+      <xi:include href="../../NEWS.old" parse="text"  
+          xmlns:xi="http://www.w3.org/2001/XInclude" />
+    </literallayout>
+  </chapter>
 
   <chapter id="dist.readme" xreflabel="Readme">
     <title>README</title>
@@ -94,4 +101,24 @@
           xmlns:xi="http://www.w3.org/2001/XInclude" />
     </literallayout>
     </chapter>
+
+  <chapter id="dist.readme-android_emulator" 
+             xreflabel="Readme Android Emulator">
+    <title>README.android_emulator</title>
+    <literallayout>
+      <xi:include href="../../README.android_emulator" 
+          parse="text" 
+          xmlns:xi="http://www.w3.org/2001/XInclude" />
+    </literallayout>
+    </chapter>
+
+  <chapter id="dist.readme-mips" 
+             xreflabel="Readme MIPS">
+    <title>README.mips</title>
+    <literallayout>
+      <xi:include href="../../README.mips" 
+          parse="text" 
+          xmlns:xi="http://www.w3.org/2001/XInclude" />
+    </literallayout>
+    </chapter>
 </book>
diff --git a/docs/xml/manual-core-adv.xml b/docs/xml/manual-core-adv.xml
index 2758ce5..870996f 100644
--- a/docs/xml/manual-core-adv.xml
+++ b/docs/xml/manual-core-adv.xml
@@ -224,17 +224,35 @@
   </varlistentry>
 
   <varlistentry>
+   <term><command><computeroutput>VALGRIND_MONITOR_COMMAND(command)</computeroutput>:</command></term>
+   <listitem>
+    <para>Execute the given monitor command (a string).
+    Returns 0 if command is recognised. Returns 1 if command is not recognised.
+    Note that some monitor commands provide access to a functionality
+    also accessible via a specific client request. For example,
+    memcheck leak search can be requested from the client program
+    using VALGRIND_DO_LEAK_CHECK or via the monitor command "leak_search".
+    Note that the syntax of the command string is only verified at
+    run-time. So, if it exists, it is preferrable to use a specific
+    client request to have better compile time verifications of the
+    arguments.
+    </para>
+   </listitem>
+  </varlistentry>
+
+  <varlistentry>
    <term><command><computeroutput>VALGRIND_STACK_REGISTER(start, end)</computeroutput>:</command></term>
    <listitem>
     <para>Registers a new stack.  Informs Valgrind that the memory range
     between start and end is a unique stack.  Returns a stack identifier
     that can be used with other
     <computeroutput>VALGRIND_STACK_*</computeroutput> calls.</para>
-    <para>Valgrind will use this information to determine if a change to
-    the stack pointer is an item pushed onto the stack or a change over
-    to a new stack.  Use this if you're using a user-level thread package
-    and are noticing spurious errors from Valgrind about uninitialized
-    memory reads.</para>
+    <para>Valgrind will use this information to determine if a change
+    to the stack pointer is an item pushed onto the stack or a change
+    over to a new stack.  Use this if you're using a user-level thread
+    package and are noticing crashes in stack trace recording or
+    spurious errors from Valgrind about uninitialized memory
+    reads.</para>
 
     <para><command>Warning:</command> Unfortunately, this client request is
     unreliable and best avoided.</para>
@@ -276,9 +294,9 @@
 
 
 
-
-<sect1 id="manual-core-adv.gdbserver" 
-       xreflabel="Debugging your program using Valgrind's gdbserver and GDB">
+<!-- Referenced from both the manual and manpage -->
+<sect1 id="&vg-gdbserver-id;"
+       xreflabel="&vg-gdbserver-label;">
 <title>Debugging your program using Valgrind gdbserver and GDB</title>
 
 <para>A program running under Valgrind is not executed directly by the
@@ -364,7 +382,7 @@
 <para>GDB can use various kinds of channels (TCP/IP, serial line, etc)
 to communicate with the gdbserver.  In the case of Valgrind's
 gdbserver, communication is done via a pipe and a small helper program
-called <xref linkend="manual-core-adv.vgdb"/>, which acts as an
+called <xref linkend="&vg-vgdb-id;"/>, which acts as an
 intermediary.  If no GDB is in use, vgdb can also be
 used to send monitor commands to the Valgrind gdbserver from a shell
 command line.
@@ -498,7 +516,7 @@
 </para>
 <para> Example: on the Android system, execute the following:
     <screen><![CDATA[
-valgrind --vgdb-error=0 prog
+valgrind --vgdb-error=0 --vgdb=yes prog
 # and then in another shell, run:
 vgdb --port=1234
 ]]></screen>
@@ -565,14 +583,30 @@
 <title>Monitor command handling by the Valgrind gdbserver</title>
 
 <para> The Valgrind gdbserver provides additional Valgrind-specific
-functionality via "monitor commands".  Such monitor commands can
-be sent from the GDB command line or from the shell command line.  See
-<xref linkend="manual-core-adv.valgrind-monitor-commands"/> for the list
-of the Valgrind core monitor commands.
+functionality via "monitor commands".  Such monitor commands can be
+sent from the GDB command line or from the shell command line or
+requested by the client program using the VALGRIND_MONITOR_COMMAND
+client request.  See
+<xref linkend="&vg-monitor-id;"/> for the
+list of the Valgrind core monitor commands available regardless of the
+Valgrind tool selected.
 </para>
 
-<para>Each tool can also provide tool-specific monitor commands.
-An example of a tool specific monitor command is the Memcheck monitor
+<para>The following tools provide tool-specific monitor commands:
+  <itemizedlist>
+    <listitem>
+      <para><xref linkend="mc-manual.monitor-commands"/></para>
+    </listitem>
+    <listitem>
+      <para><xref linkend="cl-manual.monitor-commands"/></para>
+    </listitem>
+    <listitem>
+      <para><xref linkend="ms-manual.monitor-commands"/></para>
+    </listitem>
+  </itemizedlist>
+</para>
+
+<para>An example of a tool specific monitor command is the Memcheck monitor
 command <computeroutput>leak_check full
 reachable any</computeroutput>.  This requests a full reporting of the
 allocated memory blocks.  To have this leak check executed, use the GDB
@@ -700,6 +734,25 @@
 values instead of float values, as it is expected that these
 shadow values are mostly used for memcheck validity bits. </para>
 
+<para>Intel/amd64 AVX registers <computeroutput>ymm0</computeroutput>
+to <computeroutput>ymm15</computeroutput> have also their shadow
+registers. However, GDB presents the shadow values using two
+"half" registers. For example, the half shadow registers for 
+<computeroutput>ymm9</computeroutput> are
+<computeroutput>xmm9s1</computeroutput> (lower half for set 1),
+<computeroutput>ymm9hs1</computeroutput> (upper half for set 1),
+<computeroutput>xmm9s2</computeroutput> (lower half for set 2),
+<computeroutput>ymm9hs2</computeroutput> (upper half for set 2).
+Note the inconsistent notation for the names of the half registers:
+the lower part starts with an <computeroutput>x</computeroutput>,
+the upper part starts with an <computeroutput>y</computeroutput>
+and has an <computeroutput>h</computeroutput> before the shadow postfix.
+</para>
+<para>The special presentation of the AVX shadow registers is due to
+the fact that GDB independently retrieves the lower and upper half of
+the <computeroutput>ymm</computeroutput> registers.  GDB does not
+however know that the shadow half registers have to be shown combined.
+</para>
 </sect2>
 
 
@@ -743,20 +796,40 @@
        "stop-at" commands will be obeyed precisely.  The
        downside is that this requires each instruction to be
        instrumented with an additional call to a gdbserver helper
-       function, which gives considerable overhead compared to
-       <option>--vgdb=no</option>.  Option <option>--vgdb=yes</option>
-       has neglectible overhead compared
+       function, which gives considerable overhead (+500% for memcheck)
+       compared to  <option>--vgdb=no</option>.
+       Option <option>--vgdb=yes</option> has neglectible overhead compared
        to <option>--vgdb=no</option>.
      </para>
    </listitem>
 
    <listitem>
-     <para>Registers values.</para>
-     <para>When Valgrind gdbserver stops on an error, registers values
-     might not be always up to date due to the optimisations done by
-     the Valgrind core. The
-     option <option>--vex-iropt-precise-memory-exns=yes</option>
-     ensures precise registers values by disabling some optimisations.
+     <para>Processor registers and flags values.</para>
+     <para>When Valgrind gdbserver stops on an error, on a breakpoint
+     or when single stepping, registers and flags values might not be always
+     up to date due to the optimisations done by the Valgrind core.
+     The default value 
+     <option>--vex-iropt-register-updates=unwindregs-at-mem-access</option>
+     ensures that the registers needed to make a stack trace (typically
+     PC/SP/FP) are up to date at each memory access (i.e. memory exception
+     points).
+     Disabling some optimisations using the following values will increase
+     the precision of registers and flags values (a typical performance 
+     impact for memcheck is given for each option).
+       <itemizedlist>
+         <listitem>
+           <option>--vex-iropt-register-updates=allregs-at-mem-access</option> (+10%)
+           ensures that all registers and flags are up to date at each memory
+           access.
+         </listitem>
+         <listitem>
+           <option>--vex-iropt-register-updates=allregs-at-each-insn</option> (+25%)
+           ensures that all registers and flags are up to date at each instruction.
+         </listitem>
+       </itemizedlist>
+       Note that <option>--vgdb=full</option> (+500%, see above
+       Precision of "stop-at" commands) automatically
+       activates <option>--vex-iropt-register-updates=allregs-at-each-insn</option>.
      </para>
    </listitem>
 
@@ -852,7 +925,8 @@
      <para>On PPC32/PPC64, stack unwinding for leaf functions
      (functions that do not call any other functions) works properly
      only when you give the option
-     <option>--vex-iropt-precise-memory-exns=yes</option>.
+     <option>--vex-iropt-register-updates=allregs-at-mem-access</option>
+     or <option>--vex-iropt-register-updates=allregs-at-each-insn</option>.
      You must also pass this option in order to get a precise stack when
      a signal is trapped by GDB.
      </para>
@@ -921,7 +995,8 @@
 
      <para>Connecting to or interrupting a Valgrind process blocked in
      a system call requires the "ptrace" system call to be usable.
-     This may be disabled in your kernel for security reasons.</para>
+     This may be disabled in your kernel for security reasons.
+     </para>
 
      <para>When running your program, Valgrind's scheduler
      periodically checks whether there is any work to be handled by
@@ -969,24 +1044,9 @@
      <para>Ubuntu versions 10.10 and later may restrict the scope of
      ptrace to the children of the process calling ptrace.  As the
      Valgrind process is not a child of vgdb, such restricted scoping
-     causes the ptrace calls to fail.  To avoid that, when Valgrind
-     gdbserver receives the first packet from a vgdb, it calls
-     <computeroutput>prctl(PR_SET_PTRACER, vgdb_pid, 0, 0,
-     0)</computeroutput> to ensure vgdb can reliably use ptrace.
-     Once <computeroutput>vgdb_pid</computeroutput> has been marked as
-     a ptracer, vgdb can then properly force the invocation of
-     Valgrind gdbserver when needed.  To ensure the vgdb is set as a
-     ptracer before the Valgrind process gets blocked in a system
-     call, connect your GDB to the Valgrind gdbserver at startup by
-     passing <option>--vgdb-error=0</option> to Valgrind.</para>
-
-     <para>Note that
-     this "set ptracer" technique does not solve the problem in the
-     case where a standalone vgdb process wants to connect to the
-     gdbserver, since the first command to be sent by a standalone
-     vgdb must wake up the Valgrind process before Valgrind gdbserver
-     will mark vgdb as a ptracer.
-     </para>
+     causes the ptrace calls to fail.  To avoid that, Valgrind will
+     automatically allow all processes belonging to the same userid to
+     "ptrace" a Valgrind process, by using PR_SET_PTRACER.</para>
 
      <para>Unblocking processes blocked in system calls is not
      currently implemented on Mac OS X and Android.  So you cannot
@@ -1032,8 +1092,9 @@
 
 </sect2>
 
-<sect2 id="manual-core-adv.vgdb"
-       xreflabel="vgdb">
+<!-- Referenced from both the manual and manpage -->
+<sect2 id="&vg-vgdb-id;"
+       xreflabel="&vg-vgdb-label;">
 <title>vgdb command line options</title>
 <para> Usage: <computeroutput>vgdb [OPTION]... [[-c] COMMAND]...</computeroutput></para>
 
@@ -1181,14 +1242,23 @@
 </sect2>
 
 
-<sect2 id="manual-core-adv.valgrind-monitor-commands" 
-       xreflabel="Valgrind monitor commands">
+<!-- Referenced from both the manual and manpage -->
+<sect2 id="&vg-monitor-id;"
+       xreflabel="&vg-monitor-label;">
 <title>Valgrind monitor commands</title>
 
-<para>The Valgrind monitor commands are available regardless of the
-Valgrind tool selected.  They can be sent either from a shell command
-line, by using a standalone vgdb, or from GDB, by using GDB's
-"monitor" command.</para>
+<para>This section describes the Valgrind monitor commands, available
+regardless of the Valgrind tool selected. For the tool specific
+commands, refer to <xref linkend="mc-manual.monitor-commands"/>,
+<xref linkend="cl-manual.monitor-commands"/> and
+<xref linkend="ms-manual.monitor-commands"/>. </para>
+
+<para> The monitor commands can be sent either from a shell command line, by using a
+standalone vgdb, or from GDB, by using GDB's "monitor"
+command (see <xref linkend="manual-core-adv.gdbserver-commandhandling"/>).
+They can also be launched by the client program, using the VALGRIND_MONITOR_COMMAND
+client request.
+</para>
 
 <itemizedlist>
   <listitem>
@@ -1215,6 +1285,13 @@
   </listitem>
 
   <listitem>
+    <para><varname>v.info open_fds</varname> shows the list of open file
+    descriptors and details related to the file descriptor.
+    This only works if <option>--track-fds=yes</option>
+    was given at Valgrind startup.</para>
+  </listitem>
+
+  <listitem>
     <para><varname>v.set {gdb_output | log_output |
     mixed_output}</varname> allows redirection of the Valgrind output
     (e.g. the errors detected by the tool).  The default setting is
@@ -1272,6 +1349,17 @@
 <itemizedlist>
 
   <listitem>
+    <para><varname>v.do expensive_sanity_check_general</varname>
+    executes various sanity checks. In particular, the sanity of the
+    Valgrind heap is verified. This can be useful if you suspect that
+    your program and/or Valgrind has a bug corrupting Valgrind data
+    structure.  It can also be used when a Valgrind tool
+    reports a client error to the connected GDB, in order to verify
+    the sanity of Valgrind before continuing the execution.
+    </para>
+  </listitem>
+
+  <listitem>
     <para><varname>v.info gdbserver_status</varname> shows the
     gdbserver status. In case of problems (e.g. of communications),
     this shows the values of some relevant Valgrind gdbserver internal
@@ -1286,10 +1374,26 @@
   </listitem>
 
   <listitem>
-    <para><varname>v.info memory</varname> shows the statistics of
+    <para><varname>v.info memory [aspacemgr]</varname> shows the statistics of
     Valgrind's internal heap management. If
     option <option>--profile-heap=yes</option> was given, detailed
-    statistics will be output.
+    statistics will be output. With the optional argument
+    <computeroutput>aspacemgr</computeroutput>. the segment list maintained
+    by valgrind address space manager will be output. Note that
+    this list of segments is always output on the Valgrind log.
+    </para>
+  </listitem>
+
+  <listitem>
+    <para><varname>v.info exectxt</varname> shows informations about
+    the "executable contexts" (i.e. the stack traces) recorded by
+    Valgrind.  For some programs, Valgrind can record a very high
+    number of such stack traces, causing a high memory usage.  This
+    monitor command shows all the recorded stack traces, followed by
+    some statistics. This can be used to analyse the reason for having
+    a big number of stack traces. Typically, you will use this command
+    if <varname>v.info memory</varname> has shown significant memory
+    usage by the "exectxt" arena.
     </para>
   </listitem>
 
@@ -1424,7 +1528,7 @@
 The details are discussed below.</para>
 
 <para><computeroutput>VALGRIND_GET_ORIG_FN</computeroutput>: 
-once in the the wrapper, the first priority is
+once in the wrapper, the first priority is
 to get hold of the address of the original (and any other supporting
 information needed).  This is stored in a value of opaque 
 type <computeroutput>OrigFn</computeroutput>.
@@ -1654,7 +1758,8 @@
 <function>malloc</function> etc safely from within wrappers.
 </para>
 
-<para>The above comments are true for {x86,amd64,ppc32,arm}-linux.  On
+<para>The above comments are true for {x86,amd64,ppc32,arm,mips32,s390}-linux.
+On
 ppc64-linux function wrapping is more fragile due to the (arguably
 poorly designed) ppc64-linux ABI.  This mandates the use of a shadow
 stack which tracks entries/exits of both wrapper and replacement
@@ -1665,7 +1770,8 @@
 possible to a limited depth, beyond which Valgrind has to abort the
 run.  This depth is currently 16 calls.</para>
 
-<para>For all platforms ({x86,amd64,ppc32,ppc64,arm}-linux) all the above
+<para>For all platforms ({x86,amd64,ppc32,ppc64,arm,mips32,s390}-linux)
+all the above
 comments apply on a per-thread basis.  In other words, wrapping is
 thread-safe: each thread must individually observe the above
 restrictions, but there is no need for any kind of inter-thread
diff --git a/docs/xml/manual-core.xml b/docs/xml/manual-core.xml
index 62a5ae9..e489fd6 100644
--- a/docs/xml/manual-core.xml
+++ b/docs/xml/manual-core.xml
@@ -152,7 +152,8 @@
 </sect1>
 
 
-<sect1 id="manual-core.comment" xreflabel="The Commentary">
+<!-- Referenced from both the manual and manpage -->
+<sect1 id="&vg-comment-id;" xreflabel="&vg-comment-label;">
 <title>The Commentary</title>
 
 <para>Valgrind tools write a commentary, a stream of text, detailing
@@ -773,10 +774,11 @@
     </term>
     <listitem>
       <para>When enabled, Valgrind will print out a list of open file
-      descriptors on exit.  Along with each file descriptor is printed a
-      stack backtrace of where the file was opened and any details
-      relating to the file descriptor such as the file name or socket
-      details.</para>
+      descriptors on exit or on request, via the gdbserver monitor
+      command <varname>v.info open_fds</varname>.  Along with each
+      file descriptor is printed a stack backtrace of where the file
+      was opened and any details relating to the file descriptor such
+      as the file name or socket details.</para>
     </listitem>
   </varlistentry>
 
@@ -856,7 +858,7 @@
       be used in conjunction with the
       <computeroutput>valgrind-listener</computeroutput> program.  For
       further details, see 
-      <link linkend="manual-core.comment">the commentary</link>
+      <link linkend="&vg-comment-id;">the commentary</link>
       in the manual.</para>
     </listitem>
   </varlistentry>
@@ -1001,7 +1003,7 @@
       function, and that of its three immediate callers).  So this doesn't
       affect the total number of errors reported.</para>
 
-      <para>The maximum value for this is 50. Note that higher settings
+      <para>The maximum value for this is 500. Note that higher settings
       will make Valgrind run a bit more slowly and take a bit more
       memory, but can be useful when working with programs with
       deeply-nested call chains.</para>
@@ -1036,6 +1038,26 @@
     </listitem>
   </varlistentry>
 
+  <varlistentry id="opt.sigill-diagnostics" xreflabel="--sigill-diagnostics">
+    <term>
+      <option><![CDATA[--sigill-diagnostics=<yes|no> [default: yes] ]]></option>
+    </term>
+    <listitem>
+      <para>Enable/disable printing of illegal instruction diagnostics.
+      Enabled by default, but defaults to disabled when
+      <option>--quiet</option> is given. The default can always be explicitly
+      overridden by giving this option.</para>
+
+      <para>When enabled a warning message will be printed with some
+      diagnostics whenever some instruction is encountered that valgrind
+      cannot decode or translate before the program is given a SIGILL signal.
+      Often an illegal instruction indicates a bug in the program or missing
+      support for the particular instruction in Valgrind. But some programs
+      do deliberately try to execute an instruction that might be missing
+      and trap the SIGILL signal to detect processor features.</para>
+    </listitem>
+  </varlistentry>
+
   <varlistentry id="opt.stack-traces" xreflabel="--show-below-main">
     <term>
       <option><![CDATA[--show-below-main=<yes|no> [default: no] ]]></option>
@@ -1109,6 +1131,39 @@
     </listitem>
   </varlistentry>
 
+  <varlistentry id="opt.extra-debuginfo-path" xreflabel="--extra-debuginfo-path">
+    <term>
+      <option><![CDATA[--extra-debuginfo-path=<path> [default: undefined and unused] ]]></option>
+    </term>
+    <listitem>
+      <para>By default Valgrind searches in several well-known paths
+      for debug objects, such
+      as <computeroutput>/usr/lib/debug/</computeroutput>.</para>
+
+      <para>However, there may be scenarios where you may wish to put
+      debug objects at an arbitrary location, such as external storage
+      when running Valgrind on a mobile device with limited local
+      storage.  Another example might be a situation where you do not
+      have permission to install debug object packages on the system
+      where you are running Valgrind.</para>
+
+      <para>In these scenarios, you may provide an absolute path as an extra,
+      final place for Valgrind to search for debug objects by specifying
+      <option>--extra-debuginfo-path=/path/to/debug/objects</option>.
+      The given path will be prepended to the absolute path name of
+      the searched-for object.  For example, if Valgrind is looking
+      for the debuginfo
+      for <computeroutput>/w/x/y/zz.so</computeroutput>
+      and <option>--extra-debuginfo-path=/a/b/c</option> is specified,
+      it will look for a debug object at
+      <computeroutput>/a/b/c/w/x/y/zz.so</computeroutput>.</para>
+
+      <para>This flag should only be specified once.  If it is
+      specified multiple times, only the last instance is
+      honoured.</para>
+    </listitem>
+  </varlistentry>
+
   <varlistentry id="opt.suppressions" xreflabel="--suppressions">
     <term>
       <option><![CDATA[--suppressions=<filename> [default: $PREFIX/lib/valgrind/default.supp] ]]></option>
@@ -1411,8 +1466,8 @@
 
 <!-- start of xi:include in the manpage -->
 <para id="malloc-related.opts.para">For tools that use their own version of
-<computeroutput>malloc</computeroutput> (e.g. Memcheck and
-Massif), the following options apply.</para>
+<computeroutput>malloc</computeroutput> (e.g. Memcheck,
+Massif, Helgrind, DRD), the following options apply.</para>
 
 <variablelist id="malloc-related.opts.list">
 
@@ -1431,6 +1486,27 @@
     </listitem>
   </varlistentry>
 
+  <varlistentry id="opt.redzone-size" xreflabel="--redzone-size">
+    <term>
+      <option><![CDATA[--redzone-size=<number> [default: depends on the tool] ]]></option>
+    </term>
+    <listitem>
+      <para> Valgrind's <function>malloc, realloc,</function> etc, add
+      padding blocks before and after each heap block allocated by the
+      program being run. Such padding blocks are called redzones.  The
+      default value for the redzone size depends on the tool.  For
+      example, Memcheck adds and protects a minimum of 16 bytes before
+      and after each block allocated by the client.  This allows it to
+      detect block underruns or overruns of up to 16 bytes.
+      </para>
+      <para>Increasing the redzone size makes it possible to detect
+      overruns of larger distances, but increases the amount of memory
+      used by Valgrind.  Decreasing the redzone size will reduce the
+      memory needed by Valgrind but also reduces the chances of
+      detecting over/underruns, so is not recommended.</para>
+    </listitem>
+  </varlistentry>
+
 </variablelist>
 <!-- end of xi:include in the manpage -->
 
@@ -1443,7 +1519,7 @@
 <!-- start of xi:include in the manpage -->
 <para id="uncommon.opts.para">These options apply to all tools, as they
 affect certain obscure workings of the Valgrind core.  Most people won't
-need to use these.</para>
+need to use them.</para>
 
 <variablelist id="uncommon.opts.list">
 
@@ -1494,14 +1570,14 @@
       takes advantage of this observation, limiting the overhead of
       checking to code which is likely to be JIT generated.</para>
 
-      <para>Some architectures (including ppc32, ppc64 and ARM) require
-      programs which create code at runtime to flush the instruction
-      cache in between code generation and first use.  Valgrind
-      observes and honours such instructions.  Hence, on ppc32/Linux,
-      ppc64/Linux and ARM/Linux, Valgrind always provides complete, transparent
-      support for self-modifying code.  It is only on platforms such as
-      x86/Linux, AMD64/Linux, x86/Darwin and AMD64/Darwin 
-      that you need to use this option.</para>
+      <para>Some architectures (including ppc32, ppc64, ARM and MIPS)
+      require programs which create code at runtime to flush the
+      instruction cache in between code generation and first use.
+      Valgrind observes and honours such instructions.  Hence, on
+      ppc32/Linux, ppc64/Linux and ARM/Linux, Valgrind always provides
+      complete, transparent support for self-modifying code.  It is
+      only on platforms such as x86/Linux, AMD64/Linux, x86/Darwin and
+      AMD64/Darwin that you need to use this option.</para>
     </listitem>
   </varlistentry>
 
@@ -1673,33 +1749,39 @@
       <option><![CDATA[--fair-sched=<no|yes|try>    [default: no] ]]></option>
     </term>
 
-    <listitem> <para>The <option>--fair-sched</option> controls the
-      locking mechanism used by Valgrind to serialise thread
-      execution. The locking mechanism differs in the way the threads
-      are scheduled, giving a different trade-off between fairness and
-      performance. For more details about the Valgrind thread
-      serialisation principle and its impact on performance and thread
-      scheduling, see <xref linkend="manual-core.pthreads_perf_sched"/>.
+    <listitem> <para>The <option>--fair-sched</option> option controls
+      the locking mechanism used by Valgrind to serialise thread
+      execution.  The locking mechanism controls the way the threads
+      are scheduled, and different settings give different trade-offs
+      between fairness and performance. For more details about the
+      Valgrind thread serialisation scheme and its impact on
+      performance and thread scheduling, see
+      <xref linkend="&vg-pthreads-perf-sched-id;"/>.
 
       <itemizedlist>
         <listitem> <para>The value <option>--fair-sched=yes</option>
-          activates a fair scheduling. Basically, if multiple threads are
+          activates a fair scheduler.  In short, if multiple threads are
           ready to run, the threads will be scheduled in a round robin
           fashion.  This mechanism is not available on all platforms or
-          linux versions.  If not available,
+          Linux versions.  If not available,
           using <option>--fair-sched=yes</option> will cause Valgrind to
           terminate with an error.</para>
+        <para>You may find this setting improves overall
+          responsiveness if you are running an interactive
+          multithreaded program, for example a web browser, on
+          Valgrind.</para>
         </listitem>
         
         <listitem> <para>The value <option>--fair-sched=try</option>
-          activates the fair scheduling if available on the
-          platform. Otherwise, it will automatically fallback
+          activates fair scheduling if available on the
+          platform.  Otherwise, it will automatically fall back
           to <option>--fair-sched=no</option>.</para>
         </listitem>
         
         <listitem> <para>The value <option>--fair-sched=no</option> activates
-          a scheduling mechanism which does not guarantee fairness
-          between threads ready to run.</para>
+          a scheduler which does not guarantee fairness
+          between threads ready to run, but which in general gives the
+         highest performance.</para>
         </listitem>
       </itemizedlist>
     </para></listitem>
@@ -1728,6 +1810,39 @@
     </listitem>
   </varlistentry>
 
+  <varlistentry id="opt.merge-recursive-frames" xreflabel="--merge-recursive-frames">
+    <term>
+      <option><![CDATA[--merge-recursive-frames=<number> [default: 0] ]]></option>
+    </term>
+    <listitem>
+      <para>Some recursive algorithms (such as balanced binary tree
+      implementations) have the property to create many different
+      stack traces, containing cycles of calls.  A cycle is defined by
+      two identical program counters separated by 0 or more other
+      program counters.  Valgrind might then use a lot of memory to
+      record these stack traces, containing repeated uninteresting
+      recursive calls instead of more interesting information such as
+      the function that has initiated the recursive call.
+      </para>
+      <para>The option <option>--merge-recursive-frames=&lt;number&gt;</option>
+      instructs Valgrind to detect and merge recursive call cycles
+      having a size of up to <option>&lt;number&gt;</option>
+      frames. When such a cycle is detected, Valgrind records the
+      cycle in the stack trace as a unique program counter.
+      </para>
+      <para>
+      The value 0 (the default) causes no recursive call merging.
+      A value of 1 will cause stack traces of simple recursive algorithms
+      (for example, a factorial implementation) to be collapsed.
+      A value of 2 will usually be needed to collapsed stack traces produced
+      by recursive algorithms such binary trees, quick sort, ...
+      Higher values might be needed for more complex recursive algorithms.
+      </para>
+      <para>Note: recursive calls are detected based on program counters.
+      The cycles are not detected based on function names. </para>
+   </listitem>
+  </varlistentry>
+
   <varlistentry id="opt.show-emwarns" xreflabel="--show-emwarns">
     <term>
       <option><![CDATA[--show-emwarns=<yes|no> [default: no] ]]></option>
@@ -1787,6 +1902,70 @@
    </listitem>
   </varlistentry>
 
+  <varlistentry id="opt.soname-synonyms"
+        xreflabel="--soname-synonyms">
+    <term>
+      <option><![CDATA[--soname-synonyms=syn1=pattern1,syn2=pattern2,...]]></option>
+    </term>
+    <listitem>
+      <para>When a shared library is loaded, Valgrind checks for 
+      functions in the library that must be replaced or wrapped.
+      For example, Memcheck replaces all malloc related
+      functions (malloc, free, calloc, ...) with its own versions.
+      Such replacements are done by default only in shared libraries whose
+      soname matches a predefined soname pattern (e.g.
+      <varname>libc.so*</varname> on linux).
+      By default, no replacement is done for a statically linked
+      library or for alternative libraries such as tcmalloc.
+      In some cases, the replacements allow
+      <option>--soname-synonyms</option> to specify one additional
+      synonym pattern, giving flexibility in the replacement. </para>
+
+      <para>Currently, this flexibility is only allowed for the
+      malloc related functions, using the
+      synonym <varname>somalloc</varname>.  This synonym is usable for
+      all tools doing standard replacement of malloc related functions
+      (e.g. memcheck, massif, drd, helgrind, exp-dhat, exp-sgcheck).
+      </para>
+
+      <itemizedlist>
+        <listitem>
+
+          <para>Alternate malloc library: to replace the malloc
+          related functions in an alternate library with
+          soname <varname>mymalloclib.so</varname>, give the
+          option <option>--soname-synonyms=somalloc=mymalloclib.so</option>.
+          A pattern can be used to match multiple libraries sonames.
+          For
+          example, <option>--soname-synonyms=somalloc=*tcmalloc*</option>
+          will match the soname of all variants of the tcmalloc library
+          (native, debug, profiled, ... tcmalloc variants). </para>
+          <para>Note: the soname of a elf shared library can be
+          retrieved using the readelf utility. </para>
+
+        </listitem>
+
+        <listitem>
+          <para>Replacements in a statically linked library are done by
+          using the <varname>NONE</varname> pattern. For example, if
+          you link with <varname>libtcmalloc.a</varname>, memcheck 
+          will properly work when you give the
+          option <option>--soname-synonyms=somalloc=NONE</option>.  Note
+          that a NONE pattern will match the main executable and any
+          shared library having no soname. </para>
+        </listitem>
+
+        <listitem>
+          <para>To run a "default" Firefox build for Linux, in which
+          JEMalloc is linked in to the main executable,
+          use <option>--soname-synonyms=somalloc=NONE</option>.
+          </para>
+        </listitem>
+
+      </itemizedlist>
+   </listitem>
+  </varlistentry>
+
 
 </variablelist>
 <!-- end of xi:include in the manpage -->
@@ -1906,82 +2085,93 @@
 sharing will fail.
 </para>
 
-<sect2 id="manual-core.pthreads_perf_sched" xreflabel="Scheduling and Multi-Thread Performance">
+<!-- Referenced from both the manual and manpage -->
+<sect2 id="&vg-pthreads-perf-sched-id;" xreflabel="&vg-pthreads-perf-sched-label;">
 <title>Scheduling and Multi-Thread Performance</title>
 
-<para>A thread executes some code only when it holds the lock.  After
-executing a certain nr of instructions, the running thread will release
-the lock. All threads ready to run will compete to acquire the lock.</para>
+<para>A thread executes code only when it holds the abovementioned
+lock.  After executing some number of instructions, the running thread
+will release the lock.  All threads ready to run will then compete to
+acquire the lock.</para>
 
-<para>The option <option>--fair-sched</option> controls the locking mechanism
-used to serialise the thread execution.</para>
+<para>The <option>--fair-sched</option> option controls the locking mechanism
+used to serialise thread execution.</para>
 
-<para> The default pipe based locking
-(<option>--fair-sched=no</option>) is available on all platforms. The
-pipe based locking does not guarantee fairness between threads : it is
-very well possible that the thread that has just released the lock
-gets it back directly. When using the pipe based locking, different
-execution of the same multithreaded application might give very different
-thread scheduling.</para>
+<para>The default pipe based locking mechanism
+(<option>--fair-sched=no</option>) is available on all
+platforms.  Pipe based locking does not guarantee fairness between
+threads: it is quite likely that a thread that has just released the
+lock reacquires it immediately, even though other threads are ready to
+run.  When using pipe based locking, different runs of the same
+multithreaded application might give very different thread
+scheduling.</para>
 
-<para> The futex based locking is available on some platforms.
-If available, it is activated by <option>--fair-sched=yes</option> or
-<option>--fair-sched=try</option>. The futex based locking ensures
-fairness between threads : if multiple threads are ready to run, the lock
-will be given to the thread which first requested the lock. Note that a thread
-which is blocked in a system call (e.g. in a blocking read system call) has
-not (yet) requested the lock: such a thread requests the lock only after the
-system call is finished.</para>
+<para>An alternative locking mechanism, based on futexes, is available
+on some platforms.  If available, it is activated
+by <option>--fair-sched=yes</option> or
+<option>--fair-sched=try</option>.  Futex based locking ensures
+fairness (round-robin scheduling) between threads: if multiple threads
+are ready to run, the lock will be given to the thread which first
+requested the lock.  Note that a thread which is blocked in a system
+call (e.g. in a blocking read system call) has not (yet) requested the
+lock: such a thread requests the lock only after the system call is
+finished.</para>
 
-<para> The fairness of the futex based locking ensures a better reproducibility
-of the thread scheduling for different executions of a multithreaded
-application. This fairness/better reproducibility is particularly
-interesting when using Helgrind or DRD.</para>
+<para> The fairness of the futex based locking produces better
+reproducibility of thread scheduling for different executions of a
+multithreaded application. This better reproducibility is particularly
+helpful when using Helgrind or DRD.</para>
 
-<para> The Valgrind thread serialisation implies that only one thread
-is running at a time. On a multiprocessor/multicore system, the
+<para>Valgrind's use of thread serialisation implies that only one
+thread at a time may run.  On a multiprocessor/multicore system, the
 running thread is assigned to one of the CPUs by the OS kernel
-scheduler. When a thread acquires the lock, sometimes the thread will
+scheduler.  When a thread acquires the lock, sometimes the thread will
 be assigned to the same CPU as the thread that just released the
-lock. Sometimes, the thread will be assigned to another CPU.  When
-using the pipe based locking, the thread that just acquired the lock
-will often be scheduled on the same CPU as the thread that just
-released the lock. With the futex based mechanism, the thread that
+lock.  Sometimes, the thread will be assigned to another CPU.  When
+using pipe based locking, the thread that just acquired the lock
+will usually be scheduled on the same CPU as the thread that just
+released the lock.  With the futex based mechanism, the thread that
 just acquired the lock will more often be scheduled on another
-CPU. </para>
+CPU.</para>
 
-<para>The Valgrind thread serialisation and CPU assignment by the OS
-kernel scheduler can badly interact with the CPU frequency scaling
-available on many modern CPUs : to decrease power consumption, the
+<para>Valgrind's thread serialisation and CPU assignment by the OS
+kernel scheduler can interact badly with the CPU frequency scaling
+available on many modern CPUs.  To decrease power consumption, the
 frequency of a CPU or core is automatically decreased if the CPU/core
 has not been used recently.  If the OS kernel often assigns the thread
-which just acquired the lock to another CPU/core, there is quite some
-chance that this CPU/core is currently at a low frequency. The
-frequency of this CPU will be increased after some time.  However,
-during this time, the (only) running thread will have run at a low
-frequency. Once this thread has run during some time, it will release
-the lock.  Another thread will acquire this lock, and might be
-scheduled again on another CPU whose clock frequency was decreased in
-the meantime.</para>
+which just acquired the lock to another CPU/core, it is quite likely
+that this CPU/core is currently at a low frequency.  The frequency of
+this CPU will be increased after some time.  However, during this
+time, the (only) running thread will have run at the low frequency.
+Once this thread has run for some time, it will release the lock.
+Another thread will acquire this lock, and might be scheduled again on
+another CPU whose clock frequency was decreased in the
+meantime.</para>
 
-<para>The futex based locking causes threads to more often switch of
-CPU/core.  So, if CPU frequency scaling is activated, the futex based
-locking might decrease significantly (up to 50% degradation has been
-observed) the performance of a multithreaded app running under
-Valgrind. The pipe based locking also somewhat interacts badly with
-CPU frequency scaling. Up to 10..20% performance degradation has been
-observed. </para>
+<para>The futex based locking causes threads to change CPUs/cores more
+often.  So, if CPU frequency scaling is activated, the futex based
+locking might decrease significantly the performance of a
+multithreaded app running under Valgrind.  Performance losses of up to
+50% degradation have been observed, as compared to running on a
+machine for which CPU frequency scaling has been disabled.  The pipe
+based locking locking scheme also interacts badly with CPU frequency
+scaling, with performance losses in the range 10..20% having been
+observed.</para>
 
-<para>To avoid this performance degradation, you can indicate to the
-kernel that all CPUs/cores should always run at maximum clock
-speed. Depending on your linux distribution, CPU frequency scaling
-might be controlled using a graphical interface or using command line
+<para>To avoid such performance degradation, you should indicate to
+the kernel that all CPUs/cores should always run at maximum clock
+speed.  Depending on your Linux distribution, CPU frequency scaling
+may be controlled using a graphical interface or using command line
 such as
 <computeroutput>cpufreq-selector</computeroutput> or
-<computeroutput>cpufreq-set</computeroutput>. You might also indicate to the
-OS scheduler to run a Valgrind process on a specific (fixed) CPU using the
-<computeroutput>taskset</computeroutput> command : running on a fixed
-CPU should ensure that this specific CPU keeps a high frequency clock speed.
+<computeroutput>cpufreq-set</computeroutput>.
+</para>
+
+<para>An alternative way to avoid these problems is to tell the
+OS scheduler to tie a Valgrind process to a specific (fixed) CPU using the
+<computeroutput>taskset</computeroutput> command.  This should ensure
+that the selected CPU does not fall below its maximum frequency
+setting so long as any thread of the program has work to do.
 </para>
 
 </sect2>
@@ -1998,7 +2188,8 @@
 <para>If you're using signals in clever ways (for example, catching
 SIGSEGV, modifying page state and restarting the instruction), you're
 probably relying on precise exceptions.  In this case, you will need
-to use <option>--vex-iropt-precise-memory-exns=yes</option>.
+to use <option>--vex-iropt-register-updates=allregs-at-mem-access</option>
+or <option>--vex-iropt-register-updates=allregs-at-each-insn</option>.
 </para>
 
 <para>If your program dies as a result of a fatal core-dumping signal,
@@ -2100,7 +2291,7 @@
 <para>If you get an assertion failure
 in <filename>m_mallocfree.c</filename>, this may have happened because
 your program wrote off the end of a heap block, or before its
-beginning, thus corrupting head metadata.  Valgrind hopefully will have
+beginning, thus corrupting heap metadata.  Valgrind hopefully will have
 emitted a message to that effect before dying in this way.</para>
 
 <para>Read the <xref linkend="FAQ"/> for more advice about common problems, 
@@ -2125,11 +2316,10 @@
    instructions.  If the translator encounters these, Valgrind will
    generate a SIGILL when the instruction is executed.  Apart from
    that, on x86 and amd64, essentially all instructions are supported,
-   up to and including SSE4.2 in 64-bit mode and SSSE3 in 32-bit mode.
-   Some exceptions: SSE4.2 AES instructions are not supported in
-   64-bit mode, and 32-bit mode does in fact support the bare minimum
-   SSE4 instructions to needed to run programs on MacOSX 10.6 on
-   32-bit targets.
+   up to and including AVX and AES in 64-bit mode and SSSE3 in 32-bit
+   mode.  32-bit mode does in fact support the bare minimum SSE4
+   instructions to needed to run programs on MacOSX 10.6 on 32-bit
+   targets.
    </para>
   </listitem>
 
@@ -2185,7 +2375,7 @@
    large amount of administrative information maintained behind the
    scenes.  Another cause is that Valgrind dynamically translates the
    original executable.  Translated, instrumented code is 12-18 times
-   larger than the original so you can easily end up with 100+ MB of
+   larger than the original so you can easily end up with 150+ MB of
    translations when running (eg) a web browser.</para>
   </listitem>
 
@@ -2419,13 +2609,16 @@
     <para><computeroutput>Warning: client switching stacks?</computeroutput></para>
 
     <para>Valgrind spotted such a large change in the stack pointer
-    that it guesses the client is switching to
-    a different stack.  At this point it makes a kludgey guess where the
-    base of the new stack is, and sets memory permissions accordingly.
-    You may get many bogus error messages following this, if Valgrind
-    guesses wrong.  At the moment "large change" is defined as a change
-    of more that 2000000 in the value of the
-    stack pointer register.</para>
+    that it guesses the client is switching to a different stack.  At
+    this point it makes a kludgey guess where the base of the new
+    stack is, and sets memory permissions accordingly.  At the moment
+    "large change" is defined as a change of more that 2000000 in the
+    value of the stack pointer register.  If Valgrind guesses wrong,
+    you may get many bogus error messages following this and/or have
+    crashes in the stack trace recording code.  You might avoid these
+    problems by informing Valgrind about the stack bounds using
+    VALGRIND_STACK_REGISTER client request. </para>
+
   </listitem>
 
   <listitem>
diff --git a/docs/xml/valgrind-manpage.xml b/docs/xml/valgrind-manpage.xml
index 8f2f630..a4b84ff 100644
--- a/docs/xml/valgrind-manpage.xml
+++ b/docs/xml/valgrind-manpage.xml
@@ -240,7 +240,25 @@
 callgrind_control(1),
 ms_print(1),
 <filename>&vg-docs-path;</filename> or
-<filename>&vg-docs-url;</filename>.
+<filename>&vg-docs-url;</filename>,
+<ulink id="&vg-gdbserver-id;"
+       xreflabel="&vg-gdbserver-label;"
+       url="&vg-gdbserver-url;">&vg-gdbserver-label;</ulink>
+<ulink id="&vg-vgdb-id;"
+       xreflabel="&vg-vgdb-label;"
+       url="&vg-vgdb-url;">&vg-vgdb-label;</ulink>,
+<ulink id="&vg-monitor-id;"
+       xreflabel="&vg-monitor-label;"
+       url="&vg-monitor-url;">&vg-monitor-label;</ulink>,
+<ulink id="&vg-comment-id;"
+       xreflabel="&vg-comment-label;"
+       url="&vg-comment-url;">&vg-comment-label;</ulink>,
+<ulink id="&vg-pthreads-perf-sched-id;"
+       xreflabel="&vg-pthreads-perf-sched-label;"
+       url="&vg-pthreads-perf-sched-url;">&vg-pthreads-perf-sched-label;</ulink>,
+<ulink id="&vg-cg-manual-id;"
+       xreflabel="&vg-cg-manual-label;"
+       url="&vg-cg-manual-url;">&vg-cg-manual-label;</ulink>.
 </para>
 
 </refsect1>
diff --git a/docs/xml/vg-entities.xml b/docs/xml/vg-entities.xml
index 1b5adb1..29a337f 100644
--- a/docs/xml/vg-entities.xml
+++ b/docs/xml/vg-entities.xml
@@ -2,12 +2,12 @@
 <!ENTITY vg-jemail     "julian@valgrind.org">
 <!ENTITY vg-vemail     "valgrind@valgrind.org">
 <!ENTITY cl-email      "Josef.Weidendorfer@gmx.de">
-<!ENTITY vg-lifespan   "2000-2011">
+<!ENTITY vg-lifespan   "2000-2012">
 
 <!-- valgrind release + version stuff -->
 <!ENTITY rel-type    "Release">
-<!ENTITY rel-version "3.7.0">
-<!ENTITY rel-date    "2 November 2011">
+<!ENTITY rel-version "3.8.0">
+<!ENTITY rel-date    "10 August 2012">
 
 <!-- where the docs are installed -->
 <!ENTITY vg-docs-path  "$INSTALL/share/doc/valgrind/html/index.html">
@@ -23,4 +23,42 @@
 <!ENTITY vg-docs-url   "http://www.valgrind.org/docs/manual/index.html">
 <!ENTITY cl-gui-url    "http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGrindIndex">
 
+<!-- Some references are used between core manual manual and manpages. -->
+<!-- Define them here so the can easily be used in both places.  -->
+<!-- See manual-core*.xml and valgrind-manpage.xml -->
+<!ENTITY vg-manual-url "http://www.valgrind.org/docs/manual/">
 
+<!ENTITY vg-gdbserver-manual "manual-core-adv">
+<!ENTITY vg-gdbserver-ref "gdbserver">
+<!ENTITY vg-gdbserver-label "Debugging your program using Valgrind's gdbserver and GDB">
+<!ENTITY vg-gdbserver-id "&vg-gdbserver-manual;.&vg-gdbserver-ref;">
+<!ENTITY vg-gdbserver-url "&vg-manual-url;&vg-gdbserver-manual;.html#&vg-gdbserver-id;">
+
+<!ENTITY vg-vgdb-manual "manual-core-adv">
+<!ENTITY vg-vgdb-ref "vgdb">
+<!ENTITY vg-vgdb-label "vgdb">
+<!ENTITY vg-vgdb-id "&vg-vgdb-manual;.&vg-vgdb-ref;">
+<!ENTITY vg-vgdb-url "&vg-manual-url;&vg-vgdb-manual;.html#&vg-vgdb-id;">
+
+<!ENTITY vg-monitor-manual "manual-core-adv">
+<!ENTITY vg-monitor-ref "valgrind-monitor-commands">
+<!ENTITY vg-monitor-label "Valgrind monitor commands">
+<!ENTITY vg-monitor-id "&vg-monitor-manual;.&vg-monitor-ref;">
+<!ENTITY vg-monitor-url "&vg-manual-url;&vg-monitor-manual;.html#&vg-monitor-id;">
+
+<!ENTITY vg-comment-manual "manual-core">
+<!ENTITY vg-comment-ref "comment">
+<!ENTITY vg-comment-label "The Commentary">
+<!ENTITY vg-comment-id "&vg-comment-manual;.&vg-comment-ref;">
+<!ENTITY vg-comment-url "&vg-manual-url;&vg-comment-manual;.html#&vg-comment-id;">
+
+<!ENTITY vg-pthreads-perf-sched-manual "manual-core">
+<!ENTITY vg-pthreads-perf-sched-ref "pthreads_perf_sched">
+<!ENTITY vg-pthreads-perf-sched-label "Scheduling and Multi-Thread Performance">
+<!ENTITY vg-pthreads-perf-sched-id "&vg-pthreads-perf-sched-manual;.&vg-pthreads-perf-sched-ref;">
+<!ENTITY vg-pthreads-perf-sched-url "&vg-manual-url;&vg-pthreads-perf-sched-manual;.html#&vg-pthreads-perf-sched-id;">
+
+
+<!ENTITY vg-cg-manual-id "cg-manual">
+<!ENTITY vg-cg-manual-label "Cachegrind: a cache and branch-prediction profiler">
+<!ENTITY vg-cg-manual-url "&vg-manual-url;&vg-cg-manual-id;.html">
diff --git a/drd/docs/drd-manual.xml b/drd/docs/drd-manual.xml
index 79c39d3..7e20d99 100644
--- a/drd/docs/drd-manual.xml
+++ b/drd/docs/drd-manual.xml
@@ -497,7 +497,7 @@
         Print stack usage at thread exit time. When a program creates a large
         number of threads it becomes important to limit the amount of virtual
         memory allocated for thread stacks. This option makes it possible to
-        observe how much stack memory has been used by each thread of the the
+        observe how much stack memory has been used by each thread of the
         client program. Note: the DRD tool itself allocates some temporary
         data on the client thread stack. The space necessary for this
         temporary data must be allocated by the client program when it
@@ -529,6 +529,18 @@
   </varlistentry>
   <varlistentry>
     <term>
+      <option><![CDATA[--ptrace-addr=<address> [default: none]]]></option>
+    </term>
+    <listitem>
+      <para>
+        Trace all load and store activity for the specified address and keep
+        doing that even after the memory at that address has been freed and
+        reallocated.
+      </para>
+    </listitem>
+  </varlistentry>
+  <varlistentry>
+    <term>
       <option><![CDATA[--trace-alloc=<yes|no> [default: no]]]></option>
     </term>
     <listitem>
@@ -1006,6 +1018,14 @@
   </listitem>
   <listitem>
     <para>
+      The macro <literal>DRD_STOP_TRACING_VAR(x)</literal>. Stop tracing load
+      and store activity for the address range starting
+      at <literal>&amp;x</literal> and occupying <literal>sizeof(x)</literal>
+      bytes.
+    </para>
+  </listitem>
+  <listitem>
+    <para>
       The macro <literal>ANNOTATE_TRACE_MEMORY(&amp;x)</literal>. Trace all
       load and store activity that touches at least the single byte at the
       address <literal>&amp;x</literal>.
@@ -1727,12 +1747,6 @@
   </listitem>
   <listitem>
     <para>
-      When address tracing is enabled, no information on atomic stores
-      will be displayed.
-    </para>
-  </listitem>
-  <listitem>
-    <para>
       If you compile the DRD source code yourself, you need GCC 3.0 or
       later. GCC 2.95 is not supported.
     </para>
diff --git a/drd/drd.h b/drd/drd.h
index 9a4cfa1..9226ed1 100644
--- a/drd/drd.h
+++ b/drd/drd.h
@@ -12,7 +12,7 @@
   This file is part of DRD, a Valgrind tool for verification of
   multithreaded programs.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
   All rights reserved.
 
   Redistribution and use in source and binary forms, with or without
@@ -440,7 +440,7 @@
 
    /* Tell DRD that a DRD annotation has not yet been implemented. */
    VG_USERREQ__DRD_ANNOTATION_UNIMP,
-   /* args: Char*. */
+   /* args: char*. */
 
    /* Tell DRD that a user-defined reader-writer synchronization object
     * has been created. */
@@ -466,7 +466,7 @@
    /* Tell DRD that a Helgrind annotation has not yet been implemented. */
    VG_USERREQ__HELGRIND_ANNOTATION_UNIMP
       = VG_USERREQ_TOOL_BASE('H','G') + 256 + 32,
-   /* args: Char*. */
+   /* args: char*. */
 
    /* Tell DRD to insert a happens-before annotation. */
    VG_USERREQ__DRD_ANNOTATE_HAPPENS_BEFORE
diff --git a/drd/drd_barrier.c b/drd/drd_barrier.c
index 5bab27a..f7c6d5c 100644
--- a/drd/drd_barrier.c
+++ b/drd/drd_barrier.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -55,8 +55,8 @@
 static void barrier_cleanup(struct barrier_info* p);
 static void barrier_delete_thread(struct barrier_info* const p,
                                   const DrdThreadId tid);
-static const char* barrier_get_typename(struct barrier_info* const p);
-static const char* barrier_type_name(const BarrierT bt);
+static const HChar* barrier_get_typename(struct barrier_info* const p);
+static const HChar* barrier_type_name(const BarrierT bt);
 static
 void barrier_report_wait_delete_race(const struct barrier_info* const p,
                                      const struct barrier_thread_info* const q);
@@ -540,14 +540,14 @@
    }
 }
 
-static const char* barrier_get_typename(struct barrier_info* const p)
+static const HChar* barrier_get_typename(struct barrier_info* const p)
 {
    tl_assert(p);
 
    return barrier_type_name(p->barrier_type);
 }
 
-static const char* barrier_type_name(const BarrierT bt)
+static const HChar* barrier_type_name(const BarrierT bt)
 {
    switch (bt)
    {
diff --git a/drd/drd_barrier.h b/drd/drd_barrier.h
index 6e0f299..2db082e 100644
--- a/drd/drd_barrier.h
+++ b/drd/drd_barrier.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_basics.h b/drd/drd_basics.h
index d14b7f8..f15b59c 100644
--- a/drd/drd_basics.h
+++ b/drd/drd_basics.h
@@ -1,7 +1,7 @@
 /*
   This file is part of DRD, a thread error detector.
 
-  Copyright (C) 2009-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2009-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_bitmap.c b/drd/drd_bitmap.c
index d7e4f91..c5e8a1d 100644
--- a/drd/drd_bitmap.c
+++ b/drd/drd_bitmap.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_bitmap.h b/drd/drd_bitmap.h
index 372c787..9362e82 100644
--- a/drd/drd_bitmap.h
+++ b/drd/drd_bitmap.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -136,9 +136,11 @@
 #define BITS_PER_UWORD (8U * sizeof(UWord))
 
 /** Log2 of BITS_PER_UWORD. */
-#if defined(VGA_x86) || defined(VGA_ppc32) || defined(VGA_arm)
+#if defined(VGA_x86) || defined(VGA_ppc32) || defined(VGA_arm) \
+    || defined(VGA_mips32)
 #define BITS_PER_BITS_PER_UWORD 5
-#elif defined(VGA_amd64) || defined(VGA_ppc64) || defined(VGA_s390x)
+#elif defined(VGA_amd64) || defined(VGA_ppc64) || defined(VGA_s390x) \
+      || defined(VGA_mips64)
 #define BITS_PER_BITS_PER_UWORD 6
 #else
 #error Unknown platform.
diff --git a/drd/drd_clientobj.c b/drd/drd_clientobj.c
index bd829a9..a7996f5 100644
--- a/drd/drd_clientobj.c
+++ b/drd/drd_clientobj.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -243,7 +243,7 @@
    }
 }
 
-const char* DRD_(clientobj_type_name)(const ObjType t)
+const HChar* DRD_(clientobj_type_name)(const ObjType t)
 {
    switch (t)
    {
diff --git a/drd/drd_clientobj.h b/drd/drd_clientobj.h
index 63dd104..fc4ae50 100644
--- a/drd/drd_clientobj.h
+++ b/drd/drd_clientobj.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -165,7 +165,7 @@
 Bool DRD_(clientobj_remove)(const Addr addr, const ObjType t);
 void DRD_(clientobj_stop_using_mem)(const Addr a1, const Addr a2);
 void DRD_(clientobj_delete_thread)(const DrdThreadId tid);
-const char* DRD_(clientobj_type_name)(const ObjType t);
+const HChar* DRD_(clientobj_type_name)(const ObjType t);
 
 
 #endif /* __DRD_CLIENTOBJ_H */
diff --git a/drd/drd_clientreq.c b/drd/drd_clientreq.c
index be16544..289f3a0 100644
--- a/drd/drd_clientreq.c
+++ b/drd/drd_clientreq.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -69,6 +69,12 @@
  * DRD's handler for Valgrind client requests. The code below handles both
  * DRD's public and tool-internal client requests.
  */
+#if defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+ /* There is a cse related issue in gcc for MIPS. Optimization level
+    has to be lowered, so cse related optimizations are not
+    included. */
+ __attribute__((optimize("O1")))
+#endif
 static Bool handle_client_request(ThreadId vg_tid, UWord* arg, UWord* ret)
 {
    UWord result = 0;
@@ -136,7 +142,7 @@
       break;
 
    case VG_USERREQ__DRD_SET_THREAD_NAME:
-      DRD_(thread_set_name)(drd_tid, (const char*)arg[1]);
+      DRD_(thread_set_name)(drd_tid, (const HChar*)arg[1]);
       break;
 
    case VG_USERREQ__DRD_START_SUPPRESSION:
@@ -367,7 +373,7 @@
 
    case VG_USERREQ__POST_COND_DESTROY:
       if (DRD_(thread_leave_synchr)(drd_tid) == 0)
-         DRD_(cond_post_destroy)(arg[1]);
+         DRD_(cond_post_destroy)(arg[1], arg[2]);
       break;
 
    case VG_USERREQ__PRE_COND_WAIT:
@@ -434,7 +440,7 @@
 
    case VG_USERREQ__POST_SEM_OPEN:
       if (DRD_(thread_leave_synchr)(drd_tid) == 0)
-         DRD_(semaphore_open)(arg[1], (Char*)arg[2], arg[3], arg[4], arg[5]);
+         DRD_(semaphore_open)(arg[1], (HChar*)arg[2], arg[3], arg[4], arg[5]);
       break;
 
    case VG_USERREQ__PRE_SEM_CLOSE:
@@ -542,7 +548,7 @@
           * freed, e.g. because it points to static data.
           */
          UnimpClReqInfo UICR =
-            { DRD_(thread_get_running_tid)(), (Char*)arg[1] };
+            { DRD_(thread_get_running_tid)(), (HChar*)arg[1] };
          VG_(maybe_record_error)(vg_tid,
                                  UnimpHgClReq,
                                  VG_(get_IP)(vg_tid),
@@ -557,7 +563,7 @@
           * freed, e.g. because it points to static data.
           */
          UnimpClReqInfo UICR =
-            { DRD_(thread_get_running_tid)(), (Char*)arg[1] };
+            { DRD_(thread_get_running_tid)(), (HChar*)arg[1] };
          VG_(maybe_record_error)(vg_tid,
                                  UnimpDrdClReq,
                                  VG_(get_IP)(vg_tid),
diff --git a/drd/drd_clientreq.h b/drd/drd_clientreq.h
index 5d2b090..f717729 100644
--- a/drd/drd_clientreq.h
+++ b/drd/drd_clientreq.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -125,7 +125,7 @@
    /* args: Addr */
    /* to notify the drd tool of a pthread_cond_destroy call. */
    VG_USERREQ__POST_COND_DESTROY,
-   /* args: Addr */
+   /* args: Addr cond, Bool destroy_succeeded */
    VG_USERREQ__PRE_COND_WAIT,
    /* args: Addr cond, Addr mutex, MutexT mt */
    VG_USERREQ__POST_COND_WAIT,
diff --git a/drd/drd_cond.c b/drd/drd_cond.c
index 5ed0f33..5f4b3fa 100644
--- a/drd/drd_cond.c
+++ b/drd/drd_cond.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -152,8 +152,7 @@
 
    p = DRD_(cond_get)(cond);
 
-   if (p)
-   {
+   if (p) {
       CondErrInfo cei = { .tid = DRD_(thread_get_running_tid)(), .cond = cond };
       VG_(maybe_record_error)(VG_(get_running_tid)(),
                               CondErr,
@@ -162,11 +161,11 @@
                               &cei);
    }
 
-   p = cond_get_or_allocate(cond);
+   cond_get_or_allocate(cond);
 }
 
 /** Called after pthread_cond_destroy(). */
-void DRD_(cond_post_destroy)(const Addr cond)
+void DRD_(cond_post_destroy)(const Addr cond, const Bool destroy_succeeded)
 {
    struct cond_info* p;
 
@@ -197,7 +196,8 @@
                               &cei);
    }
 
-   DRD_(clientobj_remove)(p->a1, ClientCondvar);
+   if (destroy_succeeded)
+      DRD_(clientobj_remove)(p->a1, ClientCondvar);
 }
 
 /**
diff --git a/drd/drd_cond.h b/drd/drd_cond.h
index a3b031d..d646201 100644
--- a/drd/drd_cond.h
+++ b/drd/drd_cond.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -47,7 +47,7 @@
 void DRD_(cond_set_trace)(const Bool trace_cond);
 struct cond_info* DRD_(cond_get)(const Addr cond);
 void DRD_(cond_pre_init)(const Addr cond);
-void DRD_(cond_post_destroy)(const Addr cond);
+void DRD_(cond_post_destroy)(const Addr cond, const Bool destroy_succeeded);
 void DRD_(cond_pre_wait)(const Addr cond, const Addr mutex);
 void DRD_(cond_post_wait)(const Addr cond);
 void DRD_(cond_pre_signal)(const Addr cond);
diff --git a/drd/drd_darwin_intercepts.c b/drd/drd_darwin_intercepts.c
index 074bee0..d1c2651 100644
--- a/drd/drd_darwin_intercepts.c
+++ b/drd/drd_darwin_intercepts.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_error.c b/drd/drd_error.c
index 16f46e8..cf1944d 100644
--- a/drd/drd_error.c
+++ b/drd/drd_error.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -43,7 +43,7 @@
 
 /* Local function declarations. */
 
-static Char* drd_get_error_name(Error* e);
+static const HChar* drd_get_error_name(Error* e);
 
 
 /* Local variables. */
@@ -56,7 +56,7 @@
    s_show_conflicting_segments = scs;
 }
 
-void DRD_(trace_msg)(const char* format, ...)
+void DRD_(trace_msg)(const HChar* format, ...)
 {
    va_list vargs;
    va_start(vargs, format);
@@ -71,7 +71,7 @@
    va_end(vargs);
 }
 
-void DRD_(trace_msg_w_bt)(const char* format, ...)
+void DRD_(trace_msg_w_bt)(const HChar* format, ...)
 {
    va_list vargs;
    va_start(vargs, format);
@@ -92,8 +92,8 @@
 /**
  * Emit error message detail in the format requested by the user.
  */
-static void print_err_detail(const char* format, ...) PRINTF_CHECK(1, 2);
-static void print_err_detail(const char* format, ...)
+static void print_err_detail(const HChar* format, ...) PRINTF_CHECK(1, 2);
+static void print_err_detail(const HChar* format, ...)
 {
    va_list vargs;
    va_start(vargs, format);
@@ -154,11 +154,11 @@
 void drd_report_data_race(Error* const err, const DataRaceErrInfo* const dri)
 {
    const Bool xml = VG_(clo_xml);
-   const char* const what_prefix = xml ? "  <what>" : "";
-   const char* const what_suffix = xml ? "</what>" : "";
-   const char* const auxwhat_prefix = xml ? "  <auxwhat>" : "";
-   const char* const auxwhat_suffix = xml ? "</auxwhat>" : "";
-   const char* const indent = xml ? "  " : "";
+   const HChar* const what_prefix = xml ? "  <what>" : "";
+   const HChar* const what_suffix = xml ? "</what>" : "";
+   const HChar* const auxwhat_prefix = xml ? "  <auxwhat>" : "";
+   const HChar* const auxwhat_suffix = xml ? "</auxwhat>" : "";
+   const HChar* const indent = xml ? "  " : "";
    AddrInfo ai;
 
    XArray* /* of HChar */ descr1
@@ -222,7 +222,7 @@
       if (xml)
          print_err_detail("  </allocation_context>\n");
    } else {
-      char sect_name[64];
+      HChar sect_name[64];
       VgSectKind sect_kind;
 
       sect_kind = VG_(DebugInfo_sect_kind)(sect_name, sizeof(sect_name),
@@ -301,8 +301,8 @@
 static void drd_tool_error_pp(Error* const e)
 {
    const Bool xml = VG_(clo_xml);
-   const char* const what_prefix = xml ? "  <what>" : "";
-   const char* const what_suffix = xml ? "</what>" : "";
+   const HChar* const what_prefix = xml ? "  <what>" : "";
+   const HChar* const what_suffix = xml ? "</what>" : "";
 
    if (xml)
       VG_(printf_xml)( "  <kind>%pS</kind>\n", drd_get_error_name(e));
@@ -507,7 +507,8 @@
  * types supported by DRD. So try to match the suppression name against the
  * names of DRD error types.
  */
-static Bool drd_is_recognized_suppression(Char* const name, Supp* const supp)
+static Bool drd_is_recognized_suppression(const HChar* const name,
+                                          Supp* const supp)
 {
    DrdErrorKind skind = 0;
 
@@ -554,7 +555,7 @@
  * that reading the 'extra' lines succeeded.
  */
 static
-Bool drd_read_extra_suppression_info(Int fd, Char** bufpp,
+Bool drd_read_extra_suppression_info(Int fd, HChar** bufpp,
                                      SizeT* nBufp, Supp* supp)
 {
    return True;
@@ -569,7 +570,7 @@
    return VG_(get_supp_kind)(supp) == VG_(get_error_kind)(e);
 }
 
-static Char* drd_get_error_name(Error* e)
+static const HChar* drd_get_error_name(Error* e)
 {
    switch (VG_(get_error_kind)(e))
    {
@@ -602,7 +603,7 @@
  */
 static
 Bool drd_get_extra_suppression_info(Error* e,
-                                    /*OUT*/Char* buf, Int nBuf)
+                                    /*OUT*/HChar* buf, Int nBuf)
 {
    return False;
 }
diff --git a/drd/drd_error.h b/drd/drd_error.h
index 738e789..0829d11 100644
--- a/drd/drd_error.h
+++ b/drd/drd_error.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -90,8 +90,8 @@
    ExeContext* lastchange;    //   Mallocd
    DrdThreadId stack_tid;     //   Stack
    DebugInfo*  debuginfo;     //   Segment
-   Char        name[256];     //   Segment
-   Char        descr[256];    //   Segment
+   HChar       name[256];     //   Segment
+   HChar       descr[256];    //   Segment
 } AddrInfo;
 
 /*
@@ -174,13 +174,13 @@
 
 typedef struct {
    DrdThreadId tid;
-   Char*       descr;
+   HChar*      descr;
 } UnimpClReqInfo;
 
 void DRD_(set_show_conflicting_segments)(const Bool scs);
 void DRD_(register_error_handlers)(void);
-void DRD_(trace_msg)(const char* format, ...) PRINTF_CHECK(1, 2);
-void DRD_(trace_msg_w_bt)(const char* format, ...) PRINTF_CHECK(1, 2);
+void DRD_(trace_msg)(const HChar* format, ...) PRINTF_CHECK(1, 2);
+void DRD_(trace_msg_w_bt)(const HChar* format, ...) PRINTF_CHECK(1, 2);
 
 
 #endif /* __DRD_ERROR_H */
diff --git a/drd/drd_hb.c b/drd/drd_hb.c
index ff02f95..b59b6bb 100644
--- a/drd/drd_hb.c
+++ b/drd/drd_hb.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_hb.h b/drd/drd_hb.h
index ee8dd94..e0c8b18 100644
--- a/drd/drd_hb.h
+++ b/drd/drd_hb.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_load_store.c b/drd/drd_load_store.c
index 3d99112..e2f0e0b 100644
--- a/drd/drd_load_store.c
+++ b/drd/drd_load_store.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -49,6 +49,10 @@
 #define STACK_POINTER_OFFSET OFFSET_arm_R13
 #elif defined(VGA_s390x)
 #define STACK_POINTER_OFFSET OFFSET_s390x_r15
+#elif defined(VGA_mips32)
+#define STACK_POINTER_OFFSET OFFSET_mips32_r29
+#elif defined(VGA_mips64)
+#define STACK_POINTER_OFFSET OFFSET_mips64_r29
 #else
 #error Unknown architecture.
 #endif
@@ -91,7 +95,7 @@
 {
    if (DRD_(is_any_traced)(addr, addr + size))
    {
-      char* vc;
+      HChar* vc;
 
       vc = DRD_(vc_aprint)(DRD_(thread_get_vc)(DRD_(thread_get_running_tid)()));
       if (access_type == eStore && size <= sizeof(HWord)) {
@@ -310,7 +314,7 @@
    if (addr_expr->tag == Iex_RdTmp)
    {
       int i;
-      for (i = 0; i < bb->stmts_size; i++)
+      for (i = 0; i < bb->stmts_used; i++)
       {
          if (bb->stmts[i]
              && bb->stmts[i]->tag == Ist_WrTmp
@@ -342,21 +346,22 @@
  * Instrument the client code to trace a memory load (--trace-addr).
  */
 static IRExpr* instr_trace_mem_load(IRSB* const bb, IRExpr* addr_expr,
-                                    const HWord size)
+                                    const HWord size,
+                                    IRExpr* const guard/* NULL => True */)
 {
    IRTemp tmp;
 
    tmp = newIRTemp(bb->tyenv, typeOfIRExpr(bb->tyenv, addr_expr));
    addStmtToIRSB(bb, IRStmt_WrTmp(tmp, addr_expr));
    addr_expr = IRExpr_RdTmp(tmp);
-
-   addStmtToIRSB(bb,
-      IRStmt_Dirty(
-         unsafeIRDirty_0_N(/*regparms*/2,
-                           "drd_trace_mem_load",
-                           VG_(fnptr_to_fnentry)
-                           (drd_trace_mem_load),
-                           mkIRExprVec_2(addr_expr, mkIRExpr_HWord(size)))));
+   IRDirty* di
+     = unsafeIRDirty_0_N(/*regparms*/2,
+                         "drd_trace_mem_load",
+                         VG_(fnptr_to_fnentry)
+                         (drd_trace_mem_load),
+                         mkIRExprVec_2(addr_expr, mkIRExpr_HWord(size)));
+   if (guard) di->guard = guard;
+   addStmtToIRSB(bb, IRStmt_Dirty(di));
 
    return addr_expr;
 }
@@ -365,7 +370,8 @@
  * Instrument the client code to trace a memory store (--trace-addr).
  */
 static void instr_trace_mem_store(IRSB* const bb, IRExpr* const addr_expr,
-                                  IRExpr* data_expr_hi, IRExpr* data_expr_lo)
+                                  IRExpr* data_expr_hi, IRExpr* data_expr_lo,
+                                  IRExpr* const guard/* NULL => True */)
 {
    IRType ty_data_expr;
    HWord size;
@@ -451,18 +457,20 @@
          data_expr_lo = mkIRExpr_HWord(0);
       }
    }
-   addStmtToIRSB(bb,
-      IRStmt_Dirty(
-         unsafeIRDirty_0_N(/*regparms*/3,
-                           "drd_trace_mem_store",
-                           VG_(fnptr_to_fnentry)(drd_trace_mem_store),
-                           mkIRExprVec_4(addr_expr, mkIRExpr_HWord(size),
-                                         data_expr_hi ? data_expr_hi
-                                         : mkIRExpr_HWord(0), data_expr_lo))));
+   IRDirty* di
+     = unsafeIRDirty_0_N(/*regparms*/3,
+                         "drd_trace_mem_store",
+                         VG_(fnptr_to_fnentry)(drd_trace_mem_store),
+                         mkIRExprVec_4(addr_expr, mkIRExpr_HWord(size),
+                                       data_expr_hi ? data_expr_hi
+                                       : mkIRExpr_HWord(0), data_expr_lo));
+   if (guard) di->guard = guard;
+   addStmtToIRSB(bb, IRStmt_Dirty(di) );
 }
 
 static void instrument_load(IRSB* const bb, IRExpr* const addr_expr,
-                            const HWord size)
+                            const HWord size,
+                            IRExpr* const guard/* NULL => True */)
 {
    IRExpr* size_expr;
    IRExpr** argv;
@@ -510,11 +518,13 @@
                              argv);
       break;
    }
+   if (guard) di->guard = guard;
    addStmtToIRSB(bb, IRStmt_Dirty(di));
 }
 
 static void instrument_store(IRSB* const bb, IRExpr* addr_expr,
-                             IRExpr* const data_expr)
+                             IRExpr* const data_expr,
+                             IRExpr* const guard_expr/* NULL => True */)
 {
    IRExpr* size_expr;
    IRExpr** argv;
@@ -527,7 +537,7 @@
       IRTemp tmp = newIRTemp(bb->tyenv, typeOfIRExpr(bb->tyenv, addr_expr));
       addStmtToIRSB(bb, IRStmt_WrTmp(tmp, addr_expr));
       addr_expr = IRExpr_RdTmp(tmp);
-      instr_trace_mem_store(bb, addr_expr, NULL, data_expr);
+      instr_trace_mem_store(bb, addr_expr, NULL, data_expr, guard_expr);
    }
 
    if (!s_check_stack_accesses && is_stack_access(bb, addr_expr))
@@ -572,6 +582,7 @@
                              argv);
       break;
    }
+   if (guard_expr) di->guard = guard_expr;
    addStmtToIRSB(bb, IRStmt_Dirty(di));
 }
 
@@ -579,6 +590,7 @@
                        IRSB* const bb_in,
                        VexGuestLayout* const layout,
                        VexGuestExtents* const vge,
+                       VexArchInfo* archinfo_host,
                        IRType const gWordTy,
                        IRType const hWordTy)
 {
@@ -628,10 +640,38 @@
 
       case Ist_Store:
          if (instrument)
-            instrument_store(bb, st->Ist.Store.addr, st->Ist.Store.data);
+            instrument_store(bb, st->Ist.Store.addr, st->Ist.Store.data,
+                             NULL/* no guard */);
          addStmtToIRSB(bb, st);
          break;
 
+      case Ist_StoreG: {
+         IRStoreG* sg   = st->Ist.StoreG.details;
+         IRExpr*   data = sg->data;
+         IRExpr*   addr = sg->addr;
+         if (instrument)
+            instrument_store(bb, addr, data, sg->guard);
+         addStmtToIRSB(bb, st);
+         break;
+      }
+
+      case Ist_LoadG: {
+         IRLoadG* lg        = st->Ist.LoadG.details;
+         IRType   type      = Ity_INVALID; /* loaded type */
+         IRType   typeWide  = Ity_INVALID; /* after implicit widening */
+         IRExpr*  addr_expr = lg->addr;
+         typeOfIRLoadGOp(lg->cvt, &typeWide, &type);
+         tl_assert(type != Ity_INVALID);
+         if (UNLIKELY(DRD_(any_address_is_traced)())) {
+            addr_expr = instr_trace_mem_load(bb, addr_expr,
+                                             sizeofIRType(type), lg->guard);
+         }
+         instrument_load(bb, lg->addr,
+                         sizeofIRType(type), lg->guard);
+         addStmtToIRSB(bb, st);
+         break;
+      }
+
       case Ist_WrTmp:
          if (instrument) {
             const IRExpr* const data = st->Ist.WrTmp.data;
@@ -639,10 +679,11 @@
             if (data->tag == Iex_Load) {
                if (UNLIKELY(DRD_(any_address_is_traced)())) {
                   addr_expr = instr_trace_mem_load(bb, addr_expr,
-                                       sizeofIRType(data->Iex.Load.ty));
+                                       sizeofIRType(data->Iex.Load.ty),
+                                       NULL/* no guard */);
                }
-               instrument_load(bb, data->Iex.Load.addr,
-                               sizeofIRType(data->Iex.Load.ty));
+               instrument_load(bb, addr_expr, sizeofIRType(data->Iex.Load.ty),
+                               NULL/* no guard */);
             }
          }
          addStmtToIRSB(bb, st);
@@ -706,9 +747,10 @@
                dataSize *= 2; /* since it's a doubleword-CAS */
 
             if (UNLIKELY(DRD_(any_address_is_traced)()))
-               instr_trace_mem_store(bb, cas->addr, cas->dataHi, cas->dataLo);
+               instr_trace_mem_store(bb, cas->addr, cas->dataHi, cas->dataLo,
+                                     NULL/* no guard */);
 
-            instrument_load(bb, cas->addr, dataSize);
+            instrument_load(bb, cas->addr, dataSize, NULL/*no guard*/);
          }
          addStmtToIRSB(bb, st);
          break;
@@ -727,14 +769,17 @@
                IRExpr* addr_expr = st->Ist.LLSC.addr;
                if (UNLIKELY(DRD_(any_address_is_traced)()))
                   addr_expr = instr_trace_mem_load(bb, addr_expr,
-                                                   sizeofIRType(dataTy));
+                                                   sizeofIRType(dataTy),
+                                                   NULL /* no guard */);
 
-               instrument_load(bb, addr_expr, sizeofIRType(dataTy));
+               instrument_load(bb, addr_expr, sizeofIRType(dataTy),
+                               NULL/*no guard*/);
             }
          } else {
             /* SC */
             instr_trace_mem_store(bb, st->Ist.LLSC.addr, NULL,
-                                  st->Ist.LLSC.storedata);
+                                  st->Ist.LLSC.storedata,
+                                  NULL/* no guard */);
          }
          addStmtToIRSB(bb, st);
          break;
diff --git a/drd/drd_load_store.h b/drd/drd_load_store.h
index 7f2d0de..4269edd 100644
--- a/drd/drd_load_store.h
+++ b/drd/drd_load_store.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -43,6 +43,7 @@
                        IRSB* const bb_in,
                        VexGuestLayout* const layout,
                        VexGuestExtents* const vge,
+                       VexArchInfo* const archinfo_host,
                        IRType const gWordTy,
                        IRType const hWordTy);
 void DRD_(trace_mem_access)(const Addr addr, const SizeT size,
diff --git a/drd/drd_main.c b/drd/drd_main.c
index 7c7ef9f..358ec83 100644
--- a/drd/drd_main.c
+++ b/drd/drd_main.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -65,7 +65,7 @@
 /**
  * Implement the needs_command_line_options for drd.
  */
-static Bool DRD_(process_cmd_line_option)(Char* arg)
+static Bool DRD_(process_cmd_line_option)(const HChar* arg)
 {
    int check_stack_accesses   = -1;
    int join_list_vol          = -1;
@@ -89,8 +89,8 @@
    int trace_segment          = -1;
    int trace_semaphore        = -1;
    int trace_suppression      = -1;
-   Char* trace_address        = 0;
-   Char* ptrace_address       = 0;
+   const HChar* trace_address = 0;
+   const HChar* ptrace_address= 0;
 
    if      VG_BOOL_CLO(arg, "--check-stack-var",     check_stack_accesses) {}
    else if VG_INT_CLO (arg, "--join-list-vol",       join_list_vol) {}
@@ -262,7 +262,7 @@
 
 static void drd_pre_mem_read(const CorePart part,
                              const ThreadId tid,
-                             Char* const s,
+                             const HChar* const s,
                              const Addr a,
                              const SizeT size)
 {
@@ -274,10 +274,10 @@
 
 static void drd_pre_mem_read_asciiz(const CorePart part,
                                     const ThreadId tid,
-                                    Char* const s,
+                                    const HChar* const s,
                                     const Addr a)
 {
-   const char* p = (void*)a;
+   const HChar* p = (void*)a;
    SizeT size = 0;
 
    // Don't segfault if the string starts in an obviously stupid
@@ -399,7 +399,7 @@
 static const Bool trace_sectsuppr = False;
 
 /**
- * Suppress data race reports on all addresses contained in .plt and
+ * Suppress data race reports on all addresses contained in .plt, .got and
  * .got.plt sections inside the address range [ a, a + len [. The data in
  * these sections is modified by _dl_relocate_object() every time a function
  * in a shared library is called for the first time. Since the first call
@@ -407,6 +407,7 @@
  * such calls can cause conflicting accesses. See also Ulrich Drepper's
  * paper "How to Write Shared Libraries" for more information about relocation
  * (http://people.redhat.com/drepper/dsohowto.pdf).
+ * Note: the contents of the .got section is only modified by the MIPS resolver.
  */
 static void DRD_(suppress_relocation_conflicts)(const Addr a, const SizeT len)
 {
@@ -442,6 +443,16 @@
          tl_assert(VG_(DebugInfo_sect_kind)(NULL, 0, avma) == Vg_SectGOTPLT);
          DRD_(start_suppression)(avma, avma + size, ".gotplt");
       }
+
+      avma = VG_(DebugInfo_get_got_avma)(di);
+      size = VG_(DebugInfo_get_got_size)(di);
+      tl_assert((avma && size) || (avma == 0 && size == 0));
+      if (size > 0) {
+	 if (trace_sectsuppr)
+	    VG_(dmsg)("Suppressing .got @ 0x%lx size %ld\n", avma, size);
+         tl_assert(VG_(DebugInfo_sect_kind)(NULL, 0, avma) == Vg_SectGOT);
+         DRD_(start_suppression)(avma, avma + size, ".got");
+      }
    }
 }
 
@@ -569,8 +580,8 @@
  * Callback function called by the Valgrind core before a stack area is
  * being used by a signal handler.
  *
- * @param[in] a   Start of address range.
- * @param[in] len Address range length.
+ * @param[in] a   Start of address range - VG_STACK_REDZONE_SZB.
+ * @param[in] len Address range length + VG_STACK_REDZONE_SZB.
  * @param[in] tid Valgrind thread ID for whom the signal frame is being
  *                constructed.
  */
@@ -578,12 +589,14 @@
                                              ThreadId tid)
 {
    DRD_(thread_set_vg_running_tid)(VG_(get_running_tid)());
-   drd_start_using_mem(a, len, True);
+   drd_start_using_mem(a + VG_STACK_REDZONE_SZB, len - VG_STACK_REDZONE_SZB,
+                       True);
 }
 
 static void drd_stop_using_mem_stack_signal(Addr a, SizeT len)
 {
-   drd_stop_using_mem(a, len, True);
+   drd_stop_using_mem(a + VG_STACK_REDZONE_SZB, len - VG_STACK_REDZONE_SZB,
+                      True);
 }
 
 static
@@ -784,7 +797,7 @@
    VG_(details_name)            ("drd");
    VG_(details_version)         (NULL);
    VG_(details_description)     ("a thread error detector");
-   VG_(details_copyright_author)("Copyright (C) 2006-2011, and GNU GPL'd,"
+   VG_(details_copyright_author)("Copyright (C) 2006-2012, and GNU GPL'd,"
                                  " by Bart Van Assche.");
    VG_(details_bug_reports_to)  (VG_BUGS_TO);
 
@@ -838,7 +851,7 @@
    DRD_(thread_init)();
 
    {
-      Char* const smi = VG_(getenv)("DRD_SEGMENT_MERGING_INTERVAL");
+      HChar* const smi = VG_(getenv)("DRD_SEGMENT_MERGING_INTERVAL");
       if (smi)
          DRD_(thread_set_segment_merge_interval)(VG_(strtoll10)(smi, NULL));
    }
diff --git a/drd/drd_malloc_wrappers.c b/drd/drd_malloc_wrappers.c
index 6eaa674..95f0627 100644
--- a/drd/drd_malloc_wrappers.c
+++ b/drd/drd_malloc_wrappers.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -131,10 +131,10 @@
    if (mc)
    {
       tl_assert(p == mc->data);
-      if (dealloc)
-	 VG_(cli_free)((void*)p);
       if (mc->size > 0)
          s_stop_using_mem_callback(mc->data, mc->size);
+      if (dealloc)
+	 VG_(cli_free)((void*)p);
       VG_(HT_remove)(s_malloc_list, (UWord)p);
       VG_(free)(mc);
       return True;
@@ -228,9 +228,9 @@
          VG_(memcpy)(p_new, p_old, mc->size);
 
          /* Free old memory. */
-         VG_(cli_free)(p_old);
          if (mc->size > 0)
             s_stop_using_mem_callback(mc->data, mc->size);
+         VG_(cli_free)(p_old);
          VG_(HT_remove)(s_malloc_list, (UWord)p_old);
 
          /* Update state information. */
diff --git a/drd/drd_malloc_wrappers.h b/drd/drd_malloc_wrappers.h
index 63bf4c4..aaff883 100644
--- a/drd/drd_malloc_wrappers.h
+++ b/drd/drd_malloc_wrappers.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_mutex.c b/drd/drd_mutex.c
index 29aa842..a073f56 100644
--- a/drd/drd_mutex.c
+++ b/drd/drd_mutex.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -445,14 +445,14 @@
    }
 }
 
-const char* DRD_(mutex_get_typename)(struct mutex_info* const p)
+const HChar* DRD_(mutex_get_typename)(struct mutex_info* const p)
 {
    tl_assert(p);
 
    return DRD_(mutex_type_name)(p->mutex_type);
 }
 
-const char* DRD_(mutex_type_name)(const MutexT mt)
+const HChar* DRD_(mutex_type_name)(const MutexT mt)
 {
    switch (mt)
    {
diff --git a/drd/drd_mutex.h b/drd/drd_mutex.h
index d2e51e4..205d43d 100644
--- a/drd/drd_mutex.h
+++ b/drd/drd_mutex.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -46,8 +46,8 @@
                            const Bool post_cond_wait);
 void DRD_(mutex_unlock)(const Addr mutex, const MutexT mutex_type);
 void DRD_(spinlock_init_or_unlock)(const Addr spinlock);
-const char* DRD_(mutex_get_typename)(struct mutex_info* const p);
-const char* DRD_(mutex_type_name)(const MutexT mt);
+const HChar* DRD_(mutex_get_typename)(struct mutex_info* const p);
+const HChar* DRD_(mutex_type_name)(const MutexT mt);
 Bool DRD_(mutex_is_locked_by)(const Addr mutex, const DrdThreadId tid);
 int DRD_(mutex_get_recursion_count)(const Addr mutex);
 ULong DRD_(get_mutex_lock_count)(void);
diff --git a/drd/drd_pthread_intercepts.c b/drd/drd_pthread_intercepts.c
index 5ed4ed9..aab078f 100644
--- a/drd/drd_pthread_intercepts.c
+++ b/drd/drd_pthread_intercepts.c
@@ -5,7 +5,7 @@
 /*
   This file is part of DRD, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -367,7 +367,7 @@
 #if defined(linux)
 #if defined(_CS_GNU_LIBPTHREAD_VERSION)
    /* Linux with a recent glibc. */
-   char buffer[256];
+   HChar buffer[256];
    unsigned len;
    len = confstr(_CS_GNU_LIBPTHREAD_VERSION, buffer, sizeof(buffer));
    assert(len <= sizeof(buffer));
@@ -717,7 +717,7 @@
                                    cond, 0, 0, 0, 0);
    CALL_FN_W_W(ret, fn, cond);
    VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_COND_DESTROY,
-                                   cond, 0, 0, 0, 0);
+                                   cond, ret==0, 0, 0, 0);
    return ret;
 }
 
@@ -803,7 +803,8 @@
 PTH_FUNCS(int, pthreadZucondZubroadcast, pthread_cond_broadcast_intercept,
           (pthread_cond_t* cond), (cond));
 
-#if defined(HAVE_PTHREAD_SPIN_LOCK)
+#if defined(HAVE_PTHREAD_SPIN_LOCK) \
+    && !defined(DISABLE_PTHREAD_SPINLOCK_INTERCEPT)
 static __always_inline
 int pthread_spin_init_intercept(pthread_spinlock_t *spinlock, int pshared)
 {
diff --git a/drd/drd_qtcore_intercepts.c b/drd/drd_qtcore_intercepts.c
index 23c7d9e..2dd7ced 100644
--- a/drd/drd_qtcore_intercepts.c
+++ b/drd/drd_qtcore_intercepts.c
@@ -5,7 +5,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_rwlock.c b/drd/drd_rwlock.c
index fdcbe3d..e06c277 100644
--- a/drd/drd_rwlock.c
+++ b/drd/drd_rwlock.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_rwlock.h b/drd/drd_rwlock.h
index c51a229..7c5a04d 100644
--- a/drd/drd_rwlock.h
+++ b/drd/drd_rwlock.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_segment.c b/drd/drd_segment.c
index 32a74c3..7d5d5d9 100644
--- a/drd/drd_segment.c
+++ b/drd/drd_segment.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -94,7 +94,7 @@
 
    if (s_trace_segment)
    {
-      char* vc;
+      HChar* vc;
 
       vc = DRD_(vc_aprint)(&sg->vc);
       VG_(message)(Vg_DebugMsg, "New segment for thread %d with vc %s\n",
@@ -138,7 +138,7 @@
 {
    if (DRD_(sg_get_trace)())
    {
-      char* vc;
+      HChar* vc;
 
       vc = DRD_(vc_aprint)(&sg->vc);
       VG_(message)(Vg_DebugMsg, "Discarding the segment with vector clock %s\n",
@@ -179,7 +179,7 @@
 
    if (s_trace_segment)
    {
-      char* vc;
+      HChar* vc;
 
       vc = DRD_(vc_aprint)(&sg->vc);
       VG_(message)(Vg_DebugMsg,
@@ -206,7 +206,7 @@
 
    if (s_trace_segment)
    {
-      char *vc1, *vc2;
+      HChar *vc1, *vc2;
 
       vc1 = DRD_(vc_aprint)(&sg1->vc);
       vc2 = DRD_(vc_aprint)(&sg2->vc);
diff --git a/drd/drd_segment.h b/drd/drd_segment.h
index 1df257f..d2d787a 100644
--- a/drd/drd_segment.h
+++ b/drd/drd_segment.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_semaphore.c b/drd/drd_semaphore.c
index 72c74dd..3a8b207 100644
--- a/drd/drd_semaphore.c
+++ b/drd/drd_semaphore.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -245,7 +245,7 @@
 
 /** Called after sem_open(). */
 struct semaphore_info* DRD_(semaphore_open)(const Addr semaphore,
-                                            const Char* name, const Word oflag,
+                                            const HChar* name, const Word oflag,
                                             const Word mode, const UInt value)
 {
    struct semaphore_info* p;
@@ -339,8 +339,7 @@
 
 /**
  * Called after sem_wait() finished.
- * @note Do not rely on the value of 'waited' -- some glibc versions do
- *       not set it correctly.
+ * @note Some C libraries do not set the 'waited' value correctly.
  */
 void DRD_(semaphore_post_wait)(const DrdThreadId tid, const Addr semaphore,
                                const Bool waited)
@@ -348,16 +347,17 @@
    struct semaphore_info* p;
    Segment* sg;
 
+   tl_assert(waited == 0 || waited == 1);
    p = semaphore_get(semaphore);
    if (s_trace_semaphore)
-      DRD_(trace_msg)("[%d] sem_wait      0x%lx value %u -> %u",
+      DRD_(trace_msg)("[%d] sem_wait      0x%lx value %u -> %u%s",
                       DRD_(thread_get_running_tid)(), semaphore,
-                      p ? p->value : 0, p ? p->value - 1 : 0);
+                      p ? p->value : 0, p ? p->value - waited : 0,
+		      waited ? "" : " (did not wait)");
 
-   if (p)
-   {
+   if (p) {
       p->waiters--;
-      p->value--;
+      p->value -= waited;
    }
 
    /*
@@ -378,6 +378,9 @@
       return;
    }
 
+   if (!waited)
+      return;
+
    if (p->waits_to_skip > 0)
       p->waits_to_skip--;
    else
diff --git a/drd/drd_semaphore.h b/drd/drd_semaphore.h
index 1f59300..62042a5 100644
--- a/drd/drd_semaphore.h
+++ b/drd/drd_semaphore.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -42,7 +42,7 @@
                                             const UInt value);
 void DRD_(semaphore_destroy)(const Addr semaphore);
 struct semaphore_info* DRD_(semaphore_open)(const Addr semaphore,
-                                            const Char* name, const Word oflag,
+                                            const HChar* name, const Word oflag,
                                             const Word mode, const UInt value);
 void DRD_(semaphore_close)(const Addr semaphore);
 void DRD_(semaphore_pre_wait)(const Addr semaphore);
diff --git a/drd/drd_strmem_intercepts.c b/drd/drd_strmem_intercepts.c
index d8d742b..d5fb6e1 100644
--- a/drd/drd_strmem_intercepts.c
+++ b/drd/drd_strmem_intercepts.c
@@ -9,7 +9,7 @@
   from memchec/mc_replace_strmem.c, which has the following copyright
   notice:
 
-  Copyright (C) 2000-2011 Julian Seward
+  Copyright (C) 2000-2012 Julian Seward
   jseward@acm.org
 
   This program is free software; you can redistribute it and/or
diff --git a/drd/drd_suppression.c b/drd/drd_suppression.c
index 07b81df..65768cb 100644
--- a/drd/drd_suppression.c
+++ b/drd/drd_suppression.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -60,7 +60,7 @@
 }
 
 void DRD_(start_suppression)(const Addr a1, const Addr a2,
-                             const char* const reason)
+                             const HChar* const reason)
 {
    if (s_trace_suppression)
       VG_(message)(Vg_DebugMsg, "start suppression of 0x%lx sz %ld (%s)\n",
diff --git a/drd/drd_suppression.h b/drd/drd_suppression.h
index 0fe8bdf..908877a 100644
--- a/drd/drd_suppression.h
+++ b/drd/drd_suppression.h
@@ -12,7 +12,7 @@
 void DRD_(suppression_set_trace)(const Bool trace_suppression);
 void DRD_(suppression_init)(void);
 void DRD_(start_suppression)(const Addr a1, const Addr a2,
-                             const char* const reason);
+                             const HChar* const reason);
 void DRD_(finish_suppression)(const Addr a1, const Addr a2);
 Bool DRD_(is_suppressed)(const Addr a1, const Addr a2);
 Bool DRD_(is_any_suppressed)(const Addr a1, const Addr a2);
diff --git a/drd/drd_thread.c b/drd/drd_thread.c
index c2f1a85..1fead7e 100644
--- a/drd/drd_thread.c
+++ b/drd/drd_thread.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -377,7 +377,7 @@
    {
       const ThreadId joiner = DRD_(DrdThreadIdToVgThreadId)(drd_joiner);
       const unsigned msg_size = 256;
-      char* msg;
+      HChar* msg;
 
       msg = VG_(malloc)("drd.main.dptj.1", msg_size);
       tl_assert(msg);
@@ -386,7 +386,7 @@
                     drd_joiner, drd_joinee);
       if (joiner)
       {
-         char* vc;
+         HChar* vc;
 
          vc = DRD_(vc_aprint)(DRD_(thread_get_vc)(drd_joiner));
          VG_(snprintf)(msg + VG_(strlen)(msg), msg_size - VG_(strlen)(msg),
@@ -597,6 +597,12 @@
 }
 
 /** Store the thread mode: joinable or detached. */
+#if defined(VGP_mips32_linux) || defined(VGP_mips64_linux)
+ /* There is a cse related issue in gcc for MIPS. Optimization level
+    has to be lowered, so cse related optimizations are not
+    included.*/
+ __attribute__((optimize("O1")))
+#endif
 void DRD_(thread_set_joinable)(const DrdThreadId tid, const Bool joinable)
 {
    tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
@@ -630,7 +636,7 @@
 }
 
 /** Obtain the thread number and the user-assigned thread name. */
-const char* DRD_(thread_get_name)(const DrdThreadId tid)
+const HChar* DRD_(thread_get_name)(const DrdThreadId tid)
 {
    tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
              && tid != DRD_INVALID_THREADID);
@@ -639,7 +645,7 @@
 }
 
 /** Set the name of the specified thread. */
-void DRD_(thread_set_name)(const DrdThreadId tid, const char* const name)
+void DRD_(thread_set_name)(const DrdThreadId tid, const HChar* const name)
 {
    tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
              && tid != DRD_INVALID_THREADID);
@@ -887,7 +893,7 @@
    DRD_(thread_compute_minimum_vc)(&thread_vc_min);
    if (DRD_(sg_get_trace)())
    {
-      char *vc_min, *vc_max;
+      HChar *vc_min, *vc_max;
       VectorClock thread_vc_max;
 
       DRD_(vc_init)(&thread_vc_max, 0, 0);
@@ -1081,7 +1087,7 @@
 
    if (DRD_(sg_get_trace)())
    {
-      char *str1, *str2;
+      HChar *str1, *str2;
       str1 = DRD_(vc_aprint)(DRD_(thread_get_vc)(joiner));
       str2 = DRD_(vc_aprint)(DRD_(thread_get_vc)(joinee));
       VG_(message)(Vg_DebugMsg, "Before join: joiner %s, joinee %s\n",
@@ -1106,7 +1112,7 @@
    thread_discard_ordered_segments();
 
    if (DRD_(sg_get_trace)()) {
-      char* str;
+      HChar* str;
 
       str = DRD_(vc_aprint)(DRD_(thread_get_vc)(joiner));
       VG_(message)(Vg_DebugMsg, "After join: %s\n", str);
@@ -1135,7 +1141,7 @@
       DRD_(vc_copy)(&old_vc, DRD_(thread_get_vc)(tid));
       DRD_(vc_combine)(DRD_(thread_get_vc)(tid), vc);
       if (DRD_(sg_get_trace)()) {
-         char *str1, *str2;
+         HChar *str1, *str2;
          str1 = DRD_(vc_aprint)(&old_vc);
          str2 = DRD_(vc_aprint)(DRD_(thread_get_vc)(tid));
          VG_(message)(Vg_DebugMsg, "thread %d: vc %s -> %s\n", tid, str1, str2);
@@ -1394,7 +1400,7 @@
    }
 
    if (s_trace_conflict_set) {
-      char* str;
+      HChar* str;
 
       str = DRD_(vc_aprint)(DRD_(thread_get_vc)(tid));
       VG_(message)(Vg_DebugMsg,
@@ -1408,7 +1414,7 @@
       unsigned j;
 
       if (s_trace_conflict_set) {
-         char* vc;
+         HChar* vc;
 
          vc = DRD_(vc_aprint)(&p->vc);
          VG_(message)(Vg_DebugMsg, "conflict set: thread [%d] at vc %s\n",
@@ -1424,7 +1430,7 @@
                if (!DRD_(vc_lte)(&q->vc, &p->vc)
                    && !DRD_(vc_lte)(&p->vc, &q->vc)) {
                   if (s_trace_conflict_set) {
-                     char* str;
+                     HChar* str;
 
                      str = DRD_(vc_aprint)(&q->vc);
                      VG_(message)(Vg_DebugMsg,
@@ -1435,7 +1441,7 @@
                   DRD_(bm_merge2)(*conflict_set, DRD_(sg_bm)(q));
                } else {
                   if (s_trace_conflict_set) {
-                     char* str;
+                     HChar* str;
 
                      str = DRD_(vc_aprint)(&q->vc);
                      VG_(message)(Vg_DebugMsg,
@@ -1480,7 +1486,7 @@
    tl_assert(DRD_(g_conflict_set));
 
    if (s_trace_conflict_set) {
-      char* str;
+      HChar* str;
 
       str = DRD_(vc_aprint)(DRD_(thread_get_vc)(tid));
       VG_(message)(Vg_DebugMsg,
@@ -1510,7 +1516,7 @@
             = !DRD_(vc_lte)(new_vc, &q->vc);
 
          if (UNLIKELY(s_trace_conflict_set)) {
-            char* str;
+            HChar* str;
 
             str = DRD_(vc_aprint)(&q->vc);
             VG_(message)(Vg_DebugMsg,
@@ -1532,7 +1538,7 @@
             && !DRD_(vc_lte)(new_vc, &q->vc);
 
          if (UNLIKELY(s_trace_conflict_set)) {
-            char* str;
+            HChar* str;
 
             str = DRD_(vc_aprint)(&q->vc);
             VG_(message)(Vg_DebugMsg,
diff --git a/drd/drd_thread.h b/drd/drd_thread.h
index 2723199..1f2b0d4 100644
--- a/drd/drd_thread.h
+++ b/drd/drd_thread.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -75,7 +75,7 @@
    Addr      stack_startup; /**<Stack pointer after pthread_create() finished.*/
    Addr      stack_max;     /**< Top of stack. */
    SizeT     stack_size;    /**< Maximum size of stack. */
-   char      name[64];      /**< User-assigned thread name. */
+   HChar     name[64];      /**< User-assigned thread name. */
    Bool      on_alt_stack;
    /** Whether this structure contains valid information. */
    Bool      valid;
@@ -158,8 +158,8 @@
 void DRD_(thread_set_joinable)(const DrdThreadId tid, const Bool joinable);
 void DRD_(thread_entering_pthread_create)(const DrdThreadId tid);
 void DRD_(thread_left_pthread_create)(const DrdThreadId tid);
-const char* DRD_(thread_get_name)(const DrdThreadId tid);
-void DRD_(thread_set_name)(const DrdThreadId tid, const char* const name);
+const HChar* DRD_(thread_get_name)(const DrdThreadId tid);
+void DRD_(thread_set_name)(const DrdThreadId tid, const HChar* const name);
 void DRD_(thread_set_vg_running_tid)(const ThreadId vg_tid);
 void DRD_(thread_set_running_tid)(const ThreadId vg_tid,
                                   const DrdThreadId drd_tid);
diff --git a/drd/drd_thread_bitmap.h b/drd/drd_thread_bitmap.h
index 007df47..98d7948 100644
--- a/drd/drd_thread_bitmap.h
+++ b/drd/drd_thread_bitmap.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/drd_vc.c b/drd/drd_vc.c
index 39b6a7f..078a99a 100644
--- a/drd/drd_vc.c
+++ b/drd/drd_vc.c
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -236,7 +236,7 @@
 /** Print the contents of vector clock 'vc'. */
 void DRD_(vc_print)(const VectorClock* const vc)
 {
-   char* str;
+   HChar* str;
 
    if ((str = DRD_(vc_aprint)(vc)) != NULL)
    {
@@ -249,12 +249,12 @@
  * Print the contents of vector clock 'vc' to a newly allocated string.
  * The caller must call VG_(free)() on the return value of this function.
  */
-char* DRD_(vc_aprint)(const VectorClock* const vc)
+HChar* DRD_(vc_aprint)(const VectorClock* const vc)
 {
    unsigned i;
    unsigned reserved;
    unsigned size;
-   char* str = 0;
+   HChar* str = 0;
 
    tl_assert(vc);
    reserved = 64;
diff --git a/drd/drd_vc.h b/drd/drd_vc.h
index 1086e26..bf8ab10 100644
--- a/drd/drd_vc.h
+++ b/drd/drd_vc.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
@@ -87,7 +87,7 @@
 void DRD_(vc_combine)(VectorClock* const result,
                       const VectorClock* const rhs);
 void DRD_(vc_print)(const VectorClock* const vc);
-char* DRD_(vc_aprint)(const VectorClock* const vc);
+HChar* DRD_(vc_aprint)(const VectorClock* const vc);
 void DRD_(vc_check)(const VectorClock* const vc);
 void DRD_(vc_test)(void);
 
diff --git a/drd/pub_drd_bitmap.h b/drd/pub_drd_bitmap.h
index b0981ec..4ea9d80 100644
--- a/drd/pub_drd_bitmap.h
+++ b/drd/pub_drd_bitmap.h
@@ -1,7 +1,7 @@
 /*
   This file is part of drd, a thread error detector.
 
-  Copyright (C) 2006-2011 Bart Van Assche <bvanassche@acm.org>.
+  Copyright (C) 2006-2012 Bart Van Assche <bvanassche@acm.org>.
 
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
diff --git a/drd/tests/Makefile.am b/drd/tests/Makefile.am
index d427b3e..62276ca 100644
--- a/drd/tests/Makefile.am
+++ b/drd/tests/Makefile.am
@@ -41,6 +41,7 @@
 	annotate_smart_pointer.stderr.exp	    \
 	annotate_smart_pointer.vgtest		    \
 	annotate_smart_pointer2.stderr.exp	    \
+	annotate_smart_pointer2.stderr.exp-darwin   \
 	annotate_smart_pointer2.vgtest		    \
 	annotate_spinlock.stderr.exp		    \
 	annotate_spinlock.vgtest		    \
@@ -60,9 +61,11 @@
 	annotate_ignore_write2.vgtest		    \
 	annotate_trace_memory.stderr.exp-32bit	    \
 	annotate_trace_memory.stderr.exp-64bit	    \
+	annotate_trace_memory.stderr.exp-mips32	   \
 	annotate_trace_memory.vgtest		    \
 	annotate_trace_memory_xml.stderr.exp-32bit  \
 	annotate_trace_memory_xml.stderr.exp-64bit  \
+	annotate_trace_memory_xml.stderr.exp-mips32 \
 	annotate_trace_memory_xml.vgtest	    \
 	annotate_static.stderr.exp	            \
 	annotate_static.vgtest		            \
@@ -156,6 +159,8 @@
 	pth_cancel_locked.vgtest		    \
 	pth_cleanup_handler.stderr.exp		    \
 	pth_cleanup_handler.vgtest		    \
+	pth_cond_destroy_busy.stderr.exp            \
+	pth_cond_destroy_busy.vgtest                \
 	pth_cond_race.stderr.exp                    \
 	pth_cond_race.vgtest                        \
 	pth_cond_race2.stderr.exp                   \
@@ -217,6 +222,8 @@
 	sem_open3.vgtest                            \
 	sem_open_traced.stderr.exp                  \
 	sem_open_traced.vgtest                      \
+	sem_wait.stderr.exp                         \
+	sem_wait.vgtest                             \
 	sigalrm.stderr.exp                          \
 	sigalrm.vgtest                              \
 	sigaltstack.stderr.exp                      \
@@ -231,6 +238,7 @@
 	tc03_re_excl.vgtest                         \
 	tc04_free_lock.stderr.exp-x86               \
 	tc04_free_lock.stderr.exp-ppc               \
+	tc04_free_lock.stderr.exp-s390              \
 	tc04_free_lock.vgtest                       \
 	tc05_simple_race.stderr.exp                 \
 	tc05_simple_race.vgtest                     \
@@ -245,6 +253,7 @@
 	tc09_bad_unlock.stderr.exp-x86              \
 	tc09_bad_unlock.stderr.exp-ppc              \
 	tc09_bad_unlock.stderr.exp-glibc2.8         \
+	tc09_bad_unlock.stderr.exp-s390             \
 	tc09_bad_unlock.vgtest                      \
 	tc10_rec_lock.stderr.exp                    \
 	tc10_rec_lock.vgtest                        \
@@ -299,6 +308,7 @@
   annotate_ignore_write \
   annotate_publish_hg \
   annotate_static     \
+  annotate_trace_memory \
   bug-235681          \
   custom_alloc        \
   fp_race             \
@@ -311,6 +321,7 @@
   pth_broadcast       \
   pth_cancel_locked   \
   pth_cleanup_handler \
+  pth_cond_destroy_busy \
   pth_cond_race       \
   pth_create_chain    \
   pth_detached        \
@@ -345,11 +356,6 @@
   circular_buffer
 endif
 
-if HAVE_BUILTIN_ATOMIC64
-check_PROGRAMS +=        \
-  annotate_trace_memory
-endif
-
 if HAVE_BUILTIN_ATOMIC_CXX
 check_PROGRAMS +=        \
   annotate_smart_pointer \
@@ -378,6 +384,10 @@
 check_PROGRAMS += pth_spinlock
 endif
 
+if !VGCONF_OS_IS_DARWIN
+check_PROGRAMS += sem_wait
+endif
+
 
 AM_CFLAGS   += $(AM_FLAG_M3264_PRI) @FLAG_W_EXTRA@ -Wno-inline -Wno-unused-parameter
 AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) @FLAG_W_EXTRA@ -Wno-inline -Wno-unused-parameter
@@ -434,3 +444,5 @@
 
 std_thread_SOURCES          = std_thread.cpp
 std_thread_CXXFLAGS         = $(AM_CXXFLAGS) -std=c++0x
+
+sem_wait_SOURCES            = sem_wait.cpp
diff --git a/drd/tests/annotate_ignore_rw.stderr.exp b/drd/tests/annotate_ignore_rw.stderr.exp
index 24684da..416be80 100644
--- a/drd/tests/annotate_ignore_rw.stderr.exp
+++ b/drd/tests/annotate_ignore_rw.stderr.exp
@@ -1,8 +1,8 @@
 
 Conflicting load by thread 1 at 0x........ size 1
    at 0x........: main (annotate_ignore_rw.c:?)
-Location 0x........ is 0 bytes inside local var "s_c"
-declared at annotate_ignore_rw.c:12, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_c"
+declared at annotate_ignore_rw.c:12
 
 Finished.
 
diff --git a/drd/tests/annotate_ignore_rw2.stderr.exp b/drd/tests/annotate_ignore_rw2.stderr.exp
index ffdb76f..4e96bf3 100644
--- a/drd/tests/annotate_ignore_rw2.stderr.exp
+++ b/drd/tests/annotate_ignore_rw2.stderr.exp
@@ -1,18 +1,18 @@
 
 Conflicting load by thread 1 at 0x........ size 1
    at 0x........: main (annotate_ignore_rw.c:?)
-Location 0x........ is 0 bytes inside local var "s_b"
-declared at annotate_ignore_rw.c:11, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_b"
+declared at annotate_ignore_rw.c:11
 
 Conflicting store by thread 1 at 0x........ size 1
    at 0x........: main (annotate_ignore_rw.c:?)
-Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_rw.c:10, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_a"
+declared at annotate_ignore_rw.c:10
 
 Conflicting load by thread 1 at 0x........ size 1
    at 0x........: main (annotate_ignore_rw.c:?)
-Location 0x........ is 0 bytes inside local var "s_c"
-declared at annotate_ignore_rw.c:12, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_c"
+declared at annotate_ignore_rw.c:12
 
 Finished.
 
diff --git a/drd/tests/annotate_ignore_write.stderr.exp b/drd/tests/annotate_ignore_write.stderr.exp
index f26242e..2204d5b 100644
--- a/drd/tests/annotate_ignore_write.stderr.exp
+++ b/drd/tests/annotate_ignore_write.stderr.exp
@@ -1,18 +1,18 @@
 
 Conflicting load by thread 1 at 0x........ size 1
    at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_b"
-declared at annotate_ignore_write.c:11, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_b"
+declared at annotate_ignore_write.c:11
 
 Conflicting load by thread 1 at 0x........ size 1
    at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_c"
-declared at annotate_ignore_write.c:12, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_c"
+declared at annotate_ignore_write.c:12
 
 Conflicting store by thread 1 at 0x........ size 1
    at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_write.c:10, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_a"
+declared at annotate_ignore_write.c:10
 
 Finished.
 
diff --git a/drd/tests/annotate_ignore_write2.stderr.exp b/drd/tests/annotate_ignore_write2.stderr.exp
index 03c7766..9b58325 100644
--- a/drd/tests/annotate_ignore_write2.stderr.exp
+++ b/drd/tests/annotate_ignore_write2.stderr.exp
@@ -1,23 +1,23 @@
 
 Conflicting load by thread 1 at 0x........ size 1
    at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_b"
-declared at annotate_ignore_write.c:11, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_b"
+declared at annotate_ignore_write.c:11
 
 Conflicting store by thread 1 at 0x........ size 1
    at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_write.c:10, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_a"
+declared at annotate_ignore_write.c:10
 
 Conflicting load by thread 1 at 0x........ size 1
    at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_c"
-declared at annotate_ignore_write.c:12, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_c"
+declared at annotate_ignore_write.c:12
 
 Conflicting store by thread 1 at 0x........ size 1
    at 0x........: main (annotate_ignore_write.c:?)
-Location 0x........ is 0 bytes inside local var "s_a"
-declared at annotate_ignore_write.c:10, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_a"
+declared at annotate_ignore_write.c:10
 
 Finished.
 
diff --git a/drd/tests/annotate_smart_pointer2.stderr.exp-darwin b/drd/tests/annotate_smart_pointer2.stderr.exp-darwin
new file mode 100644
index 0000000..54fa41e
--- /dev/null
+++ b/drd/tests/annotate_smart_pointer2.stderr.exp-darwin
@@ -0,0 +1,14 @@
+
+Conflicting store by thread x at 0x........ size 4
+   at 0x........: counter::~counter() (annotate_smart_pointer.cpp:?)
+   by 0x........: smart_ptr<counter>::set(counter*, AtomicInt32*) (annotate_smart_pointer.cpp:?)
+   by 0x........: smart_ptr<counter>::operator=(counter*) (annotate_smart_pointer.cpp:?)
+   by 0x........: main (annotate_smart_pointer.cpp:?)
+Address 0x........ is at offset ... from 0x......... Allocation context:
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: operator new(unsigned long) (in /usr/lib/libstdc++.6.0.9.dylib)
+   by 0x........: main (annotate_smart_pointer.cpp:?)
+
+Done.
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/drd/tests/annotate_trace_memory.c b/drd/tests/annotate_trace_memory.c
index 697f0a8..f539336 100644
--- a/drd/tests/annotate_trace_memory.c
+++ b/drd/tests/annotate_trace_memory.c
@@ -32,10 +32,10 @@
   i16++;
   fprintf(stderr, "uint32_t\n");
   i32 = 8;
-  __sync_add_and_fetch(&i32, 1);
+  i32++;
   fprintf(stderr, "uint64_t\n");
   i64 = 9;
-  __sync_add_and_fetch(&i64, 0x12345678ULL);
+  i64 += 0x12345678ULL;
 
   DRD_STOP_TRACING_VAR(f);
   DRD_STOP_TRACING_VAR(d);
diff --git a/drd/tests/annotate_trace_memory.stderr.exp-32bit b/drd/tests/annotate_trace_memory.stderr.exp-32bit
index 4e44e60..c403df4 100644
--- a/drd/tests/annotate_trace_memory.stderr.exp-32bit
+++ b/drd/tests/annotate_trace_memory.stderr.exp-32bit
@@ -45,6 +45,8 @@
    at 0x........: main (annotate_trace_memory.c:?)
 store 0x........ size 4 val 305419905/0x........ (thread x / vc ...)
    at 0x........: main (annotate_trace_memory.c:?)
+store 0x........ size 4 val 0/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
 Done.
 
 ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/drd/tests/annotate_trace_memory.stderr.exp-mips32 b/drd/tests/annotate_trace_memory.stderr.exp-mips32
new file mode 100644
index 0000000..ce05ddc
--- /dev/null
+++ b/drd/tests/annotate_trace_memory.stderr.exp-mips32
@@ -0,0 +1,58 @@
+
+float
+store 0x........ size 4 val 1065353216/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+load  0x........ size 4 (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+store 0x........ size 4 val 1077936128/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+double
+store 0x........ size 4 val 0/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+store 0x........ size 4 val 1074266112/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+load  0x........ size 4 (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+load  0x........ size 4 (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+store 0x........ size 4 val 0/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+store 0x........ size 4 val 1075576832/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+uint8_t
+store 0x........ size 1 val 5/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+load  0x........ size 1 (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+store 0x........ size 1 val 11/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+uint16_t
+store 0x........ size 2 val 7/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+load  0x........ size 2 (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+store 0x........ size 2 val 8/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+uint32_t
+store 0x........ size 4 val 8/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+load  0x........ size 4 (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+store 0x........ size 4 val 9/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+uint64_t
+store 0x........ size 4 val 9/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+store 0x........ size 4 val 0/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+load  0x........ size 4 (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+load  0x........ size 4 (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+store 0x........ size 4 val 305419905/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+store 0x........ size 4 val 0/0x........ (thread x / vc ...)
+   at 0x........: main (annotate_trace_memory.c:?)
+Done.
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/drd/tests/annotate_trace_memory_xml.stderr.exp-32bit b/drd/tests/annotate_trace_memory_xml.stderr.exp-32bit
index 751c622..888084b 100644
--- a/drd/tests/annotate_trace_memory_xml.stderr.exp-32bit
+++ b/drd/tests/annotate_trace_memory_xml.stderr.exp-32bit
@@ -274,6 +274,18 @@
     </frame>
   </stack>
   </trace>
+  <trace><text>store 0x........ size 4 val 0/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
 Done.
 
 <status>
diff --git a/drd/tests/annotate_trace_memory_xml.stderr.exp-mips32 b/drd/tests/annotate_trace_memory_xml.stderr.exp-mips32
new file mode 100644
index 0000000..9fc793a
--- /dev/null
+++ b/drd/tests/annotate_trace_memory_xml.stderr.exp-mips32
@@ -0,0 +1,338 @@
+<?xml version="1.0"?>
+
+<valgrindoutput>
+
+<protocolversion>4</protocolversion>
+<protocoltool>drd</protocoltool>
+
+<preamble>
+  <line>...</line>
+  <line>...</line>
+  <line>...</line>
+  <line>...</line>
+</preamble>
+
+<pid>...</pid>
+<ppid>...</ppid>
+<tool>drd</tool>
+
+<args>
+  <vargv>...</vargv>
+  <argv>
+    <exe>./annotate_trace_memory</exe>
+  </argv>
+</args>
+
+<status>
+  <state>RUNNING</state>
+  <time>...</time>
+</status>
+
+float
+  <trace><text>store 0x........ size 4 val 1065353216/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>load  0x........ size 4 (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>store 0x........ size 4 val 1077936128/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+double
+  <trace><text>store 0x........ size 4 val 0/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>store 0x........ size 4 val 1074266112/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>load  0x........ size 4 (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>load  0x........ size 4 (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>store 0x........ size 4 val 0/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>store 0x........ size 4 val 1075576832/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+uint8_t
+  <trace><text>store 0x........ size 1 val 5/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>load  0x........ size 1 (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>store 0x........ size 1 val 11/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+uint16_t
+  <trace><text>store 0x........ size 2 val 7/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>load  0x........ size 2 (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>store 0x........ size 2 val 8/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+uint32_t
+  <trace><text>store 0x........ size 4 val 8/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>load  0x........ size 4 (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>store 0x........ size 4 val 9/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+uint64_t
+  <trace><text>store 0x........ size 4 val 9/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>store 0x........ size 4 val 0/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>load  0x........ size 4 (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>load  0x........ size 4 (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>store 0x........ size 4 val 305419905/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+  <trace><text>store 0x........ size 4 val 0/0x........ (thread x / vc ...)</text>
+  <stack>
+    <frame>
+      <ip>0x........</ip>
+      <obj>...</obj>
+      <fn>main</fn>
+      <dir>...</dir>
+      <file>annotate_trace_memory.c</file>
+      <line>...</line>
+    </frame>
+  </stack>
+  </trace>
+Done.
+
+<status>
+  <state>FINISHED</state>
+  <time>...</time>
+</status>
+
+<errorcounts>
+</errorcounts>
+
+<suppcounts>...</suppcounts>
+
+</valgrindoutput>
+
diff --git a/drd/tests/atomic_var.stderr.exp b/drd/tests/atomic_var.stderr.exp
index 7fa1e0e..ad05687 100644
--- a/drd/tests/atomic_var.stderr.exp
+++ b/drd/tests/atomic_var.stderr.exp
@@ -3,8 +3,8 @@
 Conflicting load by thread x at 0x........ size 4
    at 0x........: thread_func_2 (atomic_var.c:?)
    by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-Location 0x........ is 0 bytes inside local var "s_y"
-declared at atomic_var.c:35, in frame #? of thread x
+Location 0x........ is 0 bytes inside global var "s_y"
+declared at atomic_var.c:35
 
 y = 1
 Test finished.
diff --git a/drd/tests/filter_stderr b/drd/tests/filter_stderr
index 4e82940..a1a5959 100755
--- a/drd/tests/filter_stderr
+++ b/drd/tests/filter_stderr
@@ -32,6 +32,7 @@
 -e "s/ (\([a-zA-Z_]*\.h\):[0-9]*)/ (\1:?)/" \
 -e "s/ (\([a-zA-Z_]*\.cpp\):[0-9]*)/ (\1:?)/" \
 -e "s/\( name [^ ]*\)-[0-9]*\( oflag \)/\1\2/" \
+-e '/^   by 0x[0-9a-fA-F]*: process_dl_debug (in \/lib[0-9]*\/ld-[0-9.]*\.so)$/d' \
 -e "/^For counts of detected and suppressed errors, rerun with: -v$/d" |
 
 # Remove the message that more than hundred errors have been detected
diff --git a/drd/tests/fp_race.stderr.exp b/drd/tests/fp_race.stderr.exp
index 23873d2..68bd254 100644
--- a/drd/tests/fp_race.stderr.exp
+++ b/drd/tests/fp_race.stderr.exp
@@ -1,8 +1,8 @@
 
 Conflicting load by thread 1 at 0x........ size 8
    at 0x........: main (fp_race.c:?)
-Location 0x........ is 0 bytes inside local var "s_d3"
-declared at fp_race.c:24, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_d3"
+declared at fp_race.c:24
 Other segment start (thread 2)
    (thread finished, call stack no longer available)
 Other segment end (thread 2)
@@ -10,8 +10,8 @@
 
 Conflicting store by thread 1 at 0x........ size 8
    at 0x........: main (fp_race.c:?)
-Location 0x........ is 0 bytes inside local var "s_d3"
-declared at fp_race.c:24, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_d3"
+declared at fp_race.c:24
 Other segment start (thread 2)
    (thread finished, call stack no longer available)
 Other segment end (thread 2)
diff --git a/drd/tests/fp_race_xml.stderr.exp b/drd/tests/fp_race_xml.stderr.exp
index 73a530e..05ffe71 100644
--- a/drd/tests/fp_race_xml.stderr.exp
+++ b/drd/tests/fp_race_xml.stderr.exp
@@ -48,8 +48,8 @@
       <line>...</line>
     </frame>
   </stack>
-  <auxwhat>Location 0x........ is 0 bytes inside local var "s_d3"</auxwhat>
-  <xauxwhat><text>declared at fp_race.c:24, in frame #? of thread x</text> <file>fp_race.c</file> <line>...</line> </xauxwhat>
+  <auxwhat>Location 0x........ is 0 bytes inside global var "s_d3"</auxwhat>
+  <xauxwhat><text>declared at fp_race.c:24</text> <file>fp_race.c</file> <line>...</line> </xauxwhat>
   <other_segment_start>
   </other_segment_start>
   <other_segment_end>
@@ -71,8 +71,8 @@
       <line>...</line>
     </frame>
   </stack>
-  <auxwhat>Location 0x........ is 0 bytes inside local var "s_d3"</auxwhat>
-  <xauxwhat><text>declared at fp_race.c:24, in frame #? of thread x</text> <file>fp_race.c</file> <line>...</line> </xauxwhat>
+  <auxwhat>Location 0x........ is 0 bytes inside global var "s_d3"</auxwhat>
+  <xauxwhat><text>declared at fp_race.c:24</text> <file>fp_race.c</file> <line>...</line> </xauxwhat>
   <other_segment_start>
   </other_segment_start>
   <other_segment_end>
diff --git a/drd/tests/hg03_inherit.stderr.exp b/drd/tests/hg03_inherit.stderr.exp
index 62a8d5d..72eb236 100644
--- a/drd/tests/hg03_inherit.stderr.exp
+++ b/drd/tests/hg03_inherit.stderr.exp
@@ -4,13 +4,13 @@
    at 0x........: t2 (hg03_inherit.c:28)
    by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
 Location 0x........ is 0 bytes inside shared[1],
-declared at hg03_inherit.c:11, in frame #? of thread 3
+a global variable declared at hg03_inherit.c:11
 
 Conflicting store by thread 3 at 0x........ size 4
    at 0x........: t2 (hg03_inherit.c:29)
    by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
 Location 0x........ is 0 bytes inside shared[1],
-declared at hg03_inherit.c:11, in frame #? of thread 3
+a global variable declared at hg03_inherit.c:11
 
 
 ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/drd/tests/hg04_race.stderr.exp b/drd/tests/hg04_race.stderr.exp
index 9ea3ccd..5b5969c 100644
--- a/drd/tests/hg04_race.stderr.exp
+++ b/drd/tests/hg04_race.stderr.exp
@@ -3,8 +3,8 @@
 Conflicting load by thread 3 at 0x........ size 4
    at 0x........: th (hg04_race.c:10)
    by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-Location 0x........ is 0 bytes inside local var "shared"
-declared at hg04_race.c:6, in frame #? of thread 2
+Location 0x........ is 0 bytes inside global var "shared"
+declared at hg04_race.c:6
 Other segment start (thread 2)
    (thread finished, call stack no longer available)
 Other segment end (thread 2)
@@ -13,8 +13,8 @@
 Conflicting store by thread 3 at 0x........ size 4
    at 0x........: th (hg04_race.c:10)
    by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-Location 0x........ is 0 bytes inside local var "shared"
-declared at hg04_race.c:6, in frame #? of thread 2
+Location 0x........ is 0 bytes inside global var "shared"
+declared at hg04_race.c:6
 Other segment start (thread 2)
    (thread finished, call stack no longer available)
 Other segment end (thread 2)
diff --git a/drd/tests/pth_cancel_locked.c b/drd/tests/pth_cancel_locked.c
index 86c15b8..6e877e3 100644
--- a/drd/tests/pth_cancel_locked.c
+++ b/drd/tests/pth_cancel_locked.c
@@ -45,6 +45,9 @@
   /* Join the created thread. */
   pthread_join(tid, 0);
 
+  /* Invoke pthread_cancel() with an invalid thread ID. */
+  pthread_cancel(tid);
+
   fprintf(stderr, "Test finished.\n");
 
   return 0;
diff --git a/drd/tests/pth_cancel_locked.stderr.exp b/drd/tests/pth_cancel_locked.stderr.exp
index e00753e..74c2eb0 100644
--- a/drd/tests/pth_cancel_locked.stderr.exp
+++ b/drd/tests/pth_cancel_locked.stderr.exp
@@ -6,6 +6,10 @@
    at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
    by 0x........: main (pth_cancel_locked.c:?)
 
+pthread_cancel(): invalid thread ID 0x........
+   at 0x........: pthread_cancel (drd_pthread_intercepts.c:?)
+   by 0x........: main (pth_cancel_locked.c:?)
+
 Test finished.
 
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/drd/tests/pth_cond_destroy_busy.c b/drd/tests/pth_cond_destroy_busy.c
new file mode 100644
index 0000000..469e45f
--- /dev/null
+++ b/drd/tests/pth_cond_destroy_busy.c
@@ -0,0 +1,69 @@
+/*
+ * Invoke pthread_cond_destroy() on a condition variable that is being waited
+ * upon.
+ */
+
+#include <assert.h>
+#include <errno.h>
+#include <stdio.h>     // printf()
+#include <pthread.h>
+
+static pthread_mutex_t s_mutex;
+static pthread_cond_t  s_cond;
+static int             s_i;
+
+static const char* err_to_str(int errnum)
+{
+  switch (errnum) {
+  case 0:      return "success";
+  case EBUSY:  return "EBUSY";
+  case EINVAL: return "EINVAL";
+  default:     return "?";
+  }
+}
+
+static void* thread_func(void* thread_arg)
+{
+  pthread_mutex_lock(&s_mutex);
+  s_i = 1;
+  pthread_cond_signal(&s_cond);
+  while (s_i == 1)
+    pthread_cond_wait(&s_cond, &s_mutex);
+  pthread_mutex_unlock(&s_mutex);
+
+  return 0;
+}
+
+int main(int argc, char** argv)
+{
+  pthread_t threadid;
+  int ret;
+
+  pthread_mutex_init(&s_mutex, 0);
+  pthread_cond_init(&s_cond, 0);
+
+  pthread_create(&threadid, 0, thread_func, 0);
+
+  pthread_mutex_lock(&s_mutex);
+  while (s_i == 0)
+    pthread_cond_wait(&s_cond, &s_mutex);
+  pthread_mutex_unlock(&s_mutex);
+
+  ret = pthread_cond_destroy(&s_cond);
+  fprintf(stderr, "First pthread_cond_destroy() call returned %s.\n",
+          err_to_str(ret));
+
+  pthread_mutex_lock(&s_mutex);
+  s_i = 2;
+  pthread_cond_signal(&s_cond);
+  pthread_mutex_unlock(&s_mutex);
+
+  pthread_join(threadid, 0);
+
+  ret = pthread_cond_destroy(&s_cond);
+  fprintf(stderr, "Second pthread_cond_destroy() call returned %s.\n",
+          err_to_str(ret));
+  pthread_mutex_destroy(&s_mutex);
+
+  return 0;
+}
diff --git a/drd/tests/pth_cond_destroy_busy.stderr.exp b/drd/tests/pth_cond_destroy_busy.stderr.exp
new file mode 100644
index 0000000..70fff8d
--- /dev/null
+++ b/drd/tests/pth_cond_destroy_busy.stderr.exp
@@ -0,0 +1,12 @@
+
+destruction of condition variable being waited upon: cond 0x........
+   at 0x........: pthread_cond_destroy (drd_pthread_intercepts.c:?)
+   by 0x........: main (pth_cond_destroy_busy.c:?)
+cond 0x........ was first observed at:
+   at 0x........: pthread_cond_init (drd_pthread_intercepts.c:?)
+   by 0x........: main (pth_cond_destroy_busy.c:?)
+
+First pthread_cond_destroy() call returned EBUSY.
+Second pthread_cond_destroy() call returned success.
+
+ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/drd/tests/pth_cond_destroy_busy.vgtest b/drd/tests/pth_cond_destroy_busy.vgtest
new file mode 100644
index 0000000..eafbd74
--- /dev/null
+++ b/drd/tests/pth_cond_destroy_busy.vgtest
@@ -0,0 +1,2 @@
+prereq: ./supported_libpthread
+prog: pth_cond_destroy_busy
diff --git a/drd/tests/pth_detached3.c b/drd/tests/pth_detached3.c
index 12a7a14..c02eef1 100644
--- a/drd/tests/pth_detached3.c
+++ b/drd/tests/pth_detached3.c
@@ -21,7 +21,7 @@
   pthread_detach(thread);
 
   /* Invoke pthread_detach() with an invalid thread ID. */
-  pthread_detach(thread + 1);
+  pthread_detach(thread + 8);
 
   fprintf(stderr, "Finished.\n");
 
diff --git a/drd/tests/pth_spinlock.vgtest b/drd/tests/pth_spinlock.vgtest
index 48aa40d..e048d71 100644
--- a/drd/tests/pth_spinlock.vgtest
+++ b/drd/tests/pth_spinlock.vgtest
@@ -1,3 +1,3 @@
-prereq: test -e pth_spinlock && ./supported_libpthread
+prereq: test -e pth_spinlock && ./supported_libpthread && ! grep '#define DISABLE_PTHREAD_SPINLOCK_INTERCEPT 1' ../../config.h > /dev/null
 vgopts: --read-var-info=yes --check-stack-var=yes
 prog: pth_spinlock
diff --git a/drd/tests/rwlock_race.stderr.exp b/drd/tests/rwlock_race.stderr.exp
index 8350b50..d3e0b37 100644
--- a/drd/tests/rwlock_race.stderr.exp
+++ b/drd/tests/rwlock_race.stderr.exp
@@ -2,14 +2,14 @@
 Conflicting load by thread x at 0x........ size 4
    at 0x........: thread_func (rwlock_race.c:?)
    by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-Location 0x........ is 0 bytes inside local var "s_racy"
-declared at rwlock_race.c:18, in frame #? of thread x
+Location 0x........ is 0 bytes inside global var "s_racy"
+declared at rwlock_race.c:18
 
 Conflicting store by thread x at 0x........ size 4
    at 0x........: thread_func (rwlock_race.c:?)
    by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
-Location 0x........ is 0 bytes inside local var "s_racy"
-declared at rwlock_race.c:18, in frame #? of thread x
+Location 0x........ is 0 bytes inside global var "s_racy"
+declared at rwlock_race.c:18
 
 Result: 2
 
diff --git a/drd/tests/sem_as_mutex.stderr.exp b/drd/tests/sem_as_mutex.stderr.exp
index 1646a6c..1fbd91a 100644
--- a/drd/tests/sem_as_mutex.stderr.exp
+++ b/drd/tests/sem_as_mutex.stderr.exp
@@ -1,8 +1,8 @@
 
 Conflicting load by thread 1 at 0x........ size 8
    at 0x........: main (sem_as_mutex.c:?)
-Location 0x........ is 0 bytes inside local var "s_d3"
-declared at sem_as_mutex.c:25, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_d3"
+declared at sem_as_mutex.c:25
 Other segment start (thread 2)
    (thread finished, call stack no longer available)
 Other segment end (thread 2)
@@ -10,8 +10,8 @@
 
 Conflicting store by thread 1 at 0x........ size 8
    at 0x........: main (sem_as_mutex.c:?)
-Location 0x........ is 0 bytes inside local var "s_d3"
-declared at sem_as_mutex.c:25, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_d3"
+declared at sem_as_mutex.c:25
 Other segment start (thread 2)
    (thread finished, call stack no longer available)
 Other segment end (thread 2)
diff --git a/drd/tests/sem_as_mutex3.stderr.exp b/drd/tests/sem_as_mutex3.stderr.exp
index 97b09a1..efd47ff 100644
--- a/drd/tests/sem_as_mutex3.stderr.exp
+++ b/drd/tests/sem_as_mutex3.stderr.exp
@@ -1,8 +1,8 @@
 
 Conflicting load by thread 1 at 0x........ size 8
    at 0x........: main (sem_as_mutex.c:?)
-Location 0x........ is 0 bytes inside local var "s_d3"
-declared at sem_as_mutex.c:25, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_d3"
+declared at sem_as_mutex.c:25
 Other segment start (thread 2)
    (thread finished, call stack no longer available)
 Other segment end (thread 2)
diff --git a/drd/tests/sem_open.stderr.exp b/drd/tests/sem_open.stderr.exp
index 4e769e5..e926d05 100644
--- a/drd/tests/sem_open.stderr.exp
+++ b/drd/tests/sem_open.stderr.exp
@@ -1,8 +1,8 @@
 
 Conflicting load by thread 1 at 0x........ size 8
    at 0x........: main (sem_open.c:?)
-Location 0x........ is 0 bytes inside local var "s_d3"
-declared at sem_open.c:25, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_d3"
+declared at sem_open.c:25
 Other segment start (thread 2)
    (thread finished, call stack no longer available)
 Other segment end (thread 2)
@@ -10,8 +10,8 @@
 
 Conflicting store by thread 1 at 0x........ size 8
    at 0x........: main (sem_open.c:?)
-Location 0x........ is 0 bytes inside local var "s_d3"
-declared at sem_open.c:25, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_d3"
+declared at sem_open.c:25
 Other segment start (thread 2)
    (thread finished, call stack no longer available)
 Other segment end (thread 2)
diff --git a/drd/tests/sem_open3.stderr.exp b/drd/tests/sem_open3.stderr.exp
index 3c2d392..fb994f5 100644
--- a/drd/tests/sem_open3.stderr.exp
+++ b/drd/tests/sem_open3.stderr.exp
@@ -1,8 +1,8 @@
 
 Conflicting load by thread 1 at 0x........ size 8
    at 0x........: main (sem_open.c:?)
-Location 0x........ is 0 bytes inside local var "s_d3"
-declared at sem_open.c:25, in frame #? of thread 1
+Location 0x........ is 0 bytes inside global var "s_d3"
+declared at sem_open.c:25
 Other segment start (thread 2)
    (thread finished, call stack no longer available)
 Other segment end (thread 2)
diff --git a/drd/tests/sem_wait.cpp b/drd/tests/sem_wait.cpp
new file mode 100644
index 0000000..b22944c
--- /dev/null
+++ b/drd/tests/sem_wait.cpp
@@ -0,0 +1,42 @@
+#include <iostream>
+#include <cerrno>
+#include <cstring>
+#include <pthread.h>
+#include <semaphore.h>
+
+struct FailedOn
+{
+  FailedOn(const char *f, int e) : func(f), eno(e) {}
+  std::string func;
+  int eno;
+};
+
+int main(void)
+{
+  try {
+    sem_t mySemaphore;
+    if (sem_init(&mySemaphore, 0, 0) != 0)
+      throw FailedOn("sem_init", errno);
+
+    std::cerr << "Calling sem_trywait\n";
+    if (sem_trywait(&mySemaphore) != 0) {
+      if (errno != EAGAIN)
+        throw FailedOn("sem_trywait", errno);
+		
+      std::cerr << "Wait would have blocked" << std::endl;
+    } else {
+      std::cerr << "Wait succeeded" << std::endl;
+    }
+
+    if (sem_destroy(&mySemaphore) != 0)
+      throw FailedOn("sem_destroy", errno);
+
+    return 0;
+  } catch (FailedOn &e) {
+    std::cerr << e.func << " failed: " << strerror(e.eno) << std::endl;
+  } catch (...) {
+    std::cerr << "Unknown exception" << std::endl;
+  }
+	
+  return -1;
+}
diff --git a/drd/tests/sem_wait.stderr.exp b/drd/tests/sem_wait.stderr.exp
new file mode 100644
index 0000000..3b374dd
--- /dev/null
+++ b/drd/tests/sem_wait.stderr.exp
@@ -0,0 +1,5 @@
+
+Calling sem_trywait
+Wait would have blocked
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/drd/tests/sem_wait.vgtest b/drd/tests/sem_wait.vgtest
new file mode 100644
index 0000000..bdcb630
--- /dev/null
+++ b/drd/tests/sem_wait.vgtest
@@ -0,0 +1,3 @@
+prereq: ./supported_libpthread && [ -e sem_wait ]
+vgopts: --check-stack-var=yes --read-var-info=yes
+prog: sem_wait
diff --git a/drd/tests/tc04_free_lock.stderr.exp-s390 b/drd/tests/tc04_free_lock.stderr.exp-s390
new file mode 100644
index 0000000..041ae3c
--- /dev/null
+++ b/drd/tests/tc04_free_lock.stderr.exp-s390
@@ -0,0 +1,26 @@
+
+Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: main (tc04_free_lock.c:24)
+mutex 0x........ was first observed at:
+   at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+   by 0x........: main (tc04_free_lock.c:20)
+
+Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
+   at 0x........: bar (tc04_free_lock.c:40)
+   by 0x........: ???
+mutex 0x........ was first observed at:
+   at 0x........: pthread_mutex_lock (drd_pthread_intercepts.c:?)
+   by 0x........: bar (tc04_free_lock.c:38)
+   by 0x........: main (tc04_free_lock.c:26)
+
+Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
+   at 0x........: foo (tc04_free_lock.c:49)
+   by 0x........: ???
+mutex 0x........ was first observed at:
+   at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+   by 0x........: foo (tc04_free_lock.c:46)
+   by 0x........: main (tc04_free_lock.c:27)
+
+
+ERROR SUMMARY: 4 errors from 3 contexts (suppressed: 0 from 0)
diff --git a/drd/tests/tc04_free_lock.vgtest b/drd/tests/tc04_free_lock.vgtest
index c8ae55c..5507a63 100644
--- a/drd/tests/tc04_free_lock.vgtest
+++ b/drd/tests/tc04_free_lock.vgtest
@@ -1,3 +1,4 @@
 prereq: ./supported_libpthread
 vgopts: --check-stack-var=yes
 prog: ../../helgrind/tests/tc04_free_lock
+stderr_filter: filter_stderr
diff --git a/drd/tests/tc09_bad_unlock.stderr.exp-s390 b/drd/tests/tc09_bad_unlock.stderr.exp-s390
new file mode 100644
index 0000000..dd84c81
--- /dev/null
+++ b/drd/tests/tc09_bad_unlock.stderr.exp-s390
@@ -0,0 +1,51 @@
+
+Mutex not locked by calling thread: mutex 0x........, recursion count 0, owner 1.
+   at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+   by 0x........: nearly_main (tc09_bad_unlock.c:27)
+   by 0x........: main (tc09_bad_unlock.c:49)
+mutex 0x........ was first observed at:
+   at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+   by 0x........: nearly_main (tc09_bad_unlock.c:23)
+   by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread 2:
+Mutex not locked by calling thread: mutex 0x........, recursion count 1, owner 1.
+   at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+   by 0x........: child_fn (tc09_bad_unlock.c:11)
+   by 0x........: vgDrd_thread_wrapper (drd_pthread_intercepts.c:?)
+mutex 0x........ was first observed at:
+   at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+   by 0x........: nearly_main (tc09_bad_unlock.c:31)
+   by 0x........: main (tc09_bad_unlock.c:49)
+
+Thread 1:
+The object at address 0x........ is not a mutex.
+   at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+   by 0x........: nearly_main (tc09_bad_unlock.c:41)
+   by 0x........: main (tc09_bad_unlock.c:49)
+
+Destroying locked mutex: mutex 0x........, recursion count 1, owner 1.
+   at 0x........: nearly_main (tc09_bad_unlock.c:45)
+   by 0x........: ???
+mutex 0x........ was first observed at:
+   at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+   by 0x........: nearly_main (tc09_bad_unlock.c:31)
+   by 0x........: main (tc09_bad_unlock.c:49)
+
+---------------------
+Mutex not locked by calling thread: mutex 0x........, recursion count 0, owner 1.
+   at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+   by 0x........: nearly_main (tc09_bad_unlock.c:27)
+   by 0x........: main (tc09_bad_unlock.c:50)
+mutex 0x........ was first observed at:
+   at 0x........: pthread_mutex_init (drd_pthread_intercepts.c:?)
+   by 0x........: nearly_main (tc09_bad_unlock.c:23)
+   by 0x........: main (tc09_bad_unlock.c:50)
+
+The object at address 0x........ is not a mutex.
+   at 0x........: pthread_mutex_unlock (drd_pthread_intercepts.c:?)
+   by 0x........: nearly_main (tc09_bad_unlock.c:41)
+   by 0x........: main (tc09_bad_unlock.c:50)
+
+
+ERROR SUMMARY: 8 errors from 6 contexts (suppressed: 0 from 0)
diff --git a/drd/tests/unit_bitmap.c b/drd/tests/unit_bitmap.c
index 6de61ac..e537e6d 100644
--- a/drd/tests/unit_bitmap.c
+++ b/drd/tests/unit_bitmap.c
@@ -24,12 +24,12 @@
 
 /* Replacements for Valgrind core functionality. */
 
-void* VG_(malloc)(HChar* cc, SizeT nbytes)
+void* VG_(malloc)(const HChar* cc, SizeT nbytes)
 { return malloc(nbytes); }
 void  VG_(free)(void* p)
 { return free(p); }
-void  VG_(assert_fail)(Bool isCore, const Char* assertion, const Char* file,
-                       Int line, const Char* function, const HChar* format,
+void  VG_(assert_fail)(Bool isCore, const HChar* assertion, const HChar* file,
+                       Int line, const HChar* function, const HChar* format,
                        ...)
 {
   fprintf(stderr,
@@ -63,7 +63,7 @@
                     const HChar* format, va_list vargs)
 { assert(0); }
 void VG_(ssort)( void* base, SizeT nmemb, SizeT size,
-                 Int (*compar)(void*, void*) )
+                 Int (*compar)(const void*, const void*) )
 { assert(0); }
 
 /* Actual unit test */
diff --git a/drd/tests/unit_vc.c b/drd/tests/unit_vc.c
index 353ce4b..aff5ebf 100644
--- a/drd/tests/unit_vc.c
+++ b/drd/tests/unit_vc.c
@@ -10,14 +10,14 @@
 
 /* Replacements for Valgrind core functionality. */
 
-void* VG_(malloc)(HChar* cc, SizeT nbytes)
+void* VG_(malloc)(const HChar* cc, SizeT nbytes)
 { return malloc(nbytes); }
-void* VG_(realloc)(HChar* cc, void* p, SizeT size)
+void* VG_(realloc)(const HChar* cc, void* p, SizeT size)
 { return realloc(p, size); }
 void  VG_(free)(void* p)
 { return free(p); }
-void  VG_(assert_fail)(Bool isCore, const Char* assertion, const Char* file,
-                       Int line, const Char* function, const HChar* format,
+void  VG_(assert_fail)(Bool isCore, const HChar* assertion, const HChar* file,
+                       Int line, const HChar* function, const HChar* format,
                        ...)
 {
   fprintf(stderr,
@@ -40,9 +40,9 @@
 { return memcmp(s1, s2, n); }
 UInt VG_(printf)(const HChar *format, ...)
 { UInt ret; va_list vargs; va_start(vargs, format); ret = vprintf(format, vargs); va_end(vargs); return ret; }
-UInt VG_(snprintf)(Char* buf, Int size, const HChar *format, ...)
+UInt VG_(snprintf)(HChar* buf, Int size, const HChar *format, ...)
 { UInt ret; va_list vargs; va_start(vargs, format); ret = vsnprintf(buf, size, format, vargs); va_end(vargs); return ret; }
-SizeT VG_(strlen)(const Char* str) { return strlen(str); }
+SizeT VG_(strlen)(const HChar* str) { return strlen(str); }
 UInt VG_(message)(VgMsgKind kind, const HChar* format, ...)
 { UInt ret; va_list vargs; va_start(vargs, format); ret = vprintf(format, vargs); va_end(vargs); printf("\n"); return ret; }
 Bool DRD_(is_suppressed)(const Addr a1, const Addr a2)
diff --git a/exp-bbv/bbv_main.c b/exp-bbv/bbv_main.c
index 6c927d2..b73bd1b 100644
--- a/exp-bbv/bbv_main.c
+++ b/exp-bbv/bbv_main.c
@@ -6,10 +6,10 @@
    This file is part of BBV, a Valgrind tool for generating SimPoint
    basic block vectors.
 
-   Copyright (C) 2006-2011 Vince Weaver
+   Copyright (C) 2006-2012 Vince Weaver
       vince _at_ csl.cornell.edu
 
-   pcfile code is Copyright (C) 2006-2011 Oriol Prat
+   pcfile code is Copyright (C) 2006-2012 Oriol Prat
       oriol.prat _at _ bsc.es
 
    This program is free software; you can redistribute it and/or
@@ -55,10 +55,10 @@
 static Int interval_size=DEFAULT_GRAIN_SIZE;
 
    /* filenames */
-static UChar *clo_bb_out_file="bb.out.%p";
-static UChar *clo_pc_out_file="pc.out.%p";
-static UChar *pc_out_file=NULL;
-static UChar *bb_out_file=NULL;
+static const HChar *clo_bb_out_file="bb.out.%p";
+static const HChar *clo_pc_out_file="pc.out.%p";
+static HChar *pc_out_file=NULL;
+static HChar *bb_out_file=NULL;
 
 
    /* output parameters */
@@ -66,7 +66,7 @@
 static Bool generate_pc_file=False;
 
    /* write buffer */
-static UChar buf[1024];
+static HChar buf[1024];
 
    /* Global values */
 static OSet* instr_info_table;  /* table that holds the basic block info */
@@ -95,7 +95,7 @@
    Int        block_num;         /* unique block identifier              */
    Int        *inst_counter;     /* times entered * num_instructions     */
    Bool       is_entry;          /* is this block a function entry point */
-   UChar      fn_name[FUNCTION_NAME_LENGTH];  /* Function block is in    */
+   HChar      fn_name[FUNCTION_NAME_LENGTH];  /* Function block is in    */
 };
 
 
@@ -137,7 +137,7 @@
 static Int open_tracefile(Int thread_num)
 {
    SysRes  sres;
-   UChar temp_string[2048];
+   HChar temp_string[2048];
 
       /* For thread 1, don't append any thread number  */
       /* This lets the single-thread case not have any */
@@ -275,8 +275,8 @@
 
 #if defined(VGA_x86) || defined(VGA_amd64)
 
-   unsigned char *inst_pointer;
-   unsigned char inst_byte;
+   UChar *inst_pointer;
+   UChar  inst_byte;
    int i,possible_rep;
 
    /* rep prefixed instructions are counted as one instruction on */
@@ -286,7 +286,7 @@
    /*     SSE instructions.  So we need to specifically check for */
    /*     the following: movs, cmps, scas, lods, stos, ins, outs  */
 
-   inst_pointer=(unsigned char *)addr;
+   inst_pointer=(UChar *)addr;
    i=0;
    inst_byte=0;
    possible_rep=0;
@@ -322,7 +322,7 @@
    /*     performance counters on pentium 4 processors so it is   */
    /*     useful to have that count when doing validation work.   */
 
-   inst_pointer=(unsigned char *)addr;
+   inst_pointer=(UChar *)addr;
    if (len>1) {
          /* FLDCW detection */
          /* opcode is 0xd9/5, ie 1101 1001 oo10 1mmm */
@@ -347,6 +347,7 @@
 static IRSB* bbv_instrument ( VgCallbackClosure* closure,
                              IRSB* sbIn, VexGuestLayout* layout,
                              VexGuestExtents* vge,
+                             VexArchInfo* archinfo_host,
                              IRType gWordTy, IRType hWordTy )
 {
    Int      i,n_instrs=1;
@@ -530,7 +531,7 @@
 }
 
    /* Parse the command line options */
-static Bool bbv_process_cmd_line_option(Char* arg)
+static Bool bbv_process_cmd_line_option(const HChar* arg)
 {
    if VG_INT_CLO       (arg, "--interval-size",    interval_size) {}
    else if VG_STR_CLO  (arg, "--bb-out-file",      clo_bb_out_file) {}
@@ -607,7 +608,7 @@
    VG_(details_version)         (NULL);
    VG_(details_description)     ("a SimPoint basic block vector generator");
    VG_(details_copyright_author)(
-      "Copyright (C) 2006-2011 Vince Weaver");
+      "Copyright (C) 2006-2012 Vince Weaver");
    VG_(details_bug_reports_to)  (VG_BUGS_TO);
 
    VG_(basic_tool_funcs)          (bbv_post_clo_init,
diff --git a/exp-dhat/dh_main.c b/exp-dhat/dh_main.c
index ae4b6dc..ef45cea 100644
--- a/exp-dhat/dh_main.c
+++ b/exp-dhat/dh_main.c
@@ -7,7 +7,7 @@
    This file is part of DHAT, a Valgrind tool for profiling the
    heap usage of programs.
 
-   Copyright (C) 2010-2011 Mozilla Inc
+   Copyright (C) 2010-2012 Mozilla Inc
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -727,7 +727,7 @@
 // boundary and so we can treat it just as one giant
 // read or write.
 static
-void dh_handle_noninsn_read ( CorePart part, ThreadId tid, Char* s,
+void dh_handle_noninsn_read ( CorePart part, ThreadId tid, const HChar* s,
                               Addr base, SizeT size )
 {
    switch (part) {
@@ -801,7 +801,7 @@
                  Int goff_sp)
 {
    IRType   tyAddr   = Ity_INVALID;
-   HChar*   hName    = NULL;
+   const HChar* hName= NULL;
    void*    hAddr    = NULL;
    IRExpr** argv     = NULL;
    IRDirty* di       = NULL;
@@ -874,6 +874,7 @@
                       IRSB* sbIn,
                       VexGuestLayout* layout,
                       VexGuestExtents* vge,
+                      VexArchInfo* archinfo_host,
                       IRType gWordTy, IRType hWordTy )
 {
    Int   i, n = 0;
@@ -1030,12 +1031,12 @@
 // FORWARDS
 static Bool identify_metric ( /*OUT*/ULong(**get_metricP)(APInfo*),
                               /*OUT*/Bool* increasingP,
-                              Char* metric_name );
+                              const HChar* metric_name );
 
 static Int    clo_show_top_n = 10;
-static HChar* clo_sort_by    = "max-bytes-live";
+static const HChar *clo_sort_by = "max-bytes-live";
 
-static Bool dh_process_cmd_line_option(Char* arg)
+static Bool dh_process_cmd_line_option(const HChar* arg)
 {
    if VG_BINT_CLO(arg, "--show-top-n", clo_show_top_n, 1, 100000) {}
 
@@ -1183,7 +1184,7 @@
    string could not be identified.*/
 static Bool identify_metric ( /*OUT*/ULong(**get_metricP)(APInfo*),
                               /*OUT*/Bool* increasingP,
-                              Char* metric_name )
+                              const HChar* metric_name )
 {
    if (0 == VG_(strcmp)(metric_name, "max-bytes-live")) {
       *get_metricP = get_metric__max_bytes_live;
@@ -1211,7 +1212,7 @@
    ULong (*get_metric)(APInfo*);
    Bool  increasing;
 
-   HChar* metric_name = clo_sort_by;
+   const HChar* metric_name = clo_sort_by;
    tl_assert(metric_name); // ensured by clo processing
 
    Bool ok = identify_metric( &get_metric, &increasing, metric_name );
@@ -1348,7 +1349,7 @@
    VG_(details_version)         (NULL);
    VG_(details_description)     ("a dynamic heap analysis tool");
    VG_(details_copyright_author)(
-      "Copyright (C) 2010-2011, and GNU GPL'd, by Mozilla Inc");
+      "Copyright (C) 2010-2012, and GNU GPL'd, by Mozilla Inc");
    VG_(details_bug_reports_to)  (VG_BUGS_TO);
 
    // Basic functions.
diff --git a/exp-sgcheck/docs/sg-manual.xml b/exp-sgcheck/docs/sg-manual.xml
index 8632199..a8ee313 100644
--- a/exp-sgcheck/docs/sg-manual.xml
+++ b/exp-sgcheck/docs/sg-manual.xml
@@ -31,7 +31,7 @@
 <sect1 id="sg-manual.options" xreflabel="SGCheck Command-line Options">
 <title>SGCheck Command-line Options</title>
 
-<para>There are no SGCheck-specific command-line options at present.</para>
+<para id="sg.opts.list">There are no SGCheck-specific command-line options at present.</para>
 <!--
 <para>SGCheck-specific command-line options are:</para>
 
@@ -217,7 +217,7 @@
   </listitem>
 
   <listitem>
-   <para>Coverage: SGCheck does not check whether the the areas read
+   <para>Coverage: SGCheck does not check whether the areas read
    or written by system calls do overrun stack or global arrays.  This
    would be easy to add.</para>
   </listitem>
diff --git a/exp-sgcheck/h_intercepts.c b/exp-sgcheck/h_intercepts.c
index 2a022ea..4c054d9 100644
--- a/exp-sgcheck/h_intercepts.c
+++ b/exp-sgcheck/h_intercepts.c
@@ -7,7 +7,7 @@
    This file is part of Ptrcheck, a Valgrind tool for checking pointer
    use in programs.
 
-   Copyright (C) 2003-2011 Nicholas Nethercote
+   Copyright (C) 2003-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -49,12 +49,12 @@
    char* VG_REPLACE_FUNCTION_ZU(soname,fnname)( const char* s, int c ); \
    char* VG_REPLACE_FUNCTION_ZU(soname,fnname)( const char* s, int c ) \
    { \
-      UChar  ch   = (UChar)((UInt)c); \
-      UChar* p    = (UChar*)s; \
-      UChar* last = NULL; \
+      HChar ch = (HChar)c;   \
+      const HChar* p = s;       \
+      const HChar* last = NULL; \
       while (True) { \
          if (*p == ch) last = p; \
-         if (*p == 0) return last; \
+         if (*p == 0) return (HChar *)last;     \
          p++; \
       } \
    }
@@ -75,10 +75,10 @@
    char* VG_REPLACE_FUNCTION_ZU(soname,fnname) ( const char* s, int c ); \
    char* VG_REPLACE_FUNCTION_ZU(soname,fnname) ( const char* s, int c ) \
    { \
-      UChar  ch = (UChar)((UInt)c); \
-      UChar* p  = (UChar*)s; \
+      HChar  ch = (HChar)c ; \
+      const HChar* p  = s;   \
       while (True) { \
-         if (*p == ch) return p; \
+         if (*p == ch) return (HChar *)p; \
          if (*p == 0) return NULL; \
          p++; \
       } \
@@ -137,7 +137,7 @@
    char* VG_REPLACE_FUNCTION_ZU(soname, fnname) ( char* dst, const char* src ); \
    char* VG_REPLACE_FUNCTION_ZU(soname, fnname) ( char* dst, const char* src ) \
    { \
-      Char* dst_orig = dst; \
+      HChar* dst_orig = dst; \
       \
       while (*src) *dst++ = *src++; \
       *dst = 0; \
@@ -166,8 +166,8 @@
          if (*s1 == 0) return -1; \
          if (*s2 == 0) return 1; \
          \
-         if (*(unsigned char*)s1 < *(unsigned char*)s2) return -1; \
-         if (*(unsigned char*)s1 > *(unsigned char*)s2) return 1; \
+         if (*(const unsigned char*)s1 < *(const unsigned char*)s2) return -1; \
+         if (*(const unsigned char*)s1 > *(const unsigned char*)s2) return 1; \
          \
          s1++; s2++; n++; \
       } \
@@ -187,17 +187,17 @@
    int VG_REPLACE_FUNCTION_ZU(soname,fnname) \
           ( const char* s1, const char* s2 ) \
    { \
-      register unsigned char c1; \
-      register unsigned char c2; \
+      register UChar c1; \
+      register UChar c2; \
       while (True) { \
-         c1 = *(unsigned char *)s1; \
-         c2 = *(unsigned char *)s2; \
+         c1 = *(const UChar *)s1; \
+         c2 = *(const UChar *)s2; \
          if (c1 != c2) break; \
          if (c1 == 0) break; \
          s1++; s2++; \
       } \
-      if ((unsigned char)c1 < (unsigned char)c2) return -1; \
-      if ((unsigned char)c1 > (unsigned char)c2) return 1; \
+      if ((UChar)c1 < (UChar)c2) return -1; \
+      if ((UChar)c1 > (UChar)c2) return 1; \
       return 0; \
    }
 
@@ -215,7 +215,7 @@
    { \
       SizeT i; \
       UChar c0 = (UChar)c; \
-      UChar* p = (UChar*)s; \
+      const UChar* p = (const UChar*)s; \
       for (i = 0; i < n; i++) \
          if (p[i] == c0) return (void*)(&p[i]); \
       return NULL; \
@@ -229,44 +229,72 @@
 
 #define MEMCPY(soname, fnname) \
    void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
-            ( void *dst, const void *src, SizeT sz ); \
+            ( void *dst, const void *src, SizeT len ); \
    void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
-            ( void *dest, const void *src, SizeT sz ) \
+            ( void *dst, const void *src, SizeT len ) \
    { \
-   const UChar*  s  = (const UChar*)src; \
-         UChar*  d  =       (UChar*)dest; \
-   const UWord*  sW = (const UWord*)src; \
-         UWord*  dW =       (UWord*)dest; \
-   const UWord   al = sizeof(UWord)-1; \
-   \
-   if (0 == (((UWord)dW) & al) && 0 == (((UWord)sW) & al)) { \
-      while (sz >= 4 * sizeof(UWord)) { \
-         dW[0] = sW[0]; \
-         dW[1] = sW[1]; \
-         dW[2] = sW[2]; \
-         dW[3] = sW[3]; \
-         sz -= 4 * sizeof(UWord); \
-         dW += 4; \
-         sW += 4; \
+      const Addr WS = sizeof(UWord); /* 8 or 4 */ \
+      const Addr WM = WS - 1;        /* 7 or 3 */ \
+      \
+      if (len > 0) { \
+         if (dst < src) { \
+         \
+            /* Copying backwards. */ \
+            SizeT n = len; \
+            Addr  d = (Addr)dst; \
+            Addr  s = (Addr)src; \
+            \
+            if (((s^d) & WM) == 0) { \
+               /* s and d have same UWord alignment. */ \
+               /* Pull up to a UWord boundary. */ \
+               while ((s & WM) != 0 && n >= 1) \
+                  { *(UChar*)d = *(UChar*)s; s += 1; d += 1; n -= 1; } \
+               /* Copy UWords. */ \
+               while (n >= WS) \
+                  { *(UWord*)d = *(UWord*)s; s += WS; d += WS; n -= WS; } \
+               if (n == 0) \
+                  return dst; \
+            } \
+            if (((s|d) & 1) == 0) { \
+               /* Both are 16-aligned; copy what we can thusly. */ \
+               while (n >= 2) \
+                  { *(UShort*)d = *(UShort*)s; s += 2; d += 2; n -= 2; } \
+            } \
+            /* Copy leftovers, or everything if misaligned. */ \
+            while (n >= 1) \
+               { *(UChar*)d = *(UChar*)s; s += 1; d += 1; n -= 1; } \
+         \
+         } else if (dst > src) { \
+         \
+            SizeT n = len; \
+            Addr  d = ((Addr)dst) + n; \
+            Addr  s = ((Addr)src) + n; \
+            \
+            /* Copying forwards. */ \
+            if (((s^d) & WM) == 0) { \
+               /* s and d have same UWord alignment. */ \
+               /* Back down to a UWord boundary. */ \
+               while ((s & WM) != 0 && n >= 1) \
+                  { s -= 1; d -= 1; *(UChar*)d = *(UChar*)s; n -= 1; } \
+               /* Copy UWords. */ \
+               while (n >= WS) \
+                  { s -= WS; d -= WS; *(UWord*)d = *(UWord*)s; n -= WS; } \
+               if (n == 0) \
+                  return dst; \
+            } \
+            if (((s|d) & 1) == 0) { \
+               /* Both are 16-aligned; copy what we can thusly. */ \
+               while (n >= 2) \
+                  { s -= 2; d -= 2; *(UShort*)d = *(UShort*)s; n -= 2; } \
+            } \
+            /* Copy leftovers, or everything if misaligned. */ \
+            while (n >= 1) \
+               { s -= 1; d -= 1; *(UChar*)d = *(UChar*)s; n -= 1; } \
+            \
+         } \
       } \
-      if (sz == 0) \
-         return dest; \
-      while (sz >= 1 * sizeof(UWord)) { \
-         dW[0] = sW[0]; \
-         sz -= 1 * sizeof(UWord); \
-         dW += 1; \
-         sW += 1; \
-      } \
-      if (sz == 0) \
-         return dest; \
-      s = (const UChar*)sW; \
-      d = (UChar*)dW; \
-   } \
-   \
-   while (sz--) \
-      *d++ = *s++; \
-   \
-   return dest; \
+      \
+      return dst; \
    }
 
 MEMCPY(VG_Z_LIBC_SONAME, memcpy)
@@ -297,13 +325,13 @@
 
 /* Find the first occurrence of C in S.  */
 #define GLIBC232_RAWMEMCHR(soname, fnname) \
-   char* VG_REPLACE_FUNCTION_ZU(soname,fnname) (const char* s, int c_in); \
-   char* VG_REPLACE_FUNCTION_ZU(soname,fnname) (const char* s, int c_in) \
+   void* VG_REPLACE_FUNCTION_ZU(soname,fnname) (const void* s, int c_in); \
+   void* VG_REPLACE_FUNCTION_ZU(soname,fnname) (const void* s, int c_in) \
    { \
-      unsigned char  c        = (unsigned char) c_in; \
-      unsigned char* char_ptr = (unsigned char *)s; \
+      UChar c = (UChar)c_in; \
+      const UChar* char_ptr = s; \
       while (1) { \
-         if (*char_ptr == c) return char_ptr; \
+        if (*char_ptr == c) return (void *)char_ptr;    \
          char_ptr++; \
       } \
    }
@@ -315,26 +343,26 @@
 
 
 #define STRSTR(soname, fnname) \
-   void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
-         (void* haystack, void* needle); \
-   void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
-         (void* haystack, void* needle) \
+   char* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
+         (const char* haystack, const char* needle); \
+   char* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
+         (const char* haystack, const char* needle) \
    { \
-      UChar* h = (UChar*)haystack; \
-      UChar* n = (UChar*)needle; \
+      const HChar* h = haystack; \
+      const HChar* n = needle; \
       \
       /* find the length of n, not including terminating zero */ \
       UWord nlen = 0; \
       while (n[nlen]) nlen++; \
       \
       /* if n is the empty string, match immediately. */ \
-      if (nlen == 0) return h; \
+      if (nlen == 0) return (HChar *)h;                  \
       \
       /* assert(nlen >= 1); */ \
-      UChar n0 = n[0]; \
+      HChar n0 = n[0]; \
       \
       while (1) { \
-         UChar hh = *h; \
+         const HChar hh = *h; \
          if (hh == 0) return NULL; \
          if (hh != n0) { h++; continue; } \
          \
@@ -345,7 +373,7 @@
          } \
          /* assert(i >= 0 && i <= nlen); */ \
          if (i == nlen) \
-            return h; \
+           return (HChar *)h;                   \
          \
          h++; \
       } \
@@ -357,13 +385,13 @@
 
 
 #define STRPBRK(soname, fnname) \
-   void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
-         (void* sV, void* acceptV); \
-   void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
-         (void* sV, void* acceptV) \
+   char* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
+         (const char* sV, const char* acceptV); \
+   char* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
+         (const char* sV, const char* acceptV) \
    { \
-      UChar* s = (UChar*)sV; \
-      UChar* accept = (UChar*)acceptV; \
+      const HChar* s = sV; \
+      const HChar* accept = acceptV; \
       \
       /*  find the length of 'accept', not including terminating zero */ \
       UWord nacc = 0; \
@@ -375,12 +403,12 @@
       /* assert(nacc >= 1); */ \
       while (1) { \
          UWord i; \
-         UChar sc = *s; \
+         HChar sc = *s; \
          if (sc == 0) \
             break; \
          for (i = 0; i < nacc; i++) { \
             if (sc == accept[i]) \
-               return s; \
+              return (HChar *)s; \
          } \
          s++; \
       } \
diff --git a/exp-sgcheck/h_main.c b/exp-sgcheck/h_main.c
index c5801b9..ac71d8b 100644
--- a/exp-sgcheck/h_main.c
+++ b/exp-sgcheck/h_main.c
@@ -11,12 +11,12 @@
 
    Initial version (Annelid):
 
-   Copyright (C) 2003-2011 Nicholas Nethercote
+   Copyright (C) 2003-2012 Nicholas Nethercote
       njn@valgrind.org
 
    Valgrind-3.X port:
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -609,6 +609,7 @@
                      IRSB* sbIn,
                      VexGuestLayout* layout,
                      VexGuestExtents* vge,
+                     VexArchInfo* archinfo_host,
                      IRType gWordTy, IRType hWordTy )
 {
    Bool  verboze = 0||False;
diff --git a/exp-sgcheck/h_main.h b/exp-sgcheck/h_main.h
index 8fcb7c8..7572b74 100644
--- a/exp-sgcheck/h_main.h
+++ b/exp-sgcheck/h_main.h
@@ -9,9 +9,9 @@
    This file is part of Ptrcheck, a Valgrind tool for checking pointer
    use in programs.
 
-   Copyright (C) 2003-2011 Nicholas Nethercote
+   Copyright (C) 2003-2012 Nicholas Nethercote
       njn@valgrind.org
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -72,6 +72,7 @@
                      IRSB* sbIn,
                      VexGuestLayout* layout,
                      VexGuestExtents* vge,
+                     VexArchInfo* archinfo_host,
                      IRType gWordTy, IRType hWordTy );
 
 #endif
diff --git a/exp-sgcheck/pc_common.c b/exp-sgcheck/pc_common.c
index bfac359..d4c5bc9 100644
--- a/exp-sgcheck/pc_common.c
+++ b/exp-sgcheck/pc_common.c
@@ -9,7 +9,7 @@
    This file is part of Ptrcheck, a Valgrind tool for checking pointer
    use in programs.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -63,7 +63,7 @@
 /* Bool h_clo_lossage_check     = False; */ /* dev flag only */
 Bool sg_clo_enable_sg_checks = True;   /* user visible */
 
-Bool pc_process_cmd_line_options(Char* arg)
+Bool pc_process_cmd_line_options(const HChar* arg)
 {
         if VG_BOOL_CLO(arg, "--partial-loads-ok", h_clo_partial_loads_ok) {}
    /* else if VG_BOOL_CLO(arg, "--lossage-check",    h_clo_lossage_check) {} */
@@ -134,7 +134,7 @@
             Seg*     vseg;
             XArray*  descr1; /* XArray* of HChar */
             XArray*  descr2; /* XArray* of HChar */
-            Char     datasym[96];
+            HChar    datasym[96];
             PtrdiffT datasymoff;
          } Heap;
          struct {
@@ -200,7 +200,7 @@
                             /*a*/0, /*str*/NULL, /*extra*/(void*)&xe);
 }
 
-void h_record_sysparam_error( ThreadId tid, CorePart part, Char* s,
+void h_record_sysparam_error( ThreadId tid, CorePart part, const HChar* s,
                               Addr lo, Addr hi, Seg* seglo, Seg* seghi )
 {
    XError xe;
@@ -268,7 +268,7 @@
 /* Do a printf-style operation on either the XML or normal output
    channel, depending on the setting of VG_(clo_xml).
 */
-static void emit_WRK ( HChar* format, va_list vargs )
+static void emit_WRK ( const HChar* format, va_list vargs )
 {
    if (VG_(clo_xml)) {
       VG_(vprintf_xml)(format, vargs);
@@ -276,15 +276,15 @@
       VG_(vmessage)(Vg_UserMsg, format, vargs);
    }
 }
-static void emit ( HChar* format, ... ) PRINTF_CHECK(1, 2);
-static void emit ( HChar* format, ... )
+static void emit ( const HChar* format, ... ) PRINTF_CHECK(1, 2);
+static void emit ( const HChar* format, ... )
 {
    va_list vargs;
    va_start(vargs, format);
    emit_WRK(format, vargs);
    va_end(vargs);
 }
-static void emiN ( HChar* format, ... ) /* With NO FORMAT CHECK */
+static void emiN ( const HChar* format, ... ) /* With NO FORMAT CHECK */
 {
    va_list vargs;
    va_start(vargs, format);
@@ -293,7 +293,7 @@
 }
 
 
-static Char* readwrite(SSizeT sszB)
+static const HChar* readwrite(SSizeT sszB)
 {
    return ( sszB < 0 ? "write" : "read" );
 }
@@ -348,7 +348,7 @@
 
    //----------------------------------------------------------
    case XE_Heap: {
-      Char *place, *legit, *how_invalid;
+      const HChar *place, *legit, *how_invalid;
       Addr a    = xe->XE.Heap.addr;
       Seg* vseg = xe->XE.Heap.vseg;
 
@@ -468,7 +468,7 @@
    case XE_Arith: {
       Seg*   seg1   = xe->XE.Arith.seg1;
       Seg*   seg2   = xe->XE.Arith.seg2;
-      Char*  which;
+      const HChar*  which;
 
       tl_assert(BOTTOM != seg1);
       tl_assert(BOTTOM != seg2 && UNKNOWN != seg2);
@@ -544,8 +544,8 @@
       Addr  hi    = xe->XE.SysParam.hi;
       Seg*  seglo = xe->XE.SysParam.seglo;
       Seg*  seghi = xe->XE.SysParam.seghi;
-      Char* s     = VG_(get_error_string) (err);
-      Char* what;
+      const HChar* s = VG_(get_error_string) (err);
+      const HChar* what;
 
       tl_assert(BOTTOM != seglo && BOTTOM != seghi);
 
@@ -720,7 +720,7 @@
    return sizeof(XError);
 }
 
-Bool pc_is_recognised_suppression ( Char* name, Supp *su )
+Bool pc_is_recognised_suppression ( const HChar* name, Supp *su )
 {
    SuppKind skind;
 
@@ -735,7 +735,7 @@
    return True;
 }
 
-Bool pc_read_extra_suppression_info ( Int fd, Char** bufpp, 
+Bool pc_read_extra_suppression_info ( Int fd, HChar** bufpp, 
                                       SizeT* nBufp, Supp* su )
 {
    Bool eof;
@@ -764,7 +764,7 @@
    }
 }
 
-Char* pc_get_error_name ( Error* err )
+const HChar* pc_get_error_name ( Error* err )
 {
    XError *xe = (XError*)VG_(get_error_extra)(err);
    tl_assert(xe);
@@ -778,13 +778,13 @@
 }
 
 Bool pc_get_extra_suppression_info ( Error* err,
-                                     /*OUT*/Char* buf, Int nBuf )
+                                     /*OUT*/HChar* buf, Int nBuf )
 {
    ErrorKind ekind = VG_(get_error_kind )(err);
    tl_assert(buf);
    tl_assert(nBuf >= 16); // stay sane
    if (XE_SysParam == ekind) {
-      Char* errstr = VG_(get_error_string)(err);
+      const HChar* errstr = VG_(get_error_string)(err);
       tl_assert(errstr);
       VG_(snprintf)(buf, nBuf-1, "%s", errstr);
       return True;
diff --git a/exp-sgcheck/pc_common.h b/exp-sgcheck/pc_common.h
index 2250b43..c547a23 100644
--- a/exp-sgcheck/pc_common.h
+++ b/exp-sgcheck/pc_common.h
@@ -9,7 +9,7 @@
    This file is part of Ptrcheck, a Valgrind tool for checking pointer
    use in programs.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -44,26 +44,26 @@
 
 void h_record_arith_error( Seg* seg1, Seg* seg2, HChar* opname );
 
-void h_record_sysparam_error( ThreadId tid, CorePart part, Char* s,
+void h_record_sysparam_error( ThreadId tid, CorePart part, const HChar* s,
                               Addr lo, Addr hi, Seg* seglo, Seg* seghi );
 
 Bool pc_eq_Error           ( VgRes res, Error* e1, Error* e2 );
 void pc_before_pp_Error    ( Error* err );
 void pc_pp_Error           ( Error* err );
 UInt pc_update_Error_extra ( Error* err );
-Bool pc_is_recognised_suppression ( Char* name, Supp *su );
-Bool pc_read_extra_suppression_info ( Int fd, Char** bufpp, 
+Bool pc_is_recognised_suppression ( const HChar* name, Supp *su );
+Bool pc_read_extra_suppression_info ( Int fd, HChar** bufpp, 
                                       SizeT* nBufp, Supp* su );
 Bool pc_error_matches_suppression (Error* err, Supp* su);
-Char* pc_get_error_name ( Error* err );
+const HChar* pc_get_error_name ( Error* err );
 Bool pc_get_extra_suppression_info ( Error* err,
-                                     /*OUT*/Char* buf, Int nBuf );
+                                     /*OUT*/HChar* buf, Int nBuf );
 
 extern Bool h_clo_partial_loads_ok;
 /* extern Bool h_clo_lossage_check; */
 extern Bool sg_clo_enable_sg_checks;
 
-Bool pc_process_cmd_line_options(Char* arg);
+Bool pc_process_cmd_line_options(const HChar* arg);
 void pc_print_usage(void);
 void pc_print_debug_usage(void);
 
diff --git a/exp-sgcheck/pc_main.c b/exp-sgcheck/pc_main.c
index ff15763..5cfd94c 100644
--- a/exp-sgcheck/pc_main.c
+++ b/exp-sgcheck/pc_main.c
@@ -9,7 +9,7 @@
    This file is part of Ptrcheck, a Valgrind tool for checking pointer
    use in programs.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -73,7 +73,7 @@
    VG_(details_description)     ("a stack and global array "
                                  "overrun detector");
    VG_(details_copyright_author)(
-      "Copyright (C) 2003-2011, and GNU GPL'd, by OpenWorks Ltd et al.");
+      "Copyright (C) 2003-2012, and GNU GPL'd, by OpenWorks Ltd et al.");
    VG_(details_bug_reports_to)  (VG_BUGS_TO);
    VG_(details_avg_translation_sizeB) ( 496 );
 
diff --git a/exp-sgcheck/sg_main.c b/exp-sgcheck/sg_main.c
index c6939e2..f5a3133 100644
--- a/exp-sgcheck/sg_main.c
+++ b/exp-sgcheck/sg_main.c
@@ -9,7 +9,7 @@
    This file is part of Ptrcheck, a Valgrind tool for checking pointer
    use in programs.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -69,7 +69,7 @@
           && tid != VG_INVALID_THREADID;
 }
 
-static void* sg_malloc ( HChar* cc, SizeT n ) {
+static void* sg_malloc ( const HChar* cc, SizeT n ) {
    void* p;
    tl_assert(n > 0);
    p = VG_(malloc)( cc, n );
@@ -146,7 +146,7 @@
    vectors describe the same set of variables but are not structurally
    identical. */
 
-static inline Bool StackBlock__sane ( StackBlock* fb )
+static inline Bool StackBlock__sane ( const StackBlock* fb )
 {
    if (fb->name[ sizeof(fb->name)-1 ] != 0)
       return False;
@@ -158,7 +158,7 @@
 }
 
 /* Generate an arbitrary total ordering on StackBlocks. */
-static Word StackBlock__cmp ( StackBlock* fb1, StackBlock* fb2 )
+static Word StackBlock__cmp ( const StackBlock* fb1, const StackBlock* fb2 )
 {
    Word r;
    tl_assert(StackBlock__sane(fb1));
@@ -261,7 +261,7 @@
    UWord key, val;
 
    /* First, normalise, as per comments above. */
-   VG_(setCmpFnXA)( orig, (Int(*)(void*,void*))StackBlock__cmp );
+   VG_(setCmpFnXA)( orig, (XACmpFn_t)StackBlock__cmp );
    VG_(sortXA)( orig );
 
    /* Now get rid of any exact duplicates. */
@@ -477,7 +477,7 @@
    }
    StackTreeNode;
 
-static void pp_StackTree ( WordFM* sitree, HChar* who )
+static void pp_StackTree ( WordFM* sitree, const HChar* who )
 {
    UWord keyW, valW;
    VG_(printf)("<<< BEGIN pp_StackTree %s\n", who );
@@ -637,7 +637,7 @@
 }
 
 static void GlobalTree__pp ( WordFM* /* of (GlobalTreeNode,void) */ gitree,
-                             HChar* who )
+                             const HChar* who )
 {
    UWord keyW, valW;
    GlobalTreeNode* nd;
@@ -944,7 +944,7 @@
    messages. */
 static void show_Invar( HChar* buf, Word nBuf, Invar* inv, Word depth )
 {
-   HChar* str;
+   const HChar* str;
    tl_assert(nBuf >= 128);
    buf[0] = 0;
    switch (inv->tag) {
@@ -1016,7 +1016,7 @@
    qc->nInUse = 0;
 }
 
-static void QCache__pp ( QCache* qc, HChar* who )
+static void QCache__pp ( QCache* qc, const HChar* who )
 {
    Word i;
    VG_(printf)("<<< QCache with %ld elements (%s)\n", qc->nInUse, who);
diff --git a/exp-sgcheck/sg_main.h b/exp-sgcheck/sg_main.h
index 7291478..43dddec 100644
--- a/exp-sgcheck/sg_main.h
+++ b/exp-sgcheck/sg_main.h
@@ -9,7 +9,7 @@
    This file is part of Ptrcheck, a Valgrind tool for checking pointer
    use in programs.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
diff --git a/exp-sgcheck/tests/Makefile.am b/exp-sgcheck/tests/Makefile.am
index 74a0e57..30dab91 100644
--- a/exp-sgcheck/tests/Makefile.am
+++ b/exp-sgcheck/tests/Makefile.am
@@ -56,7 +56,6 @@
 				-Wl,-rpath,$(top_builddir)/memcheck/tests
 endif
 
-preen_invars_so_so_SOURCES      = preen_invars_so.c	# For automake-1.7.
 preen_invars_so_so_CFLAGS       = $(AM_CFLAGS) -fpic
 if VGCONF_OS_IS_DARWIN
  preen_invars_so_so_LDFLAGS     = -fpic $(AM_FLAG_M3264_PRI) -dynamic \
diff --git a/exp-sgcheck/tests/is_arch_supported b/exp-sgcheck/tests/is_arch_supported
index bdf2e7f..818cc61 100755
--- a/exp-sgcheck/tests/is_arch_supported
+++ b/exp-sgcheck/tests/is_arch_supported
@@ -1,7 +1,7 @@
 #!/bin/sh
 #
-# Not all architectures are supported by exp-ptr. Currently, PowerPC, s390x
-# and ARM are not supported and will fail these tests as follows:
+# Not all architectures are supported by exp-ptr. Currently, PowerPC, s390x,
+# MIPS and ARM are not supported and will fail these tests as follows:
 # WARNING: exp-ptrcheck on <blah> platforms: stack and global array
 # WARNING: checking is not currently supported.  Only heap checking is
 # WARNING: supported.
@@ -9,7 +9,7 @@
 # So we use this script to prevent these tests from running on unsupported
 # architectures.
 
-case `uname -i` in
-  ppc*|arm*|s390x) exit 1;;
+case `uname -m` in
+  ppc*|arm*|s390x|mips*) exit 1;;
   *)         exit 0;;
 esac
diff --git a/gdbserver_tests/Makefile.am b/gdbserver_tests/Makefile.am
index 310baed..1e0e42d 100644
--- a/gdbserver_tests/Makefile.am
+++ b/gdbserver_tests/Makefile.am
@@ -92,11 +92,30 @@
 	nlfork_chain.stderr.exp \
 	nlfork_chain.stdout.exp \
 	nlfork_chain.vgtest \
+	nlgone_abrt.stderr.exp \
+	nlgone_abrt.stderrB.exp \
+	nlgone_abrt.stdinB.gdb \
+	nlgone_abrt.stdoutB.exp \
+	nlgone_abrt.vgtest \
+	nlgone_exit.stderr.exp \
+	nlgone_exit.stderrB.exp \
+	nlgone_exit.stdinB.gdb \
+	nlgone_exit.stdoutB.exp \
+	nlgone_exit.vgtest \
+	nlgone_return.stderr.exp \
+	nlgone_return.stderrB.exp \
+	nlgone_return.stdinB.gdb \
+	nlgone_return.stdoutB.exp \
+	nlgone_return.vgtest \
 	nlpasssigalrm.vgtest \
 	nlpasssigalrm.stderrB.exp \
 	nlpasssigalrm.stderr.exp \
 	nlpasssigalrm.stdinB.gdb \
 	nlpasssigalrm.stdoutB.exp \
+	nlself_invalidate.stderrB.exp \
+	nlself_invalidate.stderr.exp \
+	nlself_invalidate.stdinB.gdb \
+	nlself_invalidate.vgtest \
 	nlsigvgdb.vgtest \
 	nlsigvgdb.stderr.exp \
 	nlsigvgdb.stderrB.exp \
@@ -105,9 +124,11 @@
 check_PROGRAMS = \
 	clean_after_fork \
 	fork_chain \
-	passsigalrm \
-	sleepers \
+	gone \
 	main_pic \
+	passsigalrm \
+	self_invalidate \
+	sleepers \
 	t \
 	watchpoints
 
diff --git a/gdbserver_tests/README_DEVELOPERS b/gdbserver_tests/README_DEVELOPERS
index e33eb03..2f953b2 100644
--- a/gdbserver_tests/README_DEVELOPERS
+++ b/gdbserver_tests/README_DEVELOPERS
@@ -102,7 +102,7 @@
   V: use the 'vg_regtest' approach used by the rest of Valgrind tests
   G: use the gdb Dejagnu test framework.
 
-Advantages of V: much simpler that G, known by Valgrind developpers,
+Advantages of V: much simpler that G, known by Valgrind developers,
 no additional dependency for the Valgrind build and test.
 
 Disadvantages of V: not well suited to testing of interactive tools,
diff --git a/gdbserver_tests/filter_gdb b/gdbserver_tests/filter_gdb
index 6f16dcf..a106818 100755
--- a/gdbserver_tests/filter_gdb
+++ b/gdbserver_tests/filter_gdb
@@ -12,6 +12,8 @@
 # memcheck stuff
 $dir/filter_memcheck_monitor "$@"                                   |
 
+# memcheck filter might leave some "..." lines, we are not interested
+sed -e '/^\ \ \ \ \.\.\.$/d'                                        |
 
 # Anonymise or remove :
 #       delete the initial lines between the launch of vgdb and the
@@ -49,6 +51,8 @@
 #         a.o. produced by gdb 7.2 on arm (same with standard gdbserver)
 #       delete empty lines (the last line (only made of prompts) sometimes
 #           finishes with a new line, sometimes not ???).
+#       'exited with code' and 'exited normally' are printed slightly
+#       differently between gdb versions, normalize to "Program exited...".
 sed -e '/Remote debugging using/,/vgdb launched process attached/d'                                   \
     -e 's/^\[?1034hReading symbols/Reading symbols/'                                                \
     -e '/^Missing separate debuginfo/d'                                                               \
@@ -64,6 +68,8 @@
     -e '/^Loaded symbols for .*$/d'                                                                   \
     -e '/^Current language.*/d'                                                                       \
     -e '/^The current source language is.*/d'                                                         \
+    -e 's/^.*\( exited with code [0-9]\+\).$/Program\1\./g'                              \
+    -e 's/^.*\( exited normally\).$/Program\1\./g'                              \
     -e 's/(gdb) //g'                                                                                  \
     -e 's/^>[> ]*//'                                                                                  \
     -e '/^done\.$/d'                                                                                  \
@@ -85,6 +91,7 @@
     -e '/^[ 	]*in \.\.\/sysdeps\/unix\/syscall-template\.S/d'                                      \
     -e '/^[1-9][0-9]*[ 	]*\.\.\/sysdeps\/unix\/syscall-template\.S/d'                                 \
     -e '/^[1-9][0-9]*[ 	]in *\.\.\/sysdeps\/unix\/syscall-template\.S/d'                              \
+    -e '/^[1-9][0-9]*[ 	]T_PSEUDO (SYSCALL_SYMBOL, SYSCALL_NAME, SYSCALL_NARGS)/d'                    \
     -e 's/\(Could not write register \)".*"/\1 "xxx"/'                                                \
     -e 's/\(ERROR changing register \).*$/\1 xxx regno y/'                                            \
     -e 's/0x........ in \(main (argc=1, argv=0x........) at watchpoints.c:[24][3689]\)/\1/'           \
diff --git a/gdbserver_tests/gone.c b/gdbserver_tests/gone.c
new file mode 100644
index 0000000..53274e9
--- /dev/null
+++ b/gdbserver_tests/gone.c
@@ -0,0 +1,33 @@
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+int
+main (int argc, char **argv)
+{
+  fprintf(stderr, "starting ...\n");
+
+  // Three ways of going away...
+  if (argc > 1)
+    {
+      // Explicit exit() with exit code.
+      if (strcmp (argv[1], "exit") == 0)
+	{
+	  fprintf(stderr, "exiting ...\n");
+	  exit (1);
+	}
+
+      // Get killed by a signal.
+      if (strcmp (argv[1], "abort") == 0)
+	{
+	  fprintf(stderr, "aborting ...\n");
+	  kill(getpid(), SIGABRT);
+	}
+    }
+
+  // And finally, just return from main with success.
+  fprintf(stderr, "returning ...\n");
+  return 0;
+}
diff --git a/gdbserver_tests/make_local_links b/gdbserver_tests/make_local_links
index 8e50093..73a2f00 100755
--- a/gdbserver_tests/make_local_links
+++ b/gdbserver_tests/make_local_links
@@ -99,8 +99,7 @@
 # if ptrace not implemented in vgdb or OS restricts the initial attach,
 # some tests would block for a loooonnnng time.
 if gdbserver_tests/vgdb --help 2>&1 |
-    grep -e 'ptrace invoker not implemented' \
-         -e 'kernel restricts ptrace invoker' > /dev/null
+    grep -e 'ptrace invoker not implemented' > /dev/null
 then
     rm -f gdbserver_tests/vgdb.ptraceinvoker
 else
diff --git a/gdbserver_tests/mchelp.stdoutB.exp b/gdbserver_tests/mchelp.stdoutB.exp
index 20b2e76..ab267d3 100644
--- a/gdbserver_tests/mchelp.stdoutB.exp
+++ b/gdbserver_tests/mchelp.stdoutB.exp
@@ -1,13 +1,15 @@
 general valgrind monitor commands:
-  help [debug]             : monitor command help. With debug: + debugging commands
+  help [debug]            : monitor command help. With debug: + debugging commands
   v.wait [<ms>]           : sleep <ms> (default 0) then continue
   v.info all_errors       : show all errors found so far
   v.info last_error       : show last error found
   v.info n_errs_found     : show the nr of errors found so far
+  v.info open_fds         : show open file descriptors (only if --track-fds=yes)
   v.kill                  : kill the Valgrind process
   v.set gdb_output        : set valgrind output to gdb
   v.set log_output        : set valgrind output to log
   v.set mixed_output      : set valgrind output to log, interactive output to gdb
+  v.set merge-recursive-frames <num> : merge recursive calls in max <num> frames
   v.set vgdb-error <errornr> : debug me at error >= <errornr> 
 
 memcheck monitor commands:
@@ -21,12 +23,15 @@
   check_memory [addressable|defined] <addr> [<len>]
         check that <len> (or 1) bytes at <addr> have the given accessibility
             and outputs a description of <addr>
-  leak_check [full*|summary] [reachable|possibleleak*|definiteleak]
+  leak_check [full*|summary]
+                [kinds kind1,kind2,...|reachable|possibleleak*|definiteleak]
                 [increased*|changed|any]
                 [unlimited*|limited <max_loss_records_output>]
             * = defaults
+        where kind is one of definite indirect possible reachable all none
         Examples: leak_check
                   leak_check summary any
+                  leak_check full kinds indirect,possible
                   leak_check full reachable any limited 100
   block_list <loss_record_nr>
         after a leak search, shows the list of blocks of <loss_record_nr>
@@ -36,19 +41,24 @@
          with len > 1, will also show "interior pointers")
 
 general valgrind monitor commands:
-  help [debug]             : monitor command help. With debug: + debugging commands
+  help [debug]            : monitor command help. With debug: + debugging commands
   v.wait [<ms>]           : sleep <ms> (default 0) then continue
   v.info all_errors       : show all errors found so far
   v.info last_error       : show last error found
   v.info n_errs_found     : show the nr of errors found so far
+  v.info open_fds         : show open file descriptors (only if --track-fds=yes)
   v.kill                  : kill the Valgrind process
   v.set gdb_output        : set valgrind output to gdb
   v.set log_output        : set valgrind output to log
   v.set mixed_output      : set valgrind output to log, interactive output to gdb
+  v.set merge-recursive-frames <num> : merge recursive calls in max <num> frames
   v.set vgdb-error <errornr> : debug me at error >= <errornr> 
 debugging valgrind internals monitor commands:
+  v.do   expensive_sanity_check_general : do an expensive sanity check now
   v.info gdbserver_status : show gdbserver status
-  v.info memory           : show valgrind heap memory stats
+  v.info memory [aspacemgr] : show valgrind heap memory stats
+     (with aspacemgr arg, also shows valgrind segments on log ouput)
+  v.info exectxt          : show stacktraces and stats of all execontexts
   v.info scheduler        : show valgrind thread state and stacktrace
   v.set debuglog <level>  : set valgrind debug log level to <level>
   v.translate <addr> [<traceflags>]  : debug translation of <addr> with <traceflags>
@@ -66,12 +76,15 @@
   check_memory [addressable|defined] <addr> [<len>]
         check that <len> (or 1) bytes at <addr> have the given accessibility
             and outputs a description of <addr>
-  leak_check [full*|summary] [reachable|possibleleak*|definiteleak]
+  leak_check [full*|summary]
+                [kinds kind1,kind2,...|reachable|possibleleak*|definiteleak]
                 [increased*|changed|any]
                 [unlimited*|limited <max_loss_records_output>]
             * = defaults
+        where kind is one of definite indirect possible reachable all none
         Examples: leak_check
                   leak_check summary any
+                  leak_check full kinds indirect,possible
                   leak_check full reachable any limited 100
   block_list <loss_record_nr>
         after a leak search, shows the list of blocks of <loss_record_nr>
diff --git a/gdbserver_tests/mcleak.stderrB.exp b/gdbserver_tests/mcleak.stderrB.exp
index a4959c2..4f70665 100644
--- a/gdbserver_tests/mcleak.stderrB.exp
+++ b/gdbserver_tests/mcleak.stderrB.exp
@@ -95,4 +95,3 @@
    by 0x........: f (leak-delta.c:28)
    by 0x........: main (leak-delta.c:60)
 
-Remote connection closed
diff --git a/gdbserver_tests/mcleak.stdoutB.exp b/gdbserver_tests/mcleak.stdoutB.exp
index ff66b9d..41be83e 100644
--- a/gdbserver_tests/mcleak.stdoutB.exp
+++ b/gdbserver_tests/mcleak.stdoutB.exp
@@ -45,3 +45,4 @@
 #1  0x........ in f () at leak-delta.c:48
 48	   fprintf(stderr, "expecting details 32 (+32) bytes lost, 33 (-32) bytes reachable\n"); fflush(stderr); breakme();
 Continuing.
+Program exited normally.
diff --git a/gdbserver_tests/mcmain_pic.stderrB.exp b/gdbserver_tests/mcmain_pic.stderrB.exp
index ed5d420..c90e1fa 100644
--- a/gdbserver_tests/mcmain_pic.stderrB.exp
+++ b/gdbserver_tests/mcmain_pic.stderrB.exp
@@ -1,3 +1,2 @@
 relaying data between gdb and process ....
 vgdb-error value changed from 0 to 999999
-Remote connection closed
diff --git a/gdbserver_tests/mcmain_pic.stdoutB.exp b/gdbserver_tests/mcmain_pic.stdoutB.exp
index a548a66..ffac737 100644
--- a/gdbserver_tests/mcmain_pic.stdoutB.exp
+++ b/gdbserver_tests/mcmain_pic.stdoutB.exp
@@ -6,3 +6,4 @@
 $2 = (int (*)(int, char **)) 0x........ <main>
 $3 = (void (*)(char *)) 0x........ <another_func>
 Continuing.
+Program exited normally.
diff --git a/gdbserver_tests/mcsignopass.vgtest b/gdbserver_tests/mcsignopass.vgtest
index 32d1697..61992aa 100644
--- a/gdbserver_tests/mcsignopass.vgtest
+++ b/gdbserver_tests/mcsignopass.vgtest
@@ -6,7 +6,7 @@
 #      are eventually passed.
 prereq: test -e gdb
 prog: ../none/tests/faultstatus
-vgopts: --tool=memcheck --vgdb=full --vex-iropt-precise-memory-exns=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsignopass
+vgopts: --tool=memcheck --vgdb=full --vex-iropt-register-updates=allregs-at-mem-access --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsignopass
 stderr_filter: filter_memcheck_monitor
 stderr_filter_args: faultstatus.c
 progB: gdb
diff --git a/gdbserver_tests/mcsigpass.vgtest b/gdbserver_tests/mcsigpass.vgtest
index c23845b..20f7864 100644
--- a/gdbserver_tests/mcsigpass.vgtest
+++ b/gdbserver_tests/mcsigpass.vgtest
@@ -1,7 +1,7 @@
 # test the signal handling, when signals are passed to the Valgrind guest.
 prereq: test -e gdb
 prog: ../none/tests/faultstatus
-vgopts: --tool=memcheck --vgdb=full --vex-iropt-precise-memory-exns=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsigpass
+vgopts: --tool=memcheck --vgdb=full --vex-iropt-register-updates=allregs-at-mem-access --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-mcsigpass
 stderr_filter: filter_memcheck_monitor
 stderr_filter_args: faultstatus.c
 progB: gdb
diff --git a/gdbserver_tests/mcwatchpoints.stdinB.gdb b/gdbserver_tests/mcwatchpoints.stdinB.gdb
index 9411ef0..c275098 100644
--- a/gdbserver_tests/mcwatchpoints.stdinB.gdb
+++ b/gdbserver_tests/mcwatchpoints.stdinB.gdb
@@ -14,6 +14,9 @@
 rwatch undefined[0]
 awatch undefined[4]
 watch  undefined[8]
+rwatch undefined[9]
+awatch undefined[9]
+watch  undefined[9]
 #
 # now we should encounter 4 break points
 continue
diff --git a/gdbserver_tests/mcwatchpoints.stdoutB.exp b/gdbserver_tests/mcwatchpoints.stdoutB.exp
index 0604aeb..f725476 100644
--- a/gdbserver_tests/mcwatchpoints.stdoutB.exp
+++ b/gdbserver_tests/mcwatchpoints.stdoutB.exp
@@ -5,6 +5,9 @@
 Hardware read watchpoint 2: undefined[0]
 Hardware access (read/write) watchpoint 3: undefined[4]
 Hardware watchpoint 4: undefined[8]
+Hardware read watchpoint 5: undefined[9]
+Hardware access (read/write) watchpoint 6: undefined[9]
+Hardware watchpoint 7: undefined[9]
 Continuing.
 Hardware read watchpoint 2: undefined[0]
 Value = 117 'u'
@@ -29,3 +32,4 @@
 49	   fprintf(stderr, "after writing 8\n");
 Delete all breakpoints? (y or n) [answered Y; input not from terminal]
 Continuing.
+Program exited normally.
diff --git a/gdbserver_tests/mssnapshot.stderrB.exp b/gdbserver_tests/mssnapshot.stderrB.exp
index 12a0292..551865f 100644
--- a/gdbserver_tests/mssnapshot.stderrB.exp
+++ b/gdbserver_tests/mssnapshot.stderrB.exp
@@ -1,15 +1,17 @@
 relaying data between gdb and process ....
 vgdb-error value changed from 0 to 999999
 general valgrind monitor commands:
-  help [debug]             : monitor command help. With debug: + debugging commands
+  help [debug]            : monitor command help. With debug: + debugging commands
   v.wait [<ms>]           : sleep <ms> (default 0) then continue
   v.info all_errors       : show all errors found so far
   v.info last_error       : show last error found
   v.info n_errs_found     : show the nr of errors found so far
+  v.info open_fds         : show open file descriptors (only if --track-fds=yes)
   v.kill                  : kill the Valgrind process
   v.set gdb_output        : set valgrind output to gdb
   v.set log_output        : set valgrind output to log
   v.set mixed_output      : set valgrind output to log, interactive output to gdb
+  v.set merge-recursive-frames <num> : merge recursive calls in max <num> frames
   v.set vgdb-error <errornr> : debug me at error >= <errornr> 
 
 massif monitor commands:
diff --git a/gdbserver_tests/nlcontrolc.stdoutB.exp b/gdbserver_tests/nlcontrolc.stdoutB.exp
index fa1c73d..70f355b 100644
--- a/gdbserver_tests/nlcontrolc.stdoutB.exp
+++ b/gdbserver_tests/nlcontrolc.stdoutB.exp
@@ -21,3 +21,4 @@
 $6 = 0
 $7 = 0
 Continuing.
+Program exited normally.
diff --git a/gdbserver_tests/nlgone_abrt.stderr.exp b/gdbserver_tests/nlgone_abrt.stderr.exp
new file mode 100644
index 0000000..f1d766b
--- /dev/null
+++ b/gdbserver_tests/nlgone_abrt.stderr.exp
@@ -0,0 +1,8 @@
+Nulgrind, the minimal Valgrind tool
+
+(action at startup) vgdb me ... 
+
+
+starting ...
+aborting ...
+
diff --git a/gdbserver_tests/nlgone_abrt.stderrB.exp b/gdbserver_tests/nlgone_abrt.stderrB.exp
new file mode 100644
index 0000000..c8b2024
--- /dev/null
+++ b/gdbserver_tests/nlgone_abrt.stderrB.exp
@@ -0,0 +1 @@
+relaying data between gdb and process ....
diff --git a/gdbserver_tests/nlgone_abrt.stdinB.gdb b/gdbserver_tests/nlgone_abrt.stdinB.gdb
new file mode 100644
index 0000000..97dc280
--- /dev/null
+++ b/gdbserver_tests/nlgone_abrt.stdinB.gdb
@@ -0,0 +1,9 @@
+# connect gdb to Valgrind gdbserver:
+target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-nlgone-abrt
+echo vgdb launched process attached\n
+
+continue
+# see process get a fatal signal
+continue
+# see program is gone
+quit
diff --git a/gdbserver_tests/nlgone_abrt.stdoutB.exp b/gdbserver_tests/nlgone_abrt.stdoutB.exp
new file mode 100644
index 0000000..38207d6
--- /dev/null
+++ b/gdbserver_tests/nlgone_abrt.stdoutB.exp
@@ -0,0 +1,7 @@
+vgdb launched process attached
+Continuing.
+Program received signal SIGABRT, Aborted.
+0x........ in syscall ...
+Continuing.
+Program terminated with signal SIGABRT, Aborted.
+The program no longer exists.
diff --git a/gdbserver_tests/nlgone_abrt.vgtest b/gdbserver_tests/nlgone_abrt.vgtest
new file mode 100644
index 0000000..09916f0
--- /dev/null
+++ b/gdbserver_tests/nlgone_abrt.vgtest
@@ -0,0 +1,12 @@
+# test that a fatal SIGABRT signal is properly passed on to gdb.
+
+prog: gone
+args: abort
+vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlgone-abrt
+stderr_filter: filter_stderr
+prereq: test -e gdb
+progB: gdb
+argsB: --quiet -l 60 --nx ./gone
+stdinB: nlgone_abrt.stdinB.gdb
+stdoutB_filter: filter_gdb
+stderrB_filter: filter_gdb
diff --git a/gdbserver_tests/nlgone_exit.stderr.exp b/gdbserver_tests/nlgone_exit.stderr.exp
new file mode 100644
index 0000000..f6f82cf
--- /dev/null
+++ b/gdbserver_tests/nlgone_exit.stderr.exp
@@ -0,0 +1,8 @@
+Nulgrind, the minimal Valgrind tool
+
+(action at startup) vgdb me ... 
+
+
+starting ...
+exiting ...
+
diff --git a/gdbserver_tests/nlgone_exit.stderrB.exp b/gdbserver_tests/nlgone_exit.stderrB.exp
new file mode 100644
index 0000000..c8b2024
--- /dev/null
+++ b/gdbserver_tests/nlgone_exit.stderrB.exp
@@ -0,0 +1 @@
+relaying data between gdb and process ....
diff --git a/gdbserver_tests/nlgone_exit.stdinB.gdb b/gdbserver_tests/nlgone_exit.stdinB.gdb
new file mode 100644
index 0000000..903fb88
--- /dev/null
+++ b/gdbserver_tests/nlgone_exit.stdinB.gdb
@@ -0,0 +1,7 @@
+# connect gdb to Valgrind gdbserver:
+target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-nlgone-exit
+echo vgdb launched process attached\n
+
+continue
+# see program is gone with exit code
+quit
diff --git a/gdbserver_tests/nlgone_exit.stdoutB.exp b/gdbserver_tests/nlgone_exit.stdoutB.exp
new file mode 100644
index 0000000..bbe04d5
--- /dev/null
+++ b/gdbserver_tests/nlgone_exit.stdoutB.exp
@@ -0,0 +1,3 @@
+vgdb launched process attached
+Continuing.
+Program exited with code 01.
diff --git a/gdbserver_tests/nlgone_exit.vgtest b/gdbserver_tests/nlgone_exit.vgtest
new file mode 100644
index 0000000..a354e1c
--- /dev/null
+++ b/gdbserver_tests/nlgone_exit.vgtest
@@ -0,0 +1,12 @@
+# test that an exit (with return value) is properly passed on to gdb.
+
+prog: gone
+args: exit
+vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlgone-exit
+stderr_filter: filter_stderr
+prereq: test -e gdb
+progB: gdb
+argsB: --quiet -l 60 --nx ./gone
+stdinB: nlgone_exit.stdinB.gdb
+stdoutB_filter: filter_gdb
+stderrB_filter: filter_gdb
diff --git a/gdbserver_tests/nlgone_return.stderr.exp b/gdbserver_tests/nlgone_return.stderr.exp
new file mode 100644
index 0000000..2f63ba5
--- /dev/null
+++ b/gdbserver_tests/nlgone_return.stderr.exp
@@ -0,0 +1,8 @@
+Nulgrind, the minimal Valgrind tool
+
+(action at startup) vgdb me ... 
+
+
+starting ...
+returning ...
+
diff --git a/gdbserver_tests/nlgone_return.stderrB.exp b/gdbserver_tests/nlgone_return.stderrB.exp
new file mode 100644
index 0000000..c8b2024
--- /dev/null
+++ b/gdbserver_tests/nlgone_return.stderrB.exp
@@ -0,0 +1 @@
+relaying data between gdb and process ....
diff --git a/gdbserver_tests/nlgone_return.stdinB.gdb b/gdbserver_tests/nlgone_return.stdinB.gdb
new file mode 100644
index 0000000..cd57f62
--- /dev/null
+++ b/gdbserver_tests/nlgone_return.stdinB.gdb
@@ -0,0 +1,7 @@
+# connect gdb to Valgrind gdbserver:
+target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-nlgone-return
+echo vgdb launched process attached\n
+
+continue
+# see program is gone
+quit
diff --git a/gdbserver_tests/nlgone_return.stdoutB.exp b/gdbserver_tests/nlgone_return.stdoutB.exp
new file mode 100644
index 0000000..69e42ba
--- /dev/null
+++ b/gdbserver_tests/nlgone_return.stdoutB.exp
@@ -0,0 +1,3 @@
+vgdb launched process attached
+Continuing.
+Program exited normally.
diff --git a/gdbserver_tests/nlgone_return.vgtest b/gdbserver_tests/nlgone_return.vgtest
new file mode 100644
index 0000000..996f01c
--- /dev/null
+++ b/gdbserver_tests/nlgone_return.vgtest
@@ -0,0 +1,12 @@
+# test that a normal (successful) return is properly passed on to gdb.
+
+prog: gone
+args: return
+vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlgone-return
+stderr_filter: filter_stderr
+prereq: test -e gdb
+progB: gdb
+argsB: --quiet -l 60 --nx ./gone
+stdinB: nlgone_return.stdinB.gdb
+stdoutB_filter: filter_gdb
+stderrB_filter: filter_gdb
diff --git a/gdbserver_tests/nlpasssigalrm.stderrB.exp b/gdbserver_tests/nlpasssigalrm.stderrB.exp
index ed5d420..c90e1fa 100644
--- a/gdbserver_tests/nlpasssigalrm.stderrB.exp
+++ b/gdbserver_tests/nlpasssigalrm.stderrB.exp
@@ -1,3 +1,2 @@
 relaying data between gdb and process ....
 vgdb-error value changed from 0 to 999999
-Remote connection closed
diff --git a/gdbserver_tests/nlpasssigalrm.stdinB.gdb b/gdbserver_tests/nlpasssigalrm.stdinB.gdb
index 0a52d30..2f914e5 100644
--- a/gdbserver_tests/nlpasssigalrm.stdinB.gdb
+++ b/gdbserver_tests/nlpasssigalrm.stdinB.gdb
@@ -3,9 +3,9 @@
 echo vgdb launched process attached\n
 monitor v.set vgdb-error 999999
 # break on breakme++:
-break passsigalrm.c:48
+break passsigalrm.c:53
 # break on the next line:
-break passsigalrm.c:50
+break passsigalrm.c:55
 #
 #
 # ensure SIGALRM can be passed directly to the process, without
diff --git a/gdbserver_tests/nlpasssigalrm.stdoutB.exp b/gdbserver_tests/nlpasssigalrm.stdoutB.exp
index 64651c2..708a3a3 100644
--- a/gdbserver_tests/nlpasssigalrm.stdoutB.exp
+++ b/gdbserver_tests/nlpasssigalrm.stdoutB.exp
@@ -1,5 +1,5 @@
-Breakpoint 1 at 0x........: file passsigalrm.c, line 48.
-Breakpoint 2 at 0x........: file passsigalrm.c, line 50.
+Breakpoint 1 at 0x........: file passsigalrm.c, line 53.
+Breakpoint 2 at 0x........: file passsigalrm.c, line 55.
 Signal        Stop	Print	Pass to program	Description
 SIGALRM       Yes	Yes	Yes		Alarm clock
 Continuing.
@@ -8,14 +8,15 @@
 Signal        Stop	Print	Pass to program	Description
 SIGALRM       No	No	Yes		Alarm clock
 Continuing.
-Breakpoint 1, main (argc=1, argv=0x........) at passsigalrm.c:48
-48	   breakme++;
+Breakpoint 1, main (argc=1, argv=0x........) at passsigalrm.c:53
+53	   breakme++;
 $1 = 0
 Continuing.
-Breakpoint 2, main (argc=1, argv=0x........) at passsigalrm.c:50
-50	   sa.sa_handler = sigrtmin_handler;
+Breakpoint 2, main (argc=1, argv=0x........) at passsigalrm.c:55
+55	   sa.sa_handler = sigrtmin_handler;
 $2 = 1
 Continuing.
 Program received signal SIG34, Real-time event 34.
 0x........ in syscall ...
 Continuing.
+Program exited normally.
diff --git a/gdbserver_tests/nlself_invalidate.stderr.exp b/gdbserver_tests/nlself_invalidate.stderr.exp
new file mode 100644
index 0000000..911b3e4
--- /dev/null
+++ b/gdbserver_tests/nlself_invalidate.stderr.exp
@@ -0,0 +1,8 @@
+Nulgrind, the minimal Valgrind tool
+
+(action at startup) vgdb me ... 
+
+
+
+
+
diff --git a/gdbserver_tests/nlself_invalidate.stderrB.exp b/gdbserver_tests/nlself_invalidate.stderrB.exp
new file mode 100644
index 0000000..c8b2024
--- /dev/null
+++ b/gdbserver_tests/nlself_invalidate.stderrB.exp
@@ -0,0 +1 @@
+relaying data between gdb and process ....
diff --git a/gdbserver_tests/nlself_invalidate.stdinB.gdb b/gdbserver_tests/nlself_invalidate.stdinB.gdb
new file mode 100644
index 0000000..e8a22ff
--- /dev/null
+++ b/gdbserver_tests/nlself_invalidate.stdinB.gdb
@@ -0,0 +1,14 @@
+# connect gdb to Valgrind gdbserver:
+target remote | ./vgdb --wait=60 --vgdb-prefix=./vgdb-prefix-nlself_invalidate
+echo vgdb launched process attached\n
+# place a breakpoint that will cause an invalidation of the currently executed translation
+break *top
+# Now, continue till the end. This should not crash
+continue
+continue
+continue
+continue
+continue
+continue
+# and the process should exit very quickly now
+quit
diff --git a/gdbserver_tests/nlself_invalidate.vgtest b/gdbserver_tests/nlself_invalidate.vgtest
new file mode 100644
index 0000000..3902538
--- /dev/null
+++ b/gdbserver_tests/nlself_invalidate.vgtest
@@ -0,0 +1,12 @@
+# reproduces a bug triggered by translation chaining and gdbserver
+# invalidation due to breakpoint, when there is a jump from a tranlation
+# block into itself.
+prog: self_invalidate
+vgopts: --tool=none --vgdb=yes --vgdb-error=0 --vgdb-prefix=./vgdb-prefix-nlself_invalidate
+stderr_filter: filter_stderr
+prereq: test -e gdb && ( ../tests/arch_test amd64 || ../tests/arch_test mips32 || ../tests/arch_test mips64 )
+progB: gdb
+argsB: --quiet -l 60 --nx ./self_invalidate
+stdinB: nlself_invalidate.stdinB.gdb
+stdoutB_filter: filter_make_empty
+stderrB_filter: filter_gdb
diff --git a/gdbserver_tests/passsigalrm.c b/gdbserver_tests/passsigalrm.c
index f7b5bc2..14f6095 100644
--- a/gdbserver_tests/passsigalrm.c
+++ b/gdbserver_tests/passsigalrm.c
@@ -15,6 +15,11 @@
 }
 
 static int breakme = 0;
+#ifndef SIGRTMIN
+// at least on MacOS, there is no SIGRTMIN.
+// So, use any other signal instead.
+#define SIGRTMIN SIGUSR1
+#endif
 
 int main (int argc, char *argv[])
 {
diff --git a/gdbserver_tests/self_invalidate.c b/gdbserver_tests/self_invalidate.c
new file mode 100644
index 0000000..52b3d2b
--- /dev/null
+++ b/gdbserver_tests/self_invalidate.c
@@ -0,0 +1,38 @@
+/* Based on reproducer done by Dejan Jevtic */
+int main (void)
+{
+#if defined(VGA_amd64)
+   /* Note that small changes in the code below 
+      caused the bug not to be triggered anymore.
+      E.g. removing the dec %%eax avoids the assert
+      while this removal causes one more loop to be
+      executed. */
+__asm__ __volatile__
+   ("mov $30, %%eax\n\t"
+    "top:\n\t"
+    "mov $-4, %%ebx\n\t"
+    "add %%ebx, %%eax\n\t"
+    "dec %%eax\n\t"
+    "cmp    $0x0,%%eax\n\t"
+    "jne top\n\t"
+    "mov $60, %%eax\n\t"
+    "mov $0, %%rdi\n\t"
+    "syscall\n\t"
+    : : : "eax", "ebx", "rdi"
+    );
+#elif defined(VGA_mips32) || defined(VGA_mips64)
+__asm__ __volatile__
+   ("li $t0, 42\n\t"
+    "top:\n\t"
+    "li $t1, -4\n\t"
+    "addu $t0, $t0, $t1\n\t"
+    "li $t2, -2\n\t"
+    "addu $t0, $t0, $t2\n\t"
+    "addiu $t0, $t0, -1\n\t"
+    "bnez $t0, top\n\t"
+    "nop\n\t"
+    : : : "t0", "t1"
+    );
+#endif
+ return 0;
+}
diff --git a/gdbserver_tests/simulate_control_c b/gdbserver_tests/simulate_control_c
index 913eaa9..d380d65 100755
--- a/gdbserver_tests/simulate_control_c
+++ b/gdbserver_tests/simulate_control_c
@@ -24,4 +24,4 @@
    sleep 1
  done
  sleep $SLEEP
- kill -10 $VGDBPID) &
+ kill -s USR1 $VGDBPID) &
diff --git a/glibc-2.X-drd.supp b/glibc-2.X-drd.supp
index 454de2d..e66f1c4 100644
--- a/glibc-2.X-drd.supp
+++ b/glibc-2.X-drd.supp
@@ -29,6 +29,12 @@
    drd:ConflictingAccess
    fun:write
 }
+{
+   drd-libc-random
+   drd:ConflictingAccess
+   fun:random_r
+   fun:random
+}
 
 #
 # Suppression patterns for libstdc++, the implementation of the standard C++
diff --git a/helgrind/docs/hg-manual.xml b/helgrind/docs/hg-manual.xml
index 043e26c..adbf3be 100644
--- a/helgrind/docs/hg-manual.xml
+++ b/helgrind/docs/hg-manual.xml
@@ -240,26 +240,31 @@
 
 <para>When there are more than two locks in the cycle, the error is
 equally serious.  However, at present Helgrind does not show the locks
-involved, sometimes because it that information is not available, but
-also so as to avoid flooding you with information.  For example, here
-is an example involving a cycle of five locks from a naive
-implementation the famous Dining Philosophers problem
+involved, sometimes because that information is not available, but
+also so as to avoid flooding you with information.  For example, a
+naive implementation of the famous Dining Philosophers problem
+involves a cycle of five locks
 (see <computeroutput>helgrind/tests/tc14_laog_dinphils.c</computeroutput>).
 In this case Helgrind has detected that all 5 philosophers could
 simultaneously pick up their left fork and then deadlock whilst
 waiting to pick up their right forks.</para>
 
 <programlisting><![CDATA[
-Thread #6: lock order "0x6010C0 before 0x601160" violated
+Thread #6: lock order "0x80499A0 before 0x8049A00" violated
 
-Observed (incorrect) order is: acquisition of lock at 0x601160
-   (stack unavailable)
+Observed (incorrect) order is: acquisition of lock at 0x8049A00
+   at 0x40085BC: pthread_mutex_lock (hg_intercepts.c:495)
+   by 0x80485B4: dine (tc14_laog_dinphils.c:18)
+   by 0x400BDA4: mythread_wrapper (hg_intercepts.c:219)
+   by 0x39B924: start_thread (pthread_create.c:297)
+   by 0x2F107D: clone (clone.S:130)
 
- followed by a later acquisition of lock at 0x6010C0
-   at 0x4C2BC62: pthread_mutex_lock (hg_intercepts.c:494)
-   by 0x4007DE: dine (tc14_laog_dinphils.c:19)
-   by 0x4C2CBE7: mythread_wrapper (hg_intercepts.c:219)
-   by 0x4E369C9: start_thread (pthread_create.c:300)
+ followed by a later acquisition of lock at 0x80499A0
+   at 0x40085BC: pthread_mutex_lock (hg_intercepts.c:495)
+   by 0x80485CD: dine (tc14_laog_dinphils.c:19)
+   by 0x400BDA4: mythread_wrapper (hg_intercepts.c:219)
+   by 0x39B924: start_thread (pthread_create.c:297)
+   by 0x2F107D: clone (clone.S:130)
 ]]></programlisting>
 
 </sect1>
@@ -656,7 +661,9 @@
 "<computeroutput>This conflicts with a previous
 write</computeroutput>".  This shows a previous access which also
 accessed the stated address, and which is believed to be racing
-against the access in the first call stack.</para>
+against the access in the first call stack. Note that this second
+call stack is limited to a maximum of 8 entries to limit the
+memory usage.</para>
 
 <para>Finally, Helgrind may attempt to give a description of the
 raced-on address in source level terms.  In this example, it
@@ -1099,7 +1106,9 @@
         Helgrind collects enough information about "old" accesses that
         it can produce two stack traces in a race report -- both the
         stack trace for the current access, and the trace for the
-        older, conflicting access.</para>
+        older, conflicting access. To limit memory usage, "old" accesses
+        stack traces are limited to a maximum of 8 entries, even if
+        <option>--num-callers</option> value is bigger.</para>
       <para>Collecting such information is expensive in both speed and
         memory, particularly for programs that do many inter-thread
         synchronisation events (locks, unlocks, etc).  Without such
diff --git a/helgrind/helgrind.h b/helgrind/helgrind.h
index 433b1cb..8d56866 100644
--- a/helgrind/helgrind.h
+++ b/helgrind/helgrind.h
@@ -11,7 +11,7 @@
    This file is part of Helgrind, a Valgrind tool for detecting errors
    in threaded programs.
 
-   Copyright (C) 2007-2011 OpenWorks LLP
+   Copyright (C) 2007-2012 OpenWorks LLP
       info@open-works.co.uk
 
    Redistribution and use in source and binary forms, with or without
@@ -115,7 +115,8 @@
       _VG_USERREQ__HG_ARANGE_MAKE_UNTRACKED, /* Addr a, ulong len */
       _VG_USERREQ__HG_ARANGE_MAKE_TRACKED,   /* Addr a, ulong len */
       _VG_USERREQ__HG_PTHREAD_BARRIER_RESIZE_PRE, /* pth_bar_t*, ulong */
-      _VG_USERREQ__HG_CLEAN_MEMORY_HEAPBLOCK  /* Addr start_of_block */
+      _VG_USERREQ__HG_CLEAN_MEMORY_HEAPBLOCK, /* Addr start_of_block */
+      _VG_USERREQ__HG_PTHREAD_COND_INIT_POST  /* pth_cond_t*, pth_cond_attr_t*/
 
    } Vg_TCheckClientRequest;
 
diff --git a/helgrind/hg_basics.c b/helgrind/hg_basics.c
index c4afc46..9da1cd4 100644
--- a/helgrind/hg_basics.c
+++ b/helgrind/hg_basics.c
@@ -8,7 +8,7 @@
    This file is part of Helgrind, a Valgrind tool for detecting errors
    in threaded programs.
 
-   Copyright (C) 2007-2011 OpenWorks Ltd
+   Copyright (C) 2007-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -42,7 +42,7 @@
 /*--- Very basic stuff                                         ---*/
 /*----------------------------------------------------------------*/
 
-void* HG_(zalloc) ( HChar* cc, SizeT n )
+void* HG_(zalloc) ( const HChar* cc, SizeT n )
 {
    void* p;
    tl_assert(n > 0);
@@ -58,7 +58,7 @@
    VG_(free)(p);
 }
 
-Char* HG_(strdup) ( HChar* cc, const Char* s )
+HChar* HG_(strdup) ( const HChar* cc, const HChar* s )
 {
    return VG_(strdup)( cc, s );
 }
diff --git a/helgrind/hg_basics.h b/helgrind/hg_basics.h
index d5585e2..93f0154 100644
--- a/helgrind/hg_basics.h
+++ b/helgrind/hg_basics.h
@@ -8,7 +8,7 @@
    This file is part of Helgrind, a Valgrind tool for detecting errors
    in threaded programs.
 
-   Copyright (C) 2007-2011 OpenWorks Ltd
+   Copyright (C) 2007-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -39,9 +39,9 @@
 
 #define HG_(str) VGAPPEND(vgHelgrind_,str)
 
-void* HG_(zalloc) ( HChar* cc, SizeT n );
-void  HG_(free)   ( void* p );
-Char* HG_(strdup) ( HChar* cc, const Char* s );
+void*  HG_(zalloc) ( const HChar* cc, SizeT n );
+void   HG_(free)   ( void* p );
+HChar* HG_(strdup) ( const HChar* cc, const HChar* s );
 
 static inline Bool HG_(is_sane_ThreadId) ( ThreadId coretid ) {
    return coretid >= 0 && coretid < VG_N_THREADS;
diff --git a/helgrind/hg_errors.c b/helgrind/hg_errors.c
index abe3a0d..d218024 100644
--- a/helgrind/hg_errors.c
+++ b/helgrind/hg_errors.c
@@ -8,7 +8,7 @@
    This file is part of Helgrind, a Valgrind tool for detecting errors
    in threaded programs.
 
-   Copyright (C) 2007-2011 OpenWorks Ltd
+   Copyright (C) 2007-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -66,7 +66,7 @@
    return (Word)VG_(strcmp)( (HChar*)s1, (HChar*)s2 );
 }
 
-static HChar* string_table_strdup ( HChar* str ) {
+static HChar* string_table_strdup ( const HChar* str ) {
    HChar* copy = NULL;
    HG_(stats__string_table_queries)++;
    if (!str)
@@ -77,14 +77,14 @@
       tl_assert(string_table);
    }
    if (VG_(lookupFM)( string_table,
-                      NULL, (Word*)&copy, (Word)str )) {
+                      NULL, (UWord*)&copy, (UWord)str )) {
       tl_assert(copy);
       if (0) VG_(printf)("string_table_strdup: %p -> %p\n", str, copy );
       return copy;
    } else {
       copy = HG_(strdup)("hg.sts.2", str);
       tl_assert(copy);
-      VG_(addToFM)( string_table, (Word)copy, (Word)copy );
+      VG_(addToFM)( string_table, (UWord)copy, (UWord)copy );
       return copy;
    }
 }
@@ -165,7 +165,7 @@
                                    HG_(free), lock_unique_cmp );
       tl_assert(map_LockN_to_P);
    }
-   if (!VG_(lookupFM)( map_LockN_to_P, NULL, (Word*)&lkp, (Word)lkn)) {
+   if (!VG_(lookupFM)( map_LockN_to_P, NULL, (UWord*)&lkp, (UWord)lkn)) {
       lkp = HG_(zalloc)( "hg.mLPfLN.2", sizeof(Lock) );
       *lkp = *lkn;
       lkp->admin_next = NULL;
@@ -178,7 +178,7 @@
       lkp->heldBy = NULL;
       lkp->acquired_at = NULL;
       lkp->hbso = NULL;
-      VG_(addToFM)( map_LockN_to_P, (Word)lkp, (Word)lkp );
+      VG_(addToFM)( map_LockN_to_P, (UWord)lkp, (UWord)lkp );
    }
    tl_assert( HG_(is_sane_LockP)(lkp) );
    return lkp;
@@ -641,8 +641,8 @@
                             XE_LockOrder, 0, NULL, &xe );
 }
 
-void HG_(record_error_PthAPIerror) ( Thread* thr, HChar* fnname, 
-                                     Word err, HChar* errstr )
+void HG_(record_error_PthAPIerror) ( Thread* thr, const HChar* fnname, 
+                                     Word err, const HChar* errstr )
 {
    XError xe;
    tl_assert( HG_(is_sane_Thread)(thr) );
@@ -661,8 +661,8 @@
                             XE_PthAPIerror, 0, NULL, &xe );
 }
 
-void HG_(record_error_Misc_w_aux) ( Thread* thr, HChar* errstr,
-                                    HChar* auxstr, ExeContext* auxctx )
+void HG_(record_error_Misc_w_aux) ( Thread* thr, const HChar* errstr,
+                                    const HChar* auxstr, ExeContext* auxctx )
 {
    XError xe;
    tl_assert( HG_(is_sane_Thread)(thr) );
@@ -680,7 +680,7 @@
                             XE_Misc, 0, NULL, &xe );
 }
 
-void HG_(record_error_Misc) ( Thread* thr, HChar* errstr )
+void HG_(record_error_Misc) ( Thread* thr, const HChar* errstr )
 {
    HG_(record_error_Misc_w_aux)(thr, errstr, NULL, NULL);
 }
@@ -739,7 +739,7 @@
 /* Do a printf-style operation on either the XML or normal output
    channel, depending on the setting of VG_(clo_xml).
 */
-static void emit_WRK ( HChar* format, va_list vargs )
+static void emit_WRK ( const HChar* format, va_list vargs )
 {
    if (VG_(clo_xml)) {
       VG_(vprintf_xml)(format, vargs);
@@ -747,8 +747,8 @@
       VG_(vmessage)(Vg_UserMsg, format, vargs);
    }
 }
-static void emit ( HChar* format, ... ) PRINTF_CHECK(1, 2);
-static void emit ( HChar* format, ... )
+static void emit ( const HChar* format, ... ) PRINTF_CHECK(1, 2);
+static void emit ( const HChar* format, ... )
 {
    va_list vargs;
    va_start(vargs, format);
@@ -848,7 +848,7 @@
 }
 
 
-static void show_LockP_summary_textmode ( Lock** locks, HChar* pre )
+static void show_LockP_summary_textmode ( Lock** locks, const HChar* pre )
 {
    tl_assert(locks);
    UWord i;
@@ -1182,7 +1182,7 @@
 
    case XE_Race: {
       Addr      err_ga;
-      HChar*    what;
+      const HChar* what;
       Int       szB;
       what      = xe->XE.Race.isWrite ? "write" : "read";
       szB       = xe->XE.Race.szB;
@@ -1333,7 +1333,7 @@
    } /* switch (VG_(get_error_kind)(err)) */
 }
 
-Char* HG_(get_error_name) ( Error* err )
+const HChar* HG_(get_error_name) ( Error* err )
 {
    switch (VG_(get_error_kind)(err)) {
       case XE_Race:           return "Race";
@@ -1347,7 +1347,7 @@
    }
 }
 
-Bool HG_(recognised_suppression) ( Char* name, Supp *su )
+Bool HG_(recognised_suppression) ( const HChar* name, Supp *su )
 {
 #  define TRY(_name,_xskind)                   \
       if (0 == VG_(strcmp)(name, (_name))) {   \
@@ -1366,7 +1366,7 @@
 #  undef TRY
 }
 
-Bool HG_(read_extra_suppression_info) ( Int fd, Char** bufpp, SizeT* nBufp,
+Bool HG_(read_extra_suppression_info) ( Int fd, HChar** bufpp, SizeT* nBufp,
                                         Supp* su )
 {
    /* do nothing -- no extra suppression info present.  Return True to
@@ -1390,7 +1390,7 @@
 }
 
 Bool HG_(get_extra_suppression_info) ( Error* err,
-                                       /*OUT*/Char* buf, Int nBuf )
+                                       /*OUT*/HChar* buf, Int nBuf )
 {
    /* Do nothing */
    return False;
diff --git a/helgrind/hg_errors.h b/helgrind/hg_errors.h
index 91f00d5..79c6fb5 100644
--- a/helgrind/hg_errors.h
+++ b/helgrind/hg_errors.h
@@ -8,7 +8,7 @@
    This file is part of Helgrind, a Valgrind tool for detecting errors
    in threaded programs.
 
-   Copyright (C) 2007-2011 OpenWorks Ltd
+   Copyright (C) 2007-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -39,13 +39,13 @@
 void  HG_(before_pp_Error) ( Error* err );
 void  HG_(pp_Error)        ( Error* err );
 UInt  HG_(update_extra)    ( Error* err );
-Bool  HG_(recognised_suppression) ( Char* name, Supp *su );
-Bool  HG_(read_extra_suppression_info) ( Int fd, Char** bufpp, SizeT* nBufp,
+Bool  HG_(recognised_suppression) ( const HChar* name, Supp *su );
+Bool  HG_(read_extra_suppression_info) ( Int fd, HChar** bufpp, SizeT* nBufp,
                                          Supp* su );
 Bool  HG_(error_matches_suppression) ( Error* err, Supp* su );
-Char* HG_(get_error_name) ( Error* err );
+const HChar* HG_(get_error_name) ( Error* err );
 Bool  HG_(get_extra_suppression_info) ( Error* err,
-                                        /*OUT*/Char* buf, Int nBuf );
+                                        /*OUT*/HChar* buf, Int nBuf );
 
 /* Functions for recording various kinds of errors. */
 void HG_(record_error_Race) ( Thread* thr, 
@@ -56,16 +56,18 @@
 void HG_(record_error_UnlockUnlocked) ( Thread*, Lock* );
 void HG_(record_error_UnlockForeign)  ( Thread*, Thread*, Lock* );
 void HG_(record_error_UnlockBogus)    ( Thread*, Addr );
-void HG_(record_error_PthAPIerror)    ( Thread*, HChar*, Word, HChar* );
+void HG_(record_error_PthAPIerror)    ( Thread*, const HChar*, Word,
+                                        const HChar* );
 
 /* see the implementation for meaning of these params */
 void HG_(record_error_LockOrder)      ( Thread*, Addr, Addr,
                                         ExeContext*, ExeContext*,
                                         ExeContext* );
 
-void HG_(record_error_Misc_w_aux)     ( Thread*, HChar* errstr,
-                                        HChar* auxstr, ExeContext* auxctx );
-void HG_(record_error_Misc)           ( Thread* thr, HChar* errstr );
+void HG_(record_error_Misc_w_aux)     ( Thread*, const HChar* errstr,
+                                        const HChar* auxstr,
+                                        ExeContext* auxctx );
+void HG_(record_error_Misc)           ( Thread* thr, const HChar* errstr );
 
 
 /* Statistics pertaining to error management. */
diff --git a/helgrind/hg_intercepts.c b/helgrind/hg_intercepts.c
index d586a3d..ae68939 100644
--- a/helgrind/hg_intercepts.c
+++ b/helgrind/hg_intercepts.c
@@ -8,7 +8,7 @@
    This file is part of Helgrind, a Valgrind tool for detecting errors
    in threaded programs.
 
-   Copyright (C) 2007-2011 OpenWorks LLP
+   Copyright (C) 2007-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -137,7 +137,7 @@
    do {                                                  \
       char* _fnname = (char*)(_fnnameF);                 \
       long  _err    = (long)(int)(_errF);                \
-      char* _errstr = lame_strerror(_err);               \
+      const char* _errstr = lame_strerror(_err);         \
       DO_CREQ_v_WWW(_VG_USERREQ__HG_PTH_API_ERROR,       \
                     char*,_fnname,                       \
                     long,_err, char*,_errstr);           \
@@ -159,7 +159,7 @@
    strerror_r, since using the latter just generates endless more
    threading errors (glibc goes off and does tons of crap w.r.t.
    locales etc) */
-static char* lame_strerror ( long err )
+static const HChar* lame_strerror ( long err )
 {   switch (err) {
       case EPERM:       return "EPERM: Operation not permitted";
       case ENOENT:      return "ENOENT: No such file or directory";
@@ -631,10 +631,8 @@
 
 /* Handled:   pthread_cond_wait pthread_cond_timedwait
               pthread_cond_signal pthread_cond_broadcast
+              pthread_cond_init
               pthread_cond_destroy
-
-   Unhandled: pthread_cond_init
-              -- is this important?
 */
 
 //-----------------------------------------------------------
@@ -917,6 +915,55 @@
 #   error "Unsupported OS"
 #endif
 
+// glibc:  pthread_cond_init@GLIBC_2.0
+// glibc:  pthread_cond_init@GLIBC_2.2.5
+// glibc:  pthread_cond_init@@GLIBC_2.3.2
+// darwin: pthread_cond_init
+// Easy way out: Handling of attr could have been messier.
+// It turns out that pthread_cond_init under linux ignores
+// all information in cond_attr, so do we.
+// FIXME: MacOS X?
+__attribute__((noinline))
+static int pthread_cond_init_WRK(pthread_cond_t* cond, pthread_condattr_t *cond_attr)
+{
+   int ret;
+   OrigFn fn;
+   VALGRIND_GET_ORIG_FN(fn);
+
+   if (TRACE_PTH_FNS) {
+      fprintf(stderr, "<< pthread_cond_init %p", cond);
+      fflush(stderr);
+   }
+
+   CALL_FN_W_WW(ret, fn, cond, cond_attr);
+
+   if (ret == 0) {
+      DO_CREQ_v_WW(_VG_USERREQ__HG_PTHREAD_COND_INIT_POST,
+                   pthread_cond_t*,cond, pthread_condattr_t*, cond_attr);
+   } else {
+      DO_PthAPIerror( "pthread_cond_init", ret );
+   }
+
+   if (TRACE_PTH_FNS) {
+      fprintf(stderr, " coinit -> %d >>\n", ret);
+   }
+
+   return ret;
+}
+#if defined(VGO_linux)
+   PTH_FUNC(int, pthreadZucondZuinitZAZa, // pthread_cond_init@*
+	    pthread_cond_t* cond, pthread_condattr_t* cond_attr) {
+     return pthread_cond_init_WRK(cond, cond_attr);
+   }
+#elif defined(VGO_darwin)
+   PTH_FUNC(int, pthreadZucondZuinit, // pthread_cond_init
+	    pthread_cond_t* cond, pthread_condattr_t * cond_attr) {
+     return pthread_cond_init_WRK(cond, cond_attr);
+   }
+#else
+#  error "Unsupported OS"
+#endif
+
 
 //-----------------------------------------------------------
 // glibc:  pthread_cond_destroy@@GLIBC_2.3.2
@@ -1095,7 +1142,8 @@
 /*--- pthread_spinlock_t functions                             ---*/
 /*----------------------------------------------------------------*/
 
-#if defined(HAVE_PTHREAD_SPIN_LOCK)
+#if defined(HAVE_PTHREAD_SPIN_LOCK) \
+    && !defined(DISABLE_PTHREAD_SPINLOCK_INTERCEPT)
 
 /* Handled:   pthread_spin_init pthread_spin_destroy
               pthread_spin_lock pthread_spin_trylock
@@ -2033,9 +2081,15 @@
    ret_ty I_WRAP_SONAME_FNNAME_ZU(libQtCoreZdsoZa,f)(args); \
    ret_ty I_WRAP_SONAME_FNNAME_ZU(libQtCoreZdsoZa,f)(args)
 
+// soname is libQt5Core.so.4 ; match against libQt5Core.so*
+#define QT5_FUNC(ret_ty, f, args...) \
+   ret_ty I_WRAP_SONAME_FNNAME_ZU(libQt5CoreZdsoZa,f)(args); \
+   ret_ty I_WRAP_SONAME_FNNAME_ZU(libQt5CoreZdsoZa,f)(args)
+
 //-----------------------------------------------------------
 // QMutex::lock()
-QT4_FUNC(void, _ZN6QMutex4lockEv, void* self)
+__attribute__((noinline))
+static void QMutex_lock_WRK(void* self)
 {
    OrigFn fn;
    VALGRIND_GET_ORIG_FN(fn);
@@ -2056,9 +2110,17 @@
    }
 }
 
+QT4_FUNC(void, _ZN6QMutex4lockEv, void* self) {
+    QMutex_lock_WRK(self);
+}
+QT5_FUNC(void, _ZN6QMutex4lockEv, void* self) {
+    QMutex_lock_WRK(self);
+}
+
 //-----------------------------------------------------------
 // QMutex::unlock()
-QT4_FUNC(void, _ZN6QMutex6unlockEv, void* self)
+__attribute__((noinline))
+static void QMutex_unlock_WRK(void* self)
 {
    OrigFn fn;
    VALGRIND_GET_ORIG_FN(fn);
@@ -2080,10 +2142,18 @@
    }
 }
 
+QT4_FUNC(void, _ZN6QMutex6unlockEv, void* self) {
+    QMutex_unlock_WRK(self);
+}
+QT5_FUNC(void, _ZN6QMutex6unlockEv, void* self) {
+    QMutex_unlock_WRK(self);
+}
+
 //-----------------------------------------------------------
 // bool QMutex::tryLock()
 // using 'long' to mimic C++ 'bool'
-QT4_FUNC(long, _ZN6QMutex7tryLockEv, void* self)
+__attribute__((noinline))
+static long QMutex_tryLock_WRK(void* self)
 {
    OrigFn fn;
    long   ret;
@@ -2110,10 +2180,18 @@
    return ret;
 }
 
+QT4_FUNC(long, _ZN6QMutex7tryLockEv, void* self) {
+    return QMutex_tryLock_WRK(self);
+}
+QT5_FUNC(long, _ZN6QMutex7tryLockEv, void* self) {
+    return QMutex_tryLock_WRK(self);
+}
+
 //-----------------------------------------------------------
 // bool QMutex::tryLock(int)
 // using 'long' to mimic C++ 'bool'
-QT4_FUNC(long, _ZN6QMutex7tryLockEi, void* self, long arg2)
+__attribute__((noinline))
+static long QMutex_tryLock_int_WRK(void* self, long arg2)
 {
    OrigFn fn;
    long   ret;
@@ -2141,6 +2219,12 @@
    return ret;
 }
 
+QT4_FUNC(long, _ZN6QMutex7tryLockEi, void* self, long arg2) {
+    return QMutex_tryLock_int_WRK(self, arg2);
+}
+QT5_FUNC(long, _ZN6QMutex7tryLockEi, void* self, long arg2) {
+    return QMutex_tryLock_int_WRK(self, arg2);
+}
 
 //-----------------------------------------------------------
 // It's not really very clear what the args are here.  But from
@@ -2151,9 +2235,8 @@
 // is that of the mutex and the second is either zero or one,
 // probably being the recursion mode, therefore.
 // QMutex::QMutex(QMutex::RecursionMode)  ("C1ENS" variant)
-QT4_FUNC(void*, _ZN6QMutexC1ENS_13RecursionModeE,
-         void* mutex,
-         long  recmode)
+__attribute__((noinline))
+static void* QMutex_constructor_WRK(void* mutex, long recmode)
 {
    OrigFn fn;
    long   ret;
@@ -2165,9 +2248,17 @@
    return (void*)ret;
 }
 
+QT4_FUNC(void*, _ZN6QMutexC1ENS_13RecursionModeE, void* self, long recmode) {
+    return QMutex_constructor_WRK(self, recmode);
+}
+QT5_FUNC(void*, _ZN6QMutexC1ENS_13RecursionModeE, void* self, long recmode) {
+    return QMutex_constructor_WRK(self, recmode);
+}
+
 //-----------------------------------------------------------
 // QMutex::~QMutex()  ("D1Ev" variant)
-QT4_FUNC(void*, _ZN6QMutexD1Ev, void* mutex)
+__attribute__((noinline))
+static void* QMutex_destructor_WRK(void* mutex)
 {
    OrigFn fn;
    long   ret;
@@ -2178,6 +2269,12 @@
    return (void*)ret;
 }
 
+QT4_FUNC(void*, _ZN6QMutexD1Ev, void* self) {
+    return QMutex_destructor_WRK(self);
+}
+QT5_FUNC(void*, _ZN6QMutexD1Ev, void* self) {
+    return QMutex_destructor_WRK(self);
+}
 
 //-----------------------------------------------------------
 // QMutex::QMutex(QMutex::RecursionMode)  ("C2ENS" variant)
@@ -2192,6 +2289,12 @@
    return NULL;
 }
 
+QT5_FUNC(void*, _ZN6QMutexC2ENS_13RecursionModeE, void* self, long recmode)
+{
+   assert(0);
+   /*NOTREACHED*/
+   return NULL;
+}
 
 //-----------------------------------------------------------
 // QMutex::~QMutex()  ("D2Ev" variant)
@@ -2203,6 +2306,12 @@
    return NULL;
 }
 
+QT5_FUNC(void*, _ZN6QMutexD2Ev, void* self)
+{
+   assert(0);
+   /*NOTREACHED*/
+   return NULL;
+}
 
 // QReadWriteLock is not intercepted directly.  See comments
 // above.
@@ -2302,10 +2411,10 @@
    char* VG_REPLACE_FUNCTION_ZU(soname,fnname) ( const char* s, int c ); \
    char* VG_REPLACE_FUNCTION_ZU(soname,fnname) ( const char* s, int c ) \
    { \
-      UChar  ch = (UChar)((UInt)c); \
-      UChar* p  = (UChar*)s; \
+      HChar  ch = (HChar)c ; \
+      const HChar* p  = s;   \
       while (True) { \
-         if (*p == ch) return p; \
+         if (*p == ch) return (HChar *)p; \
          if (*p == 0) return NULL; \
          p++; \
       } \
@@ -2351,12 +2460,12 @@
    char* VG_REPLACE_FUNCTION_ZU(soname, fnname) ( char* dst, const char* src ); \
    char* VG_REPLACE_FUNCTION_ZU(soname, fnname) ( char* dst, const char* src ) \
    { \
-      const Char* dst_orig = dst; \
+      HChar* dst_orig = dst; \
       \
       while (*src) *dst++ = *src++; \
       *dst = 0; \
       \
-      return (char*)dst_orig; \
+      return dst_orig; \
    }
 
 #if defined(VGO_linux)
@@ -2372,17 +2481,17 @@
    int VG_REPLACE_FUNCTION_ZU(soname,fnname) \
           ( const char* s1, const char* s2 ) \
    { \
-      register unsigned char c1; \
-      register unsigned char c2; \
+      register UChar c1; \
+      register UChar c2; \
       while (True) { \
-         c1 = *(unsigned char *)s1; \
-         c2 = *(unsigned char *)s2; \
+         c1 = *(UChar *)s1; \
+         c2 = *(UChar *)s2; \
          if (c1 != c2) break; \
          if (c1 == 0) break; \
          s1++; s2++; \
       } \
-      if ((unsigned char)c1 < (unsigned char)c2) return -1; \
-      if ((unsigned char)c1 > (unsigned char)c2) return 1; \
+      if ((UChar)c1 < (UChar)c2) return -1; \
+      if ((UChar)c1 > (UChar)c2) return 1; \
       return 0; \
    }
 
@@ -2401,39 +2510,67 @@
    void* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
             ( void *dst, const void *src, SizeT len ) \
    { \
-      register char *d; \
-      register char *s; \
+      const Addr WS = sizeof(UWord); /* 8 or 4 */ \
+      const Addr WM = WS - 1;        /* 7 or 3 */ \
       \
-      if (len == 0) \
-         return dst; \
-      \
-      if ( dst > src ) { \
-         d = (char *)dst + len - 1; \
-         s = (char *)src + len - 1; \
-         while ( len >= 4 ) { \
-            *d-- = *s--; \
-            *d-- = *s--; \
-            *d-- = *s--; \
-            *d-- = *s--; \
-            len -= 4; \
-         } \
-         while ( len-- ) { \
-            *d-- = *s--; \
-         } \
-      } else if ( dst < src ) { \
-         d = (char *)dst; \
-         s = (char *)src; \
-         while ( len >= 4 ) { \
-            *d++ = *s++; \
-            *d++ = *s++; \
-            *d++ = *s++; \
-            *d++ = *s++; \
-            len -= 4; \
-         } \
-         while ( len-- ) { \
-            *d++ = *s++; \
+      if (len > 0) { \
+         if (dst < src) { \
+         \
+            /* Copying backwards. */ \
+            SizeT n = len; \
+            Addr  d = (Addr)dst; \
+            Addr  s = (Addr)src; \
+            \
+            if (((s^d) & WM) == 0) { \
+               /* s and d have same UWord alignment. */ \
+               /* Pull up to a UWord boundary. */ \
+               while ((s & WM) != 0 && n >= 1) \
+                  { *(UChar*)d = *(UChar*)s; s += 1; d += 1; n -= 1; } \
+               /* Copy UWords. */ \
+               while (n >= WS) \
+                  { *(UWord*)d = *(UWord*)s; s += WS; d += WS; n -= WS; } \
+               if (n == 0) \
+                  return dst; \
+            } \
+            if (((s|d) & 1) == 0) { \
+               /* Both are 16-aligned; copy what we can thusly. */ \
+               while (n >= 2) \
+                  { *(UShort*)d = *(UShort*)s; s += 2; d += 2; n -= 2; } \
+            } \
+            /* Copy leftovers, or everything if misaligned. */ \
+            while (n >= 1) \
+               { *(UChar*)d = *(UChar*)s; s += 1; d += 1; n -= 1; } \
+         \
+         } else if (dst > src) { \
+         \
+            SizeT n = len; \
+            Addr  d = ((Addr)dst) + n; \
+            Addr  s = ((Addr)src) + n; \
+            \
+            /* Copying forwards. */ \
+            if (((s^d) & WM) == 0) { \
+               /* s and d have same UWord alignment. */ \
+               /* Back down to a UWord boundary. */ \
+               while ((s & WM) != 0 && n >= 1) \
+                  { s -= 1; d -= 1; *(UChar*)d = *(UChar*)s; n -= 1; } \
+               /* Copy UWords. */ \
+               while (n >= WS) \
+                  { s -= WS; d -= WS; *(UWord*)d = *(UWord*)s; n -= WS; } \
+               if (n == 0) \
+                  return dst; \
+            } \
+            if (((s|d) & 1) == 0) { \
+               /* Both are 16-aligned; copy what we can thusly. */ \
+               while (n >= 2) \
+                  { s -= 2; d -= 2; *(UShort*)d = *(UShort*)s; n -= 2; } \
+            } \
+            /* Copy leftovers, or everything if misaligned. */ \
+            while (n >= 1) \
+               { s -= 1; d -= 1; *(UChar*)d = *(UChar*)s; n -= 1; } \
+            \
          } \
       } \
+      \
       return dst; \
    }
 
diff --git a/helgrind/hg_lock_n_thread.c b/helgrind/hg_lock_n_thread.c
index 5509907..73c8647 100644
--- a/helgrind/hg_lock_n_thread.c
+++ b/helgrind/hg_lock_n_thread.c
@@ -8,7 +8,7 @@
    This file is part of Helgrind, a Valgrind tool for detecting errors
    in threaded programs.
 
-   Copyright (C) 2007-2011 OpenWorks Ltd
+   Copyright (C) 2007-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -52,9 +52,9 @@
 static Bool is_sane_Bag_of_Threads ( WordBag* bag )
 {
    Thread* thr;
-   Word    count;
+   UWord   count;
    VG_(initIterBag)( bag );
-   while (VG_(nextIterBag)( bag, (Word*)&thr, &count )) {
+   while (VG_(nextIterBag)( bag, (UWord*)&thr, &count )) {
       if (count < 1) return False;
       if (!HG_(is_sane_Thread)(thr)) return False;
    }
diff --git a/helgrind/hg_lock_n_thread.h b/helgrind/hg_lock_n_thread.h
index 4579891..7f8524f 100644
--- a/helgrind/hg_lock_n_thread.h
+++ b/helgrind/hg_lock_n_thread.h
@@ -8,7 +8,7 @@
    This file is part of Helgrind, a Valgrind tool for detecting errors
    in threaded programs.
 
-   Copyright (C) 2007-2011 OpenWorks Ltd
+   Copyright (C) 2007-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
diff --git a/helgrind/hg_main.c b/helgrind/hg_main.c
index 9bc3641..6167692 100644
--- a/helgrind/hg_main.c
+++ b/helgrind/hg_main.c
@@ -8,10 +8,10 @@
    This file is part of Helgrind, a Valgrind tool for detecting errors
    in threaded programs.
 
-   Copyright (C) 2007-2011 OpenWorks LLP
+   Copyright (C) 2007-2012 OpenWorks LLP
       info@open-works.co.uk
 
-   Copyright (C) 2007-2011 Apple, Inc.
+   Copyright (C) 2007-2012 Apple, Inc.
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -100,9 +100,9 @@
 #define SHOW_EVENTS 0
 
 
-static void all__sanity_check ( Char* who ); /* fwds */
+static void all__sanity_check ( const HChar* who ); /* fwds */
 
-#define HG_CLI__MALLOC_REDZONE_SZB 16 /* let's say */
+#define HG_CLI__DEFAULT_MALLOC_REDZONE_SZB 16 /* let's say */
 
 // 0 for none, 1 for dump at end of run
 #define SHOW_DATA_STRUCTURES 0
@@ -260,7 +260,7 @@
          tl_assert(!lk->heldW);
          lk->heldW  = True;
          lk->heldBy = VG_(newBag)( HG_(zalloc), "hg.lNaw.1", HG_(free) );
-         VG_(addToBag)( lk->heldBy, (Word)thr );
+         VG_(addToBag)( lk->heldBy, (UWord)thr );
          break;
       case LK_mbRec:
          if (lk->heldBy == NULL)
@@ -270,9 +270,9 @@
          /* assert: lk is only held by one thread .. */
          tl_assert(VG_(sizeUniqueBag(lk->heldBy)) == 1);
          /* assert: .. and that thread is 'thr'. */
-         tl_assert(VG_(elemBag)(lk->heldBy, (Word)thr)
+         tl_assert(VG_(elemBag)(lk->heldBy, (UWord)thr)
                    == VG_(sizeTotalBag)(lk->heldBy));
-         VG_(addToBag)(lk->heldBy, (Word)thr);
+         VG_(addToBag)(lk->heldBy, (UWord)thr);
          break;
       case LK_rdwr:
          tl_assert(lk->heldBy == NULL && !lk->heldW); /* must be unheld */
@@ -310,11 +310,11 @@
    /* end EXPOSITION only */
 
    if (lk->heldBy) {
-      VG_(addToBag)(lk->heldBy, (Word)thr);
+      VG_(addToBag)(lk->heldBy, (UWord)thr);
    } else {
       lk->heldW  = False;
       lk->heldBy = VG_(newBag)( HG_(zalloc), "hg.lNar.1", HG_(free) );
-      VG_(addToBag)( lk->heldBy, (Word)thr );
+      VG_(addToBag)( lk->heldBy, (UWord)thr );
    }
    tl_assert(!lk->heldW);
    tl_assert(HG_(is_sane_LockN)(lk));
@@ -333,7 +333,7 @@
    tl_assert(lk->heldBy);
    stats__lockN_releases++;
    /* Remove it from the holder set */
-   b = VG_(delFromBag)(lk->heldBy, (Word)thr);
+   b = VG_(delFromBag)(lk->heldBy, (UWord)thr);
    /* thr must actually have been a holder of lk */
    tl_assert(b);
    /* normalise */
@@ -356,18 +356,18 @@
    }
    /* for each thread that holds this lock do ... */
    VG_(initIterBag)( lk->heldBy );
-   while (VG_(nextIterBag)( lk->heldBy, (Word*)&thr, NULL )) {
+   while (VG_(nextIterBag)( lk->heldBy, (UWord*)&thr, NULL )) {
       tl_assert(HG_(is_sane_Thread)(thr));
       tl_assert(HG_(elemWS)( univ_lsets,
-                             thr->locksetA, (Word)lk ));
+                             thr->locksetA, (UWord)lk ));
       thr->locksetA
-         = HG_(delFromWS)( univ_lsets, thr->locksetA, (Word)lk );
+         = HG_(delFromWS)( univ_lsets, thr->locksetA, (UWord)lk );
 
       if (lk->heldW) {
          tl_assert(HG_(elemWS)( univ_lsets,
-                                thr->locksetW, (Word)lk ));
+                                thr->locksetW, (UWord)lk ));
          thr->locksetW
-            = HG_(delFromWS)( univ_lsets, thr->locksetW, (Word)lk );
+            = HG_(delFromWS)( univ_lsets, thr->locksetW, (UWord)lk );
       }
    }
    VG_(doneIterBag)( lk->heldBy );
@@ -388,7 +388,7 @@
 static void space ( Int n )
 {
    Int  i;
-   Char spaces[128+1];
+   HChar spaces[128+1];
    tl_assert(n >= 0 && n < 128);
    if (n == 0)
       return;
@@ -470,10 +470,10 @@
    space(d+3); VG_(printf)("heldBy %p", lk->heldBy);
    if (lk->heldBy) {
       Thread* thr;
-      Word    count;
+      UWord   count;
       VG_(printf)(" { ");
       VG_(initIterBag)( lk->heldBy );
-      while (VG_(nextIterBag)( lk->heldBy, (Word*)&thr, &count ))
+      while (VG_(nextIterBag)( lk->heldBy, (UWord*)&thr, &count ))
          VG_(printf)("%lu:%p ", count, thr);
       VG_(doneIterBag)( lk->heldBy );
       VG_(printf)("}");
@@ -507,8 +507,8 @@
    space(d); VG_(printf)("map_locks (%d entries) {\n",
                          (Int)VG_(sizeFM)( map_locks ));
    VG_(initIterFM)( map_locks );
-   while (VG_(nextIterFM)( map_locks, (Word*)&gla,
-                                      (Word*)&lk )) {
+   while (VG_(nextIterFM)( map_locks, (UWord*)&gla,
+                                      (UWord*)&lk )) {
       space(d+3);
       VG_(printf)("guest %p -> Lock %p\n", gla, lk);
    }
@@ -516,7 +516,7 @@
    space(d); VG_(printf)("}\n");
 }
 
-static void pp_everything ( Int flags, Char* caller )
+static void pp_everything ( Int flags, const HChar* caller )
 {
    Int d = 0;
    VG_(printf)("\n");
@@ -555,13 +555,11 @@
    tl_assert(admin_threads == NULL);
    tl_assert(admin_locks == NULL);
 
-   tl_assert(sizeof(Addr) == sizeof(Word));
-
    tl_assert(map_threads == NULL);
    map_threads = HG_(zalloc)( "hg.ids.1", VG_N_THREADS * sizeof(Thread*) );
    tl_assert(map_threads != NULL);
 
-   tl_assert(sizeof(Addr) == sizeof(Word));
+   tl_assert(sizeof(Addr) == sizeof(UWord));
    tl_assert(map_locks == NULL);
    map_locks = VG_(newFM)( HG_(zalloc), "hg.ids.2", HG_(free), 
                            NULL/*unboxed Word cmp*/);
@@ -679,12 +677,12 @@
    Lock* oldlock = NULL;
    tl_assert(HG_(is_sane_ThreadId)(tid));
    found = VG_(lookupFM)( map_locks, 
-                          NULL, (Word*)&oldlock, (Word)ga );
+                          NULL, (UWord*)&oldlock, (UWord)ga );
    if (!found) {
       Lock* lock = mk_LockN(lkk, ga);
       lock->appeared_at = VG_(record_ExeContext)( tid, 0 );
       tl_assert(HG_(is_sane_LockN)(lock));
-      VG_(addToFM)( map_locks, (Word)ga, (Word)lock );
+      VG_(addToFM)( map_locks, (UWord)ga, (UWord)lock );
       tl_assert(oldlock == NULL);
       return lock;
    } else {
@@ -699,7 +697,7 @@
 {
    Bool  found;
    Lock* lk = NULL;
-   found = VG_(lookupFM)( map_locks, NULL, (Word*)&lk, (Word)ga );
+   found = VG_(lookupFM)( map_locks, NULL, (UWord*)&lk, (UWord)ga );
    tl_assert(found  ?  lk != NULL  :  lk == NULL);
    return lk;
 }
@@ -709,7 +707,7 @@
    Addr  ga2 = 0;
    Lock* lk  = NULL;
    VG_(delFromFM)( map_locks,
-                   (Word*)&ga2, (Word*)&lk, (Word)ga );
+                   (UWord*)&ga2, (UWord*)&lk, (UWord)ga );
    /* delFromFM produces the val which is being deleted, if it is
       found.  So assert it is non-null; that in effect asserts that we
       are deleting a (ga, Lock) pair which actually exists. */
@@ -725,7 +723,7 @@
 
 static UWord stats__sanity_checks = 0;
 
-static void laog__sanity_check ( Char* who ); /* fwds */
+static void laog__sanity_check ( const HChar* who ); /* fwds */
 
 /* REQUIRED INVARIANTS:
 
@@ -801,21 +799,21 @@
 static Bool thread_is_a_holder_of_Lock ( Thread* thr, Lock* lk )
 {
    if (lk->heldBy)
-      return VG_(elemBag)( lk->heldBy, (Word)thr ) > 0;
+      return VG_(elemBag)( lk->heldBy, (UWord)thr ) > 0;
    else
       return False;
 }
 
 /* Sanity check Threads, as far as possible */
 __attribute__((noinline))
-static void threads__sanity_check ( Char* who )
+static void threads__sanity_check ( const HChar* who )
 {
 #define BAD(_str) do { how = (_str); goto bad; } while (0)
-   Char*     how = "no error";
+   const HChar* how = "no error";
    Thread*   thr;
    WordSetID wsA, wsW;
    UWord*    ls_words;
-   Word      ls_size, i;
+   UWord     ls_size, i;
    Lock*     lk;
    for (thr = admin_threads; thr; thr = thr->admin) {
       if (!HG_(is_sane_Thread)(thr)) BAD("1");
@@ -843,10 +841,10 @@
 
 /* Sanity check Locks, as far as possible */
 __attribute__((noinline))
-static void locks__sanity_check ( Char* who )
+static void locks__sanity_check ( const HChar* who )
 {
 #define BAD(_str) do { how = (_str); goto bad; } while (0)
-   Char*     how = "no error";
+   const HChar* how = "no error";
    Addr      gla;
    Lock*     lk;
    Int       i;
@@ -858,7 +856,7 @@
    //      gla == lk->guest_addr
    VG_(initIterFM)( map_locks );
    while (VG_(nextIterFM)( map_locks,
-                           (Word*)&gla, (Word*)&lk )) {
+                           (UWord*)&gla, (UWord*)&lk )) {
       if (lk->guestaddr != gla) BAD("2");
    }
    VG_(doneIterFM)( map_locks );
@@ -873,21 +871,21 @@
       // this lock is mentioned in their locksets.
       if (lk->heldBy) {
          Thread* thr;
-         Word    count;
+         UWord   count;
          VG_(initIterBag)( lk->heldBy );
          while (VG_(nextIterBag)( lk->heldBy, 
-                                  (Word*)&thr, &count )) {
+                                  (UWord*)&thr, &count )) {
             // HG_(is_sane_LockN) above ensures these
             tl_assert(count >= 1);
             tl_assert(HG_(is_sane_Thread)(thr));
-            if (!HG_(elemWS)(univ_lsets, thr->locksetA, (Word)lk)) 
+            if (!HG_(elemWS)(univ_lsets, thr->locksetA, (UWord)lk)) 
                BAD("6");
             // also check the w-only lockset
             if (lk->heldW 
-                && !HG_(elemWS)(univ_lsets, thr->locksetW, (Word)lk)) 
+                && !HG_(elemWS)(univ_lsets, thr->locksetW, (UWord)lk)) 
                BAD("7");
             if ((!lk->heldW)
-                && HG_(elemWS)(univ_lsets, thr->locksetW, (Word)lk)) 
+                && HG_(elemWS)(univ_lsets, thr->locksetW, (UWord)lk)) 
                BAD("8");
          }
          VG_(doneIterBag)( lk->heldBy );
@@ -907,14 +905,14 @@
 }
 
 
-static void all_except_Locks__sanity_check ( Char* who ) {
+static void all_except_Locks__sanity_check ( const HChar* who ) {
    stats__sanity_checks++;
    if (0) VG_(printf)("all_except_Locks__sanity_check(%s)\n", who);
    threads__sanity_check(who);
    if (HG_(clo_track_lockorders))
       laog__sanity_check(who);
 }
-static void all__sanity_check ( Char* who ) {
+static void all__sanity_check ( const HChar* who ) {
    all_except_Locks__sanity_check(who);
    locks__sanity_check(who);
 }
@@ -1103,8 +1101,8 @@
       laog__pre_thread_acquires_lock( thr, lk );
    }
    /* update the thread's held-locks set */
-   thr->locksetA = HG_(addToWS)( univ_lsets, thr->locksetA, (Word)lk );
-   thr->locksetW = HG_(addToWS)( univ_lsets, thr->locksetW, (Word)lk );
+   thr->locksetA = HG_(addToWS)( univ_lsets, thr->locksetA, (UWord)lk );
+   thr->locksetW = HG_(addToWS)( univ_lsets, thr->locksetW, (UWord)lk );
    /* fall through */
 
   error:
@@ -1178,7 +1176,7 @@
       laog__pre_thread_acquires_lock( thr, lk );
    }
    /* update the thread's held-locks set */
-   thr->locksetA = HG_(addToWS)( univ_lsets, thr->locksetA, (Word)lk );
+   thr->locksetA = HG_(addToWS)( univ_lsets, thr->locksetA, (UWord)lk );
    /* but don't update thr->locksetW, since lk is only rd-held */
    /* fall through */
 
@@ -1234,8 +1232,8 @@
          client. */
       tl_assert(!lock->heldW);
       HG_(record_error_UnlockUnlocked)( thr, lock );
-      tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetA, (Word)lock ));
-      tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (Word)lock ));
+      tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetA, (UWord)lock ));
+      tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (UWord)lock ));
       goto error;
    }
 
@@ -1245,7 +1243,7 @@
 
    /* The lock is held.  Is this thread one of the holders?  If not,
       report a bug in the client. */
-   n = VG_(elemBag)( lock->heldBy, (Word)thr );
+   n = VG_(elemBag)( lock->heldBy, (UWord)thr );
    tl_assert(n >= 0);
    if (n == 0) {
       /* We are not a current holder of the lock.  This is a bug in
@@ -1255,8 +1253,8 @@
       Thread* realOwner = (Thread*)VG_(anyElementOfBag)( lock->heldBy );
       tl_assert(HG_(is_sane_Thread)(realOwner));
       tl_assert(realOwner != thr);
-      tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetA, (Word)lock ));
-      tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (Word)lock ));
+      tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetA, (UWord)lock ));
+      tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (UWord)lock ));
       HG_(record_error_UnlockForeign)( thr, realOwner, lock );
       goto error;
    }
@@ -1271,16 +1269,16 @@
 
    if (n > 0) {
       tl_assert(lock->heldBy);
-      tl_assert(n == VG_(elemBag)( lock->heldBy, (Word)thr )); 
+      tl_assert(n == VG_(elemBag)( lock->heldBy, (UWord)thr )); 
       /* We still hold the lock.  So either it's a recursive lock 
          or a rwlock which is currently r-held. */
       tl_assert(lock->kind == LK_mbRec
                 || (lock->kind == LK_rdwr && !lock->heldW));
-      tl_assert(HG_(elemWS)( univ_lsets, thr->locksetA, (Word)lock ));
+      tl_assert(HG_(elemWS)( univ_lsets, thr->locksetA, (UWord)lock ));
       if (lock->heldW)
-         tl_assert(HG_(elemWS)( univ_lsets, thr->locksetW, (Word)lock ));
+         tl_assert(HG_(elemWS)( univ_lsets, thr->locksetW, (UWord)lock ));
       else
-         tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (Word)lock ));
+         tl_assert(!HG_(elemWS)( univ_lsets, thr->locksetW, (UWord)lock ));
    } else {
       /* n is zero.  This means we don't hold the lock any more.  But
          if it's a rwlock held in r-mode, someone else could still
@@ -1306,13 +1304,13 @@
          tl_assert(lock->heldW == False);
       }
       //if (lock->heldBy) {
-      //   tl_assert(0 == VG_(elemBag)( lock->heldBy, (Word)thr ));
+      //   tl_assert(0 == VG_(elemBag)( lock->heldBy, (UWord)thr ));
       //}
       /* update this thread's lockset accordingly. */
       thr->locksetA
-         = HG_(delFromWS)( univ_lsets, thr->locksetA, (Word)lock );
+         = HG_(delFromWS)( univ_lsets, thr->locksetA, (UWord)lock );
       thr->locksetW
-         = HG_(delFromWS)( univ_lsets, thr->locksetW, (Word)lock );
+         = HG_(delFromWS)( univ_lsets, thr->locksetW, (UWord)lock );
       /* push our VC into the lock */
       tl_assert(thr->hbthr);
       tl_assert(lock->hbso);
@@ -1703,7 +1701,7 @@
 }
 
 static
-void evh__pre_mem_read ( CorePart part, ThreadId tid, Char* s, 
+void evh__pre_mem_read ( CorePart part, ThreadId tid, const HChar* s, 
                          Addr a, SizeT size) {
    if (SHOW_EVENTS >= 2
        || (SHOW_EVENTS >= 1 && size != 1))
@@ -1716,7 +1714,7 @@
 
 static
 void evh__pre_mem_read_asciiz ( CorePart part, ThreadId tid,
-                                Char* s, Addr a ) {
+                                const HChar* s, Addr a ) {
    Int len;
    if (SHOW_EVENTS >= 1)
       VG_(printf)("evh__pre_mem_asciiz(ctid=%d, \"%s\", %p)\n", 
@@ -1727,14 +1725,14 @@
    // checking the first byte is better than nothing.  See #255009.
    if (!VG_(am_is_valid_for_client) (a, 1, VKI_PROT_READ))
       return;
-   len = VG_(strlen)( (Char*) a );
+   len = VG_(strlen)( (HChar*) a );
    shadow_mem_cread_range( map_threads_lookup(tid), a, len+1 );
    if (len >= SCE_BIGRANGE_T && (HG_(clo_sanity_flags) & SCE_BIGRANGE))
       all__sanity_check("evh__pre_mem_read_asciiz-post");
 }
 
 static
-void evh__pre_mem_write ( CorePart part, ThreadId tid, Char* s,
+void evh__pre_mem_write ( CorePart part, ThreadId tid, const HChar* s,
                           Addr a, SizeT size ) {
    if (SHOW_EVENTS >= 1)
       VG_(printf)("evh__pre_mem_write(ctid=%d, \"%s\", %p, %lu)\n", 
@@ -1948,14 +1946,14 @@
         && (lk->kind == LK_nonRec || lk->kind == LK_rdwr)
         && lk->heldBy
         && lk->heldW
-        && VG_(elemBag)( lk->heldBy, (Word)thr ) > 0 ) {
+        && VG_(elemBag)( lk->heldBy, (UWord)thr ) > 0 ) {
       /* uh, it's a non-recursive lock and we already w-hold it, and
          this is a real lock operation (not a speculative "tryLock"
          kind of thing).  Duh.  Deadlock coming up; but at least
          produce an error message. */
-      HChar* errstr = "Attempt to re-lock a "
-                      "non-recursive lock I already hold";
-      HChar* auxstr = "Lock was previously acquired";
+      const HChar* errstr = "Attempt to re-lock a "
+                            "non-recursive lock I already hold";
+      const HChar* auxstr = "Lock was previously acquired";
       if (lk->acquired_at) {
          HG_(record_error_Misc_w_aux)( thr, errstr, auxstr, lk->acquired_at );
       } else {
@@ -2139,17 +2137,46 @@
    }
 }
 
-static void map_cond_to_CVInfo_delete ( void* cond ) {
-   UWord keyW, valW;
+static CVInfo* map_cond_to_CVInfo_lookup_NO_alloc ( void* cond ) {
+   UWord key, val;
    map_cond_to_CVInfo_INIT();
-   if (VG_(delFromFM)( map_cond_to_CVInfo, &keyW, &valW, (UWord)cond )) {
+   if (VG_(lookupFM)( map_cond_to_CVInfo, &key, &val, (UWord)cond )) {
+      tl_assert(key == (UWord)cond);
+      return (CVInfo*)val;
+   } else {
+      return NULL;
+   }
+}
+
+static void map_cond_to_CVInfo_delete ( ThreadId tid, void* cond ) {
+   Thread*   thr;
+   UWord keyW, valW;
+
+   thr = map_threads_maybe_lookup( tid );
+   tl_assert(thr); /* cannot fail - Thread* must already exist */
+
+   map_cond_to_CVInfo_INIT();
+   if (VG_(lookupFM)( map_cond_to_CVInfo, &keyW, &valW, (UWord)cond )) {
       CVInfo* cvi = (CVInfo*)valW;
       tl_assert(keyW == (UWord)cond);
       tl_assert(cvi);
       tl_assert(cvi->so);
+      if (cvi->nWaiters > 0) {
+         HG_(record_error_Misc)(thr,
+                                "pthread_cond_destroy:"
+                                " destruction of condition variable being waited upon");
+         /* Destroying a cond var being waited upon outcome is EBUSY and
+            variable is not destroyed. */
+         return;
+      }
+      if (!VG_(delFromFM)( map_cond_to_CVInfo, &keyW, &valW, (UWord)cond ))
+         tl_assert(0); // cond var found above, and not here ???
       libhb_so_dealloc(cvi->so);
       cvi->mx_ga = 0;
       HG_(free)(cvi);
+   } else {
+      HG_(record_error_Misc)(thr,
+                             "pthread_cond_destroy: destruction of unknown cond var");
    }
 }
 
@@ -2212,7 +2239,7 @@
                "pthread_cond_{signal,broadcast}: dubious: "
                "associated lock is not held by any thread");
          }
-         if (lk->heldBy != NULL && 0 == VG_(elemBag)(lk->heldBy, (Word)thr)) {
+         if (lk->heldBy != NULL && 0 == VG_(elemBag)(lk->heldBy, (UWord)thr)) {
             HG_(record_error_Misc)(thr,
                "pthread_cond_{signal,broadcast}: "
                "associated lock is not held by calling thread");
@@ -2274,7 +2301,7 @@
             thr, "pthread_cond_{timed}wait called with un-held mutex");
       } else
       if (lk->heldBy != NULL
-          && VG_(elemBag)( lk->heldBy, (Word)thr ) == 0) {
+          && VG_(elemBag)( lk->heldBy, (UWord)thr ) == 0) {
          lk_valid = False;
          HG_(record_error_Misc)(
             thr, "pthread_cond_{timed}wait called with mutex "
@@ -2320,7 +2347,17 @@
 
    // error-if: cond is also associated with a different mutex
 
-   cvi = map_cond_to_CVInfo_lookup_or_alloc( cond );
+   cvi = map_cond_to_CVInfo_lookup_NO_alloc( cond );
+   if (!cvi) {
+      /* This could be either a bug in helgrind or the guest application
+         that did an error (e.g. cond var was destroyed by another thread.
+         Let's assume helgrind is perfect ...
+         Note that this is similar to drd behaviour. */
+      HG_(record_error_Misc)(thr, "condition variable has been destroyed while"
+                             " being waited upon");
+      return;
+   }
+
    tl_assert(cvi);
    tl_assert(cvi->so);
    tl_assert(cvi->nWaiters > 0);
@@ -2340,6 +2377,22 @@
    cvi->nWaiters--;
 }
 
+static void evh__HG_PTHREAD_COND_INIT_POST ( ThreadId tid,
+                                             void* cond, void* cond_attr )
+{
+   CVInfo* cvi;
+
+   if (SHOW_EVENTS >= 1)
+      VG_(printf)("evh__HG_PTHREAD_COND_INIT_POST"
+                  "(ctid=%d, cond=%p, cond_attr=%p)\n", 
+                  (Int)tid, (void*)cond, (void*) cond_attr );
+
+   cvi = map_cond_to_CVInfo_lookup_or_alloc( cond );
+   tl_assert (cvi);
+   tl_assert (cvi->so);
+}
+
+
 static void evh__HG_PTHREAD_COND_DESTROY_PRE ( ThreadId tid,
                                                void* cond )
 {
@@ -2351,7 +2404,7 @@
                   "(ctid=%d, cond=%p)\n", 
                   (Int)tid, (void*)cond );
 
-   map_cond_to_CVInfo_delete( cond );
+   map_cond_to_CVInfo_delete( tid, cond );
 }
 
 
@@ -2556,7 +2609,7 @@
    } else {
      xa = VG_(newXA)( HG_(zalloc), "hg.pSfs.1", HG_(free), sizeof(SO*) );
       VG_(addToXA)( xa, &so );
-      VG_(addToFM)( map_sem_to_SO_stack, (Word)sem, (Word)xa );
+      VG_(addToFM)( map_sem_to_SO_stack, (UWord)sem, (UWord)xa );
    }
 }
 
@@ -3276,8 +3329,8 @@
    tl_assert(laog_exposition);
 }
 
-static void laog__show ( Char* who ) {
-   Word i, ws_size;
+static void laog__show ( const HChar* who ) {
+   UWord i, ws_size;
    UWord* ws_words;
    Lock* me;
    LAOGLinks* links;
@@ -3285,8 +3338,8 @@
    VG_(initIterFM)( laog );
    me = NULL;
    links = NULL;
-   while (VG_(nextIterFM)( laog, (Word*)&me,
-                                 (Word*)&links )) {
+   while (VG_(nextIterFM)( laog, (UWord*)&me,
+                                 (UWord*)&links )) {
       tl_assert(me);
       tl_assert(links);
       VG_(printf)("   node %p:\n", me);
@@ -3384,7 +3437,7 @@
 
 __attribute__((noinline))
 static void laog__add_edge ( Lock* src, Lock* dst ) {
-   Word       keyW;
+   UWord      keyW;
    LAOGLinks* links;
    Bool       presentF, presentR;
    if (0) VG_(printf)("laog__add_edge %p %p\n", src, dst);
@@ -3402,34 +3455,34 @@
    /* Update the out edges for src */
    keyW  = 0;
    links = NULL;
-   if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)src )) {
+   if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)src )) {
       WordSetID outs_new;
       tl_assert(links);
-      tl_assert(keyW == (Word)src);
-      outs_new = HG_(addToWS)( univ_laog, links->outs, (Word)dst );
+      tl_assert(keyW == (UWord)src);
+      outs_new = HG_(addToWS)( univ_laog, links->outs, (UWord)dst );
       presentF = outs_new == links->outs;
       links->outs = outs_new;
    } else {
       links = HG_(zalloc)("hg.lae.1", sizeof(LAOGLinks));
       links->inns = HG_(emptyWS)( univ_laog );
-      links->outs = HG_(singletonWS)( univ_laog, (Word)dst );
-      VG_(addToFM)( laog, (Word)src, (Word)links );
+      links->outs = HG_(singletonWS)( univ_laog, (UWord)dst );
+      VG_(addToFM)( laog, (UWord)src, (UWord)links );
    }
    /* Update the in edges for dst */
    keyW  = 0;
    links = NULL;
-   if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)dst )) {
+   if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)dst )) {
       WordSetID inns_new;
       tl_assert(links);
-      tl_assert(keyW == (Word)dst);
-      inns_new = HG_(addToWS)( univ_laog, links->inns, (Word)src );
+      tl_assert(keyW == (UWord)dst);
+      inns_new = HG_(addToWS)( univ_laog, links->inns, (UWord)src );
       presentR = inns_new == links->inns;
       links->inns = inns_new;
    } else {
       links = HG_(zalloc)("hg.lae.2", sizeof(LAOGLinks));
-      links->inns = HG_(singletonWS)( univ_laog, (Word)src );
+      links->inns = HG_(singletonWS)( univ_laog, (UWord)src );
       links->outs = HG_(emptyWS)( univ_laog );
-      VG_(addToFM)( laog, (Word)dst, (Word)links );
+      VG_(addToFM)( laog, (UWord)dst, (UWord)links );
    }
 
    tl_assert( (presentF && presentR) || (!presentF && !presentR) );
@@ -3448,7 +3501,7 @@
       expo.src_ec = NULL;
       expo.dst_ec = NULL;
       tl_assert(laog_exposition);
-      if (VG_(lookupFM)( laog_exposition, NULL, NULL, (Word)&expo )) {
+      if (VG_(lookupFM)( laog_exposition, NULL, NULL, (UWord)&expo )) {
          /* we already have it; do nothing */
       } else {
          LAOGLinkExposition* expo2 = HG_(zalloc)("hg.lae.3", 
@@ -3457,7 +3510,7 @@
          expo2->dst_ga = dst->guestaddr;
          expo2->src_ec = src->acquired_at;
          expo2->dst_ec = dst->acquired_at;
-         VG_(addToFM)( laog_exposition, (Word)expo2, (Word)NULL );
+         VG_(addToFM)( laog_exposition, (UWord)expo2, (UWord)NULL );
       }
    }
 
@@ -3467,24 +3520,24 @@
 
 __attribute__((noinline))
 static void laog__del_edge ( Lock* src, Lock* dst ) {
-   Word       keyW;
+   UWord      keyW;
    LAOGLinks* links;
    if (0) VG_(printf)("laog__del_edge enter %p %p\n", src, dst);
    /* Update the out edges for src */
    keyW  = 0;
    links = NULL;
-   if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)src )) {
+   if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)src )) {
       tl_assert(links);
-      tl_assert(keyW == (Word)src);
-      links->outs = HG_(delFromWS)( univ_laog, links->outs, (Word)dst );
+      tl_assert(keyW == (UWord)src);
+      links->outs = HG_(delFromWS)( univ_laog, links->outs, (UWord)dst );
    }
    /* Update the in edges for dst */
    keyW  = 0;
    links = NULL;
-   if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)dst )) {
+   if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)dst )) {
       tl_assert(links);
-      tl_assert(keyW == (Word)dst);
-      links->inns = HG_(delFromWS)( univ_laog, links->inns, (Word)src );
+      tl_assert(keyW == (UWord)dst);
+      links->inns = HG_(delFromWS)( univ_laog, links->inns, (UWord)src );
    }
 
    /* Remove the exposition of src,dst (if present) */
@@ -3511,13 +3564,13 @@
 
 __attribute__((noinline))
 static WordSetID /* in univ_laog */ laog__succs ( Lock* lk ) {
-   Word       keyW;
+   UWord      keyW;
    LAOGLinks* links;
    keyW  = 0;
    links = NULL;
-   if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)lk )) {
+   if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)lk )) {
       tl_assert(links);
-      tl_assert(keyW == (Word)lk);
+      tl_assert(keyW == (UWord)lk);
       return links->outs;
    } else {
       return HG_(emptyWS)( univ_laog );
@@ -3526,13 +3579,13 @@
 
 __attribute__((noinline))
 static WordSetID /* in univ_laog */ laog__preds ( Lock* lk ) {
-   Word       keyW;
+   UWord      keyW;
    LAOGLinks* links;
    keyW  = 0;
    links = NULL;
-   if (VG_(lookupFM)( laog, &keyW, (Word*)&links, (Word)lk )) {
+   if (VG_(lookupFM)( laog, &keyW, (UWord*)&links, (UWord)lk )) {
       tl_assert(links);
-      tl_assert(keyW == (Word)lk);
+      tl_assert(keyW == (UWord)lk);
       return links->inns;
    } else {
       return HG_(emptyWS)( univ_laog );
@@ -3540,8 +3593,8 @@
 }
 
 __attribute__((noinline))
-static void laog__sanity_check ( Char* who ) {
-   Word i, ws_size;
+static void laog__sanity_check ( const HChar* who ) {
+   UWord i, ws_size;
    UWord* ws_words;
    Lock* me;
    LAOGLinks* links;
@@ -3549,22 +3602,22 @@
    me = NULL;
    links = NULL;
    if (0) VG_(printf)("laog sanity check\n");
-   while (VG_(nextIterFM)( laog, (Word*)&me,
-                                 (Word*)&links )) {
+   while (VG_(nextIterFM)( laog, (UWord*)&me,
+                                 (UWord*)&links )) {
       tl_assert(me);
       tl_assert(links);
       HG_(getPayloadWS)( &ws_words, &ws_size, univ_laog, links->inns );
       for (i = 0; i < ws_size; i++) {
          if ( ! HG_(elemWS)( univ_laog, 
                              laog__succs( (Lock*)ws_words[i] ), 
-                             (Word)me ))
+                             (UWord)me ))
             goto bad;
       }
       HG_(getPayloadWS)( &ws_words, &ws_size, univ_laog, links->outs );
       for (i = 0; i < ws_size; i++) {
          if ( ! HG_(elemWS)( univ_laog, 
                              laog__preds( (Lock*)ws_words[i] ), 
-                             (Word)me ))
+                             (UWord)me ))
             goto bad;
       }
       me = NULL;
@@ -3588,12 +3641,12 @@
 Lock* laog__do_dfs_from_to ( Lock* src, WordSetID dsts /* univ_lsets */ )
 {
    Lock*     ret;
-   Word      i, ssz;
+   Word      ssz;
    XArray*   stack;   /* of Lock* */
    WordFM*   visited; /* Lock* -> void, iow, Set(Lock*) */
    Lock*     here;
    WordSetID succs;
-   Word      succs_size;
+   UWord     succs_size, i;
    UWord*    succs_words;
    //laog__sanity_check();
 
@@ -3617,12 +3670,12 @@
       here = *(Lock**) VG_(indexXA)( stack, ssz-1 );
       VG_(dropTailXA)( stack, 1 );
 
-      if (HG_(elemWS)( univ_lsets, dsts, (Word)here )) { ret = here; break; }
+      if (HG_(elemWS)( univ_lsets, dsts, (UWord)here )) { ret = here; break; }
 
-      if (VG_(lookupFM)( visited, NULL, NULL, (Word)here ))
+      if (VG_(lookupFM)( visited, NULL, NULL, (UWord)here ))
          continue;
 
-      VG_(addToFM)( visited, (Word)here, 0 );
+      VG_(addToFM)( visited, (UWord)here, 0 );
 
       succs = laog__succs( here );
       HG_(getPayloadWS)( &succs_words, &succs_size, univ_laog, succs );
@@ -3647,13 +3700,13 @@
             )
 {
    UWord*   ls_words;
-   Word     ls_size, i;
+   UWord    ls_size, i;
    Lock*    other;
 
    /* It may be that 'thr' already holds 'lk' and is recursively
       relocking in.  In this case we just ignore the call. */
    /* NB: univ_lsets really is correct here */
-   if (HG_(elemWS)( univ_lsets, thr->locksetA, (Word)lk ))
+   if (HG_(elemWS)( univ_lsets, thr->locksetA, (UWord)lk ))
       return;
 
    /* First, the check.  Complain if there is any path in laog from lk
@@ -3678,7 +3731,7 @@
       key.dst_ec = NULL;
       found = NULL;
       if (VG_(lookupFM)( laog_exposition,
-                         (Word*)&found, NULL, (Word)&key )) {
+                         (UWord*)&found, NULL, (UWord)&key )) {
          tl_assert(found != &key);
          tl_assert(found->src_ga == key.src_ga);
          tl_assert(found->dst_ga == key.dst_ga);
@@ -3689,9 +3742,54 @@
                  found->src_ec, found->dst_ec, other->acquired_at );
       } else {
          /* Hmm.  This can't happen (can it?) */
+         /* Yes, it can happen: see tests/tc14_laog_dinphils.
+            Imagine we have 3 philosophers A B C, and the forks
+            between them:
+
+                           C
+
+                       fCA   fBC
+
+                      A   fAB   B
+
+            Let's have the following actions:
+                   A takes    fCA,fAB
+                   A releases fCA,fAB
+                   B takes    fAB,fBC
+                   B releases fAB,fBC
+                   C takes    fBC,fCA
+                   C releases fBC,fCA
+
+            Helgrind will report a lock order error when C takes fCA.
+            Effectively, we have a deadlock if the following
+            sequence is done:
+                A takes fCA
+                B takes fAB
+                C takes fBC
+
+            The error reported is:
+              Observed (incorrect) order fBC followed by fCA
+            but the stack traces that have established the required order
+            are not given.
+
+            This is because there is no pair (fCA, fBC) in laog exposition :
+            the laog_exposition records all pairs of locks between a new lock
+            taken by a thread and all the already taken locks.
+            So, there is no laog_exposition (fCA, fBC) as no thread ever
+            first locked fCA followed by fBC.
+
+            In other words, when the deadlock cycle involves more than
+            two locks, then helgrind does not report the sequence of
+            operations that created the cycle.
+
+            However, we can report the current stack trace (where
+            lk is being taken), and the stack trace where other was acquired:
+            Effectively, the variable 'other' contains a lock currently
+            held by this thread, with its 'acquired_at'. */
+                    
          HG_(record_error_LockOrder)(
             thr, lk->guestaddr, other->guestaddr,
-                 NULL, NULL, NULL );
+                 NULL, NULL, other->acquired_at );
       }
    }
 
@@ -3739,7 +3837,7 @@
 static void laog__handle_one_lock_deletion ( Lock* lk )
 {
    WordSetID preds, succs;
-   Word preds_size, succs_size, i, j;
+   UWord preds_size, succs_size, i, j;
    UWord *preds_words, *succs_words;
 
    preds = laog__preds( lk );
@@ -4094,21 +4192,43 @@
 /*--- Instrumentation                                        ---*/
 /*--------------------------------------------------------------*/
 
+#define unop(_op, _arg1)         IRExpr_Unop((_op),(_arg1))
 #define binop(_op, _arg1, _arg2) IRExpr_Binop((_op),(_arg1),(_arg2))
 #define mkexpr(_tmp)             IRExpr_RdTmp((_tmp))
 #define mkU32(_n)                IRExpr_Const(IRConst_U32(_n))
 #define mkU64(_n)                IRExpr_Const(IRConst_U64(_n))
 #define assign(_t, _e)           IRStmt_WrTmp((_t), (_e))
 
+/* This takes and returns atoms, of course.  Not full IRExprs. */
+static IRExpr* mk_And1 ( IRSB* sbOut, IRExpr* arg1, IRExpr* arg2 )
+{
+   tl_assert(arg1 && arg2);
+   tl_assert(isIRAtom(arg1));
+   tl_assert(isIRAtom(arg2));
+   /* Generate 32to1(And32(1Uto32(arg1), 1Uto32(arg2))).  Appalling
+      code, I know. */
+   IRTemp wide1 = newIRTemp(sbOut->tyenv, Ity_I32);
+   IRTemp wide2 = newIRTemp(sbOut->tyenv, Ity_I32);
+   IRTemp anded = newIRTemp(sbOut->tyenv, Ity_I32);
+   IRTemp res   = newIRTemp(sbOut->tyenv, Ity_I1);
+   addStmtToIRSB(sbOut, assign(wide1, unop(Iop_1Uto32, arg1)));
+   addStmtToIRSB(sbOut, assign(wide2, unop(Iop_1Uto32, arg2)));
+   addStmtToIRSB(sbOut, assign(anded, binop(Iop_And32, mkexpr(wide1),
+                                                       mkexpr(wide2))));
+   addStmtToIRSB(sbOut, assign(res, unop(Iop_32to1, mkexpr(anded))));
+   return mkexpr(res);
+}
+
 static void instrument_mem_access ( IRSB*   sbOut, 
                                     IRExpr* addr,
                                     Int     szB,
                                     Bool    isStore,
                                     Int     hWordTy_szB,
-                                    Int     goff_sp )
+                                    Int     goff_sp,
+                                    IRExpr* guard ) /* NULL => True */
 {
    IRType   tyAddr   = Ity_INVALID;
-   HChar*   hName    = NULL;
+   const HChar* hName    = NULL;
    void*    hAddr    = NULL;
    Int      regparms = 0;
    IRExpr** argv     = NULL;
@@ -4241,15 +4361,23 @@
                    : binop(Iop_Add64, mkexpr(addr_minus_sp), mkU64(rz_szB)))
       );
 
-      IRTemp guard = newIRTemp(sbOut->tyenv, Ity_I1);
+      /* guardA == "guard on the address" */
+      IRTemp guardA = newIRTemp(sbOut->tyenv, Ity_I1);
       addStmtToIRSB(
          sbOut,
-         assign(guard,
+         assign(guardA,
                 tyAddr == Ity_I32 
                    ? binop(Iop_CmpLT32U, mkU32(THRESH), mkexpr(diff))
                    : binop(Iop_CmpLT64U, mkU64(THRESH), mkexpr(diff)))
       );
-      di->guard = mkexpr(guard);
+      di->guard = mkexpr(guardA);
+   }
+
+   /* If there's a guard on the access itself (as supplied by the
+      caller of this routine), we need to AND that in to any guard we
+      might already have. */
+   if (guard) {
+      di->guard = mk_And1(sbOut, di->guard, guard);
    }
 
    /* Add the helper. */
@@ -4263,7 +4391,7 @@
 static Bool is_in_dynamic_linker_shared_object( Addr64 ga )
 {
    DebugInfo* dinfo;
-   const UChar* soname;
+   const HChar* soname;
    if (0) return False;
 
    dinfo = VG_(find_DebugInfo)( (Addr)ga );
@@ -4292,6 +4420,7 @@
                       IRSB* bbIn,
                       VexGuestLayout* layout,
                       VexGuestExtents* vge,
+                      VexArchInfo* archinfo_host,
                       IRType gWordTy, IRType hWordTy )
 {
    Int     i;
@@ -4395,7 +4524,8 @@
                   (isDCAS ? 2 : 1)
                      * sizeofIRType(typeOfIRExpr(bbIn->tyenv, cas->dataLo)),
                   False/*!isStore*/,
-                  sizeofIRType(hWordTy), goff_sp
+                  sizeofIRType(hWordTy), goff_sp,
+                  NULL/*no-guard*/
                );
             }
             break;
@@ -4415,7 +4545,8 @@
                      st->Ist.LLSC.addr,
                      sizeofIRType(dataTy),
                      False/*!isStore*/,
-                     sizeofIRType(hWordTy), goff_sp
+                     sizeofIRType(hWordTy), goff_sp,
+                     NULL/*no-guard*/
                   );
                }
             } else {
@@ -4426,22 +4557,46 @@
          }
 
          case Ist_Store:
-            /* It seems we pretend that store-conditionals don't
-               exist, viz, just ignore them ... */
             if (!inLDSO) {
                instrument_mem_access( 
                   bbOut, 
                   st->Ist.Store.addr, 
                   sizeofIRType(typeOfIRExpr(bbIn->tyenv, st->Ist.Store.data)),
                   True/*isStore*/,
-                  sizeofIRType(hWordTy), goff_sp
+                  sizeofIRType(hWordTy), goff_sp,
+                  NULL/*no-guard*/
                );
             }
             break;
 
+         case Ist_StoreG: {
+            IRStoreG* sg   = st->Ist.StoreG.details;
+            IRExpr*   data = sg->data;
+            IRExpr*   addr = sg->addr;
+            IRType    type = typeOfIRExpr(bbIn->tyenv, data);
+            tl_assert(type != Ity_INVALID);
+            instrument_mem_access( bbOut, addr, sizeofIRType(type),
+                                   True/*isStore*/,
+                                   sizeofIRType(hWordTy),
+                                   goff_sp, sg->guard );
+            break;
+         }
+
+         case Ist_LoadG: {
+            IRLoadG* lg       = st->Ist.LoadG.details;
+            IRType   type     = Ity_INVALID; /* loaded type */
+            IRType   typeWide = Ity_INVALID; /* after implicit widening */
+            IRExpr*  addr     = lg->addr;
+            typeOfIRLoadGOp(lg->cvt, &typeWide, &type);
+            tl_assert(type != Ity_INVALID);
+            instrument_mem_access( bbOut, addr, sizeofIRType(type),
+                                   False/*!isStore*/,
+                                   sizeofIRType(hWordTy),
+                                   goff_sp, lg->guard );
+            break;
+         }
+
          case Ist_WrTmp: {
-            /* ... whereas here we don't care whether a load is a
-               vanilla one or a load-linked. */
             IRExpr* data = st->Ist.WrTmp.data;
             if (data->tag == Iex_Load) {
                if (!inLDSO) {
@@ -4450,7 +4605,8 @@
                      data->Iex.Load.addr,
                      sizeofIRType(data->Iex.Load.ty),
                      False/*!isStore*/,
-                     sizeofIRType(hWordTy), goff_sp
+                     sizeofIRType(hWordTy), goff_sp,
+                     NULL/*no-guard*/
                   );
                }
             }
@@ -4470,7 +4626,7 @@
                   if (!inLDSO) {
                      instrument_mem_access( 
                         bbOut, d->mAddr, dataSize, False/*!isStore*/,
-                        sizeofIRType(hWordTy), goff_sp
+                        sizeofIRType(hWordTy), goff_sp, NULL/*no-guard*/
                      );
                   }
                }
@@ -4478,7 +4634,7 @@
                   if (!inLDSO) {
                      instrument_mem_access( 
                         bbOut, d->mAddr, dataSize, True/*isStore*/,
-                        sizeofIRType(hWordTy), goff_sp
+                        sizeofIRType(hWordTy), goff_sp, NULL/*no-guard*/
                      );
                   }
                }
@@ -4614,7 +4770,7 @@
          if (0)
          VG_(printf)("XXXX: bind pthread_t %p to Thread* %p\n",
                      (void*)args[1], (void*)my_thr );
-         VG_(addToFM)( map_pthread_t_to_Thread, (Word)args[1], (Word)my_thr );
+         VG_(addToFM)( map_pthread_t_to_Thread, (UWord)args[1], (UWord)my_thr );
          break;
       }
 
@@ -4624,7 +4780,7 @@
          my_thr = map_threads_maybe_lookup( tid );
          tl_assert(my_thr); /* See justification above in SET_MY_PTHREAD_T */
          HG_(record_error_PthAPIerror)(
-            my_thr, (HChar*)args[1], (Word)args[2], (HChar*)args[3] );
+            my_thr, (HChar*)args[1], (UWord)args[2], (HChar*)args[3] );
          break;
       }
 
@@ -4638,7 +4794,7 @@
                      (void*)args[1]);
          map_pthread_t_to_Thread_INIT();
          found = VG_(lookupFM)( map_pthread_t_to_Thread, 
-                                NULL, (Word*)&thr_q, (Word)args[1] );
+                                NULL, (UWord*)&thr_q, (UWord)args[1] );
           /* Can this fail?  It would mean that our pthread_join
              wrapper observed a successful join on args[1] yet that
              thread never existed (or at least, it never lodged an
@@ -4702,6 +4858,13 @@
          break;
       }
 
+      /* Thread successfully completed pthread_cond_init:
+         cond=arg[1], cond_attr=arg[2] */
+      case _VG_USERREQ__HG_PTHREAD_COND_INIT_POST:
+         evh__HG_PTHREAD_COND_INIT_POST( tid,
+                                         (void*)args[1], (void*)args[2] );
+	 break;
+
       /* cond=arg[1] */
       case _VG_USERREQ__HG_PTHREAD_COND_DESTROY_PRE:
          evh__HG_PTHREAD_COND_DESTROY_PRE( tid, (void*)args[1] );
@@ -4805,7 +4968,7 @@
          break;
 
       case _VG_USERREQ__HG_CLIENTREQ_UNIMP: {
-         /* char* who */
+         /* HChar* who */
          HChar*  who = (HChar*)args[1];
          HChar   buf[50 + 50];
          Thread* thr = map_threads_maybe_lookup( tid );
@@ -4847,9 +5010,9 @@
 /*--- Setup                                                    ---*/
 /*----------------------------------------------------------------*/
 
-static Bool hg_process_cmd_line_option ( Char* arg )
+static Bool hg_process_cmd_line_option ( const HChar* arg )
 {
-   Char* tmp_str;
+   const HChar* tmp_str;
 
    if      VG_BOOL_CLO(arg, "--track-lockorders",
                             HG_(clo_track_lockorders)) {}
@@ -5084,7 +5247,7 @@
    VG_(details_version)         (NULL);
    VG_(details_description)     ("a thread error detector");
    VG_(details_copyright_author)(
-      "Copyright (C) 2007-2011, and GNU GPL'd, by OpenWorks LLP et al.");
+      "Copyright (C) 2007-2012, and GNU GPL'd, by OpenWorks LLP et al.");
    VG_(details_bug_reports_to)  (VG_BUGS_TO);
    VG_(details_avg_translation_sizeB) ( 320 );
 
@@ -5125,7 +5288,7 @@
                                    hg_cli____builtin_vec_delete,
                                    hg_cli__realloc,
                                    hg_cli_malloc_usable_size,
-                                   HG_CLI__MALLOC_REDZONE_SZB );
+                                   HG_CLI__DEFAULT_MALLOC_REDZONE_SZB );
 
    /* 21 Dec 08: disabled this; it mostly causes H to start more
       slowly and use significantly more memory, without very often
diff --git a/helgrind/hg_wordset.c b/helgrind/hg_wordset.c
index ef76c80..45b714e 100644
--- a/helgrind/hg_wordset.c
+++ b/helgrind/hg_wordset.c
@@ -8,7 +8,7 @@
    This file is part of Helgrind, a Valgrind tool for detecting errors
    in threaded programs.
 
-   Copyright (C) 2007-2011 OpenWorks LLP
+   Copyright (C) 2007-2012 OpenWorks LLP
        info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -148,8 +148,8 @@
    vec2ix. The entry of the dead WVs in ix2vec are used to maintain a
    linked list of free (to be re-used) ix2vec entries. */
 struct _WordSetU {
-      void*     (*alloc)(HChar*,SizeT);
-      HChar*    cc;
+      void*     (*alloc)(const HChar*,SizeT);
+      const HChar* cc;
       void      (*dealloc)(void*);
       WordFM*   vec2ix; /* WordVec-to-WordSet mapping tree */
       WordVec** ix2vec; /* WordSet-to-WordVec mapping array */
@@ -319,8 +319,8 @@
       causes failures on a 64-bit platform. */
    tl_assert(wv_new->owner == wsu);
    have = VG_(lookupFM)( wsu->vec2ix, 
-                         (Word*)&wv_old, (Word*)&ix_old,
-                         (Word)wv_new );
+                         (UWord*)&wv_old, (UWord*)&ix_old,
+                         (UWord)wv_new );
    if (have) {
       tl_assert(wv_old != wv_new);
       tl_assert(wv_old);
@@ -336,7 +336,7 @@
       tl_assert(wsu->ix2vec[ws] == NULL || is_dead(wsu,wsu->ix2vec[ws]));
       wsu->ix2vec_free = (WordVec **) wsu->ix2vec[ws];
       wsu->ix2vec[ws] = wv_new;
-      VG_(addToFM)( wsu->vec2ix, (Word)wv_new, ws );
+      VG_(addToFM)( wsu->vec2ix, (UWord)wv_new, ws );
       if (HG_DEBUG) VG_(printf)("aodW %s re-use free %d %p\n", wsu->cc, (Int)ws, wv_new );
       return ws;
    } else {
@@ -353,8 +353,8 @@
 }
 
 
-WordSetU* HG_(newWordSetU) ( void* (*alloc_nofail)( HChar*, SizeT ),
-                             HChar* cc,
+WordSetU* HG_(newWordSetU) ( void* (*alloc_nofail)( const HChar*, SizeT ),
+                             const HChar* cc,
                              void  (*dealloc)(void*),
                              Word  cacheSize )
 {
@@ -477,8 +477,8 @@
    wsu->ix2vec_free = &wsu->ix2vec[ws];
 
    VG_(delFromFM) ( wsu->vec2ix, 
-                    (Word*)&wv_in_vec2ix, (Word*)&wv_ix,
-                    (Word)wv );
+                    (UWord*)&wv_in_vec2ix, (UWord*)&wv_ix,
+                    (UWord)wv );
 
    if (HG_DEBUG) VG_(printf)("dieWS wv_ix %d\n", (Int)wv_ix);
    tl_assert (wv_ix);
@@ -580,7 +580,7 @@
    VG_(printf)("}");
 }
 
-void HG_(ppWSUstats) ( WordSetU* wsu, HChar* name )
+void HG_(ppWSUstats) ( WordSetU* wsu, const HChar* name )
 {
    VG_(printf)("   WordSet \"%s\":\n", name);
    VG_(printf)("      addTo        %10lu (%lu uncached)\n",
diff --git a/helgrind/hg_wordset.h b/helgrind/hg_wordset.h
index 7f96988..945836b 100644
--- a/helgrind/hg_wordset.h
+++ b/helgrind/hg_wordset.h
@@ -8,7 +8,7 @@
    This file is part of Helgrind, a Valgrind tool for detecting errors
    in threaded programs.
 
-   Copyright (C) 2007-2011 OpenWorks LLP
+   Copyright (C) 2007-2012 OpenWorks LLP
        info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -47,8 +47,8 @@
 typedef  UInt              WordSet;   /* opaque, small int index */
 
 /* Allocate and initialise a WordSetU */
-WordSetU* HG_(newWordSetU) ( void* (*alloc_nofail)( HChar*, SizeT ),
-                             HChar* cc,
+WordSetU* HG_(newWordSetU) ( void* (*alloc_nofail)( const HChar*, SizeT ),
+                             const HChar* cc,
                              void  (*dealloc)(void*),
                              Word  cacheSize );
 
@@ -60,7 +60,7 @@
 UWord HG_(cardinalityWSU) ( WordSetU* );
 
 /* Show performance stats for this WordSetU. */
-void HG_(ppWSUstats) ( WordSetU* wsu, HChar* name );
+void HG_(ppWSUstats) ( WordSetU* wsu, const HChar* name );
 
 
 /* Element-level operations on WordSets.  Note that the WordSet
diff --git a/helgrind/libhb.h b/helgrind/libhb.h
index 51ec2c8..589b789 100644
--- a/helgrind/libhb.h
+++ b/helgrind/libhb.h
@@ -9,7 +9,7 @@
    This file is part of LibHB, a library for implementing and checking
    the happens-before relationship in concurrent programs.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
diff --git a/helgrind/libhb_core.c b/helgrind/libhb_core.c
index 21acf36..05ba817 100644
--- a/helgrind/libhb_core.c
+++ b/helgrind/libhb_core.c
@@ -9,7 +9,7 @@
    This file is part of LibHB, a library for implementing and checking
    the happens-before relationship in concurrent programs.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -1796,7 +1796,7 @@
 static void scalarts_limitations_fail_NORETURN ( Bool due_to_nThrs )
 {
    if (due_to_nThrs) {
-      HChar* s =
+      const HChar* s =
          "\n"
          "Helgrind: cannot continue, run aborted: too many threads.\n"
          "Sorry.  Helgrind can only handle programs that create\n"
@@ -1804,7 +1804,7 @@
          "\n";
       VG_(umsg)(s, (ULong)(ThrID_MAX_VALID - 1024));
    } else {
-      HChar* s =
+      const HChar* s =
          "\n"
          "Helgrind: cannot continue, run aborted: too many\n"
          "synchronisation events.  Sorry. Helgrind can only handle\n"
@@ -1832,9 +1832,9 @@
 static XArray* /* of ThrID */ verydead_thread_table = NULL;
 
 /* Arbitrary total ordering on ThrIDs. */
-static Int cmp__ThrID ( void* v1, void* v2 ) {
-   ThrID id1 = *(ThrID*)v1;
-   ThrID id2 = *(ThrID*)v2;
+static Int cmp__ThrID ( const void* v1, const void* v2 ) {
+   ThrID id1 = *(const ThrID*)v1;
+   ThrID id2 = *(const ThrID*)v2;
    if (id1 < id2) return -1;
    if (id1 > id2) return 1;
    return 0;
@@ -1866,17 +1866,17 @@
    VTS;
 
 /* Allocate a VTS capable of storing 'sizeTS' entries. */
-static VTS* VTS__new ( HChar* who, UInt sizeTS );
+static VTS* VTS__new ( const HChar* who, UInt sizeTS );
 
 /* Make a clone of 'vts', sizing the new array to exactly match the
    number of ScalarTSs present. */
-static VTS* VTS__clone ( HChar* who, VTS* vts );
+static VTS* VTS__clone ( const HChar* who, VTS* vts );
 
 /* Make a clone of 'vts' with the thrids in 'thrids' removed.  The new
    array is sized exactly to hold the number of required elements.
    'thridsToDel' is an array of ThrIDs to be omitted in the clone, and
    must be in strictly increasing order. */
-static VTS* VTS__subtract ( HChar* who, VTS* vts, XArray* thridsToDel );
+static VTS* VTS__subtract ( const HChar* who, VTS* vts, XArray* thridsToDel );
 
 /* Delete this VTS in its entirety. */
 static void VTS__delete ( VTS* vts );
@@ -1935,7 +1935,6 @@
    UWord     i, n;
    ScalarTS  *st1, *st2;
    if (!vts) return False;
-   if (!vts->ts) return False;
    if (vts->usedTS > vts->sizeTS) return False;
    n = vts->usedTS;
    if (n == 1) {
@@ -1960,7 +1959,7 @@
 
 /* Create a new, empty VTS.
 */
-static VTS* VTS__new ( HChar* who, UInt sizeTS )
+static VTS* VTS__new ( const HChar* who, UInt sizeTS )
 {
    VTS* vts = HG_(zalloc)(who, sizeof(VTS) + (sizeTS+1) * sizeof(ScalarTS));
    tl_assert(vts->usedTS == 0);
@@ -1971,7 +1970,7 @@
 
 /* Clone this VTS.
 */
-static VTS* VTS__clone ( HChar* who, VTS* vts )
+static VTS* VTS__clone ( const HChar* who, VTS* vts )
 {
    tl_assert(vts);
    tl_assert( *(ULong*)(&vts->ts[vts->sizeTS]) == 0x0ddC0ffeeBadF00dULL);
@@ -1993,7 +1992,7 @@
    must be in strictly increasing order.  We could obviously do this
    much more efficiently (in linear time) if necessary.
 */
-static VTS* VTS__subtract ( HChar* who, VTS* vts, XArray* thridsToDel )
+static VTS* VTS__subtract ( const HChar* who, VTS* vts, XArray* thridsToDel )
 {
    UInt i, j;
    tl_assert(vts);
@@ -2672,7 +2671,7 @@
 }
 
 
-static void show_vts_stats ( HChar* caller )
+static void show_vts_stats ( const HChar* caller )
 {
    UWord nSet, nTab, nLive;
    ULong totrc;
@@ -3333,7 +3332,7 @@
    fast way to do this is simply to stuff in tags which we know are
    not going to match anything, since they're not aligned to the start
    of a line. */
-static void Filter__clear ( Filter* fi, HChar* who )
+static void Filter__clear ( Filter* fi, const HChar* who )
 {
    UWord i;
    if (0) VG_(printf)("  Filter__clear(%p, %s)\n", fi, who);
@@ -3745,7 +3744,8 @@
       VG_(pp_ExeContext)(pair.ec);
 }
 
-static Int cmp__ULong_n_EC__by_ULong ( ULong_n_EC* pair1, ULong_n_EC* pair2 )
+static Int cmp__ULong_n_EC__by_ULong ( const ULong_n_EC* pair1,
+                                       const ULong_n_EC* pair2 )
 {
    if (pair1->ull < pair2->ull) return -1;
    if (pair1->ull > pair2->ull) return 1;
@@ -4057,6 +4057,7 @@
    example.magic = RCEC_MAGIC;
    example.rc = 0;
    example.rcX = 0;
+   example.next = NULL;
    main_get_stacktrace( thr, &example.frames[0], N_FRAMES );
    hash = 0;
    for (i = 0; i < N_FRAMES; i++) {
@@ -4897,7 +4898,7 @@
       found = VG_(lookupXA_UNSAFE)(
                  confThr->local_Kws_n_stacks,
                  &key, &firstIx, &lastIx,
-                 (Int(*)(void*,void*))cmp__ULong_n_EC__by_ULong
+                 (XACmpFn_t)cmp__ULong_n_EC__by_ULong
               );
       if (0) VG_(printf)("record_race_info %u %u %u  confThr %p "
                          "confTym %llu found %d (%lu,%lu)\n", 
@@ -6047,7 +6048,7 @@
 //                                                     //
 /////////////////////////////////////////////////////////
 
-static void show_thread_state ( HChar* str, Thr* t ) 
+static void show_thread_state ( const HChar* str, Thr* t ) 
 {
    if (1) return;
    if (t->viR == t->viW) {
@@ -6491,7 +6492,8 @@
    if (XXX2 && a <= XXX2 && XXX2 <= a+szB) return True;
    return False;
 }
-static void trace ( Thr* thr, Addr a, SizeT szB, HChar* s ) {
+static void trace ( Thr* thr, Addr a, SizeT szB, const const HChar* s ) 
+{
   SVal sv = zsm_sread08(a);
   VG_(printf)("thr %p (%#lx,%lu) %s: 0x%016llx ", thr,a,szB,s,sv);
   show_thread_state("", thr);
diff --git a/helgrind/tests/Makefile.am b/helgrind/tests/Makefile.am
index 3ca723b..30307da 100644
--- a/helgrind/tests/Makefile.am
+++ b/helgrind/tests/Makefile.am
@@ -12,6 +12,7 @@
 		annotate_rwlock.stderr.exp \
 	annotate_smart_pointer.vgtest annotate_smart_pointer.stdout.exp \
 		annotate_smart_pointer.stderr.exp \
+	cond_init_destroy.vgtest cond_init_destroy.stderr.exp \
 	cond_timedwait_invalid.vgtest cond_timedwait_invalid.stdout.exp \
 		cond_timedwait_invalid.stderr.exp \
 	bar_bad.vgtest bar_bad.stdout.exp bar_bad.stderr.exp \
@@ -40,6 +41,9 @@
 	pth_barrier1.vgtest pth_barrier1.stdout.exp pth_barrier1.stderr.exp \
 	pth_barrier2.vgtest pth_barrier2.stdout.exp pth_barrier2.stderr.exp \
 	pth_barrier3.vgtest pth_barrier3.stdout.exp pth_barrier3.stderr.exp \
+	pth_destroy_cond.vgtest \
+		pth_destroy_cond.stdout.exp pth_destroy_cond.stderr.exp \
+	pth_cond_destroy_busy.vgtest pth_cond_destroy_busy.stderr.exp \
 	pth_spinlock.vgtest pth_spinlock.stdout.exp pth_spinlock.stderr.exp \
 	rwlock_race.vgtest rwlock_race.stdout.exp rwlock_race.stderr.exp \
 	rwlock_test.vgtest rwlock_test.stdout.exp rwlock_test.stderr.exp \
@@ -78,16 +82,19 @@
 		tc17_sembar.stderr.exp \
 	tc18_semabuse.vgtest tc18_semabuse.stdout.exp \
 		tc18_semabuse.stderr.exp \
+		tc18_semabuse.stderr.exp-linux-mips32 \
 	tc19_shadowmem.vgtest tc19_shadowmem.stdout.exp \
-		tc19_shadowmem.stderr.exp \
+		tc19_shadowmem.stderr.exp tc19_shadowmem.stderr.exp-mips32 \
 	tc20_verifywrap.vgtest tc20_verifywrap.stdout.exp \
-		tc20_verifywrap.stderr.exp \
+		tc20_verifywrap.stderr.exp tc20_verifywrap.stderr.exp-mips32 \
+		tc20_verifywrap.stderr.exp-s390x \
 	tc21_pthonce.vgtest tc21_pthonce.stdout.exp tc21_pthonce.stderr.exp \
 	tc22_exit_w_lock.vgtest tc22_exit_w_lock.stdout.exp \
 		tc22_exit_w_lock.stderr.exp \
 		tc22_exit_w_lock.stderr.exp-kfail-x86 \
 	tc23_bogus_condwait.vgtest tc23_bogus_condwait.stdout.exp \
 		tc23_bogus_condwait.stderr.exp \
+		tc23_bogus_condwait.stderr.exp-mips32 \
 	tc24_nonzero_sem.vgtest tc24_nonzero_sem.stdout.exp \
 		tc24_nonzero_sem.stderr.exp
 
@@ -95,6 +102,7 @@
 # should be conditionally compiled like tc20_verifywrap is.
 check_PROGRAMS = \
 	annotate_hbefore \
+	cond_init_destroy \
 	cond_timedwait_invalid \
 	free_is_write \
 	hg01_all_ok \
@@ -106,6 +114,7 @@
 	locked_vs_unlocked1 \
 	locked_vs_unlocked2 \
 	locked_vs_unlocked3 \
+	pth_destroy_cond \
 	t2t \
 	tc01_simple_race \
 	tc02_simple_tls \
diff --git a/helgrind/tests/annotate_hbefore.c b/helgrind/tests/annotate_hbefore.c
index af3fa04..3ddf3dc 100644
--- a/helgrind/tests/annotate_hbefore.c
+++ b/helgrind/tests/annotate_hbefore.c
@@ -186,6 +186,72 @@
    return cc == 0;
 }
 
+#elif defined(VGA_mips32)
+
+// mips32
+/* return 1 if success, 0 if failure */
+UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
+{
+  UWord old, success;
+  UWord block[3] = { (UWord)addr, nyu, expected};
+
+   __asm__ __volatile__(
+      ".set noreorder"           "\n\t"
+      "lw     $t0, 0(%1)"        "\n\t"
+      "lw     $t2, 8(%1)"        "\n\t"
+      "lw     $t3, 4(%1)"        "\n\t"
+      "ll     $t1, 0($t0)"       "\n\t"
+      "bne    $t1, $t2, exit_0"  "\n\t"
+      "nop"                      "\n\t"
+      "sc     $t3, 0($t0)"       "\n\t"
+      "move   %0, $t3"           "\n\t"
+      "b exit"                   "\n\t"
+      "nop"                      "\n\t"
+      "exit_0:"                  "\n\t"
+      "move   %0, $zero"         "\n\t"
+      "exit:"                    "\n\t"
+      : /*out*/ "=r"(success)
+      : /*in*/ "r"(&block[0])
+      : /*trash*/ "t0", "t1", "t2", "t3", "memory"
+   );
+
+   assert(success == 0 || success == 1);
+   return success;
+}
+
+#elif defined(VGA_mips64)
+
+// mips64
+/* return 1 if success, 0 if failure */
+UWord do_acasW ( UWord* addr, UWord expected, UWord nyu )
+{
+  UWord old, success;
+  UWord block[3] = { (UWord)addr, nyu, expected};
+
+   __asm__ __volatile__(
+      ".set noreorder"           "\n\t"
+      "ld     $t0, 0(%1)"        "\n\t"
+      "ld     $t2, 16(%1)"       "\n\t"
+      "ld     $t3, 8(%1)"        "\n\t"
+      "ll     $t1, 0($t0)"       "\n\t"
+      "bne    $t1, $t2, exit_0"  "\n\t"
+      "nop"                      "\n\t"
+      "sc     $t3, 0($t0)"       "\n\t"
+      "move   %0, $t3"           "\n\t"
+      "b exit"                   "\n\t"
+      "nop"                      "\n\t"
+      "exit_0:"                  "\n\t"
+      "move   %0, $zero"         "\n\t"
+      "exit:"                    "\n\t"
+      : /*out*/ "=r"(success)
+      : /*in*/ "r"(&block[0])
+      : /*trash*/ "t0", "t1", "t2", "t3", "memory"
+   );
+
+   assert(success == 0 || success == 1);
+   return success;
+}
+
 #endif
 
 void atomic_incW ( UWord* w )
diff --git a/helgrind/tests/cond_init_destroy.c b/helgrind/tests/cond_init_destroy.c
new file mode 100644
index 0000000..7f9cbd3
--- /dev/null
+++ b/helgrind/tests/cond_init_destroy.c
@@ -0,0 +1,8 @@
+#include <pthread.h>
+int main(int argc, char *argv[])
+{
+   pthread_cond_t c;
+   pthread_cond_init(& c, NULL);
+   pthread_cond_destroy(& c);
+   return 0;
+} 
diff --git a/helgrind/tests/cond_init_destroy.stderr.exp b/helgrind/tests/cond_init_destroy.stderr.exp
new file mode 100644
index 0000000..d18786f
--- /dev/null
+++ b/helgrind/tests/cond_init_destroy.stderr.exp
@@ -0,0 +1,3 @@
+
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/cond_init_destroy.vgtest b/helgrind/tests/cond_init_destroy.vgtest
new file mode 100644
index 0000000..ae6221c
--- /dev/null
+++ b/helgrind/tests/cond_init_destroy.vgtest
@@ -0,0 +1 @@
+prog: cond_init_destroy
diff --git a/helgrind/tests/hg03_inherit.stderr.exp b/helgrind/tests/hg03_inherit.stderr.exp
index 1c4a91e..ee21cf0 100644
--- a/helgrind/tests/hg03_inherit.stderr.exp
+++ b/helgrind/tests/hg03_inherit.stderr.exp
@@ -24,7 +24,7 @@
    at 0x........: main (hg03_inherit.c:60)
 
 Location 0x........ is 0 bytes inside shared[1],
-declared at hg03_inherit.c:11, in frame #x of thread x
+a global variable declared at hg03_inherit.c:11
 
 
 ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/hg04_race.stderr.exp b/helgrind/tests/hg04_race.stderr.exp
index 982f940..bf2a185 100644
--- a/helgrind/tests/hg04_race.stderr.exp
+++ b/helgrind/tests/hg04_race.stderr.exp
@@ -29,8 +29,8 @@
    by 0x........: mythread_wrapper (hg_intercepts.c:...)
    ...
 
-Location 0x........ is 0 bytes inside local var "shared"
-declared at hg04_race.c:6, in frame #x of thread x
+Location 0x........ is 0 bytes inside global var "shared"
+declared at hg04_race.c:6
 
 ----------------------------------------------------------------
 
@@ -46,8 +46,8 @@
    by 0x........: mythread_wrapper (hg_intercepts.c:...)
    ...
 
-Location 0x........ is 0 bytes inside local var "shared"
-declared at hg04_race.c:6, in frame #x of thread x
+Location 0x........ is 0 bytes inside global var "shared"
+declared at hg04_race.c:6
 
 
 ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/pth_cond_destroy_busy.stderr.exp b/helgrind/tests/pth_cond_destroy_busy.stderr.exp
new file mode 100644
index 0000000..6ffa3c2
--- /dev/null
+++ b/helgrind/tests/pth_cond_destroy_busy.stderr.exp
@@ -0,0 +1,24 @@
+
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_destroy: destruction of condition variable being waited upon
+   at 0x........: pthread_cond_destroy_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_destroy@* (hg_intercepts.c:...)
+   by 0x........: main (pth_cond_destroy_busy.c:52)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_cond_destroy failed
+   with error code 16 (EBUSY: Device or resource busy)
+   at 0x........: pthread_cond_destroy_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_destroy@* (hg_intercepts.c:...)
+   by 0x........: main (pth_cond_destroy_busy.c:52)
+
+First pthread_cond_destroy() call returned EBUSY.
+Second pthread_cond_destroy() call returned success.
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/pth_cond_destroy_busy.vgtest b/helgrind/tests/pth_cond_destroy_busy.vgtest
new file mode 100644
index 0000000..c2e380e
--- /dev/null
+++ b/helgrind/tests/pth_cond_destroy_busy.vgtest
@@ -0,0 +1 @@
+prog: ../../drd/tests/pth_cond_destroy_busy
diff --git a/helgrind/tests/pth_destroy_cond.c b/helgrind/tests/pth_destroy_cond.c
new file mode 100644
index 0000000..54f4f43
--- /dev/null
+++ b/helgrind/tests/pth_destroy_cond.c
@@ -0,0 +1,39 @@
+#include <stdio.h>
+#include <pthread.h>
+#include <errno.h>
+// test program from johan.walles (bug 295590)
+// This test verifies that helgrind detects (and does not crash) when
+// the guest application wrongly destroys a cond var being waited
+// upon.
+pthread_mutex_t mutex;
+pthread_cond_t cond;
+pthread_t thread; 
+int ready = 0;
+
+void *ThreadFunction(void *ptr)
+{
+   pthread_mutex_lock(&mutex);
+   ready = 1;
+   pthread_cond_signal(&cond);
+   pthread_cond_destroy(&cond); // ERROR!!!
+   pthread_mutex_unlock(&mutex);
+   return NULL; 
+}
+
+int main() 
+{ 
+   pthread_mutex_init(&mutex, NULL); 
+   pthread_cond_init(&cond, NULL);
+
+   pthread_mutex_lock(&mutex);
+   pthread_create(&thread, NULL, ThreadFunction, (void*) NULL);
+   while (!ready) { // to insure ourselves against spurious wakeups
+      pthread_cond_wait(&cond, &mutex);
+   }
+   pthread_mutex_unlock(&mutex);
+
+   pthread_join(thread, NULL); 
+   pthread_mutex_destroy(&mutex); 
+   printf("finished\n");
+   return 0; 
+}
diff --git a/helgrind/tests/pth_destroy_cond.stderr.exp b/helgrind/tests/pth_destroy_cond.stderr.exp
new file mode 100644
index 0000000..783582c
--- /dev/null
+++ b/helgrind/tests/pth_destroy_cond.stderr.exp
@@ -0,0 +1,17 @@
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (pth_destroy_cond.c:29)
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_destroy: destruction of condition variable being waited upon
+   at 0x........: pthread_cond_destroy_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_destroy@* (hg_intercepts.c:...)
+   by 0x........: ThreadFunction (pth_destroy_cond.c:18)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
diff --git a/helgrind/tests/pth_destroy_cond.stdout.exp b/helgrind/tests/pth_destroy_cond.stdout.exp
new file mode 100644
index 0000000..f656398
--- /dev/null
+++ b/helgrind/tests/pth_destroy_cond.stdout.exp
@@ -0,0 +1 @@
+finished
diff --git a/helgrind/tests/pth_destroy_cond.vgtest b/helgrind/tests/pth_destroy_cond.vgtest
new file mode 100644
index 0000000..3f1fdf4
--- /dev/null
+++ b/helgrind/tests/pth_destroy_cond.vgtest
@@ -0,0 +1,3 @@
+prog: pth_destroy_cond
+vgopts: -q
+stderr_filter_args: pth_destroy_cond.c
diff --git a/helgrind/tests/rwlock_race.stderr.exp b/helgrind/tests/rwlock_race.stderr.exp
index 4a44713..47c3bd5 100644
--- a/helgrind/tests/rwlock_race.stderr.exp
+++ b/helgrind/tests/rwlock_race.stderr.exp
@@ -29,8 +29,8 @@
    by 0x........: mythread_wrapper (hg_intercepts.c:...)
    ...
 
-Location 0x........ is 0 bytes inside local var "s_racy"
-declared at rwlock_race.c:18, in frame #x of thread x
+Location 0x........ is 0 bytes inside global var "s_racy"
+declared at rwlock_race.c:18
 
 Result: 2
 
diff --git a/helgrind/tests/tc07_hbl1.c b/helgrind/tests/tc07_hbl1.c
index e5b11c4..92c74e0 100644
--- a/helgrind/tests/tc07_hbl1.c
+++ b/helgrind/tests/tc07_hbl1.c
@@ -14,6 +14,7 @@
 #undef PLAT_ppc64_linux
 #undef PLAT_arm_linux
 #undef PLAT_s390x_linux
+#undef PLAT_mips32_linux
 
 #if defined(__APPLE__) && defined(__i386__)
 #  define PLAT_x86_darwin 1
@@ -31,6 +32,8 @@
 #  define PLAT_arm_linux 1
 #elif defined(__linux__) && defined(__s390x__)
 #  define PLAT_s390x_linux 1
+#elif defined(__linux__) && defined(__mips__)
+#  define PLAT_mips32_linux 1
 #endif
 
 #if defined(PLAT_amd64_linux) || defined(PLAT_x86_linux) \
@@ -71,6 +74,20 @@
       "   jl    1b\n"                              \
       : "+m" (_lval) :: "cc", "1","2" \
    )
+#elif defined(PLAT_mips32_linux)
+#  define INC(_lval,_lqual)                         \
+     __asm__ __volatile__ (                         \
+      "1:\n"                                        \
+      "        move $8, %0\n"                       \
+      "        ll $9, 0($8)\n"                      \
+      "        addiu $9, $9, 1\n"                   \
+      "        sc $9, 0($8)\n"                      \
+      "        li $10, 1\n"                         \
+      "        bne $9, $10, 1b\n"                   \
+      "        nop\n"                               \
+      : /*out*/ : /*in*/ "r"(&(_lval))              \
+      : /*trash*/ "$8", "$9", "$10", "cc", "memory" \
+   )
 #else
 #  error "Fix Me for this platform"
 #endif
diff --git a/helgrind/tests/tc08_hbl2.c b/helgrind/tests/tc08_hbl2.c
index 8cc682b..54a1f68 100644
--- a/helgrind/tests/tc08_hbl2.c
+++ b/helgrind/tests/tc08_hbl2.c
@@ -30,6 +30,8 @@
 #undef PLAT_ppc64_linux
 #undef PLAT_arm_linux
 #undef PLAT_s390x_linux
+#undef PLAT_mips32_linux
+#undef PLAT_mips64_linux
 
 #if defined(__APPLE__) && defined(__i386__)
 #  define PLAT_x86_darwin 1
@@ -47,6 +49,12 @@
 #  define PLAT_arm_linux 1
 #elif defined(__linux__) && defined(__s390x__)
 #  define PLAT_s390x_linux 1
+#elif defined(__linux__) && defined(__mips__)
+#if (__mips==64)
+#  define PLAT_mips64_linux 1
+#else
+#  define PLAT_mips32_linux 1
+#endif
 #endif
 
 
@@ -88,6 +96,18 @@
       "   jl    1b\n"                              \
       : "+m" (_lval) :: "cc", "0","1" \
    )
+#elif defined(PLAT_mips32_linux) || defined(PLAT_mips64_linux)
+#  define INC(_lval,_lqual)                         \
+     __asm__ __volatile__ (                         \
+      "L1xyzzy1" _lqual":\n"                        \
+      "        move $t0, %0\n"                      \
+      "        ll   $t1, 0($t0)\n"                  \
+      "        addi $t1, $t1, 1\n"                  \
+      "        sc   $t1, 0($t0)\n"                  \
+      "        beqz $t1, L1xyzzy1" _lqual           \
+      : /*out*/ : /*in*/ "r"(&(_lval))              \
+      : /*trash*/ "t0", "t1", "memory"              \
+        )
 #else
 #  error "Fix Me for this platform"
 #endif
diff --git a/helgrind/tests/tc11_XCHG.c b/helgrind/tests/tc11_XCHG.c
index ac85d82..fadc774 100644
--- a/helgrind/tests/tc11_XCHG.c
+++ b/helgrind/tests/tc11_XCHG.c
@@ -17,6 +17,7 @@
 #undef PLAT_ppc64_linux
 #undef PLAT_arm_linux
 #undef PLAT_s390x_linux
+#undef PLAT_mips32_linux
 
 #if defined(__APPLE__) && defined(__i386__)
 #  define PLAT_x86_darwin 1
@@ -34,6 +35,8 @@
 #  define PLAT_arm_linux 1
 #elif defined(__linux__) && defined(__s390x__)
 #  define PLAT_s390x_linux 1
+#elif defined(__linux__) && defined(__mips__)
+#  define PLAT_mips32_linux 1
 #endif
 
 
@@ -71,6 +74,22 @@
 #  define XCHG_M_R_with_redundant_LOCK(_addr,_lval) \
       XCHG_M_R(_addr,_lval)
 
+#elif defined(PLAT_mips32_linux) || defined(PLAT_mips64_linux)
+#  define XCHG_M_R(_addr,_lval)                              \
+     __asm__ __volatile__(                                   \
+        "move $12, %2\n"                                     \
+        "move $13, %1\n"                                     \
+        "ll $14, 0($13)\n"                                   \
+        "sc $12, 0($13)\n"                                   \
+        "move %0, $14\n"                                     \
+        : /*out*/ "=r"(_lval)                                \
+        : /*in*/  "r"(&_addr), "r"(_lval)                    \
+        : "$12", "$13", "$14", "memory", "cc"                \
+     )
+
+#  define XCHG_M_R_with_redundant_LOCK(_addr,_lval) \
+      XCHG_M_R(_addr,_lval)
+
 #elif defined(PLAT_ppc32_linux) || defined(PLAT_ppc64_linux) \
       || defined(PLAT_arm_linux)
 #  if defined(HAVE_BUILTIN_ATOMIC)
diff --git a/helgrind/tests/tc14_laog_dinphils.stderr.exp b/helgrind/tests/tc14_laog_dinphils.stderr.exp
index fdec027..169a2c8 100644
--- a/helgrind/tests/tc14_laog_dinphils.stderr.exp
+++ b/helgrind/tests/tc14_laog_dinphils.stderr.exp
@@ -12,7 +12,10 @@
 Thread #x: lock order "0x........ before 0x........" violated
 
 Observed (incorrect) order is: acquisition of lock at 0x........
-   (stack unavailable)
+   at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+   by 0x........: dine (tc14_laog_dinphils.c:18)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
 
  followed by a later acquisition of lock at 0x........
    at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
diff --git a/helgrind/tests/tc18_semabuse.stderr.exp-linux-mips32 b/helgrind/tests/tc18_semabuse.stderr.exp-linux-mips32
new file mode 100644
index 0000000..fd44e07
--- /dev/null
+++ b/helgrind/tests/tc18_semabuse.stderr.exp-linux-mips32
@@ -0,0 +1,22 @@
+
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x's call to sem_init failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: sem_init_WRK (hg_intercepts.c:...)
+   by 0x........: sem_init@* (hg_intercepts.c:...)
+   by 0x........: main (tc18_semabuse.c:23)
+
+----------------------------------------------------------------
+
+Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+   at 0x........: sem_wait_WRK (hg_intercepts.c:...)
+   by 0x........: sem_wait (hg_intercepts.c:...)
+   by 0x........: main (tc18_semabuse.c:34)
+
+
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/tc19_shadowmem.stderr.exp-mips32 b/helgrind/tests/tc19_shadowmem.stderr.exp-mips32
new file mode 100644
index 0000000..5d1d896
--- /dev/null
+++ b/helgrind/tests/tc19_shadowmem.stderr.exp-mips32
@@ -0,0 +1,26891 @@
+
+
+===========================================================
+=== 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 ===
+===========================================================
+
+---------- char gran, 0 .. 99, skip 0 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:288)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:288)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 0 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 1 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 1 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 2 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 2 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 3 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 3 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 4 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:296)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:296)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 5 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 5 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 6 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 6 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 7 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 7 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 8 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:304)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:304)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 9 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 9 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 10 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 11 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 11 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 12 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:312)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:312)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 13 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 13 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 14 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 15 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 15 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 16 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:320)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:320)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 17 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 17 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 18 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 19 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 19 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 20 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:328)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:328)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 21 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 21 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 22 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 23 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 23 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 24 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:336)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:336)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 25 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 25 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 26 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 27 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 27 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 28 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:344)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:344)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 29 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 29 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 30 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 31 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 31 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 32 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:352)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:352)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 33 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 33 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 34 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 35 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 35 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 36 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:360)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:360)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 37 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 37 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 38 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 39 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 39 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 40 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:368)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:368)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 41 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 41 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 42 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 43 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 43 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 44 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:376)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:376)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 45 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 45 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 46 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 47 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 47 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 48 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:384)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:384)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 49 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 49 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 50 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 51 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 51 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 52 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:392)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:392)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 53 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 53 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 54 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 55 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 55 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 56 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:400)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:400)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 57 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 57 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 58 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 59 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 59 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 60 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:408)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:408)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 61 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 61 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 62 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 63 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 63 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 64 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:416)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:416)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 65 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 65 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 66 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 67 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 67 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 68 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:424)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:424)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 69 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 69 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 70 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 71 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 71 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 72 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:432)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:432)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 73 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 73 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 74 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 75 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 75 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 76 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:440)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:440)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 77 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 77 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 78 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 79 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 79 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 80 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:448)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:448)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 81 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 81 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 82 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 83 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 83 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 84 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:456)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:456)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 85 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 85 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 86 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 87 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 87 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 88 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:464)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:464)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 89 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 89 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 90 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 91 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 91 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 92 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:472)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:472)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 93 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 93 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 94 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:476)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:476)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 94 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 95 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 95 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 96 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:480)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:480)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 96 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 97 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:482)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:482)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 97 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- char gran, 0 .. 99, skip 98 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:173)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:172)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:484)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child8 (tc19_shadowmem.c:33)
+   by 0x........: steer (tc19_shadowmem.c:484)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 98 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+
+==========================================================
+=== 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 ===
+==========================================================
+
+---------- short gran, 0 .. 98, skip 0 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:288)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:288)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 0 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+
+More than 100 errors detected.  Subsequent errors
+will still be recorded, but in less detail than before.
+---------- short gran, 1 .. 98, skip 1 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 1 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 2 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 2 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 2 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 3 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 3 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 4 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:296)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:296)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 5 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 5 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 6 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 6 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 6 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 7 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 7 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 8 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:304)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:304)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 9 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 9 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 10 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 11 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 11 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 12 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:312)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:312)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 13 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 13 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 14 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 15 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 15 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 16 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:320)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:320)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 17 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 17 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 18 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 19 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 19 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 20 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:328)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:328)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 21 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 21 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 22 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 23 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 23 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 24 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:336)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:336)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 25 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 25 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 26 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 27 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 27 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 28 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:344)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:344)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 29 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 29 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 30 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 31 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 31 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 32 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:352)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:352)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 33 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 33 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 34 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 35 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 35 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 36 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:360)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:360)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 37 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 37 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 38 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 39 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 39 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 40 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:368)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:368)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 41 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 41 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 42 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 43 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 43 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 44 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:376)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:376)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 45 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 45 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 46 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 47 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 47 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 48 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:384)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:384)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 49 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 49 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 50 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 51 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 51 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 52 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:392)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:392)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 53 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 53 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 54 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 55 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 55 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 56 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:400)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:400)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 57 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 57 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 58 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 59 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 59 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 60 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:408)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:408)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 61 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 61 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 62 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 63 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 63 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 64 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:416)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:416)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 65 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 65 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 66 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 67 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 67 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 68 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:424)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:424)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 69 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 69 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 70 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 71 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 71 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 72 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:432)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:432)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 73 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 73 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 74 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 75 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 75 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 76 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:440)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:440)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 77 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 77 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 78 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 79 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 79 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 80 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:448)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:448)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 81 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 81 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 82 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 83 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 83 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 84 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:456)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:456)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 85 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 85 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 86 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 87 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 87 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 88 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:464)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:464)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 89 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 89 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 90 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 91 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 91 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 92 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:472)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:472)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 93 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 93 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 94 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 94 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:476)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:476)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 94 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 95 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 95 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 96 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 0 .. 98, skip 96 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:480)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:480)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 96 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- short gran, 1 .. 98, skip 97 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:204)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:203)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:482)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:482)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 97 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:482)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child16 (tc19_shadowmem.c:57)
+   by 0x........: steer (tc19_shadowmem.c:482)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 98 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+
+==========================================================
+=== 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 ===
+==========================================================
+
+---------- int gran, 0 .. 96, skip 0 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:288)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:288)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 0 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 1 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 1 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 2 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 3 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 2 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 2 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 3 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 3 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 5 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 6 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 4 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:296)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:296)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 5 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 5 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 6 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 7 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 6 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 6 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 7 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 7 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 9 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 8 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:304)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:304)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 9 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 9 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 11 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 10 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 11 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 11 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 13 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 12 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:312)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:312)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 13 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 13 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 15 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 14 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 15 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 15 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 17 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 16 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:320)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:320)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 17 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 17 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 19 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 18 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 19 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 19 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 21 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 20 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:328)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:328)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 21 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 21 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 23 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 22 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 23 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 23 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 25 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 24 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:336)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:336)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 25 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 25 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 27 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 26 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 27 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 27 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 29 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 28 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:344)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:344)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 29 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 29 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 31 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 30 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 31 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 31 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 33 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 32 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:352)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:352)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 33 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 33 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 35 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 34 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 35 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 35 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 37 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 36 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:360)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:360)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 37 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 37 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 39 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 38 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 39 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 39 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 41 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 40 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:368)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:368)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 41 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 41 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 43 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 42 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 43 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 43 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 45 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 44 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:376)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:376)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 45 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 45 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 47 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 46 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 47 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 47 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 49 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 48 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:384)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:384)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 49 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 49 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 51 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 50 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 51 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 51 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 53 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 52 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:392)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:392)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 53 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 53 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 55 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 54 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 55 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 55 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 57 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 56 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:400)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:400)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 57 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 57 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 59 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 58 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 59 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 59 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 61 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 60 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:408)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:408)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 61 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 61 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 63 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 62 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 63 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 63 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 65 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 64 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:416)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:416)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 65 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 65 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 67 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 66 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 67 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 67 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 69 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 68 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:424)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:424)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 69 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 69 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 71 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 70 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 71 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 71 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 73 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 72 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:432)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:432)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 73 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 73 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 75 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 74 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 75 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 75 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 77 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 76 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:440)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:440)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 77 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 77 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 79 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 78 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 79 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 79 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 81 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 80 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:448)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:448)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 81 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 81 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 83 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 82 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 83 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 83 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 85 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 84 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:456)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:456)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 85 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 85 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 87 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 86 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 87 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 87 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 89 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 88 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:464)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:464)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 89 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 89 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 91 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 90 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 91 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 91 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 93 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 94 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 0 .. 96, skip 92 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:472)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:472)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 1 .. 96, skip 93 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 93 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 94 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 95 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:474)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 96 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 2 .. 96, skip 94 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:476)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:476)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 94 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:476)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:476)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 96 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- int gran, 3 .. 96, skip 95 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:235)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:234)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 95 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 96 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 97 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child32 (tc19_shadowmem.c:81)
+   by 0x........: steer (tc19_shadowmem.c:478)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 98 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+
+==========================================================
+=== 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 64 ===
+==========================================================
+
+---------- double gran, 0 .. 92, skip 0 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:288)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:288)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 0 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:288)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:288)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 1 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 1 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 2 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 3 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 5 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 6 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 7 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:290)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 2 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 2 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 6 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:292)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 3 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 3 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 5 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 6 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 7 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 9 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:294)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 4 .. 92, skip 4 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:296)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:296)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 4 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:296)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:296)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 5 .. 92, skip 5 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 5 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 6 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 7 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 9 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 11 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:298)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 6 .. 92, skip 6 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 6 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:300)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 7 .. 92, skip 7 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 7 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 9 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 11 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 13 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:302)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 0 .. 92, skip 8 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:304)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:304)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 8 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:304)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:304)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 9 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 9 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 11 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 13 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 15 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:306)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 10 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 10 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:308)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 11 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 11 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 13 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 15 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 17 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:310)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 4 .. 92, skip 12 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:312)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:312)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 12 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:312)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:312)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 5 .. 92, skip 13 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 13 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 15 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 17 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 19 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:314)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 6 .. 92, skip 14 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 14 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:316)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 7 .. 92, skip 15 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 15 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 17 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 19 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 21 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:318)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 0 .. 92, skip 16 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:320)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:320)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 16 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:320)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:320)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 17 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 17 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 19 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 21 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 23 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:322)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 18 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 18 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:324)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 19 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 19 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 21 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 23 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 25 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:326)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 4 .. 92, skip 20 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:328)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:328)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 20 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:328)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:328)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 5 .. 92, skip 21 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 21 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 23 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 25 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 27 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:330)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 6 .. 92, skip 22 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 22 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:332)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 7 .. 92, skip 23 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 23 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 25 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 27 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 29 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:334)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 0 .. 92, skip 24 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:336)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:336)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 24 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:336)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:336)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 25 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 25 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 27 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 29 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 31 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:338)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 26 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 26 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:340)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 27 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 27 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 29 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 31 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 33 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:342)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 4 .. 92, skip 28 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:344)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:344)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 28 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:344)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:344)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 5 .. 92, skip 29 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 29 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 31 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 33 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 35 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:346)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 6 .. 92, skip 30 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 30 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:348)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 7 .. 92, skip 31 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 31 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 33 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 35 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 37 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:350)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 0 .. 92, skip 32 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:352)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:352)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 32 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:352)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:352)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 33 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 33 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 35 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 37 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 39 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:354)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 34 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 34 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:356)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 35 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 35 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 37 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 39 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 41 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:358)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 4 .. 92, skip 36 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:360)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:360)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 36 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:360)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:360)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 5 .. 92, skip 37 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 37 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 39 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 41 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 43 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:362)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 6 .. 92, skip 38 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 38 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:364)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 7 .. 92, skip 39 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 39 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 41 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 43 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 45 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:366)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 0 .. 92, skip 40 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:368)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:368)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 40 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:368)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:368)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 41 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 41 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 43 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 45 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 47 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:370)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 42 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 42 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:372)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 43 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 43 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 45 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 47 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 49 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:374)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 4 .. 92, skip 44 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:376)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:376)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 44 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:376)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:376)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 5 .. 92, skip 45 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 45 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 47 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 49 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 51 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:378)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 6 .. 92, skip 46 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 46 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:380)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 7 .. 92, skip 47 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 47 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 49 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 51 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 53 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:382)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 0 .. 92, skip 48 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:384)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:384)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 48 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:384)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:384)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 49 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 49 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 51 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 53 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 55 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:386)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 50 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 50 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:388)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 51 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 51 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 53 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 55 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 57 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:390)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 4 .. 92, skip 52 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:392)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:392)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 52 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:392)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:392)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 5 .. 92, skip 53 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 53 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 55 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 57 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 59 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:394)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 6 .. 92, skip 54 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 54 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:396)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 7 .. 92, skip 55 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 55 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 57 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 59 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 61 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:398)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 0 .. 92, skip 56 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:400)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:400)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 56 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:400)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:400)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 57 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 57 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 59 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 61 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 63 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:402)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 58 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 58 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:404)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 59 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 59 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 61 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 63 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 65 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:406)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 4 .. 92, skip 60 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:408)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:408)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 60 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:408)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:408)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 5 .. 92, skip 61 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 61 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 63 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 65 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 67 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:410)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 6 .. 92, skip 62 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 62 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:412)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 7 .. 92, skip 63 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 63 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 65 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 67 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 69 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:414)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 0 .. 92, skip 64 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:416)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:416)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 64 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:416)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:416)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 65 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 65 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 67 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 69 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 71 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:418)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 66 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 66 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:420)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 67 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 67 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 69 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 71 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 73 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:422)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 4 .. 92, skip 68 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:424)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:424)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 68 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:424)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:424)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 5 .. 92, skip 69 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 69 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 71 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 73 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 75 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:426)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 6 .. 92, skip 70 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 70 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:428)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 7 .. 92, skip 71 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 71 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 73 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 75 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 77 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:430)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 0 .. 92, skip 72 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:432)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:432)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 72 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:432)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:432)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 73 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 73 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 75 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 77 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 79 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:434)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 74 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 74 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:436)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 75 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 75 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 77 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 79 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 81 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:438)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 4 .. 92, skip 76 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:440)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:440)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 76 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:440)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:440)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 5 .. 92, skip 77 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 77 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 79 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 81 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 83 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:442)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 6 .. 92, skip 78 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 78 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:444)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 7 .. 92, skip 79 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 79 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 81 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 83 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 85 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:446)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 0 .. 92, skip 80 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:448)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:448)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 80 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:448)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:448)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 81 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 81 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 83 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 85 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 87 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:450)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 82 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 82 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:452)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 83 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 83 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 85 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 87 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 89 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:454)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 4 .. 92, skip 84 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:456)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:456)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 84 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:456)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:456)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 5 .. 92, skip 85 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 85 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 87 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 89 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 91 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:458)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 6 .. 92, skip 86 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 86 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:460)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 7 .. 92, skip 87 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 87 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 89 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 91 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 93 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:462)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 94 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 0 .. 92, skip 88 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:464)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:464)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 88 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 4 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:464)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 4 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:464)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 1 .. 92, skip 89 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 89 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 91 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 93 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 94 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 95 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:466)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 96 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 2 .. 92, skip 90 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 90 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 94 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:468)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 96 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+---------- double gran, 3 .. 92, skip 91 ----------
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:266)
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc19_shadowmem.c:265)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 91 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 92 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 93 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 94 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 95 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 96 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 97 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 1 at 0x........ by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+This conflicts with a previous write of size 1 by thread #x
+Locks held: none
+   at 0x........: child64 (tc19_shadowmem.c:105)
+   by 0x........: steer (tc19_shadowmem.c:470)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Address 0x........ is 98 bytes inside a block of size 100 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (tc19_shadowmem.c:144)
+
+
+ERROR SUMMARY: 1016 errors from 1016 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp-mips32 b/helgrind/tests/tc20_verifywrap.stderr.exp-mips32
new file mode 100644
index 0000000..8628498
--- /dev/null
+++ b/helgrind/tests/tc20_verifywrap.stderr.exp-mips32
@@ -0,0 +1,230 @@
+
+
+
+------ This is output for >= glibc 2.4 ------
+
+---------------- pthread_create/join ----------------
+
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:76)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: main (tc20_verifywrap.c:78)
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: racy_child (tc20_verifywrap.c:34)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Location 0x........ is 0 bytes inside global var "unprotected"
+declared at tc20_verifywrap.c:27
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_join failed
+   with error code 45 (EDEADLK: Resource deadlock would occur)
+   at 0x........: pthread_join_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_join (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:83)
+
+
+---------------- pthread_mutex_lock et al ----------------
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_init failed
+   with error code 122 (EOPNOTSUPP: Operation not supported on transport endpoint)
+   at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:92)
+
+----------------------------------------------------------------
+
+Thread #x: pthread_mutex_destroy of a locked mutex
+   at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:102)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_destroy failed
+   with error code 16 (EBUSY: Device or resource busy)
+   at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:102)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:108)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_trylock failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:116)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_timedlock failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:121)
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+   at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:125)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:125)
+
+
+---------------- pthread_cond_wait et al ----------------
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{timed}wait called with un-held mutex
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:147)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_cond_wait failed
+   with error code 1 (EPERM: Operation not permitted)
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:147)
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
+   at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:152)
+
+
+FIXME: can't figure out how to verify wrap of pthread_cond_signal
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
+   at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:158)
+
+
+FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{timed}wait called with un-held mutex
+   at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:165)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_cond_timedwait failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:165)
+
+
+---------------- pthread_rwlock_* ----------------
+
+----------------------------------------------------------------
+
+Thread #x unlocked a not-locked lock at 0x........
+   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:179)
+  Lock at 0x........ was first observed
+   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:178)
+
+(1) no error on next line
+(2) no error on next line
+(3)    ERROR on next line
+----------------------------------------------------------------
+
+Thread #x unlocked a not-locked lock at 0x........
+   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:196)
+  Lock at 0x........ was first observed
+   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:186)
+
+(4) no error on next line
+(5) no error on next line
+(6) no error on next line
+(7) no error on next line
+(8)    ERROR on next line
+----------------------------------------------------------------
+
+Thread #x unlocked a not-locked lock at 0x........
+   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:212)
+  Lock at 0x........ was first observed
+   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:186)
+
+
+---------------- sem_* ----------------
+
+----------------------------------------------------------------
+
+Thread #x's call to sem_init failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: sem_init_WRK (hg_intercepts.c:...)
+   by 0x........: sem_init@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:228)
+
+
+FIXME: can't figure out how to verify wrap of sem_destroy
+
+----------------------------------------------------------------
+
+Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+   at 0x........: sem_wait_WRK (hg_intercepts.c:...)
+   by 0x........: sem_wait (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:242)
+
+
+FIXME: can't figure out how to verify wrap of sem_post
+
+
+------------ dealloc of mem holding locks ------------
+
+----------------------------------------------------------------
+
+Thread #x: Exiting thread still holds 1 lock
+   ...
+
+
+ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/tc20_verifywrap.stderr.exp-s390x b/helgrind/tests/tc20_verifywrap.stderr.exp-s390x
new file mode 100644
index 0000000..a717d99
--- /dev/null
+++ b/helgrind/tests/tc20_verifywrap.stderr.exp-s390x
@@ -0,0 +1,230 @@
+
+
+
+------ This is output for >= glibc 2.4 ------
+
+---------------- pthread_create/join ----------------
+
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
+---Thread-Announcement------------------------------------------
+
+Thread #x was created
+   ...
+   by 0x........: pthread_create_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_create@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:76)
+
+----------------------------------------------------------------
+
+Possible data race during write of size 2 at 0x........ by thread #x
+Locks held: none
+   at 0x........: main (tc20_verifywrap.c:78)
+
+This conflicts with a previous write of size 2 by thread #x
+Locks held: none
+   at 0x........: racy_child (tc20_verifywrap.c:34)
+   by 0x........: mythread_wrapper (hg_intercepts.c:...)
+   ...
+
+Location 0x........ is 0 bytes inside global var "unprotected"
+declared at tc20_verifywrap.c:27
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_join failed
+   with error code 35 (EDEADLK: Resource deadlock would occur)
+   at 0x........: pthread_join_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_join (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:83)
+
+
+---------------- pthread_mutex_lock et al ----------------
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_init failed
+   with error code 95 (EOPNOTSUPP: Operation not supported on transport endpoint)
+   at 0x........: pthread_mutex_init (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:92)
+
+----------------------------------------------------------------
+
+Thread #x: pthread_mutex_destroy of a locked mutex
+   at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:102)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_destroy failed
+   with error code 16 (EBUSY: Device or resource busy)
+   at 0x........: pthread_mutex_destroy (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:102)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_lock failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:108)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_trylock failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: pthread_mutex_trylock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:116)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_timedlock failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: pthread_mutex_timedlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:121)
+
+----------------------------------------------------------------
+
+Thread #x unlocked an invalid lock at 0x........
+   at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:125)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_mutex_unlock failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: pthread_mutex_unlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:125)
+
+
+---------------- pthread_cond_wait et al ----------------
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{timed}wait called with un-held mutex
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:147)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_cond_wait failed
+   with error code 1 (EPERM: Operation not permitted)
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:147)
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
+   at 0x........: pthread_cond_signal_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_signal@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:152)
+
+
+FIXME: can't figure out how to verify wrap of pthread_cond_signal
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{signal,broadcast}: dubious: associated lock is not held by any thread
+   at 0x........: pthread_cond_broadcast_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_broadcast@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:158)
+
+
+FIXME: can't figure out how to verify wrap of pthread_broadcast_signal
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{timed}wait called with un-held mutex
+   at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:165)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_cond_timedwait failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: pthread_cond_timedwait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_timedwait@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:165)
+
+
+---------------- pthread_rwlock_* ----------------
+
+----------------------------------------------------------------
+
+Thread #x unlocked a not-locked lock at 0x........
+   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:179)
+  Lock at 0x........ was first observed
+   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:178)
+
+(1) no error on next line
+(2) no error on next line
+(3)    ERROR on next line
+----------------------------------------------------------------
+
+Thread #x unlocked a not-locked lock at 0x........
+   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:196)
+  Lock at 0x........ was first observed
+   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:186)
+
+(4) no error on next line
+(5) no error on next line
+(6) no error on next line
+(7) no error on next line
+(8)    ERROR on next line
+----------------------------------------------------------------
+
+Thread #x unlocked a not-locked lock at 0x........
+   at 0x........: pthread_rwlock_unlock_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_unlock (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:212)
+  Lock at 0x........ was first observed
+   at 0x........: pthread_rwlock_init_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_rwlock_init (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:186)
+
+
+---------------- sem_* ----------------
+
+----------------------------------------------------------------
+
+Thread #x's call to sem_init failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: sem_init_WRK (hg_intercepts.c:...)
+   by 0x........: sem_init@* (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:228)
+
+
+FIXME: can't figure out how to verify wrap of sem_destroy
+
+----------------------------------------------------------------
+
+Thread #x: Bug in libpthread: sem_wait succeeded on semaphore without prior sem_post
+   at 0x........: sem_wait_WRK (hg_intercepts.c:...)
+   by 0x........: sem_wait (hg_intercepts.c:...)
+   by 0x........: main (tc20_verifywrap.c:242)
+
+
+FIXME: can't figure out how to verify wrap of sem_post
+
+
+------------ dealloc of mem holding locks ------------
+
+----------------------------------------------------------------
+
+Thread #x: Exiting thread still holds 1 lock
+   ...
+
+
+ERROR SUMMARY: 22 errors from 22 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/tc21_pthonce.stderr.exp b/helgrind/tests/tc21_pthonce.stderr.exp
index 3e7d241..700b492 100644
--- a/helgrind/tests/tc21_pthonce.stderr.exp
+++ b/helgrind/tests/tc21_pthonce.stderr.exp
@@ -29,8 +29,8 @@
    by 0x........: mythread_wrapper (hg_intercepts.c:...)
    ...
 
-Location 0x........ is 0 bytes inside local var "unprotected2"
-declared at tc21_pthonce.c:51, in frame #x of thread x
+Location 0x........ is 0 bytes inside global var "unprotected2"
+declared at tc21_pthonce.c:51
 
 ----------------------------------------------------------------
 
@@ -46,8 +46,8 @@
    by 0x........: mythread_wrapper (hg_intercepts.c:...)
    ...
 
-Location 0x........ is 0 bytes inside local var "unprotected2"
-declared at tc21_pthonce.c:51, in frame #x of thread x
+Location 0x........ is 0 bytes inside global var "unprotected2"
+declared at tc21_pthonce.c:51
 
 
 ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/helgrind/tests/tc23_bogus_condwait.stderr.exp-mips32 b/helgrind/tests/tc23_bogus_condwait.stderr.exp-mips32
new file mode 100644
index 0000000..6ed9ef8
--- /dev/null
+++ b/helgrind/tests/tc23_bogus_condwait.stderr.exp-mips32
@@ -0,0 +1,64 @@
+
+---Thread-Announcement------------------------------------------
+
+Thread #x is the program's root thread
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{timed}wait called with invalid mutex
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc23_bogus_condwait.c:69)
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{timed}wait called with un-held mutex
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc23_bogus_condwait.c:72)
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc23_bogus_condwait.c:72)
+
+----------------------------------------------------------------
+
+Thread #x's call to pthread_cond_wait failed
+   with error code 22 (EINVAL: Invalid argument)
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc23_bogus_condwait.c:72)
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{timed}wait called with mutex of type pthread_rwlock_t*
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc23_bogus_condwait.c:75)
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc23_bogus_condwait.c:75)
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{timed}wait called with mutex held by a different thread
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc23_bogus_condwait.c:78)
+
+----------------------------------------------------------------
+
+Thread #x: pthread_cond_{timed}wait: cond is associated with a different mutex
+   at 0x........: pthread_cond_wait_WRK (hg_intercepts.c:...)
+   by 0x........: pthread_cond_wait@* (hg_intercepts.c:...)
+   by 0x........: main (tc23_bogus_condwait.c:78)
+
+
+ERROR SUMMARY: 8 errors from 8 contexts (suppressed: 0 from 0)
diff --git a/include/Makefile.am b/include/Makefile.am
index 8516492..358ee10 100644
--- a/include/Makefile.am
+++ b/include/Makefile.am
@@ -8,7 +8,6 @@
 	pub_tool_aspacemgr.h 		\
 	pub_tool_clientstate.h		\
 	pub_tool_clreq.h		\
-	pub_tool_cpuid.h 		\
 	pub_tool_debuginfo.h 		\
 	pub_tool_errormgr.h 		\
 	pub_tool_execontext.h 		\
@@ -49,16 +48,23 @@
 	vki/vki-posixtypes-x86-linux.h	 \
 	vki/vki-posixtypes-arm-linux.h	 \
 	vki/vki-posixtypes-s390x-linux.h \
+	vki/vki-posixtypes-mips32-linux.h \
+	vki/vki-posixtypes-mips64-linux.h \
 	vki/vki-amd64-linux.h		\
 	vki/vki-ppc32-linux.h		\
 	vki/vki-ppc64-linux.h		\
 	vki/vki-x86-linux.h		\
 	vki/vki-arm-linux.h		\
 	vki/vki-s390x-linux.h		\
+	vki/vki-mips32-linux.h		\
+	vki/vki-mips64-linux.h		\
 	vki/vki-scnums-amd64-linux.h	\
 	vki/vki-scnums-ppc32-linux.h	\
 	vki/vki-scnums-ppc64-linux.h	\
 	vki/vki-scnums-x86-linux.h	\
 	vki/vki-scnums-arm-linux.h	\
 	vki/vki-scnums-s390x-linux.h	\
-	vki/vki-scnums-darwin.h
+	vki/vki-scnums-mips32-linux.h	\
+	vki/vki-scnums-mips64-linux.h	\
+       vki/vki-scnums-darwin.h         \
+       vki/vki-xen.h
diff --git a/include/pub_tool_aspacehl.h b/include/pub_tool_aspacehl.h
index 6114631..82cebad 100644
--- a/include/pub_tool_aspacehl.h
+++ b/include/pub_tool_aspacehl.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2009-2011 Julian Seward
+   Copyright (C) 2009-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/pub_tool_aspacemgr.h b/include/pub_tool_aspacemgr.h
index a2862c7..3f02cfc 100644
--- a/include/pub_tool_aspacemgr.h
+++ b/include/pub_tool_aspacemgr.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/pub_tool_basics.h b/include/pub_tool_basics.h
index ae7bae6..22e2461 100644
--- a/include/pub_tool_basics.h
+++ b/include/pub_tool_basics.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -163,6 +163,7 @@
 typedef
    struct {
       UWord _val;
+      UWord _valEx;   // only used on mips-linux
       Bool  _isError;
    }
    SysRes;
@@ -197,6 +198,9 @@
 static inline UWord sr_Res ( SysRes sr ) {
    return sr._isError ? 0 : sr._val;
 }
+static inline UWord sr_ResEx ( SysRes sr ) {
+   return sr._isError ? 0 : sr._valEx;
+}
 static inline UWord sr_ResHI ( SysRes sr ) {
    return 0;
 }
@@ -264,9 +268,11 @@
 #undef VG_BIGENDIAN
 #undef VG_LITTLEENDIAN
 
-#if defined(VGA_x86) || defined(VGA_amd64) || defined (VGA_arm)
+#if defined(VGA_x86) || defined(VGA_amd64) || defined (VGA_arm) \
+    || ((defined(VGA_mips32) || defined(VGA_mips64)) && defined (_MIPSEL))
 #  define VG_LITTLEENDIAN 1
-#elif defined(VGA_ppc32) || defined(VGA_ppc64) || defined(VGA_s390x)
+#elif defined(VGA_ppc32) || defined(VGA_ppc64) || defined(VGA_s390x) \
+      || ((defined(VGA_mips32) || defined(VGA_mips64)) && defined (_MIPSEB))
 #  define VG_BIGENDIAN 1
 #else
 #  error Unknown arch
@@ -276,7 +282,8 @@
 #if defined(VGA_x86)
 #  define VG_REGPARM(n)            __attribute__((regparm(n)))
 #elif defined(VGA_amd64) || defined(VGA_ppc32) \
-      || defined(VGA_ppc64) || defined(VGA_arm) || defined(VGA_s390x)
+      || defined(VGA_ppc64) || defined(VGA_arm) || defined(VGA_s390x) \
+      || defined(VGA_mips32) || defined(VGA_mips64)
 #  define VG_REGPARM(n)            /* */
 #else
 #  error Unknown arch
diff --git a/include/pub_tool_basics_asm.h b/include/pub_tool_basics_asm.h
index a22be33..d96f41b 100644
--- a/include/pub_tool_basics_asm.h
+++ b/include/pub_tool_basics_asm.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/pub_tool_clientstate.h b/include/pub_tool_clientstate.h
index 76bf115..d2d8a06 100644
--- a/include/pub_tool_clientstate.h
+++ b/include/pub_tool_clientstate.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/pub_tool_clreq.h b/include/pub_tool_clreq.h
index 7643fb2..cd8f4c9 100644
--- a/include/pub_tool_clreq.h
+++ b/include/pub_tool_clreq.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/pub_tool_cpuid.h b/include/pub_tool_cpuid.h
deleted file mode 100644
index 1307546..0000000
--- a/include/pub_tool_cpuid.h
+++ /dev/null
@@ -1,46 +0,0 @@
-
-/*--------------------------------------------------------------------*/
-/*--- Interface to CPUID.                         pub_tool_cpuid.h ---*/
-/*--------------------------------------------------------------------*/
-
-/*
-   This file is part of Valgrind, a dynamic binary instrumentation
-   framework.
-
-   Copyright (C) 2000-2011 Julian Seward
-      jseward@acm.org
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307, USA.
-
-   The GNU General Public License is contained in the file COPYING.
-*/
-
-#ifndef __PUB_TOOL_CPUID_H
-#define __PUB_TOOL_CPUID_H
-
-#if defined(VGA_x86) || defined(VGA_amd64)
-extern Bool VG_(has_cpuid) ( void );
-
-extern void VG_(cpuid) ( UInt eax, UInt ecx,
-                         UInt* eax_ret, UInt* ebx_ret,
-                         UInt* ecx_ret, UInt* edx_ret );
-#endif
-
-#endif   // __PUB_TOOL_CPUID_H
-
-/*--------------------------------------------------------------------*/
-/*--- end                                                          ---*/
-/*--------------------------------------------------------------------*/
diff --git a/include/pub_tool_debuginfo.h b/include/pub_tool_debuginfo.h
index c0c96bf..d4cb6d8 100644
--- a/include/pub_tool_debuginfo.h
+++ b/include/pub_tool_debuginfo.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -41,11 +41,11 @@
    returns False and nothing is copied.  VG_(get_fnname) always
    demangles C++ function names.  VG_(get_fnname_w_offset) is the
    same, except it appends "+N" to symbol names to indicate offsets.  */
-extern Bool VG_(get_filename) ( Addr a, Char* filename, Int n_filename );
-extern Bool VG_(get_fnname)   ( Addr a, Char* fnname,   Int n_fnname   );
+extern Bool VG_(get_filename) ( Addr a, HChar* filename, Int n_filename );
+extern Bool VG_(get_fnname)   ( Addr a, HChar* fnname,   Int n_fnname   );
 extern Bool VG_(get_linenum)  ( Addr a, UInt* linenum );
 extern Bool VG_(get_fnname_w_offset)
-                              ( Addr a, Char* fnname,   Int n_fnname   );
+                              ( Addr a, HChar* fnname,   Int n_fnname   );
 
 /* This one is the most general.  It gives filename, line number and
    optionally directory name.  filename and linenum may not be NULL.
@@ -60,8 +60,8 @@
    found. */
 extern Bool VG_(get_filename_linenum)
                               ( Addr a, 
-                                /*OUT*/Char* filename, Int n_filename,
-                                /*OUT*/Char* dirname,  Int n_dirname,
+                                /*OUT*/HChar* filename, Int n_filename,
+                                /*OUT*/HChar* dirname,  Int n_dirname,
                                 /*OUT*/Bool* dirname_available,
                                 /*OUT*/UInt* linenum );
 
@@ -72,7 +72,7 @@
    a particular function.  Nb: if an executable/shared object is stripped
    of its symbols, this function will not be able to recognise function
    entry points within it. */
-extern Bool VG_(get_fnname_if_entry) ( Addr a, Char* fnname, Int n_fnname );
+extern Bool VG_(get_fnname_if_entry) ( Addr a, HChar* fnname, Int n_fnname );
 
 typedef
    enum {
@@ -82,7 +82,7 @@
    } Vg_FnNameKind;           //   Such names are often filtered.
 
 /* Indicates what kind of fnname it is. */
-extern Vg_FnNameKind VG_(get_fnname_kind) ( Char* name );
+extern Vg_FnNameKind VG_(get_fnname_kind) ( HChar* name );
 
 /* Like VG_(get_fnname_kind), but takes a code address. */
 extern Vg_FnNameKind VG_(get_fnname_kind_from_IP) ( Addr ip );
@@ -92,11 +92,11 @@
    which is guaranteed to be zero terminated.  Also data_addr's offset
    from the symbol start is put into *offset. */
 extern Bool VG_(get_datasym_and_offset)( Addr data_addr,
-                                         /*OUT*/Char* dname, Int n_dname,
+                                         /*OUT*/HChar* dname, Int n_dname,
                                          /*OUT*/PtrdiffT* offset );
 
 /* Try to form some description of DATA_ADDR by looking at the DWARF3
-   debug info we have.  This considers all global variables, and all
+   debug info we have.  This considers all global variables, and 8
    frames in the stacks of all threads.  Result is written at the ends
    of DNAME{1,2}V, which are XArray*s of HChar, that have been
    initialised by the caller, and True is returned.  If no description
@@ -116,7 +116,7 @@
 
 /* Succeeds if the address is within a shared object or the main executable.
    It doesn't matter if debug info is present or not. */
-extern Bool VG_(get_objname)  ( Addr a, Char* objname, Int n_objname );
+extern Bool VG_(get_objname)  ( Addr a, HChar* objname, Int n_objname );
 
 /* Puts into 'buf' info about the code address %eip:  the address, function
    name (if known) and filename/line number (if known), like this:
@@ -125,7 +125,7 @@
 
    'n_buf' gives length of 'buf'.  Returns 'buf'.
 */
-extern Char* VG_(describe_IP)(Addr eip, Char* buf, Int n_buf);
+extern HChar* VG_(describe_IP)(Addr eip, HChar* buf, Int n_buf);
 
 
 /* Get an XArray of StackBlock which describe the stack (auto) blocks
@@ -188,8 +188,10 @@
 SizeT         VG_(DebugInfo_get_plt_size)    ( const DebugInfo *di );
 Addr          VG_(DebugInfo_get_gotplt_avma) ( const DebugInfo *di );
 SizeT         VG_(DebugInfo_get_gotplt_size) ( const DebugInfo *di );
-const UChar*  VG_(DebugInfo_get_soname)      ( const DebugInfo *di );
-const UChar*  VG_(DebugInfo_get_filename)    ( const DebugInfo *di );
+Addr          VG_(DebugInfo_get_got_avma)    ( const DebugInfo *di );
+SizeT         VG_(DebugInfo_get_got_size)    ( const DebugInfo *di );
+const HChar*  VG_(DebugInfo_get_soname)      ( const DebugInfo *di );
+const HChar*  VG_(DebugInfo_get_filename)    ( const DebugInfo *di );
 PtrdiffT      VG_(DebugInfo_get_text_bias)   ( const DebugInfo *di );
 
 /* Function for traversing the DebugInfo list.  When called with NULL
@@ -214,8 +216,8 @@
                                    /*OUT*/Addr*    avma,
                                    /*OUT*/Addr*    tocptr,
                                    /*OUT*/UInt*    size,
-                                   /*OUT*/UChar**  pri_name,
-                                   /*OUT*/UChar*** sec_names,
+                                   /*OUT*/HChar**  pri_name,
+                                   /*OUT*/HChar*** sec_names,
                                    /*OUT*/Bool*    isText,
                                    /*OUT*/Bool*    isIFunc );
 
@@ -242,7 +244,7 @@
    it comes from.  If name is non-NULL, then the last n_name-1
    characters of the object's name is put in name[0 .. n_name-2], and
    name[n_name-1] is set to zero (guaranteed zero terminated). */
-VgSectKind VG_(DebugInfo_sect_kind)( /*OUT*/UChar* name, SizeT n_name, 
+VgSectKind VG_(DebugInfo_sect_kind)( /*OUT*/HChar* name, SizeT n_name, 
                                      Addr a);
 
 
diff --git a/include/pub_tool_errormgr.h b/include/pub_tool_errormgr.h
index 3d80ebf..fcb5e09 100644
--- a/include/pub_tool_errormgr.h
+++ b/include/pub_tool_errormgr.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -56,11 +56,11 @@
 
 /* Useful in VG_(tdict).tool_error_matches_suppression(),
  * VG_(tdict).tool_pp_Error(), etc */
-ExeContext* VG_(get_error_where)   ( Error* err );
-ErrorKind   VG_(get_error_kind)    ( Error* err );
-Addr        VG_(get_error_address) ( Error* err );
-Char*       VG_(get_error_string)  ( Error* err );
-void*       VG_(get_error_extra)   ( Error* err );
+ExeContext*  VG_(get_error_where)   ( Error* err );
+ErrorKind    VG_(get_error_kind)    ( Error* err );
+Addr         VG_(get_error_address) ( Error* err );
+const HChar* VG_(get_error_string)  ( Error* err );
+void*        VG_(get_error_extra)   ( Error* err );
 
 /* Call this when an error occurs.  It will be recorded if it hasn't been
    seen before.  If it has, the existing error record will have its count
@@ -73,7 +73,7 @@
    If no 'a', 's' or 'extra' of interest needs to be recorded, just use
    NULL for them.  */
 extern void VG_(maybe_record_error) ( ThreadId tid, ErrorKind ekind,
-                                      Addr a, Char* s, void* extra );
+                                      Addr a, const HChar* s, void* extra );
 
 /* Similar to VG_(maybe_record_error)(), except this one doesn't record the
    error -- useful for errors that can only happen once.  The errors can be
@@ -83,18 +83,21 @@
    be suppressed without possibly printing it.  'count_error' dictates
    whether to add the error in the error total count (another mild hack). */
 extern Bool VG_(unique_error) ( ThreadId tid, ErrorKind ekind,
-                                Addr a, Char* s, void* extra,
+                                Addr a, const HChar* s, void* extra,
                                 ExeContext* where, Bool print_error,
                                 Bool allow_GDB_attach, Bool count_error );
 
-/* Gets a non-blank, non-comment line from fd.  bufpp is a pointer to a
-   pointer to a buffer that must be allocated with VG_(malloc);  nBufp is a
-   pointer to size_t holding its size;  if the buffer is too small for the
-   line, it will be realloc'd until big enough (updating *bufpp and *nBufp in
-   the process).  (It will bomb out if the size gets ridiculous).  Skips
-   leading spaces on the line.  Increments lineno with the number of lines
-   read if lineno is non-NULL. Returns True if EOF was hit.  */
-extern Bool VG_(get_line) ( Int fd, Char** bufpp, SizeT* nBufp, Int* lineno );
+/* Gets from fd (an opened suppression file) a non-blank, non-comment
+   line containing suppression extra information (e.g. the syscall
+   line for the Param memcheck suppression kind.  bufpp is a pointer
+   to a pointer to a buffer that must be allocated with VG_(malloc);
+   nBufp is a pointer to size_t holding its size; if the buffer is too
+   small for the line, it will be realloc'd until big enough (updating
+   *bufpp and *nBufp in the process).  (It will bomb out if the size
+   gets ridiculous).  Skips leading spaces on the line.  Increments
+   lineno with the number of lines read if lineno is non-NULL. Returns
+   True if no extra information line could be read. */
+extern Bool VG_(get_line) ( Int fd, HChar** bufpp, SizeT* nBufp, Int* lineno );
 
 
 /* ------------------------------------------------------------------ */
@@ -119,13 +122,13 @@
 
 /* Useful in VG_(tdict).tool_error_matches_suppression() */
 SuppKind VG_(get_supp_kind)   ( Supp* su );
-Char*    VG_(get_supp_string) ( Supp* su );
+HChar*   VG_(get_supp_string) ( Supp* su );
 void*    VG_(get_supp_extra)  ( Supp* su );
 
 /* Must be used in VG_(recognised_suppression)() */
 void VG_(set_supp_kind)   ( Supp* su, SuppKind suppkind );
 /* May be used in VG_(read_extra_suppression_info)() */
-void VG_(set_supp_string) ( Supp* su, Char* string );
+void VG_(set_supp_string) ( Supp* su, HChar* string );
 void VG_(set_supp_extra)  ( Supp* su, void* extra );
 
 
diff --git a/include/pub_tool_execontext.h b/include/pub_tool_execontext.h
index 13df963..66d90a4 100644
--- a/include/pub_tool_execontext.h
+++ b/include/pub_tool_execontext.h
@@ -6,7 +6,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -67,7 +67,7 @@
 // might cause a segfault.  In this case we can at least safely
 // produce a one-element stack trace, which is better than nothing.
 extern
-ExeContext* VG_(record_depth_1_ExeContext)( ThreadId tid );
+ExeContext* VG_(record_depth_1_ExeContext)(ThreadId tid, Word first_ip_delta);
 
 // Apply a function to every element in the ExeContext.  The parameter 'n'
 // gives the index of the passed ip.  Doesn't go below main() unless
@@ -110,6 +110,11 @@
 // Make an ExeContext containing exactly the specified stack frames.
 ExeContext* VG_(make_ExeContext_from_StackTrace)( Addr* ips, UInt n_ips );
 
+// Returns the "null" exe context. The null execontext is an artificial
+// exe context, with a stack trace made of one Addr (the NULL address).
+extern 
+ExeContext* VG_(null_ExeContext) (void);
+
 #endif   // __PUB_TOOL_EXECONTEXT_H
 
 /*--------------------------------------------------------------------*/
diff --git a/include/pub_tool_gdbserver.h b/include/pub_tool_gdbserver.h
index 87ba3e2..03be811 100644
--- a/include/pub_tool_gdbserver.h
+++ b/include/pub_tool_gdbserver.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2011-2011 Philippe Waroquiers
+   Copyright (C) 2011-2012 Philippe Waroquiers
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
@@ -51,8 +51,8 @@
 // Calling VG_(gdbserver) with tid > 0 means to let a debugger attach
 // to the valgrind process. gdbserver will report to gdb that the
 // process stopped in thread tid.
-// tid == 0 indicates to stop gdbserver and report to gdb
-// that the valgrind-ified process has exited.
+// Calling VG_(gdbserver) with tid == 0 indicates to close
+// the connection with GDB (if still open) and stop gdbserver.
 //--------------------------------------------------------------------
 extern void VG_(gdbserver) ( ThreadId tid );
 
@@ -94,7 +94,7 @@
       write_watchpoint,
       read_watchpoint,
       access_watchpoint } PointKind;
-extern char* VG_(ppPointKind) (PointKind kind);
+extern const HChar* VG_(ppPointKind) (PointKind kind);
 
 
 /* watchpoint support --------------------------------------*/
@@ -160,7 +160,7 @@
       kwd_report_none,
       kwd_report_all,
       kwd_report_duplicated_matches } kwd_report_error;
-extern Int VG_(keyword_id) (Char* keywords, Char* input_word, 
+extern Int VG_(keyword_id) (const HChar* keywords, const HChar* input_word, 
                             kwd_report_error report);
 
 /* Extract an address and (optionally) a size from the string
@@ -170,7 +170,7 @@
    user problems via VG_(gdb_printf).  */
 extern void VG_(strtok_get_address_and_size) (Addr* address, 
                                               SizeT* szB, 
-                                              Char **ssaveptr);
+                                              HChar **ssaveptr);
 
 #endif   // __PUB_TOOL_GDBSERVER_H
 
diff --git a/include/pub_tool_hashtable.h b/include/pub_tool_hashtable.h
index 2cd6310..b8d80f4 100644
--- a/include/pub_tool_hashtable.h
+++ b/include/pub_tool_hashtable.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -53,7 +53,7 @@
    be freed with VG_(free)().  The table starts small but will
    periodically be expanded.  This is transparent to the users of this
    module. */
-extern VgHashTable VG_(HT_construct) ( HChar* name );
+extern VgHashTable VG_(HT_construct) ( const HChar* name );
 
 /* Count the number of nodes in a table. */
 extern Int VG_(HT_count_nodes) ( VgHashTable table );
diff --git a/include/pub_tool_libcassert.h b/include/pub_tool_libcassert.h
index 0aa2cb3..7a2c5bd 100644
--- a/include/pub_tool_libcassert.h
+++ b/include/pub_tool_libcassert.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -33,17 +33,17 @@
 
 #define tl_assert(expr)                                                 \
   ((void) (LIKELY(expr) ? 0 :                                           \
-           (VG_(assert_fail) (/*isCore?*/False, (const Char*)#expr,     \
-                              (const Char*)__FILE__, __LINE__,          \
-                              (const Char*)__PRETTY_FUNCTION__,         \
-                              (const HChar*)""),                        \
+           (VG_(assert_fail) (/*isCore?*/False, #expr,                  \
+                              __FILE__, __LINE__,                       \
+                              __PRETTY_FUNCTION__,                      \
+                              ""),                                      \
                               0)))
 
 #define tl_assert2(expr, format, args...)                               \
   ((void) (LIKELY(expr) ? 0 :                                           \
-           (VG_(assert_fail) (/*isCore?*/False, (const Char*)#expr,     \
-                              (const Char*)__FILE__, __LINE__,          \
-                              (const Char*)__PRETTY_FUNCTION__,         \
+           (VG_(assert_fail) (/*isCore?*/False, #expr,                  \
+                              __FILE__, __LINE__,                       \
+                              __PRETTY_FUNCTION__,                      \
                               format, ##args),                          \
                               0)))
 
@@ -52,11 +52,11 @@
 
 /* Prints a panic message, appends newline and bug reporting info, aborts. */
 __attribute__ ((__noreturn__))
-extern void  VG_(tool_panic) ( Char* str );
+extern void  VG_(tool_panic) ( const HChar* str );
 
 __attribute__ ((__noreturn__))
-extern void VG_(assert_fail) ( Bool isCore, const Char* expr, const Char* file, 
-                               Int line, const Char* fn, 
+extern void VG_(assert_fail) ( Bool isCore, const HChar* expr, const HChar* file, 
+                               Int line, const HChar* fn, 
                                const HChar* format, ... );
 
 #endif   // __PUB_TOOL_LIBCBASSERT_H
diff --git a/include/pub_tool_libcbase.h b/include/pub_tool_libcbase.h
index 8034116..05d6bfd 100644
--- a/include/pub_tool_libcbase.h
+++ b/include/pub_tool_libcbase.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -35,9 +35,9 @@
    Char functions.
    ------------------------------------------------------------------ */
 
-extern Bool VG_(isspace) ( Char c );
-extern Bool VG_(isdigit) ( Char c );
-extern Char VG_(tolower) ( Char c );
+extern Bool  VG_(isspace) ( HChar c );
+extern Bool  VG_(isdigit) ( HChar c );
+extern HChar VG_(tolower) ( HChar c );
 
 /* ---------------------------------------------------------------------
    Converting strings to numbers
@@ -61,16 +61,16 @@
 // useless because they don't do any error checking and so accept malformed
 // numbers and non-numbers -- eg. "123xyz" gives 123, and "foo" gives 0!
 // If you really want that behaviour, you can use "VG_(strtoll10)(str, NULL)".
-extern Long  VG_(strtoll10) ( Char* str, Char** endptr );
-extern Long  VG_(strtoll16) ( Char* str, Char** endptr );
-extern ULong  VG_(strtoull10) ( Char* str, Char** endptr );
-extern ULong  VG_(strtoull16) ( Char* str, Char** endptr );
+extern Long  VG_(strtoll10) ( const HChar* str, HChar** endptr );
+extern Long  VG_(strtoll16) ( const HChar* str, HChar** endptr );
+extern ULong  VG_(strtoull10) ( const HChar* str, HChar** endptr );
+extern ULong  VG_(strtoull16) ( const HChar* str, HChar** endptr );
 
 // Convert a string to a double.  After leading whitespace is ignored, a
 // '+' or '-' is allowed, and then it accepts a non-empty sequence of
 // decimal digits possibly containing a '.'.  Hexadecimal floats are not
 // accepted, nor are "fancy" floats (eg. "3.4e-5", "NAN").
-extern double VG_(strtod)  ( Char* str, Char** endptr );
+extern double VG_(strtod)  ( const HChar* str, HChar** endptr );
 
 /* ---------------------------------------------------------------------
    String functions and macros
@@ -82,36 +82,36 @@
 #define VG_STREQN(n,s1,s2) ( (s1 != NULL && s2 != NULL \
                              && VG_(strncmp)((s1),(s2),(n))==0) ? True : False )
 
-extern SizeT VG_(strlen)         ( const Char* str );
-extern Char* VG_(strcat)         ( Char* dest, const Char* src );
-extern Char* VG_(strncat)        ( Char* dest, const Char* src, SizeT n );
-extern Char* VG_(strpbrk)        ( const Char* s, const Char* accpt );
-extern Char* VG_(strcpy)         ( Char* dest, const Char* src );
-extern Char* VG_(strncpy)        ( Char* dest, const Char* src, SizeT ndest );
-extern Int   VG_(strcmp)         ( const Char* s1, const Char* s2 );
-extern Int   VG_(strcasecmp)     ( const Char* s1, const Char* s2 );
-extern Int   VG_(strncmp)        ( const Char* s1, const Char* s2, SizeT nmax );
-extern Int   VG_(strncasecmp)    ( const Char* s1, const Char* s2, SizeT nmax );
-extern Char* VG_(strstr)         ( const Char* haystack, Char* needle );
-extern Char* VG_(strcasestr)     ( const Char* haystack, Char* needle );
-extern Char* VG_(strchr)         ( const Char* s, Char c );
-extern Char* VG_(strrchr)        ( const Char* s, Char c );
-extern SizeT VG_(strspn)         ( const Char* s, const Char* accpt );
-extern SizeT VG_(strcspn)        ( const Char* s, const char* reject );
+extern SizeT  VG_(strlen)         ( const HChar* str );
+extern HChar* VG_(strcat)         ( HChar* dest, const HChar* src );
+extern HChar* VG_(strncat)        ( HChar* dest, const HChar* src, SizeT n );
+extern HChar* VG_(strpbrk)        ( const HChar* s, const HChar* accpt );
+extern HChar* VG_(strcpy)         ( HChar* dest, const HChar* src );
+extern HChar* VG_(strncpy)        ( HChar* dest, const HChar* src, SizeT ndest );
+extern Int    VG_(strcmp)         ( const HChar* s1, const HChar* s2 );
+extern Int    VG_(strcasecmp)     ( const HChar* s1, const HChar* s2 );
+extern Int    VG_(strncmp)        ( const HChar* s1, const HChar* s2, SizeT nmax );
+extern Int    VG_(strncasecmp)    ( const HChar* s1, const HChar* s2, SizeT nmax );
+extern HChar* VG_(strstr)         ( const HChar* haystack, const HChar* needle );
+extern HChar* VG_(strcasestr)     ( const HChar* haystack, const HChar* needle );
+extern HChar* VG_(strchr)         ( const HChar* s, HChar c );
+extern HChar* VG_(strrchr)        ( const HChar* s, HChar c );
+extern SizeT  VG_(strspn)         ( const HChar* s, const HChar* accpt );
+extern SizeT  VG_(strcspn)        ( const HChar* s, const HChar* reject );
 
 /* strtok* functions and some parsing utilities. */
-extern Char* VG_(strtok_r)       (Char* s, const Char* delim, Char** saveptr);
-extern Char* VG_(strtok)         (Char* s, const Char* delim);
+extern HChar* VG_(strtok_r)       (HChar* s, const HChar* delim, HChar** saveptr);
+extern HChar* VG_(strtok)         (HChar* s, const HChar* delim);
 
 /* Parse a 32- or 64-bit hex number, including leading 0x, from string
    starting at *ppc, putting result in *result, and return True.  Or
    fail, in which case *ppc and *result are undefined, and return
    False. */
-extern Bool VG_(parse_Addr) ( UChar** ppc, Addr* result );
+extern Bool VG_(parse_Addr) ( const HChar** ppc, Addr* result );
 
 /* Like strncpy(), but if 'src' is longer than 'ndest' inserts a '\0' as the
    last character. */
-extern void  VG_(strncpy_safely) ( Char* dest, const Char* src, SizeT ndest );
+extern void  VG_(strncpy_safely) ( HChar* dest, const HChar* src, SizeT ndest );
 
 /* ---------------------------------------------------------------------
    mem* functions
@@ -179,7 +179,7 @@
 /* Like qsort().  The name VG_(ssort) is for historical reasons -- it used
  * to be a shell sort, but is now a quicksort. */
 extern void VG_(ssort)( void* base, SizeT nmemb, SizeT size,
-                        Int (*compar)(void*, void*) );
+                        Int (*compar)(const void*, const void*) );
 
 /* Returns the base-2 logarithm of a 32 bit unsigned number.  Returns
  -1 if it is not a power of two.  Nb: VG_(log2)(1) == 0. */
@@ -194,6 +194,12 @@
 extern UInt VG_(random) ( /*MOD*/UInt* pSeed );
 #define VG_RAND_MAX (1ULL << 32)
 
+/* Update a running Adler-32 checksum with the bytes buf[0..len-1] and
+   return the updated checksum. If buf is NULL, this function returns
+   the required initial value for the checksum. An Adler-32 checksum is
+   almost as reliable as a CRC32 but can be computed much faster. */
+extern UInt VG_(adler32)( UInt adler, const UChar* buf, UInt len);
+
 #endif   // __PUB_TOOL_LIBCBASE_H
 
 /*--------------------------------------------------------------------*/
diff --git a/include/pub_tool_libcfile.h b/include/pub_tool_libcfile.h
index acef295..3b4d7ce 100644
--- a/include/pub_tool_libcfile.h
+++ b/include/pub_tool_libcfile.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -68,38 +68,38 @@
    ULong   ctime_nsec;
 };
 
-extern SysRes VG_(mknod)  ( const Char* pathname, Int mode, UWord dev );
-extern SysRes VG_(open)   ( const Char* pathname, Int flags, Int mode );
+extern SysRes VG_(mknod)  ( const HChar* pathname, Int mode, UWord dev );
+extern SysRes VG_(open)   ( const HChar* pathname, Int flags, Int mode );
 /* fd_open words like the open(2) system call: 
    returns fd if success, -1 otherwise */
-extern Int VG_(fd_open)  (const Char* pathname, Int flags, Int mode);
+extern Int VG_(fd_open)  (const HChar* pathname, Int flags, Int mode);
 extern void   VG_(close)  ( Int fd );
 extern Int    VG_(read)   ( Int fd, void* buf, Int count);
 extern Int    VG_(write)  ( Int fd, const void* buf, Int count);
 extern Int    VG_(pipe)   ( Int fd[2] );
 extern Off64T VG_(lseek)  ( Int fd, Off64T offset, Int whence );
 
-extern SysRes VG_(stat)   ( const Char* file_name, struct vg_stat* buf );
+extern SysRes VG_(stat)   ( const HChar* file_name, struct vg_stat* buf );
 extern Int    VG_(fstat)  ( Int   fd,        struct vg_stat* buf );
 extern SysRes VG_(dup)    ( Int oldfd );
 extern SysRes VG_(dup2)   ( Int oldfd, Int newfd );
-extern Int    VG_(rename) ( const Char* old_name, const Char* new_name );
-extern Int    VG_(unlink) ( const Char* file_name );
+extern Int    VG_(rename) ( const HChar* old_name, const HChar* new_name );
+extern Int    VG_(unlink) ( const HChar* file_name );
 
 extern Int    VG_(poll) (struct vki_pollfd *fds, Int nfds, Int timeout);
 
-extern Int    VG_(readlink)( const Char* path, Char* buf, UInt bufsize );
+extern Int    VG_(readlink)( const HChar* path, HChar* buf, UInt bufsize );
 extern Int    VG_(getdents)( Int fd, struct vki_dirent *dirp, UInt count );
 
-extern Char*  VG_(basename)( const Char* path );
-extern Char*  VG_(dirname) ( const Char* path );
+extern const HChar* VG_(basename)( const HChar* path );
+extern const HChar* VG_(dirname) ( const HChar* path );
 
 /* Return the name of a directory for temporary files. */
 extern const HChar* VG_(tmpdir)(void);
 
 /* Copy the working directory at startup into buf[0 .. size-1], or return
    False if buf is too small. */
-extern Bool VG_(get_startup_wd) ( Char* buf, SizeT size );
+extern Bool VG_(get_startup_wd) ( HChar* buf, SizeT size );
 
 #endif   // __PUB_TOOL_LIBCFILE_H
 
diff --git a/include/pub_tool_libcprint.h b/include/pub_tool_libcprint.h
index 697bff3..8536a81 100644
--- a/include/pub_tool_libcprint.h
+++ b/include/pub_tool_libcprint.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -35,23 +35,23 @@
    Formatting functions
    ------------------------------------------------------------------ */
 
-extern UInt VG_(sprintf)  ( Char* buf, const HChar* format, ... )
+extern UInt VG_(sprintf)  ( HChar* buf, const HChar* format, ... )
                           PRINTF_CHECK(2, 3);
 
-extern UInt VG_(vsprintf) ( Char* buf, const HChar* format, va_list vargs )
+extern UInt VG_(vsprintf) ( HChar* buf, const HChar* format, va_list vargs )
                           PRINTF_CHECK(2, 0);
 
-extern UInt VG_(snprintf) ( Char* buf, Int size, 
+extern UInt VG_(snprintf) ( HChar* buf, Int size, 
                                        const HChar *format, ... )
                           PRINTF_CHECK(3, 4);
 
-extern UInt VG_(vsnprintf)( Char* buf, Int size, 
+extern UInt VG_(vsnprintf)( HChar* buf, Int size, 
                                        const HChar *format, va_list vargs )
                           PRINTF_CHECK(3, 0);
 
 // Percentify n/m with d decimal places.  Includes the '%' symbol at the end.
 // Right justifies in 'buf'.
-extern void VG_(percentify)(ULong n, ULong m, UInt d, Int n_buf, char buf[]);
+extern void VG_(percentify)(ULong n, ULong m, UInt d, Int n_buf, HChar buf[]);
 
 
 /* ---------------------------------------------------------------------
@@ -116,7 +116,7 @@
 // an option was given an inappropriate argument.  This function prints an
 // error message, then shuts down the entire system.
 __attribute__((noreturn))
-extern void VG_(fmsg_bad_option) ( HChar* opt, const HChar* format, ... )
+extern void VG_(fmsg_bad_option) ( const HChar* opt, const HChar* format, ... )
    PRINTF_CHECK(2, 3);
 
 // This is used for messages that are interesting to the user:  info about
diff --git a/include/pub_tool_libcproc.h b/include/pub_tool_libcproc.h
index 190bd5a..7432b82 100644
--- a/include/pub_tool_libcproc.h
+++ b/include/pub_tool_libcproc.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -36,26 +36,26 @@
    ------------------------------------------------------------------ */
 
 /* Client environment. */
-extern Char** VG_(client_envp);
+extern HChar** VG_(client_envp);
 
 /* Looks up VG_(client_envp) */
-extern Char* VG_(getenv) ( Char* name );
+extern HChar* VG_(getenv) ( const HChar* name );
 
 /* Path to all our library/aux files */
-extern const Char *VG_(libdir);
+extern const HChar *VG_(libdir);
 
 // The name of the LD_PRELOAD-equivalent variable.  It varies across
 // platforms.
-extern const Char* VG_(LD_PRELOAD_var_name);
+extern const HChar* VG_(LD_PRELOAD_var_name);
 
 /* ---------------------------------------------------------------------
    Important syscalls
    ------------------------------------------------------------------ */
 
 extern Int  VG_(waitpid)( Int pid, Int *status, Int options );
-extern Int  VG_(system) ( Char* cmd );
+extern Int  VG_(system) ( const HChar* cmd );
 extern Int  VG_(fork)   ( void);
-extern void VG_(execv)  ( Char* filename, Char** argv );
+extern void VG_(execv)  ( const HChar* filename, HChar** argv );
 
 /* ---------------------------------------------------------------------
    Resource limits and capabilities
diff --git a/include/pub_tool_libcsetjmp.h b/include/pub_tool_libcsetjmp.h
index 3c25365..22f560b 100644
--- a/include/pub_tool_libcsetjmp.h
+++ b/include/pub_tool_libcsetjmp.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2010-2011 Mozilla Inc
+   Copyright (C) 2010-2012 Mozilla Inc
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/include/pub_tool_libcsignal.h b/include/pub_tool_libcsignal.h
index 33043a0..bc5bc9c 100644
--- a/include/pub_tool_libcsignal.h
+++ b/include/pub_tool_libcsignal.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/pub_tool_machine.h b/include/pub_tool_machine.h
index 49c700d..99aae03 100644
--- a/include/pub_tool_machine.h
+++ b/include/pub_tool_machine.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -31,6 +31,8 @@
 #ifndef __PUB_TOOL_MACHINE_H
 #define __PUB_TOOL_MACHINE_H
 
+#include "libvex.h"                    // VexArchInfo
+
 #if defined(VGP_x86_linux)
 #  define VG_MIN_INSTR_SZB          1  // min length of native instruction
 #  define VG_MAX_INSTR_SZB         16  // max length of native instruction
@@ -83,6 +85,18 @@
 #  define VG_CLREQ_SZB             19
 #  define VG_STACK_REDZONE_SZB    128
 
+#elif defined(VGP_mips32_linux)
+#  define VG_MIN_INSTR_SZB          4
+#  define VG_MAX_INSTR_SZB          4 
+#  define VG_CLREQ_SZB             20
+#  define VG_STACK_REDZONE_SZB      0
+
+#elif defined(VGP_mips64_linux)
+#  define VG_MIN_INSTR_SZB          4
+#  define VG_MAX_INSTR_SZB          4 
+#  define VG_CLREQ_SZB             20
+#  define VG_STACK_REDZONE_SZB      0
+
 #else
 #  error Unknown platform
 #endif
@@ -122,7 +136,7 @@
 // This is very Memcheck-specific -- it's used to find the roots when
 // doing leak checking.
 extern void VG_(apply_to_GP_regs)(void (*f)(ThreadId tid,
-                                            HChar* regname, UWord val));
+                                            const HChar* regname, UWord val));
 
 // This iterator lets you inspect each live thread's stack bounds.
 // Returns False at the end.  'tid' is the iterator and you can only
@@ -152,6 +166,16 @@
 // ppc64-linux it isn't (sigh).
 extern void* VG_(fnptr_to_fnentry)( void* );
 
+/* Returns the size of the largest guest register that we will
+   simulate in this run.  This depends on both the guest architecture
+   and on the specific capabilities we are simulating for that guest
+   (eg, AVX or non-AVX ?, for amd64). */
+extern Int VG_(machine_get_size_of_largest_guest_register) ( void );
+
+/* Return host cpu info. */
+extern void VG_(machine_get_VexArchInfo)( /*OUT*/VexArch*,
+                                          /*OUT*/VexArchInfo* );
+
 #endif   // __PUB_TOOL_MACHINE_H
 
 /*--------------------------------------------------------------------*/
diff --git a/include/pub_tool_mallocfree.h b/include/pub_tool_mallocfree.h
index a71a1ff..394eb8b 100644
--- a/include/pub_tool_mallocfree.h
+++ b/include/pub_tool_mallocfree.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -37,20 +37,43 @@
 // will abort if they can't allocate the memory).
 // The 'cc' is a string that identifies the allocation point.  It's used when
 // --profile-heap=yes is specified.
-extern void* VG_(malloc)         ( HChar* cc, SizeT nbytes );
+extern void* VG_(malloc)         ( const HChar* cc, SizeT nbytes );
 extern void  VG_(free)           ( void* p );
-extern void* VG_(calloc)         ( HChar* cc, SizeT n, SizeT bytes_per_elem );
-extern void* VG_(realloc)        ( HChar* cc, void* p, SizeT size );
-extern Char* VG_(strdup)         ( HChar* cc, const Char* s );
+extern void* VG_(calloc)         ( const HChar* cc, SizeT n, SizeT bytes_per_elem );
+extern void*  VG_(realloc)       ( const HChar* cc, void* p, SizeT size );
+extern HChar* VG_(strdup)        ( const HChar* cc, const HChar* s );
 
 // Returns the usable size of a heap-block.  It's the asked-for size plus
 // possibly some more due to rounding up.
 extern SizeT VG_(malloc_usable_size)( void* p );
 
+
+// If tool is replacing malloc for the client, the below returns
+// the effective client redzone as derived from the default
+// provided by the tool, VG_(clo_redzone_size) and the minimum
+// redzone required by m_mallocfree.c.
+// It is an error to call this before VG_(needs_malloc_replacement) has
+// been called.
+extern SizeT VG_(malloc_effective_client_redzone_size)(void);
+
 // TODO: move somewhere else
 // Call here to bomb the system when out of memory (mmap anon fails)
 __attribute__((noreturn))
-extern void VG_(out_of_memory_NORETURN) ( HChar* who, SizeT szB );
+extern void VG_(out_of_memory_NORETURN) ( const HChar* who, SizeT szB );
+
+// VG_(perm_malloc) is for allocating small blocks which are
+// never released. The overhead for such blocks is minimal.
+// VG_(perm_malloc) returns memory which is (at least) aligned
+// on a multiple of align.
+// Use the macro vg_alignof (type) to get a safe alignment for a type.
+// No other function can be used on these permanently allocated blocks.
+// In particular, do *not* call VG_(free) or VG_(malloc_usable_size)
+// or VG_(realloc).
+// Technically, these blocks will be returned from big superblocks
+// only containing such permanently allocated blocks.
+// Note that there is no cc cost centre : all such blocks will be
+// regrouped under the "perm_alloc" cost centre.
+extern void* VG_(perm_malloc)    ( SizeT nbytes, Int align );
 
 #endif   // __PUB_TOOL_MALLOCFREE_H
 
diff --git a/include/pub_tool_options.h b/include/pub_tool_options.h
index c37c7be..ef13712 100644
--- a/include/pub_tool_options.h
+++ b/include/pub_tool_options.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -51,7 +51,7 @@
 #define VG_BOOL_CLO(qq_arg, qq_option, qq_var) \
    (VG_STREQN(VG_(strlen)(qq_option)+1, qq_arg, qq_option"=") && \
     ({ \
-      Char* val = &(qq_arg)[ VG_(strlen)(qq_option)+1 ]; \
+      const HChar* val = &(qq_arg)[ VG_(strlen)(qq_option)+1 ]; \
       if      VG_STREQ(val, "yes") (qq_var) = True; \
       else if VG_STREQ(val, "no")  (qq_var) = False; \
       else VG_(fmsg_bad_option)(qq_arg, "Invalid boolean value '%s'" \
@@ -64,7 +64,7 @@
 #define VG_STR_CLO(qq_arg, qq_option, qq_var) \
    (VG_STREQN(VG_(strlen)(qq_option)+1, qq_arg, qq_option"=") && \
     ({ \
-      Char* val = &(qq_arg)[ VG_(strlen)(qq_option)+1 ]; \
+      const HChar* val = &(qq_arg)[ VG_(strlen)(qq_option)+1 ]; \
       (qq_var) = val; \
       True; \
     }) \
@@ -74,8 +74,8 @@
 #define VG_INT_CLO(qq_arg, qq_option, qq_var) \
    (VG_STREQN(VG_(strlen)(qq_option)+1, qq_arg, qq_option"=") && \
     ({ \
-      Char* val = &(qq_arg)[ VG_(strlen)(qq_option)+1 ]; \
-      Char* s; \
+      const HChar* val = &(qq_arg)[ VG_(strlen)(qq_option)+1 ]; \
+      HChar* s; \
       Long n = VG_(strtoll10)( val, &s ); \
       (qq_var) = n; \
       /* Check for non-numeralness, or overflow. */ \
@@ -89,8 +89,8 @@
 #define VG_BINTN_CLO(qq_base, qq_arg, qq_option, qq_var, qq_lo, qq_hi) \
    (VG_STREQN(VG_(strlen)(qq_option)+1, qq_arg, qq_option"=") && \
     ({ \
-      Char* val = &(qq_arg)[ VG_(strlen)(qq_option)+1 ]; \
-      Char* s; \
+      const HChar* val = &(qq_arg)[ VG_(strlen)(qq_option)+1 ]; \
+      HChar* s; \
       Long n = VG_(strtoll##qq_base)( val, &s ); \
       (qq_var) = n; \
       /* MMM: separate the two cases, and explain the problem;  likewise */ \
@@ -122,8 +122,8 @@
 #define VG_DBL_CLO(qq_arg, qq_option, qq_var) \
    (VG_STREQN(VG_(strlen)(qq_option)+1, qq_arg, qq_option"=") && \
     ({ \
-      Char* val = &(qq_arg)[ VG_(strlen)(qq_option)+1 ]; \
-      Char* s; \
+      const HChar* val = &(qq_arg)[ VG_(strlen)(qq_option)+1 ]; \
+      HChar* s; \
       double n = VG_(strtod)( val, &s ); \
       (qq_var) = n; \
       /* Check for non-numeralness */ \
@@ -161,7 +161,7 @@
 
 /* An arbitrary user-supplied string which is copied into the
    XML output, in between <usercomment> tags. */
-extern HChar* VG_(clo_xml_user_comment);
+extern const HChar* VG_(clo_xml_user_comment);
 
 /* Vex iropt control.  Tool-visible so tools can make Vex optimise
    less aggressively if that is needed (callgrind needs this). */
@@ -192,7 +192,8 @@
    merely used in printing error messages, if an error message needs
    to be printed due to malformedness of the "format" argument.
 */
-extern Char* VG_(expand_file_name)(Char* option_name, Char* format);
+extern HChar* VG_(expand_file_name)(const HChar* option_name,
+                                    const HChar* format);
 
 #endif   // __PUB_TOOL_OPTIONS_H
 
diff --git a/include/pub_tool_oset.h b/include/pub_tool_oset.h
index cf6709a..9eb789b 100644
--- a/include/pub_tool_oset.h
+++ b/include/pub_tool_oset.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -77,7 +77,7 @@
 // - Free:  frees a chunk of memory allocated with Alloc.
 
 typedef Word  (*OSetCmp_t)         ( const void* key, const void* elem );
-typedef void* (*OSetAlloc_t)       ( HChar* cc, SizeT szB );
+typedef void* (*OSetAlloc_t)       ( const HChar* cc, SizeT szB );
 typedef void  (*OSetFree_t)        ( void* p );
 
 /*--------------------------------------------------------------------*/
@@ -99,7 +99,7 @@
 //   to allow the destruction of any attached resources;  if NULL it is not
 //   called.
 
-extern OSet* VG_(OSetWord_Create)       ( OSetAlloc_t alloc, HChar* cc, 
+extern OSet* VG_(OSetWord_Create)       ( OSetAlloc_t alloc, const HChar* cc, 
                                           OSetFree_t _free );
 extern void  VG_(OSetWord_Destroy)      ( OSet* os );
 
@@ -197,12 +197,13 @@
 //   lead to assertions in Valgrind's allocator.
 
 extern OSet* VG_(OSetGen_Create)    ( PtrdiffT keyOff, OSetCmp_t cmp,
-                                      OSetAlloc_t alloc, HChar* cc,
+                                      OSetAlloc_t alloc, const HChar* cc,
                                       OSetFree_t _free);
 
 
 extern OSet* VG_(OSetGen_Create_With_Pool)    ( PtrdiffT keyOff, OSetCmp_t cmp,
-                                                OSetAlloc_t alloc, HChar* cc,
+                                                OSetAlloc_t alloc,
+                                                const HChar* cc,
                                                 OSetFree_t _free,
                                                 SizeT poolSize,
                                                 SizeT maxEltSize);
diff --git a/include/pub_tool_poolalloc.h b/include/pub_tool_poolalloc.h
index bc50daa..e661d9e 100644
--- a/include/pub_tool_poolalloc.h
+++ b/include/pub_tool_poolalloc.h
@@ -53,8 +53,8 @@
    is, if it returns it must have succeeded.) */
 PoolAlloc* VG_(newPA) ( UWord  elemSzB,
                         UWord  nPerPool,
-                        void*  (*alloc)(HChar*, SizeT),
-                        HChar* cc,
+                        void*  (*alloc)(const HChar*, SizeT),
+                        const  HChar* cc,
                         void   (*free_fn)(void*) );
 
 
diff --git a/include/pub_tool_redir.h b/include/pub_tool_redir.h
index 738f433..e4ea7c0 100644
--- a/include/pub_tool_redir.h
+++ b/include/pub_tool_redir.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -246,7 +246,7 @@
 #elif defined(VGO_darwin) && (DARWIN_VERS <= DARWIN_10_6)
 #  define  VG_Z_LIBC_SONAME  libSystemZdZaZddylib    // libSystem.*.dylib
 
-#elif defined(VGO_darwin) && (DARWIN_VERS == DARWIN_10_7)
+#elif defined(VGO_darwin) && (DARWIN_VERS >= DARWIN_10_7)
 #  define  VG_Z_LIBC_SONAME  libsystemZucZaZddylib   // libsystem_c*.dylib
 
 #else
@@ -300,6 +300,11 @@
 #endif
 
 
+// Prefix for synonym soname synonym handling
+#define VG_SO_SYN(name)       VgSoSyn##name
+#define VG_SO_SYN_PREFIX     "VgSoSyn"
+#define VG_SO_SYN_PREFIX_LEN 7
+
 #endif   // __PUB_TOOL_REDIR_H
 
 /*--------------------------------------------------------------------*/
diff --git a/include/pub_tool_replacemalloc.h b/include/pub_tool_replacemalloc.h
index 1f07ac4..97a9667 100644
--- a/include/pub_tool_replacemalloc.h
+++ b/include/pub_tool_replacemalloc.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -63,7 +63,7 @@
    default: VG_MIN_MALLOC_SZB */
 extern UInt VG_(clo_alignment);
 
-extern Bool VG_(replacement_malloc_process_cmd_line_option) ( Char* arg );
+extern Bool VG_(replacement_malloc_process_cmd_line_option) ( const HChar* arg );
 
 #endif   // __PUB_TOOL_REPLACEMALLOC_H
 
diff --git a/include/pub_tool_seqmatch.h b/include/pub_tool_seqmatch.h
index cb025ec..075c74d 100644
--- a/include/pub_tool_seqmatch.h
+++ b/include/pub_tool_seqmatch.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -69,20 +69,27 @@
    equal.  Note that the pattern element is guaranteed to be neither
    (conceptually) '*' nor '?', so it must be a literal (in the sense
    that all the input sequence elements are literal).
+
+   input might be lazily constructed when pattEQinp is called.
+   For lazily constructing the input element, the two last arguments
+   of pattEQinp are the inputCompleter and the index of the input
+   element to complete.
+   inputCompleter can be NULL.
 */
 Bool VG_(generic_match) ( 
         Bool matchAll,
-        void* patt,  SizeT szbPatt,  UWord nPatt,  UWord ixPatt,
-        void* input, SizeT szbInput, UWord nInput, UWord ixInput,
-        Bool (*pIsStar)(void*),
-        Bool (*pIsQuery)(void*),
-        Bool (*pattEQinp)(void*,void*)
+        const void* patt,  SizeT szbPatt,  UWord nPatt,  UWord ixPatt,
+        const void* input, SizeT szbInput, UWord nInput, UWord ixInput,
+        Bool (*pIsStar)(const void*),
+        Bool (*pIsQuery)(const void*),
+        Bool (*pattEQinp)(const void*,const void*,void*,UWord),
+        void* inputCompleter
      );
 
 /* Mini-regexp function.  Searches for 'pat' in 'str'.  Supports
    meta-symbols '*' and '?'.  There is no way to escape meta-symbols
    in the pattern. */
-Bool VG_(string_match) ( const Char* pat, const Char* str );
+Bool VG_(string_match) ( const HChar* pat, const HChar* str );
 
 #endif   // __PUB_TOOL_SEQMATCH_H
 
diff --git a/include/pub_tool_signals.h b/include/pub_tool_signals.h
index 0596315..e540636 100644
--- a/include/pub_tool_signals.h
+++ b/include/pub_tool_signals.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/pub_tool_sparsewa.h b/include/pub_tool_sparsewa.h
index 5505a50..5336fee 100644
--- a/include/pub_tool_sparsewa.h
+++ b/include/pub_tool_sparsewa.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -49,8 +49,8 @@
 typedef  struct _SparseWA  SparseWA; /* opaque */
 
 // Create a new one, using the specified allocator/deallocator
-SparseWA* VG_(newSWA) ( void*(*alloc_nofail)(HChar* cc, SizeT), 
-                        HChar* cc,
+SparseWA* VG_(newSWA) ( void*(*alloc_nofail)(const HChar* cc, SizeT), 
+                        const HChar* cc,
                         void(*dealloc)(void*) );
 
 // Delete one, and free all associated storage
diff --git a/include/pub_tool_stacktrace.h b/include/pub_tool_stacktrace.h
index fef6865..8501e0a 100644
--- a/include/pub_tool_stacktrace.h
+++ b/include/pub_tool_stacktrace.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/pub_tool_threadstate.h b/include/pub_tool_threadstate.h
index c6582b2..a2a41a5 100644
--- a/include/pub_tool_threadstate.h
+++ b/include/pub_tool_threadstate.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/pub_tool_tooliface.h b/include/pub_tool_tooliface.h
index 9a17f85..2dd38f3 100644
--- a/include/pub_tool_tooliface.h
+++ b/include/pub_tool_tooliface.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -220,6 +220,7 @@
                       IRSB*              sb_in, 
                       VexGuestLayout*    layout, 
                       VexGuestExtents*   vge, 
+                      VexArchInfo*       archinfo_host,
                       IRType             gWordTy, 
                       IRType             hWordTy),
 
@@ -242,10 +243,10 @@
    tools distributed with Valgrind that share a version number with
    Valgrind.  Other tools not distributed as part of Valgrind should
    probably have their own version number.  */
-extern void VG_(details_name)                  ( Char* name );
-extern void VG_(details_version)               ( Char* version );
-extern void VG_(details_description)           ( Char* description );
-extern void VG_(details_copyright_author)      ( Char* copyright_author );
+extern void VG_(details_name)                  ( const HChar* name );
+extern void VG_(details_version)               ( const HChar* version );
+extern void VG_(details_description)           ( const HChar* description );
+extern void VG_(details_copyright_author)      ( const HChar* copyright_author );
 
 /* Average size of a translation, in bytes, so that the translation
    storage machinery can allocate memory appropriately.  Not critical,
@@ -254,7 +255,7 @@
 
 /* String printed if an `tl_assert' assertion fails or VG_(tool_panic)
    is called.  Should probably be an email address. */
-extern void VG_(details_bug_reports_to)   ( Char* bug_reports_to );
+extern void VG_(details_bug_reports_to)   ( const HChar* bug_reports_to );
 
 /* ------------------------------------------------------------------ */
 /* Needs */
@@ -312,14 +313,14 @@
 
    // Return value indicates recognition.  If recognised, must set skind using
    // VG_(set_supp_kind)().
-   Bool (*recognised_suppression)(Char* name, Supp* su),
+   Bool (*recognised_suppression)(const HChar* name, Supp* su),
 
    // Read any extra info for this suppression kind.  Most likely for filling
    // in the `extra' and `string' parts (with VG_(set_supp_{extra, string})())
    // of a suppression if necessary.  Should return False if a syntax error
    // occurred, True otherwise.  bufpp and nBufp are the same as for
    // VG_(get_line).
-   Bool (*read_extra_suppression_info)(Int fd, Char** bufpp, SizeT* nBufp,
+   Bool (*read_extra_suppression_info)(Int fd, HChar** bufpp, SizeT* nBufp,
                                        Supp* su),
 
    // This should just check the kinds match and maybe some stuff in the
@@ -330,7 +331,7 @@
    // This should return the suppression name, for --gen-suppressions, or NULL
    // if that error type cannot be suppressed.  This is the inverse of
    // VG_(tdict).tool_recognised_suppression().
-   Char* (*get_error_name)(Error* err),
+   const HChar* (*get_error_name)(Error* err),
 
    // This should print into buf[0..nBuf-1] any extra info for the
    // error, for --gen-suppressions, but not including any leading
@@ -342,7 +343,7 @@
    // do nothing, and return False.  This function is the inverse of
    // VG_(tdict).tool_read_extra_suppression_info().
    Bool (*print_extra_suppression_info)(Error* err,
-                                        /*OUT*/Char* buf, Int nBuf)
+                                        /*OUT*/HChar* buf, Int nBuf)
 );
 
 /* Is information kept by the tool about specific instructions or
@@ -385,7 +386,7 @@
    // if possible rather than in post_clo_init(), and if they are bad then
    // VG_(fmsg_bad_option)() should be called.  This ensures that the
    // messaging is consistent with command line option errors from the core.
-   Bool (*process_cmd_line_option)(Char* argv),
+   Bool (*process_cmd_line_option)(const HChar* argv),
 
    // Print out command line usage for options for normal tool operation.
    void (*print_usage)(void),
@@ -584,18 +585,18 @@
 
 /* These ones occur around syscalls, signal handling, etc */
 void VG_(track_pre_mem_read)       (void(*f)(CorePart part, ThreadId tid,
-                                             Char* s, Addr a, SizeT size));
+                                             const HChar* s, Addr a, SizeT size));
 void VG_(track_pre_mem_read_asciiz)(void(*f)(CorePart part, ThreadId tid,
-                                             Char* s, Addr a));
+                                             const HChar* s, Addr a));
 void VG_(track_pre_mem_write)      (void(*f)(CorePart part, ThreadId tid,
-                                             Char* s, Addr a, SizeT size));
+                                             const HChar* s, Addr a, SizeT size));
 void VG_(track_post_mem_write)     (void(*f)(CorePart part, ThreadId tid,
                                              Addr a, SizeT size));
 
 /* Register events.  Use VG_(set_shadow_state_area)() to set the shadow regs
    for these events.  */
 void VG_(track_pre_reg_read)  (void(*f)(CorePart part, ThreadId tid,
-                                        Char* s, PtrdiffT guest_state_offset,
+                                        const HChar* s, PtrdiffT guest_state_offset,
                                         SizeT size));
 void VG_(track_post_reg_write)(void(*f)(CorePart part, ThreadId tid,
                                         PtrdiffT guest_state_offset,
diff --git a/include/pub_tool_vki.h b/include/pub_tool_vki.h
index 921c159..3610b1c 100644
--- a/include/pub_tool_vki.h
+++ b/include/pub_tool_vki.h
@@ -8,11 +8,11 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward
+   Copyright (C) 2000-2012 Julian Seward
       jseward@acm.org
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
       njn@valgrind.org
-   Copyright (C) 2006-2011 OpenWorks LLP
+   Copyright (C) 2006-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -53,6 +53,11 @@
 #  error Unknown Plat/OS
 #endif
 
+#if defined(VGP_amd64_linux) || defined(VGP_x86_linux)
+#  include "vki/vki-xen.h"
+#endif
+
+
 #endif // __PUB_TOOL_VKI_H
 
 /*--------------------------------------------------------------------*/
diff --git a/include/pub_tool_vkiscnums.h b/include/pub_tool_vkiscnums.h
index 4303d17..074037b 100644
--- a/include/pub_tool_vkiscnums.h
+++ b/include/pub_tool_vkiscnums.h
@@ -7,9 +7,9 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
       njn@valgrind.org
-   Copyright (C) 2006-2011 OpenWorks LLP
+   Copyright (C) 2006-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -39,18 +39,18 @@
 // This converts a syscall number into a string, suitable for printing.  It is
 // needed because some platforms (Darwin) munge sysnums in various ways.
 // It is used in places where the sycall name will be printed alongside.
-extern Char* VG_(sysnum_string)      (Word sysnum, SizeT n_buf, Char* buf);
+extern HChar* VG_(sysnum_string)      (Word sysnum, SizeT n_buf, HChar* buf);
 
 // This is like VG_(sysnum_string), but prints extra info if needed.  It is
 // called in places where the syscall name will *not* be printed alongside.
-extern Char* VG_(sysnum_string_extra)(Word sysnum, SizeT n_buf, Char* buf);
+extern HChar* VG_(sysnum_string_extra)(Word sysnum, SizeT n_buf, HChar* buf);
 
 // Macros that make the above functions easier to use by declaring a local
 // buffer.
 #define VG_SYSNUM_STRING(sysnum) \
-   ({ Char qq_zz_buf[32]; VG_(sysnum_string)(sysnum, 32, qq_zz_buf); })
+   ({ HChar qq_zz_buf[32]; VG_(sysnum_string)(sysnum, 32, qq_zz_buf); })
 #define VG_SYSNUM_STRING_EXTRA(sysnum) \
-   ({ Char qq_zz_buf[64]; VG_(sysnum_string_extra)(sysnum, 64, qq_zz_buf); })
+   ({ HChar qq_zz_buf[64]; VG_(sysnum_string_extra)(sysnum, 64, qq_zz_buf); })
 
 
 #endif   // __PUB_TOOL_VKISCNUMS_H
diff --git a/include/pub_tool_vkiscnums_asm.h b/include/pub_tool_vkiscnums_asm.h
index 018cb19..3e907e7 100644
--- a/include/pub_tool_vkiscnums_asm.h
+++ b/include/pub_tool_vkiscnums_asm.h
@@ -7,9 +7,9 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
       njn@valgrind.org
-   Copyright (C) 2006-2011 OpenWorks LLP
+   Copyright (C) 2006-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -51,6 +51,12 @@
 #elif defined(VGP_arm_linux)
 #  include "vki/vki-scnums-arm-linux.h"
 
+#elif defined(VGP_mips32_linux)
+#  include "vki/vki-scnums-mips32-linux.h"
+
+#elif defined(VGP_mips64_linux)
+#  include "vki/vki-scnums-mips64-linux.h"
+
 #elif defined(VGP_x86_darwin) || defined(VGP_amd64_darwin)
 #  include "vki/vki-scnums-darwin.h"
 
diff --git a/include/pub_tool_wordfm.h b/include/pub_tool_wordfm.h
index bdc325b..15bf76a 100644
--- a/include/pub_tool_wordfm.h
+++ b/include/pub_tool_wordfm.h
@@ -9,13 +9,13 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2007-2011 Julian Seward
+   Copyright (C) 2007-2012 Julian Seward
       jseward@acm.org
 
    This code is based on previous work by Nicholas Nethercote
    (coregrind/m_oset.c) which is
 
-   Copyright (C) 2005-2011 Nicholas Nethercote
+   Copyright (C) 2005-2012 Nicholas Nethercote
        njn@valgrind.org
 
    which in turn was derived partially from:
@@ -76,8 +76,8 @@
    sections of the map, or the whole thing.  If kCmp is NULL then the
    ordering used is unsigned word ordering (UWord) on the key
    values. */
-WordFM* VG_(newFM) ( void* (*alloc_nofail)( HChar* cc, SizeT ),
-                     HChar* cc,
+WordFM* VG_(newFM) ( void* (*alloc_nofail)( const HChar* cc, SizeT ),
+                     const HChar* cc,
                      void  (*dealloc)(void*),
                      Word  (*kCmp)(UWord,UWord) );
 
@@ -174,8 +174,8 @@
 typedef  struct _WordBag  WordBag; /* opaque */
 
 /* Allocate and initialise a WordBag */
-WordBag* VG_(newBag) ( void* (*alloc_nofail)( HChar* cc, SizeT ),
-                       HChar* cc,
+WordBag* VG_(newBag) ( void* (*alloc_nofail)( const HChar* cc, SizeT ),
+                       const HChar* cc,
                        void  (*dealloc)(void*) );
 
 /* Free up the Bag. */
diff --git a/include/pub_tool_xarray.h b/include/pub_tool_xarray.h
index cd34e79..91484e0 100644
--- a/include/pub_tool_xarray.h
+++ b/include/pub_tool_xarray.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2007-2011 OpenWorks LLP
+   Copyright (C) 2007-2012 OpenWorks LLP
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -46,11 +46,13 @@
 /* It's an abstract type.  Bwaha. */
 typedef  struct _XArray  XArray;
 
+typedef Int (*XACmpFn_t)(const void *, const void *);
+
 /* Create new XArray, using given allocation and free function, and
    for elements of the specified size.  Alloc fn must not fail (that
    is, if it returns it must have succeeded.) */
-extern XArray* VG_(newXA) ( void*(*alloc_fn)(HChar*,SizeT), 
-                            HChar* cc,
+extern XArray* VG_(newXA) ( void*(*alloc_fn)(const HChar*,SizeT), 
+                            const HChar* cc,
                             void(*free_fn)(void*),
                             Word elemSzB );
 
@@ -60,17 +62,17 @@
 /* Set the comparison function for this XArray.  This clears an
    internal 'array is sorted' flag, which means you must call sortXA
    before making further queries with lookupXA. */
-extern void VG_(setCmpFnXA) ( XArray*, Int (*compar)(void*,void*) );
+extern void VG_(setCmpFnXA) ( XArray*, XACmpFn_t);
 
 /* Add an element to an XArray.  Element is copied into the XArray.
    Index at which it was added is returned.  Note this will be
    invalidated if the array is later sortXA'd. */
-extern Word VG_(addToXA) ( XArray*, void* elem );
+extern Word VG_(addToXA) ( XArray*, const void* elem );
 
 /* Add a sequence of bytes to an XArray of bytes.  Asserts if nbytes
    is negative or the array's element size is not 1.  Returns the
    index at which the first byte was added. */
-extern Word VG_(addBytesToXA) ( XArray* xao, void* bytesV, Word nbytes );
+extern Word VG_(addBytesToXA) ( XArray* xao, const void* bytesV, Word nbytes );
 
 /* Sort an XArray using its comparison function, if set; else bomb.
    Probably not a stable sort w.r.t. equal elements module cmpFn. */
@@ -81,7 +83,7 @@
    value found.  If any values are found, return True, else return
    False, and don't change *first or *last.  first and/or last may be
    NULL.  Bomb if the array is not sorted. */
-extern Bool VG_(lookupXA) ( XArray*, void* key, 
+extern Bool VG_(lookupXA) ( XArray*, const void* key, 
                             /*OUT*/Word* first, /*OUT*/Word* last );
 
 /* A version of VG_(lookupXA) in which you can specify your own
@@ -92,9 +94,9 @@
    VG_(lookupXA), which refuses to do anything (asserts) unless the
    array has first been sorted using the same comparison function as
    is being used for the lookup. */
-extern Bool VG_(lookupXA_UNSAFE) ( XArray* xao, void* key,
+extern Bool VG_(lookupXA_UNSAFE) ( XArray* xao, const void* key,
                                    /*OUT*/Word* first, /*OUT*/Word* last,
-                                   Int(*cmpFn)(void*,void*) );
+                                   XACmpFn_t cmpFn );
 
 /* How elements are there in this XArray now? */
 extern Word VG_(sizeXA) ( XArray* );
@@ -129,7 +131,7 @@
    space (but did return NULL rather than merely abort.)  Space for
    the clone (and all additions to it) is billed to 'cc' unless that
    is NULL, in which case the parent's cost-center is used. */
-extern XArray* VG_(cloneXA)( HChar* cc, XArray* xa );
+extern XArray* VG_(cloneXA)( const HChar* cc, XArray* xa );
 
 /* Get the raw array and size so callers can index it really fast.
    This is dangerous in the sense that there's no range or
diff --git a/include/valgrind.h b/include/valgrind.h
index 1bfed3a..320683e 100644
--- a/include/valgrind.h
+++ b/include/valgrind.h
@@ -12,7 +12,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward.  All rights reserved.
+   Copyright (C) 2000-2012 Julian Seward.  All rights reserved.
 
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
@@ -89,7 +89,7 @@
         || (__VALGRIND_MAJOR__ == 3 && __VALGRIND_MINOR__ >= 6))
 */
 #define __VALGRIND_MAJOR__    3
-#define __VALGRIND_MINOR__    6
+#define __VALGRIND_MINOR__    8
 
 
 #include <stdarg.h>
@@ -117,6 +117,8 @@
 #undef PLAT_ppc64_linux
 #undef PLAT_arm_linux
 #undef PLAT_s390x_linux
+#undef PLAT_mips32_linux
+#undef PLAT_mips64_linux
 
 
 #if defined(__APPLE__) && defined(__i386__)
@@ -138,6 +140,12 @@
 #  define PLAT_arm_linux 1
 #elif defined(__linux__) && defined(__s390__) && defined(__s390x__)
 #  define PLAT_s390x_linux 1
+#elif defined(__linux__) && defined(__mips__)
+#if (__mips==64)
+#  define PLAT_mips64_linux 1
+#else
+#  define PLAT_mips32_linux 1
+#endif
 #else
 /* If we're not compiling for our target platform, don't generate
    any inline asms.  */
@@ -279,6 +287,15 @@
                      __SPECIAL_INSTRUCTION_PREAMBLE               \
                      /* call-noredir *%EAX */                     \
                      "xchgl %%edx,%%edx\n\t"
+
+#define VALGRIND_VEX_INJECT_IR()                                 \
+ do {                                                            \
+    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE              \
+                     "xchgl %%edi,%%edi\n\t"                     \
+                     : : : "cc", "memory"                        \
+                    );                                           \
+ } while (0)
+
 #endif /* PLAT_x86_linux || PLAT_x86_darwin || (PLAT_x86_win32 && __GNUC__) */
 
 /* ------------------------- x86-Win32 ------------------------- */
@@ -341,6 +358,13 @@
 
 #define VALGRIND_CALL_NOREDIR_EAX ERROR
 
+#define VALGRIND_VEX_INJECT_IR()                                 \
+ do {                                                            \
+    __asm { __SPECIAL_INSTRUCTION_PREAMBLE                       \
+            __asm xchg edi,edi                                   \
+    }                                                            \
+ } while (0)
+
 #else
 #error Unsupported compiler.
 #endif
@@ -400,6 +424,15 @@
                      __SPECIAL_INSTRUCTION_PREAMBLE               \
                      /* call-noredir *%RAX */                     \
                      "xchgq %%rdx,%%rdx\n\t"
+
+#define VALGRIND_VEX_INJECT_IR()                                 \
+ do {                                                            \
+    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE              \
+                     "xchgq %%rdi,%%rdi\n\t"                     \
+                     : : : "cc", "memory"                        \
+                    );                                           \
+ } while (0)
+
 #endif /* PLAT_amd64_linux || PLAT_amd64_darwin */
 
 /* ------------------------ ppc32-linux ------------------------ */
@@ -461,6 +494,14 @@
                      __SPECIAL_INSTRUCTION_PREAMBLE               \
                      /* branch-and-link-to-noredir *%R11 */       \
                      "or 3,3,3\n\t"
+
+#define VALGRIND_VEX_INJECT_IR()                                 \
+ do {                                                            \
+    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE              \
+                     "or 5,5,5\n\t"                              \
+                    );                                           \
+ } while (0)
+
 #endif /* PLAT_ppc32_linux */
 
 /* ------------------------ ppc64-linux ------------------------ */
@@ -533,6 +574,13 @@
                      /* branch-and-link-to-noredir *%R11 */       \
                      "or 3,3,3\n\t"
 
+#define VALGRIND_VEX_INJECT_IR()                                 \
+ do {                                                            \
+    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE              \
+                     "or 5,5,5\n\t"                              \
+                    );                                           \
+ } while (0)
+
 #endif /* PLAT_ppc64_linux */
 
 /* ------------------------- arm-linux ------------------------- */
@@ -593,6 +641,14 @@
                      /* branch-and-link-to-noredir *%R4 */        \
                      "orr r12, r12, r12\n\t"
 
+#define VALGRIND_VEX_INJECT_IR()                                 \
+ do {                                                            \
+    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE              \
+                     "orr r9, r9, r9\n\t"                        \
+                     : : : "cc", "memory"                        \
+                    );                                           \
+ } while (0)
+
 #endif /* PLAT_arm_linux */
 
 /* ------------------------ s390x-linux ------------------------ */
@@ -618,6 +674,7 @@
 #define __CLIENT_REQUEST_CODE "lr 2,2\n\t"
 #define __GET_NR_CONTEXT_CODE "lr 3,3\n\t"
 #define __CALL_NO_REDIR_CODE  "lr 4,4\n\t"
+#define __VEX_INJECT_IR_CODE  "lr 5,5\n\t"
 
 #define VALGRIND_DO_CLIENT_REQUEST_EXPR(                         \
        _zzq_default, _zzq_request,                               \
@@ -663,8 +720,156 @@
                     __SPECIAL_INSTRUCTION_PREAMBLE               \
                     __CALL_NO_REDIR_CODE
 
+#define VALGRIND_VEX_INJECT_IR()                                 \
+ do {                                                            \
+    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE              \
+                     __VEX_INJECT_IR_CODE);                      \
+ } while (0)
+
 #endif /* PLAT_s390x_linux */
 
+/* ------------------------- mips32-linux ---------------- */
+
+#if defined(PLAT_mips32_linux)
+
+typedef
+   struct { 
+      unsigned int nraddr; /* where's the code? */
+   }
+   OrigFn;
+
+/* .word  0x342
+ * .word  0x742
+ * .word  0xC2
+ * .word  0x4C2*/
+#define __SPECIAL_INSTRUCTION_PREAMBLE          \
+                     "srl $0, $0, 13\n\t"       \
+                     "srl $0, $0, 29\n\t"       \
+                     "srl $0, $0, 3\n\t"        \
+                     "srl $0, $0, 19\n\t"
+                    
+#define VALGRIND_DO_CLIENT_REQUEST_EXPR(                          \
+       _zzq_default, _zzq_request,                                \
+       _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)     \
+  __extension__                                                   \
+  ({ volatile unsigned int _zzq_args[6];                          \
+    volatile unsigned int _zzq_result;                            \
+    _zzq_args[0] = (unsigned int)(_zzq_request);                  \
+    _zzq_args[1] = (unsigned int)(_zzq_arg1);                     \
+    _zzq_args[2] = (unsigned int)(_zzq_arg2);                     \
+    _zzq_args[3] = (unsigned int)(_zzq_arg3);                     \
+    _zzq_args[4] = (unsigned int)(_zzq_arg4);                     \
+    _zzq_args[5] = (unsigned int)(_zzq_arg5);                     \
+        __asm__ volatile("move $11, %1\n\t" /*default*/           \
+                     "move $12, %2\n\t" /*ptr*/                   \
+                     __SPECIAL_INSTRUCTION_PREAMBLE               \
+                     /* T3 = client_request ( T4 ) */             \
+                     "or $13, $13, $13\n\t"                       \
+                     "move %0, $11\n\t"     /*result*/            \
+                     : "=r" (_zzq_result)                         \
+                     : "r" (_zzq_default), "r" (&_zzq_args[0])    \
+                     : "$11", "$12");                             \
+    _zzq_result;                                                  \
+  })
+
+#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval)                       \
+  { volatile OrigFn* _zzq_orig = &(_zzq_rlval);                   \
+    volatile unsigned int __addr;                                 \
+    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
+                     /* %t9 = guest_NRADDR */                     \
+                     "or $14, $14, $14\n\t"                       \
+                     "move %0, $11"     /*result*/                \
+                     : "=r" (__addr)                              \
+                     :                                            \
+                     : "$11"                                      \
+                    );                                            \
+    _zzq_orig->nraddr = __addr;                                   \
+  }
+
+#define VALGRIND_CALL_NOREDIR_T9                                 \
+                     __SPECIAL_INSTRUCTION_PREAMBLE              \
+                     /* call-noredir *%t9 */                     \
+                     "or $15, $15, $15\n\t"
+
+#define VALGRIND_VEX_INJECT_IR()                                 \
+ do {                                                            \
+    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE              \
+                     "or $11, $11, $11\n\t"                      \
+                    );                                           \
+ } while (0)
+
+
+#endif /* PLAT_mips32_linux */
+
+/* ------------------------- mips64-linux ---------------- */
+
+#if defined(PLAT_mips64_linux)
+
+typedef
+   struct {
+      unsigned long long nraddr; /* where's the code? */
+   }
+   OrigFn;
+
+/* dsll $0,$0, 3
+ * dsll $0,$0, 13
+ * dsll $0,$0, 29
+ * dsll $0,$0, 19*/
+#define __SPECIAL_INSTRUCTION_PREAMBLE                              \
+                     "dsll $0,$0, 3 ; dsll $0,$0,13\n\t"            \
+                     "dsll $0,$0,29 ; dsll $0,$0,19\n\t"
+
+#define VALGRIND_DO_CLIENT_REQUEST_EXPR(                            \
+       _zzq_default, _zzq_request,                                  \
+       _zzq_arg1, _zzq_arg2, _zzq_arg3, _zzq_arg4, _zzq_arg5)       \
+  __extension__                                                     \
+  ({ volatile unsigned long long int _zzq_args[6];                  \
+    volatile unsigned long long int _zzq_result;                    \
+    _zzq_args[0] = (unsigned long long int)(_zzq_request);          \
+    _zzq_args[1] = (unsigned long long int)(_zzq_arg1);             \
+    _zzq_args[2] = (unsigned long long int)(_zzq_arg2);             \
+    _zzq_args[3] = (unsigned long long int)(_zzq_arg3);             \
+    _zzq_args[4] = (unsigned long long int)(_zzq_arg4);             \
+    _zzq_args[5] = (unsigned long long int)(_zzq_arg5);             \
+        __asm__ volatile("move $11, %1\n\t" /*default*/             \
+                         "move $12, %2\n\t" /*ptr*/                 \
+                         __SPECIAL_INSTRUCTION_PREAMBLE             \
+                         /* $11 = client_request ( $12 ) */         \
+                         "or $13, $13, $13\n\t"                     \
+                         "move %0, $11\n\t"     /*result*/          \
+                         : "=r" (_zzq_result)                       \
+                         : "r" (_zzq_default), "r" (&_zzq_args[0])  \
+                         : "$11", "$12");                           \
+    _zzq_result;                                                    \
+  })
+
+#define VALGRIND_GET_NR_CONTEXT(_zzq_rlval)                         \
+  { volatile OrigFn* _zzq_orig = &(_zzq_rlval);                     \
+    volatile unsigned long long int __addr;                         \
+    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE                 \
+                     /* $11 = guest_NRADDR */                       \
+                     "or $14, $14, $14\n\t"                         \
+                     "move %0, $11"     /*result*/                  \
+                     : "=r" (__addr)                                \
+                     :                                              \
+                     : "$11");                                      \
+    _zzq_orig->nraddr = __addr;                                     \
+  }
+
+#define VALGRIND_CALL_NOREDIR_T9                                    \
+                     __SPECIAL_INSTRUCTION_PREAMBLE                 \
+                     /* call-noredir $25 */                         \
+                     "or $15, $15, $15\n\t"
+
+#define VALGRIND_VEX_INJECT_IR()                                    \
+ do {                                                               \
+    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE                 \
+                     "or $11, $11, $11\n\t"                         \
+                    );                                              \
+ } while (0)
+
+#endif /* PLAT_mips64_linux */
+
 /* Insert assembly code for other platforms here... */
 
 #endif /* NVALGRIND */
@@ -715,6 +920,18 @@
    macros.  The type of the argument _lval is OrigFn. */
 #define VALGRIND_GET_ORIG_FN(_lval)  VALGRIND_GET_NR_CONTEXT(_lval)
 
+/* Also provide end-user facilities for function replacement, rather
+   than wrapping.  A replacement function differs from a wrapper in
+   that it has no way to get hold of the original function being
+   called, and hence no way to call onwards to it.  In a replacement
+   function, VALGRIND_GET_ORIG_FN always returns zero. */
+
+#define I_REPLACE_SONAME_FNNAME_ZU(soname,fnname)                 \
+   VG_CONCAT4(_vgr00000ZU_,soname,_,fnname)
+
+#define I_REPLACE_SONAME_FNNAME_ZZ(soname,fnname)                 \
+   VG_CONCAT4(_vgr00000ZZ_,soname,_,fnname)
+
 /* Derivatives of the main macros below, for calling functions
    returning void. */
 
@@ -758,6 +975,17 @@
    as gcc can already see that, plus causes gcc to bomb. */
 #define __CALLER_SAVED_REGS /*"eax"*/ "ecx", "edx"
 
+/* Macros to save and align the stack before making a function
+   call and restore it afterwards as gcc may not keep the stack
+   pointer aligned if it doesn't realise calls are being made
+   to other functions. */
+
+#define VALGRIND_ALIGN_STACK               \
+      "movl %%esp,%%edi\n\t"               \
+      "andl $0xfffffff0,%%esp\n\t"
+#define VALGRIND_RESTORE_STACK             \
+      "movl %%edi,%%esp\n\t"
+
 /* These CALL_FN_ macros assume that on x86-linux, sizeof(unsigned
    long) == 4. */
 
@@ -768,11 +996,13 @@
       volatile unsigned long _res;                                \
       _argvec[0] = (unsigned long)_orig.nraddr;                   \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -785,14 +1015,15 @@
       _argvec[0] = (unsigned long)_orig.nraddr;                   \
       _argvec[1] = (unsigned long)(arg1);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "subl $12, %%esp\n\t"                                    \
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $16, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -806,15 +1037,16 @@
       _argvec[1] = (unsigned long)(arg1);                         \
       _argvec[2] = (unsigned long)(arg2);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "subl $8, %%esp\n\t"                                     \
          "pushl 8(%%eax)\n\t"                                     \
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $16, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -829,16 +1061,17 @@
       _argvec[2] = (unsigned long)(arg2);                         \
       _argvec[3] = (unsigned long)(arg3);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "subl $4, %%esp\n\t"                                     \
          "pushl 12(%%eax)\n\t"                                    \
          "pushl 8(%%eax)\n\t"                                     \
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $16, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -854,16 +1087,17 @@
       _argvec[3] = (unsigned long)(arg3);                         \
       _argvec[4] = (unsigned long)(arg4);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "pushl 16(%%eax)\n\t"                                    \
          "pushl 12(%%eax)\n\t"                                    \
          "pushl 8(%%eax)\n\t"                                     \
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $16, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -880,6 +1114,7 @@
       _argvec[4] = (unsigned long)(arg4);                         \
       _argvec[5] = (unsigned long)(arg5);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "subl $12, %%esp\n\t"                                    \
          "pushl 20(%%eax)\n\t"                                    \
          "pushl 16(%%eax)\n\t"                                    \
@@ -888,10 +1123,10 @@
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $32, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -909,6 +1144,7 @@
       _argvec[5] = (unsigned long)(arg5);                         \
       _argvec[6] = (unsigned long)(arg6);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "subl $8, %%esp\n\t"                                     \
          "pushl 24(%%eax)\n\t"                                    \
          "pushl 20(%%eax)\n\t"                                    \
@@ -918,10 +1154,10 @@
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $32, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -941,6 +1177,7 @@
       _argvec[6] = (unsigned long)(arg6);                         \
       _argvec[7] = (unsigned long)(arg7);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "subl $4, %%esp\n\t"                                     \
          "pushl 28(%%eax)\n\t"                                    \
          "pushl 24(%%eax)\n\t"                                    \
@@ -951,10 +1188,10 @@
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $32, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -975,6 +1212,7 @@
       _argvec[7] = (unsigned long)(arg7);                         \
       _argvec[8] = (unsigned long)(arg8);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "pushl 32(%%eax)\n\t"                                    \
          "pushl 28(%%eax)\n\t"                                    \
          "pushl 24(%%eax)\n\t"                                    \
@@ -985,10 +1223,10 @@
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $32, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1010,6 +1248,7 @@
       _argvec[8] = (unsigned long)(arg8);                         \
       _argvec[9] = (unsigned long)(arg9);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "subl $12, %%esp\n\t"                                    \
          "pushl 36(%%eax)\n\t"                                    \
          "pushl 32(%%eax)\n\t"                                    \
@@ -1022,10 +1261,10 @@
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $48, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1048,6 +1287,7 @@
       _argvec[9] = (unsigned long)(arg9);                         \
       _argvec[10] = (unsigned long)(arg10);                       \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "subl $8, %%esp\n\t"                                     \
          "pushl 40(%%eax)\n\t"                                    \
          "pushl 36(%%eax)\n\t"                                    \
@@ -1061,10 +1301,10 @@
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $48, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1089,6 +1329,7 @@
       _argvec[10] = (unsigned long)(arg10);                       \
       _argvec[11] = (unsigned long)(arg11);                       \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "subl $4, %%esp\n\t"                                     \
          "pushl 44(%%eax)\n\t"                                    \
          "pushl 40(%%eax)\n\t"                                    \
@@ -1103,10 +1344,10 @@
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $48, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1132,6 +1373,7 @@
       _argvec[11] = (unsigned long)(arg11);                       \
       _argvec[12] = (unsigned long)(arg12);                       \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "pushl 48(%%eax)\n\t"                                    \
          "pushl 44(%%eax)\n\t"                                    \
          "pushl 40(%%eax)\n\t"                                    \
@@ -1146,10 +1388,10 @@
          "pushl 4(%%eax)\n\t"                                     \
          "movl (%%eax), %%eax\n\t"  /* target->%eax */            \
          VALGRIND_CALL_NOREDIR_EAX                                \
-         "addl $48, %%esp\n"                                      \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=a" (_res)                                  \
          : /*in*/    "a" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "edi"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1237,6 +1479,16 @@
 #  define VALGRIND_CFI_EPILOGUE
 #endif
 
+/* Macros to save and align the stack before making a function
+   call and restore it afterwards as gcc may not keep the stack
+   pointer aligned if it doesn't realise calls are being made
+   to other functions. */
+
+#define VALGRIND_ALIGN_STACK               \
+      "movq %%rsp,%%r14\n\t"               \
+      "andq $0xfffffffffffffff0,%%rsp\n\t"
+#define VALGRIND_RESTORE_STACK             \
+      "movq %%r14,%%rsp\n\t"
 
 /* These CALL_FN_ macros assume that on amd64-linux, sizeof(unsigned
    long) == 8. */
@@ -1262,432 +1514,439 @@
    with the stack pointer doesn't give a danger of non-unwindable
    stack. */
 
-#define CALL_FN_W_v(lval, orig)                                   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[1];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_v(lval, orig)                                        \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[1];                               \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $128,%%rsp\n\t"                                         \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_W(lval, orig, arg1)                             \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[2];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_W(lval, orig, arg1)                                  \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[2];                               \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $128,%%rsp\n\t"                                         \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_WW(lval, orig, arg1,arg2)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[3];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_WW(lval, orig, arg1,arg2)                            \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[3];                               \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      _argvec[2] = (unsigned long)(arg2);                              \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $128,%%rsp\n\t"                                         \
+         "movq 16(%%rax), %%rsi\n\t"                                   \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_WWW(lval, orig, arg1,arg2,arg3)                 \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[4];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_WWW(lval, orig, arg1,arg2,arg3)                      \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[4];                               \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      _argvec[2] = (unsigned long)(arg2);                              \
+      _argvec[3] = (unsigned long)(arg3);                              \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $128,%%rsp\n\t"                                         \
+         "movq 24(%%rax), %%rdx\n\t"                                   \
+         "movq 16(%%rax), %%rsi\n\t"                                   \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_WWWW(lval, orig, arg1,arg2,arg3,arg4)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[5];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_WWWW(lval, orig, arg1,arg2,arg3,arg4)                \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[5];                               \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      _argvec[2] = (unsigned long)(arg2);                              \
+      _argvec[3] = (unsigned long)(arg3);                              \
+      _argvec[4] = (unsigned long)(arg4);                              \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $128,%%rsp\n\t"                                         \
+         "movq 32(%%rax), %%rcx\n\t"                                   \
+         "movq 24(%%rax), %%rdx\n\t"                                   \
+         "movq 16(%%rax), %%rsi\n\t"                                   \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_5W(lval, orig, arg1,arg2,arg3,arg4,arg5)        \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[6];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_5W(lval, orig, arg1,arg2,arg3,arg4,arg5)             \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[6];                               \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      _argvec[2] = (unsigned long)(arg2);                              \
+      _argvec[3] = (unsigned long)(arg3);                              \
+      _argvec[4] = (unsigned long)(arg4);                              \
+      _argvec[5] = (unsigned long)(arg5);                              \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $128,%%rsp\n\t"                                         \
+         "movq 40(%%rax), %%r8\n\t"                                    \
+         "movq 32(%%rax), %%rcx\n\t"                                   \
+         "movq 24(%%rax), %%rdx\n\t"                                   \
+         "movq 16(%%rax), %%rsi\n\t"                                   \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_6W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6)   \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[7];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_6W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6)        \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[7];                               \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      _argvec[2] = (unsigned long)(arg2);                              \
+      _argvec[3] = (unsigned long)(arg3);                              \
+      _argvec[4] = (unsigned long)(arg4);                              \
+      _argvec[5] = (unsigned long)(arg5);                              \
+      _argvec[6] = (unsigned long)(arg6);                              \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $128,%%rsp\n\t"                                         \
+         "movq 48(%%rax), %%r9\n\t"                                    \
+         "movq 40(%%rax), %%r8\n\t"                                    \
+         "movq 32(%%rax), %%rcx\n\t"                                   \
+         "movq 24(%%rax), %%rdx\n\t"                                   \
+         "movq 16(%%rax), %%rsi\n\t"                                   \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_7W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7)                            \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[8];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $136,%%rsp\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $8, %%rsp\n"                                       \
-         "addq $136,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_7W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,        \
+                                 arg7)                                 \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[8];                               \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      _argvec[2] = (unsigned long)(arg2);                              \
+      _argvec[3] = (unsigned long)(arg3);                              \
+      _argvec[4] = (unsigned long)(arg4);                              \
+      _argvec[5] = (unsigned long)(arg5);                              \
+      _argvec[6] = (unsigned long)(arg6);                              \
+      _argvec[7] = (unsigned long)(arg7);                              \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $136,%%rsp\n\t"                                         \
+         "pushq 56(%%rax)\n\t"                                         \
+         "movq 48(%%rax), %%r9\n\t"                                    \
+         "movq 40(%%rax), %%r8\n\t"                                    \
+         "movq 32(%%rax), %%rcx\n\t"                                   \
+         "movq 24(%%rax), %%rdx\n\t"                                   \
+         "movq 16(%%rax), %%rsi\n\t"                                   \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_8W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8)                       \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[9];                          \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "pushq 64(%%rax)\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $16, %%rsp\n"                                      \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_8W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,        \
+                                 arg7,arg8)                            \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[9];                               \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      _argvec[2] = (unsigned long)(arg2);                              \
+      _argvec[3] = (unsigned long)(arg3);                              \
+      _argvec[4] = (unsigned long)(arg4);                              \
+      _argvec[5] = (unsigned long)(arg5);                              \
+      _argvec[6] = (unsigned long)(arg6);                              \
+      _argvec[7] = (unsigned long)(arg7);                              \
+      _argvec[8] = (unsigned long)(arg8);                              \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $128,%%rsp\n\t"                                         \
+         "pushq 64(%%rax)\n\t"                                         \
+         "pushq 56(%%rax)\n\t"                                         \
+         "movq 48(%%rax), %%r9\n\t"                                    \
+         "movq 40(%%rax), %%r8\n\t"                                    \
+         "movq 32(%%rax), %%rcx\n\t"                                   \
+         "movq 24(%%rax), %%rdx\n\t"                                   \
+         "movq 16(%%rax), %%rsi\n\t"                                   \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_9W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
-                                 arg7,arg8,arg9)                  \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[10];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $136,%%rsp\n\t"                                    \
-         "pushq 72(%%rax)\n\t"                                    \
-         "pushq 64(%%rax)\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $24, %%rsp\n"                                      \
-         "addq $136,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_9W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,        \
+                                 arg7,arg8,arg9)                       \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[10];                              \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      _argvec[2] = (unsigned long)(arg2);                              \
+      _argvec[3] = (unsigned long)(arg3);                              \
+      _argvec[4] = (unsigned long)(arg4);                              \
+      _argvec[5] = (unsigned long)(arg5);                              \
+      _argvec[6] = (unsigned long)(arg6);                              \
+      _argvec[7] = (unsigned long)(arg7);                              \
+      _argvec[8] = (unsigned long)(arg8);                              \
+      _argvec[9] = (unsigned long)(arg9);                              \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $136,%%rsp\n\t"                                         \
+         "pushq 72(%%rax)\n\t"                                         \
+         "pushq 64(%%rax)\n\t"                                         \
+         "pushq 56(%%rax)\n\t"                                         \
+         "movq 48(%%rax), %%r9\n\t"                                    \
+         "movq 40(%%rax), %%r8\n\t"                                    \
+         "movq 32(%%rax), %%rcx\n\t"                                   \
+         "movq 24(%%rax), %%rdx\n\t"                                   \
+         "movq 16(%%rax), %%rsi\n\t"                                   \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_10W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10)           \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[11];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "pushq 80(%%rax)\n\t"                                    \
-         "pushq 72(%%rax)\n\t"                                    \
-         "pushq 64(%%rax)\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $32, %%rsp\n"                                      \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_10W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,       \
+                                  arg7,arg8,arg9,arg10)                \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[11];                              \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      _argvec[2] = (unsigned long)(arg2);                              \
+      _argvec[3] = (unsigned long)(arg3);                              \
+      _argvec[4] = (unsigned long)(arg4);                              \
+      _argvec[5] = (unsigned long)(arg5);                              \
+      _argvec[6] = (unsigned long)(arg6);                              \
+      _argvec[7] = (unsigned long)(arg7);                              \
+      _argvec[8] = (unsigned long)(arg8);                              \
+      _argvec[9] = (unsigned long)(arg9);                              \
+      _argvec[10] = (unsigned long)(arg10);                            \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $128,%%rsp\n\t"                                         \
+         "pushq 80(%%rax)\n\t"                                         \
+         "pushq 72(%%rax)\n\t"                                         \
+         "pushq 64(%%rax)\n\t"                                         \
+         "pushq 56(%%rax)\n\t"                                         \
+         "movq 48(%%rax), %%r9\n\t"                                    \
+         "movq 40(%%rax), %%r8\n\t"                                    \
+         "movq 32(%%rax), %%rcx\n\t"                                   \
+         "movq 24(%%rax), %%rdx\n\t"                                   \
+         "movq 16(%%rax), %%rsi\n\t"                                   \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_11W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                  arg7,arg8,arg9,arg10,arg11)     \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[12];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      _argvec[11] = (unsigned long)(arg11);                       \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $136,%%rsp\n\t"                                    \
-         "pushq 88(%%rax)\n\t"                                    \
-         "pushq 80(%%rax)\n\t"                                    \
-         "pushq 72(%%rax)\n\t"                                    \
-         "pushq 64(%%rax)\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $40, %%rsp\n"                                      \
-         "addq $136,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_11W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,       \
+                                  arg7,arg8,arg9,arg10,arg11)          \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[12];                              \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      _argvec[2] = (unsigned long)(arg2);                              \
+      _argvec[3] = (unsigned long)(arg3);                              \
+      _argvec[4] = (unsigned long)(arg4);                              \
+      _argvec[5] = (unsigned long)(arg5);                              \
+      _argvec[6] = (unsigned long)(arg6);                              \
+      _argvec[7] = (unsigned long)(arg7);                              \
+      _argvec[8] = (unsigned long)(arg8);                              \
+      _argvec[9] = (unsigned long)(arg9);                              \
+      _argvec[10] = (unsigned long)(arg10);                            \
+      _argvec[11] = (unsigned long)(arg11);                            \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $136,%%rsp\n\t"                                         \
+         "pushq 88(%%rax)\n\t"                                         \
+         "pushq 80(%%rax)\n\t"                                         \
+         "pushq 72(%%rax)\n\t"                                         \
+         "pushq 64(%%rax)\n\t"                                         \
+         "pushq 56(%%rax)\n\t"                                         \
+         "movq 48(%%rax), %%r9\n\t"                                    \
+         "movq 40(%%rax), %%r8\n\t"                                    \
+         "movq 32(%%rax), %%rcx\n\t"                                   \
+         "movq 24(%%rax), %%rdx\n\t"                                   \
+         "movq 16(%%rax), %%rsi\n\t"                                   \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
-#define CALL_FN_W_12W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
-                                arg7,arg8,arg9,arg10,arg11,arg12) \
-   do {                                                           \
-      volatile OrigFn        _orig = (orig);                      \
-      volatile unsigned long _argvec[13];                         \
-      volatile unsigned long _res;                                \
-      _argvec[0] = (unsigned long)_orig.nraddr;                   \
-      _argvec[1] = (unsigned long)(arg1);                         \
-      _argvec[2] = (unsigned long)(arg2);                         \
-      _argvec[3] = (unsigned long)(arg3);                         \
-      _argvec[4] = (unsigned long)(arg4);                         \
-      _argvec[5] = (unsigned long)(arg5);                         \
-      _argvec[6] = (unsigned long)(arg6);                         \
-      _argvec[7] = (unsigned long)(arg7);                         \
-      _argvec[8] = (unsigned long)(arg8);                         \
-      _argvec[9] = (unsigned long)(arg9);                         \
-      _argvec[10] = (unsigned long)(arg10);                       \
-      _argvec[11] = (unsigned long)(arg11);                       \
-      _argvec[12] = (unsigned long)(arg12);                       \
-      __asm__ volatile(                                           \
-         VALGRIND_CFI_PROLOGUE                                    \
-         "subq $128,%%rsp\n\t"                                    \
-         "pushq 96(%%rax)\n\t"                                    \
-         "pushq 88(%%rax)\n\t"                                    \
-         "pushq 80(%%rax)\n\t"                                    \
-         "pushq 72(%%rax)\n\t"                                    \
-         "pushq 64(%%rax)\n\t"                                    \
-         "pushq 56(%%rax)\n\t"                                    \
-         "movq 48(%%rax), %%r9\n\t"                               \
-         "movq 40(%%rax), %%r8\n\t"                               \
-         "movq 32(%%rax), %%rcx\n\t"                              \
-         "movq 24(%%rax), %%rdx\n\t"                              \
-         "movq 16(%%rax), %%rsi\n\t"                              \
-         "movq 8(%%rax), %%rdi\n\t"                               \
-         "movq (%%rax), %%rax\n\t"  /* target->%rax */            \
-         VALGRIND_CALL_NOREDIR_RAX                                \
-         "addq $48, %%rsp\n"                                      \
-         "addq $128,%%rsp\n\t"                                    \
-         VALGRIND_CFI_EPILOGUE                                    \
-         : /*out*/   "=a" (_res)                                  \
-         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r15"   \
-      );                                                          \
-      lval = (__typeof__(lval)) _res;                             \
+#define CALL_FN_W_12W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,       \
+                                arg7,arg8,arg9,arg10,arg11,arg12)      \
+   do {                                                                \
+      volatile OrigFn        _orig = (orig);                           \
+      volatile unsigned long _argvec[13];                              \
+      volatile unsigned long _res;                                     \
+      _argvec[0] = (unsigned long)_orig.nraddr;                        \
+      _argvec[1] = (unsigned long)(arg1);                              \
+      _argvec[2] = (unsigned long)(arg2);                              \
+      _argvec[3] = (unsigned long)(arg3);                              \
+      _argvec[4] = (unsigned long)(arg4);                              \
+      _argvec[5] = (unsigned long)(arg5);                              \
+      _argvec[6] = (unsigned long)(arg6);                              \
+      _argvec[7] = (unsigned long)(arg7);                              \
+      _argvec[8] = (unsigned long)(arg8);                              \
+      _argvec[9] = (unsigned long)(arg9);                              \
+      _argvec[10] = (unsigned long)(arg10);                            \
+      _argvec[11] = (unsigned long)(arg11);                            \
+      _argvec[12] = (unsigned long)(arg12);                            \
+      __asm__ volatile(                                                \
+         VALGRIND_CFI_PROLOGUE                                         \
+         VALGRIND_ALIGN_STACK                                          \
+         "subq $128,%%rsp\n\t"                                         \
+         "pushq 96(%%rax)\n\t"                                         \
+         "pushq 88(%%rax)\n\t"                                         \
+         "pushq 80(%%rax)\n\t"                                         \
+         "pushq 72(%%rax)\n\t"                                         \
+         "pushq 64(%%rax)\n\t"                                         \
+         "pushq 56(%%rax)\n\t"                                         \
+         "movq 48(%%rax), %%r9\n\t"                                    \
+         "movq 40(%%rax), %%r8\n\t"                                    \
+         "movq 32(%%rax), %%rcx\n\t"                                   \
+         "movq 24(%%rax), %%rdx\n\t"                                   \
+         "movq 16(%%rax), %%rsi\n\t"                                   \
+         "movq 8(%%rax), %%rdi\n\t"                                    \
+         "movq (%%rax), %%rax\n\t"  /* target->%rax */                 \
+         VALGRIND_CALL_NOREDIR_RAX                                     \
+         VALGRIND_RESTORE_STACK                                        \
+         VALGRIND_CFI_EPILOGUE                                         \
+         : /*out*/   "=a" (_res)                                       \
+         : /*in*/    "a" (&_argvec[0]) __FRAME_POINTER                 \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r14", "r15" \
+      );                                                               \
+      lval = (__typeof__(lval)) _res;                                  \
    } while (0)
 
 #endif /* PLAT_amd64_linux || PLAT_amd64_darwin */
@@ -1726,6 +1985,17 @@
    "r0", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10",   \
    "r11", "r12", "r13"
 
+/* Macros to save and align the stack before making a function
+   call and restore it afterwards as gcc may not keep the stack
+   pointer aligned if it doesn't realise calls are being made
+   to other functions. */
+
+#define VALGRIND_ALIGN_STACK               \
+      "mr 28,1\n\t"                        \
+      "rlwinm 1,1,0,0,27\n\t"
+#define VALGRIND_RESTORE_STACK             \
+      "mr 1,28\n\t"
+
 /* These CALL_FN_ macros assume that on ppc32-linux, 
    sizeof(unsigned long) == 4. */
 
@@ -1736,13 +2006,15 @@
       volatile unsigned long _res;                                \
       _argvec[0] = (unsigned long)_orig.nraddr;                   \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1755,14 +2027,16 @@
       _argvec[0] = (unsigned long)_orig.nraddr;                   \
       _argvec[1] = (unsigned long)arg1;                           \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1776,15 +2050,17 @@
       _argvec[1] = (unsigned long)arg1;                           \
       _argvec[2] = (unsigned long)arg2;                           \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
          "lwz 4,8(11)\n\t"                                        \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1799,16 +2075,18 @@
       _argvec[2] = (unsigned long)arg2;                           \
       _argvec[3] = (unsigned long)arg3;                           \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
          "lwz 4,8(11)\n\t"                                        \
          "lwz 5,12(11)\n\t"                                       \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1824,6 +2102,7 @@
       _argvec[3] = (unsigned long)arg3;                           \
       _argvec[4] = (unsigned long)arg4;                           \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
          "lwz 4,8(11)\n\t"                                        \
@@ -1831,10 +2110,11 @@
          "lwz 6,16(11)\n\t"  /* arg4->r6 */                       \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1851,6 +2131,7 @@
       _argvec[4] = (unsigned long)arg4;                           \
       _argvec[5] = (unsigned long)arg5;                           \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
          "lwz 4,8(11)\n\t"                                        \
@@ -1859,10 +2140,11 @@
          "lwz 7,20(11)\n\t"                                       \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1880,6 +2162,7 @@
       _argvec[5] = (unsigned long)arg5;                           \
       _argvec[6] = (unsigned long)arg6;                           \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
          "lwz 4,8(11)\n\t"                                        \
@@ -1889,10 +2172,11 @@
          "lwz 8,24(11)\n\t"                                       \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1912,6 +2196,7 @@
       _argvec[6] = (unsigned long)arg6;                           \
       _argvec[7] = (unsigned long)arg7;                           \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
          "lwz 4,8(11)\n\t"                                        \
@@ -1922,10 +2207,11 @@
          "lwz 9,28(11)\n\t"                                       \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1946,6 +2232,7 @@
       _argvec[7] = (unsigned long)arg7;                           \
       _argvec[8] = (unsigned long)arg8;                           \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "lwz 3,4(11)\n\t"   /* arg1->r3 */                       \
          "lwz 4,8(11)\n\t"                                        \
@@ -1957,10 +2244,11 @@
          "lwz 10,32(11)\n\t" /* arg8->r10 */                      \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -1982,6 +2270,7 @@
       _argvec[8] = (unsigned long)arg8;                           \
       _argvec[9] = (unsigned long)arg9;                           \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "addi 1,1,-16\n\t"                                       \
          /* arg9 */                                               \
@@ -1998,11 +2287,11 @@
          "lwz 10,32(11)\n\t" /* arg8->r10 */                      \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "addi 1,1,16\n\t"                                        \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2025,6 +2314,7 @@
       _argvec[9] = (unsigned long)arg9;                           \
       _argvec[10] = (unsigned long)arg10;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "addi 1,1,-16\n\t"                                       \
          /* arg10 */                                              \
@@ -2044,11 +2334,11 @@
          "lwz 10,32(11)\n\t" /* arg8->r10 */                      \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "addi 1,1,16\n\t"                                        \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2072,6 +2362,7 @@
       _argvec[10] = (unsigned long)arg10;                         \
       _argvec[11] = (unsigned long)arg11;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "addi 1,1,-32\n\t"                                       \
          /* arg11 */                                              \
@@ -2094,11 +2385,11 @@
          "lwz 10,32(11)\n\t" /* arg8->r10 */                      \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "addi 1,1,32\n\t"                                        \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2123,6 +2414,7 @@
       _argvec[11] = (unsigned long)arg11;                         \
       _argvec[12] = (unsigned long)arg12;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "addi 1,1,-32\n\t"                                       \
          /* arg12 */                                              \
@@ -2148,11 +2440,11 @@
          "lwz 10,32(11)\n\t" /* arg8->r10 */                      \
          "lwz 11,0(11)\n\t"  /* target->r11 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
-         "addi 1,1,32\n\t"                                        \
+         VALGRIND_RESTORE_STACK                                   \
          "mr %0,3"                                                \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2172,6 +2464,17 @@
    "r0", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10",   \
    "r11", "r12", "r13"
 
+/* Macros to save and align the stack before making a function
+   call and restore it afterwards as gcc may not keep the stack
+   pointer aligned if it doesn't realise calls are being made
+   to other functions. */
+
+#define VALGRIND_ALIGN_STACK               \
+      "mr 28,1\n\t"                        \
+      "rldicr 1,1,0,59\n\t"
+#define VALGRIND_RESTORE_STACK             \
+      "mr 1,28\n\t"
+
 /* These CALL_FN_ macros assume that on ppc64-linux, sizeof(unsigned
    long) == 8. */
 
@@ -2184,6 +2487,7 @@
       _argvec[1] = (unsigned long)_orig.r2;                       \
       _argvec[2] = (unsigned long)_orig.nraddr;                   \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2191,10 +2495,11 @@
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
+         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2209,6 +2514,7 @@
       _argvec[2]   = (unsigned long)_orig.nraddr;                 \
       _argvec[2+1] = (unsigned long)arg1;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2217,10 +2523,11 @@
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
+         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2236,6 +2543,7 @@
       _argvec[2+1] = (unsigned long)arg1;                         \
       _argvec[2+2] = (unsigned long)arg2;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2245,10 +2553,11 @@
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
+         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2265,6 +2574,7 @@
       _argvec[2+2] = (unsigned long)arg2;                         \
       _argvec[2+3] = (unsigned long)arg3;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2275,10 +2585,11 @@
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
+         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2296,6 +2607,7 @@
       _argvec[2+3] = (unsigned long)arg3;                         \
       _argvec[2+4] = (unsigned long)arg4;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2307,10 +2619,11 @@
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
+         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2329,6 +2642,7 @@
       _argvec[2+4] = (unsigned long)arg4;                         \
       _argvec[2+5] = (unsigned long)arg5;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2341,10 +2655,11 @@
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
+         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2364,6 +2679,7 @@
       _argvec[2+5] = (unsigned long)arg5;                         \
       _argvec[2+6] = (unsigned long)arg6;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2377,10 +2693,11 @@
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
+         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2402,6 +2719,7 @@
       _argvec[2+6] = (unsigned long)arg6;                         \
       _argvec[2+7] = (unsigned long)arg7;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2416,10 +2734,11 @@
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
+         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2442,6 +2761,7 @@
       _argvec[2+7] = (unsigned long)arg7;                         \
       _argvec[2+8] = (unsigned long)arg8;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2457,10 +2777,11 @@
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R11                  \
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
-         "ld 2,-16(11)" /* restore tocptr */                      \
+         "ld 2,-16(11)\n\t" /* restore tocptr */                  \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2484,6 +2805,7 @@
       _argvec[2+8] = (unsigned long)arg8;                         \
       _argvec[2+9] = (unsigned long)arg9;                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2505,10 +2827,10 @@
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
          "ld 2,-16(11)\n\t" /* restore tocptr */                  \
-         "addi 1,1,128"     /* restore frame */                   \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2533,6 +2855,7 @@
       _argvec[2+9] = (unsigned long)arg9;                         \
       _argvec[2+10] = (unsigned long)arg10;                       \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2557,10 +2880,10 @@
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
          "ld 2,-16(11)\n\t" /* restore tocptr */                  \
-         "addi 1,1,128"     /* restore frame */                   \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2586,6 +2909,7 @@
       _argvec[2+10] = (unsigned long)arg10;                       \
       _argvec[2+11] = (unsigned long)arg11;                       \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2613,10 +2937,10 @@
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
          "ld 2,-16(11)\n\t" /* restore tocptr */                  \
-         "addi 1,1,144"     /* restore frame */                   \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2643,6 +2967,7 @@
       _argvec[2+11] = (unsigned long)arg11;                       \
       _argvec[2+12] = (unsigned long)arg12;                       \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "mr 11,%1\n\t"                                           \
          "std 2,-16(11)\n\t"  /* save tocptr */                   \
          "ld   2,-8(11)\n\t"  /* use nraddr's tocptr */           \
@@ -2673,10 +2998,10 @@
          "mr 11,%1\n\t"                                           \
          "mr %0,3\n\t"                                            \
          "ld 2,-16(11)\n\t" /* restore tocptr */                  \
-         "addi 1,1,144"     /* restore frame */                   \
+         VALGRIND_RESTORE_STACK                                   \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "r" (&_argvec[2])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r28"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2690,6 +3015,27 @@
 /* These regs are trashed by the hidden call. */
 #define __CALLER_SAVED_REGS "r0", "r1", "r2", "r3","r4","r14"
 
+/* Macros to save and align the stack before making a function
+   call and restore it afterwards as gcc may not keep the stack
+   pointer aligned if it doesn't realise calls are being made
+   to other functions. */
+
+/* This is a bit tricky.  We store the original stack pointer in r10
+   as it is callee-saves.  gcc doesn't allow the use of r11 for some
+   reason.  Also, we can't directly "bic" the stack pointer in thumb
+   mode since r13 isn't an allowed register number in that context.
+   So use r4 as a temporary, since that is about to get trashed
+   anyway, just after each use of this macro.  Side effect is we need
+   to be very careful about any future changes, since
+   VALGRIND_ALIGN_STACK simply assumes r4 is usable. */
+#define VALGRIND_ALIGN_STACK               \
+      "mov r10, sp\n\t"                    \
+      "mov r4,  sp\n\t"                    \
+      "bic r4,  r4, #7\n\t"                \
+      "mov sp,  r4\n\t"
+#define VALGRIND_RESTORE_STACK             \
+      "mov sp,  r10\n\t"
+
 /* These CALL_FN_ macros assume that on arm-linux, sizeof(unsigned
    long) == 4. */
 
@@ -2700,12 +3046,14 @@
       volatile unsigned long _res;                                \
       _argvec[0] = (unsigned long)_orig.nraddr;                   \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0\n"                                           \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2718,13 +3066,15 @@
       _argvec[0] = (unsigned long)_orig.nraddr;                   \
       _argvec[1] = (unsigned long)(arg1);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "ldr r0, [%1, #4] \n\t"                                  \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0\n"                                           \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory",  __CALLER_SAVED_REGS         \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2738,14 +3088,16 @@
       _argvec[1] = (unsigned long)(arg1);                         \
       _argvec[2] = (unsigned long)(arg2);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "ldr r0, [%1, #4] \n\t"                                  \
          "ldr r1, [%1, #8] \n\t"                                  \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0\n"                                           \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2760,15 +3112,17 @@
       _argvec[2] = (unsigned long)(arg2);                         \
       _argvec[3] = (unsigned long)(arg3);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "ldr r0, [%1, #4] \n\t"                                  \
          "ldr r1, [%1, #8] \n\t"                                  \
          "ldr r2, [%1, #12] \n\t"                                 \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0\n"                                           \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2784,16 +3138,18 @@
       _argvec[3] = (unsigned long)(arg3);                         \
       _argvec[4] = (unsigned long)(arg4);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "ldr r0, [%1, #4] \n\t"                                  \
          "ldr r1, [%1, #8] \n\t"                                  \
          "ldr r2, [%1, #12] \n\t"                                 \
          "ldr r3, [%1, #16] \n\t"                                 \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0"                                             \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2810,6 +3166,8 @@
       _argvec[4] = (unsigned long)(arg4);                         \
       _argvec[5] = (unsigned long)(arg5);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
+         "sub sp, sp, #4 \n\t"                                    \
          "ldr r0, [%1, #20] \n\t"                                 \
          "push {r0} \n\t"                                         \
          "ldr r0, [%1, #4] \n\t"                                  \
@@ -2818,11 +3176,11 @@
          "ldr r3, [%1, #16] \n\t"                                 \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #4 \n\t"                                    \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0"                                             \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2840,6 +3198,7 @@
       _argvec[5] = (unsigned long)(arg5);                         \
       _argvec[6] = (unsigned long)(arg6);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "ldr r0, [%1, #20] \n\t"                                 \
          "ldr r1, [%1, #24] \n\t"                                 \
          "push {r0, r1} \n\t"                                     \
@@ -2849,11 +3208,11 @@
          "ldr r3, [%1, #16] \n\t"                                 \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #8 \n\t"                                    \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0"                                             \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2873,6 +3232,8 @@
       _argvec[6] = (unsigned long)(arg6);                         \
       _argvec[7] = (unsigned long)(arg7);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
+         "sub sp, sp, #4 \n\t"                                    \
          "ldr r0, [%1, #20] \n\t"                                 \
          "ldr r1, [%1, #24] \n\t"                                 \
          "ldr r2, [%1, #28] \n\t"                                 \
@@ -2883,11 +3244,11 @@
          "ldr r3, [%1, #16] \n\t"                                 \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #12 \n\t"                                   \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0"                                             \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2908,6 +3269,7 @@
       _argvec[7] = (unsigned long)(arg7);                         \
       _argvec[8] = (unsigned long)(arg8);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "ldr r0, [%1, #20] \n\t"                                 \
          "ldr r1, [%1, #24] \n\t"                                 \
          "ldr r2, [%1, #28] \n\t"                                 \
@@ -2919,11 +3281,11 @@
          "ldr r3, [%1, #16] \n\t"                                 \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #16 \n\t"                                   \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0"                                             \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2945,6 +3307,8 @@
       _argvec[8] = (unsigned long)(arg8);                         \
       _argvec[9] = (unsigned long)(arg9);                         \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
+         "sub sp, sp, #4 \n\t"                                    \
          "ldr r0, [%1, #20] \n\t"                                 \
          "ldr r1, [%1, #24] \n\t"                                 \
          "ldr r2, [%1, #28] \n\t"                                 \
@@ -2957,11 +3321,11 @@
          "ldr r3, [%1, #16] \n\t"                                 \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #20 \n\t"                                   \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0"                                             \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -2984,6 +3348,7 @@
       _argvec[9] = (unsigned long)(arg9);                         \
       _argvec[10] = (unsigned long)(arg10);                       \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "ldr r0, [%1, #40] \n\t"                                 \
          "push {r0} \n\t"                                         \
          "ldr r0, [%1, #20] \n\t"                                 \
@@ -2998,11 +3363,11 @@
          "ldr r3, [%1, #16] \n\t"                                 \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #24 \n\t"                                   \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0"                                             \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -3027,6 +3392,8 @@
       _argvec[10] = (unsigned long)(arg10);                       \
       _argvec[11] = (unsigned long)(arg11);                       \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
+         "sub sp, sp, #4 \n\t"                                    \
          "ldr r0, [%1, #40] \n\t"                                 \
          "ldr r1, [%1, #44] \n\t"                                 \
          "push {r0, r1} \n\t"                                     \
@@ -3042,11 +3409,11 @@
          "ldr r3, [%1, #16] \n\t"                                 \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #28 \n\t"                                   \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0"                                             \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory",__CALLER_SAVED_REGS           \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -3072,6 +3439,7 @@
       _argvec[11] = (unsigned long)(arg11);                       \
       _argvec[12] = (unsigned long)(arg12);                       \
       __asm__ volatile(                                           \
+         VALGRIND_ALIGN_STACK                                     \
          "ldr r0, [%1, #40] \n\t"                                 \
          "ldr r1, [%1, #44] \n\t"                                 \
          "ldr r2, [%1, #48] \n\t"                                 \
@@ -3088,11 +3456,11 @@
          "ldr r3, [%1, #16] \n\t"                                 \
          "ldr r4, [%1] \n\t"  /* target->r4 */                    \
          VALGRIND_BRANCH_AND_LINK_TO_NOREDIR_R4                   \
-         "add sp, sp, #32 \n\t"                                   \
+         VALGRIND_RESTORE_STACK                                   \
          "mov %0, r0"                                             \
          : /*out*/   "=r" (_res)                                  \
          : /*in*/    "0" (&_argvec[0])                            \
-         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS          \
+         : /*trash*/ "cc", "memory", __CALLER_SAVED_REGS, "r10"   \
       );                                                          \
       lval = (__typeof__(lval)) _res;                             \
    } while (0)
@@ -3126,8 +3494,10 @@
 #  define VALGRIND_CFI_EPILOGUE
 #endif
 
-
-
+/* Nb: On s390 the stack pointer is properly aligned *at all times*
+   according to the s390 GCC maintainer. (The ABI specification is not
+   precise in this regard.) Therefore, VALGRIND_ALIGN_STACK and
+   VALGRIND_RESTORE_STACK are not defined here. */
 
 /* These regs are trashed by the hidden call. Note that we overwrite
    r14 in s390_irgen_noredir (VEX/priv/guest_s390_irgen.c) to give the
@@ -3136,6 +3506,14 @@
 #define __CALLER_SAVED_REGS "0","1","2","3","4","5","14", \
                            "f0","f1","f2","f3","f4","f5","f6","f7"
 
+/* Nb: Although r11 is modified in the asm snippets below (inside 
+   VALGRIND_CFI_PROLOGUE) it is not listed in the clobber section, for
+   two reasons:
+   (1) r11 is restored in VALGRIND_CFI_EPILOGUE, so effectively it is not
+       modified
+   (2) GCC will complain that r11 cannot appear inside a clobber section,
+       when compiled with -O -fno-omit-frame-pointer
+ */
 
 #define CALL_FN_W_v(lval, orig)                                  \
    do {                                                          \
@@ -3577,6 +3955,962 @@
 
 #endif /* PLAT_s390x_linux */
 
+/* ------------------------- mips32-linux ----------------------- */
+ 
+#if defined(PLAT_mips32_linux)
+
+/* These regs are trashed by the hidden call. */
+#define __CALLER_SAVED_REGS "$2", "$3", "$4", "$5", "$6",       \
+"$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
+"$25", "$31"
+
+/* These CALL_FN_ macros assume that on mips-linux, sizeof(unsigned
+   long) == 4. */
+
+#define CALL_FN_W_v(lval, orig)                                   \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[1];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "subu $29, $29, 16 \n\t"                                 \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 16\n\t"                                  \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_W(lval, orig, arg1)                             \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+     volatile unsigned long _argvec[2];                           \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "subu $29, $29, 16 \n\t"                                 \
+         "lw $4, 4(%1) \n\t"   /* arg1*/                          \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 16 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory",  __CALLER_SAVED_REGS               \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_WW(lval, orig, arg1,arg2)                       \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[3];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "subu $29, $29, 16 \n\t"                                 \
+         "lw $4, 4(%1) \n\t"                                      \
+         "lw $5, 8(%1) \n\t"                                      \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 16 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_WWW(lval, orig, arg1,arg2,arg3)                 \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[4];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "subu $29, $29, 16 \n\t"                                 \
+         "lw $4, 4(%1) \n\t"                                      \
+         "lw $5, 8(%1) \n\t"                                      \
+         "lw $6, 12(%1) \n\t"                                     \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 16 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_WWWW(lval, orig, arg1,arg2,arg3,arg4)           \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[5];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "subu $29, $29, 16 \n\t"                                 \
+         "lw $4, 4(%1) \n\t"                                      \
+         "lw $5, 8(%1) \n\t"                                      \
+         "lw $6, 12(%1) \n\t"                                     \
+         "lw $7, 16(%1) \n\t"                                     \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 16 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_5W(lval, orig, arg1,arg2,arg3,arg4,arg5)        \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[6];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "lw $4, 20(%1) \n\t"                                     \
+         "subu $29, $29, 24\n\t"                                  \
+         "sw $4, 16($29) \n\t"                                    \
+         "lw $4, 4(%1) \n\t"                                      \
+         "lw $5, 8(%1) \n\t"                                      \
+         "lw $6, 12(%1) \n\t"                                     \
+         "lw $7, 16(%1) \n\t"                                     \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 24 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+#define CALL_FN_W_6W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6)   \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[7];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "lw $4, 20(%1) \n\t"                                     \
+         "subu $29, $29, 32\n\t"                                  \
+         "sw $4, 16($29) \n\t"                                    \
+         "lw $4, 24(%1) \n\t"                                     \
+         "nop\n\t"                                                \
+         "sw $4, 20($29) \n\t"                                    \
+         "lw $4, 4(%1) \n\t"                                      \
+         "lw $5, 8(%1) \n\t"                                      \
+         "lw $6, 12(%1) \n\t"                                     \
+         "lw $7, 16(%1) \n\t"                                     \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 32 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_7W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
+                                 arg7)                            \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[8];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "lw $4, 20(%1) \n\t"                                     \
+         "subu $29, $29, 32\n\t"                                  \
+         "sw $4, 16($29) \n\t"                                    \
+         "lw $4, 24(%1) \n\t"                                     \
+         "sw $4, 20($29) \n\t"                                    \
+         "lw $4, 28(%1) \n\t"                                     \
+         "sw $4, 24($29) \n\t"                                    \
+         "lw $4, 4(%1) \n\t"                                      \
+         "lw $5, 8(%1) \n\t"                                      \
+         "lw $6, 12(%1) \n\t"                                     \
+         "lw $7, 16(%1) \n\t"                                     \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 32 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_8W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
+                                 arg7,arg8)                       \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[9];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      _argvec[8] = (unsigned long)(arg8);                         \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "lw $4, 20(%1) \n\t"                                     \
+         "subu $29, $29, 40\n\t"                                  \
+         "sw $4, 16($29) \n\t"                                    \
+         "lw $4, 24(%1) \n\t"                                     \
+         "sw $4, 20($29) \n\t"                                    \
+         "lw $4, 28(%1) \n\t"                                     \
+         "sw $4, 24($29) \n\t"                                    \
+         "lw $4, 32(%1) \n\t"                                     \
+         "sw $4, 28($29) \n\t"                                    \
+         "lw $4, 4(%1) \n\t"                                      \
+         "lw $5, 8(%1) \n\t"                                      \
+         "lw $6, 12(%1) \n\t"                                     \
+         "lw $7, 16(%1) \n\t"                                     \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 40 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_9W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
+                                 arg7,arg8,arg9)                  \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[10];                         \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      _argvec[8] = (unsigned long)(arg8);                         \
+      _argvec[9] = (unsigned long)(arg9);                         \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "lw $4, 20(%1) \n\t"                                     \
+         "subu $29, $29, 40\n\t"                                  \
+         "sw $4, 16($29) \n\t"                                    \
+         "lw $4, 24(%1) \n\t"                                     \
+         "sw $4, 20($29) \n\t"                                    \
+         "lw $4, 28(%1) \n\t"                                     \
+         "sw $4, 24($29) \n\t"                                    \
+         "lw $4, 32(%1) \n\t"                                     \
+         "sw $4, 28($29) \n\t"                                    \
+         "lw $4, 36(%1) \n\t"                                     \
+         "sw $4, 32($29) \n\t"                                    \
+         "lw $4, 4(%1) \n\t"                                      \
+         "lw $5, 8(%1) \n\t"                                      \
+         "lw $6, 12(%1) \n\t"                                     \
+         "lw $7, 16(%1) \n\t"                                     \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 40 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_10W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
+                                  arg7,arg8,arg9,arg10)           \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[11];                         \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      _argvec[8] = (unsigned long)(arg8);                         \
+      _argvec[9] = (unsigned long)(arg9);                         \
+      _argvec[10] = (unsigned long)(arg10);                       \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "lw $4, 20(%1) \n\t"                                     \
+         "subu $29, $29, 48\n\t"                                  \
+         "sw $4, 16($29) \n\t"                                    \
+         "lw $4, 24(%1) \n\t"                                     \
+         "sw $4, 20($29) \n\t"                                    \
+         "lw $4, 28(%1) \n\t"                                     \
+         "sw $4, 24($29) \n\t"                                    \
+         "lw $4, 32(%1) \n\t"                                     \
+         "sw $4, 28($29) \n\t"                                    \
+         "lw $4, 36(%1) \n\t"                                     \
+         "sw $4, 32($29) \n\t"                                    \
+         "lw $4, 40(%1) \n\t"                                     \
+         "sw $4, 36($29) \n\t"                                    \
+         "lw $4, 4(%1) \n\t"                                      \
+         "lw $5, 8(%1) \n\t"                                      \
+         "lw $6, 12(%1) \n\t"                                     \
+         "lw $7, 16(%1) \n\t"                                     \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 48 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_11W(lval, orig, arg1,arg2,arg3,arg4,arg5,       \
+                                  arg6,arg7,arg8,arg9,arg10,      \
+                                  arg11)                          \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[12];                         \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      _argvec[8] = (unsigned long)(arg8);                         \
+      _argvec[9] = (unsigned long)(arg9);                         \
+      _argvec[10] = (unsigned long)(arg10);                       \
+      _argvec[11] = (unsigned long)(arg11);                       \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "lw $4, 20(%1) \n\t"                                     \
+         "subu $29, $29, 48\n\t"                                  \
+         "sw $4, 16($29) \n\t"                                    \
+         "lw $4, 24(%1) \n\t"                                     \
+         "sw $4, 20($29) \n\t"                                    \
+         "lw $4, 28(%1) \n\t"                                     \
+         "sw $4, 24($29) \n\t"                                    \
+         "lw $4, 32(%1) \n\t"                                     \
+         "sw $4, 28($29) \n\t"                                    \
+         "lw $4, 36(%1) \n\t"                                     \
+         "sw $4, 32($29) \n\t"                                    \
+         "lw $4, 40(%1) \n\t"                                     \
+         "sw $4, 36($29) \n\t"                                    \
+         "lw $4, 44(%1) \n\t"                                     \
+         "sw $4, 40($29) \n\t"                                    \
+         "lw $4, 4(%1) \n\t"                                      \
+         "lw $5, 8(%1) \n\t"                                      \
+         "lw $6, 12(%1) \n\t"                                     \
+         "lw $7, 16(%1) \n\t"                                     \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 48 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_12W(lval, orig, arg1,arg2,arg3,arg4,arg5,       \
+                                  arg6,arg7,arg8,arg9,arg10,      \
+                                  arg11,arg12)                    \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[13];                         \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      _argvec[8] = (unsigned long)(arg8);                         \
+      _argvec[9] = (unsigned long)(arg9);                         \
+      _argvec[10] = (unsigned long)(arg10);                       \
+      _argvec[11] = (unsigned long)(arg11);                       \
+      _argvec[12] = (unsigned long)(arg12);                       \
+      __asm__ volatile(                                           \
+         "subu $29, $29, 8 \n\t"                                  \
+         "sw $28, 0($29) \n\t"                                    \
+         "sw $31, 4($29) \n\t"                                    \
+         "lw $4, 20(%1) \n\t"                                     \
+         "subu $29, $29, 56\n\t"                                  \
+         "sw $4, 16($29) \n\t"                                    \
+         "lw $4, 24(%1) \n\t"                                     \
+         "sw $4, 20($29) \n\t"                                    \
+         "lw $4, 28(%1) \n\t"                                     \
+         "sw $4, 24($29) \n\t"                                    \
+         "lw $4, 32(%1) \n\t"                                     \
+         "sw $4, 28($29) \n\t"                                    \
+         "lw $4, 36(%1) \n\t"                                     \
+         "sw $4, 32($29) \n\t"                                    \
+         "lw $4, 40(%1) \n\t"                                     \
+         "sw $4, 36($29) \n\t"                                    \
+         "lw $4, 44(%1) \n\t"                                     \
+         "sw $4, 40($29) \n\t"                                    \
+         "lw $4, 48(%1) \n\t"                                     \
+         "sw $4, 44($29) \n\t"                                    \
+         "lw $4, 4(%1) \n\t"                                      \
+         "lw $5, 8(%1) \n\t"                                      \
+         "lw $6, 12(%1) \n\t"                                     \
+         "lw $7, 16(%1) \n\t"                                     \
+         "lw $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "addu $29, $29, 56 \n\t"                                 \
+         "lw $28, 0($29) \n\t"                                    \
+         "lw $31, 4($29) \n\t"                                    \
+         "addu $29, $29, 8 \n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#endif /* PLAT_mips32_linux */
+
+/* ------------------------- mips64-linux ------------------------- */
+
+#if defined(PLAT_mips64_linux)
+
+/* These regs are trashed by the hidden call. */
+#define __CALLER_SAVED_REGS "$2", "$3", "$4", "$5", "$6",       \
+"$7", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
+"$25", "$31"
+
+/* These CALL_FN_ macros assume that on mips-linux, sizeof(unsigned
+   long) == 4. */
+
+#define CALL_FN_W_v(lval, orig)                                   \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[1];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      __asm__ volatile(                                           \
+         "ld $25, 0(%1)\n\t"  /* target->t9 */                    \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "0" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_W(lval, orig, arg1)                             \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[2];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      __asm__ volatile(                                           \
+         "ld $4, 8(%1)\n\t"   /* arg1*/                           \
+         "ld $25, 0(%1)\n\t"  /* target->t9 */                    \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_WW(lval, orig, arg1,arg2)                       \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[3];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      __asm__ volatile(                                           \
+         "ld $4, 8(%1)\n\t"                                       \
+         "ld $5, 16(%1)\n\t"                                      \
+         "ld $25, 0(%1)\n\t"  /* target->t9 */                    \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_WWW(lval, orig, arg1,arg2,arg3)                 \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[4];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      __asm__ volatile(                                           \
+         "ld $4, 8(%1)\n\t"                                       \
+         "ld $5, 16(%1)\n\t"                                      \
+         "ld $6, 24(%1)\n\t"                                      \
+         "ld $25, 0(%1)\n\t"  /* target->t9 */                    \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_WWWW(lval, orig, arg1,arg2,arg3,arg4)           \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[5];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      __asm__ volatile(                                           \
+         "ld $4, 8(%1)\n\t"                                       \
+         "ld $5, 16(%1)\n\t"                                      \
+         "ld $6, 24(%1)\n\t"                                      \
+         "ld $7, 32(%1)\n\t"                                      \
+         "ld $25, 0(%1)\n\t"  /* target->t9 */                    \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_5W(lval, orig, arg1,arg2,arg3,arg4,arg5)        \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[6];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      __asm__ volatile(                                           \
+         "ld $4, 8(%1)\n\t"                                       \
+         "ld $5, 16(%1)\n\t"                                      \
+         "ld $6, 24(%1)\n\t"                                      \
+         "ld $7, 32(%1)\n\t"                                      \
+         "ld $8, 40(%1)\n\t"                                      \
+         "ld $25, 0(%1)\n\t"  /* target->t9 */                    \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_6W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6)   \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[7];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      __asm__ volatile(                                           \
+         "ld $4, 8(%1)\n\t"                                       \
+         "ld $5, 16(%1)\n\t"                                      \
+         "ld $6, 24(%1)\n\t"                                      \
+         "ld $7, 32(%1)\n\t"                                      \
+         "ld $8, 40(%1)\n\t"                                      \
+         "ld $9, 48(%1)\n\t"                                      \
+         "ld $25, 0(%1)\n\t"  /* target->t9 */                    \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_7W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
+                                 arg7)                            \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[8];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      __asm__ volatile(                                           \
+         "ld $4, 8(%1)\n\t"                                       \
+         "ld $5, 16(%1)\n\t"                                      \
+         "ld $6, 24(%1)\n\t"                                      \
+         "ld $7, 32(%1)\n\t"                                      \
+         "ld $8, 40(%1)\n\t"                                      \
+         "ld $9, 48(%1)\n\t"                                      \
+         "ld $10, 56(%1)\n\t"                                     \
+         "ld $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_8W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
+                                 arg7,arg8)                       \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[9];                          \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      _argvec[8] = (unsigned long)(arg8);                         \
+      __asm__ volatile(                                           \
+         "ld $4, 8(%1)\n\t"                                       \
+         "ld $5, 16(%1)\n\t"                                      \
+         "ld $6, 24(%1)\n\t"                                      \
+         "ld $7, 32(%1)\n\t"                                      \
+         "ld $8, 40(%1)\n\t"                                      \
+         "ld $9, 48(%1)\n\t"                                      \
+         "ld $10, 56(%1)\n\t"                                     \
+         "ld $11, 64(%1)\n\t"                                     \
+         "ld $25, 0(%1) \n\t"  /* target->t9 */                   \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_9W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,   \
+                                 arg7,arg8,arg9)                  \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[10];                         \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      _argvec[8] = (unsigned long)(arg8);                         \
+      _argvec[9] = (unsigned long)(arg9);                         \
+      __asm__ volatile(                                           \
+         "dsubu $29, $29, 8\n\t"                                  \
+         "ld $4, 72(%1)\n\t"                                      \
+         "sd $4, 0($29)\n\t"                                      \
+         "ld $4, 8(%1)\n\t"                                       \
+         "ld $5, 16(%1)\n\t"                                      \
+         "ld $6, 24(%1)\n\t"                                      \
+         "ld $7, 32(%1)\n\t"                                      \
+         "ld $8, 40(%1)\n\t"                                      \
+         "ld $9, 48(%1)\n\t"                                      \
+         "ld $10, 56(%1)\n\t"                                     \
+         "ld $11, 64(%1)\n\t"                                     \
+         "ld $25, 0(%1)\n\t"  /* target->t9 */                    \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "daddu $29, $29, 8\n\t"                                  \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_10W(lval, orig, arg1,arg2,arg3,arg4,arg5,arg6,  \
+                                  arg7,arg8,arg9,arg10)           \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[11];                         \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      _argvec[8] = (unsigned long)(arg8);                         \
+      _argvec[9] = (unsigned long)(arg9);                         \
+      _argvec[10] = (unsigned long)(arg10);                       \
+      __asm__ volatile(                                           \
+         "dsubu $29, $29, 16\n\t"                                 \
+         "ld $4, 72(%1)\n\t"                                      \
+         "sd $4, 0($29)\n\t"                                      \
+         "ld $4, 80(%1)\n\t"                                      \
+         "sd $4, 8($29)\n\t"                                      \
+         "ld $4, 8(%1)\n\t"                                       \
+         "ld $5, 16(%1)\n\t"                                      \
+         "ld $6, 24(%1)\n\t"                                      \
+         "ld $7, 32(%1)\n\t"                                      \
+         "ld $8, 40(%1)\n\t"                                      \
+         "ld $9, 48(%1)\n\t"                                      \
+         "ld $10, 56(%1)\n\t"                                     \
+         "ld $11, 64(%1)\n\t"                                     \
+         "ld $25, 0(%1)\n\t"  /* target->t9 */                    \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "daddu $29, $29, 16\n\t"                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_11W(lval, orig, arg1,arg2,arg3,arg4,arg5,       \
+                                  arg6,arg7,arg8,arg9,arg10,      \
+                                  arg11)                          \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[12];                         \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      _argvec[8] = (unsigned long)(arg8);                         \
+      _argvec[9] = (unsigned long)(arg9);                         \
+      _argvec[10] = (unsigned long)(arg10);                       \
+      _argvec[11] = (unsigned long)(arg11);                       \
+      __asm__ volatile(                                           \
+         "dsubu $29, $29, 24\n\t"                                 \
+         "ld $4, 72(%1)\n\t"                                      \
+         "sd $4, 0($29)\n\t"                                      \
+         "ld $4, 80(%1)\n\t"                                      \
+         "sd $4, 8($29)\n\t"                                      \
+         "ld $4, 88(%1)\n\t"                                      \
+         "sd $4, 16($29)\n\t"                                     \
+         "ld $4, 8(%1)\n\t"                                       \
+         "ld $5, 16(%1)\n\t"                                      \
+         "ld $6, 24(%1)\n\t"                                      \
+         "ld $7, 32(%1)\n\t"                                      \
+         "ld $8, 40(%1)\n\t"                                      \
+         "ld $9, 48(%1)\n\t"                                      \
+         "ld $10, 56(%1)\n\t"                                     \
+         "ld $11, 64(%1)\n\t"                                     \
+         "ld $25, 0(%1)\n\t"  /* target->t9 */                    \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "daddu $29, $29, 24\n\t"                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#define CALL_FN_W_12W(lval, orig, arg1,arg2,arg3,arg4,arg5,       \
+                                  arg6,arg7,arg8,arg9,arg10,      \
+                                  arg11,arg12)                    \
+   do {                                                           \
+      volatile OrigFn        _orig = (orig);                      \
+      volatile unsigned long _argvec[13];                         \
+      volatile unsigned long _res;                                \
+      _argvec[0] = (unsigned long)_orig.nraddr;                   \
+      _argvec[1] = (unsigned long)(arg1);                         \
+      _argvec[2] = (unsigned long)(arg2);                         \
+      _argvec[3] = (unsigned long)(arg3);                         \
+      _argvec[4] = (unsigned long)(arg4);                         \
+      _argvec[5] = (unsigned long)(arg5);                         \
+      _argvec[6] = (unsigned long)(arg6);                         \
+      _argvec[7] = (unsigned long)(arg7);                         \
+      _argvec[8] = (unsigned long)(arg8);                         \
+      _argvec[9] = (unsigned long)(arg9);                         \
+      _argvec[10] = (unsigned long)(arg10);                       \
+      _argvec[11] = (unsigned long)(arg11);                       \
+      _argvec[12] = (unsigned long)(arg12);                       \
+      __asm__ volatile(                                           \
+         "dsubu $29, $29, 32\n\t"                                 \
+         "ld $4, 72(%1)\n\t"                                      \
+         "sd $4, 0($29)\n\t"                                      \
+         "ld $4, 80(%1)\n\t"                                      \
+         "sd $4, 8($29)\n\t"                                      \
+         "ld $4, 88(%1)\n\t"                                      \
+         "sd $4, 16($29)\n\t"                                     \
+         "ld $4, 96(%1)\n\t"                                      \
+         "sd $4, 24($29)\n\t"                                     \
+         "ld $4, 8(%1)\n\t"                                       \
+         "ld $5, 16(%1)\n\t"                                      \
+         "ld $6, 24(%1)\n\t"                                      \
+         "ld $7, 32(%1)\n\t"                                      \
+         "ld $8, 40(%1)\n\t"                                      \
+         "ld $9, 48(%1)\n\t"                                      \
+         "ld $10, 56(%1)\n\t"                                     \
+         "ld $11, 64(%1)\n\t"                                     \
+         "ld $25, 0(%1)\n\t"  /* target->t9 */                    \
+         VALGRIND_CALL_NOREDIR_T9                                 \
+         "daddu $29, $29, 32\n\t"                                 \
+         "move %0, $2\n"                                          \
+         : /*out*/   "=r" (_res)                                  \
+         : /*in*/    "r" (&_argvec[0])                            \
+         : /*trash*/ "memory", __CALLER_SAVED_REGS                \
+      );                                                          \
+      lval = (__typeof__(lval)) _res;                             \
+   } while (0)
+
+#endif /* PLAT_mips64_linux */
+
 
 /* ------------------------------------------------------------------ */
 /* ARCHITECTURE INDEPENDENT MACROS for CLIENT REQUESTS.               */
@@ -3621,8 +4955,8 @@
              errors. */
           VG_USERREQ__COUNT_ERRORS = 0x1201,
 
-          /* Allows a string (gdb monitor command) to be passed to the tool
-             Used for interaction with vgdb/gdb */
+          /* Allows the client program and/or gdbserver to execute a monitor
+             command. */
           VG_USERREQ__GDB_MONITOR_COMMAND = 0x1202,
 
           /* These are useful and can be interpreted by any tool that
@@ -3669,7 +5003,10 @@
              disablement indicator.  Hence 1 disables or further
              disables errors, and -1 moves back towards enablement.
              Other values are not allowed. */
-          VG_USERREQ__CHANGE_ERR_DISABLEMENT = 0x1801
+          VG_USERREQ__CHANGE_ERR_DISABLEMENT = 0x1801,
+
+          /* Initialise IR injection */
+          VG_USERREQ__VEX_INIT_FOR_IRI = 0x1901
    } Vg_ClientRequest;
 
 #if !defined(__GNUC__)
@@ -4047,6 +5384,16 @@
     VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__CHANGE_ERR_DISABLEMENT, \
                                     -1, 0, 0, 0, 0)
 
+/* Execute a monitor command from the client program.
+   If a connection is opened with GDB, the output will be sent
+   according to the output mode set for vgdb.
+   If no connection is opened, output will go to the log output.
+   Returns 1 if command not recognised, 0 otherwise. */
+#define VALGRIND_MONITOR_COMMAND(command)                               \
+   VALGRIND_DO_CLIENT_REQUEST_EXPR(0, VG_USERREQ__GDB_MONITOR_COMMAND, \
+                                   command, 0, 0, 0, 0)
+
+
 #undef PLAT_x86_darwin
 #undef PLAT_amd64_darwin
 #undef PLAT_x86_win32
@@ -4056,5 +5403,7 @@
 #undef PLAT_ppc64_linux
 #undef PLAT_arm_linux
 #undef PLAT_s390x_linux
+#undef PLAT_mips32_linux
+#undef PLAT_mips64_linux
 
 #endif   /* __VALGRIND_H */
diff --git a/include/vki/vki-amd64-linux.h b/include/vki/vki-amd64-linux.h
index 18e4588..1f2fa60 100644
--- a/include/vki/vki-amd64-linux.h
+++ b/include/vki/vki-amd64-linux.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -242,6 +242,7 @@
 // From linux-2.6.9/include/asm-x86_64/fcntl.h
 //----------------------------------------------------------------------
 
+#define VKI_O_ACCMODE	     03
 #define VKI_O_RDONLY	     00
 #define VKI_O_WRONLY	     01
 #define VKI_O_RDWR	     02
@@ -558,11 +559,13 @@
 // type for x86 (the final 'lm' field is added);  I'm not sure about the
 // significance of that... --njn
 
-#if 0
 /* [[Nb: This is the structure passed to the modify_ldt syscall.  Just so as
    to confuse and annoy everyone, this is _not_ the same as an
    VgLdtEntry and has to be translated into such.  The logic for doing
    so, in vg_ldt.c, is copied from the kernel sources.]] */
+/* Note also that a comment in ldt.h indicates that the below
+   contains several fields ignored on 64bit, and that modify_ldt
+   is rather for 32bit. */
 struct vki_user_desc {
 	unsigned int  entry_number;
 	unsigned long base_addr;
@@ -578,9 +581,6 @@
 
 // [[Nb: for our convenience within Valgrind, use a more specific name]]
 typedef struct vki_user_desc vki_modify_ldt_t;
-#endif
-
-typedef void vki_modify_ldt_t;
 
 //----------------------------------------------------------------------
 // From linux-2.6.11.2/include/asm-x86_64/ipcbuf.h
diff --git a/include/vki/vki-arm-linux.h b/include/vki/vki-arm-linux.h
index c06b028..afb9bd7 100644
--- a/include/vki/vki-arm-linux.h
+++ b/include/vki/vki-arm-linux.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -240,6 +240,7 @@
 // From linux-2.6.8.1/include/asm-i386/fcntl.h
 //----------------------------------------------------------------------
 
+#define VKI_O_ACCMODE	     03
 #define VKI_O_RDONLY	     00
 #define VKI_O_WRONLY	     01
 #define VKI_O_RDWR	     02
diff --git a/include/vki/vki-darwin.h b/include/vki/vki-darwin.h
index dfc883d..6c4b559 100644
--- a/include/vki/vki-darwin.h
+++ b/include/vki/vki-darwin.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2007-2011 Apple Inc.
+   Copyright (C) 2007-2012 Apple Inc.
       Greg Parker  gparker@apple.com
 
    This program is free software; you can redistribute it and/or
@@ -829,9 +829,12 @@
 
 // Libc/pthreads/pthread.c
 
-#define VKI_WQOPS_QUEUE_ADD      1
-#define VKI_WQOPS_QUEUE_REMOVE   2
-#define VKI_WQOPS_THREAD_RETURN  4
+#define VKI_WQOPS_QUEUE_ADD          1
+#define VKI_WQOPS_QUEUE_REMOVE       2
+#define VKI_WQOPS_THREAD_RETURN      4
+#define VKI_WQOPS_THREAD_SETCONC     8
+#define VKI_WQOPS_QUEUE_NEWSPISUPP  16  /* check for newer SPI support */
+#define VKI_WQOPS_QUEUE_REQTHREADS  32  /* request number of threads of a prio */
 
 
 #include <sys/ttycom.h>
@@ -1038,6 +1041,16 @@
 #define vki_aiocb aiocb
 
 
+#include <netinet/tcp.h>
+
+#define VKI_TCP_NODELAY  TCP_NODELAY
+
+
+#include <netinet/in.h>
+
+#define VKI_IPPROTO_TCP  IPPROTO_TCP
+
+
 // XXX: for some reason when I #include <sys/kernel_types.h> I get a syntax
 // error.  Hmm.  So just define things ourselves.
 //#include <sys/kernel_types.h>
diff --git a/include/vki/vki-linux.h b/include/vki/vki-linux.h
index f5d16c2..c9aa047 100644
--- a/include/vki/vki-linux.h
+++ b/include/vki/vki-linux.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -91,6 +91,10 @@
 #  include "vki-posixtypes-arm-linux.h"
 #elif defined(VGA_s390x)
 #  include "vki-posixtypes-s390x-linux.h"
+#elif defined(VGA_mips32)
+#  include "vki-posixtypes-mips32-linux.h"
+#elif defined(VGA_mips64)
+#  include "vki-posixtypes-mips64-linux.h"
 #else
 #  error Unknown platform
 #endif
@@ -211,6 +215,10 @@
 #  include "vki-arm-linux.h"
 #elif defined(VGA_s390x)
 #  include "vki-s390x-linux.h"
+#elif defined(VGA_mips32)
+#  include "vki-mips32-linux.h"
+#elif defined(VGA_mips64)
+#  include "vki-mips64-linux.h"
 #else
 #  error Unknown platform
 #endif
@@ -220,11 +228,13 @@
 //----------------------------------------------------------------------
 
 typedef		__vki_s32	vki_int32_t;
+typedef		__vki_s16	vki_int16_t;
 typedef		__vki_s64	vki_int64_t;
 
 typedef		__vki_u8	vki_uint8_t;
 typedef		__vki_u16	vki_uint16_t;
 typedef		__vki_u32	vki_uint32_t;
+typedef		__vki_u64	vki_uint64_t;
 
 typedef		__vki_u16	__vki_le16;
 
@@ -383,6 +393,8 @@
 // From linux-2.6.8.1/include/asm-generic/siginfo.h
 //----------------------------------------------------------------------
 
+// Some archs, such as MIPS, have non-standard vki_siginfo.
+#ifndef HAVE_ARCH_SIGINFO_T
 typedef union vki_sigval {
 	int sival_int;
 	void __user *sival_ptr;
@@ -462,6 +474,7 @@
 		} _sigpoll;
 	} _sifields;
 } vki_siginfo_t;
+#endif
 
 #define __VKI_SI_FAULT	0
 
@@ -575,10 +588,12 @@
 #define VKI_SYS_RECVMSG		17	/* sys_recvmsg(2)		*/
 #define VKI_SYS_ACCEPT4		18	/* sys_accept4(2)		*/
 
+#ifndef ARCH_HAS_SOCKET_TYPES
 enum vki_sock_type {
 	VKI_SOCK_STREAM	= 1,
 	// [[others omitted]]
 };
+#endif /* ARCH_HAS_SOCKET_TYPES */
 
 //----------------------------------------------------------------------
 // From linux-2.6.8.1/include/linux/uio.h
@@ -661,6 +676,7 @@
 #define VKI_AF_UNIX	1	/* Unix domain sockets 		*/
 #define VKI_AF_INET	2	/* Internet IP Protocol		*/
 #define VKI_AF_INET6	10	/* IP version 6			*/
+#define VKI_AF_BLUETOOTH 31	/* Bluetooth sockets		*/
 
 #define VKI_MSG_NOSIGNAL	0x4000	/* Do not generate SIGPIPE */
 
@@ -686,6 +702,8 @@
 			sizeof(unsigned short int) - sizeof(struct vki_in_addr)];
 };
 
+#define VKI_IPPROTO_TCP 6       /* Transmission Control Protocol        */
+
 //----------------------------------------------------------------------
 // From linux-2.6.8.1/include/linux/in6.h
 //----------------------------------------------------------------------
@@ -712,6 +730,13 @@
 };
 
 //----------------------------------------------------------------------
+// From linux-2.6.8.1/include/linux/tcp.h
+//----------------------------------------------------------------------
+
+#define VKI_TCP_NODELAY    1       /* Turn off Nagle's algorithm. */
+
+
+//----------------------------------------------------------------------
 // From linux-2.6.8.1/include/linux/un.h
 //----------------------------------------------------------------------
 
@@ -1615,6 +1640,8 @@
 #define VKI_SIOCGIFMAP		0x8970	/* Get device parameters	*/
 #define VKI_SIOCSIFMAP		0x8971	/* Set device parameters	*/
 
+#define VKI_SIOCSHWTSTAMP	0x89B0	/* Set hardware time stamping */
+
 //----------------------------------------------------------------------
 // From linux-2.6.8.1/include/linux/ppdev.h
 //----------------------------------------------------------------------
@@ -1700,6 +1727,7 @@
 #define VKI_BLKBSZGET  _VKI_IOR(0x12,112,vki_size_t)
 #define VKI_BLKBSZSET  _VKI_IOW(0x12,113,vki_size_t)
 #define VKI_BLKGETSIZE64 _VKI_IOR(0x12,114,vki_size_t) /* return device size in bytes (u64 *arg) */
+#define VKI_BLKPBSZGET _VKI_IO(0x12,123)
 
 #define VKI_FIBMAP	_VKI_IO(0x00,1)	/* bmap access */
 #define VKI_FIGETBSZ    _VKI_IO(0x00,2)	/* get the block size used for bmap */
@@ -1783,29 +1811,30 @@
 // From linux-2.6.8.1/include/linux/cdrom.h
 //----------------------------------------------------------------------
 
-#define VKI_CDROMPLAYMSF	0x5303 /* Play Audio MSF (struct cdrom_msf) */
-#define VKI_CDROMREADTOCHDR	0x5305 /* Read TOC header 
-                                           (struct cdrom_tochdr) */
-#define VKI_CDROMREADTOCENTRY	0x5306 /* Read TOC entry 
-                                           (struct cdrom_tocentry) */
-#define VKI_CDROMSUBCHNL	0x530b /* Read subchannel data 
-                                           (struct cdrom_subchnl) */
-#define VKI_CDROMREADMODE2	0x530c /* Read CDROM mode 2 data (2336 Bytes) 
-                                           (struct cdrom_read) */
-#define VKI_CDROMREADAUDIO	0x530e /* (struct cdrom_read_audio) */
-#define VKI_CDROMMULTISESSION	0x5310 /* Obtain the start-of-last-session 
-                                           address of multi session disks 
-                                           (struct cdrom_multisession) */
-#define VKI_CDROM_GET_MCN	0x5311 /* Obtain the "Universal Product Code" 
-                                           if available (struct cdrom_mcn) */
-#define VKI_CDROMVOLREAD	0x5313 /* Get the drive's volume setting
-                                          (struct cdrom_volctrl) */
-#define VKI_CDROMREADRAW	0x5314	/* read data in raw mode (2352 Bytes)
-                                           (struct cdrom_read) */
-#define VKI_CDROM_CLEAR_OPTIONS	0x5321  /* Clear behavior options */
-#define VKI_CDROM_DRIVE_STATUS	0x5326  /* Get tray position, etc. */
+#define VKI_CDROMPLAYMSF		0x5303 /* Play Audio MSF (struct cdrom_msf) */
+#define VKI_CDROMREADTOCHDR		0x5305 /* Read TOC header 
+                                	           (struct cdrom_tochdr) */
+#define VKI_CDROMREADTOCENTRY		0x5306 /* Read TOC entry 
+                                	           (struct cdrom_tocentry) */
+#define VKI_CDROMSUBCHNL		0x530b /* Read subchannel data 
+                                	           (struct cdrom_subchnl) */
+#define VKI_CDROMREADMODE2		0x530c /* Read CDROM mode 2 data (2336 Bytes) 
+                                	           (struct cdrom_read) */
+#define VKI_CDROMREADAUDIO		0x530e /* (struct cdrom_read_audio) */
+#define VKI_CDROMMULTISESSION		0x5310 /* Obtain the start-of-last-session 
+                                	           address of multi session disks 
+                                	           (struct cdrom_multisession) */
+#define VKI_CDROM_GET_MCN		0x5311 /* Obtain the "Universal Product Code" 
+                                	           if available (struct cdrom_mcn) */
+#define VKI_CDROMVOLREAD		0x5313 /* Get the drive's volume setting
+                                	          (struct cdrom_volctrl) */
+#define VKI_CDROMREADRAW		0x5314	/* read data in raw mode (2352 Bytes)
+                                	           (struct cdrom_read) */
+#define VKI_CDROM_CLEAR_OPTIONS		0x5321  /* Clear behavior options */
+#define VKI_CDROM_DRIVE_STATUS		0x5326  /* Get tray position, etc. */
+#define VKI_CDROM_GET_CAPABILITY	0x5331	/* get capabilities */
 
-#define VKI_CDROM_SEND_PACKET	0x5393	/* send a packet to the drive */
+#define VKI_CDROM_SEND_PACKET		0x5393	/* send a packet to the drive */
 
 struct vki_cdrom_msf0		
 {
@@ -2239,6 +2268,8 @@
 #define VKI_PTRACE_GETEVENTMSG	0x4201
 #define VKI_PTRACE_GETSIGINFO	0x4202
 #define VKI_PTRACE_SETSIGINFO	0x4203
+#define VKI_PTRACE_GETREGSET	0x4204
+#define VKI_PTRACE_SETREGSET	0x4205
 
 //----------------------------------------------------------------------
 // From linux-2.6.14/include/sound/asound.h
@@ -2834,7 +2865,7 @@
 // From kernel/common/include/linux/ashmem.h
 //----------------------------------------------------------------------
 
-#if defined(VGPV_arm_linux_android)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
 
 #define VKI_ASHMEM_NAME_LEN 256
 
@@ -2889,7 +2920,7 @@
 #define VKI_BINDER_THREAD_EXIT _VKI_IOW('b', 8, int)
 #define VKI_BINDER_VERSION _VKI_IOWR('b', 9, struct vki_binder_version)
 
-#endif /* defined(VGPV_arm_linux_android) */
+#endif /* defined(VGPV_*_linux_android) */
 
 //----------------------------------------------------------------------
 // From linux-3.0.4/include/net/bluetooth/bluetooth.h
@@ -2946,6 +2977,168 @@
    __vki_u8  num_rsp;
 };
 
+//----------------------------------------------------------------------
+// From linux-3.9.2/include/net/bluetooth/rfcomm.h
+//----------------------------------------------------------------------
+
+struct vki_sockaddr_rc {
+        vki_sa_family_t     rc_family;
+        vki_bdaddr_t        rc_bdaddr;
+        __vki_u8            rc_channel;
+};
+
+//----------------------------------------------------------------------
+// From linux-3.4/include/linux/kvm.h
+//----------------------------------------------------------------------
+#define KVMIO 0xAE
+
+#define VKI_KVM_GET_API_VERSION       _VKI_IO(KVMIO,   0x00)
+#define VKI_KVM_CREATE_VM             _VKI_IO(KVMIO,   0x01) /* returns a VM fd */
+#define VKI_KVM_CHECK_EXTENSION       _VKI_IO(KVMIO,   0x03)
+#define VKI_KVM_GET_VCPU_MMAP_SIZE    _VKI_IO(KVMIO,   0x04) /* in bytes */
+#define VKI_KVM_S390_ENABLE_SIE       _VKI_IO(KVMIO,   0x06)
+#define VKI_KVM_CREATE_VCPU           _VKI_IO(KVMIO,   0x41)
+#define VKI_KVM_SET_NR_MMU_PAGES      _VKI_IO(KVMIO,   0x44)
+#define VKI_KVM_GET_NR_MMU_PAGES      _VKI_IO(KVMIO,   0x45)
+#define VKI_KVM_SET_TSS_ADDR          _VKI_IO(KVMIO,   0x47)
+#define VKI_KVM_CREATE_IRQCHIP        _VKI_IO(KVMIO,   0x60)
+#define VKI_KVM_CREATE_PIT            _VKI_IO(KVMIO,   0x64)
+#define VKI_KVM_REINJECT_CONTROL      _VKI_IO(KVMIO,   0x71)
+#define VKI_KVM_SET_BOOT_CPU_ID       _VKI_IO(KVMIO,   0x78)
+#define VKI_KVM_SET_TSC_KHZ           _VKI_IO(KVMIO,  0xa2)
+#define VKI_KVM_GET_TSC_KHZ           _VKI_IO(KVMIO,  0xa3)
+#define VKI_KVM_RUN                   _VKI_IO(KVMIO,   0x80)
+#define VKI_KVM_S390_INITIAL_RESET    _VKI_IO(KVMIO,   0x97)
+#define VKI_KVM_NMI                   _VKI_IO(KVMIO,   0x9a)
+
+//----------------------------------------------------------------------
+// From linux-2.6/include/linux/net_stamp.h
+//----------------------------------------------------------------------
+
+struct vki_hwtstamp_config {
+	int flags;
+	int tx_type;
+	int rx_filter;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.12-rc2/include/linux/uinput.h
+//----------------------------------------------------------------------
+
+#define VKI_UINPUT_IOCTL_BASE       'U'
+#define VKI_UI_DEV_CREATE		_VKI_IO(VKI_UINPUT_IOCTL_BASE, 1)
+#define VKI_UI_DEV_DESTROY		_VKI_IO(VKI_UINPUT_IOCTL_BASE, 2)
+
+#define VKI_UI_SET_EVBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 100, int)
+#define VKI_UI_SET_KEYBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 101, int)
+#define VKI_UI_SET_RELBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 102, int)
+#define VKI_UI_SET_ABSBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 103, int)
+#define VKI_UI_SET_MSCBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 104, int)
+#define VKI_UI_SET_LEDBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 105, int)
+#define VKI_UI_SET_SNDBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 106, int)
+#define VKI_UI_SET_FFBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 107, int)
+#define VKI_UI_SET_SWBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 109, int)
+#define VKI_UI_SET_PROPBIT		_VKI_IOW(VKI_UINPUT_IOCTL_BASE, 110, int)
+
+//----------------------------------------------------------------------
+// From linux-2.6/include/uapi/rdma/ib_user_mad.h
+//----------------------------------------------------------------------
+
+#define VKI_IB_IOCTL_MAGIC          0x1b
+
+#define VKI_IB_USER_MAD_REGISTER_AGENT    _VKI_IOWR(VKI_IB_IOCTL_MAGIC, 1, \
+                                              struct ib_user_mad_reg_req)
+
+#define VKI_IB_USER_MAD_UNREGISTER_AGENT  _VKI_IOW(VKI_IB_IOCTL_MAGIC, 2, __u32)
+
+#define VKI_IB_USER_MAD_ENABLE_PKEY       _VKI_IO(VKI_IB_IOCTL_MAGIC, 3)
+
+//----------------------------------------------------------------------
+// From linux-3.8/include/uapi/linux/if_tun.h
+//----------------------------------------------------------------------
+
+#define VKI_TUNSETNOCSUM  _VKI_IOW('T', 200, int) 
+#define VKI_TUNSETDEBUG   _VKI_IOW('T', 201, int) 
+#define VKI_TUNSETIFF     _VKI_IOW('T', 202, int) 
+#define VKI_TUNSETPERSIST _VKI_IOW('T', 203, int) 
+#define VKI_TUNSETOWNER   _VKI_IOW('T', 204, int)
+#define VKI_TUNSETLINK    _VKI_IOW('T', 205, int)
+#define VKI_TUNSETGROUP   _VKI_IOW('T', 206, int)
+#define VKI_TUNGETFEATURES _VKI_IOR('T', 207, unsigned int)
+#define VKI_TUNSETOFFLOAD  _VKI_IOW('T', 208, unsigned int)
+#define VKI_TUNSETTXFILTER _VKI_IOW('T', 209, unsigned int)
+#define VKI_TUNGETIFF      _VKI_IOR('T', 210, unsigned int)
+#define VKI_TUNGETSNDBUF   _VKI_IOR('T', 211, int)
+#define VKI_TUNSETSNDBUF   _VKI_IOW('T', 212, int)
+//#define VKI_TUNATTACHFILTER _VKI_IOW('T', 213, struct sock_fprog)
+//#define VKI_TUNDETACHFILTER _VKI_IOW('T', 214, struct sock_fprog)
+#define VKI_TUNGETVNETHDRSZ _VKI_IOR('T', 215, int)
+#define VKI_TUNSETVNETHDRSZ _VKI_IOW('T', 216, int)
+#define VKI_TUNSETQUEUE  _VKI_IOW('T', 217, int)
+
+//----------------------------------------------------------------------
+// From linux-3.8/include/uapi/linux/vhost.h
+//----------------------------------------------------------------------
+
+#define VKI_VHOST_VIRTIO 0xAF
+#define VKI_VHOST_SET_OWNER _VKI_IO(VKI_VHOST_VIRTIO, 0x01)
+#define VKI_VHOST_RESET_OWNER _VKI_IO(VKI_VHOST_VIRTIO, 0x02)
+
+//----------------------------------------------------------------------
+// Xen privcmd IOCTL
+//----------------------------------------------------------------------
+
+typedef unsigned long __vki_xen_pfn_t;
+
+struct vki_xen_privcmd_hypercall {
+       __vki_u64 op;
+       __vki_u64 arg[5];
+};
+
+struct vki_xen_privcmd_mmap_entry {
+        __vki_u64 va;
+        __vki_u64 mfn;
+        __vki_u64 npages;
+};
+
+struct vki_xen_privcmd_mmap {
+        int num;
+        __vki_u16 dom; /* target domain */
+        struct vki_xen_privcmd_mmap_entry *entry;
+};
+
+struct vki_xen_privcmd_mmapbatch {
+        int num;     /* number of pages to populate */
+        __vki_u16 dom; /* target domain */
+        __vki_u64 addr;  /* virtual address */
+        __vki_xen_pfn_t *arr; /* array of mfns - top nibble set on err */
+};
+
+struct vki_xen_privcmd_mmapbatch_v2 {
+        unsigned int num; /* number of pages to populate */
+        __vki_u16 dom;      /* target domain */
+        __vki_u64 addr;       /* virtual address */
+        const __vki_xen_pfn_t *arr; /* array of mfns */
+        int __user *err;  /* array of error codes */
+};
+
+#define VKI_XEN_IOCTL_PRIVCMD_HYPERCALL    _VKI_IOC(_VKI_IOC_NONE, 'P', 0, sizeof(struct vki_xen_privcmd_hypercall))
+#define VKI_XEN_IOCTL_PRIVCMD_MMAP         _VKI_IOC(_VKI_IOC_NONE, 'P', 2, sizeof(struct vki_xen_privcmd_mmap))
+
+#define VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH    _VKI_IOC(_VKI_IOC_NONE, 'P', 3, sizeof(struct vki_xen_privcmd_mmapbatch))
+#define VKI_XEN_IOCTL_PRIVCMD_MMAPBATCH_V2 _VKI_IOC(_VKI_IOC_NONE, 'P', 4, sizeof(struct vki_xen_privcmd_mmapbatch_v2))
+
+//----------------------------------------------------------------------
+// From linux-3.4.0/include/linux/fs.h
+//----------------------------------------------------------------------
+
+struct vki_file_handle {
+   __vki_u32 handle_bytes;
+   int handle_type;
+   /* file identifier */
+   unsigned char f_handle[0];
+};
+
 #endif // __VKI_LINUX_H
 
 /*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-mips32-linux.h b/include/vki/vki-mips32-linux.h
new file mode 100644
index 0000000..9741d5c
--- /dev/null
+++ b/include/vki/vki-mips32-linux.h
@@ -0,0 +1,980 @@
+
+/*--------------------------------------------------------------------*/
+/*--- mips/Linux-specific kernel interface.     vki-mips32-linux.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2010-2012 RT-RK
+      mips-valgrind@rt-rk.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#ifndef __VKI_MIPS32_LINUX_H
+#define __VKI_MIPS32_LINUX_H
+
+#include <config.h>
+
+// mips endian
+#if defined (_MIPSEL)
+#define VKI_LITTLE_ENDIAN  1
+#elif defined (_MIPSEB)
+#define VKI_BIG_ENDIAN  1
+#endif
+
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-generic/int-ll64.h
+//----------------------------------------------------------------------
+
+typedef __signed__ char __vki_s8;
+typedef unsigned char __vki_u8;
+
+typedef __signed__ short __vki_s16;
+typedef unsigned short __vki_u16;
+
+typedef __signed__ int __vki_s32;
+typedef unsigned int __vki_u32;
+
+typedef __signed char vki_s8;
+typedef unsigned char vki_u8;
+
+typedef __signed short vki_s16;
+typedef unsigned short vki_u16;
+
+typedef __signed int vki_s32;
+typedef unsigned int vki_u32;
+
+typedef __signed__ long long __vki_s64;
+typedef unsigned long long __vki_u64;
+
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/page.h
+//----------------------------------------------------------------------
+
+/* PAGE_SHIFT determines the page size */
+#define VKI_PAGE_SHIFT          MIPS_PAGE_SHIFT
+#define VKI_PAGE_SIZE           (1UL << VKI_PAGE_SHIFT)
+#define VKI_PAGE_MASK           (~(VKI_PAGE_SIZE-1))
+#define VKI_MAX_PAGE_SHIFT      VKI_PAGE_SHIFT
+#define VKI_MAX_PAGE_SIZE       VKI_PAGE_SIZE
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/arch/mips/include/bits/shm.h
+//----------------------------------------------------------------------
+
+#define VKI_SHMLBA  0x40000
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm/signal.h
+//----------------------------------------------------------------------
+
+#define VKI_MINSIGSTKSZ     2048
+
+#define VKI_SIG_BLOCK       1    /* for blocking signals */
+#define VKI_SIG_UNBLOCK     2    /* for unblocking signals */
+#define VKI_SIG_SETMASK     3    /* for setting the signal mask */
+
+/* Type of a signal handler.  */
+typedef void __vki_signalfn_t(int);
+typedef __vki_signalfn_t __user *__vki_sighandler_t;
+
+typedef void __vki_restorefn_t(void);
+typedef __vki_restorefn_t __user *__vki_sigrestore_t;
+
+#define VKI_SIG_DFL	((__vki_sighandler_t)0)	/* default signal handling */
+#define VKI_SIG_IGN	((__vki_sighandler_t)1)	/* ignore signal */
+
+#define _VKI_NSIG		128
+#define _VKI_NSIG_BPW	32
+#define _VKI_NSIG_WORDS	(_VKI_NSIG / _VKI_NSIG_BPW)
+
+typedef unsigned long vki_old_sigset_t;		/* at least 32 bits */
+
+typedef struct {
+        unsigned long sig[_VKI_NSIG_WORDS];
+} vki_sigset_t;
+
+#define VKI_SIGHUP		 1	/* Hangup (POSIX).  */
+#define VKI_SIGINT		 2	/* Interrupt (ANSI).  */
+#define VKI_SIGQUIT		 3	/* Quit (POSIX).  */
+#define VKI_SIGILL		 4	/* Illegal instruction (ANSI).  */
+#define VKI_SIGTRAP		 5	/* Trace trap (POSIX).  */
+#define VKI_SIGIOT		 6	/* IOT trap (4.2 BSD).  */
+#define VKI_SIGABRT		 VKI_SIGIOT	/* Abort (ANSI).  */
+#define VKI_SIGEMT		 7
+#define VKI_SIGFPE		 8	/* Floating-point exception (ANSI).  */
+#define VKI_SIGKILL		 9	/* Kill, unblockable (POSIX).  */
+#define VKI_SIGBUS		10	/* BUS error (4.2 BSD).  */
+#define VKI_SIGSEGV		11	/* Segmentation violation (ANSI).  */
+#define VKI_SIGSYS		12
+#define VKI_SIGPIPE		13	/* Broken pipe (POSIX).  */
+#define VKI_SIGALRM		14	/* Alarm clock (POSIX).  */
+#define VKI_SIGTERM		15	/* Termination (ANSI).  */
+#define VKI_SIGUSR1		16	/* User-defined signal 1 (POSIX).  */
+#define VKI_SIGUSR2		17	/* User-defined signal 2 (POSIX).  */
+#define VKI_SIGCHLD		18	/* Child status has changed (POSIX).  */
+#define VKI_SIGCLD		VKI_SIGCHLD	/* Same as SIGCHLD (System V).  */
+#define VKI_SIGPWR		19	/* Power failure restart (System V).  */
+#define VKI_SIGWINCH	20	/* Window size change (4.3 BSD, Sun).  */
+#define VKI_SIGURG		21	/* Urgent condition on socket (4.2 BSD).  */
+#define VKI_SIGIO		22	/* I/O now possible (4.2 BSD).  */
+#define VKI_SIGPOLL		VKI_SIGIO	/* Pollable event occurred (System V).  */
+#define VKI_SIGSTOP		23	/* Stop, unblockable (POSIX).  */
+#define VKI_SIGTSTP		24	/* Keyboard stop (POSIX).  */
+#define VKI_SIGCONT		25	/* Continue (POSIX).  */
+#define VKI_SIGTTIN		26	/* Background read from tty (POSIX).  */
+#define VKI_SIGTTOU		27	/* Background write to tty (POSIX).  */
+#define VKI_SIGVTALRM	28	/* Virtual alarm clock (4.2 BSD).  */
+#define VKI_SIGPROF		29	/* Profiling alarm clock (4.2 BSD).  */
+#define VKI_SIGXCPU		30	/* CPU limit exceeded (4.2 BSD).  */
+#define VKI_SIGXFSZ		31	/* File size limit exceeded (4.2 BSD).  */
+
+/* These should not be considered constants from userland.  */
+#define VKI_SIGRTMIN    32
+// [[This was (_NSIG-1) in 2.4.X... not sure if it matters.]]
+#define VKI_SIGRTMAX    _VKI_NSIG
+
+#define VKI_SA_ONSTACK		0x08000000
+#define VKI_SA_RESETHAND	0x80000000
+#define VKI_SA_RESTART		0x10000000
+#define VKI_SA_SIGINFO		0x00000008
+#define VKI_SA_NODEFER		0x40000000
+#define VKI_SA_NOCLDWAIT	0x00010000
+#define VKI_SA_NOCLDSTOP	0x00000001
+
+#define VKI_SA_NOMASK		VKI_SA_NODEFER
+#define VKI_SA_ONESHOT		VKI_SA_RESETHAND
+//#define VKI_SA_INTERRUPT	0x20000000 /* dummy -- ignored */
+
+#define VKI_SA_RESTORER		0x04000000
+
+#define VKI_SS_ONSTACK		1
+#define VKI_SS_DISABLE		2
+
+struct vki_old_sigaction {
+        // [[Nb: a 'k' prefix is added to "sa_handler" because
+        // bits/sigaction.h (which gets dragged in somehow via signal.h)
+        // #defines it as something else.  Since that is done for glibc's
+        // purposes, which we don't care about here, we use our own name.]]
+    unsigned long sa_flags;
+        __vki_sighandler_t ksa_handler;
+        vki_old_sigset_t sa_mask;
+        __vki_sigrestore_t sa_restorer;
+};
+
+struct vki_sigaction {
+        unsigned int    sa_flags;
+        __vki_sighandler_t  sa_handler;
+        vki_sigset_t        sa_mask;
+};
+
+
+struct vki_sigaction_base {
+        // [[See comment about extra 'k' above]]
+        unsigned long sa_flags;
+	__vki_sighandler_t ksa_handler;
+
+	vki_sigset_t sa_mask;		/* mask last for extensibility */
+        __vki_sigrestore_t sa_restorer;
+};
+
+/* On Linux we use the same type for passing sigactions to
+   and from the kernel.  Hence: */
+typedef  struct vki_sigaction_base  vki_sigaction_toK_t;
+typedef  struct vki_sigaction_base  vki_sigaction_fromK_t;
+
+typedef struct vki_sigaltstack {
+	void __user *ss_sp;
+	vki_size_t ss_size;
+	int ss_flags;
+
+} vki_stack_t;
+
+
+//----------------------------------------------------------------------
+// From 2.6.35.5/include/asm-mips/sigcontext.h
+//----------------------------------------------------------------------
+
+struct _vki_fpreg {
+	unsigned short significand[4];
+	unsigned short exponent;
+};
+
+struct _vki_fpxreg {
+	unsigned short significand[4];
+	unsigned short exponent;
+	unsigned short padding[3];
+};
+
+struct _vki_xmmreg {
+	unsigned long element[4];
+};
+
+struct _vki_fpstate {
+	/* Regular FPU environment */
+	unsigned long 	cw;
+	unsigned long	sw;
+	unsigned long	tag;
+	unsigned long	ipoff;
+	unsigned long	cssel;
+	unsigned long	dataoff;
+	unsigned long	datasel;
+	struct _vki_fpreg	_st[8];
+	unsigned short	status;
+	unsigned short	magic;		/* 0xffff = regular FPU data only */
+
+	/* FXSR FPU environment */
+	unsigned long	_fxsr_env[6];	/* FXSR FPU env is ignored */
+	unsigned long	mxcsr;
+	unsigned long	reserved;
+	struct _vki_fpxreg	_fxsr_st[8];	/* FXSR FPU reg data is ignored */
+	struct _vki_xmmreg	_xmm[8];
+	unsigned long	padding[56];
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/sigcontext.h
+//----------------------------------------------------------------------
+
+struct vki_sigcontext {
+        unsigned int            sc_regmask;     /* Unused */
+        unsigned int            sc_status;      /* Unused */
+        unsigned long long      sc_pc;
+        unsigned long long      sc_regs[32];
+        unsigned long long      sc_fpregs[32];
+        unsigned int            sc_acx;         /* Was sc_ownedfp */
+        unsigned int            sc_fpc_csr;
+        unsigned int            sc_fpc_eir;     /* Unused */
+        unsigned int            sc_used_math;
+        unsigned int            sc_dsp;         /* dsp status, was sc_ssflags */
+        unsigned long long      sc_mdhi;
+        unsigned long long      sc_mdlo;
+        unsigned long           sc_hi1;         /* Was sc_cause */
+        unsigned long           sc_lo1;         /* Was sc_badvaddr */
+        unsigned long           sc_hi2;         /* Was sc_sigset[4] */
+        unsigned long           sc_lo2;
+        unsigned long           sc_hi3;
+        unsigned long           sc_lo3;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/mman.h
+//----------------------------------------------------------------------
+
+#define VKI_PROT_NONE		0x0      /* No page permissions */
+#define VKI_PROT_READ		0x1      /* page can be read */
+#define VKI_PROT_WRITE		0x2      /* page can be written */
+#define VKI_PROT_EXEC		0x4      /* page can be executed */
+#define VKI_PROT_GROWSDOWN	0x01000000	/* mprotect flag: extend change to start of growsdown vma */
+#define VKI_PROT_GROWSUP	0x02000000	/* mprotect flag: extend change to end of growsup vma */
+
+#define VKI_MAP_SHARED		0x001     /* Share changes */
+#define VKI_MAP_PRIVATE		0x002     /* Changes are private */
+#define VKI_MAP_FIXED		0x010     /* Interpret addr exactly */
+
+#define VKI_MAP_NORESERVE	0x0400   /* don't reserve swap pages */
+
+/* These are linux-specific */
+#define VKI_MAP_NORESERVE   0x0400          /* don't check for reservations */
+#define VKI_MAP_ANONYMOUS   0x0800          /* don't use a file */
+#define VKI_MAP_GROWSDOWN   0x1000          /* stack-like segment */
+#define VKI_MAP_DENYWRITE   0x2000          /* ETXTBSY */
+#define VKI_MAP_EXECUTABLE  0x4000          /* mark it as an executable */
+#define VKI_MAP_LOCKED      0x8000          /* pages are locked */
+#define VKI_MAP_POPULATE    0x10000         /* populate (prefault) pagetables */
+#define VKI_MAP_NONBLOCK    0x20000         /* do not block on IO */
+
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/fcntl.h
+//----------------------------------------------------------------------
+
+#define VKI_O_ACCMODE		   03
+#define VKI_O_RDONLY		   00
+#define VKI_O_WRONLY		   01
+#define VKI_O_RDWR		   02
+
+#define VKI_O_CREAT		0x0100		/* not fcntl */
+#define VKI_O_EXCL		0x0400		/* not fcntl */
+
+#define VKI_O_TRUNC		0x0200	/* not fcntl */
+
+#define VKI_O_APPEND		0x0008
+#define VKI_O_NONBLOCK		0x0080
+#define VKI_O_LARGEFILE     	0x2000
+
+#define VKI_AT_FDCWD            -100
+
+#define VKI_F_DUPFD		 0			/* dup */
+#define VKI_F_GETFD		 1			/* get close_on_exec */
+#define VKI_F_SETFD		 2			/* set/clear close_on_exec */
+#define VKI_F_GETFL		 3			/* get file->f_flags */
+#define VKI_F_SETFL		 4			/* set file->f_flags */
+
+#define VKI_F_GETLK		 14
+#define VKI_F_SETLK		 6
+#define VKI_F_SETLKW		 7
+
+#define VKI_F_SETOWN		 24			/*  for sockets. */
+#define VKI_F_GETOWN		 23			/*  for sockets. */
+#define VKI_F_SETSIG		 10			/*  for sockets. */
+#define VKI_F_GETSIG		 11			/*  for sockets. */
+
+#define VKI_F_SETOWN_EX		15
+#define VKI_F_GETOWN_EX		16
+
+#define VKI_F_GETLK64		33			/*  using 'struct flock64' */
+#define VKI_F_SETLK64		34
+#define VKI_F_SETLKW64		35
+
+/* for F_[GET|SET]FL */
+#define VKI_FD_CLOEXEC	 1		/* actually anything with low bit set goes */
+
+#define VKI_F_LINUX_SPECIFIC_BASE	1024
+
+struct vki_f_owner_ex {
+	int	type;
+	__vki_kernel_pid_t	pid;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/resource.h
+//----------------------------------------------------------------------
+
+#define VKI_RLIMIT_DATA		2   /* max data size */
+#define VKI_RLIMIT_STACK	3   /* max stack size */
+#define VKI_RLIMIT_CORE		4   /* max core file size */
+#define VKI_RLIMIT_NOFILE	5   /* max number of open files */
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/socket.h
+//----------------------------------------------------------------------
+
+#define VKI_SOL_SOCKET	0xffff
+#define VKI_SO_TYPE	0x1008
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-i386/sockios.h
+//----------------------------------------------------------------------
+
+#define VKI_SIOCSPGRP           0x8902
+#define VKI_SIOCGPGRP           0x8904
+#define VKI_SIOCGSTAMP          0x8906      /* Get stamp (timeval) */
+#define VKI_SIOCGSTAMPNS        0x8907      /* Get stamp (timespec) */
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/stat.h
+//----------------------------------------------------------------------
+
+struct vki_stat {
+	unsigned	st_dev;
+	long		st_pad1[3];		/* Reserved for network id */
+	unsigned long	st_ino;
+	unsigned int	st_mode;
+	unsigned long	st_nlink;
+	unsigned int	st_uid;
+	unsigned int	st_gid;
+	unsigned 	st_rdev;
+	long		st_pad2[2];
+	long		st_size;
+	long		st_pad3;
+	/*
+	 * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
+	 * but we don't have it under Linux.
+	 */
+	long		st_atime;
+	long		st_atime_nsec;
+	long		st_mtime;
+	long		st_mtime_nsec;
+	long		st_ctime;
+	long		st_ctime_nsec;
+	long		st_blksize;
+	long		st_blocks;
+	long		st_pad4[14];
+};
+
+/*
+ * This matches struct stat64 in glibc2.1, hence the absolutely insane
+ * amounts of padding around dev_t's.  The memory layout is the same as of
+ * struct stat of the 64-bit kernel.
+ */
+
+struct vki_stat64 {
+	unsigned long	st_dev;
+	unsigned long	st_pad0[3];	/* Reserved for st_dev expansion  */
+
+	unsigned long long	st_ino;
+
+	unsigned int	st_mode;
+	unsigned long	st_nlink;
+
+	unsigned int	st_uid;
+	unsigned int	st_gid;
+
+	unsigned long	st_rdev;
+	unsigned long	st_pad1[3];	/* Reserved for st_rdev expansion  */
+
+	long long	st_size;
+
+	/*
+	 * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
+	 * but we don't have it under Linux.
+	 */
+	long		st_atime;
+	unsigned long	st_atime_nsec;	/* Reserved for st_atime expansion  */
+
+	long		st_mtime;
+	unsigned long	st_mtime_nsec;	/* Reserved for st_mtime expansion  */
+
+	long		st_ctime;
+	unsigned long	st_ctime_nsec;	/* Reserved for st_ctime expansion  */
+
+	unsigned long	st_blksize;
+	unsigned long	st_pad2;
+
+	long long	st_blocks;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/statfs.h
+//----------------------------------------------------------------------
+
+struct vki_statfs {
+	long		f_type;
+	long		f_bsize;
+	long		f_frsize;	/* Fragment size - unsupported */
+	long		f_blocks;
+	long		f_bfree;
+	long		f_files;
+	long		f_ffree;
+	long		f_bavail;
+
+	/* Linux specials */
+	__vki_kernel_fsid_t	f_fsid;
+	long		f_namelen;
+	long		f_spare[6];
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/termios.h
+//----------------------------------------------------------------------
+
+struct vki_winsize {
+	unsigned short ws_row;
+	unsigned short ws_col;
+	unsigned short ws_xpixel;
+	unsigned short ws_ypixel;
+};
+
+#define NCC	8
+#define NCCS	23
+struct vki_termio {
+	unsigned short c_iflag;		/* input mode flags */
+	unsigned short c_oflag;		/* output mode flags */
+	unsigned short c_cflag;		/* control mode flags */
+	unsigned short c_lflag;		/* local mode flags */
+	char c_line;			/* line discipline */
+	unsigned char c_cc[NCCS];	/* control characters */
+};
+
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/termbits.h
+//----------------------------------------------------------------------
+
+typedef unsigned char   vki_cc_t;
+typedef unsigned long   vki_speed_t;
+typedef unsigned long   vki_tcflag_t;
+
+struct vki_termios {
+	vki_tcflag_t c_iflag;		/* input mode flags */
+	vki_tcflag_t c_oflag;		/* output mode flags */
+	vki_tcflag_t c_cflag;		/* control mode flags */
+	vki_tcflag_t c_lflag;		/* local mode flags */
+	vki_cc_t c_line;			/* line discipline */
+	vki_cc_t c_cc[NCCS];		/* control characters */
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/ioctl.h
+//----------------------------------------------------------------------
+
+#define _VKI_IOC_NRBITS		8
+#define _VKI_IOC_TYPEBITS	8
+#define _VKI_IOC_SIZEBITS	14
+#define _VKI_IOC_DIRBITS	2
+
+#define _VKI_IOC_NRMASK		((1 << _VKI_IOC_NRBITS)-1)
+#define _VKI_IOC_TYPEMASK	((1 << _VKI_IOC_TYPEBITS)-1)
+#define _VKI_IOC_SIZEMASK	((1 << _VKI_IOC_SIZEBITS)-1)
+#define _VKI_IOC_DIRMASK	((1 << _VKI_IOC_DIRBITS)-1)
+
+#define _VKI_IOC_NRSHIFT	0
+#define _VKI_IOC_TYPESHIFT	(_VKI_IOC_NRSHIFT+_VKI_IOC_NRBITS)
+#define _VKI_IOC_SIZESHIFT	(_VKI_IOC_TYPESHIFT+_VKI_IOC_TYPEBITS)
+#define _VKI_IOC_DIRSHIFT	(_VKI_IOC_SIZESHIFT+_VKI_IOC_SIZEBITS)
+
+#define _VKI_IOC_NONE	1U
+#define _VKI_IOC_WRITE	2U
+#define _VKI_IOC_READ	4U
+
+#define _VKI_IOC(dir,type,nr,size) \
+	(((dir)  << _VKI_IOC_DIRSHIFT) | \
+	 ((type) << _VKI_IOC_TYPESHIFT) | \
+	 ((nr)   << _VKI_IOC_NRSHIFT) | \
+	 ((size) << _VKI_IOC_SIZESHIFT))
+
+/* provoke compile error for invalid uses of size argument */
+extern unsigned int __VKI_invalid_size_argument_for_IOC;
+/* used to create numbers */
+#define _VKI_IO(type,nr)	_VKI_IOC(_VKI_IOC_NONE,(type),(nr),0)
+#define _VKI_IOR(type,nr,size)	_VKI_IOC(_VKI_IOC_READ,(type),(nr),(_VKI_IOC_TYPECHECK(size)))
+#define _VKI_IOW(type,nr,size)	_VKI_IOC(_VKI_IOC_WRITE,(type),(nr),(_VKI_IOC_TYPECHECK(size)))
+#define _VKI_IOWR(type,nr,size)	_VKI_IOC(_VKI_IOC_READ|_VKI_IOC_WRITE,(type),(nr),(_VKI_IOC_TYPECHECK(size)))
+
+/* used to decode ioctl numbers.. */
+#define _VKI_IOC_DIR(nr)	(((nr) >> _VKI_IOC_DIRSHIFT) & _VKI_IOC_DIRMASK)
+#define _VKI_IOC_TYPE(nr)	(((nr) >> _VKI_IOC_TYPESHIFT) & _VKI_IOC_TYPEMASK)
+#define _VKI_IOC_NR(nr)		(((nr) >> _VKI_IOC_NRSHIFT) & _VKI_IOC_NRMASK)
+#define _VKI_IOC_SIZE(nr)	(((nr) >> _VKI_IOC_SIZESHIFT) & _VKI_IOC_SIZEMASK)
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/ioctls.h
+//----------------------------------------------------------------------
+
+#define VKI_TCGETA		0x5401
+#define VKI_TCSETA		0x5402	/* Clashes with SNDCTL_TMR_START sound ioctl */
+#define VKI_TCSETAW		0x5403
+#define VKI_TCSETAF		0x5404
+
+#define VKI_TCSBRK		0x5405
+#define VKI_TCXONC		0x5406
+#define VKI_TCFLSH		0x5407
+
+#define VKI_TCGETS		0x540d
+#define VKI_TCSETS		0x540e
+#define VKI_TCSETSW		0x540f
+#define VKI_TCSETSF		0x5410
+
+#define VKI_TIOCEXCL		0x740d		/* set exclusive use of tty */
+#define VKI_TIOCNXCL		0x740e		/* reset exclusive use of tty */
+#define VKI_TIOCOUTQ		0x7472		/* output queue size */
+#define VKI_TIOCSTI		0x5472		/* simulate terminal input */
+#define VKI_TIOCMGET		0x741d		/* get all modem bits */
+#define VKI_TIOCMBIS		0x741b		/* bis modem bits */
+#define VKI_TIOCMBIC		0x741c		/* bic modem bits */
+#define VKI_TIOCMSET		0x741a		/* set all modem bits */
+#define VKI_TIOCPKT		0x5470		/* pty: set/clear packet mode */
+#define	 VKI_TIOCPKT_DATA		0x00	/* data packet */
+#define	 VKI_TIOCPKT_FLUSHREAD		0x01	/* flush packet */
+#define	 VKI_TIOCPKT_FLUSHWRITE		0x02	/* flush packet */
+#define	 VKI_TIOCPKT_STOP		0x04	/* stop output */
+#define	 VKI_TIOCPKT_START		0x08	/* start output */
+#define	 VKI_TIOCPKT_NOSTOP		0x10	/* no more ^S, ^Q */
+#define	 VKI_TIOCPKT_DOSTOP		0x20	/* now do ^S ^Q */
+/* #define  TIOCPKT_IOCTL		0x40	state change of pty driver */
+#define VKI_TIOCSWINSZ	_VKI_IOW('t', 103, struct vki_winsize)	/* set window size */
+#define VKI_TIOCGWINSZ	_VKI_IOR('t', 104, struct vki_winsize)	/* get window size */
+#define VKI_TIOCNOTTY	0x5471		/* void tty association */
+#define VKI_TIOCSETD	0x7401
+#define VKI_TIOCGETD	0x7400
+
+#define VKI_FIOCLEX		0x6601
+#define VKI_FIONCLEX		0x6602
+#define VKI_FIOASYNC		0x667d
+#define VKI_FIONBIO		0x667e
+#define VKI_FIOQSIZE		0x667f
+
+#define VKI_TIOCGLTC		0x7474			/* get special local chars */
+#define VKI_TIOCSLTC		0x7475			/* set special local chars */
+#define VKI_TIOCSPGRP		_VKI_IOW('t', 118, int)	/* set pgrp of tty */
+#define VKI_TIOCGPGRP		_VKI_IOR('t', 119, int)	/* get pgrp of tty */
+#define VKI_TIOCCONS		_VKI_IOW('t', 120, int)	/* become virtual console */
+
+#define VKI_FIONREAD		0x467f
+#define VKI_TIOCINQ		FIONREAD
+
+#define VKI_TIOCGETP        	0x7408
+#define VKI_TIOCSETP        	0x7409
+#define VKI_TIOCSETN        	0x740a			/* TIOCSETP wo flush */
+
+#define VKI_TIOCSBRK	0x5427  /* BSD compatibility */
+#define VKI_TIOCCBRK	0x5428  /* BSD compatibility */
+#define VKI_TIOCGSID	0x7416  /* Return the session ID of FD */
+#define VKI_TIOCGPTN	_VKI_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
+#define VKI_TIOCSPTLCK	_VKI_IOW('T',0x31, int)  /* Lock/unlock Pty */
+
+/* I hope the range from 0x5480 on is free ... */
+#define VKI_TIOCSCTTY		0x5480		/* become controlling tty */
+#define VKI_TIOCGSOFTCAR	0x5481
+#define VKI_TIOCSSOFTCAR	0x5482
+#define VKI_TIOCLINUX		0x5483
+#define VKI_TIOCGSERIAL		0x5484
+#define VKI_TIOCSSERIAL		0x5485
+#define VKI_TCSBRKP		0x5486	/* Needed for POSIX tcsendbreak() */
+#define VKI_TIOCSERCONFIG	0x5488
+#define VKI_TIOCSERGWILD	0x5489
+#define VKI_TIOCSERSWILD	0x548a
+#define VKI_TIOCGLCKTRMIOS	0x548b
+#define VKI_TIOCSLCKTRMIOS	0x548c
+#define VKI_TIOCSERGSTRUCT	0x548d /* For debugging only */
+#define VKI_TIOCSERGETLSR   	0x548e /* Get line status register */
+#define VKI_TIOCSERGETMULTI 	0x548f /* Get multiport config  */
+#define VKI_TIOCSERSETMULTI 	0x5490 /* Set multiport config */
+#define VKI_TIOCMIWAIT      	0x5491 /* wait for a change on serial input line(s) */
+#define VKI_TIOCGICOUNT     	0x5492 /* read serial port inline interrupt counts */
+#define VKI_TIOCGHAYESESP	0x5493 /* Get Hayes ESP configuration */
+#define VKI_TIOCSHAYESESP	0x5494 /* Set Hayes ESP configuration */
+
+//----------------------------------------------------------------------
+// From asm-generic/poll.h
+//----------------------------------------------------------------------
+
+/* These are specified by iBCS2 */
+#define VKI_POLLIN		0x0001
+
+struct vki_pollfd {
+	int fd;
+	short events;
+	short revents;
+};
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/ucontext.h
+//----------------------------------------------------------------------
+
+struct vki_ucontext {
+	unsigned long		uc_flags;
+	struct vki_ucontext    *uc_link;
+	vki_stack_t		uc_stack;
+	struct vki_sigcontext	uc_mcontext;
+	vki_sigset_t		uc_sigmask;	/* mask last for extensibility */
+};
+
+// CAB: TODO
+typedef void vki_modify_ldt_t;
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/ipcbuf.h
+//----------------------------------------------------------------------
+
+struct vki_ipc64_perm
+{
+        __vki_kernel_key_t  key;
+        __vki_kernel_uid_t  uid;
+        __vki_kernel_gid_t  gid;
+        __vki_kernel_uid_t  cuid;
+        __vki_kernel_gid_t  cgid;
+        __vki_kernel_mode_t mode;
+        unsigned short  seq;
+        unsigned short  __pad1;
+        unsigned long   __unused1;
+        unsigned long   __unused2;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/sembuf.h
+//----------------------------------------------------------------------
+
+struct vki_semid64_ds {
+        struct vki_ipc64_perm sem_perm;             /* permissions .. see ipc.h */
+        __vki_kernel_time_t sem_otime;              /* last semop time */
+        __vki_kernel_time_t sem_ctime;              /* last change time */
+        unsigned long   sem_nsems;              /* no. of semaphores in array */
+        unsigned long   __unused1;
+        unsigned long   __unused2;
+};
+
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/msgbuf.h
+//----------------------------------------------------------------------
+
+struct vki_msqid64_ds {
+	struct vki_ipc64_perm msg_perm;
+	__vki_kernel_time_t msg_stime;	/* last msgsnd time */
+	unsigned long	__unused1;
+	__vki_kernel_time_t msg_rtime;	/* last msgrcv time */
+	unsigned long	__unused2;
+	__vki_kernel_time_t msg_ctime;	/* last change time */
+	unsigned long	__unused3;
+	unsigned long  msg_cbytes;	/* current number of bytes on queue */
+	unsigned long  msg_qnum;	/* number of messages in queue */
+	unsigned long  msg_qbytes;	/* max number of bytes on queue */
+	__vki_kernel_pid_t msg_lspid;	/* pid of last msgsnd */
+	__vki_kernel_pid_t msg_lrpid;	/* last receive pid */
+	unsigned long  __unused4;
+	unsigned long  __unused5;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/ipc.h
+//----------------------------------------------------------------------
+
+struct vki_ipc_kludge {
+        struct vki_msgbuf __user *msgp;
+        long msgtyp;
+};
+
+#define VKI_SEMOP            1
+#define VKI_SEMGET           2
+#define VKI_SEMCTL           3
+#define VKI_SEMTIMEDOP       4
+#define VKI_MSGSND          11
+#define VKI_MSGRCV          12
+#define VKI_MSGGET          13
+#define VKI_MSGCTL          14
+#define VKI_SHMAT           21
+#define VKI_SHMDT           22
+#define VKI_SHMGET          23
+#define VKI_SHMCTL          24
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/shmbuf.h
+//----------------------------------------------------------------------
+
+struct vki_shmid64_ds {
+        struct vki_ipc64_perm       shm_perm;       /* operation perms */
+        vki_size_t                  shm_segsz;      /* size of segment (bytes) */
+        __vki_kernel_time_t         shm_atime;      /* last attach time */
+        __vki_kernel_time_t         shm_dtime;      /* last detach time */
+        __vki_kernel_time_t         shm_ctime;      /* last change time */
+        __vki_kernel_pid_t          shm_cpid;       /* pid of creator */
+        __vki_kernel_pid_t          shm_lpid;       /* pid of last operator */
+        unsigned long           shm_nattch;     /* no. of current attaches */
+        unsigned long           __unused1;
+        unsigned long           __unused2;
+};
+
+struct vki_shminfo64 {
+        unsigned long   shmmax;
+        unsigned long   shmmin;
+        unsigned long   shmmni;
+        unsigned long   shmseg;
+        unsigned long   shmall;
+        unsigned long   __unused1;
+        unsigned long   __unused2;
+        unsigned long   __unused3;
+        unsigned long   __unused4;
+};
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/ptrace.h
+//----------------------------------------------------------------------
+
+struct vki_pt_regs {
+#ifdef CONFIG_32BIT
+        /* Pad bytes for argument save space on the stack. */
+        unsigned long pad0[6];
+#endif
+        /* Saved main processor registers. */
+        unsigned long regs[32];
+
+        /* Saved special registers. */
+        unsigned long cp0_status;
+        unsigned long hi;
+        unsigned long lo;
+#ifdef CONFIG_CPU_HAS_SMARTMIPS
+        unsigned long acx;
+#endif
+        unsigned long cp0_badvaddr;
+        unsigned long cp0_cause;
+        unsigned long cp0_epc;
+#ifdef CONFIG_MIPS_MT_SMTC
+        unsigned long cp0_tcstatus;
+#endif /* CONFIG_MIPS_MT_SMTC */
+#ifdef CONFIG_CPU_CAVIUM_OCTEON
+        unsigned long long mpl[3];        /* MTM{0,1,2} */
+        unsigned long long mtp[3];        /* MTP{0,1,2} */
+#endif
+} __attribute__ ((aligned (8)));
+
+
+#define vki_user_regs_struct vki_pt_regs
+
+#define MIPS_lo  	lo
+#define MIPS_hi  	hi
+//#define MIPS_pc		regs[32]
+#define MIPS_r31		regs[31]
+#define MIPS_r30		regs[30]
+#define MIPS_r29		regs[29]
+#define MIPS_r28		regs[28]
+#define MIPS_r27		regs[27]
+#define MIPS_r26		regs[26]
+#define MIPS_r25		regs[25]
+#define MIPS_r24		regs[24]
+#define MIPS_r23		regs[23]
+#define MIPS_r22		regs[22]
+#define MIPS_r21		regs[21]
+#define MIPS_r20		regs[20]
+#define MIPS_r19		regs[19]
+#define MIPS_r18		regs[18]
+#define MIPS_r17		regs[17]
+#define MIPS_r16		regs[16]
+#define MIPS_r15		regs[15]
+#define MIPS_r14		regs[14]
+#define MIPS_r13		regs[13]
+#define MIPS_r12		regs[12]
+#define MIPS_r11		regs[11]
+#define MIPS_r10		regs[10]
+#define MIPS_r9		regs[9]
+#define MIPS_r8		regs[8]
+#define MIPS_r7		regs[7]
+#define MIPS_r6		regs[6]
+#define MIPS_r5		regs[5]
+#define MIPS_r4		regs[4]
+#define MIPS_r3		regs[3]
+#define MIPS_r2		regs[2]
+#define MIPS_r1		regs[1]
+#define MIPS_r0		regs[0]
+
+#define VKI_PTRACE_GETREGS            12
+#define VKI_PTRACE_SETREGS            13
+#define VKI_PTRACE_GETFPREGS          14
+#define VKI_PTRACE_SETFPREGS          15
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/elf.h
+//----------------------------------------------------------------------
+typedef unsigned long vki_elf_greg_t;
+
+#define VKI_ELF_NGREG (sizeof (struct vki_user_regs_struct) / sizeof(vki_elf_greg_t))
+#define VKI_ELF_NFPREG			33	/* includes fpscr */
+
+typedef vki_elf_greg_t vki_elf_gregset_t[VKI_ELF_NGREG];
+
+typedef double vki_elf_fpreg_t;
+typedef vki_elf_fpreg_t vki_elf_fpregset_t[VKI_ELF_NFPREG];
+
+typedef struct vki_user_fxsr_struct vki_elf_fpxregset_t;
+
+#define VKI_AT_SYSINFO		32
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-generic/siginfo.h
+//----------------------------------------------------------------------
+#define HAVE_ARCH_SIGINFO_T
+
+typedef union vki_sigval {
+	int sival_int;
+	void __user *sival_ptr;
+} vki_sigval_t;
+
+#ifndef __VKI_ARCH_SI_PREAMBLE_SIZE
+#define __VKI_ARCH_SI_PREAMBLE_SIZE	(3 * sizeof(int))
+#endif
+
+#define VKI_SI_MAX_SIZE	128
+
+#ifndef VKI_SI_PAD_SIZE
+#define VKI_SI_PAD_SIZE	((VKI_SI_MAX_SIZE - __VKI_ARCH_SI_PREAMBLE_SIZE) / sizeof(int))
+#endif
+
+#ifndef __VKI_ARCH_SI_UID_T
+#define __VKI_ARCH_SI_UID_T	vki_uid_t
+#endif
+
+#ifndef __VKI_ARCH_SI_BAND_T
+#define __VKI_ARCH_SI_BAND_T long
+#endif
+
+typedef struct vki_siginfo {
+        int si_signo;
+        int si_code;
+        int si_errno;
+        int __pad0[VKI_SI_MAX_SIZE / sizeof(int) - VKI_SI_PAD_SIZE - 3];
+
+        union {
+                int _pad[VKI_SI_PAD_SIZE];
+
+                /* kill() */
+                struct {
+                        vki_pid_t _pid;             /* sender's pid */
+                        __VKI_ARCH_SI_UID_T _uid;   /* sender's uid */
+                } _kill;
+
+                /* POSIX.1b timers */
+                struct {
+                        vki_timer_t _tid;           /* timer id */
+                        int _overrun;           /* overrun count */
+                        char _pad[sizeof( __VKI_ARCH_SI_UID_T) - sizeof(int)];
+                        vki_sigval_t _sigval;       /* same as below */
+                        int _sys_private;       /* not to be passed to user */
+                } _timer;
+
+                /* POSIX.1b signals */
+                struct {
+                        vki_pid_t _pid;             /* sender's pid */
+                        __VKI_ARCH_SI_UID_T _uid;   /* sender's uid */
+                        vki_sigval_t _sigval;
+                } _rt;
+
+                /* SIGCHLD */
+                struct {
+                        vki_pid_t _pid;             /* which child */
+                        __VKI_ARCH_SI_UID_T _uid;   /* sender's uid */
+                        int _status;            /* exit code */
+                        vki_clock_t _utime;
+                        vki_clock_t _stime;
+                } _sigchld;
+
+                /* IRIX SIGCHLD */
+                struct {
+                        vki_pid_t _pid;             /* which child */
+                        vki_clock_t _utime;
+                        int _status;            /* exit code */
+                        vki_clock_t _stime;
+                } _irix_sigchld;
+
+                /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
+                struct {
+                        void __user *_addr; /* faulting insn/memory ref. */
+#ifdef __ARCH_SI_TRAPNO
+                        int _trapno;    /* TRAP # which caused the signal */
+#endif
+                } _sigfault;
+
+                /* SIGPOLL, SIGXFSZ (To do ...)  */
+                struct {
+                        __VKI_ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
+                        int _fd;
+                } _sigpoll;
+        } _sifields;
+} vki_siginfo_t;
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm/break.h
+//----------------------------------------------------------------------
+#define VKI_BRK_OVERFLOW         6    /* Overflow check */
+#define VKI_BRK_DIVZERO          7    /* Divide by zero check */
+
+//----------------------------------------------------------------------
+// From linux-3.6.35.5/arch/mips/include/socket.h
+//----------------------------------------------------------------------
+enum vki_sock_type {
+        VKI_SOCK_STREAM = 2,
+        // [[others omitted]]
+};
+#define ARCH_HAS_SOCKET_TYPES 1
+
+#endif // __VKI_MIPS32_LINUX_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                       vki-mips32-linux.h ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-mips64-linux.h b/include/vki/vki-mips64-linux.h
new file mode 100644
index 0000000..fcf8b43
--- /dev/null
+++ b/include/vki/vki-mips64-linux.h
@@ -0,0 +1,1003 @@
+
+/*--------------------------------------------------------------------*/
+/*--- mips/Linux-specific kernel interface.     vki-mips64-linux.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2010-2013 RT-RK
+      mips-valgrind@rt-rk.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+*/
+
+#ifndef __VKI_MIPS64_LINUX_H
+#define __VKI_MIPS64_LINUX_H
+
+#include <config.h>
+
+// mips endian
+#if defined (_MIPSEL)
+#define VKI_LITTLE_ENDIAN  1
+#elif defined (_MIPSEB)
+#define VKI_BIG_ENDIAN  1
+#endif
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/cachectl.h
+//----------------------------------------------------------------------
+
+#define VKI_ICACHE  (1<<0)          /* flush instruction cache        */
+#define VKI_DCACHE  (1<<1)          /* writeback and flush data cache */
+#define VKI_BCACHE  (VKI_ICACHE | VKI_DCACHE) /* flush both caches    */
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/mips-mips/types.h
+//----------------------------------------------------------------------
+
+typedef __signed__ char __vki_s8;
+typedef unsigned   char __vki_u8;
+
+typedef __signed__ short __vki_s16;
+typedef unsigned   short __vki_u16;
+
+typedef __signed__ int __vki_s32;
+typedef unsigned   int __vki_u32;
+
+typedef __signed char vki_s8;
+typedef unsigned char vki_u8;
+
+typedef __signed short vki_s16;
+typedef unsigned short vki_u16;
+
+typedef __signed int vki_s32;
+typedef unsigned int vki_u32;
+
+#if (_MIPS_SZLONG == 64)
+typedef __signed__ long __vki_s64;
+typedef unsigned   long __vki_u64;
+#else
+typedef __signed__ long long __vki_s64;
+typedef unsigned   long long __vki_u64;
+#endif
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/page.h
+//----------------------------------------------------------------------
+
+/* PAGE_SHIFT determines the page size */
+#define VKI_PAGE_SHIFT  MIPS_PAGE_SHIFT
+#define VKI_PAGE_SIZE   (1UL << VKI_PAGE_SHIFT)
+#define VKI_PAGE_MASK   (~(VKI_PAGE_SIZE-1))
+#define VKI_MAX_PAGE_SHIFT      VKI_PAGE_SHIFT
+#define VKI_MAX_PAGE_SIZE       VKI_PAGE_SIZE
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/arch/mips/include/bits/shm.h
+//----------------------------------------------------------------------
+
+#define VKI_SHMLBA  0x40000
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/signal.h
+//----------------------------------------------------------------------
+
+#define VKI_MINSIGSTKSZ 2048
+
+#define VKI_SIG_BLOCK   1  /* for blocking signals */
+#define VKI_SIG_UNBLOCK 2  /* for unblocking signals */
+#define VKI_SIG_SETMASK 3  /* for setting the signal mask */
+
+/* Type of a signal handler.  */
+typedef void __vki_signalfn_t(int);
+typedef __vki_signalfn_t __user *__vki_sighandler_t;
+
+typedef void __vki_restorefn_t(void);
+typedef __vki_restorefn_t __user *__vki_sigrestore_t;
+
+#define VKI_SIG_DFL     ((__vki_sighandler_t)0)   /* default signal handling */
+#define VKI_SIG_IGN     ((__vki_sighandler_t)1)   /* ignore signal */
+#define VKI_SIG_ERR     ((__vki_sighandler_t)-1)  /* error return from signal */
+
+#define _VKI_NSIG       128
+#define _VKI_NSIG_BPW   64
+#define _VKI_NSIG_WORDS (_VKI_NSIG / _VKI_NSIG_BPW)
+
+typedef unsigned long vki_old_sigset_t;  /* at least 32 bits */
+
+typedef struct {
+        unsigned long sig[_VKI_NSIG_WORDS];
+} vki_sigset_t;
+
+#define VKI_SIGHUP           1          /* Hangup (POSIX).                    */
+#define VKI_SIGINT           2          /* Interrupt (ANSI).                  */
+#define VKI_SIGQUIT          3          /* Quit (POSIX).                      */
+#define VKI_SIGILL           4          /* Illegal instruction (ANSI).        */
+#define VKI_SIGTRAP          5          /* Trace trap (POSIX).                */
+#define VKI_SIGIOT           6          /* IOT trap (4.2 BSD).                */
+#define VKI_SIGABRT          VKI_SIGIOT /* Abort (ANSI).                      */
+#define VKI_SIGEMT           7
+#define VKI_SIGFPE           8          /* Floating-point exception (ANSI).   */
+#define VKI_SIGKILL          9          /* Kill, unblockable (POSIX).         */
+#define VKI_SIGBUS          10          /* BUS error (4.2 BSD).               */
+#define VKI_SIGSEGV         11          /* Segmentation violation (ANSI).     */
+#define VKI_SIGSYS          12
+#define VKI_SIGPIPE         13          /* Broken pipe (POSIX).               */
+#define VKI_SIGALRM         14          /* Alarm clock (POSIX).               */
+#define VKI_SIGTERM         15          /* Termination (ANSI).                */
+#define VKI_SIGUSR1         16          /* User-defined signal 1 (POSIX).     */
+#define VKI_SIGUSR2         17          /* User-defined signal 2 (POSIX).     */
+#define VKI_SIGCHLD         18          /* Child status has changed (POSIX).  */
+#define VKI_SIGCLD          VKI_SIGCHLD /* Same as SIGCHLD (System V).        */
+#define VKI_SIGPWR          19          /* Power failure restart (System V).  */
+#define VKI_SIGWINCH        20          /* Window size change (4.3 BSD, Sun). */
+#define VKI_SIGURG          21          /* Urgent condition on socket.        */
+#define VKI_SIGIO           22          /* I/O now possible (4.2 BSD).        */
+#define VKI_SIGPOLL         VKI_SIGIO   /* Pollable event occurred (System V).*/
+#define VKI_SIGSTOP         23          /* Stop, unblockable (POSIX).         */
+#define VKI_SIGTSTP         24          /* Keyboard stop (POSIX).             */
+#define VKI_SIGCONT         25          /* Continue (POSIX).                  */
+#define VKI_SIGTTIN         26          /* Background read from tty (POSIX).  */
+#define VKI_SIGTTOU         27          /* Background write to tty (POSIX).   */
+#define VKI_SIGVTALRM       28          /* Virtual alarm clock (4.2 BSD).     */
+#define VKI_SIGPROF         29          /* Profiling alarm clock (4.2 BSD).   */
+#define VKI_SIGXCPU         30          /* CPU limit exceeded (4.2 BSD).      */
+#define VKI_SIGXFSZ         31          /* File size limit exceeded (4.2 BSD).*/
+
+/* These should not be considered constants from userland.  */
+#define VKI_SIGRTMIN    32
+// [[This was (_NSIG-1) in 2.4.X... not sure if it matters.]]
+#define VKI_SIGRTMAX    (_VKI_NSIG - 1)
+
+#define VKI_SA_ONSTACK      0x08000000u
+#define VKI_SA_RESETHAND    0x80000000u
+#define VKI_SA_RESTART      0x10000000u
+#define VKI_SA_SIGINFO      0x00000008u
+#define VKI_SA_NODEFER      0x40000000u
+#define VKI_SA_NOCLDWAIT    0x00010000u
+#define VKI_SA_NOCLDSTOP    0x00000001u
+
+#define VKI_SA_NOMASK           VKI_SA_NODEFER
+#define VKI_SA_ONESHOT          VKI_SA_RESETHAND
+//#define VKI_SA_INTERRUPT      0x20000000  /* dummy -- ignored */
+
+#define VKI_SA_RESTORER         0x04000000
+
+#define VKI_SS_ONSTACK          1
+#define VKI_SS_DISABLE          2
+
+struct vki_old_sigaction {
+       // [[Nb: a 'k' prefix is added to "sa_handler" because
+       // bits/sigaction.h (which gets dragged in somehow via signal.h)
+       // #defines it as something else.  Since that is done for glibc's
+       // purposes, which we don't care about here, we use our own name.]]
+       unsigned long sa_flags;
+       __vki_sighandler_t ksa_handler;
+       vki_old_sigset_t sa_mask;
+       __vki_sigrestore_t sa_restorer;
+};
+
+struct vki_sigaction {
+       unsigned int    sa_flags;
+       __vki_sighandler_t  sa_handler;
+       vki_sigset_t        sa_mask;
+};
+
+
+struct vki_sigaction_base {
+       // [[See comment about extra 'k' above]]
+       unsigned int sa_flags;
+       __vki_sighandler_t ksa_handler;
+       vki_sigset_t sa_mask;           // mask last for extensibility
+       __vki_sigrestore_t sa_restorer;
+};
+
+/* On Linux we use the same type for passing sigactions to
+   and from the kernel.  Hence: */
+typedef  struct vki_sigaction_base  vki_sigaction_toK_t;
+typedef  struct vki_sigaction_base  vki_sigaction_fromK_t;
+
+typedef struct vki_sigaltstack {
+        void __user *ss_sp;
+        vki_size_t ss_size;
+        int ss_flags;
+} vki_stack_t;
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/sigcontext.h
+//----------------------------------------------------------------------
+
+struct _vki_fpreg {
+       unsigned short significand[4];
+       unsigned short exponent;
+};
+
+struct _vki_fpxreg {
+       unsigned short significand[4];
+       unsigned short exponent;
+       unsigned short padding[3];
+};
+
+struct _vki_xmmreg {
+       unsigned long element[4];
+};
+
+struct _vki_fpstate {
+       /* Regular FPU environment */
+       unsigned long    cw;
+       unsigned long    sw;
+       unsigned long    tag;
+       unsigned long    ipoff;
+       unsigned long    cssel;
+       unsigned long    dataoff;
+       unsigned long    datasel;
+       struct _vki_fpreg    _st[8];
+       unsigned short   status;
+       unsigned short   magic;           /* 0xffff = regular FPU data only */
+
+       /* FXSR FPU environment */
+       unsigned long    _fxsr_env[6];    /* FXSR FPU env is ignored */
+       unsigned long    mxcsr;
+       unsigned long    reserved;
+       struct _vki_fpxreg   _fxsr_st[8]; /* FXSR FPU reg data is ignored */
+       struct _vki_xmmreg   _xmm[8];
+       unsigned long    padding[56];
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/sigcontext.h
+//----------------------------------------------------------------------
+struct vki_sigcontext {
+       __vki_u64   sc_regs[32];
+       __vki_u64   sc_fpregs[32];
+       __vki_u64   sc_mdhi;
+       __vki_u64   sc_hi1;
+       __vki_u64   sc_hi2;
+       __vki_u64   sc_hi3;
+       __vki_u64   sc_mdlo;
+       __vki_u64   sc_lo1;
+       __vki_u64   sc_lo2;
+       __vki_u64   sc_lo3;
+       __vki_u64   sc_pc;
+       __vki_u64   sc_fpc_csr;
+       __vki_u64   sc_used_math;
+       __vki_u64   sc_dsp;
+       __vki_u64   sc_reserved;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/mman.h
+//----------------------------------------------------------------------
+
+#define VKI_PROT_NONE       0x0      /* No page permissions */
+#define VKI_PROT_READ       0x1      /* page can be read */
+#define VKI_PROT_WRITE      0x2      /* page can be written */
+#define VKI_PROT_EXEC       0x4      /* page can be executed */
+#define VKI_PROT_GROWSDOWN  0x01000000  /* mprotect flag: extend change to start
+                                           of growsdown vma */
+#define VKI_PROT_GROWSUP    0x02000000  /* mprotect flag: extend change to end
+                                           of growsup vma */
+
+#define VKI_MAP_SHARED      0x001     /* Share changes */
+#define VKI_MAP_PRIVATE     0x002     /* Changes are private */
+//#define VKI_MAP_TYPE      0x0f        /* Mask for type of mapping */
+#define VKI_MAP_FIXED       0x010     /* Interpret addr exactly */
+
+#define VKI_MAP_NORESERVE   0x0400   /* don't reserve swap pages */
+
+/* These are linux-specific */
+#define VKI_MAP_NORESERVE   0x0400          /* don't check for reservations */
+#define VKI_MAP_ANONYMOUS   0x0800          /* don't use a file */
+#define VKI_MAP_GROWSDOWN   0x1000          /* stack-like segment */
+#define VKI_MAP_DENYWRITE   0x2000          /* ETXTBSY */
+#define VKI_MAP_EXECUTABLE  0x4000          /* mark it as an executable */
+#define VKI_MAP_LOCKED      0x8000          /* pages are locked */
+#define VKI_MAP_POPULATE    0x10000         /* populate (prefault) pagetables */
+#define VKI_MAP_NONBLOCK    0x20000         /* do not block on IO */
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/fcntl.h
+//----------------------------------------------------------------------
+
+#define VKI_O_RDONLY        00
+#define VKI_O_WRONLY        01
+#define VKI_O_RDWR          02
+#define VKI_O_ACCMODE       03
+
+#define VKI_O_CREAT         0x0100      /* not fcntl */
+#define VKI_O_EXCL          0x0400      /* not fcntl */
+
+#define VKI_O_TRUNC         0x0200      /* not fcntl */
+
+#define VKI_O_APPEND        0x0008
+#define VKI_O_NONBLOCK      0x0080
+#define VKI_O_LARGEFILE     0x2000
+
+#define VKI_AT_FDCWD        -100
+
+#define VKI_F_DUPFD         0           /* dup */
+#define VKI_F_GETFD         1           /* get close_on_exec */
+#define VKI_F_SETFD         2           /* set/clear close_on_exec */
+#define VKI_F_GETFL         3           /* get file->f_flags */
+#define VKI_F_SETFL         4           /* set file->f_flags */
+
+#define VKI_F_GETLK         14
+#define VKI_F_SETLK         6
+#define VKI_F_SETLKW        7
+
+#define VKI_F_SETOWN        24          /*  for sockets. */
+#define VKI_F_GETOWN        23          /*  for sockets. */
+#define VKI_F_SETSIG        10          /*  for sockets. */
+#define VKI_F_GETSIG        11          /*  for sockets. */
+
+#define VKI_F_SETOWN_EX     15
+#define VKI_F_GETOWN_EX     16
+
+#define VKI_F_GETLK64       33          /*  using 'struct flock64' */
+#define VKI_F_SETLK64       34
+#define VKI_F_SETLKW64      35
+
+/* for F_[GET|SET]FL */
+#define VKI_FD_CLOEXEC      1      /* actually anything with low bit set goes */
+
+#define VKI_F_LINUX_SPECIFIC_BASE 1024
+
+struct vki_f_owner_ex {
+       int type;
+       __vki_kernel_pid_t pid;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/resource.h
+//----------------------------------------------------------------------
+
+#define VKI_RLIMIT_DATA     2   /* max data size */
+#define VKI_RLIMIT_STACK    3   /* max stack size */
+#define VKI_RLIMIT_CORE     4   /* max core file size */
+#define VKI_RLIMIT_NOFILE   5   /* max number of open files */
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/socket.h
+//----------------------------------------------------------------------
+
+#define VKI_SOL_SOCKET   0xffff
+#define VKI_SO_TYPE      0x1008
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-i386/sockios.h
+//----------------------------------------------------------------------
+
+#define VKI_SIOCSPGRP           0x8902
+#define VKI_SIOCGPGRP           0x8904
+#define VKI_SIOCGSTAMP          0x8906      /* Get stamp (timeval) */
+#define VKI_SIOCGSTAMPNS        0x8907      /* Get stamp (timespec) */
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/stat.h
+//----------------------------------------------------------------------
+
+struct vki_stat {
+        unsigned int    st_dev;
+        unsigned int    st_pad0[3];     /* Reserved for st_dev expansion  */
+
+        unsigned long   st_ino;
+
+        int             st_mode;
+        unsigned int    st_nlink;
+
+        unsigned int    st_uid;
+        unsigned int    st_gid;
+
+        unsigned int    st_rdev;
+        unsigned int    st_pad1[3];     /* Reserved for st_rdev expansion  */
+
+        long            st_size;
+
+        /*
+         * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
+         * but we don't have it under Linux.
+         */
+        unsigned int    st_atime;
+        unsigned int    st_atime_nsec;  /* Reserved for st_atime expansion  */
+
+        unsigned int    st_mtime;
+        unsigned int    st_mtime_nsec;  /* Reserved for st_mtime expansion  */
+
+        unsigned int    st_ctime;
+        unsigned int    st_ctime_nsec;  /* Reserved for st_ctime expansion  */
+
+        unsigned int    st_blksize;
+        unsigned int    st_pad2;
+
+        long long       st_blocks;
+};
+
+struct vki_stat64 {
+        unsigned long   st_dev;
+        unsigned long   st_pad0[3];     /* Reserved for st_dev expansion  */
+
+        unsigned long long      st_ino;
+
+        int             st_mode;
+        unsigned int    st_nlink;
+
+        unsigned int    st_uid;
+        unsigned int    st_gid;
+
+        unsigned long   st_rdev;
+        unsigned long   st_pad1[3];     /* Reserved for st_rdev expansion  */
+
+        long long       st_size;
+
+        /*
+         * Actually this should be timestruc_t st_atime, st_mtime and st_ctime
+         * but we don't have it under Linux.
+         */
+        unsigned long   st_atime;
+        unsigned long   st_atime_nsec;  /* Reserved for st_atime expansion  */
+
+        unsigned long   st_mtime;
+        unsigned long   st_mtime_nsec;  /* Reserved for st_mtime expansion  */
+
+        unsigned long   st_ctime;
+        unsigned long   st_ctime_nsec;  /* Reserved for st_ctime expansion  */
+
+        unsigned long   st_blksize;
+        unsigned long   st_pad2;
+
+        long long       st_blocks;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/statfs.h
+//----------------------------------------------------------------------
+
+struct vki_statfs {
+       __vki_u32 f_type;
+#define f_fstyp f_type
+       __vki_u32 f_bsize;
+       __vki_u32 f_frsize;
+       __vki_u32 f_blocks;
+       __vki_u32 f_bfree;
+       __vki_u32 f_files;
+       __vki_u32 f_ffree;
+       __vki_u32 f_bavail;
+       __vki_kernel_fsid_t f_fsid;
+       __vki_u32 f_namelen;
+       __vki_u32 f_spare[6];
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/termios.h
+//----------------------------------------------------------------------
+
+struct vki_winsize {
+       unsigned short ws_row;
+       unsigned short ws_col;
+       unsigned short ws_xpixel;
+       unsigned short ws_ypixel;
+};
+
+#define NCC     8
+#define NCCS    23
+struct vki_termio {
+       unsigned short c_iflag;      /* input mode flags */
+       unsigned short c_oflag;      /* output mode flags */
+       unsigned short c_cflag;      /* control mode flags */
+       unsigned short c_lflag;      /* local mode flags */
+       char           c_line;       /* line discipline */
+       unsigned char  c_cc[NCCS];   /* control characters */
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/termbits.h
+//----------------------------------------------------------------------
+
+typedef unsigned char   vki_cc_t;
+typedef unsigned long   vki_speed_t;
+typedef unsigned long   vki_tcflag_t;
+
+struct vki_termios {
+       vki_tcflag_t c_iflag;        /* input mode flags */
+       vki_tcflag_t c_oflag;        /* output mode flags */
+       vki_tcflag_t c_cflag;        /* control mode flags */
+       vki_tcflag_t c_lflag;        /* local mode flags */
+       vki_cc_t c_line;             /* line discipline */
+       vki_cc_t c_cc[NCCS];         /* control characters */
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/ioctl.h
+//----------------------------------------------------------------------
+
+#define _VKI_IOC_NRBITS     8
+#define _VKI_IOC_TYPEBITS   8
+#define _VKI_IOC_SIZEBITS   14
+#define _VKI_IOC_DIRBITS    2
+
+#define _VKI_IOC_NRMASK     ((1 << _VKI_IOC_NRBITS)-1)
+#define _VKI_IOC_TYPEMASK   ((1 << _VKI_IOC_TYPEBITS)-1)
+#define _VKI_IOC_SIZEMASK   ((1 << _VKI_IOC_SIZEBITS)-1)
+#define _VKI_IOC_DIRMASK    ((1 << _VKI_IOC_DIRBITS)-1)
+
+#define _VKI_IOC_NRSHIFT    0
+#define _VKI_IOC_TYPESHIFT  (_VKI_IOC_NRSHIFT+_VKI_IOC_NRBITS)
+#define _VKI_IOC_SIZESHIFT  (_VKI_IOC_TYPESHIFT+_VKI_IOC_TYPEBITS)
+#define _VKI_IOC_DIRSHIFT   (_VKI_IOC_SIZESHIFT+_VKI_IOC_SIZEBITS)
+
+#define _VKI_IOC_NONE   1U
+#define _VKI_IOC_WRITE  2U
+#define _VKI_IOC_READ   4U
+
+#define _VKI_IOC(dir,type,nr,size) \
+                (((dir)  << _VKI_IOC_DIRSHIFT) | \
+                ((type) << _VKI_IOC_TYPESHIFT) | \
+                ((nr)   << _VKI_IOC_NRSHIFT) | \
+                ((size) << _VKI_IOC_SIZESHIFT))
+
+/* provoke compile error for invalid uses of size argument */
+extern unsigned int __VKI_invalid_size_argument_for_IOC;
+/* used to create numbers */
+#define _VKI_IO(type,nr)        _VKI_IOC(_VKI_IOC_NONE,(type),(nr),0)
+#define _VKI_IOR(type,nr,size)  _VKI_IOC(_VKI_IOC_READ,(type),(nr), \
+                                (_VKI_IOC_TYPECHECK(size)))
+#define _VKI_IOW(type,nr,size)  _VKI_IOC(_VKI_IOC_WRITE,(type),(nr), \
+                                (_VKI_IOC_TYPECHECK(size)))
+#define _VKI_IOWR(type,nr,size) _VKI_IOC(_VKI_IOC_READ|_VKI_IOC_WRITE,(type), \
+                                (nr),(_VKI_IOC_TYPECHECK(size)))
+
+/* used to decode ioctl numbers.. */
+#define _VKI_IOC_DIR(nr)    (((nr) >> _VKI_IOC_DIRSHIFT) & _VKI_IOC_DIRMASK)
+#define _VKI_IOC_TYPE(nr)   (((nr) >> _VKI_IOC_TYPESHIFT) & _VKI_IOC_TYPEMASK)
+#define _VKI_IOC_NR(nr)     (((nr) >> _VKI_IOC_NRSHIFT) & _VKI_IOC_NRMASK)
+#define _VKI_IOC_SIZE(nr)   (((nr) >> _VKI_IOC_SIZESHIFT) & _VKI_IOC_SIZEMASK)
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/ioctls.h
+//----------------------------------------------------------------------
+
+#define VKI_TCGETA              0x5401
+#define VKI_TCSETA              0x5402 /* Clashes with SNDCTL_TMR_START
+                                          sound ioctl */
+#define VKI_TCSETAW             0x5403
+#define VKI_TCSETAF             0x5404
+
+#define VKI_TCSBRK              0x5405
+#define VKI_TCXONC              0x5406
+#define VKI_TCFLSH              0x5407
+
+#define VKI_TCGETS              0x540d
+#define VKI_TCSETS              0x540e
+#define VKI_TCSETSW             0x540f
+#define VKI_TCSETSF             0x5410
+
+#define VKI_TIOCEXCL            0x740d  /* set exclusive use of tty */
+#define VKI_TIOCNXCL            0x740e  /* reset exclusive use of tty */
+#define VKI_TIOCOUTQ            0x7472  /* output queue size */
+#define VKI_TIOCSTI             0x5472  /* simulate terminal input */
+#define VKI_TIOCMGET            0x741d  /* get all modem bits */
+#define VKI_TIOCMBIS            0x741b  /* bis modem bits */
+#define VKI_TIOCMBIC            0x741c  /* bic modem bits */
+#define VKI_TIOCMSET            0x741a  /* set all modem bits */
+#define VKI_TIOCPKT             0x5470  /* pty: set/clear packet mode */
+#define VKI_TIOCPKT_DATA        0x00    /* data packet */
+#define VKI_TIOCPKT_FLUSHREAD   0x01    /* flush packet */
+#define VKI_TIOCPKT_FLUSHWRITE  0x02    /* flush packet */
+#define VKI_TIOCPKT_STOP        0x04    /* stop output */
+#define VKI_TIOCPKT_START       0x08    /* start output */
+#define VKI_TIOCPKT_NOSTOP      0x10    /* no more ^S, ^Q */
+#define VKI_TIOCPKT_DOSTOP      0x20    /* now do ^S ^Q */
+
+/* set window size */
+#define VKI_TIOCSWINSZ          _VKI_IOW('t', 103, struct vki_winsize)
+/* get window size */
+#define VKI_TIOCGWINSZ          _VKI_IOR('t', 104, struct vki_winsize)
+#define VKI_TIOCNOTTY           0x5471 /* void tty association */
+#define VKI_TIOCSETD            0x7401
+#define VKI_TIOCGETD            0x7400
+
+#define VKI_FIOCLEX             0x6601
+#define VKI_FIONCLEX            0x6602
+#define VKI_FIOASYNC            0x667d
+#define VKI_FIONBIO             0x667e
+#define VKI_FIOQSIZE            0x667f
+
+#define VKI_TIOCGLTC            0x7474 /* get special local chars */
+#define VKI_TIOCSLTC            0x7475 /* set special local chars */
+#define VKI_TIOCSPGRP           _VKI_IOW('t', 118, int) /* set pgrp of tty */
+#define VKI_TIOCGPGRP           _VKI_IOR('t', 119, int) /* get pgrp of tty */
+#define VKI_TIOCCONS            _VKI_IOW('t', 120, int) /* become virtual
+                                                           console */
+
+#define VKI_FIONREAD            0x467f
+#define VKI_TIOCINQ             FIONREAD
+
+#define VKI_TIOCGETP            0x7408
+#define VKI_TIOCSETP            0x7409
+#define VKI_TIOCSETN            0x740a /* TIOCSETP wo flush */
+
+#define VKI_TIOCSBRK            0x5427 /* BSD compatibility */
+#define VKI_TIOCCBRK            0x5428 /* BSD compatibility */
+#define VKI_TIOCGSID            0x7416 /* Return the session ID of FD */
+#define VKI_TIOCGPTN            _VKI_IOR('T',0x30, unsigned int) /* Get Pty
+                                                   Number (of pty-mux device) */
+#define VKI_TIOCSPTLCK          _VKI_IOW('T',0x31, int) /* Lock/unlock Pty */
+
+/* I hope the range from 0x5480 on is free ... */
+#define VKI_TIOCSCTTY           0x5480 /* become controlling tty */
+#define VKI_TIOCGSOFTCAR        0x5481
+#define VKI_TIOCSSOFTCAR        0x5482
+#define VKI_TIOCLINUX           0x5483
+#define VKI_TIOCGSERIAL         0x5484
+#define VKI_TIOCSSERIAL         0x5485
+#define VKI_TCSBRKP             0x5486 /* Needed for POSIX tcsendbreak() */
+#define VKI_TIOCSERCONFIG       0x5488
+#define VKI_TIOCSERGWILD        0x5489
+#define VKI_TIOCSERSWILD        0x548a
+#define VKI_TIOCGLCKTRMIOS      0x548b
+#define VKI_TIOCSLCKTRMIOS      0x548c
+#define VKI_TIOCSERGSTRUCT      0x548d /* For debugging only */
+#define VKI_TIOCSERGETLSR       0x548e /* Get line status register */
+#define VKI_TIOCSERGETMULTI     0x548f /* Get multiport config  */
+#define VKI_TIOCSERSETMULTI     0x5490 /* Set multiport config */
+#define VKI_TIOCMIWAIT          0x5491 /* wait for a change on serial input
+                                          line(s) */
+#define VKI_TIOCGICOUNT         0x5492 /* read serial port inline interrupt
+                                          counts */
+#define VKI_TIOCGHAYESESP       0x5493 /* Get Hayes ESP configuration */
+#define VKI_TIOCSHAYESESP       0x5494 /* Set Hayes ESP configuration */
+
+//----------------------------------------------------------------------
+// From asm-generic/poll.h
+//----------------------------------------------------------------------
+
+/* These are specified by iBCS2 */
+#define VKI_POLLIN              0x0001
+
+struct vki_pollfd {
+       int fd;
+       short events;
+       short revents;
+};
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/elf.h
+//----------------------------------------------------------------------
+
+#define VKI_ELF_NGREG           45  /* includes nip, msr, lr, etc. */
+#define VKI_ELF_NFPREG          33  /* includes fpscr */
+
+typedef unsigned long vki_elf_greg_t;
+typedef vki_elf_greg_t vki_elf_gregset_t[VKI_ELF_NGREG];
+
+typedef double vki_elf_fpreg_t;
+typedef vki_elf_fpreg_t vki_elf_fpregset_t[VKI_ELF_NFPREG];
+
+typedef struct vki_user_fxsr_struct vki_elf_fpxregset_t;
+
+#define VKI_AT_SYSINFO          32
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/ucontext.h
+//----------------------------------------------------------------------
+
+struct vki_ucontext {
+       unsigned long          uc_flags;
+       struct vki_ucontext    *uc_link;
+       vki_stack_t            uc_stack;
+       struct vki_sigcontext  uc_mcontext;
+       vki_sigset_t           uc_sigmask;  /* mask last for extensibility */
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/ipcbuf.h
+//----------------------------------------------------------------------
+
+struct vki_ipc64_perm {
+       __vki_kernel_key_t  key;
+       __vki_kernel_uid_t  uid;
+       __vki_kernel_gid_t  gid;
+       __vki_kernel_uid_t  cuid;
+       __vki_kernel_gid_t  cgid;
+       __vki_kernel_mode_t mode;
+       unsigned short  seq;
+       unsigned short  __pad1;
+       unsigned long   __unused1;
+       unsigned long   __unused2;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/sembuf.h
+//----------------------------------------------------------------------
+
+struct vki_semid64_ds {
+       struct vki_ipc64_perm sem_perm;         /* permissions .. see ipc.h */
+       __vki_kernel_time_t sem_otime;          /* last semop time */
+       __vki_kernel_time_t sem_ctime;          /* last change time */
+       unsigned long   sem_nsems;              /* no. of semaphores in array */
+       unsigned long   __unused1;
+       unsigned long   __unused2;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/msgbuf.h
+//----------------------------------------------------------------------
+
+struct vki_msqid64_ds {
+       struct vki_ipc64_perm msg_perm;
+       __vki_kernel_time_t msg_stime;     /* last msgsnd time */
+       __vki_kernel_time_t msg_rtime;     /* last msgrcv time */
+       __vki_kernel_time_t msg_ctime;     /* last change time */
+       unsigned long  msg_cbytes;         /* current number of bytes on queue */
+       unsigned long  msg_qnum;           /* number of messages in queue */
+       unsigned long  msg_qbytes;         /* max number of bytes on queue */
+       __vki_kernel_pid_t msg_lspid;      /* pid of last msgsnd */
+       __vki_kernel_pid_t msg_lrpid;      /* last receive pid */
+       unsigned long  __unused4;
+       unsigned long  __unused5;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/ipc.h
+//----------------------------------------------------------------------
+
+struct vki_ipc_kludge {
+       struct vki_msgbuf __user *msgp;
+       long msgtyp;
+};
+
+#define VKI_SEMOP            1
+#define VKI_SEMGET           2
+#define VKI_SEMCTL           3
+#define VKI_SEMTIMEDOP       4
+#define VKI_MSGSND          11
+#define VKI_MSGRCV          12
+#define VKI_MSGGET          13
+#define VKI_MSGCTL          14
+#define VKI_SHMAT           21
+#define VKI_SHMDT           22
+#define VKI_SHMGET          23
+#define VKI_SHMCTL          24
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/shmbuf.h
+//----------------------------------------------------------------------
+
+struct vki_shmid64_ds {
+       struct vki_ipc64_perm       shm_perm;       /* operation perms */
+       vki_size_t                  shm_segsz;      /* size of segment (bytes) */
+       __vki_kernel_time_t         shm_atime;      /* last attach time */
+       __vki_kernel_time_t         shm_dtime;      /* last detach time */
+       __vki_kernel_time_t         shm_ctime;      /* last change time */
+       __vki_kernel_pid_t          shm_cpid;       /* pid of creator */
+       __vki_kernel_pid_t          shm_lpid;       /* pid of last operator */
+       unsigned long               shm_nattch;     /* no. of current attaches */
+       unsigned long               __unused1;
+       unsigned long               __unused2;
+};
+
+struct vki_shminfo64 {
+       unsigned long   shmmax;
+       unsigned long   shmmin;
+       unsigned long   shmmni;
+       unsigned long   shmseg;
+       unsigned long   shmall;
+       unsigned long   __unused1;
+       unsigned long   __unused2;
+       unsigned long   __unused3;
+       unsigned long   __unused4;
+};
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-mips/ptrace.h
+//----------------------------------------------------------------------
+
+struct vki_pt_regs {
+#ifdef CONFIG_32BIT
+        /* Pad bytes for argument save space on the stack. */
+       unsigned long pad0[6];
+#endif
+
+       /* Saved main processor registers. */
+       unsigned long regs[32];
+
+       /* Saved special registers. */
+       unsigned long cp0_status;
+       unsigned long hi;
+       unsigned long lo;
+#ifdef CONFIG_CPU_HAS_SMARTMIPS
+       unsigned long acx;
+#endif
+       unsigned long cp0_badvaddr;
+       unsigned long cp0_cause;
+       unsigned long cp0_epc;
+#ifdef CONFIG_MIPS_MT_SMTC
+       unsigned long cp0_tcstatus;
+#endif /* CONFIG_MIPS_MT_SMTC */
+#ifdef CONFIG_CPU_CAVIUM_OCTEON
+       unsigned long long mpl[3];        /* MTM{0,1,2} */
+       unsigned long long mtp[3];        /* MTP{0,1,2} */
+#endif
+} __attribute__ ((aligned (8)));
+
+
+#define vki_user_regs_struct vki_pt_regs
+
+#define MIPS_lo     lo
+#define MIPS_hi     hi
+#define MIPS_r31    regs[31]
+#define MIPS_r30    regs[30]
+#define MIPS_r29    regs[29]
+#define MIPS_r28    regs[28]
+#define MIPS_r27    regs[27]
+#define MIPS_r26    regs[26]
+#define MIPS_r25    regs[25]
+#define MIPS_r24    regs[24]
+#define MIPS_r23    regs[23]
+#define MIPS_r22    regs[22]
+#define MIPS_r21    regs[21]
+#define MIPS_r20    regs[20]
+#define MIPS_r19    regs[19]
+#define MIPS_r18    regs[18]
+#define MIPS_r17    regs[17]
+#define MIPS_r16    regs[16]
+#define MIPS_r15    regs[15]
+#define MIPS_r14    regs[14]
+#define MIPS_r13    regs[13]
+#define MIPS_r12    regs[12]
+#define MIPS_r11    regs[11]
+#define MIPS_r10    regs[10]
+#define MIPS_r9     regs[9]
+#define MIPS_r8     regs[8]
+#define MIPS_r7     regs[7]
+#define MIPS_r6     regs[6]
+#define MIPS_r5     regs[5]
+#define MIPS_r4     regs[4]
+#define MIPS_r3     regs[3]
+#define MIPS_r2     regs[2]
+#define MIPS_r1     regs[1]
+#define MIPS_r0     regs[0]
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-i386/ptrace.h
+//----------------------------------------------------------------------
+
+#define VKI_PTRACE_GETREGS            12
+#define VKI_PTRACE_SETREGS            13
+#define VKI_PTRACE_GETFPREGS          14
+#define VKI_PTRACE_SETFPREGS          15
+#define VKI_PTRACE_GETFPXREGS         18
+#define VKI_PTRACE_SETFPXREGS         19
+
+/* Calls to trace a 64bit program from a 32bit program.  */
+#define VKI_PTRACE_PEEKTEXT_3264    0xc0
+#define VKI_PTRACE_PEEKDATA_3264    0xc1
+#define VKI_PTRACE_POKETEXT_3264    0xc2
+#define VKI_PTRACE_POKEDATA_3264    0xc3
+#define VKI_PTRACE_GET_THREAD_AREA_3264     0xc4s
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.9/include/asm-generic/siginfo.h
+//----------------------------------------------------------------------
+
+#define HAVE_ARCH_SIGINFO_T
+typedef union vki_sigval {
+        int sival_int;
+        void __user *sival_ptr;
+} vki_sigval_t;
+
+#ifndef __VKI_ARCH_SI_PREAMBLE_SIZE
+#define __VKI_ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
+#endif
+
+#define VKI_SI_MAX_SIZE 128
+
+#ifndef VKI_SI_PAD_SIZE
+#define VKI_SI_PAD_SIZE ((VKI_SI_MAX_SIZE - __VKI_ARCH_SI_PREAMBLE_SIZE) / sizeof(int))
+#endif
+
+#ifndef __VKI_ARCH_SI_UID_T
+#define __VKI_ARCH_SI_UID_T vki_uid_t
+#endif
+
+#ifndef __VKI_ARCH_SI_BAND_T
+#define __VKI_ARCH_SI_BAND_T long
+#endif
+
+typedef struct vki_siginfo {
+        int si_signo;
+        int si_code;
+        int si_errno;
+        int __pad0[VKI_SI_MAX_SIZE / sizeof(int) - VKI_SI_PAD_SIZE - 3];
+
+        union {
+                int _pad[VKI_SI_PAD_SIZE];
+
+                /* kill() */
+                struct {
+                        vki_pid_t _pid;             /* sender's pid */
+                        __VKI_ARCH_SI_UID_T _uid;   /* sender's uid */
+                } _kill;
+
+                /* POSIX.1b timers */
+                struct {
+                        vki_timer_t _tid;           /* timer id */
+                        int _overrun;           /* overrun count */
+                        char _pad[sizeof( __VKI_ARCH_SI_UID_T) - sizeof(int)];
+                        vki_sigval_t _sigval;       /* same as below */
+                        int _sys_private;       /* not to be passed to user */
+                } _timer;
+
+                /* POSIX.1b signals */
+                struct {
+                        vki_pid_t _pid;             /* sender's pid */
+                        __VKI_ARCH_SI_UID_T _uid;   /* sender's uid */
+                        vki_sigval_t _sigval;
+                } _rt;
+
+                /* SIGCHLD */
+                struct {
+                        vki_pid_t _pid;             /* which child */
+                        __VKI_ARCH_SI_UID_T _uid;   /* sender's uid */
+                        int _status;            /* exit code */
+                        vki_clock_t _utime;
+                        vki_clock_t _stime;
+                } _sigchld;
+
+                /* IRIX SIGCHLD */
+                struct {
+                        vki_pid_t _pid;             /* which child */
+                        vki_clock_t _utime;
+                        int _status;            /* exit code */
+                        vki_clock_t _stime;
+                } _irix_sigchld;
+
+                /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
+                struct {
+                        void __user *_addr; /* faulting insn/memory ref. */
+#ifdef __ARCH_SI_TRAPNO
+                        int _trapno;    /* TRAP # which caused the signal */
+#endif
+                } _sigfault;
+
+                /* SIGPOLL, SIGXFSZ (To do ...)  */
+                struct {
+                        __VKI_ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
+                        int _fd;
+                } _sigpoll;
+        } _sifields;
+} vki_siginfo_t;
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm/break.h
+//----------------------------------------------------------------------
+#define VKI_BRK_OVERFLOW 6  /* Overflow check */
+#define VKI_BRK_DIVZERO  7  /* Divide by zero check */
+
+//----------------------------------------------------------------------
+// From linux-3.6.35.5/arch/mips/include/socket.h
+//----------------------------------------------------------------------
+enum vki_sock_type {
+        VKI_SOCK_STREAM = 2,
+        // [[others omitted]]
+};
+#define ARCH_HAS_SOCKET_TYPES 1
+
+#endif // __VKI_MIPS64_LINUX_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                       vki-mips64-linux.h ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-posixtypes-amd64-linux.h b/include/vki/vki-posixtypes-amd64-linux.h
index 32a2fc9..4d0f1d4 100644
--- a/include/vki/vki-posixtypes-amd64-linux.h
+++ b/include/vki/vki-posixtypes-amd64-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-posixtypes-arm-linux.h b/include/vki/vki-posixtypes-arm-linux.h
index e9f910b..d20c7ce 100644
--- a/include/vki/vki-posixtypes-arm-linux.h
+++ b/include/vki/vki-posixtypes-arm-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-posixtypes-mips32-linux.h b/include/vki/vki-posixtypes-mips32-linux.h
new file mode 100644
index 0000000..45d3ebf
--- /dev/null
+++ b/include/vki/vki-posixtypes-mips32-linux.h
@@ -0,0 +1,68 @@
+
+/*--------------------------------------------------------------------*/
+/*--- mips/Linux-specific kernel interface: posix types.           ---*/
+/*---                                vki-posixtypes-mips32-linux.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2010-2012 RT-RK
+      mips-valgrind@rt-rk.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#ifndef __VKI_POSIXTYPES_MIPS32_LINUX_H
+#define __VKI_POSIXTYPES_MIPS32_LINUX_H
+
+//----------------------------------------------------------------------
+// From linux-2.6.35.5/include/asm-mips/posix_types.h
+//----------------------------------------------------------------------
+
+typedef unsigned int          __vki_kernel_mode_t;
+typedef long                  __vki_kernel_off_t;
+typedef int                   __vki_kernel_pid_t;
+typedef int                   __vki_kernel_ipc_pid_t;
+typedef unsigned int          __vki_kernel_uid_t;
+typedef unsigned int          __vki_kernel_gid_t;
+typedef unsigned int          __vki_kernel_size_t;
+typedef long                  __vki_kernel_time_t;
+typedef long                  __vki_kernel_suseconds_t;
+typedef long                  __vki_kernel_clock_t;
+typedef int                   __vki_kernel_timer_t;
+typedef int                   __vki_kernel_clockid_t;
+typedef char *                __vki_kernel_caddr_t;
+typedef unsigned int          __vki_kernel_uid32_t;
+typedef unsigned int          __vki_kernel_gid32_t;
+
+typedef unsigned int          __vki_kernel_old_uid_t;
+typedef unsigned int          __vki_kernel_old_gid_t;
+
+typedef long long             __vki_kernel_loff_t;
+
+typedef struct {
+    int val[2];
+} __vki_kernel_fsid_t;
+
+#endif // __VKI_POSIXTYPES_MIPS32_LINUX_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                            vki-posixtypes-mips32-linux.h ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-posixtypes-mips64-linux.h b/include/vki/vki-posixtypes-mips64-linux.h
new file mode 100644
index 0000000..9f446fc
--- /dev/null
+++ b/include/vki/vki-posixtypes-mips64-linux.h
@@ -0,0 +1,87 @@
+
+/*--------------------------------------------------------------------*/
+/*--- mips/Linux-specific kernel interface: posix types.           ---*/
+/*---                                vki-posixtypes-mips64-linux.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2010-2013 RT-RK
+      mips-valgrind@rt-rk.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+*/
+
+#ifndef __VKI_POSIXTYPES_MIPS64_LINUX_H
+#define __VKI_POSIXTYPES_MIPS64_LINUX_H
+
+typedef unsigned long   __vki_kernel_ino_t;
+typedef unsigned int    __vki_kernel_mode_t;
+#if (_MIPS_SZLONG == 32)
+typedef unsigned long   __vki_kernel_nlink_t;
+#endif
+#if (_MIPS_SZLONG == 64)
+typedef unsigned int    __vki_kernel_nlink_t;
+#endif
+typedef long            __vki_kernel_off_t;
+typedef int             __vki_kernel_pid_t;
+typedef int             __vki_kernel_ipc_pid_t;
+typedef unsigned int    __vki_kernel_uid_t;
+typedef unsigned int    __vki_kernel_gid_t;
+#if (_MIPS_SZLONG == 32)
+typedef unsigned int    __vki_kernel_size_t;
+typedef int             __vki_kernel_ssize_t;
+typedef int             __vki_kernel_ptrdiff_t;
+#endif
+#if (_MIPS_SZLONG == 64)
+typedef unsigned long   __vki_kernel_size_t;
+typedef long            __vki_kernel_ssize_t;
+typedef long            __vki_kernel_ptrdiff_t;
+#endif
+typedef long            __vki_kernel_time_t;
+typedef long            __vki_kernel_suseconds_t;
+typedef long            __vki_kernel_clock_t;
+typedef int             __vki_kernel_timer_t;
+typedef int             __vki_kernel_clockid_t;
+typedef long            __vki_kernel_daddr_t;
+typedef char *          __vki_kernel_caddr_t;
+
+typedef unsigned short  __vki_kernel_uid16_t;
+typedef unsigned short  __vki_kernel_gid16_t;
+typedef unsigned int    __vki_kernel_uid32_t;
+typedef unsigned int    __vki_kernel_gid32_t;
+typedef __vki_kernel_uid_t  __vki_kernel_old_uid_t;
+typedef __vki_kernel_gid_t  __vki_kernel_old_gid_t;
+typedef unsigned int    __vki_kernel_old_dev_t;
+
+typedef long long      __vki_kernel_loff_t;
+
+typedef struct {
+#if (_MIPS_SZLONG == 32)
+        long    val[2];
+#endif
+#if (_MIPS_SZLONG == 64)
+        int     val[2];
+#endif
+} __vki_kernel_fsid_t;
+
+#endif // __VKI_POSIXTYPES_MIPS64_LINUX_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                              vki-posixtypes-mips-linux.h ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-posixtypes-ppc32-linux.h b/include/vki/vki-posixtypes-ppc32-linux.h
index a5c4524..bf93eae 100644
--- a/include/vki/vki-posixtypes-ppc32-linux.h
+++ b/include/vki/vki-posixtypes-ppc32-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Julian Seward
+   Copyright (C) 2005-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-posixtypes-ppc64-linux.h b/include/vki/vki-posixtypes-ppc64-linux.h
index 2b002e5..6697758 100644
--- a/include/vki/vki-posixtypes-ppc64-linux.h
+++ b/include/vki/vki-posixtypes-ppc64-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Julian Seward
+   Copyright (C) 2005-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-posixtypes-s390x-linux.h b/include/vki/vki-posixtypes-s390x-linux.h
index 1dc753e..f2c9e53 100644
--- a/include/vki/vki-posixtypes-s390x-linux.h
+++ b/include/vki/vki-posixtypes-s390x-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright IBM Corp. 2010-2011
+   Copyright IBM Corp. 2010-2012
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-posixtypes-x86-linux.h b/include/vki/vki-posixtypes-x86-linux.h
index 2bb3025..e6c6235 100644
--- a/include/vki/vki-posixtypes-x86-linux.h
+++ b/include/vki/vki-posixtypes-x86-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-ppc32-linux.h b/include/vki/vki-ppc32-linux.h
index 4d7bdf2..255f95e 100644
--- a/include/vki/vki-ppc32-linux.h
+++ b/include/vki/vki-ppc32-linux.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Julian Seward
+   Copyright (C) 2005-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -307,6 +307,7 @@
 // From linux-2.6.9/include/asm-ppc/fcntl.h
 //----------------------------------------------------------------------
 
+#define VKI_O_ACCMODE		   03
 #define VKI_O_RDONLY		   00
 #define VKI_O_WRONLY		   01
 #define VKI_O_RDWR		   02
diff --git a/include/vki/vki-ppc64-linux.h b/include/vki/vki-ppc64-linux.h
index a41ad4e..06c8773 100644
--- a/include/vki/vki-ppc64-linux.h
+++ b/include/vki/vki-ppc64-linux.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Julian Seward
+   Copyright (C) 2005-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -360,6 +360,7 @@
 // From linux-2.6.13/include/asm-ppc64/fcntl.h
 //----------------------------------------------------------------------
 
+#define VKI_O_ACCMODE	         03
 #define VKI_O_RDONLY             00
 #define VKI_O_WRONLY             01
 #define VKI_O_RDWR               02
diff --git a/include/vki/vki-s390x-linux.h b/include/vki/vki-s390x-linux.h
index 53e9bb5..8aa2ae4 100644
--- a/include/vki/vki-s390x-linux.h
+++ b/include/vki/vki-s390x-linux.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright IBM Corp. 2010-2011
+   Copyright IBM Corp. 2010-2012
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-scnums-amd64-linux.h b/include/vki/vki-scnums-amd64-linux.h
index 2285fb9..85ade42 100644
--- a/include/vki/vki-scnums-amd64-linux.h
+++ b/include/vki/vki-scnums-amd64-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-arm-linux.h b/include/vki/vki-scnums-arm-linux.h
index f2a1da1..6a629cf 100644
--- a/include/vki/vki-scnums-arm-linux.h
+++ b/include/vki/vki-scnums-arm-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2008-2011 Evan Geller
+   Copyright (C) 2008-2012 Evan Geller
       gaze@bea.ms
 
    This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-darwin.h b/include/vki/vki-scnums-darwin.h
index 516b97c..0e3801b 100644
--- a/include/vki/vki-scnums-darwin.h
+++ b/include/vki/vki-scnums-darwin.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2007-2011 Apple Inc.
+   Copyright (C) 2007-2012 Apple Inc.
       Greg Parker  gparker@apple.com
 
    This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-mips32-linux.h b/include/vki/vki-scnums-mips32-linux.h
new file mode 100644
index 0000000..cdcac7b
--- /dev/null
+++ b/include/vki/vki-scnums-mips32-linux.h
@@ -0,0 +1,398 @@
+
+/*--------------------------------------------------------------------*/
+/*--- System call numbers for mips32-linux.                        ---*/
+/*---                                    vki-scnums-mips32-linux.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2010-2012 RT-RK
+      mips-valgrind@rt-rk.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#ifndef __VKI_SCNUMS_MIPS32_LINUX_H
+#define __VKI_SCNUMS_MIPS32_LINUX_H
+
+// From linux-2.6.35.5/include/asm-mips/unistd.h
+/*
+ * Linux o32 style syscalls are in the range from 4000 to 4999.
+ */
+#define __NR_Linux                      4000
+#define __NR_syscall                    (__NR_Linux +   0)
+#define __NR_exit                       (__NR_Linux +   1)
+#define __NR_fork                       (__NR_Linux +   2)
+#define __NR_read                       (__NR_Linux +   3)
+#define __NR_write                      (__NR_Linux +   4)
+#define __NR_open                       (__NR_Linux +   5)
+#define __NR_close                      (__NR_Linux +   6)
+#define __NR_waitpid                    (__NR_Linux +   7)
+#define __NR_creat                      (__NR_Linux +   8)
+#define __NR_link                       (__NR_Linux +   9)
+#define __NR_unlink                     (__NR_Linux +  10)
+#define __NR_execve                     (__NR_Linux +  11)
+#define __NR_chdir                      (__NR_Linux +  12)
+#define __NR_time                       (__NR_Linux +  13)
+#define __NR_mknod                      (__NR_Linux +  14)
+#define __NR_chmod                      (__NR_Linux +  15)
+#define __NR_lchown                     (__NR_Linux +  16)
+#define __NR_break                      (__NR_Linux +  17)
+#define __NR_unused18                   (__NR_Linux +  18)
+#define __NR_lseek                      (__NR_Linux +  19)
+#define __NR_getpid                     (__NR_Linux +  20)
+#define __NR_mount                      (__NR_Linux +  21)
+#define __NR_umount                     (__NR_Linux +  22)
+#define __NR_setuid                     (__NR_Linux +  23)
+#define __NR_getuid                     (__NR_Linux +  24)
+#define __NR_stime                      (__NR_Linux +  25)
+#define __NR_ptrace                     (__NR_Linux +  26)
+#define __NR_alarm                      (__NR_Linux +  27)
+#define __NR_unused28                   (__NR_Linux +  28)
+#define __NR_pause                      (__NR_Linux +  29)
+#define __NR_utime                      (__NR_Linux +  30)
+#define __NR_stty                       (__NR_Linux +  31)
+#define __NR_gtty                       (__NR_Linux +  32)
+#define __NR_access                     (__NR_Linux +  33)
+#define __NR_nice                       (__NR_Linux +  34)
+#define __NR_ftime                      (__NR_Linux +  35)
+#define __NR_sync                       (__NR_Linux +  36)
+#define __NR_kill                       (__NR_Linux +  37)
+#define __NR_rename                     (__NR_Linux +  38)
+#define __NR_mkdir                      (__NR_Linux +  39)
+#define __NR_rmdir                      (__NR_Linux +  40)
+#define __NR_dup                        (__NR_Linux +  41)
+#define __NR_pipe                       (__NR_Linux +  42)
+#define __NR_times                      (__NR_Linux +  43)
+#define __NR_prof                       (__NR_Linux +  44)
+#define __NR_brk                        (__NR_Linux +  45)
+#define __NR_setgid                     (__NR_Linux +  46)
+#define __NR_getgid                     (__NR_Linux +  47)
+#define __NR_signal                     (__NR_Linux +  48)
+#define __NR_geteuid                    (__NR_Linux +  49)
+#define __NR_getegid                    (__NR_Linux +  50)
+#define __NR_acct                       (__NR_Linux +  51)
+#define __NR_umount2                    (__NR_Linux +  52)
+#define __NR_lock                       (__NR_Linux +  53)
+#define __NR_ioctl                      (__NR_Linux +  54)
+#define __NR_fcntl                      (__NR_Linux +  55)
+#define __NR_mpx                        (__NR_Linux +  56)
+#define __NR_setpgid                    (__NR_Linux +  57)
+#define __NR_ulimit                     (__NR_Linux +  58)
+#define __NR_unused59                   (__NR_Linux +  59)
+#define __NR_umask                      (__NR_Linux +  60)
+#define __NR_chroot                     (__NR_Linux +  61)
+#define __NR_ustat                      (__NR_Linux +  62)
+#define __NR_dup2                       (__NR_Linux +  63)
+#define __NR_getppid                    (__NR_Linux +  64)
+#define __NR_getpgrp                    (__NR_Linux +  65)
+#define __NR_setsid                     (__NR_Linux +  66)
+#define __NR_sigaction                  (__NR_Linux +  67)
+#define __NR_sgetmask                   (__NR_Linux +  68)
+#define __NR_ssetmask                   (__NR_Linux +  69)
+#define __NR_setreuid                   (__NR_Linux +  70)
+#define __NR_setregid                   (__NR_Linux +  71)
+#define __NR_sigsuspend                 (__NR_Linux +  72)
+#define __NR_sigpending                 (__NR_Linux +  73)
+#define __NR_sethostname                (__NR_Linux +  74)
+#define __NR_setrlimit                  (__NR_Linux +  75)
+#define __NR_getrlimit                  (__NR_Linux +  76)
+#define __NR_getrusage                  (__NR_Linux +  77)
+#define __NR_gettimeofday               (__NR_Linux +  78)
+#define __NR_settimeofday               (__NR_Linux +  79)
+#define __NR_getgroups                  (__NR_Linux +  80)
+#define __NR_setgroups                  (__NR_Linux +  81)
+#define __NR_reserved82                 (__NR_Linux +  82)
+#define __NR_symlink                    (__NR_Linux +  83)
+#define __NR_unused84                   (__NR_Linux +  84)
+#define __NR_readlink                   (__NR_Linux +  85)
+#define __NR_uselib                     (__NR_Linux +  86)
+#define __NR_swapon                     (__NR_Linux +  87)
+#define __NR_reboot                     (__NR_Linux +  88)
+#define __NR_readdir                    (__NR_Linux +  89)
+#define __NR_mmap                       (__NR_Linux +  90)
+#define __NR_munmap                     (__NR_Linux +  91)
+#define __NR_truncate                   (__NR_Linux +  92)
+#define __NR_ftruncate                  (__NR_Linux +  93)
+#define __NR_fchmod                     (__NR_Linux +  94)
+#define __NR_fchown                     (__NR_Linux +  95)
+#define __NR_getpriority                (__NR_Linux +  96)
+#define __NR_setpriority                (__NR_Linux +  97)
+#define __NR_profil                     (__NR_Linux +  98)
+#define __NR_statfs                     (__NR_Linux +  99)
+#define __NR_fstatfs                    (__NR_Linux + 100)
+#define __NR_ioperm                     (__NR_Linux + 101)
+#define __NR_socketcall                 (__NR_Linux + 102)
+#define __NR_syslog                     (__NR_Linux + 103)
+#define __NR_setitimer                  (__NR_Linux + 104)
+#define __NR_getitimer                  (__NR_Linux + 105)
+#define __NR_stat                       (__NR_Linux + 106)
+#define __NR_lstat                      (__NR_Linux + 107)
+#define __NR_fstat                      (__NR_Linux + 108)
+#define __NR_unused109                  (__NR_Linux + 109)
+#define __NR_iopl                       (__NR_Linux + 110)
+#define __NR_vhangup                    (__NR_Linux + 111)
+#define __NR_idle                       (__NR_Linux + 112)
+#define __NR_vm86                       (__NR_Linux + 113)
+#define __NR_wait4                      (__NR_Linux + 114)
+#define __NR_swapoff                    (__NR_Linux + 115)
+#define __NR_sysinfo                    (__NR_Linux + 116)
+#define __NR_ipc                        (__NR_Linux + 117)
+#define __NR_fsync                      (__NR_Linux + 118)
+#define __NR_sigreturn                  (__NR_Linux + 119)
+#define __NR_clone                      (__NR_Linux + 120)
+#define __NR_setdomainname              (__NR_Linux + 121)
+#define __NR_uname                      (__NR_Linux + 122)
+#define __NR_modify_ldt                 (__NR_Linux + 123)
+#define __NR_adjtimex                   (__NR_Linux + 124)
+#define __NR_mprotect                   (__NR_Linux + 125)
+#define __NR_sigprocmask                (__NR_Linux + 126)
+#define __NR_create_module              (__NR_Linux + 127)
+#define __NR_init_module                (__NR_Linux + 128)
+#define __NR_delete_module              (__NR_Linux + 129)
+#define __NR_get_kernel_syms            (__NR_Linux + 130)
+#define __NR_quotactl                   (__NR_Linux + 131)
+#define __NR_getpgid                    (__NR_Linux + 132)
+#define __NR_fchdir                     (__NR_Linux + 133)
+#define __NR_bdflush                    (__NR_Linux + 134)
+#define __NR_sysfs                      (__NR_Linux + 135)
+#define __NR_personality                (__NR_Linux + 136)
+#define __NR_afs_syscall                (__NR_Linux + 137)
+#define __NR_setfsuid                   (__NR_Linux + 138)
+#define __NR_setfsgid                   (__NR_Linux + 139)
+#define __NR__llseek                    (__NR_Linux + 140)
+#define __NR_getdents                   (__NR_Linux + 141)
+#define __NR__newselect                 (__NR_Linux + 142)
+#define __NR_flock                      (__NR_Linux + 143)
+#define __NR_msync                      (__NR_Linux + 144)
+#define __NR_readv                      (__NR_Linux + 145)
+#define __NR_writev                     (__NR_Linux + 146)
+#define __NR_cacheflush                 (__NR_Linux + 147)
+#define __NR_cachectl                   (__NR_Linux + 148)
+#define __NR_sysmips                    (__NR_Linux + 149)
+#define __NR_unused150                  (__NR_Linux + 150)
+#define __NR_getsid                     (__NR_Linux + 151)
+#define __NR_fdatasync                  (__NR_Linux + 152)
+#define __NR__sysctl                    (__NR_Linux + 153)
+#define __NR_mlock                      (__NR_Linux + 154)
+#define __NR_munlock                    (__NR_Linux + 155)
+#define __NR_mlockall                   (__NR_Linux + 156)
+#define __NR_munlockall                 (__NR_Linux + 157)
+#define __NR_sched_setparam             (__NR_Linux + 158)
+#define __NR_sched_getparam             (__NR_Linux + 159)
+#define __NR_sched_setscheduler         (__NR_Linux + 160)
+#define __NR_sched_getscheduler         (__NR_Linux + 161)
+#define __NR_sched_yield                (__NR_Linux + 162)
+#define __NR_sched_get_priority_max     (__NR_Linux + 163)
+#define __NR_sched_get_priority_min     (__NR_Linux + 164)
+#define __NR_sched_rr_get_interval      (__NR_Linux + 165)
+#define __NR_nanosleep                  (__NR_Linux + 166)
+#define __NR_mremap                     (__NR_Linux + 167)
+#define __NR_accept                     (__NR_Linux + 168)
+#define __NR_bind                       (__NR_Linux + 169)
+#define __NR_connect                    (__NR_Linux + 170)
+#define __NR_getpeername                (__NR_Linux + 171)
+#define __NR_getsockname                (__NR_Linux + 172)
+#define __NR_getsockopt                 (__NR_Linux + 173)
+#define __NR_listen                     (__NR_Linux + 174)
+#define __NR_recv                       (__NR_Linux + 175)
+#define __NR_recvfrom                   (__NR_Linux + 176)
+#define __NR_recvmsg                    (__NR_Linux + 177)
+#define __NR_send                       (__NR_Linux + 178)
+#define __NR_sendmsg                    (__NR_Linux + 179)
+#define __NR_sendto                     (__NR_Linux + 180)
+#define __NR_setsockopt                 (__NR_Linux + 181)
+#define __NR_shutdown                   (__NR_Linux + 182)
+#define __NR_socket                     (__NR_Linux + 183)
+#define __NR_socketpair                 (__NR_Linux + 184)
+#define __NR_setresuid                  (__NR_Linux + 185)
+#define __NR_getresuid                  (__NR_Linux + 186)
+#define __NR_query_module               (__NR_Linux + 187)
+#define __NR_poll                       (__NR_Linux + 188)
+#define __NR_nfsservctl                 (__NR_Linux + 189)
+#define __NR_setresgid                  (__NR_Linux + 190)
+#define __NR_getresgid                  (__NR_Linux + 191)
+#define __NR_prctl                      (__NR_Linux + 192)
+#define __NR_rt_sigreturn               (__NR_Linux + 193)
+#define __NR_rt_sigaction               (__NR_Linux + 194)
+#define __NR_rt_sigprocmask             (__NR_Linux + 195)
+#define __NR_rt_sigpending              (__NR_Linux + 196)
+#define __NR_rt_sigtimedwait            (__NR_Linux + 197)
+#define __NR_rt_sigqueueinfo            (__NR_Linux + 198)
+#define __NR_rt_sigsuspend              (__NR_Linux + 199)
+#define __NR_pread64                    (__NR_Linux + 200)
+#define __NR_pwrite64                   (__NR_Linux + 201)
+#define __NR_chown                      (__NR_Linux + 202)
+#define __NR_getcwd                     (__NR_Linux + 203)
+#define __NR_capget                     (__NR_Linux + 204)
+#define __NR_capset                     (__NR_Linux + 205)
+#define __NR_sigaltstack                (__NR_Linux + 206)
+#define __NR_sendfile                   (__NR_Linux + 207)
+#define __NR_getpmsg                    (__NR_Linux + 208)
+#define __NR_putpmsg                    (__NR_Linux + 209)
+#define __NR_mmap2                      (__NR_Linux + 210)
+#define __NR_truncate64                 (__NR_Linux + 211)
+#define __NR_ftruncate64                (__NR_Linux + 212)
+#define __NR_stat64                     (__NR_Linux + 213)
+#define __NR_lstat64                    (__NR_Linux + 214)
+#define __NR_fstat64                    (__NR_Linux + 215)
+#define __NR_pivot_root                 (__NR_Linux + 216)
+#define __NR_mincore                    (__NR_Linux + 217)
+#define __NR_madvise                    (__NR_Linux + 218)
+#define __NR_getdents64                 (__NR_Linux + 219)
+#define __NR_fcntl64                    (__NR_Linux + 220)
+#define __NR_reserved221                (__NR_Linux + 221)
+#define __NR_gettid                     (__NR_Linux + 222)
+#define __NR_readahead                  (__NR_Linux + 223)
+#define __NR_setxattr                   (__NR_Linux + 224)
+#define __NR_lsetxattr                  (__NR_Linux + 225)
+#define __NR_fsetxattr                  (__NR_Linux + 226)
+#define __NR_getxattr                   (__NR_Linux + 227)
+#define __NR_lgetxattr                  (__NR_Linux + 228)
+#define __NR_fgetxattr                  (__NR_Linux + 229)
+#define __NR_listxattr                  (__NR_Linux + 230)
+#define __NR_llistxattr                 (__NR_Linux + 231)
+#define __NR_flistxattr                 (__NR_Linux + 232)
+#define __NR_removexattr                (__NR_Linux + 233)
+#define __NR_lremovexattr               (__NR_Linux + 234)
+#define __NR_fremovexattr               (__NR_Linux + 235)
+#define __NR_tkill                      (__NR_Linux + 236)
+#define __NR_sendfile64                 (__NR_Linux + 237)
+#define __NR_futex                      (__NR_Linux + 238)
+#define __NR_sched_setaffinity          (__NR_Linux + 239)
+#define __NR_sched_getaffinity          (__NR_Linux + 240)
+#define __NR_io_setup                   (__NR_Linux + 241)
+#define __NR_io_destroy                 (__NR_Linux + 242)
+#define __NR_io_getevents               (__NR_Linux + 243)
+#define __NR_io_submit                  (__NR_Linux + 244)
+#define __NR_io_cancel                  (__NR_Linux + 245)
+#define __NR_exit_group                 (__NR_Linux + 246)
+#define __NR_lookup_dcookie             (__NR_Linux + 247)
+#define __NR_epoll_create               (__NR_Linux + 248)
+#define __NR_epoll_ctl                  (__NR_Linux + 249)
+#define __NR_epoll_wait                 (__NR_Linux + 250)
+#define __NR_remap_file_pages           (__NR_Linux + 251)
+#define __NR_set_tid_address            (__NR_Linux + 252)
+#define __NR_restart_syscall            (__NR_Linux + 253)
+#define __NR_fadvise64                  (__NR_Linux + 254)
+#define __NR_statfs64                   (__NR_Linux + 255)
+#define __NR_fstatfs64                  (__NR_Linux + 256)
+#define __NR_timer_create               (__NR_Linux + 257)
+#define __NR_timer_settime              (__NR_Linux + 258)
+#define __NR_timer_gettime              (__NR_Linux + 259)
+#define __NR_timer_getoverrun           (__NR_Linux + 260)
+#define __NR_timer_delete               (__NR_Linux + 261)
+#define __NR_clock_settime              (__NR_Linux + 262)
+#define __NR_clock_gettime              (__NR_Linux + 263)
+#define __NR_clock_getres               (__NR_Linux + 264)
+#define __NR_clock_nanosleep            (__NR_Linux + 265)
+#define __NR_tgkill                     (__NR_Linux + 266)
+#define __NR_utimes                     (__NR_Linux + 267)
+#define __NR_mbind                      (__NR_Linux + 268)
+#define __NR_get_mempolicy              (__NR_Linux + 269)
+#define __NR_set_mempolicy              (__NR_Linux + 270)
+#define __NR_mq_open                    (__NR_Linux + 271)
+#define __NR_mq_unlink                  (__NR_Linux + 272)
+#define __NR_mq_timedsend               (__NR_Linux + 273)
+#define __NR_mq_timedreceive            (__NR_Linux + 274)
+#define __NR_mq_notify                  (__NR_Linux + 275)
+#define __NR_mq_getsetattr              (__NR_Linux + 276)
+#define __NR_vserver                    (__NR_Linux + 277)
+#define __NR_waitid                     (__NR_Linux + 278)
+/* #define __NR_sys_setaltroot          (__NR_Linux + 279) */
+#define __NR_add_key                    (__NR_Linux + 280)
+#define __NR_request_key                (__NR_Linux + 281)
+#define __NR_keyctl                     (__NR_Linux + 282)
+#define __NR_set_thread_area            (__NR_Linux + 283)
+#define __NR_inotify_init               (__NR_Linux + 284)
+#define __NR_inotify_add_watch          (__NR_Linux + 285)
+#define __NR_inotify_rm_watch           (__NR_Linux + 286)
+#define __NR_migrate_pages              (__NR_Linux + 287)
+#define __NR_openat                     (__NR_Linux + 288)
+#define __NR_mkdirat                    (__NR_Linux + 289)
+#define __NR_mknodat                    (__NR_Linux + 290)
+#define __NR_fchownat                   (__NR_Linux + 291)
+#define __NR_futimesat                  (__NR_Linux + 292)
+#define __NR_fstatat64                  (__NR_Linux + 293)
+#define __NR_unlinkat                   (__NR_Linux + 294)
+#define __NR_renameat                   (__NR_Linux + 295)
+#define __NR_linkat                     (__NR_Linux + 296)
+#define __NR_symlinkat                  (__NR_Linux + 297)
+#define __NR_readlinkat                 (__NR_Linux + 298)
+#define __NR_fchmodat                   (__NR_Linux + 299)
+#define __NR_faccessat                  (__NR_Linux + 300)
+#define __NR_pselect6                   (__NR_Linux + 301)
+#define __NR_ppoll                      (__NR_Linux + 302)
+#define __NR_unshare                    (__NR_Linux + 303)
+#define __NR_splice                     (__NR_Linux + 304)
+#define __NR_sync_file_range            (__NR_Linux + 305)
+#define __NR_tee                        (__NR_Linux + 306)
+#define __NR_vmsplice                   (__NR_Linux + 307)
+#define __NR_move_pages                 (__NR_Linux + 308)
+#define __NR_set_robust_list            (__NR_Linux + 309)
+#define __NR_get_robust_list            (__NR_Linux + 310)
+#define __NR_kexec_load                 (__NR_Linux + 311)
+#define __NR_getcpu                     (__NR_Linux + 312)
+#define __NR_epoll_pwait                (__NR_Linux + 313)
+#define __NR_ioprio_set                 (__NR_Linux + 314)
+#define __NR_ioprio_get                 (__NR_Linux + 315)
+#define __NR_utimensat                  (__NR_Linux + 316)
+#define __NR_signalfd                   (__NR_Linux + 317)
+#define __NR_timerfd                    (__NR_Linux + 318)
+#define __NR_eventfd                    (__NR_Linux + 319)
+#define __NR_fallocate                  (__NR_Linux + 320)
+#define __NR_timerfd_create             (__NR_Linux + 321)
+#define __NR_timerfd_gettime            (__NR_Linux + 322)
+#define __NR_timerfd_settime            (__NR_Linux + 323)
+#define __NR_signalfd4                  (__NR_Linux + 324)
+#define __NR_eventfd2                   (__NR_Linux + 325)
+#define __NR_epoll_create1              (__NR_Linux + 326)
+#define __NR_dup3                       (__NR_Linux + 327)
+#define __NR_pipe2                      (__NR_Linux + 328)
+#define __NR_inotify_init1              (__NR_Linux + 329)
+#define __NR_preadv                     (__NR_Linux + 330)
+#define __NR_pwritev                    (__NR_Linux + 331)
+#define __NR_rt_tgsigqueueinfo          (__NR_Linux + 332)
+#define __NR_perf_event_open            (__NR_Linux + 333)
+#define __NR_accept4                    (__NR_Linux + 334)
+#define __NR_recvmmsg                   (__NR_Linux + 335)
+#define __NR_fanotify_init              (__NR_Linux + 336)
+#define __NR_fanotify_mark              (__NR_Linux + 337)
+#define __NR_prlimit64                  (__NR_Linux + 338)
+#define __NR_name_to_handle_at          (__NR_Linux + 339)
+#define __NR_open_by_handle_at          (__NR_Linux + 340)
+#define __NR_clock_adjtime              (__NR_Linux + 341)
+#define __NR_syncfs                     (__NR_Linux + 342)
+
+/*
+ * Offset of the last Linux o32 flavoured syscall
+ */
+#define __NR_Linux_syscalls	            334
+
+
+#define __NR_O32_Linux                  4000
+#define __NR_O32_Linux_syscalls	        334
+
+
+#endif                          /* __VKI_SCNUMS_MIPS32_LINUX_H */
+
+/*--------------------------------------------------------------------*/
+/*--- end                                vki-scnums-mips32-linux.h ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-scnums-mips64-linux.h b/include/vki/vki-scnums-mips64-linux.h
new file mode 100644
index 0000000..2dcae99
--- /dev/null
+++ b/include/vki/vki-scnums-mips64-linux.h
@@ -0,0 +1,350 @@
+
+/*--------------------------------------------------------------------*/
+/*--- System call numbers for mips-linux.                          ---*/
+/*---                                    vki-scnums-mips64-linux.h ---*/
+/*--------------------------------------------------------------------*/
+
+/*
+   This file is part of Valgrind, a dynamic binary instrumentation
+   framework.
+
+   Copyright (C) 2010-2013 RT-RK
+      mips-valgrind@rt-rk.com
+
+   This program is free software; you can redistribute it and/or
+   modify it under the terms of the GNU General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307, USA.
+
+   The GNU General Public License is contained in the file COPYING.
+*/
+
+#ifndef __VKI_SCNUMS_MIPS64_LINUX_H
+#define __VKI_SCNUMS_MIPS64_LINUX_H
+
+/*
+ * Linux 64-bit syscalls are in the range from 5000 to 5999.
+ */
+#define __NR_Linux                  5000
+#define __NR_read                   (__NR_Linux +   0)
+#define __NR_write                  (__NR_Linux +   1)
+#define __NR_open                   (__NR_Linux +   2)
+#define __NR_close                  (__NR_Linux +   3)
+#define __NR_stat                   (__NR_Linux +   4)
+#define __NR_fstat                  (__NR_Linux +   5)
+#define __NR_lstat                  (__NR_Linux +   6)
+#define __NR_poll                   (__NR_Linux +   7)
+#define __NR_lseek                  (__NR_Linux +   8)
+#define __NR_mmap                   (__NR_Linux +   9)
+#define __NR_mprotect               (__NR_Linux +  10)
+#define __NR_munmap                 (__NR_Linux +  11)
+#define __NR_brk                    (__NR_Linux +  12)
+#define __NR_rt_sigaction           (__NR_Linux +  13)
+#define __NR_rt_sigprocmask         (__NR_Linux +  14)
+#define __NR_ioctl                  (__NR_Linux +  15)
+#define __NR_pread64                (__NR_Linux +  16)
+#define __NR_pwrite64               (__NR_Linux +  17)
+#define __NR_readv                  (__NR_Linux +  18)
+#define __NR_writev                 (__NR_Linux +  19)
+#define __NR_access                 (__NR_Linux +  20)
+#define __NR_pipe                   (__NR_Linux +  21)
+#define __NR__newselect             (__NR_Linux +  22)
+#define __NR_sched_yield            (__NR_Linux +  23)
+#define __NR_mremap                 (__NR_Linux +  24)
+#define __NR_msync                  (__NR_Linux +  25)
+#define __NR_mincore                (__NR_Linux +  26)
+#define __NR_madvise                (__NR_Linux +  27)
+#define __NR_shmget                 (__NR_Linux +  28)
+#define __NR_shmat                  (__NR_Linux +  29)
+#define __NR_shmctl                 (__NR_Linux +  30)
+#define __NR_dup                    (__NR_Linux +  31)
+#define __NR_dup2                   (__NR_Linux +  32)
+#define __NR_pause                  (__NR_Linux +  33)
+#define __NR_nanosleep              (__NR_Linux +  34)
+#define __NR_getitimer              (__NR_Linux +  35)
+#define __NR_setitimer              (__NR_Linux +  36)
+#define __NR_alarm                  (__NR_Linux +  37)
+#define __NR_getpid                 (__NR_Linux +  38)
+#define __NR_sendfile               (__NR_Linux +  39)
+#define __NR_socket                 (__NR_Linux +  40)
+#define __NR_connect                (__NR_Linux +  41)
+#define __NR_accept                 (__NR_Linux +  42)
+#define __NR_sendto                 (__NR_Linux +  43)
+#define __NR_recvfrom               (__NR_Linux +  44)
+#define __NR_sendmsg                (__NR_Linux +  45)
+#define __NR_recvmsg                (__NR_Linux +  46)
+#define __NR_shutdown               (__NR_Linux +  47)
+#define __NR_bind                   (__NR_Linux +  48)
+#define __NR_listen                 (__NR_Linux +  49)
+#define __NR_getsockname            (__NR_Linux +  50)
+#define __NR_getpeername            (__NR_Linux +  51)
+#define __NR_socketpair             (__NR_Linux +  52)
+#define __NR_setsockopt             (__NR_Linux +  53)
+#define __NR_getsockopt             (__NR_Linux +  54)
+#define __NR_clone                  (__NR_Linux +  55)
+#define __NR_fork                   (__NR_Linux +  56)
+#define __NR_execve                 (__NR_Linux +  57)
+#define __NR_exit                   (__NR_Linux +  58)
+#define __NR_wait4                  (__NR_Linux +  59)
+#define __NR_kill                   (__NR_Linux +  60)
+#define __NR_uname                  (__NR_Linux +  61)
+#define __NR_semget                 (__NR_Linux +  62)
+#define __NR_semop                  (__NR_Linux +  63)
+#define __NR_semctl                 (__NR_Linux +  64)
+#define __NR_shmdt                  (__NR_Linux +  65)
+#define __NR_msgget                 (__NR_Linux +  66)
+#define __NR_msgsnd                 (__NR_Linux +  67)
+#define __NR_msgrcv                 (__NR_Linux +  68)
+#define __NR_msgctl                 (__NR_Linux +  69)
+#define __NR_fcntl                  (__NR_Linux +  70)
+#define __NR_flock                  (__NR_Linux +  71)
+#define __NR_fsync                  (__NR_Linux +  72)
+#define __NR_fdatasync              (__NR_Linux +  73)
+#define __NR_truncate               (__NR_Linux +  74)
+#define __NR_ftruncate              (__NR_Linux +  75)
+#define __NR_getdents               (__NR_Linux +  76)
+#define __NR_getcwd                 (__NR_Linux +  77)
+#define __NR_chdir                  (__NR_Linux +  78)
+#define __NR_fchdir                 (__NR_Linux +  79)
+#define __NR_rename                 (__NR_Linux +  80)
+#define __NR_mkdir                  (__NR_Linux +  81)
+#define __NR_rmdir                  (__NR_Linux +  82)
+#define __NR_creat                  (__NR_Linux +  83)
+#define __NR_link                   (__NR_Linux +  84)
+#define __NR_unlink                 (__NR_Linux +  85)
+#define __NR_symlink                (__NR_Linux +  86)
+#define __NR_readlink               (__NR_Linux +  87)
+#define __NR_chmod                  (__NR_Linux +  88)
+#define __NR_fchmod                 (__NR_Linux +  89)
+#define __NR_chown                  (__NR_Linux +  90)
+#define __NR_fchown                 (__NR_Linux +  91)
+#define __NR_lchown                 (__NR_Linux +  92)
+#define __NR_umask                  (__NR_Linux +  93)
+#define __NR_gettimeofday           (__NR_Linux +  94)
+#define __NR_getrlimit              (__NR_Linux +  95)
+#define __NR_getrusage              (__NR_Linux +  96)
+#define __NR_sysinfo                (__NR_Linux +  97)
+#define __NR_times                  (__NR_Linux +  98)
+#define __NR_ptrace                 (__NR_Linux +  99)
+#define __NR_getuid                 (__NR_Linux + 100)
+#define __NR_syslog                 (__NR_Linux + 101)
+#define __NR_getgid                 (__NR_Linux + 102)
+#define __NR_setuid                 (__NR_Linux + 103)
+#define __NR_setgid                 (__NR_Linux + 104)
+#define __NR_geteuid                (__NR_Linux + 105)
+#define __NR_getegid                (__NR_Linux + 106)
+#define __NR_setpgid                (__NR_Linux + 107)
+#define __NR_getppid                (__NR_Linux + 108)
+#define __NR_getpgrp                (__NR_Linux + 109)
+#define __NR_setsid                 (__NR_Linux + 110)
+#define __NR_setreuid               (__NR_Linux + 111)
+#define __NR_setregid               (__NR_Linux + 112)
+#define __NR_getgroups              (__NR_Linux + 113)
+#define __NR_setgroups              (__NR_Linux + 114)
+#define __NR_setresuid              (__NR_Linux + 115)
+#define __NR_getresuid              (__NR_Linux + 116)
+#define __NR_setresgid              (__NR_Linux + 117)
+#define __NR_getresgid              (__NR_Linux + 118)
+#define __NR_getpgid                (__NR_Linux + 119)
+#define __NR_setfsuid               (__NR_Linux + 120)
+#define __NR_setfsgid               (__NR_Linux + 121)
+#define __NR_getsid                 (__NR_Linux + 122)
+#define __NR_capget                 (__NR_Linux + 123)
+#define __NR_capset                 (__NR_Linux + 124)
+#define __NR_rt_sigpending          (__NR_Linux + 125)
+#define __NR_rt_sigtimedwait        (__NR_Linux + 126)
+#define __NR_rt_sigqueueinfo        (__NR_Linux + 127)
+#define __NR_rt_sigsuspend          (__NR_Linux + 128)
+#define __NR_sigaltstack            (__NR_Linux + 129)
+#define __NR_utime                  (__NR_Linux + 130)
+#define __NR_mknod                  (__NR_Linux + 131)
+#define __NR_personality            (__NR_Linux + 132)
+#define __NR_ustat                  (__NR_Linux + 133)
+#define __NR_statfs                 (__NR_Linux + 134)
+#define __NR_fstatfs                (__NR_Linux + 135)
+#define __NR_sysfs                  (__NR_Linux + 136)
+#define __NR_getpriority            (__NR_Linux + 137)
+#define __NR_setpriority            (__NR_Linux + 138)
+#define __NR_sched_setparam         (__NR_Linux + 139)
+#define __NR_sched_getparam         (__NR_Linux + 140)
+#define __NR_sched_setscheduler     (__NR_Linux + 141)
+#define __NR_sched_getscheduler     (__NR_Linux + 142)
+#define __NR_sched_get_priority_max (__NR_Linux + 143)
+#define __NR_sched_get_priority_min (__NR_Linux + 144)
+#define __NR_sched_rr_get_interval  (__NR_Linux + 145)
+#define __NR_mlock                  (__NR_Linux + 146)
+#define __NR_munlock                (__NR_Linux + 147)
+#define __NR_mlockall               (__NR_Linux + 148)
+#define __NR_munlockall             (__NR_Linux + 149)
+#define __NR_vhangup                (__NR_Linux + 150)
+#define __NR_pivot_root             (__NR_Linux + 151)
+#define __NR__sysctl                (__NR_Linux + 152)
+#define __NR_prctl                  (__NR_Linux + 153)
+#define __NR_adjtimex               (__NR_Linux + 154)
+#define __NR_setrlimit              (__NR_Linux + 155)
+#define __NR_chroot                 (__NR_Linux + 156)
+#define __NR_sync                   (__NR_Linux + 157)
+#define __NR_acct                   (__NR_Linux + 158)
+#define __NR_settimeofday           (__NR_Linux + 159)
+#define __NR_mount                  (__NR_Linux + 160)
+#define __NR_umount2                (__NR_Linux + 161)
+#define __NR_swapon                 (__NR_Linux + 162)
+#define __NR_swapoff                (__NR_Linux + 163)
+#define __NR_reboot                 (__NR_Linux + 164)
+#define __NR_sethostname            (__NR_Linux + 165)
+#define __NR_setdomainname          (__NR_Linux + 166)
+#define __NR_create_module          (__NR_Linux + 167)
+#define __NR_init_module            (__NR_Linux + 168)
+#define __NR_delete_module          (__NR_Linux + 169)
+#define __NR_get_kernel_syms        (__NR_Linux + 170)
+#define __NR_query_module           (__NR_Linux + 171)
+#define __NR_quotactl               (__NR_Linux + 172)
+#define __NR_nfsservctl             (__NR_Linux + 173)
+#define __NR_getpmsg                (__NR_Linux + 174)
+#define __NR_putpmsg                (__NR_Linux + 175)
+#define __NR_afs_syscall            (__NR_Linux + 176)
+#define __NR_reserved177            (__NR_Linux + 177)
+#define __NR_gettid                 (__NR_Linux + 178)
+#define __NR_readahead              (__NR_Linux + 179)
+#define __NR_setxattr               (__NR_Linux + 180)
+#define __NR_lsetxattr              (__NR_Linux + 181)
+#define __NR_fsetxattr              (__NR_Linux + 182)
+#define __NR_getxattr               (__NR_Linux + 183)
+#define __NR_lgetxattr              (__NR_Linux + 184)
+#define __NR_fgetxattr              (__NR_Linux + 185)
+#define __NR_listxattr              (__NR_Linux + 186)
+#define __NR_llistxattr             (__NR_Linux + 187)
+#define __NR_flistxattr             (__NR_Linux + 188)
+#define __NR_removexattr            (__NR_Linux + 189)
+#define __NR_lremovexattr           (__NR_Linux + 190)
+#define __NR_fremovexattr           (__NR_Linux + 191)
+#define __NR_tkill                  (__NR_Linux + 192)
+#define __NR_reserved193            (__NR_Linux + 193)
+#define __NR_futex                  (__NR_Linux + 194)
+#define __NR_sched_setaffinity      (__NR_Linux + 195)
+#define __NR_sched_getaffinity      (__NR_Linux + 196)
+#define __NR_cacheflush             (__NR_Linux + 197)
+#define __NR_cachectl               (__NR_Linux + 198)
+#define __NR_sysmips                (__NR_Linux + 199)
+#define __NR_io_setup               (__NR_Linux + 200)
+#define __NR_io_destroy             (__NR_Linux + 201)
+#define __NR_io_getevents           (__NR_Linux + 202)
+#define __NR_io_submit              (__NR_Linux + 203)
+#define __NR_io_cancel              (__NR_Linux + 204)
+#define __NR_exit_group             (__NR_Linux + 205)
+#define __NR_lookup_dcookie         (__NR_Linux + 206)
+#define __NR_epoll_create           (__NR_Linux + 207)
+#define __NR_epoll_ctl              (__NR_Linux + 208)
+#define __NR_epoll_wait             (__NR_Linux + 209)
+#define __NR_remap_file_pages       (__NR_Linux + 210)
+#define __NR_rt_sigreturn           (__NR_Linux + 211)
+#define __NR_set_tid_address        (__NR_Linux + 212)
+#define __NR_restart_syscall        (__NR_Linux + 213)
+#define __NR_semtimedop             (__NR_Linux + 214)
+#define __NR_fadvise64              (__NR_Linux + 215)
+#define __NR_timer_create           (__NR_Linux + 216)
+#define __NR_timer_settime          (__NR_Linux + 217)
+#define __NR_timer_gettime          (__NR_Linux + 218)
+#define __NR_timer_getoverrun       (__NR_Linux + 219)
+#define __NR_timer_delete           (__NR_Linux + 220)
+#define __NR_clock_settime          (__NR_Linux + 221)
+#define __NR_clock_gettime          (__NR_Linux + 222)
+#define __NR_clock_getres           (__NR_Linux + 223)
+#define __NR_clock_nanosleep        (__NR_Linux + 224)
+#define __NR_tgkill                 (__NR_Linux + 225)
+#define __NR_utimes                 (__NR_Linux + 226)
+#define __NR_mbind                  (__NR_Linux + 227)
+#define __NR_get_mempolicy          (__NR_Linux + 228)
+#define __NR_set_mempolicy          (__NR_Linux + 229)
+#define __NR_mq_open                (__NR_Linux + 230)
+#define __NR_mq_unlink              (__NR_Linux + 231)
+#define __NR_mq_timedsend           (__NR_Linux + 232)
+#define __NR_mq_timedreceive        (__NR_Linux + 233)
+#define __NR_mq_notify              (__NR_Linux + 234)
+#define __NR_mq_getsetattr          (__NR_Linux + 235)
+#define __NR_vserver                (__NR_Linux + 236)
+#define __NR_waitid                 (__NR_Linux + 237)
+/* #define __NR_sys_setaltroot	(__NR_Linux + 238) */
+#define __NR_add_key                (__NR_Linux + 239)
+#define __NR_request_key            (__NR_Linux + 240)
+#define __NR_keyctl                 (__NR_Linux + 241)
+#define __NR_set_thread_area        (__NR_Linux + 242)
+#define __NR_inotify_init           (__NR_Linux + 243)
+#define __NR_inotify_add_watch      (__NR_Linux + 244)
+#define __NR_inotify_rm_watch       (__NR_Linux + 245)
+#define __NR_migrate_pages          (__NR_Linux + 246)
+#define __NR_openat                 (__NR_Linux + 247)
+#define __NR_mkdirat                (__NR_Linux + 248)
+#define __NR_mknodat                (__NR_Linux + 249)
+#define __NR_fchownat               (__NR_Linux + 250)
+#define __NR_futimesat              (__NR_Linux + 251)
+#define __NR_newfstatat             (__NR_Linux + 252)
+#define __NR_unlinkat               (__NR_Linux + 253)
+#define __NR_renameat               (__NR_Linux + 254)
+#define __NR_linkat                 (__NR_Linux + 255)
+#define __NR_symlinkat              (__NR_Linux + 256)
+#define __NR_readlinkat             (__NR_Linux + 257)
+#define __NR_fchmodat               (__NR_Linux + 258)
+#define __NR_faccessat              (__NR_Linux + 259)
+#define __NR_pselect6               (__NR_Linux + 260)
+#define __NR_ppoll                  (__NR_Linux + 261)
+#define __NR_unshare                (__NR_Linux + 262)
+#define __NR_splice                 (__NR_Linux + 263)
+#define __NR_sync_file_range        (__NR_Linux + 264)
+#define __NR_tee                    (__NR_Linux + 265)
+#define __NR_vmsplice               (__NR_Linux + 266)
+#define __NR_move_pages             (__NR_Linux + 267)
+#define __NR_set_robust_list        (__NR_Linux + 268)
+#define __NR_get_robust_list        (__NR_Linux + 269)
+#define __NR_kexec_load             (__NR_Linux + 270)
+#define __NR_getcpu                 (__NR_Linux + 271)
+#define __NR_epoll_pwait            (__NR_Linux + 272)
+#define __NR_ioprio_set             (__NR_Linux + 273)
+#define __NR_ioprio_get             (__NR_Linux + 274)
+#define __NR_utimensat              (__NR_Linux + 275)
+#define __NR_signalfd               (__NR_Linux + 276)
+#define __NR_timerfd                (__NR_Linux + 277)
+#define __NR_eventfd                (__NR_Linux + 278)
+#define __NR_fallocate              (__NR_Linux + 279)
+#define __NR_timerfd_create         (__NR_Linux + 280)
+#define __NR_timerfd_gettime        (__NR_Linux + 281)
+#define __NR_timerfd_settime        (__NR_Linux + 282)
+#define __NR_signalfd4              (__NR_Linux + 283)
+#define __NR_eventfd2               (__NR_Linux + 284)
+#define __NR_epoll_create1          (__NR_Linux + 285)
+#define __NR_dup3                   (__NR_Linux + 286)
+#define __NR_pipe2                  (__NR_Linux + 287)
+#define __NR_inotify_init1          (__NR_Linux + 288)
+#define __NR_preadv                 (__NR_Linux + 289)
+#define __NR_pwritev                (__NR_Linux + 290)
+#define __NR_rt_tgsigqueueinfo      (__NR_Linux + 291)
+#define __NR_perf_event_open        (__NR_Linux + 292)
+#define __NR_accept4                (__NR_Linux + 293)
+#define __NR_recvmmsg               (__NR_Linux + 294)
+#define __NR_fanotify_init          (__NR_Linux + 295)
+#define __NR_fanotify_mark          (__NR_Linux + 296)
+#define __NR_prlimit64              (__NR_Linux + 297)
+#define __NR_name_to_handle_at      (__NR_Linux + 298)
+#define __NR_open_by_handle_at      (__NR_Linux + 299)
+#define __NR_clock_adjtime          (__NR_Linux + 300)
+#define __NR_syncfs                 (__NR_Linux + 301)
+#define __NR_sendmmsg               (__NR_Linux + 302)
+#define __NR_setns                  (__NR_Linux + 303)
+#define __NR_process_vm_readv       (__NR_Linux + 304)
+#define __NR_process_vm_writev      (__NR_Linux + 305)
+
+#endif /* __VKI_SCNUMS_MIPS64_LINUX_H */
+
+/*--------------------------------------------------------------------*/
+/*--- end                                vki-scnums-mips64-linux.h ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-scnums-ppc32-linux.h b/include/vki/vki-scnums-ppc32-linux.h
index a13e483..e865eb5 100644
--- a/include/vki/vki-scnums-ppc32-linux.h
+++ b/include/vki/vki-scnums-ppc32-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Julian Seward
+   Copyright (C) 2005-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-ppc64-linux.h b/include/vki/vki-scnums-ppc64-linux.h
index 08b1f5c..f7030f2 100644
--- a/include/vki/vki-scnums-ppc64-linux.h
+++ b/include/vki/vki-scnums-ppc64-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2005-2011 Julian Seward
+   Copyright (C) 2005-2012 Julian Seward
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-scnums-s390x-linux.h b/include/vki/vki-scnums-s390x-linux.h
index 2d63858..3ccb65d 100644
--- a/include/vki/vki-scnums-s390x-linux.h
+++ b/include/vki/vki-scnums-s390x-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright IBM Corp. 2010-2011
+   Copyright IBM Corp. 2010-2012
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
diff --git a/include/vki/vki-scnums-x86-linux.h b/include/vki/vki-scnums-x86-linux.h
index 6b445a6..a1a3be6 100644
--- a/include/vki/vki-scnums-x86-linux.h
+++ b/include/vki/vki-scnums-x86-linux.h
@@ -8,7 +8,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
diff --git a/include/vki/vki-x86-linux.h b/include/vki/vki-x86-linux.h
index 1f3d762..adfcb08 100644
--- a/include/vki/vki-x86-linux.h
+++ b/include/vki/vki-x86-linux.h
@@ -7,7 +7,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -278,6 +278,7 @@
 // From linux-2.6.8.1/include/asm-i386/fcntl.h
 //----------------------------------------------------------------------
 
+#define VKI_O_ACCMODE	     03
 #define VKI_O_RDONLY	     00
 #define VKI_O_WRONLY	     01
 #define VKI_O_RDWR	     02
@@ -811,6 +812,8 @@
 #define VKI_PTRACE_SETFPREGS          15
 #define VKI_PTRACE_GETFPXREGS         18
 #define VKI_PTRACE_SETFPXREGS         19
+#define VKI_PTRACE_GET_THREAD_AREA    25
+#define VKI_PTRACE_SET_THREAD_AREA    26
 
 //----------------------------------------------------------------------
 // From linux-2.6.15.4/include/asm-i386/vm86.h
diff --git a/include/vki/vki-xen-domctl.h b/include/vki/vki-xen-domctl.h
new file mode 100644
index 0000000..815e0a7
--- /dev/null
+++ b/include/vki/vki-xen-domctl.h
@@ -0,0 +1,329 @@
+#ifndef __VKI_XEN_DOMCTL_H
+#define __VKI_XEN_DOMCTL_H
+
+/*
+ * The domctl interface is versioned via the interface_version
+ * field. This structures in this header supports domctl interfaces:
+ *
+ * - 00000007: Xen 4.1
+ * - 00000008: Xen 4.2
+ * - 00000009: Xen 4.3
+ *
+ * When adding a new subop be sure to include the variants used by all
+ * of the above, both here and in syswrap-xen.c
+ *
+ * Structs which are identical in all supported versions have no
+ * version suffix. Structs which do differ are defined multiple times
+ * and use the suffix of the latest version to contain that particular
+ * variant.
+ */
+
+#define VKI_XEN_DOMCTL_createdomain                   1
+#define VKI_XEN_DOMCTL_destroydomain                  2
+#define VKI_XEN_DOMCTL_pausedomain                    3
+#define VKI_XEN_DOMCTL_unpausedomain                  4
+#define VKI_XEN_DOMCTL_getdomaininfo                  5
+#define VKI_XEN_DOMCTL_getmemlist                     6
+#define VKI_XEN_DOMCTL_getpageframeinfo               7
+#define VKI_XEN_DOMCTL_getpageframeinfo2              8
+#define VKI_XEN_DOMCTL_setvcpuaffinity                9
+#define VKI_XEN_DOMCTL_shadow_op                     10
+#define VKI_XEN_DOMCTL_max_mem                       11
+#define VKI_XEN_DOMCTL_setvcpucontext                12
+#define VKI_XEN_DOMCTL_getvcpucontext                13
+#define VKI_XEN_DOMCTL_getvcpuinfo                   14
+#define VKI_XEN_DOMCTL_max_vcpus                     15
+#define VKI_XEN_DOMCTL_scheduler_op                  16
+#define VKI_XEN_DOMCTL_setdomainhandle               17
+#define VKI_XEN_DOMCTL_setdebugging                  18
+#define VKI_XEN_DOMCTL_irq_permission                19
+#define VKI_XEN_DOMCTL_iomem_permission              20
+#define VKI_XEN_DOMCTL_ioport_permission             21
+#define VKI_XEN_DOMCTL_hypercall_init                22
+#define VKI_XEN_DOMCTL_arch_setup                    23
+#define VKI_XEN_DOMCTL_settimeoffset                 24
+#define VKI_XEN_DOMCTL_getvcpuaffinity               25
+#define VKI_XEN_DOMCTL_real_mode_area                26
+#define VKI_XEN_DOMCTL_resumedomain                  27
+#define VKI_XEN_DOMCTL_sendtrigger                   28
+#define VKI_XEN_DOMCTL_subscribe                     29
+#define VKI_XEN_DOMCTL_gethvmcontext                 33
+#define VKI_XEN_DOMCTL_sethvmcontext                 34
+#define VKI_XEN_DOMCTL_set_address_size              35
+#define VKI_XEN_DOMCTL_get_address_size              36
+#define VKI_XEN_DOMCTL_assign_device                 37
+#define VKI_XEN_DOMCTL_bind_pt_irq                   38
+#define VKI_XEN_DOMCTL_memory_mapping                39
+#define VKI_XEN_DOMCTL_ioport_mapping                40
+#define VKI_XEN_DOMCTL_pin_mem_cacheattr             41
+#define VKI_XEN_DOMCTL_set_ext_vcpucontext           42
+#define VKI_XEN_DOMCTL_get_ext_vcpucontext           43
+#define VKI_XEN_DOMCTL_set_opt_feature               44 /*Obsolete IA64 only */
+#define VKI_XEN_DOMCTL_test_assign_device            45
+#define VKI_XEN_DOMCTL_set_target                    46
+#define VKI_XEN_DOMCTL_deassign_device               47
+#define VKI_XEN_DOMCTL_unbind_pt_irq                 48
+#define VKI_XEN_DOMCTL_set_cpuid                     49
+#define VKI_XEN_DOMCTL_get_device_group              50
+#define VKI_XEN_DOMCTL_set_machine_address_size      51
+#define VKI_XEN_DOMCTL_get_machine_address_size      52
+#define VKI_XEN_DOMCTL_suppress_spurious_page_faults 53
+#define VKI_XEN_DOMCTL_debug_op                      54
+#define VKI_XEN_DOMCTL_gethvmcontext_partial         55
+#define VKI_XEN_DOMCTL_mem_event_op                  56
+#define VKI_XEN_DOMCTL_mem_sharing_op                57
+#define VKI_XEN_DOMCTL_disable_migrate               58
+#define VKI_XEN_DOMCTL_gettscinfo                    59
+#define VKI_XEN_DOMCTL_settscinfo                    60
+#define VKI_XEN_DOMCTL_getpageframeinfo3             61
+#define VKI_XEN_DOMCTL_setvcpuextstate               62
+#define VKI_XEN_DOMCTL_getvcpuextstate               63
+#define VKI_XEN_DOMCTL_set_access_required           64
+#define VKI_XEN_DOMCTL_audit_p2m                     65
+#define VKI_XEN_DOMCTL_set_virq_handler              66
+#define VKI_XEN_DOMCTL_set_broken_page_p2m           67
+#define VKI_XEN_DOMCTL_setnodeaffinity               68
+#define VKI_XEN_DOMCTL_getnodeaffinity               69
+#define VKI_XEN_DOMCTL_gdbsx_guestmemio            1000
+#define VKI_XEN_DOMCTL_gdbsx_pausevcpu             1001
+#define VKI_XEN_DOMCTL_gdbsx_unpausevcpu           1002
+#define VKI_XEN_DOMCTL_gdbsx_domstatus             1003
+
+struct vki_xen_domctl_createdomain {
+    /* IN parameters */
+    vki_uint32_t ssidref;
+    vki_xen_domain_handle_t handle;
+    vki_uint32_t flags;
+};
+
+struct vki_xen_domctl_getdomaininfo_00000007 {
+    /* OUT variables. */
+    vki_xen_domid_t  domain;
+    vki_uint32_t flags;
+    vki_xen_uint64_aligned_t tot_pages;
+    vki_xen_uint64_aligned_t max_pages;
+    vki_xen_uint64_aligned_t shr_pages;
+    vki_xen_uint64_aligned_t paged_pages;
+    vki_xen_uint64_aligned_t shared_info_frame;
+    vki_xen_uint64_aligned_t cpu_time;
+    vki_uint32_t nr_online_vcpus;
+    vki_uint32_t max_vcpu_id;
+    vki_uint32_t ssidref;
+    vki_xen_domain_handle_t handle;
+    vki_uint32_t cpupool;
+};
+typedef struct vki_xen_domctl_getdomaininfo_00000007 vki_xen_domctl_getdomaininfo_00000007_t;
+DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_domctl_getdomaininfo_00000007_t);
+
+struct vki_xen_domctl_getdomaininfo_00000008 {
+    /* OUT variables. */
+    vki_xen_domid_t  domain;
+    vki_uint32_t flags;
+    vki_xen_uint64_aligned_t tot_pages;
+    vki_xen_uint64_aligned_t max_pages;
+    vki_xen_uint64_aligned_t shr_pages;
+    vki_xen_uint64_aligned_t paged_pages;
+    vki_xen_uint64_aligned_t shared_info_frame;
+    vki_xen_uint64_aligned_t cpu_time;
+    vki_uint32_t nr_online_vcpus;
+    vki_uint32_t max_vcpu_id;
+    vki_uint32_t ssidref;
+    vki_xen_domain_handle_t handle;
+    vki_uint32_t cpupool;
+};
+typedef struct vki_xen_domctl_getdomaininfo_00000008 vki_xen_domctl_getdomaininfo_00000008_t;
+DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_domctl_getdomaininfo_00000008_t);
+
+struct vki_xen_domctl_getdomaininfo_00000009 {
+    /* OUT variables. */
+    vki_xen_domid_t  domain;
+    vki_uint32_t flags;
+    vki_xen_uint64_aligned_t tot_pages;
+    vki_xen_uint64_aligned_t max_pages;
+    vki_xen_uint64_aligned_t outstanding_pages;
+    vki_xen_uint64_aligned_t shr_pages;
+    vki_xen_uint64_aligned_t paged_pages;
+    vki_xen_uint64_aligned_t shared_info_frame;
+    vki_xen_uint64_aligned_t cpu_time;
+    vki_uint32_t nr_online_vcpus;
+    vki_uint32_t max_vcpu_id;
+    vki_uint32_t ssidref;
+    vki_xen_domain_handle_t handle;
+    vki_uint32_t cpupool;
+};
+typedef struct vki_xen_domctl_getdomaininfo_00000009 vki_xen_domctl_getdomaininfo_00000009_t;
+DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_domctl_getdomaininfo_00000009_t);
+
+/* Get/set the NUMA node(s) with which the guest has affinity with. */
+/* XEN_DOMCTL_setnodeaffinity */
+/* XEN_DOMCTL_getnodeaffinity */
+struct vki_xen_domctl_nodeaffinity {
+    struct vki_xenctl_bitmap nodemap;/* IN */
+};
+typedef struct vki_xen_domctl_nodeaffinity vki_xen_domctl_nodeaffinity_t;
+DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_domctl_nodeaffinity_t);
+
+
+struct vki_xen_domctl_vcpuaffinity {
+    vki_uint32_t  vcpu;              /* IN */
+    struct vki_xenctl_bitmap cpumap; /* IN/OUT */
+};
+
+struct vki_xen_domctl_max_mem {
+    /* IN variables. */
+    vki_xen_uint64_aligned_t max_memkb;
+};
+
+struct vki_xen_domctl_vcpucontext {
+    vki_uint32_t              vcpu;                  /* IN */
+    VKI_XEN_GUEST_HANDLE_64(vki_xen_vcpu_guest_context_t) ctxt; /* IN/OUT */
+};
+
+struct vki_xen_domctl_getvcpuinfo {
+    /* IN variables. */
+    vki_uint32_t vcpu;
+    /* OUT variables. */
+    vki_uint8_t  online;              /* currently online (not hotplugged)? */
+    vki_uint8_t  blocked;             /* blocked waiting for an event? */
+    vki_uint8_t  running;             /* currently scheduled on its CPU? */
+    vki_xen_uint64_aligned_t cpu_time;/* total cpu time consumed (ns) */
+    vki_uint32_t cpu;                 /* current mapping   */
+};
+
+struct vki_xen_domctl_scheduler_op {
+    vki_uint32_t sched_id;  /* VKI_XEN_SCHEDULER_* */
+#define VKI_XEN_SCHEDULER_SEDF     4
+#define VKI_XEN_SCHEDULER_CREDIT   5
+#define VKI_XEN_SCHEDULER_CREDIT2  6
+#define VKI_XEN_SCHEDULER_ARINC653 7
+    vki_uint32_t cmd;       /* VKI_XEN_DOMCTL_SCHEDOP_* */
+#define VKI_XEN_DOMCTL_SCHEDOP_putinfo 0
+#define VKI_XEN_DOMCTL_SCHEDOP_getinfo 1
+    union {
+        struct xen_domctl_sched_sedf {
+            vki_xen_uint64_aligned_t period;
+            vki_xen_uint64_aligned_t slice;
+            vki_xen_uint64_aligned_t latency;
+            vki_uint32_t extratime;
+            vki_uint32_t weight;
+        } sedf;
+        struct xen_domctl_sched_credit {
+            vki_uint16_t weight;
+            vki_uint16_t cap;
+        } credit;
+        struct xen_domctl_sched_credit2 {
+            vki_uint16_t weight;
+        } credit2;
+    } u;
+};
+
+struct vki_xen_domctl_max_vcpus {
+    vki_uint32_t max;           /* maximum number of vcpus */
+};
+
+struct vki_xen_domctl_hypercall_init {
+    vki_xen_uint64_aligned_t  gmfn;           /* GMFN to be initialised */
+};
+
+struct vki_xen_domctl_cpuid {
+  vki_uint32_t input[2];
+  vki_uint32_t eax;
+  vki_uint32_t ebx;
+  vki_uint32_t ecx;
+  vki_uint32_t edx;
+};
+
+struct vki_xen_guest_tsc_info {
+    vki_uint32_t tsc_mode;
+    vki_uint32_t gtsc_khz;
+    vki_uint32_t incarnation;
+    vki_uint32_t pad;
+    vki_xen_uint64_aligned_t elapsed_nsec;
+};
+typedef struct vki_xen_guest_tsc_info vki_xen_guest_tsc_info_t;
+DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_guest_tsc_info_t);
+
+struct vki_xen_domctl_tsc_info {
+    VKI_XEN_GUEST_HANDLE_64(vki_xen_guest_tsc_info_t) out_info; /* OUT */
+    vki_xen_guest_tsc_info_t info; /* IN */
+};
+
+struct vki_xen_domctl_vcpuextstate {
+    vki_uint32_t         vcpu;
+    vki_xen_uint64_aligned_t         xfeature_mask;
+    vki_xen_uint64_aligned_t         size;
+    VKI_XEN_GUEST_HANDLE_64(vki_uint64) buffer;
+};
+
+struct vki_xen_domctl_address_size {
+    vki_uint32_t size;
+};
+
+struct vki_xen_domctl {
+    vki_uint32_t cmd;
+    vki_uint32_t interface_version; /* XEN_DOMCTL_INTERFACE_VERSION */
+    vki_xen_domid_t  domain;
+    union {
+        struct vki_xen_domctl_createdomain      createdomain;
+        struct vki_xen_domctl_getdomaininfo_00000007 getdomaininfo_00000007;
+        struct vki_xen_domctl_getdomaininfo_00000008 getdomaininfo_00000008;
+        struct vki_xen_domctl_getdomaininfo_00000009 getdomaininfo_00000009;
+        //struct vki_xen_domctl_getmemlist        getmemlist;
+        //struct vki_xen_domctl_getpageframeinfo  getpageframeinfo;
+        //struct vki_xen_domctl_getpageframeinfo2 getpageframeinfo2;
+        //struct vki_xen_domctl_getpageframeinfo3 getpageframeinfo3;
+        struct vki_xen_domctl_nodeaffinity      nodeaffinity;
+        struct vki_xen_domctl_vcpuaffinity      vcpuaffinity;
+        //struct vki_xen_domctl_shadow_op         shadow_op;
+        struct vki_xen_domctl_max_mem           max_mem;
+        struct vki_xen_domctl_vcpucontext       vcpucontext;
+        struct vki_xen_domctl_getvcpuinfo       getvcpuinfo;
+        struct vki_xen_domctl_max_vcpus         max_vcpus;
+        struct vki_xen_domctl_scheduler_op      scheduler_op;
+        //struct vki_xen_domctl_setdomainhandle   setdomainhandle;
+        //struct vki_xen_domctl_setdebugging      setdebugging;
+        //struct vki_xen_domctl_irq_permission    irq_permission;
+        //struct vki_xen_domctl_iomem_permission  iomem_permission;
+        //struct vki_xen_domctl_ioport_permission ioport_permission;
+        struct vki_xen_domctl_hypercall_init    hypercall_init;
+        //struct vki_xen_domctl_arch_setup        arch_setup;
+        //struct vki_xen_domctl_settimeoffset     settimeoffset;
+        //struct vki_xen_domctl_disable_migrate   disable_migrate;
+        struct vki_xen_domctl_tsc_info          tsc_info;
+        //struct vki_xen_domctl_real_mode_area    real_mode_area;
+        //struct vki_xen_domctl_hvmcontext        hvmcontext;
+        //struct vki_xen_domctl_hvmcontext_partial hvmcontext_partial;
+        struct vki_xen_domctl_address_size      address_size;
+        //struct vki_xen_domctl_sendtrigger       sendtrigger;
+        //struct vki_xen_domctl_get_device_group  get_device_group;
+        //struct vki_xen_domctl_assign_device     assign_device;
+        //struct vki_xen_domctl_bind_pt_irq       bind_pt_irq;
+        //struct vki_xen_domctl_memory_mapping    memory_mapping;
+        //struct vki_xen_domctl_ioport_mapping    ioport_mapping;
+        //struct vki_xen_domctl_pin_mem_cacheattr pin_mem_cacheattr;
+        //struct vki_xen_domctl_ext_vcpucontext   ext_vcpucontext;
+        //struct vki_xen_domctl_set_target        set_target;
+        //struct vki_xen_domctl_subscribe         subscribe;
+        //struct vki_xen_domctl_debug_op          debug_op;
+        //struct vki_xen_domctl_mem_event_op      mem_event_op;
+        //struct vki_xen_domctl_mem_sharing_op    mem_sharing_op;
+#if defined(__i386__) || defined(__x86_64__)
+        struct vki_xen_domctl_cpuid             cpuid;
+        struct vki_xen_domctl_vcpuextstate      vcpuextstate;
+#endif
+        //struct vki_xen_domctl_set_access_required access_required;
+        //struct vki_xen_domctl_audit_p2m         audit_p2m;
+        //struct vki_xen_domctl_set_virq_handler  set_virq_handler;
+        //struct vki_xen_domctl_gdbsx_memio       gdbsx_guest_memio;
+        //struct vki_xen_domctl_set_broken_page_p2m set_broken_page_p2m;
+        //struct vki_xen_domctl_gdbsx_pauseunp_vcpu gdbsx_pauseunp_vcpu;
+        //struct vki_xen_domctl_gdbsx_domstatus   gdbsx_domstatus;
+        vki_uint8_t                         pad[128];
+    } u;
+};
+
+#endif // __VKI_XEN_DOMCTL_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-xen-evtchn.h b/include/vki/vki-xen-evtchn.h
new file mode 100644
index 0000000..e7a3310
--- /dev/null
+++ b/include/vki/vki-xen-evtchn.h
@@ -0,0 +1,46 @@
+#ifndef __VKI_XEN_EVTCHN_H
+#define __VKI_XEN_EVTCHN_H
+
+#define VKI_XEN_EVTCHNOP_bind_interdomain 0
+#define VKI_XEN_EVTCHNOP_bind_virq        1
+#define VKI_XEN_EVTCHNOP_bind_pirq        2
+#define VKI_XEN_EVTCHNOP_close            3
+#define VKI_XEN_EVTCHNOP_send             4
+#define VKI_XEN_EVTCHNOP_status           5
+#define VKI_XEN_EVTCHNOP_alloc_unbound    6
+#define VKI_XEN_EVTCHNOP_bind_ipi         7
+#define VKI_XEN_EVTCHNOP_bind_vcpu        8
+#define VKI_XEN_EVTCHNOP_unmask           9
+#define VKI_XEN_EVTCHNOP_reset           10
+
+typedef vki_uint32_t vki_xen_evtchn_port_t;
+DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_evtchn_port_t);
+
+struct vki_xen_evtchn_alloc_unbound {
+    /* IN parameters */
+    vki_xen_domid_t dom, remote_dom;
+    /* OUT parameters */
+    vki_xen_evtchn_port_t port;
+};
+
+struct vki_xen_evtchn_op {
+    vki_uint32_t cmd; /* enum event_channel_op */
+    union {
+        struct vki_xen_evtchn_alloc_unbound    alloc_unbound;
+        //struct vki_xen_evtchn_bind_interdomain bind_interdomain;
+        //struct vki_xen_evtchn_bind_virq        bind_virq;
+        //struct vki_xen_evtchn_bind_pirq        bind_pirq;
+        //struct vki_xen_evtchn_bind_ipi         bind_ipi;
+        //struct vki_xen_evtchn_close            close;
+        //struct vki_xen_evtchn_send             send;
+        //struct vki_xen_evtchn_status           status;
+        //struct vki_xen_evtchn_bind_vcpu        bind_vcpu;
+        //struct vki_xen_evtchn_unmask           unmask;
+    } u;
+};
+
+#endif // __VKI_XEN_EVTCHN_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-xen-gnttab.h b/include/vki/vki-xen-gnttab.h
new file mode 100644
index 0000000..97ca6d8
--- /dev/null
+++ b/include/vki/vki-xen-gnttab.h
@@ -0,0 +1,32 @@
+#ifndef __VKI_XEN_GNTTAB_H
+#define __VKI_XEN_GNTTAB_H
+
+typedef vki_uint32_t vki_xen_grant_ref_t;
+
+#define VKI_XEN_GNTTABOP_map_grant_ref        0
+#define VKI_XEN_GNTTABOP_unmap_grant_ref      1
+#define VKI_XEN_GNTTABOP_setup_table          2
+#define VKI_XEN_GNTTABOP_dump_table           3
+#define VKI_XEN_GNTTABOP_transfer             4
+#define VKI_XEN_GNTTABOP_copy                 5
+#define VKI_XEN_GNTTABOP_query_size           6
+#define VKI_XEN_GNTTABOP_unmap_and_replace    7
+#define VKI_XEN_GNTTABOP_set_version          8
+#define VKI_XEN_GNTTABOP_get_status_frames    9
+#define VKI_XEN_GNTTABOP_get_version          10
+#define VKI_XEN_GNTTABOP_swap_grant_ref	      11
+
+struct vki_xen_gnttab_setup_table {
+    /* IN parameters. */
+    vki_xen_domid_t  dom;
+    vki_uint32_t nr_frames;
+    /* OUT parameters. */
+    vki_int16_t  status;              /* => enum grant_status */
+    VKI_XEN_GUEST_HANDLE(vki_ulong) frame_list;
+};
+
+#endif // __VKI_XEN_GNTTAB_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-xen-hvm.h b/include/vki/vki-xen-hvm.h
new file mode 100644
index 0000000..a64d4f3
--- /dev/null
+++ b/include/vki/vki-xen-hvm.h
@@ -0,0 +1,17 @@
+#ifndef __VKI_XEN_HVM_H
+#define __VKI_XEN_HVM_H
+
+/* Get/set subcommands: extra argument == pointer to xen_hvm_param struct. */
+#define VKI_XEN_HVMOP_set_param           0
+#define VKI_XEN_HVMOP_get_param           1
+struct vki_xen_hvm_param {
+    vki_xen_domid_t  domid;    /* IN */
+    vki_uint32_t index;    /* IN */
+    vki_uint64_t value;    /* IN/OUT */
+};
+
+#endif // __VKI_XEN_HVM_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-xen-memory.h b/include/vki/vki-xen-memory.h
new file mode 100644
index 0000000..eac7871
--- /dev/null
+++ b/include/vki/vki-xen-memory.h
@@ -0,0 +1,47 @@
+#ifndef __VKI_XEN_MEMORY_H
+#define __VKI_XEN_MEMORY_H
+
+#define VKI_XENMEM_increase_reservation 0
+#define VKI_XENMEM_decrease_reservation 1
+#define VKI_XENMEM_maximum_ram_page     2
+#define VKI_XENMEM_current_reservation  3
+#define VKI_XENMEM_maximum_reservation  4
+#define VKI_XENMEM_machphys_mfn_list    5
+#define VKI_XENMEM_populate_physmap     6
+#define VKI_XENMEM_add_to_physmap       7
+#define VKI_XENMEM_memory_map           9
+#define VKI_XENMEM_machine_memory_map   10
+#define VKI_XENMEM_exchange             11
+#define VKI_XENMEM_machphys_mapping     12
+#define VKI_XENMEM_set_memory_map       13
+#define VKI_XENMEM_maximum_gpfn         14
+#define VKI_XENMEM_remove_from_physmap  15
+#define VKI_XENMEM_set_pod_target       16
+#define VKI_XENMEM_get_pod_target       17
+#define VKI_XENMEM_get_sharing_freed_pages    18
+#define VKI_XENMEM_get_sharing_shared_pages   19
+#define VKI_XENMEM_claim_pages                24
+
+struct vki_xen_memory_map {
+    unsigned int nr_entries;
+    VKI_XEN_GUEST_HANDLE(void) buffer;
+};
+
+struct vki_xen_foreign_memory_map {
+    vki_xen_domid_t domid;
+    struct vki_xen_memory_map map;
+};
+
+struct xen_memory_reservation {
+    VKI_XEN_GUEST_HANDLE(vki_xen_pfn_t) extent_start;
+    vki_xen_ulong_t    nr_extents;
+    unsigned int   extent_order;
+    unsigned int   mem_flags;
+    vki_xen_domid_t domid;
+};
+
+#endif // __VKI_XEN_MEMORY_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-xen-mmuext.h b/include/vki/vki-xen-mmuext.h
new file mode 100644
index 0000000..e6f06f7
--- /dev/null
+++ b/include/vki/vki-xen-mmuext.h
@@ -0,0 +1,48 @@
+#ifndef __VKI_XEN_MMUEXT_H
+#define __VKI_XEN_MMUEXT_H
+
+#define VKI_XEN_MMUEXT_PIN_L1_TABLE      0
+#define VKI_XEN_MMUEXT_PIN_L2_TABLE      1
+#define VKI_XEN_MMUEXT_PIN_L3_TABLE      2
+#define VKI_XEN_MMUEXT_PIN_L4_TABLE      3
+#define VKI_XEN_MMUEXT_UNPIN_TABLE       4
+#define VKI_XEN_MMUEXT_NEW_BASEPTR       5
+#define VKI_XEN_MMUEXT_TLB_FLUSH_LOCAL   6
+#define VKI_XEN_MMUEXT_INVLPG_LOCAL      7
+#define VKI_XEN_MMUEXT_TLB_FLUSH_MULTI   8
+#define VKI_XEN_MMUEXT_INVLPG_MULTI      9
+#define VKI_XEN_MMUEXT_TLB_FLUSH_ALL    10
+#define VKI_XEN_MMUEXT_INVLPG_ALL       11
+#define VKI_XEN_MMUEXT_FLUSH_CACHE      12
+#define VKI_XEN_MMUEXT_SET_LDT          13
+#define VKI_XEN_MMUEXT_NEW_USER_BASEPTR 15
+#define VKI_XEN_MMUEXT_CLEAR_PAGE       16
+#define VKI_XEN_MMUEXT_COPY_PAGE        17
+#define VKI_XEN_MMUEXT_FLUSH_CACHE_GLOBAL 18
+#define VKI_XEN_MMUEXT_MARK_SUPER       19
+#define VKI_XEN_MMUEXT_UNMARK_SUPER     20
+
+struct vki_xen_mmuext_op {
+    unsigned int cmd;
+    union {
+        /* [UN]PIN_TABLE, NEW_BASEPTR, NEW_USER_BASEPTR
+         * CLEAR_PAGE, COPY_PAGE, [UN]MARK_SUPER */
+        vki_xen_pfn_t     mfn;
+        /* INVLPG_LOCAL, INVLPG_ALL, SET_LDT */
+        unsigned long linear_addr;
+    } arg1;
+    union {
+        /* SET_LDT */
+        unsigned int nr_ents;
+        /* TLB_FLUSH_MULTI, INVLPG_MULTI */
+        VKI_XEN_GUEST_HANDLE(const_void) vcpumask;
+        /* COPY_PAGE */
+        vki_xen_pfn_t src_mfn;
+    } arg2;
+};
+
+#endif // __VKI_XEN_MMUEXT_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-xen-sysctl.h b/include/vki/vki-xen-sysctl.h
new file mode 100644
index 0000000..453752c
--- /dev/null
+++ b/include/vki/vki-xen-sysctl.h
@@ -0,0 +1,162 @@
+#ifndef __VKI_XEN_SYSCTL_H
+#define __VKI_XEN_SYSCTL_H
+
+/*
+ * The sysctl interface is versioned via the interface_version
+ * field. This structures in this header supports sysctl interfaces:
+ *
+ * - 00000008: Xen 4.1
+ * - 00000009: Xen 4.2
+ * - 0000000a: Xen 4.3
+ *
+ * When adding a new subop be sure to include the variants used by all
+ * of the above, both here and in syswrap-xen.c
+ *
+ * Structs which are identical in all supported versions have no
+ * version suffix. Structs which do differ are defined multiple times
+ * and use the suffix of the latest version to contain that particular
+ * variant.
+ */
+
+#define VKI_XEN_SYSCTL_readconsole                    1
+#define VKI_XEN_SYSCTL_tbuf_op                        2
+#define VKI_XEN_SYSCTL_physinfo                       3
+#define VKI_XEN_SYSCTL_sched_id                       4
+#define VKI_XEN_SYSCTL_perfc_op                       5
+#define VKI_XEN_SYSCTL_getdomaininfolist              6
+#define VKI_XEN_SYSCTL_debug_keys                     7
+#define VKI_XEN_SYSCTL_getcpuinfo                     8
+#define VKI_XEN_SYSCTL_availheap                      9
+#define VKI_XEN_SYSCTL_get_pmstat                    10
+#define VKI_XEN_SYSCTL_cpu_hotplug                   11
+#define VKI_XEN_SYSCTL_pm_op                         12
+#define VKI_XEN_SYSCTL_page_offline_op               14
+#define VKI_XEN_SYSCTL_lockprof_op                   15
+#define VKI_XEN_SYSCTL_topologyinfo                  16
+#define VKI_XEN_SYSCTL_numainfo                      17
+#define VKI_XEN_SYSCTL_cpupool_op                    18
+#define VKI_XEN_SYSCTL_scheduler_op                  19
+#define VKI_XEN_SYSCTL_coverage_op                   20
+
+struct vki_xen_sysctl_getdomaininfolist_00000008 {
+    /* IN variables. */
+    vki_xen_domid_t           first_domain;
+    vki_uint32_t              max_domains;
+    VKI_XEN_GUEST_HANDLE_64(vki_xen_domctl_getdomaininfo_00000007_t) buffer;
+    /* OUT variables. */
+    vki_uint32_t              num_domains;
+};
+
+struct vki_xen_sysctl_getdomaininfolist_00000009 {
+    /* IN variables. */
+    vki_xen_domid_t           first_domain;
+    vki_uint32_t              max_domains;
+    VKI_XEN_GUEST_HANDLE_64(vki_xen_domctl_getdomaininfo_00000008_t) buffer;
+    /* OUT variables. */
+    vki_uint32_t              num_domains;
+};
+
+#define VKI_XEN_SYSCTL_CPUPOOL_OP_CREATE                1  /* C */
+#define VKI_XEN_SYSCTL_CPUPOOL_OP_DESTROY               2  /* D */
+#define VKI_XEN_SYSCTL_CPUPOOL_OP_INFO                  3  /* I */
+#define VKI_XEN_SYSCTL_CPUPOOL_OP_ADDCPU                4  /* A */
+#define VKI_XEN_SYSCTL_CPUPOOL_OP_RMCPU                 5  /* R */
+#define VKI_XEN_SYSCTL_CPUPOOL_OP_MOVEDOMAIN            6  /* M */
+#define VKI_XEN_SYSCTL_CPUPOOL_OP_FREEINFO              7  /* F */
+#define VKI_XEN_SYSCTL_CPUPOOL_PAR_ANY     0xFFFFFFFF
+struct vki_xen_sysctl_cpupool_op {
+    vki_uint32_t op;          /* IN */
+    vki_uint32_t cpupool_id;  /* IN: CDIARM OUT: CI */
+    vki_uint32_t sched_id;    /* IN: C      OUT: I  */
+    vki_uint32_t domid;       /* IN: M              */
+    vki_uint32_t cpu;         /* IN: AR             */
+    vki_uint32_t n_dom;       /*            OUT: I  */
+    struct vki_xenctl_bitmap cpumap; /*     OUT: IF */
+};
+
+struct vki_xen_sysctl_topologyinfo {
+    vki_uint32_t max_cpu_index;
+    VKI_XEN_GUEST_HANDLE_64(vki_uint32) cpu_to_core;
+    VKI_XEN_GUEST_HANDLE_64(vki_uint32) cpu_to_socket;
+    VKI_XEN_GUEST_HANDLE_64(vki_uint32) cpu_to_node;
+};
+
+struct vki_xen_sysctl_numainfo {
+    vki_uint32_t max_node_index;
+    VKI_XEN_GUEST_HANDLE_64(vki_uint64) node_to_memsize;
+    VKI_XEN_GUEST_HANDLE_64(vki_uint64) node_to_memfree;
+    VKI_XEN_GUEST_HANDLE_64(vki_uint32) node_to_node_distance;
+};
+struct vki_xen_sysctl_physinfo_00000008 {
+    vki_uint32_t threads_per_core;
+    vki_uint32_t cores_per_socket;
+    vki_uint32_t nr_cpus;     /* # CPUs currently online */
+    vki_uint32_t max_cpu_id;  /* Largest possible CPU ID on this host */
+    vki_uint32_t nr_nodes;    /* # nodes currently online */
+    vki_uint32_t max_node_id; /* Largest possible node ID on this host */
+    vki_uint32_t cpu_khz;
+    vki_xen_uint64_aligned_t total_pages;
+    vki_xen_uint64_aligned_t free_pages;
+    vki_xen_uint64_aligned_t scrub_pages;
+    vki_uint32_t hw_cap[8];
+
+    vki_uint32_t capabilities;
+};
+
+struct vki_xen_sysctl_physinfo_0000000a {
+    vki_uint32_t threads_per_core;
+    vki_uint32_t cores_per_socket;
+    vki_uint32_t nr_cpus;     /* # CPUs currently online */
+    vki_uint32_t max_cpu_id;  /* Largest possible CPU ID on this host */
+    vki_uint32_t nr_nodes;    /* # nodes currently online */
+    vki_uint32_t max_node_id; /* Largest possible node ID on this host */
+    vki_uint32_t cpu_khz;
+    vki_xen_uint64_aligned_t total_pages;
+    vki_xen_uint64_aligned_t free_pages;
+    vki_xen_uint64_aligned_t scrub_pages;
+    vki_xen_uint64_aligned_t outstanding_pages;
+    vki_uint32_t hw_cap[8];
+
+    vki_uint32_t capabilities;
+};
+
+struct vki_xen_sysctl_sched_id {
+    /* OUT variable. */
+    vki_uint32_t              sched_id;
+};
+
+struct vki_xen_sysctl {
+    vki_uint32_t cmd;
+    vki_uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */
+    union {
+        //struct vki_xen_sysctl_readconsole       readconsole;
+        //struct vki_xen_sysctl_tbuf_op           tbuf_op;
+        struct vki_xen_sysctl_physinfo_00000008 physinfo_00000008;
+        struct vki_xen_sysctl_physinfo_0000000a physinfo_0000000a;
+        struct vki_xen_sysctl_topologyinfo      topologyinfo;
+        struct vki_xen_sysctl_numainfo          numainfo;
+        struct vki_xen_sysctl_sched_id          sched_id;
+        //struct vki_xen_sysctl_perfc_op          perfc_op;
+        struct vki_xen_sysctl_getdomaininfolist_00000008 getdomaininfolist_00000008;
+        struct vki_xen_sysctl_getdomaininfolist_00000009 getdomaininfolist_00000009;
+        //struct vki_xen_sysctl_debug_keys        debug_keys;
+        //struct vki_xen_sysctl_getcpuinfo        getcpuinfo;
+        //struct vki_xen_sysctl_availheap         availheap;
+        //struct vki_xen_sysctl_get_pmstat        get_pmstat;
+        //struct vki_xen_sysctl_cpu_hotplug       cpu_hotplug;
+        //struct vki_xen_sysctl_pm_op             pm_op;
+        //struct vki_xen_sysctl_page_offline_op   page_offline;
+        //struct vki_xen_sysctl_lockprof_op       lockprof_op;
+        struct vki_xen_sysctl_cpupool_op        cpupool_op;
+        //struct vki_xen_sysctl_scheduler_op      scheduler_op;
+        //struct vki_xen_sysctl_coverage_op       coverage_op;
+
+        vki_uint8_t                             pad[128];
+    } u;
+};
+
+#endif // __VKI_XEN_SYSCTL_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-xen-version.h b/include/vki/vki-xen-version.h
new file mode 100644
index 0000000..6c6cae0
--- /dev/null
+++ b/include/vki/vki-xen-version.h
@@ -0,0 +1,43 @@
+#ifndef __VKI_XEN_VERSION_H
+#define __VKI_XEN_VERSION_H
+
+#define VKI_XENVER_version      0
+#define VKI_XENVER_extraversion 1
+#define VKI_XENVER_compile_info 2
+#define VKI_XENVER_capabilities 3
+#define VKI_XENVER_changeset 4
+#define VKI_XENVER_platform_parameters 5
+#define VKI_XENVER_get_features 6
+#define VKI_XENVER_pagesize 7
+#define VKI_XENVER_guest_handle 8
+#define VKI_XENVER_commandline 9
+
+typedef char vki_xen_extraversion_t[16];
+
+struct vki_xen_compile_info {
+    char compiler[64];
+    char compile_by[16];
+    char compile_domain[32];
+    char compile_date[32];
+};
+
+typedef char vki_xen_capabilities_info_t[1024];
+
+typedef char vki_xen_changeset_info_t[64];
+
+struct vki_xen_platform_parameters {
+    unsigned long virt_start;
+};
+
+struct vki_xen_feature_info {
+    unsigned int submap_idx;    /* IN: which 32-bit submap to return */
+    vki_uint32_t     submap;        /* OUT: 32-bit submap */
+};
+
+typedef char vki_xen_commandline_t[1024];
+
+#endif // __VKI_XEN_VERSION_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-xen-x86.h b/include/vki/vki-xen-x86.h
new file mode 100644
index 0000000..240865b
--- /dev/null
+++ b/include/vki/vki-xen-x86.h
@@ -0,0 +1,130 @@
+#ifndef __VKI_XEN_X86_H
+#define __VKI_XEN_X86_H
+
+#if defined(__i386__)
+#define ___DEFINE_VKI_XEN_GUEST_HANDLE(name, type)			\
+    typedef struct { type *p; }						\
+        __vki_xen_guest_handle_ ## name;                                \
+    typedef struct { union { type *p; vki_xen_uint64_aligned_t q; }; }  \
+        __vki_xen_guest_handle_64_ ## name
+#define vki_xen_uint64_aligned_t vki_uint64_t __attribute__((aligned(8)))
+#define __VKI_XEN_GUEST_HANDLE_64(name) __vki_xen_guest_handle_64_ ## name
+#define VKI_XEN_GUEST_HANDLE_64(name) __VKI_XEN_GUEST_HANDLE_64(name)
+#else
+#define ___DEFINE_VKI_XEN_GUEST_HANDLE(name, type) \
+    typedef struct { type *p; } __vki_xen_guest_handle_ ## name
+#define vki_xen_uint64_aligned_t vki_uint64_t
+#define __DEFINE_VKI_XEN_GUEST_HANDLE(name, type) \
+    ___DEFINE_VKI_XEN_GUEST_HANDLE(name, type);   \
+    ___DEFINE_VKI_XEN_GUEST_HANDLE(const_##name, const type)
+#define DEFINE_VKI_XEN_GUEST_HANDLE(name)   __DEFINE_VKI_XEN_GUEST_HANDLE(name, name)
+#define VKI_XEN_GUEST_HANDLE_64(name) VKI_XEN_GUEST_HANDLE(name)
+#endif
+
+#define __VKI_XEN_GUEST_HANDLE(name)  __vki_xen_guest_handle_ ## name
+#define VKI_XEN_GUEST_HANDLE(name)    __VKI_XEN_GUEST_HANDLE(name)
+
+typedef unsigned long vki_xen_pfn_t;
+typedef unsigned long vki_xen_ulong_t;
+
+#if defined(__i386__)
+struct vki_xen_cpu_user_regs {
+    vki_uint32_t ebx;
+    vki_uint32_t ecx;
+    vki_uint32_t edx;
+    vki_uint32_t esi;
+    vki_uint32_t edi;
+    vki_uint32_t ebp;
+    vki_uint32_t eax;
+    vki_uint16_t error_code;    /* private */
+    vki_uint16_t entry_vector;  /* private */
+    vki_uint32_t eip;
+    vki_uint16_t cs;
+    vki_uint8_t  saved_upcall_mask;
+    vki_uint8_t  _pad0;
+    vki_uint32_t eflags;        /* eflags.IF == !saved_upcall_mask */
+    vki_uint32_t esp;
+    vki_uint16_t ss, _pad1;
+    vki_uint16_t es, _pad2;
+    vki_uint16_t ds, _pad3;
+    vki_uint16_t fs, _pad4;
+    vki_uint16_t gs, _pad5;
+};
+#else
+struct vki_xen_cpu_user_regs {
+    vki_uint64_t r15;
+    vki_uint64_t r14;
+    vki_uint64_t r13;
+    vki_uint64_t r12;
+    vki_uint64_t rbp;
+    vki_uint64_t rbx;
+    vki_uint64_t r11;
+    vki_uint64_t r10;
+    vki_uint64_t r9;
+    vki_uint64_t r8;
+    vki_uint64_t rax;
+    vki_uint64_t rcx;
+    vki_uint64_t rdx;
+    vki_uint64_t rsi;
+    vki_uint64_t rdi;
+    vki_uint32_t error_code;    /* private */
+    vki_uint32_t entry_vector;  /* private */
+    vki_uint64_t rip;
+    vki_uint16_t cs, _pad0[1];
+    vki_uint8_t  saved_upcall_mask;
+    vki_uint8_t  _pad1[3];
+    vki_uint64_t rflags;      /* rflags.IF == !saved_upcall_mask */
+    vki_uint64_t rsp;
+    vki_uint16_t ss, _pad2[3];
+    vki_uint16_t es, _pad3[3];
+    vki_uint16_t ds, _pad4[3];
+    vki_uint16_t fs, _pad5[3]; /* Non-zero => takes precedence over fs_base.     */
+    vki_uint16_t gs, _pad6[3]; /* Non-zero => takes precedence over gs_base_usr. */
+};
+#endif
+
+struct vki_xen_trap_info {
+    vki_uint8_t   vector;  /* exception vector                              */
+    vki_uint8_t   flags;   /* 0-3: privilege level; 4: clear event enable?  */
+    vki_uint16_t  cs;      /* code selector                                 */
+    unsigned long address; /* code offset                                   */
+};
+
+struct vki_xen_vcpu_guest_context {
+    /* FPU registers come first so they can be aligned for FXSAVE/FXRSTOR. */
+    struct { char x[512]; } fpu_ctxt;       /* User-level FPU registers     */
+    unsigned long flags;                    /* VGCF_* flags                 */
+    struct vki_xen_cpu_user_regs user_regs; /* User-level CPU registers     */
+    struct vki_xen_trap_info trap_ctxt[256];/* Virtual IDT                  */
+    unsigned long ldt_base, ldt_ents;       /* LDT (linear address, # ents) */
+    unsigned long gdt_frames[16], gdt_ents; /* GDT (machine frames, # ents) */
+    unsigned long kernel_ss, kernel_sp;     /* Virtual TSS (only SS1/SP1)   */
+    /* NB. User pagetable on x86/64 is placed in ctrlreg[1]. */
+    unsigned long ctrlreg[8];               /* CR0-CR7 (control registers)  */
+    unsigned long debugreg[8];              /* DB0-DB7 (debug registers)    */
+#ifdef __i386__
+    unsigned long event_callback_cs;        /* CS:EIP of event callback     */
+    unsigned long event_callback_eip;
+    unsigned long failsafe_callback_cs;     /* CS:EIP of failsafe callback  */
+    unsigned long failsafe_callback_eip;
+#else
+    unsigned long event_callback_eip;
+    unsigned long failsafe_callback_eip;
+    unsigned long syscall_callback_eip;
+#endif
+    unsigned long vm_assist;                /* VMASST_TYPE_* bitmap */
+#ifdef __x86_64__
+    /* Segment base addresses. */
+    vki_uint64_t  fs_base;
+    vki_uint64_t  gs_base_kernel;
+    vki_uint64_t  gs_base_user;
+#endif
+};
+typedef struct vki_xen_vcpu_guest_context vki_xen_vcpu_guest_context_t;
+DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_vcpu_guest_context_t);
+
+#endif // __VKI_XEN_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/include/vki/vki-xen.h b/include/vki/vki-xen.h
new file mode 100644
index 0000000..87fbb4f
--- /dev/null
+++ b/include/vki/vki-xen.h
@@ -0,0 +1,92 @@
+#ifndef __VKI_XEN_H
+#define __VKI_XEN_H
+
+#define ENABLE_XEN 1
+
+#define __VKI_XEN_set_trap_table        0
+#define __VKI_XEN_mmu_update            1
+#define __VKI_XEN_set_gdt               2
+#define __VKI_XEN_stack_switch          3
+#define __VKI_XEN_set_callbacks         4
+#define __VKI_XEN_fpu_taskswitch        5
+#define __VKI_XEN_sched_op_compat       6 /* compat since 0x00030101 */
+#define __VKI_XEN_platform_op           7
+#define __VKI_XEN_set_debugreg          8
+#define __VKI_XEN_get_debugreg          9
+#define __VKI_XEN_update_descriptor    10
+#define __VKI_XEN_memory_op            12
+#define __VKI_XEN_multicall            13
+#define __VKI_XEN_update_va_mapping    14
+#define __VKI_XEN_set_timer_op         15
+#define __VKI_XEN_event_channel_op_compat 16 /* compat since 0x00030202 */
+#define __VKI_XEN_xen_version          17
+#define __VKI_XEN_console_io           18
+#define __VKI_XEN_physdev_op_compat    19 /* compat since 0x00030202 */
+#define __VKI_XEN_grant_table_op       20
+#define __VKI_XEN_vm_assist            21
+#define __VKI_XEN_update_va_mapping_otherdomain 22
+#define __VKI_XEN_iret                 23 /* x86 only */
+#define __VKI_XEN_vcpu_op              24
+#define __VKI_XEN_set_segment_base     25 /* x86/64 only */
+#define __VKI_XEN_mmuext_op            26
+#define __VKI_XEN_xsm_op               27
+#define __VKI_XEN_nmi_op               28
+#define __VKI_XEN_sched_op             29
+#define __VKI_XEN_callback_op          30
+#define __VKI_XEN_xenoprof_op          31
+#define __VKI_XEN_event_channel_op     32
+#define __VKI_XEN_physdev_op           33
+#define __VKI_XEN_hvm_op               34
+#define __VKI_XEN_sysctl               35
+#define __VKI_XEN_domctl               36
+#define __VKI_XEN_kexec_op             37
+#define __VKI_XEN_tmem_op              38
+#define __VKI_XEN_xc_reserved_op       39 /* reserved for XenClient */
+
+#define __DEFINE_VKI_XEN_GUEST_HANDLE(name, type) \
+    ___DEFINE_VKI_XEN_GUEST_HANDLE(name, type);   \
+    ___DEFINE_VKI_XEN_GUEST_HANDLE(const_##name, const type)
+#define DEFINE_VKI_XEN_GUEST_HANDLE(name)   __DEFINE_VKI_XEN_GUEST_HANDLE(name, name)
+
+typedef vki_uint8_t vki_xen_domain_handle_t[16];
+typedef vki_uint16_t vki_xen_domid_t;
+
+#if defined(__i386__) || defined(__x86_64__)
+#include <vki/vki-xen-x86.h>
+#else
+#error "Need to define per-ARCH Xen types for this platform"
+#endif
+
+DEFINE_VKI_XEN_GUEST_HANDLE(void);
+DEFINE_VKI_XEN_GUEST_HANDLE(vki_xen_pfn_t);
+
+__DEFINE_VKI_XEN_GUEST_HANDLE(vki_ulong, unsigned long);
+
+__DEFINE_VKI_XEN_GUEST_HANDLE(vki_int16, vki_int16_t);
+__DEFINE_VKI_XEN_GUEST_HANDLE(vki_int32, vki_int32_t);
+__DEFINE_VKI_XEN_GUEST_HANDLE(vki_int64, vki_int64_t);
+
+__DEFINE_VKI_XEN_GUEST_HANDLE(vki_uint8, vki_uint8_t);
+__DEFINE_VKI_XEN_GUEST_HANDLE(vki_uint16, vki_uint16_t);
+__DEFINE_VKI_XEN_GUEST_HANDLE(vki_uint32, vki_uint32_t);
+__DEFINE_VKI_XEN_GUEST_HANDLE(vki_uint64, vki_uint64_t);
+
+struct vki_xenctl_bitmap {
+    VKI_XEN_GUEST_HANDLE_64(vki_uint8) bitmap;
+    vki_uint32_t nr_bits;
+};
+
+#include <vki/vki-xen-domctl.h>
+#include <vki/vki-xen-sysctl.h>
+#include <vki/vki-xen-mmuext.h>
+#include <vki/vki-xen-memory.h>
+#include <vki/vki-xen-evtchn.h>
+#include <vki/vki-xen-gnttab.h>
+#include <vki/vki-xen-version.h>
+#include <vki/vki-xen-hvm.h>
+
+#endif // __VKI_XEN_H
+
+/*--------------------------------------------------------------------*/
+/*--- end                                                          ---*/
+/*--------------------------------------------------------------------*/
diff --git a/lackey/lk_main.c b/lackey/lk_main.c
index f3ba90a..aca12f0 100644
--- a/lackey/lk_main.c
+++ b/lackey/lk_main.c
@@ -7,7 +7,7 @@
    This file is part of Lackey, an example Valgrind tool that does
    some simple program measurement and tracing.
 
-   Copyright (C) 2002-2011 Nicholas Nethercote
+   Copyright (C) 2002-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -192,9 +192,9 @@
 /* The name of the function of which the number of calls (under
  * --basic-counts=yes) is to be counted, with default. Override with command
  * line option --fnname. */
-static Char* clo_fnname = "main";
+static const HChar* clo_fnname = "main";
 
-static Bool lk_process_cmd_line_option(Char* arg)
+static Bool lk_process_cmd_line_option(const HChar* arg)
 {
    if VG_STR_CLO(arg, "--fnname", clo_fnname) {}
    else if VG_BOOL_CLO(arg, "--basic-counts",      clo_basic_counts) {}
@@ -292,6 +292,10 @@
 /*--- Stuff for --detailed-counts                          ---*/
 /*------------------------------------------------------------*/
 
+typedef
+   IRExpr 
+   IRAtom;
+
 /* --- Operations --- */
 
 typedef enum { OpLoad=0, OpStore=1, OpAlu=2 } Op;
@@ -301,7 +305,7 @@
 
 /* --- Types --- */
 
-#define N_TYPES 10
+#define N_TYPES 11
 
 static Int type2index ( IRType ty )
 {
@@ -316,11 +320,12 @@
       case Ity_F64:     return 7;
       case Ity_F128:    return 8;
       case Ity_V128:    return 9;
+      case Ity_V256:    return 10;
       default: tl_assert(0);
    }
 }
 
-static HChar* nameOfTypeIndex ( Int i )
+static const HChar* nameOfTypeIndex ( Int i )
 {
    switch (i) {
       case 0: return "I1";   break;
@@ -333,6 +338,7 @@
       case 7: return "F64";  break;
       case 8: return "F128";  break;
       case 9: return "V128"; break;
+      case 10: return "V256"; break;
       default: tl_assert(0);
    }
 }
@@ -349,8 +355,10 @@
    (*detail)++;
 }
 
-/* A helper that adds the instrumentation for a detail. */
-static void instrument_detail(IRSB* sb, Op op, IRType type)
+/* A helper that adds the instrumentation for a detail.  guard ::
+   Ity_I1 is the guarding condition for the event.  If NULL it is
+   assumed to mean "always True". */
+static void instrument_detail(IRSB* sb, Op op, IRType type, IRAtom* guard)
 {
    IRDirty* di;
    IRExpr** argv;
@@ -363,6 +371,7 @@
    di = unsafeIRDirty_0_N( 1, "increment_detail",
                               VG_(fnptr_to_fnentry)( &increment_detail ), 
                               argv);
+   if (guard) di->guard = guard;
    addStmtToIRSB( sb, IRStmt_Dirty(di) );
 }
 
@@ -389,10 +398,6 @@
 
 #define MAX_DSIZE    512
 
-typedef
-   IRExpr 
-   IRAtom;
-
 typedef 
    enum { Event_Ir, Event_Dr, Event_Dw, Event_Dm }
    EventKind;
@@ -402,6 +407,7 @@
       EventKind  ekind;
       IRAtom*    addr;
       Int        size;
+      IRAtom*    guard; /* :: Ity_I1, or NULL=="always True" */
    }
    Event;
 
@@ -426,7 +432,8 @@
    At various points the list will need to be flushed, that is, IR
    generated from it.  That must happen before any possible exit from
    the block (the end, or an IRStmt_Exit).  Flushing also takes place
-   when there is no space to add a new event.
+   when there is no space to add a new event, and before entering a
+   RMW (read-modify-write) section on processors supporting LL/SC.
 
    If we require the simulation statistics to be up to date with
    respect to possible memory exceptions, then the list would have to
@@ -465,7 +472,7 @@
 static void flushEvents(IRSB* sb)
 {
    Int        i;
-   Char*      helperName;
+   const HChar* helperName;
    void*      helperAddr;
    IRExpr**   argv;
    IRDirty*   di;
@@ -497,6 +504,9 @@
       di   = unsafeIRDirty_0_N( /*regparms*/2, 
                                 helperName, VG_(fnptr_to_fnentry)( helperAddr ),
                                 argv );
+      if (ev->guard) {
+         di->guard = ev->guard;
+      }
       addStmtToIRSB( sb, IRStmt_Dirty(di) );
    }
 
@@ -521,11 +531,13 @@
    evt->ekind = Event_Ir;
    evt->addr  = iaddr;
    evt->size  = isize;
+   evt->guard = NULL;
    events_used++;
 }
 
+/* Add a guarded read event. */
 static
-void addEvent_Dr ( IRSB* sb, IRAtom* daddr, Int dsize )
+void addEvent_Dr_guarded ( IRSB* sb, IRAtom* daddr, Int dsize, IRAtom* guard )
 {
    Event* evt;
    tl_assert(clo_trace_mem);
@@ -538,9 +550,40 @@
    evt->ekind = Event_Dr;
    evt->addr  = daddr;
    evt->size  = dsize;
+   evt->guard = guard;
    events_used++;
 }
 
+/* Add an ordinary read event, by adding a guarded read event with an
+   always-true guard. */
+static
+void addEvent_Dr ( IRSB* sb, IRAtom* daddr, Int dsize )
+{
+   addEvent_Dr_guarded(sb, daddr, dsize, NULL);
+}
+
+/* Add a guarded write event. */
+static
+void addEvent_Dw_guarded ( IRSB* sb, IRAtom* daddr, Int dsize, IRAtom* guard )
+{
+   Event* evt;
+   tl_assert(clo_trace_mem);
+   tl_assert(isIRAtom(daddr));
+   tl_assert(dsize >= 1 && dsize <= MAX_DSIZE);
+   if (events_used == N_EVENTS)
+      flushEvents(sb);
+   tl_assert(events_used >= 0 && events_used < N_EVENTS);
+   evt = &events[events_used];
+   evt->ekind = Event_Dw;
+   evt->addr  = daddr;
+   evt->size  = dsize;
+   evt->guard = guard;
+   events_used++;
+}
+
+/* Add an ordinary write event.  Try to merge it with an immediately
+   preceding ordinary read event of the same size to the same
+   address. */
 static
 void addEvent_Dw ( IRSB* sb, IRAtom* daddr, Int dsize )
 {
@@ -553,9 +596,10 @@
    // Is it possible to merge this write with the preceding read?
    lastEvt = &events[events_used-1];
    if (events_used > 0
-    && lastEvt->ekind == Event_Dr
-    && lastEvt->size  == dsize
-    && eqIRAtom(lastEvt->addr, daddr))
+       && lastEvt->ekind == Event_Dr
+       && lastEvt->size  == dsize
+       && lastEvt->guard == NULL
+       && eqIRAtom(lastEvt->addr, daddr))
    {
       lastEvt->ekind = Event_Dm;
       return;
@@ -569,6 +613,7 @@
    evt->ekind = Event_Dw;
    evt->size  = dsize;
    evt->addr  = daddr;
+   evt->guard = NULL;
    events_used++;
 }
 
@@ -603,13 +648,13 @@
                       IRSB* sbIn, 
                       VexGuestLayout* layout, 
                       VexGuestExtents* vge,
+                      VexArchInfo* archinfo_host,
                       IRType gWordTy, IRType hWordTy )
 {
    IRDirty*   di;
    Int        i;
    IRSB*      sbOut;
-   Char       fnname[100];
-   IRType     type;
+   HChar      fnname[100];
    IRTypeEnv* tyenv = sbIn->tyenv;
    Addr       iaddr = 0, dst;
    UInt       ilen = 0;
@@ -730,18 +775,18 @@
             }
             if (clo_detailed_counts) {
                IRExpr* expr = st->Ist.WrTmp.data;
-               type = typeOfIRExpr(sbOut->tyenv, expr);
+               IRType  type = typeOfIRExpr(sbOut->tyenv, expr);
                tl_assert(type != Ity_INVALID);
                switch (expr->tag) {
                   case Iex_Load:
-                     instrument_detail( sbOut, OpLoad, type );
+                    instrument_detail( sbOut, OpLoad, type, NULL/*guard*/ );
                      break;
                   case Iex_Unop:
                   case Iex_Binop:
                   case Iex_Triop:
                   case Iex_Qop:
-                  case Iex_Mux0X:
-                     instrument_detail( sbOut, OpAlu, type );
+                  case Iex_ITE:
+                     instrument_detail( sbOut, OpAlu, type, NULL/*guard*/ );
                      break;
                   default:
                      break;
@@ -750,19 +795,53 @@
             addStmtToIRSB( sbOut, st );
             break;
 
-         case Ist_Store:
+         case Ist_Store: {
+            IRExpr* data = st->Ist.Store.data;
+            IRType  type = typeOfIRExpr(tyenv, data);
+            tl_assert(type != Ity_INVALID);
             if (clo_trace_mem) {
-               IRExpr* data  = st->Ist.Store.data;
                addEvent_Dw( sbOut, st->Ist.Store.addr,
-                            sizeofIRType(typeOfIRExpr(tyenv, data)) );
+                            sizeofIRType(type) );
             }
             if (clo_detailed_counts) {
-               type = typeOfIRExpr(sbOut->tyenv, st->Ist.Store.data);
-               tl_assert(type != Ity_INVALID);
-               instrument_detail( sbOut, OpStore, type );
+               instrument_detail( sbOut, OpStore, type, NULL/*guard*/ );
             }
             addStmtToIRSB( sbOut, st );
             break;
+         }
+
+         case Ist_StoreG: {
+            IRStoreG* sg   = st->Ist.StoreG.details;
+            IRExpr*   data = sg->data;
+            IRType    type = typeOfIRExpr(tyenv, data);
+            tl_assert(type != Ity_INVALID);
+            if (clo_trace_mem) {
+               addEvent_Dw_guarded( sbOut, sg->addr,
+                                    sizeofIRType(type), sg->guard );
+            }
+            if (clo_detailed_counts) {
+               instrument_detail( sbOut, OpStore, type, sg->guard );
+            }
+            addStmtToIRSB( sbOut, st );
+            break;
+         }
+
+         case Ist_LoadG: {
+            IRLoadG* lg       = st->Ist.LoadG.details;
+            IRType   type     = Ity_INVALID; /* loaded type */
+            IRType   typeWide = Ity_INVALID; /* after implicit widening */
+            typeOfIRLoadGOp(lg->cvt, &typeWide, &type);
+            tl_assert(type != Ity_INVALID);
+            if (clo_trace_mem) {
+               addEvent_Dr_guarded( sbOut, lg->addr,
+                                    sizeofIRType(type), lg->guard );
+            }
+            if (clo_detailed_counts) {
+               instrument_detail( sbOut, OpLoad, type, lg->guard );
+            }
+            addStmtToIRSB( sbOut, st );
+            break;
+         }
 
          case Ist_Dirty: {
             if (clo_trace_mem) {
@@ -806,12 +885,12 @@
                addEvent_Dw( sbOut, cas->addr, dataSize );
             }
             if (clo_detailed_counts) {
-               instrument_detail( sbOut, OpLoad, dataTy );
+               instrument_detail( sbOut, OpLoad, dataTy, NULL/*guard*/ );
                if (cas->dataHi != NULL) /* dcas */
-                  instrument_detail( sbOut, OpLoad, dataTy );
-               instrument_detail( sbOut, OpStore, dataTy );
+                  instrument_detail( sbOut, OpLoad, dataTy, NULL/*guard*/ );
+               instrument_detail( sbOut, OpStore, dataTy, NULL/*guard*/ );
                if (cas->dataHi != NULL) /* dcas */
-                  instrument_detail( sbOut, OpStore, dataTy );
+                  instrument_detail( sbOut, OpStore, dataTy, NULL/*guard*/ );
             }
             addStmtToIRSB( sbOut, st );
             break;
@@ -822,11 +901,14 @@
             if (st->Ist.LLSC.storedata == NULL) {
                /* LL */
                dataTy = typeOfIRTemp(tyenv, st->Ist.LLSC.result);
-               if (clo_trace_mem)
+               if (clo_trace_mem) {
                   addEvent_Dr( sbOut, st->Ist.LLSC.addr,
                                       sizeofIRType(dataTy) );
+                  /* flush events before LL, helps SC to succeed */
+                  flushEvents(sbOut);
+	       }
                if (clo_detailed_counts)
-                  instrument_detail( sbOut, OpLoad, dataTy );
+                  instrument_detail( sbOut, OpLoad, dataTy, NULL/*guard*/ );
             } else {
                /* SC */
                dataTy = typeOfIRExpr(tyenv, st->Ist.LLSC.storedata);
@@ -834,7 +916,7 @@
                   addEvent_Dw( sbOut, st->Ist.LLSC.addr,
                                       sizeofIRType(dataTy) );
                if (clo_detailed_counts)
-                  instrument_detail( sbOut, OpStore, dataTy );
+                  instrument_detail( sbOut, OpStore, dataTy, NULL/*guard*/ );
             }
             addStmtToIRSB( sbOut, st );
             break;
@@ -886,6 +968,7 @@
             break;
 
          default:
+            ppIRStmt(st);
             tl_assert(0);
       }
    }
@@ -908,7 +991,7 @@
 
 static void lk_fini(Int exitcode)
 {
-   char percentify_buf[5]; /* Two digits, '%' and 0. */
+   HChar percentify_buf[5]; /* Two digits, '%' and 0. */
    const int percentify_size = sizeof(percentify_buf) - 1;
    const int percentify_decs = 0;
    
@@ -967,7 +1050,7 @@
    VG_(details_version)         (NULL);
    VG_(details_description)     ("an example Valgrind tool");
    VG_(details_copyright_author)(
-      "Copyright (C) 2002-2011, and GNU GPL'd, by Nicholas Nethercote.");
+      "Copyright (C) 2002-2012, and GNU GPL'd, by Nicholas Nethercote.");
    VG_(details_bug_reports_to)  (VG_BUGS_TO);
    VG_(details_avg_translation_sizeB) ( 200 );
 
diff --git a/massif/ms_main.c b/massif/ms_main.c
index d134ab1..9e60043 100644
--- a/massif/ms_main.c
+++ b/massif/ms_main.c
@@ -6,7 +6,7 @@
    This file is part of Massif, a Valgrind tool for profiling memory
    usage of programs.
 
-   Copyright (C) 2003-2011 Nicholas Nethercote
+   Copyright (C) 2003-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -310,8 +310,8 @@
 {
    // Create the list, and add the default elements.
    alloc_fns = VG_(newXA)(VG_(malloc), "ms.main.iaf.1",
-                                       VG_(free), sizeof(Char*));
-   #define DO(x)  { Char* s = x; VG_(addToXA)(alloc_fns, &s); }
+                                       VG_(free), sizeof(HChar*));
+   #define DO(x)  { const HChar* s = x; VG_(addToXA)(alloc_fns, &s); }
 
    // Ordered roughly according to (presumed) frequency.
    // Nb: The C++ "operator new*" ones are overloadable.  We include them
@@ -357,13 +357,13 @@
 {
    // Create the (empty) list.
    ignore_fns = VG_(newXA)(VG_(malloc), "ms.main.iif.1",
-                                        VG_(free), sizeof(Char*));
+                                        VG_(free), sizeof(HChar*));
 }
 
 // Determines if the named function is a member of the XArray.
-static Bool is_member_fn(XArray* fns, Char* fnname)
+static Bool is_member_fn(XArray* fns, const HChar* fnname)
 {
-   Char** fn_ptr;
+   HChar** fn_ptr;
    Int i;
  
    // Nb: It's a linear search through the list, because we're comparing
@@ -387,7 +387,7 @@
 
 typedef enum { TimeI, TimeMS, TimeB } TimeUnit;
 
-static Char* TimeUnit_to_string(TimeUnit time_unit)
+static const HChar* TimeUnit_to_string(TimeUnit time_unit)
 {
    switch (time_unit) {
    case TimeI:  return "i";
@@ -411,13 +411,13 @@
 static Int    clo_time_unit       = TimeI;
 static Int    clo_detailed_freq   = 10;
 static Int    clo_max_snapshots   = 100;
-static Char*  clo_massif_out_file = "massif.out.%p";
+static const HChar* clo_massif_out_file = "massif.out.%p";
 
 static XArray* args_for_massif;
 
-static Bool ms_process_cmd_line_option(Char* arg)
+static Bool ms_process_cmd_line_option(const HChar* arg)
 {
-   Char* tmp_str;
+   const HChar* tmp_str;
 
    // Remember the arg for later use.
    VG_(addToXA)(args_for_massif, &arg);
@@ -591,34 +591,12 @@
 // parent node to all top-XPts.
 static XPt* alloc_xpt;
 
-// Cheap allocation for blocks that never need to be freed.  Saves about 10%
-// for Konqueror startup with --depth=40.
-static void* perm_malloc(SizeT n_bytes)
-{
-   static Addr hp     = 0;    // current heap pointer
-   static Addr hp_lim = 0;    // maximum usable byte in current block
-
-   #define SUPERBLOCK_SIZE  (1 << 20)         // 1 MB
-
-   if (hp + n_bytes > hp_lim) {
-      hp = (Addr)VG_(am_shadow_alloc)(SUPERBLOCK_SIZE);
-      if (0 == hp)
-         VG_(out_of_memory_NORETURN)( "massif:perm_malloc",
-                                      SUPERBLOCK_SIZE);
-      hp_lim = hp + SUPERBLOCK_SIZE - 1;
-   }
-
-   hp += n_bytes;
-
-   return (void*)(hp - n_bytes);
-}
-
 static XPt* new_XPt(Addr ip, XPt* parent)
 {
-   // XPts are never freed, so we can use perm_malloc to allocate them.
-   // Note that we cannot use perm_malloc for the 'children' array, because
+   // XPts are never freed, so we can use VG_(perm_malloc) to allocate them.
+   // Note that we cannot use VG_(perm_malloc) for the 'children' array, because
    // that needs to be resizable.
-   XPt* xpt    = perm_malloc(sizeof(XPt));
+   XPt* xpt    = VG_(perm_malloc)(sizeof(XPt), vg_alignof(XPt));
    xpt->ip     = ip;
    xpt->szB    = 0;
    xpt->parent = parent;
@@ -660,10 +638,10 @@
 }
 
 // Reverse comparison for a reverse sort -- biggest to smallest.
-static Int SXPt_revcmp_szB(void* n1, void* n2)
+static Int SXPt_revcmp_szB(const void* n1, const void* n2)
 {
-   SXPt* sxpt1 = *(SXPt**)n1;
-   SXPt* sxpt2 = *(SXPt**)n2;
+   const SXPt* sxpt1 = *(const SXPt *const *)n1;
+   const SXPt* sxpt2 = *(const SXPt *const *)n2;
    return ( sxpt1->szB < sxpt2->szB ?  1
           : sxpt1->szB > sxpt2->szB ? -1
           :                            0);
@@ -845,7 +823,7 @@
 // Determine if the given IP belongs to a function that should be ignored.
 static Bool fn_should_be_ignored(Addr ip)
 {
-   static Char buf[BUF_LEN];
+   static HChar buf[BUF_LEN];
    return
       ( VG_(get_fnname)(ip, buf, BUF_LEN) && is_member_fn(ignore_fns, buf)
       ? True : False );
@@ -860,7 +838,7 @@
 static
 Int get_IPs( ThreadId tid, Bool exclude_first_entry, Addr ips[])
 {
-   static Char buf[BUF_LEN];
+   static HChar buf[BUF_LEN];
    Int n_ips, i, n_alloc_fns_removed;
    Int overestimate;
    Bool redo;
@@ -1143,10 +1121,10 @@
    }
 }
 
-static void VERB_snapshot(Int verbosity, Char* prefix, Int i)
+static void VERB_snapshot(Int verbosity, const HChar* prefix, Int i)
 {
    Snapshot* snapshot = &snapshots[i];
-   Char* suffix;
+   const HChar* suffix;
    switch (snapshot->kind) {
    case Peak:   suffix = "p";                                            break;
    case Normal: suffix = ( is_detailed_snapshot(snapshot) ? "d" : "." ); break;
@@ -1227,7 +1205,7 @@
       tl_assert(-1 != min_j);    // Check we found a minimum.
       min_snapshot = & snapshots[ min_j ];
       if (VG_(clo_verbosity) > 1) {
-         Char buf[64];
+         HChar buf[64];
          VG_(snprintf)(buf, 64, " %3d (t-span = %lld)", i, min_timespan);
          VERB_snapshot(2, buf, min_j);
       }
@@ -1374,7 +1352,7 @@
 
 // Take a snapshot, if it's time, or if we've hit a peak.
 static void
-maybe_take_snapshot(SnapshotKind kind, Char* what)
+maybe_take_snapshot(SnapshotKind kind, const HChar* what)
 {
    // 'min_time_interval' is the minimum time interval between snapshots.
    // If we try to take a snapshot and less than this much time has passed,
@@ -1884,8 +1862,15 @@
 static
 void ms_new_mem_brk ( Addr a, SizeT len, ThreadId tid )
 {
-   tl_assert(VG_IS_PAGE_ALIGNED(len));
-   ms_record_page_mem(a, len);
+   // brk limit is not necessarily aligned on a page boundary.
+   // If new memory being brk-ed implies to allocate a new page,
+   // then call ms_record_page_mem with page aligned parameters
+   // otherwise just ignore.
+   Addr old_bottom_page = VG_PGROUNDDN(a - 1);
+   Addr new_top_page = VG_PGROUNDDN(a + len - 1);
+   if (old_bottom_page != new_top_page)
+      ms_record_page_mem(VG_PGROUNDDN(a),
+                         (new_top_page - old_bottom_page));
 }
 
 static
@@ -1906,8 +1891,14 @@
 static
 void ms_die_mem_brk( Addr a, SizeT len )
 {
-   tl_assert(VG_IS_PAGE_ALIGNED(len));
-   ms_unrecord_page_mem(a, len);
+   // Call ms_unrecord_page_mem only if one or more pages are de-allocated.
+   // See ms_new_mem_brk for more details.
+   Addr new_bottom_page = VG_PGROUNDDN(a - 1);
+   Addr old_top_page = VG_PGROUNDDN(a + len - 1);
+   if (old_top_page != new_bottom_page)
+      ms_unrecord_page_mem(VG_PGROUNDDN(a),
+                           (old_top_page - new_bottom_page));
+
 }
 
 //------------------------------------------------------------//
@@ -1925,7 +1916,7 @@
    update_alloc_stats(stack_szB_delta);
 }
 
-static INLINE void new_mem_stack_2(SizeT len, Char* what)
+static INLINE void new_mem_stack_2(SizeT len, const HChar* what)
 {
    if (have_started_executing_code) {
       VERB(3, "<<< new_mem_stack (%ld)\n", len);
@@ -1936,7 +1927,7 @@
    }
 }
 
-static INLINE void die_mem_stack_2(SizeT len, Char* what)
+static INLINE void die_mem_stack_2(SizeT len, const HChar* what)
 {
    if (have_started_executing_code) {
       VERB(3, "<<< die_mem_stack (%ld)\n", -len);
@@ -1988,7 +1979,7 @@
 
 /* Forward declaration.
    return True if request recognised, False otherwise */
-static Bool handle_gdb_monitor_command (ThreadId tid, Char *req);
+static Bool handle_gdb_monitor_command (ThreadId tid, HChar *req);
 static Bool ms_handle_client_request ( ThreadId tid, UWord* argv, UWord* ret )
 {
    switch (argv[0]) {
@@ -2016,7 +2007,7 @@
       return True;
    }
    case VG_USERREQ__GDB_MONITOR_COMMAND: {
-     Bool handled = handle_gdb_monitor_command (tid, (Char*)argv[1]);
+     Bool handled = handle_gdb_monitor_command (tid, (HChar*)argv[1]);
      if (handled)
        *ret = 1;
      else
@@ -2104,6 +2095,7 @@
                       IRSB* sbIn,
                       VexGuestLayout* layout,
                       VexGuestExtents* vge,
+                      VexArchInfo* archinfo_host,
                       IRType gWordTy, IRType hWordTy )
 {
    if (! have_started_executing_code) {
@@ -2125,7 +2117,7 @@
 //--- Writing snapshots                                    ---//
 //------------------------------------------------------------//
 
-Char FP_buf[BUF_LEN];
+HChar FP_buf[BUF_LEN];
 
 // XXX: implement f{,n}printf in m_libcprint.c eventually, and use it here.
 // Then change Cachegrind to use it too.
@@ -2136,9 +2128,9 @@
 })
 
 // Nb: uses a static buffer, each call trashes the last string returned.
-static Char* make_perc(double x)
+static const HChar* make_perc(double x)
 {
-   static Char mbuf[32];
+   static HChar mbuf[32];
 
    VG_(percentify)((ULong)(x * 100), 10000, 2, 6, mbuf);
    // XXX: this is bogus if the denominator was zero -- resulting string is
@@ -2147,7 +2139,7 @@
    return mbuf;
 }
 
-static void pp_snapshot_SXPt(Int fd, SXPt* sxpt, Int depth, Char* depth_str,
+static void pp_snapshot_SXPt(Int fd, SXPt* sxpt, Int depth, HChar* depth_str,
                             Int depth_str_len,
                             SizeT snapshot_heap_szB, SizeT snapshot_total_szB)
 {
@@ -2157,8 +2149,8 @@
    // Used for printing function names.  Is made static to keep it out
    // of the stack frame -- this function is recursive.  Obviously this
    // now means its contents are trashed across the recursive call.
-   static Char ip_desc_array[BUF_LEN];
-   Char* ip_desc = ip_desc_array;
+   static HChar ip_desc_array[BUF_LEN];
+   const HChar* ip_desc = ip_desc_array;
 
    switch (sxpt->tag) {
     case SigSXPt:
@@ -2172,6 +2164,10 @@
                );
          } else {
             // XXX: --alloc-fns?
+
+            // Nick thinks this case cannot happen. ip_desc_array would be
+            // conceptually uninitialised here. Therefore:
+            tl_assert2(0, "pp_snapshot_SXPt: unexpected");
          }
       } else {
          // If it's main-or-below-main, we (if appropriate) ignore everything
@@ -2184,7 +2180,7 @@
          }
 
          // We need the -1 to get the line number right, But I'm not sure why.
-         ip_desc = VG_(describe_IP)(sxpt->Sig.ip-1, ip_desc, BUF_LEN);
+         ip_desc = VG_(describe_IP)(sxpt->Sig.ip-1, ip_desc_array, BUF_LEN);
       }
       
       // Do the non-ip_desc part first...
@@ -2263,7 +2259,7 @@
       break;
 
     case InsigSXPt: {
-      Char* s = ( 1 == sxpt->Insig.n_xpts ? "," : "s, all" );
+      const HChar* s = ( 1 == sxpt->Insig.n_xpts ? "," : "s, all" );
       FP("%sn0: %lu in %d place%s below massif's threshold (%s)\n",
          depth_str, sxpt->szB, sxpt->Insig.n_xpts, s,
          make_perc(clo_threshold));
@@ -2290,8 +2286,8 @@
    if (is_detailed_snapshot(snapshot)) {
       // Detailed snapshot -- print heap tree.
       Int   depth_str_len = clo_depth + 3;
-      Char* depth_str = VG_(malloc)("ms.main.pps.1", 
-                                    sizeof(Char) * depth_str_len);
+      HChar* depth_str = VG_(malloc)("ms.main.pps.1", 
+                                     sizeof(HChar) * depth_str_len);
       SizeT snapshot_total_szB =
          snapshot->heap_szB + snapshot->heap_extra_szB + snapshot->stacks_szB;
       depth_str[0] = '\0';   // Initialise depth_str to "".
@@ -2308,7 +2304,7 @@
    }
 }
 
-static void write_snapshots_to_file(Char* massif_out_file, 
+static void write_snapshots_to_file(const HChar* massif_out_file, 
                                     Snapshot snapshots_array[], 
                                     Int nr_elements)
 {
@@ -2333,7 +2329,7 @@
    // implied genericity of "desc:" is bogus.
    FP("desc:");
    for (i = 0; i < VG_(sizeXA)(args_for_massif); i++) {
-      Char* arg = *(Char**)VG_(indexXA)(args_for_massif, i);
+      HChar* arg = *(HChar**)VG_(indexXA)(args_for_massif, i);
       FP(" %s", arg);
    }
    if (0 == i) FP(" (none)");
@@ -2369,29 +2365,38 @@
    // output file format string contains a %p (pid) specifier, both the
    // parent and child will incorrectly write to the same file;  this
    // happened in 3.3.0.
-   Char* massif_out_file =
+   HChar* massif_out_file =
       VG_(expand_file_name)("--massif-out-file", clo_massif_out_file);
    write_snapshots_to_file (massif_out_file, snapshots, next_snapshot_i);
    VG_(free)(massif_out_file);
 }
 
-static void handle_snapshot_monitor_command (Char *filename, Bool detailed)
+static void handle_snapshot_monitor_command (const HChar *filename,
+                                             Bool detailed)
 {
    Snapshot snapshot;
 
+   if (!clo_pages_as_heap && !have_started_executing_code) {
+      // See comments of variable have_started_executing_code.
+      VG_(gdb_printf) 
+         ("error: cannot take snapshot before execution has started\n");
+      return;
+   }
+
    clear_snapshot(&snapshot, /* do_sanity_check */ False);
    take_snapshot(&snapshot, Normal, get_time(), detailed);
-   write_snapshots_to_file ((filename == NULL) ? (Char*) "massif.vgdb.out" : filename,
+   write_snapshots_to_file ((filename == NULL) ? 
+                            "massif.vgdb.out" : filename,
                             &snapshot,
                             1);
    delete_snapshot(&snapshot);
 }
 
-static Bool handle_gdb_monitor_command (ThreadId tid, Char *req)
+static Bool handle_gdb_monitor_command (ThreadId tid, HChar *req)
 {
-   Char* wcmd;
-   Char s[VG_(strlen(req))]; /* copy for strtok_r */
-   Char *ssaveptr;
+   HChar* wcmd;
+   HChar s[VG_(strlen(req))]; /* copy for strtok_r */
+   HChar *ssaveptr;
 
    VG_(strcpy) (s, req);
 
@@ -2406,13 +2411,13 @@
       print_monitor_help();
       return True;
    case  1: { /* snapshot */
-      Char* filename;
+      HChar* filename;
       filename = VG_(strtok_r) (NULL, " ", &ssaveptr);
       handle_snapshot_monitor_command (filename, False /* detailed */);
       return True;
    }
    case  2: { /* detailed_snapshot */
-      Char* filename;
+      HChar* filename;
       filename = VG_(strtok_r) (NULL, " ", &ssaveptr);
       handle_snapshot_monitor_command (filename, True /* detailed */);
       return True;
@@ -2466,9 +2471,9 @@
 static void ms_post_clo_init(void)
 {
    Int i;
-   Char* LD_PRELOAD_val;
-   Char* s;
-   Char* s2;
+   HChar* LD_PRELOAD_val;
+   HChar* s;
+   HChar* s2;
 
    // Check options.
    if (clo_pages_as_heap) {
@@ -2490,7 +2495,7 @@
    if (clo_pages_as_heap) {
       clo_heap_admin = 0;     // No heap admin on pages.
 
-      LD_PRELOAD_val = VG_(getenv)( (Char*)VG_(LD_PRELOAD_var_name) );
+      LD_PRELOAD_val = VG_(getenv)( VG_(LD_PRELOAD_var_name) );
       tl_assert(LD_PRELOAD_val);
 
       // Make sure the vgpreload_core-$PLATFORM entry is there, for sanity.
@@ -2518,7 +2523,7 @@
    if (VG_(clo_verbosity) > 1) {
       VERB(1, "alloc-fns:\n");
       for (i = 0; i < VG_(sizeXA)(alloc_fns); i++) {
-         Char** fn_ptr = VG_(indexXA)(alloc_fns, i);
+         HChar** fn_ptr = VG_(indexXA)(alloc_fns, i);
          VERB(1, "  %s\n", *fn_ptr);
       }
 
@@ -2527,7 +2532,7 @@
          VERB(1, "  <empty>\n");
       }
       for (i = 0; i < VG_(sizeXA)(ignore_fns); i++) {
-         Char** fn_ptr = VG_(indexXA)(ignore_fns, i);
+         HChar** fn_ptr = VG_(indexXA)(ignore_fns, i);
          VERB(1, "  %d: %s\n", i, *fn_ptr);
       }
    }
@@ -2568,11 +2573,14 @@
    VG_(details_version)         (NULL);
    VG_(details_description)     ("a heap profiler");
    VG_(details_copyright_author)(
-      "Copyright (C) 2003-2011, and GNU GPL'd, by Nicholas Nethercote");
+      "Copyright (C) 2003-2012, and GNU GPL'd, by Nicholas Nethercote");
    VG_(details_bug_reports_to)  (VG_BUGS_TO);
 
    VG_(details_avg_translation_sizeB) ( 330 );
 
+   VG_(clo_vex_control).iropt_register_updates
+      = VexRegUpdSpAtMemAccess; // overridable by the user.
+
    // Basic functions.
    VG_(basic_tool_funcs)          (ms_post_clo_init,
                                    ms_instrument,
diff --git a/massif/tests/Makefile.am b/massif/tests/Makefile.am
index bfdb842..04f06af 100644
--- a/massif/tests/Makefile.am
+++ b/massif/tests/Makefile.am
@@ -27,7 +27,9 @@
 	no-stack-no-heap.post.exp no-stack-no-heap.stderr.exp no-stack-no-heap.vgtest \
 	null.post.exp null.stderr.exp null.vgtest \
 	one.post.exp one.post.exp2 one.stderr.exp one.vgtest \
-	overloaded-new.post.exp overloaded-new.stderr.exp overloaded-new.vgtest \
+	overloaded-new.post.exp overloaded-new.post.exp-mips32 \
+	overloaded-new.stderr.exp overloaded-new.vgtest \
+	pages_as_heap.stderr.exp pages_as_heap.vgtest \
 	peak.post.exp peak.stderr.exp peak.vgtest \
 	peak2.post.exp peak2.stderr.exp peak2.vgtest \
 	realloc.post.exp realloc.stderr.exp realloc.vgtest \
@@ -57,6 +59,7 @@
 	null \
 	one \
 	overloaded-new \
+	pages_as_heap \
 	peak \
 	realloc \
 	thresholds \
diff --git a/massif/tests/overloaded-new.post.exp-mips32 b/massif/tests/overloaded-new.post.exp-mips32
new file mode 100644
index 0000000..ffdc885
--- /dev/null
+++ b/massif/tests/overloaded-new.post.exp-mips32
@@ -0,0 +1,63 @@
+--------------------------------------------------------------------------------
+Command:            ./overloaded-new
+Massif arguments:   --stacks=no --time-unit=B --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element
+ms_print arguments: massif.out
+--------------------------------------------------------------------------------
+
+
+    KB
+11.75^                                    ###########                         
+     |                                    #                                   
+     |                                    #                                   
+     |                                    #                                   
+     |                             :::::::#                                   
+     |                             :      #                                   
+     |                             :      #                                   
+     |                       :::::::      #          ::::::::::::             
+     |                       :     :      #          :                        
+     |                       :     :      #          :                        
+     |                       :     :      #          :                        
+     |                       :     :      #          :                        
+     |                       :     :      #          :                        
+     |                       :     :      #          :                        
+     |           :::::::::::::     :      #          :           ::::::       
+     |           :           :     :      #          :           :            
+     |           :           :     :      #          :           :            
+     |           :           :     :      #          :           :     :::::: 
+     |           :           :     :      #          :           :     :      
+     |           :           :     :      #          :           :     :      
+   0 +----------------------------------------------------------------------->KB
+     0                                                                   23.50
+
+Number of snapshots: 10
+ Detailed snapshots: [5 (peak)]
+
+--------------------------------------------------------------------------------
+  n        time(B)         total(B)   useful-heap(B) extra-heap(B)    stacks(B)
+--------------------------------------------------------------------------------
+  0              0                0                0             0            0
+  1          4,008            4,008            4,000             8            0
+  2          8,016            8,016            8,000            16            0
+  3         10,024           10,024           10,000            24            0
+  4         12,032           12,032           12,000            32            0
+  5         12,032           12,032           12,000            32            0
+99.73% (12,000B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc.
+->33.24% (4,000B) 0x........: operator new(unsigned int) (overloaded-new.cpp:19)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:49)
+|   
+->33.24% (4,000B) 0x........: operator new(unsigned int, std::nothrow_t const&) (overloaded-new.cpp:24)
+| ->33.24% (4,000B) 0x........: main (overloaded-new.cpp:50)
+|   
+->16.62% (2,000B) 0x........: operator new[](unsigned int) (overloaded-new.cpp:29)
+| ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:51)
+|   
+->16.62% (2,000B) 0x........: operator new[](unsigned int, std::nothrow_t const&) (overloaded-new.cpp:34)
+  ->16.62% (2,000B) 0x........: main (overloaded-new.cpp:52)
+    
+--------------------------------------------------------------------------------
+  n        time(B)         total(B)   useful-heap(B) extra-heap(B)    stacks(B)
+--------------------------------------------------------------------------------
+  6         16,040            8,024            8,000            24            0
+  7         20,048            4,016            4,000            16            0
+  8         22,056            2,008            2,000             8            0
+  9         24,064                0                0             0            0
diff --git a/massif/tests/pages_as_heap.c b/massif/tests/pages_as_heap.c
new file mode 100644
index 0000000..c36650f
--- /dev/null
+++ b/massif/tests/pages_as_heap.c
@@ -0,0 +1,32 @@
+#include <stdio.h>
+#include <unistd.h>
+
+#define MAX 20000
+
+int main () {
+  int i;
+  int inc_dec;
+  int delta;
+  intptr_t brk_stat;
+
+  // loop to first increase, then decrease
+  for (inc_dec = 1; inc_dec >= -1; inc_dec-=2) {
+     // loop to increase(decrease) with small then big delta
+     for (delta = 1; delta <= 400; delta+=399) {
+        if (0) printf("initial brk value for inc_dec %d delta %d: %p\n",
+               inc_dec, delta, sbrk(0));
+        for (i=0; i<MAX; i++) {
+           brk_stat = (intptr_t)brk(sbrk(0) + inc_dec * delta);
+           if (brk_stat == -1) {
+              printf("brk value at failure: %p\n", sbrk(0));
+              perror ("brk() failed!\n");
+              return 0;
+           }
+        }
+        if (0) printf("resulting brk value for inc_dec %d delta %d: %p\n",
+               inc_dec, delta, sbrk(0));
+     }
+  }
+
+  return 0;
+} 
diff --git a/massif/tests/pages_as_heap.stderr.exp b/massif/tests/pages_as_heap.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/massif/tests/pages_as_heap.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/massif/tests/pages_as_heap.vgtest b/massif/tests/pages_as_heap.vgtest
new file mode 100644
index 0000000..7834460
--- /dev/null
+++ b/massif/tests/pages_as_heap.vgtest
@@ -0,0 +1,6 @@
+prog: pages_as_heap
+vgopts: --stacks=no --time-unit=B --heap-admin=0 --pages-as-heap=yes --massif-out-file=massif.out --detailed-freq=3
+vgopts: --ignore-fn=mmap
+# would be nice to test that pages as heap works properly using
+# post: perl ../../massif/ms_print massif.out | ../../tests/filter_addresses
+cleanup: rm massif.out
diff --git a/memcheck/Makefile.am b/memcheck/Makefile.am
index c4dbe98..172fe41 100644
--- a/memcheck/Makefile.am
+++ b/memcheck/Makefile.am
@@ -69,6 +69,9 @@
 	$(memcheck_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS)
 endif
 
+# mc_main.c contains the helper function for memcheck that get called
+# all the time. To maximise performance compile with -fomit-frame-pointer
+# Primary beneficiary is x86.
 mc_main.o: CFLAGS += -fomit-frame-pointer
 
 #----------------------------------------------------------------------------
@@ -112,5 +115,10 @@
 	$(LIBREPLACEMALLOC_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
 endif
 
+# mc_replace_strmem.c runs on the simulated CPU, and it often appears
+# in stack traces shown to the user.  It is built with
+# -fno-omit-frame-pointer so as to guarantee robust backtraces on x86,
+# on which CFI based unwinding is not the "normal" case and so is
+# sometimes fragile.
 mc_replace_strmem.o: CFLAGS += -fno-omit-frame-pointer
 
diff --git a/memcheck/docs/mc-manual.xml b/memcheck/docs/mc-manual.xml
index 3503b59..c007759 100644
--- a/memcheck/docs/mc-manual.xml
+++ b/memcheck/docs/mc-manual.xml
@@ -428,8 +428,8 @@
 following figure.</para>
 
 <programlisting><![CDATA[
-     Pointer chain            AAA Category    BBB Category
-     -------------            ------------    ------------
+     Pointer chain            AAA Leak Case   BBB Leak Case
+     -------------            -------------   -------------
 (1)  RRR ------------> BBB                    DR
 (2)  RRR ---> AAA ---> BBB    DR              IR
 (3)  RRR               BBB                    DL
@@ -446,7 +446,7 @@
 - --->: a start-pointer
 - -?->: an interior-pointer
 
-Category legend:
+Leak Case legend:
 - DR: Directly reachable
 - IR: Indirectly reachable
 - DL: Directly lost
@@ -458,7 +458,7 @@
 
 <para>Every possible case can be reduced to one of the above nine.  Memcheck
 merges some of these cases in its output, resulting in the following four
-categories.</para>
+leak kinds.</para>
 
 
 <itemizedlist>
@@ -467,10 +467,9 @@
     <para>"Still reachable". This covers cases 1 and 2 (for the BBB blocks)
     above.  A start-pointer or chain of start-pointers to the block is
     found.  Since the block is still pointed at, the programmer could, at
-    least in principle, have freed it before program exit.  Because these
-    are very common and arguably not a problem, Memcheck won't report such
-    blocks individually unless <option>--show-reachable=yes</option> is
-    specified.</para>
+    least in principle, have freed it before program exit.  "Still reachable"
+    blocks are very common and arguably not a problem. So, by default,
+    Memcheck won't report such blocks individually.</para>
   </listitem>
 
   <listitem>
@@ -490,7 +489,7 @@
     node is lost, all its children nodes will be indirectly lost.  Because
     the problem will disappear if the definitely lost block that caused the
     indirect leak is fixed, Memcheck won't report such blocks individually
-    unless <option>--show-reachable=yes</option> is specified.</para>
+    by default.</para>
   </listitem>
 
   <listitem>
@@ -504,13 +503,13 @@
 
 </itemizedlist>
 
-<para>(Note: This mapping of the nine possible cases onto four categories is
+<para>(Note: This mapping of the nine possible cases onto four leak kinds is
 not necessarily the best way that leaks could be reported;  in particular,
 interior-pointers are treated inconsistently.  It is possible the
 categorisation may be improved in the future.)</para>
 
 <para>Furthermore, if suppressions exists for a block, it will be reported
-as "suppressed" no matter what which of the above four categories it belongs
+as "suppressed" no matter what which of the above four kinds it belongs
 to.</para>
 
 
@@ -528,7 +527,7 @@
 <para>If <option>--leak-check=full</option> is specified,
 Memcheck will give details for each definitely lost or possibly lost block,
 including where it was allocated.  (Actually, it merges results for all
-blocks that have the same category and sufficiently similar stack traces
+blocks that have the same leak kind and sufficiently similar stack traces
 into a single "loss record".  The
 <option>--leak-resolution</option> lets you control the
 meaning of "sufficiently similar".)  It cannot tell you when or how or why
@@ -554,10 +553,40 @@
 block that has been definitely lost;  the difference is that a further 80
 bytes in other blocks are indirectly lost because of this lost block.
 The loss records are not presented in any notable order, so the loss record
-numbers aren't particularly meaningful.</para>
+numbers aren't particularly meaningful. The loss record numbers can be used
+in the Valgrind gdbserver to list the addresses of the leaked blocks and/or give
+more details about how a block is still reachable.</para>
 
-<para>If you specify <option>--show-reachable=yes</option>,
-reachable and indirectly lost blocks will also be shown, as the following
+<para>The option <option>--show-leak-kinds=&lt;set&gt;</option>
+controls the set of leak kinds to show
+if <option>--leak-check=full</option> is specified. </para>
+
+<para>The <option>&lt;set&gt;</option> of leak kinds is specified by
+using one of the following forms:
+
+<itemizedlist>
+  <listitem>a comma separated list of one or more of
+    <option>definite indirect possible reachable</option>.
+  </listitem>
+
+  <listitem><option>all</option> to specify the complete set (all leak kinds).
+  </listitem>
+
+  <listitem><option>none</option> is the empty set.
+  </listitem>
+</itemizedlist>
+
+</para>
+
+<para> The default value for the leak kinds to show is
+  <option>--show-leak-kinds=definite,possible</option>.
+</para>
+
+<para>To also show the reachable and indirectly lost blocks in addition to the definitely
+and possibly lost blocks, you can use <option>--show-leak-kinds=all</option>.
+To only show the reachable and indirectly lost blocks, use
+<option>--show-leak-kinds=indirect,reachable</option>.
+The reachable and indirectly lost blocks will then be presented as the following
 two examples show.</para>
 
 <programlisting><![CDATA[
@@ -572,31 +601,20 @@
    by 0x........: main (leak-cases.c:80)
 ]]></programlisting>
 
-<para>Because there are different kinds of leaks with different severities, an
-interesting question is this: which leaks should be counted as true "errors"
-and which should not?  The answer to this question affects the numbers printed
-in the <computeroutput>ERROR SUMMARY</computeroutput> line, and also the effect
-of the <option>--error-exitcode</option> option.  Memcheck uses the following
-criteria:</para>
+<para>Because there are different kinds of leaks with different
+severities, an interesting question is this: which leaks should be
+counted as true "errors" and which should not?
+</para>
 
-<itemizedlist>
-  <listitem>
-    <para>First, a leak is only counted as a true "error" if
-    <option>--leak-check=full</option> is specified.  In other words, an
-    unprinted leak is not considered a true "error".  If this were not the
-    case, it would be possible to get a high error count but not have any
-    errors printed, which would be confusing.</para>
-  </listitem>
-
-  <listitem>
-    <para>After that, definitely lost and possibly lost blocks are counted as
-    true "errors".  Indirectly lost and still reachable blocks are not counted
-    as true "errors", even if <option>--show-reachable=yes</option> is
-    specified and they are printed;  this is because such blocks don't need
-    direct fixing by the programmer.
-    </para>
-  </listitem>
-</itemizedlist>
+<para> The answer to this question affects the numbers printed in
+the <computeroutput>ERROR SUMMARY</computeroutput> line, and also the
+effect of the <option>--error-exitcode</option> option.  First, a leak
+is only counted as a true "error"
+if <option>--leak-check=full</option> is specified.  Then, the
+option <option>--errors-for-leak-kinds=&lt;set&gt;</option> controls
+the set of leak kinds to consider as errors.  The default value
+is <option>--errors-for-leak-kinds=definite,possible</option>
+</para>
 
 </sect2>
 
@@ -624,16 +642,6 @@
     </listitem>
   </varlistentry>
 
-  <varlistentry id="opt.show-possibly-lost" xreflabel="--show-possibly-lost">
-    <term>
-      <option><![CDATA[--show-possibly-lost=<yes|no> [default: yes] ]]></option>
-    </term>
-    <listitem>
-      <para>When disabled, the memory leak detector will not show "possibly lost" blocks.  
-      </para>
-    </listitem>
-  </varlistentry>
-
   <varlistentry id="opt.leak-resolution" xreflabel="--leak-resolution">
     <term>
       <option><![CDATA[--leak-resolution=<low|med|high> [default: high] ]]></option>
@@ -658,20 +666,74 @@
     </listitem>
   </varlistentry>
 
-  <varlistentry id="opt.show-reachable" xreflabel="--show-reachable">
+  <varlistentry id="opt.show-leak-kinds" xreflabel="--show-leak-kinds">
     <term>
-      <option><![CDATA[--show-reachable=<yes|no> [default: no] ]]></option>
+      <option><![CDATA[--show-leak-kinds=<set> [default: definite,possible] ]]></option>
     </term>
     <listitem>
-      <para>When disabled, the memory leak detector only shows "definitely
-      lost" and "possibly lost" blocks.  When enabled, the leak detector also
-      shows "reachable" and "indirectly lost" blocks.  (In other words, it
-      shows all blocks, except suppressed ones, so
-      <option>--show-all</option> would be a better name for
-      it.)</para>
+      <para>Specifies the leak kinds to show in a full leak search by
+        using one of the following forms:
+
+        <itemizedlist>
+          <listitem>a comma separated list of one or more of
+            <option>definite indirect possible reachable</option>.
+          </listitem>
+          
+          <listitem><option>all</option> to specify the complete set (all leak kinds).
+            It is equivalent to
+            <option>--show-leak-kinds=definite,indirect,possible,reachable</option>.
+          </listitem>
+          
+          <listitem><option>none</option> is the empty set.
+          </listitem>
+        </itemizedlist>
+      </para>
     </listitem>
   </varlistentry>
 
+
+  <varlistentry id="opt.errors-for-leak-kinds" xreflabel="--errors-for-leak-kinds">
+    <term>
+      <option><![CDATA[--errors-for-leak-kinds=<set> [default: definite,possible] ]]></option>
+    </term>
+    <listitem>
+      <para>Specifies the leak kinds to count as errors in a full leak search. The
+        <option><![CDATA[<set>]]></option> is specified similarly to
+        <option>--show-leak-kinds</option>
+      </para>
+    </listitem>
+  </varlistentry>
+
+
+  <varlistentry id="opt.show-reachable" xreflabel="--show-reachable">
+    <term>
+      <option><![CDATA[--show-reachable=<yes|no> ]]></option>
+    </term>
+    <term>
+      <option><![CDATA[--show-possibly-lost=<yes|no> ]]></option>
+    </term>
+    <listitem>
+      <para>These options provide an alternative way to specify the leak kinds to show:
+        <itemizedlist>
+          <listitem>
+            <option>--show-reachable=no --show-possibly-lost=yes</option> is equivalent to
+            <option>--show-leak-kinds=definite,possible</option>.
+          </listitem>
+          <listitem>
+            <option>--show-reachable=no --show-possibly-lost=no</option> is equivalent to
+            <option>--show-leak-kinds=definite</option>.
+          </listitem>
+          <listitem>
+            <option>--show-reachable=yes</option> is equivalent to
+            <option>--show-leak-kinds=all</option>.
+            Note that  <option>--show-possibly-lost=no</option> has no effect
+            if <option>--show-reachable=yes</option> is specified.
+          </listitem>
+        </itemizedlist>
+      </para>
+    </listitem>
+  </varlistentry>
+  
   <varlistentry id="opt.undef-value-errors" xreflabel="--undef-value-errors">
     <term>
       <option><![CDATA[--undef-value-errors=<yes|no> [default: yes] ]]></option>
@@ -759,12 +821,67 @@
       bytes are marked as initialised.</para>
 
       <para>Note that code that behaves in this way is in violation of
-      the the ISO C/C++ standards, and should be considered broken.  If
+      the ISO C/C++ standards, and should be considered broken.  If
       at all possible, such code should be fixed.  This option should be
       used only as a last resort.</para>
     </listitem>
   </varlistentry>
 
+  <varlistentry id="opt.keep-stacktraces" xreflabel="--keep-stacktraces">
+    <term>
+      <option><![CDATA[--keep-stacktraces=alloc|free|alloc-and-free|alloc-then-free|none [default: alloc-then-free] ]]></option>
+    </term>
+    <listitem>
+      <para>Controls which stack trace(s) to keep for malloc'd and/or
+      free'd blocks.
+      </para>
+
+      <para>With <varname>alloc-then-free</varname>, the malloc stack
+      trace is recorded at allocation time. The block contains a
+      reference to this allocation stack trace. When the block is
+      freed, the block will then reference the free stack trace.  So,
+      a 'use after free' error will only report the free stack trace.
+      </para>
+
+      <para>With <varname>alloc-and-free</varname>, both the malloc
+      and the free stack trace (for freed block) are recorded and
+      referenced by the block. A 'use after free' error will report
+      the free stack trace, followed by the stack trace where this
+      block was allocated.  Compared
+      to <varname>alloc-then-free</varname>, this value very slightly
+      increases Valgrind memory use as the block contains two references
+      instead of one.
+      </para>
+
+      <para>With <varname>alloc</varname>, only the malloc stack trace
+      is recorded (and reported). With <varname>free</varname>, only
+      the free stack trace is recorded (and reported). These values
+      somewhat decrease Valgrind memory and cpu usage. They can be
+      useful depending on the error types you are searching for and
+      the level of details you need to analyse them. For example, if
+      you are only interested in memory leak errors, it is sufficient
+      to record the allocation stack traces.
+      </para>
+
+      <para>With <varname>none</varname>, no stack traces are recorded
+      for malloc and free operations. If your program allocates a lot
+      of blocks and/or from many different stack traces, this can
+      significantly decrease cpu and/or memory. Of course, very little
+      details will be reported for errors related to heap blocks.
+      </para>
+
+      <para> Note that once a stack trace is recorded, Valgrind keeps
+      the stack trace in memory even if not referenced anymore by
+      any block. Some programs (for example, recursive algorithms)
+      can generate a huge number of stack traces. If Valgrind uses too
+      much memory in such circumstances, you can reduce the memory
+      usage with the options <varname>--keep-stacktraces</varname>
+      and/or by using a smaller value for the
+      option <varname>--num-callers</varname>.
+      </para>
+    </listitem>
+  </varlistentry>
+
   <varlistentry id="opt.freelist-vol" xreflabel="--freelist-vol">
     <term>
       <option><![CDATA[--freelist-vol=<number> [default: 20000000] ]]></option>
@@ -855,7 +972,10 @@
       byte.  This can be useful when trying to shake out obscure
       memory corruption problems.  The allocated area is still
       regarded by Memcheck as undefined -- this option only affects its
-      contents.
+      contents. Note that <option>--malloc-fill</option> does not
+      affect a block of memory when it is used as argument
+      to client requests VALGRIND_MEMPOOL_ALLOC or
+      VALGRIND_MALLOCLIKE_BLOCK.
       </para>
     </listitem>
   </varlistentry>
@@ -871,7 +991,9 @@
       specified byte value.  This can be useful when trying to shake out
       obscure memory corruption problems.  The freed area is still
       regarded by Memcheck as not valid for access -- this option only
-      affects its contents.
+      affects its contents. Note that <option>--free-fill</option> does not
+      affect a block of memory when it is used as argument to
+      client requests VALGRIND_MEMPOOL_FREE or VALGRIND_FREELIKE_BLOCK.
       </para>
     </listitem>
   </varlistentry>
@@ -950,10 +1072,25 @@
 
 </itemizedlist>
 
-<para><computeroutput>Param</computeroutput> errors have an extra
+<para><computeroutput>Param</computeroutput> errors have a mandatory extra
 information line at this point, which is the name of the offending
-system call parameter.  No other error kinds have this extra
-line.</para>
+system call parameter. </para>
+
+<para>
+<computeroutput>Leak</computeroutput> errors have an optional extra
+information line. This optional extra information line has the
+following format:</para>
+<programlisting><![CDATA[
+match-leak-kinds:<set>]]></programlisting>
+<para>where <computeroutput>&lt;set&gt;</computeroutput> specifies which
+leak kinds are matched by this suppression entry. 
+<computeroutput>&lt;set&gt;</computeroutput> is specified similarly
+to the option <option>--show-leak-kinds</option>.
+If this optional extra line is not present, the suppression entry will match
+all leak kinds.
+</para>
+
+<para>The other memcheck error kinds do not have extra lines.</para>
 
 <para>The first line of the calling context: for <varname>ValueN</varname>
 and <varname>AddrN</varname> errors, it is either the name of the function
@@ -1386,7 +1523,7 @@
 
   <listitem>
     <para><varname>leak_check [full*|summary]
-                              [reachable|possibleleak*|definiteleak]
+                              [kinds &lt;set&gt;|reachable|possibleleak*|definiteleak]
                               [increased*|changed|any]
                               [unlimited*|limited &lt;max_loss_records_output&gt;]
           </varname>
@@ -1409,14 +1546,17 @@
     </para>
 
     <para>The second argument controls what kind of blocks are shown for
-    a <varname>full</varname> leak search.  The
-    value <varname>definiteleak</varname> specifies that only
-    definitely leaked blocks should be shown.  The
-    value <varname>possibleleak</varname> will also show possibly
-    leaked blocks (those for which only an interior pointer was
-    found).  The value
-    <varname>reachable</varname> will show all block categories
-    (reachable, possibly leaked, definitely leaked).
+    a <varname>full</varname> leak search.  The set of leak kinds to show
+    can be specified using a <varname>&lt;set&gt;</varname> similarly
+    to the command line option <option>--show-leak-kinds</option>.
+    Alternatively, the  value <varname>definiteleak</varname> 
+    is equivalent to <varname>kinds definite</varname>, the
+    value <varname>possibleleak</varname> is equivalent to
+    <varname>kinds definite,possible</varname> : it will also show
+    possibly leaked blocks, .i.e those for which only an interior
+    pointer was found.  The value <varname>reachable</varname> will
+    show all block categories (i.e. is equivalent to <varname>kinds
+    all</varname>).
     </para>
 
     <para>The third argument controls what kinds of changes are shown
diff --git a/memcheck/docs/mc-tech-docs.xml b/memcheck/docs/mc-tech-docs.xml
index 1de368e..94911d0 100644
--- a/memcheck/docs/mc-tech-docs.xml
+++ b/memcheck/docs/mc-tech-docs.xml
@@ -848,7 +848,7 @@
 <title>Introduction to UCode</title>
 
 <para>UCode lies at the heart of the x86-to-x86 JITter.  The
-basic premise is that dealing the the x86 instruction set head-on
+basic premise is that dealing with the x86 instruction set head-on
 is just too darn complicated, so we do the traditional
 compiler-writer's trick and translate it into a simpler,
 easier-to-deal-with form.</para>
diff --git a/memcheck/mc_errors.c b/memcheck/mc_errors.c
index 5084f28..62cc0b7 100644
--- a/memcheck/mc_errors.c
+++ b/memcheck/mc_errors.c
@@ -8,7 +8,7 @@
    This file is part of MemCheck, a heavyweight Valgrind tool for
    detecting memory errors.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -60,7 +60,6 @@
 typedef enum {
    Block_Mallocd = 111,
    Block_Freed,
-   Block_Mempool,
    Block_MempoolChunk,
    Block_UserG
 } BlockKind;
@@ -99,16 +98,17 @@
       // blocks.
       struct {
          BlockKind   block_kind;
-         Char*       block_desc;    // "block", "mempool" or user-defined
+         const HChar* block_desc;    // "block", "mempool" or user-defined
          SizeT       block_szB;
          PtrdiffT    rwoffset;
-         ExeContext* lastchange;
+         ExeContext* allocated_at;  // might be null_ExeContext.
+         ExeContext* freed_at;      // might be null_ExeContext.
       } Block;
 
       // In a global .data symbol.  This holds the first 127 chars of
       // the variable's name (zero terminated), plus a (memory) offset.
       struct {
-         Char     name[128];
+         HChar    name[128];
          PtrdiffT offset;
       } DataSym;
 
@@ -121,7 +121,7 @@
       // Could only narrow it down to be the PLT/GOT/etc of a given
       // object.  Better than nothing, perhaps.
       struct {
-         Char       objname[128];
+         HChar      objname[128];
          VgSectKind kind;
       } SectKind;
 
@@ -235,9 +235,9 @@
 
       // Call to strcpy, memcpy, etc, with overlapping blocks.
       struct {
-         Addr src;   // Source block
-         Addr dst;   // Destination block
-         Int  szB;   // Size in bytes;  0 if unused.
+         Addr  src;   // Source block
+         Addr  dst;   // Destination block
+         SizeT szB;   // Size in bytes;  0 if unused.
       } Overlap;
 
       // A memory leak.
@@ -270,7 +270,7 @@
 /* Do a printf-style operation on either the XML or normal output
    channel, depending on the setting of VG_(clo_xml).
 */
-static void emit_WRK ( HChar* format, va_list vargs )
+static void emit_WRK ( const HChar* format, va_list vargs )
 {
    if (VG_(clo_xml)) {
       VG_(vprintf_xml)(format, vargs);
@@ -278,15 +278,15 @@
       VG_(vmessage)(Vg_UserMsg, format, vargs);
    }
 }
-static void emit ( HChar* format, ... ) PRINTF_CHECK(1, 2);
-static void emit ( HChar* format, ... )
+static void emit ( const HChar* format, ... ) PRINTF_CHECK(1, 2);
+static void emit ( const HChar* format, ... )
 {
    va_list vargs;
    va_start(vargs, format);
    emit_WRK(format, vargs);
    va_end(vargs);
 }
-static void emiN ( HChar* format, ... ) /* NO FORMAT CHECK */
+static void emiN ( const HChar* format, ... ) /* NO FORMAT CHECK */
 {
    va_list vargs;
    va_start(vargs, format);
@@ -297,8 +297,8 @@
 
 static void mc_pp_AddrInfo ( Addr a, AddrInfo* ai, Bool maybe_gcc )
 {
-   HChar* xpre  = VG_(clo_xml) ? "  <auxwhat>" : " ";
-   HChar* xpost = VG_(clo_xml) ? "</auxwhat>"  : "";
+   const HChar* xpre  = VG_(clo_xml) ? "  <auxwhat>" : " ";
+   const HChar* xpost = VG_(clo_xml) ? "</auxwhat>"  : "";
 
    switch (ai->tag) {
       case Addr_Unknown:
@@ -322,7 +322,7 @@
          SizeT    block_szB = ai->Addr.Block.block_szB;
          PtrdiffT rwoffset  = ai->Addr.Block.rwoffset;
          SizeT    delta;
-         const    Char* relative;
+         const    HChar* relative;
 
          if (rwoffset < 0) {
             delta    = (SizeT)(-rwoffset);
@@ -344,7 +344,29 @@
                                                      : "client-defined",
             xpost
          );
-         VG_(pp_ExeContext)(ai->Addr.Block.lastchange);
+         if (ai->Addr.Block.block_kind==Block_Mallocd) {
+            VG_(pp_ExeContext)(ai->Addr.Block.allocated_at);
+            tl_assert (ai->Addr.Block.freed_at == VG_(null_ExeContext)());
+         }
+         else if (ai->Addr.Block.block_kind==Block_Freed) {
+            VG_(pp_ExeContext)(ai->Addr.Block.freed_at);
+            if (ai->Addr.Block.allocated_at != VG_(null_ExeContext)()) {
+               emit(
+                  "%s block was alloc'd at%s\n",
+                  xpre,
+                  xpost
+               );
+               VG_(pp_ExeContext)(ai->Addr.Block.allocated_at);
+            }
+         }
+         else {
+            // client-defined
+            VG_(pp_ExeContext)(ai->Addr.Block.allocated_at);
+            tl_assert (ai->Addr.Block.freed_at == VG_(null_ExeContext)());
+            /* Nb: cannot have a freed_at, as a freed client-defined block
+               has a Block_Freed block_kind. */
+         }
+         
          break;
       }
 
@@ -410,9 +432,68 @@
    return loss;
 }
 
+Bool MC_(parse_leak_kinds) ( const HChar* str0, UInt* lks )
+{
+   HChar  tok_str0[VG_(strlen)(str0)+1];
+   HChar* saveptr;
+   HChar* token;
+
+   Bool seen_all_kw = False;
+   Bool seen_none_kw = False;
+
+   VG_(strcpy) (tok_str0, str0);
+   *lks = 0;
+
+   for (token = VG_(strtok_r)(tok_str0, ",", &saveptr);
+        token;
+        token = VG_(strtok_r)(NULL, ",", &saveptr)) {
+      if      (0 == VG_(strcmp)(token, "reachable"))
+         *lks |= R2S(Reachable);
+      else if (0 == VG_(strcmp)(token, "possible"))
+         *lks |= R2S(Possible);
+      else if (0 == VG_(strcmp)(token, "indirect"))
+         *lks |= R2S(IndirectLeak);
+      else if (0 == VG_(strcmp)(token, "definite"))
+         *lks |= R2S(Unreached);
+      else if (0 == VG_(strcmp)(token, "all"))
+         seen_all_kw = True;
+      else if (0 == VG_(strcmp)(token, "none"))
+         seen_none_kw = True;
+      else
+         return False;
+   }
+
+   if (seen_all_kw) {
+      if (seen_none_kw || *lks)
+         return False; // mixing all with either none or a specific value.
+      *lks = RallS;
+   } else if (seen_none_kw) {
+      if (seen_all_kw || *lks)
+         return False; // mixing none with either all or a specific value.
+      *lks = 0;
+   } else {
+      // seen neither all or none, we must see at least one value
+      if (*lks == 0)
+         return False;
+   }
+
+   return True;
+}
+
+static const HChar* pp_Reachedness_for_leak_kinds(Reachedness r)
+{
+   switch(r) {
+   case Reachable:    return "reachable";
+   case Possible:     return "possible";
+   case IndirectLeak: return "indirect";
+   case Unreached:    return "definite";
+   default:           tl_assert(0);
+   }
+}
+
 static void mc_pp_origin ( ExeContext* ec, UInt okind )
 {
-   HChar* src = NULL;
+   const HChar* src = NULL;
    tl_assert(ec);
 
    switch (okind) {
@@ -433,9 +514,9 @@
    }
 }
 
-char * MC_(snprintf_delta) (char * buf, Int size, 
-                            SizeT current_val, SizeT old_val, 
-                            LeakCheckDeltaMode delta_mode)
+HChar * MC_(snprintf_delta) (HChar * buf, Int size, 
+                             SizeT current_val, SizeT old_val, 
+                             LeakCheckDeltaMode delta_mode)
 {
    if (delta_mode == LCD_Any)
       buf[0] = '\0';
@@ -452,10 +533,10 @@
 {
    // char arrays to produce the indication of increase/decrease in case
    // of delta_mode != LCD_Any
-   char        d_bytes[20];
-   char        d_direct_bytes[20];
-   char        d_indirect_bytes[20];
-   char        d_num_blocks[20];
+   HChar d_bytes[20];
+   HChar d_direct_bytes[20];
+   HChar d_indirect_bytes[20];
+   HChar d_num_blocks[20];
 
    MC_(snprintf_delta) (d_bytes, 20, 
                         lr->szB + lr->indirect_szB, 
@@ -764,7 +845,7 @@
                      extra->Err.Overlap.dst, extra->Err.Overlap.src );
             } else {
                emit( "  <what>Source and destination overlap "
-                     "in %s(%#lx, %#lx, %d)</what>\n",
+                     "in %s(%#lx, %#lx, %lu)</what>\n",
                      VG_(get_error_string)(err),
                      extra->Err.Overlap.dst, extra->Err.Overlap.src,
                      extra->Err.Overlap.szB );
@@ -776,7 +857,7 @@
                      VG_(get_error_string)(err),
                      extra->Err.Overlap.dst, extra->Err.Overlap.src );
             } else {
-               emit( "Source and destination overlap in %s(%#lx, %#lx, %d)\n",
+               emit( "Source and destination overlap in %s(%#lx, %#lx, %lu)\n",
                      VG_(get_error_string)(err),
                      extra->Err.Overlap.dst, extra->Err.Overlap.src,
                      extra->Err.Overlap.szB );
@@ -890,12 +971,12 @@
 /* --- Called from non-generated code --- */
 
 /* This is for memory errors in signal-related memory. */
-void MC_(record_core_mem_error) ( ThreadId tid, Char* msg )
+void MC_(record_core_mem_error) ( ThreadId tid, const HChar* msg )
 {
    VG_(maybe_record_error)( tid, Err_CoreMem, /*addr*/0, msg, /*extra*/NULL );
 }
 
-void MC_(record_regparam_error) ( ThreadId tid, Char* msg, UInt otag )
+void MC_(record_regparam_error) ( ThreadId tid, const HChar* msg, UInt otag )
 {
    MC_Error extra;
    tl_assert(VG_INVALID_THREADID != tid);
@@ -907,7 +988,7 @@
 }
 
 void MC_(record_memparam_error) ( ThreadId tid, Addr a, 
-                                  Bool isAddrErr, Char* msg, UInt otag )
+                                  Bool isAddrErr, const HChar* msg, UInt otag )
 {
    MC_Error extra;
    tl_assert(VG_INVALID_THREADID != tid);
@@ -950,7 +1031,8 @@
    ai->Addr.Block.block_desc = "block";
    ai->Addr.Block.block_szB  = mc->szB;
    ai->Addr.Block.rwoffset   = 0;
-   ai->Addr.Block.lastchange = mc->where;
+   ai->Addr.Block.allocated_at = MC_(allocated_at) (mc);
+   ai->Addr.Block.freed_at = MC_(freed_at) (mc);
    VG_(maybe_record_error)( tid, Err_FreeMismatch, mc->data, /*s*/NULL,
                             &extra );
 }
@@ -963,7 +1045,7 @@
    VG_(maybe_record_error)( tid, Err_IllegalMempool, a, /*s*/NULL, &extra );
 }
 
-void MC_(record_overlap_error) ( ThreadId tid, Char* function,
+void MC_(record_overlap_error) ( ThreadId tid, const HChar* function,
                                  Addr src, Addr dst, SizeT szB )
 {
    MC_Error extra;
@@ -1025,7 +1107,7 @@
    
    switch (VG_(get_error_kind)(e1)) {
       case Err_CoreMem: {
-         Char *e1s, *e2s;
+         const HChar *e1s, *e2s;
          e1s = VG_(get_error_string)(e1);
          e2s = VG_(get_error_string)(e2);
          if (e1s == e2s)                   return True;
@@ -1082,7 +1164,7 @@
 Bool addr_is_in_MC_Chunk_default_REDZONE_SZB(MC_Chunk* mc, Addr a)
 {
    return VG_(addr_is_in_block)( a, mc->data, mc->szB,
-                                 MC_MALLOC_REDZONE_SZB );
+                                 MC_(Malloc_Redzone_SzB) );
 }
 static
 Bool addr_is_in_MC_Chunk_with_REDZONE_SZB(MC_Chunk* mc, Addr a, SizeT rzB)
@@ -1135,7 +1217,8 @@
             ai->Addr.Block.block_desc = "block";
          ai->Addr.Block.block_szB  = mc->szB;
          ai->Addr.Block.rwoffset   = (Word)a - (Word)mc->data;
-         ai->Addr.Block.lastchange = mc->where;
+         ai->Addr.Block.allocated_at = MC_(allocated_at)(mc);
+         ai->Addr.Block.freed_at = MC_(freed_at)(mc);
          return;
       }
    }
@@ -1147,7 +1230,8 @@
       ai->Addr.Block.block_desc = "block";
       ai->Addr.Block.block_szB  = mc->szB;
       ai->Addr.Block.rwoffset   = (Word)a - (Word)mc->data;
-      ai->Addr.Block.lastchange = mc->where;
+      ai->Addr.Block.allocated_at = MC_(allocated_at)(mc);
+      ai->Addr.Block.freed_at = MC_(freed_at)(mc);
       return;
    }
    /* -- Perhaps the variable type/location data describes it? -- */
@@ -1348,7 +1432,8 @@
          ai->Addr.Block.block_desc = cgbs[i].desc;
          ai->Addr.Block.block_szB  = cgbs[i].size;
          ai->Addr.Block.rwoffset   = (Word)(a) - (Word)(cgbs[i].start);
-         ai->Addr.Block.lastchange = cgbs[i].where;
+         ai->Addr.Block.allocated_at = cgbs[i].where;
+         ai->Addr.Block.freed_at = VG_(null_ExeContext)();;
          return True;
       }
    }
@@ -1374,7 +1459,8 @@
                ai->Addr.Block.block_desc = "block";
                ai->Addr.Block.block_szB  = mc->szB;
                ai->Addr.Block.rwoffset   = (Word)a - (Word)mc->data;
-               ai->Addr.Block.lastchange = mc->where;
+               ai->Addr.Block.allocated_at = MC_(allocated_at)(mc);
+               ai->Addr.Block.freed_at = MC_(freed_at)(mc);
                return True;
             }
          }
@@ -1411,7 +1497,7 @@
    } 
    MC_SuppKind;
 
-Bool MC_(is_recognised_suppression) ( Char* name, Supp* su )
+Bool MC_(is_recognised_suppression) ( const HChar* name, Supp* su )
 {
    SuppKind skind;
 
@@ -1442,15 +1528,40 @@
    return True;
 }
 
-Bool MC_(read_extra_suppression_info) ( Int fd, Char** bufpp,
+typedef struct _MC_LeakSuppExtra MC_LeakSuppExtra;
+
+struct _MC_LeakSuppExtra {
+   UInt match_leak_kinds;
+};
+
+Bool MC_(read_extra_suppression_info) ( Int fd, HChar** bufpp,
                                         SizeT* nBufp, Supp *su )
 {
    Bool eof;
+   Int i;
 
    if (VG_(get_supp_kind)(su) == ParamSupp) {
       eof = VG_(get_line) ( fd, bufpp, nBufp, NULL );
       if (eof) return False;
       VG_(set_supp_string)(su, VG_(strdup)("mc.resi.1", *bufpp));
+   } else if (VG_(get_supp_kind)(su) == LeakSupp) {
+      // We might have the optional match-leak-kinds line
+      MC_LeakSuppExtra* lse;
+      lse = VG_(malloc)("mc.resi.2", sizeof(MC_LeakSuppExtra));
+      lse->match_leak_kinds = RallS;
+      VG_(set_supp_extra)(su, lse); // By default, all kinds will match.
+      eof = VG_(get_line) ( fd, bufpp, nBufp, NULL );
+      if (eof) return True; // old LeakSupp style, no match-leak-kinds line.
+      if (0 == VG_(strncmp)(*bufpp, "match-leak-kinds:", 17)) {
+         i = 17;
+         while ((*bufpp)[i] && VG_(isspace((*bufpp)[i])))
+            i++;
+         if (!MC_(parse_leak_kinds)((*bufpp)+i, &lse->match_leak_kinds)) {
+            return False;
+         }
+      } else {
+         return False; // unknown extra line.
+      }
    }
    return True;
 }
@@ -1504,7 +1615,11 @@
          return (ekind == Err_Overlap);
 
       case LeakSupp:
-         return (ekind == Err_Leak);
+         if (ekind == Err_Leak) {
+            MC_LeakSuppExtra* lse = (MC_LeakSuppExtra*) VG_(get_supp_extra)(su);
+            return RiS(extra->Err.Leak.lr->key.state, lse->match_leak_kinds);
+         } else
+            return False;
 
       case MempoolSupp:
          return (ekind == Err_IllegalMempool);
@@ -1518,7 +1633,7 @@
    }
 }
 
-Char* MC_(get_error_name) ( Error* err )
+const HChar* MC_(get_error_name) ( Error* err )
 {
    switch (VG_(get_error_kind)(err)) {
    case Err_RegParam:       return "Param";
@@ -1559,16 +1674,22 @@
 }
 
 Bool MC_(get_extra_suppression_info) ( Error* err,
-                                       /*OUT*/Char* buf, Int nBuf )
+                                       /*OUT*/HChar* buf, Int nBuf )
 {
    ErrorKind ekind = VG_(get_error_kind )(err);
    tl_assert(buf);
    tl_assert(nBuf >= 16); // stay sane
    if (Err_RegParam == ekind || Err_MemParam == ekind) {
-      Char* errstr = VG_(get_error_string)(err);
+      const HChar* errstr = VG_(get_error_string)(err);
       tl_assert(errstr);
       VG_(snprintf)(buf, nBuf-1, "%s", errstr);
       return True;
+   } else if (Err_Leak == ekind) {
+      MC_Error* extra = VG_(get_error_extra)(err);
+      VG_(snprintf)
+         (buf, nBuf-1, "match-leak-kinds: %s",
+          pp_Reachedness_for_leak_kinds(extra->Err.Leak.lr->key.state));
+      return True;
    } else {
       return False;
    }
diff --git a/memcheck/mc_include.h b/memcheck/mc_include.h
index 91921d2..29a0968 100644
--- a/memcheck/mc_include.h
+++ b/memcheck/mc_include.h
@@ -8,7 +8,7 @@
    This file is part of MemCheck, a heavyweight Valgrind tool for
    detecting memory errors.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -42,8 +42,12 @@
 /*--- Tracking the heap                                    ---*/
 /*------------------------------------------------------------*/
 
-/* We want at least a 16B redzone on client heap blocks for Memcheck */
-#define MC_MALLOC_REDZONE_SZB    16
+/* By default, we want at least a 16B redzone on client heap blocks
+   for Memcheck.
+   The default can be modified by --redzone-size. */
+#define MC_MALLOC_DEFAULT_REDZONE_SZB    16
+// effective redzone, as (possibly) modified by --redzone-size:
+extern SizeT MC_(Malloc_Redzone_SzB);
 
 /* For malloc()/new/new[] vs. free()/delete/delete[] mismatch checking. */
 typedef
@@ -63,10 +67,25 @@
       Addr         data;            // Address of the actual block.
       SizeT        szB : (sizeof(SizeT)*8)-2; // Size requested; 30 or 62 bits.
       MC_AllocKind allockind : 2;   // Which operation did the allocation.
-      ExeContext*  where;           // Where it was allocated.
+      ExeContext*  where[0];
+      /* Variable-length array. The size depends on MC_(clo_keep_stacktraces).
+         This array optionally stores the alloc and/or free stack trace. */
    }
    MC_Chunk;
 
+/* Returns the execontext where the MC_Chunk was allocated/freed.
+   Returns VG_(null_ExeContext)() if the execontext has not been recorded (due
+   to MC_(clo_keep_stacktraces) and/or because block not yet freed). */
+ExeContext* MC_(allocated_at) (MC_Chunk*);
+ExeContext* MC_(freed_at) (MC_Chunk*);
+
+/* Records and sets execontext according to MC_(clo_keep_stacktraces) */
+void  MC_(set_allocated_at) (ThreadId, MC_Chunk*);
+void  MC_(set_freed_at) (ThreadId, MC_Chunk*);
+
+/* number of pointers needed according to MC_(clo_keep_stacktraces). */
+UInt MC_(n_where_pointers) (void);
+
 /* Memory pool.  Nb: first two fields must match core's VgHashNode. */
 typedef
    struct _MC_Mempool {
@@ -256,6 +275,13 @@
   }
   Reachedness;
 
+// Build mask to check or set Reachedness r membership
+#define R2S(r) (1 << (r))
+// Reachedness r is member of the Set s ?
+#define RiS(r,s) ((s) & R2S(r))
+// A set with all Reachedness:
+#define RallS \
+   (R2S(Reachable) | R2S(Possible) | R2S(IndirectLeak) | R2S(Unreached))
 
 /* For VALGRIND_COUNT_LEAKS client request */
 extern SizeT MC_(bytes_leaked);
@@ -314,8 +340,8 @@
 typedef
    struct _LeakCheckParams {
       LeakCheckMode mode;
-      Bool show_reachable;
-      Bool show_possibly_lost;
+      UInt show_leak_kinds;
+      UInt errors_for_leak_kinds;
       LeakCheckDeltaMode deltamode;
       UInt max_loss_records_output;       // limit on the nr of loss records output.
       Bool requested_by_monitor_command; // True when requested by gdb/vgdb.
@@ -338,9 +364,9 @@
 
 // if delta_mode == LCD_Any, prints in buf an empty string
 // otherwise prints a delta in the layout  " (+%'lu)" or " (-%'lu)" 
-extern char * MC_(snprintf_delta) (char * buf, Int size, 
-                                   SizeT current_val, SizeT old_val, 
-                                   LeakCheckDeltaMode delta_mode);
+extern HChar * MC_(snprintf_delta) (HChar * buf, Int size, 
+                                    SizeT current_val, SizeT old_val, 
+                                    LeakCheckDeltaMode delta_mode);
 
 
 Bool MC_(is_valid_aligned_word)     ( Addr a );
@@ -368,17 +394,17 @@
 void MC_(pp_Error)           ( Error* err );
 UInt MC_(update_Error_extra) ( Error* err );
 
-Bool MC_(is_recognised_suppression) ( Char* name, Supp* su );
+Bool MC_(is_recognised_suppression) ( const HChar* name, Supp* su );
 
-Bool MC_(read_extra_suppression_info) ( Int fd, Char** buf,
+Bool MC_(read_extra_suppression_info) ( Int fd, HChar** buf,
                                         SizeT* nBuf, Supp *su );
 
 Bool MC_(error_matches_suppression) ( Error* err, Supp* su );
 
 Bool MC_(get_extra_suppression_info) ( Error* err,
-                                       /*OUT*/Char* buf, Int nBuf );
+                                       /*OUT*/HChar* buf, Int nBuf );
 
-Char* MC_(get_error_name) ( Error* err );
+const HChar* MC_(get_error_name) ( Error* err );
 
 /* Recording of errors */
 void MC_(record_address_error) ( ThreadId tid, Addr a, Int szB,
@@ -391,12 +417,12 @@
 void MC_(record_illegal_mempool_error) ( ThreadId tid, Addr a );
 void MC_(record_freemismatch_error)    ( ThreadId tid, MC_Chunk* mc );
 
-void MC_(record_overlap_error)  ( ThreadId tid, Char* function,
+void MC_(record_overlap_error)  ( ThreadId tid, const HChar* function,
                                   Addr src, Addr dst, SizeT szB );
-void MC_(record_core_mem_error) ( ThreadId tid, Char* msg );
-void MC_(record_regparam_error) ( ThreadId tid, Char* msg, UInt otag );
+void MC_(record_core_mem_error) ( ThreadId tid, const HChar* msg );
+void MC_(record_regparam_error) ( ThreadId tid, const HChar* msg, UInt otag );
 void MC_(record_memparam_error) ( ThreadId tid, Addr a, 
-                                  Bool isAddrErr, Char* msg, UInt otag );
+                                  Bool isAddrErr, const HChar* msg, UInt otag );
 void MC_(record_user_error)     ( ThreadId tid, Addr a,
                                   Bool isAddrErr, UInt otag );
 
@@ -407,6 +433,12 @@
                                   Bool print_record,
                                   Bool count_error );
 
+/* Parses a set of leak kinds (separated by ,).
+   and give the resulting set in *lks.
+   If parsing is succesful, returns True and *lks contains the resulting set.
+   else return False. */
+extern Bool MC_(parse_leak_kinds) ( const HChar* str0, UInt* lks );
+
 /* prints a description of address a */
 void MC_(pp_describe_addr) (Addr a);
 
@@ -425,7 +457,7 @@
       Addr        start;
       SizeT       size;
       ExeContext* where;
-      Char*       desc;
+      HChar*      desc;
    } 
    CGenBlock;
 
@@ -454,11 +486,13 @@
 /* How closely should we compare ExeContexts in leak records? default: 2 */
 extern VgRes MC_(clo_leak_resolution);
 
-/* In leak check, show reachable-but-not-freed blocks?  default: NO */
-extern Bool MC_(clo_show_reachable);
+/* In leak check, show loss records if their R2S(reachedness) is set.
+   Default : R2S(Possible) | R2S(Unreached). */
+extern UInt MC_(clo_show_leak_kinds);
 
-/* In leak check, show possibly-lost blocks?  default: YES */
-extern Bool MC_(clo_show_possibly_lost);
+/* In leak check, a loss record is an error if its R2S(reachedness) is set.
+   Default : R2S(Possible) | R2S(Unreached). */
+extern UInt MC_(clo_errors_for_leak_kinds);
 
 /* Assume accesses immediately below %esp are due to gcc-2.96 bugs.
  * default: NO */
@@ -473,6 +507,20 @@
 extern Int MC_(clo_malloc_fill);
 extern Int MC_(clo_free_fill);
 
+/* Which stack trace(s) to keep for malloc'd/free'd client blocks?
+   For each client block, the stack traces where it was allocated
+   and/or freed are optionally kept depending on MC_(clo_keep_stacktraces). */
+typedef
+   enum {                 // keep alloc stack trace ?  keep free stack trace ?
+      KS_none,            // never                     never
+      KS_alloc,           // always                    never
+      KS_free,            // never                     always
+      KS_alloc_then_free, // when still malloc'd       when free'd
+      KS_alloc_and_free,  // always                    always
+   }
+   KeepStacktraces;
+extern KeepStacktraces MC_(clo_keep_stacktraces);
+
 /* Indicates the level of instrumentation/checking done by Memcheck.
 
    1 = No undefined value checking, Addrcheck-style behaviour only:
@@ -549,17 +597,20 @@
 VG_REGPARM(2) void  MC_(helperc_b_store4) ( Addr a, UWord d32 );
 VG_REGPARM(2) void  MC_(helperc_b_store8) ( Addr a, UWord d32 );
 VG_REGPARM(2) void  MC_(helperc_b_store16)( Addr a, UWord d32 );
+VG_REGPARM(2) void  MC_(helperc_b_store32)( Addr a, UWord d32 );
 VG_REGPARM(1) UWord MC_(helperc_b_load1) ( Addr a );
 VG_REGPARM(1) UWord MC_(helperc_b_load2) ( Addr a );
 VG_REGPARM(1) UWord MC_(helperc_b_load4) ( Addr a );
 VG_REGPARM(1) UWord MC_(helperc_b_load8) ( Addr a );
 VG_REGPARM(1) UWord MC_(helperc_b_load16)( Addr a );
+VG_REGPARM(1) UWord MC_(helperc_b_load32)( Addr a );
 
 /* Functions defined in mc_translate.c */
 IRSB* MC_(instrument) ( VgCallbackClosure* closure,
                         IRSB* bb_in, 
                         VexGuestLayout* layout, 
                         VexGuestExtents* vge,
+                        VexArchInfo* archinfo_host,
                         IRType gWordTy, IRType hWordTy );
 
 IRSB* MC_(final_tidy) ( IRSB* );
diff --git a/memcheck/mc_leakcheck.c b/memcheck/mc_leakcheck.c
index edd19b8..98addd7 100644
--- a/memcheck/mc_leakcheck.c
+++ b/memcheck/mc_leakcheck.c
@@ -7,7 +7,7 @@
    This file is part of MemCheck, a heavyweight Valgrind tool for
    detecting memory errors.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -120,6 +120,7 @@
 // Also, --show-reachable is a bad name because it also turns on the showing
 // of indirectly leaked blocks(!)  It would be better named --show-all or
 // --show-all-heap-blocks, because that's the end result.
+// We now have the option --show-leak-kinds=... which allows to specify =all.
 //
 // ----
 //
@@ -167,7 +168,8 @@
 // 
 // ==20397== 16 bytes in 1 blocks are definitely lost in loss record 14
 // of 15 (and 16 bytes in 1 block are indirectly lost as a result;  they
-// are mentioned elsewhere (if --show-reachable=yes is given!))
+// are mentioned elsewhere (if --show-reachable=yes or indirect is given
+// in --show-leak-kinds=... !))
 // ==20397==    at 0x4C2694E: malloc (vg_replace_malloc.c:177)
 // ==20397==    by 0x400521: mk (leak-cases.c:49)
 // ==20397==    by 0x400580: main (leak-cases.c:72)
@@ -244,10 +246,10 @@
 /*------------------------------------------------------------*/
 
 // Compare the MC_Chunks by 'data' (i.e. the address of the block).
-static Int compare_MC_Chunks(void* n1, void* n2)
+static Int compare_MC_Chunks(const void* n1, const void* n2)
 {
-   MC_Chunk* mc1 = *(MC_Chunk**)n1;
-   MC_Chunk* mc2 = *(MC_Chunk**)n2;
+   const MC_Chunk* mc1 = *(const MC_Chunk *const *)n1;
+   const MC_Chunk* mc2 = *(const MC_Chunk *const *)n2;
    if (mc1->data < mc2->data) return -1;
    if (mc1->data > mc2->data) return  1;
    return 0;
@@ -327,7 +329,7 @@
 
 
 static MC_Chunk**
-find_active_chunks(UInt* pn_chunks)
+find_active_chunks(Int* pn_chunks)
 {
    // Our goal is to construct a set of chunks that includes every
    // mempool chunk, and every malloc region that *doesn't* contain a
@@ -502,7 +504,10 @@
    MC_Chunk* ch;
    LC_Extra* ex;
 
-   // Quick filter.
+   // Quick filter. Note: implemented with am, not with get_vabits2
+   // as ptr might be random data pointing anywhere. On 64 bit
+   // platforms, getting va bits for random data can be quite costly
+   // due to the secondary map.
    if (!VG_(am_is_valid_for_client)(ptr, 1, VKI_PROT_READ)) {
       return False;
    } else {
@@ -601,7 +606,7 @@
 }
 
 static void
-lc_push_if_a_chunk_ptr_register(ThreadId tid, HChar* regname, Addr ptr)
+lc_push_if_a_chunk_ptr_register(ThreadId tid, const HChar* regname, Addr ptr)
 {
    lc_push_without_clique_if_a_chunk_ptr(ptr, /*is_prior_definite*/True);
 }
@@ -705,6 +710,11 @@
 lc_scan_memory(Addr start, SizeT len, Bool is_prior_definite, Int clique, Int cur_clique,
                Addr searched, SizeT szB)
 {
+   /* memory scan is based on the assumption that valid pointers are aligned
+      on a multiple of sizeof(Addr). So, we can (and must) skip the begin and
+      end portions of the block if they are not aligned on sizeof(Addr):
+      These cannot be a valid pointer, and calls to MC_(is_valid_aligned_word)
+      will assert for a non aligned address. */
    Addr ptr = VG_ROUNDUP(start,     sizeof(Addr));
    Addr end = VG_ROUNDDN(start+len, sizeof(Addr));
    vki_sigset_t sigmask;
@@ -715,57 +725,90 @@
    VG_(sigprocmask)(VKI_SIG_SETMASK, NULL, &sigmask);
    VG_(set_fault_catcher)(scan_all_valid_memory_catcher);
 
-   // We might be in the middle of a page.  Do a cheap check to see if
-   // it's valid;  if not, skip onto the next page.
-   if (!VG_(am_is_valid_for_client)(ptr, sizeof(Addr), VKI_PROT_READ))
+   /* Optimisation: the loop below will check for each begin
+      of SM chunk if the chunk is fully unaddressable. The idea is to
+      skip efficiently such fully unaddressable SM chunks.
+      So, we preferrably start the loop on a chunk boundary.
+      If the chunk is not fully unaddressable, we might be in
+      an unaddressable page. Again, the idea is to skip efficiently
+      such unaddressable page : this is the "else" part.
+      We use an "else" so that two consecutive fully unaddressable
+      SM chunks will be skipped efficiently: first one is skipped
+      by this piece of code. The next SM chunk will be skipped inside
+      the loop. */
+   if ( ! MC_(is_within_valid_secondary)(ptr) ) {
+      // Skip an invalid SM chunk till the beginning of the next SM Chunk.
+      ptr = VG_ROUNDUP(ptr+1, SM_SIZE);
+   } else if (!VG_(am_is_valid_for_client)(ptr, sizeof(Addr), VKI_PROT_READ)) {
+      // else we are in a (at least partially) valid SM chunk.
+      // We might be in the middle of an unreadable page.
+      // Do a cheap check to see if it's valid;
+      // if not, skip onto the next page.
       ptr = VG_PGROUNDUP(ptr+1);        // First page is bad - skip it.
+   }
+   /* This optimisation and below loop is based on some relationships between
+      VKI_PAGE_SIZE, SM_SIZE and sizeof(Addr) which are asserted in
+      MC_(detect_memory_leaks). */
 
    while (ptr < end) {
       Addr addr;
 
       // Skip invalid chunks.
-      if ( ! MC_(is_within_valid_secondary)(ptr) ) {
-         ptr = VG_ROUNDUP(ptr+1, SM_SIZE);
-         continue;
+      if (UNLIKELY((ptr % SM_SIZE) == 0)) {
+         if (! MC_(is_within_valid_secondary)(ptr) ) {
+            ptr = VG_ROUNDUP(ptr+1, SM_SIZE);
+            continue;
+         }
       }
 
       // Look to see if this page seems reasonable.
-      if ((ptr % VKI_PAGE_SIZE) == 0) {
+      if (UNLIKELY((ptr % VKI_PAGE_SIZE) == 0)) {
          if (!VG_(am_is_valid_for_client)(ptr, sizeof(Addr), VKI_PROT_READ)) {
             ptr += VKI_PAGE_SIZE;      // Bad page - skip it.
             continue;
          }
+         // aspacemgr indicates the page is readable and belongs to client.
+         // We still probe the page explicitely in case aspacemgr is
+         // desynchronised with the real page mappings.
+         // Such a desynchronisation can happen due to an aspacemgr bug.
+         // Note that if the application is using mprotect(NONE), then
+         // a page can be unreadable but have addressable and defined
+         // VA bits (see mc_main.c function mc_new_mem_mprotect).
+         if (VG_MINIMAL_SETJMP(memscan_jmpbuf) == 0) {
+            // Try a read in the beginning of the page ...
+            Addr test = *(volatile Addr *)ptr;
+            __asm__ __volatile__("": :"r"(test) : "cc","memory");
+         } else {
+            // Catch read error ...
+            // We need to restore the signal mask, because we were
+            // longjmped out of a signal handler.
+            VG_(sigprocmask)(VKI_SIG_SETMASK, &sigmask, NULL);
+            ptr += VKI_PAGE_SIZE;      // Bad page - skip it.
+            continue;
+         }
       }
 
-      if (VG_MINIMAL_SETJMP(memscan_jmpbuf) == 0) {
-         if ( MC_(is_valid_aligned_word)(ptr) ) {
-            lc_scanned_szB += sizeof(Addr);
-            addr = *(Addr *)ptr;
-            // If we get here, the scanned word is in valid memory.  Now
-            // let's see if its contents point to a chunk.
-            if (searched) {
-               if (addr >= searched && addr < searched + szB) {
-                  if (addr == searched)
-                     VG_(umsg)("*%#lx points at %#lx\n", ptr, searched);
-                  else
-                     VG_(umsg)("*%#lx interior points at %lu bytes inside %#lx\n",
-                               ptr, (long unsigned) addr - searched, searched);
-                  MC_(pp_describe_addr) (ptr);
-               }
-            } else {
-               lc_push_if_a_chunk_ptr(addr, clique, cur_clique, is_prior_definite);
+      if ( MC_(is_valid_aligned_word)(ptr) ) {
+         lc_scanned_szB += sizeof(Addr);
+         addr = *(Addr *)ptr;
+         // If we get here, the scanned word is in valid memory.  Now
+         // let's see if its contents point to a chunk.
+         if (UNLIKELY(searched)) {
+            if (addr >= searched && addr < searched + szB) {
+               if (addr == searched)
+                  VG_(umsg)("*%#lx points at %#lx\n", ptr, searched);
+               else
+                  VG_(umsg)("*%#lx interior points at %lu bytes inside %#lx\n",
+                            ptr, (long unsigned) addr - searched, searched);
+               MC_(pp_describe_addr) (ptr);
             }
-         } else if (0 && VG_DEBUG_LEAKCHECK) {
-            VG_(printf)("%#lx not valid\n", ptr);
+         } else {
+            lc_push_if_a_chunk_ptr(addr, clique, cur_clique, is_prior_definite);
          }
-         ptr += sizeof(Addr);
-      } else {
-         // We need to restore the signal mask, because we were
-         // longjmped out of a signal handler.
-         VG_(sigprocmask)(VKI_SIG_SETMASK, &sigmask, NULL);
-
-         ptr = VG_PGROUNDUP(ptr+1);     // Bad page - skip it.
+      } else if (0 && VG_DEBUG_LEAKCHECK) {
+         VG_(printf)("%#lx not valid\n", ptr);
       }
+      ptr += sizeof(Addr);
    }
 
    VG_(sigprocmask)(VKI_SIG_SETMASK, &sigmask, NULL);
@@ -793,8 +836,8 @@
 
 static Word cmp_LossRecordKey_LossRecord(const void* key, const void* elem)
 {
-   LossRecordKey* a = (LossRecordKey*)key;
-   LossRecordKey* b = &(((LossRecord*)elem)->key);
+   const LossRecordKey* a = key;
+   const LossRecordKey* b = &(((const LossRecord*)elem)->key);
 
    // Compare on states first because that's fast.
    if (a->state < b->state) return -1;
@@ -809,10 +852,10 @@
    VG_(tool_panic)("bad LossRecord comparison");
 }
 
-static Int cmp_LossRecords(void* va, void* vb)
+static Int cmp_LossRecords(const void* va, const void* vb)
 {
-   LossRecord* lr_a = *(LossRecord**)va;
-   LossRecord* lr_b = *(LossRecord**)vb;
+   const LossRecord* lr_a = *(const LossRecord *const *)va;
+   const LossRecord* lr_b = *(const LossRecord *const *)vb;
    SizeT total_szB_a = lr_a->szB + lr_a->indirect_szB;
    SizeT total_szB_b = lr_b->szB + lr_b->indirect_szB;
 
@@ -865,14 +908,8 @@
    // Rules for printing:
    // - We don't show suppressed loss records ever (and that's controlled
    //   within the error manager).
-   // - We show non-suppressed loss records that are not "reachable" if 
-   //   --leak-check=yes.
-   // - We show all non-suppressed loss records if --leak-check=yes and
-   //   --show-reachable=yes.
-   //
-   // Nb: here "reachable" means Reachable *or* IndirectLeak;  note that
-   // this is different to "still reachable" used elsewhere because it
-   // includes indirectly lost blocks!
+   // - We show non-suppressed loss records that are specified in
+   //   --show-leak-kinds=... if --leak-check=yes.
 
    Bool delta_considered;
 
@@ -895,20 +932,14 @@
       tl_assert(0);
    }
 
-   *print_record = lcp->mode == LC_Full && delta_considered &&
-      ( lcp->show_reachable ||
-        Unreached == lr->key.state || 
-        ( lcp->show_possibly_lost && 
-          Possible  == lr->key.state ) );
+   *print_record = lcp->mode == LC_Full && delta_considered 
+      && RiS(lr->key.state,lcp->show_leak_kinds);
    // We don't count a leaks as errors with lcp->mode==LC_Summary.
    // Otherwise you can get high error counts with few or no error
-   // messages, which can be confusing.  Also, you could argue that
-   // indirect leaks should be counted as errors, but it seems better to
-   // make the counting criteria similar to the printing criteria.  So we
-   // don't count them.
-   *count_as_error = lcp->mode == LC_Full && delta_considered &&
-      ( Unreached == lr->key.state || 
-        Possible  == lr->key.state );
+   // messages, which can be confusing.  Otherwise, we count as errors
+   // the leak kinds requested by --errors-for-leak-kinds=...
+   *count_as_error = lcp->mode == LC_Full && delta_considered 
+      && RiS(lr->key.state,lcp->errors_for_leak_kinds);
 }
 
 static void print_results(ThreadId tid, LeakCheckParams* lcp)
@@ -970,7 +1001,7 @@
       LossRecord*   old_lr;
       LossRecordKey lrkey;
       lrkey.state        = ex->state;
-      lrkey.allocated_at = ch->where;
+      lrkey.allocated_at = MC_(allocated_at)(ch);
 
       old_lr = VG_(OSetGen_Lookup)(lr_table, &lrkey);
       if (old_lr) {
@@ -1075,8 +1106,8 @@
    }
 
    if (VG_(clo_verbosity) > 0 && !VG_(clo_xml)) {
-      char d_bytes[20];
-      char d_blocks[20];
+      HChar d_bytes[20];
+      HChar d_blocks[20];
 
       VG_(umsg)("LEAK SUMMARY:\n");
       VG_(umsg)("   definitely lost: %'lu%s bytes in %'lu%s blocks\n",
@@ -1114,7 +1145,7 @@
                       "of leaked memory\n");
       }
       if (lcp->mode == LC_Full &&
-          MC_(blocks_reachable) > 0 && !lcp->show_reachable)
+          MC_(blocks_reachable) > 0 && !RiS(Reachable,lcp->show_leak_kinds))
       {
          VG_(umsg)("Reachable blocks (those to which a pointer "
                    "was found) are not shown.\n");
@@ -1122,7 +1153,7 @@
             VG_(umsg)("To see them, add 'reachable any' args to leak_check\n");
          else
             VG_(umsg)("To see them, rerun with: --leak-check=full "
-                      "--show-reachable=yes\n");
+                      "--show-leak-kinds=all\n");
       }
       VG_(umsg)("\n");
    }
@@ -1144,7 +1175,7 @@
          LossRecordKey ind_lrkey;
          Int lr_i;
          ind_lrkey.state = ind_ex->state;
-         ind_lrkey.allocated_at = ind_ch->where;
+         ind_lrkey.allocated_at = MC_(allocated_at)(ind_ch);
          ind_lr = VG_(OSetGen_Lookup)(lr_table, &ind_lrkey);
          for (lr_i = 0; lr_i < n_lossrecords; lr_i++)
             if (ind_lr == lr_array[lr_i])
@@ -1196,7 +1227,7 @@
       LossRecord*   old_lr;
       LossRecordKey lrkey;
       lrkey.state        = ex->state;
-      lrkey.allocated_at = ch->where;
+      lrkey.allocated_at = MC_(allocated_at)(ch);
 
       old_lr = VG_(OSetGen_Lookup)(lr_table, &lrkey);
       if (old_lr) {
@@ -1253,7 +1284,7 @@
       // memory by explicitly mapping /dev/zero.
       if (seg->kind == SkFileC 
           && (VKI_S_ISCHR(seg->mode) || VKI_S_ISBLK(seg->mode))) {
-         HChar* dev_name = VG_(am_get_filename)( (NSegment*)seg );
+         HChar* dev_name = VG_(am_get_filename)( seg );
          if (dev_name && 0 == VG_(strcmp)(dev_name, "/dev/zero")) {
             // Don't skip /dev/zero.
          } else {
@@ -1290,6 +1321,16 @@
    
    tl_assert(lcp->mode != LC_Off);
 
+   // Verify some assertions which are used in lc_scan_memory.
+   tl_assert((VKI_PAGE_SIZE % sizeof(Addr)) == 0);
+   tl_assert((SM_SIZE % sizeof(Addr)) == 0);
+   // Above two assertions are critical, while below assertion
+   // ensures that the optimisation in the loop is done in the
+   // correct order : the loop checks for (big) SM chunk skipping
+   // before checking for (smaller) page skipping.
+   tl_assert((SM_SIZE % VKI_PAGE_SIZE) == 0);
+
+
    MC_(detect_memory_leaks_last_delta_mode) = lcp->deltamode;
 
    // Get the chunks, stop if there were none.
@@ -1379,9 +1420,9 @@
          VG_(umsg)("Block 0x%lx..0x%lx overlaps with block 0x%lx..0x%lx\n",
                    start1, end1, start2, end2);
          VG_(umsg)("Blocks allocation contexts:\n"),
-         VG_(pp_ExeContext)( ch1->where);
+         VG_(pp_ExeContext)( MC_(allocated_at)(ch1));
          VG_(umsg)("\n"),
-         VG_(pp_ExeContext)( ch2->where);
+         VG_(pp_ExeContext)(  MC_(allocated_at)(ch2));
          VG_(umsg)("This is usually caused by using VALGRIND_MALLOCLIKE_BLOCK");
          VG_(umsg)("in an inappropriate way.\n");
          tl_assert (0);
@@ -1471,7 +1512,7 @@
 static Addr searched_wpa;
 static SizeT searched_szB;
 static void
-search_address_in_GP_reg(ThreadId tid, HChar* regname, Addr addr_in_reg)
+search_address_in_GP_reg(ThreadId tid, const HChar* regname, Addr addr_in_reg)
 {
    if (addr_in_reg >= searched_wpa 
        && addr_in_reg < searched_wpa + searched_szB) {
diff --git a/memcheck/mc_machine.c b/memcheck/mc_machine.c
index 66551d9..2feec79 100644
--- a/memcheck/mc_machine.c
+++ b/memcheck/mc_machine.c
@@ -9,7 +9,7 @@
    This file is part of MemCheck, a heavyweight Valgrind tool for
    detecting memory errors.
 
-   Copyright (C) 2008-2011 OpenWorks Ltd
+   Copyright (C) 2008-2012 OpenWorks Ltd
       info@open-works.co.uk
 
    This program is free software; you can redistribute it and/or
@@ -76,6 +76,16 @@
 # define MC_SIZEOF_GUEST_STATE sizeof(VexGuestARMState)
 #endif
 
+#if defined(VGA_mips32)
+# include "libvex_guest_mips32.h"
+# define MC_SIZEOF_GUEST_STATE sizeof(VexGuestMIPS32State)
+#endif
+
+#if defined(VGA_mips64)
+# include "libvex_guest_mips64.h"
+# define MC_SIZEOF_GUEST_STATE sizeof(VexGuestMIPS64State)
+#endif
+
 static inline Bool host_is_big_endian ( void ) {
    UInt x = 0x11223344;
    return 0x1122 == *(UShort*)(&x);
@@ -195,7 +205,7 @@
    if (o == GOF(IP_AT_SYSCALL) && sz == 8) return -1; /* slot unused */
    if (o == GOF(FPROUND)   && sz == 1) return -1;
    if (o == GOF(DFPROUND)  && sz == 1) return -1;
-   if (o == GOF(EMWARN)    && sz == 4) return -1;
+   if (o == GOF(EMNOTE)    && sz == 4) return -1;
    if (o == GOF(TISTART)   && sz == 8) return -1;
    if (o == GOF(TILEN)     && sz == 8) return -1;
    if (o == GOF(VSCR)      && sz == 4) return -1;
@@ -394,8 +404,9 @@
    if (o == GOF(CIA)       && sz == 4) return -1;
    if (o == GOF(IP_AT_SYSCALL) && sz == 4) return -1; /* slot unused */
    if (o == GOF(FPROUND)   && sz == 1) return -1;
+   if (o == GOF(DFPROUND)  && sz == 1) return -1;
    if (o == GOF(VRSAVE)    && sz == 4) return -1;
-   if (o == GOF(EMWARN)    && sz == 4) return -1;
+   if (o == GOF(EMNOTE)    && sz == 4) return -1;
    if (o == GOF(TISTART)   && sz == 4) return -1;
    if (o == GOF(TILEN)     && sz == 4) return -1;
    if (o == GOF(VSCR)      && sz == 4) return -1;
@@ -587,6 +598,7 @@
    if (o == GOF(GS_0x60) && sz == 8) return -1; /* slot unused */
    if (o == GOF(TISTART) && sz == 8) return -1; /* slot unused */
    if (o == GOF(TILEN)   && sz == 8) return -1; /* slot unused */
+   if (o == GOF(NRADDR)  && sz == 8) return -1; /* slot unused */
 
    /* Treat %AH, %BH, %CH, %DH as independent registers.  To do this
       requires finding 4 unused 32-bit slots in the second-shadow
@@ -606,27 +618,27 @@
    if (o == GOF(SSEROUND) && szB == 8) return -1;
    if (o == GOF(FTOP)     && szB == 4) return -1;
    if (o == GOF(FPROUND)  && szB == 8) return -1;
-   if (o == GOF(EMWARN)   && szB == 4) return -1;
+   if (o == GOF(EMNOTE)   && szB == 4) return -1;
    if (o == GOF(FC3210)   && szB == 8) return -1;
 
    /* XMM registers */
-   if (o >= GOF(XMM0)  && o+sz <= GOF(XMM0) +SZB(XMM0))  return GOF(XMM0);
-   if (o >= GOF(XMM1)  && o+sz <= GOF(XMM1) +SZB(XMM1))  return GOF(XMM1);
-   if (o >= GOF(XMM2)  && o+sz <= GOF(XMM2) +SZB(XMM2))  return GOF(XMM2);
-   if (o >= GOF(XMM3)  && o+sz <= GOF(XMM3) +SZB(XMM3))  return GOF(XMM3);
-   if (o >= GOF(XMM4)  && o+sz <= GOF(XMM4) +SZB(XMM4))  return GOF(XMM4);
-   if (o >= GOF(XMM5)  && o+sz <= GOF(XMM5) +SZB(XMM5))  return GOF(XMM5);
-   if (o >= GOF(XMM6)  && o+sz <= GOF(XMM6) +SZB(XMM6))  return GOF(XMM6);
-   if (o >= GOF(XMM7)  && o+sz <= GOF(XMM7) +SZB(XMM7))  return GOF(XMM7);
-   if (o >= GOF(XMM8)  && o+sz <= GOF(XMM8) +SZB(XMM8))  return GOF(XMM8);
-   if (o >= GOF(XMM9)  && o+sz <= GOF(XMM9) +SZB(XMM9))  return GOF(XMM9);
-   if (o >= GOF(XMM10) && o+sz <= GOF(XMM10)+SZB(XMM10)) return GOF(XMM10);
-   if (o >= GOF(XMM11) && o+sz <= GOF(XMM11)+SZB(XMM11)) return GOF(XMM11);
-   if (o >= GOF(XMM12) && o+sz <= GOF(XMM12)+SZB(XMM12)) return GOF(XMM12);
-   if (o >= GOF(XMM13) && o+sz <= GOF(XMM13)+SZB(XMM13)) return GOF(XMM13);
-   if (o >= GOF(XMM14) && o+sz <= GOF(XMM14)+SZB(XMM14)) return GOF(XMM14);
-   if (o >= GOF(XMM15) && o+sz <= GOF(XMM15)+SZB(XMM15)) return GOF(XMM15);
-   if (o >= GOF(XMM16) && o+sz <= GOF(XMM16)+SZB(XMM16)) return GOF(XMM16);
+   if (o >= GOF(YMM0)  && o+sz <= GOF(YMM0) +SZB(YMM0))  return GOF(YMM0);
+   if (o >= GOF(YMM1)  && o+sz <= GOF(YMM1) +SZB(YMM1))  return GOF(YMM1);
+   if (o >= GOF(YMM2)  && o+sz <= GOF(YMM2) +SZB(YMM2))  return GOF(YMM2);
+   if (o >= GOF(YMM3)  && o+sz <= GOF(YMM3) +SZB(YMM3))  return GOF(YMM3);
+   if (o >= GOF(YMM4)  && o+sz <= GOF(YMM4) +SZB(YMM4))  return GOF(YMM4);
+   if (o >= GOF(YMM5)  && o+sz <= GOF(YMM5) +SZB(YMM5))  return GOF(YMM5);
+   if (o >= GOF(YMM6)  && o+sz <= GOF(YMM6) +SZB(YMM6))  return GOF(YMM6);
+   if (o >= GOF(YMM7)  && o+sz <= GOF(YMM7) +SZB(YMM7))  return GOF(YMM7);
+   if (o >= GOF(YMM8)  && o+sz <= GOF(YMM8) +SZB(YMM8))  return GOF(YMM8);
+   if (o >= GOF(YMM9)  && o+sz <= GOF(YMM9) +SZB(YMM9))  return GOF(YMM9);
+   if (o >= GOF(YMM10) && o+sz <= GOF(YMM10)+SZB(YMM10)) return GOF(YMM10);
+   if (o >= GOF(YMM11) && o+sz <= GOF(YMM11)+SZB(YMM11)) return GOF(YMM11);
+   if (o >= GOF(YMM12) && o+sz <= GOF(YMM12)+SZB(YMM12)) return GOF(YMM12);
+   if (o >= GOF(YMM13) && o+sz <= GOF(YMM13)+SZB(YMM13)) return GOF(YMM13);
+   if (o >= GOF(YMM14) && o+sz <= GOF(YMM14)+SZB(YMM14)) return GOF(YMM14);
+   if (o >= GOF(YMM15) && o+sz <= GOF(YMM15)+SZB(YMM15)) return GOF(YMM15);
+   if (o >= GOF(YMM16) && o+sz <= GOF(YMM16)+SZB(YMM16)) return GOF(YMM16);
 
    /* MMX accesses to FP regs.  Need to allow for 32-bit references
       due to dirty helpers for frstor etc, which reference the entire
@@ -718,7 +730,7 @@
    if (o == GOF(SSEROUND) && szB == 4) return -1;
    if (o == GOF(FTOP)     && szB == 4) return -1;
    if (o == GOF(FPROUND)  && szB == 4) return -1;
-   if (o == GOF(EMWARN)   && szB == 4) return -1;
+   if (o == GOF(EMNOTE)   && szB == 4) return -1;
    if (o == GOF(FC3210)   && szB == 4) return -1;
 
    /* XMM registers */
@@ -794,7 +806,7 @@
 
    /* access registers are accessed 4 bytes at once */
    if (sz == 4 && o >= GOF(a0) && o <= GOF(a15))
-         return o;
+      return o;
 
    /* we access the guest counter either fully or one of the 4byte words */
    if (o == GOF(counter) && (sz == 8 || sz ==4))
@@ -802,18 +814,22 @@
    if (o == GOF(counter) + 4 && sz == 4)
       return o;
 
-   if (o == GOF(CC_OP)) return -1;
-   if (o == GOF(CC_DEP1)) return o;
-   if (o == GOF(CC_DEP2)) return o;
-   if (o == GOF(CC_NDEP)) return -1;
-   if (o == GOF(TISTART)) return -1;
-   if (o == GOF(TILEN)) return -1;
-   if (o == GOF(NRADDR)) return -1;
-   if (o == GOF(IP_AT_SYSCALL)) return -1;
-   if (o == GOF(fpc)) return -1;
-   if (o == GOF(IA)) return -1;
-   if (o == GOF(IA) + 4) return -1;
-   if (o == GOF(SYSNO)) return -1;
+   if (o == GOF(EMNOTE) && sz == 4) return -1;
+
+   if (o == GOF(CC_OP)    && sz == 8) return -1;
+   /* We access CC_DEP1 either fully or bits [0:31] */
+   if (o == GOF(CC_DEP1)  && (sz == 8 || sz ==4))
+      return o;
+   if (o == GOF(CC_DEP2)  && sz == 8) return o;
+   if (o == GOF(CC_NDEP)  && sz == 8) return -1;
+   if (o == GOF(TISTART)  && sz == 8) return -1;
+   if (o == GOF(TILEN)    && sz == 8) return -1;
+   if (o == GOF(NRADDR)   && sz == 8) return -1;
+   if (o == GOF(IP_AT_SYSCALL) && sz == 8) return -1;
+   if (o == GOF(fpc)      && sz == 4) return -1;
+   if (o == GOF(IA)       && sz == 8) return -1;
+   if (o == (GOF(IA) + 4) && sz == 4) return -1;
+   if (o == GOF(SYSNO)    && sz == 8) return -1;
    VG_(printf)("MC_(get_otrack_shadow_offset)(s390x)(off=%d,sz=%d)\n",
                offset,szB);
    tl_assert(0);
@@ -868,7 +884,7 @@
 
    //if (o == GOF(SYSCALLNO)     && sz == 4) return -1; /* slot unused */
    //if (o == GOF(CC)     && sz == 4) return -1; /* slot unused */
-   //if (o == GOF(EMWARN)     && sz == 4) return -1; /* slot unused */
+   //if (o == GOF(EMNOTE)     && sz == 4) return -1; /* slot unused */
    //if (o == GOF(TISTART)     && sz == 4) return -1; /* slot unused */
    //if (o == GOF(NRADDR)     && sz == 4) return -1; /* slot unused */
 
@@ -932,12 +948,205 @@
       if (o >= GOF(D30) && o+sz <= GOF(D30)+2*SZB(D30)) return GOF(D30); // Q15
    }
 
+   if (o == GOF(TISTART) && sz == 4) return -1;
+   if (o == GOF(TILEN)   && sz == 4) return -1;
+
    VG_(printf)("MC_(get_otrack_shadow_offset)(arm)(off=%d,sz=%d)\n",
                offset,szB);
    tl_assert(0);
 #  undef GOF
 #  undef SZB
 
+   /* --------------------- mips32 --------------------- */
+
+#  elif defined(VGA_mips32)
+
+#  define GOF(_fieldname) \
+      (offsetof(VexGuestMIPS32State,guest_##_fieldname))
+#  define SZB(_fieldname) \
+      (sizeof(((VexGuestMIPS32State*)0)->guest_##_fieldname))
+
+   Int  o     = offset;
+   Int  sz    = szB;
+   tl_assert(sz > 0);
+#  if defined (VG_LITTLEENDIAN)
+   tl_assert(host_is_little_endian());
+#  elif defined (VG_BIGENDIAN)
+   tl_assert(host_is_big_endian());
+#  else
+#     error "Unknown endianness"
+#  endif
+
+   if (o == GOF(r0)  && sz == 4) return o;
+   if (o == GOF(r1)  && sz == 4) return o;
+   if (o == GOF(r2)  && sz == 4) return o;
+   if (o == GOF(r3)  && sz == 4) return o;
+   if (o == GOF(r4)  && sz == 4) return o;
+   if (o == GOF(r5)  && sz == 4) return o;
+   if (o == GOF(r6)  && sz == 4) return o;
+   if (o == GOF(r7)  && sz == 4) return o;
+   if (o == GOF(r8)  && sz == 4) return o;
+   if (o == GOF(r9)  && sz == 4) return o;
+   if (o == GOF(r10)  && sz == 4) return o;
+   if (o == GOF(r11)  && sz == 4) return o;
+   if (o == GOF(r12)  && sz == 4) return o;
+   if (o == GOF(r13)  && sz == 4) return o;
+   if (o == GOF(r14)  && sz == 4) return o;
+   if (o == GOF(r15)  && sz == 4) return o;
+   if (o == GOF(r16)  && sz == 4) return o;
+   if (o == GOF(r17)  && sz == 4) return o;
+   if (o == GOF(r18)  && sz == 4) return o;
+   if (o == GOF(r19)  && sz == 4) return o;
+   if (o == GOF(r20)  && sz == 4) return o;
+   if (o == GOF(r21)  && sz == 4) return o;
+   if (o == GOF(r22)  && sz == 4) return o;
+   if (o == GOF(r23)  && sz == 4) return o;
+   if (o == GOF(r24)  && sz == 4) return o;
+   if (o == GOF(r25)  && sz == 4) return o;
+   if (o == GOF(r26)  && sz == 4) return o;
+   if (o == GOF(r27)  && sz == 4) return o;
+   if (o == GOF(r28)  && sz == 4) return o;
+   if (o == GOF(r29)  && sz == 4) return o;
+   if (o == GOF(r30)  && sz == 4) return o;
+   if (o == GOF(r31)  && sz == 4) return o;
+   if (o == GOF(PC)  && sz == 4) return -1; /* slot unused */
+
+   if (o == GOF(HI)  && sz == 4) return o;
+   if (o == GOF(LO)  && sz == 4) return o;
+
+   if (o == GOF(FIR)     && sz == 4) return -1; /* slot unused */
+   if (o == GOF(FCCR)     && sz == 4) return -1; /* slot unused */
+   if (o == GOF(FEXR)     && sz == 4) return -1; /* slot unused */
+   if (o == GOF(FENR)     && sz == 4) return -1; /* slot unused */
+   if (o == GOF(FCSR)     && sz == 4) return -1; /* slot unused */
+   if (o == GOF(ULR) && sz == 4) return -1;
+
+   if (o == GOF(EMNOTE)     && sz == 4) return -1; /* slot unused */
+   if (o == GOF(TISTART)     && sz == 4) return -1; /* slot unused */
+   if (o == GOF(TILEN)     && sz == 4) return -1; /* slot unused */
+   if (o == GOF(NRADDR)     && sz == 4) return -1; /* slot unused */
+
+   if (o >= GOF(f0)  && o+sz <= GOF(f0) +SZB(f0))  return GOF(f0);
+   if (o >= GOF(f1)  && o+sz <= GOF(f1) +SZB(f1))  return GOF(f1);
+   if (o >= GOF(f2)  && o+sz <= GOF(f2) +SZB(f2))  return GOF(f2);
+   if (o >= GOF(f3)  && o+sz <= GOF(f3) +SZB(f3))  return GOF(f3);
+   if (o >= GOF(f4)  && o+sz <= GOF(f4) +SZB(f4))  return GOF(f4);
+   if (o >= GOF(f5)  && o+sz <= GOF(f5) +SZB(f5))  return GOF(f5);
+   if (o >= GOF(f6)  && o+sz <= GOF(f6) +SZB(f6))  return GOF(f6);
+   if (o >= GOF(f7)  && o+sz <= GOF(f7) +SZB(f7))  return GOF(f7);
+   if (o >= GOF(f8)  && o+sz <= GOF(f8) +SZB(f8))  return GOF(f8);
+   if (o >= GOF(f9)  && o+sz <= GOF(f9) +SZB(f9))  return GOF(f9);
+   if (o >= GOF(f10) && o+sz <= GOF(f10)+SZB(f10)) return GOF(f10);
+   if (o >= GOF(f11) && o+sz <= GOF(f11)+SZB(f11)) return GOF(f11);
+   if (o >= GOF(f12) && o+sz <= GOF(f12)+SZB(f12)) return GOF(f12);
+   if (o >= GOF(f13) && o+sz <= GOF(f13)+SZB(f13)) return GOF(f13);
+   if (o >= GOF(f14) && o+sz <= GOF(f14)+SZB(f14)) return GOF(f14);
+   if (o >= GOF(f15) && o+sz <= GOF(f15)+SZB(f15)) return GOF(f15);
+
+   if (o >= GOF(f16) && o+sz <= GOF(f16)+SZB(f16)) return GOF(f16);
+   if (o >= GOF(f17)  && o+sz <= GOF(f17) +SZB(f17))  return GOF(f17);
+   if (o >= GOF(f18)  && o+sz <= GOF(f18) +SZB(f18))  return GOF(f18);
+   if (o >= GOF(f19)  && o+sz <= GOF(f19) +SZB(f19))  return GOF(f19);
+   if (o >= GOF(f20)  && o+sz <= GOF(f20) +SZB(f20))  return GOF(f20);
+   if (o >= GOF(f21)  && o+sz <= GOF(f21) +SZB(f21))  return GOF(f21);
+   if (o >= GOF(f22)  && o+sz <= GOF(f22) +SZB(f22))  return GOF(f22);
+   if (o >= GOF(f23)  && o+sz <= GOF(f23) +SZB(f23))  return GOF(f23);
+   if (o >= GOF(f24)  && o+sz <= GOF(f24) +SZB(f24))  return GOF(f24);
+   if (o >= GOF(f25)  && o+sz <= GOF(f25) +SZB(f25))  return GOF(f25);
+   if (o >= GOF(f26) && o+sz <= GOF(f26)+SZB(f26)) return GOF(f26);
+   if (o >= GOF(f27) && o+sz <= GOF(f27)+SZB(f27)) return GOF(f27);
+   if (o >= GOF(f28) && o+sz <= GOF(f28)+SZB(f28)) return GOF(f28);
+   if (o >= GOF(f29) && o+sz <= GOF(f29)+SZB(f29)) return GOF(f29);
+   if (o >= GOF(f30) && o+sz <= GOF(f30)+SZB(f30)) return GOF(f30);
+   if (o >= GOF(f31) && o+sz <= GOF(f31)+SZB(f31)) return GOF(f31);
+
+   if ((o > GOF(NRADDR)) && (o <= GOF(NRADDR) +12 )) return -1; /*padding registers*/
+
+   VG_(printf)("MC_(get_otrack_shadow_offset)(mips)(off=%d,sz=%d)\n",
+               offset,szB);
+   tl_assert(0);
+#  undef GOF
+#  undef SZB
+
+   /* --------------------- mips64 --------------------- */
+
+#  elif defined(VGA_mips64)
+
+#  define GOF(_fieldname) \
+      (offsetof(VexGuestMIPS64State,guest_##_fieldname))
+#  define SZB(_fieldname) \
+      (sizeof(((VexGuestMIPS64State*)0)->guest_##_fieldname))
+
+   Int  o     = offset;
+   Int  sz    = szB;
+   tl_assert(sz > 0);
+#if defined (VG_LITTLEENDIAN)
+   tl_assert(host_is_little_endian());
+#elif defined (VG_BIGENDIAN)
+   tl_assert(host_is_big_endian());
+#endif
+
+   if (o >= GOF(r0) && sz <= 8 && o <= (GOF(r31) + 8 - sz))
+      return GOF(r0) + ((o-GOF(r0)) & -8) ;
+
+   if (o == GOF(PC) && sz == 8) return -1;  /* slot unused */
+
+   if (o == GOF(HI) && sz == 8) return o;
+   if (o == GOF(LO) && sz == 8) return o;
+
+   if (o == GOF(FIR)  && sz == 4) return -1;  /* slot unused */
+   if (o == GOF(FCCR) && sz == 4) return -1;  /* slot unused */
+   if (o == GOF(FEXR) && sz == 4) return -1;  /* slot unused */
+   if (o == GOF(FENR) && sz == 4) return -1;  /* slot unused */
+   if (o == GOF(FCSR) && sz == 4) return -1;  /* slot unused */
+   if (o == GOF(ULR)  && sz == 8) return o;
+
+   if (o == GOF(EMNOTE)  && sz == 4) return -1;  /* slot unused */
+   if (o == GOF(TISTART) && sz == 4) return -1;  /* slot unused */
+   if (o == GOF(TILEN)   && sz == 4) return -1;  /* slot unused */
+   if (o == GOF(NRADDR)  && sz == 4) return -1;  /* slot unused */
+
+   if (o >= GOF(f0)  && o+sz <= GOF(f0) +SZB(f0))  return GOF(f0);
+   if (o >= GOF(f1)  && o+sz <= GOF(f1) +SZB(f1))  return GOF(f1);
+   if (o >= GOF(f2)  && o+sz <= GOF(f2) +SZB(f2))  return GOF(f2);
+   if (o >= GOF(f3)  && o+sz <= GOF(f3) +SZB(f3))  return GOF(f3);
+   if (o >= GOF(f4)  && o+sz <= GOF(f4) +SZB(f4))  return GOF(f4);
+   if (o >= GOF(f5)  && o+sz <= GOF(f5) +SZB(f5))  return GOF(f5);
+   if (o >= GOF(f6)  && o+sz <= GOF(f6) +SZB(f6))  return GOF(f6);
+   if (o >= GOF(f7)  && o+sz <= GOF(f7) +SZB(f7))  return GOF(f7);
+   if (o >= GOF(f8)  && o+sz <= GOF(f8) +SZB(f8))  return GOF(f8);
+   if (o >= GOF(f9)  && o+sz <= GOF(f9) +SZB(f9))  return GOF(f9);
+   if (o >= GOF(f10) && o+sz <= GOF(f10)+SZB(f10)) return GOF(f10);
+   if (o >= GOF(f11) && o+sz <= GOF(f11)+SZB(f11)) return GOF(f11);
+   if (o >= GOF(f12) && o+sz <= GOF(f12)+SZB(f12)) return GOF(f12);
+   if (o >= GOF(f13) && o+sz <= GOF(f13)+SZB(f13)) return GOF(f13);
+   if (o >= GOF(f14) && o+sz <= GOF(f14)+SZB(f14)) return GOF(f14);
+   if (o >= GOF(f15) && o+sz <= GOF(f15)+SZB(f15)) return GOF(f15);
+   if (o >= GOF(f16) && o+sz <= GOF(f16)+SZB(f16)) return GOF(f16);
+   if (o >= GOF(f17) && o+sz <= GOF(f17)+SZB(f17)) return GOF(f17);
+   if (o >= GOF(f18) && o+sz <= GOF(f18)+SZB(f18)) return GOF(f18);
+   if (o >= GOF(f19) && o+sz <= GOF(f19)+SZB(f19)) return GOF(f19);
+   if (o >= GOF(f20) && o+sz <= GOF(f20)+SZB(f20)) return GOF(f20);
+   if (o >= GOF(f21) && o+sz <= GOF(f21)+SZB(f21)) return GOF(f21);
+   if (o >= GOF(f22) && o+sz <= GOF(f22)+SZB(f22)) return GOF(f22);
+   if (o >= GOF(f23) && o+sz <= GOF(f23)+SZB(f23)) return GOF(f23);
+   if (o >= GOF(f24) && o+sz <= GOF(f24)+SZB(f24)) return GOF(f24);
+   if (o >= GOF(f25) && o+sz <= GOF(f25)+SZB(f25)) return GOF(f25);
+   if (o >= GOF(f26) && o+sz <= GOF(f26)+SZB(f26)) return GOF(f26);
+   if (o >= GOF(f27) && o+sz <= GOF(f27)+SZB(f27)) return GOF(f27);
+   if (o >= GOF(f28) && o+sz <= GOF(f28)+SZB(f28)) return GOF(f28);
+   if (o >= GOF(f29) && o+sz <= GOF(f29)+SZB(f29)) return GOF(f29);
+   if (o >= GOF(f30) && o+sz <= GOF(f30)+SZB(f30)) return GOF(f30);
+   if (o >= GOF(f31) && o+sz <= GOF(f31)+SZB(f31)) return GOF(f31);
+
+   if ((o > GOF(NRADDR)) && (o <= GOF(NRADDR) +12 )) return -1;
+
+   VG_(printf)("MC_(get_otrack_shadow_offset)(mips)(off=%d,sz=%d)\n",
+               offset,szB);
+   tl_assert(0);
+#  undef GOF
+#  undef SZB
+
 #  else
 #    error "FIXME: not implemented for this architecture"
 #  endif
@@ -1021,7 +1230,6 @@
 
    /* --------------------- arm --------------------- */
 #  elif defined(VGA_arm)
-
    VG_(printf)("get_reg_array_equiv_int_type(arm): unhandled: ");
    ppIRRegArray(arr);
    VG_(printf)("\n");
@@ -1032,6 +1240,20 @@
    /* Should never het here because s390x does not use Ist_PutI
       and Iex_GetI. */
    tl_assert(0);
+
+/* --------------------- mips32 --------------------- */
+#  elif defined(VGA_mips32)
+   VG_(printf)("get_reg_array_equiv_int_type(mips32): unhandled: ");
+   ppIRRegArray(arr);
+   VG_(printf)("\n");
+   tl_assert(0);
+
+   /* --------------------- mips64 --------------------- */
+#  elif defined(VGA_mips64)
+   VG_(printf)("get_reg_array_equiv_int_type(mips64): unhandled: ");
+   ppIRRegArray(arr);
+   VG_(printf)("\n");
+   tl_assert(0);
 #  else
 #    error "FIXME: not implemented for this architecture"
 #  endif
diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c
index 5675bde..1f6328b 100644
--- a/memcheck/mc_main.c
+++ b/memcheck/mc_main.c
@@ -9,7 +9,7 @@
    This file is part of MemCheck, a heavyweight Valgrind tool for
    detecting memory errors.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -50,15 +50,6 @@
 #include "memcheck.h"   /* for client requests */
 
 
-/* We really want this frame-pointer-less on all platforms, since the
-   helper functions are small and called very frequently.  By default
-   on x86-linux, though, Makefile.all.am doesn't specify it, so do it
-   here.  Requires gcc >= 4.4, unfortunately. */
-#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)
-# pragma GCC optimize("-fomit-frame-pointer")
-#endif
-
-
 /* Set to 1 to do a little more sanity checking */
 #define VG_DEBUG_MEMORY 0
 
@@ -176,10 +167,10 @@
 
 #else
 
-/* Just handle the first 32G fast and the rest via auxiliary
+/* Just handle the first 64G fast and the rest via auxiliary
    primaries.  If you change this, Memcheck will assert at startup.
    See the definition of UNALIGNED_OR_HIGH for extensive comments. */
-#  define N_PRIMARY_BITS  19
+#  define N_PRIMARY_BITS  20
 
 #endif
 
@@ -419,7 +410,7 @@
    non-distinguished secondary maps referred to from the auxiliary
    primary maps. */
 
-static HChar* check_auxmap_L1_L2_sanity ( Word* n_secmaps_found )
+static const HChar* check_auxmap_L1_L2_sanity ( Word* n_secmaps_found )
 {
    Word i, j;
    /* On a 32-bit platform, the L2 and L1 tables should
@@ -975,7 +966,7 @@
    secVBitTable = secVBitTable2;
 
    if (VG_(clo_verbosity) > 1) {
-      Char percbuf[7];
+      HChar percbuf[7];
       VG_(percentify)(n_survivors, n_nodes, 1, 6, percbuf);
       VG_(message)(Vg_DebugMsg, "memcheck GC: %d nodes, %d survivors (%s)\n",
                    n_nodes, n_survivors, percbuf);
@@ -1091,7 +1082,7 @@
 
 /* Parse two Addr separated by a dash, or fail. */
 
-static Bool parse_range ( UChar** ppc, Addr* result1, Addr* result2 )
+static Bool parse_range ( const HChar** ppc, Addr* result1, Addr* result2 )
 {
    Bool ok = VG_(parse_Addr) (ppc, result1);
    if (!ok)
@@ -1108,12 +1099,12 @@
 /* Parse a set of ranges separated by commas into 'ignoreRanges', or
    fail. */
 
-static Bool parse_ignore_ranges ( UChar* str0 )
+static Bool parse_ignore_ranges ( const HChar* str0 )
 {
    Addr start, end;
    Bool ok;
-   UChar*  str = str0;
-   UChar** ppc = &str;
+   const HChar*  str = str0;
+   const HChar** ppc = &str;
    ignoreRanges.used = 0;
    while (1) {
       ok = parse_range(ppc, &start, &end);
@@ -1382,7 +1373,7 @@
 
    if (lenT > 256 * 1024 * 1024) {
       if (VG_(clo_verbosity) > 0 && !VG_(clo_xml)) {
-         Char* s = "unknown???";
+         const HChar* s = "unknown???";
          if (vabits16 == VA_BITS16_NOACCESS ) s = "noaccess";
          if (vabits16 == VA_BITS16_UNDEFINED) s = "undefined";
          if (vabits16 == VA_BITS16_DEFINED  ) s = "defined";
@@ -1532,7 +1523,8 @@
          PROF_EVENT(160, "set_address_range_perms-loop64K-free-dist-sm");
          // Free the non-distinguished sec-map that we're replacing.  This
          // case happens moderately often, enough to be worthwhile.
-         VG_(am_munmap_valgrind)((Addr)*sm_ptr, sizeof(SecMap));
+         SysRes sres = VG_(am_munmap_valgrind)((Addr)*sm_ptr, sizeof(SecMap));
+         tl_assert2(! sr_isError(sres), "SecMap valgrind munmap failure\n");
       }
       update_SM_counts(*sm_ptr, example_dsm);
       // Make the sec-map entry point to the example DSM
@@ -1630,10 +1622,16 @@
 }
 
 static
-void make_mem_undefined_w_tid ( Addr a, SizeT len, ThreadId tid ) {
+void mc_new_mem_w_tid_make_ECU  ( Addr a, SizeT len, ThreadId tid )
+{
    make_mem_undefined_w_tid_and_okind ( a, len, tid, MC_OKIND_UNKNOWN );
 }
 
+static
+void mc_new_mem_w_tid_no_ECU  ( Addr a, SizeT len, ThreadId tid )
+{
+   MC_(make_mem_undefined_w_otag) ( a, len, MC_OKIND_UNKNOWN );
+}
 
 void MC_(make_mem_defined) ( Addr a, SizeT len )
 {
@@ -2198,7 +2196,7 @@
 
 static OSet* ocacheL2 = NULL;
 
-static void* ocacheL2_malloc ( HChar* cc, SizeT szB ) {
+static void* ocacheL2_malloc ( const HChar* cc, SizeT szB ) {
    return VG_(malloc)(cc, szB);
 }
 static void ocacheL2_free ( void* v ) {
@@ -3731,7 +3729,7 @@
 /*------------------------------------------------------------*/
 
 static
-void check_mem_is_addressable ( CorePart part, ThreadId tid, Char* s,
+void check_mem_is_addressable ( CorePart part, ThreadId tid, const HChar* s,
                                 Addr base, SizeT size )
 {
    Addr bad_addr;
@@ -3755,7 +3753,7 @@
 }
 
 static
-void check_mem_is_defined ( CorePart part, ThreadId tid, Char* s,
+void check_mem_is_defined ( CorePart part, ThreadId tid, const HChar* s,
                             Addr base, SizeT size )
 {     
    UInt otag = 0;
@@ -3789,7 +3787,7 @@
 
 static
 void check_mem_is_defined_asciiz ( CorePart part, ThreadId tid,
-                                   Char* s, Addr str )
+                                   const HChar* s, Addr str )
 {
    MC_ReadResult res;
    Addr bad_addr = 0;   // shut GCC up
@@ -3951,7 +3949,7 @@
 static void mc_post_reg_write ( CorePart part, ThreadId tid, 
                                 PtrdiffT offset, SizeT size)
 {
-#  define MAX_REG_WRITE_SIZE 1680
+#  define MAX_REG_WRITE_SIZE 1696
    UChar area[MAX_REG_WRITE_SIZE];
    tl_assert(size <= MAX_REG_WRITE_SIZE);
    VG_(memset)(area, V_BITS8_DEFINED, size);
@@ -3970,7 +3968,7 @@
    [offset, offset+len).  If any part of that is undefined, record 
    a parameter error.
 */
-static void mc_pre_reg_read ( CorePart part, ThreadId tid, Char* s, 
+static void mc_pre_reg_read ( CorePart part, ThreadId tid, const HChar* s, 
                               PtrdiffT offset, SizeT size)
 {
    Int   i;
@@ -4652,8 +4650,7 @@
 Bool MC_(is_within_valid_secondary) ( Addr a )
 {
    SecMap* sm = maybe_get_secmap_for ( a );
-   if (sm == NULL || sm == &sm_distinguished[SM_DIST_NOACCESS]
-       || MC_(in_ignored_range)(a)) {
+   if (sm == NULL || sm == &sm_distinguished[SM_DIST_NOACCESS]) {
       /* Definitely not in use. */
       return False;
    } else {
@@ -4668,12 +4665,16 @@
 {
    tl_assert(sizeof(UWord) == 4 || sizeof(UWord) == 8);
    tl_assert(VG_IS_WORD_ALIGNED(a));
-   if (is_mem_defined( a, sizeof(UWord), NULL, NULL) == MC_Ok
-       && !MC_(in_ignored_range)(a)) {
-      return True;
-   } else {
+   if (get_vabits8_for_aligned_word32 (a) != VA_BITS8_DEFINED)
       return False;
+   if (sizeof(UWord) == 8) {
+      if (get_vabits8_for_aligned_word32 (a + 4) != VA_BITS8_DEFINED)
+         return False;
    }
+   if (UNLIKELY(MC_(in_ignored_range)(a)))
+      return False;
+   else
+      return True;
 }
 
 
@@ -4738,7 +4739,7 @@
    Int     i;
    Word    n_secmaps_found;
    SecMap* sm;
-   HChar*  errmsg;
+   const HChar*  errmsg;
    Bool    bad = False;
 
    if (0) VG_(printf)("expensive sanity check\n");
@@ -4830,21 +4831,24 @@
 /*--- Command line args                                    ---*/
 /*------------------------------------------------------------*/
 
+
 Bool          MC_(clo_partial_loads_ok)       = False;
 Long          MC_(clo_freelist_vol)           = 20*1000*1000LL;
 Long          MC_(clo_freelist_big_blocks)    =  1*1000*1000LL;
 LeakCheckMode MC_(clo_leak_check)             = LC_Summary;
 VgRes         MC_(clo_leak_resolution)        = Vg_HighRes;
-Bool          MC_(clo_show_reachable)         = False;
-Bool          MC_(clo_show_possibly_lost)     = True;
+UInt          MC_(clo_show_leak_kinds)        = R2S(Possible) | R2S(Unreached);
+UInt          MC_(clo_error_for_leak_kinds)   = R2S(Possible) | R2S(Unreached);
 Bool          MC_(clo_workaround_gcc296_bugs) = False;
 Int           MC_(clo_malloc_fill)            = -1;
 Int           MC_(clo_free_fill)              = -1;
+KeepStacktraces MC_(clo_keep_stacktraces)     = KS_alloc_then_free;
 Int           MC_(clo_mc_level)               = 2;
 
-static Bool mc_process_cmd_line_options(Char* arg)
+static Bool mc_process_cmd_line_options(const HChar* arg)
 {
-   Char* tmp_str;
+   const HChar* tmp_str;
+   Int   tmp_show;
 
    tl_assert( MC_(clo_mc_level) >= 1 && MC_(clo_mc_level) <= 3 );
 
@@ -4884,10 +4888,29 @@
       }
    }
 
-	if VG_BOOL_CLO(arg, "--partial-loads-ok", MC_(clo_partial_loads_ok)) {}
-   else if VG_BOOL_CLO(arg, "--show-reachable",   MC_(clo_show_reachable))   {}
-   else if VG_BOOL_CLO(arg, "--show-possibly-lost",
-                                            MC_(clo_show_possibly_lost))     {}
+        if VG_BOOL_CLO(arg, "--partial-loads-ok", MC_(clo_partial_loads_ok)) {}
+   else if VG_STR_CLO(arg, "--errors-for-leak-kinds" , tmp_str) {
+      if (!MC_(parse_leak_kinds)(tmp_str, &MC_(clo_error_for_leak_kinds)))
+         return False;
+   }
+   else if VG_STR_CLO(arg, "--show-leak-kinds", tmp_str) {
+      if (!MC_(parse_leak_kinds)(tmp_str, &MC_(clo_show_leak_kinds)))
+         return False;
+   }
+   else if (VG_BOOL_CLO(arg, "--show-reachable", tmp_show)) {
+      if (tmp_show) {
+         MC_(clo_show_leak_kinds) = RallS;
+      } else {
+         MC_(clo_show_leak_kinds) &= ~R2S(Reachable);
+      }
+   }
+   else if VG_BOOL_CLO(arg, "--show-possibly-lost", tmp_show) {
+      if (tmp_show) {
+         MC_(clo_show_leak_kinds) |= R2S(Possible);
+      } else {
+         MC_(clo_show_leak_kinds) &= ~R2S(Possible);
+      }
+   }
    else if VG_BOOL_CLO(arg, "--workaround-gcc296-bugs",
                                             MC_(clo_workaround_gcc296_bugs)) {}
 
@@ -4945,6 +4968,17 @@
    else if VG_BHEX_CLO(arg, "--malloc-fill", MC_(clo_malloc_fill), 0x00,0xFF) {}
    else if VG_BHEX_CLO(arg, "--free-fill",   MC_(clo_free_fill),   0x00,0xFF) {}
 
+   else if VG_XACT_CLO(arg, "--keep-stacktraces=alloc",
+                       MC_(clo_keep_stacktraces), KS_alloc) {}
+   else if VG_XACT_CLO(arg, "--keep-stacktraces=free",
+                       MC_(clo_keep_stacktraces), KS_free) {}
+   else if VG_XACT_CLO(arg, "--keep-stacktraces=alloc-and-free",
+                       MC_(clo_keep_stacktraces), KS_alloc_and_free) {}
+   else if VG_XACT_CLO(arg, "--keep-stacktraces=alloc-then-free",
+                       MC_(clo_keep_stacktraces), KS_alloc_then_free) {}
+   else if VG_XACT_CLO(arg, "--keep-stacktraces=none",
+                       MC_(clo_keep_stacktraces), KS_none) {}
+
    else
       return VG_(replacement_malloc_process_cmd_line_option)(arg);
 
@@ -4961,18 +4995,27 @@
    VG_(printf)(
 "    --leak-check=no|summary|full     search for memory leaks at exit?  [summary]\n"
 "    --leak-resolution=low|med|high   differentiation of leak stack traces [high]\n"
-"    --show-reachable=no|yes          show reachable blocks in leak check? [no]\n"
-"    --show-possibly-lost=no|yes      show possibly lost blocks in leak check?\n"
-"                                     [yes]\n"
+"    --show-leak-kinds=kind1,kind2,.. which leak kinds to show?\n"
+"                                            [definite,possible]\n"
+"    --errors-for-leak-kinds=kind1,kind2,..  which leak kinds are errors?\n"
+"                                            [definite,possible]\n"
+"        where kind is one of definite indirect possible reachable all none\n"
+"    --show-reachable=yes             same as --show-leak-kinds=all\n"
+"    --show-reachable=no --show-possibly-lost=yes\n"
+"                                     same as --show-leak-kinds=definite,possible\n"
+"    --show-reachable=no --show-possibly-lost=no\n"
+"                                     same as --show-leak-kinds=definite\n"
 "    --undef-value-errors=no|yes      check for undefined value errors [yes]\n"
 "    --track-origins=no|yes           show origins of undefined values? [no]\n"
 "    --partial-loads-ok=no|yes        too hard to explain here; see manual [no]\n"
-"    --freelist-vol=<number>          volume of freed blocks queue      [20000000]\n"
-"    --freelist-big-blocks=<number>   releases first blocks with size >= [1000000]\n"
+"    --freelist-vol=<number>          volume of freed blocks queue     [20000000]\n"
+"    --freelist-big-blocks=<number>   releases first blocks with size>= [1000000]\n"
 "    --workaround-gcc296-bugs=no|yes  self explanatory [no]\n"
 "    --ignore-ranges=0xPP-0xQQ[,0xRR-0xSS]   assume given addresses are OK\n"
 "    --malloc-fill=<hexnumber>        fill malloc'd areas with given value\n"
 "    --free-fill=<hexnumber>          fill free'd areas with given value\n"
+"    --keep-stacktraces=alloc|free|alloc-and-free|alloc-then-free|none\n"
+"        stack trace(s) to keep for malloc'd/free'd areas       [alloc-then-free]\n"
    );
 }
 
@@ -5086,12 +5129,15 @@
 "  check_memory [addressable|defined] <addr> [<len>]\n"
 "        check that <len> (or 1) bytes at <addr> have the given accessibility\n"
 "            and outputs a description of <addr>\n"
-"  leak_check [full*|summary] [reachable|possibleleak*|definiteleak]\n"
+"  leak_check [full*|summary]\n"
+"                [kinds kind1,kind2,...|reachable|possibleleak*|definiteleak]\n"
 "                [increased*|changed|any]\n"
 "                [unlimited*|limited <max_loss_records_output>]\n"
 "            * = defaults\n"
+"        where kind is one of definite indirect possible reachable all none\n"
 "        Examples: leak_check\n"
 "                  leak_check summary any\n"
+"                  leak_check full kinds indirect,possible\n"
 "                  leak_check full reachable any limited 100\n"
 "  block_list <loss_record_nr>\n"
 "        after a leak search, shows the list of blocks of <loss_record_nr>\n"
@@ -5103,11 +5149,11 @@
 }
 
 /* return True if request recognised, False otherwise */
-static Bool handle_gdb_monitor_command (ThreadId tid, Char *req)
+static Bool handle_gdb_monitor_command (ThreadId tid, HChar *req)
 {
-   Char* wcmd;
-   Char s[VG_(strlen(req))]; /* copy for strtok_r */
-   Char *ssaveptr;
+   HChar* wcmd;
+   HChar s[VG_(strlen(req))]; /* copy for strtok_r */
+   HChar *ssaveptr;
 
    VG_(strcpy) (s, req);
 
@@ -5165,11 +5211,11 @@
    case  2: { /* leak_check */
       Int err = 0;
       LeakCheckParams lcp;
-      Char* kw;
+      HChar* kw;
       
       lcp.mode               = LC_Full;
-      lcp.show_reachable     = False;
-      lcp.show_possibly_lost = True;
+      lcp.show_leak_kinds    = R2S(Possible) | R2S(Unreached);
+      lcp.errors_for_leak_kinds = 0; /* no errors for interactive leak search. */
       lcp.deltamode          = LCD_Increased;
       lcp.max_loss_records_output = 999999999;
       lcp.requested_by_monitor_command = True;
@@ -5179,7 +5225,7 @@
            kw = VG_(strtok_r) (NULL, " ", &ssaveptr)) {
          switch (VG_(keyword_id) 
                  ("full summary "
-                  "reachable possibleleak definiteleak "
+                  "kinds reachable possibleleak definiteleak "
                   "increased changed any "
                   "unlimited limited ",
                   kw, kwd_report_all)) {
@@ -5189,33 +5235,45 @@
             lcp.mode = LC_Full; break;
          case  1: /* summary */
             lcp.mode = LC_Summary; break;
-         case  2: /* reachable */
-            lcp.show_reachable = True; 
-            lcp.show_possibly_lost = True; break;
-         case  3: /* possibleleak */
-            lcp.show_reachable = False;
-            lcp.show_possibly_lost = True; break;
-         case  4: /* definiteleak */
-            lcp.show_reachable = False;
-            lcp.show_possibly_lost = False; break;
-         case  5: /* increased */
+         case  2: { /* kinds */
+            wcmd = VG_(strtok_r) (NULL, " ", &ssaveptr);
+            if (wcmd == NULL || !MC_(parse_leak_kinds)(wcmd,
+                                                       &lcp.show_leak_kinds)) {
+               VG_(gdb_printf) ("missing or malformed leak kinds set\n");
+               err++;
+            }
+            break;
+         }
+         case  3: /* reachable */
+            lcp.show_leak_kinds = RallS;
+            break;
+         case  4: /* possibleleak */
+            lcp.show_leak_kinds 
+               = R2S(Possible) | R2S(IndirectLeak) | R2S(Unreached);
+            break;
+         case  5: /* definiteleak */
+            lcp.show_leak_kinds = R2S(Unreached);
+            break;
+         case  6: /* increased */
             lcp.deltamode = LCD_Increased; break;
-         case  6: /* changed */
+         case  7: /* changed */
             lcp.deltamode = LCD_Changed; break;
-         case  7: /* any */
+         case  8: /* any */
             lcp.deltamode = LCD_Any; break;
-         case  8: /* unlimited */
+         case  9: /* unlimited */
             lcp.max_loss_records_output = 999999999; break;
-         case  9: { /* limited */
-            int int_value;
-            char* endptr;
+         case 10: { /* limited */
+            Int int_value;
+            const HChar* endptr;
 
             wcmd = VG_(strtok_r) (NULL, " ", &ssaveptr);
             if (wcmd == NULL) {
                int_value = 0;
                endptr = "empty"; /* to report an error below */
             } else {
-               int_value = VG_(strtoll10) (wcmd, (Char **)&endptr);
+               HChar *the_end;
+               int_value = VG_(strtoll10) (wcmd, &the_end);
+               endptr = the_end;
             }
             if (*endptr != '\0')
                VG_(gdb_printf) ("missing or malformed integer value\n");
@@ -5238,7 +5296,7 @@
    case  3: { /* make_memory */
       Addr address;
       SizeT szB = 1;
-      int kwdid = VG_(keyword_id) 
+      Int kwdid = VG_(keyword_id) 
          ("noaccess undefined defined Definedifaddressable",
           VG_(strtok_r) (NULL, " ", &ssaveptr), kwd_report_all);
       VG_(strtok_get_address_and_size) (&address, &szB, &ssaveptr);
@@ -5261,13 +5319,13 @@
       SizeT szB = 1;
       Addr bad_addr;
       UInt okind;
-      char* src;
+      const HChar* src;
       UInt otag;
       UInt ecu;
       ExeContext* origin_ec;
       MC_ReadResult res;
 
-      int kwdid = VG_(keyword_id) 
+      Int kwdid = VG_(keyword_id) 
          ("addressable defined",
           VG_(strtok_r) (NULL, " ", &ssaveptr), kwd_report_all);
       VG_(strtok_get_address_and_size) (&address, &szB, &ssaveptr);
@@ -5324,13 +5382,14 @@
    }
 
    case  5: { /* block_list */
-      Char* wl;
-      Char *endptr;
+      HChar* wl;
+      HChar *endptr;
       UInt lr_nr = 0;
       wl = VG_(strtok_r) (NULL, " ", &ssaveptr);
-      lr_nr = VG_(strtoull10) (wl, &endptr);
-      if (wl != NULL && *endptr != '\0') {
-         VG_(gdb_printf) ("malformed integer\n");
+      if (wl != NULL)
+         lr_nr = VG_(strtoull10) (wl, &endptr);
+      if (wl == NULL || *endptr != '\0') {
+         VG_(gdb_printf) ("malformed or missing integer\n");
       } else {
          // lr_nr-1 as what is shown to the user is 1 more than the index in lr_array.
          if (lr_nr == 0 || ! MC_(print_block_list) (lr_nr-1))
@@ -5436,8 +5495,8 @@
             lcp.mode = LC_Full;
          }
           
-         lcp.show_reachable = MC_(clo_show_reachable);
-         lcp.show_possibly_lost = MC_(clo_show_possibly_lost);
+         lcp.show_leak_kinds = MC_(clo_show_leak_kinds);
+         lcp.errors_for_leak_kinds = MC_(clo_error_for_leak_kinds);
 
          if (arg[2] == 0)
             lcp.deltamode = LCD_Any;
@@ -5486,7 +5545,7 @@
             /* VG_(printf)("allocated %d %p\n", i, cgbs); */
             cgbs[i].start = arg[1];
             cgbs[i].size  = arg[2];
-            cgbs[i].desc  = VG_(strdup)("mc.mhcr.1", (Char *)arg[3]);
+            cgbs[i].desc  = VG_(strdup)("mc.mhcr.1", (HChar *)arg[3]);
             cgbs[i].where = VG_(record_ExeContext) ( tid, 0/*first_ip_delta*/ );
             *ret = i;
          } else
@@ -5583,7 +5642,7 @@
       }
 
       case _VG_USERREQ__MEMCHECK_RECORD_OVERLAP_ERROR: {
-         Char* s   = (Char*)arg[1];
+         HChar* s  = (HChar*)arg[1];
          Addr  dst = (Addr) arg[2];
          Addr  src = (Addr) arg[3];
          SizeT len = (SizeT)arg[4];
@@ -5659,7 +5718,7 @@
       }
 
       case VG_USERREQ__GDB_MONITOR_COMMAND: {
-         Bool handled = handle_gdb_monitor_command (tid, (Char*)arg[1]);
+         Bool handled = handle_gdb_monitor_command (tid, (HChar*)arg[1]);
          if (handled)
             *ret = 1;
          else
@@ -5868,6 +5927,16 @@
    return (UWord)oBoth;
 }
 
+UWord VG_REGPARM(1) MC_(helperc_b_load32)( Addr a ) {
+   UInt oQ0   = (UInt)MC_(helperc_b_load8)( a + 0 );
+   UInt oQ1   = (UInt)MC_(helperc_b_load8)( a + 8 );
+   UInt oQ2   = (UInt)MC_(helperc_b_load8)( a + 16 );
+   UInt oQ3   = (UInt)MC_(helperc_b_load8)( a + 24 );
+   UInt oAll  = merge_origins(merge_origins(oQ0, oQ1),
+                              merge_origins(oQ2, oQ3));
+   return (UWord)oAll;
+}
+
 
 /*--------------------------------------------*/
 /*--- Origin tracking: store handlers      ---*/
@@ -5980,6 +6049,13 @@
    MC_(helperc_b_store8)( a + 8, d32 );
 }
 
+void VG_REGPARM(2) MC_(helperc_b_store32)( Addr a, UWord d32 ) {
+   MC_(helperc_b_store8)( a +  0, d32 );
+   MC_(helperc_b_store8)( a +  8, d32 );
+   MC_(helperc_b_store8)( a + 16, d32 );
+   MC_(helperc_b_store8)( a + 24, d32 );
+}
+
 
 /*--------------------------------------------*/
 /*--- Origin tracking: sarp handlers       ---*/
@@ -6060,7 +6136,6 @@
       options so as to constrain the output somewhat. */
    if (VG_(clo_xml)) {
       /* Extract as much info as possible from the leak checker. */
-      /* MC_(clo_show_reachable) = True; */
       MC_(clo_leak_check) = LC_Full;
    }
 
@@ -6087,6 +6162,7 @@
       VG_(track_new_mem_stack_160_w_ECU) ( mc_new_mem_stack_160_w_ECU );
 #     endif
       VG_(track_new_mem_stack_w_ECU)     ( mc_new_mem_stack_w_ECU     );
+      VG_(track_new_mem_stack_signal)    ( mc_new_mem_w_tid_make_ECU );
    } else {
       /* Not doing origin tracking */
 #     ifdef PERF_FAST_STACK
@@ -6101,8 +6177,64 @@
       VG_(track_new_mem_stack_160) ( mc_new_mem_stack_160 );
 #     endif
       VG_(track_new_mem_stack)     ( mc_new_mem_stack     );
+      VG_(track_new_mem_stack_signal) ( mc_new_mem_w_tid_no_ECU );
    }
 
+   // We assume that brk()/sbrk() does not initialise new memory.  Is this
+   // accurate?  John Reiser says:
+   //
+   //   0) sbrk() can *decrease* process address space.  No zero fill is done
+   //   for a decrease, not even the fragment on the high end of the last page
+   //   that is beyond the new highest address.  For maximum safety and
+   //   portability, then the bytes in the last page that reside above [the
+   //   new] sbrk(0) should be considered to be uninitialized, but in practice
+   //   it is exceedingly likely that they will retain their previous
+   //   contents.
+   //
+   //   1) If an increase is large enough to require new whole pages, then
+   //   those new whole pages (like all new pages) are zero-filled by the
+   //   operating system.  So if sbrk(0) already is page aligned, then
+   //   sbrk(PAGE_SIZE) *does* zero-fill the new memory.
+   //
+   //   2) Any increase that lies within an existing allocated page is not
+   //   changed.  So if (x = sbrk(0)) is not page aligned, then
+   //   sbrk(PAGE_SIZE) yields ((PAGE_SIZE -1) & -x) bytes which keep their
+   //   existing contents, and an additional PAGE_SIZE bytes which are zeroed.
+   //   ((PAGE_SIZE -1) & x) of them are "covered" by the sbrk(), and the rest
+   //   of them come along for the ride because the operating system deals
+   //   only in whole pages.  Again, for maximum safety and portability, then
+   //   anything that lives above [the new] sbrk(0) should be considered
+   //   uninitialized, but in practice will retain previous contents [zero in
+   //   this case.]"
+   //
+   // In short: 
+   //
+   //   A key property of sbrk/brk is that new whole pages that are supplied
+   //   by the operating system *do* get initialized to zero.
+   //
+   // As for the portability of all this:
+   //
+   //   sbrk and brk are not POSIX.  However, any system that is a derivative
+   //   of *nix has sbrk and brk because there are too many softwares (such as
+   //   the Bourne shell) which rely on the traditional memory map (.text,
+   //   .data+.bss, stack) and the existence of sbrk/brk.
+   //
+   // So we should arguably observe all this.  However:
+   // - The current inaccuracy has caused maybe one complaint in seven years(?)
+   // - Relying on the zeroed-ness of whole brk'd pages is pretty grotty... I
+   //   doubt most programmers know the above information.
+   // So I'm not terribly unhappy with marking it as undefined. --njn.
+   //
+   // [More:  I think most of what John said only applies to sbrk().  It seems
+   // that brk() always deals in whole pages.  And since this event deals
+   // directly with brk(), not with sbrk(), perhaps it would be reasonable to
+   // just mark all memory it allocates as defined.]
+   //
+   if (MC_(clo_mc_level) == 3)
+      VG_(track_new_mem_brk)         ( mc_new_mem_w_tid_make_ECU );
+   else
+      VG_(track_new_mem_brk)         ( mc_new_mem_w_tid_no_ECU );
+
    /* This origin tracking cache is huge (~100M), so only initialise
       if we need it. */
    if (MC_(clo_mc_level) >= 3) {
@@ -6113,9 +6245,20 @@
       tl_assert(ocacheL1 == NULL);
       tl_assert(ocacheL2 == NULL);
    }
+
+   MC_(chunk_poolalloc) = VG_(newPA)
+      (sizeof(MC_Chunk) + MC_(n_where_pointers)() * sizeof(ExeContext*),
+       1000,
+       VG_(malloc),
+       "mc.cMC.1 (MC_Chunk pools)",
+       VG_(free));
+
+   /* Do not check definedness of guest state if --undef-value-errors=no */
+   if (MC_(clo_mc_level) >= 2)
+      VG_(track_pre_reg_read) ( mc_pre_reg_read );
 }
 
-static void print_SM_info(char* type, int n_SMs)
+static void print_SM_info(const HChar* type, Int n_SMs)
 {
    VG_(message)(Vg_DebugMsg,
       " memcheck: SMs: %s = %d (%ldk, %ldM)\n",
@@ -6132,8 +6275,8 @@
    if (MC_(clo_leak_check) != LC_Off) {
       LeakCheckParams lcp;
       lcp.mode = MC_(clo_leak_check);
-      lcp.show_reachable = MC_(clo_show_reachable);
-      lcp.show_possibly_lost = MC_(clo_show_possibly_lost);
+      lcp.show_leak_kinds = MC_(clo_show_leak_kinds);
+      lcp.errors_for_leak_kinds = MC_(clo_error_for_leak_kinds);
       lcp.deltamode = LCD_Any;
       lcp.max_loss_records_output = 999999999;
       lcp.requested_by_monitor_command = False;
@@ -6280,7 +6423,7 @@
    VG_(details_version)         (NULL);
    VG_(details_description)     ("a memory error detector");
    VG_(details_copyright_author)(
-      "Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.");
+      "Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.");
    VG_(details_bug_reports_to)  (VG_BUGS_TO);
    VG_(details_avg_translation_sizeB) ( 640 );
 
@@ -6319,63 +6462,12 @@
                                    MC_(__builtin_vec_delete),
                                    MC_(realloc),
                                    MC_(malloc_usable_size), 
-                                   MC_MALLOC_REDZONE_SZB );
+                                   MC_MALLOC_DEFAULT_REDZONE_SZB );
+   MC_(Malloc_Redzone_SzB) = VG_(malloc_effective_client_redzone_size)();
 
    VG_(needs_xml_output)          ();
 
    VG_(track_new_mem_startup)     ( mc_new_mem_startup );
-   VG_(track_new_mem_stack_signal)( make_mem_undefined_w_tid );
-   // We assume that brk()/sbrk() does not initialise new memory.  Is this
-   // accurate?  John Reiser says:
-   //
-   //   0) sbrk() can *decrease* process address space.  No zero fill is done
-   //   for a decrease, not even the fragment on the high end of the last page
-   //   that is beyond the new highest address.  For maximum safety and
-   //   portability, then the bytes in the last page that reside above [the
-   //   new] sbrk(0) should be considered to be uninitialized, but in practice
-   //   it is exceedingly likely that they will retain their previous
-   //   contents.
-   //
-   //   1) If an increase is large enough to require new whole pages, then
-   //   those new whole pages (like all new pages) are zero-filled by the
-   //   operating system.  So if sbrk(0) already is page aligned, then
-   //   sbrk(PAGE_SIZE) *does* zero-fill the new memory.
-   //
-   //   2) Any increase that lies within an existing allocated page is not
-   //   changed.  So if (x = sbrk(0)) is not page aligned, then
-   //   sbrk(PAGE_SIZE) yields ((PAGE_SIZE -1) & -x) bytes which keep their
-   //   existing contents, and an additional PAGE_SIZE bytes which are zeroed.
-   //   ((PAGE_SIZE -1) & x) of them are "covered" by the sbrk(), and the rest
-   //   of them come along for the ride because the operating system deals
-   //   only in whole pages.  Again, for maximum safety and portability, then
-   //   anything that lives above [the new] sbrk(0) should be considered
-   //   uninitialized, but in practice will retain previous contents [zero in
-   //   this case.]"
-   //
-   // In short: 
-   //
-   //   A key property of sbrk/brk is that new whole pages that are supplied
-   //   by the operating system *do* get initialized to zero.
-   //
-   // As for the portability of all this:
-   //
-   //   sbrk and brk are not POSIX.  However, any system that is a derivative
-   //   of *nix has sbrk and brk because there are too many softwares (such as
-   //   the Bourne shell) which rely on the traditional memory map (.text,
-   //   .data+.bss, stack) and the existence of sbrk/brk.
-   //
-   // So we should arguably observe all this.  However:
-   // - The current inaccuracy has caused maybe one complaint in seven years(?)
-   // - Relying on the zeroed-ness of whole brk'd pages is pretty grotty... I
-   //   doubt most programmers know the above information.
-   // So I'm not terribly unhappy with marking it as undefined. --njn.
-   //
-   // [More:  I think most of what John said only applies to sbrk().  It seems
-   // that brk() always deals in whole pages.  And since this event deals
-   // directly with brk(), not with sbrk(), perhaps it would be reasonable to
-   // just mark all memory it allocates as defined.]
-   //
-   VG_(track_new_mem_brk)         ( make_mem_undefined_w_tid );
 
    // Handling of mmap and mprotect isn't simple (well, it is simple,
    // but the justification isn't.)  See comments above, just prior to
@@ -6413,20 +6505,14 @@
    VG_(track_pre_mem_write)       ( check_mem_is_addressable );
    VG_(track_post_mem_write)      ( mc_post_mem_write );
 
-   if (MC_(clo_mc_level) >= 2)
-      VG_(track_pre_reg_read)     ( mc_pre_reg_read );
-
    VG_(track_post_reg_write)                  ( mc_post_reg_write );
    VG_(track_post_reg_write_clientcall_return)( mc_post_reg_write_clientcall );
 
    VG_(needs_watchpoint)          ( mc_mark_unaddressable_for_watchpoint );
 
    init_shadow_memory();
-   MC_(chunk_poolalloc) = VG_(newPA) (sizeof(MC_Chunk),
-                                      1000,
-                                      VG_(malloc),
-                                      "mc.cMC.1 (MC_Chunk pools)",
-                                      VG_(free));
+   // MC_(chunk_poolalloc) must be allocated in post_clo_init
+   tl_assert(MC_(chunk_poolalloc) == NULL);
    MC_(malloc_list)  = VG_(HT_construct)( "MC_(malloc_list)" );
    MC_(mempool_list) = VG_(HT_construct)( "MC_(mempool_list)" );
    init_prof_mem();
@@ -6468,11 +6554,11 @@
    tl_assert(sizeof(Addr)  == 8);
    tl_assert(sizeof(UWord) == 8);
    tl_assert(sizeof(Word)  == 8);
-   tl_assert(MAX_PRIMARY_ADDRESS == 0x7FFFFFFFFULL);
-   tl_assert(MASK(1) == 0xFFFFFFF800000000ULL);
-   tl_assert(MASK(2) == 0xFFFFFFF800000001ULL);
-   tl_assert(MASK(4) == 0xFFFFFFF800000003ULL);
-   tl_assert(MASK(8) == 0xFFFFFFF800000007ULL);
+   tl_assert(MAX_PRIMARY_ADDRESS == 0xFFFFFFFFFULL);
+   tl_assert(MASK(1) == 0xFFFFFFF000000000ULL);
+   tl_assert(MASK(2) == 0xFFFFFFF000000001ULL);
+   tl_assert(MASK(4) == 0xFFFFFFF000000003ULL);
+   tl_assert(MASK(8) == 0xFFFFFFF000000007ULL);
 #  endif
 }
 
diff --git a/memcheck/mc_malloc_wrappers.c b/memcheck/mc_malloc_wrappers.c
index bf67571..144559f 100644
--- a/memcheck/mc_malloc_wrappers.c
+++ b/memcheck/mc_malloc_wrappers.c
@@ -8,7 +8,7 @@
    This file is part of MemCheck, a heavyweight Valgrind tool for
    detecting memory errors.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -63,6 +63,8 @@
 /*--- Tracking malloc'd and free'd blocks                  ---*/
 /*------------------------------------------------------------*/
 
+SizeT MC_(Malloc_Redzone_SzB) = -10000000; // If used before set, should BOMB
+
 /* Record malloc'd blocks. */
 VgHashTable MC_(malloc_list) = NULL;
 
@@ -73,7 +75,7 @@
 /* Pool allocator for MC_Chunk. */   
 PoolAlloc *MC_(chunk_poolalloc) = NULL;
 static
-MC_Chunk* create_MC_Chunk ( ExeContext* ec, Addr p, SizeT szB,
+MC_Chunk* create_MC_Chunk ( ThreadId tid, Addr p, SizeT szB,
                             MC_AllocKind kind);
 static inline
 void delete_MC_Chunk (MC_Chunk* mc);
@@ -174,7 +176,7 @@
       mc = freed_list_start[i];
       while (mc) {
          if (VG_(addr_is_in_block)( a, mc->data, mc->szB,
-                                    MC_MALLOC_REDZONE_SZB ))
+                                    MC_(Malloc_Redzone_SzB) ))
             return mc;
          mc = mc->next;
       }
@@ -185,14 +187,20 @@
 /* Allocate a shadow chunk, put it on the appropriate list.
    If needed, release oldest blocks from freed list. */
 static
-MC_Chunk* create_MC_Chunk ( ExeContext* ec, Addr p, SizeT szB,
+MC_Chunk* create_MC_Chunk ( ThreadId tid, Addr p, SizeT szB,
                             MC_AllocKind kind)
 {
    MC_Chunk* mc  = VG_(allocEltPA)(MC_(chunk_poolalloc));
    mc->data      = p;
    mc->szB       = szB;
    mc->allockind = kind;
-   mc->where     = ec;
+   switch ( MC_(n_where_pointers)() ) {
+      case 2: mc->where[1] = 0; // fallback to 1
+      case 1: mc->where[0] = 0; // fallback to 0
+      case 0: break;
+      default: tl_assert(0);
+   }
+   MC_(set_allocated_at) (tid, mc);
 
    /* Each time a new MC_Chunk is created, release oldest blocks
       if the free list volume is exceeded. */
@@ -215,12 +223,120 @@
    VG_(freeEltPA) (MC_(chunk_poolalloc), mc);
 }
 
+// True if mc is in the given block list.
+static Bool in_block_list (VgHashTable block_list, MC_Chunk* mc)
+{
+   MC_Chunk* found_mc = VG_(HT_lookup) ( block_list, (UWord)mc->data );
+   if (found_mc) {
+      tl_assert (found_mc->data == mc->data);
+      /* If a user builds a pool from a malloc-ed superblock
+         and uses VALGRIND_MALLOCLIKE_BLOCK to "mark"
+         an address at the beginning of this superblock, then
+         this address will be twice in the block_list.
+         We handle this case by checking size and allockind.
+         Note: I suspect that having the same block
+         twice in MC_(malloc_list) is a recipe for bugs.
+         We might maybe better create a "standard" mempool to
+         handle all this more cleanly. */
+      if (found_mc->szB != mc->szB
+          || found_mc->allockind != mc->allockind)
+         return False;
+      tl_assert (found_mc == mc);
+      return True;
+   } else
+      return False;
+}
+
+// True if mc is a live block (not yet freed).
+static Bool live_block (MC_Chunk* mc)
+{
+   if (mc->allockind == MC_AllocCustom) {
+      MC_Mempool* mp;
+      VG_(HT_ResetIter)(MC_(mempool_list));
+      while ( (mp = VG_(HT_Next)(MC_(mempool_list))) ) {
+         if ( in_block_list (mp->chunks, mc) )
+            return True;
+      }
+   }
+   /* Note: we fallback here for a not found MC_AllocCustom
+      as such a block can be inserted in MC_(malloc_list)
+      by VALGRIND_MALLOCLIKE_BLOCK. */
+   return in_block_list ( MC_(malloc_list), mc );
+}
+
+ExeContext* MC_(allocated_at) (MC_Chunk* mc)
+{
+   switch (MC_(clo_keep_stacktraces)) {
+      case KS_none:            return VG_(null_ExeContext) ();
+      case KS_alloc:           return mc->where[0];
+      case KS_free:            return VG_(null_ExeContext) ();
+      case KS_alloc_then_free: return (live_block(mc) ?
+                                       mc->where[0] : VG_(null_ExeContext) ());
+      case KS_alloc_and_free:  return mc->where[0];
+      default: tl_assert (0);
+   }
+}
+
+ExeContext* MC_(freed_at) (MC_Chunk* mc)
+{
+   switch (MC_(clo_keep_stacktraces)) {
+      case KS_none:            return VG_(null_ExeContext) ();
+      case KS_alloc:           return VG_(null_ExeContext) ();
+      case KS_free:            return (mc->where[0] ?
+                                       mc->where[0] : VG_(null_ExeContext) ());
+      case KS_alloc_then_free: return (live_block(mc) ?
+                                       VG_(null_ExeContext) () : mc->where[0]);
+      case KS_alloc_and_free:  return (mc->where[1] ?
+                                       mc->where[1] : VG_(null_ExeContext) ());
+      default: tl_assert (0);
+   }
+}
+
+void  MC_(set_allocated_at) (ThreadId tid, MC_Chunk* mc)
+{
+   switch (MC_(clo_keep_stacktraces)) {
+      case KS_none:            return;
+      case KS_alloc:           break;
+      case KS_free:            return;
+      case KS_alloc_then_free: break;
+      case KS_alloc_and_free:  break;
+      default: tl_assert (0);
+   }
+   mc->where[0] = VG_(record_ExeContext) ( tid, 0/*first_ip_delta*/ );
+}
+
+void  MC_(set_freed_at) (ThreadId tid, MC_Chunk* mc)
+{
+   UInt pos;
+   switch (MC_(clo_keep_stacktraces)) {
+      case KS_none:            return;
+      case KS_alloc:           return;
+      case KS_free:            pos = 0; break;
+      case KS_alloc_then_free: pos = 0; break;
+      case KS_alloc_and_free:  pos = 1; break;
+      default: tl_assert (0);
+   }
+   mc->where[pos] = VG_(record_ExeContext) ( tid, 0/*first_ip_delta*/ );
+}
+
+UInt MC_(n_where_pointers) (void)
+{
+   switch (MC_(clo_keep_stacktraces)) {
+      case KS_none:            return 0;
+      case KS_alloc:
+      case KS_free:
+      case KS_alloc_then_free: return 1;
+      case KS_alloc_and_free:  return 2;
+      default: tl_assert (0);
+   }
+}
+
 /*------------------------------------------------------------*/
 /*--- client_malloc(), etc                                 ---*/
 /*------------------------------------------------------------*/
 
 // XXX: should make this a proper error (bug #79311).
-static Bool complain_about_silly_args(SizeT sizeB, Char* fn)
+static Bool complain_about_silly_args(SizeT sizeB, const HChar* fn)
 {
    // Cast to a signed type to catch any unexpectedly negative args.  We're
    // assuming here that the size asked for is not greater than 2^31 bytes
@@ -251,7 +367,7 @@
                        Addr p, SizeT szB, SizeT alignB,
                        Bool is_zeroed, MC_AllocKind kind, VgHashTable table)
 {
-   ExeContext* ec;
+   MC_Chunk* mc;
 
    // Allocate and zero if necessary
    if (p) {
@@ -274,16 +390,13 @@
    // Only update stats if allocation succeeded.
    cmalloc_n_mallocs ++;
    cmalloc_bs_mallocd += (ULong)szB;
-
-   ec = VG_(record_ExeContext)(tid, 0/*first_ip_delta*/);
-   tl_assert(ec);
-
-   VG_(HT_add_node)( table, create_MC_Chunk(ec, p, szB, kind) );
+   mc = create_MC_Chunk (tid, p, szB, kind);
+   VG_(HT_add_node)( table, mc );
 
    if (is_zeroed)
       MC_(make_mem_defined)( p, szB );
    else {
-      UInt ecu = VG_(get_ECU_from_ExeContext)(ec);
+      UInt ecu = VG_(get_ECU_from_ExeContext)(MC_(allocated_at)(mc));
       tl_assert(VG_(is_plausible_ECU)(ecu));
       MC_(make_mem_undefined_w_otag)( p, szB, ecu | MC_OKIND_HEAP );
    }
@@ -344,7 +457,9 @@
 static
 void die_and_free_mem ( ThreadId tid, MC_Chunk* mc, SizeT rzB )
 {
-   if (MC_(clo_free_fill) != -1) {
+   /* Note: we do not free fill the custom allocs produced
+      by MEMPOOL or by MALLOC/FREELIKE_BLOCK requests. */
+   if (MC_(clo_free_fill) != -1 && MC_AllocCustom != mc->allockind ) {
       tl_assert(MC_(clo_free_fill) >= 0x00 && MC_(clo_free_fill) <= 0xFF);
       VG_(memset)((void*)mc->data, MC_(clo_free_fill), mc->szB);
    }
@@ -354,7 +469,7 @@
    MC_(make_mem_noaccess)( mc->data-rzB, mc->szB + 2*rzB );
 
    /* Record where freed */
-   mc->where = VG_(record_ExeContext) ( tid, 0/*first_ip_delta*/ );
+   MC_(set_freed_at) (tid, mc);
    /* Put it out of harm's way for a while */
    add_to_freed_queue ( mc );
    /* If the free list volume is bigger than MC_(clo_freelist_vol),
@@ -363,6 +478,22 @@
       even for big blocks being freed by the client. */
 }
 
+
+static
+void record_freemismatch_error (ThreadId tid, MC_Chunk* mc)
+{
+   /* MC_(record_freemismatch_error) reports errors for still
+      allocated blocks but we are in the middle of freeing it.  To
+      report the error correctly, we re-insert the chunk (making it
+      again a "clean allocated block", report the error, and then
+      re-remove the chunk.  This avoids to do a VG_(HT_lookup)
+      followed by a VG_(HT_remove) in all "non-erroneous cases". */
+   VG_(HT_add_node)( MC_(malloc_list), mc );
+   MC_(record_freemismatch_error) ( tid, mc );
+   if ((mc != VG_(HT_remove) ( MC_(malloc_list), (UWord)mc->data )))
+      tl_assert(0);
+}
+
 void MC_(handle_free) ( ThreadId tid, Addr p, UInt rzB, MC_AllocKind kind )
 {
    MC_Chunk* mc;
@@ -376,7 +507,7 @@
       /* check if it is a matching free() / delete / delete [] */
       if (kind != mc->allockind) {
          tl_assert(p == mc->data);
-         MC_(record_freemismatch_error) ( tid, mc );
+         record_freemismatch_error ( tid, mc );
       }
       die_and_free_mem ( tid, mc, rzB );
    }
@@ -385,25 +516,26 @@
 void MC_(free) ( ThreadId tid, void* p )
 {
    MC_(handle_free)( 
-      tid, (Addr)p, MC_MALLOC_REDZONE_SZB, MC_AllocMalloc );
+      tid, (Addr)p, MC_(Malloc_Redzone_SzB), MC_AllocMalloc );
 }
 
 void MC_(__builtin_delete) ( ThreadId tid, void* p )
 {
    MC_(handle_free)(
-      tid, (Addr)p, MC_MALLOC_REDZONE_SZB, MC_AllocNew);
+      tid, (Addr)p, MC_(Malloc_Redzone_SzB), MC_AllocNew);
 }
 
 void MC_(__builtin_vec_delete) ( ThreadId tid, void* p )
 {
    MC_(handle_free)(
-      tid, (Addr)p, MC_MALLOC_REDZONE_SZB, MC_AllocNewVec);
+      tid, (Addr)p, MC_(Malloc_Redzone_SzB), MC_AllocNewVec);
 }
 
 void* MC_(realloc) ( ThreadId tid, void* p_old, SizeT new_szB )
 {
-   MC_Chunk* mc;
-   void*     p_new;
+   MC_Chunk* old_mc;
+   MC_Chunk* new_mc;
+   Addr      a_new; 
    SizeT     old_szB;
 
    if (complain_about_silly_args(new_szB, "realloc")) 
@@ -414,93 +546,70 @@
    cmalloc_bs_mallocd += (ULong)new_szB;
 
    /* Remove the old block */
-   mc = VG_(HT_remove) ( MC_(malloc_list), (UWord)p_old );
-   if (mc == NULL) {
+   old_mc = VG_(HT_remove) ( MC_(malloc_list), (UWord)p_old );
+   if (old_mc == NULL) {
       MC_(record_free_error) ( tid, (Addr)p_old );
       /* We return to the program regardless. */
       return NULL;
    }
 
    /* check if its a matching free() / delete / delete [] */
-   if (MC_AllocMalloc != mc->allockind) {
+   if (MC_AllocMalloc != old_mc->allockind) {
       /* can not realloc a range that was allocated with new or new [] */
-      tl_assert((Addr)p_old == mc->data);
-      MC_(record_freemismatch_error) ( tid, mc );
+      tl_assert((Addr)p_old == old_mc->data);
+      record_freemismatch_error ( tid, old_mc );
       /* but keep going anyway */
    }
 
-   old_szB = mc->szB;
+   old_szB = old_mc->szB;
 
-   /* In all cases, even when the new size is smaller or unchanged, we
-      reallocate and copy the contents, and make the old block
-      inaccessible.  This is so as to guarantee to catch all cases of
-      accesses via the old address after reallocation, regardless of
-      the change in size.  (Of course the ability to detect accesses
-      to the old block also depends on the size of the freed blocks
-      queue). */
+   /* Get new memory */
+   a_new = (Addr)VG_(cli_malloc)(VG_(clo_alignment), new_szB);
 
-   if (new_szB <= old_szB) {
-      /* new size is smaller or the same */
-      Addr a_new; 
-      /* Get new memory */
-      a_new = (Addr)VG_(cli_malloc)(VG_(clo_alignment), new_szB);
+   if (a_new) {
+      /* In all cases, even when the new size is smaller or unchanged, we
+         reallocate and copy the contents, and make the old block
+         inaccessible.  This is so as to guarantee to catch all cases of
+         accesses via the old address after reallocation, regardless of
+         the change in size.  (Of course the ability to detect accesses
+         to the old block also depends on the size of the freed blocks
+         queue). */
 
-      if (a_new) {
-         ExeContext* ec;
+      // Allocate a new chunk.
+      new_mc = create_MC_Chunk( tid, a_new, new_szB, MC_AllocMalloc );
 
-         ec = VG_(record_ExeContext)(tid, 0/*first_ip_delta*/);
-         tl_assert(ec);
+      // Now insert the new mc (with a new 'data' field) into malloc_list.
+      VG_(HT_add_node)( MC_(malloc_list), new_mc );
 
-         /* Retained part is copied, red zones set as normal */
-         MC_(make_mem_noaccess)( a_new-MC_MALLOC_REDZONE_SZB, 
-                                 MC_MALLOC_REDZONE_SZB );
+      /* Retained part is copied, red zones set as normal */
+
+      /* Redzone at the front */
+      MC_(make_mem_noaccess)( a_new-MC_(Malloc_Redzone_SzB), 
+                              MC_(Malloc_Redzone_SzB) );
+
+      /* payload */
+      if (old_szB >= new_szB) {
+         /* new size is smaller or the same */
+
+         /* Copy address range state and value from old to new */
          MC_(copy_address_range_state) ( (Addr)p_old, a_new, new_szB );
-         MC_(make_mem_noaccess)        ( a_new+new_szB, MC_MALLOC_REDZONE_SZB );
-
-         /* Copy from old to new */
          VG_(memcpy)((void*)a_new, p_old, new_szB);
-
-         /* Possibly fill freed area with specified junk. */
-         if (MC_(clo_free_fill) != -1) {
-            tl_assert(MC_(clo_free_fill) >= 0x00 && MC_(clo_free_fill) <= 0xFF);
-            VG_(memset)((void*)p_old, MC_(clo_free_fill), old_szB);
-         }
-
-         /* Free old memory */
-         /* Nb: we have to allocate a new MC_Chunk for the new memory rather
-            than recycling the old one, so that any erroneous accesses to the
-            old memory are reported. */
-         die_and_free_mem ( tid, mc, MC_MALLOC_REDZONE_SZB );
-
-         // Allocate a new chunk.
-         mc = create_MC_Chunk( ec, a_new, new_szB, MC_AllocMalloc );
-      }
-
-      p_new = (void*)a_new;
-
-   } else {
-      /* new size is bigger */
-      Addr a_new; 
-      tl_assert(old_szB < new_szB);
-      /* Get new memory */
-      a_new = (Addr)VG_(cli_malloc)(VG_(clo_alignment), new_szB);
-
-      if (a_new) {
+      } else {
+         /* new size is bigger */
          UInt        ecu;
-         ExeContext* ec;
 
-         ec = VG_(record_ExeContext)(tid, 0/*first_ip_delta*/);
-         tl_assert(ec);
-         ecu = VG_(get_ECU_from_ExeContext)(ec);
+         /* Copy address range state and value from old to new */
+         MC_(copy_address_range_state) ( (Addr)p_old, a_new, old_szB );
+         VG_(memcpy)((void*)a_new, p_old, old_szB);
+
+         // If the block has grown, we mark the grown area as undefined.
+         // We have to do that after VG_(HT_add_node) to ensure the ecu
+         // execontext is for a fully allocated block.
+         ecu = VG_(get_ECU_from_ExeContext)(MC_(allocated_at)(new_mc));
          tl_assert(VG_(is_plausible_ECU)(ecu));
-
-         /* First half kept and copied, second half new, red zones as normal */
-         MC_(make_mem_noaccess)( a_new-MC_MALLOC_REDZONE_SZB, 
-                                 MC_MALLOC_REDZONE_SZB );
-         MC_(copy_address_range_state) ( (Addr)p_old, a_new, mc->szB );
-         MC_(make_mem_undefined_w_otag)( a_new+mc->szB, new_szB-mc->szB,
-                                                        ecu | MC_OKIND_HEAP );
-         MC_(make_mem_noaccess)        ( a_new+new_szB, MC_MALLOC_REDZONE_SZB );
+         MC_(make_mem_undefined_w_otag)( a_new+old_szB,
+                                         new_szB-old_szB,
+                                         ecu | MC_OKIND_HEAP );
 
          /* Possibly fill new area with specified junk */
          if (MC_(clo_malloc_fill) != -1) {
@@ -509,37 +618,31 @@
             VG_(memset)((void*)(a_new+old_szB), MC_(clo_malloc_fill), 
                                                 new_szB-old_szB);
          }
-
-         /* Copy from old to new */
-         VG_(memcpy)((void*)a_new, p_old, mc->szB);
-
-         /* Possibly fill freed area with specified junk. */
-         if (MC_(clo_free_fill) != -1) {
-            tl_assert(MC_(clo_free_fill) >= 0x00 && MC_(clo_free_fill) <= 0xFF);
-            VG_(memset)((void*)p_old, MC_(clo_free_fill), old_szB);
-         }
-
-         /* Free old memory */
-         /* Nb: we have to allocate a new MC_Chunk for the new memory rather
-            than recycling the old one, so that any erroneous accesses to the
-            old memory are reported. */
-         die_and_free_mem ( tid, mc, MC_MALLOC_REDZONE_SZB );
-
-         // Allocate a new chunk.
-         mc = create_MC_Chunk( ec, a_new, new_szB, MC_AllocMalloc );
       }
 
-      p_new = (void*)a_new;
-   }  
+      /* Redzone at the back. */
+      MC_(make_mem_noaccess)        ( a_new+new_szB, MC_(Malloc_Redzone_SzB));
 
-   // Now insert the new mc (with a possibly new 'data' field) into
-   // malloc_list.  If this realloc() did not increase the memory size, we
-   // will have removed and then re-added mc unnecessarily.  But that's ok
-   // because shrinking a block with realloc() is (presumably) much rarer
-   // than growing it, and this way simplifies the growing case.
-   VG_(HT_add_node)( MC_(malloc_list), mc );
+      /* Possibly fill freed area with specified junk. */
+      if (MC_(clo_free_fill) != -1) {
+         tl_assert(MC_(clo_free_fill) >= 0x00 && MC_(clo_free_fill) <= 0xFF);
+         VG_(memset)((void*)p_old, MC_(clo_free_fill), old_szB);
+      }
 
-   return p_new;
+      /* Free old memory */
+      /* Nb: we have to allocate a new MC_Chunk for the new memory rather
+         than recycling the old one, so that any erroneous accesses to the
+         old memory are reported. */
+      die_and_free_mem ( tid, old_mc, MC_(Malloc_Redzone_SzB) );
+
+   } else {
+      /* Could not allocate new client memory.
+         Re-insert the old_mc (with the old ptr) in the HT, as old_mc was
+         unconditionally removed at the beginning of the function. */
+      VG_(HT_add_node)( MC_(malloc_list), old_mc );
+   }
+
+   return (void*)a_new;
 }
 
 SizeT MC_(malloc_usable_size) ( ThreadId tid, void* p )
@@ -663,10 +766,10 @@
 }
 
 static Int 
-mp_compar(void* n1, void* n2)
+mp_compar(const void* n1, const void* n2)
 {
-   MC_Chunk* mc1 = *(MC_Chunk**)n1;
-   MC_Chunk* mc2 = *(MC_Chunk**)n2;
+   const MC_Chunk* mc1 = *(const MC_Chunk *const *)n1;
+   const MC_Chunk* mc2 = *(const MC_Chunk *const *)n2;
    if (mc1->data < mc2->data) return -1;
    if (mc1->data > mc2->data) return  1;
    return 0;
@@ -742,7 +845,7 @@
                          chunks[i]->data, 
                          chunks[i]->data + chunks[i]->szB);
 
-            VG_(pp_ExeContext)(chunks[i]->where);
+            VG_(pp_ExeContext)(MC_(allocated_at)(chunks[i]));
          }
    }
    VG_(free)(chunks);
@@ -765,6 +868,14 @@
       if (MP_DETAILED_SANITY_CHECKS) check_mempool_sane(mp);
       MC_(new_block)(tid, addr, szB, /*ignored*/0, mp->is_zeroed,
                      MC_AllocCustom, mp->chunks);
+      if (mp->rzB > 0) {
+         // This is not needed if the user application has properly
+         // marked the superblock noaccess when defining the mempool.
+         // We however still mark the redzones noaccess to still catch
+         // some bugs if user forgot.
+         MC_(make_mem_noaccess) ( addr - mp->rzB, mp->rzB);
+         MC_(make_mem_noaccess) ( addr + szB, mp->rzB);
+      }
       if (MP_DETAILED_SANITY_CHECKS) check_mempool_sane(mp);
    }
 }
diff --git a/memcheck/mc_replace_strmem.c b/memcheck/mc_replace_strmem.c
index 3dc2a1c..64df1c3 100644
--- a/memcheck/mc_replace_strmem.c
+++ b/memcheck/mc_replace_strmem.c
@@ -9,7 +9,7 @@
    This file is part of MemCheck, a heavyweight Valgrind tool for
    detecting memory errors.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -95,6 +95,13 @@
    20330 STRCSPN
    20340 STRSPN
    20350 STRCASESTR
+   20360 MEMRCHR
+   20370 WCSLEN
+   20380 WCSCMP
+   20390 WCSCPY
+   20400 WCSCHR
+   20410 WCSRCHR
+   20420 STPNCPY
 */
 
 
@@ -141,6 +148,9 @@
 #  if defined(VGPV_arm_linux_android)
    __asm__ __volatile__(".word 0xFFFFFFFF");
    while (1) {}
+#  elif defined(VGPV_x86_linux_android)
+   __asm__ __volatile__("ud2");
+   while (1) {}
 #  else
    extern __attribute__ ((__noreturn__)) void _exit(int status);
    _exit(x);
@@ -162,12 +172,12 @@
    char* VG_REPLACE_FUNCTION_EZU(20010,soname,fnname)( const char* s, int c ); \
    char* VG_REPLACE_FUNCTION_EZU(20010,soname,fnname)( const char* s, int c ) \
    { \
-      UChar  ch   = (UChar)((UInt)c); \
-      UChar* p    = (UChar*)s; \
-      UChar* last = NULL; \
+      HChar ch = (HChar)c;   \
+      const HChar* p = s;       \
+      const HChar* last = NULL; \
       while (True) { \
          if (*p == ch) last = p; \
-         if (*p == 0) return last; \
+         if (*p == 0) return (HChar *)last;     \
          p++; \
       } \
    }
@@ -178,6 +188,9 @@
  STRRCHR(VG_Z_LIBC_SONAME,   rindex)
  STRRCHR(VG_Z_LIBC_SONAME,   __GI_strrchr)
  STRRCHR(VG_Z_LD_LINUX_SO_2, rindex)
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+  STRRCHR(NONE, __dl_strrchr); /* in /system/bin/linker */
+#endif
 
 #elif defined(VGO_darwin)
  //STRRCHR(VG_Z_LIBC_SONAME,   strrchr)
@@ -195,10 +208,10 @@
    char* VG_REPLACE_FUNCTION_EZU(20020,soname,fnname) ( const char* s, int c ); \
    char* VG_REPLACE_FUNCTION_EZU(20020,soname,fnname) ( const char* s, int c ) \
    { \
-      UChar  ch = (UChar)((UInt)c); \
-      UChar* p  = (UChar*)s; \
+      HChar  ch = (HChar)c ; \
+      const HChar* p  = s;   \
       while (True) { \
-         if (*p == ch) return p; \
+         if (*p == ch) return (HChar *)p; \
          if (*p == 0) return NULL; \
          p++; \
       } \
@@ -234,8 +247,8 @@
    char* VG_REPLACE_FUNCTION_EZU(20030,soname,fnname) \
             ( char* dst, const char* src ) \
    { \
-      const Char* src_orig = src; \
-            Char* dst_orig = dst; \
+      const HChar* src_orig = src; \
+            HChar* dst_orig = dst; \
       while (*dst) dst++; \
       while (*src) *dst++ = *src++; \
       *dst = 0; \
@@ -269,8 +282,8 @@
    char* VG_REPLACE_FUNCTION_EZU(20040,soname,fnname) \
             ( char* dst, const char* src, SizeT n ) \
    { \
-      const Char* src_orig = src; \
-            Char* dst_orig = dst; \
+      const HChar* src_orig = src; \
+            HChar* dst_orig = dst; \
       SizeT m = 0; \
       \
       while (*dst) dst++; \
@@ -311,8 +324,8 @@
    SizeT VG_REPLACE_FUNCTION_EZU(20050,soname,fnname) \
         ( char* dst, const char* src, SizeT n ) \
    { \
-      const Char* src_orig = src; \
-      Char* dst_orig = dst; \
+      const HChar* src_orig = src; \
+      HChar* dst_orig = dst; \
       SizeT m = 0; \
       \
       while (m < n && *dst) { m++; dst++; } \
@@ -390,7 +403,7 @@
 #if defined(VGO_linux)
  STRLEN(VG_Z_LIBC_SONAME,          strlen)
  STRLEN(VG_Z_LIBC_SONAME,          __GI_strlen)
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
   STRLEN(NONE, __dl_strlen); /* in /system/bin/linker */
 # endif
 
@@ -409,8 +422,8 @@
    char* VG_REPLACE_FUNCTION_EZU(20080,soname,fnname) \
       ( char* dst, const char* src ) \
    { \
-      const Char* src_orig = src; \
-            Char* dst_orig = dst; \
+      const HChar* src_orig = src; \
+            HChar* dst_orig = dst; \
       \
       while (*src) *dst++ = *src++; \
       *dst = 0; \
@@ -446,8 +459,8 @@
    char* VG_REPLACE_FUNCTION_EZU(20090,soname,fnname) \
             ( char* dst, const char* src, SizeT n ) \
    { \
-      const Char* src_orig = src; \
-            Char* dst_orig = dst; \
+      const HChar* src_orig = src; \
+            HChar* dst_orig = dst; \
       SizeT m = 0; \
       \
       while (m   < n && *src) { m++; *dst++ = *src++; } \
@@ -482,8 +495,8 @@
    SizeT VG_REPLACE_FUNCTION_EZU(20100,soname,fnname) \
        ( char* dst, const char* src, SizeT n ) \
    { \
-      const char* src_orig = src; \
-      char* dst_orig = dst; \
+      const HChar* src_orig = src; \
+      HChar* dst_orig = dst; \
       SizeT m = 0; \
       \
       while (m < n-1 && *src) { m++; *dst++ = *src++; } \
@@ -501,6 +514,10 @@
 
 #if defined(VGO_linux)
 
+#if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
+ STRLCPY(VG_Z_LIBC_SONAME, strlcpy);
+#endif
+
 #elif defined(VGO_darwin)
  //STRLCPY(VG_Z_LIBC_SONAME, strlcpy)
  //STRLCPY(VG_Z_DYLD,        strlcpy)
@@ -524,8 +541,8 @@
          if (*s1 == 0) return -1; \
          if (*s2 == 0) return 1; \
          \
-         if (*(unsigned char*)s1 < *(unsigned char*)s2) return -1; \
-         if (*(unsigned char*)s1 > *(unsigned char*)s2) return 1; \
+         if (*(const UChar*)s1 < *(const UChar*)s2) return -1; \
+         if (*(const UChar*)s1 > *(const UChar*)s2) return 1; \
          \
          s1++; s2++; n++; \
       } \
@@ -552,22 +569,22 @@
           ( const char* s1, const char* s2 ) \
    { \
       extern int tolower(int); \
-      register unsigned char c1; \
-      register unsigned char c2; \
+      register UChar c1; \
+      register UChar c2; \
       while (True) { \
-         c1 = tolower(*(unsigned char *)s1); \
-         c2 = tolower(*(unsigned char *)s2); \
+         c1 = tolower(*(const UChar *)s1); \
+         c2 = tolower(*(const UChar *)s2); \
          if (c1 != c2) break; \
          if (c1 == 0) break; \
          s1++; s2++; \
       } \
-      if ((unsigned char)c1 < (unsigned char)c2) return -1; \
-      if ((unsigned char)c1 > (unsigned char)c2) return 1; \
+      if ((UChar)c1 < (UChar)c2) return -1; \
+      if ((UChar)c1 > (UChar)c2) return 1; \
       return 0; \
    }
 
 #if defined(VGO_linux)
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
   STRCASECMP(VG_Z_LIBC_SONAME, strcasecmp)
   STRCASECMP(VG_Z_LIBC_SONAME, __GI_strcasecmp)
 # endif
@@ -594,17 +611,17 @@
          if (*s1 == 0) return -1; \
          if (*s2 == 0) return 1; \
          \
-         if (tolower(*(unsigned char*)s1) \
-             < tolower(*(unsigned char*)s2)) return -1; \
-         if (tolower(*(unsigned char*)s1) \
-             > tolower(*(unsigned char*)s2)) return 1; \
+         if (tolower(*(const UChar *)s1) \
+             < tolower(*(const UChar*)s2)) return -1; \
+         if (tolower(*(const UChar *)s1) \
+             > tolower(*(const UChar *)s2)) return 1; \
          \
          s1++; s2++; n++; \
       } \
    }
 
 #if defined(VGO_linux)
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
   STRNCASECMP(VG_Z_LIBC_SONAME, strncasecmp)
   STRNCASECMP(VG_Z_LIBC_SONAME, __GI_strncasecmp)
 # endif
@@ -625,17 +642,17 @@
           ( const char* s1, const char* s2, void* locale ) \
    { \
       extern int tolower_l(int, void*) __attribute__((weak)); \
-      register unsigned char c1; \
-      register unsigned char c2; \
+      register UChar c1; \
+      register UChar c2; \
       while (True) { \
-         c1 = tolower_l(*(unsigned char *)s1, locale); \
-         c2 = tolower_l(*(unsigned char *)s2, locale); \
+         c1 = tolower_l(*(const UChar *)s1, locale); \
+         c2 = tolower_l(*(const UChar *)s2, locale); \
          if (c1 != c2) break; \
          if (c1 == 0) break; \
          s1++; s2++; \
       } \
-      if ((unsigned char)c1 < (unsigned char)c2) return -1; \
-      if ((unsigned char)c1 > (unsigned char)c2) return 1; \
+      if ((UChar)c1 < (UChar)c2) return -1; \
+      if ((UChar)c1 > (UChar)c2) return 1; \
       return 0; \
    }
 
@@ -666,10 +683,10 @@
          if (*s1 == 0) return -1; \
          if (*s2 == 0) return 1; \
          \
-         if (tolower_l(*(unsigned char*)s1, locale) \
-             < tolower_l(*(unsigned char*)s2, locale)) return -1; \
-         if (tolower_l(*(unsigned char*)s1, locale) \
-             > tolower_l(*(unsigned char*)s2, locale)) return 1; \
+         if (tolower_l(*(const UChar *)s1, locale) \
+             < tolower_l(*(const UChar *)s2, locale)) return -1; \
+         if (tolower_l(*(const UChar *)s1, locale) \
+             > tolower_l(*(const UChar *)s2, locale)) return 1; \
          \
          s1++; s2++; n++; \
       } \
@@ -678,6 +695,7 @@
 #if defined(VGO_linux)
  STRNCASECMP_L(VG_Z_LIBC_SONAME, strncasecmp_l)
  STRNCASECMP_L(VG_Z_LIBC_SONAME, __GI_strncasecmp_l)
+ STRNCASECMP_L(VG_Z_LIBC_SONAME, __GI___strncasecmp_l)
 
 #elif defined(VGO_darwin)
  //STRNCASECMP_L(VG_Z_LIBC_SONAME, strncasecmp_l)
@@ -694,17 +712,17 @@
    int VG_REPLACE_FUNCTION_EZU(20160,soname,fnname) \
           ( const char* s1, const char* s2 ) \
    { \
-      register unsigned char c1; \
-      register unsigned char c2; \
+      register UChar c1; \
+      register UChar c2; \
       while (True) { \
-         c1 = *(unsigned char *)s1; \
-         c2 = *(unsigned char *)s2; \
+         c1 = *(const UChar *)s1; \
+         c2 = *(const UChar *)s2; \
          if (c1 != c2) break; \
          if (c1 == 0) break; \
          s1++; s2++; \
       } \
-      if ((unsigned char)c1 < (unsigned char)c2) return -1; \
-      if ((unsigned char)c1 > (unsigned char)c2) return 1; \
+      if ((UChar)c1 < (UChar)c2) return -1; \
+      if ((UChar)c1 > (UChar)c2) return 1; \
       return 0; \
    }
 
@@ -713,7 +731,7 @@
  STRCMP(VG_Z_LIBC_SONAME,          __GI_strcmp)
  STRCMP(VG_Z_LD_LINUX_X86_64_SO_2, strcmp)
  STRCMP(VG_Z_LD64_SO_1,            strcmp)
-# if defined(VGPV_arm_linux_android)
+# if defined(VGPV_arm_linux_android) || defined(VGPV_x86_linux_android)
   STRCMP(NONE, __dl_strcmp); /* in /system/bin/linker */
 # endif
 
@@ -750,6 +768,32 @@
 #endif
 
 
+/*---------------------- memrchr ----------------------*/
+
+#define MEMRCHR(soname, fnname) \
+   void* VG_REPLACE_FUNCTION_EZU(20360,soname,fnname) \
+            (const void *s, int c, SizeT n); \
+   void* VG_REPLACE_FUNCTION_EZU(20360,soname,fnname) \
+            (const void *s, int c, SizeT n) \
+   { \
+      SizeT i; \
+      UChar c0 = (UChar)c; \
+      UChar* p = (UChar*)s; \
+      for (i = 0; i < n; i++) \
+         if (p[n-1-i] == c0) return (void*)(&p[n-1-i]); \
+      return NULL; \
+   }
+
+#if defined(VGO_linux)
+ MEMRCHR(VG_Z_LIBC_SONAME, memrchr)
+
+#elif defined(VGO_darwin)
+ //MEMRCHR(VG_Z_LIBC_SONAME, memrchr)
+ //MEMRCHR(VG_Z_DYLD,        memrchr)
+
+#endif
+
+
 /*---------------------- memcpy ----------------------*/
 
 #define MEMMOVE_OR_MEMCPY(becTag, soname, fnname, do_ol_check)  \
@@ -868,10 +912,10 @@
           ( const void *s1V, const void *s2V, SizeT n )  \
    { \
       int res; \
-      unsigned char a0; \
-      unsigned char b0; \
-      unsigned char* s1 = (unsigned char*)s1V; \
-      unsigned char* s2 = (unsigned char*)s2V; \
+      UChar a0; \
+      UChar b0; \
+      const UChar* s1 = s1V; \
+      const UChar* s2 = s2V; \
       \
       while (n != 0) { \
          a0 = s1[0]; \
@@ -910,8 +954,8 @@
    char* VG_REPLACE_FUNCTION_EZU(20200,soname,fnname) \
             ( char* dst, const char* src ) \
    { \
-      const Char* src_orig = src; \
-            Char* dst_orig = dst; \
+      const HChar* src_orig = src; \
+            HChar* dst_orig = dst; \
       \
       while (*src) *dst++ = *src++; \
       *dst = 0; \
@@ -940,6 +984,34 @@
 #endif
 
 
+/*---------------------- stpncpy ----------------------*/
+
+#define STPNCPY(soname, fnname) \
+   char* VG_REPLACE_FUNCTION_EZU(20420,soname,fnname) \
+            ( char* dst, const char* src, SizeT n ); \
+   char* VG_REPLACE_FUNCTION_EZU(20420,soname,fnname) \
+            ( char* dst, const char* src, SizeT n ) \
+   { \
+      const HChar* src_orig = src; \
+            HChar* dst_str  = dst; \
+      SizeT m = 0; \
+      \
+      while (m   < n && *src) { m++; *dst++ = *src++; } \
+      /* Check for overlap after copying; all n bytes of dst are relevant, */ \
+      /* but only m+1 bytes of src if terminator was found */ \
+      if (is_overlap(dst_str, src_orig, n, (m < n) ? m+1 : n)) \
+         RECORD_OVERLAP_ERROR("stpncpy", dst, src, n); \
+      dst_str = dst; \
+      while (m++ < n) *dst++ = 0;         /* must pad remainder with nulls */ \
+      \
+      return dst_str; \
+   }
+
+#if defined(VGO_linux)
+ STPNCPY(VG_Z_LIBC_SONAME, stpncpy)
+#endif
+
+
 /*---------------------- memset ----------------------*/
 
 /* Why are we bothering to intercept this?  It seems entirely
@@ -951,17 +1023,32 @@
    void* VG_REPLACE_FUNCTION_EZU(20210,soname,fnname) \
             (void *s, Int c, SizeT n) \
    { \
-      Addr a  = (Addr)s;   \
-      UInt c4 = (c & 0xFF); \
-      c4 = (c4 << 8) | c4; \
-      c4 = (c4 << 16) | c4; \
-      while ((a & 3) != 0 && n >= 1) \
-         { *(UChar*)a = (UChar)c; a += 1; n -= 1; } \
-      while (n >= 4) \
-         { *(UInt*)a = c4; a += 4; n -= 4; } \
-      while (n >= 1) \
-         { *(UChar*)a = (UChar)c; a += 1; n -= 1; } \
-      return s; \
+      if (sizeof(void*) == 8) { \
+         Addr  a  = (Addr)s;   \
+         ULong c8 = (c & 0xFF); \
+         c8 = (c8 << 8) | c8; \
+         c8 = (c8 << 16) | c8; \
+         c8 = (c8 << 32) | c8; \
+         while ((a & 7) != 0 && n >= 1) \
+            { *(UChar*)a = (UChar)c; a += 1; n -= 1; } \
+         while (n >= 8) \
+            { *(ULong*)a = c8; a += 8; n -= 8; } \
+         while (n >= 1) \
+            { *(UChar*)a = (UChar)c; a += 1; n -= 1; } \
+         return s; \
+      } else { \
+         Addr a  = (Addr)s;   \
+         UInt c4 = (c & 0xFF); \
+         c4 = (c4 << 8) | c4; \
+         c4 = (c4 << 16) | c4; \
+         while ((a & 3) != 0 && n >= 1) \
+            { *(UChar*)a = (UChar)c; a += 1; n -= 1; } \
+         while (n >= 4) \
+            { *(UInt*)a = c4; a += 4; n -= 4; } \
+         while (n >= 1) \
+            { *(UChar*)a = (UChar)c; a += 1; n -= 1; } \
+         return s; \
+      } \
    }
 
 #if defined(VGO_linux)
@@ -981,6 +1068,7 @@
 
 #if defined(VGO_linux)
  MEMMOVE(VG_Z_LIBC_SONAME, memmove)
+ MEMMOVE(VG_Z_LIBC_SONAME, __GI_memmove)
 
 #elif defined(VGO_darwin)
 # if DARWIN_VERS <= DARWIN_10_6
@@ -1001,8 +1089,8 @@
             (const void *srcV, void *dstV, SizeT n) \
    { \
       SizeT i; \
-      Char* dst = (Char*)dstV; \
-      Char* src = (Char*)srcV; \
+      HChar* dst = dstV; \
+      const HChar* src = srcV; \
       if (dst < src) { \
          for (i = 0; i < n; i++) \
             dst[i] = src[i]; \
@@ -1015,6 +1103,7 @@
    }
 
 #if defined(VGO_linux)
+ BCOPY(VG_Z_LIBC_SONAME, bcopy)
 
 #elif defined(VGO_darwin)
  //BCOPY(VG_Z_LIBC_SONAME, bcopy)
@@ -1034,8 +1123,8 @@
             (void *dstV, const void *srcV, SizeT n, SizeT destlen) \
    { \
       SizeT i; \
-      Char* dst = (Char*)dstV; \
-      Char* src = (Char*)srcV; \
+      HChar* dst = dstV;        \
+      const HChar* src = srcV; \
       if (destlen < n) \
          goto badness; \
       if (dst < src) { \
@@ -1074,11 +1163,11 @@
    char* VG_REPLACE_FUNCTION_EZU(20250,soname,fnname) \
             (const char* s, int c_in) \
    { \
-      unsigned char  c        = (unsigned char) c_in; \
-      unsigned char* char_ptr = (unsigned char *)s; \
+      UChar  c        = (UChar) c_in; \
+      UChar* char_ptr = (UChar *)s; \
       while (1) { \
-         if (*char_ptr == 0) return char_ptr; \
-         if (*char_ptr == c) return char_ptr; \
+         if (*char_ptr == 0) return (HChar *)char_ptr;   \
+         if (*char_ptr == c) return (HChar *)char_ptr;   \
          char_ptr++; \
       } \
    }
@@ -1100,10 +1189,10 @@
    char* VG_REPLACE_FUNCTION_EZU(20260,soname,fnname) \
             (const char* s, int c_in) \
    { \
-      unsigned char  c        = (unsigned char) c_in; \
-      unsigned char* char_ptr = (unsigned char *)s; \
+      UChar  c        = (UChar) c_in; \
+      UChar* char_ptr = (UChar *)s; \
       while (1) { \
-         if (*char_ptr == c) return char_ptr; \
+        if (*char_ptr == c) return (HChar *)char_ptr;   \
          char_ptr++; \
       } \
    }
@@ -1127,7 +1216,7 @@
    char* VG_REPLACE_FUNCTION_EZU(20270,soname,fnname) \
             (char* dst, const char* src, SizeT len) \
    { \
-      char* ret = dst; \
+      HChar* ret = dst; \
       if (! len) \
          goto badness; \
       while ((*dst++ = *src++) != '\0') \
@@ -1193,8 +1282,8 @@
    void* VG_REPLACE_FUNCTION_EZU(20290,soname,fnname) \
             ( void *dst, const void *src, SizeT len ) \
    { \
-      register char *d; \
-      register char *s; \
+      register HChar *d; \
+      register HChar *s; \
       SizeT len_saved = len; \
       \
       if (len == 0) \
@@ -1237,8 +1326,8 @@
    void* VG_REPLACE_FUNCTION_EZU(20300,soname,fnname) \
             (void* dst, const void* src, SizeT len, SizeT dstlen ) \
    { \
-      register char *d; \
-      register char *s; \
+      register HChar *d; \
+      register const HChar *s; \
       \
       if (dstlen < len) goto badness; \
       \
@@ -1249,14 +1338,14 @@
          RECORD_OVERLAP_ERROR("memcpy_chk", dst, src, len); \
       \
       if ( dst > src ) { \
-         d = (char *)dst + len - 1; \
-         s = (char *)src + len - 1; \
+         d = (HChar *)dst + len - 1; \
+         s = (const HChar *)src + len - 1; \
          while ( len-- ) { \
             *d-- = *s--; \
          } \
       } else if ( dst < src ) { \
-         d = (char *)dst; \
-         s = (char *)src; \
+         d = (HChar *)dst; \
+         s = (const HChar *)src; \
          while ( len-- ) { \
             *d++ = *s++; \
          } \
@@ -1282,26 +1371,26 @@
 /*---------------------- strstr ----------------------*/
 
 #define STRSTR(soname, fnname) \
-   void* VG_REPLACE_FUNCTION_EZU(20310,soname,fnname) \
-         (void* haystack, void* needle); \
-   void* VG_REPLACE_FUNCTION_EZU(20310,soname,fnname) \
-         (void* haystack, void* needle) \
+   char* VG_REPLACE_FUNCTION_EZU(20310,soname,fnname) \
+         (const char* haystack, const char* needle); \
+   char* VG_REPLACE_FUNCTION_EZU(20310,soname,fnname) \
+         (const char* haystack, const char* needle) \
    { \
-      UChar* h = (UChar*)haystack; \
-      UChar* n = (UChar*)needle; \
+      const HChar* h = haystack; \
+      const HChar* n = needle; \
       \
       /* find the length of n, not including terminating zero */ \
       UWord nlen = 0; \
       while (n[nlen]) nlen++; \
       \
       /* if n is the empty string, match immediately. */ \
-      if (nlen == 0) return h; \
+      if (nlen == 0) return (HChar *)h;                  \
       \
       /* assert(nlen >= 1); */ \
-      UChar n0 = n[0]; \
+      HChar n0 = n[0]; \
       \
       while (1) { \
-         UChar hh = *h; \
+         const HChar hh = *h; \
          if (hh == 0) return NULL; \
          if (hh != n0) { h++; continue; } \
          \
@@ -1312,7 +1401,7 @@
          } \
          /* assert(i >= 0 && i <= nlen); */ \
          if (i == nlen) \
-            return h; \
+           return (HChar *)h;                   \
          \
          h++; \
       } \
@@ -1329,13 +1418,13 @@
 /*---------------------- strpbrk ----------------------*/
 
 #define STRPBRK(soname, fnname) \
-   void* VG_REPLACE_FUNCTION_EZU(20320,soname,fnname) \
-         (void* sV, void* acceptV); \
-   void* VG_REPLACE_FUNCTION_EZU(20320,soname,fnname) \
-         (void* sV, void* acceptV) \
+   char* VG_REPLACE_FUNCTION_EZU(20320,soname,fnname) \
+         (const char* sV, const char* acceptV); \
+   char* VG_REPLACE_FUNCTION_EZU(20320,soname,fnname) \
+         (const char* sV, const char* acceptV) \
    { \
-      UChar* s = (UChar*)sV; \
-      UChar* accept = (UChar*)acceptV; \
+      const HChar* s = sV; \
+      const HChar* accept = acceptV; \
       \
       /*  find the length of 'accept', not including terminating zero */ \
       UWord nacc = 0; \
@@ -1347,12 +1436,12 @@
       /* assert(nacc >= 1); */ \
       while (1) { \
          UWord i; \
-         UChar sc = *s; \
+         HChar sc = *s; \
          if (sc == 0) \
             break; \
          for (i = 0; i < nacc; i++) { \
             if (sc == accept[i]) \
-               return s; \
+              return (HChar *)s; \
          } \
          s++; \
       } \
@@ -1372,12 +1461,12 @@
 
 #define STRCSPN(soname, fnname) \
    SizeT VG_REPLACE_FUNCTION_EZU(20330,soname,fnname) \
-         (void* sV, void* rejectV); \
+         (const char* sV, const char* rejectV); \
    SizeT VG_REPLACE_FUNCTION_EZU(20330,soname,fnname) \
-         (void* sV, void* rejectV) \
+         (const char* sV, const char* rejectV) \
    { \
-      UChar* s = (UChar*)sV; \
-      UChar* reject = (UChar*)rejectV; \
+      const HChar* s = sV; \
+      const HChar* reject = rejectV; \
       \
       /* find the length of 'reject', not including terminating zero */ \
       UWord nrej = 0; \
@@ -1386,7 +1475,7 @@
       UWord len = 0; \
       while (1) { \
          UWord i; \
-         UChar sc = *s; \
+         HChar sc = *s; \
          if (sc == 0) \
             break; \
          for (i = 0; i < nrej; i++) { \
@@ -1415,12 +1504,12 @@
 
 #define STRSPN(soname, fnname) \
    SizeT VG_REPLACE_FUNCTION_EZU(20340,soname,fnname) \
-         (void* sV, void* acceptV); \
+         (const char* sV, const char* acceptV); \
    SizeT VG_REPLACE_FUNCTION_EZU(20340,soname,fnname) \
-         (void* sV, void* acceptV) \
+         (const char* sV, const char* acceptV) \
    { \
-      UChar* s = (UChar*)sV; \
-      UChar* accept = (UChar*)acceptV; \
+      const UChar* s = (const UChar *)sV;        \
+      const UChar* accept = (const UChar *)acceptV;     \
       \
       /* find the length of 'accept', not including terminating zero */ \
       UWord nacc = 0; \
@@ -1430,7 +1519,7 @@
       UWord len = 0; \
       while (1) { \
          UWord i; \
-         UChar sc = *s; \
+         HChar sc = *s; \
          if (sc == 0) \
             break; \
          for (i = 0; i < nacc; i++) { \
@@ -1458,21 +1547,21 @@
 /*---------------------- strcasestr ----------------------*/
 
 #define STRCASESTR(soname, fnname) \
-   void* VG_REPLACE_FUNCTION_EZU(20350,soname,fnname) \
-         (void* haystack, void* needle); \
-   void* VG_REPLACE_FUNCTION_EZU(20350,soname,fnname) \
-         (void* haystack, void* needle) \
+   char* VG_REPLACE_FUNCTION_EZU(20350,soname,fnname) \
+         (const char* haystack, const char* needle); \
+   char* VG_REPLACE_FUNCTION_EZU(20350,soname,fnname) \
+         (const char* haystack, const char* needle) \
    { \
       extern int tolower(int); \
-      UChar* h = (UChar*)haystack; \
-      UChar* n = (UChar*)needle; \
+      const HChar* h = haystack; \
+      const HChar* n = needle;   \
       \
       /* find the length of n, not including terminating zero */ \
       UWord nlen = 0; \
       while (n[nlen]) nlen++; \
       \
       /* if n is the empty string, match immediately. */ \
-      if (nlen == 0) return h; \
+      if (nlen == 0) return (HChar *)h;                  \
       \
       /* assert(nlen >= 1); */ \
       UChar n0 = tolower(n[0]);                 \
@@ -1489,14 +1578,14 @@
          } \
          /* assert(i >= 0 && i <= nlen); */ \
          if (i == nlen) \
-            return h; \
+           return (HChar *)h;                   \
          \
          h++; \
       } \
    }
 
 #if defined(VGO_linux)
-# if !defined(VGPV_arm_linux_android)
+# if !defined(VGPV_arm_linux_android) && !defined(VGPV_x86_linux_android)
   STRCASESTR(VG_Z_LIBC_SONAME,      strcasestr)
 # endif
 
@@ -1505,6 +1594,140 @@
 #endif
 
 
+/*---------------------- wcslen ----------------------*/
+
+// This is a wchar_t equivalent to strlen.  Unfortunately
+// we don't have wchar_t available here, but it looks like
+// a 32 bit int on Linux.  I don't know if that is also
+// valid on MacOSX.
+
+#define WCSLEN(soname, fnname) \
+   SizeT VG_REPLACE_FUNCTION_EZU(20370,soname,fnname) \
+      ( const UInt* str ); \
+   SizeT VG_REPLACE_FUNCTION_EZU(20370,soname,fnname) \
+      ( const UInt* str )  \
+   { \
+      SizeT i = 0; \
+      while (str[i] != 0) i++; \
+      return i; \
+   }
+
+#if defined(VGO_linux)
+ WCSLEN(VG_Z_LIBC_SONAME,          wcslen)
+
+#elif defined(VGO_darwin)
+
+#endif
+
+/*---------------------- wcscmp ----------------------*/
+
+// This is a wchar_t equivalent to strcmp.  We don't
+// have wchar_t available here, but in the GNU C Library
+// wchar_t is always 32 bits wide and wcscmp uses signed
+// comparison, not unsigned as in strcmp function.
+
+#define WCSCMP(soname, fnname) \
+   int VG_REPLACE_FUNCTION_EZU(20380,soname,fnname) \
+          ( const Int* s1, const Int* s2 ); \
+   int VG_REPLACE_FUNCTION_EZU(20380,soname,fnname) \
+          ( const Int* s1, const Int* s2 ) \
+   { \
+      register Int c1; \
+      register Int c2; \
+      while (True) { \
+         c1 = *s1; \
+         c2 = *s2; \
+         if (c1 != c2) break; \
+         if (c1 == 0) break; \
+         s1++; s2++; \
+      } \
+      if (c1 < c2) return -1; \
+      if (c1 > c2) return 1; \
+      return 0; \
+   }
+
+#if defined(VGO_linux)
+ WCSCMP(VG_Z_LIBC_SONAME,          wcscmp)
+#endif
+
+/*---------------------- wcscpy ----------------------*/
+
+// This is a wchar_t equivalent to strcpy.  We don't
+// have wchar_t available here, but in the GNU C Library
+// wchar_t is always 32 bits wide.
+
+#define WCSCPY(soname, fnname) \
+   Int* VG_REPLACE_FUNCTION_EZU(20390,soname,fnname) \
+      ( Int* dst, const Int* src ); \
+   Int* VG_REPLACE_FUNCTION_EZU(20390,soname,fnname) \
+      ( Int* dst, const Int* src ) \
+   { \
+      const Int* src_orig = src; \
+            Int* dst_orig = dst; \
+      \
+      while (*src) *dst++ = *src++; \
+      *dst = 0; \
+      \
+      /* This checks for overlap after copying, unavoidable without */ \
+      /* pre-counting length... should be ok */ \
+      if (is_overlap(dst_orig,  \
+                     src_orig,  \
+                     (Addr)dst-(Addr)dst_orig+1, \
+                     (Addr)src-(Addr)src_orig+1)) \
+         RECORD_OVERLAP_ERROR("wcscpy", dst_orig, src_orig, 0); \
+      \
+      return dst_orig; \
+   }
+
+#if defined(VGO_linux)
+ WCSCPY(VG_Z_LIBC_SONAME, wcscpy)
+#endif
+
+
+/*---------------------- wcschr ----------------------*/
+
+// This is a wchar_t equivalent to strchr.  We don't
+// have wchar_t available here, but in the GNU C Library
+// wchar_t is always 32 bits wide.
+
+#define WCSCHR(soname, fnname) \
+   Int* VG_REPLACE_FUNCTION_EZU(20400,soname,fnname) ( const Int* s, Int c ); \
+   Int* VG_REPLACE_FUNCTION_EZU(20400,soname,fnname) ( const Int* s, Int c ) \
+   { \
+      Int* p  = (Int*)s; \
+      while (True) { \
+         if (*p == c) return p; \
+         if (*p == 0) return NULL; \
+         p++; \
+      } \
+   }
+
+#if defined(VGO_linux)
+ WCSCHR(VG_Z_LIBC_SONAME,          wcschr)
+#endif
+/*---------------------- wcsrchr ----------------------*/
+
+// This is a wchar_t equivalent to strrchr.  We don't
+// have wchar_t available here, but in the GNU C Library
+// wchar_t is always 32 bits wide.
+
+#define WCSRCHR(soname, fnname) \
+   Int* VG_REPLACE_FUNCTION_EZU(20410,soname,fnname)( const Int* s, Int c ); \
+   Int* VG_REPLACE_FUNCTION_EZU(20410,soname,fnname)( const Int* s, Int c ) \
+   { \
+      Int* p    = (Int*) s; \
+      Int* last = NULL; \
+      while (True) { \
+         if (*p == c) last = p; \
+         if (*p == 0) return last; \
+         p++; \
+      } \
+   }
+
+#if defined(VGO_linux)
+ WCSRCHR(VG_Z_LIBC_SONAME, wcsrchr)
+#endif
+
 /*------------------------------------------------------------*/
 /*--- Improve definedness checking of process environment  ---*/
 /*------------------------------------------------------------*/
@@ -1522,7 +1745,7 @@
 {
     OrigFn fn;
     Word result;
-    const char* p = string;
+    const HChar* p = string;
     VALGRIND_GET_ORIG_FN(fn);
     /* Now by walking over the string we magically produce
        traces when hitting undefined memory. */
@@ -1541,7 +1764,7 @@
 {
     OrigFn fn;
     Word result;
-    const char* p = name;
+    const HChar* p = name;
     VALGRIND_GET_ORIG_FN(fn);
     /* Now by walking over the string we magically produce
        traces when hitting undefined memory. */
@@ -1563,7 +1786,7 @@
 {
     OrigFn fn;
     Word result;
-    const char* p;
+    const HChar* p;
     VALGRIND_GET_ORIG_FN(fn);
     /* Now by walking over the string we magically produce
        traces when hitting undefined memory. */
diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c
index ece225e..74d4ca5 100644
--- a/memcheck/mc_translate.c
+++ b/memcheck/mc_translate.c
@@ -8,7 +8,7 @@
    This file is part of MemCheck, a heavyweight Valgrind tool for
    detecting memory errors.
 
-   Copyright (C) 2000-2011 Julian Seward 
+   Copyright (C) 2000-2012 Julian Seward 
       jseward@acm.org
 
    This program is free software; you can redistribute it and/or
@@ -119,6 +119,11 @@
    In practice, 1 and 2 account for the vast majority of cases.
 */
 
+/* Generation of addr-definedness, addr-validity and
+   guard-definedness checks pertaining to loads and stores (Iex_Load,
+   Ist_Store, IRLoadG, IRStoreG, LLSC, CAS and Dirty memory
+   loads/stores) was re-checked 11 May 2013. */
+
 /*------------------------------------------------------------*/
 /*--- Forward decls                                        ---*/
 /*------------------------------------------------------------*/
@@ -358,7 +363,7 @@
 /* Shadow state is always accessed using integer types.  This returns
    an integer type with the same size (as per sizeofIRType) as the
    given type.  The only valid shadow types are Bit, I8, I16, I32,
-   I64, I128, V128. */
+   I64, I128, V128, V256. */
 
 static IRType shadowTypeV ( IRType ty )
 {
@@ -376,6 +381,7 @@
       case Ity_F128: return Ity_I128;
       case Ity_D128: return Ity_I128;
       case Ity_V128: return Ity_V128;
+      case Ity_V256: return Ity_V256;
       default: ppIRType(ty); 
                VG_(tool_panic)("memcheck:shadowTypeV");
    }
@@ -422,6 +428,7 @@
                                  IRExpr_Triop((_op),(_arg1),(_arg2),(_arg3))
 #define binop(_op, _arg1, _arg2) IRExpr_Binop((_op),(_arg1),(_arg2))
 #define unop(_op, _arg)          IRExpr_Unop((_op),(_arg))
+#define mkU1(_n)                 IRExpr_Const(IRConst_U1(_n))
 #define mkU8(_n)                 IRExpr_Const(IRConst_U8(_n))
 #define mkU16(_n)                IRExpr_Const(IRConst_U16(_n))
 #define mkU32(_n)                IRExpr_Const(IRConst_U32(_n))
@@ -461,14 +468,17 @@
 /*------------------------------------------------------------*/
 /*--- Helper functions for 128-bit ops                     ---*/
 /*------------------------------------------------------------*/
+
 static IRExpr *i128_const_zero(void)
 {
-  return binop(Iop_64HLto128, IRExpr_Const(IRConst_U64(0)),
-               IRExpr_Const(IRConst_U64(0)));
+   IRAtom* z64 = IRExpr_Const(IRConst_U64(0));
+   return binop(Iop_64HLto128, z64, z64);
 }
 
-/* There are no 128-bit loads and/or stores. So we do not need to worry
-   about that in expr2vbits_Load */
+/* There are no I128-bit loads and/or stores [as generated by any
+   current front ends].  So we do not need to worry about that in
+   expr2vbits_Load */
+
 
 /*------------------------------------------------------------*/
 /*--- Constructing definedness primitive ops               ---*/
@@ -506,6 +516,12 @@
    return assignNew('V', mce, Ity_V128, binop(Iop_AndV128, a1, a2));
 }
 
+static IRAtom* mkDifDV256 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
+   tl_assert(isShadowAtom(mce,a1));
+   tl_assert(isShadowAtom(mce,a2));
+   return assignNew('V', mce, Ity_V256, binop(Iop_AndV256, a1, a2));
+}
+
 /* --------- Undefined-if-either-undefined --------- */
 
 static IRAtom* mkUifU8 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
@@ -552,6 +568,12 @@
    return assignNew('V', mce, Ity_V128, binop(Iop_OrV128, a1, a2));
 }
 
+static IRAtom* mkUifUV256 ( MCEnv* mce, IRAtom* a1, IRAtom* a2 ) {
+   tl_assert(isShadowAtom(mce,a1));
+   tl_assert(isShadowAtom(mce,a2));
+   return assignNew('V', mce, Ity_V256, binop(Iop_OrV256, a1, a2));
+}
+
 static IRAtom* mkUifU ( MCEnv* mce, IRType vty, IRAtom* a1, IRAtom* a2 ) {
    switch (vty) {
       case Ity_I8:   return mkUifU8(mce, a1, a2);
@@ -560,6 +582,7 @@
       case Ity_I64:  return mkUifU64(mce, a1, a2);
       case Ity_I128: return mkUifU128(mce, a1, a2);
       case Ity_V128: return mkUifUV128(mce, a1, a2);
+      case Ity_V256: return mkUifUV256(mce, a1, a2);
       default:
          VG_(printf)("\n"); ppIRType(vty); VG_(printf)("\n");
          VG_(tool_panic)("memcheck:mkUifU");
@@ -633,6 +656,14 @@
    return assignNew('V', mce, Ity_V128, binop(Iop_OrV128, data, vbits));
 }
 
+static IRAtom* mkImproveANDV256 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
+{
+   tl_assert(isOriginalAtom(mce, data));
+   tl_assert(isShadowAtom(mce, vbits));
+   tl_assert(sameKindedAtoms(data, vbits));
+   return assignNew('V', mce, Ity_V256, binop(Iop_OrV256, data, vbits));
+}
+
 /* ImproveOR(data, vbits) = ~data OR vbits.  Defined (0) data 1s give
    defined (0); all other -> undefined (1).
 */
@@ -696,6 +727,18 @@
                    vbits) );
 }
 
+static IRAtom* mkImproveORV256 ( MCEnv* mce, IRAtom* data, IRAtom* vbits )
+{
+   tl_assert(isOriginalAtom(mce, data));
+   tl_assert(isShadowAtom(mce, vbits));
+   tl_assert(sameKindedAtoms(data, vbits));
+   return assignNew(
+             'V', mce, Ity_V256, 
+             binop(Iop_OrV256, 
+                   assignNew('V', mce, Ity_V256, unop(Iop_NotV256, data)), 
+                   vbits) );
+}
+
 /* --------- Pessimising casts. --------- */
 
 /* The function returns an expression of type DST_TY. If any of the VBITS
@@ -706,8 +749,8 @@
 {
    IRType  src_ty;
    IRAtom* tmp1;
+
    /* Note, dst_ty is a shadow type, not an original type. */
-   /* First of all, collapse vbits down to a single bit. */
    tl_assert(isShadowAtom(mce,vbits));
    src_ty = typeOfIRExpr(mce->sb->tyenv, vbits);
 
@@ -719,11 +762,20 @@
       return assignNew('V', mce, Ity_I64, unop(Iop_CmpwNEZ64, vbits));
 
    if (src_ty == Ity_I32 && dst_ty == Ity_I64) {
+      /* PCast the arg, then clone it. */
       IRAtom* tmp = assignNew('V', mce, Ity_I32, unop(Iop_CmpwNEZ32, vbits));
       return assignNew('V', mce, Ity_I64, binop(Iop_32HLto64, tmp, tmp));
    }
 
+   if (src_ty == Ity_I64 && dst_ty == Ity_I32) {
+      /* PCast the arg.  This gives all 0s or all 1s.  Then throw away
+         the top half. */
+      IRAtom* tmp = assignNew('V', mce, Ity_I64, unop(Iop_CmpwNEZ64, vbits));
+      return assignNew('V', mce, Ity_I32, unop(Iop_64to32, tmp));
+   }
+
    /* Else do it the slow way .. */
+   /* First of all, collapse vbits down to a single bit. */
    tmp1   = NULL;
    switch (src_ty) {
       case Ity_I1:
@@ -776,6 +828,13 @@
          tmp1 = assignNew('V', mce, Ity_I64,  unop(Iop_1Sto64, tmp1));
          tmp1 = assignNew('V', mce, Ity_I128, binop(Iop_64HLto128, tmp1, tmp1));
          return tmp1;
+      case Ity_V256:
+         tmp1 = assignNew('V', mce, Ity_I64,  unop(Iop_1Sto64, tmp1));
+         tmp1 = assignNew('V', mce, Ity_V128, binop(Iop_64HLtoV128,
+                                                    tmp1, tmp1));
+         tmp1 = assignNew('V', mce, Ity_V256, binop(Iop_V128HLtoV256,
+                                                    tmp1, tmp1));
+         return tmp1;
       default: 
          ppIRType(dst_ty);
          VG_(tool_panic)("mkPCastTo(2)");
@@ -842,6 +901,15 @@
    tl_assert(sameKindedAtoms(vyy,yy));
  
    switch (ty) {
+      case Ity_I16:
+         opOR   = Iop_Or16;
+         opDIFD = Iop_And16;
+         opUIFU = Iop_Or16;
+         opNOT  = Iop_Not16;
+         opXOR  = Iop_Xor16;
+         opCMP  = Iop_CmpEQ16;
+         top    = mkU16(0xFFFF);
+         break;
       case Ity_I32:
          opOR   = Iop_Or32;
          opDIFD = Iop_And32;
@@ -1023,26 +1091,39 @@
 
 static void setHelperAnns ( MCEnv* mce, IRDirty* di ) {
    di->nFxState = 2;
-   di->fxState[0].fx     = Ifx_Read;
-   di->fxState[0].offset = mce->layout->offset_SP;
-   di->fxState[0].size   = mce->layout->sizeof_SP;
-   di->fxState[1].fx     = Ifx_Read;
-   di->fxState[1].offset = mce->layout->offset_IP;
-   di->fxState[1].size   = mce->layout->sizeof_IP;
+   di->fxState[0].fx        = Ifx_Read;
+   di->fxState[0].offset    = mce->layout->offset_SP;
+   di->fxState[0].size      = mce->layout->sizeof_SP;
+   di->fxState[0].nRepeats  = 0;
+   di->fxState[0].repeatLen = 0;
+   di->fxState[1].fx        = Ifx_Read;
+   di->fxState[1].offset    = mce->layout->offset_IP;
+   di->fxState[1].size      = mce->layout->sizeof_IP;
+   di->fxState[1].nRepeats  = 0;
+   di->fxState[1].repeatLen = 0;
 }
 
 
-/* Check the supplied **original** atom for undefinedness, and emit a
+/* Check the supplied *original* |atom| for undefinedness, and emit a
    complaint if so.  Once that happens, mark it as defined.  This is
    possible because the atom is either a tmp or literal.  If it's a
    tmp, it will be shadowed by a tmp, and so we can set the shadow to
    be defined.  In fact as mentioned above, we will have to allocate a
    new tmp to carry the new 'defined' shadow value, and update the
    original->tmp mapping accordingly; we cannot simply assign a new
-   value to an existing shadow tmp as this breaks SSAness -- resulting
-   in the post-instrumentation sanity checker spluttering in disapproval. 
+   value to an existing shadow tmp as this breaks SSAness.
+
+   The checks are performed, any resulting complaint emitted, and
+   |atom|'s shadow temp set to 'defined', ONLY in the case that
+   |guard| evaluates to True at run-time.  If it evaluates to False
+   then no action is performed.  If |guard| is NULL (the usual case)
+   then it is assumed to be always-true, and hence these actions are
+   performed unconditionally.
+
+   This routine does not generate code to check the definedness of
+   |guard|.  The caller is assumed to have taken care of that already.
 */
-static void complainIfUndefined ( MCEnv* mce, IRAtom* atom )
+static void complainIfUndefined ( MCEnv* mce, IRAtom* atom, IRExpr *guard )
 {
    IRAtom*  vatom;
    IRType   ty;
@@ -1051,7 +1132,7 @@
    IRAtom*  cond;
    IRAtom*  origin;
    void*    fn;
-   HChar*   nm;
+   const HChar* nm;
    IRExpr** args;
    Int      nargs;
 
@@ -1059,6 +1140,9 @@
    if (MC_(clo_mc_level) == 1)
       return;
 
+   if (guard)
+      tl_assert(isOriginalAtom(mce, guard));
+
    /* Since the original expression is atomic, there's no duplicated
       work generated by making multiple V-expressions for it.  So we
       don't really care about the possibility that someone else may
@@ -1173,20 +1257,46 @@
 
    di = unsafeIRDirty_0_N( nargs/*regparms*/, nm, 
                            VG_(fnptr_to_fnentry)( fn ), args );
-   di->guard = cond;
+   di->guard = cond; // and cond is PCast-to-1(atom#)
+
+   /* If the complaint is to be issued under a guard condition, AND
+      that into the guard condition for the helper call. */
+   if (guard) {
+      IRAtom *g1 = assignNew('V', mce, Ity_I32, unop(Iop_1Uto32, di->guard));
+      IRAtom *g2 = assignNew('V', mce, Ity_I32, unop(Iop_1Uto32, guard));
+      IRAtom *e  = assignNew('V', mce, Ity_I32, binop(Iop_And32, g1, g2));
+      di->guard  = assignNew('V', mce, Ity_I1,  unop(Iop_32to1, e));
+   }
+
    setHelperAnns( mce, di );
    stmt( 'V', mce, IRStmt_Dirty(di));
 
-   /* Set the shadow tmp to be defined.  First, update the
-      orig->shadow tmp mapping to reflect the fact that this shadow is
-      getting a new value. */
+   /* If |atom| is shadowed by an IRTemp, set the shadow tmp to be
+      defined -- but only in the case where the guard evaluates to
+      True at run-time.  Do the update by setting the orig->shadow
+      mapping for tmp to reflect the fact that this shadow is getting
+      a new value. */
    tl_assert(isIRAtom(vatom));
    /* sameKindedAtoms ... */
    if (vatom->tag == Iex_RdTmp) {
       tl_assert(atom->tag == Iex_RdTmp);
-      newShadowTmpV(mce, atom->Iex.RdTmp.tmp);
-      assign('V', mce, findShadowTmpV(mce, atom->Iex.RdTmp.tmp), 
-                       definedOfType(ty));
+      if (guard == NULL) {
+         // guard is 'always True', hence update unconditionally
+         newShadowTmpV(mce, atom->Iex.RdTmp.tmp);
+         assign('V', mce, findShadowTmpV(mce, atom->Iex.RdTmp.tmp), 
+                          definedOfType(ty));
+      } else {
+         // update the temp only conditionally.  Do this by copying
+         // its old value when the guard is False.
+         // The old value ..
+         IRTemp old_tmpV = findShadowTmpV(mce, atom->Iex.RdTmp.tmp);
+         newShadowTmpV(mce, atom->Iex.RdTmp.tmp);
+         IRAtom* new_tmpV
+            = assignNew('V', mce, shadowTypeV(ty),
+                        IRExpr_ITE(guard, definedOfType(ty),
+                                          mkexpr(old_tmpV)));
+         assign('V', mce, findShadowTmpV(mce, atom->Iex.RdTmp.tmp), new_tmpV);
+      }
    }
 }
 
@@ -1230,10 +1340,11 @@
    supplied V bits to the shadow state.  We can pass in either an
    original atom or a V-atom, but not both.  In the former case the
    relevant V-bits are then generated from the original.
+   We assume here, that the definedness of GUARD has already been checked.
 */
 static
 void do_shadow_PUT ( MCEnv* mce,  Int offset, 
-                     IRAtom* atom, IRAtom* vatom )
+                     IRAtom* atom, IRAtom* vatom, IRExpr *guard )
 {
    IRType ty;
 
@@ -1261,7 +1372,17 @@
       /* complainIfUndefined(mce, atom); */
    } else {
       /* Do a plain shadow Put. */
-      stmt( 'V', mce, IRStmt_Put( offset + mce->layout->total_sizeB, vatom ) );
+      if (guard) {
+         /* If the guard expression evaluates to false we simply Put the value
+            that is already stored in the guest state slot */
+         IRAtom *cond, *iffalse;
+
+         cond    = assignNew('V', mce, Ity_I1, guard);
+         iffalse = assignNew('V', mce, ty,
+                             IRExpr_Get(offset + mce->layout->total_sizeB, ty));
+         vatom   = assignNew('V', mce, ty, IRExpr_ITE(cond, vatom, iffalse));
+      }
+      stmt( 'V', mce, IRStmt_Put( offset + mce->layout->total_sizeB, vatom ));
    }
 }
 
@@ -1270,13 +1391,15 @@
    given GETI (passed in in pieces). 
 */
 static
-void do_shadow_PUTI ( MCEnv* mce, 
-                      IRRegArray* descr, 
-                      IRAtom* ix, Int bias, IRAtom* atom )
+void do_shadow_PUTI ( MCEnv* mce, IRPutI *puti)
 {
    IRAtom* vatom;
    IRType  ty, tyS;
    Int     arrSize;;
+   IRRegArray* descr = puti->descr;
+   IRAtom*     ix    = puti->ix;
+   Int         bias  = puti->bias;
+   IRAtom*     atom  = puti->data;
 
    // Don't do shadow PUTIs if we're not doing undefined value checking.
    // Their absence lets Vex's optimiser remove all the shadow computation
@@ -1292,7 +1415,7 @@
    arrSize = descr->nElems * sizeofIRType(ty);
    tl_assert(ty != Ity_I1);
    tl_assert(isOriginalAtom(mce,ix));
-   complainIfUndefined(mce,ix);
+   complainIfUndefined(mce, ix, NULL);
    if (isAlwaysDefd(mce, descr->base, arrSize)) {
       /* later: no ... */
       /* emit code to emit a complaint if any of the vbits are 1. */
@@ -1303,7 +1426,7 @@
       IRRegArray* new_descr 
          = mkIRRegArray( descr->base + mce->layout->total_sizeB, 
                          tyS, descr->nElems);
-      stmt( 'V', mce, IRStmt_PutI( new_descr, ix, bias, vatom ));
+      stmt( 'V', mce, IRStmt_PutI( mkIRPutI(new_descr, ix, bias, vatom) ));
    }
 }
 
@@ -1341,7 +1464,7 @@
    Int arrSize = descr->nElems * sizeofIRType(ty);
    tl_assert(ty != Ity_I1);
    tl_assert(isOriginalAtom(mce,ix));
-   complainIfUndefined(mce,ix);
+   complainIfUndefined(mce, ix, NULL);
    if (isAlwaysDefd(mce, descr->base, arrSize)) {
       /* Always defined, return all zeroes of the relevant type */
       return definedOfType(tyS);
@@ -1445,6 +1568,23 @@
       return at;
    }
 
+   /* I32 x I8 x I64 -> I64 */
+   if (t1 == Ity_I32 && t2 == Ity_I8 && t3 == Ity_I64
+       && finalVty == Ity_I64) {
+      if (0) VG_(printf)("mkLazy3: I32 x I8 x I64 -> I64\n");
+      /* Widen 1st and 2nd args to I64.  Since 1st arg is typically a
+       * rounding mode indication which is fully defined, this should
+       * get folded out later.
+      */
+      IRAtom* at1 = mkPCastTo(mce, Ity_I64, va1);
+      IRAtom* at2 = mkPCastTo(mce, Ity_I64, va2);
+      at = mkUifU(mce, Ity_I64, at1, at2);  // UifU(PCast(va1), PCast(va2))
+      at = mkUifU(mce, Ity_I64, at, va3);
+      /* and PCast once again. */
+      at = mkPCastTo(mce, Ity_I64, at);
+      return at;
+   }
+
    /* I32 x I64 x I64 -> I32 */
    if (t1 == Ity_I32 && t2 == Ity_I64 && t3 == Ity_I64 
        && finalVty == Ity_I32) {
@@ -1484,6 +1624,26 @@
       at = mkPCastTo(mce, Ity_I128, at);
       return at;
    }
+
+   /* I32 x I8 x I128 -> I128 */
+   /* Standard FP idiom: rm x FParg1 x FParg2 -> FPresult */
+   if (t1 == Ity_I32 && t2 == Ity_I8 && t3 == Ity_I128
+       && finalVty == Ity_I128) {
+      if (0) VG_(printf)("mkLazy3: I32 x I8 x I128 -> I128\n");
+      /* Use I64 as an intermediate type, which means PCasting all 3
+         args to I64 to start with. 1st arg is typically a rounding
+         mode indication which is fully defined, so we hope that it
+         will get folded out later. */
+      IRAtom* at1 = mkPCastTo(mce, Ity_I64, va1);
+      IRAtom* at2 = mkPCastTo(mce, Ity_I64, va2);
+      IRAtom* at3 = mkPCastTo(mce, Ity_I64, va3);
+      /* Now UifU all three together. */
+      at = mkUifU(mce, Ity_I64, at1, at2);  // UifU(PCast(va1), PCast(va2))
+      at = mkUifU(mce, Ity_I64, at, at3);   // ... `UifU` PCast(va3)
+      /* and PCast once again. */
+      at = mkPCastTo(mce, Ity_I128, at);
+      return at;
+   }
    if (1) {
       VG_(printf)("mkLazy3: ");
       ppIRType(t1);
@@ -1720,6 +1880,60 @@
 }
 
 
+static
+IRAtom* expensiveCountTrailingZeroes ( MCEnv* mce, IROp czop,
+                                       IRAtom* atom, IRAtom* vatom )
+{
+   IRType ty;
+   IROp xorOp, subOp, andOp;
+   IRExpr *one;
+   IRAtom *improver, *improved;
+   tl_assert(isShadowAtom(mce,vatom));
+   tl_assert(isOriginalAtom(mce,atom));
+   tl_assert(sameKindedAtoms(atom,vatom));
+
+   switch (czop) {
+      case Iop_Ctz32:
+         ty = Ity_I32;
+         xorOp = Iop_Xor32;
+         subOp = Iop_Sub32;
+         andOp = Iop_And32;
+         one = mkU32(1);
+         break;
+      case Iop_Ctz64:
+         ty = Ity_I64;
+         xorOp = Iop_Xor64;
+         subOp = Iop_Sub64;
+         andOp = Iop_And64;
+         one = mkU64(1);
+         break;
+      default:
+         ppIROp(czop);
+         VG_(tool_panic)("memcheck:expensiveCountTrailingZeroes");
+   }
+
+   // improver = atom ^ (atom - 1)
+   //
+   // That is, improver has its low ctz(atom) bits equal to one;
+   // higher bits (if any) equal to zero.
+   improver = assignNew('V', mce,ty,
+                        binop(xorOp,
+                              atom,
+                              assignNew('V', mce, ty,
+                                        binop(subOp, atom, one))));
+
+   // improved = vatom & improver
+   //
+   // That is, treat any V bits above the first ctz(atom) bits as
+   // "defined".
+   improved = assignNew('V', mce, ty,
+                        binop(andOp, vatom, improver));
+
+   // Return pessimizing cast of improved.
+   return mkPCastTo(mce, ty, improved);
+}
+
+
 /*------------------------------------------------------------*/
 /*--- Scalar shifts.                                       ---*/
 /*------------------------------------------------------------*/
@@ -1792,16 +2006,36 @@
    return assignNew('V', mce, Ity_V128, unop(Iop_CmpNEZ64x2, at));
 }
 
+static IRAtom* mkPCast64x4 ( MCEnv* mce, IRAtom* at )
+{
+   return assignNew('V', mce, Ity_V256, unop(Iop_CmpNEZ64x4, at));
+}
+
+static IRAtom* mkPCast32x8 ( MCEnv* mce, IRAtom* at )
+{
+   return assignNew('V', mce, Ity_V256, unop(Iop_CmpNEZ32x8, at));
+}
+
 static IRAtom* mkPCast32x2 ( MCEnv* mce, IRAtom* at )
 {
    return assignNew('V', mce, Ity_I64, unop(Iop_CmpNEZ32x2, at));
 }
 
+static IRAtom* mkPCast16x16 ( MCEnv* mce, IRAtom* at )
+{
+   return assignNew('V', mce, Ity_V256, unop(Iop_CmpNEZ16x16, at));
+}
+
 static IRAtom* mkPCast16x4 ( MCEnv* mce, IRAtom* at )
 {
    return assignNew('V', mce, Ity_I64, unop(Iop_CmpNEZ16x4, at));
 }
 
+static IRAtom* mkPCast8x32 ( MCEnv* mce, IRAtom* at )
+{
+   return assignNew('V', mce, Ity_V256, unop(Iop_CmpNEZ8x32, at));
+}
+
 static IRAtom* mkPCast8x8 ( MCEnv* mce, IRAtom* at )
 {
    return assignNew('V', mce, Ity_I64, unop(Iop_CmpNEZ8x8, at));
@@ -1966,6 +2200,50 @@
    return at;
 }
 
+/* --- ... and ... 64Fx4 versions of the same ... --- */
+
+static
+IRAtom* binary64Fx4 ( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY )
+{
+   IRAtom* at;
+   tl_assert(isShadowAtom(mce, vatomX));
+   tl_assert(isShadowAtom(mce, vatomY));
+   at = mkUifUV256(mce, vatomX, vatomY);
+   at = assignNew('V', mce, Ity_V256, mkPCast64x4(mce, at));
+   return at;
+}
+
+static
+IRAtom* unary64Fx4 ( MCEnv* mce, IRAtom* vatomX )
+{
+   IRAtom* at;
+   tl_assert(isShadowAtom(mce, vatomX));
+   at = assignNew('V', mce, Ity_V256, mkPCast64x4(mce, vatomX));
+   return at;
+}
+
+/* --- ... and ... 32Fx8 versions of the same ... --- */
+
+static
+IRAtom* binary32Fx8 ( MCEnv* mce, IRAtom* vatomX, IRAtom* vatomY )
+{
+   IRAtom* at;
+   tl_assert(isShadowAtom(mce, vatomX));
+   tl_assert(isShadowAtom(mce, vatomY));
+   at = mkUifUV256(mce, vatomX, vatomY);
+   at = assignNew('V', mce, Ity_V256, mkPCast32x8(mce, at));
+   return at;
+}
+
+static
+IRAtom* unary32Fx8 ( MCEnv* mce, IRAtom* vatomX )
+{
+   IRAtom* at;
+   tl_assert(isShadowAtom(mce, vatomX));
+   at = assignNew('V', mce, Ity_V256, mkPCast32x8(mce, vatomX));
+   return at;
+}
+
 /* --- --- Vector saturated narrowing --- --- */
 
 /* We used to do something very clever here, but on closer inspection
@@ -2162,6 +2440,44 @@
 
 /* Simple ... UifU the args and per-lane pessimise the results. */
 
+/* --- V256-bit versions --- */
+
+static
+IRAtom* binary8Ix32 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
+{
+   IRAtom* at;
+   at = mkUifUV256(mce, vatom1, vatom2);
+   at = mkPCast8x32(mce, at);
+   return at;   
+}
+
+static
+IRAtom* binary16Ix16 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
+{
+   IRAtom* at;
+   at = mkUifUV256(mce, vatom1, vatom2);
+   at = mkPCast16x16(mce, at);
+   return at;   
+}
+
+static
+IRAtom* binary32Ix8 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
+{
+   IRAtom* at;
+   at = mkUifUV256(mce, vatom1, vatom2);
+   at = mkPCast32x8(mce, at);
+   return at;   
+}
+
+static
+IRAtom* binary64Ix4 ( MCEnv* mce, IRAtom* vatom1, IRAtom* vatom2 )
+{
+   IRAtom* at;
+   at = mkUifUV256(mce, vatom1, vatom2);
+   at = mkPCast64x4(mce, at);
+   return at;   
+}
+
 /* --- V128-bit versions --- */
 
 static
@@ -2299,6 +2615,11 @@
          /* I32(rm) x F32 x F32 x F32 -> F32 */
          return mkLazy4(mce, Ity_I32, vatom1, vatom2, vatom3, vatom4);
 
+      /* V256-bit data-steering */
+      case Iop_64x4toV256:
+         return assignNew('V', mce, Ity_V256,
+                          IRExpr_Qop(op, vatom1, vatom2, vatom3, vatom4));
+
       default:
          ppIROp(op);
          VG_(tool_panic)("memcheck:expr2vbits_Qop");
@@ -2333,7 +2654,8 @@
       case Iop_MulD128:
       case Iop_DivF128:
       case Iop_DivD128:
-         /* I32(rm) x F128 x F128 -> F128 */
+      case Iop_QuantizeD128:
+         /* I32(rm) x F128/D128 x F128/D128 -> F128/D128 */
          return mkLazy3(mce, Ity_I128, vatom1, vatom2, vatom3);
       case Iop_AddF64:
       case Iop_AddD64:
@@ -2353,7 +2675,8 @@
       case Iop_AtanF64:
       case Iop_PRemF64:
       case Iop_PRem1F64:
-         /* I32(rm) x F64 x F64 -> F64 */
+      case Iop_QuantizeD64:
+         /* I32(rm) x F64/D64 x F64/D64 -> F64/D64 */
          return mkLazy3(mce, Ity_I64, vatom1, vatom2, vatom3);
       case Iop_PRemC3210F64:
       case Iop_PRem1C3210F64:
@@ -2365,16 +2688,22 @@
       case Iop_DivF32:
          /* I32(rm) x F32 x F32 -> I32 */
          return mkLazy3(mce, Ity_I32, vatom1, vatom2, vatom3);
+      case Iop_SignificanceRoundD64:
+         /* IRRoundingMode(I32) x I8 x D64 -> D64 */
+         return mkLazy3(mce, Ity_I64, vatom1, vatom2, vatom3);
+      case Iop_SignificanceRoundD128:
+         /* IRRoundingMode(I32) x I8 x D128 -> D128 */
+         return mkLazy3(mce, Ity_I128, vatom1, vatom2, vatom3);
       case Iop_ExtractV128:
-         complainIfUndefined(mce, atom3);
+         complainIfUndefined(mce, atom3, NULL);
          return assignNew('V', mce, Ity_V128, triop(op, vatom1, vatom2, atom3));
       case Iop_Extract64:
-         complainIfUndefined(mce, atom3);
+         complainIfUndefined(mce, atom3, NULL);
          return assignNew('V', mce, Ity_I64, triop(op, vatom1, vatom2, atom3));
       case Iop_SetElem8x8:
       case Iop_SetElem16x4:
       case Iop_SetElem32x2:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return assignNew('V', mce, Ity_I64, triop(op, vatom1, atom2, vatom3));
       default:
          ppIROp(op);
@@ -2414,6 +2743,7 @@
       case Iop_HSub16Sx2:
       case Iop_QAdd16Sx2:
       case Iop_QSub16Sx2:
+      case Iop_QSub16Ux2:
          return binary16Ix2(mce, vatom1, vatom2);
 
       case Iop_Add8x4:
@@ -2440,7 +2770,7 @@
       case Iop_ShlN32x2:
       case Iop_ShlN8x8:
          /* Same scheme as with all other shifts. */
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return assignNew('V', mce, Ity_I64, binop(op, vatom1, atom2));
 
       case Iop_QNarrowBin32Sto16Sx4:
@@ -2523,25 +2853,25 @@
       case Iop_QShlN8Sx8:
       case Iop_QShlN8x8:
       case Iop_QSalN8x8:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return mkPCast8x8(mce, vatom1);
 
       case Iop_QShlN16Sx4:
       case Iop_QShlN16x4:
       case Iop_QSalN16x4:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return mkPCast16x4(mce, vatom1);
 
       case Iop_QShlN32Sx2:
       case Iop_QShlN32x2:
       case Iop_QSalN32x2:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return mkPCast32x2(mce, vatom1);
 
       case Iop_QShlN64Sx1:
       case Iop_QShlN64x1:
       case Iop_QSalN64x1:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return mkPCast32x2(mce, vatom1);
 
       case Iop_PwMax32Sx2:
@@ -2550,38 +2880,48 @@
       case Iop_PwMin32Ux2:
       case Iop_PwMax32Fx2:
       case Iop_PwMin32Fx2:
-         return assignNew('V', mce, Ity_I64, binop(Iop_PwMax32Ux2, mkPCast32x2(mce, vatom1),
-                     mkPCast32x2(mce, vatom2)));
+         return assignNew('V', mce, Ity_I64,
+                          binop(Iop_PwMax32Ux2, 
+                                mkPCast32x2(mce, vatom1),
+                                mkPCast32x2(mce, vatom2)));
 
       case Iop_PwMax16Sx4:
       case Iop_PwMax16Ux4:
       case Iop_PwMin16Sx4:
       case Iop_PwMin16Ux4:
-         return assignNew('V', mce, Ity_I64, binop(Iop_PwMax16Ux4, mkPCast16x4(mce, vatom1),
-                     mkPCast16x4(mce, vatom2)));
+         return assignNew('V', mce, Ity_I64,
+                          binop(Iop_PwMax16Ux4,
+                                mkPCast16x4(mce, vatom1),
+                                mkPCast16x4(mce, vatom2)));
 
       case Iop_PwMax8Sx8:
       case Iop_PwMax8Ux8:
       case Iop_PwMin8Sx8:
       case Iop_PwMin8Ux8:
-         return assignNew('V', mce, Ity_I64, binop(Iop_PwMax8Ux8, mkPCast8x8(mce, vatom1),
-                     mkPCast8x8(mce, vatom2)));
+         return assignNew('V', mce, Ity_I64,
+                          binop(Iop_PwMax8Ux8,
+                                mkPCast8x8(mce, vatom1),
+                                mkPCast8x8(mce, vatom2)));
 
       case Iop_PwAdd32x2:
       case Iop_PwAdd32Fx2:
          return mkPCast32x2(mce,
-               assignNew('V', mce, Ity_I64, binop(Iop_PwAdd32x2, mkPCast32x2(mce, vatom1),
-                     mkPCast32x2(mce, vatom2))));
+               assignNew('V', mce, Ity_I64,
+                         binop(Iop_PwAdd32x2,
+                               mkPCast32x2(mce, vatom1),
+                               mkPCast32x2(mce, vatom2))));
 
       case Iop_PwAdd16x4:
          return mkPCast16x4(mce,
-               assignNew('V', mce, Ity_I64, binop(op, mkPCast16x4(mce, vatom1),
-                     mkPCast16x4(mce, vatom2))));
+               assignNew('V', mce, Ity_I64,
+                         binop(op, mkPCast16x4(mce, vatom1),
+                                   mkPCast16x4(mce, vatom2))));
 
       case Iop_PwAdd8x8:
          return mkPCast8x8(mce,
-               assignNew('V', mce, Ity_I64, binop(op, mkPCast8x8(mce, vatom1),
-                     mkPCast8x8(mce, vatom2))));
+               assignNew('V', mce, Ity_I64,
+                         binop(op, mkPCast8x8(mce, vatom1),
+                                   mkPCast8x8(mce, vatom2))));
 
       case Iop_Shl8x8:
       case Iop_Shr8x8:
@@ -2628,13 +2968,13 @@
          return assignNew('V', mce, Ity_I64, binop(op, vatom1, vatom2));
 
       case Iop_GetElem8x8:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return assignNew('V', mce, Ity_I8, binop(op, vatom1, atom2));
       case Iop_GetElem16x4:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return assignNew('V', mce, Ity_I16, binop(op, vatom1, atom2));
       case Iop_GetElem32x2:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return assignNew('V', mce, Ity_I32, binop(op, vatom1, atom2));
 
       /* Perm8x8: rearrange values in left arg using steering values
@@ -2664,7 +3004,7 @@
          /* Same scheme as with all other shifts.  Note: 22 Oct 05:
             this is wrong now, scalar shifts are done properly lazily.
             Vector shifts should be fixed too. */
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return assignNew('V', mce, Ity_V128, binop(op, vatom1, atom2));
 
       /* V x V shifts/rotates are done using the standard lazy scheme. */
@@ -2711,14 +3051,14 @@
       case Iop_F32ToFixed32Sx4_RZ:
       case Iop_Fixed32UToF32x4_RN:
       case Iop_Fixed32SToF32x4_RN:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return mkPCast32x4(mce, vatom1);
 
       case Iop_F32ToFixed32Ux2_RZ:
       case Iop_F32ToFixed32Sx2_RZ:
       case Iop_Fixed32UToF32x2_RN:
       case Iop_Fixed32SToF32x2_RN:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return mkPCast32x2(mce, vatom1);
 
       case Iop_QSub8Ux16:
@@ -2875,25 +3215,25 @@
       case Iop_QShlN8Sx16:
       case Iop_QShlN8x16:
       case Iop_QSalN8x16:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return mkPCast8x16(mce, vatom1);
 
       case Iop_QShlN16Sx8:
       case Iop_QShlN16x8:
       case Iop_QSalN16x8:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return mkPCast16x8(mce, vatom1);
 
       case Iop_QShlN32Sx4:
       case Iop_QShlN32x4:
       case Iop_QSalN32x4:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return mkPCast32x4(mce, vatom1);
 
       case Iop_QShlN64Sx2:
       case Iop_QShlN64x2:
       case Iop_QSalN64x2:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return mkPCast32x4(mce, vatom1);
 
       case Iop_Mull32Sx2:
@@ -2956,27 +3296,33 @@
          return assignNew('V', mce, Ity_V128, binop(op, vatom1, vatom2));
 
       case Iop_GetElem8x16:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return assignNew('V', mce, Ity_I8, binop(op, vatom1, atom2));
       case Iop_GetElem16x8:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return assignNew('V', mce, Ity_I16, binop(op, vatom1, atom2));
       case Iop_GetElem32x4:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return assignNew('V', mce, Ity_I32, binop(op, vatom1, atom2));
       case Iop_GetElem64x2:
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return assignNew('V', mce, Ity_I64, binop(op, vatom1, atom2));
 
      /* Perm8x16: rearrange values in left arg using steering values
         from right arg.  So rearrange the vbits in the same way but
-        pessimise wrt steering values. */
+        pessimise wrt steering values.  Perm32x4 ditto. */
       case Iop_Perm8x16:
          return mkUifUV128(
                    mce,
                    assignNew('V', mce, Ity_V128, binop(op, vatom1, atom2)),
                    mkPCast8x16(mce, vatom2)
                 );
+      case Iop_Perm32x4:
+         return mkUifUV128(
+                   mce,
+                   assignNew('V', mce, Ity_V128, binop(op, vatom1, atom2)),
+                   mkPCast32x4(mce, vatom2)
+                );
 
      /* These two take the lower half of each 16-bit lane, sign/zero
         extend it to 32, and multiply together, producing a 32x4
@@ -3018,16 +3364,39 @@
          /* Same scheme as with all other shifts.  Note: 10 Nov 05:
             this is wrong now, scalar shifts are done properly lazily.
             Vector shifts should be fixed too. */
-         complainIfUndefined(mce, atom2);
+         complainIfUndefined(mce, atom2, NULL);
          return assignNew('V', mce, Ity_V128, binop(op, vatom1, atom2));
 
       /* I128-bit data-steering */
       case Iop_64HLto128:
          return assignNew('V', mce, Ity_I128, binop(op, vatom1, vatom2));
 
+      /* V256-bit SIMD */
+
+      case Iop_Add64Fx4:
+      case Iop_Sub64Fx4:
+      case Iop_Mul64Fx4:
+      case Iop_Div64Fx4:
+      case Iop_Max64Fx4:
+      case Iop_Min64Fx4:
+         return binary64Fx4(mce, vatom1, vatom2);
+
+      case Iop_Add32Fx8:
+      case Iop_Sub32Fx8:
+      case Iop_Mul32Fx8:
+      case Iop_Div32Fx8:
+      case Iop_Max32Fx8:
+      case Iop_Min32Fx8:
+         return binary32Fx8(mce, vatom1, vatom2);
+
+      /* V256-bit data-steering */
+      case Iop_V128HLtoV256:
+         return assignNew('V', mce, Ity_V256, binop(op, vatom1, vatom2));
+
       /* Scalar floating point */
 
       case Iop_F32toI64S:
+      case Iop_F32toI64U:
          /* I32(rm) x F32 -> I64 */
          return mkLazy2(mce, Ity_I64, vatom1, vatom2);
 
@@ -3049,6 +3418,52 @@
          /* I32(rm) x I64/F64 -> I64/F64 */
          return mkLazy2(mce, Ity_I64, vatom1, vatom2);
 
+      case Iop_ShlD64:
+      case Iop_ShrD64:
+      case Iop_RoundD64toInt:
+         /* I32(rm) x D64 -> D64 */
+         return mkLazy2(mce, Ity_I64, vatom1, vatom2);
+
+      case Iop_ShlD128:
+      case Iop_ShrD128:
+      case Iop_RoundD128toInt:
+         /* I32(rm) x D128 -> D128 */
+         return mkLazy2(mce, Ity_I128, vatom1, vatom2);
+
+      case Iop_D64toI64S:
+      case Iop_D64toI64U:
+      case Iop_I64StoD64:
+      case Iop_I64UtoD64:
+         /* I32(rm) x I64/D64 -> D64/I64 */
+         return mkLazy2(mce, Ity_I64, vatom1, vatom2);
+
+      case Iop_F32toD32:
+      case Iop_F64toD32:
+      case Iop_F128toD32:
+      case Iop_D32toF32:
+      case Iop_D64toF32:
+      case Iop_D128toF32:
+         /* I32(rm) x F32/F64/F128/D32/D64/D128 -> D32/F32 */
+         return mkLazy2(mce, Ity_I32, vatom1, vatom2);
+
+      case Iop_F32toD64:
+      case Iop_F64toD64:
+      case Iop_F128toD64:
+      case Iop_D32toF64:
+      case Iop_D64toF64:
+      case Iop_D128toF64:
+         /* I32(rm) x F32/F64/F128/D32/D64/D128 -> D64/F64 */
+         return mkLazy2(mce, Ity_I64, vatom1, vatom2);
+
+      case Iop_F32toD128:
+      case Iop_F64toD128:
+      case Iop_F128toD128:
+      case Iop_D32toF128:
+      case Iop_D64toF128:
+      case Iop_D128toF128:
+         /* I32(rm) x F32/F64/F128/D32/D64/D128 -> D128/F128 */
+         return mkLazy2(mce, Ity_I128, vatom1, vatom2);
+
       case Iop_RoundF32toInt:
       case Iop_SqrtF32:
          /* I32(rm) x I32/F32 -> I32/F32 */
@@ -3059,36 +3474,64 @@
          return mkLazy2(mce, Ity_I128, vatom1, vatom2);
 
       case Iop_I32StoF32:
+      case Iop_I32UtoF32:
       case Iop_F32toI32S:
+      case Iop_F32toI32U:
          /* First arg is I32 (rounding mode), second is F32/I32 (data). */
          return mkLazy2(mce, Ity_I32, vatom1, vatom2);
 
       case Iop_F128toI32S: /* IRRoundingMode(I32) x F128 -> signed I32  */
+      case Iop_F128toI32U: /* IRRoundingMode(I32) x F128 -> unsigned I32  */
       case Iop_F128toF32:  /* IRRoundingMode(I32) x F128 -> F32         */
+      case Iop_D128toI32S: /* IRRoundingMode(I32) x D128 -> signed I32  */
+      case Iop_D128toI32U: /* IRRoundingMode(I32) x D128 -> unsigned I32  */
          return mkLazy2(mce, Ity_I32, vatom1, vatom2);
 
       case Iop_F128toI64S: /* IRRoundingMode(I32) x F128 -> signed I64  */
+      case Iop_F128toI64U: /* IRRoundingMode(I32) x F128 -> unsigned I64  */
       case Iop_F128toF64:  /* IRRoundingMode(I32) x F128 -> F64         */
+      case Iop_D128toD64:  /* IRRoundingMode(I64) x D128 -> D64 */
+      case Iop_D128toI64S: /* IRRoundingMode(I64) x D128 -> signed I64  */
+      case Iop_D128toI64U: /* IRRoundingMode(I32) x D128 -> unsigned I64  */
          return mkLazy2(mce, Ity_I64, vatom1, vatom2);
 
       case Iop_F64HLtoF128:
       case Iop_D64HLtoD128:
-         return assignNew('V', mce, Ity_I128, binop(Iop_64HLto128, vatom1, vatom2));
+         return assignNew('V', mce, Ity_I128,
+                          binop(Iop_64HLto128, vatom1, vatom2));
 
       case Iop_F64toI32U:
       case Iop_F64toI32S:
       case Iop_F64toF32:
       case Iop_I64UtoF32:
-         /* First arg is I32 (rounding mode), second is F64 (data). */
+      case Iop_D64toI32U:
+      case Iop_D64toI32S:
+         /* First arg is I32 (rounding mode), second is F64/D64 (data). */
+         return mkLazy2(mce, Ity_I32, vatom1, vatom2);
+
+      case Iop_D64toD32:
+         /* First arg is I32 (rounding mode), second is D64 (data). */
          return mkLazy2(mce, Ity_I32, vatom1, vatom2);
 
       case Iop_F64toI16S:
          /* First arg is I32 (rounding mode), second is F64 (data). */
          return mkLazy2(mce, Ity_I16, vatom1, vatom2);
 
+      case Iop_InsertExpD64:
+         /*  I64 x I64 -> D64 */
+         return mkLazy2(mce, Ity_I64, vatom1, vatom2);
+
+      case Iop_InsertExpD128:
+         /*  I64 x I128 -> D128 */
+         return mkLazy2(mce, Ity_I128, vatom1, vatom2);
+
       case Iop_CmpF32:
       case Iop_CmpF64:
       case Iop_CmpF128:
+      case Iop_CmpD64:
+      case Iop_CmpD128:
+      case Iop_CmpExpD64:
+      case Iop_CmpExpD128:
          return mkLazy2(mce, Ity_I32, vatom1, vatom2);
 
       /* non-FP after here */
@@ -3101,6 +3544,8 @@
       case Iop_DivModS128to64:
          return mkLazy2(mce, Ity_I128, vatom1, vatom2);
 
+      case Iop_8HLto16:
+         return assignNew('V', mce, Ity_I16, binop(op, vatom1, vatom2));
       case Iop_16HLto32:
          return assignNew('V', mce, Ity_I32, binop(op, vatom1, vatom2));
       case Iop_32HLto64:
@@ -3111,21 +3556,24 @@
       case Iop_MullU64: {
          IRAtom* vLo64 = mkLeft64(mce, mkUifU64(mce, vatom1,vatom2));
          IRAtom* vHi64 = mkPCastTo(mce, Ity_I64, vLo64);
-         return assignNew('V', mce, Ity_I128, binop(Iop_64HLto128, vHi64, vLo64));
+         return assignNew('V', mce, Ity_I128,
+                          binop(Iop_64HLto128, vHi64, vLo64));
       }
 
       case Iop_MullS32:
       case Iop_MullU32: {
          IRAtom* vLo32 = mkLeft32(mce, mkUifU32(mce, vatom1,vatom2));
          IRAtom* vHi32 = mkPCastTo(mce, Ity_I32, vLo32);
-         return assignNew('V', mce, Ity_I64, binop(Iop_32HLto64, vHi32, vLo32));
+         return assignNew('V', mce, Ity_I64,
+                          binop(Iop_32HLto64, vHi32, vLo32));
       }
 
       case Iop_MullS16:
       case Iop_MullU16: {
          IRAtom* vLo16 = mkLeft16(mce, mkUifU16(mce, vatom1,vatom2));
          IRAtom* vHi16 = mkPCastTo(mce, Ity_I16, vLo16);
-         return assignNew('V', mce, Ity_I32, binop(Iop_16HLto32, vHi16, vLo16));
+         return assignNew('V', mce, Ity_I32,
+                          binop(Iop_16HLto32, vHi16, vLo16));
       }
 
       case Iop_MullS8:
@@ -3140,6 +3588,8 @@
       case Iop_DivU32:
       case Iop_DivU32E:
       case Iop_DivS32E:
+      case Iop_QAdd32S: /* could probably do better */
+      case Iop_QSub32S: /* could probably do better */
          return mkLazy2(mce, Ity_I32, vatom1, vatom2);
 
       case Iop_DivS64:
@@ -3193,6 +3643,7 @@
       case Iop_Sub16:
          return mkLeft16(mce, mkUifU16(mce, vatom1,vatom2));
 
+      case Iop_Mul8:
       case Iop_Sub8:
       case Iop_Add8:
          return mkLeft8(mce, mkUifU8(mce, vatom1,vatom2));
@@ -3200,9 +3651,14 @@
       case Iop_CmpEQ64: 
       case Iop_CmpNE64:
          if (mce->bogusLiterals)
-            return expensiveCmpEQorNE(mce,Ity_I64, vatom1,vatom2, atom1,atom2 );
+            goto expensive_cmp64;
          else
             goto cheap_cmp64;
+
+      expensive_cmp64:
+      case Iop_ExpCmpNE64:
+         return expensiveCmpEQorNE(mce,Ity_I64, vatom1,vatom2, atom1,atom2 );
+
       cheap_cmp64:
       case Iop_CmpLE64S: case Iop_CmpLE64U: 
       case Iop_CmpLT64U: case Iop_CmpLT64S:
@@ -3211,9 +3667,14 @@
       case Iop_CmpEQ32: 
       case Iop_CmpNE32:
          if (mce->bogusLiterals)
-            return expensiveCmpEQorNE(mce,Ity_I32, vatom1,vatom2, atom1,atom2 );
+            goto expensive_cmp32;
          else
             goto cheap_cmp32;
+
+      expensive_cmp32:
+      case Iop_ExpCmpNE32:
+         return expensiveCmpEQorNE(mce,Ity_I32, vatom1,vatom2, atom1,atom2 );
+
       cheap_cmp32:
       case Iop_CmpLE32S: case Iop_CmpLE32U: 
       case Iop_CmpLT32U: case Iop_CmpLT32S:
@@ -3222,6 +3683,9 @@
       case Iop_CmpEQ16: case Iop_CmpNE16:
          return mkPCastTo(mce, Ity_I1, mkUifU16(mce, vatom1,vatom2));
 
+      case Iop_ExpCmpNE16:
+         return expensiveCmpEQorNE(mce,Ity_I16, vatom1,vatom2, atom1,atom2 );
+
       case Iop_CmpEQ8: case Iop_CmpNE8:
          return mkPCastTo(mce, Ity_I1, mkUifU8(mce, vatom1,vatom2));
 
@@ -3242,9 +3706,12 @@
       case Iop_Shl16: case Iop_Shr16: case Iop_Sar16:
          return scalarShift( mce, Ity_I16, op, vatom1,vatom2, atom1,atom2 );
 
-      case Iop_Shl8: case Iop_Shr8:
+      case Iop_Shl8: case Iop_Shr8: case Iop_Sar8:
          return scalarShift( mce, Ity_I8, op, vatom1,vatom2, atom1,atom2 );
 
+      case Iop_AndV256:
+         uifu = mkUifUV256; difd = mkDifDV256; 
+         and_or_ty = Ity_V256; improve = mkImproveANDV256; goto do_And_Or;
       case Iop_AndV128:
          uifu = mkUifUV128; difd = mkDifDV128; 
          and_or_ty = Ity_V128; improve = mkImproveANDV128; goto do_And_Or;
@@ -3261,6 +3728,9 @@
          uifu = mkUifU8; difd = mkDifD8; 
          and_or_ty = Ity_I8; improve = mkImproveAND8; goto do_And_Or;
 
+      case Iop_OrV256:
+         uifu = mkUifUV256; difd = mkDifDV256; 
+         and_or_ty = Ity_V256; improve = mkImproveORV256; goto do_And_Or;
       case Iop_OrV128:
          uifu = mkUifUV128; difd = mkDifDV128; 
          and_or_ty = Ity_V128; improve = mkImproveORV128; goto do_And_Or;
@@ -3296,6 +3766,84 @@
          return mkUifU64(mce, vatom1, vatom2);
       case Iop_XorV128:
          return mkUifUV128(mce, vatom1, vatom2);
+      case Iop_XorV256:
+         return mkUifUV256(mce, vatom1, vatom2);
+
+      /* V256-bit SIMD */
+
+      case Iop_ShrN16x16:
+      case Iop_ShrN32x8:
+      case Iop_ShrN64x4:
+      case Iop_SarN16x16:
+      case Iop_SarN32x8:
+      case Iop_ShlN16x16:
+      case Iop_ShlN32x8:
+      case Iop_ShlN64x4:
+         /* Same scheme as with all other shifts.  Note: 22 Oct 05:
+            this is wrong now, scalar shifts are done properly lazily.
+            Vector shifts should be fixed too. */
+         complainIfUndefined(mce, atom2, NULL);
+         return assignNew('V', mce, Ity_V256, binop(op, vatom1, atom2));
+
+      case Iop_QSub8Ux32:
+      case Iop_QSub8Sx32:
+      case Iop_Sub8x32:
+      case Iop_Min8Ux32:
+      case Iop_Min8Sx32:
+      case Iop_Max8Ux32:
+      case Iop_Max8Sx32:
+      case Iop_CmpGT8Sx32:
+      case Iop_CmpEQ8x32:
+      case Iop_Avg8Ux32:
+      case Iop_QAdd8Ux32:
+      case Iop_QAdd8Sx32:
+      case Iop_Add8x32:
+         return binary8Ix32(mce, vatom1, vatom2);
+
+      case Iop_QSub16Ux16:
+      case Iop_QSub16Sx16:
+      case Iop_Sub16x16:
+      case Iop_Mul16x16:
+      case Iop_MulHi16Sx16:
+      case Iop_MulHi16Ux16:
+      case Iop_Min16Sx16:
+      case Iop_Min16Ux16:
+      case Iop_Max16Sx16:
+      case Iop_Max16Ux16:
+      case Iop_CmpGT16Sx16:
+      case Iop_CmpEQ16x16:
+      case Iop_Avg16Ux16:
+      case Iop_QAdd16Ux16:
+      case Iop_QAdd16Sx16:
+      case Iop_Add16x16:
+         return binary16Ix16(mce, vatom1, vatom2);
+
+      case Iop_Sub32x8:
+      case Iop_CmpGT32Sx8:
+      case Iop_CmpEQ32x8:
+      case Iop_Add32x8:
+      case Iop_Max32Ux8:
+      case Iop_Max32Sx8:
+      case Iop_Min32Ux8:
+      case Iop_Min32Sx8:
+      case Iop_Mul32x8:
+         return binary32Ix8(mce, vatom1, vatom2);
+
+      case Iop_Sub64x4:
+      case Iop_Add64x4:
+      case Iop_CmpEQ64x4:
+      case Iop_CmpGT64Sx4:
+         return binary64Ix4(mce, vatom1, vatom2);
+
+     /* Perm32x8: rearrange values in left arg using steering values
+        from right arg.  So rearrange the vbits in the same way but
+        pessimise wrt steering values. */
+      case Iop_Perm32x8:
+         return mkUifUV256(
+                   mce,
+                   assignNew('V', mce, Ity_V256, binop(op, vatom1, atom2)),
+                   mkPCast32x8(mce, vatom2)
+                );
 
       default:
          ppIROp(op);
@@ -3307,6 +3855,11 @@
 static 
 IRExpr* expr2vbits_Unop ( MCEnv* mce, IROp op, IRAtom* atom )
 {
+   /* For the widening operations {8,16,32}{U,S}to{16,32,64}, the
+      selection of shadow operation implicitly duplicates the logic in
+      do_shadow_LoadG and should be kept in sync (in the very unlikely
+      event that the interpretation of such widening ops changes in
+      future).  See comment in do_shadow_LoadG. */
    IRAtom* vatom = expr2vbits( mce, atom );
    tl_assert(isOriginalAtom(mce,atom));
    switch (op) {
@@ -3317,6 +3870,14 @@
       case Iop_Sqrt64F0x2:
          return unary64F0x2(mce, vatom);
 
+      case Iop_Sqrt32Fx8:
+      case Iop_RSqrt32Fx8:
+      case Iop_Recip32Fx8:
+         return unary32Fx8(mce, vatom);
+
+      case Iop_Sqrt64Fx4:
+         return unary64Fx4(mce, vatom);
+
       case Iop_Sqrt32Fx4:
       case Iop_RSqrt32Fx4:
       case Iop_Recip32Fx4:
@@ -3359,6 +3920,7 @@
       case Iop_Reverse64_8x16:
       case Iop_Reverse64_16x8:
       case Iop_Reverse64_32x4:
+      case Iop_V256toV128_1: case Iop_V256toV128_0:
          return assignNew('V', mce, Ity_V128, unop(op, vatom));
 
       case Iop_F128HItoF64:  /* F128 -> high half of F128 */
@@ -3374,8 +3936,14 @@
 
       case Iop_I32StoF128: /* signed I32 -> F128 */
       case Iop_I64StoF128: /* signed I64 -> F128 */
+      case Iop_I32UtoF128: /* unsigned I32 -> F128 */
+      case Iop_I64UtoF128: /* unsigned I64 -> F128 */
       case Iop_F32toF128:  /* F32 -> F128 */
       case Iop_F64toF128:  /* F64 -> F128 */
+      case Iop_I32StoD128: /* signed I64 -> D128 */
+      case Iop_I64StoD128: /* signed I64 -> D128 */
+      case Iop_I32UtoD128: /* unsigned I32 -> D128 */
+      case Iop_I64UtoD128: /* unsigned I64 -> D128 */
          return mkPCastTo(mce, Ity_I128, vatom);
 
       case Iop_F32toF64: 
@@ -3389,16 +3957,30 @@
       case Iop_RoundF64toF64_PosINF:
       case Iop_RoundF64toF64_ZERO:
       case Iop_Clz64:
-      case Iop_Ctz64:
+      case Iop_D32toD64:
+      case Iop_I32StoD64:
+      case Iop_I32UtoD64:
+      case Iop_ExtractExpD64:    /* D64  -> I64 */
+      case Iop_ExtractExpD128:   /* D128 -> I64 */
+      case Iop_ExtractSigD64:    /* D64  -> I64 */
+      case Iop_ExtractSigD128:   /* D128 -> I64 */
+      case Iop_DPBtoBCD:
+      case Iop_BCDtoDPB:
          return mkPCastTo(mce, Ity_I64, vatom);
 
+      case Iop_D64toD128:
+         return mkPCastTo(mce, Ity_I128, vatom);
+
       case Iop_Clz32:
-      case Iop_Ctz32:
       case Iop_TruncF64asF32:
       case Iop_NegF32:
       case Iop_AbsF32:
          return mkPCastTo(mce, Ity_I32, vatom);
 
+      case Iop_Ctz32:
+      case Iop_Ctz64:
+         return expensiveCountTrailingZeroes(mce, op, atom, vatom);
+
       case Iop_1Uto64:
       case Iop_1Sto64:
       case Iop_8Uto64:
@@ -3420,9 +4002,10 @@
       case Iop_Reverse64_8x8:
       case Iop_Reverse64_16x4:
       case Iop_Reverse64_32x2:
+      case Iop_V256to64_0: case Iop_V256to64_1:
+      case Iop_V256to64_2: case Iop_V256to64_3:
          return assignNew('V', mce, Ity_I64, unop(op, vatom));
 
-      case Iop_I16StoF32:
       case Iop_64to32:
       case Iop_64HIto32:
       case Iop_1Uto32:
@@ -3439,6 +4022,7 @@
       case Iop_32to16:
       case Iop_32HIto16:
       case Iop_64to16:
+      case Iop_GetMSBs8x16:
          return assignNew('V', mce, Ity_I16, unop(op, vatom));
 
       case Iop_1Uto8:
@@ -3447,6 +4031,7 @@
       case Iop_16HIto8:
       case Iop_32to8:
       case Iop_64to8:
+      case Iop_GetMSBs8x8:
          return assignNew('V', mce, Ity_I8, unop(op, vatom));
 
       case Iop_32to1:
@@ -3459,6 +4044,9 @@
       case Iop_ReinterpI64asF64:
       case Iop_ReinterpI32asF32:
       case Iop_ReinterpF32asI32:
+      case Iop_ReinterpI64asD64:
+      case Iop_ReinterpD64asI64:
+      case Iop_NotV256:
       case Iop_NotV128:
       case Iop_Not64:
       case Iop_Not32:
@@ -3509,6 +4097,9 @@
       case Iop_Abs32x4:
          return mkPCast32x4(mce, vatom);
 
+      case Iop_CmpwNEZ32:
+         return mkPCastTo(mce, Ity_I32, vatom);
+
       case Iop_CmpwNEZ64:
          return mkPCastTo(mce, Ity_I64, vatom);
 
@@ -3575,14 +4166,27 @@
 }
 
 
-/* Worker function; do not call directly. */
+/* Worker function -- do not call directly.  See comments on
+   expr2vbits_Load for the meaning of |guard|.
+
+   Generates IR to (1) perform a definedness test of |addr|, (2)
+   perform a validity test of |addr|, and (3) return the Vbits for the
+   location indicated by |addr|.  All of this only happens when
+   |guard| is NULL or |guard| evaluates to True at run time.
+
+   If |guard| evaluates to False at run time, the returned value is
+   the IR-mandated 0x55..55 value, and no checks nor shadow loads are
+   performed.
+
+   The definedness of |guard| itself is not checked.  That is assumed
+   to have been done before this point, by the caller. */
 static
 IRAtom* expr2vbits_Load_WRK ( MCEnv* mce, 
                               IREndness end, IRType ty, 
-                              IRAtom* addr, UInt bias )
+                              IRAtom* addr, UInt bias, IRAtom* guard )
 {
    void*    helper;
-   Char*    hname;
+   const HChar* hname;
    IRDirty* di;
    IRTemp   datavbits;
    IRAtom*  addrAct;
@@ -3592,7 +4196,7 @@
 
    /* First, emit a definedness test for the address.  This also sets
       the address (shadow) to 'defined' following the test. */
-   complainIfUndefined( mce, addr );
+   complainIfUndefined( mce, addr, guard );
 
    /* Now cook up a call to the relevant helper function, to read the
       data V bits from shadow memory. */
@@ -3613,7 +4217,7 @@
                        hname = "MC_(helperc_LOADV8)";
                        break;
          default:      ppIRType(ty);
-                       VG_(tool_panic)("memcheck:do_shadow_Load(LE)");
+                       VG_(tool_panic)("memcheck:expr2vbits_Load_WRK(LE)");
       }
    } else {
       switch (ty) {
@@ -3630,7 +4234,7 @@
                        hname = "MC_(helperc_LOADV8)";
                        break;
          default:      ppIRType(ty);
-                       VG_(tool_panic)("memcheck:do_shadow_Load(BE)");
+                       VG_(tool_panic)("memcheck:expr2vbits_Load_WRK(BE)");
       }
    }
 
@@ -3655,65 +4259,187 @@
                            hname, VG_(fnptr_to_fnentry)( helper ), 
                            mkIRExprVec_1( addrAct ));
    setHelperAnns( mce, di );
+   if (guard) {
+      di->guard = guard;
+      /* Ideally the didn't-happen return value here would be all-ones
+         (all-undefined), so it'd be obvious if it got used
+         inadvertantly.  We can get by with the IR-mandated default
+         value (0b01 repeating, 0x55 etc) as that'll still look pretty
+         undefined if it ever leaks out. */
+   }
    stmt( 'V', mce, IRStmt_Dirty(di) );
 
    return mkexpr(datavbits);
 }
 
 
+/* Generate IR to do a shadow load.  The helper is expected to check
+   the validity of the address and return the V bits for that address.
+   This can optionally be controlled by a guard, which is assumed to
+   be True if NULL.  In the case where the guard is False at runtime,
+   the helper will return the didn't-do-the-call value of 0x55..55.
+   Since that means "completely undefined result", the caller of
+   this function will need to fix up the result somehow in that
+   case.
+
+   Caller of this function is also expected to have checked the
+   definedness of |guard| before this point.
+*/
 static
 IRAtom* expr2vbits_Load ( MCEnv* mce, 
                           IREndness end, IRType ty, 
-                          IRAtom* addr, UInt bias )
+                          IRAtom* addr, UInt bias,
+                          IRAtom* guard )
 {
-   IRAtom *v64hi, *v64lo;
    tl_assert(end == Iend_LE || end == Iend_BE);
    switch (shadowTypeV(ty)) {
       case Ity_I8: 
       case Ity_I16: 
       case Ity_I32: 
       case Ity_I64:
-         return expr2vbits_Load_WRK(mce, end, ty, addr, bias);
-      case Ity_V128:
+         return expr2vbits_Load_WRK(mce, end, ty, addr, bias, guard);
+      case Ity_V128: {
+         IRAtom *v64hi, *v64lo;
          if (end == Iend_LE) {
-            v64lo = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias);
-            v64hi = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias+8);
+            v64lo = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias+0, guard);
+            v64hi = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias+8, guard);
          } else {
-            v64hi = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias);
-            v64lo = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias+8);
+            v64hi = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias+0, guard);
+            v64lo = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias+8, guard);
          }
          return assignNew( 'V', mce, 
                            Ity_V128, 
                            binop(Iop_64HLtoV128, v64hi, v64lo));
+      }
+      case Ity_V256: {
+         /* V256-bit case -- phrased in terms of 64 bit units (Qs),
+            with Q3 being the most significant lane. */
+         if (end == Iend_BE) goto unhandled;
+         IRAtom* v64Q0
+            = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias+0,  guard);
+         IRAtom* v64Q1
+            = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias+8,  guard);
+         IRAtom* v64Q2
+            = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias+16, guard);
+         IRAtom* v64Q3
+            = expr2vbits_Load_WRK(mce, end, Ity_I64, addr, bias+24, guard);
+         return assignNew( 'V', mce,
+                           Ity_V256,
+                           IRExpr_Qop(Iop_64x4toV256,
+                                      v64Q3, v64Q2, v64Q1, v64Q0));
+      }
+      unhandled:
       default:
          VG_(tool_panic)("expr2vbits_Load");
    }
 }
 
 
+/* The most general handler for guarded loads.  Assumes the
+   definedness of GUARD has already been checked by the caller.  A
+   GUARD of NULL is assumed to mean "always True".  Generates code to
+   check the definedness and validity of ADDR.
+
+   Generate IR to do a shadow load from ADDR and return the V bits.
+   The loaded type is TY.  The loaded data is then (shadow) widened by
+   using VWIDEN, which can be Iop_INVALID to denote a no-op.  If GUARD
+   evaluates to False at run time then the returned Vbits are simply
+   VALT instead.  Note therefore that the argument type of VWIDEN must
+   be TY and the result type of VWIDEN must equal the type of VALT.
+*/
 static
-IRAtom* expr2vbits_Mux0X ( MCEnv* mce, 
-                           IRAtom* cond, IRAtom* expr0, IRAtom* exprX )
+IRAtom* expr2vbits_Load_guarded_General ( MCEnv* mce,
+                                          IREndness end, IRType ty,
+                                          IRAtom* addr, UInt bias,
+                                          IRAtom* guard,
+                                          IROp vwiden, IRAtom* valt )
 {
-   IRAtom *vbitsC, *vbits0, *vbitsX;
+   /* Sanity check the conversion operation, and also set TYWIDE. */
+   IRType tyWide = Ity_INVALID;
+   switch (vwiden) {
+      case Iop_INVALID:
+         tyWide = ty;
+         break;
+      case Iop_16Uto32: case Iop_16Sto32: case Iop_8Uto32: case Iop_8Sto32:
+         tyWide = Ity_I32; 
+         break;
+      default:
+         VG_(tool_panic)("memcheck:expr2vbits_Load_guarded_General");
+   }
+
+   /* If the guard evaluates to True, this will hold the loaded V bits
+      at TY.  If the guard evaluates to False, this will be all
+      ones, meaning "all undefined", in which case we will have to
+      replace it using an ITE below. */
+   IRAtom* iftrue1
+      = assignNew('V', mce, ty,
+                  expr2vbits_Load(mce, end, ty, addr, bias, guard));
+   /* Now (shadow-) widen the loaded V bits to the desired width.  In
+      the guard-is-False case, the allowable widening operators will
+      in the worst case (unsigned widening) at least leave the
+      pre-widened part as being marked all-undefined, and in the best
+      case (signed widening) mark the whole widened result as
+      undefined.  Anyway, it doesn't matter really, since in this case
+      we will replace said value with the default value |valt| using an
+      ITE. */
+   IRAtom* iftrue2
+      = vwiden == Iop_INVALID
+           ? iftrue1
+           : assignNew('V', mce, tyWide, unop(vwiden, iftrue1));
+   /* These are the V bits we will return if the load doesn't take
+      place. */
+   IRAtom* iffalse 
+      = valt;
+   /* Prepare the cond for the ITE.  Convert a NULL cond into
+      something that iropt knows how to fold out later. */
+   IRAtom* cond
+      = guard == NULL  ? mkU1(1)  : guard;
+   /* And assemble the final result. */
+   return assignNew('V', mce, tyWide, IRExpr_ITE(cond, iftrue2, iffalse));
+}
+
+
+/* A simpler handler for guarded loads, in which there is no
+   conversion operation, and the default V bit return (when the guard
+   evaluates to False at runtime) is "all defined".  If there is no
+   guard expression or the guard is always TRUE this function behaves
+   like expr2vbits_Load.  It is assumed that definedness of GUARD has
+   already been checked at the call site. */
+static
+IRAtom* expr2vbits_Load_guarded_Simple ( MCEnv* mce, 
+                                         IREndness end, IRType ty, 
+                                         IRAtom* addr, UInt bias,
+                                         IRAtom *guard )
+{
+   return expr2vbits_Load_guarded_General(
+             mce, end, ty, addr, bias, guard, Iop_INVALID, definedOfType(ty)
+          );
+}
+
+
+static
+IRAtom* expr2vbits_ITE ( MCEnv* mce, 
+                         IRAtom* cond, IRAtom* iftrue, IRAtom* iffalse )
+{
+   IRAtom *vbitsC, *vbits0, *vbits1;
    IRType ty;
-   /* Given Mux0X(cond,expr0,exprX), generate
-         Mux0X(cond,expr0#,exprX#) `UifU` PCast(cond#)
+   /* Given ITE(cond, iftrue,  iffalse),  generate
+            ITE(cond, iftrue#, iffalse#) `UifU` PCast(cond#)
       That is, steer the V bits like the originals, but trash the 
       result if the steering value is undefined.  This gives 
       lazy propagation. */
    tl_assert(isOriginalAtom(mce, cond));
-   tl_assert(isOriginalAtom(mce, expr0));
-   tl_assert(isOriginalAtom(mce, exprX));
+   tl_assert(isOriginalAtom(mce, iftrue));
+   tl_assert(isOriginalAtom(mce, iffalse));
 
    vbitsC = expr2vbits(mce, cond);
-   vbits0 = expr2vbits(mce, expr0);
-   vbitsX = expr2vbits(mce, exprX);
+   vbits1 = expr2vbits(mce, iftrue);
+   vbits0 = expr2vbits(mce, iffalse);
    ty = typeOfIRExpr(mce->sb->tyenv, vbits0);
 
    return
       mkUifU(mce, ty, assignNew('V', mce, ty, 
-                                     IRExpr_Mux0X(cond, vbits0, vbitsX)),
+                                     IRExpr_ITE(cond, vbits1, vbits0)),
                       mkPCastTo(mce, ty, vbitsC) );
 }      
 
@@ -3740,16 +4466,17 @@
       case Iex_Qop:
          return expr2vbits_Qop(
                    mce,
-                   e->Iex.Qop.op,
-                   e->Iex.Qop.arg1, e->Iex.Qop.arg2,
-		   e->Iex.Qop.arg3, e->Iex.Qop.arg4
+                   e->Iex.Qop.details->op,
+                   e->Iex.Qop.details->arg1, e->Iex.Qop.details->arg2,
+                   e->Iex.Qop.details->arg3, e->Iex.Qop.details->arg4
                 );
 
       case Iex_Triop:
          return expr2vbits_Triop(
                    mce,
-                   e->Iex.Triop.op,
-                   e->Iex.Triop.arg1, e->Iex.Triop.arg2, e->Iex.Triop.arg3
+                   e->Iex.Triop.details->op,
+                   e->Iex.Triop.details->arg1, e->Iex.Triop.details->arg2,
+                   e->Iex.Triop.details->arg3
                 );
 
       case Iex_Binop:
@@ -3765,16 +4492,17 @@
       case Iex_Load:
          return expr2vbits_Load( mce, e->Iex.Load.end,
                                       e->Iex.Load.ty, 
-                                      e->Iex.Load.addr, 0/*addr bias*/ );
+                                      e->Iex.Load.addr, 0/*addr bias*/, 
+                                      NULL/* guard == "always True"*/ );
 
       case Iex_CCall:
          return mkLazyN( mce, e->Iex.CCall.args, 
                               e->Iex.CCall.retty,
                               e->Iex.CCall.cee );
 
-      case Iex_Mux0X:
-         return expr2vbits_Mux0X( mce, e->Iex.Mux0X.cond, e->Iex.Mux0X.expr0, 
-                                       e->Iex.Mux0X.exprX);
+      case Iex_ITE:
+         return expr2vbits_ITE( mce, e->Iex.ITE.cond, e->Iex.ITE.iftrue, 
+                                     e->Iex.ITE.iffalse);
 
       default: 
          VG_(printf)("\n");
@@ -3835,13 +4563,17 @@
 }
 
 
-/* Generate a shadow store.  addr is always the original address atom.
-   You can pass in either originals or V-bits for the data atom, but
-   obviously not both.  guard :: Ity_I1 controls whether the store
-   really happens; NULL means it unconditionally does.  Note that
-   guard itself is not checked for definedness; the caller of this
-   function must do that if necessary. */
+/* Generate a shadow store.  |addr| is always the original address
+   atom.  You can pass in either originals or V-bits for the data
+   atom, but obviously not both.  This function generates a check for
+   the definedness and (indirectly) the validity of |addr|, but only
+   when |guard| evaluates to True at run time (or is NULL).
 
+   |guard| :: Ity_I1 controls whether the store really happens; NULL
+   means it unconditionally does.  Note that |guard| itself is not
+   checked for definedness; the caller of this function must do that
+   if necessary.
+*/
 static 
 void do_shadow_Store ( MCEnv* mce, 
                        IREndness end,
@@ -3852,7 +4584,7 @@
    IROp     mkAdd;
    IRType   ty, tyAddr;
    void*    helper = NULL;
-   Char*    hname = NULL;
+   const HChar* hname = NULL;
    IRConst* c;
 
    tyAddr = mce->hWordTy;
@@ -3884,7 +4616,9 @@
    // shadow computation ops that precede it.
    if (MC_(clo_mc_level) == 1) {
       switch (ty) {
-         case Ity_V128: // V128 weirdness
+         case Ity_V256: // V256 weirdness -- used four times
+                        c = IRConst_V256(V_BITS32_DEFINED); break;
+         case Ity_V128: // V128 weirdness -- used twice
                         c = IRConst_V128(V_BITS16_DEFINED); break;
          case Ity_I64:  c = IRConst_U64 (V_BITS64_DEFINED); break;
          case Ity_I32:  c = IRConst_U32 (V_BITS32_DEFINED); break;
@@ -3896,13 +4630,15 @@
    }
 
    /* First, emit a definedness test for the address.  This also sets
-      the address (shadow) to 'defined' following the test. */
-   complainIfUndefined( mce, addr );
+      the address (shadow) to 'defined' following the test.  Both of
+      those actions are gated on |guard|. */
+   complainIfUndefined( mce, addr, guard );
 
    /* Now decide which helper function to call to write the data V
       bits into shadow memory. */
    if (end == Iend_LE) {
       switch (ty) {
+         case Ity_V256: /* we'll use the helper four times */
          case Ity_V128: /* we'll use the helper twice */
          case Ity_I64: helper = &MC_(helperc_STOREV64le);
                        hname = "MC_(helperc_STOREV64le)";
@@ -3933,11 +4669,81 @@
          case Ity_I8:  helper = &MC_(helperc_STOREV8);
                        hname = "MC_(helperc_STOREV8)";
                        break;
+         /* Note, no V256 case here, because no big-endian target that
+            we support, has 256 vectors. */
          default:      VG_(tool_panic)("memcheck:do_shadow_Store(BE)");
       }
    }
 
-   if (ty == Ity_V128) {
+   if (UNLIKELY(ty == Ity_V256)) {
+
+      /* V256-bit case -- phrased in terms of 64 bit units (Qs), with
+         Q3 being the most significant lane. */
+      /* These are the offsets of the Qs in memory. */
+      Int     offQ0, offQ1, offQ2, offQ3;
+
+      /* Various bits for constructing the 4 lane helper calls */
+      IRDirty *diQ0,    *diQ1,    *diQ2,    *diQ3;
+      IRAtom  *addrQ0,  *addrQ1,  *addrQ2,  *addrQ3;
+      IRAtom  *vdataQ0, *vdataQ1, *vdataQ2, *vdataQ3;
+      IRAtom  *eBiasQ0, *eBiasQ1, *eBiasQ2, *eBiasQ3;
+
+      if (end == Iend_LE) {
+         offQ0 = 0; offQ1 = 8; offQ2 = 16; offQ3 = 24;
+      } else {
+         offQ3 = 0; offQ2 = 8; offQ1 = 16; offQ0 = 24;
+      }
+
+      eBiasQ0 = tyAddr==Ity_I32 ? mkU32(bias+offQ0) : mkU64(bias+offQ0);
+      addrQ0  = assignNew('V', mce, tyAddr, binop(mkAdd, addr, eBiasQ0) );
+      vdataQ0 = assignNew('V', mce, Ity_I64, unop(Iop_V256to64_0, vdata));
+      diQ0    = unsafeIRDirty_0_N( 
+                   1/*regparms*/, 
+                   hname, VG_(fnptr_to_fnentry)( helper ), 
+                   mkIRExprVec_2( addrQ0, vdataQ0 )
+                );
+
+      eBiasQ1 = tyAddr==Ity_I32 ? mkU32(bias+offQ1) : mkU64(bias+offQ1);
+      addrQ1  = assignNew('V', mce, tyAddr, binop(mkAdd, addr, eBiasQ1) );
+      vdataQ1 = assignNew('V', mce, Ity_I64, unop(Iop_V256to64_1, vdata));
+      diQ1    = unsafeIRDirty_0_N( 
+                   1/*regparms*/, 
+                   hname, VG_(fnptr_to_fnentry)( helper ), 
+                   mkIRExprVec_2( addrQ1, vdataQ1 )
+                );
+
+      eBiasQ2 = tyAddr==Ity_I32 ? mkU32(bias+offQ2) : mkU64(bias+offQ2);
+      addrQ2  = assignNew('V', mce, tyAddr, binop(mkAdd, addr, eBiasQ2) );
+      vdataQ2 = assignNew('V', mce, Ity_I64, unop(Iop_V256to64_2, vdata));
+      diQ2    = unsafeIRDirty_0_N( 
+                   1/*regparms*/, 
+                   hname, VG_(fnptr_to_fnentry)( helper ), 
+                   mkIRExprVec_2( addrQ2, vdataQ2 )
+                );
+
+      eBiasQ3 = tyAddr==Ity_I32 ? mkU32(bias+offQ3) : mkU64(bias+offQ3);
+      addrQ3  = assignNew('V', mce, tyAddr, binop(mkAdd, addr, eBiasQ3) );
+      vdataQ3 = assignNew('V', mce, Ity_I64, unop(Iop_V256to64_3, vdata));
+      diQ3    = unsafeIRDirty_0_N( 
+                   1/*regparms*/, 
+                   hname, VG_(fnptr_to_fnentry)( helper ), 
+                   mkIRExprVec_2( addrQ3, vdataQ3 )
+                );
+
+      if (guard)
+         diQ0->guard = diQ1->guard = diQ2->guard = diQ3->guard = guard;
+
+      setHelperAnns( mce, diQ0 );
+      setHelperAnns( mce, diQ1 );
+      setHelperAnns( mce, diQ2 );
+      setHelperAnns( mce, diQ3 );
+      stmt( 'V', mce, IRStmt_Dirty(diQ0) );
+      stmt( 'V', mce, IRStmt_Dirty(diQ1) );
+      stmt( 'V', mce, IRStmt_Dirty(diQ2) );
+      stmt( 'V', mce, IRStmt_Dirty(diQ3) );
+
+   } 
+   else if (UNLIKELY(ty == Ity_V128)) {
 
       /* V128-bit case */
       /* See comment in next clause re 64-bit regparms */
@@ -4037,7 +4843,7 @@
 static
 void do_shadow_Dirty ( MCEnv* mce, IRDirty* d )
 {
-   Int       i, n, toDo, gSz, gOff;
+   Int       i, k, n, toDo, gSz, gOff;
    IRAtom    *src, *here, *curr;
    IRType    tySrc, tyDst;
    IRTemp    dst;
@@ -4053,12 +4859,13 @@
 #  endif
 
    /* First check the guard. */
-   complainIfUndefined(mce, d->guard);
+   complainIfUndefined(mce, d->guard, NULL);
 
    /* Now round up all inputs and PCast over them. */
    curr = definedOfType(Ity_I32);
 
-   /* Inputs: unmasked args */
+   /* Inputs: unmasked args
+      Note: arguments are evaluated REGARDLESS of the guard expression */
    for (i = 0; d->args[i]; i++) {
       if (d->cee->mcx_mask & (1<<i)) {
          /* ignore this arg */
@@ -4074,34 +4881,46 @@
       if (d->fxState[i].fx == Ifx_Write)
          continue;
 
-      /* Ignore any sections marked as 'always defined'. */
-      if (isAlwaysDefd(mce, d->fxState[i].offset, d->fxState[i].size )) {
-         if (0)
-         VG_(printf)("memcheck: Dirty gst: ignored off %d, sz %d\n",
-                     d->fxState[i].offset, d->fxState[i].size );
-         continue;
-      }
+      /* Enumerate the described state segments */
+      for (k = 0; k < 1 + d->fxState[i].nRepeats; k++) {
+         gOff = d->fxState[i].offset + k * d->fxState[i].repeatLen;
+         gSz  = d->fxState[i].size;
 
-      /* This state element is read or modified.  So we need to
-         consider it.  If larger than 8 bytes, deal with it in 8-byte
-         chunks. */
-      gSz  = d->fxState[i].size;
-      gOff = d->fxState[i].offset;
-      tl_assert(gSz > 0);
-      while (True) {
-         if (gSz == 0) break;
-         n = gSz <= 8 ? gSz : 8;
-         /* update 'curr' with UifU of the state slice 
-            gOff .. gOff+n-1 */
-         tySrc = szToITy( n );
-         src   = assignNew( 'V', mce, tySrc, 
-                                 shadow_GET(mce, gOff, tySrc ) );
-         here = mkPCastTo( mce, Ity_I32, src );
-         curr = mkUifU32(mce, here, curr);
-         gSz -= n;
-         gOff += n;
-      }
+         /* Ignore any sections marked as 'always defined'. */
+         if (isAlwaysDefd(mce, gOff, gSz)) {
+            if (0)
+            VG_(printf)("memcheck: Dirty gst: ignored off %d, sz %d\n",
+                        gOff, gSz);
+            continue;
+         }
 
+         /* This state element is read or modified.  So we need to
+            consider it.  If larger than 8 bytes, deal with it in
+            8-byte chunks. */
+         while (True) {
+            tl_assert(gSz >= 0);
+            if (gSz == 0) break;
+            n = gSz <= 8 ? gSz : 8;
+            /* update 'curr' with UifU of the state slice 
+               gOff .. gOff+n-1 */
+            tySrc = szToITy( n );
+
+            /* Observe the guard expression. If it is false use an
+               all-bits-defined bit pattern */
+            IRAtom *cond, *iffalse, *iftrue;
+
+            cond    = assignNew('V', mce, Ity_I1, d->guard);
+            iftrue  = assignNew('V', mce, tySrc, shadow_GET(mce, gOff, tySrc));
+            iffalse = assignNew('V', mce, tySrc, definedOfType(tySrc));
+            src     = assignNew('V', mce, tySrc,
+                                IRExpr_ITE(cond, iftrue, iffalse));
+
+            here = mkPCastTo( mce, Ity_I32, src );
+            curr = mkUifU32(mce, here, curr);
+            gSz -= n;
+            gOff += n;
+         }
+      }
    }
 
    /* Inputs: memory.  First set up some info needed regardless of
@@ -4114,7 +4933,7 @@
          should remove all but this test. */
       IRType tyAddr;
       tl_assert(d->mAddr);
-      complainIfUndefined(mce, d->mAddr);
+      complainIfUndefined(mce, d->mAddr, d->guard);
 
       tyAddr = typeOfIRExpr(mce->sb->tyenv, d->mAddr);
       tl_assert(tyAddr == Ity_I32 || tyAddr == Ity_I64);
@@ -4131,8 +4950,8 @@
       while (toDo >= 4) {
          here = mkPCastTo( 
                    mce, Ity_I32,
-                   expr2vbits_Load ( mce, end, Ity_I32, 
-                                     d->mAddr, d->mSize - toDo )
+                   expr2vbits_Load_guarded_Simple(
+                      mce, end, Ity_I32, d->mAddr, d->mSize - toDo, d->guard )
                 );
          curr = mkUifU32(mce, here, curr);
          toDo -= 4;
@@ -4141,13 +4960,23 @@
       while (toDo >= 2) {
          here = mkPCastTo( 
                    mce, Ity_I32,
-                   expr2vbits_Load ( mce, end, Ity_I16, 
-                                     d->mAddr, d->mSize - toDo )
+                   expr2vbits_Load_guarded_Simple(
+                      mce, end, Ity_I16, d->mAddr, d->mSize - toDo, d->guard )
                 );
          curr = mkUifU32(mce, here, curr);
          toDo -= 2;
       }
-      tl_assert(toDo == 0); /* also need to handle 1-byte excess */
+      /* chew off the remaining 8-bit chunk, if any */
+      if (toDo == 1) {
+         here = mkPCastTo( 
+                   mce, Ity_I32,
+                   expr2vbits_Load_guarded_Simple(
+                      mce, end, Ity_I8, d->mAddr, d->mSize - toDo, d->guard )
+                );
+         curr = mkUifU32(mce, here, curr);
+         toDo -= 1;
+      }
+      tl_assert(toDo == 0);
    }
 
    /* Whew!  So curr is a 32-bit V-value summarising pessimistically
@@ -4166,26 +4995,32 @@
       tl_assert(d->fxState[i].fx != Ifx_None);
       if (d->fxState[i].fx == Ifx_Read)
          continue;
-      /* Ignore any sections marked as 'always defined'. */
-      if (isAlwaysDefd(mce, d->fxState[i].offset, d->fxState[i].size ))
-         continue;
-      /* This state element is written or modified.  So we need to
-         consider it.  If larger than 8 bytes, deal with it in 8-byte
-         chunks. */
-      gSz  = d->fxState[i].size;
-      gOff = d->fxState[i].offset;
-      tl_assert(gSz > 0);
-      while (True) {
-         if (gSz == 0) break;
-         n = gSz <= 8 ? gSz : 8;
-         /* Write suitably-casted 'curr' to the state slice 
-            gOff .. gOff+n-1 */
-         tyDst = szToITy( n );
-         do_shadow_PUT( mce, gOff,
-                             NULL, /* original atom */
-                             mkPCastTo( mce, tyDst, curr ) );
-         gSz -= n;
-         gOff += n;
+
+      /* Enumerate the described state segments */
+      for (k = 0; k < 1 + d->fxState[i].nRepeats; k++) {
+         gOff = d->fxState[i].offset + k * d->fxState[i].repeatLen;
+         gSz  = d->fxState[i].size;
+
+         /* Ignore any sections marked as 'always defined'. */
+         if (isAlwaysDefd(mce, gOff, gSz))
+            continue;
+
+         /* This state element is written or modified.  So we need to
+            consider it.  If larger than 8 bytes, deal with it in
+            8-byte chunks. */
+         while (True) {
+            tl_assert(gSz >= 0);
+            if (gSz == 0) break;
+            n = gSz <= 8 ? gSz : 8;
+            /* Write suitably-casted 'curr' to the state slice 
+               gOff .. gOff+n-1 */
+            tyDst = szToITy( n );
+            do_shadow_PUT( mce, gOff,
+                                NULL, /* original atom */
+                                mkPCastTo( mce, tyDst, curr ), d->guard );
+            gSz -= n;
+            gOff += n;
+         }
       }
    }
 
@@ -4198,7 +5033,7 @@
          do_shadow_Store( mce, end, d->mAddr, d->mSize - toDo,
                           NULL, /* original data */
                           mkPCastTo( mce, Ity_I32, curr ),
-                          NULL/*guard*/ );
+                          d->guard );
          toDo -= 4;
       }
       /* chew off 16-bit chunks */
@@ -4206,10 +5041,18 @@
          do_shadow_Store( mce, end, d->mAddr, d->mSize - toDo,
                           NULL, /* original data */
                           mkPCastTo( mce, Ity_I16, curr ),
-                          NULL/*guard*/ );
+                          d->guard );
          toDo -= 2;
       }
-      tl_assert(toDo == 0); /* also need to handle 1-byte excess */
+      /* chew off the remaining 8-bit chunk, if any */
+      if (toDo == 1) {
+         do_shadow_Store( mce, end, d->mAddr, d->mSize - toDo,
+                          NULL, /* original data */
+                          mkPCastTo( mce, Ity_I8, curr ),
+                          d->guard );
+         toDo -= 1;
+      }
+      tl_assert(toDo == 0);
    }
 
 }
@@ -4365,7 +5208,7 @@
       Note two things.  Firstly, in the sequence above, we compute
       "expected == old", but we don't check definedness of it.  Why
       not?  Also, the x86 and amd64 front ends use
-      Iop_CmpCas{EQ,NE}{8,16,32,64} comparisons to make the equivalent
+      Iop_CasCmp{EQ,NE}{8,16,32,64} comparisons to make the equivalent
       determination (expected == old ?) for themselves, and we also
       don't check definedness for those primops; we just say that the
       result is defined.  Why?  Details follow.
@@ -4498,7 +5341,8 @@
            'V', mce, elemTy,
            expr2vbits_Load( 
               mce,
-              cas->end, elemTy, cas->addr, 0/*Addr bias*/
+              cas->end, elemTy, cas->addr, 0/*Addr bias*/,
+              NULL/*always happens*/
         ));
    bind_shadow_tmp_to_orig('V', mce, mkexpr(cas->oldLo), voldLo);
    if (otrak) {
@@ -4626,14 +5470,16 @@
            'V', mce, elemTy,
            expr2vbits_Load( 
               mce,
-              cas->end, elemTy, cas->addr, memOffsHi/*Addr bias*/
+              cas->end, elemTy, cas->addr, memOffsHi/*Addr bias*/,
+              NULL/*always happens*/
         ));
    voldLo
       = assignNew(
            'V', mce, elemTy,
            expr2vbits_Load( 
               mce,
-              cas->end, elemTy, cas->addr, memOffsLo/*Addr bias*/
+              cas->end, elemTy, cas->addr, memOffsLo/*Addr bias*/,
+              NULL/*always happens*/
         ));
    bind_shadow_tmp_to_orig('V', mce, mkexpr(cas->oldHi), voldHi);
    bind_shadow_tmp_to_orig('V', mce, mkexpr(cas->oldLo), voldLo);
@@ -4720,7 +5566,8 @@
                 || resTy == Ity_I16 || resTy == Ity_I8);
       assign( 'V', mce, resTmp,
                    expr2vbits_Load(
-                      mce, stEnd, resTy, stAddr, 0/*addr bias*/));
+                      mce, stEnd, resTy, stAddr, 0/*addr bias*/,
+                      NULL/*always happens*/) );
    } else {
       /* Store Conditional */
       /* Stay sane */
@@ -4754,6 +5601,59 @@
 }
 
 
+/* ---- Dealing with LoadG/StoreG (not entirely simple) ---- */
+
+static void do_shadow_StoreG ( MCEnv* mce, IRStoreG* sg )
+{
+   complainIfUndefined(mce, sg->guard, NULL);
+   /* do_shadow_Store will generate code to check the definedness and
+      validity of sg->addr, in the case where sg->guard evaluates to
+      True at run-time. */
+   do_shadow_Store( mce, sg->end,
+                    sg->addr, 0/* addr bias */,
+                    sg->data,
+                    NULL /* shadow data */,
+                    sg->guard );
+}
+
+static void do_shadow_LoadG ( MCEnv* mce, IRLoadG* lg )
+{
+   complainIfUndefined(mce, lg->guard, NULL);
+   /* expr2vbits_Load_guarded_General will generate code to check the
+      definedness and validity of lg->addr, in the case where
+      lg->guard evaluates to True at run-time. */
+
+   /* Look at the LoadG's built-in conversion operation, to determine
+      the source (actual loaded data) type, and the equivalent IROp.
+      NOTE that implicitly we are taking a widening operation to be
+      applied to original atoms and producing one that applies to V
+      bits.  Since signed and unsigned widening are self-shadowing,
+      this is a straight copy of the op (modulo swapping from the
+      IRLoadGOp form to the IROp form).  Note also therefore that this
+      implicitly duplicates the logic to do with said widening ops in
+      expr2vbits_Unop.  See comment at the start of expr2vbits_Unop. */
+   IROp   vwiden   = Iop_INVALID;
+   IRType loadedTy = Ity_INVALID;
+   switch (lg->cvt) {
+      case ILGop_Ident32: loadedTy = Ity_I32; vwiden = Iop_INVALID; break;
+      case ILGop_16Uto32: loadedTy = Ity_I16; vwiden = Iop_16Uto32; break;
+      case ILGop_16Sto32: loadedTy = Ity_I16; vwiden = Iop_16Sto32; break;
+      case ILGop_8Uto32:  loadedTy = Ity_I8;  vwiden = Iop_8Uto32;  break;
+      case ILGop_8Sto32:  loadedTy = Ity_I8;  vwiden = Iop_8Sto32;  break;
+      default: VG_(tool_panic)("do_shadow_LoadG");
+   }
+
+   IRAtom* vbits_alt
+      = expr2vbits( mce, lg->alt );
+   IRAtom* vbits_final
+      = expr2vbits_Load_guarded_General(mce, lg->end, loadedTy,
+                                        lg->addr, 0/*addr bias*/,
+                                        lg->guard, vwiden, vbits_alt );
+   /* And finally, bind the V bits to the destination temporary. */
+   assign( 'V', mce, findShadowTmpV(mce, lg->dst), vbits_final );
+}
+
+
 /*------------------------------------------------------------*/
 /*--- Memcheck main                                        ---*/
 /*------------------------------------------------------------*/
@@ -4816,18 +5716,18 @@
                return isBogusAtom(e->Iex.Binop.arg1)
                       || isBogusAtom(e->Iex.Binop.arg2);
             case Iex_Triop: 
-               return isBogusAtom(e->Iex.Triop.arg1)
-                      || isBogusAtom(e->Iex.Triop.arg2)
-                      || isBogusAtom(e->Iex.Triop.arg3);
+               return isBogusAtom(e->Iex.Triop.details->arg1)
+                      || isBogusAtom(e->Iex.Triop.details->arg2)
+                      || isBogusAtom(e->Iex.Triop.details->arg3);
             case Iex_Qop: 
-               return isBogusAtom(e->Iex.Qop.arg1)
-                      || isBogusAtom(e->Iex.Qop.arg2)
-                      || isBogusAtom(e->Iex.Qop.arg3)
-                      || isBogusAtom(e->Iex.Qop.arg4);
-            case Iex_Mux0X:
-               return isBogusAtom(e->Iex.Mux0X.cond)
-                      || isBogusAtom(e->Iex.Mux0X.expr0)
-                      || isBogusAtom(e->Iex.Mux0X.exprX);
+               return isBogusAtom(e->Iex.Qop.details->arg1)
+                      || isBogusAtom(e->Iex.Qop.details->arg2)
+                      || isBogusAtom(e->Iex.Qop.details->arg3)
+                      || isBogusAtom(e->Iex.Qop.details->arg4);
+            case Iex_ITE:
+               return isBogusAtom(e->Iex.ITE.cond)
+                      || isBogusAtom(e->Iex.ITE.iftrue)
+                      || isBogusAtom(e->Iex.ITE.iffalse);
             case Iex_Load: 
                return isBogusAtom(e->Iex.Load.addr);
             case Iex_CCall:
@@ -4843,7 +5743,7 @@
          for (i = 0; d->args[i]; i++)
             if (isBogusAtom(d->args[i]))
                return True;
-         if (d->guard && isBogusAtom(d->guard))
+         if (isBogusAtom(d->guard))
             return True;
          if (d->mAddr && isBogusAtom(d->mAddr))
             return True;
@@ -4851,11 +5751,21 @@
       case Ist_Put:
          return isBogusAtom(st->Ist.Put.data);
       case Ist_PutI:
-         return isBogusAtom(st->Ist.PutI.ix) 
-                || isBogusAtom(st->Ist.PutI.data);
+         return isBogusAtom(st->Ist.PutI.details->ix) 
+                || isBogusAtom(st->Ist.PutI.details->data);
       case Ist_Store:
          return isBogusAtom(st->Ist.Store.addr) 
                 || isBogusAtom(st->Ist.Store.data);
+      case Ist_StoreG: {
+         IRStoreG* sg = st->Ist.StoreG.details;
+         return isBogusAtom(sg->addr) || isBogusAtom(sg->data)
+                || isBogusAtom(sg->guard);
+      }
+      case Ist_LoadG: {
+         IRLoadG* lg = st->Ist.LoadG.details;
+         return isBogusAtom(lg->addr) || isBogusAtom(lg->alt)
+                || isBogusAtom(lg->guard);
+      }
       case Ist_Exit:
          return isBogusAtom(st->Ist.Exit.guard);
       case Ist_AbiHint:
@@ -4889,6 +5799,7 @@
                         IRSB* sb_in, 
                         VexGuestLayout* layout, 
                         VexGuestExtents* vge,
+                        VexArchInfo* archinfo_host,
                         IRType gWordTy, IRType hWordTy )
 {
    Bool    verboze = 0||False;
@@ -5077,15 +5988,11 @@
             do_shadow_PUT( &mce, 
                            st->Ist.Put.offset,
                            st->Ist.Put.data,
-                           NULL /* shadow atom */ );
+                           NULL /* shadow atom */, NULL /* guard */ );
             break;
 
          case Ist_PutI:
-            do_shadow_PUTI( &mce, 
-                            st->Ist.PutI.descr,
-                            st->Ist.PutI.ix,
-                            st->Ist.PutI.bias,
-                            st->Ist.PutI.data );
+            do_shadow_PUTI( &mce, st->Ist.PutI.details);
             break;
 
          case Ist_Store:
@@ -5096,8 +6003,16 @@
                                    NULL/*guard*/ );
             break;
 
+         case Ist_StoreG:
+            do_shadow_StoreG( &mce, st->Ist.StoreG.details );
+            break;
+
+         case Ist_LoadG:
+            do_shadow_LoadG( &mce, st->Ist.LoadG.details );
+            break;
+
          case Ist_Exit:
-            complainIfUndefined( &mce, st->Ist.Exit.guard );
+            complainIfUndefined( &mce, st->Ist.Exit.guard, NULL );
             break;
 
          case Ist_IMark:
@@ -5168,7 +6083,7 @@
       VG_(printf)("\n\n");
    }
 
-   complainIfUndefined( &mce, sb_in->next );
+   complainIfUndefined( &mce, sb_in->next, NULL );
 
    if (0 && verboze) {
       for (j = first_stmt; j < sb_out->stmts_used; j++) {
@@ -5234,10 +6149,10 @@
                 && sameIRValue(e1->Iex.Unop.arg, e2->Iex.Unop.arg);
       case Iex_RdTmp:
          return e1->Iex.RdTmp.tmp == e2->Iex.RdTmp.tmp;
-      case Iex_Mux0X:
-         return sameIRValue( e1->Iex.Mux0X.cond, e2->Iex.Mux0X.cond )
-                && sameIRValue( e1->Iex.Mux0X.expr0, e2->Iex.Mux0X.expr0 )
-                && sameIRValue( e1->Iex.Mux0X.exprX, e2->Iex.Mux0X.exprX );
+      case Iex_ITE:
+         return sameIRValue( e1->Iex.ITE.cond, e2->Iex.ITE.cond )
+                && sameIRValue( e1->Iex.ITE.iftrue,  e2->Iex.ITE.iftrue )
+                && sameIRValue( e1->Iex.ITE.iffalse, e2->Iex.ITE.iffalse );
       case Iex_Qop:
       case Iex_Triop:
       case Iex_CCall:
@@ -5281,7 +6196,7 @@
    return False;
 }
 
-static Bool is_helperc_value_checkN_fail ( HChar* name )
+static Bool is_helperc_value_checkN_fail ( const HChar* name )
 {
    return
       0==VG_(strcmp)(name, "MC_(helperc_value_check0_fail_no_o)")
@@ -5315,8 +6230,7 @@
          continue;
       di = st->Ist.Dirty.details;
       guard = di->guard;
-      if (!guard)
-         continue;
+      tl_assert(guard);
       if (0) { ppIRExpr(guard); VG_(printf)("\n"); }
       cee = di->cee;
       if (!is_helperc_value_checkN_fail( cee->name )) 
@@ -5366,11 +6280,21 @@
    return assignNew( 'B', mce, Ity_I32, binop(Iop_Max32U, b1, b2) );
 }
 
-static IRAtom* gen_load_b ( MCEnv* mce, Int szB, 
-                            IRAtom* baseaddr, Int offset )
+
+/* Make a guarded origin load, with no special handling in the
+   didn't-happen case.  A GUARD of NULL is assumed to mean "always
+   True".
+
+   Generate IR to do a shadow origins load from BASEADDR+OFFSET and
+   return the otag.  The loaded size is SZB.  If GUARD evaluates to
+   False at run time then the returned otag is zero.
+*/
+static IRAtom* gen_guarded_load_b ( MCEnv* mce, Int szB, 
+                                    IRAtom* baseaddr, 
+                                    Int offset, IRExpr* guard )
 {
    void*    hFun;
-   HChar*   hName;
+   const HChar* hName;
    IRTemp   bTmp;
    IRDirty* di;
    IRType   aTy   = typeOfIRExpr( mce->sb->tyenv, baseaddr );
@@ -5399,6 +6323,9 @@
       case 16: hFun  = (void*)&MC_(helperc_b_load16);
                hName = "MC_(helperc_b_load16)";
                break;
+      case 32: hFun  = (void*)&MC_(helperc_b_load32);
+               hName = "MC_(helperc_b_load32)";
+               break;
       default:
          VG_(printf)("mc_translate.c: gen_load_b: unhandled szB == %d\n", szB);
          tl_assert(0);
@@ -5407,6 +6334,15 @@
            bTmp, 1/*regparms*/, hName, VG_(fnptr_to_fnentry)( hFun ),
            mkIRExprVec_1( ea )
         );
+   if (guard) {
+      di->guard = guard;
+      /* Ideally the didn't-happen return value here would be
+         all-zeroes (unknown-origin), so it'd be harmless if it got
+         used inadvertantly.  We slum it out with the IR-mandated
+         default value (0b01 repeating, 0x55 etc) as that'll probably
+         trump all legitimate otags via Max32, and it's pretty
+         obviously bogus. */
+   }
    /* no need to mess with any annotations.  This call accesses
       neither guest state nor guest memory. */
    stmt( 'B', mce, IRStmt_Dirty(di) );
@@ -5421,14 +6357,60 @@
    }
 }
 
-/* Generate a shadow store.  guard :: Ity_I1 controls whether the
-   store really happens; NULL means it unconditionally does. */
+
+/* Generate IR to do a shadow origins load from BASEADDR+OFFSET.  The
+   loaded size is SZB.  The load is regarded as unconditional (always
+   happens).
+*/
+static IRAtom* gen_load_b ( MCEnv* mce, Int szB, IRAtom* baseaddr,
+                            Int offset )
+{
+   return gen_guarded_load_b(mce, szB, baseaddr, offset, NULL/*guard*/);
+}
+
+
+/* The most general handler for guarded origin loads.  A GUARD of NULL
+   is assumed to mean "always True".
+
+   Generate IR to do a shadow origin load from ADDR+BIAS and return
+   the B bits.  The loaded type is TY.  If GUARD evaluates to False at
+   run time then the returned B bits are simply BALT instead.
+*/
+static
+IRAtom* expr2ori_Load_guarded_General ( MCEnv* mce,
+                                        IRType ty,
+                                        IRAtom* addr, UInt bias,
+                                        IRAtom* guard, IRAtom* balt )
+{
+   /* If the guard evaluates to True, this will hold the loaded
+      origin.  If the guard evaluates to False, this will be zero,
+      meaning "unknown origin", in which case we will have to replace
+      it using an ITE below. */
+   IRAtom* iftrue
+      = assignNew('B', mce, Ity_I32,
+                  gen_guarded_load_b(mce, sizeofIRType(ty),
+                                     addr, bias, guard));
+   /* These are the bits we will return if the load doesn't take
+      place. */
+   IRAtom* iffalse 
+      = balt;
+   /* Prepare the cond for the ITE.  Convert a NULL cond into
+      something that iropt knows how to fold out later. */
+   IRAtom* cond
+      = guard == NULL  ? mkU1(1)  : guard;
+   /* And assemble the final result. */
+   return assignNew('B', mce, Ity_I32, IRExpr_ITE(cond, iftrue, iffalse));
+}
+
+
+/* Generate a shadow origins store.  guard :: Ity_I1 controls whether
+   the store really happens; NULL means it unconditionally does. */
 static void gen_store_b ( MCEnv* mce, Int szB,
                           IRAtom* baseaddr, Int offset, IRAtom* dataB,
                           IRAtom* guard )
 {
    void*    hFun;
-   HChar*   hName;
+   const HChar* hName;
    IRDirty* di;
    IRType   aTy   = typeOfIRExpr( mce->sb->tyenv, baseaddr );
    IROp     opAdd = aTy == Ity_I32 ? Iop_Add32 : Iop_Add64;
@@ -5461,6 +6443,9 @@
       case 16: hFun  = (void*)&MC_(helperc_b_store16);
                hName = "MC_(helperc_b_store16)";
                break;
+      case 32: hFun  = (void*)&MC_(helperc_b_store32);
+               hName = "MC_(helperc_b_store32)";
+               break;
       default:
          tl_assert(0);
    }
@@ -5559,24 +6544,24 @@
          tl_assert(mce->hWordTy == Ity_I32 || mce->hWordTy == Ity_I64);
          return gen_load_b( mce, dszB, e->Iex.Load.addr, 0 );
       }
-      case Iex_Mux0X: {
-         IRAtom* b1 = schemeE( mce, e->Iex.Mux0X.cond );
-         IRAtom* b2 = schemeE( mce, e->Iex.Mux0X.expr0 );
-         IRAtom* b3 = schemeE( mce, e->Iex.Mux0X.exprX );
+      case Iex_ITE: {
+         IRAtom* b1 = schemeE( mce, e->Iex.ITE.cond );
+         IRAtom* b3 = schemeE( mce, e->Iex.ITE.iftrue );
+         IRAtom* b2 = schemeE( mce, e->Iex.ITE.iffalse );
          return gen_maxU32( mce, b1, gen_maxU32( mce, b2, b3 ));
       }
       case Iex_Qop: {
-         IRAtom* b1 = schemeE( mce, e->Iex.Qop.arg1 );
-         IRAtom* b2 = schemeE( mce, e->Iex.Qop.arg2 );
-         IRAtom* b3 = schemeE( mce, e->Iex.Qop.arg3 );
-         IRAtom* b4 = schemeE( mce, e->Iex.Qop.arg4 );
+         IRAtom* b1 = schemeE( mce, e->Iex.Qop.details->arg1 );
+         IRAtom* b2 = schemeE( mce, e->Iex.Qop.details->arg2 );
+         IRAtom* b3 = schemeE( mce, e->Iex.Qop.details->arg3 );
+         IRAtom* b4 = schemeE( mce, e->Iex.Qop.details->arg4 );
          return gen_maxU32( mce, gen_maxU32( mce, b1, b2 ),
                                  gen_maxU32( mce, b3, b4 ) );
       }
       case Iex_Triop: {
-         IRAtom* b1 = schemeE( mce, e->Iex.Triop.arg1 );
-         IRAtom* b2 = schemeE( mce, e->Iex.Triop.arg2 );
-         IRAtom* b3 = schemeE( mce, e->Iex.Triop.arg3 );
+         IRAtom* b1 = schemeE( mce, e->Iex.Triop.details->arg1 );
+         IRAtom* b2 = schemeE( mce, e->Iex.Triop.details->arg2 );
+         IRAtom* b3 = schemeE( mce, e->Iex.Triop.details->arg3 );
          return gen_maxU32( mce, b1, gen_maxU32( mce, b2, b3 ) );
       }
       case Iex_Binop: {
@@ -5631,7 +6616,7 @@
 static void do_origins_Dirty ( MCEnv* mce, IRDirty* d )
 {
    // This is a hacked version of do_shadow_Dirty
-   Int       i, n, toDo, gSz, gOff;
+   Int       i, k, n, toDo, gSz, gOff;
    IRAtom    *here, *curr;
    IRTemp    dst;
 
@@ -5640,7 +6625,8 @@
 
    /* Now round up all inputs and maxU32 over them. */
 
-   /* Inputs: unmasked args */
+   /* Inputs: unmasked args
+      Note: arguments are evaluated REGARDLESS of the guard expression */
    for (i = 0; d->args[i]; i++) {
       if (d->cee->mcx_mask & (1<<i)) {
          /* ignore this arg */
@@ -5656,38 +6642,49 @@
       if (d->fxState[i].fx == Ifx_Write)
          continue;
 
-      /* Ignore any sections marked as 'always defined'. */
-      if (isAlwaysDefd(mce, d->fxState[i].offset, d->fxState[i].size )) {
-         if (0)
-         VG_(printf)("memcheck: Dirty gst: ignored off %d, sz %d\n",
-                     d->fxState[i].offset, d->fxState[i].size );
-         continue;
-      }
+      /* Enumerate the described state segments */
+      for (k = 0; k < 1 + d->fxState[i].nRepeats; k++) {
+         gOff = d->fxState[i].offset + k * d->fxState[i].repeatLen;
+         gSz  = d->fxState[i].size;
 
-      /* This state element is read or modified.  So we need to
-         consider it.  If larger than 4 bytes, deal with it in 4-byte
-         chunks. */
-      gSz  = d->fxState[i].size;
-      gOff = d->fxState[i].offset;
-      tl_assert(gSz > 0);
-      while (True) {
-         Int b_offset;
-         if (gSz == 0) break;
-         n = gSz <= 4 ? gSz : 4;
-         /* update 'curr' with maxU32 of the state slice 
-            gOff .. gOff+n-1 */
-         b_offset = MC_(get_otrack_shadow_offset)(gOff, 4);
-         if (b_offset != -1) {
-            here = assignNew( 'B',mce,
-                               Ity_I32,
-                               IRExpr_Get(b_offset + 2*mce->layout->total_sizeB,
-                                          Ity_I32));
-            curr = gen_maxU32( mce, curr, here );
+         /* Ignore any sections marked as 'always defined'. */
+         if (isAlwaysDefd(mce, gOff, gSz)) {
+            if (0)
+            VG_(printf)("memcheck: Dirty gst: ignored off %d, sz %d\n",
+                        gOff, gSz);
+            continue;
          }
-         gSz -= n;
-         gOff += n;
-      }
 
+         /* This state element is read or modified.  So we need to
+            consider it.  If larger than 4 bytes, deal with it in
+            4-byte chunks. */
+         while (True) {
+            Int b_offset;
+            tl_assert(gSz >= 0);
+            if (gSz == 0) break;
+            n = gSz <= 4 ? gSz : 4;
+            /* update 'curr' with maxU32 of the state slice 
+               gOff .. gOff+n-1 */
+            b_offset = MC_(get_otrack_shadow_offset)(gOff, 4);
+            if (b_offset != -1) {
+               /* Observe the guard expression. If it is false use 0, i.e.
+                  nothing is known about the origin */
+               IRAtom *cond, *iffalse, *iftrue;
+
+               cond = assignNew( 'B', mce, Ity_I1, d->guard);
+               iffalse = mkU32(0);
+               iftrue  = assignNew( 'B', mce, Ity_I32,
+                                    IRExpr_Get(b_offset
+                                                 + 2*mce->layout->total_sizeB,
+                                               Ity_I32));
+               here = assignNew( 'B', mce, Ity_I32,
+                                 IRExpr_ITE(cond, iftrue, iffalse));
+               curr = gen_maxU32( mce, curr, here );
+            }
+            gSz -= n;
+            gOff += n;
+         }
+      }
    }
 
    /* Inputs: memory */
@@ -5710,17 +6707,26 @@
          but nevertheless choose an endianness which is hopefully
          native to the platform. */
       while (toDo >= 4) {
-         here = gen_load_b( mce, 4, d->mAddr, d->mSize - toDo );
+         here = gen_guarded_load_b( mce, 4, d->mAddr, d->mSize - toDo,
+                                    d->guard );
          curr = gen_maxU32( mce, curr, here );
          toDo -= 4;
       }
       /* handle possible 16-bit excess */
       while (toDo >= 2) {
-         here = gen_load_b( mce, 2, d->mAddr, d->mSize - toDo );
+         here = gen_guarded_load_b( mce, 2, d->mAddr, d->mSize - toDo,
+                                    d->guard );
          curr = gen_maxU32( mce, curr, here );
          toDo -= 2;
       }
-      tl_assert(toDo == 0); /* also need to handle 1-byte excess */
+      /* chew off the remaining 8-bit chunk, if any */
+      if (toDo == 1) {
+         here = gen_guarded_load_b( mce, 1, d->mAddr, d->mSize - toDo,
+                                    d->guard );
+         curr = gen_maxU32( mce, curr, here );
+         toDo -= 1;
+      }
+      tl_assert(toDo == 0);
    }
 
    /* Whew!  So curr is a 32-bit B-value which should give an origin
@@ -5739,28 +6745,47 @@
       if (d->fxState[i].fx == Ifx_Read)
          continue;
 
-      /* Ignore any sections marked as 'always defined'. */
-      if (isAlwaysDefd(mce, d->fxState[i].offset, d->fxState[i].size ))
-         continue;
+      /* Enumerate the described state segments */
+      for (k = 0; k < 1 + d->fxState[i].nRepeats; k++) {
+         gOff = d->fxState[i].offset + k * d->fxState[i].repeatLen;
+         gSz  = d->fxState[i].size;
 
-      /* This state element is written or modified.  So we need to
-         consider it.  If larger than 4 bytes, deal with it in 4-byte
-         chunks. */
-      gSz  = d->fxState[i].size;
-      gOff = d->fxState[i].offset;
-      tl_assert(gSz > 0);
-      while (True) {
-         Int b_offset;
-         if (gSz == 0) break;
-         n = gSz <= 4 ? gSz : 4;
-         /* Write 'curr' to the state slice gOff .. gOff+n-1 */
-         b_offset = MC_(get_otrack_shadow_offset)(gOff, 4);
-         if (b_offset != -1) {
-           stmt( 'B', mce, IRStmt_Put(b_offset + 2*mce->layout->total_sizeB,
-                                      curr ));
+         /* Ignore any sections marked as 'always defined'. */
+         if (isAlwaysDefd(mce, gOff, gSz))
+            continue;
+
+         /* This state element is written or modified.  So we need to
+            consider it.  If larger than 4 bytes, deal with it in
+            4-byte chunks. */
+         while (True) {
+            Int b_offset;
+            tl_assert(gSz >= 0);
+            if (gSz == 0) break;
+            n = gSz <= 4 ? gSz : 4;
+            /* Write 'curr' to the state slice gOff .. gOff+n-1 */
+            b_offset = MC_(get_otrack_shadow_offset)(gOff, 4);
+            if (b_offset != -1) {
+
+               /* If the guard expression evaluates to false we simply Put
+                  the value that is already stored in the guest state slot */
+               IRAtom *cond, *iffalse;
+
+               cond    = assignNew('B', mce, Ity_I1,
+                                   d->guard);
+               iffalse = assignNew('B', mce, Ity_I32,
+                                   IRExpr_Get(b_offset +
+                                              2*mce->layout->total_sizeB,
+                                              Ity_I32));
+               curr = assignNew('V', mce, Ity_I32,
+                                IRExpr_ITE(cond, curr, iffalse));
+
+               stmt( 'B', mce, IRStmt_Put(b_offset
+                                          + 2*mce->layout->total_sizeB,
+                                          curr ));
+            }
+            gSz -= n;
+            gOff += n;
          }
-         gSz -= n;
-         gOff += n;
       }
    }
 
@@ -5771,24 +6796,32 @@
       /* chew off 32-bit chunks */
       while (toDo >= 4) {
          gen_store_b( mce, 4, d->mAddr, d->mSize - toDo, curr,
-                      NULL/*guard*/ );
+                      d->guard );
          toDo -= 4;
       }
       /* handle possible 16-bit excess */
       while (toDo >= 2) {
-        gen_store_b( mce, 2, d->mAddr, d->mSize - toDo, curr,
-                     NULL/*guard*/ );
+         gen_store_b( mce, 2, d->mAddr, d->mSize - toDo, curr,
+                      d->guard );
          toDo -= 2;
       }
-      tl_assert(toDo == 0); /* also need to handle 1-byte excess */
+      /* chew off the remaining 8-bit chunk, if any */
+      if (toDo == 1) {
+         gen_store_b( mce, 1, d->mAddr, d->mSize - toDo, curr,
+                      d->guard );
+         toDo -= 1;
+      }
+      tl_assert(toDo == 0);
    }
 }
 
 
-static void do_origins_Store ( MCEnv* mce,
-                               IREndness stEnd,
-                               IRExpr* stAddr,
-                               IRExpr* stData )
+/* Generate IR for origin shadowing for a general guarded store. */
+static void do_origins_Store_guarded ( MCEnv* mce,
+                                       IREndness stEnd,
+                                       IRExpr* stAddr,
+                                       IRExpr* stData,
+                                       IRExpr* guard )
 {
    Int     dszB;
    IRAtom* dataB;
@@ -5799,8 +6832,48 @@
    tl_assert(isIRAtom(stData));
    dszB  = sizeofIRType( typeOfIRExpr(mce->sb->tyenv, stData ) );
    dataB = schemeE( mce, stData );
-   gen_store_b( mce, dszB, stAddr, 0/*offset*/, dataB,
-                     NULL/*guard*/ );
+   gen_store_b( mce, dszB, stAddr, 0/*offset*/, dataB, guard );
+}
+
+
+/* Generate IR for origin shadowing for a plain store. */
+static void do_origins_Store_plain ( MCEnv* mce,
+                                     IREndness stEnd,
+                                     IRExpr* stAddr,
+                                     IRExpr* stData )
+{
+   do_origins_Store_guarded ( mce, stEnd, stAddr, stData,
+                              NULL/*guard*/ );
+}
+
+
+/* ---- Dealing with LoadG/StoreG (not entirely simple) ---- */
+
+static void do_origins_StoreG ( MCEnv* mce, IRStoreG* sg )
+{
+   do_origins_Store_guarded( mce, sg->end, sg->addr,
+                             sg->data, sg->guard );
+}
+
+static void do_origins_LoadG ( MCEnv* mce, IRLoadG* lg )
+{
+   IRType loadedTy = Ity_INVALID;
+   switch (lg->cvt) {
+      case ILGop_Ident32: loadedTy = Ity_I32; break;
+      case ILGop_16Uto32: loadedTy = Ity_I16; break;
+      case ILGop_16Sto32: loadedTy = Ity_I16; break;
+      case ILGop_8Uto32:  loadedTy = Ity_I8;  break;
+      case ILGop_8Sto32:  loadedTy = Ity_I8;  break;
+      default: VG_(tool_panic)("schemeS.IRLoadG");
+   }
+   IRAtom* ori_alt
+      = schemeE( mce,lg->alt );
+   IRAtom* ori_final
+      = expr2ori_Load_guarded_General(mce, loadedTy,
+                                      lg->addr, 0/*addr bias*/,
+                                      lg->guard, ori_alt );
+   /* And finally, bind the origin to the destination temporary. */
+   assign( 'B', mce, findShadowTmpB(mce, lg->dst), ori_final );
 }
 
 
@@ -5819,9 +6892,10 @@
          break;
 
       case Ist_PutI: {
+         IRPutI *puti = st->Ist.PutI.details;
          IRRegArray* descr_b;
          IRAtom      *t1, *t2, *t3, *t4;
-         IRRegArray* descr = st->Ist.PutI.descr;
+         IRRegArray* descr = puti->descr;
          IRType equivIntTy
             = MC_(get_otrack_reg_array_equiv_int_type)(descr);
          /* If this array is unshadowable for whatever reason,
@@ -5836,12 +6910,12 @@
          /* Compute a value to Put - the conjoinment of the origin for
             the data to be Put-ted (obviously) and of the index value
             (not so obviously). */
-         t1 = schemeE( mce, st->Ist.PutI.data );
-         t2 = schemeE( mce, st->Ist.PutI.ix );
+         t1 = schemeE( mce, puti->data );
+         t2 = schemeE( mce, puti->ix );
          t3 = gen_maxU32( mce, t1, t2 );
          t4 = zWidenFrom32( mce, equivIntTy, t3 );
-         stmt( 'B', mce, IRStmt_PutI( descr_b, st->Ist.PutI.ix,
-                                      st->Ist.PutI.bias, t4 ));
+         stmt( 'B', mce, IRStmt_PutI( mkIRPutI(descr_b, puti->ix,
+                                               puti->bias, t4) ));
          break;
       }
 
@@ -5850,9 +6924,17 @@
          break;
 
       case Ist_Store:
-         do_origins_Store( mce, st->Ist.Store.end,
-                                st->Ist.Store.addr,
-                                st->Ist.Store.data );
+         do_origins_Store_plain( mce, st->Ist.Store.end,
+                                      st->Ist.Store.addr,
+                                      st->Ist.Store.data );
+         break;
+
+      case Ist_StoreG:
+         do_origins_StoreG( mce, st->Ist.StoreG.details );
+         break;
+
+      case Ist_LoadG:
+         do_origins_LoadG( mce, st->Ist.LoadG.details );
          break;
 
       case Ist_LLSC: {
@@ -5872,9 +6954,9 @@
                               schemeE(mce, vanillaLoad));
          } else {
             /* Store conditional */
-            do_origins_Store( mce, st->Ist.LLSC.end,
-                                   st->Ist.LLSC.addr,
-                                   st->Ist.LLSC.storedata );
+            do_origins_Store_plain( mce, st->Ist.LLSC.end,
+                                    st->Ist.LLSC.addr,
+                                    st->Ist.LLSC.storedata );
             /* For the rationale behind this, see comments at the
                place where the V-shadow for .result is constructed, in
                do_shadow_LLSC.  In short, we regard .result as
diff --git a/memcheck/memcheck.h b/memcheck/memcheck.h
index 68474b4..fcc7644 100644
--- a/memcheck/memcheck.h
+++ b/memcheck/memcheck.h
@@ -13,7 +13,7 @@
    This file is part of MemCheck, a heavyweight Valgrind tool for
    detecting memory errors.
 
-   Copyright (C) 2000-2011 Julian Seward.  All rights reserved.
+   Copyright (C) 2000-2012 Julian Seward.  All rights reserved.
 
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
diff --git a/memcheck/tests/Makefile.am b/memcheck/tests/Makefile.am
index 4dbefa2..eaf64b4 100644
--- a/memcheck/tests/Makefile.am
+++ b/memcheck/tests/Makefile.am
@@ -10,13 +10,15 @@
 if VGCONF_ARCHS_INCLUDE_AMD64
 SUBDIRS += amd64
 endif
-
 if VGCONF_ARCHS_INCLUDE_PPC32
 SUBDIRS += ppc32
 endif
 if VGCONF_ARCHS_INCLUDE_PPC64
 SUBDIRS += ppc64
 endif
+if VGCONF_ARCHS_INCLUDE_S390X
+SUBDIRS += s390x
+endif
 
 # OS-specific tests
 if VGCONF_OS_IS_LINUX
@@ -34,15 +36,17 @@
 SUBDIRS += amd64-linux
 endif
 
-DIST_SUBDIRS = x86 amd64 ppc32 ppc64 linux darwin x86-linux amd64-linux .
+DIST_SUBDIRS = x86 amd64 ppc32 ppc64 s390x linux darwin x86-linux amd64-linux .
 
 dist_noinst_SCRIPTS = \
 	filter_addressable \
 	filter_allocs \
 	filter_leak_cases_possible \
 	filter_stderr filter_xml \
+	filter_strchr \
 	filter_varinfo3 \
-	filter_memcheck
+	filter_memcheck \
+	filter_memcpy
 
 noinst_HEADERS = leak.h
 
@@ -65,17 +69,31 @@
 	badrw.stderr.exp badrw.vgtest badrw.stderr.exp-s390x-mvc \
 	big_blocks_freed_list.stderr.exp big_blocks_freed_list.vgtest \
 	brk2.stderr.exp brk2.vgtest \
-	buflen_check.stderr.exp buflen_check.vgtest buflen_check.stderr.exp-kfail \
+	buflen_check.stderr.exp buflen_check.vgtest \
+		buflen_check.stderr.exp-kfail \
 	bug287260.stderr.exp bug287260.vgtest \
 	calloc-overflow.stderr.exp calloc-overflow.vgtest\
 	clientperm.stderr.exp \
 	clientperm.stdout.exp clientperm.vgtest \
-	custom_alloc.stderr.exp custom_alloc.vgtest custom_alloc.stderr.exp-s390x-mvc \
+	clireq_nofill.stderr.exp \
+	clireq_nofill.stdout.exp clireq_nofill.vgtest \
+	clo_redzone_default.vgtest clo_redzone_128.vgtest \
+	clo_redzone_default.stderr.exp clo_redzone_128.stderr.exp \
+	cond_ld.vgtest cond_ld.stdout.exp cond_ld.stderr.exp-arm \
+		cond_ld.stderr.exp-64bit-non-arm \
+		cond_ld.stderr.exp-32bit-non-arm \
+	cond_st.vgtest cond_st.stdout.exp cond_st.stderr.exp-arm \
+		cond_st.stderr.exp-64bit-non-arm \
+		cond_st.stderr.exp-32bit-non-arm \
+	custom_alloc.stderr.exp custom_alloc.vgtest \
+		custom_alloc.stderr.exp-s390x-mvc \
 	custom-overlap.stderr.exp custom-overlap.vgtest \
+	deep-backtrace.vgtest deep-backtrace.stderr.exp \
 	deep_templates.vgtest \
 	deep_templates.stdout.exp deep_templates.stderr.exp \
 	describe-block.stderr.exp describe-block.vgtest \
 	doublefree.stderr.exp doublefree.vgtest \
+	dw4.vgtest dw4.stderr.exp dw4.stdout.exp \
 	err_disable1.vgtest err_disable1.stderr.exp \
 	err_disable2.vgtest err_disable2.stderr.exp \
 	err_disable3.vgtest err_disable3.stderr.exp \
@@ -106,6 +124,8 @@
 	leak-pool-4.vgtest leak-pool-4.stderr.exp \
 	leak-pool-5.vgtest leak-pool-5.stderr.exp \
 	leak-tree.vgtest leak-tree.stderr.exp \
+	leak-segv-jmp.vgtest leak-segv-jmp.stderr.exp \
+	lks.vgtest lks.stdout.exp lks.supp lks.stderr.exp \
 	long_namespace_xml.vgtest long_namespace_xml.stdout.exp \
 	long_namespace_xml.stderr.exp \
 	long-supps.vgtest long-supps.stderr.exp long-supps.supp \
@@ -114,10 +134,15 @@
 	malloc_free_fill.stderr.exp \
 	malloc_usable.stderr.exp malloc_usable.vgtest \
 	malloc1.stderr.exp malloc1.vgtest \
+	malloc1_ks_none.stderr.exp malloc1_ks_none.vgtest \
+	malloc1_ks_alloc.stderr.exp malloc1_ks_alloc.vgtest \
+	malloc1_ks_free.stderr.exp malloc1_ks_free.vgtest \
+	malloc1_ks_alloc_and_free.stderr.exp malloc1_ks_alloc_and_free.vgtest \
 	malloc2.stderr.exp malloc2.vgtest \
 	malloc3.stderr.exp malloc3.stdout.exp malloc3.vgtest \
 	manuel1.stderr.exp manuel1.stdout.exp manuel1.vgtest \
-	manuel2.stderr.exp manuel2.stderr.exp64 manuel2.stdout.exp manuel2.vgtest \
+	manuel2.stderr.exp manuel2.stderr.exp64 manuel2.stdout.exp \
+		manuel2.vgtest \
 	manuel3.stderr.exp manuel3.vgtest \
 	match-overrun.stderr.exp match-overrun.vgtest match-overrun.supp \
 	memalign_test.stderr.exp memalign_test.vgtest \
@@ -157,8 +182,10 @@
 	partiallydefinedeq.stderr.exp3 \
 	partiallydefinedeq.stderr.exp2 \
 	partiallydefinedeq.stdout.exp \
-	partial_load_ok.vgtest partial_load_ok.stderr.exp partial_load_ok.stderr.exp64 \
-	partial_load_dflt.vgtest partial_load_dflt.stderr.exp partial_load_dflt.stderr.exp64 \
+	partial_load_ok.vgtest partial_load_ok.stderr.exp \
+		partial_load_ok.stderr.exp64 \
+	partial_load_dflt.vgtest partial_load_dflt.stderr.exp \
+		partial_load_dflt.stderr.exp64 \
 	partial_load_dflt.stderr.expr-s390x-mvc \
 	pdb-realloc.stderr.exp pdb-realloc.vgtest \
 	pdb-realloc2.stderr.exp pdb-realloc2.stdout.exp pdb-realloc2.vgtest \
@@ -169,16 +196,22 @@
 	realloc1.stderr.exp realloc1.vgtest \
 	realloc2.stderr.exp realloc2.vgtest \
 	realloc3.stderr.exp realloc3.vgtest \
+	recursive-merge.stderr.exp recursive-merge.vgtest \
 	sbfragment.stdout.exp sbfragment.stderr.exp sbfragment.vgtest \
+	sem.stderr.exp sem.vgtest \
+	sendmsg.stderr.exp sendmsg.vgtest \
 	sh-mem.stderr.exp sh-mem.vgtest \
 	sh-mem-random.stderr.exp sh-mem-random.stdout.exp64 \
 	sh-mem-random.stdout.exp sh-mem-random.vgtest \
 	sigaltstack.stderr.exp sigaltstack.vgtest \
-	sigkill.stderr.exp sigkill.stderr.exp-darwin sigkill.vgtest \
+	sigkill.stderr.exp sigkill.stderr.exp-darwin sigkill.stderr.exp-mips32 \
+	sigkill.vgtest \
 	signal2.stderr.exp signal2.stdout.exp signal2.vgtest \
 	sigprocmask.stderr.exp sigprocmask.stderr.exp2 sigprocmask.vgtest \
+	static_malloc.stderr.exp static_malloc.vgtest \
+	stpncpy.vgtest stpncpy.stderr.exp stpncpy.stdout.exp \
 	strchr.stderr.exp strchr.stderr.exp2 strchr.stderr.exp-darwin \
-	    strchr.vgtest \
+	    strchr.stderr.exp3 strchr.vgtest \
 	str_tester.stderr.exp str_tester.vgtest \
 	supp-dir.vgtest supp-dir.stderr.exp \
 	supp_unknown.stderr.exp supp_unknown.vgtest supp_unknown.supp \
@@ -186,25 +219,33 @@
 	supp1.stderr.exp supp1.vgtest \
 	supp2.stderr.exp supp2.vgtest \
 	supp.supp \
-	suppfree.stderr.exp suppfree.vgtest \
+	suppfree.stderr.exp suppfree.supp suppfree.vgtest \
 	test-plo-no.vgtest test-plo-no.stdout.exp \
 	    test-plo-no.stderr.exp-le64 test-plo-no.stderr.exp-le32 \
 	test-plo-yes.vgtest test-plo-yes.stdout.exp \
 	    test-plo-yes.stderr.exp-le64 test-plo-yes.stderr.exp-le32 \
 	    test-plo-no.stderr.exp-s390x-mvc \
 	trivialleak.stderr.exp trivialleak.vgtest trivialleak.stderr.exp2 \
+	undef_malloc_args.stderr.exp undef_malloc_args.vgtest \
 	unit_libcbase.stderr.exp unit_libcbase.vgtest \
 	unit_oset.stderr.exp unit_oset.stdout.exp unit_oset.vgtest \
-	varinfo1.vgtest varinfo1.stdout.exp varinfo1.stderr.exp varinfo1.stderr.exp-ppc64 \
-	varinfo2.vgtest varinfo2.stdout.exp varinfo2.stderr.exp varinfo2.stderr.exp-ppc64 \
-	varinfo3.vgtest varinfo3.stdout.exp varinfo3.stderr.exp varinfo3.stderr.exp-ppc64 \
-	varinfo4.vgtest varinfo4.stdout.exp varinfo4.stderr.exp varinfo4.stderr.exp-ppc64 \
-	varinfo5.vgtest varinfo5.stdout.exp varinfo5.stderr.exp varinfo5.stderr.exp-ppc64 \
-	varinfo6.vgtest varinfo6.stdout.exp varinfo6.stderr.exp varinfo6.stderr.exp-ppc64 \
+	varinfo1.vgtest varinfo1.stdout.exp varinfo1.stderr.exp \
+		varinfo1.stderr.exp-ppc64 \
+	varinfo2.vgtest varinfo2.stdout.exp varinfo2.stderr.exp \
+		varinfo2.stderr.exp-ppc64 \
+	varinfo3.vgtest varinfo3.stdout.exp varinfo3.stderr.exp \
+		varinfo3.stderr.exp-ppc64 \
+	varinfo4.vgtest varinfo4.stdout.exp varinfo4.stderr.exp \
+		varinfo4.stderr.exp-ppc64 \
+	varinfo5.vgtest varinfo5.stdout.exp varinfo5.stderr.exp \
+		varinfo5.stderr.exp-ppc64 \
+	varinfo6.vgtest varinfo6.stdout.exp varinfo6.stderr.exp \
+		varinfo6.stderr.exp-ppc64 \
 	vcpu_bz2.stdout.exp vcpu_bz2.stderr.exp vcpu_bz2.vgtest \
 	vcpu_fbench.stdout.exp vcpu_fbench.stderr.exp vcpu_fbench.vgtest \
 	vcpu_fnfns.stdout.exp vcpu_fnfns.stdout.exp-glibc28-amd64 \
 	vcpu_fnfns.stdout.exp-darwin vcpu_fnfns.stderr.exp vcpu_fnfns.vgtest \
+	wcs.vgtest wcs.stderr.exp wcs.stdout.exp \
 	wrap1.vgtest wrap1.stdout.exp wrap1.stderr.exp \
 	wrap2.vgtest wrap2.stdout.exp wrap2.stderr.exp \
 	wrap3.vgtest wrap3.stdout.exp wrap3.stderr.exp \
@@ -231,8 +272,12 @@
 	bug287260 \
 	calloc-overflow \
 	clientperm \
+	clireq_nofill \
+	clo_redzone \
+	cond_ld_st \
 	custom_alloc \
 	custom-overlap \
+	deep-backtrace \
 	deep_templates \
 	describe-block \
 	doublefree error_counts errs1 exitprog execve1 execve2 erringfds \
@@ -246,6 +291,7 @@
 	leak-delta \
 	leak-pool \
 	leak-tree \
+	leak-segv-jmp \
 	long_namespace_xml \
 	long-supps \
 	mallinfo \
@@ -265,30 +311,41 @@
 	pipe pointer-trace \
 	post-syscall \
 	realloc1 realloc2 realloc3 \
+	recursive-merge \
 	sbfragment \
+	sendmsg \
 	sh-mem sh-mem-random \
-	sigaltstack signal2 sigprocmask sigkill \
+	sigaltstack signal2 sigprocmask static_malloc sigkill \
 	strchr \
 	str_tester \
 	supp_unknown supp1 supp2 suppfree \
 	test-plo \
 	trivialleak \
+	undef_malloc_args \
 	unit_libcbase unit_oset \
 	varinfo1 varinfo2 varinfo3 varinfo4 \
 	varinfo5 varinfo5so.so varinfo6 \
 	vcpu_fbench vcpu_fnfns \
+	wcs \
 	xml1 \
 	wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 \
 	writev1
 
+if DWARF4
+check_PROGRAMS += dw4
+endif
+
+if HAVE_GNU_STPNCPY
+check_PROGRAMS += stpncpy
+endif
 
 AM_CFLAGS   += $(AM_FLAG_M3264_PRI)
 AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
 
-#if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
+if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
 #AM_CFLAGS   += -mfloat-abi=softfp
 #AM_CXXFLAGS += -mfloat-abi=softfp
-#endif
+endif
 
 if VGCONF_OS_IS_DARWIN
 atomic_incs_CFLAGS = $(AM_CFLAGS) -mdynamic-no-pic
@@ -299,6 +356,8 @@
 deep_templates_SOURCES	= deep_templates.cpp
 deep_templates_CXXFLAGS	= $(AM_CFLAGS) -O -gstabs
 
+dw4_CFLAGS		= $(AM_CFLAGS) -gdwarf-4 -fdebug-types-section
+
 err_disable3_LDADD 	= -lpthread
 err_disable4_LDADD 	= -lpthread
 
diff --git a/memcheck/tests/amd64/Makefile.am b/memcheck/tests/amd64/Makefile.am
index 6adb07a..bac7551 100644
--- a/memcheck/tests/amd64/Makefile.am
+++ b/memcheck/tests/amd64/Makefile.am
@@ -14,6 +14,9 @@
 	bug132146.vgtest bug132146.stderr.exp bug132146.stdout.exp \
 	bug279698.vgtest bug279698.stderr.exp bug279698.stdout.exp \
 	fxsave-amd64.vgtest fxsave-amd64.stdout.exp fxsave-amd64.stderr.exp \
+	insn-bsfl.vgtest insn-bsfl.stdout.exp insn-bsfl.stderr.exp \
+	insn-pcmpistri.vgtest insn-pcmpistri.stdout.exp insn-pcmpistri.stderr.exp \
+	insn-pmovmskb.vgtest insn-pmovmskb.stdout.exp insn-pmovmskb.stderr.exp \
 	more_x87_fp.stderr.exp more_x87_fp.stdout.exp more_x87_fp.vgtest \
 	sse_memory.stderr.exp sse_memory.stdout.exp sse_memory.vgtest \
 	xor-undef-amd64.stderr.exp xor-undef-amd64.stdout.exp \
@@ -24,6 +27,9 @@
 	bug132146 \
 	bug279698 \
 	fxsave-amd64 \
+	insn-bsfl \
+	insn-pcmpistri \
+	insn-pmovmskb \
 	more_x87_fp \
 	sse_memory \
 	xor-undef-amd64
diff --git a/memcheck/tests/amd64/bt_everything.c b/memcheck/tests/amd64/bt_everything.c
index 3c50181..a010b04 100644
--- a/memcheck/tests/amd64/bt_everything.c
+++ b/memcheck/tests/amd64/bt_everything.c
@@ -406,7 +406,7 @@
 {
    UInt   n, op;
    ULong  carrydep, c, res;
-   UChar* block;
+   char*  block;
    ULong  reg;
    Word   bitoff;
 
diff --git a/memcheck/tests/amd64/insn-bsfl.c b/memcheck/tests/amd64/insn-bsfl.c
new file mode 100644
index 0000000..0190069
--- /dev/null
+++ b/memcheck/tests/amd64/insn-bsfl.c
@@ -0,0 +1,85 @@
+/* https://bugs.kde.org/show_bug.cgi?id=308626 */
+
+#include "../../memcheck.h"
+
+#include <stdio.h>
+#include <assert.h>
+
+typedef unsigned int UInt;
+
+/* Calculate ctz(x) using bsfl instruction. */
+static int ctz(UInt x)
+{
+   assert(sizeof(UInt) == 4);
+   int result=8*sizeof(UInt);
+   /* BSFL does not change the destination when the input is zero. */
+   asm("bsfl %1,%0" : "=r" (result) : "r" (x), "0" (result) : "cc");
+   return result;
+}
+
+/* Set the V bits at "addr".  Note the convention: A zero bit means
+   "defined"; 1 means "undefined". */
+static void set_vbits(UInt *addr, UInt vbits)
+{
+   (void)VALGRIND_SET_VBITS(addr, &vbits, sizeof(unsigned));
+}
+
+static void doit(unsigned vbits, unsigned val)
+{
+   /* Since we are about to mark "val" partially undefined, make a
+      copy that we can use without generating a memcheck warning. */
+   unsigned val_copy = val;
+
+   /* Mark "val" partially undefined. */
+   set_vbits(&val, vbits);
+
+   /* Convince GCC it does not know what is in "val" so it does not
+      optimize away any uses of it. */
+   __asm__ ("" : "=r" (val) : "0" (val));
+
+   int result = ctz(val);
+
+   /* The following code is carefully constructed: The conditional
+      itself should generate a memcheck warning if and only if it is
+      false.  (Specifically, if the first "1" bit in val comes before
+      the first "undefined" bit, or the entire word is valid, then
+      ctz(val) is defined; else it is undefined.) */
+   if (result < ctz(vbits) || vbits == 0) {
+      /* There should be no memcheck warning on this printf, since
+         "result" is fully-defined in this case. */
+      printf("vbits=0x%08x ctz(0x%08x)=%d\n", vbits, val_copy, result);
+   }
+   else {
+       /* memcheck should have output a warning.  But we want
+          something here so there is no possibiliy of Valgrind
+          optimizing out the conditional itself. */
+       fprintf(stderr, "0x%08x: Invalid value is %d\n", val_copy,
+               ctz(val_copy));
+   }
+}
+
+int main(int argc, char *argv[])
+{
+   doit(0x00000000, 0x00000000);
+   doit(0x00000000, 0x00000001);
+   doit(0x00000001, 0x00000000);
+   doit(0x00000001, 0x00000001);
+
+   /* valid bit / data bit sandwich */
+   doit(0x00000090, 0x00000040);
+   doit(0x00000040, 0x00000090);
+
+   /* Interleaving */
+   doit(0x00000500, 0x00000a00);
+   doit(0x00000a00, 0x00000500);
+
+   doit(0x000f0000, 0x001e0000);
+   doit(0x001e0000, 0x000f0000);
+
+   doit(0xffffffff, 0xffffffff);
+   doit(0xfffffffe, 0xffffffff);
+   doit(0xffffffff, 0xfffffffe);
+   doit(0xfffffffe, 0xfffffffe);
+
+   return 0;
+}
diff --git a/memcheck/tests/amd64/insn-bsfl.stderr.exp b/memcheck/tests/amd64/insn-bsfl.stderr.exp
new file mode 100644
index 0000000..a79adba
--- /dev/null
+++ b/memcheck/tests/amd64/insn-bsfl.stderr.exp
@@ -0,0 +1,40 @@
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-bsfl.c:47)
+   by 0x........: main (insn-bsfl.c:65)
+
+0x........: Invalid value is 32
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-bsfl.c:47)
+   by 0x........: main (insn-bsfl.c:66)
+
+0x........: Invalid value is 0
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-bsfl.c:47)
+   by 0x........: main (insn-bsfl.c:69)
+
+0x........: Invalid value is 6
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-bsfl.c:47)
+   by 0x........: main (insn-bsfl.c:73)
+
+0x........: Invalid value is 9
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-bsfl.c:47)
+   by 0x........: main (insn-bsfl.c:76)
+
+0x........: Invalid value is 17
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-bsfl.c:47)
+   by 0x........: main (insn-bsfl.c:79)
+
+0x........: Invalid value is 0
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-bsfl.c:47)
+   by 0x........: main (insn-bsfl.c:81)
+
+0x........: Invalid value is 1
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-bsfl.c:47)
+   by 0x........: main (insn-bsfl.c:82)
+
+0x........: Invalid value is 1
diff --git a/memcheck/tests/amd64/insn-bsfl.stdout.exp b/memcheck/tests/amd64/insn-bsfl.stdout.exp
new file mode 100644
index 0000000..3eea500
--- /dev/null
+++ b/memcheck/tests/amd64/insn-bsfl.stdout.exp
@@ -0,0 +1,6 @@
+vbits=0x00000000 ctz(0x00000000)=32
+vbits=0x00000000 ctz(0x00000001)=0
+vbits=0x00000040 ctz(0x00000090)=4
+vbits=0x00000a00 ctz(0x00000500)=8
+vbits=0x001e0000 ctz(0x000f0000)=16
+vbits=0xfffffffe ctz(0xffffffff)=0
diff --git a/memcheck/tests/amd64/insn-bsfl.vgtest b/memcheck/tests/amd64/insn-bsfl.vgtest
new file mode 100644
index 0000000..eb2de18
--- /dev/null
+++ b/memcheck/tests/amd64/insn-bsfl.vgtest
@@ -0,0 +1,2 @@
+prog: insn-bsfl
+vgopts: -q
diff --git a/memcheck/tests/amd64/insn-pcmpistri.c b/memcheck/tests/amd64/insn-pcmpistri.c
new file mode 100644
index 0000000..d6ae92c
--- /dev/null
+++ b/memcheck/tests/amd64/insn-pcmpistri.c
@@ -0,0 +1,119 @@
+/* https://bugs.kde.org/show_bug.cgi?id=309921 */
+
+#define _XOPEN_SOURCE 600 /* for posix_memalign() */
+
+#include "../../memcheck.h"
+
+#include <stdio.h>
+#include <assert.h>
+#include <string.h>
+#include <stdlib.h>
+
+/* Exercise pcmpistri instruction in a realistic way. */
+int aligned_strlen(const char *const s)
+{
+   assert(((unsigned long)s & 0x0F) == 0);
+
+   const char *p = s;
+
+   /* volatile asm and "memory" clobber are needed here, since we
+      access memory in ways we cannot describe to GCC. */
+   __asm__ __volatile__ ("\n1:\n"
+                         "\tmovdqa (%0),%%xmm6\n"
+                         "\tpcmpistri $0x3a,%%xmm6,%%xmm6\n"
+                         "\tjc 2f\n"
+                         "\tadd $0x10,%0\n"
+                         "\tjmp 1b\n"
+                         "2:\n"
+                         "\tadd %%rcx,%0\n"
+                         : "=p" (p) : "0" (p) : "xmm6", "rcx", "cc", "memory");
+
+   return p-s;
+}
+
+/* Compute strlen(s).  Arrange for result to be valid or invalid
+   according to second argument. */
+int test_strlen(const char *const s, int valid)
+{
+   /* len = length of string including trailing null */
+   const size_t len = strlen(s) + 1;
+   const size_t roundup = ((len+15)/16)*16;
+   int result = -1;
+
+   void *space;
+   posix_memalign(&space, 16, roundup);
+   memset(space, 'x', roundup);
+   memcpy(space, s, len);
+
+   const char *const s_copy = space;
+   const unsigned char ff = 0xFF;
+   if (valid) {
+      /* Mark all bytes beyond the null as invalid. */
+      size_t i;
+      for (i=len ; i < roundup ; ++i)
+         (void)VALGRIND_SET_VBITS(&s_copy[i], &ff, 1);
+   }
+   else {
+      /* Mark the null byte itself as invalid. */
+      assert(len > 0);
+      (void)VALGRIND_SET_VBITS(&s_copy[len-1], &ff, 1);
+   }
+
+   result = aligned_strlen(s_copy);
+
+   free(space);
+
+   return result;
+}
+
+void doit(const char *const s)
+{
+   printf("strlen(\"%s\")=%d\n", s, test_strlen(s, 1));
+
+   fprintf(stderr, "strlen(\"%s\")=%s\n", s,
+           test_strlen(s, 0) ? "true" : "false");
+}
+
+int main(int argc, char *argv[])
+{
+   doit("");
+   doit("a");
+   doit("ab");
+   doit("abc");
+   doit("abcd");
+   doit("abcde");
+   doit("abcdef");
+   doit("abcdefg");
+   /* 8 */
+   doit("abcdefgh");
+   doit("abcdefghi");
+   doit("abcdefghij");
+   doit("abcdefghijk");
+   doit("abcdefghijkl");
+   doit("abcdefghijklm");
+   doit("abcdefghijklmn");
+   doit("abcdefghijklmno");
+   /* 16 */
+   doit("abcdefghijklmnop");
+   doit("abcdefghijklmnopq");
+   doit("abcdefghijklmnopqr");
+   doit("abcdefghijklmnopqrs");
+   doit("abcdefghijklmnopqrst");
+   doit("abcdefghijklmnopqrstu");
+   doit("abcdefghijklmnopqrstuv");
+   doit("abcdefghijklmnopqrstuvw");
+   doit("abcdefghijklmnopqrstuwvx");
+   doit("abcdefghijklmnopqrstuwvxy");
+   doit("abcdefghijklmnopqrstuwvxyz");
+   /* 255 */
+   doit("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+        "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+        "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+        "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
+   /* 256 */
+   doit("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+        "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+        "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
+        "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
+   return 0;
+}
diff --git a/memcheck/tests/amd64/insn-pcmpistri.stderr.exp b/memcheck/tests/amd64/insn-pcmpistri.stderr.exp
new file mode 100644
index 0000000..22c0b7e
--- /dev/null
+++ b/memcheck/tests/amd64/insn-pcmpistri.stderr.exp
@@ -0,0 +1,319 @@
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:79)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:79)
+
+strlen("")=false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:80)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:80)
+
+strlen("a")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:81)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:81)
+
+strlen("ab")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:82)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:82)
+
+strlen("abc")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:83)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:83)
+
+strlen("abcd")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:84)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:84)
+
+strlen("abcde")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:85)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:85)
+
+strlen("abcdef")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:86)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:86)
+
+strlen("abcdefg")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:88)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:88)
+
+strlen("abcdefgh")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:89)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:89)
+
+strlen("abcdefghi")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:90)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:90)
+
+strlen("abcdefghij")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:91)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:91)
+
+strlen("abcdefghijk")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:92)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:92)
+
+strlen("abcdefghijkl")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:93)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:93)
+
+strlen("abcdefghijklm")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:94)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:94)
+
+strlen("abcdefghijklmn")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:95)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:95)
+
+strlen("abcdefghijklmno")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:97)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:97)
+
+strlen("abcdefghijklmnop")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:98)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:98)
+
+strlen("abcdefghijklmnopq")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:99)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:99)
+
+strlen("abcdefghijklmnopqr")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:100)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:100)
+
+strlen("abcdefghijklmnopqrs")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:101)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:101)
+
+strlen("abcdefghijklmnopqrst")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:102)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:102)
+
+strlen("abcdefghijklmnopqrstu")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:103)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:103)
+
+strlen("abcdefghijklmnopqrstuv")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:104)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:104)
+
+strlen("abcdefghijklmnopqrstuvw")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:105)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:105)
+
+strlen("abcdefghijklmnopqrstuwvx")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:106)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:106)
+
+strlen("abcdefghijklmnopqrstuwvxy")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:107)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:107)
+
+strlen("abcdefghijklmnopqrstuwvxyz")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:109)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:109)
+
+strlen("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")=true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: aligned_strlen (insn-pcmpistri.c:21)
+   by 0x........: test_strlen (insn-pcmpistri.c:62)
+   by 0x........: doit (insn-pcmpistri.c:74)
+   by 0x........: main (insn-pcmpistri.c:114)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: doit (insn-pcmpistri.c:73)
+   by 0x........: main (insn-pcmpistri.c:114)
+
+strlen("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")=true
diff --git a/memcheck/tests/amd64/insn-pcmpistri.stdout.exp b/memcheck/tests/amd64/insn-pcmpistri.stdout.exp
new file mode 100644
index 0000000..6c5417c
--- /dev/null
+++ b/memcheck/tests/amd64/insn-pcmpistri.stdout.exp
@@ -0,0 +1,29 @@
+strlen("")=0
+strlen("a")=1
+strlen("ab")=2
+strlen("abc")=3
+strlen("abcd")=4
+strlen("abcde")=5
+strlen("abcdef")=6
+strlen("abcdefg")=7
+strlen("abcdefgh")=8
+strlen("abcdefghi")=9
+strlen("abcdefghij")=10
+strlen("abcdefghijk")=11
+strlen("abcdefghijkl")=12
+strlen("abcdefghijklm")=13
+strlen("abcdefghijklmn")=14
+strlen("abcdefghijklmno")=15
+strlen("abcdefghijklmnop")=16
+strlen("abcdefghijklmnopq")=17
+strlen("abcdefghijklmnopqr")=18
+strlen("abcdefghijklmnopqrs")=19
+strlen("abcdefghijklmnopqrst")=20
+strlen("abcdefghijklmnopqrstu")=21
+strlen("abcdefghijklmnopqrstuv")=22
+strlen("abcdefghijklmnopqrstuvw")=23
+strlen("abcdefghijklmnopqrstuwvx")=24
+strlen("abcdefghijklmnopqrstuwvxy")=25
+strlen("abcdefghijklmnopqrstuwvxyz")=26
+strlen("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")=255
+strlen("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")=256
diff --git a/memcheck/tests/amd64/insn-pcmpistri.vgtest b/memcheck/tests/amd64/insn-pcmpistri.vgtest
new file mode 100644
index 0000000..225c725
--- /dev/null
+++ b/memcheck/tests/amd64/insn-pcmpistri.vgtest
@@ -0,0 +1,2 @@
+prog: insn-pcmpistri
+vgopts: -q
diff --git a/memcheck/tests/amd64/insn-pmovmskb.c b/memcheck/tests/amd64/insn-pmovmskb.c
new file mode 100644
index 0000000..2f14e75
--- /dev/null
+++ b/memcheck/tests/amd64/insn-pmovmskb.c
@@ -0,0 +1,147 @@
+/* https://bugs.kde.org/show_bug.cgi?id=308627 */
+
+#include "../../memcheck.h"
+
+#include <stdio.h>
+
+typedef unsigned long ULong;
+
+typedef struct {
+   ULong w64[2];  /* Note: little-endian */
+} V128;
+
+static int getMSBs16x8(V128 v)
+{
+   int result;
+   __asm__("movups %1,%%xmm6\n"
+           "\tpmovmskb %%xmm6,%0\n"
+           : "=r" (result) : "m" (v) : "xmm6");
+   return result;
+}
+
+/* Set the V bits on the data at "addr".  Note the convention: A zero
+   bit means "defined"; 1 means "undefined". */
+static void set_vbits(V128 *addr, V128 vbits)
+{
+   int i;
+   for (i=0 ; i<2 ; ++i) {
+      (void)VALGRIND_SET_VBITS(&addr->w64[i], &vbits.w64[i], sizeof(vbits.w64[i]));
+   }
+}
+
+static void print(V128 vbits, V128 val, int bit, int result)
+{
+   printf("vbits=0x%016lx%016lx val=0x%016lx%016lx bit=%d result=%d\n",
+          vbits.w64[1], vbits.w64[0], val.w64[1], val.w64[0],
+          bit, result);
+}
+
+/* Use a value that we know is invalid. */
+static void use(int index, int invalid)
+{
+   /* Convince GCC it does not know what is in "invalid" so it cannot
+      possibly optimize away the conditional branch below. */
+   __asm__ ("" : "=r" (invalid) : "0" (invalid));
+
+   /* Create a conditional branch on which our output depends, so that
+      memcheck cannot possibly optimize it away, either. */
+   fprintf(stderr, "%d: Invalid value is %s\n",
+           index, invalid ? "true" : "false");
+}
+
+static void doit(ULong vbits_hi, ULong vbits_lo, ULong val_hi, ULong val_lo)
+{
+   V128 vbits = { { vbits_lo, vbits_hi } };
+   V128 val = { { val_lo, val_hi } };
+
+   /* Since we are about to mark "val" partially undefined, make a
+      copy that we can use without generating a memcheck warning. */
+   V128 val_copy = val;
+
+   set_vbits(&val, vbits);
+
+   int result = getMSBs16x8(val);
+
+   int vbits_mask = getMSBs16x8(vbits);
+
+   int bit = 0; ULong mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 1; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 2; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 3; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 4; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 5; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 6 ; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 7 ; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 8 ; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 9 ; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 10 ; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 11 ; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 12 ; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 13 ; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 14 ; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+
+   bit = 15 ; mask = (1UL << bit);
+   if ((vbits_mask & mask) == 0) print(vbits, val_copy, bit, result & mask);
+   else use(bit, result & mask);
+}
+
+int main(int argc, char *argv[])
+{
+   doit(0x0000000000000000, 0x0000000000000000,
+        0x0000000000000000, 0x0000000000000000);
+
+   doit(0x0707070707070707, 0x0707070707070707,
+        0x0000000000000000, 0x0000000000000000);
+
+   doit(0x8080808080808080, 0x8080808080808080,
+        0x0000000000000000, 0x0000000000000000);
+
+   doit(0x13579BDF02468ACE, 0xFEDCBA9876543210,
+        0xFEEDFACEDEADBEEF, 0xFEE1DEADDABBAD00);
+
+   return 0;
+}
diff --git a/memcheck/tests/amd64/insn-pmovmskb.stderr.exp b/memcheck/tests/amd64/insn-pmovmskb.stderr.exp
new file mode 100644
index 0000000..5c05833
--- /dev/null
+++ b/memcheck/tests/amd64/insn-pmovmskb.stderr.exp
@@ -0,0 +1,144 @@
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:69)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+0: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:73)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+1: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:77)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+2: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:81)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+3: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:85)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+4: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:89)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+5: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:93)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+6: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:97)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+7: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:101)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+8: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:105)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+9: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:109)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+10: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:113)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+11: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:117)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+12: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:121)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+13: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:125)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+14: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:129)
+   by 0x........: main (insn-pmovmskb.c:140)
+
+15: Invalid value is false
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:85)
+   by 0x........: main (insn-pmovmskb.c:143)
+
+4: Invalid value is true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:89)
+   by 0x........: main (insn-pmovmskb.c:143)
+
+5: Invalid value is true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:93)
+   by 0x........: main (insn-pmovmskb.c:143)
+
+6: Invalid value is true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:97)
+   by 0x........: main (insn-pmovmskb.c:143)
+
+7: Invalid value is true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:101)
+   by 0x........: main (insn-pmovmskb.c:143)
+
+8: Invalid value is true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:105)
+   by 0x........: main (insn-pmovmskb.c:143)
+
+9: Invalid value is true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:117)
+   by 0x........: main (insn-pmovmskb.c:143)
+
+12: Invalid value is true
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: use (insn-pmovmskb.c:48)
+   by 0x........: doit (insn-pmovmskb.c:121)
+   by 0x........: main (insn-pmovmskb.c:143)
+
+13: Invalid value is true
diff --git a/memcheck/tests/amd64/insn-pmovmskb.stdout.exp b/memcheck/tests/amd64/insn-pmovmskb.stdout.exp
new file mode 100644
index 0000000..7f5ddc2
--- /dev/null
+++ b/memcheck/tests/amd64/insn-pmovmskb.stdout.exp
@@ -0,0 +1,40 @@
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=0 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=1 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=2 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=3 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=4 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=5 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=6 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=7 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=8 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=9 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=10 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=11 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=12 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=13 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=14 result=0
+vbits=0x00000000000000000000000000000000 val=0x00000000000000000000000000000000 bit=15 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=0 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=1 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=2 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=3 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=4 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=5 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=6 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=7 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=8 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=9 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=10 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=11 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=12 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=13 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=14 result=0
+vbits=0x07070707070707070707070707070707 val=0x00000000000000000000000000000000 bit=15 result=0
+vbits=0x13579bdf02468acefedcba9876543210 val=0xfeedfacedeadbeeffee1deaddabbad00 bit=0 result=0
+vbits=0x13579bdf02468acefedcba9876543210 val=0xfeedfacedeadbeeffee1deaddabbad00 bit=1 result=2
+vbits=0x13579bdf02468acefedcba9876543210 val=0xfeedfacedeadbeeffee1deaddabbad00 bit=2 result=4
+vbits=0x13579bdf02468acefedcba9876543210 val=0xfeedfacedeadbeeffee1deaddabbad00 bit=3 result=8
+vbits=0x13579bdf02468acefedcba9876543210 val=0xfeedfacedeadbeeffee1deaddabbad00 bit=10 result=1024
+vbits=0x13579bdf02468acefedcba9876543210 val=0xfeedfacedeadbeeffee1deaddabbad00 bit=11 result=2048
+vbits=0x13579bdf02468acefedcba9876543210 val=0xfeedfacedeadbeeffee1deaddabbad00 bit=14 result=16384
+vbits=0x13579bdf02468acefedcba9876543210 val=0xfeedfacedeadbeeffee1deaddabbad00 bit=15 result=32768
diff --git a/memcheck/tests/amd64/insn-pmovmskb.vgtest b/memcheck/tests/amd64/insn-pmovmskb.vgtest
new file mode 100644
index 0000000..d1a3ab0
--- /dev/null
+++ b/memcheck/tests/amd64/insn-pmovmskb.vgtest
@@ -0,0 +1,2 @@
+prog: insn-pmovmskb
+vgopts: -q
diff --git a/memcheck/tests/atomic_incs.c b/memcheck/tests/atomic_incs.c
index 80cf810..c3d1a58 100644
--- a/memcheck/tests/atomic_incs.c
+++ b/memcheck/tests/atomic_incs.c
@@ -110,6 +110,94 @@
       : "+m" (*p), "+m" (dummy)
       : "d" (n)
       : "cc", "memory", "0", "1");
+#elif defined(VGA_mips32)
+   /* We rely on the fact that p is 4-aligned. Otherwise 'll' may throw an
+      exception that can cause this function to fail. */
+#if defined (_MIPSEL)
+   unsigned int block[3]
+      = { (unsigned int)p, (unsigned int)n, 0x0 };
+   do {
+      __asm__ __volatile__(
+         "move $t0, %0"           "\n\t"
+         "lw   $t1, 0($t0)"       "\n\t"  // p
+         "lw   $t2, 4($t0)"       "\n\t"  // n
+         "andi $t2, $t2, 0xFF"    "\n\t"  // n = n and 0xFF
+         "li   $t4, 0xFF"         "\n\t"
+         "nor  $t4, $t4, $zero"   "\n\t"  // $t4 = 0xFFFFFF00
+         "ll   $t3, 0($t1)"       "\n\t"  // $t3 = old value
+         "and  $t4, $t4, $t3"     "\n\t"  // $t4 = $t3 and 0xFFFFFF00
+         "addu $t3, $t3, $t2"     "\n\t"  // $t3 = $t3 + n
+         "andi $t3, $t3, 0xFF"    "\n\t"  // $t3 = $t3 and 0xFF
+         "or   $t3, $t3, $t4"     "\n\t"  // $t3 = $t3 or $t4
+         "sc   $t3, 0($t1)"       "\n\t"
+         "sw   $t3, 8($t0)"       "\n\t"  // save result
+         : /*out*/
+         : /*in*/ "r"(&block[0])
+         : /*trash*/ "memory", "t0", "t1", "t2", "t3", "t4"
+      );
+   } while (block[2] != 1);
+#elif defined (_MIPSEB)
+   unsigned int block[3]
+      = { (unsigned int)p, (unsigned int)n << 24, 0x0 };
+   do {
+      __asm__ __volatile__(
+         "move $t0, %0"          "\n\t"
+         "lw   $t1, 0($t0)"      "\n\t"  // p
+         "lw   $t2, 4($t0)"      "\n\t"  // n
+         "ll   $t3, 0($t1)"      "\n\t"
+         "addu $t3, $t3, $t2"    "\n\t"
+         "sc   $t3, 0($t1)"      "\n\t"
+         "sw   $t3, 8($t0)"      "\n\t"
+         : /*out*/
+         : /*in*/ "r"(&block[0])
+         : /*trash*/ "memory", "t0", "t1", "t2", "t3"
+      );
+   } while (block[2] != 1);
+#endif
+#elif defined(VGA_mips64)
+   /* We rely on the fact that p is 4-aligned. Otherwise 'll' may throw an
+      exception that can cause this function to fail. */
+#if defined (_MIPSEL)
+   unsigned long block[3]
+      = { (unsigned long)p, (unsigned long)n, 0x0ULL };
+   do {
+      __asm__ __volatile__(
+         "move $t0, %0"           "\n\t"
+         "ld   $t1, 0($t0)"       "\n\t"  // p
+         "ld   $t2, 8($t0)"       "\n\t"  // n
+         "andi $t2, $t2, 0xFF"    "\n\t"  // n = n and 0xFF
+         "li   $s0, 0xFF"         "\n\t"
+         "nor  $s0, $s0, $zero"   "\n\t"  // $s0 = 0xFFFFFF00
+         "ll   $t3, 0($t1)"       "\n\t"  // $t3 = old value
+         "and  $s0, $s0, $t3"     "\n\t"  // $s0 = $t3 and 0xFFFFFF00
+         "addu $t3, $t3, $t2"     "\n\t"  // $t3 = $t3 + n
+         "andi $t3, $t3, 0xFF"    "\n\t"  // $t3 = $t3 and 0xFF
+         "or   $t3, $t3, $s0"     "\n\t"  // $t3 = $t3 or $s0
+         "sc   $t3, 0($t1)"       "\n\t"
+         "sw   $t3, 16($t0)"      "\n\t"  // save result
+         : /*out*/
+         : /*in*/ "r"(&block[0])
+         : /*trash*/ "memory", "t0", "t1", "t2", "t3", "s0"
+      );
+   } while (block[2] != 1);
+#elif defined (_MIPSEB)
+   unsigned long block[3]
+      = { (unsigned long)p, (unsigned long)n << 56, 0x0 };
+   do {
+      __asm__ __volatile__(
+         "move  $t0, %0"          "\n\t"
+         "ld    $t1, 0($t0)"      "\n\t"  // p
+         "ld    $t2, 8($t0)"      "\n\t"  // n
+         "lld   $t3, 0($t1)"      "\n\t"
+         "daddu $t3, $t3, $t2"    "\n\t"
+         "scd   $t3, 0($t1)"      "\n\t"
+         "sd    $t3, 16($t0)"     "\n\t"
+         : /*out*/
+         : /*in*/ "r"(&block[0])
+         : /*trash*/ "memory", "t0", "t1", "t2", "t3"
+      );
+   } while (block[2] != 1);
+#endif
 #else
 # error "Unsupported arch"
 #endif
@@ -203,6 +291,94 @@
       : "+m" (*p), "+m" (dummy)
       : "d" (n)
       : "cc", "memory", "0", "1");
+#elif defined(VGA_mips32)
+   /* We rely on the fact that p is 4-aligned. Otherwise 'll' may throw an
+      exception that can cause this function to fail. */
+#if defined (_MIPSEL)
+   unsigned int block[3]
+      = { (unsigned int)p, (unsigned int)n, 0x0 };
+   do {
+      __asm__ __volatile__(
+         "move $t0, %0"           "\n\t"
+         "lw   $t1, 0($t0)"       "\n\t"  // p
+         "lw   $t2, 4($t0)"       "\n\t"  // n
+         "andi $t2, $t2, 0xFFFF"  "\n\t"  // n = n and 0xFFFF
+         "li   $t4, 0xFFFF"       "\n\t"
+         "nor  $t4, $t4, $zero"   "\n\t"  // $t4 = 0xFFFF0000
+         "ll   $t3, 0($t1)"       "\n\t"  // $t3 = old value
+         "and  $t4, $t4, $t3"     "\n\t"  // $t4 = $t3 and 0xFFFF0000
+         "addu $t3, $t3, $t2"     "\n\t"  // $t3 = $t3 + n
+         "andi $t3, $t3, 0xFFFF"  "\n\t"  // $t3 = $t3 and 0xFFFF
+         "or   $t3, $t3, $t4"     "\n\t"  // $t3 = $t3 or $t4
+         "sc   $t3, 0($t1)"       "\n\t"
+         "sw   $t3, 8($t0)"       "\n\t"  // save result
+         : /*out*/
+         : /*in*/ "r"(&block[0])
+         : /*trash*/ "memory", "t0", "t1", "t2", "t3", "t4"
+      );
+   } while (block[2] != 1);
+#elif defined (_MIPSEB)
+   unsigned int block[3]
+      = { (unsigned int)p, (unsigned int)n << 16, 0x0 };
+   do {
+      __asm__ __volatile__(
+         "move $t0, %0"          "\n\t"
+         "lw   $t1, 0($t0)"      "\n\t"  // p
+         "lw   $t2, 4($t0)"      "\n\t"  // n
+         "ll   $t3, 0($t1)"      "\n\t"
+         "addu $t3, $t3, $t2"    "\n\t"
+         "sc   $t3, 0($t1)"      "\n\t"
+         "sw   $t3, 8($t0)"      "\n\t"
+         : /*out*/
+         : /*in*/ "r"(&block[0])
+         : /*trash*/ "memory", "t0", "t1", "t2", "t3"
+      );
+   } while (block[2] != 1);
+#endif
+#elif defined(VGA_mips64)
+   /* We rely on the fact that p is 4-aligned. Otherwise 'll' may throw an
+      exception that can cause this function to fail. */
+#if defined (_MIPSEL)
+   unsigned long block[3]
+      = { (unsigned long)p, (unsigned long)n, 0x0ULL };
+   do {
+      __asm__ __volatile__(
+         "move $t0, %0"           "\n\t"
+         "ld   $t1, 0($t0)"       "\n\t"  // p
+         "ld   $t2, 8($t0)"       "\n\t"  // n
+         "andi $t2, $t2, 0xFFFF"  "\n\t"  // n = n and 0xFFFF
+         "li   $s0, 0xFFFF"       "\n\t"
+         "nor  $s0, $s0, $zero"   "\n\t"  // $s0= 0xFFFF0000
+         "ll   $t3, 0($t1)"       "\n\t"  // $t3 = old value
+         "and  $s0, $s0, $t3"     "\n\t"  // $s0 = $t3 and 0xFFFF0000
+         "addu $t3, $t3, $t2"     "\n\t"  // $t3 = $t3 + n
+         "andi $t3, $t3, 0xFFFF"  "\n\t"  // $t3 = $t3 and 0xFFFF
+         "or   $t3, $t3, $s0"     "\n\t"  // $t3 = $t3 or $s0
+         "sc   $t3, 0($t1)"       "\n\t"
+         "sw   $t3, 16($t0)"      "\n\t"  // save result
+         : /*out*/
+         : /*in*/ "r"(&block[0])
+         : /*trash*/ "memory", "t0", "t1", "t2", "t3", "s0"
+      );
+   } while (block[2] != 1);
+#elif defined (_MIPSEB)
+   unsigned long block[3]
+      = { (unsigned long)p, (unsigned long)n << 48, 0x0 };
+   do {
+      __asm__ __volatile__(
+         "move  $t0, %0"          "\n\t"
+         "ld    $t1, 0($t0)"      "\n\t"  // p
+         "ld    $t2, 8($t0)"      "\n\t"  // n
+         "lld   $t3, 0($t1)"      "\n\t"
+         "daddu $t3, $t3, $t2"    "\n\t"
+         "scd   $t3, 0($t1)"      "\n\t"
+         "sd    $t3, 16($t0)"     "\n\t"
+         : /*out*/
+         : /*in*/ "r"(&block[0])
+         : /*trash*/ "memory", "t0", "t1", "t2", "t3"
+      );
+   } while (block[2] != 1);
+#endif
 #else
 # error "Unsupported arch"
 #endif
@@ -289,6 +465,40 @@
       : "+m" (*p)
       : "d" (n)
       : "cc", "memory", "0", "1");
+#elif defined(VGA_mips32)
+   unsigned int block[3]
+      = { (unsigned int)p, (unsigned int)n, 0x0 };
+   do {
+      __asm__ __volatile__(
+         "move $t0, %0"        "\n\t"
+         "lw   $t1, 0($t0)"    "\n\t"  // p
+         "lw   $t2, 4($t0)"    "\n\t"  // n
+         "ll   $t3, 0($t1)"    "\n\t"
+         "addu $t3, $t3, $t2"  "\n\t"
+         "sc   $t3, 0($t1)"    "\n\t"
+         "sw   $t3, 8($t0)"    "\n\t"
+         : /*out*/
+         : /*in*/ "r"(&block[0])
+         : /*trash*/ "memory", "t0", "t1", "t2", "t3"
+      );
+   } while (block[2] != 1);
+#elif defined(VGA_mips64)
+   unsigned long block[3]
+      = { (unsigned long)p, (unsigned long)n, 0x0ULL };
+   do {
+      __asm__ __volatile__(
+         "move  $t0, %0"        "\n\t"
+         "ld    $t1, 0($t0)"    "\n\t"  // p
+         "ld    $t2, 8($t0)"    "\n\t"  // n
+         "ll    $t3, 0($t1)"    "\n\t"
+         "addu  $t3, $t3, $t2"  "\n\t"
+         "sc    $t3, 0($t1)"    "\n\t"
+         "sd    $t3, 16($t0)"   "\n\t"
+         : /*out*/
+         : /*in*/ "r"(&block[0])
+         : /*trash*/ "memory", "t0", "t1", "t2", "t3"
+      );
+   } while (block[2] != 1);
 #else
 # error "Unsupported arch"
 #endif
@@ -296,7 +506,7 @@
 
 __attribute__((noinline)) void atomic_add_64bit ( long long int* p, int n ) 
 {
-#if defined(VGA_x86) || defined(VGA_ppc32)
+#if defined(VGA_x86) || defined(VGA_ppc32) || defined(VGA_mips32)
    /* do nothing; is not supported */
 #elif defined(VGA_amd64)
    // this is a bit subtle.  It relies on the fact that, on a 64-bit platform,
@@ -355,6 +565,23 @@
       : "+m" (*p)
       : "d" (n)
       : "cc", "memory", "0", "1");
+#elif defined(VGA_mips64)
+   unsigned long block[3]
+      = { (unsigned long)p, (unsigned long)n, 0x0ULL };
+   do {
+      __asm__ __volatile__(
+         "move  $t0, %0"        "\n\t"
+         "ld    $t1, 0($t0)"    "\n\t" // p
+         "ld    $t2, 8($t0)"    "\n\t" // n
+         "lld   $t3, 0($t1)"    "\n\t"
+         "daddu $t3, $t3, $t2"  "\n\t"
+         "scd   $t3, 0($t1)"    "\n\t"
+         "sd    $t3, 16($t0)"   "\n\t"
+         : /*out*/
+         : /*in*/ "r"(&block[0])
+         : /*trash*/ "memory", "t0", "t1", "t2", "t3"
+      );
+   } while (block[2] != 1);
 #else
 # error "Unsupported arch"
 #endif
diff --git a/memcheck/tests/buflen_check.c b/memcheck/tests/buflen_check.c
index 70129c1..482d24d 100644
--- a/memcheck/tests/buflen_check.c
+++ b/memcheck/tests/buflen_check.c
@@ -6,7 +6,7 @@
 {
    struct sockaddr name;
    int res1, res2, res3;
-   int len = 10;
+   unsigned len = 10;
 
    res1 = socket(PF_UNIX, SOCK_STREAM, 0);
    if (res1 == 0) {
diff --git a/memcheck/tests/clireq_nofill.c b/memcheck/tests/clireq_nofill.c
new file mode 100644
index 0000000..6d2c45c
--- /dev/null
+++ b/memcheck/tests/clireq_nofill.c
@@ -0,0 +1,42 @@
+#include <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include "valgrind.h"
+#include "../memcheck.h"
+
+struct super { int x; };
+static struct super superblock = { 12345 };
+
+/* run with `valgrind -q --malloc-fill=0xaf --free-fill=0xdb` */
+int main(int argc, char **argv)
+{
+    unsigned char *s;
+    VALGRIND_CREATE_MEMPOOL(&superblock, /*rzB=*/0, /*is_zeroed=*/0);
+    s = malloc(40);
+    assert(s);
+    assert(*s == 0xaf);
+    *s = 0x05;
+    VALGRIND_MEMPOOL_ALLOC(&superblock, s, 40);
+    printf("*s=%#hhx after MEMPOOL_ALLOC\n", *s);
+    VALGRIND_MEMPOOL_FREE(&superblock, s);
+    printf("*s=%#hhx after MEMPOOL_FREE\n", *s);
+    VALGRIND_MEMPOOL_ALLOC(&superblock, s, 40);
+    printf("*s=%#hhx after second MEMPOOL_ALLOC\n", *s);
+    free(s);
+    VALGRIND_DESTROY_MEMPOOL(&superblock);
+
+    s = malloc(40);
+    assert(s);
+    assert(*s == 0xaf);
+    *s = 0x05;
+    VALGRIND_MALLOCLIKE_BLOCK(s, 40, 0/*rzB*/, 0/*is_zeroed*/);
+    printf("*s=%#hhx after MALLOCLIKE_BLOCK\n", *s);
+    VALGRIND_FREELIKE_BLOCK(s, 0/*rzB*/);
+    printf("*s=%#hhx after FREELIKE_BLOCK\n", *s);
+    VALGRIND_MALLOCLIKE_BLOCK(s, 40, 0/*rzB*/, 0/*is_zeroed*/);
+    printf("*s=%#hhx after second MALLOCLIKE_BLOCK\n", *s);
+
+    return 0;
+}
+
diff --git a/memcheck/tests/clireq_nofill.stderr.exp b/memcheck/tests/clireq_nofill.stderr.exp
new file mode 100644
index 0000000..42a9711
--- /dev/null
+++ b/memcheck/tests/clireq_nofill.stderr.exp
@@ -0,0 +1,12 @@
+Invalid read of size 1
+   at 0x........: main (clireq_nofill.c:23)
+ Address 0x........ is 0 bytes inside a recently re-allocated block of size 40 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (clireq_nofill.c:16)
+
+Invalid read of size 1
+   at 0x........: main (clireq_nofill.c:36)
+ Address 0x........ is 0 bytes inside a recently re-allocated block of size 40 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (clireq_nofill.c:29)
+
diff --git a/memcheck/tests/clireq_nofill.stdout.exp b/memcheck/tests/clireq_nofill.stdout.exp
new file mode 100644
index 0000000..731d8aa
--- /dev/null
+++ b/memcheck/tests/clireq_nofill.stdout.exp
@@ -0,0 +1,6 @@
+*s=0x5 after MEMPOOL_ALLOC
+*s=0x5 after MEMPOOL_FREE
+*s=0x5 after second MEMPOOL_ALLOC
+*s=0x5 after MALLOCLIKE_BLOCK
+*s=0x5 after FREELIKE_BLOCK
+*s=0x5 after second MALLOCLIKE_BLOCK
diff --git a/memcheck/tests/clireq_nofill.vgtest b/memcheck/tests/clireq_nofill.vgtest
new file mode 100644
index 0000000..f834bf9
--- /dev/null
+++ b/memcheck/tests/clireq_nofill.vgtest
@@ -0,0 +1,2 @@
+prog: clireq_nofill
+vgopts: -q --undef-value-errors=no --malloc-fill=0xaf --free-fill=0xdb
diff --git a/memcheck/tests/clo_redzone.c b/memcheck/tests/clo_redzone.c
new file mode 100644
index 0000000..5733ffa
--- /dev/null
+++ b/memcheck/tests/clo_redzone.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+#include <stdlib.h>
+int main()
+{
+   __attribute__((unused)) char *p = malloc (1);
+   char *b1 = malloc (128);
+   char *b2 = malloc (128);
+   fprintf (stderr, "b1 %p b2 %p\n", b1, b2);
+
+   // Try to land in b2 from b1, causing no error
+   // with the default redzone-size, but having
+   // an error with a bigger redzone-size.
+   // We need to choose a value which lands in b2
+   // on 32 bits and 64 bits.
+   b1[127 + 70] = 'a';
+   return 0;
+}
diff --git a/memcheck/tests/clo_redzone_128.stderr.exp b/memcheck/tests/clo_redzone_128.stderr.exp
new file mode 100644
index 0000000..08b360d
--- /dev/null
+++ b/memcheck/tests/clo_redzone_128.stderr.exp
@@ -0,0 +1,7 @@
+b1 0x........ b2 0x........
+Invalid write of size 1
+   ...
+ Address 0x........ is 69 bytes after a block of size 128 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   ...
+
diff --git a/memcheck/tests/clo_redzone_128.vgtest b/memcheck/tests/clo_redzone_128.vgtest
new file mode 100644
index 0000000..6b7b2a6
--- /dev/null
+++ b/memcheck/tests/clo_redzone_128.vgtest
@@ -0,0 +1,2 @@
+vgopts: --leak-check=no -q --redzone-size=128
+prog: clo_redzone
diff --git a/memcheck/tests/clo_redzone_default.stderr.exp b/memcheck/tests/clo_redzone_default.stderr.exp
new file mode 100644
index 0000000..f86f233
--- /dev/null
+++ b/memcheck/tests/clo_redzone_default.stderr.exp
@@ -0,0 +1 @@
+b1 0x........ b2 0x........
diff --git a/memcheck/tests/clo_redzone_default.vgtest b/memcheck/tests/clo_redzone_default.vgtest
new file mode 100644
index 0000000..fc63752
--- /dev/null
+++ b/memcheck/tests/clo_redzone_default.vgtest
@@ -0,0 +1,2 @@
+vgopts: --leak-check=no -q
+prog: clo_redzone
diff --git a/memcheck/tests/cond_ld.stderr.exp-32bit-non-arm b/memcheck/tests/cond_ld.stderr.exp-32bit-non-arm
new file mode 100644
index 0000000..9b62110
--- /dev/null
+++ b/memcheck/tests/cond_ld.stderr.exp-32bit-non-arm
@@ -0,0 +1,800 @@
+
+-----------------------------------------------------------
+LOAD CASE 0
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 1
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 2
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 3
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 4
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 5
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 6
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 7
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 8
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:373)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 9
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:375)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 10
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:377)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 11
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:379)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 12
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 13
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 14
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 15
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 16
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 17
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 18
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 19
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 20
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 21
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 22
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 23
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 24
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 25
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 26
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 27
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 28
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 29
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 30
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 31
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 32
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:421)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 33
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:423)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 34
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:425)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 35
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:427)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 36
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 37
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 38
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 39
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 40
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 41
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 42
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 43
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 44
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 45
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 46
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 47
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 48
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:453)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 49
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:455)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 50
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:457)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 51
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:459)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 52
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:461)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 53
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:463)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 54
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:465)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 55
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:467)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 56
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:469)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 57
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:471)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 58
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:473)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 59
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:475)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 60
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:477)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 61
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:479)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 62
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:481)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 63
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:483)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
diff --git a/memcheck/tests/cond_ld.stderr.exp-64bit-non-arm b/memcheck/tests/cond_ld.stderr.exp-64bit-non-arm
new file mode 100644
index 0000000..d08626d
--- /dev/null
+++ b/memcheck/tests/cond_ld.stderr.exp-64bit-non-arm
@@ -0,0 +1,800 @@
+
+-----------------------------------------------------------
+LOAD CASE 0
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 1
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 2
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 3
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 4
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 5
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 6
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 7
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 8
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:373)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 9
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:375)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 10
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:377)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 11
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:379)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 12
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 13
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 14
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 15
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 16
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 17
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 18
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 19
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 20
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 21
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 22
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 23
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 24
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 25
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 26
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 27
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 28
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 29
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 30
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 31
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 32
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:421)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 33
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:423)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 34
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:425)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 35
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:427)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 36
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 37
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 38
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 39
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 40
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 41
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 42
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 43
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 44
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 45
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 46
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 47
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 48
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:453)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 49
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:455)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 50
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:457)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 51
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:459)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 52
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:461)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 53
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:463)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 54
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:465)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 55
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:467)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 56
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:469)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 57
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:471)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 58
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:473)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 59
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:475)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 60
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:477)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 61
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:479)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 62
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:481)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 63
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:61)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:483)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
diff --git a/memcheck/tests/cond_ld.stderr.exp-arm b/memcheck/tests/cond_ld.stderr.exp-arm
new file mode 100644
index 0000000..5637237
--- /dev/null
+++ b/memcheck/tests/cond_ld.stderr.exp-arm
@@ -0,0 +1,800 @@
+
+-----------------------------------------------------------
+LOAD CASE 0
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 1
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 2
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 3
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 4
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 5
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 6
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 7
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 8
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:373)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 9
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:375)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 10
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:377)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 11
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:379)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 12
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 13
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 14
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 15
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 16
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 17
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 18
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 19
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 20
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 21
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 22
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 23
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 24
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 25
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 26
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 27
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 28
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 29
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 30
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 31
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 32
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:421)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 33
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:423)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 34
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:425)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 35
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:427)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 36
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 37
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 38
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 39
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 40
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 41
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 42
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 43
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 44
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 45
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 46
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 47
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+
+Invalid read of size 4
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 48
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:453)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 49
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:455)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 50
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:457)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 51
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:459)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 52
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:461)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 53
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:463)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 54
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:465)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 55
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:467)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 56
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:469)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 57
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:471)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 58
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:473)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 59
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:475)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 60
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:477)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 61
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:479)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 62
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:481)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+LOAD CASE 63
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_load32 (cond_ld_st.c:49)
+   by 0x........: do_test_case (cond_ld_st.c:319)
+   by 0x........: do_test_case_steer (cond_ld_st.c:483)
+   by 0x........: main (cond_ld_st.c:639)
+
+PASS: 1 errors
+PASS: correct result
diff --git a/memcheck/tests/cond_ld.stdout.exp b/memcheck/tests/cond_ld.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/cond_ld.stdout.exp
diff --git a/memcheck/tests/cond_ld.vgtest b/memcheck/tests/cond_ld.vgtest
new file mode 100644
index 0000000..acc0bfe
--- /dev/null
+++ b/memcheck/tests/cond_ld.vgtest
@@ -0,0 +1,4 @@
+prog: cond_ld_st
+args: loads
+vgopts: -q
+stderr_filter_args: cond_ld_st
diff --git a/memcheck/tests/cond_ld_st.c b/memcheck/tests/cond_ld_st.c
new file mode 100644
index 0000000..d9cced0
--- /dev/null
+++ b/memcheck/tests/cond_ld_st.c
@@ -0,0 +1,648 @@
+
+/* A Memcheck test program for conditional loads and stores,
+   as shown in do_conditional_{load,store}32.
+
+   Program is run twice, once for loads and once for stores, only
+   because each run generates 80 errors, and we want to see them all.
+   Doing both loads and stores in each run runs into the problem that
+   errors are more aggressively commoned up after the 100th, and so
+   some that we want to see aren't shown.  Splitting the run into two
+   pieces avoids this.
+
+   On ARM we hardwire genuine conditional loads and stores to be
+   tested -- which is the real point of this test, since we are sure
+   they will turn into IRLoadG/IRStoreG.  On other platforms we make
+   do with whatever gcc gives us for the equivalent C fragment.  In
+   both cases Memcheck's results should be identical -- at least in
+   error counts; line numbers unfortunately will differ.  Hence there
+   are -arm and -non-arm expected output files. */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <string.h>
+
+#include "../memcheck.h"
+
+typedef  unsigned int  UInt;
+
+typedef  unsigned char  Bool;
+#define False ((Bool)0)
+#define True  ((Bool)1)
+
+static void make_undef ( void* addr, size_t len )
+{
+   VALGRIND_MAKE_MEM_UNDEFINED(addr, len);
+}
+
+static void make_def ( void* addr, size_t len )
+{
+   VALGRIND_MAKE_MEM_DEFINED(addr, len);
+}
+
+// Returns either |*src| or |alt|.
+__attribute__((noinline))
+UInt do_conditional_load32 ( UInt* src, UInt alt, Bool b )
+{
+   UInt res;
+#  if defined(__linux__) && defined(__arm__)
+   __asm__ __volatile__(
+     "mov r5, %2"     "\n\t"  // alt
+     "tst %3, #0xFF"  "\n\t"  // b
+     "it ne"          "\n\t" 
+     "ldrne r5, [%1]" "\n\t"  // src
+     "mov %0, r5"     "\n\t"  // res
+     : /*OUT*/"=r"(res)
+     : /*IN*/"r"(src), "r"(alt), "r"(b)
+     : /*TRASH*/ "r5","cc","memory"
+   );
+#  else
+   __asm__ __volatile__("" ::: "cc","memory");
+   res = b ? *src : alt;
+#  endif
+   // res might be undefined.  Paint it as defined so the
+   // caller can look at it without invoking further errors.
+   make_def(&res, sizeof(res));
+   return res;
+}
+
+// Possibly writes |alt| to |*dst|, and returns the resulting
+// value of |*dst|.
+__attribute__((noinline))
+UInt do_conditional_store32 ( UInt* dst, UInt alt, Bool b )
+{
+#  if defined(__linux__) && defined(__arm__)
+   __asm__ __volatile__(
+     "mov r5, %1"     "\n\t"  // alt
+     "tst %2, #0xFF"  "\n\t"  // b
+     "it ne"          "\n\t" 
+     "strne r5, [%0]" "\n\t"  // dst
+     : /*OUT*/
+     : /*IN*/"r"(dst), "r"(alt), "r"(b)
+     : /*TRASH*/ "r5","cc","memory"
+   );
+#  else
+   __asm__ __volatile__("" ::: "cc","memory");
+   if (b) *dst = alt;
+#  endif
+   /* Now we need to get hold of the value at *dst.  But it might be
+      unaddressible and/or undefined.  Hence turn off error reporting
+      when getting it. */
+   UInt res;
+   VALGRIND_DISABLE_ERROR_REPORTING;
+   res = *dst;
+   VALGRIND_ENABLE_ERROR_REPORTING;
+   make_def(&res, sizeof(res));
+   return res;
+}
+
+
+/* --- LOAD ----------------------------------------- LOAD --- */
+/* --- LOAD ----------------------------------------- LOAD --- */
+/* --- LOAD ----------------------------------------- LOAD --- */
+
+/* For conditional loads, there are 64 combinations to test.
+
+   cond: { defined-true, defined-false,
+           undefined-true, undefined-false }     D1 D0 U1 U0
+   x
+   addr: { defined-valid, defined-invalid,
+           undefined-valid, undefined-invalid }  DV DI UV UI
+   x
+   alt:  { defined, undefined }                  Da Ub
+   x
+   data: { defined, undefined }                  Dc Ud
+
+   // a, b, c, d refer to actual values
+
+   The general form of the test is:
+   1.  Place data at *addr
+   2.  return "cond ? *addr : alt"
+*/
+typedef  enum { Cond_D1=10, Cond_D0, Cond_U1, Cond_U0 }  Inp_Cond;
+typedef  enum { Addr_DV=20, Addr_DI, Addr_UV, Addr_UI }  Inp_Addr;
+typedef  enum { Alt_Da=30,  Alt_Ub }                     Inp_Alt;
+typedef  enum { Data_Dc=40, Data_Ud }                    Inp_Data;
+
+typedef
+   struct { Inp_Cond inp_Cond;  Inp_Addr inp_Addr;
+            Inp_Alt  inp_Alt;   Inp_Data inp_Data;
+            char res; char defErr_Cond; char defErr_Addr; char addrErr; }
+   TestCase;
+
+const TestCase loadCases[64] = {
+
+   // ADDR       ALT         COND       DATA        Res 
+   //                                                    defErr-COND
+   //                                                         defErr-ADDR
+   //                                                              addrErr
+
+   // In all of the next 16 cases, the load definitely happens
+   // and |alt| is therefore irrelevant
+   { Cond_D1,    Addr_DV,    Alt_Da,    Data_Dc,    'C', 'N', 'N', 'N' }, // 0
+   { Cond_D1,    Addr_DV,    Alt_Da,    Data_Ud,    'D', 'N', 'N', 'N' },
+   { Cond_D1,    Addr_DV,    Alt_Ub,    Data_Dc,    'C', 'N', 'N', 'N' },
+   { Cond_D1,    Addr_DV,    Alt_Ub,    Data_Ud,    'D', 'N', 'N', 'N' },
+   { Cond_D1,    Addr_DI,    Alt_Da,    Data_Dc,    'C', 'N', 'N', 'Y' },
+   { Cond_D1,    Addr_DI,    Alt_Da,    Data_Ud,    'D', 'N', 'N', 'Y' },
+   { Cond_D1,    Addr_DI,    Alt_Ub,    Data_Dc,    'C', 'N', 'N', 'Y' },
+   { Cond_D1,    Addr_DI,    Alt_Ub,    Data_Ud,    'D', 'N', 'N', 'Y' },
+
+   { Cond_D1,    Addr_UV,    Alt_Da,    Data_Dc,    'C', 'N', 'Y', 'N' }, // 8
+   { Cond_D1,    Addr_UV,    Alt_Da,    Data_Ud,    'D', 'N', 'Y', 'N' },
+   { Cond_D1,    Addr_UV,    Alt_Ub,    Data_Dc,    'C', 'N', 'Y', 'N' },
+   { Cond_D1,    Addr_UV,    Alt_Ub,    Data_Ud,    'D', 'N', 'Y', 'N' },
+   { Cond_D1,    Addr_UI,    Alt_Da,    Data_Dc,    'C', 'N', 'Y', 'Y' },
+   { Cond_D1,    Addr_UI,    Alt_Da,    Data_Ud,    'D', 'N', 'Y', 'Y' },
+   { Cond_D1,    Addr_UI,    Alt_Ub,    Data_Dc,    'C', 'N', 'Y', 'Y' },
+   { Cond_D1,    Addr_UI,    Alt_Ub,    Data_Ud,    'D', 'N', 'Y', 'Y' },
+
+   // In the next 16 cases, the load definitely does not happen,
+   // so we just return |alt|.
+   { Cond_D0,    Addr_DV,    Alt_Da,    Data_Dc,    'A', 'N', 'N', 'N' }, // 16
+   { Cond_D0,    Addr_DV,    Alt_Da,    Data_Ud,    'A', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DV,    Alt_Ub,    Data_Dc,    'B', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DV,    Alt_Ub,    Data_Ud,    'B', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DI,    Alt_Da,    Data_Dc,    'A', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DI,    Alt_Da,    Data_Ud,    'A', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DI,    Alt_Ub,    Data_Dc,    'B', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DI,    Alt_Ub,    Data_Ud,    'B', 'N', 'N', 'N' },
+
+   { Cond_D0,    Addr_UV,    Alt_Da,    Data_Dc,    'A', 'N', 'N', 'N' }, // 24
+   { Cond_D0,    Addr_UV,    Alt_Da,    Data_Ud,    'A', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UV,    Alt_Ub,    Data_Dc,    'B', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UV,    Alt_Ub,    Data_Ud,    'B', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UI,    Alt_Da,    Data_Dc,    'A', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UI,    Alt_Da,    Data_Ud,    'A', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UI,    Alt_Ub,    Data_Dc,    'B', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UI,    Alt_Ub,    Data_Ud,    'B', 'N', 'N', 'N' },
+
+   // ADDR       ALT         COND       DATA        Res 
+   //                                                    defErr-COND
+   //                                                         defErr-ADDR
+   //                                                              addrErr
+
+   // In the next 16 cases, the load happens, but the condition
+   // is undefined.  This means that it should behave like the
+   // first group of 16 cases, except that we should also get a
+   // complaint about the definedness of the condition.
+   { Cond_U1,    Addr_DV,    Alt_Da,    Data_Dc,    'C', 'Y', 'N', 'N' }, // 32
+   { Cond_U1,    Addr_DV,    Alt_Da,    Data_Ud,    'D', 'Y', 'N', 'N' },
+   { Cond_U1,    Addr_DV,    Alt_Ub,    Data_Dc,    'C', 'Y', 'N', 'N' },
+   { Cond_U1,    Addr_DV,    Alt_Ub,    Data_Ud,    'D', 'Y', 'N', 'N' },
+   { Cond_U1,    Addr_DI,    Alt_Da,    Data_Dc,    'C', 'Y', 'N', 'Y' },
+   { Cond_U1,    Addr_DI,    Alt_Da,    Data_Ud,    'D', 'Y', 'N', 'Y' },
+   { Cond_U1,    Addr_DI,    Alt_Ub,    Data_Dc,    'C', 'Y', 'N', 'Y' },
+   { Cond_U1,    Addr_DI,    Alt_Ub,    Data_Ud,    'D', 'Y', 'N', 'Y' },
+
+   { Cond_U1,    Addr_UV,    Alt_Da,    Data_Dc,    'C', 'Y', 'Y', 'N' }, // 40
+   { Cond_U1,    Addr_UV,    Alt_Da,    Data_Ud,    'D', 'Y', 'Y', 'N' },
+   { Cond_U1,    Addr_UV,    Alt_Ub,    Data_Dc,    'C', 'Y', 'Y', 'N' },
+   { Cond_U1,    Addr_UV,    Alt_Ub,    Data_Ud,    'D', 'Y', 'Y', 'N' },
+   { Cond_U1,    Addr_UI,    Alt_Da,    Data_Dc,    'C', 'Y', 'Y', 'Y' },
+   { Cond_U1,    Addr_UI,    Alt_Da,    Data_Ud,    'D', 'Y', 'Y', 'Y' },
+   { Cond_U1,    Addr_UI,    Alt_Ub,    Data_Dc,    'C', 'Y', 'Y', 'Y' },
+   { Cond_U1,    Addr_UI,    Alt_Ub,    Data_Ud,    'D', 'Y', 'Y', 'Y' },
+
+   // In this last group of 16 cases, the load does not happen,
+   // but the condition is undefined.  So we just return |alt|,
+   // and also complain about the condition.  Hence it's like the
+   // second group of 16 cases except that we also get a complaint
+   // about the condition.
+   { Cond_U0,    Addr_DV,    Alt_Da,    Data_Dc,    'A', 'Y', 'N', 'N' }, // 48
+   { Cond_U0,    Addr_DV,    Alt_Da,    Data_Ud,    'A', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DV,    Alt_Ub,    Data_Dc,    'B', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DV,    Alt_Ub,    Data_Ud,    'B', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DI,    Alt_Da,    Data_Dc,    'A', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DI,    Alt_Da,    Data_Ud,    'A', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DI,    Alt_Ub,    Data_Dc,    'B', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DI,    Alt_Ub,    Data_Ud,    'B', 'Y', 'N', 'N' },
+
+   { Cond_U0,    Addr_UV,    Alt_Da,    Data_Dc,    'A', 'Y', 'N', 'N' }, // 56
+   { Cond_U0,    Addr_UV,    Alt_Da,    Data_Ud,    'A', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UV,    Alt_Ub,    Data_Dc,    'B', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UV,    Alt_Ub,    Data_Ud,    'B', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UI,    Alt_Da,    Data_Dc,    'A', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UI,    Alt_Da,    Data_Ud,    'A', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UI,    Alt_Ub,    Data_Dc,    'B', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UI,    Alt_Ub,    Data_Ud,    'B', 'Y', 'N', 'N' }  // 63
+};
+
+// Constant, corresponding to the test enums
+static Bool c_Cond_D1, c_Cond_D0, c_Cond_U1, c_Cond_U0;
+static UInt *c_Addr_DV, *c_Addr_DI, *c_Addr_UV, *c_Addr_UI;
+static UInt c_Alt_Da, c_Alt_Ub;
+
+static void setup_test_data ( Inp_Data inp_Data )
+{
+   c_Cond_D1 = c_Cond_U1 = True;
+   c_Cond_D0 = c_Cond_U0 = False;
+   make_undef(&c_Cond_U1, sizeof(c_Cond_U1));
+   make_undef(&c_Cond_U0, sizeof(c_Cond_U0));
+
+   c_Addr_DV = c_Addr_UV = malloc(4);
+   c_Addr_DI = c_Addr_UI = malloc(4);
+   // install test data at the given address
+   UInt testd = inp_Data == Data_Dc ? 0xCCCCCCCC : 0xDDDDDDDD;
+   *c_Addr_DV = *c_Addr_DI = testd;
+   if (inp_Data == Data_Dc) {
+     // it's already defined
+   } else {
+     make_undef(c_Addr_DV, 4);
+     make_undef(c_Addr_DI, 4);
+   }
+
+   // make the invalid address invalid.  This unfortunately loses
+   // the definedness state of the data that is stored there.
+   free(c_Addr_DI);
+
+   // and set the definedness of the pointers themselves.
+   make_undef(&c_Addr_UV, sizeof(c_Addr_UV));
+   make_undef(&c_Addr_UI, sizeof(c_Addr_UI));
+
+   // and set up alt
+   c_Alt_Da = 0xAAAAAAAA;
+   c_Alt_Ub = 0xBBBBBBBB;
+   make_undef(&c_Alt_Ub, sizeof(c_Alt_Ub));
+}
+
+static void do_test_case ( int caseNo, Bool isLoad, const TestCase* lc )
+{
+   fprintf(stderr,
+           "\n-----------------------------------------------------------\n");
+   fprintf(stderr, "%s CASE %d\n", isLoad ? "LOAD" : "STORE", caseNo);
+   // validate ..
+   assert(Cond_D1 <= lc->inp_Cond && lc->inp_Cond <= Cond_U0);
+   assert(Addr_DV <= lc->inp_Addr && lc->inp_Addr <= Addr_UI);
+   assert(lc->inp_Alt == Alt_Da || lc->inp_Alt == Alt_Ub);
+   assert(lc->inp_Data == Data_Dc || lc->inp_Data == Data_Ud);
+   assert('A' <= lc->res && lc->res <= 'D');
+   assert(lc->defErr_Cond == 'Y' || lc->defErr_Cond == 'N');
+   assert(lc->defErr_Addr == 'Y' || lc->defErr_Addr == 'N');
+   assert(lc->addrErr     == 'Y' || lc->addrErr     == 'N');
+   // set up test data constants
+   setup_test_data(lc->inp_Data);
+
+   // and select constants for the test, depending on |lc|
+   // Except, skip i_Data since setup_test_data takes care of it.
+   Bool i_Cond;
+   UInt* i_Addr;
+   UInt i_Alt;
+   switch (lc->inp_Cond) {
+     case Cond_D1: i_Cond = c_Cond_D1; break;
+     case Cond_D0: i_Cond = c_Cond_D0; break;
+     case Cond_U1: i_Cond = c_Cond_U1; break;
+     case Cond_U0: i_Cond = c_Cond_U0; break;
+     default: assert(0);
+   }
+   switch (lc->inp_Addr) {
+     case Addr_DV: i_Addr = c_Addr_DV; break;
+     case Addr_DI: i_Addr = c_Addr_DI; break;
+     case Addr_UV: i_Addr = c_Addr_UV; break;
+     case Addr_UI: i_Addr = c_Addr_UI; break;
+     default: assert(0);
+   }
+   switch (lc->inp_Alt) {
+     case Alt_Da: i_Alt = c_Alt_Da; break;
+     case Alt_Ub: i_Alt = c_Alt_Ub; break;
+     default: assert(0);
+   }
+
+   // How many errors do we expect from this?
+   UInt n_errs_exp
+     = (lc->defErr_Cond == 'Y' ? 1 : 0) + (lc->defErr_Addr == 'Y' ? 1 : 0)
+       + (lc->addrErr == 'Y' ? 1 : 0);
+
+   UInt n_errs_act = VALGRIND_COUNT_ERRORS;
+   UInt res_act;
+   if (isLoad) {
+      res_act = do_conditional_load32(i_Addr, i_Alt, i_Cond);
+   } else {
+      res_act = do_conditional_store32(i_Addr, i_Alt, i_Cond);
+   }
+   n_errs_act = VALGRIND_COUNT_ERRORS - n_errs_act;
+
+   if (n_errs_act == n_errs_exp) {
+      fprintf(stderr, "PASS: %u errors\n", n_errs_act);
+   } else {
+      fprintf(stderr, "FAIL: %u errors expected, %u actual\n",
+              n_errs_exp, n_errs_act);
+   }
+
+   // What's the expected result value (actual loaded data?)
+   UInt res_exp = 0;
+   switch (lc->res) {
+      case 'A': res_exp = 0xAAAAAAAA; break;
+      case 'B': res_exp = 0xBBBBBBBB; break;
+      case 'C': res_exp = 0xCCCCCCCC; break;
+      case 'D': res_exp = 0xDDDDDDDD; break;
+      default: assert(0);
+   }
+
+   if (res_act == res_exp) {
+      fprintf(stderr, "PASS: correct result\n");
+   } else {
+      fprintf(stderr, "FAIL: result: %08x expected, %08x actual\n",
+              res_exp, res_act);
+   }
+
+   free(c_Addr_DV);
+}
+
+
+void do_test_case_steer ( void (*fn)(int,Bool,const TestCase*),
+                          int i, Bool isLd, const TestCase* tc )
+{
+   __asm__ __volatile__("");
+   if (i == 0) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 1) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 2) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 3) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 4) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 5) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 6) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 7) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 8) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 9) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 10) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 11) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 12) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 13) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 14) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 15) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 16) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 17) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 18) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 19) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 20) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 21) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 22) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 23) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 24) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 25) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 26) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 27) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 28) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 29) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 30) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 31) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 32) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 33) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 34) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 35) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 36) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 37) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 38) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 39) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 40) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 41) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 42) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 43) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 44) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 45) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 46) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 47) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 48) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 49) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 50) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 51) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 52) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 53) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 54) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 55) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 56) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 57) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 58) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 59) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 60) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 61) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 62) { fn(i,isLd,tc); return; };
+   __asm__ __volatile__("");
+   if (i == 63) { fn(i,isLd,tc); return; };
+   assert(0);
+}
+
+
+/* --- STORE --------------------------------------- STORE --- */
+/* --- STORE --------------------------------------- STORE --- */
+/* --- STORE --------------------------------------- STORE --- */
+
+/* For conditional stores, there are 64 combinations to test.
+
+   cond: { defined-true, defined-false,
+           undefined-true, undefined-false }     D1 D0 U1 U0
+   x
+   addr: { defined-valid, defined-invalid,
+           undefined-valid, undefined-invalid }  DV DI UV UI
+   x
+   alt:  { defined, undefined }                  Da Ub
+   x
+   data: { defined, undefined }                  Dc Ud
+
+   // a, b, c, d refer to actual values
+
+   The general form of the test is:
+   1.  Place data at *addr
+   2.  do "if (cond) *addr = alt"
+   3   return *addr
+
+   Hence identical setup to the load cases, although the roles of
+   data and alt are somewhat confusingly swapped.  |data| here is
+   the "didn't happen" result, and |alt| is the "did happen" result.
+*/
+
+const TestCase storeCases[64] = {
+
+   // ADDR       ALT         COND       DATA        Res 
+   //                                                    defErr-COND
+   //                                                         defErr-ADDR
+   //                                                              addrErr
+
+   // In all of the next 16 cases, the store definitely happens
+   // and |data| is therefore irrelevant
+   { Cond_D1,    Addr_DV,    Alt_Da,    Data_Dc,    'A', 'N', 'N', 'N' }, // 0
+   { Cond_D1,    Addr_DV,    Alt_Da,    Data_Ud,    'A', 'N', 'N', 'N' },
+   { Cond_D1,    Addr_DV,    Alt_Ub,    Data_Dc,    'B', 'N', 'N', 'N' },
+   { Cond_D1,    Addr_DV,    Alt_Ub,    Data_Ud,    'B', 'N', 'N', 'N' },
+   { Cond_D1,    Addr_DI,    Alt_Da,    Data_Dc,    'A', 'N', 'N', 'Y' },
+   { Cond_D1,    Addr_DI,    Alt_Da,    Data_Ud,    'A', 'N', 'N', 'Y' },
+   { Cond_D1,    Addr_DI,    Alt_Ub,    Data_Dc,    'B', 'N', 'N', 'Y' },
+   { Cond_D1,    Addr_DI,    Alt_Ub,    Data_Ud,    'B', 'N', 'N', 'Y' },
+
+   { Cond_D1,    Addr_UV,    Alt_Da,    Data_Dc,    'A', 'N', 'Y', 'N' }, // 8
+   { Cond_D1,    Addr_UV,    Alt_Da,    Data_Ud,    'A', 'N', 'Y', 'N' },
+   { Cond_D1,    Addr_UV,    Alt_Ub,    Data_Dc,    'B', 'N', 'Y', 'N' },
+   { Cond_D1,    Addr_UV,    Alt_Ub,    Data_Ud,    'B', 'N', 'Y', 'N' },
+   { Cond_D1,    Addr_UI,    Alt_Da,    Data_Dc,    'A', 'N', 'Y', 'Y' },
+   { Cond_D1,    Addr_UI,    Alt_Da,    Data_Ud,    'A', 'N', 'Y', 'Y' },
+   { Cond_D1,    Addr_UI,    Alt_Ub,    Data_Dc,    'B', 'N', 'Y', 'Y' },
+   { Cond_D1,    Addr_UI,    Alt_Ub,    Data_Ud,    'B', 'N', 'Y', 'Y' },
+
+   // In the next 16 cases, the store definitely does not happen,
+   // so we just return |data|.
+   { Cond_D0,    Addr_DV,    Alt_Da,    Data_Dc,    'C', 'N', 'N', 'N' }, // 16
+   { Cond_D0,    Addr_DV,    Alt_Da,    Data_Ud,    'D', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DV,    Alt_Ub,    Data_Dc,    'C', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DV,    Alt_Ub,    Data_Ud,    'D', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DI,    Alt_Da,    Data_Dc,    'C', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DI,    Alt_Da,    Data_Ud,    'D', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DI,    Alt_Ub,    Data_Dc,    'C', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_DI,    Alt_Ub,    Data_Ud,    'D', 'N', 'N', 'N' },
+
+   { Cond_D0,    Addr_UV,    Alt_Da,    Data_Dc,    'C', 'N', 'N', 'N' }, // 24
+   { Cond_D0,    Addr_UV,    Alt_Da,    Data_Ud,    'D', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UV,    Alt_Ub,    Data_Dc,    'C', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UV,    Alt_Ub,    Data_Ud,    'D', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UI,    Alt_Da,    Data_Dc,    'C', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UI,    Alt_Da,    Data_Ud,    'D', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UI,    Alt_Ub,    Data_Dc,    'C', 'N', 'N', 'N' },
+   { Cond_D0,    Addr_UI,    Alt_Ub,    Data_Ud,    'D', 'N', 'N', 'N' },
+
+   // ADDR       ALT         COND       DATA        Res 
+   //                                                    defErr-COND
+   //                                                         defErr-ADDR
+   //                                                              addrErr
+
+   // In the next 16 cases, the store happens, but the condition
+   // is undefined.  This means that it should behave like the
+   // first group of 16 cases, except that we should also get a
+   // complaint about the definedness of the condition.
+   { Cond_U1,    Addr_DV,    Alt_Da,    Data_Dc,    'A', 'Y', 'N', 'N' }, // 32
+   { Cond_U1,    Addr_DV,    Alt_Da,    Data_Ud,    'A', 'Y', 'N', 'N' },
+   { Cond_U1,    Addr_DV,    Alt_Ub,    Data_Dc,    'B', 'Y', 'N', 'N' },
+   { Cond_U1,    Addr_DV,    Alt_Ub,    Data_Ud,    'B', 'Y', 'N', 'N' },
+   { Cond_U1,    Addr_DI,    Alt_Da,    Data_Dc,    'A', 'Y', 'N', 'Y' },
+   { Cond_U1,    Addr_DI,    Alt_Da,    Data_Ud,    'A', 'Y', 'N', 'Y' },
+   { Cond_U1,    Addr_DI,    Alt_Ub,    Data_Dc,    'B', 'Y', 'N', 'Y' },
+   { Cond_U1,    Addr_DI,    Alt_Ub,    Data_Ud,    'B', 'Y', 'N', 'Y' },
+
+   { Cond_U1,    Addr_UV,    Alt_Da,    Data_Dc,    'A', 'Y', 'Y', 'N' }, // 40
+   { Cond_U1,    Addr_UV,    Alt_Da,    Data_Ud,    'A', 'Y', 'Y', 'N' },
+   { Cond_U1,    Addr_UV,    Alt_Ub,    Data_Dc,    'B', 'Y', 'Y', 'N' },
+   { Cond_U1,    Addr_UV,    Alt_Ub,    Data_Ud,    'B', 'Y', 'Y', 'N' },
+   { Cond_U1,    Addr_UI,    Alt_Da,    Data_Dc,    'A', 'Y', 'Y', 'Y' },
+   { Cond_U1,    Addr_UI,    Alt_Da,    Data_Ud,    'A', 'Y', 'Y', 'Y' },
+   { Cond_U1,    Addr_UI,    Alt_Ub,    Data_Dc,    'B', 'Y', 'Y', 'Y' },
+   { Cond_U1,    Addr_UI,    Alt_Ub,    Data_Ud,    'B', 'Y', 'Y', 'Y' },
+
+   // In this last group of 16 cases, the store does not happen,
+   // but the condition is undefined.  So we just return |data|,
+   // and also complain about the condition.  Hence it's like the
+   // second group of 16 cases except that we also get a complaint
+   // about the condition.
+   { Cond_U0,    Addr_DV,    Alt_Da,    Data_Dc,    'C', 'Y', 'N', 'N' }, // 48
+   { Cond_U0,    Addr_DV,    Alt_Da,    Data_Ud,    'D', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DV,    Alt_Ub,    Data_Dc,    'C', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DV,    Alt_Ub,    Data_Ud,    'D', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DI,    Alt_Da,    Data_Dc,    'C', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DI,    Alt_Da,    Data_Ud,    'D', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DI,    Alt_Ub,    Data_Dc,    'C', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_DI,    Alt_Ub,    Data_Ud,    'D', 'Y', 'N', 'N' },
+
+   { Cond_U0,    Addr_UV,    Alt_Da,    Data_Dc,    'C', 'Y', 'N', 'N' }, // 56
+   { Cond_U0,    Addr_UV,    Alt_Da,    Data_Ud,    'D', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UV,    Alt_Ub,    Data_Dc,    'C', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UV,    Alt_Ub,    Data_Ud,    'D', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UI,    Alt_Da,    Data_Dc,    'C', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UI,    Alt_Da,    Data_Ud,    'D', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UI,    Alt_Ub,    Data_Dc,    'C', 'Y', 'N', 'N' },
+   { Cond_U0,    Addr_UI,    Alt_Ub,    Data_Ud,    'D', 'Y', 'N', 'N' }  // 63
+};
+
+void usage ( char* pname )
+{
+  fprintf(stderr, "usage: %s [loads|stores]\n", pname);
+  exit(1);
+}
+
+int main ( int argc, char** argv )
+{
+   UInt i, nCases;
+
+   if (argc != 2) usage(argv[0]);
+
+   Bool doLoad = False;
+   if (0 == strcmp(argv[1], "loads")) {
+     doLoad = True;
+   }
+   else if (0 == strcmp(argv[1], "stores")) {
+     doLoad = False;
+   }
+   else usage(argv[0]);
+
+   if (doLoad) {
+     nCases = sizeof(loadCases) / sizeof(loadCases[0]);
+     assert(nCases == 64);
+     for (i = 0; i < nCases; i++)
+       do_test_case_steer( do_test_case, i, True/*isLoad*/, &loadCases[i] );
+   } else {
+     nCases = sizeof(storeCases) / sizeof(storeCases[0]);
+     assert(nCases == 64);
+     for (i = 0; i < nCases; i++)
+       do_test_case_steer( do_test_case, i, False/*!isLoad*/, &storeCases[i] );
+   }
+
+   return 0;
+}
diff --git a/memcheck/tests/cond_st.stderr.exp-32bit-non-arm b/memcheck/tests/cond_st.stderr.exp-32bit-non-arm
new file mode 100644
index 0000000..a7577c5
--- /dev/null
+++ b/memcheck/tests/cond_st.stderr.exp-32bit-non-arm
@@ -0,0 +1,800 @@
+
+-----------------------------------------------------------
+STORE CASE 0
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 1
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 2
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 3
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 4
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 5
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 6
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 7
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 8
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:373)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 9
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:375)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 10
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:377)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 11
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:379)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 12
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 13
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 14
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 15
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 16
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 17
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 18
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 19
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 20
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 21
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 22
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 23
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 24
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 25
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 26
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 27
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 28
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 29
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 30
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 31
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 32
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:421)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 33
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:423)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 34
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:425)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 35
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:427)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 36
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 37
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 38
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 39
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 40
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 41
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 42
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 43
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 44
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 45
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 46
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 47
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 48
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:453)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 49
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:455)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 50
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:457)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 51
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:459)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 52
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:461)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 53
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:463)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 54
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:465)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 55
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:467)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 56
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:469)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 57
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:471)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 58
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:473)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 59
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:475)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 60
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:477)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 61
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:479)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 62
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:481)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 63
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:483)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
diff --git a/memcheck/tests/cond_st.stderr.exp-64bit-non-arm b/memcheck/tests/cond_st.stderr.exp-64bit-non-arm
new file mode 100644
index 0000000..fc74fbc
--- /dev/null
+++ b/memcheck/tests/cond_st.stderr.exp-64bit-non-arm
@@ -0,0 +1,800 @@
+
+-----------------------------------------------------------
+STORE CASE 0
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 1
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 2
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 3
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 4
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 5
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 6
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 7
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 8
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:373)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 9
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:375)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 10
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:377)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 11
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:379)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 12
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 13
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 14
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 15
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 16
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 17
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 18
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 19
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 20
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 21
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 22
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 23
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 24
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 25
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 26
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 27
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 28
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 29
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 30
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 31
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 32
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:421)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 33
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:423)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 34
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:425)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 35
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:427)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 36
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 37
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 38
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 39
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 40
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 41
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 42
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 43
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 44
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 45
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 46
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 47
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 8
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 48
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:453)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 49
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:455)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 50
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:457)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 51
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:459)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 52
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:461)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 53
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:463)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 54
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:465)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 55
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:467)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 56
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:469)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 57
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:471)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 58
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:473)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 59
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:475)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 60
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:477)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 61
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:479)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 62
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:481)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 63
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:86)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:483)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
diff --git a/memcheck/tests/cond_st.stderr.exp-arm b/memcheck/tests/cond_st.stderr.exp-arm
new file mode 100644
index 0000000..7b2380a
--- /dev/null
+++ b/memcheck/tests/cond_st.stderr.exp-arm
@@ -0,0 +1,800 @@
+
+-----------------------------------------------------------
+STORE CASE 0
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 1
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 2
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 3
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 4
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:365)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 5
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:367)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 6
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:369)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 7
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:371)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 8
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:373)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 9
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:375)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 10
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:377)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 11
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:379)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 12
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:381)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 13
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:383)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 14
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:385)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 15
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:387)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 16
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 17
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 18
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 19
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 20
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 21
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 22
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 23
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 24
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 25
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 26
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 27
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 28
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 29
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 30
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 31
+PASS: 0 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 32
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:421)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 33
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:423)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 34
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:425)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 35
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:427)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 36
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:429)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 37
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:431)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 38
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:433)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 39
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:435)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 40
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:437)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 41
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:439)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 42
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:441)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 43
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:443)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 2 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 44
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:445)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 45
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:447)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 46
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:449)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 47
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+
+Use of uninitialised value of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+
+Invalid write of size 4
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+ Address 0x........ is 0 bytes inside a block of size 4 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: setup_test_data (cond_ld_st.c:257)
+   by 0x........: do_test_case (cond_ld_st.c:284)
+   by 0x........: do_test_case_steer (cond_ld_st.c:451)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 3 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 48
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:453)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 49
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:455)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 50
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:457)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 51
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:459)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 52
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:461)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 53
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:463)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 54
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:465)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 55
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:467)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 56
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:469)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 57
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:471)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 58
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:473)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 59
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:475)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 60
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:477)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 61
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:479)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 62
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:481)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
+
+-----------------------------------------------------------
+STORE CASE 63
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_conditional_store32 (cond_ld_st.c:75)
+   by 0x........: do_test_case (cond_ld_st.c:321)
+   by 0x........: do_test_case_steer (cond_ld_st.c:483)
+   by 0x........: main (cond_ld_st.c:644)
+
+PASS: 1 errors
+PASS: correct result
diff --git a/memcheck/tests/cond_st.stdout.exp b/memcheck/tests/cond_st.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/cond_st.stdout.exp
diff --git a/memcheck/tests/cond_st.vgtest b/memcheck/tests/cond_st.vgtest
new file mode 100644
index 0000000..2ccf00c
--- /dev/null
+++ b/memcheck/tests/cond_st.vgtest
@@ -0,0 +1,4 @@
+prog: cond_ld_st
+args: stores
+vgopts: -q
+stderr_filter_args: cond_ld_st
diff --git a/memcheck/tests/deep-backtrace.c b/memcheck/tests/deep-backtrace.c
new file mode 100644
index 0000000..a883cdb
--- /dev/null
+++ b/memcheck/tests/deep-backtrace.c
@@ -0,0 +1,499 @@
+int f1(int *p) { return *p; }
+int f2(int *p) { return f1(p); }
+int f3(int *p) { return f2(p); }
+int f4(int *p) { return f3(p); }
+int f5(int *p) { return f4(p); }
+int f6(int *p) { return f5(p); }
+int f7(int *p) { return f6(p); }
+int f8(int *p) { return f7(p); }
+int f9(int *p) { return f8(p); }
+int f10(int *p) { return f9(p); }
+int f11(int *p) { return f10(p); }
+int f12(int *p) { return f11(p); }
+int f13(int *p) { return f12(p); }
+int f14(int *p) { return f13(p); }
+int f15(int *p) { return f14(p); }
+int f16(int *p) { return f15(p); }
+int f17(int *p) { return f16(p); }
+int f18(int *p) { return f17(p); }
+int f19(int *p) { return f18(p); }
+int f20(int *p) { return f19(p); }
+int f21(int *p) { return f20(p); }
+int f22(int *p) { return f21(p); }
+int f23(int *p) { return f22(p); }
+int f24(int *p) { return f23(p); }
+int f25(int *p) { return f24(p); }
+int f26(int *p) { return f25(p); }
+int f27(int *p) { return f26(p); }
+int f28(int *p) { return f27(p); }
+int f29(int *p) { return f28(p); }
+int f30(int *p) { return f29(p); }
+int f31(int *p) { return f30(p); }
+int f32(int *p) { return f31(p); }
+int f33(int *p) { return f32(p); }
+int f34(int *p) { return f33(p); }
+int f35(int *p) { return f34(p); }
+int f36(int *p) { return f35(p); }
+int f37(int *p) { return f36(p); }
+int f38(int *p) { return f37(p); }
+int f39(int *p) { return f38(p); }
+int f40(int *p) { return f39(p); }
+int f41(int *p) { return f40(p); }
+int f42(int *p) { return f41(p); }
+int f43(int *p) { return f42(p); }
+int f44(int *p) { return f43(p); }
+int f45(int *p) { return f44(p); }
+int f46(int *p) { return f45(p); }
+int f47(int *p) { return f46(p); }
+int f48(int *p) { return f47(p); }
+int f49(int *p) { return f48(p); }
+int f50(int *p) { return f49(p); }
+int f51(int *p) { return f50(p); }
+int f52(int *p) { return f51(p); }
+int f53(int *p) { return f52(p); }
+int f54(int *p) { return f53(p); }
+int f55(int *p) { return f54(p); }
+int f56(int *p) { return f55(p); }
+int f57(int *p) { return f56(p); }
+int f58(int *p) { return f57(p); }
+int f59(int *p) { return f58(p); }
+int f60(int *p) { return f59(p); }
+int f61(int *p) { return f60(p); }
+int f62(int *p) { return f61(p); }
+int f63(int *p) { return f62(p); }
+int f64(int *p) { return f63(p); }
+int f65(int *p) { return f64(p); }
+int f66(int *p) { return f65(p); }
+int f67(int *p) { return f66(p); }
+int f68(int *p) { return f67(p); }
+int f69(int *p) { return f68(p); }
+int f70(int *p) { return f69(p); }
+int f71(int *p) { return f70(p); }
+int f72(int *p) { return f71(p); }
+int f73(int *p) { return f72(p); }
+int f74(int *p) { return f73(p); }
+int f75(int *p) { return f74(p); }
+int f76(int *p) { return f75(p); }
+int f77(int *p) { return f76(p); }
+int f78(int *p) { return f77(p); }
+int f79(int *p) { return f78(p); }
+int f80(int *p) { return f79(p); }
+int f81(int *p) { return f80(p); }
+int f82(int *p) { return f81(p); }
+int f83(int *p) { return f82(p); }
+int f84(int *p) { return f83(p); }
+int f85(int *p) { return f84(p); }
+int f86(int *p) { return f85(p); }
+int f87(int *p) { return f86(p); }
+int f88(int *p) { return f87(p); }
+int f89(int *p) { return f88(p); }
+int f90(int *p) { return f89(p); }
+int f91(int *p) { return f90(p); }
+int f92(int *p) { return f91(p); }
+int f93(int *p) { return f92(p); }
+int f94(int *p) { return f93(p); }
+int f95(int *p) { return f94(p); }
+int f96(int *p) { return f95(p); }
+int f97(int *p) { return f96(p); }
+int f98(int *p) { return f97(p); }
+int f99(int *p) { return f98(p); }
+int f100(int *p) { return f99(p); }
+int f101(int *p) { return f100(p); }
+int f102(int *p) { return f101(p); }
+int f103(int *p) { return f102(p); }
+int f104(int *p) { return f103(p); }
+int f105(int *p) { return f104(p); }
+int f106(int *p) { return f105(p); }
+int f107(int *p) { return f106(p); }
+int f108(int *p) { return f107(p); }
+int f109(int *p) { return f108(p); }
+int f110(int *p) { return f109(p); }
+int f111(int *p) { return f110(p); }
+int f112(int *p) { return f111(p); }
+int f113(int *p) { return f112(p); }
+int f114(int *p) { return f113(p); }
+int f115(int *p) { return f114(p); }
+int f116(int *p) { return f115(p); }
+int f117(int *p) { return f116(p); }
+int f118(int *p) { return f117(p); }
+int f119(int *p) { return f118(p); }
+int f120(int *p) { return f119(p); }
+int f121(int *p) { return f120(p); }
+int f122(int *p) { return f121(p); }
+int f123(int *p) { return f122(p); }
+int f124(int *p) { return f123(p); }
+int f125(int *p) { return f124(p); }
+int f126(int *p) { return f125(p); }
+int f127(int *p) { return f126(p); }
+int f128(int *p) { return f127(p); }
+int f129(int *p) { return f128(p); }
+int f130(int *p) { return f129(p); }
+int f131(int *p) { return f130(p); }
+int f132(int *p) { return f131(p); }
+int f133(int *p) { return f132(p); }
+int f134(int *p) { return f133(p); }
+int f135(int *p) { return f134(p); }
+int f136(int *p) { return f135(p); }
+int f137(int *p) { return f136(p); }
+int f138(int *p) { return f137(p); }
+int f139(int *p) { return f138(p); }
+int f140(int *p) { return f139(p); }
+int f141(int *p) { return f140(p); }
+int f142(int *p) { return f141(p); }
+int f143(int *p) { return f142(p); }
+int f144(int *p) { return f143(p); }
+int f145(int *p) { return f144(p); }
+int f146(int *p) { return f145(p); }
+int f147(int *p) { return f146(p); }
+int f148(int *p) { return f147(p); }
+int f149(int *p) { return f148(p); }
+int f150(int *p) { return f149(p); }
+int f151(int *p) { return f150(p); }
+int f152(int *p) { return f151(p); }
+int f153(int *p) { return f152(p); }
+int f154(int *p) { return f153(p); }
+int f155(int *p) { return f154(p); }
+int f156(int *p) { return f155(p); }
+int f157(int *p) { return f156(p); }
+int f158(int *p) { return f157(p); }
+int f159(int *p) { return f158(p); }
+int f160(int *p) { return f159(p); }
+int f161(int *p) { return f160(p); }
+int f162(int *p) { return f161(p); }
+int f163(int *p) { return f162(p); }
+int f164(int *p) { return f163(p); }
+int f165(int *p) { return f164(p); }
+int f166(int *p) { return f165(p); }
+int f167(int *p) { return f166(p); }
+int f168(int *p) { return f167(p); }
+int f169(int *p) { return f168(p); }
+int f170(int *p) { return f169(p); }
+int f171(int *p) { return f170(p); }
+int f172(int *p) { return f171(p); }
+int f173(int *p) { return f172(p); }
+int f174(int *p) { return f173(p); }
+int f175(int *p) { return f174(p); }
+int f176(int *p) { return f175(p); }
+int f177(int *p) { return f176(p); }
+int f178(int *p) { return f177(p); }
+int f179(int *p) { return f178(p); }
+int f180(int *p) { return f179(p); }
+int f181(int *p) { return f180(p); }
+int f182(int *p) { return f181(p); }
+int f183(int *p) { return f182(p); }
+int f184(int *p) { return f183(p); }
+int f185(int *p) { return f184(p); }
+int f186(int *p) { return f185(p); }
+int f187(int *p) { return f186(p); }
+int f188(int *p) { return f187(p); }
+int f189(int *p) { return f188(p); }
+int f190(int *p) { return f189(p); }
+int f191(int *p) { return f190(p); }
+int f192(int *p) { return f191(p); }
+int f193(int *p) { return f192(p); }
+int f194(int *p) { return f193(p); }
+int f195(int *p) { return f194(p); }
+int f196(int *p) { return f195(p); }
+int f197(int *p) { return f196(p); }
+int f198(int *p) { return f197(p); }
+int f199(int *p) { return f198(p); }
+int f200(int *p) { return f199(p); }
+int f201(int *p) { return f200(p); }
+int f202(int *p) { return f201(p); }
+int f203(int *p) { return f202(p); }
+int f204(int *p) { return f203(p); }
+int f205(int *p) { return f204(p); }
+int f206(int *p) { return f205(p); }
+int f207(int *p) { return f206(p); }
+int f208(int *p) { return f207(p); }
+int f209(int *p) { return f208(p); }
+int f210(int *p) { return f209(p); }
+int f211(int *p) { return f210(p); }
+int f212(int *p) { return f211(p); }
+int f213(int *p) { return f212(p); }
+int f214(int *p) { return f213(p); }
+int f215(int *p) { return f214(p); }
+int f216(int *p) { return f215(p); }
+int f217(int *p) { return f216(p); }
+int f218(int *p) { return f217(p); }
+int f219(int *p) { return f218(p); }
+int f220(int *p) { return f219(p); }
+int f221(int *p) { return f220(p); }
+int f222(int *p) { return f221(p); }
+int f223(int *p) { return f222(p); }
+int f224(int *p) { return f223(p); }
+int f225(int *p) { return f224(p); }
+int f226(int *p) { return f225(p); }
+int f227(int *p) { return f226(p); }
+int f228(int *p) { return f227(p); }
+int f229(int *p) { return f228(p); }
+int f230(int *p) { return f229(p); }
+int f231(int *p) { return f230(p); }
+int f232(int *p) { return f231(p); }
+int f233(int *p) { return f232(p); }
+int f234(int *p) { return f233(p); }
+int f235(int *p) { return f234(p); }
+int f236(int *p) { return f235(p); }
+int f237(int *p) { return f236(p); }
+int f238(int *p) { return f237(p); }
+int f239(int *p) { return f238(p); }
+int f240(int *p) { return f239(p); }
+int f241(int *p) { return f240(p); }
+int f242(int *p) { return f241(p); }
+int f243(int *p) { return f242(p); }
+int f244(int *p) { return f243(p); }
+int f245(int *p) { return f244(p); }
+int f246(int *p) { return f245(p); }
+int f247(int *p) { return f246(p); }
+int f248(int *p) { return f247(p); }
+int f249(int *p) { return f248(p); }
+int f250(int *p) { return f249(p); }
+int f251(int *p) { return f250(p); }
+int f252(int *p) { return f251(p); }
+int f253(int *p) { return f252(p); }
+int f254(int *p) { return f253(p); }
+int f255(int *p) { return f254(p); }
+int f256(int *p) { return f255(p); }
+int f257(int *p) { return f256(p); }
+int f258(int *p) { return f257(p); }
+int f259(int *p) { return f258(p); }
+int f260(int *p) { return f259(p); }
+int f261(int *p) { return f260(p); }
+int f262(int *p) { return f261(p); }
+int f263(int *p) { return f262(p); }
+int f264(int *p) { return f263(p); }
+int f265(int *p) { return f264(p); }
+int f266(int *p) { return f265(p); }
+int f267(int *p) { return f266(p); }
+int f268(int *p) { return f267(p); }
+int f269(int *p) { return f268(p); }
+int f270(int *p) { return f269(p); }
+int f271(int *p) { return f270(p); }
+int f272(int *p) { return f271(p); }
+int f273(int *p) { return f272(p); }
+int f274(int *p) { return f273(p); }
+int f275(int *p) { return f274(p); }
+int f276(int *p) { return f275(p); }
+int f277(int *p) { return f276(p); }
+int f278(int *p) { return f277(p); }
+int f279(int *p) { return f278(p); }
+int f280(int *p) { return f279(p); }
+int f281(int *p) { return f280(p); }
+int f282(int *p) { return f281(p); }
+int f283(int *p) { return f282(p); }
+int f284(int *p) { return f283(p); }
+int f285(int *p) { return f284(p); }
+int f286(int *p) { return f285(p); }
+int f287(int *p) { return f286(p); }
+int f288(int *p) { return f287(p); }
+int f289(int *p) { return f288(p); }
+int f290(int *p) { return f289(p); }
+int f291(int *p) { return f290(p); }
+int f292(int *p) { return f291(p); }
+int f293(int *p) { return f292(p); }
+int f294(int *p) { return f293(p); }
+int f295(int *p) { return f294(p); }
+int f296(int *p) { return f295(p); }
+int f297(int *p) { return f296(p); }
+int f298(int *p) { return f297(p); }
+int f299(int *p) { return f298(p); }
+int f300(int *p) { return f299(p); }
+int f301(int *p) { return f300(p); }
+int f302(int *p) { return f301(p); }
+int f303(int *p) { return f302(p); }
+int f304(int *p) { return f303(p); }
+int f305(int *p) { return f304(p); }
+int f306(int *p) { return f305(p); }
+int f307(int *p) { return f306(p); }
+int f308(int *p) { return f307(p); }
+int f309(int *p) { return f308(p); }
+int f310(int *p) { return f309(p); }
+int f311(int *p) { return f310(p); }
+int f312(int *p) { return f311(p); }
+int f313(int *p) { return f312(p); }
+int f314(int *p) { return f313(p); }
+int f315(int *p) { return f314(p); }
+int f316(int *p) { return f315(p); }
+int f317(int *p) { return f316(p); }
+int f318(int *p) { return f317(p); }
+int f319(int *p) { return f318(p); }
+int f320(int *p) { return f319(p); }
+int f321(int *p) { return f320(p); }
+int f322(int *p) { return f321(p); }
+int f323(int *p) { return f322(p); }
+int f324(int *p) { return f323(p); }
+int f325(int *p) { return f324(p); }
+int f326(int *p) { return f325(p); }
+int f327(int *p) { return f326(p); }
+int f328(int *p) { return f327(p); }
+int f329(int *p) { return f328(p); }
+int f330(int *p) { return f329(p); }
+int f331(int *p) { return f330(p); }
+int f332(int *p) { return f331(p); }
+int f333(int *p) { return f332(p); }
+int f334(int *p) { return f333(p); }
+int f335(int *p) { return f334(p); }
+int f336(int *p) { return f335(p); }
+int f337(int *p) { return f336(p); }
+int f338(int *p) { return f337(p); }
+int f339(int *p) { return f338(p); }
+int f340(int *p) { return f339(p); }
+int f341(int *p) { return f340(p); }
+int f342(int *p) { return f341(p); }
+int f343(int *p) { return f342(p); }
+int f344(int *p) { return f343(p); }
+int f345(int *p) { return f344(p); }
+int f346(int *p) { return f345(p); }
+int f347(int *p) { return f346(p); }
+int f348(int *p) { return f347(p); }
+int f349(int *p) { return f348(p); }
+int f350(int *p) { return f349(p); }
+int f351(int *p) { return f350(p); }
+int f352(int *p) { return f351(p); }
+int f353(int *p) { return f352(p); }
+int f354(int *p) { return f353(p); }
+int f355(int *p) { return f354(p); }
+int f356(int *p) { return f355(p); }
+int f357(int *p) { return f356(p); }
+int f358(int *p) { return f357(p); }
+int f359(int *p) { return f358(p); }
+int f360(int *p) { return f359(p); }
+int f361(int *p) { return f360(p); }
+int f362(int *p) { return f361(p); }
+int f363(int *p) { return f362(p); }
+int f364(int *p) { return f363(p); }
+int f365(int *p) { return f364(p); }
+int f366(int *p) { return f365(p); }
+int f367(int *p) { return f366(p); }
+int f368(int *p) { return f367(p); }
+int f369(int *p) { return f368(p); }
+int f370(int *p) { return f369(p); }
+int f371(int *p) { return f370(p); }
+int f372(int *p) { return f371(p); }
+int f373(int *p) { return f372(p); }
+int f374(int *p) { return f373(p); }
+int f375(int *p) { return f374(p); }
+int f376(int *p) { return f375(p); }
+int f377(int *p) { return f376(p); }
+int f378(int *p) { return f377(p); }
+int f379(int *p) { return f378(p); }
+int f380(int *p) { return f379(p); }
+int f381(int *p) { return f380(p); }
+int f382(int *p) { return f381(p); }
+int f383(int *p) { return f382(p); }
+int f384(int *p) { return f383(p); }
+int f385(int *p) { return f384(p); }
+int f386(int *p) { return f385(p); }
+int f387(int *p) { return f386(p); }
+int f388(int *p) { return f387(p); }
+int f389(int *p) { return f388(p); }
+int f390(int *p) { return f389(p); }
+int f391(int *p) { return f390(p); }
+int f392(int *p) { return f391(p); }
+int f393(int *p) { return f392(p); }
+int f394(int *p) { return f393(p); }
+int f395(int *p) { return f394(p); }
+int f396(int *p) { return f395(p); }
+int f397(int *p) { return f396(p); }
+int f398(int *p) { return f397(p); }
+int f399(int *p) { return f398(p); }
+int f400(int *p) { return f399(p); }
+int f401(int *p) { return f400(p); }
+int f402(int *p) { return f401(p); }
+int f403(int *p) { return f402(p); }
+int f404(int *p) { return f403(p); }
+int f405(int *p) { return f404(p); }
+int f406(int *p) { return f405(p); }
+int f407(int *p) { return f406(p); }
+int f408(int *p) { return f407(p); }
+int f409(int *p) { return f408(p); }
+int f410(int *p) { return f409(p); }
+int f411(int *p) { return f410(p); }
+int f412(int *p) { return f411(p); }
+int f413(int *p) { return f412(p); }
+int f414(int *p) { return f413(p); }
+int f415(int *p) { return f414(p); }
+int f416(int *p) { return f415(p); }
+int f417(int *p) { return f416(p); }
+int f418(int *p) { return f417(p); }
+int f419(int *p) { return f418(p); }
+int f420(int *p) { return f419(p); }
+int f421(int *p) { return f420(p); }
+int f422(int *p) { return f421(p); }
+int f423(int *p) { return f422(p); }
+int f424(int *p) { return f423(p); }
+int f425(int *p) { return f424(p); }
+int f426(int *p) { return f425(p); }
+int f427(int *p) { return f426(p); }
+int f428(int *p) { return f427(p); }
+int f429(int *p) { return f428(p); }
+int f430(int *p) { return f429(p); }
+int f431(int *p) { return f430(p); }
+int f432(int *p) { return f431(p); }
+int f433(int *p) { return f432(p); }
+int f434(int *p) { return f433(p); }
+int f435(int *p) { return f434(p); }
+int f436(int *p) { return f435(p); }
+int f437(int *p) { return f436(p); }
+int f438(int *p) { return f437(p); }
+int f439(int *p) { return f438(p); }
+int f440(int *p) { return f439(p); }
+int f441(int *p) { return f440(p); }
+int f442(int *p) { return f441(p); }
+int f443(int *p) { return f442(p); }
+int f444(int *p) { return f443(p); }
+int f445(int *p) { return f444(p); }
+int f446(int *p) { return f445(p); }
+int f447(int *p) { return f446(p); }
+int f448(int *p) { return f447(p); }
+int f449(int *p) { return f448(p); }
+int f450(int *p) { return f449(p); }
+int f451(int *p) { return f450(p); }
+int f452(int *p) { return f451(p); }
+int f453(int *p) { return f452(p); }
+int f454(int *p) { return f453(p); }
+int f455(int *p) { return f454(p); }
+int f456(int *p) { return f455(p); }
+int f457(int *p) { return f456(p); }
+int f458(int *p) { return f457(p); }
+int f459(int *p) { return f458(p); }
+int f460(int *p) { return f459(p); }
+int f461(int *p) { return f460(p); }
+int f462(int *p) { return f461(p); }
+int f463(int *p) { return f462(p); }
+int f464(int *p) { return f463(p); }
+int f465(int *p) { return f464(p); }
+int f466(int *p) { return f465(p); }
+int f467(int *p) { return f466(p); }
+int f468(int *p) { return f467(p); }
+int f469(int *p) { return f468(p); }
+int f470(int *p) { return f469(p); }
+int f471(int *p) { return f470(p); }
+int f472(int *p) { return f471(p); }
+int f473(int *p) { return f472(p); }
+int f474(int *p) { return f473(p); }
+int f475(int *p) { return f474(p); }
+int f476(int *p) { return f475(p); }
+int f477(int *p) { return f476(p); }
+int f478(int *p) { return f477(p); }
+int f479(int *p) { return f478(p); }
+int f480(int *p) { return f479(p); }
+int f481(int *p) { return f480(p); }
+int f482(int *p) { return f481(p); }
+int f483(int *p) { return f482(p); }
+int f484(int *p) { return f483(p); }
+int f485(int *p) { return f484(p); }
+int f486(int *p) { return f485(p); }
+int f487(int *p) { return f486(p); }
+int f488(int *p) { return f487(p); }
+int f489(int *p) { return f488(p); }
+int f490(int *p) { return f489(p); }
+int f491(int *p) { return f490(p); }
+int f492(int *p) { return f491(p); }
+int f493(int *p) { return f492(p); }
+int f494(int *p) { return f493(p); }
+int f495(int *p) { return f494(p); }
+int f496(int *p) { return f495(p); }
+int f497(int *p) { return f496(p); }
+int f498(int *p) { return f497(p); }
+int main() { return f498(0); }
diff --git a/memcheck/tests/deep-backtrace.stderr.exp b/memcheck/tests/deep-backtrace.stderr.exp
new file mode 100644
index 0000000..4809e47
--- /dev/null
+++ b/memcheck/tests/deep-backtrace.stderr.exp
@@ -0,0 +1,1009 @@
+Invalid read of size 4
+   at 0x........: f1 (deep-backtrace.c:1)
+   by 0x........: f2 (deep-backtrace.c:2)
+   by 0x........: f3 (deep-backtrace.c:3)
+   by 0x........: f4 (deep-backtrace.c:4)
+   by 0x........: f5 (deep-backtrace.c:5)
+   by 0x........: f6 (deep-backtrace.c:6)
+   by 0x........: f7 (deep-backtrace.c:7)
+   by 0x........: f8 (deep-backtrace.c:8)
+   by 0x........: f9 (deep-backtrace.c:9)
+   by 0x........: f10 (deep-backtrace.c:10)
+   by 0x........: f11 (deep-backtrace.c:11)
+   by 0x........: f12 (deep-backtrace.c:12)
+   by 0x........: f13 (deep-backtrace.c:13)
+   by 0x........: f14 (deep-backtrace.c:14)
+   by 0x........: f15 (deep-backtrace.c:15)
+   by 0x........: f16 (deep-backtrace.c:16)
+   by 0x........: f17 (deep-backtrace.c:17)
+   by 0x........: f18 (deep-backtrace.c:18)
+   by 0x........: f19 (deep-backtrace.c:19)
+   by 0x........: f20 (deep-backtrace.c:20)
+   by 0x........: f21 (deep-backtrace.c:21)
+   by 0x........: f22 (deep-backtrace.c:22)
+   by 0x........: f23 (deep-backtrace.c:23)
+   by 0x........: f24 (deep-backtrace.c:24)
+   by 0x........: f25 (deep-backtrace.c:25)
+   by 0x........: f26 (deep-backtrace.c:26)
+   by 0x........: f27 (deep-backtrace.c:27)
+   by 0x........: f28 (deep-backtrace.c:28)
+   by 0x........: f29 (deep-backtrace.c:29)
+   by 0x........: f30 (deep-backtrace.c:30)
+   by 0x........: f31 (deep-backtrace.c:31)
+   by 0x........: f32 (deep-backtrace.c:32)
+   by 0x........: f33 (deep-backtrace.c:33)
+   by 0x........: f34 (deep-backtrace.c:34)
+   by 0x........: f35 (deep-backtrace.c:35)
+   by 0x........: f36 (deep-backtrace.c:36)
+   by 0x........: f37 (deep-backtrace.c:37)
+   by 0x........: f38 (deep-backtrace.c:38)
+   by 0x........: f39 (deep-backtrace.c:39)
+   by 0x........: f40 (deep-backtrace.c:40)
+   by 0x........: f41 (deep-backtrace.c:41)
+   by 0x........: f42 (deep-backtrace.c:42)
+   by 0x........: f43 (deep-backtrace.c:43)
+   by 0x........: f44 (deep-backtrace.c:44)
+   by 0x........: f45 (deep-backtrace.c:45)
+   by 0x........: f46 (deep-backtrace.c:46)
+   by 0x........: f47 (deep-backtrace.c:47)
+   by 0x........: f48 (deep-backtrace.c:48)
+   by 0x........: f49 (deep-backtrace.c:49)
+   by 0x........: f50 (deep-backtrace.c:50)
+   by 0x........: f51 (deep-backtrace.c:51)
+   by 0x........: f52 (deep-backtrace.c:52)
+   by 0x........: f53 (deep-backtrace.c:53)
+   by 0x........: f54 (deep-backtrace.c:54)
+   by 0x........: f55 (deep-backtrace.c:55)
+   by 0x........: f56 (deep-backtrace.c:56)
+   by 0x........: f57 (deep-backtrace.c:57)
+   by 0x........: f58 (deep-backtrace.c:58)
+   by 0x........: f59 (deep-backtrace.c:59)
+   by 0x........: f60 (deep-backtrace.c:60)
+   by 0x........: f61 (deep-backtrace.c:61)
+   by 0x........: f62 (deep-backtrace.c:62)
+   by 0x........: f63 (deep-backtrace.c:63)
+   by 0x........: f64 (deep-backtrace.c:64)
+   by 0x........: f65 (deep-backtrace.c:65)
+   by 0x........: f66 (deep-backtrace.c:66)
+   by 0x........: f67 (deep-backtrace.c:67)
+   by 0x........: f68 (deep-backtrace.c:68)
+   by 0x........: f69 (deep-backtrace.c:69)
+   by 0x........: f70 (deep-backtrace.c:70)
+   by 0x........: f71 (deep-backtrace.c:71)
+   by 0x........: f72 (deep-backtrace.c:72)
+   by 0x........: f73 (deep-backtrace.c:73)
+   by 0x........: f74 (deep-backtrace.c:74)
+   by 0x........: f75 (deep-backtrace.c:75)
+   by 0x........: f76 (deep-backtrace.c:76)
+   by 0x........: f77 (deep-backtrace.c:77)
+   by 0x........: f78 (deep-backtrace.c:78)
+   by 0x........: f79 (deep-backtrace.c:79)
+   by 0x........: f80 (deep-backtrace.c:80)
+   by 0x........: f81 (deep-backtrace.c:81)
+   by 0x........: f82 (deep-backtrace.c:82)
+   by 0x........: f83 (deep-backtrace.c:83)
+   by 0x........: f84 (deep-backtrace.c:84)
+   by 0x........: f85 (deep-backtrace.c:85)
+   by 0x........: f86 (deep-backtrace.c:86)
+   by 0x........: f87 (deep-backtrace.c:87)
+   by 0x........: f88 (deep-backtrace.c:88)
+   by 0x........: f89 (deep-backtrace.c:89)
+   by 0x........: f90 (deep-backtrace.c:90)
+   by 0x........: f91 (deep-backtrace.c:91)
+   by 0x........: f92 (deep-backtrace.c:92)
+   by 0x........: f93 (deep-backtrace.c:93)
+   by 0x........: f94 (deep-backtrace.c:94)
+   by 0x........: f95 (deep-backtrace.c:95)
+   by 0x........: f96 (deep-backtrace.c:96)
+   by 0x........: f97 (deep-backtrace.c:97)
+   by 0x........: f98 (deep-backtrace.c:98)
+   by 0x........: f99 (deep-backtrace.c:99)
+   by 0x........: f100 (deep-backtrace.c:100)
+   by 0x........: f101 (deep-backtrace.c:101)
+   by 0x........: f102 (deep-backtrace.c:102)
+   by 0x........: f103 (deep-backtrace.c:103)
+   by 0x........: f104 (deep-backtrace.c:104)
+   by 0x........: f105 (deep-backtrace.c:105)
+   by 0x........: f106 (deep-backtrace.c:106)
+   by 0x........: f107 (deep-backtrace.c:107)
+   by 0x........: f108 (deep-backtrace.c:108)
+   by 0x........: f109 (deep-backtrace.c:109)
+   by 0x........: f110 (deep-backtrace.c:110)
+   by 0x........: f111 (deep-backtrace.c:111)
+   by 0x........: f112 (deep-backtrace.c:112)
+   by 0x........: f113 (deep-backtrace.c:113)
+   by 0x........: f114 (deep-backtrace.c:114)
+   by 0x........: f115 (deep-backtrace.c:115)
+   by 0x........: f116 (deep-backtrace.c:116)
+   by 0x........: f117 (deep-backtrace.c:117)
+   by 0x........: f118 (deep-backtrace.c:118)
+   by 0x........: f119 (deep-backtrace.c:119)
+   by 0x........: f120 (deep-backtrace.c:120)
+   by 0x........: f121 (deep-backtrace.c:121)
+   by 0x........: f122 (deep-backtrace.c:122)
+   by 0x........: f123 (deep-backtrace.c:123)
+   by 0x........: f124 (deep-backtrace.c:124)
+   by 0x........: f125 (deep-backtrace.c:125)
+   by 0x........: f126 (deep-backtrace.c:126)
+   by 0x........: f127 (deep-backtrace.c:127)
+   by 0x........: f128 (deep-backtrace.c:128)
+   by 0x........: f129 (deep-backtrace.c:129)
+   by 0x........: f130 (deep-backtrace.c:130)
+   by 0x........: f131 (deep-backtrace.c:131)
+   by 0x........: f132 (deep-backtrace.c:132)
+   by 0x........: f133 (deep-backtrace.c:133)
+   by 0x........: f134 (deep-backtrace.c:134)
+   by 0x........: f135 (deep-backtrace.c:135)
+   by 0x........: f136 (deep-backtrace.c:136)
+   by 0x........: f137 (deep-backtrace.c:137)
+   by 0x........: f138 (deep-backtrace.c:138)
+   by 0x........: f139 (deep-backtrace.c:139)
+   by 0x........: f140 (deep-backtrace.c:140)
+   by 0x........: f141 (deep-backtrace.c:141)
+   by 0x........: f142 (deep-backtrace.c:142)
+   by 0x........: f143 (deep-backtrace.c:143)
+   by 0x........: f144 (deep-backtrace.c:144)
+   by 0x........: f145 (deep-backtrace.c:145)
+   by 0x........: f146 (deep-backtrace.c:146)
+   by 0x........: f147 (deep-backtrace.c:147)
+   by 0x........: f148 (deep-backtrace.c:148)
+   by 0x........: f149 (deep-backtrace.c:149)
+   by 0x........: f150 (deep-backtrace.c:150)
+   by 0x........: f151 (deep-backtrace.c:151)
+   by 0x........: f152 (deep-backtrace.c:152)
+   by 0x........: f153 (deep-backtrace.c:153)
+   by 0x........: f154 (deep-backtrace.c:154)
+   by 0x........: f155 (deep-backtrace.c:155)
+   by 0x........: f156 (deep-backtrace.c:156)
+   by 0x........: f157 (deep-backtrace.c:157)
+   by 0x........: f158 (deep-backtrace.c:158)
+   by 0x........: f159 (deep-backtrace.c:159)
+   by 0x........: f160 (deep-backtrace.c:160)
+   by 0x........: f161 (deep-backtrace.c:161)
+   by 0x........: f162 (deep-backtrace.c:162)
+   by 0x........: f163 (deep-backtrace.c:163)
+   by 0x........: f164 (deep-backtrace.c:164)
+   by 0x........: f165 (deep-backtrace.c:165)
+   by 0x........: f166 (deep-backtrace.c:166)
+   by 0x........: f167 (deep-backtrace.c:167)
+   by 0x........: f168 (deep-backtrace.c:168)
+   by 0x........: f169 (deep-backtrace.c:169)
+   by 0x........: f170 (deep-backtrace.c:170)
+   by 0x........: f171 (deep-backtrace.c:171)
+   by 0x........: f172 (deep-backtrace.c:172)
+   by 0x........: f173 (deep-backtrace.c:173)
+   by 0x........: f174 (deep-backtrace.c:174)
+   by 0x........: f175 (deep-backtrace.c:175)
+   by 0x........: f176 (deep-backtrace.c:176)
+   by 0x........: f177 (deep-backtrace.c:177)
+   by 0x........: f178 (deep-backtrace.c:178)
+   by 0x........: f179 (deep-backtrace.c:179)
+   by 0x........: f180 (deep-backtrace.c:180)
+   by 0x........: f181 (deep-backtrace.c:181)
+   by 0x........: f182 (deep-backtrace.c:182)
+   by 0x........: f183 (deep-backtrace.c:183)
+   by 0x........: f184 (deep-backtrace.c:184)
+   by 0x........: f185 (deep-backtrace.c:185)
+   by 0x........: f186 (deep-backtrace.c:186)
+   by 0x........: f187 (deep-backtrace.c:187)
+   by 0x........: f188 (deep-backtrace.c:188)
+   by 0x........: f189 (deep-backtrace.c:189)
+   by 0x........: f190 (deep-backtrace.c:190)
+   by 0x........: f191 (deep-backtrace.c:191)
+   by 0x........: f192 (deep-backtrace.c:192)
+   by 0x........: f193 (deep-backtrace.c:193)
+   by 0x........: f194 (deep-backtrace.c:194)
+   by 0x........: f195 (deep-backtrace.c:195)
+   by 0x........: f196 (deep-backtrace.c:196)
+   by 0x........: f197 (deep-backtrace.c:197)
+   by 0x........: f198 (deep-backtrace.c:198)
+   by 0x........: f199 (deep-backtrace.c:199)
+   by 0x........: f200 (deep-backtrace.c:200)
+   by 0x........: f201 (deep-backtrace.c:201)
+   by 0x........: f202 (deep-backtrace.c:202)
+   by 0x........: f203 (deep-backtrace.c:203)
+   by 0x........: f204 (deep-backtrace.c:204)
+   by 0x........: f205 (deep-backtrace.c:205)
+   by 0x........: f206 (deep-backtrace.c:206)
+   by 0x........: f207 (deep-backtrace.c:207)
+   by 0x........: f208 (deep-backtrace.c:208)
+   by 0x........: f209 (deep-backtrace.c:209)
+   by 0x........: f210 (deep-backtrace.c:210)
+   by 0x........: f211 (deep-backtrace.c:211)
+   by 0x........: f212 (deep-backtrace.c:212)
+   by 0x........: f213 (deep-backtrace.c:213)
+   by 0x........: f214 (deep-backtrace.c:214)
+   by 0x........: f215 (deep-backtrace.c:215)
+   by 0x........: f216 (deep-backtrace.c:216)
+   by 0x........: f217 (deep-backtrace.c:217)
+   by 0x........: f218 (deep-backtrace.c:218)
+   by 0x........: f219 (deep-backtrace.c:219)
+   by 0x........: f220 (deep-backtrace.c:220)
+   by 0x........: f221 (deep-backtrace.c:221)
+   by 0x........: f222 (deep-backtrace.c:222)
+   by 0x........: f223 (deep-backtrace.c:223)
+   by 0x........: f224 (deep-backtrace.c:224)
+   by 0x........: f225 (deep-backtrace.c:225)
+   by 0x........: f226 (deep-backtrace.c:226)
+   by 0x........: f227 (deep-backtrace.c:227)
+   by 0x........: f228 (deep-backtrace.c:228)
+   by 0x........: f229 (deep-backtrace.c:229)
+   by 0x........: f230 (deep-backtrace.c:230)
+   by 0x........: f231 (deep-backtrace.c:231)
+   by 0x........: f232 (deep-backtrace.c:232)
+   by 0x........: f233 (deep-backtrace.c:233)
+   by 0x........: f234 (deep-backtrace.c:234)
+   by 0x........: f235 (deep-backtrace.c:235)
+   by 0x........: f236 (deep-backtrace.c:236)
+   by 0x........: f237 (deep-backtrace.c:237)
+   by 0x........: f238 (deep-backtrace.c:238)
+   by 0x........: f239 (deep-backtrace.c:239)
+   by 0x........: f240 (deep-backtrace.c:240)
+   by 0x........: f241 (deep-backtrace.c:241)
+   by 0x........: f242 (deep-backtrace.c:242)
+   by 0x........: f243 (deep-backtrace.c:243)
+   by 0x........: f244 (deep-backtrace.c:244)
+   by 0x........: f245 (deep-backtrace.c:245)
+   by 0x........: f246 (deep-backtrace.c:246)
+   by 0x........: f247 (deep-backtrace.c:247)
+   by 0x........: f248 (deep-backtrace.c:248)
+   by 0x........: f249 (deep-backtrace.c:249)
+   by 0x........: f250 (deep-backtrace.c:250)
+   by 0x........: f251 (deep-backtrace.c:251)
+   by 0x........: f252 (deep-backtrace.c:252)
+   by 0x........: f253 (deep-backtrace.c:253)
+   by 0x........: f254 (deep-backtrace.c:254)
+   by 0x........: f255 (deep-backtrace.c:255)
+   by 0x........: f256 (deep-backtrace.c:256)
+   by 0x........: f257 (deep-backtrace.c:257)
+   by 0x........: f258 (deep-backtrace.c:258)
+   by 0x........: f259 (deep-backtrace.c:259)
+   by 0x........: f260 (deep-backtrace.c:260)
+   by 0x........: f261 (deep-backtrace.c:261)
+   by 0x........: f262 (deep-backtrace.c:262)
+   by 0x........: f263 (deep-backtrace.c:263)
+   by 0x........: f264 (deep-backtrace.c:264)
+   by 0x........: f265 (deep-backtrace.c:265)
+   by 0x........: f266 (deep-backtrace.c:266)
+   by 0x........: f267 (deep-backtrace.c:267)
+   by 0x........: f268 (deep-backtrace.c:268)
+   by 0x........: f269 (deep-backtrace.c:269)
+   by 0x........: f270 (deep-backtrace.c:270)
+   by 0x........: f271 (deep-backtrace.c:271)
+   by 0x........: f272 (deep-backtrace.c:272)
+   by 0x........: f273 (deep-backtrace.c:273)
+   by 0x........: f274 (deep-backtrace.c:274)
+   by 0x........: f275 (deep-backtrace.c:275)
+   by 0x........: f276 (deep-backtrace.c:276)
+   by 0x........: f277 (deep-backtrace.c:277)
+   by 0x........: f278 (deep-backtrace.c:278)
+   by 0x........: f279 (deep-backtrace.c:279)
+   by 0x........: f280 (deep-backtrace.c:280)
+   by 0x........: f281 (deep-backtrace.c:281)
+   by 0x........: f282 (deep-backtrace.c:282)
+   by 0x........: f283 (deep-backtrace.c:283)
+   by 0x........: f284 (deep-backtrace.c:284)
+   by 0x........: f285 (deep-backtrace.c:285)
+   by 0x........: f286 (deep-backtrace.c:286)
+   by 0x........: f287 (deep-backtrace.c:287)
+   by 0x........: f288 (deep-backtrace.c:288)
+   by 0x........: f289 (deep-backtrace.c:289)
+   by 0x........: f290 (deep-backtrace.c:290)
+   by 0x........: f291 (deep-backtrace.c:291)
+   by 0x........: f292 (deep-backtrace.c:292)
+   by 0x........: f293 (deep-backtrace.c:293)
+   by 0x........: f294 (deep-backtrace.c:294)
+   by 0x........: f295 (deep-backtrace.c:295)
+   by 0x........: f296 (deep-backtrace.c:296)
+   by 0x........: f297 (deep-backtrace.c:297)
+   by 0x........: f298 (deep-backtrace.c:298)
+   by 0x........: f299 (deep-backtrace.c:299)
+   by 0x........: f300 (deep-backtrace.c:300)
+   by 0x........: f301 (deep-backtrace.c:301)
+   by 0x........: f302 (deep-backtrace.c:302)
+   by 0x........: f303 (deep-backtrace.c:303)
+   by 0x........: f304 (deep-backtrace.c:304)
+   by 0x........: f305 (deep-backtrace.c:305)
+   by 0x........: f306 (deep-backtrace.c:306)
+   by 0x........: f307 (deep-backtrace.c:307)
+   by 0x........: f308 (deep-backtrace.c:308)
+   by 0x........: f309 (deep-backtrace.c:309)
+   by 0x........: f310 (deep-backtrace.c:310)
+   by 0x........: f311 (deep-backtrace.c:311)
+   by 0x........: f312 (deep-backtrace.c:312)
+   by 0x........: f313 (deep-backtrace.c:313)
+   by 0x........: f314 (deep-backtrace.c:314)
+   by 0x........: f315 (deep-backtrace.c:315)
+   by 0x........: f316 (deep-backtrace.c:316)
+   by 0x........: f317 (deep-backtrace.c:317)
+   by 0x........: f318 (deep-backtrace.c:318)
+   by 0x........: f319 (deep-backtrace.c:319)
+   by 0x........: f320 (deep-backtrace.c:320)
+   by 0x........: f321 (deep-backtrace.c:321)
+   by 0x........: f322 (deep-backtrace.c:322)
+   by 0x........: f323 (deep-backtrace.c:323)
+   by 0x........: f324 (deep-backtrace.c:324)
+   by 0x........: f325 (deep-backtrace.c:325)
+   by 0x........: f326 (deep-backtrace.c:326)
+   by 0x........: f327 (deep-backtrace.c:327)
+   by 0x........: f328 (deep-backtrace.c:328)
+   by 0x........: f329 (deep-backtrace.c:329)
+   by 0x........: f330 (deep-backtrace.c:330)
+   by 0x........: f331 (deep-backtrace.c:331)
+   by 0x........: f332 (deep-backtrace.c:332)
+   by 0x........: f333 (deep-backtrace.c:333)
+   by 0x........: f334 (deep-backtrace.c:334)
+   by 0x........: f335 (deep-backtrace.c:335)
+   by 0x........: f336 (deep-backtrace.c:336)
+   by 0x........: f337 (deep-backtrace.c:337)
+   by 0x........: f338 (deep-backtrace.c:338)
+   by 0x........: f339 (deep-backtrace.c:339)
+   by 0x........: f340 (deep-backtrace.c:340)
+   by 0x........: f341 (deep-backtrace.c:341)
+   by 0x........: f342 (deep-backtrace.c:342)
+   by 0x........: f343 (deep-backtrace.c:343)
+   by 0x........: f344 (deep-backtrace.c:344)
+   by 0x........: f345 (deep-backtrace.c:345)
+   by 0x........: f346 (deep-backtrace.c:346)
+   by 0x........: f347 (deep-backtrace.c:347)
+   by 0x........: f348 (deep-backtrace.c:348)
+   by 0x........: f349 (deep-backtrace.c:349)
+   by 0x........: f350 (deep-backtrace.c:350)
+   by 0x........: f351 (deep-backtrace.c:351)
+   by 0x........: f352 (deep-backtrace.c:352)
+   by 0x........: f353 (deep-backtrace.c:353)
+   by 0x........: f354 (deep-backtrace.c:354)
+   by 0x........: f355 (deep-backtrace.c:355)
+   by 0x........: f356 (deep-backtrace.c:356)
+   by 0x........: f357 (deep-backtrace.c:357)
+   by 0x........: f358 (deep-backtrace.c:358)
+   by 0x........: f359 (deep-backtrace.c:359)
+   by 0x........: f360 (deep-backtrace.c:360)
+   by 0x........: f361 (deep-backtrace.c:361)
+   by 0x........: f362 (deep-backtrace.c:362)
+   by 0x........: f363 (deep-backtrace.c:363)
+   by 0x........: f364 (deep-backtrace.c:364)
+   by 0x........: f365 (deep-backtrace.c:365)
+   by 0x........: f366 (deep-backtrace.c:366)
+   by 0x........: f367 (deep-backtrace.c:367)
+   by 0x........: f368 (deep-backtrace.c:368)
+   by 0x........: f369 (deep-backtrace.c:369)
+   by 0x........: f370 (deep-backtrace.c:370)
+   by 0x........: f371 (deep-backtrace.c:371)
+   by 0x........: f372 (deep-backtrace.c:372)
+   by 0x........: f373 (deep-backtrace.c:373)
+   by 0x........: f374 (deep-backtrace.c:374)
+   by 0x........: f375 (deep-backtrace.c:375)
+   by 0x........: f376 (deep-backtrace.c:376)
+   by 0x........: f377 (deep-backtrace.c:377)
+   by 0x........: f378 (deep-backtrace.c:378)
+   by 0x........: f379 (deep-backtrace.c:379)
+   by 0x........: f380 (deep-backtrace.c:380)
+   by 0x........: f381 (deep-backtrace.c:381)
+   by 0x........: f382 (deep-backtrace.c:382)
+   by 0x........: f383 (deep-backtrace.c:383)
+   by 0x........: f384 (deep-backtrace.c:384)
+   by 0x........: f385 (deep-backtrace.c:385)
+   by 0x........: f386 (deep-backtrace.c:386)
+   by 0x........: f387 (deep-backtrace.c:387)
+   by 0x........: f388 (deep-backtrace.c:388)
+   by 0x........: f389 (deep-backtrace.c:389)
+   by 0x........: f390 (deep-backtrace.c:390)
+   by 0x........: f391 (deep-backtrace.c:391)
+   by 0x........: f392 (deep-backtrace.c:392)
+   by 0x........: f393 (deep-backtrace.c:393)
+   by 0x........: f394 (deep-backtrace.c:394)
+   by 0x........: f395 (deep-backtrace.c:395)
+   by 0x........: f396 (deep-backtrace.c:396)
+   by 0x........: f397 (deep-backtrace.c:397)
+   by 0x........: f398 (deep-backtrace.c:398)
+   by 0x........: f399 (deep-backtrace.c:399)
+   by 0x........: f400 (deep-backtrace.c:400)
+   by 0x........: f401 (deep-backtrace.c:401)
+   by 0x........: f402 (deep-backtrace.c:402)
+   by 0x........: f403 (deep-backtrace.c:403)
+   by 0x........: f404 (deep-backtrace.c:404)
+   by 0x........: f405 (deep-backtrace.c:405)
+   by 0x........: f406 (deep-backtrace.c:406)
+   by 0x........: f407 (deep-backtrace.c:407)
+   by 0x........: f408 (deep-backtrace.c:408)
+   by 0x........: f409 (deep-backtrace.c:409)
+   by 0x........: f410 (deep-backtrace.c:410)
+   by 0x........: f411 (deep-backtrace.c:411)
+   by 0x........: f412 (deep-backtrace.c:412)
+   by 0x........: f413 (deep-backtrace.c:413)
+   by 0x........: f414 (deep-backtrace.c:414)
+   by 0x........: f415 (deep-backtrace.c:415)
+   by 0x........: f416 (deep-backtrace.c:416)
+   by 0x........: f417 (deep-backtrace.c:417)
+   by 0x........: f418 (deep-backtrace.c:418)
+   by 0x........: f419 (deep-backtrace.c:419)
+   by 0x........: f420 (deep-backtrace.c:420)
+   by 0x........: f421 (deep-backtrace.c:421)
+   by 0x........: f422 (deep-backtrace.c:422)
+   by 0x........: f423 (deep-backtrace.c:423)
+   by 0x........: f424 (deep-backtrace.c:424)
+   by 0x........: f425 (deep-backtrace.c:425)
+   by 0x........: f426 (deep-backtrace.c:426)
+   by 0x........: f427 (deep-backtrace.c:427)
+   by 0x........: f428 (deep-backtrace.c:428)
+   by 0x........: f429 (deep-backtrace.c:429)
+   by 0x........: f430 (deep-backtrace.c:430)
+   by 0x........: f431 (deep-backtrace.c:431)
+   by 0x........: f432 (deep-backtrace.c:432)
+   by 0x........: f433 (deep-backtrace.c:433)
+   by 0x........: f434 (deep-backtrace.c:434)
+   by 0x........: f435 (deep-backtrace.c:435)
+   by 0x........: f436 (deep-backtrace.c:436)
+   by 0x........: f437 (deep-backtrace.c:437)
+   by 0x........: f438 (deep-backtrace.c:438)
+   by 0x........: f439 (deep-backtrace.c:439)
+   by 0x........: f440 (deep-backtrace.c:440)
+   by 0x........: f441 (deep-backtrace.c:441)
+   by 0x........: f442 (deep-backtrace.c:442)
+   by 0x........: f443 (deep-backtrace.c:443)
+   by 0x........: f444 (deep-backtrace.c:444)
+   by 0x........: f445 (deep-backtrace.c:445)
+   by 0x........: f446 (deep-backtrace.c:446)
+   by 0x........: f447 (deep-backtrace.c:447)
+   by 0x........: f448 (deep-backtrace.c:448)
+   by 0x........: f449 (deep-backtrace.c:449)
+   by 0x........: f450 (deep-backtrace.c:450)
+   by 0x........: f451 (deep-backtrace.c:451)
+   by 0x........: f452 (deep-backtrace.c:452)
+   by 0x........: f453 (deep-backtrace.c:453)
+   by 0x........: f454 (deep-backtrace.c:454)
+   by 0x........: f455 (deep-backtrace.c:455)
+   by 0x........: f456 (deep-backtrace.c:456)
+   by 0x........: f457 (deep-backtrace.c:457)
+   by 0x........: f458 (deep-backtrace.c:458)
+   by 0x........: f459 (deep-backtrace.c:459)
+   by 0x........: f460 (deep-backtrace.c:460)
+   by 0x........: f461 (deep-backtrace.c:461)
+   by 0x........: f462 (deep-backtrace.c:462)
+   by 0x........: f463 (deep-backtrace.c:463)
+   by 0x........: f464 (deep-backtrace.c:464)
+   by 0x........: f465 (deep-backtrace.c:465)
+   by 0x........: f466 (deep-backtrace.c:466)
+   by 0x........: f467 (deep-backtrace.c:467)
+   by 0x........: f468 (deep-backtrace.c:468)
+   by 0x........: f469 (deep-backtrace.c:469)
+   by 0x........: f470 (deep-backtrace.c:470)
+   by 0x........: f471 (deep-backtrace.c:471)
+   by 0x........: f472 (deep-backtrace.c:472)
+   by 0x........: f473 (deep-backtrace.c:473)
+   by 0x........: f474 (deep-backtrace.c:474)
+   by 0x........: f475 (deep-backtrace.c:475)
+   by 0x........: f476 (deep-backtrace.c:476)
+   by 0x........: f477 (deep-backtrace.c:477)
+   by 0x........: f478 (deep-backtrace.c:478)
+   by 0x........: f479 (deep-backtrace.c:479)
+   by 0x........: f480 (deep-backtrace.c:480)
+   by 0x........: f481 (deep-backtrace.c:481)
+   by 0x........: f482 (deep-backtrace.c:482)
+   by 0x........: f483 (deep-backtrace.c:483)
+   by 0x........: f484 (deep-backtrace.c:484)
+   by 0x........: f485 (deep-backtrace.c:485)
+   by 0x........: f486 (deep-backtrace.c:486)
+   by 0x........: f487 (deep-backtrace.c:487)
+   by 0x........: f488 (deep-backtrace.c:488)
+   by 0x........: f489 (deep-backtrace.c:489)
+   by 0x........: f490 (deep-backtrace.c:490)
+   by 0x........: f491 (deep-backtrace.c:491)
+   by 0x........: f492 (deep-backtrace.c:492)
+   by 0x........: f493 (deep-backtrace.c:493)
+   by 0x........: f494 (deep-backtrace.c:494)
+   by 0x........: f495 (deep-backtrace.c:495)
+   by 0x........: f496 (deep-backtrace.c:496)
+   by 0x........: f497 (deep-backtrace.c:497)
+   by 0x........: f498 (deep-backtrace.c:498)
+   by 0x........: main (deep-backtrace.c:499)
+ Address 0x........ is not stack'd, malloc'd or (recently) free'd
+
+
+Process terminating with default action of signal 11 (SIGSEGV)
+ Access not within mapped region at address 0x........
+   at 0x........: f1 (deep-backtrace.c:1)
+   by 0x........: f2 (deep-backtrace.c:2)
+   by 0x........: f3 (deep-backtrace.c:3)
+   by 0x........: f4 (deep-backtrace.c:4)
+   by 0x........: f5 (deep-backtrace.c:5)
+   by 0x........: f6 (deep-backtrace.c:6)
+   by 0x........: f7 (deep-backtrace.c:7)
+   by 0x........: f8 (deep-backtrace.c:8)
+   by 0x........: f9 (deep-backtrace.c:9)
+   by 0x........: f10 (deep-backtrace.c:10)
+   by 0x........: f11 (deep-backtrace.c:11)
+   by 0x........: f12 (deep-backtrace.c:12)
+   by 0x........: f13 (deep-backtrace.c:13)
+   by 0x........: f14 (deep-backtrace.c:14)
+   by 0x........: f15 (deep-backtrace.c:15)
+   by 0x........: f16 (deep-backtrace.c:16)
+   by 0x........: f17 (deep-backtrace.c:17)
+   by 0x........: f18 (deep-backtrace.c:18)
+   by 0x........: f19 (deep-backtrace.c:19)
+   by 0x........: f20 (deep-backtrace.c:20)
+   by 0x........: f21 (deep-backtrace.c:21)
+   by 0x........: f22 (deep-backtrace.c:22)
+   by 0x........: f23 (deep-backtrace.c:23)
+   by 0x........: f24 (deep-backtrace.c:24)
+   by 0x........: f25 (deep-backtrace.c:25)
+   by 0x........: f26 (deep-backtrace.c:26)
+   by 0x........: f27 (deep-backtrace.c:27)
+   by 0x........: f28 (deep-backtrace.c:28)
+   by 0x........: f29 (deep-backtrace.c:29)
+   by 0x........: f30 (deep-backtrace.c:30)
+   by 0x........: f31 (deep-backtrace.c:31)
+   by 0x........: f32 (deep-backtrace.c:32)
+   by 0x........: f33 (deep-backtrace.c:33)
+   by 0x........: f34 (deep-backtrace.c:34)
+   by 0x........: f35 (deep-backtrace.c:35)
+   by 0x........: f36 (deep-backtrace.c:36)
+   by 0x........: f37 (deep-backtrace.c:37)
+   by 0x........: f38 (deep-backtrace.c:38)
+   by 0x........: f39 (deep-backtrace.c:39)
+   by 0x........: f40 (deep-backtrace.c:40)
+   by 0x........: f41 (deep-backtrace.c:41)
+   by 0x........: f42 (deep-backtrace.c:42)
+   by 0x........: f43 (deep-backtrace.c:43)
+   by 0x........: f44 (deep-backtrace.c:44)
+   by 0x........: f45 (deep-backtrace.c:45)
+   by 0x........: f46 (deep-backtrace.c:46)
+   by 0x........: f47 (deep-backtrace.c:47)
+   by 0x........: f48 (deep-backtrace.c:48)
+   by 0x........: f49 (deep-backtrace.c:49)
+   by 0x........: f50 (deep-backtrace.c:50)
+   by 0x........: f51 (deep-backtrace.c:51)
+   by 0x........: f52 (deep-backtrace.c:52)
+   by 0x........: f53 (deep-backtrace.c:53)
+   by 0x........: f54 (deep-backtrace.c:54)
+   by 0x........: f55 (deep-backtrace.c:55)
+   by 0x........: f56 (deep-backtrace.c:56)
+   by 0x........: f57 (deep-backtrace.c:57)
+   by 0x........: f58 (deep-backtrace.c:58)
+   by 0x........: f59 (deep-backtrace.c:59)
+   by 0x........: f60 (deep-backtrace.c:60)
+   by 0x........: f61 (deep-backtrace.c:61)
+   by 0x........: f62 (deep-backtrace.c:62)
+   by 0x........: f63 (deep-backtrace.c:63)
+   by 0x........: f64 (deep-backtrace.c:64)
+   by 0x........: f65 (deep-backtrace.c:65)
+   by 0x........: f66 (deep-backtrace.c:66)
+   by 0x........: f67 (deep-backtrace.c:67)
+   by 0x........: f68 (deep-backtrace.c:68)
+   by 0x........: f69 (deep-backtrace.c:69)
+   by 0x........: f70 (deep-backtrace.c:70)
+   by 0x........: f71 (deep-backtrace.c:71)
+   by 0x........: f72 (deep-backtrace.c:72)
+   by 0x........: f73 (deep-backtrace.c:73)
+   by 0x........: f74 (deep-backtrace.c:74)
+   by 0x........: f75 (deep-backtrace.c:75)
+   by 0x........: f76 (deep-backtrace.c:76)
+   by 0x........: f77 (deep-backtrace.c:77)
+   by 0x........: f78 (deep-backtrace.c:78)
+   by 0x........: f79 (deep-backtrace.c:79)
+   by 0x........: f80 (deep-backtrace.c:80)
+   by 0x........: f81 (deep-backtrace.c:81)
+   by 0x........: f82 (deep-backtrace.c:82)
+   by 0x........: f83 (deep-backtrace.c:83)
+   by 0x........: f84 (deep-backtrace.c:84)
+   by 0x........: f85 (deep-backtrace.c:85)
+   by 0x........: f86 (deep-backtrace.c:86)
+   by 0x........: f87 (deep-backtrace.c:87)
+   by 0x........: f88 (deep-backtrace.c:88)
+   by 0x........: f89 (deep-backtrace.c:89)
+   by 0x........: f90 (deep-backtrace.c:90)
+   by 0x........: f91 (deep-backtrace.c:91)
+   by 0x........: f92 (deep-backtrace.c:92)
+   by 0x........: f93 (deep-backtrace.c:93)
+   by 0x........: f94 (deep-backtrace.c:94)
+   by 0x........: f95 (deep-backtrace.c:95)
+   by 0x........: f96 (deep-backtrace.c:96)
+   by 0x........: f97 (deep-backtrace.c:97)
+   by 0x........: f98 (deep-backtrace.c:98)
+   by 0x........: f99 (deep-backtrace.c:99)
+   by 0x........: f100 (deep-backtrace.c:100)
+   by 0x........: f101 (deep-backtrace.c:101)
+   by 0x........: f102 (deep-backtrace.c:102)
+   by 0x........: f103 (deep-backtrace.c:103)
+   by 0x........: f104 (deep-backtrace.c:104)
+   by 0x........: f105 (deep-backtrace.c:105)
+   by 0x........: f106 (deep-backtrace.c:106)
+   by 0x........: f107 (deep-backtrace.c:107)
+   by 0x........: f108 (deep-backtrace.c:108)
+   by 0x........: f109 (deep-backtrace.c:109)
+   by 0x........: f110 (deep-backtrace.c:110)
+   by 0x........: f111 (deep-backtrace.c:111)
+   by 0x........: f112 (deep-backtrace.c:112)
+   by 0x........: f113 (deep-backtrace.c:113)
+   by 0x........: f114 (deep-backtrace.c:114)
+   by 0x........: f115 (deep-backtrace.c:115)
+   by 0x........: f116 (deep-backtrace.c:116)
+   by 0x........: f117 (deep-backtrace.c:117)
+   by 0x........: f118 (deep-backtrace.c:118)
+   by 0x........: f119 (deep-backtrace.c:119)
+   by 0x........: f120 (deep-backtrace.c:120)
+   by 0x........: f121 (deep-backtrace.c:121)
+   by 0x........: f122 (deep-backtrace.c:122)
+   by 0x........: f123 (deep-backtrace.c:123)
+   by 0x........: f124 (deep-backtrace.c:124)
+   by 0x........: f125 (deep-backtrace.c:125)
+   by 0x........: f126 (deep-backtrace.c:126)
+   by 0x........: f127 (deep-backtrace.c:127)
+   by 0x........: f128 (deep-backtrace.c:128)
+   by 0x........: f129 (deep-backtrace.c:129)
+   by 0x........: f130 (deep-backtrace.c:130)
+   by 0x........: f131 (deep-backtrace.c:131)
+   by 0x........: f132 (deep-backtrace.c:132)
+   by 0x........: f133 (deep-backtrace.c:133)
+   by 0x........: f134 (deep-backtrace.c:134)
+   by 0x........: f135 (deep-backtrace.c:135)
+   by 0x........: f136 (deep-backtrace.c:136)
+   by 0x........: f137 (deep-backtrace.c:137)
+   by 0x........: f138 (deep-backtrace.c:138)
+   by 0x........: f139 (deep-backtrace.c:139)
+   by 0x........: f140 (deep-backtrace.c:140)
+   by 0x........: f141 (deep-backtrace.c:141)
+   by 0x........: f142 (deep-backtrace.c:142)
+   by 0x........: f143 (deep-backtrace.c:143)
+   by 0x........: f144 (deep-backtrace.c:144)
+   by 0x........: f145 (deep-backtrace.c:145)
+   by 0x........: f146 (deep-backtrace.c:146)
+   by 0x........: f147 (deep-backtrace.c:147)
+   by 0x........: f148 (deep-backtrace.c:148)
+   by 0x........: f149 (deep-backtrace.c:149)
+   by 0x........: f150 (deep-backtrace.c:150)
+   by 0x........: f151 (deep-backtrace.c:151)
+   by 0x........: f152 (deep-backtrace.c:152)
+   by 0x........: f153 (deep-backtrace.c:153)
+   by 0x........: f154 (deep-backtrace.c:154)
+   by 0x........: f155 (deep-backtrace.c:155)
+   by 0x........: f156 (deep-backtrace.c:156)
+   by 0x........: f157 (deep-backtrace.c:157)
+   by 0x........: f158 (deep-backtrace.c:158)
+   by 0x........: f159 (deep-backtrace.c:159)
+   by 0x........: f160 (deep-backtrace.c:160)
+   by 0x........: f161 (deep-backtrace.c:161)
+   by 0x........: f162 (deep-backtrace.c:162)
+   by 0x........: f163 (deep-backtrace.c:163)
+   by 0x........: f164 (deep-backtrace.c:164)
+   by 0x........: f165 (deep-backtrace.c:165)
+   by 0x........: f166 (deep-backtrace.c:166)
+   by 0x........: f167 (deep-backtrace.c:167)
+   by 0x........: f168 (deep-backtrace.c:168)
+   by 0x........: f169 (deep-backtrace.c:169)
+   by 0x........: f170 (deep-backtrace.c:170)
+   by 0x........: f171 (deep-backtrace.c:171)
+   by 0x........: f172 (deep-backtrace.c:172)
+   by 0x........: f173 (deep-backtrace.c:173)
+   by 0x........: f174 (deep-backtrace.c:174)
+   by 0x........: f175 (deep-backtrace.c:175)
+   by 0x........: f176 (deep-backtrace.c:176)
+   by 0x........: f177 (deep-backtrace.c:177)
+   by 0x........: f178 (deep-backtrace.c:178)
+   by 0x........: f179 (deep-backtrace.c:179)
+   by 0x........: f180 (deep-backtrace.c:180)
+   by 0x........: f181 (deep-backtrace.c:181)
+   by 0x........: f182 (deep-backtrace.c:182)
+   by 0x........: f183 (deep-backtrace.c:183)
+   by 0x........: f184 (deep-backtrace.c:184)
+   by 0x........: f185 (deep-backtrace.c:185)
+   by 0x........: f186 (deep-backtrace.c:186)
+   by 0x........: f187 (deep-backtrace.c:187)
+   by 0x........: f188 (deep-backtrace.c:188)
+   by 0x........: f189 (deep-backtrace.c:189)
+   by 0x........: f190 (deep-backtrace.c:190)
+   by 0x........: f191 (deep-backtrace.c:191)
+   by 0x........: f192 (deep-backtrace.c:192)
+   by 0x........: f193 (deep-backtrace.c:193)
+   by 0x........: f194 (deep-backtrace.c:194)
+   by 0x........: f195 (deep-backtrace.c:195)
+   by 0x........: f196 (deep-backtrace.c:196)
+   by 0x........: f197 (deep-backtrace.c:197)
+   by 0x........: f198 (deep-backtrace.c:198)
+   by 0x........: f199 (deep-backtrace.c:199)
+   by 0x........: f200 (deep-backtrace.c:200)
+   by 0x........: f201 (deep-backtrace.c:201)
+   by 0x........: f202 (deep-backtrace.c:202)
+   by 0x........: f203 (deep-backtrace.c:203)
+   by 0x........: f204 (deep-backtrace.c:204)
+   by 0x........: f205 (deep-backtrace.c:205)
+   by 0x........: f206 (deep-backtrace.c:206)
+   by 0x........: f207 (deep-backtrace.c:207)
+   by 0x........: f208 (deep-backtrace.c:208)
+   by 0x........: f209 (deep-backtrace.c:209)
+   by 0x........: f210 (deep-backtrace.c:210)
+   by 0x........: f211 (deep-backtrace.c:211)
+   by 0x........: f212 (deep-backtrace.c:212)
+   by 0x........: f213 (deep-backtrace.c:213)
+   by 0x........: f214 (deep-backtrace.c:214)
+   by 0x........: f215 (deep-backtrace.c:215)
+   by 0x........: f216 (deep-backtrace.c:216)
+   by 0x........: f217 (deep-backtrace.c:217)
+   by 0x........: f218 (deep-backtrace.c:218)
+   by 0x........: f219 (deep-backtrace.c:219)
+   by 0x........: f220 (deep-backtrace.c:220)
+   by 0x........: f221 (deep-backtrace.c:221)
+   by 0x........: f222 (deep-backtrace.c:222)
+   by 0x........: f223 (deep-backtrace.c:223)
+   by 0x........: f224 (deep-backtrace.c:224)
+   by 0x........: f225 (deep-backtrace.c:225)
+   by 0x........: f226 (deep-backtrace.c:226)
+   by 0x........: f227 (deep-backtrace.c:227)
+   by 0x........: f228 (deep-backtrace.c:228)
+   by 0x........: f229 (deep-backtrace.c:229)
+   by 0x........: f230 (deep-backtrace.c:230)
+   by 0x........: f231 (deep-backtrace.c:231)
+   by 0x........: f232 (deep-backtrace.c:232)
+   by 0x........: f233 (deep-backtrace.c:233)
+   by 0x........: f234 (deep-backtrace.c:234)
+   by 0x........: f235 (deep-backtrace.c:235)
+   by 0x........: f236 (deep-backtrace.c:236)
+   by 0x........: f237 (deep-backtrace.c:237)
+   by 0x........: f238 (deep-backtrace.c:238)
+   by 0x........: f239 (deep-backtrace.c:239)
+   by 0x........: f240 (deep-backtrace.c:240)
+   by 0x........: f241 (deep-backtrace.c:241)
+   by 0x........: f242 (deep-backtrace.c:242)
+   by 0x........: f243 (deep-backtrace.c:243)
+   by 0x........: f244 (deep-backtrace.c:244)
+   by 0x........: f245 (deep-backtrace.c:245)
+   by 0x........: f246 (deep-backtrace.c:246)
+   by 0x........: f247 (deep-backtrace.c:247)
+   by 0x........: f248 (deep-backtrace.c:248)
+   by 0x........: f249 (deep-backtrace.c:249)
+   by 0x........: f250 (deep-backtrace.c:250)
+   by 0x........: f251 (deep-backtrace.c:251)
+   by 0x........: f252 (deep-backtrace.c:252)
+   by 0x........: f253 (deep-backtrace.c:253)
+   by 0x........: f254 (deep-backtrace.c:254)
+   by 0x........: f255 (deep-backtrace.c:255)
+   by 0x........: f256 (deep-backtrace.c:256)
+   by 0x........: f257 (deep-backtrace.c:257)
+   by 0x........: f258 (deep-backtrace.c:258)
+   by 0x........: f259 (deep-backtrace.c:259)
+   by 0x........: f260 (deep-backtrace.c:260)
+   by 0x........: f261 (deep-backtrace.c:261)
+   by 0x........: f262 (deep-backtrace.c:262)
+   by 0x........: f263 (deep-backtrace.c:263)
+   by 0x........: f264 (deep-backtrace.c:264)
+   by 0x........: f265 (deep-backtrace.c:265)
+   by 0x........: f266 (deep-backtrace.c:266)
+   by 0x........: f267 (deep-backtrace.c:267)
+   by 0x........: f268 (deep-backtrace.c:268)
+   by 0x........: f269 (deep-backtrace.c:269)
+   by 0x........: f270 (deep-backtrace.c:270)
+   by 0x........: f271 (deep-backtrace.c:271)
+   by 0x........: f272 (deep-backtrace.c:272)
+   by 0x........: f273 (deep-backtrace.c:273)
+   by 0x........: f274 (deep-backtrace.c:274)
+   by 0x........: f275 (deep-backtrace.c:275)
+   by 0x........: f276 (deep-backtrace.c:276)
+   by 0x........: f277 (deep-backtrace.c:277)
+   by 0x........: f278 (deep-backtrace.c:278)
+   by 0x........: f279 (deep-backtrace.c:279)
+   by 0x........: f280 (deep-backtrace.c:280)
+   by 0x........: f281 (deep-backtrace.c:281)
+   by 0x........: f282 (deep-backtrace.c:282)
+   by 0x........: f283 (deep-backtrace.c:283)
+   by 0x........: f284 (deep-backtrace.c:284)
+   by 0x........: f285 (deep-backtrace.c:285)
+   by 0x........: f286 (deep-backtrace.c:286)
+   by 0x........: f287 (deep-backtrace.c:287)
+   by 0x........: f288 (deep-backtrace.c:288)
+   by 0x........: f289 (deep-backtrace.c:289)
+   by 0x........: f290 (deep-backtrace.c:290)
+   by 0x........: f291 (deep-backtrace.c:291)
+   by 0x........: f292 (deep-backtrace.c:292)
+   by 0x........: f293 (deep-backtrace.c:293)
+   by 0x........: f294 (deep-backtrace.c:294)
+   by 0x........: f295 (deep-backtrace.c:295)
+   by 0x........: f296 (deep-backtrace.c:296)
+   by 0x........: f297 (deep-backtrace.c:297)
+   by 0x........: f298 (deep-backtrace.c:298)
+   by 0x........: f299 (deep-backtrace.c:299)
+   by 0x........: f300 (deep-backtrace.c:300)
+   by 0x........: f301 (deep-backtrace.c:301)
+   by 0x........: f302 (deep-backtrace.c:302)
+   by 0x........: f303 (deep-backtrace.c:303)
+   by 0x........: f304 (deep-backtrace.c:304)
+   by 0x........: f305 (deep-backtrace.c:305)
+   by 0x........: f306 (deep-backtrace.c:306)
+   by 0x........: f307 (deep-backtrace.c:307)
+   by 0x........: f308 (deep-backtrace.c:308)
+   by 0x........: f309 (deep-backtrace.c:309)
+   by 0x........: f310 (deep-backtrace.c:310)
+   by 0x........: f311 (deep-backtrace.c:311)
+   by 0x........: f312 (deep-backtrace.c:312)
+   by 0x........: f313 (deep-backtrace.c:313)
+   by 0x........: f314 (deep-backtrace.c:314)
+   by 0x........: f315 (deep-backtrace.c:315)
+   by 0x........: f316 (deep-backtrace.c:316)
+   by 0x........: f317 (deep-backtrace.c:317)
+   by 0x........: f318 (deep-backtrace.c:318)
+   by 0x........: f319 (deep-backtrace.c:319)
+   by 0x........: f320 (deep-backtrace.c:320)
+   by 0x........: f321 (deep-backtrace.c:321)
+   by 0x........: f322 (deep-backtrace.c:322)
+   by 0x........: f323 (deep-backtrace.c:323)
+   by 0x........: f324 (deep-backtrace.c:324)
+   by 0x........: f325 (deep-backtrace.c:325)
+   by 0x........: f326 (deep-backtrace.c:326)
+   by 0x........: f327 (deep-backtrace.c:327)
+   by 0x........: f328 (deep-backtrace.c:328)
+   by 0x........: f329 (deep-backtrace.c:329)
+   by 0x........: f330 (deep-backtrace.c:330)
+   by 0x........: f331 (deep-backtrace.c:331)
+   by 0x........: f332 (deep-backtrace.c:332)
+   by 0x........: f333 (deep-backtrace.c:333)
+   by 0x........: f334 (deep-backtrace.c:334)
+   by 0x........: f335 (deep-backtrace.c:335)
+   by 0x........: f336 (deep-backtrace.c:336)
+   by 0x........: f337 (deep-backtrace.c:337)
+   by 0x........: f338 (deep-backtrace.c:338)
+   by 0x........: f339 (deep-backtrace.c:339)
+   by 0x........: f340 (deep-backtrace.c:340)
+   by 0x........: f341 (deep-backtrace.c:341)
+   by 0x........: f342 (deep-backtrace.c:342)
+   by 0x........: f343 (deep-backtrace.c:343)
+   by 0x........: f344 (deep-backtrace.c:344)
+   by 0x........: f345 (deep-backtrace.c:345)
+   by 0x........: f346 (deep-backtrace.c:346)
+   by 0x........: f347 (deep-backtrace.c:347)
+   by 0x........: f348 (deep-backtrace.c:348)
+   by 0x........: f349 (deep-backtrace.c:349)
+   by 0x........: f350 (deep-backtrace.c:350)
+   by 0x........: f351 (deep-backtrace.c:351)
+   by 0x........: f352 (deep-backtrace.c:352)
+   by 0x........: f353 (deep-backtrace.c:353)
+   by 0x........: f354 (deep-backtrace.c:354)
+   by 0x........: f355 (deep-backtrace.c:355)
+   by 0x........: f356 (deep-backtrace.c:356)
+   by 0x........: f357 (deep-backtrace.c:357)
+   by 0x........: f358 (deep-backtrace.c:358)
+   by 0x........: f359 (deep-backtrace.c:359)
+   by 0x........: f360 (deep-backtrace.c:360)
+   by 0x........: f361 (deep-backtrace.c:361)
+   by 0x........: f362 (deep-backtrace.c:362)
+   by 0x........: f363 (deep-backtrace.c:363)
+   by 0x........: f364 (deep-backtrace.c:364)
+   by 0x........: f365 (deep-backtrace.c:365)
+   by 0x........: f366 (deep-backtrace.c:366)
+   by 0x........: f367 (deep-backtrace.c:367)
+   by 0x........: f368 (deep-backtrace.c:368)
+   by 0x........: f369 (deep-backtrace.c:369)
+   by 0x........: f370 (deep-backtrace.c:370)
+   by 0x........: f371 (deep-backtrace.c:371)
+   by 0x........: f372 (deep-backtrace.c:372)
+   by 0x........: f373 (deep-backtrace.c:373)
+   by 0x........: f374 (deep-backtrace.c:374)
+   by 0x........: f375 (deep-backtrace.c:375)
+   by 0x........: f376 (deep-backtrace.c:376)
+   by 0x........: f377 (deep-backtrace.c:377)
+   by 0x........: f378 (deep-backtrace.c:378)
+   by 0x........: f379 (deep-backtrace.c:379)
+   by 0x........: f380 (deep-backtrace.c:380)
+   by 0x........: f381 (deep-backtrace.c:381)
+   by 0x........: f382 (deep-backtrace.c:382)
+   by 0x........: f383 (deep-backtrace.c:383)
+   by 0x........: f384 (deep-backtrace.c:384)
+   by 0x........: f385 (deep-backtrace.c:385)
+   by 0x........: f386 (deep-backtrace.c:386)
+   by 0x........: f387 (deep-backtrace.c:387)
+   by 0x........: f388 (deep-backtrace.c:388)
+   by 0x........: f389 (deep-backtrace.c:389)
+   by 0x........: f390 (deep-backtrace.c:390)
+   by 0x........: f391 (deep-backtrace.c:391)
+   by 0x........: f392 (deep-backtrace.c:392)
+   by 0x........: f393 (deep-backtrace.c:393)
+   by 0x........: f394 (deep-backtrace.c:394)
+   by 0x........: f395 (deep-backtrace.c:395)
+   by 0x........: f396 (deep-backtrace.c:396)
+   by 0x........: f397 (deep-backtrace.c:397)
+   by 0x........: f398 (deep-backtrace.c:398)
+   by 0x........: f399 (deep-backtrace.c:399)
+   by 0x........: f400 (deep-backtrace.c:400)
+   by 0x........: f401 (deep-backtrace.c:401)
+   by 0x........: f402 (deep-backtrace.c:402)
+   by 0x........: f403 (deep-backtrace.c:403)
+   by 0x........: f404 (deep-backtrace.c:404)
+   by 0x........: f405 (deep-backtrace.c:405)
+   by 0x........: f406 (deep-backtrace.c:406)
+   by 0x........: f407 (deep-backtrace.c:407)
+   by 0x........: f408 (deep-backtrace.c:408)
+   by 0x........: f409 (deep-backtrace.c:409)
+   by 0x........: f410 (deep-backtrace.c:410)
+   by 0x........: f411 (deep-backtrace.c:411)
+   by 0x........: f412 (deep-backtrace.c:412)
+   by 0x........: f413 (deep-backtrace.c:413)
+   by 0x........: f414 (deep-backtrace.c:414)
+   by 0x........: f415 (deep-backtrace.c:415)
+   by 0x........: f416 (deep-backtrace.c:416)
+   by 0x........: f417 (deep-backtrace.c:417)
+   by 0x........: f418 (deep-backtrace.c:418)
+   by 0x........: f419 (deep-backtrace.c:419)
+   by 0x........: f420 (deep-backtrace.c:420)
+   by 0x........: f421 (deep-backtrace.c:421)
+   by 0x........: f422 (deep-backtrace.c:422)
+   by 0x........: f423 (deep-backtrace.c:423)
+   by 0x........: f424 (deep-backtrace.c:424)
+   by 0x........: f425 (deep-backtrace.c:425)
+   by 0x........: f426 (deep-backtrace.c:426)
+   by 0x........: f427 (deep-backtrace.c:427)
+   by 0x........: f428 (deep-backtrace.c:428)
+   by 0x........: f429 (deep-backtrace.c:429)
+   by 0x........: f430 (deep-backtrace.c:430)
+   by 0x........: f431 (deep-backtrace.c:431)
+   by 0x........: f432 (deep-backtrace.c:432)
+   by 0x........: f433 (deep-backtrace.c:433)
+   by 0x........: f434 (deep-backtrace.c:434)
+   by 0x........: f435 (deep-backtrace.c:435)
+   by 0x........: f436 (deep-backtrace.c:436)
+   by 0x........: f437 (deep-backtrace.c:437)
+   by 0x........: f438 (deep-backtrace.c:438)
+   by 0x........: f439 (deep-backtrace.c:439)
+   by 0x........: f440 (deep-backtrace.c:440)
+   by 0x........: f441 (deep-backtrace.c:441)
+   by 0x........: f442 (deep-backtrace.c:442)
+   by 0x........: f443 (deep-backtrace.c:443)
+   by 0x........: f444 (deep-backtrace.c:444)
+   by 0x........: f445 (deep-backtrace.c:445)
+   by 0x........: f446 (deep-backtrace.c:446)
+   by 0x........: f447 (deep-backtrace.c:447)
+   by 0x........: f448 (deep-backtrace.c:448)
+   by 0x........: f449 (deep-backtrace.c:449)
+   by 0x........: f450 (deep-backtrace.c:450)
+   by 0x........: f451 (deep-backtrace.c:451)
+   by 0x........: f452 (deep-backtrace.c:452)
+   by 0x........: f453 (deep-backtrace.c:453)
+   by 0x........: f454 (deep-backtrace.c:454)
+   by 0x........: f455 (deep-backtrace.c:455)
+   by 0x........: f456 (deep-backtrace.c:456)
+   by 0x........: f457 (deep-backtrace.c:457)
+   by 0x........: f458 (deep-backtrace.c:458)
+   by 0x........: f459 (deep-backtrace.c:459)
+   by 0x........: f460 (deep-backtrace.c:460)
+   by 0x........: f461 (deep-backtrace.c:461)
+   by 0x........: f462 (deep-backtrace.c:462)
+   by 0x........: f463 (deep-backtrace.c:463)
+   by 0x........: f464 (deep-backtrace.c:464)
+   by 0x........: f465 (deep-backtrace.c:465)
+   by 0x........: f466 (deep-backtrace.c:466)
+   by 0x........: f467 (deep-backtrace.c:467)
+   by 0x........: f468 (deep-backtrace.c:468)
+   by 0x........: f469 (deep-backtrace.c:469)
+   by 0x........: f470 (deep-backtrace.c:470)
+   by 0x........: f471 (deep-backtrace.c:471)
+   by 0x........: f472 (deep-backtrace.c:472)
+   by 0x........: f473 (deep-backtrace.c:473)
+   by 0x........: f474 (deep-backtrace.c:474)
+   by 0x........: f475 (deep-backtrace.c:475)
+   by 0x........: f476 (deep-backtrace.c:476)
+   by 0x........: f477 (deep-backtrace.c:477)
+   by 0x........: f478 (deep-backtrace.c:478)
+   by 0x........: f479 (deep-backtrace.c:479)
+   by 0x........: f480 (deep-backtrace.c:480)
+   by 0x........: f481 (deep-backtrace.c:481)
+   by 0x........: f482 (deep-backtrace.c:482)
+   by 0x........: f483 (deep-backtrace.c:483)
+   by 0x........: f484 (deep-backtrace.c:484)
+   by 0x........: f485 (deep-backtrace.c:485)
+   by 0x........: f486 (deep-backtrace.c:486)
+   by 0x........: f487 (deep-backtrace.c:487)
+   by 0x........: f488 (deep-backtrace.c:488)
+   by 0x........: f489 (deep-backtrace.c:489)
+   by 0x........: f490 (deep-backtrace.c:490)
+   by 0x........: f491 (deep-backtrace.c:491)
+   by 0x........: f492 (deep-backtrace.c:492)
+   by 0x........: f493 (deep-backtrace.c:493)
+   by 0x........: f494 (deep-backtrace.c:494)
+   by 0x........: f495 (deep-backtrace.c:495)
+   by 0x........: f496 (deep-backtrace.c:496)
+   by 0x........: f497 (deep-backtrace.c:497)
+   by 0x........: f498 (deep-backtrace.c:498)
+   by 0x........: main (deep-backtrace.c:499)
+ If you believe this happened as a result of a stack
+ overflow in your program's main thread (unlikely but
+ possible), you can try to increase the size of the
+ main thread stack using the --main-stacksize= flag.
+ The main thread stack size used in this run was ....
diff --git a/memcheck/tests/deep-backtrace.vgtest b/memcheck/tests/deep-backtrace.vgtest
new file mode 100644
index 0000000..ebeccf9
--- /dev/null
+++ b/memcheck/tests/deep-backtrace.vgtest
@@ -0,0 +1,2 @@
+prog: deep-backtrace
+vgopts: -q --num-callers=500
diff --git a/memcheck/tests/dw4.c b/memcheck/tests/dw4.c
new file mode 100644
index 0000000..8aac54d
--- /dev/null
+++ b/memcheck/tests/dw4.c
@@ -0,0 +1,54 @@
+
+/* Check of variable location identification when using .debug_types.  */
+
+/* Relevant compile flags are:
+
+   -Wall -g -I$prefix/include/valgrind -gdwarf-4 -fdebug-types-section
+
+   eg -Wall -g -I`pwd`/Inst/include/valgrind -gdwarf-4 -fdebug-types-section
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include "memcheck/memcheck.h"
+
+/* Cause memcheck to complain about the address "a" and so to print
+   its best guess as to what "a" actually is.  a must be
+   addressible. */
+
+void croak ( void* aV )
+{
+  char* a = (char*)aV;
+  char* undefp = malloc(1);
+  char saved = *a;
+  assert(undefp);
+  *a = *undefp;
+  VALGRIND_CHECK_MEM_IS_DEFINED(a, 1);
+  *a = saved;
+  free(undefp);
+}
+
+struct s1
+{
+  char c;
+  short s;
+  int i;
+  long l;
+  float f;
+  double d;
+};
+
+struct s1 S2[30];
+
+int main ( void )
+{
+  struct s1 local;
+  struct s1* onheap = malloc(sizeof (struct s1));
+  assert(onheap);
+  croak(&onheap->i);
+
+  croak( &S2[0].i );
+  croak( &local.i );
+  return 0;
+}
diff --git a/memcheck/tests/dw4.stderr.exp b/memcheck/tests/dw4.stderr.exp
new file mode 100644
index 0000000..192ad0e
--- /dev/null
+++ b/memcheck/tests/dw4.stderr.exp
@@ -0,0 +1,19 @@
+Uninitialised byte(s) found during client check request
+   at 0x........: croak (dw4.c:27)
+   by 0x........: main (dw4.c:49)
+ Address 0x........ is 4 bytes inside a block of size 32 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (dw4.c:47)
+
+Uninitialised byte(s) found during client check request
+   at 0x........: croak (dw4.c:27)
+   by 0x........: main (dw4.c:51)
+ Location 0x........ is 0 bytes inside S2[0].i,
+ a global variable declared at dw4.c:42
+
+Uninitialised byte(s) found during client check request
+   at 0x........: croak (dw4.c:27)
+   by 0x........: main (dw4.c:52)
+ Location 0x........ is 0 bytes inside local.i,
+ declared at dw4.c:46, in frame #1 of thread 1
+
diff --git a/memcheck/tests/dw4.stdout.exp b/memcheck/tests/dw4.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/dw4.stdout.exp
diff --git a/memcheck/tests/dw4.vgtest b/memcheck/tests/dw4.vgtest
new file mode 100644
index 0000000..e904dbd
--- /dev/null
+++ b/memcheck/tests/dw4.vgtest
@@ -0,0 +1,3 @@
+prereq: test -e dw4
+prog: dw4
+vgopts: --read-var-info=yes -q
diff --git a/memcheck/tests/filter_memcpy b/memcheck/tests/filter_memcpy
new file mode 100755
index 0000000..737304c
--- /dev/null
+++ b/memcheck/tests/filter_memcpy
@@ -0,0 +1,8 @@
+#! /bin/sh
+
+# mc_replace_strmem.c intercepts various memcpy glibc versions.
+# mc_replace_strmem.c str[n]cpy and __GI_str[n]cpy are the same.
+./filter_stderr "$@" |
+perl -p -e "s/: memcpy\@\@?GLIBC_[.1-9]+ \(mc_replace_strmem.c:...\)/: memcpy \(mc_replace_strmem.c:...\)/" |
+sed -e "s/: __GI_strcpy (mc_replace_strmem.c:/: strcpy (mc_replace_strmem.c:/" |
+sed -e "s/: __GI_strncpy (mc_replace_strmem.c:/: strncpy (mc_replace_strmem.c:/"
diff --git a/memcheck/tests/filter_stderr b/memcheck/tests/filter_stderr
index abd6792..3d62d94 100755
--- a/memcheck/tests/filter_stderr
+++ b/memcheck/tests/filter_stderr
@@ -22,6 +22,9 @@
 # records.  So we filter out the loss record numbers.
 perl -p -e "s/in loss record \d+ of \d+/in loss record ... of .../" |
 
+# Filter out glibc debuginfo if installed.
+perl -p -e "s/\(syscall-template.S:[0-9]*\)/(in \/...libc...)/" |
+
 $dir/../../memcheck/tests/filter_memcheck "$@"
 
 exit 0
diff --git a/memcheck/tests/filter_strchr b/memcheck/tests/filter_strchr
new file mode 100755
index 0000000..ed5b8c4
--- /dev/null
+++ b/memcheck/tests/filter_strchr
@@ -0,0 +1,8 @@
+#! /bin/sh
+
+# mc_replace_strmem.c [r]index and [__GI_]str[r]chr are the same.
+./filter_stderr "$@" |
+sed -e "s/: __GI_strchr (mc_replace_strmem.c:/: strchr (mc_replace_strmem.c:/" |
+sed -e "s/: strchr (mc_replace_strmem.c:/: index (mc_replace_strmem.c:/" |
+sed -e "s/: __GI_strrchr (mc_replace_strmem.c:/: strrchr (mc_replace_strmem.c:/" |
+sed -e "s/: strrchr (mc_replace_strmem.c:/: rindex (mc_replace_strmem.c:/"
diff --git a/memcheck/tests/leak-segv-jmp.c b/memcheck/tests/leak-segv-jmp.c
new file mode 100644
index 0000000..8856419
--- /dev/null
+++ b/memcheck/tests/leak-segv-jmp.c
@@ -0,0 +1,226 @@
+#define _GNU_SOURCE
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include "../memcheck.h"
+#include "leak.h"
+#include <sys/mman.h>
+#include <sys/syscall.h>
+
+typedef unsigned long          UWord;
+extern UWord do_syscall_WRK (UWord syscall_no, 
+                             UWord a1, UWord a2, UWord a3,
+                             UWord a4, UWord a5, UWord a6
+                             );
+// Below code is copied from m_syscall.c
+// Refer to this file for syscall convention.
+#if defined(VGP_x86_linux)
+asm(
+".text\n"
+".globl do_syscall_WRK\n"
+"do_syscall_WRK:\n"
+"	push	%esi\n"
+"	push	%edi\n"
+"	push	%ebx\n"
+"	push	%ebp\n"
+"	movl	16+ 4(%esp),%eax\n"
+"	movl	16+ 8(%esp),%ebx\n"
+"	movl	16+12(%esp),%ecx\n"
+"	movl	16+16(%esp),%edx\n"
+"	movl	16+20(%esp),%esi\n"
+"	movl	16+24(%esp),%edi\n"
+"	movl	16+28(%esp),%ebp\n"
+"	int	$0x80\n"
+"	popl	%ebp\n"
+"	popl	%ebx\n"
+"	popl	%edi\n"
+"	popl	%esi\n"
+"	ret\n"
+".previous\n"
+);
+#elif defined(VGP_amd64_linux)
+extern UWord do_syscall_WRK (
+          UWord syscall_no, 
+          UWord a1, UWord a2, UWord a3,
+          UWord a4, UWord a5, UWord a6
+       );
+asm(
+".text\n"
+".globl do_syscall_WRK\n"
+"do_syscall_WRK:\n"
+"	movq	%rdi, %rax\n"
+"	movq	%rsi, %rdi\n"
+"	movq	%rdx, %rsi\n"
+"	movq	%rcx, %rdx\n"
+"	movq	%r8,  %r10\n"
+"	movq	%r9,  %r8\n"
+"	movq    8(%rsp), %r9\n"	 /* last arg from stack */
+"	syscall\n"
+"	ret\n"
+".previous\n"
+);
+
+#elif defined(VGP_ppc32_linux)
+extern ULong do_syscall_WRK (
+          UWord syscall_no, 
+          UWord a1, UWord a2, UWord a3,
+          UWord a4, UWord a5, UWord a6
+       );
+asm(
+".text\n"
+".globl do_syscall_WRK\n"
+"do_syscall_WRK:\n"
+"        mr      0,3\n"
+"        mr      3,4\n"
+"        mr      4,5\n"
+"        mr      5,6\n"
+"        mr      6,7\n"
+"        mr      7,8\n"
+"        mr      8,9\n"
+"        sc\n"                  /* syscall: sets %cr0.so on error         */
+"        mfcr    4\n"           /* %cr -> low word of return var          */
+"        rlwinm  4,4,4,31,31\n" /* rotate flag bit so to lsb, and mask it */
+"        blr\n"                 /* and return                             */
+".previous\n"
+);
+
+#elif defined(VGP_arm_linux)
+extern UWord do_syscall_WRK (
+          UWord a1, UWord a2, UWord a3,
+          UWord a4, UWord a5, UWord a6,
+          UWord syscall_no
+       );
+asm(
+".text\n"
+".globl do_syscall_WRK\n"
+"do_syscall_WRK:\n"
+"         push    {r4, r5, r7}\n"
+"         ldr     r4, [sp, #12]\n"
+"         ldr     r5, [sp, #16]\n"
+"         ldr     r7, [sp, #20]\n"
+"         svc     0x0\n"
+"         pop     {r4, r5, r7}\n"
+"         bx      lr\n"
+".previous\n"
+);
+#elif defined(VGP_s390x_linux)
+typedef  unsigned long long int   ULong;
+UWord do_syscall_WRK (
+   UWord syscall_no,
+   UWord arg1, UWord arg2, UWord arg3,
+   UWord arg4, UWord arg5, UWord arg6
+   )
+{
+   register UWord __arg1 asm("2") = arg1;
+   register UWord __arg2 asm("3") = arg2;
+   register UWord __arg3 asm("4") = arg3;
+   register UWord __arg4 asm("5") = arg4;
+   register UWord __arg5 asm("6") = arg5;
+   register UWord __arg6 asm("7") = arg6;
+   register ULong __svcres asm("2");
+
+   __asm__ __volatile__ (
+                 "lgr %%r1,%1\n\t"
+                 "svc 0\n\t"
+		: "=d" (__svcres)
+		: "a" (syscall_no),
+		  "0" (__arg1),
+		  "d" (__arg2),
+		  "d" (__arg3),
+		  "d" (__arg4),
+		  "d" (__arg5),
+		  "d" (__arg6)
+		: "1", "cc", "memory");
+
+   return (UWord) (__svcres);
+}
+
+#else
+// Ensure the file compiles even if the syscall nr is not defined.
+#ifndef __NR_mprotect
+#define __NR_mprotect 0
+#endif
+UWord do_syscall_WRK (UWord syscall_no, 
+                      UWord a1, UWord a2, UWord a3,
+                      UWord a4, UWord a5, UWord a6
+                      )
+{
+   // not implemented. vgtest prereq should avoid this to be called.
+   return -1;
+}
+#endif
+
+
+
+char **b10;
+int mprotect_result = 0;
+static void non_simd_mprotect (long tid, void* addr, long len)
+{
+   mprotect_result = do_syscall_WRK(__NR_mprotect,
+                                    (UWord) addr, len, PROT_NONE,
+                                    0, 0, 0);
+}
+
+void f(void)
+{
+   long pagesize;
+#define RNDPAGEDOWN(a) ((long)a & ~(pagesize-1))
+
+   b10 = malloc ((10000 * 4)/sizeof(char*) * sizeof(char*));
+
+   b10[4000] = malloc (1000);
+   
+   fprintf(stderr, "expecting no leaks\n");
+   fflush(stderr);
+   VALGRIND_DO_LEAK_CHECK;
+
+   // make b10[4000] undefined. This should create a leak.
+   VALGRIND_MAKE_MEM_UNDEFINED (&b10[4000], sizeof(char*));
+   fprintf(stderr, "expecting a leak\n");
+   fflush(stderr);
+   VALGRIND_DO_LEAK_CHECK;
+
+   // make  b10[4000] defined again.
+   VALGRIND_MAKE_MEM_DEFINED (&b10[4000], sizeof(char*));
+
+   // now make some bricolage to have some pages around b10[4000]
+   // unreadable. The leak check should recover from that
+   // thanks to a SEGV handler and a setjmp/longjmp.
+   // This setjmp/longjmp is useful if there is a desync between
+   // the aspacemgr and the real pages mapping.
+   // To have such a discrepancy, we resort on a non SIMD call
+   // to mprotect the pages : as this syscall will not be seen
+   // by Valgrind core, the aspacemgr will not get a chance
+   // to stay synchronised.
+   pagesize = sysconf(_SC_PAGE_SIZE);
+   if (pagesize == -1)
+      perror ("sysconf failed");
+   
+   if (RUNNING_ON_VALGRIND)
+      VALGRIND_NON_SIMD_CALL2(non_simd_mprotect, RNDPAGEDOWN(&b10[4000]), 2 * pagesize);
+   else
+      mprotect_result = mprotect((void*) RNDPAGEDOWN(&b10[4000]), 2 * pagesize, PROT_NONE);
+   fprintf(stderr, "mprotect result %d\n", mprotect_result);
+
+   fprintf(stderr, "expecting a leak again\n");
+   fflush(stderr);
+   VALGRIND_DO_LEAK_CHECK;
+
+   fprintf(stderr, "finished\n");
+}
+
+int main(void)
+{
+   DECLARE_LEAK_COUNTERS;
+
+   GET_INITIAL_LEAK_COUNTS;
+
+   f();   // see leak-cases.c
+
+
+   GET_FINAL_LEAK_COUNTS;
+
+   PRINT_LEAK_COUNTS(stderr);
+
+   return 0;
+}
diff --git a/memcheck/tests/leak-segv-jmp.stderr.exp b/memcheck/tests/leak-segv-jmp.stderr.exp
new file mode 100644
index 0000000..4741204
--- /dev/null
+++ b/memcheck/tests/leak-segv-jmp.stderr.exp
@@ -0,0 +1,66 @@
+
+All heap blocks were freed -- no leaks are possible
+
+expecting no leaks
+LEAK SUMMARY:
+   definitely lost: 0 bytes in 0 blocks
+   indirectly lost: 0 bytes in 0 blocks
+     possibly lost: 0 bytes in 0 blocks
+   still reachable: 41,000 bytes in 2 blocks
+        suppressed: 0 bytes in 0 blocks
+Reachable blocks (those to which a pointer was found) are not shown.
+To see them, rerun with: --leak-check=full --show-leak-kinds=all
+
+expecting a leak
+1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: f (leak-segv-jmp.c:171)
+   by 0x........: main (leak-segv-jmp.c:218)
+
+LEAK SUMMARY:
+   definitely lost: 1,000 bytes in 1 blocks
+   indirectly lost: 0 bytes in 0 blocks
+     possibly lost: 0 bytes in 0 blocks
+   still reachable: 40,000 bytes in 1 blocks
+        suppressed: 0 bytes in 0 blocks
+Reachable blocks (those to which a pointer was found) are not shown.
+To see them, rerun with: --leak-check=full --show-leak-kinds=all
+
+mprotect result 0
+expecting a leak again
+1,000 bytes in 1 blocks are definitely lost in loss record ... of ...
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: f (leak-segv-jmp.c:171)
+   by 0x........: main (leak-segv-jmp.c:218)
+
+LEAK SUMMARY:
+   definitely lost: 1,000 bytes in 1 blocks
+   indirectly lost: 0 bytes in 0 blocks
+     possibly lost: 0 bytes in 0 blocks
+   still reachable: 40,000 bytes in 1 blocks
+        suppressed: 0 bytes in 0 blocks
+Reachable blocks (those to which a pointer was found) are not shown.
+To see them, rerun with: --leak-check=full --show-leak-kinds=all
+
+finished
+LEAK SUMMARY:
+   definitely lost: 1,000 bytes in 1 blocks
+   indirectly lost: 0 bytes in 0 blocks
+     possibly lost: 0 bytes in 0 blocks
+   still reachable: 40,000 bytes in 1 blocks
+        suppressed: 0 bytes in 0 blocks
+Rerun with --leak-check=full to see details of leaked memory
+
+leaked:     1000 bytes in  1 blocks
+dubious:      0 bytes in  0 blocks
+reachable:  40000 bytes in  1 blocks
+suppressed:   0 bytes in  0 blocks
+
+HEAP SUMMARY:
+    in use at exit: 41,000 bytes in 2 blocks
+  total heap usage: 2 allocs, 0 frees, 41,000 bytes allocated
+
+For a detailed leak analysis, rerun with: --leak-check=full
+
+For counts of detected and suppressed errors, rerun with: -v
+ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
diff --git a/memcheck/tests/leak-segv-jmp.vgtest b/memcheck/tests/leak-segv-jmp.vgtest
new file mode 100644
index 0000000..43cd6d0
--- /dev/null
+++ b/memcheck/tests/leak-segv-jmp.vgtest
@@ -0,0 +1,2 @@
+prereq: test ! `../../tests/os_test darwin` && ! `../../tests/arch_test mips32` && ! `../../tests/arch_test ppc64`
+prog: leak-segv-jmp
diff --git a/memcheck/tests/linux/Makefile.am b/memcheck/tests/linux/Makefile.am
index a76bdb6..9755f5c 100644
--- a/memcheck/tests/linux/Makefile.am
+++ b/memcheck/tests/linux/Makefile.am
@@ -8,27 +8,37 @@
 	capget.vgtest capget.stderr.exp capget.stderr.exp2 \
 	lsframe1.vgtest lsframe1.stdout.exp lsframe1.stderr.exp \
 	lsframe2.vgtest lsframe2.stdout.exp lsframe2.stderr.exp \
+	rfcomm.vgtest rfcomm.stderr.exp \
 	sigqueue.vgtest sigqueue.stderr.exp \
 	stack_changes.stderr.exp stack_changes.stdout.exp \
 	    stack_changes.stdout.exp2 stack_changes.vgtest \
 	stack_switch.stderr.exp stack_switch.vgtest \
 	syscalls-2007.vgtest syscalls-2007.stderr.exp \
 	syslog-syscall.vgtest syslog-syscall.stderr.exp \
+	sys-openat.vgtest sys-openat.stderr.exp sys-openat.stdout.exp \
 	timerfd-syscall.vgtest timerfd-syscall.stderr.exp \
-	with-space.stderr.exp with-space.stdout.exp with-space.vgtest
+	with-space.stderr.exp with-space.stdout.exp with-space.vgtest \
+	proc-auxv.vgtest proc-auxv.stderr.exp getregset.vgtest \
+	getregset.stderr.exp getregset.stdout.exp
 
 check_PROGRAMS = \
 	brk \
 	capget \
+	getregset \
 	lsframe1 \
 	lsframe2 \
+	rfcomm \
 	sigqueue \
 	stack_changes \
 	stack_switch \
 	syscalls-2007 \
 	syslog-syscall \
-	timerfd-syscall
+	timerfd-syscall \
+	proc-auxv
 
+if HAVE_AT_FDCWD
+check_PROGRAMS += sys-openat
+endif
 
 AM_CFLAGS   += $(AM_FLAG_M3264_PRI)
 AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
diff --git a/memcheck/tests/linux/getregset.c b/memcheck/tests/linux/getregset.c
new file mode 100644
index 0000000..3a67663
--- /dev/null
+++ b/memcheck/tests/linux/getregset.c
@@ -0,0 +1,76 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#include <assert.h>
+#include <elf.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <sys/ptrace.h>
+#include <sys/types.h>
+#include <sys/uio.h>
+#include <sys/user.h>
+#include <sys/wait.h>
+
+static int
+err_out(const char *msg)
+{
+   perror(msg);
+   return 1;
+}
+
+static int
+non_empty(const char *buf, size_t len)
+{
+   size_t i;
+   int c = 0;
+   volatile const char *p = buf;
+
+   for (i = 0; i != len; i++)
+      c |= p[i];
+   return c;
+}
+
+static int
+do_child(void)
+{
+   if (ptrace(PTRACE_TRACEME, 0, NULL, NULL) == -1)
+      return err_out("ptrace traceme");
+   raise(SIGUSR1);
+   return 0;
+}
+
+int
+main(void)
+{
+   char buf[1024];
+   struct iovec iov;
+   pid_t cpid, pid;
+   int status;
+
+   cpid = fork();
+   if (cpid == -1)
+      return err_out("fork");
+   if (cpid == 0)
+      return do_child();
+
+   pid = wait(&status);
+   if (pid == -1)
+      return err_out("wait");
+
+   /* Intentionally provide an uninitialized buffer to ptrace. */
+   iov.iov_len = sizeof(buf);
+   iov.iov_base = buf;
+   if (ptrace(0x4204, cpid, NT_PRSTATUS, &iov) == -1)
+      return err_out("ptrace getregset");
+
+   assert(iov.iov_base == buf);
+   assert(iov.iov_len > 0 && iov.iov_len < sizeof(buf));
+
+   /* We're assuming here that NT_PRSTATUS never contains
+      all-zeros. */
+   assert(non_empty(buf, iov.iov_len));
+   puts("OK");
+   return 0;
+}
diff --git a/memcheck/tests/linux/getregset.stderr.exp b/memcheck/tests/linux/getregset.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/linux/getregset.stderr.exp
diff --git a/memcheck/tests/linux/getregset.stdout.exp b/memcheck/tests/linux/getregset.stdout.exp
new file mode 100644
index 0000000..d86bac9
--- /dev/null
+++ b/memcheck/tests/linux/getregset.stdout.exp
@@ -0,0 +1 @@
+OK
diff --git a/memcheck/tests/linux/getregset.vgtest b/memcheck/tests/linux/getregset.vgtest
new file mode 100644
index 0000000..c6e318a
--- /dev/null
+++ b/memcheck/tests/linux/getregset.vgtest
@@ -0,0 +1,4 @@
+prog: getregset
+vgopts: -q
+prereq: ../../../tests/os_test linux 2.6.33 && ! ../../../tests/arch_test mips32
+
diff --git a/memcheck/tests/linux/proc-auxv.c b/memcheck/tests/linux/proc-auxv.c
new file mode 100644
index 0000000..e037cdd
--- /dev/null
+++ b/memcheck/tests/linux/proc-auxv.c
@@ -0,0 +1,62 @@
+#include <elf.h>
+#include <link.h>
+#include <stdio.h>
+#include <stddef.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+int
+main (int argc, char **argv, char **envp)
+{
+  ElfW(auxv_t) auxv;
+  ElfW(auxv_t) *auxv_p;
+
+  void *entry0 = NULL;
+  void *entry1 = NULL;
+
+  char *platform0 = NULL;
+  char *platform1 = NULL;
+
+  // First try the "traditional" way.
+  while (*envp++ != NULL)
+    ; /* Skip, skip, skip... and after finding a NULL we have the auxv. */
+
+  for (auxv_p = (ElfW(auxv_t) *) envp;
+       auxv_p->a_type != AT_NULL;
+       auxv_p++)
+    {
+      if (auxv_p->a_type == AT_ENTRY)
+	entry0 = (void *) auxv_p->a_un.a_val;
+      if (auxv_p->a_type == AT_PLATFORM)
+	platform0 = strdup((char *) auxv_p->a_un.a_val);
+    }
+
+  // Now the /proc way as often used in libraries.
+  int fd = open("/proc/self/auxv", O_RDONLY);
+  if (fd == -1)
+    return -1;
+
+  while (read(fd, &auxv, sizeof(auxv)) == sizeof(auxv))
+    {
+      if (auxv.a_type == AT_ENTRY)
+	entry1 = (void *) auxv.a_un.a_val;
+      if (auxv.a_type == AT_PLATFORM)
+	platform1 = strdup((char *) auxv.a_un.a_val);
+    }
+  close(fd);
+
+  if (entry0 == entry1 && entry0 != NULL)
+    fprintf(stderr, "entries OK\n");
+
+  if (strcmp (platform0, platform1) == 0)
+    fprintf(stderr, "platform OK\n");
+
+  free (platform0);
+  free (platform1);
+
+  return 0;
+}
diff --git a/memcheck/tests/linux/proc-auxv.stderr.exp b/memcheck/tests/linux/proc-auxv.stderr.exp
new file mode 100644
index 0000000..2a761f5
--- /dev/null
+++ b/memcheck/tests/linux/proc-auxv.stderr.exp
@@ -0,0 +1,2 @@
+entries OK
+platform OK
diff --git a/memcheck/tests/linux/proc-auxv.vgtest b/memcheck/tests/linux/proc-auxv.vgtest
new file mode 100644
index 0000000..4d337b0
--- /dev/null
+++ b/memcheck/tests/linux/proc-auxv.vgtest
@@ -0,0 +1,3 @@
+prereq: `LD_SHOW_AUXV=1 /bin/echo | grep AT_PLATFORM > /dev/null`
+prog: proc-auxv
+vgopts: -q
diff --git a/memcheck/tests/linux/rfcomm.c b/memcheck/tests/linux/rfcomm.c
new file mode 100644
index 0000000..02dcd7e
--- /dev/null
+++ b/memcheck/tests/linux/rfcomm.c
@@ -0,0 +1,54 @@
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+
+/* user space headers might not be there, define things ourselves. */
+typedef struct {
+   uint8_t b[6];
+} __attribute__((packed)) vui_bdaddr_t;
+
+struct vui_sockaddr_rc {
+	sa_family_t	rc_family;
+	vui_bdaddr_t	rc_bdaddr;
+	uint8_t		rc_channel;
+};
+
+#define VUI_AF_BLUETOOTH 31
+#define VUI_BTPROTO_RFCOMM 3
+
+#define VUI_BDADDR_ANY (&(vui_bdaddr_t) {{0, 0, 0, 0, 0, 0}})
+
+int
+main (int argc, char **argv)
+{
+  int nSocket;
+
+  nSocket = socket(VUI_AF_BLUETOOTH, SOCK_STREAM, VUI_BTPROTO_RFCOMM);
+
+  if (nSocket < 0)
+    {
+      // Not supported, nothing to test...
+      return 1;
+    }
+
+  struct vui_sockaddr_rc aAddr;
+  // Ignore return values.
+
+  // Missing family
+  bind(nSocket, (struct sockaddr *) &aAddr, sizeof(aAddr));
+
+  aAddr.rc_family = VUI_AF_BLUETOOTH;
+  // Missing bdaddr.
+  bind(nSocket, (struct sockaddr *) &aAddr, sizeof(aAddr));
+
+  aAddr.rc_bdaddr = *VUI_BDADDR_ANY;
+  // Missing channel.
+  bind(nSocket, (struct sockaddr *) &aAddr, sizeof(aAddr));
+
+  aAddr.rc_channel = 5;
+  bind(nSocket, (struct sockaddr *) &aAddr, sizeof(aAddr));
+
+  return 0;
+}
diff --git a/memcheck/tests/linux/rfcomm.stderr.exp b/memcheck/tests/linux/rfcomm.stderr.exp
new file mode 100644
index 0000000..4df935b
--- /dev/null
+++ b/memcheck/tests/linux/rfcomm.stderr.exp
@@ -0,0 +1,21 @@
+Syscall param socketcall.bind(my_addr.sa_family) points to uninitialised byte(s)
+   ...
+   by 0x........: main (rfcomm.c:40)
+ Address 0x........ is on thread 1's stack
+ Uninitialised value was created by a stack allocation
+   at 0x........: main (rfcomm.c:25)
+
+Syscall param socketcall.bind(my_addr.rc_bdaddr) points to uninitialised byte(s)
+   ...
+   by 0x........: main (rfcomm.c:44)
+ Address 0x........ is on thread 1's stack
+ Uninitialised value was created by a stack allocation
+   at 0x........: main (rfcomm.c:25)
+
+Syscall param socketcall.bind(my_addr.rc_channel) points to uninitialised byte(s)
+   ...
+   by 0x........: main (rfcomm.c:48)
+ Address 0x........ is on thread 1's stack
+ Uninitialised value was created by a stack allocation
+   at 0x........: main (rfcomm.c:25)
+
diff --git a/memcheck/tests/linux/rfcomm.vgtest b/memcheck/tests/linux/rfcomm.vgtest
new file mode 100644
index 0000000..490aef4
--- /dev/null
+++ b/memcheck/tests/linux/rfcomm.vgtest
@@ -0,0 +1,5 @@
+prog: rfcomm
+vgopts: -q --track-origins=yes
+
+# Will exit -1 if AF_BLUETOOTH not supported
+prereq: ./rfcomm
diff --git a/memcheck/tests/linux/sys-openat.c b/memcheck/tests/linux/sys-openat.c
new file mode 100644
index 0000000..cbb02f4
--- /dev/null
+++ b/memcheck/tests/linux/sys-openat.c
@@ -0,0 +1,19 @@
+
+/* The bug that gave rise to this is
+   https://bugs.kde.org/show_bug.cgi?id=307103
+*/
+
+#define _GNU_SOURCE
+#include <fcntl.h>
+#include <unistd.h>
+int main (void)
+{ 
+  int dfd = open ("/tmp", O_RDONLY);
+  __attribute__((unused)) int fd1 = openat (dfd, "abc", O_RDONLY); 
+  /* This is fine, absolute path. */ 
+  __attribute__((unused)) int fd2 = openat (0x12345678, "/tmp/abc", O_RDONLY); 
+  __attribute__((unused)) int fd3 = openat (AT_FDCWD, "abc", O_RDONLY); 
+  /* This is the only one that should warn. */ 
+  __attribute__((unused)) int fd4 = openat (0x12345678, "abc", O_RDONLY); 
+  return 0;
+} 
diff --git a/memcheck/tests/linux/sys-openat.stderr.exp b/memcheck/tests/linux/sys-openat.stderr.exp
new file mode 100644
index 0000000..b36e7ca
--- /dev/null
+++ b/memcheck/tests/linux/sys-openat.stderr.exp
@@ -0,0 +1,11 @@
+
+Warning: invalid file descriptor 305419896 in syscall openat()
+
+HEAP SUMMARY:
+    in use at exit: 0 bytes in 0 blocks
+  total heap usage: 0 allocs, 0 frees, 0 bytes allocated
+
+For a detailed leak analysis, rerun with: --leak-check=full
+
+For counts of detected and suppressed errors, rerun with: -v
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/memcheck/tests/linux/sys-openat.stdout.exp b/memcheck/tests/linux/sys-openat.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/linux/sys-openat.stdout.exp
diff --git a/memcheck/tests/linux/sys-openat.vgtest b/memcheck/tests/linux/sys-openat.vgtest
new file mode 100644
index 0000000..03c8fda
--- /dev/null
+++ b/memcheck/tests/linux/sys-openat.vgtest
@@ -0,0 +1,2 @@
+prereq: test -e ./sys-openat
+prog: sys-openat
diff --git a/memcheck/tests/lks.stderr.exp b/memcheck/tests/lks.stderr.exp
new file mode 100644
index 0000000..8a52913
--- /dev/null
+++ b/memcheck/tests/lks.stderr.exp
@@ -0,0 +1,61 @@
+
+All heap blocks were freed -- no leaks are possible
+
+LEAK SUMMARY:
+   definitely lost: 48 bytes in 3 blocks
+   indirectly lost: 32 bytes in 2 blocks
+     possibly lost: 0 bytes in 0 blocks
+   still reachable: 64 bytes in 4 blocks
+        suppressed: 96 bytes in 6 blocks
+Rerun with --leak-check=full to see details of leaked memory
+
+leaked:      80 bytes in  5 blocks
+dubious:      0 bytes in  0 blocks
+reachable:   64 bytes in  4 blocks
+suppressed:  96 bytes in  6 blocks
+
+HEAP SUMMARY:
+    in use at exit: 240 bytes in 15 blocks
+  total heap usage: 15 allocs, 0 frees, 240 bytes allocated
+
+16 bytes in 1 blocks are indirectly lost in loss record ... of ...
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: mk (leak-cases.c:52)
+   by 0x........: f (leak-cases.c:76)
+   by 0x........: main (leak-cases.c:107)
+
+16 bytes in 1 blocks are indirectly lost in loss record ... of ...
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: mk (leak-cases.c:52)
+   by 0x........: f (leak-cases.c:91)
+   by 0x........: main (leak-cases.c:107)
+
+16 bytes in 1 blocks are definitely lost in loss record ... of ...
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: mk (leak-cases.c:52)
+   by 0x........: f (leak-cases.c:74)
+   by 0x........: main (leak-cases.c:107)
+
+32 (16 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record ... of ...
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: mk (leak-cases.c:52)
+   by 0x........: f (leak-cases.c:76)
+   by 0x........: main (leak-cases.c:107)
+
+32 (16 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record ... of ...
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: mk (leak-cases.c:52)
+   by 0x........: f (leak-cases.c:91)
+   by 0x........: main (leak-cases.c:107)
+
+LEAK SUMMARY:
+   definitely lost: 48 bytes in 3 blocks
+   indirectly lost: 32 bytes in 2 blocks
+     possibly lost: 0 bytes in 0 blocks
+   still reachable: 64 bytes in 4 blocks
+        suppressed: 96 bytes in 6 blocks
+Reachable blocks (those to which a pointer was found) are not shown.
+To see them, rerun with: --leak-check=full --show-leak-kinds=all
+
+For counts of detected and suppressed errors, rerun with: -v
+ERROR SUMMARY: 3 errors from 3 contexts (suppressed: 0 from 0)
diff --git a/memcheck/tests/lks.stdout.exp b/memcheck/tests/lks.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/lks.stdout.exp
diff --git a/memcheck/tests/lks.supp b/memcheck/tests/lks.supp
new file mode 100644
index 0000000..e7ac288
--- /dev/null
+++ b/memcheck/tests/lks.supp
@@ -0,0 +1,9 @@
+{
+   lks_suppress_only_possible
+   Memcheck:Leak
+   match-leak-kinds: possible
+   fun:malloc
+   fun:mk
+   fun:f
+   fun:main
+}
diff --git a/memcheck/tests/lks.vgtest b/memcheck/tests/lks.vgtest
new file mode 100644
index 0000000..49f2134
--- /dev/null
+++ b/memcheck/tests/lks.vgtest
@@ -0,0 +1,4 @@
+# verify leak-kind-set in arguments and suppressions
+prog: leak-cases
+vgopts: --leak-check=full --show-leak-kinds=definite,possible,indirect --errors-for-leak-kinds=definite,possible --suppressions=lks.supp
+stderr_filter_args: leak-cases.c
diff --git a/memcheck/tests/malloc1_ks_alloc.stderr.exp b/memcheck/tests/malloc1_ks_alloc.stderr.exp
new file mode 100644
index 0000000..b55c684
--- /dev/null
+++ b/memcheck/tests/malloc1_ks_alloc.stderr.exp
@@ -0,0 +1,14 @@
+Invalid write of size 1
+   ...
+ Address 0x........ is 1 bytes inside a block of size 10 free'd
+   ...
+  block was alloc'd at
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   ...
+
+Invalid write of size 1
+   ...
+ Address 0x........ is 1 bytes before a block of size 10 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   ...
+
diff --git a/memcheck/tests/malloc1_ks_alloc.vgtest b/memcheck/tests/malloc1_ks_alloc.vgtest
new file mode 100644
index 0000000..d5d223c
--- /dev/null
+++ b/memcheck/tests/malloc1_ks_alloc.vgtest
@@ -0,0 +1,2 @@
+prog: malloc1
+vgopts: -q --keep-stacktraces=alloc
diff --git a/memcheck/tests/malloc1_ks_alloc_and_free.stderr.exp b/memcheck/tests/malloc1_ks_alloc_and_free.stderr.exp
new file mode 100644
index 0000000..e65308e
--- /dev/null
+++ b/memcheck/tests/malloc1_ks_alloc_and_free.stderr.exp
@@ -0,0 +1,15 @@
+Invalid write of size 1
+   ...
+ Address 0x........ is 1 bytes inside a block of size 10 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   ...
+  block was alloc'd at
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   ...
+
+Invalid write of size 1
+   ...
+ Address 0x........ is 1 bytes before a block of size 10 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   ...
+
diff --git a/memcheck/tests/malloc1_ks_alloc_and_free.vgtest b/memcheck/tests/malloc1_ks_alloc_and_free.vgtest
new file mode 100644
index 0000000..5000561
--- /dev/null
+++ b/memcheck/tests/malloc1_ks_alloc_and_free.vgtest
@@ -0,0 +1,2 @@
+prog: malloc1
+vgopts: -q --keep-stacktraces=alloc-and-free
diff --git a/memcheck/tests/malloc1_ks_free.stderr.exp b/memcheck/tests/malloc1_ks_free.stderr.exp
new file mode 100644
index 0000000..d41f7cd
--- /dev/null
+++ b/memcheck/tests/malloc1_ks_free.stderr.exp
@@ -0,0 +1,11 @@
+Invalid write of size 1
+   ...
+ Address 0x........ is 1 bytes inside a block of size 10 free'd
+   at 0x........: free (vg_replace_malloc.c:...)
+   ...
+
+Invalid write of size 1
+   ...
+ Address 0x........ is 1 bytes before a block of size 10 alloc'd
+   ...
+
diff --git a/memcheck/tests/malloc1_ks_free.vgtest b/memcheck/tests/malloc1_ks_free.vgtest
new file mode 100644
index 0000000..9e4c7a0f
--- /dev/null
+++ b/memcheck/tests/malloc1_ks_free.vgtest
@@ -0,0 +1,2 @@
+prog: malloc1
+vgopts: -q --keep-stacktraces=free
diff --git a/memcheck/tests/malloc1_ks_none.stderr.exp b/memcheck/tests/malloc1_ks_none.stderr.exp
new file mode 100644
index 0000000..f90f32f
--- /dev/null
+++ b/memcheck/tests/malloc1_ks_none.stderr.exp
@@ -0,0 +1,10 @@
+Invalid write of size 1
+   ...
+ Address 0x........ is 1 bytes inside a block of size 10 free'd
+   ...
+
+Invalid write of size 1
+   ...
+ Address 0x........ is 1 bytes before a block of size 10 alloc'd
+   ...
+
diff --git a/memcheck/tests/malloc1_ks_none.vgtest b/memcheck/tests/malloc1_ks_none.vgtest
new file mode 100644
index 0000000..3885074
--- /dev/null
+++ b/memcheck/tests/malloc1_ks_none.vgtest
@@ -0,0 +1,2 @@
+prog: malloc1
+vgopts: -q --keep-stacktraces=none
diff --git a/memcheck/tests/match-overrun.supp b/memcheck/tests/match-overrun.supp
index 2f5893c..1a7271f 100644
--- a/memcheck/tests/match-overrun.supp
+++ b/memcheck/tests/match-overrun.supp
@@ -1,4 +1,19 @@
 {
+   nonmatching1
+   Memcheck:Addr4
+   fun:a123456789*
+   fun:nonmatching
+   fun:main
+}
+{
+   nonmatching2
+   Memcheck:Addr4
+   fun:a123456789*
+   fun:main
+   fun:nonmatching
+}
+
+{
    test
    Memcheck:Addr4
    fun:a123456789*
diff --git a/memcheck/tests/memalign2.c b/memcheck/tests/memalign2.c
index 12aa047..b35a70e 100644
--- a/memcheck/tests/memalign2.c
+++ b/memcheck/tests/memalign2.c
@@ -76,6 +76,8 @@
    p = memalign(4096, 100);   assert(0 == (long)p % 4096);
    p = memalign(4097, 100);   assert(0 == (long)p % 8192);
 
+   p = memalign(4 * 1024 * 1024, 100);   assert(0 == (long)p % (4 * 1024 * 1024));
+   p = memalign(16 * 1024 * 1024, 100);   assert(0 == (long)p % (16 * 1024 * 1024));
 
 #  define PM(a,b,c) posix_memalign((void**)a, b, c)
 
@@ -88,15 +90,17 @@
                               assert(0 == res && 0 == (long)p % sizeof(void*));
 
    res = PM(&p, 31, 100);     assert(EINVAL == res);
-   res = PM(&p, 32, 100);     assert(0 == res &&
-                                                 0 == (long)p % 32);
+   res = PM(&p, 32, 100);     assert(0 == res && 0 == (long)p % 32);
    res = PM(&p, 33, 100);     assert(EINVAL == res);
 
    res = PM(&p, 4095, 100);   assert(EINVAL == res);
-   res = PM(&p, 4096, 100);   assert(0 == res &&
-                                                 0 == (long)p % 4096); 
+   res = PM(&p, 4096, 100);   assert(0 == res && 0 == (long)p % 4096); 
    res = PM(&p, 4097, 100);   assert(EINVAL == res);
 
+   res = PM(&p, 4 * 1024 * 1024, 100);   assert(0 == res 
+                                                && 0 == (long)p % (4 * 1024 * 1024));
+   res = PM(&p, 16 * 1024 * 1024, 100);   assert(0 == res 
+                                                && 0 == (long)p % (16 * 1024 * 1024));
 #  endif
    
    return 0;
diff --git a/memcheck/tests/memalign_test.c b/memcheck/tests/memalign_test.c
index a9c8784..38e165d 100644
--- a/memcheck/tests/memalign_test.c
+++ b/memcheck/tests/memalign_test.c
@@ -10,7 +10,7 @@
   int i;
   unsigned long pszB = sysconf(_SC_PAGE_SIZE);
   assert(sizeof(long) == sizeof(void*));
-  assert(pszB == 4096 || pszB == 65536);
+  assert(pszB == 4096 || pszB == 16384 || pszB == 65536);
 
   for (i = 0; i < 10; i++) {
     a[i] = valloc(11111 * (i+1));
diff --git a/memcheck/tests/mempool2.c b/memcheck/tests/mempool2.c
index 9404ade..256ff05 100644
--- a/memcheck/tests/mempool2.c
+++ b/memcheck/tests/mempool2.c
@@ -158,6 +158,28 @@
            "\n------ double free in mmap-backed pool ------\n\n");
    VALGRIND_MEMPOOL_FREE(p2, x2);
 
+   {
+      // test that redzone are still protected even if the user forgets
+      // to mark the superblock noaccess.
+      char superblock[100];
+
+      VALGRIND_CREATE_MEMPOOL(superblock, REDZONE_SIZE, 0);
+      // User should mark the superblock no access to benefit
+      // from full Valgrind memcheck protection.
+      // VALGRIND_MEMPOOL_ALLOC will however still ensure the
+      // redzones are protected.
+      VALGRIND_MEMPOOL_ALLOC(superblock, superblock+30, 10);
+
+      res += superblock[30]; // valid
+      res += superblock[39]; // valid
+
+      fprintf(stderr,
+              "\n------ 2 invalid access in 'no no-access superblock' ---\n\n");
+      res += superblock[29]; // invalid
+      res += superblock[40]; // invalid
+
+      VALGRIND_DESTROY_MEMPOOL(superblock);
+   }
    // claim res is used, so gcc can't nuke this all
    __asm__ __volatile__("" : : "r"(res));
 
diff --git a/memcheck/tests/mempool2.stderr.exp b/memcheck/tests/mempool2.stderr.exp
index 76d84ad..4426018 100644
--- a/memcheck/tests/mempool2.stderr.exp
+++ b/memcheck/tests/mempool2.stderr.exp
@@ -3,57 +3,57 @@
 
 Invalid read of size 1
    at 0x........: test (mempool2.c:135)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
  Address 0x........ is 1 bytes before a block of size 10 client-defined
    at 0x........: allocate (mempool2.c:108)
    by 0x........: test (mempool2.c:130)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
 
 Invalid read of size 1
    at 0x........: test (mempool2.c:136)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
  Address 0x........ is 0 bytes after a block of size 10 client-defined
    at 0x........: allocate (mempool2.c:108)
    by 0x........: test (mempool2.c:130)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
 
 
 ------ out of range reads in mmap-backed pool ------
 
 Invalid read of size 1
    at 0x........: test (mempool2.c:140)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
  Address 0x........ is 1 bytes before a block of size 20 client-defined
    at 0x........: allocate (mempool2.c:108)
    by 0x........: test (mempool2.c:131)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
 
 Invalid read of size 1
    at 0x........: test (mempool2.c:141)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
  Address 0x........ is 0 bytes after a block of size 20 client-defined
    at 0x........: allocate (mempool2.c:108)
    by 0x........: test (mempool2.c:131)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
 
 
 ------ read free in malloc-backed pool ------
 
 Illegal memory pool address
    at 0x........: test (mempool2.c:145)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
  Address 0x........ is 0 bytes inside a block of size 32 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: make_pool (mempool2.c:46)
    by 0x........: test (mempool2.c:122)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
 
 
 ------ read free in mmap-backed pool ------
 
 Illegal memory pool address
    at 0x........: test (mempool2.c:150)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
  Address 0x........ is not stack'd, malloc'd or (recently) free'd
 
 
@@ -61,21 +61,38 @@
 
 Illegal memory pool address
    at 0x........: test (mempool2.c:155)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
  Address 0x........ is 0 bytes inside a block of size 32 alloc'd
    at 0x........: malloc (vg_replace_malloc.c:...)
    by 0x........: make_pool (mempool2.c:46)
    by 0x........: test (mempool2.c:122)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
 
 
 ------ double free in mmap-backed pool ------
 
 Illegal memory pool address
    at 0x........: test (mempool2.c:159)
-   by 0x........: main (mempool2.c:174)
+   by 0x........: main (mempool2.c:196)
  Address 0x........ is not stack'd, malloc'd or (recently) free'd
 
 
+------ 2 invalid access in 'no no-access superblock' ---
+
+Invalid read of size 1
+   at 0x........: test (mempool2.c:178)
+   by 0x........: main (mempool2.c:196)
+ Address 0x........ is 1 bytes before a block of size 10 client-defined
+   at 0x........: test (mempool2.c:171)
+   by 0x........: main (mempool2.c:196)
+
+Invalid read of size 1
+   at 0x........: test (mempool2.c:179)
+   by 0x........: main (mempool2.c:196)
+ Address 0x........ is 0 bytes after a block of size 10 client-defined
+   at 0x........: test (mempool2.c:171)
+   by 0x........: main (mempool2.c:196)
+
+
 ------ done ------
 
diff --git a/memcheck/tests/nanoleak.supp b/memcheck/tests/nanoleak.supp
index 731ca6a..0724f58 100644
--- a/memcheck/tests/nanoleak.supp
+++ b/memcheck/tests/nanoleak.supp
@@ -1,7 +1,7 @@
 {
    this_is_the_nanoleak_suppression_name
    Memcheck:Leak
-   fun:malloc
+   fun:m?lloc
    fun:main
 }
 
diff --git a/memcheck/tests/overlap.vgtest b/memcheck/tests/overlap.vgtest
index 54a0baa..eecc476 100644
--- a/memcheck/tests/overlap.vgtest
+++ b/memcheck/tests/overlap.vgtest
@@ -1,2 +1,3 @@
 prog: overlap
 vgopts: -q
+stderr_filter: filter_memcpy
diff --git a/memcheck/tests/ppc32/power_ISA2_05.c b/memcheck/tests/ppc32/power_ISA2_05.c
index 82893a2..0178452 100644
--- a/memcheck/tests/ppc32/power_ISA2_05.c
+++ b/memcheck/tests/ppc32/power_ISA2_05.c
@@ -23,15 +23,16 @@
 
 void test_parity_instrs()
 {
-   unsigned long long_word;
    unsigned int word;
    int i, parity;
 
    for (i = 0; i < 50; i++) {
       word = base256(i);
-      long_word = word;
+#ifdef __powerpc64__
+      unsigned long long_word = word;
       __asm__ volatile ("prtyd %0, %1":"=r" (parity):"r"(long_word));
       printf("prtyd (%x) => parity=%x\n", i, parity);
+#endif
       __asm__ volatile ("prtyw %0, %1":"=r" (parity):"r"(word));
       printf("prtyw (%x) => parity=%x\n", i, parity);
    }
@@ -40,7 +41,7 @@
 void test_lfiwax()
 {
    unsigned long base;
-   unsigned long offset;
+   //   unsigned long offset;
 
    typedef struct {
       unsigned int hi;
@@ -50,9 +51,8 @@
    int_pair_t *ip;
    foo = -1024.0;
    base = (unsigned long) &foo;
-   offset = 0;
-   __asm__ volatile ("lfiwax %0, %1, %2":"=f" (FRT1):"r"(base),
-                     "r"(offset));
+
+   __asm__ volatile ("lfiwax %0, 0, %1":"=f" (FRT1):"r"(base));
    ip = (int_pair_t *) & FRT1;
    printf("lfiwax (%f) => FRT=(%x, %x)\n", foo, ip->hi, ip->lo);
 
@@ -66,7 +66,7 @@
 ** FPp+1= rightmost 64 bits stored at DS(RA)
 ** FPp must be an even float register
 */
-int test_double_pair_instrs()
+void test_double_pair_instrs()
 {
    typedef struct {
       double hi;
@@ -75,14 +75,6 @@
 
    /* the following decls are for alignment */
    int i;
-   int j;
-   int k;
-   int l;
-#ifdef __powerpc64__
-   int m;
-   int n;
-   int o;
-#endif
    dbl_pair_t dbl_pair[3];      /* must be quad word aligned */
    unsigned long base;
    unsigned long offset;
@@ -111,8 +103,8 @@
    FRT2 = -1.0;
    base = (unsigned long) &dbl_pair;
    offset = (unsigned long) &dbl_pair[1] - base;
-   __asm__ volatile ("or 20, 0, %0"::"r" (base));
-   __asm__ volatile ("or 21, 0, %0"::"r" (offset));
+   __asm__ volatile ("ori 20, %0, 0"::"r" (base));
+   __asm__ volatile ("ori 21, %0, 0"::"r" (offset));
    __asm__ volatile ("lfdpx 10, 20, 21");
    __asm__ volatile ("fmr %0, 10":"=f" (FRT1));
    __asm__ volatile ("fmr %0, 11":"=f" (FRT2));
@@ -123,18 +115,13 @@
    FRT2 = -16.1024;
    base = (unsigned long) &dbl_pair;
    offset = (unsigned long) &dbl_pair[2] - base;
-   __asm__ volatile ("or 20, 0, %0"::"r" (base));
-   __asm__ volatile ("or 21, 0, %0"::"r" (offset));
+   __asm__ volatile ("ori 20, %0, 0"::"r" (base));
+   __asm__ volatile ("ori 21, %0, 0"::"r" (offset));
    __asm__ volatile ("fmr %0, 10":"=f" (FRT1));
    __asm__ volatile ("fmr %0, 11":"=f" (FRT2));
    __asm__ volatile ("stfdpx 10, 20, 21");
    printf("stfdpx (%f, %f) => F_hi=%f, F_lo=%f\n",
           FRT1, FRT2, dbl_pair[2].hi, dbl_pair[2].lo);
-#ifdef __powerpc64__
-   return i + j + k + l + m + n + o;
-#else
-   return i + j + k + l;
-#endif
 }
 
 
@@ -170,11 +157,10 @@
 }
 
 /* b0 may be non-zero in lwarx/ldarx Power6 instrs */
-int test_reservation()
+void test_reservation()
 {
 
    int RT;
-   int i, j;
    unsigned long base;
    unsigned long offset;
    long arr[4] = { 0xdeadbeef, 0xbad0beef, 0xbeefdead, 0xbeef0bad };
@@ -182,18 +168,18 @@
 
    base = (unsigned long) &arr;
    offset = (unsigned long) &arr[1] - base;
-   __asm__ volatile ("or 20, 0, %0"::"r" (base));
-   __asm__ volatile ("or 21, 0, %0"::"r" (offset));
+   __asm__ volatile ("ori 20, %0, 0"::"r" (base));
+   __asm__ volatile ("ori 21, %0, 0"::"r" (offset));
    __asm__ volatile ("lwarx %0, 20, 21, 1":"=r" (RT));
    printf("lwarx => %x\n", RT);
 
 #ifdef __powerpc64__
    offset = (unsigned long) &arr[1] - base;
-   __asm__ volatile ("or 21, 0, %0"::"r" (offset));
+   __asm__ volatile ("ori 21, %0, 0"::"r" (offset));
    __asm__ volatile ("ldarx %0, 20, 21, 1":"=r" (RT));
    printf("ldarx => %x\n", RT);
 #endif
-   return i + j;
+
 }
 
 int main(void)
diff --git a/memcheck/tests/ppc32/power_ISA2_05.stdout.exp b/memcheck/tests/ppc32/power_ISA2_05.stdout.exp
index 5513960..e4975fb 100644
--- a/memcheck/tests/ppc32/power_ISA2_05.stdout.exp
+++ b/memcheck/tests/ppc32/power_ISA2_05.stdout.exp
@@ -20,103 +20,53 @@
 lfdpx (2.204800, -4.102400) => F_hi=2.204800, F_lo=-4.102400
 stfdpx (2.204800, 2.204800) => F_hi=2.204800, F_lo=2.204800
 lfiwax (-1024.000000) => FRT=(ffffffff, c0900000)
-prtyd (0) => parity=0
 prtyw (0) => parity=0
-prtyd (1) => parity=1
 prtyw (1) => parity=1
-prtyd (2) => parity=0
 prtyw (2) => parity=0
-prtyd (3) => parity=1
 prtyw (3) => parity=1
-prtyd (4) => parity=0
 prtyw (4) => parity=0
-prtyd (5) => parity=1
 prtyw (5) => parity=1
-prtyd (6) => parity=0
 prtyw (6) => parity=0
-prtyd (7) => parity=1
 prtyw (7) => parity=1
-prtyd (8) => parity=0
 prtyw (8) => parity=0
-prtyd (9) => parity=1
 prtyw (9) => parity=1
-prtyd (a) => parity=0
 prtyw (a) => parity=0
-prtyd (b) => parity=1
 prtyw (b) => parity=1
-prtyd (c) => parity=0
 prtyw (c) => parity=0
-prtyd (d) => parity=1
 prtyw (d) => parity=1
-prtyd (e) => parity=0
 prtyw (e) => parity=0
-prtyd (f) => parity=1
 prtyw (f) => parity=1
-prtyd (10) => parity=0
 prtyw (10) => parity=0
-prtyd (11) => parity=1
 prtyw (11) => parity=1
-prtyd (12) => parity=0
 prtyw (12) => parity=0
-prtyd (13) => parity=1
 prtyw (13) => parity=1
-prtyd (14) => parity=0
 prtyw (14) => parity=0
-prtyd (15) => parity=1
 prtyw (15) => parity=1
-prtyd (16) => parity=0
 prtyw (16) => parity=0
-prtyd (17) => parity=1
 prtyw (17) => parity=1
-prtyd (18) => parity=0
 prtyw (18) => parity=0
-prtyd (19) => parity=1
 prtyw (19) => parity=1
-prtyd (1a) => parity=0
 prtyw (1a) => parity=0
-prtyd (1b) => parity=1
 prtyw (1b) => parity=1
-prtyd (1c) => parity=0
 prtyw (1c) => parity=0
-prtyd (1d) => parity=1
 prtyw (1d) => parity=1
-prtyd (1e) => parity=0
 prtyw (1e) => parity=0
-prtyd (1f) => parity=1
 prtyw (1f) => parity=1
-prtyd (20) => parity=0
 prtyw (20) => parity=0
-prtyd (21) => parity=1
 prtyw (21) => parity=1
-prtyd (22) => parity=0
 prtyw (22) => parity=0
-prtyd (23) => parity=1
 prtyw (23) => parity=1
-prtyd (24) => parity=0
 prtyw (24) => parity=0
-prtyd (25) => parity=1
 prtyw (25) => parity=1
-prtyd (26) => parity=0
 prtyw (26) => parity=0
-prtyd (27) => parity=1
 prtyw (27) => parity=1
-prtyd (28) => parity=0
 prtyw (28) => parity=0
-prtyd (29) => parity=1
 prtyw (29) => parity=1
-prtyd (2a) => parity=0
 prtyw (2a) => parity=0
-prtyd (2b) => parity=1
 prtyw (2b) => parity=1
-prtyd (2c) => parity=0
 prtyw (2c) => parity=0
-prtyd (2d) => parity=1
 prtyw (2d) => parity=1
-prtyd (2e) => parity=0
 prtyw (2e) => parity=0
-prtyd (2f) => parity=1
 prtyw (2f) => parity=1
-prtyd (30) => parity=0
 prtyw (30) => parity=0
-prtyd (31) => parity=1
 prtyw (31) => parity=1
diff --git a/memcheck/tests/ppc64/power_ISA2_05.c b/memcheck/tests/ppc64/power_ISA2_05.c
index 82893a2..8c0eab9 100644
--- a/memcheck/tests/ppc64/power_ISA2_05.c
+++ b/memcheck/tests/ppc64/power_ISA2_05.c
@@ -40,7 +40,6 @@
 void test_lfiwax()
 {
    unsigned long base;
-   unsigned long offset;
 
    typedef struct {
       unsigned int hi;
@@ -50,9 +49,8 @@
    int_pair_t *ip;
    foo = -1024.0;
    base = (unsigned long) &foo;
-   offset = 0;
-   __asm__ volatile ("lfiwax %0, %1, %2":"=f" (FRT1):"r"(base),
-                     "r"(offset));
+
+   __asm__ volatile ("lfiwax %0, 0, %1":"=f" (FRT1):"r"(base));
    ip = (int_pair_t *) & FRT1;
    printf("lfiwax (%f) => FRT=(%x, %x)\n", foo, ip->hi, ip->lo);
 
@@ -66,7 +64,7 @@
 ** FPp+1= rightmost 64 bits stored at DS(RA)
 ** FPp must be an even float register
 */
-int test_double_pair_instrs()
+void test_double_pair_instrs()
 {
    typedef struct {
       double hi;
@@ -75,14 +73,6 @@
 
    /* the following decls are for alignment */
    int i;
-   int j;
-   int k;
-   int l;
-#ifdef __powerpc64__
-   int m;
-   int n;
-   int o;
-#endif
    dbl_pair_t dbl_pair[3];      /* must be quad word aligned */
    unsigned long base;
    unsigned long offset;
@@ -111,8 +101,8 @@
    FRT2 = -1.0;
    base = (unsigned long) &dbl_pair;
    offset = (unsigned long) &dbl_pair[1] - base;
-   __asm__ volatile ("or 20, 0, %0"::"r" (base));
-   __asm__ volatile ("or 21, 0, %0"::"r" (offset));
+   __asm__ volatile ("ori 20, %0, 0"::"r" (base));
+   __asm__ volatile ("ori 21, %0, 0"::"r" (offset));
    __asm__ volatile ("lfdpx 10, 20, 21");
    __asm__ volatile ("fmr %0, 10":"=f" (FRT1));
    __asm__ volatile ("fmr %0, 11":"=f" (FRT2));
@@ -123,18 +113,13 @@
    FRT2 = -16.1024;
    base = (unsigned long) &dbl_pair;
    offset = (unsigned long) &dbl_pair[2] - base;
-   __asm__ volatile ("or 20, 0, %0"::"r" (base));
-   __asm__ volatile ("or 21, 0, %0"::"r" (offset));
+   __asm__ volatile ("ori 20, %0, 0"::"r" (base));
+   __asm__ volatile ("ori 21, %0, 0"::"r" (offset));
    __asm__ volatile ("fmr %0, 10":"=f" (FRT1));
    __asm__ volatile ("fmr %0, 11":"=f" (FRT2));
    __asm__ volatile ("stfdpx 10, 20, 21");
    printf("stfdpx (%f, %f) => F_hi=%f, F_lo=%f\n",
           FRT1, FRT2, dbl_pair[2].hi, dbl_pair[2].lo);
-#ifdef __powerpc64__
-   return i + j + k + l + m + n + o;
-#else
-   return i + j + k + l;
-#endif
 }
 
 
@@ -170,11 +155,10 @@
 }
 
 /* b0 may be non-zero in lwarx/ldarx Power6 instrs */
-int test_reservation()
+void test_reservation()
 {
 
    int RT;
-   int i, j;
    unsigned long base;
    unsigned long offset;
    long arr[4] = { 0xdeadbeef, 0xbad0beef, 0xbeefdead, 0xbeef0bad };
@@ -182,18 +166,18 @@
 
    base = (unsigned long) &arr;
    offset = (unsigned long) &arr[1] - base;
-   __asm__ volatile ("or 20, 0, %0"::"r" (base));
-   __asm__ volatile ("or 21, 0, %0"::"r" (offset));
+   __asm__ volatile ("ori 20, %0, 0"::"r" (base));
+   __asm__ volatile ("ori 21, %0, 0"::"r" (offset));
    __asm__ volatile ("lwarx %0, 20, 21, 1":"=r" (RT));
    printf("lwarx => %x\n", RT);
 
 #ifdef __powerpc64__
    offset = (unsigned long) &arr[1] - base;
-   __asm__ volatile ("or 21, 0, %0"::"r" (offset));
+   __asm__ volatile ("ori 21, %0, 0"::"r" (offset));
    __asm__ volatile ("ldarx %0, 20, 21, 1":"=r" (RT));
    printf("ldarx => %x\n", RT);
 #endif
-   return i + j;
+
 }
 
 int main(void)
diff --git a/memcheck/tests/ppc64/power_ISA2_05.stdout.exp b/memcheck/tests/ppc64/power_ISA2_05.stdout.exp
index b5a7458..3297838 100644
--- a/memcheck/tests/ppc64/power_ISA2_05.stdout.exp
+++ b/memcheck/tests/ppc64/power_ISA2_05.stdout.exp
@@ -19,7 +19,7 @@
 lfdp (-1024.000000, 1025.000000) => F_hi=-1024.000000, F_lo=1025.000000
 stfdp (2.204800, -4.102400) => F_hi=2.204800, F_lo=-4.102400
 lfdpx (2.204800, -4.102400) => F_hi=2.204800, F_lo=-4.102400
-stfdpx (2.204800, -4.102400) => F_hi=2.204800, F_lo=-4.102400
+stfdpx (2.204800, 2.204800) => F_hi=2.204800, F_lo=2.204800
 lfiwax (-1024.000000) => FRT=(ffffffff, c0900000)
 prtyd (0) => parity=0
 prtyw (0) => parity=0
diff --git a/memcheck/tests/recursive-merge.c b/memcheck/tests/recursive-merge.c
new file mode 100644
index 0000000..61caac7
--- /dev/null
+++ b/memcheck/tests/recursive-merge.c
@@ -0,0 +1,71 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <valgrind.h>
+
+void (*fnptr[256])(char*, char*);
+
+#define BODY(f)                                 \
+{                                               \
+   fprintf(stderr, f);                          \
+   calls++;                                     \
+   (*fnptr[(int)*calls])(calls,seq);            \
+}
+
+void stacktrace(char*last, char* callsequence)
+{
+   fprintf(stderr, "\n");
+   VALGRIND_PRINTF_BACKTRACE ("%s", callsequence);
+}
+__attribute__((noinline)) void f_a(char *calls, char*seq);
+__attribute__((noinline)) void f_b(char *calls, char*seq);
+__attribute__((noinline)) void f_c(char *calls, char*seq);
+__attribute__((noinline)) void f_d(char *calls, char*seq);
+
+__attribute__((noinline)) void f_a(char *calls, char*seq)
+BODY("a")
+
+__attribute__((noinline)) void f_b(char *calls, char*seq)
+BODY("b")
+
+__attribute__((noinline)) void f_c(char *calls, char*seq)
+BODY("c");
+
+__attribute__((noinline)) void f_d(char *calls, char*seq)
+BODY("d");
+
+void doit (int argc, char**argv)
+{
+   int i;
+   for (i = 1; i < argc; i++) {
+      char* calls = argv[i];
+      char* seq = argv[i];
+      calls--;
+      BODY("test ")
+   }
+}
+
+int main(int argc, char**argv)
+{
+
+   fnptr[0] = stacktrace;
+   fnptr['a'] = f_a;
+   fnptr['b'] = f_b;
+   fnptr['c'] = f_c;
+   fnptr['d'] = f_d;
+
+   doit(argc, argv); // with default value of our argument.
+
+   VALGRIND_MONITOR_COMMAND("v.set merge-recursive-frames 3");
+   doit(argc, argv);
+
+   VALGRIND_MONITOR_COMMAND("v.set merge-recursive-frames 2");
+   doit(argc, argv);
+
+   VALGRIND_MONITOR_COMMAND("v.set merge-recursive-frames 1");
+   doit(argc, argv);
+
+   VALGRIND_MONITOR_COMMAND("v.set merge-recursive-frames 0");
+   doit(argc, argv);
+
+   return 0;
+}
diff --git a/memcheck/tests/recursive-merge.stderr.exp b/memcheck/tests/recursive-merge.stderr.exp
new file mode 100644
index 0000000..e925ac8
--- /dev/null
+++ b/memcheck/tests/recursive-merge.stderr.exp
@@ -0,0 +1,263 @@
+test a
+a   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:56)
+test aa
+aa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:56)
+test aaa
+aaa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:56)
+test aaaa
+aaaa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:56)
+test abab
+abab   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:56)
+test abca
+abca   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_c (recursive-merge.c:31)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:56)
+test abcda
+abcda   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_d (recursive-merge.c:34)
+   by 0x........: f_c (recursive-merge.c:31)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:56)
+merge-recursive-frames value changed from 1 to 3
+test a
+a   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:59)
+test aa
+aa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:59)
+test aaa
+aaa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:59)
+test aaaa
+aaaa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:59)
+test abab
+abab   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:59)
+test abca
+abca   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:59)
+test abcda
+abcda   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_d (recursive-merge.c:34)
+   by 0x........: f_c (recursive-merge.c:31)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:59)
+merge-recursive-frames value changed from 3 to 2
+test a
+a   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:62)
+test aa
+aa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:62)
+test aaa
+aaa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:62)
+test aaaa
+aaaa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:62)
+test abab
+abab   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:62)
+test abca
+abca   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_c (recursive-merge.c:31)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:62)
+test abcda
+abcda   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_d (recursive-merge.c:34)
+   by 0x........: f_c (recursive-merge.c:31)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:62)
+merge-recursive-frames value changed from 2 to 1
+test a
+a   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:65)
+test aa
+aa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:65)
+test aaa
+aaa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:65)
+test aaaa
+aaaa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:65)
+test abab
+abab   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:65)
+test abca
+abca   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_c (recursive-merge.c:31)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:65)
+test abcda
+abcda   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_d (recursive-merge.c:34)
+   by 0x........: f_c (recursive-merge.c:31)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:65)
+merge-recursive-frames value changed from 1 to 0
+test a
+a   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:68)
+test aa
+aa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:68)
+test aaa
+aaa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:68)
+test aaaa
+aaaa   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:68)
+test abab
+abab   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:68)
+test abca
+abca   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_c (recursive-merge.c:31)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:68)
+test abcda
+abcda   at 0x........: VALGRIND_PRINTF_BACKTRACE (valgrind.h:...)
+   by 0x........: stacktrace (recursive-merge.c:17)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: f_d (recursive-merge.c:34)
+   by 0x........: f_c (recursive-merge.c:31)
+   by 0x........: f_b (recursive-merge.c:28)
+   by 0x........: f_a (recursive-merge.c:25)
+   by 0x........: doit (recursive-merge.c:43)
+   by 0x........: main (recursive-merge.c:68)
diff --git a/memcheck/tests/recursive-merge.vgtest b/memcheck/tests/recursive-merge.vgtest
new file mode 100644
index 0000000..bfedf73
--- /dev/null
+++ b/memcheck/tests/recursive-merge.vgtest
@@ -0,0 +1,3 @@
+prog: recursive-merge
+args: a aa aaa aaaa abab abca abcda
+vgopts: -q --leak-check=full --merge-recursive-frames=1
diff --git a/memcheck/tests/s390x/Makefile.am b/memcheck/tests/s390x/Makefile.am
new file mode 100644
index 0000000..cf87297
--- /dev/null
+++ b/memcheck/tests/s390x/Makefile.am
@@ -0,0 +1,16 @@
+include $(top_srcdir)/Makefile.tool-tests.am
+
+dist_noinst_SCRIPTS = filter_stderr
+
+INSN_TESTS = cs csg cds cdsg cu21 cu42 ltgjhe
+
+check_PROGRAMS = $(INSN_TESTS) 
+
+EXTRA_DIST = \
+	$(addsuffix .stderr.exp,$(INSN_TESTS)) \
+	$(addsuffix .stdout.exp,$(INSN_TESTS)) \
+	$(addsuffix .vgtest,$(INSN_TESTS))
+
+AM_CFLAGS    += @FLAG_M64@
+AM_CXXFLAGS  += @FLAG_M64@
+AM_CCASFLAGS += @FLAG_M64@
diff --git a/memcheck/tests/s390x/cds.c b/memcheck/tests/s390x/cds.c
new file mode 100644
index 0000000..ec5c533
--- /dev/null
+++ b/memcheck/tests/s390x/cds.c
@@ -0,0 +1,82 @@
+#include <stdint.h>
+#include <stdio.h>
+
+typedef struct {
+   uint64_t high;
+   uint64_t low;
+} quad_word;
+
+void 
+test(quad_word op1_init, uint64_t op2_init, quad_word op3_init)
+{
+   int cc; // unused
+   quad_word op1 = op1_init;
+   uint64_t  op2 = op2_init;
+   quad_word op3 = op3_init;
+
+   __asm__ volatile (
+                     "lmg     %%r0,%%r1,%1\n\t"
+                     "lmg     %%r2,%%r3,%3\n\t"
+                     "cds     %%r0,%%r2,%2\n\t"  //  cds 1st,3rd,2nd
+                     "stmg    %%r0,%%r1,%1\n"    // store r0,r1 to op1
+                     "stmg    %%r2,%%r3,%3\n"    // store r2,r3 to op3
+                     : "=d" (cc), "+QS" (op1), "+QS" (op2), "+QS" (op3)
+                     :
+                     : "r0", "r1", "r2", "r3", "cc");
+
+}
+
+// Return a quad-word that only bits low[32:63] are undefined
+quad_word
+make_undefined(void)
+{
+   quad_word val;
+
+   val.high = 0;
+   val.low |= 0xFFFFFFFF00000000ull;
+
+   return val;
+}
+
+void op1_undefined(void)
+{
+   quad_word op1, op3;
+   uint64_t op2;
+
+   // op1 undefined
+   op1 = make_undefined();
+   op2 = 42;
+   op3.high = op3.low = 0xdeadbeefdeadbabeull;
+   test(op1, op2, op3);  // complaint
+}
+
+void op2_undefined(void)
+{
+   quad_word op1, op3;
+   uint64_t op2;
+
+   op1.high = op1.low = 42;
+   // op2 undefined
+   op3.high = op3.low = 0xdeadbeefdeadbabeull;
+   test(op1, op2, op3);  // complaint
+}
+
+void op3_undefined(void)
+{
+   quad_word op1, op3;
+   uint64_t op2;
+
+   op1.high = op1.low = 42;
+   op2 = 100;
+   op3 = make_undefined();
+   test(op1, op2, op3);  // no complaint; op3 is just copied around
+}
+
+int main ()
+{
+   op1_undefined();
+   op2_undefined();
+   op3_undefined();
+
+   return 0;
+}
diff --git a/memcheck/tests/s390x/cds.stderr.exp b/memcheck/tests/s390x/cds.stderr.exp
new file mode 100644
index 0000000..e72de94
--- /dev/null
+++ b/memcheck/tests/s390x/cds.stderr.exp
@@ -0,0 +1,10 @@
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: test (cds.c:17)
+   by 0x........: op1_undefined (cds.c:50)
+   by 0x........: main (cds.c:77)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: test (cds.c:17)
+   by 0x........: op2_undefined (cds.c:61)
+   by 0x........: main (cds.c:78)
+
diff --git a/memcheck/tests/s390x/cds.stdout.exp b/memcheck/tests/s390x/cds.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/s390x/cds.stdout.exp
diff --git a/memcheck/tests/s390x/cds.vgtest b/memcheck/tests/s390x/cds.vgtest
new file mode 100644
index 0000000..5195887
--- /dev/null
+++ b/memcheck/tests/s390x/cds.vgtest
@@ -0,0 +1,2 @@
+prog: cds
+vgopts: -q
diff --git a/memcheck/tests/s390x/cdsg.c b/memcheck/tests/s390x/cdsg.c
new file mode 100644
index 0000000..ff0ae8c
--- /dev/null
+++ b/memcheck/tests/s390x/cdsg.c
@@ -0,0 +1,69 @@
+#include <stdint.h>
+#include <stdio.h>
+
+typedef struct {
+   uint64_t high;
+   uint64_t low;
+} __attribute__((aligned(16))) quad_word;
+
+
+/* CDSG needs quad-word alignment */
+quad_word _op1, _op2, _op3;
+
+void
+test(quad_word op1_init, quad_word op2_init, quad_word op3_init)
+{
+   int cc; // unused
+   _op1 = op1_init;
+   _op2 = op2_init;
+   _op3 = op3_init;
+
+   __asm__ volatile (
+                     "lmg     %%r0,%%r1,%1\n\t"
+                     "lmg     %%r2,%%r3,%3\n\t"
+                     "cdsg    %%r0,%%r2,%2\n\t"  //  cdsg 1st,3rd,2nd
+                     "stmg    %%r0,%%r1,%1\n"    // store r0,r1 to op1
+                     "stmg    %%r2,%%r3,%3\n"    // store r2,r3 to op3
+                     : "=d"(cc), "+QS" (_op1), "+QS" (_op2), "+QS" (_op3)
+                     :
+                     : "r0", "r1", "r2", "r3", "cc");
+}
+
+void op1_undefined(void)
+{
+   quad_word op1, op2, op3;
+
+   // op1 undefined
+   op2.high = op2.low = 42;
+   op3.high = op3.low = 0xdeadbeefdeadbabeull;
+   test(op1, op2, op3);  // complaint
+}
+
+void op2_undefined(void)
+{
+   quad_word op1, op2, op3;
+
+   op1.high = op1.low = 42;
+   // op2 undefined
+   op3.high = op3.low = 0xdeadbeefdeadbabeull;
+   test(op1, op2, op3);  // complaint
+}
+
+void op3_undefined(void)
+{
+   quad_word op1, op2, op3;
+
+   op1.high = op1.low = 42;
+   op2 = op1;
+   // op3 undefined
+   test(op1, op2, op3);  // no complaint; op3 is just copied around
+}
+
+int main ()
+{
+   op1_undefined();
+   op2_undefined();
+   op3_undefined();
+
+   return 0;
+}
diff --git a/memcheck/tests/s390x/cdsg.stderr.exp b/memcheck/tests/s390x/cdsg.stderr.exp
new file mode 100644
index 0000000..3c71e21
--- /dev/null
+++ b/memcheck/tests/s390x/cdsg.stderr.exp
@@ -0,0 +1,10 @@
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: test (cdsg.c:21)
+   by 0x........: op1_undefined (cdsg.c:39)
+   by 0x........: main (cdsg.c:64)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: test (cdsg.c:21)
+   by 0x........: op2_undefined (cdsg.c:49)
+   by 0x........: main (cdsg.c:65)
+
diff --git a/memcheck/tests/s390x/cdsg.stdout.exp b/memcheck/tests/s390x/cdsg.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/s390x/cdsg.stdout.exp
diff --git a/memcheck/tests/s390x/cdsg.vgtest b/memcheck/tests/s390x/cdsg.vgtest
new file mode 100644
index 0000000..598fd68
--- /dev/null
+++ b/memcheck/tests/s390x/cdsg.vgtest
@@ -0,0 +1,2 @@
+prog: cdsg
+vgopts: -q
diff --git a/memcheck/tests/s390x/cs.c b/memcheck/tests/s390x/cs.c
new file mode 100644
index 0000000..9a298ce
--- /dev/null
+++ b/memcheck/tests/s390x/cs.c
@@ -0,0 +1,32 @@
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+void 
+test(int32_t op1_init, int32_t op2_init, int32_t op3_init)
+{
+   register int32_t op1 asm("8") = op1_init;
+   register int32_t op3 asm("9") = op3_init;
+   
+   int32_t op2 = op2_init;
+   int cc = 1; 
+
+   __asm__ volatile (
+           "cs      8,9,%1\n\t"
+           "ipm     %0\n\t"
+           "srl     %0,28\n\t"
+           : "=d" (cc), "+Q" (op2), "+d"(op1), "+d"(op3)
+           : 
+           : "cc");
+}
+
+int main ()
+{
+   int op1, op2, op3;
+
+   test(op1, 0x10000000, 0x12345678);   // complaint
+   test(0x10000000, op2, 0x12345678);   // complaint
+   test(0x10000000, 0x01000000, op3);   // no complaint
+
+   return 0;
+}
diff --git a/memcheck/tests/s390x/cs.stderr.exp b/memcheck/tests/s390x/cs.stderr.exp
new file mode 100644
index 0000000..e45dc99
--- /dev/null
+++ b/memcheck/tests/s390x/cs.stderr.exp
@@ -0,0 +1,8 @@
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: test (cs.c:14)
+   by 0x........: main (cs.c:27)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: test (cs.c:14)
+   by 0x........: main (cs.c:28)
+
diff --git a/memcheck/tests/s390x/cs.stdout.exp b/memcheck/tests/s390x/cs.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/s390x/cs.stdout.exp
diff --git a/memcheck/tests/s390x/cs.vgtest b/memcheck/tests/s390x/cs.vgtest
new file mode 100644
index 0000000..323cce8
--- /dev/null
+++ b/memcheck/tests/s390x/cs.vgtest
@@ -0,0 +1,2 @@
+prog: cs
+vgopts: -q
diff --git a/memcheck/tests/s390x/csg.c b/memcheck/tests/s390x/csg.c
new file mode 100644
index 0000000..7f9d8c8
--- /dev/null
+++ b/memcheck/tests/s390x/csg.c
@@ -0,0 +1,32 @@
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+void 
+test(int64_t op1_init, int64_t op2_init, int64_t op3_init)
+{
+   register int64_t op1 asm("8") = op1_init;
+   register int64_t op3 asm("9") = op3_init;
+   
+   int64_t op2 = op2_init;
+   int cc = 1; 
+
+   __asm__ volatile (
+           "csg     8,9,%1\n\t"
+           "ipm     %0\n\t"
+           "srl     %0,28\n\t"
+           : "=d" (cc), "+Q" (op2), "+d"(op1), "+d"(op3)
+           : 
+           : "cc");
+}
+
+int main ()
+{
+   int64_t op1, op2, op3;
+
+   test(op1, 0x1000000000000000ull, 0x1234567887654321ull);  // complaint
+   test(0x1000000000000000ull, op2, 0x1234567887654321ull);  // complaint
+   test(0x1000000000000000ull, 0x1000000000000000ull, op3);  // no complaint
+
+   return 0;
+}
diff --git a/memcheck/tests/s390x/csg.stderr.exp b/memcheck/tests/s390x/csg.stderr.exp
new file mode 100644
index 0000000..fda2021
--- /dev/null
+++ b/memcheck/tests/s390x/csg.stderr.exp
@@ -0,0 +1,8 @@
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: test (csg.c:14)
+   by 0x........: main (csg.c:27)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: test (csg.c:14)
+   by 0x........: main (csg.c:28)
+
diff --git a/memcheck/tests/s390x/csg.stdout.exp b/memcheck/tests/s390x/csg.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/s390x/csg.stdout.exp
diff --git a/memcheck/tests/s390x/csg.vgtest b/memcheck/tests/s390x/csg.vgtest
new file mode 100644
index 0000000..6de75c1
--- /dev/null
+++ b/memcheck/tests/s390x/csg.vgtest
@@ -0,0 +1,2 @@
+prog: csg
+vgopts: -q
diff --git a/memcheck/tests/s390x/cu21.c b/memcheck/tests/s390x/cu21.c
new file mode 100644
index 0000000..dd9654b
--- /dev/null
+++ b/memcheck/tests/s390x/cu21.c
@@ -0,0 +1,122 @@
+#include <stdint.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include "../../../none/tests/s390x/opcodes.h"
+
+/* Define various input buffers. */
+
+/* U+0000 to U+007f:  Result is 1 byte for each uint16_t */
+uint16_t pattern1[] = {
+   0x0000, 0x007f,    /* corner cases */
+   0x0047, 0x0056, 0x0045, 0x0021, 0x007b, 0x003a /* misc */
+};
+
+/* U+0080 to U+07ff:  Result is 2 bytes for each uint16_t */
+uint16_t pattern2[] = {
+   0x0080, 0x07ff,    /* corner cases */
+   0x07df, 0x008f, 0x0100, 0x017f, 0x052f, 0x0600, 0x06ff /* misc */
+};
+
+/* U+0800 to U+d7ff:  Result is 3 bytes for each uint16_t
+   U+dc00 to U+ffff:  Result is 3 bytes for each uint16_t */
+uint16_t pattern3[] = {
+   0x0800, 0xd7ff,    /* corner cases */
+   0xdc00, 0xffff,    /* corner cases */
+   0x083f, 0x1a21, 0x1b10, 0x2200, 0x225e, 0x22c9, 0xe001  /* misc */
+};
+
+/* U+d800 to U+dbff:  Result is 4 bytes for each uint16_t pair */
+uint16_t pattern4[] = {
+   0xd800, 0xdc00,    /* left  corner case */
+   0xdbff, 0xdfff,    /* right corner case */
+   0xdada, 0xdddd, 0xdeaf, 0xdcdc  /* misc */
+};
+
+
+void
+do_cu21(uint8_t *dst, uint64_t dst_len, uint16_t *src, uint64_t src_len)
+{
+   /* build up the register pairs */
+   register uint16_t *source     asm("4") = src;
+   register uint64_t  source_len asm("5") = src_len;
+   register uint8_t  *dest       asm("2") = dst;
+   register uint64_t  dest_len   asm("3") = dst_len;
+
+   asm volatile(
+                CU21(0,2,4)
+                : "+d"(dest), "+d"(source), "+d"(source_len), "+d"(dest_len)
+                :
+                : "memory", "cc");
+   return;
+}
+
+int main()
+{
+   /*------------------------------------------------------------*/
+   /* Write to a too small buffer                                */
+   /*------------------------------------------------------------*/
+
+   /* Write 2 bytes into buffer of length 1 */
+   do_cu21(malloc(1), 10, pattern2, 2);             // complaint (2 bytes)
+
+   /* Write 2 bytes into buffer of length 2 */
+   do_cu21(malloc(2), 10, pattern2, 2);             // no complaint
+
+   /* Write 3 bytes into buffer of length 1 */
+   do_cu21(malloc(1), 10, pattern3, 2);             // 2 complaints (3 = 2+1)
+
+   /* Write 3 bytes into buffer of length 2 */
+   do_cu21(malloc(2), 10, pattern3, 2);             // complaint (1 byte)
+
+   /* Write 3 bytes into buffer of length 3 */
+   do_cu21(malloc(3), 10, pattern3, 2);             // no complaint
+
+   /* Write 4 bytes into buffer of length 1 */
+   do_cu21(malloc(1), 10, pattern4, 4);             // complaint (4 bytes)
+
+   /* Write 4 bytes into buffer of length 2 */
+   do_cu21(malloc(2), 10, pattern4, 4);             // complaint (4 bytes)
+
+   /* Write 4 bytes into buffer of length 3 */
+   do_cu21(malloc(3), 10, pattern4, 4);             // complaint (4 bytes)
+
+   /* Write 4 bytes into buffer of length 4 */
+   do_cu21(malloc(4), 10, pattern4, 4);             // no complaint
+
+   /*------------------------------------------------------------*/
+   /* Read uninitialised data                                    */
+   /*------------------------------------------------------------*/
+   uint8_t *input = malloc(10);
+
+   /* Input buffer is completely uninitialised */
+   do_cu21(malloc(4), 4, (void *)input, 2);         // complaint
+   
+   /* Read 2 bytes from input buffer. First byte is uninitialised */
+   input = malloc(10);
+   input[1] = 0x0;
+   do_cu21(malloc(4), 4, (void *)input, 2);          // complaint
+
+   /* Read 2 bytes from input buffer. Second byte is uninitialised */
+   input = malloc(10);
+   input[0] = 0x0;
+   do_cu21(malloc(4), 4, (void *)input, 2);          // complaint
+   
+   /* Read 2 bytes from input buffer. All bytes are initialised */
+   input = malloc(10);
+   input[0] = input[1] = 0x0;
+   do_cu21(malloc(4), 4, (void *)input, 2);          // no complaint
+   
+   /* Read 4 bytes from input buffer. This iterates once. In the 1st
+      iteration all input bytes are initialised in the 2nd iteration all
+      input bytes are uninitialised. */
+   input = malloc(10);
+   input[0] = input[1] = 0x0;
+   do_cu21(malloc(4), 4, (void *)input, 4);          // complaint
+   
+   /* Write to NULL */
+   //   do_cu21(NULL, 10, pattern1, sizeof pattern1);    // complaint
+
+   return 0;
+}
diff --git a/memcheck/tests/s390x/cu21.stderr.exp b/memcheck/tests/s390x/cu21.stderr.exp
new file mode 100644
index 0000000..25563f2
--- /dev/null
+++ b/memcheck/tests/s390x/cu21.stderr.exp
@@ -0,0 +1,65 @@
+Invalid write of size 2
+   at 0x........: do_cu21 (cu21.c:45)
+   by 0x........: main (cu21.c:62)
+ Address 0x........ is 0 bytes inside a block of size 1 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (cu21.c:62)
+
+Invalid write of size 2
+   at 0x........: do_cu21 (cu21.c:45)
+   by 0x........: main (cu21.c:68)
+ Address 0x........ is 0 bytes inside a block of size 1 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (cu21.c:68)
+
+Invalid write of size 1
+   at 0x........: do_cu21 (cu21.c:45)
+   by 0x........: main (cu21.c:68)
+ Address 0x........ is 1 bytes after a block of size 1 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (cu21.c:68)
+
+Invalid write of size 1
+   at 0x........: do_cu21 (cu21.c:45)
+   by 0x........: main (cu21.c:71)
+ Address 0x........ is 0 bytes after a block of size 2 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (cu21.c:71)
+
+Invalid write of size 4
+   at 0x........: do_cu21 (cu21.c:45)
+   by 0x........: main (cu21.c:77)
+ Address 0x........ is 0 bytes inside a block of size 1 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (cu21.c:77)
+
+Invalid write of size 4
+   at 0x........: do_cu21 (cu21.c:45)
+   by 0x........: main (cu21.c:80)
+ Address 0x........ is 0 bytes inside a block of size 2 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (cu21.c:80)
+
+Invalid write of size 4
+   at 0x........: do_cu21 (cu21.c:45)
+   by 0x........: main (cu21.c:83)
+ Address 0x........ is 0 bytes inside a block of size 3 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (cu21.c:83)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_cu21 (cu21.c:45)
+   by 0x........: main (cu21.c:94)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_cu21 (cu21.c:45)
+   by 0x........: main (cu21.c:99)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_cu21 (cu21.c:45)
+   by 0x........: main (cu21.c:104)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_cu21 (cu21.c:45)
+   by 0x........: main (cu21.c:116)
+
diff --git a/memcheck/tests/s390x/cu21.stdout.exp b/memcheck/tests/s390x/cu21.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/s390x/cu21.stdout.exp
diff --git a/memcheck/tests/s390x/cu21.vgtest b/memcheck/tests/s390x/cu21.vgtest
new file mode 100644
index 0000000..10e7606
--- /dev/null
+++ b/memcheck/tests/s390x/cu21.vgtest
@@ -0,0 +1,2 @@
+prog: cu21
+vgopts: -q
diff --git a/memcheck/tests/s390x/cu42.c b/memcheck/tests/s390x/cu42.c
new file mode 100644
index 0000000..185b0dd
--- /dev/null
+++ b/memcheck/tests/s390x/cu42.c
@@ -0,0 +1,111 @@
+#include <stdint.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include "../../../none/tests/s390x/opcodes.h"
+
+/* Define various input buffers. */
+
+/* U+0000 to U+d7ff:  Result is 2 bytes for each uint32_t
+   U+dc00 to U+ffff:  Result is 2 bytes for each uint32_t */
+uint32_t pattern2[] = {
+   0x0000, 0xd7ff,    /* corner cases */
+   0xdc00, 0xffff,    /* corner cases */
+   0xabba, 0xf00d, 0xd00f, 0x1234 /* misc */
+};
+
+/* U+00010000 to U+0010ffff:  Result is 4 bytes for each uint32_t */
+uint32_t pattern4[] = {
+   0x00010000, 0x0010ffff,    /* corner cases */
+   0x00010123, 0x00023456, 0x000789ab, 0x00100000  /* misc */
+};
+
+static void
+do_cu42(uint16_t *dst, uint64_t dst_len, uint32_t *src, uint64_t src_len)
+{
+   /* build up the register pairs */
+   register uint32_t *source     asm("4") = src;
+   register uint64_t  source_len asm("5") = src_len;
+   register uint16_t *dest       asm("2") = dst;
+   register uint64_t  dest_len   asm("3") = dst_len;
+
+   asm volatile(
+                CU42(2,4)
+                : "+d"(dest), "+d"(source), "+d"(source_len), "+d"(dest_len)
+                :
+                : "memory", "cc");
+}
+
+int main()
+{
+   /*------------------------------------------------------------*/
+   /* Write to a too small buffer                                */
+   /*------------------------------------------------------------*/
+
+   /* Write 2 bytes into buffer of length 1 */
+   do_cu42(malloc(1), 10, pattern2, 4);             // complaint (2 bytes)
+
+   /* Write 2 bytes into buffer of length 2 */
+   do_cu42(malloc(2), 10, pattern2, 4);             // no complaint
+
+   /* Write 4 bytes into buffer of length 1 */
+   do_cu42(malloc(1), 10, pattern4, 4);             // complaint (4 bytes)
+
+   /* Write 4 bytes into buffer of length 2 */
+   do_cu42(malloc(2), 10, pattern4, 4);             // complaint (4 bytes)
+
+   /* Write 4 bytes into buffer of length 3 */
+   do_cu42(malloc(3), 10, pattern4, 4);             // complaint (4 bytes)
+
+   /* Write 4 bytes into buffer of length 4 */
+   do_cu42(malloc(4), 10, pattern4, 4);             // no complaint
+
+   /*------------------------------------------------------------*/
+   /* Read uninitialised data                                    */
+   /*------------------------------------------------------------*/
+   uint16_t buf[100];
+   uint8_t *input;
+
+   /* Input buffer is completely uninitialised */
+   input = malloc(10);
+   do_cu42(buf, sizeof buf, (void *)input, 4);         // complaint
+   
+   /* Read 4 bytes from input buffer. First byte is uninitialised */
+   input = malloc(10);
+   input[1] = input[2] = input[3] = 0x0;
+   do_cu42(buf, sizeof buf, (void *)input, 4);          // complaint
+
+   /* Read 4 bytes from input buffer. Second byte is uninitialised */
+   input = malloc(10);
+   input[0] = input[2] = input[3] = 0x0;
+   do_cu42(buf, sizeof buf, (void *)input, 4);          // complaint
+   
+   /* Read 4 bytes from input buffer. Third byte is uninitialised */
+   input = malloc(10);
+   input[0] = input[1] = input[3] = 0x0;
+   do_cu42(buf, sizeof buf, (void *)input, 4);          // complaint
+   
+   /* Read 4 bytes from input buffer. Fourth byte is uninitialised */
+   input = malloc(10);
+   input[0] = input[1] = input[2] = 0x0;
+   do_cu42(buf, sizeof buf, (void *)input, 4);          // complaint
+   
+   /* Read 4 bytes from input buffer. All bytes are initialised */
+   input = malloc(10);
+   memset(input, 0, 4);
+   do_cu42(buf, sizeof buf, (void *)input, 4);          // no complaint
+
+   /* Read 8 bytes from input buffer. This iterates once. In the 1st
+      iteration all input bytes are initialised in the 2nd iteration all
+      input bytes are uninitialised. */
+   input = malloc(10);
+   memset(input, 0, 4);
+   do_cu42(buf, sizeof buf, (void *)input, 8);          // complaint
+   
+   
+   /* Write to NULL */
+   //   do_cu42(NULL, 10, pattern1, sizeof pattern1);    // complaint
+
+   return 0;
+}
diff --git a/memcheck/tests/s390x/cu42.stderr.exp b/memcheck/tests/s390x/cu42.stderr.exp
new file mode 100644
index 0000000..246b22a
--- /dev/null
+++ b/memcheck/tests/s390x/cu42.stderr.exp
@@ -0,0 +1,52 @@
+Invalid write of size 2
+   at 0x........: do_cu42 (cu42.c:31)
+   by 0x........: main (cu42.c:47)
+ Address 0x........ is 0 bytes inside a block of size 1 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (cu42.c:47)
+
+Invalid write of size 4
+   at 0x........: do_cu42 (cu42.c:31)
+   by 0x........: main (cu42.c:53)
+ Address 0x........ is 0 bytes inside a block of size 1 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (cu42.c:53)
+
+Invalid write of size 4
+   at 0x........: do_cu42 (cu42.c:31)
+   by 0x........: main (cu42.c:56)
+ Address 0x........ is 0 bytes inside a block of size 2 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (cu42.c:56)
+
+Invalid write of size 4
+   at 0x........: do_cu42 (cu42.c:31)
+   by 0x........: main (cu42.c:59)
+ Address 0x........ is 0 bytes inside a block of size 3 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (cu42.c:59)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_cu42 (cu42.c:31)
+   by 0x........: main (cu42.c:72)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_cu42 (cu42.c:31)
+   by 0x........: main (cu42.c:77)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_cu42 (cu42.c:31)
+   by 0x........: main (cu42.c:82)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_cu42 (cu42.c:31)
+   by 0x........: main (cu42.c:87)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_cu42 (cu42.c:31)
+   by 0x........: main (cu42.c:92)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: do_cu42 (cu42.c:31)
+   by 0x........: main (cu42.c:104)
+
diff --git a/memcheck/tests/s390x/cu42.stdout.exp b/memcheck/tests/s390x/cu42.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/s390x/cu42.stdout.exp
diff --git a/memcheck/tests/s390x/cu42.vgtest b/memcheck/tests/s390x/cu42.vgtest
new file mode 100644
index 0000000..c1d9551
--- /dev/null
+++ b/memcheck/tests/s390x/cu42.vgtest
@@ -0,0 +1,2 @@
+prog: cu42
+vgopts: -q
diff --git a/memcheck/tests/s390x/filter_stderr b/memcheck/tests/s390x/filter_stderr
new file mode 100755
index 0000000..a778e97
--- /dev/null
+++ b/memcheck/tests/s390x/filter_stderr
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+../filter_stderr "$@"
diff --git a/memcheck/tests/s390x/ltgjhe.c b/memcheck/tests/s390x/ltgjhe.c
new file mode 100644
index 0000000..de0104c
--- /dev/null
+++ b/memcheck/tests/s390x/ltgjhe.c
@@ -0,0 +1,45 @@
+#include <stdio.h>
+#include "../../../none/tests/s390x/opcodes.h"
+int main()
+{
+	int field1, field2;
+	int result;
+
+	/*
+         * gcc does some tricks for checking the highest bit. It seems
+         * to load a full word/double word.
+         * By using mask=10 for brc (jhe) only the msb is influencing
+         * the code flow. This test was inspired by 308427
+         */
+	asm volatile(	"oi %1,128\n\t"
+			"la 1,%1\n\t"
+			LTG(0,0,1,000,00)
+			"jhe 1f\n\t"
+			"lghi %0,0\n\t"
+			"j 2f\n\t"
+			"1:lghi %0,0\n\t"
+			"2:\n\t"
+			:"=d" (result)
+			:"Q" (field1)
+			:"0","cc");
+
+	if (result)
+		printf("Error\n");
+
+	asm volatile(	"oi %1,128\n\t"
+			"la 1,%1\n\t"
+			LT(0,0,1,000,00)
+			"jhe 1f\n\t"
+			"lghi %0,0\n\t"
+			"j 2f\n\t"
+			"1:lghi %0,0\n\t"
+			"2:\n\t"
+			:"=d" (result)
+			:"Q" (field2)
+			:"0","cc");
+
+	if (result)
+		printf("Error\n");
+
+	return 0;
+}
diff --git a/memcheck/tests/s390x/ltgjhe.stderr.exp b/memcheck/tests/s390x/ltgjhe.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/s390x/ltgjhe.stderr.exp
diff --git a/memcheck/tests/s390x/ltgjhe.stdout.exp b/memcheck/tests/s390x/ltgjhe.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/s390x/ltgjhe.stdout.exp
diff --git a/memcheck/tests/s390x/ltgjhe.vgtest b/memcheck/tests/s390x/ltgjhe.vgtest
new file mode 100644
index 0000000..dc778c9
--- /dev/null
+++ b/memcheck/tests/s390x/ltgjhe.vgtest
@@ -0,0 +1,2 @@
+prog: ltgjhe
+vgopts: -q
diff --git a/memcheck/tests/sem.stderr.exp b/memcheck/tests/sem.stderr.exp
new file mode 100644
index 0000000..c22dd7f
--- /dev/null
+++ b/memcheck/tests/sem.stderr.exp
@@ -0,0 +1,10 @@
+
+
+HEAP SUMMARY:
+    in use at exit: 0 bytes in 0 blocks
+  total heap usage: 0 allocs, 0 frees, 0 bytes allocated
+
+For a detailed leak analysis, rerun with: --leak-check=full
+
+For counts of detected and suppressed errors, rerun with: -v
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/memcheck/tests/sem.vgtest b/memcheck/tests/sem.vgtest
new file mode 100644
index 0000000..876f002
--- /dev/null
+++ b/memcheck/tests/sem.vgtest
@@ -0,0 +1 @@
+prog: ../../none/tests/sem
diff --git a/memcheck/tests/sendmsg.c b/memcheck/tests/sendmsg.c
new file mode 100644
index 0000000..bd005c8
--- /dev/null
+++ b/memcheck/tests/sendmsg.c
@@ -0,0 +1,74 @@
+#include <netinet/ip.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+
+#define PORT 12345
+
+int
+main (int argc, char **argv)
+{
+  int fd;
+  struct sockaddr_in sa;
+  struct msghdr msg;
+  struct iovec iov[2];
+
+  fd = socket (AF_INET, SOCK_DGRAM, 0);
+  if (fd == -1)
+    {
+      perror ("socket()");
+      exit (EXIT_FAILURE);
+    }
+
+  sa.sin_family = AF_INET;
+  sa.sin_addr.s_addr = htonl (INADDR_LOOPBACK);
+  sa.sin_port = htons (PORT);
+  if (connect (fd, (struct sockaddr *) &sa, sizeof (sa)) == -1)
+    {
+      perror ("connect ()");
+      exit (EXIT_FAILURE);
+    }
+
+  // Create msg_hdr. Oops, we forget to set msg_name...
+  msg.msg_namelen = 0;
+  iov[0].iov_base = "one";
+  iov[0].iov_len = 3;
+  iov[1].iov_base = "two";
+  iov[1].iov_len = 3;
+  msg.msg_iov = &iov[0];
+  msg.msg_iovlen = 2;
+  msg.msg_control = NULL;
+  msg.msg_controllen = 0;
+
+  size_t s = sendmsg (fd, &msg, 0);
+
+  // Note how we now do set msg_name, but don't set msg_flags.
+  // The msg_flags field is ignored by sendmsg.
+  msg.msg_name = NULL;
+
+  fd = socket (AF_INET, SOCK_DGRAM, 0);
+  if (fd == -1)
+    {
+      perror ("socket()");
+      exit (EXIT_FAILURE);
+    }
+
+  if (connect (fd, (struct sockaddr *) &sa, sizeof (sa)) == -1)
+    {
+      perror ("connect ()");
+      exit (EXIT_FAILURE);
+    }
+
+  s = sendmsg (fd, &msg, 0);
+  if (s == -1)
+    {
+      perror ("sendmsg ()");
+      exit (EXIT_FAILURE);
+    }
+  else
+    fprintf (stderr, "sendmsg: %d\n", (int) s);
+
+  return 0;
+}
diff --git a/memcheck/tests/sendmsg.stderr.exp b/memcheck/tests/sendmsg.stderr.exp
new file mode 100644
index 0000000..38e20c5
--- /dev/null
+++ b/memcheck/tests/sendmsg.stderr.exp
@@ -0,0 +1,6 @@
+Syscall param sendmsg(msg) points to uninitialised byte(s)
+   at 0x........: sendmsg (in /...libc...)
+   by 0x........: main (sendmsg.c:45)
+ Address 0x........ is on thread 1's stack
+
+sendmsg: 6
diff --git a/memcheck/tests/sendmsg.vgtest b/memcheck/tests/sendmsg.vgtest
new file mode 100644
index 0000000..f252b62
--- /dev/null
+++ b/memcheck/tests/sendmsg.vgtest
@@ -0,0 +1,2 @@
+prog: sendmsg
+vgopts: -q
diff --git a/memcheck/tests/sh-mem.c b/memcheck/tests/sh-mem.c
index f168c76..7e50528 100644
--- a/memcheck/tests/sh-mem.c
+++ b/memcheck/tests/sh-mem.c
@@ -89,7 +89,8 @@
    U1 *undefA, expected_byte, expected_byte_alt;
 
    if (0 == RUNNING_ON_VALGRIND) {
-      fprintf(stderr, "error: this program only works when run under Valgrind\n");
+      fprintf(stderr,
+              "error: this program only works when run under Valgrind\n");
       exit(1);
    }
 
@@ -131,20 +132,21 @@
    // when doing shifting/masking and stuff like that.
 
 #define DO(NNN, Ty, ITy, isF4) \
-   fprintf(stderr, "-- NNN: %d %s %s ------------------------\n", NNN, #Ty, #ITy); \
+   fprintf(stderr, "-- NNN: %d %s %s ------------------------\n", \
+           NNN, #Ty, #ITy); \
    /* For all of the alignments from (0..NNN-1), eg. if NNN==4, we do */ \
    /* alignments of 0, 1, 2, 3. */ \
    for (h = 0; h < NNN; h++) { \
- \
+      \
       size_t n  = sizeof(a); \
       size_t nN = n / sizeof(Ty); \
       Ty* aN    = (Ty*)a; \
       Ty* bN    = (Ty*)b; \
       Ty* aNb   = (Ty*)(((U1*)aN) + h); /* set offset from a[] */ \
       Ty* bNb   = (Ty*)(((U1*)bN) + h); /* set offset from b[] */ \
- \
+      \
       fprintf(stderr, "h = %d (checking %d..%d)   ", h, h, (int)(n-NNN+h)); \
- \
+      \
       /* For each of the 256 possible V byte values... */ \
       for (j = 0; j < 256; j++) { \
          /* build the value for i (one of: i, ii, iiii, iiiiiiii) */ \
@@ -159,7 +161,7 @@
             VALGRIND_MAKE_MEM_DEFINED(&undefN_ITyDef, NNN); \
             assert(tmpDef == (U8)undefN_ITyDef); \
          } \
- \
+         \
          /* We have to use an array for undefN_Ty -- because if we try to
           * convert an integer type from build into an FP type with a
           * straight cast -- eg "float f = (float)i" -- the value gets
@@ -168,8 +170,7 @@
           * undoubtedly nonsense, but that's not a problem here). */ \
          undefN_Ty = (Ty*)&undefN_ITy; \
          if (0 == j % 32) fprintf(stderr, "%d...", j); /* progress meter */ \
- \
- \
+         \
          /* A nasty exception: most machines so far (x86/PPC32/PPC64)
           * don't have 32-bit floats.  So 32-bit floats get cast to 64-bit
           * floats.  Memcheck does a PCast in this case, which means that if
@@ -186,12 +187,13 @@
             expected_byte = j; \
             expected_byte_alt = j; \
          } \
- \
+         \
          /* STOREVn.  Note that we use the first element of the undefN_Ty
           * array, as explained above. */ \
          for (i = 0; i < nN-1; i++) { aNb[i] = undefN_Ty[0]; } \
-         check_all(h, n-NNN+h, expected_byte, expected_byte_alt, "STOREVn", h); \
- \
+         check_all(h, n-NNN+h, expected_byte, expected_byte_alt, \
+                   "STOREVn", h); \
+         \
          /* LOADVn -- by copying the values to one place and then back, 
           * we ensure that LOADVn gets exercised. */ \
          for (i = 0; i < nN-1; i++) { bNb[i] = aNb[i]; } \
diff --git a/memcheck/tests/sigkill.stderr.exp-mips32 b/memcheck/tests/sigkill.stderr.exp-mips32
new file mode 100644
index 0000000..de4a860
--- /dev/null
+++ b/memcheck/tests/sigkill.stderr.exp-mips32
@@ -0,0 +1,197 @@
+
+setting signal 1: Success
+getting signal 1: Success
+
+setting signal 2: Success
+getting signal 2: Success
+
+setting signal 3: Success
+getting signal 3: Success
+
+setting signal 4: Success
+getting signal 4: Success
+
+setting signal 5: Success
+getting signal 5: Success
+
+setting signal 6: Success
+getting signal 6: Success
+
+setting signal 7: Success
+getting signal 7: Success
+
+setting signal 8: Success
+getting signal 8: Success
+
+setting signal 9: Warning: ignored attempt to set SIGKILL handler in sigaction();
+         the SIGKILL signal is uncatchable
+Invalid argument
+getting signal 9: Success
+
+setting signal 10: Success
+getting signal 10: Success
+
+setting signal 11: Success
+getting signal 11: Success
+
+setting signal 12: Success
+getting signal 12: Success
+
+setting signal 13: Success
+getting signal 13: Success
+
+setting signal 14: Success
+getting signal 14: Success
+
+setting signal 15: Success
+getting signal 15: Success
+
+setting signal 16: Success
+getting signal 16: Success
+
+setting signal 17: Success
+getting signal 17: Success
+
+setting signal 18: Success
+getting signal 18: Success
+
+setting signal 19: Success
+getting signal 19: Success
+
+setting signal 20: Success
+getting signal 20: Success
+
+setting signal 21: Success
+getting signal 21: Success
+
+setting signal 22: Success
+getting signal 22: Success
+
+setting signal 23: Warning: ignored attempt to set SIGSTOP handler in sigaction();
+         the SIGSTOP signal is uncatchable
+Invalid argument
+getting signal 23: Success
+
+setting signal 24: Success
+getting signal 24: Success
+
+setting signal 25: Success
+getting signal 25: Success
+
+setting signal 26: Success
+getting signal 26: Success
+
+setting signal 27: Success
+getting signal 27: Success
+
+setting signal 28: Success
+getting signal 28: Success
+
+setting signal 29: Success
+getting signal 29: Success
+
+setting signal 30: Success
+getting signal 30: Success
+
+setting signal 31: Success
+getting signal 31: Success
+
+setting signal 34: Success
+getting signal 34: Success
+
+setting signal 35: Success
+getting signal 35: Success
+
+setting signal 36: Success
+getting signal 36: Success
+
+setting signal 37: Success
+getting signal 37: Success
+
+setting signal 38: Success
+getting signal 38: Success
+
+setting signal 39: Success
+getting signal 39: Success
+
+setting signal 40: Success
+getting signal 40: Success
+
+setting signal 41: Success
+getting signal 41: Success
+
+setting signal 42: Success
+getting signal 42: Success
+
+setting signal 43: Success
+getting signal 43: Success
+
+setting signal 44: Success
+getting signal 44: Success
+
+setting signal 45: Success
+getting signal 45: Success
+
+setting signal 46: Success
+getting signal 46: Success
+
+setting signal 47: Success
+getting signal 47: Success
+
+setting signal 48: Success
+getting signal 48: Success
+
+setting signal 49: Success
+getting signal 49: Success
+
+setting signal 50: Success
+getting signal 50: Success
+
+setting signal 51: Success
+getting signal 51: Success
+
+setting signal 52: Success
+getting signal 52: Success
+
+setting signal 53: Success
+getting signal 53: Success
+
+setting signal 54: Success
+getting signal 54: Success
+
+setting signal 55: Success
+getting signal 55: Success
+
+setting signal 56: Success
+getting signal 56: Success
+
+setting signal 57: Success
+getting signal 57: Success
+
+setting signal 58: Success
+getting signal 58: Success
+
+setting signal 59: Success
+getting signal 59: Success
+
+setting signal 60: Success
+getting signal 60: Success
+
+setting signal 61: Success
+getting signal 61: Success
+
+setting signal 62: Success
+getting signal 62: Success
+
+setting signal 65: Success
+getting signal 65: Success
+
+
+HEAP SUMMARY:
+    in use at exit: ... bytes in ... blocks
+  total heap usage: ... allocs, ... frees, ... bytes allocated
+
+For a detailed leak analysis, rerun with: --leak-check=full
+
+For counts of detected and suppressed errors, rerun with: -v
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
diff --git a/memcheck/tests/static_malloc.c b/memcheck/tests/static_malloc.c
new file mode 100644
index 0000000..22def9e
--- /dev/null
+++ b/memcheck/tests/static_malloc.c
@@ -0,0 +1,21 @@
+#include <stdio.h>
+
+static char buf[10000];
+static int bufi = 0;
+void* malloc(size_t i) {
+   bufi += i;
+   return buf + bufi - i;
+}
+
+void free(void*ptr) {
+}
+
+int main (void)
+{
+   char *p;
+   p = malloc(10);
+   p = malloc(123);
+   free(p);
+   return 0;
+}
+
diff --git a/memcheck/tests/static_malloc.stderr.exp b/memcheck/tests/static_malloc.stderr.exp
new file mode 100644
index 0000000..5090107
--- /dev/null
+++ b/memcheck/tests/static_malloc.stderr.exp
@@ -0,0 +1,4 @@
+10 bytes in 1 blocks are definitely lost in loss record ... of ...
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (static_malloc.c:16)
+
diff --git a/memcheck/tests/static_malloc.vgtest b/memcheck/tests/static_malloc.vgtest
new file mode 100644
index 0000000..7d3a455
--- /dev/null
+++ b/memcheck/tests/static_malloc.vgtest
@@ -0,0 +1,2 @@
+prog: static_malloc
+vgopts: -q --leak-check=full --soname-synonyms=somalloc=NONE
diff --git a/memcheck/tests/stpncpy.c b/memcheck/tests/stpncpy.c
new file mode 100644
index 0000000..fe348f8
--- /dev/null
+++ b/memcheck/tests/stpncpy.c
@@ -0,0 +1,39 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#define _GNU_SOURCE
+#include <string.h>
+
+int main(int argc, char **argv)
+{
+  char a[] = "The spazzy orange tiger jumped over the tawny jaguar.";
+  char *b, *c;
+  char *d, *e;
+
+  size_t l = strlen (a);
+  fprintf (stderr, "strlen: %zd\n", l); // strlen: 53
+
+  b = (char *) malloc((l + 3)); // Extra space for some zeros.
+  b[l] = 'X';
+  b[l + 1] = 'X';
+  b[l + 2] = 'X';
+  c = stpncpy (b, a, l + 3);
+
+  fprintf (stderr, "equal: %d\n", strcmp (a, b)); // equal: 0
+  fprintf (stderr, "retlen: %zd\n", c - b); // retlen: 53
+  fprintf (stderr, "last: '%c'\n", *(c - 1)); // last: '.'
+  fprintf (stderr, "zero0: %d\n", *c); // zero0: 0
+  fprintf (stderr, "zero1: %d\n", *(c + 1)); // zero1: 0
+  fprintf (stderr, "zero2: %d\n", *(c + 2)); // zero2: 0
+
+  d = (char *) malloc (l - 1); // No room for zero termination or dot.
+  e = stpncpy (d, b, l - 1);
+
+  fprintf (stderr, "equal: %d\n", strncmp (b, d, l - 1)); // equal: 0
+  fprintf (stderr, "retlen: %zd\n", e - d); // retlen: 52
+  fprintf (stderr, "last: '%c'\n", *(e - 1)); // last: 'r'
+
+  free (b);
+  free (d);
+  return 0;
+}
diff --git a/memcheck/tests/stpncpy.stderr.exp b/memcheck/tests/stpncpy.stderr.exp
new file mode 100644
index 0000000..7aa24b8
--- /dev/null
+++ b/memcheck/tests/stpncpy.stderr.exp
@@ -0,0 +1,10 @@
+strlen: 53
+equal: 0
+retlen: 53
+last: '.'
+zero0: 0
+zero1: 0
+zero2: 0
+equal: 0
+retlen: 52
+last: 'r'
diff --git a/memcheck/tests/stpncpy.stdout.exp b/memcheck/tests/stpncpy.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/stpncpy.stdout.exp
diff --git a/memcheck/tests/stpncpy.vgtest b/memcheck/tests/stpncpy.vgtest
new file mode 100644
index 0000000..a54595a
--- /dev/null
+++ b/memcheck/tests/stpncpy.vgtest
@@ -0,0 +1,3 @@
+prog: stpncpy
+prereq: test -e ./stpncpy
+vgopts: -q
diff --git a/memcheck/tests/strchr.stderr.exp3 b/memcheck/tests/strchr.stderr.exp3
new file mode 100644
index 0000000..e1832fa
--- /dev/null
+++ b/memcheck/tests/strchr.stderr.exp3
@@ -0,0 +1,12 @@
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: __GI_strchr (mc_replace_strmem.c:...)
+   by 0x........: main (strchr.c:15)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: __GI_strchr (mc_replace_strmem.c:...)
+   by 0x........: main (strchr.c:15)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: __GI_strrchr (mc_replace_strmem.c:...)
+   by 0x........: main (strchr.c:16)
+
diff --git a/memcheck/tests/strchr.vgtest b/memcheck/tests/strchr.vgtest
index e914726..0e28ee3 100644
--- a/memcheck/tests/strchr.vgtest
+++ b/memcheck/tests/strchr.vgtest
@@ -1,2 +1,4 @@
 prog: strchr
 vgopts: -q
+stderr_filter: filter_strchr
+stderr_filter_args: strchr.c
diff --git a/memcheck/tests/suppfree.supp b/memcheck/tests/suppfree.supp
new file mode 100644
index 0000000..fd4724a
--- /dev/null
+++ b/memcheck/tests/suppfree.supp
@@ -0,0 +1,57 @@
+{
+   nonmatching1
+   Memcheck:Free
+   fun:free
+   fun:dd
+   fun:ccc
+   fun:bbb
+   fun:aaa
+   fun:main
+}
+
+{
+   nonmatching2
+   Memcheck:Free
+   fun:free
+   fun:ddd
+   fun:cc
+   fun:bbb
+   fun:aaa
+   fun:main
+}
+
+{
+   nonmatching3
+   Memcheck:Free
+   fun:free
+   fun:ddd
+   fun:ccc
+   fun:xxxxxxxx
+   fun:bbb
+   fun:aaa
+   fun:main
+}
+
+{
+   nonmatching4
+   Memcheck:Free
+   fun:free
+   fun:ddd
+   fun:ccc
+   ...
+   fun:bbb
+   fun:aaa
+   fun:main
+   fun:nonmatching
+}
+
+{
+   nonmatching5
+   Memcheck:Free
+   fun:free
+   fun:ddd
+   obj:nonmatching
+   fun:bbb
+   fun:aaa
+   fun:main
+}
diff --git a/memcheck/tests/suppfree.vgtest b/memcheck/tests/suppfree.vgtest
index a7789c3..dbdfec7 100644
--- a/memcheck/tests/suppfree.vgtest
+++ b/memcheck/tests/suppfree.vgtest
@@ -1,2 +1,2 @@
 prog: suppfree
-vgopts: -q
+vgopts: --suppressions=suppfree.supp -q
diff --git a/memcheck/tests/test-plo-yes.vgtest b/memcheck/tests/test-plo-yes.vgtest
index 79119ea..94422ad 100644
--- a/memcheck/tests/test-plo-yes.vgtest
+++ b/memcheck/tests/test-plo-yes.vgtest
@@ -1,2 +1,3 @@
+prereq: test ! `../../tests/arch_test ppc32` && ! `../../tests/arch_test ppc64` && ! `../../tests/arch_test s390x`
 prog: test-plo
 vgopts: -q --partial-loads-ok=yes
diff --git a/memcheck/tests/undef_malloc_args.c b/memcheck/tests/undef_malloc_args.c
new file mode 100644
index 0000000..dc942b3
--- /dev/null
+++ b/memcheck/tests/undef_malloc_args.c
@@ -0,0 +1,57 @@
+#include <stdlib.h>
+//#include <malloc.h>
+#include "../memcheck.h"
+int main (int argc, char*argv[])
+{
+   size_t def_size = 1<<20;
+   char *p;
+   char *new_p;
+
+   if (argc > 10000) def_size = def_size * 2;
+
+   {
+      size_t size = def_size;
+      VALGRIND_MAKE_MEM_UNDEFINED(&size, 1);
+      p = malloc(size);
+   }
+
+   VALGRIND_MAKE_MEM_UNDEFINED(&p, 1);
+   new_p = realloc(p, def_size);
+
+   VALGRIND_MAKE_MEM_UNDEFINED(&new_p, 1);
+   new_p = realloc(new_p, def_size);
+
+   VALGRIND_MAKE_MEM_UNDEFINED(&new_p, 1);
+   free (new_p);
+
+   {
+      size_t nmemb = 1;
+      VALGRIND_MAKE_MEM_UNDEFINED(&nmemb, 1);
+      new_p = calloc(nmemb, def_size);
+      free (new_p);
+   }
+#if 0
+   {
+      size_t alignment = 1;
+      VALGRIND_MAKE_MEM_UNDEFINED(&alignment, 1);
+      new_p = memalign(alignment, def_size);
+      free(new_p);
+   }
+   
+   {
+      size_t nmemb = 16;
+      size_t size = def_size;
+      VALGRIND_MAKE_MEM_UNDEFINED(&size, 1);
+      new_p = memalign(nmemb, size);
+      free(new_p);
+   }
+
+   {
+      size_t size = def_size;
+      VALGRIND_MAKE_MEM_UNDEFINED(&size, 1);
+      new_p = valloc(size);
+      free (new_p);
+   }
+#endif
+   return 0;
+}
diff --git a/memcheck/tests/undef_malloc_args.stderr.exp b/memcheck/tests/undef_malloc_args.stderr.exp
new file mode 100644
index 0000000..b3b52bb
--- /dev/null
+++ b/memcheck/tests/undef_malloc_args.stderr.exp
@@ -0,0 +1,20 @@
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (undef_malloc_args.c:15)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: realloc (vg_replace_malloc.c:...)
+   by 0x........: main (undef_malloc_args.c:19)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: realloc (vg_replace_malloc.c:...)
+   by 0x........: main (undef_malloc_args.c:22)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: free (vg_replace_malloc.c:...)
+   by 0x........: main (undef_malloc_args.c:25)
+
+Conditional jump or move depends on uninitialised value(s)
+   at 0x........: calloc (vg_replace_malloc.c:...)
+   by 0x........: main (undef_malloc_args.c:30)
+
diff --git a/memcheck/tests/undef_malloc_args.vgtest b/memcheck/tests/undef_malloc_args.vgtest
new file mode 100644
index 0000000..9b411d9
--- /dev/null
+++ b/memcheck/tests/undef_malloc_args.vgtest
@@ -0,0 +1,2 @@
+vgopts: --leak-check=yes -q
+prog: undef_malloc_args
diff --git a/memcheck/tests/unit_libcbase.c b/memcheck/tests/unit_libcbase.c
index e90a8e2..752a1fb 100644
--- a/memcheck/tests/unit_libcbase.c
+++ b/memcheck/tests/unit_libcbase.c
@@ -302,9 +302,9 @@
 {
    // For VG_(strtoll*)()
    typedef struct {
-      Char* str;        // The string to convert.
-      Long  res;        // The result.
-      Char  endptr_val; // The char one past the end of the converted text.
+      HChar* str;        // The string to convert.
+      Long   res;        // The result.
+      HChar  endptr_val; // The char one past the end of the converted text.
    } StrtollInputs;
 
    // VG_(strtoll10)()
@@ -342,8 +342,8 @@
       // Nb: We test the results against strtoll() as well.
       int i;
       for (i = 0; i < (sizeof(a) / sizeof(StrtollInputs)); i++) {
-         Char* endptr1;
-         char* endptr2;
+         HChar* endptr1;
+         HChar* endptr2;
          Long      res1 = VG_(strtoll10)(a[i].str, &endptr1);
          long long res2 =     strtoll   (a[i].str, &endptr2, 10);
          //printf("res1 = %lld, *endptr1 = '%c'\n", res1, *endptr1);
@@ -397,8 +397,8 @@
       // Nb: We test the results against strtoll() as well.
       int i;
       for (i = 0; i < (sizeof(a) / sizeof(StrtollInputs)); i++) {
-         Char* endptr1;
-         char* endptr2;
+         HChar* endptr1;
+         HChar* endptr2;
          Long      res1 = VG_(strtoll16)(a[i].str, &endptr1);
          long long res2 =     strtoll   (a[i].str, &endptr2, 16);
          //printf("  res1 = %lld, *endptr1 = '%c'\n", res1, *endptr1);
diff --git a/memcheck/tests/unit_oset.c b/memcheck/tests/unit_oset.c
index 854edf1..37e4fc0 100644
--- a/memcheck/tests/unit_oset.c
+++ b/memcheck/tests/unit_oset.c
@@ -54,7 +54,7 @@
   return seed;
 }
 
-static void* allocate_node(HChar* cc, SizeT szB)
+static void* allocate_node(const HChar* cc, SizeT szB)
 { return malloc(szB); }
 
 static void free_node(void* p)
@@ -69,9 +69,9 @@
 // case a Word), in which case the element is also the key.
 
 __attribute__((unused))
-static Char *wordToStr(void *p)
+static HChar *wordToStr(void *p)
 {
-   static char buf[32];
+   static HChar buf[32];
    sprintf(buf, "%ld", *(Word*)p);
    return buf;
 }
@@ -265,7 +265,7 @@
    // Try some operations on an empty OSet to ensure they don't screw up.
    vg_assert( ! VG_(OSetWord_Contains)(oset, v) );
    vg_assert( ! VG_(OSetWord_Remove)(oset, v) );
-   vg_assert( ! VG_(OSetWord_Next)(oset, &v) );
+   vg_assert( ! VG_(OSetWord_Next)(oset, (UWord *)&v) );
    vg_assert( 0 == VG_(OSetWord_Size)(oset) );
 
    // Create some elements, with gaps (they're all even) but no dups,
@@ -316,15 +316,15 @@
    n = 0;
    prev = -1;
    VG_(OSetWord_ResetIter)(oset);
-   while ( VG_(OSetWord_Next)(oset, &v) ) {
+   while ( VG_(OSetWord_Next)(oset, (UWord *)&v) ) {
       Word curr = v;
       assert(prev < curr); 
       prev = curr;
       n++;
    }
    assert(NN == n);
-   vg_assert( ! VG_(OSetWord_Next)(oset, &v) );
-   vg_assert( ! VG_(OSetWord_Next)(oset, &v) );
+   vg_assert( ! VG_(OSetWord_Next)(oset, (UWord *)&v) );
+   vg_assert( ! VG_(OSetWord_Next)(oset, (UWord *)&v) );
 
    // Check that we can remove half of the elements.
    for (i = 0; i < NN; i += 2) {
@@ -352,7 +352,7 @@
    // Try some more operations on the empty OSet to ensure they don't screw up.
    vg_assert( ! VG_(OSetWord_Contains)(oset, v) );
    vg_assert( ! VG_(OSetWord_Remove)(oset, v) );
-   vg_assert( ! VG_(OSetWord_Next)(oset, &v) );
+   vg_assert( ! VG_(OSetWord_Next)(oset, (UWord *)&v) );
    vg_assert( 0 == VG_(OSetWord_Size)(oset) );
 
    // Re-insert remaining elements, to give OSetWord_Destroy something to
@@ -387,9 +387,9 @@
 Block;
 
 __attribute__((unused))
-static Char *blockToStr(void *p)
+static HChar *blockToStr(void *p)
 {
-   static char buf[32];
+   static HChar buf[32];
    Block* b = (Block*)p;
    sprintf(buf, "<(%d) %lu..%lu (%d)>", b->b1, b->first, b->last, b->b2);
    return buf;
diff --git a/memcheck/tests/varinfo3.stderr.exp b/memcheck/tests/varinfo3.stderr.exp
index d24ddb8..73130b7 100644
--- a/memcheck/tests/varinfo3.stderr.exp
+++ b/memcheck/tests/varinfo3.stderr.exp
@@ -3,7 +3,7 @@
    by 0x........: foo (varinfo3.c:54)
    by 0x........: main (varinfo3.c:66)
  Location 0x........ is 0 bytes inside static_global_def[1],
- declared at varinfo3.c:35, in frame #0 of thread 1
+ a global variable declared at varinfo3.c:35
 
 Uninitialised byte(s) found during client check request
    at 0x........: croak (varinfo3.c:28)
@@ -17,7 +17,7 @@
    by 0x........: foo (varinfo3.c:56)
    by 0x........: main (varinfo3.c:66)
  Location 0x........ is 0 bytes inside static_global_undef[3],
- declared at varinfo3.c:37, in frame #0 of thread 1
+ a global variable declared at varinfo3.c:37
 
 Uninitialised byte(s) found during client check request
    at 0x........: croak (varinfo3.c:28)
diff --git a/memcheck/tests/varinfo3.stderr.exp-ppc64 b/memcheck/tests/varinfo3.stderr.exp-ppc64
index e02a3c8..8dff370 100644
--- a/memcheck/tests/varinfo3.stderr.exp-ppc64
+++ b/memcheck/tests/varinfo3.stderr.exp-ppc64
@@ -3,7 +3,7 @@
    by 0x........: foo (varinfo3.c:54)
    by 0x........: main (varinfo3.c:66)
  Location 0x........ is 0 bytes inside static_global_def[1],
- declared at varinfo3.c:35, in frame #0 of thread 1
+ a global variable declared at varinfo3.c:35
 
 Uninitialised byte(s) found during client check request
    at 0x........: croak (varinfo3.c:29)
@@ -17,7 +17,7 @@
    by 0x........: foo (varinfo3.c:56)
    by 0x........: main (varinfo3.c:66)
  Location 0x........ is 0 bytes inside static_global_undef[3],
- declared at varinfo3.c:37, in frame #0 of thread 1
+ a global variable declared at varinfo3.c:37
 
 Uninitialised byte(s) found during client check request
    at 0x........: croak (varinfo3.c:29)
diff --git a/memcheck/tests/varinfo5.stderr.exp b/memcheck/tests/varinfo5.stderr.exp
index 3be0984..5fa9d97 100644
--- a/memcheck/tests/varinfo5.stderr.exp
+++ b/memcheck/tests/varinfo5.stderr.exp
@@ -83,7 +83,7 @@
    by 0x........: varinfo5_main (varinfo5so.c:156)
    by 0x........: main (varinfo5.c:5)
  Location 0x........ is 0 bytes inside static_global_def[1],
- declared at varinfo5so.c:87, in frame #0 of thread 1
+ a global variable declared at varinfo5so.c:87
 
 Uninitialised byte(s) found during client check request
    at 0x........: croak (varinfo5so.c:29)
@@ -101,7 +101,7 @@
    by 0x........: varinfo5_main (varinfo5so.c:156)
    by 0x........: main (varinfo5.c:5)
  Location 0x........ is 0 bytes inside static_global_undef[3],
- declared at varinfo5so.c:89, in frame #0 of thread 1
+ a global variable declared at varinfo5so.c:89
 
 Uninitialised byte(s) found during client check request
    at 0x........: croak (varinfo5so.c:29)
diff --git a/memcheck/tests/varinfo5.stderr.exp-ppc64 b/memcheck/tests/varinfo5.stderr.exp-ppc64
index db0c4fd..f5ebf0b 100644
--- a/memcheck/tests/varinfo5.stderr.exp-ppc64
+++ b/memcheck/tests/varinfo5.stderr.exp-ppc64
@@ -83,7 +83,7 @@
    by 0x........: varinfo5_main (varinfo5so.c:156)
    by 0x........: main (varinfo5.c:5)
  Location 0x........ is 0 bytes inside static_global_def[1],
- declared at varinfo5so.c:87, in frame #0 of thread 1
+ a global variable declared at varinfo5so.c:87
 
 Uninitialised byte(s) found during client check request
    at 0x........: croak (varinfo5so.c:30)
@@ -101,7 +101,7 @@
    by 0x........: varinfo5_main (varinfo5so.c:156)
    by 0x........: main (varinfo5.c:5)
  Location 0x........ is 0 bytes inside static_global_undef[3],
- declared at varinfo5so.c:89, in frame #0 of thread 1
+ a global variable declared at varinfo5so.c:89
 
 Uninitialised byte(s) found during client check request
    at 0x........: croak (varinfo5so.c:30)
diff --git a/memcheck/tests/vbit-test/Makefile.am b/memcheck/tests/vbit-test/Makefile.am
new file mode 100644
index 0000000..6ae57b0
--- /dev/null
+++ b/memcheck/tests/vbit-test/Makefile.am
@@ -0,0 +1,45 @@
+include $(top_srcdir)/Makefile.all.am
+
+EXTRA_DIST = vbit-test.vgtest vbit-test.stderr.exp
+
+dist_noinst_SCRIPTS = filter_stderr
+
+#----------------------------------------------------------------------------
+# Headers
+#----------------------------------------------------------------------------
+
+pkginclude_HEADERS = 
+noinst_HEADERS = vtest.h vbits.h
+
+#----------------------------------------------------------------------------
+# vbit_test
+#----------------------------------------------------------------------------
+
+noinst_PROGRAMS = vbit-test
+
+if VGCONF_OS_IS_DARWIN
+noinst_DSYMS = $(noinst_PROGRAMS)
+endif
+
+SOURCES = \
+	main.c \
+	unary.c \
+	binary.c \
+	ternary.c \
+	qernary.c \
+	util.c \
+	vbits.c \
+	irops.c \
+	valgrind.c
+
+vbit_test_SOURCES      = $(SOURCES)
+vbit_test_CPPFLAGS     = $(AM_CPPFLAGS) \
+                         -I$(top_srcdir)/include  \
+                         -I$(top_srcdir)/memcheck \
+                         -I$(top_srcdir)/VEX/pub
+vbit_test_CFLAGS       = $(AM_CFLAGS) -std=c99
+vbit_test_DEPENDENCIES = 
+vbit_test_LDADD        = 
+vbit_test_LDFLAGS      = 
+vbit_test_LINK = $(LINK) 
+	$(LINK) $(vbit_test_CFLAGS) $(vbit_test_LDFLAGS)
diff --git a/memcheck/tests/vbit-test/README b/memcheck/tests/vbit-test/README
new file mode 100644
index 0000000..add93f8
--- /dev/null
+++ b/memcheck/tests/vbit-test/README
@@ -0,0 +1,102 @@
+vbit-test
+
+The program tests the effect of an undefined input bit to an IROp on the
+definedness of the result of that operation. It also checks that only those
+bits in the result are undefined that we expect to be undefined. That way
+we can detect false positives (there are bits in the result that are
+undefined but shouldn't) and false negatives (there are defined bits in
+the result that should be undefined).
+
+By design, the tester will always be in-synch with the list of IROps
+in libvex_ir.h. Addition / removel of IROps will cause a compile or
+runtime error of the tester and thusly will not go unnoticed.
+
+
+How it works
+------------
+The underlying idea is to
+(1) use VALGRIND_SET_VBITS to set the V-bits of the operands of an IROp
+(2) execute that IROp
+(3) use VALGRIND_GET_VBITS to obtain the V-bits of the result
+(4) compare the result against our expectation
+Do that for all IROps and for all input bits of their operands.
+For all this to work, the tester must run under the auspices of memcheck.
+
+The key step here is #2. To "execute an IROp" we need to inject some
+IR into the the superblock. This is accomplished by adding a new "special
+instruction" that is supported by all frontends. During the decoding step
+that instruction will be recognised and a suitable piece of IR will be
+inserted (function vex_inject_ir does just that). What is "suitable" depends
+on the IROp at hand and its operands. We need to know the addresses of
+those operands, their types and, trivially, which IROp we want to execute.
+This information is collected in the IR Injection Control Block (IRICB).
+To get the IRICB to VEX we use the new client request 
+VG_USERREQ__VEX_INIT_FOR_IRI.
+
+
+Invocation
+----------
+Use   vbit-test --help   to obtain list of supported command line flags.
+
+
+Source code overview
+--------------------
+main.c
+Contains the main loop that iterates over all IROps in libvex_ir.h.
+Depending on the number of operands one of the functions test_unary,
+test_binary, etc. will be invoked to run all tests for that opreator.
+
+irops.c
+List of IROps. For each operator it defines how undefined input bits
+influence the output (result) and whether the operator is supported on a
+given architecture.
+
+util.c
+Miscellaneous convenience functions. It also includes sizeof_irtype and
+typeof_primop which were imported from VEX/priv/ir_defs.c.
+
+unary.c
+The function test_unary_op is the work horse. It iterates over all input
+bits of the single operand. For each such bit, the corresponding V-bit will
+be set to undefined, the IROps is executed and the resulting V-bits will
+be compared against the expected result.
+The function check_result_for_unary will check the V-bits for correctness.
+
+binary.c, ternary.c, qernary.c
+Like unary.c...
+
+valgrind.c
+The main function there is valgrind_execute_test. It will 
+(1) set the V-bits of the operands using the VALGRIND_SET_VBITS mechanism,
+(2) inject IR into the current IRSB to exacute a single IROp, and
+(3) obtain the V-bits of the result using the VALGRIND_GET_VBITS mechanism.
+The addresses of the operands and the result, as well as they V-bit vectors
+are stored in the test_data_t structure.
+
+<valgrind>/VEX/priv/ir_inject.c
+The file provides the function vex_inject_ir which will inject a piece of
+IR into the current IRSB based on the information provided in the IRICB.
+That code snippet will perform a single IR operation
+
+<valgrind>/include/valgrind.h
+Defines the macro VALGRIND_VEX_INJECT_IR for all architectures.
+Also defines a new client request VG_USERREQ__VEX_INIT_FOR_IRI.
+
+
+Adding a new IROp
+-----------------
+The following steps are needed
+(1) Add the operator to irops.c
+(2) If the operator propagates undefinedness from input to output in a new
+    way:
+    (a) Add a new enumerator to undef_t and document it there.
+    (b) Add a new case in function check_result_for_XYZ depending on the
+        arity of the operator. The code snippet there is supposed to check
+        that the result matches what we expect.
+
+
+Status
+------
+vbit-test has been tested on x86-64, ppc64, s390x, and mips32.
+There is support for other architectures in valgrind.h and guest_ARCH_toIR.c
+but it has not been tested. 
diff --git a/memcheck/tests/vbit-test/TODO b/memcheck/tests/vbit-test/TODO
new file mode 100644
index 0000000..9a51e79
--- /dev/null
+++ b/memcheck/tests/vbit-test/TODO
@@ -0,0 +1,9 @@
+(1) For all operators: Add a test where both operands are completely 
+    defined, i.e. all v-bits 0.
+
+(2) Add support for IROps with vector operands.
+
+(3) Test floating point operations with various rounding modes.
+
+(4) Iop_CmpORD32U and friends are not supported (ppc only)
+
diff --git a/memcheck/tests/vbit-test/binary.c b/memcheck/tests/vbit-test/binary.c
new file mode 100644
index 0000000..64b43a3
--- /dev/null
+++ b/memcheck/tests/vbit-test/binary.c
@@ -0,0 +1,469 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#include <assert.h>
+#include <string.h>  // memset
+#include "vtest.h"
+
+
+/* A convenience function to compute either v1 & ~v2 & val2  or
+   v1 & ~v2 & ~val2  depending on INVERT_VAL2. */
+static vbits_t
+and_combine(vbits_t v1, vbits_t v2, value_t val2, int invert_val2)
+{
+   assert(v1.num_bits == v2.num_bits);
+
+   vbits_t new = { .num_bits = v2.num_bits };
+
+   if (invert_val2) {
+      switch (v2.num_bits) {
+      case 8:  val2.u8  = ~val2.u8  & 0xff;   break;
+      case 16: val2.u16 = ~val2.u16 & 0xffff; break;
+      case 32: val2.u32 = ~val2.u32;          break;
+      case 64: val2.u64 = ~val2.u64;          break;
+      default:
+         panic(__func__);
+      }
+   }
+
+   switch (v2.num_bits) {
+   case 8:
+      new.bits.u8  = (v1.bits.u8 & ~v2.bits.u8  & val2.u8)  & 0xff;
+      break;
+   case 16:
+      new.bits.u16 = (v1.bits.u16 & ~v2.bits.u16 & val2.u16) & 0xffff;
+      break;
+   case 32:
+      new.bits.u32 = (v1.bits.u32 & ~v2.bits.u32 & val2.u32);
+      break;
+   case 64:
+      new.bits.u64 = (v1.bits.u64 & ~v2.bits.u64 & val2.u64);
+      break;
+   default:
+      panic(__func__);
+   }
+   return new;
+}
+
+/* Check the result of a binary operation. */
+static void
+check_result_for_binary(const irop_t *op, const test_data_t *data)
+{
+   const opnd_t *result = &data->result;
+   const opnd_t *opnd1  = &data->opnds[0];
+   const opnd_t *opnd2  = &data->opnds[1];
+   vbits_t expected_vbits;
+
+   /* Only handle those undef-kinds that actually occur. */
+   switch (op->undef_kind) {
+   case UNDEF_NONE:
+      expected_vbits = defined_vbits(result->vbits.num_bits);
+      break;
+
+   case UNDEF_ALL:
+      expected_vbits = undefined_vbits(result->vbits.num_bits);
+      break;
+
+   case UNDEF_LEFT:
+      // LEFT with respect to the leftmost 1-bit in both operands
+      expected_vbits = left_vbits(or_vbits(opnd1->vbits, opnd2->vbits),
+                                  result->vbits.num_bits);
+      break;
+
+   case UNDEF_SAME:
+      assert(opnd1->vbits.num_bits == opnd2->vbits.num_bits);
+      assert(opnd1->vbits.num_bits == result->vbits.num_bits);
+
+      // SAME with respect to the 1-bits in both operands
+      expected_vbits = or_vbits(opnd1->vbits, opnd2->vbits);
+      break;
+
+   case UNDEF_CONCAT:
+      assert(opnd1->vbits.num_bits == opnd2->vbits.num_bits);
+      assert(result->vbits.num_bits == 2 * opnd1->vbits.num_bits);
+      expected_vbits = concat_vbits(opnd1->vbits, opnd2->vbits);
+      break;
+
+   case UNDEF_SHL:
+      /* If any bit in the 2nd operand is undefined, so are all bits
+         of the result. */
+      if (! completely_defined_vbits(opnd2->vbits)) {
+         expected_vbits = undefined_vbits(result->vbits.num_bits);
+      } else {
+         assert(opnd2->vbits.num_bits == 8);
+         unsigned shift_amount = opnd2->value.u8;
+      
+         expected_vbits = shl_vbits(opnd1->vbits, shift_amount);
+      }
+      break;
+
+   case UNDEF_SHR:
+      /* If any bit in the 2nd operand is undefined, so are all bits
+         of the result. */
+      if (! completely_defined_vbits(opnd2->vbits)) {
+         expected_vbits = undefined_vbits(result->vbits.num_bits);
+      } else {
+         assert(opnd2->vbits.num_bits == 8);
+         unsigned shift_amount = opnd2->value.u8;
+      
+         expected_vbits = shr_vbits(opnd1->vbits, shift_amount);
+      }
+      break;
+
+   case UNDEF_SAR:
+      /* If any bit in the 2nd operand is undefined, so are all bits
+         of the result. */
+      if (! completely_defined_vbits(opnd2->vbits)) {
+         expected_vbits = undefined_vbits(result->vbits.num_bits);
+      } else {
+         assert(opnd2->vbits.num_bits == 8);
+         unsigned shift_amount = opnd2->value.u8;
+      
+         expected_vbits = sar_vbits(opnd1->vbits, shift_amount);
+      }
+      break;
+
+   case UNDEF_AND: {
+      /* Let v1, v2 be the V-bits of the 1st and 2nd operand, respectively
+         Let b1, b2 be the actual value of the 1st and 2nd operand, respect.
+         And output bit is undefined (i.e. its V-bit == 1), iff
+         (1) (v1 == 1) && (v2 == 1)   OR
+         (2) (v1 == 1) && (v2 == 0 && b2 == 1) OR
+         (3) (v2 == 1) && (v1 == 0 && b1 == 1)
+      */
+      vbits_t term1, term2, term3;
+      term1 = and_vbits(opnd1->vbits, opnd2->vbits);
+      term2 = and_combine(opnd1->vbits, opnd2->vbits, opnd2->value, 0);
+      term3 = and_combine(opnd2->vbits, opnd1->vbits, opnd1->value, 0);
+      expected_vbits = or_vbits(term1, or_vbits(term2, term3));
+      break;
+   }
+
+   case UNDEF_OR: {
+      /* Let v1, v2 be the V-bits of the 1st and 2nd operand, respectively
+         Let b1, b2 be the actual value of the 1st and 2nd operand, respect.
+         And output bit is undefined (i.e. its V-bit == 1), iff
+         (1) (v1 == 1) && (v2 == 1)   OR
+         (2) (v1 == 1) && (v2 == 0 && b2 == 0) OR
+         (3) (v2 == 1) && (v1 == 0 && b1 == 0)
+      */
+      vbits_t term1, term2, term3;
+      term1 = and_vbits(opnd1->vbits, opnd2->vbits);
+      term2 = and_combine(opnd1->vbits, opnd2->vbits, opnd2->value, 1);
+      term3 = and_combine(opnd2->vbits, opnd1->vbits, opnd1->value, 1);
+      expected_vbits = or_vbits(term1, or_vbits(term2, term3));
+      break;
+   }
+
+   case UNDEF_ORD:
+      /* Set expected_vbits for the Iop_CmpORD category of iops.
+       * If any of the input bits is undefined the least significant
+       * three bits in the result will be set, i.e. 0xe.
+       */
+      expected_vbits = cmpord_vbits(opnd1->vbits.num_bits,
+                                    opnd2->vbits.num_bits);
+      break;
+
+   default:
+      panic(__func__);
+   }
+
+   if (! equal_vbits(result->vbits, expected_vbits))
+      complain(op, data, expected_vbits);
+}
+
+
+static int 
+test_shift(const irop_t *op, test_data_t *data)
+{
+   unsigned num_input_bits, i;
+   opnd_t *opnds = data->opnds;
+   int tests_done = 0;
+
+   /* When testing the 1st operand's undefinedness propagation,
+      do so with all possible shift amnounts */
+   for (unsigned amount = 0; amount < bitsof_irtype(opnds[0].type); ++amount) {
+      opnds[1].value.u8 = amount;
+
+      // 1st (left) operand
+      num_input_bits = bitsof_irtype(opnds[0].type);
+
+      for (i = 0; i < num_input_bits; ++i) {
+         opnds[0].vbits = onehot_vbits(i, bitsof_irtype(opnds[0].type));
+         opnds[1].vbits = defined_vbits(bitsof_irtype(opnds[1].type));
+         
+         valgrind_execute_test(op, data);
+         
+         check_result_for_binary(op, data);
+         tests_done++;
+      }
+   }
+
+   // 2nd (right) operand
+
+   /* If the operand is an immediate value, there are no v-bits to set. */
+   if (op->shift_amount_is_immediate) return tests_done;
+
+   num_input_bits = bitsof_irtype(opnds[1].type);
+
+   for (i = 0; i < num_input_bits; ++i) {
+      opnds[0].vbits = defined_vbits(bitsof_irtype(opnds[0].type));
+      opnds[1].vbits = onehot_vbits(i, bitsof_irtype(opnds[1].type));
+
+      valgrind_execute_test(op, data);
+
+      check_result_for_binary(op, data);
+
+      tests_done++;
+   }
+   return tests_done;
+}
+
+
+static value_t
+all_bits_zero_value(unsigned num_bits)
+{
+   value_t val;
+
+   switch (num_bits) {
+   case 8:  val.u8  = 0; break;
+   case 16: val.u16 = 0; break;
+   case 32: val.u32 = 0; break;
+   case 64: val.u64 = 0; break;
+   default:
+      panic(__func__);
+   }
+   return val;
+}
+
+
+static value_t
+all_bits_one_value(unsigned num_bits)
+{
+   value_t val;
+
+   switch (num_bits) {
+   case 8:  val.u8  = 0xff;   break;
+   case 16: val.u16 = 0xffff; break;
+   case 32: val.u32 = ~0u;    break;
+   case 64: val.u64 = ~0ull;  break;
+   default:
+      panic(__func__);
+   }
+   return val;
+}
+
+
+static int
+test_and(const irop_t *op, test_data_t *data)
+{
+   unsigned num_input_bits, bitpos;
+   opnd_t *opnds = data->opnds;
+   int tests_done = 0;
+
+   /* Undefinedness does not propagate if the other operand is 0.
+      Use an all-bits-zero operand and test the other operand in
+      the usual way (one bit undefined at a time). */
+
+   // 1st (left) operand variable, 2nd operand all-bits-zero
+   num_input_bits = bitsof_irtype(opnds[0].type);
+
+   for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+      opnds[0].vbits = onehot_vbits(bitpos, bitsof_irtype(opnds[0].type));
+      opnds[1].vbits = defined_vbits(bitsof_irtype(opnds[1].type));
+      opnds[1].value = all_bits_zero_value(bitsof_irtype(opnds[1].type));
+
+      valgrind_execute_test(op, data);
+         
+      check_result_for_binary(op, data);
+      tests_done++;
+   }
+   
+   // 2nd (right) operand variable, 1st operand all-bits-zero
+   num_input_bits = bitsof_irtype(opnds[1].type);
+
+   for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+      opnds[1].vbits = onehot_vbits(bitpos, bitsof_irtype(opnds[1].type));
+      opnds[0].vbits = defined_vbits(bitsof_irtype(opnds[0].type));
+      opnds[0].value = all_bits_zero_value(bitsof_irtype(opnds[0].type));
+
+      valgrind_execute_test(op, data);
+         
+      check_result_for_binary(op, data);
+      tests_done++;
+   }
+
+   /* Undefinedness propagates if the other operand is 1.
+      Use an all-bits-one operand and test the other operand in
+      the usual way (one bit undefined at a time). */
+
+   // 1st (left) operand variable, 2nd operand all-bits-one
+   num_input_bits = bitsof_irtype(opnds[0].type);
+
+   for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+      opnds[0].vbits = onehot_vbits(bitpos, bitsof_irtype(opnds[0].type));
+      opnds[1].vbits = defined_vbits(bitsof_irtype(opnds[1].type));
+      opnds[1].value = all_bits_one_value(bitsof_irtype(opnds[1].type));
+
+      valgrind_execute_test(op, data);
+         
+      check_result_for_binary(op, data);
+      tests_done++;
+   }
+   
+   // 2nd (right) operand variable, 1st operand all-bits-one
+   num_input_bits = bitsof_irtype(opnds[1].type);
+
+   for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+      opnds[1].vbits = onehot_vbits(bitpos, bitsof_irtype(opnds[1].type));
+      opnds[0].vbits = defined_vbits(bitsof_irtype(opnds[0].type));
+      opnds[0].value = all_bits_one_value(bitsof_irtype(opnds[0].type));
+
+      valgrind_execute_test(op, data);
+         
+      check_result_for_binary(op, data);
+      tests_done++;
+   }
+   return tests_done;
+}
+
+
+static int
+test_or(const irop_t *op, test_data_t *data)
+{
+   unsigned num_input_bits, bitpos;
+   opnd_t *opnds = data->opnds;
+   int tests_done = 0;
+
+   /* Undefinedness does not propagate if the other operand is 1.
+      Use an all-bits-one operand and test the other operand in
+      the usual way (one bit undefined at a time). */
+
+   // 1st (left) operand variable, 2nd operand all-bits-one
+   num_input_bits = bitsof_irtype(opnds[0].type);
+
+   opnds[0].vbits = defined_vbits(bitsof_irtype(opnds[0].type));
+   opnds[1].vbits = defined_vbits(bitsof_irtype(opnds[1].type));
+   opnds[1].value = all_bits_one_value(bitsof_irtype(opnds[1].type));
+
+   for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+      opnds[0].vbits = onehot_vbits(bitpos, bitsof_irtype(opnds[0].type));
+
+      valgrind_execute_test(op, data);
+         
+      check_result_for_binary(op, data);
+      tests_done++;
+   }
+   
+   // 2nd (right) operand variable, 1st operand all-bits-one
+   num_input_bits = bitsof_irtype(opnds[1].type);
+
+   opnds[0].vbits = defined_vbits(bitsof_irtype(opnds[0].type));
+   opnds[1].vbits = defined_vbits(bitsof_irtype(opnds[1].type));
+   opnds[0].value = all_bits_one_value(bitsof_irtype(opnds[0].type));
+
+   for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+      opnds[1].vbits = onehot_vbits(bitpos, bitsof_irtype(opnds[1].type));
+
+      valgrind_execute_test(op, data);
+         
+      check_result_for_binary(op, data);
+      tests_done++;
+   }
+
+   /* Undefinedness propagates if the other operand is 0.
+      Use an all-bits-zero operand and test the other operand in
+      the usual way (one bit undefined at a time). */
+
+   // 1st (left) operand variable, 2nd operand all-bits-zero
+   num_input_bits = bitsof_irtype(opnds[0].type);
+
+   opnds[0].vbits = defined_vbits(bitsof_irtype(opnds[0].type));
+   opnds[1].vbits = defined_vbits(bitsof_irtype(opnds[1].type));
+   opnds[1].value = all_bits_zero_value(bitsof_irtype(opnds[1].type));
+
+   for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+      opnds[0].vbits = onehot_vbits(bitpos, bitsof_irtype(opnds[0].type));
+
+      valgrind_execute_test(op, data);
+         
+      check_result_for_binary(op, data);
+      tests_done++;
+   }
+   
+   // 2nd (right) operand variable, 1st operand all-bits-zero
+   num_input_bits = bitsof_irtype(opnds[1].type);
+
+   opnds[0].vbits = defined_vbits(bitsof_irtype(opnds[0].type));
+   opnds[1].vbits = defined_vbits(bitsof_irtype(opnds[1].type));
+   opnds[0].value = all_bits_zero_value(bitsof_irtype(opnds[0].type));
+
+   for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+      opnds[1].vbits = onehot_vbits(bitpos, bitsof_irtype(opnds[1].type));
+
+      valgrind_execute_test(op, data);
+         
+      check_result_for_binary(op, data);
+      tests_done++;
+   }
+   return tests_done;
+}
+
+
+int
+test_binary_op(const irop_t *op, test_data_t *data)
+{
+   unsigned num_input_bits, i, bitpos;
+   opnd_t *opnds = data->opnds;
+   int tests_done = 0;
+
+   /* Handle special cases upfront */
+   switch (op->undef_kind) {
+   case UNDEF_SHL:
+   case UNDEF_SHR:
+   case UNDEF_SAR:
+      return test_shift(op, data);
+
+   case UNDEF_AND:
+      return test_and(op, data);
+
+   case UNDEF_OR:
+      return test_or(op, data);
+
+   default:
+      break;
+   }
+
+   /* For each operand, set a single bit to undefined and observe how
+      that propagates to the output. Do this for all bits in each
+      operand. */
+   for (i = 0; i < 2; ++i) {
+
+      /* If this is a shift op that requires an immediate shift amount,
+         do not iterate the v-bits of the 2nd operand */
+      if (i == 1 && op->shift_amount_is_immediate) break;
+
+      num_input_bits = bitsof_irtype(opnds[i].type);
+      opnds[0].vbits = defined_vbits(bitsof_irtype(opnds[0].type));
+      opnds[1].vbits = defined_vbits(bitsof_irtype(opnds[1].type));
+
+      /* Set the value of the 2nd operand to something != 0. So division
+         won't crash. */
+      memset(&opnds[1].value, 0xff, sizeof opnds[1].value);
+
+      /* For immediate shift amounts choose a value of '1'. That should
+         not cause a problem. */
+      if (op->shift_amount_is_immediate)
+         opnds[1].value.u8 = 1;
+
+      for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+         opnds[i].vbits = onehot_vbits(bitpos, bitsof_irtype(opnds[i].type));
+
+         valgrind_execute_test(op, data);
+
+         check_result_for_binary(op, data);
+
+         tests_done++;
+      }
+   }
+   return tests_done;
+}
diff --git a/memcheck/tests/vbit-test/filter_stderr b/memcheck/tests/vbit-test/filter_stderr
new file mode 100755
index 0000000..a778e97
--- /dev/null
+++ b/memcheck/tests/vbit-test/filter_stderr
@@ -0,0 +1,3 @@
+#! /bin/sh
+
+../filter_stderr "$@"
diff --git a/memcheck/tests/vbit-test/irops.c b/memcheck/tests/vbit-test/irops.c
new file mode 100644
index 0000000..c0ba5ee
--- /dev/null
+++ b/memcheck/tests/vbit-test/irops.c
@@ -0,0 +1,1053 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#include <stdio.h>    // fprintf
+#include <stdlib.h>   // exit
+#include "vtest.h"
+
+#define DEFOP(op,ukind) op, #op, ukind
+
+/* The opcodes appear in the same order here as in libvex_ir.h
+   That is not necessary but helpful when supporting a new architecture.
+*/
+static irop_t irops[] = {
+  { DEFOP(Iop_Add8,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_Add16,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_Add32,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_Add64,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_Sub8,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_Sub16,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_Sub32,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_Sub64,   UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_Mul8,    UNDEF_LEFT), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_Mul16,   UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_Mul32,   UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_Mul64,   UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_Or8,     UNDEF_OR),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_Or16,    UNDEF_OR),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_Or32,    UNDEF_OR),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_Or64,    UNDEF_OR),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_And8,    UNDEF_AND),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_And16,   UNDEF_AND),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_And32,   UNDEF_AND),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_And64,   UNDEF_AND),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_Xor8,    UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_Xor16,   UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_Xor32,   UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_Xor64,   UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_Shl8,    UNDEF_SHL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_Shl16,   UNDEF_SHL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_Shl32,   UNDEF_SHL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_Shl64,   UNDEF_SHL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+  { DEFOP(Iop_Shr8,    UNDEF_SHR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
+  { DEFOP(Iop_Shr16,   UNDEF_SHR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
+  { DEFOP(Iop_Shr32,   UNDEF_SHR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_Shr64,   UNDEF_SHR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+  { DEFOP(Iop_Sar8,    UNDEF_SAR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
+  { DEFOP(Iop_Sar16,   UNDEF_SAR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc32/64 assert
+  { DEFOP(Iop_Sar32,   UNDEF_SAR),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_Sar64,   UNDEF_SAR),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+  { DEFOP(Iop_CmpEQ8,  UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CmpEQ16, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CmpEQ32, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_CmpEQ64, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_CmpNE8,  UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CmpNE16, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CmpNE32, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_CmpNE64, UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_Not8,       UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_Not16,      UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_Not32,      UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_Not64,      UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_CasCmpEQ8,  UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CasCmpEQ16, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CasCmpEQ32, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CasCmpEQ64, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+
+  { DEFOP(Iop_CasCmpNE8,  UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CasCmpNE16, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CasCmpNE32, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CasCmpNE64, UNDEF_NONE), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_ExpCmpNE8,  UNDEF_UNKNOWN), }, // exact (expensive) equality
+  { DEFOP(Iop_ExpCmpNE16, UNDEF_UNKNOWN), }, // exact (expensive) equality
+  { DEFOP(Iop_ExpCmpNE32, UNDEF_UNKNOWN), }, // exact (expensive) equality
+  { DEFOP(Iop_ExpCmpNE64, UNDEF_UNKNOWN), }, // exact (expensive) equality
+  { DEFOP(Iop_MullS8,     UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_MullS16,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_MullS32,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  // s390 has signed multiplication of 64-bit values but the result
+  // is 64-bit (not 128-bit). So we cannot test this op standalone.
+  { DEFOP(Iop_MullS64,    UNDEF_LEFT), .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_MullU8,     UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_MullU16,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_MullU32,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_MullU64,    UNDEF_LEFT), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_Clz64,      UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+  { DEFOP(Iop_Clz32,      UNDEF_ALL),  .s390x = 0, .amd64 = 0, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_Ctz64,      UNDEF_ALL),  .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_Ctz32,      UNDEF_ALL),  .s390x = 0, .amd64 = 0, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CmpLT32S,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_CmpLT64S,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc, mips assert
+  { DEFOP(Iop_CmpLE32S,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_CmpLE64S,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // ppc, mips assert
+  { DEFOP(Iop_CmpLT32U,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_CmpLT64U,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_CmpLE32U,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_CmpLE64U,   UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+  { DEFOP(Iop_CmpNEZ8,    UNDEF_ALL), },   // not supported by mc_translate
+  { DEFOP(Iop_CmpNEZ16,   UNDEF_ALL), },   // not supported by mc_translate
+  { DEFOP(Iop_CmpNEZ32,   UNDEF_ALL), },   // not supported by mc_translate
+  { DEFOP(Iop_CmpNEZ64,   UNDEF_ALL), },   // not supported by mc_translate
+  { DEFOP(Iop_CmpwNEZ32,  UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_CmpwNEZ64,  UNDEF_ALL),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_Left8,      UNDEF_UNKNOWN), },  // not supported by mc_translate
+  { DEFOP(Iop_Left16,     UNDEF_UNKNOWN), },  // not supported by mc_translate
+  { DEFOP(Iop_Left32,     UNDEF_UNKNOWN), },  // not supported by mc_translate
+  { DEFOP(Iop_Left64,     UNDEF_UNKNOWN), },  // not supported by mc_translate
+  { DEFOP(Iop_Max32U,     UNDEF_UNKNOWN), },  // not supported by mc_translate
+  { DEFOP(Iop_CmpORD32U,  UNDEF_ORD), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // support added in vbit-test
+  { DEFOP(Iop_CmpORD64U,  UNDEF_ORD), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // support added in vbit-test
+  { DEFOP(Iop_CmpORD32S,  UNDEF_ORD), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // support added in vbit-test
+  { DEFOP(Iop_CmpORD64S,  UNDEF_ORD), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // support added in vbit-test
+  { DEFOP(Iop_DivU32,     UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_DivS32,     UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_DivU64,     UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+  { DEFOP(Iop_DivS64,     UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+  { DEFOP(Iop_DivU64E,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+  { DEFOP(Iop_DivS64E,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32 asserts
+  { DEFOP(Iop_DivU32E,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_DivS32E,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  // On s390 the DivMod operations always appear in a certain context
+  // So they cannot be tested in isolation on that platform.
+  { DEFOP(Iop_DivModU64to32,  UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_DivModS64to32,  UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_DivModU128to64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_DivModS128to64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_DivModS64to64,  UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_8Uto16,    UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1,  .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_8Uto32,    UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_8Uto64,    UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_16Uto32,   UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_16Uto64,   UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_32Uto64,   UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_8Sto16,    UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_8Sto32,    UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_8Sto64,    UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_16Sto32,   UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_16Sto64,   UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_32Sto64,   UNDEF_SEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_64to8,     UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 1, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_32to8,     UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_64to16,    UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_16to8,     UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_16HIto8,   UNDEF_UPPER),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_8HLto16,   UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },  // ppc isel
+  { DEFOP(Iop_32to16,    UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  { DEFOP(Iop_32HIto16,  UNDEF_UPPER),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_16HLto32,  UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },  // ppc isel
+  { DEFOP(Iop_64to32,    UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_64HIto32,  UNDEF_UPPER),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_32HLto64,  UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_128to64,   UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_128HIto64, UNDEF_UPPER),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_64HLto128, UNDEF_CONCAT), .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_Not1,      UNDEF_ALL),    .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_32to1,     UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_64to1,     UNDEF_TRUNC),  .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_1Uto8,     UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_1Uto32,    UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_1Uto64,    UNDEF_ZEXT),   .s390x = 1, .amd64 = 1, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 0, .mips32 = 0 }, // ppc32, mips assert
+  { DEFOP(Iop_1Sto8,     UNDEF_ALL),    .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_1Sto16,    UNDEF_ALL), }, // not handled by mc_translate
+  { DEFOP(Iop_1Sto32,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_1Sto64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_AddF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_SubF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_MulF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_DivF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_AddF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+  { DEFOP(Iop_SubF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+  { DEFOP(Iop_MulF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+  { DEFOP(Iop_DivF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+  { DEFOP(Iop_AddF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_SubF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_MulF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_DivF64r32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_NegF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_AbsF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_NegF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+  { DEFOP(Iop_AbsF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+  { DEFOP(Iop_SqrtF64,   UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_SqrtF32,   UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+  { DEFOP(Iop_CmpF64,    UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_CmpF32,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_CmpF128,   UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F64toI16S, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F64toI32S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_F64toI64S, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_F64toI64U, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_F64toI32U, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_I32StoF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_I64StoF64, UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_I64UtoF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_I64UtoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_I32UtoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_I32UtoF64, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F32toI32S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F32toI64S, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F32toI32U, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F32toI64U, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_I32StoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+  { DEFOP(Iop_I64StoF32, UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F32toF64,  UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_F64toF32,  UNDEF_ALL), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_ReinterpF64asI64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_ReinterpI64asF64, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_ReinterpF32asI32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 1, .ppc32 = 1, .mips32 = 1 },
+  // ppc requires this op to show up in a specific context. So it cannot be
+  // tested standalone on that platform.
+  { DEFOP(Iop_ReinterpI32asF32, UNDEF_SAME), .s390x = 1, .amd64 = 1, .x86 = 1, .arm = 1, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+  { DEFOP(Iop_F64HLtoF128, UNDEF_CONCAT),    .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F128HItoF64, UNDEF_UPPER),     .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F128LOtoF64, UNDEF_TRUNC), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_AddF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_SubF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_MulF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_DivF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_NegF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_AbsF128,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_SqrtF128,      UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_I32StoF128,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_I64StoF128,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_I32UtoF128,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_I64UtoF128,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F32toF128,     UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F64toF128,     UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F128toI32S,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F128toI64S,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F128toI32U,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F128toI64U,    UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F128toF64,     UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_F128toF32,     UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_AtanF64,       UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_Yl2xF64,       UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_Yl2xp1F64,     UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_PRemF64,       UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_PRemC3210F64,  UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_PRem1F64,      UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_PRem1C3210F64, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_ScaleF64,      UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_SinF64,        UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_CosF64,        UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_TanF64,        UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_2xm1F64,       UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_RoundF64toInt, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_RoundF32toInt, UNDEF_ALL), .s390x = 0, .amd64 = 1, .x86 = 1, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 1 },
+  { DEFOP(Iop_MAddF32,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_MSubF32,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 0, .ppc32 = 0, .mips32 = 0 },
+  { DEFOP(Iop_MAddF64,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_MSubF64,       UNDEF_ALL), .s390x = 1, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_MAddF64r32,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_MSubF64r32,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_Est5FRSqrt,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_RoundF64toF64_NEAREST, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_RoundF64toF64_NegINF,  UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_RoundF64toF64_PosINF,  UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_RoundF64toF64_ZERO,    UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+  { DEFOP(Iop_TruncF64asF32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 }, // mips asserts
+  { DEFOP(Iop_RoundF64toF32, UNDEF_ALL), .s390x = 0, .amd64 = 0, .x86 = 0, .arm = 0, .ppc64 = 1, .ppc32 = 1, .mips32 = 0 },
+
+  /* ------------------ 32-bit SIMD Integer ------------------ */
+  { DEFOP(Iop_QAdd32S, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub32S, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add16x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub16x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd16Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd16Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub16Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub16Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_HAdd16Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_HAdd16Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_HSub16Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_HSub16Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add8x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub8x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd8Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd8Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub8Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub8Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_HAdd8Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_HAdd8Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_HSub8Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_HSub8Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sad8Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpNEZ16x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpNEZ8x4, UNDEF_UNKNOWN), },
+  /* ------------------ 64-bit SIMD FP ------------------------ */
+  { DEFOP(Iop_I32UtoFx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_I32StoFx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_FtoI32Ux2_RZ, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_FtoI32Sx2_RZ, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_F32ToFixed32Ux2_RZ, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_F32ToFixed32Sx2_RZ, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Fixed32UToF32x2_RN, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Fixed32SToF32x2_RN, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMax32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMin32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGE32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Recip32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Recps32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Rsqrte32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Rsqrts32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Neg32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Abs32Fx2, UNDEF_UNKNOWN), },
+  /* ------------------ 64-bit SIMD Integer. ------------------ */
+  { DEFOP(Iop_CmpNEZ8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpNEZ16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpNEZ32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd32Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd64Ux1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd64Sx1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAdd8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAdd16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAdd32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMax8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMax16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMax32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMax8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMax16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMax32Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMin8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMin16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMin32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMin8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMin16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMin32Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL32Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub32Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub64Ux1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub64Sx1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Abs8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Abs16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Abs32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MulHi16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MulHi16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PolynomialMul8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QDMulHi16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QDMulHi32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QRDMulHi16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QRDMulHi32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Avg8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Avg16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max32Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min32Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT32Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Cnt8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Clz8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Clz16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Clz32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Cls8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Cls16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Cls32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shl8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shl16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shl32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shr8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shr16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shr32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sar8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sar16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sar32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sal8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sal16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sal32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sal64x1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShlN8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShlN16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShlN32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShrN8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShrN16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShrN32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SarN8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SarN16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SarN32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShl8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShl16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShl32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShl64x1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSal8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSal16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSal32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSal64x1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN64Sx1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN64x1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSalN8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSalN16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSalN32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSalN64x1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowBin16Sto8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowBin16Sto8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowBin32Sto16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_NarrowBin16to8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_NarrowBin32to16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveHI8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveHI16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveHI32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveLO8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveLO16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveLO32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveOddLanes8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveEvenLanes8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveOddLanes16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveEvenLanes16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CatOddLanes8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CatOddLanes16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CatEvenLanes8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CatEvenLanes16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_GetElem8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_GetElem16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_GetElem32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SetElem8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SetElem16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SetElem32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Dup8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Dup16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Dup32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Extract64, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse16_8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse32_8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse32_16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse64_8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse64_16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse64_32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Perm8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_GetMSBs8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Recip32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Rsqrte32x2, UNDEF_UNKNOWN), },
+  /* ------------------ Decimal Floating Point ------------------ */
+  { DEFOP(Iop_AddD64,                UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_SubD64,                UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_MulD64,                UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_DivD64,                UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_AddD128,               UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_SubD128,               UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_MulD128,               UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_DivD128,               UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_ShlD64,                UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_ShrD64,                UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_ShlD128,               UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_ShrD128,               UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_D32toD64,              UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_D64toD128,             UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_I32StoD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_I32UtoD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_I64StoD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_I64UtoD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D64toD32,              UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_D128toD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_I32StoD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_I32UtoD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_I64StoD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_I64UtoD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D64toI32S,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D64toI32U,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D64toI64S,             UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_D64toI64U,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D128toI64S,            UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_D128toI64U,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D128toI32S,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D128toI32U,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_F32toD32,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_F32toD64,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_F32toD128,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_F64toD32,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_F64toD64,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_F64toD128,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_F128toD32,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_F128toD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_F128toD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D32toF32,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D32toF64,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D32toF128,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D64toF32,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D64toF64,              UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D64toF128,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D128toF32,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D128toF64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_D128toF128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_RoundD64toInt,         UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_RoundD128toInt,        UNDEF_ALL),  .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_CmpD64,                UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_CmpD128,               UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_CmpExpD64,             UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_CmpExpD128,            UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_QuantizeD64,           UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_QuantizeD128,          UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_SignificanceRoundD64,  UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_SignificanceRoundD128, UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_ExtractExpD64,         UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_ExtractExpD128,        UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_ExtractSigD64,         UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_ExtractSigD128,        UNDEF_ALL),  .s390x = 1, .ppc64 = 0, .ppc32 = 0 },
+  { DEFOP(Iop_InsertExpD64,          UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_InsertExpD128,         UNDEF_ALL),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_D64HLtoD128,           UNDEF_CONCAT), .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_D128HItoD64,           UNDEF_UPPER),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_D128LOtoD64,           UNDEF_TRUNC),  .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_DPBtoBCD,              UNDEF_ALL),    .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_BCDtoDPB,              UNDEF_ALL),    .s390x = 0, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_ReinterpI64asD64,      UNDEF_SAME),   .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  { DEFOP(Iop_ReinterpD64asI64,      UNDEF_SAME),   .s390x = 1, .ppc64 = 1, .ppc32 = 1 },
+  /* ------------------ 128-bit SIMD FP. ------------------ */
+  { DEFOP(Iop_Add32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Div32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpLT32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpLE32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpUN32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGE32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Abs32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMax32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwMin32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sqrt32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_RSqrt32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Neg32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Recip32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Recps32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Rsqrte32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Rsqrts32Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_I32UtoFx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_I32StoFx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_FtoI32Ux4_RZ, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_FtoI32Sx4_RZ, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QFtoI32Ux4_RZ, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QFtoI32Sx4_RZ, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_RoundF32x4_RM, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_RoundF32x4_RP, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_RoundF32x4_RN, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_RoundF32x4_RZ, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_F32ToFixed32Ux4_RZ, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_F32ToFixed32Sx4_RZ, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Fixed32UToF32x4_RN, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Fixed32SToF32x4_RN, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_F32toF16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_F16toF32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Div32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpLT32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpLE32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpUN32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Recip32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sqrt32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_RSqrt32F0x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Div64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpLT64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpLE64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpUN64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Recip64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sqrt64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_RSqrt64Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Div64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpLT64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpLE64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpUN64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Recip64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sqrt64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_RSqrt64F0x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_V128to64, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_V128HIto64, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_64HLtoV128, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_64UtoV128, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SetV128lo64, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_32UtoV128, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_V128to32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SetV128lo32, UNDEF_UNKNOWN), },
+  /* ------------------ 128-bit SIMD Integer. ------------------ */
+  { DEFOP(Iop_NotV128, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_AndV128, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_OrV128, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_XorV128, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShlV128, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShrV128, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpNEZ8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpNEZ16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpNEZ32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpNEZ64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd8Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd16Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd32Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd64Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd64Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub8Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub16Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub32Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub64Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub64Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MulHi16Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MulHi32Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MulHi16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MulHi32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MullEven8Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MullEven16Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MullEven8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MullEven16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mull8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mull8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mull16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mull16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mull32Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mull32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QDMulHi16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QDMulHi32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QRDMulHi16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QRDMulHi32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QDMulLong16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QDMulLong32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PolynomialMul8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PolynomialMull8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAdd8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAdd16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAdd32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAdd32Fx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL8Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL16Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL32Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_PwAddL32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Abs8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Abs16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Abs32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Avg8Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Avg16Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Avg32Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Avg8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Avg16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Avg32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max8Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max16Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max32Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min8Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min16Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min32Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT64Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT8Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT16Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT32Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Cnt8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Clz8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Clz16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Clz32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Cls8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Cls16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Cls32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShlN8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShlN16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShlN32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShlN64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShrN8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShrN16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShrN32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShrN64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SarN8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SarN16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SarN32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SarN64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shl8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shl16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shl32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shl64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shr8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shr16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shr32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Shr64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sar8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sar16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sar32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sar64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sal8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sal16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sal32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sal64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Rol8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Rol16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Rol32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShl8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShl16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShl32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShl64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSal8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSal16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSal32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSal64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN32Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN64Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QShlN64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSalN8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSalN16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSalN32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSalN64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowBin16Sto8Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowBin32Sto16Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowBin16Sto8Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowBin32Sto16Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowBin16Uto8Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowBin32Uto16Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_NarrowBin16to8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_NarrowBin32to16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_NarrowUn16to8x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_NarrowUn32to16x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_NarrowUn64to32x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowUn16Sto8Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowUn32Sto16Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowUn64Sto32Sx2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowUn16Sto8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowUn32Sto16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowUn64Sto32Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowUn16Uto8Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowUn32Uto16Ux4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QNarrowUn64Uto32Ux2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Widen8Uto16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Widen16Uto32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Widen32Uto64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Widen8Sto16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Widen16Sto32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Widen32Sto64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveHI8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveHI16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveHI32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveHI64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveLO8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveLO16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveLO32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveLO64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveOddLanes8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveEvenLanes8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveOddLanes16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveEvenLanes16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveOddLanes32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_InterleaveEvenLanes32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CatOddLanes8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CatOddLanes16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CatOddLanes32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CatEvenLanes8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CatEvenLanes16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CatEvenLanes32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_GetElem8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_GetElem16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_GetElem32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_GetElem64x2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Dup8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Dup16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Dup32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ExtractV128, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse16_8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse32_8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse32_16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse64_8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse64_16x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Reverse64_32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Perm8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Perm32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_GetMSBs8x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Recip32x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Rsqrte32x4, UNDEF_UNKNOWN), },
+  /* ------------------ 256-bit SIMD Integer. ------------------ */
+  { DEFOP(Iop_V256to64_0, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_V256to64_1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_V256to64_2, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_V256to64_3, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_64x4toV256, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_V256toV128_0, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_V256toV128_1, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_V128HLtoV256, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_AndV256, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_OrV256,  UNDEF_UNKNOWN), },
+  { DEFOP(Iop_XorV256, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_NotV256, UNDEF_UNKNOWN), },
+  /* --------------- MISC (vector integer cmp != 0) -------------*/
+  { DEFOP(Iop_CmpNEZ8x32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpNEZ16x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpNEZ32x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpNEZ64x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add8x32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add16x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add32x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add64x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub8x32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub16x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub32x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub64x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ8x32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ16x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ32x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpEQ64x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT8Sx32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT16Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT32Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_CmpGT64Sx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShlN16x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShlN32x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShlN64x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShrN16x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShrN32x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_ShrN64x4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SarN16x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_SarN32x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max8Sx32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max16Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max32Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max8Ux32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max16Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max32Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min8Sx32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min16Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min32Sx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min8Ux32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min16Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min32Ux8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul16x16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul32x8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MulHi16Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_MulHi16Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd8Ux32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd16Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd8Sx32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QAdd16Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub8Ux32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub16Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub8Sx32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_QSub16Sx16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Avg8Ux32, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Avg16Ux16, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Perm32x8, UNDEF_UNKNOWN), },
+  /* ------------------ 256-bit SIMD FP. ------------------ */
+  { DEFOP(Iop_Add64Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub64Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul64Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Div64Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Add32Fx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sub32Fx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Mul32Fx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Div32Fx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sqrt32Fx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Sqrt64Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_RSqrt32Fx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Recip32Fx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max32Fx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min32Fx8, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Max64Fx4, UNDEF_UNKNOWN), },
+  { DEFOP(Iop_Min64Fx4, UNDEF_UNKNOWN), },
+};
+
+
+/* Return a descriptor for OP, iff it exists and it is implemented
+   for the current architecture. */
+irop_t *
+get_irop(IROp op)
+{
+   unsigned i;
+
+   for (i = 0; i < sizeof irops / sizeof *irops; ++i) {
+      irop_t *p = irops + i;
+      if (p->op == op) {
+#ifdef __s390x__
+#define S390X_FEATURES "../../../tests/s390x_features"
+         switch (op) {
+         case Iop_I32StoD64:    // CDFTR
+         case Iop_I32StoD128:   // CXFTR
+         case Iop_I32UtoD64:    // CDLFTR
+         case Iop_I32UtoD128:   // CXLFTR
+         case Iop_I64UtoD64:    // CDLGTR
+         case Iop_I64UtoD128:   // CXLGTR
+         case Iop_D64toI32S:    // CFDTR
+         case Iop_D128toI32S:   // CFXTR
+         case Iop_D64toI64U:    // CLGDTR
+         case Iop_D64toI32U:    // CLFDTR
+         case Iop_D128toI64U:   // CLGXTR
+         case Iop_D128toI32U:   // CLFXTR
+         case Iop_I32UtoF32:
+         case Iop_I32UtoF64:
+         case Iop_I32UtoF128:
+         case Iop_I64UtoF32:
+         case Iop_I64UtoF64:
+         case Iop_I64UtoF128:
+         case Iop_F32toI32U:
+         case Iop_F32toI64U:
+         case Iop_F64toI32U:
+         case Iop_F64toI64U:
+         case Iop_F128toI32U:
+         case Iop_F128toI64U: {
+            int rc;
+            /* These IROps require the floating point extension facility */
+            rc = system(S390X_FEATURES " s390x-fpext");
+            // s390x_features returns 1 if feature does not exist
+            rc /= 256;
+            if (rc != 0) return NULL;
+         }
+         /* PFPO Iops */
+         case Iop_F32toD32:
+         case Iop_F32toD64:
+         case Iop_F32toD128:
+         case Iop_F64toD32:
+         case Iop_F64toD64:
+         case Iop_F64toD128:
+         case Iop_F128toD32:
+         case Iop_F128toD64:
+         case Iop_F128toD128:
+         case Iop_D32toF32:
+         case Iop_D32toF64:
+         case Iop_D32toF128:
+         case Iop_D64toF32:
+         case Iop_D64toF64:
+         case Iop_D64toF128:
+         case Iop_D128toF32:
+         case Iop_D128toF64:
+         case Iop_D128toF128: {
+            int rc;
+            /* These IROps require the Perform Floating Point Operation facility */
+            rc = system(S390X_FEATURES " s390x-pfpo");
+            // s390x_features returns 1 if feature does not exist
+            rc /= 256;
+            if (rc != 0) return NULL;
+         }
+         }
+         return p->s390x ? p : NULL;
+#endif
+#ifdef __x86_64__
+         return p->amd64 ? p : NULL;
+#endif
+#ifdef __powerpc__
+#ifdef __powerpc64__
+         return p->ppc64 ? p : NULL;
+#else
+         return p->ppc32 ? p : NULL;
+#endif
+#endif
+#ifdef __mips__
+         return p->mips32 ? p : NULL;
+#endif
+#ifdef __arm__
+         return p->arm ? p : NULL;
+#endif
+#ifdef __i386__
+         return p->x86 ? p : NULL;
+#endif
+         return NULL;
+      }
+   }
+
+   fprintf(stderr, "unknown opcode %d\n", op);
+   exit(1);
+}
diff --git a/memcheck/tests/vbit-test/main.c b/memcheck/tests/vbit-test/main.c
new file mode 100644
index 0000000..7b9c4de
--- /dev/null
+++ b/memcheck/tests/vbit-test/main.c
@@ -0,0 +1,158 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#include <assert.h>    // assert
+#include <stdio.h>     // printf
+#include <stdlib.h>    // malloc
+#include <string.h>    // memset
+#include "valgrind.h"  // RUNNING_ON_VALGRIND
+#include "vtest.h"
+
+
+static test_data_t *
+new_test_data(const irop_t *op)
+{
+   test_data_t *data = malloc(sizeof *data);
+
+   memset(data, 0x0, sizeof *data);  // initialise
+
+   /* Obtain the operand types and set them */
+   IRType t_dst, t1, t2, t3, t4;
+
+   typeof_primop(op->op, &t_dst, &t1, &t2, &t3, &t4);
+   assert(t_dst != Ity_INVALID);
+   assert(t1    != Ity_INVALID);
+
+   data->result.type = t_dst;
+   if (is_floating_point_op_with_rounding_mode(op->op)) {
+      data->opnds[0].type = t2;
+      data->opnds[1].type = t3;
+      data->opnds[2].type = t4;
+      data->opnds[3].type = Ity_INVALID;
+   } else {
+      data->opnds[0].type = t1;
+      data->opnds[1].type = t2;
+      data->opnds[2].type = t3;
+      data->opnds[3].type = t4;
+   }
+
+   /* Set the rounding mode if the operation requires one. 
+      FIXME: We should iterate over all rounding modes. For that need
+      FIXME: to distinguish between binary and decimal floating point */
+   if (is_floating_point_op_with_rounding_mode(op->op)) {
+      // for now just pick one
+      data->rounding_mode = Irrm_NEAREST;  // same as Irrm_DFP_NEAREST
+   } else {
+      data->rounding_mode = NO_ROUNDING_MODE;
+   }
+
+   return data;
+}
+
+int verbose = 0;
+
+
+/* Certain IROps require special handling. */
+static void
+fixup_irops(void)
+{
+#ifdef __powerpc__
+   get_irop(Iop_ShlD64)->shift_amount_is_immediate = 1;
+   get_irop(Iop_ShrD64)->shift_amount_is_immediate = 1;
+   get_irop(Iop_ShlD128)->shift_amount_is_immediate = 1;
+   get_irop(Iop_ShrD128)->shift_amount_is_immediate = 1;
+#endif
+}
+
+
+int 
+main(int argc, char *argv[])
+{
+   assert(sizeof(long long) == 8);
+   int num_unary_tests = 0, num_binary_tests = 0;
+   int num_ternary_tests = 0, num_qernary_tests = 0;
+
+   for (int i = 1; i < argc; ++i) {
+      if (strcmp(argv[i], "-v") == 0) ++verbose;
+      else if (strcmp(argv[i], "--help") == 0) {
+        printf("\nvbit-test [ -v | --help ]\n");
+        printf("\n\t-v       verbose mode; show number of 1, 2, 3 and 4 operand tests\n");
+        printf("\n\t-v -v    verbose mode; shows IROps being tested\n");
+        printf("\n\t-v -v -v verbose mode, extreme edition\n\n");
+        return 0;
+      } else {
+        printf("%s ?  Nothing happens.\n", argv[i]);
+        return 1;
+      }
+   }
+
+   if (! RUNNING_ON_VALGRIND) {
+     fprintf(stderr, "*** This program needs to run under memcheck.\n");
+     return 1;
+   }
+
+   setbuf(stdout, NULL);  // make stdout unbuffered
+
+   fixup_irops();         // determine need for special handling
+
+   // Iterate over all primops
+   IROp first = Iop_INVALID + 1;
+   IROp last  = Iop_LAST;
+   IROp opkind;
+
+   if (0) {   // overwrite for debugging
+      first = Iop_CasCmpEQ8; last = first + 1;
+   }
+
+   // Iterate over all IROps in the enum type. That is the only way to
+   // make sure the operator is tested on at least one platform.
+
+   // Loop assumes no holes in the enumerator values
+   for (opkind = first; opkind < last; ++opkind) {
+
+      const irop_t *op = get_irop(opkind);
+      if (op == NULL) continue;
+
+      test_data_t *data = new_test_data(op);
+
+      if (op->undef_kind == UNDEF_UNKNOWN) {
+         fprintf(stderr, "...skipping %s; unknown undef propagation\n",
+                 op->name);
+         continue;
+      }
+
+      if (verbose > 1) printf("Testing operator %s\n", op->name);
+
+      IRICB iricb = new_iricb(op, data);
+
+      valgrind_vex_init_for_iri(&iricb);
+
+      switch (iricb.num_operands) {
+      case 1:
+         num_unary_tests += test_unary_op(op, data);
+         break;
+
+      case 2:
+         num_binary_tests += test_binary_op(op, data);
+         break;
+
+      case 3:
+         num_ternary_tests += test_ternary_op(op, data);
+         break;
+
+      case 4:
+         num_qernary_tests += test_qernary_op(op, data);
+         break;
+
+      default:
+         panic("operator not handled");
+      }
+
+      free(data);
+   }
+
+   if (verbose) 
+      printf("\nvbit-test ran  %d unary, %d binary, %d ternary and %d qernary tests.\n",
+	  num_unary_tests, num_binary_tests, num_ternary_tests,
+	  num_qernary_tests);
+   return 0;
+}
diff --git a/memcheck/tests/vbit-test/qernary.c b/memcheck/tests/vbit-test/qernary.c
new file mode 100644
index 0000000..324bb20
--- /dev/null
+++ b/memcheck/tests/vbit-test/qernary.c
@@ -0,0 +1,68 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#include <assert.h>
+#include "vtest.h"
+
+
+/* Check the result of a quarternary operation. */
+static void
+check_result_for_qernary(const irop_t *op, const test_data_t *data)
+{
+   const opnd_t *result = &data->result;
+   const opnd_t *opnd1  = &data->opnds[0];
+   const opnd_t *opnd2  = &data->opnds[1];
+   const opnd_t *opnd3  = &data->opnds[2];
+   const opnd_t *opnd4  = &data->opnds[3];
+   vbits_t expected_vbits;
+
+   /* Only handle those undef-kinds that actually occur. */
+   switch (op->undef_kind) {
+   case UNDEF_ALL:
+      expected_vbits = undefined_vbits(result->vbits.num_bits);
+      break;
+
+   case UNDEF_SAME:
+      // SAME with respect to the 1-bits in all operands
+      expected_vbits  = or_vbits(or_vbits(or_vbits(opnd1->vbits, opnd2->vbits),
+                                          opnd3->vbits), opnd4->vbits);
+      break;
+
+   default:
+      panic(__func__);
+   }
+
+   if (! equal_vbits(result->vbits, expected_vbits))
+      complain(op, data, expected_vbits);
+}
+
+
+int
+test_qernary_op(const irop_t *op, test_data_t *data)
+{
+   unsigned num_input_bits, i, bitpos;
+   opnd_t *opnds = data->opnds;
+   int tests_done = 0;
+
+   /* For each operand, set a single bit to undefined and observe how
+      that propagates to the output. Do this for all bits in each
+      operand. */
+   for (i = 0; i < 4; ++i) {
+      num_input_bits = bitsof_irtype(opnds[i].type);
+
+      opnds[0].vbits = defined_vbits(bitsof_irtype(opnds[0].type));
+      opnds[1].vbits = defined_vbits(bitsof_irtype(opnds[1].type));
+      opnds[2].vbits = defined_vbits(bitsof_irtype(opnds[2].type));
+      opnds[3].vbits = defined_vbits(bitsof_irtype(opnds[3].type));
+
+      for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+         opnds[i].vbits = onehot_vbits(bitpos, bitsof_irtype(opnds[i].type));
+
+         valgrind_execute_test(op, data);
+
+         check_result_for_qernary(op, data);
+
+         tests_done++;
+      }
+   }
+   return tests_done;
+}
diff --git a/memcheck/tests/vbit-test/ternary.c b/memcheck/tests/vbit-test/ternary.c
new file mode 100644
index 0000000..77eaa94
--- /dev/null
+++ b/memcheck/tests/vbit-test/ternary.c
@@ -0,0 +1,66 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#include <assert.h>
+#include "vtest.h"
+
+
+/* Check the result of a ternary operation. */
+static void
+check_result_for_ternary(const irop_t *op, const test_data_t *data)
+{
+   const opnd_t *result = &data->result;
+   const opnd_t *opnd1  = &data->opnds[0];
+   const opnd_t *opnd2  = &data->opnds[1];
+   const opnd_t *opnd3  = &data->opnds[2];
+   vbits_t expected_vbits;
+
+   /* Only handle those undef-kinds that actually occur. */
+   switch (op->undef_kind) {
+   case UNDEF_ALL:
+      expected_vbits = undefined_vbits(result->vbits.num_bits);
+      break;
+
+   case UNDEF_SAME:
+      // SAME with respect to the 1-bits in all operands
+      expected_vbits = or_vbits(or_vbits(opnd1->vbits, opnd2->vbits),
+                                opnd3->vbits);
+      break;
+
+   default:
+      panic(__func__);
+   }
+
+   if (! equal_vbits(result->vbits, expected_vbits))
+      complain(op, data, expected_vbits);
+}
+
+
+int
+test_ternary_op(const irop_t *op, test_data_t *data)
+{
+   unsigned num_input_bits, i, bitpos;
+   opnd_t *opnds = data->opnds;
+   int tests_done = 0;
+
+   /* For each operand, set a single bit to undefined and observe how
+      that propagates to the output. Do this for all bits in each
+      operand. */
+   for (i = 0; i < 3; ++i) {
+      num_input_bits = bitsof_irtype(opnds[i].type);
+
+      opnds[0].vbits = defined_vbits(bitsof_irtype(opnds[0].type));
+      opnds[1].vbits = defined_vbits(bitsof_irtype(opnds[1].type));
+      opnds[2].vbits = defined_vbits(bitsof_irtype(opnds[2].type));
+
+      for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+         opnds[i].vbits = onehot_vbits(bitpos, bitsof_irtype(opnds[i].type));
+
+         valgrind_execute_test(op, data);
+
+         check_result_for_ternary(op, data);
+
+	 tests_done++;
+      }
+   }
+   return tests_done;
+}
diff --git a/memcheck/tests/vbit-test/unary.c b/memcheck/tests/vbit-test/unary.c
new file mode 100644
index 0000000..30ba87f
--- /dev/null
+++ b/memcheck/tests/vbit-test/unary.c
@@ -0,0 +1,73 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#include <assert.h>
+#include "vtest.h"
+
+
+/* Check the result of a unary operation. */
+static void
+check_result_for_unary(const irop_t *op, const test_data_t *data)
+{
+   const opnd_t *result = &data->result;
+   const opnd_t *opnd   = &data->opnds[0];
+   unsigned num_bits = result->vbits.num_bits;
+   vbits_t expected_vbits;
+
+   /* Only handle those undef-kinds that actually occur. */
+   switch (op->undef_kind) {
+   case UNDEF_ALL:
+      expected_vbits = undefined_vbits(num_bits);
+      break;
+
+   case UNDEF_SAME:
+      expected_vbits = opnd->vbits;
+      break;
+
+   case UNDEF_TRUNC:
+      expected_vbits = truncate_vbits(opnd->vbits, num_bits);
+      break;
+
+   case UNDEF_LEFT:
+      expected_vbits = left_vbits(opnd->vbits, num_bits);
+      break;
+
+   case UNDEF_UPPER:
+      assert(num_bits * 2 == opnd->vbits.num_bits);
+      expected_vbits = upper_vbits(opnd->vbits);
+      break;
+
+   case UNDEF_SEXT:
+      expected_vbits = sextend_vbits(opnd->vbits, num_bits);
+      break;
+
+   case UNDEF_ZEXT:
+      expected_vbits = zextend_vbits(opnd->vbits, num_bits);
+      break;
+
+   default:
+      panic(__func__);
+   }
+
+   if (! equal_vbits(result->vbits, expected_vbits))
+      complain(op, data, expected_vbits);
+}
+
+
+int
+test_unary_op(const irop_t *op, test_data_t *data)
+{
+   unsigned num_input_bits, bitpos;
+   int tests_done = 0;
+
+   num_input_bits = bitsof_irtype(data->opnds[0].type);
+
+   for (bitpos = 0; bitpos < num_input_bits; ++bitpos) {
+      data->opnds[0].vbits = onehot_vbits(bitpos, num_input_bits);
+
+      valgrind_execute_test(op, data);
+
+      check_result_for_unary(op, data);
+      tests_done++;
+   }
+   return tests_done;
+}
diff --git a/memcheck/tests/vbit-test/util.c b/memcheck/tests/vbit-test/util.c
new file mode 100644
index 0000000..b174a03
--- /dev/null
+++ b/memcheck/tests/vbit-test/util.c
@@ -0,0 +1,1048 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#include <stdio.h>     // fprintf
+#include <stdlib.h>    // exit
+#include <assert.h>    // assert
+#if defined(__APPLE__)
+#include <machine/endian.h>
+#define __BYTE_ORDER    BYTE_ORDER
+#define __LITTLE_ENDIAN LITTLE_ENDIAN
+#else
+#include <endian.h>
+#endif
+#include <inttypes.h>
+#include "vtest.h"
+
+
+/* Something bad happened. Cannot continue. */
+void __attribute__((noreturn))
+panic(const char *string)
+{
+   fprintf(stderr, "*** OOPS: %s\n", string);
+   exit(1);
+}
+
+
+/* Issue a complaint because the V-bits of the result of an operation
+   differ from what was expected. */
+void
+complain(const irop_t *op, const test_data_t *data, vbits_t expected)
+{
+   fprintf(stderr, "*** Incorrect result for operator %s\n", op->name);
+   
+   int num_operands = get_num_operands(op->op);
+
+   for (unsigned i = 0; i < num_operands; ++i) {
+      fprintf(stderr, "    opnd %u:  ", i);
+      print_opnd(stderr, &data->opnds[i]);
+      fprintf(stderr, "\n");
+   }
+   fprintf(stderr, "    result:  ");
+   print_opnd(stderr, &data->result);
+   fprintf(stderr, "\n");
+   fprintf(stderr, "    expect:  vbits = ");
+   print_vbits(stderr, expected);
+   fprintf(stderr, "\n");
+}
+
+
+static void
+print_value(FILE *fp, value_t val, unsigned num_bits)
+{
+   switch (num_bits) {
+   case 1:  fprintf(fp, "%02x",   val.u8);  break;
+   case 8:  fprintf(fp, "%02x",   val.u8);  break;
+   case 16: fprintf(fp, "%04x",   val.u16); break;
+   case 32: fprintf(fp, "%08x",   val.u32); break;
+   case 64: fprintf(fp, "%016"PRIx64, val.u64); break;
+   case 128:
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         fprintf(fp, "%016"PRIx64, val.u128[1]);
+         fprintf(fp, "%016"PRIx64, val.u128[0]);
+      } else {
+         fprintf(fp, "%016"PRIx64, val.u128[0]);
+         fprintf(fp, "%016"PRIx64, val.u128[1]);
+      }
+      break;
+   case 256:
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         fprintf(fp, "%016"PRIx64, val.u256[3]);
+         fprintf(fp, "%016"PRIx64, val.u256[2]);
+         fprintf(fp, "%016"PRIx64, val.u256[1]);
+         fprintf(fp, "%016"PRIx64, val.u256[0]);
+      } else {
+         fprintf(fp, "%016"PRIx64, val.u256[0]);
+         fprintf(fp, "%016"PRIx64, val.u256[1]);
+         fprintf(fp, "%016"PRIx64, val.u256[2]);
+         fprintf(fp, "%016"PRIx64, val.u256[3]);
+      }
+      break;
+  default:
+      panic(__func__);
+   }
+}
+
+
+void
+print_opnd(FILE *fp, const opnd_t *opnd)
+{
+   fprintf(fp, "vbits = ");
+   print_vbits(fp, opnd->vbits);
+   /* Write the value only if it is defined. Otherwise, there will be error
+      messages about it being undefined */
+   if (equal_vbits(opnd->vbits, defined_vbits(opnd->vbits.num_bits))) {
+      fprintf(fp, "   value = ");
+      print_value(fp, opnd->value, opnd->vbits.num_bits);
+   }
+}
+
+
+static int
+is_floating_point_type(IRType type)
+{
+   switch (type) {
+   case Ity_F32:
+   case Ity_F64:
+   case Ity_F128:
+   case Ity_D32:
+   case Ity_D64:
+   case Ity_D128:
+      return 1;
+
+   default:
+      return 0;
+   }
+}
+
+
+int
+is_floating_point_op_with_rounding_mode(IROp op)
+{
+   IRType t_dst, t_arg1, t_arg2, t_arg3, t_arg4;
+
+   typeof_primop(op, &t_dst, &t_arg1, &t_arg2, &t_arg3, &t_arg4);
+
+   // A unary operator cannot have a rounding mode
+   if (t_arg2 == Ity_INVALID) return 0;
+
+   if (is_floating_point_type(t_dst)  ||
+       is_floating_point_type(t_arg1) || 
+       is_floating_point_type(t_arg2) || 
+       is_floating_point_type(t_arg3) || 
+       is_floating_point_type(t_arg4)) {
+      // Rounding mode, if present, is the 1st operand
+      return t_arg1 == Ity_I32;
+   }
+   return 0;
+}
+
+
+/* Return the number of operands for which input values can
+   be freely chosen. For floating point ops, the rounding mode
+   is not counted here, as it is restricted. */
+int
+get_num_operands(IROp op)
+{
+   IRType unused, t1, t2, t3, t4;
+
+   typeof_primop(op, &unused, &t1, &t2, &t3, &t4);
+
+   int num_operands = 4;
+   if (t4 == Ity_INVALID) num_operands = 3;
+   if (t3 == Ity_INVALID) num_operands = 2;
+   if (t2 == Ity_INVALID) num_operands = 1;
+
+   if (is_floating_point_op_with_rounding_mode(op))
+      -- num_operands;
+
+   return num_operands;
+}
+
+
+/* ---------------------------------------------------------------- */
+
+/* The functions below have been imported from VEX/pric/ir_defs.c.
+   This is more convenient because
+   (1) Don't have to figure out the Makefile machinery to pick up the
+       correct VEX library (platform specific)
+   (2) Would have to export typeofIRType in VEX
+   (3) There is no worry that these functions get out of synch because
+       the test harness will iterate over all IROps in libvex_ir.h.
+       So if a new one was added there, we would assert here and elsewhere.
+*/
+
+// Taken from VEX/priv/ir_defs.c: function sizeofIRType
+unsigned
+sizeof_irtype(IRType ty)
+{
+   switch (ty) {
+      case Ity_I8:   return 1;
+      case Ity_I16:  return 2;
+      case Ity_I32:  return 4;
+      case Ity_I64:  return 8;
+      case Ity_I128: return 16;
+      case Ity_F32:  return 4;
+      case Ity_F64:  return 8;
+      case Ity_F128: return 16;
+      case Ity_D32:  return 4;
+      case Ity_D64:  return 8;
+      case Ity_D128: return 16;
+      case Ity_V128: return 16;
+      case Ity_V256: return 32;
+      default:
+         panic(__func__);
+   }
+}
+
+
+// Taken from VEX/priv/ir_defs.c: function typeOfPrimop
+// Modified minimally to break dependencies on VEX infrastructure.
+void
+typeof_primop(IROp op, IRType *t_dst, IRType *t_arg1, IRType *t_arg2, 
+              IRType *t_arg3, IRType *t_arg4)
+{
+#  define UNARY(_ta1,_td)                                      \
+      *t_dst = (_td); *t_arg1 = (_ta1); break
+#  define BINARY(_ta1,_ta2,_td)                                \
+     *t_dst = (_td); *t_arg1 = (_ta1); *t_arg2 = (_ta2); break
+#  define TERNARY(_ta1,_ta2,_ta3,_td)                          \
+     *t_dst = (_td); *t_arg1 = (_ta1);                         \
+     *t_arg2 = (_ta2); *t_arg3 = (_ta3); break
+#  define QUATERNARY(_ta1,_ta2,_ta3,_ta4,_td)                  \
+     *t_dst = (_td); *t_arg1 = (_ta1);                         \
+     *t_arg2 = (_ta2); *t_arg3 = (_ta3);                       \
+     *t_arg4 = (_ta4); break
+#  define COMPARISON(_ta)                                      \
+     *t_dst = Ity_I1; *t_arg1 = *t_arg2 = (_ta); break;
+#  define UNARY_COMPARISON(_ta)                                \
+     *t_dst = Ity_I1; *t_arg1 = (_ta); break;
+
+   /* Rounding mode values are always Ity_I32, encoded as per
+      IRRoundingMode */
+   const IRType ity_RMode = Ity_I32;
+
+   *t_dst  = Ity_INVALID;
+   *t_arg1 = Ity_INVALID;
+   *t_arg2 = Ity_INVALID;
+   *t_arg3 = Ity_INVALID;
+   *t_arg4 = Ity_INVALID;
+   switch (op) {
+      case Iop_Add8: case Iop_Sub8: case Iop_Mul8: 
+      case Iop_Or8:  case Iop_And8: case Iop_Xor8:
+         BINARY(Ity_I8,Ity_I8, Ity_I8);
+
+      case Iop_Add16: case Iop_Sub16: case Iop_Mul16:
+      case Iop_Or16:  case Iop_And16: case Iop_Xor16:
+         BINARY(Ity_I16,Ity_I16, Ity_I16);
+
+      case Iop_CmpORD32U:
+      case Iop_CmpORD32S:
+      case Iop_Add32: case Iop_Sub32: case Iop_Mul32:
+      case Iop_Or32:  case Iop_And32: case Iop_Xor32:
+      case Iop_Max32U:
+      case Iop_QAdd32S: case Iop_QSub32S:
+      case Iop_Add16x2: case Iop_Sub16x2:
+      case Iop_QAdd16Sx2: case Iop_QAdd16Ux2:
+      case Iop_QSub16Sx2: case Iop_QSub16Ux2:
+      case Iop_HAdd16Ux2: case Iop_HAdd16Sx2:
+      case Iop_HSub16Ux2: case Iop_HSub16Sx2:
+      case Iop_Add8x4: case Iop_Sub8x4:
+      case Iop_QAdd8Sx4: case Iop_QAdd8Ux4:
+      case Iop_QSub8Sx4: case Iop_QSub8Ux4:
+      case Iop_HAdd8Ux4: case Iop_HAdd8Sx4:
+      case Iop_HSub8Ux4: case Iop_HSub8Sx4:
+      case Iop_Sad8Ux4:
+         BINARY(Ity_I32,Ity_I32, Ity_I32);
+
+      case Iop_Add64: case Iop_Sub64: case Iop_Mul64:
+      case Iop_Or64:  case Iop_And64: case Iop_Xor64:
+      case Iop_CmpORD64U:
+      case Iop_CmpORD64S:
+      case Iop_Avg8Ux8: case Iop_Avg16Ux4:
+      case Iop_Add8x8: case Iop_Add16x4: case Iop_Add32x2:
+      case Iop_Add32Fx2: case Iop_Sub32Fx2:
+      case Iop_CmpEQ8x8: case Iop_CmpEQ16x4: case Iop_CmpEQ32x2:
+      case Iop_CmpGT8Sx8: case Iop_CmpGT16Sx4: case Iop_CmpGT32Sx2:
+      case Iop_CmpGT8Ux8: case Iop_CmpGT16Ux4: case Iop_CmpGT32Ux2:
+      case Iop_CmpGT32Fx2: case Iop_CmpEQ32Fx2: case Iop_CmpGE32Fx2:
+      case Iop_InterleaveHI8x8: case Iop_InterleaveLO8x8:
+      case Iop_InterleaveHI16x4: case Iop_InterleaveLO16x4:
+      case Iop_InterleaveHI32x2: case Iop_InterleaveLO32x2:
+      case Iop_CatOddLanes8x8: case Iop_CatEvenLanes8x8:
+      case Iop_CatOddLanes16x4: case Iop_CatEvenLanes16x4:
+      case Iop_InterleaveOddLanes8x8: case Iop_InterleaveEvenLanes8x8:
+      case Iop_InterleaveOddLanes16x4: case Iop_InterleaveEvenLanes16x4:
+      case Iop_Perm8x8:
+      case Iop_Max8Ux8: case Iop_Max16Ux4: case Iop_Max32Ux2:
+      case Iop_Max8Sx8: case Iop_Max16Sx4: case Iop_Max32Sx2:
+      case Iop_Max32Fx2: case Iop_Min32Fx2:
+      case Iop_PwMax32Fx2: case Iop_PwMin32Fx2:
+      case Iop_Min8Ux8: case Iop_Min16Ux4: case Iop_Min32Ux2:
+      case Iop_Min8Sx8: case Iop_Min16Sx4: case Iop_Min32Sx2:
+      case Iop_PwMax8Ux8: case Iop_PwMax16Ux4: case Iop_PwMax32Ux2:
+      case Iop_PwMax8Sx8: case Iop_PwMax16Sx4: case Iop_PwMax32Sx2:
+      case Iop_PwMin8Ux8: case Iop_PwMin16Ux4: case Iop_PwMin32Ux2:
+      case Iop_PwMin8Sx8: case Iop_PwMin16Sx4: case Iop_PwMin32Sx2:
+      case Iop_Mul8x8: case Iop_Mul16x4: case Iop_Mul32x2:
+      case Iop_Mul32Fx2:
+      case Iop_PolynomialMul8x8:
+      case Iop_MulHi16Sx4: case Iop_MulHi16Ux4:
+      case Iop_QDMulHi16Sx4: case Iop_QDMulHi32Sx2:
+      case Iop_QRDMulHi16Sx4: case Iop_QRDMulHi32Sx2:
+      case Iop_QAdd8Sx8: case Iop_QAdd16Sx4:
+      case Iop_QAdd32Sx2: case Iop_QAdd64Sx1:
+      case Iop_QAdd8Ux8: case Iop_QAdd16Ux4:
+      case Iop_QAdd32Ux2: case Iop_QAdd64Ux1:
+      case Iop_PwAdd8x8: case Iop_PwAdd16x4: case Iop_PwAdd32x2:
+      case Iop_PwAdd32Fx2:
+      case Iop_QNarrowBin32Sto16Sx4:
+      case Iop_QNarrowBin16Sto8Sx8: case Iop_QNarrowBin16Sto8Ux8:
+      case Iop_NarrowBin16to8x8: case Iop_NarrowBin32to16x4:
+      case Iop_Sub8x8: case Iop_Sub16x4: case Iop_Sub32x2:
+      case Iop_QSub8Sx8: case Iop_QSub16Sx4:
+      case Iop_QSub32Sx2: case Iop_QSub64Sx1:
+      case Iop_QSub8Ux8: case Iop_QSub16Ux4:
+      case Iop_QSub32Ux2: case Iop_QSub64Ux1:
+      case Iop_Shl8x8: case Iop_Shl16x4: case Iop_Shl32x2:
+      case Iop_Shr8x8: case Iop_Shr16x4: case Iop_Shr32x2:
+      case Iop_Sar8x8: case Iop_Sar16x4: case Iop_Sar32x2:
+      case Iop_Sal8x8: case Iop_Sal16x4: case Iop_Sal32x2: case Iop_Sal64x1:
+      case Iop_QShl8x8: case Iop_QShl16x4: case Iop_QShl32x2: case Iop_QShl64x1:
+      case Iop_QSal8x8: case Iop_QSal16x4: case Iop_QSal32x2: case Iop_QSal64x1:
+      case Iop_Recps32Fx2:
+      case Iop_Rsqrts32Fx2:
+         BINARY(Ity_I64,Ity_I64, Ity_I64);
+
+      case Iop_ShlN32x2: case Iop_ShlN16x4: case Iop_ShlN8x8:
+      case Iop_ShrN32x2: case Iop_ShrN16x4: case Iop_ShrN8x8:
+      case Iop_SarN32x2: case Iop_SarN16x4: case Iop_SarN8x8:
+      case Iop_QShlN8x8: case Iop_QShlN16x4:
+      case Iop_QShlN32x2: case Iop_QShlN64x1:
+      case Iop_QShlN8Sx8: case Iop_QShlN16Sx4:
+      case Iop_QShlN32Sx2: case Iop_QShlN64Sx1:
+      case Iop_QSalN8x8: case Iop_QSalN16x4:
+      case Iop_QSalN32x2: case Iop_QSalN64x1:
+         BINARY(Ity_I64,Ity_I8, Ity_I64);
+
+      case Iop_Shl8: case Iop_Shr8: case Iop_Sar8:
+         BINARY(Ity_I8,Ity_I8, Ity_I8);
+      case Iop_Shl16: case Iop_Shr16: case Iop_Sar16:
+         BINARY(Ity_I16,Ity_I8, Ity_I16);
+      case Iop_Shl32: case Iop_Shr32: case Iop_Sar32:
+         BINARY(Ity_I32,Ity_I8, Ity_I32);
+      case Iop_Shl64: case Iop_Shr64: case Iop_Sar64:
+         BINARY(Ity_I64,Ity_I8, Ity_I64);
+
+      case Iop_Not8:
+         UNARY(Ity_I8, Ity_I8);
+      case Iop_Not16:
+         UNARY(Ity_I16, Ity_I16);
+      case Iop_Not32:
+      case Iop_CmpNEZ16x2: case Iop_CmpNEZ8x4:
+         UNARY(Ity_I32, Ity_I32);
+
+      case Iop_Not64:
+      case Iop_CmpNEZ32x2: case Iop_CmpNEZ16x4: case Iop_CmpNEZ8x8:
+      case Iop_Cnt8x8:
+      case Iop_Clz8Sx8: case Iop_Clz16Sx4: case Iop_Clz32Sx2:
+      case Iop_Cls8Sx8: case Iop_Cls16Sx4: case Iop_Cls32Sx2:
+      case Iop_PwAddL8Ux8: case Iop_PwAddL16Ux4: case Iop_PwAddL32Ux2:
+      case Iop_PwAddL8Sx8: case Iop_PwAddL16Sx4: case Iop_PwAddL32Sx2:
+      case Iop_Reverse64_8x8: case Iop_Reverse64_16x4: case Iop_Reverse64_32x2:
+      case Iop_Reverse32_8x8: case Iop_Reverse32_16x4:
+      case Iop_Reverse16_8x8:
+      case Iop_FtoI32Sx2_RZ: case Iop_FtoI32Ux2_RZ:
+      case Iop_I32StoFx2: case Iop_I32UtoFx2:
+      case Iop_Recip32x2: case Iop_Recip32Fx2:
+      case Iop_Abs32Fx2:
+      case Iop_Rsqrte32Fx2:
+      case Iop_Rsqrte32x2:
+      case Iop_Neg32Fx2:
+      case Iop_Abs8x8: case Iop_Abs16x4: case Iop_Abs32x2:
+         UNARY(Ity_I64, Ity_I64);
+
+      case Iop_CmpEQ8: case Iop_CmpNE8:
+      case Iop_CasCmpEQ8: case Iop_CasCmpNE8:
+         COMPARISON(Ity_I8);
+      case Iop_CmpEQ16: case Iop_CmpNE16:
+      case Iop_CasCmpEQ16: case Iop_CasCmpNE16:
+         COMPARISON(Ity_I16);
+      case Iop_CmpEQ32: case Iop_CmpNE32:
+      case Iop_CasCmpEQ32: case Iop_CasCmpNE32:
+      case Iop_CmpLT32S: case Iop_CmpLE32S:
+      case Iop_CmpLT32U: case Iop_CmpLE32U:
+         COMPARISON(Ity_I32);
+      case Iop_CmpEQ64: case Iop_CmpNE64:
+      case Iop_CasCmpEQ64: case Iop_CasCmpNE64:
+      case Iop_CmpLT64S: case Iop_CmpLE64S:
+      case Iop_CmpLT64U: case Iop_CmpLE64U:
+         COMPARISON(Ity_I64);
+
+      case Iop_CmpNEZ8:  UNARY_COMPARISON(Ity_I8);
+      case Iop_CmpNEZ16: UNARY_COMPARISON(Ity_I16);
+      case Iop_CmpNEZ32: UNARY_COMPARISON(Ity_I32);
+      case Iop_CmpNEZ64: UNARY_COMPARISON(Ity_I64);
+
+      case Iop_Left8:  UNARY(Ity_I8, Ity_I8);
+      case Iop_Left16: UNARY(Ity_I16,Ity_I16);
+      case Iop_CmpwNEZ32: case Iop_Left32: UNARY(Ity_I32,Ity_I32);
+      case Iop_CmpwNEZ64: case Iop_Left64: UNARY(Ity_I64,Ity_I64);
+
+      case Iop_MullU8: case Iop_MullS8:
+         BINARY(Ity_I8,Ity_I8, Ity_I16);
+      case Iop_MullU16: case Iop_MullS16:
+         BINARY(Ity_I16,Ity_I16, Ity_I32);
+      case Iop_MullU32: case Iop_MullS32:
+         BINARY(Ity_I32,Ity_I32, Ity_I64);
+      case Iop_MullU64: case Iop_MullS64:
+         BINARY(Ity_I64,Ity_I64, Ity_I128);
+
+      case Iop_Clz32: case Iop_Ctz32:
+         UNARY(Ity_I32, Ity_I32);
+
+      case Iop_Clz64: case Iop_Ctz64:
+         UNARY(Ity_I64, Ity_I64);
+
+      case Iop_DivU32: case Iop_DivS32: case Iop_DivU32E: case Iop_DivS32E:
+         BINARY(Ity_I32,Ity_I32, Ity_I32);
+
+      case Iop_DivU64: case Iop_DivS64: case Iop_DivS64E: case Iop_DivU64E:
+         BINARY(Ity_I64,Ity_I64, Ity_I64);
+
+      case Iop_DivModU64to32: case Iop_DivModS64to32:
+         BINARY(Ity_I64,Ity_I32, Ity_I64);
+
+      case Iop_DivModU128to64: case Iop_DivModS128to64:
+         BINARY(Ity_I128,Ity_I64, Ity_I128);
+
+      case Iop_DivModS64to64:
+         BINARY(Ity_I64,Ity_I64, Ity_I128);
+
+      case Iop_16HIto8: case Iop_16to8:
+         UNARY(Ity_I16, Ity_I8);
+      case Iop_8HLto16:
+         BINARY(Ity_I8,Ity_I8, Ity_I16);
+
+      case Iop_32HIto16: case Iop_32to16:
+         UNARY(Ity_I32, Ity_I16);
+      case Iop_16HLto32:
+         BINARY(Ity_I16,Ity_I16, Ity_I32);
+
+      case Iop_64HIto32: case Iop_64to32:
+         UNARY(Ity_I64, Ity_I32);
+      case Iop_32HLto64:
+         BINARY(Ity_I32,Ity_I32, Ity_I64);
+
+      case Iop_128HIto64: case Iop_128to64:
+         UNARY(Ity_I128, Ity_I64);
+      case Iop_64HLto128:
+         BINARY(Ity_I64,Ity_I64, Ity_I128);
+
+      case Iop_Not1:   UNARY(Ity_I1, Ity_I1);
+      case Iop_1Uto8:  UNARY(Ity_I1, Ity_I8);
+      case Iop_1Sto8:  UNARY(Ity_I1, Ity_I8);
+      case Iop_1Sto16: UNARY(Ity_I1, Ity_I16);
+      case Iop_1Uto32: case Iop_1Sto32: UNARY(Ity_I1, Ity_I32);
+      case Iop_1Sto64: case Iop_1Uto64: UNARY(Ity_I1, Ity_I64);
+      case Iop_32to1:  UNARY(Ity_I32, Ity_I1);
+      case Iop_64to1:  UNARY(Ity_I64, Ity_I1);
+
+      case Iop_8Uto32: case Iop_8Sto32:
+         UNARY(Ity_I8, Ity_I32);
+
+      case Iop_8Uto16: case Iop_8Sto16:
+         UNARY(Ity_I8, Ity_I16);
+
+      case Iop_16Uto32: case Iop_16Sto32: 
+         UNARY(Ity_I16, Ity_I32);
+
+      case Iop_32Sto64: case Iop_32Uto64:
+         UNARY(Ity_I32, Ity_I64);
+
+      case Iop_8Uto64: case Iop_8Sto64:
+         UNARY(Ity_I8, Ity_I64);
+
+      case Iop_16Uto64: case Iop_16Sto64:
+         UNARY(Ity_I16, Ity_I64);
+      case Iop_64to16:
+         UNARY(Ity_I64, Ity_I16);
+
+      case Iop_32to8: UNARY(Ity_I32, Ity_I8);
+      case Iop_64to8: UNARY(Ity_I64, Ity_I8);
+
+      case Iop_AddF64:    case Iop_SubF64: 
+      case Iop_MulF64:    case Iop_DivF64:
+      case Iop_AddF64r32: case Iop_SubF64r32: 
+      case Iop_MulF64r32: case Iop_DivF64r32:
+         TERNARY(ity_RMode,Ity_F64,Ity_F64, Ity_F64);
+
+      case Iop_AddF32: case Iop_SubF32:
+      case Iop_MulF32: case Iop_DivF32:
+         TERNARY(ity_RMode,Ity_F32,Ity_F32, Ity_F32);
+
+      case Iop_NegF64: case Iop_AbsF64: 
+         UNARY(Ity_F64, Ity_F64);
+
+      case Iop_NegF32: case Iop_AbsF32:
+         UNARY(Ity_F32, Ity_F32);
+
+      case Iop_SqrtF64:
+         BINARY(ity_RMode,Ity_F64, Ity_F64);
+
+      case Iop_SqrtF32:
+      case Iop_RoundF32toInt:
+         BINARY(ity_RMode,Ity_F32, Ity_F32);
+
+      case Iop_CmpF32:
+         BINARY(Ity_F32,Ity_F32, Ity_I32);
+
+      case Iop_CmpF64:
+         BINARY(Ity_F64,Ity_F64, Ity_I32);
+
+      case Iop_CmpF128:
+         BINARY(Ity_F128,Ity_F128, Ity_I32);
+
+      case Iop_F64toI16S: BINARY(ity_RMode,Ity_F64, Ity_I16);
+      case Iop_F64toI32S: BINARY(ity_RMode,Ity_F64, Ity_I32);
+      case Iop_F64toI64S: case Iop_F64toI64U:
+         BINARY(ity_RMode,Ity_F64, Ity_I64);
+
+      case Iop_F64toI32U: BINARY(ity_RMode,Ity_F64, Ity_I32);
+
+      case Iop_I32StoF64: UNARY(Ity_I32, Ity_F64);
+      case Iop_I64StoF64: BINARY(ity_RMode,Ity_I64, Ity_F64);
+      case Iop_I64UtoF64: BINARY(ity_RMode,Ity_I64, Ity_F64);
+      case Iop_I64UtoF32: BINARY(ity_RMode,Ity_I64, Ity_F32);
+
+      case Iop_I32UtoF64: UNARY(Ity_I32, Ity_F64);
+
+      case Iop_F32toI32S: BINARY(ity_RMode,Ity_F32, Ity_I32);
+      case Iop_F32toI64S: BINARY(ity_RMode,Ity_F32, Ity_I64);
+      case Iop_F32toI32U: BINARY(ity_RMode,Ity_F32, Ity_I32);
+      case Iop_F32toI64U: BINARY(ity_RMode,Ity_F32, Ity_I64);
+ 
+      case Iop_I32UtoF32: BINARY(ity_RMode,Ity_I32, Ity_F32);
+      case Iop_I32StoF32: BINARY(ity_RMode,Ity_I32, Ity_F32);
+      case Iop_I64StoF32: BINARY(ity_RMode,Ity_I64, Ity_F32);
+
+      case Iop_F32toF64: UNARY(Ity_F32, Ity_F64);
+      case Iop_F64toF32: BINARY(ity_RMode,Ity_F64, Ity_F32);
+
+      case Iop_ReinterpI64asF64: UNARY(Ity_I64, Ity_F64);
+      case Iop_ReinterpF64asI64: UNARY(Ity_F64, Ity_I64);
+      case Iop_ReinterpI32asF32: UNARY(Ity_I32, Ity_F32);
+      case Iop_ReinterpF32asI32: UNARY(Ity_F32, Ity_I32);
+
+      case Iop_AtanF64: case Iop_Yl2xF64:  case Iop_Yl2xp1F64: 
+      case Iop_ScaleF64: case Iop_PRemF64: case Iop_PRem1F64:
+         TERNARY(ity_RMode,Ity_F64,Ity_F64, Ity_F64);
+
+      case Iop_PRemC3210F64: case Iop_PRem1C3210F64:
+         TERNARY(ity_RMode,Ity_F64,Ity_F64, Ity_I32);
+
+      case Iop_SinF64: case Iop_CosF64: case Iop_TanF64: 
+      case Iop_2xm1F64:
+      case Iop_RoundF64toInt: BINARY(ity_RMode,Ity_F64, Ity_F64);
+
+      case Iop_MAddF64: case Iop_MSubF64:
+      case Iop_MAddF64r32: case Iop_MSubF64r32:
+         QUATERNARY(ity_RMode,Ity_F64,Ity_F64,Ity_F64, Ity_F64);
+
+      case Iop_Est5FRSqrt:
+      case Iop_RoundF64toF64_NEAREST: case Iop_RoundF64toF64_NegINF:
+      case Iop_RoundF64toF64_PosINF: case Iop_RoundF64toF64_ZERO:
+         UNARY(Ity_F64, Ity_F64);
+      case Iop_RoundF64toF32:
+         BINARY(ity_RMode,Ity_F64, Ity_F64);
+      case Iop_TruncF64asF32:
+         UNARY(Ity_F64, Ity_F32);
+
+      case Iop_I32UtoFx4:
+      case Iop_I32StoFx4:
+      case Iop_QFtoI32Ux4_RZ:
+      case Iop_QFtoI32Sx4_RZ:
+      case Iop_FtoI32Ux4_RZ:
+      case Iop_FtoI32Sx4_RZ:
+      case Iop_RoundF32x4_RM:
+      case Iop_RoundF32x4_RP:
+      case Iop_RoundF32x4_RN:
+      case Iop_RoundF32x4_RZ:
+      case Iop_Abs32Fx4:
+      case Iop_Rsqrte32Fx4:
+      case Iop_Rsqrte32x4:
+         UNARY(Ity_V128, Ity_V128);
+
+      case Iop_64HLtoV128:
+         BINARY(Ity_I64,Ity_I64, Ity_V128);
+
+      case Iop_V128to64: case Iop_V128HIto64:
+      case Iop_NarrowUn16to8x8:
+      case Iop_NarrowUn32to16x4:
+      case Iop_NarrowUn64to32x2:
+      case Iop_QNarrowUn16Uto8Ux8:
+      case Iop_QNarrowUn32Uto16Ux4:
+      case Iop_QNarrowUn64Uto32Ux2:
+      case Iop_QNarrowUn16Sto8Sx8:
+      case Iop_QNarrowUn32Sto16Sx4:
+      case Iop_QNarrowUn64Sto32Sx2:
+      case Iop_QNarrowUn16Sto8Ux8:
+      case Iop_QNarrowUn32Sto16Ux4:
+      case Iop_QNarrowUn64Sto32Ux2:
+      case Iop_F32toF16x4:
+         UNARY(Ity_V128, Ity_I64);
+
+      case Iop_Widen8Uto16x8:
+      case Iop_Widen16Uto32x4:
+      case Iop_Widen32Uto64x2:
+      case Iop_Widen8Sto16x8:
+      case Iop_Widen16Sto32x4:
+      case Iop_Widen32Sto64x2:
+      case Iop_F16toF32x4:
+         UNARY(Ity_I64, Ity_V128);
+
+      case Iop_V128to32:    UNARY(Ity_V128, Ity_I32);
+      case Iop_32UtoV128:   UNARY(Ity_I32, Ity_V128);
+      case Iop_64UtoV128:   UNARY(Ity_I64, Ity_V128);
+      case Iop_SetV128lo32: BINARY(Ity_V128,Ity_I32, Ity_V128);
+      case Iop_SetV128lo64: BINARY(Ity_V128,Ity_I64, Ity_V128);
+
+      case Iop_Dup8x16: UNARY(Ity_I8, Ity_V128);
+      case Iop_Dup16x8: UNARY(Ity_I16, Ity_V128);
+      case Iop_Dup32x4: UNARY(Ity_I32, Ity_V128);
+      case Iop_Dup8x8:  UNARY(Ity_I8, Ity_I64);
+      case Iop_Dup16x4: UNARY(Ity_I16, Ity_I64);
+      case Iop_Dup32x2: UNARY(Ity_I32, Ity_I64);
+
+      case Iop_CmpEQ32Fx4: case Iop_CmpLT32Fx4:
+      case Iop_CmpEQ64Fx2: case Iop_CmpLT64Fx2:
+      case Iop_CmpLE32Fx4: case Iop_CmpUN32Fx4:
+      case Iop_CmpLE64Fx2: case Iop_CmpUN64Fx2:
+      case Iop_CmpGT32Fx4: case Iop_CmpGE32Fx4:
+      case Iop_CmpEQ32F0x4: case Iop_CmpLT32F0x4:
+      case Iop_CmpEQ64F0x2: case Iop_CmpLT64F0x2:
+      case Iop_CmpLE32F0x4: case Iop_CmpUN32F0x4:
+      case Iop_CmpLE64F0x2: case Iop_CmpUN64F0x2:
+      case Iop_Add32Fx4: case Iop_Add32F0x4:
+      case Iop_Add64Fx2: case Iop_Add64F0x2:
+      case Iop_Div32Fx4: case Iop_Div32F0x4:
+      case Iop_Div64Fx2: case Iop_Div64F0x2:
+      case Iop_Max32Fx4: case Iop_Max32F0x4:
+      case Iop_PwMax32Fx4: case Iop_PwMin32Fx4:
+      case Iop_Max64Fx2: case Iop_Max64F0x2:
+      case Iop_Min32Fx4: case Iop_Min32F0x4:
+      case Iop_Min64Fx2: case Iop_Min64F0x2:
+      case Iop_Mul32Fx4: case Iop_Mul32F0x4:
+      case Iop_Mul64Fx2: case Iop_Mul64F0x2:
+      case Iop_Sub32Fx4: case Iop_Sub32F0x4:
+      case Iop_Sub64Fx2: case Iop_Sub64F0x2:
+      case Iop_AndV128: case Iop_OrV128: case Iop_XorV128:
+      case Iop_Add8x16:   case Iop_Add16x8:   
+      case Iop_Add32x4:   case Iop_Add64x2:
+      case Iop_QAdd8Ux16: case Iop_QAdd16Ux8:
+      case Iop_QAdd32Ux4: //case Iop_QAdd64Ux2:
+      case Iop_QAdd8Sx16: case Iop_QAdd16Sx8:
+      case Iop_QAdd32Sx4: case Iop_QAdd64Sx2:
+      case Iop_PwAdd8x16: case Iop_PwAdd16x8: case Iop_PwAdd32x4:
+      case Iop_Sub8x16:   case Iop_Sub16x8:
+      case Iop_Sub32x4:   case Iop_Sub64x2:
+      case Iop_QSub8Ux16: case Iop_QSub16Ux8:
+      case Iop_QSub32Ux4: //case Iop_QSub64Ux2:
+      case Iop_QSub8Sx16: case Iop_QSub16Sx8:
+      case Iop_QSub32Sx4: case Iop_QSub64Sx2:
+      case Iop_Mul8x16: case Iop_Mul16x8: case Iop_Mul32x4:
+      case Iop_PolynomialMul8x16:
+      case Iop_MulHi16Ux8: case Iop_MulHi32Ux4: 
+      case Iop_MulHi16Sx8: case Iop_MulHi32Sx4: 
+      case Iop_QDMulHi16Sx8: case Iop_QDMulHi32Sx4:
+      case Iop_QRDMulHi16Sx8: case Iop_QRDMulHi32Sx4:
+      case Iop_MullEven8Ux16: case Iop_MullEven16Ux8:
+      case Iop_MullEven8Sx16: case Iop_MullEven16Sx8:
+      case Iop_Avg8Ux16: case Iop_Avg16Ux8: case Iop_Avg32Ux4:
+      case Iop_Avg8Sx16: case Iop_Avg16Sx8: case Iop_Avg32Sx4:
+      case Iop_Max8Sx16: case Iop_Max16Sx8: case Iop_Max32Sx4:
+      case Iop_Max8Ux16: case Iop_Max16Ux8: case Iop_Max32Ux4:
+      case Iop_Min8Sx16: case Iop_Min16Sx8: case Iop_Min32Sx4:
+      case Iop_Min8Ux16: case Iop_Min16Ux8: case Iop_Min32Ux4:
+      case Iop_CmpEQ8x16:  case Iop_CmpEQ16x8:  case Iop_CmpEQ32x4:
+      case Iop_CmpEQ64x2:
+      case Iop_CmpGT8Sx16: case Iop_CmpGT16Sx8: case Iop_CmpGT32Sx4:
+      case Iop_CmpGT64Sx2:
+      case Iop_CmpGT8Ux16: case Iop_CmpGT16Ux8: case Iop_CmpGT32Ux4:
+      case Iop_Shl8x16: case Iop_Shl16x8: case Iop_Shl32x4: case Iop_Shl64x2:
+      case Iop_QShl8x16: case Iop_QShl16x8:
+      case Iop_QShl32x4: case Iop_QShl64x2:
+      case Iop_QSal8x16: case Iop_QSal16x8:
+      case Iop_QSal32x4: case Iop_QSal64x2:
+      case Iop_Shr8x16: case Iop_Shr16x8: case Iop_Shr32x4: case Iop_Shr64x2:
+      case Iop_Sar8x16: case Iop_Sar16x8: case Iop_Sar32x4: case Iop_Sar64x2:
+      case Iop_Sal8x16: case Iop_Sal16x8: case Iop_Sal32x4: case Iop_Sal64x2:
+      case Iop_Rol8x16: case Iop_Rol16x8: case Iop_Rol32x4:
+      case Iop_QNarrowBin16Sto8Ux16: case Iop_QNarrowBin32Sto16Ux8:
+      case Iop_QNarrowBin16Sto8Sx16: case Iop_QNarrowBin32Sto16Sx8:
+      case Iop_QNarrowBin16Uto8Ux16: case Iop_QNarrowBin32Uto16Ux8:
+      case Iop_NarrowBin16to8x16:   case Iop_NarrowBin32to16x8:
+      case Iop_InterleaveHI8x16: case Iop_InterleaveHI16x8:
+      case Iop_InterleaveHI32x4: case Iop_InterleaveHI64x2:
+      case Iop_InterleaveLO8x16: case Iop_InterleaveLO16x8:
+      case Iop_InterleaveLO32x4: case Iop_InterleaveLO64x2:
+      case Iop_CatOddLanes8x16: case Iop_CatEvenLanes8x16:
+      case Iop_CatOddLanes16x8: case Iop_CatEvenLanes16x8:
+      case Iop_CatOddLanes32x4: case Iop_CatEvenLanes32x4:
+      case Iop_InterleaveOddLanes8x16: case Iop_InterleaveEvenLanes8x16:
+      case Iop_InterleaveOddLanes16x8: case Iop_InterleaveEvenLanes16x8:
+      case Iop_InterleaveOddLanes32x4: case Iop_InterleaveEvenLanes32x4:
+      case Iop_Perm8x16: case Iop_Perm32x4:
+      case Iop_Recps32Fx4:
+      case Iop_Rsqrts32Fx4:
+         BINARY(Ity_V128,Ity_V128, Ity_V128);
+
+      case Iop_PolynomialMull8x8:
+      case Iop_Mull8Ux8: case Iop_Mull8Sx8:
+      case Iop_Mull16Ux4: case Iop_Mull16Sx4:
+      case Iop_Mull32Ux2: case Iop_Mull32Sx2:
+         BINARY(Ity_I64, Ity_I64, Ity_V128);
+
+      case Iop_NotV128:
+      case Iop_Recip32Fx4: case Iop_Recip32F0x4:
+      case Iop_Recip32x4:
+      case Iop_Recip64Fx2: case Iop_Recip64F0x2:
+      case Iop_RSqrt32Fx4: case Iop_RSqrt32F0x4:
+      case Iop_RSqrt64Fx2: case Iop_RSqrt64F0x2:
+      case Iop_Sqrt32Fx4:  case Iop_Sqrt32F0x4:
+      case Iop_Sqrt64Fx2:  case Iop_Sqrt64F0x2:
+      case Iop_CmpNEZ8x16: case Iop_CmpNEZ16x8:
+      case Iop_CmpNEZ32x4: case Iop_CmpNEZ64x2:
+      case Iop_Cnt8x16:
+      case Iop_Clz8Sx16: case Iop_Clz16Sx8: case Iop_Clz32Sx4:
+      case Iop_Cls8Sx16: case Iop_Cls16Sx8: case Iop_Cls32Sx4:
+      case Iop_PwAddL8Ux16: case Iop_PwAddL16Ux8: case Iop_PwAddL32Ux4:
+      case Iop_PwAddL8Sx16: case Iop_PwAddL16Sx8: case Iop_PwAddL32Sx4:
+      case Iop_Reverse64_8x16: case Iop_Reverse64_16x8: case Iop_Reverse64_32x4:
+      case Iop_Reverse32_8x16: case Iop_Reverse32_16x8:
+      case Iop_Reverse16_8x16:
+      case Iop_Neg32Fx4:
+      case Iop_Abs8x16: case Iop_Abs16x8: case Iop_Abs32x4:
+         UNARY(Ity_V128, Ity_V128);
+
+      case Iop_ShlV128: case Iop_ShrV128:
+      case Iop_ShlN8x16: case Iop_ShlN16x8: 
+      case Iop_ShlN32x4: case Iop_ShlN64x2:
+      case Iop_ShrN8x16: case Iop_ShrN16x8: 
+      case Iop_ShrN32x4: case Iop_ShrN64x2:
+      case Iop_SarN8x16: case Iop_SarN16x8:
+      case Iop_SarN32x4: case Iop_SarN64x2:
+      case Iop_QShlN8x16: case Iop_QShlN16x8:
+      case Iop_QShlN32x4: case Iop_QShlN64x2:
+      case Iop_QShlN8Sx16: case Iop_QShlN16Sx8:
+      case Iop_QShlN32Sx4: case Iop_QShlN64Sx2:
+      case Iop_QSalN8x16: case Iop_QSalN16x8:
+      case Iop_QSalN32x4: case Iop_QSalN64x2:
+         BINARY(Ity_V128,Ity_I8, Ity_V128);
+
+      case Iop_F32ToFixed32Ux4_RZ:
+      case Iop_F32ToFixed32Sx4_RZ:
+      case Iop_Fixed32UToF32x4_RN:
+      case Iop_Fixed32SToF32x4_RN:
+         BINARY(Ity_V128, Ity_I8, Ity_V128);
+
+      case Iop_F32ToFixed32Ux2_RZ:
+      case Iop_F32ToFixed32Sx2_RZ:
+      case Iop_Fixed32UToF32x2_RN:
+      case Iop_Fixed32SToF32x2_RN:
+         BINARY(Ity_I64, Ity_I8, Ity_I64);
+
+      case Iop_GetElem8x16:
+         BINARY(Ity_V128, Ity_I8, Ity_I8);
+      case Iop_GetElem16x8:
+         BINARY(Ity_V128, Ity_I8, Ity_I16);
+      case Iop_GetElem32x4:
+         BINARY(Ity_V128, Ity_I8, Ity_I32);
+      case Iop_GetElem64x2:
+         BINARY(Ity_V128, Ity_I8, Ity_I64);
+      case Iop_GetElem8x8:
+         BINARY(Ity_I64, Ity_I8, Ity_I8);
+      case Iop_GetElem16x4:
+         BINARY(Ity_I64, Ity_I8, Ity_I16);
+      case Iop_GetElem32x2:
+         BINARY(Ity_I64, Ity_I8, Ity_I32);
+      case Iop_SetElem8x8:
+         TERNARY(Ity_I64, Ity_I8, Ity_I8, Ity_I64);
+      case Iop_SetElem16x4:
+         TERNARY(Ity_I64, Ity_I8, Ity_I16, Ity_I64);
+      case Iop_SetElem32x2:
+         TERNARY(Ity_I64, Ity_I8, Ity_I32, Ity_I64);
+
+      case Iop_Extract64:
+         TERNARY(Ity_I64, Ity_I64, Ity_I8, Ity_I64);
+      case Iop_ExtractV128:
+         TERNARY(Ity_V128, Ity_V128, Ity_I8, Ity_V128);
+
+      case Iop_QDMulLong16Sx4: case Iop_QDMulLong32Sx2:
+         BINARY(Ity_I64, Ity_I64, Ity_V128);
+
+         /* s390 specific */
+      case Iop_MAddF32:
+      case Iop_MSubF32:
+         QUATERNARY(ity_RMode,Ity_F32,Ity_F32,Ity_F32, Ity_F32);
+
+      case Iop_F64HLtoF128:
+        BINARY(Ity_F64,Ity_F64, Ity_F128);
+
+      case Iop_F128HItoF64:
+      case Iop_F128LOtoF64:
+        UNARY(Ity_F128, Ity_F64);
+
+      case Iop_AddF128:
+      case Iop_SubF128:
+      case Iop_MulF128:
+      case Iop_DivF128:
+         TERNARY(ity_RMode,Ity_F128,Ity_F128, Ity_F128);
+
+      case Iop_NegF128:
+      case Iop_AbsF128:
+         UNARY(Ity_F128, Ity_F128);
+
+      case Iop_SqrtF128:
+         BINARY(ity_RMode,Ity_F128, Ity_F128);
+
+      case Iop_I32StoF128: UNARY(Ity_I32, Ity_F128);
+      case Iop_I64StoF128: UNARY(Ity_I64, Ity_F128);
+
+      case Iop_I32UtoF128: UNARY(Ity_I32, Ity_F128);
+      case Iop_I64UtoF128: UNARY(Ity_I64, Ity_F128);
+
+      case Iop_F128toI32S: BINARY(ity_RMode,Ity_F128, Ity_I32);
+      case Iop_F128toI64S: BINARY(ity_RMode,Ity_F128, Ity_I64);
+
+      case Iop_F128toI32U: BINARY(ity_RMode,Ity_F128, Ity_I32);
+      case Iop_F128toI64U: BINARY(ity_RMode,Ity_F128, Ity_I64);
+
+      case Iop_F32toF128: UNARY(Ity_F32, Ity_F128);
+      case Iop_F64toF128: UNARY(Ity_F64, Ity_F128);
+
+      case Iop_F128toF32: BINARY(ity_RMode,Ity_F128, Ity_F32);
+      case Iop_F128toF64: BINARY(ity_RMode,Ity_F128, Ity_F64);
+
+      case Iop_D32toD64:
+         UNARY(Ity_D32, Ity_D64);
+
+      case Iop_ExtractExpD64:
+         UNARY(Ity_D64, Ity_I64);
+
+      case Iop_ExtractSigD64:
+         UNARY(Ity_D64, Ity_I64);
+
+      case Iop_InsertExpD64:
+         BINARY(Ity_I64,Ity_D64, Ity_D64);
+
+      case Iop_ExtractExpD128:
+         UNARY(Ity_D128, Ity_I64);
+
+      case Iop_ExtractSigD128:
+         UNARY(Ity_D128, Ity_I64);
+
+      case Iop_InsertExpD128:
+         BINARY(Ity_I64,Ity_D128, Ity_D128);
+
+      case Iop_D64toD128:
+         UNARY(Ity_D64, Ity_D128);
+
+      case Iop_ReinterpD64asI64:
+	UNARY(Ity_D64, Ity_I64);
+
+      case Iop_ReinterpI64asD64:
+         UNARY(Ity_I64, Ity_D64);
+
+      case Iop_RoundD64toInt:
+         BINARY(ity_RMode,Ity_D64, Ity_D64);
+
+      case Iop_RoundD128toInt:
+         BINARY(ity_RMode,Ity_D128, Ity_D128);
+
+      case Iop_I32StoD128:
+      case Iop_I32UtoD128:
+         UNARY(Ity_I32, Ity_D128);
+
+      case Iop_I64StoD128:
+         UNARY(Ity_I64, Ity_D128);
+
+      case Iop_I64UtoD128:
+         UNARY(Ity_I64, Ity_D128);
+
+      case Iop_F32toD32:
+         BINARY(ity_RMode, Ity_F32, Ity_D32);
+
+      case Iop_F32toD64:
+         BINARY(ity_RMode, Ity_F32, Ity_D64);
+
+      case Iop_F32toD128:
+         BINARY(ity_RMode, Ity_F32, Ity_D128);
+
+      case Iop_F64toD32:
+         BINARY(ity_RMode, Ity_F64, Ity_D32);
+
+      case Iop_F64toD64:
+         BINARY(ity_RMode, Ity_F64, Ity_D64);
+
+      case Iop_F64toD128:
+         BINARY(ity_RMode, Ity_F64, Ity_D128);
+
+      case Iop_F128toD32:
+         BINARY(ity_RMode, Ity_F128, Ity_D32);
+
+      case Iop_F128toD64:
+         BINARY(ity_RMode, Ity_F128, Ity_D64);
+
+      case Iop_F128toD128:
+         BINARY(ity_RMode, Ity_F128, Ity_D128);
+
+      case Iop_D32toF32:
+         BINARY(ity_RMode, Ity_D32, Ity_F32);
+
+      case Iop_D32toF64:
+         BINARY(ity_RMode, Ity_D32, Ity_F64);
+
+      case Iop_D32toF128:
+         BINARY(ity_RMode, Ity_D32, Ity_F128);
+
+      case Iop_D64toF32:
+         BINARY(ity_RMode, Ity_D64, Ity_F32);
+
+      case Iop_D64toF64:
+         BINARY(ity_RMode, Ity_D64, Ity_F64);
+
+      case Iop_D64toF128:
+         BINARY(ity_RMode, Ity_D64, Ity_F128);
+
+      case Iop_D128toF32:
+         BINARY(ity_RMode, Ity_D128, Ity_F32);
+
+      case Iop_D128toF64:
+         BINARY(ity_RMode, Ity_D128, Ity_F64);
+
+      case Iop_D128toF128:
+         BINARY(ity_RMode, Ity_D128, Ity_F128);
+
+      case Iop_DPBtoBCD:
+      case Iop_BCDtoDPB:
+         UNARY(Ity_I64, Ity_I64);
+
+      case Iop_D128HItoD64:
+      case Iop_D128LOtoD64:
+         UNARY(Ity_D128, Ity_D64);
+
+      case Iop_D128toI32S:
+      case Iop_D128toI32U:
+         BINARY(ity_RMode, Ity_D128, Ity_I32);
+
+      case Iop_D128toI64S:
+         BINARY(ity_RMode, Ity_D128, Ity_I64);
+
+      case Iop_D128toI64U:
+         BINARY(ity_RMode, Ity_D128, Ity_I64);
+
+      case Iop_D64HLtoD128:
+         BINARY(Ity_D64, Ity_D64, Ity_D128);
+
+      case Iop_ShlD64:
+      case Iop_ShrD64:
+         BINARY(Ity_D64, Ity_I8, Ity_D64 );
+
+      case Iop_D64toD32:
+         BINARY(ity_RMode, Ity_D64, Ity_D32);
+
+      case Iop_D64toI32S:
+      case Iop_D64toI32U:
+         BINARY(ity_RMode, Ity_D64, Ity_I32);
+
+      case Iop_D64toI64S:
+      case Iop_D64toI64U:
+         BINARY(ity_RMode, Ity_D64, Ity_I64);
+
+      case Iop_I32StoD64:
+      case Iop_I32UtoD64:
+         UNARY(Ity_I32, Ity_D64);
+
+      case Iop_I64StoD64:
+      case Iop_I64UtoD64:
+         BINARY(ity_RMode, Ity_I64, Ity_D64);
+
+      case Iop_CmpD64:
+      case Iop_CmpExpD64:
+         BINARY(Ity_D64,Ity_D64, Ity_I32);
+
+      case Iop_CmpD128:
+      case Iop_CmpExpD128:
+         BINARY(Ity_D128,Ity_D128, Ity_I32);
+
+      case Iop_QuantizeD64:
+         TERNARY(ity_RMode,Ity_D64,Ity_D64, Ity_D64);
+
+      case Iop_SignificanceRoundD64:
+         TERNARY(ity_RMode,Ity_I8,Ity_D64, Ity_D64);
+
+      case Iop_QuantizeD128:
+         TERNARY(ity_RMode,Ity_D128,Ity_D128, Ity_D128);
+
+      case Iop_SignificanceRoundD128:
+         TERNARY(ity_RMode,Ity_I8,Ity_D128, Ity_D128);
+
+      case Iop_ShlD128:
+      case Iop_ShrD128:
+         BINARY(Ity_D128, Ity_I8, Ity_D128 );
+
+      case Iop_AddD64:
+      case Iop_SubD64:
+      case Iop_MulD64:
+      case Iop_DivD64:
+         TERNARY( ity_RMode, Ity_D64, Ity_D64, Ity_D64 );
+
+      case Iop_D128toD64:
+         BINARY( ity_RMode, Ity_D128, Ity_D64 );
+
+      case Iop_AddD128:
+      case Iop_SubD128:
+      case Iop_MulD128:
+      case Iop_DivD128:
+         TERNARY(ity_RMode,Ity_D128,Ity_D128, Ity_D128);
+
+      case Iop_V256to64_0: case Iop_V256to64_1:
+      case Iop_V256to64_2: case Iop_V256to64_3:
+         UNARY(Ity_V256, Ity_I64);
+
+      case Iop_64x4toV256:
+         QUATERNARY(Ity_I64, Ity_I64, Ity_I64, Ity_I64, Ity_V256);
+
+      case Iop_Add64Fx4: case Iop_Sub64Fx4:
+      case Iop_Mul64Fx4: case Iop_Div64Fx4:
+      case Iop_Add32Fx8: case Iop_Sub32Fx8:
+      case Iop_Mul32Fx8: case Iop_Div32Fx8:
+      case Iop_AndV256:  case Iop_OrV256:
+      case Iop_XorV256:
+      case Iop_Max32Fx8: case Iop_Min32Fx8:
+      case Iop_Max64Fx4: case Iop_Min64Fx4:
+         BINARY(Ity_V256,Ity_V256, Ity_V256);
+
+      case Iop_V256toV128_1: case Iop_V256toV128_0:
+         UNARY(Ity_V256, Ity_V128);
+
+      case Iop_V128HLtoV256:
+         BINARY(Ity_V128,Ity_V128, Ity_V256);
+
+      case Iop_NotV256:
+      case Iop_RSqrt32Fx8:
+      case Iop_Sqrt32Fx8:
+      case Iop_Sqrt64Fx4:
+      case Iop_Recip32Fx8:
+      case Iop_CmpNEZ64x4: case Iop_CmpNEZ32x8:
+         UNARY(Ity_V256, Ity_V256);
+
+      default:
+         panic(__func__);
+   }
+#  undef UNARY
+#  undef BINARY
+#  undef TERNARY
+#  undef COMPARISON
+#  undef UNARY_COMPARISON
+}
diff --git a/memcheck/tests/vbit-test/valgrind.c b/memcheck/tests/vbit-test/valgrind.c
new file mode 100644
index 0000000..5972ffb
--- /dev/null
+++ b/memcheck/tests/vbit-test/valgrind.c
@@ -0,0 +1,118 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#include <assert.h>
+#include "memcheck.h"  // VALGRIND_SET_VBITS
+#include "vtest.h"     
+
+
+/* Return a completely initialised control block */
+IRICB
+new_iricb(const irop_t *op, test_data_t *data)
+{
+   IRICB cb;
+
+   cb.op = op->op;
+   cb.result = (HWord)&data->result.value;
+   cb.opnd1  = (HWord)&data->opnds[0].value;
+   cb.opnd2  = (HWord)&data->opnds[1].value;
+   cb.opnd3  = (HWord)&data->opnds[2].value;
+   cb.opnd4  = (HWord)&data->opnds[3].value;
+   cb.t_result = data->result.type;
+   cb.t_opnd1  = data->opnds[0].type;
+   cb.t_opnd2  = data->opnds[1].type;
+   cb.t_opnd3  = data->opnds[2].type;
+   cb.t_opnd4  = data->opnds[3].type;
+
+   cb.rounding_mode = data->rounding_mode;
+
+   cb.num_operands = get_num_operands(op->op);
+
+   cb.shift_amount_is_immediate = op->shift_amount_is_immediate;
+
+   return cb;
+}
+
+
+/* Ity_I1 values cannot be stored or loaded. So vex_inject_ir will load/store
+   such a value from/to a 4-byte container. It uses 32to1 and 1Uto32,
+   respectively. */
+static void
+valgrind_set_vbits(opnd_t *opnd)
+{
+   unsigned rc, num_bytes;
+   
+   /* 1-bit wide values cannot be read. So we read a 4 bytes here */
+   num_bytes = opnd->type == Ity_I1 ? 4 : sizeof_irtype(opnd->type);
+   rc = VALGRIND_SET_VBITS(&opnd->value, &opnd->vbits.bits, num_bytes);
+   assert(rc == 1);
+
+   // Make sure the v-bits were set correctly
+   vbits_t actual = { .num_bits = opnd->vbits.num_bits };
+   rc = VALGRIND_GET_VBITS(&opnd->value, &actual.bits, num_bytes);
+   assert(rc == 1);
+
+   assert(equal_vbits(opnd->vbits, actual));
+}
+
+
+static void
+valgrind_get_vbits(opnd_t *opnd)
+{
+   unsigned rc, num_bytes;
+
+   /* 1-bit wide values cannot be stored. So we store them by writing a
+      single byte */
+   num_bytes = opnd->type == Ity_I1 ? 4 : sizeof_irtype(opnd->type);
+   opnd->vbits.num_bits = bitsof_irtype(opnd->type);
+   rc = VALGRIND_GET_VBITS(&opnd->value, &opnd->vbits.bits, num_bytes);
+   assert(rc == 1);
+}
+
+
+/* Insert a client request that will initialize VEX for IR injection */
+void
+valgrind_vex_init_for_iri(IRICB *cb)
+{
+   VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__VEX_INIT_FOR_IRI, cb, 0,0,0,0);
+}
+
+
+/* Insert a special opcode that will cause VEX to inject an IR stmt based
+   on the information passed in the IRICB (in valgrind_vex_init_for_iri). */
+static void
+valgrind_vex_inject_ir(void)
+{
+   VALGRIND_VEX_INJECT_IR();
+}
+
+
+/* Execute the test under valgrind. Well, yes, we're not really executing
+   it here, just preparing for it... */
+void
+valgrind_execute_test(const irop_t *op, test_data_t *data)
+{
+   unsigned i, num_operands;
+
+   if (verbose > 2) printf("---------- Running a test\n");
+   num_operands = get_num_operands(op->op);
+
+   for (i = 0; i < num_operands; ++i) {
+      valgrind_set_vbits(&data->opnds[i]);
+      if (verbose > 2) {
+         printf("opnd #%u:  ", i);
+         print_opnd(stdout, &data->opnds[i]);
+         printf("\n");
+      }
+   }
+   if (verbose > 2)
+      if (data->rounding_mode != NO_ROUNDING_MODE)
+         printf("rounding mode %u\n", data->rounding_mode);
+
+   valgrind_vex_inject_ir();
+   valgrind_get_vbits(&data->result);
+   if (verbose > 2) {
+      printf("result:   ");
+      print_opnd(stdout, &data->result);
+      printf("\n");
+   }
+}
diff --git a/memcheck/tests/vbit-test/vbit-test.stderr.exp b/memcheck/tests/vbit-test/vbit-test.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/vbit-test/vbit-test.stderr.exp
diff --git a/memcheck/tests/vbit-test/vbit-test.vgtest b/memcheck/tests/vbit-test/vbit-test.vgtest
new file mode 100644
index 0000000..08a8b06
--- /dev/null
+++ b/memcheck/tests/vbit-test/vbit-test.vgtest
@@ -0,0 +1,2 @@
+prog: vbit-test
+vgopts: -q
diff --git a/memcheck/tests/vbit-test/vbits.c b/memcheck/tests/vbit-test/vbits.c
new file mode 100644
index 0000000..3182f8e
--- /dev/null
+++ b/memcheck/tests/vbit-test/vbits.c
@@ -0,0 +1,768 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#include <stdio.h>   // fprintf
+#include <assert.h>  // assert
+#if defined(__APPLE__)
+#include <machine/endian.h>
+#define __BYTE_ORDER    BYTE_ORDER
+#define __LITTLE_ENDIAN LITTLE_ENDIAN
+#else
+#include <endian.h>
+#endif
+#include <inttypes.h>
+#include "vbits.h"
+#include "vtest.h"
+
+
+/* Return the bits of V if they fit into 64-bit. If V has fewer than
+   64 bits, the bit pattern is zero-extended to the left. */
+static uint64_t
+get_bits64(vbits_t v)
+{
+   switch (v.num_bits) {
+   case 1:  return v.bits.u32;
+   case 8:  return v.bits.u8;
+   case 16: return v.bits.u16;
+   case 32: return v.bits.u32;
+   case 64: return v.bits.u64;
+   case 128:
+   case 256:
+      /* fall through */
+   default:
+      panic(__func__);
+   }
+}
+
+void
+print_vbits(FILE *fp, vbits_t v)
+{
+   switch (v.num_bits) {
+   case 1:   fprintf(fp, "%08x",   v.bits.u32); break;
+   case 8:   fprintf(fp, "%02x",   v.bits.u8);  break;
+   case 16:  fprintf(fp, "%04x",   v.bits.u16); break;
+   case 32:  fprintf(fp, "%08x",   v.bits.u32); break;
+   case 64:  fprintf(fp, "%016"PRIx64, v.bits.u64); break;
+   case 128:
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         fprintf(fp, "%016"PRIx64, v.bits.u128[1]);
+         fprintf(fp, "%016"PRIx64, v.bits.u128[0]);
+      } else {
+         fprintf(fp, "%016"PRIx64, v.bits.u128[0]);
+         fprintf(fp, "%016"PRIx64, v.bits.u128[1]);
+      }
+      break;
+   case 256:
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         fprintf(fp, "%016"PRIx64, v.bits.u256[3]);
+         fprintf(fp, "%016"PRIx64, v.bits.u256[2]);
+         fprintf(fp, "%016"PRIx64, v.bits.u256[1]);
+         fprintf(fp, "%016"PRIx64, v.bits.u256[0]);
+      } else {
+         fprintf(fp, "%016"PRIx64, v.bits.u256[0]);
+         fprintf(fp, "%016"PRIx64, v.bits.u256[1]);
+         fprintf(fp, "%016"PRIx64, v.bits.u256[2]);
+         fprintf(fp, "%016"PRIx64, v.bits.u256[3]);
+      }
+      break;
+   default:
+      panic(__func__);
+   }
+}
+
+
+/* Return a value where all bits are set to undefined. */
+vbits_t
+undefined_vbits(unsigned num_bits)
+{
+   vbits_t new = { .num_bits = num_bits };
+
+   switch (num_bits) {
+   case   1: new.bits.u32 = 0x01;   break;
+   case   8: new.bits.u8  = 0xff;   break;
+   case  16: new.bits.u16 = 0xffff; break;
+   case  32: new.bits.u32 = ~0;     break;
+   case  64: new.bits.u64 = ~0ull;  break;
+   case 128: new.bits.u128[0] = ~0ull;
+             new.bits.u128[1] = ~0ull;
+             break;
+   case 256: new.bits.u256[0] = ~0ull;
+             new.bits.u256[1] = ~0ull;
+             new.bits.u256[2] = ~0ull;
+             new.bits.u256[3] = ~0ull;
+             break;
+   default:
+      panic(__func__);
+   }
+   return new;
+}
+
+
+/* Return a value where all bits are set to defined. */
+vbits_t
+defined_vbits(unsigned num_bits)
+{
+   vbits_t new = { .num_bits = num_bits };
+
+   switch (num_bits) {
+   case   1: new.bits.u32 = 0x0; break;
+   case   8: new.bits.u8  = 0x0; break;
+   case  16: new.bits.u16 = 0x0; break;
+   case  32: new.bits.u32 = 0x0; break;
+   case  64: new.bits.u64 = 0x0; break;
+   case 128: new.bits.u128[0] = 0x0;
+             new.bits.u128[1] = 0x0;
+             break;
+   case 256: new.bits.u256[0] = 0x0;
+             new.bits.u256[1] = 0x0;
+             new.bits.u256[2] = 0x0;
+             new.bits.u256[3] = 0x0;
+             break;
+   default:
+      panic(__func__);
+   }
+   return new;
+}
+
+
+/* Return 1, if equal. */
+int
+equal_vbits(vbits_t v1, vbits_t v2)
+{
+   assert(v1.num_bits == v2.num_bits);
+
+   switch (v1.num_bits) {
+   case 1:   return v1.bits.u32 == v2.bits.u32;
+   case 8:   return v1.bits.u8  == v2.bits.u8;
+   case 16:  return v1.bits.u16 == v2.bits.u16;
+   case 32:  return v1.bits.u32 == v2.bits.u32;
+   case 64:  return v1.bits.u64 == v2.bits.u64;
+   case 128: return v1.bits.u128[0] == v2.bits.u128[0] &&
+                    v1.bits.u128[1] == v2.bits.u128[1];
+   case 256: return v1.bits.u256[0] == v2.bits.u256[0] &&
+                    v1.bits.u256[1] == v2.bits.u256[1] &&
+                    v1.bits.u256[2] == v2.bits.u256[2] &&
+                    v1.bits.u256[3] == v2.bits.u256[3];
+   default:
+      panic(__func__);
+   }
+}
+
+
+/* Truncate the bit pattern in V1 to NUM_BITS bits */
+vbits_t
+truncate_vbits(vbits_t v, unsigned num_bits)
+{
+   assert(num_bits <= v.num_bits);
+
+   if (num_bits == v.num_bits) return v;
+
+   vbits_t new = { .num_bits = num_bits };
+
+   if (num_bits <= 64) {
+      uint64_t bits;
+
+      if (v.num_bits <= 64)
+         bits = get_bits64(v);
+      else if (v.num_bits == 128)
+         if (__BYTE_ORDER == __LITTLE_ENDIAN)
+            bits = v.bits.u128[0];
+         else
+            bits = v.bits.u128[1];
+      else if (v.num_bits == 256)
+         if (__BYTE_ORDER == __LITTLE_ENDIAN)
+            bits = v.bits.u256[0];
+         else
+            bits = v.bits.u256[3];
+      else
+         panic(__func__);
+
+      switch (num_bits) {
+      case 1:   new.bits.u32 = bits & 0x01;   break;
+      case 8:   new.bits.u8  = bits & 0xff;   break;
+      case 16:  new.bits.u16 = bits & 0xffff; break;
+      case 32:  new.bits.u32 = bits & ~0u;    break;
+      case 64:  new.bits.u64 = bits & ~0ll;   break;
+      default:
+         panic(__func__);
+      }
+      return new;
+   }
+
+   if (num_bits == 128) {
+      assert(v.num_bits == 256);
+      /* From 256 bits to 128 */
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         new.bits.u128[0] = v.bits.u256[0];
+         new.bits.u128[1] = v.bits.u256[1];
+      } else {
+         new.bits.u128[0] = v.bits.u256[2];
+         new.bits.u128[1] = v.bits.u256[3];
+      }
+      return new;
+   }
+
+   /* Cannot truncate to 256 bits from something larger */
+   panic(__func__);
+}
+
+
+/* Helper function to compute left_vbits */
+static uint64_t
+left64(uint64_t x)
+{
+   // left(x) = x | -x
+   return x | (~x + 1);
+}
+
+
+vbits_t
+left_vbits(vbits_t v, unsigned num_bits)
+{
+   assert(num_bits >= v.num_bits);
+
+   vbits_t new = { .num_bits = num_bits };
+
+   if (v.num_bits <= 64) {
+      uint64_t bits = left64(get_bits64(v));
+
+      switch (num_bits) {
+      case 8:   new.bits.u8  = bits & 0xff;   break;
+      case 16:  new.bits.u16 = bits & 0xffff; break;
+      case 32:  new.bits.u32 = bits & ~0u;    break;
+      case 64:  new.bits.u64 = bits & ~0ll;   break;
+      case 128:
+         if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+            new.bits.u128[0] = bits;
+            if (bits & (1ull << 63)) {  // MSB is set
+               new.bits.u128[1] = ~0ull;
+            } else {
+               new.bits.u128[1] = 0;
+            }
+         } else {
+            new.bits.u128[1] = bits;
+            if (bits & (1ull << 63)) {  // MSB is set
+               new.bits.u128[0] = ~0ull;
+            } else {
+               new.bits.u128[0] = 0;
+            }
+         }
+         break;
+      case 256:
+         if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+            new.bits.u256[0] = bits;
+            if (bits & (1ull << 63)) {  // MSB is set
+               new.bits.u256[1] = ~0ull;
+               new.bits.u256[2] = ~0ull;
+               new.bits.u256[3] = ~0ull;
+            } else {
+               new.bits.u256[1] = 0;
+               new.bits.u256[2] = 0;
+               new.bits.u256[3] = 0;
+            }
+         } else {
+            new.bits.u256[3] = bits;
+            if (bits & (1ull << 63)) {  // MSB is set
+               new.bits.u256[0] = ~0ull;
+               new.bits.u256[1] = ~0ull;
+               new.bits.u256[2] = ~0ull;
+            } else {
+               new.bits.u256[0] = 0;
+               new.bits.u256[1] = 0;
+               new.bits.u256[2] = 0;
+            }
+         }
+         break;
+      default:
+         panic(__func__);
+      }
+      return new;
+   }
+
+   if (v.num_bits == 128) {
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         if (v.bits.u128[1] != 0) {
+            new.bits.u128[0] = v.bits.u128[0];
+            new.bits.u128[1] = left64(v.bits.u128[1]);
+         } else {
+            new.bits.u128[0] = left64(v.bits.u128[0]);
+            if (new.bits.u128[0] & (1ull << 63)) {  // MSB is set
+               new.bits.u128[1] = ~0ull;
+            } else {
+               new.bits.u128[1] = 0;
+            }
+         }
+      } else {
+         if (v.bits.u128[0] != 0) {
+            new.bits.u128[0] = left64(v.bits.u128[0]);
+            new.bits.u128[1] = v.bits.u128[1];
+         } else {
+            new.bits.u128[1] = left64(v.bits.u128[1]);
+            if (new.bits.u128[1] & (1ull << 63)) {  // MSB is set
+               new.bits.u128[0] = ~0ull;
+            } else {
+               new.bits.u128[0] = 0;
+            }
+         }
+      }
+      if (num_bits == 128) return new;
+
+      assert(num_bits == 256);
+
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         uint64_t b1 = new.bits.u128[1];
+         uint64_t b0 = new.bits.u128[0];
+
+         new.bits.u256[0] = b0;
+         new.bits.u256[1] = b1;
+
+         if (new.bits.u256[1] & (1ull << 63)) {  // MSB is set
+            new.bits.u256[2] = ~0ull;
+            new.bits.u256[3] = ~0ull;
+         } else {
+            new.bits.u256[2] = 0;
+            new.bits.u256[3] = 0;
+         }
+      } else {
+         uint64_t b1 = new.bits.u128[0];
+         uint64_t b0 = new.bits.u128[1];
+
+         new.bits.u256[2] = b0;
+         new.bits.u256[3] = b1;
+
+         if (new.bits.u256[2] & (1ull << 63)) {  // MSB is set
+            new.bits.u256[0] = ~0ull;
+            new.bits.u256[1] = ~0ull;
+         } else {
+            new.bits.u256[0] = 0;
+            new.bits.u256[1] = 0;
+         }
+      }
+      return new;
+   }
+
+   panic(__func__);
+}
+
+
+vbits_t
+or_vbits(vbits_t v1, vbits_t v2)
+{
+   assert(v1.num_bits == v2.num_bits);
+
+   vbits_t new = { .num_bits = v1.num_bits };
+
+   switch (v1.num_bits) {
+   case 8:   new.bits.u8  = v1.bits.u8  | v2.bits.u8;  break;
+   case 16:  new.bits.u16 = v1.bits.u16 | v2.bits.u16; break;
+   case 32:  new.bits.u32 = v1.bits.u32 | v2.bits.u32; break;
+   case 64:  new.bits.u64 = v1.bits.u64 | v2.bits.u64; break;
+   case 128: new.bits.u128[0] = v1.bits.u128[0] | v2.bits.u128[0];
+             new.bits.u128[1] = v1.bits.u128[1] | v2.bits.u128[1];
+             break;
+   case 256: new.bits.u256[0] = v1.bits.u256[0] | v2.bits.u256[0];
+             new.bits.u256[1] = v1.bits.u256[1] | v2.bits.u256[1];
+             new.bits.u256[2] = v1.bits.u256[2] | v2.bits.u256[2];
+             new.bits.u256[3] = v1.bits.u256[3] | v2.bits.u256[3];
+             break;
+   default:
+      panic(__func__);
+   }
+
+   return new;
+}
+
+
+vbits_t
+and_vbits(vbits_t v1, vbits_t v2)
+{
+   assert(v1.num_bits == v2.num_bits);
+
+   vbits_t new = { .num_bits = v1.num_bits };
+
+   switch (v1.num_bits) {
+   case 8:   new.bits.u8  = v1.bits.u8  & v2.bits.u8;  break;
+   case 16:  new.bits.u16 = v1.bits.u16 & v2.bits.u16; break;
+   case 32:  new.bits.u32 = v1.bits.u32 & v2.bits.u32; break;
+   case 64:  new.bits.u64 = v1.bits.u64 & v2.bits.u64; break;
+   case 128: new.bits.u128[0] = v1.bits.u128[0] & v2.bits.u128[0];
+             new.bits.u128[1] = v1.bits.u128[1] & v2.bits.u128[1];
+             break;
+   case 256: new.bits.u256[0] = v1.bits.u256[0] & v2.bits.u256[0];
+             new.bits.u256[1] = v1.bits.u256[1] & v2.bits.u256[1];
+             new.bits.u256[2] = v1.bits.u256[2] & v2.bits.u256[2];
+             new.bits.u256[3] = v1.bits.u256[3] & v2.bits.u256[3];
+             break;
+   default:
+      panic(__func__);
+   }
+
+   return new;
+}
+
+
+vbits_t
+concat_vbits(vbits_t v1, vbits_t v2)
+{
+   assert(v1.num_bits == v2.num_bits);
+
+   vbits_t new = { .num_bits = v1.num_bits * 2 };
+
+   switch (v1.num_bits) {
+   case 8:   new.bits.u16 = (v1.bits.u8 << 8)    | v2.bits.u8;  break;
+   case 16:  new.bits.u32 = (v1.bits.u16 << 16)  | v2.bits.u16; break;
+   case 32:  new.bits.u64 =  v1.bits.u32;
+             new.bits.u64 = (new.bits.u64 << 32) | v2.bits.u32; break;
+   case 64:
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         new.bits.u128[0] = v2.bits.u64;
+         new.bits.u128[1] = v1.bits.u64;
+      } else {
+         new.bits.u128[0] = v1.bits.u64;
+         new.bits.u128[1] = v2.bits.u64;
+      }
+      break;
+   case 128:
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         new.bits.u256[0] = v2.bits.u128[0];
+         new.bits.u256[1] = v2.bits.u128[1];
+         new.bits.u256[2] = v1.bits.u128[0];
+         new.bits.u256[3] = v1.bits.u128[1];
+      } else {
+         new.bits.u256[0] = v1.bits.u128[0];
+         new.bits.u256[1] = v1.bits.u128[1];
+         new.bits.u256[2] = v2.bits.u128[0];
+         new.bits.u256[3] = v2.bits.u128[1];
+      }
+      break;
+   case 256: /* Fall through */
+   default:
+      panic(__func__);
+   }
+
+   return new;
+}
+
+
+vbits_t
+upper_vbits(vbits_t v)
+{
+   vbits_t new = { .num_bits = v.num_bits / 2 };
+
+   switch (v.num_bits) {
+   case 16:  new.bits.u8  = v.bits.u16 >> 8;  break;
+   case 32:  new.bits.u16 = v.bits.u32 >> 16; break;
+   case 64:  new.bits.u32 = v.bits.u64 >> 32; break;
+   case 128: 
+      if (__BYTE_ORDER == __LITTLE_ENDIAN)
+         new.bits.u64 = v.bits.u128[1];
+      else
+         new.bits.u64 = v.bits.u128[0];
+      break;
+   case 256:
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         new.bits.u128[0] = v.bits.u256[2];
+         new.bits.u128[1] = v.bits.u256[3];
+      } else {
+         new.bits.u128[0] = v.bits.u256[0];
+         new.bits.u128[1] = v.bits.u256[1];
+      }
+      break;
+   case 8:
+   default:
+      panic(__func__);
+   }
+
+   return new;
+}
+
+
+vbits_t
+zextend_vbits(vbits_t v, unsigned num_bits)
+{
+   assert(num_bits >= v.num_bits);
+
+   if (num_bits == v.num_bits) return v;
+
+   vbits_t new = { .num_bits = num_bits };
+
+   if (v.num_bits <= 64) {
+      uint64_t bits = get_bits64(v);
+
+      switch (num_bits) {
+      case 8:   new.bits.u8  = bits; break;
+      case 16:  new.bits.u16 = bits; break;
+      case 32:  new.bits.u32 = bits; break;
+      case 64:  new.bits.u64 = bits; break;
+      case 128:
+         if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+            new.bits.u128[0] = bits;
+            new.bits.u128[1] = 0;
+         } else {
+            new.bits.u128[0] = 0;
+            new.bits.u128[1] = bits;
+         }
+         break;
+      case 256:
+         if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+            new.bits.u256[0] = bits;
+            new.bits.u256[1] = 0;
+            new.bits.u256[2] = 0;
+            new.bits.u256[3] = 0;
+         } else {
+            new.bits.u256[0] = 0;
+            new.bits.u256[1] = 0;
+            new.bits.u256[2] = 0;
+            new.bits.u256[3] = bits;
+         }
+         break;
+      default:
+         panic(__func__);
+      }
+      return new;
+   }
+
+   if (v.num_bits == 128) {
+      assert(num_bits == 256);
+
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         new.bits.u256[0] = v.bits.u128[0];
+         new.bits.u256[1] = v.bits.u128[1];
+         new.bits.u256[2] = 0;
+         new.bits.u256[3] = 0;
+      } else {
+         new.bits.u256[0] = 0;
+         new.bits.u256[1] = 0;
+         new.bits.u256[2] = v.bits.u128[1];
+         new.bits.u256[3] = v.bits.u128[0];
+      }
+      return new;
+   }
+
+   /* Cannot zero-extend a 256-bit value to something larger */
+   panic(__func__);
+}
+
+
+vbits_t
+sextend_vbits(vbits_t v, unsigned num_bits)
+{
+   assert(num_bits >= v.num_bits);
+
+   int sextend = 0;
+
+   switch (v.num_bits) {
+   case 8:   if (v.bits.u8  == 0x80)             sextend = 1; break;
+   case 16:  if (v.bits.u16 == 0x8000)           sextend = 1; break;
+   case 32:  if (v.bits.u32 == 0x80000000)       sextend = 1; break;
+   case 64:  if (v.bits.u64 == (1ull << 63))     sextend = 1; break;
+   case 128: if (v.bits.u128[1] == (1ull << 63)) sextend = 1; break;
+   case 256: if (v.bits.u256[3] == (1ull << 63)) sextend = 1; break;
+
+   default:
+      panic(__func__);
+   }
+
+   return sextend ? left_vbits(v, num_bits) : zextend_vbits(v, num_bits);
+}
+
+
+vbits_t
+onehot_vbits(unsigned bitno, unsigned num_bits)
+{
+   assert(bitno < num_bits);
+
+   vbits_t new = { .num_bits = num_bits };
+
+   switch (num_bits) {
+   case 1:   new.bits.u32 = 1    << bitno; break;
+   case 8:   new.bits.u8  = 1    << bitno; break;
+   case 16:  new.bits.u16 = 1    << bitno; break;
+   case 32:  new.bits.u32 = 1u   << bitno; break;
+   case 64:  new.bits.u64 = 1ull << bitno; break;
+   case 128:
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         if (bitno < 64) {
+            new.bits.u128[0] = 1ull << bitno;
+            new.bits.u128[1] = 0;
+         } else {
+            new.bits.u128[0] = 0;
+            new.bits.u128[1] = 1ull << (bitno - 64);
+         }
+      } else {
+         if (bitno < 64) {
+            new.bits.u128[0] = 0;
+            new.bits.u128[1] = 1ull << bitno;
+         } else {
+            new.bits.u128[0] = 1ull << (bitno - 64);
+            new.bits.u128[1] = 0;
+         }
+      }
+      break;
+   case 256:
+      if (__BYTE_ORDER == __LITTLE_ENDIAN) {
+         if (bitno < 64) {
+            new.bits.u256[0] = 1ull << bitno;
+            new.bits.u256[1] = 0;
+            new.bits.u256[2] = 0;
+            new.bits.u256[3] = 0;
+         } else if (bitno < 128) {
+            new.bits.u256[0] = 0;
+            new.bits.u256[1] = 1ull << (bitno - 64);
+            new.bits.u256[2] = 0;
+            new.bits.u256[3] = 0;
+         } else if (bitno < 192) {
+            new.bits.u256[0] = 0;
+            new.bits.u256[1] = 0;
+            new.bits.u256[2] = 1ull << (bitno - 128);
+            new.bits.u256[3] = 0;
+         } else {
+            new.bits.u256[0] = 0;
+            new.bits.u256[1] = 0;
+            new.bits.u256[2] = 0;
+            new.bits.u256[3] = 1ull << (bitno - 192);
+         }
+      } else {
+         if (bitno < 64) {
+            new.bits.u256[0] = 0;
+            new.bits.u256[1] = 0;
+            new.bits.u256[2] = 0;
+            new.bits.u256[3] = 1ull << bitno;
+         } else if (bitno < 128) {
+            new.bits.u256[0] = 0;
+            new.bits.u256[1] = 0;
+            new.bits.u256[2] = 1ull << (bitno - 64);
+            new.bits.u256[3] = 0;
+         } else if (bitno < 192) {
+            new.bits.u256[0] = 0;
+            new.bits.u256[1] = 1ull << (bitno - 128);
+            new.bits.u256[2] = 0;
+            new.bits.u256[3] = 0;
+         } else {
+            new.bits.u256[0] = 1ull << (bitno - 192);
+            new.bits.u256[1] = 0;
+            new.bits.u256[2] = 0;
+            new.bits.u256[3] = 0;
+         }
+      }
+      break;
+   default:
+      panic(__func__);
+   }
+   return new;
+}
+
+
+int
+completely_defined_vbits(vbits_t v)
+{
+   return equal_vbits(v, defined_vbits(v.num_bits));
+}
+
+
+vbits_t
+shl_vbits(vbits_t v, unsigned shift_amount)
+{
+   assert(shift_amount < v.num_bits);
+
+   vbits_t new = v;
+
+   switch (v.num_bits) {
+   case 8:  new.bits.u8  <<= shift_amount; break;
+   case 16: new.bits.u16 <<= shift_amount; break;
+   case 32: new.bits.u32 <<= shift_amount; break;
+   case 64: new.bits.u64 <<= shift_amount; break;
+   case 128: /* fall through */
+   case 256: /* fall through */
+   default:
+      panic(__func__);
+   }
+   
+   return new;
+}
+
+
+vbits_t
+shr_vbits(vbits_t v, unsigned shift_amount)
+{
+   assert(shift_amount < v.num_bits);
+
+   vbits_t new = v;
+
+   switch (v.num_bits) {
+   case 8:  new.bits.u8  >>= shift_amount; break;
+   case 16: new.bits.u16 >>= shift_amount; break;
+   case 32: new.bits.u32 >>= shift_amount; break;
+   case 64: new.bits.u64 >>= shift_amount; break;
+   case 128: /* fall through */
+   case 256: /* fall through */
+   default:
+      panic(__func__);
+   }
+   
+   return new;
+}
+
+
+vbits_t
+sar_vbits(vbits_t v, unsigned shift_amount)
+{
+   assert(shift_amount < v.num_bits);
+
+   vbits_t new = v;
+   int msb;
+
+   switch (v.num_bits) {
+   case 8: 
+      new.bits.u8  >>= shift_amount;
+      msb = (v.bits.u8 & 0x80) != 0;
+      break;
+   case 16:
+      new.bits.u16 >>= shift_amount;
+      msb = (v.bits.u16 & 0x8000) != 0;
+      break;
+   case 32:
+      new.bits.u32 >>= shift_amount;
+      msb = (v.bits.u32 & (1u << 31)) != 0;
+      break;
+   case 64:
+      new.bits.u64 >>= shift_amount;
+      msb = (v.bits.u64 & (1ull << 63)) != 0;
+      break;
+   case 128: /* fall through */
+   case 256: /* fall through */
+   default:
+      panic(__func__);
+   }
+
+   if (msb)
+      new = left_vbits(new, new.num_bits);
+   return new;
+}
+
+/* Return a value for the POWER Iop_CmpORD class iops */
+vbits_t
+cmpord_vbits(unsigned v1_num_bits, unsigned v2_num_bits)
+{
+   vbits_t new = { .num_bits = v1_num_bits };
+
+   /* Size of values being compared must be the same */
+   assert( v1_num_bits == v2_num_bits);
+
+   /* Comparison only produces 32-bit or 64-bit value where
+    * the lower 3 bits are set to indicate, less than, equal and greater then.
+    */
+   switch (v1_num_bits) {
+   case 32:
+      new.bits.u32 = 0xE;
+      break;
+
+   case 64:
+      new.bits.u64 = 0xE;
+      break;
+
+   default:
+      panic(__func__);
+   }
+
+   return new;
+}
diff --git a/memcheck/tests/vbit-test/vbits.h b/memcheck/tests/vbit-test/vbits.h
new file mode 100644
index 0000000..0c22f96
--- /dev/null
+++ b/memcheck/tests/vbit-test/vbits.h
@@ -0,0 +1,58 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#ifndef VBITS_H
+#define VBITS_H
+
+#include <stdint.h>
+#include <stdio.h>
+
+typedef uint64_t uint128_t[2];
+typedef uint64_t uint256_t[4];
+
+/* A type to represent V-bits */
+typedef struct {
+   unsigned num_bits;
+   union {
+      uint8_t   u8;
+      uint16_t  u16;
+      uint32_t  u32;
+      uint64_t  u64;
+      uint128_t u128;
+      uint256_t u256;
+   } bits;
+} vbits_t;
+
+
+/* A type large enough to hold any IRtype'd value. At this point
+   we do not expect to test with specific floating point values.
+   So we don't need to represent them. */
+typedef union {
+   uint8_t   u8;
+   uint16_t  u16;
+   uint32_t  u32;
+   uint64_t  u64;
+   uint128_t u128;
+   uint256_t u256;
+} value_t;
+
+
+void    print_vbits(FILE *, vbits_t);
+vbits_t undefined_vbits(unsigned num_bits);
+vbits_t defined_vbits(unsigned num_bits);
+int     equal_vbits(vbits_t, vbits_t);
+vbits_t truncate_vbits(vbits_t, unsigned num_bits);
+vbits_t left_vbits(vbits_t, unsigned num_bits);
+vbits_t or_vbits(vbits_t, vbits_t);
+vbits_t and_vbits(vbits_t, vbits_t);
+vbits_t concat_vbits(vbits_t, vbits_t);
+vbits_t upper_vbits(vbits_t);
+vbits_t sextend_vbits(vbits_t, unsigned num_bits);
+vbits_t zextend_vbits(vbits_t, unsigned num_bits);
+vbits_t onehot_vbits(unsigned bitno, unsigned num_bits);
+vbits_t shl_vbits(vbits_t, unsigned amount);
+vbits_t shr_vbits(vbits_t, unsigned amount);
+vbits_t sar_vbits(vbits_t, unsigned amount);
+int     completely_defined_vbits(vbits_t);
+vbits_t cmpord_vbits(unsigned v1_num_bits, unsigned v2_num_bits);
+
+#endif // VBITS_H
diff --git a/memcheck/tests/vbit-test/vtest.h b/memcheck/tests/vbit-test/vtest.h
new file mode 100644
index 0000000..b4517ca
--- /dev/null
+++ b/memcheck/tests/vbit-test/vtest.h
@@ -0,0 +1,134 @@
+/* -*- mode: C; c-basic-offset: 3; -*- */
+
+#ifndef VTEST_H
+#define VTEST_H
+
+/* Main header file for the V-bit tester */
+
+#include <stdint.h>   // uint64_t
+#include "libvex.h"   // IROp
+#include "vbits.h"    // vbits_t
+
+
+/* How undefinedness propagates from input to output */
+
+typedef enum {
+   // For any undefined input bit, all output bits are defined.
+   UNDEF_NONE,
+
+   // For any undefined input bit, all output bits are undefined.
+   UNDEF_ALL,
+
+   // For each undefined input bit, the corresponding output bit
+   // in the same position is undefined. No other bit is undefined.
+   UNDEF_SAME,
+
+   // For each undefined input bit, the corresponding output bit
+   // in the same position is undefined. No other bit is undefined.
+   // If the corresponding output bit does not exist, the input bit
+   // does not cause any output bits to be undefined.
+   UNDEF_TRUNC,
+
+   // For each undefined input bit, the corresponding output bit
+   // in the same position is undefined. No other bit is undefined.
+   // Output bits that do no not have a corresponding input bit are
+   // defined.
+   UNDEF_ZEXT,
+
+   // For each undefined input bit, the corresponding output bit
+   // in the same position is undefined. If the MSB of the input value
+   // is undefined, so are all output bits with higher significance
+   // than the MSB input bit.
+   UNDEF_SEXT,
+
+   // For each undefined input bit, the corresponding output bit
+   // and all output bits with higher significance are undefined.
+   UNDEF_LEFT,    
+
+   UNDEF_CONCAT,  // nHLto2n ops e.g. Iop_32HLto64
+   UNDEF_UPPER,   // 2nHIton ops e.g. Iop_64HIto32
+   UNDEF_SHL,     // shift-left
+   UNDEF_SHR,     // logical shift-right
+   UNDEF_SAR,     // arithmetic shift-right
+   UNDEF_OR,      // bitwise OR operation
+   UNDEF_AND,     // bitwise AND operation
+
+   UNDEF_ORD,     // Iop_CmpORD compare 
+
+   // For IROps I don't know anything about
+   UNDEF_UNKNOWN
+} undef_t;
+
+
+// Everything we want to know about an IROp
+typedef struct {
+   IROp op;
+   const char *name;
+   undef_t     undef_kind;
+   int         shift_amount_is_immediate;
+   // Indicate whether IROp can be tested on a particular architecture
+   unsigned    s390x  : 1;
+   unsigned    amd64  : 1;
+   unsigned    ppc32  : 1;
+   unsigned    ppc64  : 1;
+   unsigned    arm    : 1;
+   unsigned    x86    : 1;
+   unsigned    mips32 : 1;
+} irop_t;
+
+
+/* The maximum number of input operands */
+#define MAX_OPERANDS 4
+
+/* An operand of an IROp (also used for the result) */
+typedef struct {
+   IRType  type;
+   vbits_t vbits;
+   value_t value;
+} opnd_t;
+
+
+/* Carries the data needed to execute and evaluate a test. I.e.
+   inputs and results (V-bits and actual value). */
+typedef struct {
+   opnd_t result;
+   opnd_t opnds[MAX_OPERANDS];
+   unsigned rounding_mode;
+} test_data_t;
+
+
+/* Function prototypes */
+irop_t *get_irop(IROp);
+int  is_floating_point_op_with_rounding_mode(IROp);
+int  get_num_operands(IROp);
+
+void print_opnd(FILE *, const opnd_t *);
+
+int test_unary_op(const irop_t *, test_data_t *);
+int test_binary_op(const irop_t *, test_data_t *);
+int test_ternary_op(const irop_t *, test_data_t *);
+int test_qernary_op(const irop_t *, test_data_t *);
+
+void valgrind_vex_init_for_iri(IRICB *);
+void valgrind_execute_test(const irop_t *, test_data_t *);
+
+IRICB new_iricb(const irop_t *, test_data_t *);
+
+void panic(const char *) __attribute__((noreturn));
+void complain(const irop_t *, const test_data_t *, vbits_t expected);
+
+/* Imported from VEX */
+unsigned sizeof_irtype(IRType);
+void typeof_primop(IROp, IRType *t_dst, IRType *t_arg1, IRType *t_arg2, 
+                   IRType *t_arg3, IRType *t_arg4);
+
+static unsigned __inline__ bitsof_irtype(IRType type)
+{
+   return type == Ity_I1 ? 1 : sizeof_irtype(type) * 8;
+}
+
+
+/* Exported variables */
+extern int verbose;
+
+#endif // VTEST_H
diff --git a/memcheck/tests/wcs.c b/memcheck/tests/wcs.c
new file mode 100644
index 0000000..15730ad
--- /dev/null
+++ b/memcheck/tests/wcs.c
@@ -0,0 +1,29 @@
+// Uses various wchar_t * functions that have hand written SSE assembly
+// implementations in glibc. wcslen, wcscpy, wcscmp, wcsrchr, wcschr.
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <wchar.h>
+
+int main(int argc, char **argv)
+{
+  wchar_t a[] = L"The spazzy orange tiger jumped over the tawny jaguar.";
+  wchar_t *b, *c;
+  wchar_t *d, *e;
+
+  size_t l = wcslen (a);
+  fprintf (stderr, "wcslen: %zd\n", l); // wcslen: 53
+
+  b = (wchar_t *) malloc((l + 1) * sizeof (wchar_t));
+  c = wcscpy (b, a);
+
+  fprintf (stderr, "wcscmp equal: %d\n", wcscmp (a, b)); // wcscmp equal: 0
+
+  d = wcsrchr (a, L'd');
+  e = wcschr (a, L'd');
+
+  fprintf (stderr, "wcsrchr == wcschr: %d\n", d == e); // wcsrchr == wcschr: 1
+
+  free (c); // b == c
+  return 0;
+}
diff --git a/memcheck/tests/wcs.stderr.exp b/memcheck/tests/wcs.stderr.exp
new file mode 100644
index 0000000..41d74c8
--- /dev/null
+++ b/memcheck/tests/wcs.stderr.exp
@@ -0,0 +1,3 @@
+wcslen: 53
+wcscmp equal: 0
+wcsrchr == wcschr: 1
diff --git a/memcheck/tests/wcs.stdout.exp b/memcheck/tests/wcs.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/memcheck/tests/wcs.stdout.exp
diff --git a/memcheck/tests/wcs.vgtest b/memcheck/tests/wcs.vgtest
new file mode 100644
index 0000000..2e03861
--- /dev/null
+++ b/memcheck/tests/wcs.vgtest
@@ -0,0 +1,2 @@
+prog: wcs
+vgopts: -q
diff --git a/memcheck/tests/x86-linux/scalar.c b/memcheck/tests/x86-linux/scalar.c
index 55c64fa..c0a318b 100644
--- a/memcheck/tests/x86-linux/scalar.c
+++ b/memcheck/tests/x86-linux/scalar.c
@@ -813,7 +813,7 @@
 
    // __NR_capget 184
    GO(__NR_capget, "2s 2m");
-   SY(__NR_capget, x0, x0); FAIL;
+   SY(__NR_capget, x0, x0+1); FAIL;
 
    // __NR_capset 185
    GO(__NR_capset, "2s 2m");
diff --git a/memcheck/tests/x86-linux/scalar.stderr.exp b/memcheck/tests/x86-linux/scalar.stderr.exp
index 364e6e7..54616db 100644
--- a/memcheck/tests/x86-linux/scalar.stderr.exp
+++ b/memcheck/tests/x86-linux/scalar.stderr.exp
@@ -2116,7 +2116,9 @@
 Syscall param rt_sigaction(act->sa_mask) points to unaddressable byte(s)
    ...
    by 0x........: main (scalar.c:776)
- Address 0x........ is not stack'd, malloc'd or (recently) free'd
+ Address 0x........ is 16 bytes after a block of size 4 alloc'd
+   at 0x........: malloc (vg_replace_malloc.c:...)
+   by 0x........: main (scalar.c:30)
 
 Syscall param rt_sigaction(act->sa_flags) points to unaddressable byte(s)
    ...
diff --git a/memcheck/tests/x86/more_x86_fp.c b/memcheck/tests/x86/more_x86_fp.c
index edbc7be..e672703 100644
--- a/memcheck/tests/x86/more_x86_fp.c
+++ b/memcheck/tests/x86/more_x86_fp.c
@@ -105,7 +105,7 @@
     for(i=0;i<4;i++) {
       int16_t tmp = (fpuc & ~0x0c00) | (i << 10);
         asm volatile ("fldcw %0" : : "m" (tmp));
-        asm volatile ("fist %0" : "=m" (wa) : "t" (a));
+        asm volatile ("fists %0" : "=m" (wa) : "t" (a));
         asm volatile ("fistl %0" : "=m" (ia) : "t" (a));
         asm volatile ("fistpll %0" : "=m" (lla) : "t" (a) : "st");
         asm volatile ("frndint ; fstl %0" : "=m" (ra) : "t" (a));
diff --git a/mpi/Makefile.am b/mpi/Makefile.am
index c96701f..709c0a4 100644
--- a/mpi/Makefile.am
+++ b/mpi/Makefile.am
@@ -31,15 +31,14 @@
 endif
 
 
+## NOTE: this logic, the AM_FLAG_M3264_ logic in ../Makefile.all.am, and the
+## mflag_primary/mflag_secondary logic in ../configure.in unfortunately all need
+## to be kept in sync with each other
 if VGCONF_OS_IS_LINUX
- CFLAGS_MPI  = -g -O -fno-omit-frame-pointer -Wall -fpic
- LDFLAGS_MPI = -fpic -shared
  MPI_FLAG_M3264_PRI = $(AM_FLAG_M3264_PRI)
  MPI_FLAG_M3264_SEC = $(AM_FLAG_M3264_SEC)
 endif
 if VGCONF_OS_IS_DARWIN
- CFLAGS_MPI  = -g -O -fno-omit-frame-pointer -Wall -dynamic
- LDFLAGS_MPI = -dynamic -dynamiclib -all_load
  MPI_FLAG_M3264_PRI = $(AM_FLAG_M3264_PRI)
  MPI_FLAG_M3264_SEC = $(AM_FLAG_M3264_SEC)
 endif
diff --git a/mpi/libmpiwrap.c b/mpi/libmpiwrap.c
index 25b6be5..c03393e 100644
--- a/mpi/libmpiwrap.c
+++ b/mpi/libmpiwrap.c
@@ -18,7 +18,7 @@
    This file is part of Valgrind, a dynamic binary instrumentation
    framework.
 
-   Copyright (C) 2006-2011 OpenWorks LLP.  All rights reserved.
+   Copyright (C) 2006-2012 OpenWorks LLP.  All rights reserved.
 
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
@@ -413,7 +413,9 @@
                                       MPI_Status* status)
 {
    int n;
+   if (cONFIG_DER) VALGRIND_DISABLE_ERROR_REPORTING;
    int err = PMPI_Get_count(status, datatype, &n);
+   if (cONFIG_DER) VALGRIND_ENABLE_ERROR_REPORTING;
    if (err == MPI_SUCCESS) {
       *recv_count = n;
       return True;
@@ -1107,6 +1109,7 @@
    if (cONFIG_DER) VALGRIND_DISABLE_ERROR_REPORTING;
    CALL_FN_W_7W(err, fn, buf,count,datatype,source,tag,comm,status);
    if (cONFIG_DER) VALGRIND_ENABLE_ERROR_REPORTING;
+   make_mem_defined_if_addressable_if_success_untyped(err, status, sizeof(*status));
    if (err == MPI_SUCCESS && count_from_Status(&recv_count,datatype,status)) {
       make_mem_defined_if_addressable(buf, recv_count, datatype);
    }
@@ -1724,6 +1727,7 @@
                           recvbuf,recvcount,recvtype,source,recvtag,
                           comm,status);
    if (cONFIG_DER) VALGRIND_ENABLE_ERROR_REPORTING;
+   make_mem_defined_if_addressable_if_success_untyped(err, status, sizeof(*status));
    if (err == MPI_SUCCESS 
        && count_from_Status(&recvcount_actual,recvtype,status)) {
       make_mem_defined_if_addressable(recvbuf, recvcount_actual, recvtype);
diff --git a/nightly/bin/nightly b/nightly/bin/nightly
index ac1fd76..9e35d4f 100755
--- a/nightly/bin/nightly
+++ b/nightly/bin/nightly
@@ -195,6 +195,7 @@
 valgrind_revision="`svn info valgrind-new | grep Revision | sed 's/Revision[ ]*:[ ]*//'`"
 vex_revision="`svn info valgrind-new/VEX | grep Revision | sed 's/Revision[ ]*:[ ]*//'`"
 gcc_version="`gcc --version 2> /dev/null | head -1`"
+gdb_version="`gdb --version 2> /dev/null | head -1`"
 as_version="`as --version 2> /dev/null | head -1`"
 libc_so="`ls -1 /lib/libc.so.* | tail -1`"
 libc="unknown"
@@ -214,6 +215,7 @@
 echo "valgrind revision: $valgrind_revision" >  final
 echo "VEX revision:      $vex_revision"      >> final
 echo "C compiler:        $gcc_version"       >> final
+echo "GDB:               $gdb_version"       >> final
 echo "Assembler:         $as_version"        >> final
 echo "C library:         $libc"              >> final
 echo "uname -mrs:        $uname_stuff"       >> final
diff --git a/nightly/conf/z10-ec.sendmail b/nightly/conf/z10-ec.sendmail
index 9b88abe..c56534c 100755
--- a/nightly/conf/z10-ec.sendmail
+++ b/nightly/conf/z10-ec.sendmail
@@ -6,8 +6,9 @@
 rm -f $MAILFILE
 touch $MAILFILE
 echo "Subject: $subject" >> $MAILFILE
-echo "To: valgrind-developers@lists.sourceforge.net" >> $MAILFILE
-echo "Cc: britzel@acm.org" >> $MAILFILE
+#echo "To: valgrind-developers@lists.sourceforge.net" >> $MAILFILE
+#echo "Cc: britzel@acm.org" >> $MAILFILE
+echo "To: britzel@acm.org" >> $MAILFILE
 echo "  " >> $MAILFILE
 cat "$summary"  >> $MAILFILE
 echo "  " >> $MAILFILE
diff --git a/none/nl_main.c b/none/nl_main.c
index 4c1bb18..69e8e29 100644
--- a/none/nl_main.c
+++ b/none/nl_main.c
@@ -7,7 +7,7 @@
    This file is part of Nulgrind, the minimal Valgrind tool,
    which does no instrumentation or analysis.
 
-   Copyright (C) 2002-2011 Nicholas Nethercote
+   Copyright (C) 2002-2012 Nicholas Nethercote
       njn@valgrind.org
 
    This program is free software; you can redistribute it and/or
@@ -40,6 +40,7 @@
                       IRSB* bb,
                       VexGuestLayout* layout, 
                       VexGuestExtents* vge,
+                      VexArchInfo* archinfo_host,
                       IRType gWordTy, IRType hWordTy )
 {
     return bb;
@@ -55,7 +56,7 @@
    VG_(details_version)         (NULL);
    VG_(details_description)     ("the minimal Valgrind tool");
    VG_(details_copyright_author)(
-      "Copyright (C) 2002-2011, and GNU GPL'd, by Nicholas Nethercote.");
+      "Copyright (C) 2002-2012, and GNU GPL'd, by Nicholas Nethercote.");
    VG_(details_bug_reports_to)  (VG_BUGS_TO);
 
    VG_(details_avg_translation_sizeB) ( 275 );
diff --git a/none/tests/Makefile.am b/none/tests/Makefile.am
index 7d0b201..e9c4fdb 100644
--- a/none/tests/Makefile.am
+++ b/none/tests/Makefile.am
@@ -22,6 +22,12 @@
 if VGCONF_ARCHS_INCLUDE_S390X
 SUBDIRS += s390x
 endif
+if VGCONF_ARCHS_INCLUDE_MIPS32
+SUBDIRS += mips32
+endif
+if VGCONF_ARCHS_INCLUDE_MIPS64
+SUBDIRS += mips64
+endif
 
 # OS-specific tests
 if VGCONF_OS_IS_LINUX
@@ -36,7 +42,8 @@
 SUBDIRS += x86-linux
 endif
 
-DIST_SUBDIRS = x86 amd64 ppc32 ppc64 arm s390x linux darwin x86-linux .
+DIST_SUBDIRS = x86 amd64 ppc32 ppc64 arm s390x mips32 mips64 linux darwin \
+               x86-linux .
 
 dist_noinst_SCRIPTS = \
 	filter_cmdline0 \
@@ -46,7 +53,8 @@
 	filter_none_discards \
 	filter_shell_output \
 	filter_stderr \
-	filter_timestamp
+	filter_timestamp \
+	allexec_prepare_prereq
 
 noinst_HEADERS = fdleak.h
 
@@ -55,7 +63,7 @@
 	allexec64.stdout.exp allexec64.stderr.exp allexec64.vgtest\
 	ansi.stderr.exp ansi.vgtest \
 	args.stderr.exp args.stdout.exp args.vgtest \
-	async-sigs.stderr.exp async-sigs.vgtest \
+	async-sigs.stderr.exp async-sigs.stderr.exp-mips32 async-sigs.vgtest \
 	bitfield1.stderr.exp bitfield1.vgtest \
 	bug129866.vgtest bug129866.stderr.exp bug129866.stdout.exp \
 	closeall.stderr.exp closeall.vgtest \
@@ -91,6 +99,7 @@
 	fork.stderr.exp fork.stdout.exp fork.vgtest \
 	fucomip.stderr.exp fucomip.vgtest \
 	gxx304.stderr.exp gxx304.vgtest \
+	ifunc.stderr.exp ifunc.stdout.exp ifunc.vgtest \
 	manythreads.stdout.exp manythreads.stderr.exp manythreads.vgtest \
 	map_unaligned.stderr.exp map_unaligned.vgtest \
 	map_unmap.stderr.exp map_unmap.stdout.exp map_unmap.vgtest \
@@ -135,7 +144,7 @@
 	sem.stderr.exp sem.stdout.exp sem.vgtest \
 	semlimit.stderr.exp semlimit.stdout.exp semlimit.vgtest \
 	shell shell.vgtest shell.stderr.exp shell.stderr.exp-dash \
-	    shell.stdout.exp \
+	    shell.stdout.exp shell.stderr.exp-dash2 \
 	shell_badinterp shell_badinterp.vgtest shell_badinterp.stderr.exp \
 	shell_binaryfile shell_binaryfile.vgtest shell_binaryfile.stderr.exp \
 	shell_dir.vgtest shell_dir.stderr.exp \
@@ -223,6 +232,9 @@
    check_PROGRAMS += rlimit64_nofile 
 endif
 
+if BUILD_IFUNC_TESTS
+   check_PROGRAMS += ifunc
+endif
 
 AM_CFLAGS   += $(AM_FLAG_M3264_PRI)
 AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
diff --git a/none/tests/allexec_prepare_prereq b/none/tests/allexec_prepare_prereq
index 0cd1738..b8f5bc3 100755
--- a/none/tests/allexec_prepare_prereq
+++ b/none/tests/allexec_prepare_prereq
@@ -32,5 +32,6 @@
 pair ppc32                      ppc64
 pair s390x_unexisting_in_32bits s390x
 pair arm                        arm_unexisting_in_64bits
+pair mips32                     mips64
 
 exit 0
diff --git a/none/tests/amd64/Makefile.am b/none/tests/amd64/Makefile.am
index ac69bff..90cde07 100644
--- a/none/tests/amd64/Makefile.am
+++ b/none/tests/amd64/Makefile.am
@@ -13,7 +13,7 @@
  INSN_TESTS += insn_ssse3
 endif
 if BUILD_PCLMULQDQ_TESTS
-INSN_TESTS += insn_pclmulqdq
+ INSN_TESTS += insn_pclmulqdq
 endif
 
 # Explicitly include insn_sse3 even if ! BUILD_SSE3_TESTS, 
@@ -23,7 +23,11 @@
 EXTRA_DIST = \
 	aes.vgtest aes.stdout.exp aes.stderr.exp \
 	amd64locked.vgtest amd64locked.stdout.exp amd64locked.stderr.exp \
+	avx-1.vgtest avx-1.stdout.exp avx-1.stderr.exp \
+	avx2-1.vgtest avx2-1.stdout.exp avx2-1.stderr.exp \
 	asorep.stderr.exp asorep.stdout.exp asorep.vgtest \
+	bmi.stderr.exp bmi.stdout.exp bmi.vgtest \
+	fma.stderr.exp fma.stdout.exp fma.vgtest \
 	bug127521-64.vgtest bug127521-64.stdout.exp bug127521-64.stderr.exp \
 	bug132813-amd64.vgtest bug132813-amd64.stdout.exp \
 	bug132813-amd64.stderr.exp \
@@ -51,6 +55,8 @@
 	looper.stderr.exp looper.stdout.exp looper.vgtest \
 	loopnel.stderr.exp loopnel.stdout.exp loopnel.vgtest \
 	lzcnt64.stderr.exp lzcnt64.stdout.exp lzcnt64.vgtest \
+	movbe.stderr.exp movbe.stdout.exp movbe.vgtest \
+	nan80and64.stderr.exp nan80and64.stdout.exp nan80and64.vgtest \
 	nibz_bennee_mmap.stderr.exp nibz_bennee_mmap.stdout.exp \
 	nibz_bennee_mmap.vgtest \
 	pcmpstr64.stderr.exp pcmpstr64.stdout.exp \
@@ -83,6 +89,7 @@
 	clc \
 	cmpxchg \
 	$(INSN_TESTS) \
+	nan80and64 \
 	rcl-amd64 \
 	redundantRexW \
 	smc1 \
@@ -100,6 +107,23 @@
 	pcmpstr64 pcmpxstrx64 sse4-64 crc32 aes \
 	pcmpstr64w pcmpxstrx64w
 endif
+if BUILD_AVX_TESTS
+if BUILD_VPCLMULQDQ_TESTS
+ check_PROGRAMS += avx-1
+endif
+endif
+if BUILD_AVX2_TESTS
+  check_PROGRAMS += avx2-1
+endif
+if BUILD_BMI_TESTS
+ check_PROGRAMS += bmi
+endif
+if BUILD_FMA_TESTS
+ check_PROGRAMS += fma
+endif
+if BUILD_MOVBE_TESTS
+ check_PROGRAMS += movbe
+endif
 
 # DDD: these need to be made to work on Darwin like the x86/ ones were.
 if ! VGCONF_OS_IS_DARWIN
diff --git a/none/tests/amd64/avx-1.c b/none/tests/amd64/avx-1.c
new file mode 100644
index 0000000..fdf51db
--- /dev/null
+++ b/none/tests/amd64/avx-1.c
@@ -0,0 +1,2706 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <malloc.h>
+
+typedef  unsigned char           UChar;
+typedef  unsigned int            UInt;
+typedef  unsigned long int       UWord;
+typedef  unsigned long long int  ULong;
+
+#define IS_32_ALIGNED(_ptr) (0 == (0x1F & (UWord)(_ptr)))
+
+typedef  union { UChar u8[32];  UInt u32[8];  }  YMM;
+
+typedef  struct {  YMM a1; YMM a2; YMM a3; YMM a4; ULong u64; }  Block;
+
+void showYMM ( YMM* vec )
+{
+   int i;
+   assert(IS_32_ALIGNED(vec));
+   for (i = 31; i >= 0; i--) {
+      printf("%02x", (UInt)vec->u8[i]);
+      if (i > 0 && 0 == ((i+0) & 7)) printf(".");
+   }
+}
+
+void showBlock ( char* msg, Block* block )
+{
+   printf("  %s\n", msg);
+   printf("    "); showYMM(&block->a1); printf("\n");
+   printf("    "); showYMM(&block->a2); printf("\n");
+   printf("    "); showYMM(&block->a3); printf("\n");
+   printf("    "); showYMM(&block->a4); printf("\n");
+   printf("    %016llx\n", block->u64);
+}
+
+UChar randUChar ( void )
+{
+   static UInt seed = 80021;
+   seed = 1103515245 * seed + 12345;
+   return (seed >> 17) & 0xFF;
+}
+
+void randBlock ( Block* b )
+{
+   int i;
+   UChar* p = (UChar*)b;
+   for (i = 0; i < sizeof(Block); i++)
+      p[i] = randUChar();
+}
+
+
+/* Generate a function test_NAME, that tests the given insn, in both
+   its mem and reg forms.  The reg form of the insn may mention, as
+   operands only %ymm6, %ymm7, %ymm8, %ymm9 and %r14.  The mem form of
+   the insn may mention as operands only (%rax), %ymm7, %ymm8, %ymm9
+   and %r14.  It's OK for the insn to clobber ymm0, as this is needed
+   for testing PCMPxSTRx. */
+
+#define GEN_test_RandM(_name, _reg_form, _mem_form)   \
+    \
+    __attribute__ ((noinline)) static void test_##_name ( void )   \
+    { \
+       Block* b = memalign(32, sizeof(Block)); \
+       randBlock(b); \
+       printf("%s(reg)\n", #_name); \
+       showBlock("before", b); \
+       __asm__ __volatile__( \
+          "vmovdqa   0(%0),%%ymm7"  "\n\t" \
+          "vmovdqa  32(%0),%%ymm8"  "\n\t" \
+          "vmovdqa  64(%0),%%ymm6"  "\n\t" \
+          "vmovdqa  96(%0),%%ymm9"  "\n\t" \
+          "movq    128(%0),%%r14"   "\n\t" \
+          _reg_form   "\n\t" \
+          "vmovdqa %%ymm7,  0(%0)"  "\n\t" \
+          "vmovdqa %%ymm8, 32(%0)"  "\n\t" \
+          "vmovdqa %%ymm6, 64(%0)"  "\n\t" \
+          "vmovdqa %%ymm9, 96(%0)"  "\n\t" \
+          "movq    %%r14, 128(%0)"  "\n\t" \
+          : /*OUT*/  \
+          : /*IN*/"r"(b) \
+          : /*TRASH*/"xmm0","xmm7","xmm8","xmm6","xmm9","r14","memory","cc" \
+       ); \
+       showBlock("after", b); \
+       randBlock(b); \
+       printf("%s(mem)\n", #_name); \
+       showBlock("before", b); \
+       __asm__ __volatile__( \
+          "leaq      0(%0),%%rax"  "\n\t" \
+          "vmovdqa  32(%0),%%ymm8"  "\n\t" \
+          "vmovdqa  64(%0),%%ymm7"  "\n\t" \
+          "vmovdqa  96(%0),%%ymm9"  "\n\t" \
+          "movq    128(%0),%%r14"   "\n\t" \
+          _mem_form   "\n\t" \
+          "vmovdqa %%ymm8, 32(%0)"  "\n\t" \
+          "vmovdqa %%ymm7, 64(%0)"  "\n\t" \
+          "vmovdqa %%ymm9, 96(%0)"  "\n\t" \
+          "movq    %%r14, 128(%0)"  "\n\t" \
+          : /*OUT*/  \
+          : /*IN*/"r"(b) \
+          : /*TRASH*/"xmm0","xmm8","xmm7","xmm9","r14","rax","memory","cc" \
+       ); \
+       showBlock("after", b); \
+       printf("\n"); \
+       free(b); \
+    }
+
+#define GEN_test_Ronly(_name, _reg_form) \
+   GEN_test_RandM(_name, _reg_form, "")
+#define GEN_test_Monly(_name, _mem_form) \
+   GEN_test_RandM(_name, "", _mem_form)
+
+
+GEN_test_RandM(VPOR_128,
+               "vpor %%xmm6,  %%xmm8, %%xmm7",
+               "vpor (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPXOR_128,
+               "vpxor %%xmm6,  %%xmm8, %%xmm7",
+               "vpxor (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSUBB_128,
+               "vpsubb %%xmm6,  %%xmm8, %%xmm7",
+               "vpsubb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSUBD_128,
+               "vpsubd %%xmm6,  %%xmm8, %%xmm7",
+               "vpsubd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPADDD_128,
+               "vpaddd %%xmm6,  %%xmm8, %%xmm7",
+               "vpaddd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMOVZXWD_128,
+               "vpmovzxwd %%xmm6,  %%xmm8",
+               "vpmovzxwd (%%rax), %%xmm8")
+
+GEN_test_RandM(VPMOVZXBW_128,
+               "vpmovzxbw %%xmm6,  %%xmm8",
+               "vpmovzxbw (%%rax), %%xmm8")
+
+GEN_test_RandM(VPBLENDVB_128,
+               "vpblendvb %%xmm9, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendvb %%xmm9, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMINSD_128,
+               "vpminsd %%xmm6,  %%xmm8, %%xmm7",
+               "vpminsd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMAXSD_128,
+               "vpmaxsd %%xmm6,  %%xmm8, %%xmm7",
+               "vpmaxsd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VANDPD_128,
+               "vandpd %%xmm6,  %%xmm8, %%xmm7",
+               "vandpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCVTSI2SD_32,
+               "vcvtsi2sdl %%r14d,  %%xmm8, %%xmm7",
+               "vcvtsi2sdl (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCVTSI2SD_64,
+               "vcvtsi2sdq %%r14,   %%xmm8, %%xmm7",
+               "vcvtsi2sdq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCVTSI2SS_64,
+               "vcvtsi2ssq %%r14,   %%xmm8, %%xmm7",
+               "vcvtsi2ssq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCVTTSD2SI_32,
+               "vcvttsd2si %%xmm8,  %%r14d",
+               "vcvttsd2si (%%rax), %%r14d")
+
+GEN_test_RandM(VCVTTSD2SI_64,
+               "vcvttsd2si %%xmm8,  %%r14",
+               "vcvttsd2si (%%rax), %%r14")
+
+GEN_test_RandM(VCVTSD2SI_32,
+               "vcvtsd2si %%xmm8,  %%r14d",
+               "vcvtsd2si (%%rax), %%r14d")
+
+GEN_test_RandM(VCVTSD2SI_64,
+               "vcvtsd2si %%xmm8,  %%r14",
+               "vcvtsd2si (%%rax), %%r14")
+
+GEN_test_RandM(VPSHUFB_128,
+               "vpshufb %%xmm6,  %%xmm8, %%xmm7",
+               "vpshufb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCMPSD_128_0x0,
+               "vcmpsd $0, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $0, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x1,
+               "vcmpsd $1, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $1, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x2,
+               "vcmpsd $2, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $2, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x3,
+               "vcmpsd $3, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $3, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x4,
+               "vcmpsd $4, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $4, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x5,
+               "vcmpsd $5, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $5, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x6,
+               "vcmpsd $6, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $6, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x7,
+               "vcmpsd $7, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $7, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x8,
+               "vcmpsd $8, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $8, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0xA,
+               "vcmpsd $0xA, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $0xA, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0xC,
+               "vcmpsd $0xC, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $0xC, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0xD,
+               "vcmpsd $0xD, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $0xD, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0xE,
+               "vcmpsd $0xE, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $0xE, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x11,
+               "vcmpsd $0x11, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $0x11, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x12,
+               "vcmpsd $0x12, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $0x12, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x16,
+               "vcmpsd $0x16, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $0x16, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSD_128_0x1E,
+               "vcmpsd $0x1E, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpsd $0x1E, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VSQRTSD_128,
+               "vsqrtsd %%xmm6,  %%xmm8, %%xmm7",
+               "vsqrtsd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VORPS_128,
+               "vorps %%xmm6,  %%xmm8, %%xmm7",
+               "vorps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VANDNPS_128,
+               "vandnps %%xmm6,  %%xmm8, %%xmm7",
+               "vandnps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMAXSS_128,
+               "vmaxss %%xmm6,  %%xmm8, %%xmm7",
+               "vmaxss (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMINSS_128,
+               "vminss %%xmm6,  %%xmm8, %%xmm7",
+               "vminss (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VANDPS_128,
+               "vandps %%xmm6,  %%xmm8, %%xmm7",
+               "vandps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCVTSI2SS_128,
+               "vcvtsi2ssl %%r14d,  %%xmm8, %%xmm7",
+               "vcvtsi2ssl (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VUNPCKLPS_128,
+               "vunpcklps %%xmm6,  %%xmm8, %%xmm7",
+               "vunpcklps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VDIVSS_128,
+               "vdivss %%xmm6,  %%xmm8, %%xmm7",
+               "vdivss (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VADDSS_128,
+               "vaddss %%xmm6,  %%xmm8, %%xmm7",
+               "vaddss (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VSUBSS_128,
+               "vsubss %%xmm6,  %%xmm8, %%xmm7",
+               "vsubss (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMULSS_128,
+               "vmulss %%xmm6,  %%xmm8, %%xmm7",
+               "vmulss (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPUNPCKLBW_128,
+               "vpunpcklbw %%xmm6,  %%xmm8, %%xmm7",
+               "vpunpcklbw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPUNPCKHBW_128,
+               "vpunpckhbw %%xmm6,  %%xmm8, %%xmm7",
+               "vpunpckhbw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCVTTSS2SI_32,
+               "vcvttss2si %%xmm8,  %%r14d",
+               "vcvttss2si (%%rax), %%r14d")
+
+GEN_test_RandM(VCVTSS2SI_32,
+               "vcvtss2si %%xmm8,  %%r14d",
+               "vcvtss2si (%%rax), %%r14d")
+
+GEN_test_RandM(VMOVQ_XMMorMEM64_to_XMM,
+               "vmovq %%xmm7,  %%xmm8",
+               "vmovq (%%rax), %%xmm8")
+
+/* NB tests the reg form only */
+GEN_test_Ronly(VMOVQ_XMM_to_IREG64,
+               "vmovq %%xmm7, %%r14")
+
+/* This insn only exists in the reg-reg-reg form. */
+GEN_test_Ronly(VMOVHLPS_128,
+               "vmovhlps %%xmm6, %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPABSD_128,
+               "vpabsd %%xmm6,  %%xmm8",
+               "vpabsd (%%rax), %%xmm8")
+
+/* This insn only exists in the reg-reg-reg form. */
+GEN_test_Ronly(VMOVLHPS_128,
+               "vmovlhps %%xmm6, %%xmm8, %%xmm7")
+
+GEN_test_Monly(VMOVNTDQ_128,
+               "vmovntdq %%xmm8, (%%rax)")
+
+GEN_test_Monly(VMOVNTDQ_256,
+               "vmovntdq %%ymm8, (%%rax)")
+
+GEN_test_RandM(VMOVUPS_XMM_to_XMMorMEM,
+               "vmovups %%xmm8, %%xmm7",
+               "vmovups %%xmm9, (%%rax)")
+
+GEN_test_RandM(VMOVQ_IREGorMEM64_to_XMM,
+               "vmovq %%r14, %%xmm7",
+               "vmovq (%%rax), %%xmm9")
+
+GEN_test_RandM(VPCMPESTRM_0x45_128,
+               "vpcmpestrm $0x45, %%xmm7, %%xmm8;  movapd %%xmm0, %%xmm9",
+               "vpcmpestrm $0x45, (%%rax), %%xmm8; movapd %%xmm0, %%xmm9")
+
+/* NB tests the reg form only */
+GEN_test_Ronly(VMOVD_XMM_to_IREG32,
+               "vmovd %%xmm7, %%r14d")
+
+GEN_test_RandM(VCVTSD2SS_128,
+               "vcvtsd2ss %%xmm9,  %%xmm8, %%xmm7",
+               "vcvtsd2ss (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCVTSS2SD_128,
+               "vcvtss2sd %%xmm9,  %%xmm8, %%xmm7",
+               "vcvtss2sd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPACKUSWB_128,
+               "vpackuswb %%xmm9,  %%xmm8, %%xmm7",
+               "vpackuswb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCVTTSS2SI_64,
+               "vcvttss2si %%xmm8,  %%r14",
+               "vcvttss2si (%%rax), %%r14")
+
+GEN_test_RandM(VCVTSS2SI_64,
+               "vcvtss2si %%xmm8,  %%r14",
+               "vcvtss2si (%%rax), %%r14")
+
+GEN_test_Ronly(VPMOVMSKB_128,
+               "vpmovmskb %%xmm8, %%r14")
+
+GEN_test_RandM(VPAND_128,
+               "vpand %%xmm9,  %%xmm8, %%xmm7",
+               "vpand (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Monly(VMOVHPD_128_StoreForm,
+               "vmovhpd %%xmm8, (%%rax)")
+
+GEN_test_Monly(VMOVHPS_128_StoreForm,
+               "vmovhps %%xmm8, (%%rax)")
+
+GEN_test_RandM(VPCMPEQB_128,
+               "vpcmpeqb %%xmm9,  %%xmm8, %%xmm7",
+               "vpcmpeqb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VSHUFPS_0x39_128,
+               "vshufps $0x39, %%xmm9,  %%xmm8, %%xmm7",
+               "vshufps $0xC6, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMULPS_128,
+               "vmulps %%xmm9,  %%xmm8, %%xmm7",
+               "vmulps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VSUBPS_128,
+               "vsubps %%xmm9,  %%xmm8, %%xmm7",
+               "vsubps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VADDPS_128,
+               "vaddps %%xmm9,  %%xmm8, %%xmm7",
+               "vaddps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMAXPS_128,
+               "vmaxps %%xmm9,  %%xmm8, %%xmm7",
+               "vmaxps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMAXPS_256,
+               "vmaxps %%ymm9,  %%ymm8, %%ymm7",
+               "vmaxps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VMAXPD_128,
+               "vmaxpd %%xmm9,  %%xmm8, %%xmm7",
+               "vmaxpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMAXPD_256,
+               "vmaxpd %%ymm9,  %%ymm8, %%ymm7",
+               "vmaxpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VMINPS_128,
+               "vminps %%xmm9,  %%xmm8, %%xmm7",
+               "vminps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMINPS_256,
+               "vminps %%ymm9,  %%ymm8, %%ymm7",
+               "vminps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VMINPD_128,
+               "vminpd %%xmm9,  %%xmm8, %%xmm7",
+               "vminpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMINPD_256,
+               "vminpd %%ymm9,  %%ymm8, %%ymm7",
+               "vminpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VCVTPS2DQ_128,
+               "vcvtps2dq %%xmm8, %%xmm7",
+               "vcvtps2dq (%%rax), %%xmm8")
+
+GEN_test_RandM(VPSHUFLW_0x39_128,
+               "vpshuflw $0x39, %%xmm9,  %%xmm7",
+               "vpshuflw $0xC6, (%%rax), %%xmm8")
+
+GEN_test_RandM(VPSHUFHW_0x39_128,
+               "vpshufhw $0x39, %%xmm9,  %%xmm7",
+               "vpshufhw $0xC6, (%%rax), %%xmm8")
+
+GEN_test_RandM(VPMULLW_128,
+               "vpmullw %%xmm9,  %%xmm8, %%xmm7",
+               "vpmullw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPADDUSW_128,
+               "vpaddusw %%xmm9,  %%xmm8, %%xmm7",
+               "vpaddusw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMULHUW_128,
+               "vpmulhuw %%xmm9,  %%xmm8, %%xmm7",
+               "vpmulhuw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPADDUSB_128,
+               "vpaddusb %%xmm9,  %%xmm8, %%xmm7",
+               "vpaddusb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPUNPCKLWD_128,
+               "vpunpcklwd %%xmm6,  %%xmm8, %%xmm7",
+               "vpunpcklwd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPUNPCKHWD_128,
+               "vpunpckhwd %%xmm6,  %%xmm8, %%xmm7",
+               "vpunpckhwd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Ronly(VPSLLD_0x05_128,
+               "vpslld $0x5, %%xmm9,  %%xmm7")
+
+GEN_test_Ronly(VPSRLD_0x05_128,
+               "vpsrld $0x5, %%xmm9,  %%xmm7")
+
+GEN_test_Ronly(VPSRAD_0x05_128,
+               "vpsrad $0x5, %%xmm9,  %%xmm7")
+
+GEN_test_RandM(VPSUBUSB_128,
+               "vpsubusb %%xmm9,  %%xmm8, %%xmm7",
+               "vpsubusb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSUBSB_128,
+               "vpsubsb %%xmm9,  %%xmm8, %%xmm7",
+               "vpsubsb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Ronly(VPSRLDQ_0x05_128,
+               "vpsrldq $0x5, %%xmm9,  %%xmm7")
+
+GEN_test_Ronly(VPSLLDQ_0x05_128,
+               "vpslldq $0x5, %%xmm9,  %%xmm7")
+
+GEN_test_RandM(VPANDN_128,
+               "vpandn %%xmm9,  %%xmm8, %%xmm7",
+               "vpandn (%%rax), %%xmm8, %%xmm7")
+
+/* NB tests the mem form only */
+GEN_test_Monly(VMOVD_XMM_to_MEM32,
+               "vmovd %%xmm7, (%%rax)")
+
+GEN_test_RandM(VPINSRD_128,
+               "vpinsrd $0, %%r14d,  %%xmm8, %%xmm7",
+               "vpinsrd $3, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPUNPCKLQDQ_128,
+               "vpunpcklqdq %%xmm6,  %%xmm8, %%xmm7",
+               "vpunpcklqdq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Ronly(VPSRLW_0x05_128,
+               "vpsrlw $0x5, %%xmm9,  %%xmm7")
+
+GEN_test_Ronly(VPSLLW_0x05_128,
+               "vpsllw $0x5, %%xmm9,  %%xmm7")
+
+GEN_test_RandM(VPADDW_128,
+               "vpaddw %%xmm6,  %%xmm8, %%xmm7",
+               "vpaddw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPACKSSDW_128,
+               "vpackssdw %%xmm9,  %%xmm8, %%xmm7",
+               "vpackssdw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPUNPCKLDQ_128,
+               "vpunpckldq %%xmm6,  %%xmm8, %%xmm7",
+               "vpunpckldq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VINSERTPS_0x39_128,
+               "vinsertps $0x39, %%xmm6,  %%xmm8, %%xmm7",
+               "vinsertps $0xC6, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Monly(VMOVSD_M64_XMM, "vmovsd (%%rax), %%xmm8")
+
+GEN_test_Monly(VMOVSS_M64_XMM, "vmovss (%%rax), %%xmm8")
+
+GEN_test_Monly(VMOVSD_XMM_M64, "vmovsd %%xmm8, (%%rax)")
+
+GEN_test_Monly(VMOVSS_XMM_M32, "vmovss %%xmm8, (%%rax)")
+
+GEN_test_RandM(VMOVUPD_GtoE_128,
+               "vmovupd %%xmm9,  %%xmm6",
+               "vmovupd %%xmm7, (%%rax)")
+
+GEN_test_RandM(VMOVAPD_EtoG_128,
+               "vmovapd %%xmm6,  %%xmm8",
+               "vmovapd (%%rax), %%xmm9")
+
+GEN_test_RandM(VMOVAPD_EtoG_256,
+               "vmovapd %%ymm6,  %%ymm8",
+               "vmovapd (%%rax), %%ymm9")
+
+GEN_test_RandM(VMOVAPS_EtoG_128,
+               "vmovaps %%xmm6,  %%xmm8",
+               "vmovaps (%%rax), %%xmm9")
+
+GEN_test_RandM(VMOVAPS_GtoE_128,
+               "vmovaps %%xmm9,  %%xmm6",
+               "vmovaps %%xmm7, (%%rax)")
+
+GEN_test_RandM(VMOVAPS_GtoE_256,
+               "vmovaps %%ymm9,  %%ymm6",
+               "vmovaps %%ymm7, (%%rax)")
+
+GEN_test_RandM(VMOVAPD_GtoE_128,
+               "vmovapd %%xmm9,  %%xmm6",
+               "vmovapd %%xmm7, (%%rax)")
+
+GEN_test_RandM(VMOVAPD_GtoE_256,
+               "vmovapd %%ymm9,  %%ymm6",
+               "vmovapd %%ymm7, (%%rax)")
+
+GEN_test_RandM(VMOVDQU_EtoG_128,
+               "vmovdqu %%xmm6,  %%xmm8",
+               "vmovdqu (%%rax), %%xmm9")
+
+GEN_test_RandM(VMOVDQA_EtoG_128,
+               "vmovdqa %%xmm6,  %%xmm8",
+               "vmovdqa (%%rax), %%xmm9")
+
+GEN_test_RandM(VMOVDQA_EtoG_256,
+               "vmovdqa %%ymm6,  %%ymm8",
+               "vmovdqa (%%rax), %%ymm9")
+
+GEN_test_RandM(VMOVDQU_GtoE_128,
+               "vmovdqu %%xmm9,  %%xmm6",
+               "vmovdqu %%xmm7, (%%rax)")
+
+GEN_test_RandM(VMOVDQA_GtoE_128,
+               "vmovdqa %%xmm9,  %%xmm6",
+               "vmovdqa %%xmm7, (%%rax)")
+
+GEN_test_RandM(VMOVDQA_GtoE_256,
+               "vmovdqa %%ymm9,  %%ymm6",
+               "vmovdqa %%ymm7, (%%rax)")
+
+GEN_test_Monly(VMOVQ_XMM_MEM64, "vmovq %%xmm8, (%%rax)")
+
+GEN_test_RandM(VMOVD_IREGorMEM32_to_XMM,
+               "vmovd %%r14d, %%xmm7",
+               "vmovd (%%rax), %%xmm9")
+
+GEN_test_RandM(VMOVDDUP_XMMorMEM64_to_XMM,
+               "vmovddup %%xmm8,  %%xmm7",
+               "vmovddup (%%rax), %%xmm9")
+
+GEN_test_RandM(VCMPSS_128_0x0,
+               "vcmpss $0, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $0, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x1,
+               "vcmpss $1, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $1, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x2,
+               "vcmpss $2, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $2, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x3,
+               "vcmpss $3, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $3, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x4,
+               "vcmpss $4, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $4, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x5,
+               "vcmpss $5, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $5, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x6,
+               "vcmpss $6, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $6, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x7,
+               "vcmpss $7, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $7, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x8,
+               "vcmpss $8, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $8, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0xA,
+               "vcmpss $0xA, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $0xA, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0xC,
+               "vcmpss $0xC, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $0xC, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0xD,
+               "vcmpss $0xD, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $0xD, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0xE,
+               "vcmpss $0xE, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $0xE, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x11,
+               "vcmpss $0x11, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $0x11, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x12,
+               "vcmpss $0x12, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $0x12, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x16,
+               "vcmpss $0x16, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $0x16, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VCMPSS_128_0x1E,
+               "vcmpss $0x1E, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $0x1E, (%%rax), %%xmm8, %%xmm7")
+
+// The x suffix denotes a 128 -> 64 operation
+GEN_test_RandM(VCVTPD2PS_128,
+               "vcvtpd2psx %%xmm8,  %%xmm7",
+               "vcvtpd2psx (%%rax), %%xmm9")
+
+GEN_test_RandM(VEXTRACTF128_0x0,
+               "vextractf128 $0x0, %%ymm7, %%xmm9",
+               "vextractf128 $0x0, %%ymm7, (%%rax)")
+
+GEN_test_RandM(VEXTRACTF128_0x1,
+               "vextractf128 $0x1, %%ymm7, %%xmm9",
+               "vextractf128 $0x1, %%ymm7, (%%rax)")
+
+GEN_test_RandM(VINSERTF128_0x0,
+               "vinsertf128 $0x0, %%xmm9,  %%ymm7, %%ymm8",
+               "vinsertf128 $0x0, (%%rax), %%ymm7, %%ymm8")
+
+GEN_test_RandM(VINSERTF128_0x1,
+               "vinsertf128 $0x1, %%xmm9,  %%ymm7, %%ymm8",
+               "vinsertf128 $0x1, (%%rax), %%ymm7, %%ymm8")
+
+GEN_test_RandM(VPEXTRD_128_0x0,
+               "vpextrd $0x0, %%xmm7, %%r14d",
+               "vpextrd $0x0, %%xmm7, (%%rax)")
+
+GEN_test_RandM(VPEXTRD_128_0x3,
+               "vpextrd $0x3, %%xmm7, %%r14d",
+               "vpextrd $0x3, %%xmm7, (%%rax)")
+
+GEN_test_RandM(VPCMPEQD_128,
+               "vpcmpeqd %%xmm6,  %%xmm8, %%xmm7",
+               "vpcmpeqd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSHUFD_0x39_128,
+               "vpshufd $0x39, %%xmm9,  %%xmm8",
+               "vpshufd $0xC6, (%%rax), %%xmm7")
+
+GEN_test_RandM(VMAXSD_128,
+               "vmaxsd %%xmm6,  %%xmm8, %%xmm7",
+               "vmaxsd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VDIVSD_128,
+               "vdivsd %%xmm6,  %%xmm8, %%xmm7",
+               "vdivsd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMINSD_128,
+               "vminsd %%xmm6,  %%xmm8, %%xmm7",
+               "vminsd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VSUBSD_128,
+               "vsubsd %%xmm6,  %%xmm8, %%xmm7",
+               "vsubsd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VADDSD_128,
+               "vaddsd %%xmm6,  %%xmm8, %%xmm7",
+               "vaddsd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMULSD_128,
+               "vmulsd %%xmm6,  %%xmm8, %%xmm7",
+               "vmulsd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VXORPS_128,
+               "vxorps %%xmm6,  %%xmm8, %%xmm7",
+               "vxorps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VXORPD_128,
+               "vxorpd %%xmm6,  %%xmm8, %%xmm7",
+               "vxorpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VORPD_128,
+               "vorpd %%xmm6,  %%xmm8, %%xmm7",
+               "vorpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VANDNPD_128,
+               "vandnpd %%xmm6,  %%xmm8, %%xmm7",
+               "vandnpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCVTPS2PD_128,
+               "vcvtps2pd %%xmm6,  %%xmm8",
+               "vcvtps2pd (%%rax), %%xmm8")
+
+GEN_test_RandM(VUCOMISD_128,
+   "vucomisd %%xmm6,  %%xmm8; pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vucomisd (%%rax), %%xmm8; pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+GEN_test_RandM(VUCOMISS_128,
+   "vucomiss %%xmm6,  %%xmm8; pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vucomiss (%%rax), %%xmm8; pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+GEN_test_RandM(VPINSRQ_128,
+               "vpinsrq $0, %%r14,   %%xmm8, %%xmm7",
+               "vpinsrq $1, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPADDQ_128,
+               "vpaddq %%xmm6,  %%xmm8, %%xmm7",
+               "vpaddq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSUBQ_128,
+               "vpsubq %%xmm6,  %%xmm8, %%xmm7",
+               "vpsubq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSUBW_128,
+               "vpsubw %%xmm6,  %%xmm8, %%xmm7",
+               "vpsubw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMOVUPD_GtoE_256,
+               "vmovupd %%ymm9,  %%ymm6",
+               "vmovupd %%ymm7, (%%rax)")
+
+GEN_test_RandM(VMOVUPD_EtoG_256,
+               "vmovupd %%ymm6,  %%ymm9",
+               "vmovupd (%%rax), %%ymm7")
+
+GEN_test_RandM(VMULPD_256,
+               "vmulpd %%ymm6,  %%ymm8, %%ymm7",
+               "vmulpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VMOVUPD_EtoG_128,
+               "vmovupd %%xmm6,  %%xmm9",
+               "vmovupd (%%rax), %%xmm7")
+
+GEN_test_RandM(VADDPD_256,
+               "vaddpd %%ymm6,  %%ymm8, %%ymm7",
+               "vaddpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VSUBPD_256,
+               "vsubpd %%ymm6,  %%ymm8, %%ymm7",
+               "vsubpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VDIVPD_256,
+               "vdivpd %%ymm6,  %%ymm8, %%ymm7",
+               "vdivpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPCMPEQQ_128,
+               "vpcmpeqq %%xmm6,  %%xmm8, %%xmm7",
+               "vpcmpeqq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VSUBPD_128,
+               "vsubpd %%xmm6,  %%xmm8, %%xmm7",
+               "vsubpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VADDPD_128,
+               "vaddpd %%xmm6,  %%xmm8, %%xmm7",
+               "vaddpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VUNPCKLPD_128,
+               "vunpcklpd %%xmm6,  %%xmm8, %%xmm7",
+               "vunpcklpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VUNPCKHPD_128,
+               "vunpckhpd %%xmm6,  %%xmm8, %%xmm7",
+               "vunpckhpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VUNPCKHPS_128,
+               "vunpckhps %%xmm6,  %%xmm8, %%xmm7",
+               "vunpckhps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMOVUPS_EtoG_128,
+               "vmovups %%xmm6,  %%xmm8",
+               "vmovups (%%rax), %%xmm9")
+
+GEN_test_RandM(VADDPS_256,
+               "vaddps %%ymm6,  %%ymm8, %%ymm7",
+               "vaddps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VSUBPS_256,
+               "vsubps %%ymm6,  %%ymm8, %%ymm7",
+               "vsubps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VMULPS_256,
+               "vmulps %%ymm6,  %%ymm8, %%ymm7",
+               "vmulps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VDIVPS_256,
+               "vdivps %%ymm6,  %%ymm8, %%ymm7",
+               "vdivps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPCMPGTQ_128,
+               "vpcmpgtq %%xmm6,  %%xmm8, %%xmm7",
+               "vpcmpgtq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPEXTRQ_128_0x0,
+               "vpextrq $0x0, %%xmm7, %%r14",
+               "vpextrq $0x0, %%xmm7, (%%rax)")
+
+GEN_test_RandM(VPEXTRQ_128_0x1,
+               "vpextrq $0x1, %%xmm7, %%r14",
+               "vpextrq $0x1, %%xmm7, (%%rax)")
+
+GEN_test_Ronly(VPSRLQ_0x05_128,
+               "vpsrlq $0x5, %%xmm9,  %%xmm7")
+
+GEN_test_RandM(VPMULUDQ_128,
+               "vpmuludq %%xmm6,  %%xmm8, %%xmm7",
+               "vpmuludq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMULDQ_128,
+               "vpmuldq %%xmm6,  %%xmm8, %%xmm7",
+               "vpmuldq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Ronly(VPSLLQ_0x05_128,
+               "vpsllq $0x5, %%xmm9,  %%xmm7")
+
+GEN_test_RandM(VPMAXUD_128,
+               "vpmaxud %%xmm6,  %%xmm8, %%xmm7",
+               "vpmaxud (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMINUD_128,
+               "vpminud %%xmm6,  %%xmm8, %%xmm7",
+               "vpminud (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMULLD_128,
+               "vpmulld %%xmm6,  %%xmm8, %%xmm7",
+               "vpmulld (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMAXUW_128,
+               "vpmaxuw %%xmm6,  %%xmm8, %%xmm7",
+               "vpmaxuw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Ronly(VPEXTRW_128_EregOnly_toG_0x0,
+               "vpextrw $0x0, %%xmm7, %%r14d")
+
+GEN_test_Ronly(VPEXTRW_128_EregOnly_toG_0x7,
+               "vpextrw $0x7, %%xmm7, %%r14d")
+
+GEN_test_RandM(VPMINUW_128,
+               "vpminuw %%xmm6,  %%xmm8, %%xmm7",
+               "vpminuw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPHMINPOSUW_128,
+               "vphminposuw %%xmm6,  %%xmm8",
+               "vphminposuw (%%rax), %%xmm7")
+
+GEN_test_RandM(VPMAXSW_128,
+               "vpmaxsw %%xmm6,  %%xmm8, %%xmm7",
+               "vpmaxsw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMINSW_128,
+               "vpminsw %%xmm6,  %%xmm8, %%xmm7",
+               "vpminsw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMAXUB_128,
+               "vpmaxub %%xmm6,  %%xmm8, %%xmm7",
+               "vpmaxub (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPEXTRB_GtoE_128_0x0,
+               "vpextrb $0x0, %%xmm8, %%r14",
+               "vpextrb $0x0, %%xmm8, (%%rax)")
+
+GEN_test_RandM(VPEXTRB_GtoE_128_0x1,
+               "vpextrb $0x1, %%xmm8, %%r14",
+               "vpextrb $0x1, %%xmm8, (%%rax)")
+
+GEN_test_RandM(VPEXTRB_GtoE_128_0x2,
+               "vpextrb $0x2, %%xmm8, %%r14",
+               "vpextrb $0x2, %%xmm8, (%%rax)")
+
+GEN_test_RandM(VPEXTRB_GtoE_128_0x3,
+               "vpextrb $0x3, %%xmm8, %%r14",
+               "vpextrb $0x3, %%xmm8, (%%rax)")
+
+GEN_test_RandM(VPEXTRB_GtoE_128_0x4,
+               "vpextrb $0x4, %%xmm8, %%r14",
+               "vpextrb $0x4, %%xmm8, (%%rax)")
+
+GEN_test_RandM(VPEXTRB_GtoE_128_0x9,
+               "vpextrb $0x9, %%xmm8, %%r14",
+               "vpextrb $0x9, %%xmm8, (%%rax)")
+
+GEN_test_RandM(VPEXTRB_GtoE_128_0xE,
+               "vpextrb $0xE, %%xmm8, %%r14",
+               "vpextrb $0xE, %%xmm8, (%%rax)")
+
+GEN_test_RandM(VPEXTRB_GtoE_128_0xF,
+               "vpextrb $0xF, %%xmm8, %%r14",
+               "vpextrb $0xF, %%xmm8, (%%rax)")
+
+GEN_test_RandM(VPMINUB_128,
+               "vpminub %%xmm6,  %%xmm8, %%xmm7",
+               "vpminub (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMAXSB_128,
+               "vpmaxsb %%xmm6,  %%xmm8, %%xmm7",
+               "vpmaxsb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMINSB_128,
+               "vpminsb %%xmm6,  %%xmm8, %%xmm7",
+               "vpminsb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPERM2F128_0x00,
+               "vperm2f128 $0x00, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2f128 $0x00, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2F128_0xFF,
+               "vperm2f128 $0xFF, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2f128 $0xFF, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2F128_0x30,
+               "vperm2f128 $0x30, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2f128 $0x30, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2F128_0x21,
+               "vperm2f128 $0x21, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2f128 $0x21, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2F128_0x12,
+               "vperm2f128 $0x12, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2f128 $0x12, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2F128_0x03,
+               "vperm2f128 $0x03, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2f128 $0x03, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2F128_0x85,
+               "vperm2f128 $0x85, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2f128 $0x85, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2F128_0x5A,
+               "vperm2f128 $0x5A, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2f128 $0x5A, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPERMILPD_256_0x0,
+               "vpermilpd $0x0, %%ymm6,  %%ymm8",
+               "vpermilpd $0x1, (%%rax), %%ymm8")
+GEN_test_RandM(VPERMILPD_256_0xF,
+               "vpermilpd $0xF, %%ymm6,  %%ymm8",
+               "vpermilpd $0xE, (%%rax), %%ymm8")
+GEN_test_RandM(VPERMILPD_256_0xA,
+               "vpermilpd $0xA, %%ymm6,  %%ymm8",
+               "vpermilpd $0xB, (%%rax), %%ymm8")
+GEN_test_RandM(VPERMILPD_256_0x5,
+               "vpermilpd $0x5, %%ymm6,  %%ymm8",
+               "vpermilpd $0x4, (%%rax), %%ymm8")
+
+GEN_test_RandM(VPERMILPD_128_0x0,
+               "vpermilpd $0x0, %%xmm6,  %%xmm8",
+               "vpermilpd $0x1, (%%rax), %%xmm8")
+GEN_test_RandM(VPERMILPD_128_0x3,
+               "vpermilpd $0x3, %%xmm6,  %%xmm8",
+               "vpermilpd $0x2, (%%rax), %%xmm8")
+
+GEN_test_RandM(VUNPCKLPD_256,
+               "vunpcklpd %%ymm6,  %%ymm8, %%ymm7",
+               "vunpcklpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VUNPCKHPD_256,
+               "vunpckhpd %%ymm6,  %%ymm8, %%ymm7",
+               "vunpckhpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VSHUFPS_0x39_256,
+               "vshufps $0x39, %%ymm9,  %%ymm8, %%ymm7",
+               "vshufps $0xC6, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VUNPCKLPS_256,
+               "vunpcklps %%ymm6,  %%ymm8, %%ymm7",
+               "vunpcklps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VUNPCKHPS_256,
+               "vunpckhps %%ymm6,  %%ymm8, %%ymm7",
+               "vunpckhps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VXORPD_256,
+               "vxorpd %%ymm6,  %%ymm8, %%ymm7",
+               "vxorpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_Monly(VBROADCASTSD_256,
+               "vbroadcastsd (%%rax), %%ymm8")
+
+GEN_test_RandM(VCMPPD_128_0x4,
+               "vcmppd $4, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmppd $4, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCMPPD_256_0x4,
+               "vcmppd $4, %%ymm6,  %%ymm8, %%ymm7",
+               "vcmppd $4, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VCMPPS_128_0x4,
+               "vcmpps $4, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpps $4, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCMPPS_256_0x4,
+               "vcmpps $4, %%ymm6,  %%ymm8, %%ymm7",
+               "vcmpps $4, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VCVTDQ2PD_128,
+               "vcvtdq2pd %%xmm6,  %%xmm8",
+               "vcvtdq2pd (%%rax), %%xmm8")
+
+GEN_test_RandM(VDIVPD_128,
+               "vdivpd %%xmm6,  %%xmm8, %%xmm7",
+               "vdivpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VANDPD_256,
+               "vandpd %%ymm6,  %%ymm8, %%ymm7",
+               "vandpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMOVSXBW_128,
+               "vpmovsxbw %%xmm6,  %%xmm8",
+               "vpmovsxbw (%%rax), %%xmm8")
+
+GEN_test_RandM(VPSUBUSW_128,
+               "vpsubusw %%xmm9,  %%xmm8, %%xmm7",
+               "vpsubusw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSUBSW_128,
+               "vpsubsw %%xmm9,  %%xmm8, %%xmm7",
+               "vpsubsw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPCMPEQW_128,
+               "vpcmpeqw %%xmm6,  %%xmm8, %%xmm7",
+               "vpcmpeqw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPADDB_128,
+               "vpaddb %%xmm6,  %%xmm8, %%xmm7",
+               "vpaddb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMOVAPS_EtoG_256,
+               "vmovaps %%ymm6,  %%ymm8",
+               "vmovaps (%%rax), %%ymm9")
+
+GEN_test_RandM(VCVTDQ2PD_256,
+               "vcvtdq2pd %%xmm6,  %%ymm8",
+               "vcvtdq2pd (%%rax), %%ymm8")
+
+GEN_test_Monly(VMOVHPD_128_LoadForm,
+               "vmovhpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Monly(VMOVHPS_128_LoadForm,
+               "vmovhps (%%rax), %%xmm8, %%xmm7")
+
+// The y suffix denotes a 256 -> 128 operation
+GEN_test_RandM(VCVTPD2PS_256,
+               "vcvtpd2psy %%ymm8,  %%xmm7",
+               "vcvtpd2psy (%%rax), %%xmm9")
+
+GEN_test_RandM(VPUNPCKHDQ_128,
+               "vpunpckhdq %%xmm6,  %%xmm8, %%xmm7",
+               "vpunpckhdq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Monly(VBROADCASTSS_128,
+               "vbroadcastss (%%rax), %%xmm8")
+
+GEN_test_RandM(VPMOVSXDQ_128,
+               "vpmovsxdq %%xmm6,  %%xmm8",
+               "vpmovsxdq (%%rax), %%xmm8")
+
+GEN_test_RandM(VPMOVSXWD_128,
+               "vpmovsxwd %%xmm6,  %%xmm8",
+               "vpmovsxwd (%%rax), %%xmm8")
+
+GEN_test_RandM(VDIVPS_128,
+               "vdivps %%xmm9,  %%xmm8, %%xmm7",
+               "vdivps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VANDPS_256,
+               "vandps %%ymm6,  %%ymm8, %%ymm7",
+               "vandps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VXORPS_256,
+               "vxorps %%ymm6,  %%ymm8, %%ymm7",
+               "vxorps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VORPS_256,
+               "vorps %%ymm6,  %%ymm8, %%ymm7",
+               "vorps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VANDNPD_256,
+               "vandnpd %%ymm6,  %%ymm8, %%ymm7",
+               "vandnpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VANDNPS_256,
+               "vandnps %%ymm6,  %%ymm8, %%ymm7",
+               "vandnps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VORPD_256,
+               "vorpd %%ymm6,  %%ymm8, %%ymm7",
+               "vorpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPERMILPS_256_0x0F,
+               "vpermilps $0x0F, %%ymm6,  %%ymm8",
+               "vpermilps $0x1E, (%%rax), %%ymm8")
+GEN_test_RandM(VPERMILPS_256_0xFA,
+               "vpermilps $0xFA, %%ymm6,  %%ymm8",
+               "vpermilps $0xE5, (%%rax), %%ymm8")
+GEN_test_RandM(VPERMILPS_256_0xA3,
+               "vpermilps $0xA3, %%ymm6,  %%ymm8",
+               "vpermilps $0xB4, (%%rax), %%ymm8")
+GEN_test_RandM(VPERMILPS_256_0x5A,
+               "vpermilps $0x5A, %%ymm6,  %%ymm8",
+               "vpermilps $0x45, (%%rax), %%ymm8")
+
+GEN_test_RandM(VPMULHW_128,
+               "vpmulhw %%xmm9,  %%xmm8, %%xmm7",
+               "vpmulhw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPUNPCKHQDQ_128,
+               "vpunpckhqdq %%xmm6,  %%xmm8, %%xmm7",
+               "vpunpckhqdq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Ronly(VPSRAW_0x05_128,
+               "vpsraw $0x5, %%xmm9,  %%xmm7")
+
+GEN_test_RandM(VPCMPGTB_128,
+               "vpcmpgtb %%xmm6,  %%xmm8, %%xmm7",
+               "vpcmpgtb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPCMPGTW_128,
+               "vpcmpgtw %%xmm6,  %%xmm8, %%xmm7",
+               "vpcmpgtw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPCMPGTD_128,
+               "vpcmpgtd %%xmm6,  %%xmm8, %%xmm7",
+               "vpcmpgtd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMOVZXBD_128,
+               "vpmovzxbd %%xmm6,  %%xmm8",
+               "vpmovzxbd (%%rax), %%xmm8")
+
+GEN_test_RandM(VPMOVSXBD_128,
+               "vpmovsxbd %%xmm6,  %%xmm8",
+               "vpmovsxbd (%%rax), %%xmm8")
+
+GEN_test_RandM(VPINSRB_128_1of3,
+               "vpinsrb $0, %%r14d,  %%xmm8, %%xmm7",
+               "vpinsrb $3, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPINSRB_128_2of3,
+               "vpinsrb $6, %%r14d,  %%xmm8, %%xmm7",
+               "vpinsrb $9, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPINSRB_128_3of3,
+               "vpinsrb $12, %%r14d,  %%xmm8, %%xmm7",
+               "vpinsrb $15, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPINSRW_128_1of4,
+               "vpinsrw $0, %%r14d,  %%xmm8, %%xmm7",
+               "vpinsrw $3, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPINSRW_128_2of4,
+               "vpinsrw $2, %%r14d,  %%xmm8, %%xmm7",
+               "vpinsrw $3, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPINSRW_128_3of4,
+               "vpinsrw $4, %%r14d,  %%xmm8, %%xmm7",
+               "vpinsrw $5, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPINSRW_128_4of4,
+               "vpinsrw $6, %%r14d,  %%xmm8, %%xmm7",
+               "vpinsrw $7, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCOMISD_128,
+   "vcomisd %%xmm6,  %%xmm8; pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vcomisd (%%rax), %%xmm8; pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+GEN_test_RandM(VCOMISS_128,
+   "vcomiss %%xmm6,  %%xmm8; pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vcomiss (%%rax), %%xmm8; pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+GEN_test_RandM(VMOVUPS_YMM_to_YMMorMEM,
+               "vmovups %%ymm8, %%ymm7",
+               "vmovups %%ymm9, (%%rax)")
+
+GEN_test_RandM(VDPPD_128_1of4,
+               "vdppd $0x00, %%xmm6,  %%xmm8, %%xmm7",
+               "vdppd $0xA5, (%%rax), %%xmm9, %%xmm6")
+GEN_test_RandM(VDPPD_128_2of4,
+               "vdppd $0x5A, %%xmm6,  %%xmm8, %%xmm7",
+               "vdppd $0xFF, (%%rax), %%xmm9, %%xmm6")
+GEN_test_RandM(VDPPD_128_3of4,
+               "vdppd $0x0F, %%xmm6,  %%xmm8, %%xmm7",
+               "vdppd $0x37, (%%rax), %%xmm9, %%xmm6")
+GEN_test_RandM(VDPPD_128_4of4,
+               "vdppd $0xF0, %%xmm6,  %%xmm8, %%xmm7",
+               "vdppd $0x73, (%%rax), %%xmm9, %%xmm6")
+
+GEN_test_RandM(VDPPS_128_1of4,
+               "vdpps $0x00, %%xmm6,  %%xmm8, %%xmm7",
+               "vdpps $0xA5, (%%rax), %%xmm9, %%xmm6")
+GEN_test_RandM(VDPPS_128_2of4,
+               "vdpps $0x5A, %%xmm6,  %%xmm8, %%xmm7",
+               "vdpps $0xFF, (%%rax), %%xmm9, %%xmm6")
+GEN_test_RandM(VDPPS_128_3of4,
+               "vdpps $0x0F, %%xmm6,  %%xmm8, %%xmm7",
+               "vdpps $0x37, (%%rax), %%xmm9, %%xmm6")
+GEN_test_RandM(VDPPS_128_4of4,
+               "vdpps $0xF0, %%xmm6,  %%xmm8, %%xmm7",
+               "vdpps $0x73, (%%rax), %%xmm9, %%xmm6")
+
+GEN_test_RandM(VDPPS_256_1of4,
+               "vdpps $0x00, %%ymm6,  %%ymm8, %%ymm7",
+               "vdpps $0xA5, (%%rax), %%ymm9, %%ymm6")
+GEN_test_RandM(VDPPS_256_2of4,
+               "vdpps $0x5A, %%ymm6,  %%ymm8, %%ymm7",
+               "vdpps $0xFF, (%%rax), %%ymm9, %%ymm6")
+GEN_test_RandM(VDPPS_256_3of4,
+               "vdpps $0x0F, %%ymm6,  %%ymm8, %%ymm7",
+               "vdpps $0x37, (%%rax), %%ymm9, %%ymm6")
+GEN_test_RandM(VDPPS_256_4of4,
+               "vdpps $0xF0, %%ymm6,  %%ymm8, %%ymm7",
+               "vdpps $0x73, (%%rax), %%ymm9, %%ymm6")
+
+GEN_test_Monly(VBROADCASTSS_256,
+               "vbroadcastss (%%rax), %%ymm8")
+
+GEN_test_RandM(VPALIGNR_128_1of3,
+               "vpalignr $0, %%xmm6,  %%xmm8, %%xmm7",
+               "vpalignr $3, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPALIGNR_128_2of3,
+               "vpalignr $6, %%xmm6,  %%xmm8, %%xmm7",
+               "vpalignr $9, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPALIGNR_128_3of3,
+               "vpalignr $12, %%xmm6,  %%xmm8, %%xmm7",
+               "vpalignr $15, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Ronly(VMOVSD_REG_XMM, "vmovsd %%xmm9, %%xmm7, %%xmm8")
+
+GEN_test_Ronly(VMOVSS_REG_XMM, "vmovss %%xmm9, %%xmm7, %%xmm8")
+
+GEN_test_Monly(VMOVLPD_128_M64_XMM_XMM, "vmovlpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Monly(VMOVLPD_128_XMM_M64, "vmovlpd %%xmm7, (%%rax)")
+
+GEN_test_RandM(VSHUFPD_128_1of2,
+               "vshufpd $0, %%xmm9,  %%xmm8, %%xmm7",
+               "vshufpd $1, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VSHUFPD_128_2of2,
+               "vshufpd $2, %%xmm9,  %%xmm8, %%xmm7",
+               "vshufpd $3, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VSHUFPD_256_1of2,
+               "vshufpd $0x00, %%ymm9,  %%ymm8, %%ymm7",
+               "vshufpd $0xFF, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VSHUFPD_256_2of2,
+               "vshufpd $0x5A, %%ymm9,  %%ymm8, %%ymm7",
+               "vshufpd $0xA5, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPERMILPS_128_0x00,
+               "vpermilps $0x00, %%xmm6,  %%xmm8",
+               "vpermilps $0x01, (%%rax), %%xmm8")
+GEN_test_RandM(VPERMILPS_128_0xFE,
+               "vpermilps $0xFE, %%xmm6,  %%xmm8",
+               "vpermilps $0xFF, (%%rax), %%xmm8")
+GEN_test_RandM(VPERMILPS_128_0x30,
+               "vpermilps $0x30, %%xmm6,  %%xmm8",
+               "vpermilps $0x03, (%%rax), %%xmm8")
+GEN_test_RandM(VPERMILPS_128_0x21,
+               "vpermilps $0x21, %%xmm6,  %%xmm8",
+               "vpermilps $0x12, (%%rax), %%xmm8")
+GEN_test_RandM(VPERMILPS_128_0xD7,
+               "vpermilps $0xD7, %%xmm6,  %%xmm8",
+               "vpermilps $0x6C, (%%rax), %%xmm8")
+GEN_test_RandM(VPERMILPS_128_0xB5,
+               "vpermilps $0xB5, %%xmm6,  %%xmm8",
+               "vpermilps $0x4A, (%%rax), %%xmm8")
+GEN_test_RandM(VPERMILPS_128_0x85,
+               "vpermilps $0x85, %%xmm6,  %%xmm8",
+               "vpermilps $0xDC, (%%rax), %%xmm8")
+GEN_test_RandM(VPERMILPS_128_0x29,
+               "vpermilps $0x29, %%xmm6,  %%xmm8",
+               "vpermilps $0x92, (%%rax), %%xmm8")
+
+GEN_test_RandM(VBLENDPS_128_1of3,
+               "vblendps $0, %%xmm6,  %%xmm8, %%xmm7",
+               "vblendps $3, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VBLENDPS_128_2of3,
+               "vblendps $6, %%xmm6,  %%xmm8, %%xmm7",
+               "vblendps $9, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VBLENDPS_128_3of3,
+               "vblendps $12, %%xmm6,  %%xmm8, %%xmm7",
+               "vblendps $15, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VBLENDPD_128_1of2,
+               "vblendpd $0, %%xmm6,  %%xmm8, %%xmm7",
+               "vblendpd $1, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VBLENDPD_128_2of2,
+               "vblendpd $2, %%xmm6,  %%xmm8, %%xmm7",
+               "vblendpd $3, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VBLENDPD_256_1of3,
+               "vblendpd $0, %%ymm6,  %%ymm8, %%ymm7",
+               "vblendpd $3, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VBLENDPD_256_2of3,
+               "vblendpd $6, %%ymm6,  %%ymm8, %%ymm7",
+               "vblendpd $9, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VBLENDPD_256_3of3,
+               "vblendpd $12, %%ymm6,  %%ymm8, %%ymm7",
+               "vblendpd $15, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPBLENDW_128_0x00,
+               "vpblendw $0x00, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendw $0x01, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDW_128_0xFE,
+               "vpblendw $0xFE, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendw $0xFF, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDW_128_0x30,
+               "vpblendw $0x30, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendw $0x03, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDW_128_0x21,
+               "vpblendw $0x21, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendw $0x12, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDW_128_0xD7,
+               "vpblendw $0xD7, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendw $0x6C, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDW_128_0xB5,
+               "vpblendw $0xB5, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendw $0x4A, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDW_128_0x85,
+               "vpblendw $0x85, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendw $0xDC, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDW_128_0x29,
+               "vpblendw $0x29, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendw $0x92, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMOVUPS_EtoG_256,
+               "vmovups %%ymm6,  %%ymm9",
+               "vmovups (%%rax), %%ymm7")
+
+GEN_test_RandM(VSQRTSS_128,
+               "vsqrtss %%xmm6,  %%xmm8, %%xmm7",
+               "vsqrtss (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VSQRTPS_128,
+               "vsqrtps %%xmm6,  %%xmm8",
+               "vsqrtps (%%rax), %%xmm8")
+
+GEN_test_RandM(VSQRTPS_256,
+               "vsqrtps %%ymm6,  %%ymm8",
+               "vsqrtps (%%rax), %%ymm8")
+
+GEN_test_RandM(VSQRTPD_128,
+               "vsqrtpd %%xmm6,  %%xmm8",
+               "vsqrtpd (%%rax), %%xmm8")
+
+GEN_test_RandM(VSQRTPD_256,
+               "vsqrtpd %%ymm6,  %%ymm8",
+               "vsqrtpd (%%rax), %%ymm8")
+
+GEN_test_RandM(VRSQRTSS_128,
+               "vrsqrtss %%xmm6,  %%xmm8, %%xmm7",
+               "vrsqrtss (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VRSQRTPS_128,
+               "vrsqrtps %%xmm6,  %%xmm8",
+               "vrsqrtps (%%rax), %%xmm8")
+
+GEN_test_RandM(VRSQRTPS_256,
+               "vrsqrtps %%ymm6,  %%ymm8",
+               "vrsqrtps (%%rax), %%ymm8")
+
+GEN_test_RandM(VMOVDQU_GtoE_256,
+               "vmovdqu %%ymm9,  %%ymm6",
+               "vmovdqu %%ymm7, (%%rax)")
+
+GEN_test_RandM(VCVTPS2PD_256,
+               "vcvtps2pd %%xmm9,  %%ymm6",
+               "vcvtps2pd (%%rax), %%ymm7")
+
+GEN_test_RandM(VCVTTPS2DQ_128,
+               "vcvttps2dq %%xmm9,  %%xmm6",
+               "vcvttps2dq (%%rax), %%xmm7")
+
+GEN_test_RandM(VCVTTPS2DQ_256,
+               "vcvttps2dq %%ymm9,  %%ymm6",
+               "vcvttps2dq (%%rax), %%ymm7")
+
+GEN_test_RandM(VCVTDQ2PS_128,
+               "vcvtdq2ps %%xmm9,  %%xmm6",
+               "vcvtdq2ps (%%rax), %%xmm7")
+
+GEN_test_RandM(VCVTDQ2PS_256,
+               "vcvtdq2ps %%ymm9,  %%ymm6",
+               "vcvtdq2ps (%%rax), %%ymm7")
+
+GEN_test_RandM(VCVTTPD2DQ_128,
+               "vcvttpd2dqx %%xmm9,  %%xmm6",
+               "vcvttpd2dqx (%%rax), %%xmm7")
+
+GEN_test_RandM(VCVTTPD2DQ_256,
+               "vcvttpd2dqy %%ymm9,  %%xmm6",
+               "vcvttpd2dqy (%%rax), %%xmm7")
+
+GEN_test_RandM(VCVTPD2DQ_128,
+               "vcvtpd2dqx %%xmm9,  %%xmm6",
+               "vcvtpd2dqx (%%rax), %%xmm7")
+
+GEN_test_RandM(VCVTPD2DQ_256,
+               "vcvtpd2dqy %%ymm9,  %%xmm6",
+               "vcvtpd2dqy (%%rax), %%xmm7")
+
+GEN_test_RandM(VMOVSLDUP_128,
+               "vmovsldup %%xmm9,  %%xmm6",
+               "vmovsldup (%%rax), %%xmm7")
+
+GEN_test_RandM(VMOVSLDUP_256,
+               "vmovsldup %%ymm9,  %%ymm6",
+               "vmovsldup (%%rax), %%ymm7")
+
+GEN_test_RandM(VMOVSHDUP_128,
+               "vmovshdup %%xmm9,  %%xmm6",
+               "vmovshdup (%%rax), %%xmm7")
+
+GEN_test_RandM(VMOVSHDUP_256,
+               "vmovshdup %%ymm9,  %%ymm6",
+               "vmovshdup (%%rax), %%ymm7")
+
+GEN_test_RandM(VPERMILPS_VAR_128,
+               "vpermilps %%xmm6,  %%xmm8, %%xmm7",
+               "vpermilps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPERMILPD_VAR_128,
+               "vpermilpd %%xmm6,  %%xmm8, %%xmm7",
+               "vpermilpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPERMILPS_VAR_256,
+               "vpermilps %%ymm6,  %%ymm8, %%ymm7",
+               "vpermilps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPERMILPD_VAR_256,
+               "vpermilpd %%ymm6,  %%ymm8, %%ymm7",
+               "vpermilpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSLLW_128,
+               "andl $15, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsllw %%xmm6,     %%xmm8, %%xmm9",
+               "andq $15, 128(%%rax);"
+               "vpsllw 128(%%rax), %%xmm8, %%xmm9")
+
+GEN_test_RandM(VPSRLW_128,
+               "andl $15, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsrlw %%xmm6,     %%xmm8, %%xmm9",
+               "andq $15, 128(%%rax);"
+               "vpsrlw 128(%%rax), %%xmm8, %%xmm9")
+
+GEN_test_RandM(VPSRAW_128,
+               "andl $31, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsraw %%xmm6,     %%xmm8, %%xmm9",
+               "andq $15, 128(%%rax);"
+               "vpsraw 128(%%rax), %%xmm8, %%xmm9")
+
+GEN_test_RandM(VPSLLD_128,
+               "andl $31, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpslld %%xmm6,     %%xmm8, %%xmm9",
+               "andq $31, 128(%%rax);"
+               "vpslld 128(%%rax), %%xmm8, %%xmm9")
+
+GEN_test_RandM(VPSRLD_128,
+               "andl $31, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsrld %%xmm6,     %%xmm8, %%xmm9",
+               "andq $31, 128(%%rax);"
+               "vpsrld 128(%%rax), %%xmm8, %%xmm9")
+
+GEN_test_RandM(VPSRAD_128,
+               "andl $31, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsrad %%xmm6,     %%xmm8, %%xmm9",
+               "andq $31, 128(%%rax);"
+               "vpsrad 128(%%rax), %%xmm8, %%xmm9")
+
+GEN_test_RandM(VPSLLQ_128,
+               "andl $63, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsllq %%xmm6,     %%xmm8, %%xmm9",
+               "andq $63, 128(%%rax);"
+               "vpsllq 128(%%rax), %%xmm8, %%xmm9")
+
+GEN_test_RandM(VPSRLQ_128,
+               "andl $63, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsrlq %%xmm6,     %%xmm8, %%xmm9",
+               "andq $63, 128(%%rax);"
+               "vpsrlq 128(%%rax), %%xmm8, %%xmm9")
+
+GEN_test_RandM(VROUNDPS_128_0x0,
+               "vroundps $0x0, %%xmm8,  %%xmm9",
+               "vroundps $0x0, (%%rax), %%xmm9")
+GEN_test_RandM(VROUNDPS_128_0x1,
+               "vroundps $0x1, %%xmm8,  %%xmm9",
+               "vroundps $0x1, (%%rax), %%xmm9")
+GEN_test_RandM(VROUNDPS_128_0x2,
+               "vroundps $0x2, %%xmm8,  %%xmm9",
+               "vroundps $0x2, (%%rax), %%xmm9")
+GEN_test_RandM(VROUNDPS_128_0x3,
+               "vroundps $0x3, %%xmm8,  %%xmm9",
+               "vroundps $0x3, (%%rax), %%xmm9")
+GEN_test_RandM(VROUNDPS_128_0x4,
+               "vroundps $0x4, %%xmm8,  %%xmm9",
+               "vroundps $0x4, (%%rax), %%xmm9")
+
+GEN_test_RandM(VROUNDPS_256_0x0,
+               "vroundps $0x0, %%ymm8,  %%ymm9",
+               "vroundps $0x0, (%%rax), %%ymm9")
+GEN_test_RandM(VROUNDPS_256_0x1,
+               "vroundps $0x1, %%ymm8,  %%ymm9",
+               "vroundps $0x1, (%%rax), %%ymm9")
+GEN_test_RandM(VROUNDPS_256_0x2,
+               "vroundps $0x2, %%ymm8,  %%ymm9",
+               "vroundps $0x2, (%%rax), %%ymm9")
+GEN_test_RandM(VROUNDPS_256_0x3,
+               "vroundps $0x3, %%ymm8,  %%ymm9",
+               "vroundps $0x3, (%%rax), %%ymm9")
+GEN_test_RandM(VROUNDPS_256_0x4,
+               "vroundps $0x4, %%ymm8,  %%ymm9",
+               "vroundps $0x4, (%%rax), %%ymm9")
+
+GEN_test_RandM(VROUNDPD_128_0x0,
+               "vroundpd $0x0, %%xmm8,  %%xmm9",
+               "vroundpd $0x0, (%%rax), %%xmm9")
+GEN_test_RandM(VROUNDPD_128_0x1,
+               "vroundpd $0x1, %%xmm8,  %%xmm9",
+               "vroundpd $0x1, (%%rax), %%xmm9")
+GEN_test_RandM(VROUNDPD_128_0x2,
+               "vroundpd $0x2, %%xmm8,  %%xmm9",
+               "vroundpd $0x2, (%%rax), %%xmm9")
+GEN_test_RandM(VROUNDPD_128_0x3,
+               "vroundpd $0x3, %%xmm8,  %%xmm9",
+               "vroundpd $0x3, (%%rax), %%xmm9")
+GEN_test_RandM(VROUNDPD_128_0x4,
+               "vroundpd $0x4, %%xmm8,  %%xmm9",
+               "vroundpd $0x4, (%%rax), %%xmm9")
+
+GEN_test_RandM(VROUNDPD_256_0x0,
+               "vroundpd $0x0, %%ymm8,  %%ymm9",
+               "vroundpd $0x0, (%%rax), %%ymm9")
+GEN_test_RandM(VROUNDPD_256_0x1,
+               "vroundpd $0x1, %%ymm8,  %%ymm9",
+               "vroundpd $0x1, (%%rax), %%ymm9")
+GEN_test_RandM(VROUNDPD_256_0x2,
+               "vroundpd $0x2, %%ymm8,  %%ymm9",
+               "vroundpd $0x2, (%%rax), %%ymm9")
+GEN_test_RandM(VROUNDPD_256_0x3,
+               "vroundpd $0x3, %%ymm8,  %%ymm9",
+               "vroundpd $0x3, (%%rax), %%ymm9")
+GEN_test_RandM(VROUNDPD_256_0x4,
+               "vroundpd $0x4, %%ymm8,  %%ymm9",
+               "vroundpd $0x4, (%%rax), %%ymm9")
+
+GEN_test_RandM(VPMADDWD_128,
+               "vpmaddwd %%xmm6,  %%xmm8, %%xmm7",
+               "vpmaddwd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VADDSUBPS_128,
+               "vaddsubps %%xmm6,  %%xmm8, %%xmm7",
+               "vaddsubps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VADDSUBPS_256,
+               "vaddsubps %%ymm6,  %%ymm8, %%ymm7",
+               "vaddsubps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VADDSUBPD_128,
+               "vaddsubpd %%xmm6,  %%xmm8, %%xmm7",
+               "vaddsubpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VADDSUBPD_256,
+               "vaddsubpd %%ymm6,  %%ymm8, %%ymm7",
+               "vaddsubpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VROUNDSS_0x0,
+               "vroundss $0x0, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundss $0x0, (%%rax), %%xmm6, %%xmm9")
+GEN_test_RandM(VROUNDSS_0x1,
+               "vroundss $0x1, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundss $0x1, (%%rax), %%xmm6, %%xmm9")
+GEN_test_RandM(VROUNDSS_0x2,
+               "vroundss $0x2, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundss $0x2, (%%rax), %%xmm6, %%xmm9")
+GEN_test_RandM(VROUNDSS_0x3,
+               "vroundss $0x3, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundss $0x3, (%%rax), %%xmm6, %%xmm9")
+GEN_test_RandM(VROUNDSS_0x4,
+               "vroundss $0x4, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundss $0x4, (%%rax), %%xmm6, %%xmm9")
+GEN_test_RandM(VROUNDSS_0x5,
+               "vroundss $0x5, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundss $0x5, (%%rax), %%xmm6, %%xmm9")
+
+GEN_test_RandM(VROUNDSD_0x0,
+               "vroundsd $0x0, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundsd $0x0, (%%rax), %%xmm6, %%xmm9")
+GEN_test_RandM(VROUNDSD_0x1,
+               "vroundsd $0x1, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundsd $0x1, (%%rax), %%xmm6, %%xmm9")
+GEN_test_RandM(VROUNDSD_0x2,
+               "vroundsd $0x2, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundsd $0x2, (%%rax), %%xmm6, %%xmm9")
+GEN_test_RandM(VROUNDSD_0x3,
+               "vroundsd $0x3, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundsd $0x3, (%%rax), %%xmm6, %%xmm9")
+GEN_test_RandM(VROUNDSD_0x4,
+               "vroundsd $0x4, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundsd $0x4, (%%rax), %%xmm6, %%xmm9")
+GEN_test_RandM(VROUNDSD_0x5,
+               "vroundsd $0x5, %%xmm8,  %%xmm6, %%xmm9",
+               "vroundsd $0x5, (%%rax), %%xmm6, %%xmm9")
+
+GEN_test_RandM(VPTEST_128_1,
+   "vptest %%xmm6,  %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vptest (%%rax), %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+/* Here we ignore the boilerplate-supplied data and try to do
+   x AND x   and   x AND NOT x.  Not a great test but better
+   than nothing. */
+GEN_test_RandM(VPTEST_128_2,
+   "vmovups %%xmm6, %%xmm8;"
+   "vptest %%xmm6,  %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vmovups (%%rax), %%xmm8;"
+   "vcmpeqpd %%xmm8,%%xmm8,%%xmm7;"
+   "vxorpd %%xmm8,%%xmm7,%%xmm8;"
+   "vptest (%%rax), %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+GEN_test_RandM(VPTEST_256_1,
+   "vptest %%ymm6,  %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vptest (%%rax), %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+/* Here we ignore the boilerplate-supplied data and try to do
+   x AND x   and   x AND NOT x.  Not a great test but better
+   than nothing. */
+GEN_test_RandM(VPTEST_256_2,
+   "vmovups %%ymm6, %%ymm8;"
+   "vptest %%ymm6,  %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vmovups (%%rax), %%ymm8;"
+   "vcmpeqpd %%xmm8,%%xmm8,%%xmm7;"
+   "subq $1024, %%rsp;"
+   "vmovups %%xmm7,512(%%rsp);"
+   "vmovups %%xmm7,528(%%rsp);"
+   "vmovups 512(%%rsp), %%ymm7;"
+   "addq $1024, %%rsp;"
+   "vxorpd %%ymm8,%%ymm7,%%ymm8;"
+   "vptest (%%rax), %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+
+/* VTESTPS/VTESTPD: test once with all-0 operands, once with
+   one all-0s and one all 1s, and once with random data. */
+
+GEN_test_RandM(VTESTPS_128_1,
+   "vtestps %%xmm6,  %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vtestps (%%rax), %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+/* Here we ignore the boilerplate-supplied data and try to do
+   x AND x   and   x AND NOT x.  Not a great test but better
+   than nothing. */
+GEN_test_RandM(VTESTPS_128_2,
+   "vmovups %%xmm6, %%xmm8;"
+   "vtestps %%xmm6,  %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vmovups (%%rax), %%xmm8;"
+   "vcmpeqpd %%xmm8,%%xmm8,%%xmm7;"
+   "vxorpd %%xmm8,%%xmm7,%%xmm8;"
+   "vtestps (%%rax), %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+GEN_test_RandM(VTESTPS_128_3,
+               "vtestps %%xmm8,  %%xmm9; "
+                  "pushfq; popq %%r14; andq $0x8D5, %%r14",
+               "vtestps (%%rax), %%xmm9; "
+                  "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+
+
+
+GEN_test_RandM(VTESTPS_256_1,
+   "vtestps %%ymm6,  %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vtestps (%%rax), %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+/* Here we ignore the boilerplate-supplied data and try to do
+   x AND x   and   x AND NOT x.  Not a great test but better
+   than nothing. */
+GEN_test_RandM(VTESTPS_256_2,
+   "vmovups %%ymm6, %%ymm8;"
+   "vtestps %%ymm6,  %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vmovups (%%rax), %%ymm8;"
+   "vcmpeqpd %%xmm8,%%xmm8,%%xmm7;"
+   "subq $1024, %%rsp;"
+   "vmovups %%xmm7,512(%%rsp);"
+   "vmovups %%xmm7,528(%%rsp);"
+   "vmovups 512(%%rsp), %%ymm7;"
+   "addq $1024, %%rsp;"
+   "vxorpd %%ymm8,%%ymm7,%%ymm8;"
+   "vtestps (%%rax), %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+GEN_test_RandM(VTESTPS_256_3,
+               "vtestps %%ymm8,  %%ymm9; "
+                  "pushfq; popq %%r14; andq $0x8D5, %%r14",
+               "vtestps (%%rax), %%ymm9; "
+                  "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+
+
+GEN_test_RandM(VTESTPD_128_1,
+   "vtestpd %%xmm6,  %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vtestpd (%%rax), %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+/* Here we ignore the boilerplate-supplied data and try to do
+   x AND x   and   x AND NOT x.  Not a great test but better
+   than nothing. */
+GEN_test_RandM(VTESTPD_128_2,
+   "vmovups %%xmm6, %%xmm8;"
+   "vtestpd %%xmm6,  %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vmovups (%%rax), %%xmm8;"
+   "vcmpeqpd %%xmm8,%%xmm8,%%xmm7;"
+   "vxorpd %%xmm8,%%xmm7,%%xmm8;"
+   "vtestpd (%%rax), %%xmm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+GEN_test_RandM(VTESTPD_128_3,
+               "vtestpd %%xmm8,  %%xmm9; "
+                  "pushfq; popq %%r14; andq $0x8D5, %%r14",
+               "vtestpd (%%rax), %%xmm9; "
+                  "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+
+
+
+GEN_test_RandM(VTESTPD_256_1,
+   "vtestpd %%ymm6,  %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vtestpd (%%rax), %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+/* Here we ignore the boilerplate-supplied data and try to do
+   x AND x   and   x AND NOT x.  Not a great test but better
+   than nothing. */
+GEN_test_RandM(VTESTPD_256_2,
+   "vmovups %%ymm6, %%ymm8;"
+   "vtestpd %%ymm6,  %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14",
+   "vmovups (%%rax), %%ymm8;"
+   "vcmpeqpd %%xmm8,%%xmm8,%%xmm7;"
+   "subq $1024, %%rsp;"
+   "vmovups %%xmm7,512(%%rsp);"
+   "vmovups %%xmm7,528(%%rsp);"
+   "vmovups 512(%%rsp), %%ymm7;"
+   "addq $1024, %%rsp;"
+   "vxorpd %%ymm8,%%ymm7,%%ymm8;"
+   "vtestpd (%%rax), %%ymm8; "
+      "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+GEN_test_RandM(VTESTPD_256_3,
+               "vtestpd %%ymm8,  %%ymm9; "
+                  "pushfq; popq %%r14; andq $0x8D5, %%r14",
+               "vtestpd (%%rax), %%ymm9; "
+                  "pushfq; popq %%r14; andq $0x8D5, %%r14")
+
+GEN_test_RandM(VBLENDVPS_128,
+               "vblendvps %%xmm9, %%xmm6,  %%xmm8, %%xmm7",
+               "vblendvps %%xmm9, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VBLENDVPS_256,
+               "vblendvps %%ymm9, %%ymm6,  %%ymm8, %%ymm7",
+               "vblendvps %%ymm9, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VBLENDVPD_128,
+               "vblendvpd %%xmm9, %%xmm6,  %%xmm8, %%xmm7",
+               "vblendvpd %%xmm9, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VBLENDVPD_256,
+               "vblendvpd %%ymm9, %%ymm6,  %%ymm8, %%ymm7",
+               "vblendvpd %%ymm9, (%%rax), %%ymm8, %%ymm7")
+
+
+GEN_test_RandM(VHADDPS_128,
+               "vhaddps %%xmm6,  %%xmm8, %%xmm7",
+               "vhaddps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VHADDPS_256,
+               "vhaddps %%ymm6,  %%ymm8, %%ymm7",
+               "vhaddps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VHADDPD_128,
+               "vhaddpd %%xmm6,  %%xmm8, %%xmm7",
+               "vhaddpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VHADDPD_256,
+               "vhaddpd %%ymm6,  %%ymm8, %%ymm7",
+               "vhaddpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VHSUBPS_128,
+               "vhsubps %%xmm6,  %%xmm8, %%xmm7",
+               "vhsubps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VHSUBPS_256,
+               "vhsubps %%ymm6,  %%ymm8, %%ymm7",
+               "vhsubps (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VHSUBPD_128,
+               "vhsubpd %%xmm6,  %%xmm8, %%xmm7",
+               "vhsubpd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VHSUBPD_256,
+               "vhsubpd %%ymm6,  %%ymm8, %%ymm7",
+               "vhsubpd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VEXTRACTPS_0x0,
+               "vextractps $0, %%xmm8, %%r14d",
+               "vextractps $0, %%xmm8, (%%rax)")
+
+GEN_test_RandM(VEXTRACTPS_0x1,
+               "vextractps $1, %%xmm8, %%r14d",
+               "vextractps $1, %%xmm8, (%%rax)")
+
+GEN_test_RandM(VEXTRACTPS_0x2,
+               "vextractps $2, %%xmm8, %%r14d",
+               "vextractps $2, %%xmm8, (%%rax)")
+
+GEN_test_RandM(VEXTRACTPS_0x3,
+               "vextractps $3, %%xmm8, %%r14d",
+               "vextractps $3, %%xmm8, (%%rax)")
+
+GEN_test_Monly(VLDDQU_128,
+               "vlddqu 1(%%rax), %%xmm8")
+
+GEN_test_Monly(VLDDQU_256,
+               "vlddqu 1(%%rax), %%ymm8")
+
+GEN_test_Monly(VMOVNTDQA_128,
+               "vmovntdqa (%%rax), %%xmm9")
+
+GEN_test_Monly(VMASKMOVDQU_128,
+               "xchgq %%rax, %%rdi;"
+               "vmaskmovdqu %%xmm8, %%xmm9;"
+               "xchgq %%rax, %%rdi")
+
+GEN_test_Ronly(VMOVMSKPD_128,
+               "vmovmskpd %%xmm9, %%r14d")
+
+GEN_test_Ronly(VMOVMSKPD_256,
+               "vmovmskpd %%ymm9, %%r14d")
+
+GEN_test_Ronly(VMOVMSKPS_128,
+               "vmovmskps %%xmm9, %%r14d")
+
+GEN_test_Ronly(VMOVMSKPS_256,
+               "vmovmskps %%ymm9, %%r14d")
+
+GEN_test_Monly(VMOVNTPD_128,
+               "vmovntpd %%xmm9, (%%rax)")
+
+GEN_test_Monly(VMOVNTPD_256,
+               "vmovntpd %%ymm9, (%%rax)")
+
+GEN_test_Monly(VMOVNTPS_128,
+               "vmovntps %%xmm9, (%%rax)")
+
+GEN_test_Monly(VMOVNTPS_256,
+               "vmovntps %%ymm9, (%%rax)")
+
+GEN_test_RandM(VPACKSSWB_128,
+               "vpacksswb %%xmm6,  %%xmm8, %%xmm7",
+               "vpacksswb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPAVGB_128,
+               "vpavgb %%xmm6,  %%xmm8, %%xmm7",
+               "vpavgb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPAVGW_128,
+               "vpavgw %%xmm6,  %%xmm8, %%xmm7",
+               "vpavgw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPADDSB_128,
+               "vpaddsb %%xmm6,  %%xmm8, %%xmm7",
+               "vpaddsb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPADDSW_128,
+               "vpaddsw %%xmm6,  %%xmm8, %%xmm7",
+               "vpaddsw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPHADDW_128,
+               "vphaddw %%xmm6,  %%xmm8, %%xmm7",
+               "vphaddw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPHADDD_128,
+               "vphaddd %%xmm6,  %%xmm8, %%xmm7",
+               "vphaddd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPHADDSW_128,
+               "vphaddsw %%xmm6,  %%xmm8, %%xmm7",
+               "vphaddsw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMADDUBSW_128,
+               "vpmaddubsw %%xmm6,  %%xmm8, %%xmm7",
+               "vpmaddubsw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPHSUBW_128,
+               "vphsubw %%xmm6,  %%xmm8, %%xmm7",
+               "vphsubw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPHSUBD_128,
+               "vphsubd %%xmm6,  %%xmm8, %%xmm7",
+               "vphsubd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPHSUBSW_128,
+               "vphsubsw %%xmm6,  %%xmm8, %%xmm7",
+               "vphsubsw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPABSB_128,
+               "vpabsb %%xmm6,  %%xmm7",
+               "vpabsb (%%rax), %%xmm7")
+
+GEN_test_RandM(VPABSW_128,
+               "vpabsw %%xmm6,  %%xmm7",
+               "vpabsw (%%rax), %%xmm7")
+
+GEN_test_RandM(VPMOVSXBQ_128,
+               "vpmovsxbq %%xmm6,  %%xmm8",
+               "vpmovsxbq (%%rax), %%xmm8")
+
+GEN_test_RandM(VPMOVSXWQ_128,
+               "vpmovsxwq %%xmm6,  %%xmm8",
+               "vpmovsxwq (%%rax), %%xmm8")
+
+GEN_test_RandM(VPACKUSDW_128,
+               "vpackusdw %%xmm6,  %%xmm8, %%xmm7",
+               "vpackusdw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMOVZXBQ_128,
+               "vpmovzxbq %%xmm6,  %%xmm8",
+               "vpmovzxbq (%%rax), %%xmm8")
+
+GEN_test_RandM(VPMOVZXWQ_128,
+               "vpmovzxwq %%xmm6,  %%xmm8",
+               "vpmovzxwq (%%rax), %%xmm8")
+
+GEN_test_RandM(VPMOVZXDQ_128,
+               "vpmovzxdq %%xmm6,  %%xmm8",
+               "vpmovzxdq (%%rax), %%xmm8")
+
+GEN_test_RandM(VMPSADBW_128_0x0,
+               "vmpsadbw $0, %%xmm6,  %%xmm8, %%xmm7",
+               "vmpsadbw $0, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VMPSADBW_128_0x1,
+               "vmpsadbw $1, %%xmm6,  %%xmm8, %%xmm7",
+               "vmpsadbw $1, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VMPSADBW_128_0x2,
+               "vmpsadbw $2, %%xmm6,  %%xmm8, %%xmm7",
+               "vmpsadbw $2, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VMPSADBW_128_0x3,
+               "vmpsadbw $3, %%xmm6,  %%xmm8, %%xmm7",
+               "vmpsadbw $3, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VMPSADBW_128_0x4,
+               "vmpsadbw $4, %%xmm6,  %%xmm8, %%xmm7",
+               "vmpsadbw $4, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VMPSADBW_128_0x5,
+               "vmpsadbw $5, %%xmm6,  %%xmm8, %%xmm7",
+               "vmpsadbw $5, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VMPSADBW_128_0x6,
+               "vmpsadbw $6, %%xmm6,  %%xmm8, %%xmm7",
+               "vmpsadbw $6, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VMPSADBW_128_0x7,
+               "vmpsadbw $7, %%xmm6,  %%xmm8, %%xmm7",
+               "vmpsadbw $7, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VMOVDDUP_YMMorMEM256_to_YMM,
+               "vmovddup %%ymm8,  %%ymm7",
+               "vmovddup (%%rax), %%ymm9")
+
+GEN_test_Monly(VMOVLPS_128_M64_XMM_XMM, "vmovlps (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Monly(VMOVLPS_128_XMM_M64, "vmovlps %%xmm7, (%%rax)")
+
+GEN_test_RandM(VRCPSS_128,
+               "vrcpss %%xmm6,  %%xmm8, %%xmm7",
+               "vrcpss (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VRCPPS_128,
+               "vrcpps %%xmm6,  %%xmm8",
+               "vrcpps (%%rax), %%xmm8")
+
+GEN_test_RandM(VRCPPS_256,
+               "vrcpps %%ymm6,  %%ymm8",
+               "vrcpps (%%rax), %%ymm8")
+
+GEN_test_RandM(VPSADBW_128,
+               "vpsadbw %%xmm6,  %%xmm8, %%xmm7",
+               "vpsadbw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSIGNB_128,
+               "vpsignb %%xmm6,  %%xmm8, %%xmm7",
+               "vpsignb (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSIGNW_128,
+               "vpsignw %%xmm6,  %%xmm8, %%xmm7",
+               "vpsignw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSIGND_128,
+               "vpsignd %%xmm6,  %%xmm8, %%xmm7",
+               "vpsignd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPMULHRSW_128,
+               "vpmulhrsw %%xmm6,  %%xmm8, %%xmm7",
+               "vpmulhrsw (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Monly(VBROADCASTF128,
+               "vbroadcastf128 (%%rax), %%ymm9")
+
+GEN_test_RandM(VPEXTRW_128_0x0,
+               "vpextrw $0x0, %%xmm7, %%r14d",
+               "vpextrw $0x0, %%xmm7, (%%rax)")
+GEN_test_RandM(VPEXTRW_128_0x1,
+               "vpextrw $0x1, %%xmm7, %%r14d",
+               "vpextrw $0x1, %%xmm7, (%%rax)")
+GEN_test_RandM(VPEXTRW_128_0x2,
+               "vpextrw $0x2, %%xmm7, %%r14d",
+               "vpextrw $0x2, %%xmm7, (%%rax)")
+GEN_test_RandM(VPEXTRW_128_0x3,
+               "vpextrw $0x3, %%xmm7, %%r14d",
+               "vpextrw $0x3, %%xmm7, (%%rax)")
+GEN_test_RandM(VPEXTRW_128_0x4,
+               "vpextrw $0x4, %%xmm7, %%r14d",
+               "vpextrw $0x4, %%xmm7, (%%rax)")
+GEN_test_RandM(VPEXTRW_128_0x5,
+               "vpextrw $0x5, %%xmm7, %%r14d",
+               "vpextrw $0x5, %%xmm7, (%%rax)")
+GEN_test_RandM(VPEXTRW_128_0x6,
+               "vpextrw $0x6, %%xmm7, %%r14d",
+               "vpextrw $0x6, %%xmm7, (%%rax)")
+GEN_test_RandM(VPEXTRW_128_0x7,
+               "vpextrw $0x7, %%xmm7, %%r14d",
+               "vpextrw $0x7, %%xmm7, (%%rax)")
+
+GEN_test_RandM(VAESENC,
+               "vaesenc %%xmm6,  %%xmm8, %%xmm7",
+               "vaesenc (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VAESENCLAST,
+               "vaesenclast %%xmm6,  %%xmm8, %%xmm7",
+               "vaesenclast (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VAESDEC,
+               "vaesdec %%xmm6,  %%xmm8, %%xmm7",
+               "vaesdec (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VAESDECLAST,
+               "vaesdeclast %%xmm6,  %%xmm8, %%xmm7",
+               "vaesdeclast (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VAESIMC,
+               "vaesimc %%xmm6,  %%xmm7",
+               "vaesimc (%%rax), %%xmm7")
+
+GEN_test_RandM(VAESKEYGENASSIST_0x00,
+               "vaeskeygenassist $0x00, %%xmm6,  %%xmm7",
+               "vaeskeygenassist $0x00, (%%rax), %%xmm7")
+GEN_test_RandM(VAESKEYGENASSIST_0x31,
+               "vaeskeygenassist $0x31, %%xmm6,  %%xmm7",
+               "vaeskeygenassist $0x31, (%%rax), %%xmm7")
+GEN_test_RandM(VAESKEYGENASSIST_0xB2,
+               "vaeskeygenassist $0xb2, %%xmm6,  %%xmm7",
+               "vaeskeygenassist $0xb2, (%%rax), %%xmm7")
+GEN_test_RandM(VAESKEYGENASSIST_0xFF,
+               "vaeskeygenassist $0xFF, %%xmm6,  %%xmm7",
+               "vaeskeygenassist $0xFF, (%%rax), %%xmm7")
+
+GEN_test_RandM(VPCLMULQDQ_0x00,
+               "vpclmulqdq $0x00, %%xmm6,  %%xmm8, %%xmm7",
+               "vpclmulqdq $0x00, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPCLMULQDQ_0x01,
+               "vpclmulqdq $0x01, %%xmm6,  %%xmm8, %%xmm7",
+               "vpclmulqdq $0x01, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPCLMULQDQ_0x10,
+               "vpclmulqdq $0x10, %%xmm6,  %%xmm8, %%xmm7",
+               "vpclmulqdq $0x10, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPCLMULQDQ_0x11,
+               "vpclmulqdq $0x11, %%xmm6,  %%xmm8, %%xmm7",
+               "vpclmulqdq $0x11, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPCLMULQDQ_0xFF,
+               "vpclmulqdq $0xFF, %%xmm6,  %%xmm8, %%xmm7",
+               "vpclmulqdq $0xFF, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VCMPSS_128_0x9,
+               "vcmpss $0x9, %%xmm6,  %%xmm8, %%xmm7",
+               "vcmpss $0x9, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_Monly(VMASKMOVPS_128_LoadForm,
+               "vmaskmovps (%%rax), %%xmm8, %%xmm7;"
+               "vxorps %%xmm6, %%xmm6, %%xmm6;"
+               "vmaskmovps (%%rax,%%rax,4), %%xmm6, %%xmm9")
+
+GEN_test_Monly(VMASKMOVPS_256_LoadForm,
+               "vmaskmovps (%%rax), %%ymm8, %%ymm7;"
+               "vxorps %%ymm6, %%ymm6, %%ymm6;"
+               "vmaskmovps (%%rax,%%rax,4), %%ymm6, %%ymm9")
+
+GEN_test_Monly(VMASKMOVPD_128_LoadForm,
+               "vmaskmovpd (%%rax), %%xmm8, %%xmm7;"
+               "vxorpd %%xmm6, %%xmm6, %%xmm6;"
+               "vmaskmovpd (%%rax,%%rax,4), %%xmm6, %%xmm9")
+
+GEN_test_Monly(VMASKMOVPD_256_LoadForm,
+               "vmaskmovpd (%%rax), %%ymm8, %%ymm7;"
+               "vxorpd %%ymm6, %%ymm6, %%ymm6;"
+               "vmaskmovpd (%%rax,%%rax,4), %%ymm6, %%ymm9")
+
+/* Comment duplicated above, for convenient reference:
+   Allowed operands in test insns:
+     Reg form:  %ymm6,  %ymm7, %ymm8, %ymm9 and %r14.
+     Mem form:  (%rax), %ymm7, %ymm8, %ymm9 and %r14.
+   Imm8 etc fields are also allowed, where they make sense.
+*/
+
+#define N_DEFAULT_ITERS 3
+
+// Do the specified test some number of times
+#define DO_N(_iters, _testfn) \
+   do { int i; for (i = 0; i < (_iters); i++) { test_##_testfn(); } } while (0)
+
+// Do the specified test the default number of times
+#define DO_D(_testfn) DO_N(N_DEFAULT_ITERS, _testfn)
+
+
+int main ( void )
+{
+   DO_D( VMOVUPD_EtoG_256 );
+   DO_D( VMOVUPD_GtoE_256 );
+   DO_D( VPSUBW_128 );
+   DO_D( VPSUBQ_128 );
+   DO_D( VPADDQ_128 );
+   DO_D( VPINSRQ_128 );
+   DO_D( VUCOMISS_128 );
+   DO_D( VUCOMISD_128 );
+   DO_D( VCVTPS2PD_128 );
+   DO_D( VANDNPD_128 );
+   DO_D( VORPD_128 );
+   DO_D( VXORPD_128 );
+   DO_D( VXORPS_128 );
+   DO_D( VMULSD_128 );
+   DO_D( VADDSD_128 );
+   DO_D( VMINSD_128 );
+   DO_D( VSUBSD_128 );
+   DO_D( VDIVSD_128 );
+   DO_D( VMAXSD_128 );
+   DO_D( VPSHUFD_0x39_128 );
+   DO_D( VPCMPEQD_128 );
+   DO_D( VPEXTRD_128_0x3 );
+   DO_D( VPEXTRD_128_0x0 );
+   DO_D( VINSERTF128_0x0 );
+   DO_D( VINSERTF128_0x1 );
+   DO_D( VEXTRACTF128_0x0 );
+   DO_D( VEXTRACTF128_0x1 );
+   DO_D( VCVTPD2PS_128 );
+   /* Test all CMPSS variants; this code is tricky. */
+   DO_D( VCMPSS_128_0x0 );
+   DO_D( VCMPSS_128_0x1 );
+   DO_D( VCMPSS_128_0x2 );
+   DO_D( VCMPSS_128_0x3 );
+   DO_D( VCMPSS_128_0x4 );
+   DO_D( VCMPSS_128_0x5 );
+   DO_D( VCMPSS_128_0x6 );
+   DO_D( VCMPSS_128_0x7 );
+   DO_D( VCMPSS_128_0x8 );
+   DO_D( VCMPSS_128_0xA );
+   DO_D( VCMPSS_128_0xC );
+   DO_D( VCMPSS_128_0xC );
+   DO_D( VCMPSS_128_0xD );
+   DO_D( VCMPSS_128_0xE );
+   DO_D( VCMPSS_128_0x11 );
+   DO_D( VCMPSS_128_0x12);
+   DO_D( VCMPSS_128_0x16 );
+   DO_D( VCMPSS_128_0x1E );
+   DO_D( VMOVDDUP_XMMorMEM64_to_XMM );
+   DO_D( VMOVD_IREGorMEM32_to_XMM );
+   DO_D( VMOVQ_XMM_MEM64 );
+   DO_D( VMOVDQA_GtoE_256 );
+   DO_D( VMOVDQA_GtoE_128 );
+   DO_D( VMOVDQU_GtoE_128 );
+   DO_D( VMOVDQA_EtoG_256 );
+   DO_D( VMOVDQA_EtoG_128 );
+   DO_D( VMOVDQU_EtoG_128 );
+   DO_D( VMOVAPD_GtoE_128 );
+   DO_D( VMOVAPD_GtoE_256 );
+   DO_D( VMOVAPS_GtoE_128 );
+   DO_D( VMOVAPS_GtoE_256 );
+   DO_D( VMOVAPS_EtoG_128 );
+   DO_D( VMOVAPD_EtoG_256 );
+   DO_D( VMOVAPD_EtoG_128 );
+   DO_D( VMOVUPD_GtoE_128 );
+   DO_D( VMOVSS_XMM_M32 );
+   DO_D( VMOVSD_XMM_M64 );
+   DO_D( VMOVSS_M64_XMM );
+   DO_D( VMOVSD_M64_XMM );
+   DO_D( VINSERTPS_0x39_128 );
+   DO_D( VPUNPCKLDQ_128 );
+   DO_D( VPACKSSDW_128 );
+   DO_D( VPADDW_128 );
+   DO_D( VPSRLW_0x05_128 );
+   DO_D( VPSLLW_0x05_128 );
+   DO_D( VPUNPCKLQDQ_128 );
+   DO_D( VPINSRD_128 );
+   DO_D( VMOVD_XMM_to_MEM32 );
+   DO_D( VPANDN_128 );
+   DO_D( VPSLLDQ_0x05_128 );
+   DO_D( VPSRLDQ_0x05_128 );
+   DO_D( VPSUBUSB_128 );
+   DO_D( VPSUBSB_128 );
+   DO_D( VPSLLD_0x05_128 );
+   DO_D( VPSRLD_0x05_128 );
+   DO_D( VPSRAD_0x05_128 );
+   DO_D( VPUNPCKLWD_128 );
+   DO_D( VPUNPCKHWD_128 );
+   DO_D( VPADDUSB_128 );
+   DO_D( VPMULHUW_128 );
+   DO_D( VPADDUSW_128 );
+   DO_D( VPMULLW_128 );
+   DO_D( VPSHUFHW_0x39_128 );
+   DO_D( VPSHUFLW_0x39_128 );
+   DO_D( VCVTPS2DQ_128 );
+   DO_D( VSUBPS_128 );
+   DO_D( VADDPS_128 );
+   DO_D( VMULPS_128 );
+   DO_D( VMAXPS_128 );
+   DO_D( VMINPS_128 );
+   DO_D( VSHUFPS_0x39_128 );
+   DO_D( VPCMPEQB_128 );
+   DO_D( VMOVHPD_128_StoreForm );
+   DO_D( VPAND_128 );
+   DO_D( VPMOVMSKB_128 );
+   DO_D( VCVTTSS2SI_64 );
+   DO_D( VPACKUSWB_128 );
+   DO_D( VCVTSS2SD_128 );
+   DO_D( VCVTSD2SS_128 );
+   DO_D( VMOVD_XMM_to_IREG32 );
+   DO_D( VPCMPESTRM_0x45_128 );
+   DO_D( VMOVQ_IREGorMEM64_to_XMM );
+   DO_D( VMOVUPS_XMM_to_XMMorMEM );
+   DO_D( VMOVNTDQ_128 );
+   DO_D( VMOVLHPS_128 );
+   DO_D( VPABSD_128 );
+   DO_D( VMOVHLPS_128 );
+   DO_D( VMOVQ_XMM_to_IREG64 );
+   DO_D( VMOVQ_XMMorMEM64_to_XMM );
+   DO_D( VCVTTSS2SI_32 );
+   DO_D( VPUNPCKLBW_128 );
+   DO_D( VPUNPCKHBW_128 );
+   DO_D( VMULSS_128 );
+   DO_D( VSUBSS_128 );
+   DO_D( VADDSS_128 );
+   DO_D( VDIVSS_128 );
+   DO_D( VUNPCKLPS_128 );
+   DO_D( VCVTSI2SS_128 );
+   DO_D( VANDPS_128 );
+   DO_D( VMINSS_128 );
+   DO_D( VMAXSS_128 );
+   DO_D( VANDNPS_128 );
+   DO_D( VORPS_128 );
+   DO_D( VSQRTSD_128 );
+   /* Test all CMPSS variants; this code is tricky. */
+   DO_D( VCMPSD_128_0x0 );
+   DO_D( VCMPSD_128_0x1 );
+   DO_D( VCMPSD_128_0x2 );
+   DO_D( VCMPSD_128_0x3 );
+   DO_D( VCMPSD_128_0x4 );
+   DO_D( VCMPSD_128_0x5 );
+   DO_D( VCMPSD_128_0x6 );
+   DO_D( VCMPSD_128_0x7 );
+   DO_D( VCMPSD_128_0x8 );
+   DO_D( VCMPSD_128_0xA );
+   DO_D( VCMPSD_128_0xC );
+   DO_D( VCMPSD_128_0xD );
+   DO_D( VCMPSD_128_0xE );
+   DO_D( VCMPSD_128_0x11 );
+   DO_D( VCMPSD_128_0x12 );
+   DO_D( VCMPSD_128_0x16 );
+   DO_D( VCMPSD_128_0x1E );
+   DO_D( VPSHUFB_128 );
+   DO_D( VCVTTSD2SI_32 );
+   DO_D( VCVTTSD2SI_64 );
+   DO_D( VCVTSI2SS_64 );
+   DO_D( VCVTSI2SD_64 );
+   DO_D( VCVTSI2SD_32 );
+   DO_D( VPOR_128 );
+   DO_D( VPXOR_128 );
+   DO_D( VPSUBB_128 );
+   DO_D( VPSUBD_128 );
+   DO_D( VPADDD_128 );
+   DO_D( VPMOVZXBW_128 );
+   DO_D( VPMOVZXWD_128 );
+   DO_D( VPBLENDVB_128 );
+   DO_D( VPMINSD_128 );
+   DO_D( VPMAXSD_128 );
+   DO_D( VANDPD_128 );
+   DO_D( VMULPD_256 );
+   DO_D( VMOVUPD_EtoG_128 );
+   DO_D( VADDPD_256 );
+   DO_D( VSUBPD_256 );
+   DO_D( VDIVPD_256 );
+   DO_D( VPCMPEQQ_128 );
+   DO_D( VSUBPD_128 );
+   DO_D( VADDPD_128 );
+   DO_D( VUNPCKLPD_128 );
+   DO_D( VUNPCKHPD_128 );
+   DO_D( VUNPCKHPS_128 );
+   DO_D( VMOVUPS_EtoG_128 );
+   DO_D( VADDPS_256 );
+   DO_D( VSUBPS_256 );
+   DO_D( VMULPS_256 );
+   DO_D( VDIVPS_256 );
+   DO_D( VPCMPGTQ_128 );
+   DO_D( VPEXTRQ_128_0x0 );
+   DO_D( VPEXTRQ_128_0x1 );
+   DO_D( VPSRLQ_0x05_128 );
+   DO_D( VPMULUDQ_128 );
+   DO_D( VPSLLQ_0x05_128 );
+   DO_D( VPMAXUD_128 );
+   DO_D( VPMINUD_128 );
+   DO_D( VPMULLD_128 );
+   DO_D( VPMAXUW_128 );
+   DO_D( VPEXTRW_128_EregOnly_toG_0x0 );
+   DO_D( VPEXTRW_128_EregOnly_toG_0x7 );
+   DO_D( VPMINUW_128 );
+   DO_D( VPHMINPOSUW_128 );
+   DO_D( VPMAXSW_128 );
+   DO_D( VPMINSW_128 );
+   DO_D( VPMAXUB_128 );
+   DO_D( VPEXTRB_GtoE_128_0x0 );
+   DO_D( VPEXTRB_GtoE_128_0x1 );
+   DO_D( VPEXTRB_GtoE_128_0x2 );
+   DO_D( VPEXTRB_GtoE_128_0x3 );
+   DO_D( VPEXTRB_GtoE_128_0x4 );
+   DO_D( VPEXTRB_GtoE_128_0x9 );
+   DO_D( VPEXTRB_GtoE_128_0xE );
+   DO_D( VPEXTRB_GtoE_128_0xF );
+   DO_D( VPMINUB_128 );
+   DO_D( VPMAXSB_128 );
+   DO_D( VPMINSB_128 );
+   DO_D( VPERM2F128_0x00 );
+   DO_D( VPERM2F128_0xFF );
+   DO_D( VPERM2F128_0x30 );
+   DO_D( VPERM2F128_0x21 );
+   DO_D( VPERM2F128_0x12 );
+   DO_D( VPERM2F128_0x03 );
+   DO_D( VPERM2F128_0x85 );
+   DO_D( VPERM2F128_0x5A );
+   DO_D( VPERMILPD_256_0x0 );
+   DO_D( VPERMILPD_256_0xF );
+   DO_D( VPERMILPD_256_0xA );
+   DO_D( VPERMILPD_256_0x5 );
+   DO_D( VPERMILPD_128_0x0 );
+   DO_D( VPERMILPD_128_0x3 );
+   DO_D( VUNPCKLPD_256 );
+   DO_D( VUNPCKHPD_256 );
+   DO_D( VSHUFPS_0x39_256 );
+   DO_D( VUNPCKLPS_256 );
+   DO_D( VUNPCKHPS_256 );
+   DO_D( VXORPD_256 );
+   DO_D( VBROADCASTSD_256 );
+   DO_D( VCMPPD_128_0x4 );
+   DO_D( VCVTDQ2PD_128 );
+   DO_D( VDIVPD_128 );
+   DO_D( VANDPD_256 );
+   DO_D( VPMOVSXBW_128 );
+   DO_D( VPSUBUSW_128 );
+   DO_D( VPSUBSW_128 );
+   DO_D( VPCMPEQW_128 );
+   DO_D( VPADDB_128 );
+   DO_D( VMOVAPS_EtoG_256 );
+   DO_D( VCVTDQ2PD_256 );
+   DO_D( VMOVHPD_128_LoadForm );
+   DO_D( VCVTPD2PS_256 );
+   DO_D( VPUNPCKHDQ_128 );
+   DO_D( VBROADCASTSS_128 );
+   DO_D( VPMOVSXDQ_128 );
+   DO_D( VPMOVSXWD_128 );
+   DO_D( VDIVPS_128 );
+   DO_D( VANDPS_256 );
+   DO_D( VXORPS_256 );
+   DO_D( VORPS_256 );
+   DO_D( VANDNPD_256 );
+   DO_D( VANDNPS_256 );
+   DO_D( VORPD_256 );
+   DO_D( VPERMILPS_256_0x0F );
+   DO_D( VPERMILPS_256_0xFA );
+   DO_D( VPERMILPS_256_0xA3 );
+   DO_D( VPERMILPS_256_0x5A );
+   DO_D( VPMULHW_128 );
+   DO_D( VPUNPCKHQDQ_128 );
+   DO_D( VPSRAW_0x05_128 );
+   DO_D( VPCMPGTD_128 );
+   DO_D( VPMOVZXBD_128 );
+   DO_D( VPMOVSXBD_128 );
+   DO_D( VPINSRB_128_1of3 );
+   DO_D( VPINSRB_128_2of3 );
+   DO_D( VPINSRB_128_3of3 );
+   DO_D( VCOMISD_128 );
+   DO_D( VCOMISS_128 );
+   DO_D( VMOVUPS_YMM_to_YMMorMEM );
+   DO_D( VDPPD_128_1of4 );
+   DO_D( VDPPD_128_2of4 );
+   DO_D( VDPPD_128_3of4 );
+   DO_D( VDPPD_128_4of4 );
+   DO_D( VPINSRW_128_1of4 );
+   DO_D( VPINSRW_128_2of4 );
+   DO_D( VPINSRW_128_3of4 );
+   DO_D( VPINSRW_128_4of4 );
+   DO_D( VBROADCASTSS_256 );
+   DO_D( VPALIGNR_128_1of3 );
+   DO_D( VPALIGNR_128_2of3 );
+   DO_D( VPALIGNR_128_3of3 );
+   DO_D( VMOVSD_REG_XMM );
+   DO_D( VMOVSS_REG_XMM );
+   DO_D( VMOVLPD_128_M64_XMM_XMM );
+   DO_D( VMOVLPD_128_XMM_M64 );
+   DO_D( VSHUFPD_128_1of2 );
+   DO_D( VSHUFPD_128_2of2 );
+   DO_D( VSHUFPD_256_1of2 );
+   DO_D( VSHUFPD_256_2of2 );
+   DO_D( VPERMILPS_128_0x00 );
+   DO_D( VPERMILPS_128_0xFE );
+   DO_D( VPERMILPS_128_0x30 );
+   DO_D( VPERMILPS_128_0x21 );
+   DO_D( VPERMILPS_128_0xD7 );
+   DO_D( VPERMILPS_128_0xB5 );
+   DO_D( VPERMILPS_128_0x85 );
+   DO_D( VPERMILPS_128_0x29 );
+   DO_D( VBLENDPS_128_1of3 );
+   DO_D( VBLENDPS_128_2of3 );
+   DO_D( VBLENDPS_128_3of3 );
+   DO_D( VBLENDPD_128_1of2 );
+   DO_D( VBLENDPD_128_2of2 );
+   DO_D( VBLENDPD_256_1of3 );
+   DO_D( VBLENDPD_256_2of3 );
+   DO_D( VBLENDPD_256_3of3 );
+   DO_D( VPBLENDW_128_0x00 );
+   DO_D( VPBLENDW_128_0xFE );
+   DO_D( VPBLENDW_128_0x30 );
+   DO_D( VPBLENDW_128_0x21 );
+   DO_D( VPBLENDW_128_0xD7 );
+   DO_D( VPBLENDW_128_0xB5 );
+   DO_D( VPBLENDW_128_0x85 );
+   DO_D( VPBLENDW_128_0x29 );
+   DO_D( VMOVUPS_EtoG_256 );
+   DO_D( VSQRTSS_128 );
+   DO_D( VSQRTPS_128 );
+   DO_D( VSQRTPS_256 );
+   DO_D( VSQRTPD_128 );
+   DO_D( VSQRTPD_256 );
+   DO_D( VRSQRTSS_128 );
+   DO_D( VRSQRTPS_128 );
+   DO_D( VRSQRTPS_256 );
+   DO_D( VMOVDQU_GtoE_256 );
+   DO_D( VCVTPS2PD_256 );
+   DO_D( VCVTTPS2DQ_128 );
+   DO_D( VCVTTPS2DQ_256 );
+   DO_D( VCVTDQ2PS_128 );
+   DO_D( VCVTDQ2PS_256 );
+   DO_D( VCVTTPD2DQ_128 );
+   DO_D( VCVTTPD2DQ_256 );
+   DO_D( VCVTPD2DQ_128 );
+   DO_D( VCVTPD2DQ_256 );
+   DO_D( VMOVSLDUP_128 );
+   DO_D( VMOVSLDUP_256 );
+   DO_D( VMOVSHDUP_128 );
+   DO_D( VMOVSHDUP_256 );
+   DO_D( VPERMILPS_VAR_128 );
+   DO_D( VPERMILPD_VAR_128 );
+   DO_D( VPERMILPS_VAR_256 );
+   DO_D( VPERMILPD_VAR_256 );
+   DO_D( VPSLLW_128 );
+   DO_D( VPSRLW_128 );
+   DO_D( VPSRAW_128 );
+   DO_D( VPSLLD_128 );
+   DO_D( VPSRLD_128 );
+   DO_D( VPSRAD_128 );
+   DO_D( VPSLLQ_128 );
+   DO_D( VPSRLQ_128 );
+   DO_D( VROUNDPS_128_0x0 );
+   DO_D( VROUNDPS_128_0x1 );
+   DO_D( VROUNDPS_128_0x2 );
+   DO_D( VROUNDPS_128_0x3 );
+   DO_D( VROUNDPS_128_0x4 );
+   DO_D( VROUNDPS_256_0x0 );
+   DO_D( VROUNDPS_256_0x1 );
+   DO_D( VROUNDPS_256_0x2 );
+   DO_D( VROUNDPS_256_0x3 );
+   DO_D( VROUNDPS_256_0x4 );
+   DO_D( VROUNDPD_128_0x0 );
+   DO_D( VROUNDPD_128_0x1 );
+   DO_D( VROUNDPD_128_0x2 );
+   DO_D( VROUNDPD_128_0x3 );
+   DO_D( VROUNDPD_128_0x4 );
+   DO_D( VROUNDPD_256_0x0 );
+   DO_D( VROUNDPD_256_0x1 );
+   DO_D( VROUNDPD_256_0x2 );
+   DO_D( VROUNDPD_256_0x3 );
+   DO_D( VROUNDPD_256_0x4 );
+   DO_D( VROUNDSS_0x0 );
+   DO_D( VROUNDSS_0x1 );
+   DO_D( VROUNDSS_0x2 );
+   DO_D( VROUNDSS_0x3 );
+   DO_D( VROUNDSS_0x4 );
+   DO_D( VROUNDSS_0x5 );
+   DO_D( VROUNDSD_0x0 );
+   DO_D( VROUNDSD_0x1 );
+   DO_D( VROUNDSD_0x2 );
+   DO_D( VROUNDSD_0x3 );
+   DO_D( VROUNDSD_0x4 );
+   DO_D( VROUNDSD_0x5 );
+   DO_D( VPTEST_128_1 );
+   DO_D( VPTEST_128_2 );
+   DO_D( VPTEST_256_1 );
+   DO_D( VPTEST_256_2 );
+   DO_D( VTESTPS_128_1 );
+   DO_D( VTESTPS_128_2 );
+   DO_N( 10, VTESTPS_128_3 );
+   DO_D( VTESTPS_256_1 );
+   DO_D( VTESTPS_256_2 );
+   DO_N( 10, VTESTPS_256_3 );
+   DO_D( VTESTPD_128_1 );
+   DO_D( VTESTPD_128_2 );
+   DO_N( 10, VTESTPD_128_3 );
+   DO_D( VTESTPD_256_1 );
+   DO_D( VTESTPD_256_2 );
+   DO_N( 10, VTESTPD_256_3 );
+   DO_D( VBLENDVPS_128 );
+   DO_D( VBLENDVPS_256 );
+   DO_D( VBLENDVPD_128 );
+   DO_D( VBLENDVPD_256 );
+   DO_D( VPMULDQ_128 );
+   DO_D( VCMPPD_256_0x4 );
+   DO_D( VCMPPS_128_0x4 );
+   DO_D( VCMPPS_256_0x4 );
+   DO_D( VPCMPGTB_128 );
+   DO_D( VPCMPGTW_128 );
+   DO_D( VPMADDWD_128 );
+   DO_D( VADDSUBPS_128 );
+   DO_D( VADDSUBPS_256 );
+   DO_D( VADDSUBPD_128 );
+   DO_D( VADDSUBPD_256 );
+   DO_D( VCVTSS2SI_64 );
+   DO_D( VCVTSS2SI_32 );
+   DO_D( VCVTSD2SI_32 );
+   DO_D( VCVTSD2SI_64 );
+   DO_D( VDPPS_128_1of4 );
+   DO_D( VDPPS_128_2of4 );
+   DO_D( VDPPS_128_3of4 );
+   DO_D( VDPPS_128_4of4 );
+   DO_D( VDPPS_256_1of4 );
+   DO_D( VDPPS_256_2of4 );
+   DO_D( VDPPS_256_3of4 );
+   DO_D( VDPPS_256_4of4 );
+   DO_D( VHADDPS_128 );
+   DO_D( VHADDPS_256 );
+   DO_D( VHADDPD_128 );
+   DO_D( VHADDPD_256 );
+   DO_D( VHSUBPS_128 );
+   DO_D( VHSUBPS_256 );
+   DO_D( VHSUBPD_128 );
+   DO_D( VHSUBPD_256 );
+   DO_D( VEXTRACTPS_0x0 );
+   DO_D( VEXTRACTPS_0x1 );
+   DO_D( VEXTRACTPS_0x2 );
+   DO_D( VEXTRACTPS_0x3 );
+   DO_D( VLDDQU_128 );
+   DO_D( VLDDQU_256 );
+   DO_D( VMAXPS_256 );
+   DO_D( VMAXPD_128 );
+   DO_D( VMAXPD_256 );
+   DO_D( VMINPS_256 );
+   DO_D( VMINPD_128 );
+   DO_D( VMINPD_256 );
+   DO_D( VMOVHPS_128_StoreForm );
+   DO_D( VMOVNTDQ_256 );
+   DO_D( VMOVHPS_128_LoadForm );
+   DO_D( VMOVNTDQA_128 );
+   DO_D( VMASKMOVDQU_128 );
+   DO_D( VMOVMSKPD_128 );
+   DO_D( VMOVMSKPD_256 );
+   DO_D( VMOVMSKPS_128 );
+   DO_D( VMOVMSKPS_256 );
+   DO_D( VMOVNTPD_128 );
+   DO_D( VMOVNTPD_256 );
+   DO_D( VMOVNTPS_128 );
+   DO_D( VMOVNTPS_256 );
+   DO_D( VPACKSSWB_128 );
+   DO_D( VPAVGB_128 );
+   DO_D( VPAVGW_128 );
+   DO_D( VPADDSB_128 );
+   DO_D( VPADDSW_128 );
+   DO_D( VPHADDW_128 );
+   DO_D( VPHADDD_128 );
+   DO_D( VPHADDSW_128 );
+   DO_D( VPMADDUBSW_128 );
+   DO_D( VPHSUBW_128 );
+   DO_D( VPHSUBD_128 );
+   DO_D( VPHSUBSW_128 );
+   DO_D( VPABSB_128 );
+   DO_D( VPABSW_128 );
+   DO_D( VPMOVSXBQ_128 );
+   DO_D( VPMOVSXWQ_128 );
+   DO_D( VPACKUSDW_128 );
+   DO_D( VPMOVZXBQ_128 );
+   DO_D( VPMOVZXWQ_128 );
+   DO_D( VPMOVZXDQ_128 );
+   DO_D( VMPSADBW_128_0x0 );
+   DO_D( VMPSADBW_128_0x1 );
+   DO_D( VMPSADBW_128_0x2 );
+   DO_D( VMPSADBW_128_0x3 );
+   DO_D( VMPSADBW_128_0x4 );
+   DO_D( VMPSADBW_128_0x5 );
+   DO_D( VMPSADBW_128_0x6 );
+   DO_D( VMPSADBW_128_0x7 );
+   DO_D( VMOVDDUP_YMMorMEM256_to_YMM );
+   DO_D( VMOVLPS_128_M64_XMM_XMM );
+   DO_D( VMOVLPS_128_XMM_M64 );
+   DO_D( VRCPSS_128 );
+   DO_D( VRCPPS_128 );
+   DO_D( VRCPPS_256 );
+   DO_D( VPSADBW_128 );
+   DO_D( VPSIGNB_128 );
+   DO_D( VPSIGNW_128 );
+   DO_D( VPSIGND_128 );
+   DO_D( VPMULHRSW_128 );
+   DO_D( VBROADCASTF128 );
+   DO_D( VPEXTRW_128_0x0 );
+   DO_D( VPEXTRW_128_0x1 );
+   DO_D( VPEXTRW_128_0x2 );
+   DO_D( VPEXTRW_128_0x3 );
+   DO_D( VPEXTRW_128_0x4 );
+   DO_D( VPEXTRW_128_0x5 );
+   DO_D( VPEXTRW_128_0x6 );
+   DO_D( VPEXTRW_128_0x7 );
+   DO_D( VAESENC );
+   DO_D( VAESENCLAST );
+   DO_D( VAESDEC );
+   DO_D( VAESDECLAST );
+   DO_D( VAESIMC );
+   DO_D( VAESKEYGENASSIST_0x00 );
+   DO_D( VAESKEYGENASSIST_0x31 );
+   DO_D( VAESKEYGENASSIST_0xB2 );
+   DO_D( VAESKEYGENASSIST_0xFF );
+   DO_D( VPCLMULQDQ_0x00 );
+   DO_D( VPCLMULQDQ_0x01 );
+   DO_D( VPCLMULQDQ_0x10 );
+   DO_D( VPCLMULQDQ_0x11 );
+   DO_D( VPCLMULQDQ_0xFF );
+   DO_D( VCMPSS_128_0x9 );
+   DO_D( VMASKMOVPS_128_LoadForm );
+   DO_D( VMASKMOVPS_256_LoadForm );
+   DO_D( VMASKMOVPD_128_LoadForm );
+   DO_D( VMASKMOVPD_256_LoadForm );
+   return 0;
+}
+
diff --git a/none/tests/amd64/avx-1.stderr.exp b/none/tests/amd64/avx-1.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/amd64/avx-1.stderr.exp
diff --git a/none/tests/amd64/avx-1.stdout.exp b/none/tests/amd64/avx-1.stdout.exp
new file mode 100644
index 0000000..2d8e114
--- /dev/null
+++ b/none/tests/amd64/avx-1.stdout.exp
@@ -0,0 +1,43281 @@
+VMOVUPD_EtoG_256(reg)
+  before
+    7d6528c5fa956a0d.69c3e9a6af27d13b.5175e39d19c9ca1e.98f24a4984175700
+    b6d2fb5aa7bc5127.fe9915e556a044b2.60b160857d45c484.47b8d8c0eeef1e50
+    065d77195d623e6b.842adc6450659e17.19a348215c3a67fd.399182c2dbcc2d38
+    cb509970b8136c85.d740b80eb7839b97.d89998df5035ed36.4a4bc43968bc40e5
+    56b01a12b0ca1583
+  after
+    7d6528c5fa956a0d.69c3e9a6af27d13b.5175e39d19c9ca1e.98f24a4984175700
+    b6d2fb5aa7bc5127.fe9915e556a044b2.60b160857d45c484.47b8d8c0eeef1e50
+    065d77195d623e6b.842adc6450659e17.19a348215c3a67fd.399182c2dbcc2d38
+    065d77195d623e6b.842adc6450659e17.19a348215c3a67fd.399182c2dbcc2d38
+    56b01a12b0ca1583
+VMOVUPD_EtoG_256(mem)
+  before
+    398e0039cf03663d.5ff85bc9535c191f.d3a727d1a705f65d.f9dd4a29f8c093db
+    cfaff39be272ef40.20a1bb92cbc97fe8.542da4983df76c96.d8bc5c6dee699597
+    f4e06e2205236eb7.6897b536bbe4da8a.369dab4f9465b86e.d182c916cebc2e17
+    84ededbc53239dcf.95264321bf3b68b2.55c2b9e2c95c9810.407b8d9035449b06
+    81f2a547be8d1811
+  after
+    398e0039cf03663d.5ff85bc9535c191f.d3a727d1a705f65d.f9dd4a29f8c093db
+    cfaff39be272ef40.20a1bb92cbc97fe8.542da4983df76c96.d8bc5c6dee699597
+    398e0039cf03663d.5ff85bc9535c191f.d3a727d1a705f65d.f9dd4a29f8c093db
+    84ededbc53239dcf.95264321bf3b68b2.55c2b9e2c95c9810.407b8d9035449b06
+    81f2a547be8d1811
+
+VMOVUPD_EtoG_256(reg)
+  before
+    f0350ca70523e0e4.5ba1ec54e87d39b3.019963bf7459630b.8d69483df7e8c6a9
+    e98ebd1ca893312a.54cae7d5e13dfe91.0a3e0f7c75cb0842.b95ed64d3b13ff64
+    c84ab71340684590.4d325b2d5a70a792.0a5f45c55f1c9202.b76ddefcb0ebfe6e
+    e9b5f3f66b2e58c1.21a6c3476d21f1e5.5f490104ced83ff8.6262dd37727c80f3
+    96084deb9ed0411e
+  after
+    f0350ca70523e0e4.5ba1ec54e87d39b3.019963bf7459630b.8d69483df7e8c6a9
+    e98ebd1ca893312a.54cae7d5e13dfe91.0a3e0f7c75cb0842.b95ed64d3b13ff64
+    c84ab71340684590.4d325b2d5a70a792.0a5f45c55f1c9202.b76ddefcb0ebfe6e
+    c84ab71340684590.4d325b2d5a70a792.0a5f45c55f1c9202.b76ddefcb0ebfe6e
+    96084deb9ed0411e
+VMOVUPD_EtoG_256(mem)
+  before
+    2e2dac0350f6fd1c.a81b6e33c572a86a.acf29b0f395c98b4.63483da65c8c49d0
+    089b756aa3f77018.61c82534e9bf6f37.c9e25f72d82e582b.73a8f718a8c3ec35
+    ff1f240eb3e1553f.6f07136773a2ead3.56428c5a66a2ec77.ecb42ac54b0966d4
+    ee8536da9dbf68bc.3026343700a654eb.2ddd9db4ffc411c4.28bad218e4ebf159
+    8404eb7f0cf4ca6f
+  after
+    2e2dac0350f6fd1c.a81b6e33c572a86a.acf29b0f395c98b4.63483da65c8c49d0
+    089b756aa3f77018.61c82534e9bf6f37.c9e25f72d82e582b.73a8f718a8c3ec35
+    2e2dac0350f6fd1c.a81b6e33c572a86a.acf29b0f395c98b4.63483da65c8c49d0
+    ee8536da9dbf68bc.3026343700a654eb.2ddd9db4ffc411c4.28bad218e4ebf159
+    8404eb7f0cf4ca6f
+
+VMOVUPD_EtoG_256(reg)
+  before
+    5cdf726562b02dc2.b39925ba7d9d67bc.ff6f850f2c57ea2a.2c810e6dc1a1833d
+    0c9761367fac55ff.28276f9a6e880c6b.372f015d9242e83d.2ef85b6fc544fd0f
+    f078b65e01737fd2.2bfa8f668c8b14f4.36b2a38dcef18acf.0e0f01a829ba3c66
+    65ce6d498492e7e7.96df010bf4b23b84.57436a097df30b8d.aa927a03090dfc6d
+    dc4c446c804bf950
+  after
+    5cdf726562b02dc2.b39925ba7d9d67bc.ff6f850f2c57ea2a.2c810e6dc1a1833d
+    0c9761367fac55ff.28276f9a6e880c6b.372f015d9242e83d.2ef85b6fc544fd0f
+    f078b65e01737fd2.2bfa8f668c8b14f4.36b2a38dcef18acf.0e0f01a829ba3c66
+    f078b65e01737fd2.2bfa8f668c8b14f4.36b2a38dcef18acf.0e0f01a829ba3c66
+    dc4c446c804bf950
+VMOVUPD_EtoG_256(mem)
+  before
+    810bdacfab80ee3d.c5e48064a393c8e9.47a34273c10a3c47.f5304f3e3ad1a923
+    769ab818a5b7985e.6d08ed19fa045f84.1810cd8c109ed568.6ec34f98a2199d3c
+    95c45b338afcb3df.b984aed62671e865.e6f21d40fc7bc013.1c4a678450562685
+    bc563e0c775bfaed.05a5c205c3659f38.8e17b17da2acb976.5d0f926ce1157eaa
+    8b5fccbef0e1e256
+  after
+    810bdacfab80ee3d.c5e48064a393c8e9.47a34273c10a3c47.f5304f3e3ad1a923
+    769ab818a5b7985e.6d08ed19fa045f84.1810cd8c109ed568.6ec34f98a2199d3c
+    810bdacfab80ee3d.c5e48064a393c8e9.47a34273c10a3c47.f5304f3e3ad1a923
+    bc563e0c775bfaed.05a5c205c3659f38.8e17b17da2acb976.5d0f926ce1157eaa
+    8b5fccbef0e1e256
+
+VMOVUPD_GtoE_256(reg)
+  before
+    048612e51a468e36.c51cdd8f87e12ab4.acb722146c6cbfa9.ea4a022e1d3d7dbb
+    22cf5e4cfad1bdf5.8de2b4a9d799ff5f.0c05cb6ebd128663.d7568e3e8a3ac80e
+    4288ae612c0dad40.f0733f448390351b.80ddba7e53e42d12.3208cf9b04b0569c
+    c1fbfd8f4d8698c2.cb9dfb4ea5d18713.6489eab2c96df363.d52c4330a7aae391
+    9d8e66ea90352a18
+  after
+    048612e51a468e36.c51cdd8f87e12ab4.acb722146c6cbfa9.ea4a022e1d3d7dbb
+    22cf5e4cfad1bdf5.8de2b4a9d799ff5f.0c05cb6ebd128663.d7568e3e8a3ac80e
+    c1fbfd8f4d8698c2.cb9dfb4ea5d18713.6489eab2c96df363.d52c4330a7aae391
+    c1fbfd8f4d8698c2.cb9dfb4ea5d18713.6489eab2c96df363.d52c4330a7aae391
+    9d8e66ea90352a18
+VMOVUPD_GtoE_256(mem)
+  before
+    66fab2b3db5ce85e.f9754842f9c9ba28.f82a63b15c68b274.14575775bc3a1202
+    0c3ca578a32bd88e.474289e7cb61501e.54e7f35bc162726a.ec91fe34c7d6c79a
+    6b1fba2604afb8d5.08aebee85fda964f.bba02737f3c98220.4784d95987cd4ed8
+    5f706da71bf2425f.9605e2b252c1c868.09217c310baca0c3.837be65197abe268
+    fbc4208894fdc0f5
+  after
+    6b1fba2604afb8d5.08aebee85fda964f.bba02737f3c98220.4784d95987cd4ed8
+    0c3ca578a32bd88e.474289e7cb61501e.54e7f35bc162726a.ec91fe34c7d6c79a
+    6b1fba2604afb8d5.08aebee85fda964f.bba02737f3c98220.4784d95987cd4ed8
+    5f706da71bf2425f.9605e2b252c1c868.09217c310baca0c3.837be65197abe268
+    fbc4208894fdc0f5
+
+VMOVUPD_GtoE_256(reg)
+  before
+    0aaa836b194e242c.c5fc3ae904033357.4e92f1b240a12214.1a366d352714867e
+    0e780c65c22b4ab8.778d9ed6d9eb46ea.8ca3e752c306df00.caab752f630ff07e
+    627bb6e12d1f6d46.51ef145cb9b83843.ac82c1007a7d3cd8.f54b130cdaa89cef
+    61ff7d4df3b6ca81.31f01866bd76c58f.0a7c7a27fe917447.77e3c0b6a9ec44fc
+    2c3ffa1aebe6a4d2
+  after
+    0aaa836b194e242c.c5fc3ae904033357.4e92f1b240a12214.1a366d352714867e
+    0e780c65c22b4ab8.778d9ed6d9eb46ea.8ca3e752c306df00.caab752f630ff07e
+    61ff7d4df3b6ca81.31f01866bd76c58f.0a7c7a27fe917447.77e3c0b6a9ec44fc
+    61ff7d4df3b6ca81.31f01866bd76c58f.0a7c7a27fe917447.77e3c0b6a9ec44fc
+    2c3ffa1aebe6a4d2
+VMOVUPD_GtoE_256(mem)
+  before
+    f02b3b25bca27a9c.69505d14b27d9d16.f25b26e0042fa9fa.02dd0e32eecfc5fa
+    9f7301c1392d8087.d4ba52a206ff21b1.70fbbab6a7f19faf.f0f1798fe3c1699c
+    15e3c8dc7e9273bf.0088596389c893fd.879d51d4c5c764db.3004b7a97cf69dda
+    2d460a61a5dd0f6f.47086cc3da642fa7.130d662777beb4a9.1e61c5ec52f79c60
+    16559ec50352a3d9
+  after
+    15e3c8dc7e9273bf.0088596389c893fd.879d51d4c5c764db.3004b7a97cf69dda
+    9f7301c1392d8087.d4ba52a206ff21b1.70fbbab6a7f19faf.f0f1798fe3c1699c
+    15e3c8dc7e9273bf.0088596389c893fd.879d51d4c5c764db.3004b7a97cf69dda
+    2d460a61a5dd0f6f.47086cc3da642fa7.130d662777beb4a9.1e61c5ec52f79c60
+    16559ec50352a3d9
+
+VMOVUPD_GtoE_256(reg)
+  before
+    742c3e9e2b92eef2.c569453ccd1b0fc4.0784892e9360315b.f0177599dbe14b46
+    9432a2e46543b956.b819f459105730e9.9a49ac115048d4c4.f987fa170d3ce4dd
+    d2b3c4044ef23fb2.e22093a48a9d2e0b.5da3cfd6aea6558e.0c28728e28dc3c9c
+    89fba268812abdb2.1e4a9e0958fac555.adddf0eb4808f067.04c857e949cc0fac
+    bc3127138b19183c
+  after
+    742c3e9e2b92eef2.c569453ccd1b0fc4.0784892e9360315b.f0177599dbe14b46
+    9432a2e46543b956.b819f459105730e9.9a49ac115048d4c4.f987fa170d3ce4dd
+    89fba268812abdb2.1e4a9e0958fac555.adddf0eb4808f067.04c857e949cc0fac
+    89fba268812abdb2.1e4a9e0958fac555.adddf0eb4808f067.04c857e949cc0fac
+    bc3127138b19183c
+VMOVUPD_GtoE_256(mem)
+  before
+    12305efa0acd1475.1755377e9a786f01.4a6592749579b0f4.e4450ababbfae0f9
+    e1917689e3f6bf86.d70f7fb13667914c.413cead25e27ac14.5f2619b1a20662f0
+    0420edac31a0d599.2573776df1835e3e.de9a220dce0e75e0.7acb193b9abab2f9
+    59a93d4f11d611db.5cce191e65591384.ff4cb613013cc685.918107c43ea20cc0
+    0194ddb82b49abf0
+  after
+    0420edac31a0d599.2573776df1835e3e.de9a220dce0e75e0.7acb193b9abab2f9
+    e1917689e3f6bf86.d70f7fb13667914c.413cead25e27ac14.5f2619b1a20662f0
+    0420edac31a0d599.2573776df1835e3e.de9a220dce0e75e0.7acb193b9abab2f9
+    59a93d4f11d611db.5cce191e65591384.ff4cb613013cc685.918107c43ea20cc0
+    0194ddb82b49abf0
+
+VPSUBW_128(reg)
+  before
+    24509983fc3bcc36.baf7e45e9fa43077.da6c63303173ecc9.7e1e22cf15bd5c2f
+    570037914d04ab3d.05d75ec6f616ee9a.fa99500fef6024ba.39dce32c239cf309
+    f6f2b14fbb3184b2.141625713239066f.17a0dc273ba9f803.0a52741849e54740
+    5d700527e24d9241.c57eb74d70183523.8fcf04e5b2dca44f.cf4c517ea3a413ff
+    6295f64a4ce61473
+  after
+    0000000000000000.0000000000000000.e2f973e8b3b72cb7.2f8a6f14d9b7abc9
+    570037914d04ab3d.05d75ec6f616ee9a.fa99500fef6024ba.39dce32c239cf309
+    f6f2b14fbb3184b2.141625713239066f.17a0dc273ba9f803.0a52741849e54740
+    5d700527e24d9241.c57eb74d70183523.8fcf04e5b2dca44f.cf4c517ea3a413ff
+    6295f64a4ce61473
+VPSUBW_128(mem)
+  before
+    a0fae06860b606c7.e8c72e865de41295.f2db8f44cbbf37e2.bc70c3b3ef84644b
+    66478ac4fc21a428.f34428d9c8833f5b.78fb29445f3bc8d7.fcd015ff8f2e73a3
+    8e48704b3c31abc2.da30ef8bc0b5573e.34a901384a97a32f.a93bf6332d650e02
+    f5c90ee73af5d7c0.f9da7f07e00794eb.00b0940ba5e08516.20fd62bd65b57115
+    be625608d5abd787
+  after
+    a0fae06860b606c7.e8c72e865de41295.f2db8f44cbbf37e2.bc70c3b3ef84644b
+    66478ac4fc21a428.f34428d9c8833f5b.78fb29445f3bc8d7.fcd015ff8f2e73a3
+    0000000000000000.0000000000000000.86209a00937c90f5.4060524c9faa0f58
+    f5c90ee73af5d7c0.f9da7f07e00794eb.00b0940ba5e08516.20fd62bd65b57115
+    be625608d5abd787
+
+VPSUBW_128(reg)
+  before
+    ddb5cd8016d27d05.7796e0861576e44f.ac8dd5bbc503330e.b9dd5dab8e212ab7
+    db43c391c6b69f3a.f17a6312e7c28d9a.4e94ec120b386f52.3bfcd80321664d3e
+    125934a781e479d3.3d431279cce48fce.3d3cc0784c2f8563.63d9810079bbabd9
+    df411d2ee2e7467c.38bb69a6e1e9a617.d4d14e592776b1ef.0b40d58cb22d00b1
+    10fd4e94e9c808f5
+  after
+    0000000000000000.0000000000000000.11582b9abf09e9ef.d8235703a7aba165
+    db43c391c6b69f3a.f17a6312e7c28d9a.4e94ec120b386f52.3bfcd80321664d3e
+    125934a781e479d3.3d431279cce48fce.3d3cc0784c2f8563.63d9810079bbabd9
+    df411d2ee2e7467c.38bb69a6e1e9a617.d4d14e592776b1ef.0b40d58cb22d00b1
+    10fd4e94e9c808f5
+VPSUBW_128(mem)
+  before
+    4edb6a053a967ecf.9e477892854b43e0.beafe48541dc8da0.6f9f902235982fa0
+    a1a7a4c9c0a51f6b.acb9433f079dacac.abeb000208c90296.69f2843d15223a22
+    e52e79ce9700a7f7.63e279a20368bc8b.db3b370954bcbf24.20162517609f0f22
+    f63a63fedcb4d29c.200d17261638b12a.2a6a07863ec28077.ef56701db49bea4c
+    31005fb9ada2074b
+  after
+    4edb6a053a967ecf.9e477892854b43e0.beafe48541dc8da0.6f9f902235982fa0
+    a1a7a4c9c0a51f6b.acb9433f079dacac.abeb000208c90296.69f2843d15223a22
+    0000000000000000.0000000000000000.ed3c1b7dc6ed74f6.fa53f41bdf8a0a82
+    f63a63fedcb4d29c.200d17261638b12a.2a6a07863ec28077.ef56701db49bea4c
+    31005fb9ada2074b
+
+VPSUBW_128(reg)
+  before
+    445ef059e641a1cc.b097e047aacc5b89.3f871736dc9ac535.7446eb65e4e703bb
+    83bd1e68fb03f57b.ef136b941e54ffe8.1c9c7740ef193457.959960926235021b
+    4969e55289753f03.8f7980d1535979e5.139832afee423c3d.6930e0fad3ba39c4
+    f4ad41832c22ba11.6c949cea66e687ae.80c745ef729f1792.ccd7e987538166e1
+    9a5af627ff97439f
+  after
+    0000000000000000.0000000000000000.0904449100d7f81a.2c697f988e7bc857
+    83bd1e68fb03f57b.ef136b941e54ffe8.1c9c7740ef193457.959960926235021b
+    4969e55289753f03.8f7980d1535979e5.139832afee423c3d.6930e0fad3ba39c4
+    f4ad41832c22ba11.6c949cea66e687ae.80c745ef729f1792.ccd7e987538166e1
+    9a5af627ff97439f
+VPSUBW_128(mem)
+  before
+    af8484c5f3078d2a.ded72f677f96a350.623139cb7207e36c.bf75aa6c1abe0103
+    e6230d4d4add00ad.6431aa6a1e5e366d.4c1cd56194c94a4e.2ced5f927f2b383c
+    1d010fab20265755.e309aef8a605af13.0821eb96e737777e.237d5fcd3f71f6e8
+    2feb05cb92ed4f4d.b5a9377eb31749ef.710cf757885d2728.006fa689f61c78b4
+    1f1030333fb8fa4b
+  after
+    af8484c5f3078d2a.ded72f677f96a350.623139cb7207e36c.bf75aa6c1abe0103
+    e6230d4d4add00ad.6431aa6a1e5e366d.4c1cd56194c94a4e.2ced5f927f2b383c
+    0000000000000000.0000000000000000.e9eb9b9622c266e2.6d78b526646d3739
+    2feb05cb92ed4f4d.b5a9377eb31749ef.710cf757885d2728.006fa689f61c78b4
+    1f1030333fb8fa4b
+
+VPSUBQ_128(reg)
+  before
+    dbacfa35b7d2b75a.f8ad6b99bb3fa4c2.385e4166df2141ad.63a8769192481679
+    928efefdf9f5ec8d.5313bd01b82612e0.c673c91ec9aed3f8.b9c3e32f2103009d
+    9f043af6a1aed58f.1ee978efa4b054d2.bc36ca100a4a3a7d.5127ba1c529aa0bf
+    5e58aa8b4c88ae0d.34fa174f9ce927c4.76f140aa4182b4e7.06a17746411ab40c
+    b3fd9698098ef5b0
+  after
+    0000000000000000.0000000000000000.0a3cff0ebf64997b.689c2912ce685fde
+    928efefdf9f5ec8d.5313bd01b82612e0.c673c91ec9aed3f8.b9c3e32f2103009d
+    9f043af6a1aed58f.1ee978efa4b054d2.bc36ca100a4a3a7d.5127ba1c529aa0bf
+    5e58aa8b4c88ae0d.34fa174f9ce927c4.76f140aa4182b4e7.06a17746411ab40c
+    b3fd9698098ef5b0
+VPSUBQ_128(mem)
+  before
+    360794fec60222d6.2ad7482a960fb2b2.7014160ebbdb47e4.51f2275707e17ae4
+    698bec649583f5aa.61cd123e19cf1e2b.b001f1161e946f5c.a7837c83faf3cb1d
+    2a541ab7911c2b5a.5e86033374552e23.ce8e2455e0205c58.d5f13a9ab645e140
+    532f9ae1d7da8010.7c4e1775412d1d47.a8872cb61d8aca05.37885d08d662faf9
+    2993e139f7d64ff4
+  after
+    360794fec60222d6.2ad7482a960fb2b2.7014160ebbdb47e4.51f2275707e17ae4
+    698bec649583f5aa.61cd123e19cf1e2b.b001f1161e946f5c.a7837c83faf3cb1d
+    0000000000000000.0000000000000000.3feddb0762b92778.5591552cf3125039
+    532f9ae1d7da8010.7c4e1775412d1d47.a8872cb61d8aca05.37885d08d662faf9
+    2993e139f7d64ff4
+
+VPSUBQ_128(reg)
+  before
+    0760c299b42e1fdc.c2e9e9cf82c7aff8.19714a711ce12843.18b88425f2de758f
+    2d39fd95a9f5a45d.514c816eaff2763f.8f3a9991a2ff8bc2.fceca88e7b281821
+    f76b8d9773b81b24.de24e0a879648e11.3cf6fe426e128171.2ef114ddd37570e8
+    c1426e0dae01c0dd.433f816bfd2bb699.7af177f11da748fc.8b9145fe16d0390f
+    f099b6dd61462ec3
+  after
+    0000000000000000.0000000000000000.52439b4f34ed0a51.cdfb93b0a7b2a739
+    2d39fd95a9f5a45d.514c816eaff2763f.8f3a9991a2ff8bc2.fceca88e7b281821
+    f76b8d9773b81b24.de24e0a879648e11.3cf6fe426e128171.2ef114ddd37570e8
+    c1426e0dae01c0dd.433f816bfd2bb699.7af177f11da748fc.8b9145fe16d0390f
+    f099b6dd61462ec3
+VPSUBQ_128(mem)
+  before
+    37d5e366d0e20c30.e70a9c61f55fce33.5d68e1a25652a804.a77700084a491a0e
+    3d1148867eb08f81.c50f1401e45b82d3.086a7a39a1e6217d.1dd493f591843454
+    de18612787bc73e3.b79cd05818831869.2112ca1cf9f1dd31.3a542e238fe5d179
+    f7b8ab3708137382.19ffced22c62cba0.822c4c377b82984c.5842cbfee0f72e2a
+    d4ec68f21f468712
+  after
+    37d5e366d0e20c30.e70a9c61f55fce33.5d68e1a25652a804.a77700084a491a0e
+    3d1148867eb08f81.c50f1401e45b82d3.086a7a39a1e6217d.1dd493f591843454
+    0000000000000000.0000000000000000.ab0198974b937979.765d93ed473b1a46
+    f7b8ab3708137382.19ffced22c62cba0.822c4c377b82984c.5842cbfee0f72e2a
+    d4ec68f21f468712
+
+VPSUBQ_128(reg)
+  before
+    0b9c016be95f18de.62bba1a11cc04c89.478209dbbd84d925.08847c7642a20df9
+    579f90d5d9cd1c3a.fceebf50e0d0ba24.9c727edf66767ca3.8fe6d7c56a5ff965
+    1541139c8b1cd0d1.a11d81326f4e7880.761b274ac4c4f0c7.f31ed81010c417bc
+    a1cd852d9cd97050.2d146432e64644c9.30c9028972f8733d.11f7fa4450de2529
+    c33ebc4b44b8ddd8
+  after
+    0000000000000000.0000000000000000.26575794a1b18bdc.9cc7ffb5599be1a9
+    579f90d5d9cd1c3a.fceebf50e0d0ba24.9c727edf66767ca3.8fe6d7c56a5ff965
+    1541139c8b1cd0d1.a11d81326f4e7880.761b274ac4c4f0c7.f31ed81010c417bc
+    a1cd852d9cd97050.2d146432e64644c9.30c9028972f8733d.11f7fa4450de2529
+    c33ebc4b44b8ddd8
+VPSUBQ_128(mem)
+  before
+    e6c097130b5efcf6.5791e2f2a78f3762.7c9fe23c60c5d82b.25c80a060da03fb0
+    56470887bfdd3daf.94d7265949ca62b4.6a8a793cf9d5f0d1.b3633c2f304791cd
+    ef9f8c927c405d2f.b2ed4ecc1e172df2.d3a0a41fce854ae7.35e7926e777aa43f
+    8d969e225f9318a0.0e1d55b9c001d4c7.93aee0cffbdea09a.06a10a317fc4b5b3
+    84db9fe3e4b100d4
+  after
+    e6c097130b5efcf6.5791e2f2a78f3762.7c9fe23c60c5d82b.25c80a060da03fb0
+    56470887bfdd3daf.94d7265949ca62b4.6a8a793cf9d5f0d1.b3633c2f304791cd
+    0000000000000000.0000000000000000.edea9700991018a6.8d9b322922a7521d
+    8d969e225f9318a0.0e1d55b9c001d4c7.93aee0cffbdea09a.06a10a317fc4b5b3
+    84db9fe3e4b100d4
+
+VPADDQ_128(reg)
+  before
+    09e14df041cdc14f.0bf7ba2283e22a31.04b4378bce1492e0.8680a7399beeae16
+    f30110c432a534d0.478d5d7e053a4e0c.f0fdf0aee1dda4e8.88e2774acbc13287
+    9c86e5cb54c59402.1c25022200a7415e.2e467d8e98e7468c.75a0cbeda561e618
+    62bbc77143b71e92.668b24fb9133bf52.1adad8978cbfb478.29861f0d48dc87f5
+    805ff098ce3ed14b
+  after
+    0000000000000000.0000000000000000.1f446e3d7ac4eb74.fe8343387123189f
+    f30110c432a534d0.478d5d7e053a4e0c.f0fdf0aee1dda4e8.88e2774acbc13287
+    9c86e5cb54c59402.1c25022200a7415e.2e467d8e98e7468c.75a0cbeda561e618
+    62bbc77143b71e92.668b24fb9133bf52.1adad8978cbfb478.29861f0d48dc87f5
+    805ff098ce3ed14b
+VPADDQ_128(mem)
+  before
+    55f9b97953917f46.9fedb2229a090d2c.018b42f3d3ec8415.1004ff355bf02957
+    861ef69cf4e34e11.b168a24af5479e7b.c9f1d5f8e2de4bd3.6c11edd5a106e2d6
+    ee9b23edcc40fad9.f2789356f1fb0d2b.99885af4db13d1b7.894d9fe1f98d1aa0
+    683cbc58f8b23fca.bf6982b029b396ea.4f1e4ed5da99d2ee.c5040fc700120f62
+    7b813bf15120fbc8
+  after
+    55f9b97953917f46.9fedb2229a090d2c.018b42f3d3ec8415.1004ff355bf02957
+    861ef69cf4e34e11.b168a24af5479e7b.c9f1d5f8e2de4bd3.6c11edd5a106e2d6
+    0000000000000000.0000000000000000.cb7d18ecb6cacfe8.7c16ed0afcf70c2d
+    683cbc58f8b23fca.bf6982b029b396ea.4f1e4ed5da99d2ee.c5040fc700120f62
+    7b813bf15120fbc8
+
+VPADDQ_128(reg)
+  before
+    07121ecd88441b7d.d2cc3eca9347d80f.74876ac63afb7562.c67d2c86fa7c09a3
+    c501b4c64209aa2e.0719232dba0b82d5.6e1d4703bf5de53f.d97270f257c73303
+    109cfa471afbe686.e2ede96f8809f947.077815d35567232e.66c997070e860c39
+    462deabeada60932.41150c7a1a4df892.9ce5d1a297a56adb.474e1bb03bc55073
+    5acd7ad9f991bada
+  after
+    0000000000000000.0000000000000000.75955cd714c5086d.403c07f9664d3f3c
+    c501b4c64209aa2e.0719232dba0b82d5.6e1d4703bf5de53f.d97270f257c73303
+    109cfa471afbe686.e2ede96f8809f947.077815d35567232e.66c997070e860c39
+    462deabeada60932.41150c7a1a4df892.9ce5d1a297a56adb.474e1bb03bc55073
+    5acd7ad9f991bada
+VPADDQ_128(mem)
+  before
+    79112f6f64f5079c.c201829797974fdd.fe5d063c8be33ce1.89ad76dc21a1f8f1
+    82e7b65c99fdf3e5.df63bd3c7359f634.f791559ff8d88161.2a1f00ed91e9071d
+    4f1c8c8db3b639e1.fba1981add7938e3.067d74917c37833e.db866b418009d40a
+    be7a2cefcf2b96bb.70050d9d72825295.09eddffd330cfda3.f82db3448c8c9a65
+    de62d56351fe96da
+  after
+    79112f6f64f5079c.c201829797974fdd.fe5d063c8be33ce1.89ad76dc21a1f8f1
+    82e7b65c99fdf3e5.df63bd3c7359f634.f791559ff8d88161.2a1f00ed91e9071d
+    0000000000000000.0000000000000000.f5ee5bdc84bbbe42.b3cc77c9b38b000e
+    be7a2cefcf2b96bb.70050d9d72825295.09eddffd330cfda3.f82db3448c8c9a65
+    de62d56351fe96da
+
+VPADDQ_128(reg)
+  before
+    e76fcc086aeb0414.a9cd126c0869c6a0.9cdd1a32cd007ff7.daac12cf3a64acbd
+    6fa194a173e020c0.ede3baf27b7b85bb.d973ba438b80fdb5.56878af3ad4a4cb8
+    d444299809682589.6787a06c436d8e39.8514e93e478d067a.5a4ac156a6cb98bf
+    71a4885bc70f501c.f18441c67d4b9e45.fa0ba48e9db3d6f2.c0c135e244f24dfe
+    65b86284a1cb27a3
+  after
+    0000000000000000.0000000000000000.5e88a381d30e042f.b0d24c4a5415e577
+    6fa194a173e020c0.ede3baf27b7b85bb.d973ba438b80fdb5.56878af3ad4a4cb8
+    d444299809682589.6787a06c436d8e39.8514e93e478d067a.5a4ac156a6cb98bf
+    71a4885bc70f501c.f18441c67d4b9e45.fa0ba48e9db3d6f2.c0c135e244f24dfe
+    65b86284a1cb27a3
+VPADDQ_128(mem)
+  before
+    26fbc229d962e2d7.a20cab554a62dd24.68a718ec4422710c.95a6e59e2a7fabcb
+    dd55d3bb09c439c9.c3ca90f22dec084f.a9bca1cab4fdc2ba.b330aadc8a7cbfaf
+    67940f284cfce9a3.3028339e0d3a0c46.8e8f584ceae94e7a.aef4eeb358364f4a
+    a082f55bbf17ae91.45738ec585d726b8.f4ecb95e02f1d179.e33fad8f313a9649
+    af5de4ddb013d258
+  after
+    26fbc229d962e2d7.a20cab554a62dd24.68a718ec4422710c.95a6e59e2a7fabcb
+    dd55d3bb09c439c9.c3ca90f22dec084f.a9bca1cab4fdc2ba.b330aadc8a7cbfaf
+    0000000000000000.0000000000000000.1263bab6f92033c6.48d7907ab4fc6b7a
+    a082f55bbf17ae91.45738ec585d726b8.f4ecb95e02f1d179.e33fad8f313a9649
+    af5de4ddb013d258
+
+VPINSRQ_128(reg)
+  before
+    6c9a8e07714d3d22.64ecfe407d2043c1.5df79fd3324f914f.b79f41ec172107e2
+    7742a77a11751354.8f9ea7c3a323665c.d6006035af2e8bb7.b3736be34585abe2
+    2ca02ba32b169299.fd646dd04c2dd191.0bd9cf5599014e9d.c435b32da92a7aa5
+    e70216ec5cbcf49e.8a09cb539549408a.57d0e8a18b5417ad.c6b295b85f1c3056
+    95b48e6f81658922
+  after
+    0000000000000000.0000000000000000.d6006035af2e8bb7.95b48e6f81658922
+    7742a77a11751354.8f9ea7c3a323665c.d6006035af2e8bb7.b3736be34585abe2
+    2ca02ba32b169299.fd646dd04c2dd191.0bd9cf5599014e9d.c435b32da92a7aa5
+    e70216ec5cbcf49e.8a09cb539549408a.57d0e8a18b5417ad.c6b295b85f1c3056
+    95b48e6f81658922
+VPINSRQ_128(mem)
+  before
+    0d07193d2e134034.05b265c33ff4760f.125b3d3899837173.182fa58322b12192
+    0a79b210803112b9.e0fd139371495497.7124406c74e81e7a.a9430469f9a6aaf9
+    68d5d5d393ccbadd.d52f1cc78e47c9e3.83314ed9438203c8.655800beacbeec8e
+    03e6fe7283eff6cb.40947ccd307b129e.244ee56d2260de8c.aaba95edd88623fc
+    d2b5bf6419898df0
+  after
+    0d07193d2e134034.05b265c33ff4760f.125b3d3899837173.182fa58322b12192
+    0a79b210803112b9.e0fd139371495497.7124406c74e81e7a.a9430469f9a6aaf9
+    0000000000000000.0000000000000000.182fa58322b12192.a9430469f9a6aaf9
+    03e6fe7283eff6cb.40947ccd307b129e.244ee56d2260de8c.aaba95edd88623fc
+    d2b5bf6419898df0
+
+VPINSRQ_128(reg)
+  before
+    3b947b8f0a536415.b779aada6ea680b0.7d772f10f5706b75.304780122c8b69f0
+    3fa5c4d84771e518.605a54f56dfe15b7.e82632fc79b30f14.83e79bb67d116120
+    3b3296ac6d6e4ba4.d95578b09e02700d.ddeb80fe57ce3c26.f9fcb34432fe8249
+    8c88ed7717d6d466.003692f81dbe4ede.b71315802c502c58.6d5043a8665c8797
+    bdb0c6ce36392d36
+  after
+    0000000000000000.0000000000000000.e82632fc79b30f14.bdb0c6ce36392d36
+    3fa5c4d84771e518.605a54f56dfe15b7.e82632fc79b30f14.83e79bb67d116120
+    3b3296ac6d6e4ba4.d95578b09e02700d.ddeb80fe57ce3c26.f9fcb34432fe8249
+    8c88ed7717d6d466.003692f81dbe4ede.b71315802c502c58.6d5043a8665c8797
+    bdb0c6ce36392d36
+VPINSRQ_128(mem)
+  before
+    c4e8bba2bda13050.8cf3c5a6e236ba0a.b0c81fb7053f6b55.d4eaedef93c21b55
+    5dc49b10189f4c14.98bf1ba36919393b.c4d999db7390839e.8fbc05b829b247ca
+    6610e404623f3cac.0d37eadc490b8fa6.1a337e4f82bd51e7.44d5584589abea63
+    ba97106bb88dbd45.45a92ebc1d99f6f6.8da34afe4ed3935a.4f80e2044f3a41cb
+    0b0b9f6018e987ae
+  after
+    c4e8bba2bda13050.8cf3c5a6e236ba0a.b0c81fb7053f6b55.d4eaedef93c21b55
+    5dc49b10189f4c14.98bf1ba36919393b.c4d999db7390839e.8fbc05b829b247ca
+    0000000000000000.0000000000000000.d4eaedef93c21b55.8fbc05b829b247ca
+    ba97106bb88dbd45.45a92ebc1d99f6f6.8da34afe4ed3935a.4f80e2044f3a41cb
+    0b0b9f6018e987ae
+
+VPINSRQ_128(reg)
+  before
+    d6c08bc57f47f9ba.34279d2f35968b0a.9d5fe4af824eabd8.f8f577d6f4dd0223
+    0beca39f21ddd399.b28a073ef6656128.71a6062013b6eaf8.39f583c290e85d6f
+    05dbe25a9a3951f7.0e8dc8821606fcca.1eca927d6d5eee01.2a6fe8ae3cfe5e6a
+    22d9446284e6ae81.26fc5ee9b286181e.fe1783322bd1f4a0.a92e2587172ec23f
+    90ffb3373b81451b
+  after
+    0000000000000000.0000000000000000.71a6062013b6eaf8.90ffb3373b81451b
+    0beca39f21ddd399.b28a073ef6656128.71a6062013b6eaf8.39f583c290e85d6f
+    05dbe25a9a3951f7.0e8dc8821606fcca.1eca927d6d5eee01.2a6fe8ae3cfe5e6a
+    22d9446284e6ae81.26fc5ee9b286181e.fe1783322bd1f4a0.a92e2587172ec23f
+    90ffb3373b81451b
+VPINSRQ_128(mem)
+  before
+    bdaf0fabc405a22a.bd31c5237e7128e3.d4a3445ee5f0714d.6ed9d5a9ea9b3880
+    0a08b6d0cfc59797.3131620a2265f8c8.f64df6cdcb51c286.ca5b844f4549f54e
+    55d7239077cddd8e.dc2316810c4e5ddd.66c8f02281b3c8f2.6eeb8d90d86668b6
+    78e7d2d9d92a333d.1854ddf6d8b991ce.01deaf4923243fc0.b6d3ebd9407ecd63
+    fe609a94181e6002
+  after
+    bdaf0fabc405a22a.bd31c5237e7128e3.d4a3445ee5f0714d.6ed9d5a9ea9b3880
+    0a08b6d0cfc59797.3131620a2265f8c8.f64df6cdcb51c286.ca5b844f4549f54e
+    0000000000000000.0000000000000000.6ed9d5a9ea9b3880.ca5b844f4549f54e
+    78e7d2d9d92a333d.1854ddf6d8b991ce.01deaf4923243fc0.b6d3ebd9407ecd63
+    fe609a94181e6002
+
+VUCOMISS_128(reg)
+  before
+    a2de962ffdd15c3e.50063f9610e753cd.4210b3d32431d146.a45cad2eccb0e21a
+    fe98dc158b24fec4.bafee7b33811fa6d.b7a39486894259f1.290e68be98626e2d
+    6ddc67b25da28240.909c451c6eb3e447.d1587d7aa579647d.6dc05be3a4469f24
+    4df433720fd7245d.afacd5bdced9cd88.ee7d691b14613094.4d3d038a0b69312c
+    a353dba0ead5df70
+  after
+    a2de962ffdd15c3e.50063f9610e753cd.4210b3d32431d146.a45cad2eccb0e21a
+    fe98dc158b24fec4.bafee7b33811fa6d.b7a39486894259f1.290e68be98626e2d
+    6ddc67b25da28240.909c451c6eb3e447.d1587d7aa579647d.6dc05be3a4469f24
+    4df433720fd7245d.afacd5bdced9cd88.ee7d691b14613094.4d3d038a0b69312c
+    0000000000000000
+VUCOMISS_128(mem)
+  before
+    4ccc5e105c99661d.f92e3cc13e4f1fc8.f3fa1382738f705b.685c54d57186f6e2
+    24750ac67ebe825f.cdd47e0b8597b02c.38527c577ae28aed.9c423a145875f514
+    071b5bad6b52ee61.2533f6bc813a1336.5b808a28feded669.e77b184466b967d6
+    d187cbb340606850.5c979f40cdc58392.364fbbe21b8d12fc.a353e8d137de89d3
+    2d16a827667197b8
+  after
+    4ccc5e105c99661d.f92e3cc13e4f1fc8.f3fa1382738f705b.685c54d57186f6e2
+    24750ac67ebe825f.cdd47e0b8597b02c.38527c577ae28aed.9c423a145875f514
+    071b5bad6b52ee61.2533f6bc813a1336.5b808a28feded669.e77b184466b967d6
+    d187cbb340606850.5c979f40cdc58392.364fbbe21b8d12fc.a353e8d137de89d3
+    0000000000000001
+
+VUCOMISS_128(reg)
+  before
+    e11053b38ffdcd30.5e88d8c318f5aa57.d04b750405c33deb.a68d8a6feefdf8d2
+    1b8ce6e04f0e66e8.8ae9fdca101c70a3.dc9d7472c7c07dee.870474bd92394516
+    37d75b1941319f8c.3175b6b243e17860.dbd798f8ac487f46.b581f3b7244eb4f5
+    913db0cc02f1b3c7.2ff97f68cd517cb9.2b46de0152e87ea0.0ccf8549bf47029a
+    68bca55e8030eb32
+  after
+    e11053b38ffdcd30.5e88d8c318f5aa57.d04b750405c33deb.a68d8a6feefdf8d2
+    1b8ce6e04f0e66e8.8ae9fdca101c70a3.dc9d7472c7c07dee.870474bd92394516
+    37d75b1941319f8c.3175b6b243e17860.dbd798f8ac487f46.b581f3b7244eb4f5
+    913db0cc02f1b3c7.2ff97f68cd517cb9.2b46de0152e87ea0.0ccf8549bf47029a
+    0000000000000001
+VUCOMISS_128(mem)
+  before
+    a513cfe482162be8.850ae0642ddae046.6041d5d9cb7738db.263641f8552cb7a7
+    9e9f80c6e2047dea.6f8ae74d5f7960b4.a01933ef595f6af1.2af3bd4b509e6608
+    312d32f1bb069e61.ab09c2f3335970be.cb4d15989216cc28.91c94f65dfccc66f
+    3989634f2a294a7c.95d26cc246074b10.bda9f7bf92a71bac.b903f1b29f411487
+    fcefa19f2c8a8cfd
+  after
+    a513cfe482162be8.850ae0642ddae046.6041d5d9cb7738db.263641f8552cb7a7
+    9e9f80c6e2047dea.6f8ae74d5f7960b4.a01933ef595f6af1.2af3bd4b509e6608
+    312d32f1bb069e61.ab09c2f3335970be.cb4d15989216cc28.91c94f65dfccc66f
+    3989634f2a294a7c.95d26cc246074b10.bda9f7bf92a71bac.b903f1b29f411487
+    0000000000000001
+
+VUCOMISS_128(reg)
+  before
+    b8d75a9620326a7d.927f8ecd4a783d65.8932e026330d2e55.52f8564f761e13a8
+    470818041ac5e9b2.18db305838ff3248.e3761d8b97fa553a.6508ac365a886f48
+    06ced856b4d04648.a668c3da0fcbe652.ffe81c5e0d57fc6a.d4a3775f58f0ecba
+    527594f68adebded.1af4c541ebe715af.39d4db0931b25e92.7a9632b68f624628
+    32ad5a2818eb39be
+  after
+    b8d75a9620326a7d.927f8ecd4a783d65.8932e026330d2e55.52f8564f761e13a8
+    470818041ac5e9b2.18db305838ff3248.e3761d8b97fa553a.6508ac365a886f48
+    06ced856b4d04648.a668c3da0fcbe652.ffe81c5e0d57fc6a.d4a3775f58f0ecba
+    527594f68adebded.1af4c541ebe715af.39d4db0931b25e92.7a9632b68f624628
+    0000000000000000
+VUCOMISS_128(mem)
+  before
+    dab3699f129680a9.85484a52397b894a.4f49b178e95f7a8a.ed8854faa096b85e
+    4d76dd08966fd815.fc95f5d55c34e70e.2034036b2540d210.764f859cf68f4679
+    66c03150c383fd2d.13a692ea909413e3.6b813705ba95d96d.32746a5ace2a448f
+    035ee161b2ddaa1e.27c81bff70274976.0afcca34c46a4acc.7c44fda2c4f3ed4e
+    b00b3cdf75747e60
+  after
+    dab3699f129680a9.85484a52397b894a.4f49b178e95f7a8a.ed8854faa096b85e
+    4d76dd08966fd815.fc95f5d55c34e70e.2034036b2540d210.764f859cf68f4679
+    66c03150c383fd2d.13a692ea909413e3.6b813705ba95d96d.32746a5ace2a448f
+    035ee161b2ddaa1e.27c81bff70274976.0afcca34c46a4acc.7c44fda2c4f3ed4e
+    0000000000000001
+
+VUCOMISD_128(reg)
+  before
+    2915227d7d3b3371.fe1c6a2981899c14.92478e7f987ac472.db7137e460cce35a
+    45aeabe876d3472e.35c647934c948f3a.b16fe6d6a518c184.b9abfaffa9c65e42
+    5e21d38dffc9f743.8228f38b2e093fbc.e08c1f71338e7c57.7f778f72bc6577b1
+    d2bc96d6b1a87f5b.c30eedfc43f567c8.7be936badd663098.0aa27329b5b3ecd2
+    37f62011aebf77d2
+  after
+    2915227d7d3b3371.fe1c6a2981899c14.92478e7f987ac472.db7137e460cce35a
+    45aeabe876d3472e.35c647934c948f3a.b16fe6d6a518c184.b9abfaffa9c65e42
+    5e21d38dffc9f743.8228f38b2e093fbc.e08c1f71338e7c57.7f778f72bc6577b1
+    d2bc96d6b1a87f5b.c30eedfc43f567c8.7be936badd663098.0aa27329b5b3ecd2
+    0000000000000001
+VUCOMISD_128(mem)
+  before
+    e0401415c692d5dd.fbc9f1302bfc1b23.d243aed4a862c488.ded3251e3f2e1bf3
+    e34bca20163ac21e.3795df0806520647.8d94b3ff795f1228.6597ea0af6727713
+    1ae5bf20bcc2f9c2.e06c5cc8e1357d72.cece7967d1f50cd5.6c7f80e89ebd80a5
+    62d86d00d43737f5.549a65de5531bc50.72bb7bf9cc326fbb.4fd7e326d29b7454
+    6aed102f2e988dcd
+  after
+    e0401415c692d5dd.fbc9f1302bfc1b23.d243aed4a862c488.ded3251e3f2e1bf3
+    e34bca20163ac21e.3795df0806520647.8d94b3ff795f1228.6597ea0af6727713
+    1ae5bf20bcc2f9c2.e06c5cc8e1357d72.cece7967d1f50cd5.6c7f80e89ebd80a5
+    62d86d00d43737f5.549a65de5531bc50.72bb7bf9cc326fbb.4fd7e326d29b7454
+    0000000000000000
+
+VUCOMISD_128(reg)
+  before
+    190c026f4f4108bb.97f152ac79a338e2.ed6bf4b500d2fe8f.552735a28721f705
+    b87fb552d02120cc.96fce910c815b7b5.082a07b97ea580d9.54e0244c1dcf60e0
+    a29325444ec512a9.39c5af18dc96719b.022499566a367eda.49b0c2e5ab476577
+    35954eb164b81a01.5d181eb0d13422c0.35a6a7f8600f343f.11658d574d95c3f7
+    88c900901dc5368c
+  after
+    190c026f4f4108bb.97f152ac79a338e2.ed6bf4b500d2fe8f.552735a28721f705
+    b87fb552d02120cc.96fce910c815b7b5.082a07b97ea580d9.54e0244c1dcf60e0
+    a29325444ec512a9.39c5af18dc96719b.022499566a367eda.49b0c2e5ab476577
+    35954eb164b81a01.5d181eb0d13422c0.35a6a7f8600f343f.11658d574d95c3f7
+    0000000000000000
+VUCOMISD_128(mem)
+  before
+    8aa9987b39e47961.cccf2d05af86747e.dec1b4c5c4fa8650.fefa2b0bfdbeddb4
+    f3d1cf04bdfd4aa3.c38dbdaccabb5bcc.988bec41d1f55876.ba6d23fbddcfb6e4
+    9f0d2317c41d637d.751dfa1352e40c98.674442111330555e.c34a8a359bcdfb7c
+    6a280fa06b4f801c.40c9e0a4e28cc38e.27b63222a6b73935.76df5c23d344e727
+    2f76953322c0b892
+  after
+    8aa9987b39e47961.cccf2d05af86747e.dec1b4c5c4fa8650.fefa2b0bfdbeddb4
+    f3d1cf04bdfd4aa3.c38dbdaccabb5bcc.988bec41d1f55876.ba6d23fbddcfb6e4
+    9f0d2317c41d637d.751dfa1352e40c98.674442111330555e.c34a8a359bcdfb7c
+    6a280fa06b4f801c.40c9e0a4e28cc38e.27b63222a6b73935.76df5c23d344e727
+    0000000000000000
+
+VUCOMISD_128(reg)
+  before
+    4a5c32cf23cea869.30f00f8bcd9f5fac.7fdf6bcd1740bc59.b4ae395fa797c027
+    23de2e6573f9f357.cd2f9fc5071aba58.8da998f88c8b32a6.eaf8d1b431daa560
+    16458560adcdd709.1db23c3834cb4d4d.c8746293ddf96221.a55f780d618fa50b
+    7fe0332c6ed78e2a.fc4561d270bed6b6.8a8cc509a7178875.c1b1aa5552bf7b54
+    1ab8e17b2178e568
+  after
+    4a5c32cf23cea869.30f00f8bcd9f5fac.7fdf6bcd1740bc59.b4ae395fa797c027
+    23de2e6573f9f357.cd2f9fc5071aba58.8da998f88c8b32a6.eaf8d1b431daa560
+    16458560adcdd709.1db23c3834cb4d4d.c8746293ddf96221.a55f780d618fa50b
+    7fe0332c6ed78e2a.fc4561d270bed6b6.8a8cc509a7178875.c1b1aa5552bf7b54
+    0000000000000001
+VUCOMISD_128(mem)
+  before
+    8c419b68e9c69d73.bafa353551a25467.46b48a7dd8000fc0.313cbec68670df4e
+    f3185309c7b360a0.23de85e7f3ba676c.d7ca3327879cb597.17d247361590a45a
+    2a09854ad64de91c.16da21aeefac01e4.8b55d9bb9a9e8466.9a985ec5f0031343
+    0fe0ad1832a0f513.ef3804f7e2035f7c.3d1ff6252d13375a.14dcfee0b45668b5
+    e2e823f1fc15de5d
+  after
+    8c419b68e9c69d73.bafa353551a25467.46b48a7dd8000fc0.313cbec68670df4e
+    f3185309c7b360a0.23de85e7f3ba676c.d7ca3327879cb597.17d247361590a45a
+    2a09854ad64de91c.16da21aeefac01e4.8b55d9bb9a9e8466.9a985ec5f0031343
+    0fe0ad1832a0f513.ef3804f7e2035f7c.3d1ff6252d13375a.14dcfee0b45668b5
+    0000000000000001
+
+VCVTPS2PD_128(reg)
+  before
+    6109ca6565cab2e7.7d69475df9b640b0.0a452b2c674cbddf.cbf508515b068b9e
+    eb8aeda98a0320fe.506fd007449d8620.c34d90bb1a1256ba.10a38a2b40833c5f
+    ddb98a28084c634f.63bfc3013161828e.759b310e98e167b9.e8f5f99ff99706c8
+    94e09c4d7a2fb985.94259c37dc0df227.7e7d09937d452c87.2eb7cf99a14da407
+    c0b48a0655b1d345
+  after
+    6109ca6565cab2e7.7d69475df9b640b0.0a452b2c674cbddf.cbf508515b068b9e
+    0000000000000000.0000000000000000.c51ebf33e0000000.c732e0d900000000
+    ddb98a28084c634f.63bfc3013161828e.759b310e98e167b9.e8f5f99ff99706c8
+    94e09c4d7a2fb985.94259c37dc0df227.7e7d09937d452c87.2eb7cf99a14da407
+    c0b48a0655b1d345
+VCVTPS2PD_128(mem)
+  before
+    78baa5d030d04fb1.6a4d20867d3a5b4d.bd6dd8955fad8f17.393d14b564cbe1d0
+    34939ce54eb5d374.bc4a103eacf98853.bc63f107d94d1889.02284fdfe9fec142
+    ce0cec2fcc6d1cbd.e6246ae1a4f77a42.6cd3657964fa47a9.348ab47fa96b0987
+    24f10f9cc602e6b6.442729db00c06ec7.a888afd71cbfd9a5.2daf41013f9df44b
+    48e3f1cf4820c03b
+  after
+    78baa5d030d04fb1.6a4d20867d3a5b4d.bd6dd8955fad8f17.393d14b564cbe1d0
+    0000000000000000.0000000000000000.3f27a296a0000000.44997c3a00000000
+    ce0cec2fcc6d1cbd.e6246ae1a4f77a42.6cd3657964fa47a9.348ab47fa96b0987
+    24f10f9cc602e6b6.442729db00c06ec7.a888afd71cbfd9a5.2daf41013f9df44b
+    48e3f1cf4820c03b
+
+VCVTPS2PD_128(reg)
+  before
+    e072c1566081a703.100e83175782ed8c.329e49985ce0a08d.4e504c0d1ea88aa7
+    53a7ab02214be64e.702ec38c9cf9ec6a.0cd7c78555e44c41.38f5b60885c215db
+    fbcfad402a0ab8c9.1e1f4ce7b072a07d.2e1c9d0c8757ad8f.43446bb26e18386e
+    3637c27a144a5b20.f8ab9814aff9c5f0.f4bac99b8dc50022.4c09e6f9f4b7ac8c
+    2d0fa3c734a93060
+  after
+    e072c1566081a703.100e83175782ed8c.329e49985ce0a08d.4e504c0d1ea88aa7
+    0000000000000000.0000000000000000.40688d7640000000.45c3070dc0000000
+    fbcfad402a0ab8c9.1e1f4ce7b072a07d.2e1c9d0c8757ad8f.43446bb26e18386e
+    3637c27a144a5b20.f8ab9814aff9c5f0.f4bac99b8dc50022.4c09e6f9f4b7ac8c
+    2d0fa3c734a93060
+VCVTPS2PD_128(mem)
+  before
+    c3241e0a49fd7e17.5e28e61e7d9809fe.d89f25ffb69a16f0.bafd469c03bb81a7
+    eb12d4ad50bc53dc.d1f115970180fe0f.9bc76e95e06250a9.dc31117d86c46bc9
+    7fa6409c64f46bdc.e9dd4c503b8c7801.1defefc04a5c2f46.b6a224a9b26dfb35
+    5caddec3a1b08243.033786b7c84ab17d.3be2256e10956ff4.a49c7d8b21406d97
+    026a179172ccfc9a
+  after
+    c3241e0a49fd7e17.5e28e61e7d9809fe.d89f25ffb69a16f0.bafd469c03bb81a7
+    0000000000000000.0000000000000000.bf5fa8d380000000.38777034e0000000
+    7fa6409c64f46bdc.e9dd4c503b8c7801.1defefc04a5c2f46.b6a224a9b26dfb35
+    5caddec3a1b08243.033786b7c84ab17d.3be2256e10956ff4.a49c7d8b21406d97
+    026a179172ccfc9a
+
+VCVTPS2PD_128(reg)
+  before
+    2c59ee263f9ae6eb.5ef02a0e24fd533c.7c4dbf374346e632.cf6e8a894c18cbde
+    7db5feb724386535.623ea06909e69bf4.ae69f33c480a53ca.b65d9cff1df10031
+    53ca44aebd31b525.4262bdc16b771596.f6d81f33742433f2.cc7dd6bb9c2cca19
+    09e4bb78a8121467.db27fc0066bc7f4f.b0e63d866320c355.ed98b4a9e8d6e4c1
+    f57ab3b51afb0c56
+  after
+    2c59ee263f9ae6eb.5ef02a0e24fd533c.7c4dbf374346e632.cf6e8a894c18cbde
+    0000000000000000.0000000000000000.c18fbad760000000.bb85994320000000
+    53ca44aebd31b525.4262bdc16b771596.f6d81f33742433f2.cc7dd6bb9c2cca19
+    09e4bb78a8121467.db27fc0066bc7f4f.b0e63d866320c355.ed98b4a9e8d6e4c1
+    f57ab3b51afb0c56
+VCVTPS2PD_128(mem)
+  before
+    c0f14ecb50a5fc04.fb4f5f827e66bca6.095bd91417c2934b.39df4ba2b0883fa0
+    2ac801d7a6e270f6.84562c36ddb9ea8e.a8c8d0e79a950eb5.eb0e45f4f7eae27e
+    0fca48c537bd2658.02471f026197d9cd.943b5e67093fabba.23c025e6d5d2e99c
+    4bc49f812043d857.cf6c3250a58dc60d.a980fe7f83ce2785.3d42e9e6e5cb90a6
+    95de8b5fc4611347
+  after
+    c0f14ecb50a5fc04.fb4f5f827e66bca6.095bd91417c2934b.39df4ba2b0883fa0
+    0000000000000000.0000000000000000.3f3be97440000000.be1107f400000000
+    0fca48c537bd2658.02471f026197d9cd.943b5e67093fabba.23c025e6d5d2e99c
+    4bc49f812043d857.cf6c3250a58dc60d.a980fe7f83ce2785.3d42e9e6e5cb90a6
+    95de8b5fc4611347
+
+VANDNPD_128(reg)
+  before
+    87e109bc0d20ad2c.ba8283f87c7f421f.4912638e4626edfa.c3622c1b224d3e43
+    6f975f6b5d959b00.38d06f14677d22db.cb85ad27dfef8a41.beaf642702c9ac20
+    a94b87d74f4b1970.a17adfc3fe4a32b8.b0100d870c73d98e.7631228f404d2c47
+    914b7f6c80ce6328.d14c4ff05df12fe2.56017d1a6a3e158c.c6b5e33ff7e57be5
+    8c072223439e5525
+  after
+    0000000000000000.0000000000000000.301000800010518e.4010028840040047
+    6f975f6b5d959b00.38d06f14677d22db.cb85ad27dfef8a41.beaf642702c9ac20
+    a94b87d74f4b1970.a17adfc3fe4a32b8.b0100d870c73d98e.7631228f404d2c47
+    914b7f6c80ce6328.d14c4ff05df12fe2.56017d1a6a3e158c.c6b5e33ff7e57be5
+    8c072223439e5525
+VANDNPD_128(mem)
+  before
+    a3f35b2742837634.83e142978babb4d3.a4113b879f7ed584.17a2fb4c94dd7be8
+    e7450a380da0993e.db5accc20d6d491e.f5972073e0fedfcb.5040828927db464e
+    33c9ac40c2027b6e.f502195aa1a15db4.a2a879a23d7c0ae2.5e270e3ebfc4b369
+    654abc2d7db4d8f1.2c2526cce3d22e42.8611c200d10412f6.9ba39cd5f625fee5
+    640027bc6b896370
+  after
+    a3f35b2742837634.83e142978babb4d3.a4113b879f7ed584.17a2fb4c94dd7be8
+    e7450a380da0993e.db5accc20d6d491e.f5972073e0fedfcb.5040828927db464e
+    0000000000000000.0000000000000000.00001b841f000004.07a27944900439a0
+    654abc2d7db4d8f1.2c2526cce3d22e42.8611c200d10412f6.9ba39cd5f625fee5
+    640027bc6b896370
+
+VANDNPD_128(reg)
+  before
+    168aaa5db77c1eb3.5895b6ea59c26bf2.de0fee83708cf673.7d9e7877b9a3b333
+    0b8c2426798b6a5d.e77616637239f19e.660b6deae45bf2f5.621a15f41064a8c4
+    a0538e824a418418.f0b95884e5242620.20669f6fdacc5d71.13531763f353aed5
+    312ce5ddc92aa790.4e2af939ce90c5a5.676d807dee6a7596.6a13f9b17d7d8194
+    452737c8cbeddc2b
+  after
+    0000000000000000.0000000000000000.006492051a840d00.11410203e3130611
+    0b8c2426798b6a5d.e77616637239f19e.660b6deae45bf2f5.621a15f41064a8c4
+    a0538e824a418418.f0b95884e5242620.20669f6fdacc5d71.13531763f353aed5
+    312ce5ddc92aa790.4e2af939ce90c5a5.676d807dee6a7596.6a13f9b17d7d8194
+    452737c8cbeddc2b
+VANDNPD_128(mem)
+  before
+    7f5b4e96f8b07cc6.1a6126a38fd31173.dc95746e47878c59.996a0d80bdc2740e
+    f37bb80620d01d92.b83e4c403ac7fc6a.78c5450f6f173567.11aa41e4e25f9685
+    7e53f304605c7bbb.651153206692a424.fc88e808604c7cfc.2a781815facd19a8
+    fdaf7a7cd45d516c.7e2538b0aec1474b.46a8d94636311f44.42228e7fa1993723
+    b3f2a08f714e2da1
+  after
+    7f5b4e96f8b07cc6.1a6126a38fd31173.dc95746e47878c59.996a0d80bdc2740e
+    f37bb80620d01d92.b83e4c403ac7fc6a.78c5450f6f173567.11aa41e4e25f9685
+    0000000000000000.0000000000000000.8410306000808818.88400c001d80600a
+    fdaf7a7cd45d516c.7e2538b0aec1474b.46a8d94636311f44.42228e7fa1993723
+    b3f2a08f714e2da1
+
+VANDNPD_128(reg)
+  before
+    db3648af097836cf.4a5aca5a97e15cd2.5fc5f55aaedf1f8b.30f295b30ed2d86a
+    1438844d02a38f59.43215d8ac5f35818.643e888b03796992.9732973d033b649a
+    bc4550d3fa5c74ea.c2d1b1f87b9f006c.e9dcecb049196109.58335bce32797f02
+    2da9a6af8d2f212e.a4344190d5f211f7.4aeb1e341b4e429f.4dc35e54b697e4cc
+    53ac1abaaba25024
+  after
+    0000000000000000.0000000000000000.89c0643048000009.480148c230401b00
+    1438844d02a38f59.43215d8ac5f35818.643e888b03796992.9732973d033b649a
+    bc4550d3fa5c74ea.c2d1b1f87b9f006c.e9dcecb049196109.58335bce32797f02
+    2da9a6af8d2f212e.a4344190d5f211f7.4aeb1e341b4e429f.4dc35e54b697e4cc
+    53ac1abaaba25024
+VANDNPD_128(mem)
+  before
+    47bb0dec2ea57f37.c5af844c56a6d2d3.c616893fedf747e7.e3b7188215a149fe
+    03bdb2d65bac2c31.dea5e516f24fc282.024505efe2bb5e68.0f8bd808d4a0b2d2
+    647b85644dc3143d.d5d5c579fcb62eea.358c328ece4911a6.2cb55931f3d6b9c8
+    46c4038221f7f388.078c20e1106551b5.3bb68b07cdad1dcc.957f97690fcf998c
+    a6368e1cc3188fca
+  after
+    47bb0dec2ea57f37.c5af844c56a6d2d3.c616893fedf747e7.e3b7188215a149fe
+    03bdb2d65bac2c31.dea5e516f24fc282.024505efe2bb5e68.0f8bd808d4a0b2d2
+    0000000000000000.0000000000000000.c41288100d440187.e03400820101492c
+    46c4038221f7f388.078c20e1106551b5.3bb68b07cdad1dcc.957f97690fcf998c
+    a6368e1cc3188fca
+
+VORPD_128(reg)
+  before
+    bb263bb7ac3dd62d.8563a61df253853d.ce16f2bacbea6990.f0908c45fcf43e06
+    2f9b99a465c8ac61.fd23ec1fdce48589.87bf3870c9d1b026.30e6b13676282f82
+    60e0a4508b474b13.8ad25076fcb5b098.8ed3ed6fa5a46224.d78477c55858ae69
+    a9435828b945f0ef.083a4f0c6dd2c295.409d0d24fbf1bd35.c23659debd8d75ea
+    cbc7d36dc1d5402f
+  after
+    0000000000000000.0000000000000000.8ffffd7fedf5f226.f7e6f7f77e78afeb
+    2f9b99a465c8ac61.fd23ec1fdce48589.87bf3870c9d1b026.30e6b13676282f82
+    60e0a4508b474b13.8ad25076fcb5b098.8ed3ed6fa5a46224.d78477c55858ae69
+    a9435828b945f0ef.083a4f0c6dd2c295.409d0d24fbf1bd35.c23659debd8d75ea
+    cbc7d36dc1d5402f
+VORPD_128(mem)
+  before
+    cf05615f813bcd64.650eb2968b4fd6a0.532863cf4c4877ad.f76b95fa6844fb06
+    a9ba7f9e19ccd6b6.f28eac089ff03bd3.47680aaab4228a0b.10877f5c87275943
+    37b3aa17a4931751.aa0f44e98eb45934.c0c5bf89c26cb8dc.e73ec9b8f5291397
+    54bc5db73e9c4e61.ebdd75a5f6276c6e.9a0dfe589133bc4c.d8dc6e794dd364af
+    3fad6a0b2cb38936
+  after
+    cf05615f813bcd64.650eb2968b4fd6a0.532863cf4c4877ad.f76b95fa6844fb06
+    a9ba7f9e19ccd6b6.f28eac089ff03bd3.47680aaab4228a0b.10877f5c87275943
+    0000000000000000.0000000000000000.57686beffc6affaf.f7effffeef67fb47
+    54bc5db73e9c4e61.ebdd75a5f6276c6e.9a0dfe589133bc4c.d8dc6e794dd364af
+    3fad6a0b2cb38936
+
+VORPD_128(reg)
+  before
+    78fcbada2d54bed9.dca1146904f43511.0f443ca873d6b22d.b10a44033e825486
+    df175852ed423e44.ab2d4b1812a6898d.7490935e9f4d651f.e1890b76e4653ab7
+    d04842df070a4722.9d2e7eb283be0602.740c78331916c2ee.0656d19da0e92b0a
+    a7dc73ed18371320.8e6e2a227349679c.6d05e6937bbf0446.fc3d11658d19e2ac
+    9e0a48b8c8011cc8
+  after
+    0000000000000000.0000000000000000.749cfb7f9f5fe7ff.e7dfdbffe4ed3bbf
+    df175852ed423e44.ab2d4b1812a6898d.7490935e9f4d651f.e1890b76e4653ab7
+    d04842df070a4722.9d2e7eb283be0602.740c78331916c2ee.0656d19da0e92b0a
+    a7dc73ed18371320.8e6e2a227349679c.6d05e6937bbf0446.fc3d11658d19e2ac
+    9e0a48b8c8011cc8
+VORPD_128(mem)
+  before
+    ca89f0846cae958b.bf1fe8e9bb56dee9.59baca54ff526986.b9c7d9eb61d469d4
+    5b8587b3952b0921.765d9b3d8cf2e62a.dcdeda3442e5c8ed.b59e4ea568df2b44
+    2ccb8833608433b6.27e28a572897658e.f2a6d6ae590f40fd.bed6402f2b6e8641
+    1b276fefe9c6d174.2ef9b0a22bd197c3.76de3baf5fdb8ce1.2ebbabf3470db878
+    62988b5f5746fb94
+  after
+    ca89f0846cae958b.bf1fe8e9bb56dee9.59baca54ff526986.b9c7d9eb61d469d4
+    5b8587b3952b0921.765d9b3d8cf2e62a.dcdeda3442e5c8ed.b59e4ea568df2b44
+    0000000000000000.0000000000000000.ddfeda74fff7e9ef.bddfdfef69df6bd4
+    1b276fefe9c6d174.2ef9b0a22bd197c3.76de3baf5fdb8ce1.2ebbabf3470db878
+    62988b5f5746fb94
+
+VORPD_128(reg)
+  before
+    b6badcdef8a78c42.0365b8d34bfc9c8a.e7f00989302dba72.46518421715669c6
+    876d9bdcc5bca72e.bf51e0cba2325322.ad11927ad336084a.3ccd2df1aa8a93d7
+    2ffdc2c55b0f8703.2db762c30b75b069.dea946e0b179bef5.361cb20c2785c541
+    0bb64f05552e696e.2762baa7a1d0708a.d50420276581181f.0f0b8f5d0353bc2f
+    a26641cf5aff34ce
+  after
+    0000000000000000.0000000000000000.ffb9d6faf37fbeff.3eddbffdaf8fd7d7
+    876d9bdcc5bca72e.bf51e0cba2325322.ad11927ad336084a.3ccd2df1aa8a93d7
+    2ffdc2c55b0f8703.2db762c30b75b069.dea946e0b179bef5.361cb20c2785c541
+    0bb64f05552e696e.2762baa7a1d0708a.d50420276581181f.0f0b8f5d0353bc2f
+    a26641cf5aff34ce
+VORPD_128(mem)
+  before
+    ccf943504995e94a.77e43d084fa5891a.8b20646381504fb2.ed6e1ebb8cda5175
+    6a8f11cbec2196ce.cfd2893ae6ff22b4.33bbdde4c7ff080c.84323c09c110a7a3
+    56f6272c5eb0f887.6fce2e08b6c871e8.fc009f148dec59c5.f49e747ba1b05354
+    6ef8025fbb4dcba1.b32227dc5a8cb261.c3bb28e1f220fb09.9bfcc47ec7469435
+    d399277fd05ca4f2
+  after
+    ccf943504995e94a.77e43d084fa5891a.8b20646381504fb2.ed6e1ebb8cda5175
+    6a8f11cbec2196ce.cfd2893ae6ff22b4.33bbdde4c7ff080c.84323c09c110a7a3
+    0000000000000000.0000000000000000.bbbbfde7c7ff4fbe.ed7e3ebbcddaf7f7
+    6ef8025fbb4dcba1.b32227dc5a8cb261.c3bb28e1f220fb09.9bfcc47ec7469435
+    d399277fd05ca4f2
+
+VXORPD_128(reg)
+  before
+    fac199e95780c036.8c621d512005ca47.f71b72246ed821cc.62b7f4350fa9ad03
+    6ac01727f93e24ad.8d00f4eca9e2b2a5.97050b4a8f37f9d4.b7c27dfe029229e0
+    81e19ba751200b05.4e9e031d71f33fe9.ef2cecbc58357726.9ca64127e7e72ccc
+    997223d4fcb4b3e7.a908c6d194412d3c.5bdb13e5665fd76e.ee30ba9cd9b572f2
+    892d6649f507b77e
+  after
+    0000000000000000.0000000000000000.7829e7f6d7028ef2.2b643cd9e575052c
+    6ac01727f93e24ad.8d00f4eca9e2b2a5.97050b4a8f37f9d4.b7c27dfe029229e0
+    81e19ba751200b05.4e9e031d71f33fe9.ef2cecbc58357726.9ca64127e7e72ccc
+    997223d4fcb4b3e7.a908c6d194412d3c.5bdb13e5665fd76e.ee30ba9cd9b572f2
+    892d6649f507b77e
+VXORPD_128(mem)
+  before
+    4966c11a56eab69e.0fbdaa1a95855502.7b09baf22fda37cd.37607b3155405557
+    0baa45fb18692c7b.3f0f2ce5b8203000.a06e5a6e5dc91ac6.de05200cbf652c8e
+    a9c470d95890d444.86b5a6a102107e8e.f40422303b1b9254.ae17ffe2435999be
+    007fbd9e326c6c23.3ef813ba0fe17c57.53958e24e4db5aa2.02e2121f7aa8d894
+    36b2573003de24bc
+  after
+    4966c11a56eab69e.0fbdaa1a95855502.7b09baf22fda37cd.37607b3155405557
+    0baa45fb18692c7b.3f0f2ce5b8203000.a06e5a6e5dc91ac6.de05200cbf652c8e
+    0000000000000000.0000000000000000.db67e09c72132d0b.e9655b3dea2579d9
+    007fbd9e326c6c23.3ef813ba0fe17c57.53958e24e4db5aa2.02e2121f7aa8d894
+    36b2573003de24bc
+
+VXORPD_128(reg)
+  before
+    a5d2c97f7788bae1.eca9a838c108ae44.c4276f9d7a206608.9aed1b36751530dd
+    ad90647a7432d6af.490cad91217056d5.748db6b4df58784c.a3da435209d5ce30
+    a936258b9666b4d4.f37549976fb022ff.aa75e46ddb16edd0.4b278464bc28f0c8
+    f411072078b28ffa.c6b0f635c6d5ccf1.c32cf63309e40240.6e9f5a58ac1a54d1
+    e80f3f1bf2b5b476
+  after
+    0000000000000000.0000000000000000.def852d9044e959c.e8fdc736b5fd3ef8
+    ad90647a7432d6af.490cad91217056d5.748db6b4df58784c.a3da435209d5ce30
+    a936258b9666b4d4.f37549976fb022ff.aa75e46ddb16edd0.4b278464bc28f0c8
+    f411072078b28ffa.c6b0f635c6d5ccf1.c32cf63309e40240.6e9f5a58ac1a54d1
+    e80f3f1bf2b5b476
+VXORPD_128(mem)
+  before
+    9444b197ac07cce3.ec6d05a4b6a1a4cd.9e88325743eb11d5.19fee7710650f247
+    50072abaf61c5a46.eb961e83edc02ffa.57cb79e901fcadd7.0937b3956de6fb92
+    f727286eebfe18c9.4fd84b29b99a6b2d.cd4345d71d165b24.ef23560adb3157cc
+    656f27a1a7bbc398.727e8a02b5bb9511.dbbd140db245d8e8.270ecc3cebbd43a2
+    0d4312973a16fac0
+  after
+    9444b197ac07cce3.ec6d05a4b6a1a4cd.9e88325743eb11d5.19fee7710650f247
+    50072abaf61c5a46.eb961e83edc02ffa.57cb79e901fcadd7.0937b3956de6fb92
+    0000000000000000.0000000000000000.c9434bbe4217bc02.10c954e46bb609d5
+    656f27a1a7bbc398.727e8a02b5bb9511.dbbd140db245d8e8.270ecc3cebbd43a2
+    0d4312973a16fac0
+
+VXORPD_128(reg)
+  before
+    fd0f238763c9b9d1.76aaa13e475e17e0.b2d6d57a7db0e953.5f056177dd93e04f
+    52bffb790361bc82.06a61431e6f4cfcd.692a2afdae04a39e.34e7a802b90e2f84
+    6a9d96d7b56b3f7e.f02dfb66a188a88b.f4c785f8e443fea0.362f659862c280b3
+    a0f5f10f15717d72.120cd2c993275e44.b0f9e0d5b9fa3702.41a91527f6b99009
+    302032998e011bb2
+  after
+    0000000000000000.0000000000000000.9dedaf054a475d3e.02c8cd9adbccaf37
+    52bffb790361bc82.06a61431e6f4cfcd.692a2afdae04a39e.34e7a802b90e2f84
+    6a9d96d7b56b3f7e.f02dfb66a188a88b.f4c785f8e443fea0.362f659862c280b3
+    a0f5f10f15717d72.120cd2c993275e44.b0f9e0d5b9fa3702.41a91527f6b99009
+    302032998e011bb2
+VXORPD_128(mem)
+  before
+    e1613adc48a6dcd9.5015078bc002b309.470f1546d9dbad27.f70c3901ccb48a72
+    2f38a8db40b290ab.d648d4b952a71df1.6a0141c98eb2505e.264b8be9b6fd329c
+    f571f9829134f354.8dd9540466eef7d3.59b0d13fcfb80416.9a04d2f816626c2c
+    11d8a7bd5735c0ff.d31583d898627c5e.efe64192b7f7857a.ad810a9a856e74cd
+    bc0f303ba1ad862b
+  after
+    e1613adc48a6dcd9.5015078bc002b309.470f1546d9dbad27.f70c3901ccb48a72
+    2f38a8db40b290ab.d648d4b952a71df1.6a0141c98eb2505e.264b8be9b6fd329c
+    0000000000000000.0000000000000000.2d0e548f5769fd79.d147b2e87a49b8ee
+    11d8a7bd5735c0ff.d31583d898627c5e.efe64192b7f7857a.ad810a9a856e74cd
+    bc0f303ba1ad862b
+
+VXORPS_128(reg)
+  before
+    23fa3e4706acddf4.5d393078afc3b5d8.03485ea08590e93c.07700db0637e8eb7
+    3e8e322a4ff6b6d1.b75f0f9fb4e98c0d.78bee0cbc8037a19.7f1bb183ee56dcf9
+    6917085019174d71.f918c11e83b301c8.90c305c2fe476aa2.31b0aaf9758d2b6b
+    00e0ba25ff9cdd7e.012ec0e2372ed235.a6a3c9f2c2e8f683.fbfe73fd132e3739
+    b7d0887be445bb91
+  after
+    0000000000000000.0000000000000000.e87de509364410bb.4eab1b7a9bdbf792
+    3e8e322a4ff6b6d1.b75f0f9fb4e98c0d.78bee0cbc8037a19.7f1bb183ee56dcf9
+    6917085019174d71.f918c11e83b301c8.90c305c2fe476aa2.31b0aaf9758d2b6b
+    00e0ba25ff9cdd7e.012ec0e2372ed235.a6a3c9f2c2e8f683.fbfe73fd132e3739
+    b7d0887be445bb91
+VXORPS_128(mem)
+  before
+    42f1655f05df749c.5f3646169d10a4a4.a96e8ad5ed65b981.15a929c7b1735a67
+    792f879592071e89.e266a78d90ffdc91.cea49ae5c06573d8.3b2220ae6674d2fb
+    36546909a6ca7482.e5bad9f874f6c1ee.4d9b6cfdcd38bc65.725aaa117e7599eb
+    562d87a75d3333b4.c47fd8c1e480916a.00217c082fed4f55.189dc35e9404ece2
+    8737670045ac078c
+  after
+    42f1655f05df749c.5f3646169d10a4a4.a96e8ad5ed65b981.15a929c7b1735a67
+    792f879592071e89.e266a78d90ffdc91.cea49ae5c06573d8.3b2220ae6674d2fb
+    0000000000000000.0000000000000000.67ca10302d00ca59.2e8b0969d707889c
+    562d87a75d3333b4.c47fd8c1e480916a.00217c082fed4f55.189dc35e9404ece2
+    8737670045ac078c
+
+VXORPS_128(reg)
+  before
+    1c7493622cfa2597.b6855d5cd44e174a.db00a0567c2a86af.c40047f4038de9d3
+    349f42f2e67983ac.302a67122627dc71.868b2e22d97fdd69.760648ac6426460c
+    2906701b0eb55d7a.a1e722b770cb3d54.216a7d91960bd145.f0fdfb1c6ec3212c
+    58f31949403befab.e5870936cd45f720.08eb890f505a9fef.0fb2dc303e71375e
+    aff067d5f03b44cf
+  after
+    0000000000000000.0000000000000000.a7e153b34f740c2c.86fbb3b00ae56720
+    349f42f2e67983ac.302a67122627dc71.868b2e22d97fdd69.760648ac6426460c
+    2906701b0eb55d7a.a1e722b770cb3d54.216a7d91960bd145.f0fdfb1c6ec3212c
+    58f31949403befab.e5870936cd45f720.08eb890f505a9fef.0fb2dc303e71375e
+    aff067d5f03b44cf
+VXORPS_128(mem)
+  before
+    ac8519f59f2d04ab.1eb33ae9199674ec.d8d7987a5aa2c601.96584f08a2f98312
+    e23b6d7d6753321d.d592cd65355229e8.56a34b7132ed6522.29fec9e82973b95b
+    2de0df5a65ba8b51.dadbd02a2efc4a4c.3cb79f06723292b0.1c28f51c80557c76
+    6a3eec76b56ecb74.89dc3ea5a31f12c3.64df0e25357e07d6.cb24ce0e442a090e
+    913d502c107e9cd0
+  after
+    ac8519f59f2d04ab.1eb33ae9199674ec.d8d7987a5aa2c601.96584f08a2f98312
+    e23b6d7d6753321d.d592cd65355229e8.56a34b7132ed6522.29fec9e82973b95b
+    0000000000000000.0000000000000000.8e74d30b684fa323.bfa686e08b8a3a49
+    6a3eec76b56ecb74.89dc3ea5a31f12c3.64df0e25357e07d6.cb24ce0e442a090e
+    913d502c107e9cd0
+
+VXORPS_128(reg)
+  before
+    ccbe78e080dd7167.73220ebf7179adb2.3edf14402e48bffa.abe616bb98dc80c1
+    d6f4419831d4c380.2458c320b8e9ef36.55324c696b018a9d.ed9a32b2b658bb9d
+    0d2ba7bfbfefcfc7.5bab8685a4c94b2d.2a1fe48bf7d8b257.06c5dff7abfe7295
+    cbafa6c1c5b8d1e7.f3e9d3da51267dc3.19f3d7116d5971d5.d234977794db61d6
+    2cb3d81c8dfb468b
+  after
+    0000000000000000.0000000000000000.7f2da8e29cd938ca.eb5fed451da6c908
+    d6f4419831d4c380.2458c320b8e9ef36.55324c696b018a9d.ed9a32b2b658bb9d
+    0d2ba7bfbfefcfc7.5bab8685a4c94b2d.2a1fe48bf7d8b257.06c5dff7abfe7295
+    cbafa6c1c5b8d1e7.f3e9d3da51267dc3.19f3d7116d5971d5.d234977794db61d6
+    2cb3d81c8dfb468b
+VXORPS_128(mem)
+  before
+    f20e1dd4b168dbe1.6ecc3a09dfbd048c.c8dc260bdc0b4323.7ef922696a0f05c2
+    ff10e3891c30dd04.50cd6006aa89a564.b651fc046084577a.b57fbffe8986a7cb
+    2f87a429eb5f081f.cfff1221c2a9f018.9914d0b1f99e76f3.1acfac3d674a969c
+    5e3dde9f39ff175e.45af4ec7c2a82157.4df11effc5645bbb.0937e4909fe80ce0
+    de016364cdeb4644
+  after
+    f20e1dd4b168dbe1.6ecc3a09dfbd048c.c8dc260bdc0b4323.7ef922696a0f05c2
+    ff10e3891c30dd04.50cd6006aa89a564.b651fc046084577a.b57fbffe8986a7cb
+    0000000000000000.0000000000000000.7e8dda0fbc8f1459.cb869d97e389a209
+    5e3dde9f39ff175e.45af4ec7c2a82157.4df11effc5645bbb.0937e4909fe80ce0
+    de016364cdeb4644
+
+VMULSD_128(reg)
+  before
+    f57a25258fdf8073.67ff0cd7231ec7ef.10271064461273cb.adb462d8dde2c3fe
+    aaee27407e51f51a.2899aabdc5c8d4fc.8ab45265eb742321.9729192a5f256ae7
+    59a8632038cce2e4.7cd7343d3907fab1.10a112344c596d04.e61bbedf67380ca3
+    5df6d73059dd837e.3e8527449ee9f43b.ff3c4b3f064d8c21.7557cde51027645d
+    22a9c22776ff3042
+  after
+    0000000000000000.0000000000000000.8ab45265eb742321.3d55c2f06430bdc0
+    aaee27407e51f51a.2899aabdc5c8d4fc.8ab45265eb742321.9729192a5f256ae7
+    59a8632038cce2e4.7cd7343d3907fab1.10a112344c596d04.e61bbedf67380ca3
+    5df6d73059dd837e.3e8527449ee9f43b.ff3c4b3f064d8c21.7557cde51027645d
+    22a9c22776ff3042
+VMULSD_128(mem)
+  before
+    c8dd1991b6cb297d.14227fde7c0f1494.4c6efdbc0d7a7fc6.b1cff9f1b4ddbe23
+    42bf4f0fec980e3b.d97955953deed0d2.81603593a4c5577d.83a818b6f3943cb7
+    6e1bdf8d327099a8.084857c13907f4e2.b82548b37fd6378d.d111a5f95efe4589
+    26bc45f7a76187ef.fcd880ce0be4bb73.cf8ab30ab9b9dc22.f7579b2891a81344
+    51c6f6af2a1de395
+  after
+    c8dd1991b6cb297d.14227fde7c0f1494.4c6efdbc0d7a7fc6.b1cff9f1b4ddbe23
+    42bf4f0fec980e3b.d97955953deed0d2.81603593a4c5577d.83a818b6f3943cb7
+    0000000000000000.0000000000000000.81603593a4c5577d.0000000000000000
+    26bc45f7a76187ef.fcd880ce0be4bb73.cf8ab30ab9b9dc22.f7579b2891a81344
+    51c6f6af2a1de395
+
+VMULSD_128(reg)
+  before
+    3ca9b2f8c2eaf127.4870fd3a6577943d.1378cc285014632f.a05bf3836f7b0267
+    124ecb70f79979a7.ae01844088bd7bbe.a773373ba32026c3.09648309bc276589
+    30ff3e8365b8b6c1.363c54f62d3ffa9d.1614be74a19641da.e470df8abcc9c0b3
+    f209069ea7d3e520.baedeb496f09ca07.baa85b3de501ef21.0e4d83f18c6ed012
+    64c5ec2b482151d1
+  after
+    0000000000000000.0000000000000000.a773373ba32026c3.ade5a19df010190b
+    124ecb70f79979a7.ae01844088bd7bbe.a773373ba32026c3.09648309bc276589
+    30ff3e8365b8b6c1.363c54f62d3ffa9d.1614be74a19641da.e470df8abcc9c0b3
+    f209069ea7d3e520.baedeb496f09ca07.baa85b3de501ef21.0e4d83f18c6ed012
+    64c5ec2b482151d1
+VMULSD_128(mem)
+  before
+    c0a594220beffe1d.b4b81f2b59754171.17dfc4246b28aa27.f17c0c040cee6e43
+    ffb9f9c3f1e39422.d2588598182a085f.2ae05c723ca7542a.15dacc33b1e8f8ee
+    fecd97fa1709cf0b.a73535507f7e7497.cdba2d21fe93853b.840e9838717bc9cb
+    97ade8b4986d6b05.919b29bf2bfec2c5.dd3bb51ccef7f987.98666b7ee7341f88
+    ae2d4071b09e34d1
+  after
+    c0a594220beffe1d.b4b81f2b59754171.17dfc4246b28aa27.f17c0c040cee6e43
+    ffb9f9c3f1e39422.d2588598182a085f.2ae05c723ca7542a.15dacc33b1e8f8ee
+    0000000000000000.0000000000000000.2ae05c723ca7542a.c7677cbd336945e4
+    97ade8b4986d6b05.919b29bf2bfec2c5.dd3bb51ccef7f987.98666b7ee7341f88
+    ae2d4071b09e34d1
+
+VMULSD_128(reg)
+  before
+    23ae157d67454552.a7246adc911c233b.ebd55f51b7352d94.362d6f4fc8df6c3a
+    5136e60ea8b68eb6.0aff985d1d21b4da.1130d272c0b0f3b1.b55dd7a60757997f
+    9511ad90107c4aa9.9c0bee255989da0e.5ff87f8ee1fa4dc7.34966a0ea86c3d83
+    4c8b686f3a23b6d9.3a12e81f605f5002.30796011b79f7a83.90a6a371c6291371
+    a557fdbc7d9bd976
+  after
+    0000000000000000.0000000000000000.1130d272c0b0f3b1.aa04e72a266e47be
+    5136e60ea8b68eb6.0aff985d1d21b4da.1130d272c0b0f3b1.b55dd7a60757997f
+    9511ad90107c4aa9.9c0bee255989da0e.5ff87f8ee1fa4dc7.34966a0ea86c3d83
+    4c8b686f3a23b6d9.3a12e81f605f5002.30796011b79f7a83.90a6a371c6291371
+    a557fdbc7d9bd976
+VMULSD_128(mem)
+  before
+    4f77f7dceacd49be.d0f01218c3380ef0.bee102374fafd4e3.e2ff7367dd2bb590
+    6ad00abc28cb1f74.7e8ba7f547468d9a.0543b959418620dc.d0d6b3fdf02b399c
+    d22fb34754a219c5.b2aa237461d97084.eb06887153eff01a.56491d3d8b2a4350
+    63606f6b895df1dc.c89783ffad7ef35a.4cf4eb6ba0f602c9.cfa6ab954bb50e5b
+    99375b70cb57d766
+  after
+    4f77f7dceacd49be.d0f01218c3380ef0.bee102374fafd4e3.e2ff7367dd2bb590
+    6ad00abc28cb1f74.7e8ba7f547468d9a.0543b959418620dc.d0d6b3fdf02b399c
+    0000000000000000.0000000000000000.0543b959418620dc.73e6503e89846ca1
+    63606f6b895df1dc.c89783ffad7ef35a.4cf4eb6ba0f602c9.cfa6ab954bb50e5b
+    99375b70cb57d766
+
+VADDSD_128(reg)
+  before
+    0e492839a79cda20.f92eb913e40864e6.1c9fc204c8c052c7.04da5f3444a81014
+    8c280e5e7c115333.70670d2b81b02e0f.0a0edcee4d2cc878.ef855eb65c10d628
+    6d1f094ae6417d4c.a4d5e89f7a600a82.ee30cd29d94c9218.e8bf66df043a1230
+    0f7c166980b89616.7145c55bed24b56c.2450922107afec54.cd54f29957327e59
+    79127ed27105d7cf
+  after
+    0000000000000000.0000000000000000.0a0edcee4d2cc878.ef855eb65c10d628
+    8c280e5e7c115333.70670d2b81b02e0f.0a0edcee4d2cc878.ef855eb65c10d628
+    6d1f094ae6417d4c.a4d5e89f7a600a82.ee30cd29d94c9218.e8bf66df043a1230
+    0f7c166980b89616.7145c55bed24b56c.2450922107afec54.cd54f29957327e59
+    79127ed27105d7cf
+VADDSD_128(mem)
+  before
+    c8c387756fbfd9bd.cc893028e602d73e.b2831f4bf609ebf8.08bc254274de12d8
+    9635886e6d6a3f50.029353f1b5ac7f6f.455b745cb01a6853.f6be84f8bb673f4f
+    be32fda98514c6b3.0be77b318842c856.059940783863e7a8.4aa3aaaf78d5b065
+    1e876212d6c92a13.44cea455fc4eef9f.ce09fd8da9f12525.60b794d448b4a0c8
+    94463cd1c7914d22
+  after
+    c8c387756fbfd9bd.cc893028e602d73e.b2831f4bf609ebf8.08bc254274de12d8
+    9635886e6d6a3f50.029353f1b5ac7f6f.455b745cb01a6853.f6be84f8bb673f4f
+    0000000000000000.0000000000000000.455b745cb01a6853.f6be84f8bb673f4f
+    1e876212d6c92a13.44cea455fc4eef9f.ce09fd8da9f12525.60b794d448b4a0c8
+    94463cd1c7914d22
+
+VADDSD_128(reg)
+  before
+    419ca01490f7f11f.910033957a94279b.0a97cbc7ac5e30f5.7b7629851fcfdef3
+    c504bb084073c96c.f268ed1e8d817879.b78debf535fec705.eaad3f4eb709cd41
+    7bcc8918719010b5.1f8d0a9a2b9cdad6.a8fb004a32b8ef7b.f67abbd38dacaf39
+    bf3e07b2c2da04a6.f33908f372f209e1.392f0631401ae502.7aa91a00bcc34007
+    5406d6c1605a3bd8
+  after
+    0000000000000000.0000000000000000.b78debf535fec705.f67abbd38dacaf39
+    c504bb084073c96c.f268ed1e8d817879.b78debf535fec705.eaad3f4eb709cd41
+    7bcc8918719010b5.1f8d0a9a2b9cdad6.a8fb004a32b8ef7b.f67abbd38dacaf39
+    bf3e07b2c2da04a6.f33908f372f209e1.392f0631401ae502.7aa91a00bcc34007
+    5406d6c1605a3bd8
+VADDSD_128(mem)
+  before
+    5e5d6d02967e5ed8.eca72f41cddddee9.493a63177b8ec0c3.c773fa18fab0e446
+    76795aaf7a3a6332.6053ff312e26dd2d.ff5a95f0647cbcab.ac14d76afd052af4
+    762819b5269b0613.768d72ee82413c1c.ef651c6c49c9b9c3.455d9993e4a5f1b8
+    3c3427feb9ab05a7.89a385e564b83663.f729737645807338.ee9c3c004c1c753e
+    031cbc1bd0f7f431
+  after
+    5e5d6d02967e5ed8.eca72f41cddddee9.493a63177b8ec0c3.c773fa18fab0e446
+    76795aaf7a3a6332.6053ff312e26dd2d.ff5a95f0647cbcab.ac14d76afd052af4
+    0000000000000000.0000000000000000.ff5a95f0647cbcab.c773fa18fab0e446
+    3c3427feb9ab05a7.89a385e564b83663.f729737645807338.ee9c3c004c1c753e
+    031cbc1bd0f7f431
+
+VADDSD_128(reg)
+  before
+    e02816510cc1a83d.a26aff774c781a19.f7df3280711908ad.f17116fa75aea535
+    e10d450f9d06ce0f.86961d0dfe0e0295.1a8f772c44efeda7.ba0881e4f45d0ce7
+    621745bf1e53a253.c283fdabe8787949.50fd4f567ac722fc.2fbc3120de9c6479
+    bf9212cf2c335fb5.33ff1b3c28c23a5e.f376b669ae2ce35a.2a57a09a50746818
+    88a64c3f65f3d5f0
+  after
+    0000000000000000.0000000000000000.1a8f772c44efeda7.ba0881e4f45d0ce7
+    e10d450f9d06ce0f.86961d0dfe0e0295.1a8f772c44efeda7.ba0881e4f45d0ce7
+    621745bf1e53a253.c283fdabe8787949.50fd4f567ac722fc.2fbc3120de9c6479
+    bf9212cf2c335fb5.33ff1b3c28c23a5e.f376b669ae2ce35a.2a57a09a50746818
+    88a64c3f65f3d5f0
+VADDSD_128(mem)
+  before
+    2674b1f93a24672c.54caa9aa633342e0.b5d4f4aedaf80203.6146a9d07daa6c6a
+    de8f49b6eb14daf9.7d0a04bc5edd8780.25d002ec19278d62.f4b822f982cef9da
+    8dc2926092cde983.95a02171b9c06a42.5dbdc3e2025a96a7.091a1f4f5923c556
+    0fd806e54e5e51f5.fad6fc35116526d2.3a68b37db09eda00.fdb69b3e9f350d8a
+    2ad99232f0910c21
+  after
+    2674b1f93a24672c.54caa9aa633342e0.b5d4f4aedaf80203.6146a9d07daa6c6a
+    de8f49b6eb14daf9.7d0a04bc5edd8780.25d002ec19278d62.f4b822f982cef9da
+    0000000000000000.0000000000000000.25d002ec19278d62.f4b822f982cef9da
+    0fd806e54e5e51f5.fad6fc35116526d2.3a68b37db09eda00.fdb69b3e9f350d8a
+    2ad99232f0910c21
+
+VMINSD_128(reg)
+  before
+    edcf0197e7c200c7.409e243038d0ce7b.07f98f74015af8db.989c4ca73ffe1597
+    a2e4e3d92054232a.fde0652d6f311b42.1855d89a262a1b0a.53270c4dcc860398
+    a664346538d4b1f3.206a46c70c8cf676.8836d1131b62cd0b.48d36e5b73435f30
+    539af0a5cbcde8d1.860844ed2dee1843.b5e8784c7c8c4889.516eeebe4f40e68b
+    4bc208617c8954d4
+  after
+    0000000000000000.0000000000000000.1855d89a262a1b0a.48d36e5b73435f30
+    a2e4e3d92054232a.fde0652d6f311b42.1855d89a262a1b0a.53270c4dcc860398
+    a664346538d4b1f3.206a46c70c8cf676.8836d1131b62cd0b.48d36e5b73435f30
+    539af0a5cbcde8d1.860844ed2dee1843.b5e8784c7c8c4889.516eeebe4f40e68b
+    4bc208617c8954d4
+VMINSD_128(mem)
+  before
+    129c392f172a6438.06d4130774cb026e.0b85da88ee6240d4.fab6c9afe737c931
+    82c8fc163b30d4e2.1b5c9af6cf5b3c77.8baf84856af42855.b2edbeaaf5ec8bae
+    7711cd0105a75eff.ee7f7fdd7908d297.e250bfd0beb18ef3.3bda55a84439ccad
+    cc4528dc9099beba.db89c02a0d5fff7b.ec35055605a42bda.f0c7891470a9c6d9
+    2c00565c14c9b5e0
+  after
+    129c392f172a6438.06d4130774cb026e.0b85da88ee6240d4.fab6c9afe737c931
+    82c8fc163b30d4e2.1b5c9af6cf5b3c77.8baf84856af42855.b2edbeaaf5ec8bae
+    0000000000000000.0000000000000000.8baf84856af42855.fab6c9afe737c931
+    cc4528dc9099beba.db89c02a0d5fff7b.ec35055605a42bda.f0c7891470a9c6d9
+    2c00565c14c9b5e0
+
+VMINSD_128(reg)
+  before
+    4dd3b8ebcc24d76b.5f2e8993f914b241.3ec6594828ea00ce.852ad4015bd9be35
+    ad8bac2d35466629.0b996d125b24f4bd.738244a36537113d.88fba7bfdd5d0131
+    a9732d8eebbc9fc3.ac524f46d3d3415d.d6087fa761d26d73.d373fa7ba73bb1fa
+    9ed8377b8811bde8.1e25ab197c2f544b.c3a505c0b746521e.41604a20d37f8abb
+    ae8c119c803647a1
+  after
+    0000000000000000.0000000000000000.738244a36537113d.d373fa7ba73bb1fa
+    ad8bac2d35466629.0b996d125b24f4bd.738244a36537113d.88fba7bfdd5d0131
+    a9732d8eebbc9fc3.ac524f46d3d3415d.d6087fa761d26d73.d373fa7ba73bb1fa
+    9ed8377b8811bde8.1e25ab197c2f544b.c3a505c0b746521e.41604a20d37f8abb
+    ae8c119c803647a1
+VMINSD_128(mem)
+  before
+    f5c4cddac86ba5d7.e606c65eabd1fe42.3ddefd787344eab3.96a5d25b031ff9e7
+    f4d4fac6c72a608a.df49d6a4ee899c7e.e449c250d31cbfc2.ab54e2e2e2e9a17d
+    8688124d9a8034e6.e3ed64baedc4d347.f131748cb8c58fa4.5efe32c3f031858a
+    87ac92595c78dc16.4f3e6b0b450ee14a.3f6391173f4b1584.0aefbd68c882e0ba
+    0d727f3f0669eeba
+  after
+    f5c4cddac86ba5d7.e606c65eabd1fe42.3ddefd787344eab3.96a5d25b031ff9e7
+    f4d4fac6c72a608a.df49d6a4ee899c7e.e449c250d31cbfc2.ab54e2e2e2e9a17d
+    0000000000000000.0000000000000000.e449c250d31cbfc2.ab54e2e2e2e9a17d
+    87ac92595c78dc16.4f3e6b0b450ee14a.3f6391173f4b1584.0aefbd68c882e0ba
+    0d727f3f0669eeba
+
+VMINSD_128(reg)
+  before
+    c2d574b34771ed36.d20bf7d72a1e1546.7f87e70291f40032.a9ab95df84b80f8f
+    84629830272617d9.4573bcb41f7f9ba4.d015d40d6e016dac.0dd5facfa21a36f1
+    b166e8214114a950.baae5dda57a6295a.9c342f9777c16464.45ad3ed3b57d49d5
+    a42d5ff531c8df47.0f895737f09f7c94.4030f30c48c12005.2fffdbd7daec0268
+    a5964fc72c731ed5
+  after
+    0000000000000000.0000000000000000.d015d40d6e016dac.0dd5facfa21a36f1
+    84629830272617d9.4573bcb41f7f9ba4.d015d40d6e016dac.0dd5facfa21a36f1
+    b166e8214114a950.baae5dda57a6295a.9c342f9777c16464.45ad3ed3b57d49d5
+    a42d5ff531c8df47.0f895737f09f7c94.4030f30c48c12005.2fffdbd7daec0268
+    a5964fc72c731ed5
+VMINSD_128(mem)
+  before
+    85401690c81e5949.b803f91594cef469.1ed025b60377507f.18551cd87e8cde3c
+    a9c7aa1cc9fa6eef.4b33b2ee05b02563.c54f4243ae396147.80efa667b5aedab4
+    eff889594c121bf4.b70b87ec21fcaee0.ded12dca0df26a17.d4498d2688b44f1a
+    319f2e316c731984.5ad5737c833dcb8d.47245f373bad281c.70b1ce7f93297a1a
+    b07164e0739a975f
+  after
+    85401690c81e5949.b803f91594cef469.1ed025b60377507f.18551cd87e8cde3c
+    a9c7aa1cc9fa6eef.4b33b2ee05b02563.c54f4243ae396147.80efa667b5aedab4
+    0000000000000000.0000000000000000.c54f4243ae396147.80efa667b5aedab4
+    319f2e316c731984.5ad5737c833dcb8d.47245f373bad281c.70b1ce7f93297a1a
+    b07164e0739a975f
+
+VSUBSD_128(reg)
+  before
+    f0d64bb3c491e296.4c871592462727ca.8ede7208c800b715.da12557654765782
+    8c2c7f66219d966a.1d7eba67f53dfff3.b17280fe8bd0af25.74688c737559b274
+    e0bffd642647f088.7e4e9a9b96be5e2b.1ddd99c96939ef69.f2f27f1aba63f61e
+    48dac018701d2c9c.4cc5301c44b8009d.306bbad4fdc8b28c.2e7caa583d9fdfad
+    05d28a171d1a294d
+  after
+    0000000000000000.0000000000000000.b17280fe8bd0af25.74688c739a57e7e9
+    8c2c7f66219d966a.1d7eba67f53dfff3.b17280fe8bd0af25.74688c737559b274
+    e0bffd642647f088.7e4e9a9b96be5e2b.1ddd99c96939ef69.f2f27f1aba63f61e
+    48dac018701d2c9c.4cc5301c44b8009d.306bbad4fdc8b28c.2e7caa583d9fdfad
+    05d28a171d1a294d
+VSUBSD_128(mem)
+  before
+    53bf994574df8f2a.20cbc3f09aaa8651.64adf8d51b36a175.4467de8de308363b
+    f41055cc5eface6f.c4dc0557417a3954.a0d36eb33845fce0.b61e015fb885b422
+    c592399af877a248.8f5a7fba001a8250.dd020fa0b7f0ce0a.e3dd1fb618cc6bec
+    a00fc29a5d63c6e3.df912f8374159df2.f7085589b343d21f.25ee34ff9e689545
+    d99d3da4e6e56fdb
+  after
+    53bf994574df8f2a.20cbc3f09aaa8651.64adf8d51b36a175.4467de8de308363b
+    f41055cc5eface6f.c4dc0557417a3954.a0d36eb33845fce0.b61e015fb885b422
+    0000000000000000.0000000000000000.a0d36eb33845fce0.c467de8de308363b
+    a00fc29a5d63c6e3.df912f8374159df2.f7085589b343d21f.25ee34ff9e689545
+    d99d3da4e6e56fdb
+
+VSUBSD_128(reg)
+  before
+    5b3835128dd03557.62546ab8a9c9f869.0fcd0f1f38f8c5e5.caafbe5b484ac64a
+    080a18b62fb42368.e72cafe0fab6f109.7a591efbe94e37d6.32c5c500931264b7
+    3a5ee3fa671d74b8.0b650cfe693570ed.7e83558122a32f71.0b14e766b0a66893
+    4e81904cd19865f4.aac9fdff14522f41.7695b11f8084e961.31699e77ba13900a
+    80906821cd649648
+  after
+    0000000000000000.0000000000000000.7a591efbe94e37d6.32c5c500931264b7
+    080a18b62fb42368.e72cafe0fab6f109.7a591efbe94e37d6.32c5c500931264b7
+    3a5ee3fa671d74b8.0b650cfe693570ed.7e83558122a32f71.0b14e766b0a66893
+    4e81904cd19865f4.aac9fdff14522f41.7695b11f8084e961.31699e77ba13900a
+    80906821cd649648
+VSUBSD_128(mem)
+  before
+    d454c04f06a53778.a0bf1d170ab031c7.a026fecd171aec33.bddc2f3f9e7ca053
+    098322ed80e32fc6.8c6485c6adf116de.c9468c558d9860ec.b1a4ca4f181791f3
+    fbe70be75829395f.6ebcc4c757e84ee4.01f6228492d84a9b.ac397eba8be1f8ec
+    864df529a983126f.a213d785a3201686.23013c4543e7646a.0ce747ec936710eb
+    2bf92251cb35169b
+  after
+    d454c04f06a53778.a0bf1d170ab031c7.a026fecd171aec33.bddc2f3f9e7ca053
+    098322ed80e32fc6.8c6485c6adf116de.c9468c558d9860ec.b1a4ca4f181791f3
+    0000000000000000.0000000000000000.c9468c558d9860ec.3ddc2f3f9e7ca053
+    864df529a983126f.a213d785a3201686.23013c4543e7646a.0ce747ec936710eb
+    2bf92251cb35169b
+
+VSUBSD_128(reg)
+  before
+    67bd0a55cfd546a9.86815ea08ffe7621.84b4b96d2e26a96f.0d355683bcd06b85
+    1a7dfb643cd5dcc0.d64fc13628a521a2.70ed65e99385444d.9a5ced2c189f1b19
+    a286f1ebadc1138d.54839bd88d84ce1e.c208da666ec923c9.a6447b2b73612f52
+    5924e954bf2328bc.dbe96673dca83ac0.d55211505c7e8292.0db77e6cea21645b
+    aa8271db98eb7661
+  after
+    0000000000000000.0000000000000000.70ed65e99385444d.26447b2b73612f52
+    1a7dfb643cd5dcc0.d64fc13628a521a2.70ed65e99385444d.9a5ced2c189f1b19
+    a286f1ebadc1138d.54839bd88d84ce1e.c208da666ec923c9.a6447b2b73612f52
+    5924e954bf2328bc.dbe96673dca83ac0.d55211505c7e8292.0db77e6cea21645b
+    aa8271db98eb7661
+VSUBSD_128(mem)
+  before
+    5b71d1649acc2190.9ca3dd0d0d8957f8.464ca0f2311c20b5.07170714f9319c52
+    fb4f18f40bcf2013.c74ecb80347fdbee.7379c440a7ec3e28.b3a2b91de06daeb5
+    65eac47508003017.3773ae1bcf8ff14a.3d3c4e4b5a254e46.354122d6adbff468
+    770c50d4ac6c0dc7.465c83497b47d5b7.7f61bafe67d20d3b.e93e3eadfdb2aa17
+    2ae60a0d6cd20b6d
+  after
+    5b71d1649acc2190.9ca3dd0d0d8957f8.464ca0f2311c20b5.07170714f9319c52
+    fb4f18f40bcf2013.c74ecb80347fdbee.7379c440a7ec3e28.b3a2b91de06daeb5
+    0000000000000000.0000000000000000.7379c440a7ec3e28.b3a2b91de06daeb5
+    770c50d4ac6c0dc7.465c83497b47d5b7.7f61bafe67d20d3b.e93e3eadfdb2aa17
+    2ae60a0d6cd20b6d
+
+VDIVSD_128(reg)
+  before
+    5685816295ab5417.0b8338fe141e7250.51564476d333c3e1.17b48545ea003632
+    c8679e1814cac1c1.ff19f9de5b231cdd.b4adef0e74ddf675.df012a0cfeb98757
+    dbd8609b86ba8d16.2d9b0d5f9d85c79b.cbad7f7df9d3ab1f.b513253fbf0bbad8
+    ed24c0578608f5c3.73d4f26ff7522fb6.f2a2f02ffea11e8b.73b8f2cb4a028bde
+    f7ba0e9abaa9b898
+  after
+    0000000000000000.0000000000000000.b4adef0e74ddf675.69dcb0436fed1148
+    c8679e1814cac1c1.ff19f9de5b231cdd.b4adef0e74ddf675.df012a0cfeb98757
+    dbd8609b86ba8d16.2d9b0d5f9d85c79b.cbad7f7df9d3ab1f.b513253fbf0bbad8
+    ed24c0578608f5c3.73d4f26ff7522fb6.f2a2f02ffea11e8b.73b8f2cb4a028bde
+    f7ba0e9abaa9b898
+VDIVSD_128(mem)
+  before
+    1be6f39a2c0cfb30.5896bbb9b13f3573.ab9223f985960f59.86d73e9120d28a64
+    bd081fb5bb3711d3.7a7b4e2ba2eb89d3.b39f1de9625c24b1.e19a660dfbf22d56
+    b7eb0dd98437b5ac.ad1f741bf6992c8e.65c95a2baab02aea.603563102a8d410e
+    e65d3af1a217a5e8.4fce29f348d45b51.9eda58ac7a9edc2f.5ff5310749300238
+    3926cc5df566ae80
+  after
+    1be6f39a2c0cfb30.5896bbb9b13f3573.ab9223f985960f59.86d73e9120d28a64
+    bd081fb5bb3711d3.7a7b4e2ba2eb89d3.b39f1de9625c24b1.e19a660dfbf22d56
+    0000000000000000.0000000000000000.b39f1de9625c24b1.7ff0000000000000
+    e65d3af1a217a5e8.4fce29f348d45b51.9eda58ac7a9edc2f.5ff5310749300238
+    3926cc5df566ae80
+
+VDIVSD_128(reg)
+  before
+    4c13317dcabb7f91.272820e931e49bb2.bad46a21352852c8.3b9f9256ee33f7ac
+    f30a5bd562bcb117.541a3dac4fa95437.4c7d311058224c9e.16e48416217a378f
+    8a5546d05cf482bf.4afd0c2915728ba3.5f147c2c4d4d8680.0c74abd92f805802
+    6d42eeda52f02c35.e59e0949a14bfd21.50e746e1b1353c1a.f91d818935501531
+    b9a984144ef62b49
+  after
+    0000000000000000.0000000000000000.4c7d311058224c9e.4a5fc272670ae88e
+    f30a5bd562bcb117.541a3dac4fa95437.4c7d311058224c9e.16e48416217a378f
+    8a5546d05cf482bf.4afd0c2915728ba3.5f147c2c4d4d8680.0c74abd92f805802
+    6d42eeda52f02c35.e59e0949a14bfd21.50e746e1b1353c1a.f91d818935501531
+    b9a984144ef62b49
+VDIVSD_128(mem)
+  before
+    29e52f65977e5676.f81b4f5fe03bec24.01c8b1f90f4166de.7b408c9b2067aa17
+    239dff682bf551e3.862d66cca261fe39.7b497f257a5f8205.3d6c48c6356e0b23
+    849d6e092767dabd.75c32e8b36ee9d20.2debefbafeb20cc3.f0b778ce8cd69cec
+    28b1fa34a6deaa2f.202ba309356f0684.f47c7da2b845c144.f16c1720c22c991b
+    9cd9212673fb3d5f
+  after
+    29e52f65977e5676.f81b4f5fe03bec24.01c8b1f90f4166de.7b408c9b2067aa17
+    239dff682bf551e3.862d66cca261fe39.7b497f257a5f8205.3d6c48c6356e0b23
+    0000000000000000.0000000000000000.7b497f257a5f8205.021b587703aae606
+    28b1fa34a6deaa2f.202ba309356f0684.f47c7da2b845c144.f16c1720c22c991b
+    9cd9212673fb3d5f
+
+VDIVSD_128(reg)
+  before
+    4d48924e39cfc662.eba41ed5c4688066.e2b0c1b33d707512.acc6a5cbc3245db3
+    61076702b3356dd0.a94456d89e10168e.199d84f3ea7b2675.3196e4203c5c9b3d
+    32609bb07bb87157.3e5b1e2950e32ad2.203fe937d71e545a.5fb8b48c3ff8390d
+    1da02ac32de40ca0.86b6f3b5f5ec755f.52e2ebeaa1e43c6c.12f793fde604f150
+    2621fd5e508d7f32
+  after
+    0000000000000000.0000000000000000.199d84f3ea7b2675.11cda672afb131aa
+    61076702b3356dd0.a94456d89e10168e.199d84f3ea7b2675.3196e4203c5c9b3d
+    32609bb07bb87157.3e5b1e2950e32ad2.203fe937d71e545a.5fb8b48c3ff8390d
+    1da02ac32de40ca0.86b6f3b5f5ec755f.52e2ebeaa1e43c6c.12f793fde604f150
+    2621fd5e508d7f32
+VDIVSD_128(mem)
+  before
+    76006c9b969ea1de.7e1210a766467c5a.5d215066a937b660.0dd28678e35a1a58
+    e0615ea0d6431181.b10449c8c169fa2f.9e68b12a89d1a702.ab5bb74d390b29ca
+    3f104d5a2c898c46.12c1d292dadac5cb.275692ecb1c50570.8ac878d54083a66d
+    6fd9b8b3b37bcd5a.fd94a6714f2317dc.d3b96f983c1f8cd8.0467c77c934fcdee
+    76829faecffadaf9
+  after
+    76006c9b969ea1de.7e1210a766467c5a.5d215066a937b660.0dd28678e35a1a58
+    e0615ea0d6431181.b10449c8c169fa2f.9e68b12a89d1a702.ab5bb74d390b29ca
+    0000000000000000.0000000000000000.9e68b12a89d1a702.dd77f01a39563f76
+    6fd9b8b3b37bcd5a.fd94a6714f2317dc.d3b96f983c1f8cd8.0467c77c934fcdee
+    76829faecffadaf9
+
+VMAXSD_128(reg)
+  before
+    3d66fcd890100839.4c881899882591e9.cdcac1d1b9d32d0b.7e5bc51a46ecf763
+    b35fdb64701e945a.b1e9eaf6c694941e.e0af201fb6734307.04090f5eec370340
+    36b936c00eafba0a.7cc7abb889d39225.918fbdc5e291947a.408fc950490c6c99
+    20bf0b56034fb5f3.88efd6c9eeee462c.3cb59631d8b85d10.10b970dc7a78ee9a
+    4f537eee9a864470
+  after
+    0000000000000000.0000000000000000.e0af201fb6734307.408fc950490c6c99
+    b35fdb64701e945a.b1e9eaf6c694941e.e0af201fb6734307.04090f5eec370340
+    36b936c00eafba0a.7cc7abb889d39225.918fbdc5e291947a.408fc950490c6c99
+    20bf0b56034fb5f3.88efd6c9eeee462c.3cb59631d8b85d10.10b970dc7a78ee9a
+    4f537eee9a864470
+VMAXSD_128(mem)
+  before
+    d8287172c6422b47.cebf5594ee8bc3c1.b02de71711f26e5d.3d6fa6ce3475da76
+    8906c45519b95f4a.9c0311e568ee1d21.d24d5b8d0deac3e4.ef07e90793524658
+    3cb7f382b0f69ba6.e6d839b5100402bf.c81bac17fee204ee.b0cb5c4a91dedf61
+    cf087be4a6069c87.098acb707f5aac46.706358a101e7eba7.db05f902c9a2df3e
+    cb02be9bd72c829b
+  after
+    d8287172c6422b47.cebf5594ee8bc3c1.b02de71711f26e5d.3d6fa6ce3475da76
+    8906c45519b95f4a.9c0311e568ee1d21.d24d5b8d0deac3e4.ef07e90793524658
+    0000000000000000.0000000000000000.d24d5b8d0deac3e4.3d6fa6ce3475da76
+    cf087be4a6069c87.098acb707f5aac46.706358a101e7eba7.db05f902c9a2df3e
+    cb02be9bd72c829b
+
+VMAXSD_128(reg)
+  before
+    de0da68158070623.1cc5d66918f31e18.5f65c282537b5863.a5f0da183204353a
+    6f74ad21e7c0a583.01ba82fc21ccdd85.45b41a5728f342c1.4290ae66ab459ed4
+    d981d0e521e29c66.58b2fa89dd9a94fc.17c5d05b994fa60d.240d51788bb7e1a1
+    7a820a3aa1f92679.ff7bbbfc696b00a6.31e2defb421abff3.28343e3beb65bccc
+    28d1f199ea5ce881
+  after
+    0000000000000000.0000000000000000.45b41a5728f342c1.4290ae66ab459ed4
+    6f74ad21e7c0a583.01ba82fc21ccdd85.45b41a5728f342c1.4290ae66ab459ed4
+    d981d0e521e29c66.58b2fa89dd9a94fc.17c5d05b994fa60d.240d51788bb7e1a1
+    7a820a3aa1f92679.ff7bbbfc696b00a6.31e2defb421abff3.28343e3beb65bccc
+    28d1f199ea5ce881
+VMAXSD_128(mem)
+  before
+    02afe680a1a724ee.acc1578d04928167.d0df3f41e14addb2.ef5942a1c0e0ca1e
+    909c99db2e522a3d.cd8bb349e538e7dd.a8ab04445f43e64a.ad74f7bbaf2e023b
+    af628796ad69b79a.372b1ad9e1779487.64ab85f10263d89b.c77ffab3aa8fa5f5
+    3bcf2b9d39f98732.47ef89ab93dcc610.deab3e35e4b56fd0.99c845f74d90edf9
+    7f9ad6f235bc17f3
+  after
+    02afe680a1a724ee.acc1578d04928167.d0df3f41e14addb2.ef5942a1c0e0ca1e
+    909c99db2e522a3d.cd8bb349e538e7dd.a8ab04445f43e64a.ad74f7bbaf2e023b
+    0000000000000000.0000000000000000.a8ab04445f43e64a.ad74f7bbaf2e023b
+    3bcf2b9d39f98732.47ef89ab93dcc610.deab3e35e4b56fd0.99c845f74d90edf9
+    7f9ad6f235bc17f3
+
+VMAXSD_128(reg)
+  before
+    d440a810fd9f5e8e.11ad01dcef0d5631.5a22fb2a97f2b725.f377acfa21466716
+    f607b7bd42c5ff76.0bc9853feab2dfc2.ca0f6cc28a45a472.7fda492ed6217b98
+    403cff659fbb3659.06ee33b246f3df12.f403d8df0862c9a2.5fa293bc1e526883
+    0e287d74b10c3fe1.deea882120dc114c.354a3cedacd46161.6d99058f16e6ea03
+    868c1b95d9e8bc43
+  after
+    0000000000000000.0000000000000000.ca0f6cc28a45a472.7fda492ed6217b98
+    f607b7bd42c5ff76.0bc9853feab2dfc2.ca0f6cc28a45a472.7fda492ed6217b98
+    403cff659fbb3659.06ee33b246f3df12.f403d8df0862c9a2.5fa293bc1e526883
+    0e287d74b10c3fe1.deea882120dc114c.354a3cedacd46161.6d99058f16e6ea03
+    868c1b95d9e8bc43
+VMAXSD_128(mem)
+  before
+    864752b984649c70.bb1a2c57134556ba.6f87ff79947a339d.e73092581227a95d
+    499525e7326643b5.a55d087862f1b691.959314a4bdd8ff31.6701d88dd7e8dd3f
+    ab44100b00fb703f.273c0d45399c9b12.2cd84390b7023133.11080af697a238b6
+    881e8f12092fdd3a.9c05382834d243e8.102309289f0487d0.41932201ece1f76c
+    53ec1d197532560d
+  after
+    864752b984649c70.bb1a2c57134556ba.6f87ff79947a339d.e73092581227a95d
+    499525e7326643b5.a55d087862f1b691.959314a4bdd8ff31.6701d88dd7e8dd3f
+    0000000000000000.0000000000000000.959314a4bdd8ff31.6701d88dd7e8dd3f
+    881e8f12092fdd3a.9c05382834d243e8.102309289f0487d0.41932201ece1f76c
+    53ec1d197532560d
+
+VPSHUFD_0x39_128(reg)
+  before
+    a360f8a9cb209147.bcf11ee6690c48d1.6202838ff120e8c0.1d40e15790ebbb33
+    8e3bae1f8d37e3c3.23873a753da06a31.d380ece50912c746.2ffa470ba7c38a89
+    6ec93ce654048930.99ad5ea9a1f60285.4dcb6e961a321c25.221fb72fff96b0fe
+    9f559c6abf12bf38.fa2e0670b01bcafa.2b2e060ec00e220a.d279adafb572e8bd
+    1bd5a678e463eff3
+  after
+    a360f8a9cb209147.bcf11ee6690c48d1.6202838ff120e8c0.1d40e15790ebbb33
+    0000000000000000.0000000000000000.b572e8bd2b2e060e.c00e220ad279adaf
+    6ec93ce654048930.99ad5ea9a1f60285.4dcb6e961a321c25.221fb72fff96b0fe
+    9f559c6abf12bf38.fa2e0670b01bcafa.2b2e060ec00e220a.d279adafb572e8bd
+    1bd5a678e463eff3
+VPSHUFD_0x39_128(mem)
+  before
+    d9001d74a97381cb.7f2dcc1767eec187.21d8aeb4861a7fbc.c8f7aeb9953117a0
+    e7c38e901fb05a72.699bc759eb22cacb.ec75d26340ffddf6.8170640338283494
+    23ed75b963263513.b9ec899de43c17ad.36d3ef68f9d79fd4.b3e72358437eb891
+    68494fd990dfcfdb.cb6c0e4df0c8e3dc.dbbc80afcead8284.b8a6e72552bfdd44
+    eefaadd40278e059
+  after
+    d9001d74a97381cb.7f2dcc1767eec187.21d8aeb4861a7fbc.c8f7aeb9953117a0
+    e7c38e901fb05a72.699bc759eb22cacb.ec75d26340ffddf6.8170640338283494
+    0000000000000000.0000000000000000.21d8aeb4953117a0.c8f7aeb9861a7fbc
+    68494fd990dfcfdb.cb6c0e4df0c8e3dc.dbbc80afcead8284.b8a6e72552bfdd44
+    eefaadd40278e059
+
+VPSHUFD_0x39_128(reg)
+  before
+    af2e6fd3ee34fd7b.92a297dec2e9e3f6.fb6753d7ab516c02.b6fd0124da8d4230
+    58902b8cb37f7057.7cc5c8b316502f90.a52952a5b063eccb.a562eeb33a849b04
+    456adc6dece67498.047f6143a81e6dd3.24fd09259b8aa0e4.83b6c449099d482d
+    d30a7fe136f446eb.0499db7c93615aee.d63174c20953c3f9.2bc7fed064e506d7
+    7b5f18366666912d
+  after
+    af2e6fd3ee34fd7b.92a297dec2e9e3f6.fb6753d7ab516c02.b6fd0124da8d4230
+    0000000000000000.0000000000000000.64e506d7d63174c2.0953c3f92bc7fed0
+    456adc6dece67498.047f6143a81e6dd3.24fd09259b8aa0e4.83b6c449099d482d
+    d30a7fe136f446eb.0499db7c93615aee.d63174c20953c3f9.2bc7fed064e506d7
+    7b5f18366666912d
+VPSHUFD_0x39_128(mem)
+  before
+    4d4c8e652c2ea45c.5cba0e542c3521fc.5ae2b449f325b10b.160f8de8964a92b5
+    7f58dd4bd149fc90.3dc787326b364376.e1256796e5753057.40e45202dcf949c5
+    eb507fd372c255f4.d27de5e78e82e606.742d7050845d91fd.affcbe7f7aee24d5
+    6ffff2e82aa56bb5.772724df31a64658.f1c84b61ede9902a.c1a3cdc80ab45f90
+    d0247b4a28d835a3
+  after
+    4d4c8e652c2ea45c.5cba0e542c3521fc.5ae2b449f325b10b.160f8de8964a92b5
+    7f58dd4bd149fc90.3dc787326b364376.e1256796e5753057.40e45202dcf949c5
+    0000000000000000.0000000000000000.5ae2b449964a92b5.160f8de8f325b10b
+    6ffff2e82aa56bb5.772724df31a64658.f1c84b61ede9902a.c1a3cdc80ab45f90
+    d0247b4a28d835a3
+
+VPSHUFD_0x39_128(reg)
+  before
+    3acdc57171e5e3b9.e533b17815fef9fe.88134186f12ca117.32c074b63b26eb09
+    59e8a5aa8067a47f.2bb6396e50dabcfc.618b36496aa231ef.14e2683c8b1f5cc7
+    8bc2195ff2ebb5a0.1b5604b6f74470da.5edc01923794338d.74faa2ddf8e1a090
+    2aa71dfe62fc52c9.92dd903d2549d0c5.db529dcff48de39d.2cd39e879f76728f
+    193bd9259bec90f1
+  after
+    3acdc57171e5e3b9.e533b17815fef9fe.88134186f12ca117.32c074b63b26eb09
+    0000000000000000.0000000000000000.9f76728fdb529dcf.f48de39d2cd39e87
+    8bc2195ff2ebb5a0.1b5604b6f74470da.5edc01923794338d.74faa2ddf8e1a090
+    2aa71dfe62fc52c9.92dd903d2549d0c5.db529dcff48de39d.2cd39e879f76728f
+    193bd9259bec90f1
+VPSHUFD_0x39_128(mem)
+  before
+    18fccda3094fb4e2.94e3abf26c26b7a6.6d1858edf6f399e9.3439076a3e197cca
+    03e4f8ed04aa9b8d.23c1c1a6aef520e2.86d3d8b387518771.c5dd39d1b0c43bc1
+    b7bdd5efa809001e.348f5988c1f6c82a.bad98c7cf36c568a.ea8a316fe71b5c2e
+    1054e0951279a0c3.2497720343b5ec2a.e5f8f1335752c15f.ff8beab07fa91abc
+    5f2d600012fbb318
+  after
+    18fccda3094fb4e2.94e3abf26c26b7a6.6d1858edf6f399e9.3439076a3e197cca
+    03e4f8ed04aa9b8d.23c1c1a6aef520e2.86d3d8b387518771.c5dd39d1b0c43bc1
+    0000000000000000.0000000000000000.6d1858ed3e197cca.3439076af6f399e9
+    1054e0951279a0c3.2497720343b5ec2a.e5f8f1335752c15f.ff8beab07fa91abc
+    5f2d600012fbb318
+
+VPCMPEQD_128(reg)
+  before
+    68bc8fcb3f9c61ed.eb7496cb5e0437a5.4d260583d0bcc78d.e4fa82c3ce0e851d
+    7584747d9f1860e8.22eb717da7b981f3.0c880f75039997ff.91acbb1a75ad5ef0
+    e2d10a83d1fbeeb5.9283ef9809a139d7.be098d4378d8962e.c9da1823673a0703
+    0aef4d476ed245ff.170a8b06a1ca1c7d.bdf57a5acc0300c3.685016cac1c13e83
+    4ada30fb9e4ebc9b
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    7584747d9f1860e8.22eb717da7b981f3.0c880f75039997ff.91acbb1a75ad5ef0
+    e2d10a83d1fbeeb5.9283ef9809a139d7.be098d4378d8962e.c9da1823673a0703
+    0aef4d476ed245ff.170a8b06a1ca1c7d.bdf57a5acc0300c3.685016cac1c13e83
+    4ada30fb9e4ebc9b
+VPCMPEQD_128(mem)
+  before
+    4b43e1a21bee4078.4b2939371428a273.8d4ac2b58b3fe613.6698d2279aa9136d
+    4759a8ab53ad8446.00cccbbd5f8a40bc.d0100e90e20d52c2.153d92147f5309d6
+    1ae6fe0362954630.8425fd47ea835d87.bc28ed82c23f1eb9.2631b48f178f1faa
+    a0b7619465b43f63.357ecd40529f337f.2d5dda7948e10422.f5c03603fce89197
+    de3613dbcdea9a46
+  after
+    4b43e1a21bee4078.4b2939371428a273.8d4ac2b58b3fe613.6698d2279aa9136d
+    4759a8ab53ad8446.00cccbbd5f8a40bc.d0100e90e20d52c2.153d92147f5309d6
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    a0b7619465b43f63.357ecd40529f337f.2d5dda7948e10422.f5c03603fce89197
+    de3613dbcdea9a46
+
+VPCMPEQD_128(reg)
+  before
+    3ddf478523227766.b5984b4c78162e0a.6d233614316bfe51.ff7d51608f00c029
+    6e07cf6c9d1b64a1.35553a15b6c5cd52.8a62352f2672fca9.0e52cf23b4a710fb
+    cdf9a5fdd4619ca3.fbbaaadd3bcfd967.e686c4fdcb406732.35a9ceafd2e2aec4
+    b602c7a266815d1a.e592158f24400e74.dfdae1eabc617c99.524fccee06be57b0
+    400d44cd6b46c6ea
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    6e07cf6c9d1b64a1.35553a15b6c5cd52.8a62352f2672fca9.0e52cf23b4a710fb
+    cdf9a5fdd4619ca3.fbbaaadd3bcfd967.e686c4fdcb406732.35a9ceafd2e2aec4
+    b602c7a266815d1a.e592158f24400e74.dfdae1eabc617c99.524fccee06be57b0
+    400d44cd6b46c6ea
+VPCMPEQD_128(mem)
+  before
+    dbb2b3391d86b89e.856f30c8ef06e0af.ceaaf9178d2227a6.cfab87629662768a
+    fe09931c398be9f9.968adddb0a7d6411.92ced1619083e128.1345b2d1f5cf93b0
+    87dd6264db601527.459fc848547124ea.0cca19594c6ff827.08f45fa473320db7
+    51fb9bfc1e11f753.eefcef7a686e5be6.1a6a4debdaf028ce.08048945af19204d
+    70c12b2242100a1b
+  after
+    dbb2b3391d86b89e.856f30c8ef06e0af.ceaaf9178d2227a6.cfab87629662768a
+    fe09931c398be9f9.968adddb0a7d6411.92ced1619083e128.1345b2d1f5cf93b0
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    51fb9bfc1e11f753.eefcef7a686e5be6.1a6a4debdaf028ce.08048945af19204d
+    70c12b2242100a1b
+
+VPCMPEQD_128(reg)
+  before
+    9d7644a6cba105d0.3730bacf1eab4daa.ecec4ddce20045b2.977aea0359142c4b
+    e970cd3de35a4e16.17453bcbf839d058.9dbadedc5fb420fa.5ec66b8ee2e7c1c7
+    b1fcc35228c7219a.cc099bdbc8c73f88.5cb39fe57b152669.4d194c769473a371
+    516423533673b907.314755eca9625466.84238a63d0b094ac.3e4009a988c78d73
+    0f071e11dcec3cf9
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e970cd3de35a4e16.17453bcbf839d058.9dbadedc5fb420fa.5ec66b8ee2e7c1c7
+    b1fcc35228c7219a.cc099bdbc8c73f88.5cb39fe57b152669.4d194c769473a371
+    516423533673b907.314755eca9625466.84238a63d0b094ac.3e4009a988c78d73
+    0f071e11dcec3cf9
+VPCMPEQD_128(mem)
+  before
+    9a3a089cacf06c30.25f4e8aca8ea530a.24cae5e8b715cc20.73569dc2fd10a66f
+    bda5423513ded944.89fa0ec71bb82b4e.7f60c7bc0fed63e0.8498d36e9cc1975d
+    521348c82dc23e60.d9c192112a6a7c80.20d37854ccf5d4d2.123429d34950a423
+    3752964117a958b1.71946ef6718b834c.e1f0729d0b39dd23.7b78995ea148096c
+    19ae21793f3502e5
+  after
+    9a3a089cacf06c30.25f4e8aca8ea530a.24cae5e8b715cc20.73569dc2fd10a66f
+    bda5423513ded944.89fa0ec71bb82b4e.7f60c7bc0fed63e0.8498d36e9cc1975d
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3752964117a958b1.71946ef6718b834c.e1f0729d0b39dd23.7b78995ea148096c
+    19ae21793f3502e5
+
+VPEXTRD_128_0x3(reg)
+  before
+    4a23bc92c0a3ca39.462ca98ced9ee362.adc0a0e38da77c5d.9f833381e7c537ff
+    68236613bf1f9e15.5c6efc95caae9aa0.e99123421a4ba360.375837ee7da6a191
+    d1fa1c6ad835ba25.56e40b49cae43a97.8153f481b3023300.833af8cfe8e7d506
+    dff4d802a96f5914.0e5a52920a4c7f72.d1520d0bf45969ea.60f6f31044959089
+    ab59a59dafba8e47
+  after
+    4a23bc92c0a3ca39.462ca98ced9ee362.adc0a0e38da77c5d.9f833381e7c537ff
+    68236613bf1f9e15.5c6efc95caae9aa0.e99123421a4ba360.375837ee7da6a191
+    d1fa1c6ad835ba25.56e40b49cae43a97.8153f481b3023300.833af8cfe8e7d506
+    dff4d802a96f5914.0e5a52920a4c7f72.d1520d0bf45969ea.60f6f31044959089
+    00000000adc0a0e3
+VPEXTRD_128_0x3(mem)
+  before
+    3e2d896242658b6c.ef5c9847cb5bb98f.619c4d5ea5f2255e.35d96c4c7ada81c9
+    f63f1c4b1b9f4223.5e7f57a5dc851342.2b757997b8e3e787.09360cb0e014b74b
+    af5ad84456767099.86aa11887877a6d8.49b3512b5e2a8218.a9b3e9a3c3904619
+    454c3b390ef5d0f9.c427c35c3abfacfd.95205105b4d4b23d.719d0091bedc6be2
+    bc404be66e836250
+  after
+    3e2d896242658b6c.ef5c9847cb5bb98f.619c4d5ea5f2255e.35d96c4c49b3512b
+    f63f1c4b1b9f4223.5e7f57a5dc851342.2b757997b8e3e787.09360cb0e014b74b
+    af5ad84456767099.86aa11887877a6d8.49b3512b5e2a8218.a9b3e9a3c3904619
+    454c3b390ef5d0f9.c427c35c3abfacfd.95205105b4d4b23d.719d0091bedc6be2
+    bc404be66e836250
+
+VPEXTRD_128_0x3(reg)
+  before
+    e8e8c80e6e12660f.94e0c0175f292071.7443688dbee9625e.ec89f510d5ec3223
+    50e072765b13b4cc.78e1e3c8661d1a2a.f349fc88a17f04a7.2ababa3ade7ec0f6
+    4f764588d0158833.cd1c203a3edd7a52.9b877bb77e0fce84.2b7e1a6eea9715e2
+    43f43eb269a11eef.6f5df4580476fe15.c947e188f225fba0.cba393991642f012
+    e6f3a0a57d8b0bb2
+  after
+    e8e8c80e6e12660f.94e0c0175f292071.7443688dbee9625e.ec89f510d5ec3223
+    50e072765b13b4cc.78e1e3c8661d1a2a.f349fc88a17f04a7.2ababa3ade7ec0f6
+    4f764588d0158833.cd1c203a3edd7a52.9b877bb77e0fce84.2b7e1a6eea9715e2
+    43f43eb269a11eef.6f5df4580476fe15.c947e188f225fba0.cba393991642f012
+    000000007443688d
+VPEXTRD_128_0x3(mem)
+  before
+    583cbe7f3c7e24ef.87a7575fc345b1ad.3a70d90ed4f3609e.d9d62b65994cc8a7
+    fd4867146e28f4f5.76db8efa7a8c7e19.0a204d47c8605d1a.278154bc0d107047
+    b1e4194e2f953af0.6edcdff12903c0de.bb3bccf1ffcab1b5.0f9158f8edfd3129
+    50db4f1b9ccfb00a.c9f644af6c35b5a9.298bd0f8923b179a.ed553385d2a045fc
+    1d18e1cf5b84e96a
+  after
+    583cbe7f3c7e24ef.87a7575fc345b1ad.3a70d90ed4f3609e.d9d62b65bb3bccf1
+    fd4867146e28f4f5.76db8efa7a8c7e19.0a204d47c8605d1a.278154bc0d107047
+    b1e4194e2f953af0.6edcdff12903c0de.bb3bccf1ffcab1b5.0f9158f8edfd3129
+    50db4f1b9ccfb00a.c9f644af6c35b5a9.298bd0f8923b179a.ed553385d2a045fc
+    1d18e1cf5b84e96a
+
+VPEXTRD_128_0x3(reg)
+  before
+    fb255f422135581f.b5fb8666d0e41372.e575baa0e0ae9725.30ded746a0c24cf6
+    e3caa84ac240cfc8.be0f381ae8e01f52.1ca43e3121fba3ff.acfe5cc842680cf4
+    3151b853da308a11.46e2e32500cd8fd7.cbd0cbcccaa715e2.79b7db6a963b13c1
+    41078bca0492c5a6.2941027233b9202c.4f455ede773e287b.72d7d019b8471c89
+    7529b7bfc397e477
+  after
+    fb255f422135581f.b5fb8666d0e41372.e575baa0e0ae9725.30ded746a0c24cf6
+    e3caa84ac240cfc8.be0f381ae8e01f52.1ca43e3121fba3ff.acfe5cc842680cf4
+    3151b853da308a11.46e2e32500cd8fd7.cbd0cbcccaa715e2.79b7db6a963b13c1
+    41078bca0492c5a6.2941027233b9202c.4f455ede773e287b.72d7d019b8471c89
+    00000000e575baa0
+VPEXTRD_128_0x3(mem)
+  before
+    5d780d4ad43726b8.6f381e19ddf1bb32.42f811ed9db08e7e.024ff1d4c54d1976
+    05914da50633a077.162f6cae00d9a961.6fd38c835bbc95f9.413a82184f5f247e
+    4b41f3bc75980ce1.943a71f409d6cbe0.8b9ef01e88ebf0c8.69510c18b2008440
+    0a527c7a3e712721.44a3295695755d5b.7124b8ab41495c18.d4e28b3f89bd7667
+    df37fbf8712136a0
+  after
+    5d780d4ad43726b8.6f381e19ddf1bb32.42f811ed9db08e7e.024ff1d48b9ef01e
+    05914da50633a077.162f6cae00d9a961.6fd38c835bbc95f9.413a82184f5f247e
+    4b41f3bc75980ce1.943a71f409d6cbe0.8b9ef01e88ebf0c8.69510c18b2008440
+    0a527c7a3e712721.44a3295695755d5b.7124b8ab41495c18.d4e28b3f89bd7667
+    df37fbf8712136a0
+
+VPEXTRD_128_0x0(reg)
+  before
+    e69d59b105b80097.1d9062cd7ccaac64.81b790423f419a7d.ff326017a1e19514
+    45609fd5e10f0ff7.62c923a14cb059d6.a9c2a323a4c7bff3.1095644cc4bf56e9
+    59cccbd0a3b1a06d.b3c73ae0ca2ee8a2.17105d6560920869.7f174038c7ef5cc2
+    7c2dd90fe42aefa4.ee582477105015f5.26edba740e2eb08a.2a8571c6c67e63cc
+    ebaa72e2dc772733
+  after
+    e69d59b105b80097.1d9062cd7ccaac64.81b790423f419a7d.ff326017a1e19514
+    45609fd5e10f0ff7.62c923a14cb059d6.a9c2a323a4c7bff3.1095644cc4bf56e9
+    59cccbd0a3b1a06d.b3c73ae0ca2ee8a2.17105d6560920869.7f174038c7ef5cc2
+    7c2dd90fe42aefa4.ee582477105015f5.26edba740e2eb08a.2a8571c6c67e63cc
+    00000000a1e19514
+VPEXTRD_128_0x0(mem)
+  before
+    9f54bf7726e66322.0bcec3fc42073749.ed465b523d239efb.34a5b6bd4a28f403
+    234dd474bfd8d4c6.62fd870459d3b608.8d5e5d5e6ab23ddf.9c834eaab10a107f
+    51632ec2c358364b.dd041f94c41ba68c.ab6ca586b60aafce.b9d47da8de6340ab
+    0660484e4f7344dc.d8308a161f694382.213cafb53a36aff3.e9e53f246ebcbf32
+    86ff9089fca3cac1
+  after
+    9f54bf7726e66322.0bcec3fc42073749.ed465b523d239efb.34a5b6bdde6340ab
+    234dd474bfd8d4c6.62fd870459d3b608.8d5e5d5e6ab23ddf.9c834eaab10a107f
+    51632ec2c358364b.dd041f94c41ba68c.ab6ca586b60aafce.b9d47da8de6340ab
+    0660484e4f7344dc.d8308a161f694382.213cafb53a36aff3.e9e53f246ebcbf32
+    86ff9089fca3cac1
+
+VPEXTRD_128_0x0(reg)
+  before
+    ed716c4224a49d04.1f119e047e34bba5.afcdc1f8074ccb95.cd99f7d91542fb7b
+    7b86d0bd834973a6.7642acd16da757d4.be27c1a5174d7872.8950fadd603a4d91
+    8a89b765b5208954.e8beee9f38d8d492.60898789ecfa86c5.322e33ad392b6262
+    77c81da655b51bba.5253e15cf9d4ed0e.f3400e1021de3339.a4fd1e35bc20f51a
+    bb8a37610426c3e4
+  after
+    ed716c4224a49d04.1f119e047e34bba5.afcdc1f8074ccb95.cd99f7d91542fb7b
+    7b86d0bd834973a6.7642acd16da757d4.be27c1a5174d7872.8950fadd603a4d91
+    8a89b765b5208954.e8beee9f38d8d492.60898789ecfa86c5.322e33ad392b6262
+    77c81da655b51bba.5253e15cf9d4ed0e.f3400e1021de3339.a4fd1e35bc20f51a
+    000000001542fb7b
+VPEXTRD_128_0x0(mem)
+  before
+    54a0fa1d2d4888ed.9f8dfeec00926583.8ecb00f2cfa75f72.d29952a65385b97b
+    490de45654920060.5c2557a35145a25b.79f3c74fd35be6ea.59de50b71e7c5536
+    779c70f69511e66a.0bdc2237e45a0fef.ef97b25e24fe3da4.e45c02af1c4e4317
+    ba181aeb0bcff737.08fe5d15565be8eb.cc833e0bdb9b22c9.ce5f66faeb88beca
+    7532770527b503fa
+  after
+    54a0fa1d2d4888ed.9f8dfeec00926583.8ecb00f2cfa75f72.d29952a61c4e4317
+    490de45654920060.5c2557a35145a25b.79f3c74fd35be6ea.59de50b71e7c5536
+    779c70f69511e66a.0bdc2237e45a0fef.ef97b25e24fe3da4.e45c02af1c4e4317
+    ba181aeb0bcff737.08fe5d15565be8eb.cc833e0bdb9b22c9.ce5f66faeb88beca
+    7532770527b503fa
+
+VPEXTRD_128_0x0(reg)
+  before
+    3423313a6b614e53.ee4e5e1fd2dbeff2.b0d603a742d668fb.ec83e542163f4e88
+    667c91075419db83.ef0ab980073e89c8.5db2115b4557cdca.2b6225eff1f5800b
+    698a92d77d68e534.9918a6f9c50683e4.6cdc819cfa685004.65ee79fe87c9727e
+    9799301582daa912.c843a176293f9773.39a151d5fe983057.76f15e5cf5c8e20f
+    3a384ef356fd89e7
+  after
+    3423313a6b614e53.ee4e5e1fd2dbeff2.b0d603a742d668fb.ec83e542163f4e88
+    667c91075419db83.ef0ab980073e89c8.5db2115b4557cdca.2b6225eff1f5800b
+    698a92d77d68e534.9918a6f9c50683e4.6cdc819cfa685004.65ee79fe87c9727e
+    9799301582daa912.c843a176293f9773.39a151d5fe983057.76f15e5cf5c8e20f
+    00000000163f4e88
+VPEXTRD_128_0x0(mem)
+  before
+    8d8fc7b1c6742635.4ef5672f00fb63ca.585926e34ef381a1.204d7c74ed70a76c
+    4bc24480623a7323.e8ea339093584e08.2524b12c5130ff99.7d2cfee4617ef2f2
+    509d414e46592ddd.c3c391a4d67da777.0a72bf3d4d01cb88.ac89d491f84d4d93
+    77eb3b068ce01090.39ce7bd765f4aac4.e50dcb025f73a299.09b2f9e74e69f4fb
+    f0f16952fe5f22d7
+  after
+    8d8fc7b1c6742635.4ef5672f00fb63ca.585926e34ef381a1.204d7c74f84d4d93
+    4bc24480623a7323.e8ea339093584e08.2524b12c5130ff99.7d2cfee4617ef2f2
+    509d414e46592ddd.c3c391a4d67da777.0a72bf3d4d01cb88.ac89d491f84d4d93
+    77eb3b068ce01090.39ce7bd765f4aac4.e50dcb025f73a299.09b2f9e74e69f4fb
+    f0f16952fe5f22d7
+
+VINSERTF128_0x0(reg)
+  before
+    bd93203fa5ba14d3.9e79ad9453d8d768.a855ef96dd4b939b.91c15167a2913ff9
+    cce41a18de07069b.a01413e4b5503f90.6aa5e94bd90e9da7.ea5ccd5933675fd3
+    7830544b46d033d9.5986e9e2ce510435.dc0a6363f6c70594.cca9bcc22d02be55
+    1fc3c84278a4d83c.a49bab7abbe9e283.5bd05b4bcf040710.12739990ac6d18a8
+    9a87e0aecdb528fb
+  after
+    bd93203fa5ba14d3.9e79ad9453d8d768.a855ef96dd4b939b.91c15167a2913ff9
+    bd93203fa5ba14d3.9e79ad9453d8d768.5bd05b4bcf040710.12739990ac6d18a8
+    7830544b46d033d9.5986e9e2ce510435.dc0a6363f6c70594.cca9bcc22d02be55
+    1fc3c84278a4d83c.a49bab7abbe9e283.5bd05b4bcf040710.12739990ac6d18a8
+    9a87e0aecdb528fb
+VINSERTF128_0x0(mem)
+  before
+    3fb20d08ace4ab78.1ce8746b100c316e.5f21d698972394a5.4142cc6e0151dec4
+    dcbe9c8a64085d4b.cbec5431ab96791c.64e3e4297f0bd7c8.ebaeb2372738c75f
+    4f770a20112dfaa1.871c6200e4cdeef1.91ac53178eae6717.b55e0914de47fe8b
+    72abd2b6d05e3da6.aec29c43583eca9a.c1499f50e117ffbf.fc9fce70c10abff5
+    1abdfbb76d0b4548
+  after
+    3fb20d08ace4ab78.1ce8746b100c316e.5f21d698972394a5.4142cc6e0151dec4
+    4f770a20112dfaa1.871c6200e4cdeef1.5f21d698972394a5.4142cc6e0151dec4
+    4f770a20112dfaa1.871c6200e4cdeef1.91ac53178eae6717.b55e0914de47fe8b
+    72abd2b6d05e3da6.aec29c43583eca9a.c1499f50e117ffbf.fc9fce70c10abff5
+    1abdfbb76d0b4548
+
+VINSERTF128_0x0(reg)
+  before
+    6c048e557dd8cd31.23247038bca7e385.9b2bfd69a37449c3.cf8642bf93525ceb
+    4ec083b68efd935b.3cb06092f214a86b.a9a281db5ffba917.992fba4fc06c3ac9
+    1c3cd4473b05d373.9b191eb18db24784.367524062b5f2442.f91082ee85705582
+    32c57f72207cc825.1a2c277faa8c7dfb.9ceee356a12df7f2.ccf41687fe6b6844
+    efa9f2064667303b
+  after
+    6c048e557dd8cd31.23247038bca7e385.9b2bfd69a37449c3.cf8642bf93525ceb
+    6c048e557dd8cd31.23247038bca7e385.9ceee356a12df7f2.ccf41687fe6b6844
+    1c3cd4473b05d373.9b191eb18db24784.367524062b5f2442.f91082ee85705582
+    32c57f72207cc825.1a2c277faa8c7dfb.9ceee356a12df7f2.ccf41687fe6b6844
+    efa9f2064667303b
+VINSERTF128_0x0(mem)
+  before
+    3cf9935779736993.eca87fa5daeeaf1c.96b5f6ea64ae06fc.395bb8385df15dd1
+    91b17366b498ce77.a62fd04a04e8c304.ec8007dcd8259eb4.6706a116fb35948b
+    c89d102013e41c13.bca76ecf3bf5428b.f658d74321fc004f.843c995e1987d6cd
+    be89e66fb0620f95.8a5b559f1ba1665b.910ae00a5c40e9f9.ea499d7b50735f43
+    f778a7d83e836d98
+  after
+    3cf9935779736993.eca87fa5daeeaf1c.96b5f6ea64ae06fc.395bb8385df15dd1
+    c89d102013e41c13.bca76ecf3bf5428b.96b5f6ea64ae06fc.395bb8385df15dd1
+    c89d102013e41c13.bca76ecf3bf5428b.f658d74321fc004f.843c995e1987d6cd
+    be89e66fb0620f95.8a5b559f1ba1665b.910ae00a5c40e9f9.ea499d7b50735f43
+    f778a7d83e836d98
+
+VINSERTF128_0x0(reg)
+  before
+    0517b5e37f453a79.4f416f41aa1f6327.6c9982253f796c20.9a63a01da4fc15dd
+    7170c207ae440391.589029801b25d3f5.beabf0cf43088f88.eb2d9268163c4027
+    98d0cbb0670d038e.b3448f1a1f831c2c.dbdf9b08c4db0c3c.613532d7cd0d2505
+    d483ca4b472b7819.3d271dfad342faf8.217f803d5d7d1feb.d846fd56e57981a1
+    2c2e6dd27b8f0f27
+  after
+    0517b5e37f453a79.4f416f41aa1f6327.6c9982253f796c20.9a63a01da4fc15dd
+    0517b5e37f453a79.4f416f41aa1f6327.217f803d5d7d1feb.d846fd56e57981a1
+    98d0cbb0670d038e.b3448f1a1f831c2c.dbdf9b08c4db0c3c.613532d7cd0d2505
+    d483ca4b472b7819.3d271dfad342faf8.217f803d5d7d1feb.d846fd56e57981a1
+    2c2e6dd27b8f0f27
+VINSERTF128_0x0(mem)
+  before
+    39b80035aa588dc4.82d5bd42ea2a9ce0.d2064f0c52702884.ebd899d8ab7a043f
+    dbaf316d8fe2b5a4.fe129f02eb97ac8f.4eada13cb81864fd.9535e446495ef6e4
+    efe07d64463843f2.a4856cf8e6fde3d2.8de790762347678e.7ae45cf4d3b63387
+    4f175e08ea67f5db.d17c208e78e97e54.6b8297a6ac08f064.f82ffe4ce70ef4d4
+    6a64c4bc1ef07876
+  after
+    39b80035aa588dc4.82d5bd42ea2a9ce0.d2064f0c52702884.ebd899d8ab7a043f
+    efe07d64463843f2.a4856cf8e6fde3d2.d2064f0c52702884.ebd899d8ab7a043f
+    efe07d64463843f2.a4856cf8e6fde3d2.8de790762347678e.7ae45cf4d3b63387
+    4f175e08ea67f5db.d17c208e78e97e54.6b8297a6ac08f064.f82ffe4ce70ef4d4
+    6a64c4bc1ef07876
+
+VINSERTF128_0x1(reg)
+  before
+    2bcdacae16eaf91a.d7205244977a858a.df41b8323ce5b9c1.c44832b87167b9ab
+    99b7b1906b87b46c.65c6d4046a7db02c.2b212f4fcf7fd0c6.7407de988e71808e
+    0e6ecfcdb854e517.d4d760347e7d32ec.11688150cc43fe0f.578915331e31fe3a
+    e83e02d199dcc7c7.001d73c0f085c6f8.ed62aaa3d0bc8048.499b55733db3f2da
+    260819460804169b
+  after
+    2bcdacae16eaf91a.d7205244977a858a.df41b8323ce5b9c1.c44832b87167b9ab
+    ed62aaa3d0bc8048.499b55733db3f2da.df41b8323ce5b9c1.c44832b87167b9ab
+    0e6ecfcdb854e517.d4d760347e7d32ec.11688150cc43fe0f.578915331e31fe3a
+    e83e02d199dcc7c7.001d73c0f085c6f8.ed62aaa3d0bc8048.499b55733db3f2da
+    260819460804169b
+VINSERTF128_0x1(mem)
+  before
+    ca9edd979b2f27a8.81724708abab982a.c5668794dba12979.1b5aa7b37676921c
+    10281e521140e12f.375799de8a4e91ea.ff7c1a9c5cde179e.f79e72ed5bfd7037
+    d67157628644ff59.643af4c0d050f1b3.8a2ba7c48e474c91.dd7809bb1ade5546
+    f74603b517463e55.656554181c3df232.4141abf98de8837e.2835678a50a47ef5
+    362189c698dc26f0
+  after
+    ca9edd979b2f27a8.81724708abab982a.c5668794dba12979.1b5aa7b37676921c
+    c5668794dba12979.1b5aa7b37676921c.8a2ba7c48e474c91.dd7809bb1ade5546
+    d67157628644ff59.643af4c0d050f1b3.8a2ba7c48e474c91.dd7809bb1ade5546
+    f74603b517463e55.656554181c3df232.4141abf98de8837e.2835678a50a47ef5
+    362189c698dc26f0
+
+VINSERTF128_0x1(reg)
+  before
+    628869dc8e108be1.4f73a137df525a4d.9725b55308a2d113.0289a02676ce7992
+    08b60537cfcfe777.b9c4aad2fb750f6d.54c514de300aca01.a8ce04366504e9f9
+    84f65842f7a2775c.13059c7386ba18e2.f9936c23310119a9.0ede5217759691de
+    31965e6ba117763d.3801f1069d2d32d8.e3d9b990a614f9b6.128306b4c2912b6e
+    8f8a9df9690074d5
+  after
+    628869dc8e108be1.4f73a137df525a4d.9725b55308a2d113.0289a02676ce7992
+    e3d9b990a614f9b6.128306b4c2912b6e.9725b55308a2d113.0289a02676ce7992
+    84f65842f7a2775c.13059c7386ba18e2.f9936c23310119a9.0ede5217759691de
+    31965e6ba117763d.3801f1069d2d32d8.e3d9b990a614f9b6.128306b4c2912b6e
+    8f8a9df9690074d5
+VINSERTF128_0x1(mem)
+  before
+    60be91d286ef273e.6de0141d69b921c5.038527785bdb197a.6ce5f7902ccea7d5
+    63ed602b346b02d6.932174c4ec15b4a1.525ebab3ddcf88f5.f101238f5ebb5eb2
+    72e185f08f7fbfc8.fea57cccc6b66b7d.ff5624a53e153c75.ce7a38f9d8685cf8
+    6b687c0db4381a41.0cb827a191288204.e83ae3399abaf125.5f9c323a3760db54
+    00b20dbe172f1771
+  after
+    60be91d286ef273e.6de0141d69b921c5.038527785bdb197a.6ce5f7902ccea7d5
+    038527785bdb197a.6ce5f7902ccea7d5.ff5624a53e153c75.ce7a38f9d8685cf8
+    72e185f08f7fbfc8.fea57cccc6b66b7d.ff5624a53e153c75.ce7a38f9d8685cf8
+    6b687c0db4381a41.0cb827a191288204.e83ae3399abaf125.5f9c323a3760db54
+    00b20dbe172f1771
+
+VINSERTF128_0x1(reg)
+  before
+    0d0ac5f213624efc.284cc26fbea1d16c.18a572afecf734e2.e7d5725b0ec96331
+    e2ee5740c884baa1.875ad200cac69e76.7dba576370b0bec5.daf54df7b64f4dc7
+    dbabbe15d021980b.625e27aef3b33e8b.9941d427bcdf5b57.9b64f0f9ad576c11
+    548df6decac624e7.9624406356756cd6.c687e469690e4844.07f0d84d0fed7c3b
+    fb637fdff91d3872
+  after
+    0d0ac5f213624efc.284cc26fbea1d16c.18a572afecf734e2.e7d5725b0ec96331
+    c687e469690e4844.07f0d84d0fed7c3b.18a572afecf734e2.e7d5725b0ec96331
+    dbabbe15d021980b.625e27aef3b33e8b.9941d427bcdf5b57.9b64f0f9ad576c11
+    548df6decac624e7.9624406356756cd6.c687e469690e4844.07f0d84d0fed7c3b
+    fb637fdff91d3872
+VINSERTF128_0x1(mem)
+  before
+    518a639b87f45de2.a9e0fb0650fe99e0.0077960d0e17e684.62d8839316cbc139
+    e631ff6ed47da7b6.36f0caf8fe5634a3.7a25a79738a666c1.c780ad135ca102e2
+    9623d042fcc5d21b.57095d22715931dc.e1f8ededef2ca9b8.52ca5f54d91d47ea
+    3e2e51051cd7993c.6876b2ef4493cb36.11bde6fb4fb86a95.600494c229cacbfe
+    4b7848c9e734cbc9
+  after
+    518a639b87f45de2.a9e0fb0650fe99e0.0077960d0e17e684.62d8839316cbc139
+    0077960d0e17e684.62d8839316cbc139.e1f8ededef2ca9b8.52ca5f54d91d47ea
+    9623d042fcc5d21b.57095d22715931dc.e1f8ededef2ca9b8.52ca5f54d91d47ea
+    3e2e51051cd7993c.6876b2ef4493cb36.11bde6fb4fb86a95.600494c229cacbfe
+    4b7848c9e734cbc9
+
+VEXTRACTF128_0x0(reg)
+  before
+    707377d5afe882f8.b81cfda24fbfb946.c584c4cb1490405e.e7400ead75536685
+    2c421e521e712e37.e1ba5204b289ee65.c97f90227cddcaff.3d4ddfef7d0b59b4
+    d92e37acd05b0931.95d4cc196042f3c4.d2b310611905a5c6.f0afd7ae82ebff4e
+    d486c05060334f93.b036e5cc76f58690.3b6c42f286950f5f.dc3471d4a000137e
+    dda6294ff4555270
+  after
+    707377d5afe882f8.b81cfda24fbfb946.c584c4cb1490405e.e7400ead75536685
+    2c421e521e712e37.e1ba5204b289ee65.c97f90227cddcaff.3d4ddfef7d0b59b4
+    d92e37acd05b0931.95d4cc196042f3c4.d2b310611905a5c6.f0afd7ae82ebff4e
+    0000000000000000.0000000000000000.c584c4cb1490405e.e7400ead75536685
+    dda6294ff4555270
+VEXTRACTF128_0x0(mem)
+  before
+    cfd27b0999f67851.7995b5a86a843e09.0eac1b090faf60f4.60f6214260184275
+    8e84e4f0acf0404d.24a610228bdb103e.8b02e9bc477b401d.9c9caabe421a7bb4
+    f688dfef494e6890.3106cf285ec202de.0303cbd23c65e037.4dacd7d0c927f5ca
+    e3aae8f28a1caa45.fc01ec2880c75096.527c3d35077afe6d.cd70a6e690ccee61
+    7a35126b3395a025
+  after
+    cfd27b0999f67851.7995b5a86a843e09.0303cbd23c65e037.4dacd7d0c927f5ca
+    8e84e4f0acf0404d.24a610228bdb103e.8b02e9bc477b401d.9c9caabe421a7bb4
+    f688dfef494e6890.3106cf285ec202de.0303cbd23c65e037.4dacd7d0c927f5ca
+    e3aae8f28a1caa45.fc01ec2880c75096.527c3d35077afe6d.cd70a6e690ccee61
+    7a35126b3395a025
+
+VEXTRACTF128_0x0(reg)
+  before
+    af4717cb4f0c47c3.31b57be58e66c298.e2e3658d8c763512.5439bcd2c6c553ec
+    c7f1b17280bf21e7.bc7614b46e396eb6.3df836c31f59eefe.e506c39695529edf
+    1f81ddcc6139683c.60ba304b49a168cb.6a8c5936d4ffb705.e1afce6c8f2e9973
+    144196458e07596f.f84b4a9638a86d02.c4eacc5248f1cbd3.2400593fd06401d4
+    89c4e1fd7500922d
+  after
+    af4717cb4f0c47c3.31b57be58e66c298.e2e3658d8c763512.5439bcd2c6c553ec
+    c7f1b17280bf21e7.bc7614b46e396eb6.3df836c31f59eefe.e506c39695529edf
+    1f81ddcc6139683c.60ba304b49a168cb.6a8c5936d4ffb705.e1afce6c8f2e9973
+    0000000000000000.0000000000000000.e2e3658d8c763512.5439bcd2c6c553ec
+    89c4e1fd7500922d
+VEXTRACTF128_0x0(mem)
+  before
+    eec8e091990f07ab.007ed849a4b42f2c.62f6de82595c3888.a95f8a8316bd6715
+    2ed9d4e7599c1d79.41859f453ecc281e.798668f9c8c98689.74388f35dbeec777
+    25c138ebd0b390c4.319fe7a3f9dc7ef1.19c965e9a0f91330.81bfd7d5321027a4
+    ae4c89891b611cb7.2d1badd1706f6d52.1d894f3cfefa9baa.2c405fcdb7b0c249
+    d109228b0759d612
+  after
+    eec8e091990f07ab.007ed849a4b42f2c.19c965e9a0f91330.81bfd7d5321027a4
+    2ed9d4e7599c1d79.41859f453ecc281e.798668f9c8c98689.74388f35dbeec777
+    25c138ebd0b390c4.319fe7a3f9dc7ef1.19c965e9a0f91330.81bfd7d5321027a4
+    ae4c89891b611cb7.2d1badd1706f6d52.1d894f3cfefa9baa.2c405fcdb7b0c249
+    d109228b0759d612
+
+VEXTRACTF128_0x0(reg)
+  before
+    cb651c7abe989caa.a74841ae55b17c7f.9244ec39401133ed.6394a4e0fdd8d922
+    789f490577f853be.eb80de449baf6d48.ba65a049044f0a6e.c6b4dfc0b99e8ac5
+    3304a59ace0535f9.55bfdb380868ab3d.02ccc56c59b42f80.21b67dc84f586abe
+    58e02da4604c7f08.c3d2b477b9e7f18b.c6c3580edaccddcf.5265f9e4da12353b
+    338fce0077d9a665
+  after
+    cb651c7abe989caa.a74841ae55b17c7f.9244ec39401133ed.6394a4e0fdd8d922
+    789f490577f853be.eb80de449baf6d48.ba65a049044f0a6e.c6b4dfc0b99e8ac5
+    3304a59ace0535f9.55bfdb380868ab3d.02ccc56c59b42f80.21b67dc84f586abe
+    0000000000000000.0000000000000000.9244ec39401133ed.6394a4e0fdd8d922
+    338fce0077d9a665
+VEXTRACTF128_0x0(mem)
+  before
+    a2ff7a0842b87a6b.427fdc8fc8576d97.0f85e6ecc939fc5e.6297549b24245209
+    798079e855bb6d76.4f2daec7a3b53a51.17a4ec82556888e1.3393b57fd247c8d7
+    96df458dcfef3ab5.d9369fb98def23e2.b5fb412778825141.9305772680c27ce8
+    d3e85ce1c95f9e52.3ee5accf209364f8.c75664c64e9312a9.df3896fccb1fa9e6
+    73770f6e4fec8c7d
+  after
+    a2ff7a0842b87a6b.427fdc8fc8576d97.b5fb412778825141.9305772680c27ce8
+    798079e855bb6d76.4f2daec7a3b53a51.17a4ec82556888e1.3393b57fd247c8d7
+    96df458dcfef3ab5.d9369fb98def23e2.b5fb412778825141.9305772680c27ce8
+    d3e85ce1c95f9e52.3ee5accf209364f8.c75664c64e9312a9.df3896fccb1fa9e6
+    73770f6e4fec8c7d
+
+VEXTRACTF128_0x1(reg)
+  before
+    ab0fdde6a7b5615b.0e6739d26218557a.d887cf76fb2c393d.2780ce4bf4a68846
+    e34cfcd26f056429.2128584ab3251b58.0568061bb747dd5d.b246fca286c76f43
+    777a689d4468d096.e9f63537db92ab19.1fd44d29f26f8d05.45746bb81f0282cd
+    c2e51eb2c26ae24c.429f4d84f36bc2e8.84179e0b483085e1.bad69677db647e10
+    ee38f9ccd7f81f37
+  after
+    ab0fdde6a7b5615b.0e6739d26218557a.d887cf76fb2c393d.2780ce4bf4a68846
+    e34cfcd26f056429.2128584ab3251b58.0568061bb747dd5d.b246fca286c76f43
+    777a689d4468d096.e9f63537db92ab19.1fd44d29f26f8d05.45746bb81f0282cd
+    0000000000000000.0000000000000000.ab0fdde6a7b5615b.0e6739d26218557a
+    ee38f9ccd7f81f37
+VEXTRACTF128_0x1(mem)
+  before
+    bd6611a42ecb216f.22d8187f8398d6f7.09ed1b1d19bd1cf2.8e7df72f5417009c
+    042b58e9fde83fe3.f2a1546f267de844.18ad1bee69937563.9b515300b3af3be3
+    9d554c895f5b36c0.8e8aceee45a653df.4cabc9e3fefa8866.05e1aeea00847261
+    65ae686f7131c232.52e080687c9d5474.81b3a1e9f4fd1228.29770459d723e1c3
+    636051b9d517c3b5
+  after
+    bd6611a42ecb216f.22d8187f8398d6f7.9d554c895f5b36c0.8e8aceee45a653df
+    042b58e9fde83fe3.f2a1546f267de844.18ad1bee69937563.9b515300b3af3be3
+    9d554c895f5b36c0.8e8aceee45a653df.4cabc9e3fefa8866.05e1aeea00847261
+    65ae686f7131c232.52e080687c9d5474.81b3a1e9f4fd1228.29770459d723e1c3
+    636051b9d517c3b5
+
+VEXTRACTF128_0x1(reg)
+  before
+    10e8927696ec55e2.380329874e749e64.9aef684968f127ae.939020ea68a8ced4
+    8a5ac2fdb52fd3f7.f22009bd13338883.c10380fea42b0739.5f10c1d376077a97
+    2e04ddb8ce6b79a0.6fd086fddb7739ba.2568c6f1ccd931c2.bffd00913927d09d
+    5830e0157e2c8288.8be11b33c34e7036.216936907d86e1f5.90245a0ecd148c11
+    ae5149384fd86c20
+  after
+    10e8927696ec55e2.380329874e749e64.9aef684968f127ae.939020ea68a8ced4
+    8a5ac2fdb52fd3f7.f22009bd13338883.c10380fea42b0739.5f10c1d376077a97
+    2e04ddb8ce6b79a0.6fd086fddb7739ba.2568c6f1ccd931c2.bffd00913927d09d
+    0000000000000000.0000000000000000.10e8927696ec55e2.380329874e749e64
+    ae5149384fd86c20
+VEXTRACTF128_0x1(mem)
+  before
+    f5504bfada812af5.642cc57f60ff2b5b.221d444be6c3e723.1053ca4553bf527d
+    41eddb408b1a83bd.ae428a61116fafc6.10527d3260e35cac.5073807ee90fc207
+    6df375f67db033a4.92bf2a292c094c75.314a43d24eb988fe.3b1353a6dc026b3f
+    572f9608cd4ef5d5.6ceea1424e573c14.61d21119cc512a44.2f7f3f29c72589d0
+    8605407346035a66
+  after
+    f5504bfada812af5.642cc57f60ff2b5b.6df375f67db033a4.92bf2a292c094c75
+    41eddb408b1a83bd.ae428a61116fafc6.10527d3260e35cac.5073807ee90fc207
+    6df375f67db033a4.92bf2a292c094c75.314a43d24eb988fe.3b1353a6dc026b3f
+    572f9608cd4ef5d5.6ceea1424e573c14.61d21119cc512a44.2f7f3f29c72589d0
+    8605407346035a66
+
+VEXTRACTF128_0x1(reg)
+  before
+    9ef053f0f62818af.da6eb8629600867d.981dec1812e8bc4e.7cb663f1f5b8fcab
+    d18b730c72200055.d27a59f0f5d3a2c7.72960517154507cf.5ec1b548e5f9bb5f
+    7d239c3357784d04.1b20f49f05d205e0.56a7eaabf2fc5a44.e2c18409b920238b
+    fc04cad241bc3d69.912b0559e3096af4.a09a97414698f159.e6804a208c3aef5c
+    45cb85797b52dcfd
+  after
+    9ef053f0f62818af.da6eb8629600867d.981dec1812e8bc4e.7cb663f1f5b8fcab
+    d18b730c72200055.d27a59f0f5d3a2c7.72960517154507cf.5ec1b548e5f9bb5f
+    7d239c3357784d04.1b20f49f05d205e0.56a7eaabf2fc5a44.e2c18409b920238b
+    0000000000000000.0000000000000000.9ef053f0f62818af.da6eb8629600867d
+    45cb85797b52dcfd
+VEXTRACTF128_0x1(mem)
+  before
+    db6eb000a274a69b.ab7af953ca760a30.0f69090caa858e2e.acbc0643aca508b9
+    833548a11bad0962.e7d126249134f104.73a47ba276512cba.d659341fc0b0da11
+    1becc7480508c07d.0a554caf30822d92.98aad709647a02c6.7abc1e3f1f44a40d
+    7e5eabe279918818.7151676243eafb85.5945992c900aca7c.f333bf1165eea258
+    9f0813002d39109f
+  after
+    db6eb000a274a69b.ab7af953ca760a30.1becc7480508c07d.0a554caf30822d92
+    833548a11bad0962.e7d126249134f104.73a47ba276512cba.d659341fc0b0da11
+    1becc7480508c07d.0a554caf30822d92.98aad709647a02c6.7abc1e3f1f44a40d
+    7e5eabe279918818.7151676243eafb85.5945992c900aca7c.f333bf1165eea258
+    9f0813002d39109f
+
+VCVTPD2PS_128(reg)
+  before
+    d989177813b1298d.87596f5995551c61.781273a866fa978a.94423df7150f4108
+    fc00c6e4b4e22acf.14a78f9b755f3a82.7ce46ded373e3d4d.236c40560f952297
+    66b91bb3ab594f11.ff15889234bc9ca7.d713509d4f402879.e4911d359ba62b55
+    7202154e95a2d3fe.266fd42cef77fffd.e6eb18244c8f95bb.b17c5080d451166d
+    68f85523d79f9f0c
+  after
+    0000000000000000.0000000000000000.0000000000000000.7f80000000000000
+    fc00c6e4b4e22acf.14a78f9b755f3a82.7ce46ded373e3d4d.236c40560f952297
+    66b91bb3ab594f11.ff15889234bc9ca7.d713509d4f402879.e4911d359ba62b55
+    7202154e95a2d3fe.266fd42cef77fffd.e6eb18244c8f95bb.b17c5080d451166d
+    68f85523d79f9f0c
+VCVTPD2PS_128(mem)
+  before
+    e3d2a90bbf9e845e.7b26ad220e47f342.6380f154c19c1eb0.05b8c1eecab4c0be
+    00d6c622a9597f8e.df70e09bb0d6eb8b.94165af6c637b7eb.90c54767643de42f
+    99d02a56b0dc4dc8.f82dab261adaf783.93fc8cfe1b5584db.e360a7fcb6b53fba
+    8b8c5092f134a93a.24aa092de5e052d6.3dfd0158dc0142ab.5ad3dc175da80b0a
+    516be226f5a384cc
+  after
+    e3d2a90bbf9e845e.7b26ad220e47f342.6380f154c19c1eb0.05b8c1eecab4c0be
+    00d6c622a9597f8e.df70e09bb0d6eb8b.94165af6c637b7eb.90c54767643de42f
+    99d02a56b0dc4dc8.f82dab261adaf783.93fc8cfe1b5584db.e360a7fcb6b53fba
+    0000000000000000.0000000000000000.0000000000000000.7f80000000000000
+    516be226f5a384cc
+
+VCVTPD2PS_128(reg)
+  before
+    2474b5931931e8ab.b3d5b5c1876c510d.bd31f61eaf733931.6fe637f02448ac88
+    2f3a52cc65df7154.eb79d3d18f91ff70.210e6f64141fe840.0383a9b30f347f9e
+    ce08b43c76375b73.104228ad24ae708d.aa8f6e6aaf719aae.d6a0d38bbad47718
+    5c2cd74fe7c8e4b3.fffd2f4163cf5f91.b5fff19e1df48c28.c508326540315023
+    aa89402ebe59c5eb
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    2f3a52cc65df7154.eb79d3d18f91ff70.210e6f64141fe840.0383a9b30f347f9e
+    ce08b43c76375b73.104228ad24ae708d.aa8f6e6aaf719aae.d6a0d38bbad47718
+    5c2cd74fe7c8e4b3.fffd2f4163cf5f91.b5fff19e1df48c28.c508326540315023
+    aa89402ebe59c5eb
+VCVTPD2PS_128(mem)
+  before
+    62ed7bd14f57939b.37f0b771551b46c1.92766479670089a7.9fa9f36bf934fa59
+    c9015e3a1038765f.baa1500e5bbebe48.a67944424c4eaafc.c2da713ddfbe20ee
+    bb9165541c072964.418b9f92963c88f5.17d14a862fc57ebb.7bde65816c1d3993
+    14690d0d90d069d6.28fa9f6aa122df73.c14cf1322c6fc011.2601cda13cdd82f3
+    208fa40aea8b37bb
+  after
+    62ed7bd14f57939b.37f0b771551b46c1.92766479670089a7.9fa9f36bf934fa59
+    c9015e3a1038765f.baa1500e5bbebe48.a67944424c4eaafc.c2da713ddfbe20ee
+    bb9165541c072964.418b9f92963c88f5.17d14a862fc57ebb.7bde65816c1d3993
+    0000000000000000.0000000000000000.0000000000000000.8000000080000000
+    208fa40aea8b37bb
+
+VCVTPD2PS_128(reg)
+  before
+    c3d3e62912b29397.b055d150879ff2e1.ca394c0019fa0070.80b4b8335d5a2d2a
+    6c1b8f6851ded332.6b212d0a1e8180b0.8596a2c299532795.30d61873e1918131
+    77b19c35429c3338.21989d257082ce6f.b35b9d1abdb69091.ad7e8ee0d2217753
+    40e208fb8277ef56.ae879d8e99ac994b.b2d53a7623b1760e.d37897654c15cdbb
+    7e90aeee6c793d96
+  after
+    0000000000000000.0000000000000000.0000000000000000.8000000000000000
+    6c1b8f6851ded332.6b212d0a1e8180b0.8596a2c299532795.30d61873e1918131
+    77b19c35429c3338.21989d257082ce6f.b35b9d1abdb69091.ad7e8ee0d2217753
+    40e208fb8277ef56.ae879d8e99ac994b.b2d53a7623b1760e.d37897654c15cdbb
+    7e90aeee6c793d96
+VCVTPD2PS_128(mem)
+  before
+    8a914f674d5a8310.23facf25acfc4238.eebaaa32b60d9d70.dd50744164cf16b8
+    d348f7bc0cc35d54.7c45ed215db5698a.bdfd3ffbe3b0960a.8f1847e71e9dac3c
+    358221d9c4c0858e.a70e5e5a3030a0f7.f71cd8d73ba23f44.2679afd4eda67346
+    8c0948aa925eb7ec.00a31f3dc2f9232b.78e3f1b0daee554a.fcbea9746b76a881
+    6f353033379a879a
+  after
+    8a914f674d5a8310.23facf25acfc4238.eebaaa32b60d9d70.dd50744164cf16b8
+    d348f7bc0cc35d54.7c45ed215db5698a.bdfd3ffbe3b0960a.8f1847e71e9dac3c
+    358221d9c4c0858e.a70e5e5a3030a0f7.f71cd8d73ba23f44.2679afd4eda67346
+    0000000000000000.0000000000000000.0000000000000000.ff800000ff800000
+    6f353033379a879a
+
+VCMPSS_128_0x0(reg)
+  before
+    d928407deb9d4c3c.b3aaeb1c91a8b198.e34e2b34ae9b2dd3.1c1d0674dda09449
+    97e4d5be230b3215.88308319ddaa2dbe.ac5c7eac91a2fb9b.be97940e60c5b76d
+    06b5ec637c7176ce.e6698d8f9371e88b.b7191411069ac92e.3c1e166a7d687be1
+    80e77fd6915a5415.a81f8668cf089e2b.60d1ead0a910d239.717c087453959cd2
+    387de719fb59d66c
+  after
+    0000000000000000.0000000000000000.ac5c7eac91a2fb9b.be97940e00000000
+    97e4d5be230b3215.88308319ddaa2dbe.ac5c7eac91a2fb9b.be97940e60c5b76d
+    06b5ec637c7176ce.e6698d8f9371e88b.b7191411069ac92e.3c1e166a7d687be1
+    80e77fd6915a5415.a81f8668cf089e2b.60d1ead0a910d239.717c087453959cd2
+    387de719fb59d66c
+VCMPSS_128_0x0(mem)
+  before
+    6fef2d4394bfe4da.62c58c85ff520796.ac20e992ac7b0ac9.02d0fb54178f5368
+    f19d58df37d48349.089d0edb61e6ccfd.cd3632f846d7e992.fb614308eca48866
+    9952e3da03a26ee4.cfb9024454a1dff5.e62ede86ba27f7b2.a6d2be5ac3daace0
+    45db4a1e113763d8.1166622b730f7c2a.d5d367282477f054.5f6d68b538bdfd81
+    817f3e85e8d9b5f6
+  after
+    6fef2d4394bfe4da.62c58c85ff520796.ac20e992ac7b0ac9.02d0fb54178f5368
+    f19d58df37d48349.089d0edb61e6ccfd.cd3632f846d7e992.fb614308eca48866
+    0000000000000000.0000000000000000.cd3632f846d7e992.fb61430800000000
+    45db4a1e113763d8.1166622b730f7c2a.d5d367282477f054.5f6d68b538bdfd81
+    817f3e85e8d9b5f6
+
+VCMPSS_128_0x0(reg)
+  before
+    6a543b366ebb10eb.cf040a997f9f1c50.2bf02cfe5bbdde4a.74f34bca9fd48fa5
+    74375b3467ee4c0b.15999d3669e55679.79a35b29a73642fe.a1590558474991d0
+    fd769aeb6effa302.f16681e0ea15cc7f.57cbeb16f306e4f5.36d011bf39e3b202
+    605bf5c82079527e.413731851f3b3c8d.21b3d932dcba00d9.1125ece990acad66
+    0c2411c369b33f29
+  after
+    0000000000000000.0000000000000000.79a35b29a73642fe.a159055800000000
+    74375b3467ee4c0b.15999d3669e55679.79a35b29a73642fe.a1590558474991d0
+    fd769aeb6effa302.f16681e0ea15cc7f.57cbeb16f306e4f5.36d011bf39e3b202
+    605bf5c82079527e.413731851f3b3c8d.21b3d932dcba00d9.1125ece990acad66
+    0c2411c369b33f29
+VCMPSS_128_0x0(mem)
+  before
+    0599fc3adf012477.f834673518e89429.dfd72a10236460d0.33a91fe9feddd156
+    d65029390fa4187b.234beca0f3d9a7af.a813e66e129bf574.e9f7bba8f4fc941a
+    5c1414ab14a7d662.3bed80734cd7c5bd.79b7e38909edb6a4.9feaa8da5aa184ce
+    74b33a7e0b171b58.9d661f1cc06e2aff.2c8f9c4e2364608c.b1cee2eacd5bdf21
+    7bee6646e8b3dfbd
+  after
+    0599fc3adf012477.f834673518e89429.dfd72a10236460d0.33a91fe9feddd156
+    d65029390fa4187b.234beca0f3d9a7af.a813e66e129bf574.e9f7bba8f4fc941a
+    0000000000000000.0000000000000000.a813e66e129bf574.e9f7bba800000000
+    74b33a7e0b171b58.9d661f1cc06e2aff.2c8f9c4e2364608c.b1cee2eacd5bdf21
+    7bee6646e8b3dfbd
+
+VCMPSS_128_0x0(reg)
+  before
+    59982f594837c14e.f8f7159d0ffea388.a601c606ea2b1420.9e678daa7d0faf5a
+    a716398f8972c081.c5ad24f43c6b291e.b00c709d6799bdcd.ac0b328733f75f37
+    c1b6805445f01902.b7a1e06faf676b48.18d1194dd24462b1.304608d35f2a2b52
+    02c200141b3e087c.aa9fc6fb8400232f.3b9dbd82c7b93e79.07e68a7820b3d0d5
+    0db534648f9f0aec
+  after
+    0000000000000000.0000000000000000.b00c709d6799bdcd.ac0b328700000000
+    a716398f8972c081.c5ad24f43c6b291e.b00c709d6799bdcd.ac0b328733f75f37
+    c1b6805445f01902.b7a1e06faf676b48.18d1194dd24462b1.304608d35f2a2b52
+    02c200141b3e087c.aa9fc6fb8400232f.3b9dbd82c7b93e79.07e68a7820b3d0d5
+    0db534648f9f0aec
+VCMPSS_128_0x0(mem)
+  before
+    1e808282cbf994c5.c887b63ba4e7c99c.7b725382d6410d02.73bc59a8e3838fd1
+    1613f1beedcd2b89.6e509d357f78970e.04e802f1c137e7eb.1d7ae72bc22e8f64
+    d13afc0413288b67.506bb16f457cb07d.22cb4f3562ed6b16.95236578ff477bdf
+    2bc01f4059147089.c923ee53947f4d96.b1e8b639d46f55b1.3802cef936598eed
+    60651f1c04f0053c
+  after
+    1e808282cbf994c5.c887b63ba4e7c99c.7b725382d6410d02.73bc59a8e3838fd1
+    1613f1beedcd2b89.6e509d357f78970e.04e802f1c137e7eb.1d7ae72bc22e8f64
+    0000000000000000.0000000000000000.04e802f1c137e7eb.1d7ae72b00000000
+    2bc01f4059147089.c923ee53947f4d96.b1e8b639d46f55b1.3802cef936598eed
+    60651f1c04f0053c
+
+VCMPSS_128_0x1(reg)
+  before
+    6a96524b04991c75.0073d65edaa0951b.37c3504f080ead04.8d0bb4e834ca63e5
+    b2e265f4d3df0f46.2c1d9d4bb3d5b74b.f498d4ce3cb40a74.9200c4309e084fe1
+    949553820c4e195b.8b8bf1f1ffc19242.5eee753bcdfda192.9c9362fc2c38d6cf
+    6cfb19614c73775f.f9894d3eda70e22f.cf112f045675ae09.878f0a38fd63b4db
+    2ec138d02a97a432
+  after
+    0000000000000000.0000000000000000.f498d4ce3cb40a74.9200c430ffffffff
+    b2e265f4d3df0f46.2c1d9d4bb3d5b74b.f498d4ce3cb40a74.9200c4309e084fe1
+    949553820c4e195b.8b8bf1f1ffc19242.5eee753bcdfda192.9c9362fc2c38d6cf
+    6cfb19614c73775f.f9894d3eda70e22f.cf112f045675ae09.878f0a38fd63b4db
+    2ec138d02a97a432
+VCMPSS_128_0x1(mem)
+  before
+    6ff669b0d2e06300.9660b1fd2ed965ff.52e32d1c61ec623c.a54dff9473a96c85
+    25f818c40e48ad71.6e0f19c24f0d1ee7.72640d79af43cf95.3aeddf57c12519b4
+    2c94c1f9fcdd3eaf.50554c1c4a9ae0c2.35da6940e181e567.ec3fcdbadb73ee3f
+    6095e039b8abd1e9.987e4677bc0ce53d.760fbe5d13b05fde.158dc4275e212ad5
+    1324c00be6bb0720
+  after
+    6ff669b0d2e06300.9660b1fd2ed965ff.52e32d1c61ec623c.a54dff9473a96c85
+    25f818c40e48ad71.6e0f19c24f0d1ee7.72640d79af43cf95.3aeddf57c12519b4
+    0000000000000000.0000000000000000.72640d79af43cf95.3aeddf57ffffffff
+    6095e039b8abd1e9.987e4677bc0ce53d.760fbe5d13b05fde.158dc4275e212ad5
+    1324c00be6bb0720
+
+VCMPSS_128_0x1(reg)
+  before
+    4050bed30dcbc2cd.9cc9f2725dbc2349.a2d6034040ef6903.13d087bc60defa26
+    f95db8e972df9787.befa718e081eeffc.c9a980e172d0aac1.e7e94049e4177269
+    9b96acbbae82c2fb.a1f6db7bd4ddf32d.6b43b7c8ef3ae223.cd2665f0bc6583d6
+    804995b460417ed4.2087ac24dd04e909.e3efa66053ba4ed4.a353739d03d6e897
+    443be53dd6765ed9
+  after
+    0000000000000000.0000000000000000.c9a980e172d0aac1.e7e94049ffffffff
+    f95db8e972df9787.befa718e081eeffc.c9a980e172d0aac1.e7e94049e4177269
+    9b96acbbae82c2fb.a1f6db7bd4ddf32d.6b43b7c8ef3ae223.cd2665f0bc6583d6
+    804995b460417ed4.2087ac24dd04e909.e3efa66053ba4ed4.a353739d03d6e897
+    443be53dd6765ed9
+VCMPSS_128_0x1(mem)
+  before
+    8bac37ba5050a0c7.05c0703f21a708bf.197a5e75409f8ebc.8dfb491439db2981
+    5670e5028d706c8e.864837ca8f419b68.669a6f5a18ba9d71.c4b19a523d29b0d5
+    7f546bffabe27c59.5f2de8c04699757a.e5b559bf8262d454.e65e9785fc301f7d
+    e424469fc3b38d56.ecbb7e8de13dd0a2.71969b909aa2ed93.4e4e3b19117db224
+    57cd827a199ba578
+  after
+    8bac37ba5050a0c7.05c0703f21a708bf.197a5e75409f8ebc.8dfb491439db2981
+    5670e5028d706c8e.864837ca8f419b68.669a6f5a18ba9d71.c4b19a523d29b0d5
+    0000000000000000.0000000000000000.669a6f5a18ba9d71.c4b19a5200000000
+    e424469fc3b38d56.ecbb7e8de13dd0a2.71969b909aa2ed93.4e4e3b19117db224
+    57cd827a199ba578
+
+VCMPSS_128_0x1(reg)
+  before
+    5f266815af173322.5facf1cdf3ee5aae.8a3df59efdb9e88b.e508aeba7a86a458
+    c0a7ea54707c98d1.ceb7e875579fa190.93014a5d3598fbe2.1ed80f27411bb7cf
+    d89a02a4f756122e.0b13a7830ad31c25.6451773725664353.f9d23bc4096ce025
+    014cae72e132dbe8.f38aabe32895889c.597a7a996aaffd89.50c2ad7eee86dc86
+    0174e1400c74661d
+  after
+    0000000000000000.0000000000000000.93014a5d3598fbe2.1ed80f2700000000
+    c0a7ea54707c98d1.ceb7e875579fa190.93014a5d3598fbe2.1ed80f27411bb7cf
+    d89a02a4f756122e.0b13a7830ad31c25.6451773725664353.f9d23bc4096ce025
+    014cae72e132dbe8.f38aabe32895889c.597a7a996aaffd89.50c2ad7eee86dc86
+    0174e1400c74661d
+VCMPSS_128_0x1(mem)
+  before
+    e6b353f681423c17.9909ea29c99b30a9.63e96f81cef2a01f.cec94eeda0006531
+    dc4d808b66fc189f.fa1db0344c1d4d1e.35fc6f4a17f521db.1e87f0a162e4b6f6
+    bf0ce3edd9afb7e2.82d4fe0105456ef2.468f272820aac7fb.a7035a204ce72d85
+    6cbdf807f666d40c.8b79cefb919eced2.736d1309051d4eac.c4888ad6fb96068a
+    d1617b2f0a7c7cb0
+  after
+    e6b353f681423c17.9909ea29c99b30a9.63e96f81cef2a01f.cec94eeda0006531
+    dc4d808b66fc189f.fa1db0344c1d4d1e.35fc6f4a17f521db.1e87f0a162e4b6f6
+    0000000000000000.0000000000000000.35fc6f4a17f521db.1e87f0a100000000
+    6cbdf807f666d40c.8b79cefb919eced2.736d1309051d4eac.c4888ad6fb96068a
+    d1617b2f0a7c7cb0
+
+VCMPSS_128_0x2(reg)
+  before
+    2adb29971626cda4.bd2c3bc6d82e2c48.72591e8e8bb4aa69.9664b0d7e05b7119
+    2b42907aba1f3311.8f2529149b127bc3.94c1ea268f143d64.8c3e7980d06fed6f
+    2fe2ad4493f3eaa4.be733cde5c1e7da8.4bfb2c2f3a49c56f.31c8eaefee667eda
+    94077b613c2e3008.26e4f211375eed24.f453e21628df7c35.61ce7f10594bdf85
+    f81cb5cf2a2acd9d
+  after
+    0000000000000000.0000000000000000.94c1ea268f143d64.8c3e798000000000
+    2b42907aba1f3311.8f2529149b127bc3.94c1ea268f143d64.8c3e7980d06fed6f
+    2fe2ad4493f3eaa4.be733cde5c1e7da8.4bfb2c2f3a49c56f.31c8eaefee667eda
+    94077b613c2e3008.26e4f211375eed24.f453e21628df7c35.61ce7f10594bdf85
+    f81cb5cf2a2acd9d
+VCMPSS_128_0x2(mem)
+  before
+    d27e06188010044d.b5fdf63e525d3feb.a342c69747df8863.eb170745f4639e63
+    cbc0f0d7740840c2.ed0f1a45700b54f6.115a355ea8ad0a90.8c9297293a6069a4
+    bfadeff8241e3c28.9a8be4e432c5aad8.4cf8b95077d22ed8.340f8e2f976217a5
+    8a127d67ac5eb5aa.17bb4e8635167e3a.30e8d05bcf5cb266.3ddbe9c2a6f6e512
+    0442a34d04a70f96
+  after
+    d27e06188010044d.b5fdf63e525d3feb.a342c69747df8863.eb170745f4639e63
+    cbc0f0d7740840c2.ed0f1a45700b54f6.115a355ea8ad0a90.8c9297293a6069a4
+    0000000000000000.0000000000000000.115a355ea8ad0a90.8c92972900000000
+    8a127d67ac5eb5aa.17bb4e8635167e3a.30e8d05bcf5cb266.3ddbe9c2a6f6e512
+    0442a34d04a70f96
+
+VCMPSS_128_0x2(reg)
+  before
+    e590b83e4c01d0de.08bb181127d56775.bfec5696158a0ccb.99f6f56acd565067
+    3c1124001b916595.15743ae0b18f0eb4.f06af7826dae9035.63eda4698ccdc407
+    6511e4ff0ce20a68.8d0961c267966594.04802eb5d90d4625.6a9a5a4429cccc71
+    bcdbf2a7bc81fa03.4c4609a265f82941.597cf59bf6336946.8aca91e7bf5f22d2
+    9f47c73f6b938255
+  after
+    0000000000000000.0000000000000000.f06af7826dae9035.63eda469ffffffff
+    3c1124001b916595.15743ae0b18f0eb4.f06af7826dae9035.63eda4698ccdc407
+    6511e4ff0ce20a68.8d0961c267966594.04802eb5d90d4625.6a9a5a4429cccc71
+    bcdbf2a7bc81fa03.4c4609a265f82941.597cf59bf6336946.8aca91e7bf5f22d2
+    9f47c73f6b938255
+VCMPSS_128_0x2(mem)
+  before
+    84de77364873aa27.9dbd4c64c6f87211.2ef6ac6bc6c116e6.49a84aa060ad3645
+    175a1eb9730b5474.6301eda3c6d6ae3f.0ee7c80ba6fbe7af.32522831b206e8cd
+    338936b507683d67.6cf4d2ce5aa4ea38.cae3d86d22b459ca.6ec48bb888cabd8b
+    b4353d152095212d.13e2f5531bf061a9.3db7587d55f82861.5a4b70a27f86ef2b
+    5332d25c32c5ba58
+  after
+    84de77364873aa27.9dbd4c64c6f87211.2ef6ac6bc6c116e6.49a84aa060ad3645
+    175a1eb9730b5474.6301eda3c6d6ae3f.0ee7c80ba6fbe7af.32522831b206e8cd
+    0000000000000000.0000000000000000.0ee7c80ba6fbe7af.32522831ffffffff
+    b4353d152095212d.13e2f5531bf061a9.3db7587d55f82861.5a4b70a27f86ef2b
+    5332d25c32c5ba58
+
+VCMPSS_128_0x2(reg)
+  before
+    b3c7ac513e135cbf.752caec4db9ebbf1.b416549ca745513e.432fc4285cd110a0
+    d754fdec3efd0f0c.543805b05490c8e0.abdeea179a30f3a2.b7169958524eccb4
+    1b27be9bcf0e10ea.2b26bec4a6760425.5384b32f8f3b8682.773a52fa547819c9
+    db8aecc98cd29a05.d8c156eced5d2bed.0a55ac5022f54489.5d656bfb7d5db20a
+    47646045ea0855a4
+  after
+    0000000000000000.0000000000000000.abdeea179a30f3a2.b7169958ffffffff
+    d754fdec3efd0f0c.543805b05490c8e0.abdeea179a30f3a2.b7169958524eccb4
+    1b27be9bcf0e10ea.2b26bec4a6760425.5384b32f8f3b8682.773a52fa547819c9
+    db8aecc98cd29a05.d8c156eced5d2bed.0a55ac5022f54489.5d656bfb7d5db20a
+    47646045ea0855a4
+VCMPSS_128_0x2(mem)
+  before
+    0f03adc6b685bcc3.74ca84e211d6eb0a.36d74814464ff864.2b9dcfe6f0e76a64
+    930ecf69fde1a492.40338152fca53da5.20331028cc5b28b5.11a81a5d949f34be
+    ad51411adc27c83d.9c10df85e6cbcd82.74a02a159c8a770d.1ac28821aba8dd45
+    3b987fc56f64e6f2.e4af9be86dd5d64c.0ceb13c5d1eaa098.a137169ed08fa2a2
+    0152be40a0dfbf84
+  after
+    0f03adc6b685bcc3.74ca84e211d6eb0a.36d74814464ff864.2b9dcfe6f0e76a64
+    930ecf69fde1a492.40338152fca53da5.20331028cc5b28b5.11a81a5d949f34be
+    0000000000000000.0000000000000000.20331028cc5b28b5.11a81a5d00000000
+    3b987fc56f64e6f2.e4af9be86dd5d64c.0ceb13c5d1eaa098.a137169ed08fa2a2
+    0152be40a0dfbf84
+
+VCMPSS_128_0x3(reg)
+  before
+    98607e74b6247094.17ae0556d1a2b8db.745aafe52d4e95af.c5e0452688866081
+    c0ad51a4afebf081.1f6050b91eeffb24.a85e19eac1c24658.7c4b3e22dc6a73f5
+    d785333e26bf7cf5.2d7adbda73576afa.dc07d461c5be25f3.0bf879a7eaa3951f
+    373421adb82c509d.1ec822a5ece5c289.6ca1ddb8d6cd6d2c.4fb273a0cd3c812c
+    2547a6f8a242f447
+  after
+    0000000000000000.0000000000000000.a85e19eac1c24658.7c4b3e2200000000
+    c0ad51a4afebf081.1f6050b91eeffb24.a85e19eac1c24658.7c4b3e22dc6a73f5
+    d785333e26bf7cf5.2d7adbda73576afa.dc07d461c5be25f3.0bf879a7eaa3951f
+    373421adb82c509d.1ec822a5ece5c289.6ca1ddb8d6cd6d2c.4fb273a0cd3c812c
+    2547a6f8a242f447
+VCMPSS_128_0x3(mem)
+  before
+    6781909d84c0aa9d.3d06155c00bfa724.ce16a107a4a5bffc.b4782e5a8f7c5bae
+    f22dac7a90c25e5a.46460db99b03be37.1a30d4eab7a31d80.10d7c5b28d562b25
+    a217767ce154cea9.ac42042f2484d181.dce1383c42ec9740.db0c9d2e6be7193e
+    540b6b8d9383b4b7.cc44f62a37cf1caf.f1f748e7608cea69.7361b239c6bb60a5
+    332300403a5f3d05
+  after
+    6781909d84c0aa9d.3d06155c00bfa724.ce16a107a4a5bffc.b4782e5a8f7c5bae
+    f22dac7a90c25e5a.46460db99b03be37.1a30d4eab7a31d80.10d7c5b28d562b25
+    0000000000000000.0000000000000000.1a30d4eab7a31d80.10d7c5b200000000
+    540b6b8d9383b4b7.cc44f62a37cf1caf.f1f748e7608cea69.7361b239c6bb60a5
+    332300403a5f3d05
+
+VCMPSS_128_0x3(reg)
+  before
+    779e84ad615eec0b.e2d4069ac35bccaf.0399e017716fda6d.353c80d92e8dd227
+    9a1e39edd945a863.2940c3908de6d4be.ab8dbd606ef04866.847d5cfdc7fd0aa5
+    faef1b6d3e9faeb8.05191e590b328610.216b8972c8dfa247.ba86593f48e74f10
+    f25c26972bf83ab7.522c93e35c4a9ed0.c18140ba1ec724bb.b323f18bcc585d93
+    4b1fa2cd6f5bf05b
+  after
+    0000000000000000.0000000000000000.ab8dbd606ef04866.847d5cfd00000000
+    9a1e39edd945a863.2940c3908de6d4be.ab8dbd606ef04866.847d5cfdc7fd0aa5
+    faef1b6d3e9faeb8.05191e590b328610.216b8972c8dfa247.ba86593f48e74f10
+    f25c26972bf83ab7.522c93e35c4a9ed0.c18140ba1ec724bb.b323f18bcc585d93
+    4b1fa2cd6f5bf05b
+VCMPSS_128_0x3(mem)
+  before
+    5e48e7f24efcc394.ddb257d93ddc870b.ec459f189a3bda2b.e719dea20a34096f
+    c8683de485489369.193ea89d0fd8d361.af30bce6e110f44c.ef81609828b38e0f
+    654c1e902f4a1c07.014a17513d785864.77b968384ed5a960.3603c00715cfee46
+    11c008e3680e1a99.f0229f60644652c2.20ab1ffafc97b593.16ecfd5a6c1467c1
+    ec8710ffca0f332b
+  after
+    5e48e7f24efcc394.ddb257d93ddc870b.ec459f189a3bda2b.e719dea20a34096f
+    c8683de485489369.193ea89d0fd8d361.af30bce6e110f44c.ef81609828b38e0f
+    0000000000000000.0000000000000000.af30bce6e110f44c.ef81609800000000
+    11c008e3680e1a99.f0229f60644652c2.20ab1ffafc97b593.16ecfd5a6c1467c1
+    ec8710ffca0f332b
+
+VCMPSS_128_0x3(reg)
+  before
+    1422f661ca4b8e31.a89076c84da1484c.44143d3620d0ff24.86d35b180861d310
+    e908aced0955b67f.0687e52afa0e634c.576beb3f0ca19938.84fe9a7e8d3fc004
+    c9842d0d22b7e5c0.0773cff78a6127c4.8672a7e7c4465daa.f8f65719a83e389a
+    0fe3752eb1ff58a1.861eb21a19a74fe1.2e766c9be54a8626.bd880ed37469f6ff
+    af7f3b990dccb85e
+  after
+    0000000000000000.0000000000000000.576beb3f0ca19938.84fe9a7e00000000
+    e908aced0955b67f.0687e52afa0e634c.576beb3f0ca19938.84fe9a7e8d3fc004
+    c9842d0d22b7e5c0.0773cff78a6127c4.8672a7e7c4465daa.f8f65719a83e389a
+    0fe3752eb1ff58a1.861eb21a19a74fe1.2e766c9be54a8626.bd880ed37469f6ff
+    af7f3b990dccb85e
+VCMPSS_128_0x3(mem)
+  before
+    a9a95a58907438e5.177180bc53b94bcd.6155097fc4eb98ce.a9c336c50a395257
+    89d0e8fb196c32bd.3d7a4b24a470f9f1.73e45012a639beb8.55a502d2d0a0fbea
+    2ac2606dc3c06415.dd49d1d13fb09fb9.989703bfdc9e7dca.8c68cb2fd20abe8a
+    67493e9caa7d8817.532c0e2ec10579d0.ab3a9f7381259032.ab588d47ad03d6e4
+    0ec04485fc1880a3
+  after
+    a9a95a58907438e5.177180bc53b94bcd.6155097fc4eb98ce.a9c336c50a395257
+    89d0e8fb196c32bd.3d7a4b24a470f9f1.73e45012a639beb8.55a502d2d0a0fbea
+    0000000000000000.0000000000000000.73e45012a639beb8.55a502d200000000
+    67493e9caa7d8817.532c0e2ec10579d0.ab3a9f7381259032.ab588d47ad03d6e4
+    0ec04485fc1880a3
+
+VCMPSS_128_0x4(reg)
+  before
+    12edec575cd4f874.1e32ff73ebae5bef.fa6dfea9c4fcc3e3.8a989f18b2dab419
+    112c822868c37a03.2a491ddea25f98ca.305a9dade721b89d.0f7f7f9b8acaa4ae
+    68c60064bd7241fb.665916c9ea9dfdd4.503de8a6c4fe95ab.18b9bbe926001e1a
+    730a6477f66c8a09.b0306520df734438.b563da00f72196b8.7f13cfeda188dc8c
+    22593892176f9b2e
+  after
+    0000000000000000.0000000000000000.305a9dade721b89d.0f7f7f9bffffffff
+    112c822868c37a03.2a491ddea25f98ca.305a9dade721b89d.0f7f7f9b8acaa4ae
+    68c60064bd7241fb.665916c9ea9dfdd4.503de8a6c4fe95ab.18b9bbe926001e1a
+    730a6477f66c8a09.b0306520df734438.b563da00f72196b8.7f13cfeda188dc8c
+    22593892176f9b2e
+VCMPSS_128_0x4(mem)
+  before
+    db5771c6a6c0162d.8e43a9cdb03e91d8.e29887d09eee2923.bd176f271d15f672
+    88d8f67467880bb4.15bcccd386729115.da5ef6c342186ac0.c2a7a387d167f282
+    03aa438878d134f0.64c3c8f31496c86c.724e30e7e800c13d.225d738db0a2c697
+    2a97d5eef5aa4e0c.d7a2989af7366f88.8734b026abafebc3.3787daa35552ae5a
+    5f6fd4375d04e57a
+  after
+    db5771c6a6c0162d.8e43a9cdb03e91d8.e29887d09eee2923.bd176f271d15f672
+    88d8f67467880bb4.15bcccd386729115.da5ef6c342186ac0.c2a7a387d167f282
+    0000000000000000.0000000000000000.da5ef6c342186ac0.c2a7a387ffffffff
+    2a97d5eef5aa4e0c.d7a2989af7366f88.8734b026abafebc3.3787daa35552ae5a
+    5f6fd4375d04e57a
+
+VCMPSS_128_0x4(reg)
+  before
+    f4625db36342a8a1.d76c2693f81c1435.caa63a35caddc516.f6dcf26ea833a380
+    54ab7185049b337c.e7f5b461a0354397.991baa2f2a1704c1.991172aafa97a7a0
+    d9980d18db98c1b6.37fefb450700975d.a04de2f3b3706a36.4da1adc6bee7b14f
+    e1742cd884c78ffc.a152752c498accb4.3b87e0ef00753021.ee561eae0f307db8
+    59fd414e097ec907
+  after
+    0000000000000000.0000000000000000.991baa2f2a1704c1.991172aaffffffff
+    54ab7185049b337c.e7f5b461a0354397.991baa2f2a1704c1.991172aafa97a7a0
+    d9980d18db98c1b6.37fefb450700975d.a04de2f3b3706a36.4da1adc6bee7b14f
+    e1742cd884c78ffc.a152752c498accb4.3b87e0ef00753021.ee561eae0f307db8
+    59fd414e097ec907
+VCMPSS_128_0x4(mem)
+  before
+    68629292c9db4f6a.c68aca319cb4d9f9.02bfa00083dd9dc7.c6179f8eadb1952d
+    f8518d666b55cc0a.e527e38fbfe9db5a.360ff7afd008c7c3.9d471b3c57b1d307
+    e595afb60af7fc16.9a97735e88f4d0cb.190ff6244d1406d4.1b64516599ff275a
+    0bfc736fc2ce9ab8.4226770a9361f5f7.878c194b150f1525.9eba3b76102acdd3
+    8195d7d957bb001d
+  after
+    68629292c9db4f6a.c68aca319cb4d9f9.02bfa00083dd9dc7.c6179f8eadb1952d
+    f8518d666b55cc0a.e527e38fbfe9db5a.360ff7afd008c7c3.9d471b3c57b1d307
+    0000000000000000.0000000000000000.360ff7afd008c7c3.9d471b3cffffffff
+    0bfc736fc2ce9ab8.4226770a9361f5f7.878c194b150f1525.9eba3b76102acdd3
+    8195d7d957bb001d
+
+VCMPSS_128_0x4(reg)
+  before
+    1f4020fb0a40fde5.4650557bb0e5631d.3720ea007dba868b.5c4fdc104504b1e3
+    d6091249c74400d7.725ed1c8f0481370.d6d0c8aae28ebe32.7427bc5ff800963a
+    013aaa2e2754459e.6bf264419c0365dd.7b840e765d66da99.acdf34244b0e8055
+    fb20e315c8fb07e7.0dd889d1d3231792.8286b6ce8ad0166c.de42c04b593a2a60
+    e61dddc13e915188
+  after
+    0000000000000000.0000000000000000.d6d0c8aae28ebe32.7427bc5fffffffff
+    d6091249c74400d7.725ed1c8f0481370.d6d0c8aae28ebe32.7427bc5ff800963a
+    013aaa2e2754459e.6bf264419c0365dd.7b840e765d66da99.acdf34244b0e8055
+    fb20e315c8fb07e7.0dd889d1d3231792.8286b6ce8ad0166c.de42c04b593a2a60
+    e61dddc13e915188
+VCMPSS_128_0x4(mem)
+  before
+    a23c0570171eb1f9.2207b86c46c5835e.34dcbc66aeb4e3b9.4723be200657ae56
+    ed6bb64500ed06de.d03b289e3c3ff5ae.bcc979eb4cc0857e.26a721d76c87dd04
+    a3766b2d140b0b64.63082c1746f49884.816d3c4cc655bb0f.7b5edb5f59ede021
+    a029a0136f837db7.35b9c2430170a98b.5f9282753b7f3f95.a293e9246814f35a
+    f79446923688525b
+  after
+    a23c0570171eb1f9.2207b86c46c5835e.34dcbc66aeb4e3b9.4723be200657ae56
+    ed6bb64500ed06de.d03b289e3c3ff5ae.bcc979eb4cc0857e.26a721d76c87dd04
+    0000000000000000.0000000000000000.bcc979eb4cc0857e.26a721d7ffffffff
+    a029a0136f837db7.35b9c2430170a98b.5f9282753b7f3f95.a293e9246814f35a
+    f79446923688525b
+
+VCMPSS_128_0x5(reg)
+  before
+    d6abed155ed638cf.c04fd2e32e611802.a49ce48e093f6470.3205c653c448cd3f
+    9b25dd197c89e263.dfb67c896cb29772.0afb9064f8ee05de.d69284d07fbe2337
+    a24e0f0b2d2e8cc2.d8281af14681b732.c523c2326d09c782.260438da88edfba9
+    477280550d507199.89722807d7da346f.2f607462021ae708.00295f5bfadf12c2
+    3fcb7441f2a224ae
+  after
+    0000000000000000.0000000000000000.0afb9064f8ee05de.d69284d0ffffffff
+    9b25dd197c89e263.dfb67c896cb29772.0afb9064f8ee05de.d69284d07fbe2337
+    a24e0f0b2d2e8cc2.d8281af14681b732.c523c2326d09c782.260438da88edfba9
+    477280550d507199.89722807d7da346f.2f607462021ae708.00295f5bfadf12c2
+    3fcb7441f2a224ae
+VCMPSS_128_0x5(mem)
+  before
+    beb8f3768b42ec98.e6dd2d65b77bce94.cd6022b73ccaca55.a5fea46253afa11b
+    5bba58e8e1c927ad.dada11a6c73bdf5e.7fbd85ed905c340f.83484d9cfd543068
+    f19e1f8211469119.81b72983da1ddfa4.7d57cb96f09c2fc9.268c6b7e9b93d19b
+    5b30c53036c2e607.36be6f6a8cac0c11.a1f8729c779776b1.e814fa73cafac05f
+    262df7e725153960
+  after
+    beb8f3768b42ec98.e6dd2d65b77bce94.cd6022b73ccaca55.a5fea46253afa11b
+    5bba58e8e1c927ad.dada11a6c73bdf5e.7fbd85ed905c340f.83484d9cfd543068
+    0000000000000000.0000000000000000.7fbd85ed905c340f.83484d9c00000000
+    5b30c53036c2e607.36be6f6a8cac0c11.a1f8729c779776b1.e814fa73cafac05f
+    262df7e725153960
+
+VCMPSS_128_0x5(reg)
+  before
+    3c235c46486e774b.773bc5de6d4be1a4.543ce1c67875a052.c96df6ed4258c7f1
+    864227fcd094b7cc.1f8d9b79d2ec3f1b.397d79033a03d712.d082d1736cebdcb5
+    60d654755910358f.31f0c3eb80b1bc99.40cd368d6fe2effe.9103811c125d722a
+    262add1d7e702d3f.8731b92193a71349.c47711d1b29f22c2.e9bc81d34fb9447c
+    b5794d843f0c10d6
+  after
+    0000000000000000.0000000000000000.397d79033a03d712.d082d173ffffffff
+    864227fcd094b7cc.1f8d9b79d2ec3f1b.397d79033a03d712.d082d1736cebdcb5
+    60d654755910358f.31f0c3eb80b1bc99.40cd368d6fe2effe.9103811c125d722a
+    262add1d7e702d3f.8731b92193a71349.c47711d1b29f22c2.e9bc81d34fb9447c
+    b5794d843f0c10d6
+VCMPSS_128_0x5(mem)
+  before
+    cf05611bff619065.358cc061dc3fda88.fe1cfa0828d90158.23c90739a0c5ad09
+    152d3a84abc48154.e746f8ab0d097917.737d018a5a5442f2.b70d1532d4e0cb80
+    61be52ab5e419ed1.98a58169b05b4598.c0204a9545229242.de903629eb7cbad3
+    9081277c34e5a405.a6f557065fc07cb7.c3d052140752ac75.f29e66898026b4ad
+    5183a2bd306af5bb
+  after
+    cf05611bff619065.358cc061dc3fda88.fe1cfa0828d90158.23c90739a0c5ad09
+    152d3a84abc48154.e746f8ab0d097917.737d018a5a5442f2.b70d1532d4e0cb80
+    0000000000000000.0000000000000000.737d018a5a5442f2.b70d153200000000
+    9081277c34e5a405.a6f557065fc07cb7.c3d052140752ac75.f29e66898026b4ad
+    5183a2bd306af5bb
+
+VCMPSS_128_0x5(reg)
+  before
+    558ae43396d2bba8.7f4535e44abb4f1e.6c8176edb6c5581f.565b93f3b9ed4db6
+    5b012a564eec4021.08d5f6cdbbd05b48.4697db8c52f4167c.568b8b1e79013133
+    c0326f92f544c1d1.08fce825a42f83af.9081814ecedcf17b.9f2db58163991315
+    de6ab05327647965.5b8885d720e4847e.a68d649fc70626c8.0d0d8d0892c2b18a
+    7df7909f2287c5be
+  after
+    0000000000000000.0000000000000000.4697db8c52f4167c.568b8b1effffffff
+    5b012a564eec4021.08d5f6cdbbd05b48.4697db8c52f4167c.568b8b1e79013133
+    c0326f92f544c1d1.08fce825a42f83af.9081814ecedcf17b.9f2db58163991315
+    de6ab05327647965.5b8885d720e4847e.a68d649fc70626c8.0d0d8d0892c2b18a
+    7df7909f2287c5be
+VCMPSS_128_0x5(mem)
+  before
+    c9b6383230f40bdd.12f5e7057fdaa689.dd434cce4cfb1ae1.e40581ebd800f10e
+    ce1803aed8154112.b81f1215993282e8.6afab6f843810006.a536d29e9e558efa
+    68e76cfd35f72189.2d342ced12f64a2f.df7940402282f316.476c5525b4923838
+    73f0f00d63a6676f.cb8031fa86b43909.168c67920408af40.25f205eab7412d73
+    9a16de5b42f1a658
+  after
+    c9b6383230f40bdd.12f5e7057fdaa689.dd434cce4cfb1ae1.e40581ebd800f10e
+    ce1803aed8154112.b81f1215993282e8.6afab6f843810006.a536d29e9e558efa
+    0000000000000000.0000000000000000.6afab6f843810006.a536d29effffffff
+    73f0f00d63a6676f.cb8031fa86b43909.168c67920408af40.25f205eab7412d73
+    9a16de5b42f1a658
+
+VCMPSS_128_0x6(reg)
+  before
+    0422dde2f22be292.cbff09c97f2cd1f0.ef4e1da990f88c23.ecfea6db0621f0ae
+    be63fded627d1bce.4ce0351ca4971938.f5ebed65cc4d7f29.3d9d790543d8718c
+    23253ae72e728eb7.d25feff4eff2fc72.39a39c99d73f4ec6.e5335dfdd73aef07
+    91b4903cf39777fa.3947b33c7b4a36ca.17c226b34c5a34a7.bf8dccb0df52264b
+    a9774408772cd284
+  after
+    0000000000000000.0000000000000000.f5ebed65cc4d7f29.3d9d7905ffffffff
+    be63fded627d1bce.4ce0351ca4971938.f5ebed65cc4d7f29.3d9d790543d8718c
+    23253ae72e728eb7.d25feff4eff2fc72.39a39c99d73f4ec6.e5335dfdd73aef07
+    91b4903cf39777fa.3947b33c7b4a36ca.17c226b34c5a34a7.bf8dccb0df52264b
+    a9774408772cd284
+VCMPSS_128_0x6(mem)
+  before
+    7ebd40f3bad5aedd.625cfb584d771143.5d66fee065aa826d.eb94871ec82b6e77
+    1a2a3c5bc4587782.f46878a7d79e993d.19864acdc81e9d87.1165bb46e63d38e3
+    598cb52eb2c1e9a0.a12601952d994b95.4b7415edc1b34343.e580bf97431ccd97
+    17ad25579f1dbf63.c6e0948eecf363f7.cefcda2d6b742fce.c3328e7d7a556b3e
+    07c8246527734c85
+  after
+    7ebd40f3bad5aedd.625cfb584d771143.5d66fee065aa826d.eb94871ec82b6e77
+    1a2a3c5bc4587782.f46878a7d79e993d.19864acdc81e9d87.1165bb46e63d38e3
+    0000000000000000.0000000000000000.19864acdc81e9d87.1165bb4600000000
+    17ad25579f1dbf63.c6e0948eecf363f7.cefcda2d6b742fce.c3328e7d7a556b3e
+    07c8246527734c85
+
+VCMPSS_128_0x6(reg)
+  before
+    0d8c7eb9e703ac17.2f5a0ac2a877b6f6.c0e32dffaf381c0e.7ee9167ae36d1f54
+    31ca96e75690c9a1.7f5fe05be9db8a86.e97bc65213f5b386.370943be44abcd00
+    ced06a590fa6ddcf.e288210e7c56f63f.9ef45df5b3b5640d.d426dfe7aa39f5ff
+    42e9f57daed1254c.33a14ac880f3b84c.3c99ed522c046a4d.330e65e03223557c
+    2f8b5194f876a7a4
+  after
+    0000000000000000.0000000000000000.e97bc65213f5b386.370943beffffffff
+    31ca96e75690c9a1.7f5fe05be9db8a86.e97bc65213f5b386.370943be44abcd00
+    ced06a590fa6ddcf.e288210e7c56f63f.9ef45df5b3b5640d.d426dfe7aa39f5ff
+    42e9f57daed1254c.33a14ac880f3b84c.3c99ed522c046a4d.330e65e03223557c
+    2f8b5194f876a7a4
+VCMPSS_128_0x6(mem)
+  before
+    a36a1ff1173da8a2.e86033bed09edcc5.5075d8730ebe8ada.1db872d7196f03f2
+    6d774ce2ab8513a4.1c82218811983fe5.14d246fd45c42814.9e9be8ef178169a9
+    677d5353d158a6d3.399bb9470c4c8a59.5a8210503e105027.1b8f4c06c1c6d81e
+    6f4ab031a4c41b5e.9df7f9675d45f9cc.0052b35a17afbc3e.f1e09988b4cb8efc
+    7adacbe18b1bc5f0
+  after
+    a36a1ff1173da8a2.e86033bed09edcc5.5075d8730ebe8ada.1db872d7196f03f2
+    6d774ce2ab8513a4.1c82218811983fe5.14d246fd45c42814.9e9be8ef178169a9
+    0000000000000000.0000000000000000.14d246fd45c42814.9e9be8ef00000000
+    6f4ab031a4c41b5e.9df7f9675d45f9cc.0052b35a17afbc3e.f1e09988b4cb8efc
+    7adacbe18b1bc5f0
+
+VCMPSS_128_0x6(reg)
+  before
+    13c9de7de242b9a5.5fa8df6641d52e6e.a2e2dc54a10fc7eb.e00eaa06ecab2986
+    18f8cec856cda8c8.15645ddfc3969d32.a6a75f7a73373262.d882703fd813522b
+    e5b4982f8347cc05.6b4aa489471322d4.04947c45704773dc.c27984f3f7f0f558
+    d64a371c043d6207.3e26324ee8587a81.17f3312233cec906.7bc15f0d6650cc3a
+    e0247e79413e93fd
+  after
+    0000000000000000.0000000000000000.a6a75f7a73373262.d882703fffffffff
+    18f8cec856cda8c8.15645ddfc3969d32.a6a75f7a73373262.d882703fd813522b
+    e5b4982f8347cc05.6b4aa489471322d4.04947c45704773dc.c27984f3f7f0f558
+    d64a371c043d6207.3e26324ee8587a81.17f3312233cec906.7bc15f0d6650cc3a
+    e0247e79413e93fd
+VCMPSS_128_0x6(mem)
+  before
+    cb6f5e24a3c608cc.4704a7fd7539a67b.6bc4831cc3726064.3d11797b59556e8c
+    196e7af8a8f5e5d3.942fe43c73cad30c.ccef11def36c92aa.d03a50be7d6a9f19
+    a7ed4ee26dd6e740.1916eb479a792667.3e755a809553ca7e.2dbab2563c99985a
+    4fb757cf0d76ca3c.3107b68984d4db38.9e20d8eec432c40d.b1dd9cae316c95fa
+    b6ee0934f871d1a6
+  after
+    cb6f5e24a3c608cc.4704a7fd7539a67b.6bc4831cc3726064.3d11797b59556e8c
+    196e7af8a8f5e5d3.942fe43c73cad30c.ccef11def36c92aa.d03a50be7d6a9f19
+    0000000000000000.0000000000000000.ccef11def36c92aa.d03a50beffffffff
+    4fb757cf0d76ca3c.3107b68984d4db38.9e20d8eec432c40d.b1dd9cae316c95fa
+    b6ee0934f871d1a6
+
+VCMPSS_128_0x7(reg)
+  before
+    993af5532e348909.ee9a0faaa5e049f6.3a4c436ed0662d2a.c6bd09149d153e83
+    b70e5c776f3ff8d0.6060f45e50202198.8f328d6218bb5ae9.931869de3b08f20b
+    6ab43b0d56205ba7.81d781d92b430e4f.8c0691d1f8609c23.e1fd7238ba189dd2
+    0f798c7f7f63ef39.2dc933065153cb46.8d1249270de02f82.8c37a20e3750fb03
+    7094744dcebdc7cb
+  after
+    0000000000000000.0000000000000000.8f328d6218bb5ae9.931869deffffffff
+    b70e5c776f3ff8d0.6060f45e50202198.8f328d6218bb5ae9.931869de3b08f20b
+    6ab43b0d56205ba7.81d781d92b430e4f.8c0691d1f8609c23.e1fd7238ba189dd2
+    0f798c7f7f63ef39.2dc933065153cb46.8d1249270de02f82.8c37a20e3750fb03
+    7094744dcebdc7cb
+VCMPSS_128_0x7(mem)
+  before
+    69de64df996abe56.02a84d3a8792ed33.410284d1df5f15aa.eda2b3d1f2c851b2
+    53e2eeb2b7639ccf.a08f7aab0a3b9440.9750f226f070a8a6.0a04ca3943a33c60
+    0a6c8fb142b51c63.43780d3ca2ea1e0d.0c7ef8f1a1944067.3f828bcd9dfd2d38
+    6a48c1c8566bfc3d.48b0045bee29c846.7c57121e0dd69819.e76af0f79c635fe5
+    6006f725db600f14
+  after
+    69de64df996abe56.02a84d3a8792ed33.410284d1df5f15aa.eda2b3d1f2c851b2
+    53e2eeb2b7639ccf.a08f7aab0a3b9440.9750f226f070a8a6.0a04ca3943a33c60
+    0000000000000000.0000000000000000.9750f226f070a8a6.0a04ca39ffffffff
+    6a48c1c8566bfc3d.48b0045bee29c846.7c57121e0dd69819.e76af0f79c635fe5
+    6006f725db600f14
+
+VCMPSS_128_0x7(reg)
+  before
+    04a39bc2f7807971.4f4202e21091f68a.0b8459738887cd96.c3a8bc9a50436de7
+    318dd83a8b4fd9a7.9525ceed8b34c676.e83d0aef0c8d6baa.bc3d734f88e67bfd
+    410faaf9335a6b63.18bf9fd4e45f2a2c.3b2a133d17c9dc2d.45e2b22bcecb7e89
+    92770e6b8c2d6a50.b4daf384361edcd9.60966ec844c65dcc.3963f51840ff31b5
+    748cb804f98d51ad
+  after
+    0000000000000000.0000000000000000.e83d0aef0c8d6baa.bc3d734fffffffff
+    318dd83a8b4fd9a7.9525ceed8b34c676.e83d0aef0c8d6baa.bc3d734f88e67bfd
+    410faaf9335a6b63.18bf9fd4e45f2a2c.3b2a133d17c9dc2d.45e2b22bcecb7e89
+    92770e6b8c2d6a50.b4daf384361edcd9.60966ec844c65dcc.3963f51840ff31b5
+    748cb804f98d51ad
+VCMPSS_128_0x7(mem)
+  before
+    d22878da16819a9e.7e0ffffc3152131b.454345e79e7e98a8.b3cc19fd2f102933
+    2f05af86b3e8c7b4.63257918bf57a16f.a7c611ea378a1cc6.901a0f4676347d0d
+    66eddbf4eacd951b.9b03782bd2c751f9.b52ed37a1d4e225f.53ca4c10b2bd9507
+    55ad7710da3cc0fe.83f6f8a2042f6065.4d4908816dd7679e.5829ccc78138adcc
+    fa838cd87f2f0009
+  after
+    d22878da16819a9e.7e0ffffc3152131b.454345e79e7e98a8.b3cc19fd2f102933
+    2f05af86b3e8c7b4.63257918bf57a16f.a7c611ea378a1cc6.901a0f4676347d0d
+    0000000000000000.0000000000000000.a7c611ea378a1cc6.901a0f46ffffffff
+    55ad7710da3cc0fe.83f6f8a2042f6065.4d4908816dd7679e.5829ccc78138adcc
+    fa838cd87f2f0009
+
+VCMPSS_128_0x7(reg)
+  before
+    972387ae4731cc6a.d71100c69d420389.7849f6e7f41a075e.4ae12aed4330a7af
+    8a57b9b475c74a9a.c7e4f0024fea1ce9.d44a6d683c148591.87c4b7a9ba659dc0
+    2f691e58a67fb946.03f4c5b10d41c54a.f443599078aa14a9.e2bc2aa0ee8306fb
+    e1a6b20576e45319.660bfabdf251bad7.3582b6cb4467f153.369600c0fc959e8c
+    5e1eb3f400a721a0
+  after
+    0000000000000000.0000000000000000.d44a6d683c148591.87c4b7a9ffffffff
+    8a57b9b475c74a9a.c7e4f0024fea1ce9.d44a6d683c148591.87c4b7a9ba659dc0
+    2f691e58a67fb946.03f4c5b10d41c54a.f443599078aa14a9.e2bc2aa0ee8306fb
+    e1a6b20576e45319.660bfabdf251bad7.3582b6cb4467f153.369600c0fc959e8c
+    5e1eb3f400a721a0
+VCMPSS_128_0x7(mem)
+  before
+    381fc12915c64a63.fe5a7227808355c0.cbf60b141a28b9bd.f15181843ed8573b
+    9e67a54957fdd600.e1d1592a60e7fbe6.108175a0a2d27c28.85fdb529ff87840c
+    6ec0dc41e35981a4.e557637ab39c8038.0f78b24fa65ac043.4dd24e262502b273
+    82f7e0fdd4e4067b.68388c83142e2162.a6a7400c41cc403a.a51b48e54cd51e1c
+    e9269fd30f8a03b2
+  after
+    381fc12915c64a63.fe5a7227808355c0.cbf60b141a28b9bd.f15181843ed8573b
+    9e67a54957fdd600.e1d1592a60e7fbe6.108175a0a2d27c28.85fdb529ff87840c
+    0000000000000000.0000000000000000.108175a0a2d27c28.85fdb52900000000
+    82f7e0fdd4e4067b.68388c83142e2162.a6a7400c41cc403a.a51b48e54cd51e1c
+    e9269fd30f8a03b2
+
+VCMPSS_128_0x8(reg)
+  before
+    753d505c0ab09ee1.b8d82f6a47ac22b0.c4bfd1b2202a1a0f.afda9ac39034ba3b
+    a5ad56eddad02b56.ea2f447357bd916f.57392c71721ca7ec.07dc3d60ae9fe86f
+    d5c2adf11b78e6bd.f5c89b0321220fe6.7bf39b2ea78e03a5.8b7aa3cfb7188605
+    61c851d368330ac1.b66eb008c0e7573e.8e361a535a0e6be5.15814afcc8ac5227
+    82bbadd4fc650602
+  after
+    0000000000000000.0000000000000000.57392c71721ca7ec.07dc3d6000000000
+    a5ad56eddad02b56.ea2f447357bd916f.57392c71721ca7ec.07dc3d60ae9fe86f
+    d5c2adf11b78e6bd.f5c89b0321220fe6.7bf39b2ea78e03a5.8b7aa3cfb7188605
+    61c851d368330ac1.b66eb008c0e7573e.8e361a535a0e6be5.15814afcc8ac5227
+    82bbadd4fc650602
+VCMPSS_128_0x8(mem)
+  before
+    aff4484170525fc1.a50b3f015d8dd40f.07ef006d511826a6.ea51a34e28271b59
+    76fa9831407c1991.fdd771e697138053.c515061eefc23848.ed8f348aac664eac
+    b498178e86f1ef9d.c577e5eeb1504a38.ccad3e07b6f04851.f13bc7738256418b
+    4599434661bc9e12.5838978548d16d6b.f9832414c3af14ec.53a35b75478330a1
+    7011e9fc977a579b
+  after
+    aff4484170525fc1.a50b3f015d8dd40f.07ef006d511826a6.ea51a34e28271b59
+    76fa9831407c1991.fdd771e697138053.c515061eefc23848.ed8f348aac664eac
+    0000000000000000.0000000000000000.c515061eefc23848.ed8f348a00000000
+    4599434661bc9e12.5838978548d16d6b.f9832414c3af14ec.53a35b75478330a1
+    7011e9fc977a579b
+
+VCMPSS_128_0x8(reg)
+  before
+    a2d26e740dc6f125.05ca9744eaeae21c.14668117f7212697.26633431320a5646
+    4632e74945f33bea.d1f79073408676e6.544da1105bccb169.3018eb4b1e0dca8a
+    b87d4fe8dc8e7197.83eca8c17c9c179d.7439f1dc0f5e498d.f370c44ca3c52de5
+    54fea2bb6e22ced7.f8755d1abc38816c.cf766fe8b0642bae.4b353b21de3d3c83
+    1434ccb7eb81b08f
+  after
+    0000000000000000.0000000000000000.544da1105bccb169.3018eb4b00000000
+    4632e74945f33bea.d1f79073408676e6.544da1105bccb169.3018eb4b1e0dca8a
+    b87d4fe8dc8e7197.83eca8c17c9c179d.7439f1dc0f5e498d.f370c44ca3c52de5
+    54fea2bb6e22ced7.f8755d1abc38816c.cf766fe8b0642bae.4b353b21de3d3c83
+    1434ccb7eb81b08f
+VCMPSS_128_0x8(mem)
+  before
+    2a39f4f9e49d4836.7703dd30953c9057.0c5d2a681c677080.c34f179ed9699379
+    69102ed3e89ebea3.7bd6fab1f066f1c3.9b728b98b7359f05.ab12e36c26fabc99
+    ad85f6301190cf03.bdc4f7ac192e2dc6.817efc96aaaccb26.e209d1bd35a2e4bb
+    d263c8fe7b7d3782.9919cf8cac20820d.9a4efa4f10dab010.c681dcfd9fed458a
+    b1c6009702681bb3
+  after
+    2a39f4f9e49d4836.7703dd30953c9057.0c5d2a681c677080.c34f179ed9699379
+    69102ed3e89ebea3.7bd6fab1f066f1c3.9b728b98b7359f05.ab12e36c26fabc99
+    0000000000000000.0000000000000000.9b728b98b7359f05.ab12e36c00000000
+    d263c8fe7b7d3782.9919cf8cac20820d.9a4efa4f10dab010.c681dcfd9fed458a
+    b1c6009702681bb3
+
+VCMPSS_128_0x8(reg)
+  before
+    012339f9fa9ea4e2.b47820294273b14b.6b217ebd46c72a43.c1ae00ad05ca0aee
+    10e6848e211b1ac2.2f8e7b9b847efa8a.8f2701ab82af6115.d46a8a9ea68994ed
+    3c59dcc3166cba00.1e7254415aa8ce6d.617952c2fc64652f.ae4d140d0f220b39
+    dfc93d02731cbf48.5ff02707e2ffe81e.3d616f6e5273703c.2b251ae55aa12bfd
+    27bc1914a613af65
+  after
+    0000000000000000.0000000000000000.8f2701ab82af6115.d46a8a9e00000000
+    10e6848e211b1ac2.2f8e7b9b847efa8a.8f2701ab82af6115.d46a8a9ea68994ed
+    3c59dcc3166cba00.1e7254415aa8ce6d.617952c2fc64652f.ae4d140d0f220b39
+    dfc93d02731cbf48.5ff02707e2ffe81e.3d616f6e5273703c.2b251ae55aa12bfd
+    27bc1914a613af65
+VCMPSS_128_0x8(mem)
+  before
+    7ddf8c850d83549f.5682a3b8d4b76745.cdd370da388f06c9.7f2c531b1d67bfe9
+    0b5aef24abfed6d5.fed00a52d6caeca3.44e9aca47762e29b.8226fb36fbcd8ee1
+    acf9bfde9d8ef033.31ff6f3a14e08a10.9ffc5653bc8638c0.a49b6129882f18d1
+    3b88769dfe4160e6.4c5bcdde2b857f35.bcdaead22207c663.40d783625f1c9a65
+    b2255c4c1c1d5048
+  after
+    7ddf8c850d83549f.5682a3b8d4b76745.cdd370da388f06c9.7f2c531b1d67bfe9
+    0b5aef24abfed6d5.fed00a52d6caeca3.44e9aca47762e29b.8226fb36fbcd8ee1
+    0000000000000000.0000000000000000.44e9aca47762e29b.8226fb3600000000
+    3b88769dfe4160e6.4c5bcdde2b857f35.bcdaead22207c663.40d783625f1c9a65
+    b2255c4c1c1d5048
+
+VCMPSS_128_0xA(reg)
+  before
+    55d2e8525cc07626.96d2924eeb23e01a.ac2f20a9b64605c1.764de40dc5ef46b1
+    872b24e2bb9047ad.98a58ede7f3e2cfa.abc8640652ae595e.a822c0efc24c75d6
+    a37a0a67d41a0087.1ccbe637d7a002b3.a67396639a49b7b9.3025fb67352a0efd
+    040c984d43e9dd60.001117470e551c71.f97ab12b2ba45a7d.e821105e3894cf53
+    aee47bc1ea967203
+  after
+    0000000000000000.0000000000000000.abc8640652ae595e.a822c0efffffffff
+    872b24e2bb9047ad.98a58ede7f3e2cfa.abc8640652ae595e.a822c0efc24c75d6
+    a37a0a67d41a0087.1ccbe637d7a002b3.a67396639a49b7b9.3025fb67352a0efd
+    040c984d43e9dd60.001117470e551c71.f97ab12b2ba45a7d.e821105e3894cf53
+    aee47bc1ea967203
+VCMPSS_128_0xA(mem)
+  before
+    5c38b87c653cb33a.082cc900a58919e5.1e439bf94068375f.0029b1caa04a7f57
+    d0ea437cc5935023.0a289aed9586f1c2.542df0398ae50eaa.17ce92ad95c762f2
+    e4c699ab27a603eb.654a057eb06da1a2.7c9a91f308d85f7d.9ab4503ea7a83efb
+    769835f7a68289be.77e0082091ca6532.7358fb13d54ee405.e526e8ea7278511e
+    5471551e91c3d406
+  after
+    5c38b87c653cb33a.082cc900a58919e5.1e439bf94068375f.0029b1caa04a7f57
+    d0ea437cc5935023.0a289aed9586f1c2.542df0398ae50eaa.17ce92ad95c762f2
+    0000000000000000.0000000000000000.542df0398ae50eaa.17ce92ad00000000
+    769835f7a68289be.77e0082091ca6532.7358fb13d54ee405.e526e8ea7278511e
+    5471551e91c3d406
+
+VCMPSS_128_0xA(reg)
+  before
+    43e19344a0160660.602c934a5f319dc7.9a349e40d527781e.1631a8850d52596d
+    0ec29eca3cfc21d7.7f4d30926dc2fd33.2c93c34917121711.3ff21635cdf17ce2
+    1160731b00026318.afc986baec3e632e.874974a6f3167eb7.cb67c00f31360790
+    a8060da389b305ce.cd6a13aef9b38be3.08a1abc507c0e8be.975c2200532db7a2
+    7d9db9f252e24845
+  after
+    0000000000000000.0000000000000000.2c93c34917121711.3ff21635ffffffff
+    0ec29eca3cfc21d7.7f4d30926dc2fd33.2c93c34917121711.3ff21635cdf17ce2
+    1160731b00026318.afc986baec3e632e.874974a6f3167eb7.cb67c00f31360790
+    a8060da389b305ce.cd6a13aef9b38be3.08a1abc507c0e8be.975c2200532db7a2
+    7d9db9f252e24845
+VCMPSS_128_0xA(mem)
+  before
+    5af5ffd3486275a4.2f0267ce739b46a7.b3fd525ab02c337e.0ce96611ec9b92d0
+    0a31728d51b8fbec.029e80085846604c.3e4ebfaa2cb6152d.ed6ba0f64033b899
+    691e8d0e8af19649.7d2751bdd741906c.4a29d78a8a5cee19.087455e09f1596c6
+    5486cc410e1801e6.fbe9d859891712b1.b35914e7e42a7a71.ba50823ba4cc6703
+    5d4b2274ebe468fb
+  after
+    5af5ffd3486275a4.2f0267ce739b46a7.b3fd525ab02c337e.0ce96611ec9b92d0
+    0a31728d51b8fbec.029e80085846604c.3e4ebfaa2cb6152d.ed6ba0f64033b899
+    0000000000000000.0000000000000000.3e4ebfaa2cb6152d.ed6ba0f600000000
+    5486cc410e1801e6.fbe9d859891712b1.b35914e7e42a7a71.ba50823ba4cc6703
+    5d4b2274ebe468fb
+
+VCMPSS_128_0xA(reg)
+  before
+    4eb131f511ead55b.a535ac12f939f9f0.da300f480d5521c7.56acf4ab592c745f
+    e9cdab2bb169e9ce.39f9a86d69613a92.7548f5f7fc86fa5b.0decf3c4036f990f
+    8aed8c8368ede101.ec9d3c3e779a80f9.277c83d0f436d919.b5e68b1cfefea5af
+    8d5bd168d203f9a0.9aece47241f38651.4e19b64191f1faac.2a6639a167e65368
+    48387a3e59326169
+  after
+    0000000000000000.0000000000000000.7548f5f7fc86fa5b.0decf3c400000000
+    e9cdab2bb169e9ce.39f9a86d69613a92.7548f5f7fc86fa5b.0decf3c4036f990f
+    8aed8c8368ede101.ec9d3c3e779a80f9.277c83d0f436d919.b5e68b1cfefea5af
+    8d5bd168d203f9a0.9aece47241f38651.4e19b64191f1faac.2a6639a167e65368
+    48387a3e59326169
+VCMPSS_128_0xA(mem)
+  before
+    eb28c9dff1ee88dc.4f64754589366d56.1fb31cf3e37509c5.456b8bb56e4498c1
+    ee01a2704a2787ed.2a5474882c1378d0.57bf61ae782ec582.67befd9728bbf004
+    2f9182dd81e819c9.7b77ca9c542457b9.1dd92e901c2a76b3.125e08555ae03e20
+    89a2e312b13df99c.9e1873eda0f846be.4fd0ff83ec73d785.a097a85aa041bdc2
+    6fb5da129769aa95
+  after
+    eb28c9dff1ee88dc.4f64754589366d56.1fb31cf3e37509c5.456b8bb56e4498c1
+    ee01a2704a2787ed.2a5474882c1378d0.57bf61ae782ec582.67befd9728bbf004
+    0000000000000000.0000000000000000.57bf61ae782ec582.67befd97ffffffff
+    89a2e312b13df99c.9e1873eda0f846be.4fd0ff83ec73d785.a097a85aa041bdc2
+    6fb5da129769aa95
+
+VCMPSS_128_0xC(reg)
+  before
+    d90399e9dae54146.d80143fbf733e392.ef856ce7a918818b.c86f50750417a524
+    3bcee14c0640be80.f87a1d846ed595d5.c908b0f60d1243cb.64819d517f229cbb
+    f262aea5b7065cf0.c4d8ee9a332fc994.8aee3b876871c92b.ffd46303799e7777
+    580bfd6287c45842.1ae93027614e3cf9.8d83090455c14f56.74321d770f99f383
+    a16847995c1fcc0c
+  after
+    0000000000000000.0000000000000000.c908b0f60d1243cb.64819d51ffffffff
+    3bcee14c0640be80.f87a1d846ed595d5.c908b0f60d1243cb.64819d517f229cbb
+    f262aea5b7065cf0.c4d8ee9a332fc994.8aee3b876871c92b.ffd46303799e7777
+    580bfd6287c45842.1ae93027614e3cf9.8d83090455c14f56.74321d770f99f383
+    a16847995c1fcc0c
+VCMPSS_128_0xC(mem)
+  before
+    61425d557d3abd3d.ca15c8ed1505ee21.d5776119143daa31.2e1317db718f10f9
+    908bdc978df88444.a5cc0db4fa55593a.d150fc5b6908ce67.c9ea6076576649c0
+    09113f4ca965db4a.437bc721d541d638.e93e7dd97cbc65c8.ba53e043a3d33656
+    aa9e025eec8c7e7e.016ff3a23f54a1c8.fb0e617f68642b80.5c9c93adf2611267
+    0d0f7520e09c1ba1
+  after
+    61425d557d3abd3d.ca15c8ed1505ee21.d5776119143daa31.2e1317db718f10f9
+    908bdc978df88444.a5cc0db4fa55593a.d150fc5b6908ce67.c9ea6076576649c0
+    0000000000000000.0000000000000000.d150fc5b6908ce67.c9ea6076ffffffff
+    aa9e025eec8c7e7e.016ff3a23f54a1c8.fb0e617f68642b80.5c9c93adf2611267
+    0d0f7520e09c1ba1
+
+VCMPSS_128_0xC(reg)
+  before
+    28f9830807118bae.4dffa1bb73792b09.3bf48ba2d61af696.e18c2239490ddcba
+    08a6b8d1064a9e3a.d001994e59389c1a.4d568d8d3620104d.79833ef33cc133a2
+    0b6210e777d692f2.0d6d6402bad68edb.94e1f4cffaf12c9a.9dc130995c8eed66
+    8b7887b6f63ea182.e21280c5b35ebc79.6ae1bcd4bf1a8628.2b107417c680c630
+    fd3d875a96a2792c
+  after
+    0000000000000000.0000000000000000.4d568d8d3620104d.79833ef3ffffffff
+    08a6b8d1064a9e3a.d001994e59389c1a.4d568d8d3620104d.79833ef33cc133a2
+    0b6210e777d692f2.0d6d6402bad68edb.94e1f4cffaf12c9a.9dc130995c8eed66
+    8b7887b6f63ea182.e21280c5b35ebc79.6ae1bcd4bf1a8628.2b107417c680c630
+    fd3d875a96a2792c
+VCMPSS_128_0xC(mem)
+  before
+    f114e44ce600c387.e6361aaa20100895.29bb688260dce41f.2ca1e10920255aa4
+    e16107dbd5a6606d.76e6c43090d702d8.c0339925dc5dc0fa.366f60d8b9a0e3ba
+    aaf06cf17ca10c09.99d581b2e320cdf7.81478d9a43ec0c35.e49534af27175e15
+    298c8f7cf9fc8288.a94f4d9eb476a39d.49c4c2cdb29686fd.926059f806150662
+    9c1ccb21f126194c
+  after
+    f114e44ce600c387.e6361aaa20100895.29bb688260dce41f.2ca1e10920255aa4
+    e16107dbd5a6606d.76e6c43090d702d8.c0339925dc5dc0fa.366f60d8b9a0e3ba
+    0000000000000000.0000000000000000.c0339925dc5dc0fa.366f60d8ffffffff
+    298c8f7cf9fc8288.a94f4d9eb476a39d.49c4c2cdb29686fd.926059f806150662
+    9c1ccb21f126194c
+
+VCMPSS_128_0xC(reg)
+  before
+    5e15879584d6d180.3803ed6768c47f15.04a0245f9f65c076.f574b3ab4566e87e
+    339688bf5cb26baa.b41f009ee404bfdd.04130360427a6230.5f23dc1e1768efe3
+    79edca0d14452275.79ad460d8ac8fd0c.07f6e50f3640c375.649fb91444a85759
+    8b6449ea491c338e.64793ba0751cf7cd.6793c6d7194320f1.e0b3c777e933db0c
+    af2a813521143827
+  after
+    0000000000000000.0000000000000000.04130360427a6230.5f23dc1effffffff
+    339688bf5cb26baa.b41f009ee404bfdd.04130360427a6230.5f23dc1e1768efe3
+    79edca0d14452275.79ad460d8ac8fd0c.07f6e50f3640c375.649fb91444a85759
+    8b6449ea491c338e.64793ba0751cf7cd.6793c6d7194320f1.e0b3c777e933db0c
+    af2a813521143827
+VCMPSS_128_0xC(mem)
+  before
+    aed1633909582ad6.c54801c396c1daa0.4f4f5943c10d674d.8137a2248710b451
+    b774e96fbc0a6c46.83e5ef0298c35358.17fa1ee38ba609b7.b12f76631b32bd41
+    a7df90c35736bba3.20870e14eaabd962.9848056aeff49a38.54c43cfe7135756c
+    5aded321f5e9d319.fa795a662907aa69.ae038ac60802d7fc.c445f26226a6187f
+    5efd93fcd510e425
+  after
+    aed1633909582ad6.c54801c396c1daa0.4f4f5943c10d674d.8137a2248710b451
+    b774e96fbc0a6c46.83e5ef0298c35358.17fa1ee38ba609b7.b12f76631b32bd41
+    0000000000000000.0000000000000000.17fa1ee38ba609b7.b12f7663ffffffff
+    5aded321f5e9d319.fa795a662907aa69.ae038ac60802d7fc.c445f26226a6187f
+    5efd93fcd510e425
+
+VCMPSS_128_0xC(reg)
+  before
+    7e371c361bff130b.ac3c2d75b22e70d3.6c09cf62f062ff19.35f829e1f2dc792e
+    8040877e9400e2dd.79c71dabab114dfd.d1816976db491720.09f35fa9ca8f3ffb
+    c064d23fda9e8d46.9d491caffc9f27c4.872e250c87472c28.06c0a709ab26e38e
+    9aeff8e48c664ff3.f48fa86ec0e2ba54.e85cfe9290e87bdd.082b7dedb2ad2214
+    ebff5d41fa31b8b9
+  after
+    0000000000000000.0000000000000000.d1816976db491720.09f35fa9ffffffff
+    8040877e9400e2dd.79c71dabab114dfd.d1816976db491720.09f35fa9ca8f3ffb
+    c064d23fda9e8d46.9d491caffc9f27c4.872e250c87472c28.06c0a709ab26e38e
+    9aeff8e48c664ff3.f48fa86ec0e2ba54.e85cfe9290e87bdd.082b7dedb2ad2214
+    ebff5d41fa31b8b9
+VCMPSS_128_0xC(mem)
+  before
+    8b0ac3f1a0bd60a8.6a2df5db43e2658f.5a653bd214e9c2d8.5257f07391b940ec
+    c4162ce9bf5dd70e.8c6ac68f9ea00bc7.aa9753c913bdfa7d.1f6bf81b2645b601
+    72f01315741ed916.5cf1666d362c7c47.c2f06c3ed96c1f6f.ade310f6ec181ac7
+    7064f462da0b21ed.360fd1dfa911f6ba.7d3e001d8302edd9.560d36707fbea8eb
+    783365f67ac49c19
+  after
+    8b0ac3f1a0bd60a8.6a2df5db43e2658f.5a653bd214e9c2d8.5257f07391b940ec
+    c4162ce9bf5dd70e.8c6ac68f9ea00bc7.aa9753c913bdfa7d.1f6bf81b2645b601
+    0000000000000000.0000000000000000.aa9753c913bdfa7d.1f6bf81bffffffff
+    7064f462da0b21ed.360fd1dfa911f6ba.7d3e001d8302edd9.560d36707fbea8eb
+    783365f67ac49c19
+
+VCMPSS_128_0xC(reg)
+  before
+    6da299f279b631fc.9c3e4bba0d306dbf.7611035293dbb3cd.b74b8d512c891fe8
+    92a6cfd1191ea440.d149950b2a9a77b7.7841f8328f16ef2b.4ce48ec8f10f72c7
+    448b0100f58a3193.ea534c3f4d54fb02.98ebadec3a4fe881.17d57f6eeda0a2a3
+    dd9c2deaaa86139e.c526ee44916ab7cb.325d1ceb2f11d87b.f6eadc2d3d476aa8
+    c4ef22f2fc108801
+  after
+    0000000000000000.0000000000000000.7841f8328f16ef2b.4ce48ec8ffffffff
+    92a6cfd1191ea440.d149950b2a9a77b7.7841f8328f16ef2b.4ce48ec8f10f72c7
+    448b0100f58a3193.ea534c3f4d54fb02.98ebadec3a4fe881.17d57f6eeda0a2a3
+    dd9c2deaaa86139e.c526ee44916ab7cb.325d1ceb2f11d87b.f6eadc2d3d476aa8
+    c4ef22f2fc108801
+VCMPSS_128_0xC(mem)
+  before
+    5cafcca94707b6da.ba274efad39c8810.3d8ff70513e9653f.a1e2439a0ae9fcc4
+    9cf8563f3939b061.3776619e0d5aca93.2d5ae16eeddcc289.43c51e6768628f08
+    5e943c9eefb134c0.b1d66041f34c15d3.73532a6b3e4f89d6.7353a7bde408cef5
+    8050fab4847bfc23.8293494f21fca67e.e9454ce8204f7852.8cd8dc081b67f535
+    eca0b8b4a90c4074
+  after
+    5cafcca94707b6da.ba274efad39c8810.3d8ff70513e9653f.a1e2439a0ae9fcc4
+    9cf8563f3939b061.3776619e0d5aca93.2d5ae16eeddcc289.43c51e6768628f08
+    0000000000000000.0000000000000000.2d5ae16eeddcc289.43c51e67ffffffff
+    8050fab4847bfc23.8293494f21fca67e.e9454ce8204f7852.8cd8dc081b67f535
+    eca0b8b4a90c4074
+
+VCMPSS_128_0xC(reg)
+  before
+    eef7372d2983ea5f.dcf80d6c15a4c5b7.07f9173435f9ba3e.6dfec5d1afe74928
+    ed2955df375631a2.5058f0b2bd374aa8.9c54c65cc8cc8abf.d94811120823b885
+    47810f3770134ee8.b63b1f7298414921.9def5334780355ae.0bf0aa9846108395
+    564c5f9f6f4580de.ec6f1698c3cc7c4f.6617b826e12955b7.ddc20e4d86b96483
+    2d8ab81fe32b187b
+  after
+    0000000000000000.0000000000000000.9c54c65cc8cc8abf.d9481112ffffffff
+    ed2955df375631a2.5058f0b2bd374aa8.9c54c65cc8cc8abf.d94811120823b885
+    47810f3770134ee8.b63b1f7298414921.9def5334780355ae.0bf0aa9846108395
+    564c5f9f6f4580de.ec6f1698c3cc7c4f.6617b826e12955b7.ddc20e4d86b96483
+    2d8ab81fe32b187b
+VCMPSS_128_0xC(mem)
+  before
+    d51424f87a715aab.78d64385d1790130.ccbe52105ae79f5e.5319f39f9ecac785
+    b22bcec66697e83d.076bb653313a0e89.33f54ec6789b7079.c03fff0c4b73e7c4
+    a19d3374c4a97c5d.6157b5772b14e395.fee086a639f6a9cc.09d6d8d885aff022
+    7c34ceeeafb4d238.e0e63a5c5c94bb02.074b769dba030784.8a297b6ee70b1f49
+    9f86e33c0e11b0e5
+  after
+    d51424f87a715aab.78d64385d1790130.ccbe52105ae79f5e.5319f39f9ecac785
+    b22bcec66697e83d.076bb653313a0e89.33f54ec6789b7079.c03fff0c4b73e7c4
+    0000000000000000.0000000000000000.33f54ec6789b7079.c03fff0cffffffff
+    7c34ceeeafb4d238.e0e63a5c5c94bb02.074b769dba030784.8a297b6ee70b1f49
+    9f86e33c0e11b0e5
+
+VCMPSS_128_0xD(reg)
+  before
+    a4370cad9550dea4.20bd1b2043c3a8fa.e163436e6045d47a.2b029a9516cf46cd
+    f48af22d1951e72f.690496f69de3b8ce.c11ccb19d2b368a9.46d06f7c6a6421d3
+    edc9912836a20535.33d5bc5cd91fbfe1.da5bcfc94f6bb33c.3482703dd1d155c1
+    ea41e60b86ce7460.5bfb073f1283795e.896d49ea72f8f2df.d2e519c3681f9ec3
+    fac3e6fc4a5cb707
+  after
+    0000000000000000.0000000000000000.c11ccb19d2b368a9.46d06f7cffffffff
+    f48af22d1951e72f.690496f69de3b8ce.c11ccb19d2b368a9.46d06f7c6a6421d3
+    edc9912836a20535.33d5bc5cd91fbfe1.da5bcfc94f6bb33c.3482703dd1d155c1
+    ea41e60b86ce7460.5bfb073f1283795e.896d49ea72f8f2df.d2e519c3681f9ec3
+    fac3e6fc4a5cb707
+VCMPSS_128_0xD(mem)
+  before
+    89e954d394935db6.473dec40a762725c.bb44f589641ca172.2a9e37e8d7e6613d
+    5b22dd3461d14cff.5f0b9f3435e839d6.307a0128ecf5f449.1a3994301bc23c03
+    4c3cff0bce21400c.90f6fb54cbef067a.966aa806c61a2e0e.b38c5c2cd917bfdc
+    38013545f68ff409.3549fd0b060014f3.c9e064110c970aee.52e18b4aae712575
+    53861ef4365dab7a
+  after
+    89e954d394935db6.473dec40a762725c.bb44f589641ca172.2a9e37e8d7e6613d
+    5b22dd3461d14cff.5f0b9f3435e839d6.307a0128ecf5f449.1a3994301bc23c03
+    0000000000000000.0000000000000000.307a0128ecf5f449.1a399430ffffffff
+    38013545f68ff409.3549fd0b060014f3.c9e064110c970aee.52e18b4aae712575
+    53861ef4365dab7a
+
+VCMPSS_128_0xD(reg)
+  before
+    12c510980b668c96.fb3efcccf5282524.a9519fc481a9a0ee.a5a8b334dd794614
+    ebeb5da1cc190676.71c0ce8de8f78f86.4a5adfedd875e617.068e105b53cc9bad
+    3a43017b120053c5.76502975eb08ee5e.72b0b8f1a8f12219.c85df7728a9ac8e5
+    5b1bf9927ca9b030.e5bd886f1968fdd6.7f9f273c8da890a0.c6e3e5659ff188e7
+    deea5420addd96e0
+  after
+    0000000000000000.0000000000000000.4a5adfedd875e617.068e105bffffffff
+    ebeb5da1cc190676.71c0ce8de8f78f86.4a5adfedd875e617.068e105b53cc9bad
+    3a43017b120053c5.76502975eb08ee5e.72b0b8f1a8f12219.c85df7728a9ac8e5
+    5b1bf9927ca9b030.e5bd886f1968fdd6.7f9f273c8da890a0.c6e3e5659ff188e7
+    deea5420addd96e0
+VCMPSS_128_0xD(mem)
+  before
+    eb3fc28fd068aefb.aabd3f52a3a05863.9cd268668e22791a.cb72263a22266b5a
+    c9aeaa9f26a08e65.8377d12725708809.765a434867421e57.b476b35703f8f0f1
+    5403883ac891f049.4293aa7d9ea57ccf.4f239700bfd5a7b9.94f8c9ffcda95a11
+    6709d94ed44591d5.435ec7c1a9cb7060.03f7df7ab3e6d16b.c842649f1bc5e667
+    ada181a18ad9d09f
+  after
+    eb3fc28fd068aefb.aabd3f52a3a05863.9cd268668e22791a.cb72263a22266b5a
+    c9aeaa9f26a08e65.8377d12725708809.765a434867421e57.b476b35703f8f0f1
+    0000000000000000.0000000000000000.765a434867421e57.b476b35700000000
+    6709d94ed44591d5.435ec7c1a9cb7060.03f7df7ab3e6d16b.c842649f1bc5e667
+    ada181a18ad9d09f
+
+VCMPSS_128_0xD(reg)
+  before
+    9d601a73b5705464.e08e18c566ca2d32.e224225de36f9f69.6da397a25f81589a
+    f5cd2d7f3916ae63.9a5cc18d992c7f8f.7a30b9bfe71c4695.6bf33b64ddb3f772
+    1233b533b1581947.7040509189754416.69d08752515fa192.d8b248ad4c876c1e
+    4eddaffabac1d2bd.400641bd53b338f3.0a4e8881bec3ec09.8fae3967c50971cb
+    6eb18a806646c2a4
+  after
+    0000000000000000.0000000000000000.7a30b9bfe71c4695.6bf33b6400000000
+    f5cd2d7f3916ae63.9a5cc18d992c7f8f.7a30b9bfe71c4695.6bf33b64ddb3f772
+    1233b533b1581947.7040509189754416.69d08752515fa192.d8b248ad4c876c1e
+    4eddaffabac1d2bd.400641bd53b338f3.0a4e8881bec3ec09.8fae3967c50971cb
+    6eb18a806646c2a4
+VCMPSS_128_0xD(mem)
+  before
+    4f89b7e24b491dd6.06181540efdd1471.e47a11fd13f21753.b9f8b9bac9d462a9
+    10003c7b8f1e3c8c.9630e571ed391d0e.3a673b3de33d9c62.d11814680f1e401c
+    8be296354fd2dcf3.5a711af94f602741.1c9b3b69e2a0844b.b0fa97f72c2ec20e
+    9efd40fea670b837.ae26b044b2de6fb5.68e08d6d2a278b3b.b0ec3dd3ba8f232c
+    2f39036958cea022
+  after
+    4f89b7e24b491dd6.06181540efdd1471.e47a11fd13f21753.b9f8b9bac9d462a9
+    10003c7b8f1e3c8c.9630e571ed391d0e.3a673b3de33d9c62.d11814680f1e401c
+    0000000000000000.0000000000000000.3a673b3de33d9c62.d1181468ffffffff
+    9efd40fea670b837.ae26b044b2de6fb5.68e08d6d2a278b3b.b0ec3dd3ba8f232c
+    2f39036958cea022
+
+VCMPSS_128_0xE(reg)
+  before
+    882ce323a076759b.231cb6c1b0058e83.ee9da4beb1403017.f803ae36d7df6c5d
+    1613db6e2e13de44.f80a746a8a9c1804.7620f0d4e811a713.aad018ae06d3e4df
+    3738e6b79e3216c9.f795f7e5504112e6.a2fc92f0f4de1054.581349c3d210afea
+    45e800698e5e5ad5.fd87ba1f1d003a54.ce7d85807031a787.e098bc6058a089ac
+    1c2aee70b3922d51
+  after
+    0000000000000000.0000000000000000.7620f0d4e811a713.aad018aeffffffff
+    1613db6e2e13de44.f80a746a8a9c1804.7620f0d4e811a713.aad018ae06d3e4df
+    3738e6b79e3216c9.f795f7e5504112e6.a2fc92f0f4de1054.581349c3d210afea
+    45e800698e5e5ad5.fd87ba1f1d003a54.ce7d85807031a787.e098bc6058a089ac
+    1c2aee70b3922d51
+VCMPSS_128_0xE(mem)
+  before
+    e99759e1ffef5805.9d6e25ef9723e614.e7ad39020de64a7a.56efc6eff999a757
+    23a97b9e59c5c6f3.9c1852b7570ef534.8fd2f07b3dfeff86.969e4fa82b9f4d71
+    a72dcf93dd1f3247.9c31822c6aaac4de.d2c45b77c85515a2.ead61e19a1d1d581
+    4fefd1aca60a5a2f.fa04b1ba6b838fc1.8c4ef7e0cbf647fa.aee22eadf7ba7b32
+    3e0f7bd0cae67a31
+  after
+    e99759e1ffef5805.9d6e25ef9723e614.e7ad39020de64a7a.56efc6eff999a757
+    23a97b9e59c5c6f3.9c1852b7570ef534.8fd2f07b3dfeff86.969e4fa82b9f4d71
+    0000000000000000.0000000000000000.8fd2f07b3dfeff86.969e4fa8ffffffff
+    4fefd1aca60a5a2f.fa04b1ba6b838fc1.8c4ef7e0cbf647fa.aee22eadf7ba7b32
+    3e0f7bd0cae67a31
+
+VCMPSS_128_0xE(reg)
+  before
+    f5a901eeb5e20f29.f8bbfed6d190f7d4.13dedbcdf7269287.993b3fa461ed52bb
+    31fcbd74553975c7.7e5cd1fb79c0c865.410bfdd1a81e08dd.d658afaea746f211
+    4d54aacc4578eab7.bda0c508baa3870c.e1d712331df72e6e.1d71c3eab80ee227
+    a5fdc463222aa8a4.915159eab147f2f5.4f8e155df03e40e7.4b52f844b150df2a
+    3cc7c8a8ad19a545
+  after
+    0000000000000000.0000000000000000.410bfdd1a81e08dd.d658afaeffffffff
+    31fcbd74553975c7.7e5cd1fb79c0c865.410bfdd1a81e08dd.d658afaea746f211
+    4d54aacc4578eab7.bda0c508baa3870c.e1d712331df72e6e.1d71c3eab80ee227
+    a5fdc463222aa8a4.915159eab147f2f5.4f8e155df03e40e7.4b52f844b150df2a
+    3cc7c8a8ad19a545
+VCMPSS_128_0xE(mem)
+  before
+    cc9bb102c974f0a5.944207a687dbec3a.d63c068b79b7c24e.e87b05bcbd7e79f3
+    d79c2e3e206d7b76.787170ff1018f127.682d4ad92f00b640.06ecdbbd2143173f
+    3994bc49ce1103e3.abd4f9dc5a6cf515.23f09fbfee2d88fa.062b95cbb71a5477
+    ce50d50df06b4419.8bb8a0a8016332b0.e3518329d34af5a6.44852d511c8e6c46
+    1c46a1bdeb2b9d59
+  after
+    cc9bb102c974f0a5.944207a687dbec3a.d63c068b79b7c24e.e87b05bcbd7e79f3
+    d79c2e3e206d7b76.787170ff1018f127.682d4ad92f00b640.06ecdbbd2143173f
+    0000000000000000.0000000000000000.682d4ad92f00b640.06ecdbbdffffffff
+    ce50d50df06b4419.8bb8a0a8016332b0.e3518329d34af5a6.44852d511c8e6c46
+    1c46a1bdeb2b9d59
+
+VCMPSS_128_0xE(reg)
+  before
+    eabaed7ac17e215b.729cf778a287fa43.726960cfa089e4a5.841b7103f964b970
+    0a2c0bf4391234f9.01449d74ff72e08e.be3236bdd36b49a0.e21ce6397d868f86
+    d8eaf997f07414df.561343ef2337b325.c9611cde37959b4c.d91e5db77abc3411
+    b03eb2cf812ffbb8.4fd766d42be22f36.f140109e68911756.45ee51690d136440
+    0158413c5196da3d
+  after
+    0000000000000000.0000000000000000.be3236bdd36b49a0.e21ce639ffffffff
+    0a2c0bf4391234f9.01449d74ff72e08e.be3236bdd36b49a0.e21ce6397d868f86
+    d8eaf997f07414df.561343ef2337b325.c9611cde37959b4c.d91e5db77abc3411
+    b03eb2cf812ffbb8.4fd766d42be22f36.f140109e68911756.45ee51690d136440
+    0158413c5196da3d
+VCMPSS_128_0xE(mem)
+  before
+    eb28a61a63515434.ee75320989cf2631.c75a810f33800fea.901c0d6900edf86a
+    de29fdf15e518c52.eedb75afa3e0d1f5.9a69108c551c1070.04420fac9e347c33
+    b629c3ab5ea13ec3.0bbc782f6bef37b1.a3d08f37b0c2eef2.a7fb13d1dcf3dd5d
+    4ef27336804d28b2.a36436f37e879510.c05b7afc5d7f649c.d696144656b55795
+    ee5e0d75a9062887
+  after
+    eb28a61a63515434.ee75320989cf2631.c75a810f33800fea.901c0d6900edf86a
+    de29fdf15e518c52.eedb75afa3e0d1f5.9a69108c551c1070.04420fac9e347c33
+    0000000000000000.0000000000000000.9a69108c551c1070.04420fac00000000
+    4ef27336804d28b2.a36436f37e879510.c05b7afc5d7f649c.d696144656b55795
+    ee5e0d75a9062887
+
+VCMPSS_128_0x11(reg)
+  before
+    499efdcc70738adf.8451897de062044c.111eab69783527c0.ccd64ec77b5e309b
+    44a4ddb64887ba48.3212826c99eb8fbd.b138d3fcf484296a.a20c8585236b0c1b
+    3bbaaa9fcccff46e.3601d8efc7f58430.defcaa188e00d6bd.20cb9d2074b3b447
+    8a2d61f398d573ff.6be909f2878aa1d2.f6b72d29e3356b63.20dd12868741e64c
+    800f5ea17a225c56
+  after
+    0000000000000000.0000000000000000.b138d3fcf484296a.a20c8585ffffffff
+    44a4ddb64887ba48.3212826c99eb8fbd.b138d3fcf484296a.a20c8585236b0c1b
+    3bbaaa9fcccff46e.3601d8efc7f58430.defcaa188e00d6bd.20cb9d2074b3b447
+    8a2d61f398d573ff.6be909f2878aa1d2.f6b72d29e3356b63.20dd12868741e64c
+    800f5ea17a225c56
+VCMPSS_128_0x11(mem)
+  before
+    1a2dff5f6960d390.8d49fd1e492774a4.ac989061f4b8a0ce.54b5579b8fb02408
+    cc0370ab6f090626.a1597a8c7b51330c.d7d8e9282b8b3d51.534124da2cfc3c59
+    705c2d71a929b346.20abd5a9c9ddebe1.c6769134480e3686.51a9905259a6f002
+    e406b29d31cb9419.678908e2d05ad9cf.563e036f654d459a.a838986faf397cae
+    b639379ecd411b0a
+  after
+    1a2dff5f6960d390.8d49fd1e492774a4.ac989061f4b8a0ce.54b5579b8fb02408
+    cc0370ab6f090626.a1597a8c7b51330c.d7d8e9282b8b3d51.534124da2cfc3c59
+    0000000000000000.0000000000000000.d7d8e9282b8b3d51.534124da00000000
+    e406b29d31cb9419.678908e2d05ad9cf.563e036f654d459a.a838986faf397cae
+    b639379ecd411b0a
+
+VCMPSS_128_0x11(reg)
+  before
+    d5f968494c4b0bc2.02cb7c1b26fb65ce.d24011a12a513984.64fcbbc7a15427b9
+    63c42adecbe28681.a77805d7a2c5e48f.bd1ceb54765047a9.ca7c35271530970e
+    bae676c8e392c9f3.b0d9cbbec136cb89.846993654ee23eed.6589ed7adfec53c6
+    38aa4a7232e80fc6.f7ba4abaa059d7e7.827303424e935cfa.12f160ae1b95150c
+    ab7e09aee436990d
+  after
+    0000000000000000.0000000000000000.bd1ceb54765047a9.ca7c352700000000
+    63c42adecbe28681.a77805d7a2c5e48f.bd1ceb54765047a9.ca7c35271530970e
+    bae676c8e392c9f3.b0d9cbbec136cb89.846993654ee23eed.6589ed7adfec53c6
+    38aa4a7232e80fc6.f7ba4abaa059d7e7.827303424e935cfa.12f160ae1b95150c
+    ab7e09aee436990d
+VCMPSS_128_0x11(mem)
+  before
+    0dfd646657db9df5.375ea14a546f95a3.59e7fcb85a3bc4d6.1585395613f0da7c
+    143aedc28f90dbef.144c77bbe4b39739.b22b5fa50ce74d81.98ed300d3884f720
+    9d0120afa8621028.2cc1c8317e415132.df53ee6cd2692f15.67f5e4d35adced92
+    821d7a17bf5cf8cc.d9099019bfa4fe3b.ba2c25f9c6cd26be.deea52141483f97e
+    5818743c0305578e
+  after
+    0dfd646657db9df5.375ea14a546f95a3.59e7fcb85a3bc4d6.1585395613f0da7c
+    143aedc28f90dbef.144c77bbe4b39739.b22b5fa50ce74d81.98ed300d3884f720
+    0000000000000000.0000000000000000.b22b5fa50ce74d81.98ed300d00000000
+    821d7a17bf5cf8cc.d9099019bfa4fe3b.ba2c25f9c6cd26be.deea52141483f97e
+    5818743c0305578e
+
+VCMPSS_128_0x11(reg)
+  before
+    33cb48b8c2ee4271.a05c76e7f08b4e06.7870ccdd4368dbff.208080370720eda7
+    ca4fc9f2eecbf7d1.d388900c56facf02.654277eaa51a242b.ed1c7b14ae6e41fd
+    79eff3582227b25b.f76e44710db537ed.fcca8dad8145146a.fdcb937bd9c1deeb
+    9bf8c354fb8fafba.e8da0f0132c941f3.9a560b907475e869.2c5b4359a427809e
+    569607982aabe242
+  after
+    0000000000000000.0000000000000000.654277eaa51a242b.ed1c7b1400000000
+    ca4fc9f2eecbf7d1.d388900c56facf02.654277eaa51a242b.ed1c7b14ae6e41fd
+    79eff3582227b25b.f76e44710db537ed.fcca8dad8145146a.fdcb937bd9c1deeb
+    9bf8c354fb8fafba.e8da0f0132c941f3.9a560b907475e869.2c5b4359a427809e
+    569607982aabe242
+VCMPSS_128_0x11(mem)
+  before
+    574a5c25885ac102.8eb73354148e299b.82986caae041ab40.9930eb011937dcd4
+    0b41bcedd93fd90b.ac7641c309b05daa.a174d75734292eff.56a52b6b0d162c56
+    4e48a5da3966e688.5381e90d77828792.2139ccf4498e895c.2d01c639eb9e139c
+    fc2a92dac5dca3a6.dd26259efa8fe2ff.deb5c76d3c7b7684.7a90b8d9505cce51
+    999efeb6d7db9922
+  after
+    574a5c25885ac102.8eb73354148e299b.82986caae041ab40.9930eb011937dcd4
+    0b41bcedd93fd90b.ac7641c309b05daa.a174d75734292eff.56a52b6b0d162c56
+    0000000000000000.0000000000000000.a174d75734292eff.56a52b6bffffffff
+    fc2a92dac5dca3a6.dd26259efa8fe2ff.deb5c76d3c7b7684.7a90b8d9505cce51
+    999efeb6d7db9922
+
+VCMPSS_128_0x12(reg)
+  before
+    e676923d1da8b0bb.f0b5ffd898accd91.a8b0f2e22d63ab9f.b3b245ae28fcb3a3
+    bd6572d8bd4d4ec7.08b369bfcfe22074.0e6a4d45ac8b1e1c.7efdc1a32a1df9e4
+    7ab79af45459b0f3.1ff24b7d868b577c.6da1313314927722.1a62b7395deb0774
+    78b804fd7d5511ea.113c20fdd8b22fd4.1fa19b180004f15e.63ada35add72977f
+    34a902f4c8bd6630
+  after
+    0000000000000000.0000000000000000.0e6a4d45ac8b1e1c.7efdc1a3ffffffff
+    bd6572d8bd4d4ec7.08b369bfcfe22074.0e6a4d45ac8b1e1c.7efdc1a32a1df9e4
+    7ab79af45459b0f3.1ff24b7d868b577c.6da1313314927722.1a62b7395deb0774
+    78b804fd7d5511ea.113c20fdd8b22fd4.1fa19b180004f15e.63ada35add72977f
+    34a902f4c8bd6630
+VCMPSS_128_0x12(mem)
+  before
+    6b244ef137d830b4.15b4ad60d4cfaf59.b95e672be16364a9.81b685610d6ec97c
+    e3e8053f48cfb036.acf79288f652c4eb.f52499f4beabb126.f02ced78d65b3b27
+    77c2a3c917afa3e3.99ccaee07f6b8d4e.a05934428a95d478.c64fcecbf857820c
+    057ea27bbe83c5e6.3781fdd60aa4452b.95cbb202622d87cb.606a24c50eefdbd6
+    1acaebd2b5ae8232
+  after
+    6b244ef137d830b4.15b4ad60d4cfaf59.b95e672be16364a9.81b685610d6ec97c
+    e3e8053f48cfb036.acf79288f652c4eb.f52499f4beabb126.f02ced78d65b3b27
+    0000000000000000.0000000000000000.f52499f4beabb126.f02ced78ffffffff
+    057ea27bbe83c5e6.3781fdd60aa4452b.95cbb202622d87cb.606a24c50eefdbd6
+    1acaebd2b5ae8232
+
+VCMPSS_128_0x12(reg)
+  before
+    51bb205d8820b3cc.68e880415c57d26d.e4607cd5338c2a31.b24491216180864a
+    5f89bdd524d2a94f.7bcbb7070b3885a1.fbb6264997ac760a.d1924d89a3998f22
+    a180c0a3244fa168.1cf5c6b9e7319bb1.d7cff69ed2926562.d07f602846855c7f
+    73ec25342423d7c2.253026440d4ed0c6.d6f7eb407ec935e6.89d848e9634eaa8c
+    da6880b718033476
+  after
+    0000000000000000.0000000000000000.fbb6264997ac760a.d1924d89ffffffff
+    5f89bdd524d2a94f.7bcbb7070b3885a1.fbb6264997ac760a.d1924d89a3998f22
+    a180c0a3244fa168.1cf5c6b9e7319bb1.d7cff69ed2926562.d07f602846855c7f
+    73ec25342423d7c2.253026440d4ed0c6.d6f7eb407ec935e6.89d848e9634eaa8c
+    da6880b718033476
+VCMPSS_128_0x12(mem)
+  before
+    9dfd848081adb868.3118e6f4c1db870a.74495492989cdf0f.5379fe9b3ade2042
+    b061d02fb95af08f.3752014f9702ecec.e30ccd90a52685b6.a9a32c1c9f5c6321
+    ed62e1b1dc159816.e1e470b241244313.4f450c2b4ff97ee8.36bf722d4ccf3930
+    31ca31f007ea6e2a.8b1b32885bcec72c.95c08d4eb32086d0.541acb3cdac4e01b
+    610033b3e7c6928d
+  after
+    9dfd848081adb868.3118e6f4c1db870a.74495492989cdf0f.5379fe9b3ade2042
+    b061d02fb95af08f.3752014f9702ecec.e30ccd90a52685b6.a9a32c1c9f5c6321
+    0000000000000000.0000000000000000.e30ccd90a52685b6.a9a32c1cffffffff
+    31ca31f007ea6e2a.8b1b32885bcec72c.95c08d4eb32086d0.541acb3cdac4e01b
+    610033b3e7c6928d
+
+VCMPSS_128_0x12(reg)
+  before
+    b7bda7000f618b32.59663ed955e62cf7.9143403c828bb6e2.8f48cde4eca7589b
+    b39d218eed2209b8.3f018359e3148fa8.4fa8973c52e84ae2.1aab46db179ab174
+    b2eb9fc91e9346c8.c0697d5acd81536a.219534f36570c0d8.12b3761e4f064d88
+    0ef41c1d3d437f11.b869a7ca2d383368.625812cd5aaf536f.542dd899b0f6e703
+    bae5e83857773d10
+  after
+    0000000000000000.0000000000000000.4fa8973c52e84ae2.1aab46dbffffffff
+    b39d218eed2209b8.3f018359e3148fa8.4fa8973c52e84ae2.1aab46db179ab174
+    b2eb9fc91e9346c8.c0697d5acd81536a.219534f36570c0d8.12b3761e4f064d88
+    0ef41c1d3d437f11.b869a7ca2d383368.625812cd5aaf536f.542dd899b0f6e703
+    bae5e83857773d10
+VCMPSS_128_0x12(mem)
+  before
+    21a723e8609408dc.240595f6e6bbef3d.04cc7c932245eccf.703b2d36cb314054
+    653e0393e6590792.516804c0b68ad4f9.7e5f7aa3c5b53acb.a68b829a5483c332
+    6278062605d3f45f.ef6967e7493968f0.03ee1de53592d887.60940b65923018b6
+    f41fa78eda0c8d6f.5b56b9d83a56e7cf.6f45df458beb8330.f9a2c60320c57a8b
+    cf00aee19acd265f
+  after
+    21a723e8609408dc.240595f6e6bbef3d.04cc7c932245eccf.703b2d36cb314054
+    653e0393e6590792.516804c0b68ad4f9.7e5f7aa3c5b53acb.a68b829a5483c332
+    0000000000000000.0000000000000000.7e5f7aa3c5b53acb.a68b829a00000000
+    f41fa78eda0c8d6f.5b56b9d83a56e7cf.6f45df458beb8330.f9a2c60320c57a8b
+    cf00aee19acd265f
+
+VCMPSS_128_0x16(reg)
+  before
+    3dfcbf699dd458db.f70063b681138bed.f17af6fd256c8f41.9e303eafe6c9f7f1
+    9ee0f609c5664cae.47e7b48914f1ad06.0d201ac4a7079af3.6c7ab50f5f3af0f7
+    50f94e2cad103d82.c0a018f5b2b4ade5.0b9522975bb44591.b5f1c051144a296e
+    ae93c33ef25e6803.3ef70ae5756848b7.482509e4defeccc6.555fdb6221035f81
+    2891832ca1734e5d
+  after
+    0000000000000000.0000000000000000.0d201ac4a7079af3.6c7ab50fffffffff
+    9ee0f609c5664cae.47e7b48914f1ad06.0d201ac4a7079af3.6c7ab50f5f3af0f7
+    50f94e2cad103d82.c0a018f5b2b4ade5.0b9522975bb44591.b5f1c051144a296e
+    ae93c33ef25e6803.3ef70ae5756848b7.482509e4defeccc6.555fdb6221035f81
+    2891832ca1734e5d
+VCMPSS_128_0x16(mem)
+  before
+    0a53339db0a5b22d.13fa51aa2fda09de.9db7064579173aa8.1e1ccb16cb716a3f
+    d771679f6ba6461e.dd7af4de00125bbf.b9ae8901dbcf3ee3.eac66499bf9a5ca7
+    6ab69b20ee81c75c.665ea94502919b51.6ea60d05b69b1195.086fd0d95504deab
+    a1f04c0b5442f112.0bf46a4cd0e40541.986c103e26886fe9.d4620c422a3c2bf7
+    a9ed1340d9cc8136
+  after
+    0a53339db0a5b22d.13fa51aa2fda09de.9db7064579173aa8.1e1ccb16cb716a3f
+    d771679f6ba6461e.dd7af4de00125bbf.b9ae8901dbcf3ee3.eac66499bf9a5ca7
+    0000000000000000.0000000000000000.b9ae8901dbcf3ee3.eac66499ffffffff
+    a1f04c0b5442f112.0bf46a4cd0e40541.986c103e26886fe9.d4620c422a3c2bf7
+    a9ed1340d9cc8136
+
+VCMPSS_128_0x16(reg)
+  before
+    e55ae13fff421a15.57e9f44cb9f67f6d.2986355d0796d53a.13cc0d9649a1130c
+    e3f672ac372a323f.686e11cf3aa82e98.1a6106e5433346ea.ba9281fa38f2bb2a
+    ff0dc3f11d0f0761.af4b1e80f264bac0.3cd1d7511e4895fa.6b89e6571188216e
+    95eacf7c4e7dd326.0a4c984bfe37de11.e922a60b3760fe18.017fba98f06e0104
+    573e78a8f0b1191a
+  after
+    0000000000000000.0000000000000000.1a6106e5433346ea.ba9281faffffffff
+    e3f672ac372a323f.686e11cf3aa82e98.1a6106e5433346ea.ba9281fa38f2bb2a
+    ff0dc3f11d0f0761.af4b1e80f264bac0.3cd1d7511e4895fa.6b89e6571188216e
+    95eacf7c4e7dd326.0a4c984bfe37de11.e922a60b3760fe18.017fba98f06e0104
+    573e78a8f0b1191a
+VCMPSS_128_0x16(mem)
+  before
+    4b939c752d5b23da.01db92b86600d33c.543df91c792c58b6.7e9f6e812807bcf0
+    b84aa2eac47adc70.9e2a08100025424c.68e9bfe08050e2db.57962b1e8dca0d2e
+    792f07f3d11aff09.ca242ef2b8785d05.241e65812ead38ae.d151d94d02342a7d
+    6c0d467c6e464ad1.e015fec92b836011.63a667eda0511859.461d757c25d15289
+    1346f9168f2ebf00
+  after
+    4b939c752d5b23da.01db92b86600d33c.543df91c792c58b6.7e9f6e812807bcf0
+    b84aa2eac47adc70.9e2a08100025424c.68e9bfe08050e2db.57962b1e8dca0d2e
+    0000000000000000.0000000000000000.68e9bfe08050e2db.57962b1e00000000
+    6c0d467c6e464ad1.e015fec92b836011.63a667eda0511859.461d757c25d15289
+    1346f9168f2ebf00
+
+VCMPSS_128_0x16(reg)
+  before
+    94186387ded6ae8b.6bb2db71ba0a77f3.3b497601f4d4871c.004e420ef1483c08
+    25dfaf3cae565bd9.54e842bfcf72429c.390c9106b0f60dd3.d9e271d23d9d61e8
+    22e6d79f9a380294.017cf850c98b69f8.34aa4b45fb7630e2.c82e6f24a15c4225
+    e77bd91d3e0ade68.4f3a7712c560a632.8a6ea1286fdf29f4.aafdbbf039919dea
+    5c1dce2220492c64
+  after
+    0000000000000000.0000000000000000.390c9106b0f60dd3.d9e271d2ffffffff
+    25dfaf3cae565bd9.54e842bfcf72429c.390c9106b0f60dd3.d9e271d23d9d61e8
+    22e6d79f9a380294.017cf850c98b69f8.34aa4b45fb7630e2.c82e6f24a15c4225
+    e77bd91d3e0ade68.4f3a7712c560a632.8a6ea1286fdf29f4.aafdbbf039919dea
+    5c1dce2220492c64
+VCMPSS_128_0x16(mem)
+  before
+    b85825a6728fabbe.d0e8b02337582c03.1bee3defdefdb676.96a58e1cabbd37b6
+    9b7b3d684c70d825.397a581b21ad280e.3f64c5d5316f54f2.b39b0e8e489d94d3
+    e2529155caf66dc5.7e7dcd7397950d38.99678cafd9c13ecf.3e9c1de9e4097df9
+    67a99d57073027c9.fb3c0b96359c182b.03c50c68f2002e3c.94f4b7981b902ed1
+    0fefd90988bbe20a
+  after
+    b85825a6728fabbe.d0e8b02337582c03.1bee3defdefdb676.96a58e1cabbd37b6
+    9b7b3d684c70d825.397a581b21ad280e.3f64c5d5316f54f2.b39b0e8e489d94d3
+    0000000000000000.0000000000000000.3f64c5d5316f54f2.b39b0e8effffffff
+    67a99d57073027c9.fb3c0b96359c182b.03c50c68f2002e3c.94f4b7981b902ed1
+    0fefd90988bbe20a
+
+VCMPSS_128_0x1E(reg)
+  before
+    0dd87ea7c818d74d.074cde5c1f27c25e.0c050ff0984f8593.5a48c3ee9937e063
+    e8fda2de76334649.9e06ce4e2fe9f9b0.0d22d4ed5b398f1d.7abd2c2cea721271
+    fda8411a2e966ea8.09a5eb1b528189ea.5ae156f91be77475.3ff0c40f00be7e91
+    a82658c78dcf8917.22f3b0aea5fc2e38.4e8c928073e36e46.86ad0581f825e1f0
+    29bf6d6fedb6f7b9
+  after
+    0000000000000000.0000000000000000.0d22d4ed5b398f1d.7abd2c2c00000000
+    e8fda2de76334649.9e06ce4e2fe9f9b0.0d22d4ed5b398f1d.7abd2c2cea721271
+    fda8411a2e966ea8.09a5eb1b528189ea.5ae156f91be77475.3ff0c40f00be7e91
+    a82658c78dcf8917.22f3b0aea5fc2e38.4e8c928073e36e46.86ad0581f825e1f0
+    29bf6d6fedb6f7b9
+VCMPSS_128_0x1E(mem)
+  before
+    05f477c6fb7a7b19.46c3e1522f6ad441.c6bd9af34365a3c7.477082ee00bcb93d
+    f6169f703f7f2a3c.31cada25aff18bd3.d1cf23d649c8a5c3.a0d924af5dfb9306
+    d8f2615bd4d0c04d.c6893eada9f3ea78.1ff4c943d231f058.b4127330272e364c
+    87543a71d77af879.614a0a57baf92cdd.8cfa0726faad40b1.e1696cdbf9e0dfbc
+    8228091e709ec901
+  after
+    05f477c6fb7a7b19.46c3e1522f6ad441.c6bd9af34365a3c7.477082ee00bcb93d
+    f6169f703f7f2a3c.31cada25aff18bd3.d1cf23d649c8a5c3.a0d924af5dfb9306
+    0000000000000000.0000000000000000.d1cf23d649c8a5c3.a0d924afffffffff
+    87543a71d77af879.614a0a57baf92cdd.8cfa0726faad40b1.e1696cdbf9e0dfbc
+    8228091e709ec901
+
+VCMPSS_128_0x1E(reg)
+  before
+    f29c486427f331c8.df08a4a0638890eb.5e5b388e7d918eae.f4ab596bde4850fa
+    8f112418ba6b53bd.bcda1dd3950641d0.1906c6bd8f464b96.33d53bfe9a0cdd60
+    b3d399a8c6936b8b.fa9521f68901ca54.ee98af528ba4a142.25422acc4907a30f
+    bc2ea37fe7f6b5de.75072af55984e5a2.395cf0b80e38ca5d.a6bfa1bf07455e33
+    92171cc5f1d0c9f6
+  after
+    0000000000000000.0000000000000000.1906c6bd8f464b96.33d53bfe00000000
+    8f112418ba6b53bd.bcda1dd3950641d0.1906c6bd8f464b96.33d53bfe9a0cdd60
+    b3d399a8c6936b8b.fa9521f68901ca54.ee98af528ba4a142.25422acc4907a30f
+    bc2ea37fe7f6b5de.75072af55984e5a2.395cf0b80e38ca5d.a6bfa1bf07455e33
+    92171cc5f1d0c9f6
+VCMPSS_128_0x1E(mem)
+  before
+    c51817c923b6a187.046d3f09b7206c64.08fab6bc239b50e6.56a0835bb38d0394
+    1a8c0fb7b802a210.e9de68b2d59dcdc6.913b40380353c44e.a1af66a7172f8793
+    6f417e7accc187be.c5cb1ae7dbfa13b3.eb96445314b70004.76d49408d5ab9305
+    9f01e2007cfe0dbc.f681511265c37bd5.f2d73efa73d3be34.315c09eb8a8c6396
+    2e93c1bad15f33f4
+  after
+    c51817c923b6a187.046d3f09b7206c64.08fab6bc239b50e6.56a0835bb38d0394
+    1a8c0fb7b802a210.e9de68b2d59dcdc6.913b40380353c44e.a1af66a7172f8793
+    0000000000000000.0000000000000000.913b40380353c44e.a1af66a7ffffffff
+    9f01e2007cfe0dbc.f681511265c37bd5.f2d73efa73d3be34.315c09eb8a8c6396
+    2e93c1bad15f33f4
+
+VCMPSS_128_0x1E(reg)
+  before
+    c9c5b9e346af3ec9.8699b635e3c6f037.d64c09a1108241d9.82c9aa1a3bb4bb0b
+    5e3eebd08608c1c1.ffd577031e23eb5b.c2783ffe77c5a16a.763a059e8865b3b5
+    484955ef2df6f889.e8809f574823bc53.1650ee973718d735.acf4ca7177f2615d
+    e533f3abd6061fcd.1b68ac1d7ed21d4c.2f2212d6eb051ee5.ffc4758124688230
+    4a7683b9aad2d25a
+  after
+    0000000000000000.0000000000000000.c2783ffe77c5a16a.763a059e00000000
+    5e3eebd08608c1c1.ffd577031e23eb5b.c2783ffe77c5a16a.763a059e8865b3b5
+    484955ef2df6f889.e8809f574823bc53.1650ee973718d735.acf4ca7177f2615d
+    e533f3abd6061fcd.1b68ac1d7ed21d4c.2f2212d6eb051ee5.ffc4758124688230
+    4a7683b9aad2d25a
+VCMPSS_128_0x1E(mem)
+  before
+    6bd66e05253c0d06.9049bf701dc37139.76571942db3aca71.6738a729301ab327
+    3cafb451b2b3ee61.a4d5b7aa9fba2b77.d41b62b07c6a81ef.1bdfaafba1e3d1a7
+    9bcfd0896c423296.7f24d6c5f7768936.107e04557c6bfcf1.a76316b8dbeab610
+    62003f9a70f695d2.7c81182dc283c620.084d791cf74bf8a4.6710e7cc79be9c0f
+    b73119a317e8c04f
+  after
+    6bd66e05253c0d06.9049bf701dc37139.76571942db3aca71.6738a729301ab327
+    3cafb451b2b3ee61.a4d5b7aa9fba2b77.d41b62b07c6a81ef.1bdfaafba1e3d1a7
+    0000000000000000.0000000000000000.d41b62b07c6a81ef.1bdfaafb00000000
+    62003f9a70f695d2.7c81182dc283c620.084d791cf74bf8a4.6710e7cc79be9c0f
+    b73119a317e8c04f
+
+VMOVDDUP_XMMorMEM64_to_XMM(reg)
+  before
+    f414a8aa52f65d7d.6f0f7b6edadad240.f63a794e9b6e1fe2.96533ff10b153034
+    7803914bc673b045.9cc802f3c4faa60d.4b99f6941fc2d027.975ed1c0d1d562cc
+    a04ccff40eebf552.c6f74f134d62cd65.d5ec896ce90b159c.e838ac7567984899
+    c8395e0fc6eb6851.ca68debc8e1f0373.f27d304096d529ec.63af4afce8699ec7
+    e68d294171552281
+  after
+    0000000000000000.0000000000000000.975ed1c0d1d562cc.975ed1c0d1d562cc
+    7803914bc673b045.9cc802f3c4faa60d.4b99f6941fc2d027.975ed1c0d1d562cc
+    a04ccff40eebf552.c6f74f134d62cd65.d5ec896ce90b159c.e838ac7567984899
+    c8395e0fc6eb6851.ca68debc8e1f0373.f27d304096d529ec.63af4afce8699ec7
+    e68d294171552281
+VMOVDDUP_XMMorMEM64_to_XMM(mem)
+  before
+    4b9fc4301e678ef3.4b163a0a8bfe44ed.82e72bd9a53c0364.fc99e77ec1ad49c5
+    6fb197b60aab9f4b.87316050f8b1c6d3.cb3fb356aec68a64.518ba891071fb1d0
+    2e8e1fbd512d11b2.d7d5ca4caa8e2aaf.823df11ec4c7549e.4ba171e403b59cbb
+    6504d63310fa9f57.974d766c3d24ac2c.81ad6120044e1c3e.47263ce552fd4732
+    a26507ff8f83eee1
+  after
+    4b9fc4301e678ef3.4b163a0a8bfe44ed.82e72bd9a53c0364.fc99e77ec1ad49c5
+    6fb197b60aab9f4b.87316050f8b1c6d3.cb3fb356aec68a64.518ba891071fb1d0
+    2e8e1fbd512d11b2.d7d5ca4caa8e2aaf.823df11ec4c7549e.4ba171e403b59cbb
+    0000000000000000.0000000000000000.fc99e77ec1ad49c5.fc99e77ec1ad49c5
+    a26507ff8f83eee1
+
+VMOVDDUP_XMMorMEM64_to_XMM(reg)
+  before
+    b6abce9e56d1cd73.eedd3a03621d0664.23e65f1b4bfc87f7.a55b7f458964a071
+    e0448b2f44751f94.a6e6c61864a30205.d7ed82c673a4f8bb.ca13c77a6f179963
+    7c7c3c1cf5fb21f2.69ebf66031974e68.0eabd9d74ea73a25.cca1b6abd372c640
+    e79fdcd204ed0f37.13b847c6e605a7b6.266f62bb7b928be0.87d0c7c5d182e133
+    d76d76b28452a768
+  after
+    0000000000000000.0000000000000000.ca13c77a6f179963.ca13c77a6f179963
+    e0448b2f44751f94.a6e6c61864a30205.d7ed82c673a4f8bb.ca13c77a6f179963
+    7c7c3c1cf5fb21f2.69ebf66031974e68.0eabd9d74ea73a25.cca1b6abd372c640
+    e79fdcd204ed0f37.13b847c6e605a7b6.266f62bb7b928be0.87d0c7c5d182e133
+    d76d76b28452a768
+VMOVDDUP_XMMorMEM64_to_XMM(mem)
+  before
+    98443f6008eed40d.7bf867be0dd9240f.801934369efac91e.7a8418df93ef259a
+    a6219fb97a63244b.95d5d94aad4b9e27.8cd9399c758170ca.6535f8ad344d45fc
+    ddd011abf5bc5251.91802fe47fceb72b.13c6d2e589a657e6.45d0fc93fa3526b5
+    191d112196051b49.cb4664f720eeabc6.f1aa7bfbf3753ba0.759f22fb8035066e
+    50ef655363d81fd6
+  after
+    98443f6008eed40d.7bf867be0dd9240f.801934369efac91e.7a8418df93ef259a
+    a6219fb97a63244b.95d5d94aad4b9e27.8cd9399c758170ca.6535f8ad344d45fc
+    ddd011abf5bc5251.91802fe47fceb72b.13c6d2e589a657e6.45d0fc93fa3526b5
+    0000000000000000.0000000000000000.7a8418df93ef259a.7a8418df93ef259a
+    50ef655363d81fd6
+
+VMOVDDUP_XMMorMEM64_to_XMM(reg)
+  before
+    340cc1063eabad97.36d31b07784a3b5f.9f7374ee2b37b8a5.0252b1cbd1fbd821
+    7b413280ad39ee5e.10c0ab49b8986dc0.69535b373d361873.228aef423f44ea98
+    83dcb52d4d0e1cd6.83ae3ed371fb6e98.8531163df17607dd.2d1eb14b585a2c2f
+    a6274579b9b774ac.6b6a4f92c07dfa12.4f5b9f6de483c38f.ffda73d1384b5b12
+    7389b1c2fc23336e
+  after
+    0000000000000000.0000000000000000.228aef423f44ea98.228aef423f44ea98
+    7b413280ad39ee5e.10c0ab49b8986dc0.69535b373d361873.228aef423f44ea98
+    83dcb52d4d0e1cd6.83ae3ed371fb6e98.8531163df17607dd.2d1eb14b585a2c2f
+    a6274579b9b774ac.6b6a4f92c07dfa12.4f5b9f6de483c38f.ffda73d1384b5b12
+    7389b1c2fc23336e
+VMOVDDUP_XMMorMEM64_to_XMM(mem)
+  before
+    67f8e809bfec6f6f.4270ded18ebf318b.a4c05a70c02ccc5b.231bf431b1ea8634
+    b6f393929eb4cc40.b1017c9f68b29120.097cdb5b8e14a29f.5dbe10f6f5368d78
+    3c462e49b487060e.50271b50e11dce17.78694f3d453f3609.5990f0284bf41409
+    d4bd361a1e6fd805.7c2db851988b241b.cc55310401bc44c6.73dd8e344faf5691
+    06f1e8859ef390bc
+  after
+    67f8e809bfec6f6f.4270ded18ebf318b.a4c05a70c02ccc5b.231bf431b1ea8634
+    b6f393929eb4cc40.b1017c9f68b29120.097cdb5b8e14a29f.5dbe10f6f5368d78
+    3c462e49b487060e.50271b50e11dce17.78694f3d453f3609.5990f0284bf41409
+    0000000000000000.0000000000000000.231bf431b1ea8634.231bf431b1ea8634
+    06f1e8859ef390bc
+
+VMOVD_IREGorMEM32_to_XMM(reg)
+  before
+    7017f986d44cfe37.5c2425f2f77a0050.8f614e0d2688d1d9.e00afd9adf948a01
+    0c9dbda58c47dcae.ae4779bb5cb4381c.e60dd9ef2aa10ffd.92552fedfbd5c2e7
+    36cd314d626f65cd.a8f1ad6268283c94.dd7f55653d611b32.bd0243e8708aa9a4
+    49f44feaf351d63e.25ef3dd438e2cae5.d001bfdafd543124.3cddb6775abffa63
+    edb10386d6817350
+  after
+    0000000000000000.0000000000000000.0000000000000000.00000000d6817350
+    0c9dbda58c47dcae.ae4779bb5cb4381c.e60dd9ef2aa10ffd.92552fedfbd5c2e7
+    36cd314d626f65cd.a8f1ad6268283c94.dd7f55653d611b32.bd0243e8708aa9a4
+    49f44feaf351d63e.25ef3dd438e2cae5.d001bfdafd543124.3cddb6775abffa63
+    edb10386d6817350
+VMOVD_IREGorMEM32_to_XMM(mem)
+  before
+    aa4ca602ffdbce99.a35e15e8da786ab0.000da6fce7ee9c3a.1ce012ba06078c80
+    51781bd5f2d9c768.9e577eb3b4705fcd.171762c592596fc1.1b684a71f30569f2
+    bc02deecca881ce9.982a87b71cc6ef42.44d9ef1d542efea3.2ae4636b61da0426
+    c9b66c34a4f38749.ec252a61af0457ba.651ec8ef4979070e.a5a25915eb1398c7
+    e8ec29d92d3b6281
+  after
+    aa4ca602ffdbce99.a35e15e8da786ab0.000da6fce7ee9c3a.1ce012ba06078c80
+    51781bd5f2d9c768.9e577eb3b4705fcd.171762c592596fc1.1b684a71f30569f2
+    bc02deecca881ce9.982a87b71cc6ef42.44d9ef1d542efea3.2ae4636b61da0426
+    0000000000000000.0000000000000000.0000000000000000.0000000006078c80
+    e8ec29d92d3b6281
+
+VMOVD_IREGorMEM32_to_XMM(reg)
+  before
+    4f0fce24c4df9e01.526040979b27c5b4.f592651b08b9d2e2.54b46a278e47442e
+    365744634c8988f3.34ccd603cc2f9155.11be3353c46e9e65.ee654fb13fa3712f
+    f910870160c85b03.4cc6ab635217a959.9af590737eb1f5f0.10fef57a779a4c3c
+    f48694699c2554dc.741939a34aebc7eb.ed8379e9d30e132f.944bd76c52378f82
+    57187174ed86f72c
+  after
+    0000000000000000.0000000000000000.0000000000000000.00000000ed86f72c
+    365744634c8988f3.34ccd603cc2f9155.11be3353c46e9e65.ee654fb13fa3712f
+    f910870160c85b03.4cc6ab635217a959.9af590737eb1f5f0.10fef57a779a4c3c
+    f48694699c2554dc.741939a34aebc7eb.ed8379e9d30e132f.944bd76c52378f82
+    57187174ed86f72c
+VMOVD_IREGorMEM32_to_XMM(mem)
+  before
+    35313f7f63934067.830565099d2eaf2a.8992feafcfb8a738.67b3e8205e0f36cd
+    0b61be77d16b255e.01d8f84cfe6ea89a.67fd7573fd89076c.62d3db84bc429877
+    b376694a5219633e.cc4c499e5c717ad8.eb261adbf16ba1b2.3c2d4d81883376d9
+    0a3abce303aab633.3fad526b52c4628f.efd96ad3c7693237.4f0e3a835e6c0c9e
+    f8c29ff6db7b9572
+  after
+    35313f7f63934067.830565099d2eaf2a.8992feafcfb8a738.67b3e8205e0f36cd
+    0b61be77d16b255e.01d8f84cfe6ea89a.67fd7573fd89076c.62d3db84bc429877
+    b376694a5219633e.cc4c499e5c717ad8.eb261adbf16ba1b2.3c2d4d81883376d9
+    0000000000000000.0000000000000000.0000000000000000.000000005e0f36cd
+    f8c29ff6db7b9572
+
+VMOVD_IREGorMEM32_to_XMM(reg)
+  before
+    939577469bec4e03.ec7a332eff29d968.b64711207df29c6c.50e2df479a8f7626
+    7cd3bee0394973fa.35024b1763a2890a.8c6680277888631b.ea0cf72486ea28ac
+    10c8702e51203f06.c19d7f8a4a228244.1f569dede011f447.99242d54a88405f5
+    a9bf899e80fdefd1.6c194b73d1b48043.ca6264df50198b9d.39f6fec51c6cc92c
+    a64ee462fdab2f7e
+  after
+    0000000000000000.0000000000000000.0000000000000000.00000000fdab2f7e
+    7cd3bee0394973fa.35024b1763a2890a.8c6680277888631b.ea0cf72486ea28ac
+    10c8702e51203f06.c19d7f8a4a228244.1f569dede011f447.99242d54a88405f5
+    a9bf899e80fdefd1.6c194b73d1b48043.ca6264df50198b9d.39f6fec51c6cc92c
+    a64ee462fdab2f7e
+VMOVD_IREGorMEM32_to_XMM(mem)
+  before
+    bcf85d16674ff416.a405069a616abf08.12402bbe13643e33.e8d7cf68642d64c8
+    57c0e4cf7764d421.5de6e29091f5eb56.8fe09b582c3f793f.d702dcf3b9d8ba75
+    5371f57848f48bcb.30ae19ebab2aae68.bfc3182b3950ed94.f12d86eeeba6ca4f
+    8cd90dfdf70dd43f.79a9a7174c9445e9.7eb61d2556a3565d.94a5c9c49523d004
+    1bb5a1e153dc073d
+  after
+    bcf85d16674ff416.a405069a616abf08.12402bbe13643e33.e8d7cf68642d64c8
+    57c0e4cf7764d421.5de6e29091f5eb56.8fe09b582c3f793f.d702dcf3b9d8ba75
+    5371f57848f48bcb.30ae19ebab2aae68.bfc3182b3950ed94.f12d86eeeba6ca4f
+    0000000000000000.0000000000000000.0000000000000000.00000000642d64c8
+    1bb5a1e153dc073d
+
+VMOVQ_XMM_MEM64(reg)
+  before
+    e1ab0bb1c25daca8.dec2a64b9fba6daa.942388800fbfec86.a88426309e446fc7
+    43d102a07e30fbf1.24f93e4c5c080f37.dd67b9929137dfea.19fbaf3a2d40f5fd
+    9e74821a22e330c4.3c4a50ed4c027913.b0c235b96d8959c3.ace6342e20a3a42d
+    4ce0878c4a0186cc.0181591b88b4656a.6981f8613f4097ba.3f1032f892773780
+    ad462484a0ca6b25
+  after
+    e1ab0bb1c25daca8.dec2a64b9fba6daa.942388800fbfec86.a88426309e446fc7
+    43d102a07e30fbf1.24f93e4c5c080f37.dd67b9929137dfea.19fbaf3a2d40f5fd
+    9e74821a22e330c4.3c4a50ed4c027913.b0c235b96d8959c3.ace6342e20a3a42d
+    4ce0878c4a0186cc.0181591b88b4656a.6981f8613f4097ba.3f1032f892773780
+    ad462484a0ca6b25
+VMOVQ_XMM_MEM64(mem)
+  before
+    d25486be66a8fc46.ab610d6093173ab6.4f69d3c02e2b9067.64eefef7a5e9d47e
+    8906d492fe1ca50f.1543110498b0882d.01d03cca5a72b637.fc5544e5380e4eb9
+    b0288bec873224ad.e7d28ee2f658abde.f5800f2427969205.8f04c599963e3f17
+    228526b91af6334c.7d598068489ce074.0646c8b9b1a1e1fe.78467d7e5b02e445
+    136668ff22e878ef
+  after
+    d25486be66a8fc46.ab610d6093173ab6.4f69d3c02e2b9067.fc5544e5380e4eb9
+    8906d492fe1ca50f.1543110498b0882d.01d03cca5a72b637.fc5544e5380e4eb9
+    b0288bec873224ad.e7d28ee2f658abde.f5800f2427969205.8f04c599963e3f17
+    228526b91af6334c.7d598068489ce074.0646c8b9b1a1e1fe.78467d7e5b02e445
+    136668ff22e878ef
+
+VMOVQ_XMM_MEM64(reg)
+  before
+    bbb1828a877b39c0.baea21e3d5758e17.3425e3012b07639c.0feee47715a15f4d
+    ce73c88a27486165.5624f858d4baf33b.6683b4193a267002.ee44dd496fa2c81f
+    a7f8356b9dda2c8a.d0fd270232d11ce4.70bdee1c11834251.7d13311bdaaed7a0
+    a18cc59986bdd8da.06422bcf0cc7c63d.ae1f8d764eac1636.9a295bda72d449fb
+    1f50d770541dda5d
+  after
+    bbb1828a877b39c0.baea21e3d5758e17.3425e3012b07639c.0feee47715a15f4d
+    ce73c88a27486165.5624f858d4baf33b.6683b4193a267002.ee44dd496fa2c81f
+    a7f8356b9dda2c8a.d0fd270232d11ce4.70bdee1c11834251.7d13311bdaaed7a0
+    a18cc59986bdd8da.06422bcf0cc7c63d.ae1f8d764eac1636.9a295bda72d449fb
+    1f50d770541dda5d
+VMOVQ_XMM_MEM64(mem)
+  before
+    ea5522ca9b9745f2.1a7a74817d7d9f02.d2be7faa7da7ac72.7cf78d938a2d285c
+    d504b7d5644d47e5.6c103f8d1fa7bead.123f9f7fa17e8cb1.3690eadf6390b370
+    be29117bca4b9c62.f598212a07c77088.a08f073a95562024.3835a1c77564f51e
+    7f90afaaea9e0097.0f5f16c5d267f23e.597c34c7753e24f7.de33adb55b322811
+    84d60a17b18888f6
+  after
+    ea5522ca9b9745f2.1a7a74817d7d9f02.d2be7faa7da7ac72.3690eadf6390b370
+    d504b7d5644d47e5.6c103f8d1fa7bead.123f9f7fa17e8cb1.3690eadf6390b370
+    be29117bca4b9c62.f598212a07c77088.a08f073a95562024.3835a1c77564f51e
+    7f90afaaea9e0097.0f5f16c5d267f23e.597c34c7753e24f7.de33adb55b322811
+    84d60a17b18888f6
+
+VMOVQ_XMM_MEM64(reg)
+  before
+    866ab45814f15378.f5050a4ddf512eae.18b11ac91b15807c.1ad0a1125c3f5657
+    403ba8e31ff9c344.fc53a050c571e3d3.6ada29a17f5c56ee.bd58ca0766677070
+    0e94e1266f2d1506.7147eb9fba09db33.632640bb99c9b03f.1fe02b93b0c12f6d
+    4cc35b8c9f188469.2ead6926d725d1fa.5de05a8206e7c91c.1c3340a0555a4f7b
+    911f861c723c8bc5
+  after
+    866ab45814f15378.f5050a4ddf512eae.18b11ac91b15807c.1ad0a1125c3f5657
+    403ba8e31ff9c344.fc53a050c571e3d3.6ada29a17f5c56ee.bd58ca0766677070
+    0e94e1266f2d1506.7147eb9fba09db33.632640bb99c9b03f.1fe02b93b0c12f6d
+    4cc35b8c9f188469.2ead6926d725d1fa.5de05a8206e7c91c.1c3340a0555a4f7b
+    911f861c723c8bc5
+VMOVQ_XMM_MEM64(mem)
+  before
+    586e78f22276a078.551212814c474d1a.105196d13ad18353.b55673626142de31
+    4eed920d82114ac0.87ce02711245acc4.f3ffec8cff1aaa6b.c8d287c746672a29
+    4f68505bad1b44c8.3d4328c98b9edd14.b383e943410c056d.f0a1931d52e1ebb0
+    37ab2fc7c09f4bbd.d3bd7ff355de1bb5.2ca808e31cb14e86.8a0f91d1213c5b74
+    f2677f4d4d05b61e
+  after
+    586e78f22276a078.551212814c474d1a.105196d13ad18353.c8d287c746672a29
+    4eed920d82114ac0.87ce02711245acc4.f3ffec8cff1aaa6b.c8d287c746672a29
+    4f68505bad1b44c8.3d4328c98b9edd14.b383e943410c056d.f0a1931d52e1ebb0
+    37ab2fc7c09f4bbd.d3bd7ff355de1bb5.2ca808e31cb14e86.8a0f91d1213c5b74
+    f2677f4d4d05b61e
+
+VMOVDQA_GtoE_256(reg)
+  before
+    84f758fe75c73a5d.e282a93dd6aa1bca.a487035c0c92a354.3b3bc556ad1742e2
+    9d091951330f21db.2cb83caa0c47701c.0eefb0714b45b19d.ba089c8a0f499dac
+    97eabcb12367a844.f11b64f87d8205df.6c3f829caf84813b.86db0a6a5f541b11
+    cfe73f89e25d0b46.0d759b144568973e.19c4764bd3da4edb.7b8089e1b943773c
+    75c397dd37226e5a
+  after
+    84f758fe75c73a5d.e282a93dd6aa1bca.a487035c0c92a354.3b3bc556ad1742e2
+    9d091951330f21db.2cb83caa0c47701c.0eefb0714b45b19d.ba089c8a0f499dac
+    cfe73f89e25d0b46.0d759b144568973e.19c4764bd3da4edb.7b8089e1b943773c
+    cfe73f89e25d0b46.0d759b144568973e.19c4764bd3da4edb.7b8089e1b943773c
+    75c397dd37226e5a
+VMOVDQA_GtoE_256(mem)
+  before
+    4f6fb049f8febc97.a14a9d470b7d858a.5c935feb8104e266.73ca87e953d35529
+    e7524e1115e21c1e.695fd2563b5253bf.ba412a674d62a282.d49db1e2ccfcd2d0
+    1836ef22acda4b1c.8374db220d68b18f.034b7a76c48f92bf.9a89f0a2dae0007d
+    bee80e66d9f305bc.4bd3b3171e4bdaa6.137dcb0202966f49.1fda4195180b1cdb
+    c1db9f27220a6297
+  after
+    1836ef22acda4b1c.8374db220d68b18f.034b7a76c48f92bf.9a89f0a2dae0007d
+    e7524e1115e21c1e.695fd2563b5253bf.ba412a674d62a282.d49db1e2ccfcd2d0
+    1836ef22acda4b1c.8374db220d68b18f.034b7a76c48f92bf.9a89f0a2dae0007d
+    bee80e66d9f305bc.4bd3b3171e4bdaa6.137dcb0202966f49.1fda4195180b1cdb
+    c1db9f27220a6297
+
+VMOVDQA_GtoE_256(reg)
+  before
+    dad906c495680e5c.b53427cab738052b.1dca55a109880cb2.c5a297f92483f54b
+    c72072d90cb15bd7.d8e6b63b63b50994.55a3c02d6aaa815c.f7875c464663dff2
+    e5fce0d0247286b4.05c938a3f877cb25.4eabed25de3e7553.84f995d58241ea69
+    8eb94a177836cb9e.17ab27f092890707.662edaf701ce2641.48c2be92f729d2dd
+    1eae5369bf285279
+  after
+    dad906c495680e5c.b53427cab738052b.1dca55a109880cb2.c5a297f92483f54b
+    c72072d90cb15bd7.d8e6b63b63b50994.55a3c02d6aaa815c.f7875c464663dff2
+    8eb94a177836cb9e.17ab27f092890707.662edaf701ce2641.48c2be92f729d2dd
+    8eb94a177836cb9e.17ab27f092890707.662edaf701ce2641.48c2be92f729d2dd
+    1eae5369bf285279
+VMOVDQA_GtoE_256(mem)
+  before
+    e48bd147f649286a.1fa2ae18a5896542.ea56010d4ef77b69.f877810d6ee9ced2
+    7524b316b8980edc.f505074146f8924c.599741e548cee174.60d4e0d5c218aab3
+    ac4475c42322c0fa.6a2c52fdf80e8b67.423a64669b19f657.fa8ff3ba97e9f590
+    67b8933b50f2fcf1.db6489b856578f3f.7f0be47b63e4753c.21f5b4288ce7ec14
+    3352218b3b9fcbec
+  after
+    ac4475c42322c0fa.6a2c52fdf80e8b67.423a64669b19f657.fa8ff3ba97e9f590
+    7524b316b8980edc.f505074146f8924c.599741e548cee174.60d4e0d5c218aab3
+    ac4475c42322c0fa.6a2c52fdf80e8b67.423a64669b19f657.fa8ff3ba97e9f590
+    67b8933b50f2fcf1.db6489b856578f3f.7f0be47b63e4753c.21f5b4288ce7ec14
+    3352218b3b9fcbec
+
+VMOVDQA_GtoE_256(reg)
+  before
+    8bf2354f409ccec4.804c89695d147ced.a4f9aadefd60d881.eed53f10bd3c1c50
+    8421ece0386a3047.d5ccd4396695fd19.2137b0db88b4a3d9.6966f012c52ca5be
+    7c2b42aabe952f22.4004ef9686803aa2.ae6a971b94df2cf3.ce88746b95c1ccb3
+    cd5b33196faa0400.9fbf566edae2f1b3.a7dd5c0abc6eaf7a.f70845084c054f5a
+    c2b2e1d60307e8e1
+  after
+    8bf2354f409ccec4.804c89695d147ced.a4f9aadefd60d881.eed53f10bd3c1c50
+    8421ece0386a3047.d5ccd4396695fd19.2137b0db88b4a3d9.6966f012c52ca5be
+    cd5b33196faa0400.9fbf566edae2f1b3.a7dd5c0abc6eaf7a.f70845084c054f5a
+    cd5b33196faa0400.9fbf566edae2f1b3.a7dd5c0abc6eaf7a.f70845084c054f5a
+    c2b2e1d60307e8e1
+VMOVDQA_GtoE_256(mem)
+  before
+    0952c3bfd9d05471.d5febc9ae635ee8e.cccb85ac7dc6dc79.68def9159cec671a
+    a9b467b1e76e4e38.ee61d897c0c02777.a4f2f93d8b38b71f.4db76ca6d1e59180
+    7fa449974bec9462.76cd837e98d9ec68.04012d0b214440d2.b2b5b02bf6e66958
+    65ede65d2157e01b.c791baba0b0b790d.c6c49d035af731be.f324c10ea87a2a4e
+    6c509cbd832e110d
+  after
+    7fa449974bec9462.76cd837e98d9ec68.04012d0b214440d2.b2b5b02bf6e66958
+    a9b467b1e76e4e38.ee61d897c0c02777.a4f2f93d8b38b71f.4db76ca6d1e59180
+    7fa449974bec9462.76cd837e98d9ec68.04012d0b214440d2.b2b5b02bf6e66958
+    65ede65d2157e01b.c791baba0b0b790d.c6c49d035af731be.f324c10ea87a2a4e
+    6c509cbd832e110d
+
+VMOVDQA_GtoE_128(reg)
+  before
+    79843ca3228d5a41.385cb9ef84b9ee8e.3ef877b6b4e30911.c707c511535c470e
+    760e9d2c21234097.d4bd3e3991217ce7.384db8e02fecda21.e496212228803eef
+    bf38bbc41d7c01bb.16dcf12763984454.0fde78a31ab225e9.f73c2e21f36ed18c
+    b04f92d7b125d758.d8854ea5162c03fe.20f5b46b0ec22914.ddc767f9d332bd12
+    72014898e1d8bead
+  after
+    79843ca3228d5a41.385cb9ef84b9ee8e.3ef877b6b4e30911.c707c511535c470e
+    760e9d2c21234097.d4bd3e3991217ce7.384db8e02fecda21.e496212228803eef
+    0000000000000000.0000000000000000.20f5b46b0ec22914.ddc767f9d332bd12
+    b04f92d7b125d758.d8854ea5162c03fe.20f5b46b0ec22914.ddc767f9d332bd12
+    72014898e1d8bead
+VMOVDQA_GtoE_128(mem)
+  before
+    92b74de93c6d8f88.a49f1fd17aa9fe1b.f784d29fc7e87514.c8df66a5a9a7204e
+    19b5f3d8fdfcedd0.f9745d1f1395b4b0.4fa4f80292d955c0.61e88cbb86ed4745
+    e3c6b451429294b0.0a19482b197433c2.bcb23cb8920a602e.485c211a4221daa2
+    ccb80e40273a4055.32dcdc6327d2b8fe.1a7a1bafe387528c.d986212f79ce1514
+    70b48864c6803345
+  after
+    92b74de93c6d8f88.a49f1fd17aa9fe1b.bcb23cb8920a602e.485c211a4221daa2
+    19b5f3d8fdfcedd0.f9745d1f1395b4b0.4fa4f80292d955c0.61e88cbb86ed4745
+    e3c6b451429294b0.0a19482b197433c2.bcb23cb8920a602e.485c211a4221daa2
+    ccb80e40273a4055.32dcdc6327d2b8fe.1a7a1bafe387528c.d986212f79ce1514
+    70b48864c6803345
+
+VMOVDQA_GtoE_128(reg)
+  before
+    6a305327c5c471e1.b0557c91c700aceb.cf071531d93b7e0f.45c80fd2a25de603
+    21477de313250a96.6b6b7b313ff1959d.3ce7f003cc3cc2a2.1968960dea97d9c2
+    f24502044b303c0d.d9c4850aaa18b798.d4c868449c61c062.72262b4bd841e7f3
+    3976def50a6f41f5.d62d180a2481ce07.f5f67960e434b4fc.2ccd4a7a8767ccc2
+    232b6f851416435d
+  after
+    6a305327c5c471e1.b0557c91c700aceb.cf071531d93b7e0f.45c80fd2a25de603
+    21477de313250a96.6b6b7b313ff1959d.3ce7f003cc3cc2a2.1968960dea97d9c2
+    0000000000000000.0000000000000000.f5f67960e434b4fc.2ccd4a7a8767ccc2
+    3976def50a6f41f5.d62d180a2481ce07.f5f67960e434b4fc.2ccd4a7a8767ccc2
+    232b6f851416435d
+VMOVDQA_GtoE_128(mem)
+  before
+    330a17599a5a0aed.52250d24eb7156f8.3e71af1bca399517.f9bd20c34043d91c
+    3837bde0363ddaa1.99a08cfd8bbfb6c2.ed5ec72bb84bc9f4.3e6857d94d196d6d
+    0d7edd0703cd72a3.693156ea85e79e01.bfbfda2508c326c9.1e451c0ea743aa9c
+    90abf3bb1e168c1f.2025675875744a5e.8f5f66f5d9ae67c3.f69e6acee84ccc55
+    23c03d85afc01043
+  after
+    330a17599a5a0aed.52250d24eb7156f8.bfbfda2508c326c9.1e451c0ea743aa9c
+    3837bde0363ddaa1.99a08cfd8bbfb6c2.ed5ec72bb84bc9f4.3e6857d94d196d6d
+    0d7edd0703cd72a3.693156ea85e79e01.bfbfda2508c326c9.1e451c0ea743aa9c
+    90abf3bb1e168c1f.2025675875744a5e.8f5f66f5d9ae67c3.f69e6acee84ccc55
+    23c03d85afc01043
+
+VMOVDQA_GtoE_128(reg)
+  before
+    fff792a0962cb212.9c897ce6a222e542.19c8bcb4f8f2f688.3b0be6874517490d
+    e78f6389391bee70.0ce6f376abff3938.b0664f68aaeedd29.9e8fd6c7680a88d4
+    38d3aeae35190007.be8cd45656b9432c.414b1ee226f33ced.93b7b2a15f94df44
+    4c116e7a25b32383.8d489b72bf5bc04b.28c2248c088e4f81.f84ff70145c00c88
+    a82220d4379ac9cc
+  after
+    fff792a0962cb212.9c897ce6a222e542.19c8bcb4f8f2f688.3b0be6874517490d
+    e78f6389391bee70.0ce6f376abff3938.b0664f68aaeedd29.9e8fd6c7680a88d4
+    0000000000000000.0000000000000000.28c2248c088e4f81.f84ff70145c00c88
+    4c116e7a25b32383.8d489b72bf5bc04b.28c2248c088e4f81.f84ff70145c00c88
+    a82220d4379ac9cc
+VMOVDQA_GtoE_128(mem)
+  before
+    7efda904502fd23e.8093a059a6749491.54e6c4b501f16cc1.c0185dd4ed4a5291
+    58ad0e7fac8ae508.30a63eb753e88edd.f132cc0d388703b9.679ac62571b380c8
+    10fccb2f69b8bc56.b8964600c89c4f12.3ef72e66812a4060.789259eb2f5616d3
+    84b75d02a0c31455.75afb3a0a21b11dd.190366aaf7e5e0e1.4e4d1492c3bd505e
+    4716f286ca776914
+  after
+    7efda904502fd23e.8093a059a6749491.3ef72e66812a4060.789259eb2f5616d3
+    58ad0e7fac8ae508.30a63eb753e88edd.f132cc0d388703b9.679ac62571b380c8
+    10fccb2f69b8bc56.b8964600c89c4f12.3ef72e66812a4060.789259eb2f5616d3
+    84b75d02a0c31455.75afb3a0a21b11dd.190366aaf7e5e0e1.4e4d1492c3bd505e
+    4716f286ca776914
+
+VMOVDQU_GtoE_128(reg)
+  before
+    bd3bf033df0d9ea2.8ea93fe36fb9a831.c13d81037df210e9.5c20f0c6b7c49f69
+    0e0608069f0d2bb3.0ca0edbef2a63615.f98bad95f4ab8ae3.e51b49a6dcd43823
+    95c53869a5024cf4.d866e37f4495782e.79e631c3a4d4b977.8ec0eb378320683c
+    adc27bca8e793c10.cfc99e1281922aa7.9d9b0bf727f9da50.35db5464c7b5ebe0
+    b438ff18c59e7d3a
+  after
+    bd3bf033df0d9ea2.8ea93fe36fb9a831.c13d81037df210e9.5c20f0c6b7c49f69
+    0e0608069f0d2bb3.0ca0edbef2a63615.f98bad95f4ab8ae3.e51b49a6dcd43823
+    0000000000000000.0000000000000000.9d9b0bf727f9da50.35db5464c7b5ebe0
+    adc27bca8e793c10.cfc99e1281922aa7.9d9b0bf727f9da50.35db5464c7b5ebe0
+    b438ff18c59e7d3a
+VMOVDQU_GtoE_128(mem)
+  before
+    e8a3694198e7d977.b34acd93f5fd38b4.ce939863c6a90aad.c1f4369f1ca5291b
+    aee70cca5d9cbcc2.04a92a32771a7c8c.af914f5f2fe7d26c.413eaf251d64e183
+    e0d1669f2fcae248.fa2a8f12af5d4343.4f8f3ff0d6573f0f.79c470f7c6c23f35
+    5b2df2ac2a7c0635.f31bf79f3951ca86.8b58e204da060dc3.c4d47780b44c7fdd
+    80b8bf2c828ddd26
+  after
+    e8a3694198e7d977.b34acd93f5fd38b4.4f8f3ff0d6573f0f.79c470f7c6c23f35
+    aee70cca5d9cbcc2.04a92a32771a7c8c.af914f5f2fe7d26c.413eaf251d64e183
+    e0d1669f2fcae248.fa2a8f12af5d4343.4f8f3ff0d6573f0f.79c470f7c6c23f35
+    5b2df2ac2a7c0635.f31bf79f3951ca86.8b58e204da060dc3.c4d47780b44c7fdd
+    80b8bf2c828ddd26
+
+VMOVDQU_GtoE_128(reg)
+  before
+    08be4467cd1294bc.fbc72cdd6bbfe6b4.49c65e45b2824d01.3dbab68555fff7b4
+    b830029d3065e14d.9c6b911e0e9e3bf2.5978c070b67d085f.427f3661634eba0d
+    ec5bf63a4815ff83.1be59c5c2e25c41b.7f7d1a8ce0cd364c.7674de8321ff12fa
+    ff8a1babb0ab2c0a.5200c881e7603b5a.18216605ccfe1476.b5652ad7aa1fbaa8
+    db1e96481aba6f43
+  after
+    08be4467cd1294bc.fbc72cdd6bbfe6b4.49c65e45b2824d01.3dbab68555fff7b4
+    b830029d3065e14d.9c6b911e0e9e3bf2.5978c070b67d085f.427f3661634eba0d
+    0000000000000000.0000000000000000.18216605ccfe1476.b5652ad7aa1fbaa8
+    ff8a1babb0ab2c0a.5200c881e7603b5a.18216605ccfe1476.b5652ad7aa1fbaa8
+    db1e96481aba6f43
+VMOVDQU_GtoE_128(mem)
+  before
+    c46b9fc58fdaedf7.4f0b6d5a05b5a28f.1e89947b565c5ddb.7eb0a248179dde86
+    4c18c037228df0ef.3728e8b4e2be9ebe.5b4d79349725e6cb.0e75cabf5d35cf2b
+    4ff0758bf1de3357.122f8926e4535b42.e515f49ac5c59256.24bed8d83952250f
+    a9c03bad18da735c.3e6a4a1ba6ff17c8.98b08298fc4a1ca8.1cd5cafd47811ade
+    52079a9c244dea46
+  after
+    c46b9fc58fdaedf7.4f0b6d5a05b5a28f.e515f49ac5c59256.24bed8d83952250f
+    4c18c037228df0ef.3728e8b4e2be9ebe.5b4d79349725e6cb.0e75cabf5d35cf2b
+    4ff0758bf1de3357.122f8926e4535b42.e515f49ac5c59256.24bed8d83952250f
+    a9c03bad18da735c.3e6a4a1ba6ff17c8.98b08298fc4a1ca8.1cd5cafd47811ade
+    52079a9c244dea46
+
+VMOVDQU_GtoE_128(reg)
+  before
+    22a046206b43d2f0.36548c8ab28c6c2a.152629ffc44e0cfc.50e99e1a59bf41ec
+    e8eccaf5b9ed0f8b.d278e60cdb00daed.f5af213ddbcd7689.e98cc40cf731bd4e
+    00362087a9d9dac1.59f8c421b04378d0.38512f438707931c.3e64715af3ab4bfb
+    c6cc4642d893723e.a7a0a2b44d6003ff.3c574d7c63889d60.2d3e20f06839a81f
+    91e64cba72e890e5
+  after
+    22a046206b43d2f0.36548c8ab28c6c2a.152629ffc44e0cfc.50e99e1a59bf41ec
+    e8eccaf5b9ed0f8b.d278e60cdb00daed.f5af213ddbcd7689.e98cc40cf731bd4e
+    0000000000000000.0000000000000000.3c574d7c63889d60.2d3e20f06839a81f
+    c6cc4642d893723e.a7a0a2b44d6003ff.3c574d7c63889d60.2d3e20f06839a81f
+    91e64cba72e890e5
+VMOVDQU_GtoE_128(mem)
+  before
+    462873a42fc3be7a.96f83792e1a611b0.983bfdb0cd6337a7.5b0e79550bdcd102
+    28d0119bb8d6f00a.cc07efe3609ef4c0.079650034c59cff4.f3c3ae381c906aad
+    12a9a0892b2ee0c0.c4456aa2f207571d.d27e1798e74d8811.5ec0e8923130a60e
+    e2819e5ca4d64ac9.dafea539336e7571.d4bdce5bb94b1e2b.f95224d0e746bfd1
+    21c45c5cd960f1a1
+  after
+    462873a42fc3be7a.96f83792e1a611b0.d27e1798e74d8811.5ec0e8923130a60e
+    28d0119bb8d6f00a.cc07efe3609ef4c0.079650034c59cff4.f3c3ae381c906aad
+    12a9a0892b2ee0c0.c4456aa2f207571d.d27e1798e74d8811.5ec0e8923130a60e
+    e2819e5ca4d64ac9.dafea539336e7571.d4bdce5bb94b1e2b.f95224d0e746bfd1
+    21c45c5cd960f1a1
+
+VMOVDQA_EtoG_256(reg)
+  before
+    30648ea4a40a7a2b.732286ff3edaec50.6a7e9b16be5e8b68.e81ff139df604c6e
+    837cb613e3ce941a.a059d45e15478082.cf1048a42f64d5af.ec72fd1c7497d005
+    765ace14333a7c1b.47f205654628c38a.6702a84e230b8ff2.bb816cf195fc641d
+    6648d3152fda6eda.42b99300ed8a7096.8d9eb78236dff4dc.3017bca55d9cc4e1
+    29016922e982ae7e
+  after
+    30648ea4a40a7a2b.732286ff3edaec50.6a7e9b16be5e8b68.e81ff139df604c6e
+    765ace14333a7c1b.47f205654628c38a.6702a84e230b8ff2.bb816cf195fc641d
+    765ace14333a7c1b.47f205654628c38a.6702a84e230b8ff2.bb816cf195fc641d
+    6648d3152fda6eda.42b99300ed8a7096.8d9eb78236dff4dc.3017bca55d9cc4e1
+    29016922e982ae7e
+VMOVDQA_EtoG_256(mem)
+  before
+    800bed5654bbdc1f.ad93c2817438a502.6f7afc1b257744cf.9c3172ab036c411a
+    1301c62cba510bf1.a88796c49de35e40.a800bba20afefb64.f207d435263fb158
+    bcaf6f903853f620.b36f4b4b4664d540.cb184c81b928517e.ea6cd98c3ce48241
+    59e1646eeaca5bd7.2a99de800c4945ad.b28f2ca54d03024c.dfab7d1de0e5ee82
+    2f12bd52afd032c6
+  after
+    800bed5654bbdc1f.ad93c2817438a502.6f7afc1b257744cf.9c3172ab036c411a
+    1301c62cba510bf1.a88796c49de35e40.a800bba20afefb64.f207d435263fb158
+    bcaf6f903853f620.b36f4b4b4664d540.cb184c81b928517e.ea6cd98c3ce48241
+    800bed5654bbdc1f.ad93c2817438a502.6f7afc1b257744cf.9c3172ab036c411a
+    2f12bd52afd032c6
+
+VMOVDQA_EtoG_256(reg)
+  before
+    34eb9398443089ba.c46221b2ebc4f443.694f49d08b1deb33.3b2fd6f8e39ac9f8
+    4c83fd5c3c923109.daff2348574c7d90.ccde8aa85e6c037f.40c4c66896f963af
+    d126f70932816460.7884e41c4b6eb4e9.af929c7221c3c93d.9f1c78df832d8b9c
+    21207b0ac3895e6b.78bde21ae337537a.6eb77c9c71ad7818.3202684bc541ffec
+    d6411397784279ca
+  after
+    34eb9398443089ba.c46221b2ebc4f443.694f49d08b1deb33.3b2fd6f8e39ac9f8
+    d126f70932816460.7884e41c4b6eb4e9.af929c7221c3c93d.9f1c78df832d8b9c
+    d126f70932816460.7884e41c4b6eb4e9.af929c7221c3c93d.9f1c78df832d8b9c
+    21207b0ac3895e6b.78bde21ae337537a.6eb77c9c71ad7818.3202684bc541ffec
+    d6411397784279ca
+VMOVDQA_EtoG_256(mem)
+  before
+    67a6f3afba3bb563.96bc87cd8a375dd5.b776992f3ab21771.65992491eab74dbd
+    c2fd867fa43871e3.8d4815bd23169b4b.127b83456cecbcf7.f08492bd266b84d8
+    c11248f354456775.630e24462bb25579.63971e4a96f0fd3b.6bc3c18cc4585914
+    41b1b3f7e66f5446.725cadd43e98c70a.8798e428d3ca9767.31a3ad6a5e07071e
+    a07052c39006cba1
+  after
+    67a6f3afba3bb563.96bc87cd8a375dd5.b776992f3ab21771.65992491eab74dbd
+    c2fd867fa43871e3.8d4815bd23169b4b.127b83456cecbcf7.f08492bd266b84d8
+    c11248f354456775.630e24462bb25579.63971e4a96f0fd3b.6bc3c18cc4585914
+    67a6f3afba3bb563.96bc87cd8a375dd5.b776992f3ab21771.65992491eab74dbd
+    a07052c39006cba1
+
+VMOVDQA_EtoG_256(reg)
+  before
+    1376ad03f7e0e14a.1ea6457875c2f481.177cadd3f7532caa.5a4854cd408746a7
+    e601b9962e2284c5.34bc79601d480253.afba21b0f26fc107.b874e724f832c529
+    745d72e9d156f1bd.5fc0cb9dfb0f3be8.946404d5cc79c2ca.7de81a1918d7d117
+    1bd5d4667d0b64df.7b7fb7192a225b6b.23c552af21fc6aa2.856f6a98bb82269d
+    acd7528dfd4080e8
+  after
+    1376ad03f7e0e14a.1ea6457875c2f481.177cadd3f7532caa.5a4854cd408746a7
+    745d72e9d156f1bd.5fc0cb9dfb0f3be8.946404d5cc79c2ca.7de81a1918d7d117
+    745d72e9d156f1bd.5fc0cb9dfb0f3be8.946404d5cc79c2ca.7de81a1918d7d117
+    1bd5d4667d0b64df.7b7fb7192a225b6b.23c552af21fc6aa2.856f6a98bb82269d
+    acd7528dfd4080e8
+VMOVDQA_EtoG_256(mem)
+  before
+    ceea4ee5fb1d9a23.36b7dc7bceca19d6.64c3bac2c78e1d09.b82808ab8b84f639
+    c776db8ad123317c.204d84935f214b4f.f6584f83ee5e3eed.afda2034a99ea23b
+    734573699a60011c.37e4ca19cd9b37f5.0d0cf248b99e7a44.642798b515d5aa56
+    ae24946f73dfc632.d5c8a97bb3c51975.85aa1ffd475b8d3a.335b6b9c6bb64933
+    78c2955448cbbc81
+  after
+    ceea4ee5fb1d9a23.36b7dc7bceca19d6.64c3bac2c78e1d09.b82808ab8b84f639
+    c776db8ad123317c.204d84935f214b4f.f6584f83ee5e3eed.afda2034a99ea23b
+    734573699a60011c.37e4ca19cd9b37f5.0d0cf248b99e7a44.642798b515d5aa56
+    ceea4ee5fb1d9a23.36b7dc7bceca19d6.64c3bac2c78e1d09.b82808ab8b84f639
+    78c2955448cbbc81
+
+VMOVDQA_EtoG_128(reg)
+  before
+    8fa8134947a23fea.54dfb98676ad3be8.58441e24ad2a2c7b.3afd528eb1a032fa
+    d458dfe704c70e1a.41415e9cc2d51d6a.1aa623805856adb2.08d208e7167927b1
+    a31ff79a1dc564be.5118009c716328e5.7938b6fb4fd6d8c7.cbf5bcf48ff3258a
+    584a56cf2b287e82.5f2e19729f641785.cf47d2022f35e966.5e32eaa13a19ebb2
+    9f550edb33f73355
+  after
+    8fa8134947a23fea.54dfb98676ad3be8.58441e24ad2a2c7b.3afd528eb1a032fa
+    0000000000000000.0000000000000000.7938b6fb4fd6d8c7.cbf5bcf48ff3258a
+    a31ff79a1dc564be.5118009c716328e5.7938b6fb4fd6d8c7.cbf5bcf48ff3258a
+    584a56cf2b287e82.5f2e19729f641785.cf47d2022f35e966.5e32eaa13a19ebb2
+    9f550edb33f73355
+VMOVDQA_EtoG_128(mem)
+  before
+    6929a58c959aba9e.4f23f9f0cc7c9712.4950270a69e3a776.792073ff94ff1b3a
+    987c29a27d0d3cb9.e4f6da6b9c4eed19.ea4aa650eaec94e2.d40c966019c1abef
+    07181808065c74d4.7211f7aa3629ba43.1ee810303f8c99f8.3a5a368f5a06d533
+    94caeeaa4c941f19.57bf4b1b369a3b3d.c0f6e29783ce74e2.08554ffaf45ad4af
+    9b48dd0b824ae512
+  after
+    6929a58c959aba9e.4f23f9f0cc7c9712.4950270a69e3a776.792073ff94ff1b3a
+    987c29a27d0d3cb9.e4f6da6b9c4eed19.ea4aa650eaec94e2.d40c966019c1abef
+    07181808065c74d4.7211f7aa3629ba43.1ee810303f8c99f8.3a5a368f5a06d533
+    0000000000000000.0000000000000000.4950270a69e3a776.792073ff94ff1b3a
+    9b48dd0b824ae512
+
+VMOVDQA_EtoG_128(reg)
+  before
+    4d81dc30a0614406.195e25746cc0f9b4.ee4bd229392cabb3.ae3f996fd3bfdfcd
+    7b4a49d4ec2b2d38.74a03b5281ecbed2.93028940db6b4850.c291b0a54a6996e4
+    81f01e63ff35db53.805caa30a825299f.a1306accb7e34cc1.dab6a32605da5754
+    bbbe5949770a8b04.185df0fafd76f746.762173396921f3b2.d07befdd1f1edc48
+    82ac0fb5b540e2ee
+  after
+    4d81dc30a0614406.195e25746cc0f9b4.ee4bd229392cabb3.ae3f996fd3bfdfcd
+    0000000000000000.0000000000000000.a1306accb7e34cc1.dab6a32605da5754
+    81f01e63ff35db53.805caa30a825299f.a1306accb7e34cc1.dab6a32605da5754
+    bbbe5949770a8b04.185df0fafd76f746.762173396921f3b2.d07befdd1f1edc48
+    82ac0fb5b540e2ee
+VMOVDQA_EtoG_128(mem)
+  before
+    ca147e9ce24c246f.8502f5f2f03679f6.1a70899c9aece4f4.6d219ff38eb07bce
+    8681bb7dc24e60fa.3b07efcb0546e0d6.6062ef039e91abd5.e17ceb66c11d1ec2
+    90bd3f44725350b8.3918423e52c5fe50.c7fda01922740914.307d51fe9ff31939
+    c69687dd0e66b0d8.db82e9b974400d0f.2c0d17cc459ebadd.b471cf28c3bea7e0
+    cba4604eca0b0562
+  after
+    ca147e9ce24c246f.8502f5f2f03679f6.1a70899c9aece4f4.6d219ff38eb07bce
+    8681bb7dc24e60fa.3b07efcb0546e0d6.6062ef039e91abd5.e17ceb66c11d1ec2
+    90bd3f44725350b8.3918423e52c5fe50.c7fda01922740914.307d51fe9ff31939
+    0000000000000000.0000000000000000.1a70899c9aece4f4.6d219ff38eb07bce
+    cba4604eca0b0562
+
+VMOVDQA_EtoG_128(reg)
+  before
+    cf6200de4f656f6c.02d61035b1943e84.7d91e2a6074149c0.6960d006201d7a5e
+    1df7ac43ef5821aa.214a553677e7b4e9.7b912973a656f00e.5bc147b5d2fc04c0
+    12af5ee8457157c7.ffbed2cd7d6ecf32.31ceb88bed0b3ca6.dffbf9c474481532
+    08d5143bed3b4c70.79fd04e7de324b8c.fb938d5a79eb6a33.cfdb611f240b69de
+    082dfbb2fe54bbf1
+  after
+    cf6200de4f656f6c.02d61035b1943e84.7d91e2a6074149c0.6960d006201d7a5e
+    0000000000000000.0000000000000000.31ceb88bed0b3ca6.dffbf9c474481532
+    12af5ee8457157c7.ffbed2cd7d6ecf32.31ceb88bed0b3ca6.dffbf9c474481532
+    08d5143bed3b4c70.79fd04e7de324b8c.fb938d5a79eb6a33.cfdb611f240b69de
+    082dfbb2fe54bbf1
+VMOVDQA_EtoG_128(mem)
+  before
+    66bd43691d2cc996.5db7c9a784423d51.69d5656eb741e322.352ea34be582b563
+    c557b6309da14cfa.6b9f7998a6136515.ac10735023a65421.3be9f6ccce5c5adf
+    02c7cef49bbe0348.8fda217bee390268.1e7ba9783f6e5ab5.68118349cf069556
+    f7d8099f3390a8ad.25b4bcbaf8404ef7.9be284d226a4b009.1af2442c850ba272
+    acd837e28bf8bcdf
+  after
+    66bd43691d2cc996.5db7c9a784423d51.69d5656eb741e322.352ea34be582b563
+    c557b6309da14cfa.6b9f7998a6136515.ac10735023a65421.3be9f6ccce5c5adf
+    02c7cef49bbe0348.8fda217bee390268.1e7ba9783f6e5ab5.68118349cf069556
+    0000000000000000.0000000000000000.69d5656eb741e322.352ea34be582b563
+    acd837e28bf8bcdf
+
+VMOVDQU_EtoG_128(reg)
+  before
+    7a0f57d87e58204a.8157e21f8022f855.8a7846c261b5856e.ff117e4af554134a
+    dfe2a078f9b70a5f.7c11d65e9e80af6b.1874bb00c523e579.26d415ccc78a3fa3
+    399e0f3099a2b6c9.c4d05f4aaab7891c.2cf217debe16a8c3.ecf7c444b953f041
+    e2909f6af9a45f35.3560fbcebfd14193.224057caeb1b0bf8.2d45079ee6bbe150
+    c58b5ac66acccffb
+  after
+    7a0f57d87e58204a.8157e21f8022f855.8a7846c261b5856e.ff117e4af554134a
+    0000000000000000.0000000000000000.2cf217debe16a8c3.ecf7c444b953f041
+    399e0f3099a2b6c9.c4d05f4aaab7891c.2cf217debe16a8c3.ecf7c444b953f041
+    e2909f6af9a45f35.3560fbcebfd14193.224057caeb1b0bf8.2d45079ee6bbe150
+    c58b5ac66acccffb
+VMOVDQU_EtoG_128(mem)
+  before
+    90953aa96294766f.38024b94b549424f.ab8f25d6fadd94fd.56a8762fe6bd4ac6
+    6a2f2231ea1f92d7.964012196a1d9bc2.0228594e76e43e85.247770794b88a0d6
+    2f258e4c1d77de60.5798ed65b4ada53b.16f6142250f4fa59.e8f84113b7094ad7
+    bb43fae517aa1736.d955dae42e859d65.c2c6d03ea31985a2.fe79e56bc5cb8473
+    c24459ed115b8956
+  after
+    90953aa96294766f.38024b94b549424f.ab8f25d6fadd94fd.56a8762fe6bd4ac6
+    6a2f2231ea1f92d7.964012196a1d9bc2.0228594e76e43e85.247770794b88a0d6
+    2f258e4c1d77de60.5798ed65b4ada53b.16f6142250f4fa59.e8f84113b7094ad7
+    0000000000000000.0000000000000000.ab8f25d6fadd94fd.56a8762fe6bd4ac6
+    c24459ed115b8956
+
+VMOVDQU_EtoG_128(reg)
+  before
+    90a798033944972d.ea54e3e8f5c4f984.76c2d302742fbfed.e4640b8e8c5d9b8f
+    c4ec9e1ad612e8a4.9725c341d2cf3f76.8b2cd62c2339477e.579c40ff26cef74a
+    ba60679f8651b867.a08318dccbd9a63a.75dfdfccd62e70c5.f73aec7b8e7857ff
+    cd4ff0fce58e4521.e0385da5fbeeeafa.8e27e84f2a9b776e.9f0989f0df6575db
+    2dd7954835a30d0a
+  after
+    90a798033944972d.ea54e3e8f5c4f984.76c2d302742fbfed.e4640b8e8c5d9b8f
+    0000000000000000.0000000000000000.75dfdfccd62e70c5.f73aec7b8e7857ff
+    ba60679f8651b867.a08318dccbd9a63a.75dfdfccd62e70c5.f73aec7b8e7857ff
+    cd4ff0fce58e4521.e0385da5fbeeeafa.8e27e84f2a9b776e.9f0989f0df6575db
+    2dd7954835a30d0a
+VMOVDQU_EtoG_128(mem)
+  before
+    7c6e8b71ad3eddb7.5b04349f8e54c97e.33100f887f18c6e2.3350ef22ba0b9824
+    679be75663419f0f.bfcd2ff21d30802b.74d9a8717365f81f.c1a6efb0230a0e94
+    cc2a25e372b8103e.55f4dd632faca8d4.815ea64cf1e13add.9274e46400251769
+    86e7c204f6afeb6f.78c73a5d60577b24.346a840617964847.0307caaceee7ec50
+    70ab9ef388ddccf5
+  after
+    7c6e8b71ad3eddb7.5b04349f8e54c97e.33100f887f18c6e2.3350ef22ba0b9824
+    679be75663419f0f.bfcd2ff21d30802b.74d9a8717365f81f.c1a6efb0230a0e94
+    cc2a25e372b8103e.55f4dd632faca8d4.815ea64cf1e13add.9274e46400251769
+    0000000000000000.0000000000000000.33100f887f18c6e2.3350ef22ba0b9824
+    70ab9ef388ddccf5
+
+VMOVDQU_EtoG_128(reg)
+  before
+    35ac5aa56b91f103.709e39a50c33edcf.8690434c4bba36c8.6bcabe8a0193e08a
+    af56fc2e32919827.681a06b2cf4fd289.da9bf39c8c63156c.004ad1c3cae1bcd2
+    38f580fa7969fd0c.4828a5175c0f56ca.cf3646b9c0dd53bb.d1b6379f8f8e994a
+    2dd4e076dda35c5f.ee9593c1ce8035bd.c3ac380f82b52d62.b8da6e096ba5321e
+    9382f1ed7a32457c
+  after
+    35ac5aa56b91f103.709e39a50c33edcf.8690434c4bba36c8.6bcabe8a0193e08a
+    0000000000000000.0000000000000000.cf3646b9c0dd53bb.d1b6379f8f8e994a
+    38f580fa7969fd0c.4828a5175c0f56ca.cf3646b9c0dd53bb.d1b6379f8f8e994a
+    2dd4e076dda35c5f.ee9593c1ce8035bd.c3ac380f82b52d62.b8da6e096ba5321e
+    9382f1ed7a32457c
+VMOVDQU_EtoG_128(mem)
+  before
+    3c793d37d9428c8e.ea411a0cfacef0cc.342b4a9a42ad2a8f.1048c60b6f76df0c
+    918cccd3a4e0c380.cb8629296b73f6fe.f7b64890d3a3f26c.1458eb1722aca566
+    6c871cadf619a87f.2cf0093acc20a9a2.1404088d9e6c487f.2926a3a138e4ba1b
+    aa36a8b1ebf8f5b7.69cbb6aaba604763.65e0077fbe17eaf5.adffea134ca95bd8
+    fa2ebcdbfb87c449
+  after
+    3c793d37d9428c8e.ea411a0cfacef0cc.342b4a9a42ad2a8f.1048c60b6f76df0c
+    918cccd3a4e0c380.cb8629296b73f6fe.f7b64890d3a3f26c.1458eb1722aca566
+    6c871cadf619a87f.2cf0093acc20a9a2.1404088d9e6c487f.2926a3a138e4ba1b
+    0000000000000000.0000000000000000.342b4a9a42ad2a8f.1048c60b6f76df0c
+    fa2ebcdbfb87c449
+
+VMOVAPD_GtoE_128(reg)
+  before
+    6e011664e00b3019.2765eccca0896753.dd632ce4d0bf0aee.c715bf5150ad92fa
+    63c3f31a97c0ddf5.c0e065e830d8b980.e6036856abca2fef.1670aeef6f3cfcb9
+    36bf4f69bd320489.4f728df3b8f2a969.dff9656be70cf111.2fbd4f4537cfe65e
+    444226bdeeeee480.b1e9e2d853e2f13b.248f1f8f1e128e01.ecc81e3fc6730a16
+    2a5d98c93533250d
+  after
+    6e011664e00b3019.2765eccca0896753.dd632ce4d0bf0aee.c715bf5150ad92fa
+    63c3f31a97c0ddf5.c0e065e830d8b980.e6036856abca2fef.1670aeef6f3cfcb9
+    0000000000000000.0000000000000000.248f1f8f1e128e01.ecc81e3fc6730a16
+    444226bdeeeee480.b1e9e2d853e2f13b.248f1f8f1e128e01.ecc81e3fc6730a16
+    2a5d98c93533250d
+VMOVAPD_GtoE_128(mem)
+  before
+    c54838d0a21bf36f.e7987582c57fb786.c20fdf821eb54e22.1112932eef673f6a
+    99547a3e28372f67.7c0d3624de71ba48.5eb101df34767b49.02cebbb5f39743f9
+    824eda01e4949621.5fed6710d6512972.619bc2dab23135dd.520f958ec92ed55a
+    5c03d403f23ee4ca.ec8303b048aa40b0.a799a05fb3f33809.5f201c260ab93038
+    844f4cea54c3913f
+  after
+    c54838d0a21bf36f.e7987582c57fb786.619bc2dab23135dd.520f958ec92ed55a
+    99547a3e28372f67.7c0d3624de71ba48.5eb101df34767b49.02cebbb5f39743f9
+    824eda01e4949621.5fed6710d6512972.619bc2dab23135dd.520f958ec92ed55a
+    5c03d403f23ee4ca.ec8303b048aa40b0.a799a05fb3f33809.5f201c260ab93038
+    844f4cea54c3913f
+
+VMOVAPD_GtoE_128(reg)
+  before
+    1ce6224543d9331d.033de5326d3fd48e.801d0772d1083aad.0c76165a54c740fa
+    853299a27286537c.53c8877971a52399.75056dc00df85415.6cffa0b8b0b908dc
+    197fad6f7e562d08.287238c41b7b8d16.288833089605c995.a301ba63e3d54dda
+    36195a1702d6fd6e.5e0674ff86cece31.f5f254b50bbbd7d9.8d46e1490a28cb21
+    069b905441be3edc
+  after
+    1ce6224543d9331d.033de5326d3fd48e.801d0772d1083aad.0c76165a54c740fa
+    853299a27286537c.53c8877971a52399.75056dc00df85415.6cffa0b8b0b908dc
+    0000000000000000.0000000000000000.f5f254b50bbbd7d9.8d46e1490a28cb21
+    36195a1702d6fd6e.5e0674ff86cece31.f5f254b50bbbd7d9.8d46e1490a28cb21
+    069b905441be3edc
+VMOVAPD_GtoE_128(mem)
+  before
+    eacc4372a3a16138.364c9c069a91fe5a.d14fb516cfa9a117.388fcc3305a7b88d
+    15a4768d4cdff161.776370a8e3136e77.5d1a79f51118c4f4.4daa98ee2354a95c
+    63f1a6935984a982.53acd06978e98672.de333a886928f0f3.9091b352fe4fe5f2
+    b07d4d6fe69a47c8.2871bab5f69e85f7.306677bcf2e4e441.5d8e19cb3422a9fc
+    10eec6c5615c3126
+  after
+    eacc4372a3a16138.364c9c069a91fe5a.de333a886928f0f3.9091b352fe4fe5f2
+    15a4768d4cdff161.776370a8e3136e77.5d1a79f51118c4f4.4daa98ee2354a95c
+    63f1a6935984a982.53acd06978e98672.de333a886928f0f3.9091b352fe4fe5f2
+    b07d4d6fe69a47c8.2871bab5f69e85f7.306677bcf2e4e441.5d8e19cb3422a9fc
+    10eec6c5615c3126
+
+VMOVAPD_GtoE_128(reg)
+  before
+    04fdb6ad2086b91c.d715e90d0d2f855e.50ff2af9f9bea5b1.2e7fa97bc8585a0a
+    9707e6ed0e2e7c88.b685f559ed4f2071.28a21a9f1bd6234c.b6494db308910f79
+    245850f3c6dfb719.2899ee3f9f04d32c.0da68815fb713b76.a392e04ece9abfbb
+    073bf22ae426a679.081d4eac425d5cbd.59566fc5321b29d8.d024dd3a357f25fb
+    1bccc062594dfe66
+  after
+    04fdb6ad2086b91c.d715e90d0d2f855e.50ff2af9f9bea5b1.2e7fa97bc8585a0a
+    9707e6ed0e2e7c88.b685f559ed4f2071.28a21a9f1bd6234c.b6494db308910f79
+    0000000000000000.0000000000000000.59566fc5321b29d8.d024dd3a357f25fb
+    073bf22ae426a679.081d4eac425d5cbd.59566fc5321b29d8.d024dd3a357f25fb
+    1bccc062594dfe66
+VMOVAPD_GtoE_128(mem)
+  before
+    5f5606b2570f0628.9cfec8fd058d8555.34dc938aef63754d.6900cb1d5f612821
+    778e29164bd2f96c.3eebccdac5a38f58.86a438c7c524da0b.99ee98881bce75fb
+    4140a77a50a0925e.4b4ffc2cbef1012f.dc3fb94dddab4920.466dd37204ee4b12
+    9737fbca82878e2c.1e76535f8f051786.117a930a55047cbb.cac97747b64ee814
+    824e7f73cc7986ab
+  after
+    5f5606b2570f0628.9cfec8fd058d8555.dc3fb94dddab4920.466dd37204ee4b12
+    778e29164bd2f96c.3eebccdac5a38f58.86a438c7c524da0b.99ee98881bce75fb
+    4140a77a50a0925e.4b4ffc2cbef1012f.dc3fb94dddab4920.466dd37204ee4b12
+    9737fbca82878e2c.1e76535f8f051786.117a930a55047cbb.cac97747b64ee814
+    824e7f73cc7986ab
+
+VMOVAPD_GtoE_256(reg)
+  before
+    ca48ea62e3fb6183.5740a2f2fe93a900.12abcddfd26a0c08.002140e9493c3006
+    fe02b1809661b749.5b2816dfdfcf9e06.853c661923ad1d61.86003ed5d45e202e
+    7acad23a8136c2a9.80b9d57b42472a6b.d1741b771f59863f.80e208bc12760a5e
+    9aea48fa4106bf4e.a3bf5ab44207095b.549ee66661fa834c.c8951b892091a8c3
+    3ce3f1281abab688
+  after
+    ca48ea62e3fb6183.5740a2f2fe93a900.12abcddfd26a0c08.002140e9493c3006
+    fe02b1809661b749.5b2816dfdfcf9e06.853c661923ad1d61.86003ed5d45e202e
+    9aea48fa4106bf4e.a3bf5ab44207095b.549ee66661fa834c.c8951b892091a8c3
+    9aea48fa4106bf4e.a3bf5ab44207095b.549ee66661fa834c.c8951b892091a8c3
+    3ce3f1281abab688
+VMOVAPD_GtoE_256(mem)
+  before
+    b69908861bfef2da.baaf0f2e725eeae4.9e082175fc1cf701.6807c553861d4f34
+    1383db8d3f6816e5.36652341afc97e19.4f5fa6a98b91af8a.6bfbb3a9294d27a4
+    306de62aa304dfd4.6a57819e94d4b897.908f663e0c73ee21.b7c6add3e6164748
+    e722a64a62de08d4.b2d323b3be0ad40a.3e65dc1f9acd70f3.a9b3ae3f5b04eacb
+    9e10b15821a44dda
+  after
+    306de62aa304dfd4.6a57819e94d4b897.908f663e0c73ee21.b7c6add3e6164748
+    1383db8d3f6816e5.36652341afc97e19.4f5fa6a98b91af8a.6bfbb3a9294d27a4
+    306de62aa304dfd4.6a57819e94d4b897.908f663e0c73ee21.b7c6add3e6164748
+    e722a64a62de08d4.b2d323b3be0ad40a.3e65dc1f9acd70f3.a9b3ae3f5b04eacb
+    9e10b15821a44dda
+
+VMOVAPD_GtoE_256(reg)
+  before
+    f027b48ad682ac20.157095d899034f10.692307ebc8f70e20.35ad843851abf02c
+    fc45b3411628434b.962131bf647f6eb6.ed9528b24f27a182.5133da754e192bf7
+    1fb6a8e97c244d04.4602f5eddd5c22ef.99738374ee27cadf.6fc35ac3ad24dd81
+    b3c691efa40207f9.01df5d4d22a826e9.c90a129e4282c4e1.6929810c89d7c2f5
+    1c30ca3dfe3f9580
+  after
+    f027b48ad682ac20.157095d899034f10.692307ebc8f70e20.35ad843851abf02c
+    fc45b3411628434b.962131bf647f6eb6.ed9528b24f27a182.5133da754e192bf7
+    b3c691efa40207f9.01df5d4d22a826e9.c90a129e4282c4e1.6929810c89d7c2f5
+    b3c691efa40207f9.01df5d4d22a826e9.c90a129e4282c4e1.6929810c89d7c2f5
+    1c30ca3dfe3f9580
+VMOVAPD_GtoE_256(mem)
+  before
+    64a5b1432967134e.15c169bd2b4dadd6.a384e6cb4f6e37d0.d9a5d39ae6c5cd34
+    1d55b208255bf88a.a1f22cc0ac917a47.09bd0b537fbb11d0.2492c1d5777b1f85
+    230a4a7a0f280061.b3a7d665c45aacf7.0d5648d1cf9a7014.081cd9bc9030f780
+    5290f48403d9e6fe.a82a64170f357c92.8c1a19315a170fc8.df8e15b9cd7090d0
+    0735733acbc82822
+  after
+    230a4a7a0f280061.b3a7d665c45aacf7.0d5648d1cf9a7014.081cd9bc9030f780
+    1d55b208255bf88a.a1f22cc0ac917a47.09bd0b537fbb11d0.2492c1d5777b1f85
+    230a4a7a0f280061.b3a7d665c45aacf7.0d5648d1cf9a7014.081cd9bc9030f780
+    5290f48403d9e6fe.a82a64170f357c92.8c1a19315a170fc8.df8e15b9cd7090d0
+    0735733acbc82822
+
+VMOVAPD_GtoE_256(reg)
+  before
+    db5deeaa26c4f922.86b52c121b7a678e.dac8d14127ad29c5.61d6fa603d3fab19
+    b652827579ee3f7b.9b446e1076183f3d.a6cd1951ab4eed3c.6a566848931d0033
+    f6602b0760d438d9.6d08366a2dbe2936.688538b234a506a3.8266ded778bdca41
+    f5d2e6cc78011eea.d7ce010c5f78e2a6.7c3c2bd0613dada5.85d2d8f7092cc470
+    4f66d2966174abec
+  after
+    db5deeaa26c4f922.86b52c121b7a678e.dac8d14127ad29c5.61d6fa603d3fab19
+    b652827579ee3f7b.9b446e1076183f3d.a6cd1951ab4eed3c.6a566848931d0033
+    f5d2e6cc78011eea.d7ce010c5f78e2a6.7c3c2bd0613dada5.85d2d8f7092cc470
+    f5d2e6cc78011eea.d7ce010c5f78e2a6.7c3c2bd0613dada5.85d2d8f7092cc470
+    4f66d2966174abec
+VMOVAPD_GtoE_256(mem)
+  before
+    bced489f9da43ae0.11f6ae305d022e58.b7624ae2255326b8.3e3dec17cba321ee
+    a834b7fed9c62f79.a4167f9faa62a3cf.e8908dd99d5ab099.09d579f310619c2b
+    ee089a9f30e644e2.0b7f5586fbadbbfc.462446dbe3993e75.3b50cdd1cc055b08
+    6c336d6ebe103648.a37d2c4fed70b08b.ade9f2d6121d8a77.2ffae51b9a1b9a30
+    411fbb3f172e9450
+  after
+    ee089a9f30e644e2.0b7f5586fbadbbfc.462446dbe3993e75.3b50cdd1cc055b08
+    a834b7fed9c62f79.a4167f9faa62a3cf.e8908dd99d5ab099.09d579f310619c2b
+    ee089a9f30e644e2.0b7f5586fbadbbfc.462446dbe3993e75.3b50cdd1cc055b08
+    6c336d6ebe103648.a37d2c4fed70b08b.ade9f2d6121d8a77.2ffae51b9a1b9a30
+    411fbb3f172e9450
+
+VMOVAPS_GtoE_128(reg)
+  before
+    cd0b4da7deca8614.fd81ac57a051c0d7.c65c01681b36be27.f8ad0cb447f150cc
+    2f0996c18b7bac27.7cc0d446f1b4a0ba.d167cf3b228b237d.053a0f639d214e9f
+    c26792f8bbce4136.c7bb6028ce45901d.20ec92369dfc1938.af5d7ace30ba3e1d
+    e46f3eb8094e83ec.b93dcce752114c2e.103546c42914dd05.d1e2c6e11dc7dd71
+    499571887f54e6c8
+  after
+    cd0b4da7deca8614.fd81ac57a051c0d7.c65c01681b36be27.f8ad0cb447f150cc
+    2f0996c18b7bac27.7cc0d446f1b4a0ba.d167cf3b228b237d.053a0f639d214e9f
+    0000000000000000.0000000000000000.103546c42914dd05.d1e2c6e11dc7dd71
+    e46f3eb8094e83ec.b93dcce752114c2e.103546c42914dd05.d1e2c6e11dc7dd71
+    499571887f54e6c8
+VMOVAPS_GtoE_128(mem)
+  before
+    f142f6af736e164e.f06e946d1288acf6.2d13947199239217.fb8fe851615fab90
+    a7b4d1421520292e.41b092837207f800.010935b0c1871c04.3e467349e16abe84
+    45b87e2e7f77db95.35813366c457a5b5.0feb2992e34aa722.35a6e31847c0538e
+    a91b795dd07de8af.272c7482a405edc1.3585ee021d77ee9d.3cfa342a2ceea659
+    af9062eb2e7ef292
+  after
+    f142f6af736e164e.f06e946d1288acf6.0feb2992e34aa722.35a6e31847c0538e
+    a7b4d1421520292e.41b092837207f800.010935b0c1871c04.3e467349e16abe84
+    45b87e2e7f77db95.35813366c457a5b5.0feb2992e34aa722.35a6e31847c0538e
+    a91b795dd07de8af.272c7482a405edc1.3585ee021d77ee9d.3cfa342a2ceea659
+    af9062eb2e7ef292
+
+VMOVAPS_GtoE_128(reg)
+  before
+    eab26ac8e9fe74e5.ada73fbc21400ba7.72ff4f43af9c0dd2.4da3ffec8b1bafa0
+    49ae472bf8fa68fd.2e284b3891cc01a9.7444c21680a84092.3410d93c4840a458
+    28cef582f7fd0a87.096c19bc392c85e3.8748c865b4b6c4ad.c799f6de70f589f0
+    e35e70378393952e.183e2633386c557f.08575d9ee650d3d0.e00ad4be20431c96
+    5c2feec973381773
+  after
+    eab26ac8e9fe74e5.ada73fbc21400ba7.72ff4f43af9c0dd2.4da3ffec8b1bafa0
+    49ae472bf8fa68fd.2e284b3891cc01a9.7444c21680a84092.3410d93c4840a458
+    0000000000000000.0000000000000000.08575d9ee650d3d0.e00ad4be20431c96
+    e35e70378393952e.183e2633386c557f.08575d9ee650d3d0.e00ad4be20431c96
+    5c2feec973381773
+VMOVAPS_GtoE_128(mem)
+  before
+    18d4c0e986df37b5.d6acb5b83748469f.3869ec8ba7982ba9.54bd7d2cb205a9a7
+    eec5c60b75453788.5d03be70b0a95986.46bae9afa4bdc38e.c5c6257ab55e84dd
+    bbcd7d1c5a74d518.d4ae89cb8a410a8e.1cfd988b4be6db5a.b9bd50f68be99e1f
+    5bba6007547bcb90.97fa12355f9d9464.97fe750bb7202d38.8aeffa0bcf323418
+    95a91f251ec38275
+  after
+    18d4c0e986df37b5.d6acb5b83748469f.1cfd988b4be6db5a.b9bd50f68be99e1f
+    eec5c60b75453788.5d03be70b0a95986.46bae9afa4bdc38e.c5c6257ab55e84dd
+    bbcd7d1c5a74d518.d4ae89cb8a410a8e.1cfd988b4be6db5a.b9bd50f68be99e1f
+    5bba6007547bcb90.97fa12355f9d9464.97fe750bb7202d38.8aeffa0bcf323418
+    95a91f251ec38275
+
+VMOVAPS_GtoE_128(reg)
+  before
+    3735bcb1132ac3e2.aa56ebb87c63d61c.0134531ace4734b3.9389fd1c04767655
+    cadfcc194af3340a.846e9a1af13ab1ea.70a54ae670ce2628.ec6aaaa84ff472dc
+    abf54aca60a8119a.c6ceea1bcc0b1923.3f9cf106e3bba56f.7e6cfa9cb4a7dcfa
+    36c23531f0d7953e.4a4256a62be3caf6.ca6446e4c39cee33.255c68e54e9a71db
+    bd07716e39d9edaa
+  after
+    3735bcb1132ac3e2.aa56ebb87c63d61c.0134531ace4734b3.9389fd1c04767655
+    cadfcc194af3340a.846e9a1af13ab1ea.70a54ae670ce2628.ec6aaaa84ff472dc
+    0000000000000000.0000000000000000.ca6446e4c39cee33.255c68e54e9a71db
+    36c23531f0d7953e.4a4256a62be3caf6.ca6446e4c39cee33.255c68e54e9a71db
+    bd07716e39d9edaa
+VMOVAPS_GtoE_128(mem)
+  before
+    22378f2292700b94.c79186b8970cfda1.ed9559a82acd808d.6c4845eeabfc3d20
+    30b840ef746c88c4.baaf3bcdf1d2856f.8b95720be4d5f614.8396e88e3868cee4
+    c358ffc0fcd92067.6b684edb98b56955.000c1abc7608e9b8.69982d32056bdc29
+    b7e2488145c18fa9.3608bd4e2b41e4ff.27c7cfa8fb7115a5.7c9b0f45ae91a49b
+    16eb8a33d06762e7
+  after
+    22378f2292700b94.c79186b8970cfda1.000c1abc7608e9b8.69982d32056bdc29
+    30b840ef746c88c4.baaf3bcdf1d2856f.8b95720be4d5f614.8396e88e3868cee4
+    c358ffc0fcd92067.6b684edb98b56955.000c1abc7608e9b8.69982d32056bdc29
+    b7e2488145c18fa9.3608bd4e2b41e4ff.27c7cfa8fb7115a5.7c9b0f45ae91a49b
+    16eb8a33d06762e7
+
+VMOVAPS_GtoE_256(reg)
+  before
+    95d39a68077751b9.e821981e6c3290b5.77db849143033319.de920bb98f1c3607
+    53a13c50ee50aebc.32e269838c38e0b8.8a2d9d127f86924e.00394cdd4f160709
+    ae9f6b57217bb59d.71f1399cc2dd3bdd.cb49063d78563d4a.69870eff576a45d7
+    001b23e93d86a208.811a8356292f5d51.967dba7ccc006fba.f54acb0ac224ab9e
+    804c01ecac51f78a
+  after
+    95d39a68077751b9.e821981e6c3290b5.77db849143033319.de920bb98f1c3607
+    53a13c50ee50aebc.32e269838c38e0b8.8a2d9d127f86924e.00394cdd4f160709
+    001b23e93d86a208.811a8356292f5d51.967dba7ccc006fba.f54acb0ac224ab9e
+    001b23e93d86a208.811a8356292f5d51.967dba7ccc006fba.f54acb0ac224ab9e
+    804c01ecac51f78a
+VMOVAPS_GtoE_256(mem)
+  before
+    e55a2b9032fce3c6.a75f6072ddfdb0a8.3d29c49bde3a013f.4713b53c170f654a
+    0240c5e26f312c7f.fdb81e5f9e6a1c29.83e97659fc08e4d5.3a58f3eaf4105aa5
+    b2ca4bcf80fd8de1.5f715a1a1c5b2238.2e28177a9fa7c23c.cb9871f0008e8c78
+    d0c43a41806bc417.2ad80f11f15cfd81.19b022ece42356a3.561e2abcd615356f
+    36381ab812319235
+  after
+    b2ca4bcf80fd8de1.5f715a1a1c5b2238.2e28177a9fa7c23c.cb9871f0008e8c78
+    0240c5e26f312c7f.fdb81e5f9e6a1c29.83e97659fc08e4d5.3a58f3eaf4105aa5
+    b2ca4bcf80fd8de1.5f715a1a1c5b2238.2e28177a9fa7c23c.cb9871f0008e8c78
+    d0c43a41806bc417.2ad80f11f15cfd81.19b022ece42356a3.561e2abcd615356f
+    36381ab812319235
+
+VMOVAPS_GtoE_256(reg)
+  before
+    c9303d52516fde77.3af90d258c878b4e.b83739afbbf7eab0.224e139ae7865d33
+    6a538ff52e5a56e0.cb374068bf5e9eb1.66dcd46016ba2570.24ce6670c3df931b
+    75ed0d0d467f361d.5e484ff436fbbb6d.9011dd909d31ea6d.fafc985a9437b485
+    454ab2063569bada.d1f9b6b70c6a9cad.92234fabede67455.82a42444779c7b9e
+    9691861a8719a591
+  after
+    c9303d52516fde77.3af90d258c878b4e.b83739afbbf7eab0.224e139ae7865d33
+    6a538ff52e5a56e0.cb374068bf5e9eb1.66dcd46016ba2570.24ce6670c3df931b
+    454ab2063569bada.d1f9b6b70c6a9cad.92234fabede67455.82a42444779c7b9e
+    454ab2063569bada.d1f9b6b70c6a9cad.92234fabede67455.82a42444779c7b9e
+    9691861a8719a591
+VMOVAPS_GtoE_256(mem)
+  before
+    14903ac9e1baee8b.38b67a4c95a41ec2.fe16f29c5db8fe9e.c85e261da16800d1
+    d66ebd3ba08c11b7.a87d614b05bd9d81.c36b7e8f46f09c6c.8f0d5e525640ca90
+    baf5895de19acb42.f3ea64701f3f74c5.fac3d67be31f3442.417ef3b6a7fc0d3c
+    9af11c1cbff1d858.734a7e257fb6de38.80ec764f4f50804d.3bfbe2b630270781
+    d9d126bc8e4df20d
+  after
+    baf5895de19acb42.f3ea64701f3f74c5.fac3d67be31f3442.417ef3b6a7fc0d3c
+    d66ebd3ba08c11b7.a87d614b05bd9d81.c36b7e8f46f09c6c.8f0d5e525640ca90
+    baf5895de19acb42.f3ea64701f3f74c5.fac3d67be31f3442.417ef3b6a7fc0d3c
+    9af11c1cbff1d858.734a7e257fb6de38.80ec764f4f50804d.3bfbe2b630270781
+    d9d126bc8e4df20d
+
+VMOVAPS_GtoE_256(reg)
+  before
+    774cbb365dfb0a89.5330f263579bf424.86e9abd8c1ae1886.32b0dbf4a68f3cb9
+    70b89d8e37bc8da4.c27d851dc4a7dad3.8613e7f383b45e5c.eadc805705e826b1
+    2261c932bb1db508.c1a35238231e4791.d1142ee45e54ec66.853ce1648868f861
+    e8933a8d83a8be61.2d6fd69f8f0ef789.c1387d16f018fe4f.e09c7a08491a6ff7
+    d5c7c72d670b469c
+  after
+    774cbb365dfb0a89.5330f263579bf424.86e9abd8c1ae1886.32b0dbf4a68f3cb9
+    70b89d8e37bc8da4.c27d851dc4a7dad3.8613e7f383b45e5c.eadc805705e826b1
+    e8933a8d83a8be61.2d6fd69f8f0ef789.c1387d16f018fe4f.e09c7a08491a6ff7
+    e8933a8d83a8be61.2d6fd69f8f0ef789.c1387d16f018fe4f.e09c7a08491a6ff7
+    d5c7c72d670b469c
+VMOVAPS_GtoE_256(mem)
+  before
+    418b45c1fc463b7f.1e99eb0b2bece65c.e2ad8c3e2582a5e7.b3cacff5d58ecfc4
+    00b26fae24d708ca.20c0db18507267a5.bd29f10200870ed9.041820eda8429c70
+    ee09c1e2fcca6aaa.4a5403208dc87ee8.98af7fd53c28ee88.0e6c6c6a06bea000
+    e85db7489f2c1c4a.f7a1618f7f7967cf.500bb4a4f6710123.2e13afd88a901920
+    c159e6a3d044417b
+  after
+    ee09c1e2fcca6aaa.4a5403208dc87ee8.98af7fd53c28ee88.0e6c6c6a06bea000
+    00b26fae24d708ca.20c0db18507267a5.bd29f10200870ed9.041820eda8429c70
+    ee09c1e2fcca6aaa.4a5403208dc87ee8.98af7fd53c28ee88.0e6c6c6a06bea000
+    e85db7489f2c1c4a.f7a1618f7f7967cf.500bb4a4f6710123.2e13afd88a901920
+    c159e6a3d044417b
+
+VMOVAPS_EtoG_128(reg)
+  before
+    21890c38756454be.c877cecc2a09dbd7.85f3efd2c1125d09.c1080b5c496e02d4
+    abf11d01147e9095.6b26805ab86b637c.4f96ac53f01d9d40.c77400e7522caec7
+    bbdb166c4a1e2fab.ad354bde65607066.b0d5917fa7296321.3e190f332db7c12a
+    ad95f1e3b2cf6eac.6a6fab444ef3bdc1.06fd9bc382bfeb57.02c4b52af519f726
+    ef406cbac6600bea
+  after
+    21890c38756454be.c877cecc2a09dbd7.85f3efd2c1125d09.c1080b5c496e02d4
+    0000000000000000.0000000000000000.b0d5917fa7296321.3e190f332db7c12a
+    bbdb166c4a1e2fab.ad354bde65607066.b0d5917fa7296321.3e190f332db7c12a
+    ad95f1e3b2cf6eac.6a6fab444ef3bdc1.06fd9bc382bfeb57.02c4b52af519f726
+    ef406cbac6600bea
+VMOVAPS_EtoG_128(mem)
+  before
+    e15bb2cebd97baa0.dd69acd4e91d8945.7ea11a798f3107b8.ac5bc78a1e6d708f
+    b4e00352f5cbc074.a7a442aa8b94bb22.c597156743250a77.fd39104017be2f75
+    449ad9328b07d894.6791afd132c141ef.1a1d19fc86db822c.57e37250083f64b4
+    6d56b25a9a57bf29.797ef0b57c2f5757.5bffa12275602a01.14a7e9288d7b4af8
+    92d0723343fe1eef
+  after
+    e15bb2cebd97baa0.dd69acd4e91d8945.7ea11a798f3107b8.ac5bc78a1e6d708f
+    b4e00352f5cbc074.a7a442aa8b94bb22.c597156743250a77.fd39104017be2f75
+    449ad9328b07d894.6791afd132c141ef.1a1d19fc86db822c.57e37250083f64b4
+    0000000000000000.0000000000000000.7ea11a798f3107b8.ac5bc78a1e6d708f
+    92d0723343fe1eef
+
+VMOVAPS_EtoG_128(reg)
+  before
+    2ba908dec6551c43.0ae009b73fc83162.39b600c2056a3806.63092ac72cbfbf22
+    3d7fa793b00b80a0.f9045a339565e969.0384da6468ff22a9.0e062ed6c604fcbd
+    229e4bbfa0ac85b3.158e21bbb83aa56a.33357d0742794eec.38c42b3b5f3c9ffb
+    3752f1cf30c56828.3a49db3cc5541f92.2515e2182e65fb7a.bc0d9ce21472620b
+    78aefdb700b20217
+  after
+    2ba908dec6551c43.0ae009b73fc83162.39b600c2056a3806.63092ac72cbfbf22
+    0000000000000000.0000000000000000.33357d0742794eec.38c42b3b5f3c9ffb
+    229e4bbfa0ac85b3.158e21bbb83aa56a.33357d0742794eec.38c42b3b5f3c9ffb
+    3752f1cf30c56828.3a49db3cc5541f92.2515e2182e65fb7a.bc0d9ce21472620b
+    78aefdb700b20217
+VMOVAPS_EtoG_128(mem)
+  before
+    4773caa640093a4b.d9e7932dfce165aa.430302a1d8be130d.35700601c84e6400
+    0427809bef82c8d4.62a92f47a18cb7e6.0e8614d50c843f06.be92e630adc0c42a
+    8d989a832a2966de.2fe3c088ba539b87.769f8cc67db35daa.1ec67d10794757a3
+    bd9094480c0bd094.9ce2435be4c14d3a.561ae75f48562a25.b059c70cc7705b18
+    d098c19233c60a34
+  after
+    4773caa640093a4b.d9e7932dfce165aa.430302a1d8be130d.35700601c84e6400
+    0427809bef82c8d4.62a92f47a18cb7e6.0e8614d50c843f06.be92e630adc0c42a
+    8d989a832a2966de.2fe3c088ba539b87.769f8cc67db35daa.1ec67d10794757a3
+    0000000000000000.0000000000000000.430302a1d8be130d.35700601c84e6400
+    d098c19233c60a34
+
+VMOVAPS_EtoG_128(reg)
+  before
+    d9cd660d5ad6a1a4.6fdcead8b233c423.05f3b22eba6209ab.8cc39f8c897a61a2
+    2945b1e9d82b5c14.8148181e37aefcb7.c7600b6cd8c30a85.f26632395b29bf4d
+    1b4ba1924751762f.cda09b05b786357b.3c754981db6f8d75.66ce1b52da710054
+    0a2d2f7546d52ca1.31b0ee7b50c92a9b.c18068da5ff2ce26.c2c8d7c4235ee0e1
+    e421e07951fb1b20
+  after
+    d9cd660d5ad6a1a4.6fdcead8b233c423.05f3b22eba6209ab.8cc39f8c897a61a2
+    0000000000000000.0000000000000000.3c754981db6f8d75.66ce1b52da710054
+    1b4ba1924751762f.cda09b05b786357b.3c754981db6f8d75.66ce1b52da710054
+    0a2d2f7546d52ca1.31b0ee7b50c92a9b.c18068da5ff2ce26.c2c8d7c4235ee0e1
+    e421e07951fb1b20
+VMOVAPS_EtoG_128(mem)
+  before
+    a6a3b45f81546c3e.543558fc6e41ba18.87448d6b1b839945.b2cc64e1ffd90945
+    e61bce60ce759067.53b119945e245c3e.ac27f4c136bf3ca2.6ba43a0358af797e
+    7e54aa6a556b42c6.65eb6daaaf074dbf.7d26a069bc89cfe1.4855e5ad05015b7c
+    4b1cc46831414088.e43050a90078ca48.d40e0c4fcaed102c.a52b6149a259eaec
+    de72aa45cc456479
+  after
+    a6a3b45f81546c3e.543558fc6e41ba18.87448d6b1b839945.b2cc64e1ffd90945
+    e61bce60ce759067.53b119945e245c3e.ac27f4c136bf3ca2.6ba43a0358af797e
+    7e54aa6a556b42c6.65eb6daaaf074dbf.7d26a069bc89cfe1.4855e5ad05015b7c
+    0000000000000000.0000000000000000.87448d6b1b839945.b2cc64e1ffd90945
+    de72aa45cc456479
+
+VMOVAPD_EtoG_256(reg)
+  before
+    4f76bd0c1e5103d0.293d99457f0444d8.2ecbbffcea030f85.8ea8b4607cf8b9b0
+    5482950a3508049d.f584a4ef5abf0ae3.9d0ab4110b325721.88c31486edb58798
+    48e42eabacf6a28b.89bd6151de7e50d5.8e382d53ff93e0c9.9c2aa8af39313511
+    89e6845b20a71a47.c2b44c58284dd0d9.5ea0252e61b2e328.a7a8edc57d778146
+    850b5eb6d4932564
+  after
+    4f76bd0c1e5103d0.293d99457f0444d8.2ecbbffcea030f85.8ea8b4607cf8b9b0
+    48e42eabacf6a28b.89bd6151de7e50d5.8e382d53ff93e0c9.9c2aa8af39313511
+    48e42eabacf6a28b.89bd6151de7e50d5.8e382d53ff93e0c9.9c2aa8af39313511
+    89e6845b20a71a47.c2b44c58284dd0d9.5ea0252e61b2e328.a7a8edc57d778146
+    850b5eb6d4932564
+VMOVAPD_EtoG_256(mem)
+  before
+    121d776d5b92de97.72d593862ca8a87c.7c35e1ee5439471c.678f990ecd199feb
+    2babb4d62d7e670a.5ffd58986d8488d7.930c9d007d4d71ca.0651835fe0564ebe
+    aa8192dd67667dea.abaacefd7ec8f603.e304fb7bbf96090e.9732e18e36f52d4c
+    6c6b8b6e2453dc62.b427f122fcff2dae.49eb7749371fcc14.777eae056a807842
+    0080e63118856b4c
+  after
+    121d776d5b92de97.72d593862ca8a87c.7c35e1ee5439471c.678f990ecd199feb
+    2babb4d62d7e670a.5ffd58986d8488d7.930c9d007d4d71ca.0651835fe0564ebe
+    aa8192dd67667dea.abaacefd7ec8f603.e304fb7bbf96090e.9732e18e36f52d4c
+    121d776d5b92de97.72d593862ca8a87c.7c35e1ee5439471c.678f990ecd199feb
+    0080e63118856b4c
+
+VMOVAPD_EtoG_256(reg)
+  before
+    8f86857fdd904115.4d341d758053409f.d5c2bd7182b56981.9f8b8d5800f47609
+    80da885a542b3749.29aac3de997164cd.69c52e58ad77e82b.c2b1ba923722c219
+    2fc9ea2d1ae48895.dc97fa9588ba0517.ce7d414218d0e456.8e2879e5f8b46d70
+    f89fa766ca4772a5.42c83c876b39dfaa.5f36f19a5f4c9aae.dfbe463c5db63338
+    903e9d838535d0a0
+  after
+    8f86857fdd904115.4d341d758053409f.d5c2bd7182b56981.9f8b8d5800f47609
+    2fc9ea2d1ae48895.dc97fa9588ba0517.ce7d414218d0e456.8e2879e5f8b46d70
+    2fc9ea2d1ae48895.dc97fa9588ba0517.ce7d414218d0e456.8e2879e5f8b46d70
+    f89fa766ca4772a5.42c83c876b39dfaa.5f36f19a5f4c9aae.dfbe463c5db63338
+    903e9d838535d0a0
+VMOVAPD_EtoG_256(mem)
+  before
+    7f73faa6893cffd2.37a8bb7001df2f25.3609079e5efaaeb1.773c3ace1f7746e0
+    872ada9188d77dfb.482f22b75a38fcc0.9626d6c87c0a2d59.74db1949f4de2398
+    842fb8319b130646.8782d9a772de1422.3dea25f0e17419ce.b05e8877790d6f81
+    524e1070e0fb56e0.50ebdbace45eb4f8.07237102aa442d3b.881385c44a8e6348
+    59440b9d04ef3e98
+  after
+    7f73faa6893cffd2.37a8bb7001df2f25.3609079e5efaaeb1.773c3ace1f7746e0
+    872ada9188d77dfb.482f22b75a38fcc0.9626d6c87c0a2d59.74db1949f4de2398
+    842fb8319b130646.8782d9a772de1422.3dea25f0e17419ce.b05e8877790d6f81
+    7f73faa6893cffd2.37a8bb7001df2f25.3609079e5efaaeb1.773c3ace1f7746e0
+    59440b9d04ef3e98
+
+VMOVAPD_EtoG_256(reg)
+  before
+    7d3e166c42bb3a1e.cc535e3b739b28f5.ffb724334d4318ee.d09b35e9f28727cc
+    524da39fa17f9486.d0091f7f6f0039b0.f032b1a6481a7caf.731fed93d648c1af
+    32bdaca0bcc6887b.393ece27f135453e.7ea87c73716d1be8.ce7b15ec7193b80e
+    7ad92fdd301c52aa.e3bce71e144607ca.0765830465cb3245.bc7b29dee075c715
+    18eba6563ef9acf1
+  after
+    7d3e166c42bb3a1e.cc535e3b739b28f5.ffb724334d4318ee.d09b35e9f28727cc
+    32bdaca0bcc6887b.393ece27f135453e.7ea87c73716d1be8.ce7b15ec7193b80e
+    32bdaca0bcc6887b.393ece27f135453e.7ea87c73716d1be8.ce7b15ec7193b80e
+    7ad92fdd301c52aa.e3bce71e144607ca.0765830465cb3245.bc7b29dee075c715
+    18eba6563ef9acf1
+VMOVAPD_EtoG_256(mem)
+  before
+    c0960640a82b21ce.86ef27c0980e2dbf.a950e652f4403c81.e6b4c1c7c0bdfd71
+    8f4ac7893918e2d7.b34991b791275665.69c647aeae2ea08e.77e332271dd1b819
+    60d1651b0ecbad39.5b34672db6f40848.fdea871e5d1cef1e.153cd39018929ee8
+    11f85ae442513c20.dbfca78ea4ff8116.4388218e1e17e45d.1e0c9e6e4e8dec8b
+    ed9f912d5b4ddeae
+  after
+    c0960640a82b21ce.86ef27c0980e2dbf.a950e652f4403c81.e6b4c1c7c0bdfd71
+    8f4ac7893918e2d7.b34991b791275665.69c647aeae2ea08e.77e332271dd1b819
+    60d1651b0ecbad39.5b34672db6f40848.fdea871e5d1cef1e.153cd39018929ee8
+    c0960640a82b21ce.86ef27c0980e2dbf.a950e652f4403c81.e6b4c1c7c0bdfd71
+    ed9f912d5b4ddeae
+
+VMOVAPD_EtoG_128(reg)
+  before
+    dd41a739d95eaffc.7c8b24cff2b54cb7.8fed4c46f6d6fb78.156b91ea0d2a3c76
+    4c3ddcfe674c9c21.7f563ec83903982b.d35352c24805b21d.5160531f4462b396
+    94e12de89ea4e1cb.f42424bb3347dea7.0379b66c3716e4af.d134e317e2c904e9
+    137795641df2baa4.b9c35294fd8ed858.7bad72b15f98cbda.73b1bec0016dec9a
+    11a45f04bd5a27d6
+  after
+    dd41a739d95eaffc.7c8b24cff2b54cb7.8fed4c46f6d6fb78.156b91ea0d2a3c76
+    0000000000000000.0000000000000000.0379b66c3716e4af.d134e317e2c904e9
+    94e12de89ea4e1cb.f42424bb3347dea7.0379b66c3716e4af.d134e317e2c904e9
+    137795641df2baa4.b9c35294fd8ed858.7bad72b15f98cbda.73b1bec0016dec9a
+    11a45f04bd5a27d6
+VMOVAPD_EtoG_128(mem)
+  before
+    88d842d1329b71c8.234c10dc7dc06258.a8fd453fb3e34269.973984fe5b14a44c
+    b51be4127e3c859d.22ac9abe5d9c1694.9e9f77a87053da07.b36ae7bdc718abae
+    7237bfb3ba492080.6ae32f7556111204.777566bb50e85a5e.2b8c975c402f1baf
+    9cf9519f04cffe9e.593ccc6c06ac9153.104b8e6570b17f99.5bea914662e531f9
+    9fd2d0e7c7c72938
+  after
+    88d842d1329b71c8.234c10dc7dc06258.a8fd453fb3e34269.973984fe5b14a44c
+    b51be4127e3c859d.22ac9abe5d9c1694.9e9f77a87053da07.b36ae7bdc718abae
+    7237bfb3ba492080.6ae32f7556111204.777566bb50e85a5e.2b8c975c402f1baf
+    0000000000000000.0000000000000000.a8fd453fb3e34269.973984fe5b14a44c
+    9fd2d0e7c7c72938
+
+VMOVAPD_EtoG_128(reg)
+  before
+    538e50aa0e603e19.0f2e15c578d9da23.49056c1109f8d02e.43ec6990ebb704e5
+    d36c0dfed13dae48.a89f870e3174713a.97880bcffa810b40.ed26752ade08a76d
+    7ab6034cace9b370.411b24674bab7f10.a012a51275d47e36.eac32d1e64af225e
+    a6b92f013cf0893e.b76d66bce38ac0d0.beef3747177c64bc.17910d579ab932e4
+    4e5a91c39b31922a
+  after
+    538e50aa0e603e19.0f2e15c578d9da23.49056c1109f8d02e.43ec6990ebb704e5
+    0000000000000000.0000000000000000.a012a51275d47e36.eac32d1e64af225e
+    7ab6034cace9b370.411b24674bab7f10.a012a51275d47e36.eac32d1e64af225e
+    a6b92f013cf0893e.b76d66bce38ac0d0.beef3747177c64bc.17910d579ab932e4
+    4e5a91c39b31922a
+VMOVAPD_EtoG_128(mem)
+  before
+    6cea354d8423ff5d.b2c18c891cde6e5e.e660cbfa151eefa7.4e6bbbd87c05fa7d
+    4d0f76e1709b35a8.f9191651e8409c7b.aac2ce0bfc72c9c1.acd22f323ffc7c26
+    cd94cf6b7ca6f038.d90fc9c33ea15042.df5decddb4920a49.35708ec2fcec2562
+    c844bcd8c350eb39.adeda24db78ec55e.61fe9f5b5a8a6e6c.4390d5f2506233de
+    337ffe30d6e8df46
+  after
+    6cea354d8423ff5d.b2c18c891cde6e5e.e660cbfa151eefa7.4e6bbbd87c05fa7d
+    4d0f76e1709b35a8.f9191651e8409c7b.aac2ce0bfc72c9c1.acd22f323ffc7c26
+    cd94cf6b7ca6f038.d90fc9c33ea15042.df5decddb4920a49.35708ec2fcec2562
+    0000000000000000.0000000000000000.e660cbfa151eefa7.4e6bbbd87c05fa7d
+    337ffe30d6e8df46
+
+VMOVAPD_EtoG_128(reg)
+  before
+    618907e72b0c6845.1aecba1261a3e3d6.d0009b59f192397c.0c7165700967b055
+    29faeb83ea5a0888.9f58430673ad943c.a094b2558839e647.bc81b90ade358d31
+    e71ea76fb05dfcba.3354d5a11579ba96.77f5e2ac1710086d.4dfc1714f4fec02c
+    f741351918a18088.b1acebce62141011.b36f28ca3aa2dd97.9bacfc7a68d00771
+    825ee22855b71c2d
+  after
+    618907e72b0c6845.1aecba1261a3e3d6.d0009b59f192397c.0c7165700967b055
+    0000000000000000.0000000000000000.77f5e2ac1710086d.4dfc1714f4fec02c
+    e71ea76fb05dfcba.3354d5a11579ba96.77f5e2ac1710086d.4dfc1714f4fec02c
+    f741351918a18088.b1acebce62141011.b36f28ca3aa2dd97.9bacfc7a68d00771
+    825ee22855b71c2d
+VMOVAPD_EtoG_128(mem)
+  before
+    ddde470bd8bdbc8b.b5ae93edbfb2d09e.f72c0178768953d9.ae4d7e1b8e7b9f74
+    8af8a60d0cf0a2b8.7db2bc55401d27a7.e09f948d6ee43e19.c6dde20bae288bad
+    64787c1c0e5c8ce0.ab9aacbe386dc250.48d31ff865328ffe.55694f073734dcf1
+    472a4322f90b342e.9ab05f95422fdd44.0b921da5787e00b3.b93ec179c52bd0ea
+    4ca835cef39aa145
+  after
+    ddde470bd8bdbc8b.b5ae93edbfb2d09e.f72c0178768953d9.ae4d7e1b8e7b9f74
+    8af8a60d0cf0a2b8.7db2bc55401d27a7.e09f948d6ee43e19.c6dde20bae288bad
+    64787c1c0e5c8ce0.ab9aacbe386dc250.48d31ff865328ffe.55694f073734dcf1
+    0000000000000000.0000000000000000.f72c0178768953d9.ae4d7e1b8e7b9f74
+    4ca835cef39aa145
+
+VMOVUPD_GtoE_128(reg)
+  before
+    6bf3a5735d0c8bad.0ed9790de90b56ce.a840d244faedb330.04a90d80c3d44e65
+    726a0fd3a00dcccf.975299c7fb68b0ee.3098ff39fd3681c0.11e468756041343f
+    be5b6e59572a9e56.bd611f3e4b2cfcb8.8e03e4dee793839f.0d0eac716ed0706f
+    a910bf731eee3eef.5bd2885df465f758.1ecc7da15392f47a.d3f5535e068ebc1e
+    4163db294685d47b
+  after
+    6bf3a5735d0c8bad.0ed9790de90b56ce.a840d244faedb330.04a90d80c3d44e65
+    726a0fd3a00dcccf.975299c7fb68b0ee.3098ff39fd3681c0.11e468756041343f
+    0000000000000000.0000000000000000.1ecc7da15392f47a.d3f5535e068ebc1e
+    a910bf731eee3eef.5bd2885df465f758.1ecc7da15392f47a.d3f5535e068ebc1e
+    4163db294685d47b
+VMOVUPD_GtoE_128(mem)
+  before
+    3125c0bf4ac376af.90d6fc8c93e5e746.4f714e10121f5cfb.3b40c4edddbe12fc
+    81077c0b2d545ce9.cff923104f9cd706.730aef43c265e8cd.43abb72e22a417d2
+    0bd58df80c434353.c2c52f6bf09e48dc.a568e6e31f4357f9.915951d0bdcf3fa7
+    ad5b6e74029ce61a.c5861c0912777773.bf59afda46c565ac.80968e3f4bcbc829
+    6ead6ae76824ec01
+  after
+    3125c0bf4ac376af.90d6fc8c93e5e746.a568e6e31f4357f9.915951d0bdcf3fa7
+    81077c0b2d545ce9.cff923104f9cd706.730aef43c265e8cd.43abb72e22a417d2
+    0bd58df80c434353.c2c52f6bf09e48dc.a568e6e31f4357f9.915951d0bdcf3fa7
+    ad5b6e74029ce61a.c5861c0912777773.bf59afda46c565ac.80968e3f4bcbc829
+    6ead6ae76824ec01
+
+VMOVUPD_GtoE_128(reg)
+  before
+    b5ece235ae67e8de.41659b6a2b6b0369.3487e75750b49f78.9fa7c71552f8ce12
+    b39df093bc20f769.a5be90c6a4bd546d.6c158abf46e0fd97.1f1fa98160e74d56
+    c20d926f2bd95751.b333ca74899d9551.c77d03af9187cd7b.1d8dd0088b9f9fa4
+    4088c43399204240.4891c361f5188442.a1094d91cd364bd1.73bcbb98f02a7f2a
+    fe7ae31caa97ab11
+  after
+    b5ece235ae67e8de.41659b6a2b6b0369.3487e75750b49f78.9fa7c71552f8ce12
+    b39df093bc20f769.a5be90c6a4bd546d.6c158abf46e0fd97.1f1fa98160e74d56
+    0000000000000000.0000000000000000.a1094d91cd364bd1.73bcbb98f02a7f2a
+    4088c43399204240.4891c361f5188442.a1094d91cd364bd1.73bcbb98f02a7f2a
+    fe7ae31caa97ab11
+VMOVUPD_GtoE_128(mem)
+  before
+    9b91c680d6efdd88.875a804da280f4e3.41a2f9770438db6c.580665d39578b244
+    24cedeb08f40d1b9.f5cfc428e186abe5.7832e7a3d30c57fa.47bf45e085da3f81
+    76fea998f29545d0.e4328a30f3bda1f3.ca0f0ad27d9db319.ca82eb233ae72e34
+    6deaa3241afbf3fb.b1d1d1d173b113b8.1304ddee1ff9adf5.3d99520a4f2bbb08
+    fc517600613221aa
+  after
+    9b91c680d6efdd88.875a804da280f4e3.ca0f0ad27d9db319.ca82eb233ae72e34
+    24cedeb08f40d1b9.f5cfc428e186abe5.7832e7a3d30c57fa.47bf45e085da3f81
+    76fea998f29545d0.e4328a30f3bda1f3.ca0f0ad27d9db319.ca82eb233ae72e34
+    6deaa3241afbf3fb.b1d1d1d173b113b8.1304ddee1ff9adf5.3d99520a4f2bbb08
+    fc517600613221aa
+
+VMOVUPD_GtoE_128(reg)
+  before
+    63f753710b899dc5.e5614640237c9864.b8f69277fdef3ce1.2fdcdbe5d42bffb9
+    cdd5e6caeabb6b06.bb2e10d82a27ef37.56eeca8e2e025a1a.fb6482a2b9406691
+    98372a759955c618.c91c7cd94b05b6a1.e5057682a276a70e.51684e11e9439daa
+    1f6b1bdfb5e2eba9.ecf9062da024a7ce.c28691c0f4d8606a.0eb4b91e81406130
+    0e1441b59c446e4f
+  after
+    63f753710b899dc5.e5614640237c9864.b8f69277fdef3ce1.2fdcdbe5d42bffb9
+    cdd5e6caeabb6b06.bb2e10d82a27ef37.56eeca8e2e025a1a.fb6482a2b9406691
+    0000000000000000.0000000000000000.c28691c0f4d8606a.0eb4b91e81406130
+    1f6b1bdfb5e2eba9.ecf9062da024a7ce.c28691c0f4d8606a.0eb4b91e81406130
+    0e1441b59c446e4f
+VMOVUPD_GtoE_128(mem)
+  before
+    2d5361c257598032.bdbbb575d9ee1662.008f2ac2488f7fe9.49bf17b2c0b3c0d9
+    473f9531cd8e5205.d075f5a2a20583f2.e1ab65835d53f91f.d6fa04c6a3930408
+    38a259ef1aeca1f5.b3e3d5d1abb46d02.6b19325bfb7bd29b.c6845566380568a3
+    dc492ae65b81292e.c152537090871141.7aa40d383f13c68a.73aa05001c942855
+    3ab610ffeacd7fcb
+  after
+    2d5361c257598032.bdbbb575d9ee1662.6b19325bfb7bd29b.c6845566380568a3
+    473f9531cd8e5205.d075f5a2a20583f2.e1ab65835d53f91f.d6fa04c6a3930408
+    38a259ef1aeca1f5.b3e3d5d1abb46d02.6b19325bfb7bd29b.c6845566380568a3
+    dc492ae65b81292e.c152537090871141.7aa40d383f13c68a.73aa05001c942855
+    3ab610ffeacd7fcb
+
+VMOVSS_XMM_M32(reg)
+  before
+    77f472cf3f3aaab0.0f008304ac59a6db.580e6aeaee08aa59.ea1a720544289117
+    86b228dcb66ae5b1.ac93e033287ed329.d26217ab61c576f7.9645ddae27c5ee70
+    c33a2c92ece66c7a.91cdbd61ebfe6d44.8d9c541f8449afc6.5cf2cb2003f69abe
+    8ada7c5d7c3c7ab6.997c977912e52f57.e3061fb2f3219273.17edb745f5c85130
+    a3021d0a1846cff0
+  after
+    77f472cf3f3aaab0.0f008304ac59a6db.580e6aeaee08aa59.ea1a720544289117
+    86b228dcb66ae5b1.ac93e033287ed329.d26217ab61c576f7.9645ddae27c5ee70
+    c33a2c92ece66c7a.91cdbd61ebfe6d44.8d9c541f8449afc6.5cf2cb2003f69abe
+    8ada7c5d7c3c7ab6.997c977912e52f57.e3061fb2f3219273.17edb745f5c85130
+    a3021d0a1846cff0
+VMOVSS_XMM_M32(mem)
+  before
+    dcfd795c887ccf2a.36dc13a903f74c12.a06ae867b93dd78f.31ee73d04bd85ba9
+    9daa482562770e0b.258deee31ca31d39.82642e17fa141f17.d49e4ce627fa4515
+    c4d40453c24248bf.b239077563cd2bd8.1a36e475f476c41c.2663a75e24148d63
+    2c482bd1c3e93871.392b5ccd7500b09b.46ac876dc16d81ca.84887fa6ddb16f3e
+    4b5bcf28ef5d2653
+  after
+    dcfd795c887ccf2a.36dc13a903f74c12.a06ae867b93dd78f.31ee73d027fa4515
+    9daa482562770e0b.258deee31ca31d39.82642e17fa141f17.d49e4ce627fa4515
+    c4d40453c24248bf.b239077563cd2bd8.1a36e475f476c41c.2663a75e24148d63
+    2c482bd1c3e93871.392b5ccd7500b09b.46ac876dc16d81ca.84887fa6ddb16f3e
+    4b5bcf28ef5d2653
+
+VMOVSS_XMM_M32(reg)
+  before
+    d5269652f5a5ef4e.b0d2398a81799b4e.16b1e856eec9e92d.e19291eb7d07144c
+    7f37cd8f8c1406da.2e3ea86c19fd2d82.a415a77b69b3113b.c6b380dc445037ce
+    a5d8714b4f36a7a3.8058f662a782aa38.41a496aa824a6570.d3ddcf2a3453a67e
+    a4567ff2db980d56.84ec9d584612cd9d.48aaaf4ed61b2179.e2dafac3661c1f86
+    d1777e91f8b75c12
+  after
+    d5269652f5a5ef4e.b0d2398a81799b4e.16b1e856eec9e92d.e19291eb7d07144c
+    7f37cd8f8c1406da.2e3ea86c19fd2d82.a415a77b69b3113b.c6b380dc445037ce
+    a5d8714b4f36a7a3.8058f662a782aa38.41a496aa824a6570.d3ddcf2a3453a67e
+    a4567ff2db980d56.84ec9d584612cd9d.48aaaf4ed61b2179.e2dafac3661c1f86
+    d1777e91f8b75c12
+VMOVSS_XMM_M32(mem)
+  before
+    7a80d68206311a4f.d6fdf2f0cbc5759f.14c51b3b12bb53dc.1473f0d300b08101
+    bbc17d81ab951469.9818c6b1bb4a1b2a.0eb1ecf52889f822.034b54a59d98c1b6
+    6e05f27a04ef088b.46f5f8a148b13aa2.4c7a8a73a387779a.707ed831495c1c41
+    711aae592c4cb0e2.3cde822d0e8810b3.aced73a2a0c18d71.b65776e19e8acf51
+    33232c223aad158f
+  after
+    7a80d68206311a4f.d6fdf2f0cbc5759f.14c51b3b12bb53dc.1473f0d39d98c1b6
+    bbc17d81ab951469.9818c6b1bb4a1b2a.0eb1ecf52889f822.034b54a59d98c1b6
+    6e05f27a04ef088b.46f5f8a148b13aa2.4c7a8a73a387779a.707ed831495c1c41
+    711aae592c4cb0e2.3cde822d0e8810b3.aced73a2a0c18d71.b65776e19e8acf51
+    33232c223aad158f
+
+VMOVSS_XMM_M32(reg)
+  before
+    412ff561b9522baa.9eca2e0a3fb7c89a.d62062bfa85bd70a.08d6226c3a43f6d3
+    3ec5cd09b6044d4c.d2e2ef795a3d0ede.700793c5b2b5cb53.3e0013bf8e1a6eeb
+    8431b185ce4fb722.ea2e6c9398e93cda.66df12aac9222a3a.2839c286b751b0e6
+    70c19b439cc0a5d7.c07a214216c70fbb.14f4d9d9892e2e6a.a34bacadd2f579f0
+    8b034c20fa118534
+  after
+    412ff561b9522baa.9eca2e0a3fb7c89a.d62062bfa85bd70a.08d6226c3a43f6d3
+    3ec5cd09b6044d4c.d2e2ef795a3d0ede.700793c5b2b5cb53.3e0013bf8e1a6eeb
+    8431b185ce4fb722.ea2e6c9398e93cda.66df12aac9222a3a.2839c286b751b0e6
+    70c19b439cc0a5d7.c07a214216c70fbb.14f4d9d9892e2e6a.a34bacadd2f579f0
+    8b034c20fa118534
+VMOVSS_XMM_M32(mem)
+  before
+    bd2e1ecb4bb18fde.5fbf89aebde25218.31928b73f0e342ad.d592e6c08c66138f
+    13959e9ae2e1541b.ab797632cc41fb90.19412413404a93dc.070434ca71551756
+    6a074979dbae9017.b1395e3b656adbec.54546a0d2507bc73.0597bf63d188746b
+    9e4f99545123fffe.ce4c3e3525e830d8.bf98d84cb8277a9e.2b9784f74b896779
+    d5507df378e72c2d
+  after
+    bd2e1ecb4bb18fde.5fbf89aebde25218.31928b73f0e342ad.d592e6c071551756
+    13959e9ae2e1541b.ab797632cc41fb90.19412413404a93dc.070434ca71551756
+    6a074979dbae9017.b1395e3b656adbec.54546a0d2507bc73.0597bf63d188746b
+    9e4f99545123fffe.ce4c3e3525e830d8.bf98d84cb8277a9e.2b9784f74b896779
+    d5507df378e72c2d
+
+VMOVSD_XMM_M64(reg)
+  before
+    5e0ea8c1f72bfe33.8b380c18604d5cfb.5cfe118da84734ff.34d7ebbe18b5888b
+    241d00ce61e31a36.0d901daf2537643a.b89bd3ad8914230e.90dd1d4e5ebda363
+    82c88187549abce3.00214907bcedd3e8.3e6e800264da3bb0.af78ece8a84c8755
+    d35d28566cdd20e5.40b80a0b3f7c6531.4ac514f9d625b692.6d73d379126df08b
+    a6994eebb72c9931
+  after
+    5e0ea8c1f72bfe33.8b380c18604d5cfb.5cfe118da84734ff.34d7ebbe18b5888b
+    241d00ce61e31a36.0d901daf2537643a.b89bd3ad8914230e.90dd1d4e5ebda363
+    82c88187549abce3.00214907bcedd3e8.3e6e800264da3bb0.af78ece8a84c8755
+    d35d28566cdd20e5.40b80a0b3f7c6531.4ac514f9d625b692.6d73d379126df08b
+    a6994eebb72c9931
+VMOVSD_XMM_M64(mem)
+  before
+    36b7d92bb4953f75.7526efa9443781e9.a921dea6cdefd541.38ea8cfd7a82d160
+    f99af12624b59e80.c270d4eb79341c9a.172740c67f52e043.642ae379ed7cc8c5
+    cb0b11c623987281.1887d388a6612da6.6698ac5674b24163.2ad115dbcaa0d66e
+    88d9b5f9ce4876a2.d1b6e6ec6748efb6.723e9f42c51ab6ce.e62b1e8eae783806
+    f483fafe34922a3a
+  after
+    36b7d92bb4953f75.7526efa9443781e9.a921dea6cdefd541.642ae379ed7cc8c5
+    f99af12624b59e80.c270d4eb79341c9a.172740c67f52e043.642ae379ed7cc8c5
+    cb0b11c623987281.1887d388a6612da6.6698ac5674b24163.2ad115dbcaa0d66e
+    88d9b5f9ce4876a2.d1b6e6ec6748efb6.723e9f42c51ab6ce.e62b1e8eae783806
+    f483fafe34922a3a
+
+VMOVSD_XMM_M64(reg)
+  before
+    b027a697f97ae7b6.0bcf59a941d3670f.4b4b0a8359789f78.17e693779196f9b0
+    76611dc598bbac25.32b87ac4964500f5.e0903cb9177a7998.315c06dff133c734
+    a27e5bf5aee1b534.d8629235eca8ff80.eed277fa3edcb9c2.9b6c736703fcdb87
+    90ca5c91d6783e8e.d9971fe85d0a1edb.cf5db8b36a2a9aa1.33e256fce3fdf3d5
+    d48a2c88ac43c949
+  after
+    b027a697f97ae7b6.0bcf59a941d3670f.4b4b0a8359789f78.17e693779196f9b0
+    76611dc598bbac25.32b87ac4964500f5.e0903cb9177a7998.315c06dff133c734
+    a27e5bf5aee1b534.d8629235eca8ff80.eed277fa3edcb9c2.9b6c736703fcdb87
+    90ca5c91d6783e8e.d9971fe85d0a1edb.cf5db8b36a2a9aa1.33e256fce3fdf3d5
+    d48a2c88ac43c949
+VMOVSD_XMM_M64(mem)
+  before
+    5a2f70f97bd91910.9c911d07ac0d82e0.10249cc905771a33.e07df94e35ee59e2
+    a09e9e3a6bcba155.221f99c1cd2bbfd6.5bd586c501f9aeb4.7e7e38393eb63230
+    84a3323698261b45.7dbfcc2dd55f2e1b.957557c66c9f9889.03ac70de1e0e6038
+    e00aa8db1ff5440c.0bbeb2b65f340e5c.99d28db9637292df.cc529dab748020a5
+    36bdbb0bd99aae24
+  after
+    5a2f70f97bd91910.9c911d07ac0d82e0.10249cc905771a33.7e7e38393eb63230
+    a09e9e3a6bcba155.221f99c1cd2bbfd6.5bd586c501f9aeb4.7e7e38393eb63230
+    84a3323698261b45.7dbfcc2dd55f2e1b.957557c66c9f9889.03ac70de1e0e6038
+    e00aa8db1ff5440c.0bbeb2b65f340e5c.99d28db9637292df.cc529dab748020a5
+    36bdbb0bd99aae24
+
+VMOVSD_XMM_M64(reg)
+  before
+    9b3ac76aebe84661.929f7d141b44d7d5.276947c807369944.45b6a38b018058e1
+    5813bb3446f42307.752e2ccea92091cc.2d0a88cf6af10c80.73ee152662d4a8bc
+    c99495d5854d82c3.648231f3e5942e1f.78ee703723f2a3bb.01476078a47a3c9b
+    4a0b51b9457c9f40.3d690870eaac6af7.6660fb6ccfc599a2.c98afe6ce07fd1ab
+    a9866ded34ee2218
+  after
+    9b3ac76aebe84661.929f7d141b44d7d5.276947c807369944.45b6a38b018058e1
+    5813bb3446f42307.752e2ccea92091cc.2d0a88cf6af10c80.73ee152662d4a8bc
+    c99495d5854d82c3.648231f3e5942e1f.78ee703723f2a3bb.01476078a47a3c9b
+    4a0b51b9457c9f40.3d690870eaac6af7.6660fb6ccfc599a2.c98afe6ce07fd1ab
+    a9866ded34ee2218
+VMOVSD_XMM_M64(mem)
+  before
+    7b0628e9bcd4ed0d.37c3e94c210fb62b.daad2e31d4750183.51ae25da09f42be1
+    1dd5ac4b933becb7.ec075bfbb5910230.181b1d23c0faaeed.9722ebed6e0d9523
+    69c07300d531db42.c524a1309e8ec0fa.d47f5330c9482e62.920a4812999b1315
+    3c94fbf29fc278d9.1e66ba5978932b36.e8a44b460b6a3c0d.a0b038b3272be063
+    1b61b73eb34839b8
+  after
+    7b0628e9bcd4ed0d.37c3e94c210fb62b.daad2e31d4750183.9722ebed6e0d9523
+    1dd5ac4b933becb7.ec075bfbb5910230.181b1d23c0faaeed.9722ebed6e0d9523
+    69c07300d531db42.c524a1309e8ec0fa.d47f5330c9482e62.920a4812999b1315
+    3c94fbf29fc278d9.1e66ba5978932b36.e8a44b460b6a3c0d.a0b038b3272be063
+    1b61b73eb34839b8
+
+VMOVSS_M64_XMM(reg)
+  before
+    6169c11eda7e5ac1.731bbf0e0df97da8.53199fe0de2b818f.31588250a46c961b
+    cc1353be375a7e29.e8213b4139e2a7dd.c0894d336ce3fcb2.8c65723aad5af6b7
+    b9ad688c6767e29d.7874ec754289b1a2.c101c1bdbf45d94b.d39899f04441180e
+    8581fcf30531c2c8.ffdf4c9842fb5923.b2cff6ea72e05305.e3be725e852cba4c
+    98a079708b28969c
+  after
+    6169c11eda7e5ac1.731bbf0e0df97da8.53199fe0de2b818f.31588250a46c961b
+    cc1353be375a7e29.e8213b4139e2a7dd.c0894d336ce3fcb2.8c65723aad5af6b7
+    b9ad688c6767e29d.7874ec754289b1a2.c101c1bdbf45d94b.d39899f04441180e
+    8581fcf30531c2c8.ffdf4c9842fb5923.b2cff6ea72e05305.e3be725e852cba4c
+    98a079708b28969c
+VMOVSS_M64_XMM(mem)
+  before
+    ce0d2b127240692b.8adc0b5fad455a57.5a2dd9945544598d.ee3de826223da78d
+    62d003315780ee24.250a923dfc2ee5f6.632b0e57986e6e0c.d39894dd6aea118e
+    2eb47cb756f5e3b4.b3578bf78e78a050.f7a567cc268753cb.bc2cf47be772cdb5
+    0f8715918aa90207.8e0ff4fafeb0c712.f26761df1b9ac5f7.0545066d346216ad
+    092fc51dee442a23
+  after
+    ce0d2b127240692b.8adc0b5fad455a57.5a2dd9945544598d.ee3de826223da78d
+    0000000000000000.0000000000000000.0000000000000000.00000000223da78d
+    2eb47cb756f5e3b4.b3578bf78e78a050.f7a567cc268753cb.bc2cf47be772cdb5
+    0f8715918aa90207.8e0ff4fafeb0c712.f26761df1b9ac5f7.0545066d346216ad
+    092fc51dee442a23
+
+VMOVSS_M64_XMM(reg)
+  before
+    26352df9b0a742c3.e11347ac0fab0848.137dc8b3e86196e7.303d777c95b480bb
+    b7a43b6b16149d38.80258ff30204b0a4.9eef048ce917487c.8df2258fade04044
+    17c8eae1bd19752f.c8896a527ec2b746.8bafa2f39c5f1a7d.e554e704812ac0be
+    a4ed36c641410754.950a53b4a0f1d95b.360aa0539ec44795.142d39c82d9fbd54
+    f64a98c5cc4af333
+  after
+    26352df9b0a742c3.e11347ac0fab0848.137dc8b3e86196e7.303d777c95b480bb
+    b7a43b6b16149d38.80258ff30204b0a4.9eef048ce917487c.8df2258fade04044
+    17c8eae1bd19752f.c8896a527ec2b746.8bafa2f39c5f1a7d.e554e704812ac0be
+    a4ed36c641410754.950a53b4a0f1d95b.360aa0539ec44795.142d39c82d9fbd54
+    f64a98c5cc4af333
+VMOVSS_M64_XMM(mem)
+  before
+    67777fe97a371e86.b85f1b863d198f52.c376c607839bd20f.fb4cf9188ad20d71
+    43806a1e5473f97a.b16a958d4d2c48d6.2e97403744ce5d8d.36c1a9adfd16a6bc
+    6530d5527609413a.e95aa1470e06708b.b13a3c2efe953702.43b4ad80921b4f23
+    ab553c70fb05b1f4.be7a39201c34401e.2a2b35d9cefd1c99.7e7300fde66e4352
+    43489e8e949abff4
+  after
+    67777fe97a371e86.b85f1b863d198f52.c376c607839bd20f.fb4cf9188ad20d71
+    0000000000000000.0000000000000000.0000000000000000.000000008ad20d71
+    6530d5527609413a.e95aa1470e06708b.b13a3c2efe953702.43b4ad80921b4f23
+    ab553c70fb05b1f4.be7a39201c34401e.2a2b35d9cefd1c99.7e7300fde66e4352
+    43489e8e949abff4
+
+VMOVSS_M64_XMM(reg)
+  before
+    ee8083a0392bffb6.f0b91c64ff7407d1.8a175b841241f73a.7436aa24cf11c87f
+    db67aba070ad3f43.1029f01a9f61fd00.aa7d03df8cb9cf8c.6b2714fc1edef6e0
+    664913f8d5adba48.e671347ef6d850ab.7bf82b9e272905c0.eacaf04bd66e63e7
+    ea72b51605b6ad71.505d657c21e6bbfe.57d4d12b7e1cd581.cfeabbff13cfcbc1
+    f554f003f20de999
+  after
+    ee8083a0392bffb6.f0b91c64ff7407d1.8a175b841241f73a.7436aa24cf11c87f
+    db67aba070ad3f43.1029f01a9f61fd00.aa7d03df8cb9cf8c.6b2714fc1edef6e0
+    664913f8d5adba48.e671347ef6d850ab.7bf82b9e272905c0.eacaf04bd66e63e7
+    ea72b51605b6ad71.505d657c21e6bbfe.57d4d12b7e1cd581.cfeabbff13cfcbc1
+    f554f003f20de999
+VMOVSS_M64_XMM(mem)
+  before
+    37d40b438f327a9c.c52d8f649c555469.29b9fd003b96fc26.9b5df0f42e1e7b7c
+    733689aa054c3af5.52c89d503515ebdd.4c507af761f4cd4f.a4de8464d2bc325d
+    8446e4267067e5d1.ed8dd9456c82ad78.97f0574bae0deaa4.cca489e7078137cf
+    45d09aa3ed8e365c.f1c941afde28d7e7.e46310ea3fec1152.70fbfce968f9c57e
+    ec2fd7d692b11a17
+  after
+    37d40b438f327a9c.c52d8f649c555469.29b9fd003b96fc26.9b5df0f42e1e7b7c
+    0000000000000000.0000000000000000.0000000000000000.000000002e1e7b7c
+    8446e4267067e5d1.ed8dd9456c82ad78.97f0574bae0deaa4.cca489e7078137cf
+    45d09aa3ed8e365c.f1c941afde28d7e7.e46310ea3fec1152.70fbfce968f9c57e
+    ec2fd7d692b11a17
+
+VMOVSD_M64_XMM(reg)
+  before
+    9c8c181a20347046.949f260b97cdeac1.bcc8d0fa2694a5d5.117622be2f9dfc85
+    dc5ebb21ae0e03b7.4b81044b8b30bd2d.a9d68292e15152ef.f8f507b59a2d6868
+    08f0ba57d9cc1115.4740b150e4c46acc.133e53e3aaec1be1.77ac3dba9da71027
+    7c9013293df9d40c.65a9a804bf94aec9.584e3f5a1ef03c56.68663fb95418b2f0
+    a9f18a9eda8a08ed
+  after
+    9c8c181a20347046.949f260b97cdeac1.bcc8d0fa2694a5d5.117622be2f9dfc85
+    dc5ebb21ae0e03b7.4b81044b8b30bd2d.a9d68292e15152ef.f8f507b59a2d6868
+    08f0ba57d9cc1115.4740b150e4c46acc.133e53e3aaec1be1.77ac3dba9da71027
+    7c9013293df9d40c.65a9a804bf94aec9.584e3f5a1ef03c56.68663fb95418b2f0
+    a9f18a9eda8a08ed
+VMOVSD_M64_XMM(mem)
+  before
+    141798554b0cce4a.9488c10175228949.7f88655537ad4550.d2504361d8e9f1fb
+    86a5e7cac4a7c234.ac25c04d1dd16c78.73a8642d6919eb8f.df915a667564757c
+    dc67f2ea61699ed7.20b30c77d294b845.1bd7217a70e65bb0.d95d80d390ec0584
+    f029359f3d5d1f5e.4c7ea1ed2ff7aa5b.54df1927692052df.1e00b216c60dddc0
+    08c6ea9ab25438db
+  after
+    141798554b0cce4a.9488c10175228949.7f88655537ad4550.d2504361d8e9f1fb
+    0000000000000000.0000000000000000.0000000000000000.d2504361d8e9f1fb
+    dc67f2ea61699ed7.20b30c77d294b845.1bd7217a70e65bb0.d95d80d390ec0584
+    f029359f3d5d1f5e.4c7ea1ed2ff7aa5b.54df1927692052df.1e00b216c60dddc0
+    08c6ea9ab25438db
+
+VMOVSD_M64_XMM(reg)
+  before
+    f4fa26cbf14c5382.9fb72cd7749000f6.8cd17c1ad1857e66.fa8ec7206fd28c49
+    3fe961151e816a60.c5dc547c230dffca.3cfa986a54ca6f13.eaaea7519f08c41a
+    43e098e4d580b922.3f65287c65e0d607.b843f1495252bb0e.fe0c35a614cfb77d
+    5d29c5a4b3d47b74.e71f24c2571542d9.5cf984236aaa9c02.1373ed0bea31219f
+    05b14c6d3e3dbeab
+  after
+    f4fa26cbf14c5382.9fb72cd7749000f6.8cd17c1ad1857e66.fa8ec7206fd28c49
+    3fe961151e816a60.c5dc547c230dffca.3cfa986a54ca6f13.eaaea7519f08c41a
+    43e098e4d580b922.3f65287c65e0d607.b843f1495252bb0e.fe0c35a614cfb77d
+    5d29c5a4b3d47b74.e71f24c2571542d9.5cf984236aaa9c02.1373ed0bea31219f
+    05b14c6d3e3dbeab
+VMOVSD_M64_XMM(mem)
+  before
+    b090cdb62cfc49ce.e910e6c15409ed01.9ad4c43a14b9fe6b.83684b64355d4e9c
+    f0deecd4ce7c7f34.44e3f6a852ac4b76.345185d0b9d7c7ea.8bdc447951f80f88
+    a16525b143c81c08.c8edf1c34c48d07e.9161e270617c5981.cfa06acc5a061971
+    9ff2f53ba5eddc77.d279d380dc69b9c6.8dd2570628b3705d.aa02bacaeb13a904
+    7a4c2ee0a1acfaec
+  after
+    b090cdb62cfc49ce.e910e6c15409ed01.9ad4c43a14b9fe6b.83684b64355d4e9c
+    0000000000000000.0000000000000000.0000000000000000.83684b64355d4e9c
+    a16525b143c81c08.c8edf1c34c48d07e.9161e270617c5981.cfa06acc5a061971
+    9ff2f53ba5eddc77.d279d380dc69b9c6.8dd2570628b3705d.aa02bacaeb13a904
+    7a4c2ee0a1acfaec
+
+VMOVSD_M64_XMM(reg)
+  before
+    9acbc479175c4ad6.c651d75d10f67aac.bed499499e9c42fa.046e607e2b88c7aa
+    65cb7701e9afd36d.f24d4703a1efb3d4.e84a3e8c2f6ca7c5.d20279c486081b93
+    399843e3b431d15e.ffb4c11973e5421b.ac27beb42a6523d4.d35b1fc5543e2845
+    707e248d146f8255.c950c18ba3e3e5ac.66b7152d2c14f3d2.e342cd6bb236aaeb
+    de86ffa4bafd5cb2
+  after
+    9acbc479175c4ad6.c651d75d10f67aac.bed499499e9c42fa.046e607e2b88c7aa
+    65cb7701e9afd36d.f24d4703a1efb3d4.e84a3e8c2f6ca7c5.d20279c486081b93
+    399843e3b431d15e.ffb4c11973e5421b.ac27beb42a6523d4.d35b1fc5543e2845
+    707e248d146f8255.c950c18ba3e3e5ac.66b7152d2c14f3d2.e342cd6bb236aaeb
+    de86ffa4bafd5cb2
+VMOVSD_M64_XMM(mem)
+  before
+    9ff2315b8b9efbc6.68c8176ba4f520fd.2ceec4454cf556b4.72464063d004536c
+    0451df7b3f254252.7bc417e7004de803.045a45338b28525e.2c1f39c2b3c27f4e
+    e87186f2f29fef83.06bc206ec5051513.2d60c0417b8794d7.f08ffeb670d8b223
+    271ca1abc117bc84.66fd2e6c8ea8e5d8.82ccb15c381eda4a.1ae38aaba3d52998
+    0665da0eea422058
+  after
+    9ff2315b8b9efbc6.68c8176ba4f520fd.2ceec4454cf556b4.72464063d004536c
+    0000000000000000.0000000000000000.0000000000000000.72464063d004536c
+    e87186f2f29fef83.06bc206ec5051513.2d60c0417b8794d7.f08ffeb670d8b223
+    271ca1abc117bc84.66fd2e6c8ea8e5d8.82ccb15c381eda4a.1ae38aaba3d52998
+    0665da0eea422058
+
+VINSERTPS_0x39_128(reg)
+  before
+    0f61e849deadd210.9c1fac92c7996682.f5d33d4ef8c392fe.e16a956edffadde4
+    9325b2ca1da17c6c.254623942132a8a8.108a4a7e9fe15833.2505e6658c265cd1
+    edfc33fc43ab5a17.9d5c839beaed4023.146d506a1d8e7521.296a222c5aae123d
+    7931674aeb55a7be.df2f47943fd6e81f.5bca4b7d10572374.cb65c5af659fba52
+    e6c249daca04113f
+  after
+    0000000000000000.0000000000000000.000000009fe15833.2505e66500000000
+    9325b2ca1da17c6c.254623942132a8a8.108a4a7e9fe15833.2505e6658c265cd1
+    edfc33fc43ab5a17.9d5c839beaed4023.146d506a1d8e7521.296a222c5aae123d
+    7931674aeb55a7be.df2f47943fd6e81f.5bca4b7d10572374.cb65c5af659fba52
+    e6c249daca04113f
+VINSERTPS_0x39_128(mem)
+  before
+    554d2c99a5e9d22e.92114b22b12ea10c.c989eb6c3bfa5cc7.42eb372214c79fd9
+    f6d2e8d8115bba4c.96e8d9ef32bf82ae.3637eb0dfb645a48.251d11c7c46b24fc
+    a31cfc832a6585c4.e0020f1d0996864f.0106c3659a209cce.60acd4d7bdcdf088
+    3af9e1860d14efc3.cbabe818d33eeb9c.08bff05f353bdf84.50e47cbe9a7b3d2a
+    4f1105e9f801488d
+  after
+    554d2c99a5e9d22e.92114b22b12ea10c.c989eb6c3bfa5cc7.42eb372214c79fd9
+    f6d2e8d8115bba4c.96e8d9ef32bf82ae.3637eb0dfb645a48.251d11c7c46b24fc
+    0000000000000000.0000000000000000.3637eb0d00000000.0000000014c79fd9
+    3af9e1860d14efc3.cbabe818d33eeb9c.08bff05f353bdf84.50e47cbe9a7b3d2a
+    4f1105e9f801488d
+
+VINSERTPS_0x39_128(reg)
+  before
+    ba7e6bc272e94c5e.953314ced573b474.b52f614d2b44eb41.2531ede7e7c0de97
+    ed79abb6a4c28649.919712459f8e8f04.f8d97426ae33c3e9.352736e9ccbc5732
+    444cc0322b1532f9.0bf156d986713d9f.f2f61f10f797ae41.156c4751013a0482
+    1b44a6a0a3708c1b.dd0c5c74a7297970.fdd25d78a3fdeaf5.9fce9d0ba246a1b2
+    b017b303c9ececef
+  after
+    0000000000000000.0000000000000000.00000000ae33c3e9.352736e900000000
+    ed79abb6a4c28649.919712459f8e8f04.f8d97426ae33c3e9.352736e9ccbc5732
+    444cc0322b1532f9.0bf156d986713d9f.f2f61f10f797ae41.156c4751013a0482
+    1b44a6a0a3708c1b.dd0c5c74a7297970.fdd25d78a3fdeaf5.9fce9d0ba246a1b2
+    b017b303c9ececef
+VINSERTPS_0x39_128(mem)
+  before
+    2514052595399f65.cead596ea65ecf5a.e4b6a0041dc100a4.77b92ac94df0b1b0
+    d8900f5e2038773f.b9d2d607d36b3863.fdb99f7405468f67.baf7826e92fc3f1f
+    a6594d9886f62faa.370117d7c42403e2.02e3d4b07ac2dfe4.24d862d50daed2ed
+    6b3a3cc1e47e85d1.a6841a4a15146c82.d0febba49844af47.0fa7c5695a91a4c7
+    d8b2a7961731f258
+  after
+    2514052595399f65.cead596ea65ecf5a.e4b6a0041dc100a4.77b92ac94df0b1b0
+    d8900f5e2038773f.b9d2d607d36b3863.fdb99f7405468f67.baf7826e92fc3f1f
+    0000000000000000.0000000000000000.fdb99f7400000000.000000004df0b1b0
+    6b3a3cc1e47e85d1.a6841a4a15146c82.d0febba49844af47.0fa7c5695a91a4c7
+    d8b2a7961731f258
+
+VINSERTPS_0x39_128(reg)
+  before
+    dc4304c8dd1bf74d.04fe57c355dc33e1.61a9dacc63c8aeef.43d7d03c7cd5b9be
+    75a7d96b4adaf152.4b721a8cf61cf606.c4ba54c949cb06d7.383990644283ba72
+    002a20ecf9fa1a12.1d620107e24b896b.2b0482ad64a9b0e4.89f2750905596d92
+    d917d7b58708af3a.569a89203675a93d.f1d262e44feee7c2.13ccfd15e1649048
+    b295a376f3afddc0
+  after
+    0000000000000000.0000000000000000.0000000049cb06d7.3839906400000000
+    75a7d96b4adaf152.4b721a8cf61cf606.c4ba54c949cb06d7.383990644283ba72
+    002a20ecf9fa1a12.1d620107e24b896b.2b0482ad64a9b0e4.89f2750905596d92
+    d917d7b58708af3a.569a89203675a93d.f1d262e44feee7c2.13ccfd15e1649048
+    b295a376f3afddc0
+VINSERTPS_0x39_128(mem)
+  before
+    4217e41657461128.5dbcfa33908feb75.d2e62cc30da412a7.7472efdba727e81e
+    9f1f3ae32736e7a9.e66383d3af1b0b70.6d1168dc84e680d6.0f2f26fc07dfefa4
+    a57923c8828a1c72.d15a700080394bd7.03e9b958b646aef6.1d5401b50ba337ff
+    30f01ab1814e6cad.7aebbb25a074e755.70389921bfd15932.fc2e7e7150fefedc
+    0609989b727c7ee7
+  after
+    4217e41657461128.5dbcfa33908feb75.d2e62cc30da412a7.7472efdba727e81e
+    9f1f3ae32736e7a9.e66383d3af1b0b70.6d1168dc84e680d6.0f2f26fc07dfefa4
+    0000000000000000.0000000000000000.6d1168dc00000000.00000000a727e81e
+    30f01ab1814e6cad.7aebbb25a074e755.70389921bfd15932.fc2e7e7150fefedc
+    0609989b727c7ee7
+
+VPUNPCKLDQ_128(reg)
+  before
+    99314ba10caaf3cb.1c529b8a438f9386.3d6362b0aa581a97.90cb8624bc923db7
+    0ff293eeba139b35.4569233fe1574c2a.760d610c3b722148.3f6efa4ec99516b0
+    c6976dee1943b0d0.86022cbc7ab554c5.8137b2a5ee4d3815.59ed738a01e79f4a
+    186ed40ec5c76f49.bde934ed27b26783.ba2b53e760769aaa.b9136dc3809395b1
+    3dae62e763a5b310
+  after
+    0000000000000000.0000000000000000.59ed738a3f6efa4e.01e79f4ac99516b0
+    0ff293eeba139b35.4569233fe1574c2a.760d610c3b722148.3f6efa4ec99516b0
+    c6976dee1943b0d0.86022cbc7ab554c5.8137b2a5ee4d3815.59ed738a01e79f4a
+    186ed40ec5c76f49.bde934ed27b26783.ba2b53e760769aaa.b9136dc3809395b1
+    3dae62e763a5b310
+VPUNPCKLDQ_128(mem)
+  before
+    c088d0e1c52ab794.63c1c4b8592a134b.c5eab6bf065c418f.7d373f3f2c7785b2
+    1e6e329dc32d5b68.01dd395971f8da83.7ad12f1c33bf9d15.26a57217eedf33da
+    332c040778ba5cb9.4f0e2f5eaabefe9d.b86a19f2c9e63842.10c2e8dc4337e0cd
+    da8ec20b01de75b3.aa9fa3319f07bc44.5a80f22be5ddce42.99da9efbc70dca38
+    1c388fde15ec2bc7
+  after
+    c088d0e1c52ab794.63c1c4b8592a134b.c5eab6bf065c418f.7d373f3f2c7785b2
+    1e6e329dc32d5b68.01dd395971f8da83.7ad12f1c33bf9d15.26a57217eedf33da
+    0000000000000000.0000000000000000.7d373f3f26a57217.2c7785b2eedf33da
+    da8ec20b01de75b3.aa9fa3319f07bc44.5a80f22be5ddce42.99da9efbc70dca38
+    1c388fde15ec2bc7
+
+VPUNPCKLDQ_128(reg)
+  before
+    f52ab7f3c9614025.f160e99679a46481.6cde9040ed5f4f25.3ee035b5a2b01a40
+    80fa12a580f644ff.526df492fd18e34f.f216f2f52f53f4eb.3f565e7b1c6cd969
+    18f69c60d63a7400.db835feca847ae4b.9892c5be026ee743.38aee969701cc7e9
+    1b68529066b60cd5.676ca691973c839f.bb9f0606013c64d9.07b4536bbacca0eb
+    8634176d14891f9b
+  after
+    0000000000000000.0000000000000000.38aee9693f565e7b.701cc7e91c6cd969
+    80fa12a580f644ff.526df492fd18e34f.f216f2f52f53f4eb.3f565e7b1c6cd969
+    18f69c60d63a7400.db835feca847ae4b.9892c5be026ee743.38aee969701cc7e9
+    1b68529066b60cd5.676ca691973c839f.bb9f0606013c64d9.07b4536bbacca0eb
+    8634176d14891f9b
+VPUNPCKLDQ_128(mem)
+  before
+    93f9b15b9d5e0127.e49c2fa1ccf84829.d1f5456ce5041c77.b589b039c84aa658
+    08d19d216f5702b9.cee02fffa58b64a9.f7eab968afa93600.e39cbfc3f423ea6d
+    c38658aca681dd7d.377f4e168cfc9b01.b3177d73103a8c66.a1232f1121536cc4
+    9ee55ce65fe74fa0.79c489521ed62adc.e2470d7824c0dcd4.4b6cfc8dea676708
+    3dc123a4ecea19e5
+  after
+    93f9b15b9d5e0127.e49c2fa1ccf84829.d1f5456ce5041c77.b589b039c84aa658
+    08d19d216f5702b9.cee02fffa58b64a9.f7eab968afa93600.e39cbfc3f423ea6d
+    0000000000000000.0000000000000000.b589b039e39cbfc3.c84aa658f423ea6d
+    9ee55ce65fe74fa0.79c489521ed62adc.e2470d7824c0dcd4.4b6cfc8dea676708
+    3dc123a4ecea19e5
+
+VPUNPCKLDQ_128(reg)
+  before
+    d36f9fc3c268bc08.76ba27bdb596144e.f2fdda20f6a54ce7.6148e5630849e077
+    69c36c54086e8c1d.28d0341bc599e8b2.fc743feab1f63ece.0ae48220d8e0547a
+    5b0686c55b87c7cf.8ef500eeaafc86f9.f576b41eea543c3c.bbe85f9caf91f60a
+    0587ea815640a7cb.85f3052180cbab4e.374e33273e4b82dd.4e20f8c1a9698053
+    a058c97ce373af80
+  after
+    0000000000000000.0000000000000000.bbe85f9c0ae48220.af91f60ad8e0547a
+    69c36c54086e8c1d.28d0341bc599e8b2.fc743feab1f63ece.0ae48220d8e0547a
+    5b0686c55b87c7cf.8ef500eeaafc86f9.f576b41eea543c3c.bbe85f9caf91f60a
+    0587ea815640a7cb.85f3052180cbab4e.374e33273e4b82dd.4e20f8c1a9698053
+    a058c97ce373af80
+VPUNPCKLDQ_128(mem)
+  before
+    8d5c4eba78bc3ebe.c39192f4962468bd.ea98c1a0641313de.204aba7048674c5f
+    f2f70465854feb39.f16f7c89b6bf4850.97aeaf5772df79d5.0ab54467a435d56c
+    a9f6666b2538701c.ea6ea4af539d8131.69024c32c53c9a5e.52dacd77ef415ab0
+    8f26f0b775848a93.0cda04cf084b500b.3c5f121d7a3532a6.5406510cc51516d8
+    6d85cc93c13f4790
+  after
+    8d5c4eba78bc3ebe.c39192f4962468bd.ea98c1a0641313de.204aba7048674c5f
+    f2f70465854feb39.f16f7c89b6bf4850.97aeaf5772df79d5.0ab54467a435d56c
+    0000000000000000.0000000000000000.204aba700ab54467.48674c5fa435d56c
+    8f26f0b775848a93.0cda04cf084b500b.3c5f121d7a3532a6.5406510cc51516d8
+    6d85cc93c13f4790
+
+VPACKSSDW_128(reg)
+  before
+    f7a33b767f4b2783.80511e35903df4cb.b2ff9a567254f18b.ec937f05abd6fdd9
+    4fac99229cc4f25e.58446dd193726bf0.382960b02c459f5d.55680ed4772cb622
+    d1ebe204b436e6cc.f3ca5777992cab2e.f9a4544ad3a9972c.53ac3b78f8411aad
+    d9ae1386622d3d7a.2db15a13bf7970b0.53bb728e020c15a5.c22982db4a24e5a7
+    7eac60eb8aded33c
+  after
+    0000000000000000.0000000000000000.7fff7fff80007fff.7fff7fff7fff7fff
+    4fac99229cc4f25e.58446dd193726bf0.382960b02c459f5d.55680ed4772cb622
+    d1ebe204b436e6cc.f3ca5777992cab2e.f9a4544ad3a9972c.53ac3b78f8411aad
+    d9ae1386622d3d7a.2db15a13bf7970b0.53bb728e020c15a5.c22982db4a24e5a7
+    7eac60eb8aded33c
+VPACKSSDW_128(mem)
+  before
+    63014f93d37d9f97.c43f261642363414.e2c3f191206475a2.a1bcb4ea56fa5573
+    4df3cdbf420d06e5.eceb191ff1dc0745.eece99ded8fa7731.3ef118c86a009243
+    1850565bf298c352.aefee70d0aabf1ba.2d9ccce404463289.88a79996daaa09c0
+    a0e26453002c9409.66c48c4b2a302f1e.7bfa0890c05462d6.d92a33bf4382f697
+    8fc5e2af41169474
+  after
+    63014f93d37d9f97.c43f261642363414.e2c3f191206475a2.a1bcb4ea56fa5573
+    4df3cdbf420d06e5.eceb191ff1dc0745.eece99ded8fa7731.3ef118c86a009243
+    0000000000000000.0000000000000000.80007fff80007fff.800080007fff7fff
+    a0e26453002c9409.66c48c4b2a302f1e.7bfa0890c05462d6.d92a33bf4382f697
+    8fc5e2af41169474
+
+VPACKSSDW_128(reg)
+  before
+    04c6a3d26ff12002.c176759387d43337.70880548ecf6fd1e.b4b3c8cf2731c242
+    9677719469a0d6ee.57d80407a49d5d07.28984c6ded8a9666.b495898c55e80ffc
+    9f264862ccaef2e4.3ed48d9c7292cda6.ea3e5f27c87637a1.566ac5b36785042e
+    7c1d24a633a7af8f.51368c3c0ebf4140.11c739e219481c7c.7800fa3079155f05
+    f521a3efa5a3daac
+  after
+    0000000000000000.0000000000000000.7fff7fff7fff7fff.7fff800080007fff
+    9677719469a0d6ee.57d80407a49d5d07.28984c6ded8a9666.b495898c55e80ffc
+    9f264862ccaef2e4.3ed48d9c7292cda6.ea3e5f27c87637a1.566ac5b36785042e
+    7c1d24a633a7af8f.51368c3c0ebf4140.11c739e219481c7c.7800fa3079155f05
+    f521a3efa5a3daac
+VPACKSSDW_128(mem)
+  before
+    a99a3cdc0a3b3250.8aa801cd3b184a9b.6eca7dd593317200.fb7fd70b7d8c81a2
+    6f3741e3c1ea221d.2315dc447f8cffb6.705bdd511df31f13.03b2330c90cda1c0
+    25c32ff0e9bb683e.a4afb0769c8f0989.32b6279ec91203a4.85ac4b53ed97ba82
+    a50c81f09bbbbee0.6ac179ce2daea5c3.92a7d7a7b398d9e0.ddb81a4a30760593
+    66249c5ff6f7c19f
+  after
+    a99a3cdc0a3b3250.8aa801cd3b184a9b.6eca7dd593317200.fb7fd70b7d8c81a2
+    6f3741e3c1ea221d.2315dc447f8cffb6.705bdd511df31f13.03b2330c90cda1c0
+    0000000000000000.0000000000000000.7fff800080007fff.7fff7fff7fff8000
+    a50c81f09bbbbee0.6ac179ce2daea5c3.92a7d7a7b398d9e0.ddb81a4a30760593
+    66249c5ff6f7c19f
+
+VPACKSSDW_128(reg)
+  before
+    7e3acefddba52854.cddcb3cdf6f4e02e.cf9933bacf740f0e.6bfa6a58f6935ef2
+    8047ab907a0d775c.7801417513748c55.3081dba51d6d8317.987b5a9dae0f4d07
+    c7972e846fbaea63.8145a7d210477c80.e9c66cfbb4263c89.f7f62562f817634b
+    b17555455738bc16.c67562d209786ddc.56b4e2282f2a7711.62364693efb75ce9
+    b7093a1cb0fbf40e
+  after
+    0000000000000000.0000000000000000.7fff7fff7fff8000.7fff7fff80008000
+    8047ab907a0d775c.7801417513748c55.3081dba51d6d8317.987b5a9dae0f4d07
+    c7972e846fbaea63.8145a7d210477c80.e9c66cfbb4263c89.f7f62562f817634b
+    b17555455738bc16.c67562d209786ddc.56b4e2282f2a7711.62364693efb75ce9
+    b7093a1cb0fbf40e
+VPACKSSDW_128(mem)
+  before
+    d0397bea57f0e7e6.992f1c3fcd142a21.215ced6019131a95.d39639982a06705a
+    8b9387e7fea1f09c.da107ddf6ed9702f.6fc8c4685c2441d6.bcba6db842446311
+    c2e3d901c31acc5d.d263768fd513caed.8d8363d6efb89ccc.6d6a7bf213728be2
+    52f4ed23c2683654.db7502bd9f4f7307.555b4796eedae7a3.42f35eb4381c2578
+    97a112684dcd6c80
+  after
+    d0397bea57f0e7e6.992f1c3fcd142a21.215ced6019131a95.d39639982a06705a
+    8b9387e7fea1f09c.da107ddf6ed9702f.6fc8c4685c2441d6.bcba6db842446311
+    0000000000000000.0000000000000000.7fff7fff80007fff.7fff7fff80007fff
+    52f4ed23c2683654.db7502bd9f4f7307.555b4796eedae7a3.42f35eb4381c2578
+    97a112684dcd6c80
+
+VPADDW_128(reg)
+  before
+    c8c0937cef119ea5.18943f381696ebae.53921dd36717a828.a51aea947497e086
+    319cde5bba74f594.ee8d4c2edcb1a896.9406c43fcafaa5fc.578dcabc9df941a1
+    2e80ee704883aef8.b1ad8ff02fc42639.fb1cf16c6381a531.487f63fb860fc722
+    1bbabf2938c9047f.3dbe846a2cdb24c3.e522a2c6ce3ae571.54be2f3b4ae22d32
+    5815ac6a06803100
+  after
+    0000000000000000.0000000000000000.8f22b5ab2e7b4b2d.a00c2eb7240808c3
+    319cde5bba74f594.ee8d4c2edcb1a896.9406c43fcafaa5fc.578dcabc9df941a1
+    2e80ee704883aef8.b1ad8ff02fc42639.fb1cf16c6381a531.487f63fb860fc722
+    1bbabf2938c9047f.3dbe846a2cdb24c3.e522a2c6ce3ae571.54be2f3b4ae22d32
+    5815ac6a06803100
+VPADDW_128(mem)
+  before
+    2e4f5573d6f48db6.54944df124d334d2.6f8da788ee035c5f.ac62d2b9a8b1a168
+    b339a641d44bfe80.345b9435a82b7aa0.21e5743791468b3a.ad297db18d7015c3
+    c39f1bc21e903f8c.195b915f61601293.3094686132b36c7f.45c3a01a18057c2e
+    3a4d30e1d0cf0d03.5ee03fdceafb3757.7864fef3ed53bd5b.ce7c3660e5fc1354
+    a5a03bf091df16e2
+  after
+    2e4f5573d6f48db6.54944df124d334d2.6f8da788ee035c5f.ac62d2b9a8b1a168
+    b339a641d44bfe80.345b9435a82b7aa0.21e5743791468b3a.ad297db18d7015c3
+    0000000000000000.0000000000000000.91721bbf7f49e799.598b506a3621b72b
+    3a4d30e1d0cf0d03.5ee03fdceafb3757.7864fef3ed53bd5b.ce7c3660e5fc1354
+    a5a03bf091df16e2
+
+VPADDW_128(reg)
+  before
+    267aab34b83cc183.f40f628a05142414.5f369a18df8a2799.d523b2dadd3438fa
+    ad58829af49f4fe4.cdb02ca9da6c40e9.77a89e80de981b05.239b00001e619a87
+    9684bd8ce493fdb1.a1fe0a2b6ae31cae.0483477f80b25246.3e996553cde79e2f
+    3d4b577822a40695.4cc379fad2837591.6014928063630609.02e95cbe05d1011d
+    4b56612de32b7f7e
+  after
+    0000000000000000.0000000000000000.7c2be5ff5f4a6d4b.62346553ec4838b6
+    ad58829af49f4fe4.cdb02ca9da6c40e9.77a89e80de981b05.239b00001e619a87
+    9684bd8ce493fdb1.a1fe0a2b6ae31cae.0483477f80b25246.3e996553cde79e2f
+    3d4b577822a40695.4cc379fad2837591.6014928063630609.02e95cbe05d1011d
+    4b56612de32b7f7e
+VPADDW_128(mem)
+  before
+    f5aef08c8202d47e.fef94cc94a5ea83d.aaccf3042d5a07bb.e9a57af1233774fa
+    dcbb85c7ff61bb48.36da98ebf94e1d54.97e5f63397738e5b.fa82fb3d5bbbd8c4
+    dc4a9dca7554f109.3e3a374acaffa187.efdafd752ddbc59b.eef911d0a7796d14
+    d027b38101e832ec.7564265259fd7282.8e7684b40a9d69a7.2255b916a4007195
+    f3e1ee7bedd91df4
+  after
+    f5aef08c8202d47e.fef94cc94a5ea83d.aaccf3042d5a07bb.e9a57af1233774fa
+    dcbb85c7ff61bb48.36da98ebf94e1d54.97e5f63397738e5b.fa82fb3d5bbbd8c4
+    0000000000000000.0000000000000000.42b1e937c4cd9616.e427762e7ef24dbe
+    d027b38101e832ec.7564265259fd7282.8e7684b40a9d69a7.2255b916a4007195
+    f3e1ee7bedd91df4
+
+VPADDW_128(reg)
+  before
+    bbeaac6b1f92b0dc.961e43d9be283a1e.36a5606f44d5caf0.4f8708de4bc535ac
+    d8bcef53d6b764fa.09fbc9bcc820c4ca.dd49e10d2412e67e.10d704de0c60e7d6
+    a4a3b49dadd276fa.058ac2183cdd8d1e.c69ca599974102d7.ac33f4a068793950
+    7cebf5b740712287.6596a9d7366a5143.4deaa97d39ed59a8.ff6754107b1de847
+    e43fa01a6256afe7
+  after
+    0000000000000000.0000000000000000.a3e586a6bb53e955.bd0af97e74d92126
+    d8bcef53d6b764fa.09fbc9bcc820c4ca.dd49e10d2412e67e.10d704de0c60e7d6
+    a4a3b49dadd276fa.058ac2183cdd8d1e.c69ca599974102d7.ac33f4a068793950
+    7cebf5b740712287.6596a9d7366a5143.4deaa97d39ed59a8.ff6754107b1de847
+    e43fa01a6256afe7
+VPADDW_128(mem)
+  before
+    398755ab38324c5b.bde0b00b2c20a34e.07ecfae7d1d3cb68.ce7fe827a5a2289d
+    d90aedad1abd79d0.c1cde0070c6937fa.c65831332a25b8b7.a4a65e0277ecab61
+    9f96e60e2301f271.e5ff82167cda1838.7da6caa75b6bd45c.2dad07794c581ea0
+    69f5bcb86f0c756b.85c290a41aff82b4.0aa2422f83b1db84.c4dedffac071bc08
+    c586e3f06ec4c243
+  after
+    398755ab38324c5b.bde0b00b2c20a34e.07ecfae7d1d3cb68.ce7fe827a5a2289d
+    d90aedad1abd79d0.c1cde0070c6937fa.c65831332a25b8b7.a4a65e0277ecab61
+    0000000000000000.0000000000000000.ce442c1afbf8841f.732546291d8ed3fe
+    69f5bcb86f0c756b.85c290a41aff82b4.0aa2422f83b1db84.c4dedffac071bc08
+    c586e3f06ec4c243
+
+VPSRLW_0x05_128(reg)
+  before
+    8bf10ec7f2dc6cfd.11f4e9991beabce9.fd62081d7f62b319.471814b7bc04885b
+    746b5cebe945f5e3.755feb9c43a68419.a92be5ed4992e514.12d3bc2b226f980c
+    da3fc9c9ee8c9aa1.6f023dac024c8824.e669238014185450.45a1b677d2ffc7c4
+    1bbb52cb9e3c97e2.dda85bb775e88638.0e67bf427b823e7a.be4c7e88e7bed0af
+    57a191487ebb70f8
+  after
+    0000000000000000.0000000000000000.007305fa03dc01f3.05f203f4073d0685
+    746b5cebe945f5e3.755feb9c43a68419.a92be5ed4992e514.12d3bc2b226f980c
+    da3fc9c9ee8c9aa1.6f023dac024c8824.e669238014185450.45a1b677d2ffc7c4
+    1bbb52cb9e3c97e2.dda85bb775e88638.0e67bf427b823e7a.be4c7e88e7bed0af
+    57a191487ebb70f8
+VPSRLW_0x05_128(mem)
+  before
+    ed6c6aa5b2ff63cb.9129f25e94e12853.991fc1a8b7873881.7e73b3a01a5bdd3e
+    5d78858aa0986556.9ad6a5ef6d0788a0.8031ec6be4345a2b.92d7fd048e2f6e47
+    81935fe2639131c2.900e67e9c43bf474.6fab56ed19fcaa61.a6e098dc738b2d42
+    3687729b18f7843e.d11d34b73609a87b.40597d1871eae250.16da809364fa55da
+    3d11b294fd0923bc
+  after
+    ed6c6aa5b2ff63cb.9129f25e94e12853.991fc1a8b7873881.7e73b3a01a5bdd3e
+    5d78858aa0986556.9ad6a5ef6d0788a0.8031ec6be4345a2b.92d7fd048e2f6e47
+    81935fe2639131c2.900e67e9c43bf474.6fab56ed19fcaa61.a6e098dc738b2d42
+    3687729b18f7843e.d11d34b73609a87b.40597d1871eae250.16da809364fa55da
+    3d11b294fd0923bc
+
+VPSRLW_0x05_128(reg)
+  before
+    79d0294ddb42d394.59223ca0dad41af4.b74f09c75efbdf63.d007ddd9090abf23
+    2565e1299934a00d.c42e38ddc537ae10.9fefe184d89fd6d6.fb81f01dfd68fc07
+    9d1ad694d468c8d4.5478e23ef629fdc0.e64ab85a4181c980.9e9234cf67115727
+    3d3c04fa276c8594.e5cbb7b089b8c32e.e6ad8ab5352bf40e.930823da66108ab0
+    b7ad3c2c137252ce
+  after
+    0000000000000000.0000000000000000.0735045501a907a0.0498011e03300455
+    2565e1299934a00d.c42e38ddc537ae10.9fefe184d89fd6d6.fb81f01dfd68fc07
+    9d1ad694d468c8d4.5478e23ef629fdc0.e64ab85a4181c980.9e9234cf67115727
+    3d3c04fa276c8594.e5cbb7b089b8c32e.e6ad8ab5352bf40e.930823da66108ab0
+    b7ad3c2c137252ce
+VPSRLW_0x05_128(mem)
+  before
+    e64ef8b08d426aac.601768c82fcb13fa.53f5311d99efbc86.fc6254014f2b922c
+    fcb7d452ed8c8f77.64f7fd688712b0b2.7ac0ce7242dba3f5.85b610ab2b0de085
+    d5b34dfe515d7d5a.a427bf47cccb9667.37fa099ca18735a7.dbf4bc1d665b1ac6
+    4d10dea0d5c0f082.7cf5aad2998502c5.646d5f85d2ff2ec7.5b6a53c49ca37b9a
+    6162d20d677140ae
+  after
+    e64ef8b08d426aac.601768c82fcb13fa.53f5311d99efbc86.fc6254014f2b922c
+    fcb7d452ed8c8f77.64f7fd688712b0b2.7ac0ce7242dba3f5.85b610ab2b0de085
+    d5b34dfe515d7d5a.a427bf47cccb9667.37fa099ca18735a7.dbf4bc1d665b1ac6
+    4d10dea0d5c0f082.7cf5aad2998502c5.646d5f85d2ff2ec7.5b6a53c49ca37b9a
+    6162d20d677140ae
+
+VPSRLW_0x05_128(reg)
+  before
+    49293363664fa5ae.4098032494c1a31b.47abba738bc92f7a.dee64a1bef504a82
+    6f0b743133cce645.8a193977ab6c5350.6396ec983d255a30.8131484917854403
+    2f5490e56a713e20.075dfa8335cebc4e.2a023bac4b24bf93.2819d4fb64aad977
+    e55084eaa8cceaea.9331c4364ef39a40.fa3ba31b52539a50.b16c6a1df2cbc409
+    f7f4879bdef5c3e7
+  after
+    0000000000000000.0000000000000000.07d10518029204d2.058b035007960620
+    6f0b743133cce645.8a193977ab6c5350.6396ec983d255a30.8131484917854403
+    2f5490e56a713e20.075dfa8335cebc4e.2a023bac4b24bf93.2819d4fb64aad977
+    e55084eaa8cceaea.9331c4364ef39a40.fa3ba31b52539a50.b16c6a1df2cbc409
+    f7f4879bdef5c3e7
+VPSRLW_0x05_128(mem)
+  before
+    d67ea5614334903a.ed4b4aac88682650.0a60127a13e5a853.2d8d2151ee3d2713
+    2ad6425b3d92e831.a390e097a6d12efe.48b8603da0b2a3b2.2143afbaba6ea187
+    cfc8d976ea1d86f6.636d4118a0943d9f.28032b6a1066468b.30ab4bc252734559
+    a020e79c63e127b5.892c69990f3c90e0.880feded7f0b4f07.b80ff0d553d74e35
+    13bc9a605826fac6
+  after
+    d67ea5614334903a.ed4b4aac88682650.0a60127a13e5a853.2d8d2151ee3d2713
+    2ad6425b3d92e831.a390e097a6d12efe.48b8603da0b2a3b2.2143afbaba6ea187
+    cfc8d976ea1d86f6.636d4118a0943d9f.28032b6a1066468b.30ab4bc252734559
+    a020e79c63e127b5.892c69990f3c90e0.880feded7f0b4f07.b80ff0d553d74e35
+    13bc9a605826fac6
+
+VPSLLW_0x05_128(reg)
+  before
+    9efe46cdfeed83b8.7baae6bbc6e8879b.711a54879156636c.43a624b20aaf7855
+    b621ee8ae0b725b9.3b3154bd2f4062d4.7783ff4fc26df1f0.35954ca5cc5e7e9f
+    b57090019b101e72.bc82ac90b9f5748b.f7b2645b3d0d7718.39a8dfb2e2221c11
+    f83927a0ca85a892.d96a6a1f801278ed.4cf581199ec2318f.2daa5ac5670910d8
+    ec693acb781f1420
+  after
+    0000000000000000.0000000000000000.9ea02320d84031e0.b54058a0e1201b00
+    b621ee8ae0b725b9.3b3154bd2f4062d4.7783ff4fc26df1f0.35954ca5cc5e7e9f
+    b57090019b101e72.bc82ac90b9f5748b.f7b2645b3d0d7718.39a8dfb2e2221c11
+    f83927a0ca85a892.d96a6a1f801278ed.4cf581199ec2318f.2daa5ac5670910d8
+    ec693acb781f1420
+VPSLLW_0x05_128(mem)
+  before
+    51affaae306fe414.dbc6b0d20aa100c3.70b20a56a1a32b26.d49652f482195a01
+    3a4a165cac053ee1.bb642503f6f061b1.5b29092138b44861.eae2d158859d301c
+    81040bbf07eddcb3.f25f849f2bff090a.789ae26c5f528ccb.e925fcb142dbed8a
+    04aa54c55d347bb5.dd03c81244593278.a1d011233588b38f.2fabce6b555ecdf7
+    17c043f25bb20e10
+  after
+    51affaae306fe414.dbc6b0d20aa100c3.70b20a56a1a32b26.d49652f482195a01
+    3a4a165cac053ee1.bb642503f6f061b1.5b29092138b44861.eae2d158859d301c
+    81040bbf07eddcb3.f25f849f2bff090a.789ae26c5f528ccb.e925fcb142dbed8a
+    04aa54c55d347bb5.dd03c81244593278.a1d011233588b38f.2fabce6b555ecdf7
+    17c043f25bb20e10
+
+VPSLLW_0x05_128(reg)
+  before
+    fcb057b2ef64ea81.9d076c59cbe5d613.d89cedc8dd8a19a7.b4991233d46279da
+    3cc60717aefe9ef5.2ae9d2676d0cabfb.3f75f02d931ff944.8bbf628658ed9ad7
+    314f4d8e330f6519.851affdb5eb6b497.6edccbae02a30ffb.040f7b09de34d1b3
+    399727811b207d99.8b6870a1baeead13.c11b7cb5c5a39777.f955dba98144db9a
+    475cfe515e2873b7
+  after
+    0000000000000000.0000000000000000.236096a0b460eee0.2aa0752028807340
+    3cc60717aefe9ef5.2ae9d2676d0cabfb.3f75f02d931ff944.8bbf628658ed9ad7
+    314f4d8e330f6519.851affdb5eb6b497.6edccbae02a30ffb.040f7b09de34d1b3
+    399727811b207d99.8b6870a1baeead13.c11b7cb5c5a39777.f955dba98144db9a
+    475cfe515e2873b7
+VPSLLW_0x05_128(mem)
+  before
+    cbf25eec90ec5637.aeea905e01bf2020.199da2a59ec1549c.947ffeb078a9cd64
+    5fe17968339c4046.ee94859082788a5a.098610d4263a635e.43544e09b843ec70
+    e0f7c9b06445ed0f.53e1018239d5f9f5.38ef36186c659784.2ae5662e21fd3145
+    2afeccb03ff219be.3a1cffa2c264a79b.82a3915f8f4eab3b.a580448a4d62d88f
+    0f6fe389dbfe1dfc
+  after
+    cbf25eec90ec5637.aeea905e01bf2020.199da2a59ec1549c.947ffeb078a9cd64
+    5fe17968339c4046.ee94859082788a5a.098610d4263a635e.43544e09b843ec70
+    e0f7c9b06445ed0f.53e1018239d5f9f5.38ef36186c659784.2ae5662e21fd3145
+    2afeccb03ff219be.3a1cffa2c264a79b.82a3915f8f4eab3b.a580448a4d62d88f
+    0f6fe389dbfe1dfc
+
+VPSLLW_0x05_128(reg)
+  before
+    c6003f97645d3b35.1ac3fe54dfb07f80.00937d5bbab0d1f8.c4709b93a9025dae
+    257d5420870c6fe9.8a11d989618adc81.ff907719bd46b2b9.d820d2a2d68c670a
+    88331f90dd96f5c2.57b6db39e08cebed.9460e74966b1888a.9b80b17733f9867b
+    4a6e9b540588086c.5d7c7f5178c26aef.1b4fcb55517e8d16.e95cb5fddb54752c
+    9e805822eaa9f14a
+  after
+    0000000000000000.0000000000000000.69e06aa02fc0a2c0.2b80bfa06a80a580
+    257d5420870c6fe9.8a11d989618adc81.ff907719bd46b2b9.d820d2a2d68c670a
+    88331f90dd96f5c2.57b6db39e08cebed.9460e74966b1888a.9b80b17733f9867b
+    4a6e9b540588086c.5d7c7f5178c26aef.1b4fcb55517e8d16.e95cb5fddb54752c
+    9e805822eaa9f14a
+VPSLLW_0x05_128(mem)
+  before
+    96b818d27e05b600.c979c4d6986de594.783141be463913b3.f1a81eaa1b37fe0a
+    adcf70f7b073807b.60a2968434d1c8e6.849f9d6b65fda366.70b9dcb55f6a1611
+    bf93dc7e9eff0ae7.6a330ec87541ec0d.5d931043f218d534.f5cc01e0baa312d8
+    a8ced85364b6116f.45792610f6488fb6.dfd9143408986649.dc2f8a99c86c2e0b
+    812c724b2353a655
+  after
+    96b818d27e05b600.c979c4d6986de594.783141be463913b3.f1a81eaa1b37fe0a
+    adcf70f7b073807b.60a2968434d1c8e6.849f9d6b65fda366.70b9dcb55f6a1611
+    bf93dc7e9eff0ae7.6a330ec87541ec0d.5d931043f218d534.f5cc01e0baa312d8
+    a8ced85364b6116f.45792610f6488fb6.dfd9143408986649.dc2f8a99c86c2e0b
+    812c724b2353a655
+
+VPUNPCKLQDQ_128(reg)
+  before
+    4010b5626ae4b563.444de1631da25140.4cc0dcc75472eb8d.e63c2729c48812d0
+    75264f4936aa98e0.6fdc7298e5d28685.da542b592a4b3c3d.4e8ac50e41f595f5
+    7cbc3d6f26318b79.054707e0d94f6b6b.4d8110321460c072.f38d68cf9ceaaae5
+    b11d793dd305c9da.e25a1c261527bd1e.ff9285beaf3db1da.b1128e58f0730ecc
+    63e6b2955a9d7dd5
+  after
+    0000000000000000.0000000000000000.f38d68cf9ceaaae5.4e8ac50e41f595f5
+    75264f4936aa98e0.6fdc7298e5d28685.da542b592a4b3c3d.4e8ac50e41f595f5
+    7cbc3d6f26318b79.054707e0d94f6b6b.4d8110321460c072.f38d68cf9ceaaae5
+    b11d793dd305c9da.e25a1c261527bd1e.ff9285beaf3db1da.b1128e58f0730ecc
+    63e6b2955a9d7dd5
+VPUNPCKLQDQ_128(mem)
+  before
+    e7d25073f573b32d.70940120dbb390ae.e2e02e55b46637c9.4ed58869966c4c1f
+    18a5e4dcde016b00.156ed084dac61aa2.e0a6b75bd2169799.9494149f667bcced
+    d22aebbe30546279.fcf7e3d66bcba361.ba7835238c4597b9.2e1c25ccbbf56ff1
+    f02cdf03077754c5.817b34802b4c6998.4b222399fdfff456.79b9b85d2f676fd7
+    cfb7c7bc615c094a
+  after
+    e7d25073f573b32d.70940120dbb390ae.e2e02e55b46637c9.4ed58869966c4c1f
+    18a5e4dcde016b00.156ed084dac61aa2.e0a6b75bd2169799.9494149f667bcced
+    0000000000000000.0000000000000000.4ed58869966c4c1f.9494149f667bcced
+    f02cdf03077754c5.817b34802b4c6998.4b222399fdfff456.79b9b85d2f676fd7
+    cfb7c7bc615c094a
+
+VPUNPCKLQDQ_128(reg)
+  before
+    8d615057ea6078f7.50783e998077fc0f.ff46c1f0b5d8a6f2.6e70feaa424f699b
+    0f054e996900f989.cddb836bb75e1784.d4a38590a5f8971d.012e40407641b4b5
+    b2edbeee77c7c8ad.421e2b65c73a6150.5bdf7cce983a77c2.df286748b6e18fd0
+    d0669ac2b242210f.8d10b073cc17969e.ef47a3152a298390.e329eeaf1d3cb617
+    ebfe515fc85de7b7
+  after
+    0000000000000000.0000000000000000.df286748b6e18fd0.012e40407641b4b5
+    0f054e996900f989.cddb836bb75e1784.d4a38590a5f8971d.012e40407641b4b5
+    b2edbeee77c7c8ad.421e2b65c73a6150.5bdf7cce983a77c2.df286748b6e18fd0
+    d0669ac2b242210f.8d10b073cc17969e.ef47a3152a298390.e329eeaf1d3cb617
+    ebfe515fc85de7b7
+VPUNPCKLQDQ_128(mem)
+  before
+    d1730d46d250dcdc.c6bce081b6fb3f5a.887c9081e3ff719a.ee25f4d1f552f731
+    73549c4f572252b1.f03b8b971e805f3b.112d467b2701af72.b3c66d6e98400f51
+    ab6d7c6674de0463.aa2f9770875dbd5d.02f14f4eb5260c4f.99750958ad7f069d
+    578928774591b01d.50e301788c1c946d.399225e4a97c4360.fe80c5fbd09b1ac1
+    3d319bc49e218468
+  after
+    d1730d46d250dcdc.c6bce081b6fb3f5a.887c9081e3ff719a.ee25f4d1f552f731
+    73549c4f572252b1.f03b8b971e805f3b.112d467b2701af72.b3c66d6e98400f51
+    0000000000000000.0000000000000000.ee25f4d1f552f731.b3c66d6e98400f51
+    578928774591b01d.50e301788c1c946d.399225e4a97c4360.fe80c5fbd09b1ac1
+    3d319bc49e218468
+
+VPUNPCKLQDQ_128(reg)
+  before
+    b1d6891db29d833f.51761d6ee545100c.3ea4c31cc94c2217.90dd462b1d0e11cf
+    b7b98a74a99951f2.76fed5377009e05b.d0bfdbc6db76a006.e59e2d0d30e832c9
+    ac279a331ea32b2c.a3eecebe03e6de37.627e44e45e284de7.12a05678fb176279
+    ea6bb6c8ad464d99.b21283efbaeac4cc.502dfbe0eded6365.f4b13d579ca65c0c
+    689b5f952fa2ddad
+  after
+    0000000000000000.0000000000000000.12a05678fb176279.e59e2d0d30e832c9
+    b7b98a74a99951f2.76fed5377009e05b.d0bfdbc6db76a006.e59e2d0d30e832c9
+    ac279a331ea32b2c.a3eecebe03e6de37.627e44e45e284de7.12a05678fb176279
+    ea6bb6c8ad464d99.b21283efbaeac4cc.502dfbe0eded6365.f4b13d579ca65c0c
+    689b5f952fa2ddad
+VPUNPCKLQDQ_128(mem)
+  before
+    482c3720cf16a189.cfd3d89ef40ff3e7.803670b7b0204f45.f61afa282451202d
+    712e41e3990e63cc.b5aafe218c8958bf.ea26120001953acf.b0903f27a0e1bdeb
+    bf6ef9cba896e0a1.f93b23bd1340b9d0.caade3b8ca534395.dadac549fc28794a
+    0eb7dbc218bbd435.f8d343de25c151c4.fd9961c9266924c4.d04588fad5b38ef7
+    ed1e84a6c60d399d
+  after
+    482c3720cf16a189.cfd3d89ef40ff3e7.803670b7b0204f45.f61afa282451202d
+    712e41e3990e63cc.b5aafe218c8958bf.ea26120001953acf.b0903f27a0e1bdeb
+    0000000000000000.0000000000000000.f61afa282451202d.b0903f27a0e1bdeb
+    0eb7dbc218bbd435.f8d343de25c151c4.fd9961c9266924c4.d04588fad5b38ef7
+    ed1e84a6c60d399d
+
+VPINSRD_128(reg)
+  before
+    8fafb6b96cc2b6e9.3ad764b50689fbb3.0cbe5bf05d975d48.5fb4072132e09a88
+    114419a0625e4087.20980f918e0a1048.9248665f574e1a07.cccb52ab09c6600c
+    ce2ba9c5456e1422.9ac85840cb4cd020.e6bd6098b073c1ae.20aabc53c826337d
+    24ae6295b07d6e66.8531bbb0d95af766.65684505039191e8.371cc3058a0dcf06
+    edefe2ad6b86f0d4
+  after
+    0000000000000000.0000000000000000.9248665f574e1a07.cccb52ab6b86f0d4
+    114419a0625e4087.20980f918e0a1048.9248665f574e1a07.cccb52ab09c6600c
+    ce2ba9c5456e1422.9ac85840cb4cd020.e6bd6098b073c1ae.20aabc53c826337d
+    24ae6295b07d6e66.8531bbb0d95af766.65684505039191e8.371cc3058a0dcf06
+    edefe2ad6b86f0d4
+VPINSRD_128(mem)
+  before
+    1eed9538899d5113.6e1b417d3f188a01.bda0b5cbd5414147.69971114ed35c462
+    a6e45890fd5fafee.07bc40e88fcaa39d.1ee1c17fda0c69ee.4f94c12f0ae997c8
+    619ea8a2e5d7c692.4dde5d423c1ff6e6.84bf5bb705c72c88.73ac4fc4f43b45c5
+    2be8005b5d11522a.9acd93f6e1a4bf89.cb08ff5f717f4541.312bb93e4ab70c06
+    e55dfb09a5e82636
+  after
+    1eed9538899d5113.6e1b417d3f188a01.bda0b5cbd5414147.69971114ed35c462
+    a6e45890fd5fafee.07bc40e88fcaa39d.1ee1c17fda0c69ee.4f94c12f0ae997c8
+    0000000000000000.0000000000000000.ed35c462da0c69ee.4f94c12f0ae997c8
+    2be8005b5d11522a.9acd93f6e1a4bf89.cb08ff5f717f4541.312bb93e4ab70c06
+    e55dfb09a5e82636
+
+VPINSRD_128(reg)
+  before
+    eb8d0f91a45ad002.e08ddca5801a0ee3.4cd4df721ae43932.ce8629633b3f7244
+    9f09f342e0994516.5c5bb86e6afdb7e9.bd413b22846ba18c.6b0656af7e136dbe
+    5d1ba288f732c21d.7b1d11a138c60867.4b5ea570bbc63344.7d5501305708f3da
+    811018cf85b083c4.189e612a0582bf8a.507918c95a802b06.e03ca6d0e129bfc5
+    708ac17c38828eab
+  after
+    0000000000000000.0000000000000000.bd413b22846ba18c.6b0656af38828eab
+    9f09f342e0994516.5c5bb86e6afdb7e9.bd413b22846ba18c.6b0656af7e136dbe
+    5d1ba288f732c21d.7b1d11a138c60867.4b5ea570bbc63344.7d5501305708f3da
+    811018cf85b083c4.189e612a0582bf8a.507918c95a802b06.e03ca6d0e129bfc5
+    708ac17c38828eab
+VPINSRD_128(mem)
+  before
+    080acf217a201cb7.6634518425a0c4b6.11ab26f5ee3c967d.2adc9099fd25c47d
+    86874baac00e2515.6ad34a11748cc0a0.4110dbee0e004a6d.33d40a4d41423b55
+    c5ceb102285865f3.e839fee40d03b52d.8399fd0182db9686.c8ac814fc161cc3b
+    a0ac7d17ce0b977b.3cb169688c8edc0b.b512061a65d838f3.45b2f10d1a11b2db
+    073056f2e7dc2ae1
+  after
+    080acf217a201cb7.6634518425a0c4b6.11ab26f5ee3c967d.2adc9099fd25c47d
+    86874baac00e2515.6ad34a11748cc0a0.4110dbee0e004a6d.33d40a4d41423b55
+    0000000000000000.0000000000000000.fd25c47d0e004a6d.33d40a4d41423b55
+    a0ac7d17ce0b977b.3cb169688c8edc0b.b512061a65d838f3.45b2f10d1a11b2db
+    073056f2e7dc2ae1
+
+VPINSRD_128(reg)
+  before
+    6874ac69c54e70f8.f5eb2bd4cc3278d9.c28987088ebb74e3.b2467426d403e9e0
+    c5c8efe04ff3c0cc.9e57382541d9c33a.d50b5432af15b764.5502c20fea69687b
+    7a791cc22258550b.79be1ff6470d35ca.d384cd518929e238.7c136cc3c41570ee
+    e3d32e7cd9086c5e.60ea5c33fad98ab4.1740edd1bb82310b.0143ef2d7d13bc65
+    c25fc5383270090d
+  after
+    0000000000000000.0000000000000000.d50b5432af15b764.5502c20f3270090d
+    c5c8efe04ff3c0cc.9e57382541d9c33a.d50b5432af15b764.5502c20fea69687b
+    7a791cc22258550b.79be1ff6470d35ca.d384cd518929e238.7c136cc3c41570ee
+    e3d32e7cd9086c5e.60ea5c33fad98ab4.1740edd1bb82310b.0143ef2d7d13bc65
+    c25fc5383270090d
+VPINSRD_128(mem)
+  before
+    99326cd2fe371212.5c212178108f4174.31a96bc9774a7e25.fc8bb01edfacdf8a
+    648a5fe6fd75949f.42b1f223647a10f7.c6c5c9a2d96acd49.e0b012a591332961
+    fd311b604c354ce1.efcd9ce971541493.fd0bf0ac3d48324b.1dfd10d06ea44b3b
+    41f51a2c0783f303.c0c21a37d2a98af6.b0475ed1beed6a57.11bca50c118a81c5
+    163acdc6177206ab
+  after
+    99326cd2fe371212.5c212178108f4174.31a96bc9774a7e25.fc8bb01edfacdf8a
+    648a5fe6fd75949f.42b1f223647a10f7.c6c5c9a2d96acd49.e0b012a591332961
+    0000000000000000.0000000000000000.dfacdf8ad96acd49.e0b012a591332961
+    41f51a2c0783f303.c0c21a37d2a98af6.b0475ed1beed6a57.11bca50c118a81c5
+    163acdc6177206ab
+
+VMOVD_XMM_to_MEM32(reg)
+  before
+    8ac384691be71798.0da0da36496b4832.11dc6a772306adc9.bd458eff7967309b
+    c7a3c660b975f038.3bffd66b2efa059a.3d67881701f6bbbb.fed0fd2189c14140
+    2b2590198ea9cc39.a8de8ab5d33be766.a2af6e820706ee76.50b525220b085975
+    1097ddff360ee844.31087302533ba9c3.9b001a24d2c183a6.8fc184f01a463464
+    98be9576d28a8e3a
+  after
+    8ac384691be71798.0da0da36496b4832.11dc6a772306adc9.bd458eff7967309b
+    c7a3c660b975f038.3bffd66b2efa059a.3d67881701f6bbbb.fed0fd2189c14140
+    2b2590198ea9cc39.a8de8ab5d33be766.a2af6e820706ee76.50b525220b085975
+    1097ddff360ee844.31087302533ba9c3.9b001a24d2c183a6.8fc184f01a463464
+    98be9576d28a8e3a
+VMOVD_XMM_to_MEM32(mem)
+  before
+    4579d4a150dd2222.d343a97e4c308008.b04b0b3ccb0509dd.84a58769feb3b5f8
+    73bdbe5bb04dad49.d176f0026d9cd02f.0271d05156a5c1df.b9ebb1bd2568c118
+    fe58cd910de5eada.647caef734dd1366.03473d2c11278ef5.961e958ce66de3b2
+    c2157f3083b29702.e9a1e0ca3d7f8658.8f99ceb917982b4c.768a2d42da4d5770
+    b77b774b9f955801
+  after
+    4579d4a150dd2222.d343a97e4c308008.b04b0b3ccb0509dd.84a58769e66de3b2
+    73bdbe5bb04dad49.d176f0026d9cd02f.0271d05156a5c1df.b9ebb1bd2568c118
+    fe58cd910de5eada.647caef734dd1366.03473d2c11278ef5.961e958ce66de3b2
+    c2157f3083b29702.e9a1e0ca3d7f8658.8f99ceb917982b4c.768a2d42da4d5770
+    b77b774b9f955801
+
+VMOVD_XMM_to_MEM32(reg)
+  before
+    b43d6e14d1d0240f.9bbf50222fbf6eed.bc3181e5250f65b2.823300e485035510
+    c81b0e070b8af447.6523ba552d182cc6.39788db58718eb1f.b8e14e997675c86d
+    51635492ea4f0754.fc0d3ab397ca8cba.bcc101a70026564c.0d6e34c407f9408e
+    aa5f3b2009ac97e3.3c494d2a8cdf4bf4.a259d7262cc6e0e5.5da82e51539b789f
+    8459b82c76682dcd
+  after
+    b43d6e14d1d0240f.9bbf50222fbf6eed.bc3181e5250f65b2.823300e485035510
+    c81b0e070b8af447.6523ba552d182cc6.39788db58718eb1f.b8e14e997675c86d
+    51635492ea4f0754.fc0d3ab397ca8cba.bcc101a70026564c.0d6e34c407f9408e
+    aa5f3b2009ac97e3.3c494d2a8cdf4bf4.a259d7262cc6e0e5.5da82e51539b789f
+    8459b82c76682dcd
+VMOVD_XMM_to_MEM32(mem)
+  before
+    5e4e4f428d6b1b44.2e5cbe1c042de1a0.01a26ea5266625a1.458c0d9da583c595
+    c7536e7db4b0fe30.3ba6dcf4785c2136.27e619108168d6ed.02a69e7a0aea4309
+    9b3491cb064491bc.2b888e1301c79251.8adfcb57baf31903.35f38628f48594ec
+    b6bd34179f329114.5c50d2e53af9719f.065bfe66ec13ab10.3abfc21302e3f4eb
+    6d554da7cd8da1b2
+  after
+    5e4e4f428d6b1b44.2e5cbe1c042de1a0.01a26ea5266625a1.458c0d9df48594ec
+    c7536e7db4b0fe30.3ba6dcf4785c2136.27e619108168d6ed.02a69e7a0aea4309
+    9b3491cb064491bc.2b888e1301c79251.8adfcb57baf31903.35f38628f48594ec
+    b6bd34179f329114.5c50d2e53af9719f.065bfe66ec13ab10.3abfc21302e3f4eb
+    6d554da7cd8da1b2
+
+VMOVD_XMM_to_MEM32(reg)
+  before
+    2a022251f311d5ec.f4b9d34d9c86b965.2848a2d7bf7ffaca.7724302a33d2483f
+    cc13407b10facd46.30f5eb58184dc7db.edbdfc532de4697e.b806dc8dad3eacbd
+    b1d2a092bfd4c56b.483ef726309275a1.05fbdcc61fb4f968.a7cf7f7c736392b5
+    348b3f039d2cf808.175e73a3006180e4.cd4e3c9d327ce734.1f4a93e4a34bb754
+    fc4296b05904d7c6
+  after
+    2a022251f311d5ec.f4b9d34d9c86b965.2848a2d7bf7ffaca.7724302a33d2483f
+    cc13407b10facd46.30f5eb58184dc7db.edbdfc532de4697e.b806dc8dad3eacbd
+    b1d2a092bfd4c56b.483ef726309275a1.05fbdcc61fb4f968.a7cf7f7c736392b5
+    348b3f039d2cf808.175e73a3006180e4.cd4e3c9d327ce734.1f4a93e4a34bb754
+    fc4296b05904d7c6
+VMOVD_XMM_to_MEM32(mem)
+  before
+    198403cbb09aad37.b18c1a38458da3c8.7921dbb9a2c7a3d0.a2021a4202c76f8d
+    54dd5623c418f6d1.84202c9f53840259.4955ac5535cf9c90.de6371232921cc20
+    87170ca3b28a6ec3.089271a3649c5164.65c56163d2852451.debc3daa45173c98
+    90fe9f3796fcd137.9b2fe6b01361cb98.a73c76d097f6fa3e.fe5a7a45f234f9a2
+    9a8a255fcb043fea
+  after
+    198403cbb09aad37.b18c1a38458da3c8.7921dbb9a2c7a3d0.a2021a4245173c98
+    54dd5623c418f6d1.84202c9f53840259.4955ac5535cf9c90.de6371232921cc20
+    87170ca3b28a6ec3.089271a3649c5164.65c56163d2852451.debc3daa45173c98
+    90fe9f3796fcd137.9b2fe6b01361cb98.a73c76d097f6fa3e.fe5a7a45f234f9a2
+    9a8a255fcb043fea
+
+VPANDN_128(reg)
+  before
+    0f9638646d144b1b.4a608dcb8a7bda5a.98438632fd60ad9f.ed876786a02dd984
+    b7cab1c073ef5ae2.9007514bad124657.5a1a4c95be233325.1172b17308377c4e
+    ef748ce07a22a5ea.3fc167a419cdd15b.3f003745f13998d7.f1c9ce82ec1ea0c9
+    13dfc32e1d376be0.34584cc0eab93691.a24040ae322b1961.67583c9f67f00021
+    51ea76b695b95981
+  after
+    0000000000000000.0000000000000000.a040002a00080840.66080c8c67c00021
+    b7cab1c073ef5ae2.9007514bad124657.5a1a4c95be233325.1172b17308377c4e
+    ef748ce07a22a5ea.3fc167a419cdd15b.3f003745f13998d7.f1c9ce82ec1ea0c9
+    13dfc32e1d376be0.34584cc0eab93691.a24040ae322b1961.67583c9f67f00021
+    51ea76b695b95981
+VPANDN_128(mem)
+  before
+    894df9b393846816.7f565417f8bce670.49997b8d3de13226.de28643c1e87f26e
+    ed4b3f827d5de60c.8f263a08a83d5345.5c5070f52d528146.5102a05c50d85fab
+    57b1c60f6e50928e.9f9b716bc945ee0c.4749a7e6d717df1c.551bef7864ab9bc4
+    a44b0946826a26c8.0b01f5aef560f270.e74f9c4b563c07d5.48bf4dfef88be364
+    843ab759a5047337
+  after
+    894df9b393846816.7f565417f8bce670.49997b8d3de13226.de28643c1e87f26e
+    ed4b3f827d5de60c.8f263a08a83d5345.5c5070f52d528146.5102a05c50d85fab
+    0000000000000000.0000000000000000.01890b0810a13220.8e2844200e07a044
+    a44b0946826a26c8.0b01f5aef560f270.e74f9c4b563c07d5.48bf4dfef88be364
+    843ab759a5047337
+
+VPANDN_128(reg)
+  before
+    66d827f409a386eb.b0e58414d6b65fe8.2fa4c23ccb1a9c1e.192fcc10c6cdb69d
+    4be49b3dc0f35929.584bb3638541f817.67cfd581e50028c2.b7b6b12144d7a89f
+    8dac0e9f658028a0.76481321ac16af84.0ed029e9df9dd107.9eaec96aec659807
+    897a7d8695d72ffa.e7aa1f3966413e59.82f1bae0567ed59a.aae490d7d9844303
+    b7238054283f65bc
+  after
+    0000000000000000.0000000000000000.80302a60127ed518.084000d699004300
+    4be49b3dc0f35929.584bb3638541f817.67cfd581e50028c2.b7b6b12144d7a89f
+    8dac0e9f658028a0.76481321ac16af84.0ed029e9df9dd107.9eaec96aec659807
+    897a7d8695d72ffa.e7aa1f3966413e59.82f1bae0567ed59a.aae490d7d9844303
+    b7238054283f65bc
+VPANDN_128(mem)
+  before
+    a23917cdf4a2ba61.9c9be25feb83a9e4.873b5396d0ce62c2.1e7f85d2e52d6e26
+    45f1d02f59b9fd1c.205b3b940310d309.32c82b2605cad6ed.3ec6842b2939d858
+    7d1627647491eb19.720583927a0be916.c41d24d422415704.3d12b557bd2b51db
+    2675985a60364086.eee7b6c6ebff26b6.1905b98c423da133.79ae13c33e91135d
+    4de89ad947f65b87
+  after
+    a23917cdf4a2ba61.9c9be25feb83a9e4.873b5396d0ce62c2.1e7f85d2e52d6e26
+    45f1d02f59b9fd1c.205b3b940310d309.32c82b2605cad6ed.3ec6842b2939d858
+    0000000000000000.0000000000000000.85335090d0042002.003901d0c4042626
+    2675985a60364086.eee7b6c6ebff26b6.1905b98c423da133.79ae13c33e91135d
+    4de89ad947f65b87
+
+VPANDN_128(reg)
+  before
+    140a470774e76408.1cdaa0fc3ab2b88c.f04bd09af378c796.0d4e653a82cc70a7
+    2c6115b762ef6b8a.3b11ba351d130e5a.d47fce7c2d030862.7cc2a7cbfdf97f8b
+    f0390057ad9aacb9.5fe562f32664ff1a.f6cdabd7362b25c5.422ff829cfd18b0d
+    bbde0452f0756342.6424142171b246f8.b3826317aa7d596c.3b5fd641155f5056
+    431fbb00ebaf8a95
+  after
+    0000000000000000.0000000000000000.23802103827c510c.031d500000060054
+    2c6115b762ef6b8a.3b11ba351d130e5a.d47fce7c2d030862.7cc2a7cbfdf97f8b
+    f0390057ad9aacb9.5fe562f32664ff1a.f6cdabd7362b25c5.422ff829cfd18b0d
+    bbde0452f0756342.6424142171b246f8.b3826317aa7d596c.3b5fd641155f5056
+    431fbb00ebaf8a95
+VPANDN_128(mem)
+  before
+    363a26516ccef4f4.eb9c1d14c70accd1.25984cab1808a121.65e9f2a72383e102
+    f07e901fb4c74b9f.dabf4809cfe82211.800f877d3972cac1.695054f63fcbf934
+    4db67658e0a64ac3.e5927f9da498a2af.50534084f0fd7e04.1a01866d9ae1ddae
+    28ad55e70c78af8c.6962c03de1a88756.7130f3aa58b47815.d64a8379cf50c81b
+    f87547867ba4f728
+  after
+    363a26516ccef4f4.eb9c1d14c70accd1.25984cab1808a121.65e9f2a72383e102
+    f07e901fb4c74b9f.dabf4809cfe82211.800f877d3972cac1.695054f63fcbf934
+    0000000000000000.0000000000000000.2590488200082120.04a9a20100000002
+    28ad55e70c78af8c.6962c03de1a88756.7130f3aa58b47815.d64a8379cf50c81b
+    f87547867ba4f728
+
+VPSLLDQ_0x05_128(reg)
+  before
+    dccfcf013969a680.5f30a8b852483426.c07b075322a40eb3.bf741cdd8ea37520
+    dea41554a52c10d0.cd0bebb7d12296bb.48294e4c04167472.15ea3807add73152
+    5a3f17ed5d7872c3.4e0a9ad0a213907a.5bb89395228cf23e.515dc116d15b68d7
+    abeed036fada0807.bdf932f0e426df8d.5673d1991992c7c4.4e9a35f4173bd6da
+    e76e108f9b843688
+  after
+    0000000000000000.0000000000000000.92c7c44e9a35f417.3bd6da0000000000
+    dea41554a52c10d0.cd0bebb7d12296bb.48294e4c04167472.15ea3807add73152
+    5a3f17ed5d7872c3.4e0a9ad0a213907a.5bb89395228cf23e.515dc116d15b68d7
+    abeed036fada0807.bdf932f0e426df8d.5673d1991992c7c4.4e9a35f4173bd6da
+    e76e108f9b843688
+VPSLLDQ_0x05_128(mem)
+  before
+    faa3ccd27841440d.2ffb3c9d1add0d45.f8a32e01b0673f21.95a804c384b22db0
+    6205e7a9ca7fbe94.41b3588d580dbf2c.d9d50af025e36c61.75a12881007a61ad
+    fa62db00ae485e49.3d621e7251f65865.3e5c42aa5ca5227a.50ab3a3e28769e67
+    a08426c43fabe15a.7e548cb8a125149f.0102521a73ba1c98.831235669830228c
+    6a221465ed3627c5
+  after
+    faa3ccd27841440d.2ffb3c9d1add0d45.f8a32e01b0673f21.95a804c384b22db0
+    6205e7a9ca7fbe94.41b3588d580dbf2c.d9d50af025e36c61.75a12881007a61ad
+    fa62db00ae485e49.3d621e7251f65865.3e5c42aa5ca5227a.50ab3a3e28769e67
+    a08426c43fabe15a.7e548cb8a125149f.0102521a73ba1c98.831235669830228c
+    6a221465ed3627c5
+
+VPSLLDQ_0x05_128(reg)
+  before
+    6127d6a7c314eac1.2e3944df9ab103f1.62d59dcbe2263184.0094b72b862c17e6
+    c46c7499b555a62a.814baf3edb687f3a.43314e17b383e9c1.15ddeccbb00ace90
+    ef3feca5608598ac.7687e5ce1cdb1362.7fb39909adca7901.1eab6de50e5dfec4
+    3eea39395f30fcf5.e7b961797c167995.70a87c0b6f861cf1.f5c8b665bb3363ab
+    78024437d397b974
+  after
+    0000000000000000.0000000000000000.861cf1f5c8b665bb.3363ab0000000000
+    c46c7499b555a62a.814baf3edb687f3a.43314e17b383e9c1.15ddeccbb00ace90
+    ef3feca5608598ac.7687e5ce1cdb1362.7fb39909adca7901.1eab6de50e5dfec4
+    3eea39395f30fcf5.e7b961797c167995.70a87c0b6f861cf1.f5c8b665bb3363ab
+    78024437d397b974
+VPSLLDQ_0x05_128(mem)
+  before
+    812392487395bc49.0dba57bf4ee30eae.b2ad9f2d14266dfe.745df28b9244103c
+    edf81c82b63a2757.b8fb42a5ca290986.b12e1bd50216acca.e51cf7f3b58f8f90
+    984d5ed2b991b7c9.9bf9f7566e8f2a27.c109525d62f3f224.213187b171f3d596
+    5fedd42598a727cc.12ff703dd79fad3d.be0bbfb14fc8fb39.82ea9f3064fd20fc
+    66913adc2a38aa6e
+  after
+    812392487395bc49.0dba57bf4ee30eae.b2ad9f2d14266dfe.745df28b9244103c
+    edf81c82b63a2757.b8fb42a5ca290986.b12e1bd50216acca.e51cf7f3b58f8f90
+    984d5ed2b991b7c9.9bf9f7566e8f2a27.c109525d62f3f224.213187b171f3d596
+    5fedd42598a727cc.12ff703dd79fad3d.be0bbfb14fc8fb39.82ea9f3064fd20fc
+    66913adc2a38aa6e
+
+VPSLLDQ_0x05_128(reg)
+  before
+    277454215e30b098.1ca6fb656d87358b.795babc8a0e7ce75.85fedebde6a18335
+    22dde96b9c726d25.ac424e80573d9b33.2b57a36266f3c87b.f0af2b6d428a4543
+    b319f62681891fc1.eb8e49616fd615f0.86405578c44ed8fa.dce923ad7f90fe90
+    377475bea901001a.b55668f4d45c61ed.e562bb7457843a9f.257a4069babf6947
+    a72d008e0f214495
+  after
+    0000000000000000.0000000000000000.843a9f257a4069ba.bf69470000000000
+    22dde96b9c726d25.ac424e80573d9b33.2b57a36266f3c87b.f0af2b6d428a4543
+    b319f62681891fc1.eb8e49616fd615f0.86405578c44ed8fa.dce923ad7f90fe90
+    377475bea901001a.b55668f4d45c61ed.e562bb7457843a9f.257a4069babf6947
+    a72d008e0f214495
+VPSLLDQ_0x05_128(mem)
+  before
+    3ecdde0699c449a6.083a64a0af674dda.e66628259fde3957.a409d3c3ba222916
+    c62757bf74b335a5.83b6bf362f4641ad.5a8a03e0ee655a59.1e8098d18ab2e20a
+    1b07e5a4bdfbc3bf.043680eec62a1940.ed8e7711ddff8020.b115070b62c3a128
+    193906a08fa7b01f.e704a4320fa0113f.7b3d00a487b866d8.b8121adcdfdea11b
+    8ec4cfaf9c912090
+  after
+    3ecdde0699c449a6.083a64a0af674dda.e66628259fde3957.a409d3c3ba222916
+    c62757bf74b335a5.83b6bf362f4641ad.5a8a03e0ee655a59.1e8098d18ab2e20a
+    1b07e5a4bdfbc3bf.043680eec62a1940.ed8e7711ddff8020.b115070b62c3a128
+    193906a08fa7b01f.e704a4320fa0113f.7b3d00a487b866d8.b8121adcdfdea11b
+    8ec4cfaf9c912090
+
+VPSRLDQ_0x05_128(reg)
+  before
+    917721f235675832.9c8835a107c3b8f2.886d2870a7336555.e0641886099ac9ac
+    1b770c1047ed85af.80c2ee92405c9764.43bd0713296f502f.f8cf3da17eb365c9
+    8a108c756eaee5b0.a1b1ae5f577d08a0.74403e8732e10f78.9f4ae9e3020ef55a
+    388d9e8d4536b2e4.db23eff56732c8d3.7741c7385d14dedd.b1a19a36b2b8378c
+    0aa0cc88aabce58b
+  after
+    0000000000000000.0000000000000000.00000000007741c7.385d14deddb1a19a
+    1b770c1047ed85af.80c2ee92405c9764.43bd0713296f502f.f8cf3da17eb365c9
+    8a108c756eaee5b0.a1b1ae5f577d08a0.74403e8732e10f78.9f4ae9e3020ef55a
+    388d9e8d4536b2e4.db23eff56732c8d3.7741c7385d14dedd.b1a19a36b2b8378c
+    0aa0cc88aabce58b
+VPSRLDQ_0x05_128(mem)
+  before
+    8612f9c40426bb82.833c3dc4681229f4.0ae22f3e8d889328.a80ea0924795f80a
+    00c49fd6df03779d.c567658674cd858f.09bbe927e48a25cc.63f1c4018bef9baa
+    568339aa555ed30a.5b5b124004f3045f.b679999d894439eb.04372ff1c6ae0169
+    6319432c82438cf3.a264405cb511e011.eceabc8a97c38cb0.e72cddcf935e66f5
+    681ccb058e8c08f8
+  after
+    8612f9c40426bb82.833c3dc4681229f4.0ae22f3e8d889328.a80ea0924795f80a
+    00c49fd6df03779d.c567658674cd858f.09bbe927e48a25cc.63f1c4018bef9baa
+    568339aa555ed30a.5b5b124004f3045f.b679999d894439eb.04372ff1c6ae0169
+    6319432c82438cf3.a264405cb511e011.eceabc8a97c38cb0.e72cddcf935e66f5
+    681ccb058e8c08f8
+
+VPSRLDQ_0x05_128(reg)
+  before
+    e353f40154c3211e.0352394883bf5d84.f4ceec4822b25550.87d8cddc2a12da48
+    b31c542e8190ee14.11fc98ea73dd03ea.aee4116ee862a1c9.6211487e5f3ddede
+    36c5e7f7b07eaa86.6be2dbff6faa3a51.2df4ab3ca2aefe27.5b5fa95b5251559f
+    c798a9ca7d199220.ebcf7e719230bee4.cb48b61ded21a917.4d8f6c611e59fbb6
+    136c0e7bdf618c50
+  after
+    0000000000000000.0000000000000000.0000000000cb48b6.1ded21a9174d8f6c
+    b31c542e8190ee14.11fc98ea73dd03ea.aee4116ee862a1c9.6211487e5f3ddede
+    36c5e7f7b07eaa86.6be2dbff6faa3a51.2df4ab3ca2aefe27.5b5fa95b5251559f
+    c798a9ca7d199220.ebcf7e719230bee4.cb48b61ded21a917.4d8f6c611e59fbb6
+    136c0e7bdf618c50
+VPSRLDQ_0x05_128(mem)
+  before
+    8bc40a95b276c399.c1e2971285ede28c.6f90fd2ef87d4bd0.e52d2f7d6447de45
+    8f61dc9cb2a35dbc.82efac3b6487d679.d2f1d420bf9d9c41.d7ef11c8a4add85c
+    fd11007afcf516e6.650ae4b1b472a991.efbe8035009b6e62.fdda586a48ded409
+    af9ef31cab76a943.c5813be1143b9981.a3c37c58d9837c5f.b33a00cfec660ef7
+    555a05642dd2c1d3
+  after
+    8bc40a95b276c399.c1e2971285ede28c.6f90fd2ef87d4bd0.e52d2f7d6447de45
+    8f61dc9cb2a35dbc.82efac3b6487d679.d2f1d420bf9d9c41.d7ef11c8a4add85c
+    fd11007afcf516e6.650ae4b1b472a991.efbe8035009b6e62.fdda586a48ded409
+    af9ef31cab76a943.c5813be1143b9981.a3c37c58d9837c5f.b33a00cfec660ef7
+    555a05642dd2c1d3
+
+VPSRLDQ_0x05_128(reg)
+  before
+    3f876493a7ad2b49.82d52f6fdc35d3fe.009eae351d6ddff4.cbcc447566618366
+    cd0e18c9f5848504.5382325daa3b5044.70af371a6e94ba97.41a45478c2423fa1
+    5b391d73b3e10eb1.fc7177d43296dc40.73fed4fda03d6415.e318294d09316c3c
+    45556ffc7e5200fb.5a6d7bbf8f51321f.63d8814952f31a1c.8bf43ee0583bc664
+    16040f1eca6a0845
+  after
+    0000000000000000.0000000000000000.000000000063d881.4952f31a1c8bf43e
+    cd0e18c9f5848504.5382325daa3b5044.70af371a6e94ba97.41a45478c2423fa1
+    5b391d73b3e10eb1.fc7177d43296dc40.73fed4fda03d6415.e318294d09316c3c
+    45556ffc7e5200fb.5a6d7bbf8f51321f.63d8814952f31a1c.8bf43ee0583bc664
+    16040f1eca6a0845
+VPSRLDQ_0x05_128(mem)
+  before
+    611418f17ccdef0a.e7ad0bcff263998f.4a44b80ade780f0c.9e8938691d421855
+    46f0d5468a6d36e0.9d8feb5aaa9f1219.a6c0aca13a182f34.7e5cf7cb9fb7996e
+    a263c30a0e589bf2.c3450d084292aa44.4baed270bf3d4dc3.609fb8da74dddb13
+    513b5d282799d86d.b51d6d4557c89bbd.15daa6638af126e4.a19c7a02374018f0
+    9ba036af846d8cb0
+  after
+    611418f17ccdef0a.e7ad0bcff263998f.4a44b80ade780f0c.9e8938691d421855
+    46f0d5468a6d36e0.9d8feb5aaa9f1219.a6c0aca13a182f34.7e5cf7cb9fb7996e
+    a263c30a0e589bf2.c3450d084292aa44.4baed270bf3d4dc3.609fb8da74dddb13
+    513b5d282799d86d.b51d6d4557c89bbd.15daa6638af126e4.a19c7a02374018f0
+    9ba036af846d8cb0
+
+VPSUBUSB_128(reg)
+  before
+    abf7e94df8ef74ff.2f421f8cef3da97d.cf61057d84ce222f.e110a566b74276c4
+    2ded90492f520c8b.18458521824fcc4d.6c5ed31d662f7b47.891b4a65613bf98e
+    7ece260dc42390fe.e8100cd5fcdbfb0a.ea5fd18f9878e1b0.eac9114da4e96a6f
+    f8e5a70653ed3c04.7c6e2e937bedf3df.a4b2fd40b6349118.e0e476089d578693
+    4739f58468910925
+  after
+    0000000000000000.0000000000000000.000000000000002f.0000005d00007300
+    2ded90492f520c8b.18458521824fcc4d.6c5ed31d662f7b47.891b4a65613bf98e
+    7ece260dc42390fe.e8100cd5fcdbfb0a.ea5fd18f9878e1b0.eac9114da4e96a6f
+    f8e5a70653ed3c04.7c6e2e937bedf3df.a4b2fd40b6349118.e0e476089d578693
+    4739f58468910925
+VPSUBUSB_128(mem)
+  before
+    fb940bac20a3af52.f88010a1793c4b4a.ae2d6948189270f9.f5a2539d5eefc728
+    d8c1326ce19a3345.dae95b49d19dfa7c.5b1738def1d62d84.3b7acd102936bf8f
+    ba8ce8afc882522b.fa6d8669f89b8445.5efa184222c3e7ab.d1876907b593b4f6
+    7dc0a963f065c730.b4588c6f89c22752.95a08361c6675a9b.121522ed9e95e30c
+    5c70f42e7fc5887b
+  after
+    fb940bac20a3af52.f88010a1793c4b4a.ae2d6948189270f9.f5a2539d5eefc728
+    d8c1326ce19a3345.dae95b49d19dfa7c.5b1738def1d62d84.3b7acd102936bf8f
+    0000000000000000.0000000000000000.00000096d9440000.00007a0000000067
+    7dc0a963f065c730.b4588c6f89c22752.95a08361c6675a9b.121522ed9e95e30c
+    5c70f42e7fc5887b
+
+VPSUBUSB_128(reg)
+  before
+    09e4db36f4b1def0.fd2aef737651507f.64f669c6219f1d4e.dbd6f725f9ce417f
+    77bcd4719ae52216.159738cc7552a745.66921ada5bbda3e6.0c68ef7cd8025a84
+    0045da4b0deb909a.a3d1fe58097289ad.167a9917d4a9f4c5.0421e8517f115fd6
+    01cce930e7516427.82a5c00450bfb1e4.d0f8e4ea27ed4d99.9fcf5c8f09070ca0
+    b93cc92492ee1f0f
+  after
+    0000000000000000.0000000000000000.000000003400564d.00009300cf004e00
+    77bcd4719ae52216.159738cc7552a745.66921ada5bbda3e6.0c68ef7cd8025a84
+    0045da4b0deb909a.a3d1fe58097289ad.167a9917d4a9f4c5.0421e8517f115fd6
+    01cce930e7516427.82a5c00450bfb1e4.d0f8e4ea27ed4d99.9fcf5c8f09070ca0
+    b93cc92492ee1f0f
+VPSUBUSB_128(mem)
+  before
+    2d35aafb37d4524e.d79bfd8dc7a2d96a.8edef7bd6345dc15.f059f6bdf118ea0b
+    d9867b0013c5628a.dcff12cc476b2c0f.a34a206d600ec66e.d2e9ccfdcdb307ca
+    98fbb82043cb0aee.6d43255b033799c1.9cb3b80263282b18.d2f46017574cdf80
+    4560de45e2f407a8.e7b531a498925b2d.57e73a67879fc742.4bc6b0752c6eafd9
+    9baab785e8a6b382
+  after
+    2d35aafb37d4524e.d79bfd8dc7a2d96a.8edef7bd6345dc15.f059f6bdf118ea0b
+    d9867b0013c5628a.dcff12cc476b2c0f.a34a206d600ec66e.d2e9ccfdcdb307ca
+    0000000000000000.0000000000000000.1500000000000059.00900040009b00bf
+    4560de45e2f407a8.e7b531a498925b2d.57e73a67879fc742.4bc6b0752c6eafd9
+    9baab785e8a6b382
+
+VPSUBUSB_128(reg)
+  before
+    1dee71b2267e2727.be80675c0d4c15e1.a49f3215a109afff.aeb02287e87d5516
+    2ddcdb6882854673.de29d152dfddf0c8.014f2419ba27d1e2.7fdbed50a3d191c0
+    26c1ef1399444d13.8025981175b65486.5a0f041c8179fd82.a53315add4a4396d
+    66e9ab1f064978b3.82413687eae0fc4a.0c2ccd8a8f896e8c.fb86188b96040749
+    5f9f71d405fcb87f
+  after
+    0000000000000000.0000000000000000.002300002b006356.0055d5000dcd8a77
+    2ddcdb6882854673.de29d152dfddf0c8.014f2419ba27d1e2.7fdbed50a3d191c0
+    26c1ef1399444d13.8025981175b65486.5a0f041c8179fd82.a53315add4a4396d
+    66e9ab1f064978b3.82413687eae0fc4a.0c2ccd8a8f896e8c.fb86188b96040749
+    5f9f71d405fcb87f
+VPSUBUSB_128(mem)
+  before
+    ab499c753e98083c.47a00af8661f02fe.be49299f5a69a53e.71f27bcf82e561ac
+    bd51165a5ce5b2ac.2731090a555328a1.1208ec44e25c0a8f.e6ac0a57f619128e
+    6f835a707cee74fa.61eaa2c16d702647.584cfb649ec5e868.c7a8768e86afbddd
+    9eabe4a2b9c00852.5015d38a4d02389d.6ddfd2eaa9b1fbf6.7030bce1ce369d45
+    3d91d7ba6b37ef73
+  after
+    ab499c753e98083c.47a00af8661f02fe.be49299f5a69a53e.71f27bcf82e561ac
+    bd51165a5ce5b2ac.2731090a555328a1.1208ec44e25c0a8f.e6ac0a57f619128e
+    0000000000000000.0000000000000000.0000c30088000051.7500000074000000
+    9eabe4a2b9c00852.5015d38a4d02389d.6ddfd2eaa9b1fbf6.7030bce1ce369d45
+    3d91d7ba6b37ef73
+
+VPSUBSB_128(reg)
+  before
+    8a17c387f940ee13.279530db30652ae1.52ff97cf8e96994e.2e8feec31f2bff64
+    b30e7cb213dcd8d1.e40cba09fcec97d3.c1f4eafeceb78607.7526c9d91d40b0df
+    14c2ffa95597e758.b2deff17395e0b54.fa40c982a9f13b74.1f71e119bffbc993
+    087f47d75cfe5854.6ed57af105c9428f.5a2f2ec6bad1f340.093cb270206807ab
+    0d52b6c85c932554
+  after
+    0000000000000000.0000000000000000.80c5bc3814e693c7.6cea1780fdd8a934
+    b30e7cb213dcd8d1.e40cba09fcec97d3.c1f4eafeceb78607.7526c9d91d40b0df
+    14c2ffa95597e758.b2deff17395e0b54.fa40c982a9f13b74.1f71e119bffbc993
+    087f47d75cfe5854.6ed57af105c9428f.5a2f2ec6bad1f340.093cb270206807ab
+    0d52b6c85c932554
+VPSUBSB_128(mem)
+  before
+    08816b0f9089e1b9.ed904fa8c39c6672.f2bea7837938f8b0.3b0c17389ee2eb18
+    d6934c2fd755f508.1e42168827fe4e5e.1b6502b9b3b8e8e5.fa247f43f0b05fa8
+    5355d5164e041d6a.f7e195e323af4cc3.c596077fcf54cf57.f4c462534cc88b9b
+    5b9382af10a1170d.d4b9ca25543b9c4e.cc1c33c2e8186835.8336bdd54fb5aa9d
+    04c68b339503f95c
+  after
+    08816b0f9089e1b9.ed904fa8c39c6672.f2bea7837938f8b0.3b0c17389ee2eb18
+    d6934c2fd755f508.1e42168827fe4e5e.1b6502b9b3b8e8e5.fa247f43f0b05fa8
+    0000000000000000.0000000000000000.297f5b368080f035.bf18680b52ce7490
+    5b9382af10a1170d.d4b9ca25543b9c4e.cc1c33c2e8186835.8336bdd54fb5aa9d
+    04c68b339503f95c
+
+VPSUBSB_128(reg)
+  before
+    d3c2c8dab93fb481.cb19cfe63a389d1d.1016afbb552e79ab.0cc5016c1a1071a9
+    4d75703757f416bb.7db339a7e7d66cc6.0944430fc3152185.615bed6a8249a4e0
+    cc2a7fb40cae5db4.4e2d3bde33864033.1a8e7f8f397bcd89.a7ab73a93bcfbe05
+    ad2ef2bf73fac319.1a5251773b54d490.9e4260a554edbc62.ba81101462ac7a44
+    76a93f9713ee95cb
+  after
+    0000000000000000.0000000000000000.6b02e36a80286580.7f7fdd56807f809c
+    4d75703757f416bb.7db339a7e7d66cc6.0944430fc3152185.615bed6a8249a4e0
+    cc2a7fb40cae5db4.4e2d3bde33864033.1a8e7f8f397bcd89.a7ab73a93bcfbe05
+    ad2ef2bf73fac319.1a5251773b54d490.9e4260a554edbc62.ba81101462ac7a44
+    76a93f9713ee95cb
+VPSUBSB_128(mem)
+  before
+    b7ef7c1d68a0cbc4.4ccdc4c329638495.bdeff85f1b4ce50a.f3aae3bfaff628bd
+    591e439480cfd85b.0553f12cc975ded5.12d0aa80ee7b2fcd.73130348e6224e45
+    380310e8748677be.340c7565f0bd0b84.f7c1e5c8d0ed6d04.7cc9bcac96fe6aa8
+    306b600362d16516.35444cdd39c6474f.478e2421deac5ddc.68170a575b15b78f
+    954beab5d0f372a8
+  after
+    b7ef7c1d68a0cbc4.4ccdc4c329638495.bdeff85f1b4ce50a.f3aae3bfaff628bd
+    591e439480cfd85b.0553f12cc975ded5.12d0aa80ee7b2fcd.73130348e6224e45
+    0000000000000000.0000000000000000.55e1b280d32f4ac3.7f69207f372c267f
+    306b600362d16516.35444cdd39c6474f.478e2421deac5ddc.68170a575b15b78f
+    954beab5d0f372a8
+
+VPSUBSB_128(reg)
+  before
+    5daf57329125d79f.1d20aed266bd5e92.644673fd411dd0e1.de03e37934c6b981
+    1e904d3a3b362220.dbef76419b551e5c.1d60e532a34ce0e8.98eb9fbbed473d1e
+    323bc83969b28ed6.45a3343d1ea560a0.bcdc9ee8fce2b40d.5113d3d32539a7e0
+    f6f9c59cb825586e.390a65b00abae18b.9d079a8ce76888ff.e448faadf9aab1f2
+    2f54933584a61881
+  after
+    0000000000000000.0000000000000000.7f594b7fbce458e9.b4a3a50ef47f7f2c
+    1e904d3a3b362220.dbef76419b551e5c.1d60e532a34ce0e8.98eb9fbbed473d1e
+    323bc83969b28ed6.45a3343d1ea560a0.bcdc9ee8fce2b40d.5113d3d32539a7e0
+    f6f9c59cb825586e.390a65b00abae18b.9d079a8ce76888ff.e448faadf9aab1f2
+    2f54933584a61881
+VPSUBSB_128(mem)
+  before
+    0d031757e33797b9.c7193ecdc31cbc93.92ee84887b9f5d49.1b2cd688006c9768
+    592304ff316bebc5.ffe6313a2723f5f2.2b1d0cb08e608f05.94994d4ae4791ef4
+    f17fd41a8b4ed0d1.fbab994e7fc54136.e2617c145f0a34ec.6399fb3c2f1c5950
+    b0e205920ceb020b.17b67375688eda0c.92874da009a8082a.e477dccc7cdf8428
+    7280ec656751da27
+  after
+    0d031757e33797b9.c7193ecdc31cbc93.92ee84887b9f5d49.1b2cd688006c9768
+    592304ff316bebc5.ffe6313a2723f5f2.2b1d0cb08e608f05.94994d4ae4791ef4
+    0000000000000000.0000000000000000.7f2f7f28807f80bc.8080777fe40d7f8c
+    b0e205920ceb020b.17b67375688eda0c.92874da009a8082a.e477dccc7cdf8428
+    7280ec656751da27
+
+VPSLLD_0x05_128(reg)
+  before
+    6b0028738dfb98fa.71191355d14e3d9d.b051b91b7d0afc20.165afd40a847c7ea
+    2a438b62896bfa4d.12f0784df5833cb3.20c969ac5bc6e41d.4ca807e059f12c59
+    0a95119ef82c3bcb.6d33b2689597bc7a.c4697e949d4dcfb0.0e3ce76c38b4f4a2
+    6942b69376cb9821.60ae3c91cc95781e.f87ff43fdf2bf684.3ae119d05f9cdbf2
+    aa6419f9edb49c74
+  after
+    0000000000000000.0000000000000000.0ffe87e0e57ed080.5c233a00f39b7e40
+    2a438b62896bfa4d.12f0784df5833cb3.20c969ac5bc6e41d.4ca807e059f12c59
+    0a95119ef82c3bcb.6d33b2689597bc7a.c4697e949d4dcfb0.0e3ce76c38b4f4a2
+    6942b69376cb9821.60ae3c91cc95781e.f87ff43fdf2bf684.3ae119d05f9cdbf2
+    aa6419f9edb49c74
+VPSLLD_0x05_128(mem)
+  before
+    3c9164d1fb08f455.a19577ae9dd34dfa.c52d92b4b6892dca.1856c719beed9846
+    ca347546a8a49fc1.10db4f590cd09503.797b30bd708097ab.8039f48fd61eefa2
+    3119c8420d9559e3.10603a025c4faee7.59659398168572ec.8c75760bc24a3843
+    4e0bdab348e6dde8.ff7034132bdbd253.3fb73531c2a57abb.985649fb1efeafd6
+    002869c987c58f06
+  after
+    3c9164d1fb08f455.a19577ae9dd34dfa.c52d92b4b6892dca.1856c719beed9846
+    ca347546a8a49fc1.10db4f590cd09503.797b30bd708097ab.8039f48fd61eefa2
+    3119c8420d9559e3.10603a025c4faee7.59659398168572ec.8c75760bc24a3843
+    4e0bdab348e6dde8.ff7034132bdbd253.3fb73531c2a57abb.985649fb1efeafd6
+    002869c987c58f06
+
+VPSLLD_0x05_128(reg)
+  before
+    2037d3e3992c1580.fbd8258475a4e8fb.375739fa15003ef3.083d947593eb6a41
+    54ce82b4eebe7df0.154a27a1afda364a.16614622b54a2d72.91c32b4ea363ffac
+    f83b72a825070201.782e5bf6139482fe.f6d956f7a846dc7d.b41577aa0e19f428
+    67c89f2bd793e260.01503d6fbcde8945.340d65e5898087c0.4efef373f11a07e1
+    3b4c1a976771f202
+  after
+    0000000000000000.0000000000000000.81acbca03010f800.dfde6e602340fc20
+    54ce82b4eebe7df0.154a27a1afda364a.16614622b54a2d72.91c32b4ea363ffac
+    f83b72a825070201.782e5bf6139482fe.f6d956f7a846dc7d.b41577aa0e19f428
+    67c89f2bd793e260.01503d6fbcde8945.340d65e5898087c0.4efef373f11a07e1
+    3b4c1a976771f202
+VPSLLD_0x05_128(mem)
+  before
+    57c96a018d2b71b7.ffc205a9a3ef57b8.8a7c4af8c6c5074b.2d476f58f4826ae6
+    7f425f9d7e53422e.1b75a18e22a69db6.f07dfc7e4e54b83c.3bd471bc86dac09b
+    8d83735757f51f90.172d6e47f345f205.0f21d1eb70985743.bb00657ddb14c68d
+    5e58241b331ec50c.4e36683eaf579052.c332442d479ca18c.091649088ebbb865
+    816418c73b5bd1d2
+  after
+    57c96a018d2b71b7.ffc205a9a3ef57b8.8a7c4af8c6c5074b.2d476f58f4826ae6
+    7f425f9d7e53422e.1b75a18e22a69db6.f07dfc7e4e54b83c.3bd471bc86dac09b
+    8d83735757f51f90.172d6e47f345f205.0f21d1eb70985743.bb00657ddb14c68d
+    5e58241b331ec50c.4e36683eaf579052.c332442d479ca18c.091649088ebbb865
+    816418c73b5bd1d2
+
+VPSLLD_0x05_128(reg)
+  before
+    8034cf287f804e7e.ce8cedd52fd9f0cc.1edb8be1f468b449.e87dd22eef6c5244
+    60d46895f5b76b15.b9ec4a7166325bfc.e269d39a5e049995.5acef5dc85152697
+    7e8ee17c3a8b6445.fb45b8dbf436c3ca.f52d3dd788b87ce3.f5f12b2224a2d8b1
+    36af3548e98874b7.7061b100f6f0e45f.b571c4030f1099df.95b2efece91f25bd
+    16dcbd26ef99c8e7
+  after
+    0000000000000000.0000000000000000.ae388060e2133be0.b65dfd8023e4b7a0
+    60d46895f5b76b15.b9ec4a7166325bfc.e269d39a5e049995.5acef5dc85152697
+    7e8ee17c3a8b6445.fb45b8dbf436c3ca.f52d3dd788b87ce3.f5f12b2224a2d8b1
+    36af3548e98874b7.7061b100f6f0e45f.b571c4030f1099df.95b2efece91f25bd
+    16dcbd26ef99c8e7
+VPSLLD_0x05_128(mem)
+  before
+    543c12bc531b7f5c.e48260659f3bd81a.f30db3ca886c79ea.7c8164898e962c34
+    2b9f689a30b10448.e4555f3ff72fcc18.62153927c5b64095.a8ab1ad7a1d8718f
+    76cf3daca36814d6.92722d428ef08c5d.9844bf02c9dbf38c.933ae059e561a39b
+    13990cdec74b6a33.4a27c6daff0b5397.7168c247b1e74efc.9b79b479f5beff05
+    1ab591a46e7ac078
+  after
+    543c12bc531b7f5c.e48260659f3bd81a.f30db3ca886c79ea.7c8164898e962c34
+    2b9f689a30b10448.e4555f3ff72fcc18.62153927c5b64095.a8ab1ad7a1d8718f
+    76cf3daca36814d6.92722d428ef08c5d.9844bf02c9dbf38c.933ae059e561a39b
+    13990cdec74b6a33.4a27c6daff0b5397.7168c247b1e74efc.9b79b479f5beff05
+    1ab591a46e7ac078
+
+VPSRLD_0x05_128(reg)
+  before
+    6d3a7346ec2123a1.ddc8521db966c38b.67be2674e70b5e6f.c94bbce198e40f11
+    f15457cc0940642c.b02a895394c6db09.4784497ae17de894.7bba2bbe9be0f0f6
+    004f37a06462bfc4.67892f6e74766eda.45c52c5989ec2fb0.65818acad5e7aed8
+    f777113096137016.e0b3bf5976823729.bdccc97e7ce46d6f.626c56ef630404e3
+    4d47091a6043af42
+  after
+    0000000000000000.0000000000000000.05ee664b03e7236b.031362b703182027
+    f15457cc0940642c.b02a895394c6db09.4784497ae17de894.7bba2bbe9be0f0f6
+    004f37a06462bfc4.67892f6e74766eda.45c52c5989ec2fb0.65818acad5e7aed8
+    f777113096137016.e0b3bf5976823729.bdccc97e7ce46d6f.626c56ef630404e3
+    4d47091a6043af42
+VPSRLD_0x05_128(mem)
+  before
+    04dd2137e9b06b22.3317e0e73ee0b2ce.f672b500b6f7f423.0be71e5456f1df7e
+    62fc19331958f4ae.0e7ca130f554c297.84938d4f4fe05ef3.8a602746b2a0c089
+    426e6df80d460613.e5f24e7959fbdb1d.68e1c4325d4934c7.9885dec22c7c4e3b
+    82009a74e0865c7c.14c5e52d06623b0d.7c2ad595fd3f30c8.90a041336112c341
+    cdfd4b05eced5b47
+  after
+    04dd2137e9b06b22.3317e0e73ee0b2ce.f672b500b6f7f423.0be71e5456f1df7e
+    62fc19331958f4ae.0e7ca130f554c297.84938d4f4fe05ef3.8a602746b2a0c089
+    426e6df80d460613.e5f24e7959fbdb1d.68e1c4325d4934c7.9885dec22c7c4e3b
+    82009a74e0865c7c.14c5e52d06623b0d.7c2ad595fd3f30c8.90a041336112c341
+    cdfd4b05eced5b47
+
+VPSRLD_0x05_128(reg)
+  before
+    adeaf8a46a9954f8.fc7e1b92af25b316.f74161b997141c13.9e393c644acd0f25
+    8bb2447d76a3e801.8eb46b3e952ec60d.eab2be87a99dbbdb.a8d9758b61008d07
+    c2a02cfaad96540d.126d0964aeae528c.4963f904d78a5310.78d7fdf75de2659d
+    b002aa89aafed3c9.65776ef017af13c0.70a20c9cbd66215e.e8ff4e925b815511
+    d51de64a76e91690
+  after
+    0000000000000000.0000000000000000.0385106405eb310a.0747fa7402dc0aa8
+    8bb2447d76a3e801.8eb46b3e952ec60d.eab2be87a99dbbdb.a8d9758b61008d07
+    c2a02cfaad96540d.126d0964aeae528c.4963f904d78a5310.78d7fdf75de2659d
+    b002aa89aafed3c9.65776ef017af13c0.70a20c9cbd66215e.e8ff4e925b815511
+    d51de64a76e91690
+VPSRLD_0x05_128(mem)
+  before
+    1cfd4109cb256745.af22bc940a67a3e0.649c17ceec40c5d5.bbb9f5bcf8be6172
+    976ad9bd7541025d.1d4d5d89685efeff.e9a981ea486a24f6.86f5afce241d4ff8
+    23322b519149a403.54ce8ad2616f20d2.d16a2730473beb4f.2da23640dc0f269c
+    9d1fb4b13a4a0964.b1f33ddd90244704.f9ab858d06bed70e.0c0c877dbc202309
+    7f7e9df161dd82eb
+  after
+    1cfd4109cb256745.af22bc940a67a3e0.649c17ceec40c5d5.bbb9f5bcf8be6172
+    976ad9bd7541025d.1d4d5d89685efeff.e9a981ea486a24f6.86f5afce241d4ff8
+    23322b519149a403.54ce8ad2616f20d2.d16a2730473beb4f.2da23640dc0f269c
+    9d1fb4b13a4a0964.b1f33ddd90244704.f9ab858d06bed70e.0c0c877dbc202309
+    7f7e9df161dd82eb
+
+VPSRLD_0x05_128(reg)
+  before
+    e246740866d17fef.dffeefc98c4fedac.91077415920bad42.3b3718eba000a35c
+    91ae082e688955c1.c69b5985a4650b06.4e552ae602b08f38.74dc5a38320b0d68
+    e70355cf028f410c.2ec26cd19e97209f.452a5cbc7c9d2891.8064c95ed7eecf5c
+    42915857d1727e7d.f33ea69a95f1e7a2.d3d204039d60b6f9.3b9ce04bacb2a565
+    82501ceacc654dae
+  after
+    0000000000000000.0000000000000000.069e902004eb05b7.01dce7020565952b
+    91ae082e688955c1.c69b5985a4650b06.4e552ae602b08f38.74dc5a38320b0d68
+    e70355cf028f410c.2ec26cd19e97209f.452a5cbc7c9d2891.8064c95ed7eecf5c
+    42915857d1727e7d.f33ea69a95f1e7a2.d3d204039d60b6f9.3b9ce04bacb2a565
+    82501ceacc654dae
+VPSRLD_0x05_128(mem)
+  before
+    2f4cf72754128164.fda40c3270bb4ac0.f1dd82caa5801e3c.529920280185731e
+    1f5cefee5fc6feb2.74876dcd7cf8df80.05697c4feb4f7f99.1fcbab9543969ba9
+    2e4c7f2b0a8c80c5.0288779290b47a6a.09af1013836ac7e4.96b3a1b7ff216c49
+    38e723cb7070c2c9.05f127ef487c5629.da7bbb0488ddb14a.139ffefbd2b220a8
+    f2d9bfcc57d4f472
+  after
+    2f4cf72754128164.fda40c3270bb4ac0.f1dd82caa5801e3c.529920280185731e
+    1f5cefee5fc6feb2.74876dcd7cf8df80.05697c4feb4f7f99.1fcbab9543969ba9
+    2e4c7f2b0a8c80c5.0288779290b47a6a.09af1013836ac7e4.96b3a1b7ff216c49
+    38e723cb7070c2c9.05f127ef487c5629.da7bbb0488ddb14a.139ffefbd2b220a8
+    f2d9bfcc57d4f472
+
+VPSRAD_0x05_128(reg)
+  before
+    90aedf952b132455.19fa57b8ad7f81e9.d70f774f41dbb16a.5499f70d16b5faf6
+    476a5ac4e9fbebfa.ad5198dfdec47951.d62e651d175dc5d8.52d5421a4afe5e15
+    74592cc42e198610.cfb8612d1f4b652f.5d9aecc7658fce20.b2fa18173fc299d3
+    73c6520195f83141.5dfb2e8d8b2103ad.c79f09b8c7fb0aee.4fd5f3f0120f665b
+    05335191def182da
+  after
+    0000000000000000.0000000000000000.fe3cf84dfe3fd857.027eaf9f00907b32
+    476a5ac4e9fbebfa.ad5198dfdec47951.d62e651d175dc5d8.52d5421a4afe5e15
+    74592cc42e198610.cfb8612d1f4b652f.5d9aecc7658fce20.b2fa18173fc299d3
+    73c6520195f83141.5dfb2e8d8b2103ad.c79f09b8c7fb0aee.4fd5f3f0120f665b
+    05335191def182da
+VPSRAD_0x05_128(mem)
+  before
+    b0deade6bf72a97b.9fffc6e7bb242739.32e67bea3e510df7.7288b65cda30b3ed
+    2ca383dcd3a0976b.564e86e33b2aa6a6.2a44c53255e73f3b.b8a3f1203ab706ca
+    544d4f5d338707d6.f3008d5fb295e831.21e28650ebf057a2.f63ab56e821e3e31
+    06aa8d57fd31b6e7.d261d8c8bbf22989.f28d3c301d770f5b.899afeb34ef199cd
+    cb0fc95c3bba514a
+  after
+    b0deade6bf72a97b.9fffc6e7bb242739.32e67bea3e510df7.7288b65cda30b3ed
+    2ca383dcd3a0976b.564e86e33b2aa6a6.2a44c53255e73f3b.b8a3f1203ab706ca
+    544d4f5d338707d6.f3008d5fb295e831.21e28650ebf057a2.f63ab56e821e3e31
+    06aa8d57fd31b6e7.d261d8c8bbf22989.f28d3c301d770f5b.899afeb34ef199cd
+    cb0fc95c3bba514a
+
+VPSRAD_0x05_128(reg)
+  before
+    19e510d3e407a256.1d84bab44dac60ca.4fbd618bf2cca758.7b0f62be07882490
+    d067d186e664ca9b.75a951623e04c0ad.c6602612f4af9c4a.973475e6c330516d
+    4ae307e0dc5b03c5.e9e3ce4cec4393ba.939522cb5d27450c.21caef95707a531f
+    e4a3af4c637a8a81.57ffae5e7477951d.11aa5121c8c1dd4a.f79c4eb52772e6d2
+    f4750d330725c6b1
+  after
+    0000000000000000.0000000000000000.008d5289fe460eea.ffbce275013b9736
+    d067d186e664ca9b.75a951623e04c0ad.c6602612f4af9c4a.973475e6c330516d
+    4ae307e0dc5b03c5.e9e3ce4cec4393ba.939522cb5d27450c.21caef95707a531f
+    e4a3af4c637a8a81.57ffae5e7477951d.11aa5121c8c1dd4a.f79c4eb52772e6d2
+    f4750d330725c6b1
+VPSRAD_0x05_128(mem)
+  before
+    f322a8fc299eafe9.faf4c338164d9b7b.99c86b84f2ac8203.9ee9b080d108a1af
+    d26f9cfbabe95ca6.e822410f925e715e.8d0c83aa81ed1598.959f39541589cde8
+    6b28631ba9138a13.0b79243d723b49d7.0d9671bc3d460b07.5118ea092fcf9da1
+    9c197b4a3e27f45c.bd45682f52705f91.f731b2a643c3207d.30a0be0bbc664c85
+    8c82b2c657db1841
+  after
+    f322a8fc299eafe9.faf4c338164d9b7b.99c86b84f2ac8203.9ee9b080d108a1af
+    d26f9cfbabe95ca6.e822410f925e715e.8d0c83aa81ed1598.959f39541589cde8
+    6b28631ba9138a13.0b79243d723b49d7.0d9671bc3d460b07.5118ea092fcf9da1
+    9c197b4a3e27f45c.bd45682f52705f91.f731b2a643c3207d.30a0be0bbc664c85
+    8c82b2c657db1841
+
+VPSRAD_0x05_128(reg)
+  before
+    c30cc0a69db93a80.3f0e5f73863257af.5bd10a4fcf88ee39.25aac055ae710f26
+    2f88e618298cf1ef.31d28c829e3f6f35.416b040a850f337b.75cd19b39b5b952d
+    2e431f8698e07739.4f327c63a25af81d.cb5d54cd0f916a02.c16638ae258e6ebe
+    1a89675e8542090b.73faad03ad8fae91.55f4f502099bcf7b.e641993069145607
+    c129b82782fc0831
+  after
+    0000000000000000.0000000000000000.02afa7a8004cde7b.ff320cc90348a2b0
+    2f88e618298cf1ef.31d28c829e3f6f35.416b040a850f337b.75cd19b39b5b952d
+    2e431f8698e07739.4f327c63a25af81d.cb5d54cd0f916a02.c16638ae258e6ebe
+    1a89675e8542090b.73faad03ad8fae91.55f4f502099bcf7b.e641993069145607
+    c129b82782fc0831
+VPSRAD_0x05_128(mem)
+  before
+    2cec127e8c4f416b.51a6ba0b8d3ee311.7af69a4cdbeb4cbe.3b7ce41710b89d91
+    04542221a51bbddf.2de515f94b5e40f6.41f2bf2b49798fcf.d8401b77bf7512f1
+    252e64fce66b37ba.0c9473935c305e67.a2ba998d124632f1.8a8e988eb35c6747
+    6c4654fb6d4c6c27.48fdd0475b407610.7a19a25c535df34f.acb056c888fbdb3e
+    9af45191d8dea882
+  after
+    2cec127e8c4f416b.51a6ba0b8d3ee311.7af69a4cdbeb4cbe.3b7ce41710b89d91
+    04542221a51bbddf.2de515f94b5e40f6.41f2bf2b49798fcf.d8401b77bf7512f1
+    252e64fce66b37ba.0c9473935c305e67.a2ba998d124632f1.8a8e988eb35c6747
+    6c4654fb6d4c6c27.48fdd0475b407610.7a19a25c535df34f.acb056c888fbdb3e
+    9af45191d8dea882
+
+VPUNPCKLWD_128(reg)
+  before
+    b0a4855542900bc1.b3686e0a56c91853.3e6d2880e418c79c.a5dd588627ca8c16
+    4a0def805f9d40a5.d75f2f16bceef769.4a3078ab94468bb7.00d036f6ab99b972
+    c37a8a7ecd9282da.b4f91209bbc7c496.c992bb320756ff0f.65bfb898fad7388e
+    793952bc28f90e0d.260093d170613c06.15dfec82d7d25f4d.b1765b58318fc397
+    c0c19a226bce17b8
+  after
+    0000000000000000.0000000000000000.65bf00d0b89836f6.fad7ab99388eb972
+    4a0def805f9d40a5.d75f2f16bceef769.4a3078ab94468bb7.00d036f6ab99b972
+    c37a8a7ecd9282da.b4f91209bbc7c496.c992bb320756ff0f.65bfb898fad7388e
+    793952bc28f90e0d.260093d170613c06.15dfec82d7d25f4d.b1765b58318fc397
+    c0c19a226bce17b8
+VPUNPCKLWD_128(mem)
+  before
+    6e6bf1e2c59ff01e.c79543a40b6120ea.09412e58f6c71be4.8b630a08a348e720
+    9742dc845a0e09f5.08d95aa41353f41c.3988608c6a061d5d.87690e2e0544d232
+    1710d7f547281f68.9a529126db5dc550.92a1a458e829fd9c.653ef66299505d2f
+    caa25f1fa7f8eea4.d74ce698ff0ad032.f05876a88a3c78ce.812ebc0ffcfbc3c5
+    37855ea1c9ce429d
+  after
+    6e6bf1e2c59ff01e.c79543a40b6120ea.09412e58f6c71be4.8b630a08a348e720
+    9742dc845a0e09f5.08d95aa41353f41c.3988608c6a061d5d.87690e2e0544d232
+    0000000000000000.0000000000000000.8b6387690a080e2e.a3480544e720d232
+    caa25f1fa7f8eea4.d74ce698ff0ad032.f05876a88a3c78ce.812ebc0ffcfbc3c5
+    37855ea1c9ce429d
+
+VPUNPCKLWD_128(reg)
+  before
+    e38fd8849d571466.8cc4eff0968a31d4.1d1354651ce7516d.2f7852686f4c491f
+    e1982424132176ca.3842035231eba625.c6f3d8f9ce7f83ae.2bceb484b0642eba
+    8deb40edc8b8a375.ace71733932607c3.30376cc0b05ea3a0.c02719e86c90e1cb
+    43d5274b57a9d815.c381a77ed94710d9.b52d0e265e11edf0.c94dfc80bcdd1f80
+    240dd939be56a303
+  after
+    0000000000000000.0000000000000000.c0272bce19e8b484.6c90b064e1cb2eba
+    e1982424132176ca.3842035231eba625.c6f3d8f9ce7f83ae.2bceb484b0642eba
+    8deb40edc8b8a375.ace71733932607c3.30376cc0b05ea3a0.c02719e86c90e1cb
+    43d5274b57a9d815.c381a77ed94710d9.b52d0e265e11edf0.c94dfc80bcdd1f80
+    240dd939be56a303
+VPUNPCKLWD_128(mem)
+  before
+    ac322cfd8e072a80.5fa2d5aa5c7f5153.59da301f1f5b7f93.b31fb99875239d49
+    3d8a72ba47fd7024.3d9e467775c74ade.4abf2d027f6d0e1f.845a69809020ee58
+    b2df265a0643311b.3915771c3b0cfe60.71fc1a1318897aa7.852a1b4b4c951dc9
+    e9ffc4cbe6e52890.af5363074cdaaa85.ac5d743e04bc7e57.13dbca66450d6647
+    88b8713c1514047f
+  after
+    ac322cfd8e072a80.5fa2d5aa5c7f5153.59da301f1f5b7f93.b31fb99875239d49
+    3d8a72ba47fd7024.3d9e467775c74ade.4abf2d027f6d0e1f.845a69809020ee58
+    0000000000000000.0000000000000000.b31f845ab9986980.752390209d49ee58
+    e9ffc4cbe6e52890.af5363074cdaaa85.ac5d743e04bc7e57.13dbca66450d6647
+    88b8713c1514047f
+
+VPUNPCKLWD_128(reg)
+  before
+    410f0f385a37341c.bdb4c8f803f013b0.faa406a244bd8afa.d6aeb56f5f11d75c
+    9a2a9dc8b00132cb.09cbaecd7a6faba7.78535c5bbe42da6b.caba5b93469441e2
+    f0561857b2fe3a38.ab0ff336666fafa0.84ad619d56f4d583.664fe194d4527814
+    9ddf7d51fdbb870e.7d4e121fe4fad9c8.79fe12d4a960b8ef.8437c3602556381f
+    023f7ee156ad3c2f
+  after
+    0000000000000000.0000000000000000.664fcabae1945b93.d4524694781441e2
+    9a2a9dc8b00132cb.09cbaecd7a6faba7.78535c5bbe42da6b.caba5b93469441e2
+    f0561857b2fe3a38.ab0ff336666fafa0.84ad619d56f4d583.664fe194d4527814
+    9ddf7d51fdbb870e.7d4e121fe4fad9c8.79fe12d4a960b8ef.8437c3602556381f
+    023f7ee156ad3c2f
+VPUNPCKLWD_128(mem)
+  before
+    ba338c058361416f.fe11c7222cc356fa.5d538774101ee64a.b5926a6c5211bf5b
+    8adf6bb7c780020c.6f37f236dca2e3a8.25e9ce2104e79253.93b565d1ee932572
+    4c0e96e33f163c31.4c9ffbfaa8e56ac3.b3dd6313df60980e.6eb2ff6f187227e1
+    de8e8a75062eab0b.f193dcd82c1726f7.e1fbc334ba95b6a8.a4d735b36d3b0153
+    8f6e0107887aef75
+  after
+    ba338c058361416f.fe11c7222cc356fa.5d538774101ee64a.b5926a6c5211bf5b
+    8adf6bb7c780020c.6f37f236dca2e3a8.25e9ce2104e79253.93b565d1ee932572
+    0000000000000000.0000000000000000.b59293b56a6c65d1.5211ee93bf5b2572
+    de8e8a75062eab0b.f193dcd82c1726f7.e1fbc334ba95b6a8.a4d735b36d3b0153
+    8f6e0107887aef75
+
+VPUNPCKHWD_128(reg)
+  before
+    8dc461d906b92cf2.1a29c15938d40bc5.ba61933e05c554f1.8d0f6972b492a54d
+    f82551938286f577.ddacb97bf214188c.03531b96cf792f5d.91e5d1b8e6642428
+    2eddcba3996d86b0.04e3edc74ffb8d8c.28b5714e24c1f5e6.ca4878f16f16ed66
+    8938cd74e6f81a48.699ad92a6c9427f0.85d58fd1a329e039.1506d80b68b5bd33
+    4ce96ff1ef4c50ba
+  after
+    0000000000000000.0000000000000000.28b50353714e1b96.24c1cf79f5e62f5d
+    f82551938286f577.ddacb97bf214188c.03531b96cf792f5d.91e5d1b8e6642428
+    2eddcba3996d86b0.04e3edc74ffb8d8c.28b5714e24c1f5e6.ca4878f16f16ed66
+    8938cd74e6f81a48.699ad92a6c9427f0.85d58fd1a329e039.1506d80b68b5bd33
+    4ce96ff1ef4c50ba
+VPUNPCKHWD_128(mem)
+  before
+    4cbeb88f20e76227.6681527205b5eeec.e99cfa8e65eca1e5.76fe738ae63c2d02
+    f1512fd11692aea8.22055609942f3e48.60b7cae1540eb996.577b18e7898617ec
+    176e51a4ed5af166.1711d5a52cf34607.aab5c70e58062930.83997a532993dba4
+    9ae098f2c24ae690.a2efcbb26b8c41d5.a4636c008ae0addf.58a5953b61f0b5d5
+    31e86609ce28e12c
+  after
+    4cbeb88f20e76227.6681527205b5eeec.e99cfa8e65eca1e5.76fe738ae63c2d02
+    f1512fd11692aea8.22055609942f3e48.60b7cae1540eb996.577b18e7898617ec
+    0000000000000000.0000000000000000.e99c60b7fa8ecae1.65ec540ea1e5b996
+    9ae098f2c24ae690.a2efcbb26b8c41d5.a4636c008ae0addf.58a5953b61f0b5d5
+    31e86609ce28e12c
+
+VPUNPCKHWD_128(reg)
+  before
+    6ab1e82a0bc89a55.577582a8b16f4b50.1fec359cec876c5f.288d35a509a903ce
+    5e4b170bb55b1dfb.28f78ab3d5d4dad2.eb530ed04c6e0351.13ff9fe8ee6de52a
+    6b01ef16676da6cb.ea332dfd4a855044.607252b827cf4157.418525b55736101e
+    eb216db9bd8b7170.79f5e5742d8f68cf.db93fec21836641c.8eeb43f9601240d7
+    d6fc759e240c3081
+  after
+    0000000000000000.0000000000000000.6072eb5352b80ed0.27cf4c6e41570351
+    5e4b170bb55b1dfb.28f78ab3d5d4dad2.eb530ed04c6e0351.13ff9fe8ee6de52a
+    6b01ef16676da6cb.ea332dfd4a855044.607252b827cf4157.418525b55736101e
+    eb216db9bd8b7170.79f5e5742d8f68cf.db93fec21836641c.8eeb43f9601240d7
+    d6fc759e240c3081
+VPUNPCKHWD_128(mem)
+  before
+    f5853791c0319d47.3cf58b5e543fb997.b109300399fddfa2.b8030c58bb2da64c
+    c75206bf4f8c4356.b9ca4773c818bbeb.6e3b8996abdb71e7.530f7ae8ad424395
+    282f5d12ed29ddd9.bdec9d63b49fb319.8c566c197e36daca.080043dd890179a0
+    f3e8b878b71529fd.a6a6879ab462dccd.e62856782f19d578.332563a3ecf5821c
+    30c9d7a671aa9ab3
+  after
+    f5853791c0319d47.3cf58b5e543fb997.b109300399fddfa2.b8030c58bb2da64c
+    c75206bf4f8c4356.b9ca4773c818bbeb.6e3b8996abdb71e7.530f7ae8ad424395
+    0000000000000000.0000000000000000.b1096e3b30038996.99fdabdbdfa271e7
+    f3e8b878b71529fd.a6a6879ab462dccd.e62856782f19d578.332563a3ecf5821c
+    30c9d7a671aa9ab3
+
+VPUNPCKHWD_128(reg)
+  before
+    5b379952b5acff11.064993dbc95be1ee.ce46028465ed73b2.5a7bc19fd9901f1d
+    10bda7135388ebe3.3c1d6a293d07c1d7.93160b8d63cab475.c31c2b7a99a874e5
+    aba5fd56e7c99bd5.7132ba4d322687e5.4f649d214987dbc2.fdd70ff68a6c90fa
+    883c95850efc4b93.8152fe33c2c3ed43.5f7ab5adb3af2344.e477eafdc9e82e8b
+    53ca367d71290bc2
+  after
+    0000000000000000.0000000000000000.4f6493169d210b8d.498763cadbc2b475
+    10bda7135388ebe3.3c1d6a293d07c1d7.93160b8d63cab475.c31c2b7a99a874e5
+    aba5fd56e7c99bd5.7132ba4d322687e5.4f649d214987dbc2.fdd70ff68a6c90fa
+    883c95850efc4b93.8152fe33c2c3ed43.5f7ab5adb3af2344.e477eafdc9e82e8b
+    53ca367d71290bc2
+VPUNPCKHWD_128(mem)
+  before
+    289a71609e3ae3cc.03ce6c0d64ab36c8.474ab2c709eab01e.20a54d9b3ecfc9a7
+    3eb516946d2771d4.77a67f5b84659920.a1e652f524a88ba1.ec30635985720999
+    70e5a104fafd7207.4212c9da0bb3b048.6af15baa2e083bfa.2069f25125241ec3
+    9cf78f9c60c7a291.bf5c46f59323b7ec.7d3948d044167c52.189af6f1b97246d4
+    31116ba4dee7ba76
+  after
+    289a71609e3ae3cc.03ce6c0d64ab36c8.474ab2c709eab01e.20a54d9b3ecfc9a7
+    3eb516946d2771d4.77a67f5b84659920.a1e652f524a88ba1.ec30635985720999
+    0000000000000000.0000000000000000.474aa1e6b2c752f5.09ea24a8b01e8ba1
+    9cf78f9c60c7a291.bf5c46f59323b7ec.7d3948d044167c52.189af6f1b97246d4
+    31116ba4dee7ba76
+
+VPADDUSB_128(reg)
+  before
+    c5184ed62f10b956.9cb75a48bb91bd9d.4ad1f31abb40e9b7.b888955581df0ad8
+    31fc99f348777d1f.4ef080f428687e57.3ebdcbb41d978356.f5abbe23026ea1b5
+    d1094a67c6aa437e.8c707c8cc257a2ed.f96cc92f55b3c075.126e3f28e2d0fc18
+    018a5d9e4535471e.3401cafca66ae589.d52aecf70020debf.e99d954f3d0fd82b
+    58043b83303af01b
+  after
+    0000000000000000.0000000000000000.ffe7ffff1db7ffff.ffffff723f7dffe0
+    31fc99f348777d1f.4ef080f428687e57.3ebdcbb41d978356.f5abbe23026ea1b5
+    d1094a67c6aa437e.8c707c8cc257a2ed.f96cc92f55b3c075.126e3f28e2d0fc18
+    018a5d9e4535471e.3401cafca66ae589.d52aecf70020debf.e99d954f3d0fd82b
+    58043b83303af01b
+VPADDUSB_128(mem)
+  before
+    396fadb2d75a0113.1dcdcc0560a2c5ac.2070e731efae0257.30432d79b96a17e1
+    6aa967c74d7dc740.811c9506b480f8d4.2e894e15ba2eb684.6502891f1d1ea886
+    c57fe6afaeaefecd.89c4b20edc581d41.38187a9622f7bd3c.cfb4fd57c7c8cc5b
+    27bea55417f962e7.9111228a74b870a0.1ce9ea9f4414d3aa.cca5848b54f2c10b
+    b6211a295f2ac143
+  after
+    396fadb2d75a0113.1dcdcc0560a2c5ac.2070e731efae0257.30432d79b96a17e1
+    6aa967c74d7dc740.811c9506b480f8d4.2e894e15ba2eb684.6502891f1d1ea886
+    0000000000000000.0000000000000000.4ef9ff46ffdcb8db.9545b698d688bfff
+    27bea55417f962e7.9111228a74b870a0.1ce9ea9f4414d3aa.cca5848b54f2c10b
+    b6211a295f2ac143
+
+VPADDUSB_128(reg)
+  before
+    ea74bc9b85fb08af.6d2f20a3a46baeba.f54fdee5192b2c9c.b4c7171b3b91b3fb
+    c5ea644f61f2d4fa.71a1d3886f0f9f71.11cae38a663d8ee2.dd807ff8247a1a5a
+    a1ce10b08f9a5fd1.10df3af097f2f039.41ce2ee7f87bd21d.73de9c211adcc4f4
+    db6ebb2aac7fe6e0.26b4d2c6361f5f3e.e1a6ba676a7033fb.53aeec8239c26cf5
+    57bceb079f39cf88
+  after
+    0000000000000000.0000000000000000.f2fffff1d0adc1ff.ffffffff5dff86ff
+    c5ea644f61f2d4fa.71a1d3886f0f9f71.11cae38a663d8ee2.dd807ff8247a1a5a
+    a1ce10b08f9a5fd1.10df3af097f2f039.41ce2ee7f87bd21d.73de9c211adcc4f4
+    db6ebb2aac7fe6e0.26b4d2c6361f5f3e.e1a6ba676a7033fb.53aeec8239c26cf5
+    57bceb079f39cf88
+VPADDUSB_128(mem)
+  before
+    5cd4139d654ca9da.d0146229542ea5d2.8fee16f568a2a6ab.4d9f837659a9ef25
+    3ec1e22ea907b616.da0dff192232d753.2857826b4a8881ac.e005868060b1404a
+    d951d3a78677b169.56a59067b217b910.cbbc9213f7dcae6e.f824bdf21c146214
+    094e62f519a757ff.a027107da16a87b5.55e9c3d98baae71d.f0482636285e932f
+    24bdbcb9211c0d48
+  after
+    5cd4139d654ca9da.d0146229542ea5d2.8fee16f568a2a6ab.4d9f837659a9ef25
+    3ec1e22ea907b616.da0dff192232d753.2857826b4a8881ac.e005868060b1404a
+    0000000000000000.0000000000000000.b7ff98ffb2ffffff.ffa4fff6b9ffff6f
+    094e62f519a757ff.a027107da16a87b5.55e9c3d98baae71d.f0482636285e932f
+    24bdbcb9211c0d48
+
+VPADDUSB_128(reg)
+  before
+    efce7be8a2d90d0b.aa850b037ea36403.15e17bc88bb67cee.a2aa8fa924fee9e5
+    afc8602d4822ce23.98c24bbcd07794a2.0f1dcdb50b88d566.8eca746fdbe570f1
+    bef866f6ae828d3d.afd19d0e2b30a207.eb2903afbd6acec9.f517ee17ce6b376d
+    7aa888ae70858605.cb7e7ce4acda4b5f.054f18213eeaa3c5.b35b778e199afb86
+    a4638dbed7807868
+  after
+    0000000000000000.0000000000000000.146ce5d649ffffff.ffffebfdf4ffffff
+    afc8602d4822ce23.98c24bbcd07794a2.0f1dcdb50b88d566.8eca746fdbe570f1
+    bef866f6ae828d3d.afd19d0e2b30a207.eb2903afbd6acec9.f517ee17ce6b376d
+    7aa888ae70858605.cb7e7ce4acda4b5f.054f18213eeaa3c5.b35b778e199afb86
+    a4638dbed7807868
+VPADDUSB_128(mem)
+  before
+    a4fbaa952428693e.3d24c5c12bb8f526.c894672a6e7f4ad6.b9dc087929948f03
+    8eef4cfd1d9f8c35.65ba169b7ba6164c.82e1d7cc8e2d5d97.631bcf221bf3cf32
+    400aefe4def09b79.4cb579a8fbdb2425.d52f4ab627f03ecf.5f5a6988af939ffc
+    951a0d3582275235.5060e85447e45c5b.9d4b3bd456d2aaa9.09e4d31782003b0d
+    bd04083c2fc7de12
+  after
+    a4fbaa952428693e.3d24c5c12bb8f526.c894672a6e7f4ad6.b9dc087929948f03
+    8eef4cfd1d9f8c35.65ba169b7ba6164c.82e1d7cc8e2d5d97.631bcf221bf3cf32
+    0000000000000000.0000000000000000.fffffff6fcaca7ff.fff7d79b44ffff35
+    951a0d3582275235.5060e85447e45c5b.9d4b3bd456d2aaa9.09e4d31782003b0d
+    bd04083c2fc7de12
+
+VPMULHUW_128(reg)
+  before
+    d70704615273c5b7.69e924dc25516f96.cb08610bfc4cf99a.b501261336e15c52
+    b339c3f388902ba8.9844afc5e479acc7.1bf9e03ab59f388f.fb1c875de32911f6
+    ace6425f6dab4e90.fdf72adcdaabc6f5.9a7f5f4b0f6955e6.4a6adba07ab485c0
+    205a7c0f9c4f681b.76ce110d24f4784c.a5e6dcaca5378c4a.7eb59cc6179074dd
+    72cb48bdd5c99978
+  after
+    0000000000000000.0000000000000000.1220c14875361efe.7c4952e514e80832
+    b339c3f388902ba8.9844afc5e479acc7.1bf9e03ab59f388f.fb1c875de32911f6
+    ace6425f6dab4e90.fdf72adcdaabc6f5.9a7f5f4b0f6955e6.4a6adba07ab485c0
+    205a7c0f9c4f681b.76ce110d24f4784c.a5e6dcaca5378c4a.7eb59cc6179074dd
+    72cb48bdd5c99978
+VPMULHUW_128(mem)
+  before
+    04765a70d069b2be.6ae06d71b109b6f6.de95e144dd5f7ff7.997a52c714951968
+    0e834fcb257e78da.e6c511f0496473cd.1017156e22f99722.d086bd0af70e37eb
+    6ebea2baf014aaf9.ef5664f800ecdd4b.ea2229750ecc7cfb.a75719e0eb2e2380
+    fff2ce294c360247.e3dd63f5712e2e1d.46809947bee6eaac.7a3a63b58b8118d3
+    a57995f57494548f
+  after
+    04765a70d069b2be.6ae06d71b109b6f6.de95e144dd5f7ff7.997a52c714951968
+    0e834fcb257e78da.e6c511f0496473cd.1017156e22f99722.d086bd0af70e37eb
+    0000000000000000.0000000000000000.0dfd12db1e3d4b8b.7d033d2013dc058c
+    fff2ce294c360247.e3dd63f5712e2e1d.46809947bee6eaac.7a3a63b58b8118d3
+    a57995f57494548f
+
+VPMULHUW_128(reg)
+  before
+    8460ad0c41f21161.9ced510455f03def.1da7095338b4a2ef.02fee1ce4d539c61
+    743da7668e278cf4.2279a738284e171e.f8ff527ef20d776c.f8687ef8d71e4f47
+    cf5b7d6ff8c000f5.6e634aafe05d4b00.d2333ae23ac2e740.068aebb07953be8a
+    f2052d941b48aa10.5a77b8569a2897c0.058dbeebad612f19.062fa4e24ffea655
+    d625257a742cc3d5
+  after
+    0000000000000000.0000000000000000.05663d85a3ee15f8.060051c643373382
+    743da7668e278cf4.2279a738284e171e.f8ff527ef20d776c.f8687ef8d71e4f47
+    cf5b7d6ff8c000f5.6e634aafe05d4b00.d2333ae23ac2e740.068aebb07953be8a
+    f2052d941b48aa10.5a77b8569a2897c0.058dbeebad612f19.062fa4e24ffea655
+    d625257a742cc3d5
+VPMULHUW_128(mem)
+  before
+    5036eb6404e8d136.3988b23f924bc6f0.c4816c1a71bcb48a.ef5bd906e6758aa1
+    512f718c1c3f8ca3.003008def9569042.864de2e68223618c.eae7879d828b3584
+    b6dc33dfd83baf48.a3492bdbedf443b1.7da696a5e86c58f0.547ec41e1c2e6d6f
+    5909ad4753ebf752.7d1f17a40ab21cea.865a0545bfa056e2.876c8cf451ea6b0e
+    e1fcdc8bbc4c6e0c
+  after
+    5036eb6404e8d136.3988b23f924bc6f0.c4816c1a71bcb48a.ef5bd906e6758aa1
+    512f718c1c3f8ca3.003008def9569042.864de2e68223618c.eae7879d828b3584
+    0000000000000000.0000000000000000.67165fd039d144cb.dba172f775841cfa
+    5909ad4753ebf752.7d1f17a40ab21cea.865a0545bfa056e2.876c8cf451ea6b0e
+    e1fcdc8bbc4c6e0c
+
+VPMULHUW_128(reg)
+  before
+    bc7caf4ef9dfb016.17815bb2a9581fed.ecfdc9a4eb1b5799.7b33aab125cd178f
+    753601aba52f6ed7.cc12ba0af790e545.4b313c472cbb3069.39fe01d533fe5723
+    6977ce0d5cc9e3fd.5586453d589e0385.f6056cf96a1ee207.9c87869d0740d1c9
+    f28b13e1b9384d31.8cab7836e98f35d9.49c6562640d1aa1e.809ab5f6bd9d42ae
+    c2020bca702465fd
+  after
+    0000000000000000.0000000000000000.15ab14480b53202b.1d21014d268216b2
+    753601aba52f6ed7.cc12ba0af790e545.4b313c472cbb3069.39fe01d533fe5723
+    6977ce0d5cc9e3fd.5586453d589e0385.f6056cf96a1ee207.9c87869d0740d1c9
+    f28b13e1b9384d31.8cab7836e98f35d9.49c6562640d1aa1e.809ab5f6bd9d42ae
+    c2020bca702465fd
+VPMULHUW_128(mem)
+  before
+    3c8d03063cdef8e3.6dbeca915808e621.4e4bcfe1c56e396f.9fc0f43a4b5fc35b
+    cb0519973ed9b58c.365cf18ad6c6ea79.7732c7290947c970.563f44a226556b6a
+    4b37ca6891205923.a9b08339cffd97e5.e32edafdd027a20b.c98e41c86d3edcf6
+    98ef906452c09fd5.23087d08de392710.6e0a86463618806a.53fbe71abea653ab
+    52d03302b2190b37
+  after
+    3c8d03063cdef8e3.6dbeca915808e621.4e4bcfe1c56e396f.9fc0f43a4b5fc35b
+    cb0519973ed9b58c.365cf18ad6c6ea79.7732c7290947c970.563f44a226556b6a
+    0000000000000000.0000000000000000.2474a1b907272d31.35d141790b4951f7
+    98ef906452c09fd5.23087d08de392710.6e0a86463618806a.53fbe71abea653ab
+    52d03302b2190b37
+
+VPADDUSW_128(reg)
+  before
+    215a20eee7244244.8ef9e9799dc444cd.feaed9659f07d7a6.f49146f158291eb9
+    1be5aa49f953327e.092150928c380438.97ef95bbaff2e354.519097ea52633926
+    9ebdcd7f83301792.e532419b3e299b42.4a17ac76a98786c6.61d3f31e3fd48dda
+    042e85fc21492f2c.fdfa3980cca2c416.73721b022a50fda8.0026d8773c88d504
+    0a55c1e36489cfce
+  after
+    0000000000000000.0000000000000000.ffffb0bdda42ffff.51b6ffff8eebffff
+    1be5aa49f953327e.092150928c380438.97ef95bbaff2e354.519097ea52633926
+    9ebdcd7f83301792.e532419b3e299b42.4a17ac76a98786c6.61d3f31e3fd48dda
+    042e85fc21492f2c.fdfa3980cca2c416.73721b022a50fda8.0026d8773c88d504
+    0a55c1e36489cfce
+VPADDUSW_128(mem)
+  before
+    5a2c2b4dd3e53564.ab83cf2c7029b4f7.2f43b22d55af3ce1.6e4bdccbcddc84a5
+    ce7690a0a6a8c3f3.ed0aa67b0c5de3a0.56da2a8ff25dbfce.97f0ed3d2eb45669
+    41016ecaf8dc37a7.280d06558f70f7d3.4e8b1c90c1b7090a.4aab49c4eb66b1a1
+    8f9740b6e68f4bab.b6d9eb2698ee2e3b.f321041ddec9d5c0.e2c9eccc9d7dcff9
+    bd96d2c2e285ec1d
+  after
+    5a2c2b4dd3e53564.ab83cf2c7029b4f7.2f43b22d55af3ce1.6e4bdccbcddc84a5
+    ce7690a0a6a8c3f3.ed0aa67b0c5de3a0.56da2a8ff25dbfce.97f0ed3d2eb45669
+    0000000000000000.0000000000000000.861ddcbcfffffcaf.fffffffffc90db0e
+    8f9740b6e68f4bab.b6d9eb2698ee2e3b.f321041ddec9d5c0.e2c9eccc9d7dcff9
+    bd96d2c2e285ec1d
+
+VPADDUSW_128(reg)
+  before
+    365ef810560b46b7.930582508bcdbc2c.f4ba515bc164c284.206a5f2364a0e01e
+    a96d5824949a1776.2b17b08504a04556.3ffc355ea65def5c.b330a88d7047e64d
+    720ef06838bf9c04.3298473f6c16a354.f1ea929de465f36c.87415b461dcaa27c
+    ec8fbc4adf05100e.8356c26be03b9253.67d2648316090863.7767f43c8736d1d5
+    616fef5acb962f84
+  after
+    0000000000000000.0000000000000000.a7ce99e1bc66f7bf.fffffffff77dffff
+    a96d5824949a1776.2b17b08504a04556.3ffc355ea65def5c.b330a88d7047e64d
+    720ef06838bf9c04.3298473f6c16a354.f1ea929de465f36c.87415b461dcaa27c
+    ec8fbc4adf05100e.8356c26be03b9253.67d2648316090863.7767f43c8736d1d5
+    616fef5acb962f84
+VPADDUSW_128(mem)
+  before
+    2025c98c04f677b6.753ab63525f8b03f.fc1b9df67b19ce7e.fdfea77cd8d46beb
+    8f54fdbe4f636797.685cdc95a524b844.77b454ca5abf1302.0fbb58f4c85258b0
+    8cca07dcc8e8b952.204129d6fb1664c9.d2ed63d598361c0a.fa5572577f100a60
+    f15163d389922914.fb359964c45aef79.e7924702528ca6c3.1818f1119b99bea5
+    c650d18eb879b02b
+  after
+    2025c98c04f677b6.753ab63525f8b03f.fc1b9df67b19ce7e.fdfea77cd8d46beb
+    8f54fdbe4f636797.685cdc95a524b844.77b454ca5abf1302.0fbb58f4c85258b0
+    0000000000000000.0000000000000000.fffff2c0d5d8e180.ffffffffffffc49b
+    f15163d389922914.fb359964c45aef79.e7924702528ca6c3.1818f1119b99bea5
+    c650d18eb879b02b
+
+VPADDUSW_128(reg)
+  before
+    60480e3a713d1b9f.9bb68e8db16c7508.548328ab9b7a9700.946f7b3da3cc6c59
+    424ea58262703cac.67c502f85982575c.8679d3181d04950c.b3507b72a7022bf7
+    c8ac91d0289f4f00.2f4a3dfea0e08c39.ef619415e5832847.2200c38d7b3b9fca
+    4eafce925f559044.d111ba8d9f93d0cd.e988691090848a5d.bb4cd07a3b8284fe
+    5b011d2502e496be
+  after
+    0000000000000000.0000000000000000.ffffffffad88ffff.ffffffffe284b0f5
+    424ea58262703cac.67c502f85982575c.8679d3181d04950c.b3507b72a7022bf7
+    c8ac91d0289f4f00.2f4a3dfea0e08c39.ef619415e5832847.2200c38d7b3b9fca
+    4eafce925f559044.d111ba8d9f93d0cd.e988691090848a5d.bb4cd07a3b8284fe
+    5b011d2502e496be
+VPADDUSW_128(mem)
+  before
+    dfe9257aec6c9036.30a35832a21e3a27.27e5f69075a6de44.d23a4e73b992f8fb
+    21d0676616262f94.cad32c1e8d868a53.0e946bf23b2673ca.04c33dacfd39aecd
+    fe845cd39b1e2e02.788d44c1bd1abc74.62e897a10f1e4b8a.dc6e3426f706e77e
+    52cf82af98614bac.951b9e87cd650c38.00aef5880d9a21b0.b7892d4d4384e1bb
+    ef5e268d7e3fd52f
+  after
+    dfe9257aec6c9036.30a35832a21e3a27.27e5f69075a6de44.d23a4e73b992f8fb
+    21d0676616262f94.cad32c1e8d868a53.0e946bf23b2673ca.04c33dacfd39aecd
+    0000000000000000.0000000000000000.3679ffffb0ccffff.d6fd8c1fffffffff
+    52cf82af98614bac.951b9e87cd650c38.00aef5880d9a21b0.b7892d4d4384e1bb
+    ef5e268d7e3fd52f
+
+VPMULLW_128(reg)
+  before
+    e13a1b5244c40287.fa7f54e428fa40bf.7fcb35dc5af4b548.c2b2019450a6b26a
+    ea690608309ea26f.d05e4e6068f6c967.91e7062cff51f453.85c038aff44fbae1
+    6437e51bde59f292.b139ec0e7360a4cf.27bc0be3590b0503.25a315c616a0f544
+    acf0b3f8eb822e9d.79dcaada66448b24.9c96426e03ab2304.7e2913c6d2a61ebd
+    6c1cb199436cf278
+  after
+    0000000000000000.0000000000000000.415afee87e1b2a4c.ebc0d45a393a561d
+    ea690608309ea26f.d05e4e6068f6c967.91e7062cff51f453.85c038aff44fbae1
+    6437e51bde59f292.b139ec0e7360a4cf.27bc0be3590b0503.25a315c616a0f544
+    acf0b3f8eb822e9d.79dcaada66448b24.9c96426e03ab2304.7e2913c6d2a61ebd
+    6c1cb199436cf278
+VPMULLW_128(mem)
+  before
+    cb49682d85fe2da3.1ee06c09f3a4923c.041305b05caf3b91.4ec0a6379abf8b03
+    777cb56cb5698b67.16520cbc904b591a.2ea9787c72ac7043.988834acb9d279ac
+    4c811544eeb8c7f3.f093907b6104c0e3.d36c7f2bc347e566.d538e637fd7129aa
+    262403a04df79e71.09eff3b4005a0244.cf2697a76b8c5725.631dba460127d6aa
+    9d83ab446180bd58
+  after
+    cb49682d85fe2da3.1ee06c09f3a4923c.041305b05caf3b91.4ec0a6379abf8b03
+    777cb56cb5698b67.16520cbc904b591a.2ea9787c72ac7043.988834acb9d279ac
+    0000000000000000.0000000000000000.1a8b4140339406f3.d600d8f4f7aed104
+    262403a04df79e71.09eff3b4005a0244.cf2697a76b8c5725.631dba460127d6aa
+    9d83ab446180bd58
+
+VPMULLW_128(reg)
+  before
+    deb6b59cba091a5f.e130fb6ced33cb0d.bbb231d209da5de9.fea43add878882ad
+    8402d4bca84c286b.59737a94eb770cf5.63284641190e0b7e.3cb2e6ba33472129
+    e9b20510c6d8242a.6ab7fb0462cf1b52.5d9d2f6dcb8449ae.651c16288ad3f2c6
+    6a144302b0364a46.f0c9f9a96f47b553.055ce6c2bbc85225.54ad4615a83aafaf
+    e733f36caa881412
+  after
+    0000000000000000.0000000000000000.6a60a342ccf00536.6c4ac9423616b207
+    8402d4bca84c286b.59737a94eb770cf5.63284641190e0b7e.3cb2e6ba33472129
+    e9b20510c6d8242a.6ab7fb0462cf1b52.5d9d2f6dcb8449ae.651c16288ad3f2c6
+    6a144302b0364a46.f0c9f9a96f47b553.055ce6c2bbc85225.54ad4615a83aafaf
+    e733f36caa881412
+VPMULLW_128(mem)
+  before
+    f9789819abc7df18.64728aff03f4d66b.c675f26d2dec9522.b6b269ac87656390
+    6649b108c805caf0.3119d6735a9e0346.ca86623db9ca78eb.ceecb398c8e7b89b
+    0972ba251d4e92c4.2f5523cb52be0e83.d7cac3062eec1adb.a854c1f01cda8df1
+    c0bf2f5cc4acf2c0.b8726e7186e233cd.c90b93b3a85e371e.a0368d211fcb1d3f
+    12e015986c45a531
+  after
+    f9789819abc7df18.64728aff03f4d66b.c675f26d2dec9522.b6b269ac87656390
+    6649b108c805caf0.3119d6735a9e0346.ca86623db9ca78eb.ceecb398c8e7b89b
+    0000000000000000.0000000000000000.333e7df9c838d636.a81802201423c830
+    c0bf2f5cc4acf2c0.b8726e7186e233cd.c90b93b3a85e371e.a0368d211fcb1d3f
+    12e015986c45a531
+
+VPMULLW_128(reg)
+  before
+    5a9d54c09fd56172.66fc8d9adc2ea711.29bbb2d39396add1.7b174d2f442c8adf
+    d3b8460455068daf.d6f44ec97edd6de3.de7eeb5c1464b93a.cbb86d681e63d14b
+    db7ee8d22a646493.ee75f0d6c8c70061.34051578a6da93b5.94bb7049510ec58e
+    cd3b3495b97b23cb.8849efaed6f71cb8.859d2d92e48477ee.b1ecd0bef93925d3
+    00160bb333f1ab47
+  after
+    0000000000000000.0000000000000000.e9466678939029ec.05a0b3300f0b57d1
+    d3b8460455068daf.d6f44ec97edd6de3.de7eeb5c1464b93a.cbb86d681e63d14b
+    db7ee8d22a646493.ee75f0d6c8c70061.34051578a6da93b5.94bb7049510ec58e
+    cd3b3495b97b23cb.8849efaed6f71cb8.859d2d92e48477ee.b1ecd0bef93925d3
+    00160bb333f1ab47
+VPMULLW_128(mem)
+  before
+    5b079c141a411415.043b28b99ed80603.823dc53cc3797c14.2e922e186beca090
+    a089ffcecb351c6a.decabfab760748e6.b61df06bac5adda0.8b301476d6a04b48
+    a969b1cb61da7e71.b533f6d5dc922620.02b5eb29aca5fa88.f8c3db16c12cb4c1
+    53732df9f93bf857.e7c4c7a46d07dc5f.40d03261df6690fa.d1967f65c91b16a8
+    72f6fdcf8af9afa9
+  after
+    5b079c141a411415.043b28b99ed80603.823dc53cc3797c14.2e922e186beca090
+    a089ffcecb351c6a.decabfab760748e6.b61df06bac5adda0.8b301476d6a04b48
+    0000000000000000.0000000000000000.1ee9b014048ad080.01601f10bb805880
+    53732df9f93bf857.e7c4c7a46d07dc5f.40d03261df6690fa.d1967f65c91b16a8
+    72f6fdcf8af9afa9
+
+VPSHUFHW_0x39_128(reg)
+  before
+    373050c19f52b96f.7b73ef42ae654348.cec73085c4f1a64d.4e3c41ff62aa5b20
+    7c8e74a5a4b370a7.fb3573949d631e6f.c8892ce27eddbf96.06c395ef517c1726
+    9d5d65e936a712fc.b08435dae14143f9.2f56b729365664e7.4532a81ec7e98039
+    f6e820f8f1bbd91b.772eb200970b6f11.617acec489e8d1ec.e855f876e0fc5185
+    c9f801e4b9c14735
+  after
+    0000000000000000.0000000000000000.d1ec617acec489e8.e855f876e0fc5185
+    7c8e74a5a4b370a7.fb3573949d631e6f.c8892ce27eddbf96.06c395ef517c1726
+    9d5d65e936a712fc.b08435dae14143f9.2f56b729365664e7.4532a81ec7e98039
+    f6e820f8f1bbd91b.772eb200970b6f11.617acec489e8d1ec.e855f876e0fc5185
+    c9f801e4b9c14735
+VPSHUFHW_0x39_128(mem)
+  before
+    c5e73d556d441d76.e37d9f3e6f7902b0.2afd64f1dace5ee5.b8416b2112204150
+    b8ed2ab319929173.c066e0274f6fc866.a6beca9cc795cc9e.92f68cab6d89f1c0
+    7fd742ecd8b75d59.e9f1df1f2a2968ea.c73d5dea796d746a.49e72cce37af1de7
+    f47204ebc7bd3d54.b96896929f321ee7.6a469ac80c611375.3a5e47f60c1f0172
+    c1a8da8f8764d80d
+  after
+    c5e73d556d441d76.e37d9f3e6f7902b0.2afd64f1dace5ee5.b8416b2112204150
+    0000000000000000.0000000000000000.2afd5ee5dace64f1.b8416b2112204150
+    7fd742ecd8b75d59.e9f1df1f2a2968ea.c73d5dea796d746a.49e72cce37af1de7
+    f47204ebc7bd3d54.b96896929f321ee7.6a469ac80c611375.3a5e47f60c1f0172
+    c1a8da8f8764d80d
+
+VPSHUFHW_0x39_128(reg)
+  before
+    3b11e006440adf63.f488e99c01b2ef8f.8e1803ec4716260a.69a4fe229d7d64eb
+    02e455c5e09e5221.5be56eeba3a12d37.c34c2099c162bbff.a12504e547ce25f7
+    736f3539f7ab6cf3.055710c4c897b477.b352eb06a6a01a71.ee9328fb275e10c5
+    eafc7ccf23bd6b84.cea94a138d9f407c.bc74609d945f7f0c.2cbbe652593ce282
+    3769bbd4f871565a
+  after
+    0000000000000000.0000000000000000.7f0cbc74609d945f.2cbbe652593ce282
+    02e455c5e09e5221.5be56eeba3a12d37.c34c2099c162bbff.a12504e547ce25f7
+    736f3539f7ab6cf3.055710c4c897b477.b352eb06a6a01a71.ee9328fb275e10c5
+    eafc7ccf23bd6b84.cea94a138d9f407c.bc74609d945f7f0c.2cbbe652593ce282
+    3769bbd4f871565a
+VPSHUFHW_0x39_128(mem)
+  before
+    eb69226f200b2979.c3d927f203618980.92a698c40dc58c72.390079cc2728267e
+    2487970eee16170a.5a50300d30220294.2d1b77c364165584.854034fefa894a71
+    be8e969d7d9cdc39.0bae968e498c136c.7bd461fdaf9d57df.fe818c9eaa0d2891
+    954c9b08eaab3333.323e52e0e72cf9b4.589dd45c0a664dae.fe0f7d1ad241fc8b
+    e33603dd0eb0010b
+  after
+    eb69226f200b2979.c3d927f203618980.92a698c40dc58c72.390079cc2728267e
+    0000000000000000.0000000000000000.92a68c720dc598c4.390079cc2728267e
+    be8e969d7d9cdc39.0bae968e498c136c.7bd461fdaf9d57df.fe818c9eaa0d2891
+    954c9b08eaab3333.323e52e0e72cf9b4.589dd45c0a664dae.fe0f7d1ad241fc8b
+    e33603dd0eb0010b
+
+VPSHUFHW_0x39_128(reg)
+  before
+    07411b53fbe674bc.848b233b504ed924.2b4e616fa98ded17.a0424bce907ef51e
+    c87dc0e93470914b.6918a923cc928a37.5228c0a7283c2e41.2e8f423e5df0095b
+    8037ee0956d99463.1fbfa9aa79820299.031a6af502c4f6df.e04f36988ec84590
+    8db9a120fdadb8b2.824b9fbe732afc76.9a6e5bc3d3b1829d.9150a1c83f1367ea
+    1d5c01ba8adc2994
+  after
+    0000000000000000.0000000000000000.829d9a6e5bc3d3b1.9150a1c83f1367ea
+    c87dc0e93470914b.6918a923cc928a37.5228c0a7283c2e41.2e8f423e5df0095b
+    8037ee0956d99463.1fbfa9aa79820299.031a6af502c4f6df.e04f36988ec84590
+    8db9a120fdadb8b2.824b9fbe732afc76.9a6e5bc3d3b1829d.9150a1c83f1367ea
+    1d5c01ba8adc2994
+VPSHUFHW_0x39_128(mem)
+  before
+    5f40d25a8e2f48bb.4950d59bc3793ae1.6e8a0849d79735f9.73718f7e368f0e26
+    35c88e9464197f8a.114787e447c8569e.be465e39c1d4694f.ea6f0393c8ebd527
+    7abfb2542ba58b2e.41ecb26922264795.504d1f784cee53a3.5bb3b26c2450144c
+    09f3bb86fcdf28d3.36895295f3204b72.fe69c7f494efb022.218b9877e64b0740
+    9a41b11fab67eab0
+  after
+    5f40d25a8e2f48bb.4950d59bc3793ae1.6e8a0849d79735f9.73718f7e368f0e26
+    0000000000000000.0000000000000000.6e8a35f9d7970849.73718f7e368f0e26
+    7abfb2542ba58b2e.41ecb26922264795.504d1f784cee53a3.5bb3b26c2450144c
+    09f3bb86fcdf28d3.36895295f3204b72.fe69c7f494efb022.218b9877e64b0740
+    9a41b11fab67eab0
+
+VPSHUFLW_0x39_128(reg)
+  before
+    2122f9d00f30f847.c02e2417f6d412a4.4a6c63d353419be0.a667d098b6e53cf7
+    117b6df6ac326eb2.7a3d6af2328f05ce.dadfe291e015768b.2313b850cedcb250
+    c89508fd21fa879d.12ed0702ce1cbc7d.422fca3a36291621.5038f908f7dfd056
+    a1bfc651081381b3.66077935e688f4dc.dea8173af008b84b.0ba412ad4dfa5038
+    2e217c29ed39ee1f
+  after
+    0000000000000000.0000000000000000.dea8173af008b84b.50380ba412ad4dfa
+    117b6df6ac326eb2.7a3d6af2328f05ce.dadfe291e015768b.2313b850cedcb250
+    c89508fd21fa879d.12ed0702ce1cbc7d.422fca3a36291621.5038f908f7dfd056
+    a1bfc651081381b3.66077935e688f4dc.dea8173af008b84b.0ba412ad4dfa5038
+    2e217c29ed39ee1f
+VPSHUFLW_0x39_128(mem)
+  before
+    977cb469f2a9683a.f744a35efd0a96a0.505a3b7695de6818.0a95c5feab3e98b8
+    2081375a795578b3.286f9c909d6a0312.adb1c9b1f82bd55c.2344d0f00258f212
+    a6fc80e69d49dbb7.8e8dac5483bf03b3.5ad79fd22a79f7d5.83ff357d91e10105
+    06b90bfb7b924d71.87ebcf144c96d42f.319939c547d78aae.8713ef12f566023f
+    8accfa19ca713169
+  after
+    977cb469f2a9683a.f744a35efd0a96a0.505a3b7695de6818.0a95c5feab3e98b8
+    0000000000000000.0000000000000000.505a3b7695de6818.0a9598b8ab3ec5fe
+    a6fc80e69d49dbb7.8e8dac5483bf03b3.5ad79fd22a79f7d5.83ff357d91e10105
+    06b90bfb7b924d71.87ebcf144c96d42f.319939c547d78aae.8713ef12f566023f
+    8accfa19ca713169
+
+VPSHUFLW_0x39_128(reg)
+  before
+    ea765200ab90c932.1a8354842e3b890e.6dd3013e937ab033.10c414766c4e4a14
+    025df432344f0744.bf28d86dd3514cb9.9e913e3df4f7d36b.d122abd1b4ecf233
+    2ecddb1b0239274b.d27212a285df529f.7473837d0d9a7b82.517f7ac33cbc3f36
+    ca110327b0da64f4.2d2e7e0f60f156ec.4cc3cb6977eee225.6ca9fe361fcbec4a
+    ff6bb1187a23b79a
+  after
+    0000000000000000.0000000000000000.4cc3cb6977eee225.ec4a6ca9fe361fcb
+    025df432344f0744.bf28d86dd3514cb9.9e913e3df4f7d36b.d122abd1b4ecf233
+    2ecddb1b0239274b.d27212a285df529f.7473837d0d9a7b82.517f7ac33cbc3f36
+    ca110327b0da64f4.2d2e7e0f60f156ec.4cc3cb6977eee225.6ca9fe361fcbec4a
+    ff6bb1187a23b79a
+VPSHUFLW_0x39_128(mem)
+  before
+    e490115469d35a53.327668c2dbbefceb.ad2898a0819415cb.83cf126fd07f45ff
+    f8e599d506e491a1.c24806581e7228dc.2e2cdd4104d24b69.73e154fbb4dae0bd
+    1736c68970641aaf.d5d3da5516812771.8c05c7de04bab4f1.79468d77be8aee0b
+    1d4f125bc05eafaa.c963df255e783459.a381d4649d550b90.f14aba508a1bac94
+    3839d6f2b51a5605
+  after
+    e490115469d35a53.327668c2dbbefceb.ad2898a0819415cb.83cf126fd07f45ff
+    0000000000000000.0000000000000000.ad2898a0819415cb.83cf45ffd07f126f
+    1736c68970641aaf.d5d3da5516812771.8c05c7de04bab4f1.79468d77be8aee0b
+    1d4f125bc05eafaa.c963df255e783459.a381d4649d550b90.f14aba508a1bac94
+    3839d6f2b51a5605
+
+VPSHUFLW_0x39_128(reg)
+  before
+    a85eddcada12270a.e6fcfb3714df0dbd.f944113593e28a3e.4f6a7fbdecb10d72
+    9e07cc42968f5c4e.4e08fc0988f2f015.c0c16cef504b66cd.6c8d45d70cd976c2
+    767e9dc8851e317d.314191be37a313de.7c28ecc1314003b1.d6b6a09d1ada01ad
+    8c104ec7414ae244.6b7136403eff3343.88c38e15d34b9e97.69b10efa32bf6c5e
+    014a0adc6e947102
+  after
+    0000000000000000.0000000000000000.88c38e15d34b9e97.6c5e69b10efa32bf
+    9e07cc42968f5c4e.4e08fc0988f2f015.c0c16cef504b66cd.6c8d45d70cd976c2
+    767e9dc8851e317d.314191be37a313de.7c28ecc1314003b1.d6b6a09d1ada01ad
+    8c104ec7414ae244.6b7136403eff3343.88c38e15d34b9e97.69b10efa32bf6c5e
+    014a0adc6e947102
+VPSHUFLW_0x39_128(mem)
+  before
+    7a4c102eed66ccc5.3c09daab699faa4f.d865687cb8110c71.3fdf4d59d2fb732b
+    b0859ddcc8403bd2.e2b53de096aac64a.54e9a25fc1e55993.ffc825f8c9d9be18
+    7fbf2bd31e2e7856.da5f74d267f672e0.bbc960d47688d8d6.22c9125e5473ba0a
+    c3c738fd083d407c.80557aed7510eabd.e9d01ec6f2054366.063011f71055a5af
+    05471d2f9909b8b0
+  after
+    7a4c102eed66ccc5.3c09daab699faa4f.d865687cb8110c71.3fdf4d59d2fb732b
+    0000000000000000.0000000000000000.d865687cb8110c71.3fdf732bd2fb4d59
+    7fbf2bd31e2e7856.da5f74d267f672e0.bbc960d47688d8d6.22c9125e5473ba0a
+    c3c738fd083d407c.80557aed7510eabd.e9d01ec6f2054366.063011f71055a5af
+    05471d2f9909b8b0
+
+VCVTPS2DQ_128(reg)
+  before
+    7c5b32738a1d32bc.58693f47a4784e71.30e14a9d5e82698e.b9cc59235268566e
+    c8b94c2d7f1c4d7d.1970bd9e0eeb5f61.4650e34ebedb2cff.09878bd6b2becf1b
+    43aa68ca159346a0.e4aa2cec61a32f77.1eee3e6d30a46ebb.b4ce32cb2d126898
+    4a7d80b7e70d59d0.94e10a1fbaab7adf.14075964516b6d6f.966dc9eedf70de12
+    8a30cd2be5e5ecb5
+  after
+    0000000000000000.0000000000000000.0000343900000000.0000000000000000
+    c8b94c2d7f1c4d7d.1970bd9e0eeb5f61.4650e34ebedb2cff.09878bd6b2becf1b
+    43aa68ca159346a0.e4aa2cec61a32f77.1eee3e6d30a46ebb.b4ce32cb2d126898
+    4a7d80b7e70d59d0.94e10a1fbaab7adf.14075964516b6d6f.966dc9eedf70de12
+    8a30cd2be5e5ecb5
+VCVTPS2DQ_128(mem)
+  before
+    6ee3b86f5a7c4fac.3a7d925f9216c2ba.04e3d222340ffbc7.83e72ea1bcbb63c7
+    1c5108a45b41c323.6df5992db13bbc09.127a00e0ebdc7059.c9d9bb8e0d218d6e
+    724838b803410448.4033928fe107846a.99731047fc1d92c1.412bfc99e1272611
+    4b92c4956e87ce45.0f8177f0bd075589.749a7f4282de202c.4727eb2dd45c6c5b
+    361a86b6804999f9
+  after
+    6ee3b86f5a7c4fac.3a7d925f9216c2ba.04e3d222340ffbc7.83e72ea1bcbb63c7
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    724838b803410448.4033928fe107846a.99731047fc1d92c1.412bfc99e1272611
+    4b92c4956e87ce45.0f8177f0bd075589.749a7f4282de202c.4727eb2dd45c6c5b
+    361a86b6804999f9
+
+VCVTPS2DQ_128(reg)
+  before
+    6c50c7a0847ce997.82fc2929ba1fdc46.372c46bce2c56d11.81bac8bd9a2cd4c6
+    4314ad577a809ae0.f552e15f0016eb78.127ffa5febcf06af.9aa167a560126bba
+    19b43147fee2e680.7e606a225e77b607.fdc88f4574b15c0e.9d19d8e4ee9da135
+    497a50ddad2d0a25.faf13f60f04ffa1e.545202db1af5addb.64ef986763d83163
+    cdef211bd9cfd96f
+  after
+    0000000000000000.0000000000000000.0000000080000000.0000000080000000
+    4314ad577a809ae0.f552e15f0016eb78.127ffa5febcf06af.9aa167a560126bba
+    19b43147fee2e680.7e606a225e77b607.fdc88f4574b15c0e.9d19d8e4ee9da135
+    497a50ddad2d0a25.faf13f60f04ffa1e.545202db1af5addb.64ef986763d83163
+    cdef211bd9cfd96f
+VCVTPS2DQ_128(mem)
+  before
+    b2e5f1ea6c8e5285.2eb4078322ed4179.46d3dd04d1a973ea.73684d8b792a33c2
+    f09d83c238225bd3.26ac51a7faafc828.3cd0befa1d91dd96.b6576ec32cd92b6e
+    64e2548e5b96ae82.8baf2ab3d0fedbdf.bab5602ff113f44f.796b60edcf90d18c
+    e882de3aeef708c1.ba098f154066b64a.9a4e3e8d683c7341.18f01f77ffda60c7
+    ef32a8cc574315cc
+  after
+    b2e5f1ea6c8e5285.2eb4078322ed4179.46d3dd04d1a973ea.73684d8b792a33c2
+    0000000000000000.0000000000000000.000069ef80000000.8000000080000000
+    64e2548e5b96ae82.8baf2ab3d0fedbdf.bab5602ff113f44f.796b60edcf90d18c
+    e882de3aeef708c1.ba098f154066b64a.9a4e3e8d683c7341.18f01f77ffda60c7
+    ef32a8cc574315cc
+
+VCVTPS2DQ_128(reg)
+  before
+    597cf65774582c47.59479fb20f4f25ba.10057a38e7749514.b967d4019f171797
+    b41c0586f2a4e1e3.93fe12e2daadc19a.e7f1e98861b3b3ea.f3cc9f78b2b19b7e
+    5b5cd1c46bb46f4d.7373b3b66a1a978c.9c17d77149af4d77.254819dcbb15bd22
+    aa89567e7e131330.d372ff1adba464bd.8cc4415f3cf59e68.29a8c01bd94f37ae
+    dcb90f20256bc54e
+  after
+    0000000000000000.0000000000000000.8000000080000000.8000000000000000
+    b41c0586f2a4e1e3.93fe12e2daadc19a.e7f1e98861b3b3ea.f3cc9f78b2b19b7e
+    5b5cd1c46bb46f4d.7373b3b66a1a978c.9c17d77149af4d77.254819dcbb15bd22
+    aa89567e7e131330.d372ff1adba464bd.8cc4415f3cf59e68.29a8c01bd94f37ae
+    dcb90f20256bc54e
+VCVTPS2DQ_128(mem)
+  before
+    1a4583d7be76252f.fdef911ec44d0839.90c671fa4a56e358.114421bed510e469
+    bf19962cbd7c117d.afda7d11dbee8c13.863d8543d33dd28a.88e375fab08c5925
+    a700c60b41874664.1e9616c45f83d96c.91a1b7df9164eb7f.4ded38806af63949
+    aec88e6063a5800f.a56e58a1eb972ced.8dbf83bca0d7ea62.bdad66ba9ed9c280
+    3271fb16e9c12e78
+  after
+    1a4583d7be76252f.fdef911ec44d0839.90c671fa4a56e358.114421bed510e469
+    0000000000000000.0000000000000000.000000000035b8d6.0000000080000000
+    a700c60b41874664.1e9616c45f83d96c.91a1b7df9164eb7f.4ded38806af63949
+    aec88e6063a5800f.a56e58a1eb972ced.8dbf83bca0d7ea62.bdad66ba9ed9c280
+    3271fb16e9c12e78
+
+VSUBPS_128(reg)
+  before
+    0983f4fee73bbada.b03b6a1741e17aaa.9faf3f161cb7c045.566366c51da38d60
+    9e304ce032d2a254.8926d61df748f162.6aa5c88d8d6ed31e.c859dae523d38ea4
+    4dc4ff2769122192.15564f5ca0e5a163.609dee74da489f24.bf6d5d0acf73aa5b
+    728b093f25887440.309450c258c445d9.dfe0ad36a0d26004.176a6b1f3c8f9db1
+    ac1e7e10873422d1
+  after
+    0000000000000000.0000000000000000.6aa5c89120d26004.c859dae5bc8f9db1
+    9e304ce032d2a254.8926d61df748f162.6aa5c88d8d6ed31e.c859dae523d38ea4
+    4dc4ff2769122192.15564f5ca0e5a163.609dee74da489f24.bf6d5d0acf73aa5b
+    728b093f25887440.309450c258c445d9.dfe0ad36a0d26004.176a6b1f3c8f9db1
+    ac1e7e10873422d1
+VSUBPS_128(mem)
+  before
+    5a5314cacb6ef6e7.69d0669405bfd708.b6af55393cf29bef.41bd023f7b97546a
+    fcd6a8372547d521.8ee11392a2448599.8372daaf687a5dd1.e47fe7fb0623b501
+    7073b644b0cd7ba9.3d080ba59aa1bc9d.72a85c0ff76847ac.22715ad6dd03c076
+    91f6bade890ca3ab.d2924a3a8965b6c1.611f554505c917ac.59e0563c9dc2b074
+    e318d79ae1ecc3a8
+  after
+    5a5314cacb6ef6e7.69d0669405bfd708.b6af55393cf29bef.41bd023f7b97546a
+    fcd6a8372547d521.8ee11392a2448599.8372daaf687a5dd1.e47fe7fb0623b501
+    0000000000000000.0000000000000000.36af5539687a5dd1.e47fe7fbfb97546a
+    91f6bade890ca3ab.d2924a3a8965b6c1.611f554505c917ac.59e0563c9dc2b074
+    e318d79ae1ecc3a8
+
+VSUBPS_128(reg)
+  before
+    1d65da5a460d33be.3b2a30efcb0e0a54.a9cbcdbb0a19afb0.2ba1433dafa887fc
+    641359ea68b23c61.49dd956592e26cd0.1dff8e95ba4be517.acfba1e3101154c9
+    126e52b4e1671c3e.99d9642bfb91844a.8c7a8b35348692a2.bff9ec234511393f
+    84c1c0264fb70d01.06eb192c22290fef.5187bf061456f2fc.42669ee969b3f389
+    1010352299033ed4
+  after
+    0000000000000000.0000000000000000.d187bf06ba4be517.c2669ee9e9b3f389
+    641359ea68b23c61.49dd956592e26cd0.1dff8e95ba4be517.acfba1e3101154c9
+    126e52b4e1671c3e.99d9642bfb91844a.8c7a8b35348692a2.bff9ec234511393f
+    84c1c0264fb70d01.06eb192c22290fef.5187bf061456f2fc.42669ee969b3f389
+    1010352299033ed4
+VSUBPS_128(mem)
+  before
+    04c12cb8f00ed64b.1759a0ab4e2e4c55.6bdf315622b5c9eb.c8742673f74843d2
+    fc46ff998bdf771b.2582ecaf795815e6.a681269417416d69.4c8bbdea78e8bfcf
+    d26c2baf8583dc6f.0b88a29e6dc2a362.919c76d21edab996.3b197ed634c0a3a0
+    64fc2ae8fa04c274.25b7bde4c5f73372.0afe9cfd528b679d.f06a67a3c75e2bf0
+    c6ca73becc4d926d
+  after
+    04c12cb8f00ed64b.1759a0ab4e2e4c55.6bdf315622b5c9eb.c8742673f74843d2
+    fc46ff998bdf771b.2582ecaf795815e6.a681269417416d69.4c8bbdea78e8bfcf
+    0000000000000000.0000000000000000.ebdf3156a2b5c9e9.4c8c37fd7900e425
+    64fc2ae8fa04c274.25b7bde4c5f73372.0afe9cfd528b679d.f06a67a3c75e2bf0
+    c6ca73becc4d926d
+
+VSUBPS_128(reg)
+  before
+    1b849f91df1a15c0.8cc57a2f0770e456.cf5b39ed1e8301c5.eb7115ffd06033ab
+    49e6e5899d50f098.28929670c8d3ff40.65bf132613f34805.12c25bc5b366dbeb
+    ae3a4313a17b5f9e.122efb975838cf5f.433145f940d245de.59bdec3c18a8198a
+    a4cdb49988289d81.27672390d3ab10df.c5fbcdd342ac34fe.9d2e434e1a33aab4
+    bbe1dce9d6124a94
+  after
+    0000000000000000.0000000000000000.65bf1326c2ac34fe.1d2e4354b366dbeb
+    49e6e5899d50f098.28929670c8d3ff40.65bf132613f34805.12c25bc5b366dbeb
+    ae3a4313a17b5f9e.122efb975838cf5f.433145f940d245de.59bdec3c18a8198a
+    a4cdb49988289d81.27672390d3ab10df.c5fbcdd342ac34fe.9d2e434e1a33aab4
+    bbe1dce9d6124a94
+VSUBPS_128(mem)
+  before
+    8da133f86751b457.89eb3489ede2e7eb.44078c4756387eeb.476aa621b50e510e
+    f03cc567eafca529.b7e0bf4d6c357989.43dbb1a9fdecd4af.25cacd4e3383d7bd
+    c17c0d227a20d935.8cf85253a2ad8e06.01ae0ea0e3d2cf59.bb673cc55b9803b5
+    da2e871534c80ba7.627ee8062bd7640f.5a4e201924f72a12.658cf1f4c7d811a2
+    7f87e74613cf3d31
+  after
+    8da133f86751b457.89eb3489ede2e7eb.44078c4756387eeb.476aa621b50e510e
+    f03cc567eafca529.b7e0bf4d6c357989.43dbb1a9fdecd4af.25cacd4e3383d7bd
+    0000000000000000.0000000000000000.c2cd9b94fdecd4af.c76aa621351ecc06
+    da2e871534c80ba7.627ee8062bd7640f.5a4e201924f72a12.658cf1f4c7d811a2
+    7f87e74613cf3d31
+
+VADDPS_128(reg)
+  before
+    64a21a27dc09c20e.181eaf2c3301f8ac.96bf7dd2a23f344f.2b866101dd66a309
+    722a8603bd13dde4.5718015393d65c70.85080d23a46f3d73.4e214f43292bf468
+    046b28475378ca60.73e7fa767153f31f.89a39565ccf5b927.a0ec65cb2553d95b
+    76b1fb5d39c5c42e.48591582e98578e4.ffdc0f05b65de516.fdb31f84ece81010
+    4142fa5c9bf953b0
+  after
+    0000000000000000.0000000000000000.ffdc0f05b65de516.fdb31f84ece81010
+    722a8603bd13dde4.5718015393d65c70.85080d23a46f3d73.4e214f43292bf468
+    046b28475378ca60.73e7fa767153f31f.89a39565ccf5b927.a0ec65cb2553d95b
+    76b1fb5d39c5c42e.48591582e98578e4.ffdc0f05b65de516.fdb31f84ece81010
+    4142fa5c9bf953b0
+VADDPS_128(mem)
+  before
+    4865713e4d8f5f6a.2347fbb20c8508f9.b338ce611576a8eb.4301796dff31fded
+    eee700171eb8f068.697b24b36744d26e.8e51a10114353f62.b15dcf0a42003d57
+    0f9623d12b7fc1d6.a39773cae68e5e38.b6700b4d00cbf872.a63b0b491c53e001
+    873c565990f18fe2.2ce8e26526f0e704.07618731f546914a.7ce82b9528b82397
+    90b0295903ba41c4
+  after
+    4865713e4d8f5f6a.2347fbb20c8508f9.b338ce611576a8eb.4301796dff31fded
+    eee700171eb8f068.697b24b36744d26e.8e51a10114353f62.b15dcf0a42003d57
+    0000000000000000.0000000000000000.b338ce611591fc62.4301796dff31fded
+    873c565990f18fe2.2ce8e26526f0e704.07618731f546914a.7ce82b9528b82397
+    90b0295903ba41c4
+
+VADDPS_128(reg)
+  before
+    3edf030349e57835.32a6169c681916b5.62ba6fefc3f6aa7d.5cf0919810b1c414
+    e2c1b5fe94c60295.eca0de84cf03117e.9f5915d4582ae351.93e8a5706c194dfc
+    d8a239b682e81c91.91f62affe2bc3e67.4111d180811acd29.87173fa52689ea2f
+    7ccd8d97afd701d5.fd7376f8bd4f579c.a22d9d5fdb51a5b4.1447dc21590d55d9
+    1645f7d122b24b26
+  after
+    0000000000000000.0000000000000000.a23101b6db4efa27.13a712d26c194dfc
+    e2c1b5fe94c60295.eca0de84cf03117e.9f5915d4582ae351.93e8a5706c194dfc
+    d8a239b682e81c91.91f62affe2bc3e67.4111d180811acd29.87173fa52689ea2f
+    7ccd8d97afd701d5.fd7376f8bd4f579c.a22d9d5fdb51a5b4.1447dc21590d55d9
+    1645f7d122b24b26
+VADDPS_128(mem)
+  before
+    69dd0ca19c838740.2a90ac0eb620ee0c.0be53e5a7bc8184a.20fb77dd025ca79b
+    e8db977ee38cc656.3e359285344e1fe3.9916ff1338343f9d.15c55a6691c60f8d
+    710a155214dac492.13093b69c4eed005.82d3340e119e86c0.ded84267241b1834
+    df38010b4b783d21.0757a427038b3c1f.a2e859372112aae0.d8802c4a58e8ff3d
+    5d09127dc8b80053
+  after
+    69dd0ca19c838740.2a90ac0eb620ee0c.0be53e5a7bc8184a.20fb77dd025ca79b
+    e8db977ee38cc656.3e359285344e1fe3.9916ff1338343f9d.15c55a6691c60f8d
+    0000000000000000.0000000000000000.9916ff137bc8184a.20fb77e091c60f8d
+    df38010b4b783d21.0757a427038b3c1f.a2e859372112aae0.d8802c4a58e8ff3d
+    5d09127dc8b80053
+
+VADDPS_128(reg)
+  before
+    cabef26a11175623.0e2fd794a373ec2e.756dc8298cb1a0dd.d421ea7b859d6629
+    7cedc77fce923e58.d9bc13d938d58fe6.b996a3ddfbec38ea.f64a64c4584a77c6
+    cde08e279cb4f49f.1eab31c527acdf75.2e1d31aeedc940f3.e32e42ffb72599e4
+    1ae441ce1609b4a4.b7c8ae468c049b06.324f6e08fdd3f3a3.769b0019bd3b88ae
+    8d5b1afc8797ff51
+  after
+    0000000000000000.0000000000000000.b996a23efde2b732.75d736dc584a77c6
+    7cedc77fce923e58.d9bc13d938d58fe6.b996a3ddfbec38ea.f64a64c4584a77c6
+    cde08e279cb4f49f.1eab31c527acdf75.2e1d31aeedc940f3.e32e42ffb72599e4
+    1ae441ce1609b4a4.b7c8ae468c049b06.324f6e08fdd3f3a3.769b0019bd3b88ae
+    8d5b1afc8797ff51
+VADDPS_128(mem)
+  before
+    023b0d963046bcf8.bf45dee0d81eb912.82de054882e77dc5.20785757c8978ea7
+    b30753d2d45378d1.184f60c97f7e4096.59bbb2b5256442e0.53e4e707eaa04daa
+    7a8b6a9c91caf205.814ec3f5a7b585db.1a29317a9284a681.29df1a84fd7a6b5a
+    3592cddf80b7e4c2.568d04d0eb50c38e.9ff5fe83e45564d4.fdb5ec3aa0b22560
+    2ab15a956dd3b76b
+  after
+    023b0d963046bcf8.bf45dee0d81eb912.82de054882e77dc5.20785757c8978ea7
+    b30753d2d45378d1.184f60c97f7e4096.59bbb2b5256442e0.53e4e707eaa04daa
+    0000000000000000.0000000000000000.59bbb2b5256442e0.53e4e707eaa04daa
+    3592cddf80b7e4c2.568d04d0eb50c38e.9ff5fe83e45564d4.fdb5ec3aa0b22560
+    2ab15a956dd3b76b
+
+VMULPS_128(reg)
+  before
+    0e205e0200695d24.beeaf989bf270b34.f35a1dc7e8da385b.c6eb96bd38e23a06
+    034ef6ebf500523a.f25d68866a252387.b4ff0c4439e01eed.69d77413a937e143
+    67871ebeea25d357.aeb898c09bbee8e6.f5c9ccb57aedb1f1.65851470546118b6
+    9417d0e678641c28.ccc7042471fc157e.12045a84488d2f12.97c0f3c2546b998c
+    d9568bf4c66221f0
+  after
+    0000000000000000.0000000000000000.8783dc8142f7347c.c2226435be293a13
+    034ef6ebf500523a.f25d68866a252387.b4ff0c4439e01eed.69d77413a937e143
+    67871ebeea25d357.aeb898c09bbee8e6.f5c9ccb57aedb1f1.65851470546118b6
+    9417d0e678641c28.ccc7042471fc157e.12045a84488d2f12.97c0f3c2546b998c
+    d9568bf4c66221f0
+VMULPS_128(mem)
+  before
+    08115af2c5516c0f.e74a0acf3d476858.2956289f06ee677a.67fbb01f3e4cd2fd
+    00bedba86d443615.bd6bc6e4d55cf494.a131801b769d9907.50fcccf1f9b7d65e
+    9e298a02db473a2d.70c80393db2ffc87.11238986de176950.2951a966145979e0
+    bc1ee4ec2b673584.5dabba48eb4abcde.53f9beca59679182.4e4843ea2cbff530
+    1b2b96e9dc7387f9
+  after
+    08115af2c5516c0f.e74a0acf3d476858.2956289f06ee677a.67fbb01f3e4cd2fd
+    00bedba86d443615.bd6bc6e4d55cf494.a131801b769d9907.50fcccf1f9b7d65e
+    0000000000000000.0000000000000000.8b147d413e12c3f8.79788adcf8931656
+    bc1ee4ec2b673584.5dabba48eb4abcde.53f9beca59679182.4e4843ea2cbff530
+    1b2b96e9dc7387f9
+
+VMULPS_128(reg)
+  before
+    eb479fcfc1046be8.3768635378b0e245.e161e86da23b6f45.44809bd5049acdc9
+    1ce7590976fbdca8.ebd58521de2cff9d.56368a6f9c8e5267.c0829c92fabbdb50
+    0959c00198e617e7.b42fc5447ae946b8.19759bba74cda1f1.a3cc3eed58d67544
+    0de8d025c250584e.6e43a0a667f273c1.866c17bbc686978e.c929fcd239f758d0
+    0e67512db92b4021
+  after
+    0000000000000000.0000000000000000.9d28588a2395a6c7.4a2d74b3f53581c6
+    1ce7590976fbdca8.ebd58521de2cff9d.56368a6f9c8e5267.c0829c92fabbdb50
+    0959c00198e617e7.b42fc5447ae946b8.19759bba74cda1f1.a3cc3eed58d67544
+    0de8d025c250584e.6e43a0a667f273c1.866c17bbc686978e.c929fcd239f758d0
+    0e67512db92b4021
+VMULPS_128(mem)
+  before
+    4e50bceaf67ee863.86df86df91c6db8c.f5dd9035c25444e5.f965fbdc2f4572eb
+    65b1b6f609fa0dc1.cf8bdc9da0d3db4a.25c913dca71a734f.ceae418b4a956bb4
+    2f57bd3b10ad6b68.4338d0ca8b039537.dad3a4873050bd2c.6291e733b402c194
+    880c4ba727a2bd83.40325dd2efe345fd.f0c6bf227c03dea8.0f5be8400818ae38
+    3257401ee364704b
+  after
+    4e50bceaf67ee863.86df86df91c6db8c.f5dd9035c25444e5.f965fbdc2f4572eb
+    65b1b6f609fa0dc1.cf8bdc9da0d3db4a.25c913dca71a734f.ceae418b4a956bb4
+    0000000000000000.0000000000000000.dc2e076a2a00110e.7f8000003a667de9
+    880c4ba727a2bd83.40325dd2efe345fd.f0c6bf227c03dea8.0f5be8400818ae38
+    3257401ee364704b
+
+VMULPS_128(reg)
+  before
+    27d3ec39e071407a.4c9cdf2469e6c13f.20c5802168fd2649.4370e199a43e91ee
+    4a19e6fd9ccb5d71.57d5f2a0f28431c7.413c332391e075c6.af9b84d8c70d932b
+    f6772cd6b2ff01db.84810106df88c949.fde5744406156e21.0f1426cbfe7da08a
+    8937b930bf986965.b16e89424bff47ee.b10a3ef0642a4d05.41a7425e67997438
+    2020557e1e6dca61
+  after
+    0000000000000000.0000000000000000.b2cb43abb69551bd.b1cb37f5ef29ba75
+    4a19e6fd9ccb5d71.57d5f2a0f28431c7.413c332391e075c6.af9b84d8c70d932b
+    f6772cd6b2ff01db.84810106df88c949.fde5744406156e21.0f1426cbfe7da08a
+    8937b930bf986965.b16e89424bff47ee.b10a3ef0642a4d05.41a7425e67997438
+    2020557e1e6dca61
+VMULPS_128(mem)
+  before
+    884ad9153e065f30.5ea68a785e23d1ba.b966054053f465e5.baf88d9446ab4d1f
+    54f34c11e46fefd2.d11099182b2b7487.7836f1ec1273e058.72fb5e9a4922ab1b
+    62e5295d2bb43572.3ec0e47ec33c8f78.c9aac932a5897373.365eac70081da3a4
+    8dedece52fe2ee3d.01046614c2e25e38.8a8d0afe2741db63.636f728020287067
+    5379af382ccd5010
+  after
+    884ad9153e065f30.5ea68a785e23d1ba.b966054053f465e5.baf88d9446ab4d1f
+    54f34c11e46fefd2.d11099182b2b7487.7836f1ec1273e058.72fb5e9a4922ab1b
+    0000000000000000.0000000000000000.f224611a26e8d2e6.ee740eaa5059b298
+    8dedece52fe2ee3d.01046614c2e25e38.8a8d0afe2741db63.636f728020287067
+    5379af382ccd5010
+
+VMAXPS_128(reg)
+  before
+    63c75c03c99a7c4a.b0d711950d04d65e.75261b48c3aa1d74.96ad2f3db5a8d454
+    efa6764d921b33c1.a96f1559e026a802.f8740085621f07d7.c8d4b4d96ac81a71
+    5362fa8224daaf22.5280731dc5552255.e5380f373cce590e.fed015c063af68e7
+    ec47e30e1a652d19.89d8a7cdd89cfe82.97be46caed424ec4.126bceddbb697ce2
+    e2725c1b8f010f8d
+  after
+    0000000000000000.0000000000000000.97be46ca621f07d7.126bcedd6ac81a71
+    efa6764d921b33c1.a96f1559e026a802.f8740085621f07d7.c8d4b4d96ac81a71
+    5362fa8224daaf22.5280731dc5552255.e5380f373cce590e.fed015c063af68e7
+    ec47e30e1a652d19.89d8a7cdd89cfe82.97be46caed424ec4.126bceddbb697ce2
+    e2725c1b8f010f8d
+VMAXPS_128(mem)
+  before
+    48b03a68fa83e014.14a02d5d1048e952.28412d553408f8b6.6c54a0aa0f0724a7
+    22f3e4af18fba9a5.28bbd5dba30e1f78.0d8882a2f5a3ce1d.be451a4341aa1560
+    4a05d6dc0676276a.84e2d6f56f430a37.1279209e387c3ae2.ebdcae021cb55e9e
+    9db48ddbe0ff168f.84622b150f73e73c.15e08537189cf931.4e675a513fb73a0a
+    4230199e4339e753
+  after
+    48b03a68fa83e014.14a02d5d1048e952.28412d553408f8b6.6c54a0aa0f0724a7
+    22f3e4af18fba9a5.28bbd5dba30e1f78.0d8882a2f5a3ce1d.be451a4341aa1560
+    0000000000000000.0000000000000000.28412d553408f8b6.6c54a0aa41aa1560
+    9db48ddbe0ff168f.84622b150f73e73c.15e08537189cf931.4e675a513fb73a0a
+    4230199e4339e753
+
+VMAXPS_128(reg)
+  before
+    2484e753c7c99f23.f8ca8498c1a33241.8488d2a91f2bf133.f0892d57b111c738
+    51aec1de64f39e27.35143700c56d36ac.e09dc71b3cf666c8.803f92ec21e65f21
+    23fca1aab841220a.315d22fd0969dffb.f4f004d9026180a6.a2d032e181287e18
+    f8b985235f416579.c973c17da8a3e85b.1bcc874e0cf67c79.30068722efe1e04a
+    07ae0f9b872040e3
+  after
+    0000000000000000.0000000000000000.1bcc874e3cf666c8.3006872221e65f21
+    51aec1de64f39e27.35143700c56d36ac.e09dc71b3cf666c8.803f92ec21e65f21
+    23fca1aab841220a.315d22fd0969dffb.f4f004d9026180a6.a2d032e181287e18
+    f8b985235f416579.c973c17da8a3e85b.1bcc874e0cf67c79.30068722efe1e04a
+    07ae0f9b872040e3
+VMAXPS_128(mem)
+  before
+    0394463864ee5b0e.2a3068b5f47fa41f.d721916abf280ff7.b37c4be6f64395ee
+    0084a6e5a259edf8.16ae46cc13851ba9.38320db269030efc.174d4c0d5dd409b1
+    da49ad8f5e6cb2cc.187f1cd459e105c3.c873b140c341a196.a38b872fdc34116d
+    6eb1d620b43465b7.8defe539621f9f18.63b0f900e8ed86f0.b382f6b810efeccf
+    a27e97159492d583
+  after
+    0394463864ee5b0e.2a3068b5f47fa41f.d721916abf280ff7.b37c4be6f64395ee
+    0084a6e5a259edf8.16ae46cc13851ba9.38320db269030efc.174d4c0d5dd409b1
+    0000000000000000.0000000000000000.38320db269030efc.174d4c0d5dd409b1
+    6eb1d620b43465b7.8defe539621f9f18.63b0f900e8ed86f0.b382f6b810efeccf
+    a27e97159492d583
+
+VMAXPS_128(reg)
+  before
+    cecb65b004a70734.96869d86bfbcc3e5.cf4a9d68c9c92555.e5b562def5137737
+    92b45cf7febdbe8f.2f957eab9b108881.3bdb40cb2a6dd225.2a4e66c605c03196
+    498779541b5d383f.15aaf67d653d6fb8.2df0cad02297e335.0e4683a435fe703a
+    518eb735f915aff1.24917fe7384e36b5.01d338e14cd19431.6d6b3564a0dcef4f
+    2387f6f262636b00
+  after
+    0000000000000000.0000000000000000.3bdb40cb4cd19431.6d6b356405c03196
+    92b45cf7febdbe8f.2f957eab9b108881.3bdb40cb2a6dd225.2a4e66c605c03196
+    498779541b5d383f.15aaf67d653d6fb8.2df0cad02297e335.0e4683a435fe703a
+    518eb735f915aff1.24917fe7384e36b5.01d338e14cd19431.6d6b3564a0dcef4f
+    2387f6f262636b00
+VMAXPS_128(mem)
+  before
+    0c67443b98a1a07a.0416110534706050.381697d5314f97a5.13d1856c45aa21c4
+    04d799295ea249e8.c06b863067fb8709.2c04ba336b4c4eb4.bf36addca8abc59b
+    e7a373aacf702477.dfd80f212e415fc8.de2962ed0352190d.614eac9d1262bd61
+    91964ea90719eb53.bfabaa4726ce2638.294f0def146db2dd.55647e1b1e5a45c3
+    f7c620c2691f996d
+  after
+    0c67443b98a1a07a.0416110534706050.381697d5314f97a5.13d1856c45aa21c4
+    04d799295ea249e8.c06b863067fb8709.2c04ba336b4c4eb4.bf36addca8abc59b
+    0000000000000000.0000000000000000.381697d56b4c4eb4.13d1856c45aa21c4
+    91964ea90719eb53.bfabaa4726ce2638.294f0def146db2dd.55647e1b1e5a45c3
+    f7c620c2691f996d
+
+VMINPS_128(reg)
+  before
+    a3be8dfe8e3ef40a.de7ea41223a95aa7.ba2e510beb2f1506.e9433625bba7d64f
+    b599c13c2a429347.a925f3d03e2a2fa0.2eaf02da17ef6bde.fad1597b130e4090
+    89a3b8e6d8b8b1cf.d058b6d175aa2469.7578b920499a626b.38c5f2de39aeadcb
+    7b286f69342b8c4f.2ee36901e435f62f.ecd6704a1bbd375a.7eea7e384891d92e
+    aa0e77775cc580e2
+  after
+    0000000000000000.0000000000000000.ecd6704a17ef6bde.fad1597b130e4090
+    b599c13c2a429347.a925f3d03e2a2fa0.2eaf02da17ef6bde.fad1597b130e4090
+    89a3b8e6d8b8b1cf.d058b6d175aa2469.7578b920499a626b.38c5f2de39aeadcb
+    7b286f69342b8c4f.2ee36901e435f62f.ecd6704a1bbd375a.7eea7e384891d92e
+    aa0e77775cc580e2
+VMINPS_128(mem)
+  before
+    97fb5b8692565d16.e774e132db275e73.9e92884aa5d5601d.f01425c229e32656
+    207ea551064f2ef4.28d20aac693864e6.fe319099d7981f60.db80d3f610986b0c
+    2363d2c4d3bcaca8.9c90e64279ebd955.298bfcda938aef24.0a6476516b694127
+    7a765ccb15a9965f.9ef87162a7cbfb6b.fa6e48faf7b68c94.d90e0a3fd6e1e554
+    a5c88c2bef8c923f
+  after
+    97fb5b8692565d16.e774e132db275e73.9e92884aa5d5601d.f01425c229e32656
+    207ea551064f2ef4.28d20aac693864e6.fe319099d7981f60.db80d3f610986b0c
+    0000000000000000.0000000000000000.fe319099d7981f60.f01425c210986b0c
+    7a765ccb15a9965f.9ef87162a7cbfb6b.fa6e48faf7b68c94.d90e0a3fd6e1e554
+    a5c88c2bef8c923f
+
+VMINPS_128(reg)
+  before
+    c8dff6834ff78693.0382c152e923a645.8957a877906503d5.4fa4f0e31f28b1dd
+    9f9f46b394adfbfd.98557c456a359985.bbf986edcf44303e.02fa708326ec1c2b
+    865378255a3a2d28.17b90a90b5eb2b4c.8f2a073101f4bd53.f13c45c5290f86a9
+    d94986463c2b5ac1.5a7be520e55217c5.603527adc201e5c0.f636ea95439cae84
+    efb3dbdf909f4ee7
+  after
+    0000000000000000.0000000000000000.bbf986edcf44303e.f636ea9526ec1c2b
+    9f9f46b394adfbfd.98557c456a359985.bbf986edcf44303e.02fa708326ec1c2b
+    865378255a3a2d28.17b90a90b5eb2b4c.8f2a073101f4bd53.f13c45c5290f86a9
+    d94986463c2b5ac1.5a7be520e55217c5.603527adc201e5c0.f636ea95439cae84
+    efb3dbdf909f4ee7
+VMINPS_128(mem)
+  before
+    b681948f2d2523ff.f4cb6e82d60bbc74.3f678bdf17751b1e.8c68e3ceacf8e530
+    286a92913639e9f7.33262b46c56790ec.a04977bb6661f080.6d0d36015e65f850
+    223b50d1c6e85cfc.f2a6b9fca5c912d6.5aed259eef215519.61711cb071d25bcc
+    7ec04a3bf93d373a.8d97141211bf7ddd.4a1e1176cdc10415.c2e0914983cd4a4f
+    eea6913630e20186
+  after
+    b681948f2d2523ff.f4cb6e82d60bbc74.3f678bdf17751b1e.8c68e3ceacf8e530
+    286a92913639e9f7.33262b46c56790ec.a04977bb6661f080.6d0d36015e65f850
+    0000000000000000.0000000000000000.a04977bb17751b1e.8c68e3ceacf8e530
+    7ec04a3bf93d373a.8d97141211bf7ddd.4a1e1176cdc10415.c2e0914983cd4a4f
+    eea6913630e20186
+
+VMINPS_128(reg)
+  before
+    3f0e19e5139bbc1c.19c5fcbcec4437dc.604538f3a5d50eae.4aaab82e1d4dbaa0
+    126624c1c986b6be.d016e23eba09170f.c7fb220bfe9601f5.375b95b2fad233e5
+    c4f8ae36ed2e2c17.7d7e79af809995fe.1e07cdc6b78e925d.eefe24ee815b2b10
+    af11b3b01b2059d4.fdcb3cfa59ff6bd6.c0b335906d49fc92.495fe1cecdf55d4f
+    254a483efaab86cb
+  after
+    0000000000000000.0000000000000000.c7fb220bfe9601f5.375b95b2fad233e5
+    126624c1c986b6be.d016e23eba09170f.c7fb220bfe9601f5.375b95b2fad233e5
+    c4f8ae36ed2e2c17.7d7e79af809995fe.1e07cdc6b78e925d.eefe24ee815b2b10
+    af11b3b01b2059d4.fdcb3cfa59ff6bd6.c0b335906d49fc92.495fe1cecdf55d4f
+    254a483efaab86cb
+VMINPS_128(mem)
+  before
+    5e8ad62b258961b3.30fd309bf0e77ba1.2cc7a70a624855c3.0b4c57d5bb547c42
+    d0ed067f6a9bac31.a3081f64080fcc29.e63f36cdb67f11f0.5a1e2d013e3a4d17
+    573d5428e3ee2171.657e7e75fe258819.07ff662e72b0598a.0975b5809188adbd
+    cf473c10af8e7ca1.d0ab483b6eb4ed1c.6bd2b119b1e8eabc.739deabf51c9d6e1
+    f6e1c8281989052f
+  after
+    5e8ad62b258961b3.30fd309bf0e77ba1.2cc7a70a624855c3.0b4c57d5bb547c42
+    d0ed067f6a9bac31.a3081f64080fcc29.e63f36cdb67f11f0.5a1e2d013e3a4d17
+    0000000000000000.0000000000000000.e63f36cdb67f11f0.0b4c57d5bb547c42
+    cf473c10af8e7ca1.d0ab483b6eb4ed1c.6bd2b119b1e8eabc.739deabf51c9d6e1
+    f6e1c8281989052f
+
+VSHUFPS_0x39_128(reg)
+  before
+    ed8e4c2986557552.14d73b25e8857bea.41da7a23f54935df.ee86957a903280b3
+    b3f1712d33b764f7.02b9cc52aae1d87b.14580e982e6e9d0e.6ce58d3e2a9ad69b
+    a654339fbc3e0cca.75b96b8312ad507e.a5710205b6b16154.c1bd164f9b2da99f
+    20038eedbe73a976.49a294a43bf69f1f.507151d8289ebc5e.c9d8aa9a01f5b5ec
+    6003c70c7501b5ad
+  after
+    0000000000000000.0000000000000000.01f5b5ec507151d8.2e6e9d0e6ce58d3e
+    b3f1712d33b764f7.02b9cc52aae1d87b.14580e982e6e9d0e.6ce58d3e2a9ad69b
+    a654339fbc3e0cca.75b96b8312ad507e.a5710205b6b16154.c1bd164f9b2da99f
+    20038eedbe73a976.49a294a43bf69f1f.507151d8289ebc5e.c9d8aa9a01f5b5ec
+    6003c70c7501b5ad
+VSHUFPS_0x39_128(mem)
+  before
+    6209e890155a670f.7f4c7e82d5e479a8.5a42c3a142c7808c.71a4f77c21c0ebd7
+    abb88a11fc0e853e.1d7a00ca9c1db60b.84637566422cb0ee.6456f15d3ca32a6c
+    17da277d4729cb65.58d80e32afa89d4c.a3d225df5832eb74.85d23ae716d3b4c9
+    813d3dbf12b5f7b1.8ab3a624ab136916.925b4ff99fe4ed48.3065ce874addc799
+    c15ba9a7754c9c89
+  after
+    6209e890155a670f.7f4c7e82d5e479a8.5a42c3a142c7808c.71a4f77c21c0ebd7
+    abb88a11fc0e853e.1d7a00ca9c1db60b.84637566422cb0ee.6456f15d3ca32a6c
+    0000000000000000.0000000000000000.5a42c3a121c0ebd7.6456f15d422cb0ee
+    813d3dbf12b5f7b1.8ab3a624ab136916.925b4ff99fe4ed48.3065ce874addc799
+    c15ba9a7754c9c89
+
+VSHUFPS_0x39_128(reg)
+  before
+    9400c7b432ad7244.c7ab47c377c0c34d.1057c40d2be95816.2fca6f9e334e7196
+    05a0251b1d8a8477.c4f1c1759556ec66.4710625accb7a4f8.55ea02bc317d348b
+    6f87bd46d3720dce.53db27c186812d28.892a7e7529088967.e089833db57cf153
+    30018da3f0ee49f4.5234f694665043be.33f113ccdf684510.ab716e0fda576619
+    946f3f1dbc1b4d0a
+  after
+    0000000000000000.0000000000000000.da57661933f113cc.ccb7a4f855ea02bc
+    05a0251b1d8a8477.c4f1c1759556ec66.4710625accb7a4f8.55ea02bc317d348b
+    6f87bd46d3720dce.53db27c186812d28.892a7e7529088967.e089833db57cf153
+    30018da3f0ee49f4.5234f694665043be.33f113ccdf684510.ab716e0fda576619
+    946f3f1dbc1b4d0a
+VSHUFPS_0x39_128(mem)
+  before
+    754f725378d36352.a359919d0f8c7696.9ccaa8d851ccea54.a2b01dca8964129f
+    2cdd849d2a8c631c.24dcc3a0ccd7ce5f.0c67bb7a6503de18.30b498dac4872dbf
+    94e4f0e7ed500b95.0ed62118c45c8efc.80d9ab67bb00da34.3a4a816a2b5dd21c
+    8832321ddd2e15e8.bf93a67192a6f218.d2eaf28a71cf9cd4.1cbbd2e55b733c63
+    325689b7ef54a840
+  after
+    754f725378d36352.a359919d0f8c7696.9ccaa8d851ccea54.a2b01dca8964129f
+    2cdd849d2a8c631c.24dcc3a0ccd7ce5f.0c67bb7a6503de18.30b498dac4872dbf
+    0000000000000000.0000000000000000.9ccaa8d88964129f.30b498da6503de18
+    8832321ddd2e15e8.bf93a67192a6f218.d2eaf28a71cf9cd4.1cbbd2e55b733c63
+    325689b7ef54a840
+
+VSHUFPS_0x39_128(reg)
+  before
+    d866a24d838d525f.e591c62b172f3d42.915f4e17d3413560.e0670ecea37ddd25
+    6a361711b4a8756b.88ce28feb66141ce.e285157623b99480.841b7a216c155c53
+    4414e6701e344e10.4bb5d580d7cfdbb9.0d53f8fa1c9b4b23.9cd4b26ee9a4d389
+    c24a0ad75cba19fb.0c12489f9585c82f.6d13f1105d7396f6.025c32a13534fff4
+    948177a66cd39cbf
+  after
+    0000000000000000.0000000000000000.3534fff46d13f110.23b99480841b7a21
+    6a361711b4a8756b.88ce28feb66141ce.e285157623b99480.841b7a216c155c53
+    4414e6701e344e10.4bb5d580d7cfdbb9.0d53f8fa1c9b4b23.9cd4b26ee9a4d389
+    c24a0ad75cba19fb.0c12489f9585c82f.6d13f1105d7396f6.025c32a13534fff4
+    948177a66cd39cbf
+VSHUFPS_0x39_128(mem)
+  before
+    2c0dfb6aab8d6618.40257fb00ac812d8.a5b1fd450d90c35b.6012fe227fcbb0a5
+    a7cd3cd70d6d1828.1af14169c5e97453.f35e71605afb8a6a.409c1a9e2031d6db
+    e18db6daaf7f6f1d.acfa4d6d29a97c16.d3e41edb99d3d787.6afd42efdc304445
+    b718e360adcf2623.528b9d28d09566d0.1f1082a2e52367df.3b8170814e55358e
+    0d73a2bf132be763
+  after
+    2c0dfb6aab8d6618.40257fb00ac812d8.a5b1fd450d90c35b.6012fe227fcbb0a5
+    a7cd3cd70d6d1828.1af14169c5e97453.f35e71605afb8a6a.409c1a9e2031d6db
+    0000000000000000.0000000000000000.a5b1fd457fcbb0a5.409c1a9e5afb8a6a
+    b718e360adcf2623.528b9d28d09566d0.1f1082a2e52367df.3b8170814e55358e
+    0d73a2bf132be763
+
+VPCMPEQB_128(reg)
+  before
+    3e20d317c63e936f.033c4153216afb66.68f22f0659386e2b.b4ae18a15af7f59e
+    28d500f5031b785f.a2c34ba12a5ca811.4a79fe735d1fcfd4.6e8a5cc4155b3eef
+    28dc23c3674dd0df.707a7d35e1afe950.536d07db7bd5c676.2970cbf7325cfeff
+    9a823aee8e60d89a.492d53fb65717c51.e11a44aa4ce68fbe.c22cdf27cc06f1fa
+    1389163eff63d20b
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    28d500f5031b785f.a2c34ba12a5ca811.4a79fe735d1fcfd4.6e8a5cc4155b3eef
+    28dc23c3674dd0df.707a7d35e1afe950.536d07db7bd5c676.2970cbf7325cfeff
+    9a823aee8e60d89a.492d53fb65717c51.e11a44aa4ce68fbe.c22cdf27cc06f1fa
+    1389163eff63d20b
+VPCMPEQB_128(mem)
+  before
+    f954eb2ae8815e5e.da1240e213e1cc3d.09a849dfcfad1b3d.4fccb34c6fde6558
+    5059dbd5a36b5120.45da310c925be873.8cb7dccd3d708343.f9ce4f2e7d4a85ef
+    f464602d4a2e667d.352409d6a85b67e9.ae2587b1cbc5708d.3a6e15ba14b52b30
+    c141f81dfcd55ba1.073dc5aef06b864b.4bc0c67794b89d47.70f6ff5ed0ac93c6
+    f5b30b854cbaf85e
+  after
+    f954eb2ae8815e5e.da1240e213e1cc3d.09a849dfcfad1b3d.4fccb34c6fde6558
+    5059dbd5a36b5120.45da310c925be873.8cb7dccd3d708343.f9ce4f2e7d4a85ef
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    c141f81dfcd55ba1.073dc5aef06b864b.4bc0c67794b89d47.70f6ff5ed0ac93c6
+    f5b30b854cbaf85e
+
+VPCMPEQB_128(reg)
+  before
+    27f1349a256b97a3.93bc1e91d26ceab7.177260ff07198044.3f52160cb556c79e
+    61fc760bf64cac42.46a04e75eb00cfeb.c10cd63588f19381.66a8f15a49aaaabe
+    fe20cd435be872e7.b5bb05b5609cc86a.615a23bc107ef9ad.9c8ed54f6cc001d3
+    5ba836aef1cb263d.bed7bd3d504c8f60.53a744003a4cef75.bdd03dd53ba58a08
+    a53aa5dad264ff89
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    61fc760bf64cac42.46a04e75eb00cfeb.c10cd63588f19381.66a8f15a49aaaabe
+    fe20cd435be872e7.b5bb05b5609cc86a.615a23bc107ef9ad.9c8ed54f6cc001d3
+    5ba836aef1cb263d.bed7bd3d504c8f60.53a744003a4cef75.bdd03dd53ba58a08
+    a53aa5dad264ff89
+VPCMPEQB_128(mem)
+  before
+    30978a494b091c83.d5e2acb8538204f1.3cc1f4f9d41de1f8.f33e336da3e7b085
+    39b4670ec5a19f22.c6182bce1e9848af.0b4525d60a1a795f.9d6dee6fe6dc7988
+    9e5db7155a374291.8c97af5aee992d22.072fcdbe0e4f14c1.ad7e7072a0b6862b
+    3a5ef94a26d7c2fd.81ab34c95d11f0f6.0b4a669ffbc96e49.7fbeb6e36c011319
+    6e79ba2ce64a5bff
+  after
+    30978a494b091c83.d5e2acb8538204f1.3cc1f4f9d41de1f8.f33e336da3e7b085
+    39b4670ec5a19f22.c6182bce1e9848af.0b4525d60a1a795f.9d6dee6fe6dc7988
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3a5ef94a26d7c2fd.81ab34c95d11f0f6.0b4a669ffbc96e49.7fbeb6e36c011319
+    6e79ba2ce64a5bff
+
+VPCMPEQB_128(reg)
+  before
+    d8fa7abbab1c9b89.e983a699468eda92.02a0b7880a8dcdd9.f5646e63ee934324
+    188ff1fa57040f62.86983ceed567477b.6cc133028e99ff75.a04760f802b94e7d
+    8a821b57858df337.ef693536f06ec5e5.195ca4a288bfc376.e7c0b84953484d81
+    8920f53dd14382b3.fec10f5bb2b010fb.66bb06d6918e5589.a89bf342fe4bf95b
+    bea48bcf1ece1139
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    188ff1fa57040f62.86983ceed567477b.6cc133028e99ff75.a04760f802b94e7d
+    8a821b57858df337.ef693536f06ec5e5.195ca4a288bfc376.e7c0b84953484d81
+    8920f53dd14382b3.fec10f5bb2b010fb.66bb06d6918e5589.a89bf342fe4bf95b
+    bea48bcf1ece1139
+VPCMPEQB_128(mem)
+  before
+    04a6fedcd0de4f44.73b57918d8b3f983.916d464b3838e3ea.af2b5609478ff15a
+    586fc755308670ab.a38da55435679452.823954f09d12fcdd.50f88fa74650d294
+    94c9622659d33097.74f4745d85ee8ecd.aff1b738fd4b1401.a56ead1c295c35e4
+    95814c3c67cf4a37.4436e39f63d124a0.f261ea0e75eeea82.0bd9acd48d3f56f5
+    dc84883c0d867074
+  after
+    04a6fedcd0de4f44.73b57918d8b3f983.916d464b3838e3ea.af2b5609478ff15a
+    586fc755308670ab.a38da55435679452.823954f09d12fcdd.50f88fa74650d294
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    95814c3c67cf4a37.4436e39f63d124a0.f261ea0e75eeea82.0bd9acd48d3f56f5
+    dc84883c0d867074
+
+VMOVHPD_128_StoreForm(reg)
+  before
+    75bd3ebe45bcc10d.3863008177897cb5.6d9eec876c9e9276.2954695e2108388b
+    32cec9c8d26d836b.573bfae3a40a7f3e.4d798d7f3be014fc.2e98b0141ca3bb49
+    6f0425c45026f23b.d0d5b64d0b6012fd.3e13c1f56d24e5de.dff73c1c82ce2fe8
+    88ab4e205a724c28.7dfdb0aac796ef1f.9eb884539df542c7.163e876270925093
+    b0390fd302fdd976
+  after
+    75bd3ebe45bcc10d.3863008177897cb5.6d9eec876c9e9276.2954695e2108388b
+    32cec9c8d26d836b.573bfae3a40a7f3e.4d798d7f3be014fc.2e98b0141ca3bb49
+    6f0425c45026f23b.d0d5b64d0b6012fd.3e13c1f56d24e5de.dff73c1c82ce2fe8
+    88ab4e205a724c28.7dfdb0aac796ef1f.9eb884539df542c7.163e876270925093
+    b0390fd302fdd976
+VMOVHPD_128_StoreForm(mem)
+  before
+    89b44f59521a87bf.d80e41478cdecbdf.3b7e65e8f4b8d3cf.c7b4d20768df6764
+    7e7bc4e17ff61597.bd7bf8a483f5ab0c.e6254ff2afd37a3a.1753a87c696f8f60
+    6959e958a39c412d.923c71a5da432a5a.5bbeecb414f3a08c.e8e0011e3d30f768
+    271c39a9da18c5ab.b39fa8b52e548275.7415b81a3e2200f0.97a9d9597faedb27
+    81f82c99cb76774a
+  after
+    89b44f59521a87bf.d80e41478cdecbdf.3b7e65e8f4b8d3cf.e6254ff2afd37a3a
+    7e7bc4e17ff61597.bd7bf8a483f5ab0c.e6254ff2afd37a3a.1753a87c696f8f60
+    6959e958a39c412d.923c71a5da432a5a.5bbeecb414f3a08c.e8e0011e3d30f768
+    271c39a9da18c5ab.b39fa8b52e548275.7415b81a3e2200f0.97a9d9597faedb27
+    81f82c99cb76774a
+
+VMOVHPD_128_StoreForm(reg)
+  before
+    001af74abe13067d.948e32bf41765d3e.7cee97411ab5f00b.0ef62d114a6e5793
+    715b35d8f411c56b.8c7c5088f3c3c711.48763cb33bf1b0c6.052dc98352e260a0
+    3007e1b008fdf0c1.ebb20def0c0abd51.758391782c95fd52.3585075d758bd944
+    9969fa3c9662c22a.8dfbe7e0aa58fc29.5e6094fd8a2c145c.7acb638ccd747cab
+    b0cb59fa76a90500
+  after
+    001af74abe13067d.948e32bf41765d3e.7cee97411ab5f00b.0ef62d114a6e5793
+    715b35d8f411c56b.8c7c5088f3c3c711.48763cb33bf1b0c6.052dc98352e260a0
+    3007e1b008fdf0c1.ebb20def0c0abd51.758391782c95fd52.3585075d758bd944
+    9969fa3c9662c22a.8dfbe7e0aa58fc29.5e6094fd8a2c145c.7acb638ccd747cab
+    b0cb59fa76a90500
+VMOVHPD_128_StoreForm(mem)
+  before
+    b35166958d373270.09ce79ea3bcc7953.4e255948e6b840c6.5f5b41acf0423190
+    5f2905482d28bd26.da835c2492c84ee8.0afadf11de364453.d3be92f3fa639099
+    901fb2ff738b634f.69d29d5838e18094.9d48f628aedfc5fe.18d6853c451c6c24
+    22fee9a67a69e017.12083af1c8a44904.e3d9187a71be7ff0.88ef15f56df902dd
+    81553e890d848e6f
+  after
+    b35166958d373270.09ce79ea3bcc7953.4e255948e6b840c6.0afadf11de364453
+    5f2905482d28bd26.da835c2492c84ee8.0afadf11de364453.d3be92f3fa639099
+    901fb2ff738b634f.69d29d5838e18094.9d48f628aedfc5fe.18d6853c451c6c24
+    22fee9a67a69e017.12083af1c8a44904.e3d9187a71be7ff0.88ef15f56df902dd
+    81553e890d848e6f
+
+VMOVHPD_128_StoreForm(reg)
+  before
+    5d54fc64c14b4b87.f19426295fd0efa9.31702f5bdf9be7e3.b87ac3f143df2d58
+    7a374cf226d976d0.d9abe6743dcc4d32.22587602185593de.f8f6727b414f8d60
+    324c299fd8bb4bf7.b610a4733167b6dd.410b0d52105b8ca1.7f1ba10287195934
+    e3dd8fd8727c06a7.638fdc1356afe6d7.ead4efb7623b0cd7.29b4cd7430494d01
+    d18c70bc58ec27f3
+  after
+    5d54fc64c14b4b87.f19426295fd0efa9.31702f5bdf9be7e3.b87ac3f143df2d58
+    7a374cf226d976d0.d9abe6743dcc4d32.22587602185593de.f8f6727b414f8d60
+    324c299fd8bb4bf7.b610a4733167b6dd.410b0d52105b8ca1.7f1ba10287195934
+    e3dd8fd8727c06a7.638fdc1356afe6d7.ead4efb7623b0cd7.29b4cd7430494d01
+    d18c70bc58ec27f3
+VMOVHPD_128_StoreForm(mem)
+  before
+    557008c61c0da136.e7377a0790a8e28d.bef40a3ec9b0984c.7900189eab80502d
+    902c107e97b878f4.9ba6e699cfcc1c55.a20aabe2a5748967.49db847186b6944e
+    5e8c05d0e6fa675c.5c76d0fbca73f0aa.eb9f39e906097454.b8b1309d8f6a13e7
+    9a5c61a924de2b98.84f233971e299939.747d3241097b1741.21ce178f63270aa4
+    e07d35b29e7ab530
+  after
+    557008c61c0da136.e7377a0790a8e28d.bef40a3ec9b0984c.a20aabe2a5748967
+    902c107e97b878f4.9ba6e699cfcc1c55.a20aabe2a5748967.49db847186b6944e
+    5e8c05d0e6fa675c.5c76d0fbca73f0aa.eb9f39e906097454.b8b1309d8f6a13e7
+    9a5c61a924de2b98.84f233971e299939.747d3241097b1741.21ce178f63270aa4
+    e07d35b29e7ab530
+
+VPAND_128(reg)
+  before
+    500b8671dbee4f37.2267a2f36e7080d5.70680bdb667b54ad.1b7112d5cad52c58
+    cfc5063ab60f1667.d07a439cdfbd223e.7c2254323ff45db3.bb475391642370c5
+    b8f5b278cc69446a.8262c08e94d0cc00.056d0b084420f0f7.2fcb7361f3719eb5
+    66e88597b88915ec.12e996b7a8b53c47.65952bc9128c4824.55c8ec3194cc7454
+    070c3ced623faccd
+  after
+    0000000000000000.0000000000000000.6400000012844820.1140401104007044
+    cfc5063ab60f1667.d07a439cdfbd223e.7c2254323ff45db3.bb475391642370c5
+    b8f5b278cc69446a.8262c08e94d0cc00.056d0b084420f0f7.2fcb7361f3719eb5
+    66e88597b88915ec.12e996b7a8b53c47.65952bc9128c4824.55c8ec3194cc7454
+    070c3ced623faccd
+VPAND_128(mem)
+  before
+    2361df827ad6024d.37e97b0417fbc79a.5edc400237792b3e.f9e6b0e144c3a2e7
+    83944fdaf89e3400.8646902984499420.4006395a5e275811.1dac96bc76513aec
+    04710ae2f6a2fc11.ae49c1739c01b929.963500ad39cc7dee.2d32d9c745c34cde
+    83c48b8792ef17ac.0d40094ffaae7162.3a330ee6e37357fe.85c5766c4da41369
+    81b268182981cc3a
+  after
+    2361df827ad6024d.37e97b0417fbc79a.5edc400237792b3e.f9e6b0e144c3a2e7
+    83944fdaf89e3400.8646902984499420.4006395a5e275811.1dac96bc76513aec
+    0000000000000000.0000000000000000.4004000216210810.19a490a0444122e4
+    83c48b8792ef17ac.0d40094ffaae7162.3a330ee6e37357fe.85c5766c4da41369
+    81b268182981cc3a
+
+VPAND_128(reg)
+  before
+    7d43ab3875e5b2fd.da594eb4e88f40ff.fd7563273bddfa77.0acee0f27828a270
+    d5c53b37ce5c035d.e6fccf5413913533.dc35ce69fa198e13.e0d0f3bb15f71a6e
+    e5831580cf72f907.84788b5530feb077.04cc437fd4ee69e2.9906c22ed6ed7a25
+    09cb338115b4d1a7.8e9afda25ae46ef5.d285c0d764e9c992.123cc937d6157fc0
+    253d85c3317ce46c
+  after
+    0000000000000000.0000000000000000.d005c04160098812.0010c13314151a40
+    d5c53b37ce5c035d.e6fccf5413913533.dc35ce69fa198e13.e0d0f3bb15f71a6e
+    e5831580cf72f907.84788b5530feb077.04cc437fd4ee69e2.9906c22ed6ed7a25
+    09cb338115b4d1a7.8e9afda25ae46ef5.d285c0d764e9c992.123cc937d6157fc0
+    253d85c3317ce46c
+VPAND_128(mem)
+  before
+    afd770bd042d6754.9ce793a53cadc6e8.e12ea127ae4e2ada.a3ae40dc4795e8cd
+    8cd408106a34c2a5.fc243158deea1577.5900f3d04749a151.d191bffa187e033f
+    9801c8aa809db18b.84cf07069af5faff.d3dc708a41e08f87.b97b399d73315595
+    af2a2d766175f231.9032131c095db12d.298e923fb91fb0a7.b8b8aa31f5391c7b
+    28940f233a22929c
+  after
+    afd770bd042d6754.9ce793a53cadc6e8.e12ea127ae4e2ada.a3ae40dc4795e8cd
+    8cd408106a34c2a5.fc243158deea1577.5900f3d04749a151.d191bffa187e033f
+    0000000000000000.0000000000000000.4100a10006482050.818000d80014000d
+    af2a2d766175f231.9032131c095db12d.298e923fb91fb0a7.b8b8aa31f5391c7b
+    28940f233a22929c
+
+VPAND_128(reg)
+  before
+    665b63dddc79f4a5.ad1bb1602ac83fc4.7c994f04c9ab76ad.38e1d7dccb12bfde
+    ce58a2cc7ac97d41.6fa0d254f6a0556f.a352ba2b766d842a.dca2ba4e92c67958
+    bcd9c95dae9e6a1d.cf840b3ee10bf05f.63a74dfeab2e1751.f19db8802a479a40
+    8d28d2fb1485f7e5.aa95d80a0814cbc0.16e605e7057b6dcd.539e4b5db09fddc3
+    de71f1d33fdc000c
+  after
+    0000000000000000.0000000000000000.0242002304690408.50820a4c90865940
+    ce58a2cc7ac97d41.6fa0d254f6a0556f.a352ba2b766d842a.dca2ba4e92c67958
+    bcd9c95dae9e6a1d.cf840b3ee10bf05f.63a74dfeab2e1751.f19db8802a479a40
+    8d28d2fb1485f7e5.aa95d80a0814cbc0.16e605e7057b6dcd.539e4b5db09fddc3
+    de71f1d33fdc000c
+VPAND_128(mem)
+  before
+    6ee225cdf409bd48.9b92bb1149096044.db9db5a587c8a3bd.1a59df541fdfc04b
+    dfbc6337ea33d0a3.43637f0de8b7e0e7.40691ff979323483.ca4dd6b095e64d76
+    0dcd28fd3e65f748.e1e71a5a8e19b479.b4c591f4fb5e393d.810ee667041d50fb
+    d3dfee0b0babec63.d1698964d6bd18a7.137d878027597018.9de70be5080e0486
+    782642963c48a7c2
+  after
+    6ee225cdf409bd48.9b92bb1149096044.db9db5a587c8a3bd.1a59df541fdfc04b
+    dfbc6337ea33d0a3.43637f0de8b7e0e7.40691ff979323483.ca4dd6b095e64d76
+    0000000000000000.0000000000000000.400915a101002081.0a49d61015c64042
+    d3dfee0b0babec63.d1698964d6bd18a7.137d878027597018.9de70be5080e0486
+    782642963c48a7c2
+
+VPMOVMSKB_128(reg)
+  before
+    701586e63c54725c.0fbf334d6e126c22.6f37c6975d2f481d.395d7d8b1c2e9340
+    df02d341a5c0a400.9c3972b082a532af.169bcf60befa7f86.0230f000f4e95ee0
+    2237251412187759.5619271e6370fb36.24e2a02995aafa8f.4ac35acbcb978f24
+    960179c920e62813.192acf852e8083e4.f458335f80cbf4e3.ece239d8be43e03a
+    c6590813e8f90e4c
+  after
+    701586e63c54725c.0fbf334d6e126c22.6f37c6975d2f481d.395d7d8b1c2e9340
+    df02d341a5c0a400.9c3972b082a532af.169bcf60befa7f86.0230f000f4e95ee0
+    2237251412187759.5619271e6370fb36.24e2a02995aafa8f.4ac35acbcb978f24
+    960179c920e62813.192acf852e8083e4.f458335f80cbf4e3.ece239d8be43e03a
+    0000000000006d2d
+VPMOVMSKB_128(mem)
+  before
+    b3f4446866c6d486.95abc9ce6bb8f3dc.c03ae5cfffe086e5.e249856f18eaab2f
+    8e7f67c353b5ef15.7c83138d8d1a145d.2913e5eaf19cbf64.4a0193c3fb92591f
+    35c6ef11ccd21b25.a7d352742596c645.2e824bc120c1eb8e.88cb58c9c5503b5e
+    8294573cec2a14e1.73e983eeccba463e.ad539340a95ac68f.f7f5d0ec11af8c98
+    f5c9f8987b3b897b
+  after
+    b3f4446866c6d486.95abc9ce6bb8f3dc.c03ae5cfffe086e5.e249856f18eaab2f
+    8e7f67c353b5ef15.7c83138d8d1a145d.2913e5eaf19cbf64.4a0193c3fb92591f
+    35c6ef11ccd21b25.a7d352742596c645.2e824bc120c1eb8e.88cb58c9c5503b5e
+    8294573cec2a14e1.73e983eeccba463e.ad539340a95ac68f.f7f5d0ec11af8c98
+    f5c9f8987b3b897b
+
+VPMOVMSKB_128(reg)
+  before
+    dd94cb39a0806eb1.53b61b32d0c89576.3a0fa0672012cff5.81523a53a8740c92
+    0aa2443b1b0b77e6.83f8b8dd93b95c10.5992a74bbd289f15.854abbe6381978c4
+    da3f620a8967e0c7.ed26a82b520722da.2cbe93063e8af04b.970992e57557c750
+    a7b61e128521e400.6e0c690728c1a600.0fde600440c4fe42.91593b3d7c3ab563
+    510733d868cdfd28
+  after
+    dd94cb39a0806eb1.53b61b32d0c89576.3a0fa0672012cff5.81523a53a8740c92
+    0aa2443b1b0b77e6.83f8b8dd93b95c10.5992a74bbd289f15.854abbe6381978c4
+    da3f620a8967e0c7.ed26a82b520722da.2cbe93063e8af04b.970992e57557c750
+    a7b61e128521e400.6e0c690728c1a600.0fde600440c4fe42.91593b3d7c3ab563
+    0000000000006ab1
+VPMOVMSKB_128(mem)
+  before
+    b1dff4a3561c5ccc.cf5575bfacc4c03c.e375765d31f0a2b0.5e400ab15e6107a7
+    8eadfc8b61338e7b.ad66647e99dcaf28.262f4c198aa2d314.752e8e7a34ed4526
+    c53dc67ba61f4f60.9c36e6b9e9f6ee70.150465274fe2f558.b0f5e7c95ff4f56a
+    305bcf5f40eb5aa8.f911f7de379db9bf.8ac13f739bbcc4a9.6be1110c7b035320
+    023e08ad22a59af3
+  after
+    b1dff4a3561c5ccc.cf5575bfacc4c03c.e375765d31f0a2b0.5e400ab15e6107a7
+    8eadfc8b61338e7b.ad66647e99dcaf28.262f4c198aa2d314.752e8e7a34ed4526
+    c53dc67ba61f4f60.9c36e6b9e9f6ee70.150465274fe2f558.b0f5e7c95ff4f56a
+    305bcf5f40eb5aa8.f911f7de379db9bf.8ac13f739bbcc4a9.6be1110c7b035320
+    023e08ad22a59af3
+
+VPMOVMSKB_128(reg)
+  before
+    d158c91af3670790.acd291224ca46c7f.21439458205d4cc1.623255ea8a3dfb33
+    347b4fbe88d3d6a2.166f8ab2e5554110.6e17b7933fc3e324.7a23237639705721
+    87f296057d7742d7.48fe35fa270a9587.3edb5efa315ab992.ac602605c36293a0
+    260a9a5b6fdf89d8.1f4b0ee72fcf2311.ebd984fb91ae0bb7.d5b4d881451e6ddb
+    d1edb7d8dab09fff
+  after
+    d158c91af3670790.acd291224ca46c7f.21439458205d4cc1.623255ea8a3dfb33
+    347b4fbe88d3d6a2.166f8ab2e5554110.6e17b7933fc3e324.7a23237639705721
+    87f296057d7742d7.48fe35fa270a9587.3edb5efa315ab992.ac602605c36293a0
+    260a9a5b6fdf89d8.1f4b0ee72fcf2311.ebd984fb91ae0bb7.d5b4d881451e6ddb
+    0000000000003600
+VPMOVMSKB_128(mem)
+  before
+    7cd53ef59f25e538.6c0f572cf996e554.7722926319b1a8da.d25e2602fb4c1440
+    b239eac4af87fdb1.b74dcae4b82892f5.2c4f3c5b00bbdf0e.4fb63e790cbf12d9
+    50e5353127e5a197.6210eef04722ce67.1a9d87bc00fa86d8.bf2dcacd60933f2d
+    30a49d2822488e15.c8a4bfba430ed357.1dd9f27036795764.7c0fc56a9155d7e9
+    e3a82bbd3e9018b8
+  after
+    7cd53ef59f25e538.6c0f572cf996e554.7722926319b1a8da.d25e2602fb4c1440
+    b239eac4af87fdb1.b74dcae4b82892f5.2c4f3c5b00bbdf0e.4fb63e790cbf12d9
+    50e5353127e5a197.6210eef04722ce67.1a9d87bc00fa86d8.bf2dcacd60933f2d
+    30a49d2822488e15.c8a4bfba430ed357.1dd9f27036795764.7c0fc56a9155d7e9
+    e3a82bbd3e9018b8
+
+VCVTTSS2SI_64(reg)
+  before
+    5043f83001d03c47.2f449d95bdbe8058.475439b0477bde71.11cff665be440ee0
+    1f2d293176a28042.298fb1641352328c.3a6e583ceff22a60.d24b1085b2686975
+    acb2b92b3a912054.fa535581401161dc.fc3c19ccd801f5d1.3c19bdbe31f02252
+    531ea48ae829572a.7d5a06d96106c975.eb0b77cb9e337970.2b0578fb55e8f6a1
+    7bdabd283a5da18e
+  after
+    5043f83001d03c47.2f449d95bdbe8058.475439b0477bde71.11cff665be440ee0
+    1f2d293176a28042.298fb1641352328c.3a6e583ceff22a60.d24b1085b2686975
+    acb2b92b3a912054.fa535581401161dc.fc3c19ccd801f5d1.3c19bdbe31f02252
+    531ea48ae829572a.7d5a06d96106c975.eb0b77cb9e337970.2b0578fb55e8f6a1
+    0000000000000000
+VCVTTSS2SI_64(mem)
+  before
+    08660931fd5ade46.70bde6ba1df7626f.90713f56923d2582.61276ea5dc15f2e8
+    ae73d702b9eb6af5.5fdb7b2774867dd0.0e637ce6eec33330.bcdbfbc62e329ee5
+    49cea2888a1d01c6.7cc3603d8a63e3f9.d3fe397491a3adab.5675189a3116b715
+    b543e9ad8dfb5fe6.23c29068fa19d295.bb0df2eb98e94f1e.8d3fc38d814e7a22
+    bb86f70bb96522b8
+  after
+    08660931fd5ade46.70bde6ba1df7626f.90713f56923d2582.61276ea5dc15f2e8
+    ae73d702b9eb6af5.5fdb7b2774867dd0.0e637ce6eec33330.bcdbfbc62e329ee5
+    49cea2888a1d01c6.7cc3603d8a63e3f9.d3fe397491a3adab.5675189a3116b715
+    b543e9ad8dfb5fe6.23c29068fa19d295.bb0df2eb98e94f1e.8d3fc38d814e7a22
+    fda8346000000000
+
+VCVTTSS2SI_64(reg)
+  before
+    3e96b08175e7ed84.cd9e255ede913f81.b025071460348351.a25b24391ea2d7b6
+    70bbeb5952611532.6faad38898ec5ec2.7f36c1ae594035d8.63b54a4940d9ff9e
+    ae41a201eb5ed66d.76357016d81777d6.ec41bba081ca22d7.dce7e007199a8403
+    5574d3e3dd6a6ee2.bd0977f3b91e48e8.5394f058735d88fa.e8bd6360c6f22110
+    62034d3e63ec93f3
+  after
+    3e96b08175e7ed84.cd9e255ede913f81.b025071460348351.a25b24391ea2d7b6
+    70bbeb5952611532.6faad38898ec5ec2.7f36c1ae594035d8.63b54a4940d9ff9e
+    ae41a201eb5ed66d.76357016d81777d6.ec41bba081ca22d7.dce7e007199a8403
+    5574d3e3dd6a6ee2.bd0977f3b91e48e8.5394f058735d88fa.e8bd6360c6f22110
+    0000000000000006
+VCVTTSS2SI_64(mem)
+  before
+    28841c8e0a9596d5.bf9f796dc312173c.22f3640d570e8b25.0f7a5c40cc86a0ec
+    150d4b3dd9f7e6e5.490f910a3ae10e28.80bfb44fcff2fdb9.7e3efbc626d0a959
+    046b5635ec203e4c.4f111526dd638e52.b239e1a53dd659cf.fb2dca5520c7ddef
+    d368ba645e1c5c39.2def032d4825d565.962c69fbbbc75d93.e193c35954f77958
+    8ebce43e5eedb940
+  after
+    28841c8e0a9596d5.bf9f796dc312173c.22f3640d570e8b25.0f7a5c40cc86a0ec
+    150d4b3dd9f7e6e5.490f910a3ae10e28.80bfb44fcff2fdb9.7e3efbc626d0a959
+    046b5635ec203e4c.4f111526dd638e52.b239e1a53dd659cf.fb2dca5520c7ddef
+    d368ba645e1c5c39.2def032d4825d565.962c69fbbbc75d93.e193c35954f77958
+    fffffffffbcaf8a0
+
+VCVTTSS2SI_64(reg)
+  before
+    5df42870db34d854.5cd1f1b54cf6f9d6.3ff5568b18b21d0e.0666c73d68d0c333
+    a9868b5b66591340.7d717914d1bad450.e1710aace996a3f8.e0b177585efe47d9
+    d0c00a6c9ce7a6af.1016cd6d0974a7d2.70ae1cfc565ea2d0.fedaf636b95ba7b1
+    2ceca00d186acd4e.f28a6aac11312f89.46f786e8fc955742.3eadbfc596f59de8
+    7af64eef10d8e6aa
+  after
+    5df42870db34d854.5cd1f1b54cf6f9d6.3ff5568b18b21d0e.0666c73d68d0c333
+    a9868b5b66591340.7d717914d1bad450.e1710aace996a3f8.e0b177585efe47d9
+    d0c00a6c9ce7a6af.1016cd6d0974a7d2.70ae1cfc565ea2d0.fedaf636b95ba7b1
+    2ceca00d186acd4e.f28a6aac11312f89.46f786e8fc955742.3eadbfc596f59de8
+    7f23ec8000000000
+VCVTTSS2SI_64(mem)
+  before
+    8f811fa2440f3d22.1b5749ac776fc3c9.009bcabd05fc28a0.c09946da76c8fef9
+    5a1aaec94da6607d.f74d01b35481c5cb.14136b8c00e24e44.3ae057406081d3a2
+    b58c784f47a909e6.1e1ac4904c2c0f00.0bbfc8051eed5ca1.0f18b584574e11e8
+    7da4f8224f25f58a.ea0a8faefafddc16.c26b5d157c2c0fe2.9d8d5d14f6bbf578
+    3f8a4a5bda53bbfe
+  after
+    8f811fa2440f3d22.1b5749ac776fc3c9.009bcabd05fc28a0.c09946da76c8fef9
+    5a1aaec94da6607d.f74d01b35481c5cb.14136b8c00e24e44.3ae057406081d3a2
+    b58c784f47a909e6.1e1ac4904c2c0f00.0bbfc8051eed5ca1.0f18b584574e11e8
+    7da4f8224f25f58a.ea0a8faefafddc16.c26b5d157c2c0fe2.9d8d5d14f6bbf578
+    8000000000000000
+
+VPACKUSWB_128(reg)
+  before
+    515d78c59ea29f25.8e2eaa2d8125df95.b8685d79fa7f69b7.13e2a7a635a82234
+    2f50e3bedf34dc9a.c5f60a5df8b68432.e5822a5de93ef28f.dbf220a6666f53c2
+    35b087b23896af08.fcc8949cd1e3a08e.cba2f2c663c7b34b.f66546ff2a8c5cba
+    bec9610d4653541c.1070c5d727b8efd4.c715b22003a5e797.4008949f9e0cf945
+    95a78671ddfae891
+  after
+    0000000000000000.0000000000000000.0000ff00ff000000.00ff000000ffffff
+    2f50e3bedf34dc9a.c5f60a5df8b68432.e5822a5de93ef28f.dbf220a6666f53c2
+    35b087b23896af08.fcc8949cd1e3a08e.cba2f2c663c7b34b.f66546ff2a8c5cba
+    bec9610d4653541c.1070c5d727b8efd4.c715b22003a5e797.4008949f9e0cf945
+    95a78671ddfae891
+VPACKUSWB_128(mem)
+  before
+    d20e99610462e3ca.28e76c3ca4f80682.ddb918fb16422c31.362764d76564cb1e
+    d109485b2e50a71c.ce55a4a9ef1002e5.3f7009f2bb8c14d1.7223065826919b8d
+    6f640f4b78d1f0b2.0b6105c2c22784f1.126114aa31a263df.d857930de2b7938f
+    88ea6a1efdf179b8.3d558cf1bacac854.3258b60d9590d488.c40d08643462eed1
+    92935fc7b81fe9ff
+  after
+    d20e99610462e3ca.28e76c3ca4f80682.ddb918fb16422c31.362764d76564cb1e
+    d109485b2e50a71c.ce55a4a9ef1002e5.3f7009f2bb8c14d1.7223065826919b8d
+    0000000000000000.0000000000000000.00ffffffffffff00.ffff00ffffffff00
+    88ea6a1efdf179b8.3d558cf1bacac854.3258b60d9590d488.c40d08643462eed1
+    92935fc7b81fe9ff
+
+VPACKUSWB_128(reg)
+  before
+    9e3396a40b79bfc4.f868d5bed9baff5b.bf7e33a4728309b8.7b216a09026325f7
+    443aa866c8fcaecd.9aaacd18293a3ec7.ec28f84686e184c9.c988ac8995271059
+    e0f392798c35f0c5.4c7ccd19097df127.229fd643936d7434.f858f87969e651da
+    ceac4e49f2afc259.e9aa51ac948dd6a8.bb2fca0735b517a5.e45fcac59baea6a5
+    69679f59468bc9e7
+  after
+    0000000000000000.0000000000000000.0000ffff00000000.00000000000000ff
+    443aa866c8fcaecd.9aaacd18293a3ec7.ec28f84686e184c9.c988ac8995271059
+    e0f392798c35f0c5.4c7ccd19097df127.229fd643936d7434.f858f87969e651da
+    ceac4e49f2afc259.e9aa51ac948dd6a8.bb2fca0735b517a5.e45fcac59baea6a5
+    69679f59468bc9e7
+VPACKUSWB_128(mem)
+  before
+    623df222878777cb.6aafda4297f75f35.4d00d5bce678a776.1524cefe0745a7c7
+    adad3f0a79b06b7e.104a31d016970404.5449d5371c4920bc.8ac9e094a5a76147
+    258302fe3912622c.1cc74f600b1eed73.da52ce08520dffa7.786bfb35ac6981d1
+    a68ab8ebe2b71800.ea73305c1315562d.bae83b1ba2cffe62.39561b4db7164210
+    2ad63d49633be1b0
+  after
+    623df222878777cb.6aafda4297f75f35.4d00d5bce678a776.1524cefe0745a7c7
+    adad3f0a79b06b7e.104a31d016970404.5449d5371c4920bc.8ac9e094a5a76147
+    0000000000000000.0000000000000000.ff000000ff00ff00.ff00ffff000000ff
+    a68ab8ebe2b71800.ea73305c1315562d.bae83b1ba2cffe62.39561b4db7164210
+    2ad63d49633be1b0
+
+VPACKUSWB_128(reg)
+  before
+    a8375b934b639a5f.0b90dbbc90ad4927.d69ad131ca0a7adf.d2d5985c2b9cda1a
+    0dc573990c1aa8c6.325fe95c6000b0cc.3b872c4ccb889635.fde561b7067e4efb
+    b6cb80c641ed4894.f6c45eb96eba0a1c.77883f18b21ce6da.16e6131952831730
+    ff967f868767b673.328bb4bed5ea1342.e5e706001c50a67a.fba3296c28b7f1e5
+    87e71f9da7249848
+  after
+    0000000000000000.0000000000000000.00ffff0000ffff00.ffff000000ffffff
+    0dc573990c1aa8c6.325fe95c6000b0cc.3b872c4ccb889635.fde561b7067e4efb
+    b6cb80c641ed4894.f6c45eb96eba0a1c.77883f18b21ce6da.16e6131952831730
+    ff967f868767b673.328bb4bed5ea1342.e5e706001c50a67a.fba3296c28b7f1e5
+    87e71f9da7249848
+VPACKUSWB_128(mem)
+  before
+    957f7199e8d9c783.44726a4479142e0f.c4806957b199876b.e1f17b72a5b311c3
+    03379b4b09df3cc2.e2ab3f6eb481eb16.866ff7701fd521c3.c6f39cd9e8ce645f
+    abdb1a9e2644b032.338df970d3392a31.5623ddf53aa99e75.f23664a1812fdbfa
+    6b3769805a13e2ff.946494b472c9270f.0e6994d31f21baae.c009cf370d61b141
+    8bb7d90527f123e0
+  after
+    957f7199e8d9c783.44726a4479142e0f.c4806957b199876b.e1f17b72a5b311c3
+    03379b4b09df3cc2.e2ab3f6eb481eb16.866ff7701fd521c3.c6f39cd9e8ce645f
+    0000000000000000.0000000000000000.00ff000000ff00ff.0000ffff000000ff
+    6b3769805a13e2ff.946494b472c9270f.0e6994d31f21baae.c009cf370d61b141
+    8bb7d90527f123e0
+
+VCVTSS2SD_128(reg)
+  before
+    b18b7f786c6a6d82.1d1704dcc1588c54.617b0da72fbb1d5a.8c0d99f4ea4a309a
+    8cd2bbfd7758cbd4.9e46679e78206b5e.f6205eb5a39e4abe.aadc6946b52fbd64
+    7ad98bfee5487882.cb910fb29b763b49.af9d854b6cfbe8e9.459f7fb39fdd1d38
+    d5eaebe951c5b137.7ec477054567b840.e83f7dd325603384.3a255729c15e0c44
+    63396d9339c145b2
+  after
+    0000000000000000.0000000000000000.f6205eb5a39e4abe.c02bc18880000000
+    8cd2bbfd7758cbd4.9e46679e78206b5e.f6205eb5a39e4abe.aadc6946b52fbd64
+    7ad98bfee5487882.cb910fb29b763b49.af9d854b6cfbe8e9.459f7fb39fdd1d38
+    d5eaebe951c5b137.7ec477054567b840.e83f7dd325603384.3a255729c15e0c44
+    63396d9339c145b2
+VCVTSS2SD_128(mem)
+  before
+    9da63edd230f85ae.fa51d528585bb29f.94ab1b8192fe9d6f.fd5243bb6b58693e
+    c53945f29a568865.465c47299597b668.ea1277139f47a703.4a22d16eda6fc4c1
+    b5befec1bba10a03.13553b57a404fa3b.5ac507a8874e9128.2bfa25580d3280b9
+    4a01e533a1fdc6b3.bf8aaf1e222ebac7.c18f482a6720190a.fb283ae5a02cdbd4
+    18f60c8130ea0fbb
+  after
+    9da63edd230f85ae.fa51d528585bb29f.94ab1b8192fe9d6f.fd5243bb6b58693e
+    c53945f29a568865.465c47299597b668.ea1277139f47a703.4a22d16eda6fc4c1
+    0000000000000000.0000000000000000.ea1277139f47a703.456b0d27c0000000
+    4a01e533a1fdc6b3.bf8aaf1e222ebac7.c18f482a6720190a.fb283ae5a02cdbd4
+    18f60c8130ea0fbb
+
+VCVTSS2SD_128(reg)
+  before
+    ddb1979858f7591d.60ce7735687579a2.a4459feaaba232b6.fb3eb5875bc8f9d4
+    a6a5d896b5dff5a4.d3f12eb32d15defb.1fd30527daeb9db5.e49ccaaa7d53edb2
+    ce1ecae7e22e1efc.7f35889a0ce9b3eb.8c80df424b95386f.5976037febccb3d2
+    b36769f87b7111d2.416700d420feb29e.489828a59b2d3f91.3498ddf2c13f055d
+    52cdd2ef1ab9a082
+  after
+    0000000000000000.0000000000000000.1fd30527daeb9db5.c027e0aba0000000
+    a6a5d896b5dff5a4.d3f12eb32d15defb.1fd30527daeb9db5.e49ccaaa7d53edb2
+    ce1ecae7e22e1efc.7f35889a0ce9b3eb.8c80df424b95386f.5976037febccb3d2
+    b36769f87b7111d2.416700d420feb29e.489828a59b2d3f91.3498ddf2c13f055d
+    52cdd2ef1ab9a082
+VCVTSS2SD_128(mem)
+  before
+    8fe360621345406b.b0ceb1331e330ad2.f354134f8560973f.ad66dcbd663eedc6
+    c7a40337c7efa044.209d9f06640145a7.72c63bf6581920fb.1838f7f7475480bb
+    d6de355b53c37d3b.61212ddceb66fdfe.9a89f6b4b43707fd.e55876bedafc311c
+    985b74b8d2ce9379.cea659204fee6f83.466bbf77b6c50972.7013547dbcc13f94
+    15b58da2882fe4d0
+  after
+    8fe360621345406b.b0ceb1331e330ad2.f354134f8560973f.ad66dcbd663eedc6
+    c7a40337c7efa044.209d9f06640145a7.72c63bf6581920fb.1838f7f7475480bb
+    0000000000000000.0000000000000000.72c63bf6581920fb.44c7ddb8c0000000
+    985b74b8d2ce9379.cea659204fee6f83.466bbf77b6c50972.7013547dbcc13f94
+    15b58da2882fe4d0
+
+VCVTSS2SD_128(reg)
+  before
+    308a1d98dbd35d7b.e8e83a3b601c9d2d.c2781e402b26d7e1.5437122a79d0e286
+    1ddd01cb5038e642.a45005d11ab75981.9be379a71b9970c4.9fb86cb91a634d64
+    38fc33a784ebbbd1.a76151651bad81a1.b33264c1bcd377da.03bb4710b48a0739
+    dd31b199127617d3.cde698e3800ad1ba.67b3ddfbaa6128cd.5c0c211c6452cc30
+    867775c745c65876
+  after
+    0000000000000000.0000000000000000.9be379a71b9970c4.448a598600000000
+    1ddd01cb5038e642.a45005d11ab75981.9be379a71b9970c4.9fb86cb91a634d64
+    38fc33a784ebbbd1.a76151651bad81a1.b33264c1bcd377da.03bb4710b48a0739
+    dd31b199127617d3.cde698e3800ad1ba.67b3ddfbaa6128cd.5c0c211c6452cc30
+    867775c745c65876
+VCVTSS2SD_128(mem)
+  before
+    5cc8c0ff73f26636.68c9760b966737f5.f2aa583765d807f8.14b0dfbf7fcebf49
+    bcca7cae0ce3b39e.35107f6aad4a57e2.f17a0c4de525dd86.1476667adaa677fb
+    814b27c229a4fad7.9f52c623f3aab247.a82230111cfd1091.c5516f9955758d8f
+    87153c25e841f910.04db49a0031385cf.f26e406f276a5b45.818df5868cc83db0
+    a575f3af1c2bc20b
+  after
+    5cc8c0ff73f26636.68c9760b966737f5.f2aa583765d807f8.14b0dfbf7fcebf49
+    bcca7cae0ce3b39e.35107f6aad4a57e2.f17a0c4de525dd86.1476667adaa677fb
+    0000000000000000.0000000000000000.f17a0c4de525dd86.7ff9d7e920000000
+    87153c25e841f910.04db49a0031385cf.f26e406f276a5b45.818df5868cc83db0
+    a575f3af1c2bc20b
+
+VCVTSD2SS_128(reg)
+  before
+    8d57687fa028594b.a9f537c565c76a72.bff6034f79110c28.aa2ab953217a7bcd
+    967d4d61b44e3e1d.c5b7948dba410a2c.2cf1f09bf23182fb.ae2116aa27392c56
+    1a349fc3f626ad2d.b527d06906bc9468.a6160df00aff25f7.d921d35e54b22a0b
+    76c85b10ff3ee126.571166456342c653.8bb254ba5c052fc6.06f46c5dc4f13019
+    13675d919502fcab
+  after
+    0000000000000000.0000000000000000.2cf1f09bf23182fb.ae2116aa00000000
+    967d4d61b44e3e1d.c5b7948dba410a2c.2cf1f09bf23182fb.ae2116aa27392c56
+    1a349fc3f626ad2d.b527d06906bc9468.a6160df00aff25f7.d921d35e54b22a0b
+    76c85b10ff3ee126.571166456342c653.8bb254ba5c052fc6.06f46c5dc4f13019
+    13675d919502fcab
+VCVTSD2SS_128(mem)
+  before
+    da4623e8e0f247ee.06857cb46d2117b5.8540d20eede15a18.3611c36584d1dc14
+    395c394dc3ccd00e.26b7fe1cdc5b8b85.1d8190aec1a50ce4.027e555d1fee6a8e
+    0a771bac5a9c5136.32a9deb2e7797943.f9a11d12fa999ae2.4d47070ec8e913e0
+    2a6145f1c06f8793.86a816e32a061c9b.f76af327b5c9be3f.71b6d3e41c4d14b5
+    cc19b74cb6a6a8ba
+  after
+    da4623e8e0f247ee.06857cb46d2117b5.8540d20eede15a18.3611c36584d1dc14
+    395c394dc3ccd00e.26b7fe1cdc5b8b85.1d8190aec1a50ce4.027e555d1fee6a8e
+    0000000000000000.0000000000000000.1d8190aec1a50ce4.027e555d00000000
+    2a6145f1c06f8793.86a816e32a061c9b.f76af327b5c9be3f.71b6d3e41c4d14b5
+    cc19b74cb6a6a8ba
+
+VCVTSD2SS_128(reg)
+  before
+    b8baaeb033810d9b.76e8340811502e51.7e01a41c428eb138.f1a890d70d413527
+    93e6b47e2e697d03.c8d663dd6a4c029b.76fe83c7cb9e73c7.c4296f101f0ebac5
+    b7e9c62144ea349e.fdf84e5ce66ebe9d.caecb05260c1a0f3.4db80dbd063b0b46
+    820ede051090701a.f21a7172a2c21f85.d61625289d847269.6620e4cadfd5e2d6
+    ec2e7223c5e7fca0
+  after
+    0000000000000000.0000000000000000.76fe83c7cb9e73c7.c4296f107f800000
+    93e6b47e2e697d03.c8d663dd6a4c029b.76fe83c7cb9e73c7.c4296f101f0ebac5
+    b7e9c62144ea349e.fdf84e5ce66ebe9d.caecb05260c1a0f3.4db80dbd063b0b46
+    820ede051090701a.f21a7172a2c21f85.d61625289d847269.6620e4cadfd5e2d6
+    ec2e7223c5e7fca0
+VCVTSD2SS_128(mem)
+  before
+    bbae32b4d47d14d0.4ea3fa952ee86b20.81074809ba54e07c.f6cae0b51f7226d5
+    b06ca16929a3e794.78f2153f3b7e625f.878d500f4831bfb1.8652dc658117f7e2
+    a534392ee0663115.5d482b6fd3dc9081.e076046f6b64764e.e1fc15a460ff223d
+    77d278ef14d1ae82.57f1398f91903333.688fe0143cfac180.651287de57b7e391
+    6de12f7f03ca768b
+  after
+    bbae32b4d47d14d0.4ea3fa952ee86b20.81074809ba54e07c.f6cae0b51f7226d5
+    b06ca16929a3e794.78f2153f3b7e625f.878d500f4831bfb1.8652dc658117f7e2
+    0000000000000000.0000000000000000.878d500f4831bfb1.8652dc65ff800000
+    77d278ef14d1ae82.57f1398f91903333.688fe0143cfac180.651287de57b7e391
+    6de12f7f03ca768b
+
+VCVTSD2SS_128(reg)
+  before
+    55b408f3ffc516d7.0211d999e1f11905.c3393a0c11268520.fca460ecdafe5e72
+    78d90ea7e8330120.22bed81664d12fca.fd6c2a52f028c3f5.768101e25e7c0751
+    349b3d0559a07012.b3a6f154b97dacff.61d505ceca25285d.b3f23de2e6817948
+    e445927bef98a25b.9193a13efa024bcd.4cc2c7ea39a6f105.8fc392d88e187084
+    e6bf7bb1714da731
+  after
+    0000000000000000.0000000000000000.fd6c2a52f028c3f5.768101e280000000
+    78d90ea7e8330120.22bed81664d12fca.fd6c2a52f028c3f5.768101e25e7c0751
+    349b3d0559a07012.b3a6f154b97dacff.61d505ceca25285d.b3f23de2e6817948
+    e445927bef98a25b.9193a13efa024bcd.4cc2c7ea39a6f105.8fc392d88e187084
+    e6bf7bb1714da731
+VCVTSD2SS_128(mem)
+  before
+    94b37557ac2ddb7a.e324077445a8d1a5.985162bf466bca63.187d6d14dc395a99
+    756bfab85ac2c88b.8f849a5bf75c3a9c.a4aeb2c5b7c4e3eb.2253f2b74d699fc4
+    64b388be971b2992.42b1479ea23e19ed.91750d3b691a5291.c690523f28c2fb33
+    3f579a578041bcb9.5af708a8e2dca944.3b71ed0d7978d583.608089180ad1ab91
+    4c6e93ae8e21eb8b
+  after
+    94b37557ac2ddb7a.e324077445a8d1a5.985162bf466bca63.187d6d14dc395a99
+    756bfab85ac2c88b.8f849a5bf75c3a9c.a4aeb2c5b7c4e3eb.2253f2b74d699fc4
+    0000000000000000.0000000000000000.a4aeb2c5b7c4e3eb.2253f2b700000000
+    3f579a578041bcb9.5af708a8e2dca944.3b71ed0d7978d583.608089180ad1ab91
+    4c6e93ae8e21eb8b
+
+VMOVD_XMM_to_IREG32(reg)
+  before
+    e6a86d6d503ef7cd.e123ad6d31423b2c.31a1dae552c1284c.7e6fd02802ea26ea
+    8a7812c1eeb50a02.26e23beec52a6219.25fcbac18e7acfb2.353b3176207d01f5
+    942b7e16011161d7.ea61c2c55803efa9.9055a3a93392dd21.3ea18ce4f13c24ce
+    5f0dadd927df37f7.086dbdde07db9c0b.cff69207dc958c47.746d5d5f8e3349a1
+    b36a20d1156f2d9b
+  after
+    e6a86d6d503ef7cd.e123ad6d31423b2c.31a1dae552c1284c.7e6fd02802ea26ea
+    8a7812c1eeb50a02.26e23beec52a6219.25fcbac18e7acfb2.353b3176207d01f5
+    942b7e16011161d7.ea61c2c55803efa9.9055a3a93392dd21.3ea18ce4f13c24ce
+    5f0dadd927df37f7.086dbdde07db9c0b.cff69207dc958c47.746d5d5f8e3349a1
+    0000000002ea26ea
+VMOVD_XMM_to_IREG32(mem)
+  before
+    d6665228a2fb8ce8.496a9c74fcaaca0f.5ed0a825edbe2569.3f2c8148261019cd
+    bb2b6e4f50e321b3.ad8e46551bfe54ca.c756ff8627b748ef.3a426ed9ac8ec061
+    3d86f0313b34a929.e7c4a7e6206712d6.1fcd3feed0d2bfca.1d8654250b9bbdaf
+    374355bc80f9e076.535abb95a8723fdc.4100e347051b4726.45432f97dec44b63
+    0cc4fb9dc294a728
+  after
+    d6665228a2fb8ce8.496a9c74fcaaca0f.5ed0a825edbe2569.3f2c8148261019cd
+    bb2b6e4f50e321b3.ad8e46551bfe54ca.c756ff8627b748ef.3a426ed9ac8ec061
+    3d86f0313b34a929.e7c4a7e6206712d6.1fcd3feed0d2bfca.1d8654250b9bbdaf
+    374355bc80f9e076.535abb95a8723fdc.4100e347051b4726.45432f97dec44b63
+    0cc4fb9dc294a728
+
+VMOVD_XMM_to_IREG32(reg)
+  before
+    cf56b5a252970caa.872e17db3b3e82c5.4c9a7ecd4faa188b.0bba677fe19f9c2e
+    ea4557122b5ab897.0713b47a86104a42.30d1edfab09cd98d.57c847808169790f
+    b9dddf59e868e598.95bda786807af51b.5a4b038867d3be8e.03f6ff3800859cf5
+    986949e3254dcf5c.0bf96de943893f7a.2554bce311db033b.e9100c927a00be0b
+    e7e2e9790ce59e7d
+  after
+    cf56b5a252970caa.872e17db3b3e82c5.4c9a7ecd4faa188b.0bba677fe19f9c2e
+    ea4557122b5ab897.0713b47a86104a42.30d1edfab09cd98d.57c847808169790f
+    b9dddf59e868e598.95bda786807af51b.5a4b038867d3be8e.03f6ff3800859cf5
+    986949e3254dcf5c.0bf96de943893f7a.2554bce311db033b.e9100c927a00be0b
+    00000000e19f9c2e
+VMOVD_XMM_to_IREG32(mem)
+  before
+    d73812dbd241f679.e3378f1d7f96b48d.47948090eb47e38b.ef3714774941e340
+    97dd03a3e71e8328.f691af7192ceced7.23585e6895c29e7b.124208b1ac909b48
+    019e39bd678b01b9.2dc4a34df9825ae8.7d11825b5c062c76.ecbf93fbd5546600
+    f2472f166f912b56.e41c6a1b503d9469.2f8d68575d1e49a7.d7fbb1c361198114
+    31425e73eb6c282f
+  after
+    d73812dbd241f679.e3378f1d7f96b48d.47948090eb47e38b.ef3714774941e340
+    97dd03a3e71e8328.f691af7192ceced7.23585e6895c29e7b.124208b1ac909b48
+    019e39bd678b01b9.2dc4a34df9825ae8.7d11825b5c062c76.ecbf93fbd5546600
+    f2472f166f912b56.e41c6a1b503d9469.2f8d68575d1e49a7.d7fbb1c361198114
+    31425e73eb6c282f
+
+VMOVD_XMM_to_IREG32(reg)
+  before
+    54e0967910d997fd.47a460981b3ebf2c.77e5fd49348bb709.16978c47b316b03b
+    9d2156406bea0a2c.da814b30859d7766.426b594241f80072.0ffa6b177afa1e5d
+    69509934982dbc65.88aa69cbccbb0f31.a1fa7b711111ab50.f48380b3cfd74f3a
+    12ba5bc1342eea57.2dea38540aa244b8.f0dd5e444361f350.a2fe4707ceb8fefe
+    f5373cff92aae9d4
+  after
+    54e0967910d997fd.47a460981b3ebf2c.77e5fd49348bb709.16978c47b316b03b
+    9d2156406bea0a2c.da814b30859d7766.426b594241f80072.0ffa6b177afa1e5d
+    69509934982dbc65.88aa69cbccbb0f31.a1fa7b711111ab50.f48380b3cfd74f3a
+    12ba5bc1342eea57.2dea38540aa244b8.f0dd5e444361f350.a2fe4707ceb8fefe
+    00000000b316b03b
+VMOVD_XMM_to_IREG32(mem)
+  before
+    c9fadb8738b8cae9.f5ac9853db77cfac.a50f33b65b61d328.8b61fe267075161e
+    fa13a18bdbee5d69.6f704d562896a911.cde3d6dfdc0175ad.ced2588437d74e66
+    654d09f89759607f.da527436b717b231.7f339dbaa890e972.147c66c83116d7d2
+    e4758fb889048d57.93a00b60258426b9.98cb0433dc19e9a4.bbab265ffdbbef11
+    1eab93b63454d0cd
+  after
+    c9fadb8738b8cae9.f5ac9853db77cfac.a50f33b65b61d328.8b61fe267075161e
+    fa13a18bdbee5d69.6f704d562896a911.cde3d6dfdc0175ad.ced2588437d74e66
+    654d09f89759607f.da527436b717b231.7f339dbaa890e972.147c66c83116d7d2
+    e4758fb889048d57.93a00b60258426b9.98cb0433dc19e9a4.bbab265ffdbbef11
+    1eab93b63454d0cd
+
+VPCMPESTRM_0x45_128(reg)
+  before
+    98c7a937746cb7b3.5458afb9ccfba01e.f6a50d3e0e6b4354.f477883693a9326e
+    874d65505990df6e.91c0e6e67d4a5700.5fac773e0c5843af.6f02a4afe94b80fd
+    4687c26b7e4b86ab.7779af2ab7fe6c29.2b0243cabed66376.e539d48afb0b8e7d
+    30c2bbf68029e516.e251867397239cc3.b4f36f50be71df54.32e995b4e5f61919
+    32dc6117c217ddfe
+  after
+    98c7a937746cb7b3.5458afb9ccfba01e.f6a50d3e0e6b4354.f477883693a9326e
+    874d65505990df6e.91c0e6e67d4a5700.5fac773e0c5843af.6f02a4afe94b80fd
+    4687c26b7e4b86ab.7779af2ab7fe6c29.2b0243cabed66376.e539d48afb0b8e7d
+    30c2bbf68029e516.e251867397239cc3.0000000000000000.0000ffffffff0000
+    32dc6117c217ddfe
+VPCMPESTRM_0x45_128(mem)
+  before
+    c1dfb6a1ae7a9557.a34a4f5cfab63b5a.ad13e7ac39c3a3fd.57cbf63ba8b5f2f6
+    babe0f3cc62cff51.f96a7709887fc323.b68a4ec1b7ec3c01.70d6d4f7192fd907
+    fb44e8d62638d418.90703169c710b81f.d883389f2faa24fc.5b6006f0ac6ad034
+    5f3fbe5ae9aad3d7.c2a677e852f357f7.efca2030bd071719.74b48792fdf21229
+    16205249aa54dc91
+  after
+    c1dfb6a1ae7a9557.a34a4f5cfab63b5a.ad13e7ac39c3a3fd.57cbf63ba8b5f2f6
+    babe0f3cc62cff51.f96a7709887fc323.b68a4ec1b7ec3c01.70d6d4f7192fd907
+    fb44e8d62638d418.90703169c710b81f.d883389f2faa24fc.5b6006f0ac6ad034
+    5f3fbe5ae9aad3d7.c2a677e852f357f7.ffff00000000ffff.ffff0000ffff0000
+    16205249aa54dc91
+
+VPCMPESTRM_0x45_128(reg)
+  before
+    9fee66824c1b6a19.c2790cb42b8fb7ba.ec5947f3c6b6db5a.d72b82617c11d185
+    6a6bbca781d4f86c.00bf4ed009f23bef.6bd69df4bfe582f2.6c72da1f89d40d6c
+    d3e25225e50ac137.f4dd009a9edf1ba0.99667358d70a866c.896aa554ff5a88f9
+    36a1226913490325.7c9f9efe076315f9.d358c78cadb32373.0ce15eeefab1fd59
+    d0a181d897e52ab7
+  after
+    9fee66824c1b6a19.c2790cb42b8fb7ba.ec5947f3c6b6db5a.d72b82617c11d185
+    6a6bbca781d4f86c.00bf4ed009f23bef.6bd69df4bfe582f2.6c72da1f89d40d6c
+    d3e25225e50ac137.f4dd009a9edf1ba0.99667358d70a866c.896aa554ff5a88f9
+    36a1226913490325.7c9f9efe076315f9.0000ffff00000000.0000ffffffff0000
+    d0a181d897e52ab7
+VPCMPESTRM_0x45_128(mem)
+  before
+    b0778afdf200c940.eff32adea71df7e4.73d1a5e85f89e327.76f794fada6c97b4
+    8a2ff54b2610971f.592366f03e13dc1d.b43e8f45c35d4256.dc8ed610fdbf1cda
+    38953fad4f214f82.d27ed00a74b6ec7f.1db4daff4eeceeb1.626b8939af3aef92
+    9875e3108a3eaf92.b550669ae39364b4.88fd02041d41a265.64d8aae18e694b88
+    3f22337436d66e67
+  after
+    b0778afdf200c940.eff32adea71df7e4.73d1a5e85f89e327.76f794fada6c97b4
+    8a2ff54b2610971f.592366f03e13dc1d.b43e8f45c35d4256.dc8ed610fdbf1cda
+    38953fad4f214f82.d27ed00a74b6ec7f.1db4daff4eeceeb1.626b8939af3aef92
+    9875e3108a3eaf92.b550669ae39364b4.ffffffffffffffff.ffffffffffffffff
+    3f22337436d66e67
+
+VPCMPESTRM_0x45_128(reg)
+  before
+    4d94225e420f92dc.849a5d5ef273717d.5de5230b2a358068.d3e6813e4b681c9e
+    eb7c730b4fa0f492.dad12984a4cc516f.288903cae3287b48.d83bd59bf46e1587
+    752520e8f814cf36.74e7c36ebc560d94.70880241aaf99200.75c77906365e4c4d
+    47da275fd9f76074.30a6a809541c5f17.932d1cdd1c32013b.8458e96b2a457b1b
+    e3b9a1b6ee2e5f1e
+  after
+    4d94225e420f92dc.849a5d5ef273717d.5de5230b2a358068.d3e6813e4b681c9e
+    eb7c730b4fa0f492.dad12984a4cc516f.288903cae3287b48.d83bd59bf46e1587
+    752520e8f814cf36.74e7c36ebc560d94.70880241aaf99200.75c77906365e4c4d
+    47da275fd9f76074.30a6a809541c5f17.ffffffffffffffff.ffffffffffffffff
+    e3b9a1b6ee2e5f1e
+VPCMPESTRM_0x45_128(mem)
+  before
+    6cb51ed39d25b481.bde883dd8fd5e3f7.e8da533f8b2b0425.ecc54e0bd46204a6
+    fc19daae54363571.339b30cfb63b946c.795140fe7a8db7e9.d69c93356f12d6ed
+    70b153342f6ea01a.053f2aa0e9b4ae7e.c0d6ec313f513690.aefee7c988d0b4bb
+    a249054f49d8afa7.8f206dbbc4cc6eda.9734d1c4f6803b45.d1374731bb28dabc
+    9993addba6a4839e
+  after
+    6cb51ed39d25b481.bde883dd8fd5e3f7.e8da533f8b2b0425.ecc54e0bd46204a6
+    fc19daae54363571.339b30cfb63b946c.795140fe7a8db7e9.d69c93356f12d6ed
+    70b153342f6ea01a.053f2aa0e9b4ae7e.c0d6ec313f513690.aefee7c988d0b4bb
+    a249054f49d8afa7.8f206dbbc4cc6eda.0000ffff00000000.0000ffffffff0000
+    9993addba6a4839e
+
+VMOVQ_IREGorMEM64_to_XMM(reg)
+  before
+    645d1732e2d2ec0a.6fac6aedbe811e45.2c89f68ee410102c.db386da3ba288335
+    8ce380a20d3e51af.b3a800f8ab74aa1f.3ac8c084e40bd01f.69ae3bbaa854c98c
+    6e6fe597c372ee37.4a07415e2bbd1062.1427c709614ae960.1b62b7f5db11ca75
+    674e407d9ffcfe4f.1196ac0a5b68093a.16f30889f658989a.ce205e406f69421d
+    5eb4aa88816bedaf
+  after
+    0000000000000000.0000000000000000.0000000000000000.5eb4aa88816bedaf
+    8ce380a20d3e51af.b3a800f8ab74aa1f.3ac8c084e40bd01f.69ae3bbaa854c98c
+    6e6fe597c372ee37.4a07415e2bbd1062.1427c709614ae960.1b62b7f5db11ca75
+    674e407d9ffcfe4f.1196ac0a5b68093a.16f30889f658989a.ce205e406f69421d
+    5eb4aa88816bedaf
+VMOVQ_IREGorMEM64_to_XMM(mem)
+  before
+    a7e919b72d208658.d1cc8fc13d68bea2.e221bae7568254d2.9c787d7140c1197a
+    858c26ba8e96ca44.0934cdcd3a406add.9a74e8e33916ab57.0102242bda12a7ab
+    d46a4e7ec0d8759e.6bd4f60f31123eab.155bb3ea1f31cbf4.a3ddf82461d57fdb
+    704d0beee0f34293.53f606f1bf6a75b9.2fa296e624de70d6.dd54f5c97099ddb3
+    0ab41884a3e7fce2
+  after
+    a7e919b72d208658.d1cc8fc13d68bea2.e221bae7568254d2.9c787d7140c1197a
+    858c26ba8e96ca44.0934cdcd3a406add.9a74e8e33916ab57.0102242bda12a7ab
+    d46a4e7ec0d8759e.6bd4f60f31123eab.155bb3ea1f31cbf4.a3ddf82461d57fdb
+    0000000000000000.0000000000000000.0000000000000000.9c787d7140c1197a
+    0ab41884a3e7fce2
+
+VMOVQ_IREGorMEM64_to_XMM(reg)
+  before
+    884a5cc3974d1a12.3501dbf609f2ef4e.1de8fae180d24cb3.c4140dc466295529
+    b160bdf1e85671ef.ff54398158e136fc.25f4cd490ed9fe44.b07e9570fe1f3718
+    e342377a318f3d26.aa11a17de8cdd3c9.c7677b970808c919.cfaca8d70acbd2d0
+    783ec6ca0e83bc63.120390d6d6c184e0.5f8c003607ede7dd.fd6ac4e3a639e17c
+    15846482ed762249
+  after
+    0000000000000000.0000000000000000.0000000000000000.15846482ed762249
+    b160bdf1e85671ef.ff54398158e136fc.25f4cd490ed9fe44.b07e9570fe1f3718
+    e342377a318f3d26.aa11a17de8cdd3c9.c7677b970808c919.cfaca8d70acbd2d0
+    783ec6ca0e83bc63.120390d6d6c184e0.5f8c003607ede7dd.fd6ac4e3a639e17c
+    15846482ed762249
+VMOVQ_IREGorMEM64_to_XMM(mem)
+  before
+    f5c6049ffb8d4e63.ce9f674d1cbe2851.13f780763dc9036e.49b15992aa13943d
+    78fb2125ed8a24f5.3fb0146ff7cdbe9d.89b9ef4a3af20c9e.e12080178a060ee5
+    7af03502de7a5f2c.29becc9c3a3bb9f2.4f15583ee8475d9d.8327733245538f80
+    d772be21eb68ba33.e6158841819457fd.43d7383f63d4b097.8b102d4d778554ba
+    5528abd5bb299941
+  after
+    f5c6049ffb8d4e63.ce9f674d1cbe2851.13f780763dc9036e.49b15992aa13943d
+    78fb2125ed8a24f5.3fb0146ff7cdbe9d.89b9ef4a3af20c9e.e12080178a060ee5
+    7af03502de7a5f2c.29becc9c3a3bb9f2.4f15583ee8475d9d.8327733245538f80
+    0000000000000000.0000000000000000.0000000000000000.49b15992aa13943d
+    5528abd5bb299941
+
+VMOVQ_IREGorMEM64_to_XMM(reg)
+  before
+    3dbbe737aec999bf.6a4b386e2f60f137.d30145c86965d26a.40ca0937c9a6c2b7
+    9f14dfddebf491e0.11471dd6c76fc263.4dce009f8d3967e4.22bc491433c84f29
+    d6818e350e33bd51.a734ea43cea0e7e5.aec8b4308a9c5118.c47773c1bf46121b
+    404cf0aab41459be.07dd1ca261ff1de6.533a5de9fb1bcdb2.04c8032a892dc8b7
+    bc7b753aac882d29
+  after
+    0000000000000000.0000000000000000.0000000000000000.bc7b753aac882d29
+    9f14dfddebf491e0.11471dd6c76fc263.4dce009f8d3967e4.22bc491433c84f29
+    d6818e350e33bd51.a734ea43cea0e7e5.aec8b4308a9c5118.c47773c1bf46121b
+    404cf0aab41459be.07dd1ca261ff1de6.533a5de9fb1bcdb2.04c8032a892dc8b7
+    bc7b753aac882d29
+VMOVQ_IREGorMEM64_to_XMM(mem)
+  before
+    ca5c46e04464fd9e.38c302a87922a0d3.0f0d2ee09b992095.9871f7357d41175d
+    0837f1056ecbf342.1930be9bf7eacf3a.99919de79979ab1b.dab97f80ab9a6bc5
+    54d7f29645cbcc40.41e022efcdf722a2.8335e3a576ac7ca7.735ef03622b30498
+    8809c57fe67044c5.0b1e291095d5d4b5.a7c57e054f3c4c63.c0ac46c37d171f7f
+    1def7d935852f829
+  after
+    ca5c46e04464fd9e.38c302a87922a0d3.0f0d2ee09b992095.9871f7357d41175d
+    0837f1056ecbf342.1930be9bf7eacf3a.99919de79979ab1b.dab97f80ab9a6bc5
+    54d7f29645cbcc40.41e022efcdf722a2.8335e3a576ac7ca7.735ef03622b30498
+    0000000000000000.0000000000000000.0000000000000000.9871f7357d41175d
+    1def7d935852f829
+
+VMOVUPS_XMM_to_XMMorMEM(reg)
+  before
+    e672911250f1ca40.829ae7ad6cc516fd.d238d06aeb102220.e30de9f33f37da7c
+    77837fad017fd370.1c54d30af4d6ff13.f47811696c35488e.11d9a05a62a9e01d
+    2c6c42ce06894c67.3403048499afbb33.cb2cea7ab3d082ac.0ff41f29d59d1b73
+    617ad6e3fb9974ce.a475f905785d068b.b59e56075d6b0b25.b72be249b41f47a9
+    e64a66a71a3b1fec
+  after
+    0000000000000000.0000000000000000.f47811696c35488e.11d9a05a62a9e01d
+    77837fad017fd370.1c54d30af4d6ff13.f47811696c35488e.11d9a05a62a9e01d
+    2c6c42ce06894c67.3403048499afbb33.cb2cea7ab3d082ac.0ff41f29d59d1b73
+    617ad6e3fb9974ce.a475f905785d068b.b59e56075d6b0b25.b72be249b41f47a9
+    e64a66a71a3b1fec
+VMOVUPS_XMM_to_XMMorMEM(mem)
+  before
+    791d262f23fe6168.72f937577d3d8654.49752b7baceb9b44.0c1b517e059420a7
+    4a709eceec73c748.bb3562952701bda3.00ce18d15266378d.2eeed74a47d6fddb
+    360f4b6e90a70db9.9879510b96705567.a34d3af385d99690.7565e5d7c1bedd6f
+    19c5a7fd2ca5f0e7.6513022466168c4d.0fbe0fcd6150737a.3ecb76900cd7fd0f
+    e66b86e3c6ad9967
+  after
+    791d262f23fe6168.72f937577d3d8654.0fbe0fcd6150737a.3ecb76900cd7fd0f
+    4a709eceec73c748.bb3562952701bda3.00ce18d15266378d.2eeed74a47d6fddb
+    360f4b6e90a70db9.9879510b96705567.a34d3af385d99690.7565e5d7c1bedd6f
+    19c5a7fd2ca5f0e7.6513022466168c4d.0fbe0fcd6150737a.3ecb76900cd7fd0f
+    e66b86e3c6ad9967
+
+VMOVUPS_XMM_to_XMMorMEM(reg)
+  before
+    c792113c8bcded22.d0603065db792dfd.7d4d704c317f9c01.20ed134b03d78c76
+    3e8c1405f6c234ec.35aa6194ba2f7d27.3e7498ef9638c22e.b2a6c059877b9bb1
+    a8a589aba318ab73.2570b775e4d49f92.03d474792ecc3a81.a2b594e408475c56
+    5f296e9a2f5c8e61.7c7eacf476744d6a.28b9025797c83fa6.cae50ad6a2488d92
+    07039e1d7289e891
+  after
+    0000000000000000.0000000000000000.3e7498ef9638c22e.b2a6c059877b9bb1
+    3e8c1405f6c234ec.35aa6194ba2f7d27.3e7498ef9638c22e.b2a6c059877b9bb1
+    a8a589aba318ab73.2570b775e4d49f92.03d474792ecc3a81.a2b594e408475c56
+    5f296e9a2f5c8e61.7c7eacf476744d6a.28b9025797c83fa6.cae50ad6a2488d92
+    07039e1d7289e891
+VMOVUPS_XMM_to_XMMorMEM(mem)
+  before
+    35dccca39416297e.c063bf3f35191862.16a0befd8b1944db.086e3df36db70e48
+    303a115623fc0e86.27a1760452dc8623.cfa1687c40d14010.014122bb4b25e314
+    d4e9e7213b4651d4.f02d9157222f1450.834f265db0a7fc35.6e7cab19ce9ffab5
+    fdb7ccf0f900af95.77540aa33fa0fe94.0e74748df7a83577.aa6cd67b91af8ed8
+    135d9e4c30e4dc28
+  after
+    35dccca39416297e.c063bf3f35191862.0e74748df7a83577.aa6cd67b91af8ed8
+    303a115623fc0e86.27a1760452dc8623.cfa1687c40d14010.014122bb4b25e314
+    d4e9e7213b4651d4.f02d9157222f1450.834f265db0a7fc35.6e7cab19ce9ffab5
+    fdb7ccf0f900af95.77540aa33fa0fe94.0e74748df7a83577.aa6cd67b91af8ed8
+    135d9e4c30e4dc28
+
+VMOVUPS_XMM_to_XMMorMEM(reg)
+  before
+    039bfff848c72053.876f3caf7837e4f4.1862df5448bb7f9c.4cddcff632dfa702
+    d872f5eb75e69502.4ddcb14ad5f6ab1f.2fa30cd6d60bd413.1956b2867d580d01
+    ec2d7d9152cd78e4.2dcba9ad2b49c13f.18628b95881c39a6.51ab9927f32025a1
+    9d1a92567b0605a2.02089fc4963de283.2fed5afdf77aea01.cfa700c7b042a80e
+    71186451d1ca5573
+  after
+    0000000000000000.0000000000000000.2fa30cd6d60bd413.1956b2867d580d01
+    d872f5eb75e69502.4ddcb14ad5f6ab1f.2fa30cd6d60bd413.1956b2867d580d01
+    ec2d7d9152cd78e4.2dcba9ad2b49c13f.18628b95881c39a6.51ab9927f32025a1
+    9d1a92567b0605a2.02089fc4963de283.2fed5afdf77aea01.cfa700c7b042a80e
+    71186451d1ca5573
+VMOVUPS_XMM_to_XMMorMEM(mem)
+  before
+    12c83fb171c5e7fd.458330a68d1f78eb.a85f0f7b34ddca15.d08e747ac1b222cf
+    8e840fd3ad3e19d7.41b553ee23a30c69.fb9c75bf1e353421.5792d578824f1ebc
+    c0184fa3a141a72e.eefcf798da1ffec9.d68a4e7a7252ddd4.20457964d5de1a76
+    86507c0d67db4f2e.a6a419124e1e8ab6.17f7149a4c3f805a.87f35da857e951a7
+    e7e87cb2a3ff00fb
+  after
+    12c83fb171c5e7fd.458330a68d1f78eb.17f7149a4c3f805a.87f35da857e951a7
+    8e840fd3ad3e19d7.41b553ee23a30c69.fb9c75bf1e353421.5792d578824f1ebc
+    c0184fa3a141a72e.eefcf798da1ffec9.d68a4e7a7252ddd4.20457964d5de1a76
+    86507c0d67db4f2e.a6a419124e1e8ab6.17f7149a4c3f805a.87f35da857e951a7
+    e7e87cb2a3ff00fb
+
+VMOVNTDQ_128(reg)
+  before
+    9e6fd2ec55a9631f.bbf810fd1e17cb02.c6f8b4c6192cebdd.99ad450ac708dbde
+    07d65bc40a75b5bf.3adb8960df01d8d7.ab46c422dad65ee9.37795cb6ffbaa88d
+    7e6713a55dee3487.e1c76220c8a632d8.afd845912aa71f87.cf27d68a1160a493
+    5e6ff7fbeba11a21.8a86172bf5119432.2ffb347fa72b6a63.3c832d7219068a1b
+    5959df5a31b91852
+  after
+    9e6fd2ec55a9631f.bbf810fd1e17cb02.c6f8b4c6192cebdd.99ad450ac708dbde
+    07d65bc40a75b5bf.3adb8960df01d8d7.ab46c422dad65ee9.37795cb6ffbaa88d
+    7e6713a55dee3487.e1c76220c8a632d8.afd845912aa71f87.cf27d68a1160a493
+    5e6ff7fbeba11a21.8a86172bf5119432.2ffb347fa72b6a63.3c832d7219068a1b
+    5959df5a31b91852
+VMOVNTDQ_128(mem)
+  before
+    0474672e78840863.053a02325019a33c.13e5256c814fbc10.87fb8c58edef7a28
+    17a142da0873167b.ce1430b627e20d82.56b006ce896a639f.13244988977e8c83
+    6fadea4bfd9300c5.14487df30c8892a0.31b3383f2871480b.2fc2677b4265dc1f
+    e962dd6b74ef806e.3524e6569c986f41.7eb936aa7a6d257f.3720e29d892ea6a9
+    878cb75b086725cd
+  after
+    0474672e78840863.053a02325019a33c.56b006ce896a639f.13244988977e8c83
+    17a142da0873167b.ce1430b627e20d82.56b006ce896a639f.13244988977e8c83
+    6fadea4bfd9300c5.14487df30c8892a0.31b3383f2871480b.2fc2677b4265dc1f
+    e962dd6b74ef806e.3524e6569c986f41.7eb936aa7a6d257f.3720e29d892ea6a9
+    878cb75b086725cd
+
+VMOVNTDQ_128(reg)
+  before
+    7b50e11f5c9c9636.5f8c9628889453a2.8bf26549729edf12.1b907dfb9c6cb728
+    6fb95c5721583491.aff9916c568d348c.74fff83a2b2420be.e202871eaa79ba32
+    bf13246df1273d89.b3744a25f9e6e159.4a979b9362b86cf3.b0dcd2ffbfa0e9c8
+    c7a936cf6b95ebcb.48c83e3e8dab1435.6a0648c2b3e5ff5a.62ead98bf7ee0216
+    d2f818ac6f6ebf4a
+  after
+    7b50e11f5c9c9636.5f8c9628889453a2.8bf26549729edf12.1b907dfb9c6cb728
+    6fb95c5721583491.aff9916c568d348c.74fff83a2b2420be.e202871eaa79ba32
+    bf13246df1273d89.b3744a25f9e6e159.4a979b9362b86cf3.b0dcd2ffbfa0e9c8
+    c7a936cf6b95ebcb.48c83e3e8dab1435.6a0648c2b3e5ff5a.62ead98bf7ee0216
+    d2f818ac6f6ebf4a
+VMOVNTDQ_128(mem)
+  before
+    ddd10c50422ddc8d.e3c98ce8292f7b03.4ac2e8a330e98a4b.3197fd32bb3817a1
+    5f432f618d36160e.6fbd2424c78028dc.962ec440fbabfec7.f998b54f163cee74
+    3518ffcd6b952af7.c7d3faefe2152f03.06d84e010cfe2dd6.20536c855f7dc17f
+    391df77ff957d174.465508b51579cc23.778c02d27fedd3a4.00151e403388cb6d
+    f62ac7ec2de84aea
+  after
+    ddd10c50422ddc8d.e3c98ce8292f7b03.962ec440fbabfec7.f998b54f163cee74
+    5f432f618d36160e.6fbd2424c78028dc.962ec440fbabfec7.f998b54f163cee74
+    3518ffcd6b952af7.c7d3faefe2152f03.06d84e010cfe2dd6.20536c855f7dc17f
+    391df77ff957d174.465508b51579cc23.778c02d27fedd3a4.00151e403388cb6d
+    f62ac7ec2de84aea
+
+VMOVNTDQ_128(reg)
+  before
+    5ede64f5e92978a4.481e94635287cab3.4a904ce2fd383be9.c5165da06f84ac5d
+    957df0c804d89244.3ee750659331cfdd.2ed0c0e335deb700.cc41da55f8d0732c
+    f55367cf1980d379.f744a971d7619d21.4e6062225af87e16.68daf5df37dbe53d
+    dbabc678c5ae78ed.4f011a733b24f0a9.058e2e0d0711c9d4.75ae2b2847b4bebd
+    cf87f61e4564b9d8
+  after
+    5ede64f5e92978a4.481e94635287cab3.4a904ce2fd383be9.c5165da06f84ac5d
+    957df0c804d89244.3ee750659331cfdd.2ed0c0e335deb700.cc41da55f8d0732c
+    f55367cf1980d379.f744a971d7619d21.4e6062225af87e16.68daf5df37dbe53d
+    dbabc678c5ae78ed.4f011a733b24f0a9.058e2e0d0711c9d4.75ae2b2847b4bebd
+    cf87f61e4564b9d8
+VMOVNTDQ_128(mem)
+  before
+    5231d4ac4df994ba.a3d2072da4ecbd4d.22e91f57da8683a1.b1a41e0ed8b6d7e9
+    da7a40be797f098e.a914285c50c8de44.4cc93409d0911337.acef30936a72e2fe
+    432db640e800d480.49bd247068ce167f.a96dd6763a535c94.54bb5f0759d127c2
+    6915b21eb38ab3bd.df19f7d58588a2a9.15a1808834d719e7.0454a7d64060e2df
+    1706046cbbaa4e02
+  after
+    5231d4ac4df994ba.a3d2072da4ecbd4d.4cc93409d0911337.acef30936a72e2fe
+    da7a40be797f098e.a914285c50c8de44.4cc93409d0911337.acef30936a72e2fe
+    432db640e800d480.49bd247068ce167f.a96dd6763a535c94.54bb5f0759d127c2
+    6915b21eb38ab3bd.df19f7d58588a2a9.15a1808834d719e7.0454a7d64060e2df
+    1706046cbbaa4e02
+
+VMOVLHPS_128(reg)
+  before
+    eb1c7335673ba9d6.28ffb144f8286071.c7749ef74585be6f.6c31ae2dd92a085a
+    dae4ef9de0a02c08.5cb72e9ed3e797c7.5d191342444ea57c.89e9dc504557e219
+    41a87410c1631643.e009a5195fd216ec.fd5554221d71957e.4a9487dd956a6651
+    7db5fefaa613a134.92c1929fb9f6970c.03745c046d79c81e.8a0029bfe5704f2e
+    25f740e44f7458db
+  after
+    0000000000000000.0000000000000000.4a9487dd956a6651.89e9dc504557e219
+    dae4ef9de0a02c08.5cb72e9ed3e797c7.5d191342444ea57c.89e9dc504557e219
+    41a87410c1631643.e009a5195fd216ec.fd5554221d71957e.4a9487dd956a6651
+    7db5fefaa613a134.92c1929fb9f6970c.03745c046d79c81e.8a0029bfe5704f2e
+    25f740e44f7458db
+VMOVLHPS_128(mem)
+  before
+    f6464738f2823d85.e85789c82c390a87.4daa721efc5dd752.cbc22852cff27a0b
+    dbb9bba5e8a7bc58.dfda12e4ee638de7.ed92c080441592eb.b08bb279e069e9ef
+    af1b16184dee8f7f.bf8994bc891d6501.4d43f8b3ae2a8302.101bf8e63b694f76
+    4d3ad67d3d647327.e2b20bbb98f1d081.4b8a96a256a667c4.46bef5047c7fe94d
+    aebfa53f4036f220
+  after
+    f6464738f2823d85.e85789c82c390a87.4daa721efc5dd752.cbc22852cff27a0b
+    dbb9bba5e8a7bc58.dfda12e4ee638de7.ed92c080441592eb.b08bb279e069e9ef
+    af1b16184dee8f7f.bf8994bc891d6501.4d43f8b3ae2a8302.101bf8e63b694f76
+    4d3ad67d3d647327.e2b20bbb98f1d081.4b8a96a256a667c4.46bef5047c7fe94d
+    aebfa53f4036f220
+
+VMOVLHPS_128(reg)
+  before
+    a36b0502221aa79a.93e076c1d613247b.a59f734db86e0812.c23316395797fa5d
+    830e0fbbbfb84468.5bda72ce31095da8.649dc9dd841d4960.8d0af564cd09f8f8
+    a9f4c1d5b39a0536.83f447926c52dcd9.7bf808d9988cd118.8adbae0fd5071cc1
+    706916bd984f25af.e5fa6ff8a3f95a3b.47fc2cad9146dae6.9371bd268b9d23e6
+    86999e9509d7c991
+  after
+    0000000000000000.0000000000000000.8adbae0fd5071cc1.8d0af564cd09f8f8
+    830e0fbbbfb84468.5bda72ce31095da8.649dc9dd841d4960.8d0af564cd09f8f8
+    a9f4c1d5b39a0536.83f447926c52dcd9.7bf808d9988cd118.8adbae0fd5071cc1
+    706916bd984f25af.e5fa6ff8a3f95a3b.47fc2cad9146dae6.9371bd268b9d23e6
+    86999e9509d7c991
+VMOVLHPS_128(mem)
+  before
+    3d20ce496ec2c9ee.36b80bdd0d60e280.5fb868ecf10a96fa.22f431c30bd7a076
+    95d0c72cd369e02a.552f9aa2ac5b7554.cbfaad5a73914a41.692e1388a1cc6173
+    6b76072c57d8ca71.2b18c17911cb1dd8.078bbb2e449b333d.78f4cf68f0b05789
+    99dd0933131c43ee.12c07bccd83d14b7.ed380c5480330d1a.ab9460d0930fbf65
+    5e58c22b2676d5b3
+  after
+    3d20ce496ec2c9ee.36b80bdd0d60e280.5fb868ecf10a96fa.22f431c30bd7a076
+    95d0c72cd369e02a.552f9aa2ac5b7554.cbfaad5a73914a41.692e1388a1cc6173
+    6b76072c57d8ca71.2b18c17911cb1dd8.078bbb2e449b333d.78f4cf68f0b05789
+    99dd0933131c43ee.12c07bccd83d14b7.ed380c5480330d1a.ab9460d0930fbf65
+    5e58c22b2676d5b3
+
+VMOVLHPS_128(reg)
+  before
+    ed8cf1e44670d41f.fcd34a2f254006ce.6873c4099f3c979e.5ace1eb844669303
+    b47eea698e8af954.7122440ba951d03c.877d999aff54e239.2b166c46ab3e8324
+    0e79a8259b4f80fe.d29775b3ba5a5d65.cd2af4ed96123133.3adf72ebd2ca97ab
+    59c82784084ba4ca.fcfe581375676875.94c5d36d0001bf39.64f4ad91d5138bc2
+    85209726ce271c95
+  after
+    0000000000000000.0000000000000000.3adf72ebd2ca97ab.2b166c46ab3e8324
+    b47eea698e8af954.7122440ba951d03c.877d999aff54e239.2b166c46ab3e8324
+    0e79a8259b4f80fe.d29775b3ba5a5d65.cd2af4ed96123133.3adf72ebd2ca97ab
+    59c82784084ba4ca.fcfe581375676875.94c5d36d0001bf39.64f4ad91d5138bc2
+    85209726ce271c95
+VMOVLHPS_128(mem)
+  before
+    7a31ae95dc110751.f0b863f2720aa364.cb236917f585af97.399b3186d8adc9f7
+    1df16dc918de0522.2f9658db7419b777.1cd225ab56beecf8.19f90aa4bba38a18
+    4b2d50b0a199d533.72ab03abab031cb0.c9d707bcb521dbc3.8e295b33436e3f48
+    e0b1d435904e31b1.14465fceb25510bb.affd8a342eb73a25.f5781fa00f9a2535
+    aa315255b9b47588
+  after
+    7a31ae95dc110751.f0b863f2720aa364.cb236917f585af97.399b3186d8adc9f7
+    1df16dc918de0522.2f9658db7419b777.1cd225ab56beecf8.19f90aa4bba38a18
+    4b2d50b0a199d533.72ab03abab031cb0.c9d707bcb521dbc3.8e295b33436e3f48
+    e0b1d435904e31b1.14465fceb25510bb.affd8a342eb73a25.f5781fa00f9a2535
+    aa315255b9b47588
+
+VPABSD_128(reg)
+  before
+    0aa2f0c0dd476ef0.b84974440309d6c7.73b268b1269acd43.aa122d01dc8ec34a
+    6f15f54b18df4a17.afc0acc916d780a2.ea3a1abea25e90f5.96e0690ddbb1325d
+    36d75e64050946a9.a1e4f8b1e4c4ea6e.d42c7163c32d947c.4f34bb46482d458b
+    bb35267541509e54.6a7fd4e68adad156.8fd26a0b24941685.b1d9a0973e0db6ff
+    989d93ecda5d42e6
+  after
+    0aa2f0c0dd476ef0.b84974440309d6c7.73b268b1269acd43.aa122d01dc8ec34a
+    0000000000000000.0000000000000000.2bd38e9d3cd26b84.4f34bb46482d458b
+    36d75e64050946a9.a1e4f8b1e4c4ea6e.d42c7163c32d947c.4f34bb46482d458b
+    bb35267541509e54.6a7fd4e68adad156.8fd26a0b24941685.b1d9a0973e0db6ff
+    989d93ecda5d42e6
+VPABSD_128(mem)
+  before
+    e04b1031372aa56c.5a7849ec67418dc1.e65ebd552327f187.75790021611f52bb
+    65ae9452727f9abc.6fefc3341466509f.f14d2eebcbb7052c.e46d2f13175884cb
+    02939a3ba668de03.56e590b9e34d2398.6718a3939f94cb72.36f9f34ce2cde861
+    95c69dd8f0f22d6c.6ba5ade771824158.238a9838bbccfc84.c96b49385d09b928
+    f70d2c44249934cd
+  after
+    e04b1031372aa56c.5a7849ec67418dc1.e65ebd552327f187.75790021611f52bb
+    0000000000000000.0000000000000000.19a142ab2327f187.75790021611f52bb
+    02939a3ba668de03.56e590b9e34d2398.6718a3939f94cb72.36f9f34ce2cde861
+    95c69dd8f0f22d6c.6ba5ade771824158.238a9838bbccfc84.c96b49385d09b928
+    f70d2c44249934cd
+
+VPABSD_128(reg)
+  before
+    1e2d98dad40894fc.f9131b166b284224.0a7d152b5990e78d.037189c8396b5790
+    9815896708e21760.0a4690df3416db57.8fb7c4ef380351e0.e297f32e387b97bf
+    c212fc585db4f7a6.a32a762166c9b230.55a0b6a0a967bb00.9cc95156d20a7740
+    f96feb176e097079.a28d4bc61d4c83dc.ba84e8ab48496097.0cd31f2c2324b33d
+    1081da9c48d309e2
+  after
+    1e2d98dad40894fc.f9131b166b284224.0a7d152b5990e78d.037189c8396b5790
+    0000000000000000.0000000000000000.55a0b6a056984500.6336aeaa2df588c0
+    c212fc585db4f7a6.a32a762166c9b230.55a0b6a0a967bb00.9cc95156d20a7740
+    f96feb176e097079.a28d4bc61d4c83dc.ba84e8ab48496097.0cd31f2c2324b33d
+    1081da9c48d309e2
+VPABSD_128(mem)
+  before
+    839ffc935c25335c.977a5412d86dc086.e2398abc76ab0c86.19ae557ab2347e51
+    40f803fb7c26eed7.f97d32b4366d2178.3efbafee8df3075b.ce6cf97b83b54edb
+    255a6ac1c3e0f67e.7bc682682594d0fc.949f37487d2f3186.3508d01956570fe1
+    0d8fadd24d62067e.7a9f3e9c406e08be.bff19cb6626b4534.a9cfd6c0c7a6fb0e
+    880d08dc732e4f0f
+  after
+    839ffc935c25335c.977a5412d86dc086.e2398abc76ab0c86.19ae557ab2347e51
+    0000000000000000.0000000000000000.1dc6754476ab0c86.19ae557a4dcb81af
+    255a6ac1c3e0f67e.7bc682682594d0fc.949f37487d2f3186.3508d01956570fe1
+    0d8fadd24d62067e.7a9f3e9c406e08be.bff19cb6626b4534.a9cfd6c0c7a6fb0e
+    880d08dc732e4f0f
+
+VPABSD_128(reg)
+  before
+    2d0e61d9f67c4790.d364491938b5dc03.505564bb24880769.9abd5c2459b40191
+    f31edd23ea1c1e3c.55a5b8819de73138.5a34ef316c6d07aa.03cef27e7d151fc8
+    38897826ee9811c0.6d1e78f89a03c449.f487db6bb4a9452c.d4f1dab0eb9b5b06
+    569a2f4e9b7e5cc7.f89a04694b154f64.7a9c25d39ac9fc9c.ebf391a7be517377
+    229e924d13432146
+  after
+    2d0e61d9f67c4790.d364491938b5dc03.505564bb24880769.9abd5c2459b40191
+    0000000000000000.0000000000000000.0b7824954b56bad4.2b0e25501464a4fa
+    38897826ee9811c0.6d1e78f89a03c449.f487db6bb4a9452c.d4f1dab0eb9b5b06
+    569a2f4e9b7e5cc7.f89a04694b154f64.7a9c25d39ac9fc9c.ebf391a7be517377
+    229e924d13432146
+VPABSD_128(mem)
+  before
+    56bf5990057d229f.ab9efd0890593bfe.d3e7d9c0cb2a8fb3.48bdc7d6b75869a6
+    6421625bb10c31b0.91e1debe66b6e910.d8cf71e9364d4062.ba37bfe1a9e3c8f5
+    2692299932fb0ca3.66afcedebc20a3aa.e41f4ad1a98b1d9e.2c56085e0bf55536
+    79dc2b38a5576da4.8454c9d32b23a578.d4a3df6240efe493.fa669ebb7a1a4b14
+    80b37e6392dee73c
+  after
+    56bf5990057d229f.ab9efd0890593bfe.d3e7d9c0cb2a8fb3.48bdc7d6b75869a6
+    0000000000000000.0000000000000000.2c18264034d5704d.48bdc7d648a7965a
+    2692299932fb0ca3.66afcedebc20a3aa.e41f4ad1a98b1d9e.2c56085e0bf55536
+    79dc2b38a5576da4.8454c9d32b23a578.d4a3df6240efe493.fa669ebb7a1a4b14
+    80b37e6392dee73c
+
+VMOVHLPS_128(reg)
+  before
+    1a89a3c2eece655a.3acce223252a10e0.481ccc09514c2a25.8227ac8915854f6c
+    243309442a750119.432ecc46ce83b383.0f52d2ebca266f5e.cb762d3347591a56
+    f9feac55e360f625.71ce658dbd6b10b8.3344d7e7313db0cf.8b5edf4af078027c
+    f7368861b419812c.a07827e50ef0e4ac.113cd769221e2923.9fa93dbc2cedc40b
+    e125c37418c5192f
+  after
+    0000000000000000.0000000000000000.0f52d2ebca266f5e.3344d7e7313db0cf
+    243309442a750119.432ecc46ce83b383.0f52d2ebca266f5e.cb762d3347591a56
+    f9feac55e360f625.71ce658dbd6b10b8.3344d7e7313db0cf.8b5edf4af078027c
+    f7368861b419812c.a07827e50ef0e4ac.113cd769221e2923.9fa93dbc2cedc40b
+    e125c37418c5192f
+VMOVHLPS_128(mem)
+  before
+    2e9ced5ecf0bc013.79279ad43a2fded8.acf89038dc1deb8a.0687cfdb3a541506
+    62da38666dcb73e4.db1ddd1a102b48d5.71191b7343ffe07f.6c71b9aa156bb126
+    59ad1f781012efcd.78644da0d29bfcd0.cba9448360a180b7.a04693424ef0392c
+    efe01d80d1ebf0fb.ae47e6d01e0a3675.967287524f0f875d.fe515810816ee9c7
+    e2df057e4b71fca1
+  after
+    2e9ced5ecf0bc013.79279ad43a2fded8.acf89038dc1deb8a.0687cfdb3a541506
+    62da38666dcb73e4.db1ddd1a102b48d5.71191b7343ffe07f.6c71b9aa156bb126
+    59ad1f781012efcd.78644da0d29bfcd0.cba9448360a180b7.a04693424ef0392c
+    efe01d80d1ebf0fb.ae47e6d01e0a3675.967287524f0f875d.fe515810816ee9c7
+    e2df057e4b71fca1
+
+VMOVHLPS_128(reg)
+  before
+    a93d94fa4786af66.003eb16ace62319a.d813a4188d05316f.ae4161ce2b56b09e
+    adb503ef12383dc4.6894542323836fd5.511584e3bd172b6b.efe14de21081b9a5
+    4b944dc94714e464.03ae8495eb5b66d9.7797819c4acc5e15.3520c77a1b9c5c9f
+    df256ff483a4def5.ad58bbae42f6d1d1.a4e697b1cfb00618.5cc94b8267b355b8
+    40a755e611d3621b
+  after
+    0000000000000000.0000000000000000.511584e3bd172b6b.7797819c4acc5e15
+    adb503ef12383dc4.6894542323836fd5.511584e3bd172b6b.efe14de21081b9a5
+    4b944dc94714e464.03ae8495eb5b66d9.7797819c4acc5e15.3520c77a1b9c5c9f
+    df256ff483a4def5.ad58bbae42f6d1d1.a4e697b1cfb00618.5cc94b8267b355b8
+    40a755e611d3621b
+VMOVHLPS_128(mem)
+  before
+    bd87629234083df5.c5b663dc61766721.425e7858455e6eea.364dc38de8506121
+    af35ed72ec5ca271.599227ed7e16bd94.9e8c348110a1f650.871aff9c3238a9db
+    f27d727357dd4fbc.f704b693750f1afc.9cad6c14becb282e.f597494a49f21bf3
+    612b6d7f8e97fe01.fa590c3ae3edbb02.1a8f9dfd6be6bfb1.da119c04c70cf214
+    93d4f4344b126ceb
+  after
+    bd87629234083df5.c5b663dc61766721.425e7858455e6eea.364dc38de8506121
+    af35ed72ec5ca271.599227ed7e16bd94.9e8c348110a1f650.871aff9c3238a9db
+    f27d727357dd4fbc.f704b693750f1afc.9cad6c14becb282e.f597494a49f21bf3
+    612b6d7f8e97fe01.fa590c3ae3edbb02.1a8f9dfd6be6bfb1.da119c04c70cf214
+    93d4f4344b126ceb
+
+VMOVHLPS_128(reg)
+  before
+    7d2c4e476f8ec324.da0a5b84af946c6e.c0dd254f633cdc55.f3fc422834007604
+    f265a4aacf0e346a.38e8b66cd6e3552c.a4dcfe3c9189b89f.03c1d78134250954
+    4fcbf4c8081efa6a.568ffc251e8d746a.02a2916f0a5f8c8c.25aad8f4885f36cc
+    f0a9390cb54852d0.12cca99aa3a08651.367adc526a4b94c9.3782c26d4bbcb799
+    131710d99a4849e7
+  after
+    0000000000000000.0000000000000000.a4dcfe3c9189b89f.02a2916f0a5f8c8c
+    f265a4aacf0e346a.38e8b66cd6e3552c.a4dcfe3c9189b89f.03c1d78134250954
+    4fcbf4c8081efa6a.568ffc251e8d746a.02a2916f0a5f8c8c.25aad8f4885f36cc
+    f0a9390cb54852d0.12cca99aa3a08651.367adc526a4b94c9.3782c26d4bbcb799
+    131710d99a4849e7
+VMOVHLPS_128(mem)
+  before
+    97333e22900ea8e1.324c70e4721a7847.476b37b782274710.9bb1db534cd80c02
+    9ea3c8364a1a8fb4.6f0193bbdd20a87b.d0382468d72e73d1.8f9488dd4c922fe2
+    03332affe378bc8c.0412a0fd8fe41d19.8bffea99bdc2c5c1.6d6de15c07053a16
+    a4afe16b7735e894.4dcb921626f414cd.528b073650eefa0b.9089e13c18be694a
+    563384e91c48f729
+  after
+    97333e22900ea8e1.324c70e4721a7847.476b37b782274710.9bb1db534cd80c02
+    9ea3c8364a1a8fb4.6f0193bbdd20a87b.d0382468d72e73d1.8f9488dd4c922fe2
+    03332affe378bc8c.0412a0fd8fe41d19.8bffea99bdc2c5c1.6d6de15c07053a16
+    a4afe16b7735e894.4dcb921626f414cd.528b073650eefa0b.9089e13c18be694a
+    563384e91c48f729
+
+VMOVQ_XMM_to_IREG64(reg)
+  before
+    1ab9c6cfaf302160.5be36865235cd2f9.a67a65723edcc943.03aaf72badbecedc
+    3765a45b6b01239a.059b3bd903f934e6.6b6a167e72277726.78263465ef3ffc5f
+    0b8518f7ef473984.7fa2d6b33219cb88.f8e69fa45e615c22.8fcc3cce337c41c1
+    f0632011d48f9ec9.a3c5b6dfccc7530a.a93bfe529f16b1e4.22688a549482592e
+    0ec59ae22f5c00d1
+  after
+    1ab9c6cfaf302160.5be36865235cd2f9.a67a65723edcc943.03aaf72badbecedc
+    3765a45b6b01239a.059b3bd903f934e6.6b6a167e72277726.78263465ef3ffc5f
+    0b8518f7ef473984.7fa2d6b33219cb88.f8e69fa45e615c22.8fcc3cce337c41c1
+    f0632011d48f9ec9.a3c5b6dfccc7530a.a93bfe529f16b1e4.22688a549482592e
+    03aaf72badbecedc
+VMOVQ_XMM_to_IREG64(mem)
+  before
+    30b1e8631f16f1d7.434cb713b8648f16.4fd15649ee108799.dab52ef2d1d3b518
+    62f6f1c580bce96c.618cda6b37524817.5d9032deb4ff2561.e7a02cf28f23a26a
+    816130f3705ba4bb.a46e8484ece60477.aacec68839a0e78d.2c48f2bd7592b684
+    69bf21d908feddf0.6a40b0ca74ab00e3.12598e3499ff894a.05f87ebe20ad2a15
+    cefecb632bff3dc7
+  after
+    30b1e8631f16f1d7.434cb713b8648f16.4fd15649ee108799.dab52ef2d1d3b518
+    62f6f1c580bce96c.618cda6b37524817.5d9032deb4ff2561.e7a02cf28f23a26a
+    816130f3705ba4bb.a46e8484ece60477.aacec68839a0e78d.2c48f2bd7592b684
+    69bf21d908feddf0.6a40b0ca74ab00e3.12598e3499ff894a.05f87ebe20ad2a15
+    cefecb632bff3dc7
+
+VMOVQ_XMM_to_IREG64(reg)
+  before
+    e3a4d51733152947.f7d9406366b25239.0d4c5ca96a2d7807.72fb07cff129c8c3
+    9f379847d37a2b40.057e0a7ea682bdbf.eadf848d6af9a88e.a482ac445c2a6025
+    6003115da8ba7f5f.7079f914e37adab1.5e4522e2119acb24.85b8f97ff70c0d9c
+    81543bc64d626050.14958b1239a76739.c3ca3414fb9c1e77.f16a6a6bdddd8b53
+    c4647cf62ba89577
+  after
+    e3a4d51733152947.f7d9406366b25239.0d4c5ca96a2d7807.72fb07cff129c8c3
+    9f379847d37a2b40.057e0a7ea682bdbf.eadf848d6af9a88e.a482ac445c2a6025
+    6003115da8ba7f5f.7079f914e37adab1.5e4522e2119acb24.85b8f97ff70c0d9c
+    81543bc64d626050.14958b1239a76739.c3ca3414fb9c1e77.f16a6a6bdddd8b53
+    72fb07cff129c8c3
+VMOVQ_XMM_to_IREG64(mem)
+  before
+    da72a90bfc7ae833.5e7512ef5ffc0bbe.cda03b65c5131e83.76bab590c38cdd30
+    0f5f6f976c5e40b4.52b492427917bc56.776486f7a2cdbbbd.d360a1c005f543fe
+    3ff94a8498605826.bb5bb82d383cafc3.eeaee6b6eddefc10.360af4125e638d8b
+    460ab4bf9c8dedb4.f3b77e1a37f91fb2.0e4ad98dc2549bab.fb02abf06963f783
+    7e95c1c8c380bd94
+  after
+    da72a90bfc7ae833.5e7512ef5ffc0bbe.cda03b65c5131e83.76bab590c38cdd30
+    0f5f6f976c5e40b4.52b492427917bc56.776486f7a2cdbbbd.d360a1c005f543fe
+    3ff94a8498605826.bb5bb82d383cafc3.eeaee6b6eddefc10.360af4125e638d8b
+    460ab4bf9c8dedb4.f3b77e1a37f91fb2.0e4ad98dc2549bab.fb02abf06963f783
+    7e95c1c8c380bd94
+
+VMOVQ_XMM_to_IREG64(reg)
+  before
+    1b0f320507461a67.005f2b3593f0bb8b.5814e27712d949ce.b303da683b3b55b8
+    2ebcfa13d2424bab.49c429d09a957dd6.44bedfaf666969c4.b9a76533779de663
+    13e7165ebfff8c0a.fd052c7ecb88f0c2.1501722ecf34ba40.fc00f7da8f8809d9
+    26de80526b0a1930.f8edb02a45d6d07b.25299560e8c679ed.58db0a49a1077b46
+    a8041c6cc927f8d6
+  after
+    1b0f320507461a67.005f2b3593f0bb8b.5814e27712d949ce.b303da683b3b55b8
+    2ebcfa13d2424bab.49c429d09a957dd6.44bedfaf666969c4.b9a76533779de663
+    13e7165ebfff8c0a.fd052c7ecb88f0c2.1501722ecf34ba40.fc00f7da8f8809d9
+    26de80526b0a1930.f8edb02a45d6d07b.25299560e8c679ed.58db0a49a1077b46
+    b303da683b3b55b8
+VMOVQ_XMM_to_IREG64(mem)
+  before
+    ca47a83022f33bb4.c3eb365b71ee2dcb.154a2fbf228bd92c.d28146b14dace278
+    99702b7fc977020c.465b33e66e370584.32e6272b7eb1c702.7656808e9b71318d
+    f14b1f47d9c0070b.0b7a745dfd71dd0a.2a8e135976575528.6ff43f616da1a1d7
+    ada302726ed906dd.6e94f32dba29f007.d90e6f3525863fcb.17a7809760c96f02
+    cbbb3d9d0f74d7bc
+  after
+    ca47a83022f33bb4.c3eb365b71ee2dcb.154a2fbf228bd92c.d28146b14dace278
+    99702b7fc977020c.465b33e66e370584.32e6272b7eb1c702.7656808e9b71318d
+    f14b1f47d9c0070b.0b7a745dfd71dd0a.2a8e135976575528.6ff43f616da1a1d7
+    ada302726ed906dd.6e94f32dba29f007.d90e6f3525863fcb.17a7809760c96f02
+    cbbb3d9d0f74d7bc
+
+VMOVQ_XMMorMEM64_to_XMM(reg)
+  before
+    e87b74de172e14af.ab454feea6cfbdad.cbf5aec342ea7b27.1a32b7aca84c4317
+    c83520c513846387.c6fd82a69aace6a8.7de8a08a3141ba17.cbc668a81ab41b37
+    c8333ec0a00100f1.d9971786687e3efa.e2bbc5ee22b9e883.c795fd1698ca8457
+    44c2c83a59312799.c2df8b7a2b5180ce.55b81a5ab1de4316.e96df2e33d9b3aa5
+    0f18c3f92632f84b
+  after
+    e87b74de172e14af.ab454feea6cfbdad.cbf5aec342ea7b27.1a32b7aca84c4317
+    0000000000000000.0000000000000000.0000000000000000.1a32b7aca84c4317
+    c8333ec0a00100f1.d9971786687e3efa.e2bbc5ee22b9e883.c795fd1698ca8457
+    44c2c83a59312799.c2df8b7a2b5180ce.55b81a5ab1de4316.e96df2e33d9b3aa5
+    0f18c3f92632f84b
+VMOVQ_XMMorMEM64_to_XMM(mem)
+  before
+    1363ec466e9b7c75.982ebc9fdba1132a.5ba1596e00306a50.322c993c7b3c057d
+    d31aeab532e37f50.20c3155bc1dc0151.82a8fd4e0327b6ae.d46340ff1b606a64
+    290938318d15c008.39cdcfdaa76e2db9.11c2f3074e422012.99a90a102ed5b076
+    f3fb52a89b3ef9c8.3d97e7892ae4d30f.e6b9b883008e66a8.db49f4d950281160
+    f891f8c71be4cacd
+  after
+    1363ec466e9b7c75.982ebc9fdba1132a.5ba1596e00306a50.322c993c7b3c057d
+    0000000000000000.0000000000000000.0000000000000000.322c993c7b3c057d
+    290938318d15c008.39cdcfdaa76e2db9.11c2f3074e422012.99a90a102ed5b076
+    f3fb52a89b3ef9c8.3d97e7892ae4d30f.e6b9b883008e66a8.db49f4d950281160
+    f891f8c71be4cacd
+
+VMOVQ_XMMorMEM64_to_XMM(reg)
+  before
+    4acb14472e95166a.0bbeb4057968e7bd.896f57d2e6c92eff.db5ac6af3216429d
+    2f4443c322c833e2.4e1cdb3543a24612.799f1d2276aa7b34.cd719b7803e6711d
+    014881a995085be2.99e2422213f5d1f4.697434e67611f55b.99c9b2c98c0bae53
+    1e23cb6323e1ca16.c6dc65b9086f468f.b53a9989838cda1f.1930888dec90b76c
+    2a7097b23c824693
+  after
+    4acb14472e95166a.0bbeb4057968e7bd.896f57d2e6c92eff.db5ac6af3216429d
+    0000000000000000.0000000000000000.0000000000000000.db5ac6af3216429d
+    014881a995085be2.99e2422213f5d1f4.697434e67611f55b.99c9b2c98c0bae53
+    1e23cb6323e1ca16.c6dc65b9086f468f.b53a9989838cda1f.1930888dec90b76c
+    2a7097b23c824693
+VMOVQ_XMMorMEM64_to_XMM(mem)
+  before
+    a9565d239aec17f5.e0201b5f67e0be29.b2d6c0e73c1b5f0e.b83d467639a7642d
+    70af55cc22dae8be.a48d6f08fe9071c8.399ccf96cb06d89e.d0c8391b32edd031
+    5c44fb99ef597319.c7b4c2ca837d209f.38f90fb4d23a6e6b.58286de30dea59d6
+    49e4cc771d737533.a3e2101192340659.89bafb2b6cc6dda0.acaade3a632a3cc8
+    2898888cd33ab5b5
+  after
+    a9565d239aec17f5.e0201b5f67e0be29.b2d6c0e73c1b5f0e.b83d467639a7642d
+    0000000000000000.0000000000000000.0000000000000000.b83d467639a7642d
+    5c44fb99ef597319.c7b4c2ca837d209f.38f90fb4d23a6e6b.58286de30dea59d6
+    49e4cc771d737533.a3e2101192340659.89bafb2b6cc6dda0.acaade3a632a3cc8
+    2898888cd33ab5b5
+
+VMOVQ_XMMorMEM64_to_XMM(reg)
+  before
+    273f6846f6a50047.135a4350c937aa38.95635649c84061a2.09ac0fe9b6b3e169
+    07eb79d26bf8582a.9671dc110faecd53.fa838fdfc12d6b28.9499c7d9cb0f36f3
+    23e7b79dcbbefb0b.aff713a70ae69bb0.2c8eb63d18886194.064da0e7c8e5976a
+    d6811e14b4832296.38b664fdd6ead07c.88d0cad169dc7e95.3b9614ffc842c1fa
+    0f3fa10de83170ce
+  after
+    273f6846f6a50047.135a4350c937aa38.95635649c84061a2.09ac0fe9b6b3e169
+    0000000000000000.0000000000000000.0000000000000000.09ac0fe9b6b3e169
+    23e7b79dcbbefb0b.aff713a70ae69bb0.2c8eb63d18886194.064da0e7c8e5976a
+    d6811e14b4832296.38b664fdd6ead07c.88d0cad169dc7e95.3b9614ffc842c1fa
+    0f3fa10de83170ce
+VMOVQ_XMMorMEM64_to_XMM(mem)
+  before
+    5e13c2fd43be5f12.7e03aba2c2d40c76.0e7b4cfe90c727e3.6a94c40551b5ffd5
+    04dff4bcf5f64bf3.76ba58b2903bf358.0d12459853885e10.2e27a2476ba02000
+    dd6fb1341be4f09d.19f223b2bb4714e8.1046cdb63c392e30.30d55e0154281dc4
+    c58f7753d194093c.c5f7070dde81abd1.f5e5604466e7566f.cceaf6a1a7d931ca
+    5eb26692014099c1
+  after
+    5e13c2fd43be5f12.7e03aba2c2d40c76.0e7b4cfe90c727e3.6a94c40551b5ffd5
+    0000000000000000.0000000000000000.0000000000000000.6a94c40551b5ffd5
+    dd6fb1341be4f09d.19f223b2bb4714e8.1046cdb63c392e30.30d55e0154281dc4
+    c58f7753d194093c.c5f7070dde81abd1.f5e5604466e7566f.cceaf6a1a7d931ca
+    5eb26692014099c1
+
+VCVTTSS2SI_32(reg)
+  before
+    4279a840fde89153.980bc103321353fb.d415012f9577f3c0.97b9782eee9d91f8
+    d48aba17385e542c.32af0c325a6c8a06.a4970b847db42960.d28f9360ef679af8
+    703297844d2c20f9.6e46d2cb66ab6a8a.8fcb237831c5895e.82332bc686522d9a
+    72be3bf1d9e12f66.2a9e91ba71ddafb3.f3fb44774e354f65.8371bf4dce69080b
+    b015c8dfe4b8e577
+  after
+    4279a840fde89153.980bc103321353fb.d415012f9577f3c0.97b9782eee9d91f8
+    d48aba17385e542c.32af0c325a6c8a06.a4970b847db42960.d28f9360ef679af8
+    703297844d2c20f9.6e46d2cb66ab6a8a.8fcb237831c5895e.82332bc686522d9a
+    72be3bf1d9e12f66.2a9e91ba71ddafb3.f3fb44774e354f65.8371bf4dce69080b
+    0000000080000000
+VCVTTSS2SI_32(mem)
+  before
+    e7ebc36ae34c8109.3678a2cb7706bd1f.4181c4eb980d14ac.2a746aee7090b622
+    03be2dd9e73098ee.18acc97fc32908cf.8fbce74af64755a2.918292473163fb41
+    e05b81170d70e551.73a8ab775ad54a22.ef1b76c3a89830c1.8571b7f030395a6d
+    598e3b127119255f.a5b74421d897c0c5.3f69ee42c90b5f34.608cd453069e0e53
+    7f21e8de521f559e
+  after
+    e7ebc36ae34c8109.3678a2cb7706bd1f.4181c4eb980d14ac.2a746aee7090b622
+    03be2dd9e73098ee.18acc97fc32908cf.8fbce74af64755a2.918292473163fb41
+    e05b81170d70e551.73a8ab775ad54a22.ef1b76c3a89830c1.8571b7f030395a6d
+    598e3b127119255f.a5b74421d897c0c5.3f69ee42c90b5f34.608cd453069e0e53
+    0000000080000000
+
+VCVTTSS2SI_32(reg)
+  before
+    3e7aecfcad4769fb.4c23d8b52e361443.092490e8d8f9a564.5a74c9b476ac9f28
+    f9e4dd19b5a28616.93e6d2ec60d36e2a.fb3c8b38f68a36aa.1b068503ca88acc8
+    0dabb8a106bde99a.0ca3a7a324fdee40.d64b327dcfd3af44.60ec9e1de2aa4141
+    d41b78003b23cf34.9125d2c695bf51b0.f89d8023fe624cde.03f38eecd91e1bbe
+    e2e4d35eccf1f66c
+  after
+    3e7aecfcad4769fb.4c23d8b52e361443.092490e8d8f9a564.5a74c9b476ac9f28
+    f9e4dd19b5a28616.93e6d2ec60d36e2a.fb3c8b38f68a36aa.1b068503ca88acc8
+    0dabb8a106bde99a.0ca3a7a324fdee40.d64b327dcfd3af44.60ec9e1de2aa4141
+    d41b78003b23cf34.9125d2c695bf51b0.f89d8023fe624cde.03f38eecd91e1bbe
+    00000000ffbba99c
+VCVTTSS2SI_32(mem)
+  before
+    d78ee85ed62e8e77.ab8019a2f1617190.003acf42d02653a7.bc7e719620c24823
+    c0bc49d813e29e0a.ee2598f3c3010e59.33ac1b01f03caf51.7d390142d080e1c0
+    773972b8a018e352.f957f0604d91e03b.084831f1121022d9.991c2d93ab275060
+    d9d2e0ea99dc197b.28631c532c9d24e3.59da8dfc51ab686c.6a71f0f64c43d4b0
+    4e8546d55061a75b
+  after
+    d78ee85ed62e8e77.ab8019a2f1617190.003acf42d02653a7.bc7e719620c24823
+    c0bc49d813e29e0a.ee2598f3c3010e59.33ac1b01f03caf51.7d390142d080e1c0
+    773972b8a018e352.f957f0604d91e03b.084831f1121022d9.991c2d93ab275060
+    d9d2e0ea99dc197b.28631c532c9d24e3.59da8dfc51ab686c.6a71f0f64c43d4b0
+    0000000000000000
+
+VCVTTSS2SI_32(reg)
+  before
+    9fa42b9e520c060e.c3540d5a193afbb0.d7931a3afcb016fd.032dab10ca1b3d35
+    bb1a9bbcefd02d75.0f8977f53c3f471d.6234e6805856f134.e30f0718986b5c61
+    fc33939bc23a573b.9a3d9aa51ff6b6f0.25917a90dc1bf235.d34a1effd8a8821b
+    bf3a0ea668d5c20d.403ef058dd6c0752.7cf8d4d8258c55ac.b0ab6bb3a5dc6b90
+    56ff6a1f1b16d2ec
+  after
+    9fa42b9e520c060e.c3540d5a193afbb0.d7931a3afcb016fd.032dab10ca1b3d35
+    bb1a9bbcefd02d75.0f8977f53c3f471d.6234e6805856f134.e30f0718986b5c61
+    fc33939bc23a573b.9a3d9aa51ff6b6f0.25917a90dc1bf235.d34a1effd8a8821b
+    bf3a0ea668d5c20d.403ef058dd6c0752.7cf8d4d8258c55ac.b0ab6bb3a5dc6b90
+    0000000000000000
+VCVTTSS2SI_32(mem)
+  before
+    a20f9730585f755a.617d084b7c2da897.de57f7f893acf472.c2b3efc3ce345544
+    6eaa6ed075c50e07.3c467df69ace4584.4e532a735cc23a7a.5510c7bd74a030aa
+    979b6cec9053591e.ade269115f46d680.6dff05b455ba9596.90595932b25b2089
+    f9ad0c71c41613cc.109dc909671e9738.172704a799a1c1f4.cfdb9f8e25f1618e
+    6de1973e68ee3165
+  after
+    a20f9730585f755a.617d084b7c2da897.de57f7f893acf472.c2b3efc3ce345544
+    6eaa6ed075c50e07.3c467df69ace4584.4e532a735cc23a7a.5510c7bd74a030aa
+    979b6cec9053591e.ade269115f46d680.6dff05b455ba9596.90595932b25b2089
+    f9ad0c71c41613cc.109dc909671e9738.172704a799a1c1f4.cfdb9f8e25f1618e
+    00000000d2eaaf00
+
+VPUNPCKLBW_128(reg)
+  before
+    c8b93cac18dfcab9.70aeca492e19f93d.c2c2984a4de4c458.2897a338458279bd
+    3bad8a46d04f6937.d8682262ea68c49c.1d9fd241ad23998c.7c1b5f53746a7a20
+    210b7e762ccb498a.0da891a613103316.7e7e74582467517f.ef7eb3e443647f47
+    d81d13aac9dea75f.eb3a9203c51c00d6.41ad78fd4d3d29dd.5d8e1bd7cd7c465e
+    a21514182ebf8993
+  after
+    0000000000000000.0000000000000000.ef7c7e1bb35fe453.4374646a7f7a4720
+    3bad8a46d04f6937.d8682262ea68c49c.1d9fd241ad23998c.7c1b5f53746a7a20
+    210b7e762ccb498a.0da891a613103316.7e7e74582467517f.ef7eb3e443647f47
+    d81d13aac9dea75f.eb3a9203c51c00d6.41ad78fd4d3d29dd.5d8e1bd7cd7c465e
+    a21514182ebf8993
+VPUNPCKLBW_128(mem)
+  before
+    9ae018948338050f.bb30444d4314bf61.4ee9a1641d98e809.c276dc9bc5305c54
+    21bba535e8f37501.259010cb35facd3d.12833ab53690a7db.5d269b9e27cc288d
+    137236e978fd9693.748970903b1b0d9f.13d2d9e22d11f877.6e08b172109ec737
+    4cd0479b4f6124f1.02666208f203ba32.2da3fbd71d27980a.516a1b831b3176fc
+    6296d43de5127088
+  after
+    9ae018948338050f.bb30444d4314bf61.4ee9a1641d98e809.c276dc9bc5305c54
+    21bba535e8f37501.259010cb35facd3d.12833ab53690a7db.5d269b9e27cc288d
+    0000000000000000.0000000000000000.c25d7626dc9b9b9e.c52730cc5c28548d
+    4cd0479b4f6124f1.02666208f203ba32.2da3fbd71d27980a.516a1b831b3176fc
+    6296d43de5127088
+
+VPUNPCKLBW_128(reg)
+  before
+    fddad70c09cbf288.a7a355378a2bdb48.2c74e09ff63f11a3.3bc21b8123dc43bf
+    7e80235c24ea38a8.02b5dba8456876c4.4f00e8c1e2594d9e.1bfbb5ca5a3eb4c3
+    41d5b19ad1fb7e94.38d354dc9a23b390.c55476db52e0abce.a81a459fde59a942
+    a1257e30ac89fff7.25c93fbfa8684bd9.ecbd8457e35d67df.beeb48edcc37dc67
+    3839399f40e6095e
+  after
+    0000000000000000.0000000000000000.a81b1afb45b59fca.de5a593ea9b442c3
+    7e80235c24ea38a8.02b5dba8456876c4.4f00e8c1e2594d9e.1bfbb5ca5a3eb4c3
+    41d5b19ad1fb7e94.38d354dc9a23b390.c55476db52e0abce.a81a459fde59a942
+    a1257e30ac89fff7.25c93fbfa8684bd9.ecbd8457e35d67df.beeb48edcc37dc67
+    3839399f40e6095e
+VPUNPCKLBW_128(mem)
+  before
+    f4d193a05572ee55.fcbb878c5220f97d.a463153b8844fdcb.1e8610a3305ebd7f
+    cd7fd5de27e64576.ade5c7185f4ca5d3.936d543d59c28391.b8fd1529d66fe957
+    9e0f7844d34ecbed.10ed3a426e9a42a5.cdb276b134ee9a58.166c8f57701a2616
+    454dfabe75b63be7.8020dd751b960a9e.2d00f98438d5fe4b.95217a989bedb166
+    8f66d358f274c5f4
+  after
+    f4d193a05572ee55.fcbb878c5220f97d.a463153b8844fdcb.1e8610a3305ebd7f
+    cd7fd5de27e64576.ade5c7185f4ca5d3.936d543d59c28391.b8fd1529d66fe957
+    0000000000000000.0000000000000000.1eb886fd1015a329.30d65e6fbde97f57
+    454dfabe75b63be7.8020dd751b960a9e.2d00f98438d5fe4b.95217a989bedb166
+    8f66d358f274c5f4
+
+VPUNPCKLBW_128(reg)
+  before
+    61889403123aa06b.9c05d638282b5390.5bcbab1d03ca3a6b.912159a07e826a97
+    67d3bb0596cb7c78.8102889e08b8cd13.fc379fa6c1c40eb8.d3e210f324029b67
+    fd9244ca1ab396c6.ce128cdd3269659d.beb3b87cf20fc130.d10f9c68465f4de9
+    7f1329be3b7f2902.61ff5edfc14bd95a.ff8aef0b31389080.657478ebffa73c46
+    6ddc20686be623ac
+  after
+    0000000000000000.0000000000000000.d1d30fe29c1068f3.46245f024d9be967
+    67d3bb0596cb7c78.8102889e08b8cd13.fc379fa6c1c40eb8.d3e210f324029b67
+    fd9244ca1ab396c6.ce128cdd3269659d.beb3b87cf20fc130.d10f9c68465f4de9
+    7f1329be3b7f2902.61ff5edfc14bd95a.ff8aef0b31389080.657478ebffa73c46
+    6ddc20686be623ac
+VPUNPCKLBW_128(mem)
+  before
+    c31510cba727bf47.49a0684e95ba72d8.14967b92d269e375.190741c01bcab753
+    44e9c500cf76cc43.b786fbe4c3f0adf3.c5a35ee080d0401a.6a77ab054b517256
+    cd25b9f3fedf05cb.2511e1ee61ae1600.4ef183b7e88bab77.4c2728485e5afc34
+    38956a90506f280c.ef8d13d60c7fe8aa.8c4e670225a6e2b5.1d61b4f3ef6f929a
+    37714c749b1f7034
+  after
+    c31510cba727bf47.49a0684e95ba72d8.14967b92d269e375.190741c01bcab753
+    44e9c500cf76cc43.b786fbe4c3f0adf3.c5a35ee080d0401a.6a77ab054b517256
+    0000000000000000.0000000000000000.196a077741abc005.1b4bca51b7725356
+    38956a90506f280c.ef8d13d60c7fe8aa.8c4e670225a6e2b5.1d61b4f3ef6f929a
+    37714c749b1f7034
+
+VPUNPCKHBW_128(reg)
+  before
+    f8a5ea36fdf3d1ad.620553c4e231ee31.71468e0a5ff0609e.5c8484ac532d9f03
+    ba478ca5b279f2b2.2841f179cf321667.07884ff5f78bba87.986158a3902d9e8b
+    daa52d2d553d0fef.6414bf9d347d5ad9.0d9e510370df3213.1daf5ed2f5b19d79
+    b509ca3a82c9640f.f34b381a2d1e77b4.dfd590a0647503eb.c73b1226a0c656fb
+    72d0f189ad77863b
+  after
+    0000000000000000.0000000000000000.0d079e88514f03f5.70f7df8b32ba1387
+    ba478ca5b279f2b2.2841f179cf321667.07884ff5f78bba87.986158a3902d9e8b
+    daa52d2d553d0fef.6414bf9d347d5ad9.0d9e510370df3213.1daf5ed2f5b19d79
+    b509ca3a82c9640f.f34b381a2d1e77b4.dfd590a0647503eb.c73b1226a0c656fb
+    72d0f189ad77863b
+VPUNPCKHBW_128(mem)
+  before
+    fa3c75e837d0e965.a5c05d38d6ab2cbe.b1b3daded4212924.d879093872db6abe
+    3c491c305add3aa6.0716e493ed6fa4a9.7a1621d447932c54.56d6b637339ca336
+    12c5614b33ab362a.37575ab8629f087c.2a4187e8a2803b71.b438950a4545e9ff
+    597ac127dd46991c.92cebb11d1ca93e3.9dff8a0600f213a6.4deba11b446179c6
+    7f3ad6d8cb7c8f37
+  after
+    fa3c75e837d0e965.a5c05d38d6ab2cbe.b1b3daded4212924.d879093872db6abe
+    3c491c305add3aa6.0716e493ed6fa4a9.7a1621d447932c54.56d6b637339ca336
+    0000000000000000.0000000000000000.b17ab316da21ded4.d4472193292c2454
+    597ac127dd46991c.92cebb11d1ca93e3.9dff8a0600f213a6.4deba11b446179c6
+    7f3ad6d8cb7c8f37
+
+VPUNPCKHBW_128(reg)
+  before
+    a57331ab772266fd.ed35b6ae75b81ea9.72c9030cd7798389.af1ea51a7ef76f20
+    1ae0ad02e3e03cc5.aac2bece170f83fc.34922f130f3a121a.3c685411379a0d0b
+    3cce4648ab414b3b.6cec5472dd568142.34763a9416987c44.20aa14d548e8a792
+    6589f8e96cd2cf0a.0e81f486e69ad7a6.cec120fa871fffb0.37b15f53ccecfae2
+    5d46b378dfb2c126
+  after
+    0000000000000000.0000000000000000.343476923a2f9413.160f983a7c12441a
+    1ae0ad02e3e03cc5.aac2bece170f83fc.34922f130f3a121a.3c685411379a0d0b
+    3cce4648ab414b3b.6cec5472dd568142.34763a9416987c44.20aa14d548e8a792
+    6589f8e96cd2cf0a.0e81f486e69ad7a6.cec120fa871fffb0.37b15f53ccecfae2
+    5d46b378dfb2c126
+VPUNPCKHBW_128(mem)
+  before
+    6e388b2f9e47b98b.f35cbf51c21e06de.6e4b1bf64be64056.5ebfddb1ff5cd50d
+    4652636324b69e3c.409598ec48b12a65.671743ae2b46777b.40bb6d2519da3a05
+    c15fb8028e0b2c67.aa7e7d269a187849.d5b1ea9b9fc73844.d003cdc272256c44
+    ba2d04f7f8531e35.8b646c6b55de2b36.94e58ba7c57441db.6ae1f8f4a5caa577
+    6aa2ea284e54224a
+  after
+    6e388b2f9e47b98b.f35cbf51c21e06de.6e4b1bf64be64056.5ebfddb1ff5cd50d
+    4652636324b69e3c.409598ec48b12a65.671743ae2b46777b.40bb6d2519da3a05
+    0000000000000000.0000000000000000.6e674b171b43f6ae.4b2be6464077567b
+    ba2d04f7f8531e35.8b646c6b55de2b36.94e58ba7c57441db.6ae1f8f4a5caa577
+    6aa2ea284e54224a
+
+VPUNPCKHBW_128(reg)
+  before
+    2b92a0c80b501f69.0f86c52e7d9932d5.41946127148f81d9.807fa3bfb9594c6c
+    0bfd14417549d77e.9b37769339e92171.265756c774b8b4de.744bacd096831624
+    652f44002acb8738.390c94124950aa35.97fc49b511e400f0.4e1424c579fd5b2f
+    95732b70c6626b41.c7d09998c8d9874e.f0ce355f859fa3bc.e9a786897dd4d6b8
+    20d04e0abe1244ec
+  after
+    0000000000000000.0000000000000000.9726fc574956b5c7.1174e4b800b4f0de
+    0bfd14417549d77e.9b37769339e92171.265756c774b8b4de.744bacd096831624
+    652f44002acb8738.390c94124950aa35.97fc49b511e400f0.4e1424c579fd5b2f
+    95732b70c6626b41.c7d09998c8d9874e.f0ce355f859fa3bc.e9a786897dd4d6b8
+    20d04e0abe1244ec
+VPUNPCKHBW_128(mem)
+  before
+    d15bf83359c561f7.f717c5fde49bbf46.2051030fd39075e8.8e1816306f76d7ed
+    d61401f069f9e904.e6650f122001bef2.1f594d648582302e.cb28e89468f4d930
+    0dc7e42d0bb89740.c0aa031d1721a5f2.a2b5f384faba734d.0448a8f60ea5e531
+    503f1dd75b1128d6.e0329f896486b0f2.8332725a4f45fb71.95c550c4fd16369b
+    daeade6ad0d2091b
+  after
+    d15bf83359c561f7.f717c5fde49bbf46.2051030fd39075e8.8e1816306f76d7ed
+    d61401f069f9e904.e6650f122001bef2.1f594d648582302e.cb28e89468f4d930
+    0000000000000000.0000000000000000.201f5159034d0f64.d38590827530e82e
+    503f1dd75b1128d6.e0329f896486b0f2.8332725a4f45fb71.95c550c4fd16369b
+    daeade6ad0d2091b
+
+VMULSS_128(reg)
+  before
+    2f054e5224659a5c.7d4a28d8730d58f3.a148dec3a4bc1a9d.a09945d1a02d84c5
+    f1619ae9945c240b.6eb2821d72bae2c2.613abc357250209f.d3b9e7d70881ca75
+    7a49c09bbc42e5d4.0144a59371238370.7a52364c6bcdfea6.fa5dd757a44a88af
+    270abbd539a41662.10cc0f248f54f729.4ade47752abff05c.ef508e3d8f967b9d
+    8f608975e5705f6b
+  after
+    0000000000000000.0000000000000000.613abc357250209f.d3b9e7d780000000
+    f1619ae9945c240b.6eb2821d72bae2c2.613abc357250209f.d3b9e7d70881ca75
+    7a49c09bbc42e5d4.0144a59371238370.7a52364c6bcdfea6.fa5dd757a44a88af
+    270abbd539a41662.10cc0f248f54f729.4ade47752abff05c.ef508e3d8f967b9d
+    8f608975e5705f6b
+VMULSS_128(mem)
+  before
+    b75745ecc3e4ef46.53f08702a70cf662.78153cbee55afa18.2b28eb1a4cb2316d
+    41023d8c44ffe95a.5c47208da009bf7f.16eda64c9240476a.7b7d1ea96c33fe86
+    0a2ced4285cd06d2.9d5b83e4c324af66.c41ecabaaf139b4b.9429dc8c27ce9353
+    efa3d2fba25805db.7277aa72aaebffc3.5f7625f45adeb2e6.d4772231180d2b7f
+    95b5eb03dc7e03b7
+  after
+    b75745ecc3e4ef46.53f08702a70cf662.78153cbee55afa18.2b28eb1a4cb2316d
+    41023d8c44ffe95a.5c47208da009bf7f.16eda64c9240476a.7b7d1ea96c33fe86
+    0000000000000000.0000000000000000.16eda64c9240476a.7b7d1ea9797a9373
+    efa3d2fba25805db.7277aa72aaebffc3.5f7625f45adeb2e6.d4772231180d2b7f
+    95b5eb03dc7e03b7
+
+VMULSS_128(reg)
+  before
+    342d336e0ead57a6.ca3266a1b5aea0a0.37e993a3f1e9ee41.c4bf32e6afad4767
+    0d2cf6de4a2463fa.78a42722ddda944e.48fb39e335abb68d.cdc66e7cc98c18fb
+    7dfe31bf2d71625c.d5c6906933e99d11.01fa999e11bb9452.575653a2c488dfce
+    deefde7e5320917a.bd641e62d6e67714.bd32ad4022a8c43d.3e3d5f44bdad580c
+    5e450d4fd00540e0
+  after
+    0000000000000000.0000000000000000.48fb39e335abb68d.cdc66e7c4e95cf80
+    0d2cf6de4a2463fa.78a42722ddda944e.48fb39e335abb68d.cdc66e7cc98c18fb
+    7dfe31bf2d71625c.d5c6906933e99d11.01fa999e11bb9452.575653a2c488dfce
+    deefde7e5320917a.bd641e62d6e67714.bd32ad4022a8c43d.3e3d5f44bdad580c
+    5e450d4fd00540e0
+VMULSS_128(mem)
+  before
+    933cd9ad189e5476.8d4bfb8556bb2c00.0c4a4bf9dfdddd84.daef733503fb81fa
+    b9ec3f4cb1834dfb.e65d8442d5d06e9a.9e44951a6cda8c8c.b37de6ea51420834
+    ac22bc17b8c1ea9b.4573731f6aeb94f3.4f1d77b199ea3f59.a32703c9a7089597
+    48aacaf94863e582.07d7c58ab197dab7.fba36daa8119b417.083ac440a1da64d1
+    3d0327badc43b08c
+  after
+    933cd9ad189e5476.8d4bfb8556bb2c00.0c4a4bf9dfdddd84.daef733503fb81fa
+    b9ec3f4cb1834dfb.e65d8442d5d06e9a.9e44951a6cda8c8c.b37de6ea51420834
+    0000000000000000.0000000000000000.9e44951a6cda8c8c.b37de6ea15bea08f
+    48aacaf94863e582.07d7c58ab197dab7.fba36daa8119b417.083ac440a1da64d1
+    3d0327badc43b08c
+
+VMULSS_128(reg)
+  before
+    9dcc27a3f4cfb674.694fe7e07e75fbdb.86d677ed47607c93.7ea0f3f24171a5f1
+    86e1c066840ab236.ebdf8fb77504e8d2.1fbc84b6c7d2b533.b4e18673f400cf14
+    5290ee712881df7e.aa243c6a4a1b6794.2ed5e950ce7ac243.7932a11bb6d1edab
+    5f24ae2f7dc07af7.82eb6ce518c6354d.0f6ca027f7e3df6e.a95fc0d4a4f1bce3
+    20335f8cda6bf8e8
+  after
+    0000000000000000.0000000000000000.1fbc84b6c7d2b533.b4e186736b53414a
+    86e1c066840ab236.ebdf8fb77504e8d2.1fbc84b6c7d2b533.b4e18673f400cf14
+    5290ee712881df7e.aa243c6a4a1b6794.2ed5e950ce7ac243.7932a11bb6d1edab
+    5f24ae2f7dc07af7.82eb6ce518c6354d.0f6ca027f7e3df6e.a95fc0d4a4f1bce3
+    20335f8cda6bf8e8
+VMULSS_128(mem)
+  before
+    ba7cfb2e734b5de5.07e8fb0d1f51bf4e.4f009a15fc120e28.1ecfa7a7df994860
+    52040ea68b9ea607.a729d175a9c2ea2f.ec2f42e4110aad52.b748f93d212938c6
+    c69816e03f6f9179.9c332cd4b79f3645.3744e04074bad0f7.35249253591eec4c
+    f1048ec8aacad768.40520897e672e03c.0b0bf113402f3142.f6af6e562405a09e
+    55358ab31e698f66
+  after
+    ba7cfb2e734b5de5.07e8fb0d1f51bf4e.4f009a15fc120e28.1ecfa7a7df994860
+    52040ea68b9ea607.a729d175a9c2ea2f.ec2f42e4110aad52.b748f93d212938c6
+    0000000000000000.0000000000000000.ec2f42e4110aad52.b748f93dc14aa58c
+    f1048ec8aacad768.40520897e672e03c.0b0bf113402f3142.f6af6e562405a09e
+    55358ab31e698f66
+
+VSUBSS_128(reg)
+  before
+    ae02e0d4e2d6f653.ae14f34ae9bc37ff.f0d26228d1c924c2.444fef4b91748c60
+    5d616e270dd8110f.db94bf5217506b6b.09ff35f515303d80.bddd58d384959f7c
+    bda0301739fc1b47.534f70cd519330d8.e5247d694d316825.5481a796359f24c3
+    2c09201005cd52a6.f11381a5b28f4271.e18e36ef165ae15b.e3075982bf9dd861
+    483be8823e9b7681
+  after
+    0000000000000000.0000000000000000.09ff35f515303d80.bddd58d3b59f24c3
+    5d616e270dd8110f.db94bf5217506b6b.09ff35f515303d80.bddd58d384959f7c
+    bda0301739fc1b47.534f70cd519330d8.e5247d694d316825.5481a796359f24c3
+    2c09201005cd52a6.f11381a5b28f4271.e18e36ef165ae15b.e3075982bf9dd861
+    483be8823e9b7681
+VSUBSS_128(mem)
+  before
+    5de9d282cfa6bc4f.05e93c7e0bd8f0d9.93aa6ec857525c63.59895df50b37e4ce
+    00dc926f8dc964f9.a38c7fcde7a8318c.13e1b4205be83bda.aa61ede6c852ac2c
+    0be2a53395112aa8.643ee56936c9536a.4f84cd9bda5c9b01.2e62e22eeb39761e
+    5cc585bb0288cc8b.a34a6abe93c8901f.215f3724f1ba3805.42d8383a0d787e53
+    420eeb74cc9a0075
+  after
+    5de9d282cfa6bc4f.05e93c7e0bd8f0d9.93aa6ec857525c63.59895df50b37e4ce
+    00dc926f8dc964f9.a38c7fcde7a8318c.13e1b4205be83bda.aa61ede6c852ac2c
+    0000000000000000.0000000000000000.13e1b4205be83bda.aa61ede6c852ac2c
+    5cc585bb0288cc8b.a34a6abe93c8901f.215f3724f1ba3805.42d8383a0d787e53
+    420eeb74cc9a0075
+
+VSUBSS_128(reg)
+  before
+    8a52f849c42b3730.cd52b0f4f13d04cc.bbfe0b389b2f2559.673d6da7bc0ecd11
+    76ee5a2690b76032.3c55a1c87d398f98.0aa4c244e98d4dc2.fbecec1056651752
+    622f0d75cccbb624.8399d425c38a281a.ea898d4c1a6b4606.ba362e4bdbcad2f3
+    aa610da415f277b5.7fecc5f6de3b8d7f.b9f968bec9574ad2.81e8b144684ab921
+    2acef0e719ef8a08
+  after
+    0000000000000000.0000000000000000.0aa4c244e98d4dc2.fbecec105bcaef96
+    76ee5a2690b76032.3c55a1c87d398f98.0aa4c244e98d4dc2.fbecec1056651752
+    622f0d75cccbb624.8399d425c38a281a.ea898d4c1a6b4606.ba362e4bdbcad2f3
+    aa610da415f277b5.7fecc5f6de3b8d7f.b9f968bec9574ad2.81e8b144684ab921
+    2acef0e719ef8a08
+VSUBSS_128(mem)
+  before
+    92b4672108c8fed3.aad0571e06b8dd8f.0d18f127eb5978f2.d1404d0593dd95d2
+    966693dc54ded4af.bec7e54f3caa255e.07ebd3a405eea5a0.8faa3a8d138765b1
+    10afee06173fc6c7.4194b5a352538ad0.4a2fe7594909d2b5.508229c1e5e3f41c
+    dd5cf68a6df69148.9181c386e540498e.b2b1a932d2b3b95c.6e15190fa77d7fbe
+    46b003e3f2df4144
+  after
+    92b4672108c8fed3.aad0571e06b8dd8f.0d18f127eb5978f2.d1404d0593dd95d2
+    966693dc54ded4af.bec7e54f3caa255e.07ebd3a405eea5a0.8faa3a8d138765b1
+    0000000000000000.0000000000000000.07ebd3a405eea5a0.8faa3a8d14327dc2
+    dd5cf68a6df69148.9181c386e540498e.b2b1a932d2b3b95c.6e15190fa77d7fbe
+    46b003e3f2df4144
+
+VSUBSS_128(reg)
+  before
+    359de4a76497785a.d93a26537310f15e.09db096490fc9e47.1b3c951bbcfa17c2
+    9528b9c898315eab.e013fb4f4498a234.05ee85a9f013c5a5.629e280024e9a812
+    c39f7db22b372fe4.ceb4ef69fc9a5ff7.e00631c1a011f954.61a1ddce258d2779
+    1b4d2cd2b93729b1.7fe8808db923e5d3.f86e0b193d837801.f513306fdcf15123
+    fabe9dd16521e23b
+  after
+    0000000000000000.0000000000000000.05ee85a9f013c5a5.629e2800a5257ae9
+    9528b9c898315eab.e013fb4f4498a234.05ee85a9f013c5a5.629e280024e9a812
+    c39f7db22b372fe4.ceb4ef69fc9a5ff7.e00631c1a011f954.61a1ddce258d2779
+    1b4d2cd2b93729b1.7fe8808db923e5d3.f86e0b193d837801.f513306fdcf15123
+    fabe9dd16521e23b
+VSUBSS_128(mem)
+  before
+    4c6fa1dfdb2a95ee.f97dc392ddbd86bd.cf7d29a8943deff2.a8740f1b62f57b58
+    c7f2b7845a162867.b97c3c60335383b4.9a3d66a4abf73b83.4b623735acf14104
+    47125baefff454d3.b79695a758875c43.bcf5b36e1a5a83b0.3f8581d2b60504b2
+    a89d0948e5cdd85e.4f17c9d3e7e54c16.11728df3fc7484a6.de29e85d1cbc010e
+    869a68447ba374c3
+  after
+    4c6fa1dfdb2a95ee.f97dc392ddbd86bd.cf7d29a8943deff2.a8740f1b62f57b58
+    c7f2b7845a162867.b97c3c60335383b4.9a3d66a4abf73b83.4b623735acf14104
+    0000000000000000.0000000000000000.9a3d66a4abf73b83.4b623735e2f57b58
+    a89d0948e5cdd85e.4f17c9d3e7e54c16.11728df3fc7484a6.de29e85d1cbc010e
+    869a68447ba374c3
+
+VADDSS_128(reg)
+  before
+    9124fdf26f45987d.c55d3d3e29af6e33.dd4bd4507df890d9.757e6f1d6d51f990
+    5d12a4d3932eaaea.7c1f747de6a6d47f.bd7eb38ab54c6437.c4e5d5da8afb9f9b
+    44b2585383ebe6b4.a8af29ef39bcc36d.4bfb60ed2c6d03dc.da753b146f8032f3
+    a44e15dfdc078887.25d9d8813dfffa2a.e310d9e57de8ab75.93f81db937ec6ec3
+    ca3cf8b4fe490e38
+  after
+    0000000000000000.0000000000000000.bd7eb38ab54c6437.c4e5d5da6f8032f3
+    5d12a4d3932eaaea.7c1f747de6a6d47f.bd7eb38ab54c6437.c4e5d5da8afb9f9b
+    44b2585383ebe6b4.a8af29ef39bcc36d.4bfb60ed2c6d03dc.da753b146f8032f3
+    a44e15dfdc078887.25d9d8813dfffa2a.e310d9e57de8ab75.93f81db937ec6ec3
+    ca3cf8b4fe490e38
+VADDSS_128(mem)
+  before
+    5d0b47f1e1a5d07d.d733d7e1390ecb10.cf69fd200e7b33e2.e10719de444896ae
+    2732865cfb0c6dbf.3aad9ac7378decfb.812b15b6c93a2bc0.a12d1d451e1a0032
+    047d32e16988a42a.2a085bfb710f27f3.19ea9b318a4a9ef0.7fcedf84a7e827ae
+    cfb7c56d46272fe9.018f15eb8420b7a5.72730b7c6cb747a0.d7355d097a4145ce
+    04b0923e33ae973d
+  after
+    5d0b47f1e1a5d07d.d733d7e1390ecb10.cf69fd200e7b33e2.e10719de444896ae
+    2732865cfb0c6dbf.3aad9ac7378decfb.812b15b6c93a2bc0.a12d1d451e1a0032
+    0000000000000000.0000000000000000.812b15b6c93a2bc0.a12d1d45444896ae
+    cfb7c56d46272fe9.018f15eb8420b7a5.72730b7c6cb747a0.d7355d097a4145ce
+    04b0923e33ae973d
+
+VADDSS_128(reg)
+  before
+    64897a916fbd58a8.66aebdeaaff5cb28.1c90c4010b4ddabc.6792e1828b8ce3fa
+    520d126dcaf9c5ba.a32c9546bffd3415.d85564aba321cae5.d613993104d52e2a
+    2a88543edfef1a20.64ffc96b934b25da.8f2bf254e728c3cc.9ac2b074f39ee45d
+    47463e704a2a9386.83f1d64746eb5ba3.9e5e696874ef021c.8e6ba13773f4c0bf
+    90d9e867a0e27f7b
+  after
+    0000000000000000.0000000000000000.d85564aba321cae5.d6139931f39ee45d
+    520d126dcaf9c5ba.a32c9546bffd3415.d85564aba321cae5.d613993104d52e2a
+    2a88543edfef1a20.64ffc96b934b25da.8f2bf254e728c3cc.9ac2b074f39ee45d
+    47463e704a2a9386.83f1d64746eb5ba3.9e5e696874ef021c.8e6ba13773f4c0bf
+    90d9e867a0e27f7b
+VADDSS_128(mem)
+  before
+    7ada01ee9774ddbe.0793cb6fa8366b97.decf36c5f4ea929d.613ac553e501c482
+    293868b973b795b4.c4bbf8a7949fe0ff.4f6467d0ba5386f4.340b0281d6ea42a9
+    7ac09ab551b66488.dc09bf85abf22b6c.b47ee456b432f2d3.731c1c5fe537bb3e
+    473e12cc4c7e0666.a9ca1e7388bb8b88.e7e72a42fd949367.7abb1057ab7369ed
+    a532d9d7c62b8961
+  after
+    7ada01ee9774ddbe.0793cb6fa8366b97.decf36c5f4ea929d.613ac553e501c482
+    293868b973b795b4.c4bbf8a7949fe0ff.4f6467d0ba5386f4.340b0281d6ea42a9
+    0000000000000000.0000000000000000.4f6467d0ba5386f4.340b0281e501c482
+    473e12cc4c7e0666.a9ca1e7388bb8b88.e7e72a42fd949367.7abb1057ab7369ed
+    a532d9d7c62b8961
+
+VADDSS_128(reg)
+  before
+    50ce7349d1e95747.6e7d4cec811a377c.894a10dfc8843aff.c66db381b18425db
+    d7dbda1b693b0e4a.c94bc5000b96b2f4.d6d5913306db757e.2bdafdfded0f635d
+    96a40bb82aadeb17.3572f7f407fe34fa.eeb79edddf4b78b1.f3fb83a3cd400b16
+    e977008bafca2a5a.8ec060b4905f79bb.2b3c3148ee617e43.fa9bc15f6c23d634
+    1d88341ee6c483e3
+  after
+    0000000000000000.0000000000000000.d6d5913306db757e.2bdafdfded0f635d
+    d7dbda1b693b0e4a.c94bc5000b96b2f4.d6d5913306db757e.2bdafdfded0f635d
+    96a40bb82aadeb17.3572f7f407fe34fa.eeb79edddf4b78b1.f3fb83a3cd400b16
+    e977008bafca2a5a.8ec060b4905f79bb.2b3c3148ee617e43.fa9bc15f6c23d634
+    1d88341ee6c483e3
+VADDSS_128(mem)
+  before
+    368d56cb5830cc4f.2c9eb702941e06be.b1ff7b2cc2c43c63.eaaf48e0cfa8c5e1
+    2275a551dd726ea3.ba672c887635bdf0.78fcc448ba3a3b1d.885ede111fac8736
+    bd0d9c9e9297250b.f11c598af09c899b.c082b8f494cc2f16.5f93ef477afa00ef
+    e321b79d92aaadb5.2c0a3c729fdea66c.655fd11c6b86d779.cc9b78ee7b1d6db8
+    2cc27472bea10a3c
+  after
+    368d56cb5830cc4f.2c9eb702941e06be.b1ff7b2cc2c43c63.eaaf48e0cfa8c5e1
+    2275a551dd726ea3.ba672c887635bdf0.78fcc448ba3a3b1d.885ede111fac8736
+    0000000000000000.0000000000000000.78fcc448ba3a3b1d.885ede11cfa8c5e1
+    e321b79d92aaadb5.2c0a3c729fdea66c.655fd11c6b86d779.cc9b78ee7b1d6db8
+    2cc27472bea10a3c
+
+VDIVSS_128(reg)
+  before
+    d953df40e0131328.707d733afab7c1ca.c77ccfad1e88520f.435d8dad5b74ed73
+    309cb5c27dfec428.40ed4b61e5cb1e79.1dc011a80925c72f.364a679181a32f30
+    8de7f26630ef58e7.2f3cbbfe6ff17fec.8c21fbcdfe414278.1af0dcb6f81f56db
+    4c82939695700c11.19383ffdb635a24f.6fea8a8a9669fe98.cb1c6607ddf221a1
+    259a83704c2a4aad
+  after
+    0000000000000000.0000000000000000.1dc011a80925c72f.364a679100000000
+    309cb5c27dfec428.40ed4b61e5cb1e79.1dc011a80925c72f.364a679181a32f30
+    8de7f26630ef58e7.2f3cbbfe6ff17fec.8c21fbcdfe414278.1af0dcb6f81f56db
+    4c82939695700c11.19383ffdb635a24f.6fea8a8a9669fe98.cb1c6607ddf221a1
+    259a83704c2a4aad
+VDIVSS_128(mem)
+  before
+    0435aedc5fd28e2c.c9b793c0490f1b53.daab534bd3a341cf.2168bb496f273839
+    44bb633935f7a94a.60d3ee4fe758c359.4e6274d2e4481998.00e78978250a2c07
+    c1f61f72e7a45632.6d21a0af0cd63ecf.51291d800530e5d6.66b3f082539b16af
+    57b35c7494e55211.4cefa54c5315c960.bfccca3f516562b4.b118ecd3956832dd
+    3b617ad788fcbb3c
+  after
+    0435aedc5fd28e2c.c9b793c0490f1b53.daab534bd3a341cf.2168bb496f273839
+    44bb633935f7a94a.60d3ee4fe758c359.4e6274d2e4481998.00e78978250a2c07
+    0000000000000000.0000000000000000.4e6274d2e4481998.00e7897800000002
+    57b35c7494e55211.4cefa54c5315c960.bfccca3f516562b4.b118ecd3956832dd
+    3b617ad788fcbb3c
+
+VDIVSS_128(reg)
+  before
+    62dc95fac8e4ee79.e2be982955c75912.5987fa9259a19fb8.7416f7fde4f54c5e
+    80d339a9efab063f.3de34e7e48552662.f0379aedb907fd84.4cd520a5dbec5f01
+    f293624e9cdd403c.46eefb60899b772c.6d4981ca0fd21f70.22d3c223515456c9
+    15680d566907d819.d8ab19b933a6069d.2c0aab93f88f4127.d4dd5863633befe1
+    3dbf5e512cade376
+  after
+    0000000000000000.0000000000000000.f0379aedb907fd84.4cd520a5ca0e7c9e
+    80d339a9efab063f.3de34e7e48552662.f0379aedb907fd84.4cd520a5dbec5f01
+    f293624e9cdd403c.46eefb60899b772c.6d4981ca0fd21f70.22d3c223515456c9
+    15680d566907d819.d8ab19b933a6069d.2c0aab93f88f4127.d4dd5863633befe1
+    3dbf5e512cade376
+VDIVSS_128(mem)
+  before
+    394550d9c9b4f1b4.439e342ef2b40a84.cfe5267763818fe1.89c615b510c89e56
+    a33babe7555fd3c6.d980d541d4701229.06699d853438d024.dfc8ba9df20c73a9
+    596cea68edb746d9.345cebfaaac82bb4.5b03facfc2d88390.8c5e96b63ae4fccb
+    35a68946acca0618.ae7c73c7104792d0.a97fba402a6c6554.ebd2a56c85de7569
+    5872e32a6f85192e
+  after
+    394550d9c9b4f1b4.439e342ef2b40a84.cfe5267763818fe1.89c615b510c89e56
+    a33babe7555fd3c6.d980d541d4701229.06699d853438d024.dfc8ba9df20c73a9
+    0000000000000000.0000000000000000.06699d853438d024.dfc8ba9dff800000
+    35a68946acca0618.ae7c73c7104792d0.a97fba402a6c6554.ebd2a56c85de7569
+    5872e32a6f85192e
+
+VDIVSS_128(reg)
+  before
+    2e884d5e936625c7.15b3046fafa3ceb0.a42d6713a4798229.cba957c68701319a
+    cb61de738d0cd5e0.d360d8cd114e5bcc.72bbc54affeb396d.9f4d4f4df6a1a58f
+    8a4892d6fa036424.4d797f4eefd86999.747288d8bf28f145.ff361dbf935b7b5e
+    c68b65f175d70f3f.5dca77dd644cb443.069dac2980bde760.c9323d0978386f34
+    d70b2c17c4463f3c
+  after
+    0000000000000000.0000000000000000.72bbc54affeb396d.9f4d4f4d7f800000
+    cb61de738d0cd5e0.d360d8cd114e5bcc.72bbc54affeb396d.9f4d4f4df6a1a58f
+    8a4892d6fa036424.4d797f4eefd86999.747288d8bf28f145.ff361dbf935b7b5e
+    c68b65f175d70f3f.5dca77dd644cb443.069dac2980bde760.c9323d0978386f34
+    d70b2c17c4463f3c
+VDIVSS_128(mem)
+  before
+    068e65d69090a5a3.dd7454319b1512df.e11e3b668cb7f7f5.848a2daadd345668
+    33876331fb225e95.29515a030749a9ae.b34347d58423efdc.4a8308c5721b7b09
+    38c1a5131e09253d.086c73d156fd0f58.b1031816689e5824.b4d638e7dcfe92f1
+    f20aa46a1850b8c8.d4129b0923bf818a.b52b29155334edf8.1ecdb97db768d7c9
+    e4b487f29ee58540
+  after
+    068e65d69090a5a3.dd7454319b1512df.e11e3b668cb7f7f5.848a2daadd345668
+    33876331fb225e95.29515a030749a9ae.b34347d58423efdc.4a8308c5721b7b09
+    0000000000000000.0000000000000000.b34347d58423efdc.4a8308c5d45cb6d0
+    f20aa46a1850b8c8.d4129b0923bf818a.b52b29155334edf8.1ecdb97db768d7c9
+    e4b487f29ee58540
+
+VUNPCKLPS_128(reg)
+  before
+    62d99fb12d01d900.3e2cde210204d162.eb8ece150b1a3bf0.9c87f6bf61f06c84
+    f487fc2801490fb5.f6f5cd24fa302c36.a72e0963a99b7835.42e3fbfeafde8ef6
+    f6099ac2b548630c.f72fef5f1ce08770.653d475e99cd7506.840bb4c0580a1277
+    c4ac75ebe68b10b1.1da7c0be83209c3e.82068472783c6e0e.3cca9eef7981b236
+    47ee34792d4f2b5d
+  after
+    0000000000000000.0000000000000000.840bb4c042e3fbfe.580a1277afde8ef6
+    f487fc2801490fb5.f6f5cd24fa302c36.a72e0963a99b7835.42e3fbfeafde8ef6
+    f6099ac2b548630c.f72fef5f1ce08770.653d475e99cd7506.840bb4c0580a1277
+    c4ac75ebe68b10b1.1da7c0be83209c3e.82068472783c6e0e.3cca9eef7981b236
+    47ee34792d4f2b5d
+VUNPCKLPS_128(mem)
+  before
+    8141f249917e3919.babc890f2f9d5350.4528ba2d4bfd28c9.58d6bc0be2759ffa
+    c690544ac01c9895.3385d39b2d0a6793.49805b999182e740.44f9ec9572034376
+    f2a7d76ad73403fe.8d534ef97b5e8a29.06791eec71bc94cd.a2bb0e7dc472972d
+    e151f595f1d3377f.2372f696b626f6bc.58e17f1306b6ec9c.cf68202d754fd7cc
+    254b1d1321253eff
+  after
+    8141f249917e3919.babc890f2f9d5350.4528ba2d4bfd28c9.58d6bc0be2759ffa
+    c690544ac01c9895.3385d39b2d0a6793.49805b999182e740.44f9ec9572034376
+    0000000000000000.0000000000000000.58d6bc0b44f9ec95.e2759ffa72034376
+    e151f595f1d3377f.2372f696b626f6bc.58e17f1306b6ec9c.cf68202d754fd7cc
+    254b1d1321253eff
+
+VUNPCKLPS_128(reg)
+  before
+    01b2029962800a71.705c2cb52b04ef45.502dc7df79ede8f9.1b82fafb6c7cabdb
+    bfe7c92dd7ed75ce.7892f8b7a0d3e97b.72d2bd3f61409b8b.2b290c8fc01b8cb3
+    bb3770391af7bbc3.d8c1d3876c4ddf4f.e4abd52109aa4d1f.64a230bb1d9e4d53
+    51eef22bc72b1afc.6bb33b12ac7d8eea.01050af30db73861.a2b8e26ba011a7e5
+    c1399e8a64815995
+  after
+    0000000000000000.0000000000000000.64a230bb2b290c8f.1d9e4d53c01b8cb3
+    bfe7c92dd7ed75ce.7892f8b7a0d3e97b.72d2bd3f61409b8b.2b290c8fc01b8cb3
+    bb3770391af7bbc3.d8c1d3876c4ddf4f.e4abd52109aa4d1f.64a230bb1d9e4d53
+    51eef22bc72b1afc.6bb33b12ac7d8eea.01050af30db73861.a2b8e26ba011a7e5
+    c1399e8a64815995
+VUNPCKLPS_128(mem)
+  before
+    9defe00786f91d90.dd584b6e7b13cc25.0d35aa427c6fb17b.272c58200af498fc
+    11a725cb2185b102.bbc0786ed13e0de9.9a129e05f730052c.b06bbc149cecab9c
+    fb2de8c35232ce17.4774749765351bf4.ee18934639cb4629.fa10303b5e2babef
+    364da5db340b33fa.ddbe3b56d58630f3.e51103f05f4c309f.5f65b201ec3ed59e
+    3cb83dd2e3af6458
+  after
+    9defe00786f91d90.dd584b6e7b13cc25.0d35aa427c6fb17b.272c58200af498fc
+    11a725cb2185b102.bbc0786ed13e0de9.9a129e05f730052c.b06bbc149cecab9c
+    0000000000000000.0000000000000000.272c5820b06bbc14.0af498fc9cecab9c
+    364da5db340b33fa.ddbe3b56d58630f3.e51103f05f4c309f.5f65b201ec3ed59e
+    3cb83dd2e3af6458
+
+VUNPCKLPS_128(reg)
+  before
+    ee53cd1bde0d96c7.9ed3d800e41c9ad7.d9ebc915babc8992.5bcb6cf184c07eba
+    cf835f467ae1a598.0e8bfe1c7d72c0db.97471a41b263627c.2b104934c532eea6
+    3c93edc152b9cd76.6440911d1b186132.731e2b475908f65e.33ad16a53eae398d
+    92d175f603214c0e.7bbf0feedb1a3807.c8bcf6914a3682e4.4e6e4f3109411e9e
+    571e71c245f65703
+  after
+    0000000000000000.0000000000000000.33ad16a52b104934.3eae398dc532eea6
+    cf835f467ae1a598.0e8bfe1c7d72c0db.97471a41b263627c.2b104934c532eea6
+    3c93edc152b9cd76.6440911d1b186132.731e2b475908f65e.33ad16a53eae398d
+    92d175f603214c0e.7bbf0feedb1a3807.c8bcf6914a3682e4.4e6e4f3109411e9e
+    571e71c245f65703
+VUNPCKLPS_128(mem)
+  before
+    2c8bf7450bd9a1e9.2b87f25328a35c0b.2ed4f47bd9850287.f46c798d217a42b9
+    a77f5da779f7b87b.640361435ecd3a1a.5b4bbab030647bde.527cb0a67b5f728a
+    a6c81fd2ab5b57e6.998fbc32402b22e7.ddf0df79fcc35f37.3d369548f4714d02
+    0430b9b4bc113b56.2678018c6b484f1d.8f8fddc25aaf69be.13e726df273d10ce
+    2fdb5ed7b04df79a
+  after
+    2c8bf7450bd9a1e9.2b87f25328a35c0b.2ed4f47bd9850287.f46c798d217a42b9
+    a77f5da779f7b87b.640361435ecd3a1a.5b4bbab030647bde.527cb0a67b5f728a
+    0000000000000000.0000000000000000.f46c798d527cb0a6.217a42b97b5f728a
+    0430b9b4bc113b56.2678018c6b484f1d.8f8fddc25aaf69be.13e726df273d10ce
+    2fdb5ed7b04df79a
+
+VCVTSI2SS_128(reg)
+  before
+    ec5e399c2c303d11.9c84a838c92620f6.680a2bbd7ab0fe69.4ff33277653356a1
+    a8bbb39a366f1fdf.4b8f674aeda5c2f2.b990363109ef6b76.f7ea5a843a5ce20a
+    be40c83d6b98d9b2.ee1f72d6449bdc78.76581f54b592d1f1.653ecfd6f434c825
+    893775f26636a634.5ffe45c8eb122bb1.fbace0931a246d86.73bc0f57b0cac51f
+    fe3095f589279524
+  after
+    0000000000000000.0000000000000000.b990363109ef6b76.f7ea5a84ceedb0d6
+    a8bbb39a366f1fdf.4b8f674aeda5c2f2.b990363109ef6b76.f7ea5a843a5ce20a
+    be40c83d6b98d9b2.ee1f72d6449bdc78.76581f54b592d1f1.653ecfd6f434c825
+    893775f26636a634.5ffe45c8eb122bb1.fbace0931a246d86.73bc0f57b0cac51f
+    fe3095f589279524
+VCVTSI2SS_128(mem)
+  before
+    e365dd9a9c59f45f.66edb523c4d6c411.7cfa5d0cfe196bcc.a4d97758d3317be0
+    fc296334046b9dfd.b2ae843e20036df6.1fdd358e98b957f3.cd2bdf117c4637ac
+    2646a4aede694d29.c7c6dfae1749dd8f.2574493ad500ad53.d2ee1429b2eedc95
+    3e8a1bf44560c010.0380c0df44355287.6b8b15fdd2f92617.0f6e130b11b6a848
+    dff6d7253328d471
+  after
+    e365dd9a9c59f45f.66edb523c4d6c411.7cfa5d0cfe196bcc.a4d97758d3317be0
+    fc296334046b9dfd.b2ae843e20036df6.1fdd358e98b957f3.cd2bdf117c4637ac
+    0000000000000000.0000000000000000.1fdd358e98b957f3.cd2bdf11ce333a10
+    3e8a1bf44560c010.0380c0df44355287.6b8b15fdd2f92617.0f6e130b11b6a848
+    dff6d7253328d471
+
+VCVTSI2SS_128(reg)
+  before
+    a0d45ce2b7d39fbb.1ebf44f2565cb1de.c02a253c4352068b.cbed15c1aab1816c
+    ad529eae364043d3.a3b29b942c67debe.5b0e0933b12c3646.2268c6747a32787d
+    62bd99f54ffdfd64.a92e9dc6e38f00dd.317969302a501e65.4cc6a3005d8bc877
+    1b614a249b95091b.0c01c47598dfd667.9cb73f9d4949f994.25d4285370c52d86
+    895ed158ceee63d5
+  after
+    0000000000000000.0000000000000000.5b0e0933b12c3646.2268c674ce444671
+    ad529eae364043d3.a3b29b942c67debe.5b0e0933b12c3646.2268c6747a32787d
+    62bd99f54ffdfd64.a92e9dc6e38f00dd.317969302a501e65.4cc6a3005d8bc877
+    1b614a249b95091b.0c01c47598dfd667.9cb73f9d4949f994.25d4285370c52d86
+    895ed158ceee63d5
+VCVTSI2SS_128(mem)
+  before
+    54301bfb94112591.338aaca5b995a2a3.a8f58e8b67641a87.f91489e7aaa3047e
+    63168028dd3b30e5.0884bbe5428805aa.59d876f66a298a69.a4dc427aeaeb7bd0
+    90db7ecbc6773ffe.f59a7351d4fa6ed9.fb74f9a0c03adf3a.fa5b66c3a5ac9935
+    b84d90d16ad11008.5519d0530b7719df.6a96917783a3d826.55dcf12c75729b5a
+    12ace023f9cabdeb
+  after
+    54301bfb94112591.338aaca5b995a2a3.a8f58e8b67641a87.f91489e7aaa3047e
+    63168028dd3b30e5.0884bbe5428805aa.59d876f66a298a69.a4dc427aeaeb7bd0
+    0000000000000000.0000000000000000.59d876f66a298a69.a4dc427aceaab9f7
+    b84d90d16ad11008.5519d0530b7719df.6a96917783a3d826.55dcf12c75729b5a
+    12ace023f9cabdeb
+
+VCVTSI2SS_128(reg)
+  before
+    8d172e13cb3f3b93.b7363324e5565d2e.864ecf59828c4166.820abc66cf712f58
+    2269d768875e50ff.6863e1b15411e39d.e2836bced6c4231a.1f9bf559c1b0a1fd
+    2deed78ecab139da.a9a01865d30e5d80.c704a01ea2acfba8.1d17b83c746aea41
+    0af22bf12fc632d1.55b9532a7d5a8804.8f1f6bb582cf04bc.584882fb05adc54f
+    acfbcd828f85ef54
+  after
+    0000000000000000.0000000000000000.e2836bced6c4231a.1f9bf559cee0f421
+    2269d768875e50ff.6863e1b15411e39d.e2836bced6c4231a.1f9bf559c1b0a1fd
+    2deed78ecab139da.a9a01865d30e5d80.c704a01ea2acfba8.1d17b83c746aea41
+    0af22bf12fc632d1.55b9532a7d5a8804.8f1f6bb582cf04bc.584882fb05adc54f
+    acfbcd828f85ef54
+VCVTSI2SS_128(mem)
+  before
+    f5fd17bd2ffc247b.15c0cdfd52297790.487a0fee6e002055.981fc6ff13b97b01
+    0f17db9800201ff1.aaa5bb1ed16543c2.5eaec69cc30ce19e.3c4faf68f0f79c24
+    d51895001efd9ee2.25edf0c04506d314.7322f620988b860b.d9fc215cb614a3d0
+    25cbc2dfa69d5b79.e1e469504c986231.62a21a660788cdca.c9721848019ccbb2
+    69fd91966b1c5176
+  after
+    f5fd17bd2ffc247b.15c0cdfd52297790.487a0fee6e002055.981fc6ff13b97b01
+    0f17db9800201ff1.aaa5bb1ed16543c2.5eaec69cc30ce19e.3c4faf68f0f79c24
+    0000000000000000.0000000000000000.5eaec69cc30ce19e.3c4faf684d9dcbd8
+    25cbc2dfa69d5b79.e1e469504c986231.62a21a660788cdca.c9721848019ccbb2
+    69fd91966b1c5176
+
+VANDPS_128(reg)
+  before
+    16e986b4931f71c7.dafbdd23b40e12e3.3cd6203882a82ec6.09faae5a2f0f6f05
+    2a82f50c12316652.cf7562b7635c814b.910f13e682c1717f.43f62ee82a2d2be8
+    0213d90c87df6dc3.e206cd87cf9162de.3cdb3dc4e8706807.eb6217fc14edbba0
+    fae92f1f8bb4c2c5.ee779a7f15bc72c7.99859a4051404e0b.df0ae483095bdc59
+    fab9116727844a3e
+  after
+    0000000000000000.0000000000000000.100b11c480406007.436206e8002d2ba0
+    2a82f50c12316652.cf7562b7635c814b.910f13e682c1717f.43f62ee82a2d2be8
+    0213d90c87df6dc3.e206cd87cf9162de.3cdb3dc4e8706807.eb6217fc14edbba0
+    fae92f1f8bb4c2c5.ee779a7f15bc72c7.99859a4051404e0b.df0ae483095bdc59
+    fab9116727844a3e
+VANDPS_128(mem)
+  before
+    173c1a968773c07c.6f51f1b1bd3ca104.ce97468b51e66c33.035a27c559bd6136
+    145f7bfb4734fb3f.bb951d2eb604452e.60314c979e1d0e4e.d8a6debf9b73db35
+    cbeeb18183d4b7b2.3b01ae021497ebec.7e10288f186c1243.73b5bd9ab3eff8b3
+    1ab53716565eb001.4be3a0997381cfed.0602565fdcdf343f.2fd3bfc23ebdf65e
+    6a4be1a3d7670fdf
+  after
+    173c1a968773c07c.6f51f1b1bd3ca104.ce97468b51e66c33.035a27c559bd6136
+    145f7bfb4734fb3f.bb951d2eb604452e.60314c979e1d0e4e.d8a6debf9b73db35
+    0000000000000000.0000000000000000.4011448310040c02.0002068519314134
+    1ab53716565eb001.4be3a0997381cfed.0602565fdcdf343f.2fd3bfc23ebdf65e
+    6a4be1a3d7670fdf
+
+VANDPS_128(reg)
+  before
+    7e6b1daa1b7b80e5.db7f89a5dddfa15a.4786f05f6e4f2ddb.d2d153f40583326e
+    c97d7141a5848419.eb1a231a336247e7.8b3598c1a18c4062.c04a9938b063c6fb
+    a5ced8d6120f592a.2750826174f35ed4.733d9629a9c54530.aa39a619f88cad13
+    70aa4ed3fda739c2.69ee2166bd9ea14e.5beae505228477ee.6d69f581fa08a2e1
+    e6a8035ed1e66392
+  after
+    0000000000000000.0000000000000000.03359001a1844020.80088018b0008413
+    c97d7141a5848419.eb1a231a336247e7.8b3598c1a18c4062.c04a9938b063c6fb
+    a5ced8d6120f592a.2750826174f35ed4.733d9629a9c54530.aa39a619f88cad13
+    70aa4ed3fda739c2.69ee2166bd9ea14e.5beae505228477ee.6d69f581fa08a2e1
+    e6a8035ed1e66392
+VANDPS_128(mem)
+  before
+    efc04a9b9a2faa51.845dcfa602d8608e.8ec07c162970ce81.9f8882bfa758144b
+    657f482470f1334b.3f3358babf2f0c39.73920f5bd5749e98.9b6367c5d4ca56f1
+    24af78e56f37bcac.fb77e47bcd377770.f2305623ddb7d0c0.abc6928246687a8c
+    091d56cab40eff9f.15766f55ca7cdede.e865ce585b441e24.2bfffe6298bdbbc9
+    7658a7d167565654
+  after
+    efc04a9b9a2faa51.845dcfa602d8608e.8ec07c162970ce81.9f8882bfa758144b
+    657f482470f1334b.3f3358babf2f0c39.73920f5bd5749e98.9b6367c5d4ca56f1
+    0000000000000000.0000000000000000.02800c1201708e80.9b00028584481441
+    091d56cab40eff9f.15766f55ca7cdede.e865ce585b441e24.2bfffe6298bdbbc9
+    7658a7d167565654
+
+VANDPS_128(reg)
+  before
+    ea1e893b4ebd87d8.ee945fbf5b81b951.ea7df5b4528b7c30.31fff2e86e2745f1
+    e29da10cea818a02.b0e20eb17f9ca6ed.d4d6730400ef8f12.a9c83ebe2f6c0153
+    ba21eab1d62b9a7e.2bd1de8a3c6b81a0.30cee3b17034512f.2c8d2ec6bd200e75
+    cdf56094af49f4f7.3b2f4e38affb0796.5ab043283fe7fe34.971a3eec314f2784
+    c43aeb1ca90309ab
+  after
+    0000000000000000.0000000000000000.10c6630000240102.28882e862d200051
+    e29da10cea818a02.b0e20eb17f9ca6ed.d4d6730400ef8f12.a9c83ebe2f6c0153
+    ba21eab1d62b9a7e.2bd1de8a3c6b81a0.30cee3b17034512f.2c8d2ec6bd200e75
+    cdf56094af49f4f7.3b2f4e38affb0796.5ab043283fe7fe34.971a3eec314f2784
+    c43aeb1ca90309ab
+VANDPS_128(mem)
+  before
+    90bbb042414a6f17.7967ff231066d41a.bcc6d7a5f358f4fa.aeca8fd30893d4cc
+    d767094a142f17f4.19c1c4c8950f7692.8a63f6bf258c03f9.8866c12068c40da4
+    750c73203fbfbb6d.0850a9f1dbcf150c.81d2287161a5f1be.45d1d779fb07e668
+    457468b1dd0518af.a460ac097e32ee33.7ddee8a7c1ae7a76.3f58cb4c5be79bc3
+    d3449b0427f16762
+  after
+    90bbb042414a6f17.7967ff231066d41a.bcc6d7a5f358f4fa.aeca8fd30893d4cc
+    d767094a142f17f4.19c1c4c8950f7692.8a63f6bf258c03f9.8866c12068c40da4
+    0000000000000000.0000000000000000.8842d6a5210800f8.8842810008800484
+    457468b1dd0518af.a460ac097e32ee33.7ddee8a7c1ae7a76.3f58cb4c5be79bc3
+    d3449b0427f16762
+
+VMINSS_128(reg)
+  before
+    5de4430df8af87f0.256c66e70a0de9e5.473dc87c19c43db5.5a55b24d64b45a4d
+    3983bdd36daf371a.f0bfe8b0e3e4eb3c.4f33fab648123d3b.f401034f63c24c6e
+    c36c07c21f7db28c.823b6af78495dae0.168d3c23a8a82b74.27af5699dde40e06
+    57ed1c46aca436f1.b7aa69a8072c72fc.fa998c2fd5104309.ce2c2617eb275940
+    c741f2b6ab96ec49
+  after
+    0000000000000000.0000000000000000.4f33fab648123d3b.f401034fdde40e06
+    3983bdd36daf371a.f0bfe8b0e3e4eb3c.4f33fab648123d3b.f401034f63c24c6e
+    c36c07c21f7db28c.823b6af78495dae0.168d3c23a8a82b74.27af5699dde40e06
+    57ed1c46aca436f1.b7aa69a8072c72fc.fa998c2fd5104309.ce2c2617eb275940
+    c741f2b6ab96ec49
+VMINSS_128(mem)
+  before
+    edbd3360393d814c.5050f8ccb0b0fdf6.6bda60af8bb66ebd.55a1e5466ad8c1a9
+    1c6b6603b029d577.0ce297bec62d4346.7995cbf82a3e8c4e.84f243d4038ce0fe
+    2f1608892d65a4f3.e6eff6898ba8468e.bfa8266f00d085dc.e4d8a3463db6ddb5
+    048b94e0cbfda9ef.3ac2109a9aac407a.18dfed002a791892.cf9f0006b3e4f479
+    a292558202a260f7
+  after
+    edbd3360393d814c.5050f8ccb0b0fdf6.6bda60af8bb66ebd.55a1e5466ad8c1a9
+    1c6b6603b029d577.0ce297bec62d4346.7995cbf82a3e8c4e.84f243d4038ce0fe
+    0000000000000000.0000000000000000.7995cbf82a3e8c4e.84f243d4038ce0fe
+    048b94e0cbfda9ef.3ac2109a9aac407a.18dfed002a791892.cf9f0006b3e4f479
+    a292558202a260f7
+
+VMINSS_128(reg)
+  before
+    baffa125c57a5fda.769786f3a6fea195.64a9e15c8fc66eb5.5f059d97c344ff9e
+    7130dd5b99fa2acf.60035baedb734811.bfee653b07810bec.72e8b020e83df729
+    2472069019ae0082.a09e8dfd85695a90.a9de98a29e6954ca.2c52a488b471bc62
+    2f111930e2201b9e.10339accc1ea923e.7dc577ffee0a85fc.6811f5b943eb0972
+    04ef1da1b3b89b88
+  after
+    0000000000000000.0000000000000000.bfee653b07810bec.72e8b020e83df729
+    7130dd5b99fa2acf.60035baedb734811.bfee653b07810bec.72e8b020e83df729
+    2472069019ae0082.a09e8dfd85695a90.a9de98a29e6954ca.2c52a488b471bc62
+    2f111930e2201b9e.10339accc1ea923e.7dc577ffee0a85fc.6811f5b943eb0972
+    04ef1da1b3b89b88
+VMINSS_128(mem)
+  before
+    dab99a2b1de22ece.ee5911a78fdeb8d0.8e8dfd07ab04ad46.96effdbd96f1da2d
+    c83ae7439f777e71.bd96ea61bc7413c3.f47a329a5dc367d5.52a8264930a98e0b
+    a84080d55583469c.f813a1ca066d6824.20c4b672f6327b17.0c3cee0d58bfdf3f
+    5795e1cd5a11437c.fb1e304e0955f29f.ec380479905da637.1ff65276abbe0678
+    e9234cf1c432425f
+  after
+    dab99a2b1de22ece.ee5911a78fdeb8d0.8e8dfd07ab04ad46.96effdbd96f1da2d
+    c83ae7439f777e71.bd96ea61bc7413c3.f47a329a5dc367d5.52a8264930a98e0b
+    0000000000000000.0000000000000000.f47a329a5dc367d5.52a8264996f1da2d
+    5795e1cd5a11437c.fb1e304e0955f29f.ec380479905da637.1ff65276abbe0678
+    e9234cf1c432425f
+
+VMINSS_128(reg)
+  before
+    c40fdae840a8cda3.b2078717ca2d313c.2201955a60b8eedf.35a2989d4750a461
+    0e06f8c9baabe4ee.9360ec9fc2e3cb09.c909cb59a7239891.d8cdeec8371831c3
+    2154a0fecec7c3ed.d76d8e515d40cf0f.4c82cfb67b212b60.af8782e87ec00886
+    5a45d0f51a89a54b.5bfae91ab84ff679.07b79bdf773ee4f9.979ad1e83555e6d9
+    6dd456b47ae287e6
+  after
+    0000000000000000.0000000000000000.c909cb59a7239891.d8cdeec8371831c3
+    0e06f8c9baabe4ee.9360ec9fc2e3cb09.c909cb59a7239891.d8cdeec8371831c3
+    2154a0fecec7c3ed.d76d8e515d40cf0f.4c82cfb67b212b60.af8782e87ec00886
+    5a45d0f51a89a54b.5bfae91ab84ff679.07b79bdf773ee4f9.979ad1e83555e6d9
+    6dd456b47ae287e6
+VMINSS_128(mem)
+  before
+    0bff8d386973a6d9.16248319377cc8b5.f9d277e4ef1dff74.56f62d3f3807ff08
+    4ee8f2601d1401e0.af3fb5d6c32c65d6.8ec3b69d1db5a42c.958980425a07b738
+    125a0118b2d25125.82e062985a26bb5b.f69720305e23a2cc.20be905477cb4a36
+    3323374d45b855d4.ec5486cb97f504f0.0d1b3488cf74b580.52df59e12edef2ad
+    8939d85518cceb4a
+  after
+    0bff8d386973a6d9.16248319377cc8b5.f9d277e4ef1dff74.56f62d3f3807ff08
+    4ee8f2601d1401e0.af3fb5d6c32c65d6.8ec3b69d1db5a42c.958980425a07b738
+    0000000000000000.0000000000000000.8ec3b69d1db5a42c.958980423807ff08
+    3323374d45b855d4.ec5486cb97f504f0.0d1b3488cf74b580.52df59e12edef2ad
+    8939d85518cceb4a
+
+VMAXSS_128(reg)
+  before
+    2018081dd32173b8.8d0d0fe9f2d3c71a.47e71edc16257d40.b01b6b938bb29975
+    73c7e5a3fb6ac4a4.fde605dad42e6423.f0e52535744362f8.b963423caeec09d7
+    dd946b542b331bba.5d78950a07d5e81a.439997444cdaefc3.05bf366f562bc2d2
+    bcc9979d0006b3a6.8a903c67a8d50f2c.9c5071733b765f4e.70fac2189c7d7f91
+    d6e262249eedfe40
+  after
+    0000000000000000.0000000000000000.f0e52535744362f8.b963423c562bc2d2
+    73c7e5a3fb6ac4a4.fde605dad42e6423.f0e52535744362f8.b963423caeec09d7
+    dd946b542b331bba.5d78950a07d5e81a.439997444cdaefc3.05bf366f562bc2d2
+    bcc9979d0006b3a6.8a903c67a8d50f2c.9c5071733b765f4e.70fac2189c7d7f91
+    d6e262249eedfe40
+VMAXSS_128(mem)
+  before
+    1341937d7888f90c.6ab363e91571c912.60fa75dcd2399484.5757ad30dda4ef45
+    03e4cf1045592d21.459ecda406ff99ad.ba81bc55a20d344f.d0f849e5ccefda53
+    819794ca216c55aa.a8d6d139703d5f21.76f38dbe335eabb8.64804000a7e35e25
+    6b265d9629ce2ed4.eea76916efb6571b.6f1a6403a237b4ed.6d3b8eec070db566
+    487430158bf81cc3
+  after
+    1341937d7888f90c.6ab363e91571c912.60fa75dcd2399484.5757ad30dda4ef45
+    03e4cf1045592d21.459ecda406ff99ad.ba81bc55a20d344f.d0f849e5ccefda53
+    0000000000000000.0000000000000000.ba81bc55a20d344f.d0f849e5ccefda53
+    6b265d9629ce2ed4.eea76916efb6571b.6f1a6403a237b4ed.6d3b8eec070db566
+    487430158bf81cc3
+
+VMAXSS_128(reg)
+  before
+    507920e7cc31cee8.9c5da65f798a74cb.745c92a61ef6bc46.81c4be100aa40c17
+    e3945ccf68430880.f007ec132cace3ba.97434956998acb4f.88bb16d188b26f65
+    5c12df37fbba0638.43f1aa9d5e4136ce.b1a68990fdfdbfe1.60cbe833376c9801
+    173fa68c202204bb.70e75be92c542b32.20d24fc1e5dbd5a9.e4c2b02034de4517
+    f26beb869a1530d4
+  after
+    0000000000000000.0000000000000000.97434956998acb4f.88bb16d1376c9801
+    e3945ccf68430880.f007ec132cace3ba.97434956998acb4f.88bb16d188b26f65
+    5c12df37fbba0638.43f1aa9d5e4136ce.b1a68990fdfdbfe1.60cbe833376c9801
+    173fa68c202204bb.70e75be92c542b32.20d24fc1e5dbd5a9.e4c2b02034de4517
+    f26beb869a1530d4
+VMAXSS_128(mem)
+  before
+    6591134f851c1564.7067ab3b74083db6.55b57ee3b1f17b13.3e139556eeb14953
+    1801a66912ffb2f2.c3d6ecae92f7eed5.cd278c770a25e59d.68b559b9b40a578a
+    e98820bf5dcbc1ab.6bd76453167c53c3.b309029252fb23fb.fb039658d1723bfb
+    b3f0fb3d818bffbb.c6b70f959d22a82d.e5275d1ea680f259.514b489ee4763052
+    c7d76bf686a1733a
+  after
+    6591134f851c1564.7067ab3b74083db6.55b57ee3b1f17b13.3e139556eeb14953
+    1801a66912ffb2f2.c3d6ecae92f7eed5.cd278c770a25e59d.68b559b9b40a578a
+    0000000000000000.0000000000000000.cd278c770a25e59d.68b559b9b40a578a
+    b3f0fb3d818bffbb.c6b70f959d22a82d.e5275d1ea680f259.514b489ee4763052
+    c7d76bf686a1733a
+
+VMAXSS_128(reg)
+  before
+    b9f4fcce557f3f5f.5105b5cf9a4b274d.2fc3eae0c27528be.3e4c180921be0ee5
+    83eef591ed9dd26e.a195c861c518f78e.0245f0a022011023.9945b03de0c332c9
+    821154abe9866613.7d6ab3df1dfd29a9.9a8a1c4159539c07.d4de9fa8fe9b1b31
+    10a91489e6c637fa.c352ef35bf0779cb.55dd6c2f02f60718.c9e363349751854a
+    562077cfc8f12c40
+  after
+    0000000000000000.0000000000000000.0245f0a022011023.9945b03de0c332c9
+    83eef591ed9dd26e.a195c861c518f78e.0245f0a022011023.9945b03de0c332c9
+    821154abe9866613.7d6ab3df1dfd29a9.9a8a1c4159539c07.d4de9fa8fe9b1b31
+    10a91489e6c637fa.c352ef35bf0779cb.55dd6c2f02f60718.c9e363349751854a
+    562077cfc8f12c40
+VMAXSS_128(mem)
+  before
+    55605764ad87cb3e.8a0132957fea83ce.4d17f950c640a51f.8d8cdcd6b9778eff
+    a3717fdf61201f71.4c66a93c507d843b.f9864e1a4fb667d2.a0e166a31b616d6b
+    1d1d6b2c00c7e405.b22574ebf60c77ee.a16b698175757c10.e82a0800c340e005
+    9d319838a789d525.1888920c0d219893.2292c67055889f04.c3b1bd5a4ea1227c
+    8bc3811e570f707a
+  after
+    55605764ad87cb3e.8a0132957fea83ce.4d17f950c640a51f.8d8cdcd6b9778eff
+    a3717fdf61201f71.4c66a93c507d843b.f9864e1a4fb667d2.a0e166a31b616d6b
+    0000000000000000.0000000000000000.f9864e1a4fb667d2.a0e166a31b616d6b
+    9d319838a789d525.1888920c0d219893.2292c67055889f04.c3b1bd5a4ea1227c
+    8bc3811e570f707a
+
+VANDNPS_128(reg)
+  before
+    9eac51b77a1606ac.007981ed7270b0fd.dadcfc0d2f4a22d6.59c6e1d20afb8edb
+    56b7279154431fbd.23c1a2387c8b2eba.536caf59fb135262.20d43795b1da03c1
+    113201188121f85a.e0d57806e1e30e88.e186a85c0b0764e3.548943a46532bae1
+    2967dab79c3ccd2e.14807d41be860a93.df74e282fbb29406.d1af81eb430e7167
+    74136d56667be280
+  after
+    0000000000000000.0000000000000000.a082000400042481.540940204420b820
+    56b7279154431fbd.23c1a2387c8b2eba.536caf59fb135262.20d43795b1da03c1
+    113201188121f85a.e0d57806e1e30e88.e186a85c0b0764e3.548943a46532bae1
+    2967dab79c3ccd2e.14807d41be860a93.df74e282fbb29406.d1af81eb430e7167
+    74136d56667be280
+VANDNPS_128(mem)
+  before
+    178084d2ea84ca58.fba3aedd4221dae6.9b902fd72e7fdf06.a983593768a01d77
+    97c44049ec35e51b.e3327af30e5b5a2e.51cf09b34edb490d.9b000ae7ed5e3ce1
+    d0aa1fa8889beef4.3e6039669c768ab1.130a88c139a504d6.1035effe27772cf1
+    9efd9cdcd8c1a20f.6679e7a289ffa61c.bb0d26ed0ce9cb8a.666e06e8b1782b53
+    f8f94a1228ec73b2
+  after
+    178084d2ea84ca58.fba3aedd4221dae6.9b902fd72e7fdf06.a983593768a01d77
+    97c44049ec35e51b.e3327af30e5b5a2e.51cf09b34edb490d.9b000ae7ed5e3ce1
+    0000000000000000.0000000000000000.8a10264420249602.2083511000a00116
+    9efd9cdcd8c1a20f.6679e7a289ffa61c.bb0d26ed0ce9cb8a.666e06e8b1782b53
+    f8f94a1228ec73b2
+
+VANDNPS_128(reg)
+  before
+    2220b7e6275f41bb.dd8a34cffbb3bd99.b8c880147081e91a.26a36123e2b35b58
+    3f314ad24a5ed019.691d616f0b7dfabe.909b0026ee889158.309ab44fd7106f6a
+    ad76fe412e735e79.1e82a1a7242c16aa.4a3c64469fa1d882.b5bc9b5d080cc5ec
+    c63cce9e6f2d2586.d8846f6363cccd88.42f8a7df1d57fa43.91d7923a91b1170c
+    a0b516d08d0d22f3
+  after
+    0000000000000000.0000000000000000.4a24644011214882.85240b10080c8084
+    3f314ad24a5ed019.691d616f0b7dfabe.909b0026ee889158.309ab44fd7106f6a
+    ad76fe412e735e79.1e82a1a7242c16aa.4a3c64469fa1d882.b5bc9b5d080cc5ec
+    c63cce9e6f2d2586.d8846f6363cccd88.42f8a7df1d57fa43.91d7923a91b1170c
+    a0b516d08d0d22f3
+VANDNPS_128(mem)
+  before
+    bd23a20d182ba1d0.e8cfb957a81561ed.73f1478fe367db84.d41bc55d07363548
+    c6ecb2db4f1851cd.6d7ab8d775b9505a.cb93a617c10bfbcb.5cf1ba2cf6cbc33c
+    96dec2284edfee16.b38bc98a73a42c78.bc3806e718c4eb89.36c582b889a1e0cc
+    09c44fdf308c34d8.144ce6dc3e6332f4.21aae5eb059c64e9.bee51a6d5945caa4
+    509b7db70441bb6f
+  after
+    bd23a20d182ba1d0.e8cfb957a81561ed.73f1478fe367db84.d41bc55d07363548
+    c6ecb2db4f1851cd.6d7ab8d775b9505a.cb93a617c10bfbcb.5cf1ba2cf6cbc33c
+    0000000000000000.0000000000000000.3060418822640004.800a455101343440
+    09c44fdf308c34d8.144ce6dc3e6332f4.21aae5eb059c64e9.bee51a6d5945caa4
+    509b7db70441bb6f
+
+VANDNPS_128(reg)
+  before
+    4834a7022624f0da.fb69d3ec112cde3f.ee0b0d3a71819d7a.d8b5be10a3a12518
+    02fc94bb5a77a590.479acc3b0ecaaa76.9b123a0ea88aabb5.bc270e400edfe842
+    da3f414c3dc8153e.cb23b5b8427351aa.78ae67c6800b9652.a9cb4f6963606a92
+    2c49a9236aa27d90.62d00b4fca319207.e22a92cc948f9afc.7a6cff75be326735
+    0dd799523a619a56
+  after
+    0000000000000000.0000000000000000.60ac45c000011442.01c8412961200290
+    02fc94bb5a77a590.479acc3b0ecaaa76.9b123a0ea88aabb5.bc270e400edfe842
+    da3f414c3dc8153e.cb23b5b8427351aa.78ae67c6800b9652.a9cb4f6963606a92
+    2c49a9236aa27d90.62d00b4fca319207.e22a92cc948f9afc.7a6cff75be326735
+    0dd799523a619a56
+VANDNPS_128(mem)
+  before
+    3dd999ebf3f7c022.5365c8aa7d921931.e76d48ecc11227b8.33d4b68e81a2f560
+    e53c7b2c060295c4.ade19a4f132225ce.38c5ea7c4422cdea.c8f6cf76e2d1e129
+    e3ccbc018f8ed56a.95071b7dc7e1dc12.30a56ce96e6b40c8.fdded9f254a79b04
+    1157d756a9a63b3d.662448a036587baa.aada4a215cfb3b7f.2fd6d16d72b05f9d
+    b82bb153d879689f
+  after
+    3dd999ebf3f7c022.5365c8aa7d921931.e76d48ecc11227b8.33d4b68e81a2f560
+    e53c7b2c060295c4.ade19a4f132225ce.38c5ea7c4422cdea.c8f6cf76e2d1e129
+    0000000000000000.0000000000000000.c728008081102210.3300308801221440
+    1157d756a9a63b3d.662448a036587baa.aada4a215cfb3b7f.2fd6d16d72b05f9d
+    b82bb153d879689f
+
+VORPS_128(reg)
+  before
+    f5297710248df3b7.4da748177056846c.7e841c24fc153d41.842e010e29de7b3a
+    421b1f10ef793c90.718a8b3001aa6c20.38739375b3a36084.986e0c9ef21fbc26
+    fb4fa3c0d7c77ed7.5bca1d8e77afae88.ef3ca9fffa8f1e1f.c465e6bcd2caba6f
+    7c0f018a7805f638.e534781bef7007ce.012d5b2f6b64b4bd.e2e10d54e5eb3040
+    d0acfd52488fdbc6
+  after
+    0000000000000000.0000000000000000.ff7fbbfffbaf7e9f.dc6feebef2dfbe6f
+    421b1f10ef793c90.718a8b3001aa6c20.38739375b3a36084.986e0c9ef21fbc26
+    fb4fa3c0d7c77ed7.5bca1d8e77afae88.ef3ca9fffa8f1e1f.c465e6bcd2caba6f
+    7c0f018a7805f638.e534781bef7007ce.012d5b2f6b64b4bd.e2e10d54e5eb3040
+    d0acfd52488fdbc6
+VORPS_128(mem)
+  before
+    689430a217c1772d.21a834dc6dbfe05e.ed941ac584fa331f.c890a46fa2ae5d0b
+    876324306c8ebfa0.46663820528078f6.4db67e775357eea6.a2b2802d3bfa57b5
+    0ae654e96601714b.479509c4c4d4f9ab.e265211c7796f390.e9dfebd3d4d3dc66
+    cbe93cb71f26465c.8081a3335e47a02a.896e7da20dc0ff08.fb63e1cf06c528cb
+    32895f8c6f5d798f
+  after
+    689430a217c1772d.21a834dc6dbfe05e.ed941ac584fa331f.c890a46fa2ae5d0b
+    876324306c8ebfa0.46663820528078f6.4db67e775357eea6.a2b2802d3bfa57b5
+    0000000000000000.0000000000000000.edb67ef7d7ffffbf.eab2a46fbbfe5fbf
+    cbe93cb71f26465c.8081a3335e47a02a.896e7da20dc0ff08.fb63e1cf06c528cb
+    32895f8c6f5d798f
+
+VORPS_128(reg)
+  before
+    eb9f6076ab25095f.a7375987b309fdfd.4d7603d9bd66a91f.1c9e10f430e3ce3b
+    83efe0f955ac15e6.7a9e25463fb7505a.09bf24217cbc5035.78bf55fefc0a1b55
+    54c6db810a7bd9d1.20e81edfde3bfca0.12a9027938d6d018.799ec9ac8e42a481
+    bb704e7a652090cc.76e2bf3eada2bdfb.c3809a4d8c3f6676.fb06e6eb029622ec
+    dac52aa5731254c1
+  after
+    0000000000000000.0000000000000000.1bbf26797cfed03d.79bfddfefe4abfd5
+    83efe0f955ac15e6.7a9e25463fb7505a.09bf24217cbc5035.78bf55fefc0a1b55
+    54c6db810a7bd9d1.20e81edfde3bfca0.12a9027938d6d018.799ec9ac8e42a481
+    bb704e7a652090cc.76e2bf3eada2bdfb.c3809a4d8c3f6676.fb06e6eb029622ec
+    dac52aa5731254c1
+VORPS_128(mem)
+  before
+    f3a610c7fdc2f42d.1439335002277782.5658854ec7f74f96.7890e60715834ef9
+    2074143ebdb3bf5c.bc6d88707e1bcaa0.9d16eafd49466d9e.8d25e4146e2ec34d
+    3efcb2f5cff07179.0d5848447488c4d1.27e86c364e9cd43e.5d8b8fe134cd021f
+    290a67d74d86c6b1.6445703a81faa2c2.d09986e6f3033fa3.460de3d802eb471b
+    a2f9dd677515ceec
+  after
+    f3a610c7fdc2f42d.1439335002277782.5658854ec7f74f96.7890e60715834ef9
+    2074143ebdb3bf5c.bc6d88707e1bcaa0.9d16eafd49466d9e.8d25e4146e2ec34d
+    0000000000000000.0000000000000000.df5eefffcff76f9e.fdb5e6177fafcffd
+    290a67d74d86c6b1.6445703a81faa2c2.d09986e6f3033fa3.460de3d802eb471b
+    a2f9dd677515ceec
+
+VORPS_128(reg)
+  before
+    cf9978f828d6d23f.bd6aadd25680792f.1d81fabc40fea01f.74f7b4f7538a6cf9
+    283ab0f9b7ba90c0.d6e702d103ea4720.9458e4384e1ffa93.efcc72568a3a156b
+    082881d5bf4e441a.4f4fe2c073d1ecb0.2516291947e9ebcb.1de53df0b521f726
+    cdaee7f8dc1d29fa.066cc78bbf40230a.2c07c6cbc5e9b072.da0e90aff04bcd55
+    0113e78156c25425
+  after
+    0000000000000000.0000000000000000.b55eed394ffffbdb.ffed7ff6bf3bf76f
+    283ab0f9b7ba90c0.d6e702d103ea4720.9458e4384e1ffa93.efcc72568a3a156b
+    082881d5bf4e441a.4f4fe2c073d1ecb0.2516291947e9ebcb.1de53df0b521f726
+    cdaee7f8dc1d29fa.066cc78bbf40230a.2c07c6cbc5e9b072.da0e90aff04bcd55
+    0113e78156c25425
+VORPS_128(mem)
+  before
+    70c0be51039448c1.d11adfcea9b37c0b.d60c2f1e0643a95b.0577b5ba66aa8535
+    02e0920a14cd6557.72b663c3c29d79fa.9bf9956561e73ace.0cb1f452c6b9a6c0
+    9340dd9aa4776610.0acf7244c4655c72.31ff754dee379190.9d027eff80a04ebe
+    ffad1decd0a0091b.f6b105bb4a9a6020.74ec4bc0c93f6ccd.14b74f2e31edbadc
+    cd1a6349742c25c5
+  after
+    70c0be51039448c1.d11adfcea9b37c0b.d60c2f1e0643a95b.0577b5ba66aa8535
+    02e0920a14cd6557.72b663c3c29d79fa.9bf9956561e73ace.0cb1f452c6b9a6c0
+    0000000000000000.0000000000000000.dffdbf7f67e7bbdf.0df7f5fae6bba7f5
+    ffad1decd0a0091b.f6b105bb4a9a6020.74ec4bc0c93f6ccd.14b74f2e31edbadc
+    cd1a6349742c25c5
+
+VSQRTSD_128(reg)
+  before
+    2477b7bee5e8cd26.21f1cdecb35407a2.93a81995f1c5c2b0.3f8b93ac0d0c85b0
+    741c45f721adecab.d7d86a876a9d1fd1.3b00ab3f5474becd.70a7cafbd7a99865
+    1b540b62c407bfff.fc306ea710890bd5.4b05b62410338f24.e20d6b9b4222631a
+    746a056a698381cf.6bc45739c22488da.1f0236afc08c7260.708af2776a84a0f9
+    f8e8dc7b6cda0c2e
+  after
+    0000000000000000.0000000000000000.3b00ab3f5474becd.fff8000000000000
+    741c45f721adecab.d7d86a876a9d1fd1.3b00ab3f5474becd.70a7cafbd7a99865
+    1b540b62c407bfff.fc306ea710890bd5.4b05b62410338f24.e20d6b9b4222631a
+    746a056a698381cf.6bc45739c22488da.1f0236afc08c7260.708af2776a84a0f9
+    f8e8dc7b6cda0c2e
+VSQRTSD_128(mem)
+  before
+    54f3a393633162e6.dbab2d7aacac70c6.025fa02a9b79520b.1444274e010da32f
+    6279c5ab6c93604d.ab6381002a0fc691.9bcec564b8942495.8418866c6e425e3a
+    fc44bdafa30ec08e.42defc677f37bfdb.14dd43d53481bba4.ccc84e75a4b6de2f
+    0022088c23ae3ed6.fa689a1c45b09951.475894682c4dd363.48a07bd53ef560ba
+    54ee09f8d98b2087
+  after
+    54f3a393633162e6.dbab2d7aacac70c6.025fa02a9b79520b.1444274e010da32f
+    6279c5ab6c93604d.ab6381002a0fc691.9bcec564b8942495.8418866c6e425e3a
+    0000000000000000.0000000000000000.9bcec564b8942495.2a196527d561f7bc
+    0022088c23ae3ed6.fa689a1c45b09951.475894682c4dd363.48a07bd53ef560ba
+    54ee09f8d98b2087
+
+VSQRTSD_128(reg)
+  before
+    4cfdf44b10055941.48dd202c087e9851.314c57891b078e9f.120b3609bb0328fe
+    8c1839387fee4994.b242837c6f8a882a.42d8301b9ac7db70.4fc2a4a3fdaf75a3
+    708cd32cc3d22a2d.181dac6973decb8d.88561f3f617cbb71.dc485b240f5e777b
+    54a5be94773e38b8.573a17de30871ca8.6113225f09b36b4e.936ad5780d1beab5
+    51f4908912f3897b
+  after
+    0000000000000000.0000000000000000.42d8301b9ac7db70.fff8000000000000
+    8c1839387fee4994.b242837c6f8a882a.42d8301b9ac7db70.4fc2a4a3fdaf75a3
+    708cd32cc3d22a2d.181dac6973decb8d.88561f3f617cbb71.dc485b240f5e777b
+    54a5be94773e38b8.573a17de30871ca8.6113225f09b36b4e.936ad5780d1beab5
+    51f4908912f3897b
+VSQRTSD_128(mem)
+  before
+    f3b207443af112fa.94aff6db38bdb1e1.4c6440c6c49039a4.275b34e931f627b2
+    5370b696a2213e5d.8cf6786ca2dccf52.d169a40f4806dcb0.377a524772d42b4a
+    4efa1a69658fccd1.98c53eb55025cfba.c313bea4daf4c1f6.eebc77e76ad6b3c1
+    c01badaba0487681.146a4621de27ecc3.ff2f0a719666a6a3.a66c9e34b58afac4
+    bcd8c59aee7c3dfe
+  after
+    f3b207443af112fa.94aff6db38bdb1e1.4c6440c6c49039a4.275b34e931f627b2
+    5370b696a2213e5d.8cf6786ca2dccf52.d169a40f4806dcb0.377a524772d42b4a
+    0000000000000000.0000000000000000.d169a40f4806dcb0.33a4dd2fca16afe4
+    c01badaba0487681.146a4621de27ecc3.ff2f0a719666a6a3.a66c9e34b58afac4
+    bcd8c59aee7c3dfe
+
+VSQRTSD_128(reg)
+  before
+    8d4ae885b136b71c.85a1ed466e57f99a.5c2f8b1ce96b631a.5f890462976845e2
+    730f01619b46a6ca.7a565528ecc91148.cb610a120c7f706a.c0ed2864f9075be0
+    cb730e9b483844b3.7907613c35a97ab6.bf4cbd70e4ee4f60.fe26f361d94ea4c8
+    f1c10a9d5396cd84.5f808e6e6603ef11.933ca2a00c453ba8.f502e046534adbc7
+    814b6b008206bd09
+  after
+    0000000000000000.0000000000000000.cb610a120c7f706a.fff8000000000000
+    730f01619b46a6ca.7a565528ecc91148.cb610a120c7f706a.c0ed2864f9075be0
+    cb730e9b483844b3.7907613c35a97ab6.bf4cbd70e4ee4f60.fe26f361d94ea4c8
+    f1c10a9d5396cd84.5f808e6e6603ef11.933ca2a00c453ba8.f502e046534adbc7
+    814b6b008206bd09
+VSQRTSD_128(mem)
+  before
+    7ece107a828e06b9.4247f1d558ee7fe8.088c57aa9ae42d84.a27db40f200f71ed
+    c8574c9f70ef7104.184fbfadf4cc948c.50f938dcee57ef3c.4a5af02abed82ddc
+    3bb29a5d6734bb15.d0277193c2bb491c.1391adf07d68f365.e620505c7f2cab20
+    b3aa769f8469a019.c61902f25f47da43.2d2232d36324f32a.d11bd21001982666
+    699771b4e0a7db59
+  after
+    7ece107a828e06b9.4247f1d558ee7fe8.088c57aa9ae42d84.a27db40f200f71ed
+    c8574c9f70ef7104.184fbfadf4cc948c.50f938dcee57ef3c.4a5af02abed82ddc
+    0000000000000000.0000000000000000.50f938dcee57ef3c.fff8000000000000
+    b3aa769f8469a019.c61902f25f47da43.2d2232d36324f32a.d11bd21001982666
+    699771b4e0a7db59
+
+VCMPSD_128_0x0(reg)
+  before
+    08e029b3b7e606a6.0c0d5c51e29bdc3c.56726e3566fc82ae.7a76446fbd95acb8
+    0c42f67922e0e2f9.22a5c85f9ed52aa9.dc7db1ca74677e08.d65a5eb2a7cad93a
+    cf09d572be21acfd.d14037b5d323488c.b488c81c24130afe.1c99fc863ccc37dd
+    af80c10a2736a05f.f5a824409e92ef13.3addad97138c613c.2a019ad998a982cd
+    db5db496d86d7635
+  after
+    0000000000000000.0000000000000000.dc7db1ca74677e08.0000000000000000
+    0c42f67922e0e2f9.22a5c85f9ed52aa9.dc7db1ca74677e08.d65a5eb2a7cad93a
+    cf09d572be21acfd.d14037b5d323488c.b488c81c24130afe.1c99fc863ccc37dd
+    af80c10a2736a05f.f5a824409e92ef13.3addad97138c613c.2a019ad998a982cd
+    db5db496d86d7635
+VCMPSD_128_0x0(mem)
+  before
+    0b78c7a91722ce41.06f4b6adf7aafacb.69aa0bea1a2dde68.caca5ea8dc5fc16d
+    961f4efe72d6481f.32b1b0c8cd09f5ec.0b1168a06400cfb7.c099d6b91c17643e
+    571ec58105959df9.8d03abc543e0ce6e.b6abb84f97187f2d.789712376e41865a
+    2c41a91eea6a8cfb.7436a412f5bac1ff.464276e2cf80aaf6.4d100c8f6e68656e
+    9d4fc22bb9183b26
+  after
+    0b78c7a91722ce41.06f4b6adf7aafacb.69aa0bea1a2dde68.caca5ea8dc5fc16d
+    961f4efe72d6481f.32b1b0c8cd09f5ec.0b1168a06400cfb7.c099d6b91c17643e
+    0000000000000000.0000000000000000.0b1168a06400cfb7.0000000000000000
+    2c41a91eea6a8cfb.7436a412f5bac1ff.464276e2cf80aaf6.4d100c8f6e68656e
+    9d4fc22bb9183b26
+
+VCMPSD_128_0x0(reg)
+  before
+    c3a22f79ebdd442d.f05474c14061cf52.4496961980230949.96a41e4429440b3e
+    1b534fe49f44be30.7e22a4572086232a.576e7d487fa8e4f8.849b2c63c1715f2f
+    00af1fd871d8e3da.b478b4caa9e644ae.0a0b550a8fd48bb9.eaf41c2ab21262f8
+    d00399c1fe26f0d8.6c232008f48ced0b.b9b91bcb4b333d38.a67a6b851833d0c3
+    92fb946010e164bd
+  after
+    0000000000000000.0000000000000000.576e7d487fa8e4f8.0000000000000000
+    1b534fe49f44be30.7e22a4572086232a.576e7d487fa8e4f8.849b2c63c1715f2f
+    00af1fd871d8e3da.b478b4caa9e644ae.0a0b550a8fd48bb9.eaf41c2ab21262f8
+    d00399c1fe26f0d8.6c232008f48ced0b.b9b91bcb4b333d38.a67a6b851833d0c3
+    92fb946010e164bd
+VCMPSD_128_0x0(mem)
+  before
+    8c4213a7b527db11.e698bb0be2b921d5.84ed65fc1f84db6d.c0c4caf74f523420
+    6e1a64472411f1ec.9dbd8022b71db17e.d6a3fd9146dbcaff.7b785efa38bcad1e
+    1650032a79ac6179.53bde5721cdfde7f.401066b5849c76ee.4721d340a2fde4dd
+    5eb06d3ece03e8e5.62e3e468aa8ae183.9c021b53f5d49a65.7e0a253528a2150a
+    7d81514666367b51
+  after
+    8c4213a7b527db11.e698bb0be2b921d5.84ed65fc1f84db6d.c0c4caf74f523420
+    6e1a64472411f1ec.9dbd8022b71db17e.d6a3fd9146dbcaff.7b785efa38bcad1e
+    0000000000000000.0000000000000000.d6a3fd9146dbcaff.0000000000000000
+    5eb06d3ece03e8e5.62e3e468aa8ae183.9c021b53f5d49a65.7e0a253528a2150a
+    7d81514666367b51
+
+VCMPSD_128_0x0(reg)
+  before
+    a0d052ddf946535d.24061d6d4123425c.287c7b6e00aaf937.c8439957b68df391
+    434424687d5cd9db.421e8fa5ee172b09.ffd5a5f1b7cb6047.9ea15aade3d53d9d
+    c129c3528d074876.95c340d1f0eb5e19.45385e5e6e7a535e.fbe6dc4197b833b6
+    78cb2c06c5d0dddb.fac3aadc64ab98b8.54f1a320be430e29.bcdf9a00ee419308
+    bb5810d4057c16be
+  after
+    0000000000000000.0000000000000000.ffd5a5f1b7cb6047.0000000000000000
+    434424687d5cd9db.421e8fa5ee172b09.ffd5a5f1b7cb6047.9ea15aade3d53d9d
+    c129c3528d074876.95c340d1f0eb5e19.45385e5e6e7a535e.fbe6dc4197b833b6
+    78cb2c06c5d0dddb.fac3aadc64ab98b8.54f1a320be430e29.bcdf9a00ee419308
+    bb5810d4057c16be
+VCMPSD_128_0x0(mem)
+  before
+    d51cbaabf7767b05.c37559f2c245d4b6.4be84bb465649511.8a4e6ea345b0cc53
+    e6f9156fe1397c08.fe7548811ff168b2.65ff9e4410211050.4199bd539f4fcb89
+    cab99c0eded4d6f4.8515f51f7961d77b.24d41f7980efc7a3.d6208b9c67ac4476
+    5e29cb730b5045f5.b4a25a386b1f5abf.64334b3dd1d97333.a62dd4ea395176c7
+    0b0d95a9b2cc9b28
+  after
+    d51cbaabf7767b05.c37559f2c245d4b6.4be84bb465649511.8a4e6ea345b0cc53
+    e6f9156fe1397c08.fe7548811ff168b2.65ff9e4410211050.4199bd539f4fcb89
+    0000000000000000.0000000000000000.65ff9e4410211050.0000000000000000
+    5e29cb730b5045f5.b4a25a386b1f5abf.64334b3dd1d97333.a62dd4ea395176c7
+    0b0d95a9b2cc9b28
+
+VCMPSD_128_0x1(reg)
+  before
+    620cc9456ea9f044.7c151e8a83bb8536.e668753992ba3028.02e79c7d20ebd32f
+    07766c2a0872b1c8.0149123f632051e4.79b3408c89bb9462.d8be90268932a1c1
+    56967ac51cb51a5f.c991227ec68c662a.c8ceb99eedb0c11a.c382a22227b99a15
+    acbaef8047fe66b6.b0b9ca33c90a7f35.2e07dcdc5924f4fc.9f004f5f168c7a59
+    480411c773b7fdb6
+  after
+    0000000000000000.0000000000000000.79b3408c89bb9462.ffffffffffffffff
+    07766c2a0872b1c8.0149123f632051e4.79b3408c89bb9462.d8be90268932a1c1
+    56967ac51cb51a5f.c991227ec68c662a.c8ceb99eedb0c11a.c382a22227b99a15
+    acbaef8047fe66b6.b0b9ca33c90a7f35.2e07dcdc5924f4fc.9f004f5f168c7a59
+    480411c773b7fdb6
+VCMPSD_128_0x1(mem)
+  before
+    9a5a66485947de5b.632cc8c924d8d279.928c864a87a65a31.09a8a3b06aa468b3
+    71cec9cde548da72.d839ff0b50cf9953.4bd7d2af1d6db149.b4fe0c88bbbb5aec
+    a92bb64232c4ad27.672d93b2666ff9f1.b7662b4fa66a41aa.8a5512cfe8f50653
+    1d3eaa935dc912a7.6c547d2a03452cfe.b2050b143ea9c57f.e9f9b1f18edea893
+    2b36e55a49037b59
+  after
+    9a5a66485947de5b.632cc8c924d8d279.928c864a87a65a31.09a8a3b06aa468b3
+    71cec9cde548da72.d839ff0b50cf9953.4bd7d2af1d6db149.b4fe0c88bbbb5aec
+    0000000000000000.0000000000000000.4bd7d2af1d6db149.ffffffffffffffff
+    1d3eaa935dc912a7.6c547d2a03452cfe.b2050b143ea9c57f.e9f9b1f18edea893
+    2b36e55a49037b59
+
+VCMPSD_128_0x1(reg)
+  before
+    ae57ab76b4f0bd50.abd41fac8163c61e.43f9badfc2dc6f27.1880f1ec0237faf5
+    ccaafeb16b2fa725.2eb7937abb9c85b8.486a473d40c0fd18.c4a356c20d1f9c38
+    e379da770b4e7883.82b481e726820a9f.d7f11fb0187e137c.9439b7827c6d6773
+    4d113b352fd96a17.839666e0de211302.4bdb3ea4e7a1ed00.630f91176b2e16d3
+    0df25f6ff56d6783
+  after
+    0000000000000000.0000000000000000.486a473d40c0fd18.ffffffffffffffff
+    ccaafeb16b2fa725.2eb7937abb9c85b8.486a473d40c0fd18.c4a356c20d1f9c38
+    e379da770b4e7883.82b481e726820a9f.d7f11fb0187e137c.9439b7827c6d6773
+    4d113b352fd96a17.839666e0de211302.4bdb3ea4e7a1ed00.630f91176b2e16d3
+    0df25f6ff56d6783
+VCMPSD_128_0x1(mem)
+  before
+    6dac9d76363613b0.67be1d55745aba8d.0c2bbc5200835a0b.0274a08648b6c74f
+    6109c7164b96d985.8ecc7d45755fa490.fb3d0128a8b69be7.570842c0d748dc16
+    c4d75a3c4f987330.1c86566fcf7464cd.2b9ab04df1c694c1.a6e31fc031e36901
+    71e1d1d45f489eda.6e3aa4411d2335ef.770c45aff7bdffc6.4b5033f0f213aabb
+    a19d7abeb565dbf0
+  after
+    6dac9d76363613b0.67be1d55745aba8d.0c2bbc5200835a0b.0274a08648b6c74f
+    6109c7164b96d985.8ecc7d45755fa490.fb3d0128a8b69be7.570842c0d748dc16
+    0000000000000000.0000000000000000.fb3d0128a8b69be7.0000000000000000
+    71e1d1d45f489eda.6e3aa4411d2335ef.770c45aff7bdffc6.4b5033f0f213aabb
+    a19d7abeb565dbf0
+
+VCMPSD_128_0x1(reg)
+  before
+    0614f0951664374e.46f2a8cb96b316b2.e0326326fcfa54a3.bd603c39d7a99922
+    d50292e1b29dfb7f.1dd75b0b10e496e2.cebb908a0785fc95.d86112d7ad961d00
+    69b35b0e249b632f.d45c6682eae7db96.952126d9db4e6b70.a3dd4275948f488c
+    2072478809eaaa0b.454d461b40c9a1fb.8fb0217f13e3dbe1.fc9f48ffa8a0d6f4
+    bd72a06206d58362
+  after
+    0000000000000000.0000000000000000.cebb908a0785fc95.ffffffffffffffff
+    d50292e1b29dfb7f.1dd75b0b10e496e2.cebb908a0785fc95.d86112d7ad961d00
+    69b35b0e249b632f.d45c6682eae7db96.952126d9db4e6b70.a3dd4275948f488c
+    2072478809eaaa0b.454d461b40c9a1fb.8fb0217f13e3dbe1.fc9f48ffa8a0d6f4
+    bd72a06206d58362
+VCMPSD_128_0x1(mem)
+  before
+    c323c788c93b0b02.558d52bcfd170dbf.4e7676c22d95a43d.19b47de84bd08894
+    eb7e375f0edd2901.634e79149aacc8f6.c9a37263ce589f87.8f78368020a0b034
+    0f4f6ed1f0c89a8b.a803b7fd7f38175d.949fb6ea3e1c4f06.4d4949b42edf8d6d
+    0d62e8cc8c0619cb.7ef608e4454435a0.8937bf4399f070e5.af74b1ee10195cec
+    11436a9c62db595d
+  after
+    c323c788c93b0b02.558d52bcfd170dbf.4e7676c22d95a43d.19b47de84bd08894
+    eb7e375f0edd2901.634e79149aacc8f6.c9a37263ce589f87.8f78368020a0b034
+    0000000000000000.0000000000000000.c9a37263ce589f87.ffffffffffffffff
+    0d62e8cc8c0619cb.7ef608e4454435a0.8937bf4399f070e5.af74b1ee10195cec
+    11436a9c62db595d
+
+VCMPSD_128_0x2(reg)
+  before
+    cf037028c1b0bf6b.bf821f3bfda564ee.437468338a5e5f6a.8537085afcddbd51
+    45ffc000c924cbc3.027d910a60b1351f.51c9d358ea12d167.656b0d1b82f1f476
+    cf85558f14c4b911.b21db824d035488b.054046be00eac645.039f4a734837ce7f
+    c8df2a41411bc500.ac2f1278693d5b5e.bc27bcd169747bae.3c9f3b4c6abc0a99
+    ec365d94028b62f0
+  after
+    0000000000000000.0000000000000000.51c9d358ea12d167.0000000000000000
+    45ffc000c924cbc3.027d910a60b1351f.51c9d358ea12d167.656b0d1b82f1f476
+    cf85558f14c4b911.b21db824d035488b.054046be00eac645.039f4a734837ce7f
+    c8df2a41411bc500.ac2f1278693d5b5e.bc27bcd169747bae.3c9f3b4c6abc0a99
+    ec365d94028b62f0
+VCMPSD_128_0x2(mem)
+  before
+    f0322b362fb093af.8e5b3e82e9b62a3d.ca7f1bef48d628c3.d0c831fdc03c2c4e
+    225d211d0a375902.7c438abeab202573.e9d94d76890a6ce7.9e70a1aea1cc15d2
+    5f84bb37b22d7016.eee40c6120e5f14f.e50826f947e8e3f5.836b0850a9b271e6
+    8373766f409d9317.3f89bfd8e791cc7d.9ada21659e79481a.d905634f747a7d35
+    fd8aad189dae756c
+  after
+    f0322b362fb093af.8e5b3e82e9b62a3d.ca7f1bef48d628c3.d0c831fdc03c2c4e
+    225d211d0a375902.7c438abeab202573.e9d94d76890a6ce7.9e70a1aea1cc15d2
+    0000000000000000.0000000000000000.e9d94d76890a6ce7.0000000000000000
+    8373766f409d9317.3f89bfd8e791cc7d.9ada21659e79481a.d905634f747a7d35
+    fd8aad189dae756c
+
+VCMPSD_128_0x2(reg)
+  before
+    4b45e215c0dc9436.6af6ccb1d2947f31.cd809f8d99b1f0a8.e419baa4abcb5882
+    1f84ffb47a901840.f0d83be9841def8f.f314a8eed4d19a7d.9f926da48ae9cf58
+    d591fe5f66543a36.f1e63f047144a15d.0c90d665347b05a7.a711b74f55e068c9
+    c9b9dd8421b639c3.49ed52ecb6164fc8.76412660543d6fd3.d86212932bbbe000
+    0e51fc5b2686f32a
+  after
+    0000000000000000.0000000000000000.f314a8eed4d19a7d.0000000000000000
+    1f84ffb47a901840.f0d83be9841def8f.f314a8eed4d19a7d.9f926da48ae9cf58
+    d591fe5f66543a36.f1e63f047144a15d.0c90d665347b05a7.a711b74f55e068c9
+    c9b9dd8421b639c3.49ed52ecb6164fc8.76412660543d6fd3.d86212932bbbe000
+    0e51fc5b2686f32a
+VCMPSD_128_0x2(mem)
+  before
+    25a9f193624e5d73.5848978e46424f94.d4b7f28e6e9eb6fc.8c73934ad1a212ac
+    f9376b27fc1ed906.dc8a28e97283ba54.6e1199d7b5e89125.a972198f46372adf
+    66c8e8030f022510.b2ca8d014005b3b0.f3c7c5b2a8019d6d.2b8ab49b4f87f518
+    4826e314b707fabc.3556c1424d547954.3ea4f20a63f49603.6c0661da891ead02
+    c9341bb88f898f4a
+  after
+    25a9f193624e5d73.5848978e46424f94.d4b7f28e6e9eb6fc.8c73934ad1a212ac
+    f9376b27fc1ed906.dc8a28e97283ba54.6e1199d7b5e89125.a972198f46372adf
+    0000000000000000.0000000000000000.6e1199d7b5e89125.ffffffffffffffff
+    4826e314b707fabc.3556c1424d547954.3ea4f20a63f49603.6c0661da891ead02
+    c9341bb88f898f4a
+
+VCMPSD_128_0x2(reg)
+  before
+    9f5edea1fe53d69c.7a1ed84411381737.c378bf1834fd46eb.2d769acd00cd3811
+    48d1a6017208c0a3.da7b438139a136ad.b77d86f0928b5722.9b073be69e993ec4
+    22d970458535870b.430ba1b54a4f1449.6db10f34028be8a4.6424504157636647
+    87c136d7d6656782.91986cce614d6d38.416057522087341e.639955ca473769c7
+    7632c66d8b220670
+  after
+    0000000000000000.0000000000000000.b77d86f0928b5722.ffffffffffffffff
+    48d1a6017208c0a3.da7b438139a136ad.b77d86f0928b5722.9b073be69e993ec4
+    22d970458535870b.430ba1b54a4f1449.6db10f34028be8a4.6424504157636647
+    87c136d7d6656782.91986cce614d6d38.416057522087341e.639955ca473769c7
+    7632c66d8b220670
+VCMPSD_128_0x2(mem)
+  before
+    78bb20173e2ff76d.d4d7f625fe249eb1.9ff022b699a7fca5.8fd65bb4890e783c
+    44ffdeb27d6af9eb.6566ab9a9cff6647.4bdd3e5b0e6a7ebd.b25e16c8d9a9f0a9
+    b8cc7c2b63e0c815.97b952a24981fcee.6f2c3da8dda1afab.084685f9abe6d811
+    aeec766f0d9c1f18.c41de5a9a4369c53.e9a8998922584b9c.ecd8a2b29b506b22
+    ba616b614674e686
+  after
+    78bb20173e2ff76d.d4d7f625fe249eb1.9ff022b699a7fca5.8fd65bb4890e783c
+    44ffdeb27d6af9eb.6566ab9a9cff6647.4bdd3e5b0e6a7ebd.b25e16c8d9a9f0a9
+    0000000000000000.0000000000000000.4bdd3e5b0e6a7ebd.ffffffffffffffff
+    aeec766f0d9c1f18.c41de5a9a4369c53.e9a8998922584b9c.ecd8a2b29b506b22
+    ba616b614674e686
+
+VCMPSD_128_0x3(reg)
+  before
+    cd2dda7147dd84e9.042c486996aabb1f.49de621b46ab8121.941fd0eaf79c0dbc
+    8388ee4f3b1783f8.94586f041a175857.8248c464cd6be805.4b5c5db87b78b236
+    36bda065bdae1d5f.3c3b662eb6eeb2ec.cba607f0d5020daa.ec2abdddc8f9f637
+    441aed206a2f8fc9.d6a3a9d2863c8409.8046282bf9fd2bbd.51566a46fa2a94eb
+    57ace2e02e17497d
+  after
+    0000000000000000.0000000000000000.8248c464cd6be805.0000000000000000
+    8388ee4f3b1783f8.94586f041a175857.8248c464cd6be805.4b5c5db87b78b236
+    36bda065bdae1d5f.3c3b662eb6eeb2ec.cba607f0d5020daa.ec2abdddc8f9f637
+    441aed206a2f8fc9.d6a3a9d2863c8409.8046282bf9fd2bbd.51566a46fa2a94eb
+    57ace2e02e17497d
+VCMPSD_128_0x3(mem)
+  before
+    dbf8a0957fccd11a.07e9d2eddd2614e3.405bb4dca50c8bdb.fd722182d5e77fea
+    b70620530a56e8ed.dd774a36b31dea59.542e04382f6a838e.9e77f05f064c45dc
+    c8a1de05eac04923.2010516987a24bd6.efe914d34162274d.bfa2903028b9b940
+    eb9757973b17b1e7.2e00e4f0f6407306.ee586097f7013444.bc3cfd5fd6b916c1
+    f194345aacd9990c
+  after
+    dbf8a0957fccd11a.07e9d2eddd2614e3.405bb4dca50c8bdb.fd722182d5e77fea
+    b70620530a56e8ed.dd774a36b31dea59.542e04382f6a838e.9e77f05f064c45dc
+    0000000000000000.0000000000000000.542e04382f6a838e.0000000000000000
+    eb9757973b17b1e7.2e00e4f0f6407306.ee586097f7013444.bc3cfd5fd6b916c1
+    f194345aacd9990c
+
+VCMPSD_128_0x3(reg)
+  before
+    baf5308c47a47ecc.fab206f51a66dc66.6193fd399b84a097.2b4764716b5266a1
+    73aaed6142a601af.d2bf670ba3b985cc.17149aaf13f90c33.83819c4ebc62798d
+    770067453a6b5d5e.4f8af6c5f11c6a44.aad0b6bef92bf486.d2d48518043c2837
+    24439aa4ca80cf88.4edf2f0f219c44fb.77144ed2e9a7943d.f50a9abd5fec30c9
+    c6f05728ea7e4d6f
+  after
+    0000000000000000.0000000000000000.17149aaf13f90c33.0000000000000000
+    73aaed6142a601af.d2bf670ba3b985cc.17149aaf13f90c33.83819c4ebc62798d
+    770067453a6b5d5e.4f8af6c5f11c6a44.aad0b6bef92bf486.d2d48518043c2837
+    24439aa4ca80cf88.4edf2f0f219c44fb.77144ed2e9a7943d.f50a9abd5fec30c9
+    c6f05728ea7e4d6f
+VCMPSD_128_0x3(mem)
+  before
+    22523845c0ff3b57.d5bf83ea8f7093d7.a9898fd54e44d21c.da2a5c5780f82704
+    e5fcba00fd7bb5aa.e6c01d8424c8e4f7.3d5691049421ced4.305edeba5aaaea86
+    ebba5745bffc7897.b29264dc2613ff95.e610b186103ef54f.d3fecf65124a1970
+    10588d001f903f48.9780545f30dd205d.80846b49dda703b8.20552bc64463ef6d
+    73aeee478d82a92a
+  after
+    22523845c0ff3b57.d5bf83ea8f7093d7.a9898fd54e44d21c.da2a5c5780f82704
+    e5fcba00fd7bb5aa.e6c01d8424c8e4f7.3d5691049421ced4.305edeba5aaaea86
+    0000000000000000.0000000000000000.3d5691049421ced4.0000000000000000
+    10588d001f903f48.9780545f30dd205d.80846b49dda703b8.20552bc64463ef6d
+    73aeee478d82a92a
+
+VCMPSD_128_0x3(reg)
+  before
+    2856155688318353.30a1d71d3b42c8e9.f0d8e97adeb383fa.e77e3c381869b43c
+    9b999b5ed2feb993.2762b2892f1fcda8.18e42098ce1f6319.f7ca9f3edc8fc306
+    28c37cca06758697.d167982e16320bae.6df1f42599b0fd66.8c3410494625ed43
+    2b20b408c121270a.0a7c07fa0c873d2a.494b618cddef8d8c.82870b447138ee1f
+    b5900c1b7ad281c5
+  after
+    0000000000000000.0000000000000000.18e42098ce1f6319.0000000000000000
+    9b999b5ed2feb993.2762b2892f1fcda8.18e42098ce1f6319.f7ca9f3edc8fc306
+    28c37cca06758697.d167982e16320bae.6df1f42599b0fd66.8c3410494625ed43
+    2b20b408c121270a.0a7c07fa0c873d2a.494b618cddef8d8c.82870b447138ee1f
+    b5900c1b7ad281c5
+VCMPSD_128_0x3(mem)
+  before
+    001c90bb7c026362.00fc3f839e8ed899.ae6d7ad72e2b2046.0a3d643b356a4e37
+    41f5120e94d15021.03a21aa73a48d5f0.98066eb39829702e.0a15f79d3eac7d15
+    53e80e01dd4d032f.906040e130dc59ba.a6125d79658de90f.a71d181f944256d0
+    12c0008174823ab7.0380ad9b1dd5a1a4.b35ec515b1644615.3ba3c22bd2b71514
+    24f1f12e9497f58e
+  after
+    001c90bb7c026362.00fc3f839e8ed899.ae6d7ad72e2b2046.0a3d643b356a4e37
+    41f5120e94d15021.03a21aa73a48d5f0.98066eb39829702e.0a15f79d3eac7d15
+    0000000000000000.0000000000000000.98066eb39829702e.0000000000000000
+    12c0008174823ab7.0380ad9b1dd5a1a4.b35ec515b1644615.3ba3c22bd2b71514
+    24f1f12e9497f58e
+
+VCMPSD_128_0x4(reg)
+  before
+    bc53a295776f33ea.594b6578747bafe7.b84f5e429cc0e859.9bb7217399b9446b
+    6017cfca16ca0bd3.0653b8d4f9441ee8.0b194d4349276c86.39e7ed7f38989f3e
+    6c88763b0e34b8f6.f4a6758020e945e9.58297808c19967d7.6bbaa525ab0e13ba
+    3df19253fa3a77fe.fe0e18670577de14.facddaffa09f16f7.0cfec6510d265b0a
+    f77ecaf07bec345b
+  after
+    0000000000000000.0000000000000000.0b194d4349276c86.ffffffffffffffff
+    6017cfca16ca0bd3.0653b8d4f9441ee8.0b194d4349276c86.39e7ed7f38989f3e
+    6c88763b0e34b8f6.f4a6758020e945e9.58297808c19967d7.6bbaa525ab0e13ba
+    3df19253fa3a77fe.fe0e18670577de14.facddaffa09f16f7.0cfec6510d265b0a
+    f77ecaf07bec345b
+VCMPSD_128_0x4(mem)
+  before
+    0a052fec106d5ad8.2da0207d77678498.02581d77c3f9a695.4f4f6f9381c7b492
+    20607133e9b488ae.99df1a2720471b70.db4f019b767b5899.b2fc3430009c7f56
+    145b0aaf21ce7b08.ddfb7ebc92677731.64c13fbf3b0ab14c.7e202342baabb0ed
+    c4c2784ed4c5ef14.554047a86852d588.7b7953d02db16dd9.11073a354a7f8603
+    c6fd74754da43c45
+  after
+    0a052fec106d5ad8.2da0207d77678498.02581d77c3f9a695.4f4f6f9381c7b492
+    20607133e9b488ae.99df1a2720471b70.db4f019b767b5899.b2fc3430009c7f56
+    0000000000000000.0000000000000000.db4f019b767b5899.ffffffffffffffff
+    c4c2784ed4c5ef14.554047a86852d588.7b7953d02db16dd9.11073a354a7f8603
+    c6fd74754da43c45
+
+VCMPSD_128_0x4(reg)
+  before
+    f84ece6e5ea60d5f.0a6136fb1fa8a0fb.5df971583e957120.fa42b9b8697c486d
+    0545428d1a1236fc.c304c0a21e8049eb.5174f936b1ba86a6.bfe9ee640b78fe33
+    472fce3c1c74f2c9.cc76922fec5ba710.8efbd9af5d4f52c6.a43a6cc12db04a59
+    1c586de801567e72.ff84298ea5447696.6ddb0f30dde00f2b.8601b1b9ee31e908
+    420a383a6706966e
+  after
+    0000000000000000.0000000000000000.5174f936b1ba86a6.ffffffffffffffff
+    0545428d1a1236fc.c304c0a21e8049eb.5174f936b1ba86a6.bfe9ee640b78fe33
+    472fce3c1c74f2c9.cc76922fec5ba710.8efbd9af5d4f52c6.a43a6cc12db04a59
+    1c586de801567e72.ff84298ea5447696.6ddb0f30dde00f2b.8601b1b9ee31e908
+    420a383a6706966e
+VCMPSD_128_0x4(mem)
+  before
+    b2207e2fb63b0fb7.de0c1bfe644616a2.39faffab664771a8.4d609623cdf8f982
+    b311fd84f7dc0e0f.eb97d4e9e2cff605.57a492724b715572.89d66bf6ca234e76
+    22a7332545f64fa1.9d459515167e5a49.334e5ed06fcdde22.7d8988146fed48b4
+    d9af9bfebd949099.516159ee9dde7d18.aac4ddafee68c8e2.85c4ebe959e323e8
+    fdd58fe124901dbd
+  after
+    b2207e2fb63b0fb7.de0c1bfe644616a2.39faffab664771a8.4d609623cdf8f982
+    b311fd84f7dc0e0f.eb97d4e9e2cff605.57a492724b715572.89d66bf6ca234e76
+    0000000000000000.0000000000000000.57a492724b715572.ffffffffffffffff
+    d9af9bfebd949099.516159ee9dde7d18.aac4ddafee68c8e2.85c4ebe959e323e8
+    fdd58fe124901dbd
+
+VCMPSD_128_0x4(reg)
+  before
+    410670686a8170e0.b5f5b1fb7ac38b25.64391ce0127b9c1e.98d18dfde54dcede
+    ada48aeaca4159fc.9245f208988efd6e.3017da5711e2f208.da43e9a56f88ad43
+    9cfbdad3dd5c14be.4c6ad8113401a2a3.124890bf379ebd82.4ae46d92a926213d
+    6c575b8f425edcd2.bf32e1036a2935ee.66183884203b3737.c58195b2ae31e6f7
+    27e6ddf09bb8b79e
+  after
+    0000000000000000.0000000000000000.3017da5711e2f208.ffffffffffffffff
+    ada48aeaca4159fc.9245f208988efd6e.3017da5711e2f208.da43e9a56f88ad43
+    9cfbdad3dd5c14be.4c6ad8113401a2a3.124890bf379ebd82.4ae46d92a926213d
+    6c575b8f425edcd2.bf32e1036a2935ee.66183884203b3737.c58195b2ae31e6f7
+    27e6ddf09bb8b79e
+VCMPSD_128_0x4(mem)
+  before
+    4cdfc2388bc4515d.7804098b92d4eee3.c76789c85510737c.89d2d01267469cd4
+    1037bf779a636f61.1b4de0316b49869d.40d64a4e11c51878.d5c454d6a84a2a04
+    4fbc5097e6a0cfd6.b37fddef694ae0ae.064ba180bb51df0e.a738be3a80d31b74
+    e538f28588882be7.9be7fa30276237c0.f5920b496ec2856c.5b7c0cac8a6eacd0
+    4dda389763a619c3
+  after
+    4cdfc2388bc4515d.7804098b92d4eee3.c76789c85510737c.89d2d01267469cd4
+    1037bf779a636f61.1b4de0316b49869d.40d64a4e11c51878.d5c454d6a84a2a04
+    0000000000000000.0000000000000000.40d64a4e11c51878.ffffffffffffffff
+    e538f28588882be7.9be7fa30276237c0.f5920b496ec2856c.5b7c0cac8a6eacd0
+    4dda389763a619c3
+
+VCMPSD_128_0x5(reg)
+  before
+    d99f4067a6089dfa.ae781f2e9e2640c1.2ecf355f411dc87f.e97703974724c6bc
+    5b162088f01e7520.8648557c4486c98f.ca8389ea5408cf98.bec5055561815e2a
+    2f8dd266dc77dde2.49740f5d95b5837e.c951f33cfcae87b7.50498e6fd9e708e4
+    b14e546d079c10ec.d3c7c9bbadbe2ab9.89846dc1d49b2d87.7bd018d2ca618113
+    1b24216851fc85e6
+  after
+    0000000000000000.0000000000000000.ca8389ea5408cf98.0000000000000000
+    5b162088f01e7520.8648557c4486c98f.ca8389ea5408cf98.bec5055561815e2a
+    2f8dd266dc77dde2.49740f5d95b5837e.c951f33cfcae87b7.50498e6fd9e708e4
+    b14e546d079c10ec.d3c7c9bbadbe2ab9.89846dc1d49b2d87.7bd018d2ca618113
+    1b24216851fc85e6
+VCMPSD_128_0x5(mem)
+  before
+    0c12241e89c3d087.3da7a1090c1b4ce9.ff0f0084a9ad7a6e.6467f5e5785bfdb5
+    29659ee18ec21d22.2fe2b5a6887fca86.ab162fa3a48f2ec6.b7478615857b33ed
+    50eb099b7e0629e4.e34c8cb11654c96e.b2a9d104bb6f03f0.df701cbb96870ada
+    5c6ee33a729ab0f9.b53123945227844e.f09465930959b516.362eb4454809bf28
+    19cd481d378f8e85
+  after
+    0c12241e89c3d087.3da7a1090c1b4ce9.ff0f0084a9ad7a6e.6467f5e5785bfdb5
+    29659ee18ec21d22.2fe2b5a6887fca86.ab162fa3a48f2ec6.b7478615857b33ed
+    0000000000000000.0000000000000000.ab162fa3a48f2ec6.0000000000000000
+    5c6ee33a729ab0f9.b53123945227844e.f09465930959b516.362eb4454809bf28
+    19cd481d378f8e85
+
+VCMPSD_128_0x5(reg)
+  before
+    e599d6b1fda5b29a.28bca7a9888b6d8c.00dc75bdd98336d1.40a3643cab5a0064
+    f4dd596b39d56916.929fd1d3dce31dca.229b7e9647f51ba5.80a24cecbc7d9f07
+    a3e6ceb984adeca3.75e4dea688b07cdf.76b83a8d37087173.8a5c978d59cf4f2b
+    4e002f067cb97aed.ac56480dabfe46f6.5881a50d454872ea.3c9fc30d9d5accfb
+    71354c56a52cd1a4
+  after
+    0000000000000000.0000000000000000.229b7e9647f51ba5.ffffffffffffffff
+    f4dd596b39d56916.929fd1d3dce31dca.229b7e9647f51ba5.80a24cecbc7d9f07
+    a3e6ceb984adeca3.75e4dea688b07cdf.76b83a8d37087173.8a5c978d59cf4f2b
+    4e002f067cb97aed.ac56480dabfe46f6.5881a50d454872ea.3c9fc30d9d5accfb
+    71354c56a52cd1a4
+VCMPSD_128_0x5(mem)
+  before
+    04ebac568c511b52.52777abebd844da2.15c38df55fd8363c.2340bc820e425bb4
+    d38d61f86fd46630.0997aa4de29aa26b.8af62848c04a09dc.35427a582d80687d
+    b8e7e62769c16e6a.d0acbb208887b5f7.e9ba95f3eb607b03.e8d2dbfb3f91d4f2
+    90c4b7d19624ee2e.0301aaa14ad8c2f0.0cdc51e2fb2747dc.9a3edbd8dffedcbf
+    a6d07759aa55bc8f
+  after
+    04ebac568c511b52.52777abebd844da2.15c38df55fd8363c.2340bc820e425bb4
+    d38d61f86fd46630.0997aa4de29aa26b.8af62848c04a09dc.35427a582d80687d
+    0000000000000000.0000000000000000.8af62848c04a09dc.ffffffffffffffff
+    90c4b7d19624ee2e.0301aaa14ad8c2f0.0cdc51e2fb2747dc.9a3edbd8dffedcbf
+    a6d07759aa55bc8f
+
+VCMPSD_128_0x5(reg)
+  before
+    67d6a9eb3b21b00f.38f250e1130aa3a6.fee4713dc4180402.d128d7020daa2a94
+    3b9a6ffb2feff3eb.8a3b2e44fc7e49fe.1d9f0e6193d3b8db.126aa33d3cf5e057
+    7c69c5f3214ac2ce.646ccbe46c8d9b63.bc7f7c7753961924.ac6e3181a5152550
+    878ea541aebe5964.a051a5ae7f415601.37d0b8ed9eec658c.7cfffdb96315b4ac
+    5ceb84d193024a96
+  after
+    0000000000000000.0000000000000000.1d9f0e6193d3b8db.ffffffffffffffff
+    3b9a6ffb2feff3eb.8a3b2e44fc7e49fe.1d9f0e6193d3b8db.126aa33d3cf5e057
+    7c69c5f3214ac2ce.646ccbe46c8d9b63.bc7f7c7753961924.ac6e3181a5152550
+    878ea541aebe5964.a051a5ae7f415601.37d0b8ed9eec658c.7cfffdb96315b4ac
+    5ceb84d193024a96
+VCMPSD_128_0x5(mem)
+  before
+    29fc40b550e7a33c.b9570d5071d8f35b.1bb6388e52a93603.eadebc2e1362d6bd
+    bfffaf51b6d07ac7.6c0ff78c0723ce5c.b166fe7100cef796.30f486a64c82a963
+    fbc04d91e2ca8c65.fd0162610b2b2316.3f2f7542a6be54e5.676011c0e5db192c
+    b70b9461f0df9542.c97a473b197d3133.9fdb17ec5f840a1d.ea6c59eb7bf663c1
+    15655a90a961c3d1
+  after
+    29fc40b550e7a33c.b9570d5071d8f35b.1bb6388e52a93603.eadebc2e1362d6bd
+    bfffaf51b6d07ac7.6c0ff78c0723ce5c.b166fe7100cef796.30f486a64c82a963
+    0000000000000000.0000000000000000.b166fe7100cef796.ffffffffffffffff
+    b70b9461f0df9542.c97a473b197d3133.9fdb17ec5f840a1d.ea6c59eb7bf663c1
+    15655a90a961c3d1
+
+VCMPSD_128_0x6(reg)
+  before
+    4497111c0ca77506.d0ab02adfb1e518a.2ac6a386cea43260.ae37625d482dd56a
+    d24e79fb3f55b50c.226e12621f907b68.7d3173aec62c6348.480fd2807cc471f7
+    1dd58e9adff6be90.891e406a7943d008.1e07b2209ba20098.492fe141185599f1
+    807a4c638716cc3e.e18808b325420c97.6a935c46ec9145fb.8d630d8c37ec0a83
+    f077d14df6967fda
+  after
+    0000000000000000.0000000000000000.7d3173aec62c6348.0000000000000000
+    d24e79fb3f55b50c.226e12621f907b68.7d3173aec62c6348.480fd2807cc471f7
+    1dd58e9adff6be90.891e406a7943d008.1e07b2209ba20098.492fe141185599f1
+    807a4c638716cc3e.e18808b325420c97.6a935c46ec9145fb.8d630d8c37ec0a83
+    f077d14df6967fda
+VCMPSD_128_0x6(mem)
+  before
+    4e36a970705fb622.5687b0c4d3411dc1.0678e7283d9aeb41.bb236e8e53856d1e
+    836d12e2c1516986.fd49b4276004ebc6.d4ba58b5e0562832.6e01e2626c0bb5ad
+    6be8868d067a5533.cf0c56facaea73f9.271ad74528828095.df7ab630d4ae5853
+    e273835f5be63554.2a1c91a8ac80f105.db63e0c6312baf96.6adae56326fb94bd
+    6b6d6b67ff7ca396
+  after
+    4e36a970705fb622.5687b0c4d3411dc1.0678e7283d9aeb41.bb236e8e53856d1e
+    836d12e2c1516986.fd49b4276004ebc6.d4ba58b5e0562832.6e01e2626c0bb5ad
+    0000000000000000.0000000000000000.d4ba58b5e0562832.ffffffffffffffff
+    e273835f5be63554.2a1c91a8ac80f105.db63e0c6312baf96.6adae56326fb94bd
+    6b6d6b67ff7ca396
+
+VCMPSD_128_0x6(reg)
+  before
+    3e7e45a8fabfc28b.c4da8442db9fc616.68c5629da251a096.cc62ef24185c7062
+    3f5b6d92b4502c48.ede90524a2b3c4a5.e752c34549e9be5a.d6e48149f8218025
+    ca4ee191c8ba1e78.386b83f0cd2deb2c.0111b20c3dd584fb.d4b31122ed879b0a
+    3ba49c12d289d4c8.832e7892771af6d8.144c2a5f19a03125.a49c1b9b15997c3e
+    216a1ba18963e1ed
+  after
+    0000000000000000.0000000000000000.e752c34549e9be5a.0000000000000000
+    3f5b6d92b4502c48.ede90524a2b3c4a5.e752c34549e9be5a.d6e48149f8218025
+    ca4ee191c8ba1e78.386b83f0cd2deb2c.0111b20c3dd584fb.d4b31122ed879b0a
+    3ba49c12d289d4c8.832e7892771af6d8.144c2a5f19a03125.a49c1b9b15997c3e
+    216a1ba18963e1ed
+VCMPSD_128_0x6(mem)
+  before
+    27eb8e1e67f28442.eea99b7f70498ae3.a9fc62f6bd85a2d4.7a5027a879d6ff85
+    91e9ee00cb51216a.3ea9d8463b877b76.86a2bc08bb7bab4d.9069a654fa042bc7
+    3d32b932d08c7690.89f051d1d1cee42c.f5ec03b48b06cd6e.b3e3a2d037b5f196
+    06906ba092b03de1.2ac9018eceab01b3.d4a5b1e64c34c364.3d091687cd758d9f
+    8b2901e457d13a8d
+  after
+    27eb8e1e67f28442.eea99b7f70498ae3.a9fc62f6bd85a2d4.7a5027a879d6ff85
+    91e9ee00cb51216a.3ea9d8463b877b76.86a2bc08bb7bab4d.9069a654fa042bc7
+    0000000000000000.0000000000000000.86a2bc08bb7bab4d.0000000000000000
+    06906ba092b03de1.2ac9018eceab01b3.d4a5b1e64c34c364.3d091687cd758d9f
+    8b2901e457d13a8d
+
+VCMPSD_128_0x6(reg)
+  before
+    f98d5c557254350d.c7d07e352ec83388.7d82e4e8cca90eb4.fd9b448b17114a5b
+    e4822445b98ab9cb.5ebd70dfc0e013b3.dd65f74a6a5446de.4e98378d0aa71e7e
+    a6545620c8000472.a525bb8a62059a8b.a8bf34224238e6db.a26906da4105fafa
+    9c4fed523d4150af.7ad3dd203342843f.39dc99dbf0e22a57.d4da2e5cd7349bfb
+    c2b72a01e942bdac
+  after
+    0000000000000000.0000000000000000.dd65f74a6a5446de.ffffffffffffffff
+    e4822445b98ab9cb.5ebd70dfc0e013b3.dd65f74a6a5446de.4e98378d0aa71e7e
+    a6545620c8000472.a525bb8a62059a8b.a8bf34224238e6db.a26906da4105fafa
+    9c4fed523d4150af.7ad3dd203342843f.39dc99dbf0e22a57.d4da2e5cd7349bfb
+    c2b72a01e942bdac
+VCMPSD_128_0x6(mem)
+  before
+    46cc75b4923a1c3a.22bfe547b1d9d92d.b792528e4da48df8.eb0821e211de4dff
+    3ee58e61ee2873d0.94ef3b6cc255dd99.3a2f94c0cc3671e5.1c8ec9a140b68c7f
+    84cdeef41a197f9b.4e2dea2b0c40969f.dd7621a3cd04eb30.26bc8b851af82382
+    f55112593218fcc6.acc3edf12a2741ea.7d3374226b1ab806.67dc65fb3a2f4eb5
+    393b526d3de848c4
+  after
+    46cc75b4923a1c3a.22bfe547b1d9d92d.b792528e4da48df8.eb0821e211de4dff
+    3ee58e61ee2873d0.94ef3b6cc255dd99.3a2f94c0cc3671e5.1c8ec9a140b68c7f
+    0000000000000000.0000000000000000.3a2f94c0cc3671e5.ffffffffffffffff
+    f55112593218fcc6.acc3edf12a2741ea.7d3374226b1ab806.67dc65fb3a2f4eb5
+    393b526d3de848c4
+
+VCMPSD_128_0x7(reg)
+  before
+    fa254e49beae4e5a.6e3d777c5132a57e.0afe422bb8941a27.f7320928c3859392
+    04e656f95a0d9c23.c95d984a937237ef.c42ae54453165c01.253e5ca3f0503a01
+    b5c964ebac926dcd.e37df1ad15e46e44.3692d0a796364425.e425ea7e0e88677e
+    671c768a50c8fe01.9869ff93f29406aa.bc8401c21e820e3f.11b12ea53a37d636
+    86afa404906c4555
+  after
+    0000000000000000.0000000000000000.c42ae54453165c01.ffffffffffffffff
+    04e656f95a0d9c23.c95d984a937237ef.c42ae54453165c01.253e5ca3f0503a01
+    b5c964ebac926dcd.e37df1ad15e46e44.3692d0a796364425.e425ea7e0e88677e
+    671c768a50c8fe01.9869ff93f29406aa.bc8401c21e820e3f.11b12ea53a37d636
+    86afa404906c4555
+VCMPSD_128_0x7(mem)
+  before
+    20ebc8872b306e06.77298742e43b8b6e.c5ec3ce6478fba4c.b24a73008685f5fa
+    bb31171a28910e76.423d937f017850be.44d426942fe04757.733222cd6bcc3703
+    334c0baaa29ae1d0.22a497ad450a889e.f2eb3888c79469f7.5d860b9568e10e05
+    640a2221b558a241.74aa8e394b7d70b9.abfeefae2ab6dc57.cb9328c51a53b6ad
+    19a577c71cab6da7
+  after
+    20ebc8872b306e06.77298742e43b8b6e.c5ec3ce6478fba4c.b24a73008685f5fa
+    bb31171a28910e76.423d937f017850be.44d426942fe04757.733222cd6bcc3703
+    0000000000000000.0000000000000000.44d426942fe04757.ffffffffffffffff
+    640a2221b558a241.74aa8e394b7d70b9.abfeefae2ab6dc57.cb9328c51a53b6ad
+    19a577c71cab6da7
+
+VCMPSD_128_0x7(reg)
+  before
+    a207f3080b776d9e.2b35d76d7ed60ef5.949b748db05e44bc.4bd9c5f175525ba4
+    c40798f58242f33e.629aa7781820e117.dec3451710383f52.ae483840c375a309
+    daef63f91e993a35.e6050c30a043d6d4.af6dfd4106979f28.b016c384312a6fb3
+    3f0c4e7f7a07802d.93428480314aaa57.61e699792e089dea.2d11e2aada7d7dce
+    0103119eda7a8785
+  after
+    0000000000000000.0000000000000000.dec3451710383f52.ffffffffffffffff
+    c40798f58242f33e.629aa7781820e117.dec3451710383f52.ae483840c375a309
+    daef63f91e993a35.e6050c30a043d6d4.af6dfd4106979f28.b016c384312a6fb3
+    3f0c4e7f7a07802d.93428480314aaa57.61e699792e089dea.2d11e2aada7d7dce
+    0103119eda7a8785
+VCMPSD_128_0x7(mem)
+  before
+    08b9cd4d4e2e4a05.51aa57f53218ffd2.441d8a54e84119cd.517a142a25167843
+    1eff91a152a58179.6a157ac6e358f3d1.d7619a98e034df62.db756abf864d6ae0
+    1fa1d98801e9e90e.e899b15e29549ad6.27dc31383630b741.5b2397a6ee3ab16c
+    e76a21ed77083ef0.2581fa299f982e8c.1058c92005415e97.2dd0974af8688694
+    adc7671741642804
+  after
+    08b9cd4d4e2e4a05.51aa57f53218ffd2.441d8a54e84119cd.517a142a25167843
+    1eff91a152a58179.6a157ac6e358f3d1.d7619a98e034df62.db756abf864d6ae0
+    0000000000000000.0000000000000000.d7619a98e034df62.ffffffffffffffff
+    e76a21ed77083ef0.2581fa299f982e8c.1058c92005415e97.2dd0974af8688694
+    adc7671741642804
+
+VCMPSD_128_0x7(reg)
+  before
+    3755027a64b9d167.5128e6bbd10e3c4a.7f1b4f93e1aeeca0.6ea2e03c6a71908f
+    26c764ddfdf3be6a.3ba5a2e02b059e49.50b1ae088c240fbd.1d86f17880ce0956
+    d86689ada99e2bb8.80aed3479ffb2118.f59013f53b86d591.f8cf78c164648418
+    a8816e57044753fe.fc0ff4dc4cfc81e4.cb0478c48b5e78c5.dd4bf201313dbe00
+    a7c4da260367733a
+  after
+    0000000000000000.0000000000000000.50b1ae088c240fbd.ffffffffffffffff
+    26c764ddfdf3be6a.3ba5a2e02b059e49.50b1ae088c240fbd.1d86f17880ce0956
+    d86689ada99e2bb8.80aed3479ffb2118.f59013f53b86d591.f8cf78c164648418
+    a8816e57044753fe.fc0ff4dc4cfc81e4.cb0478c48b5e78c5.dd4bf201313dbe00
+    a7c4da260367733a
+VCMPSD_128_0x7(mem)
+  before
+    3108ac1bf7ee5ef4.f2630e45a97973e7.8a94828c4b127ad9.2c59dbe3173a3407
+    59e1e4cc29dd3c58.125865e534c1c721.0809f741bb4bc722.75da37bc7ca64703
+    fa1cfe25b440c992.63ab6fa242aa8a55.5139d1e8b5b325eb.03d588bd552ceb65
+    ef857712b423c1cf.43a928e86fc0fa32.40f28b6e58555062.3094ca513f5a5dd8
+    5964fae4d5bcd908
+  after
+    3108ac1bf7ee5ef4.f2630e45a97973e7.8a94828c4b127ad9.2c59dbe3173a3407
+    59e1e4cc29dd3c58.125865e534c1c721.0809f741bb4bc722.75da37bc7ca64703
+    0000000000000000.0000000000000000.0809f741bb4bc722.ffffffffffffffff
+    ef857712b423c1cf.43a928e86fc0fa32.40f28b6e58555062.3094ca513f5a5dd8
+    5964fae4d5bcd908
+
+VCMPSD_128_0x8(reg)
+  before
+    da9112e2b4dc9aa3.16e7ca7f4693df3b.0d9e8d23568f5162.b3fea1bdbd3d03b1
+    0f6710b77748dd52.49107358859be001.1cd699bf93a4cb91.842a90c30277fb04
+    5432f0cfbb8cdec4.66caee898e47804e.ce9d4828c38aa66c.9142d26b4310f488
+    053dac961b33d8a3.47e2b8ff7da47a4e.7e3e96ca81ce1c9f.b412e5a19b13aa69
+    cb654451278cd8d2
+  after
+    0000000000000000.0000000000000000.1cd699bf93a4cb91.0000000000000000
+    0f6710b77748dd52.49107358859be001.1cd699bf93a4cb91.842a90c30277fb04
+    5432f0cfbb8cdec4.66caee898e47804e.ce9d4828c38aa66c.9142d26b4310f488
+    053dac961b33d8a3.47e2b8ff7da47a4e.7e3e96ca81ce1c9f.b412e5a19b13aa69
+    cb654451278cd8d2
+VCMPSD_128_0x8(mem)
+  before
+    b0096c6702883bf0.7ed5427933c9089b.ca244ba46cbd8b2c.870780126afb6ad5
+    40c8d7cf48128fee.1b47ace2a0daaa5a.c95c25667a9f6f14.4742016a199dcbbb
+    586f037516378ff9.38dde93ffdf3fa89.2156c12fc055e234.183c153f2b417dfd
+    d2ca6b458702f83d.31e3f2fbe79f33d7.afdd9ced5ceb9fb5.5841b8fe3b72ba46
+    619de612e6bcbe42
+  after
+    b0096c6702883bf0.7ed5427933c9089b.ca244ba46cbd8b2c.870780126afb6ad5
+    40c8d7cf48128fee.1b47ace2a0daaa5a.c95c25667a9f6f14.4742016a199dcbbb
+    0000000000000000.0000000000000000.c95c25667a9f6f14.0000000000000000
+    d2ca6b458702f83d.31e3f2fbe79f33d7.afdd9ced5ceb9fb5.5841b8fe3b72ba46
+    619de612e6bcbe42
+
+VCMPSD_128_0x8(reg)
+  before
+    909c9ce7c7acc79f.8ba58b2cb87f86e5.62a7c481fa6a92ee.4dbf308b6a6d63c6
+    4289d5e97acd0f06.5fcbe014c4baf51e.27745c3fd1e1537a.d8c6fbf505e8ea91
+    d1b18d849cabd326.2b0ae4ebc8c00014.dc95b5a0088fb228.2cbf78174a67ef43
+    9a61c024c9d34ea9.c92c159be09c64f2.dd57cb103c01eaa4.267623dd54f72f07
+    a0b779333fa3660a
+  after
+    0000000000000000.0000000000000000.27745c3fd1e1537a.0000000000000000
+    4289d5e97acd0f06.5fcbe014c4baf51e.27745c3fd1e1537a.d8c6fbf505e8ea91
+    d1b18d849cabd326.2b0ae4ebc8c00014.dc95b5a0088fb228.2cbf78174a67ef43
+    9a61c024c9d34ea9.c92c159be09c64f2.dd57cb103c01eaa4.267623dd54f72f07
+    a0b779333fa3660a
+VCMPSD_128_0x8(mem)
+  before
+    774df50628775077.fae36b359cd0be3c.16feee12265bdde4.85079bfb08c2389a
+    870612402b7fa87b.4b848823b12e5d8a.ee4dec3bb9082717.32ef1fce095ed8b4
+    acac4fcf63c82b42.ea8f155aa57a6840.2de28902b2affdb7.3f5b55f3da6105a1
+    c20c259dec5e95f7.33520d47143f1a09.af8c43532f5d1cf0.089938d71758fc0b
+    e8f3c4e75ecff99f
+  after
+    774df50628775077.fae36b359cd0be3c.16feee12265bdde4.85079bfb08c2389a
+    870612402b7fa87b.4b848823b12e5d8a.ee4dec3bb9082717.32ef1fce095ed8b4
+    0000000000000000.0000000000000000.ee4dec3bb9082717.0000000000000000
+    c20c259dec5e95f7.33520d47143f1a09.af8c43532f5d1cf0.089938d71758fc0b
+    e8f3c4e75ecff99f
+
+VCMPSD_128_0x8(reg)
+  before
+    3db7f68d48503808.a5f21298e34ba2c7.82176d549909b092.5016951a4c1d3fed
+    612fc9377369f4f3.312a90ab639d0ddd.332b2fefd0656687.ec4bfb4424fb24da
+    b2a839507ba56a0c.42801dc2895f9366.a3db518356de7893.5ff8f1bbd40485e4
+    8b6e4244fb91d6fe.b4bf35c9709ef08e.2c70ce7cc6002163.85e9f46c77431f37
+    3aea7f4429c4adff
+  after
+    0000000000000000.0000000000000000.332b2fefd0656687.0000000000000000
+    612fc9377369f4f3.312a90ab639d0ddd.332b2fefd0656687.ec4bfb4424fb24da
+    b2a839507ba56a0c.42801dc2895f9366.a3db518356de7893.5ff8f1bbd40485e4
+    8b6e4244fb91d6fe.b4bf35c9709ef08e.2c70ce7cc6002163.85e9f46c77431f37
+    3aea7f4429c4adff
+VCMPSD_128_0x8(mem)
+  before
+    5ac70e2e0793ec67.47cce07f8fb87375.63b552ac3565df80.2b39a246bd589ea2
+    c14c1d152cbd989b.4410106dd4a67e1f.2b2cf257f3c01d68.fc81ca4dd6712bfd
+    4a4428e7b54e6dc8.dc84cc7a66e833a5.e7f18fb6c7bc6674.fa9341fdaed80420
+    d37dac8fbe50261a.6c761212df09ceb6.75d0a8b5cc6475ce.83bd03c2e01864b6
+    f2490c0808bd886c
+  after
+    5ac70e2e0793ec67.47cce07f8fb87375.63b552ac3565df80.2b39a246bd589ea2
+    c14c1d152cbd989b.4410106dd4a67e1f.2b2cf257f3c01d68.fc81ca4dd6712bfd
+    0000000000000000.0000000000000000.2b2cf257f3c01d68.0000000000000000
+    d37dac8fbe50261a.6c761212df09ceb6.75d0a8b5cc6475ce.83bd03c2e01864b6
+    f2490c0808bd886c
+
+VCMPSD_128_0xA(reg)
+  before
+    a384583cc353abed.37c124f962d180bc.5130dea2de958afc.b094b6411ec408a2
+    f2bae4c8ad670be6.52dd0c11bddd37db.e5ff2a94fd19a424.740b3644dbe9d91d
+    3b36aa1a6184e202.ff9de1c3ec7f07a3.852ef456d82058d9.9cffa5ac1cdea46b
+    da46a89c7b376def.1ccc1dfc0ac3ab3f.8e0b37520c36e1c8.063e7e64ffb027b7
+    8d923d58a0691c2e
+  after
+    0000000000000000.0000000000000000.e5ff2a94fd19a424.0000000000000000
+    f2bae4c8ad670be6.52dd0c11bddd37db.e5ff2a94fd19a424.740b3644dbe9d91d
+    3b36aa1a6184e202.ff9de1c3ec7f07a3.852ef456d82058d9.9cffa5ac1cdea46b
+    da46a89c7b376def.1ccc1dfc0ac3ab3f.8e0b37520c36e1c8.063e7e64ffb027b7
+    8d923d58a0691c2e
+VCMPSD_128_0xA(mem)
+  before
+    0cc85f741a1740fc.2a34dabc980ae756.84383ea634b5e0dc.5ae0eff634e87c9c
+    61ac5ea489c64e4c.894d3ae5548c8de6.12abbfae856262a5.46fb18adedc16502
+    6609b8d40a80034b.52ddc6834a469b48.a4f21c0119d5ecc7.aea6afe3d24dd8a6
+    f9ade8f0b8541b24.e030790216c64d2b.14d9d28a0e1a3b6d.ee2eae047f191033
+    63df137c91b04a56
+  after
+    0cc85f741a1740fc.2a34dabc980ae756.84383ea634b5e0dc.5ae0eff634e87c9c
+    61ac5ea489c64e4c.894d3ae5548c8de6.12abbfae856262a5.46fb18adedc16502
+    0000000000000000.0000000000000000.12abbfae856262a5.ffffffffffffffff
+    f9ade8f0b8541b24.e030790216c64d2b.14d9d28a0e1a3b6d.ee2eae047f191033
+    63df137c91b04a56
+
+VCMPSD_128_0xA(reg)
+  before
+    6704dab7a49ec2ba.f4626ae4b04b5204.91924fce5597df39.402c5b347d3e0bc4
+    57ebfd215370b30c.35f5bb9d0d736416.bf4f4454a2468c1f.02b735ed844c18f8
+    8fde7a273ab15bf8.96325605ecd70c87.c8b255fe9a5e9188.3846dba03f511d34
+    6b2a4c33f6edf429.f5e5b70a68830783.06087c39d86b2921.bca4ca39c957d7a5
+    6b9e7ca43e6d0277
+  after
+    0000000000000000.0000000000000000.bf4f4454a2468c1f.ffffffffffffffff
+    57ebfd215370b30c.35f5bb9d0d736416.bf4f4454a2468c1f.02b735ed844c18f8
+    8fde7a273ab15bf8.96325605ecd70c87.c8b255fe9a5e9188.3846dba03f511d34
+    6b2a4c33f6edf429.f5e5b70a68830783.06087c39d86b2921.bca4ca39c957d7a5
+    6b9e7ca43e6d0277
+VCMPSD_128_0xA(mem)
+  before
+    22016fcebb9c59d5.471b6fb323b1ba4c.2cda5a969e841035.d79db772f9fa9195
+    bb971ea15bf299eb.7ffddf115c88eb0c.18dcbb97a9e5e5ca.95bd011398960592
+    132c050a3b7a7ee7.6f1c99bb3dffc116.96b957f8a6b3406e.9eb4578a52cbc1c1
+    068ea1f67741c4f2.72c4971c63a17816.803ba9a5b0f9dd4c.4cceb342c22601d0
+    fd5613a78432006b
+  after
+    22016fcebb9c59d5.471b6fb323b1ba4c.2cda5a969e841035.d79db772f9fa9195
+    bb971ea15bf299eb.7ffddf115c88eb0c.18dcbb97a9e5e5ca.95bd011398960592
+    0000000000000000.0000000000000000.18dcbb97a9e5e5ca.0000000000000000
+    068ea1f67741c4f2.72c4971c63a17816.803ba9a5b0f9dd4c.4cceb342c22601d0
+    fd5613a78432006b
+
+VCMPSD_128_0xA(reg)
+  before
+    0b9a7225357bfb3e.71876c4f2951263b.e640d7a069fa4eb7.b32f2d8ae3c37a90
+    d3e4cd28718e2df4.2ee5e40370b961ec.26dd54b3ec967da6.0b615f935c1dd168
+    b1811e1cd3f6d439.1a7284fd65823131.8ee70bc18702428e.649dbbac37149ffd
+    02bd636df73f2abb.11fbc82927ba5238.7aaaf636d7c9d91c.9aaebec28fb49f7e
+    8a62e3bf80078f15
+  after
+    0000000000000000.0000000000000000.26dd54b3ec967da6.ffffffffffffffff
+    d3e4cd28718e2df4.2ee5e40370b961ec.26dd54b3ec967da6.0b615f935c1dd168
+    b1811e1cd3f6d439.1a7284fd65823131.8ee70bc18702428e.649dbbac37149ffd
+    02bd636df73f2abb.11fbc82927ba5238.7aaaf636d7c9d91c.9aaebec28fb49f7e
+    8a62e3bf80078f15
+VCMPSD_128_0xA(mem)
+  before
+    0e83a691271b29ee.20e497887af66b24.ef4c2d73cf6c7f2a.4572137f77787dfb
+    03de8322a0fb2a37.6841b6d7f8a6d520.90312ec77ca57536.4d8b5d06049a6bd9
+    453ff76005b44d19.3621bcc80bdba25c.d07547114770ef86.ed40d13919bbdf5f
+    b0727d3675514fc3.e6d1a6c552220f84.8be6f43d4ed9ab46.80de69825368153c
+    64b2234f4d2b4819
+  after
+    0e83a691271b29ee.20e497887af66b24.ef4c2d73cf6c7f2a.4572137f77787dfb
+    03de8322a0fb2a37.6841b6d7f8a6d520.90312ec77ca57536.4d8b5d06049a6bd9
+    0000000000000000.0000000000000000.90312ec77ca57536.0000000000000000
+    b0727d3675514fc3.e6d1a6c552220f84.8be6f43d4ed9ab46.80de69825368153c
+    64b2234f4d2b4819
+
+VCMPSD_128_0xC(reg)
+  before
+    f306fa0ba393b5a5.204391900adeec5f.d49b6f3c67065843.9d4eb137aded63a4
+    8b27ea22f229988a.707daf5ae068e019.5ccc1398e613b846.e27afbec7fb7d4c9
+    8660ef00d67b2c75.7eee538014fae61e.dab08e456cd66c38.36364d46e043b9e4
+    42ff0611ea14ae11.2560faeec1a0bb9a.aa92ddaf94dab0c6.754e2333ed9ecf1f
+    7b8df99ec2d3d2a6
+  after
+    0000000000000000.0000000000000000.5ccc1398e613b846.ffffffffffffffff
+    8b27ea22f229988a.707daf5ae068e019.5ccc1398e613b846.e27afbec7fb7d4c9
+    8660ef00d67b2c75.7eee538014fae61e.dab08e456cd66c38.36364d46e043b9e4
+    42ff0611ea14ae11.2560faeec1a0bb9a.aa92ddaf94dab0c6.754e2333ed9ecf1f
+    7b8df99ec2d3d2a6
+VCMPSD_128_0xC(mem)
+  before
+    24c14b737aee7ea6.194e2ac1ca815a0b.41a01f9003671bb9.28c0fa42faacbf9c
+    4bb4969e31fc8e4b.699a577c134d6c0e.ae7a3e53f85ac2a5.b084e36a3cd6d765
+    ce33550b0408bfc1.8c2f89ae60041fc7.48b9d321b9856b8d.9e2b9394f3e731cd
+    880a04a60e1ecd32.df59bcc44e33b0e2.ea2b5be864f5d39b.4e01072abd680c82
+    1c52399a36e7a32e
+  after
+    24c14b737aee7ea6.194e2ac1ca815a0b.41a01f9003671bb9.28c0fa42faacbf9c
+    4bb4969e31fc8e4b.699a577c134d6c0e.ae7a3e53f85ac2a5.b084e36a3cd6d765
+    0000000000000000.0000000000000000.ae7a3e53f85ac2a5.ffffffffffffffff
+    880a04a60e1ecd32.df59bcc44e33b0e2.ea2b5be864f5d39b.4e01072abd680c82
+    1c52399a36e7a32e
+
+VCMPSD_128_0xC(reg)
+  before
+    646a274ef9ef317d.54051f5b6c4b74cd.bf64ed2878655b0a.729a509215b5b6fc
+    8194ccb4a20df21c.10f02316399a6fbc.869c17487b265bec.bbd4300de7d1cfdb
+    d11d2437cecb24b7.97968bc392177b2c.914c368ff203ed34.a0a37744f656db65
+    af522c4219b801fa.c4c5d34f92cf5448.3cc146697a874d8d.ffd49f235f4f96c6
+    b23326963ec8bc29
+  after
+    0000000000000000.0000000000000000.869c17487b265bec.ffffffffffffffff
+    8194ccb4a20df21c.10f02316399a6fbc.869c17487b265bec.bbd4300de7d1cfdb
+    d11d2437cecb24b7.97968bc392177b2c.914c368ff203ed34.a0a37744f656db65
+    af522c4219b801fa.c4c5d34f92cf5448.3cc146697a874d8d.ffd49f235f4f96c6
+    b23326963ec8bc29
+VCMPSD_128_0xC(mem)
+  before
+    978b8789adce08ba.767dde431e5dc68f.754777a556cdb53d.e4484442ae3eb7a3
+    88aa3ee8cb6c37a7.84eb38a57948af25.84e9f4b0f91d5b36.e32b2b862bb56624
+    635ac79fb2af051a.34e735d5c704f766.cf77c45e97cc0261.96b6f7a18c7797b9
+    02689e9b7ea12d3f.e1bfd23da31edbff.30bd659a4de566e7.5937a4ff6d118611
+    88f92e0c6b0d6fd6
+  after
+    978b8789adce08ba.767dde431e5dc68f.754777a556cdb53d.e4484442ae3eb7a3
+    88aa3ee8cb6c37a7.84eb38a57948af25.84e9f4b0f91d5b36.e32b2b862bb56624
+    0000000000000000.0000000000000000.84e9f4b0f91d5b36.ffffffffffffffff
+    02689e9b7ea12d3f.e1bfd23da31edbff.30bd659a4de566e7.5937a4ff6d118611
+    88f92e0c6b0d6fd6
+
+VCMPSD_128_0xC(reg)
+  before
+    7f47923522f98db4.43a040c64c516c43.e9bd094aaa21979b.85865250377542f7
+    9a6ecbe42d611d59.00ce280e37c87e52.a62fd869779967e7.a8a0076c708753ba
+    35bad58728d05a6e.16bed25d5c141f97.765f3a04a713868e.76d501da1427555f
+    ac77ac88b0d282a2.623bbba1d6400a3f.b39a2b89d51a313e.ccf2bb8640610310
+    84c3b15c10421afa
+  after
+    0000000000000000.0000000000000000.a62fd869779967e7.ffffffffffffffff
+    9a6ecbe42d611d59.00ce280e37c87e52.a62fd869779967e7.a8a0076c708753ba
+    35bad58728d05a6e.16bed25d5c141f97.765f3a04a713868e.76d501da1427555f
+    ac77ac88b0d282a2.623bbba1d6400a3f.b39a2b89d51a313e.ccf2bb8640610310
+    84c3b15c10421afa
+VCMPSD_128_0xC(mem)
+  before
+    7b145f499fd55648.5bf14d5561f3cf9f.be135dc5c159fc75.bb2ca7629e3aa4a0
+    8eb1413709277327.9e73b259d5c07e11.071036b53b69b166.e860abfd9dff1a62
+    9765d4146b432cc2.d14bd900abc4caa5.1affc15d5d7fe43e.978432c56ef6d030
+    73fd93cbe0353e46.4fc3bdb67d8cf007.d1ac7aa945a45228.25e23826aeab02b6
+    ecc7b98cf9a8ec9f
+  after
+    7b145f499fd55648.5bf14d5561f3cf9f.be135dc5c159fc75.bb2ca7629e3aa4a0
+    8eb1413709277327.9e73b259d5c07e11.071036b53b69b166.e860abfd9dff1a62
+    0000000000000000.0000000000000000.071036b53b69b166.ffffffffffffffff
+    73fd93cbe0353e46.4fc3bdb67d8cf007.d1ac7aa945a45228.25e23826aeab02b6
+    ecc7b98cf9a8ec9f
+
+VCMPSD_128_0xD(reg)
+  before
+    497fb263ea7bc997.fe46fa47850965df.76285be7e7a32ce2.09e3de860fe6b751
+    98561e181db0d64c.140a857675cc5db8.a1c6aeff8595bae3.9e6f67ded650cfe4
+    3698f8152fd24f68.9115b143cd89e1fe.2ce9b16bf5eed6b6.6c1e939eb6ef550e
+    7d903fc8bc6d7097.5135f89aa84daedc.72dc6295d03bbb06.4fbaddb3ccce06fb
+    2310c20733f99ed6
+  after
+    0000000000000000.0000000000000000.a1c6aeff8595bae3.0000000000000000
+    98561e181db0d64c.140a857675cc5db8.a1c6aeff8595bae3.9e6f67ded650cfe4
+    3698f8152fd24f68.9115b143cd89e1fe.2ce9b16bf5eed6b6.6c1e939eb6ef550e
+    7d903fc8bc6d7097.5135f89aa84daedc.72dc6295d03bbb06.4fbaddb3ccce06fb
+    2310c20733f99ed6
+VCMPSD_128_0xD(mem)
+  before
+    c4ecbc88087dd9cc.ca8cec9b5e0d7486.3035d86722237f7f.d1edbdeab407a580
+    0e1a492166647208.79d6fdfcb43f98e1.0ae0cd9758171213.a466bcd73ddfd2cf
+    dd66e4be6abd26b7.e6bb6c56588e1753.bb035114663621c3.46945dc7064e7ca0
+    0d9b094b3091b005.6d873714e6862f89.1f6ae2cc678b69bc.15c39b26ace0e09e
+    6b3f725fca223a77
+  after
+    c4ecbc88087dd9cc.ca8cec9b5e0d7486.3035d86722237f7f.d1edbdeab407a580
+    0e1a492166647208.79d6fdfcb43f98e1.0ae0cd9758171213.a466bcd73ddfd2cf
+    0000000000000000.0000000000000000.0ae0cd9758171213.ffffffffffffffff
+    0d9b094b3091b005.6d873714e6862f89.1f6ae2cc678b69bc.15c39b26ace0e09e
+    6b3f725fca223a77
+
+VCMPSD_128_0xD(reg)
+  before
+    a654dee0fc9fc5d4.7a8735b4d2eece1d.6a865aa4fbb41a2e.12e1faa97722a529
+    204edc14dfe3bf64.00f4e2e56ee03a2c.3903cf7132a315ef.70341799b3089237
+    377867680e7a61d0.7baf8eca2071b15d.364c94e727e05b78.152fb5863748ec11
+    451f7b4626f1eac7.c684b45003afeedd.bdaba47378f52974.dd9d4e5e1eee6fe5
+    a34c600c8407d6dc
+  after
+    0000000000000000.0000000000000000.3903cf7132a315ef.ffffffffffffffff
+    204edc14dfe3bf64.00f4e2e56ee03a2c.3903cf7132a315ef.70341799b3089237
+    377867680e7a61d0.7baf8eca2071b15d.364c94e727e05b78.152fb5863748ec11
+    451f7b4626f1eac7.c684b45003afeedd.bdaba47378f52974.dd9d4e5e1eee6fe5
+    a34c600c8407d6dc
+VCMPSD_128_0xD(mem)
+  before
+    4506667c869ede25.a78f141bc3d494f3.bf3ed16134a6afd8.2a6dfb7fbe70bb8f
+    9e98dc9a3fbf43ea.ba142e547fad9c01.41ab5febce60ae79.d9de957897dd4d77
+    89ce3e52cc77c157.d8fac65bf90a3e9c.2795dcd8edeba7ed.264a6fcb9fc71ad6
+    e473099148d11399.5e8cd79eca77b671.4fcac316ae53585f.6cfd84e271ba5f58
+    0942d02ba94258aa
+  after
+    4506667c869ede25.a78f141bc3d494f3.bf3ed16134a6afd8.2a6dfb7fbe70bb8f
+    9e98dc9a3fbf43ea.ba142e547fad9c01.41ab5febce60ae79.d9de957897dd4d77
+    0000000000000000.0000000000000000.41ab5febce60ae79.0000000000000000
+    e473099148d11399.5e8cd79eca77b671.4fcac316ae53585f.6cfd84e271ba5f58
+    0942d02ba94258aa
+
+VCMPSD_128_0xD(reg)
+  before
+    58674f11e4ec4178.8a55b841d0d9f6dc.a8185d88917e3f2b.941490902da37bfc
+    b5b6fd00be43556d.563ec7507f9c264b.13e85484e7ad1677.d140bf3285e7cdef
+    7b7cd764d2d4d136.26fbb2a872255e13.f949b9006b907601.e41acde8d22b0965
+    0805d8a9bc2af17f.d458f537c4815b60.b7878767b6b29d74.a76d359e317cec8a
+    f8077340bee53289
+  after
+    0000000000000000.0000000000000000.13e85484e7ad1677.ffffffffffffffff
+    b5b6fd00be43556d.563ec7507f9c264b.13e85484e7ad1677.d140bf3285e7cdef
+    7b7cd764d2d4d136.26fbb2a872255e13.f949b9006b907601.e41acde8d22b0965
+    0805d8a9bc2af17f.d458f537c4815b60.b7878767b6b29d74.a76d359e317cec8a
+    f8077340bee53289
+VCMPSD_128_0xD(mem)
+  before
+    b1b203ba9372978f.b69dfc3b19d1f0f3.3e210de891bad95d.a9eeba25669fc57d
+    b03b62f9cf30d7c8.e38f3f8684560b3f.3e2275a6f7de9436.2bca4ea717e32ac7
+    cf6e0ae78b2aad5f.ea299ef79a447e0e.b227a95f0ff94719.99663f57640b0aff
+    ec177972e66dd680.26b514f8f627850d.74fb25fef716af30.4f108aa2e9a29fd1
+    a9122af5433426e8
+  after
+    b1b203ba9372978f.b69dfc3b19d1f0f3.3e210de891bad95d.a9eeba25669fc57d
+    b03b62f9cf30d7c8.e38f3f8684560b3f.3e2275a6f7de9436.2bca4ea717e32ac7
+    0000000000000000.0000000000000000.3e2275a6f7de9436.ffffffffffffffff
+    ec177972e66dd680.26b514f8f627850d.74fb25fef716af30.4f108aa2e9a29fd1
+    a9122af5433426e8
+
+VCMPSD_128_0xE(reg)
+  before
+    03b91bba0e4edbf1.e1022b85f9040d59.f5809cf6358c5be7.616b666fcb4188a7
+    b951595fe57bf997.8bfa9a0be2fb1014.b1d6355ef2fd3d49.5644e79fa5868dab
+    2726e14f6448bd87.c7cd43f2bd5e99dd.b703d89bca0967df.2d502478a4f27b68
+    a983adf6283f636d.6f45a325a53a64e1.6452831958391454.c35b99e7e2900e09
+    f533c2d97b6d02bb
+  after
+    0000000000000000.0000000000000000.b1d6355ef2fd3d49.ffffffffffffffff
+    b951595fe57bf997.8bfa9a0be2fb1014.b1d6355ef2fd3d49.5644e79fa5868dab
+    2726e14f6448bd87.c7cd43f2bd5e99dd.b703d89bca0967df.2d502478a4f27b68
+    a983adf6283f636d.6f45a325a53a64e1.6452831958391454.c35b99e7e2900e09
+    f533c2d97b6d02bb
+VCMPSD_128_0xE(mem)
+  before
+    9da31c398c9412a9.9bb6bbc0ccef26f4.602f3590b79a2f4c.12113144381b8155
+    987622f23011fb00.59090719ede144c9.7657761f0e8bb449.1e8ade88073bea8e
+    c27950f284f079ec.3ec98b6d26a3f797.8d89e0bfc618b005.e50a865161238baa
+    f7782224a33e4898.a842452814c07b0b.8290f15afc4ddeab.c1dd250be1619f55
+    0f4fb8222381633d
+  after
+    9da31c398c9412a9.9bb6bbc0ccef26f4.602f3590b79a2f4c.12113144381b8155
+    987622f23011fb00.59090719ede144c9.7657761f0e8bb449.1e8ade88073bea8e
+    0000000000000000.0000000000000000.7657761f0e8bb449.ffffffffffffffff
+    f7782224a33e4898.a842452814c07b0b.8290f15afc4ddeab.c1dd250be1619f55
+    0f4fb8222381633d
+
+VCMPSD_128_0xE(reg)
+  before
+    2bac3a02c40d130b.133f1574aa072331.f2c02fb652c50ed0.2f3a24ddcc36fc68
+    7240a7185f93ea6e.f29aa3ceb455c7e2.788e48847d3dea93.7151f53551e0c468
+    3e56fcce919f2610.70544a1edd36efd8.95fa89fc30b44c00.24a2e04ca757f3d6
+    ec3b3392f6bc009e.693b855043b5593f.a74eef8c07b66fc3.24f96210eba544df
+    4d22f56c38d874ae
+  after
+    0000000000000000.0000000000000000.788e48847d3dea93.ffffffffffffffff
+    7240a7185f93ea6e.f29aa3ceb455c7e2.788e48847d3dea93.7151f53551e0c468
+    3e56fcce919f2610.70544a1edd36efd8.95fa89fc30b44c00.24a2e04ca757f3d6
+    ec3b3392f6bc009e.693b855043b5593f.a74eef8c07b66fc3.24f96210eba544df
+    4d22f56c38d874ae
+VCMPSD_128_0xE(mem)
+  before
+    7be9174cabfb3f70.d83b4acf2876b7c3.b919d151ffdfbf42.08d7779fa0d09186
+    8a19449c5f1b6151.5ea23cf1c659852c.3cbba80b2fbfde0e.16e11ca0948decf8
+    5580f6487143957c.dabc056469f2a784.ceed886cef6171ce.2bb8dafd817abcc3
+    bae8ab3cfc7f981e.a8d5a294b0cc5978.4b7bec5e5ad235af.a5a8ad2103223f94
+    defc9278b411af16
+  after
+    7be9174cabfb3f70.d83b4acf2876b7c3.b919d151ffdfbf42.08d7779fa0d09186
+    8a19449c5f1b6151.5ea23cf1c659852c.3cbba80b2fbfde0e.16e11ca0948decf8
+    0000000000000000.0000000000000000.3cbba80b2fbfde0e.ffffffffffffffff
+    bae8ab3cfc7f981e.a8d5a294b0cc5978.4b7bec5e5ad235af.a5a8ad2103223f94
+    defc9278b411af16
+
+VCMPSD_128_0xE(reg)
+  before
+    3402846e33d449f6.941ede641ddc2662.24380ded3473d7b3.8f3051cf8c1de6dd
+    01047f701af648df.bfee0badef65fb75.aa3244db93745ce3.76da31aaa24e4083
+    a34f7fe80503ea7e.1723ae018f26d282.961043ca695a25b1.db430adbb772fece
+    742f80449188697f.778b434e182c68b7.441c042751b26ecc.9c38574ee894dde9
+    948594ef50c09901
+  after
+    0000000000000000.0000000000000000.aa3244db93745ce3.ffffffffffffffff
+    01047f701af648df.bfee0badef65fb75.aa3244db93745ce3.76da31aaa24e4083
+    a34f7fe80503ea7e.1723ae018f26d282.961043ca695a25b1.db430adbb772fece
+    742f80449188697f.778b434e182c68b7.441c042751b26ecc.9c38574ee894dde9
+    948594ef50c09901
+VCMPSD_128_0xE(mem)
+  before
+    9ff63daa0c03ee41.d1f07fee5910018d.bdf0477ea682793d.0fa2845ce80772de
+    9857cf6b376897d6.17dd7754fa27f055.c420357f5634c043.55f0c0d7c9e56e93
+    5d73c51feefb51ec.a04464e00f5a7083.67e5893c444ffaf3.7151b30290d89e98
+    c8189bb04cc9d8af.c96f43003534bec2.840cc0a18bdee379.bf10594bda6d3d99
+    9a7aaf1d432f8941
+  after
+    9ff63daa0c03ee41.d1f07fee5910018d.bdf0477ea682793d.0fa2845ce80772de
+    9857cf6b376897d6.17dd7754fa27f055.c420357f5634c043.55f0c0d7c9e56e93
+    0000000000000000.0000000000000000.c420357f5634c043.ffffffffffffffff
+    c8189bb04cc9d8af.c96f43003534bec2.840cc0a18bdee379.bf10594bda6d3d99
+    9a7aaf1d432f8941
+
+VCMPSD_128_0x11(reg)
+  before
+    60dbb0e465abbc3d.b710cd0c6edde749.eeab0e1f074115be.f561549a47ee3702
+    6c7f570cdf6c1239.0428d71d6f443be9.6b44c3a9220eb324.98afc3139589b1ba
+    19b2a3014bfec9e0.8d2c36d16c0890b9.9c865d0a2126d2a0.48c488f890be0ecc
+    c5bf8d3045ee1bdf.2ce865138038a2e6.debdd8afa015afde.e06a203655960a65
+    3d6e05b7ff1f60b0
+  after
+    0000000000000000.0000000000000000.6b44c3a9220eb324.ffffffffffffffff
+    6c7f570cdf6c1239.0428d71d6f443be9.6b44c3a9220eb324.98afc3139589b1ba
+    19b2a3014bfec9e0.8d2c36d16c0890b9.9c865d0a2126d2a0.48c488f890be0ecc
+    c5bf8d3045ee1bdf.2ce865138038a2e6.debdd8afa015afde.e06a203655960a65
+    3d6e05b7ff1f60b0
+VCMPSD_128_0x11(mem)
+  before
+    3c9cb568ab64cddb.caf412036ac745e1.bf27e0cfc7dd2c9b.8b3430023c688589
+    b7c0ab3674710d0f.869b2fe755158293.20b723f15e05eb05.0038627091aa914d
+    8ca6630c7753dc7a.5301df49a36410a0.2d62ab6561bb9b4f.991669663a680fd7
+    951959d5cf15f548.8f721e93ef4129b5.c0f5f317eb0bf7a6.b218414ed32c3bd3
+    a78be696f98550ed
+  after
+    3c9cb568ab64cddb.caf412036ac745e1.bf27e0cfc7dd2c9b.8b3430023c688589
+    b7c0ab3674710d0f.869b2fe755158293.20b723f15e05eb05.0038627091aa914d
+    0000000000000000.0000000000000000.20b723f15e05eb05.0000000000000000
+    951959d5cf15f548.8f721e93ef4129b5.c0f5f317eb0bf7a6.b218414ed32c3bd3
+    a78be696f98550ed
+
+VCMPSD_128_0x11(reg)
+  before
+    d3ba55a947fc8bd0.afe70a7f99c415a5.943ae933d538097e.b63c77f41802bc36
+    94f389f35a1f2828.b6daf1f5f06bf8bc.c0a53a94f3d3eea6.eb03b3e605aba62a
+    45807edfce7963a2.87bf8a23f01659b9.6dfe0f22e2a012da.3c1623dbcd1371af
+    42af30dc3d9777ea.fc6251f5b6d1f5ca.f8936349402bb2c6.834044bd8d45d8f0
+    9d4e917a604d981a
+  after
+    0000000000000000.0000000000000000.c0a53a94f3d3eea6.ffffffffffffffff
+    94f389f35a1f2828.b6daf1f5f06bf8bc.c0a53a94f3d3eea6.eb03b3e605aba62a
+    45807edfce7963a2.87bf8a23f01659b9.6dfe0f22e2a012da.3c1623dbcd1371af
+    42af30dc3d9777ea.fc6251f5b6d1f5ca.f8936349402bb2c6.834044bd8d45d8f0
+    9d4e917a604d981a
+VCMPSD_128_0x11(mem)
+  before
+    660d86fd63386d59.e7ca9b534603a1ab.f28fc2585ea98818.beae3375a9fe0915
+    ba479f31b11113d8.8f1ebcb1824c1d92.45115a3603aaced2.199c7912b8a75573
+    75c8580467e445c4.98f68e6290fb264b.d1b6947cc1de8222.66a9338c09b2d08e
+    735e2e61a0bdc049.5da00dd3099ef981.7248ec17b5536134.01205c5039a9b70f
+    464ff0c8e31a45a5
+  after
+    660d86fd63386d59.e7ca9b534603a1ab.f28fc2585ea98818.beae3375a9fe0915
+    ba479f31b11113d8.8f1ebcb1824c1d92.45115a3603aaced2.199c7912b8a75573
+    0000000000000000.0000000000000000.45115a3603aaced2.0000000000000000
+    735e2e61a0bdc049.5da00dd3099ef981.7248ec17b5536134.01205c5039a9b70f
+    464ff0c8e31a45a5
+
+VCMPSD_128_0x11(reg)
+  before
+    9280eb62a491b7fa.90d49c3579a93f91.3966356e8bc0d2e1.0494def2fb142736
+    3f014a88189849ba.a8f51e6a0db480cb.8a9602a1b2eeec16.6366e7f8ae2e9051
+    aa1c08a8d9be3793.978e31ed78e83d21.ab7a71d619b385cd.6b8a8217eaac57b4
+    2f1e212d868cbc2e.396c4fabd75333c0.f75f7d7b5c9bd7b1.f8cc2b3acc9a3989
+    e6f75e4d6f05f1fc
+  after
+    0000000000000000.0000000000000000.8a9602a1b2eeec16.ffffffffffffffff
+    3f014a88189849ba.a8f51e6a0db480cb.8a9602a1b2eeec16.6366e7f8ae2e9051
+    aa1c08a8d9be3793.978e31ed78e83d21.ab7a71d619b385cd.6b8a8217eaac57b4
+    2f1e212d868cbc2e.396c4fabd75333c0.f75f7d7b5c9bd7b1.f8cc2b3acc9a3989
+    e6f75e4d6f05f1fc
+VCMPSD_128_0x11(mem)
+  before
+    11d9973cf0f83d3b.2a529183b890153a.6a58f68e46001dd3.cc9122fb18321e6f
+    553c53f36a7fd76f.f70654160e557e61.0621a184e0fcb887.845c5dc2e90598b3
+    8eed0d5ef9a77cc7.f28467522167334f.e992cc78c152c008.7d0b283c6aa07f28
+    97b8416abb7be76d.771ac5a38f536fb2.ef76f455060ef181.11eb81d5378d107b
+    9e4963faed5a8658
+  after
+    11d9973cf0f83d3b.2a529183b890153a.6a58f68e46001dd3.cc9122fb18321e6f
+    553c53f36a7fd76f.f70654160e557e61.0621a184e0fcb887.845c5dc2e90598b3
+    0000000000000000.0000000000000000.0621a184e0fcb887.0000000000000000
+    97b8416abb7be76d.771ac5a38f536fb2.ef76f455060ef181.11eb81d5378d107b
+    9e4963faed5a8658
+
+VCMPSD_128_0x12(reg)
+  before
+    7e6fca1527931f6a.4e696b01c907d68d.e2126a76f4a46f33.f39b9409ca3d061f
+    0eaab39382c2155d.8ecb081141580354.8eb95235ebe76e81.d3cb287f2aeabc0d
+    ab4518e19a75a5df.33ac93843f792aee.d95b7a4e11a7aa46.6ad32ca34221cf78
+    af8ef76a09380a9a.18d68848de760986.1e43dd2b01705d2e.947f1c622ceffb8c
+    2c9a75a6075ffb74
+  after
+    0000000000000000.0000000000000000.8eb95235ebe76e81.ffffffffffffffff
+    0eaab39382c2155d.8ecb081141580354.8eb95235ebe76e81.d3cb287f2aeabc0d
+    ab4518e19a75a5df.33ac93843f792aee.d95b7a4e11a7aa46.6ad32ca34221cf78
+    af8ef76a09380a9a.18d68848de760986.1e43dd2b01705d2e.947f1c622ceffb8c
+    2c9a75a6075ffb74
+VCMPSD_128_0x12(mem)
+  before
+    10f2b15cec7e8c5c.77cf4b996e95813a.1b1663483a5c5a49.b9bf773a57cec4e6
+    1a514e71fa566a72.5f5611dc621a466c.1638a0707036da63.051944e6b04e1a1a
+    2884c8cf4af550e0.c46d439e835395dc.e708bcac9c1044ff.609e409aa77b9c75
+    14589964fa67fbd2.0061df4b6dcaa935.695132e8d9f7554a.259b68c4d9e286a4
+    af59b7cfe20e1453
+  after
+    10f2b15cec7e8c5c.77cf4b996e95813a.1b1663483a5c5a49.b9bf773a57cec4e6
+    1a514e71fa566a72.5f5611dc621a466c.1638a0707036da63.051944e6b04e1a1a
+    0000000000000000.0000000000000000.1638a0707036da63.0000000000000000
+    14589964fa67fbd2.0061df4b6dcaa935.695132e8d9f7554a.259b68c4d9e286a4
+    af59b7cfe20e1453
+
+VCMPSD_128_0x12(reg)
+  before
+    5c2729285d8b822d.bc963f1b26b72775.707ee04fbb0dbf24.77e17e1043f6c96f
+    8750ba39e6e60bdf.fa0d35e0e9f190f5.700f42160aa81354.ef821c11f71a5c9b
+    8b1f676f1aa9ec14.ac88f79e5f21f17d.5c62020df526e072.ab0188d5106dcaf9
+    c6e12b3794636079.acd20144a554073a.90c11a9e1813642a.882a3f49abfeceb6
+    63c9bc5ae3d625fe
+  after
+    0000000000000000.0000000000000000.700f42160aa81354.ffffffffffffffff
+    8750ba39e6e60bdf.fa0d35e0e9f190f5.700f42160aa81354.ef821c11f71a5c9b
+    8b1f676f1aa9ec14.ac88f79e5f21f17d.5c62020df526e072.ab0188d5106dcaf9
+    c6e12b3794636079.acd20144a554073a.90c11a9e1813642a.882a3f49abfeceb6
+    63c9bc5ae3d625fe
+VCMPSD_128_0x12(mem)
+  before
+    16aa7bf3d5038afc.92e302fbf19da4b9.d8b9d0bbd7958e57.6879883710fbd927
+    7e98f9009c90bbdd.4d6fe829cce5f481.0a07def010f14102.40d64742796b7b16
+    7861b06c548972cc.51d1d92bc1c78c7d.1f89a9cf6c72dd64.7424532dedee88a2
+    decf1e251bfb6bf7.fb57d26f6dcda858.f30aad4508271eab.60afa9630b103a78
+    60c3444f6d5ecd44
+  after
+    16aa7bf3d5038afc.92e302fbf19da4b9.d8b9d0bbd7958e57.6879883710fbd927
+    7e98f9009c90bbdd.4d6fe829cce5f481.0a07def010f14102.40d64742796b7b16
+    0000000000000000.0000000000000000.0a07def010f14102.ffffffffffffffff
+    decf1e251bfb6bf7.fb57d26f6dcda858.f30aad4508271eab.60afa9630b103a78
+    60c3444f6d5ecd44
+
+VCMPSD_128_0x12(reg)
+  before
+    cfab205faf637fb1.8dafbe160af26487.a84bce606c8583bf.6358643cff19c003
+    0bb439fe6eac8a6b.61cd0c2c3f7817aa.b2fbc96a597a5a5e.493e4ca26e567e98
+    6f2a8b9845c42b20.37f58551d69b418c.76b1bff9d13968e0.8287df6170e91595
+    5759139ad1379e7a.e9f2a372ea669d59.51baad796f4debf1.ea009c6722df4126
+    5d75fc9f9f43be79
+  after
+    0000000000000000.0000000000000000.b2fbc96a597a5a5e.0000000000000000
+    0bb439fe6eac8a6b.61cd0c2c3f7817aa.b2fbc96a597a5a5e.493e4ca26e567e98
+    6f2a8b9845c42b20.37f58551d69b418c.76b1bff9d13968e0.8287df6170e91595
+    5759139ad1379e7a.e9f2a372ea669d59.51baad796f4debf1.ea009c6722df4126
+    5d75fc9f9f43be79
+VCMPSD_128_0x12(mem)
+  before
+    b7b27cf5042147b7.1e8dcc6ead911e25.5492e47c97e6e93c.9d628d57cf431d3f
+    d48399556c85990f.2212b281765fe8ce.549fc359fa26df61.b7f55dfd8ea53a73
+    90b3ceabf47c6fab.be33c140c72d3821.c5e6bdf72e323cf5.fbbe18d94701803c
+    c71097e3b71287b7.4d3ef5163c854ac9.83334c405016bb24.c50bbb5597e32944
+    712640df1ad57237
+  after
+    b7b27cf5042147b7.1e8dcc6ead911e25.5492e47c97e6e93c.9d628d57cf431d3f
+    d48399556c85990f.2212b281765fe8ce.549fc359fa26df61.b7f55dfd8ea53a73
+    0000000000000000.0000000000000000.549fc359fa26df61.ffffffffffffffff
+    c71097e3b71287b7.4d3ef5163c854ac9.83334c405016bb24.c50bbb5597e32944
+    712640df1ad57237
+
+VCMPSD_128_0x16(reg)
+  before
+    5c5ca5e26a6597c3.556471ead1519b60.2d7d4b6e72f55973.6a52ee227cdf191a
+    e0f9e5c9261fd391.167cd6aa604768d2.b93dbeb60508a2cb.560f1e88cc991202
+    5a49fd02e78e6350.e62444117d00a939.4cca4a59904b617c.2335585e5f4e6208
+    2697e7f84c3e83aa.a128360946861bc0.446fecc3af49d133.ad9219904e0cc459
+    cff0db0ab7dff521
+  after
+    0000000000000000.0000000000000000.b93dbeb60508a2cb.ffffffffffffffff
+    e0f9e5c9261fd391.167cd6aa604768d2.b93dbeb60508a2cb.560f1e88cc991202
+    5a49fd02e78e6350.e62444117d00a939.4cca4a59904b617c.2335585e5f4e6208
+    2697e7f84c3e83aa.a128360946861bc0.446fecc3af49d133.ad9219904e0cc459
+    cff0db0ab7dff521
+VCMPSD_128_0x16(mem)
+  before
+    671c1cb9b6d1b18b.a031a117eebb6e4b.23532880d6e77a93.fb7a9e60ff8e2f9b
+    50e2578766f0b4c4.236126cc6b9261e1.487397614a2f82df.ce355e9c1ca7b761
+    660e0961e448b9f8.0d7472815f4e9815.ec52fe98be68eed0.1aed27e3a11fa530
+    846bac344be37d52.b9b681a3657c4f96.eabdd8114ca07b91.39eff5a22a8234b5
+    8984c543545da19c
+  after
+    671c1cb9b6d1b18b.a031a117eebb6e4b.23532880d6e77a93.fb7a9e60ff8e2f9b
+    50e2578766f0b4c4.236126cc6b9261e1.487397614a2f82df.ce355e9c1ca7b761
+    0000000000000000.0000000000000000.487397614a2f82df.ffffffffffffffff
+    846bac344be37d52.b9b681a3657c4f96.eabdd8114ca07b91.39eff5a22a8234b5
+    8984c543545da19c
+
+VCMPSD_128_0x16(reg)
+  before
+    64fb9134ba3b2890.88c7beebb7cfbcff.8373509f1aa6c10e.2080a4b813e3e54f
+    279f57dff9a8043e.4decba714518312a.c7f7d9df195b2c29.6967db792d3be836
+    2ebb12b2ac317251.aea71cb411c89900.e18d1ad1fe24c994.a03efa40b6b63f71
+    d69dbf187061ae77.89c4619f36eeb0ac.2c830fe0668fd7fb.a3d07efacb60a72d
+    4cebe2918743dc95
+  after
+    0000000000000000.0000000000000000.c7f7d9df195b2c29.ffffffffffffffff
+    279f57dff9a8043e.4decba714518312a.c7f7d9df195b2c29.6967db792d3be836
+    2ebb12b2ac317251.aea71cb411c89900.e18d1ad1fe24c994.a03efa40b6b63f71
+    d69dbf187061ae77.89c4619f36eeb0ac.2c830fe0668fd7fb.a3d07efacb60a72d
+    4cebe2918743dc95
+VCMPSD_128_0x16(mem)
+  before
+    7959a3f3066e99d6.798f587de0c4f459.b90f031ed093325c.0623b278ec279009
+    05e73b0b65ea9b1b.74dedb4d98e77fa5.1953801dfcc5da39.caba01052d79316b
+    cb6128c4c0c59e91.23d543f436558c07.875e5388d68f6572.d394f7f3c510f6cd
+    a893e50c320a5e64.e2c28cde539a572b.ddfaf84c78fd8f30.7ffc90ae4e781ada
+    2840c8a2673dda3f
+  after
+    7959a3f3066e99d6.798f587de0c4f459.b90f031ed093325c.0623b278ec279009
+    05e73b0b65ea9b1b.74dedb4d98e77fa5.1953801dfcc5da39.caba01052d79316b
+    0000000000000000.0000000000000000.1953801dfcc5da39.0000000000000000
+    a893e50c320a5e64.e2c28cde539a572b.ddfaf84c78fd8f30.7ffc90ae4e781ada
+    2840c8a2673dda3f
+
+VCMPSD_128_0x16(reg)
+  before
+    2caa9c3caaec72a7.7948eeced8c596bf.0df0b3778d431cbc.f9f4ec53011c13a2
+    e58806e6b3111ebf.184ebff6cd0303cf.00aab22c80db1666.b518aa8b8af7aef2
+    b124040d1e361932.636fd5702dcf61c0.173d8767c7ee82d6.ee32adde329b1c4d
+    eacb921e89e9a0ad.3478aa2815366bbd.aef52d96fe099bb8.810e743a121219de
+    4877788a486b60d2
+  after
+    0000000000000000.0000000000000000.00aab22c80db1666.ffffffffffffffff
+    e58806e6b3111ebf.184ebff6cd0303cf.00aab22c80db1666.b518aa8b8af7aef2
+    b124040d1e361932.636fd5702dcf61c0.173d8767c7ee82d6.ee32adde329b1c4d
+    eacb921e89e9a0ad.3478aa2815366bbd.aef52d96fe099bb8.810e743a121219de
+    4877788a486b60d2
+VCMPSD_128_0x16(mem)
+  before
+    203b37b9f0afae54.eec9aa848db5efdc.6835bc0ba043def2.211ea124c2b79fb8
+    e6242bb525ecbf91.17694aabc827416a.dc728603eb02768d.cc04dd7cae85c880
+    74ffd269042d4eb5.c3f96cffd6cad304.6afb85fe127fefb7.0bf2df0c5ffe53bf
+    a798a8c2a87f18eb.4cc30eec522ae156.ef9b33e62fc7049f.3a36a23f70ae7b1f
+    b51a22817e217d4d
+  after
+    203b37b9f0afae54.eec9aa848db5efdc.6835bc0ba043def2.211ea124c2b79fb8
+    e6242bb525ecbf91.17694aabc827416a.dc728603eb02768d.cc04dd7cae85c880
+    0000000000000000.0000000000000000.dc728603eb02768d.0000000000000000
+    a798a8c2a87f18eb.4cc30eec522ae156.ef9b33e62fc7049f.3a36a23f70ae7b1f
+    b51a22817e217d4d
+
+VCMPSD_128_0x1E(reg)
+  before
+    d7eb5b3e24e495f4.5bbb27aa2dedd960.0f142cded9d4a70b.471f0ea961e5726f
+    fef54ae3ff82ffc1.6c33cd0eb0834d3f.6838c041065360cf.4e549132c1e6f554
+    8584eadaaa88f660.b6ce15db4d4d2fb5.b47bc88175334950.e004396d6ed54979
+    c7e43790c281b87c.15567bfb1f583cee.4d293f0ac3019e37.d9fc804681be290b
+    1607e4a918ae5235
+  after
+    0000000000000000.0000000000000000.6838c041065360cf.ffffffffffffffff
+    fef54ae3ff82ffc1.6c33cd0eb0834d3f.6838c041065360cf.4e549132c1e6f554
+    8584eadaaa88f660.b6ce15db4d4d2fb5.b47bc88175334950.e004396d6ed54979
+    c7e43790c281b87c.15567bfb1f583cee.4d293f0ac3019e37.d9fc804681be290b
+    1607e4a918ae5235
+VCMPSD_128_0x1E(mem)
+  before
+    71f3e0824fb07f24.22602d72e2f97ec2.65987b5c42b03015.908d21498b489b33
+    c78af0bd41d06e04.f145c9eaa77d87dd.826092e8d35fc757.d9f56aa86a957bee
+    f39990460b1ad900.8fe00566ac970d7a.487a3a8ded73bcdf.84ab1795fb727b14
+    d3ed3d0ac89b7d44.5a7bdf518dd64d44.93b2f136adf7ccda.edfc237bdb6dd653
+    70348ac6a612ca54
+  after
+    71f3e0824fb07f24.22602d72e2f97ec2.65987b5c42b03015.908d21498b489b33
+    c78af0bd41d06e04.f145c9eaa77d87dd.826092e8d35fc757.d9f56aa86a957bee
+    0000000000000000.0000000000000000.826092e8d35fc757.0000000000000000
+    d3ed3d0ac89b7d44.5a7bdf518dd64d44.93b2f136adf7ccda.edfc237bdb6dd653
+    70348ac6a612ca54
+
+VCMPSD_128_0x1E(reg)
+  before
+    699f48e2f6ec91c6.425072f3945f15fe.ac625217e7c383e8.3fd333cf2ef8b274
+    34885a3b69876753.1c8eabef8c705e58.e3e35b2456ecea12.28ab7a448d812cd8
+    2d3dba3d9b6f8aa7.3d7564e9ccdc147e.5949f4e475dcc06d.2a044481e59ef433
+    b008665427313470.81cf1acd6eaff39d.6cdf1bc3e0203ea6.21ab0c73535cc7b0
+    e96c4e04f2c6607c
+  after
+    0000000000000000.0000000000000000.e3e35b2456ecea12.0000000000000000
+    34885a3b69876753.1c8eabef8c705e58.e3e35b2456ecea12.28ab7a448d812cd8
+    2d3dba3d9b6f8aa7.3d7564e9ccdc147e.5949f4e475dcc06d.2a044481e59ef433
+    b008665427313470.81cf1acd6eaff39d.6cdf1bc3e0203ea6.21ab0c73535cc7b0
+    e96c4e04f2c6607c
+VCMPSD_128_0x1E(mem)
+  before
+    5d138621dfe87dc3.193659ecaa58a257.c46a478691f3b6e1.76f2cb2d3443a369
+    5b6b31b735cfd7b0.c4139072bf71100b.e11069024fb61a76.d5ce008f0cd12961
+    be42c9b110862d6f.0deb05500206b936.b68efb2dc404db86.e3bfb75305570d3a
+    6162ccfa8d193a2e.500ab6f411a6da84.1eb07af10de7b540.fd11ebe7ba608ba2
+    7f1097b5c878df43
+  after
+    5d138621dfe87dc3.193659ecaa58a257.c46a478691f3b6e1.76f2cb2d3443a369
+    5b6b31b735cfd7b0.c4139072bf71100b.e11069024fb61a76.d5ce008f0cd12961
+    0000000000000000.0000000000000000.e11069024fb61a76.0000000000000000
+    6162ccfa8d193a2e.500ab6f411a6da84.1eb07af10de7b540.fd11ebe7ba608ba2
+    7f1097b5c878df43
+
+VCMPSD_128_0x1E(reg)
+  before
+    c607ba2bca2c44c9.2298b580c895b917.e8bb9ec885daafa2.f441603b456d63ce
+    2c434db45d07f7e1.dcb0012edc056756.334cb93afc30743c.160f2bf789a2a25d
+    0e104dbc1c953337.6a762bf0e576ff18.8c0704b5113364fd.5fe45612f4912e18
+    c8bab7afa4633676.aab5aeb200f23e89.4e3979a56170bc92.aa8e5d76a346c22c
+    d5d7bd11b1cd1bc5
+  after
+    0000000000000000.0000000000000000.334cb93afc30743c.0000000000000000
+    2c434db45d07f7e1.dcb0012edc056756.334cb93afc30743c.160f2bf789a2a25d
+    0e104dbc1c953337.6a762bf0e576ff18.8c0704b5113364fd.5fe45612f4912e18
+    c8bab7afa4633676.aab5aeb200f23e89.4e3979a56170bc92.aa8e5d76a346c22c
+    d5d7bd11b1cd1bc5
+VCMPSD_128_0x1E(mem)
+  before
+    ba8bf1ce3a33f50e.b68d86f990fc3a4b.763b08604887e0d4.d72e16768872b8a7
+    377874995b830c33.34d5b6067ded7b61.acd2b5e7da41a126.8232d69420c593e7
+    2669c55e30c91b62.9fdd444206c03765.26472f31d12b3dab.aa90b66cc8f58aff
+    64295d09d412dfc4.51f32a1ac703a803.c266f42c4a516f8e.ad96b068198fd99a
+    e58ec2f5b21ebc65
+  after
+    ba8bf1ce3a33f50e.b68d86f990fc3a4b.763b08604887e0d4.d72e16768872b8a7
+    377874995b830c33.34d5b6067ded7b61.acd2b5e7da41a126.8232d69420c593e7
+    0000000000000000.0000000000000000.acd2b5e7da41a126.ffffffffffffffff
+    64295d09d412dfc4.51f32a1ac703a803.c266f42c4a516f8e.ad96b068198fd99a
+    e58ec2f5b21ebc65
+
+VPSHUFB_128(reg)
+  before
+    b0c5e7802c2f6e0b.ce86b98663691488.a76166f85d420be6.5afb7fc260bff4fb
+    68871b73264d2c39.3e4a56c1fadb75d8.fd74f34a63089cbb.cbd24ce130828720
+    6b205b3c3904329b.9142afa6b573bfe1.ae78ce7a76e1962d.f2b6d774d5a5e526
+    13dca14603e1bbdc.a4394022ae3daece.18b9f1f6325936e9.a9759d676c35cb3c
+    cdd919a6103df28c
+  after
+    0000000000000000.0000000000000000.00bb0008d20000f3.000000e1000000d2
+    68871b73264d2c39.3e4a56c1fadb75d8.fd74f34a63089cbb.cbd24ce130828720
+    6b205b3c3904329b.9142afa6b573bfe1.ae78ce7a76e1962d.f2b6d774d5a5e526
+    13dca14603e1bbdc.a4394022ae3daece.18b9f1f6325936e9.a9759d676c35cb3c
+    cdd919a6103df28c
+VPSHUFB_128(mem)
+  before
+    3aafc71dddc91943.bd06ebfd206f04a9.51fd861f0445fecc.96825a2932fdb89a
+    ccc323b8f1e5fa8c.c6eb34cd2b3a49ae.7559fb8bd1986a06.8421047f125857ee
+    60e1a963659e5294.88d87822c0cfc696.ec181d513142afa9.3ee0eb646ff7518e
+    d0d4d60a57ffdc86.6017b4687cb9b60d.9207675c414d89e1.200c0b44e465e029
+    85f1618b0e2e4069
+  after
+    3aafc71dddc91943.bd06ebfd206f04a9.51fd861f0445fecc.96825a2932fdb89a
+    ccc323b8f1e5fa8c.c6eb34cd2b3a49ae.7559fb8bd1986a06.8421047f125857ee
+    0000000000000000.0000000000000000.570000757f040000.0000986a58000000
+    d0d4d60a57ffdc86.6017b4687cb9b60d.9207675c414d89e1.200c0b44e465e029
+    85f1618b0e2e4069
+
+VPSHUFB_128(reg)
+  before
+    cbdbe8a688deaffa.f96a259ae215568f.aaf4e30bfb8456c0.43f2569a1cc7b4d9
+    4d159cffee026789.b76d12fd23eb7adb.c3bd0178d8bde25b.dca564f6debbebbe
+    66ed7904de25a5c2.e6aa1a21368d0595.05bd0a19afef958a.37ec0f5ca536ebbb
+    74ad7c1ff1d4a450.62edb7f13608b2ea.cd3ffa5c1da6acf8.3192d2b88a436ffd
+    a66529f7abee35b0
+  after
+    0000000000000000.0000000000000000.6400bde200000000.dc00c37800a50000
+    4d159cffee026789.b76d12fd23eb7adb.c3bd0178d8bde25b.dca564f6debbebbe
+    66ed7904de25a5c2.e6aa1a21368d0595.05bd0a19afef958a.37ec0f5ca536ebbb
+    74ad7c1ff1d4a450.62edb7f13608b2ea.cd3ffa5c1da6acf8.3192d2b88a436ffd
+    a66529f7abee35b0
+VPSHUFB_128(mem)
+  before
+    722f90032444f7ff.d2a29fbec59aa1e0.070267583f673e05.7790ceabbd6f6351
+    70bd84c910507217.db18e04cf603d81e.b1b5a5446eb66513.5ffc80742cd5f643
+    7edb80368b1e6123.ed5b3b351f9c85b5.3cd1eda0de02e340.e1cf0f220565a077
+    77550035b2ba8150.62b7aae5dcf0e452.8424bc58ac5673b7.59557421e5a99e9c
+    23daacdd67302c5c
+  after
+    722f90032444f7ff.d2a29fbec59aa1e0.070267583f673e05.7790ceabbd6f6351
+    70bd84c910507217.db18e04cf603d81e.b1b5a5446eb66513.5ffc80742cd5f643
+    0000000000000000.0000000000000000.5fd55f13b15fb580.5f00000000b12cf6
+    77550035b2ba8150.62b7aae5dcf0e452.8424bc58ac5673b7.59557421e5a99e9c
+    23daacdd67302c5c
+
+VPSHUFB_128(reg)
+  before
+    9ba9b4c228838663.37f680b1a1318eca.98772ac8ca8b30a0.65788c58f3bed2a4
+    1d10873cc330e75e.9a8c7d98738f44bc.e9e9b84a85f9a64c.ba9adb8dd047bc35
+    055921b8d5c28cf9.7ce171d544de5e52.b2574fd7a7c78101.615624e15efced94
+    afd17ea0f9c5b1e0.b8c2da54312d99ba.500eecdbcf81ff6c.3578e342b9e920ed
+    12cb959afe1b126d
+  after
+    0000000000000000.0000000000000000.00bae900000000bc.bc9a8d00e9000000
+    1d10873cc330e75e.9a8c7d98738f44bc.e9e9b84a85f9a64c.ba9adb8dd047bc35
+    055921b8d5c28cf9.7ce171d544de5e52.b2574fd7a7c78101.615624e15efced94
+    afd17ea0f9c5b1e0.b8c2da54312d99ba.500eecdbcf81ff6c.3578e342b9e920ed
+    12cb959afe1b126d
+VPSHUFB_128(mem)
+  before
+    d31db5d7499d7f40.77c49b62cbc691be.2cfb33015585b11e.1d5a89c397b15a39
+    5638bfe3b57b2291.b87d7368e850693f.b358f9c8cdf462aa.778724f99be5ce13
+    76e92fac5ec2b88d.d04a0220ecf07510.28a5a696b485678b.b8e0b8eb78a999a7
+    0efc811d617dfd60.1a7544f57231f0dd.69adb85527447ded.3db34104c987f5a0
+    624abbb02b0d1fab
+  after
+    d31db5d7499d7f40.77c49b62cbc691be.2cfb33015585b11e.1d5a89c397b15a39
+    5638bfe3b57b2291.b87d7368e850693f.b358f9c8cdf462aa.778724f99be5ce13
+    0000000000000000.0000000000000000.c8009bce24000058.f9f400000000f462
+    0efc811d617dfd60.1a7544f57231f0dd.69adb85527447ded.3db34104c987f5a0
+    624abbb02b0d1fab
+
+VCVTTSD2SI_32(reg)
+  before
+    83f2235b39c75274.fc3d3222dab8ad35.f24b3552169f1851.513eaaf2413e60fb
+    fdf773718f40cca6.1a77bda7e4808339.b318d2a575c72719.bb22f85a1f7ecbe2
+    2aa5a95eca04c7ee.46789e999be03c97.bb2816592b3359e1.85261f78dc107bce
+    6748c08e869f80f7.5a0a51e21ce5947c.64c7fddbd272ec54.8916993794012cea
+    a5bee485645c9a63
+  after
+    83f2235b39c75274.fc3d3222dab8ad35.f24b3552169f1851.513eaaf2413e60fb
+    fdf773718f40cca6.1a77bda7e4808339.b318d2a575c72719.bb22f85a1f7ecbe2
+    2aa5a95eca04c7ee.46789e999be03c97.bb2816592b3359e1.85261f78dc107bce
+    6748c08e869f80f7.5a0a51e21ce5947c.64c7fddbd272ec54.8916993794012cea
+    0000000000000000
+VCVTTSD2SI_32(mem)
+  before
+    b3e97b4d682e8064.102bb56d5e9e326e.34fa536f82994613.0c418395090d1a1f
+    9065db7bbb819b1a.819c8368ee8c1aff.ae141e2dea0a0f89.0ee1a5f4699220ed
+    19fc7efb7964a7b0.16e525e9d3f57455.a52430066f44ab0a.c5f45e65918c396b
+    287be2babfe05f53.2b539a5ea9667c1d.f6f604e82e52d6c1.8fc6aa521a88a344
+    c6a38529a3119825
+  after
+    b3e97b4d682e8064.102bb56d5e9e326e.34fa536f82994613.0c418395090d1a1f
+    9065db7bbb819b1a.819c8368ee8c1aff.ae141e2dea0a0f89.0ee1a5f4699220ed
+    19fc7efb7964a7b0.16e525e9d3f57455.a52430066f44ab0a.c5f45e65918c396b
+    287be2babfe05f53.2b539a5ea9667c1d.f6f604e82e52d6c1.8fc6aa521a88a344
+    0000000000000000
+
+VCVTTSD2SI_32(reg)
+  before
+    c7d7eb55c5b354ba.9aae82a2a903802f.1c32db310b6a6d02.7b5517be42404bdb
+    efaed9411efb15ae.4c61daa052d8c66f.45cde5d0958e84b1.110fe374c71ac784
+    98734a5b4a7415ae.186067a1d66ced40.0272b5a6e45cfdd6.95eee6f6dbed06e7
+    20743a0ee4aa9166.db76a38f52c9b0cd.ae6b461f9363141c.e1bf9b3097c4c330
+    d24e7e0e19acbb8c
+  after
+    c7d7eb55c5b354ba.9aae82a2a903802f.1c32db310b6a6d02.7b5517be42404bdb
+    efaed9411efb15ae.4c61daa052d8c66f.45cde5d0958e84b1.110fe374c71ac784
+    98734a5b4a7415ae.186067a1d66ced40.0272b5a6e45cfdd6.95eee6f6dbed06e7
+    20743a0ee4aa9166.db76a38f52c9b0cd.ae6b461f9363141c.e1bf9b3097c4c330
+    0000000000000000
+VCVTTSD2SI_32(mem)
+  before
+    44670c7c7db0aa27.e1fba5c6882ac481.71700c58e1fecc43.a70694a73f2c0430
+    13d5c066dedc4c2d.385587efd37fecab.b61b1de7a014fdce.488d9caa83450abd
+    1b6615b9583d5cc9.81ceddf661354391.87415228aa19ff99.ed4d5894fc396270
+    38e48a5f08de9727.18b1a245cdd906df.beaf28071c188dd1.f191c6d2459547f5
+    b2a7e1cefbe4f6f7
+  after
+    44670c7c7db0aa27.e1fba5c6882ac481.71700c58e1fecc43.a70694a73f2c0430
+    13d5c066dedc4c2d.385587efd37fecab.b61b1de7a014fdce.488d9caa83450abd
+    1b6615b9583d5cc9.81ceddf661354391.87415228aa19ff99.ed4d5894fc396270
+    38e48a5f08de9727.18b1a245cdd906df.beaf28071c188dd1.f191c6d2459547f5
+    0000000000000000
+
+VCVTTSD2SI_32(reg)
+  before
+    8bdaa5f5b9b2ab23.471c984609cbb975.5a4cd24ab3f67041.38301a70111e64a1
+    d7750fb41c8ba124.22dabc5978107edc.a1e96a6fb018be62.d192a44fa5363f36
+    f4c51a76bffc16a7.a5ea738371baa18b.4ad664225fcc2cee.659f4290f56cdcbc
+    3c16c1a73e904457.ae1838b20ed5dfac.b15dbece5d9df693.d02570201dcdf55e
+    eeeeabe938644749
+  after
+    8bdaa5f5b9b2ab23.471c984609cbb975.5a4cd24ab3f67041.38301a70111e64a1
+    d7750fb41c8ba124.22dabc5978107edc.a1e96a6fb018be62.d192a44fa5363f36
+    f4c51a76bffc16a7.a5ea738371baa18b.4ad664225fcc2cee.659f4290f56cdcbc
+    3c16c1a73e904457.ae1838b20ed5dfac.b15dbece5d9df693.d02570201dcdf55e
+    0000000080000000
+VCVTTSD2SI_32(mem)
+  before
+    9ac76ed9633d8da8.0db403b236d467e1.182f87d16e6bf36b.32cb73de451857fa
+    b27b35dab96584a8.c1ebd9054353bdf1.bffdddccaa8a9bf5.296b7fc0b4c78cd2
+    11d87cda56e7e875.b606410c00998032.7f4cb590e13e9176.f28bdfdf4538d1c5
+    93a8bfc457cf753a.465335310933ed51.34e98a072c91921a.e9768ea795f7617f
+    6a7787853f8f7aad
+  after
+    9ac76ed9633d8da8.0db403b236d467e1.182f87d16e6bf36b.32cb73de451857fa
+    b27b35dab96584a8.c1ebd9054353bdf1.bffdddccaa8a9bf5.296b7fc0b4c78cd2
+    11d87cda56e7e875.b606410c00998032.7f4cb590e13e9176.f28bdfdf4538d1c5
+    93a8bfc457cf753a.465335310933ed51.34e98a072c91921a.e9768ea795f7617f
+    0000000000000000
+
+VCVTTSD2SI_64(reg)
+  before
+    d1dbc9e3e08c56fb.14b97b84d72ae624.cf1cb3e1fbac3ffa.baa0da1ea991590b
+    7aee4d2e137a3115.6fd52b06f303f85e.abaeb7887190b4d8.ec3d21c2744aa478
+    c0fc11d374e649a6.82c94b36c6666715.37553b93086c8697.a88bd9dda8c62c8b
+    01500f3ca05bd85a.286158006d60ef74.d05d3d6c5bcbf2e5.c958805d6213b071
+    2a6e912dbd3deb55
+  after
+    d1dbc9e3e08c56fb.14b97b84d72ae624.cf1cb3e1fbac3ffa.baa0da1ea991590b
+    7aee4d2e137a3115.6fd52b06f303f85e.abaeb7887190b4d8.ec3d21c2744aa478
+    c0fc11d374e649a6.82c94b36c6666715.37553b93086c8697.a88bd9dda8c62c8b
+    01500f3ca05bd85a.286158006d60ef74.d05d3d6c5bcbf2e5.c958805d6213b071
+    8000000000000000
+VCVTTSD2SI_64(mem)
+  before
+    a99a8838d54e9864.983845d733661bde.3c68cc5003fc4ba9.d011b8810739336b
+    21a8e26cc75574ca.e1feaf0fc8924dde.9cac2513a54638dd.94bfa83da74386d8
+    6d6419b4ae5b3ab2.37f04750fb6bab05.23f7de336e4b723f.79b1090bd87427d6
+    6b99abfca76ea748.f8580b06697d7100.ac17739e7b16b4f8.d934d85935585212
+    11940f925b7c4237
+  after
+    a99a8838d54e9864.983845d733661bde.3c68cc5003fc4ba9.d011b8810739336b
+    21a8e26cc75574ca.e1feaf0fc8924dde.9cac2513a54638dd.94bfa83da74386d8
+    6d6419b4ae5b3ab2.37f04750fb6bab05.23f7de336e4b723f.79b1090bd87427d6
+    6b99abfca76ea748.f8580b06697d7100.ac17739e7b16b4f8.d934d85935585212
+    8000000000000000
+
+VCVTTSD2SI_64(reg)
+  before
+    7d1dac23e56b34f2.f5151331ce9977ba.7f83f69dad55db7b.15d6613ee7b3bb37
+    791aab766fb164ee.e9a2cd3d3de86632.27bc0481647f2521.38012201cf2f4326
+    61d906f896db0dd8.210d560d136830dc.4e51311e2a858a9f.f36334d24e9508f2
+    91a4bb15f6746d5c.7b22298e692490e5.4e8c79e199f546a0.20ca129d80f2c5c6
+    9c00394e825137cf
+  after
+    7d1dac23e56b34f2.f5151331ce9977ba.7f83f69dad55db7b.15d6613ee7b3bb37
+    791aab766fb164ee.e9a2cd3d3de86632.27bc0481647f2521.38012201cf2f4326
+    61d906f896db0dd8.210d560d136830dc.4e51311e2a858a9f.f36334d24e9508f2
+    91a4bb15f6746d5c.7b22298e692490e5.4e8c79e199f546a0.20ca129d80f2c5c6
+    0000000000000000
+VCVTTSD2SI_64(mem)
+  before
+    44d323d170be1a38.65c9c53a2a09bd25.d1adc2aa5e294379.85bbd934505a97d1
+    f20d4e126545292e.399220d1ce243ce0.007a9d4f0b8104c3.4d284c85e841b7dd
+    837b35fe7df321dd.694bc8487f542538.e55436688f3b90f0.0420ce3eff35e371
+    d4e9547fd5d3be70.5142b90ad922b3da.5a090ae10360a42b.04ee5ccd31c25739
+    abe0f09d19754fe0
+  after
+    44d323d170be1a38.65c9c53a2a09bd25.d1adc2aa5e294379.85bbd934505a97d1
+    f20d4e126545292e.399220d1ce243ce0.007a9d4f0b8104c3.4d284c85e841b7dd
+    837b35fe7df321dd.694bc8487f542538.e55436688f3b90f0.0420ce3eff35e371
+    d4e9547fd5d3be70.5142b90ad922b3da.5a090ae10360a42b.04ee5ccd31c25739
+    0000000000000000
+
+VCVTTSD2SI_64(reg)
+  before
+    5341881a54d90613.bf22278288f2bc14.4dc2f083761c2271.3c6393a685fef9a1
+    595c1fb07d7ab97d.21f42bf4b35bd6f5.b916681ff5cdb0ab.672f50a331204e7e
+    1a7eb2cb30e5a3cc.d629dbc0711ac93e.f08b1d4af0c29731.b839bac422d35ded
+    f0f33bd70aa501a9.ba8eb3d2df3b511b.506e0c70038514b2.094d4ef57422e31b
+    3736892244199b33
+  after
+    5341881a54d90613.bf22278288f2bc14.4dc2f083761c2271.3c6393a685fef9a1
+    595c1fb07d7ab97d.21f42bf4b35bd6f5.b916681ff5cdb0ab.672f50a331204e7e
+    1a7eb2cb30e5a3cc.d629dbc0711ac93e.f08b1d4af0c29731.b839bac422d35ded
+    f0f33bd70aa501a9.ba8eb3d2df3b511b.506e0c70038514b2.094d4ef57422e31b
+    8000000000000000
+VCVTTSD2SI_64(mem)
+  before
+    1ec2e638aec44362.3807b840a74610c2.aaef2f1518cb2ab9.34082ffdcaa563d8
+    9abbe121cd3095d4.4e062472a25509c3.8018cc7739d50f44.f8a8845de3abbf4f
+    87eef6cbbd684eb4.8e3b7bda975d2b58.19d505e35d66bde8.f79906fde72565c4
+    c127a2219b79292f.55f4b9e223eab02c.51f15646a189efd0.8f26b147749e91e3
+    1b9d82a926a37f57
+  after
+    1ec2e638aec44362.3807b840a74610c2.aaef2f1518cb2ab9.34082ffdcaa563d8
+    9abbe121cd3095d4.4e062472a25509c3.8018cc7739d50f44.f8a8845de3abbf4f
+    87eef6cbbd684eb4.8e3b7bda975d2b58.19d505e35d66bde8.f79906fde72565c4
+    c127a2219b79292f.55f4b9e223eab02c.51f15646a189efd0.8f26b147749e91e3
+    0000000000000000
+
+VCVTSI2SS_64(reg)
+  before
+    f648748e98bf6acd.2432600e826ee370.fd7bdbf8e189d5eb.043a3b8a204a6328
+    7e748361677e8ff1.8cdbac808f5338a4.e31ddc876ec5d642.0e7a309cf6b6d31d
+    0d6dab902e6c2a6e.d5ed0262dd35e4f7.6326b8fb652aeedd.4b7eb26940d8fcdb
+    017ee886891676f0.db36dea0891fa294.d9e26bc063455a68.96123bdb1abc998d
+    cd024ae09f6f6760
+  after
+    0000000000000000.0000000000000000.e31ddc876ec5d642.0e7a309cde4bf6d4
+    7e748361677e8ff1.8cdbac808f5338a4.e31ddc876ec5d642.0e7a309cf6b6d31d
+    0d6dab902e6c2a6e.d5ed0262dd35e4f7.6326b8fb652aeedd.4b7eb26940d8fcdb
+    017ee886891676f0.db36dea0891fa294.d9e26bc063455a68.96123bdb1abc998d
+    cd024ae09f6f6760
+VCVTSI2SS_64(mem)
+  before
+    cb195863ebfc2280.b4f537af1508b025.7a80bd27ae1d2fa8.a19cf14203a1568e
+    6c25e24f1b6f8618.841c92786dcc14b7.8d981ae1693c475e.17a247ede2cb1dfb
+    8cf065924ad54e55.cb41f84b2ef0de52.f24a71bbd587a6e3.973e682d9b4eec5c
+    06475c1795393762.e6ae6295f40049a3.84623ea20f0a0763.7dbd506ecbb6ff5d
+    246bfc1d0d8f92aa
+  after
+    cb195863ebfc2280.b4f537af1508b025.7a80bd27ae1d2fa8.a19cf14203a1568e
+    6c25e24f1b6f8618.841c92786dcc14b7.8d981ae1693c475e.17a247ede2cb1dfb
+    0000000000000000.0000000000000000.8d981ae1693c475e.17a247eddebcc61d
+    06475c1795393762.e6ae6295f40049a3.84623ea20f0a0763.7dbd506ecbb6ff5d
+    246bfc1d0d8f92aa
+
+VCVTSI2SS_64(reg)
+  before
+    ea9466a4fd66e0ed.b8f643ca18a7fd6c.32b0cdc359869256.1fabfe8032d22709
+    2a848c7138c627d5.7dc99698ed2c5c9f.0992363ffc10f516.9ef32b435aeac202
+    408669ee5a3ca00c.308cd26b33d30f26.c8a29877762aad90.df0443d6a45e9379
+    87e8f989fe538a3f.af0a723003a8d32d.cc2aefd5665ef76f.bdabc2242c3b579b
+    13b4221b0d8cca93
+  after
+    0000000000000000.0000000000000000.0992363ffc10f516.9ef32b435d9da111
+    2a848c7138c627d5.7dc99698ed2c5c9f.0992363ffc10f516.9ef32b435aeac202
+    408669ee5a3ca00c.308cd26b33d30f26.c8a29877762aad90.df0443d6a45e9379
+    87e8f989fe538a3f.af0a723003a8d32d.cc2aefd5665ef76f.bdabc2242c3b579b
+    13b4221b0d8cca93
+VCVTSI2SS_64(mem)
+  before
+    bfebe1a6635ea88e.5df439adc0971f19.d511f2d47bb864e2.6f7837c7653a0f60
+    9b1b79b24bbbacb8.1df723c63d949c47.7d6bce41b70e7d6f.0ed66db8124a310f
+    85126929e0b1933c.223db54010d73d75.85e58265d2b7db00.05918c1406189827
+    579a2af83f4c1947.ca12ea87d6eb3d4e.c74b8b2be9bd3ac2.b0f59047df328155
+    6b4d75be39242844
+  after
+    bfebe1a6635ea88e.5df439adc0971f19.d511f2d47bb864e2.6f7837c7653a0f60
+    9b1b79b24bbbacb8.1df723c63d949c47.7d6bce41b70e7d6f.0ed66db8124a310f
+    0000000000000000.0000000000000000.7d6bce41b70e7d6f.0ed66db85edef070
+    579a2af83f4c1947.ca12ea87d6eb3d4e.c74b8b2be9bd3ac2.b0f59047df328155
+    6b4d75be39242844
+
+VCVTSI2SS_64(reg)
+  before
+    92e737e3af79c9a1.ef80390b8397f905.70c1bf082b5dd97e.2169647e172e56e1
+    810dd323ddbd9f18.2790134fc99ef0a1.6f982e2da9b84db3.6d0a894c7816ea88
+    940c44eb607ce754.dd9633af2c6dba47.25e13563ef88d597.88fc76802980b3e4
+    273086a5d443dc02.eb5e1516c9111325.ece9cf17965aacd6.4f09a80746786d21
+    9cfe9acbea0ad36a
+  after
+    0000000000000000.0000000000000000.6f982e2da9b84db3.6d0a894cdec602ca
+    810dd323ddbd9f18.2790134fc99ef0a1.6f982e2da9b84db3.6d0a894c7816ea88
+    940c44eb607ce754.dd9633af2c6dba47.25e13563ef88d597.88fc76802980b3e4
+    273086a5d443dc02.eb5e1516c9111325.ece9cf17965aacd6.4f09a80746786d21
+    9cfe9acbea0ad36a
+VCVTSI2SS_64(mem)
+  before
+    4ca7c8b93143a2eb.96c595bfd49dbccd.2eb43572bb95b665.22fcf8b33cb90f1d
+    3cd0aebe382e96d1.3d176ea4fc16c162.826310ae1f066033.2166aca57d313a18
+    4645c8c41ad86b48.78720bc0e93b286d.c43821b6106fcdbc.4672e858f44f6872
+    47d193b9f44cdc7c.a3216a7e36972c99.ceffe476abdcb82c.ee6ea7383e9ed6d8
+    73a4e5b1f6aac0f5
+  after
+    4ca7c8b93143a2eb.96c595bfd49dbccd.2eb43572bb95b665.22fcf8b33cb90f1d
+    3cd0aebe382e96d1.3d176ea4fc16c162.826310ae1f066033.2166aca57d313a18
+    0000000000000000.0000000000000000.826310ae1f066033.2166aca55e0bf3e3
+    47d193b9f44cdc7c.a3216a7e36972c99.ceffe476abdcb82c.ee6ea7383e9ed6d8
+    73a4e5b1f6aac0f5
+
+VCVTSI2SD_64(reg)
+  before
+    32619e2fb8006277.1b428a87e196a698.1a71864d80b70a93.7d84d5da0b59deae
+    88f1cf1e212bf707.9f62291cfec385c8.39ae5c966226fe06.ad9371ce4cf3fb6f
+    cfa072eacdb7bc53.adfeec6366dd353a.5b24e6c67970449f.3af8323f8bb5cb9a
+    64ba85005731ed07.22e2504836f37117.de1f22496021170a.017e9617e3ac095c
+    dcf2184371e372e1
+  after
+    0000000000000000.0000000000000000.39ae5c966226fe06.c3c186f3de470e47
+    88f1cf1e212bf707.9f62291cfec385c8.39ae5c966226fe06.ad9371ce4cf3fb6f
+    cfa072eacdb7bc53.adfeec6366dd353a.5b24e6c67970449f.3af8323f8bb5cb9a
+    64ba85005731ed07.22e2504836f37117.de1f22496021170a.017e9617e3ac095c
+    dcf2184371e372e1
+VCVTSI2SD_64(mem)
+  before
+    a82035b05166c254.a38b04ca5b24c6cf.dad9cfb7890ef68e.1deb0b8cb4c6b5f2
+    41d467499e42b5e2.e85ee9b6761c8256.b1b1e79c7c3c7fc9.73d39ef910eb5703
+    83da2cfa748206b6.8f80322e43a65e48.833414e32a88caf4.3e24d5fe101a3ceb
+    4afeffaef03272fd.f53dd9a05f4d9552.2c30d079afff913d.d92bae0552e19e54
+    9f32247c6fcbbaea
+  after
+    a82035b05166c254.a38b04ca5b24c6cf.dad9cfb7890ef68e.1deb0b8cb4c6b5f2
+    41d467499e42b5e2.e85ee9b6761c8256.b1b1e79c7c3c7fc9.73d39ef910eb5703
+    0000000000000000.0000000000000000.b1b1e79c7c3c7fc9.43bdeb0b8cb4c6b6
+    4afeffaef03272fd.f53dd9a05f4d9552.2c30d079afff913d.d92bae0552e19e54
+    9f32247c6fcbbaea
+
+VCVTSI2SD_64(reg)
+  before
+    ee8533ce0565cc5a.710b5c532d5fb4e3.74e1dc77659d6520.886f994828ac91cd
+    2072d767b03a0f50.d6cfc0d548148a93.69b8371ff223085e.73bee93eb19b85d3
+    93440db30ad6c177.5414a51e5c5dae3a.300ee404a16abab7.c8e83e4565d92a79
+    a146d01eb2c61b7c.c7a7891b8647dd03.252ee1920fffb9d7.65bb144b60713ceb
+    2501e53bbf6f7756
+  after
+    0000000000000000.0000000000000000.69b8371ff223085e.43c280f29ddfb7bc
+    2072d767b03a0f50.d6cfc0d548148a93.69b8371ff223085e.73bee93eb19b85d3
+    93440db30ad6c177.5414a51e5c5dae3a.300ee404a16abab7.c8e83e4565d92a79
+    a146d01eb2c61b7c.c7a7891b8647dd03.252ee1920fffb9d7.65bb144b60713ceb
+    2501e53bbf6f7756
+VCVTSI2SD_64(mem)
+  before
+    e4882f019ee096e6.a7c51c1542955c0b.0b54e7b8e1ddd21b.a3652935d76c3f6b
+    7e1a6d8917cf56c6.020ded0256cfbecf.fce73ce2892b4aad.0800b85a9640891f
+    ce841bbf49487323.0c6a3f528b017e74.752b02839b3e01e7.af498a6be704d39e
+    b292b58f4d58a929.22280f727cb6d8a8.54eeb7893321b3f2.f48c9cd666465895
+    3317e905b09155b0
+  after
+    e4882f019ee096e6.a7c51c1542955c0b.0b54e7b8e1ddd21b.a3652935d76c3f6b
+    7e1a6d8917cf56c6.020ded0256cfbecf.fce73ce2892b4aad.0800b85a9640891f
+    0000000000000000.0000000000000000.fce73ce2892b4aad.c3d726b5b28a24f0
+    b292b58f4d58a929.22280f727cb6d8a8.54eeb7893321b3f2.f48c9cd666465895
+    3317e905b09155b0
+
+VCVTSI2SD_64(reg)
+  before
+    c8356d666172069a.050fb8e5420ab303.a19358cdc67a0714.74fad6df6ce01cfd
+    0e3124641473a700.a2c99fae416a4ede.e3f616ce04da4967.b01cdb716288f731
+    63580a6a6523738d.678ae6d4698536e5.459e45e3d361d84b.e620422a322401bd
+    22f61ce6f10ba7ee.2e200945d3662645.23d8e277ce9bf06c.f0d288f9f8c0f5cb
+    acfd28c7cf699088
+  after
+    0000000000000000.0000000000000000.e3f616ce04da4967.c3d4c0b5ce0c259c
+    0e3124641473a700.a2c99fae416a4ede.e3f616ce04da4967.b01cdb716288f731
+    63580a6a6523738d.678ae6d4698536e5.459e45e3d361d84b.e620422a322401bd
+    22f61ce6f10ba7ee.2e200945d3662645.23d8e277ce9bf06c.f0d288f9f8c0f5cb
+    acfd28c7cf699088
+VCVTSI2SD_64(mem)
+  before
+    f46f9e81d32a8e1f.a657554353b97fcf.d55584eb9d1adb29.d9eee8f69215cf78
+    a6f266132110abbd.4dc7b1ee28b836db.36f6d4b4e3ab11be.c42c53ccba5aaf18
+    9c53fd6ad425a38d.71912c510b9509be.2fce748bc0288430.3ee01f65e2f6ccfb
+    b45edd70097731bd.7003c3d999db3426.9aabe05c519aefaa.a455482ea77664cb
+    52d6cb91a565b134
+  after
+    f46f9e81d32a8e1f.a657554353b97fcf.d55584eb9d1adb29.d9eee8f69215cf78
+    a6f266132110abbd.4dc7b1ee28b836db.36f6d4b4e3ab11be.c42c53ccba5aaf18
+    0000000000000000.0000000000000000.36f6d4b4e3ab11be.c3c3088b84b6f518
+    b45edd70097731bd.7003c3d999db3426.9aabe05c519aefaa.a455482ea77664cb
+    52d6cb91a565b134
+
+VCVTSI2SD_32(reg)
+  before
+    a4b0a3fc774ff0e4.c8df8413db121276.a56770f36d16f3bd.55579413b00f0f59
+    f62fccd9b9c15d84.b5a26d3d670101e6.6b0a310924d3812f.3aa00d9cfc92a069
+    a49f4296084633c3.587315dcc850bb39.1f380289599d1b29.2650c6e34f305d05
+    0a4c029eff6baf4b.8b1df6db1b0bfc9b.1e3ddddea900fd57.f6343bd5c5f30359
+    8418e85c7bea4e93
+  after
+    0000000000000000.0000000000000000.6b0a310924d3812f.41defa93a4c00000
+    f62fccd9b9c15d84.b5a26d3d670101e6.6b0a310924d3812f.3aa00d9cfc92a069
+    a49f4296084633c3.587315dcc850bb39.1f380289599d1b29.2650c6e34f305d05
+    0a4c029eff6baf4b.8b1df6db1b0bfc9b.1e3ddddea900fd57.f6343bd5c5f30359
+    8418e85c7bea4e93
+VCVTSI2SD_32(mem)
+  before
+    adc749668c1efadd.8381065c3bbb0dc8.2b6d8e267b3f8037.c265c073af896264
+    4d0fdbdd159dc263.6d8c4c3e58c288e7.152f58a904f70339.69fba5b608c387fd
+    40ba19af32726352.23b7d0aff00c5e54.232fd050d34040cf.6d4c8b124f3aa8cd
+    63957fc7fdaa99d6.014f8c1ca226c9bb.323973070425f422.2ba56bf3207b0181
+    ff5042c51811cdc5
+  after
+    adc749668c1efadd.8381065c3bbb0dc8.2b6d8e267b3f8037.c265c073af896264
+    4d0fdbdd159dc263.6d8c4c3e58c288e7.152f58a904f70339.69fba5b608c387fd
+    0000000000000000.0000000000000000.152f58a904f70339.c1d41da767000000
+    63957fc7fdaa99d6.014f8c1ca226c9bb.323973070425f422.2ba56bf3207b0181
+    ff5042c51811cdc5
+
+VCVTSI2SD_32(reg)
+  before
+    469a0df5d3884944.906c89119450201a.63a07eef079b05c7.1e19bcbbb2b2da61
+    5acec7edec6db1ab.a40bb4791370b34b.a4f6a095bef85024.c39a2756f9f4b0b6
+    983a6c1bff4b40a6.7b3e7aeb95160f94.229cf07a60c8e47f.fd8930c6f6f6304d
+    5c28f9e9a9ae33e0.f1d05953374fef22.38e06a0b8b97fe84.a8b253f5c4c41754
+    a0e10dd1806a20f4
+  after
+    0000000000000000.0000000000000000.a4f6a095bef85024.c1dfe577c3000000
+    5acec7edec6db1ab.a40bb4791370b34b.a4f6a095bef85024.c39a2756f9f4b0b6
+    983a6c1bff4b40a6.7b3e7aeb95160f94.229cf07a60c8e47f.fd8930c6f6f6304d
+    5c28f9e9a9ae33e0.f1d05953374fef22.38e06a0b8b97fe84.a8b253f5c4c41754
+    a0e10dd1806a20f4
+VCVTSI2SD_32(mem)
+  before
+    c1e2d84546f5085c.02e568c58523c605.e28fcc9d14271121.410c08b3dbf1d9de
+    e781323d30718bb6.e6beb71a303535c2.2a4550b549a82fbc.9b6dc8ddeb63b23a
+    ee8997a55de8652e.64fce1534570bbc3.a5bf5f88f1e00620.a04fa5f75779c544
+    b2c88169e66851f2.d8eee2de616195b4.2fc9770028da5178.aefe9b6cbcbd4ea7
+    1fc6a6a8b6bd890f
+  after
+    c1e2d84546f5085c.02e568c58523c605.e28fcc9d14271121.410c08b3dbf1d9de
+    e781323d30718bb6.e6beb71a303535c2.2a4550b549a82fbc.9b6dc8ddeb63b23a
+    0000000000000000.0000000000000000.2a4550b549a82fbc.c1c2071311000000
+    b2c88169e66851f2.d8eee2de616195b4.2fc9770028da5178.aefe9b6cbcbd4ea7
+    1fc6a6a8b6bd890f
+
+VCVTSI2SD_32(reg)
+  before
+    51f2c317e004b12a.0f086e75eafd0c2b.9edfb7261f93ff40.a32f130b0ba3cdf1
+    9ed0ed25d61f03a2.e116d8b582b15208.121a5a971c933513.dfbdb094b54636b6
+    64aa203e3599ba23.03be3e15cc92dfb3.90edc99ef3eb72da.be3ec88643cf48f5
+    fdcd58cf98fe135a.53cc1982e4ac6e58.74a2ffa5412af341.1c7fd9cfd14bbed7
+    d54c5e5a7ac5558b
+  after
+    0000000000000000.0000000000000000.121a5a971c933513.41deb15562c00000
+    9ed0ed25d61f03a2.e116d8b582b15208.121a5a971c933513.dfbdb094b54636b6
+    64aa203e3599ba23.03be3e15cc92dfb3.90edc99ef3eb72da.be3ec88643cf48f5
+    fdcd58cf98fe135a.53cc1982e4ac6e58.74a2ffa5412af341.1c7fd9cfd14bbed7
+    d54c5e5a7ac5558b
+VCVTSI2SD_32(mem)
+  before
+    c471d3145a49c93b.c68591429cdb4bf3.ac0be6e6e509bc24.1a86f919a1d9f4f3
+    c7bab4e78ee4d613.1c1ec805ddbb9b99.e949222fecb78543.dee5b167af86b09d
+    b9f37ec031a13740.59e3f882f52a42f9.e850484814c284e0.1c0a25f908bc64eb
+    75e8ab8b608da9ee.da221d2783b57abe.84edd41d79347628.2f43503d48084c88
+    75da2e9e0af4a321
+  after
+    c471d3145a49c93b.c68591429cdb4bf3.ac0be6e6e509bc24.1a86f919a1d9f4f3
+    c7bab4e78ee4d613.1c1ec805ddbb9b99.e949222fecb78543.dee5b167af86b09d
+    0000000000000000.0000000000000000.e949222fecb78543.c1d78982c3400000
+    75e8ab8b608da9ee.da221d2783b57abe.84edd41d79347628.2f43503d48084c88
+    75da2e9e0af4a321
+
+VPOR_128(reg)
+  before
+    491cbc88ea0fa761.d964ba3536b2e848.fb25335f20e78095.98ec439a381b1747
+    0655f46785e292f5.bf3424a8cf1eaf7b.193937966a4c8f2a.02190fab6c832368
+    0ad1d4a776fba089.052466d249ddbbb3.8eaa2438fd71e528.9c3fb63c327755b8
+    b0dc57b45ae50fc8.8500fd9ebdfac81b.b7c4f6b174e1bc3c.442cb339a6036a62
+    d4aa838ee2331e93
+  after
+    0000000000000000.0000000000000000.9fbb37beff7def2a.9e3fbfbf7ef777f8
+    0655f46785e292f5.bf3424a8cf1eaf7b.193937966a4c8f2a.02190fab6c832368
+    0ad1d4a776fba089.052466d249ddbbb3.8eaa2438fd71e528.9c3fb63c327755b8
+    b0dc57b45ae50fc8.8500fd9ebdfac81b.b7c4f6b174e1bc3c.442cb339a6036a62
+    d4aa838ee2331e93
+VPOR_128(mem)
+  before
+    2a86a02805142c76.53c27afacc2d195e.1d9464f8498192df.f0d3a96d6c295111
+    208c88f128b15138.51ce37e6695efbf9.a7ab17cc097ed42d.952239d880d3df54
+    9488b6d76a174905.044d8ce2cc04f043.0113920618fe4b2e.02ffa35f4c6da3b1
+    6046a6c4e450d008.ca8c745c92ac36e8.05965292920cb311.93b4e26c6d83d9d3
+    a48ef26d7fa0bd67
+  after
+    2a86a02805142c76.53c27afacc2d195e.1d9464f8498192df.f0d3a96d6c295111
+    208c88f128b15138.51ce37e6695efbf9.a7ab17cc097ed42d.952239d880d3df54
+    0000000000000000.0000000000000000.bfbf77fc49ffd6ff.f5f3b9fdecfbdf55
+    6046a6c4e450d008.ca8c745c92ac36e8.05965292920cb311.93b4e26c6d83d9d3
+    a48ef26d7fa0bd67
+
+VPOR_128(reg)
+  before
+    91d9cfcd1c508a18.6192d4a6b56ba16e.fdd4ebbe56e10795.9001d15c94b5c700
+    b6e076f7e31f7d93.7437bd68f6717962.fb74ee76b52f9ff6.7f208d5039034428
+    6ff1e2596e9ad284.7302dcf6c5701411.1eb777ef4a223cb6.acbf025b9e05e6b4
+    18560e5e594cc596.3bbfad3c3e732da7.c3e88495b2471882.f4aaaa67dfc469d1
+    33ac0362164e88aa
+  after
+    0000000000000000.0000000000000000.fff7ffffff2fbff6.ffbf8f5bbf07e6bc
+    b6e076f7e31f7d93.7437bd68f6717962.fb74ee76b52f9ff6.7f208d5039034428
+    6ff1e2596e9ad284.7302dcf6c5701411.1eb777ef4a223cb6.acbf025b9e05e6b4
+    18560e5e594cc596.3bbfad3c3e732da7.c3e88495b2471882.f4aaaa67dfc469d1
+    33ac0362164e88aa
+VPOR_128(mem)
+  before
+    4593883662ae006c.0c5df97241c29176.a83aac267c87814f.475510d4882a7005
+    0729b5d1dcf18d43.a9509c01c18773cf.963f55a09bb6cc36.0448171868557fec
+    533b061ea322ea5a.4a7cf5787627a74e.e29a2597b80fca88.570e96cdef5683e3
+    0695f709d04dd5de.4b2dff41fb2e689f.661697f5ef9b3670.9df3885fb9b9b695
+    3043e93a600955af
+  after
+    4593883662ae006c.0c5df97241c29176.a83aac267c87814f.475510d4882a7005
+    0729b5d1dcf18d43.a9509c01c18773cf.963f55a09bb6cc36.0448171868557fec
+    0000000000000000.0000000000000000.be3ffda6ffb7cd7f.475d17dce87f7fed
+    0695f709d04dd5de.4b2dff41fb2e689f.661697f5ef9b3670.9df3885fb9b9b695
+    3043e93a600955af
+
+VPOR_128(reg)
+  before
+    6d49b5cb83d29bdd.fc02057e817f08fa.07aeb6c9ed29f36d.ff8027a85b68cd1a
+    b052e87cbca0c5ca.1150ab69d2c23fdb.dc4d167de7a38464.89a4519a18814bb3
+    55ab7fbba7000f22.214965b7de2538ad.25541bc785295632.e04e92b943f36c67
+    b89e75f3e17db592.08bbb052c2b1ad9b.3d10c2156446a781.e04a65f0f7c9eb62
+    6564462b510f85cf
+  after
+    0000000000000000.0000000000000000.fd5d1fffe7abd676.e9eed3bb5bf36ff7
+    b052e87cbca0c5ca.1150ab69d2c23fdb.dc4d167de7a38464.89a4519a18814bb3
+    55ab7fbba7000f22.214965b7de2538ad.25541bc785295632.e04e92b943f36c67
+    b89e75f3e17db592.08bbb052c2b1ad9b.3d10c2156446a781.e04a65f0f7c9eb62
+    6564462b510f85cf
+VPOR_128(mem)
+  before
+    4b67b1566cd2f5da.3578c69005a3f2c6.a270062799745ad2.82cd06d22086b1fd
+    6d21225d651df9b0.28856efeb0ff036a.cb35e5237f7afd7d.4ed7e36a5476b053
+    a95c162c57fc4b7d.ed1069a97d1c2429.5ed5c83191cd50c9.ff7a55499ca1e22f
+    dae508af5f7ca86c.e067b4fd098690af.391e2b3ceb7b10e2.ef0159db9593813c
+    7cbaea8cdbd8ca27
+  after
+    4b67b1566cd2f5da.3578c69005a3f2c6.a270062799745ad2.82cd06d22086b1fd
+    6d21225d651df9b0.28856efeb0ff036a.cb35e5237f7afd7d.4ed7e36a5476b053
+    0000000000000000.0000000000000000.eb75e727ff7effff.cedfe7fa74f6b1ff
+    dae508af5f7ca86c.e067b4fd098690af.391e2b3ceb7b10e2.ef0159db9593813c
+    7cbaea8cdbd8ca27
+
+VPXOR_128(reg)
+  before
+    00ef04c809fdf89b.dc8874d398a8cbaa.5dd44a66efca85a9.37db8b32a890f9f3
+    d8eda3fcbb8e4946.8b11d6821f8c7163.c0a42750cb733dc3.34d763fee416c628
+    6100c4928e15f7d1.c24babaa0f3556c2.652347283b0ef4a8.0cdf2e8cbc1b34af
+    f57461f81d203fea.5f046e3584ae36f4.a89da758d826e805.9abf6bc84babffb2
+    bc43939eaed0e35d
+  after
+    0000000000000000.0000000000000000.a5876078f07dc96b.38084d72580df287
+    d8eda3fcbb8e4946.8b11d6821f8c7163.c0a42750cb733dc3.34d763fee416c628
+    6100c4928e15f7d1.c24babaa0f3556c2.652347283b0ef4a8.0cdf2e8cbc1b34af
+    f57461f81d203fea.5f046e3584ae36f4.a89da758d826e805.9abf6bc84babffb2
+    bc43939eaed0e35d
+VPXOR_128(mem)
+  before
+    4d3724fb00989bdd.f1947898053b5c3d.3d069a119b03cd24.e45e424e40475386
+    286698c95e0fe45e.b2ae04e0e1f08b76.371eae297041d67f.77b114740ffd72d6
+    2b9d6df5e3407a0b.920c023b4ecd0840.2b1823691e730e30.bce31938e0d580a2
+    30a91f6cac371811.eefb6c15e75e0f47.f3c077bdc1a63065.0f414d054f5aba95
+    cb15ad47f9195c5c
+  after
+    4d3724fb00989bdd.f1947898053b5c3d.3d069a119b03cd24.e45e424e40475386
+    286698c95e0fe45e.b2ae04e0e1f08b76.371eae297041d67f.77b114740ffd72d6
+    0000000000000000.0000000000000000.0a183438eb421b5b.93ef563a4fba2150
+    30a91f6cac371811.eefb6c15e75e0f47.f3c077bdc1a63065.0f414d054f5aba95
+    cb15ad47f9195c5c
+
+VPXOR_128(reg)
+  before
+    4eac346a799da2a3.15542819d4007b9c.22c740da482edb39.6de1251176e4f947
+    f351deda6c72c715.b46b06e777a85fd7.8abc79f60fc9a9bf.7449a951583b2505
+    1552a7046d25095e.ebb934c4b23a80ef.822613d5d5bbb588.e3c27f6984b770c8
+    12f98c521941a12c.940c2e9ba1c2990f.66500be338913a3e.97192346156396bf
+    6d1a12d2284b5214
+  after
+    0000000000000000.0000000000000000.089a6a23da721c37.978bd638dc8c55cd
+    f351deda6c72c715.b46b06e777a85fd7.8abc79f60fc9a9bf.7449a951583b2505
+    1552a7046d25095e.ebb934c4b23a80ef.822613d5d5bbb588.e3c27f6984b770c8
+    12f98c521941a12c.940c2e9ba1c2990f.66500be338913a3e.97192346156396bf
+    6d1a12d2284b5214
+VPXOR_128(mem)
+  before
+    3f91c7fbd87b61f4.449488310b52ce29.8d2e70585f4d6764.92875b8dd4d6768d
+    eb4abeab42007e8a.096d970ee0e4ca01.b0ed77e708e6a619.6218013d4416a223
+    4b1174d081e56603.bbd1b5533384d261.da13bd35b99a115b.324df86124defda9
+    3cb16355b237d58a.b70cde6ea1be22f5.e86dc02c8e746556.5e733c6311b9c1ce
+    42d5cab1a6342c3c
+  after
+    3f91c7fbd87b61f4.449488310b52ce29.8d2e70585f4d6764.92875b8dd4d6768d
+    eb4abeab42007e8a.096d970ee0e4ca01.b0ed77e708e6a619.6218013d4416a223
+    0000000000000000.0000000000000000.3dc307bf57abc17d.f09f5ab090c0d4ae
+    3cb16355b237d58a.b70cde6ea1be22f5.e86dc02c8e746556.5e733c6311b9c1ce
+    42d5cab1a6342c3c
+
+VPXOR_128(reg)
+  before
+    3ac19db680d9779f.9af70926f001874c.5a690fcac51cf568.b4c7fcb9a1805e35
+    a281b1de3a37e1a4.42afe12f584f3875.fe3643d33b2c8967.1becebc911cab825
+    d663029571d7a4f7.0ea5675c052da330.01bd76f5a17a189d.f9aa0b46f85f2e51
+    31b18c47c047fd44.dba5189913a885aa.bd4ba49c9090deb7.2bcbd61e724a7de6
+    8b1cca3c9c986110
+  after
+    0000000000000000.0000000000000000.ff8b35269a5691fa.e246e08fe9959674
+    a281b1de3a37e1a4.42afe12f584f3875.fe3643d33b2c8967.1becebc911cab825
+    d663029571d7a4f7.0ea5675c052da330.01bd76f5a17a189d.f9aa0b46f85f2e51
+    31b18c47c047fd44.dba5189913a885aa.bd4ba49c9090deb7.2bcbd61e724a7de6
+    8b1cca3c9c986110
+VPXOR_128(mem)
+  before
+    f669638c915495fa.11b84c60c4122835.857b6ed39fcb990e.8f2cca34a6fc1861
+    487e1bfa6e8ad7d1.d1c33d4d18c56079.e8f2e7f4c5a39d89.d3ace2297e4a0346
+    5d2770724e47e1c0.cd205b7859ebe2ba.e0d7feea9f3b4b47.e617eae8b504d813
+    112fdde04d966ff4.6019a24f2210eaa5.49f6309f4c9f6073.22b8dddbe7b8d674
+    e4ddb870aff23714
+  after
+    f669638c915495fa.11b84c60c4122835.857b6ed39fcb990e.8f2cca34a6fc1861
+    487e1bfa6e8ad7d1.d1c33d4d18c56079.e8f2e7f4c5a39d89.d3ace2297e4a0346
+    0000000000000000.0000000000000000.6d8989275a680487.5c80281dd8b61b27
+    112fdde04d966ff4.6019a24f2210eaa5.49f6309f4c9f6073.22b8dddbe7b8d674
+    e4ddb870aff23714
+
+VPSUBB_128(reg)
+  before
+    88d07511a93d389f.4064de3088833f99.e8fc0e3c10c0b4e5.ff1bf701e6dc973a
+    6ade122c722514c2.c690f04f1b1a0bda.bf139cadbe887b27.de12d1fb89fdadc7
+    e6538a2ca5360929.7f808d2721688fe4.43ab470dc8f37c17.c2a73979520e5e47
+    587bd97ddffd5180.470033a6b67989e2.cf100bc8cb8ef360.87a5ab675c1c66e6
+    09daa4b1c43280cf
+  after
+    0000000000000000.0000000000000000.7c6855a0f695ff10.1c6b988237ef4f80
+    6ade122c722514c2.c690f04f1b1a0bda.bf139cadbe887b27.de12d1fb89fdadc7
+    e6538a2ca5360929.7f808d2721688fe4.43ab470dc8f37c17.c2a73979520e5e47
+    587bd97ddffd5180.470033a6b67989e2.cf100bc8cb8ef360.87a5ab675c1c66e6
+    09daa4b1c43280cf
+VPSUBB_128(mem)
+  before
+    24109e43a55c692f.1ca1fc8bbb052971.fadc5db6f757b301.be8de54a63e41bae
+    b41417091ca6dd31.8e13eec2d6daccab.73e087450010ca6d.6d70cfff2b8131af
+    94b28af0441e9802.0a1bab8ecb0977d8.90d72e3eecb08a51.3903c753bff2710c
+    a2b674e239cd55ce.ec062f5c361d66a5.2c8ecc8dd741aeda.7c94c8b2bcc21774
+    946dce88bd7d5e91
+  after
+    24109e43a55c692f.1ca1fc8bbb052971.fadc5db6f757b301.be8de54a63e41bae
+    b41417091ca6dd31.8e13eec2d6daccab.73e087450010ca6d.6d70cfff2b8131af
+    0000000000000000.0000000000000000.79042a8f09b9176c.afe3eab5c89d1601
+    a2b674e239cd55ce.ec062f5c361d66a5.2c8ecc8dd741aeda.7c94c8b2bcc21774
+    946dce88bd7d5e91
+
+VPSUBB_128(reg)
+  before
+    dbdbd6425fb08310.b9eb4fcd18c1d1c0.90207696b4a3d5bd.23d2df1eded1f333
+    ae29da4a3de6c29c.b51f999bfd05c804.51b57daae126ffcd.506de3dd1c6c1589
+    6aa5d80ef4ab56e2.711ccd3a03a5f5c8.8d113e0258322281.912b52b6ae1cd007
+    6999cbf91f8c7c8d.cbaf679546ae1536.9f7fb70cb5537784.c1daa995aff0dfdb
+    bb4565673cf1ff2e
+  after
+    0000000000000000.0000000000000000.c4a43fa889f4dd4c.bf4291276e504582
+    ae29da4a3de6c29c.b51f999bfd05c804.51b57daae126ffcd.506de3dd1c6c1589
+    6aa5d80ef4ab56e2.711ccd3a03a5f5c8.8d113e0258322281.912b52b6ae1cd007
+    6999cbf91f8c7c8d.cbaf679546ae1536.9f7fb70cb5537784.c1daa995aff0dfdb
+    bb4565673cf1ff2e
+VPSUBB_128(mem)
+  before
+    5d370116702dec2f.0853b0775b14704a.9da4e398e32be47a.e34de43395163d83
+    817df99068af6108.a31d81f443cf6ec5.c5c7be2ff6281ec1.b4c5bfe29406ae29
+    05e3cabf3f831be5.96443cdc744ab1a9.1ee373469ab27e37.703446874db00723
+    c335ef9111b6d6f3.3e14dc9b891076a3.83c67ec9ebd4c107.72e6748d5c9f841d
+    152745615e5f60c2
+  after
+    5d370116702dec2f.0853b0775b14704a.9da4e398e32be47a.e34de43395163d83
+    817df99068af6108.a31d81f443cf6ec5.c5c7be2ff6281ec1.b4c5bfe29406ae29
+    0000000000000000.0000000000000000.2823db9713fd3a47.d178dbaffff071a6
+    c335ef9111b6d6f3.3e14dc9b891076a3.83c67ec9ebd4c107.72e6748d5c9f841d
+    152745615e5f60c2
+
+VPSUBB_128(reg)
+  before
+    b742b56dee7dd8be.993fe3f1fc534e5e.f5d85d9d1fadf95e.d23a5ba4069aa35e
+    b285c11ea98428bf.61cd25cb19673e51.18debc4ed1ae7687.e50c87c40611df68
+    643a63e12a008c6e.f9aa2e0b86fc63f9.0370f31b3b9e28ca.99087c1308443250
+    27ae99200e7d3f7a.3ba37b9d5e207981.12db006efa0a4cd2.cbfab87f27405842
+    55aeb7f380100d6c
+  after
+    0000000000000000.0000000000000000.156ec93396104ebd.4c040bb1fecdad18
+    b285c11ea98428bf.61cd25cb19673e51.18debc4ed1ae7687.e50c87c40611df68
+    643a63e12a008c6e.f9aa2e0b86fc63f9.0370f31b3b9e28ca.99087c1308443250
+    27ae99200e7d3f7a.3ba37b9d5e207981.12db006efa0a4cd2.cbfab87f27405842
+    55aeb7f380100d6c
+VPSUBB_128(mem)
+  before
+    14f0f35a2ec00cf7.592d5e49f0887e8d.0484896dbedf3b16.a16bdeb5a97c1d4c
+    e58beaa24e5c1212.5403afc76dad8554.3119d367c24466e4.0c6c8a5ae583d9e3
+    a24c16b6fbf1dbe7.767b860520768f7a.9c2ed578855bb616.ae2afecb4aa8ba44
+    28fff582518a22a3.19e3e171a571d9ac.228f0c8a2330e7d9.e5f138737379fd1b
+    0c0c33befc81dd13
+  after
+    14f0f35a2ec00cf7.592d5e49f0887e8d.0484896dbedf3b16.a16bdeb5a97c1d4c
+    e58beaa24e5c1212.5403afc76dad8554.3119d367c24466e4.0c6c8a5ae583d9e3
+    0000000000000000.0000000000000000.2d954afa04652bce.6b01aca53c07bc97
+    28fff582518a22a3.19e3e171a571d9ac.228f0c8a2330e7d9.e5f138737379fd1b
+    0c0c33befc81dd13
+
+VPSUBD_128(reg)
+  before
+    7fc8eb18824c97d9.537003f26d34a471.9a85bb76992a9f95.9f07f28bb9d0b459
+    9a715ceda0676718.006bbaf36bfa1d7e.56ae1180982b1de2.f06405666247dac1
+    b95383a9f35e897d.09bc986f66e849f5.a7abddfb3d028e3f.ef70c0063b9f153d
+    37ba5bb916bb38b3.4b2e18537a0be303.eac51d54243b2f57.79f8a0595fe620fa
+    6ac81f4aeb27b924
+  after
+    0000000000000000.0000000000000000.af0233855b288fa3.00f3456026a8c584
+    9a715ceda0676718.006bbaf36bfa1d7e.56ae1180982b1de2.f06405666247dac1
+    b95383a9f35e897d.09bc986f66e849f5.a7abddfb3d028e3f.ef70c0063b9f153d
+    37ba5bb916bb38b3.4b2e18537a0be303.eac51d54243b2f57.79f8a0595fe620fa
+    6ac81f4aeb27b924
+VPSUBD_128(mem)
+  before
+    9eabbbc5fa6f9ae7.72f2e087a50cb268.a28eb68cc46da8d4.7b4bccf5ea603cd7
+    f16fefb7a8c97f6e.c5460e803edc3045.eaa8ee045f1d5493.b688e64c2bfff06a
+    3fde370a134126e5.8b04e2117ab8f1f9.ff483da96824a36d.f8c767c382a489bd
+    64c60fab54e44979.227656a5f72b2f2d.bd3a1d66fb90508d.9b554cc88bd9417c
+    fc7e90c6e32d5452
+  after
+    9eabbbc5fa6f9ae7.72f2e087a50cb268.a28eb68cc46da8d4.7b4bccf5ea603cd7
+    f16fefb7a8c97f6e.c5460e803edc3045.eaa8ee045f1d5493.b688e64c2bfff06a
+    0000000000000000.0000000000000000.481a37789aafabbf.3b3d1957419fb393
+    64c60fab54e44979.227656a5f72b2f2d.bd3a1d66fb90508d.9b554cc88bd9417c
+    fc7e90c6e32d5452
+
+VPSUBD_128(reg)
+  before
+    778e2f28252900ec.3cf1f48789bda456.e4e968a851c12790.004a0c27326d1820
+    68d1255cee5b7ff5.a32c6188ced8f5a8.2fa91385230615cc.a44486d82cc5b652
+    2b936fcdd94e0d1a.7542d29c3e42f699.5d0154aa0987348e.85f3056502a6e84e
+    1c1f07e7838ee807.8d01c3adf5066458.cc3f2583a0d0c181.7e2407bad31b6840
+    6da307c3b831f356
+  after
+    0000000000000000.0000000000000000.d2a7bedb197ee13e.1e5181732a1ece04
+    68d1255cee5b7ff5.a32c6188ced8f5a8.2fa91385230615cc.a44486d82cc5b652
+    2b936fcdd94e0d1a.7542d29c3e42f699.5d0154aa0987348e.85f3056502a6e84e
+    1c1f07e7838ee807.8d01c3adf5066458.cc3f2583a0d0c181.7e2407bad31b6840
+    6da307c3b831f356
+VPSUBD_128(mem)
+  before
+    2d3c816dcff344ba.97c2eb1787a84a67.c934b1a91030fb0f.d6ad847a846bf852
+    9abbf1a2346d1898.f8c916c7812770e7.04a6167baacd76eb.d9986cfc4fe615ac
+    8febd45002ac2b1d.9a7e85640e989632.1a24700fe0e89217.2f4cd975a0cd533c
+    ea9aa46156bb3975.db2d325bca86f7f5.e67a3a51cd8d0bc0.3515c85211aaefae
+    483f33fd3e0b25ad
+  after
+    2d3c816dcff344ba.97c2eb1787a84a67.c934b1a91030fb0f.d6ad847a846bf852
+    9abbf1a2346d1898.f8c916c7812770e7.04a6167baacd76eb.d9986cfc4fe615ac
+    0000000000000000.0000000000000000.3b7164d29a9c7bdc.02eae882cb7a1d5a
+    ea9aa46156bb3975.db2d325bca86f7f5.e67a3a51cd8d0bc0.3515c85211aaefae
+    483f33fd3e0b25ad
+
+VPSUBD_128(reg)
+  before
+    c21618e4c47c30e6.8692dfc34ba7fecb.16241b16507dd0dc.4674f12d8ec99d12
+    00e572723e874e05.3ea00061fd7a354c.a7ae3b033c095d92.15de0f903ea70338
+    5efa3e1249bab9b5.f090842789429a24.ea168e8d2bb7dac4.2e831264fa33fa5f
+    399f763280a1ada2.772ee5010a0beb7e.3aa91120b912821d.6f307597dd7a3eb2
+    b2b2b41304878a5e
+  after
+    0000000000000000.0000000000000000.bd97ac76105182ce.e75afd2c447308d9
+    00e572723e874e05.3ea00061fd7a354c.a7ae3b033c095d92.15de0f903ea70338
+    5efa3e1249bab9b5.f090842789429a24.ea168e8d2bb7dac4.2e831264fa33fa5f
+    399f763280a1ada2.772ee5010a0beb7e.3aa91120b912821d.6f307597dd7a3eb2
+    b2b2b41304878a5e
+VPSUBD_128(mem)
+  before
+    d5d34cc68a669b8e.eb21183d7fc6677a.ae46a1db9de0e287.f5b3be2881a7924a
+    b260b79b8c242d6f.d1cb1fa0e3b724e6.73a333a15ecd3c6a.768093111f0146f6
+    2724737d25ccfc2d.47eb87c548001d95.a012183f67deb554.185c8b4730acd9cf
+    0eedfb5a716bc3f3.a9cc4d19492c9131.135fcaa2d7200870.3993a3364f35887e
+    3370d54b19268fb2
+  after
+    d5d34cc68a669b8e.eb21183d7fc6677a.ae46a1db9de0e287.f5b3be2881a7924a
+    b260b79b8c242d6f.d1cb1fa0e3b724e6.73a333a15ecd3c6a.768093111f0146f6
+    0000000000000000.0000000000000000.c55c91c6c0ec59e3.80ccd4e99d59b4ac
+    0eedfb5a716bc3f3.a9cc4d19492c9131.135fcaa2d7200870.3993a3364f35887e
+    3370d54b19268fb2
+
+VPADDD_128(reg)
+  before
+    64401ff0290e2a14.4585cc1d8d0b3fee.53b96b0882c7ba66.a657c7b4c89ef3eb
+    264f7c931c769453.a6ba60b395bb2c4a.a1ffdfff905dd5e1.36c38a63566430f1
+    d7e9e89e8dec0a19.0e563506a4844532.efeaa4680f7b1e4e.a0728f9a9d7f7bad
+    d15a5f7f19fcc813.5a26c603d67447d2.99c6b7b19aacd059.be2f5244bbfa914c
+    6dc5504fc9e22efa
+  after
+    0000000000000000.0000000000000000.91ea84679fd8f42f.d73619fdf3e3ac9e
+    264f7c931c769453.a6ba60b395bb2c4a.a1ffdfff905dd5e1.36c38a63566430f1
+    d7e9e89e8dec0a19.0e563506a4844532.efeaa4680f7b1e4e.a0728f9a9d7f7bad
+    d15a5f7f19fcc813.5a26c603d67447d2.99c6b7b19aacd059.be2f5244bbfa914c
+    6dc5504fc9e22efa
+VPADDD_128(mem)
+  before
+    8a0104a6e5420ee2.71eedea15b3009ec.64f68f964896ee58.fbdf1245cd7c28ad
+    efafea352b26ed30.14f06070ef160a51.09910dac15f7f6ed.7180b390457862f6
+    799b7ee8b69b8611.14aee158723907ed.25c5ba305aa11ac0.56f795fe9d2bb9e1
+    04913caca2ab96b1.ce725dc580263c6d.955c140d32a317fb.088eb4fb72226b1a
+    e2920cf35fe8b24c
+  after
+    8a0104a6e5420ee2.71eedea15b3009ec.64f68f964896ee58.fbdf1245cd7c28ad
+    efafea352b26ed30.14f06070ef160a51.09910dac15f7f6ed.7180b390457862f6
+    0000000000000000.0000000000000000.6e879d425e8ee545.6d5fc5d512f48ba3
+    04913caca2ab96b1.ce725dc580263c6d.955c140d32a317fb.088eb4fb72226b1a
+    e2920cf35fe8b24c
+
+VPADDD_128(reg)
+  before
+    404f9a520109ca24.6c5da16b0c65d83c.9f89d123b468e47d.33239631ba06a9ca
+    7e115984f311f14e.8dca281210d20add.e13f38deaa8c3cc8.dce6bd870dd88b5b
+    f72445f6d28d6175.43a54d8ec900e6c0.f1df8d62ff1c80fb.6c7103fb48247bd7
+    09d35a1239095746.6abb8cca53fa2913.2bb7cf1c4fa6ebc1.bf90e67986f7336d
+    b10fe1ede45c6f47
+  after
+    0000000000000000.0000000000000000.d31ec640a9a8bdc3.4957c18255fd0732
+    7e115984f311f14e.8dca281210d20add.e13f38deaa8c3cc8.dce6bd870dd88b5b
+    f72445f6d28d6175.43a54d8ec900e6c0.f1df8d62ff1c80fb.6c7103fb48247bd7
+    09d35a1239095746.6abb8cca53fa2913.2bb7cf1c4fa6ebc1.bf90e67986f7336d
+    b10fe1ede45c6f47
+VPADDD_128(mem)
+  before
+    1eb970437d5fed91.0e6b9546c50f0e6c.ded662b1cbcd8eff.eb11f77635b6bac7
+    e25b0f686d0d6779.6438f0fd112dc394.7bc24a314c84d2b3.8e3b03de4dd629b9
+    d9c13b46d1719928.668669a2b9eeb269.1d4dc035f32bb159.6e7fedbf34947442
+    dfb76fcbc59741cd.6fa1fba35adf1799.a04240a9dbcfe71d.e82ab385857cd60f
+    5887519cdd198ccb
+  after
+    1eb970437d5fed91.0e6b9546c50f0e6c.ded662b1cbcd8eff.eb11f77635b6bac7
+    e25b0f686d0d6779.6438f0fd112dc394.7bc24a314c84d2b3.8e3b03de4dd629b9
+    0000000000000000.0000000000000000.5a98ace2185261b2.794cfb54838ce480
+    dfb76fcbc59741cd.6fa1fba35adf1799.a04240a9dbcfe71d.e82ab385857cd60f
+    5887519cdd198ccb
+
+VPADDD_128(reg)
+  before
+    1ae4c170d7f7d223.d00927e1648c1992.ddd5a36b908b2ecd.e06c4679217b2f2c
+    8a8b016d0fa2e4c3.8783df76ca5bdea3.0a6e5b66f67e32b4.b9984f91e03b46b2
+    03ca0cff23a7fd56.e2f0137514104c2d.54b72101284560f7.0792d6dd351ce8da
+    e3ebde92ac915a89.bc1d40ca5db81e5c.15fdf0a6c36bf345.a626574a3b29d1d1
+    71204ec20f6ebcc3
+  after
+    0000000000000000.0000000000000000.5f257c671ec393ab.c12b266e15582f8c
+    8a8b016d0fa2e4c3.8783df76ca5bdea3.0a6e5b66f67e32b4.b9984f91e03b46b2
+    03ca0cff23a7fd56.e2f0137514104c2d.54b72101284560f7.0792d6dd351ce8da
+    e3ebde92ac915a89.bc1d40ca5db81e5c.15fdf0a6c36bf345.a626574a3b29d1d1
+    71204ec20f6ebcc3
+VPADDD_128(mem)
+  before
+    464b3833ccf866db.853b739348ed3707.f1d7e161c25e115b.aa8cc4c2627c2848
+    007590878ed28b46.4506c86c9345cf7d.5ce872265f0ee157.70b09ac2a2053bad
+    7a68d2ac7208e62f.7f97d88b28285f97.db1c70054ed54a7c.c1b56d101e91681f
+    92f17a8d94a734c3.8f3c9f5aa31f2300.494155eaaebe07f5.fae7381a73aceb4b
+    7791fa4a3ce3ffdc
+  after
+    464b3833ccf866db.853b739348ed3707.f1d7e161c25e115b.aa8cc4c2627c2848
+    007590878ed28b46.4506c86c9345cf7d.5ce872265f0ee157.70b09ac2a2053bad
+    0000000000000000.0000000000000000.4ec05387216cf2b2.1b3d5f84048163f5
+    92f17a8d94a734c3.8f3c9f5aa31f2300.494155eaaebe07f5.fae7381a73aceb4b
+    7791fa4a3ce3ffdc
+
+VPMOVZXBW_128(reg)
+  before
+    9500ac0e16c1e17f.23dc04160fba312e.d03f1947a1b85665.81229fc298d5d5ef
+    ae804bd19cd2cce0.08f5ed33ff4d999b.a0ed42bdbe7e3671.618ac9772a277095
+    1f5dd4ff6ba3feaa.1f08b0d0816d2736.5a93172895fefdd1.c4464ff780bf9314
+    44e342041ebfb18a.42e0c9d9b025982d.597a93f4c2c3e730.8522ae2cb5a9fb97
+    82ea6004e6f2644c
+  after
+    9500ac0e16c1e17f.23dc04160fba312e.d03f1947a1b85665.81229fc298d5d5ef
+    0000000000000000.0000000000000000.00c40046004f00f7.008000bf00930014
+    1f5dd4ff6ba3feaa.1f08b0d0816d2736.5a93172895fefdd1.c4464ff780bf9314
+    44e342041ebfb18a.42e0c9d9b025982d.597a93f4c2c3e730.8522ae2cb5a9fb97
+    82ea6004e6f2644c
+VPMOVZXBW_128(mem)
+  before
+    956ae36a2ea58a5c.795e914d51b2222b.4f4ab43ba982a8aa.fbf1b28de259323c
+    9b6eb24aa9cf28f5.1a19be44a1098c3a.2013ede0878f12d9.9a437060904c189e
+    71c14a90747bfb43.8362c356aa4f2c63.9305f1b5675893e7.94bbcad76929d605
+    f1302528abb5bf72.10839ef007103e51.82ec3ba764e9e700.44a6bb5f087ca71a
+    05513f650acfc98c
+  after
+    956ae36a2ea58a5c.795e914d51b2222b.4f4ab43ba982a8aa.fbf1b28de259323c
+    0000000000000000.0000000000000000.00fb00f100b2008d.00e200590032003c
+    71c14a90747bfb43.8362c356aa4f2c63.9305f1b5675893e7.94bbcad76929d605
+    f1302528abb5bf72.10839ef007103e51.82ec3ba764e9e700.44a6bb5f087ca71a
+    05513f650acfc98c
+
+VPMOVZXBW_128(reg)
+  before
+    340652530ab07605.f987c1fe69892fad.1dc94a7c54d9feb1.ca9647a19b4fca4f
+    2e11f097a5aaea32.639299ffca040820.0680c4682e35a72e.48ce928e2795f701
+    4dc0169c764a63be.0c1d2915eb3106f9.27f4061f31b17675.d65f965c25c82b41
+    ef5ebfce191b1b56.d0f4ee2ee71de562.dc700e0df7d8a732.5116d1f6b0f2223c
+    95bfbe48e522971e
+  after
+    340652530ab07605.f987c1fe69892fad.1dc94a7c54d9feb1.ca9647a19b4fca4f
+    0000000000000000.0000000000000000.00d6005f0096005c.002500c8002b0041
+    4dc0169c764a63be.0c1d2915eb3106f9.27f4061f31b17675.d65f965c25c82b41
+    ef5ebfce191b1b56.d0f4ee2ee71de562.dc700e0df7d8a732.5116d1f6b0f2223c
+    95bfbe48e522971e
+VPMOVZXBW_128(mem)
+  before
+    7e26d93edf614712.6e36e7992ba94fa5.8ce26234dbd36087.8142d79e1f367610
+    e9179fc5babdee45.27958a6948813a58.1ab50315e25f3495.72b45d3e43571ebc
+    b05e8ac7934148e2.76c7a4aa0b2e1a1b.57374cbc19cd1db8.0a139d59ffc8dce1
+    b0c6183186fa1016.b81832c8103c2999.1f35b9149b2ad61b.a7ab915bef14eb2c
+    a4c837b0b1c88948
+  after
+    7e26d93edf614712.6e36e7992ba94fa5.8ce26234dbd36087.8142d79e1f367610
+    0000000000000000.0000000000000000.0081004200d7009e.001f003600760010
+    b05e8ac7934148e2.76c7a4aa0b2e1a1b.57374cbc19cd1db8.0a139d59ffc8dce1
+    b0c6183186fa1016.b81832c8103c2999.1f35b9149b2ad61b.a7ab915bef14eb2c
+    a4c837b0b1c88948
+
+VPMOVZXBW_128(reg)
+  before
+    5db58ac5de6ff0e2.c51cc4f0adf3030d.47d42f30f438a37f.4e7bc70b85821deb
+    2dc0860414955da6.cb2d0bef2738ddf2.8046974c53adc678.c0d4f18df2dfac53
+    723328dbefc60b40.9ec367190ed65af2.bfbc678ac728cc31.510eb384ff4f3f80
+    865b6ab40a8f385a.1aaa565c7ed83538.60809954ef33f256.ddf389ddc7dd949e
+    4051ef84669665d8
+  after
+    5db58ac5de6ff0e2.c51cc4f0adf3030d.47d42f30f438a37f.4e7bc70b85821deb
+    0000000000000000.0000000000000000.0051000e00b30084.00ff004f003f0080
+    723328dbefc60b40.9ec367190ed65af2.bfbc678ac728cc31.510eb384ff4f3f80
+    865b6ab40a8f385a.1aaa565c7ed83538.60809954ef33f256.ddf389ddc7dd949e
+    4051ef84669665d8
+VPMOVZXBW_128(mem)
+  before
+    56f26266f9856e5b.c7844afd027c1ea3.1bb053a3944a2bf1.bfdf2b18655c7492
+    fba35d6d9cb66d52.8ffac4217217f9c5.7da0dada6b38f749.38251841c52f8d92
+    0b305c876a361cea.3c09d28cf6ee076d.1c4568ed20af576b.279e5c3bac377a01
+    6264db9f7f10384e.28fc72aa2b8c8246.d46c77c8cebb0584.e895f472b500778c
+    d758db527c16bfdf
+  after
+    56f26266f9856e5b.c7844afd027c1ea3.1bb053a3944a2bf1.bfdf2b18655c7492
+    0000000000000000.0000000000000000.00bf00df002b0018.0065005c00740092
+    0b305c876a361cea.3c09d28cf6ee076d.1c4568ed20af576b.279e5c3bac377a01
+    6264db9f7f10384e.28fc72aa2b8c8246.d46c77c8cebb0584.e895f472b500778c
+    d758db527c16bfdf
+
+VPMOVZXWD_128(reg)
+  before
+    50310c479f0690a5.db0d56a0f8507dac.b1219ee7ac7ea7fd.80e185589266bebf
+    af6d86beb75b248b.54f54a78f103a62d.31c254b0164fb13d.fe700d8787be3d49
+    5058422162a1b73c.a8e9321284347000.062c906f058bdeb3.29e58c42c9cf3f4e
+    8f3e3dde3c658765.b3b58a5ad0ef974f.8aab4c9113bf680b.dd0b7c7675a380f9
+    f5b05b0ea749bc77
+  after
+    50310c479f0690a5.db0d56a0f8507dac.b1219ee7ac7ea7fd.80e185589266bebf
+    0000000000000000.0000000000000000.000029e500008c42.0000c9cf00003f4e
+    5058422162a1b73c.a8e9321284347000.062c906f058bdeb3.29e58c42c9cf3f4e
+    8f3e3dde3c658765.b3b58a5ad0ef974f.8aab4c9113bf680b.dd0b7c7675a380f9
+    f5b05b0ea749bc77
+VPMOVZXWD_128(mem)
+  before
+    4f9ea4f57acaaff3.c86b745fe032ceb2.5025ce3def41d746.1a8b8683df768bf0
+    c6a2d3190a34149a.562ae212ea95c9ce.5d057ba5fd35eb12.131739b0023c850f
+    358865657492a797.97c98362f719b366.b4200c7f16d790df.cf9d61831b9e9014
+    7a1cd4c5d4f02617.e69254baa34ac925.3344fdb8583482d8.ab67fa6ac327e9aa
+    03c201d09963cc7d
+  after
+    4f9ea4f57acaaff3.c86b745fe032ceb2.5025ce3def41d746.1a8b8683df768bf0
+    0000000000000000.0000000000000000.00001a8b00008683.0000df7600008bf0
+    358865657492a797.97c98362f719b366.b4200c7f16d790df.cf9d61831b9e9014
+    7a1cd4c5d4f02617.e69254baa34ac925.3344fdb8583482d8.ab67fa6ac327e9aa
+    03c201d09963cc7d
+
+VPMOVZXWD_128(reg)
+  before
+    33fa702136df743a.6f2a9e25455b4b46.9ed2508889b547b8.b53bca3adc577c2a
+    975b45c938261e8d.f27d3e71e3ded34f.1dd5723845e469ca.15d2f0f3c04d3b01
+    8c317c343bc50622.dde23096cb857a5f.bee6b93474666a08.31d5e9ce20207b88
+    6cc70fcfda4667a4.0e26f17e185dfba2.dc531ee9b1c4881e.e30f33b717def8eb
+    084e499ac2936d58
+  after
+    33fa702136df743a.6f2a9e25455b4b46.9ed2508889b547b8.b53bca3adc577c2a
+    0000000000000000.0000000000000000.000031d50000e9ce.0000202000007b88
+    8c317c343bc50622.dde23096cb857a5f.bee6b93474666a08.31d5e9ce20207b88
+    6cc70fcfda4667a4.0e26f17e185dfba2.dc531ee9b1c4881e.e30f33b717def8eb
+    084e499ac2936d58
+VPMOVZXWD_128(mem)
+  before
+    7d5da7633c4a97f9.946bfc04b1377ebf.5f13fc17e7711443.d5669ec3998cfcb7
+    1c07cafea10f32fa.60673d415d248720.ad75cc4b53ce7f6e.036d362fc7490580
+    c3192d570eeef988.2c08d1f07a98be73.d51ae008797ff851.c4b2e197d888dd25
+    4c5f4c5a9ef4a9cf.539ab17fa31f5e64.b1cdb13974903c16.72829b6967d4c151
+    6b29611011b9edb1
+  after
+    7d5da7633c4a97f9.946bfc04b1377ebf.5f13fc17e7711443.d5669ec3998cfcb7
+    0000000000000000.0000000000000000.0000d56600009ec3.0000998c0000fcb7
+    c3192d570eeef988.2c08d1f07a98be73.d51ae008797ff851.c4b2e197d888dd25
+    4c5f4c5a9ef4a9cf.539ab17fa31f5e64.b1cdb13974903c16.72829b6967d4c151
+    6b29611011b9edb1
+
+VPMOVZXWD_128(reg)
+  before
+    09f22df771c49cf0.94a5a3f46e2cfefa.3368da597445a59e.1e59bdc9610d07e9
+    a92bfd8c23800cbb.77b6ae0f9aa3b436.27c049e98a97cccd.f98b7ea65b0315f7
+    a81ecc3ac47977bd.d260ea993c6486ae.8becf99d80a0129e.1c2f72bb7e7d226c
+    6018976df03c19a3.7f6dd27c737b318f.bb3ae6e0f3edb1bd.641115f5e788e973
+    adfde13eb22f2739
+  after
+    09f22df771c49cf0.94a5a3f46e2cfefa.3368da597445a59e.1e59bdc9610d07e9
+    0000000000000000.0000000000000000.00001c2f000072bb.00007e7d0000226c
+    a81ecc3ac47977bd.d260ea993c6486ae.8becf99d80a0129e.1c2f72bb7e7d226c
+    6018976df03c19a3.7f6dd27c737b318f.bb3ae6e0f3edb1bd.641115f5e788e973
+    adfde13eb22f2739
+VPMOVZXWD_128(mem)
+  before
+    d3bf5483fa7e97e9.2e65589242542f19.5baae2a658f57105.13f40d1f7e09e6d5
+    b222e9b1db82f7b0.6f510d13564df5ca.42e396020adc013b.ee6768c4be80ed93
+    26f31cb2724501ba.7d28b15dc9b4a763.10e46b7ca23f9f5e.aadef53c4ede01a3
+    0cff6974dbd67232.b53540dd3714818f.a179dc003e270599.a2a7aff3cbb05fb0
+    310d9256d0814367
+  after
+    d3bf5483fa7e97e9.2e65589242542f19.5baae2a658f57105.13f40d1f7e09e6d5
+    0000000000000000.0000000000000000.000013f400000d1f.00007e090000e6d5
+    26f31cb2724501ba.7d28b15dc9b4a763.10e46b7ca23f9f5e.aadef53c4ede01a3
+    0cff6974dbd67232.b53540dd3714818f.a179dc003e270599.a2a7aff3cbb05fb0
+    310d9256d0814367
+
+VPBLENDVB_128(reg)
+  before
+    b55b9bd0f9dee973.3e104de1303e0545.73c6b6fd3af9befb.d16e647afaa2ef19
+    89dec5cce4528c81.98f243e7908b771e.1325102b71f09b53.7c8e82d7f1bb1b0a
+    08e20cb82a69693c.f873c77114c984ea.f19f49d275845342.7ea6af01407f4397
+    90b36cff69b0bc51.395e556bdb02e8d5.69805d5de5422475.b38269e502f923ed
+    f7ee2a7053357937
+  after
+    0000000000000000.0000000000000000.139f102b75f09b53.7ea68201f17f1b97
+    89dec5cce4528c81.98f243e7908b771e.1325102b71f09b53.7c8e82d7f1bb1b0a
+    08e20cb82a69693c.f873c77114c984ea.f19f49d275845342.7ea6af01407f4397
+    90b36cff69b0bc51.395e556bdb02e8d5.69805d5de5422475.b38269e502f923ed
+    f7ee2a7053357937
+VPBLENDVB_128(mem)
+  before
+    26b6708c5040ffa2.7b9de10d3db2c06c.377e69c1fe445e0a.d714483a5ab44897
+    1ca6b7271525725a.27eb684e40fbb238.cea0805f9c9aa3b6.97a706d47369fc55
+    b489792cbcf08e8a.eeebfb2e1117ce62.da901532ce117304.05849497c9ea7b5b
+    cc2c348764ae0e5f.2ee798194a935096.371aa424b2b48a21.7df8edf0fac50254
+    5b4f0d49a285cded
+  after
+    26b6708c5040ffa2.7b9de10d3db2c06c.377e69c1fe445e0a.d714483a5ab44897
+    1ca6b7271525725a.27eb684e40fbb238.cea0805f9c9aa3b6.97a706d47369fc55
+    0000000000000000.0000000000000000.cea0695ffe445eb6.9714483a5ab4fc55
+    cc2c348764ae0e5f.2ee798194a935096.371aa424b2b48a21.7df8edf0fac50254
+    5b4f0d49a285cded
+
+VPBLENDVB_128(reg)
+  before
+    fbd5f10f5cb618d1.3f5c6324276aaf04.412c3b7c87fb737f.c00aa922648fa338
+    b9d693afc5e51ead.e9e382ef21302da6.8406dec165d974c9.532ba119ffaf7b77
+    f09ef193789d1c2d.a58d0dd46f0d4470.54c07f567fbb8f22.cb4b06f4a01fce07
+    fe780629116b4efc.512881bf2c0caf8f.0ba819a5722dff34.0334569e62ec5717
+    d9b30d056120d3d0
+  after
+    0000000000000000.0000000000000000.84c0de5665d98fc9.532ba1f4ff1f7b77
+    b9d693afc5e51ead.e9e382ef21302da6.8406dec165d974c9.532ba119ffaf7b77
+    f09ef193789d1c2d.a58d0dd46f0d4470.54c07f567fbb8f22.cb4b06f4a01fce07
+    fe780629116b4efc.512881bf2c0caf8f.0ba819a5722dff34.0334569e62ec5717
+    d9b30d056120d3d0
+VPBLENDVB_128(mem)
+  before
+    2894a514bac9fe61.3eb2cedc2ddaf0c7.c87f599d753a2b2f.0609a81cd9b901ab
+    cba39cb788f394f4.0c96461868763d39.e55d115865a1747b.a12e282651edd134
+    a0ac6cdae8a950b6.c37168495ccc72ff.868f25de184f45a0.3864962f7555ab7b
+    817a9369f6f7efd2.c18f32dba866cbc4.85e1111aac505bca.28f7eca3e27cca2b
+    cb3328ee33ee6bf1
+  after
+    2894a514bac9fe61.3eb2cedc2ddaf0c7.c87f599d753a2b2f.0609a81cd9b901ab
+    cba39cb788f394f4.0c96461868763d39.e55d115865a1747b.a12e282651edd134
+    0000000000000000.0000000000000000.c87f115875a1742f.a109a81cd9ed0134
+    817a9369f6f7efd2.c18f32dba866cbc4.85e1111aac505bca.28f7eca3e27cca2b
+    cb3328ee33ee6bf1
+
+VPBLENDVB_128(reg)
+  before
+    7e63467c0437ca78.4cda8d51cde92d75.613c9f3ae6d38335.c01f52f73aaf7224
+    9dd540baf2e4236d.db99d47c898cc5ca.fec3abd2b29cd7fe.11156363e07846db
+    84d314129980b17c.0c81e6d847eb74fe.f6725310a94f03ca.568fc049bab7921a
+    8faabdf19497b150.b95e3e4f2212f63d.a393925e66774346.6958e595e379130e
+    273d4f3377c985e2
+  after
+    0000000000000000.0000000000000000.f67253d2b29cd7fe.1115c049ba7846db
+    9dd540baf2e4236d.db99d47c898cc5ca.fec3abd2b29cd7fe.11156363e07846db
+    84d314129980b17c.0c81e6d847eb74fe.f6725310a94f03ca.568fc049bab7921a
+    8faabdf19497b150.b95e3e4f2212f63d.a393925e66774346.6958e595e379130e
+    273d4f3377c985e2
+VPBLENDVB_128(mem)
+  before
+    6d0a790f93b4a3c3.1aa737c47fb65e96.bffe58cf360e07b2.6373642a86a1d21e
+    158bdf1653442add.81137ef6f768f6f9.fb2cb043a1ea628a.905ec5dea458edfd
+    fc8cfd32d188d65b.203d8ef2973ab326.47b3c3967cb3c4f1.87a0b1e85c28d090
+    fed94f512c89636a.53706426fcb6d2c9.80600cb6e574e912.a58525b34c9eb682
+    44581cab0d45dc80
+  after
+    6d0a790f93b4a3c3.1aa737c47fb65e96.bffe58cf360e07b2.6373642a86a1d21e
+    158bdf1653442add.81137ef6f768f6f9.fb2cb043a1ea628a.905ec5dea458edfd
+    0000000000000000.0000000000000000.bf2cb0cf36ea078a.6373c52aa4a1d21e
+    fed94f512c89636a.53706426fcb6d2c9.80600cb6e574e912.a58525b34c9eb682
+    44581cab0d45dc80
+
+VPMINSD_128(reg)
+  before
+    c266923c3da97e35.f83d525d7e558c35.75f7fbfdc26b8e8d.82ff078ef8398c19
+    79fc83d27857d84e.c4868144e3f70ee9.e41f4fe383e2241e.2a5c300bd00e6a34
+    c664ecd959da2577.3f7e58f1787ca5b2.fb345d44dea9d02a.5243041789003f8c
+    05eac7bd7cbea25b.45f2535058ef0cbb.16821f8d6c4bce5b.d780fd9f401bc750
+    95de99901169bdaa
+  after
+    0000000000000000.0000000000000000.e41f4fe383e2241e.2a5c300b89003f8c
+    79fc83d27857d84e.c4868144e3f70ee9.e41f4fe383e2241e.2a5c300bd00e6a34
+    c664ecd959da2577.3f7e58f1787ca5b2.fb345d44dea9d02a.5243041789003f8c
+    05eac7bd7cbea25b.45f2535058ef0cbb.16821f8d6c4bce5b.d780fd9f401bc750
+    95de99901169bdaa
+VPMINSD_128(mem)
+  before
+    682a53d417f8dec6.93dc12ea7e908ba7.b2aeef4d9f5c0131.90559328cc55595d
+    2c31a8596ed3e6d2.ca85c8cdfadb1b06.627ea6d46bcf3e3f.c7f9b4829752aedd
+    bdbd1209330791f7.0730e6d18d2b9025.312df6d1d5557f12.16b97f086bce0987
+    f79a0fd2819f9a64.a62a6661d30d24b0.fb895a30fbfa82d6.d8e3ee24e455a606
+    6bc1ff449d74c007
+  after
+    682a53d417f8dec6.93dc12ea7e908ba7.b2aeef4d9f5c0131.90559328cc55595d
+    2c31a8596ed3e6d2.ca85c8cdfadb1b06.627ea6d46bcf3e3f.c7f9b4829752aedd
+    0000000000000000.0000000000000000.b2aeef4d9f5c0131.905593289752aedd
+    f79a0fd2819f9a64.a62a6661d30d24b0.fb895a30fbfa82d6.d8e3ee24e455a606
+    6bc1ff449d74c007
+
+VPMINSD_128(reg)
+  before
+    2aa0add332b69436.b6961a9f75a7be43.03bf46eb660c1352.9c5c4fddf9c801b6
+    70ccf43d40a85e3e.d67caf5c2a2cb8c0.7a3b81dae5b59bb8.f0734fc5eacdb8df
+    9b90d0ee63d559cc.33174bf5bd394609.67ea149ae992f68d.d39ad8d2ea14657c
+    053a3e5236c9c28b.a934685649da2247.2618f9971131607e.219d65f216aac2ba
+    b64773108a9a8cc5
+  after
+    0000000000000000.0000000000000000.67ea149ae5b59bb8.d39ad8d2ea14657c
+    70ccf43d40a85e3e.d67caf5c2a2cb8c0.7a3b81dae5b59bb8.f0734fc5eacdb8df
+    9b90d0ee63d559cc.33174bf5bd394609.67ea149ae992f68d.d39ad8d2ea14657c
+    053a3e5236c9c28b.a934685649da2247.2618f9971131607e.219d65f216aac2ba
+    b64773108a9a8cc5
+VPMINSD_128(mem)
+  before
+    6d667c1861f07fc8.0b1439d55511d528.139f846ceb1c09a9.13102e3df61e1737
+    24c4fef6b7b956f0.0a6cbde35d38ce4e.4f241a21be0ab659.8a20aef836e45563
+    b62e7496a900ce68.5c8cc6e9eacae8aa.388fa662dfb0e683.e79275346d0f57af
+    ff705ae452d2a35d.5fc15051965460e8.aaaba51c691b5554.86b37f5e362b59c6
+    c2cfc9e02ec59655
+  after
+    6d667c1861f07fc8.0b1439d55511d528.139f846ceb1c09a9.13102e3df61e1737
+    24c4fef6b7b956f0.0a6cbde35d38ce4e.4f241a21be0ab659.8a20aef836e45563
+    0000000000000000.0000000000000000.139f846cbe0ab659.8a20aef8f61e1737
+    ff705ae452d2a35d.5fc15051965460e8.aaaba51c691b5554.86b37f5e362b59c6
+    c2cfc9e02ec59655
+
+VPMINSD_128(reg)
+  before
+    f9314d28f0684b08.da562ccccf3991fb.6d565889006172b3.8046923a7856bff8
+    862709a118a1b48a.25ac673a3b43536d.e399d9fbc17d59b8.982ae9a7296ddf9a
+    c5fbf9b643fb0d88.bb3d861ab3fca6df.1dd4cf15783553a2.cd242651986d7367
+    11fa17d50d0291ad.77d70559526e467f.78553642be14991f.fa00c523e061348b
+    fd8a43091d55e131
+  after
+    0000000000000000.0000000000000000.e399d9fbc17d59b8.982ae9a7986d7367
+    862709a118a1b48a.25ac673a3b43536d.e399d9fbc17d59b8.982ae9a7296ddf9a
+    c5fbf9b643fb0d88.bb3d861ab3fca6df.1dd4cf15783553a2.cd242651986d7367
+    11fa17d50d0291ad.77d70559526e467f.78553642be14991f.fa00c523e061348b
+    fd8a43091d55e131
+VPMINSD_128(mem)
+  before
+    b08e1bef6c563485.c870616910427da6.374460e135a7ee77.4e660bee31a66ad8
+    f1d7c9c2e86feab5.45a9d2deeb480d1e.d55113a077b35bf3.fc5449856d78007b
+    9a32c96caeadbfeb.e3f166a038a07cc2.2fca9b81349d4920.de6bec730d1599b4
+    896c98dad91a6e53.0094191c93d4073e.1f7b73708971742a.50f6f024ae096e2f
+    ae435104ebe1be97
+  after
+    b08e1bef6c563485.c870616910427da6.374460e135a7ee77.4e660bee31a66ad8
+    f1d7c9c2e86feab5.45a9d2deeb480d1e.d55113a077b35bf3.fc5449856d78007b
+    0000000000000000.0000000000000000.d55113a035a7ee77.fc54498531a66ad8
+    896c98dad91a6e53.0094191c93d4073e.1f7b73708971742a.50f6f024ae096e2f
+    ae435104ebe1be97
+
+VPMAXSD_128(reg)
+  before
+    549c0c806028c398.984fb0f986c5b51a.f6dde8bc9972ea3d.832f1759923b973c
+    9e4e1c02aa6bbadf.a5a78fb3d0b74d6c.2319cdede505606c.35b403286a086f83
+    e8a57df86534df18.8a42b0f6d4fef574.e194c61c141aa777.12d4b4c92de3b82a
+    8eed2bcc2c126dee.24eb90adada5675f.8e9acfb3c13cf909.f75ca528f8d92d5e
+    be185231e7f58b4b
+  after
+    0000000000000000.0000000000000000.2319cded141aa777.35b403286a086f83
+    9e4e1c02aa6bbadf.a5a78fb3d0b74d6c.2319cdede505606c.35b403286a086f83
+    e8a57df86534df18.8a42b0f6d4fef574.e194c61c141aa777.12d4b4c92de3b82a
+    8eed2bcc2c126dee.24eb90adada5675f.8e9acfb3c13cf909.f75ca528f8d92d5e
+    be185231e7f58b4b
+VPMAXSD_128(mem)
+  before
+    44d437d115438e1c.ec7223ec9b8ea10e.4f6da9c478b96058.8477e22088f793cf
+    655bd0f29ecff2fe.5e7f5fc34f36b724.e895792750449c8c.2177fdce06d8b074
+    fe7b9a829fa6721d.4062ddbde395eadb.c92f7bc25255d727.bfe51a29d76a8da5
+    e9fe106c33d3cba4.ee659846f43778e0.cf072b8199f5cc54.bb0f379d9639660d
+    723f5096e0d27759
+  after
+    44d437d115438e1c.ec7223ec9b8ea10e.4f6da9c478b96058.8477e22088f793cf
+    655bd0f29ecff2fe.5e7f5fc34f36b724.e895792750449c8c.2177fdce06d8b074
+    0000000000000000.0000000000000000.4f6da9c478b96058.2177fdce06d8b074
+    e9fe106c33d3cba4.ee659846f43778e0.cf072b8199f5cc54.bb0f379d9639660d
+    723f5096e0d27759
+
+VPMAXSD_128(reg)
+  before
+    3ec25f8050c0fb35.03b1ae9b7763b9bf.c3d58dca1da99bde.d6e9065041323840
+    7ce462c7828f2f4c.2860f0fd8661f79b.1dfeb6b5fb778f82.baa1871b6717d617
+    88f054d813cc4f4b.34d7537d7dd94364.572c1174292b9278.58fa29cf27b16404
+    be34311d9e0296dd.03e2510777d85746.ccab99714453de6b.8ac16b569b0b9c33
+    2dc3c69ee2313bd1
+  after
+    0000000000000000.0000000000000000.572c1174292b9278.58fa29cf6717d617
+    7ce462c7828f2f4c.2860f0fd8661f79b.1dfeb6b5fb778f82.baa1871b6717d617
+    88f054d813cc4f4b.34d7537d7dd94364.572c1174292b9278.58fa29cf27b16404
+    be34311d9e0296dd.03e2510777d85746.ccab99714453de6b.8ac16b569b0b9c33
+    2dc3c69ee2313bd1
+VPMAXSD_128(mem)
+  before
+    1dcab7921630fc0a.7bfaf504c0bd41af.714d68879068ef6c.dac64b1ae77ab008
+    36a2bb1d53139c0a.19909df7158a8c6d.5ae313eae598c902.dcca21d9ae2d43fa
+    54194d2db6e6d7fb.f540246437f4b3c2.9a71cf1a92719f35.2d04191c36f7d4ee
+    52fae9ad5ab5690c.6b5786b6c587f15b.0dc31604b2012d31.2bbe2e4e1b649f8f
+    30445cdbf800e08a
+  after
+    1dcab7921630fc0a.7bfaf504c0bd41af.714d68879068ef6c.dac64b1ae77ab008
+    36a2bb1d53139c0a.19909df7158a8c6d.5ae313eae598c902.dcca21d9ae2d43fa
+    0000000000000000.0000000000000000.714d6887e598c902.dcca21d9e77ab008
+    52fae9ad5ab5690c.6b5786b6c587f15b.0dc31604b2012d31.2bbe2e4e1b649f8f
+    30445cdbf800e08a
+
+VPMAXSD_128(reg)
+  before
+    9ae49f2f6958d38b.0e100c895c8d0d67.d720bf5958d083e3.8fa5669562543122
+    c3e9f4b60bf8b33d.632831add77a8039.95e9ccb98f5aa507.fce33ab8bc746533
+    099e56dc7a6abd4d.2d0ed306e8867ead.01fda74203b29373.30490e58df6f8690
+    c650c10d513c2c67.488e717eaabfc3f0.77a74e60526388d2.07a25f63e5515066
+    5cbca8c4ea247ee1
+  after
+    0000000000000000.0000000000000000.01fda74203b29373.30490e58df6f8690
+    c3e9f4b60bf8b33d.632831add77a8039.95e9ccb98f5aa507.fce33ab8bc746533
+    099e56dc7a6abd4d.2d0ed306e8867ead.01fda74203b29373.30490e58df6f8690
+    c650c10d513c2c67.488e717eaabfc3f0.77a74e60526388d2.07a25f63e5515066
+    5cbca8c4ea247ee1
+VPMAXSD_128(mem)
+  before
+    0d6165670bf6cd2c.584b31b52cfa3d36.9074840339310a2e.5334bc8018f9c1d1
+    f55e123863d3f974.19dba241a82e2c66.e08b897fb2e61092.f0f0ee0cf000791b
+    ef7f2b230fc5bee5.664c111b606635a5.16a1fde031ec9149.ac27de727705ee5d
+    d98f2d152adad7aa.9bea79b1f12e949d.0d805b11d14f487e.e2248a1c48935a43
+    ee35ed78ff37fa78
+  after
+    0d6165670bf6cd2c.584b31b52cfa3d36.9074840339310a2e.5334bc8018f9c1d1
+    f55e123863d3f974.19dba241a82e2c66.e08b897fb2e61092.f0f0ee0cf000791b
+    0000000000000000.0000000000000000.e08b897f39310a2e.5334bc8018f9c1d1
+    d98f2d152adad7aa.9bea79b1f12e949d.0d805b11d14f487e.e2248a1c48935a43
+    ee35ed78ff37fa78
+
+VANDPD_128(reg)
+  before
+    2ca403f1397c09a9.8e5c92f8d11e01f0.1500d66ef61084fa.a0f51ffdae1af25e
+    f7bfc9f291eec581.e9b0d8ba1f9cf8e2.2edb24be0c9a4269.adccc692e5594b14
+    add039e9a41968ad.c8587b45316077ad.43c8600dce580996.0ed1cabb92180fce
+    a92451420e8a2ed8.0520f58722763b7c.b01085c7d8d4172c.a1d0a964d064f9b5
+    4094de7abb48c6f7
+  after
+    0000000000000000.0000000000000000.02c8200c0c180000.0cc0c29280180b04
+    f7bfc9f291eec581.e9b0d8ba1f9cf8e2.2edb24be0c9a4269.adccc692e5594b14
+    add039e9a41968ad.c8587b45316077ad.43c8600dce580996.0ed1cabb92180fce
+    a92451420e8a2ed8.0520f58722763b7c.b01085c7d8d4172c.a1d0a964d064f9b5
+    4094de7abb48c6f7
+VANDPD_128(mem)
+  before
+    c9eae5e770d032c0.46060c676acc55af.7ed4c46a0feb007c.d1028f58c89ca6d8
+    169f3b980a09f83c.e2c467c5546c17de.0d4063dc13ca82d9.02e97a2c373cf345
+    057d5b7aa6fed596.d7a85cc869f5b110.90304ec84a1f7cbe.9f1042afc33f3920
+    7050c1775fbc85fb.8300e9dd44f35ef2.e16f011ad1f7ab58.05c5e44e0831b515
+    8e525b73a19ea3cf
+  after
+    c9eae5e770d032c0.46060c676acc55af.7ed4c46a0feb007c.d1028f58c89ca6d8
+    169f3b980a09f83c.e2c467c5546c17de.0d4063dc13ca82d9.02e97a2c373cf345
+    0000000000000000.0000000000000000.0c40404803ca0058.00000a08001ca240
+    7050c1775fbc85fb.8300e9dd44f35ef2.e16f011ad1f7ab58.05c5e44e0831b515
+    8e525b73a19ea3cf
+
+VANDPD_128(reg)
+  before
+    9604a38c2a133ffb.34e6e97d524ec496.4016096e82f35c30.ddcaf9bec45dcbd3
+    7b27b803401bc444.2e0a4f779ac04d94.6c37b8e9be80e575.610db0a13d5e975a
+    980797467e426f57.38877051541edd20.61aef3b99426356d.4704a4ad5b05cc19
+    49ef3ac081157cdf.2f2ac7f79b753067.7cc9b449a1728ac6.6c7b51cf385e263e
+    ad3e31f4f07561f2
+  after
+    0000000000000000.0000000000000000.6026b0a994002565.4104a0a119048418
+    7b27b803401bc444.2e0a4f779ac04d94.6c37b8e9be80e575.610db0a13d5e975a
+    980797467e426f57.38877051541edd20.61aef3b99426356d.4704a4ad5b05cc19
+    49ef3ac081157cdf.2f2ac7f79b753067.7cc9b449a1728ac6.6c7b51cf385e263e
+    ad3e31f4f07561f2
+VANDPD_128(mem)
+  before
+    e418c206a0573864.ea2d9fdde41f278a.f0bfd0558bd00195.1ad3f90781ef1e2a
+    eed77ef3630f68be.d70bc20944edab01.55120757413c0dd5.9517bd5ecf292e45
+    a745e4a656aaad2c.6cd69db03c0a45f3.3befe8e9d9c41054.4ae2fcba28adf5c4
+    eb2f6d0b9433c2dc.04da2e3e6902300a.7e22f0f76e74c63d.9680b3882706b153
+    d33ddd3268c09c9d
+  after
+    e418c206a0573864.ea2d9fdde41f278a.f0bfd0558bd00195.1ad3f90781ef1e2a
+    eed77ef3630f68be.d70bc20944edab01.55120757413c0dd5.9517bd5ecf292e45
+    0000000000000000.0000000000000000.5012005501100195.1013b90681290e00
+    eb2f6d0b9433c2dc.04da2e3e6902300a.7e22f0f76e74c63d.9680b3882706b153
+    d33ddd3268c09c9d
+
+VANDPD_128(reg)
+  before
+    5e6576258868f24f.9661960e3ab665f7.fd636f206661aaf2.fa769a6e1c58eabd
+    93437ace2289f114.84a7dc9b634050ac.b2bc5ec0d0b4ed58.8bb86238007d3900
+    ce25e597d3afd399.91ccba9e2cdc3f25.7e33f78c428736e8.0db5c44336ef6f31
+    6c55b4ee3667d58a.999eac03b096f08e.bf1234ee5964c04d.5c373d7ad8b8487d
+    540a48c805e67f0f
+  after
+    0000000000000000.0000000000000000.3230568040842448.09b04000006d2900
+    93437ace2289f114.84a7dc9b634050ac.b2bc5ec0d0b4ed58.8bb86238007d3900
+    ce25e597d3afd399.91ccba9e2cdc3f25.7e33f78c428736e8.0db5c44336ef6f31
+    6c55b4ee3667d58a.999eac03b096f08e.bf1234ee5964c04d.5c373d7ad8b8487d
+    540a48c805e67f0f
+VANDPD_128(mem)
+  before
+    d1fc611bd784d114.c720e23ee83c3392.78e72fb70b7b1d15.d0a61354b0d9c934
+    afd8045e6a9ff9b8.3cd26bf285ba285e.0a74bda45a9582e3.0c3b8f29e3718b49
+    ca69ad7dda42b526.27b74b78a76ef199.2b11d4b8b9f3dd27.d11da4d88fb94237
+    fe7cd9654579bf8b.e41a7e3bece3caf0.b78aefdd439ee80b.79984ecf503c2cab
+    62f78a7ac1868350
+  after
+    d1fc611bd784d114.c720e23ee83c3392.78e72fb70b7b1d15.d0a61354b0d9c934
+    afd8045e6a9ff9b8.3cd26bf285ba285e.0a74bda45a9582e3.0c3b8f29e3718b49
+    0000000000000000.0000000000000000.08642da40a110001.00220300a0518900
+    fe7cd9654579bf8b.e41a7e3bece3caf0.b78aefdd439ee80b.79984ecf503c2cab
+    62f78a7ac1868350
+
+VMULPD_256(reg)
+  before
+    e68853437e2484d3.27dd0300c451d412.cf4901a7f0a6ee0f.8aaa8a0114a460bb
+    6295a59724a16adf.2058a73b75d5afe8.448ecf294e419ba1.803f220f49110164
+    336b7ce24e897321.c7b9410374110d39.9e36e42ba3430b53.741332f3fdef8632
+    b356d4919969d945.f7cb4e42dc12aa30.3b8d3c1a8a357ad0.44f335994d4cac51
+    cbabaaed54342feb
+  after
+    5612983247323198.a82374bccdef3919.a2d60a1a6fa9f6a8.b462adcbacf6a80a
+    6295a59724a16adf.2058a73b75d5afe8.448ecf294e419ba1.803f220f49110164
+    336b7ce24e897321.c7b9410374110d39.9e36e42ba3430b53.741332f3fdef8632
+    b356d4919969d945.f7cb4e42dc12aa30.3b8d3c1a8a357ad0.44f335994d4cac51
+    cbabaaed54342feb
+VMULPD_256(mem)
+  before
+    e4070adb2fb2cb2f.3fa2aa0ea0ccd8f6.8b5c48e6cae342f9.76dfd463a0a526c5
+    6dd3d34ff9d23b47.349af9c7003eaee1.6136adda599090c2.ab78a770801e49de
+    41da7f36cfa03c60.ec8cbd27544c95b1.5426f909a52652b5.36a3b1afc62d20c6
+    3bea8c7acc298aa5.c4c2f39a3981ca13.3ff8a661cbb041fe.72aeee8b0f5ce629
+    bde35a70f63ad8b5
+  after
+    e4070adb2fb2cb2f.3fa2aa0ea0ccd8f6.8b5c48e6cae342f9.76dfd463a0a526c5
+    6dd3d34ff9d23b47.349af9c7003eaee1.6136adda599090c2.ab78a770801e49de
+    fff0000000000000.344f77b66c52636d.aca40bc9cb03eac0.e26885d707369c51
+    3bea8c7acc298aa5.c4c2f39a3981ca13.3ff8a661cbb041fe.72aeee8b0f5ce629
+    bde35a70f63ad8b5
+
+VMULPD_256(reg)
+  before
+    728ff2ca18503214.39cd76090d78e043.1889958b4a6989b3.007832cde73b1cca
+    ecfeb105112c30f2.1550b7cdad99fb65.452da16824910d3c.7172173913d19d45
+    897c938d7b590dfc.ad3fcdb4c9999739.a5fa129d6284935b.70b1d4926e81819a
+    a45494cef56407de.db6633a97c8370e8.953ce494a1ce57bb.d702e2c2125484f6
+    8432beb61b586185
+  after
+    368b68695099b6b9.82a09d8731050039.ab382461236a70ef.7ff0000000000000
+    ecfeb105112c30f2.1550b7cdad99fb65.452da16824910d3c.7172173913d19d45
+    897c938d7b590dfc.ad3fcdb4c9999739.a5fa129d6284935b.70b1d4926e81819a
+    a45494cef56407de.db6633a97c8370e8.953ce494a1ce57bb.d702e2c2125484f6
+    8432beb61b586185
+VMULPD_256(mem)
+  before
+    510be55ba698d672.98d4b13519d85743.7d906598e26441a1.713e13ba7cfc9409
+    1c5ad29bce209ce9.c346e52c83413cd8.6d8bdf6d1846c78d.954e9c7b8f9987f1
+    bfea0164b0fd7218.7ff72c21cf2cf049.88211e143a37bedb.5db67a4477316c1e
+    1789eea1673a1228.2933827e9b24b041.ab1f9c796343e1b5.25c3a97fcf517f3d
+    49c1259a3484fbf9
+  after
+    510be55ba698d672.98d4b13519d85743.7d906598e26441a1.713e13ba7cfc9409
+    1c5ad29bce209ce9.c346e52c83413cd8.6d8bdf6d1846c78d.954e9c7b8f9987f1
+    2d7761f373765456.1c2d9c0adc9ca8cb.7ff0000000000000.c69cc593251b61fd
+    1789eea1673a1228.2933827e9b24b041.ab1f9c796343e1b5.25c3a97fcf517f3d
+    49c1259a3484fbf9
+
+VMULPD_256(reg)
+  before
+    25fbeb0042571dff.0101163e0fe43948.1e46e3b180b5b86c.b051d789af75ed48
+    14bff61d945521fb.571ff427c506a3a2.b87b4c251c6c4378.74834a2e3bd99ebf
+    7457425dc60a4398.f6af0448a5ac0c63.5520b8460bd48f0f.d4807255227cb047
+    a011cb2c7502be83.ba7dc28dcae22fb6.4f7f2380e879d5dd.aa16caeb8168de0b
+    d30fcddb73ace538
+  after
+    49273b2e88b22e8c.fff0000000000000.cdac868848847b5b.fff0000000000000
+    14bff61d945521fb.571ff427c506a3a2.b87b4c251c6c4378.74834a2e3bd99ebf
+    7457425dc60a4398.f6af0448a5ac0c63.5520b8460bd48f0f.d4807255227cb047
+    a011cb2c7502be83.ba7dc28dcae22fb6.4f7f2380e879d5dd.aa16caeb8168de0b
+    d30fcddb73ace538
+VMULPD_256(mem)
+  before
+    2b38f911155181fa.f4378df63ccacf67.7f55abe251b5c9c8.03e5893f4fe8548f
+    8e5eca7882656d7c.cc168527b8edb2f1.22033933553195c4.ce9ee7efddac46d1
+    d84abafed7f367eb.83faae2b84f8a2cd.7d52ea6df26051d7.0af637fc2e51e84e
+    e5cb478e2f082972.772e046f3c76dca6.6d10397a4550b72d.143977d2dd6476b3
+    48b3a2de86702cab
+  after
+    2b38f911155181fa.f4378df63ccacf67.7f55abe251b5c9c8.03e5893f4fe8548f
+    8e5eca7882656d7c.cc168527b8edb2f1.22033933553195c4.ce9ee7efddac46d1
+    8000000000000000.7ff0000000000000.616a09969e90a741.9294ccc38a334fd5
+    e5cb478e2f082972.772e046f3c76dca6.6d10397a4550b72d.143977d2dd6476b3
+    48b3a2de86702cab
+
+VMOVUPD_EtoG_128(reg)
+  before
+    02afb58bc60145e3.91acec15a7af6f3e.0300835d7ef39c29.ce07a348690c84f1
+    9e7aaa4438a4fe07.b8b8257d5af4f77b.82ba2763e3fb1e01.7c04a2c27ba17350
+    78607f7779e492c2.36bc6eb364e47b54.52a9edec091b9ddb.53d2b4d4961a4175
+    ecad2f8f244d3fc1.e78444a4e28ab7f6.cd19d0638cdf5662.2f3f5469d783aa8d
+    ec16fe6f59e96ac3
+  after
+    02afb58bc60145e3.91acec15a7af6f3e.0300835d7ef39c29.ce07a348690c84f1
+    9e7aaa4438a4fe07.b8b8257d5af4f77b.82ba2763e3fb1e01.7c04a2c27ba17350
+    78607f7779e492c2.36bc6eb364e47b54.52a9edec091b9ddb.53d2b4d4961a4175
+    0000000000000000.0000000000000000.52a9edec091b9ddb.53d2b4d4961a4175
+    ec16fe6f59e96ac3
+VMOVUPD_EtoG_128(mem)
+  before
+    65222fd139573c45.56adb6f8d66c3faf.a7dc223af0f2698c.5156cc3607d18543
+    7830617c92d9dd3c.12ac111e2acccf39.52908463a9294b43.38acded0167f652a
+    000c125a817c09d7.7cf53b6dbdfa2a0b.c46ce60a293a1a47.e066009d567433c2
+    d982bd58214b7c40.f0d52f512a808dd0.d93bc51a8d3192c3.a3d2300a633d2bb8
+    df3a6981d76589b8
+  after
+    65222fd139573c45.56adb6f8d66c3faf.a7dc223af0f2698c.5156cc3607d18543
+    7830617c92d9dd3c.12ac111e2acccf39.52908463a9294b43.38acded0167f652a
+    0000000000000000.0000000000000000.a7dc223af0f2698c.5156cc3607d18543
+    d982bd58214b7c40.f0d52f512a808dd0.d93bc51a8d3192c3.a3d2300a633d2bb8
+    df3a6981d76589b8
+
+VMOVUPD_EtoG_128(reg)
+  before
+    eeeba76f5178886d.df5edf638f52f1a3.ca99ec360eed3435.6ccb9b81f11b6ee3
+    2d31e7416b036583.ed6bf265e69e252d.668b6b8904ca5be5.5be6e62a6f036bd5
+    f9582361c1915ca8.e177744c423ad40a.20f7aab4a8a53d8d.8159210126f545c3
+    acab593df0aea885.964ce003c032b965.542ba325970917d9.b9f0c9f32ffeb8d9
+    e17658eaa9297f44
+  after
+    eeeba76f5178886d.df5edf638f52f1a3.ca99ec360eed3435.6ccb9b81f11b6ee3
+    2d31e7416b036583.ed6bf265e69e252d.668b6b8904ca5be5.5be6e62a6f036bd5
+    f9582361c1915ca8.e177744c423ad40a.20f7aab4a8a53d8d.8159210126f545c3
+    0000000000000000.0000000000000000.20f7aab4a8a53d8d.8159210126f545c3
+    e17658eaa9297f44
+VMOVUPD_EtoG_128(mem)
+  before
+    d4b94cd3ad825730.a378844093e786c9.e7b7b2767c93916b.5d7254476d822574
+    6d83209b5a16fcc8.3a09a1d547c7321e.b284669091681848.9917b985c59da30a
+    8aa1502cc9f02939.ceabaa6aa7dae831.d17f793f1bbd0927.6367cc4d3be6cc49
+    05df5974181c9baf.b9aa9d6a4fade3ad.2274666f379f2235.17ae8b0a6ce7dddb
+    1038f128f42e126c
+  after
+    d4b94cd3ad825730.a378844093e786c9.e7b7b2767c93916b.5d7254476d822574
+    6d83209b5a16fcc8.3a09a1d547c7321e.b284669091681848.9917b985c59da30a
+    0000000000000000.0000000000000000.e7b7b2767c93916b.5d7254476d822574
+    05df5974181c9baf.b9aa9d6a4fade3ad.2274666f379f2235.17ae8b0a6ce7dddb
+    1038f128f42e126c
+
+VMOVUPD_EtoG_128(reg)
+  before
+    ac51fa136d46a6a9.bc09b65e63a70e55.58527541dccb603f.802ea90a00191d9d
+    4544a23876bcd63e.89ebe2d6c59c3e57.07ef2e5ceac19b92.c67abefd9338b68c
+    395fe501a81bded6.4a515cc75a08e6e3.22ccc5251419cf53.d12522340c06ab2d
+    e2ecc0dba2effa1e.d9069d1f3ff5c323.05363409f6613a2e.7ef94f9c8592b6ad
+    a7c3c3201de59438
+  after
+    ac51fa136d46a6a9.bc09b65e63a70e55.58527541dccb603f.802ea90a00191d9d
+    4544a23876bcd63e.89ebe2d6c59c3e57.07ef2e5ceac19b92.c67abefd9338b68c
+    395fe501a81bded6.4a515cc75a08e6e3.22ccc5251419cf53.d12522340c06ab2d
+    0000000000000000.0000000000000000.22ccc5251419cf53.d12522340c06ab2d
+    a7c3c3201de59438
+VMOVUPD_EtoG_128(mem)
+  before
+    2a4ef9abed0d01f9.9e382e33fdc565c2.14d722ca90729143.0c7a79752d2516ce
+    e1686e2b1315b81d.c78f2b7358285c6d.d59168b268880b70.93e28fd355f09fe0
+    a9db9c8bab0a76d0.bb3db4094ca41bcb.f9feeac4e345eed6.f6ba7291094e130f
+    5e7401b7d0f6f73d.d48ec36077c5dd8a.5cea24ed1eb4f6a0.91501f1ae5cbac08
+    c0ef91da86f4a776
+  after
+    2a4ef9abed0d01f9.9e382e33fdc565c2.14d722ca90729143.0c7a79752d2516ce
+    e1686e2b1315b81d.c78f2b7358285c6d.d59168b268880b70.93e28fd355f09fe0
+    0000000000000000.0000000000000000.14d722ca90729143.0c7a79752d2516ce
+    5e7401b7d0f6f73d.d48ec36077c5dd8a.5cea24ed1eb4f6a0.91501f1ae5cbac08
+    c0ef91da86f4a776
+
+VADDPD_256(reg)
+  before
+    dfe2c43d87543f07.ddff189b9fe8f690.6fcd56e47518df54.db23931734e2dffb
+    4976b4af8578b164.00485e2333e930f6.e9476801e1295dd5.5073b13042da6412
+    5cf85d9c1beb393c.a41b4d3ba807619b.9c49f623578293ba.98a8fc2264a84212
+    73b2bc70e6391339.a54463d01b4d45ab.e51dfab674b1bcaf.8f8cefdbb4583527
+    11ec074650f7f87c
+  after
+    5cf85d9c1beb393c.a41b4d3ba807619b.e9476801e1295dd5.5073b13042da6412
+    4976b4af8578b164.00485e2333e930f6.e9476801e1295dd5.5073b13042da6412
+    5cf85d9c1beb393c.a41b4d3ba807619b.9c49f623578293ba.98a8fc2264a84212
+    73b2bc70e6391339.a54463d01b4d45ab.e51dfab674b1bcaf.8f8cefdbb4583527
+    11ec074650f7f87c
+VADDPD_256(mem)
+  before
+    fa94be4f5490493e.eaf0cc9781ee7a07.df8e1bcca8c89751.21107226d442155f
+    265092e2db30e298.1c00897e8997ab53.2ec7f11c6a8314b9.aa6d59e012c0da77
+    71ebfeeb02e27fb7.672cef8f99bfe2c9.6eb961ad7d8a7810.dd82ab4ecab746a2
+    b7337e56e4b2dec7.26c2fa384ef35b14.7b31e86afeea7f82.169964de99b3978d
+    b1ff81fa1a4107e4
+  after
+    fa94be4f5490493e.eaf0cc9781ee7a07.df8e1bcca8c89751.21107226d442155f
+    265092e2db30e298.1c00897e8997ab53.2ec7f11c6a8314b9.aa6d59e012c0da77
+    fa94be4f5490493e.eaf0cc9781ee7a07.df8e1bcca8c89751.aa6d59e012c0da77
+    b7337e56e4b2dec7.26c2fa384ef35b14.7b31e86afeea7f82.169964de99b3978d
+    b1ff81fa1a4107e4
+
+VADDPD_256(reg)
+  before
+    0a01fd10eaecd252.d4f28e109eadb9f3.b40ca7e343be51e1.31fb003f08ade43b
+    7de8d48ba4403684.a4f5ab034bdecc68.6f57f1fe14ac01dc.6ce22718b8e26466
+    660302d7e5ca6d25.0308501d0751d551.b1efd4f45e4aa7b0.08b4d9e02992ba2f
+    219d84604815b3e2.cdf7f948ef138edb.d81f4d31bd237e09.e13b908678cba4c3
+    d344caf3c099dc4e
+  after
+    7de8d48ba4403684.a4f5ab034bdecc68.6f57f1fe14ac01dc.6ce22718b8e26466
+    7de8d48ba4403684.a4f5ab034bdecc68.6f57f1fe14ac01dc.6ce22718b8e26466
+    660302d7e5ca6d25.0308501d0751d551.b1efd4f45e4aa7b0.08b4d9e02992ba2f
+    219d84604815b3e2.cdf7f948ef138edb.d81f4d31bd237e09.e13b908678cba4c3
+    d344caf3c099dc4e
+VADDPD_256(mem)
+  before
+    ba9b02141e061ffb.0a0154926aad4667.de8d22721e2fb432.3e355621ccc3c395
+    710cb4d5ad2028f7.7d7d70d9e61f605f.12984886b1b10381.417bed3027b6b2fe
+    d6635c2389f3b46e.d65bd3a259f63e77.44e2e570c4a636f5.3b3f0dcb6b8987f0
+    c46c76e8d0897f8b.71e87a575ebf1c5a.5238771c72190ab9.89cbb25c33c87d18
+    886cd9501cfdd122
+  after
+    ba9b02141e061ffb.0a0154926aad4667.de8d22721e2fb432.3e355621ccc3c395
+    710cb4d5ad2028f7.7d7d70d9e61f605f.12984886b1b10381.417bed3027b6b2fe
+    710cb4d5ad2028f7.7d7d70d9e61f605f.de8d22721e2fb432.417bed3027b6b2ff
+    c46c76e8d0897f8b.71e87a575ebf1c5a.5238771c72190ab9.89cbb25c33c87d18
+    886cd9501cfdd122
+
+VADDPD_256(reg)
+  before
+    926d7c14c1b6bfb9.17f27f129bf0457b.aa705f66910535b5.17667976d7163bfa
+    041c9913bf7f828a.aac2f28c0834c169.dc3e80398f54c634.6f38686a10aa85e3
+    3bc32bb8b1e25840.5ba84b423360b182.65a0d83ef4380b82.357abee438e0a3a2
+    91b02f71346d7a88.047007203680cef2.a0e063e05b3e404b.47f7f9d16cc45260
+    7f7d941bc7634e4c
+  after
+    3bc32bb8b1e25840.5ba84b423360b182.65a0d83ef4380b82.6f38686a10aa85e3
+    041c9913bf7f828a.aac2f28c0834c169.dc3e80398f54c634.6f38686a10aa85e3
+    3bc32bb8b1e25840.5ba84b423360b182.65a0d83ef4380b82.357abee438e0a3a2
+    91b02f71346d7a88.047007203680cef2.a0e063e05b3e404b.47f7f9d16cc45260
+    7f7d941bc7634e4c
+VADDPD_256(mem)
+  before
+    bbd60bb065c8528f.632d9fa9e3ac270e.83e6a01230a0d7e4.e94b1e8a60f1a03d
+    d5cfdb7a63001b58.0d8779cc5b2a997d.b3d694043bcd8684.9b2d03aaa0de6802
+    ab347e67dd1565d1.eb0ab84637730d82.6f0b5ee273129800.14d210acb690d346
+    17d17262ee15ec27.590158831313bfc8.95537b98f57bc982.af8640fa3f931fb6
+    c7959001d77486fe
+  after
+    bbd60bb065c8528f.632d9fa9e3ac270e.83e6a01230a0d7e4.e94b1e8a60f1a03d
+    d5cfdb7a63001b58.0d8779cc5b2a997d.b3d694043bcd8684.9b2d03aaa0de6802
+    d5cfdb7a63001b58.632d9fa9e3ac270e.b3d694043bcd8684.e94b1e8a60f1a03d
+    17d17262ee15ec27.590158831313bfc8.95537b98f57bc982.af8640fa3f931fb6
+    c7959001d77486fe
+
+VSUBPD_256(reg)
+  before
+    ba4afa2d18be45c9.f7713257b30c6b85.b3ba56f08c97ebfc.ff786513dc15d436
+    e2f27ceba1fd97c4.25e23b3247059f18.557facf73e8accca.8a479a3d45eb7749
+    9dda11a50bbdba9b.7fee07dfc60c440b.9b9d5806c4789fdd.138c95044b0a6be7
+    454bb5c9f48be8f9.df62144a4d2d158b.e1605587baeea0e2.7412d2520b7c6f3b
+    8aa7cd15a0503d72
+  after
+    e2f27ceba1fd97c4.ffee07dfc60c440b.557facf73e8accca.938c95044b0a6be7
+    e2f27ceba1fd97c4.25e23b3247059f18.557facf73e8accca.8a479a3d45eb7749
+    9dda11a50bbdba9b.7fee07dfc60c440b.9b9d5806c4789fdd.138c95044b0a6be7
+    454bb5c9f48be8f9.df62144a4d2d158b.e1605587baeea0e2.7412d2520b7c6f3b
+    8aa7cd15a0503d72
+VSUBPD_256(mem)
+  before
+    32150338278f92b7.389464c2f8f35d8a.220add60f775cfc4.8314a0e8bd770a84
+    4629efa7bb472a37.d0001bfbb27f57fc.24b2de0be1ef2ee1.dd05339469a01a70
+    a3b00d4e7883c11e.6adad5e2bfbd10f8.c225943927a8ee0f.4b7f0cf658f30c52
+    2573d9197b501297.63708ee2ba39c52d.d63179d4e3abca79.29cd267c29ff1bd5
+    d33c7d91764d85a6
+  after
+    32150338278f92b7.389464c2f8f35d8a.220add60f775cfc4.8314a0e8bd770a84
+    4629efa7bb472a37.d0001bfbb27f57fc.24b2de0be1ef2ee1.dd05339469a01a70
+    4629efa7bb472a37.d0001bfbb27f57fc.24b2de0be1ef2b85.dd05339469a01a70
+    2573d9197b501297.63708ee2ba39c52d.d63179d4e3abca79.29cd267c29ff1bd5
+    d33c7d91764d85a6
+
+VSUBPD_256(reg)
+  before
+    a4180da2db6b8470.a941cff4e0b9dacf.150c42673f7db245.3da00bca34047f4c
+    faadd319f4e454e0.09e56cccc2cad4f1.ddfbeedeeb1712ed.d340c50633bfc9b4
+    3047ca635f4533a2.222a2b8b3d8fbe2a.17898cb15a9322d0.74db2374ffe963dc
+    a232eeedb5195b61.d0de881f6e1552a6.20021a4d277b1e9b.fc3da200b18e0bf1
+    4734bd9667b87b1f
+  after
+    faadd319f4e454e0.a22a2b8b3d8fbe2a.ddfbeedeeb1712ed.f4db2374ffe963dc
+    faadd319f4e454e0.09e56cccc2cad4f1.ddfbeedeeb1712ed.d340c50633bfc9b4
+    3047ca635f4533a2.222a2b8b3d8fbe2a.17898cb15a9322d0.74db2374ffe963dc
+    a232eeedb5195b61.d0de881f6e1552a6.20021a4d277b1e9b.fc3da200b18e0bf1
+    4734bd9667b87b1f
+VSUBPD_256(mem)
+  before
+    318bf0223d756f91.abb93b2194ec09c9.efcbff7271684d90.52b1941fee5d41f9
+    960db7904ed0a573.a92aae6d984a7888.5bbe0d7260926a15.0ae3f4914cc5c897
+    52878eccb7d6d7f2.f6cf413b5cc0e548.f0832d0a5aa16660.a4e53811dc3eef21
+    41c5f2c39392c13a.f0f5f2f97dd98cb5.8ae5db2679a0fd9e.7c015a0a3b54f242
+    ee8458e704930ca7
+  after
+    318bf0223d756f91.abb93b2194ec09c9.efcbff7271684d90.52b1941fee5d41f9
+    960db7904ed0a573.a92aae6d984a7888.5bbe0d7260926a15.0ae3f4914cc5c897
+    b18bf0223d756f91.2bb93b2194ebfc72.6fcbff7271684d90.d2b1941fee5d41f9
+    41c5f2c39392c13a.f0f5f2f97dd98cb5.8ae5db2679a0fd9e.7c015a0a3b54f242
+    ee8458e704930ca7
+
+VSUBPD_256(reg)
+  before
+    56ba2e16d4887afb.3f935e5ffe102176.f2e8bc129622a97c.05b293b2d99cebfb
+    10eed60246be78eb.28bd4e8e155db1d3.57f39cf243267849.3db4d19a97a0eba2
+    786e4e17f7c14223.d80f3e3bf4842e7d.7d648c05217134c7.0db812caceb8bac0
+    ea8491c2821e134e.2b54aa52b691549f.be858ab7cb901aa3.538ad12e9af11480
+    eaf68ab21956b50f
+  after
+    f86e4e17f7c14223.580f3e3bf4842e7d.fd648c05217134c7.3db4d19a97a0eba2
+    10eed60246be78eb.28bd4e8e155db1d3.57f39cf243267849.3db4d19a97a0eba2
+    786e4e17f7c14223.d80f3e3bf4842e7d.7d648c05217134c7.0db812caceb8bac0
+    ea8491c2821e134e.2b54aa52b691549f.be858ab7cb901aa3.538ad12e9af11480
+    eaf68ab21956b50f
+VSUBPD_256(mem)
+  before
+    aec8b94364f35899.c27d9b6d84602819.fc5a0fbe7791de66.77a39174de0e6589
+    7accdbcb99d5ba49.5ca568859814bc2f.29ebe86d548f89fd.050a9da9f6775224
+    2ccd6b38d407974c.1348f5775ac50d3d.8dd4b14b68971191.c206abc0ad581d20
+    9f98e5753095aacd.45b23dae67ff55ee.04e1e742d0b6324e.0be3b627a23c022b
+    3dedb9486eaf3dee
+  after
+    aec8b94364f35899.c27d9b6d84602819.fc5a0fbe7791de66.77a39174de0e6589
+    7accdbcb99d5ba49.5ca568859814bc2f.29ebe86d548f89fd.050a9da9f6775224
+    7accdbcb99d5ba49.5ca568859814bc2f.7c5a0fbe7791de66.f7a39174de0e6589
+    9f98e5753095aacd.45b23dae67ff55ee.04e1e742d0b6324e.0be3b627a23c022b
+    3dedb9486eaf3dee
+
+VDIVPD_256(reg)
+  before
+    b26fb391b03e0918.aef9c56ec98cb0f9.4d2e3c955b4ed1f0.69dd043fa7f7a75f
+    c7b69d6d0174a353.37bc870fbcf765fb.8709ee9ad13fbcec.9a96862e0a662df0
+    d80f744800dd464b.15ada84425e38400.4e904f28655d5491.71d6e8fc1410802f
+    41c4358e460630ae.2398a3f91e5acb34.000d5cabb435d389.cc6aa693e2005b46
+    861e3de18f437b61
+  after
+    2f9701e17702ecd1.61fec7f3409bdc74.8000000000000000.8000000000000000
+    c7b69d6d0174a353.37bc870fbcf765fb.8709ee9ad13fbcec.9a96862e0a662df0
+    d80f744800dd464b.15ada84425e38400.4e904f28655d5491.71d6e8fc1410802f
+    41c4358e460630ae.2398a3f91e5acb34.000d5cabb435d389.cc6aa693e2005b46
+    861e3de18f437b61
+VDIVPD_256(mem)
+  before
+    7abe27d137e39cad.5f21dbab717a9b25.3f48f41ac66af4c2.f8cd108f59527580
+    8516e24ff7ef7a56.8c74620b1dc5c35f.438b1793371fbbd7.911b6740f1407823
+    84f2e947eb70d087.2508c71be574e606.0d2b88518d84de9f.29455d2a188c161e
+    511db9a52e745b6d.8628044565123ec6.77f5c43ee5a51745.1a95efba68c18c1c
+    c259175a806b15ca
+  after
+    7abe27d137e39cad.5f21dbab717a9b25.3f48f41ac66af4c2.f8cd108f59527580
+    8516e24ff7ef7a56.8c74620b1dc5c35f.438b1793371fbbd7.911b6740f1407823
+    8000000000000000.8000000000000000.44315f0896db5d2f.0000000000000000
+    511db9a52e745b6d.8628044565123ec6.77f5c43ee5a51745.1a95efba68c18c1c
+    c259175a806b15ca
+
+VDIVPD_256(reg)
+  before
+    7bdbd378f916eed4.ca64cc55dc06d733.0b2117f63a2c084d.5eb546485a8e23f5
+    a3681f7e714f53e5.c994a0431232ff07.103ffb9b004c8044.9f368a59094cbedd
+    944cf5da84a280a9.2b77b05bec059012.f1cead9f5201e15a.14460d5f0deaa327
+    acd253f7cd99b1ce.cdd9788a848a4682.0a1a276dccd46839.9aaf494582758fff
+    0e3ebcf785f83e92
+  after
+    4f0aa7a9fef4da73.de0bdccebcd274c3.8000000000000000.cae05aad3d097c6c
+    a3681f7e714f53e5.c994a0431232ff07.103ffb9b004c8044.9f368a59094cbedd
+    944cf5da84a280a9.2b77b05bec059012.f1cead9f5201e15a.14460d5f0deaa327
+    acd253f7cd99b1ce.cdd9788a848a4682.0a1a276dccd46839.9aaf494582758fff
+    0e3ebcf785f83e92
+VDIVPD_256(mem)
+  before
+    4ac0e161327f6b0c.45483441e9c221fd.898874baf9cedd83.b66e67730b53518d
+    2bfe346fa416d398.bcf8942473a90de5.3c4f21d965dc1041.5318681caa09d803
+    8dc7320df8ca3263.6e2f6f0c07d8b030.c2f9fad2e4c09ce7.3c6226d446823847
+    4ce6552849a64498.b539c16542dd488b.f7537b9093873da1.cd999d077a4bae05
+    6209ca22e3f075e8
+  after
+    4ac0e161327f6b0c.45483441e9c221fd.898874baf9cedd83.b66e67730b53518d
+    2bfe346fa416d398.bcf8942473a90de5.3c4f21d965dc1041.5318681caa09d803
+    212ca1277d6846d0.b7a03f6258c5e496.f2b45e2b1b167e09.dc99b012bfd2cc4f
+    4ce6552849a64498.b539c16542dd488b.f7537b9093873da1.cd999d077a4bae05
+    6209ca22e3f075e8
+
+VDIVPD_256(reg)
+  before
+    56fea88f1cfbcb9c.44261baab3b7c464.ee62879bc0440fa1.b72920018d3bae9d
+    07c333bbc2faeace.5155ff8153086ff3.75f6bc1a1c97411f.de476610efebad04
+    d0a6671370780f2a.4f3d7e9744a50170.a7405c4ff2641cb0.4979c8a9d4a0f405
+    0cf14101c202755b.1aab12daa39b3608.de8e64a5df37da01.d28ac2b858683fca
+    5648d02a984e4c7f
+  after
+    8000000000000000.4207dde43308ec00.fff0000000000000.d4bd0a320ab1d863
+    07c333bbc2faeace.5155ff8153086ff3.75f6bc1a1c97411f.de476610efebad04
+    d0a6671370780f2a.4f3d7e9744a50170.a7405c4ff2641cb0.4979c8a9d4a0f405
+    0cf14101c202755b.1aab12daa39b3608.de8e64a5df37da01.d28ac2b858683fca
+    5648d02a984e4c7f
+VDIVPD_256(mem)
+  before
+    b07d6ee9b05fd551.19f1bbf356235a0e.8e6b39358bf5c9e6.772ace877e9ab8be
+    bef619e2bba6966c.51f2d354c567f8ef.87486e9419bf7737.ce6198636c1cf292
+    5b7f4c02d52f4dfc.12408490ad5a8ba9.e1102de36806fb27.3f7fbda44446c32a
+    63e483341b07b42c.b627cb13aa8951e8.788df30e95d513e1.26d039b6a3a66831
+    df9f090524c71d54
+  after
+    b07d6ee9b05fd551.19f1bbf356235a0e.8e6b39358bf5c9e6.772ace877e9ab8be
+    bef619e2bba6966c.51f2d354c567f8ef.87486e9419bf7737.ce6198636c1cf292
+    4e680749108f0b8f.77f0fc0f87cbe2f6.38ccb7fba4f3157c.97250104d5a6e480
+    63e483341b07b42c.b627cb13aa8951e8.788df30e95d513e1.26d039b6a3a66831
+    df9f090524c71d54
+
+VPCMPEQQ_128(reg)
+  before
+    c63a27fd64351d3f.b2f03a63a9398828.9bf3a2495680845a.288c3a01bb387992
+    37eb910afe7da69d.2471ed7d9ad1851d.1bef079e50c961a9.cdd980a8f73cea65
+    8eff42988f2af21b.9531196d0adc6637.9468f57e32f22381.434040f064ec2187
+    26c23714b2c93d64.e0fd391f1665e8a1.60aa68569887088f.658df7c31f54db23
+    118c1f0f4381d466
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    37eb910afe7da69d.2471ed7d9ad1851d.1bef079e50c961a9.cdd980a8f73cea65
+    8eff42988f2af21b.9531196d0adc6637.9468f57e32f22381.434040f064ec2187
+    26c23714b2c93d64.e0fd391f1665e8a1.60aa68569887088f.658df7c31f54db23
+    118c1f0f4381d466
+VPCMPEQQ_128(mem)
+  before
+    220836beec7ec87c.5d806ae803e5c525.e3a1c97fd978c788.dc015d901f124a7f
+    73ceb7be37577291.8e85d9821f0ac409.79e945797022bf18.65b9cf9a622125fc
+    e2aa1efa401990cf.151c7f4da2c476be.7da12afaf66e8b7c.551ebadefe40d7b3
+    4a68e75e22cfdb65.4e9358b427a019ed.cd94f3ec8869e8e1.097b1aca8ef99a4f
+    dd1debc9afdaab7d
+  after
+    220836beec7ec87c.5d806ae803e5c525.e3a1c97fd978c788.dc015d901f124a7f
+    73ceb7be37577291.8e85d9821f0ac409.79e945797022bf18.65b9cf9a622125fc
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    4a68e75e22cfdb65.4e9358b427a019ed.cd94f3ec8869e8e1.097b1aca8ef99a4f
+    dd1debc9afdaab7d
+
+VPCMPEQQ_128(reg)
+  before
+    2e502a47fc6f46e9.86d48fd6f985127d.943461254a29e745.43901c3c411d9272
+    5660d1b01242a63e.74ba914ee248ef44.454c950ba8ec1d70.bd5f21d73e98445c
+    b299de708ce10829.eee569b2f8232fe5.bc27efd2dc74f71a.16ce7ea89ae6bbca
+    9e474cf306d8a855.d22393ee58238e8d.54116de6834db0f0.29a9b09a7112b3e9
+    d3bc329be028e8e5
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    5660d1b01242a63e.74ba914ee248ef44.454c950ba8ec1d70.bd5f21d73e98445c
+    b299de708ce10829.eee569b2f8232fe5.bc27efd2dc74f71a.16ce7ea89ae6bbca
+    9e474cf306d8a855.d22393ee58238e8d.54116de6834db0f0.29a9b09a7112b3e9
+    d3bc329be028e8e5
+VPCMPEQQ_128(mem)
+  before
+    f1d28096033415e9.76b518a51db2c16f.fa3e8cef1e52c767.6b550bb43803869e
+    5db91677f543f722.96313df36dfb9023.4303ce9f64bf98a0.5b41c3a69823b2cf
+    f53b712ad2604abc.5a05b647913f511c.8a3ed7ec4973ba64.821f93293e397330
+    93250c9cb798c9e2.1e7e810f250b4007.a9ba23c0e67cecde.3a3c76aac7cf036d
+    e1e46894ce739f31
+  after
+    f1d28096033415e9.76b518a51db2c16f.fa3e8cef1e52c767.6b550bb43803869e
+    5db91677f543f722.96313df36dfb9023.4303ce9f64bf98a0.5b41c3a69823b2cf
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    93250c9cb798c9e2.1e7e810f250b4007.a9ba23c0e67cecde.3a3c76aac7cf036d
+    e1e46894ce739f31
+
+VPCMPEQQ_128(reg)
+  before
+    d1636652f0b18328.144363b7c0f531c0.3ee89ab5c6ea988f.7e452c0959e5e83b
+    68046a52c813ea00.5561f26808863e84.168ffba70f689661.e3a970b2beba6ba7
+    001572fff3271262.304b359cab54ac57.02bea2509d127629.b5b369a73008314d
+    f6e079c50c7834fd.82cca93dc66d3668.5ec38a1c0c737492.d03095d4ccdaf659
+    10e97025ad3d75f9
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    68046a52c813ea00.5561f26808863e84.168ffba70f689661.e3a970b2beba6ba7
+    001572fff3271262.304b359cab54ac57.02bea2509d127629.b5b369a73008314d
+    f6e079c50c7834fd.82cca93dc66d3668.5ec38a1c0c737492.d03095d4ccdaf659
+    10e97025ad3d75f9
+VPCMPEQQ_128(mem)
+  before
+    52ad7486ef3c6b56.a6b27b10af938f7b.27b1c93974dc99e1.85e8af77f618cb49
+    70471fe4afe3939f.6dd8754c79035d89.fbc7117bd2ae91ef.d57a0ecdfa8cb8f9
+    4782ec29093fabfe.a59b62e50654dbd2.dad8fdeffbeed9bd.a9c5a18ab15b774f
+    b32c5743185b6d9f.ab4a3e48f1134503.a1b00a810ca82f78.5d15661bba1143f7
+    4cb558eaae3b599c
+  after
+    52ad7486ef3c6b56.a6b27b10af938f7b.27b1c93974dc99e1.85e8af77f618cb49
+    70471fe4afe3939f.6dd8754c79035d89.fbc7117bd2ae91ef.d57a0ecdfa8cb8f9
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    b32c5743185b6d9f.ab4a3e48f1134503.a1b00a810ca82f78.5d15661bba1143f7
+    4cb558eaae3b599c
+
+VSUBPD_128(reg)
+  before
+    d4f373652b65f5ea.900fdc1cf84395b0.db3005dfd6cbd7c7.2a1db21d20e84d4b
+    5019b4f6cd19538f.baf8f8a2c603e15a.9198b3185209cccb.52ea73af53bbef63
+    1b74160b2fe5ae35.0db325c09da80bcc.2acf455e005761bb.f5e2c923c32dd3ec
+    9350940fed544388.650be1629a3ed030.0021b61c7d43d142.efd22e668948b311
+    1b872062c31a4bfe
+  after
+    0000000000000000.0000000000000000.aacf455e005761bb.75e2c923c32dd3ec
+    5019b4f6cd19538f.baf8f8a2c603e15a.9198b3185209cccb.52ea73af53bbef63
+    1b74160b2fe5ae35.0db325c09da80bcc.2acf455e005761bb.f5e2c923c32dd3ec
+    9350940fed544388.650be1629a3ed030.0021b61c7d43d142.efd22e668948b311
+    1b872062c31a4bfe
+VSUBPD_128(mem)
+  before
+    57ca19058daf59e1.12f92d6ea4f34e35.9ecea874d8cfecb2.70da02c064595a0d
+    7e6a9739021197e4.f6bbda94f04d0ae8.94c6f4e274691a7f.d64625b5522436c7
+    6c3216ec3e4ec233.99e199ed6ceeb44c.22c04398891817c3.8eb11b67e230a21d
+    fded10095e7196fb.59b964e5b463880e.2688108234e69faa.f466e142b109d9bb
+    64b272b25a3c184c
+  after
+    57ca19058daf59e1.12f92d6ea4f34e35.9ecea874d8cfecb2.70da02c064595a0d
+    7e6a9739021197e4.f6bbda94f04d0ae8.94c6f4e274691a7f.d64625b5522436c7
+    0000000000000000.0000000000000000.1ecea874d8cfecb2.f0da02c064595a0d
+    fded10095e7196fb.59b964e5b463880e.2688108234e69faa.f466e142b109d9bb
+    64b272b25a3c184c
+
+VSUBPD_128(reg)
+  before
+    39e2ca247a549b7d.0d69037c7d87ce68.908d39e86537c2d9.7bead78d90e16e5f
+    d140e502acde9ef9.77706a31b89b27a6.9baa14631bf69d5b.fdb214a3b9153f0e
+    8718c0ba8c645c6d.19cfc1142aba5ddf.d75cefc0702d563d.88ac44b2cd8ccfe4
+    b7b856b6b7751284.ce528411f0ee2c42.9eefc86c0367292d.f7a3e1a4e554da0d
+    286469671f791bb4
+  after
+    0000000000000000.0000000000000000.575cefc0702d563d.fdb214a3b9153f0e
+    d140e502acde9ef9.77706a31b89b27a6.9baa14631bf69d5b.fdb214a3b9153f0e
+    8718c0ba8c645c6d.19cfc1142aba5ddf.d75cefc0702d563d.88ac44b2cd8ccfe4
+    b7b856b6b7751284.ce528411f0ee2c42.9eefc86c0367292d.f7a3e1a4e554da0d
+    286469671f791bb4
+VSUBPD_128(mem)
+  before
+    f6bb57e697054f06.bd6ba364c99afcec.71c4301425454ff9.4dae9ad46d3051d7
+    3c74280d6807322f.f47ca32f5d61564e.e0f3400ae6cb8331.41e761634d150be7
+    d85b56c8ae887f5a.ba3852830f555b59.f6a930dd4e8a8415.d4e419853ca19308
+    a43c5f038696f4b3.6aebadcb7c0348b7.8eb37c7b7a910dd2.63f2bfa6d86025e6
+    4a5d4d32bddffc2f
+  after
+    f6bb57e697054f06.bd6ba364c99afcec.71c4301425454ff9.4dae9ad46d3051d7
+    3c74280d6807322f.f47ca32f5d61564e.e0f3400ae6cb8331.41e761634d150be7
+    0000000000000000.0000000000000000.f1c4301425454ff9.cdae9ad46d3051d7
+    a43c5f038696f4b3.6aebadcb7c0348b7.8eb37c7b7a910dd2.63f2bfa6d86025e6
+    4a5d4d32bddffc2f
+
+VSUBPD_128(reg)
+  before
+    e571c19586a9558c.7ee2beaa0b3c4b68.5fe1af763ff65914.86dea0ce85e9db94
+    907a173bd04a6cac.401bf0a95a8640a3.f76654edf5bac91d.b8f319c48ca0aa86
+    a7c34990364f7c39.c8b16fed8e819190.8dc6989d39dbd57e.02c16248aac136d4
+    869955015443c3df.f071b960c438f85c.7c4c78f2a8e6b9e2.3e13f746fb583aac
+    49b454aa9c727337
+  after
+    0000000000000000.0000000000000000.f76654edf5bac91d.b8f319c48ca0aa86
+    907a173bd04a6cac.401bf0a95a8640a3.f76654edf5bac91d.b8f319c48ca0aa86
+    a7c34990364f7c39.c8b16fed8e819190.8dc6989d39dbd57e.02c16248aac136d4
+    869955015443c3df.f071b960c438f85c.7c4c78f2a8e6b9e2.3e13f746fb583aac
+    49b454aa9c727337
+VSUBPD_128(mem)
+  before
+    0072f660a91a9da4.894936f8c7b27b4c.952749f017b83233.2245ef59dd67b1f6
+    3d1758543d5d731d.0c1de8e32b29e029.949e9b88a40bfb40.d9fdf93c75e8f866
+    dd70f6727446b2cf.6b62672c1b333025.c7a42b1386400eb0.ffc092090bf7cbdd
+    bd484ca76be116e5.0263af41335da5ea.0b03767fda6028ae.eedab62b3c1f6607
+    0397620da3ed0492
+  after
+    0072f660a91a9da4.894936f8c7b27b4c.952749f017b83233.2245ef59dd67b1f6
+    3d1758543d5d731d.0c1de8e32b29e029.949e9b88a40bfb40.d9fdf93c75e8f866
+    0000000000000000.0000000000000000.15273aa253662c35.d9fdf93c75e8f866
+    bd484ca76be116e5.0263af41335da5ea.0b03767fda6028ae.eedab62b3c1f6607
+    0397620da3ed0492
+
+VADDPD_128(reg)
+  before
+    9b42911dddece227.b76dd6dd3d3a5b8c.2d6ebd8d10327c24.3d89f7b7bb790567
+    10293fc685a83c75.a8aa1102075e3cef.48cd8c7c4d3ef080.37002aa745966007
+    bf96687437ae4e26.6cca7801e458763b.afce187a870d3eaa.d6358b3b95c4f6b9
+    05d60994908953e7.df9a87c5f135c59c.bdbb5ef3592ca24d.f6f39660c70e83aa
+    7308c800f680c306
+  after
+    0000000000000000.0000000000000000.48cd8c7c4d3ef080.d6358b3b95c4f6b9
+    10293fc685a83c75.a8aa1102075e3cef.48cd8c7c4d3ef080.37002aa745966007
+    bf96687437ae4e26.6cca7801e458763b.afce187a870d3eaa.d6358b3b95c4f6b9
+    05d60994908953e7.df9a87c5f135c59c.bdbb5ef3592ca24d.f6f39660c70e83aa
+    7308c800f680c306
+VADDPD_128(mem)
+  before
+    293e9c083e2671f8.3c351c902cc58863.dde6ba3c4900e43d.d0e1585360265816
+    f4638e65bc0d4aac.c1fe9fd5a5ef2947.437a8e5109c5914b.438b040737889bb1
+    b1411b018c410a4f.f07f8dd09a92713e.eb227df04c9186f1.72075d797bdda8c9
+    3aa5bdcac8cc6c0d.2502e3eba53b9ef5.b2a905062f6f7f5c.b8a05f17c7b1bb0b
+    73a1074bb7901022
+  after
+    293e9c083e2671f8.3c351c902cc58863.dde6ba3c4900e43d.d0e1585360265816
+    f4638e65bc0d4aac.c1fe9fd5a5ef2947.437a8e5109c5914b.438b040737889bb1
+    0000000000000000.0000000000000000.dde6ba3c4900e43d.d0e1585360265816
+    3aa5bdcac8cc6c0d.2502e3eba53b9ef5.b2a905062f6f7f5c.b8a05f17c7b1bb0b
+    73a1074bb7901022
+
+VADDPD_128(reg)
+  before
+    fd575083e807e2bb.6b5bf2ab8fbc2e11.bcd59b946274e918.74dda17dcd6b3ab8
+    b40e362af6a26e82.222e3590fb1c0a88.1142b3366ecb9152.0d88ce4242917130
+    f212b5ac7cebf022.3aec026528f9bc9e.8096263c64ccd050.59770642abeee0f1
+    15afc9741670a347.8f5fd516335e027e.651cf114e102e4bd.3376c767248e4526
+    79518c9fc87b5afc
+  after
+    0000000000000000.0000000000000000.1142b3366ecb9152.59770642abeee0f1
+    b40e362af6a26e82.222e3590fb1c0a88.1142b3366ecb9152.0d88ce4242917130
+    f212b5ac7cebf022.3aec026528f9bc9e.8096263c64ccd050.59770642abeee0f1
+    15afc9741670a347.8f5fd516335e027e.651cf114e102e4bd.3376c767248e4526
+    79518c9fc87b5afc
+VADDPD_128(mem)
+  before
+    06d3d2d4b3c3dc9f.77306ff161bcc49f.fd542b8f37579655.1c220e2980f90646
+    b6ca13f40272873a.76e2a18cf95c8fd3.60977fbc50f1354e.01f27be8de3d7597
+    6500cdead09216f9.6c125db279db4092.94f44d8a9c379a96.70da33bb965b6b5b
+    ee427ba23a31460a.b70a9fcf7dc51286.743711e334358259.c524320f44de253f
+    5c1d74508652dfee
+  after
+    06d3d2d4b3c3dc9f.77306ff161bcc49f.fd542b8f37579655.1c220e2980f90646
+    b6ca13f40272873a.76e2a18cf95c8fd3.60977fbc50f1354e.01f27be8de3d7597
+    0000000000000000.0000000000000000.fd542b8f37579655.1c220e2980f90646
+    ee427ba23a31460a.b70a9fcf7dc51286.743711e334358259.c524320f44de253f
+    5c1d74508652dfee
+
+VADDPD_128(reg)
+  before
+    9111f6ebf544d415.2f5c99085c5bd397.b1176150a2a7425c.de2c48b536f8a9c2
+    c04bb24b2f3f415f.031aa308501a79cc.b784a19f830c0cbf.ad9e6deabe8bcbfe
+    4419a6dbd0d06279.4548168f357cf3d6.269f5a2abd80ab5c.bc5afc70e7faa338
+    7bc5ce097382730f.d3b16c87248dfee1.58b2885ceb905dde.e92c7132cd52ef9d
+    0fe0481c8d9e6858
+  after
+    0000000000000000.0000000000000000.b784a19f830c0cbf.bc5afc70e7faa338
+    c04bb24b2f3f415f.031aa308501a79cc.b784a19f830c0cbf.ad9e6deabe8bcbfe
+    4419a6dbd0d06279.4548168f357cf3d6.269f5a2abd80ab5c.bc5afc70e7faa338
+    7bc5ce097382730f.d3b16c87248dfee1.58b2885ceb905dde.e92c7132cd52ef9d
+    0fe0481c8d9e6858
+VADDPD_128(mem)
+  before
+    0942fe1a43ebcd96.c09c2440b4e1afcd.882324de3b585618.aa0b27a1aac75bf2
+    b51e0e180943d883.6feba6ec307a535d.3f68b77e96e9b6a8.78f4346495b1e444
+    ed3ff402feb4464a.e3fb4f7982d79a6e.d64da255504cdbbd.1ebaaa1348db327f
+    8f732cc53c4ad318.7a1b1b534787c2aa.279e624e868e8182.f8a9851a61d08250
+    630cc1e3791d1062
+  after
+    0942fe1a43ebcd96.c09c2440b4e1afcd.882324de3b585618.aa0b27a1aac75bf2
+    b51e0e180943d883.6feba6ec307a535d.3f68b77e96e9b6a8.78f4346495b1e444
+    0000000000000000.0000000000000000.3f68b77e96e9b6a8.78f4346495b1e444
+    8f732cc53c4ad318.7a1b1b534787c2aa.279e624e868e8182.f8a9851a61d08250
+    630cc1e3791d1062
+
+VUNPCKLPD_128(reg)
+  before
+    b9315adb2e4c1862.7584334bdf103a19.8e9606e61a1305be.1027725453ba6424
+    57624d6e1cebd5fc.7d3f838104123978.7db70d9f9809a055.6bb34e55d3dc3fce
+    99ec9509de8684db.81709a54c65c8962.a1cb2ae85cf4ce1c.1510723c2301cfad
+    db1b2e1610a860ac.5ee2f3af42fbe902.581f5b2f0361cdbe.eb085bf65f34d0ec
+    c768836da282fdb8
+  after
+    0000000000000000.0000000000000000.1510723c2301cfad.6bb34e55d3dc3fce
+    57624d6e1cebd5fc.7d3f838104123978.7db70d9f9809a055.6bb34e55d3dc3fce
+    99ec9509de8684db.81709a54c65c8962.a1cb2ae85cf4ce1c.1510723c2301cfad
+    db1b2e1610a860ac.5ee2f3af42fbe902.581f5b2f0361cdbe.eb085bf65f34d0ec
+    c768836da282fdb8
+VUNPCKLPD_128(mem)
+  before
+    86fc688e08f6133d.793b14034fdda71a.f1630b7d93fa1385.fcfd9bde28dbd7e9
+    05908645ae9ccea6.ce98443b36b193d2.14bd5cacd566c416.ebb1e76368ee2846
+    1ef0577faf80ea20.387eb82a62b16180.a4be6427254ab8e2.7f893a295e27fe83
+    aee7592728af22d6.12386e3c6e684ccf.7d309eda9fb2ab15.15d08f9ca711934c
+    0ad1e428de38244d
+  after
+    86fc688e08f6133d.793b14034fdda71a.f1630b7d93fa1385.fcfd9bde28dbd7e9
+    05908645ae9ccea6.ce98443b36b193d2.14bd5cacd566c416.ebb1e76368ee2846
+    0000000000000000.0000000000000000.fcfd9bde28dbd7e9.ebb1e76368ee2846
+    aee7592728af22d6.12386e3c6e684ccf.7d309eda9fb2ab15.15d08f9ca711934c
+    0ad1e428de38244d
+
+VUNPCKLPD_128(reg)
+  before
+    b8d935399f29ed31.91420728343433f5.b81361ddf763926c.7ce086b15eaa58da
+    7c347c3b876f29a4.a3cedd70f01cd9a9.865b8e79982d6c02.7b9999997f3f7c5e
+    b32eb79a31961554.c15557ea7772cf1d.d75cef7cee52193e.5729527c1d7cd2cc
+    b713e1c33a2bedeb.c5a4f182e642d37e.09628252945ed4cb.ec5a2c47546e1851
+    16faa6e741200819
+  after
+    0000000000000000.0000000000000000.5729527c1d7cd2cc.7b9999997f3f7c5e
+    7c347c3b876f29a4.a3cedd70f01cd9a9.865b8e79982d6c02.7b9999997f3f7c5e
+    b32eb79a31961554.c15557ea7772cf1d.d75cef7cee52193e.5729527c1d7cd2cc
+    b713e1c33a2bedeb.c5a4f182e642d37e.09628252945ed4cb.ec5a2c47546e1851
+    16faa6e741200819
+VUNPCKLPD_128(mem)
+  before
+    b1d33947ff9e5e4f.e52ef6203eb9ec15.8c86282458999ff7.77b9426827ded857
+    99b26252abf5d820.99cdf21fd8cc4f7f.f2c977bcea82efb5.7dac2c28425d628b
+    aa639ef6603030b7.2f3ad22aa4f152d5.d3375a36b70981e4.76893a008268ad16
+    c0b1681e3b5b2341.03c291af3fb331c2.0b9d4e7fdb3b0faf.c09a6a5b828af6a1
+    b52cb7a4de4f79db
+  after
+    b1d33947ff9e5e4f.e52ef6203eb9ec15.8c86282458999ff7.77b9426827ded857
+    99b26252abf5d820.99cdf21fd8cc4f7f.f2c977bcea82efb5.7dac2c28425d628b
+    0000000000000000.0000000000000000.77b9426827ded857.7dac2c28425d628b
+    c0b1681e3b5b2341.03c291af3fb331c2.0b9d4e7fdb3b0faf.c09a6a5b828af6a1
+    b52cb7a4de4f79db
+
+VUNPCKLPD_128(reg)
+  before
+    b38b1d493344726e.b76a3cb658836dea.71b12b19449f27f3.76c8cd8173235543
+    140298b51df41c07.6b5897aad1b3c9dd.d5539cd4503f7113.ef82552a9bcd11cb
+    36df255437ebb551.b848f4e6c4f7f447.8bf3e14cfe224bcf.549761646e45fd74
+    736cbf931db576f9.7906ce564d5caa53.efdff4edebd1f1d3.80d56d1d0898d66a
+    4f06f64086d258d8
+  after
+    0000000000000000.0000000000000000.549761646e45fd74.ef82552a9bcd11cb
+    140298b51df41c07.6b5897aad1b3c9dd.d5539cd4503f7113.ef82552a9bcd11cb
+    36df255437ebb551.b848f4e6c4f7f447.8bf3e14cfe224bcf.549761646e45fd74
+    736cbf931db576f9.7906ce564d5caa53.efdff4edebd1f1d3.80d56d1d0898d66a
+    4f06f64086d258d8
+VUNPCKLPD_128(mem)
+  before
+    9df877b904fd3eeb.29f662dc6cdf9eaa.8c5ea3e787eda72e.5d61d323b2da9eca
+    45756c749c2745ce.b2ca0a9cbff56711.cc1cef838fb6a603.31c6795aefc88f60
+    254a515d6d5c29ae.6b31b340b3810eda.150c2c1880c46400.c75ae3ff3f27ff43
+    1843a26091a7a6b6.b17a5a32e311cfb0.42f9d89076229d4e.7b690b7c3e842c1d
+    a83fef3f876a509a
+  after
+    9df877b904fd3eeb.29f662dc6cdf9eaa.8c5ea3e787eda72e.5d61d323b2da9eca
+    45756c749c2745ce.b2ca0a9cbff56711.cc1cef838fb6a603.31c6795aefc88f60
+    0000000000000000.0000000000000000.5d61d323b2da9eca.31c6795aefc88f60
+    1843a26091a7a6b6.b17a5a32e311cfb0.42f9d89076229d4e.7b690b7c3e842c1d
+    a83fef3f876a509a
+
+VUNPCKHPD_128(reg)
+  before
+    ac278ab3b766a867.f92bdc6924147714.def0fae0ec31e640.31b06ed98edc0c1c
+    e26fd84368036f30.a6d0796542af59f1.4fde8fb5696b8e36.bdfd6adee4ff6e94
+    a661d65d39cde3a1.fafcf73e0985087c.6092151cf74d043d.c1ac498b93967fe2
+    534a7e6cc4503d64.d07dd2e292a13fde.6e56898331638301.1b8985ccb7adfa33
+    a5609c8d6d519db3
+  after
+    0000000000000000.0000000000000000.6092151cf74d043d.4fde8fb5696b8e36
+    e26fd84368036f30.a6d0796542af59f1.4fde8fb5696b8e36.bdfd6adee4ff6e94
+    a661d65d39cde3a1.fafcf73e0985087c.6092151cf74d043d.c1ac498b93967fe2
+    534a7e6cc4503d64.d07dd2e292a13fde.6e56898331638301.1b8985ccb7adfa33
+    a5609c8d6d519db3
+VUNPCKHPD_128(mem)
+  before
+    3dfc09bad18d228d.4776cedca519bc28.061d843bfb0fbb46.d377e655b438492f
+    bd2b4840fd6e45ee.dd30c11979b49b97.76a88b3760dc38de.ec4028fe1b589073
+    03b7d60910fec402.70c65490dbab155e.feec62c1dc1372d3.15ff4beb034f9479
+    e96d2e02234b59f4.5e8281ab688c6728.78b485c58cc12450.aaff4b8607aa93ec
+    078b253cc3f4c778
+  after
+    3dfc09bad18d228d.4776cedca519bc28.061d843bfb0fbb46.d377e655b438492f
+    bd2b4840fd6e45ee.dd30c11979b49b97.76a88b3760dc38de.ec4028fe1b589073
+    0000000000000000.0000000000000000.061d843bfb0fbb46.76a88b3760dc38de
+    e96d2e02234b59f4.5e8281ab688c6728.78b485c58cc12450.aaff4b8607aa93ec
+    078b253cc3f4c778
+
+VUNPCKHPD_128(reg)
+  before
+    88f0d47ad4b96dca.4d19cc185561c1f0.01b246d7bbe2cca2.c1cb702f8bf00b82
+    897a54aad586c18e.09862c36bf4bb824.b7a09e81713a8177.b6ffa0ebf5afe394
+    6675a13a63e6fe70.fa82ca477f15f9b9.da998514251fc255.311a8fe5e70767b3
+    7b2db8951a66611b.fcd72339b1cb41de.c8e9f8fb741dcbe5.0fe9bb0a7c06540b
+    2d37a044d1b766c7
+  after
+    0000000000000000.0000000000000000.da998514251fc255.b7a09e81713a8177
+    897a54aad586c18e.09862c36bf4bb824.b7a09e81713a8177.b6ffa0ebf5afe394
+    6675a13a63e6fe70.fa82ca477f15f9b9.da998514251fc255.311a8fe5e70767b3
+    7b2db8951a66611b.fcd72339b1cb41de.c8e9f8fb741dcbe5.0fe9bb0a7c06540b
+    2d37a044d1b766c7
+VUNPCKHPD_128(mem)
+  before
+    65d2b88102275914.24ed93279590263b.ec53b1f7707a4cbd.dbdbf1a4f9c1d8d5
+    948581ab2960e81e.bc03305c70f3897d.a4c0f26dd92dd582.70bd6e7a509624d1
+    961b75b06571d010.a1b98ba04818c58d.01eb628807f1995b.e4d96ae91628ec85
+    4761137bcf63cd16.2e5c9e5fb88d1716.df9f7b3216d15472.917ce15de7046b9c
+    d4f2d0425eb5dfc2
+  after
+    65d2b88102275914.24ed93279590263b.ec53b1f7707a4cbd.dbdbf1a4f9c1d8d5
+    948581ab2960e81e.bc03305c70f3897d.a4c0f26dd92dd582.70bd6e7a509624d1
+    0000000000000000.0000000000000000.ec53b1f7707a4cbd.a4c0f26dd92dd582
+    4761137bcf63cd16.2e5c9e5fb88d1716.df9f7b3216d15472.917ce15de7046b9c
+    d4f2d0425eb5dfc2
+
+VUNPCKHPD_128(reg)
+  before
+    0987320417c782a5.8423d4f886449a5d.bf3867055dddbac5.1aaabb5823d9c2f3
+    8d870310afc790ee.272d3512a31ff511.af99e0fed295ec46.8fd69de64a169e0b
+    ba3d3fd0c240474c.0d4bb3b84401975e.5ccb07b7b33fe744.18f19dc9a693a5e6
+    edf7e2b2ebbee169.1248c9d385f53f6f.2119d89a9e6ae86c.92c537ec535c93af
+    d91fe83a6e7d2393
+  after
+    0000000000000000.0000000000000000.5ccb07b7b33fe744.af99e0fed295ec46
+    8d870310afc790ee.272d3512a31ff511.af99e0fed295ec46.8fd69de64a169e0b
+    ba3d3fd0c240474c.0d4bb3b84401975e.5ccb07b7b33fe744.18f19dc9a693a5e6
+    edf7e2b2ebbee169.1248c9d385f53f6f.2119d89a9e6ae86c.92c537ec535c93af
+    d91fe83a6e7d2393
+VUNPCKHPD_128(mem)
+  before
+    c9cb2ba1120313bd.82ffe921c6ce9bf2.12f2f3508107a770.59d04d152c9f2a69
+    3e947c0c5cfa1d5a.d5a24e88f0fbb192.e913ae1b55448d8e.623d6493fb6cebe8
+    13485767676cfd95.422c0f5504d25ef6.737874211cb7aaf5.97aa187fa75c6594
+    26b1389e5067719c.25e928f39fdddfc9.8cedc34cf26cbdd0.53636547cbfcd41b
+    f4b6475603d77626
+  after
+    c9cb2ba1120313bd.82ffe921c6ce9bf2.12f2f3508107a770.59d04d152c9f2a69
+    3e947c0c5cfa1d5a.d5a24e88f0fbb192.e913ae1b55448d8e.623d6493fb6cebe8
+    0000000000000000.0000000000000000.12f2f3508107a770.e913ae1b55448d8e
+    26b1389e5067719c.25e928f39fdddfc9.8cedc34cf26cbdd0.53636547cbfcd41b
+    f4b6475603d77626
+
+VUNPCKHPS_128(reg)
+  before
+    d4eebb18ec798564.529c9c9d32f73398.da2593ce5caa70b8.0f3e168af470804c
+    5056bcf9226f3e7e.73d5fe512a2600b8.bd2b4e52d8c54c6e.da36e9c63eceb095
+    c53b46663f44dc23.6528daa453029326.2a4854ebaeb9b199.c8a3b9ebea9209d6
+    8de955c9e2849dfd.0461ac83ca97a90e.7dc8a1067a12d8e2.b54f00e717c9463c
+    7c073ca5df7e24f2
+  after
+    0000000000000000.0000000000000000.2a4854ebbd2b4e52.aeb9b199d8c54c6e
+    5056bcf9226f3e7e.73d5fe512a2600b8.bd2b4e52d8c54c6e.da36e9c63eceb095
+    c53b46663f44dc23.6528daa453029326.2a4854ebaeb9b199.c8a3b9ebea9209d6
+    8de955c9e2849dfd.0461ac83ca97a90e.7dc8a1067a12d8e2.b54f00e717c9463c
+    7c073ca5df7e24f2
+VUNPCKHPS_128(mem)
+  before
+    fb97e9115ebd5f25.06ace58fa5bcbbb9.2b4cf1dbaaeffe9d.12f7310dd95c00f8
+    0dcb8118b193b301.8ad0f32524777202.b8b423970f184eff.4521016e67246485
+    8e6f81a4f30bdbb1.76a17af6fc410085.8666c0a2161e545f.71920c93bff53f35
+    594e66a241319461.266a766dc8a79fed.702e44eadb0bceea.f4954eea7d5ccdb5
+    2978c3de3ee44cb1
+  after
+    fb97e9115ebd5f25.06ace58fa5bcbbb9.2b4cf1dbaaeffe9d.12f7310dd95c00f8
+    0dcb8118b193b301.8ad0f32524777202.b8b423970f184eff.4521016e67246485
+    0000000000000000.0000000000000000.2b4cf1dbb8b42397.aaeffe9d0f184eff
+    594e66a241319461.266a766dc8a79fed.702e44eadb0bceea.f4954eea7d5ccdb5
+    2978c3de3ee44cb1
+
+VUNPCKHPS_128(reg)
+  before
+    6b8567db9e19f6d4.4c36abffb6129a3f.f778e3f825348ce7.54d8295a79ed75cc
+    1809374c388708cb.41f1cca56eb9a875.4317be02ae74031f.0c30edde0cd00830
+    8b502ea0a8bbbe42.164c468287327b2f.679302f7fff43f40.76020a62b1bf4143
+    1fa648408b4153e4.a51394811a8acf9a.bf38ab43b53f7df7.6c19fed283c6dd30
+    cc43451b9ff19824
+  after
+    0000000000000000.0000000000000000.679302f74317be02.fff43f40ae74031f
+    1809374c388708cb.41f1cca56eb9a875.4317be02ae74031f.0c30edde0cd00830
+    8b502ea0a8bbbe42.164c468287327b2f.679302f7fff43f40.76020a62b1bf4143
+    1fa648408b4153e4.a51394811a8acf9a.bf38ab43b53f7df7.6c19fed283c6dd30
+    cc43451b9ff19824
+VUNPCKHPS_128(mem)
+  before
+    704a5927204d2d4a.325681997ca3045e.cc12318e45cc60e2.a752b5526ce1f9ef
+    36fbb8e423e55acf.1eaed617186f0d5b.65149c952405e932.7b2c1c91bf67eed5
+    f822dd3cc3c6d8df.41f84227fa30aa88.4ee74e82d24027b7.9714dd6a4a5c9955
+    938a441d1dfa66a5.f581c133bf731690.6155c4416b89d69d.5754f34baa4d361a
+    17395a9e7bc401d1
+  after
+    704a5927204d2d4a.325681997ca3045e.cc12318e45cc60e2.a752b5526ce1f9ef
+    36fbb8e423e55acf.1eaed617186f0d5b.65149c952405e932.7b2c1c91bf67eed5
+    0000000000000000.0000000000000000.cc12318e65149c95.45cc60e22405e932
+    938a441d1dfa66a5.f581c133bf731690.6155c4416b89d69d.5754f34baa4d361a
+    17395a9e7bc401d1
+
+VUNPCKHPS_128(reg)
+  before
+    330f0ed158503525.e40169724c90be4e.98954fa902c38e20.7b2b7bbe0cecb10f
+    07220c4fdd7a0fc3.c551c9266d919d06.8480e8f460ac4ee4.7935eee5d1767539
+    efbd4f83a7d0cb57.1348df279b0bbff8.178e897f74bb9187.353f99a3d432de48
+    472ed2db51dda58c.abb02760f209e050.ab0a2db8da7b95b6.8c15f9e2342da868
+    5a8288900b728ec5
+  after
+    0000000000000000.0000000000000000.178e897f8480e8f4.74bb918760ac4ee4
+    07220c4fdd7a0fc3.c551c9266d919d06.8480e8f460ac4ee4.7935eee5d1767539
+    efbd4f83a7d0cb57.1348df279b0bbff8.178e897f74bb9187.353f99a3d432de48
+    472ed2db51dda58c.abb02760f209e050.ab0a2db8da7b95b6.8c15f9e2342da868
+    5a8288900b728ec5
+VUNPCKHPS_128(mem)
+  before
+    7b53c497750d4d8a.6bbf94c2782dd80f.67561dbe8f98bb3b.9d41d00a2f78931d
+    cc5528e58f0aa1e3.b6bd8ea5b74da18b.24053e2b8ec30de5.4a806ee10f3fca67
+    27523165747645fe.8674beeeabc83cad.be8b04940a96917a.0c1103aa155b7440
+    69175903405cf704.36301e0aef2be420.11b2ede61f1d0525.40408ccfdd58ce56
+    425b04bd04c31452
+  after
+    7b53c497750d4d8a.6bbf94c2782dd80f.67561dbe8f98bb3b.9d41d00a2f78931d
+    cc5528e58f0aa1e3.b6bd8ea5b74da18b.24053e2b8ec30de5.4a806ee10f3fca67
+    0000000000000000.0000000000000000.67561dbe24053e2b.8f98bb3b8ec30de5
+    69175903405cf704.36301e0aef2be420.11b2ede61f1d0525.40408ccfdd58ce56
+    425b04bd04c31452
+
+VMOVUPS_EtoG_128(reg)
+  before
+    6fad67e1262782e3.6e6f1eab11c97024.213cad662001d691.f948740bea652312
+    2181b2a5de1053b3.1228fb4900c86f88.a5e6646cd9d64eac.521716f18779a76e
+    b524df77c80bc46f.310c6cca2b65ae5c.1d78408ab737881c.f8ec4d8211664f65
+    87e2ecc281a310c2.a7e9ed18aeadebce.e43f3e2a55afbf8e.c79397aca437d523
+    9bd76f5a5df8f6d3
+  after
+    6fad67e1262782e3.6e6f1eab11c97024.213cad662001d691.f948740bea652312
+    0000000000000000.0000000000000000.1d78408ab737881c.f8ec4d8211664f65
+    b524df77c80bc46f.310c6cca2b65ae5c.1d78408ab737881c.f8ec4d8211664f65
+    87e2ecc281a310c2.a7e9ed18aeadebce.e43f3e2a55afbf8e.c79397aca437d523
+    9bd76f5a5df8f6d3
+VMOVUPS_EtoG_128(mem)
+  before
+    5086517857b66ea1.f307d4f1a4647559.5089fb20a4abdf07.588759ba4fca30ae
+    c26abaf2af7cf8ba.55df9372cedb2ddf.08b911cf296b4936.d39c8da542141727
+    cd5024b48056514a.09b626b09a937501.aa44ab105afae385.b3cad657ca1aafa6
+    4d040dabe651357c.6bd78818a519886a.14f845ce53636a20.525c313c826835d6
+    0ea099c00688e564
+  after
+    5086517857b66ea1.f307d4f1a4647559.5089fb20a4abdf07.588759ba4fca30ae
+    c26abaf2af7cf8ba.55df9372cedb2ddf.08b911cf296b4936.d39c8da542141727
+    cd5024b48056514a.09b626b09a937501.aa44ab105afae385.b3cad657ca1aafa6
+    0000000000000000.0000000000000000.5089fb20a4abdf07.588759ba4fca30ae
+    0ea099c00688e564
+
+VMOVUPS_EtoG_128(reg)
+  before
+    41e00a4ff308fbfb.1d52f0c1ff78607d.d790b4148af8a3c8.219f5cf72fb29a34
+    49698056e474b248.1b064ae3e4d78d79.a92ba911e5bc02c4.ad076a760af42eed
+    8087f83f765647f7.22ec95feb37b799b.3cf5607b53f1e10d.94faed370134e376
+    43866c78443cf6b3.0dcf4ffd886fdf10.ee3ad6bf70247b4d.b14560262f7e75fc
+    e2b4402fb1dfa0ab
+  after
+    41e00a4ff308fbfb.1d52f0c1ff78607d.d790b4148af8a3c8.219f5cf72fb29a34
+    0000000000000000.0000000000000000.3cf5607b53f1e10d.94faed370134e376
+    8087f83f765647f7.22ec95feb37b799b.3cf5607b53f1e10d.94faed370134e376
+    43866c78443cf6b3.0dcf4ffd886fdf10.ee3ad6bf70247b4d.b14560262f7e75fc
+    e2b4402fb1dfa0ab
+VMOVUPS_EtoG_128(mem)
+  before
+    0212073fa2621fae.eeb1da6bebb2fa29.ba7cf3cb7ebf7d03.1a450848d7e00d30
+    ec2d33401f13af32.de563d8606429005.04bffd56b1780da1.1c64f18124b2d363
+    7ecf3f1f43ff0c62.6dbf9234327af4f2.c664e9893ea54c16.50e18dd8f4250992
+    92c6a7c92b31f16b.f839d3e10ae6629c.de3734504153f58d.1109d9b8e3c5ea68
+    bd28d08d8c1eb392
+  after
+    0212073fa2621fae.eeb1da6bebb2fa29.ba7cf3cb7ebf7d03.1a450848d7e00d30
+    ec2d33401f13af32.de563d8606429005.04bffd56b1780da1.1c64f18124b2d363
+    7ecf3f1f43ff0c62.6dbf9234327af4f2.c664e9893ea54c16.50e18dd8f4250992
+    0000000000000000.0000000000000000.ba7cf3cb7ebf7d03.1a450848d7e00d30
+    bd28d08d8c1eb392
+
+VMOVUPS_EtoG_128(reg)
+  before
+    af8a6dc38bbda0bc.06dce829f2b61b78.db10fef92b1015b0.26045997d58cc632
+    427bafc67d2dec91.b4de7c2ab49846b6.72900ee830864ada.7c96d44a165e7933
+    d4478f02fdfbd4be.7a97e1ba8ee52e51.1905ff1ab5d43dc6.babb215621d5cab9
+    bf390ae4a8b294ee.32d592c49ca98e74.2dbacdfc5785291f.be3dbda511fc77f3
+    62e9222503df3a0b
+  after
+    af8a6dc38bbda0bc.06dce829f2b61b78.db10fef92b1015b0.26045997d58cc632
+    0000000000000000.0000000000000000.1905ff1ab5d43dc6.babb215621d5cab9
+    d4478f02fdfbd4be.7a97e1ba8ee52e51.1905ff1ab5d43dc6.babb215621d5cab9
+    bf390ae4a8b294ee.32d592c49ca98e74.2dbacdfc5785291f.be3dbda511fc77f3
+    62e9222503df3a0b
+VMOVUPS_EtoG_128(mem)
+  before
+    848bcec0128ad02e.619e1dd619de68ce.ba620c34f9ef234c.08fd75f8b2254c91
+    feee3c645b0af487.14c2c346ed0c8b09.ec0cc9f6c1c3a905.0718f27b6140e0c9
+    ade0e9fcf96a6443.36f1f89ebfc73a4c.a59d47f71131dbca.865840f200632173
+    6e2b4f7408b7da8d.2177b94c2c9bb143.c2e20121054676c7.e0095bc82c194d3b
+    7376406881ee9ecc
+  after
+    848bcec0128ad02e.619e1dd619de68ce.ba620c34f9ef234c.08fd75f8b2254c91
+    feee3c645b0af487.14c2c346ed0c8b09.ec0cc9f6c1c3a905.0718f27b6140e0c9
+    ade0e9fcf96a6443.36f1f89ebfc73a4c.a59d47f71131dbca.865840f200632173
+    0000000000000000.0000000000000000.ba620c34f9ef234c.08fd75f8b2254c91
+    7376406881ee9ecc
+
+VADDPS_256(reg)
+  before
+    9aedea40996f50d2.1b9decb7a6fc1392.33a000bbcf152b99.1da77361b80d362a
+    b1b855bb1327a1fa.91003bb4ec45ca7e.c6b7cb5744c0e5fb.93b71aa44693d71d
+    14257d4589a3cbf0.ac21b854f89ebc7c.370a158c28281b15.00e070d4cce314cc
+    1f7e5e4a976e0b5f.48cbe084e614a5b9.e2e3dbc617da0992.40ecf3df6509aa64
+    30a81eb02e115511
+  after
+    b1b855bb1327a1e6.ac21b854f89ebc7c.c6b7cb5744c0e5fb.93b71aa4cce30b8f
+    b1b855bb1327a1fa.91003bb4ec45ca7e.c6b7cb5744c0e5fb.93b71aa44693d71d
+    14257d4589a3cbf0.ac21b854f89ebc7c.370a158c28281b15.00e070d4cce314cc
+    1f7e5e4a976e0b5f.48cbe084e614a5b9.e2e3dbc617da0992.40ecf3df6509aa64
+    30a81eb02e115511
+VADDPS_256(mem)
+  before
+    aae06e334208d0fe.2d10f537d9149df4.42cc2e30d1b24160.248f1771ac61ea1e
+    8b605d54befad958.9c263d76ed21bc5b.74ee1e45d5854b9e.575ac7f98349fb67
+    aff469ffbdf1294a.c70e32746c22a53f.bbff2cad0f98809f.d88fe6cb391f7816
+    f2670d205bfb7f01.0913d09ef4a3944d.f3c9d4569af79c8e.037c70516a6e9cda
+    346b61f9b0c2a55d
+  after
+    aae06e334208d0fe.2d10f537d9149df4.42cc2e30d1b24160.248f1771ac61ea1e
+    8b605d54befad958.9c263d76ed21bc5b.74ee1e45d5854b9e.575ac7f98349fb67
+    aae06e334206db4b.2d10f537ed21bc5b.74ee1e45d585fddf.575ac7f9ac61ea1e
+    f2670d205bfb7f01.0913d09ef4a3944d.f3c9d4569af79c8e.037c70516a6e9cda
+    346b61f9b0c2a55d
+
+VADDPS_256(reg)
+  before
+    c8aab62daaa8cc4b.3087c5a3b52395a9.c080135e212ec530.f819932b93af5a98
+    19836a5bf2ab5052.451e0d74e776296d.47a2f8228e517395.a6bbe31716cb78e8
+    844379ee24576b1b.0df962800cfff47a.f9c57a55d897db27.d97a42083d57b0ab
+    6535df52dd395b55.64e43fb140cab5fb.343595639a8d3993.6d242ce92760be0d
+    3d831ba6edf16039
+  after
+    19836a5bf2ab5052.451e0d74e776296d.f9c57a55d897db27.d97a42083d57b0ab
+    19836a5bf2ab5052.451e0d74e776296d.47a2f8228e517395.a6bbe31716cb78e8
+    844379ee24576b1b.0df962800cfff47a.f9c57a55d897db27.d97a42083d57b0ab
+    6535df52dd395b55.64e43fb140cab5fb.343595639a8d3993.6d242ce92760be0d
+    3d831ba6edf16039
+VADDPS_256(mem)
+  before
+    27648d2bad16505c.18a798f3b8dc59aa.25ab20f5a0e4261d.523e46b870bec885
+    0693fc6583dc4ba1.f9e4a13d51cda4c6.2e1981374858040b.b12b87c0f7b6c5a8
+    b6dce73e8a4e0c35.6437f59c46967657.5afcde6353320bf3.ab4a56e7ca026ca9
+    130bc7a4df785044.b4ed907c30c60c06.851eb465dd7ff6fe.9de5ae99862df934
+    e4498b43c7c3a7f4
+  after
+    27648d2bad16505c.18a798f3b8dc59aa.25ab20f5a0e4261d.523e46b870bec885
+    0693fc6583dc4ba1.f9e4a13d51cda4c6.2e1981374858040b.b12b87c0f7b6c5a8
+    27648d2bad16505c.f9e4a13d51cda4c6.2e19818d4858040b.523e46b8f7b6c2ad
+    130bc7a4df785044.b4ed907c30c60c06.851eb465dd7ff6fe.9de5ae99862df934
+    e4498b43c7c3a7f4
+
+VADDPS_256(reg)
+  before
+    dac2ea4f2751b395.f8ec19819d67d3f9.47526f4aade6a282.8b4c7e29034a825b
+    dd9cc52b456259c5.434a5ac3e0265180.78b28c7059847375.4752b89be09f6b34
+    47221a41ba82d42e.cff20554c5c18507.a358e55ccf2bbc8b.97fcdfa7918b6db5
+    75a2e4ff253e627c.77b0962268452db8.24927579ab68b971.56166d393119430b
+    5f6be03ddd55aa62
+  after
+    dd9cc52b456259c1.cff20554e0265180.78b28c7059847370.4752b89be09f6b34
+    dd9cc52b456259c5.434a5ac3e0265180.78b28c7059847375.4752b89be09f6b34
+    47221a41ba82d42e.cff20554c5c18507.a358e55ccf2bbc8b.97fcdfa7918b6db5
+    75a2e4ff253e627c.77b0962268452db8.24927579ab68b971.56166d393119430b
+    5f6be03ddd55aa62
+VADDPS_256(mem)
+  before
+    90c9b3a0b04c5ee5.c36620d01f213c5c.19508a18e4bd02bf.56aa38328ac5a5d3
+    c3fa624dc7091ac1.8dbbc82047b7a17a.8f9e5b225535c349.97ee2bf508d1be5c
+    d6cb6a2f3d999b22.30edda5b368dcb81.b766872cd8ba2a82.42a8482dc0153eb9
+    a30845342f069d33.064851ed8a2ef71e.6c7389238957f495.b2258d464e1f6196
+    45b0f5ac4f7a659e
+  after
+    90c9b3a0b04c5ee5.c36620d01f213c5c.19508a18e4bd02bf.56aa38328ac5a5d3
+    c3fa624dc7091ac1.8dbbc82047b7a17a.8f9e5b225535c349.97ee2bf508d1be5c
+    c3fa624dc7091ac1.c36620d047b7a17a.19508a04e4bd02bf.56aa38328ab889ed
+    a30845342f069d33.064851ed8a2ef71e.6c7389238957f495.b2258d464e1f6196
+    45b0f5ac4f7a659e
+
+VSUBPS_256(reg)
+  before
+    56977ccc5eb3847e.087d7147b85fdc20.6c172942df2661fc.8993ddf18218ddaf
+    40241f101855fbe1.dff56954f4ad1317.bea85fc6d00245c8.eb900083e20aa0fc
+    61a5d9e518ec0574.063eaa4700feff41.5845ede6f94dde2e.6f376dc6c238fba7
+    1364a6b8fb05e0e2.5722ae0cf85d5ccd.963cd10cf79369d9.ef54a0a441afa7dc
+    49b2150b787a63c9
+  after
+    e1a5d9e598810784.dff56954f4ad1317.d845ede6794dde2e.ef388dc7e20aa0fc
+    40241f101855fbe1.dff56954f4ad1317.bea85fc6d00245c8.eb900083e20aa0fc
+    61a5d9e518ec0574.063eaa4700feff41.5845ede6f94dde2e.6f376dc6c238fba7
+    1364a6b8fb05e0e2.5722ae0cf85d5ccd.963cd10cf79369d9.ef54a0a441afa7dc
+    49b2150b787a63c9
+VSUBPS_256(mem)
+  before
+    571f48e685a5e998.b4ae82f45c2bc6d8.af6ef38ff6d6e5e5.d4d706a666612176
+    f665b621843cf675.9ece6904d8eaf302.ebeef4bc197657b6.6e62891ee14244b0
+    0252daa8904c468d.2e1258560acfa50b.e56e2d807b486e6b.c02b54e204c30c34
+    58b03067c6e0950c.c1c54a558e6516a0.7aba1bc53859e631.267d655d6c6fb6ae
+    fba3b7fbb4d27dc9
+  after
+    571f48e685a5e998.b4ae82f45c2bc6d8.af6ef38ff6d6e5e5.d4d706a666612176
+    f665b621843cf675.9ece6904d8eaf302.ebeef4bc197657b6.6e62891ee14244b0
+    f665b621058e4ac9.34ae82f4dc2d9cbe.ebeef4bc76d6e5e5.6e62891ee6615207
+    58b03067c6e0950c.c1c54a558e6516a0.7aba1bc53859e631.267d655d6c6fb6ae
+    fba3b7fbb4d27dc9
+
+VSUBPS_256(reg)
+  before
+    9dea462879789e31.d24c344a41059e1d.b1323b6d0138836d.869d38796db47a33
+    679f0e5056ee5594.4df1623d1dc61eed.5ba6270affd5281d.e6e502873565e79e
+    b50b0cdfe8bfde9c.a56d372c772fd0a7.1c6d0b9823c7405c.745cf4daad79e99e
+    e27d3b42ca7875f5.b68a2e046b4d7278.4ed3e183099a08d8.0dcf8a60f0fb3b5e
+    8d0a41041bf79b0b
+  after
+    679f0e5068bfde9c.4df1623df72fd0a7.5ba6270affd5281d.f45cf4da3565e898
+    679f0e5056ee5594.4df1623d1dc61eed.5ba6270affd5281d.e6e502873565e79e
+    b50b0cdfe8bfde9c.a56d372c772fd0a7.1c6d0b9823c7405c.745cf4daad79e99e
+    e27d3b42ca7875f5.b68a2e046b4d7278.4ed3e183099a08d8.0dcf8a60f0fb3b5e
+    8d0a41041bf79b0b
+VSUBPS_256(mem)
+  before
+    d0d894b24979c2d0.4c4097e399a4554c.5c16c3af142bbe8c.4e24a7384edbbc3a
+    b207ff56978e6fda.4e9f1c30f0cfba4d.73db721b8ed5700e.78ab59218e159731
+    0f61fedd20425c55.43e8c7936b85e2a3.d7a6b833f657462b.28b6f1ac63d4d667
+    c3b40d31009f476c.8965927aa85307fb.644310e267befa0e.ba8f6c446ca5b588
+    8a83c75442137042
+  after
+    d0d894b24979c2d0.4c4097e399a4554c.5c16c3af142bbe8c.4e24a7384edbbc3a
+    b207ff56978e6fda.4e9f1c30f0cfba4d.73db721b8ed5700e.78ab59218e159731
+    50d894b2c979c2d0.4e991771f0cfba4d.73db721b942bd93a.78ab5921cedbbc3a
+    c3b40d31009f476c.8965927aa85307fb.644310e267befa0e.ba8f6c446ca5b588
+    8a83c75442137042
+
+VSUBPS_256(reg)
+  before
+    f5defd4a84aa423e.aacaa94054b3e94c.7a637b5040c56601.f67df616fe1649e4
+    55ec0b91cbf7682b.a0704df438890120.742e7d81d1653b60.6922e6bad669efd9
+    06f8eb95b6851eb3.8171753bc72e4915.d2119579f7c1c1c5.99fc5cba0cc5a718
+    66509bc2dee1a082.289b9dff1dad7e57.ef5abda44c6436db.62d8d503bb362ece
+    a083cc7f00c64026
+  after
+    55ec0b91cbf7682b.a0704df4472e4915.742e7d8177c1c1c5.6922e6bad669efd9
+    55ec0b91cbf7682b.a0704df438890120.742e7d81d1653b60.6922e6bad669efd9
+    06f8eb95b6851eb3.8171753bc72e4915.d2119579f7c1c1c5.99fc5cba0cc5a718
+    66509bc2dee1a082.289b9dff1dad7e57.ef5abda44c6436db.62d8d503bb362ece
+    a083cc7f00c64026
+VSUBPS_256(mem)
+  before
+    2ec6bd1bf683994d.d03e1684e2952946.73b8412e57125c11.2853f36e6fdbd34f
+    ea7024c4ba79f46e.a00f58485b2ff6a8.3d96deb3906a9e6f.da4a3243fab1d7cc
+    af4c7e6467b20eb6.320f5d78e73b4257.62ffef7ae5c0019f.5f89769089727cff
+    592546e9193ca251.e28a228222444bfd.bdc0f06f712041cb.155dbcbfb9abff94
+    5611fe3e25e79c36
+  after
+    2ec6bd1bf683994d.d03e1684e2952946.73b8412e57125c11.2853f36e6fdbd34f
+    ea7024c4ba79f46e.a00f58485b2ff6a8.3d96deb3906a9e6f.da4a3243fab1d7cc
+    ea7024c47683994d.503e168462952aa6.f3b8412ed7125c11.da4a3243fab1d7cf
+    592546e9193ca251.e28a228222444bfd.bdc0f06f712041cb.155dbcbfb9abff94
+    5611fe3e25e79c36
+
+VMULPS_256(reg)
+  before
+    7ff33a776ab28f92.c3c8f73eed236e6b.0ccca1d0a7d64b46.2ca55d7e51971a1f
+    ec4d6bd823991353.cb02104eff712c2e.0b20d8d0127d7fdf.8a79b394a03047c8
+    fa6d8ecced276526.4b9c0a076a3499c9.3dd4c3ed00c62274.b20a6d9b7bf885f2
+    039d9dbf63e8c0b7.216563544a787066.fd325c930d3d71b0.82220781fdf990c8
+    d48ffd3043412377
+  after
+    7f800000d148302d.d71e8e0fff800000.0985aea600000000.00010e0bdcab21c6
+    ec4d6bd823991353.cb02104eff712c2e.0b20d8d0127d7fdf.8a79b394a03047c8
+    fa6d8ecced276526.4b9c0a076a3499c9.3dd4c3ed00c62274.b20a6d9b7bf885f2
+    039d9dbf63e8c0b7.216563544a787066.fd325c930d3d71b0.82220781fdf990c8
+    d48ffd3043412377
+VMULPS_256(mem)
+  before
+    861bcc9668dcfb2b.642a961d226962b1.28289621bc486f32.a787a12dd36ca840
+    7293ee9e89d5d40f.79607452c53585c1.3bb01f5bdbb05058.961f8d2af1e103d0
+    76c2e133c1386a50.9e8a33cae8d96593.38cb7aecc4bccf05.28461cf30127be0b
+    6c7620432c117819.2ff6d0f128df40d2.f94323c19279aa64.b7474af59fcb149e
+    a170149c68584234
+  after
+    861bcc9668dcfb2b.642a961d226962b1.28289621bc486f32.a787a12dd36ca840
+    7293ee9e89d5d40f.79607452c53585c1.3bb01f5bdbb05058.961f8d2af1e103d0
+    b9340f65b3389408.7f800000a8257cb7.2467f7ba588a0b5a.0005487e7f800000
+    6c7620432c117819.2ff6d0f128df40d2.f94323c19279aa64.b7474af59fcb149e
+    a170149c68584234
+
+VMULPS_256(reg)
+  before
+    400b7455f75a837a.327928b9e76dbb97.88ee453421d5502a.5be597c762f29ba2
+    f265688ae95e141b.a29973810e57eff5.05bf90fd6e47d248.3b7d51e84f345feb
+    11caeca9d9ef31c4.99a07f88bcdccf60.02b5acbaabc002d8.73d6cd127649b16a
+    fb86fa1d63991621.f45bc7b80d061804.db1c96d575cc1b85.e0be8830f23f4f4c
+    5ffffc2ee022f3bd
+  after
+    c4b5d8917f800000.0000c0698bba4123.00000000da95dfee.6fd48d647f800000
+    f265688ae95e141b.a29973810e57eff5.05bf90fd6e47d248.3b7d51e84f345feb
+    11caeca9d9ef31c4.99a07f88bcdccf60.02b5acbaabc002d8.73d6cd127649b16a
+    fb86fa1d63991621.f45bc7b80d061804.db1c96d575cc1b85.e0be8830f23f4f4c
+    5ffffc2ee022f3bd
+VMULPS_256(mem)
+  before
+    ca67a7f85bfd5ae8.0ae4905125e8ffdd.8d96c7fe1ee4860c.ec4048bc67f75afc
+    fec0047a7fdc3ff9.9b32a8b3b86927a5.411cfb470a7fd5a5.916dc0da1ecefbe9
+    d7d78fa069cc5f1e.0bba41aebaa8cb25.ecbbe07eeee5c0fa.26eef99b36dc39f7
+    3277c55635d77680.b4c954aec72f2608.6b3df18ee5210438.0610ef6b49ae52d3
+    8f1f9eb6f6cf8028
+  after
+    ca67a7f85bfd5ae8.0ae4905125e8ffdd.8d96c7fe1ee4860c.ec4048bc67f75afc
+    fec0047a7fdc3ff9.9b32a8b3b86927a5.411cfb470a7fd5a5.916dc0da1ecefbe9
+    7f8000007fdc3ff9.800000009ed434f5.8f38ebbd00000000.3e3294304747fe9e
+    3277c55635d77680.b4c954aec72f2608.6b3df18ee5210438.0610ef6b49ae52d3
+    8f1f9eb6f6cf8028
+
+VMULPS_256(reg)
+  before
+    1c6703e8d6cbffa3.e96e2088fe0c404e.f3abde207a8c76fa.986faa650c405d8b
+    0934196e882e0df0.d9861e23e07478b2.25acdc6e6f4bf5a9.501d87ee7e4d861e
+    b1d2dcb2a585e4ba.de8d3a11f81ddbd8.a418490543f6dfbe.6f13051558543d1e
+    728c4822cb5bc1ae.d44df140621225ee.cd3b2152911c72e8.d11d9fc6b5613bb6
+    5206d0edb2813f13
+  after
+    8000251600000000.7893fa0a7f800000.8a4da85f73c4b053.7f8000007f800000
+    0934196e882e0df0.d9861e23e07478b2.25acdc6e6f4bf5a9.501d87ee7e4d861e
+    b1d2dcb2a585e4ba.de8d3a11f81ddbd8.a418490543f6dfbe.6f13051558543d1e
+    728c4822cb5bc1ae.d44df140621225ee.cd3b2152911c72e8.d11d9fc6b5613bb6
+    5206d0edb2813f13
+VMULPS_256(mem)
+  before
+    ce9c17766ac00361.a7af5a28963ddf77.9793bd9b3960111d.fc6061bff646e8d1
+    21a9ed4ef92845cb.ab880c32a1b67cc2.032b1c0d99125d94.8dd403ba0e027e25
+    27fad05f7cc7be7e.dc615cab8952d23a.f4e089849f34c37d.dce305ae73db7092
+    bc5b3a970fa92da5.948645ffe89e1d8c.468080eb66d3ff04.45d96206c45df9c1
+    240216309a155661
+  after
+    ce9c17766ac00361.a7af5a28963ddf77.9793bd9b3960111d.fc6061bff646e8d1
+    21a9ed4ef92845cb.ab880c32a1b67cc2.032b1c0d99125d94.8dd403ba0e027e25
+    b0cf385cff800000.13ba607f00000087.8000000093001baa.4ab9d436c4cac87b
+    bc5b3a970fa92da5.948645ffe89e1d8c.468080eb66d3ff04.45d96206c45df9c1
+    240216309a155661
+
+VDIVPS_256(reg)
+  before
+    d5aa1e97948ec31c.bc98a9e0cdd84c6d.3145c49a5d259b64.d5d57e2e0bfacf56
+    b41c74a84b547b9e.027d9928d262d802.0de9d3e88273866d.7cacfd3aa9b5ed9f
+    1da516cd5df4bc95.6cd5845a3b538d8f.86bd7055f3141b54.19d27bf95d11160b
+    6c92ff7366f9bfaa.d56de86224b52641.f60e964d4d9595c5.87107358421905c5
+    a235624474d977f9
+  after
+    d5f29cc72cde4308.00000000d689406f.c69dfe2400000000.7f8000008c2080de
+    b41c74a84b547b9e.027d9928d262d802.0de9d3e88273866d.7cacfd3aa9b5ed9f
+    1da516cd5df4bc95.6cd5845a3b538d8f.86bd7055f3141b54.19d27bf95d11160b
+    6c92ff7366f9bfaa.d56de86224b52641.f60e964d4d9595c5.87107358421905c5
+    a235624474d977f9
+VDIVPS_256(mem)
+  before
+    450cc2a7105e28d4.fd2d2c0601f0c38c.1911402ca7966043.ba28413c2c82326b
+    4e60116f32b3d482.2cc297f3cb6403e5.138d08a4e302f7c2.2f576e8f2a652cf2
+    98feca87f5e4362e.559f3ea55fe1ba61.a1adbcb6f103a7e9.afe718b0e6ccbf08
+    feb369da75fe0c05.d30f1c8759f324ad.9e3dd94ef0a72be6.97243a0df9432956
+    4459d3110254a48b
+  after
+    450cc2a7105e28d4.fd2d2c0601f0c38c.1911402ca7966043.ba28413c2c82326b
+    4e60116f32b3d482.2cc297f3cb6403e5.138d08a4e302f7c2.2f576e8f2a652cf2
+    48cbc17161cf3909.80000000ff800000.39f8915c7adef5a0.b4a3e3d63d614ef7
+    feb369da75fe0c05.d30f1c8759f324ad.9e3dd94ef0a72be6.97243a0df9432956
+    4459d3110254a48b
+
+VDIVPS_256(reg)
+  before
+    10d3dc289a8d6d51.5e486a56cf0c0f33.045d2d0756277f75.e509da59f9fa40e2
+    58df52bd5f7ac055.938c4ae61f1afee3.43d66e90f2080564.54dc3bc12b06a20c
+    78c7323eeda6d842.784a847780359341.ebc6d98ec723f327.c58378749fda0c8e
+    ccd77717df9df2c5.eb4d94f30e688b7b.5a796c6d7403856a.16ca0d5c737f3b94
+    217d7767c303eb4b
+  after
+    1f8f80e8b1405f17.80000000deb927b2.978a07bb6a5463fb.ced66b75ca9e10c9
+    58df52bd5f7ac055.938c4ae61f1afee3.43d66e90f2080564.54dc3bc12b06a20c
+    78c7323eeda6d842.784a847780359341.ebc6d98ec723f327.c58378749fda0c8e
+    ccd77717df9df2c5.eb4d94f30e688b7b.5a796c6d7403856a.16ca0d5c737f3b94
+    217d7767c303eb4b
+VDIVPS_256(mem)
+  before
+    c4683180aa71d8df.b05d1db2d2eb4a89.c663f647e6c0a2bb.eb3b22999334f6d8
+    d956b79344d5bd7b.80a4217c611d1b3b.e756275f2348932d.f957f87ec043831e
+    3e15858cae3c574c.98f77de128bea287.28f3a128e20c1cfe.e21be88998bb68e7
+    cd6f185704b1627d.54a32f4ec45a1b18.6606e28c3e18f65a.00d1f024b628e1e0
+    b1c60bbdb71629b4
+  after
+    c4683180aa71d8df.b05d1db2d2eb4a89.c663f647e6c0a2bb.eb3b22999334f6d8
+    d956b79344d5bd7b.80a4217c611d1b3b.e756275f2348932d.f957f87ec043831e
+    546cbb5ed9e23f89.0fbe064ecdaaef13.60707e52800042a3.4d93b9336c8a4a43
+    cd6f185704b1627d.54a32f4ec45a1b18.6606e28c3e18f65a.00d1f024b628e1e0
+    b1c60bbdb71629b4
+
+VDIVPS_256(reg)
+  before
+    4f4635be36127d10.6331ebe06141993b.10f4322dd17ec29b.7e5b66795479e06c
+    389d6b95cfa819a0.dd277a14e1f7b9b2.283683eceab5d2bb.4abda7da3f3a9461
+    c617a7ad2062380f.151d41dda1df7e0d.f8b51cf6ab8c8825.a7f9229b1b68cf64
+    56ffe772c2ce180a.e8dfbc29bc05a479.dcbcfbb7b18d2084.72dc54a8060d4da2
+    8530b8ed1938ca47
+  after
+    b204ddb2eebe3ade.ff8000007f800000.800000007ea59bf6.e242e1ae634d2a1f
+    389d6b95cfa819a0.dd277a14e1f7b9b2.283683eceab5d2bb.4abda7da3f3a9461
+    c617a7ad2062380f.151d41dda1df7e0d.f8b51cf6ab8c8825.a7f9229b1b68cf64
+    56ffe772c2ce180a.e8dfbc29bc05a479.dcbcfbb7b18d2084.72dc54a8060d4da2
+    8530b8ed1938ca47
+VDIVPS_256(mem)
+  before
+    bdc2cb5672f2017e.45a226505378f23d.323868e24f76e622.30991b9b9747d686
+    f65d07cf2d49af74.ed4d60b36fea0553.d0f6c0f6753d0133.5096780efa43e5d4
+    0ccfea4465488f54.ab4a9207b1b28bf8.9ce340504b67b1d8.98000f7c750f8a1d
+    dbe3efa236fc5f4c.dbe6b7b8b55cc1d9.73cc64dbecffb13e.6323da51a536010b
+    0f4bd7f92545854a
+  after
+    bdc2cb5672f2017e.45a226505378f23d.323868e24f76e622.30991b9b9747d686
+    f65d07cf2d49af74.ed4d60b36fea0553.d0f6c0f6753d0133.5096780efa43e5d4
+    78113d6b00000355.e7221fbe5bf0a6d3.de2b45ff6543f8bf.5f7b96767f800000
+    dbe3efa236fc5f4c.dbe6b7b8b55cc1d9.73cc64dbecffb13e.6323da51a536010b
+    0f4bd7f92545854a
+
+VPCMPGTQ_128(reg)
+  before
+    f7c301e192c65387.3f6492d3bd70d985.da6ccb331872e3a2.317da9857511bf91
+    76d954738748a76e.141f4fc515b0b92d.022acae275822dff.b2c1893901aa94fd
+    ead7cd1da054bdaa.36e0a3635bc9bd70.b06ab0336918da9b.d26682e4add5efad
+    ae0a664a7a78d0e8.81730899abc69f79.40797a9090bf2722.6d360f70949e8acd
+    5fffadcad311238a
+  after
+    0000000000000000.0000000000000000.ffffffffffffffff.0000000000000000
+    76d954738748a76e.141f4fc515b0b92d.022acae275822dff.b2c1893901aa94fd
+    ead7cd1da054bdaa.36e0a3635bc9bd70.b06ab0336918da9b.d26682e4add5efad
+    ae0a664a7a78d0e8.81730899abc69f79.40797a9090bf2722.6d360f70949e8acd
+    5fffadcad311238a
+VPCMPGTQ_128(mem)
+  before
+    848bd6df853b7310.1dbe1d65b13f1dd4.d1a3fc521fb31c75.0ea4236784034f42
+    b8a70899c628398b.953feedce036df19.023efb7cd69df090.7634a723e47090a4
+    d71ebee6b3e22f25.70d9d31aa3e85464.f00e7f03e98ed6f5.d4780230499324f7
+    bcbe75b16777120d.0cd8c98b97e1b660.77e106d177958bd1.84bb30fa52f748e5
+    e2482eed9828371a
+  after
+    848bd6df853b7310.1dbe1d65b13f1dd4.d1a3fc521fb31c75.0ea4236784034f42
+    b8a70899c628398b.953feedce036df19.023efb7cd69df090.7634a723e47090a4
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    bcbe75b16777120d.0cd8c98b97e1b660.77e106d177958bd1.84bb30fa52f748e5
+    e2482eed9828371a
+
+VPCMPGTQ_128(reg)
+  before
+    4a6df775b9b32e43.4552a7e5fff39e6d.c387cd9c58ae42ba.73810bd399bbcb4f
+    187487fe5123690c.4da5d27097608e72.f233dab781da341d.c0ba0af56d0e529c
+    a8aadaf5fb052421.b084713d4acc9f47.f628ed49aef1c736.395a7f240f9adbe4
+    565bedc454e49a2d.49bb003834438d19.29b200bf7c8038b1.bc2ce64a9a6a2352
+    24fbbc552b8ae513
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    187487fe5123690c.4da5d27097608e72.f233dab781da341d.c0ba0af56d0e529c
+    a8aadaf5fb052421.b084713d4acc9f47.f628ed49aef1c736.395a7f240f9adbe4
+    565bedc454e49a2d.49bb003834438d19.29b200bf7c8038b1.bc2ce64a9a6a2352
+    24fbbc552b8ae513
+VPCMPGTQ_128(mem)
+  before
+    4c947c30dd06df52.7dd2bbd9f74c08dc.f616fb4e72cf1414.e81d11838612c339
+    12c4a2c7ccebcb3c.7b5d409f80c9aadb.9261df691f7eef63.90b41b036933a37b
+    5155ab05154466fc.ab4678818ce8bcd6.f8672776585cdb33.7bc51aaac0701522
+    e41311d8d31d6bbf.68da5fedb6347978.06f54f62387494af.069a0ae3285455db
+    8d80e81c3c6b9f52
+  after
+    4c947c30dd06df52.7dd2bbd9f74c08dc.f616fb4e72cf1414.e81d11838612c339
+    12c4a2c7ccebcb3c.7b5d409f80c9aadb.9261df691f7eef63.90b41b036933a37b
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e41311d8d31d6bbf.68da5fedb6347978.06f54f62387494af.069a0ae3285455db
+    8d80e81c3c6b9f52
+
+VPCMPGTQ_128(reg)
+  before
+    6cc3aec098422e32.a9cc522c238398b1.1065f24e9b3a1e6e.97d8d317dbd2d504
+    00af5a3bda643f28.7a4ae9eb2181a7fd.fe332c10d785e764.86da2f835e825b5d
+    a390e8fa9b5d0edf.355b5302e72354d0.8d90099f05a10f05.b1c8e091dd91e2e7
+    b2b1526779bad604.b4c90a5d94765d56.1bc88568c11bd3fe.f26d612d730a26ce
+    26972e423df9e23d
+  after
+    0000000000000000.0000000000000000.ffffffffffffffff.0000000000000000
+    00af5a3bda643f28.7a4ae9eb2181a7fd.fe332c10d785e764.86da2f835e825b5d
+    a390e8fa9b5d0edf.355b5302e72354d0.8d90099f05a10f05.b1c8e091dd91e2e7
+    b2b1526779bad604.b4c90a5d94765d56.1bc88568c11bd3fe.f26d612d730a26ce
+    26972e423df9e23d
+VPCMPGTQ_128(mem)
+  before
+    2a10c3bf566bd361.896096ef1006d543.d4618ce941857cba.03269dd5a87d6ffa
+    d8a69d8dda6bb566.84e7aefffbce4547.72ef54910d5d6e29.a0f74c5355561fa6
+    0d233799e6064377.ff939901d69c62bd.683fde401109eece.50888e4f652f1ead
+    a6540dcf95473ac0.56b050633eff6a50.941ca6e46c95bad6.6d225f347396a9bc
+    5414bb6d1b17fc7f
+  after
+    2a10c3bf566bd361.896096ef1006d543.d4618ce941857cba.03269dd5a87d6ffa
+    d8a69d8dda6bb566.84e7aefffbce4547.72ef54910d5d6e29.a0f74c5355561fa6
+    0000000000000000.0000000000000000.ffffffffffffffff.0000000000000000
+    a6540dcf95473ac0.56b050633eff6a50.941ca6e46c95bad6.6d225f347396a9bc
+    5414bb6d1b17fc7f
+
+VPEXTRQ_128_0x0(reg)
+  before
+    62a99f68fa3c52a1.7d059b1c043a566f.e58ad090ce8097ad.d0532968370d8c6c
+    f12c0690ac93e8cf.6f015d6a4feb53ad.076c16f423ad2580.f9b1e2b8907e21bd
+    5eebec51cca8fab5.5916d0a79067eca9.1aa31dfbd8115274.eb004dc093f334f5
+    06304d17f705c4fe.150e6fbde6bade8d.797ce1118a385836.820de66c5b79823f
+    9ba329a8041bc7c8
+  after
+    62a99f68fa3c52a1.7d059b1c043a566f.e58ad090ce8097ad.d0532968370d8c6c
+    f12c0690ac93e8cf.6f015d6a4feb53ad.076c16f423ad2580.f9b1e2b8907e21bd
+    5eebec51cca8fab5.5916d0a79067eca9.1aa31dfbd8115274.eb004dc093f334f5
+    06304d17f705c4fe.150e6fbde6bade8d.797ce1118a385836.820de66c5b79823f
+    d0532968370d8c6c
+VPEXTRQ_128_0x0(mem)
+  before
+    10909361abe5bfbb.4348264ec8388156.80b6b69a6aeee585.80415fa2d5af7471
+    be9f9f816ce42545.727f7162dbcd6e6a.76da21293b11bcbf.8b3f911a5301e2d2
+    819bc9f66222b692.ef212cc0cd4ec7e6.d3462d56722e2164.f5c275e5a2bbdd05
+    35518daaa9ae2ecd.177952d23949c776.73c6540d2d52cda3.1c1506705e68a2b5
+    5b86402522946d8e
+  after
+    10909361abe5bfbb.4348264ec8388156.80b6b69a6aeee585.f5c275e5a2bbdd05
+    be9f9f816ce42545.727f7162dbcd6e6a.76da21293b11bcbf.8b3f911a5301e2d2
+    819bc9f66222b692.ef212cc0cd4ec7e6.d3462d56722e2164.f5c275e5a2bbdd05
+    35518daaa9ae2ecd.177952d23949c776.73c6540d2d52cda3.1c1506705e68a2b5
+    5b86402522946d8e
+
+VPEXTRQ_128_0x0(reg)
+  before
+    0d5f20728bcc7a3e.b68d688b5e914823.44d5e006bc4aacc5.3225143a88887fa6
+    90eda1c2349b046f.e01bd5849cd9c2bf.d37fd0c7f1dbaf7f.ec31e8c99edcf199
+    3e7cbf80b98d48cd.8fc65081809256ce.20c42080758b0f52.7db44da78c5be1aa
+    7558761ab72e8205.9f5c556e25c6c07c.87f0cb9fe4e306e7.c17bbdbe6d100802
+    9452b6fc5d0725d0
+  after
+    0d5f20728bcc7a3e.b68d688b5e914823.44d5e006bc4aacc5.3225143a88887fa6
+    90eda1c2349b046f.e01bd5849cd9c2bf.d37fd0c7f1dbaf7f.ec31e8c99edcf199
+    3e7cbf80b98d48cd.8fc65081809256ce.20c42080758b0f52.7db44da78c5be1aa
+    7558761ab72e8205.9f5c556e25c6c07c.87f0cb9fe4e306e7.c17bbdbe6d100802
+    3225143a88887fa6
+VPEXTRQ_128_0x0(mem)
+  before
+    d205b34b794df23e.8fcdc2fbca0bedc3.eca76037a883bef4.644fcd8fd871d1ed
+    57603099ddec2c78.ea26a08f8db0c6b2.5175eec824d40a63.132c23bcefc0ac0e
+    fe2eaad1a3f38fab.e0b10a429ca7497f.ac907a0db6c661f4.f0d5c892c55cd3f6
+    a53c9cdfea6bd603.cfb8fe81947eb2d6.d8c480f279647ed4.5794b87df5d28152
+    a4b6efea1cadf3ce
+  after
+    d205b34b794df23e.8fcdc2fbca0bedc3.eca76037a883bef4.f0d5c892c55cd3f6
+    57603099ddec2c78.ea26a08f8db0c6b2.5175eec824d40a63.132c23bcefc0ac0e
+    fe2eaad1a3f38fab.e0b10a429ca7497f.ac907a0db6c661f4.f0d5c892c55cd3f6
+    a53c9cdfea6bd603.cfb8fe81947eb2d6.d8c480f279647ed4.5794b87df5d28152
+    a4b6efea1cadf3ce
+
+VPEXTRQ_128_0x0(reg)
+  before
+    33876943d57a6516.275782afcc63beab.118878b610c13c62.b1df7c648aba1e2e
+    5f5323f6bdc312d4.6049d82d65e403d0.036d724eadfa24cf.13aceb4d04d5fd30
+    8666176d6f1737b7.2bde1a45d2fc619e.02b3eab606b7a6cb.d9f6489b03c0d703
+    030b431687ff1069.66e4c5e32eb69340.68a5db59b884fdff.e18a0f39a48867d6
+    0635bc1303376ad3
+  after
+    33876943d57a6516.275782afcc63beab.118878b610c13c62.b1df7c648aba1e2e
+    5f5323f6bdc312d4.6049d82d65e403d0.036d724eadfa24cf.13aceb4d04d5fd30
+    8666176d6f1737b7.2bde1a45d2fc619e.02b3eab606b7a6cb.d9f6489b03c0d703
+    030b431687ff1069.66e4c5e32eb69340.68a5db59b884fdff.e18a0f39a48867d6
+    b1df7c648aba1e2e
+VPEXTRQ_128_0x0(mem)
+  before
+    23c1cb153bdb9c26.328fa35ca209d897.eb2653f4961e56e3.929141a25eeb661a
+    16fab92b6880b9fc.6e3f31ab5bc0cdec.986f4262254166b2.dcc118ff957a1dc6
+    b9ae0141a7317c81.1565eb6e4fb12915.488c0e1bf82a7eda.a3825ddbf8bd5eb0
+    eaa71f4313faa2e0.824ecc141a6728be.d649310a2ae55b86.41200aa2243e6483
+    13e71dc0b48b6cec
+  after
+    23c1cb153bdb9c26.328fa35ca209d897.eb2653f4961e56e3.a3825ddbf8bd5eb0
+    16fab92b6880b9fc.6e3f31ab5bc0cdec.986f4262254166b2.dcc118ff957a1dc6
+    b9ae0141a7317c81.1565eb6e4fb12915.488c0e1bf82a7eda.a3825ddbf8bd5eb0
+    eaa71f4313faa2e0.824ecc141a6728be.d649310a2ae55b86.41200aa2243e6483
+    13e71dc0b48b6cec
+
+VPEXTRQ_128_0x1(reg)
+  before
+    752392a14530b296.83b38f1dc9e7e746.1045d006566e0892.2072291ad77fb9e4
+    c31f63b272b8722e.629ccdbce40506df.1d98f3b1a252033d.00d371391c03541d
+    59288e5dd7afe760.612f560a815fbcd6.0391328198a0566d.53378552157ee75f
+    938b0e1011a14ed7.5d38a5f5bb01c557.207e87e3d4e43ccc.f66ce151ddfa2fd6
+    c33c02229086e8ae
+  after
+    752392a14530b296.83b38f1dc9e7e746.1045d006566e0892.2072291ad77fb9e4
+    c31f63b272b8722e.629ccdbce40506df.1d98f3b1a252033d.00d371391c03541d
+    59288e5dd7afe760.612f560a815fbcd6.0391328198a0566d.53378552157ee75f
+    938b0e1011a14ed7.5d38a5f5bb01c557.207e87e3d4e43ccc.f66ce151ddfa2fd6
+    1045d006566e0892
+VPEXTRQ_128_0x1(mem)
+  before
+    987462b14b2bcd12.cd92df35bb1be23f.33833667aff8dd8f.cea9f041f2a8f306
+    4fe07feb2af79b2e.638afd3a72a8e146.bddb864e784fbfaa.6b5f6809907ab5c8
+    c54cd5ba47f50e30.b1be648ad2d48596.d80d0f95331328d4.51ececa647e6bebe
+    d684de0cc132e242.137c1190762c0bdb.61e64f28fb4fd438.de9b7683b5764c93
+    6cba040e76b899f4
+  after
+    987462b14b2bcd12.cd92df35bb1be23f.33833667aff8dd8f.d80d0f95331328d4
+    4fe07feb2af79b2e.638afd3a72a8e146.bddb864e784fbfaa.6b5f6809907ab5c8
+    c54cd5ba47f50e30.b1be648ad2d48596.d80d0f95331328d4.51ececa647e6bebe
+    d684de0cc132e242.137c1190762c0bdb.61e64f28fb4fd438.de9b7683b5764c93
+    6cba040e76b899f4
+
+VPEXTRQ_128_0x1(reg)
+  before
+    589391b22537e28c.5f5318cbb2b8d290.e50effbafa3baec3.3230c1f3ed0f7f02
+    ff731adb5e806209.3a87fee536969b47.82c22a73fb8eabf7.28b8e1e22460e460
+    bba699f6be1e5714.44ea0c456ad5f993.48e28f2814b03e26.1f492ce1bc4cc07c
+    e9780c6de19dfb5b.5949bed76983a79f.92bb2843e22da3fa.f3b11cddd2e2ce82
+    80bb2fc0812bcc9f
+  after
+    589391b22537e28c.5f5318cbb2b8d290.e50effbafa3baec3.3230c1f3ed0f7f02
+    ff731adb5e806209.3a87fee536969b47.82c22a73fb8eabf7.28b8e1e22460e460
+    bba699f6be1e5714.44ea0c456ad5f993.48e28f2814b03e26.1f492ce1bc4cc07c
+    e9780c6de19dfb5b.5949bed76983a79f.92bb2843e22da3fa.f3b11cddd2e2ce82
+    e50effbafa3baec3
+VPEXTRQ_128_0x1(mem)
+  before
+    a232e078e63574ff.e5356ead628a8b8a.557090874fab6398.bc98f3310091151f
+    36e3acef1d0b82cd.0b28bb23dd70424d.142aff413a5ae6a9.21c7eb5f0a69d242
+    169a0d1341bab436.b89fef39efdc5d4f.724586f1439befff.1f920d379e41130f
+    1e2381cf6e4dc465.46e4075d3358183c.4b8ba183887a38c6.1147532755a31731
+    5230bb99cd1d1855
+  after
+    a232e078e63574ff.e5356ead628a8b8a.557090874fab6398.724586f1439befff
+    36e3acef1d0b82cd.0b28bb23dd70424d.142aff413a5ae6a9.21c7eb5f0a69d242
+    169a0d1341bab436.b89fef39efdc5d4f.724586f1439befff.1f920d379e41130f
+    1e2381cf6e4dc465.46e4075d3358183c.4b8ba183887a38c6.1147532755a31731
+    5230bb99cd1d1855
+
+VPEXTRQ_128_0x1(reg)
+  before
+    409a40fba23a5327.2c49830fc1d06f87.1244fefa4672afc1.7bcacde325047f29
+    35d1deb86f870452.1bda8fbf555071c7.780bd07bc3b65d8a.decc84fe35447d55
+    8f21913cd08f6682.c7a022cb47d88553.d485794e47af5f43.505e44bed446f175
+    a8d556f362deb765.0c69b61fb2746854.82fdf6de6de9f197.ad4b88111f1795b6
+    d161cce232c22643
+  after
+    409a40fba23a5327.2c49830fc1d06f87.1244fefa4672afc1.7bcacde325047f29
+    35d1deb86f870452.1bda8fbf555071c7.780bd07bc3b65d8a.decc84fe35447d55
+    8f21913cd08f6682.c7a022cb47d88553.d485794e47af5f43.505e44bed446f175
+    a8d556f362deb765.0c69b61fb2746854.82fdf6de6de9f197.ad4b88111f1795b6
+    1244fefa4672afc1
+VPEXTRQ_128_0x1(mem)
+  before
+    976b8d1d2853604a.de3a2849c10130a5.c6ffc9a7b331d6f9.dec14198d2f04f32
+    dd3446ad1dd7fef4.8b9d03ab878310ee.d12ed64f651a8b6c.441b58e61151b4c1
+    7e8972802e59bd70.0c48e38353f091ed.08c45a04e43b42d9.0f583635c7975df0
+    5636908276e559e8.be88c43ebfd5f04e.498ccfb14da1b86d.9dc4d8f18f4f856b
+    49ab388705036adc
+  after
+    976b8d1d2853604a.de3a2849c10130a5.c6ffc9a7b331d6f9.08c45a04e43b42d9
+    dd3446ad1dd7fef4.8b9d03ab878310ee.d12ed64f651a8b6c.441b58e61151b4c1
+    7e8972802e59bd70.0c48e38353f091ed.08c45a04e43b42d9.0f583635c7975df0
+    5636908276e559e8.be88c43ebfd5f04e.498ccfb14da1b86d.9dc4d8f18f4f856b
+    49ab388705036adc
+
+VPSRLQ_0x05_128(reg)
+  before
+    6f595462c64246f2.4007199d12888e88.fba8a34967bd69bc.6f51b341bc57a854
+    6b1927ed6e955657.1ac88bbe1d4d177d.20f67b0ee83438e4.55e181a24c69d0b9
+    9839ad96988ad5b8.bf4460d1b440b1f3.8abc48fbddc79871.d906b5bf19e4eac9
+    5403e3c8e0ac00c0.0a4816c3f26e1815.9348067be301c610.d68dcc8440d3b3b0
+    274140dddd42e699
+  after
+    0000000000000000.0000000000000000.049a4033df180e30.06b46e6422069d9d
+    6b1927ed6e955657.1ac88bbe1d4d177d.20f67b0ee83438e4.55e181a24c69d0b9
+    9839ad96988ad5b8.bf4460d1b440b1f3.8abc48fbddc79871.d906b5bf19e4eac9
+    5403e3c8e0ac00c0.0a4816c3f26e1815.9348067be301c610.d68dcc8440d3b3b0
+    274140dddd42e699
+VPSRLQ_0x05_128(mem)
+  before
+    aaf08fb60b3e41b1.fac4c3efe388131c.d9a1297ef4e20710.98e4b2fa956efd6d
+    396434fbe6d27e23.e5c84b773da94a78.061913f0d5a83b10.f5dd47e48f9b7b33
+    b26bab988b0b591c.735b76cc889be17f.6f7d5204b1cd7040.067fc1a56e137a0f
+    efcf717a15f490c7.ffc8415a63ea13dd.ee9861a6a55c62cc.27151ca9ce6236ac
+    b4ed545d4a15edb7
+  after
+    aaf08fb60b3e41b1.fac4c3efe388131c.d9a1297ef4e20710.98e4b2fa956efd6d
+    396434fbe6d27e23.e5c84b773da94a78.061913f0d5a83b10.f5dd47e48f9b7b33
+    b26bab988b0b591c.735b76cc889be17f.6f7d5204b1cd7040.067fc1a56e137a0f
+    efcf717a15f490c7.ffc8415a63ea13dd.ee9861a6a55c62cc.27151ca9ce6236ac
+    b4ed545d4a15edb7
+
+VPSRLQ_0x05_128(reg)
+  before
+    0951662b7fb7d9dc.ce5d018ba199dd51.e45da68e67231d40.6138bcc2cd62cce2
+    828e4d8007d437c6.29e1d6b94a06fde6.8064a3d233d23a52.a227df4444ea6bac
+    7bf005c981f94322.dd276fee2d48abb1.2d2a33946081a7bf.8e3347182600fb56
+    50c38a7187b1389b.c7fa4518656aa5df.49fb523e8dbea034.02266e2a90b0370d
+    d8cdd2669e07dcfd
+  after
+    0000000000000000.0000000000000000.024fda91f46df501.00113371548581b8
+    828e4d8007d437c6.29e1d6b94a06fde6.8064a3d233d23a52.a227df4444ea6bac
+    7bf005c981f94322.dd276fee2d48abb1.2d2a33946081a7bf.8e3347182600fb56
+    50c38a7187b1389b.c7fa4518656aa5df.49fb523e8dbea034.02266e2a90b0370d
+    d8cdd2669e07dcfd
+VPSRLQ_0x05_128(mem)
+  before
+    edf4eeb96b10a651.5d53d9e3b58953de.c128d6220f79a59c.2e23fc3e5314615d
+    1d663f0d13d85136.feecec8da80cd097.a87b9cf8467f6813.39ed2eff501026e5
+    45f14050b36a98d7.8fd9c1dafbc6ea71.58c01586268ba970.c7a7e3ed203d2a79
+    3f5f6c6d66d23861.6c6753364b43df19.aec3bdb8cca625e0.329b17745e27aac4
+    d716c600a65be173
+  after
+    edf4eeb96b10a651.5d53d9e3b58953de.c128d6220f79a59c.2e23fc3e5314615d
+    1d663f0d13d85136.feecec8da80cd097.a87b9cf8467f6813.39ed2eff501026e5
+    45f14050b36a98d7.8fd9c1dafbc6ea71.58c01586268ba970.c7a7e3ed203d2a79
+    3f5f6c6d66d23861.6c6753364b43df19.aec3bdb8cca625e0.329b17745e27aac4
+    d716c600a65be173
+
+VPSRLQ_0x05_128(reg)
+  before
+    1365edfd95640d32.e87d414f491ced00.f0e29f0d3310e93a.84500e7a54de988f
+    40d186d7c7ce68ac.1c173be4775572df.79969fcc50b84481.b73286b9d93ebea9
+    bba98ffbd7262e8e.b7f9d4170d88852b.62cf51dd3dc82e9a.2337a05f77d35259
+    e03804d361f79d84.95ef8ad426c2df0f.07d9b0ad97cbe130.a429d85a4ba811cb
+    16d5aa9470c9b72c
+  after
+    0000000000000000.0000000000000000.003ecd856cbe5f09.05214ec2d25d408e
+    40d186d7c7ce68ac.1c173be4775572df.79969fcc50b84481.b73286b9d93ebea9
+    bba98ffbd7262e8e.b7f9d4170d88852b.62cf51dd3dc82e9a.2337a05f77d35259
+    e03804d361f79d84.95ef8ad426c2df0f.07d9b0ad97cbe130.a429d85a4ba811cb
+    16d5aa9470c9b72c
+VPSRLQ_0x05_128(mem)
+  before
+    550793fb0343ffa8.0bc9dfcd02ceef39.92c5d807de0e3fb8.c3ffb9a9f94d9aef
+    3d8b0e7a2021a76b.98a91e5355356159.8a463a9d53785f52.f48f663b00da9485
+    aa2d97fde16f69a0.e324bbd3f7ba2f91.593f2c809e0dfd08.f4d3b5d147ff0d9c
+    78b8aa7065390173.4986b4b883e9948d.db7c2b9dddd8d207.2118a1d66a483fe0
+    d6aa26b6063f66fe
+  after
+    550793fb0343ffa8.0bc9dfcd02ceef39.92c5d807de0e3fb8.c3ffb9a9f94d9aef
+    3d8b0e7a2021a76b.98a91e5355356159.8a463a9d53785f52.f48f663b00da9485
+    aa2d97fde16f69a0.e324bbd3f7ba2f91.593f2c809e0dfd08.f4d3b5d147ff0d9c
+    78b8aa7065390173.4986b4b883e9948d.db7c2b9dddd8d207.2118a1d66a483fe0
+    d6aa26b6063f66fe
+
+VPMULUDQ_128(reg)
+  before
+    6ed440ddb772c0a2.83f9c3bfc58c2d11.241b056e964ccdf9.ecc9b2e12ce59d7a
+    46e4ecb7186c8777.a7bd5fd62074a7a6.d12fa861cb721680.68f23d37a641188e
+    bb2425b0c5baf82a.bfcef9a18ffb2c5d.ab0d9bfdbfe4aace.2bc3488a67f7006f
+    27e1e7345be74e67.a9f90d0d302f7763.1002d9ae0d30c690.100750c88c131148
+    f58bcfdc30a20646
+  after
+    0000000000000000.0000000000000000.987fd82302bf1b00.438499f7e93ba592
+    46e4ecb7186c8777.a7bd5fd62074a7a6.d12fa861cb721680.68f23d37a641188e
+    bb2425b0c5baf82a.bfcef9a18ffb2c5d.ab0d9bfdbfe4aace.2bc3488a67f7006f
+    27e1e7345be74e67.a9f90d0d302f7763.1002d9ae0d30c690.100750c88c131148
+    f58bcfdc30a20646
+VPMULUDQ_128(mem)
+  before
+    b51c43b270af9c94.e8682eb0757fc7d9.400917041f1c45e4.5b5b5ee052e1a672
+    2c84273667468f5f.5802f68eb00f9d2c.60cc947477cc520b.e86226002983861f
+    358ff85432749bd2.d4fe3c3ca7220c0d.e40cfe47554d5a05.13632e782ea3a144
+    ae0b30f9ec447b1a.b9a7fb24f7445228.aa97d36bd4ab18fd.38ac71b6fecc358d
+    b288eb25358b7ba5
+  after
+    b51c43b270af9c94.e8682eb0757fc7d9.400917041f1c45e4.5b5b5ee052e1a672
+    2c84273667468f5f.5802f68eb00f9d2c.60cc947477cc520b.e86226002983861f
+    0000000000000000.0000000000000000.0e8ef8fd124a08cc.0d70b88c94c8d3ce
+    ae0b30f9ec447b1a.b9a7fb24f7445228.aa97d36bd4ab18fd.38ac71b6fecc358d
+    b288eb25358b7ba5
+
+VPMULUDQ_128(reg)
+  before
+    df4298306e6bb239.72c34d0fb2c2ec63.61482fb43b02a929.8d378ecb10f14920
+    1a27744545f814f4.5c82ca839ffbaad8.292fd45710e74ebb.68b9ac53262ba999
+    bf837ccf57bfde83.4a152342d0fa70a6.6da6e779117f7c8a.19e8a8ef3165f496
+    29a2ab3a3f4a4c92.1648d53760ccfbf9.89fa6386db577144.7a92fd8b4eace540
+    69822913990b39c6
+  after
+    0000000000000000.0000000000000000.0127c733a09804ce.075d8f282d9833a6
+    1a27744545f814f4.5c82ca839ffbaad8.292fd45710e74ebb.68b9ac53262ba999
+    bf837ccf57bfde83.4a152342d0fa70a6.6da6e779117f7c8a.19e8a8ef3165f496
+    29a2ab3a3f4a4c92.1648d53760ccfbf9.89fa6386db577144.7a92fd8b4eace540
+    69822913990b39c6
+VPMULUDQ_128(mem)
+  before
+    c083a8732c8eac51.b6d0fdf29a2899cc.9ee75b4d6c7b07fc.da7644ea09fa6792
+    5d62f4982642f910.c0596e6404e202dd.bcbe30720f1550dc.ba68861137f59b23
+    1aeb8b6ca032dd2d.a588fbfa1706c373.4e99d39165a691c4.861b256702d248a1
+    d5eae8ddb96b14d5.bfaa9e21721f1838.2e43bd968b3987e1.9ada1e59061fabb8
+    52f26c51de680016
+  after
+    c083a8732c8eac51.b6d0fdf29a2899cc.9ee75b4d6c7b07fc.da7644ea09fa6792
+    5d62f4982642f910.c0596e6404e202dd.bcbe30720f1550dc.ba68861137f59b23
+    0000000000000000.0000000000000000.06643dd317e59c90.022e5ef176ab8ef6
+    d5eae8ddb96b14d5.bfaa9e21721f1838.2e43bd968b3987e1.9ada1e59061fabb8
+    52f26c51de680016
+
+VPMULUDQ_128(reg)
+  before
+    0aaf0bbd26388364.682b87d58af85a33.6c0b5546aeba3cd8.39896b6d9ddaee5e
+    1e5df7087b1b6f51.b079e44232e56a74.06f71cd469626c00.4c375a03b6958168
+    e9482d9d799d0187.89a27c0fca3e01c3.ebbaed363fa3e45c.41190542f277fd2b
+    c9bba7eaba4b75b2.d070ca287010db4d.75a0c6dacb0adf97.f5fbe8176e8b1ed2
+    44a9806f45dea08a
+  after
+    0000000000000000.0000000000000000.1a32b0404b8ed000.aceee863e3588478
+    1e5df7087b1b6f51.b079e44232e56a74.06f71cd469626c00.4c375a03b6958168
+    e9482d9d799d0187.89a27c0fca3e01c3.ebbaed363fa3e45c.41190542f277fd2b
+    c9bba7eaba4b75b2.d070ca287010db4d.75a0c6dacb0adf97.f5fbe8176e8b1ed2
+    44a9806f45dea08a
+VPMULUDQ_128(mem)
+  before
+    0bee4734947b3e7e.1904635addb0077f.5fb04a794066b43e.02f4a22baa229a5e
+    2498bb54766eb5db.356d5d597c59f29a.132e78ee554d47c1.ec047d957777515c
+    6c7157ba08c4c1cd.79438f5333d073af.c8b6d074cbd05103.901a5384ce96403e
+    bf46985265871d7f.41d2f7b49fa4c669.5a13cff5bffb8d2f.4a8320644c0aa2b0
+    778be1a18d5fb45d
+  after
+    0bee4734947b3e7e.1904635addb0077f.5fb04a794066b43e.02f4a22baa229a5e
+    2498bb54766eb5db.356d5d597c59f29a.132e78ee554d47c1.ec047d957777515c
+    0000000000000000.0000000000000000.15758ac9d61114be.4f6561e98af937c8
+    bf46985265871d7f.41d2f7b49fa4c669.5a13cff5bffb8d2f.4a8320644c0aa2b0
+    778be1a18d5fb45d
+
+VPSLLQ_0x05_128(reg)
+  before
+    717d91a82c22b2f2.f9e3f808aac6871e.e8668fe95b5e2674.a613f05e4ddab972
+    95a72ce3c5ded81b.f613f5c8f28ab8d5.cc4b555c038cd07d.8680af9c907a8ff8
+    3f53afc0f51f6183.92a40a7e5ae16fd1.48cc457b34b90030.d7278999a4e7cbec
+    cbcf14aa57728ad6.a960b316fdd6663e.b73659b08a72f138.75d4f843a62b2b7b
+    3c537a85b15469d0
+  after
+    0000000000000000.0000000000000000.e6cb36114e5e2700.ba9f0874c5656f60
+    95a72ce3c5ded81b.f613f5c8f28ab8d5.cc4b555c038cd07d.8680af9c907a8ff8
+    3f53afc0f51f6183.92a40a7e5ae16fd1.48cc457b34b90030.d7278999a4e7cbec
+    cbcf14aa57728ad6.a960b316fdd6663e.b73659b08a72f138.75d4f843a62b2b7b
+    3c537a85b15469d0
+VPSLLQ_0x05_128(mem)
+  before
+    08708a4be26d4218.9565590c88628ec1.17156c7df7765b47.77d68f69a042e142
+    b4f6a4815483727f.f9627954237cabf0.b88db29d65cc0719.e2f6e21113b50afa
+    1eb2451324a1b430.531170edc54a1b0f.6895006463e429df.56e24e147e58a80b
+    2171e7ed6dd3c558.ffc03b43095b1bc9.03f9d2bc0ccb7bc6.2de8cfde7db6f921
+    c55362dbad5b37ea
+  after
+    08708a4be26d4218.9565590c88628ec1.17156c7df7765b47.77d68f69a042e142
+    b4f6a4815483727f.f9627954237cabf0.b88db29d65cc0719.e2f6e21113b50afa
+    1eb2451324a1b430.531170edc54a1b0f.6895006463e429df.56e24e147e58a80b
+    2171e7ed6dd3c558.ffc03b43095b1bc9.03f9d2bc0ccb7bc6.2de8cfde7db6f921
+    c55362dbad5b37ea
+
+VPSLLQ_0x05_128(reg)
+  before
+    786e0277a9d39f10.99fd08fb4c266122.59b9d4c28c38e6ca.6584a4937c8cbafa
+    a486ab1e0eab6c3f.6223232adca544bb.bd4a39d6e96fb9bf.6904f3d4d033a2a6
+    a3e7593d786fdc24.58aeb4643a5c294f.87bd66ecbd8bd054.ed43396b23cdeef7
+    d2dd083e81a9296b.566c38978158cd09.135f556ea3186734.cc0ef44492655b18
+    e2319f4b3907a536
+  after
+    0000000000000000.0000000000000000.6beaadd4630ce680.81de88924cab6300
+    a486ab1e0eab6c3f.6223232adca544bb.bd4a39d6e96fb9bf.6904f3d4d033a2a6
+    a3e7593d786fdc24.58aeb4643a5c294f.87bd66ecbd8bd054.ed43396b23cdeef7
+    d2dd083e81a9296b.566c38978158cd09.135f556ea3186734.cc0ef44492655b18
+    e2319f4b3907a536
+VPSLLQ_0x05_128(mem)
+  before
+    0a78b76c32c0887d.8eb4b58fc8e790bf.3a272aadcda4eb15.bd7c03ca37a3b90c
+    22afb6939c9bbf18.31b85b9ae7b54ccd.dfad06943b4d41a1.e15f6d6a16b70388
+    05a11aad90a40733.1834f6cd7a9d9a40.20c84837e75d89d7.da568ebcdce18153
+    8e1c5ea42ce81bfc.9f7582931d2db6c5.db456c82ece280e3.06ab622b24ac6f1a
+    c0ace6238aa40888
+  after
+    0a78b76c32c0887d.8eb4b58fc8e790bf.3a272aadcda4eb15.bd7c03ca37a3b90c
+    22afb6939c9bbf18.31b85b9ae7b54ccd.dfad06943b4d41a1.e15f6d6a16b70388
+    05a11aad90a40733.1834f6cd7a9d9a40.20c84837e75d89d7.da568ebcdce18153
+    8e1c5ea42ce81bfc.9f7582931d2db6c5.db456c82ece280e3.06ab622b24ac6f1a
+    c0ace6238aa40888
+
+VPSLLQ_0x05_128(reg)
+  before
+    63a3150fab55894a.9beafe668c72b99d.23c7fc586ef1dc08.eaefef6166e8e1f2
+    4ddcea5e224c2e0c.06d877ddcb4f9b42.fe765f88067347b4.2b944cc072796a30
+    d9a564798c153279.adb243f7068a7e18.8dcea78f83423476.78ffff8b2ba4d5c8
+    62497ccd853ad23d.6a43e09f582f1d4b.2c1bd0d981e7dff9.affb84aeae72dee7
+    aa55581616f143b9
+  after
+    0000000000000000.0000000000000000.837a1b303cfbff20.ff7095d5ce5bdce0
+    4ddcea5e224c2e0c.06d877ddcb4f9b42.fe765f88067347b4.2b944cc072796a30
+    d9a564798c153279.adb243f7068a7e18.8dcea78f83423476.78ffff8b2ba4d5c8
+    62497ccd853ad23d.6a43e09f582f1d4b.2c1bd0d981e7dff9.affb84aeae72dee7
+    aa55581616f143b9
+VPSLLQ_0x05_128(mem)
+  before
+    47d9f5ad802cbe69.46132fc6a7494a06.1b59c9c1dd4a3606.37a8d6d29bf083ea
+    6053d961072f0c23.df507ad191cdd67e.9abf7b49b2e88376.0ac3b6e76de85ef5
+    d28f7f1dc807e815.8b4d5858dc53b151.c4407023f314c1c6.01b66b82945baac5
+    7a5864ccdebf1068.a454c5c92666182c.76a9263bbbdbab23.78cef111acd6a307
+    cb5744fe50e48766
+  after
+    47d9f5ad802cbe69.46132fc6a7494a06.1b59c9c1dd4a3606.37a8d6d29bf083ea
+    6053d961072f0c23.df507ad191cdd67e.9abf7b49b2e88376.0ac3b6e76de85ef5
+    d28f7f1dc807e815.8b4d5858dc53b151.c4407023f314c1c6.01b66b82945baac5
+    7a5864ccdebf1068.a454c5c92666182c.76a9263bbbdbab23.78cef111acd6a307
+    cb5744fe50e48766
+
+VPMAXUD_128(reg)
+  before
+    569d61b71c12908f.327c025c66643e4b.88b1be8f0b9247bb.8ac6187e2647feb9
+    75eb43a7adeafa2e.d7c5d7b87b012fe8.91b23d15266479a9.dd63c2d6516776b3
+    838fe63a9efb03ee.46005ecc3aa29e6c.1ca240c91467eba3.4c4ba1305744cf3e
+    ded346dc8ccee57c.59f91384be534802.86ccc2167027d954.b14c2f7955ecc486
+    e930ea9c666a12b6
+  after
+    0000000000000000.0000000000000000.91b23d15266479a9.dd63c2d65744cf3e
+    75eb43a7adeafa2e.d7c5d7b87b012fe8.91b23d15266479a9.dd63c2d6516776b3
+    838fe63a9efb03ee.46005ecc3aa29e6c.1ca240c91467eba3.4c4ba1305744cf3e
+    ded346dc8ccee57c.59f91384be534802.86ccc2167027d954.b14c2f7955ecc486
+    e930ea9c666a12b6
+VPMAXUD_128(mem)
+  before
+    d0c44d85a7cb75fa.e1045ff912f1dd83.ed7c73cd2321e9d7.297dc068d6317f69
+    42d4d41f331aa87f.e86e2efdcdef27b0.de54f99186183d16.6201342ce310188e
+    1b2cfc5827636871.4f5dae555855feae.084f20bd0342ffec.8da41ccc3350e16e
+    3798401b9eb271fc.711cdb6b50ad9f2b.4737673eb4adec85.07b273b5617e16b6
+    2a7635540925f212
+  after
+    d0c44d85a7cb75fa.e1045ff912f1dd83.ed7c73cd2321e9d7.297dc068d6317f69
+    42d4d41f331aa87f.e86e2efdcdef27b0.de54f99186183d16.6201342ce310188e
+    0000000000000000.0000000000000000.ed7c73cd86183d16.6201342ce310188e
+    3798401b9eb271fc.711cdb6b50ad9f2b.4737673eb4adec85.07b273b5617e16b6
+    2a7635540925f212
+
+VPMAXUD_128(reg)
+  before
+    533e5e13c8d1b22d.72e41c55b5147f4b.acf9b1ad508646d0.77d947feb864c00c
+    de54eb60390f92b3.a8db0cf087954d8a.5a3e2c85f4692f4c.74013deb297436ae
+    2705d7a6f96ace51.b54a8cd9303f98e6.d9384961dae49549.1a7bc6f023e80c96
+    8a9d1e50a36fa1b3.75fd19fdcd201c8b.843303ac9b82b573.45135df9c3ccfcf1
+    d1947ef2242dc2eb
+  after
+    0000000000000000.0000000000000000.d9384961f4692f4c.74013deb297436ae
+    de54eb60390f92b3.a8db0cf087954d8a.5a3e2c85f4692f4c.74013deb297436ae
+    2705d7a6f96ace51.b54a8cd9303f98e6.d9384961dae49549.1a7bc6f023e80c96
+    8a9d1e50a36fa1b3.75fd19fdcd201c8b.843303ac9b82b573.45135df9c3ccfcf1
+    d1947ef2242dc2eb
+VPMAXUD_128(mem)
+  before
+    9acba6c763161caf.6368bcccd4a84885.c4c02e467a4395a5.b67b56d2d5d0cb77
+    7c8550649b93c469.0eb1ad8527a3ff72.7e5f47a252b5be5f.cd5c3e3f24591201
+    538cf7b5e9b17647.e7c6eee839ec0226.7fa6e0fb718154e5.2321b85f22a9c7bc
+    faad1aa7687bf073.4af17a5fa50e8c4e.a360753ff4b31364.1618bf9e6e4d2655
+    008b4f68a2d06b77
+  after
+    9acba6c763161caf.6368bcccd4a84885.c4c02e467a4395a5.b67b56d2d5d0cb77
+    7c8550649b93c469.0eb1ad8527a3ff72.7e5f47a252b5be5f.cd5c3e3f24591201
+    0000000000000000.0000000000000000.c4c02e467a4395a5.cd5c3e3fd5d0cb77
+    faad1aa7687bf073.4af17a5fa50e8c4e.a360753ff4b31364.1618bf9e6e4d2655
+    008b4f68a2d06b77
+
+VPMAXUD_128(reg)
+  before
+    3ec764295abed1d0.4fb3322434fdec19.937f4d570895da96.c55a8359f758b608
+    2d18fb4e33a49509.2d6cbc1a6a442766.1ebc633cfd0d28a9.c3618535947bfafc
+    27ca0e41c80df3d0.6fa23573265b5d86.47f4b97b2003b134.783ff7bfea289b6d
+    89289b70b68526d1.f323181d834e49a4.69734a7f0e02b2e3.bfc056e4126c5587
+    76b21c8e2b52e375
+  after
+    0000000000000000.0000000000000000.47f4b97bfd0d28a9.c3618535ea289b6d
+    2d18fb4e33a49509.2d6cbc1a6a442766.1ebc633cfd0d28a9.c3618535947bfafc
+    27ca0e41c80df3d0.6fa23573265b5d86.47f4b97b2003b134.783ff7bfea289b6d
+    89289b70b68526d1.f323181d834e49a4.69734a7f0e02b2e3.bfc056e4126c5587
+    76b21c8e2b52e375
+VPMAXUD_128(mem)
+  before
+    78e0c7aa4ee70264.af809d4698996bb8.94b9e1039d2aa8ed.e28412b363976761
+    a015d2259a356d7f.f61c112f0bd4fe30.2d310d1191fa368d.0d750d85ba4d0b5b
+    cc1eb9e9284ae2f3.b849f196aac21be5.9c5616337bcaafaf.46903760afb0dc7c
+    d6c7f9e416321beb.52533be912f0fd85.bbf67a5576a7ce80.e8228db0df4c1471
+    51770ae1e5aeefe6
+  after
+    78e0c7aa4ee70264.af809d4698996bb8.94b9e1039d2aa8ed.e28412b363976761
+    a015d2259a356d7f.f61c112f0bd4fe30.2d310d1191fa368d.0d750d85ba4d0b5b
+    0000000000000000.0000000000000000.94b9e1039d2aa8ed.e28412b3ba4d0b5b
+    d6c7f9e416321beb.52533be912f0fd85.bbf67a5576a7ce80.e8228db0df4c1471
+    51770ae1e5aeefe6
+
+VPMINUD_128(reg)
+  before
+    dbdaaa5f5e61ab86.9cdc0c0180f8d594.2086ea94dee9e1b9.68dcb4639e9c502b
+    e4996996e5f282fd.f829702b81a8cb1a.7e2efa01aa390330.7dd3404a10b6f1dd
+    c7fe44f317ecb1f9.c87aa050364ebba8.c896689d136d9f94.d8a89bf4e7ff6cc1
+    df5736e08fdb7324.e69a195bbaf75f6b.5a0c2ed4b510f091.5327404e40867e04
+    cc1cab453654e3d2
+  after
+    0000000000000000.0000000000000000.7e2efa01136d9f94.7dd3404a10b6f1dd
+    e4996996e5f282fd.f829702b81a8cb1a.7e2efa01aa390330.7dd3404a10b6f1dd
+    c7fe44f317ecb1f9.c87aa050364ebba8.c896689d136d9f94.d8a89bf4e7ff6cc1
+    df5736e08fdb7324.e69a195bbaf75f6b.5a0c2ed4b510f091.5327404e40867e04
+    cc1cab453654e3d2
+VPMINUD_128(mem)
+  before
+    1d5358c4e6775756.8aee3bcbea4c062a.2f56553929ae748f.90da4a132baf33d5
+    2397c3b66bfa95bd.22104f1ec3caa4b8.807ad2d4a080b53f.c64db7c511d4a309
+    bbb66909e2ea5a33.04096e47b7e1897a.b3d20b193a77dfa7.58b17155040e7edc
+    bf7ac4a8665162e3.8d2495b1611ef31b.a52a7cf514a2aef5.a25175319fe6fef8
+    007bbec47fea6009
+  after
+    1d5358c4e6775756.8aee3bcbea4c062a.2f56553929ae748f.90da4a132baf33d5
+    2397c3b66bfa95bd.22104f1ec3caa4b8.807ad2d4a080b53f.c64db7c511d4a309
+    0000000000000000.0000000000000000.2f56553929ae748f.90da4a1311d4a309
+    bf7ac4a8665162e3.8d2495b1611ef31b.a52a7cf514a2aef5.a25175319fe6fef8
+    007bbec47fea6009
+
+VPMINUD_128(reg)
+  before
+    ce79487a40a5dfbc.0cb0537f133e68f9.17afbfc85e0c1c48.334ea1524a0ade52
+    68990fbf7ca3b8bd.7e248f7a06ba2aa3.fff4e8f8493741ac.3709f71ef6bd2aed
+    29250fffd27127b7.f1a2f5865bd3620a.a2400cadbe2c9df4.8e29f94337c64ff0
+    6f6a45a6db9a6857.42f5028d2d94cc5d.5adf28535a766ecc.147823af26320987
+    a5c3f14de20c13e0
+  after
+    0000000000000000.0000000000000000.a2400cad493741ac.3709f71e37c64ff0
+    68990fbf7ca3b8bd.7e248f7a06ba2aa3.fff4e8f8493741ac.3709f71ef6bd2aed
+    29250fffd27127b7.f1a2f5865bd3620a.a2400cadbe2c9df4.8e29f94337c64ff0
+    6f6a45a6db9a6857.42f5028d2d94cc5d.5adf28535a766ecc.147823af26320987
+    a5c3f14de20c13e0
+VPMINUD_128(mem)
+  before
+    1dd6e00984602a24.95b3ac2036abb649.4beb317c980a26c6.841d3656b9a1eedf
+    587d6bcf2a3b0a82.f74e40da7c2f4f38.e94efe40b9402a71.7c463423763a5ada
+    32830e8bf0a76f24.f086fd3e4bb26cd1.f8ebe5c4ab42948c.9fa51d242dcced68
+    87b64529f1b31436.dea6dfba3fc14cbf.548e63f38b1d2240.4788eec77be3e437
+    d139a176fb0c7bf0
+  after
+    1dd6e00984602a24.95b3ac2036abb649.4beb317c980a26c6.841d3656b9a1eedf
+    587d6bcf2a3b0a82.f74e40da7c2f4f38.e94efe40b9402a71.7c463423763a5ada
+    0000000000000000.0000000000000000.4beb317c980a26c6.7c463423763a5ada
+    87b64529f1b31436.dea6dfba3fc14cbf.548e63f38b1d2240.4788eec77be3e437
+    d139a176fb0c7bf0
+
+VPMINUD_128(reg)
+  before
+    9905349f4ad2ee41.33e08c964a68b6e6.1bfbe3b9f3e729af.d903f3bb75db8ebc
+    fb38a2ad03c178d6.12ce60bc16d4115d.05d104a604b0404d.63161107838b952a
+    531ee80cc366565a.004c3c897103e1ca.f6743eef0da8cd44.ce9239c3d436f3b6
+    fd030028254cc47a.d9269ce778ffe157.4c308effaa5c0b40.f544e7db81ea638d
+    b6f9983ba9b3a2db
+  after
+    0000000000000000.0000000000000000.05d104a604b0404d.63161107838b952a
+    fb38a2ad03c178d6.12ce60bc16d4115d.05d104a604b0404d.63161107838b952a
+    531ee80cc366565a.004c3c897103e1ca.f6743eef0da8cd44.ce9239c3d436f3b6
+    fd030028254cc47a.d9269ce778ffe157.4c308effaa5c0b40.f544e7db81ea638d
+    b6f9983ba9b3a2db
+VPMINUD_128(mem)
+  before
+    ec7bc7cf659b6ccc.5532e86dc600fde2.7927fcc446d6ce30.6150ee42785838ef
+    7397f084d3b07d8a.b7f89b47410d3f3d.bc1dd80bf8946482.93225c2512268dfa
+    27188f440ffe9044.7fa1152233ffc438.7dd2ada8aa435e79.3cf0d31215544910
+    e3cc21fd348f6224.0979526b3762c87e.9a13f68777f17941.ba074f761d6ea6db
+    67b3cdbec4fee108
+  after
+    ec7bc7cf659b6ccc.5532e86dc600fde2.7927fcc446d6ce30.6150ee42785838ef
+    7397f084d3b07d8a.b7f89b47410d3f3d.bc1dd80bf8946482.93225c2512268dfa
+    0000000000000000.0000000000000000.7927fcc446d6ce30.6150ee4212268dfa
+    e3cc21fd348f6224.0979526b3762c87e.9a13f68777f17941.ba074f761d6ea6db
+    67b3cdbec4fee108
+
+VPMULLD_128(reg)
+  before
+    a0404754a9923642.857d20995f71ae57.b0cc4f8ce9c389bc.eeac2f947baa7104
+    c2f9bba665b5e136.e8f90a06abb03208.d2e606f3e6ad419e.5469d4bbd37802f1
+    272c241f97f41d8f.e70a5b2f3457a864.ca12750bcaad2dcf.aa1662e89a69e732
+    2c237f2ad8da27fa.607d8d001772cd97.f49e983f304e88fc.cb7e5408ed89ddf4
+    926f2605e7e39f62
+  after
+    0000000000000000.0000000000000000.6c255b71fe66d4c2.796a5f78c6f10a12
+    c2f9bba665b5e136.e8f90a06abb03208.d2e606f3e6ad419e.5469d4bbd37802f1
+    272c241f97f41d8f.e70a5b2f3457a864.ca12750bcaad2dcf.aa1662e89a69e732
+    2c237f2ad8da27fa.607d8d001772cd97.f49e983f304e88fc.cb7e5408ed89ddf4
+    926f2605e7e39f62
+VPMULLD_128(mem)
+  before
+    ddb354cda483eba9.2d2bc635c6f43a23.2d1d1e656f0d5ccc.abd469fdb41c8fd0
+    86175a4a42757bf4.8690f7abfdcc94b5.2cb8884a5935132f.4d01e6b0f3a37ef8
+    6b67b56adac60c71.939e0df818f06f5d.38194a9bf1f5acee.35710ac48870911f
+    666fe0188a815949.b1a00489b4ec07c6.2c0bdd455159e333.be70d1a5100e04f3
+    464937c0260a121d
+  after
+    ddb354cda483eba9.2d2bc635c6f43a23.2d1d1e656f0d5ccc.abd469fdb41c8fd0
+    86175a4a42757bf4.8690f7abfdcc94b5.2cb8884a5935132f.4d01e6b0f3a37ef8
+    0000000000000000.0000000000000000.b728713283932d74.7c3f2bf08be3b180
+    666fe0188a815949.b1a00489b4ec07c6.2c0bdd455159e333.be70d1a5100e04f3
+    464937c0260a121d
+
+VPMULLD_128(reg)
+  before
+    274a397f67eff74c.55fa57406eb220ab.3ae4d9c86c4b9a9d.e55bbe32986e762a
+    bfbdd14f6e49f129.12d696cea1661bc0.8bb48622dc99628e.40d56a4fe03f1f00
+    68effd9dd8a53a63.7acd1aae3fa807b7.005d0904a1629c44.17455c8945d99be1
+    802cb9d4408e0fa4.6aac5ecc65859fba.f52c5dd85733846c.487710cbe347a5f8
+    ad360201d895fb72
+  after
+    0000000000000000.0000000000000000.41e34a881928b5b8.24b54847963f3f00
+    bfbdd14f6e49f129.12d696cea1661bc0.8bb48622dc99628e.40d56a4fe03f1f00
+    68effd9dd8a53a63.7acd1aae3fa807b7.005d0904a1629c44.17455c8945d99be1
+    802cb9d4408e0fa4.6aac5ecc65859fba.f52c5dd85733846c.487710cbe347a5f8
+    ad360201d895fb72
+VPMULLD_128(mem)
+  before
+    2350af163dcf577a.61c0ff5f4390ac99.bc3fde152e08a0f6.c56a7f0c999755b1
+    868f92f83002763d.69f7cdac7c384ded.4d521673b73dc696.ce66690b031a4cc0
+    b3c02792cd3913e7.f21c1d2688112d4d.fab082d41c30cdc7.6b6b19413249a545
+    84afead12f81eba3.597ced3902a78964.9d279f2277ee70b4.f8c48a1ac1af9beb
+    d1beb8024dd96c5f
+  after
+    2350af163dcf577a.61c0ff5f4390ac99.bc3fde152e08a0f6.c56a7f0c999755b1
+    868f92f83002763d.69f7cdac7c384ded.4d521673b73dc696.ce66690b031a4cc0
+    0000000000000000.0000000000000000.8180916fda2a9424.70776184e5ead0c0
+    84afead12f81eba3.597ced3902a78964.9d279f2277ee70b4.f8c48a1ac1af9beb
+    d1beb8024dd96c5f
+
+VPMULLD_128(reg)
+  before
+    52a59f657152524c.d628589f72e5ba9e.fb64395186879cdf.1381e84be7826c8a
+    d6c53cafcaa6895f.85f6ebe9b3713c03.321efbdab13ca46a.388bd93a85f97d75
+    bb6a8a4cf3614f43.6de7219c0e312cff.5bf631411f52dbb0.e811eedb705e5ea0
+    5ce085a98910dea6.6ac575a29e3247be.d23ad6f06b567d5e.ffdfa41ac1bdcc38
+    59c175e397238368
+  after
+    0000000000000000.0000000000000000.298eac5a3a4bb6e0.6070c09e98f55f20
+    d6c53cafcaa6895f.85f6ebe9b3713c03.321efbdab13ca46a.388bd93a85f97d75
+    bb6a8a4cf3614f43.6de7219c0e312cff.5bf631411f52dbb0.e811eedb705e5ea0
+    5ce085a98910dea6.6ac575a29e3247be.d23ad6f06b567d5e.ffdfa41ac1bdcc38
+    59c175e397238368
+VPMULLD_128(mem)
+  before
+    d283df220b9b3f5d.14722930273e7331.585d64e97f80496b.f335e65431d3c81f
+    46f05ec33b31bb43.416e734f69784993.137b685bce25ed33.1b325dda0e55f6a0
+    91d56cb243f1b445.3e1e5d71ec499d75.77ebffe6a62ff141.a47e38ed9d69448d
+    8ffe87dc3ee8e690.66cfe5014c3dab86.6079a47524a90fc2.eb6572f87b9aee91
+    4c33076943742f59
+  after
+    d283df220b9b3f5d.14722930273e7331.585d64e97f80496b.f335e65431d3c81f
+    46f05ec33b31bb43.416e734f69784993.137b685bce25ed33.1b325dda0e55f6a0
+    0000000000000000.0000000000000000.212486d3e0fdaf51.88faa788caf5dd60
+    8ffe87dc3ee8e690.66cfe5014c3dab86.6079a47524a90fc2.eb6572f87b9aee91
+    4c33076943742f59
+
+VPMAXUW_128(reg)
+  before
+    2334f3ab92844490.1c37292b48220d4f.17cd066d24e1af70.aaf0d3f463a003e2
+    ccb4332a035569e3.144cd08d7ea9e4af.ab63bd2010c0e5e0.311d094f801f8bcc
+    a3fec1523374d9fe.5309f8edfc8b28dc.80df0486ad668881.d1cdc072963261ad
+    04609b8fbd6bd18c.b5391b36ddd49501.f08bd90b9760d500.66ca764ac2e641b0
+    cbe1a6c11f46e902
+  after
+    0000000000000000.0000000000000000.ab63bd20ad66e5e0.d1cdc07296328bcc
+    ccb4332a035569e3.144cd08d7ea9e4af.ab63bd2010c0e5e0.311d094f801f8bcc
+    a3fec1523374d9fe.5309f8edfc8b28dc.80df0486ad668881.d1cdc072963261ad
+    04609b8fbd6bd18c.b5391b36ddd49501.f08bd90b9760d500.66ca764ac2e641b0
+    cbe1a6c11f46e902
+VPMAXUW_128(mem)
+  before
+    deddcdc4ca5e13cf.4a24bc4e3dc98d3a.15aab7563d8ee64a.59b5371c69390708
+    7a8c6540de3b7c42.d39721f9511749b3.5126473839c7d8e5.15a71a23bf7d5c46
+    7bb8ec2077e8e088.fa05c4fe92e340a4.447a47c8ec8b27fc.81ae7f8d36b90e66
+    bc2fdd4fb271facc.1bb9a3c79eb8b0b9.ca7233f373e48fbb.fa1561c769785913
+    da2abb3cf5467bfa
+  after
+    deddcdc4ca5e13cf.4a24bc4e3dc98d3a.15aab7563d8ee64a.59b5371c69390708
+    7a8c6540de3b7c42.d39721f9511749b3.5126473839c7d8e5.15a71a23bf7d5c46
+    0000000000000000.0000000000000000.5126b7563d8ee64a.59b5371cbf7d5c46
+    bc2fdd4fb271facc.1bb9a3c79eb8b0b9.ca7233f373e48fbb.fa1561c769785913
+    da2abb3cf5467bfa
+
+VPMAXUW_128(reg)
+  before
+    7e378c5775b0aec7.1bbbb4bbabe3873b.9201b9c21123d29d.bed988a3e9e1cb4f
+    428acd8686412f25.7229ed4f7d494300.ba27025a86aee5fd.fe7dc1c56b8b98e4
+    826d7b34c38539c0.9f4405f744b0ea48.f1787bfb99e82384.64285a4614f0b1a5
+    9b2d93cdc8090a45.7dda779f1d22373f.92401e11e75ac9df.cea7cf10011bd4bf
+    16c69c114d18bb5e
+  after
+    0000000000000000.0000000000000000.f1787bfb99e8e5fd.fe7dc1c56b8bb1a5
+    428acd8686412f25.7229ed4f7d494300.ba27025a86aee5fd.fe7dc1c56b8b98e4
+    826d7b34c38539c0.9f4405f744b0ea48.f1787bfb99e82384.64285a4614f0b1a5
+    9b2d93cdc8090a45.7dda779f1d22373f.92401e11e75ac9df.cea7cf10011bd4bf
+    16c69c114d18bb5e
+VPMAXUW_128(mem)
+  before
+    1a513e3414f423ad.e71610bd3358dc60.e7b6bf3323aee710.f8cbe9080b9213b9
+    b414306573bac7d8.c373ee709dfeecbd.bba359a0735db6e8.8165d74ca21b3cc0
+    c2dbee908677650d.8b922a53a4887507.d36ec2d0283d5ff3.885ae5494782819d
+    1e71f4a16835b776.9bbdbed0e481b4ea.0ce374b15f599f5c.68f50d6b97521eff
+    7f834d1f2d174f8f
+  after
+    1a513e3414f423ad.e71610bd3358dc60.e7b6bf3323aee710.f8cbe9080b9213b9
+    b414306573bac7d8.c373ee709dfeecbd.bba359a0735db6e8.8165d74ca21b3cc0
+    0000000000000000.0000000000000000.e7b6bf33735de710.f8cbe908a21b3cc0
+    1e71f4a16835b776.9bbdbed0e481b4ea.0ce374b15f599f5c.68f50d6b97521eff
+    7f834d1f2d174f8f
+
+VPMAXUW_128(reg)
+  before
+    2750a0cfa65e4ffc.a6a3bf8435027a3f.4f41a855f875e513.43ceed2d33bd3250
+    bea802e99db25bf0.343dca250aea6995.036ae34c7cf1442e.52fba832c176d4fa
+    9ed770d8af9faf18.a50b917003f841a4.13846c230d800ce7.163522ab248f4087
+    2429e40777b2861f.d5d990523b38be97.dbdb3d4546af7ae9.6c4ad58379153322
+    2e043fa8db1369f8
+  after
+    0000000000000000.0000000000000000.1384e34c7cf1442e.52fba832c176d4fa
+    bea802e99db25bf0.343dca250aea6995.036ae34c7cf1442e.52fba832c176d4fa
+    9ed770d8af9faf18.a50b917003f841a4.13846c230d800ce7.163522ab248f4087
+    2429e40777b2861f.d5d990523b38be97.dbdb3d4546af7ae9.6c4ad58379153322
+    2e043fa8db1369f8
+VPMAXUW_128(mem)
+  before
+    3930db0567959d35.ade95ce492761db2.a17343b5ceb69c9b.b7ba541dc409cae0
+    699a258738a78d04.9365d3da9b77b07c.e3a42787d97f96db.026fac19221a3879
+    9b0e9a186a56f392.33e745552e427b2a.783ab7b2779f6984.1a4441a4fd6eff60
+    a957b5a51aae8b0a.eabcafc2e862b968.3cff6f24c520d1c2.5a860f2bf1925c40
+    1e81131898118bc6
+  after
+    3930db0567959d35.ade95ce492761db2.a17343b5ceb69c9b.b7ba541dc409cae0
+    699a258738a78d04.9365d3da9b77b07c.e3a42787d97f96db.026fac19221a3879
+    0000000000000000.0000000000000000.e3a443b5d97f9c9b.b7baac19c409cae0
+    a957b5a51aae8b0a.eabcafc2e862b968.3cff6f24c520d1c2.5a860f2bf1925c40
+    1e81131898118bc6
+
+VPEXTRW_128_EregOnly_toG_0x0(reg)
+  before
+    c18148d89078c79e.7043f21b64b91399.12300c8b6563a7e1.0bc0cbc8de1089c0
+    a1d2aad875524d73.cc9ccd646285456b.088e581d3fd28142.c149488adf7a4eab
+    19bf3582e22b59f2.992fc26e331dddab.28248fe5153a8336.3a666056e36bdcae
+    8495e644748f26c6.b3c84e23f18e9986.ce3cad4d8127e86a.52e2911806eeeff6
+    e58b56bd650f42af
+  after
+    c18148d89078c79e.7043f21b64b91399.12300c8b6563a7e1.0bc0cbc8de1089c0
+    a1d2aad875524d73.cc9ccd646285456b.088e581d3fd28142.c149488adf7a4eab
+    19bf3582e22b59f2.992fc26e331dddab.28248fe5153a8336.3a666056e36bdcae
+    8495e644748f26c6.b3c84e23f18e9986.ce3cad4d8127e86a.52e2911806eeeff6
+    00000000000089c0
+VPEXTRW_128_EregOnly_toG_0x0(mem)
+  before
+    cf2b2c2f1cdb9204.40a1b788c60bf29c.f633eb71b8e33327.5624afc31f26ed8a
+    ec8f8d5b465d9b22.a82da6bc742bf71f.3e3c1743a52868bb.1d268fb28cc2cd41
+    1883f72effa11934.1785ae4b1b7971fd.67ae4e85d36af46e.7d8f4c856387c63c
+    2fd3e59364b4c767.ebf7cca157839edf.4d560a235fb4926b.d3aadfaa41021226
+    7bc5458cc1beedac
+  after
+    cf2b2c2f1cdb9204.40a1b788c60bf29c.f633eb71b8e33327.5624afc31f26ed8a
+    ec8f8d5b465d9b22.a82da6bc742bf71f.3e3c1743a52868bb.1d268fb28cc2cd41
+    1883f72effa11934.1785ae4b1b7971fd.67ae4e85d36af46e.7d8f4c856387c63c
+    2fd3e59364b4c767.ebf7cca157839edf.4d560a235fb4926b.d3aadfaa41021226
+    7bc5458cc1beedac
+
+VPEXTRW_128_EregOnly_toG_0x0(reg)
+  before
+    d02b7b988048957a.0d4ad47591a162e7.7ecefa2ac3d4b873.cb01c9096412ffdf
+    30277c38192a443b.8eb63ec2a174a6df.2d553652fbf9fc65.bf790624ff91f7f5
+    f60644d928f2379c.8de1a165b03a4e7c.55d97b869c7da561.048b3d5e4b3c35da
+    7e14cfe74a2caa48.e898784adbfe17e9.50a6c53041ecf112.7602eaa4641f77b9
+    f0ac89e3674777c0
+  after
+    d02b7b988048957a.0d4ad47591a162e7.7ecefa2ac3d4b873.cb01c9096412ffdf
+    30277c38192a443b.8eb63ec2a174a6df.2d553652fbf9fc65.bf790624ff91f7f5
+    f60644d928f2379c.8de1a165b03a4e7c.55d97b869c7da561.048b3d5e4b3c35da
+    7e14cfe74a2caa48.e898784adbfe17e9.50a6c53041ecf112.7602eaa4641f77b9
+    000000000000ffdf
+VPEXTRW_128_EregOnly_toG_0x0(mem)
+  before
+    5053970670bff118.249d1acf1b63d8ec.7aa73f5d3dccbd53.7c0811bd87d31a25
+    71c58ff89a93a3f0.44ec20fc3623fe34.1fda728af3b1fce5.334b5a9a09bd5d45
+    2ecceda701d04772.3a4fddd938f858cb.b2fd8ebe18b88fcd.d2bb9c326436f51f
+    65352efec2819aca.61104dd4bb6f225e.11db0ee3c9ed3334.b5a3d3f033cb1f5e
+    3950fb42130717af
+  after
+    5053970670bff118.249d1acf1b63d8ec.7aa73f5d3dccbd53.7c0811bd87d31a25
+    71c58ff89a93a3f0.44ec20fc3623fe34.1fda728af3b1fce5.334b5a9a09bd5d45
+    2ecceda701d04772.3a4fddd938f858cb.b2fd8ebe18b88fcd.d2bb9c326436f51f
+    65352efec2819aca.61104dd4bb6f225e.11db0ee3c9ed3334.b5a3d3f033cb1f5e
+    3950fb42130717af
+
+VPEXTRW_128_EregOnly_toG_0x0(reg)
+  before
+    b80f11939f7619be.f1cccce9f9b25725.177d6c585e149798.16426ee6215da349
+    8f290f4f74a56036.ad5c4554c1703caf.b7e037d1bb71f426.9ffc2ab43d139d35
+    1aedf3e22d1f29c4.77b3142b36c60393.9c86a9ab6e1475b3.86d6be38381bdb27
+    b5a6b8b86771b013.299bb65b75c168fe.24babe52148855ed.a99ca75d2e821a49
+    e21a60113d5315c8
+  after
+    b80f11939f7619be.f1cccce9f9b25725.177d6c585e149798.16426ee6215da349
+    8f290f4f74a56036.ad5c4554c1703caf.b7e037d1bb71f426.9ffc2ab43d139d35
+    1aedf3e22d1f29c4.77b3142b36c60393.9c86a9ab6e1475b3.86d6be38381bdb27
+    b5a6b8b86771b013.299bb65b75c168fe.24babe52148855ed.a99ca75d2e821a49
+    000000000000a349
+VPEXTRW_128_EregOnly_toG_0x0(mem)
+  before
+    0f1b653f7e9b8acf.bc9f5b3ebd2530d0.a1e1a5ce996b291b.a9ca7232485ad17d
+    0a6d32d30f64338b.8b26d7decbc9e7a7.b9515f72bfd30018.8900c2b8a7152512
+    b1da44b90cbdcd27.7e8527052ee90e43.4eb75f310202aa1e.1eaaa94ecc458d55
+    de2f15de8faf13d0.f10949208110e451.3ddf21f97f06e25b.c6122362547744f5
+    db852c5eda35879c
+  after
+    0f1b653f7e9b8acf.bc9f5b3ebd2530d0.a1e1a5ce996b291b.a9ca7232485ad17d
+    0a6d32d30f64338b.8b26d7decbc9e7a7.b9515f72bfd30018.8900c2b8a7152512
+    b1da44b90cbdcd27.7e8527052ee90e43.4eb75f310202aa1e.1eaaa94ecc458d55
+    de2f15de8faf13d0.f10949208110e451.3ddf21f97f06e25b.c6122362547744f5
+    db852c5eda35879c
+
+VPEXTRW_128_EregOnly_toG_0x7(reg)
+  before
+    bb4ec0b0fb0e92f7.6e38232cb748c2b2.40fe399a61caa37c.609421b551ea66fb
+    c0bbdcc3528ba0b1.3ec1ea909e9396f8.c7b0f1de6aa38971.94a4dc5195baf02a
+    48177b037b3aee77.2895e4f7609d4bcf.e26a6f5a3728cfdc.b5d9cdb966833c13
+    adad99dc13a7b8f4.09828f4b1a709c62.ed7aae7964e4b468.a00070d9e05108e2
+    2fe5419d202e0ec5
+  after
+    bb4ec0b0fb0e92f7.6e38232cb748c2b2.40fe399a61caa37c.609421b551ea66fb
+    c0bbdcc3528ba0b1.3ec1ea909e9396f8.c7b0f1de6aa38971.94a4dc5195baf02a
+    48177b037b3aee77.2895e4f7609d4bcf.e26a6f5a3728cfdc.b5d9cdb966833c13
+    adad99dc13a7b8f4.09828f4b1a709c62.ed7aae7964e4b468.a00070d9e05108e2
+    00000000000040fe
+VPEXTRW_128_EregOnly_toG_0x7(mem)
+  before
+    3f54bcf142280be5.4cca32bab65c3ad5.bd52667ae71b46de.442aaaa78e6472c2
+    ac185ec1614abb71.81ba4209ffe7afc6.20d2e56fe4a7056f.42c7605050324695
+    52ffa2fa99a1d993.a9c9c6358ad45472.0ecf88162c229440.459dcae147dd6c8e
+    0dd3048607382278.1e43b9abf4ad6586.6312cb5bdc97b07e.a8f8e6c40eee1f58
+    c623af6641f39ca0
+  after
+    3f54bcf142280be5.4cca32bab65c3ad5.bd52667ae71b46de.442aaaa78e6472c2
+    ac185ec1614abb71.81ba4209ffe7afc6.20d2e56fe4a7056f.42c7605050324695
+    52ffa2fa99a1d993.a9c9c6358ad45472.0ecf88162c229440.459dcae147dd6c8e
+    0dd3048607382278.1e43b9abf4ad6586.6312cb5bdc97b07e.a8f8e6c40eee1f58
+    c623af6641f39ca0
+
+VPEXTRW_128_EregOnly_toG_0x7(reg)
+  before
+    fd6c21347e771f12.b9610053c71b524b.3d7317d5d9011dad.fb6a2b2a0f131555
+    a81d39995e07e459.3275134cf3562438.62a7dd21d459b994.b3a2236fe2a17ff0
+    2283f2007f2e2622.54dbb85caaf6566d.e92905f9814375e7.65852f16704da97b
+    c9ea47d77d782219.fb5f6b710507a214.2e468dcb7d4a8d51.ede0cc0cd5245023
+    297f743b2e313014
+  after
+    fd6c21347e771f12.b9610053c71b524b.3d7317d5d9011dad.fb6a2b2a0f131555
+    a81d39995e07e459.3275134cf3562438.62a7dd21d459b994.b3a2236fe2a17ff0
+    2283f2007f2e2622.54dbb85caaf6566d.e92905f9814375e7.65852f16704da97b
+    c9ea47d77d782219.fb5f6b710507a214.2e468dcb7d4a8d51.ede0cc0cd5245023
+    0000000000003d73
+VPEXTRW_128_EregOnly_toG_0x7(mem)
+  before
+    f42ea59097800579.f79e3789f37214e9.03cca8762393c459.8d4a700263fa3c7f
+    2ab9daf82b1e8a7f.0aebbb827da7373f.48f0eb571da87a6a.6281aa0ad0e0bf1c
+    a7ec8f5e06167c52.5c1cd12eb8a3c8c6.a695b10012527e70.0936384f5f8752d5
+    479241ae4574971d.4b7f73f940f2032b.f988755e1b9b8c9a.deb7153dad7b3156
+    3d4e3c405549974a
+  after
+    f42ea59097800579.f79e3789f37214e9.03cca8762393c459.8d4a700263fa3c7f
+    2ab9daf82b1e8a7f.0aebbb827da7373f.48f0eb571da87a6a.6281aa0ad0e0bf1c
+    a7ec8f5e06167c52.5c1cd12eb8a3c8c6.a695b10012527e70.0936384f5f8752d5
+    479241ae4574971d.4b7f73f940f2032b.f988755e1b9b8c9a.deb7153dad7b3156
+    3d4e3c405549974a
+
+VPEXTRW_128_EregOnly_toG_0x7(reg)
+  before
+    8248acc4f37cc15e.e6796bd40345960d.315e9f4faf212419.1d95b35b56916212
+    09f15e3624a1eb3d.5f6b89bc5d94364d.6c06519da4bc663d.ed87e7e5df40ba04
+    2e954f0084435094.903517526e6d330a.56c3834db94d0643.472c8ee6d1b2519d
+    4d807c90aeee2d0f.54a3918253dd4970.4ce133cd8a6240d6.064e234c49f5e309
+    05bb220162152b73
+  after
+    8248acc4f37cc15e.e6796bd40345960d.315e9f4faf212419.1d95b35b56916212
+    09f15e3624a1eb3d.5f6b89bc5d94364d.6c06519da4bc663d.ed87e7e5df40ba04
+    2e954f0084435094.903517526e6d330a.56c3834db94d0643.472c8ee6d1b2519d
+    4d807c90aeee2d0f.54a3918253dd4970.4ce133cd8a6240d6.064e234c49f5e309
+    000000000000315e
+VPEXTRW_128_EregOnly_toG_0x7(mem)
+  before
+    223d07f3381ce608.c1fde0513e2ebe59.8680743827ef33aa.aaab5c87b4874fa3
+    38a14e0de819d0f4.e85a78aed1903e1f.049a3a6107afaee4.cd6ffae9d2467056
+    22b3743b8d15a562.1de13e15039feb0c.a8bb61e70e2a754c.0f77095e812ddf9a
+    be3ef469441e207f.bbdf30f16fe8ffcd.50b065b8596b460c.cd1086525cc8d81b
+    63866b31ffa19686
+  after
+    223d07f3381ce608.c1fde0513e2ebe59.8680743827ef33aa.aaab5c87b4874fa3
+    38a14e0de819d0f4.e85a78aed1903e1f.049a3a6107afaee4.cd6ffae9d2467056
+    22b3743b8d15a562.1de13e15039feb0c.a8bb61e70e2a754c.0f77095e812ddf9a
+    be3ef469441e207f.bbdf30f16fe8ffcd.50b065b8596b460c.cd1086525cc8d81b
+    63866b31ffa19686
+
+VPMINUW_128(reg)
+  before
+    2d25b66707475687.e6104a84293ffe76.20a048aeb1f6b60d.d745c0be037edb50
+    87396360104354ca.78f3f2765784fb74.a77085b866554e79.1846f0e72970f145
+    cd0d6c88b523ccfa.4eb4682ceafad2a4.ab9ae07c299201bd.f07f701ee64c4317
+    5cefcf4c9372f9c3.451f2993ffac4033.8a6c566497380c84.3cbcbc4f561f8ff1
+    d6c8506696f48f00
+  after
+    0000000000000000.0000000000000000.a77085b8299201bd.1846701e29704317
+    87396360104354ca.78f3f2765784fb74.a77085b866554e79.1846f0e72970f145
+    cd0d6c88b523ccfa.4eb4682ceafad2a4.ab9ae07c299201bd.f07f701ee64c4317
+    5cefcf4c9372f9c3.451f2993ffac4033.8a6c566497380c84.3cbcbc4f561f8ff1
+    d6c8506696f48f00
+VPMINUW_128(mem)
+  before
+    9c70a94fc2d7006f.8e29871644bc18d2.3a00b095b1a7014d.9e30e4dd4bd3aa7b
+    688141f6f5d49d6c.bf089054678e64d3.072379201cf5d11d.45338554e2ef194e
+    17c496474bf82320.4dd8e67196731b72.8a53011f5ea56bd0.d9c13534f71993a8
+    8608242fe14e4eb9.93e485d86df8775a.9d5ec27e90c08c91.b826f1e827dd5436
+    3cadb3de0dc59aa3
+  after
+    9c70a94fc2d7006f.8e29871644bc18d2.3a00b095b1a7014d.9e30e4dd4bd3aa7b
+    688141f6f5d49d6c.bf089054678e64d3.072379201cf5d11d.45338554e2ef194e
+    0000000000000000.0000000000000000.072379201cf5014d.453385544bd3194e
+    8608242fe14e4eb9.93e485d86df8775a.9d5ec27e90c08c91.b826f1e827dd5436
+    3cadb3de0dc59aa3
+
+VPMINUW_128(reg)
+  before
+    c2a47981455f9f9c.8f186598d2e3da63.ed7a6af789a7b537.1d0e3a29d054f08e
+    a7553e3d6c37a0cc.0fbfd7703bc2824a.b7e49039850f10b6.e630e40c3a6c52f0
+    450dff7e1ed7d8e0.e2cbf4a237f70399.4d70f30afeb9c583.d4903c13e91570e5
+    f918b6b0f6cd8584.e4063b19e38e197c.0b6890d68f331049.c4fabf2af95a0499
+    9039e73d8747ca38
+  after
+    0000000000000000.0000000000000000.4d709039850f10b6.d4903c133a6c52f0
+    a7553e3d6c37a0cc.0fbfd7703bc2824a.b7e49039850f10b6.e630e40c3a6c52f0
+    450dff7e1ed7d8e0.e2cbf4a237f70399.4d70f30afeb9c583.d4903c13e91570e5
+    f918b6b0f6cd8584.e4063b19e38e197c.0b6890d68f331049.c4fabf2af95a0499
+    9039e73d8747ca38
+VPMINUW_128(mem)
+  before
+    151b3239afe880ed.1fc2614090a5e163.f13d25c35a947f21.4c196109d5082db5
+    2f6a1b088c4ae0e4.1457fb9889e9292a.e63c2f8bb915f2b1.6ecf64106bc55773
+    baf31f983a79a64a.322380257d279884.9dcfd65d1b1b2e5b.ccd59455eef4cc2e
+    9282b8d4d67f904b.d671ec5407eb6b1e.f3c195269db4ef49.c179ed46f924c593
+    ab056c4d29de814d
+  after
+    151b3239afe880ed.1fc2614090a5e163.f13d25c35a947f21.4c196109d5082db5
+    2f6a1b088c4ae0e4.1457fb9889e9292a.e63c2f8bb915f2b1.6ecf64106bc55773
+    0000000000000000.0000000000000000.e63c25c35a947f21.4c1961096bc52db5
+    9282b8d4d67f904b.d671ec5407eb6b1e.f3c195269db4ef49.c179ed46f924c593
+    ab056c4d29de814d
+
+VPMINUW_128(reg)
+  before
+    e5c60cd819b03a09.93e364a77b6a5813.5c8e3c90c3c0dea4.c4e0e8d05aebf0a7
+    ca08c95265252d72.99e29eff4645bbcd.20c66b444e322dc1.ecf64c486ecdeea2
+    b8179f27aaca9635.804ae2c7521d75a5.7e6575de43cd9322.46d03b7bf665a566
+    093f8ac3842ab0fe.24e9adebbcfd41c8.d2b756c93f1e4d72.b03a33530ebfd11f
+    0500afbed1e82df8
+  after
+    0000000000000000.0000000000000000.20c66b4443cd2dc1.46d03b7b6ecda566
+    ca08c95265252d72.99e29eff4645bbcd.20c66b444e322dc1.ecf64c486ecdeea2
+    b8179f27aaca9635.804ae2c7521d75a5.7e6575de43cd9322.46d03b7bf665a566
+    093f8ac3842ab0fe.24e9adebbcfd41c8.d2b756c93f1e4d72.b03a33530ebfd11f
+    0500afbed1e82df8
+VPMINUW_128(mem)
+  before
+    21ed2ba65beb761d.1bcb87928ed1b878.608979589ff1dc62.78080a71ddb0975e
+    e0cf24f9c9d468bb.48099000644cea50.12f7c4f81806029e.cca38e42ba0fac92
+    1e7014a236b0befe.ed43a379a3268232.15ff09b842476ea9.2ad5dda871c8cab9
+    b69d798dbf8a3511.67c6bc6ae6ebbbc9.456cc5853ac0deaf.eeebf3109e662b80
+    742fcde4de760b92
+  after
+    21ed2ba65beb761d.1bcb87928ed1b878.608979589ff1dc62.78080a71ddb0975e
+    e0cf24f9c9d468bb.48099000644cea50.12f7c4f81806029e.cca38e42ba0fac92
+    0000000000000000.0000000000000000.12f779581806029e.78080a71ba0f975e
+    b69d798dbf8a3511.67c6bc6ae6ebbbc9.456cc5853ac0deaf.eeebf3109e662b80
+    742fcde4de760b92
+
+VPHMINPOSUW_128(reg)
+  before
+    18ed6592cd83a89c.8622cfa6806e8921.10ded53dca28d2c1.7e0c72491b7e0cdb
+    3573b98406193c4a.69cb90d99369755a.45d7ec60ea6803c8.9ba98ef2018cb45a
+    290cc42825c40447.3a6439131786b7e7.63fcfc3de3378988.7a11946b09f69457
+    4f0382e9c7113b40.d7b8473e25d109f5.c49b01425022a2ad.f60e009f4fc966ff
+    ea6d4e7cee10e77d
+  after
+    18ed6592cd83a89c.8622cfa6806e8921.10ded53dca28d2c1.7e0c72491b7e0cdb
+    0000000000000000.0000000000000000.0000000000000000.00000000000109f6
+    290cc42825c40447.3a6439131786b7e7.63fcfc3de3378988.7a11946b09f69457
+    4f0382e9c7113b40.d7b8473e25d109f5.c49b01425022a2ad.f60e009f4fc966ff
+    ea6d4e7cee10e77d
+VPHMINPOSUW_128(mem)
+  before
+    34fafbed02d8d2ff.03a5f033888b1ee0.1b953548dc5727af.c5fef7daceb488e4
+    ae8082dea82be5ae.a03e087203bfe9d4.e1c57f1b5523cf42.c272db71f87977d9
+    36cd5f3cfb17dab9.841ac812d438d8c7.0715a2a5ae42bbd9.1843a8736bfead37
+    a6ab0ef118a86d49.09852b7f98822666.675119d103bea8a1.21bd5a4cc2ce64ab
+    3a2ced689975d8e0
+  after
+    34fafbed02d8d2ff.03a5f033888b1ee0.1b953548dc5727af.c5fef7daceb488e4
+    ae8082dea82be5ae.a03e087203bfe9d4.e1c57f1b5523cf42.c272db71f87977d9
+    0000000000000000.0000000000000000.0000000000000000.0000000000071b95
+    a6ab0ef118a86d49.09852b7f98822666.675119d103bea8a1.21bd5a4cc2ce64ab
+    3a2ced689975d8e0
+
+VPHMINPOSUW_128(reg)
+  before
+    bfdb5d338d804783.dce70cea1ae95c8d.8dca2e25ea2a115d.df455f8a6fa651c6
+    0c17a71a3a7aeb40.b24dd3141ee661af.6b37cb7067bad257.49bcf3be0e037473
+    7d2dc6873bf001c2.05a9e1593fab39dc.fe1600cdaac1a801.82844e58fde3cbd5
+    6e67b6e82c6cc5b6.b2c7b2a79a459f3f.a4b4c8a650c8cd07.6767ed4458511218
+    d2324d6f3a590767
+  after
+    bfdb5d338d804783.dce70cea1ae95c8d.8dca2e25ea2a115d.df455f8a6fa651c6
+    0000000000000000.0000000000000000.0000000000000000.00000000000600cd
+    7d2dc6873bf001c2.05a9e1593fab39dc.fe1600cdaac1a801.82844e58fde3cbd5
+    6e67b6e82c6cc5b6.b2c7b2a79a459f3f.a4b4c8a650c8cd07.6767ed4458511218
+    d2324d6f3a590767
+VPHMINPOSUW_128(mem)
+  before
+    a0b1e9c3bf0864ee.3b1273a7aa7d72c7.9372c0e94abf5105.b75d1f69f45d7e14
+    aeb03d2d0469e6db.4079fa3251ac45a2.8578890b6c260959.945d0181330cf7d5
+    d6fac69a24894957.d8ea45f4bb877af3.65a387f91b858368.98006b59a85f74f5
+    f55dfef53c734891.61af525987994c65.0dc0389f74e87d5e.1d91585fefe43021
+    805dc4fea5276804
+  after
+    a0b1e9c3bf0864ee.3b1273a7aa7d72c7.9372c0e94abf5105.b75d1f69f45d7e14
+    aeb03d2d0469e6db.4079fa3251ac45a2.8578890b6c260959.945d0181330cf7d5
+    0000000000000000.0000000000000000.0000000000000000.0000000000021f69
+    f55dfef53c734891.61af525987994c65.0dc0389f74e87d5e.1d91585fefe43021
+    805dc4fea5276804
+
+VPHMINPOSUW_128(reg)
+  before
+    1eb1aba266b2574b.e7a363296733a0b3.36151ccd4f6ef9a4.5a9b18e9925bb166
+    51d70ab8cd133aa2.889a7024c2d60dea.b369a0bcaf93bb5e.2800a1c391ebdcad
+    761cdbaa76d64eb4.b40ca2d168664a61.34f5d8924493ce3d.53ba51198ea3ba5e
+    e9cb1ce5fe85cc2e.48c5731c76f21445.1405c2bca9fb70ed.b797a3d8a59006a6
+    306113eaf0bd7db1
+  after
+    1eb1aba266b2574b.e7a363296733a0b3.36151ccd4f6ef9a4.5a9b18e9925bb166
+    0000000000000000.0000000000000000.0000000000000000.00000000000734f5
+    761cdbaa76d64eb4.b40ca2d168664a61.34f5d8924493ce3d.53ba51198ea3ba5e
+    e9cb1ce5fe85cc2e.48c5731c76f21445.1405c2bca9fb70ed.b797a3d8a59006a6
+    306113eaf0bd7db1
+VPHMINPOSUW_128(mem)
+  before
+    9ae51d3d8e36dbaa.0732c9d601aef3bb.1e9361f1078327c1.b1e759a47a56db1b
+    d1ef3ebc9908dbbe.2a9bdce719ddfd08.1341e73c38273f02.66e59ab854304c73
+    b14bf0532d3e3b18.af535386e59c27c1.039a81e924e91734.8e4d7f62d316fea0
+    16c5b1ed67e4b5e5.f2a7281eff7aac91.ca6babe5e7d66c82.8769061092932e4f
+    ab862a2d2e33182c
+  after
+    9ae51d3d8e36dbaa.0732c9d601aef3bb.1e9361f1078327c1.b1e759a47a56db1b
+    d1ef3ebc9908dbbe.2a9bdce719ddfd08.1341e73c38273f02.66e59ab854304c73
+    0000000000000000.0000000000000000.0000000000000000.0000000000050783
+    16c5b1ed67e4b5e5.f2a7281eff7aac91.ca6babe5e7d66c82.8769061092932e4f
+    ab862a2d2e33182c
+
+VPMAXSW_128(reg)
+  before
+    58f0e7254282f8e2.dc28fd7862070551.4fe0591a0300ca25.4380e21a9ff9fa18
+    e8f239646a0d0a1e.df424edf3bb2e987.224de2e88ebcbb28.4ca5a176655e7d24
+    b9da1d564360898b.fbdd220f0df11bb4.c739bdf33b39bc47.c0a664e35712b0d0
+    25f28e676805b2d6.0cc6f4f2f5d15703.9aefe8a8a603082e.7b4fa74f90205048
+    596be7a52d9419b9
+  after
+    0000000000000000.0000000000000000.224de2e83b39bc47.4ca564e3655e7d24
+    e8f239646a0d0a1e.df424edf3bb2e987.224de2e88ebcbb28.4ca5a176655e7d24
+    b9da1d564360898b.fbdd220f0df11bb4.c739bdf33b39bc47.c0a664e35712b0d0
+    25f28e676805b2d6.0cc6f4f2f5d15703.9aefe8a8a603082e.7b4fa74f90205048
+    596be7a52d9419b9
+VPMAXSW_128(mem)
+  before
+    36c89ed14a7bc64f.8a888803768ac0aa.eec940750e5d5ba1.f7bd5e716da7dc88
+    ed304abf01e01436.42e60796097af0b4.7cb1828574a1e1ba.3aed1bbb29b07402
+    5c70665b71cfbf99.aa59078dbb627fa0.944c370c44aaa679.bfcc1bf278ab0c47
+    5e546f91b45582a4.1f2c85522bcda619.1164d9f89a83660a.e1a65b83f622df04
+    fec6d6d93ea42be5
+  after
+    36c89ed14a7bc64f.8a888803768ac0aa.eec940750e5d5ba1.f7bd5e716da7dc88
+    ed304abf01e01436.42e60796097af0b4.7cb1828574a1e1ba.3aed1bbb29b07402
+    0000000000000000.0000000000000000.7cb1407574a15ba1.3aed5e716da77402
+    5e546f91b45582a4.1f2c85522bcda619.1164d9f89a83660a.e1a65b83f622df04
+    fec6d6d93ea42be5
+
+VPMAXSW_128(reg)
+  before
+    717a885fecba2995.cea7df4de67d1b84.fbad7c53f347a4cc.cec7e6349138dc9b
+    960c6d839df218c1.8a37347c24544465.9b26e8fbaf5db364.a93fd9ab45d6c556
+    c8c981b0edd73214.6dcee90889e4b972.5ce5c5b6fb9a108e.7d992f4bd368dd67
+    65fdc15277f6b43b.52397adf313b38d8.983410ef758bf6f6.25a162ff57fae0fb
+    7f22f0b4ec99893e
+  after
+    0000000000000000.0000000000000000.5ce5e8fbfb9a108e.7d992f4b45d6dd67
+    960c6d839df218c1.8a37347c24544465.9b26e8fbaf5db364.a93fd9ab45d6c556
+    c8c981b0edd73214.6dcee90889e4b972.5ce5c5b6fb9a108e.7d992f4bd368dd67
+    65fdc15277f6b43b.52397adf313b38d8.983410ef758bf6f6.25a162ff57fae0fb
+    7f22f0b4ec99893e
+VPMAXSW_128(mem)
+  before
+    65ea5454ae50955b.c8f428d5d7dadae1.174464eb39657bc3.ac60c414b6baa347
+    b5c30bccba2cc07f.4cfab2a5aa0fdfb3.96bb211abd6d3f5e.f4b5dd915cb5512e
+    497a8f082b37c5d6.4f5b5b2e8b21005d.ad6a2f57d85f3fd5.cc7e57d003083d57
+    ffdb5ef51e7f618b.2b6220dd179d798a.361d098ea7473956.90092e3e463da26d
+    9ca05f47c1e3bd1c
+  after
+    65ea5454ae50955b.c8f428d5d7dadae1.174464eb39657bc3.ac60c414b6baa347
+    b5c30bccba2cc07f.4cfab2a5aa0fdfb3.96bb211abd6d3f5e.f4b5dd915cb5512e
+    0000000000000000.0000000000000000.174464eb39657bc3.f4b5dd915cb5512e
+    ffdb5ef51e7f618b.2b6220dd179d798a.361d098ea7473956.90092e3e463da26d
+    9ca05f47c1e3bd1c
+
+VPMAXSW_128(reg)
+  before
+    4c90e5581183ca11.b1b2f37eae1050ca.3e5cfb1ce90f86e7.0e9f2cab4532e70a
+    fc25bcdcd2ab05f8.3ccbca8ef8f54ec1.e296ea599e016220.12bd129ace2b0520
+    08abe03e9fe6a97c.7df15f13173a1699.7559e9fed1014ae0.1c4439475f3f51c2
+    cc6e4eec14c0f34a.4ef22ff828eb6581.51f4f2791f9a7ad4.09fe1c9f1378851d
+    b6b7378c07e55e5c
+  after
+    0000000000000000.0000000000000000.7559ea59d1016220.1c4439475f3f51c2
+    fc25bcdcd2ab05f8.3ccbca8ef8f54ec1.e296ea599e016220.12bd129ace2b0520
+    08abe03e9fe6a97c.7df15f13173a1699.7559e9fed1014ae0.1c4439475f3f51c2
+    cc6e4eec14c0f34a.4ef22ff828eb6581.51f4f2791f9a7ad4.09fe1c9f1378851d
+    b6b7378c07e55e5c
+VPMAXSW_128(mem)
+  before
+    fd3d07fc578f98ac.a4ba0051cec61f0e.8c98b5294615f7a3.d4b2033523592da7
+    bb5b06d91d84ee38.ecdaf4d968836973.13b06d928dc3872c.58de169e79c9a006
+    ccdcb21178cf1d2d.ff1b26f07f840c26.c006d31f1a02d347.3ac62a20be760f9c
+    0c8d868f817de1b7.3bc99002ae5445d2.6d6663bc09dd9521.d7b438278eedb616
+    89f53d1f84b9d020
+  after
+    fd3d07fc578f98ac.a4ba0051cec61f0e.8c98b5294615f7a3.d4b2033523592da7
+    bb5b06d91d84ee38.ecdaf4d968836973.13b06d928dc3872c.58de169e79c9a006
+    0000000000000000.0000000000000000.13b06d924615f7a3.58de169e79c92da7
+    0c8d868f817de1b7.3bc99002ae5445d2.6d6663bc09dd9521.d7b438278eedb616
+    89f53d1f84b9d020
+
+VPMINSW_128(reg)
+  before
+    add536743c669a65.583aff3e5799f501.fb30307b927f5024.f79b9a56756089e5
+    9fa01e9353815092.8aaf970c132f1638.9b9c00c7c69168c8.3a73f3d77a986cc0
+    bba1f1e665952d52.7fb8cce5d34b0087.7659fe53e717ca69.12b8ea2c3590fbde
+    5e26acdb0c2f6f52.132019b3b3fa6f1b.eab22689909cb2b4.5b37fb42c254ef6a
+    f1bca3043bf00791
+  after
+    0000000000000000.0000000000000000.9b9cfe53c691ca69.12b8ea2c3590fbde
+    9fa01e9353815092.8aaf970c132f1638.9b9c00c7c69168c8.3a73f3d77a986cc0
+    bba1f1e665952d52.7fb8cce5d34b0087.7659fe53e717ca69.12b8ea2c3590fbde
+    5e26acdb0c2f6f52.132019b3b3fa6f1b.eab22689909cb2b4.5b37fb42c254ef6a
+    f1bca3043bf00791
+VPMINSW_128(mem)
+  before
+    b0135d5ebf71fd7e.e27949dce7d9503e.22b5fa63ce481e20.52f572d75dad5b54
+    7408a53b68e38e5e.a4e7c65790210cc1.8841ebe1413fcac1.096ce0a8ecd503f6
+    1966f7895250765d.00bc1eb7a393e188.2191691a27ed2f2b.6d646b68d6a0e445
+    7bfbcf3499c670a6.52444d68bdba093e.c871eff89c5d0989.d8290f82b99b3aee
+    a806c8643151439d
+  after
+    b0135d5ebf71fd7e.e27949dce7d9503e.22b5fa63ce481e20.52f572d75dad5b54
+    7408a53b68e38e5e.a4e7c65790210cc1.8841ebe1413fcac1.096ce0a8ecd503f6
+    0000000000000000.0000000000000000.8841ebe1ce48cac1.096ce0a8ecd503f6
+    7bfbcf3499c670a6.52444d68bdba093e.c871eff89c5d0989.d8290f82b99b3aee
+    a806c8643151439d
+
+VPMINSW_128(reg)
+  before
+    37499379d84e39fd.7691aa265b513965.f6ca50d67922c090.5badf969bd9c1308
+    e33c6b2e4d1f59bb.e5f5034cb1fb8dc8.489c216d7357442a.b5100358a6b50ad4
+    062c4ced2a4fde83.a6f35692b9d227f9.a404be9949e6cfb7.b26889b071b4aa18
+    fd6532230b6a0600.94561fe58fe2c524.664f22c6945a9ee4.2e7f085f3da6ae00
+    0422fb502496d3ba
+  after
+    0000000000000000.0000000000000000.a404be9949e6cfb7.b26889b0a6b5aa18
+    e33c6b2e4d1f59bb.e5f5034cb1fb8dc8.489c216d7357442a.b5100358a6b50ad4
+    062c4ced2a4fde83.a6f35692b9d227f9.a404be9949e6cfb7.b26889b071b4aa18
+    fd6532230b6a0600.94561fe58fe2c524.664f22c6945a9ee4.2e7f085f3da6ae00
+    0422fb502496d3ba
+VPMINSW_128(mem)
+  before
+    121dde6f4291d570.2533193d8dfd0bde.8becdb2f4e352176.e9c94a61f240ed5c
+    333c2ea9b4a16f4e.d8e2fea54b9329cb.667f055e13d9f71b.8bbe30d4ff22f7cc
+    424b65e895d45f81.73bedcc9e2b89e70.03dd195df9da053e.a77ad28d568ff9e0
+    1d15011902365f35.5312af14edf9a47c.3dd093181c42050c.99482bf793102f43
+    bc75377d5333d5a1
+  after
+    121dde6f4291d570.2533193d8dfd0bde.8becdb2f4e352176.e9c94a61f240ed5c
+    333c2ea9b4a16f4e.d8e2fea54b9329cb.667f055e13d9f71b.8bbe30d4ff22f7cc
+    0000000000000000.0000000000000000.8becdb2f13d9f71b.8bbe30d4f240ed5c
+    1d15011902365f35.5312af14edf9a47c.3dd093181c42050c.99482bf793102f43
+    bc75377d5333d5a1
+
+VPMINSW_128(reg)
+  before
+    6e4ef38d328326a8.9f687d2916d12b95.d22b73f109e17899.ef25ef7a991fb4b1
+    0a1d5992cb8d5f02.a30e5502eeb381ce.4d5625ced1fc5674.f7a8aa728c7dcd58
+    eb2f67f8badcbc5b.07d40692a5e81b0c.20ddc016e2d779b8.2f243fe90f670e2e
+    6fcf182b9cfc7860.a5860ac4577bb67a.a70c4035d7fd1e12.75672acc41e9315e
+    a33be7073c0ff215
+  after
+    0000000000000000.0000000000000000.20ddc016d1fc5674.f7a8aa728c7dcd58
+    0a1d5992cb8d5f02.a30e5502eeb381ce.4d5625ced1fc5674.f7a8aa728c7dcd58
+    eb2f67f8badcbc5b.07d40692a5e81b0c.20ddc016e2d779b8.2f243fe90f670e2e
+    6fcf182b9cfc7860.a5860ac4577bb67a.a70c4035d7fd1e12.75672acc41e9315e
+    a33be7073c0ff215
+VPMINSW_128(mem)
+  before
+    976df2871ce60f7e.f14b69980c79d0bd.5bf0df8421780d45.3e31a1984cfa812d
+    2bc9c836fe7942c6.cced54a9a7e0001d.03dd00be1febde98.4197dfa9de5bddb6
+    3d1be402fdd54819.5e03d7cb08bd442d.7a1bea5e6ce1e3a0.0c89f7d529ab7059
+    a72fc2d53604dca2.01d7ed6bcc9ad799.9d7417502465d888.fb54e489c87673c1
+    6a44a22f5749259b
+  after
+    976df2871ce60f7e.f14b69980c79d0bd.5bf0df8421780d45.3e31a1984cfa812d
+    2bc9c836fe7942c6.cced54a9a7e0001d.03dd00be1febde98.4197dfa9de5bddb6
+    0000000000000000.0000000000000000.03dddf841febde98.3e31a198de5b812d
+    a72fc2d53604dca2.01d7ed6bcc9ad799.9d7417502465d888.fb54e489c87673c1
+    6a44a22f5749259b
+
+VPMAXUB_128(reg)
+  before
+    b5a52d3573afc092.46d0df9dc415bc8e.13b692f48e05f60c.46b5058064847b7d
+    38c38206b7358253.f6ccb545c311a209.eeecc3d1ea89dd32.52aa2fda484986ab
+    4fe99c0ec066a489.94edc2b950064a3e.efc47a707eb3c7b9.9e1f114beac0b63d
+    566576b92ace65e2.fa0081e587ff7259.738cb53ce30ef14b.04e028bd69f5c760
+    61b8ee1edff5743f
+  after
+    0000000000000000.0000000000000000.efecc3d1eab3ddb9.9eaa2fdaeac0b6ab
+    38c38206b7358253.f6ccb545c311a209.eeecc3d1ea89dd32.52aa2fda484986ab
+    4fe99c0ec066a489.94edc2b950064a3e.efc47a707eb3c7b9.9e1f114beac0b63d
+    566576b92ace65e2.fa0081e587ff7259.738cb53ce30ef14b.04e028bd69f5c760
+    61b8ee1edff5743f
+VPMAXUB_128(mem)
+  before
+    9174e15868cb7a07.a9810f738ff9ff07.05d16eb58309d488.d48e6fa1b7269794
+    70e17c59218495e4.a48a60a88e74afa7.912c0615612f2df4.6f17a40b9688f541
+    dbc93b0c252b8001.a2cc67c4c0cab16c.7adcc3f23b7d39cc.a17351e61bbf46fe
+    acf89b5d90ccf88b.01931e33c4884002.9daf233630ffb33a.c4ee719fe257c776
+    35d400a088ddb456
+  after
+    9174e15868cb7a07.a9810f738ff9ff07.05d16eb58309d488.d48e6fa1b7269794
+    70e17c59218495e4.a48a60a88e74afa7.912c0615612f2df4.6f17a40b9688f541
+    0000000000000000.0000000000000000.91d16eb5832fd4f4.d48ea4a1b788f594
+    acf89b5d90ccf88b.01931e33c4884002.9daf233630ffb33a.c4ee719fe257c776
+    35d400a088ddb456
+
+VPMAXUB_128(reg)
+  before
+    5070fa56a8dc4849.c03c17388074b9ad.1c2b846233399916.d46fa2cf5ac2586a
+    71105b2edfe0c0fc.f3602b890e2d7f94.4edf92bbab69f854.fce9baa7d5d1e48a
+    f4fe2093c976581b.212f533d5806056c.f5fc45acc8a49967.f1e9e8acbe3912c3
+    368744f000294c51.26760b3e7a080860.6cce9aa02577b7fc.8f3ba9c93005a044
+    b2ab78ea48414737
+  after
+    0000000000000000.0000000000000000.f5fc92bbc8a4f867.fce9e8acd5d1e4c3
+    71105b2edfe0c0fc.f3602b890e2d7f94.4edf92bbab69f854.fce9baa7d5d1e48a
+    f4fe2093c976581b.212f533d5806056c.f5fc45acc8a49967.f1e9e8acbe3912c3
+    368744f000294c51.26760b3e7a080860.6cce9aa02577b7fc.8f3ba9c93005a044
+    b2ab78ea48414737
+VPMAXUB_128(mem)
+  before
+    3504d1fb21fac6c8.91f7c3b32386d74b.de02d0798f41449d.0ea18c025f6e8fbf
+    f61431e8d83bd824.629a9947cb1736b4.249c1ddbb3bd754e.39c1174011135d5b
+    d0a5129d88103877.05bbc218976ba539.d6136e4e038656a0.477a37c5d7f45c7d
+    9f84f2064e86a2ed.d6a83b92200b6086.cf323fc09baaa4bf.9618e9fd4e9cc9d0
+    80e628541198e001
+  after
+    3504d1fb21fac6c8.91f7c3b32386d74b.de02d0798f41449d.0ea18c025f6e8fbf
+    f61431e8d83bd824.629a9947cb1736b4.249c1ddbb3bd754e.39c1174011135d5b
+    0000000000000000.0000000000000000.de9cd0dbb3bd759d.39c18c405f6e8fbf
+    9f84f2064e86a2ed.d6a83b92200b6086.cf323fc09baaa4bf.9618e9fd4e9cc9d0
+    80e628541198e001
+
+VPMAXUB_128(reg)
+  before
+    6231f037bd73ddbb.3f7d4c0f45a8d4b0.30abff210485a246.ebc40c1c96351bd6
+    99453d10eeb9fbab.8b5b9da58a8288ef.71110a32df64a826.0697524e10317612
+    7f6e0c4d3ef7777d.61ec5fb238217bd4.f426582f4c34aed1.fb758c4226ac729e
+    71f857584cb88ddc.9cfa10246b90698c.1536e686e882eff4.a82b36e4f3b2cba7
+    e885cc20944d3c58
+  after
+    0000000000000000.0000000000000000.f4265832df64aed1.fb978c4e26ac769e
+    99453d10eeb9fbab.8b5b9da58a8288ef.71110a32df64a826.0697524e10317612
+    7f6e0c4d3ef7777d.61ec5fb238217bd4.f426582f4c34aed1.fb758c4226ac729e
+    71f857584cb88ddc.9cfa10246b90698c.1536e686e882eff4.a82b36e4f3b2cba7
+    e885cc20944d3c58
+VPMAXUB_128(mem)
+  before
+    974ecbe2248b83df.cc2f1c9fb1887875.18532be640db0d42.308dafa14ed9a83b
+    9054ae17c0785a65.ea5e568c0cf475f3.b0c12ce4d30f2423.a176afee1ac61551
+    b161f1a9831f7d19.28d2028df687c003.4211900a3f376a5b.c33fe2d8e9d471e2
+    d44210868a8caa24.e2d71a0d0dcd9551.a80fd144a0609b15.f43244cb578ffa9c
+    8f9cd233fe84ea29
+  after
+    974ecbe2248b83df.cc2f1c9fb1887875.18532be640db0d42.308dafa14ed9a83b
+    9054ae17c0785a65.ea5e568c0cf475f3.b0c12ce4d30f2423.a176afee1ac61551
+    0000000000000000.0000000000000000.b0c12ce6d3db2442.a18dafee4ed9a851
+    d44210868a8caa24.e2d71a0d0dcd9551.a80fd144a0609b15.f43244cb578ffa9c
+    8f9cd233fe84ea29
+
+VPEXTRB_GtoE_128_0x0(reg)
+  before
+    efc9877c7d3d7d35.d7c48899f0cb9bb5.74b99c78ed532f88.c0866d7e1394727d
+    72055f126e49f16d.94b0d3cdd1e90df6.3bc4833a31a4cb55.6444dfa4b3e1acc1
+    729b56616d31807d.e9d56f104af1bb14.9144cbbf764da563.7213a3a29d53050b
+    4dd969d517836710.b0fed74d77ef633a.d384707457d8f95f.c4c03665edf53887
+    381713d7bdd30262
+  after
+    efc9877c7d3d7d35.d7c48899f0cb9bb5.74b99c78ed532f88.c0866d7e1394727d
+    72055f126e49f16d.94b0d3cdd1e90df6.3bc4833a31a4cb55.6444dfa4b3e1acc1
+    729b56616d31807d.e9d56f104af1bb14.9144cbbf764da563.7213a3a29d53050b
+    4dd969d517836710.b0fed74d77ef633a.d384707457d8f95f.c4c03665edf53887
+    00000000000000c1
+VPEXTRB_GtoE_128_0x0(mem)
+  before
+    a8e4b6e62cf91fc8.5d0993db07cae1d3.c7f6887073f0bf95.5dd26fc370d302f5
+    f1f39b7c53744be4.0078d0ddda932c72.088afc655aff8b50.8b78c31a5ecafdd0
+    f00f3e87504f41e3.90721c492b698298.5087b11849298598.b9c368e3bd48259d
+    7f061cf23f97bef0.6b43738a96d81ff1.7cb722765c796799.43ff5a8c28d9b807
+    857896803b09f0bb
+  after
+    a8e4b6e62cf91fc8.5d0993db07cae1d3.c7f6887073f0bf95.5dd26fc370d302d0
+    f1f39b7c53744be4.0078d0ddda932c72.088afc655aff8b50.8b78c31a5ecafdd0
+    f00f3e87504f41e3.90721c492b698298.5087b11849298598.b9c368e3bd48259d
+    7f061cf23f97bef0.6b43738a96d81ff1.7cb722765c796799.43ff5a8c28d9b807
+    857896803b09f0bb
+
+VPEXTRB_GtoE_128_0x0(reg)
+  before
+    da79172a93650a65.7ba2afa93b577e38.eb36d20bb96d412b.66e6cb69aefbee7e
+    a050d9f8cb7841b0.c0b07598619b3ce7.6e99343a2db322f0.ebe228df5bbbd674
+    3247d85580cfd249.2bfceaabcc6fb628.4eb695829036ffec.e776b6c280c6daa7
+    ecab10ae4df4f9db.965288ce98e0a628.e8daf14f7e8313cc.366df0003827b742
+    b5945284a0eb2971
+  after
+    da79172a93650a65.7ba2afa93b577e38.eb36d20bb96d412b.66e6cb69aefbee7e
+    a050d9f8cb7841b0.c0b07598619b3ce7.6e99343a2db322f0.ebe228df5bbbd674
+    3247d85580cfd249.2bfceaabcc6fb628.4eb695829036ffec.e776b6c280c6daa7
+    ecab10ae4df4f9db.965288ce98e0a628.e8daf14f7e8313cc.366df0003827b742
+    0000000000000074
+VPEXTRB_GtoE_128_0x0(mem)
+  before
+    3eb7583ad31deb61.2ac87e6dcf76f213.de7dcdeee2f9c812.9852450e92259c3c
+    aea27f0eeec9ba3e.47ea1dffa1def89d.df4b34f5c6c7d913.bb678b2968a8d4e7
+    e12142ec0cfc5234.a15ce9d160ba4924.758639d15f559657.ab68c10d9d99f77a
+    b3ff1cc049c16f6e.936cde4da7951e54.7cfb586cc9afb809.c5a0e227cc8343a0
+    655aebe192f2f206
+  after
+    3eb7583ad31deb61.2ac87e6dcf76f213.de7dcdeee2f9c812.9852450e92259ce7
+    aea27f0eeec9ba3e.47ea1dffa1def89d.df4b34f5c6c7d913.bb678b2968a8d4e7
+    e12142ec0cfc5234.a15ce9d160ba4924.758639d15f559657.ab68c10d9d99f77a
+    b3ff1cc049c16f6e.936cde4da7951e54.7cfb586cc9afb809.c5a0e227cc8343a0
+    655aebe192f2f206
+
+VPEXTRB_GtoE_128_0x0(reg)
+  before
+    e7e3d6a98b734158.000a8c76c224cc18.7864f8e112fcb6db.d0760eb421e2fe56
+    a787a1ea51916c41.a40c0bfa9332265f.ae9134f73e7a4b63.4dc3d69482f92269
+    0192470f83d9ae6e.7bd21739d7f5396f.8f3f8dfdc79b1a98.cfae2cf80900e16f
+    5150c486bad5448a.61282a1dab7cc173.79baff5e48ec5f27.32028cccd104f794
+    528d72fcf7101f03
+  after
+    e7e3d6a98b734158.000a8c76c224cc18.7864f8e112fcb6db.d0760eb421e2fe56
+    a787a1ea51916c41.a40c0bfa9332265f.ae9134f73e7a4b63.4dc3d69482f92269
+    0192470f83d9ae6e.7bd21739d7f5396f.8f3f8dfdc79b1a98.cfae2cf80900e16f
+    5150c486bad5448a.61282a1dab7cc173.79baff5e48ec5f27.32028cccd104f794
+    0000000000000069
+VPEXTRB_GtoE_128_0x0(mem)
+  before
+    0b195b74963016e9.f30d15ba95136a42.31dac2942ad07998.c64e87865df855bc
+    3973c220cb719871.43143518ad1f5b42.c9b35b8970ff1e0a.d4461fe1a34b3902
+    b76723edb1de60c8.9db2200aa0845535.04816fe89a156cf4.fdf0c5dbb67147a6
+    63c1fac564832c1a.5d34d2fd0ace92c8.be0e7c9cc31c1e83.9f9674e131f7bb54
+    1485285db069d0b7
+  after
+    0b195b74963016e9.f30d15ba95136a42.31dac2942ad07998.c64e87865df85502
+    3973c220cb719871.43143518ad1f5b42.c9b35b8970ff1e0a.d4461fe1a34b3902
+    b76723edb1de60c8.9db2200aa0845535.04816fe89a156cf4.fdf0c5dbb67147a6
+    63c1fac564832c1a.5d34d2fd0ace92c8.be0e7c9cc31c1e83.9f9674e131f7bb54
+    1485285db069d0b7
+
+VPEXTRB_GtoE_128_0x1(reg)
+  before
+    b909debcd051c37b.184cc496016db692.dfe4475d86894ea6.d327fd930822f1e2
+    eb6e906b2c3dd04e.b1d6fb4aa4a7ba5d.7f0e7c97b142c77c.1e986eb98433a13e
+    04ff3cd561b932d9.0c291dcf683df6a6.99006b16268437f6.7d2d4bf8545ae9c3
+    610add650a4f27cb.0412a6106a3c249a.8805124581dcdbbf.cbb2113d93a3879c
+    e3f23b745e1a35f5
+  after
+    b909debcd051c37b.184cc496016db692.dfe4475d86894ea6.d327fd930822f1e2
+    eb6e906b2c3dd04e.b1d6fb4aa4a7ba5d.7f0e7c97b142c77c.1e986eb98433a13e
+    04ff3cd561b932d9.0c291dcf683df6a6.99006b16268437f6.7d2d4bf8545ae9c3
+    610add650a4f27cb.0412a6106a3c249a.8805124581dcdbbf.cbb2113d93a3879c
+    00000000000000a1
+VPEXTRB_GtoE_128_0x1(mem)
+  before
+    a3bb458ad0ccaffc.5ed97089c48de9ce.745d10f9c4af0164.aa686d925fd5ee83
+    e5d7ab6906c4b3db.58b9efac2affb48e.3ad6d97695a24831.5a7676685bfbadf0
+    8713e9ff1b0efbbe.a9f6583ad82fc5b9.30487b73f722b72d.f37b2b3312da54b0
+    633b7c372cb744d2.aedca69f6cac59f9.348174dc063a0883.d3c3875f20ff1f6f
+    559a865820f649da
+  after
+    a3bb458ad0ccaffc.5ed97089c48de9ce.745d10f9c4af0164.aa686d925fd5eead
+    e5d7ab6906c4b3db.58b9efac2affb48e.3ad6d97695a24831.5a7676685bfbadf0
+    8713e9ff1b0efbbe.a9f6583ad82fc5b9.30487b73f722b72d.f37b2b3312da54b0
+    633b7c372cb744d2.aedca69f6cac59f9.348174dc063a0883.d3c3875f20ff1f6f
+    559a865820f649da
+
+VPEXTRB_GtoE_128_0x1(reg)
+  before
+    d44c248aae49109d.571bdffd54ca4943.c3b7d5477fffa9fa.204b409ddff6f760
+    ae245e626786ad63.3d7e8e3daf54c83c.44d2e29fafb6f469.d27359a39d6342f0
+    3d6f2e4ae6385fd9.f33205e35a5f7bea.8d7ac711985c74f2.24c53dd85d8ca35e
+    df7992b0c8ec60ab.5301c1db71fa1e79.fafc820ad57d6640.f40d672a3a7ed7d6
+    1c17538351449986
+  after
+    d44c248aae49109d.571bdffd54ca4943.c3b7d5477fffa9fa.204b409ddff6f760
+    ae245e626786ad63.3d7e8e3daf54c83c.44d2e29fafb6f469.d27359a39d6342f0
+    3d6f2e4ae6385fd9.f33205e35a5f7bea.8d7ac711985c74f2.24c53dd85d8ca35e
+    df7992b0c8ec60ab.5301c1db71fa1e79.fafc820ad57d6640.f40d672a3a7ed7d6
+    0000000000000042
+VPEXTRB_GtoE_128_0x1(mem)
+  before
+    79ae7dd1bdeaa798.ee8e85fea82ded84.3ab83d110f2e6f14.e7a20ef702a606ff
+    e8a062ff9b7cbb38.c8fa04a222874210.8523f571500928e7.b0b96743bc628fdd
+    43b77df906079193.c7090907d3879afd.0e0e65e85196061f.b18c8a599e3e3e84
+    67c04aab1a96e7d5.4806929957b833f5.b24509602de2c5e8.466972a745c44fa0
+    cb9a1b984c83fddf
+  after
+    79ae7dd1bdeaa798.ee8e85fea82ded84.3ab83d110f2e6f14.e7a20ef702a6068f
+    e8a062ff9b7cbb38.c8fa04a222874210.8523f571500928e7.b0b96743bc628fdd
+    43b77df906079193.c7090907d3879afd.0e0e65e85196061f.b18c8a599e3e3e84
+    67c04aab1a96e7d5.4806929957b833f5.b24509602de2c5e8.466972a745c44fa0
+    cb9a1b984c83fddf
+
+VPEXTRB_GtoE_128_0x1(reg)
+  before
+    9b6d8198500486ea.30874501f4367729.a83f9ac449a647a4.4d935ec701f7206e
+    142ca013edd52470.7ad8ebe7b0f2febc.41fe1ef446de12b7.bbc5df08e8e4d4dc
+    91247576bd81131b.227eb64a69d638b9.70901895e9ebd1da.d9a8080effb29d5e
+    6ea0fb2b5e959197.024724143befe04d.91418613ce59c0b8.810655c7616f3622
+    90ac431e2b265c51
+  after
+    9b6d8198500486ea.30874501f4367729.a83f9ac449a647a4.4d935ec701f7206e
+    142ca013edd52470.7ad8ebe7b0f2febc.41fe1ef446de12b7.bbc5df08e8e4d4dc
+    91247576bd81131b.227eb64a69d638b9.70901895e9ebd1da.d9a8080effb29d5e
+    6ea0fb2b5e959197.024724143befe04d.91418613ce59c0b8.810655c7616f3622
+    00000000000000d4
+VPEXTRB_GtoE_128_0x1(mem)
+  before
+    e2654cff78e4cb1a.06ee2e9f6c9bd891.f7fdb0334348b3a4.015c63db92b51bfe
+    53ffee5665b43fa7.b7590a3f822225b5.dd6dd7919ded6de9.1a2fab57d08a1e57
+    bf44a4100da27324.dc2c8c763db3b3ae.9063131c63eac949.39045af525640470
+    0201eb178cbb24bf.d0b4aeaf38dcbf29.ecabe2bfb44c85ef.ba296d1f2dd00af5
+    f9e8df4382596b91
+  after
+    e2654cff78e4cb1a.06ee2e9f6c9bd891.f7fdb0334348b3a4.015c63db92b51b1e
+    53ffee5665b43fa7.b7590a3f822225b5.dd6dd7919ded6de9.1a2fab57d08a1e57
+    bf44a4100da27324.dc2c8c763db3b3ae.9063131c63eac949.39045af525640470
+    0201eb178cbb24bf.d0b4aeaf38dcbf29.ecabe2bfb44c85ef.ba296d1f2dd00af5
+    f9e8df4382596b91
+
+VPEXTRB_GtoE_128_0x2(reg)
+  before
+    528eacccc38c65f1.f8033d58ff0a0ea1.f13d6e580f2885d2.cd11bf66aa1f5a08
+    2166d02689f332c0.7d1318c0829bedf9.9913c7dc5f244154.0f6026fd616d07c0
+    c2be48bd731c0fab.6c00f73a307b7cf1.2682b6a7c45b2f5b.8d669470f6444742
+    91e00efd1a93375e.a39557b125b578b5.f2d53525d9598a95.25ed83ab84b0d5bb
+    b2c2719a27bb6d56
+  after
+    528eacccc38c65f1.f8033d58ff0a0ea1.f13d6e580f2885d2.cd11bf66aa1f5a08
+    2166d02689f332c0.7d1318c0829bedf9.9913c7dc5f244154.0f6026fd616d07c0
+    c2be48bd731c0fab.6c00f73a307b7cf1.2682b6a7c45b2f5b.8d669470f6444742
+    91e00efd1a93375e.a39557b125b578b5.f2d53525d9598a95.25ed83ab84b0d5bb
+    000000000000006d
+VPEXTRB_GtoE_128_0x2(mem)
+  before
+    10b1d92afd73cd40.ea1a20521ce3e784.fd9db2137e559d72.5b5942c23aab8fac
+    1b8637451fe4afa4.29b6792815985bca.56e6864b5668a654.bb5bd8ea84dc794c
+    ae0c08d9ab18d0b0.aa0116eca03ecfdb.8a3a4e45caf95086.6f25f30a52788522
+    a711c7d0bd1dec8d.c947f1085a627e64.746686edf6145735.d404908c410cefda
+    4443a9deec23f31f
+  after
+    10b1d92afd73cd40.ea1a20521ce3e784.fd9db2137e559d72.5b5942c23aab8fdc
+    1b8637451fe4afa4.29b6792815985bca.56e6864b5668a654.bb5bd8ea84dc794c
+    ae0c08d9ab18d0b0.aa0116eca03ecfdb.8a3a4e45caf95086.6f25f30a52788522
+    a711c7d0bd1dec8d.c947f1085a627e64.746686edf6145735.d404908c410cefda
+    4443a9deec23f31f
+
+VPEXTRB_GtoE_128_0x2(reg)
+  before
+    1c303c6af049cd9e.e15ff01870ffbe6a.e1d308eade8fa510.f236aa2ff4c6768d
+    b916449ee80bb802.37c3ff9ce0c80371.50f356fdc852808d.df7537f8e31a6bb9
+    7540bee571f4f1f8.870970482a8677ce.71f1d7acb5364b84.16f1a832dc1cf0e6
+    adfba4ab2690b32c.abfdc0086a45d6ae.a01b886540c741a4.757479cbfdd9c13f
+    d6cc26ad625c9cf1
+  after
+    1c303c6af049cd9e.e15ff01870ffbe6a.e1d308eade8fa510.f236aa2ff4c6768d
+    b916449ee80bb802.37c3ff9ce0c80371.50f356fdc852808d.df7537f8e31a6bb9
+    7540bee571f4f1f8.870970482a8677ce.71f1d7acb5364b84.16f1a832dc1cf0e6
+    adfba4ab2690b32c.abfdc0086a45d6ae.a01b886540c741a4.757479cbfdd9c13f
+    000000000000001a
+VPEXTRB_GtoE_128_0x2(mem)
+  before
+    17c32bc626b13b27.bd93f45ca46c3c49.816a6ac8ba10db3d.38bb639306919f97
+    1225050066e55b0e.0154a9648613c6fc.e31eea7439f343a6.971d66a2a321a109
+    a5c02f493d03b7d2.d589bf2f69118ef0.afe3bcf801faca16.178f8cfeb10282a7
+    aa5f258cc7180d9e.95803329e8f3cfd2.bf865d412e322bb8.165cd214cfc17f1d
+    efcf324e97e9d416
+  after
+    17c32bc626b13b27.bd93f45ca46c3c49.816a6ac8ba10db3d.38bb639306919f21
+    1225050066e55b0e.0154a9648613c6fc.e31eea7439f343a6.971d66a2a321a109
+    a5c02f493d03b7d2.d589bf2f69118ef0.afe3bcf801faca16.178f8cfeb10282a7
+    aa5f258cc7180d9e.95803329e8f3cfd2.bf865d412e322bb8.165cd214cfc17f1d
+    efcf324e97e9d416
+
+VPEXTRB_GtoE_128_0x2(reg)
+  before
+    fd36aa19a506bd3f.ffcd63b5212f179f.9d83ffbf9f44c64e.f1d34739dda623ba
+    9edb35e295a57544.7ed866b067549101.49df215b2b91af0f.1f96f8ce29636e45
+    2c0bcf14055139d0.044aa96ab49339ef.f5e0946b2764c6c2.279bebeb2f73c887
+    0411741a8e96458f.6ef0a8cd24f9c995.fdd2555a304c4612.e3ad9d7b0ae5ecac
+    309a886cd6c297e0
+  after
+    fd36aa19a506bd3f.ffcd63b5212f179f.9d83ffbf9f44c64e.f1d34739dda623ba
+    9edb35e295a57544.7ed866b067549101.49df215b2b91af0f.1f96f8ce29636e45
+    2c0bcf14055139d0.044aa96ab49339ef.f5e0946b2764c6c2.279bebeb2f73c887
+    0411741a8e96458f.6ef0a8cd24f9c995.fdd2555a304c4612.e3ad9d7b0ae5ecac
+    0000000000000063
+VPEXTRB_GtoE_128_0x2(mem)
+  before
+    ea2c2aa9b018854e.833b2162ce01d42f.9695dfc6d491fe21.bd015e93e2d26cac
+    ee30fe1eb4f27122.03d4d157611d2359.5907ca42df6894bd.91b9ad84d884743c
+    167280b7fd5d198a.e1278065e2766ebc.9311e62b62894695.d5453d98aeed9a6d
+    3fbe2d61a86336af.7a812af8ee99f102.207eae6f7800d1d6.e5f20a3b019919ec
+    1c0c10d96c152e64
+  after
+    ea2c2aa9b018854e.833b2162ce01d42f.9695dfc6d491fe21.bd015e93e2d26c84
+    ee30fe1eb4f27122.03d4d157611d2359.5907ca42df6894bd.91b9ad84d884743c
+    167280b7fd5d198a.e1278065e2766ebc.9311e62b62894695.d5453d98aeed9a6d
+    3fbe2d61a86336af.7a812af8ee99f102.207eae6f7800d1d6.e5f20a3b019919ec
+    1c0c10d96c152e64
+
+VPEXTRB_GtoE_128_0x3(reg)
+  before
+    d8df4cdf8cec1482.45df8006d01387c0.282ecc7c1f11e7d8.dd1b9ef93ed9f1ac
+    74b7b9b7fcab09f2.04a3f4939176c6e7.487a615e146a8de9.a4b432b5cf216142
+    4ce053ce59dd475f.58d408f5089ab150.36b1e40867311fe2.5215e78f48e3dec5
+    bba516913e0e0b75.1d3f3516508a0129.4f1e54e7b4f1d86e.c30a3773c42c2460
+    d35ea04d6007ef40
+  after
+    d8df4cdf8cec1482.45df8006d01387c0.282ecc7c1f11e7d8.dd1b9ef93ed9f1ac
+    74b7b9b7fcab09f2.04a3f4939176c6e7.487a615e146a8de9.a4b432b5cf216142
+    4ce053ce59dd475f.58d408f5089ab150.36b1e40867311fe2.5215e78f48e3dec5
+    bba516913e0e0b75.1d3f3516508a0129.4f1e54e7b4f1d86e.c30a3773c42c2460
+    00000000000000cf
+VPEXTRB_GtoE_128_0x3(mem)
+  before
+    5edf9d093780fa91.1f54ff6a47cb90e2.2fb0f9e48653759b.ed0faa689836f63a
+    4057ab9465a4027e.d23708c7119f1450.6af3ce4ac500c7d5.6dcee4f6ae8db3f2
+    559344d8077ec334.329b2f133816d16b.aad432342a9db401.2ba8fcfc93814b41
+    795fe6c3391af9de.99cc6fba57bc03e0.cb1ea08ed037f84b.83e9f0e8e29efcd4
+    d1ddbc2538710056
+  after
+    5edf9d093780fa91.1f54ff6a47cb90e2.2fb0f9e48653759b.ed0faa689836f6ae
+    4057ab9465a4027e.d23708c7119f1450.6af3ce4ac500c7d5.6dcee4f6ae8db3f2
+    559344d8077ec334.329b2f133816d16b.aad432342a9db401.2ba8fcfc93814b41
+    795fe6c3391af9de.99cc6fba57bc03e0.cb1ea08ed037f84b.83e9f0e8e29efcd4
+    d1ddbc2538710056
+
+VPEXTRB_GtoE_128_0x3(reg)
+  before
+    71cf5a1f30859374.88870c3f16855fa9.6515c5280a1ee85b.a99f9544d4d94ee1
+    bf0dc8426767f3da.5dd6323abacab2c0.f0c42bc9eec8ba87.20218c42518f73ec
+    17e101fa78a25a33.d61ad59f42f5ae51.98239f099f44b611.0c7100746466239b
+    d59801b400c2052c.ce1d705aca130e85.b77f1c54b72017a5.485b70c728691918
+    b2ab5525baa4138f
+  after
+    71cf5a1f30859374.88870c3f16855fa9.6515c5280a1ee85b.a99f9544d4d94ee1
+    bf0dc8426767f3da.5dd6323abacab2c0.f0c42bc9eec8ba87.20218c42518f73ec
+    17e101fa78a25a33.d61ad59f42f5ae51.98239f099f44b611.0c7100746466239b
+    d59801b400c2052c.ce1d705aca130e85.b77f1c54b72017a5.485b70c728691918
+    0000000000000051
+VPEXTRB_GtoE_128_0x3(mem)
+  before
+    252c2c7c3524cb2d.557ec4da9a533070.21ac7f576c2f8f8b.ab259e17d5e71bee
+    7dac72b6b5f4fd1e.f2df47dae2e216ac.aa937e824755ed8d.ce5e22bc9326fc98
+    95f5a2c15720678d.0a07851e75faf48b.479ee9c77492e3b7.7d79a3b18d68f650
+    4bd4388837b5c3a7.f8417a14ef2806bb.d3993d1212f12f36.15c11c60603947c2
+    f0818c37a726299a
+  after
+    252c2c7c3524cb2d.557ec4da9a533070.21ac7f576c2f8f8b.ab259e17d5e71b93
+    7dac72b6b5f4fd1e.f2df47dae2e216ac.aa937e824755ed8d.ce5e22bc9326fc98
+    95f5a2c15720678d.0a07851e75faf48b.479ee9c77492e3b7.7d79a3b18d68f650
+    4bd4388837b5c3a7.f8417a14ef2806bb.d3993d1212f12f36.15c11c60603947c2
+    f0818c37a726299a
+
+VPEXTRB_GtoE_128_0x3(reg)
+  before
+    6b07eca1ffbad983.7915b1f770bece98.18db2227ebf788e5.294ff4503a7e8b36
+    e29d390a03829329.fd8487fa1e48438b.c51f79c305f3b5b8.278e8c6b0b46b3e2
+    b19070de4f08923a.b2ec387d5e5de0ad.5d5a7c54daa8cade.a72081519e546567
+    342c8c8980da135f.731b3f6c4b0b5f29.3bd8264606a30303.87d24dec11b55bf1
+    a1706e2a807352ab
+  after
+    6b07eca1ffbad983.7915b1f770bece98.18db2227ebf788e5.294ff4503a7e8b36
+    e29d390a03829329.fd8487fa1e48438b.c51f79c305f3b5b8.278e8c6b0b46b3e2
+    b19070de4f08923a.b2ec387d5e5de0ad.5d5a7c54daa8cade.a72081519e546567
+    342c8c8980da135f.731b3f6c4b0b5f29.3bd8264606a30303.87d24dec11b55bf1
+    000000000000000b
+VPEXTRB_GtoE_128_0x3(mem)
+  before
+    d3c65ff6069c05c1.c8bc897732845247.1edb18b3025e7c2c.bae47305236f9bd4
+    f79f9c3cc03c3261.c78e641400908a9c.8df9403f9f61f5e1.38cc5ffdd099cffd
+    ebc9a1e8c85e93b4.8eec17cd878df80a.9d4132fa3c208475.0fdbe79aa6acdb29
+    890eebe63d0ee4e9.7923a00c6104d83f.2b7f6ad2f8a7e614.9d5c06494434fa05
+    3c9cb77443be6a3d
+  after
+    d3c65ff6069c05c1.c8bc897732845247.1edb18b3025e7c2c.bae47305236f9bd0
+    f79f9c3cc03c3261.c78e641400908a9c.8df9403f9f61f5e1.38cc5ffdd099cffd
+    ebc9a1e8c85e93b4.8eec17cd878df80a.9d4132fa3c208475.0fdbe79aa6acdb29
+    890eebe63d0ee4e9.7923a00c6104d83f.2b7f6ad2f8a7e614.9d5c06494434fa05
+    3c9cb77443be6a3d
+
+VPEXTRB_GtoE_128_0x4(reg)
+  before
+    4ae7f98942d5657c.ae3bf4223958e32a.e47ffa3f2d8366e4.117f64b2ec03d6e9
+    2189c5f3da05286e.371c3a89d8494aa4.2b4c22d08595dda8.2c0c9c85363f1221
+    1fcd191da9dbeec1.fe7d390537ecd682.a9d6122d05c67b35.59f48f39f26854e7
+    9e01f0754be2f41e.e02a6b83714e43f1.bc68c8c14aa37937.7201b8b93b895868
+    540093f12eaedcd0
+  after
+    4ae7f98942d5657c.ae3bf4223958e32a.e47ffa3f2d8366e4.117f64b2ec03d6e9
+    2189c5f3da05286e.371c3a89d8494aa4.2b4c22d08595dda8.2c0c9c85363f1221
+    1fcd191da9dbeec1.fe7d390537ecd682.a9d6122d05c67b35.59f48f39f26854e7
+    9e01f0754be2f41e.e02a6b83714e43f1.bc68c8c14aa37937.7201b8b93b895868
+    0000000000000085
+VPEXTRB_GtoE_128_0x4(mem)
+  before
+    dbbd9ccde6e39a4a.fb6f46665ba67634.b9ee4ef0a37a4c1c.bf503ff8efb7165b
+    e4044f3a7f354f03.9364175c75b4b0ad.66965d37e97cae30.0ed8733e918f8c4d
+    49a0292216afb727.c02c5fc43697dd36.c1ef14445d602559.054d61ffcbb618b9
+    e75fa572c75e8de1.df131b083adb3a7a.a7c3ef021e336cc2.fffb03a73ab8f649
+    5a2e57a3792161ac
+  after
+    dbbd9ccde6e39a4a.fb6f46665ba67634.b9ee4ef0a37a4c1c.bf503ff8efb7163e
+    e4044f3a7f354f03.9364175c75b4b0ad.66965d37e97cae30.0ed8733e918f8c4d
+    49a0292216afb727.c02c5fc43697dd36.c1ef14445d602559.054d61ffcbb618b9
+    e75fa572c75e8de1.df131b083adb3a7a.a7c3ef021e336cc2.fffb03a73ab8f649
+    5a2e57a3792161ac
+
+VPEXTRB_GtoE_128_0x4(reg)
+  before
+    7132585d257e968c.9a0b3f17ad4d8e5d.4c6546951c0d0326.f4df6a5f45014098
+    a0520243d95ad196.3e7173fce48876c8.636ddcd878b873e5.840e0246f0d45d06
+    42db52bf32424e75.af5dbe0c891c004e.8179da3beb68c764.331e32a43bba7f39
+    b51a423fcbc148d6.c99b9b35b714ea1b.00d33a2c10aa3b4f.ddd9766341be615d
+    5e0d4b701fedc09d
+  after
+    7132585d257e968c.9a0b3f17ad4d8e5d.4c6546951c0d0326.f4df6a5f45014098
+    a0520243d95ad196.3e7173fce48876c8.636ddcd878b873e5.840e0246f0d45d06
+    42db52bf32424e75.af5dbe0c891c004e.8179da3beb68c764.331e32a43bba7f39
+    b51a423fcbc148d6.c99b9b35b714ea1b.00d33a2c10aa3b4f.ddd9766341be615d
+    0000000000000046
+VPEXTRB_GtoE_128_0x4(mem)
+  before
+    92842bb8f0525826.5359d02e4063fc65.68f786628b7ced5a.3dc8fa1684090b51
+    550b9425d0f9e523.7ae4f8f82eb5a6cd.683cfb7f2061c837.94a41564e2117217
+    836d01a5dcef22c1.8409b409314281ba.a538767893ce35df.61b38784c74fad4c
+    f778ee232f3fcc2c.cf1301cde496cada.fab57439ffcff27e.00414de1ce4ef89d
+    cd9961e8949b8fb6
+  after
+    92842bb8f0525826.5359d02e4063fc65.68f786628b7ced5a.3dc8fa1684090b64
+    550b9425d0f9e523.7ae4f8f82eb5a6cd.683cfb7f2061c837.94a41564e2117217
+    836d01a5dcef22c1.8409b409314281ba.a538767893ce35df.61b38784c74fad4c
+    f778ee232f3fcc2c.cf1301cde496cada.fab57439ffcff27e.00414de1ce4ef89d
+    cd9961e8949b8fb6
+
+VPEXTRB_GtoE_128_0x4(reg)
+  before
+    2408c103b4c0ad42.8ff6d88ae6f59f8f.b54ddcb0e33ebdd7.458070ae8170b83f
+    61da699fcb4c8fee.26b53ac81d1e5617.9404401ecbc5965d.6165e6c434be464f
+    df5b532874c87065.987f8fc8efc5aeef.c6842a8337b79019.2a30526534c556da
+    fcd77c0b4bc28e54.c021567678f66344.a819944cc4a1e8b7.7bac317f9f90a50b
+    32a7fdfc8e2bef0f
+  after
+    2408c103b4c0ad42.8ff6d88ae6f59f8f.b54ddcb0e33ebdd7.458070ae8170b83f
+    61da699fcb4c8fee.26b53ac81d1e5617.9404401ecbc5965d.6165e6c434be464f
+    df5b532874c87065.987f8fc8efc5aeef.c6842a8337b79019.2a30526534c556da
+    fcd77c0b4bc28e54.c021567678f66344.a819944cc4a1e8b7.7bac317f9f90a50b
+    00000000000000c4
+VPEXTRB_GtoE_128_0x4(mem)
+  before
+    2aeb34ca1fa2ef11.139ae1b3edc52366.7c6708bfd5be3041.970f7ce30d0edae2
+    3e4552d46e02623e.80ef7d8bf65e6c49.a71c238d2128d313.edb2ddb6af8aa147
+    4c81d106955604c1.9e244c010117a4a6.1c0e21cd794006e6.074db33045a27a91
+    2f6b2f4cb3aa91c8.cb834b80aa7f092c.b907806cf81385e5.412dfabd6ce1a16d
+    f89eafc8bfd35287
+  after
+    2aeb34ca1fa2ef11.139ae1b3edc52366.7c6708bfd5be3041.970f7ce30d0edab6
+    3e4552d46e02623e.80ef7d8bf65e6c49.a71c238d2128d313.edb2ddb6af8aa147
+    4c81d106955604c1.9e244c010117a4a6.1c0e21cd794006e6.074db33045a27a91
+    2f6b2f4cb3aa91c8.cb834b80aa7f092c.b907806cf81385e5.412dfabd6ce1a16d
+    f89eafc8bfd35287
+
+VPEXTRB_GtoE_128_0x9(reg)
+  before
+    86ecccc0db05c88a.c2cee692e20bc47c.625975748e1fd585.58d5bc54baac0e3d
+    48634f0e5b024023.e37875c43e845a0c.bef2c5494985445d.d7424f73dd185b1a
+    9a4f341fdb56f6fd.6c3355cfe4210fa1.3d9a3a6b753c9461.101bb7b47a6129a7
+    d8fb755ff88e26c5.3bcc039defef9e6a.3a9ccd46b1d1ff3d.e12b6f02af963311
+    2440f34b98c03783
+  after
+    86ecccc0db05c88a.c2cee692e20bc47c.625975748e1fd585.58d5bc54baac0e3d
+    48634f0e5b024023.e37875c43e845a0c.bef2c5494985445d.d7424f73dd185b1a
+    9a4f341fdb56f6fd.6c3355cfe4210fa1.3d9a3a6b753c9461.101bb7b47a6129a7
+    d8fb755ff88e26c5.3bcc039defef9e6a.3a9ccd46b1d1ff3d.e12b6f02af963311
+    0000000000000044
+VPEXTRB_GtoE_128_0x9(mem)
+  before
+    b724bf7a50edef2a.5eb5103a4e350b27.2a0ffc1b7cf9c491.10467b4796cfc29c
+    74a5507cf3281731.88c7ff1d78d7e2ce.16c8bb36a64c3d43.1de241d8c3c2182b
+    388d203b9e7d6dc5.b27e41731201e667.dcc3bcd98af3c5ab.bbbd1a67d1373f96
+    e0a9ada46cf9ab12.3826cfa7b93e559d.56cb7cef43fa17f6.4823025e5eb97188
+    1e60f62b06d4eaad
+  after
+    b724bf7a50edef2a.5eb5103a4e350b27.2a0ffc1b7cf9c491.10467b4796cfc23d
+    74a5507cf3281731.88c7ff1d78d7e2ce.16c8bb36a64c3d43.1de241d8c3c2182b
+    388d203b9e7d6dc5.b27e41731201e667.dcc3bcd98af3c5ab.bbbd1a67d1373f96
+    e0a9ada46cf9ab12.3826cfa7b93e559d.56cb7cef43fa17f6.4823025e5eb97188
+    1e60f62b06d4eaad
+
+VPEXTRB_GtoE_128_0x9(reg)
+  before
+    9ac0f0396415e8b3.46c472a47aa78e43.760ba627091b691d.61ae7566ee6df04f
+    198eeef41506a543.47acec25e494d285.c878c35e9c235f93.d9362529a6590ce3
+    f517ebc8b4365e0c.bf2c9615c4cb3203.89bb21b811e272aa.9b30072487c926de
+    8ba8e421dd2e4eb8.8b0feb5e39586bea.171ebca102e4df0f.81689743aecafc6b
+    68aa5273376747b7
+  after
+    9ac0f0396415e8b3.46c472a47aa78e43.760ba627091b691d.61ae7566ee6df04f
+    198eeef41506a543.47acec25e494d285.c878c35e9c235f93.d9362529a6590ce3
+    f517ebc8b4365e0c.bf2c9615c4cb3203.89bb21b811e272aa.9b30072487c926de
+    8ba8e421dd2e4eb8.8b0feb5e39586bea.171ebca102e4df0f.81689743aecafc6b
+    000000000000005f
+VPEXTRB_GtoE_128_0x9(mem)
+  before
+    2cc1b29e3dacc6ed.388bd36b2d7db3f4.852269ee5c483966.cdee91850bb6e26d
+    a97b35b1dca6333a.560cb61240acc76b.8a318cb04ca557a2.07779ad0c9e3b771
+    bba25699315f4cca.42798883b149c6ca.7608ce90227e82cb.2005d5eed7f899c6
+    3e03924158e6cac8.581d45281cdfeebc.2573ad7afddc760c.76e33d4cd180c51a
+    645fce5454077716
+  after
+    2cc1b29e3dacc6ed.388bd36b2d7db3f4.852269ee5c483966.cdee91850bb6e257
+    a97b35b1dca6333a.560cb61240acc76b.8a318cb04ca557a2.07779ad0c9e3b771
+    bba25699315f4cca.42798883b149c6ca.7608ce90227e82cb.2005d5eed7f899c6
+    3e03924158e6cac8.581d45281cdfeebc.2573ad7afddc760c.76e33d4cd180c51a
+    645fce5454077716
+
+VPEXTRB_GtoE_128_0x9(reg)
+  before
+    45c38574fc19eb69.0e6a63946b446c61.f443e96f1efa79ee.733da45af6cdef92
+    775c5d1764435cbd.07a347808987ecc0.723871c25227a40c.3c342f1c2b5da889
+    557652a9291107be.057ab9f0ccbb0712.2f48d88f55f1abc1.5c22caadb8965e1c
+    3a5d6095e60d2819.e4ba35d050ea7983.85bf1a41c2e4c9ba.afd4f2f7b886cd78
+    111622e84738b1c8
+  after
+    45c38574fc19eb69.0e6a63946b446c61.f443e96f1efa79ee.733da45af6cdef92
+    775c5d1764435cbd.07a347808987ecc0.723871c25227a40c.3c342f1c2b5da889
+    557652a9291107be.057ab9f0ccbb0712.2f48d88f55f1abc1.5c22caadb8965e1c
+    3a5d6095e60d2819.e4ba35d050ea7983.85bf1a41c2e4c9ba.afd4f2f7b886cd78
+    00000000000000a4
+VPEXTRB_GtoE_128_0x9(mem)
+  before
+    5eb4d66a82b9c539.845d834937c5fa7a.8031380c3222fd3e.d1e93344368d3ba2
+    71798a6b8514c6f7.8dc1b830b9c4ba8c.b5a93c908d6e5070.6f121f044c773d26
+    2833bbd66b55702d.b2d7f9b70797a4fc.5fefbf497ddb2e44.bb85dbeda12f0af2
+    5eace39750897e08.50e94448bec9f475.5acf3c21207452e7.1090626bd03fe0b1
+    cc7db0ea7635f910
+  after
+    5eb4d66a82b9c539.845d834937c5fa7a.8031380c3222fd3e.d1e93344368d3b50
+    71798a6b8514c6f7.8dc1b830b9c4ba8c.b5a93c908d6e5070.6f121f044c773d26
+    2833bbd66b55702d.b2d7f9b70797a4fc.5fefbf497ddb2e44.bb85dbeda12f0af2
+    5eace39750897e08.50e94448bec9f475.5acf3c21207452e7.1090626bd03fe0b1
+    cc7db0ea7635f910
+
+VPEXTRB_GtoE_128_0xE(reg)
+  before
+    4a99c1d72e9d91ba.efb1809a51bbadb3.c14495507ae6e5a5.811530058f457a85
+    e630929c9402e65c.b60e0dcb89f7b95b.6334e63cd57bb435.b28c15e2e85b6049
+    fc8d1ea745f032a1.918f0716154a5d2c.900535766e139dd3.c80269a347c1c05f
+    e8fe6163ddf3b237.5b00e86710bf5751.a5027d6cdf3adb2b.9e41a733c78458f5
+    12164b8084aee235
+  after
+    4a99c1d72e9d91ba.efb1809a51bbadb3.c14495507ae6e5a5.811530058f457a85
+    e630929c9402e65c.b60e0dcb89f7b95b.6334e63cd57bb435.b28c15e2e85b6049
+    fc8d1ea745f032a1.918f0716154a5d2c.900535766e139dd3.c80269a347c1c05f
+    e8fe6163ddf3b237.5b00e86710bf5751.a5027d6cdf3adb2b.9e41a733c78458f5
+    0000000000000034
+VPEXTRB_GtoE_128_0xE(mem)
+  before
+    ff4dd1759b4d1b4b.05cd573bf798a1c7.ef2c2eab976361f6.fe79ba89c47dace9
+    40b2b6fe286dbe64.b147fd9d2f6b3c00.2be154ccc5403749.f8b4e838b96749b8
+    b3107507451989ac.47b84df422f6bf8c.eae9d6b8b7649774.ed0004e75c84f144
+    32358a7c115d364e.226c45ac6bc76617.0711315988db3ba3.3aa908014661de3b
+    3bfbf2f215894d46
+  after
+    ff4dd1759b4d1b4b.05cd573bf798a1c7.ef2c2eab976361f6.fe79ba89c47dace1
+    40b2b6fe286dbe64.b147fd9d2f6b3c00.2be154ccc5403749.f8b4e838b96749b8
+    b3107507451989ac.47b84df422f6bf8c.eae9d6b8b7649774.ed0004e75c84f144
+    32358a7c115d364e.226c45ac6bc76617.0711315988db3ba3.3aa908014661de3b
+    3bfbf2f215894d46
+
+VPEXTRB_GtoE_128_0xE(reg)
+  before
+    4c42be2765897a14.9beb714aa6458177.a0afe031a7696c4e.6025e09d54b0e003
+    c9c9660ad1eba14f.c8ffa75b20de2853.1bcd1af072690fdd.cff15e6f38ef41c0
+    0edee808f53dfda3.963da69d9c33e50d.f111f0536652886f.31402abb50a41c05
+    77cb3f8e6e0bcbbe.e271ecfa355075d1.7dc85dc722b016b1.63e0bd6db7dc2bff
+    3f9b947189a22ad9
+  after
+    4c42be2765897a14.9beb714aa6458177.a0afe031a7696c4e.6025e09d54b0e003
+    c9c9660ad1eba14f.c8ffa75b20de2853.1bcd1af072690fdd.cff15e6f38ef41c0
+    0edee808f53dfda3.963da69d9c33e50d.f111f0536652886f.31402abb50a41c05
+    77cb3f8e6e0bcbbe.e271ecfa355075d1.7dc85dc722b016b1.63e0bd6db7dc2bff
+    00000000000000cd
+VPEXTRB_GtoE_128_0xE(mem)
+  before
+    a23e2cb3e303d7c0.60dd6706d8e04749.8667f460084293cd.1a3e5db93f10f34e
+    69950020e109ece0.25605cdece48acf3.60ea3bba3014fd2a.25bfec945bfc5cf4
+    6e6c8ca29ec32664.229f1a81eccf3766.4ac83bf3c9d36d17.fb9706c312038d4c
+    8e8f4d27363a4179.b3e89e5bcf02244e.21cb72f9f08a9fbe.f612a8b4ffaec105
+    747bcdd2bf8b36c8
+  after
+    a23e2cb3e303d7c0.60dd6706d8e04749.8667f460084293cd.1a3e5db93f10f3ea
+    69950020e109ece0.25605cdece48acf3.60ea3bba3014fd2a.25bfec945bfc5cf4
+    6e6c8ca29ec32664.229f1a81eccf3766.4ac83bf3c9d36d17.fb9706c312038d4c
+    8e8f4d27363a4179.b3e89e5bcf02244e.21cb72f9f08a9fbe.f612a8b4ffaec105
+    747bcdd2bf8b36c8
+
+VPEXTRB_GtoE_128_0xE(reg)
+  before
+    cf207189ed262544.a5c9bd99c67cf84b.3485e3d8126cae58.c1c05bb7c145514c
+    644b90452509cd23.90e85ae669940805.01c4e564529a1330.0673731a57113dec
+    8f49277204c26812.29b69ff93c8f2dd3.75efa16b2a168d81.cdb0340ccff820cb
+    ad66307d26dd33bc.4d0009be5a7822e2.ee531159376f58f8.f0421c7a4409b614
+    4cf7a651d24dbaf4
+  after
+    cf207189ed262544.a5c9bd99c67cf84b.3485e3d8126cae58.c1c05bb7c145514c
+    644b90452509cd23.90e85ae669940805.01c4e564529a1330.0673731a57113dec
+    8f49277204c26812.29b69ff93c8f2dd3.75efa16b2a168d81.cdb0340ccff820cb
+    ad66307d26dd33bc.4d0009be5a7822e2.ee531159376f58f8.f0421c7a4409b614
+    00000000000000c4
+VPEXTRB_GtoE_128_0xE(mem)
+  before
+    bd994e7b96d2e997.18eda9d026e46ace.d8921221e05ba45e.c73c339a142eb241
+    1ff590e6aba3ff28.2d2c8dd8a06649f3.a637380ee9446f73.5bf5029b5ee1d507
+    4ed7e97c2ecdb7d4.486dd90231ec0bd8.93bdf67191403f4c.08cc7bc6b013fef7
+    260bd32b3a5bcfc6.c5fe87b97404ed29.7beec836f55bcf15.290b9889a75168bc
+    19ff574fde265003
+  after
+    bd994e7b96d2e997.18eda9d026e46ace.d8921221e05ba45e.c73c339a142eb237
+    1ff590e6aba3ff28.2d2c8dd8a06649f3.a637380ee9446f73.5bf5029b5ee1d507
+    4ed7e97c2ecdb7d4.486dd90231ec0bd8.93bdf67191403f4c.08cc7bc6b013fef7
+    260bd32b3a5bcfc6.c5fe87b97404ed29.7beec836f55bcf15.290b9889a75168bc
+    19ff574fde265003
+
+VPEXTRB_GtoE_128_0xF(reg)
+  before
+    36f4b383f11ef278.835dccdeec59002b.0029956806392a91.3a982a49319fdcfb
+    da36a8937dc68ac6.4198508160d4092f.553bfe7d821700bd.ac859997601a222a
+    631132ea1ea95499.3c8ad900b0d7a4fd.207fbf63852ba958.ad82900a9ed85dce
+    2bd04ef46e538b9f.4ffde547fa6e8fc1.bd43d286aa00620f.195a8b9008e34811
+    ccdb0614ba49a022
+  after
+    36f4b383f11ef278.835dccdeec59002b.0029956806392a91.3a982a49319fdcfb
+    da36a8937dc68ac6.4198508160d4092f.553bfe7d821700bd.ac859997601a222a
+    631132ea1ea95499.3c8ad900b0d7a4fd.207fbf63852ba958.ad82900a9ed85dce
+    2bd04ef46e538b9f.4ffde547fa6e8fc1.bd43d286aa00620f.195a8b9008e34811
+    0000000000000055
+VPEXTRB_GtoE_128_0xF(mem)
+  before
+    a1cf7e82cf15212b.90c1f71d0c506c81.58beef435aa683a9.88d235528e22668e
+    76046dc563548659.ec2e29d2922d32ee.329973deeb8a3fdf.dd77e333cc1ef280
+    264451cb93118cd7.9d64e07d9c761a90.b95aed05ca267d8f.187fd896017f4291
+    8d5ca5807a59efd2.fdaf188cc7b56014.c9ccd9a51287fae6.953610e5c8d2926f
+    b0e8888ebda21dc4
+  after
+    a1cf7e82cf15212b.90c1f71d0c506c81.58beef435aa683a9.88d235528e226632
+    76046dc563548659.ec2e29d2922d32ee.329973deeb8a3fdf.dd77e333cc1ef280
+    264451cb93118cd7.9d64e07d9c761a90.b95aed05ca267d8f.187fd896017f4291
+    8d5ca5807a59efd2.fdaf188cc7b56014.c9ccd9a51287fae6.953610e5c8d2926f
+    b0e8888ebda21dc4
+
+VPEXTRB_GtoE_128_0xF(reg)
+  before
+    c5e13afb7d7b203c.8618e6ce35366a76.695bce69ae784025.3dbdb4a9dfb87210
+    2f6c249aa4e9d784.ef438ea2dfb6bbee.3db3fd82ee4bf670.f3f7f9fc4ec5a038
+    4cd642d6cd797e48.a2ab1be895e59c67.d605a14122b8bda0.c647248c7bbb418b
+    776c8e1b94b65034.7d1a088d72cdc90c.8e9bb614e74dd262.9179b24481a51135
+    32591d107c8fcc61
+  after
+    c5e13afb7d7b203c.8618e6ce35366a76.695bce69ae784025.3dbdb4a9dfb87210
+    2f6c249aa4e9d784.ef438ea2dfb6bbee.3db3fd82ee4bf670.f3f7f9fc4ec5a038
+    4cd642d6cd797e48.a2ab1be895e59c67.d605a14122b8bda0.c647248c7bbb418b
+    776c8e1b94b65034.7d1a088d72cdc90c.8e9bb614e74dd262.9179b24481a51135
+    000000000000003d
+VPEXTRB_GtoE_128_0xF(mem)
+  before
+    83b2e3dc89862d3c.0b7806d5962d8af2.5b5ed17b937d000a.c2c23966d8967062
+    62527f94c395f1f1.6647a5706e696831.1741f3a013fefb8c.cec625a3921dd54b
+    a9036e2547c9d4ad.e3246758b9f6259b.8f90e8e70e5e77bf.0ef37637b0713bca
+    36922a79312d919b.dd5d48f91261fedd.9d162e3ca2a82fcf.de94288ece1bdf8a
+    9bf7371589a9fc38
+  after
+    83b2e3dc89862d3c.0b7806d5962d8af2.5b5ed17b937d000a.c2c23966d8967017
+    62527f94c395f1f1.6647a5706e696831.1741f3a013fefb8c.cec625a3921dd54b
+    a9036e2547c9d4ad.e3246758b9f6259b.8f90e8e70e5e77bf.0ef37637b0713bca
+    36922a79312d919b.dd5d48f91261fedd.9d162e3ca2a82fcf.de94288ece1bdf8a
+    9bf7371589a9fc38
+
+VPEXTRB_GtoE_128_0xF(reg)
+  before
+    9f66a0367da6cf80.e3cb317e9bcde5e8.b23c45bf16352fa2.1ea1408be8e8e1e7
+    472f5e5f459e940d.8d7afe1ea4b58cc0.bc0f581760fef497.effb9bc0fe2b4734
+    ef9c6dfa7d1e878c.116b0d4765f2424e.59207f6b8d488867.eaf2b9c7ff7c1de2
+    f2f9c975c2b1e3a8.496adae4fc8fc2bf.e3bcb62938a028c0.ed50188c08e8211c
+    d2e233fb357a0d0e
+  after
+    9f66a0367da6cf80.e3cb317e9bcde5e8.b23c45bf16352fa2.1ea1408be8e8e1e7
+    472f5e5f459e940d.8d7afe1ea4b58cc0.bc0f581760fef497.effb9bc0fe2b4734
+    ef9c6dfa7d1e878c.116b0d4765f2424e.59207f6b8d488867.eaf2b9c7ff7c1de2
+    f2f9c975c2b1e3a8.496adae4fc8fc2bf.e3bcb62938a028c0.ed50188c08e8211c
+    00000000000000bc
+VPEXTRB_GtoE_128_0xF(mem)
+  before
+    76748601a13e9ee6.ae946f3bafe4e50e.1242e2e18599c93f.b82ef7bcfe92104b
+    b5d18e88684090cd.7eb859b7e141c96a.49c0a0291b1a13f9.32c4408f7aa87bb6
+    6cc7c57ea78d9ef2.beb08557f457cb67.c8b090abdb215b19.aec98b104970a6ad
+    7520a9ce7930857f.cac9ee8682af26b2.6cde2e50e0b75fcc.8988d6aa0676cddc
+    1d4e1dc94d442cee
+  after
+    76748601a13e9ee6.ae946f3bafe4e50e.1242e2e18599c93f.b82ef7bcfe921049
+    b5d18e88684090cd.7eb859b7e141c96a.49c0a0291b1a13f9.32c4408f7aa87bb6
+    6cc7c57ea78d9ef2.beb08557f457cb67.c8b090abdb215b19.aec98b104970a6ad
+    7520a9ce7930857f.cac9ee8682af26b2.6cde2e50e0b75fcc.8988d6aa0676cddc
+    1d4e1dc94d442cee
+
+VPMINUB_128(reg)
+  before
+    c7675adabb68fe8f.ada9b563fb3601a0.fe5091b12ad717f6.1116f60546ead83e
+    e31f8b47ec6e806d.f02e652b48aacd83.b58e6842855ad9e0.932465b62ac5859b
+    cec2ab7d7be0ee32.1a7b36117d98a651.4dd271a632c5aa1b.ced3f650a855200e
+    e29bb6e9044c838a.075ca301b50d4839.2167a74acaa2c455.9ef025bddba566c3
+    df476eebdfc113e8
+  after
+    0000000000000000.0000000000000000.4d8e6842325aaa1b.932465502a55200e
+    e31f8b47ec6e806d.f02e652b48aacd83.b58e6842855ad9e0.932465b62ac5859b
+    cec2ab7d7be0ee32.1a7b36117d98a651.4dd271a632c5aa1b.ced3f650a855200e
+    e29bb6e9044c838a.075ca301b50d4839.2167a74acaa2c455.9ef025bddba566c3
+    df476eebdfc113e8
+VPMINUB_128(mem)
+  before
+    6da44ec4d1b6e3a6.7cf8a8f5243e7d22.939c28e70c146f65.8c980798eb806437
+    24d34036cc8f912c.f8237e0f764116a6.9a0941b0a0b9d601.ecb38bfe31e8c570
+    e0a0c02ced58daa4.b26933a297e18ac1.f86d6a468a083a3b.9c0231e6376825a9
+    7dd64a924f1d7a3a.0616c31922aa1720.89952096e80e573c.f7d2f4be9a8bbe91
+    5b6fd0f1f5deccd2
+  after
+    6da44ec4d1b6e3a6.7cf8a8f5243e7d22.939c28e70c146f65.8c980798eb806437
+    24d34036cc8f912c.f8237e0f764116a6.9a0941b0a0b9d601.ecb38bfe31e8c570
+    0000000000000000.0000000000000000.930928b00c146f01.8c98079831806437
+    7dd64a924f1d7a3a.0616c31922aa1720.89952096e80e573c.f7d2f4be9a8bbe91
+    5b6fd0f1f5deccd2
+
+VPMINUB_128(reg)
+  before
+    2224c1ebe4ec8d19.d7435a540feb2c1b.50762ae2b429f76e.294dde8dd6d7e933
+    aa3fc41804413b11.cab16d5e48cead73.ecd46568e8e96658.b46120166f6dab4a
+    4d0ad4e4f06a1367.32edfe9d17d0b96d.367e6e185b76a28a.069d621ccfde5aad
+    69d3edbc45f250c6.ebc389fb97ff0b36.8abe435ca85de5af.facc208d1336b289
+    6ebbd754567f6e0a
+  after
+    0000000000000000.0000000000000000.367e65185b766658.066120166f6d5a4a
+    aa3fc41804413b11.cab16d5e48cead73.ecd46568e8e96658.b46120166f6dab4a
+    4d0ad4e4f06a1367.32edfe9d17d0b96d.367e6e185b76a28a.069d621ccfde5aad
+    69d3edbc45f250c6.ebc389fb97ff0b36.8abe435ca85de5af.facc208d1336b289
+    6ebbd754567f6e0a
+VPMINUB_128(mem)
+  before
+    3d36025db5c74b5b.58e40b0a9f6530db.d0ff8a66e56761fa.44e1dfa16c296c73
+    43091d944b1a05a9.778a2a3b9850ed52.bf6c7ec81c1275e4.c0333f5342677384
+    5b00a5e535825720.231047bccf3ec3d6.93d8e00f580f0321.5a005ddfc6a2358c
+    63e7143d8e0dffeb.b6c45df8ddbbf014.270d2c25b667c9dc.6d9437b09566ef37
+    573ac8314b3fdd32
+  after
+    3d36025db5c74b5b.58e40b0a9f6530db.d0ff8a66e56761fa.44e1dfa16c296c73
+    43091d944b1a05a9.778a2a3b9850ed52.bf6c7ec81c1275e4.c0333f5342677384
+    0000000000000000.0000000000000000.bf6c7e661c1261e4.44333f5342296c73
+    63e7143d8e0dffeb.b6c45df8ddbbf014.270d2c25b667c9dc.6d9437b09566ef37
+    573ac8314b3fdd32
+
+VPMINUB_128(reg)
+  before
+    73400cd083ba3b29.358ae88673c7b737.8df0685a6154aeb8.59d8def852288142
+    1df000f8d96244c8.afb49cadffbb3b2f.04e26450f4943a6d.04057273475de87f
+    b0979e15eac435b9.ac32ac9f4ff54900.77e44e453407d0df.03606582b112b9be
+    8a81e493516b49ab.07d095477e819bd5.434321a5bd3aabbb.34b43211ad54b22b
+    71cf550d562e8df4
+  after
+    0000000000000000.0000000000000000.04e24e4534073a6d.030565734712b97f
+    1df000f8d96244c8.afb49cadffbb3b2f.04e26450f4943a6d.04057273475de87f
+    b0979e15eac435b9.ac32ac9f4ff54900.77e44e453407d0df.03606582b112b9be
+    8a81e493516b49ab.07d095477e819bd5.434321a5bd3aabbb.34b43211ad54b22b
+    71cf550d562e8df4
+VPMINUB_128(mem)
+  before
+    987b4a60c9ac0643.05facddeabe3be48.9e5ad190a96ceedc.c24bd9dc2ab808ad
+    83858df721dbdb44.7f4d566293b9ce3d.4b9cde68ebc1fd3e.51477256180d2361
+    10b99bbf7bc6c624.53c8798ca677b635.ec6137ba608c8629.4c85e88022c63782
+    19e3efa2f27a840f.dcb534c67facb1dd.5b77597225da43c9.0f4f38c4e46e81bc
+    f6f25d8ffb923dbc
+  after
+    987b4a60c9ac0643.05facddeabe3be48.9e5ad190a96ceedc.c24bd9dc2ab808ad
+    83858df721dbdb44.7f4d566293b9ce3d.4b9cde68ebc1fd3e.51477256180d2361
+    0000000000000000.0000000000000000.4b5ad168a96cee3e.51477256180d0861
+    19e3efa2f27a840f.dcb534c67facb1dd.5b77597225da43c9.0f4f38c4e46e81bc
+    f6f25d8ffb923dbc
+
+VPMAXSB_128(reg)
+  before
+    5dba534e03bca72e.7bcf058ea302d030.7861827ebbe1fde0.75a8be7c56b6f04a
+    a0f3166c977bfabe.13495a6ea96a68b4.81185f1ef5a4d4eb.17c1e4c50e2d4bd7
+    1be9a35453587317.bb1c682e21be06c6.5426c814ca8172aa.1b8e4637694a0e9d
+    2ae8f474d4e14ee5.5015adba260b6693.4ed6b7cbd50215c8.5edb60bf8419f6c7
+    bc74ae4a7aa6bf82
+  after
+    0000000000000000.0000000000000000.54265f1ef5a472eb.1bc14637694a4bd7
+    a0f3166c977bfabe.13495a6ea96a68b4.81185f1ef5a4d4eb.17c1e4c50e2d4bd7
+    1be9a35453587317.bb1c682e21be06c6.5426c814ca8172aa.1b8e4637694a0e9d
+    2ae8f474d4e14ee5.5015adba260b6693.4ed6b7cbd50215c8.5edb60bf8419f6c7
+    bc74ae4a7aa6bf82
+VPMAXSB_128(mem)
+  before
+    1224adc268fe24f9.283b0737b5a1c7d5.ae00a4fed45c4647.c9762aafb3b5f7f2
+    3ab9d815692ce259.732fd80993241993.b2a9c9e648be600d.23501c2cff2655d4
+    11fdab2e9a3db5ce.6610615609f781ca.36dc995e9e3c7112.b6b189ae55df6b19
+    73bda2f9163c5883.5d2aa08bb4a53b27.17658e52f1e23581.dfe56ea1526e746d
+    fa38c671925fad7e
+  after
+    1224adc268fe24f9.283b0737b5a1c7d5.ae00a4fed45c4647.c9762aafb3b5f7f2
+    3ab9d815692ce259.732fd80993241993.b2a9c9e648be600d.23501c2cff2655d4
+    0000000000000000.0000000000000000.b200c9fe485c6047.23762a2cff2655f2
+    73bda2f9163c5883.5d2aa08bb4a53b27.17658e52f1e23581.dfe56ea1526e746d
+    fa38c671925fad7e
+
+VPMAXSB_128(reg)
+  before
+    63f68d8bb03c52f5.3cc53a62fa3588a5.b3c98f122fbb8256.310f26af5dbd6787
+    776bbf5948939e81.48e0ee556135015f.c6392c5817c49302.60a7dc5fffd7c450
+    90e25849f7f0cecc.73dc3abe68477fde.f1c573ca074caad8.80f92d50f33f0807
+    0ba855c558dd1e83.99839a892a77bd4e.8fba5ed39be00383.6dd1936d54feeed9
+    03fb8ca13e2233f1
+  after
+    0000000000000000.0000000000000000.f1397358174caa02.60f92d5fff3f0850
+    776bbf5948939e81.48e0ee556135015f.c6392c5817c49302.60a7dc5fffd7c450
+    90e25849f7f0cecc.73dc3abe68477fde.f1c573ca074caad8.80f92d50f33f0807
+    0ba855c558dd1e83.99839a892a77bd4e.8fba5ed39be00383.6dd1936d54feeed9
+    03fb8ca13e2233f1
+VPMAXSB_128(mem)
+  before
+    1e4393daceb7937c.4409b13b08e8ca51.96a38aa3c3d278da.fe65ebde700bd9b0
+    9a7424031fc7caa6.97516816a29d0de3.460687f650636caf.981015592259690a
+    535cbc084e60939a.60cc76c2c38724e4.85790c70ed3655f8.bb08d8af4c56ef3f
+    25c5d5d6768dac85.fbc6d7ab06324b01.2fc795fbb557eee2.c298304c8a8fa6f8
+    080e1a9c7990cbe3
+  after
+    1e4393daceb7937c.4409b13b08e8ca51.96a38aa3c3d278da.fe65ebde700bd9b0
+    9a7424031fc7caa6.97516816a29d0de3.460687f650636caf.981015592259690a
+    0000000000000000.0000000000000000.46068af6506378da.fe6515597059690a
+    25c5d5d6768dac85.fbc6d7ab06324b01.2fc795fbb557eee2.c298304c8a8fa6f8
+    080e1a9c7990cbe3
+
+VPMAXSB_128(reg)
+  before
+    eab4910bb5e39aac.eb7ced57b35bce92.c48a883d082abee5.20be9e85c4d3f498
+    c5d79105d9164fff.834d7f7823d5b8ee.176584e464fcb83e.3329a3f937b62348
+    f3c316f781b42587.c8040826df0724c5.50a4c70cb63376b5.46d32143290a361b
+    d2c41c4b4a4a59f1.966c024b05fecf42.cb914d229c5c33f9.3489934fb7ddea40
+    d9177509fd3bfbe1
+  after
+    0000000000000000.0000000000000000.5065c70c6433763e.46292143370a3648
+    c5d79105d9164fff.834d7f7823d5b8ee.176584e464fcb83e.3329a3f937b62348
+    f3c316f781b42587.c8040826df0724c5.50a4c70cb63376b5.46d32143290a361b
+    d2c41c4b4a4a59f1.966c024b05fecf42.cb914d229c5c33f9.3489934fb7ddea40
+    d9177509fd3bfbe1
+VPMAXSB_128(mem)
+  before
+    1049435d152f242a.bc26a06fcf6327e8.c853ebd5b1c57592.e3781390af012db4
+    b7eb7a371ec52348.0e359dcdad8bca19.3c833eaffe69d1e0.f6a714c48db19e92
+    a9c895843109b267.243c0fd37f4f7f2f.cdc977c408f4a059.5f694c29d2f5c340
+    c1ad102e6c088db2.5b88f2ece23a82d7.56f11302ec749e28.7a09b72a195bd76a
+    a2d45135fe6e18bb
+  after
+    1049435d152f242a.bc26a06fcf6327e8.c853ebd5b1c57592.e3781390af012db4
+    b7eb7a371ec52348.0e359dcdad8bca19.3c833eaffe69d1e0.f6a714c48db19e92
+    0000000000000000.0000000000000000.3c533ed5fe6975e0.f67814c4af012db4
+    c1ad102e6c088db2.5b88f2ece23a82d7.56f11302ec749e28.7a09b72a195bd76a
+    a2d45135fe6e18bb
+
+VPMINSB_128(reg)
+  before
+    351617b51ebbc0e0.dd676723ebcd7256.0d66438471d90fbd.b5c78c54c6f5877a
+    8e1b041614cd0b85.d7c0164dc9641b7f.9720fd07c8b6618c.c41660a6b181167b
+    082f14c47d303755.8d859a9a23da4558.55021ce1855fb5f1.61ac0ae5c9270856
+    019d432cf4707efd.d9816ef5143aab0d.a35a9c7e41604797.665306fb2bf01938
+    b1d8d1d5f2ea044d
+  after
+    0000000000000000.0000000000000000.9702fde185b6b58c.c4ac0aa6b1810856
+    8e1b041614cd0b85.d7c0164dc9641b7f.9720fd07c8b6618c.c41660a6b181167b
+    082f14c47d303755.8d859a9a23da4558.55021ce1855fb5f1.61ac0ae5c9270856
+    019d432cf4707efd.d9816ef5143aab0d.a35a9c7e41604797.665306fb2bf01938
+    b1d8d1d5f2ea044d
+VPMINSB_128(mem)
+  before
+    1c07e6603b2086c0.d3b38eb8161a1d28.99820e4ab8910bcc.dd73794a9a43522b
+    85acc086219e5bbd.dcbbf0d57eba4f83.a752f6852ce91fbf.5f98b0b22c971459
+    c693de35c1713f72.760265f0c9da51b9.e0bfa3928c51a312.85163c2092e5c7cc
+    bc88b95836a4ed09.ffd4e97492085f77.2193905df3d255f2.ab39190268bba731
+    2d4d43c34ba4f233
+  after
+    1c07e6603b2086c0.d3b38eb8161a1d28.99820e4ab8910bcc.dd73794a9a43522b
+    85acc086219e5bbd.dcbbf0d57eba4f83.a752f6852ce91fbf.5f98b0b22c971459
+    0000000000000000.0000000000000000.9982f685b8910bbf.dd98b0b29a97142b
+    bc88b95836a4ed09.ffd4e97492085f77.2193905df3d255f2.ab39190268bba731
+    2d4d43c34ba4f233
+
+VPMINSB_128(reg)
+  before
+    679eb7ced62ce27f.4356cfdb9c4422ae.d17d78cc76cfb569.449b39d27d7aef8b
+    b5777091a6e0b4c1.38ca9aaa115c9a8e.4a490f6610bc8f3a.26a31ade47542e08
+    73266a77564ba3a4.75b098b1aef810d5.c483a9adfd5a2897.a376af6b6c6dce96
+    fcf5a1ec83faecd5.d7d445dc912442ae.9c79420dd835bd2c.98e2756709cf8a60
+    dfb1e7bd39891f93
+  after
+    0000000000000000.0000000000000000.c483a9adfdbc8f97.a3a3afde4754ce96
+    b5777091a6e0b4c1.38ca9aaa115c9a8e.4a490f6610bc8f3a.26a31ade47542e08
+    73266a77564ba3a4.75b098b1aef810d5.c483a9adfd5a2897.a376af6b6c6dce96
+    fcf5a1ec83faecd5.d7d445dc912442ae.9c79420dd835bd2c.98e2756709cf8a60
+    dfb1e7bd39891f93
+VPMINSB_128(mem)
+  before
+    55b0815819a4495b.ae31115cc978cbff.3a021b17d6ede946.2f75d6f23dda89a4
+    d6abbf26c42ec3e3.e426b734c2517ccf.7a06984e985fc4c8.d7c462c8c9d4caab
+    3e6e1e1257324a58.fa208ede0c113af0.73ab376ef3848d61.f1b2e0fc18afbaef
+    69c51808edbd9ae5.4b6a92c74345420f.02be7461046a013d.d98a4ef8c4f89519
+    eb9aa7296c3a99d8
+  after
+    55b0815819a4495b.ae31115cc978cbff.3a021b17d6ede946.2f75d6f23dda89a4
+    d6abbf26c42ec3e3.e426b734c2517ccf.7a06984e985fc4c8.d7c462c8c9d4caab
+    0000000000000000.0000000000000000.3a02981798edc4c8.d7c4d6c8c9d489a4
+    69c51808edbd9ae5.4b6a92c74345420f.02be7461046a013d.d98a4ef8c4f89519
+    eb9aa7296c3a99d8
+
+VPMINSB_128(reg)
+  before
+    842ce8fcaa0200d6.337b2bf5a3da6fb7.3552bf5c0278d0d8.010bcb15e61cdc87
+    fe8d0bdc1ada07bf.785ed3c3949584fa.13221107e63720f6.4d5eb975b6a7da6c
+    b60a0e345950ea41.14388a5fdcfb96d9.402785368a0d6d16.c283b86c9016b617
+    08edec7202f0e405.e3d6ceb698176181.1aad16548a86f4e4.3c4646e88e752db5
+    9672dfd4cfd1fb72
+  after
+    0000000000000000.0000000000000000.132285078a0d20f6.c283b86c90a7b617
+    fe8d0bdc1ada07bf.785ed3c3949584fa.13221107e63720f6.4d5eb975b6a7da6c
+    b60a0e345950ea41.14388a5fdcfb96d9.402785368a0d6d16.c283b86c9016b617
+    08edec7202f0e405.e3d6ceb698176181.1aad16548a86f4e4.3c4646e88e752db5
+    9672dfd4cfd1fb72
+VPMINSB_128(mem)
+  before
+    aed5fd1c6c35db79.5082a101b24532ba.c10419b2e4f5a11d.fb00c0cd832ff10b
+    5f391ead83ad8af7.ea172a4d04db100a.8a8ee941dba211da.416c7f0d11939f38
+    856bbd713046c417.32f682c2953eb9a1.1a40ba4d99296ee4.463d5080cf3e3b16
+    fc3756558e0b4406.846da4cc00fb6b2d.4ce506c43b967466.68be2e9259bd0152
+    013c15af4c9b2d97
+  after
+    aed5fd1c6c35db79.5082a101b24532ba.c10419b2e4f5a11d.fb00c0cd832ff10b
+    5f391ead83ad8af7.ea172a4d04db100a.8a8ee941dba211da.416c7f0d11939f38
+    0000000000000000.0000000000000000.8a8ee9b2dba2a1da.fb00c0cd83939f0b
+    fc3756558e0b4406.846da4cc00fb6b2d.4ce506c43b967466.68be2e9259bd0152
+    013c15af4c9b2d97
+
+VPERM2F128_0x00(reg)
+  before
+    6e0301444364fa92.9f696546ba08c8ef.3cc68fd8e19d6057.fe4a4b91ddf6de8d
+    0c5fefbbdba5a5ef.4ccc672ecf4a0a00.b54e3c50d5b1d4ce.0b3c04a099546984
+    359cd982afe96a59.de2ed6fbe9dcc662.4d51a9a278c1053c.4f85addd8ebcd178
+    4605bd035cbc847d.3159309825caba44.5f1ad038655c2d4d.a5f1c234d63bd194
+    eb4ec0928ddc2705
+  after
+    b54e3c50d5b1d4ce.0b3c04a099546984.b54e3c50d5b1d4ce.0b3c04a099546984
+    0c5fefbbdba5a5ef.4ccc672ecf4a0a00.b54e3c50d5b1d4ce.0b3c04a099546984
+    359cd982afe96a59.de2ed6fbe9dcc662.4d51a9a278c1053c.4f85addd8ebcd178
+    4605bd035cbc847d.3159309825caba44.5f1ad038655c2d4d.a5f1c234d63bd194
+    eb4ec0928ddc2705
+VPERM2F128_0x00(mem)
+  before
+    fc6722e1cfab8df7.9ce896ac7dab3107.201af0f09f21a0cf.47f7af80390b89ae
+    b307640fbab5bf95.918f61e8af41aaa2.893d93f172ec3532.613242e58e5c540b
+    eefb020667057b0c.824718238d0a2efa.468e9386ba373497.081883d303dacb0f
+    870f78b4f4a77b88.cb5cb9c9b493f7bc.35d86e9b940f5b2b.9af570b632122a67
+    721504fab78fadbf
+  after
+    fc6722e1cfab8df7.9ce896ac7dab3107.201af0f09f21a0cf.47f7af80390b89ae
+    b307640fbab5bf95.918f61e8af41aaa2.893d93f172ec3532.613242e58e5c540b
+    893d93f172ec3532.613242e58e5c540b.893d93f172ec3532.613242e58e5c540b
+    870f78b4f4a77b88.cb5cb9c9b493f7bc.35d86e9b940f5b2b.9af570b632122a67
+    721504fab78fadbf
+
+VPERM2F128_0x00(reg)
+  before
+    ebc43b0b2fdd8fc2.5c0f43047da87c34.c81a3f46bf674294.30e99f1d1c7f6419
+    634e115535880e1d.47c7dee11d13393d.d5cda6064b124b2e.158ba3f66c940b8e
+    34fe8244661d637b.2602c539f1f570ce.4ec0eb75f3214e35.be8bf413a3580eb5
+    bc218b455d28cd89.d38e74f71459db14.8f410800531f8655.09b51061dada27bc
+    d0d572ca302313cc
+  after
+    d5cda6064b124b2e.158ba3f66c940b8e.d5cda6064b124b2e.158ba3f66c940b8e
+    634e115535880e1d.47c7dee11d13393d.d5cda6064b124b2e.158ba3f66c940b8e
+    34fe8244661d637b.2602c539f1f570ce.4ec0eb75f3214e35.be8bf413a3580eb5
+    bc218b455d28cd89.d38e74f71459db14.8f410800531f8655.09b51061dada27bc
+    d0d572ca302313cc
+VPERM2F128_0x00(mem)
+  before
+    f0b7963cbe418d13.550427c2b73386f2.2b356808a24b363a.f49afb110898303b
+    4627f8a2a23f53bd.5df052290fcccb63.0bc41c56b8d73f6d.d918bf16ad198893
+    acf015e8f82a1ff6.2e3409e5027ed888.4d070cce710ab0d9.9a075079df2dc909
+    ffdf68fadb0cade9.251b46612bd6e80c.cecab45ceaef46a9.93b3aba83a613048
+    2067cb0e5940f9fc
+  after
+    f0b7963cbe418d13.550427c2b73386f2.2b356808a24b363a.f49afb110898303b
+    4627f8a2a23f53bd.5df052290fcccb63.0bc41c56b8d73f6d.d918bf16ad198893
+    0bc41c56b8d73f6d.d918bf16ad198893.0bc41c56b8d73f6d.d918bf16ad198893
+    ffdf68fadb0cade9.251b46612bd6e80c.cecab45ceaef46a9.93b3aba83a613048
+    2067cb0e5940f9fc
+
+VPERM2F128_0x00(reg)
+  before
+    9d71ac17d8565fd2.1bc06dc468f4bbc2.9ff0070b265f399c.6bd990ed3f93bd0a
+    661b4a2f542fa076.dd5fa032baeb03af.f601474e91a504e4.feff1d6c8a01d027
+    d7b2a1c26858f693.1f887d30edff42d9.879803960535888f.640ad6c4ea453c2d
+    4b82ae3cb15c9dd6.be0781aa1e3b346f.af023550209aff49.79c437e3786bbd48
+    19fabcb453800ea3
+  after
+    f601474e91a504e4.feff1d6c8a01d027.f601474e91a504e4.feff1d6c8a01d027
+    661b4a2f542fa076.dd5fa032baeb03af.f601474e91a504e4.feff1d6c8a01d027
+    d7b2a1c26858f693.1f887d30edff42d9.879803960535888f.640ad6c4ea453c2d
+    4b82ae3cb15c9dd6.be0781aa1e3b346f.af023550209aff49.79c437e3786bbd48
+    19fabcb453800ea3
+VPERM2F128_0x00(mem)
+  before
+    2078e223948fec6b.20d76c0acac8d3eb.96a7278d69ac949b.c88bdbe67d60a6c0
+    6a09231c59a513cb.b1fcd7965027d27d.8335ebc3e95d1f89.2f7ff0c5b914b99d
+    d37bfd8bbecd3ff0.593feb4ede05d739.617d4a3aba5a9167.4029705a7041748f
+    3798eb5cde132b06.76eaa49c10ee1dca.0c4bbeddf9b0a55e.57d7570f3d731240
+    d1d3a252bc37d05c
+  after
+    2078e223948fec6b.20d76c0acac8d3eb.96a7278d69ac949b.c88bdbe67d60a6c0
+    6a09231c59a513cb.b1fcd7965027d27d.8335ebc3e95d1f89.2f7ff0c5b914b99d
+    8335ebc3e95d1f89.2f7ff0c5b914b99d.8335ebc3e95d1f89.2f7ff0c5b914b99d
+    3798eb5cde132b06.76eaa49c10ee1dca.0c4bbeddf9b0a55e.57d7570f3d731240
+    d1d3a252bc37d05c
+
+VPERM2F128_0xFF(reg)
+  before
+    086a4c8e8a18e991.722e6a7cd6849438.634affee836fe1dd.606bc598c16a189d
+    59e8512f42a39b88.6007f4d5c12b36b3.7babf7afd3145f1d.39a9da562f94a64e
+    2099ada0816220f0.ddf00755bb14cda2.1c59884b9b67d337.73d079055e3a0b9d
+    b9c85c4fe2e4b573.c5b41ee6e14c1432.a0a0af2e77f678d7.eaae1e906b6902b8
+    7a0d46e4712d49c8
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    59e8512f42a39b88.6007f4d5c12b36b3.7babf7afd3145f1d.39a9da562f94a64e
+    2099ada0816220f0.ddf00755bb14cda2.1c59884b9b67d337.73d079055e3a0b9d
+    b9c85c4fe2e4b573.c5b41ee6e14c1432.a0a0af2e77f678d7.eaae1e906b6902b8
+    7a0d46e4712d49c8
+VPERM2F128_0xFF(mem)
+  before
+    ffba6ceb8d9099fc.80c35ba802b295bd.f421b6764fdec88f.65cb66c4044c8ca8
+    54810c92daa0b17e.d0d4a5157c5afd7c.460249f01fd6a5e4.c528ab79def64957
+    572ea2c675694b7a.07483603ec672959.962255407041665e.1d0179b99f7feb90
+    e38cab7179f5241d.806b0bdfef655503.c24e55525c2ac828.caa3ccf0e673affe
+    265aa18b4d5fd14d
+  after
+    ffba6ceb8d9099fc.80c35ba802b295bd.f421b6764fdec88f.65cb66c4044c8ca8
+    54810c92daa0b17e.d0d4a5157c5afd7c.460249f01fd6a5e4.c528ab79def64957
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e38cab7179f5241d.806b0bdfef655503.c24e55525c2ac828.caa3ccf0e673affe
+    265aa18b4d5fd14d
+
+VPERM2F128_0xFF(reg)
+  before
+    8e72f2f470ce8d2b.d369a2810252f893.97891e1321e1bc24.a552c512ff9d876f
+    5f36bd99ec4c1f42.058f03e12d8c8207.a8ee6d0d1d669b68.1afa216c76a75e5f
+    f3f4fde55c66c23e.54cb4a7d16ae7fa6.0fe5f3377f812e7c.ff12e64cdc530b23
+    a7f6af445da7b3cc.9be9f340d8c4ab9c.27bbacffe4bdb10c.2f658f9f4ead48e7
+    85c0984fe7c2d1d9
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    5f36bd99ec4c1f42.058f03e12d8c8207.a8ee6d0d1d669b68.1afa216c76a75e5f
+    f3f4fde55c66c23e.54cb4a7d16ae7fa6.0fe5f3377f812e7c.ff12e64cdc530b23
+    a7f6af445da7b3cc.9be9f340d8c4ab9c.27bbacffe4bdb10c.2f658f9f4ead48e7
+    85c0984fe7c2d1d9
+VPERM2F128_0xFF(mem)
+  before
+    dff07d4ac39d6423.d789cd228a9b2d98.b8b57b188fdac214.4ebd95d0e8a65fc3
+    17bfba7a004bbbf1.dff955eb7fcf6e4d.85fa5df158fd7f3b.df35a81626c9754e
+    0bfacccdb7d69370.1c92420bd9ceb098.e08615b54e389f3c.3570e33d3ab02f59
+    956c2e2e064ca7cc.e8a090ee34252f24.a3231f518e97de44.aeb941b1c1eac88f
+    a45ebfde56007d9d
+  after
+    dff07d4ac39d6423.d789cd228a9b2d98.b8b57b188fdac214.4ebd95d0e8a65fc3
+    17bfba7a004bbbf1.dff955eb7fcf6e4d.85fa5df158fd7f3b.df35a81626c9754e
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    956c2e2e064ca7cc.e8a090ee34252f24.a3231f518e97de44.aeb941b1c1eac88f
+    a45ebfde56007d9d
+
+VPERM2F128_0xFF(reg)
+  before
+    75a9573196808a2e.93e35c8909b9b530.a06e3c002b5e299e.ac9ef8b13327f77e
+    7ce807141cf52bef.df29d2cadb2877c9.a04940ae5b07d8b2.d5c31ac25af3a717
+    1465caf585ec9b8b.560c0ddd98a5a9c2.447e9a625eac790b.fc5e036f1e08aa3b
+    9a6d9c3e6cf017af.d55687ae5d3c0948.e857458ad3d84856.fb3b2ea39c71bc15
+    af26184cef3a98d2
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    7ce807141cf52bef.df29d2cadb2877c9.a04940ae5b07d8b2.d5c31ac25af3a717
+    1465caf585ec9b8b.560c0ddd98a5a9c2.447e9a625eac790b.fc5e036f1e08aa3b
+    9a6d9c3e6cf017af.d55687ae5d3c0948.e857458ad3d84856.fb3b2ea39c71bc15
+    af26184cef3a98d2
+VPERM2F128_0xFF(mem)
+  before
+    f5ea3b55346ffb9d.6b4c795d6e8ddb07.36d4be2a46fa5187.e8213e905417803e
+    a75415aa861da1a3.e14d5ebd2650223e.56522e3b6dea3eaa.a0277fe27df55e70
+    a2302137014f4510.5abe46ca30c42901.129b51cff1198cde.6bb706ebebff1e98
+    c24adbe8c212a50f.30e92df029752cfc.447da5d0ec92f64f.a71bce1739c0fc61
+    afa1d3d204c53377
+  after
+    f5ea3b55346ffb9d.6b4c795d6e8ddb07.36d4be2a46fa5187.e8213e905417803e
+    a75415aa861da1a3.e14d5ebd2650223e.56522e3b6dea3eaa.a0277fe27df55e70
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    c24adbe8c212a50f.30e92df029752cfc.447da5d0ec92f64f.a71bce1739c0fc61
+    afa1d3d204c53377
+
+VPERM2F128_0x30(reg)
+  before
+    df931188e7980088.e36ec0a9e5717acd.c01b0f9badf067da.c9c2a52c7a613928
+    933e85a57fc89e3e.e2684b6785788376.66a0e93757c01547.7d37cdceb8921195
+    26ed2a9667de4b45.9903f70cbe337a35.7fc4b530c37173f1.3ca899a2c13239c3
+    f6eefcc53c68414a.e50c4386adaf1c36.65d371f38e90bd81.e2e18593b14d6ede
+    4bae0e90a6ed6c12
+  after
+    26ed2a9667de4b45.9903f70cbe337a35.66a0e93757c01547.7d37cdceb8921195
+    933e85a57fc89e3e.e2684b6785788376.66a0e93757c01547.7d37cdceb8921195
+    26ed2a9667de4b45.9903f70cbe337a35.7fc4b530c37173f1.3ca899a2c13239c3
+    f6eefcc53c68414a.e50c4386adaf1c36.65d371f38e90bd81.e2e18593b14d6ede
+    4bae0e90a6ed6c12
+VPERM2F128_0x30(mem)
+  before
+    53dbaf82b920ef8a.5e8bf79f99f1bdf9.a250a8bf6ef825a6.751819ea54a82ea6
+    d633e45608f1b272.b91218911b06fafd.ac98a3a51c1851b1.0be1a783b045040a
+    b0832af8af6d72f7.65cd59065d323603.dfb3b123d31d5b83.837819283ef47959
+    bd97fb55c99feb45.bc09b86afb01abb7.176c4d25b0120047.392a69479b40c941
+    8943954b62b6316b
+  after
+    53dbaf82b920ef8a.5e8bf79f99f1bdf9.a250a8bf6ef825a6.751819ea54a82ea6
+    d633e45608f1b272.b91218911b06fafd.ac98a3a51c1851b1.0be1a783b045040a
+    53dbaf82b920ef8a.5e8bf79f99f1bdf9.ac98a3a51c1851b1.0be1a783b045040a
+    bd97fb55c99feb45.bc09b86afb01abb7.176c4d25b0120047.392a69479b40c941
+    8943954b62b6316b
+
+VPERM2F128_0x30(reg)
+  before
+    cf0f99a030e0ee86.d93bd5577293d988.1c123028920095c4.308ff397ce04fc29
+    67d96fb2a04c393c.e03b33ecc756f7eb.df34beaebeba32d7.05e720654afe0a56
+    adef15ed4f865139.ae6391ffe4f3029a.63ba5c671abbbc9b.74414f7b3f0ce7fa
+    fd9b86bdd819702b.1f7e6c7be476b6c2.02f108c0428f70bd.5869fbc5c93b4f40
+    8d2ba22f0696fd55
+  after
+    adef15ed4f865139.ae6391ffe4f3029a.df34beaebeba32d7.05e720654afe0a56
+    67d96fb2a04c393c.e03b33ecc756f7eb.df34beaebeba32d7.05e720654afe0a56
+    adef15ed4f865139.ae6391ffe4f3029a.63ba5c671abbbc9b.74414f7b3f0ce7fa
+    fd9b86bdd819702b.1f7e6c7be476b6c2.02f108c0428f70bd.5869fbc5c93b4f40
+    8d2ba22f0696fd55
+VPERM2F128_0x30(mem)
+  before
+    ef53c0a60f29af65.b32abe8ed791d3bb.0e593f4ee3ecce8f.1a26bd23d3c389e8
+    59accf1402011f9b.2be8b9cde97ab698.59c18663fe60072c.05a377fd68e345c9
+    a9044d67fb290924.c12174e4aa61546c.db80bda650de1dc6.20b533bb9e79de0c
+    ba25b58a15ad2b2b.d121ea41b5d1eae3.6f626004f673cb89.c8a7ebc71013905c
+    57c79d8f5b3d9966
+  after
+    ef53c0a60f29af65.b32abe8ed791d3bb.0e593f4ee3ecce8f.1a26bd23d3c389e8
+    59accf1402011f9b.2be8b9cde97ab698.59c18663fe60072c.05a377fd68e345c9
+    ef53c0a60f29af65.b32abe8ed791d3bb.59c18663fe60072c.05a377fd68e345c9
+    ba25b58a15ad2b2b.d121ea41b5d1eae3.6f626004f673cb89.c8a7ebc71013905c
+    57c79d8f5b3d9966
+
+VPERM2F128_0x30(reg)
+  before
+    2a5f457e1a8133d5.67dc83696c9a3fdd.b633174fa657b4aa.f335ec670b2acfa0
+    9dbdddffea6d9b56.8ef534f01dfb0265.cea5f7791a7eee6d.42c4dbbcac0fe338
+    0d2b6280668d0d95.093c420b44dd2ff1.74c1862dadd2d3d7.37daabf0f42fc37c
+    d4f6d16c2b6bc43d.b67d2ba6fc4a83aa.03d4c1d6fadfa095.b044d8ed00952d99
+    87cedca1eb4edbba
+  after
+    0d2b6280668d0d95.093c420b44dd2ff1.cea5f7791a7eee6d.42c4dbbcac0fe338
+    9dbdddffea6d9b56.8ef534f01dfb0265.cea5f7791a7eee6d.42c4dbbcac0fe338
+    0d2b6280668d0d95.093c420b44dd2ff1.74c1862dadd2d3d7.37daabf0f42fc37c
+    d4f6d16c2b6bc43d.b67d2ba6fc4a83aa.03d4c1d6fadfa095.b044d8ed00952d99
+    87cedca1eb4edbba
+VPERM2F128_0x30(mem)
+  before
+    9a4435f7d1648a0c.4f6a252fd496fdfb.6f836aad6151babf.d92aa3e09d329053
+    c3725edbcfe6f5bb.dad25a36fd97f47b.121b7b0c90fb9059.510f28b73357e1bc
+    e024d33901dddaf2.d17c6deb43fce468.7912dbb0a456c1a7.c6ce4cc857d8cd7d
+    cb2510fd8257f3de.90b258bb42500a6e.82320583ba6d08d3.96b50c7da6439141
+    1b0e6243bb2368b5
+  after
+    9a4435f7d1648a0c.4f6a252fd496fdfb.6f836aad6151babf.d92aa3e09d329053
+    c3725edbcfe6f5bb.dad25a36fd97f47b.121b7b0c90fb9059.510f28b73357e1bc
+    9a4435f7d1648a0c.4f6a252fd496fdfb.121b7b0c90fb9059.510f28b73357e1bc
+    cb2510fd8257f3de.90b258bb42500a6e.82320583ba6d08d3.96b50c7da6439141
+    1b0e6243bb2368b5
+
+VPERM2F128_0x21(reg)
+  before
+    b3264c8733059084.614292136e5ffcab.73c11913951fa23a.07477573ed4c220a
+    b849c6b4a974435b.7f47d367e201b384.d6f5ab5dd8f6e878.e61fa76a5a00ca77
+    88c3ca35bafcbde6.ff0051e5fa4ad295.159a0b07a86017d3.f98517561c94be47
+    7ddf5678012a3cd0.be39887ad145160c.8cfc337ca1ea6cf8.1d4442224f15b8a5
+    2e29a2ba118e74be
+  after
+    159a0b07a86017d3.f98517561c94be47.b849c6b4a974435b.7f47d367e201b384
+    b849c6b4a974435b.7f47d367e201b384.d6f5ab5dd8f6e878.e61fa76a5a00ca77
+    88c3ca35bafcbde6.ff0051e5fa4ad295.159a0b07a86017d3.f98517561c94be47
+    7ddf5678012a3cd0.be39887ad145160c.8cfc337ca1ea6cf8.1d4442224f15b8a5
+    2e29a2ba118e74be
+VPERM2F128_0x21(mem)
+  before
+    0900b50a7b0bb0be.f4eb64e81a89fac6.99bef21083ff3b12.976721285d1e2393
+    8895f7feab9826d0.4a31f3f1a2a53474.6a5a0d952d83fcd6.9226d0777b8b784f
+    88b4e282bd429321.d9fffcff350b2685.0edb53f3eadd1682.d8863cd595baa6d9
+    e529f483cc15b3dc.fe9f7c7e6e460ba5.610b4318d71a4542.c7d361ae4739eadc
+    ba593c6e2e938005
+  after
+    0900b50a7b0bb0be.f4eb64e81a89fac6.99bef21083ff3b12.976721285d1e2393
+    8895f7feab9826d0.4a31f3f1a2a53474.6a5a0d952d83fcd6.9226d0777b8b784f
+    99bef21083ff3b12.976721285d1e2393.8895f7feab9826d0.4a31f3f1a2a53474
+    e529f483cc15b3dc.fe9f7c7e6e460ba5.610b4318d71a4542.c7d361ae4739eadc
+    ba593c6e2e938005
+
+VPERM2F128_0x21(reg)
+  before
+    0d64c881e555a300.7bbfa8ebf41b412e.165d70dbe9e22082.3fb756ef0f454444
+    1b40015408099078.26437aa85262fa43.7b87d380436ca1c5.84ab0964af6ad0b2
+    4238e351343e831a.c282e6a401f59a46.8a68a1da186fc91d.0cb2d963d295a5b8
+    dd9a6be6057db891.2b4669cd1ee1dc64.9f4bd7560277d534.b39a41d894d37f83
+    552dbdb01230193e
+  after
+    8a68a1da186fc91d.0cb2d963d295a5b8.1b40015408099078.26437aa85262fa43
+    1b40015408099078.26437aa85262fa43.7b87d380436ca1c5.84ab0964af6ad0b2
+    4238e351343e831a.c282e6a401f59a46.8a68a1da186fc91d.0cb2d963d295a5b8
+    dd9a6be6057db891.2b4669cd1ee1dc64.9f4bd7560277d534.b39a41d894d37f83
+    552dbdb01230193e
+VPERM2F128_0x21(mem)
+  before
+    ce39cad568b63017.47b0937e16546a8a.3d5b7e0ec5317dc8.167d6f5fa01101b6
+    fa88e234b1738037.dec75984044ed6b0.d48fa15310f1399f.4b4a67608cc88951
+    b5e783ba0a72c5cd.fc2bb8666af838b0.ccad4e881e2ecc15.9afebac76229a8ae
+    db2228518dc0ba03.ff27ad8fe4ddcb36.0180019908f3f155.5fe564ffbfbe9b7c
+    f64b62743e159e65
+  after
+    ce39cad568b63017.47b0937e16546a8a.3d5b7e0ec5317dc8.167d6f5fa01101b6
+    fa88e234b1738037.dec75984044ed6b0.d48fa15310f1399f.4b4a67608cc88951
+    3d5b7e0ec5317dc8.167d6f5fa01101b6.fa88e234b1738037.dec75984044ed6b0
+    db2228518dc0ba03.ff27ad8fe4ddcb36.0180019908f3f155.5fe564ffbfbe9b7c
+    f64b62743e159e65
+
+VPERM2F128_0x21(reg)
+  before
+    bb7bae927bbaed15.48044de759681c05.4109326b0f89cced.4fd53772ed4c668c
+    0ac246c51438c339.d85b6f678876a700.201b456686897782.92786bffe646e4e5
+    3f6d257aa21b5d7d.66f108bd36f71620.f6aae1ede66808a1.a535192c11ec2a8d
+    b6c6481bc3eff68d.d09396d580f62691.2003026acbb2baf5.66d8bde68a4af2b0
+    b02cd4176c6df979
+  after
+    f6aae1ede66808a1.a535192c11ec2a8d.0ac246c51438c339.d85b6f678876a700
+    0ac246c51438c339.d85b6f678876a700.201b456686897782.92786bffe646e4e5
+    3f6d257aa21b5d7d.66f108bd36f71620.f6aae1ede66808a1.a535192c11ec2a8d
+    b6c6481bc3eff68d.d09396d580f62691.2003026acbb2baf5.66d8bde68a4af2b0
+    b02cd4176c6df979
+VPERM2F128_0x21(mem)
+  before
+    5fffd8add460fb14.cb19a9161341cc14.f10d959b817f937d.fb6fa54bd0f4ca2a
+    4e1b4793dd2fb3af.d9b446d52d9c19be.a52b7ffb569f1813.e13dc5fa91b974ee
+    5b4d9db5a3e7de74.3ee21ac6ad8d1a38.c7b9d1e21a61737d.2fb85ee5ab8df3ea
+    606154ff4393388f.55ee2154309f0a2e.3582083aead25ee8.422b6c76b9fd84cd
+    74e4eb1b57946341
+  after
+    5fffd8add460fb14.cb19a9161341cc14.f10d959b817f937d.fb6fa54bd0f4ca2a
+    4e1b4793dd2fb3af.d9b446d52d9c19be.a52b7ffb569f1813.e13dc5fa91b974ee
+    f10d959b817f937d.fb6fa54bd0f4ca2a.4e1b4793dd2fb3af.d9b446d52d9c19be
+    606154ff4393388f.55ee2154309f0a2e.3582083aead25ee8.422b6c76b9fd84cd
+    74e4eb1b57946341
+
+VPERM2F128_0x12(reg)
+  before
+    222dd83f23deccf3.3b23ea5dd83f7d2d.7a2558eb525e274b.c9549ff0e1fc957f
+    a8532d4eb668fa8e.c75fd9bb7ff8687a.08d3b9f7ae56ab3c.61f912f11cedd66f
+    62a1e8b4aebd2abf.dfe09f0554c9b6a1.5d4442e4e014d2ad.d73ede28b6b1dbe3
+    ac6504dda7699831.6173b82771bf23cf.d4c4ee1e8523da49.09ef7e80cc536109
+    d1d76de779df230a
+  after
+    a8532d4eb668fa8e.c75fd9bb7ff8687a.5d4442e4e014d2ad.d73ede28b6b1dbe3
+    a8532d4eb668fa8e.c75fd9bb7ff8687a.08d3b9f7ae56ab3c.61f912f11cedd66f
+    62a1e8b4aebd2abf.dfe09f0554c9b6a1.5d4442e4e014d2ad.d73ede28b6b1dbe3
+    ac6504dda7699831.6173b82771bf23cf.d4c4ee1e8523da49.09ef7e80cc536109
+    d1d76de779df230a
+VPERM2F128_0x12(mem)
+  before
+    0dc42a48d961df15.e2ea7e363cf97f91.27e59e0ef5e46a30.c89fba113810fdbd
+    97802e8f09e64f53.607b512909f81d8b.0e00cfa4f94748ef.9720a029966678b4
+    4dd9f6a825792ff3.82657824abf3acca.f390c6d79cf17938.9b949ed33ab186db
+    0999ff8048273d1f.a4f4f191be7468fb.b063ff91f7f0b939.3247af79c17e64dd
+    b685cf89c6584e67
+  after
+    0dc42a48d961df15.e2ea7e363cf97f91.27e59e0ef5e46a30.c89fba113810fdbd
+    97802e8f09e64f53.607b512909f81d8b.0e00cfa4f94748ef.9720a029966678b4
+    97802e8f09e64f53.607b512909f81d8b.27e59e0ef5e46a30.c89fba113810fdbd
+    0999ff8048273d1f.a4f4f191be7468fb.b063ff91f7f0b939.3247af79c17e64dd
+    b685cf89c6584e67
+
+VPERM2F128_0x12(reg)
+  before
+    849afb6ee6cb8025.a88dc4018efa3304.2274b8dedd098fc9.2244f6c0294fc31b
+    f9d22d93bc6436c2.0681c1181401cecd.5831c776a43e5be1.26fe284f4b1b540d
+    6f786366e4aeabeb.004073b2f545caa7.a2761cc5b09e09ee.965e102a7b5e2839
+    44da9852fb351c4c.709854b94ed4e2bd.5c91b2369cb5d49e.4f302a3dd527facc
+    2d40f274747f88f1
+  after
+    f9d22d93bc6436c2.0681c1181401cecd.a2761cc5b09e09ee.965e102a7b5e2839
+    f9d22d93bc6436c2.0681c1181401cecd.5831c776a43e5be1.26fe284f4b1b540d
+    6f786366e4aeabeb.004073b2f545caa7.a2761cc5b09e09ee.965e102a7b5e2839
+    44da9852fb351c4c.709854b94ed4e2bd.5c91b2369cb5d49e.4f302a3dd527facc
+    2d40f274747f88f1
+VPERM2F128_0x12(mem)
+  before
+    0c5ae5bb74748bd5.d242c8c39d86c490.3353e21b3ab9d33c.e2cc8537050ff99a
+    c94a7dfff211c2a3.76fdf026652ce163.253e98c3d6015950.8f7492348639b491
+    3edb382a0a63e788.8c570be5efb3ad72.2225f39d3db72f24.c1d5d397bcbe412d
+    48da912ad775b7b0.719b156dd8a86469.06d46d958ce712e5.d33b46cd422bdb1a
+    21f2e643b50bbf05
+  after
+    0c5ae5bb74748bd5.d242c8c39d86c490.3353e21b3ab9d33c.e2cc8537050ff99a
+    c94a7dfff211c2a3.76fdf026652ce163.253e98c3d6015950.8f7492348639b491
+    c94a7dfff211c2a3.76fdf026652ce163.3353e21b3ab9d33c.e2cc8537050ff99a
+    48da912ad775b7b0.719b156dd8a86469.06d46d958ce712e5.d33b46cd422bdb1a
+    21f2e643b50bbf05
+
+VPERM2F128_0x12(reg)
+  before
+    0645af63b0ea299a.c31405e97553ee46.7f170a2bbc9644f4.ad178497de9dbebe
+    e0819e9bd0555584.8b530e55010a4877.1315e689350987be.f3bab38f50e6efdc
+    09f3ae55b0d77e70.7c632a5996a4806e.89e3a6f5e28e6a73.b4887669fdce606b
+    dfe5daffecfce10a.7212d4e151305358.3dcb45da5db029c1.cc4e4911015fce96
+    17d8a97479a7f58a
+  after
+    e0819e9bd0555584.8b530e55010a4877.89e3a6f5e28e6a73.b4887669fdce606b
+    e0819e9bd0555584.8b530e55010a4877.1315e689350987be.f3bab38f50e6efdc
+    09f3ae55b0d77e70.7c632a5996a4806e.89e3a6f5e28e6a73.b4887669fdce606b
+    dfe5daffecfce10a.7212d4e151305358.3dcb45da5db029c1.cc4e4911015fce96
+    17d8a97479a7f58a
+VPERM2F128_0x12(mem)
+  before
+    71f2117c81b29172.bda321042150bafd.492b88d94db77d60.8b1abfa442fbff51
+    b668fd17348a5d7b.fe7b7cd0eb6044f6.dd79c32da747b9b4.cf1b10be2efc29d2
+    c206e930ae3d16d1.00b8e9cfe5b8bca0.09c9ffc97aecc47d.651c3496bc3ee3ee
+    719752b30cd7789f.1da5626dabe25ea8.abe7ba99e3b05aea.a9672898884e6851
+    f74ae72e30b7f6a8
+  after
+    71f2117c81b29172.bda321042150bafd.492b88d94db77d60.8b1abfa442fbff51
+    b668fd17348a5d7b.fe7b7cd0eb6044f6.dd79c32da747b9b4.cf1b10be2efc29d2
+    b668fd17348a5d7b.fe7b7cd0eb6044f6.492b88d94db77d60.8b1abfa442fbff51
+    719752b30cd7789f.1da5626dabe25ea8.abe7ba99e3b05aea.a9672898884e6851
+    f74ae72e30b7f6a8
+
+VPERM2F128_0x03(reg)
+  before
+    ab0f6dc54d05c79f.9ee8b28c69623e11.b28fe517da6c66b9.9e9f6f8afda13625
+    2103b6ca7dc417e2.27c687a7e2ec2555.1cc26e370de10f80.bebd9b86e5cb165a
+    b472bfa75c81241c.e7fb4cf09281e995.b58af73ae1ce96a9.e60cb87bb638b4b6
+    c2a783ca85c728f9.ba537e53962b45fd.da337e8df1be37df.f45a44538cf6cc65
+    c371bafc84111c92
+  after
+    1cc26e370de10f80.bebd9b86e5cb165a.b472bfa75c81241c.e7fb4cf09281e995
+    2103b6ca7dc417e2.27c687a7e2ec2555.1cc26e370de10f80.bebd9b86e5cb165a
+    b472bfa75c81241c.e7fb4cf09281e995.b58af73ae1ce96a9.e60cb87bb638b4b6
+    c2a783ca85c728f9.ba537e53962b45fd.da337e8df1be37df.f45a44538cf6cc65
+    c371bafc84111c92
+VPERM2F128_0x03(mem)
+  before
+    2e1e9661ba945e6a.a6f0fe9d94235f26.7b9c97bc0af8f7ba.e809fe9bda3d2dcf
+    132d546e498b4f19.bc972c8e261f074f.08a1151708f4b9f8.395773cf37d8b624
+    4d6a710f4d02aaca.5fea0908d74a5a1f.3b2d7351ae2947e2.2a6ad997a51a0b8b
+    b7a16830e3062caa.ed339277422d9543.f20d2d5518a65fa5.178e2d5ebf906bb0
+    5c0f699022c4103e
+  after
+    2e1e9661ba945e6a.a6f0fe9d94235f26.7b9c97bc0af8f7ba.e809fe9bda3d2dcf
+    132d546e498b4f19.bc972c8e261f074f.08a1151708f4b9f8.395773cf37d8b624
+    08a1151708f4b9f8.395773cf37d8b624.2e1e9661ba945e6a.a6f0fe9d94235f26
+    b7a16830e3062caa.ed339277422d9543.f20d2d5518a65fa5.178e2d5ebf906bb0
+    5c0f699022c4103e
+
+VPERM2F128_0x03(reg)
+  before
+    56398b99694437e2.2f9db5bd26a291e4.c1bec2470356f467.070dc00e6174bb6d
+    5f588fe5309c1c47.8f2bd4a233e295a5.36d995e4b750b236.58f9a66aa6a11865
+    d4b76fe11456fb1a.b51842cc25d3f418.aacf07baf9a80c5d.bf9d5d54023831b9
+    11a429f7b1010f07.7b2e79251980696a.77eb153666e93e87.1ac560b89145c497
+    433c2c8270d58b29
+  after
+    36d995e4b750b236.58f9a66aa6a11865.d4b76fe11456fb1a.b51842cc25d3f418
+    5f588fe5309c1c47.8f2bd4a233e295a5.36d995e4b750b236.58f9a66aa6a11865
+    d4b76fe11456fb1a.b51842cc25d3f418.aacf07baf9a80c5d.bf9d5d54023831b9
+    11a429f7b1010f07.7b2e79251980696a.77eb153666e93e87.1ac560b89145c497
+    433c2c8270d58b29
+VPERM2F128_0x03(mem)
+  before
+    18cf3b9ebbf3429b.7269b894a22695b9.be39f79b2af6b1c7.fb7bbac2999f8461
+    734a0bf88daca71a.535318258353c8dd.5b073718753f875a.90c9f2cc2f571996
+    3179177c020b74d2.10ae4515f113e61e.2c63b68a156aa950.9422b9bec39c3ad3
+    2e28db17371c66ee.04c63bcf87f22929.0e18eedc2780d1d5.61d10b06f2fa23c4
+    5524e50f57fe0f14
+  after
+    18cf3b9ebbf3429b.7269b894a22695b9.be39f79b2af6b1c7.fb7bbac2999f8461
+    734a0bf88daca71a.535318258353c8dd.5b073718753f875a.90c9f2cc2f571996
+    5b073718753f875a.90c9f2cc2f571996.18cf3b9ebbf3429b.7269b894a22695b9
+    2e28db17371c66ee.04c63bcf87f22929.0e18eedc2780d1d5.61d10b06f2fa23c4
+    5524e50f57fe0f14
+
+VPERM2F128_0x03(reg)
+  before
+    ca6642458e333c70.4723d4b347eb389b.8de6f7c1e27dceaa.ddf35dfac68fbb14
+    1de21e143425e384.56357c3e4f85a804.065c74569e3f104c.76c07ed00ea22539
+    abe575e8e56143fb.382c51a36af57056.cb72aefa55c52dbc.b34bcd4a1dc6c971
+    cebb442d3c729681.c9d2cecdb5484dbd.3875a219a69a5ea5.7160c7540c0664e8
+    8ccbe7dbf96eb2ca
+  after
+    065c74569e3f104c.76c07ed00ea22539.abe575e8e56143fb.382c51a36af57056
+    1de21e143425e384.56357c3e4f85a804.065c74569e3f104c.76c07ed00ea22539
+    abe575e8e56143fb.382c51a36af57056.cb72aefa55c52dbc.b34bcd4a1dc6c971
+    cebb442d3c729681.c9d2cecdb5484dbd.3875a219a69a5ea5.7160c7540c0664e8
+    8ccbe7dbf96eb2ca
+VPERM2F128_0x03(mem)
+  before
+    e057a9c9ff0a6e42.e3b0854fd5e419c3.e5f470aa4b89fa64.a9b14a202a4ae2b4
+    49d1890c3be7557c.461036bb4d44086d.685eb12549c43478.7972a4798061f495
+    a306038ec91123a5.532652db3f1d9f2b.2edc0f2aca06b724.0603ab91416ccff3
+    cac0943dc49293e9.6740d61d48fb19a8.133905a5eb5a3f95.abb25bd50bf6b07a
+    c3c9b1b07a8cd2d8
+  after
+    e057a9c9ff0a6e42.e3b0854fd5e419c3.e5f470aa4b89fa64.a9b14a202a4ae2b4
+    49d1890c3be7557c.461036bb4d44086d.685eb12549c43478.7972a4798061f495
+    685eb12549c43478.7972a4798061f495.e057a9c9ff0a6e42.e3b0854fd5e419c3
+    cac0943dc49293e9.6740d61d48fb19a8.133905a5eb5a3f95.abb25bd50bf6b07a
+    c3c9b1b07a8cd2d8
+
+VPERM2F128_0x85(reg)
+  before
+    ac95a88d29b972b7.9acbb60448786274.dca8bceb046bb390.f3420f83c7cc87f7
+    c0623cdab509ccc3.eff5e7cf72ce4c71.0fab02b30df8a890.aac4a9ae7a684c75
+    5d7c6902b9091ca9.a509a38a5da10d0c.5c95a3e0022e3654.14895014213b4a3c
+    dd2f2b71d1449d15.98d2642126fc6072.1fb29bde7c9a9788.0d5e7f9fd8513d77
+    710fb23dbab4e053
+  after
+    0000000000000000.0000000000000000.c0623cdab509ccc3.eff5e7cf72ce4c71
+    c0623cdab509ccc3.eff5e7cf72ce4c71.0fab02b30df8a890.aac4a9ae7a684c75
+    5d7c6902b9091ca9.a509a38a5da10d0c.5c95a3e0022e3654.14895014213b4a3c
+    dd2f2b71d1449d15.98d2642126fc6072.1fb29bde7c9a9788.0d5e7f9fd8513d77
+    710fb23dbab4e053
+VPERM2F128_0x85(mem)
+  before
+    1c6765d8e372f0fc.9ec67f939a468db2.a41da880e8eb03cf.b44de7191ac708d7
+    ea34155e7097289d.fa8f5fd4af9c252d.a5b6e993c07baf4e.77b482fd7542c4ed
+    b7403cba7d2d4663.4fd4c9a0add1a432.7769a647c9b7231c.c43168f62b950877
+    5e5858d824420479.f7e2b9643071446c.f50258861fab1965.f7119570d84f1021
+    6ba005d817f91897
+  after
+    1c6765d8e372f0fc.9ec67f939a468db2.a41da880e8eb03cf.b44de7191ac708d7
+    ea34155e7097289d.fa8f5fd4af9c252d.a5b6e993c07baf4e.77b482fd7542c4ed
+    0000000000000000.0000000000000000.ea34155e7097289d.fa8f5fd4af9c252d
+    5e5858d824420479.f7e2b9643071446c.f50258861fab1965.f7119570d84f1021
+    6ba005d817f91897
+
+VPERM2F128_0x85(reg)
+  before
+    7e2ab59885215b83.bd48e4a484e21f0c.4f05298ad2094287.fd4c7c3edf644e54
+    8bfb9f1ebd521694.afdc5d0ab6175247.b48917803224da31.6a158f5925ed7e16
+    ee5ec1d55b198574.0fe03df7d9f05b58.80b97eb0e94e4813.17270cc50c5264d6
+    03a11728fc00e4d0.bb1f02550676f468.10e35a889614c7dc.e24f6f6db0a0bdc1
+    a659353d2ee24503
+  after
+    0000000000000000.0000000000000000.8bfb9f1ebd521694.afdc5d0ab6175247
+    8bfb9f1ebd521694.afdc5d0ab6175247.b48917803224da31.6a158f5925ed7e16
+    ee5ec1d55b198574.0fe03df7d9f05b58.80b97eb0e94e4813.17270cc50c5264d6
+    03a11728fc00e4d0.bb1f02550676f468.10e35a889614c7dc.e24f6f6db0a0bdc1
+    a659353d2ee24503
+VPERM2F128_0x85(mem)
+  before
+    3e11d821a225b8c7.250e9b853c966e53.8d6727125cb7d9a6.c051a773d2019436
+    8843d6052773d139.b2f24b57b56460aa.63822818f4bec83b.ed5062dd3ba1eacd
+    5ebaaad5d9da4d87.0599220a06f8f681.183d8255ec977b56.f12c86326d81074f
+    9e43d17dd566e8db.794e1c0ac9dd6b83.8764afb4604faf21.29310ede032c2566
+    f1abf94d9a2e80be
+  after
+    3e11d821a225b8c7.250e9b853c966e53.8d6727125cb7d9a6.c051a773d2019436
+    8843d6052773d139.b2f24b57b56460aa.63822818f4bec83b.ed5062dd3ba1eacd
+    0000000000000000.0000000000000000.8843d6052773d139.b2f24b57b56460aa
+    9e43d17dd566e8db.794e1c0ac9dd6b83.8764afb4604faf21.29310ede032c2566
+    f1abf94d9a2e80be
+
+VPERM2F128_0x85(reg)
+  before
+    a5e540ebcd145604.22abc5ea36225d61.6c5f35c49aa0fc5c.8dc32d206bf11fc9
+    a12de1253869e1e4.c7bc0406191a6946.38176aa216cce5ba.0725778729898979
+    41cdd76578b95e09.6a4209bf995ac8b6.3bc1b511d8ed6247.cf580ad4b724a75e
+    e1121e192991091f.e50b5000d3ef36dc.cfaa147e7d90aeaf.c32660f331cd35a3
+    bd5cf7d1b291f175
+  after
+    0000000000000000.0000000000000000.a12de1253869e1e4.c7bc0406191a6946
+    a12de1253869e1e4.c7bc0406191a6946.38176aa216cce5ba.0725778729898979
+    41cdd76578b95e09.6a4209bf995ac8b6.3bc1b511d8ed6247.cf580ad4b724a75e
+    e1121e192991091f.e50b5000d3ef36dc.cfaa147e7d90aeaf.c32660f331cd35a3
+    bd5cf7d1b291f175
+VPERM2F128_0x85(mem)
+  before
+    9ac64a58567b9500.dd48b2ace67c1dd4.16e255b4e2e46ee5.521e8254a040069f
+    3730d5753a97de6f.91ba90894b07d7d2.d79295c9e3462dfc.1e69fcfedd89a6c3
+    6e65151579f187ef.59b6b21ef5bd73c5.05e88b2af1202f4e.90d67dead2f7c9c6
+    1c33842330964eab.908616d67f2a2d5b.7cb0b3c3287e2f07.05b300831817ac55
+    d74a83354d758b1b
+  after
+    9ac64a58567b9500.dd48b2ace67c1dd4.16e255b4e2e46ee5.521e8254a040069f
+    3730d5753a97de6f.91ba90894b07d7d2.d79295c9e3462dfc.1e69fcfedd89a6c3
+    0000000000000000.0000000000000000.3730d5753a97de6f.91ba90894b07d7d2
+    1c33842330964eab.908616d67f2a2d5b.7cb0b3c3287e2f07.05b300831817ac55
+    d74a83354d758b1b
+
+VPERM2F128_0x5A(reg)
+  before
+    63e8026c0d9ba2c6.1d64a08a7b92edd1.9478b71d86da403d.18b68980a56cea52
+    06d97794f3172cff.4dc5e43874ef218a.c0d6925fa55ae91a.b6c6894e84f71c5c
+    1a69e01a9b756674.8822cc1839bba504.70eda1097935639c.30ac3017e02a8150
+    fce43868a2408cd1.aa47d516e601366b.0008e2859df8ec6f.6333f9c8d512d45b
+    2b28604e80bad2a9
+  after
+    06d97794f3172cff.4dc5e43874ef218a.0000000000000000.0000000000000000
+    06d97794f3172cff.4dc5e43874ef218a.c0d6925fa55ae91a.b6c6894e84f71c5c
+    1a69e01a9b756674.8822cc1839bba504.70eda1097935639c.30ac3017e02a8150
+    fce43868a2408cd1.aa47d516e601366b.0008e2859df8ec6f.6333f9c8d512d45b
+    2b28604e80bad2a9
+VPERM2F128_0x5A(mem)
+  before
+    6458e193fc2e3765.08957beba304d9c2.90007a1e96ce90eb.cb755040ae2ebe40
+    ea8df985667bbfbc.9acaa5103b4d8bf2.1419371c662d6faf.2f7fe8a7476316bb
+    9993230fdaac25d9.0fcdb34206a8db0d.135d88fc712a8ee3.8671a42404232f8b
+    4d38db1d72cd26e9.c1eba0ec9ea008c0.6899e9abd4d2aab4.2e98822582fb475d
+    82407d155d7798dd
+  after
+    6458e193fc2e3765.08957beba304d9c2.90007a1e96ce90eb.cb755040ae2ebe40
+    ea8df985667bbfbc.9acaa5103b4d8bf2.1419371c662d6faf.2f7fe8a7476316bb
+    ea8df985667bbfbc.9acaa5103b4d8bf2.0000000000000000.0000000000000000
+    4d38db1d72cd26e9.c1eba0ec9ea008c0.6899e9abd4d2aab4.2e98822582fb475d
+    82407d155d7798dd
+
+VPERM2F128_0x5A(reg)
+  before
+    ddb5916030215eb6.e2479d9b4deb7e18.0d70687ca2c14cb7.f199d713aa307f4e
+    9d43ba729787d794.348be5758411e891.4fa8075dab98e59e.8929cd220f50c9dc
+    1c35f5b72f343d25.1ed13097364b2181.e3df7afb58b00c20.0c1547c2203f438b
+    b8d93d9b94b5cd13.7ee5f9ed7ca6e513.2560bbc2429600e9.5629c1e1f807aa87
+    4330b76ab4b7b9fb
+  after
+    9d43ba729787d794.348be5758411e891.0000000000000000.0000000000000000
+    9d43ba729787d794.348be5758411e891.4fa8075dab98e59e.8929cd220f50c9dc
+    1c35f5b72f343d25.1ed13097364b2181.e3df7afb58b00c20.0c1547c2203f438b
+    b8d93d9b94b5cd13.7ee5f9ed7ca6e513.2560bbc2429600e9.5629c1e1f807aa87
+    4330b76ab4b7b9fb
+VPERM2F128_0x5A(mem)
+  before
+    aff7a64970592e14.cb798e8a6195c20a.2f93bc64742def74.7078c81e07d4fba6
+    754b096a47f9c3fd.b262e4f132605ab7.0da7f5e63aecfdd0.22739c7c43f83a03
+    73f65cb955a335e3.cae03b3aa4a3cfc6.f4ec2161e9f0c952.969d3446918ef9ab
+    84c41b22b7643ff2.6d3f90d352e95de2.bf30bbbf9e440f27.28428aea8e21734b
+    34ae9cd2d53de58f
+  after
+    aff7a64970592e14.cb798e8a6195c20a.2f93bc64742def74.7078c81e07d4fba6
+    754b096a47f9c3fd.b262e4f132605ab7.0da7f5e63aecfdd0.22739c7c43f83a03
+    754b096a47f9c3fd.b262e4f132605ab7.0000000000000000.0000000000000000
+    84c41b22b7643ff2.6d3f90d352e95de2.bf30bbbf9e440f27.28428aea8e21734b
+    34ae9cd2d53de58f
+
+VPERM2F128_0x5A(reg)
+  before
+    162c656c026e8b22.8383c39188479f55.f8cade26d9be42b8.4c3d3eee74f48d7a
+    290ae123b241a0b1.4efecff3e5580f38.c7cf21a1d4afb8f3.76e029d9870dfd78
+    cb920d63804162e7.c000bb32e9a44bc9.379855afe047fc40.18e5f56cf49a1c4c
+    5711e39809fb0b71.b456033cb0361132.a27277bc98124a4b.10182093d6a7a523
+    3845253a4a415529
+  after
+    290ae123b241a0b1.4efecff3e5580f38.0000000000000000.0000000000000000
+    290ae123b241a0b1.4efecff3e5580f38.c7cf21a1d4afb8f3.76e029d9870dfd78
+    cb920d63804162e7.c000bb32e9a44bc9.379855afe047fc40.18e5f56cf49a1c4c
+    5711e39809fb0b71.b456033cb0361132.a27277bc98124a4b.10182093d6a7a523
+    3845253a4a415529
+VPERM2F128_0x5A(mem)
+  before
+    6e37804d6c73e889.28d3612ee9fad7fb.08cc24fb581a1b9f.65a98234989dddbf
+    8cbbadb9564a1a70.9c248291bbca0430.962e985dfa5d263d.dc8972837e73f249
+    709e286827d0a70a.0e4f432d1bf8ccbc.3c48dd4db40aed38.635d4315e321c594
+    f4aa6e47f8134a82.d9a29e6ea60f6c4d.d4e66eb7a22e2ebb.5673f1566531914d
+    111579b3a0319320
+  after
+    6e37804d6c73e889.28d3612ee9fad7fb.08cc24fb581a1b9f.65a98234989dddbf
+    8cbbadb9564a1a70.9c248291bbca0430.962e985dfa5d263d.dc8972837e73f249
+    8cbbadb9564a1a70.9c248291bbca0430.0000000000000000.0000000000000000
+    f4aa6e47f8134a82.d9a29e6ea60f6c4d.d4e66eb7a22e2ebb.5673f1566531914d
+    111579b3a0319320
+
+VPERMILPD_256_0x0(reg)
+  before
+    f091d6962fad07b8.f5abfa43e81fc004.5b6791c1f79b1f8d.3bd3c887dfd3a3f3
+    4f31046dae3029c2.506f484710ffc4be.eeeb1790ab292328.4edc65a98708080b
+    8a41ffa2ba4634e9.dfc1d53e8fbf14da.ef7a2c495d43b2cb.e7cdc309b7d61b31
+    fd0fc4a3ee7b65da.7f6c1b167e6b6a84.bb60cc57a9780822.e3725d948a4b968e
+    1f97af341d723650
+  after
+    f091d6962fad07b8.f5abfa43e81fc004.5b6791c1f79b1f8d.3bd3c887dfd3a3f3
+    dfc1d53e8fbf14da.dfc1d53e8fbf14da.e7cdc309b7d61b31.e7cdc309b7d61b31
+    8a41ffa2ba4634e9.dfc1d53e8fbf14da.ef7a2c495d43b2cb.e7cdc309b7d61b31
+    fd0fc4a3ee7b65da.7f6c1b167e6b6a84.bb60cc57a9780822.e3725d948a4b968e
+    1f97af341d723650
+VPERMILPD_256_0x0(mem)
+  before
+    750835d68c58b6a3.04e64ddbe75cf841.0d3d98bafb1082e9.ace9f4252c5163d8
+    c2906c67f107d4b3.fb1198b6417429c9.6300c71622b91a35.20609f21825cfd9a
+    e2fdcfd26b8e4aab.3edda1a09650331f.5e8124160e73ec93.7112c9b646251313
+    b119da0313f6d5b7.28976205857a53ee.da8c2ca7db49b530.fc4c6e501536e1f0
+    1e588b5c8a1da2dd
+  after
+    750835d68c58b6a3.04e64ddbe75cf841.0d3d98bafb1082e9.ace9f4252c5163d8
+    04e64ddbe75cf841.04e64ddbe75cf841.ace9f4252c5163d8.0d3d98bafb1082e9
+    e2fdcfd26b8e4aab.3edda1a09650331f.5e8124160e73ec93.7112c9b646251313
+    b119da0313f6d5b7.28976205857a53ee.da8c2ca7db49b530.fc4c6e501536e1f0
+    1e588b5c8a1da2dd
+
+VPERMILPD_256_0x0(reg)
+  before
+    31821b4441669385.0bb109e5084d3005.1788d951a781c5e3.b3ed59b3a6473137
+    92181975d79bf095.cd91d966639e18be.66ff00f19aeec4aa.c56f29278b7a1bd5
+    9d65845ce74af4b9.d185c57142f64911.7147d54ffa4f8dee.ecdf17f0a5ed3036
+    aeb455630effdc9c.f45848f3c1607f28.93ab54d9622f5c5b.040aa0f910ac2c85
+    e9ba3e2de9c3caef
+  after
+    31821b4441669385.0bb109e5084d3005.1788d951a781c5e3.b3ed59b3a6473137
+    d185c57142f64911.d185c57142f64911.ecdf17f0a5ed3036.ecdf17f0a5ed3036
+    9d65845ce74af4b9.d185c57142f64911.7147d54ffa4f8dee.ecdf17f0a5ed3036
+    aeb455630effdc9c.f45848f3c1607f28.93ab54d9622f5c5b.040aa0f910ac2c85
+    e9ba3e2de9c3caef
+VPERMILPD_256_0x0(mem)
+  before
+    77bb6f7a4b3fc79f.21528af8e845e4ea.12d8e1d6fbe8752f.2a7977f96f1b6d9f
+    8adbaecb532cdfc2.528b1d860fa84850.07cf09070d9be853.90fb3c1dbc9efb64
+    fee5770c1c94ce84.9dab0c7922b4437a.ae0a3e73128494c0.237e9eb0e5444356
+    afa44729c3854f10.5efe533cbaf61214.e555fa0426af35a2.3d4e991e879a8122
+    3cb629d33e2af074
+  after
+    77bb6f7a4b3fc79f.21528af8e845e4ea.12d8e1d6fbe8752f.2a7977f96f1b6d9f
+    21528af8e845e4ea.21528af8e845e4ea.2a7977f96f1b6d9f.12d8e1d6fbe8752f
+    fee5770c1c94ce84.9dab0c7922b4437a.ae0a3e73128494c0.237e9eb0e5444356
+    afa44729c3854f10.5efe533cbaf61214.e555fa0426af35a2.3d4e991e879a8122
+    3cb629d33e2af074
+
+VPERMILPD_256_0x0(reg)
+  before
+    7a044b3ba583cdf7.79e5980e630b1f93.f1d0ec3d76f9f1c9.877cbba866298624
+    5582fac2582e5458.3874e8a71930fa38.b26cd5e8ef491c45.704afd4aeefd4472
+    277e32d4f4b9c143.c81db2e100029c2c.fd2009a7c373ce35.7c8d3ad5d9372ab9
+    4e42efdd14b04f63.04ac73a6358dc09a.2e3684e78e024445.870ff03743e4f625
+    6c9d9a5b490f62e1
+  after
+    7a044b3ba583cdf7.79e5980e630b1f93.f1d0ec3d76f9f1c9.877cbba866298624
+    c81db2e100029c2c.c81db2e100029c2c.7c8d3ad5d9372ab9.7c8d3ad5d9372ab9
+    277e32d4f4b9c143.c81db2e100029c2c.fd2009a7c373ce35.7c8d3ad5d9372ab9
+    4e42efdd14b04f63.04ac73a6358dc09a.2e3684e78e024445.870ff03743e4f625
+    6c9d9a5b490f62e1
+VPERMILPD_256_0x0(mem)
+  before
+    0903b42d06c42b1a.241b2d4a559d3b64.caeca5e4d3db23b0.a1fb4215eb83b920
+    390dba9a97100cfc.0654e985530ec1f3.f5abc685f6fa8197.b2bb409b77816b73
+    d787298c17fec3b2.513b1efca88f1cbc.60b35177bbf6957e.bdc179e7cd8894ea
+    c13c7cf0a39a0a69.5f1ac81af2aa896b.e9d1c2a53ed91c8e.1d5be96389247130
+    30d38c7d48e23df2
+  after
+    0903b42d06c42b1a.241b2d4a559d3b64.caeca5e4d3db23b0.a1fb4215eb83b920
+    241b2d4a559d3b64.241b2d4a559d3b64.a1fb4215eb83b920.caeca5e4d3db23b0
+    d787298c17fec3b2.513b1efca88f1cbc.60b35177bbf6957e.bdc179e7cd8894ea
+    c13c7cf0a39a0a69.5f1ac81af2aa896b.e9d1c2a53ed91c8e.1d5be96389247130
+    30d38c7d48e23df2
+
+VPERMILPD_256_0xF(reg)
+  before
+    51765ea0a54d35db.d2fa2fb356f19d4c.8d3fe34bcded44ab.6bd195fb9ab2d2f6
+    dc905c383df29598.e58bbebf4d0e3a88.37f46cfbd4e48928.c17f4765eb8a73e0
+    2c6d81b1ac5c99d5.d8bca502a3fd9b48.b9865e96a4199390.c9a753cf4e6fba79
+    9f59c9778c177d3d.8559616774cb7db9.6f41b588d81b9f8c.5d143525de6c64ec
+    5b936954b88d2d66
+  after
+    51765ea0a54d35db.d2fa2fb356f19d4c.8d3fe34bcded44ab.6bd195fb9ab2d2f6
+    2c6d81b1ac5c99d5.2c6d81b1ac5c99d5.b9865e96a4199390.b9865e96a4199390
+    2c6d81b1ac5c99d5.d8bca502a3fd9b48.b9865e96a4199390.c9a753cf4e6fba79
+    9f59c9778c177d3d.8559616774cb7db9.6f41b588d81b9f8c.5d143525de6c64ec
+    5b936954b88d2d66
+VPERMILPD_256_0xF(mem)
+  before
+    9df16c46f7dfd012.8fa030f67cb07c7c.ca2e6ddadd839b07.b6706d3d0d73e9cb
+    01f8b8e8b86d0a1d.5a8db39b16b2d340.81064546fa32b35d.e8618221deafacf7
+    6174cb27164497b3.5a6d4dd0f6a9bd33.87af659ae6e37fe8.625ef1a1e75a26bc
+    9a3321ee2e6e33ff.ed8cfa03b8217701.b9f34abfbda2bbd4.80b4b527c50091c8
+    9eafca21142e29c4
+  after
+    9df16c46f7dfd012.8fa030f67cb07c7c.ca2e6ddadd839b07.b6706d3d0d73e9cb
+    9df16c46f7dfd012.9df16c46f7dfd012.ca2e6ddadd839b07.b6706d3d0d73e9cb
+    6174cb27164497b3.5a6d4dd0f6a9bd33.87af659ae6e37fe8.625ef1a1e75a26bc
+    9a3321ee2e6e33ff.ed8cfa03b8217701.b9f34abfbda2bbd4.80b4b527c50091c8
+    9eafca21142e29c4
+
+VPERMILPD_256_0xF(reg)
+  before
+    179b2cf96e6f2c5f.890034281bfa992e.6d36b69efaa73d57.f19f6fa29c7b254c
+    49c4d81d7250d443.08a681c3faf1866c.38b77d0f55c74be1.0c7f502f9f7b777c
+    8f76c9f8ba5b5d1c.f4f285aae661b6e4.a85b4cc1670bdd4a.e75f6953e0ad6e92
+    45fcfaf6e21f0597.29b0bbc9fc55e4c2.1a6d1e20cc012e3f.5c0a36f87e1ec5b7
+    484e340c93d93a1a
+  after
+    179b2cf96e6f2c5f.890034281bfa992e.6d36b69efaa73d57.f19f6fa29c7b254c
+    8f76c9f8ba5b5d1c.8f76c9f8ba5b5d1c.a85b4cc1670bdd4a.a85b4cc1670bdd4a
+    8f76c9f8ba5b5d1c.f4f285aae661b6e4.a85b4cc1670bdd4a.e75f6953e0ad6e92
+    45fcfaf6e21f0597.29b0bbc9fc55e4c2.1a6d1e20cc012e3f.5c0a36f87e1ec5b7
+    484e340c93d93a1a
+VPERMILPD_256_0xF(mem)
+  before
+    87f5de793bea87e5.c7a36a8387250660.84aca00d57dacd34.eb3bef981f357b6b
+    f5ccb02d935d6945.71b7120b44fb9d23.dfb2ae6013fb2d63.750fbb95fd31ff7b
+    6fa02613b63f9b65.9e84f0fab62c068a.178e63af4dc4c07e.15367e830183f81b
+    cf3abd17c19cda72.ac56febd78457c44.080b3ae7204141af.28fc35cec7b7a0f6
+    08acdbe3ec5733b9
+  after
+    87f5de793bea87e5.c7a36a8387250660.84aca00d57dacd34.eb3bef981f357b6b
+    87f5de793bea87e5.87f5de793bea87e5.84aca00d57dacd34.eb3bef981f357b6b
+    6fa02613b63f9b65.9e84f0fab62c068a.178e63af4dc4c07e.15367e830183f81b
+    cf3abd17c19cda72.ac56febd78457c44.080b3ae7204141af.28fc35cec7b7a0f6
+    08acdbe3ec5733b9
+
+VPERMILPD_256_0xF(reg)
+  before
+    12946c2c0bf1ef10.f269ef25cf7ee297.f6793bbe27d03cfb.8ef7aff2a97f6d22
+    a2fee517c1110ea6.b4f83a29fcf36f01.d738a06a5e5c825c.851c3ebe048a0005
+    1438400ea942cd27.f1b21a0f65063cdc.ade02a2eb9728a12.c94764354c6cb681
+    c48c7b7f60106840.856409c426c40653.d3bed675d5a08fca.36439b459d334ac5
+    a8de61d914ea79fb
+  after
+    12946c2c0bf1ef10.f269ef25cf7ee297.f6793bbe27d03cfb.8ef7aff2a97f6d22
+    1438400ea942cd27.1438400ea942cd27.ade02a2eb9728a12.ade02a2eb9728a12
+    1438400ea942cd27.f1b21a0f65063cdc.ade02a2eb9728a12.c94764354c6cb681
+    c48c7b7f60106840.856409c426c40653.d3bed675d5a08fca.36439b459d334ac5
+    a8de61d914ea79fb
+VPERMILPD_256_0xF(mem)
+  before
+    fbe332ddcc9eff4f.0e4791d582071a9d.4cda84325a388992.a41c9fab4e71ce30
+    0b1d883de25a97ef.4eb47e7ca9b420ea.21e008471d6e81c7.7e46813bbf7283ef
+    b459e1e5712afe04.e0213fe073a2b6d2.e24210ed8c73a91c.bb8a7893c42ee9b3
+    d163b8c2961bf0bd.20d9cf6d7c5d1701.6acc1912c352bebd.b933811efa313d2a
+    d28c9749fd08bbfe
+  after
+    fbe332ddcc9eff4f.0e4791d582071a9d.4cda84325a388992.a41c9fab4e71ce30
+    fbe332ddcc9eff4f.fbe332ddcc9eff4f.4cda84325a388992.a41c9fab4e71ce30
+    b459e1e5712afe04.e0213fe073a2b6d2.e24210ed8c73a91c.bb8a7893c42ee9b3
+    d163b8c2961bf0bd.20d9cf6d7c5d1701.6acc1912c352bebd.b933811efa313d2a
+    d28c9749fd08bbfe
+
+VPERMILPD_256_0xA(reg)
+  before
+    64e2b67e673e9fdb.400789be6c382844.6a27298f5f728124.95499da1dd177bd8
+    c981da2ad75f246e.dc11d0c60f8d64c5.1a584cb2b96c2de7.3f871a86f6cf9e96
+    5eb500bae7f88763.814c0ac79c275e6d.8cb8314325d85af5.43500bad2b85e126
+    80ca229833940465.0a86b1ac2f11d268.1c93d5ac3f4143fb.7f71ec02974501b2
+    ceb63971571cb966
+  after
+    64e2b67e673e9fdb.400789be6c382844.6a27298f5f728124.95499da1dd177bd8
+    5eb500bae7f88763.814c0ac79c275e6d.8cb8314325d85af5.43500bad2b85e126
+    5eb500bae7f88763.814c0ac79c275e6d.8cb8314325d85af5.43500bad2b85e126
+    80ca229833940465.0a86b1ac2f11d268.1c93d5ac3f4143fb.7f71ec02974501b2
+    ceb63971571cb966
+VPERMILPD_256_0xA(mem)
+  before
+    0bea6fe68615c76f.890c3e3258bfd621.55894360e3577ee1.2535355ba43323a5
+    14db094e413ce5f9.d6c64ff3f1063a42.3d223bd1d4061c05.05e94cbbf03a369e
+    c4538393a39ecf2f.c34552469bf46c75.9d1d16ea1f296900.17fc1637bee3ba93
+    f61f59a3c946433e.acd64199f115a866.53464e97e0cd20fd.b7bb903daab9e92f
+    4070b5385149001f
+  after
+    0bea6fe68615c76f.890c3e3258bfd621.55894360e3577ee1.2535355ba43323a5
+    0bea6fe68615c76f.890c3e3258bfd621.55894360e3577ee1.55894360e3577ee1
+    c4538393a39ecf2f.c34552469bf46c75.9d1d16ea1f296900.17fc1637bee3ba93
+    f61f59a3c946433e.acd64199f115a866.53464e97e0cd20fd.b7bb903daab9e92f
+    4070b5385149001f
+
+VPERMILPD_256_0xA(reg)
+  before
+    106880944f1e3b0f.880b0769ce41fb52.eec31a578ff629c0.396961c432fcfe28
+    82eef0bd3ec4d5aa.54e30ad0ce99b496.e358d8ec12222c30.2d51ca5d31c4bfaf
+    f150fe20bdc80b9c.3873ddc6e75c2936.e8e377c51625ed61.09cb064ffa311fbc
+    bbd8a72765b41993.0e87fc3632961860.59aff34c368ca800.aba48f84a84eda7b
+    eda6e3ea5827ab19
+  after
+    106880944f1e3b0f.880b0769ce41fb52.eec31a578ff629c0.396961c432fcfe28
+    f150fe20bdc80b9c.3873ddc6e75c2936.e8e377c51625ed61.09cb064ffa311fbc
+    f150fe20bdc80b9c.3873ddc6e75c2936.e8e377c51625ed61.09cb064ffa311fbc
+    bbd8a72765b41993.0e87fc3632961860.59aff34c368ca800.aba48f84a84eda7b
+    eda6e3ea5827ab19
+VPERMILPD_256_0xA(mem)
+  before
+    ad9e7d6b25c84fc2.3ad4e83fd5173b39.b3eae30ccd523b3d.920749ee0fe298b9
+    c557d9f52c3e81a1.cc8ebcd5a67aac3a.04690f34d39c4efc.ef3874183cb4fa37
+    129f73738894ffe3.cb531f54776ba943.dbd1fb9a61800fc7.cc8e7034598c0927
+    7040c8d056d783b3.956e0e27e1766e00.15eb232b930b38cb.855539b003f80334
+    76d9ccf7d584220b
+  after
+    ad9e7d6b25c84fc2.3ad4e83fd5173b39.b3eae30ccd523b3d.920749ee0fe298b9
+    ad9e7d6b25c84fc2.3ad4e83fd5173b39.b3eae30ccd523b3d.b3eae30ccd523b3d
+    129f73738894ffe3.cb531f54776ba943.dbd1fb9a61800fc7.cc8e7034598c0927
+    7040c8d056d783b3.956e0e27e1766e00.15eb232b930b38cb.855539b003f80334
+    76d9ccf7d584220b
+
+VPERMILPD_256_0xA(reg)
+  before
+    fb6524756cbba358.bc0753fab112c93e.842d83bc8225361c.8f8603d184488633
+    6f473d966329c1c6.d0c090dcb5518fb0.f5db7c7ef6063f44.236d177a5044b42c
+    30c913c6575ab902.8937fb637fa08f34.45c3f4d9d8a5c223.ae6bdc10140a80e1
+    9938a271e3dbc7b7.c33810792b0c86f7.ce32e839c48cfe66.0c4ecd81eba6a47f
+    19e066b8f225dd32
+  after
+    fb6524756cbba358.bc0753fab112c93e.842d83bc8225361c.8f8603d184488633
+    30c913c6575ab902.8937fb637fa08f34.45c3f4d9d8a5c223.ae6bdc10140a80e1
+    30c913c6575ab902.8937fb637fa08f34.45c3f4d9d8a5c223.ae6bdc10140a80e1
+    9938a271e3dbc7b7.c33810792b0c86f7.ce32e839c48cfe66.0c4ecd81eba6a47f
+    19e066b8f225dd32
+VPERMILPD_256_0xA(mem)
+  before
+    b2ee23a14491e625.06e0e703a4372792.5a8f4c0bd4a03025.ed74520a57492db9
+    b1448128fef97c85.d20ddde835fb153e.2a072a06966948e9.fed530b92d688cc7
+    f3aefa393b665b7d.5b0a808d33b2cc69.106e26548e728b6f.5ea17db0e173573d
+    54f70cc017e63f3a.fc25cc5c39e888bc.e68ebce3d7c7b5e4.6723355c0ff8cac7
+    76a9542a54832010
+  after
+    b2ee23a14491e625.06e0e703a4372792.5a8f4c0bd4a03025.ed74520a57492db9
+    b2ee23a14491e625.06e0e703a4372792.5a8f4c0bd4a03025.5a8f4c0bd4a03025
+    f3aefa393b665b7d.5b0a808d33b2cc69.106e26548e728b6f.5ea17db0e173573d
+    54f70cc017e63f3a.fc25cc5c39e888bc.e68ebce3d7c7b5e4.6723355c0ff8cac7
+    76a9542a54832010
+
+VPERMILPD_256_0x5(reg)
+  before
+    e77dd7854b9e96c4.b0ed32a9b084e3e8.10a8bdc3e42a87e6.8934699d8e758174
+    16ecb9d891d76790.e35ae9e01f4d04b2.f5e0502dcf030391.d52ba870cf87ac4b
+    5f42f691c1bad120.c90bab52824c5ec5.0619800596ff3969.a641f547b409f293
+    1ecb8a1b78d20e20.3dccf6e9f58dad4c.9e9f49b9d6aa651b.d741cc0e5c080f7b
+    46f6a9b1e08fbe2d
+  after
+    e77dd7854b9e96c4.b0ed32a9b084e3e8.10a8bdc3e42a87e6.8934699d8e758174
+    c90bab52824c5ec5.5f42f691c1bad120.a641f547b409f293.0619800596ff3969
+    5f42f691c1bad120.c90bab52824c5ec5.0619800596ff3969.a641f547b409f293
+    1ecb8a1b78d20e20.3dccf6e9f58dad4c.9e9f49b9d6aa651b.d741cc0e5c080f7b
+    46f6a9b1e08fbe2d
+VPERMILPD_256_0x5(mem)
+  before
+    ce2d091c5faabcd6.afd271e251ab5b3b.1d694593931dac74.1bbea8b42b91c253
+    4bb2673cf266c5a1.6ea5a852e9d1f31d.44ad143b78071869.d7c1976230408ebc
+    99513ffbb7ce95bb.b78e2ad7dbd11373.8e66e0cdc157ac56.2ff6142f81410203
+    93d60d46caeee750.e6daf3dec436f7e9.d75e2434891a2667.80a71a88bb225dd3
+    2421a5d7796ed9d9
+  after
+    ce2d091c5faabcd6.afd271e251ab5b3b.1d694593931dac74.1bbea8b42b91c253
+    afd271e251ab5b3b.ce2d091c5faabcd6.1bbea8b42b91c253.1bbea8b42b91c253
+    99513ffbb7ce95bb.b78e2ad7dbd11373.8e66e0cdc157ac56.2ff6142f81410203
+    93d60d46caeee750.e6daf3dec436f7e9.d75e2434891a2667.80a71a88bb225dd3
+    2421a5d7796ed9d9
+
+VPERMILPD_256_0x5(reg)
+  before
+    79b0b28a58b2b3c1.170c4e0a46d3788b.57d500d13f8ddb2a.fa625c5eed5b40ca
+    d9a03b0bf3792736.00c17d3248880499.65cb4b1ee860fae3.d53e04370826b7a9
+    a13c3ec8e74f71e5.2abf16a9eb1946a5.6e08d22f5c3e91c0.43be98a9f7884630
+    2dd2b62bcfc1cc7a.70d3955d4b93fbdc.cdd7907237b0dc6c.1fae95a1d58cab8c
+    47d9750bbf3ea0e9
+  after
+    79b0b28a58b2b3c1.170c4e0a46d3788b.57d500d13f8ddb2a.fa625c5eed5b40ca
+    2abf16a9eb1946a5.a13c3ec8e74f71e5.43be98a9f7884630.6e08d22f5c3e91c0
+    a13c3ec8e74f71e5.2abf16a9eb1946a5.6e08d22f5c3e91c0.43be98a9f7884630
+    2dd2b62bcfc1cc7a.70d3955d4b93fbdc.cdd7907237b0dc6c.1fae95a1d58cab8c
+    47d9750bbf3ea0e9
+VPERMILPD_256_0x5(mem)
+  before
+    960db6d4d0abe172.daaca0a2485a75a0.b0c976398501df69.de86815214441794
+    e714d4e625de2c54.0217f698eda7a703.c46d3629b46fae79.fc5fa23b8f857de3
+    18bb492fd9e43bbb.025fb6795b32a051.8a8b5019f5ea2338.85afed9945004b06
+    03ce939a09c8cbd2.36d0dbb12d899a33.dcee40f5647dfbd1.d4c260d8d240bda9
+    44e4f664d0d10e77
+  after
+    960db6d4d0abe172.daaca0a2485a75a0.b0c976398501df69.de86815214441794
+    daaca0a2485a75a0.960db6d4d0abe172.de86815214441794.de86815214441794
+    18bb492fd9e43bbb.025fb6795b32a051.8a8b5019f5ea2338.85afed9945004b06
+    03ce939a09c8cbd2.36d0dbb12d899a33.dcee40f5647dfbd1.d4c260d8d240bda9
+    44e4f664d0d10e77
+
+VPERMILPD_256_0x5(reg)
+  before
+    3360aba9de3f7b1c.86192d13d09697c6.fab661adff38d158.986382aa1b35f271
+    fb847c1395174046.7b6793864a5a5dc2.aa5c45d76ec9836a.98b79222391cc344
+    fa9a640f94e5999f.c08641df9421d7f3.a210819c16cbea15.bab4ed4bd8402b75
+    8aef5f077433c1d3.2f40b40acaf6c184.3e1c136992c74307.d8270e0f14ade631
+    cfdb715c096eb0a3
+  after
+    3360aba9de3f7b1c.86192d13d09697c6.fab661adff38d158.986382aa1b35f271
+    c08641df9421d7f3.fa9a640f94e5999f.bab4ed4bd8402b75.a210819c16cbea15
+    fa9a640f94e5999f.c08641df9421d7f3.a210819c16cbea15.bab4ed4bd8402b75
+    8aef5f077433c1d3.2f40b40acaf6c184.3e1c136992c74307.d8270e0f14ade631
+    cfdb715c096eb0a3
+VPERMILPD_256_0x5(mem)
+  before
+    7c9e931dd58f44f8.09cf6969d48ff58f.a56266f307e6d9a2.dacdf6a87e4bcae9
+    b93aee3e911c5f5b.d1867ea04d84717f.feb8d58667fbd979.d26f26c777e2ba6a
+    637c00aa5b22bdf9.405f9b177d9f704e.170e7db007447e34.824da03119185034
+    563144504fac19fe.b0a8bb3c006b2fa9.ca2fd85b02ca8300.46b55f52fe7ac8f3
+    7af15f95c5935d54
+  after
+    7c9e931dd58f44f8.09cf6969d48ff58f.a56266f307e6d9a2.dacdf6a87e4bcae9
+    09cf6969d48ff58f.7c9e931dd58f44f8.dacdf6a87e4bcae9.dacdf6a87e4bcae9
+    637c00aa5b22bdf9.405f9b177d9f704e.170e7db007447e34.824da03119185034
+    563144504fac19fe.b0a8bb3c006b2fa9.ca2fd85b02ca8300.46b55f52fe7ac8f3
+    7af15f95c5935d54
+
+VPERMILPD_128_0x0(reg)
+  before
+    7a4f9c6908f04d03.6f22361988c73095.7eabda7a7174ea3b.f4e96475759ba608
+    a1191237631cd2ab.881e53f2227ebeeb.07b5f43d6c47ddb1.71069ce97bc2a179
+    4d9cbe6c73a328f9.7ef015c73add7f2b.a51206f28e6f43b7.1e54fca2314c317f
+    d9249b74d3118d99.2d63fa85ecf12e82.b50e0a03737859f8.d59d008eb2441145
+    73ad24981bb6fef8
+  after
+    7a4f9c6908f04d03.6f22361988c73095.7eabda7a7174ea3b.f4e96475759ba608
+    0000000000000000.0000000000000000.1e54fca2314c317f.1e54fca2314c317f
+    4d9cbe6c73a328f9.7ef015c73add7f2b.a51206f28e6f43b7.1e54fca2314c317f
+    d9249b74d3118d99.2d63fa85ecf12e82.b50e0a03737859f8.d59d008eb2441145
+    73ad24981bb6fef8
+VPERMILPD_128_0x0(mem)
+  before
+    d452e5ac87aeb4c3.a0fca5bc1ff33b36.71457d1653c5881c.93f5feddb6ef5b21
+    d457beb61339efd3.0072d8aef5d46f7d.26601b688b654924.9c13ddedf35f84dd
+    4f872ba3da636a54.54d031b8ee416419.28814e66b1dd2dc7.2ab3a49dc75512d9
+    21afa95df836e271.f763aa44a8c558b7.537494fbe03aef30.9a224d5bcd5b3ec1
+    48acd692a2ff4740
+  after
+    d452e5ac87aeb4c3.a0fca5bc1ff33b36.71457d1653c5881c.93f5feddb6ef5b21
+    0000000000000000.0000000000000000.93f5feddb6ef5b21.71457d1653c5881c
+    4f872ba3da636a54.54d031b8ee416419.28814e66b1dd2dc7.2ab3a49dc75512d9
+    21afa95df836e271.f763aa44a8c558b7.537494fbe03aef30.9a224d5bcd5b3ec1
+    48acd692a2ff4740
+
+VPERMILPD_128_0x0(reg)
+  before
+    909d3aaee1cd6703.269bb2d18ac01357.477741c0bfec8502.8304681535884c8c
+    ce41761a2750dbb5.3a17c4ecac0cb931.9e58f197ce4327a8.94ff469fcbd1ff07
+    5ee484440f14df03.38ef5a9979278f2c.5a52b73571557c52.622fab85bf23c6cc
+    9cd1629836a5af99.feeff0c30d1c5274.d5b08d0645aebeaf.c96111b32c8a5b08
+    a461f6162f107be6
+  after
+    909d3aaee1cd6703.269bb2d18ac01357.477741c0bfec8502.8304681535884c8c
+    0000000000000000.0000000000000000.622fab85bf23c6cc.622fab85bf23c6cc
+    5ee484440f14df03.38ef5a9979278f2c.5a52b73571557c52.622fab85bf23c6cc
+    9cd1629836a5af99.feeff0c30d1c5274.d5b08d0645aebeaf.c96111b32c8a5b08
+    a461f6162f107be6
+VPERMILPD_128_0x0(mem)
+  before
+    d1fbd598e3c3e193.e4550b8037908622.67e2035885f7bd34.6dc07176e5db2a68
+    2bfb2b2765af4b3b.92bd7b69af60a14b.4f960e43fcc58e99.7ccc5ef2ee67fb2c
+    8e2d72add0de7309.0153aec039a23cbf.92d58c708f917fce.602150e4fcde6fa5
+    d55c2818405e1529.8f63a1ef71e0922b.0b6cfccb5a674d00.730b44b9aacdc080
+    12d634de94bf2a68
+  after
+    d1fbd598e3c3e193.e4550b8037908622.67e2035885f7bd34.6dc07176e5db2a68
+    0000000000000000.0000000000000000.6dc07176e5db2a68.67e2035885f7bd34
+    8e2d72add0de7309.0153aec039a23cbf.92d58c708f917fce.602150e4fcde6fa5
+    d55c2818405e1529.8f63a1ef71e0922b.0b6cfccb5a674d00.730b44b9aacdc080
+    12d634de94bf2a68
+
+VPERMILPD_128_0x0(reg)
+  before
+    99cd1ebe5740eb0a.de55c852d23befc9.973b4e64f4a9e03b.9827d7407754b35a
+    653efdc48edd3d11.84e4ce49a27fbb13.7526b3895e86629a.14d19bbc05636f0a
+    d073ce5ed5215d2a.a2d5b7e8cb383633.856fcccc4a0553f5.5a38c2291da13b39
+    37b98bf7ca988601.16f4fd1b69721b56.2263939854b1f1f7.4826ca74dd18d316
+    b8682f8a61d6f5ca
+  after
+    99cd1ebe5740eb0a.de55c852d23befc9.973b4e64f4a9e03b.9827d7407754b35a
+    0000000000000000.0000000000000000.5a38c2291da13b39.5a38c2291da13b39
+    d073ce5ed5215d2a.a2d5b7e8cb383633.856fcccc4a0553f5.5a38c2291da13b39
+    37b98bf7ca988601.16f4fd1b69721b56.2263939854b1f1f7.4826ca74dd18d316
+    b8682f8a61d6f5ca
+VPERMILPD_128_0x0(mem)
+  before
+    88ca6b56c4e75b84.f65c32fb06cff641.ba0d1ece993827a8.aa4e06591917764d
+    9218fcc32356c26e.69a8bed62751e797.6ceb95ee76961654.787c207b34c21ea2
+    b41e5dbf992fe5b5.ece92bf4c9aa96ae.065cde651d98a487.e739dd6a423e27a4
+    c8a80a35427e8284.db6a76c287673e33.662a7620a94b8d6d.55d03992df17cbfc
+    1c8f3160a5da4759
+  after
+    88ca6b56c4e75b84.f65c32fb06cff641.ba0d1ece993827a8.aa4e06591917764d
+    0000000000000000.0000000000000000.aa4e06591917764d.ba0d1ece993827a8
+    b41e5dbf992fe5b5.ece92bf4c9aa96ae.065cde651d98a487.e739dd6a423e27a4
+    c8a80a35427e8284.db6a76c287673e33.662a7620a94b8d6d.55d03992df17cbfc
+    1c8f3160a5da4759
+
+VPERMILPD_128_0x3(reg)
+  before
+    9ac0bf3e3313d664.ac817f113b505308.937899aafd131cd2.6622d80c37ba8c31
+    29b0e19a224cb6cc.3a76393fa0b0146c.6e60921ac83a6c36.e4107f13e2f25eff
+    27ab93de1013213b.4f54b2ac8cab83dd.c86c5c7c84696a0c.babfea23c7fdbe05
+    eefdcf7899f3535e.c8e568421b4b5a87.ffe9f43ecc2b51ff.c5fd922701ea6a6c
+    e294f50badc21c63
+  after
+    9ac0bf3e3313d664.ac817f113b505308.937899aafd131cd2.6622d80c37ba8c31
+    0000000000000000.0000000000000000.c86c5c7c84696a0c.c86c5c7c84696a0c
+    27ab93de1013213b.4f54b2ac8cab83dd.c86c5c7c84696a0c.babfea23c7fdbe05
+    eefdcf7899f3535e.c8e568421b4b5a87.ffe9f43ecc2b51ff.c5fd922701ea6a6c
+    e294f50badc21c63
+VPERMILPD_128_0x3(mem)
+  before
+    eb518dbbe6939014.dcf293d358798ae0.7ff5d6ee6a9f5695.6e2254cb3c0d5ebc
+    bd01d823c96884ab.4bd5d95bea30006e.5152799d94b03234.71657a8e719acdef
+    346d522f714eb256.98f4a07ceaa4f2b3.1ac7cc39b68cac90.64fc61f5065eda43
+    2c6475cbfa4fd73f.1f99e1a2f4629b5c.b61f4ab0eb3e7ed4.a334056b98e5c065
+    8a5a625cc2bcbc00
+  after
+    eb518dbbe6939014.dcf293d358798ae0.7ff5d6ee6a9f5695.6e2254cb3c0d5ebc
+    0000000000000000.0000000000000000.7ff5d6ee6a9f5695.6e2254cb3c0d5ebc
+    346d522f714eb256.98f4a07ceaa4f2b3.1ac7cc39b68cac90.64fc61f5065eda43
+    2c6475cbfa4fd73f.1f99e1a2f4629b5c.b61f4ab0eb3e7ed4.a334056b98e5c065
+    8a5a625cc2bcbc00
+
+VPERMILPD_128_0x3(reg)
+  before
+    74b87535216e0ac1.82b1bfe3817aae92.3d119939a5f53915.022771ed50d3652c
+    bf9a39605088e553.101fab6422d8f57c.4ca8c5ad99e90689.d8abbddc00561cc5
+    c64eaa4aec958a64.b37cb538f7776629.a9a9606b6bcb3f65.1577a86918d360cb
+    e41ec4609021359d.4792594d1f62bec4.b06266ddb7261f54.9557b080b357ed6a
+    3416500deeec7fcd
+  after
+    74b87535216e0ac1.82b1bfe3817aae92.3d119939a5f53915.022771ed50d3652c
+    0000000000000000.0000000000000000.a9a9606b6bcb3f65.a9a9606b6bcb3f65
+    c64eaa4aec958a64.b37cb538f7776629.a9a9606b6bcb3f65.1577a86918d360cb
+    e41ec4609021359d.4792594d1f62bec4.b06266ddb7261f54.9557b080b357ed6a
+    3416500deeec7fcd
+VPERMILPD_128_0x3(mem)
+  before
+    ce8204fce4a1d120.7758840dd9b822ad.a82e148eb4a6b87a.bd1dd3711a86e303
+    3f65483ab17fa090.da46e4bc62e78c3d.b21c61e6d24e1176.2d27a4912f78c71e
+    638c99b17294a849.6835e2dbc73ab0fc.4127bc43966685e5.5acdd4ab93870750
+    16c3724f43eca576.7f7179d5a53bc994.311da1901bfbd0f2.a1595f2ae140de46
+    5e17417ab62d89ab
+  after
+    ce8204fce4a1d120.7758840dd9b822ad.a82e148eb4a6b87a.bd1dd3711a86e303
+    0000000000000000.0000000000000000.a82e148eb4a6b87a.bd1dd3711a86e303
+    638c99b17294a849.6835e2dbc73ab0fc.4127bc43966685e5.5acdd4ab93870750
+    16c3724f43eca576.7f7179d5a53bc994.311da1901bfbd0f2.a1595f2ae140de46
+    5e17417ab62d89ab
+
+VPERMILPD_128_0x3(reg)
+  before
+    ed557707addd442c.33d64ffe3f915244.7945a616987815b2.5dc88cb97e18adcb
+    aa5dfb3d63d94b75.9890acac82916cdf.b4ff630a3b7cce01.a3f5faabdac9d999
+    f17dcb8873afd931.20bf064429f8ae72.8ae9ae1d2ad4312e.de7066504c1b108b
+    1dffe2547aea2b0d.a72dd7b250d0d62a.585182bb020b7ae4.ea054c95ef190ecb
+    a3802867dfcf8e85
+  after
+    ed557707addd442c.33d64ffe3f915244.7945a616987815b2.5dc88cb97e18adcb
+    0000000000000000.0000000000000000.8ae9ae1d2ad4312e.8ae9ae1d2ad4312e
+    f17dcb8873afd931.20bf064429f8ae72.8ae9ae1d2ad4312e.de7066504c1b108b
+    1dffe2547aea2b0d.a72dd7b250d0d62a.585182bb020b7ae4.ea054c95ef190ecb
+    a3802867dfcf8e85
+VPERMILPD_128_0x3(mem)
+  before
+    e4ad77b0394a4de6.8c303d0e13167cb4.09a79de211279e32.7b81db515eade4d0
+    8b57b35e1995071a.995cd620dac00ad3.21f9d3c08b09c3b7.4dc6b649db47ac9e
+    734b5a5c9abc774c.a0ceabf86c730f16.cdeff638d88000e5.2b6b0e1114640ef9
+    7755e895d8cc5aa9.fdd4b70165bcc828.e8558036149a13e7.72bede13a690458e
+    7c0925bd2c588e09
+  after
+    e4ad77b0394a4de6.8c303d0e13167cb4.09a79de211279e32.7b81db515eade4d0
+    0000000000000000.0000000000000000.09a79de211279e32.7b81db515eade4d0
+    734b5a5c9abc774c.a0ceabf86c730f16.cdeff638d88000e5.2b6b0e1114640ef9
+    7755e895d8cc5aa9.fdd4b70165bcc828.e8558036149a13e7.72bede13a690458e
+    7c0925bd2c588e09
+
+VUNPCKLPD_256(reg)
+  before
+    a69adc7a43472515.7541d7f7f0d06c5d.0bb8f6a6602670b6.4df6efa75b63b6e9
+    4cbb00b686e9465e.47dba56dfed56993.28c76555f93d446b.daa0be75cbe6a519
+    cbb98edd92cb2c91.cbefcce31de50c78.af4dfe79cd8e80f4.691d698e7d2f9ea1
+    7de0815b0278145a.db48ca46690e1237.fb96bf7e77a360fc.d83a6ddc8f4a5bad
+    01c3454d1d44996a
+  after
+    cbefcce31de50c78.47dba56dfed56993.691d698e7d2f9ea1.daa0be75cbe6a519
+    4cbb00b686e9465e.47dba56dfed56993.28c76555f93d446b.daa0be75cbe6a519
+    cbb98edd92cb2c91.cbefcce31de50c78.af4dfe79cd8e80f4.691d698e7d2f9ea1
+    7de0815b0278145a.db48ca46690e1237.fb96bf7e77a360fc.d83a6ddc8f4a5bad
+    01c3454d1d44996a
+VUNPCKLPD_256(mem)
+  before
+    c2846ccc42281304.bf7bd59c727d3a65.55b41b80ff5c37fd.6aeea3d0940b2031
+    f54861451b0287a6.edd8870c7f64d95d.13fd397efada36f5.57a1a7dcc04ffb3c
+    78dd9da4c3dfaf7d.63419118c5bb2fee.f3f0a22d7794cc4c.1dfac50c95fd2ecc
+    250d9dd556ca47b5.7d03f12adf0e76c5.cf59d1779196b52e.1a46fbcdb1a0f48a
+    a8d2448cb0c58a25
+  after
+    c2846ccc42281304.bf7bd59c727d3a65.55b41b80ff5c37fd.6aeea3d0940b2031
+    f54861451b0287a6.edd8870c7f64d95d.13fd397efada36f5.57a1a7dcc04ffb3c
+    bf7bd59c727d3a65.edd8870c7f64d95d.6aeea3d0940b2031.57a1a7dcc04ffb3c
+    250d9dd556ca47b5.7d03f12adf0e76c5.cf59d1779196b52e.1a46fbcdb1a0f48a
+    a8d2448cb0c58a25
+
+VUNPCKLPD_256(reg)
+  before
+    25e89cb42df72c47.d9a5dec4f1d00d79.976aa2b069e8ea8e.8503424a65edadc6
+    ebd400b0c5c2169d.7171db5eaffcbbf5.0dc2a11500d5c9f5.efbc71910ea46f41
+    57e46aee13b384d2.c73d108dad5a0e56.3b57e8c440614da5.ea4edb38a9c8b8cb
+    c662d8d9b455b193.b8d5fa3e07f6c1c8.7c75752bc319b24a.5286fb2b5164448f
+    04314d562284ceb9
+  after
+    c73d108dad5a0e56.7171db5eaffcbbf5.ea4edb38a9c8b8cb.efbc71910ea46f41
+    ebd400b0c5c2169d.7171db5eaffcbbf5.0dc2a11500d5c9f5.efbc71910ea46f41
+    57e46aee13b384d2.c73d108dad5a0e56.3b57e8c440614da5.ea4edb38a9c8b8cb
+    c662d8d9b455b193.b8d5fa3e07f6c1c8.7c75752bc319b24a.5286fb2b5164448f
+    04314d562284ceb9
+VUNPCKLPD_256(mem)
+  before
+    da184da539341376.929c45dd4334da8b.2004135ed7dd9277.2e6743b528883691
+    b10a7804b281cff2.18dcad665cdd3a67.db97d9d83c1a3b8e.ac7a4ece083b1326
+    65d2485fa876be59.b56f0de09cdb0fd3.c65bc7974fba7939.52fa93e202bc86b4
+    d23b3ba337209bd6.c3a160b89fba937a.bb1a5a892fc807a6.7c330c5eaf9acbe8
+    8571b7acae5e1d6e
+  after
+    da184da539341376.929c45dd4334da8b.2004135ed7dd9277.2e6743b528883691
+    b10a7804b281cff2.18dcad665cdd3a67.db97d9d83c1a3b8e.ac7a4ece083b1326
+    929c45dd4334da8b.18dcad665cdd3a67.2e6743b528883691.ac7a4ece083b1326
+    d23b3ba337209bd6.c3a160b89fba937a.bb1a5a892fc807a6.7c330c5eaf9acbe8
+    8571b7acae5e1d6e
+
+VUNPCKLPD_256(reg)
+  before
+    cb008f399896b9f1.d413ccba7c8a2395.9fbea25800070209.97a00c99f550a2fe
+    a92b90720bcddb1e.4724789293c012c3.a511cf2d5b4d9a2b.36bb5bb3bf5f0670
+    7a40b7c1a390bfa0.073bb91696cf248c.31e8e3a44d18958d.7436c2c4a900ef26
+    9c89fe94fb6aa024.f0240d31a4c2141c.9f8ddb2871f530db.2ddcbdb6ce3f184c
+    3d7ac8764b283e10
+  after
+    073bb91696cf248c.4724789293c012c3.7436c2c4a900ef26.36bb5bb3bf5f0670
+    a92b90720bcddb1e.4724789293c012c3.a511cf2d5b4d9a2b.36bb5bb3bf5f0670
+    7a40b7c1a390bfa0.073bb91696cf248c.31e8e3a44d18958d.7436c2c4a900ef26
+    9c89fe94fb6aa024.f0240d31a4c2141c.9f8ddb2871f530db.2ddcbdb6ce3f184c
+    3d7ac8764b283e10
+VUNPCKLPD_256(mem)
+  before
+    80dd60f13bc81d9b.69536356b0e7bb55.deaaefd1d6a59f9e.4b4db224646fa7c0
+    d2ce0011ba2b711c.3feae2735d944ce1.ad9bdbe14b85803e.91746406c11335e9
+    0f1c24c4e55bf5bd.789975579efb8e71.39c14e4d1c6d7529.cd4eed39256b1701
+    129248f4d86666aa.72ae196e10abbeb3.5ee9c2026869388b.5b2649292b0589b5
+    974a7542706dc6b1
+  after
+    80dd60f13bc81d9b.69536356b0e7bb55.deaaefd1d6a59f9e.4b4db224646fa7c0
+    d2ce0011ba2b711c.3feae2735d944ce1.ad9bdbe14b85803e.91746406c11335e9
+    69536356b0e7bb55.3feae2735d944ce1.4b4db224646fa7c0.91746406c11335e9
+    129248f4d86666aa.72ae196e10abbeb3.5ee9c2026869388b.5b2649292b0589b5
+    974a7542706dc6b1
+
+VUNPCKHPD_256(reg)
+  before
+    dd046cf08f2e0ba0.b9fbe98fad587f10.8773cb244e2d1853.f8dfb5ea4886868f
+    89a12aa025d4942f.df258180833bfe1b.153586e5f50fd8fd.e26fa2f2dacf1a62
+    f76dabbccdeb9d09.60da8eb3741d9df6.7640471ea1dd395c.fa6505073a50b230
+    83b4ecb2230061db.17e78b149c0a19ce.07e00839ec21781d.1b8d5b1383160824
+    21b21f04d22cd86b
+  after
+    f76dabbccdeb9d09.89a12aa025d4942f.7640471ea1dd395c.153586e5f50fd8fd
+    89a12aa025d4942f.df258180833bfe1b.153586e5f50fd8fd.e26fa2f2dacf1a62
+    f76dabbccdeb9d09.60da8eb3741d9df6.7640471ea1dd395c.fa6505073a50b230
+    83b4ecb2230061db.17e78b149c0a19ce.07e00839ec21781d.1b8d5b1383160824
+    21b21f04d22cd86b
+VUNPCKHPD_256(mem)
+  before
+    e7a1cdc5429ee030.89c2e8ecc49e1e51.e218f590180c2dcf.2561c7a47569d1eb
+    4b26e141ef79daa0.64e29bd84c520d16.9c38461103329724.2a0f7fc9d5417f73
+    270dd766f6c883e7.726101e156a76dd7.2015fc847a8511fa.73352c16ab33bf60
+    59222c1f72979630.0e8c16737e29783f.4c7992d69813577c.5d20caf690cdcd5f
+    421d56d5229be51c
+  after
+    e7a1cdc5429ee030.89c2e8ecc49e1e51.e218f590180c2dcf.2561c7a47569d1eb
+    4b26e141ef79daa0.64e29bd84c520d16.9c38461103329724.2a0f7fc9d5417f73
+    e7a1cdc5429ee030.4b26e141ef79daa0.e218f590180c2dcf.9c38461103329724
+    59222c1f72979630.0e8c16737e29783f.4c7992d69813577c.5d20caf690cdcd5f
+    421d56d5229be51c
+
+VUNPCKHPD_256(reg)
+  before
+    7f76ca1ffd274242.bc315b5980f3d0a7.94add7fa61646bfb.fa3184f179e727d7
+    70772440bc00217e.2b05e0fe3ce7ed7a.5f113fe29ae582b6.080a4fc33b0d3b36
+    716e60a4fcafbe7b.846c37fbc17fa9d2.cd034a97c638f81d.50cd6d37f79250c6
+    dea678b758c255e6.a130dd3c2bc8c0de.38d1f48580e70adc.b0495c38cb8121b3
+    024997b4d3e76c28
+  after
+    716e60a4fcafbe7b.70772440bc00217e.cd034a97c638f81d.5f113fe29ae582b6
+    70772440bc00217e.2b05e0fe3ce7ed7a.5f113fe29ae582b6.080a4fc33b0d3b36
+    716e60a4fcafbe7b.846c37fbc17fa9d2.cd034a97c638f81d.50cd6d37f79250c6
+    dea678b758c255e6.a130dd3c2bc8c0de.38d1f48580e70adc.b0495c38cb8121b3
+    024997b4d3e76c28
+VUNPCKHPD_256(mem)
+  before
+    24989b962aceeb52.136a6ae66cc4216b.5f1e4cae97cdedc8.fec53a186580f49e
+    f003e2cbec445a5d.6c07309bd5415fb5.9b02023b209bedbd.792d17bd108ef210
+    4357ea3d36557774.45c9c9442fc64a71.2fa77ad1e23d7be8.075387de1e9e3fde
+    fa5e2ed9240cfcc3.fafc2e4b15de204a.f8db315bfbbf5576.028486e92a3b18b3
+    c80c1049d1f1b93c
+  after
+    24989b962aceeb52.136a6ae66cc4216b.5f1e4cae97cdedc8.fec53a186580f49e
+    f003e2cbec445a5d.6c07309bd5415fb5.9b02023b209bedbd.792d17bd108ef210
+    24989b962aceeb52.f003e2cbec445a5d.5f1e4cae97cdedc8.9b02023b209bedbd
+    fa5e2ed9240cfcc3.fafc2e4b15de204a.f8db315bfbbf5576.028486e92a3b18b3
+    c80c1049d1f1b93c
+
+VUNPCKHPD_256(reg)
+  before
+    b3362269ae4d5d24.efe42a8cd075a678.e7ec5c1e23161bed.d368a1c5842d3592
+    2050b7b75eda4118.ffb75b40599c30bd.68e45028f6f87806.9a1b48fb9b94d769
+    6ca4cb9e7c24a1c3.06a23be3d98e58be.d93205d529137240.2ac1a1e95cfff927
+    f17f5a8aa4b8b9d2.e170485f6c57d8a8.9520779159f04648.5f23287be27b55f7
+    15105a9d4913a806
+  after
+    6ca4cb9e7c24a1c3.2050b7b75eda4118.d93205d529137240.68e45028f6f87806
+    2050b7b75eda4118.ffb75b40599c30bd.68e45028f6f87806.9a1b48fb9b94d769
+    6ca4cb9e7c24a1c3.06a23be3d98e58be.d93205d529137240.2ac1a1e95cfff927
+    f17f5a8aa4b8b9d2.e170485f6c57d8a8.9520779159f04648.5f23287be27b55f7
+    15105a9d4913a806
+VUNPCKHPD_256(mem)
+  before
+    2953b23caed3ad7f.0c2d61e87321c4f1.6aeefda22f016da7.fafba3c8211d30c9
+    75b7ab422dc8228f.1afada2285ebffcb.7ee8d6973d9ad2e6.630f83e61e256c70
+    d60ac49ce1fcc162.7532c3a575a3a60d.f92a502ab22dc492.2ca81558eb9535e8
+    28167637e67e4723.7a2017dedfd4f562.b780e647acc7ffd6.b012548825f7c9de
+    4d983ce467da61fe
+  after
+    2953b23caed3ad7f.0c2d61e87321c4f1.6aeefda22f016da7.fafba3c8211d30c9
+    75b7ab422dc8228f.1afada2285ebffcb.7ee8d6973d9ad2e6.630f83e61e256c70
+    2953b23caed3ad7f.75b7ab422dc8228f.6aeefda22f016da7.7ee8d6973d9ad2e6
+    28167637e67e4723.7a2017dedfd4f562.b780e647acc7ffd6.b012548825f7c9de
+    4d983ce467da61fe
+
+VSHUFPS_0x39_256(reg)
+  before
+    5e87cad64dc73cf3.47a83efe59576fff.8512d337600a2777.94b514da44733fdf
+    3e2bf9cc744c946a.0f8c99dd5595f621.f252f11e93d279f8.6c9756cf983d3fd9
+    4bd0c53178f4a60f.5c8d02bff74498b6.1d2d6ffe15b72690.1bf02813c432bcef
+    dfc22a71f44cae8d.0a79f5925a6e11ea.62ef484381456cec.7d8d0790e35d724e
+    6e3a6e3411ca1d21
+  after
+    5a6e11eadfc22a71.744c946a0f8c99dd.e35d724e62ef4843.93d279f86c9756cf
+    3e2bf9cc744c946a.0f8c99dd5595f621.f252f11e93d279f8.6c9756cf983d3fd9
+    4bd0c53178f4a60f.5c8d02bff74498b6.1d2d6ffe15b72690.1bf02813c432bcef
+    dfc22a71f44cae8d.0a79f5925a6e11ea.62ef484381456cec.7d8d0790e35d724e
+    6e3a6e3411ca1d21
+VSHUFPS_0x39_256(mem)
+  before
+    cac3d9e96b867895.584d24f884dfe791.f51aef429b211ce8.1de47858740985b7
+    6cf3c49d0d9c40d5.10bdb032c5398fc6.f83d6bb9d56876dd.aa57fcab898eae9e
+    3298ab3b1218300f.655dc88b53e7dfd9.f1aee4e42550dbf4.6596cfa85d61224d
+    f77c0baf9607066c.b17a6a6fc9741675.bb39d9afa6e4075a.aaebedb98b0d1e6f
+    d5a3524bb01edeb1
+  after
+    cac3d9e96b867895.584d24f884dfe791.f51aef429b211ce8.1de47858740985b7
+    6cf3c49d0d9c40d5.10bdb032c5398fc6.f83d6bb9d56876dd.aa57fcab898eae9e
+    cac3d9e984dfe791.10bdb0320d9c40d5.f51aef42740985b7.aa57fcabd56876dd
+    f77c0baf9607066c.b17a6a6fc9741675.bb39d9afa6e4075a.aaebedb98b0d1e6f
+    d5a3524bb01edeb1
+
+VSHUFPS_0x39_256(reg)
+  before
+    420afacb67209ebe.976c5fe5b6747c1b.5160924ac36c6e47.32aac3077531b53b
+    4d6ce2a34ca09943.ed3423c98d6b4f46.a25b3a89de5c24fb.31cd1fd6ad41a2c2
+    51150441fc290cec.d7a0d44738f93a19.feb76096b5cf743c.966d6a0a6a228a1c
+    ac505e0f13483364.307cec4bd229fbc1.c2c0ffdfe5519ab7.3c571f8ec9e02874
+    fe57ba4ee68539f7
+  after
+    d229fbc1ac505e0f.4ca09943ed3423c9.c9e02874c2c0ffdf.de5c24fb31cd1fd6
+    4d6ce2a34ca09943.ed3423c98d6b4f46.a25b3a89de5c24fb.31cd1fd6ad41a2c2
+    51150441fc290cec.d7a0d44738f93a19.feb76096b5cf743c.966d6a0a6a228a1c
+    ac505e0f13483364.307cec4bd229fbc1.c2c0ffdfe5519ab7.3c571f8ec9e02874
+    fe57ba4ee68539f7
+VSHUFPS_0x39_256(mem)
+  before
+    ba39b835dc1f79d0.b96bec7b2c884a58.d393e9c278074c6a.4bc113cf096fd118
+    4bc99331c7baa42c.d4b0a8f0e3758c73.9eb3469645a0e93f.f30798d2beb4560a
+    8cd3c92ec4617537.586c90dad59b3662.6ba67fb556ff906d.17de8b549fac6439
+    5b22d516ee20a91c.a3eb9fa59d8784d0.18391109c630fb20.1392e6c149e43952
+    436fa78557e70f01
+  after
+    ba39b835dc1f79d0.b96bec7b2c884a58.d393e9c278074c6a.4bc113cf096fd118
+    4bc99331c7baa42c.d4b0a8f0e3758c73.9eb3469645a0e93f.f30798d2beb4560a
+    ba39b8352c884a58.d4b0a8f0c7baa42c.d393e9c2096fd118.f30798d245a0e93f
+    5b22d516ee20a91c.a3eb9fa59d8784d0.18391109c630fb20.1392e6c149e43952
+    436fa78557e70f01
+
+VSHUFPS_0x39_256(reg)
+  before
+    03c1ca0c654122f2.928433d66203fc08.1079d1bdd8c4b16a.7f387680b140e783
+    afd349c2107fb0d0.0ec3605b3b172927.fa61228e21dffadc.7e6f2c05343a0fc2
+    a3f32214f42cf347.acacd78f9667eda4.bff18e8515639bd1.efa9ae846b2b310b
+    3b6b506cacd52804.460b14608e0004ab.b973120c4fdcd0f6.b0b479e9711d0788
+    9b5a0720621f4d65
+  after
+    8e0004ab3b6b506c.107fb0d00ec3605b.711d0788b973120c.21dffadc7e6f2c05
+    afd349c2107fb0d0.0ec3605b3b172927.fa61228e21dffadc.7e6f2c05343a0fc2
+    a3f32214f42cf347.acacd78f9667eda4.bff18e8515639bd1.efa9ae846b2b310b
+    3b6b506cacd52804.460b14608e0004ab.b973120c4fdcd0f6.b0b479e9711d0788
+    9b5a0720621f4d65
+VSHUFPS_0x39_256(mem)
+  before
+    8d68d6155b3ac1cf.d388cf38d4048bb3.baab93b840ec2a6a.4634a9916cd7d4f7
+    63aa61b5787c1df2.c7969be209475700.e25ad085c7391a0b.c0804f7e07dfe47f
+    f7ec24ead4f01ef9.73e1b0d8e62ac996.9be248b240f391ba.85a30141bd803c3b
+    26fa9ba28ba37f11.33b40b8508381d21.c111762bc6254ba4.efe9b945294717d6
+    5b9d75f6e8bfb2fd
+  after
+    8d68d6155b3ac1cf.d388cf38d4048bb3.baab93b840ec2a6a.4634a9916cd7d4f7
+    63aa61b5787c1df2.c7969be209475700.e25ad085c7391a0b.c0804f7e07dfe47f
+    8d68d615d4048bb3.c7969be2787c1df2.baab93b86cd7d4f7.c0804f7ec7391a0b
+    26fa9ba28ba37f11.33b40b8508381d21.c111762bc6254ba4.efe9b945294717d6
+    5b9d75f6e8bfb2fd
+
+VUNPCKLPS_256(reg)
+  before
+    260c30c09574495b.cc9f43c7baa0fe65.635da7550bfd8e4e.31b1d6dc76db03f5
+    aa83e70fccf3189d.c6a897477cf35522.5f2680b489055ac9.c58fe4b16b2276d8
+    444c944f2ac75a6f.eee2130deea84174.835c930e21ddbb3d.5a761c96c104607a
+    50b335ec4b7c4c7c.211733052bcc7d86.2a4bdacf6c10ed57.cc34fb7895907d06
+    f793fc4103cf88a9
+  after
+    eee2130dc6a89747.eea841747cf35522.5a761c96c58fe4b1.c104607a6b2276d8
+    aa83e70fccf3189d.c6a897477cf35522.5f2680b489055ac9.c58fe4b16b2276d8
+    444c944f2ac75a6f.eee2130deea84174.835c930e21ddbb3d.5a761c96c104607a
+    50b335ec4b7c4c7c.211733052bcc7d86.2a4bdacf6c10ed57.cc34fb7895907d06
+    f793fc4103cf88a9
+VUNPCKLPS_256(mem)
+  before
+    b7619bdf25cf3e8f.2b06c553c99f2a71.3b14741b506ac685.b23f5364082b2ec3
+    e868543c1a9b5be3.2f9040ee43bb2ff9.18a4513b788fd89c.7683f93791b9b82c
+    6675a446fc409bd2.b99ca22b535c98c1.94954651bf466ff8.d165c9b5a246c83f
+    0d5406e8e7c9b987.2577e874950fa175.8bb1cf49429b46c5.212fbd4bd85f99a7
+    c12ed364ce8f6911
+  after
+    b7619bdf25cf3e8f.2b06c553c99f2a71.3b14741b506ac685.b23f5364082b2ec3
+    e868543c1a9b5be3.2f9040ee43bb2ff9.18a4513b788fd89c.7683f93791b9b82c
+    2b06c5532f9040ee.c99f2a7143bb2ff9.b23f53647683f937.082b2ec391b9b82c
+    0d5406e8e7c9b987.2577e874950fa175.8bb1cf49429b46c5.212fbd4bd85f99a7
+    c12ed364ce8f6911
+
+VUNPCKLPS_256(reg)
+  before
+    0cae066c20627228.b9d0f60ef842722f.cf6d0d37a65f86c0.d9c5680f1d9b1a2e
+    60fb52ce6b64f099.46b7f0a44ab881f6.13ca0ddf21d8824f.5a9e8e906b51a760
+    1761b3f84b222110.90d37096fa36a407.4ddae4d8a307d2cd.ea05bcb649c9a986
+    8f2b26565b283f38.73f1f3d023c8958f.d9e98f8ec777b2e7.65c96e6fd110dbcd
+    a6b520a62231fa61
+  after
+    90d3709646b7f0a4.fa36a4074ab881f6.ea05bcb65a9e8e90.49c9a9866b51a760
+    60fb52ce6b64f099.46b7f0a44ab881f6.13ca0ddf21d8824f.5a9e8e906b51a760
+    1761b3f84b222110.90d37096fa36a407.4ddae4d8a307d2cd.ea05bcb649c9a986
+    8f2b26565b283f38.73f1f3d023c8958f.d9e98f8ec777b2e7.65c96e6fd110dbcd
+    a6b520a62231fa61
+VUNPCKLPS_256(mem)
+  before
+    8b944e465638c16d.22a7a652370087be.cbddf43ee27b11b9.1342086d2ab55e49
+    ef34753d8932ee1e.2d1f2f597c38344e.7463efcc525ad3b2.57324de1674b119e
+    ae5f1076d82a3b9f.0de0bdd7c55b8493.494f60678f7199a5.010659561ac80893
+    a3e29bdd5e2c651d.1c364c39aff6b139.286dc4f9b6cd1cbf.6d082939e1b57fd3
+    f684b7f455a0b10b
+  after
+    8b944e465638c16d.22a7a652370087be.cbddf43ee27b11b9.1342086d2ab55e49
+    ef34753d8932ee1e.2d1f2f597c38344e.7463efcc525ad3b2.57324de1674b119e
+    22a7a6522d1f2f59.370087be7c38344e.1342086d57324de1.2ab55e49674b119e
+    a3e29bdd5e2c651d.1c364c39aff6b139.286dc4f9b6cd1cbf.6d082939e1b57fd3
+    f684b7f455a0b10b
+
+VUNPCKLPS_256(reg)
+  before
+    fac801f51414dbe7.ac89925f384527c3.b76dd9e9d694f7ee.ec889570e3791b2c
+    d41f02a7ba9e3912.a41f72e681803fbe.3bd05f55d4c1945c.706d51b731815118
+    e0d4b675e2c80639.6672b65f56e9673a.02addae8470ac22f.92e874babcf279ad
+    79341acd28218007.d04cdab7d28d5b62.694e460dcbfabe14.2dc57865a1d7501a
+    1cd0dba4fc3c9189
+  after
+    6672b65fa41f72e6.56e9673a81803fbe.92e874ba706d51b7.bcf279ad31815118
+    d41f02a7ba9e3912.a41f72e681803fbe.3bd05f55d4c1945c.706d51b731815118
+    e0d4b675e2c80639.6672b65f56e9673a.02addae8470ac22f.92e874babcf279ad
+    79341acd28218007.d04cdab7d28d5b62.694e460dcbfabe14.2dc57865a1d7501a
+    1cd0dba4fc3c9189
+VUNPCKLPS_256(mem)
+  before
+    3dd51763e82ef927.fd8b281a2932e129.bd7a5ad81277d963.cc00a032fb1ec3b7
+    6a9fab8e81b8441f.c725dec88089654a.08c9b2b031b39b69.870fe3c274000fc3
+    81fc1011e4e72e9e.324e3743cab14a17.8f025f2a4c4e5e9f.f7c70b29d12edce5
+    5cb6c3d92cc673cf.9c5230f8a237ca3c.2cf4dc327e53dd32.767414d4af3467c8
+    6161fa2da99ceb19
+  after
+    3dd51763e82ef927.fd8b281a2932e129.bd7a5ad81277d963.cc00a032fb1ec3b7
+    6a9fab8e81b8441f.c725dec88089654a.08c9b2b031b39b69.870fe3c274000fc3
+    fd8b281ac725dec8.2932e1298089654a.cc00a032870fe3c2.fb1ec3b774000fc3
+    5cb6c3d92cc673cf.9c5230f8a237ca3c.2cf4dc327e53dd32.767414d4af3467c8
+    6161fa2da99ceb19
+
+VUNPCKHPS_256(reg)
+  before
+    14dcbaa15bf5a584.d89a41d07661cedf.5f7cc351a5a62264.bc6aa5b4e3cfd64d
+    eb2f4f9d62c8d1b4.d27405e4ddc4fcfa.d919eebb6e8a8d3c.1c2f369c98cd031d
+    42a7b58b5aa3ab56.240f8bff7efcb84b.6475aca39a704970.26110cd6b95920cd
+    7590e8d9dd116e15.ab394f0f7414bfff.5edcf974c4e390ab.b7daa24e607feb8a
+    ac5774f0ac4c1e80
+  after
+    42a7b58beb2f4f9d.5aa3ab5662c8d1b4.6475aca3d919eebb.9a7049706e8a8d3c
+    eb2f4f9d62c8d1b4.d27405e4ddc4fcfa.d919eebb6e8a8d3c.1c2f369c98cd031d
+    42a7b58b5aa3ab56.240f8bff7efcb84b.6475aca39a704970.26110cd6b95920cd
+    7590e8d9dd116e15.ab394f0f7414bfff.5edcf974c4e390ab.b7daa24e607feb8a
+    ac5774f0ac4c1e80
+VUNPCKHPS_256(mem)
+  before
+    df53fea9b7cb76da.e035e5f28a9e579e.44bcceffdc19ce42.219ad199896f9e9a
+    2d9cbc639d09aec5.dee4a642fbd7a29d.c96683bbd1159e3f.0bfb318084a1b1e8
+    72fd2b0c7b11846c.cde72935cc478bbd.1701ea2f6f17ee22.764a149451040342
+    8b41c68e6cefb2fc.088c69379a7b4daa.0a5a7f47d3287819.bfd576418e24d153
+    43e653f3d48e56c8
+  after
+    df53fea9b7cb76da.e035e5f28a9e579e.44bcceffdc19ce42.219ad199896f9e9a
+    2d9cbc639d09aec5.dee4a642fbd7a29d.c96683bbd1159e3f.0bfb318084a1b1e8
+    df53fea92d9cbc63.b7cb76da9d09aec5.44bcceffc96683bb.dc19ce42d1159e3f
+    8b41c68e6cefb2fc.088c69379a7b4daa.0a5a7f47d3287819.bfd576418e24d153
+    43e653f3d48e56c8
+
+VUNPCKHPS_256(reg)
+  before
+    5ccaa816c1cdd04d.523509d78daff5a1.eb1d63b400fe2512.7f3cbfef1956f94d
+    67cd6f17f06d798d.a4a570d2f95e0886.d2e711189b5c4f9f.507524145cac2ced
+    c03aa660fefb8e35.5d5d786bcd08a8d8.183571cf062106fd.5acf2ca0b837cf23
+    c45f495e87024af0.59299b8e24b791c2.1b557e46deda87d9.791852814a029c1b
+    891a13a12e195003
+  after
+    c03aa66067cd6f17.fefb8e35f06d798d.183571cfd2e71118.062106fd9b5c4f9f
+    67cd6f17f06d798d.a4a570d2f95e0886.d2e711189b5c4f9f.507524145cac2ced
+    c03aa660fefb8e35.5d5d786bcd08a8d8.183571cf062106fd.5acf2ca0b837cf23
+    c45f495e87024af0.59299b8e24b791c2.1b557e46deda87d9.791852814a029c1b
+    891a13a12e195003
+VUNPCKHPS_256(mem)
+  before
+    66a2e9ee7e89a604.cd86527e260eea6b.74d457271b797f71.369235e7be120edf
+    ec7c5253595d5b4d.38fdbf2b77acaa52.8a2c2823cd592d11.c43790204256d6ba
+    f773c9bcd8a12b08.610e8ad01767c650.77fb886c566458cd.23918d5c07311d17
+    6355ca151a62d261.a406b1dba1cb7912.170ef5efd3a5bcd2.adec2706a92f1da2
+    c0945a8cc3dd1206
+  after
+    66a2e9ee7e89a604.cd86527e260eea6b.74d457271b797f71.369235e7be120edf
+    ec7c5253595d5b4d.38fdbf2b77acaa52.8a2c2823cd592d11.c43790204256d6ba
+    66a2e9eeec7c5253.7e89a604595d5b4d.74d457278a2c2823.1b797f71cd592d11
+    6355ca151a62d261.a406b1dba1cb7912.170ef5efd3a5bcd2.adec2706a92f1da2
+    c0945a8cc3dd1206
+
+VUNPCKHPS_256(reg)
+  before
+    b6d52259f1c63af0.0cecd24a38aa0b85.5d3030b7b2650043.4631e9996028154b
+    edfa7cd9d076cf0b.cd055b47518893a0.e8da01d0e5c09790.e030e25518fa1e65
+    bf516379fc7a0e04.846ce3f87e0526de.a14e2292d76979a5.c0d65c0e1726944c
+    8a24d3a3105d3286.0cede54add2f806a.e4da8e6a23eae42d.c4f1d1b27ab8322b
+    c74bbf2c5cbdb62f
+  after
+    bf516379edfa7cd9.fc7a0e04d076cf0b.a14e2292e8da01d0.d76979a5e5c09790
+    edfa7cd9d076cf0b.cd055b47518893a0.e8da01d0e5c09790.e030e25518fa1e65
+    bf516379fc7a0e04.846ce3f87e0526de.a14e2292d76979a5.c0d65c0e1726944c
+    8a24d3a3105d3286.0cede54add2f806a.e4da8e6a23eae42d.c4f1d1b27ab8322b
+    c74bbf2c5cbdb62f
+VUNPCKHPS_256(mem)
+  before
+    a5b1a168da40da83.a8c0c8c4a8ab793e.4154de278a125c70.0dc841c265d212d5
+    3aeff3520f4d5b54.76713e4961f11dd8.ff6d487da0b9771d.776537073aaa3f48
+    61d131d618f1f4ce.5182329cd6ba5bff.2103a1363c308d9d.80fd6da63e00a933
+    f823d8e11037631c.93419f2ba4926e60.85e364407983591b.83dbde090c5f8a42
+    dc4d869e40541f20
+  after
+    a5b1a168da40da83.a8c0c8c4a8ab793e.4154de278a125c70.0dc841c265d212d5
+    3aeff3520f4d5b54.76713e4961f11dd8.ff6d487da0b9771d.776537073aaa3f48
+    a5b1a1683aeff352.da40da830f4d5b54.4154de27ff6d487d.8a125c70a0b9771d
+    f823d8e11037631c.93419f2ba4926e60.85e364407983591b.83dbde090c5f8a42
+    dc4d869e40541f20
+
+VXORPD_256(reg)
+  before
+    e79d61d07769a37a.d9b0635d142b626a.99f98160660693a6.06d90d8673bf98c4
+    ff196b0b4d2d53fb.e2464e373fdaade6.bff5d4a9b9a1067e.7fb118f447ef06c4
+    820ba1bb5d296b50.eeaf155cae4f02ba.6282957138ef0394.ce370276111f5f46
+    cbbffe4c43eb2724.d8b834b77c971b12.dcecbf247f7dc593.cd3746f8eb5c5e76
+    5a7c6066f4b1c082
+  after
+    7d12cab0100438ab.0ce95b6b9195af5c.dd7741d8814e05ea.b1861a8256f05982
+    ff196b0b4d2d53fb.e2464e373fdaade6.bff5d4a9b9a1067e.7fb118f447ef06c4
+    820ba1bb5d296b50.eeaf155cae4f02ba.6282957138ef0394.ce370276111f5f46
+    cbbffe4c43eb2724.d8b834b77c971b12.dcecbf247f7dc593.cd3746f8eb5c5e76
+    5a7c6066f4b1c082
+VXORPD_256(mem)
+  before
+    4fd4ccac462a4194.35837e2a9cfec324.7e2d2833c6bcb51b.8a7f4e2e2bd68928
+    8a0907b7fdd49cd8.1ea21dc103ef7afc.bada6cbea7cd8b01.c8863efcd8868bff
+    e5e88b7136ba8e7b.e067d87d15498957.698a7c433bd35bef.f24f8bf8211a06c3
+    3d3dd6c80ce9d3a9.d920a9cb6d982be2.680bd4ae9fdcdf12.6424328fa31d3820
+    7a522e2ef91b5bc3
+  after
+    4fd4ccac462a4194.35837e2a9cfec324.7e2d2833c6bcb51b.8a7f4e2e2bd68928
+    8a0907b7fdd49cd8.1ea21dc103ef7afc.bada6cbea7cd8b01.c8863efcd8868bff
+    c5ddcb1bbbfedd4c.2b2163eb9f11b9d8.c4f7448d61713e1a.42f970d2f35002d7
+    3d3dd6c80ce9d3a9.d920a9cb6d982be2.680bd4ae9fdcdf12.6424328fa31d3820
+    7a522e2ef91b5bc3
+
+VXORPD_256(reg)
+  before
+    90267b3fbfa1ab58.6fd363a69c6c278d.63178e15a8699d49.9127f1ebeff3d395
+    02e91530923a668a.5578aff9014f4554.dc9983c961471b37.c2ab4ee74624f5a5
+    2ceaf96c0d73c606.ccf634ac579eea29.9ef1825235bee158.d563678cc07cff6e
+    6a74215fcdd70778.b11b70abbb66d239.076d891bbf5a2b5a.a71bb8c77a06ae1b
+    149fbd858fcfbdd9
+  after
+    2e03ec5c9f49a08c.998e9b5556d1af7d.4268019b54f9fa6f.17c8296b86580acb
+    02e91530923a668a.5578aff9014f4554.dc9983c961471b37.c2ab4ee74624f5a5
+    2ceaf96c0d73c606.ccf634ac579eea29.9ef1825235bee158.d563678cc07cff6e
+    6a74215fcdd70778.b11b70abbb66d239.076d891bbf5a2b5a.a71bb8c77a06ae1b
+    149fbd858fcfbdd9
+VXORPD_256(mem)
+  before
+    f9baf3b01ce2ead4.18d28b746df2678b.deb1dee249b2b8b0.715893929ba834e7
+    3039d5363c4bef37.9151331a8a5020ec.3085fb3d1c8f59b9.39fd9c22663439ab
+    96e9df020c17892e.333d13babf7e6f46.836241a851087181.bba9a037bc887553
+    07948d00a75073e6.59e229c1a9079046.b3162e100229bc34.54a89b3e3832268b
+    5e468aa176be86fe
+  after
+    f9baf3b01ce2ead4.18d28b746df2678b.deb1dee249b2b8b0.715893929ba834e7
+    3039d5363c4bef37.9151331a8a5020ec.3085fb3d1c8f59b9.39fd9c22663439ab
+    c983268620a905e3.8983b86ee7a24767.ee3425df553de109.48a50fb0fd9c0d4c
+    07948d00a75073e6.59e229c1a9079046.b3162e100229bc34.54a89b3e3832268b
+    5e468aa176be86fe
+
+VXORPD_256(reg)
+  before
+    36cf68cd13b7d159.5f075c1c2a056a8b.5f8c6f9be378be98.9c6b3d5f4efff5fd
+    388e312faba94547.7a0dc642b03f2a49.a087e3b50a5c36e7.1a2fea834f94d908
+    c0d1e231d9201c75.3474495e560c6f4b.7a1e8179b93f34e0.092cb16621f72482
+    2be2754139a9938f.6906605c3777f4bd.489f43558dadf42e.452f0ff6e1319297
+    aa047e1eaa50de72
+  after
+    f85fd31e72895932.4e798f1ce6334502.da9962ccb3630207.13035be56e63fd8a
+    388e312faba94547.7a0dc642b03f2a49.a087e3b50a5c36e7.1a2fea834f94d908
+    c0d1e231d9201c75.3474495e560c6f4b.7a1e8179b93f34e0.092cb16621f72482
+    2be2754139a9938f.6906605c3777f4bd.489f43558dadf42e.452f0ff6e1319297
+    aa047e1eaa50de72
+VXORPD_256(mem)
+  before
+    14767cca9960c540.d30ee8ca68cfe640.f59188296f8d76cc.655427b32133b17e
+    5f5385e6c96b022d.15a13638011e5035.b4df3baf1b59b1a4.2f8a2801115da87b
+    6765135e577f5364.4de75bf6a1230e19.82bdf7db57e76171.008d42aafab515d2
+    0879a41e5ea77212.d72b5473e3695c99.3bf6379a3e44415d.36a8711a78c9332f
+    2b29b2bd26243f3d
+  after
+    14767cca9960c540.d30ee8ca68cfe640.f59188296f8d76cc.655427b32133b17e
+    5f5385e6c96b022d.15a13638011e5035.b4df3baf1b59b1a4.2f8a2801115da87b
+    4b25f92c500bc76d.c6afdef269d1b675.414eb38674d4c768.4ade0fb2306e1905
+    0879a41e5ea77212.d72b5473e3695c99.3bf6379a3e44415d.36a8711a78c9332f
+    2b29b2bd26243f3d
+
+VBROADCASTSD_256(reg)
+  before
+    3d5a00ffa05375a9.1e5bb312fbf01c62.0fbb1b18647d7561.bb5878d7ec7b0e97
+    c689574d83e1111f.85d7bc2749650c81.51e1ae52bfe9961c.ddad347e7e988349
+    2300b3116a5a4e4a.18b93b476512009b.f8ea088d903bfb77.7fc3e97b10a85ea0
+    b10b10b8f24b69d6.b5cdac606a04b1db.6222263674ffe01d.7c6412babcb659c7
+    b05d2b27a1ce31eb
+  after
+    3d5a00ffa05375a9.1e5bb312fbf01c62.0fbb1b18647d7561.bb5878d7ec7b0e97
+    c689574d83e1111f.85d7bc2749650c81.51e1ae52bfe9961c.ddad347e7e988349
+    2300b3116a5a4e4a.18b93b476512009b.f8ea088d903bfb77.7fc3e97b10a85ea0
+    b10b10b8f24b69d6.b5cdac606a04b1db.6222263674ffe01d.7c6412babcb659c7
+    b05d2b27a1ce31eb
+VBROADCASTSD_256(mem)
+  before
+    f67ab0aed8fda138.caf86bafb63f9e71.37de8c5c7446de6e.ead502b707c080bb
+    2c861e3b804e67d9.cb12bf6153c228c4.79b95629a0e5427f.ec4f9a7ee40a19fd
+    2c4ff0bbb2ce3dfb.11a408396461447e.592a86b20aeb983b.c4dbe9f5a769e48e
+    d49fa2188d87dfc9.f6fc42a586a72e49.b2fd99e3cd669dcd.cdc7eb8aed6a201a
+    655d9da85298074f
+  after
+    f67ab0aed8fda138.caf86bafb63f9e71.37de8c5c7446de6e.ead502b707c080bb
+    ead502b707c080bb.ead502b707c080bb.ead502b707c080bb.ead502b707c080bb
+    2c4ff0bbb2ce3dfb.11a408396461447e.592a86b20aeb983b.c4dbe9f5a769e48e
+    d49fa2188d87dfc9.f6fc42a586a72e49.b2fd99e3cd669dcd.cdc7eb8aed6a201a
+    655d9da85298074f
+
+VBROADCASTSD_256(reg)
+  before
+    e7eafabb7180d6d7.ff44b0402a870b70.d7646a10542022d2.5ffe09a805620c62
+    aebafd2fe6adc95e.8808961da7da7b1b.10297be66b595bc4.3ef954edcfeaa226
+    1818a4704eab1b91.4db8d19d208becf7.fd97719366dd16cc.29b9f59e460a1b44
+    8052ebea4407091c.281fdcabb0a61930.faf94883e1398f95.fe0c69a787ce33e9
+    97bc2af5ae43a641
+  after
+    e7eafabb7180d6d7.ff44b0402a870b70.d7646a10542022d2.5ffe09a805620c62
+    aebafd2fe6adc95e.8808961da7da7b1b.10297be66b595bc4.3ef954edcfeaa226
+    1818a4704eab1b91.4db8d19d208becf7.fd97719366dd16cc.29b9f59e460a1b44
+    8052ebea4407091c.281fdcabb0a61930.faf94883e1398f95.fe0c69a787ce33e9
+    97bc2af5ae43a641
+VBROADCASTSD_256(mem)
+  before
+    d296b672d5742f77.41b3cc0a654ccfaa.f60b33337337c0f1.639dfc2379f702cc
+    8966880c1a6d8bb8.b986453a4c06a9e8.94465221864b9b67.94cd8addcaa5aa1d
+    99f71cae993b752f.421851e896c2d282.dc9eb66105ed66be.e9d6ed1f6fcfc433
+    df17ee436de9aa09.3ab5ec7ede0a8723.acddd9df0b2adf21.be04215304008bbb
+    6fa322e726c43d60
+  after
+    d296b672d5742f77.41b3cc0a654ccfaa.f60b33337337c0f1.639dfc2379f702cc
+    639dfc2379f702cc.639dfc2379f702cc.639dfc2379f702cc.639dfc2379f702cc
+    99f71cae993b752f.421851e896c2d282.dc9eb66105ed66be.e9d6ed1f6fcfc433
+    df17ee436de9aa09.3ab5ec7ede0a8723.acddd9df0b2adf21.be04215304008bbb
+    6fa322e726c43d60
+
+VBROADCASTSD_256(reg)
+  before
+    58ffed4671a714cf.35907bb9b384e771.fba9136ac16d0477.ded03987b40cc0bc
+    d5637ddb7f364db3.78303efb8617e594.e23fc017da74842c.4f4252461da2c6bd
+    421dce14effc23ba.84c1b3f503ae639e.4cc5f1f1c5ad44ec.db019e0661f5ac4d
+    fb77dc5c5b86d38d.3610569345561bba.9385a1641fa48063.5fd89bb59d13309b
+    b592c43eed070cd1
+  after
+    58ffed4671a714cf.35907bb9b384e771.fba9136ac16d0477.ded03987b40cc0bc
+    d5637ddb7f364db3.78303efb8617e594.e23fc017da74842c.4f4252461da2c6bd
+    421dce14effc23ba.84c1b3f503ae639e.4cc5f1f1c5ad44ec.db019e0661f5ac4d
+    fb77dc5c5b86d38d.3610569345561bba.9385a1641fa48063.5fd89bb59d13309b
+    b592c43eed070cd1
+VBROADCASTSD_256(mem)
+  before
+    bafc958c6bdefd1b.5bbea3205f5e99db.68e8a3c26819ca15.14ccccdc84e3743e
+    4ae28a8d35a3bea7.c03e20ca9813b14e.f717176c89062bda.2ce66fc58ff85b29
+    41101f2c67620c9e.85434ec7a12e5692.bf672d7ec426fc36.351f858bdc6f72cf
+    7b52d1551c27a32f.06192983163dc654.9ca661e53487f755.8cc30a9b08d2f5dd
+    8d1dfa5fafaf20fe
+  after
+    bafc958c6bdefd1b.5bbea3205f5e99db.68e8a3c26819ca15.14ccccdc84e3743e
+    14ccccdc84e3743e.14ccccdc84e3743e.14ccccdc84e3743e.14ccccdc84e3743e
+    41101f2c67620c9e.85434ec7a12e5692.bf672d7ec426fc36.351f858bdc6f72cf
+    7b52d1551c27a32f.06192983163dc654.9ca661e53487f755.8cc30a9b08d2f5dd
+    8d1dfa5fafaf20fe
+
+VCMPPD_128_0x4(reg)
+  before
+    947b51456b922edf.d4731bf471ff3f84.9e0bad6b95cb3a40.6a9e2f8bf534d962
+    fd270cb7db065c2c.284179f681f69bc9.ab66d6eab765f101.051c145e243a5d8a
+    246e26239997e590.538668456916742c.8777a16b1a962544.49ec8b49dca440f8
+    659c9bf441d107b8.310f62cf446d86d6.9088095c5aea13b5.12d910383a7e3ed9
+    3cb11f1759d51359
+  after
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    fd270cb7db065c2c.284179f681f69bc9.ab66d6eab765f101.051c145e243a5d8a
+    246e26239997e590.538668456916742c.8777a16b1a962544.49ec8b49dca440f8
+    659c9bf441d107b8.310f62cf446d86d6.9088095c5aea13b5.12d910383a7e3ed9
+    3cb11f1759d51359
+VCMPPD_128_0x4(mem)
+  before
+    a33e34d256b47aa3.1dfd67967041fc4f.9ea8e57e2e068df6.21e50a2812eef7ff
+    234dcc554c2730e4.a5dd8675c1720002.761d6c4044ee44b6.95dca03bde2c0ccf
+    97aa628c583bf147.5c87f5fdd0f0517d.953973ffa1306842.49b8c8015b3390d0
+    dd21726495fb79f9.9d48af9a3b48296b.d6ca77a962d8b4c7.9ac47de6248cbcaf
+    e24dbb56d6c5cf17
+  after
+    a33e34d256b47aa3.1dfd67967041fc4f.9ea8e57e2e068df6.21e50a2812eef7ff
+    234dcc554c2730e4.a5dd8675c1720002.761d6c4044ee44b6.95dca03bde2c0ccf
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    dd21726495fb79f9.9d48af9a3b48296b.d6ca77a962d8b4c7.9ac47de6248cbcaf
+    e24dbb56d6c5cf17
+
+VCMPPD_128_0x4(reg)
+  before
+    7f9f7ebe0d6a03b5.d07e78c71f738325.c46cb0b89b05c579.179af329a3f3e671
+    cb06c38864059535.4c8df1a313b0ccf9.2d3ff4c48eb46152.3376636b7f8cb86b
+    23ce84227724c142.2c1958e28dbd109e.340d7828b0e038a3.062a435b12b0e7e2
+    e443bff6e353c289.4eef2972a8a60a43.352237529c158718.6b820fe579692e02
+    404a44f6cfc54bf6
+  after
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    cb06c38864059535.4c8df1a313b0ccf9.2d3ff4c48eb46152.3376636b7f8cb86b
+    23ce84227724c142.2c1958e28dbd109e.340d7828b0e038a3.062a435b12b0e7e2
+    e443bff6e353c289.4eef2972a8a60a43.352237529c158718.6b820fe579692e02
+    404a44f6cfc54bf6
+VCMPPD_128_0x4(mem)
+  before
+    604d5c7831d0f8eb.68b06f72431cd6b5.8ddbe03e81787712.8bc92dadeedf8a5c
+    a659d559ba94f10c.0c629101330d3773.c4a9f932323e1337.945056a443cb7d1b
+    f0382b83861ff486.2ca51f0f51b2216f.d125f13ada049adf.ab01aea537649b03
+    18b7d8e4b27dbb84.24c517083695d254.8e1b434293d7c736.2c29321b653721be
+    7214dd7269cf4bf8
+  after
+    604d5c7831d0f8eb.68b06f72431cd6b5.8ddbe03e81787712.8bc92dadeedf8a5c
+    a659d559ba94f10c.0c629101330d3773.c4a9f932323e1337.945056a443cb7d1b
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    18b7d8e4b27dbb84.24c517083695d254.8e1b434293d7c736.2c29321b653721be
+    7214dd7269cf4bf8
+
+VCMPPD_128_0x4(reg)
+  before
+    db0eab16e0b8545e.fca25a675ab90334.500e7458804584cf.d9566b3679c25767
+    c1629874657f799c.76c52cf799df87bf.0dcc326bcb4b738b.8ca4e502a9d2069f
+    825ea1f695aff65d.64ebca828cfb0553.b54a4eadb235dd35.85cf2d933e118f0a
+    784cc1090bd4074e.a0e2b0f34e1a371c.a5d6c28bd18efc79.9ea4c0d3558eafd3
+    b4ef19b009522226
+  after
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    c1629874657f799c.76c52cf799df87bf.0dcc326bcb4b738b.8ca4e502a9d2069f
+    825ea1f695aff65d.64ebca828cfb0553.b54a4eadb235dd35.85cf2d933e118f0a
+    784cc1090bd4074e.a0e2b0f34e1a371c.a5d6c28bd18efc79.9ea4c0d3558eafd3
+    b4ef19b009522226
+VCMPPD_128_0x4(mem)
+  before
+    a47bb415776ba431.0179f41a647ae71b.07745b36fb47d946.39ba8c6fc5e20d02
+    48160eedbae4f01d.773136943b2ed36f.766e4538b08fa9fc.cd43a7c72abe4c7d
+    7d8aa126efcac319.38c083e22d7c07f6.c79cece388fd616b.bdbd0ffe9badf495
+    20a5ebab3127d94f.9e72d872d5eebe5e.d7cacc24a09dbebe.6474c17fb43c42f7
+    20b3b8b812f5724f
+  after
+    a47bb415776ba431.0179f41a647ae71b.07745b36fb47d946.39ba8c6fc5e20d02
+    48160eedbae4f01d.773136943b2ed36f.766e4538b08fa9fc.cd43a7c72abe4c7d
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    20a5ebab3127d94f.9e72d872d5eebe5e.d7cacc24a09dbebe.6474c17fb43c42f7
+    20b3b8b812f5724f
+
+VCVTDQ2PD_128(reg)
+  before
+    4cc8f0145067bf48.0b3167689c0aedeb.069230afcf123551.82c45fe8147b7b22
+    44fd65ff0b1b678f.1bfb91494d7cbc1b.cd6d8705b874a87b.a555231afea456c2
+    649f13e5de9fa4cf.2ccee63b608b0209.4d50d9e02c9e5389.1a4b92a57d2309cb
+    07faf733667eb2b5.1a78e028f0427be1.e38523acc61e7127.be702b77aa055169
+    6d91677ba455e9c7
+  after
+    4cc8f0145067bf48.0b3167689c0aedeb.069230afcf123551.82c45fe8147b7b22
+    0000000000000000.0000000000000000.41ba4b92a5000000.41df48c272c00000
+    649f13e5de9fa4cf.2ccee63b608b0209.4d50d9e02c9e5389.1a4b92a57d2309cb
+    07faf733667eb2b5.1a78e028f0427be1.e38523acc61e7127.be702b77aa055169
+    6d91677ba455e9c7
+VCVTDQ2PD_128(mem)
+  before
+    037ac39d841f8e12.8b5a0c533e45cfed.c1c3fdfd19aee2d0.ec595fd622803f00
+    5cf6bcc96870fc75.4b0a4eb2037e3522.fe7db8a7f8daf402.c2178bc8dd4ef9c1
+    54d3cdeb6c53ef1d.a358b9bd50b82100.ab708e10a9d26da2.c20da2ef9316da15
+    c7db72efabd42236.ee8e49dec27cce35.a569f92646a309dd.4885a1b8de641fa9
+    b0cc828e5dc20429
+  after
+    037ac39d841f8e12.8b5a0c533e45cfed.c1c3fdfd19aee2d0.ec595fd622803f00
+    0000000000000000.0000000000000000.c1b3a6a02a000000.41c1401f80000000
+    54d3cdeb6c53ef1d.a358b9bd50b82100.ab708e10a9d26da2.c20da2ef9316da15
+    c7db72efabd42236.ee8e49dec27cce35.a569f92646a309dd.4885a1b8de641fa9
+    b0cc828e5dc20429
+
+VCVTDQ2PD_128(reg)
+  before
+    562e43dcaabfc540.91dc28c242ff52eb.8af9fb83f458796b.c83477d4ee5883de
+    96f7df1061e49d9b.8ea0694e4ce13b69.d1e5ca1782d75e4e.ef9c8306bbfd98d2
+    cc7353951fbfc9e5.9af4b381e58699db.219eb2060986b98b.f86f99a8c99e03e4
+    54ee99d77fdb85cb.91a381452af8276e.d470b0bc25f0c6ce.be7736a635488242
+    1d81d4ec1a07cf15
+  after
+    562e43dcaabfc540.91dc28c242ff52eb.8af9fb83f458796b.c83477d4ee5883de
+    0000000000000000.0000000000000000.c19e419960000000.c1cb30fe0e000000
+    cc7353951fbfc9e5.9af4b381e58699db.219eb2060986b98b.f86f99a8c99e03e4
+    54ee99d77fdb85cb.91a381452af8276e.d470b0bc25f0c6ce.be7736a635488242
+    1d81d4ec1a07cf15
+VCVTDQ2PD_128(mem)
+  before
+    f159f16694e5a78c.8ab3af421dc40df9.4f7b4f883745a24d.48a6bea571a1c0c2
+    16cb0801c1f0c5d1.ca10904397079c1a.af469a352779c5a6.d78eda2d8926e414
+    67a396a7ba34e610.704f3844862f6fdb.8fd2dc38169e4ea2.df72ffc00a0a6d70
+    c2ad15469dbbc676.d8bda3b288c9c2e7.cae9937d21c2f770.ba9f29cb8fd99981
+    c56155b8b520a2f3
+  after
+    f159f16694e5a78c.8ab3af421dc40df9.4f7b4f883745a24d.48a6bea571a1c0c2
+    0000000000000000.0000000000000000.41d229afa9400000.41dc687030800000
+    67a396a7ba34e610.704f3844862f6fdb.8fd2dc38169e4ea2.df72ffc00a0a6d70
+    c2ad15469dbbc676.d8bda3b288c9c2e7.cae9937d21c2f770.ba9f29cb8fd99981
+    c56155b8b520a2f3
+
+VCVTDQ2PD_128(reg)
+  before
+    5d047df5176ac474.02b403c88693212f.5ea6cefa3960d0eb.3c583bf063f17d3a
+    dcd39fec52433dad.0385db1b90c8b366.5e55b3863480d693.c0eb4e7df9359b2c
+    9f1cb60b0138474d.a0ed192ad7653748.331850c415b5108a.346d4910fe9c0f73
+    0229bfbdc1d41ffe.b7b539e178766a01.3b39a11f798cb97c.73aca9968f32933b
+    5872e9f9c702e3af
+  after
+    5d047df5176ac474.02b403c88693212f.5ea6cefa3960d0eb.3c583bf063f17d3a
+    0000000000000000.0000000000000000.41ca36a488000000.c1763f08d0000000
+    9f1cb60b0138474d.a0ed192ad7653748.331850c415b5108a.346d4910fe9c0f73
+    0229bfbdc1d41ffe.b7b539e178766a01.3b39a11f798cb97c.73aca9968f32933b
+    5872e9f9c702e3af
+VCVTDQ2PD_128(mem)
+  before
+    c18d8527c318bdfc.6247b46e2da3006c.22acb82c8f0707bc.d105a003fc900f17
+    88c7fa0a9e80db4e.19c2938ae2322845.bf9d11f73625cba6.50c84bdc394e4c05
+    8bedc3907447fad0.84e6577d7b0cd133.6853c02e8cdb72ea.16ce9d16cc51acf2
+    a4ca5ba46278d5ae.fffffcb394bd38e2.fb9c41beab35b8b5.7e63921d52256d8b
+    e3d3265d6657c97c
+  after
+    c18d8527c318bdfc.6247b46e2da3006c.22acb82c8f0707bc.d105a003fc900f17
+    0000000000000000.0000000000000000.c1c77d2ffe800000.c18b7f8748000000
+    8bedc3907447fad0.84e6577d7b0cd133.6853c02e8cdb72ea.16ce9d16cc51acf2
+    a4ca5ba46278d5ae.fffffcb394bd38e2.fb9c41beab35b8b5.7e63921d52256d8b
+    e3d3265d6657c97c
+
+VDIVPD_128(reg)
+  before
+    a3695642a571fd70.b12c4132841f2a16.e6587f98cad298ff.52421191af405932
+    18721c39aa024414.8cddee26f549b332.953fda99b9d62e36.4b12aa94b507108e
+    a03a76ac1293dc14.12abdf6cd1012c2e.68fe0b20fc563632.c0d88ab4d8979af5
+    950d5f0978b2ff1b.206091f035545337.bbe20d9b2fdcec9f.8e5f2ddc35fbb292
+    92750df7e73f1592
+  after
+    0000000000000000.0000000000000000.8000000000000000.ca2856c6950d9a47
+    18721c39aa024414.8cddee26f549b332.953fda99b9d62e36.4b12aa94b507108e
+    a03a76ac1293dc14.12abdf6cd1012c2e.68fe0b20fc563632.c0d88ab4d8979af5
+    950d5f0978b2ff1b.206091f035545337.bbe20d9b2fdcec9f.8e5f2ddc35fbb292
+    92750df7e73f1592
+VDIVPD_128(mem)
+  before
+    a6e4a8f30a6f7f21.5537d4bb79ebe9d5.90c97f9f3d4de279.ea37dd74eff68b2b
+    a77a78bbbb98ac6a.3a04d02db0c8d8f0.3fb2256303f8961f.51487519d8305080
+    7101fb3b16c55899.a1bf4ecdb9d70616.09e6002aa6612a56.4c63d3f58415774a
+    e146ad5f36033edb.e7b64c0631a3b0f3.cb338ade40955c49.36d2f27492313c37
+    6de3ce029b10daf0
+  after
+    a6e4a8f30a6f7f21.5537d4bb79ebe9d5.90c97f9f3d4de279.ea37dd74eff68b2b
+    a77a78bbbb98ac6a.3a04d02db0c8d8f0.3fb2256303f8961f.51487519d8305080
+    0000000000000000.0000000000000000.eed6c5d7afc10827.a70065aaef6643a2
+    e146ad5f36033edb.e7b64c0631a3b0f3.cb338ade40955c49.36d2f27492313c37
+    6de3ce029b10daf0
+
+VDIVPD_128(reg)
+  before
+    4ce0630b3e3f8e24.d1140814385d1b5c.6633c644b4b91134.5f63416ded9fe625
+    2f16aefb1449947d.1e398a4437dfaa48.7b83b6f4dda46785.a243a0c2ca8c8516
+    71d1aa3fbcbb27a7.a47faedc4f95a9ca.82f21a8048f1ec91.709f24c8f267f447
+    705c5341cf20844f.3fb4f0c99d8cd20e.d8cbed55922add05.a543476d813cf0e5
+    1dfb879d9518351b
+  after
+    0000000000000000.0000000000000000.fff0000000000000.8000000000000000
+    2f16aefb1449947d.1e398a4437dfaa48.7b83b6f4dda46785.a243a0c2ca8c8516
+    71d1aa3fbcbb27a7.a47faedc4f95a9ca.82f21a8048f1ec91.709f24c8f267f447
+    705c5341cf20844f.3fb4f0c99d8cd20e.d8cbed55922add05.a543476d813cf0e5
+    1dfb879d9518351b
+VDIVPD_128(mem)
+  before
+    b4925f4247067f16.8705a56feb04e721.cba2ccf63cd0e241.d75c2be056dd758c
+    46d64b49b5128902.11169d33acf48bc8.2416bf4e496b948f.dcefd08b3196f1d3
+    af91c79efb49100a.6cdc35fbad7baef1.26dc43bfdf6ba524.43d2d9c4bfdf8d86
+    cb90502e34b5d05b.f3a36b328b258a48.adbfd6341bdbd12b.684f41f69a468550
+    a7b3048d615714de
+  after
+    b4925f4247067f16.8705a56feb04e721.cba2ccf63cd0e241.d75c2be056dd758c
+    46d64b49b5128902.11169d33acf48bc8.2416bf4e496b948f.dcefd08b3196f1d3
+    0000000000000000.0000000000000000.98635bd698a45046.458211b5dabfe2be
+    cb90502e34b5d05b.f3a36b328b258a48.adbfd6341bdbd12b.684f41f69a468550
+    a7b3048d615714de
+
+VDIVPD_128(reg)
+  before
+    5c491ef4ad9d77db.769f61e37c658520.01b73a44e17e5b78.958df49918c8d4d0
+    e35f8c9a1da4eaf4.8c8a76abf062ea86.f4649f9d4b135f2d.ba1017daf33d6940
+    984048e84af8a8d5.e91d0b71acbabcb9.26f594a96670d015.f815bde3c7464da7
+    d737504bd226ef29.69239d20cb79b6e4.f5b817d4cd1febda.2a6961a0b1f03c30
+    2ed57ffecc46f208
+  after
+    0000000000000000.0000000000000000.fff0000000000000.01e7afb1c24f7743
+    e35f8c9a1da4eaf4.8c8a76abf062ea86.f4649f9d4b135f2d.ba1017daf33d6940
+    984048e84af8a8d5.e91d0b71acbabcb9.26f594a96670d015.f815bde3c7464da7
+    d737504bd226ef29.69239d20cb79b6e4.f5b817d4cd1febda.2a6961a0b1f03c30
+    2ed57ffecc46f208
+VDIVPD_128(mem)
+  before
+    df2893e735542a5b.fc919f2f51b9f99d.e769a6a669a99634.bbf7238a1daeeb28
+    192d1a490727a154.639a3201623e02dc.41bba4eea35816d4.d5ffb437f2a80eac
+    b7af8e0e5eca1320.689e032ba23f4893.52e512e49492f3f1.a01cc748e69a8e12
+    977b6d24574a3bea.66e9101bac4b056d.f5b36d755962e8b6.769a5627980fa805
+    b4c45f42a1939732
+  after
+    df2893e735542a5b.fc919f2f51b9f99d.e769a6a669a99634.bbf7238a1daeeb28
+    192d1a490727a154.639a3201623e02dc.41bba4eea35816d4.d5ffb437f2a80eac
+    0000000000000000.0000000000000000.9a413e4ae2b7ed81.59f5ec30b939a6e4
+    977b6d24574a3bea.66e9101bac4b056d.f5b36d755962e8b6.769a5627980fa805
+    b4c45f42a1939732
+
+VANDPD_256(reg)
+  before
+    b6e8dd04a0b39844.945e32760eb1d6df.bbc6543b1ceb7618.08f12f8b0dd4b350
+    d950cdd92efae7e8.89215af09e0da02b.c282cbf98fadd63d.666bd613cdf40eeb
+    7749292de9f5c0ca.54935f7e236a55f9.d66a72c0a11c628b.eaecddfab4cfb5b2
+    ed1fef6c6d2e5e95.cf7fbf0cbad2b075.55c843fcecc556ac.7241c02adf7066d2
+    d836fc9169e3db77
+  after
+    5140090928f0c0c8.00015a7002080029.c20242c0810c4209.6268d41284c404a2
+    d950cdd92efae7e8.89215af09e0da02b.c282cbf98fadd63d.666bd613cdf40eeb
+    7749292de9f5c0ca.54935f7e236a55f9.d66a72c0a11c628b.eaecddfab4cfb5b2
+    ed1fef6c6d2e5e95.cf7fbf0cbad2b075.55c843fcecc556ac.7241c02adf7066d2
+    d836fc9169e3db77
+VANDPD_256(mem)
+  before
+    fa970b1a6e35d1cc.971e1a025533fef6.d8b0f5867e546ecd.9ae93c190f33ee4c
+    b2306bb10b7103fe.d192a65b3e90dc98.49f47ed98cf94b2a.00185883a4f26518
+    decc97425ca42f38.f7c690e3c3cf3328.0015d4ef00cf02bb.e5a394a6478ef9bc
+    58390cb97cd80fa7.6507d207807f4152.d7e075b6f4e150aa.a4d4eaef9594e3e3
+    98f958c82990623a
+  after
+    fa970b1a6e35d1cc.971e1a025533fef6.d8b0f5867e546ecd.9ae93c190f33ee4c
+    b2306bb10b7103fe.d192a65b3e90dc98.49f47ed98cf94b2a.00185883a4f26518
+    b2100b100a3101cc.911202021410dc90.48b074800c504a08.0008180104326408
+    58390cb97cd80fa7.6507d207807f4152.d7e075b6f4e150aa.a4d4eaef9594e3e3
+    98f958c82990623a
+
+VANDPD_256(reg)
+  before
+    1e5cd99fa00cb06d.fd414402871c5f76.77a26a3112293fc1.ac21dc18873bf124
+    934a69de95960a27.aab1bd099a79ddd2.89e153cf155b6c22.59a38503d2eaa154
+    510e05f3a4b9ac14.3955f2bad1fd43e7.f7108a4b24a00220.bb34ec62f3f91b67
+    b6f6a7496b02d2e2.87f95f0247b34ee0.1d7d0913db843f68.af9e8e2006751c88
+    0fafe62b266960e4
+  after
+    110a01d284900804.2811b008907941c2.8100024b04000020.19208402d2e80144
+    934a69de95960a27.aab1bd099a79ddd2.89e153cf155b6c22.59a38503d2eaa154
+    510e05f3a4b9ac14.3955f2bad1fd43e7.f7108a4b24a00220.bb34ec62f3f91b67
+    b6f6a7496b02d2e2.87f95f0247b34ee0.1d7d0913db843f68.af9e8e2006751c88
+    0fafe62b266960e4
+VANDPD_256(mem)
+  before
+    b831706e70e1a2a7.1c4d4d4c83fcb73a.716981cb18a8b9ea.5773ce92d7945ca6
+    86f1a8d6ffe99ffc.e05ef2688a3398cb.d170d20361e64230.013dd434b35b9885
+    55ba0a4def8e1310.5f7692091c34b03f.84dcd0943d7ca3df.772817650c662db2
+    015a13c05ddcba0e.f3e12a9bd48a3c43.6677f66cc9739923.148193917d4058d8
+    36924524a37555a4
+  after
+    b831706e70e1a2a7.1c4d4d4c83fcb73a.716981cb18a8b9ea.5773ce92d7945ca6
+    86f1a8d6ffe99ffc.e05ef2688a3398cb.d170d20361e64230.013dd434b35b9885
+    8031204670e182a4.004c40488230900a.5160800300a00020.0131c41093101884
+    015a13c05ddcba0e.f3e12a9bd48a3c43.6677f66cc9739923.148193917d4058d8
+    36924524a37555a4
+
+VANDPD_256(reg)
+  before
+    38a7288b19915fc2.679b3e1c65dd4f23.f9ebb58a4ec17982.530ec17620d9df27
+    750e38307c21b3dd.614b074b229f8f7b.cde02f432766a0a9.276dab9e5fb93218
+    4b11718067b08da1.cc34ea3bb02d3641.cc0b9430fa04f063.be5f32d0a1204e21
+    15fed0e876cb29bc.842364d62c9400a2.50bae0bf6428a35d.f4b2d1f80219ef6f
+    a5300403a0b0d02e
+  after
+    4100300064208181.4000020b200d0641.cc0004002204a021.264d229001200200
+    750e38307c21b3dd.614b074b229f8f7b.cde02f432766a0a9.276dab9e5fb93218
+    4b11718067b08da1.cc34ea3bb02d3641.cc0b9430fa04f063.be5f32d0a1204e21
+    15fed0e876cb29bc.842364d62c9400a2.50bae0bf6428a35d.f4b2d1f80219ef6f
+    a5300403a0b0d02e
+VANDPD_256(mem)
+  before
+    ada747db94f2ae89.2e1f4fd346fdc2d8.65e4f00ab1dfa8c9.b637105a015cf643
+    e8e1176dfcea45ad.f4c1ecad73d295a1.4b420ac25c1aebe3.5acf1e6f6b2e24c0
+    32abefa6f4a451c5.c130a2e198d7dec4.120b2eea4852841c.98ce0869412a6b81
+    67d04b70972d8dfe.f3b76edd5197d8ed.9509d86e9292319f.cc80cab41cdb0531
+    52305ebc9bcd2f7d
+  after
+    ada747db94f2ae89.2e1f4fd346fdc2d8.65e4f00ab1dfa8c9.b637105a015cf643
+    e8e1176dfcea45ad.f4c1ecad73d295a1.4b420ac25c1aebe3.5acf1e6f6b2e24c0
+    a8a1074994e20489.24014c8142d08080.41400002101aa8c1.1207104a010c2440
+    67d04b70972d8dfe.f3b76edd5197d8ed.9509d86e9292319f.cc80cab41cdb0531
+    52305ebc9bcd2f7d
+
+VPMOVSXBW_128(reg)
+  before
+    862cc2ed578c2411.631ea7b90190b684.e4a44a0d3b9ec0c7.b209853a55e6ac99
+    c4bef1b3eea52198.0260806c4fd98782.f24134dbf279d2ff.44d8b03bae5bb235
+    6833e77afca362bf.1f6150759c15be25.77dc27b411b34a41.273fd55bb8fcfea0
+    cdd7a0af1c132331.98ee95c0054f1598.d1bf1f0434d86338.370d70878fd54d06
+    4f0dfeac51f35b92
+  after
+    862cc2ed578c2411.631ea7b90190b684.e4a44a0d3b9ec0c7.b209853a55e6ac99
+    0000000000000000.0000000000000000.0027003fffd5005b.ffb8fffcfffeffa0
+    6833e77afca362bf.1f6150759c15be25.77dc27b411b34a41.273fd55bb8fcfea0
+    cdd7a0af1c132331.98ee95c0054f1598.d1bf1f0434d86338.370d70878fd54d06
+    4f0dfeac51f35b92
+VPMOVSXBW_128(mem)
+  before
+    4d0afab51761e470.51f619bceb7f9f9b.48d3ca39a5934908.5a371938f8755a90
+    0cd1e08dff2ba4ce.4fdc4d0f047614a8.0adc6ccc99ee15a1.6f8f10baf8146bf6
+    672f2c22255e56d6.23d438130381bb06.bcd5f565fc6b378e.6c1500f8d144d116
+    3cee5a5fa305b7b4.292cd633852ed35e.3989e3f1eb1668fb.ae13e55d1e8fc99c
+    8fd7bb547c818f33
+  after
+    4d0afab51761e470.51f619bceb7f9f9b.48d3ca39a5934908.5a371938f8755a90
+    0000000000000000.0000000000000000.005a003700190038.fff80075005aff90
+    672f2c22255e56d6.23d438130381bb06.bcd5f565fc6b378e.6c1500f8d144d116
+    3cee5a5fa305b7b4.292cd633852ed35e.3989e3f1eb1668fb.ae13e55d1e8fc99c
+    8fd7bb547c818f33
+
+VPMOVSXBW_128(reg)
+  before
+    6cab7e4b86a65f87.65dae730982c8295.bc2e23dd2608965f.5cc5b15a81fc6716
+    a1dc2badd98b7446.c0c14e811ee074a5.3a271c7c809c41b3.0356db8edb28ef09
+    8ab6bde710bb0b19.276d0b3e512c490f.fe63bc7c32751006.0806de7814a6bb00
+    83843063c7c260af.78ac9a544e1dbd00.632eff49d61f3e05.49a2340349838828
+    a0f55b1d95ca11ad
+  after
+    6cab7e4b86a65f87.65dae730982c8295.bc2e23dd2608965f.5cc5b15a81fc6716
+    0000000000000000.0000000000000000.00080006ffde0078.0014ffa6ffbb0000
+    8ab6bde710bb0b19.276d0b3e512c490f.fe63bc7c32751006.0806de7814a6bb00
+    83843063c7c260af.78ac9a544e1dbd00.632eff49d61f3e05.49a2340349838828
+    a0f55b1d95ca11ad
+VPMOVSXBW_128(mem)
+  before
+    ebcdceb1148813ba.e994818e9b2dafb2.8d4878ad30bd8ca4.c7d3e1500826085c
+    04f40aabe3c84b7c.1630abd4288733ce.440e1f37141b7126.84a05ffb6517aab6
+    c83889f71e96721e.67a5a9a2095c29b1.77ca0ddc154029b2.f8df74b7887d60c0
+    1463c981e0fe47cd.383f7962da39cc04.0448bd8a503a6f76.7ddd1cf10ee56526
+    71e6531492daf693
+  after
+    ebcdceb1148813ba.e994818e9b2dafb2.8d4878ad30bd8ca4.c7d3e1500826085c
+    0000000000000000.0000000000000000.ffc7ffd3ffe10050.000800260008005c
+    c83889f71e96721e.67a5a9a2095c29b1.77ca0ddc154029b2.f8df74b7887d60c0
+    1463c981e0fe47cd.383f7962da39cc04.0448bd8a503a6f76.7ddd1cf10ee56526
+    71e6531492daf693
+
+VPMOVSXBW_128(reg)
+  before
+    2e46158bb0e84fb3.c2424536450d84b5.e44a178238a95a76.c553ac2ce014009b
+    12485fc4059cab34.afa179006acee601.c9127d6dbe390db1.97b854ade2db9850
+    773a2c2a2d8147bf.b84be2cd6a4e28de.42e3a98f09742261.564433fb7199f3bf
+    ba667829c3235f03.b70efa8762980878.ab089654b5e6d433.dfc1c401a95dcd15
+    0cfc83aca730e17d
+  after
+    2e46158bb0e84fb3.c2424536450d84b5.e44a178238a95a76.c553ac2ce014009b
+    0000000000000000.0000000000000000.005600440033fffb.0071ff99fff3ffbf
+    773a2c2a2d8147bf.b84be2cd6a4e28de.42e3a98f09742261.564433fb7199f3bf
+    ba667829c3235f03.b70efa8762980878.ab089654b5e6d433.dfc1c401a95dcd15
+    0cfc83aca730e17d
+VPMOVSXBW_128(mem)
+  before
+    bac0ede68720ec24.38193f2d640f2faa.89b43f1c6db840fa.60ce40285c1b60d3
+    c5db7c9c6438a935.4b9f7da2abd0f261.0a0a2c77a8ba8d90.bd81a4779da002ed
+    0918aebb5a85d6dd.50442ff534f2e5d3.16dc3d842eabaa67.1d6dbcad1100f62b
+    6242ff2d86122d48.a35450909c0244ad.89f6ef2f1c9654ab.dede863656c8773c
+    5b20fd7f0883c3ca
+  after
+    bac0ede68720ec24.38193f2d640f2faa.89b43f1c6db840fa.60ce40285c1b60d3
+    0000000000000000.0000000000000000.0060ffce00400028.005c001b0060ffd3
+    0918aebb5a85d6dd.50442ff534f2e5d3.16dc3d842eabaa67.1d6dbcad1100f62b
+    6242ff2d86122d48.a35450909c0244ad.89f6ef2f1c9654ab.dede863656c8773c
+    5b20fd7f0883c3ca
+
+VPSUBUSW_128(reg)
+  before
+    ef7e1df2c2bd1382.ac26e9e004eb6ba1.a01bdce07e8b4a9a.3f24bd648d884788
+    f846e3fd2102a60f.c390e9beee1d4b15.a3e4d05277193547.1431230f9e8c3f29
+    d1c24a0bc0dfb61e.834c7cb563b28acf.09fc265123393f60.e4eb9d1c6aaef7ba
+    d53f4d873be0805b.c8251db07db9e4fc.2cafdc481c76a490.8b1ca7770dfb2c68
+    e591be0da47e9a5f
+  after
+    0000000000000000.0000000000000000.773500005aa30000.00000000909112c1
+    f846e3fd2102a60f.c390e9beee1d4b15.a3e4d05277193547.1431230f9e8c3f29
+    d1c24a0bc0dfb61e.834c7cb563b28acf.09fc265123393f60.e4eb9d1c6aaef7ba
+    d53f4d873be0805b.c8251db07db9e4fc.2cafdc481c76a490.8b1ca7770dfb2c68
+    e591be0da47e9a5f
+VPSUBUSW_128(mem)
+  before
+    ce165dc84b43fdcb.6209ebdf2f8f4071.6ee9489b583b15c8.6949eda5015da284
+    227700961d5710d7.d26b1d7e387a310c.51627a621146d85e.1c1655d36b7873e7
+    bd80236236c590af.83b3e1d0f12c90da.4d5e2df1c3e6eaeb.a162113ef9565366
+    7bfc4218b3993880.cf2b3142f6329985.3ea7df358a25079a.54781c52448080ad
+    91a5717cea843467
+  after
+    ce165dc84b43fdcb.6209ebdf2f8f4071.6ee9489b583b15c8.6949eda5015da284
+    227700961d5710d7.d26b1d7e387a310c.51627a621146d85e.1c1655d36b7873e7
+    0000000000000000.0000000000000000.000031c70000c296.000000006a1b0000
+    7bfc4218b3993880.cf2b3142f6329985.3ea7df358a25079a.54781c52448080ad
+    91a5717cea843467
+
+VPSUBUSW_128(reg)
+  before
+    b3360f2687edac41.37b8daa3afe0c676.14200b3ee41788b9.ff090b188411eb98
+    1875efbdb64724e6.cf8166f147a5f4bc.acde6b3156679823.6e522e87cab65110
+    1bae0eae141fd703.1e2162ee97f47f7f.f4b14b88e9af066f.664dc26f7a1ef62f
+    182f69633c000243.00644a84b9da22eb.49e5a9ad397a0e48.c3c545bbb0579621
+    60873256876dec12
+  after
+    0000000000000000.0000000000000000.62f900001ced89db.000000001a5f0000
+    1875efbdb64724e6.cf8166f147a5f4bc.acde6b3156679823.6e522e87cab65110
+    1bae0eae141fd703.1e2162ee97f47f7f.f4b14b88e9af066f.664dc26f7a1ef62f
+    182f69633c000243.00644a84b9da22eb.49e5a9ad397a0e48.c3c545bbb0579621
+    60873256876dec12
+VPSUBUSW_128(mem)
+  before
+    1b60052e1b6bb52c.6b43fb4aca77e154.50189ba0cc629b2b.05c6800ee054eb5b
+    ce1a3b2e895dad9e.6f35c0ce5b0fb0df.ec08d02ee998a36c.859fcc157ccadb53
+    57814e42ed4f9092.8252b55b8a54aa93.aeff651b2e89f9d9.25bd8930a96718dd
+    9163bc56614e1935.ffe6d55df4d30c1a.74cad651b740589f.416db4ca02b7dea5
+    36f9474f24476a56
+  after
+    1b60052e1b6bb52c.6b43fb4aca77e154.50189ba0cc629b2b.05c6800ee054eb5b
+    ce1a3b2e895dad9e.6f35c0ce5b0fb0df.ec08d02ee998a36c.859fcc157ccadb53
+    0000000000000000.0000000000000000.9bf0348e1d360841.7fd94c0700000000
+    9163bc56614e1935.ffe6d55df4d30c1a.74cad651b740589f.416db4ca02b7dea5
+    36f9474f24476a56
+
+VPSUBUSW_128(reg)
+  before
+    5ead402baaa2f99d.578a0056046505b2.413d1b4035161220.1835a0be9fca7be9
+    16d79bcb3155c425.86c4962ff0a01036.a6a38670e8acf752.780c3d4d03311fe4
+    bac2529954ea0a9b.fbdbfbcb410cf5ec.89630f59a91ef85c.6e1b2beafe83ffbc
+    a6b96302afef05ab.909caa1814b47101.45cbb36715fa51e9.d82de581acccd89c
+    9010e8fe2a1767b1
+  after
+    0000000000000000.0000000000000000.60d80000d2b2a569.0000000000000000
+    16d79bcb3155c425.86c4962ff0a01036.a6a38670e8acf752.780c3d4d03311fe4
+    bac2529954ea0a9b.fbdbfbcb410cf5ec.89630f59a91ef85c.6e1b2beafe83ffbc
+    a6b96302afef05ab.909caa1814b47101.45cbb36715fa51e9.d82de581acccd89c
+    9010e8fe2a1767b1
+VPSUBUSW_128(mem)
+  before
+    748eae4d94706527.3609c973dff0f200.23d31f0084a540a1.38256f07c7cb3ea6
+    5e74b55a05e39129.c6fe805680780d47.8e4cd671aeea1ef7.bcbe3ea35b1efa3f
+    2b8e7811997da5e3.b2e484192c13912b.aed24b56ad8fc630.2fe21ca96f7ec25f
+    b7a8735f6d495e83.5607d127824dbb59.6032fb9b9da0f578.ebdd06849c77d2b2
+    4dfbf69f809665e6
+  after
+    748eae4d94706527.3609c973dff0f200.23d31f0084a540a1.38256f07c7cb3ea6
+    5e74b55a05e39129.c6fe805680780d47.8e4cd671aeea1ef7.bcbe3ea35b1efa3f
+    0000000000000000.0000000000000000.6a79b7712a450000.849900000000bb99
+    b7a8735f6d495e83.5607d127824dbb59.6032fb9b9da0f578.ebdd06849c77d2b2
+    4dfbf69f809665e6
+
+VPSUBSW_128(reg)
+  before
+    b287ea68b766b8a4.df8e222e9c547732.0eb264ec1cb3c77d.7e39602c9b2a67fa
+    74cfdd4adc73079b.7d0b026c43a9ae1f.353338d496d0f042.e5b1f8f5c338d7e2
+    f01dccb18c4a8e75.6eed8e047d54bd74.29d4494b8d317455.71673fe230d7025e
+    83beb10a627688df.8efe42e16761615d.45e294bd9c608d61.fe26afdfff12a497
+    69bcc6d84bf579bc
+  after
+    0000000000000000.0000000000000000.ef517ffffa7062e1.e78b4916c426334b
+    74cfdd4adc73079b.7d0b026c43a9ae1f.353338d496d0f042.e5b1f8f5c338d7e2
+    f01dccb18c4a8e75.6eed8e047d54bd74.29d4494b8d317455.71673fe230d7025e
+    83beb10a627688df.8efe42e16761615d.45e294bd9c608d61.fe26afdfff12a497
+    69bcc6d84bf579bc
+VPSUBSW_128(mem)
+  before
+    8cf4ffba308c3cf7.87fe8abffa833284.b90b9af11cdd5508.e5a9139660ec7713
+    4499d66fcbe4aa74.5928523df1fec811.cbe0131fb9d4569f.6475c442745e7016
+    6d78c7e537097f61.558a05f1e2728531.a04828575950204e.2091a22e7544b218
+    e35d4f07910577e7.d76e9f456a6ba691.14115485195f6f42.744ba9c4fe297ac2
+    bbedd672ab9a03c3
+  after
+    8cf4ffba308c3cf7.87fe8abffa833284.b90b9af11cdd5508.e5a9139660ec7713
+    4499d66fcbe4aa74.5928523df1fec811.cbe0131fb9d4569f.6475c442745e7016
+    0000000000000000.0000000000000000.12d5782e9cf70197.7eccb0ac1372f903
+    e35d4f07910577e7.d76e9f456a6ba691.14115485195f6f42.744ba9c4fe297ac2
+    bbedd672ab9a03c3
+
+VPSUBSW_128(reg)
+  before
+    53c424a219228ac5.8214e9c0f4e64d35.3b221da7247667dd.03051696140cfea6
+    971c8fc2e44d4b74.266811fe7db7be75.ddf07a82ad1e04c0.49f2e77466648aa8
+    e241133da7a8827d.ab2743ac488585d3.1a25b242a1f0b8e7.c2a2450c2c72cf71
+    927fac7ffebd6b8c.ec1bfbb66f5b607c.4c0cc1529a76c0fd.4ae2aa4b82428930
+    bd7d951c83e1730f
+  after
+    0000000000000000.0000000000000000.91e47fff12a843c3.ff103d297fff0178
+    971c8fc2e44d4b74.266811fe7db7be75.ddf07a82ad1e04c0.49f2e77466648aa8
+    e241133da7a8827d.ab2743ac488585d3.1a25b242a1f0b8e7.c2a2450c2c72cf71
+    927fac7ffebd6b8c.ec1bfbb66f5b607c.4c0cc1529a76c0fd.4ae2aa4b82428930
+    bd7d951c83e1730f
+VPSUBSW_128(mem)
+  before
+    f7417f6a4b5a4a3a.012257f4861b414c.c712b6081045099c.d0f3a321363e58af
+    d4f9e523f7b9c9de.8c750e08db4b416a.17d6ef8f47503d5f.0124551811d4bca9
+    2f704432a30bae27.90c5cf2898dba691.b83322352f87b7f0.3dedd2a4c6c32796
+    e6731783695bb341.675e96be5957ad6e.86f7cbe8e5f6347b.df981631f297d623
+    43721e2c30dc05fb
+  after
+    f7417f6a4b5a4a3a.012257f4861b414c.c712b6081045099c.d0f3a321363e58af
+    d4f9e523f7b9c9de.8c750e08db4b416a.17d6ef8f47503d5f.0124551811d4bca9
+    0000000000000000.0000000000000000.50c43987370b33c3.30317fffdb968000
+    e6731783695bb341.675e96be5957ad6e.86f7cbe8e5f6347b.df981631f297d623
+    43721e2c30dc05fb
+
+VPSUBSW_128(reg)
+  before
+    c5c7e4ff1c1fefcb.d4ceda0268b59556.6f8c5d37bb4993ad.5ced679284aa702d
+    c1e2661854ebd13e.d54d099bb9260f95.029b2200593f91f9.18e0702128ae2732
+    92119fe171cde702.c4bc213b7bb9de28.7dd6e084d0c5e6ff.959d647fee0e15b5
+    969e8bc811506cc0.7fe69dccc77abe3c.3c8b932ebb65cc6b.aef1bf9af2d7f5e3
+    41a6fb5d4f1483e8
+  after
+    0000000000000000.0000000000000000.c6107fff7fffc58e.69ef7fff35d7314f
+    c1e2661854ebd13e.d54d099bb9260f95.029b2200593f91f9.18e0702128ae2732
+    92119fe171cde702.c4bc213b7bb9de28.7dd6e084d0c5e6ff.959d647fee0e15b5
+    969e8bc811506cc0.7fe69dccc77abe3c.3c8b932ebb65cc6b.aef1bf9af2d7f5e3
+    41a6fb5d4f1483e8
+VPSUBSW_128(mem)
+  before
+    298896b421d27def.28d62738cf009e27.e098f93bbc766bfc.9c04376cb7ad80e8
+    41650a8b851b9d24.a4056d9d4869b7e0.c59fb17573b8a195.f78ec9a95f293d22
+    6707d5cf96fea0b5.65775b631818f39a.08c541650a4d1b33.aa7544514f6341c7
+    753c736a718442cc.c978ecf6d99990ff.87d726f69d3f9601.1105a3d024e9c680
+    888ae5927a4709fc
+  after
+    298896b421d27def.28d62738cf009e27.e098f93bbc766bfc.9c04376cb7ad80e8
+    41650a8b851b9d24.a4056d9d4869b7e0.c59fb17573b8a195.f78ec9a95f293d22
+    0000000000000000.0000000000000000.e507b83a7fff8000.5b8a923d7fff7fff
+    753c736a718442cc.c978ecf6d99990ff.87d726f69d3f9601.1105a3d024e9c680
+    888ae5927a4709fc
+
+VPCMPEQW_128(reg)
+  before
+    6b4f0304ec0845e5.48ce5e4932bb3e95.2a541dc22a76c8bc.1ca0db16479dcd2b
+    16a2fb9017b8b7e7.bd8a1459f3ae523d.e656e834a43dd87c.a5eedcb025707ddf
+    e5cdc8a496e39bb0.ae3c1084d36938f0.57cb4bb6e679fbec.fc8ba5b052c66246
+    341d66aa05162de9.f9b0ceb8ebf9acd9.db0041b689b76fb7.ff45b302eaaa388f
+    88e681930a28bbe4
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    16a2fb9017b8b7e7.bd8a1459f3ae523d.e656e834a43dd87c.a5eedcb025707ddf
+    e5cdc8a496e39bb0.ae3c1084d36938f0.57cb4bb6e679fbec.fc8ba5b052c66246
+    341d66aa05162de9.f9b0ceb8ebf9acd9.db0041b689b76fb7.ff45b302eaaa388f
+    88e681930a28bbe4
+VPCMPEQW_128(mem)
+  before
+    743b8b4dcd4da672.5fded11001dca841.78b1cae059696b25.cc3fc69e2c826e8b
+    9f104d1d5024b664.c25c064125c24962.080c81e839c631ff.88d4d6dc68663411
+    e63043f0afbaa6e7.b9e2ffa80e524cf8.858e6ebca61bba94.690d6edbdbf0fff7
+    2369eab0041a3426.a0bebab3571aedb0.cc010d48bd74c210.cd34890721ab09e9
+    0e9723ccd5238f93
+  after
+    743b8b4dcd4da672.5fded11001dca841.78b1cae059696b25.cc3fc69e2c826e8b
+    9f104d1d5024b664.c25c064125c24962.080c81e839c631ff.88d4d6dc68663411
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    2369eab0041a3426.a0bebab3571aedb0.cc010d48bd74c210.cd34890721ab09e9
+    0e9723ccd5238f93
+
+VPCMPEQW_128(reg)
+  before
+    8980389693e5cca0.3385bd4b6e501a4e.d23a32cd9da66736.b732da7899dd049e
+    9a3cc5d1f87cfebc.f25138ac0669148b.ada364637b81f735.23ec523856633d6b
+    9e17c4e9a0745f95.3c99d7bfeb6fe008.8c454adf8e37d95a.ecfdef74111228a2
+    ef5d334b265a2cd5.ed291770367138f2.cb6ce2ae71554851.ee302f19e6f48370
+    05508d11f0170801
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    9a3cc5d1f87cfebc.f25138ac0669148b.ada364637b81f735.23ec523856633d6b
+    9e17c4e9a0745f95.3c99d7bfeb6fe008.8c454adf8e37d95a.ecfdef74111228a2
+    ef5d334b265a2cd5.ed291770367138f2.cb6ce2ae71554851.ee302f19e6f48370
+    05508d11f0170801
+VPCMPEQW_128(mem)
+  before
+    0d2a864a4b867480.ea590e6126b9a028.e1cd72ab0578d974.c563273cc16581c5
+    e28a94af144e821a.eb594f993d1df83b.f451665c74927fbb.d87816f619f6c063
+    603c352b667aeffa.4ea7f35d061370ba.02806f6f9ecbe5f3.5ff5a947169140d6
+    630be4ac5e16774d.6f90f71b1e264450.e72707d1a02dc847.b527de9a53c43fcb
+    385ab05d6c1af7ed
+  after
+    0d2a864a4b867480.ea590e6126b9a028.e1cd72ab0578d974.c563273cc16581c5
+    e28a94af144e821a.eb594f993d1df83b.f451665c74927fbb.d87816f619f6c063
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    630be4ac5e16774d.6f90f71b1e264450.e72707d1a02dc847.b527de9a53c43fcb
+    385ab05d6c1af7ed
+
+VPCMPEQW_128(reg)
+  before
+    42da1bfbfe20a4ea.c7c51d1d172fd63f.aa60563e20e2afaa.7f12ac6c95c6e4e4
+    31f31be0a561846b.68345d6aaed0c7fb.5b630d32a9d4ee73.a60dd82e99a1f4f5
+    5ff0ad78fc69d11f.22261e803e0507ae.dee4166354873d58.38e40901c9cbb6a7
+    2a1fcc2f9fc5c8af.d165de49e4db5283.8f316f3dbe88d705.1163bbd3414fe426
+    0d55688f1b393a9d
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    31f31be0a561846b.68345d6aaed0c7fb.5b630d32a9d4ee73.a60dd82e99a1f4f5
+    5ff0ad78fc69d11f.22261e803e0507ae.dee4166354873d58.38e40901c9cbb6a7
+    2a1fcc2f9fc5c8af.d165de49e4db5283.8f316f3dbe88d705.1163bbd3414fe426
+    0d55688f1b393a9d
+VPCMPEQW_128(mem)
+  before
+    07878e2176967638.ecca74712b00a4ca.50be18b2bb5d64a7.ca94132c8262fa25
+    ddc6a8756c715225.023ea1ab3ba6a31a.7dfc48a8e097f846.eb5afe9c3da1e064
+    6adc327719d68b8e.c9c74f476c44ff4c.33edeb156e96cb8b.4ecf2cfa8ad1c570
+    8a95a8139ad2dc9f.9bb17bb35965f40b.4e5b7ce7816599a3.4f3f9ab0057fe7f3
+    4af6432c4b368099
+  after
+    07878e2176967638.ecca74712b00a4ca.50be18b2bb5d64a7.ca94132c8262fa25
+    ddc6a8756c715225.023ea1ab3ba6a31a.7dfc48a8e097f846.eb5afe9c3da1e064
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    8a95a8139ad2dc9f.9bb17bb35965f40b.4e5b7ce7816599a3.4f3f9ab0057fe7f3
+    4af6432c4b368099
+
+VPADDB_128(reg)
+  before
+    9a3f23d9f883cd0f.18bf87350a700285.d54720599f95c004.a914770936101db9
+    9d683622a7f10901.f2254aca86bdb96c.d4d73aa7d9619de2.22e25866a9a414fa
+    aebb7875f40c711b.f2926dbc29c3bd7f.f2abc508a454c852.94929becf52c3a91
+    2885e63d7c604107.f6d36cf90f90caeb.8c10bee89bfa7d00.daefbd8636b44bab
+    d2c7392089490274
+  after
+    0000000000000000.0000000000000000.c682ffaf7db56534.b674f3529ed04e8b
+    9d683622a7f10901.f2254aca86bdb96c.d4d73aa7d9619de2.22e25866a9a414fa
+    aebb7875f40c711b.f2926dbc29c3bd7f.f2abc508a454c852.94929becf52c3a91
+    2885e63d7c604107.f6d36cf90f90caeb.8c10bee89bfa7d00.daefbd8636b44bab
+    d2c7392089490274
+VPADDB_128(mem)
+  before
+    56e48ba709f61c17.69127be6db7ab574.d9b4c36b56309bdc.fe5220b35be0f797
+    44142f05d3c855c1.ccad33dcabe5080c.7601ef0017aeed7d.a4bde7d57f9173c4
+    7621a22702c9689e.aca40a8c8b2e787c.aa866ba370167bfa.da9d0fbaa3992d32
+    c9d85efab30812d9.6741fd6014e03e6f.520fb3407d740281.fc3d94cf6485608e
+    66ea737e5ee04a84
+  after
+    56e48ba709f61c17.69127be6db7ab574.d9b4c36b56309bdc.fe5220b35be0f797
+    44142f05d3c855c1.ccad33dcabe5080c.7601ef0017aeed7d.a4bde7d57f9173c4
+    0000000000000000.0000000000000000.4fb5b26b6dde8859.a20f0788da716a5b
+    c9d85efab30812d9.6741fd6014e03e6f.520fb3407d740281.fc3d94cf6485608e
+    66ea737e5ee04a84
+
+VPADDB_128(reg)
+  before
+    74f1a7342c3724bf.1a05e168018e0f9f.57d206c5e5879992.486743c359d53e3c
+    829c2c5e6a142dec.4374a65f09691b1b.daa1232897b0c390.6a5b98182044eb57
+    ec38fe67b5059fb6.21f02acae6a4f17a.4afb50f4c9e6f917.92b72d2befcec5ff
+    0e101abaa996b8ca.9147e795b54b4ee7.052c879414b577d0.9d477ee9e17d8760
+    68d7073c1360eea5
+  after
+    0000000000000000.0000000000000000.249c731c6096bca7.fc12c5430f12b056
+    829c2c5e6a142dec.4374a65f09691b1b.daa1232897b0c390.6a5b98182044eb57
+    ec38fe67b5059fb6.21f02acae6a4f17a.4afb50f4c9e6f917.92b72d2befcec5ff
+    0e101abaa996b8ca.9147e795b54b4ee7.052c879414b577d0.9d477ee9e17d8760
+    68d7073c1360eea5
+VPADDB_128(mem)
+  before
+    cd334411a180b5fb.44727ac5e152b1d4.6d435bac916bee8f.657fc67616aa7869
+    a926b255a5eb9a8d.eaa81cf3f9c5c97f.92b101fb96108c9e.c74207056b503a8e
+    d87eccf33eac5788.5c00fcb08e7b3a78.dc5d556ee144e53f.88bf49adae33f7eb
+    36050ed786d0a818.f6c414683b01416a.2813d4f18e15b59f.024385da7be0eb2b
+    921ab8f86fe253fa
+  after
+    cd334411a180b5fb.44727ac5e152b1d4.6d435bac916bee8f.657fc67616aa7869
+    a926b255a5eb9a8d.eaa81cf3f9c5c97f.92b101fb96108c9e.c74207056b503a8e
+    0000000000000000.0000000000000000.fff45ca7277b7a2d.2cc1cd7b81fab2f7
+    36050ed786d0a818.f6c414683b01416a.2813d4f18e15b59f.024385da7be0eb2b
+    921ab8f86fe253fa
+
+VPADDB_128(reg)
+  before
+    9490df7426c56b06.9f88f4ec99624b68.134162889de21a02.509ef970b88eb8e9
+    65f1f5b83b166ff9.efd3fb20936efaa5.11c2e07a4fab00eb.31cc40d87bbca94a
+    5f88f6314a609b7f.03b19d5e920072fa.4b958cabede730d3.a7672513f4aa45ee
+    dfa3df4cf02f2a45.b5f05893af256f94.1c0562881522e663.8e3c240f3f644800
+    c217bab777f66ead
+  after
+    0000000000000000.0000000000000000.5c576c253c9230be.d83365eb6f66ee38
+    65f1f5b83b166ff9.efd3fb20936efaa5.11c2e07a4fab00eb.31cc40d87bbca94a
+    5f88f6314a609b7f.03b19d5e920072fa.4b958cabede730d3.a7672513f4aa45ee
+    dfa3df4cf02f2a45.b5f05893af256f94.1c0562881522e663.8e3c240f3f644800
+    c217bab777f66ead
+VPADDB_128(mem)
+  before
+    1fc461f7b86d7220.418caa74c81059f7.e25aa7a908e9ac9f.e25d5c7b60e95e4a
+    810f97ba1fd51186.e19055146f8e6340.65bd078db956e646.f8ea78f26cc6d331
+    c4c3d8eec738060b.1bfbdb9a803586cd.1ce3f22cdd7ad9b6.b9f8b158d54882c7
+    c4ad9e7ecda40fda.4b1938719892fc49.e299e6709061401a.83d3031936f8a7b6
+    b0c76aa12b647dab
+  after
+    1fc461f7b86d7220.418caa74c81059f7.e25aa7a908e9ac9f.e25d5c7b60e95e4a
+    810f97ba1fd51186.e19055146f8e6340.65bd078db956e646.f8ea78f26cc6d331
+    0000000000000000.0000000000000000.4717ae36c13f92e5.da47d46dccaf317b
+    c4ad9e7ecda40fda.4b1938719892fc49.e299e6709061401a.83d3031936f8a7b6
+    b0c76aa12b647dab
+
+VMOVAPS_EtoG_256(reg)
+  before
+    9e1fe35c51184151.5c9a67574c25e620.cd35690552300261.93ab5e47ef15d99f
+    a72869b6449e2f55.6a54ad6360c54808.fd9d68c24b9cd3c0.0be4d79c16a45e71
+    282ff81b9e848362.c9a8ef8f2792f0bf.379b33151e60ac14.2612cb5a201a8bbb
+    7e7e8cf8fe557825.5561a6c8ba989b70.d77cc568680bc906.c0ffb86f29811eaa
+    b47819c64ee7d169
+  after
+    9e1fe35c51184151.5c9a67574c25e620.cd35690552300261.93ab5e47ef15d99f
+    282ff81b9e848362.c9a8ef8f2792f0bf.379b33151e60ac14.2612cb5a201a8bbb
+    282ff81b9e848362.c9a8ef8f2792f0bf.379b33151e60ac14.2612cb5a201a8bbb
+    7e7e8cf8fe557825.5561a6c8ba989b70.d77cc568680bc906.c0ffb86f29811eaa
+    b47819c64ee7d169
+VMOVAPS_EtoG_256(mem)
+  before
+    e0496a4baa586125.036221b7fe9e4b4a.ea4d4ff837e10549.398c1b28c4266645
+    1f3e27eb5ade8909.1426b4c63aea387c.6336670dba7bea73.b9172fc2ce3fbe7b
+    4c23cd9079870643.0e18408f4fc57a68.9eea69f25e72061d.b269ffa023e10e54
+    45c3d627245f94fc.4b82c180d8bc4eba.7533d1923fd01471.82cd86305f99927d
+    8491c0dd1df186a2
+  after
+    e0496a4baa586125.036221b7fe9e4b4a.ea4d4ff837e10549.398c1b28c4266645
+    1f3e27eb5ade8909.1426b4c63aea387c.6336670dba7bea73.b9172fc2ce3fbe7b
+    4c23cd9079870643.0e18408f4fc57a68.9eea69f25e72061d.b269ffa023e10e54
+    e0496a4baa586125.036221b7fe9e4b4a.ea4d4ff837e10549.398c1b28c4266645
+    8491c0dd1df186a2
+
+VMOVAPS_EtoG_256(reg)
+  before
+    14ffaa13f978256e.e5ecc09d7670ef63.28b23304715af01d.c6de1cdb7aa4d09b
+    8d643e3e90b7ac8e.076807dc8cc9d3a1.01f29387b82c9c3d.6cb6c4b82bf7f8c8
+    4d0c7aca7d3c57ae.890425d28173fbe5.338fdc7546bc8dc7.428947166dd74624
+    ae4359235d926179.458c986a717c2459.18d50a3ab9980067.262220df5c4f77da
+    f24ccb00156b4717
+  after
+    14ffaa13f978256e.e5ecc09d7670ef63.28b23304715af01d.c6de1cdb7aa4d09b
+    4d0c7aca7d3c57ae.890425d28173fbe5.338fdc7546bc8dc7.428947166dd74624
+    4d0c7aca7d3c57ae.890425d28173fbe5.338fdc7546bc8dc7.428947166dd74624
+    ae4359235d926179.458c986a717c2459.18d50a3ab9980067.262220df5c4f77da
+    f24ccb00156b4717
+VMOVAPS_EtoG_256(mem)
+  before
+    84d4c565b3387107.0e54d8b5cc46079c.19cbdb8f79ef092a.0d0f1942ad4c31c9
+    b68689fb53c1b3d5.c88df1ec64e385c2.df8f6a2fb5d86783.6e8b05f9bd625c98
+    652e93ad1013c7ad.3738a235c4f51798.74a2c1354044fa91.9793cbcc8569bc80
+    6e985f66073869bc.b9a2e6fa8509f8c9.b5d25d8e363e7e7f.e4746625a2ea8e2e
+    b17ad272b0730d4e
+  after
+    84d4c565b3387107.0e54d8b5cc46079c.19cbdb8f79ef092a.0d0f1942ad4c31c9
+    b68689fb53c1b3d5.c88df1ec64e385c2.df8f6a2fb5d86783.6e8b05f9bd625c98
+    652e93ad1013c7ad.3738a235c4f51798.74a2c1354044fa91.9793cbcc8569bc80
+    84d4c565b3387107.0e54d8b5cc46079c.19cbdb8f79ef092a.0d0f1942ad4c31c9
+    b17ad272b0730d4e
+
+VMOVAPS_EtoG_256(reg)
+  before
+    5af10b1d4a8f778c.ab8f6914533f562e.a817b9a945aa6502.7ce9b824b4d3af7a
+    3b250e940cca0693.f9e12ea210314a2f.61e318ada0649aef.a6b450e4d60e48ae
+    af62d64293b1f70f.355829fc5c1c01ea.4152fd7131c4d23b.10ffa1bbb7fb0646
+    14f35e937acf85ad.39c1d60e500b378b.a2af666395554a93.9495259373a6a46f
+    0f445a5a271ce054
+  after
+    5af10b1d4a8f778c.ab8f6914533f562e.a817b9a945aa6502.7ce9b824b4d3af7a
+    af62d64293b1f70f.355829fc5c1c01ea.4152fd7131c4d23b.10ffa1bbb7fb0646
+    af62d64293b1f70f.355829fc5c1c01ea.4152fd7131c4d23b.10ffa1bbb7fb0646
+    14f35e937acf85ad.39c1d60e500b378b.a2af666395554a93.9495259373a6a46f
+    0f445a5a271ce054
+VMOVAPS_EtoG_256(mem)
+  before
+    5dd6bbfaee687423.c525a5f35eb1ed19.e2e8b1c40a0ba740.e1474eee67a33ea3
+    5a18c461e5971c05.1e44a4cedae26bfe.0c99360aa6270e32.5b67b17e433bea16
+    e2d6f17a27b49628.7b9c59908bee3b09.939fe2cd3f6b2790.6a598c80c6a88998
+    d2dcbe31d1cb9cb8.3779bea60c6198e6.53c830f7f1e3b084.6b69da5e8c7658d7
+    bae597853032937c
+  after
+    5dd6bbfaee687423.c525a5f35eb1ed19.e2e8b1c40a0ba740.e1474eee67a33ea3
+    5a18c461e5971c05.1e44a4cedae26bfe.0c99360aa6270e32.5b67b17e433bea16
+    e2d6f17a27b49628.7b9c59908bee3b09.939fe2cd3f6b2790.6a598c80c6a88998
+    5dd6bbfaee687423.c525a5f35eb1ed19.e2e8b1c40a0ba740.e1474eee67a33ea3
+    bae597853032937c
+
+VCVTDQ2PD_256(reg)
+  before
+    b418bf624e677536.04f6a872fee9ebe1.b027d27afac8c040.28de9c75d99c633b
+    b34d4e5f83a13caf.55f02a29ca193fce.41f18e7af0aeecc4.eeaea23412a2fde0
+    14d141ea6a6d2294.a195c042526753ab.4525ef108ba05b1d.8104bf1fb9ff399f
+    33f0936ea0566390.c4b2e7aab2dfe4a5.1a0df2aa662947f8.bdac6e22eac1d4a6
+    7e722b28bff38a1f
+  after
+    b418bf624e677536.04f6a872fee9ebe1.b027d27afac8c040.28de9c75d99c633b
+    41d1497bc4000000.c1dd17e938c00000.c1dfbed038400000.c1d1803198400000
+    14d141ea6a6d2294.a195c042526753ab.4525ef108ba05b1d.8104bf1fb9ff399f
+    33f0936ea0566390.c4b2e7aab2dfe4a5.1a0df2aa662947f8.bdac6e22eac1d4a6
+    7e722b28bff38a1f
+VCVTDQ2PD_256(mem)
+  before
+    a021721f57a21736.6cf64057c0e83d50.9913194b058eaee8.1af692b31dd5ed00
+    ff86bff3cbd93619.1b2f441067b0ea7f.fe84d41367806c9f.a32ccb974d3189e3
+    776e8f8e39a4a4f1.9ce79b083039a6ca.ced193ecf5bfdcf7.0ffa99c292c8564a
+    e4a35dddbd101ded.4b6942a8b810afdc.e5c6d2c4cb59b81c.bcaef9a0872691e3
+    0492e69dc8d8765a
+  after
+    a021721f57a21736.6cf64057c0e83d50.9913194b058eaee8.1af692b31dd5ed00
+    c1d9bb39ad400000.41963abba0000000.41baf692b3000000.41bdd5ed00000000
+    776e8f8e39a4a4f1.9ce79b083039a6ca.ced193ecf5bfdcf7.0ffa99c292c8564a
+    e4a35dddbd101ded.4b6942a8b810afdc.e5c6d2c4cb59b81c.bcaef9a0872691e3
+    0492e69dc8d8765a
+
+VCVTDQ2PD_256(reg)
+  before
+    45f35c25f269415b.22f2a5cc72285d37.8403345d9abf3f63.1f2e0e86045abc39
+    d91e57a4a0652d91.0c26e34875f81ffb.a3ff6d9373d59308.58d6c21ebccca67b
+    1d5cd4876f5877a9.800d943be18d2066.04aae9b7dedbe77a.6b8b697810bd300d
+    6efccd38facf5b4e.59713393d2f21ca4.024fa533775f7663.361782801b39171c
+    94468622fa4a16d4
+  after
+    45f35c25f269415b.22f2a5cc72285d37.8403345d9abf3f63.1f2e0e86045abc39
+    4192aba6dc000000.c1c0920c43000000.41dae2da5e000000.41b0bd300d000000
+    1d5cd4876f5877a9.800d943be18d2066.04aae9b7dedbe77a.6b8b697810bd300d
+    6efccd38facf5b4e.59713393d2f21ca4.024fa533775f7663.361782801b39171c
+    94468622fa4a16d4
+VCVTDQ2PD_256(mem)
+  before
+    60e6f34ac8feea60.26494025de56142d.72203b3b6533cee0.fb3c9c75dbec7d6f
+    78c243e5a2614fec.a28e28b9b678e0f1.a9e42b1fb65df347.4abccae7a60f384b
+    b7a5f4dda37e01a6.3e1982601fc1f947.d98a7c2be07b4705.4b1a2bf77352e3a3
+    f85c8220e861bcb8.57344886b4bd9bdb.ddddac4bff9a8645.59a3bb10de44b922
+    d2a3779e846ef775
+  after
+    60e6f34ac8feea60.26494025de56142d.72203b3b6533cee0.fb3c9c75dbec7d6f
+    41dc880ecec00000.41d94cf3b8000000.c1930d8e2c000000.c1c209c148800000
+    b7a5f4dda37e01a6.3e1982601fc1f947.d98a7c2be07b4705.4b1a2bf77352e3a3
+    f85c8220e861bcb8.57344886b4bd9bdb.ddddac4bff9a8645.59a3bb10de44b922
+    d2a3779e846ef775
+
+VCVTDQ2PD_256(reg)
+  before
+    11665a0d005ed948.19b367988c163b4e.472c789712f90358.93ab366b30c46b34
+    713860c9ef9f9a46.f4762133acaa3b95.6b4c0dffd4006e6b.d5bf96778f07b3fd
+    5065853eedbe771c.67712bdc632877b9.1fe2032a965e15bf.81e4485b366f1acd
+    0838c6d99446ac75.4c70017fcd9cace5.bf395684f5a03701.71e7c80444075bcf
+    8394935cd2db3330
+  after
+    11665a0d005ed948.19b367988c163b4e.472c789712f90358.93ab366b30c46b34
+    41bfe2032a000000.c1da687a90400000.c1df86ede9400000.41cb378d66800000
+    5065853eedbe771c.67712bdc632877b9.1fe2032a965e15bf.81e4485b366f1acd
+    0838c6d99446ac75.4c70017fcd9cace5.bf395684f5a03701.71e7c80444075bcf
+    8394935cd2db3330
+VCVTDQ2PD_256(mem)
+  before
+    91b72451fff75e1c.f7fe1e0483c374fe.803e1f0807139646.a79c037a8d510edd
+    781cf7cde46898be.7703892d53c20d62.e0a802632d98f107.33580576f9fdd7fe
+    158e89be9f399c43.e69303bea2ceb14e.467a247c59387956.bfb958e6d531ce11
+    42db540f4c7727d6.9efa88250c739d6e.8f800340aafee95c.a70bf834be782ec1
+    479ae2ce505f34bb
+  after
+    91b72451fff75e1c.f7fe1e0483c374fe.803e1f0807139646.a79c037a8d510edd
+    c1dff0783e000000.419c4e5918000000.c1d618ff21800000.c1dcabbc48c00000
+    158e89be9f399c43.e69303bea2ceb14e.467a247c59387956.bfb958e6d531ce11
+    42db540f4c7727d6.9efa88250c739d6e.8f800340aafee95c.a70bf834be782ec1
+    479ae2ce505f34bb
+
+VMOVHPD_128_LoadForm(reg)
+  before
+    fbb1111f25711cab.dccdd6ac062df5a5.fd8415cd2c3d0c6d.98861a993af6fe47
+    1f9e8193dc3a213c.bf318a81ea67c1d9.5d7ca5229fb93bf8.3b58e675252c7343
+    0eab2e960e46811b.c8d3ec7a133148a0.1b303490007366bb.55c1e2be88ad067c
+    262514945a2276f3.d17f79839d984626.94eabe83ebf5c961.c28f89627e84711d
+    5e8c594c24be7052
+  after
+    fbb1111f25711cab.dccdd6ac062df5a5.fd8415cd2c3d0c6d.98861a993af6fe47
+    1f9e8193dc3a213c.bf318a81ea67c1d9.5d7ca5229fb93bf8.3b58e675252c7343
+    0eab2e960e46811b.c8d3ec7a133148a0.1b303490007366bb.55c1e2be88ad067c
+    262514945a2276f3.d17f79839d984626.94eabe83ebf5c961.c28f89627e84711d
+    5e8c594c24be7052
+VMOVHPD_128_LoadForm(mem)
+  before
+    0685ce689566c149.c25830f959593c71.b700ab89a5a77797.22f74067fdcd9f96
+    944662a2ee881e2b.3e907d32aa781140.56240076476b961e.22a3b4a8d2872508
+    e59b93e64a314427.f519f7a9e60a2f0d.8ab5f3389eef60e7.f03918b305ae9760
+    d54fdc20c66cef67.453e9accab9bd384.2f8001b9c63f911f.e80767f232ce304d
+    67579ed3f6732d79
+  after
+    0685ce689566c149.c25830f959593c71.b700ab89a5a77797.22f74067fdcd9f96
+    944662a2ee881e2b.3e907d32aa781140.56240076476b961e.22a3b4a8d2872508
+    0000000000000000.0000000000000000.22f74067fdcd9f96.22a3b4a8d2872508
+    d54fdc20c66cef67.453e9accab9bd384.2f8001b9c63f911f.e80767f232ce304d
+    67579ed3f6732d79
+
+VMOVHPD_128_LoadForm(reg)
+  before
+    c777b7c0ec2aca90.402fb93c7d45da17.894c620595b73850.2151a4e7dc68e5f2
+    65b1b027b17e4340.0208a7268bc9c265.1c904cc23feb9b1e.3cf45aadfb75178c
+    9d528473e0fbd332.f7a420cb0d03637a.5c54536e46c3389a.5c359ef74072e418
+    cba52f10162eb715.fad0a2151fff7885.a3e4737445c94b6f.5ddfecb1c66c07c2
+    1bbfc1c7aa6e3eb7
+  after
+    c777b7c0ec2aca90.402fb93c7d45da17.894c620595b73850.2151a4e7dc68e5f2
+    65b1b027b17e4340.0208a7268bc9c265.1c904cc23feb9b1e.3cf45aadfb75178c
+    9d528473e0fbd332.f7a420cb0d03637a.5c54536e46c3389a.5c359ef74072e418
+    cba52f10162eb715.fad0a2151fff7885.a3e4737445c94b6f.5ddfecb1c66c07c2
+    1bbfc1c7aa6e3eb7
+VMOVHPD_128_LoadForm(mem)
+  before
+    72a2972507844323.4bf8ae6aeea22b93.e958a8f2dcc9bfb0.4f8ea942d88b104a
+    3d52ecb7fabbd331.7995fced05e36b58.9f07ae4d606ef227.ba9def449c94c2d6
+    5a9c3b699e1ea90e.b1ca1505f67eb212.f8ab3112c8facd17.425c43e42c719ec0
+    a44b012810b982e6.4ee1f51f5efe3d6a.d00eab2c2f770eac.4118a08f25addfb3
+    141d02b123d4c25c
+  after
+    72a2972507844323.4bf8ae6aeea22b93.e958a8f2dcc9bfb0.4f8ea942d88b104a
+    3d52ecb7fabbd331.7995fced05e36b58.9f07ae4d606ef227.ba9def449c94c2d6
+    0000000000000000.0000000000000000.4f8ea942d88b104a.ba9def449c94c2d6
+    a44b012810b982e6.4ee1f51f5efe3d6a.d00eab2c2f770eac.4118a08f25addfb3
+    141d02b123d4c25c
+
+VMOVHPD_128_LoadForm(reg)
+  before
+    18b766b7c0738367.f72db8de6b991ae4.ae2798a5d8f0470f.02fd9a89b2f36f11
+    a732c60b9b155e7f.2e0cde79cbc92d35.2ce8fb0400df0eab.6c4479156c7aad73
+    1eda201b4d468f51.27b6eee44d557604.246f18a97357ccea.e9afc5ba7a1783fe
+    dafa6f5275935189.bdf5640b0d4ab37e.f20aedffcde4be79.540af865f7d6aedd
+    8b20900200c3ea3d
+  after
+    18b766b7c0738367.f72db8de6b991ae4.ae2798a5d8f0470f.02fd9a89b2f36f11
+    a732c60b9b155e7f.2e0cde79cbc92d35.2ce8fb0400df0eab.6c4479156c7aad73
+    1eda201b4d468f51.27b6eee44d557604.246f18a97357ccea.e9afc5ba7a1783fe
+    dafa6f5275935189.bdf5640b0d4ab37e.f20aedffcde4be79.540af865f7d6aedd
+    8b20900200c3ea3d
+VMOVHPD_128_LoadForm(mem)
+  before
+    69bf087eb0ebf349.35dfb01bac87e1d2.cb96bcda26b39dce.f1037671a9131f04
+    c9b1dcc32459852e.8cd5dde490ae7ad8.2f64733db49cf322.7fa8ad6da36f2d36
+    89c389bf77195b17.3b28f418bd955a48.c32d0420d4126fa3.f743905e588522bc
+    83c18a5dc6383231.9e24f024cec7bbce.65bceb6fa120ce80.b4201ab063e03a42
+    148d47cf610cb373
+  after
+    69bf087eb0ebf349.35dfb01bac87e1d2.cb96bcda26b39dce.f1037671a9131f04
+    c9b1dcc32459852e.8cd5dde490ae7ad8.2f64733db49cf322.7fa8ad6da36f2d36
+    0000000000000000.0000000000000000.f1037671a9131f04.7fa8ad6da36f2d36
+    83c18a5dc6383231.9e24f024cec7bbce.65bceb6fa120ce80.b4201ab063e03a42
+    148d47cf610cb373
+
+VCVTPD2PS_256(reg)
+  before
+    72d51328ed96c7fc.95775a892cc1c5a8.1115cd7260d0da16.efdca41638d3cce2
+    29437b25a409b388.99b0782fc5c1d1a7.f046886f0e3df2cb.3f5aac02b43524f8
+    9725793421f1b2c4.6c3a5d3bae42125b.97051b8774994099.2f027d1d325494ec
+    16c50bbf01da025b.ebdf8699035344f0.629c84272f71002d.9ca09555cd3cd5eb
+    63007094a2f8a620
+  after
+    0000000000000000.0000000000000000.0000000080000000.ff8000003ad56016
+    29437b25a409b388.99b0782fc5c1d1a7.f046886f0e3df2cb.3f5aac02b43524f8
+    9725793421f1b2c4.6c3a5d3bae42125b.97051b8774994099.2f027d1d325494ec
+    16c50bbf01da025b.ebdf8699035344f0.629c84272f71002d.9ca09555cd3cd5eb
+    63007094a2f8a620
+VCVTPD2PS_256(mem)
+  before
+    5eed88c8cc94c1b8.04702c34df51ddfa.f06c7035dffd2391.ad58beb9db506e33
+    6a355adc681ce3de.bb71d9fd58e27f4d.58ad96fb5e4e6a6a.d485c5ab13c2c557
+    64a263bc919dc8bf.98160c88071726ff.006e74d89d51d6a9.336f966873534244
+    26011e5463222c87.f8aac340897e0cbd.c27a87b6b7132277.26612c5c989021a6
+    09a983f31d049e2a
+  after
+    5eed88c8cc94c1b8.04702c34df51ddfa.f06c7035dffd2391.ad58beb9db506e33
+    6a355adc681ce3de.bb71d9fd58e27f4d.58ad96fb5e4e6a6a.d485c5ab13c2c557
+    64a263bc919dc8bf.98160c88071726ff.006e74d89d51d6a9.336f966873534244
+    0000000000000000.0000000000000000.7f80000000000000.ff80000080000000
+    09a983f31d049e2a
+
+VCVTPD2PS_256(reg)
+  before
+    389197999f3cf47c.8d1e0890fbb8ca61.3578f99179a36e33.7b9f4983c99e0c03
+    0e6664bab9c26047.75c59b5c756a5f7a.accdabe77310870c.07a73829ee014e77
+    e974e7c208251d38.bac155a5ec44a6fd.baf5d3ae145395f4.425fcf964345a400
+    24071b1d27ee69fb.38e0b1557c535d17.b93c6f53f8f8d299.09938bb5e378ccc9
+    360fe672eba580ff
+  after
+    0000000000000000.0000000000000000.000000007f800000.8000000000000000
+    0e6664bab9c26047.75c59b5c756a5f7a.accdabe77310870c.07a73829ee014e77
+    e974e7c208251d38.bac155a5ec44a6fd.baf5d3ae145395f4.425fcf964345a400
+    24071b1d27ee69fb.38e0b1557c535d17.b93c6f53f8f8d299.09938bb5e378ccc9
+    360fe672eba580ff
+VCVTPD2PS_256(mem)
+  before
+    a69f5eb976d97dcd.1b6afc38b3ab7e3b.ccec2b5a42a23ef4.06ee7a40ba897aa4
+    350f6e76a11f7f60.29eb867d47e799a5.50b23f9e5a3d06bf.fd56f0e2f694cbc4
+    bf2a9296878341e4.acd4b65a7f2ff5e4.a1fe6a0fdf3070a5.fac2cda649a5ffa3
+    20bd460344128084.fe72863af80ed0a5.9b9c2698ed8839d1.597c0ef74e4753ed
+    77d1ae40a2060350
+  after
+    a69f5eb976d97dcd.1b6afc38b3ab7e3b.ccec2b5a42a23ef4.06ee7a40ba897aa4
+    350f6e76a11f7f60.29eb867d47e799a5.50b23f9e5a3d06bf.fd56f0e2f694cbc4
+    bf2a9296878341e4.acd4b65a7f2ff5e4.a1fe6a0fdf3070a5.fac2cda649a5ffa3
+    0000000000000000.0000000000000000.8000000000000000.ff80000000000000
+    77d1ae40a2060350
+
+VCVTPD2PS_256(reg)
+  before
+    ae0da9efe06e4a75.349407aaf5d7f86c.7d11f4884e106493.1958f125a1511d70
+    5b7cfb6fa50c650b.d67b5078b6de64ca.84fdfbb21cc2ed5b.f9fd47a21695d8ae
+    da69a12c8c6b90bc.e43e9d58a23482c8.6e829823feaea9a9.1658a2fb696225b6
+    8622959232170634.39a96a35d5e40c92.99ebc5479163d228.4c36801cb5c4c1b5
+    77615cf116c568d6
+  after
+    0000000000000000.0000000000000000.7f800000ff800000.80000000ff800000
+    5b7cfb6fa50c650b.d67b5078b6de64ca.84fdfbb21cc2ed5b.f9fd47a21695d8ae
+    da69a12c8c6b90bc.e43e9d58a23482c8.6e829823feaea9a9.1658a2fb696225b6
+    8622959232170634.39a96a35d5e40c92.99ebc5479163d228.4c36801cb5c4c1b5
+    77615cf116c568d6
+VCVTPD2PS_256(mem)
+  before
+    73a6b267aa73d646.bdf1d50e329d0521.b18734fd6cfabe56.5f86808b716aa585
+    1bd0fe688adac631.da235c0a2988c72c.28a5759b8283563d.1d9dc45939515d6c
+    4dadbce2d404f5c2.390427f3b2658804.79d0abfb348a8e76.307d8d1e85a43888
+    e40769bfa4ff1f25.36e0303669bf8653.82d251099e1b232b.f272d847f2ed7085
+    c0c89f3e1bba4111
+  after
+    73a6b267aa73d646.bdf1d50e329d0521.b18734fd6cfabe56.5f86808b716aa585
+    1bd0fe688adac631.da235c0a2988c72c.28a5759b8283563d.1d9dc45939515d6c
+    4dadbce2d404f5c2.390427f3b2658804.79d0abfb348a8e76.307d8d1e85a43888
+    0000000000000000.0000000000000000.7f800000af8ea872.800000007f800000
+    c0c89f3e1bba4111
+
+VPUNPCKHDQ_128(reg)
+  before
+    f7cae0719d97e9d6.bcac80ed15d7ff88.2d03753deb22fbc5.1e77e4b1da43d088
+    f1c6964b130ea280.b0667d5743965215.7ab8f176d41a2407.288ddee0070d52ba
+    0b06be371aada9bc.9e02dde94b4ad4f8.784da04cbf343cc5.7edfbd803e8565ed
+    a1d752a34d003a36.604b1a8f49ff415e.850c7f2b48fb80aa.fb38fc7e9eb8c54c
+    7a6517c740b12e04
+  after
+    0000000000000000.0000000000000000.784da04c7ab8f176.bf343cc5d41a2407
+    f1c6964b130ea280.b0667d5743965215.7ab8f176d41a2407.288ddee0070d52ba
+    0b06be371aada9bc.9e02dde94b4ad4f8.784da04cbf343cc5.7edfbd803e8565ed
+    a1d752a34d003a36.604b1a8f49ff415e.850c7f2b48fb80aa.fb38fc7e9eb8c54c
+    7a6517c740b12e04
+VPUNPCKHDQ_128(mem)
+  before
+    d9328b46427c5b41.0f8550fa49919099.d40fb23558c05473.fc42887f0cfc2c63
+    f26bd2e6c026092e.b25cb3a8a9eee892.d41920c79499ca62.383bb9b4a6c27c9c
+    a3dc6a95d5baf3f7.e4a8771a09a37ecc.3e34e1311a965f58.97430d36b3d9ab00
+    c651ce3e9d45d6ca.02b499ba063b8df4.ec2d6f6005c4ce81.73a58171cecef73c
+    2aaf0fd1942c99fb
+  after
+    d9328b46427c5b41.0f8550fa49919099.d40fb23558c05473.fc42887f0cfc2c63
+    f26bd2e6c026092e.b25cb3a8a9eee892.d41920c79499ca62.383bb9b4a6c27c9c
+    0000000000000000.0000000000000000.d40fb235d41920c7.58c054739499ca62
+    c651ce3e9d45d6ca.02b499ba063b8df4.ec2d6f6005c4ce81.73a58171cecef73c
+    2aaf0fd1942c99fb
+
+VPUNPCKHDQ_128(reg)
+  before
+    16abb5c3a07fd0ea.38957bcd35d26ed0.68ce13f53c4252b6.bcd0483e722ed408
+    95e66eb18f53d6b4.d675eb2eb96d7738.7240e338464409bd.88e9e7b97ce12d19
+    01ac3609fc35e806.7abd9c4e4422ad2c.7c5704edc0ceeeb6.2d44c8bb40e795e2
+    b849093684b1428c.01390917f2fecbd9.e25f7382476b3c4c.88ac6732d94fc78c
+    73ef410963228046
+  after
+    0000000000000000.0000000000000000.7c5704ed7240e338.c0ceeeb6464409bd
+    95e66eb18f53d6b4.d675eb2eb96d7738.7240e338464409bd.88e9e7b97ce12d19
+    01ac3609fc35e806.7abd9c4e4422ad2c.7c5704edc0ceeeb6.2d44c8bb40e795e2
+    b849093684b1428c.01390917f2fecbd9.e25f7382476b3c4c.88ac6732d94fc78c
+    73ef410963228046
+VPUNPCKHDQ_128(mem)
+  before
+    cbd7d12cfc6e7c3a.1408e4a4c2511ff1.48b5ae76e00c8e6a.ffa32a6276a8312c
+    6c319387bd3e7695.7337c2be53a3bde2.29fd08582959b10c.317127f9ea0f0602
+    33c90306c49f2b82.2f209ff2d233550b.81dc91a7eaf0f2ea.d31365b33f2efa79
+    fa6b9d952d9c572e.a51077abdb8b2617.2c20c7513edd0b31.41d7e0fc0f91473d
+    d7079440f9c32afc
+  after
+    cbd7d12cfc6e7c3a.1408e4a4c2511ff1.48b5ae76e00c8e6a.ffa32a6276a8312c
+    6c319387bd3e7695.7337c2be53a3bde2.29fd08582959b10c.317127f9ea0f0602
+    0000000000000000.0000000000000000.48b5ae7629fd0858.e00c8e6a2959b10c
+    fa6b9d952d9c572e.a51077abdb8b2617.2c20c7513edd0b31.41d7e0fc0f91473d
+    d7079440f9c32afc
+
+VPUNPCKHDQ_128(reg)
+  before
+    f1f07eeb9650df60.9ee2de211341b6c4.315347560b396ab2.07932541422cb80d
+    eadd996984c5a115.fbfc4194929a0371.30350a5dfec95e8a.ec02276311eab7a9
+    201ce1275facadc8.ed8342dcc7b4fb61.fc02bb2d4ec53e48.b8394aa3c822c232
+    eef8528fc2943f25.50445de3cd9a5abf.f20659339abb469b.470409ed82e196d3
+    752ee02d5c32efb9
+  after
+    0000000000000000.0000000000000000.fc02bb2d30350a5d.4ec53e48fec95e8a
+    eadd996984c5a115.fbfc4194929a0371.30350a5dfec95e8a.ec02276311eab7a9
+    201ce1275facadc8.ed8342dcc7b4fb61.fc02bb2d4ec53e48.b8394aa3c822c232
+    eef8528fc2943f25.50445de3cd9a5abf.f20659339abb469b.470409ed82e196d3
+    752ee02d5c32efb9
+VPUNPCKHDQ_128(mem)
+  before
+    1e854b4f71218810.afbce90f4a0693d7.000b0f97c159dcb8.6e8cddd97c37b12d
+    1ed3c640debb1e03.c1b5a0119290e48b.d9a4d3e3bffc3c77.cce1458d90c3bcaa
+    51e5ceeabe0b6dbf.7e2f750336bd6fed.b7db25b3e18f3729.68518bba73eea2c0
+    9387de3b2d1d306f.44766350d31a70a8.767b81f3461f88fa.9e28adccc041a118
+    cab2a72f144af361
+  after
+    1e854b4f71218810.afbce90f4a0693d7.000b0f97c159dcb8.6e8cddd97c37b12d
+    1ed3c640debb1e03.c1b5a0119290e48b.d9a4d3e3bffc3c77.cce1458d90c3bcaa
+    0000000000000000.0000000000000000.000b0f97d9a4d3e3.c159dcb8bffc3c77
+    9387de3b2d1d306f.44766350d31a70a8.767b81f3461f88fa.9e28adccc041a118
+    cab2a72f144af361
+
+VBROADCASTSS_128(reg)
+  before
+    483b734f0a94d545.bf85721d48fe2540.6dd6676405322269.f251638f07b7ed15
+    740e0f983fab8270.b3aa067e2ab9065e.579a7bab6791c2db.072a4873436320a6
+    aa7876764e1c3790.4ac41649f05a8ff4.5c109d9195c48cab.90d0ab8b1330dedb
+    46c5a455d372304e.609d1f6ab6ee7e2e.da82c8832c56bc84.6b1008c49529e2de
+    73b5db08e55ae9db
+  after
+    483b734f0a94d545.bf85721d48fe2540.6dd6676405322269.f251638f07b7ed15
+    740e0f983fab8270.b3aa067e2ab9065e.579a7bab6791c2db.072a4873436320a6
+    aa7876764e1c3790.4ac41649f05a8ff4.5c109d9195c48cab.90d0ab8b1330dedb
+    46c5a455d372304e.609d1f6ab6ee7e2e.da82c8832c56bc84.6b1008c49529e2de
+    73b5db08e55ae9db
+VBROADCASTSS_128(mem)
+  before
+    848da1451ed0afff.a44195a26c3aa959.d1029ccd96808d3a.2b3df8ebc7d38d13
+    7962d5655d96f076.203846c7b2ffdd5b.78bf095eaf1c7942.ac8d2a3603c83c04
+    3002f356bdb8676b.16f6b232434d0900.33a0e3091bcffd72.babe59d17cc00502
+    843777035a43d20b.e1c7d54dbbb069f5.dd71a4baf6a4d6f7.af1b8027cc4723ba
+    e8f29ea391ead3d7
+  after
+    848da1451ed0afff.a44195a26c3aa959.d1029ccd96808d3a.2b3df8ebc7d38d13
+    0000000000000000.0000000000000000.c7d38d13c7d38d13.c7d38d13c7d38d13
+    3002f356bdb8676b.16f6b232434d0900.33a0e3091bcffd72.babe59d17cc00502
+    843777035a43d20b.e1c7d54dbbb069f5.dd71a4baf6a4d6f7.af1b8027cc4723ba
+    e8f29ea391ead3d7
+
+VBROADCASTSS_128(reg)
+  before
+    c18dacb367345106.50cedd585142ea82.dff6ab86b5b539e6.51fdca5e5da7c0fd
+    9739a7c2e9b1d9f3.7292a241bdc26efb.6bd03048cde7b47e.6d12d0df6be577af
+    c4428c3cb4eea649.c45141aabbcd18a3.e0a161ffa0d3176a.0b7a322b3c69b73a
+    a5f4568d6376f5b5.24d6367f6771a5a5.9cb53917c9049e56.09026d2ced403bca
+    4176fbd09a74c08a
+  after
+    c18dacb367345106.50cedd585142ea82.dff6ab86b5b539e6.51fdca5e5da7c0fd
+    9739a7c2e9b1d9f3.7292a241bdc26efb.6bd03048cde7b47e.6d12d0df6be577af
+    c4428c3cb4eea649.c45141aabbcd18a3.e0a161ffa0d3176a.0b7a322b3c69b73a
+    a5f4568d6376f5b5.24d6367f6771a5a5.9cb53917c9049e56.09026d2ced403bca
+    4176fbd09a74c08a
+VBROADCASTSS_128(mem)
+  before
+    91a25a025e1301a7.969a012193d502e3.6cecfdacdbbad12e.fa58b4fce50684ed
+    d35105ae5629bb4c.f3828a65df98097e.7a60121e36b35769.55d5ce1a8f6506dc
+    e55179c09dc1aaa6.18f6ebc3e34a4532.28fef2bf9168f583.0b7a84de64ae60ce
+    a16c30244fe78ae0.614422a93c78f3ac.5492187d0be564a8.7691d0b2ff6dce70
+    f467b004fd2c8b6d
+  after
+    91a25a025e1301a7.969a012193d502e3.6cecfdacdbbad12e.fa58b4fce50684ed
+    0000000000000000.0000000000000000.e50684ede50684ed.e50684ede50684ed
+    e55179c09dc1aaa6.18f6ebc3e34a4532.28fef2bf9168f583.0b7a84de64ae60ce
+    a16c30244fe78ae0.614422a93c78f3ac.5492187d0be564a8.7691d0b2ff6dce70
+    f467b004fd2c8b6d
+
+VBROADCASTSS_128(reg)
+  before
+    df48203ef979d472.e46fa8c689a71727.2ab62a8186ac4e98.d8e80043bd376303
+    95801ace90e0e52b.8b265c92660e0ca7.cf9800b95b7494a1.91cb27fcc669acc1
+    705b9c1f5debf943.705dc8750327268b.ac389ebc5a5cff74.5c0907963f88fc0e
+    cd24a19dfc284d67.70df69597cff2000.1de102f51defccbd.136c1efc469f0f15
+    93c1e71af7baa102
+  after
+    df48203ef979d472.e46fa8c689a71727.2ab62a8186ac4e98.d8e80043bd376303
+    95801ace90e0e52b.8b265c92660e0ca7.cf9800b95b7494a1.91cb27fcc669acc1
+    705b9c1f5debf943.705dc8750327268b.ac389ebc5a5cff74.5c0907963f88fc0e
+    cd24a19dfc284d67.70df69597cff2000.1de102f51defccbd.136c1efc469f0f15
+    93c1e71af7baa102
+VBROADCASTSS_128(mem)
+  before
+    b8d4dedc6de56d03.092825b40b221d43.677ab92ceba1b831.7ede27d240b93627
+    5e71802fc42d3041.7eb424d02366a582.31f836d96f19a84b.2a7c09be60467a5f
+    616347fd199da5eb.89129a5de27f20d0.ab265b4b2173ac7a.7f08a4261823d410
+    9e78b13388428a2b.868f84c7e3facbda.afd0a47020bc82e9.d8cbf57405db80e7
+    9114f715c2fbb990
+  after
+    b8d4dedc6de56d03.092825b40b221d43.677ab92ceba1b831.7ede27d240b93627
+    0000000000000000.0000000000000000.40b9362740b93627.40b9362740b93627
+    616347fd199da5eb.89129a5de27f20d0.ab265b4b2173ac7a.7f08a4261823d410
+    9e78b13388428a2b.868f84c7e3facbda.afd0a47020bc82e9.d8cbf57405db80e7
+    9114f715c2fbb990
+
+VPMOVSXDQ_128(reg)
+  before
+    052ea676ec0ebcb6.ef7a39be2c27992d.d276dd7bc361e24c.1ac28e338500e4c5
+    9264fe011ea0c506.31365c8821588f1f.c715a1e31e42a0d2.c8c894806e498f39
+    9204fc24f43e102b.4078947f84e2272a.c2b6cd6d8f294317.95ae3244f7a53f72
+    63589a490b72d8d2.f80c5f8e70d01e7d.1fa65b83b2a005c7.5d3fe4693b1faf9c
+    fc4826dc57c49ce2
+  after
+    052ea676ec0ebcb6.ef7a39be2c27992d.d276dd7bc361e24c.1ac28e338500e4c5
+    0000000000000000.0000000000000000.ffffffff95ae3244.fffffffff7a53f72
+    9204fc24f43e102b.4078947f84e2272a.c2b6cd6d8f294317.95ae3244f7a53f72
+    63589a490b72d8d2.f80c5f8e70d01e7d.1fa65b83b2a005c7.5d3fe4693b1faf9c
+    fc4826dc57c49ce2
+VPMOVSXDQ_128(mem)
+  before
+    4e95758a669fc271.60add6deffcb5aa6.35be38a1022e3042.3a32499324352290
+    2ff24c5d84bcdc74.e44fac4e6bd2d254.d3599ba4550919a5.6fa392088074d81b
+    7a2b2743ce28a818.4d891605eb157b88.adab0583866c94d3.1a48324e63e86117
+    0d0c822660eee089.f5a9116f1c2092ed.a17ef02ab0635ef8.976c26d1681df92e
+    425a68fd2c9fde0c
+  after
+    4e95758a669fc271.60add6deffcb5aa6.35be38a1022e3042.3a32499324352290
+    0000000000000000.0000000000000000.000000003a324993.0000000024352290
+    7a2b2743ce28a818.4d891605eb157b88.adab0583866c94d3.1a48324e63e86117
+    0d0c822660eee089.f5a9116f1c2092ed.a17ef02ab0635ef8.976c26d1681df92e
+    425a68fd2c9fde0c
+
+VPMOVSXDQ_128(reg)
+  before
+    7760f63e4afb4a5e.c360d9f4541a40f2.3af99af89a7d5330.8a9fda85f0fb3340
+    92c8cc015ebc7ad0.78f5a998c9b98680.76c7ac0c00bafafd.44da3e81613fcfd5
+    efdfe4b0056faa0e.08956dfed9d66c5e.065d4418ea62c2ff.abfa9908203bede6
+    eaf13bb8db9e15c3.4e0da112a07dafb9.47085c86f502e8e2.9acd650848fc4a9d
+    ef1d206bf58da227
+  after
+    7760f63e4afb4a5e.c360d9f4541a40f2.3af99af89a7d5330.8a9fda85f0fb3340
+    0000000000000000.0000000000000000.ffffffffabfa9908.00000000203bede6
+    efdfe4b0056faa0e.08956dfed9d66c5e.065d4418ea62c2ff.abfa9908203bede6
+    eaf13bb8db9e15c3.4e0da112a07dafb9.47085c86f502e8e2.9acd650848fc4a9d
+    ef1d206bf58da227
+VPMOVSXDQ_128(mem)
+  before
+    85b8451f44fab0af.de49ce867bd8f89b.2829c1c03bbb0abc.9313f2c4bc25a854
+    3768500f51503162.2935988582a68f43.71b44af5c59b3a95.47cc013cdc573dfe
+    e3fabe27379ae16c.26ff95208a961667.047cb79b5b29fb6d.bf7d855cf025e58f
+    633a095312e47cf8.31f4c2c53233c8b2.bf4b84a018720973.58747a8f951ad9b1
+    6cfbdd4166c35811
+  after
+    85b8451f44fab0af.de49ce867bd8f89b.2829c1c03bbb0abc.9313f2c4bc25a854
+    0000000000000000.0000000000000000.ffffffff9313f2c4.ffffffffbc25a854
+    e3fabe27379ae16c.26ff95208a961667.047cb79b5b29fb6d.bf7d855cf025e58f
+    633a095312e47cf8.31f4c2c53233c8b2.bf4b84a018720973.58747a8f951ad9b1
+    6cfbdd4166c35811
+
+VPMOVSXDQ_128(reg)
+  before
+    585fa8deffaa9c5a.95f3af7fff3bbd32.a5601adf140ae2d1.7cee2dee198120d0
+    78ecd9d2fd5de239.53f32b9719aa6148.e08f98dacca69f70.19312e737963fbb3
+    28ed6c89fc686659.7b04f9877d3d2464.3ccd3b22f7933d3a.70e0041a54225746
+    c4b05b7097556467.e7f3963c4601c1b2.1766fc24305df6dc.5fc72acec7cdefb6
+    c0b21c7dee6d802e
+  after
+    585fa8deffaa9c5a.95f3af7fff3bbd32.a5601adf140ae2d1.7cee2dee198120d0
+    0000000000000000.0000000000000000.0000000070e0041a.0000000054225746
+    28ed6c89fc686659.7b04f9877d3d2464.3ccd3b22f7933d3a.70e0041a54225746
+    c4b05b7097556467.e7f3963c4601c1b2.1766fc24305df6dc.5fc72acec7cdefb6
+    c0b21c7dee6d802e
+VPMOVSXDQ_128(mem)
+  before
+    716c5612e410c6db.a87fa4f16bb3170f.758c7da09101f55f.cca5d84a14910701
+    4cc2557ac5c17de8.30a74179130bbcfc.ff9b29a1794a7c97.b6d7cc023ebbab56
+    2e81949fae8c6182.b87431752beb8fdb.63ec192a1be71285.3348d3b64b652086
+    f4728f6ebb7e2dd5.9c326d5050decb57.7b4ac62692e47256.9d44e9d4d61da03e
+    51170bc67c6e672a
+  after
+    716c5612e410c6db.a87fa4f16bb3170f.758c7da09101f55f.cca5d84a14910701
+    0000000000000000.0000000000000000.ffffffffcca5d84a.0000000014910701
+    2e81949fae8c6182.b87431752beb8fdb.63ec192a1be71285.3348d3b64b652086
+    f4728f6ebb7e2dd5.9c326d5050decb57.7b4ac62692e47256.9d44e9d4d61da03e
+    51170bc67c6e672a
+
+VPMOVSXWD_128(reg)
+  before
+    ac0d33fad8e5b3f5.7864c2d306a29e0c.382df2751d70ad1d.2483ae83fb4d5935
+    08715fdb860dbe4c.9722a9bbae056f54.e8b1bd522f2e71d8.3a614b2c712f834f
+    c2918ad52372c5db.2d77c111cdb25ed9.0809c95221a35236.9ab11b0d1095abd0
+    37b7b1544ba1044d.163185c07fb525c6.f48212e1905c8ee0.1e3f9a12f68c8ee3
+    a3d742283c1fe8b5
+  after
+    ac0d33fad8e5b3f5.7864c2d306a29e0c.382df2751d70ad1d.2483ae83fb4d5935
+    0000000000000000.0000000000000000.ffff9ab100001b0d.00001095ffffabd0
+    c2918ad52372c5db.2d77c111cdb25ed9.0809c95221a35236.9ab11b0d1095abd0
+    37b7b1544ba1044d.163185c07fb525c6.f48212e1905c8ee0.1e3f9a12f68c8ee3
+    a3d742283c1fe8b5
+VPMOVSXWD_128(mem)
+  before
+    05449139005a7571.c130cec49925b64e.2f1a71b6e11b8047.0768956b17e45f85
+    205402325d4af044.bd48df92a98a188b.52ff01de0eef2d89.9f074c5d53c701cf
+    d0d1110070fa165a.874adf28185d66b0.5cacb224223de6b8.17ab3521df91b26a
+    f1883a8e5576a3de.7c84caf38229db69.29edfe743b116800.cba04b2458cfac03
+    16318ad3590c2c46
+  after
+    05449139005a7571.c130cec49925b64e.2f1a71b6e11b8047.0768956b17e45f85
+    0000000000000000.0000000000000000.00000768ffff956b.000017e400005f85
+    d0d1110070fa165a.874adf28185d66b0.5cacb224223de6b8.17ab3521df91b26a
+    f1883a8e5576a3de.7c84caf38229db69.29edfe743b116800.cba04b2458cfac03
+    16318ad3590c2c46
+
+VPMOVSXWD_128(reg)
+  before
+    56abef987fd56dde.5f45fac727ca53fd.f6409c60827bb461.958d63ba72786f8c
+    e55b75e165b5ac78.f6d4cc990203e1e2.52cc52dab4dd2d44.7c5a5de2e57eb688
+    218b1719a73825c0.92012bef032d0aba.ec72e7ccb5dd82c0.ba1e66d9b02dfa21
+    6487d4ace2eb1461.0f9796b5455289b1.207f57a42007ee7e.2ba6fc89ee93f783
+    abbe99e0bbbb68d9
+  after
+    56abef987fd56dde.5f45fac727ca53fd.f6409c60827bb461.958d63ba72786f8c
+    0000000000000000.0000000000000000.ffffba1e000066d9.ffffb02dfffffa21
+    218b1719a73825c0.92012bef032d0aba.ec72e7ccb5dd82c0.ba1e66d9b02dfa21
+    6487d4ace2eb1461.0f9796b5455289b1.207f57a42007ee7e.2ba6fc89ee93f783
+    abbe99e0bbbb68d9
+VPMOVSXWD_128(mem)
+  before
+    1532bbc834b20b50.0c9da506b259b507.496486d7e5801cf2.4a3e9ecd92e6ae2d
+    47cdde2f75839a14.73188893b20e4360.1c327941fec37daa.c6fdb8b3a606fe77
+    1c5d7c00993ad150.f74377bf7e97fb16.64ceeadfad256904.f007a2c2f9f31a08
+    70ac1327bce46e31.f26b70f6b37f18d5.fc04559e0db49b2d.24a75767263a3d8d
+    be2ad30cc966a4b2
+  after
+    1532bbc834b20b50.0c9da506b259b507.496486d7e5801cf2.4a3e9ecd92e6ae2d
+    0000000000000000.0000000000000000.00004a3effff9ecd.ffff92e6ffffae2d
+    1c5d7c00993ad150.f74377bf7e97fb16.64ceeadfad256904.f007a2c2f9f31a08
+    70ac1327bce46e31.f26b70f6b37f18d5.fc04559e0db49b2d.24a75767263a3d8d
+    be2ad30cc966a4b2
+
+VPMOVSXWD_128(reg)
+  before
+    1adc121e7f038a23.1f871e90fb8c2be2.c2dc6fa5ec52d74a.c29f36683a7cd051
+    9309110ae49e2d8b.04ba1927713ec590.c1e26e36c69c7421.916d0a2b5187c49b
+    87fdcb3a93c2c796.fd1180d83b07f767.4cc96b17dcea2b05.45384bd16ee33338
+    51033c1c28fc95f1.e558d08f74f27e92.c0dd61b2cbc838a3.b9ce7748ac9cd853
+    cbf9097b27bc7119
+  after
+    1adc121e7f038a23.1f871e90fb8c2be2.c2dc6fa5ec52d74a.c29f36683a7cd051
+    0000000000000000.0000000000000000.0000453800004bd1.00006ee300003338
+    87fdcb3a93c2c796.fd1180d83b07f767.4cc96b17dcea2b05.45384bd16ee33338
+    51033c1c28fc95f1.e558d08f74f27e92.c0dd61b2cbc838a3.b9ce7748ac9cd853
+    cbf9097b27bc7119
+VPMOVSXWD_128(mem)
+  before
+    55867e56fc51b7b5.4d68601b40d7d248.975a8439390c163d.77694c752ec1d6a6
+    354151c547676954.d67933a377dfbc46.f1e518c0a55f7b96.ceba28cba26142bb
+    46f5fdb423094122.4a80b22068a18d98.cdc30812d5f969c7.211df220c234b78e
+    6370000fac43fc4a.04cad8feafa781ea.09c1d019e4e69bfc.ccdca4e02bc773ca
+    2b433c7778a5b01c
+  after
+    55867e56fc51b7b5.4d68601b40d7d248.975a8439390c163d.77694c752ec1d6a6
+    0000000000000000.0000000000000000.0000776900004c75.00002ec1ffffd6a6
+    46f5fdb423094122.4a80b22068a18d98.cdc30812d5f969c7.211df220c234b78e
+    6370000fac43fc4a.04cad8feafa781ea.09c1d019e4e69bfc.ccdca4e02bc773ca
+    2b433c7778a5b01c
+
+VDIVPS_128(reg)
+  before
+    9ba0b651455aab2f.697cd6c3ff2156f9.5fa2a1a9e980d6e7.7fabedc3ee31ce62
+    763e0cda2f739fb0.35e6f9ba37b00a5b.b956098db1b5c63b.0d4ddafb10e6bd25
+    19683c7fd27bc94b.a17ae7e171fbd69b.6c300d16a4d48e94.8d7213ad66112570
+    e06b41aac9fe65ab.8b041b25c80f73e5.d67ea8b15d68699c.dde814c50bbfc270
+    d7795a2f1bfb5051
+  after
+    0000000000000000.0000000000000000.22572a1993c838f9.80000000449a04d0
+    763e0cda2f739fb0.35e6f9ba37b00a5b.b956098db1b5c63b.0d4ddafb10e6bd25
+    19683c7fd27bc94b.a17ae7e171fbd69b.6c300d16a4d48e94.8d7213ad66112570
+    e06b41aac9fe65ab.8b041b25c80f73e5.d67ea8b15d68699c.dde814c50bbfc270
+    d7795a2f1bfb5051
+VDIVPS_128(mem)
+  before
+    58f260d7b3d28b3e.279317c9b089af7d.cd50117159f6a067.518ad6c879fe94ff
+    3d1fa2aaef4e2e63.4a2cba4624a7e26c.442945b03fbf174b.3ba193c993214c6a
+    60cc9c92ea7ef6ed.a482268fc1e53b25.cd5d34d0967395bd.ee0fdb1f485dca89
+    9ec4ca7dc06b9e08.93e0580f22cef654.42b659bc7c20d6ea.c81fab36333f4d07
+    231ffe79f0520f91
+  after
+    58f260d7b3d28b3e.279317c9b089af7d.cd50117159f6a067.518ad6c879fe94ff
+    3d1fa2aaef4e2e63.4a2cba4624a7e26c.442945b03fbf174b.3ba193c993214c6a
+    0000000000000000.0000000000000000.b650444e25465a8c.2994f69180000000
+    9ec4ca7dc06b9e08.93e0580f22cef654.42b659bc7c20d6ea.c81fab36333f4d07
+    231ffe79f0520f91
+
+VDIVPS_128(reg)
+  before
+    5c59d0561c224dd2.d3d5a9558e23e4e0.72944b32e3ee4fa4.800130600ad196fe
+    d01a1d38533c4278.dcc9b4086fb182a0.9de8fb64a1d181c2.630a35a85e939024
+    d9aee28c302b2c2c.936e678180223474.70296511f704c959.c79de48194708189
+    d46119bc4f7b459c.d58e3eacdc81b88a.46a383a582126216.8985bad5c7772458
+    8390329113b137be
+  after
+    0000000000000000.0000000000000000.96b6613b5f37324d.ff800000d698da1c
+    d01a1d38533c4278.dcc9b4086fb182a0.9de8fb64a1d181c2.630a35a85e939024
+    d9aee28c302b2c2c.936e678180223474.70296511f704c959.c79de48194708189
+    d46119bc4f7b459c.d58e3eacdc81b88a.46a383a582126216.8985bad5c7772458
+    8390329113b137be
+VDIVPS_128(mem)
+  before
+    9288c8a2952c74e7.1d7fc0354db9c974.7ef5b674a0dac80b.7da2538ddd888aa5
+    923af9f368f398fe.1053d264c670f660.6a7149c8e73a2126.7071d033a4f17bb1
+    5f723f6fa9135e30.0a2b4cb3552c060b.75cd7591cdab7f05.7a5ef60575d972e6
+    d5fc1804749783a8.65512890967a3621.7bd4b5bc6f3c9dd4.f9b3c26de9ccaaf2
+    48bd2fd99e57617f
+  after
+    9288c8a2952c74e7.1d7fc0354db9c974.7ef5b674a0dac80b.7da2538ddd888aa5
+    923af9f368f398fe.1053d264c670f660.6a7149c8e73a2126.7071d033a4f17bb1
+    0000000000000000.0000000000000000.2afb63e87f800000.323ead9e06e26076
+    d5fc1804749783a8.65512890967a3621.7bd4b5bc6f3c9dd4.f9b3c26de9ccaaf2
+    48bd2fd99e57617f
+
+VDIVPS_128(reg)
+  before
+    c2c839b43006d139.d0a4ff9de38bc393.7e12646626e5c24f.58538635e9f638c1
+    c520dc6a3a6336cd.2c35702615fcda1d.b1bafba1a0fae541.e81662e956e70cf5
+    ab11146758fccee7.c47de88b23f58371.5a95eaada143dca3.07e9c7c2d31bd49f
+    d2e6de17275cd332.7646e1b82c827bbc.d5ee2bf6c44fe320.919830ae7b9c4ee9
+    61ef1a986a7834ff
+  after
+    0000000000000000.0000000000000000.1b48fabf1c1a7b24.7f8000001abd34c5
+    c520dc6a3a6336cd.2c35702615fcda1d.b1bafba1a0fae541.e81662e956e70cf5
+    ab11146758fccee7.c47de88b23f58371.5a95eaada143dca3.07e9c7c2d31bd49f
+    d2e6de17275cd332.7646e1b82c827bbc.d5ee2bf6c44fe320.919830ae7b9c4ee9
+    61ef1a986a7834ff
+VDIVPS_128(mem)
+  before
+    55b9ff6bbdbb420e.94ed35e64310825b.1d5dd99a49b07e29.7e13bce8a5a73564
+    48c45d158f6f3642.4f70154046a3160e.958e4b1b988a48e5.b14e98efe2d9101c
+    16daaf81fda2cac6.5dbc7a91cfa1cdf6.baa4b328351c941b.c9ecbb771470aef4
+    9ac8719b2260bbc7.1b1d60467897e1bf.676d8eae3b731ff9.243921edd9f84b98
+    1d81c7bbcdfe25b2
+  after
+    55b9ff6bbdbb420e.94ed35e64310825b.1d5dd99a49b07e29.7e13bce8a5a73564
+    48c45d158f6f3642.4f70154046a3160e.958e4b1b988a48e5.b14e98efe2d9101c
+    0000000000000000.0000000000000000.b7a4326f8e48946e.800000007ca62a01
+    9ac8719b2260bbc7.1b1d60467897e1bf.676d8eae3b731ff9.243921edd9f84b98
+    1d81c7bbcdfe25b2
+
+VANDPS_256(reg)
+  before
+    1010a74f8b0d76f1.b25a1f501bb3c471.e6dfc4c9dd108e17.7ab35798c79aa5a8
+    5931bf13afb27bff.395b368a03a9a2ef.184da1889b9812a7.ce448ad1f49de157
+    53320b75d6786f89.0a993136f74e116e.0eb5f3ee4dbca71e.3eeaa347de899030
+    5c5d85e09ceb8f3a.03de8c4112accd19.2461b6678f078a26.a8721ee5a2696e5f
+    e7a878975b493611
+  after
+    51300b1186306b89.081930020308006e.0805a18809980206.0e408241d4898010
+    5931bf13afb27bff.395b368a03a9a2ef.184da1889b9812a7.ce448ad1f49de157
+    53320b75d6786f89.0a993136f74e116e.0eb5f3ee4dbca71e.3eeaa347de899030
+    5c5d85e09ceb8f3a.03de8c4112accd19.2461b6678f078a26.a8721ee5a2696e5f
+    e7a878975b493611
+VANDPS_256(mem)
+  before
+    d6572c492636a672.cfff2bc09c9717bf.fef7c39571d2921d.b69ee75fff05f76b
+    534db6e71f3b78ad.0764f881720943c4.d9b052202fc91ba5.21b881423643299b
+    3854925e606568ef.62d8e88fbbcd4ef4.6ed5b6cd699f25de.bffb807cd24c5d60
+    62393d9808bf3463.3ba6f756126d76fb.9b326a883a5f6bf4.edb3e0796faccf66
+    072b9da5a8f0ba5a
+  after
+    d6572c492636a672.cfff2bc09c9717bf.fef7c39571d2921d.b69ee75fff05f76b
+    534db6e71f3b78ad.0764f881720943c4.d9b052202fc91ba5.21b881423643299b
+    5245244106322020.0764288010010384.d8b0420021c01205.209881423601210b
+    62393d9808bf3463.3ba6f756126d76fb.9b326a883a5f6bf4.edb3e0796faccf66
+    072b9da5a8f0ba5a
+
+VANDPS_256(reg)
+  before
+    69b1b46d19a35be7.aec8318330559637.ed1c22431477f487.3a93ea3dbe15aa12
+    6f8f203b5f52eebb.f6cdec09f7334b94.d68463c05c760742.29c3b2d812ce9e65
+    7512dd7d1688af7f.1814e91876660fa8.502bb83b87f7e9d8.428f3f4552950319
+    d786e79dd9d1d9e2.ee68a59bccf99d9f.b95d1d1e3085d7f6.62c40c7099779559
+    662c9445037f0f51
+  after
+    650200391600ae3b.1004e80876220b80.5000200004760140.0083324012840201
+    6f8f203b5f52eebb.f6cdec09f7334b94.d68463c05c760742.29c3b2d812ce9e65
+    7512dd7d1688af7f.1814e91876660fa8.502bb83b87f7e9d8.428f3f4552950319
+    d786e79dd9d1d9e2.ee68a59bccf99d9f.b95d1d1e3085d7f6.62c40c7099779559
+    662c9445037f0f51
+VANDPS_256(mem)
+  before
+    289356b1adb92e2f.f1363b0944b9a98e.55979a7d12f9b2a5.6b668cd7f4ac0d48
+    85c7cb9eb231ad1d.1f70d32cf4cd5b2f.296b46ac66710ae5.c39103d16ef9c679
+    599271fa2ff44a47.bc7ead7284982b73.47b12413e46d608b.1e2c7c783af74036
+    81c2c3af3f0dbfda.26aec44791a75403.8935b09fa7f971c5.d681f538f532b42a
+    48dd6a7d3b376102
+  after
+    289356b1adb92e2f.f1363b0944b9a98e.55979a7d12f9b2a5.6b668cd7f4ac0d48
+    85c7cb9eb231ad1d.1f70d32cf4cd5b2f.296b46ac66710ae5.c39103d16ef9c679
+    00834290a0312c0d.113013084489090e.0103022c027102a5.430000d164a80448
+    81c2c3af3f0dbfda.26aec44791a75403.8935b09fa7f971c5.d681f538f532b42a
+    48dd6a7d3b376102
+
+VANDPS_256(reg)
+  before
+    d18cd5b3a791816a.d7213dabff89c802.b84a1517b684138e.ccc3673acb22f9bc
+    cbda3446d5cc510d.387c5bd98a7323ea.ce9f9a4e90bea4be.ec26c4d16df3b49f
+    931382a362750d98.809f9925fdd78abf.c3f95159bade423f.c52c4251a9795d98
+    8583bb34ea17f1b7.8b56747b73c2baac.f5a335a2d1722abe.339f60a49abfb1d3
+    124c97b85cd16c7e
+  after
+    8312000240440108.001c1901885302aa.c2991048909e003e.c424405129711498
+    cbda3446d5cc510d.387c5bd98a7323ea.ce9f9a4e90bea4be.ec26c4d16df3b49f
+    931382a362750d98.809f9925fdd78abf.c3f95159bade423f.c52c4251a9795d98
+    8583bb34ea17f1b7.8b56747b73c2baac.f5a335a2d1722abe.339f60a49abfb1d3
+    124c97b85cd16c7e
+VANDPS_256(mem)
+  before
+    3eff64770cbc4ac2.fd75db67073e3815.356c67c7093f6fde.bfeb4397700598e7
+    938444cfc58b06ce.5736dfa658771f5e.5aafeef6da5a6481.7c1b75a23424c865
+    eda7b2aba44a5dcc.f012c25f774de13f.d6e986f2021f56c0.8a80c931b85af5e5
+    28332af7c4060ae8.225580fd004dbc64.85e7a9a89e9b01c8.44663aaf98335c13
+    0519c487713c399a
+  after
+    3eff64770cbc4ac2.fd75db67073e3815.356c67c7093f6fde.bfeb4397700598e7
+    938444cfc58b06ce.5736dfa658771f5e.5aafeef6da5a6481.7c1b75a23424c865
+    12844447048802c2.5534db2600361814.102c66c6081a6480.3c0b418230048865
+    28332af7c4060ae8.225580fd004dbc64.85e7a9a89e9b01c8.44663aaf98335c13
+    0519c487713c399a
+
+VXORPS_256(reg)
+  before
+    2be56327dfffc726.20f6299f42cacb50.4a4b15ec9001ea79.4375d505cada20c4
+    101514fb7d0b4365.b1ba2a8f39a25a2d.c4407e98c2f7a829.ec5f85f3a1e671e1
+    11f7d26de7e9e901.b74ca8b4c69a74ae.ec7fb56d32bb3120.5b7035603fcdae4a
+    8bd599eaba27f5a6.0d7821f804bfd4fd.1d55b8d77ed8c20b.6e766237c19b932d
+    003b8764425adeb3
+  after
+    01e2c6969ae2aa64.06f6823bff382e83.283fcbf5f04c9909.b72fb0939e2bdfab
+    101514fb7d0b4365.b1ba2a8f39a25a2d.c4407e98c2f7a829.ec5f85f3a1e671e1
+    11f7d26de7e9e901.b74ca8b4c69a74ae.ec7fb56d32bb3120.5b7035603fcdae4a
+    8bd599eaba27f5a6.0d7821f804bfd4fd.1d55b8d77ed8c20b.6e766237c19b932d
+    003b8764425adeb3
+VXORPS_256(mem)
+  before
+    ed8c20d3df18490b.d8fc65de9151a201.91091148101d3746.b50f82433fda9796
+    1035a970b4e1915f.56b832b609f12dbe.1ecdf29105bf59b6.0ff7101b134dec6c
+    47029e27dbbf71db.5f55fddcbd95d288.908e42beffb1f679.87595ccc96befc3a
+    6dbf7ce573c1a6ac.501ec1be4ac9cc0c.c21a7cba1bffc9ba.798364c363b804ac
+    41c0236b16c8406d
+  after
+    ed8c20d3df18490b.d8fc65de9151a201.91091148101d3746.b50f82433fda9796
+    1035a970b4e1915f.56b832b609f12dbe.1ecdf29105bf59b6.0ff7101b134dec6c
+    fdb989a36bf9d854.8e44576898a08fbf.8fc4e3d915a26ef0.baf892582c977bfa
+    6dbf7ce573c1a6ac.501ec1be4ac9cc0c.c21a7cba1bffc9ba.798364c363b804ac
+    41c0236b16c8406d
+
+VXORPS_256(reg)
+  before
+    3a5b952f4c79ec2a.5d37bd9495f0ecfe.85617ac74b1758f5.923b1c7375b690a6
+    c2a1b77da157438e.f538df215f5afffc.5b6824635d0db2f0.dbbe9fd428e10469
+    34de83c0b0ee8246.0f8c5e79ed0a9bd3.2c80bcfd1b3716a9.786f7fc9508ce42e
+    eb5ef76415cbe5fe.8900b4875a0c7baf.55f53d03221fbfcb.47193a3e0ac4ea22
+    228a4b1f7194d370
+  after
+    f67f34bd11b9c1c8.fab48158b250642f.77e8989e463aa459.a3d1e01d786de047
+    c2a1b77da157438e.f538df215f5afffc.5b6824635d0db2f0.dbbe9fd428e10469
+    34de83c0b0ee8246.0f8c5e79ed0a9bd3.2c80bcfd1b3716a9.786f7fc9508ce42e
+    eb5ef76415cbe5fe.8900b4875a0c7baf.55f53d03221fbfcb.47193a3e0ac4ea22
+    228a4b1f7194d370
+VXORPS_256(mem)
+  before
+    e78c2e59a2085b45.456d0ed66d7aa761.3d605f36c36d5cbb.3213a3e10d53ea03
+    70ec60d6b82d3dcc.9c56c5805385051b.0978da744338f923.1f26ea01785fd3fc
+    9a765c84d00e3732.4e6716cf647a3bda.c713a12cf6790f15.78790ed000ceb563
+    42f69e4d05b802a3.b5eaff303be48548.55ff304af93d5abb.99590cba412ccee4
+    de13df2cd605582a
+  after
+    e78c2e59a2085b45.456d0ed66d7aa761.3d605f36c36d5cbb.3213a3e10d53ea03
+    70ec60d6b82d3dcc.9c56c5805385051b.0978da744338f923.1f26ea01785fd3fc
+    97604e8f1a256689.d93bcb563effa27a.341885428055a598.2d3549e0750c39ff
+    42f69e4d05b802a3.b5eaff303be48548.55ff304af93d5abb.99590cba412ccee4
+    de13df2cd605582a
+
+VXORPS_256(reg)
+  before
+    a3f183905be68fe2.4238a21f74365d4a.2f2c7b0d75501e11.8d0604ba688f9641
+    4440f4546d5ab1b7.7707e4e538940254.167986d4ad4943e2.4cf597695e7c7fd4
+    1d4b2fe3a8eef856.be31e18b6edeaeec.c81d1def805b3067.6f986741f70fd0a0
+    8a602ea9a62ca16b.f18013fc31211d40.9f643acc8913204b.d0bbf02f505446d0
+    4c2aac2084579c91
+  after
+    590bdbb7c5b449e1.c936056e564aacb8.de649b3b2d127385.236df028a973af74
+    4440f4546d5ab1b7.7707e4e538940254.167986d4ad4943e2.4cf597695e7c7fd4
+    1d4b2fe3a8eef856.be31e18b6edeaeec.c81d1def805b3067.6f986741f70fd0a0
+    8a602ea9a62ca16b.f18013fc31211d40.9f643acc8913204b.d0bbf02f505446d0
+    4c2aac2084579c91
+VXORPS_256(mem)
+  before
+    bfb019feb025900e.e7c9ef1206a2e7a1.edc1f9279e680b79.f999dbd664fc503b
+    061ab1b7efcadc74.90d46e8a61dc07a5.8ec00cf5d0c033c5.300afb79aea2fce2
+    fb35f3365e503cef.e0cba57d56653d22.b149c953e3345250.a1019621039260ed
+    7bcb586718c56eaa.35fb92577ec9c5c5.3027ad2df4d02346.a8cba93afe57b708
+    a2b42f313b7d3ede
+  after
+    bfb019feb025900e.e7c9ef1206a2e7a1.edc1f9279e680b79.f999dbd664fc503b
+    061ab1b7efcadc74.90d46e8a61dc07a5.8ec00cf5d0c033c5.300afb79aea2fce2
+    b9aaa8495fef4c7a.771d8198677ee004.6301f5d24ea838bc.c99320afca5eacd9
+    7bcb586718c56eaa.35fb92577ec9c5c5.3027ad2df4d02346.a8cba93afe57b708
+    a2b42f313b7d3ede
+
+VORPS_256(reg)
+  before
+    e90724705791311c.62a85d363a342cd2.eaaf2f847895da3a.e82833701ea164d2
+    da128464ee1ecb6e.8c9a7f8fdfaa3392.5a357a71dd53b92c.b516d7067eb1cf20
+    d11f4b7a9ab04a7f.d56c395e24323f17.e3d76f884b929e47.73be15dd300f215d
+    2a7c761dfad4e8fb.19e9078f24d80b8d.e0e308375edbc539.feec6adf4fc415b5
+    326c51faf7de6854
+  after
+    db1fcf7efebecb7f.ddfe7fdfffba3f97.fbf77ff9dfd3bf6f.f7bed7df7ebfef7d
+    da128464ee1ecb6e.8c9a7f8fdfaa3392.5a357a71dd53b92c.b516d7067eb1cf20
+    d11f4b7a9ab04a7f.d56c395e24323f17.e3d76f884b929e47.73be15dd300f215d
+    2a7c761dfad4e8fb.19e9078f24d80b8d.e0e308375edbc539.feec6adf4fc415b5
+    326c51faf7de6854
+VORPS_256(mem)
+  before
+    eb0a46194569d665.4173ffb8a715e18f.34de660efba9541f.aca343e9b1bc69ac
+    0591c528546f1b14.7251e5b940ff72e7.0217d0c8c6b0d6fa.a5641b09e1c0c74c
+    5ccf4a1341fef28e.1961218b5e1fd8af.5f60c3a7a1f94c49.25728c0589741bc6
+    cb8e52c6272118ff.92f1b09aa0004c92.2785ba99a7917439.8a1992484563a0c6
+    2ea42a3eb21993f7
+  after
+    eb0a46194569d665.4173ffb8a715e18f.34de660efba9541f.aca343e9b1bc69ac
+    0591c528546f1b14.7251e5b940ff72e7.0217d0c8c6b0d6fa.a5641b09e1c0c74c
+    ef9bc739556fdf75.7373ffb9e7fff3ef.36dff6ceffb9d6ff.ade75be9f1fcefec
+    cb8e52c6272118ff.92f1b09aa0004c92.2785ba99a7917439.8a1992484563a0c6
+    2ea42a3eb21993f7
+
+VORPS_256(reg)
+  before
+    6f604f546b233006.309b582e23e54992.394b8f529f2f0d3c.35523189f48308f6
+    a79afdf40d0cb39e.66c2d83550554174.6abdb920f937555a.6792a563a5dbc4ab
+    349c308b3460576d.49ce4ec9ca7dbbd1.81912a6e4aa46198.98139013d6a66685
+    70b3e4867aac591c.b58d37d4ae6a74d4.da14dea92d026da1.a49f7085a1efa8af
+    6603c1a525c24756
+  after
+    b79efdff3d6cf7ff.6fcedefdda7dfbf5.ebbdbb6efbb775da.ff93b573f7ffe6af
+    a79afdf40d0cb39e.66c2d83550554174.6abdb920f937555a.6792a563a5dbc4ab
+    349c308b3460576d.49ce4ec9ca7dbbd1.81912a6e4aa46198.98139013d6a66685
+    70b3e4867aac591c.b58d37d4ae6a74d4.da14dea92d026da1.a49f7085a1efa8af
+    6603c1a525c24756
+VORPS_256(mem)
+  before
+    bc0bfd5f7b2cfea5.b82a164f7e7bf559.85c90d44182728aa.d192d23e3fdeb422
+    8182a19fc2388ac9.684fc154d95966d0.97504e0323c1927e.c25601971bc373c7
+    90362a5113f2a7ee.dd6ce1002ad3ea2d.c5ec76ffeb426f7d.08ae67225d3ee63b
+    c7f113628d67113f.71cf72be0a74ba1b.ed6aff238db87bd2.01e4004aa2da492b
+    0845c87b8623d742
+  after
+    bc0bfd5f7b2cfea5.b82a164f7e7bf559.85c90d44182728aa.d192d23e3fdeb422
+    8182a19fc2388ac9.684fc154d95966d0.97504e0323c1927e.c25601971bc373c7
+    bd8bfddffb3cfeed.f86fd75fff7bf7d9.97d94f473be7bafe.d3d6d3bf3fdff7e7
+    c7f113628d67113f.71cf72be0a74ba1b.ed6aff238db87bd2.01e4004aa2da492b
+    0845c87b8623d742
+
+VORPS_256(reg)
+  before
+    781ebc21a3a5cd2d.0180d9bd49a284e9.81c271fc17c81546.ea96675b252f71ab
+    afb8d7a898ed6698.19b0f64d65afbb18.6992d925ed5c355c.973b2893ceb20f31
+    0862157cff86e02e.ed4ae800fd9b73f7.858ba6a527bb5706.d227c1b8a44d0f93
+    de67720974fd759b.571d2ac12c7167b3.31f8d4e96271b7f3.7524abb4c40c2dfa
+    5eff637449fc2795
+  after
+    affad7fcffefe6be.fdfafe4dfdbffbff.ed9bffa5efff775e.d73fe9bbeeff0fb3
+    afb8d7a898ed6698.19b0f64d65afbb18.6992d925ed5c355c.973b2893ceb20f31
+    0862157cff86e02e.ed4ae800fd9b73f7.858ba6a527bb5706.d227c1b8a44d0f93
+    de67720974fd759b.571d2ac12c7167b3.31f8d4e96271b7f3.7524abb4c40c2dfa
+    5eff637449fc2795
+VORPS_256(mem)
+  before
+    678466e55028b78e.8f12ebbb94dd628d.34f4387c0f3e5477.ca275f5b390b91cd
+    6d7f2ff1f49c9a12.75b07bfffab2e2ae.619a8e1dc10cf670.aa62446848142040
+    4dbc3a8652658c4c.ee8e1e3f430933aa.b8dca8905eea09c9.2ef67e7d2c19a1fa
+    e106038f858e4869.54f6d0e90a6d8f2e.178703c103e149af.b12f090481a450a4
+    9159e16be24368ed
+  after
+    678466e55028b78e.8f12ebbb94dd628d.34f4387c0f3e5477.ca275f5b390b91cd
+    6d7f2ff1f49c9a12.75b07bfffab2e2ae.619a8e1dc10cf670.aa62446848142040
+    6fff6ff5f4bcbf9e.ffb2fbfffeffe2af.75febe7dcf3ef677.ea675f7b791fb1cd
+    e106038f858e4869.54f6d0e90a6d8f2e.178703c103e149af.b12f090481a450a4
+    9159e16be24368ed
+
+VANDNPD_256(reg)
+  before
+    29c0031deb82267f.062b07f8aa248b94.05348d68eb6a32e6.58651a9ccbff714e
+    d5b06a8639ecc606.99f5c1addc3211fa.5b965228848d5a7d.5842690ed34f3ed1
+    f1741212670d832f.7431ad9a37c495c7.b3661a946e6141a0.f3ec6d0136de6b65
+    d959f72d12719ba6.74ab47abd8e7d426.6af2e11a477224fa.062ea06311b6b635
+    6bd3801f80e6d96e
+  after
+    2044101046010129.64002c1223c48405.a06008946a600180.a3ac040124904124
+    d5b06a8639ecc606.99f5c1addc3211fa.5b965228848d5a7d.5842690ed34f3ed1
+    f1741212670d832f.7431ad9a37c495c7.b3661a946e6141a0.f3ec6d0136de6b65
+    d959f72d12719ba6.74ab47abd8e7d426.6af2e11a477224fa.062ea06311b6b635
+    6bd3801f80e6d96e
+VANDNPD_256(mem)
+  before
+    ffa888209d77903c.e9ab1543d5a54717.752f0cccdba58a44.da84a326ab4d3f38
+    9e793554877799ca.7cb669c04d34c62c.538876e95b0d734c.60695c22357dcd06
+    241201a657f1ae45.f0c6ee1015ab5394.ea8403ef74284a6b.58ed097b818e0b0f
+    6d3f6a022bf28cd8.a027a0a0ca9529f9.16ed2ec84304cccd.1f5ca59d2c0d3500
+    0f012cf5d1858685
+  after
+    ffa888209d77903c.e9ab1543d5a54717.752f0cccdba58a44.da84a326ab4d3f38
+    9e793554877799ca.7cb669c04d34c62c.538876e95b0d734c.60695c22357dcd06
+    6180882018000034.8109140390810113.2427080480a08800.9a84a3048a003238
+    6d3f6a022bf28cd8.a027a0a0ca9529f9.16ed2ec84304cccd.1f5ca59d2c0d3500
+    0f012cf5d1858685
+
+VANDNPD_256(reg)
+  before
+    852a9bed0d823b49.55cbeb541f85efb0.e7247bda077e8508.b3907462e3acb59d
+    dd21ecf37c9190f8.b88400894eb692f9.230b7b2c68f3a26c.9d394fa8712dc008
+    73331d72b83dc13f.7234258bd59232de.af269d008a7ebdd2.b0b43d850992ab39
+    a3ac29d6601209ca.5fa8d747cf248b8c.e6c2dcc409ae12e6.c8cdb9e7c5e7305d
+    c14f3fb9c4390ba0
+  after
+    22121100802c4107.4230250291002006.8c248400820c1d92.2084300508922b31
+    dd21ecf37c9190f8.b88400894eb692f9.230b7b2c68f3a26c.9d394fa8712dc008
+    73331d72b83dc13f.7234258bd59232de.af269d008a7ebdd2.b0b43d850992ab39
+    a3ac29d6601209ca.5fa8d747cf248b8c.e6c2dcc409ae12e6.c8cdb9e7c5e7305d
+    c14f3fb9c4390ba0
+VANDNPD_256(mem)
+  before
+    77084ce71f93fa2d.c9d80c8b0d9da545.5bac91aa5878582e.262b34e3800cdd53
+    c6c25a5ef501b731.4102c3fd5e69d15b.420ccf9f8d9b57f1.c9aca1c98b2659c5
+    8a4ae7085f90ffd7.67784998ec03c9b8.f0930d1189984201.2d9320e2c788c4ea
+    9f6c6ed27b4b8d4c.978499c855f5c809.400fc8ee697bd589.ac2aac9ad0bc576b
+    a3be415e415051f7
+  after
+    77084ce71f93fa2d.c9d80c8b0d9da545.5bac91aa5878582e.262b34e3800cdd53
+    c6c25a5ef501b731.4102c3fd5e69d15b.420ccf9f8d9b57f1.c9aca1c98b2659c5
+    310804a10a92480c.88d80c0201942404.19a010205060080e.2603142200088412
+    9f6c6ed27b4b8d4c.978499c855f5c809.400fc8ee697bd589.ac2aac9ad0bc576b
+    a3be415e415051f7
+
+VANDNPD_256(reg)
+  before
+    6f9cdb98b6cfec38.e0f36ca9653e1ebc.2d73b2f935ce0bfa.104a7a214951ceb6
+    6a0d77b5ccc665db.2bad5b7738766e52.85918d982717cd36.3b11a1964425e7b3
+    f1600f221ec0f88b.5b64b92a11fe393a.fb2a280fc85e4c6a.9d30b8397603ddad
+    61e0a14a4949e1f5.4be601ad0be23aa2.ea8a7dccb32ec242.11733cf6fcf86bd0
+    75a6a7baf10f4e47
+  after
+    9160080212009800.5040a00801881128.7a2a2007c8480048.842018293202180c
+    6a0d77b5ccc665db.2bad5b7738766e52.85918d982717cd36.3b11a1964425e7b3
+    f1600f221ec0f88b.5b64b92a11fe393a.fb2a280fc85e4c6a.9d30b8397603ddad
+    61e0a14a4949e1f5.4be601ad0be23aa2.ea8a7dccb32ec242.11733cf6fcf86bd0
+    75a6a7baf10f4e47
+VANDNPD_256(mem)
+  before
+    a394776f7254423e.14d82898e8ee5bc4.d9fdafeb422f2fb4.b0fc8a3984146c69
+    790b27039ad403e3.6796a17a983aa3a5.e0763fd2d3f0d19c.a8ce4bc4d89a858c
+    d2d53360859a4d60.b664065bf4baf444.3b1d2e4dd931df87.2e4abad84b4f4b56
+    89bf187451b2dbe1.5e8f55a799f88c4c.c8bdf74871ff13a1.9dbdd5e177bcf874
+    5373964bfb6fc892
+  after
+    a394776f7254423e.14d82898e8ee5bc4.d9fdafeb422f2fb4.b0fc8a3984146c69
+    790b27039ad403e3.6796a17a983aa3a5.e0763fd2d3f0d19c.a8ce4bc4d89a858c
+    8294506c6000401c.1048088060c45840.19898029000f2e20.1030803904046861
+    89bf187451b2dbe1.5e8f55a799f88c4c.c8bdf74871ff13a1.9dbdd5e177bcf874
+    5373964bfb6fc892
+
+VANDNPS_256(reg)
+  before
+    aab7fc8271f3f95b.7c95502a17296a93.b96289ca2282a56a.612416b0b7652a15
+    00d700f275d5c57b.8523596df50ab5a2.242b9e302be47b49.e41c076fc570e010
+    b01d9f08a4a069a0.8134ae2b07627939.fb35914651a84c96.2b724772ba2bf0be
+    15d7d62e99e02074.4d96cc4f683c7285.9acb5c76305d52fd.14f250a6b0a2184a
+    7968a0f5c3e111e0
+  after
+    b0089f0880202880.0014a60202604819.db14014650080496.0b6240103a0b10ae
+    00d700f275d5c57b.8523596df50ab5a2.242b9e302be47b49.e41c076fc570e010
+    b01d9f08a4a069a0.8134ae2b07627939.fb35914651a84c96.2b724772ba2bf0be
+    15d7d62e99e02074.4d96cc4f683c7285.9acb5c76305d52fd.14f250a6b0a2184a
+    7968a0f5c3e111e0
+VANDNPS_256(mem)
+  before
+    37a0b24d0ff59aae.8d4fa0d2f12227a3.c3132dc534a45cb1.5d3afd2e638cca29
+    2b650399b2e96ddd.72d2f95e47f1bada.c1784f7a88a6f3ea.a0ce6fd886c3f0c7
+    2f850dc5c5ca479c.21acde4037d915c5.2191ad587f4ff25c.bfd3aee2368dff82
+    20ca4ebd66a2e415.f72849e35e67740f.c02ac34c36aa1632.1695b7b70e763407
+    005f85c2ab0bcb02
+  after
+    37a0b24d0ff59aae.8d4fa0d2f12227a3.c3132dc534a45cb1.5d3afd2e638cca29
+    2b650399b2e96ddd.72d2f95e47f1bada.c1784f7a88a6f3ea.a0ce6fd886c3f0c7
+    1480b0440d149222.8d0d0080b0020521.0203208534000c11.5d309026610c0a28
+    20ca4ebd66a2e415.f72849e35e67740f.c02ac34c36aa1632.1695b7b70e763407
+    005f85c2ab0bcb02
+
+VANDNPS_256(reg)
+  before
+    db7f1471a9d7001e.da01416db1800075.4e9438b358261265.7a0f0e43c9c41a99
+    023f602fa2670e08.3af662c1c16d56e7.833aa61cc0a22c72.2c0b082752a8bcbd
+    d1ec65693546326b.1a752ea5b277a398.f367908a3368fde3.b0eb2fe6f062b6c9
+    a4d22089fb00a7f4.57492005a1a9a2b3.f867f0694c03c364.e37cfe6bbcfec4e9
+    a188f2a2d589a44a
+  after
+    d1c0054015003063.00010c243212a118.704510823348d181.90e027c0a0420240
+    023f602fa2670e08.3af662c1c16d56e7.833aa61cc0a22c72.2c0b082752a8bcbd
+    d1ec65693546326b.1a752ea5b277a398.f367908a3368fde3.b0eb2fe6f062b6c9
+    a4d22089fb00a7f4.57492005a1a9a2b3.f867f0694c03c364.e37cfe6bbcfec4e9
+    a188f2a2d589a44a
+VANDNPS_256(mem)
+  before
+    c6dc8577540f1018.d63d8cfc9221ab4e.cd40b4ceaa101165.ef86c425a7ffb8a0
+    2e4335d6589ac57f.c579a52f96367827.582466eae8b7aada.3410072be1e91844
+    b58b7dabfa387faa.ccd1678ca2ca4b28.d4c2b24777aa293d.2450b5e5954c21fb
+    377ed9e258f4f9c5.4692ce81536a5f00.1de615d074f64cbb.1994cac160b40d73
+    70264329deae1955
+  after
+    c6dc8577540f1018.d63d8cfc9221ab4e.cd40b4ceaa101165.ef86c425a7ffb8a0
+    2e4335d6589ac57f.c579a52f96367827.582466eae8b7aada.3410072be1e91844
+    c09c802104051000.120408d000018348.8540900402001125.cb86c0040616a0a0
+    377ed9e258f4f9c5.4692ce81536a5f00.1de615d074f64cbb.1994cac160b40d73
+    70264329deae1955
+
+VANDNPS_256(reg)
+  before
+    85531b8ba9c5814f.90e9c5688edbf0fd.9108d77844a1f259.0f5c0970faa6cd7f
+    b4674e526085800d.9c99be27b7f8207e.07807ddf11fb3edf.86f00c1526c669b6
+    59aed8ea9c7b533b.37573f0def574474.0643bc2157057f3f.5e6d9aaa1362dc8c
+    d073b5bffc323683.3df2c40453051a0a.e8a091aab24af325.73a12d1bde87e12c
+    a1564355a24135c2
+  after
+    498890a89c7a5332.2346010848074400.0043802046044120.580d92aa11209408
+    b4674e526085800d.9c99be27b7f8207e.07807ddf11fb3edf.86f00c1526c669b6
+    59aed8ea9c7b533b.37573f0def574474.0643bc2157057f3f.5e6d9aaa1362dc8c
+    d073b5bffc323683.3df2c40453051a0a.e8a091aab24af325.73a12d1bde87e12c
+    a1564355a24135c2
+VANDNPS_256(mem)
+  before
+    c35957427c9a947c.7504e23d19376494.8a35c9faff0d5c6c.0be2f6e6bd56d43c
+    b776e5cf87a0ba84.a4ab5ad091141b18.f9ebcbda0e7bc6c7.c954e94114b65f31
+    587969e9e05f6206.b9b519e5005895bc.68e244909c5c1647.8043652754f5cfaf
+    822d5f7aa2e1492f.106e1ce6018c0e2b.b2e4b208c6bb0617.8afb6605189f6263
+    44c8e945fd4052f9
+  after
+    c35957427c9a947c.7504e23d19376494.8a35c9faff0d5c6c.0be2f6e6bd56d43c
+    b776e5cf87a0ba84.a4ab5ad091141b18.f9ebcbda0e7bc6c7.c954e94114b65f31
+    40091200781a0478.5104a02d08236484.02140020f1041828.02a216a6a940800c
+    822d5f7aa2e1492f.106e1ce6018c0e2b.b2e4b208c6bb0617.8afb6605189f6263
+    44c8e945fd4052f9
+
+VORPD_256(reg)
+  before
+    0bf6e8559f65db1c.10604470e9352b2b.04225d40313ec412.b3be902ea7a45364
+    39d1619f989a3b79.e0dc93b6d264c325.f31dda602bf9f11d.463c5bee5c24b85a
+    2ba44f91866aacbc.cd6ec837797cce4a.38aa8eb18b49d1f7.49298d340046f224
+    3ebcaf9605616b90.b2e260e1f98808c6.2f17759eeebba24d.9753a4edb016bdef
+    0b841b0387a1d5e6
+  after
+    3bf56f9f9efabffd.edfedbb7fb7ccf6f.fbbfdef1abf9f1ff.4f3ddffe5c66fa7e
+    39d1619f989a3b79.e0dc93b6d264c325.f31dda602bf9f11d.463c5bee5c24b85a
+    2ba44f91866aacbc.cd6ec837797cce4a.38aa8eb18b49d1f7.49298d340046f224
+    3ebcaf9605616b90.b2e260e1f98808c6.2f17759eeebba24d.9753a4edb016bdef
+    0b841b0387a1d5e6
+VORPD_256(mem)
+  before
+    83896e64a2f2f636.cc657b1ab00bb4a1.6d04d59f6e942cc4.33ae8c95efdb9eca
+    d92f1afa1c16db0a.32ebb18924f5c29d.d89fa55df5adf871.a2bccd012b33021b
+    eb3f99b31117418f.cc9a4c4ffcaad22d.d1814b08a9de26f8.d78d364e3e510aeb
+    9388697a9e03e3f1.f6be48d8d5b62000.3274448aa7337286.2d6dc2e9c3c0f1e8
+    02a76e3c560df4bb
+  after
+    83896e64a2f2f636.cc657b1ab00bb4a1.6d04d59f6e942cc4.33ae8c95efdb9eca
+    d92f1afa1c16db0a.32ebb18924f5c29d.d89fa55df5adf871.a2bccd012b33021b
+    dbaf7efebef6ff3e.feeffb9bb4fff6bd.fd9ff5dfffbdfcf5.b3becd95effb9edb
+    9388697a9e03e3f1.f6be48d8d5b62000.3274448aa7337286.2d6dc2e9c3c0f1e8
+    02a76e3c560df4bb
+
+VORPD_256(reg)
+  before
+    b08934b494c34f13.afd5053bdfe67e5b.0ca2a2914aa6e7c0.d9450ad00ab99a46
+    955d12be186e3e99.19f1eae2efcbcefa.6a9454e4f7056419.a0c01bc7ef7b5865
+    0b7003c47f9bfcfc.aeaa925beabe8ffa.6cde5c3e795fd3b9.64b1f2597186690f
+    700e033464d5c6e6.4bca7b92edcb7d86.6ecdb50c6c417049.02e40b74ade5896f
+    5424e203bea473b2
+  after
+    9f7d13fe7ffffefd.bffbfafbefffcffa.6ede5cfeff5ff7b9.e4f1fbdfffff796f
+    955d12be186e3e99.19f1eae2efcbcefa.6a9454e4f7056419.a0c01bc7ef7b5865
+    0b7003c47f9bfcfc.aeaa925beabe8ffa.6cde5c3e795fd3b9.64b1f2597186690f
+    700e033464d5c6e6.4bca7b92edcb7d86.6ecdb50c6c417049.02e40b74ade5896f
+    5424e203bea473b2
+VORPD_256(mem)
+  before
+    373ff4f2c1cfe404.1e830e7863a8d804.ca1e207414ff53ca.ccad5cb96a367678
+    88ffbc2dd1739890.731b21fe19a06d01.0871fdeb7a65cef4.e2ca4bb012cb22f0
+    2131b6a00b9b4a82.c9213731224ac38a.e1918fe43b0aa92d.0c6f805ffe8bb05d
+    dfa15e378a54b707.7de24c7d1932134a.3249504c74f9a2a4.a6eaf631ca025c6c
+    0b85a99213bc61c9
+  after
+    373ff4f2c1cfe404.1e830e7863a8d804.ca1e207414ff53ca.ccad5cb96a367678
+    88ffbc2dd1739890.731b21fe19a06d01.0871fdeb7a65cef4.e2ca4bb012cb22f0
+    bffffcffd1fffc94.7f9b2ffe7ba8fd05.ca7ffdff7effdffe.eeef5fb97aff76f8
+    dfa15e378a54b707.7de24c7d1932134a.3249504c74f9a2a4.a6eaf631ca025c6c
+    0b85a99213bc61c9
+
+VORPD_256(reg)
+  before
+    998d95ee7446fc1f.9e1b30de6aa99b4b.ecab5c4e9be29cee.d564be0e403e7383
+    ab4eb7b28a2b691b.3a6aa981c8a6b27a.70c6641043e89822.a7af5416bce6d8f6
+    9d140a48f0f8e369.8f5c440dc058b7bf.667f5e30add04491.84f68e4f03fb8f2b
+    ca2a8a1d4338a7b4.7abb7d6c6cc96746.2a2448187624dce8.4805e9a7328c524b
+    cfa8e00964a2de85
+  after
+    bf5ebffafafbeb7b.bf7eed8dc8feb7ff.76ff7e30eff8dcb3.a7ffde5fbfffdfff
+    ab4eb7b28a2b691b.3a6aa981c8a6b27a.70c6641043e89822.a7af5416bce6d8f6
+    9d140a48f0f8e369.8f5c440dc058b7bf.667f5e30add04491.84f68e4f03fb8f2b
+    ca2a8a1d4338a7b4.7abb7d6c6cc96746.2a2448187624dce8.4805e9a7328c524b
+    cfa8e00964a2de85
+VORPD_256(mem)
+  before
+    f5aaef62b54bef03.90de339e1e77f1a9.d554d08ceb087e3d.18001e3539739cd2
+    96d9929c429240f1.4a7a02351d41fdf3.7df3ba58571eb7cd.8d5edaf49346bffc
+    8eff45a427848e7d.534bf150dd23063f.4e64b6bccc19d025.e38b7ac01f2b8212
+    b9e985677f2c95d0.099dfe5afaa94938.237340a36704836f.77d3f8047aad20bf
+    a582522e4058d7b0
+  after
+    f5aaef62b54bef03.90de339e1e77f1a9.d554d08ceb087e3d.18001e3539739cd2
+    96d9929c429240f1.4a7a02351d41fdf3.7df3ba58571eb7cd.8d5edaf49346bffc
+    f7fbfffef7dbeff3.dafe33bf1f77fdfb.fdf7fadcff1efffd.9d5edef5bb77bffe
+    b9e985677f2c95d0.099dfe5afaa94938.237340a36704836f.77d3f8047aad20bf
+    a582522e4058d7b0
+
+VPERMILPS_256_0x0F(reg)
+  before
+    c9e484a90bb9e190.f363cdcf66961019.c6bc24bf0f5d028c.daebd4fb43ec8cd7
+    3f4588e1795b7b0c.183999caf9cfbd82.e8f460ebb8cd6ce4.4e9aeeb07ddca98a
+    63f05c4226cae0d0.0436654354e25637.c990ac4a9284c4ef.5b4a0bac30e094b4
+    9133fb39ad934d87.9228ad2592db9765.c7de0648390f4656.ddc8a6dc79050a81
+    b0e03b2c7356c61b
+  after
+    c9e484a90bb9e190.f363cdcf66961019.c6bc24bf0f5d028c.daebd4fb43ec8cd7
+    54e2563754e25637.63f05c4263f05c42.30e094b430e094b4.c990ac4ac990ac4a
+    63f05c4226cae0d0.0436654354e25637.c990ac4a9284c4ef.5b4a0bac30e094b4
+    9133fb39ad934d87.9228ad2592db9765.c7de0648390f4656.ddc8a6dc79050a81
+    b0e03b2c7356c61b
+VPERMILPS_256_0x0F(mem)
+  before
+    af5e46893adf85b1.25586130ab41fede.a0d9ee5ecfc73e38.3c28695148f92ec8
+    b80d44ddebad036d.7aac8a94bb612f80.0916a3d928b105db.85bbd1d25bceb7ef
+    a6bbb016a2cbfc7c.ee7a73d27a7e1b1a.a9ab4882b8a5a97b.ffe33b350f1b1e78
+    5532061f7a462b09.dc1017548324ff58.5b6459469cb0e544.04eca1e8ff6b9f0e
+    f1210155c84a755e
+  after
+    af5e46893adf85b1.25586130ab41fede.a0d9ee5ecfc73e38.3c28695148f92ec8
+    ab41fede25586130.af5e46893adf85b1.48f92ec83c286951.a0d9ee5ecfc73e38
+    a6bbb016a2cbfc7c.ee7a73d27a7e1b1a.a9ab4882b8a5a97b.ffe33b350f1b1e78
+    5532061f7a462b09.dc1017548324ff58.5b6459469cb0e544.04eca1e8ff6b9f0e
+    f1210155c84a755e
+
+VPERMILPS_256_0x0F(reg)
+  before
+    23d056ea0545dd13.a03fc2e48f284e41.a0b9728872df17e5.fd0d530fefdd7661
+    f4439d1253e713da.65ae6050fe7f1e50.95c080d9e43c9f6e.6a71b1cace3818ff
+    c1c7d0394dbc535f.7e4b5d51e3575a61.19723db374c6d29e.7d5eef6454ce8749
+    e6a8edcb8f51d84d.c9e134d359babca0.871ba682bf0aed22.149e89c79eaa7e6c
+    09fefce1c7d9bb93
+  after
+    23d056ea0545dd13.a03fc2e48f284e41.a0b9728872df17e5.fd0d530fefdd7661
+    e3575a61e3575a61.c1c7d039c1c7d039.54ce874954ce8749.19723db319723db3
+    c1c7d0394dbc535f.7e4b5d51e3575a61.19723db374c6d29e.7d5eef6454ce8749
+    e6a8edcb8f51d84d.c9e134d359babca0.871ba682bf0aed22.149e89c79eaa7e6c
+    09fefce1c7d9bb93
+VPERMILPS_256_0x0F(mem)
+  before
+    3a4ac29deb66f7ec.bf32ef34b631df51.203e61c07cb7013b.3a07b6b261932ca5
+    814e59e7285df1a0.a8b1d2e05ee8a416.612c60056957e55c.908269aff4edcad5
+    bcd53caa97ca63dd.fd70933b22036249.6678ad8e3ba8232f.e4d8bbe517a5045b
+    c5ade8d456ba0acf.1abd2cb29f0d5796.0deec5480fb579e1.9154a9c0644616e6
+    f5432dad775c3c1f
+  after
+    3a4ac29deb66f7ec.bf32ef34b631df51.203e61c07cb7013b.3a07b6b261932ca5
+    b631df51bf32ef34.3a4ac29deb66f7ec.61932ca53a07b6b2.203e61c07cb7013b
+    bcd53caa97ca63dd.fd70933b22036249.6678ad8e3ba8232f.e4d8bbe517a5045b
+    c5ade8d456ba0acf.1abd2cb29f0d5796.0deec5480fb579e1.9154a9c0644616e6
+    f5432dad775c3c1f
+
+VPERMILPS_256_0x0F(reg)
+  before
+    6af14516ec73b1b5.79a0d7518138a2a2.5be29baf7093bda8.305a231e008aa09e
+    4eaaed696118b252.b57b870b3251e781.1c2cdba03120d02c.ac8843fb2b345791
+    fbba1f116fd77ba3.530a73ef880f9499.b9e7e9ef7f40cecd.5e43a2cdabbe58e7
+    ce6dd97ab43a4753.301917ea9d816615.8e5ebf0af57ff138.2059ba7f9d3560cb
+    cf9409fd1ca42b6a
+  after
+    6af14516ec73b1b5.79a0d7518138a2a2.5be29baf7093bda8.305a231e008aa09e
+    880f9499880f9499.fbba1f11fbba1f11.abbe58e7abbe58e7.b9e7e9efb9e7e9ef
+    fbba1f116fd77ba3.530a73ef880f9499.b9e7e9ef7f40cecd.5e43a2cdabbe58e7
+    ce6dd97ab43a4753.301917ea9d816615.8e5ebf0af57ff138.2059ba7f9d3560cb
+    cf9409fd1ca42b6a
+VPERMILPS_256_0x0F(mem)
+  before
+    47c10a33441775f0.240e150fcccf530f.2874efe68db01822.f7df5b5c306a7519
+    65ac390d329af988.57ebd23e5222db82.18e678d175aa68eb.50b4b851cb8c981b
+    03211377023a745f.c44e0973e2bd1b59.da3c2d95707a109d.f52bd255637294eb
+    feeb125ecf03a1a0.c884b718192e4e40.4b438a209b2dcc64.428ea5d493a6a634
+    922a2e3af8b70aa3
+  after
+    47c10a33441775f0.240e150fcccf530f.2874efe68db01822.f7df5b5c306a7519
+    cccf530f240e150f.47c10a33441775f0.306a7519f7df5b5c.2874efe68db01822
+    03211377023a745f.c44e0973e2bd1b59.da3c2d95707a109d.f52bd255637294eb
+    feeb125ecf03a1a0.c884b718192e4e40.4b438a209b2dcc64.428ea5d493a6a634
+    922a2e3af8b70aa3
+
+VPERMILPS_256_0xFA(reg)
+  before
+    434a68f42d2efbe3.32d8b4acb5ff3e78.bdd9d99a9301b1e2.47c50b5d11ce5a6b
+    b03c4f6ccf99b6a2.7bb2744fd13c0513.00986a65ebc080ec.aa8f2d38ef6974df
+    344bdf1079837789.b546cf313ec5b29c.ed0f66e6bdf9f609.506c6b9d500ad7eb
+    2dc2154ac8797a47.bc603f4019a70340.e088ca87a63851e6.152a407850be3fbc
+    d5932bb50d91677e
+  after
+    434a68f42d2efbe3.32d8b4acb5ff3e78.bdd9d99a9301b1e2.47c50b5d11ce5a6b
+    344bdf10344bdf10.7983778979837789.ed0f66e6ed0f66e6.bdf9f609bdf9f609
+    344bdf1079837789.b546cf313ec5b29c.ed0f66e6bdf9f609.506c6b9d500ad7eb
+    2dc2154ac8797a47.bc603f4019a70340.e088ca87a63851e6.152a407850be3fbc
+    d5932bb50d91677e
+VPERMILPS_256_0xFA(mem)
+  before
+    6c74a541a08d0c5c.f6eeeb885706fa85.6ccc42677eedb22a.355190b64108ca2f
+    b69a2c0627c0ea83.ea1b5f35c2b634f2.a156539287a37c87.49b4b6de2bf5a08f
+    8fcf3af2be35bc1e.67956cbda6166438.37c9eead53d61d83.76fe376bff8b0db3
+    d3df4eef80f9405a.c7a80f8c9fb0c504.0af390a4fb915049.197a0fc95a574f46
+    8e763b64d7e49ff5
+  after
+    6c74a541a08d0c5c.f6eeeb885706fa85.6ccc42677eedb22a.355190b64108ca2f
+    6c74a541a08d0c5c.f6eeeb88f6eeeb88.6ccc42677eedb22a.355190b6355190b6
+    8fcf3af2be35bc1e.67956cbda6166438.37c9eead53d61d83.76fe376bff8b0db3
+    d3df4eef80f9405a.c7a80f8c9fb0c504.0af390a4fb915049.197a0fc95a574f46
+    8e763b64d7e49ff5
+
+VPERMILPS_256_0xFA(reg)
+  before
+    313cb5a813be3c6c.5e98e1eb89173062.689f420e48139401.f69eb3639ee0d206
+    5d1a7b01a9726056.0bc470d1f69b4864.a4c803af3dc80ddc.d697d5d655d05fe5
+    705a88db368b4860.b831788de2924689.d86d4ddb1b5d6c40.88aa71e93e6cb313
+    c549d9a355963035.40a9740b6a07e400.61db1cff7d5eecda.e7a3048975c089bc
+    cf4d08a015d99e0b
+  after
+    313cb5a813be3c6c.5e98e1eb89173062.689f420e48139401.f69eb3639ee0d206
+    705a88db705a88db.368b4860368b4860.d86d4ddbd86d4ddb.1b5d6c401b5d6c40
+    705a88db368b4860.b831788de2924689.d86d4ddb1b5d6c40.88aa71e93e6cb313
+    c549d9a355963035.40a9740b6a07e400.61db1cff7d5eecda.e7a3048975c089bc
+    cf4d08a015d99e0b
+VPERMILPS_256_0xFA(mem)
+  before
+    1b76fb1c3bc2ae2d.b83368c3a21e5382.7ff9e037a906dff3.995e6d850055ca56
+    a9e858e80287744d.a56333a9baafeef3.50ed38fdbc9cf28e.dd413bdb3fd0425f
+    54709bf08635ad98.e82735bf39d53d33.9150f949bed4dafe.8ad2816bd75b8fa2
+    f7da4020e4d71539.dcc96a73ba1d7cef.1df09e08ccbb536f.fa5c3ea36380efcb
+    8a2a6bee80cd9b85
+  after
+    1b76fb1c3bc2ae2d.b83368c3a21e5382.7ff9e037a906dff3.995e6d850055ca56
+    1b76fb1c3bc2ae2d.b83368c3b83368c3.7ff9e037a906dff3.995e6d85995e6d85
+    54709bf08635ad98.e82735bf39d53d33.9150f949bed4dafe.8ad2816bd75b8fa2
+    f7da4020e4d71539.dcc96a73ba1d7cef.1df09e08ccbb536f.fa5c3ea36380efcb
+    8a2a6bee80cd9b85
+
+VPERMILPS_256_0xFA(reg)
+  before
+    968905b8c9ced27c.70f2c4643779675d.df97cf30d912e6d2.cf97a324015b190c
+    7ac5096ddb0dce5d.9983a2a89c286130.4cdb5e623341b889.8513848b7ac2e702
+    932a72795118ccd4.505b56d82fefbddd.7ee1157564352dbf.192ebd2852fc7b7d
+    3b033c48c77b088d.6f445ce00bdb3791.d3f7efd5067a8322.69b5cbe6a6148ea8
+    4f7329b39116dfaf
+  after
+    968905b8c9ced27c.70f2c4643779675d.df97cf30d912e6d2.cf97a324015b190c
+    932a7279932a7279.5118ccd45118ccd4.7ee115757ee11575.64352dbf64352dbf
+    932a72795118ccd4.505b56d82fefbddd.7ee1157564352dbf.192ebd2852fc7b7d
+    3b033c48c77b088d.6f445ce00bdb3791.d3f7efd5067a8322.69b5cbe6a6148ea8
+    4f7329b39116dfaf
+VPERMILPS_256_0xFA(mem)
+  before
+    a936537a2f0e28c0.cf9e6446dac1be33.d40b31ad4cf68d78.a568e9eeb89df45b
+    51c8c5279d092605.ab45e5e026762972.597c4f290f4f79bd.527ffd2d1328bd19
+    24f7fca6f71295aa.2b45ba80462686f7.dc6334426fefb88c.358a29fcb6aa1905
+    ff8d73e3583631dc.abebe194d65e106e.378c5ce288e40613.a9d368c93aac46ce
+    0ba7b6fe3ebc7e1e
+  after
+    a936537a2f0e28c0.cf9e6446dac1be33.d40b31ad4cf68d78.a568e9eeb89df45b
+    a936537a2f0e28c0.cf9e6446cf9e6446.d40b31ad4cf68d78.a568e9eea568e9ee
+    24f7fca6f71295aa.2b45ba80462686f7.dc6334426fefb88c.358a29fcb6aa1905
+    ff8d73e3583631dc.abebe194d65e106e.378c5ce288e40613.a9d368c93aac46ce
+    0ba7b6fe3ebc7e1e
+
+VPERMILPS_256_0xA3(reg)
+  before
+    b85110095b66fda2.bc57a6cbdc80b5c7.8780568673a90583.47c241f778391e7c
+    0a1f70552f340105.38201148a0fcde96.1b5313c4b9949fe1.e9d3616c58fbbdf3
+    5f5cd44e56b4c4f4.50b63048bfb66776.c2af16b943a91b34.f789362d46349fa5
+    115337606b72831a.dee480b556bb0e92.dadf5ad1ad76b429.4eb13e265ef37fbe
+    ca17f543bb411a69
+  after
+    b85110095b66fda2.bc57a6cbdc80b5c7.8780568673a90583.47c241f778391e7c
+    56b4c4f456b4c4f4.bfb667765f5cd44e.43a91b3443a91b34.46349fa5c2af16b9
+    5f5cd44e56b4c4f4.50b63048bfb66776.c2af16b943a91b34.f789362d46349fa5
+    115337606b72831a.dee480b556bb0e92.dadf5ad1ad76b429.4eb13e265ef37fbe
+    ca17f543bb411a69
+VPERMILPS_256_0xA3(mem)
+  before
+    4787d570792c2cd3.7d5195f70af87a24.bf757c7d80168d17.be30db789487a86c
+    a1cc5c9ab5bf7127.ffa2eb7fd0d4e4be.cf36a08b5ad4a031.caee961a936730a8
+    b5b405ab8b07a492.f49234645992fe93.eaf368cbff00050b.5a65852347a28b8a
+    5d094c91160f8240.b66d6c1340bc0450.ec7851298ca676d2.c9e1a6004bc5f4be
+    75aef41b3b5aa6ef
+  after
+    4787d570792c2cd3.7d5195f70af87a24.bf757c7d80168d17.be30db789487a86c
+    792c2cd34787d570.7d5195f70af87a24.80168d17bf757c7d.be30db789487a86c
+    b5b405ab8b07a492.f49234645992fe93.eaf368cbff00050b.5a65852347a28b8a
+    5d094c91160f8240.b66d6c1340bc0450.ec7851298ca676d2.c9e1a6004bc5f4be
+    75aef41b3b5aa6ef
+
+VPERMILPS_256_0xA3(reg)
+  before
+    b9176be2b5f0ddca.7698ad3672e3c75c.a27e8ff621e031a0.b191d5911cd3b0b1
+    f06a08bf5210d7fa.dc2da588bc902e13.1413997b998ac230.150972efcc916fd5
+    78f1c620b048ce2c.6b94ae720f217590.6876870c4344f3ac.f4aea42fb7ef6e6a
+    abf9a0706b23ff0b.ff9946e088a25600.faf45417bc9d00bf.2a4ae53df9f66a9b
+    93aab306afb41f95
+  after
+    b9176be2b5f0ddca.7698ad3672e3c75c.a27e8ff621e031a0.b191d5911cd3b0b1
+    b048ce2cb048ce2c.0f21759078f1c620.4344f3ac4344f3ac.b7ef6e6a6876870c
+    78f1c620b048ce2c.6b94ae720f217590.6876870c4344f3ac.f4aea42fb7ef6e6a
+    abf9a0706b23ff0b.ff9946e088a25600.faf45417bc9d00bf.2a4ae53df9f66a9b
+    93aab306afb41f95
+VPERMILPS_256_0xA3(mem)
+  before
+    0b9a8874f5354883.e7ce951b1e2ea644.7307e9be421f8d8f.26d9fc079f1e2416
+    6ee6e275e683a392.86bb9e8c65f4fe83.a5ac11f85aa5d868.48717b4889559c5c
+    98593df49eaceaee.e60eb932dd014573.70523c7aeb40f1b8.bc07cd4615cda43e
+    65c113dd3abcd9c2.6111e07622e2b4c1.b0c6e53012fa95aa.dee9ef6de0127868
+    0a61dc2985b15385
+  after
+    0b9a8874f5354883.e7ce951b1e2ea644.7307e9be421f8d8f.26d9fc079f1e2416
+    f53548830b9a8874.e7ce951b1e2ea644.421f8d8f7307e9be.26d9fc079f1e2416
+    98593df49eaceaee.e60eb932dd014573.70523c7aeb40f1b8.bc07cd4615cda43e
+    65c113dd3abcd9c2.6111e07622e2b4c1.b0c6e53012fa95aa.dee9ef6de0127868
+    0a61dc2985b15385
+
+VPERMILPS_256_0xA3(reg)
+  before
+    9cbc90e7a1357242.b0e8e21bd5bd2e3b.551211c5ce228a19.41d48806eae17f6b
+    f0460711cf2b104a.579b259c8cbda384.1c5b488b804d0126.ff48a1e990016c26
+    624b3e14ab1e6b4a.35a6584c7bc8f5ca.13397f35d2f05695.c5edadc31f641809
+    4e17305dd29abdee.25d5f715bce8df38.97f7b42d6096c511.71912682b3183f3d
+    defe8a1169299cf1
+  after
+    9cbc90e7a1357242.b0e8e21bd5bd2e3b.551211c5ce228a19.41d48806eae17f6b
+    ab1e6b4aab1e6b4a.7bc8f5ca624b3e14.d2f05695d2f05695.1f64180913397f35
+    624b3e14ab1e6b4a.35a6584c7bc8f5ca.13397f35d2f05695.c5edadc31f641809
+    4e17305dd29abdee.25d5f715bce8df38.97f7b42d6096c511.71912682b3183f3d
+    defe8a1169299cf1
+VPERMILPS_256_0xA3(mem)
+  before
+    e701545c5da2ed4f.0ff5d957e02b43e1.05f47fe46e2b1efb.02e3e2e1c7cb8a47
+    6a66014faa8feb83.0333356d705e38d0.b0ce6ba5aa9d6e3f.b14705bca21ce0e2
+    41f90bd66cfc55ba.851b400d1ebeda66.013137458e498b2f.0071192a8d14048f
+    4a85f0ddc0f6e520.f0faf7a287d86250.d6e75fae363b30f8.4cab1b96263f31fa
+    ef42056e062aa5ce
+  after
+    e701545c5da2ed4f.0ff5d957e02b43e1.05f47fe46e2b1efb.02e3e2e1c7cb8a47
+    5da2ed4fe701545c.0ff5d957e02b43e1.6e2b1efb05f47fe4.02e3e2e1c7cb8a47
+    41f90bd66cfc55ba.851b400d1ebeda66.013137458e498b2f.0071192a8d14048f
+    4a85f0ddc0f6e520.f0faf7a287d86250.d6e75fae363b30f8.4cab1b96263f31fa
+    ef42056e062aa5ce
+
+VPERMILPS_256_0x5A(reg)
+  before
+    4682d51ecb609ab8.5fd82b50c18858e0.a21c559846370f39.09bd5fcebd7f1bc6
+    adb68710116d4c63.5ebc391b8cbe6a27.f6cd565cf8671cce.787fb490402205c4
+    802c15b173def97c.21fe942b3ca5d620.4758f65839f4c4bb.fdf9d9e0da2fad1f
+    1b2e7d6d8d3edbaf.866aba6aee485af9.f30b32f9a36b44ab.76f64aaaa7b2cd02
+    bd4483dac4b8229a
+  after
+    4682d51ecb609ab8.5fd82b50c18858e0.a21c559846370f39.09bd5fcebd7f1bc6
+    21fe942b21fe942b.73def97c73def97c.fdf9d9e0fdf9d9e0.39f4c4bb39f4c4bb
+    802c15b173def97c.21fe942b3ca5d620.4758f65839f4c4bb.fdf9d9e0da2fad1f
+    1b2e7d6d8d3edbaf.866aba6aee485af9.f30b32f9a36b44ab.76f64aaaa7b2cd02
+    bd4483dac4b8229a
+VPERMILPS_256_0x5A(mem)
+  before
+    afad015c4d4c6812.da09bab1fc1a2fa7.67cc26c6bdb4afdb.543005acd558d74b
+    29fe3f1c5d7b5b97.1909c8e75cfc3111.a1f05429c6f494f4.c8146bdb6845ba47
+    0503b9061050b655.347aa37d48721c98.11a1c0812414c370.a90360f4fac0294a
+    2088eb0783d73677.87a847de5c082de9.91ade7b9f420f97b.5549e06127556001
+    2631e8908a8e9b17
+  after
+    afad015c4d4c6812.da09bab1fc1a2fa7.67cc26c6bdb4afdb.543005acd558d74b
+    da09bab1fc1a2fa7.da09bab1da09bab1.543005acd558d74b.543005ac543005ac
+    0503b9061050b655.347aa37d48721c98.11a1c0812414c370.a90360f4fac0294a
+    2088eb0783d73677.87a847de5c082de9.91ade7b9f420f97b.5549e06127556001
+    2631e8908a8e9b17
+
+VPERMILPS_256_0x5A(reg)
+  before
+    790973ecc0f91539.57595109d11c962a.6edeb1763549a0b0.fede44bd5125f240
+    ab1b7de164210b12.844168fa172c9499.456adcb16ec1b198.35015379582e6aeb
+    16b402db1293b84f.840eabc57012eaf1.6796c4fba4fc9b4d.10e290d924481caa
+    1720ff4667da5a9c.338a9655f9db545e.32af66c072879b7d.6c4d77c9d17ec5a6
+    250d85367cdc200e
+  after
+    790973ecc0f91539.57595109d11c962a.6edeb1763549a0b0.fede44bd5125f240
+    840eabc5840eabc5.1293b84f1293b84f.10e290d910e290d9.a4fc9b4da4fc9b4d
+    16b402db1293b84f.840eabc57012eaf1.6796c4fba4fc9b4d.10e290d924481caa
+    1720ff4667da5a9c.338a9655f9db545e.32af66c072879b7d.6c4d77c9d17ec5a6
+    250d85367cdc200e
+VPERMILPS_256_0x5A(mem)
+  before
+    17f0350a416eeb0c.0aab6e8fff822ba4.6d82a598cd92900b.0101bc6c75edecd2
+    1ec003333a41e0cc.4ca14d2075186714.0ec2557909435825.30d8c46b48bbccf8
+    164a6b9b8661bb7c.374e976665274c97.f21520e4c8fb69d7.1a80792a887c759c
+    db5aea303fd83a45.28fd49ce6c3c14da.f54984c527c57f4e.1d44d713d0bc246a
+    9471db94bd08140d
+  after
+    17f0350a416eeb0c.0aab6e8fff822ba4.6d82a598cd92900b.0101bc6c75edecd2
+    0aab6e8fff822ba4.0aab6e8f0aab6e8f.0101bc6c75edecd2.0101bc6c0101bc6c
+    164a6b9b8661bb7c.374e976665274c97.f21520e4c8fb69d7.1a80792a887c759c
+    db5aea303fd83a45.28fd49ce6c3c14da.f54984c527c57f4e.1d44d713d0bc246a
+    9471db94bd08140d
+
+VPERMILPS_256_0x5A(reg)
+  before
+    da548018eaea8332.49bcfbdd81b41756.7bfb5dc325e1fc89.f328fc0941ad55b6
+    4d37c20af3f1ab85.3c3c1a8e69000fd9.8c94d1b02da4404f.c880059a32c0a83a
+    47669dd875a6c8b1.90a5c32f12c9defa.b714a0031f111bd9.501b196518083407
+    262f0ded0c971863.21c572ac991a3fe7.58c7c62798b3cad2.67c6b6570c94b448
+    e94c575b2c6de62a
+  after
+    da548018eaea8332.49bcfbdd81b41756.7bfb5dc325e1fc89.f328fc0941ad55b6
+    90a5c32f90a5c32f.75a6c8b175a6c8b1.501b1965501b1965.1f111bd91f111bd9
+    47669dd875a6c8b1.90a5c32f12c9defa.b714a0031f111bd9.501b196518083407
+    262f0ded0c971863.21c572ac991a3fe7.58c7c62798b3cad2.67c6b6570c94b448
+    e94c575b2c6de62a
+VPERMILPS_256_0x5A(mem)
+  before
+    b27b795c93a184d9.44dd0fb55350d546.cb66a4f119ffefc9.cbf94088331689e7
+    9e1d96485e3c4a80.ffbb9d9de65b3c07.6a55d4eaaf85aacf.6cf509928dc693c4
+    88002c0aa948f64c.b116b50f62468851.d95e7e8476b72c23.97081db241502614
+    4eeeb68e8ed34268.b73a5378629cf7d1.f64d1ea98aa130f1.a87e7852ec3f7b84
+    fba316df2920d1bf
+  after
+    b27b795c93a184d9.44dd0fb55350d546.cb66a4f119ffefc9.cbf94088331689e7
+    44dd0fb55350d546.44dd0fb544dd0fb5.cbf94088331689e7.cbf94088cbf94088
+    88002c0aa948f64c.b116b50f62468851.d95e7e8476b72c23.97081db241502614
+    4eeeb68e8ed34268.b73a5378629cf7d1.f64d1ea98aa130f1.a87e7852ec3f7b84
+    fba316df2920d1bf
+
+VPMULHW_128(reg)
+  before
+    ecc3f4c6947d6372.cbb4b0c02ce9eb01.6e73714583eac333.9ced314708507366
+    d62a0c71cae56c49.da1e968c9d94ac43.300d0de060bb2822.a70c32480ccfb0ae
+    17245c4e67e128ef.59f7e5dffde34259.5a5422b7969b644b.f2749d9ab12aa5f4
+    0afce0c806ffd511.230d17a368df696f.4993ac35c017b15a.5bf2ee28136e0c65
+    bc52a1de4fa6a22d
+  after
+    0000000000000000.0000000000000000.0dcffb75e7d9f3ab.e00dfc7e00f8fc28
+    d62a0c71cae56c49.da1e968c9d94ac43.300d0de060bb2822.a70c32480ccfb0ae
+    17245c4e67e128ef.59f7e5dffde34259.5a5422b7969b644b.f2749d9ab12aa5f4
+    0afce0c806ffd511.230d17a368df696f.4993ac35c017b15a.5bf2ee28136e0c65
+    bc52a1de4fa6a22d
+VPMULHW_128(mem)
+  before
+    f36033a881df2277.0bff924b43caad5a.132aaac5fc96ddb3.5717a7c57bba4cfa
+    dbe71f72c4234a70.75797043bbcfed77.071c1a32d213594f.e12d10d5621071d7
+    4fb5e1283481d443.a6b6751c0999d113.d9ade1d508629b6f.431ee1d012a65b9e
+    2c94f5b6ee027c1d.f8029d42cab494db.67aa7d99ba905c40.d9391822260747fb
+    ffc9b1383ac0719a
+  after
+    f36033a881df2277.0bff924b43caad5a.132aaac5fc96ddb3.5717a7c57bba4cfa
+    dbe71f72c4234a70.75797043bbcfed77.071c1a32d213594f.e12d10d5621071d7
+    0000000000000000.0000000000000000.0088f747009cf408.f583fa322f64223a
+    2c94f5b6ee027c1d.f8029d42cab494db.67aa7d99ba905c40.d9391822260747fb
+    ffc9b1383ac0719a
+
+VPMULHW_128(reg)
+  before
+    1119a67ceb5b1426.4f51d7090db40029.c9a8e4219aac737b.8bde696c03a85bee
+    6b77f55bd5676d4b.92b8040baea21a94.74f64725130eaa9e.2317213900b752a4
+    692d9942936db8b6.d395f7aaecd8878a.5436c0bbd46675f1.091f21ecccc7fe8f
+    67888e9bc1fb3113.ecb42cd0e4630236.c7b54d4d763e0f20.1bc4e67183e61bda
+    33d0eab5422065b3
+  after
+    0000000000000000.0000000000000000.e647157b08cdfaf4.03cefcaeffa708fd
+    6b77f55bd5676d4b.92b8040baea21a94.74f64725130eaa9e.2317213900b752a4
+    692d9942936db8b6.d395f7aaecd8878a.5436c0bbd46675f1.091f21ecccc7fe8f
+    67888e9bc1fb3113.ecb42cd0e4630236.c7b54d4d763e0f20.1bc4e67183e61bda
+    33d0eab5422065b3
+VPMULHW_128(mem)
+  before
+    2e10aba224809743.c1d4d0d4fc9c130e.bae1206bb14e49c5.27bfe9499724b5d6
+    e850a52546126eb8.d35d5c58e0dc9b51.1ae74d6670a61662.d1a0911ad3a3a3c0
+    3e5b522bc4e2a53e.f96e2c930748058b.e69331ad3c76263a.22a43f2cc5481489
+    0aff309eb8fdfa01.8f553ef1106b8d66.fbb1472c31ca3479.7416f1ea0a9e46de
+    2543a2c23d31726a
+  after
+    2e10aba224809743.c1d4d0d4fc9c130e.bae1206bb14e49c5.27bfe9499724b5d6
+    e850a52546126eb8.d35d5c58e0dc9b51.1ae74d6670a61662.d1a0911ad3a3a3c0
+    0000000000000000.0000000000000000.f8bc09cddd5f0673.f8cc09d7122b1ab9
+    0aff309eb8fdfa01.8f553ef1106b8d66.fbb1472c31ca3479.7416f1ea0a9e46de
+    2543a2c23d31726a
+
+VPMULHW_128(reg)
+  before
+    8f784f20fa8ed7da.2906ba6c416f272c.f15c8dde94d26e8f.350d0bcf6caefd4a
+    0ffff26ede40afda.773d6c807842e8eb.7ad016c63208e5b1.7073fa82092f3dda
+    0125891985d33715.d070c2c67c84fb6c.88fdd31583992e79.89af8e322359b055
+    c1350f8d8ad4ab38.106b382a66401ad8.762fc23726118493.5a8c45c9d63611e6
+    c0d79a353fd41db9
+  after
+    0000000000000000.0000000000000000.38b2fa8007700caf.27c5fe80fe800453
+    0ffff26ede40afda.773d6c807842e8eb.7ad016c63208e5b1.7073fa82092f3dda
+    0125891985d33715.d070c2c67c84fb6c.88fdd31583992e79.89af8e322359b055
+    c1350f8d8ad4ab38.106b382a66401ad8.762fc23726118493.5a8c45c9d63611e6
+    c0d79a353fd41db9
+VPMULHW_128(mem)
+  before
+    975c0a607a3e90fb.ac7d803789ce47ee.13fa4b985483025e.a0b1de99b4fd24aa
+    bbe70f38a18125d8.1c47d8811f4e46e4.b5e876fc62586f28.61d124a5cbe84a6b
+    084427a8d3a89a7c.6ee014d9e7dee5c6.d2033542abcb1c62.17d98ec9075f3281
+    5a3fcd9c29bfa912.fe952faa7e0c5f3f.461505574ce9c639.1c161a7003ed1799
+    ced4c3055c1e365e
+  after
+    975c0a607a3e90fb.ac7d803789ce47ee.13fa4b985483025e.a0b1de99b4fd24aa
+    bbe70f38a18125d8.1c47d8811f4e46e4.b5e876fc62586f28.61d124a5cbe84a6b
+    0000000000000000.0000000000000000.fa37232220770107.db95fb370f430aa8
+    5a3fcd9c29bfa912.fe952faa7e0c5f3f.461505574ce9c639.1c161a7003ed1799
+    ced4c3055c1e365e
+
+VPUNPCKHQDQ_128(reg)
+  before
+    885f85f6ad7fcb7d.8da37d00c2d30ec6.28af25607f64f2fc.edeb602560bd29d9
+    a5035cae929b11a2.7c3eb4c0b7ef87c5.487df2678771d8a8.a351c49a0353006e
+    820b4599a8fe4578.05daecc8271fce3b.ba4a932b31bf4ef0.4413aca052b80923
+    7cc53b238a35a3ac.0344a3042b70a053.da6102181ada8f80.acfd942569f7fe24
+    b7daf914621c9b9e
+  after
+    0000000000000000.0000000000000000.ba4a932b31bf4ef0.487df2678771d8a8
+    a5035cae929b11a2.7c3eb4c0b7ef87c5.487df2678771d8a8.a351c49a0353006e
+    820b4599a8fe4578.05daecc8271fce3b.ba4a932b31bf4ef0.4413aca052b80923
+    7cc53b238a35a3ac.0344a3042b70a053.da6102181ada8f80.acfd942569f7fe24
+    b7daf914621c9b9e
+VPUNPCKHQDQ_128(mem)
+  before
+    407756595c349ebd.ed7b3ab9d5cb67ea.52485461e1edb83a.04103d9add4fd803
+    25a026e0714ac1ac.337a3ec5254cccdd.ceb27cc965a2d31c.94a13f1d17a96526
+    4121e895bd6ac198.a80e43b414440f31.524d952ad29cad24.e661050e63747294
+    70c615645da159ad.a98346f341406c94.bce71d6e45e6027f.559c89d75d3d3afa
+    3f9dc9e6a28ffa04
+  after
+    407756595c349ebd.ed7b3ab9d5cb67ea.52485461e1edb83a.04103d9add4fd803
+    25a026e0714ac1ac.337a3ec5254cccdd.ceb27cc965a2d31c.94a13f1d17a96526
+    0000000000000000.0000000000000000.52485461e1edb83a.ceb27cc965a2d31c
+    70c615645da159ad.a98346f341406c94.bce71d6e45e6027f.559c89d75d3d3afa
+    3f9dc9e6a28ffa04
+
+VPUNPCKHQDQ_128(reg)
+  before
+    ffb2c0a5cef7ee5d.8d5b2b396cfa4616.932442ed45cc1eb0.e74a8f83d98c8d58
+    f1256a827c0052b2.76aca40107814400.c03f330dbf726231.ae436754aa9b0cdc
+    7043c4e8483661ae.0584fea649430f96.8d1e15c148c174c4.ef9e22cdd51e3836
+    da58c843cf2658fe.18b0b5164f4b6205.560ee5747e429015.85273ada7521d094
+    4ba92d67a7b18e1f
+  after
+    0000000000000000.0000000000000000.8d1e15c148c174c4.c03f330dbf726231
+    f1256a827c0052b2.76aca40107814400.c03f330dbf726231.ae436754aa9b0cdc
+    7043c4e8483661ae.0584fea649430f96.8d1e15c148c174c4.ef9e22cdd51e3836
+    da58c843cf2658fe.18b0b5164f4b6205.560ee5747e429015.85273ada7521d094
+    4ba92d67a7b18e1f
+VPUNPCKHQDQ_128(mem)
+  before
+    1ff2766087d92f06.8ab074ffac5a734d.89fc433b34a5fb78.775b9e92fd83f1cf
+    dbcc91b130a66f72.db97c3887c61ed48.36342603145e931c.4c513c87600fd49f
+    5c04fb47be220992.2b59b24adac4039b.f924d9590c81e91d.323cbbbf44727530
+    7f662f0c4e5cbb90.d4413bb26311f1f1.b097d829381bb7a6.836717a744390f2f
+    9c204da9fcefe048
+  after
+    1ff2766087d92f06.8ab074ffac5a734d.89fc433b34a5fb78.775b9e92fd83f1cf
+    dbcc91b130a66f72.db97c3887c61ed48.36342603145e931c.4c513c87600fd49f
+    0000000000000000.0000000000000000.89fc433b34a5fb78.36342603145e931c
+    7f662f0c4e5cbb90.d4413bb26311f1f1.b097d829381bb7a6.836717a744390f2f
+    9c204da9fcefe048
+
+VPUNPCKHQDQ_128(reg)
+  before
+    d9b1583309202226.1ebea9eefb5d3e99.349c5c2ab2d3f3f7.355b9f5fb336bae4
+    966734af07591176.17d8e5d8e23351d8.a5b6102064974459.663aabe799e1ae03
+    2f8edd8b9125ebe3.44805fb51ee9ae7a.85db53fe14e821c2.1d0176ad07254f2e
+    ff7150324311ea1a.82819473cb8b12aa.2e5721325f52c6df.377c7e9e19105891
+    90773ea4e9ad865a
+  after
+    0000000000000000.0000000000000000.85db53fe14e821c2.a5b6102064974459
+    966734af07591176.17d8e5d8e23351d8.a5b6102064974459.663aabe799e1ae03
+    2f8edd8b9125ebe3.44805fb51ee9ae7a.85db53fe14e821c2.1d0176ad07254f2e
+    ff7150324311ea1a.82819473cb8b12aa.2e5721325f52c6df.377c7e9e19105891
+    90773ea4e9ad865a
+VPUNPCKHQDQ_128(mem)
+  before
+    05be33ac960994b2.645e870fbaa84ac7.ada8fefd06263995.fe767727e0626e5b
+    701cd8a33a2f40c8.b99f809091764995.a2c11b3febc6df67.4f83504934a356e3
+    ae5fa874f12b44c6.5a82372065072130.3b9867259575bf4b.7ecca804f6a1ba22
+    9b51210ad8095cd9.a351a62cd1e80f46.55f95c9c2141966e.e89b7bc4c2e9d6c5
+    e73dc6f53506e578
+  after
+    05be33ac960994b2.645e870fbaa84ac7.ada8fefd06263995.fe767727e0626e5b
+    701cd8a33a2f40c8.b99f809091764995.a2c11b3febc6df67.4f83504934a356e3
+    0000000000000000.0000000000000000.ada8fefd06263995.a2c11b3febc6df67
+    9b51210ad8095cd9.a351a62cd1e80f46.55f95c9c2141966e.e89b7bc4c2e9d6c5
+    e73dc6f53506e578
+
+VPSRAW_0x05_128(reg)
+  before
+    d8fe8403eb8424e6.13bfbf530ad6462c.ef59cb1e72a44f81.ccb0788ea9351ffb
+    172ab05b7ff0cfbc.f275fc3aa39dbcec.9ce6a063e3c81c8d.7c8836e84c5e181f
+    000c49678dd521a5.143e56abc16b7b44.05432368c1dfb317.414e129724c73b06
+    f0f14895b2bf584e.55e848937d4b3f61.86be5097a77550cb.f7ce88854d7c44db
+    7ad415a0e48af1cb
+  after
+    0000000000000000.0000000000000000.fc350284fd3b0286.ffbefc44026b0226
+    172ab05b7ff0cfbc.f275fc3aa39dbcec.9ce6a063e3c81c8d.7c8836e84c5e181f
+    000c49678dd521a5.143e56abc16b7b44.05432368c1dfb317.414e129724c73b06
+    f0f14895b2bf584e.55e848937d4b3f61.86be5097a77550cb.f7ce88854d7c44db
+    7ad415a0e48af1cb
+VPSRAW_0x05_128(mem)
+  before
+    a62c34d304fbfc01.4126ab4f893bad63.913d4edcf549c36e.7aa1215e31162f54
+    57a2610acade22aa.50f56c03afd45f8f.a40be5734572c499.3f399427fc4f8b5f
+    69011831513c1ff2.79ab891cbf17a87f.6a1c874588d1fe0b.2fd2a460a4aca198
+    b817d534b623ae04.1893fe06568ec6de.bf3db23cda722cf3.a8b84d74c4b7adaa
+    04378bcff8feea42
+  after
+    a62c34d304fbfc01.4126ab4f893bad63.913d4edcf549c36e.7aa1215e31162f54
+    57a2610acade22aa.50f56c03afd45f8f.a40be5734572c499.3f399427fc4f8b5f
+    69011831513c1ff2.79ab891cbf17a87f.6a1c874588d1fe0b.2fd2a460a4aca198
+    b817d534b623ae04.1893fe06568ec6de.bf3db23cda722cf3.a8b84d74c4b7adaa
+    04378bcff8feea42
+
+VPSRAW_0x05_128(reg)
+  before
+    a19a5bdddd0c950b.20ae15ff149f8c0d.89fbc52d0fc8f259.7f39e14658620c7b
+    d92fb80a0f6eeab2.7d93537e88ba7538.282edcfd874e6b9c.86de904d1eac58cf
+    0a409ec329af25e2.aa920b9e2d8225b2.51773ee259ae6b52.b0f73c3f475ccc1c
+    8e1a0972c75b8148.8577b949200357a7.6023e74922732f28.d84f5f07ef7f268e
+    dcb3779133202051
+  after
+    0000000000000000.0000000000000000.0301ff3a01130179.fec202f8ff7b0134
+    d92fb80a0f6eeab2.7d93537e88ba7538.282edcfd874e6b9c.86de904d1eac58cf
+    0a409ec329af25e2.aa920b9e2d8225b2.51773ee259ae6b52.b0f73c3f475ccc1c
+    8e1a0972c75b8148.8577b949200357a7.6023e74922732f28.d84f5f07ef7f268e
+    dcb3779133202051
+VPSRAW_0x05_128(mem)
+  before
+    97efffc92e4b778f.c209f58486ff3b90.e90dda6d7c47c842.b07ed39c7d29f3c9
+    e5cf749bfd0de677.03595f6601268f65.b222e8f45d5c33af.9fd4ff48065df2e2
+    a11f50f4bb712a33.ab554282d55cb874.bb8061cce04e561c.887166ba5a9a691f
+    a9aa11be8583fff0.174b9a469d2ef368.e2f4c1e02128ebb3.c7a0045d156d942b
+    b7aed59cd261aeb2
+  after
+    97efffc92e4b778f.c209f58486ff3b90.e90dda6d7c47c842.b07ed39c7d29f3c9
+    e5cf749bfd0de677.03595f6601268f65.b222e8f45d5c33af.9fd4ff48065df2e2
+    a11f50f4bb712a33.ab554282d55cb874.bb8061cce04e561c.887166ba5a9a691f
+    a9aa11be8583fff0.174b9a469d2ef368.e2f4c1e02128ebb3.c7a0045d156d942b
+    b7aed59cd261aeb2
+
+VPSRAW_0x05_128(reg)
+  before
+    b6e8d5e52d02f562.d73d32e7765021d9.a385631df6277cee.024a821c3bf6afa0
+    1f9801a3c3dca3e5.09a52f59abe34b1b.ac509a737bd38fb2.f64e226c4ac45d10
+    4d0b54422f7cf4e7.19ac85023f483be2.8cf83ab4c9bf675f.9ccb1bbc6b9fb32f
+    9e8cca2f0e6e2615.e51fafcd4e8caa59.a0c93f4c7b7641a2.ce8febf8b9926b28
+    6a640e0d51a94128
+  after
+    0000000000000000.0000000000000000.fd0601fa03db020d.fe74ff5ffdcc0359
+    1f9801a3c3dca3e5.09a52f59abe34b1b.ac509a737bd38fb2.f64e226c4ac45d10
+    4d0b54422f7cf4e7.19ac85023f483be2.8cf83ab4c9bf675f.9ccb1bbc6b9fb32f
+    9e8cca2f0e6e2615.e51fafcd4e8caa59.a0c93f4c7b7641a2.ce8febf8b9926b28
+    6a640e0d51a94128
+VPSRAW_0x05_128(mem)
+  before
+    4a17fee54ff1f35b.6d695fd4fb3c731b.47c928a5f5ba57ac.440fa5a72d845927
+    4b74396dcd753bec.15ec109e937418a4.1d786f7850dffc09.d41568327c76eb99
+    4a473a92e942d607.f463d8fa71a1505d.41f6fd317a065699.ac28855704d732a4
+    215c7d3fbf627fda.6418b252325059f2.91114fbd8f3b218b.2895f78360346bf5
+    a4a6ba232c18d138
+  after
+    4a17fee54ff1f35b.6d695fd4fb3c731b.47c928a5f5ba57ac.440fa5a72d845927
+    4b74396dcd753bec.15ec109e937418a4.1d786f7850dffc09.d41568327c76eb99
+    4a473a92e942d607.f463d8fa71a1505d.41f6fd317a065699.ac28855704d732a4
+    215c7d3fbf627fda.6418b252325059f2.91114fbd8f3b218b.2895f78360346bf5
+    a4a6ba232c18d138
+
+VPCMPGTD_128(reg)
+  before
+    7ca8caa2050fa218.ad7f7e5f6ae4f48e.c3589d14710c6d0e.e793e206ac8a1909
+    0ce6246b86a51842.cb7bbae007d1ef52.6b6f92aacb61c85d.204931f9ed00f940
+    b0aec2ec4c677062.551dacadb1372d50.b9a88f82dbdca88d.19ffb8826da87e5b
+    c34aa290f3e0e523.2831d0b2852169b5.0a518f073e084748.ac80f48e488f6387
+    b69a5f089bc066ef
+  after
+    0000000000000000.0000000000000000.ffffffff00000000.ffffffff00000000
+    0ce6246b86a51842.cb7bbae007d1ef52.6b6f92aacb61c85d.204931f9ed00f940
+    b0aec2ec4c677062.551dacadb1372d50.b9a88f82dbdca88d.19ffb8826da87e5b
+    c34aa290f3e0e523.2831d0b2852169b5.0a518f073e084748.ac80f48e488f6387
+    b69a5f089bc066ef
+VPCMPGTD_128(mem)
+  before
+    131777db814741c0.a307c0c3159db432.2083a2db9e9c60ac.b8b48ea58f71e23a
+    9fc4b7f51730b026.ab3216f15128193a.1adf9f1518b3ce62.201e88c86aa4b410
+    366d9c417888714c.3715a287401050e8.f011414a10726f02.9fdb79dc6c2cfb76
+    b4dea0abc15b3e5f.a3fc5eef80de95e8.7fe40667a2e5feb9.8f375e4e3195f117
+    4d7e3288536cd3a0
+  after
+    131777db814741c0.a307c0c3159db432.2083a2db9e9c60ac.b8b48ea58f71e23a
+    9fc4b7f51730b026.ab3216f15128193a.1adf9f1518b3ce62.201e88c86aa4b410
+    0000000000000000.0000000000000000.00000000ffffffff.ffffffffffffffff
+    b4dea0abc15b3e5f.a3fc5eef80de95e8.7fe40667a2e5feb9.8f375e4e3195f117
+    4d7e3288536cd3a0
+
+VPCMPGTD_128(reg)
+  before
+    35fbf1f7713cdcbc.f6e3411f0db3d48a.4a354996ad2023e5.a3256959e91938b3
+    a3fc980825914918.d647fa89789eeffa.8a0a5ce96261368c.38a0e70b011ad91b
+    f4cb21260bf85660.31d847d51f274adb.bdc994523c2e0c88.1a21fa6807f29c1e
+    82b58abcc0fc3f3f.e260a4f01e5ba258.41bcee3fd612df86.2574205e16af3fe7
+    3565d4d84b5c7ca3
+  after
+    0000000000000000.0000000000000000.00000000ffffffff.ffffffff00000000
+    a3fc980825914918.d647fa89789eeffa.8a0a5ce96261368c.38a0e70b011ad91b
+    f4cb21260bf85660.31d847d51f274adb.bdc994523c2e0c88.1a21fa6807f29c1e
+    82b58abcc0fc3f3f.e260a4f01e5ba258.41bcee3fd612df86.2574205e16af3fe7
+    3565d4d84b5c7ca3
+VPCMPGTD_128(mem)
+  before
+    26bf92c2c1060f7e.aa06ce38df2a3f62.c7ac8ec49045b39e.7130651bcc99ec31
+    d450d70895b8b6a3.c80ae905050c9374.bb88803f92f138d8.a871f552bb506f36
+    1ae21d96e27e2b3e.380cd88fcd307722.9ac0f64b3e6cef33.44ca9a503fc1a341
+    d642e258c5652b7d.565a9542d4222718.40206cd6b3c192db.9f895181f37bc6fd
+    17f8155173071117
+  after
+    26bf92c2c1060f7e.aa06ce38df2a3f62.c7ac8ec49045b39e.7130651bcc99ec31
+    d450d70895b8b6a3.c80ae905050c9374.bb88803f92f138d8.a871f552bb506f36
+    0000000000000000.0000000000000000.00000000ffffffff.0000000000000000
+    d642e258c5652b7d.565a9542d4222718.40206cd6b3c192db.9f895181f37bc6fd
+    17f8155173071117
+
+VPCMPGTD_128(reg)
+  before
+    0665e22c5cf3c33b.e33ca13b5978718a.7d3e1e8bb56dde01.89735fcb0bfcddfb
+    c91ab47f49cb1614.1d9cd629bac3ba91.0b056fd40c9dd98a.51864916622a8ebf
+    bd6488b4d719474e.602dfe100553c2bf.5bfb828a773e535e.7325a8a3d5565f55
+    3c8e5839a26b9297.87bd94da56334540.c96c541a8fdd8a2a.cd1cf75e7f8c0de7
+    3a37b3337dd953a1
+  after
+    0000000000000000.0000000000000000.0000000000000000.00000000ffffffff
+    c91ab47f49cb1614.1d9cd629bac3ba91.0b056fd40c9dd98a.51864916622a8ebf
+    bd6488b4d719474e.602dfe100553c2bf.5bfb828a773e535e.7325a8a3d5565f55
+    3c8e5839a26b9297.87bd94da56334540.c96c541a8fdd8a2a.cd1cf75e7f8c0de7
+    3a37b3337dd953a1
+VPCMPGTD_128(mem)
+  before
+    9542560eea48eeb0.a3e62278444d3398.70161475c86ffe3f.b1a4e2eef205b89a
+    bc095edce3e59a40.4eb6e1df5c496500.f505facc7714aae9.6fee27743c431a59
+    8957468783bd137c.9a4c92d983ed6579.f456c2cb802d056a.5e981f170822eb13
+    daf98afde7db1491.e1f22fd257c56eb0.48d5e95effc7cbed.dcecc743f22e6876
+    44371a6497f3cd2c
+  after
+    9542560eea48eeb0.a3e62278444d3398.70161475c86ffe3f.b1a4e2eef205b89a
+    bc095edce3e59a40.4eb6e1df5c496500.f505facc7714aae9.6fee27743c431a59
+    0000000000000000.0000000000000000.00000000ffffffff.ffffffffffffffff
+    daf98afde7db1491.e1f22fd257c56eb0.48d5e95effc7cbed.dcecc743f22e6876
+    44371a6497f3cd2c
+
+VPMOVZXBD_128(reg)
+  before
+    f1c513e692fe56e1.8abba7282a4c5bab.80f5b636745bbe50.cc4dea710fecb79f
+    41e2b13580da3f42.746917f6691aa1f5.d3a12271753d8f06.5e8c41f0ccaa86ab
+    8ed9edbdfc14c3fb.75cf5852bf54a59b.36416feff7f71d7d.d85c6ac8530df43e
+    36f8c4eaa3371fb7.6ab8e528480321cb.0523991c9514a662.188ae2e3bf20bc83
+    f8e2232e2def9ba7
+  after
+    f1c513e692fe56e1.8abba7282a4c5bab.80f5b636745bbe50.cc4dea710fecb79f
+    0000000000000000.0000000000000000.000000530000000d.000000f40000003e
+    8ed9edbdfc14c3fb.75cf5852bf54a59b.36416feff7f71d7d.d85c6ac8530df43e
+    36f8c4eaa3371fb7.6ab8e528480321cb.0523991c9514a662.188ae2e3bf20bc83
+    f8e2232e2def9ba7
+VPMOVZXBD_128(mem)
+  before
+    5530ab96b8864dd6.9489332910cf8e23.2df23b642135d2af.9c919d65eb206461
+    0c40f5067df28e3b.03d935e4e0694deb.9c47d4f266f57473.57d8763496a79425
+    f7de7e6a973e1903.e034c689ae9098ba.91842ebe324fc344.924420f73236725b
+    f3d5c0ad2377ab5a.88e6e38317d0ab3c.e975c4b5a1507a4e.a9219718595839ae
+    f8bbd805aa9a26cb
+  after
+    5530ab96b8864dd6.9489332910cf8e23.2df23b642135d2af.9c919d65eb206461
+    0000000000000000.0000000000000000.000000eb00000020.0000006400000061
+    f7de7e6a973e1903.e034c689ae9098ba.91842ebe324fc344.924420f73236725b
+    f3d5c0ad2377ab5a.88e6e38317d0ab3c.e975c4b5a1507a4e.a9219718595839ae
+    f8bbd805aa9a26cb
+
+VPMOVZXBD_128(reg)
+  before
+    db5ede29bf86755d.ddf239bd3ca8006b.553a863eb6b6c21f.81e612c1d00356bc
+    ae55a5f034aa6112.8f016485feddd462.a57ead2528cd180d.33a395d0da7512bb
+    cded29c6a6922893.e6cebdf28622e26c.d2fc53a608a1eab2.dc77c7ccdcb16c76
+    93726617b0c9048f.be25c1eef084e7b5.3901752df2bf73bb.583026a3f1c31e1a
+    83982d4036b8e4d3
+  after
+    db5ede29bf86755d.ddf239bd3ca8006b.553a863eb6b6c21f.81e612c1d00356bc
+    0000000000000000.0000000000000000.000000dc000000b1.0000006c00000076
+    cded29c6a6922893.e6cebdf28622e26c.d2fc53a608a1eab2.dc77c7ccdcb16c76
+    93726617b0c9048f.be25c1eef084e7b5.3901752df2bf73bb.583026a3f1c31e1a
+    83982d4036b8e4d3
+VPMOVZXBD_128(mem)
+  before
+    397c598fc69a7ccc.5e30594fefdb31b0.f3d2eb66570e9e69.36d90d2483b2f1d4
+    57a8247cbe78a032.8973fddbfe55eda2.61a0b647d7cdc5b3.26d019f857069ea8
+    b7e70cf3395b0d30.6f874e257ac17212.e45ca17b8dcc16bf.633294150848b6e4
+    36078ce054517ff3.6eb7489bfeaefdac.58d225f095174dbb.4a4b7ae835037733
+    3766c7db78c31b42
+  after
+    397c598fc69a7ccc.5e30594fefdb31b0.f3d2eb66570e9e69.36d90d2483b2f1d4
+    0000000000000000.0000000000000000.00000083000000b2.000000f1000000d4
+    b7e70cf3395b0d30.6f874e257ac17212.e45ca17b8dcc16bf.633294150848b6e4
+    36078ce054517ff3.6eb7489bfeaefdac.58d225f095174dbb.4a4b7ae835037733
+    3766c7db78c31b42
+
+VPMOVZXBD_128(reg)
+  before
+    86d0785c6d15dfbd.b0d2202f2a65b1a7.e151e7a726a5c91b.99cebf9009bb28d0
+    93d588d6b184ff4f.011644ccd7a46077.239f28b78f34140c.831cec4908c3612d
+    bac1f3b5df9cb6a5.049d75a478194890.92ee0636d5e6182b.f2882706ac3bb5fc
+    57e0b56594ea416a.97342ea129d0241d.888a7d9093481123.c2ddecb31130e069
+    cfe9b83c54ad9da1
+  after
+    86d0785c6d15dfbd.b0d2202f2a65b1a7.e151e7a726a5c91b.99cebf9009bb28d0
+    0000000000000000.0000000000000000.000000ac0000003b.000000b5000000fc
+    bac1f3b5df9cb6a5.049d75a478194890.92ee0636d5e6182b.f2882706ac3bb5fc
+    57e0b56594ea416a.97342ea129d0241d.888a7d9093481123.c2ddecb31130e069
+    cfe9b83c54ad9da1
+VPMOVZXBD_128(mem)
+  before
+    f576068d90bea9d0.c67eca526bf9dc4b.95a6ebb105d6b24b.63be8a3165e53da0
+    10515193e170c021.63e62fe80156c2f4.dac128bf2836ac46.7dd82785e849d650
+    fc46183864ce9ec1.8a65df93f18c3110.425061b6affcce39.342252f8b80119dd
+    9421d46935e4fedc.9748d6bfd727624c.a91e1384b535d651.e2e906f6709841f3
+    e5793fecac9a8c3f
+  after
+    f576068d90bea9d0.c67eca526bf9dc4b.95a6ebb105d6b24b.63be8a3165e53da0
+    0000000000000000.0000000000000000.00000065000000e5.0000003d000000a0
+    fc46183864ce9ec1.8a65df93f18c3110.425061b6affcce39.342252f8b80119dd
+    9421d46935e4fedc.9748d6bfd727624c.a91e1384b535d651.e2e906f6709841f3
+    e5793fecac9a8c3f
+
+VPMOVSXBD_128(reg)
+  before
+    971efa440994346d.b6ad02136fbf9d9d.e6d910d950b39453.eaf8b91457ec7eb9
+    5524316c22117528.3db81f212f6a3631.d3648a4bf8bd01d2.e3aacf52b02d839e
+    7cd7e2ce949d8d1d.040ca67e90f187c3.ba373f836ad0e775.6f00d22bdd05a02b
+    668208d8fac5b6f7.e9761318ae614a80.f69d2beb43797fe7.69c63c89fa7f928e
+    afc78b5921a815f0
+  after
+    971efa440994346d.b6ad02136fbf9d9d.e6d910d950b39453.eaf8b91457ec7eb9
+    0000000000000000.0000000000000000.ffffffdd00000005.ffffffa00000002b
+    7cd7e2ce949d8d1d.040ca67e90f187c3.ba373f836ad0e775.6f00d22bdd05a02b
+    668208d8fac5b6f7.e9761318ae614a80.f69d2beb43797fe7.69c63c89fa7f928e
+    afc78b5921a815f0
+VPMOVSXBD_128(mem)
+  before
+    1cd03a88708ae580.7072a0f5f1142d63.c7c2e3daa6c53c94.e5e14af11d4308d4
+    8baec5000333bd67.f6f4a49114162d0d.79bc90b09429182a.e250990097babcea
+    da2ba9aff5af5bd4.54521218ff58f4a0.dd2f9886929a9c6e.483612844b6ad8d3
+    e3146080630978f1.e6d8e5f64f65bcc9.cde97648bf23828e.75dfb3e9d5e0983b
+    c497779bd2a737cf
+  after
+    1cd03a88708ae580.7072a0f5f1142d63.c7c2e3daa6c53c94.e5e14af11d4308d4
+    0000000000000000.0000000000000000.0000001d00000043.00000008ffffffd4
+    da2ba9aff5af5bd4.54521218ff58f4a0.dd2f9886929a9c6e.483612844b6ad8d3
+    e3146080630978f1.e6d8e5f64f65bcc9.cde97648bf23828e.75dfb3e9d5e0983b
+    c497779bd2a737cf
+
+VPMOVSXBD_128(reg)
+  before
+    90a95a06dd4cf23b.8434685f684dd3eb.08d41997a0c9c233.27b4a6e335d186b4
+    37635997935a052a.97593c38208726ed.1791ab678d11418b.c55da54110ae660c
+    130f6fb88f5dac49.f94d59f7a8c42e24.6d5a95d3b3c8767d.85b0ee506dc8dcc3
+    82fa98d76ee22244.87de39881c0fa7bb.677cd545ad7b9db4.4179fdfa672ba505
+    d6844e2d1be27cfd
+  after
+    90a95a06dd4cf23b.8434685f684dd3eb.08d41997a0c9c233.27b4a6e335d186b4
+    0000000000000000.0000000000000000.0000006dffffffc8.ffffffdcffffffc3
+    130f6fb88f5dac49.f94d59f7a8c42e24.6d5a95d3b3c8767d.85b0ee506dc8dcc3
+    82fa98d76ee22244.87de39881c0fa7bb.677cd545ad7b9db4.4179fdfa672ba505
+    d6844e2d1be27cfd
+VPMOVSXBD_128(mem)
+  before
+    219d5dd4a4f91fd8.de70d05ecb74a4c6.1bd65ad797754ddf.6143662b17b4f2dd
+    fc8fa7da1e7c48c1.85bd13bb439f6e7b.920237d03500dbbc.b6fb44ef8e01b0a3
+    4427a72da678b4e5.d12d5e5971f0bb11.c92e4c6013bf0e7d.c4f06cffadee14b3
+    d531d9b858f81e70.1f0baca4f1f2c832.9a2516714cbba14f.e66dd9c611065ab9
+    78c087b055d5be60
+  after
+    219d5dd4a4f91fd8.de70d05ecb74a4c6.1bd65ad797754ddf.6143662b17b4f2dd
+    0000000000000000.0000000000000000.00000017ffffffb4.fffffff2ffffffdd
+    4427a72da678b4e5.d12d5e5971f0bb11.c92e4c6013bf0e7d.c4f06cffadee14b3
+    d531d9b858f81e70.1f0baca4f1f2c832.9a2516714cbba14f.e66dd9c611065ab9
+    78c087b055d5be60
+
+VPMOVSXBD_128(reg)
+  before
+    d633722916e77b55.8c79b9684f09438d.cca5f9086031d18a.e2b50ff1fd02525d
+    5c13969defc9ce43.43cbc327a8b6df69.324541f15a3a12c6.7da8b5ca419fdbd5
+    65acf0787d06f3d7.d7f374e27e0bae2f.ae3881cb7a98c692.47cb83ea359ff8e0
+    4f4a7b275b2b25bd.24bc4786ed156b0c.9dcab3025cd72a99.1ceaf53cf40d67ac
+    d9d188ac9bf5e265
+  after
+    d633722916e77b55.8c79b9684f09438d.cca5f9086031d18a.e2b50ff1fd02525d
+    0000000000000000.0000000000000000.00000035ffffff9f.fffffff8ffffffe0
+    65acf0787d06f3d7.d7f374e27e0bae2f.ae3881cb7a98c692.47cb83ea359ff8e0
+    4f4a7b275b2b25bd.24bc4786ed156b0c.9dcab3025cd72a99.1ceaf53cf40d67ac
+    d9d188ac9bf5e265
+VPMOVSXBD_128(mem)
+  before
+    584cb72645632637.7538331426c3a1a0.06f3b8fd12dfd32c.5946d5039d847a88
+    7627fe960f64ef4d.32c414ad795aa32c.596443350875a2ba.3ffae238d92af20a
+    0f2dd9e91404f8d3.e4381b5cf17d670f.f9db6518ece393e3.ab30d70fab55cdcc
+    ff2bc409704dfef6.e6e1428f29b628f3.c2249994d93664d2.f936aef2af92487a
+    8556654f826c9ebf
+  after
+    584cb72645632637.7538331426c3a1a0.06f3b8fd12dfd32c.5946d5039d847a88
+    0000000000000000.0000000000000000.ffffff9dffffff84.0000007affffff88
+    0f2dd9e91404f8d3.e4381b5cf17d670f.f9db6518ece393e3.ab30d70fab55cdcc
+    ff2bc409704dfef6.e6e1428f29b628f3.c2249994d93664d2.f936aef2af92487a
+    8556654f826c9ebf
+
+VPINSRB_128_1of3(reg)
+  before
+    abddf791bf6f0d48.21ed3ce3404dbde2.930b87b1bd942384.900b5b94ec7acfb4
+    c71661240328cfc0.533fbc64a010f0c2.4902e52e4aa0936f.3f5b270440b990b5
+    354f9d74e92221d4.70edc077aba055c3.621259726c68b660.abe279d0f2016500
+    51d2a9ed0eea3e30.54c3c4077d0ba611.3c87dde9be78c602.b06acee41d5e08c2
+    29c0a12ddeda3626
+  after
+    0000000000000000.0000000000000000.4902e52e4aa0936f.3f5b270440b99026
+    c71661240328cfc0.533fbc64a010f0c2.4902e52e4aa0936f.3f5b270440b990b5
+    354f9d74e92221d4.70edc077aba055c3.621259726c68b660.abe279d0f2016500
+    51d2a9ed0eea3e30.54c3c4077d0ba611.3c87dde9be78c602.b06acee41d5e08c2
+    29c0a12ddeda3626
+VPINSRB_128_1of3(mem)
+  before
+    f4b06e955083aa59.77ed80fb0d0a637f.db8c4402335c9fd7.31ac6fffdc5a0002
+    ec06b10990652187.03ea1e0b8211cc6e.e115bd53e9a0fe42.9fce0a20639ca00c
+    ed8de776b98a57db.51167f870a88b5a8.412baae6b9e27d7d.e039aab8eec9e1cb
+    d2138ac7e7000882.bdbda0dc41fd59da.d99887a7c22fd9b5.51394c341a6e00eb
+    4f1aeafe8216391a
+  after
+    f4b06e955083aa59.77ed80fb0d0a637f.db8c4402335c9fd7.31ac6fffdc5a0002
+    ec06b10990652187.03ea1e0b8211cc6e.e115bd53e9a0fe42.9fce0a20639ca00c
+    0000000000000000.0000000000000000.e115bd53e9a0fe42.9fce0a20029ca00c
+    d2138ac7e7000882.bdbda0dc41fd59da.d99887a7c22fd9b5.51394c341a6e00eb
+    4f1aeafe8216391a
+
+VPINSRB_128_1of3(reg)
+  before
+    34288284c34dc701.796218e737d3efa7.a22a7b77c2fbf5b0.8428d0821d91cd16
+    5dae0f3178a0e74f.bd470dc4c50dc977.5eab0ec3290fc5d5.1da90264e91616cb
+    26f98e713e9ad5ae.798ee349acbd521d.4c8a552b13c305f5.82e698373fca7000
+    eb55f9afb0c7cdca.8b03186208ec46c6.c8144a1d1ca6f0be.8eaa0ee83eb797e3
+    1cc2e064ffec469e
+  after
+    0000000000000000.0000000000000000.5eab0ec3290fc5d5.1da90264e916169e
+    5dae0f3178a0e74f.bd470dc4c50dc977.5eab0ec3290fc5d5.1da90264e91616cb
+    26f98e713e9ad5ae.798ee349acbd521d.4c8a552b13c305f5.82e698373fca7000
+    eb55f9afb0c7cdca.8b03186208ec46c6.c8144a1d1ca6f0be.8eaa0ee83eb797e3
+    1cc2e064ffec469e
+VPINSRB_128_1of3(mem)
+  before
+    0afa8a96a0723b5d.090e4e596bb40a51.cd7226fbf6a8609e.2d96eb04df41c3da
+    321e89693d572f4d.da7088db0aecc9ec.1da68c0091fc5dd0.d959334cf822baf5
+    72fa58cbf1a6e19a.bbc7a39f29fc464a.556cc35ef6f4f989.27ac1e6204d410bc
+    a45a73a7d86b0b6f.085e9c12666ebc15.539048ff419deff5.72daa8b09ee402db
+    182ecea363ddccfd
+  after
+    0afa8a96a0723b5d.090e4e596bb40a51.cd7226fbf6a8609e.2d96eb04df41c3da
+    321e89693d572f4d.da7088db0aecc9ec.1da68c0091fc5dd0.d959334cf822baf5
+    0000000000000000.0000000000000000.1da68c0091fc5dd0.d959334cda22baf5
+    a45a73a7d86b0b6f.085e9c12666ebc15.539048ff419deff5.72daa8b09ee402db
+    182ecea363ddccfd
+
+VPINSRB_128_1of3(reg)
+  before
+    73f58aa8ee4baacf.a50956e90fb36af9.1d836da05ad169f9.f1df98d18c02fc3f
+    e17cda29dcbbd7fd.52d47e7db289ba64.568014b6a3ae87a4.0c222ebef630dc93
+    bc0dba94c8b89032.85876650dcfab7db.0fa28cbedc9352bf.812886b498314b1f
+    61f424534fce111a.1bee8a4ca9111c8a.a435d226a20b08f9.2abc1c9e9014040d
+    e4a96d68fae2c489
+  after
+    0000000000000000.0000000000000000.568014b6a3ae87a4.0c222ebef630dc89
+    e17cda29dcbbd7fd.52d47e7db289ba64.568014b6a3ae87a4.0c222ebef630dc93
+    bc0dba94c8b89032.85876650dcfab7db.0fa28cbedc9352bf.812886b498314b1f
+    61f424534fce111a.1bee8a4ca9111c8a.a435d226a20b08f9.2abc1c9e9014040d
+    e4a96d68fae2c489
+VPINSRB_128_1of3(mem)
+  before
+    8cbcf4fdf1a947c0.2d7f16d40c8a9563.f1d5665e36daa69e.7185e05991a2e3fc
+    fcc12d4c927449de.7af88a829b7759b6.e10876739e611043.d2ddb4c344e51f74
+    1184943ef850850e.a6ad7ec9992199c2.c8523775feb318a5.228b49d0575ffa0f
+    a7d1a6c03f48b87d.0be8ee15a2159131.8281245272db78ef.bfd99bec679dae76
+    0414a6830f2a7858
+  after
+    8cbcf4fdf1a947c0.2d7f16d40c8a9563.f1d5665e36daa69e.7185e05991a2e3fc
+    fcc12d4c927449de.7af88a829b7759b6.e10876739e611043.d2ddb4c344e51f74
+    0000000000000000.0000000000000000.e10876739e611043.d2ddb4c3fce51f74
+    a7d1a6c03f48b87d.0be8ee15a2159131.8281245272db78ef.bfd99bec679dae76
+    0414a6830f2a7858
+
+VPINSRB_128_2of3(reg)
+  before
+    4d886701ec92945f.9a74ddbe84689d56.06f6d4d251de7cb0.eb5fb9f514e6ec4d
+    f581d9d299613d37.c638b725e3bcf2c6.f3232e6d420897ea.e0b9724a02df32ed
+    5a4af863b224b08d.08eaafdf775171f9.2fbbf75012201e8c.3b5bcc3d58d204f8
+    d731c01ed566290d.3a5742da5c33d61a.14092be85db14c41.d91041ba31cc1f9d
+    96a64fadaad83f06
+  after
+    0000000000000000.0000000000000000.f3232e6d420897ea.e006724a02df32ed
+    f581d9d299613d37.c638b725e3bcf2c6.f3232e6d420897ea.e0b9724a02df32ed
+    5a4af863b224b08d.08eaafdf775171f9.2fbbf75012201e8c.3b5bcc3d58d204f8
+    d731c01ed566290d.3a5742da5c33d61a.14092be85db14c41.d91041ba31cc1f9d
+    96a64fadaad83f06
+VPINSRB_128_2of3(mem)
+  before
+    4ee77202de021f5f.c7802e719bb4e462.3949ea01af6cdf56.ff5bc6a2be475fb6
+    dda124a6ea567cd6.88843cc7a2991c39.e18c253f8b0a46d8.4cfbc5e9d16f9097
+    1f9ee383e9e11294.7589e88b86a10e3e.0dee6e820d18c8cd.5736232833b41e8f
+    efab2986f7af9cc8.e9db2d2be259f61c.9b3a41b550a32161.7c58dccd7fa2434b
+    17adec4352c63c76
+  after
+    4ee77202de021f5f.c7802e719bb4e462.3949ea01af6cdf56.ff5bc6a2be475fb6
+    dda124a6ea567cd6.88843cc7a2991c39.e18c253f8b0a46d8.4cfbc5e9d16f9097
+    0000000000000000.0000000000000000.e18c253f8b0ab6d8.4cfbc5e9d16f9097
+    efab2986f7af9cc8.e9db2d2be259f61c.9b3a41b550a32161.7c58dccd7fa2434b
+    17adec4352c63c76
+
+VPINSRB_128_2of3(reg)
+  before
+    848050f647ab45bd.2b93749c31cad89c.42c60812524c0f7f.663b1bc471b60cbf
+    1f1f0252fbde9acc.ae2440b0b240803c.da9573ac73069615.4abe769b8b5d4614
+    44d400c409e9764e.542907ae971d50d5.0e966c66e114c788.238fd027bba58b8b
+    4fec45b60d5a16f0.f96d4782fc6b0693.3b13eeaa3601de84.cd7aa4521c999751
+    234b6f0aca452591
+  after
+    0000000000000000.0000000000000000.da9573ac73069615.4a91769b8b5d4614
+    1f1f0252fbde9acc.ae2440b0b240803c.da9573ac73069615.4abe769b8b5d4614
+    44d400c409e9764e.542907ae971d50d5.0e966c66e114c788.238fd027bba58b8b
+    4fec45b60d5a16f0.f96d4782fc6b0693.3b13eeaa3601de84.cd7aa4521c999751
+    234b6f0aca452591
+VPINSRB_128_2of3(mem)
+  before
+    03cdab39e3b6f279.9cb3ce95a4bdb65d.78bd7b18fc385ca1.bb59f5e5115916b6
+    48ced6cd80f7b932.867595ce6a9d9142.afe51f5cb3900f2c.ecb47e840ca8acca
+    ce186bb0bf1438eb.6b7e98cbfa86e44a.79b1af3a3e7dda60.287084f1c37bdc6b
+    7078e6d0bc1a29cd.a619d2faf004eb23.b1eda89eb80d7a68.ccd8029ad35ee146
+    343af7ead7dbf806
+  after
+    03cdab39e3b6f279.9cb3ce95a4bdb65d.78bd7b18fc385ca1.bb59f5e5115916b6
+    48ced6cd80f7b932.867595ce6a9d9142.afe51f5cb3900f2c.ecb47e840ca8acca
+    0000000000000000.0000000000000000.afe51f5cb390b62c.ecb47e840ca8acca
+    7078e6d0bc1a29cd.a619d2faf004eb23.b1eda89eb80d7a68.ccd8029ad35ee146
+    343af7ead7dbf806
+
+VPINSRB_128_2of3(reg)
+  before
+    bde05c4c6b815d58.0cbac31891144907.93943fc6e9a4e176.356485753e4cab71
+    c1172e2e2dd94ce8.7caa7f745d0f53c3.8d39dc9b81f204f2.e0e4c2a9eb4529a6
+    9d2b6afbb6710061.9e1495d03a15052e.f255a3e553788e41.8d37db28db04af34
+    ad680b1fa4d4b670.4cc3811944341973.1d349210fbc4bb0f.1a2a4cdc2c95fb46
+    618992b3f705c609
+  after
+    0000000000000000.0000000000000000.8d39dc9b81f204f2.e009c2a9eb4529a6
+    c1172e2e2dd94ce8.7caa7f745d0f53c3.8d39dc9b81f204f2.e0e4c2a9eb4529a6
+    9d2b6afbb6710061.9e1495d03a15052e.f255a3e553788e41.8d37db28db04af34
+    ad680b1fa4d4b670.4cc3811944341973.1d349210fbc4bb0f.1a2a4cdc2c95fb46
+    618992b3f705c609
+VPINSRB_128_2of3(mem)
+  before
+    401f28985a5fcfa9.4d1a0d07938eaac0.6484bf3998784bbf.6921a4881661c909
+    91ba8a7771afd051.d98c6d1d1e2c18fe.c024cc1d51ec593d.346ad6b93fdcf2db
+    3124343c5702862e.ad0b25cee1393bd6.3e6d22b28c9cfd1a.d859220f13c07330
+    fd2ba3d32863ad6c.25e43387794150f3.b82b3fe26494f482.b33c86f72d9987b5
+    1f5dfddb2af46c16
+  after
+    401f28985a5fcfa9.4d1a0d07938eaac0.6484bf3998784bbf.6921a4881661c909
+    91ba8a7771afd051.d98c6d1d1e2c18fe.c024cc1d51ec593d.346ad6b93fdcf2db
+    0000000000000000.0000000000000000.c024cc1d51ec093d.346ad6b93fdcf2db
+    fd2ba3d32863ad6c.25e43387794150f3.b82b3fe26494f482.b33c86f72d9987b5
+    1f5dfddb2af46c16
+
+VPINSRB_128_3of3(reg)
+  before
+    7a098329a55c5cfe.cf99522801df0136.9d6192b282d19202.0b2c9e9bf6e1f9a0
+    1e8c154c3b5d9319.843bbd27fd813db8.71cf3fbd97743fae.143bbcc85d8ecaa1
+    6931adb087834f15.f9dd60bd39551e20.fd79341354b791a4.ad231355b6a821b1
+    b54649c0255bca9b.084ab7d4d1675f97.9dad6f205625c590.b3b1212e1c3abbfb
+    02b1613fab5053ab
+  after
+    0000000000000000.0000000000000000.71cf3fab97743fae.143bbcc85d8ecaa1
+    1e8c154c3b5d9319.843bbd27fd813db8.71cf3fbd97743fae.143bbcc85d8ecaa1
+    6931adb087834f15.f9dd60bd39551e20.fd79341354b791a4.ad231355b6a821b1
+    b54649c0255bca9b.084ab7d4d1675f97.9dad6f205625c590.b3b1212e1c3abbfb
+    02b1613fab5053ab
+VPINSRB_128_3of3(mem)
+  before
+    77ef507480f6a6ef.5f15e4eab271415a.8e503f5adfc4be4c.adb5eb50384a161d
+    ec3768b9b73970f0.c4eb7a9aca4feffc.67b9733a8277f569.88dfa40f97b2c1f8
+    3e5527fa6b246ddd.3e14083a0883122e.6f52cf5fd38dc01b.8c7596c90eea02cc
+    49140824b8c458e0.2adc89370899e49b.83e7cfb7f111dd8d.14c4beea3a7d1546
+    7c1717deb6f83512
+  after
+    77ef507480f6a6ef.5f15e4eab271415a.8e503f5adfc4be4c.adb5eb50384a161d
+    ec3768b9b73970f0.c4eb7a9aca4feffc.67b9733a8277f569.88dfa40f97b2c1f8
+    0000000000000000.0000000000000000.1db9733a8277f569.88dfa40f97b2c1f8
+    49140824b8c458e0.2adc89370899e49b.83e7cfb7f111dd8d.14c4beea3a7d1546
+    7c1717deb6f83512
+
+VPINSRB_128_3of3(reg)
+  before
+    1fbc9d121fe6a0db.e9418721bb24ee25.e48ff9fd671ba2f0.7d44f02df50f06ec
+    5bfe4cf010d38f4d.faa920df9050ebda.c87854f9c19887d8.3a35acadfd94f863
+    8b2821e6264b4116.5816504951550a28.33e59695b099d000.9686812325ab6f1f
+    0a87165ffcdbf0e0.df54914a1d3e093e.7f20bc3fd3acb914.6d02ea7c8860264c
+    9b7664a243c0da15
+  after
+    0000000000000000.0000000000000000.c8785415c19887d8.3a35acadfd94f863
+    5bfe4cf010d38f4d.faa920df9050ebda.c87854f9c19887d8.3a35acadfd94f863
+    8b2821e6264b4116.5816504951550a28.33e59695b099d000.9686812325ab6f1f
+    0a87165ffcdbf0e0.df54914a1d3e093e.7f20bc3fd3acb914.6d02ea7c8860264c
+    9b7664a243c0da15
+VPINSRB_128_3of3(mem)
+  before
+    fcae698371d547a6.366729c62e0fd957.6b3161d00e17a246.0976c162c45c7ebf
+    6b7677092eae282d.6914568959713828.d8783cc640ed916c.2d33a16a1f355aae
+    c69a092297543bd4.01da9713198f48ff.02f49c18d0cb94de.47a358c381c48a8c
+    e8e69cb8c8d53ac7.5804e9d009f44787.c572ffb3d9bd65c5.b311e2d985944a06
+    cdcb3c18c731d6c8
+  after
+    fcae698371d547a6.366729c62e0fd957.6b3161d00e17a246.0976c162c45c7ebf
+    6b7677092eae282d.6914568959713828.d8783cc640ed916c.2d33a16a1f355aae
+    0000000000000000.0000000000000000.bf783cc640ed916c.2d33a16a1f355aae
+    e8e69cb8c8d53ac7.5804e9d009f44787.c572ffb3d9bd65c5.b311e2d985944a06
+    cdcb3c18c731d6c8
+
+VPINSRB_128_3of3(reg)
+  before
+    f11b61ece528697d.ad25aab9dc3de134.ccdf492cc52d6e6d.fcbee08177d0c050
+    7b4e4dc1780440d2.f124b110ef96ee44.b7b8b294eac5fc5c.85a4bb6fc80f63a9
+    c6b0fc041e529672.8fb02ca91eee1b26.76d9217213482b02.3bf00c6ae58608fc
+    308d6b1f739da90a.6593977084512404.668f9033dd433808.fa6d4f5cec426c76
+    9de90133f94e4b43
+  after
+    0000000000000000.0000000000000000.b7b8b243eac5fc5c.85a4bb6fc80f63a9
+    7b4e4dc1780440d2.f124b110ef96ee44.b7b8b294eac5fc5c.85a4bb6fc80f63a9
+    c6b0fc041e529672.8fb02ca91eee1b26.76d9217213482b02.3bf00c6ae58608fc
+    308d6b1f739da90a.6593977084512404.668f9033dd433808.fa6d4f5cec426c76
+    9de90133f94e4b43
+VPINSRB_128_3of3(mem)
+  before
+    022e9dda27b6608e.143195801271b345.4e996e513ecac70a.e125fd44e3415f1c
+    04099f3c92876884.cee77691975af1d1.26902e396765be65.44e96310c2cedcea
+    7e46844757cc1f51.bafd0ac09fe59e57.c84352121c2ec641.ec26be021577ea1e
+    4eb1c6e692914120.33bd4d78c69df786.127d56ca78329bc9.33270a8879c7c663
+    7639440d894aab65
+  after
+    022e9dda27b6608e.143195801271b345.4e996e513ecac70a.e125fd44e3415f1c
+    04099f3c92876884.cee77691975af1d1.26902e396765be65.44e96310c2cedcea
+    0000000000000000.0000000000000000.1c902e396765be65.44e96310c2cedcea
+    4eb1c6e692914120.33bd4d78c69df786.127d56ca78329bc9.33270a8879c7c663
+    7639440d894aab65
+
+VCOMISD_128(reg)
+  before
+    11a866fde28dd7d2.4e16e3055de3891d.97743c25a70f3808.de0bb64b987cf82a
+    60c06ec41f1b8453.5c405691d7cdb476.416ed233dec69d89.0ab9ee8397189b90
+    bfcc58cedc80ee97.52fc9c741a5c7e55.8cf70b0e084e62b6.70537b5d91133d26
+    8a1a1e88b6495348.0e172f9b429aa2e6.d65ae322c034c23b.eea5d8c4a3789d18
+    5e7b81a6e9547594
+  after
+    11a866fde28dd7d2.4e16e3055de3891d.97743c25a70f3808.de0bb64b987cf82a
+    60c06ec41f1b8453.5c405691d7cdb476.416ed233dec69d89.0ab9ee8397189b90
+    bfcc58cedc80ee97.52fc9c741a5c7e55.8cf70b0e084e62b6.70537b5d91133d26
+    8a1a1e88b6495348.0e172f9b429aa2e6.d65ae322c034c23b.eea5d8c4a3789d18
+    0000000000000001
+VCOMISD_128(mem)
+  before
+    9ea0f2ee7eb182c3.1df4be5c4901ed12.6a5b8df36c95dd56.79e557dca303fac3
+    88e1a8887e9e80d4.d4a732b83035f9a3.44943166b359ebd1.d3e262a64c4745fb
+    f90a1e6106242af1.0b7f79060770b3a4.769097e234f18882.3e9e00ee588ce08f
+    cee7cf6332513e47.1ec88cb46b3e56c4.dd1a3b520a696f96.18652d1e625f072a
+    bb83e5a4074cf678
+  after
+    9ea0f2ee7eb182c3.1df4be5c4901ed12.6a5b8df36c95dd56.79e557dca303fac3
+    88e1a8887e9e80d4.d4a732b83035f9a3.44943166b359ebd1.d3e262a64c4745fb
+    f90a1e6106242af1.0b7f79060770b3a4.769097e234f18882.3e9e00ee588ce08f
+    cee7cf6332513e47.1ec88cb46b3e56c4.dd1a3b520a696f96.18652d1e625f072a
+    0000000000000001
+
+VCOMISD_128(reg)
+  before
+    844425ebe2dde927.e1443a7b1c307601.69ce682df82b1fad.56fd9aa251cd5d38
+    d0f3e85f8fa01be0.0fedd896e3ce8e4c.48dd0adc48c44a0b.bb062fbe262a0e95
+    f9dd2a6cab21c952.34ad279fa1354353.17406d2ffa94128b.e9017692a58b3dd9
+    5c4fe77ed2ea2e27.2c52a28172745243.32448d91a728b5d9.bcbaeb0ae9fda82f
+    10fd0a120f8b09c4
+  after
+    844425ebe2dde927.e1443a7b1c307601.69ce682df82b1fad.56fd9aa251cd5d38
+    d0f3e85f8fa01be0.0fedd896e3ce8e4c.48dd0adc48c44a0b.bb062fbe262a0e95
+    f9dd2a6cab21c952.34ad279fa1354353.17406d2ffa94128b.e9017692a58b3dd9
+    5c4fe77ed2ea2e27.2c52a28172745243.32448d91a728b5d9.bcbaeb0ae9fda82f
+    0000000000000000
+VCOMISD_128(mem)
+  before
+    c196509632411cc4.56931c019f89880c.d4a6c52a73947448.f535676fee0a6da1
+    ac5038836e2c9f5a.41f5c361ae8a11ac.06760c85bfa3688d.bb5ff53368c9768d
+    abf83ec3e0574cb2.7ac3da0b9c7705b4.9f8ef37e73ace83f.e20e354ab4ee0e4c
+    9b5bde44a3cedff9.5d485c6905dea2cf.7bbaf701aabcb189.c58e22216b076f88
+    bf2ab8222b9fd6ee
+  after
+    c196509632411cc4.56931c019f89880c.d4a6c52a73947448.f535676fee0a6da1
+    ac5038836e2c9f5a.41f5c361ae8a11ac.06760c85bfa3688d.bb5ff53368c9768d
+    abf83ec3e0574cb2.7ac3da0b9c7705b4.9f8ef37e73ace83f.e20e354ab4ee0e4c
+    9b5bde44a3cedff9.5d485c6905dea2cf.7bbaf701aabcb189.c58e22216b076f88
+    0000000000000000
+
+VCOMISD_128(reg)
+  before
+    2e30f4bb90437e29.584395f1d49d165b.46cf46e9834b22aa.76c593fa80de7f98
+    6dead156357ea5e6.be7cdeb58ed1ab04.92a592f5b549c2f1.6c7c4355121e0d98
+    d7a54a61b7dc84d1.a9d4357eee765b1e.9b163efb3564be4f.39ac84ff7c8918b4
+    caad5e47b1e95a95.f41616371096e2d8.be6e45669f285171.b91fd0e2d92a5c19
+    c8a2a5ec450d94f2
+  after
+    2e30f4bb90437e29.584395f1d49d165b.46cf46e9834b22aa.76c593fa80de7f98
+    6dead156357ea5e6.be7cdeb58ed1ab04.92a592f5b549c2f1.6c7c4355121e0d98
+    d7a54a61b7dc84d1.a9d4357eee765b1e.9b163efb3564be4f.39ac84ff7c8918b4
+    caad5e47b1e95a95.f41616371096e2d8.be6e45669f285171.b91fd0e2d92a5c19
+    0000000000000000
+VCOMISD_128(mem)
+  before
+    41017e07dd3f7e6c.a04d0674bf3262de.7d0dfdcc0e3ffb5c.57f9a3a29022b802
+    0207d721bdcbd3b3.b7d340547e43d75a.1f86672a067d63d7.c203551ba3dd2faf
+    e6822d2500bd52f2.6989065389a6f6b2.b64dcf3b145ad674.5bd7563d74e5f124
+    c93cfbffc222b655.13bc56de7de9fa95.1e2eb1ec53e41060.7dc3a174a1c73b0c
+    8611352dc30e4914
+  after
+    41017e07dd3f7e6c.a04d0674bf3262de.7d0dfdcc0e3ffb5c.57f9a3a29022b802
+    0207d721bdcbd3b3.b7d340547e43d75a.1f86672a067d63d7.c203551ba3dd2faf
+    e6822d2500bd52f2.6989065389a6f6b2.b64dcf3b145ad674.5bd7563d74e5f124
+    c93cfbffc222b655.13bc56de7de9fa95.1e2eb1ec53e41060.7dc3a174a1c73b0c
+    0000000000000001
+
+VCOMISS_128(reg)
+  before
+    d10e0bd2784757e7.8702bd9b2005ba0a.12b92c5ff69821ad.33f5892ae027ccc7
+    ba0521d05cfda032.fba0efe535721a3b.c0c982438e3da5a7.d06dd4dfd62dc7d4
+    9d4471940abc62a0.03e20dc91e769414.7a3b56f7e466c22e.d3640df95104bcb4
+    d616f9891e10d6df.7a949433f61ce2c2.9d5aa3e5919fb6ef.17a4b0636eb86992
+    77fa39084953889b
+  after
+    d10e0bd2784757e7.8702bd9b2005ba0a.12b92c5ff69821ad.33f5892ae027ccc7
+    ba0521d05cfda032.fba0efe535721a3b.c0c982438e3da5a7.d06dd4dfd62dc7d4
+    9d4471940abc62a0.03e20dc91e769414.7a3b56f7e466c22e.d3640df95104bcb4
+    d616f9891e10d6df.7a949433f61ce2c2.9d5aa3e5919fb6ef.17a4b0636eb86992
+    0000000000000001
+VCOMISS_128(mem)
+  before
+    d13224d6fde3d6fa.c0c6b51b35863b98.3b81fe10da70c171.8371657b3472bb95
+    ff18eeb8a6740edd.b9a19fb5eba9cb7a.2477c94ae57fed4c.89ce9824666d0ecd
+    df78129b6111ee6d.1cf3b5c5da06c32f.0f4071cf34542180.0bbb394cc51cea43
+    4b1d0c6949c630d8.4408f2b6a1285f63.daa97089e2fb1b39.6685425fed098da2
+    f477b1c979c23197
+  after
+    d13224d6fde3d6fa.c0c6b51b35863b98.3b81fe10da70c171.8371657b3472bb95
+    ff18eeb8a6740edd.b9a19fb5eba9cb7a.2477c94ae57fed4c.89ce9824666d0ecd
+    df78129b6111ee6d.1cf3b5c5da06c32f.0f4071cf34542180.0bbb394cc51cea43
+    4b1d0c6949c630d8.4408f2b6a1285f63.daa97089e2fb1b39.6685425fed098da2
+    0000000000000000
+
+VCOMISS_128(reg)
+  before
+    12df82f606d313cd.21d4580f7b9f904a.8f2c52f5da9bdac3.5f7e44660b8194a2
+    1c08af532fc76ef1.3b6a727913a9ccef.57abd1ec21ec71fb.7c8a6851cdf14be8
+    6e3d364a902a7faf.77a9d7942bef9ef2.fad06b0813a560b6.0b9b58364158fa36
+    64cb1248c68882b2.af5d024ae27ec380.d3e81db64b55e3a1.ea7c900185c15eb9
+    f3f88d9eb438339c
+  after
+    12df82f606d313cd.21d4580f7b9f904a.8f2c52f5da9bdac3.5f7e44660b8194a2
+    1c08af532fc76ef1.3b6a727913a9ccef.57abd1ec21ec71fb.7c8a6851cdf14be8
+    6e3d364a902a7faf.77a9d7942bef9ef2.fad06b0813a560b6.0b9b58364158fa36
+    64cb1248c68882b2.af5d024ae27ec380.d3e81db64b55e3a1.ea7c900185c15eb9
+    0000000000000001
+VCOMISS_128(mem)
+  before
+    03dcc9f9ebc9340c.5afe3fba6d6eb3a7.c0546f895160f6c4.3d3fe26066853568
+    f7f4c2ff46811f35.ac22b90b20674d39.87599b3c96a4f5eb.9521b674ffc393b6
+    a90cf49ae06bae42.b6837ca67bff8d15.de37004fcd537a20.38da965cb29b3937
+    f6efd9b8d5949d60.d36c85f91bc3afe7.a2bb1cae117b4290.80b67c861d976299
+    cb00665dd9454b85
+  after
+    03dcc9f9ebc9340c.5afe3fba6d6eb3a7.c0546f895160f6c4.3d3fe26066853568
+    f7f4c2ff46811f35.ac22b90b20674d39.87599b3c96a4f5eb.9521b674ffc393b6
+    a90cf49ae06bae42.b6837ca67bff8d15.de37004fcd537a20.38da965cb29b3937
+    f6efd9b8d5949d60.d36c85f91bc3afe7.a2bb1cae117b4290.80b67c861d976299
+    0000000000000045
+
+VCOMISS_128(reg)
+  before
+    73064f4d843130aa.ba6bef434207a9ba.612bcf6f9b3eef5a.b0b16a457f270867
+    d51234c2bae54db2.d14ab02942d08f7d.bb0a567498fd881b.e2e56600326489d0
+    4e710f2816efdd4a.18599b55f2fb08d5.3d561774ad8bb7d5.15238dcb463c81f8
+    386fdeec34db1d1d.696429b26d95d3ed.435b0cdc7774b835.25375993d8beac0a
+    eeec484204f3c533
+  after
+    73064f4d843130aa.ba6bef434207a9ba.612bcf6f9b3eef5a.b0b16a457f270867
+    d51234c2bae54db2.d14ab02942d08f7d.bb0a567498fd881b.e2e56600326489d0
+    4e710f2816efdd4a.18599b55f2fb08d5.3d561774ad8bb7d5.15238dcb463c81f8
+    386fdeec34db1d1d.696429b26d95d3ed.435b0cdc7774b835.25375993d8beac0a
+    0000000000000001
+VCOMISS_128(mem)
+  before
+    4c0fd5c5e5e9899f.f0579c78b13349d8.a137d72ed0a9aaf2.286533169145c6e6
+    1b6d7d0997abb479.d277453a28859d26.9c9e22b536444a0f.4ac0878f98881e96
+    37d0baf9374601ee.3a19d59c365d54b4.36658531bb716f71.04b704b427ccfcee
+    7c040a81e0c52e29.848b490c7745ab2e.4b577c8f7d3cd444.b197a7efda9a9b9d
+    afad6bae4e80394d
+  after
+    4c0fd5c5e5e9899f.f0579c78b13349d8.a137d72ed0a9aaf2.286533169145c6e6
+    1b6d7d0997abb479.d277453a28859d26.9c9e22b536444a0f.4ac0878f98881e96
+    37d0baf9374601ee.3a19d59c365d54b4.36658531bb716f71.04b704b427ccfcee
+    7c040a81e0c52e29.848b490c7745ab2e.4b577c8f7d3cd444.b197a7efda9a9b9d
+    0000000000000001
+
+VMOVUPS_YMM_to_YMMorMEM(reg)
+  before
+    58434c5c1f0910aa.c6d7e88caf34f557.0c179cf485ccdd3f.b74184bb95b236b3
+    0aa54665e8c25c61.f114d008bfa012a4.2e0acac2ff7b2894.56ef17a221de51eb
+    1f21553545365b1e.d9863fe12d14433b.46afcfe17ee0c6d8.042db32e3dcce017
+    f5027638d3f1478c.5afaaf01149c4249.b054a8bda186f3b8.9cc7d34d0489a164
+    fc89f3ea92204dfe
+  after
+    0aa54665e8c25c61.f114d008bfa012a4.2e0acac2ff7b2894.56ef17a221de51eb
+    0aa54665e8c25c61.f114d008bfa012a4.2e0acac2ff7b2894.56ef17a221de51eb
+    1f21553545365b1e.d9863fe12d14433b.46afcfe17ee0c6d8.042db32e3dcce017
+    f5027638d3f1478c.5afaaf01149c4249.b054a8bda186f3b8.9cc7d34d0489a164
+    fc89f3ea92204dfe
+VMOVUPS_YMM_to_YMMorMEM(mem)
+  before
+    ff3e90f0049da310.e693a3da2e805d58.503c9e559145cbf9.c8434fc201f9ede0
+    81b3244d750d5ec7.5021db87f16ed82d.961887c9bf1a9c78.eacac25d3cc6eefb
+    5eb52dec027b394e.8df817acb847f6b8.0a5ae74aba276ff2.7233fcf8ee7833b5
+    710e27b9c6f3f0d2.fa6454b32098f1a5.87cd38c2a0790192.bccbfa00b29cf8bc
+    24deb6e225bc78ba
+  after
+    710e27b9c6f3f0d2.fa6454b32098f1a5.87cd38c2a0790192.bccbfa00b29cf8bc
+    81b3244d750d5ec7.5021db87f16ed82d.961887c9bf1a9c78.eacac25d3cc6eefb
+    5eb52dec027b394e.8df817acb847f6b8.0a5ae74aba276ff2.7233fcf8ee7833b5
+    710e27b9c6f3f0d2.fa6454b32098f1a5.87cd38c2a0790192.bccbfa00b29cf8bc
+    24deb6e225bc78ba
+
+VMOVUPS_YMM_to_YMMorMEM(reg)
+  before
+    06b72e08e267f05b.988a8ca1de82417e.f4b18f0ac4ec069f.e93ff81f8a1b0e84
+    bda45de085269c4c.aef7d98e6533e680.d52bc31b41cf7053.0b7aa24c961951f6
+    a7ef3fd5ab87b839.8e208b6d78129c01.fa1dec5432ce6c6d.cb4bb235e0808712
+    1fe6d153f0157fce.16d01d2b322c1f30.bfd4062034743698.037ea4c5835b6c04
+    91dff5eb9bb7bcf9
+  after
+    bda45de085269c4c.aef7d98e6533e680.d52bc31b41cf7053.0b7aa24c961951f6
+    bda45de085269c4c.aef7d98e6533e680.d52bc31b41cf7053.0b7aa24c961951f6
+    a7ef3fd5ab87b839.8e208b6d78129c01.fa1dec5432ce6c6d.cb4bb235e0808712
+    1fe6d153f0157fce.16d01d2b322c1f30.bfd4062034743698.037ea4c5835b6c04
+    91dff5eb9bb7bcf9
+VMOVUPS_YMM_to_YMMorMEM(mem)
+  before
+    4f3a2090459e321d.80d30dc6ee5d2eb5.20d40cb2b08c2a36.819c0eebe24d0a80
+    1b5aa1a19c1e8b9b.2803f19a44ea019d.8af8d2f00d3f7b42.9ac1ff21d9e623d3
+    cf0cf40abd4383a0.72c1783b8c483330.2e08edd0664fcb7e.678fd52eb4cabe3a
+    491d96b8c318d558.b95b9f156203011b.ead0d83ed6cad917.44528c7e0f851764
+    8d55207d87a469fb
+  after
+    491d96b8c318d558.b95b9f156203011b.ead0d83ed6cad917.44528c7e0f851764
+    1b5aa1a19c1e8b9b.2803f19a44ea019d.8af8d2f00d3f7b42.9ac1ff21d9e623d3
+    cf0cf40abd4383a0.72c1783b8c483330.2e08edd0664fcb7e.678fd52eb4cabe3a
+    491d96b8c318d558.b95b9f156203011b.ead0d83ed6cad917.44528c7e0f851764
+    8d55207d87a469fb
+
+VMOVUPS_YMM_to_YMMorMEM(reg)
+  before
+    9ee68e98b8b2f2ab.63570295cba93eee.5b1b609463a8a709.981c0f2579bc5f38
+    d34fd1393d3ceb22.fb86b38ff0027a8e.b24fb9252ac361a7.16b70e746c301a0e
+    88dde5ceb2cc9309.eb7828904f304566.1c41a53254de6aa0.3e6e5114cb32c6c4
+    19dcc6c2b4f0250f.10f8da86033e5a9f.f33e20297c87ffa2.ed0d55f2b1ce1e87
+    006095fa3a11e083
+  after
+    d34fd1393d3ceb22.fb86b38ff0027a8e.b24fb9252ac361a7.16b70e746c301a0e
+    d34fd1393d3ceb22.fb86b38ff0027a8e.b24fb9252ac361a7.16b70e746c301a0e
+    88dde5ceb2cc9309.eb7828904f304566.1c41a53254de6aa0.3e6e5114cb32c6c4
+    19dcc6c2b4f0250f.10f8da86033e5a9f.f33e20297c87ffa2.ed0d55f2b1ce1e87
+    006095fa3a11e083
+VMOVUPS_YMM_to_YMMorMEM(mem)
+  before
+    51338d198306c6e3.e2987180de34dcde.47d1475c29397668.959126753e495c56
+    bd52ba39a7ba8cd4.3f5ce076cd23f422.6ad0e9fedc2c55eb.5c88b48238b1bc6a
+    20889648c338ef82.8c76110f1d49ab88.56c13e583823b255.a56ec5bb034a5c8a
+    57a39f30f28cac18.2430ffb768323bbc.e770c2565a2a4bd1.cd8e558e3da07862
+    2e35606782404c9d
+  after
+    57a39f30f28cac18.2430ffb768323bbc.e770c2565a2a4bd1.cd8e558e3da07862
+    bd52ba39a7ba8cd4.3f5ce076cd23f422.6ad0e9fedc2c55eb.5c88b48238b1bc6a
+    20889648c338ef82.8c76110f1d49ab88.56c13e583823b255.a56ec5bb034a5c8a
+    57a39f30f28cac18.2430ffb768323bbc.e770c2565a2a4bd1.cd8e558e3da07862
+    2e35606782404c9d
+
+VDPPD_128_1of4(reg)
+  before
+    25afe3b06db513e7.3c6d50df51c27cc2.65d7a7da4d6be169.f9a9efe45e4eda8c
+    0f48d8d69a8b0aee.acb32640fbe71ead.aab703e4657fd93c.693843ef5f9a1bb1
+    464c3d45a64f6d5c.83419b3f0d074c05.4f1c11424efb5ee1.11e83961791bcc6d
+    27060e6a2c8c77dd.9de32dc8a22cc3f6.af51cc5ea46aad03.ce864d28c9dca7ec
+    7cdffb2e6be96859
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0f48d8d69a8b0aee.acb32640fbe71ead.aab703e4657fd93c.693843ef5f9a1bb1
+    464c3d45a64f6d5c.83419b3f0d074c05.4f1c11424efb5ee1.11e83961791bcc6d
+    27060e6a2c8c77dd.9de32dc8a22cc3f6.af51cc5ea46aad03.ce864d28c9dca7ec
+    7cdffb2e6be96859
+VDPPD_128_1of4(mem)
+  before
+    f7bdc0617a4fcde1.0ec445afc9cf651e.d66457c7d7643fab.28a431a60258024f
+    1bec16ac121990af.57d0e08219a273cb.0a929528c7ba7b50.155f3a8405529970
+    c43a7bfb50536ef0.5e77d94eb693dd8f.153763d88e3b3412.d1cfe56648e2ad13
+    ce726b3a4f0a23cf.7f052e7f3f2ede17.d3203ec149f2261d.ba402db767977be3
+    2afe0ee3fffa3f8e
+  after
+    f7bdc0617a4fcde1.0ec445afc9cf651e.d66457c7d7643fab.28a431a60258024f
+    1bec16ac121990af.57d0e08219a273cb.0a929528c7ba7b50.155f3a8405529970
+    c43a7bfb50536ef0.5e77d94eb693dd8f.153763d88e3b3412.d1cfe56648e2ad13
+    ce726b3a4f0a23cf.7f052e7f3f2ede17.d3203ec149f2261d.ba402db767977be3
+    2afe0ee3fffa3f8e
+
+VDPPD_128_1of4(reg)
+  before
+    7f558456ac9934bd.145f60552c496a7a.16c6db814dfeb30e.2019a1d114eb0c9c
+    13908c7c0900971f.74ced838021c001a.7f05dac07f8f9821.d8ee08f20a33a4bc
+    44fd21c1b2b9a45d.c98b4ecfed90a1de.161029a86e6dc9fc.d66aef1247d5a7a9
+    6ce63f9144529726.ef623e060bb009f0.3731c3a5b825814a.f85bd31ce8ddd48e
+    198b2efc0858e698
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    13908c7c0900971f.74ced838021c001a.7f05dac07f8f9821.d8ee08f20a33a4bc
+    44fd21c1b2b9a45d.c98b4ecfed90a1de.161029a86e6dc9fc.d66aef1247d5a7a9
+    6ce63f9144529726.ef623e060bb009f0.3731c3a5b825814a.f85bd31ce8ddd48e
+    198b2efc0858e698
+VDPPD_128_1of4(mem)
+  before
+    15c77e9ec45198f2.e898e2595a56ab24.c21f24ca7588f37c.3eb5a423f942fdb7
+    c7db3eee38d4a6c9.155f068391521d04.1d8d7d0549251caf.87e8c88fcc5179f1
+    0d93ebd87eeece49.4d87a87d85d12971.de7ac3a5a3923fb5.6e162c53cedc30a2
+    c2bbff48b5aaca9d.ed5bc3b1d05f0a18.e0b074959edb1ab9.4e8bcbdd9a725f76
+    8592a197cc9c421a
+  after
+    15c77e9ec45198f2.e898e2595a56ab24.c21f24ca7588f37c.3eb5a423f942fdb7
+    c7db3eee38d4a6c9.155f068391521d04.1d8d7d0549251caf.87e8c88fcc5179f1
+    0d93ebd87eeece49.4d87a87d85d12971.de7ac3a5a3923fb5.6e162c53cedc30a2
+    c2bbff48b5aaca9d.ed5bc3b1d05f0a18.e0b074959edb1ab9.4e8bcbdd9a725f76
+    8592a197cc9c421a
+
+VDPPD_128_1of4(reg)
+  before
+    6e79aaef01e8143a.c11ef82bf61457f2.5229538d1189fda4.fefc0bc1560d67e8
+    658ae250d4e11382.e88a516b5f393173.d63b547ce1da3ec2.162a0515e833e36e
+    c5124626e214799c.11c986f60c24134d.d6dec3eadede091e.0306dc7d70594976
+    ec5dd1ddc70c8237.1aa814b718e2bbab.ae5e9b43a4229963.a05c0ee5088c572d
+    cbf71639cfd7c7be
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    658ae250d4e11382.e88a516b5f393173.d63b547ce1da3ec2.162a0515e833e36e
+    c5124626e214799c.11c986f60c24134d.d6dec3eadede091e.0306dc7d70594976
+    ec5dd1ddc70c8237.1aa814b718e2bbab.ae5e9b43a4229963.a05c0ee5088c572d
+    cbf71639cfd7c7be
+VDPPD_128_1of4(mem)
+  before
+    5ea47165df465556.35b77fe11e556cfd.ddf37599a07de2ba.ba07d8f3ce312b3e
+    3630995654e6bf20.fb6b4c9e837b719b.3876278abf0447a6.56257666f998fb5a
+    30650cf64bc2bf49.9cc73581930bcebc.05fca5759180a49a.de037108c0e14564
+    260f4533dfe712fd.721534f4e991be0d.22536c4633ffb6c3.aeefc646bf9a4408
+    2233708a934f35f1
+  after
+    5ea47165df465556.35b77fe11e556cfd.ddf37599a07de2ba.ba07d8f3ce312b3e
+    3630995654e6bf20.fb6b4c9e837b719b.3876278abf0447a6.56257666f998fb5a
+    30650cf64bc2bf49.9cc73581930bcebc.05fca5759180a49a.de037108c0e14564
+    260f4533dfe712fd.721534f4e991be0d.22536c4633ffb6c3.aeefc646bf9a4408
+    2233708a934f35f1
+
+VDPPD_128_2of4(reg)
+  before
+    961c6b42d88b53cc.f6fcc0f72d607367.dba2476522977f39.6945f6e9c18c394d
+    66f6b3d828dadc44.7af7f9305039a0b4.31ba6a3ed9ab4bee.b79fc14a5633e863
+    ee0c45ba22c80a06.8fcb6dc9647e5310.d1a997edaa585ed5.e92d48560e018131
+    8aac1b5360e21abe.114597ae873c49a6.18baccdd322bf69c.d9bb07f70601bee5
+    64147b1b59405ba8
+  after
+    0000000000000000.0000000000000000.60dd0ef3aabed5d4.0000000000000000
+    66f6b3d828dadc44.7af7f9305039a0b4.31ba6a3ed9ab4bee.b79fc14a5633e863
+    ee0c45ba22c80a06.8fcb6dc9647e5310.d1a997edaa585ed5.e92d48560e018131
+    8aac1b5360e21abe.114597ae873c49a6.18baccdd322bf69c.d9bb07f70601bee5
+    64147b1b59405ba8
+VDPPD_128_2of4(mem)
+  before
+    66061eac24c915a9.9620330f7eb34717.dd31f3cbd27e3da2.603b047a0daf4def
+    bc5b6e9882a8a912.6eb6895a19c8cebe.cd5bfd0c6351ec31.07763b30d670a07a
+    40e0e6ca90ead00f.6db817a0ccaceb5e.be8f315d56c0127f.67b86d6b2afb2ae8
+    cf61032e699a49ce.f173db4d34ebdaa4.8c990cabc6d76bb8.dd4d9697a4db29e5
+    c581b320e09cd71f
+  after
+    66061eac24c915a9.9620330f7eb34717.dd31f3cbd27e3da2.603b047a0daf4def
+    bc5b6e9882a8a912.6eb6895a19c8cebe.cd5bfd0c6351ec31.07763b30d670a07a
+    40e0e6ca90ead00f.6db817a0ccaceb5e.be8f315d56c0127f.67b86d6b2afb2ae8
+    cf61032e699a49ce.f173db4d34ebdaa4.8c990cabc6d76bb8.dd4d9697a4db29e5
+    c581b320e09cd71f
+
+VDPPD_128_2of4(reg)
+  before
+    7ca0bf737bcb713f.45aa3fb02ac4ce78.5533cfceec11d63b.134409e0cfa3b207
+    5cf6b6fa10f332f4.7e87183cee741c3c.f543f18d91ab1dd1.2f5da4ea8e2ea498
+    c2ce95233ca157e8.56c409bed2b7ef44.2cf13df8be44e80f.bcb15ab31e87fd98
+    0a7556589b5f1cc8.a92c8e22f19902bc.5887ad790f6976a4.960aa5299cb77833
+    9934033724ccd395
+  after
+    0000000000000000.0000000000000000.ac2013a25e014c84.0000000000000000
+    5cf6b6fa10f332f4.7e87183cee741c3c.f543f18d91ab1dd1.2f5da4ea8e2ea498
+    c2ce95233ca157e8.56c409bed2b7ef44.2cf13df8be44e80f.bcb15ab31e87fd98
+    0a7556589b5f1cc8.a92c8e22f19902bc.5887ad790f6976a4.960aa5299cb77833
+    9934033724ccd395
+VDPPD_128_2of4(mem)
+  before
+    a1fdefc9d0d2c8e9.9037f707c7bbbd3f.538c2354672412d2.d3523f7e21a50139
+    8a30e5cbbfd3135b.b060739b5f4175fa.30b045415166dbaf.fb9eee729084c67d
+    309861290add7218.c63cc680fc7b81a4.1c646fd3cb6a1882.2bb7b6c1f793011a
+    6f02e0cfcffb9f4c.2e17ed223cf81dea.f3741df8f03d8775.bee993d7f25dedbd
+    127f82201e6ec811
+  after
+    a1fdefc9d0d2c8e9.9037f707c7bbbd3f.538c2354672412d2.d3523f7e21a50139
+    8a30e5cbbfd3135b.b060739b5f4175fa.30b045415166dbaf.fb9eee729084c67d
+    309861290add7218.c63cc680fc7b81a4.1c646fd3cb6a1882.2bb7b6c1f793011a
+    6f02e0cfcffb9f4c.2e17ed223cf81dea.f3741df8f03d8775.bee993d7f25dedbd
+    127f82201e6ec811
+
+VDPPD_128_2of4(reg)
+  before
+    81c77e081753cbc3.233adda92a3a5622.443ce2edbb418477.90accb9bdceae1b4
+    680b83fb7896357e.270cd4a436a555c7.64f8a34d14e4f4f9.d1d7f6a8ac7de56c
+    24988d65ddc640ef.594441aa10495667.ea972bafe46ca719.91c3180a7c034ec9
+    0fba98b3e36c29c2.94ada1a9d330162d.3265777dc665d986.ac3aafaf6687d7f6
+    fd09368389153c20
+  after
+    0000000000000000.0000000000000000.23ac98e9fdbe388f.0000000000000000
+    680b83fb7896357e.270cd4a436a555c7.64f8a34d14e4f4f9.d1d7f6a8ac7de56c
+    24988d65ddc640ef.594441aa10495667.ea972bafe46ca719.91c3180a7c034ec9
+    0fba98b3e36c29c2.94ada1a9d330162d.3265777dc665d986.ac3aafaf6687d7f6
+    fd09368389153c20
+VDPPD_128_2of4(mem)
+  before
+    62fc2a70ffba3b73.86bda14f25162ca2.b4156f8b9b685146.97ae8124575cc8ea
+    b6de0563e4818e1a.e6eca3a74050843c.9446273e85fdc2dd.77be471132dcaef1
+    d47d45485477f242.89959a26cfa46f3c.120d45adadf9261f.2de1c4aff372c848
+    9aa3650c6da62316.cc0282386fa1274d.093645c42e6a3938.1562f46a37a9519b
+    8a8ed4ad990d8695
+  after
+    62fc2a70ffba3b73.86bda14f25162ca2.b4156f8b9b685146.97ae8124575cc8ea
+    b6de0563e4818e1a.e6eca3a74050843c.9446273e85fdc2dd.77be471132dcaef1
+    d47d45485477f242.89959a26cfa46f3c.120d45adadf9261f.2de1c4aff372c848
+    9aa3650c6da62316.cc0282386fa1274d.093645c42e6a3938.1562f46a37a9519b
+    8a8ed4ad990d8695
+
+VDPPD_128_3of4(reg)
+  before
+    eab15ee6b62ba3e3.e21de199481cdcc3.0b805848bbd0e81b.548da46f245cb753
+    901790802a8de431.8ab736dd03e5db74.a25b17c44fbff053.d1dedd9aacda5b9c
+    d70c65e88fc2842a.6c3ddec3ba0cd956.eedfbb18c8f979a1.5af46c31e2f0e241
+    1ddbda888453c17b.667b5737889d9595.495740aec20abfb1.cd9ccd20e0aa086c
+    04a37d54c5158849
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    901790802a8de431.8ab736dd03e5db74.a25b17c44fbff053.d1dedd9aacda5b9c
+    d70c65e88fc2842a.6c3ddec3ba0cd956.eedfbb18c8f979a1.5af46c31e2f0e241
+    1ddbda888453c17b.667b5737889d9595.495740aec20abfb1.cd9ccd20e0aa086c
+    04a37d54c5158849
+VDPPD_128_3of4(mem)
+  before
+    dcd3f6b7aa3c1f05.bcd2e9cda3ced4cf.523d1c258aa4c95c.1011a2f3d87f002e
+    32f9b637ae2b89cc.123b902488befcd3.0e4eaa79db2e32d8.9f57de53a7e376c4
+    e0e038beeaef82c9.7963caf7cfb07332.747b7b1f97468c35.5277ef3bcac25e20
+    c356f93a7c93c529.4f9693b4162f7699.61910d03dbf9929e.85bbd116dda9f4ee
+    946f804f7d2373da
+  after
+    dcd3f6b7aa3c1f05.bcd2e9cda3ced4cf.523d1c258aa4c95c.1011a2f3d87f002e
+    32f9b637ae2b89cc.123b902488befcd3.0e4eaa79db2e32d8.9f57de53a7e376c4
+    e0e038beeaef82c9.7963caf7cfb07332.747b7b1f97468c35.5277ef3bcac25e20
+    c356f93a7c93c529.4f9693b4162f7699.61910d03dbf9929e.85bbd116dda9f4ee
+    946f804f7d2373da
+
+VDPPD_128_3of4(reg)
+  before
+    dbe1f95445bd188f.b825739680240f17.ee20e8c5f6c741b4.b259db11c251023f
+    b55c3790d2021fb9.991a24be11ad1cc0.b44dc3980d05102e.41a26136695d9646
+    802b366fbf7ec305.4301879e4c3aa750.fb682298f7741eb4.eb371c5cec260add
+    979bf25da9bd421f.92a618224cd86ef2.20be00314fa0a8f2.8ce3867165ba1b30
+    01741d60f324866c
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    b55c3790d2021fb9.991a24be11ad1cc0.b44dc3980d05102e.41a26136695d9646
+    802b366fbf7ec305.4301879e4c3aa750.fb682298f7741eb4.eb371c5cec260add
+    979bf25da9bd421f.92a618224cd86ef2.20be00314fa0a8f2.8ce3867165ba1b30
+    01741d60f324866c
+VDPPD_128_3of4(mem)
+  before
+    24b45c14af7104bd.56f967c62b4cd6b2.63d554362d912bd3.809c59cfb216e993
+    d270bf7bb8ac544e.198e9216e2b6bb6b.905ab6c70c749a1e.754c2adeba611e43
+    e774c38027e1304c.3ba96eb969882ff6.f600b9bf058a7900.5c1b6ecb060d84b0
+    3f8ce30f1a1c55e2.1a95f71c5d4d6cfe.7195dc0c33e182a5.9154210030a75483
+    71453febd4bacd6b
+  after
+    24b45c14af7104bd.56f967c62b4cd6b2.63d554362d912bd3.809c59cfb216e993
+    d270bf7bb8ac544e.198e9216e2b6bb6b.905ab6c70c749a1e.754c2adeba611e43
+    e774c38027e1304c.3ba96eb969882ff6.f600b9bf058a7900.5c1b6ecb060d84b0
+    3f8ce30f1a1c55e2.1a95f71c5d4d6cfe.7195dc0c33e182a5.9154210030a75483
+    71453febd4bacd6b
+
+VDPPD_128_3of4(reg)
+  before
+    5638c4f68fd22912.b6839b14ad6a7f3d.119d29a95991af30.dde39898b2847138
+    9d7aad8ffc7ca524.2827677cfbd76989.7b0f00cefae03337.16b76a519f8004e6
+    a258f520b8437d4f.7142c331216dd0f1.b63579f6dbc735c0.f8dccf2215e0f5da
+    c11b98175eb4ec3c.6da12c203a3a70a2.1c5c8f8c98d2f176.5f2042f731b00141
+    274e3fbc0efde447
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    9d7aad8ffc7ca524.2827677cfbd76989.7b0f00cefae03337.16b76a519f8004e6
+    a258f520b8437d4f.7142c331216dd0f1.b63579f6dbc735c0.f8dccf2215e0f5da
+    c11b98175eb4ec3c.6da12c203a3a70a2.1c5c8f8c98d2f176.5f2042f731b00141
+    274e3fbc0efde447
+VDPPD_128_3of4(mem)
+  before
+    2c31435dc9d25917.561292df8b592f9a.f8101d36624a04c7.0bd03efece8ba306
+    4996c9c67d3b1dde.bd88dfe4dac08213.ee5b125eb6a74a8d.dddc82b71980871c
+    5c494ce34745ecc7.52c87c92e8752053.2a4d8783525ffb1f.f0ce5823143cd863
+    40164aa142fb81ff.7120645650034608.8ab4f893507ed6ab.9ef0bbaf5b4cd388
+    4590a7c58b3bb337
+  after
+    2c31435dc9d25917.561292df8b592f9a.f8101d36624a04c7.0bd03efece8ba306
+    4996c9c67d3b1dde.bd88dfe4dac08213.ee5b125eb6a74a8d.dddc82b71980871c
+    5c494ce34745ecc7.52c87c92e8752053.2a4d8783525ffb1f.f0ce5823143cd863
+    40164aa142fb81ff.7120645650034608.8ab4f893507ed6ab.9ef0bbaf5b4cd388
+    4590a7c58b3bb337
+
+VDPPD_128_4of4(reg)
+  before
+    3ff818d23f95b61b.d1c93fea8b699ab2.76da939aaff630db.e95ae279cf0e965a
+    e9750b4314e716e1.ea2da5ac3d9cf10b.bc4305cba0da1a7b.230cc021e91df65b
+    a0527a82a5bc0f34.6910fad1749f4237.a1a7b756bf3c3f92.13960e77bab7b2d8
+    bedd63fd8fa0dfc1.293cb9474d7e4b61.8051a4a5a9a7ddcc.97c449675fe688fd
+    8a62ebdef3b832f7
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e9750b4314e716e1.ea2da5ac3d9cf10b.bc4305cba0da1a7b.230cc021e91df65b
+    a0527a82a5bc0f34.6910fad1749f4237.a1a7b756bf3c3f92.13960e77bab7b2d8
+    bedd63fd8fa0dfc1.293cb9474d7e4b61.8051a4a5a9a7ddcc.97c449675fe688fd
+    8a62ebdef3b832f7
+VDPPD_128_4of4(mem)
+  before
+    c73b72c693396df2.a060c11f6d20c033.057e5ef9e446c6b6.b58fc826faa82dd6
+    2c1d590c5a73f519.a2299153dcc7ef37.dba266d354027061.9cab1f444dca6e5c
+    94d21c9d64758599.2182cd077721a779.86744bc1b9be048f.90f2a56b3e99da09
+    da273864cf48db9e.77b873a6dbbb26a4.e1c08baf3087406c.efb057076aa1ae8a
+    143130846d6f268b
+  after
+    c73b72c693396df2.a060c11f6d20c033.057e5ef9e446c6b6.b58fc826faa82dd6
+    2c1d590c5a73f519.a2299153dcc7ef37.dba266d354027061.9cab1f444dca6e5c
+    94d21c9d64758599.2182cd077721a779.86744bc1b9be048f.90f2a56b3e99da09
+    da273864cf48db9e.77b873a6dbbb26a4.e1c08baf3087406c.efb057076aa1ae8a
+    143130846d6f268b
+
+VDPPD_128_4of4(reg)
+  before
+    5ac12c4ee18f7db7.dce8274cb4fab053.01177e9ca320a665.ca51a189d468de23
+    1fac47d1658bf0bb.74e167433196c3e4.1beaea566bdc6467.1bf4093bc26e9ae1
+    bd3d7e7992f1bb42.7fdd73346228ce7f.217fb43ed17c9b57.b27640b215a432d2
+    92c1ccb3074c1af9.daaac80b62bd8e4e.6f20d6c16e8b88e1.69a1c1d8ea166021
+    1d42089b5cd0e1fa
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    1fac47d1658bf0bb.74e167433196c3e4.1beaea566bdc6467.1bf4093bc26e9ae1
+    bd3d7e7992f1bb42.7fdd73346228ce7f.217fb43ed17c9b57.b27640b215a432d2
+    92c1ccb3074c1af9.daaac80b62bd8e4e.6f20d6c16e8b88e1.69a1c1d8ea166021
+    1d42089b5cd0e1fa
+VDPPD_128_4of4(mem)
+  before
+    ab2491e688df708b.f8842de95d29488b.5f12e0b44d60bf7d.611a4e4ce09667b0
+    ed15d8a4894ecbfe.4dd29d89331382a5.ebe2391c401e1c39.53b91749c2287471
+    c0df5ac37c2aac7f.ebf718fe229604f3.5be64e2d570263ae.a1492d26b1cdeacf
+    014f912e7c7dcf3b.2f3f9bb4c83f0920.89ea9bd4ac184e07.a7168d4e49110677
+    c16c322d25810415
+  after
+    ab2491e688df708b.f8842de95d29488b.5f12e0b44d60bf7d.611a4e4ce09667b0
+    ed15d8a4894ecbfe.4dd29d89331382a5.ebe2391c401e1c39.53b91749c2287471
+    c0df5ac37c2aac7f.ebf718fe229604f3.5be64e2d570263ae.a1492d26b1cdeacf
+    014f912e7c7dcf3b.2f3f9bb4c83f0920.89ea9bd4ac184e07.a7168d4e49110677
+    c16c322d25810415
+
+VDPPD_128_4of4(reg)
+  before
+    4b96182fe1a82054.8a31fbd1a556f25e.76f52116c199ced9.52b99cfe5e6c9971
+    a0e13bc01a1395e0.3851149814becf13.1a67a692a8308fca.9221ce95870b0117
+    1e99974c6b4ca067.e77b5670e5c32387.78df26941991889e.26ecac8743004326
+    200a293f71e27d93.737b3f433370aae5.edaa9e86b147f401.e8e8b2bfaf5818ca
+    b5df5c29e61e3f2e
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    a0e13bc01a1395e0.3851149814becf13.1a67a692a8308fca.9221ce95870b0117
+    1e99974c6b4ca067.e77b5670e5c32387.78df26941991889e.26ecac8743004326
+    200a293f71e27d93.737b3f433370aae5.edaa9e86b147f401.e8e8b2bfaf5818ca
+    b5df5c29e61e3f2e
+VDPPD_128_4of4(mem)
+  before
+    699d27b1045e727f.0280ec05c75e6710.b81c4afe1ad21f5a.d31408d50cde10a1
+    e0f08e4327256ee8.1f47dc0b094e9b8b.922cf38eb7f43f12.876962edc5e31827
+    f6a30ccb687eef96.d5aaf5bbd53d55b0.dd75b6dd26e2c638.65f4a73b78e14842
+    87812035e575b0b5.7ff63383c4b8d02a.75c410d982a96ff9.c902d429c264db9c
+    10e0e3253ef90ee1
+  after
+    699d27b1045e727f.0280ec05c75e6710.b81c4afe1ad21f5a.d31408d50cde10a1
+    e0f08e4327256ee8.1f47dc0b094e9b8b.922cf38eb7f43f12.876962edc5e31827
+    f6a30ccb687eef96.d5aaf5bbd53d55b0.dd75b6dd26e2c638.65f4a73b78e14842
+    87812035e575b0b5.7ff63383c4b8d02a.75c410d982a96ff9.c902d429c264db9c
+    10e0e3253ef90ee1
+
+VPINSRW_128_1of4(reg)
+  before
+    94d8d29a892b1cbf.6f57436eba166e70.787893ce744a4aa6.36e47c6de754f880
+    b2379cf43e8743df.8af1f360026ee5f4.1e7a1007817ffdd0.fca3768572ef1bfa
+    c6483e9ffa97bdf0.b41baaf9d989d06c.cb49a69c86e32553.a3cc7a0d3e869493
+    2c59b20758e9c69c.c9a1e7235c71ed05.dd3052f81f0300dc.072a04f168262176
+    048a911d0bdb7cd0
+  after
+    0000000000000000.0000000000000000.1e7a1007817ffdd0.fca3768572ef7cd0
+    b2379cf43e8743df.8af1f360026ee5f4.1e7a1007817ffdd0.fca3768572ef1bfa
+    c6483e9ffa97bdf0.b41baaf9d989d06c.cb49a69c86e32553.a3cc7a0d3e869493
+    2c59b20758e9c69c.c9a1e7235c71ed05.dd3052f81f0300dc.072a04f168262176
+    048a911d0bdb7cd0
+VPINSRW_128_1of4(mem)
+  before
+    76b89c7d43af61cc.40b5f698f5099c8f.a54f23cca734f5eb.ae7d0e87e96bc816
+    3980a1fe2eb08e97.5ea705be6c827977.23f0dbdfd5dea749.9c7ad8b580a5baae
+    28ae1c8ae5eabd5c.e17cdbe55ae09afd.21528c480279be4c.0174abef7e3f114f
+    210d8a0f8667ab49.2780747a5aaf3bd0.7a3fb1f34b13f51f.3ab7839f82c50ba6
+    a48f5d3226c1e25f
+  after
+    76b89c7d43af61cc.40b5f698f5099c8f.a54f23cca734f5eb.ae7d0e87e96bc816
+    3980a1fe2eb08e97.5ea705be6c827977.23f0dbdfd5dea749.9c7ad8b580a5baae
+    0000000000000000.0000000000000000.23f0dbdfd5dea749.c816d8b580a5baae
+    210d8a0f8667ab49.2780747a5aaf3bd0.7a3fb1f34b13f51f.3ab7839f82c50ba6
+    a48f5d3226c1e25f
+
+VPINSRW_128_1of4(reg)
+  before
+    9948331506c1d325.ff6b65772d361487.8bffcde7087c979a.0a84c6cccbb808ef
+    762e03b3bf5119a5.9d922bb0f560b345.6945e09a01d2eb07.aced47bf9f72b5e7
+    978cc877ecfbf18b.d94f58a5faf345ac.1d9dabfde13e73c4.3e45b1b8e24fb634
+    59af7fcf294d9782.8e6e664259fa86eb.02542a7e434b6b7d.9a5a7fa4b15bc802
+    9ef62d6d27a1a77c
+  after
+    0000000000000000.0000000000000000.6945e09a01d2eb07.aced47bf9f72a77c
+    762e03b3bf5119a5.9d922bb0f560b345.6945e09a01d2eb07.aced47bf9f72b5e7
+    978cc877ecfbf18b.d94f58a5faf345ac.1d9dabfde13e73c4.3e45b1b8e24fb634
+    59af7fcf294d9782.8e6e664259fa86eb.02542a7e434b6b7d.9a5a7fa4b15bc802
+    9ef62d6d27a1a77c
+VPINSRW_128_1of4(mem)
+  before
+    25e63701612d0ecf.16e4222614d34736.97bbd3732e81322c.76b75788c3850edd
+    0af6194a7a0bbb27.2b75afe846173c54.d20219249495049c.d4103087fe789991
+    2bf250368e4867af.f4ae21815da7b388.190eb641a741b966.77acb0e78fb14845
+    62a657b0baefd194.cddd745df50fe87e.4aad26b684910db7.bdd6d31413bb56a4
+    01dc957a2623005b
+  after
+    25e63701612d0ecf.16e4222614d34736.97bbd3732e81322c.76b75788c3850edd
+    0af6194a7a0bbb27.2b75afe846173c54.d20219249495049c.d4103087fe789991
+    0000000000000000.0000000000000000.d20219249495049c.0edd3087fe789991
+    62a657b0baefd194.cddd745df50fe87e.4aad26b684910db7.bdd6d31413bb56a4
+    01dc957a2623005b
+
+VPINSRW_128_1of4(reg)
+  before
+    9e08f38662748215.8cdeaaa41a0cb301.124da5e9a9da16e1.3fa9e3704692bbba
+    f2a8e7a2663a187f.8665c5fec9acca23.1f49ae8f15947b5d.d6cf6b590a4f809c
+    57066f3ccb02fd44.2a0825aae3dad225.501e8dbdd6c9509f.e9eb395febd51889
+    2a6f86be2f576e11.5694459485a38634.01183ddd8806d453.55c8c96d062f3fac
+    f734976e7669b032
+  after
+    0000000000000000.0000000000000000.1f49ae8f15947b5d.d6cf6b590a4fb032
+    f2a8e7a2663a187f.8665c5fec9acca23.1f49ae8f15947b5d.d6cf6b590a4f809c
+    57066f3ccb02fd44.2a0825aae3dad225.501e8dbdd6c9509f.e9eb395febd51889
+    2a6f86be2f576e11.5694459485a38634.01183ddd8806d453.55c8c96d062f3fac
+    f734976e7669b032
+VPINSRW_128_1of4(mem)
+  before
+    a9f92050578f2847.c82f29962ec5a792.e4d3a1a9cb12a47c.8e83bb5dc6d64125
+    48e4dffec7ae6316.8b91532f63d9e372.b191b5d3d033e628.53ab01a82cc5d5bf
+    b0c25064dfd11ccb.d1e3fff56b1e5f5e.999cfdffb0120865.acdb0d295760c9d0
+    be5cef6ebd051194.f46f2b54e1205702.79bef61a88bcc75e.f561da4ee2325c02
+    8a8764826ac8c802
+  after
+    a9f92050578f2847.c82f29962ec5a792.e4d3a1a9cb12a47c.8e83bb5dc6d64125
+    48e4dffec7ae6316.8b91532f63d9e372.b191b5d3d033e628.53ab01a82cc5d5bf
+    0000000000000000.0000000000000000.b191b5d3d033e628.412501a82cc5d5bf
+    be5cef6ebd051194.f46f2b54e1205702.79bef61a88bcc75e.f561da4ee2325c02
+    8a8764826ac8c802
+
+VPINSRW_128_2of4(reg)
+  before
+    c69aa7328aad4a7b.4c8139097d55fc9a.5182d3b8616c0709.2bc51b0f733ddf40
+    07e6a0c8df6d1e1a.37fca81f3acd990c.4568f18d888daa1f.8c7be8ca8e9f0c37
+    a8b74ab104957f8b.5b98ba9d107aa614.2a6d833ff20f7df2.78add936f4f00a6e
+    0558a15a96afaa79.9423ea701c66ddde.5ddd843b3a7fbc2b.cb276b41c23b9412
+    61b518d6138d674e
+  after
+    0000000000000000.0000000000000000.4568f18d888daa1f.8c7b674e8e9f0c37
+    07e6a0c8df6d1e1a.37fca81f3acd990c.4568f18d888daa1f.8c7be8ca8e9f0c37
+    a8b74ab104957f8b.5b98ba9d107aa614.2a6d833ff20f7df2.78add936f4f00a6e
+    0558a15a96afaa79.9423ea701c66ddde.5ddd843b3a7fbc2b.cb276b41c23b9412
+    61b518d6138d674e
+VPINSRW_128_2of4(mem)
+  before
+    16225ee203f13f4f.7917a12d304adb91.be67b58279a0fa98.3a03f0ebfc68a279
+    c63cb94faf73d741.623e47986fef4e7e.b53195c14431bb6b.1d2dc3bdd5566c86
+    4dcda30a3320ec4f.1a1a8d05ee2c3eed.554d08189927da86.62a5fa1b60d656fe
+    87a29a00aa033aa6.fff771e2498ce889.7a868973928e1413.65b890733a739c8f
+    82b28130feb979e2
+  after
+    16225ee203f13f4f.7917a12d304adb91.be67b58279a0fa98.3a03f0ebfc68a279
+    c63cb94faf73d741.623e47986fef4e7e.b53195c14431bb6b.1d2dc3bdd5566c86
+    0000000000000000.0000000000000000.b53195c14431bb6b.a279c3bdd5566c86
+    87a29a00aa033aa6.fff771e2498ce889.7a868973928e1413.65b890733a739c8f
+    82b28130feb979e2
+
+VPINSRW_128_2of4(reg)
+  before
+    15dfc9be49352aa6.5087181b31287c71.6b21ee9a1d9c88ff.00aa94be4e70253e
+    7a8a6589b672eb85.84489b49e29b6fdd.bce4019906e759fb.c383a6e5e6dbc834
+    0d014ffde2fdf82b.ffb09f75dc69cf16.4c8ca44b9ff99828.9fde39d478daba21
+    2a8e858668618c46.9c8d9e8a399e5847.7964d51c845f8133.6f87cb77207ab731
+    114ad7bbf9c67a8f
+  after
+    0000000000000000.0000000000000000.bce4019906e759fb.c3837a8fe6dbc834
+    7a8a6589b672eb85.84489b49e29b6fdd.bce4019906e759fb.c383a6e5e6dbc834
+    0d014ffde2fdf82b.ffb09f75dc69cf16.4c8ca44b9ff99828.9fde39d478daba21
+    2a8e858668618c46.9c8d9e8a399e5847.7964d51c845f8133.6f87cb77207ab731
+    114ad7bbf9c67a8f
+VPINSRW_128_2of4(mem)
+  before
+    60f3da8a20cac167.2d7e0291e52ae47f.39a916761544c69d.9db98f7952a450c8
+    384e4ed2b09346e6.721dc388f4e43c85.b1d182248d6ad443.16d7cecca4544092
+    7426b17dc52cc538.55b7c2d8311ccf02.e0d15e80bc193e66.3e0a8f8217fc8e3d
+    f2487e797da2fc88.3298fdee395ddaa2.a1752677bf5fc232.729ecc0846277677
+    0fde83c9ce6133ea
+  after
+    60f3da8a20cac167.2d7e0291e52ae47f.39a916761544c69d.9db98f7952a450c8
+    384e4ed2b09346e6.721dc388f4e43c85.b1d182248d6ad443.16d7cecca4544092
+    0000000000000000.0000000000000000.b1d182248d6ad443.50c8cecca4544092
+    f2487e797da2fc88.3298fdee395ddaa2.a1752677bf5fc232.729ecc0846277677
+    0fde83c9ce6133ea
+
+VPINSRW_128_2of4(reg)
+  before
+    6f18af304a370242.8d8031b1f1ffa503.640b6f35a8349912.d28957f3b1471ad2
+    ef964dab57341f2c.209a46113f517dd5.495e1419192c47fe.4ed86ce1afdd0372
+    eba557a590e4c654.89623a8582a43f29.3cdbe90528d12211.f030e12ed42e3940
+    bf91cb8a92d43265.a2a488f9d703a92b.99cfe86772af64f8.965b32c43d457766
+    1a26db91052e7b10
+  after
+    0000000000000000.0000000000000000.495e1419192c47fe.4ed87b10afdd0372
+    ef964dab57341f2c.209a46113f517dd5.495e1419192c47fe.4ed86ce1afdd0372
+    eba557a590e4c654.89623a8582a43f29.3cdbe90528d12211.f030e12ed42e3940
+    bf91cb8a92d43265.a2a488f9d703a92b.99cfe86772af64f8.965b32c43d457766
+    1a26db91052e7b10
+VPINSRW_128_2of4(mem)
+  before
+    5a5d598049f6fe6b.c7a6a4c6f88fa00c.492bac595a7a7509.bb860faa9253495f
+    30cc277c24a8bfa3.6030dec55ea14cf4.58c5229225155fed.004c593b25480ff1
+    7a3ec173b25178e3.e47a76f4619772ca.ad3c678e57e12503.c26cc384c71bf05b
+    1281a35010fbe658.b0d266bd9dfc4d3a.225df53a09e98178.5f3447f212572948
+    31eee3f2a588f565
+  after
+    5a5d598049f6fe6b.c7a6a4c6f88fa00c.492bac595a7a7509.bb860faa9253495f
+    30cc277c24a8bfa3.6030dec55ea14cf4.58c5229225155fed.004c593b25480ff1
+    0000000000000000.0000000000000000.58c5229225155fed.495f593b25480ff1
+    1281a35010fbe658.b0d266bd9dfc4d3a.225df53a09e98178.5f3447f212572948
+    31eee3f2a588f565
+
+VPINSRW_128_3of4(reg)
+  before
+    96e792ee193b925d.d55f4a005ab5c52d.2082ac8dad5d1aef.94f44a835a393078
+    e86b50540cfb3add.a0a5316daa88d08f.90d743d12d441496.e0cce15463deed2e
+    85c61a8e1a542991.4d1fd4841f82c5aa.5c1d28f4ba3f79da.e0b3379843e376c7
+    c743ea0aded39d24.b999af32d3ae5ea9.dfa05561f0da8368.7173c63d1355856e
+    70d90c2ef13fd650
+  after
+    0000000000000000.0000000000000000.90d743d12d44d650.e0cce15463deed2e
+    e86b50540cfb3add.a0a5316daa88d08f.90d743d12d441496.e0cce15463deed2e
+    85c61a8e1a542991.4d1fd4841f82c5aa.5c1d28f4ba3f79da.e0b3379843e376c7
+    c743ea0aded39d24.b999af32d3ae5ea9.dfa05561f0da8368.7173c63d1355856e
+    70d90c2ef13fd650
+VPINSRW_128_3of4(mem)
+  before
+    b7b28457f9ad2799.0b30be33f503d043.c0df3e61e21957b9.77abc88669a06fec
+    23c7aaa446ac3274.aed79175fa70ff9a.3fbcfeff69cd6d06.7f8b7ccec41d7811
+    90e7fb02f446b40e.0a855f3c89a765d4.10fd6af683d95cbb.538d6da59adddb83
+    daddf25b208a6993.7c8625f43f33409d.106ffe344d46e004.4ffb97778a6dd4f0
+    ce22f7b12d589f02
+  after
+    b7b28457f9ad2799.0b30be33f503d043.c0df3e61e21957b9.77abc88669a06fec
+    23c7aaa446ac3274.aed79175fa70ff9a.3fbcfeff69cd6d06.7f8b7ccec41d7811
+    0000000000000000.0000000000000000.3fbcfeff6fec6d06.7f8b7ccec41d7811
+    daddf25b208a6993.7c8625f43f33409d.106ffe344d46e004.4ffb97778a6dd4f0
+    ce22f7b12d589f02
+
+VPINSRW_128_3of4(reg)
+  before
+    2e4e88bd222b7765.dd740b9ce6810c2e.6126de0ab8a0caa3.1bdc36a4e222b50e
+    caca460802719ac6.767ac2b261395a0b.13b185e88f7b408f.0d108f325f789605
+    fde42dff6bb641d1.7fb99388adbd0f57.ef7319fc604fdd10.c2d983cadf554015
+    25e63a0df987ab31.d5fefb09e71ae63e.51b793b0c8a8ded0.160290587fc46f69
+    e55631c85ad1de2d
+  after
+    0000000000000000.0000000000000000.13b185e88f7bde2d.0d108f325f789605
+    caca460802719ac6.767ac2b261395a0b.13b185e88f7b408f.0d108f325f789605
+    fde42dff6bb641d1.7fb99388adbd0f57.ef7319fc604fdd10.c2d983cadf554015
+    25e63a0df987ab31.d5fefb09e71ae63e.51b793b0c8a8ded0.160290587fc46f69
+    e55631c85ad1de2d
+VPINSRW_128_3of4(mem)
+  before
+    0ba2e3078c894a8e.9d1d679d476e1293.541574232a5b9deb.95caf17262137f7b
+    64b220ff32f76fb8.c0d5b21df2fab3a3.d7c97cc1938ced8b.17f82daccb1bfcbf
+    cc52669e682708d7.ec5a16f895b4ca0c.3ce88fcf3dba954a.338d45cc9e4c9045
+    1f4e30ce4926d216.7bf8909acc2a927b.5e3c273945f05053.45d5353d783378bc
+    a91cf76bf45bf0ce
+  after
+    0ba2e3078c894a8e.9d1d679d476e1293.541574232a5b9deb.95caf17262137f7b
+    64b220ff32f76fb8.c0d5b21df2fab3a3.d7c97cc1938ced8b.17f82daccb1bfcbf
+    0000000000000000.0000000000000000.d7c97cc17f7bed8b.17f82daccb1bfcbf
+    1f4e30ce4926d216.7bf8909acc2a927b.5e3c273945f05053.45d5353d783378bc
+    a91cf76bf45bf0ce
+
+VPINSRW_128_3of4(reg)
+  before
+    bbad89c2af513327.3972fb7df1ff89a1.cbfa1a6f34e7489b.1992c2ebc63ad9d3
+    d7d5e6af449f7f74.f58941967dbee9a5.36aeb2e368782819.49b6dad1dda5ecf5
+    59e10a9c50d40e61.316180050870ae4e.1a5e536205686ea0.ca74eed8a53c47e6
+    9d1bf1f66e791c9a.c8c433b6af2093c7.d157f959a74355dd.779877ea3b0ba4d2
+    2eeef2f5ba1fc0e4
+  after
+    0000000000000000.0000000000000000.36aeb2e36878c0e4.49b6dad1dda5ecf5
+    d7d5e6af449f7f74.f58941967dbee9a5.36aeb2e368782819.49b6dad1dda5ecf5
+    59e10a9c50d40e61.316180050870ae4e.1a5e536205686ea0.ca74eed8a53c47e6
+    9d1bf1f66e791c9a.c8c433b6af2093c7.d157f959a74355dd.779877ea3b0ba4d2
+    2eeef2f5ba1fc0e4
+VPINSRW_128_3of4(mem)
+  before
+    ca41dce43e835749.ffcf982a3a1ce7ca.967fd6958dda543d.b8e5a132e8961a7c
+    275eb0a2e443242c.da4bfaa25148a99d.765ee58ebfabafdc.2c54465b67ecf928
+    2011ea1dc86ce4ba.8cda13cc4f8a9fc0.462cdd8d609e5ecf.87efe33ebdd12d8e
+    932607400509531e.70c7df13cf6c04df.e1b7387f8dbf1e43.2604774989d2f459
+    65ddfbe7647a8836
+  after
+    ca41dce43e835749.ffcf982a3a1ce7ca.967fd6958dda543d.b8e5a132e8961a7c
+    275eb0a2e443242c.da4bfaa25148a99d.765ee58ebfabafdc.2c54465b67ecf928
+    0000000000000000.0000000000000000.765ee58e1a7cafdc.2c54465b67ecf928
+    932607400509531e.70c7df13cf6c04df.e1b7387f8dbf1e43.2604774989d2f459
+    65ddfbe7647a8836
+
+VPINSRW_128_4of4(reg)
+  before
+    a0c76c84ec5525d1.5a6981f7b7262d85.e25f5ae36d7d15a5.22c9744e611bab63
+    340ec78cbdf008d5.53a6d62efbd02d1b.3dee81a8c6460ebf.e72f0de8f9bdc05c
+    7bfe076b72d66eef.58a881d1ec12100b.dfc04fce75552bd9.0ab67d3770b11a59
+    d2e3288da89490cb.473dfecda7f99282.2321c0c11735a79e.69274229e3047587
+    de51d7a96dc18d12
+  after
+    0000000000000000.0000000000000000.3dee8d12c6460ebf.e72f0de8f9bdc05c
+    340ec78cbdf008d5.53a6d62efbd02d1b.3dee81a8c6460ebf.e72f0de8f9bdc05c
+    7bfe076b72d66eef.58a881d1ec12100b.dfc04fce75552bd9.0ab67d3770b11a59
+    d2e3288da89490cb.473dfecda7f99282.2321c0c11735a79e.69274229e3047587
+    de51d7a96dc18d12
+VPINSRW_128_4of4(mem)
+  before
+    47ffb8a32af51d25.9508275efab4ad14.fa2fca0c478f6eac.645cd0ed4773c0bb
+    7efc610337abe2ed.20baff4b04c4ff76.4f4b607ce9e361b4.00bf7cbea29aafdb
+    60154fb5b0ef9896.cf46abbe6350c39e.205d3c07a8fe27c7.5194bfa1c336b3ab
+    ca17fca5b0cdfa4b.fef62925b3e33538.4a30da9ba1ee7c10.b528950047d406d6
+    86c7fa49c9ffe509
+  after
+    47ffb8a32af51d25.9508275efab4ad14.fa2fca0c478f6eac.645cd0ed4773c0bb
+    7efc610337abe2ed.20baff4b04c4ff76.4f4b607ce9e361b4.00bf7cbea29aafdb
+    0000000000000000.0000000000000000.c0bb607ce9e361b4.00bf7cbea29aafdb
+    ca17fca5b0cdfa4b.fef62925b3e33538.4a30da9ba1ee7c10.b528950047d406d6
+    86c7fa49c9ffe509
+
+VPINSRW_128_4of4(reg)
+  before
+    22bdeae7e6438cf0.96cce6c05352c638.091775eb8f0990ef.aa92b623efbe1bbc
+    e3566246392d3636.a10089f0b689b58b.4cf4897b934e1170.1a4d4d8aaf7bc1f6
+    26dd5dd15f482188.c7815f23f47f866d.23db63435c3ff467.772e1abefc2f2aeb
+    48a0d7f6f3208792.e51ae6432a3ff30d.e916feae8567747f.9d0299aaf2e911c7
+    6992463bafb234b5
+  after
+    0000000000000000.0000000000000000.4cf434b5934e1170.1a4d4d8aaf7bc1f6
+    e3566246392d3636.a10089f0b689b58b.4cf4897b934e1170.1a4d4d8aaf7bc1f6
+    26dd5dd15f482188.c7815f23f47f866d.23db63435c3ff467.772e1abefc2f2aeb
+    48a0d7f6f3208792.e51ae6432a3ff30d.e916feae8567747f.9d0299aaf2e911c7
+    6992463bafb234b5
+VPINSRW_128_4of4(mem)
+  before
+    b5ad9d5b4c984de2.a3e9cc219141a4ff.d596993e73d5b995.fcf35628ab53cf65
+    5e1e1bf7e7a61879.940538bcd639b57b.74c2f4ffec4d9431.b7bc681d698e3fc4
+    40b03bfc9be952a7.774018345e91f6b3.9e6a7372b0b4400f.76be2ef95ca40049
+    37317954856cb898.a9e567f5c4d7a353.2f5a9283dc157858.9444a6291f2150a0
+    6f9ccb174f926974
+  after
+    b5ad9d5b4c984de2.a3e9cc219141a4ff.d596993e73d5b995.fcf35628ab53cf65
+    5e1e1bf7e7a61879.940538bcd639b57b.74c2f4ffec4d9431.b7bc681d698e3fc4
+    0000000000000000.0000000000000000.cf65f4ffec4d9431.b7bc681d698e3fc4
+    37317954856cb898.a9e567f5c4d7a353.2f5a9283dc157858.9444a6291f2150a0
+    6f9ccb174f926974
+
+VPINSRW_128_4of4(reg)
+  before
+    6210993187828872.1f6b51edc13b0377.8442216ca496f807.035ece1e8b7df93b
+    c8ee0de1637ee845.d42b40b16a63f271.65a143039b5a307a.f641a22fdaf77ee2
+    ff8022958011c69a.323dc18e9cef3fb1.a850c72844b08858.e4d18aa2e48fc579
+    6213d3b87ac75e1c.156c506f74eba764.a999ab463c233b4f.a9d80363c552882e
+    2123875f9a4b842a
+  after
+    0000000000000000.0000000000000000.65a1842a9b5a307a.f641a22fdaf77ee2
+    c8ee0de1637ee845.d42b40b16a63f271.65a143039b5a307a.f641a22fdaf77ee2
+    ff8022958011c69a.323dc18e9cef3fb1.a850c72844b08858.e4d18aa2e48fc579
+    6213d3b87ac75e1c.156c506f74eba764.a999ab463c233b4f.a9d80363c552882e
+    2123875f9a4b842a
+VPINSRW_128_4of4(mem)
+  before
+    287e94807f86749c.4cf31fb6ec2dec78.598669400d63e6b6.c4c9eac91e3f8708
+    9ab5a5b48f1015ae.1b6cfffb72ceac5a.da5588ed8464b7d2.552b801d8791a632
+    539336e6e6f4238c.29c971f3a936d96d.74a62a62f4fad7e5.b80d6aae12a4d577
+    2ee6c402a13e5a63.d3576f0a2df2b05e.0245ca8c7a2f021a.49b9a3e85c054f83
+    647d2637003e5103
+  after
+    287e94807f86749c.4cf31fb6ec2dec78.598669400d63e6b6.c4c9eac91e3f8708
+    9ab5a5b48f1015ae.1b6cfffb72ceac5a.da5588ed8464b7d2.552b801d8791a632
+    0000000000000000.0000000000000000.870888ed8464b7d2.552b801d8791a632
+    2ee6c402a13e5a63.d3576f0a2df2b05e.0245ca8c7a2f021a.49b9a3e85c054f83
+    647d2637003e5103
+
+VBROADCASTSS_256(reg)
+  before
+    65a3f2079bdd17a3.0978caf3dcfb755f.7663f7ac998c6cd9.62fee4553111f39e
+    a87800c5c86edd0f.bf16c3a7b13632ab.6c37054689934a89.6f9df4aa35ac689d
+    88484ddb237cdef2.2c8c2e0a3ffb4a74.132093429a90861a.05ee7778a30a1b42
+    635ed6b7499358f8.2ba684069f577ce6.c5699f0e67115c3a.ffbce8aa9739c8b9
+    3bd4c22b2c452d30
+  after
+    65a3f2079bdd17a3.0978caf3dcfb755f.7663f7ac998c6cd9.62fee4553111f39e
+    a87800c5c86edd0f.bf16c3a7b13632ab.6c37054689934a89.6f9df4aa35ac689d
+    88484ddb237cdef2.2c8c2e0a3ffb4a74.132093429a90861a.05ee7778a30a1b42
+    635ed6b7499358f8.2ba684069f577ce6.c5699f0e67115c3a.ffbce8aa9739c8b9
+    3bd4c22b2c452d30
+VBROADCASTSS_256(mem)
+  before
+    940284e97e3904d1.940896c3d63f84ce.9a304388f055822c.df6024148da20892
+    e512a7cfaa210ac8.7790896d650da120.54f5e57c4b011973.bd4f1ec2a7cdc5d1
+    0cd0a9c9cc09fa42.6743ac209289e999.34c3e8cfcf68fde6.bc8489835220d0a1
+    e30805c3fffe926b.c26efa48fa3d99e6.1864c86b9595e9b2.364962c3292764af
+    88eba3eec96dbfa6
+  after
+    940284e97e3904d1.940896c3d63f84ce.9a304388f055822c.df6024148da20892
+    8da208928da20892.8da208928da20892.8da208928da20892.8da208928da20892
+    0cd0a9c9cc09fa42.6743ac209289e999.34c3e8cfcf68fde6.bc8489835220d0a1
+    e30805c3fffe926b.c26efa48fa3d99e6.1864c86b9595e9b2.364962c3292764af
+    88eba3eec96dbfa6
+
+VBROADCASTSS_256(reg)
+  before
+    0eb64a70cd7e1b33.488537a95f0b8c6e.e35a6e5138b7edb3.daa5ff3ebb959a02
+    24f553b5d1e6b501.1515bb68093ca478.255607a7e98220ab.58520b335d72cc04
+    26f6b8297232c8bd.28820dea189e98b5.e6adbeb6a82b6f7b.6c376736963a3be1
+    700377394ced9113.5b99aa1da93c2250.80aa90eb123d16ce.f41f8f3382f9a2c7
+    cad8ff163ebabee2
+  after
+    0eb64a70cd7e1b33.488537a95f0b8c6e.e35a6e5138b7edb3.daa5ff3ebb959a02
+    24f553b5d1e6b501.1515bb68093ca478.255607a7e98220ab.58520b335d72cc04
+    26f6b8297232c8bd.28820dea189e98b5.e6adbeb6a82b6f7b.6c376736963a3be1
+    700377394ced9113.5b99aa1da93c2250.80aa90eb123d16ce.f41f8f3382f9a2c7
+    cad8ff163ebabee2
+VBROADCASTSS_256(mem)
+  before
+    cb2c34cbe6894b5e.5e698a4ffaa34cae.8c260debd723ff75.519a7ab0c2445151
+    d4e8a83e95720466.4c74f0d918e1353b.95f4b242bf5eea52.b3ca777355cd5baf
+    bfd8d95b6782a727.9670a24143328765.53d1160d7cf9a110.0484839e66627195
+    69c8420f79c4edcc.98a99df516237fd9.a387b3372a00dede.9e149b9f9292cfaf
+    dfc8b9e174e6b0a8
+  after
+    cb2c34cbe6894b5e.5e698a4ffaa34cae.8c260debd723ff75.519a7ab0c2445151
+    c2445151c2445151.c2445151c2445151.c2445151c2445151.c2445151c2445151
+    bfd8d95b6782a727.9670a24143328765.53d1160d7cf9a110.0484839e66627195
+    69c8420f79c4edcc.98a99df516237fd9.a387b3372a00dede.9e149b9f9292cfaf
+    dfc8b9e174e6b0a8
+
+VBROADCASTSS_256(reg)
+  before
+    21eadbd0a9ec512d.af846044e6459582.ae6bde602e3e5942.5fe407aee7805de6
+    c1c8fcd8cc30eeea.6bd7aee8cb105974.340160ee2712514e.64b28d5dcc84dc54
+    1cac1965793cc38a.7a8ea7e54431f6cf.86b81f0b9b28a2a6.8ebec131f7191556
+    8ce32ce34d9e0bb9.b876c9296bb428bf.ffdc1823290e89f9.b9d32014844ac516
+    c1bf24f38e23a8c0
+  after
+    21eadbd0a9ec512d.af846044e6459582.ae6bde602e3e5942.5fe407aee7805de6
+    c1c8fcd8cc30eeea.6bd7aee8cb105974.340160ee2712514e.64b28d5dcc84dc54
+    1cac1965793cc38a.7a8ea7e54431f6cf.86b81f0b9b28a2a6.8ebec131f7191556
+    8ce32ce34d9e0bb9.b876c9296bb428bf.ffdc1823290e89f9.b9d32014844ac516
+    c1bf24f38e23a8c0
+VBROADCASTSS_256(mem)
+  before
+    834c4bbb31b07981.6eb933bee4e20324.0159909f5ea6ab6f.fdb945a26a4f42f1
+    d94810568afef585.1e7a2963d992e777.3104763339133a0c.db9ba4f5fc78083a
+    a07df0b2b419d8f7.f9710a3cc83df25e.2442f9d1170592c1.f4ce30867b141881
+    b4b865b9cc0bdd04.59ecd2b74e6c6284.b6e19465158a6ebb.a69de5c382afae72
+    4c56c016aed505b8
+  after
+    834c4bbb31b07981.6eb933bee4e20324.0159909f5ea6ab6f.fdb945a26a4f42f1
+    6a4f42f16a4f42f1.6a4f42f16a4f42f1.6a4f42f16a4f42f1.6a4f42f16a4f42f1
+    a07df0b2b419d8f7.f9710a3cc83df25e.2442f9d1170592c1.f4ce30867b141881
+    b4b865b9cc0bdd04.59ecd2b74e6c6284.b6e19465158a6ebb.a69de5c382afae72
+    4c56c016aed505b8
+
+VPALIGNR_128_1of3(reg)
+  before
+    4143bced9a135b00.f1c5ed59eee2c2d7.9b357e3e06ad7195.c3abc3dc4ead8c26
+    e3b1d5b3e2f4eaf6.336f037d34a9409d.1b99093f8d8b5b3f.276d0320df7ba62d
+    8cec07d42305ee45.55842311bd6d1681.35646f257e925e2b.bef4ce1ee3ff79fd
+    9a3f4ebcf9d1a599.35ceca01a239ffb1.45e2ac5c764fb408.6409a2c37645c0c1
+    f57bfafab55a38a6
+  after
+    0000000000000000.0000000000000000.35646f257e925e2b.bef4ce1ee3ff79fd
+    e3b1d5b3e2f4eaf6.336f037d34a9409d.1b99093f8d8b5b3f.276d0320df7ba62d
+    8cec07d42305ee45.55842311bd6d1681.35646f257e925e2b.bef4ce1ee3ff79fd
+    9a3f4ebcf9d1a599.35ceca01a239ffb1.45e2ac5c764fb408.6409a2c37645c0c1
+    f57bfafab55a38a6
+VPALIGNR_128_1of3(mem)
+  before
+    4d1552aebb499dd7.67f8a7d7ffe449a0.ae1a72390219b656.a75ebc50104d9980
+    48a227cda51eab82.51610c91d1cb1704.9c3499a6f61af79f.b7269c6de9184b3f
+    c1f0f3428fe61dd0.b2c77b560c114a71.dbe8ba329c4780b6.d184471f9c3d04f2
+    96c934f994acb1f0.e877f0924b422094.470252ca10ac0bc7.51c5b9d3c5470145
+    9235eff302c37ee4
+  after
+    4d1552aebb499dd7.67f8a7d7ffe449a0.ae1a72390219b656.a75ebc50104d9980
+    48a227cda51eab82.51610c91d1cb1704.9c3499a6f61af79f.b7269c6de9184b3f
+    0000000000000000.0000000000000000.184b3fae1a723902.19b656a75ebc5010
+    96c934f994acb1f0.e877f0924b422094.470252ca10ac0bc7.51c5b9d3c5470145
+    9235eff302c37ee4
+
+VPALIGNR_128_1of3(reg)
+  before
+    f220e3ecec3cb679.a2fa65ded07c200c.4dba65b22bebd319.bb4edb5b6d5655ff
+    ccd2932b213ee6b3.c04f03dd60632950.3edfd82048979fab.1597d3d0d0501a8a
+    7c96fa1b3d554a3c.ce9388e35f6c86e9.1731444a3cd2c2f7.30aab51454a71593
+    5eba1428db0e1ec1.a79472daeaa3f403.35fba59ba62976a8.e753fd1515650347
+    185e27be3098a0d2
+  after
+    0000000000000000.0000000000000000.1731444a3cd2c2f7.30aab51454a71593
+    ccd2932b213ee6b3.c04f03dd60632950.3edfd82048979fab.1597d3d0d0501a8a
+    7c96fa1b3d554a3c.ce9388e35f6c86e9.1731444a3cd2c2f7.30aab51454a71593
+    5eba1428db0e1ec1.a79472daeaa3f403.35fba59ba62976a8.e753fd1515650347
+    185e27be3098a0d2
+VPALIGNR_128_1of3(mem)
+  before
+    9d97b0fbc04ca85f.cd88debd97f49ded.261c3caf1c152fc9.f28bf77f1f27f86b
+    54ca13b8e28bd61b.274d52480e94046d.29f8624f11cdf268.ab2b3761455884ec
+    17c2cce2b264e731.c7556e34db798fed.8af561a5e6d8fa0c.bc285fafb44955d6
+    c44d57634ae097ce.08eb2dee9b2f7918.27dcb49cb74003e0.81cd6dd50785a8d6
+    56685d3ddb98b997
+  after
+    9d97b0fbc04ca85f.cd88debd97f49ded.261c3caf1c152fc9.f28bf77f1f27f86b
+    54ca13b8e28bd61b.274d52480e94046d.29f8624f11cdf268.ab2b3761455884ec
+    0000000000000000.0000000000000000.5884ec261c3caf1c.152fc9f28bf77f1f
+    c44d57634ae097ce.08eb2dee9b2f7918.27dcb49cb74003e0.81cd6dd50785a8d6
+    56685d3ddb98b997
+
+VPALIGNR_128_1of3(reg)
+  before
+    98442954cb0fc3c6.35353128c90da11d.485d8be0e943ff9a.da7cd6229f14c910
+    a1accf867375040f.4847d41e48f6c24b.e1f5857762405d21.81a04622bb5d07ca
+    ceed4a407057b51d.d74fbe2fe6a7b684.31011620a1b2cf57.f6137d8826297a38
+    7a5396ed5e3f159d.bf186b49bc2d39f3.92cb3a45432590e8.16a3f840fc83de86
+    be1a34375a77eee1
+  after
+    0000000000000000.0000000000000000.31011620a1b2cf57.f6137d8826297a38
+    a1accf867375040f.4847d41e48f6c24b.e1f5857762405d21.81a04622bb5d07ca
+    ceed4a407057b51d.d74fbe2fe6a7b684.31011620a1b2cf57.f6137d8826297a38
+    7a5396ed5e3f159d.bf186b49bc2d39f3.92cb3a45432590e8.16a3f840fc83de86
+    be1a34375a77eee1
+VPALIGNR_128_1of3(mem)
+  before
+    c845ac575b126875.032aaff8d7bc5e3a.dd705557e99306c5.62a0ed54e326dd81
+    11efdc8d1c60056d.c4be92cf7a57cea1.0b21f94586e6da26.fbcc2bb71e41f2ce
+    76e641c6b96b84f6.195a39dde19e9e7e.26f9d4ffb1317141.bb9af1dc8f000a7a
+    d1f555ec4c419f3b.5e4ca28ea81c0d7c.0bc2617186808642.fc583a2ed3f16232
+    1b50021985a036a1
+  after
+    c845ac575b126875.032aaff8d7bc5e3a.dd705557e99306c5.62a0ed54e326dd81
+    11efdc8d1c60056d.c4be92cf7a57cea1.0b21f94586e6da26.fbcc2bb71e41f2ce
+    0000000000000000.0000000000000000.41f2cedd705557e9.9306c562a0ed54e3
+    d1f555ec4c419f3b.5e4ca28ea81c0d7c.0bc2617186808642.fc583a2ed3f16232
+    1b50021985a036a1
+
+VPALIGNR_128_2of3(reg)
+  before
+    74cf45094197c275.ffe796edf4ed1369.efdec84e6c5e5548.94491d8720dfd756
+    6421006aa4644157.dc897fb4ca7c9cac.285da889c8eeb38d.9e59822d9b5b1ea9
+    45922da94a93f0f5.44a78d2dedf9f62f.64153cab595b63f8.05c00e4f14001767
+    746eca30cdae0bfb.130d3a447670dc1f.01528220ba2ea035.a5483cdaa7d87fbb
+    5abf88b86ff113d1
+  after
+    0000000000000000.0000000000000000.822d9b5b1ea96415.3cab595b63f805c0
+    6421006aa4644157.dc897fb4ca7c9cac.285da889c8eeb38d.9e59822d9b5b1ea9
+    45922da94a93f0f5.44a78d2dedf9f62f.64153cab595b63f8.05c00e4f14001767
+    746eca30cdae0bfb.130d3a447670dc1f.01528220ba2ea035.a5483cdaa7d87fbb
+    5abf88b86ff113d1
+VPALIGNR_128_2of3(mem)
+  before
+    00ef6ed788568cd6.4d00d36dcc43cd15.258704e583ed0ba7.5a60755588f5a7ef
+    73a56b220f14a9f6.2c9642cae1de73ee.56e066fc307d3ef4.ca8a12b45e3bb4d2
+    8fadf9841f36245d.6e7a14b5a80a3932.82e6dc75982c3332.af1d53abd88d038c
+    30d296ebd5c8ba36.6df94698be535b8e.8563e23dd804a48c.646636a59376cfc7
+    44afb60e2b82552f
+  after
+    00ef6ed788568cd6.4d00d36dcc43cd15.258704e583ed0ba7.5a60755588f5a7ef
+    73a56b220f14a9f6.2c9642cae1de73ee.56e066fc307d3ef4.ca8a12b45e3bb4d2
+    0000000000000000.0000000000000000.f4ca8a12b45e3bb4.d2258704e583ed0b
+    30d296ebd5c8ba36.6df94698be535b8e.8563e23dd804a48c.646636a59376cfc7
+    44afb60e2b82552f
+
+VPALIGNR_128_2of3(reg)
+  before
+    ad44cf513b3dd171.32e2be424cd727ad.865fd3e1be4514ae.3b24f53e0b134e2f
+    f9737ddc5f347e39.71a7eb75a16e26ef.15f8b8fb456da13e.80f590664d64ec46
+    8687bd1a34f39932.c9ee9b70ef997428.760fef52ee563ee9.30a22f9fbb043bfe
+    aecb8a7856045e09.168349205365cd83.05f27652568c275b.27f64ed771fef783
+    41bf6af98a5edc00
+  after
+    0000000000000000.0000000000000000.90664d64ec46760f.ef52ee563ee930a2
+    f9737ddc5f347e39.71a7eb75a16e26ef.15f8b8fb456da13e.80f590664d64ec46
+    8687bd1a34f39932.c9ee9b70ef997428.760fef52ee563ee9.30a22f9fbb043bfe
+    aecb8a7856045e09.168349205365cd83.05f27652568c275b.27f64ed771fef783
+    41bf6af98a5edc00
+VPALIGNR_128_2of3(mem)
+  before
+    59c7fdf12231a5a2.ce8ce06060f5096a.3332716fe8ddec2d.1eeb4868189c9741
+    4ddb85ab56821094.4316bb3fee52d500.fec78f4bcb0d8f52.1c4761fed011cb47
+    f8c77d13415dd603.67b517829da5ff77.520e209e1702701d.5d52bd811b78ff19
+    3557621500cfb61a.97b5f193087cc37d.0bd29e56e8c74bbb.3c58595e955c6e61
+    15a52fffd94955ce
+  after
+    59c7fdf12231a5a2.ce8ce06060f5096a.3332716fe8ddec2d.1eeb4868189c9741
+    4ddb85ab56821094.4316bb3fee52d500.fec78f4bcb0d8f52.1c4761fed011cb47
+    0000000000000000.0000000000000000.521c4761fed011cb.473332716fe8ddec
+    3557621500cfb61a.97b5f193087cc37d.0bd29e56e8c74bbb.3c58595e955c6e61
+    15a52fffd94955ce
+
+VPALIGNR_128_2of3(reg)
+  before
+    44843dd284cbf00a.e257ae9daee36a06.306244e0cc635cbb.04e0875e5b68de57
+    24437f42306f7ac2.da92df9868a6aff3.8c070cd484e407e0.1b0456a18cf2e31e
+    132cefbb7cc031a1.f8d670f04922410c.08f145dacd8d0096.2a0a880d9670173c
+    6c8c8ba9024b4f54.1aeddd936e65db7e.006cec6042ea8389.0fbe978d95ee35dc
+    a4ec010da679fb2a
+  after
+    0000000000000000.0000000000000000.56a18cf2e31e08f1.45dacd8d00962a0a
+    24437f42306f7ac2.da92df9868a6aff3.8c070cd484e407e0.1b0456a18cf2e31e
+    132cefbb7cc031a1.f8d670f04922410c.08f145dacd8d0096.2a0a880d9670173c
+    6c8c8ba9024b4f54.1aeddd936e65db7e.006cec6042ea8389.0fbe978d95ee35dc
+    a4ec010da679fb2a
+VPALIGNR_128_2of3(mem)
+  before
+    c75f417ae41c2354.8aaf4e785e9b1087.1aa4a36bf27b3a75.d1c4fcd17f85cb67
+    52e5d4be6ce46983.cbe134942d3cb2e5.d6c73c66f16f1a1c.d545719922ec15d9
+    234834c659db8be6.8a6d39690abb6f1a.2822266f884d37a0.693b4725c4ab9d8e
+    1455df7fc81043a7.22a15a6392a284d4.ee80dc72d3214c2c.e9f17adf034d9f30
+    b1b507347b5e566b
+  after
+    c75f417ae41c2354.8aaf4e785e9b1087.1aa4a36bf27b3a75.d1c4fcd17f85cb67
+    52e5d4be6ce46983.cbe134942d3cb2e5.d6c73c66f16f1a1c.d545719922ec15d9
+    0000000000000000.0000000000000000.1cd545719922ec15.d91aa4a36bf27b3a
+    1455df7fc81043a7.22a15a6392a284d4.ee80dc72d3214c2c.e9f17adf034d9f30
+    b1b507347b5e566b
+
+VPALIGNR_128_3of3(reg)
+  before
+    1dd1e991c76affed.03d850d3d48c4ef3.f1c791ef60802cbd.02afdb5bedf816ed
+    89921c6083fed55f.ca9c03b09a5d67f5.512cdc7711dea581.41799d16f2dd510e
+    51449c0f4ca51670.466f7401358e4cda.a01c3769404a29cd.88aba08fffddb8bc
+    d1336609bdebfcca.541b20b2c22cb7cd.38e39c308a50f44d.b1115fb230020923
+    9977566c9f5bfd6e
+  after
+    0000000000000000.0000000000000000.11dea58141799d16.f2dd510ea01c3769
+    89921c6083fed55f.ca9c03b09a5d67f5.512cdc7711dea581.41799d16f2dd510e
+    51449c0f4ca51670.466f7401358e4cda.a01c3769404a29cd.88aba08fffddb8bc
+    d1336609bdebfcca.541b20b2c22cb7cd.38e39c308a50f44d.b1115fb230020923
+    9977566c9f5bfd6e
+VPALIGNR_128_3of3(mem)
+  before
+    1da902a76bf153ca.65aa74ba735dc419.ce6e82af5c4164fb.76cd09388a7a44ac
+    1772dd51aed2c562.68f7c48e0986a90b.913216e420dc1190.b72578ecdc565397
+    649f655584091063.386452f11cf3e849.7934583d290678b7.5538e8ba1e705eb9
+    e0fd159e0aa3f0f9.303e184f472fbd82.623fc4a693cd569d.ad53520ee952a0bf
+    1cc0b352db8a5755
+  after
+    1da902a76bf153ca.65aa74ba735dc419.ce6e82af5c4164fb.76cd09388a7a44ac
+    1772dd51aed2c562.68f7c48e0986a90b.913216e420dc1190.b72578ecdc565397
+    0000000000000000.0000000000000000.3216e420dc1190b7.2578ecdc565397ce
+    e0fd159e0aa3f0f9.303e184f472fbd82.623fc4a693cd569d.ad53520ee952a0bf
+    1cc0b352db8a5755
+
+VPALIGNR_128_3of3(reg)
+  before
+    fccb08f38fa4bd26.67566a1a5bab214f.acd1141427c66460.2921d70b7b3c676d
+    aac24c5da22a0edf.d577deb4932d5e92.076940ac5744188f.a8a40c59fc606654
+    82f07bfdb0aa882c.062bef58d03664ee.9f519a84743617bc.bc96df7a3344107e
+    e0a0923d54b065b8.d64018f32bd0ee8d.cfd71e0619289a93.41c1cc5c3cf42116
+    13f250ea327d5449
+  after
+    0000000000000000.0000000000000000.5744188fa8a40c59.fc6066549f519a84
+    aac24c5da22a0edf.d577deb4932d5e92.076940ac5744188f.a8a40c59fc606654
+    82f07bfdb0aa882c.062bef58d03664ee.9f519a84743617bc.bc96df7a3344107e
+    e0a0923d54b065b8.d64018f32bd0ee8d.cfd71e0619289a93.41c1cc5c3cf42116
+    13f250ea327d5449
+VPALIGNR_128_3of3(mem)
+  before
+    0ef5e60f31e96742.201f8b8b2ac6e22f.2180d56fc20aba9e.f245c6a0e3a4e0bf
+    0e950ab95647132e.9eb96452cf7a3b3e.c3b8a2b9b1ed824b.66e890bd6d3823ed
+    efa038d3bca01739.b6ba18fede58ab91.98b5fcbe138703c1.850c77c8536fa0c9
+    8ce0ec4980022d8e.c46ea3fbf4eb6fd4.7c415e6804e4f82b.adfd772f32d693fe
+    38078c5da6f83738
+  after
+    0ef5e60f31e96742.201f8b8b2ac6e22f.2180d56fc20aba9e.f245c6a0e3a4e0bf
+    0e950ab95647132e.9eb96452cf7a3b3e.c3b8a2b9b1ed824b.66e890bd6d3823ed
+    0000000000000000.0000000000000000.b8a2b9b1ed824b66.e890bd6d3823ed21
+    8ce0ec4980022d8e.c46ea3fbf4eb6fd4.7c415e6804e4f82b.adfd772f32d693fe
+    38078c5da6f83738
+
+VPALIGNR_128_3of3(reg)
+  before
+    8475b3be4a61c925.c322a308bd79135a.242102b5acbfc3b2.4b2844a5a10e1eb6
+    eb95e7beba9e856f.6f32d8fa900f82c8.321e2f98a360e2d7.e1382a5f0613318e
+    cbb124ca933aa7c2.6cdc070c14d23905.4ab32810745b0af0.1a3b8c844effedde
+    7e16664c70c16acb.96ecac2b65cef23d.c82ae889bb3b75a9.d1ffe7ff95dc0dd3
+    e44eb6bcf8b84f98
+  after
+    0000000000000000.0000000000000000.a360e2d7e1382a5f.0613318e4ab32810
+    eb95e7beba9e856f.6f32d8fa900f82c8.321e2f98a360e2d7.e1382a5f0613318e
+    cbb124ca933aa7c2.6cdc070c14d23905.4ab32810745b0af0.1a3b8c844effedde
+    7e16664c70c16acb.96ecac2b65cef23d.c82ae889bb3b75a9.d1ffe7ff95dc0dd3
+    e44eb6bcf8b84f98
+VPALIGNR_128_3of3(mem)
+  before
+    2ef575a7929f6c5a.6110a9b2eec00b36.c82e4441a00d6a9b.08d06c70158d5fad
+    8bc0a1ac809b2345.d1ebea66a8c2c6ae.e06d4a3ce19d5d4b.66f1ae2f1edb06a9
+    d67ab4b8ddba2e84.28f224d63b53d6e0.b9763a07438a867b.3ed8ac3471b4a449
+    edf12cb5c6084a43.c373536c42007977.2e15908de2dfa255.ebd361e9aaa17638
+    cb2cc9bc6630b723
+  after
+    2ef575a7929f6c5a.6110a9b2eec00b36.c82e4441a00d6a9b.08d06c70158d5fad
+    8bc0a1ac809b2345.d1ebea66a8c2c6ae.e06d4a3ce19d5d4b.66f1ae2f1edb06a9
+    0000000000000000.0000000000000000.6d4a3ce19d5d4b66.f1ae2f1edb06a9c8
+    edf12cb5c6084a43.c373536c42007977.2e15908de2dfa255.ebd361e9aaa17638
+    cb2cc9bc6630b723
+
+VMOVSD_REG_XMM(reg)
+  before
+    3930e11841eca4b5.aaef8491569033b0.ffb873965a54e920.1d16c8bcdba86d05
+    912ba369d662799b.eb423836aa5ea4f5.360e81bf1edb6287.61455f7f4af1a3b8
+    2e690d1bc11d7281.8ab4c592dd7e5a3e.c5c178532b222157.d56ed0c24ac7ff9a
+    6e361a9a9fa9ca12.6512a5900bfd11b8.081d54be1cb4633d.575c9772f7353ed6
+    c1dd30796e471c99
+  after
+    3930e11841eca4b5.aaef8491569033b0.ffb873965a54e920.1d16c8bcdba86d05
+    0000000000000000.0000000000000000.ffb873965a54e920.575c9772f7353ed6
+    2e690d1bc11d7281.8ab4c592dd7e5a3e.c5c178532b222157.d56ed0c24ac7ff9a
+    6e361a9a9fa9ca12.6512a5900bfd11b8.081d54be1cb4633d.575c9772f7353ed6
+    c1dd30796e471c99
+VMOVSD_REG_XMM(mem)
+  before
+    f0bb17c4ca0a540f.abdec7520b92bffa.5627561b51e6858f.5b6e116c8d1d61e4
+    c1c3c9402889a363.43ac0eb0a2658ae7.3bc15321cb4571ee.1affabca1cea5af9
+    0ec1c1d7a3d1c5c1.90eded1effae6a83.eeaa198d94279202.a11e1f4262a68828
+    b5807b7758ed7657.f0ed5f0abff7997a.4db0224cc897a4f6.4c156842fdde281c
+    77318234881c7682
+  after
+    f0bb17c4ca0a540f.abdec7520b92bffa.5627561b51e6858f.5b6e116c8d1d61e4
+    c1c3c9402889a363.43ac0eb0a2658ae7.3bc15321cb4571ee.1affabca1cea5af9
+    0ec1c1d7a3d1c5c1.90eded1effae6a83.eeaa198d94279202.a11e1f4262a68828
+    b5807b7758ed7657.f0ed5f0abff7997a.4db0224cc897a4f6.4c156842fdde281c
+    77318234881c7682
+
+VMOVSD_REG_XMM(reg)
+  before
+    7ebe6986a0eead05.90ce740b62e9714f.bdf860de7dce5479.329dec4884a262f8
+    bd071aa3e1e00a52.7c75267fded173d5.555aed08d6bed72c.7a3ef26ee4538a31
+    905a8ff6e67dc915.55430fbfe7b23816.125f00f365545d3e.015eb0aa03b6d5cf
+    5301c6ed4b5125f9.f802aab799977b3e.5152970bc61b245c.a4cba3e9fdd702fe
+    3d504516efc3cbea
+  after
+    7ebe6986a0eead05.90ce740b62e9714f.bdf860de7dce5479.329dec4884a262f8
+    0000000000000000.0000000000000000.bdf860de7dce5479.a4cba3e9fdd702fe
+    905a8ff6e67dc915.55430fbfe7b23816.125f00f365545d3e.015eb0aa03b6d5cf
+    5301c6ed4b5125f9.f802aab799977b3e.5152970bc61b245c.a4cba3e9fdd702fe
+    3d504516efc3cbea
+VMOVSD_REG_XMM(mem)
+  before
+    a9b8141cf485edbe.614abbf3ade85cab.3f7f7353118dfa78.6f81adbc969f6631
+    c4d08be9292a24a6.187f6875a7cfa8d6.0785e77f6b9f6ef1.c6363e72716d5f6a
+    6a642668a9bd2cd0.d3edcbddd6914527.2ce28027c2d996d4.b3be4799f2104cb3
+    77406285914ac065.eedfde98d5bb714a.8a60bc3832472c4e.9365c39db51469b7
+    c076aeeb5706f223
+  after
+    a9b8141cf485edbe.614abbf3ade85cab.3f7f7353118dfa78.6f81adbc969f6631
+    c4d08be9292a24a6.187f6875a7cfa8d6.0785e77f6b9f6ef1.c6363e72716d5f6a
+    6a642668a9bd2cd0.d3edcbddd6914527.2ce28027c2d996d4.b3be4799f2104cb3
+    77406285914ac065.eedfde98d5bb714a.8a60bc3832472c4e.9365c39db51469b7
+    c076aeeb5706f223
+
+VMOVSD_REG_XMM(reg)
+  before
+    973f04ed747123a3.c730ba2cfcde9d94.c4a3a01340d866ea.fdcd169cd8f6ee8b
+    740ac111a7e237e2.36ffaa4906847e87.b3840ab8b57461b3.61f30b41cff295b6
+    b325e2c18ce36b8c.a07baec8cd48216a.16cd19f5cd1c9d53.929f15123445e0fc
+    b0da626bc002fa4e.e16e42966a36406a.48cbca34265a5774.6c9db2fb23fd8988
+    cbb85de7b6254d87
+  after
+    973f04ed747123a3.c730ba2cfcde9d94.c4a3a01340d866ea.fdcd169cd8f6ee8b
+    0000000000000000.0000000000000000.c4a3a01340d866ea.6c9db2fb23fd8988
+    b325e2c18ce36b8c.a07baec8cd48216a.16cd19f5cd1c9d53.929f15123445e0fc
+    b0da626bc002fa4e.e16e42966a36406a.48cbca34265a5774.6c9db2fb23fd8988
+    cbb85de7b6254d87
+VMOVSD_REG_XMM(mem)
+  before
+    8bbe92c40ccae825.c7763d7adecb22d4.d5a5e39dfb5b98b3.a7ca18e35cbdcbc2
+    8879ce7d3ef7158d.54446f5a83c91dca.58ec0ccb9cc3e471.8d16ff6d0ace35ea
+    9eb68bff6bb891ec.b392f4774a8828db.460f390a6878e1cf.58fb7b3ecc1bd198
+    a9414734ac1a186d.40aac93dd0947eb3.7bd9e6487b884bf9.62c489c23f2fda77
+    09bf2465ff978d34
+  after
+    8bbe92c40ccae825.c7763d7adecb22d4.d5a5e39dfb5b98b3.a7ca18e35cbdcbc2
+    8879ce7d3ef7158d.54446f5a83c91dca.58ec0ccb9cc3e471.8d16ff6d0ace35ea
+    9eb68bff6bb891ec.b392f4774a8828db.460f390a6878e1cf.58fb7b3ecc1bd198
+    a9414734ac1a186d.40aac93dd0947eb3.7bd9e6487b884bf9.62c489c23f2fda77
+    09bf2465ff978d34
+
+VMOVSS_REG_XMM(reg)
+  before
+    a7364894a6de257a.84e67d091f28653d.57dae918b07a5cff.d3188f70f2ffde1c
+    9976f1b9d390dff7.0d71aa6be0ee3687.546c507586c5fe6b.2996b16ee8e75564
+    3ccb1c41203af754.1fae48440a794578.93adfabeef02a0a2.5b20c72e7a4e6efc
+    ea81c3992967a93f.9668d582bad44e3c.70e9e46087bb7d51.44824d9cc340e211
+    c088bfa4e0c770cf
+  after
+    a7364894a6de257a.84e67d091f28653d.57dae918b07a5cff.d3188f70f2ffde1c
+    0000000000000000.0000000000000000.57dae918b07a5cff.d3188f70c340e211
+    3ccb1c41203af754.1fae48440a794578.93adfabeef02a0a2.5b20c72e7a4e6efc
+    ea81c3992967a93f.9668d582bad44e3c.70e9e46087bb7d51.44824d9cc340e211
+    c088bfa4e0c770cf
+VMOVSS_REG_XMM(mem)
+  before
+    aafe9a32ecf2d261.00e3e42c8ba33164.4d6ccc100b0b0fff.466b09c8e97fd224
+    e0af593304cac5f4.db3f7a65e17bca6f.2286a9da192b42eb.73816561b1d7dbc6
+    3c697891435d05b3.d5df82b2c77ab10b.f082e9cb013fa42f.5275f4977c51d4e4
+    9cf6733ac6b64dcb.4b10f67edb2c21e4.922c06d1de54f0f5.3f95b2d5e678f829
+    952b9c898ad98442
+  after
+    aafe9a32ecf2d261.00e3e42c8ba33164.4d6ccc100b0b0fff.466b09c8e97fd224
+    e0af593304cac5f4.db3f7a65e17bca6f.2286a9da192b42eb.73816561b1d7dbc6
+    3c697891435d05b3.d5df82b2c77ab10b.f082e9cb013fa42f.5275f4977c51d4e4
+    9cf6733ac6b64dcb.4b10f67edb2c21e4.922c06d1de54f0f5.3f95b2d5e678f829
+    952b9c898ad98442
+
+VMOVSS_REG_XMM(reg)
+  before
+    b284ad1e04ffb4db.da23c718a8e15a67.991ed435b61e58a8.e6507ed8cd74e46a
+    f1ebe101f176c39f.d4bcee1906ebe8b4.1b551743f6db9000.c6b9cccaeaae3ab9
+    adae349ceccaee3a.648d6628fbdfb3de.2d00bb1437f0069b.10356c944f0bae0f
+    4417a35c9288715a.6861aa31a3ca7610.2b6dbc1514e7f523.9e8edb221b99fe97
+    4d9194616763e47e
+  after
+    b284ad1e04ffb4db.da23c718a8e15a67.991ed435b61e58a8.e6507ed8cd74e46a
+    0000000000000000.0000000000000000.991ed435b61e58a8.e6507ed81b99fe97
+    adae349ceccaee3a.648d6628fbdfb3de.2d00bb1437f0069b.10356c944f0bae0f
+    4417a35c9288715a.6861aa31a3ca7610.2b6dbc1514e7f523.9e8edb221b99fe97
+    4d9194616763e47e
+VMOVSS_REG_XMM(mem)
+  before
+    fa0a123c52751df0.107429ae7e3c88a9.ba0636201bb6ee77.71e617b0294e9a44
+    7fc4d49ef5dc6418.6f0fc2fc4d706ed3.384687e17fb1d73f.5bb9c75213b131ac
+    b98d53756fa37723.bb356ab49ab26085.bcee1860eac7ec93.4530c8686e9bf604
+    852f0dacd9d7103d.52311d40028d9a6b.23ca658a7803eb9f.8b97165dd59824fb
+    893cae9ce434f83b
+  after
+    fa0a123c52751df0.107429ae7e3c88a9.ba0636201bb6ee77.71e617b0294e9a44
+    7fc4d49ef5dc6418.6f0fc2fc4d706ed3.384687e17fb1d73f.5bb9c75213b131ac
+    b98d53756fa37723.bb356ab49ab26085.bcee1860eac7ec93.4530c8686e9bf604
+    852f0dacd9d7103d.52311d40028d9a6b.23ca658a7803eb9f.8b97165dd59824fb
+    893cae9ce434f83b
+
+VMOVSS_REG_XMM(reg)
+  before
+    9b6a8b9338fcae70.bd787c2f5183eb91.8e51d80e208e5730.49a6ea4946718d91
+    1d6ca9ad6c7b8247.3e321eeaf3b3c64b.cce096899040d481.0b4e238b6f1d9192
+    6b8f04561d3eaf6c.e42a6fc9da735b99.6929531def2f4d09.438d8d3a1014b1d1
+    e11f98fae6d0728b.8c2be9b822d067a4.bf790b36d9e8fe75.ce31a3444462aa78
+    8804e194281138b4
+  after
+    9b6a8b9338fcae70.bd787c2f5183eb91.8e51d80e208e5730.49a6ea4946718d91
+    0000000000000000.0000000000000000.8e51d80e208e5730.49a6ea494462aa78
+    6b8f04561d3eaf6c.e42a6fc9da735b99.6929531def2f4d09.438d8d3a1014b1d1
+    e11f98fae6d0728b.8c2be9b822d067a4.bf790b36d9e8fe75.ce31a3444462aa78
+    8804e194281138b4
+VMOVSS_REG_XMM(mem)
+  before
+    4dd3c315d72f17b0.da68620664bd064e.10030aa4e8d5a69b.2b1cbb40e9f62271
+    f96ac6b56ec70299.b4b65de43291a964.4d7c4d77488fd3a8.095e5da8bbe5f6a8
+    6894646008e6b69a.ca558501edd99577.1f642e1e5d09abf7.b68befd8ec42b6c7
+    771f1b00c297eee0.7790d6ca30200734.62852986434feab6.8cee6c3e18989d7a
+    e8d5d144d973e96c
+  after
+    4dd3c315d72f17b0.da68620664bd064e.10030aa4e8d5a69b.2b1cbb40e9f62271
+    f96ac6b56ec70299.b4b65de43291a964.4d7c4d77488fd3a8.095e5da8bbe5f6a8
+    6894646008e6b69a.ca558501edd99577.1f642e1e5d09abf7.b68befd8ec42b6c7
+    771f1b00c297eee0.7790d6ca30200734.62852986434feab6.8cee6c3e18989d7a
+    e8d5d144d973e96c
+
+VMOVLPD_128_M64_XMM_XMM(reg)
+  before
+    268a1858ce60d449.ffd56782b7e66896.19b54caa98f33a46.f2acbb9a176e4b0e
+    a25a3fe491ea9abe.df84c2d203e0deea.0b0ee40cc0dd6c5a.aba55f46f4718c2e
+    b8914156be9e7977.f2f6aaddc3900d05.a8e8995e446ad71c.693b9176f7646640
+    c47b1a19f206ab20.14f8998d1302b016.4e8f670bc127b737.083ccd153b549870
+    64728f12dd4cdceb
+  after
+    268a1858ce60d449.ffd56782b7e66896.19b54caa98f33a46.f2acbb9a176e4b0e
+    a25a3fe491ea9abe.df84c2d203e0deea.0b0ee40cc0dd6c5a.aba55f46f4718c2e
+    b8914156be9e7977.f2f6aaddc3900d05.a8e8995e446ad71c.693b9176f7646640
+    c47b1a19f206ab20.14f8998d1302b016.4e8f670bc127b737.083ccd153b549870
+    64728f12dd4cdceb
+VMOVLPD_128_M64_XMM_XMM(mem)
+  before
+    58aa5456f858f0dd.2263c799c8b16c64.21550dd00e438447.574e4b7fd39f4a57
+    c2b097cea9858d72.2e974342dc28faef.f5db8291d05e45c4.21733f26155eca2a
+    7d50d4660bde72d5.44618a81ccf98f6e.6c5472bb765fafba.0648416c23f17459
+    6556870b3b6f5932.c00e98c031af688d.628e5b3c1b537d55.631b4cbd9ae28393
+    95365c8615c03582
+  after
+    58aa5456f858f0dd.2263c799c8b16c64.21550dd00e438447.574e4b7fd39f4a57
+    c2b097cea9858d72.2e974342dc28faef.f5db8291d05e45c4.21733f26155eca2a
+    0000000000000000.0000000000000000.f5db8291d05e45c4.574e4b7fd39f4a57
+    6556870b3b6f5932.c00e98c031af688d.628e5b3c1b537d55.631b4cbd9ae28393
+    95365c8615c03582
+
+VMOVLPD_128_M64_XMM_XMM(reg)
+  before
+    f6e66e313114c4d3.558e2da75445ffb6.feea696ca9d6c1f7.b253b8ffdc456dc1
+    e3767c2c896c6c31.2bc34028726b208d.5a41faf2d0fbd559.3a7005f0d5413828
+    b93484e1ba546b49.c2c23e79b2ed77e2.2f5f45bc41a9e15f.d5b1befc20549db9
+    d26a81be5f56fbc6.f557a38630d8c1e2.db8f4838986d21b4.5ee1600ddc89569e
+    b3ce661022ec2004
+  after
+    f6e66e313114c4d3.558e2da75445ffb6.feea696ca9d6c1f7.b253b8ffdc456dc1
+    e3767c2c896c6c31.2bc34028726b208d.5a41faf2d0fbd559.3a7005f0d5413828
+    b93484e1ba546b49.c2c23e79b2ed77e2.2f5f45bc41a9e15f.d5b1befc20549db9
+    d26a81be5f56fbc6.f557a38630d8c1e2.db8f4838986d21b4.5ee1600ddc89569e
+    b3ce661022ec2004
+VMOVLPD_128_M64_XMM_XMM(mem)
+  before
+    ae424cf2108ab716.8b66702e15005955.a24ee93b0737bab9.b91fffd172d2d105
+    2d0b8e9dc26ed601.40724b9d77dec1a2.a4738e8453161e92.245964f36b642cfd
+    0bf3a8ff53a43af1.4ddb1077227b6e58.d6920c4d3182a899.7a8a750a1eb06f49
+    23c71703e0399f11.0fedba28b1639d24.1676e182bc8615fc.16fe2d822740d695
+    530188c723a39c8c
+  after
+    ae424cf2108ab716.8b66702e15005955.a24ee93b0737bab9.b91fffd172d2d105
+    2d0b8e9dc26ed601.40724b9d77dec1a2.a4738e8453161e92.245964f36b642cfd
+    0000000000000000.0000000000000000.a4738e8453161e92.b91fffd172d2d105
+    23c71703e0399f11.0fedba28b1639d24.1676e182bc8615fc.16fe2d822740d695
+    530188c723a39c8c
+
+VMOVLPD_128_M64_XMM_XMM(reg)
+  before
+    8fde8245ad62feda.525256958438c18d.e0f3451cc0228ab1.3eed890f112f21e5
+    25e31768620b382d.7562e1a15bae5b93.1d3baebfec4570ac.2cc17ee14b878780
+    705a449ddd29852f.66c1341382a52a4c.220fef7ed1578cc1.babf3ee2879d04fa
+    cd90044ebb49238c.033dccd7152ceae7.4bbc06c30ae41a9b.c5b34400e07a547f
+    2a680c25732c333a
+  after
+    8fde8245ad62feda.525256958438c18d.e0f3451cc0228ab1.3eed890f112f21e5
+    25e31768620b382d.7562e1a15bae5b93.1d3baebfec4570ac.2cc17ee14b878780
+    705a449ddd29852f.66c1341382a52a4c.220fef7ed1578cc1.babf3ee2879d04fa
+    cd90044ebb49238c.033dccd7152ceae7.4bbc06c30ae41a9b.c5b34400e07a547f
+    2a680c25732c333a
+VMOVLPD_128_M64_XMM_XMM(mem)
+  before
+    c3ac123f5bbe5c58.99d153e997f64cf1.26a024d92f4c568e.f48eeefc337956e7
+    6d49d339b53c8c04.2e692ed90ebc3c0a.acb7b805ec132c6e.79d1a394e9a17b50
+    050dcaff9cb37f6b.eaa38f8abb283182.724e0448698c25b2.36d122f6c8e9c783
+    65c2737d2d2ff0b9.27cd74673ac56506.5230848cc1c40087.86d966906adb732c
+    c7376bcd6e06bef6
+  after
+    c3ac123f5bbe5c58.99d153e997f64cf1.26a024d92f4c568e.f48eeefc337956e7
+    6d49d339b53c8c04.2e692ed90ebc3c0a.acb7b805ec132c6e.79d1a394e9a17b50
+    0000000000000000.0000000000000000.acb7b805ec132c6e.f48eeefc337956e7
+    65c2737d2d2ff0b9.27cd74673ac56506.5230848cc1c40087.86d966906adb732c
+    c7376bcd6e06bef6
+
+VMOVLPD_128_XMM_M64(reg)
+  before
+    54352d196df3e28e.6a354a9f83ba9d19.4231d8de281f1541.292bb5bf11c57718
+    8920a8e006301c9f.f031cc51ba623fb8.981cb85b21c37de0.d30912cb749e4792
+    c244d98fd248a8d6.d3847380ef3295c2.83da0e48c03cd88f.2c97179e07582c21
+    5aedbb9070c8c1de.eff8bd163e375962.60b7d812a11663f9.10a14023e501e2f0
+    5bf30a462ba4242c
+  after
+    54352d196df3e28e.6a354a9f83ba9d19.4231d8de281f1541.292bb5bf11c57718
+    8920a8e006301c9f.f031cc51ba623fb8.981cb85b21c37de0.d30912cb749e4792
+    c244d98fd248a8d6.d3847380ef3295c2.83da0e48c03cd88f.2c97179e07582c21
+    5aedbb9070c8c1de.eff8bd163e375962.60b7d812a11663f9.10a14023e501e2f0
+    5bf30a462ba4242c
+VMOVLPD_128_XMM_M64(mem)
+  before
+    ea59eff3f44eaf00.af674a50793ba465.205b2501c17c49c4.8bff112561de5acb
+    979e6d165d0a3e99.1cfd823c8b2d8d14.4277282b970d1e15.61feb5ee9c1ff8b0
+    3f90ff9c81e48f23.fcfc5fbe422ab89a.31194082daf69781.3cffc0d7ec657a55
+    bef9226f7ce95cc9.adb1de4439bf60a1.c90debf1a6446e33.794f2f4ef03d1c66
+    743afdbe42321a8e
+  after
+    ea59eff3f44eaf00.af674a50793ba465.205b2501c17c49c4.3cffc0d7ec657a55
+    979e6d165d0a3e99.1cfd823c8b2d8d14.4277282b970d1e15.61feb5ee9c1ff8b0
+    3f90ff9c81e48f23.fcfc5fbe422ab89a.31194082daf69781.3cffc0d7ec657a55
+    bef9226f7ce95cc9.adb1de4439bf60a1.c90debf1a6446e33.794f2f4ef03d1c66
+    743afdbe42321a8e
+
+VMOVLPD_128_XMM_M64(reg)
+  before
+    890c26937ed1af7a.efa6507c6b2462b8.8966fa390d77c2d5.e61ea46418036058
+    1411a63941a418d5.b06307b06aa15c1b.ee67af0959df1ae3.641ae7c74b3d291c
+    71957a1c2639914c.dcfcc2f5946d071f.3602fa20b982a377.1fcb31065c0084aa
+    fce39ca8c91c568b.4f3dfe3905931ff0.bf82d5eacaec9a3c.f3fefc0d66582e2f
+    bc80c6c8864fe3d6
+  after
+    890c26937ed1af7a.efa6507c6b2462b8.8966fa390d77c2d5.e61ea46418036058
+    1411a63941a418d5.b06307b06aa15c1b.ee67af0959df1ae3.641ae7c74b3d291c
+    71957a1c2639914c.dcfcc2f5946d071f.3602fa20b982a377.1fcb31065c0084aa
+    fce39ca8c91c568b.4f3dfe3905931ff0.bf82d5eacaec9a3c.f3fefc0d66582e2f
+    bc80c6c8864fe3d6
+VMOVLPD_128_XMM_M64(mem)
+  before
+    561a0a23d7f35ecc.11480a49c8d8a23d.e5f13567da1f60b9.e3323ed327aa3bdf
+    9c9b440b75505d3d.0c10bf6bbcf9b20f.7ae5e56b2f1e85a6.005f30476d47c20b
+    6ccef16a7d709a54.4887b87b430bc1ac.e9e589311e9b4ce5.7055a7b3384f6a6d
+    a17e8c2e0b61d13e.23f9efe3f99b0dc1.10bd9da5c6a26ea0.9060a081224f70b1
+    bdcc151fcad21082
+  after
+    561a0a23d7f35ecc.11480a49c8d8a23d.e5f13567da1f60b9.7055a7b3384f6a6d
+    9c9b440b75505d3d.0c10bf6bbcf9b20f.7ae5e56b2f1e85a6.005f30476d47c20b
+    6ccef16a7d709a54.4887b87b430bc1ac.e9e589311e9b4ce5.7055a7b3384f6a6d
+    a17e8c2e0b61d13e.23f9efe3f99b0dc1.10bd9da5c6a26ea0.9060a081224f70b1
+    bdcc151fcad21082
+
+VMOVLPD_128_XMM_M64(reg)
+  before
+    51e504f7c964858d.167891423a2fc026.f8b262117934d0fa.ca399db34140aa03
+    a9f66877be920c7e.a9897c9226e42139.23fe0c6f5f634702.f2250647ab80ba3b
+    214c3e0a42e7e100.357ac90aec8fb1a2.0028e96b48b3ad86.664d534e206e5b74
+    1634801cf4ef40bf.951af596a8392b8e.ea7df670d0b04031.017c00b2be1749d9
+    9e7f89619e863f97
+  after
+    51e504f7c964858d.167891423a2fc026.f8b262117934d0fa.ca399db34140aa03
+    a9f66877be920c7e.a9897c9226e42139.23fe0c6f5f634702.f2250647ab80ba3b
+    214c3e0a42e7e100.357ac90aec8fb1a2.0028e96b48b3ad86.664d534e206e5b74
+    1634801cf4ef40bf.951af596a8392b8e.ea7df670d0b04031.017c00b2be1749d9
+    9e7f89619e863f97
+VMOVLPD_128_XMM_M64(mem)
+  before
+    1b226a46dec7fada.e2f82c196d376469.a7347b2275f04d29.3f492dea92e63ab0
+    5231204c9ae736cd.e2e43d6d4b4a8aa7.4593d79a6fbfd19e.5ad88c452ae2d7ae
+    21782661edf1af9c.7246af842ab4ee28.4d0585eab3b2731a.96760eed353055d9
+    62c2f870f4f22075.ee697fcaa502cc96.995402ff5cd6f1c9.516eb04e4e5aeeda
+    e50e6cd512eedf60
+  after
+    1b226a46dec7fada.e2f82c196d376469.a7347b2275f04d29.96760eed353055d9
+    5231204c9ae736cd.e2e43d6d4b4a8aa7.4593d79a6fbfd19e.5ad88c452ae2d7ae
+    21782661edf1af9c.7246af842ab4ee28.4d0585eab3b2731a.96760eed353055d9
+    62c2f870f4f22075.ee697fcaa502cc96.995402ff5cd6f1c9.516eb04e4e5aeeda
+    e50e6cd512eedf60
+
+VSHUFPD_128_1of2(reg)
+  before
+    b0a040ec1c776314.f2dd1265caf54682.b298a7ac58bf5f9d.074dc8c3873605d6
+    0c7127010982b8a5.ae93f12c8b06ddef.1a202594e078e4eb.71bc55244fdf6c6e
+    57cd1d7e749a18bd.70b110b15431a0e9.824df4f0d9b79629.b46c240cd1dbe1bc
+    eb001ed1f94bbf09.1503ebe140834d9c.466b112ade0bb306.ad2bb269283922ed
+    36c379267102e92c
+  after
+    0000000000000000.0000000000000000.ad2bb269283922ed.71bc55244fdf6c6e
+    0c7127010982b8a5.ae93f12c8b06ddef.1a202594e078e4eb.71bc55244fdf6c6e
+    57cd1d7e749a18bd.70b110b15431a0e9.824df4f0d9b79629.b46c240cd1dbe1bc
+    eb001ed1f94bbf09.1503ebe140834d9c.466b112ade0bb306.ad2bb269283922ed
+    36c379267102e92c
+VSHUFPD_128_1of2(mem)
+  before
+    2c02f72fc744f2a6.265627653622eb34.7a55fea66c079d33.c2c676b08bfd752c
+    6bb2a770460afb87.621a33a6c4aad6eb.7973c5eef4ca4fdb.52a921ed7d1b1947
+    d0a005d50b61befa.fc993e00416fbdd9.ef28bda3f2d71dbf.52620d4d4ff0da04
+    35978e4a3254f82c.512044df49fedbab.b84261b3853ac40c.1d3b363c9e09f50f
+    1181982605f0a613
+  after
+    2c02f72fc744f2a6.265627653622eb34.7a55fea66c079d33.c2c676b08bfd752c
+    6bb2a770460afb87.621a33a6c4aad6eb.7973c5eef4ca4fdb.52a921ed7d1b1947
+    0000000000000000.0000000000000000.c2c676b08bfd752c.7973c5eef4ca4fdb
+    35978e4a3254f82c.512044df49fedbab.b84261b3853ac40c.1d3b363c9e09f50f
+    1181982605f0a613
+
+VSHUFPD_128_1of2(reg)
+  before
+    89803077213429bd.7765bdbcd6ef6548.bbf942af77e26e0d.b08b2d09c6ff00ee
+    e184f99c8d5eb9b9.72d40d15133ec07b.977132dc67a7b0aa.b3d09d91d4338d90
+    74d8efffe6fc93b2.02b2fd43064ec6f1.41d312d3b6dadd2f.9edd2d37c8e2261f
+    a0ca0e0ec799f355.03c90630ca2b33d5.156ddefeff063347.4b7d5ae7c01688c6
+    977e9f8dd8dd6eb2
+  after
+    0000000000000000.0000000000000000.4b7d5ae7c01688c6.b3d09d91d4338d90
+    e184f99c8d5eb9b9.72d40d15133ec07b.977132dc67a7b0aa.b3d09d91d4338d90
+    74d8efffe6fc93b2.02b2fd43064ec6f1.41d312d3b6dadd2f.9edd2d37c8e2261f
+    a0ca0e0ec799f355.03c90630ca2b33d5.156ddefeff063347.4b7d5ae7c01688c6
+    977e9f8dd8dd6eb2
+VSHUFPD_128_1of2(mem)
+  before
+    5eaa78152b42960f.c0a45333ccc2154d.51e6a5ca7cdfc254.6f8990cbdfb7ec9f
+    7ccf626bd652ba08.2fb3b8dc92023447.c8d557fc38783099.ac7426a4f27a45e3
+    ccb7d77cf41897ca.4b433b74b5e58dee.446197b2180139d1.267b9af7d2da7abe
+    2c2f5532a1a0e880.6ea0d767d0f75cf0.a158e1d83b879928.3ae7ea2f1e64c6dd
+    440712b86fa266eb
+  after
+    5eaa78152b42960f.c0a45333ccc2154d.51e6a5ca7cdfc254.6f8990cbdfb7ec9f
+    7ccf626bd652ba08.2fb3b8dc92023447.c8d557fc38783099.ac7426a4f27a45e3
+    0000000000000000.0000000000000000.6f8990cbdfb7ec9f.c8d557fc38783099
+    2c2f5532a1a0e880.6ea0d767d0f75cf0.a158e1d83b879928.3ae7ea2f1e64c6dd
+    440712b86fa266eb
+
+VSHUFPD_128_1of2(reg)
+  before
+    a0260cfe64229695.7702577bfaf76a57.f61689217fc5dcf6.bb84b25aba150bc9
+    aa8fd66d96709187.89fe59421b28d97b.3df04b0e5fdb4aaf.6eb28524b4b74de1
+    be906b71a317956c.3eedd8731e3ff117.a17c1b9a0cc3e2c4.95afd522427a189b
+    3773c77727a3dcf1.729d4ffa22496d58.7c04f431210be0e4.0e44214182692b24
+    b440e26b909040a7
+  after
+    0000000000000000.0000000000000000.0e44214182692b24.6eb28524b4b74de1
+    aa8fd66d96709187.89fe59421b28d97b.3df04b0e5fdb4aaf.6eb28524b4b74de1
+    be906b71a317956c.3eedd8731e3ff117.a17c1b9a0cc3e2c4.95afd522427a189b
+    3773c77727a3dcf1.729d4ffa22496d58.7c04f431210be0e4.0e44214182692b24
+    b440e26b909040a7
+VSHUFPD_128_1of2(mem)
+  before
+    636e958e87fc1452.7385e6e9bda0a2c1.00d83ac341510b69.2bd5d23f3a3f7fb9
+    f699b79484b8634e.cd12c534029b2589.c66b15ba97638477.0b3bb231f4e9fcf0
+    4b8ec36ba2d0e8ca.a1655fc5911f9ff5.9f225ccb418c97ad.76828f71ea979334
+    3d1a35fefd5160f0.4bccb00706b94db0.66c88ce25ad7fe39.c9f5646db9d57f32
+    61e23090fc2dfe95
+  after
+    636e958e87fc1452.7385e6e9bda0a2c1.00d83ac341510b69.2bd5d23f3a3f7fb9
+    f699b79484b8634e.cd12c534029b2589.c66b15ba97638477.0b3bb231f4e9fcf0
+    0000000000000000.0000000000000000.2bd5d23f3a3f7fb9.c66b15ba97638477
+    3d1a35fefd5160f0.4bccb00706b94db0.66c88ce25ad7fe39.c9f5646db9d57f32
+    61e23090fc2dfe95
+
+VSHUFPD_128_2of2(reg)
+  before
+    9893ec46502d490a.a7068a39b24687ec.2691b466fef46a67.f92b1febff507644
+    cb5595fb50619f3d.67213c08dcbc19eb.9001674d155c33c5.331593d34b04bbfd
+    5674281b99533ad9.5736c95798bdd119.e468c62ae57de477.ef5464845afe888d
+    953ca012c691578b.5510ac1202576ca1.7d12cc680de4b928.0bb20cec4a4b9a23
+    61fc09f634f5ade9
+  after
+    0000000000000000.0000000000000000.7d12cc680de4b928.331593d34b04bbfd
+    cb5595fb50619f3d.67213c08dcbc19eb.9001674d155c33c5.331593d34b04bbfd
+    5674281b99533ad9.5736c95798bdd119.e468c62ae57de477.ef5464845afe888d
+    953ca012c691578b.5510ac1202576ca1.7d12cc680de4b928.0bb20cec4a4b9a23
+    61fc09f634f5ade9
+VSHUFPD_128_2of2(mem)
+  before
+    cffdd68e360a7d0c.e4f9f94c73a732fe.3b7d61253496a6b0.b94b7574271ced86
+    2f83efa06c96c5b7.9ff630353d2007df.e747657d4d853a72.f35fbdb8cfb2be3a
+    5e58d018f1a44217.22813f39c08811da.333b33046730e512.8699a1a1a23165f3
+    394af6e2e140b057.c9e424c5976b8d9a.fc2547a89ea363bc.d0461b9c3b25215a
+    2bb22913371b2c1e
+  after
+    cffdd68e360a7d0c.e4f9f94c73a732fe.3b7d61253496a6b0.b94b7574271ced86
+    2f83efa06c96c5b7.9ff630353d2007df.e747657d4d853a72.f35fbdb8cfb2be3a
+    0000000000000000.0000000000000000.3b7d61253496a6b0.e747657d4d853a72
+    394af6e2e140b057.c9e424c5976b8d9a.fc2547a89ea363bc.d0461b9c3b25215a
+    2bb22913371b2c1e
+
+VSHUFPD_128_2of2(reg)
+  before
+    f529c774319ec3e9.9a23dbea5976caa4.f06cda445e56b7cc.1fd01d530eeb709e
+    88f7ef29c53a2268.5eb0fd1c74534e2a.f3655e21b2d4ca1b.760a31f3d513c7e1
+    41689fa0917c8446.62bdd8654fe2f514.2e1aaaca2e710334.de9d00730c2825b4
+    7dc7d2442eef2730.8015e6af06307e8f.fdd9bcaa6fba9ec3.345705bfd1354641
+    5202bcc34046e5b4
+  after
+    0000000000000000.0000000000000000.fdd9bcaa6fba9ec3.760a31f3d513c7e1
+    88f7ef29c53a2268.5eb0fd1c74534e2a.f3655e21b2d4ca1b.760a31f3d513c7e1
+    41689fa0917c8446.62bdd8654fe2f514.2e1aaaca2e710334.de9d00730c2825b4
+    7dc7d2442eef2730.8015e6af06307e8f.fdd9bcaa6fba9ec3.345705bfd1354641
+    5202bcc34046e5b4
+VSHUFPD_128_2of2(mem)
+  before
+    156ba16b7467c03b.966284813a1f44d1.9586a5e8b448a3c7.bcec8f2d113ad673
+    595d30a389a59000.e983b1c351991ad6.7dda8ffb753621e7.c7a11fbfae7ee9f1
+    faa6e6589c0b142f.d37755760ee8e3eb.14de23d36607b41b.794268cce51111e8
+    d4103e74c9a606f5.ae8a6d070d98dcbb.375eda5ea2c51890.301c67c04f7f8a05
+    477b17088a5492f3
+  after
+    156ba16b7467c03b.966284813a1f44d1.9586a5e8b448a3c7.bcec8f2d113ad673
+    595d30a389a59000.e983b1c351991ad6.7dda8ffb753621e7.c7a11fbfae7ee9f1
+    0000000000000000.0000000000000000.9586a5e8b448a3c7.7dda8ffb753621e7
+    d4103e74c9a606f5.ae8a6d070d98dcbb.375eda5ea2c51890.301c67c04f7f8a05
+    477b17088a5492f3
+
+VSHUFPD_128_2of2(reg)
+  before
+    1aaa740e321d635f.c469b4e52b81237e.d708f4e0eb3641f3.c0263187457f0872
+    04f77a3fe2663af5.a47bc495dea827f5.aa3ce66f434d4e3e.8c02a53a6d3e41ed
+    63ac260837b95261.5113eb72ff28ce87.8373401eb2693e49.77bdb16333107e2c
+    911672d4cca4e84d.a7fda467a90cd35f.befafc5bd4174ec0.5d25d1efb5007d5b
+    1a0482c80f1bf8a7
+  after
+    0000000000000000.0000000000000000.befafc5bd4174ec0.8c02a53a6d3e41ed
+    04f77a3fe2663af5.a47bc495dea827f5.aa3ce66f434d4e3e.8c02a53a6d3e41ed
+    63ac260837b95261.5113eb72ff28ce87.8373401eb2693e49.77bdb16333107e2c
+    911672d4cca4e84d.a7fda467a90cd35f.befafc5bd4174ec0.5d25d1efb5007d5b
+    1a0482c80f1bf8a7
+VSHUFPD_128_2of2(mem)
+  before
+    8a273edb5c6cac3c.ec815c0f3db23868.81046b60f960f3aa.b71b189043e2b94e
+    885a8315b8ff5445.cf39e02427707e5c.bdf6bc490a31ea93.cb238f2b9e56bda0
+    f269cc6140e1adef.958af8812669f6d6.369d130ef98a7348.545e5d977e009461
+    a32095aa101d7366.9bbfa191d529db81.c8c7ed9be1774bf2.af177f40826b7b3e
+    379cef924324ade3
+  after
+    8a273edb5c6cac3c.ec815c0f3db23868.81046b60f960f3aa.b71b189043e2b94e
+    885a8315b8ff5445.cf39e02427707e5c.bdf6bc490a31ea93.cb238f2b9e56bda0
+    0000000000000000.0000000000000000.81046b60f960f3aa.bdf6bc490a31ea93
+    a32095aa101d7366.9bbfa191d529db81.c8c7ed9be1774bf2.af177f40826b7b3e
+    379cef924324ade3
+
+VSHUFPD_256_1of2(reg)
+  before
+    4a37abfa5fb667fb.774a5bde43bf62d5.3e26d8c1d03d6a0a.4f3ec5dcdf052ec0
+    4335aee272ade533.4ab499e8f5d43569.d809987bb430de1c.a7ce17be0e3fd7dc
+    7ee2f5b717956336.f72acab44367aa4d.c7b5de2c1c8e7464.ab455f2b8b310472
+    578a7ae6ebfb1cb1.5c786d2e48847aae.6576a441a5e4688e.396e1a1171e86faf
+    2c14c25adc6fd4bf
+  after
+    5c786d2e48847aae.4ab499e8f5d43569.396e1a1171e86faf.a7ce17be0e3fd7dc
+    4335aee272ade533.4ab499e8f5d43569.d809987bb430de1c.a7ce17be0e3fd7dc
+    7ee2f5b717956336.f72acab44367aa4d.c7b5de2c1c8e7464.ab455f2b8b310472
+    578a7ae6ebfb1cb1.5c786d2e48847aae.6576a441a5e4688e.396e1a1171e86faf
+    2c14c25adc6fd4bf
+VSHUFPD_256_1of2(mem)
+  before
+    5f04d5f4e9d2f1cd.2a793bd9896a4d50.546afb42213864b8.0f98e824ebbdf645
+    b00bcfcab41e8006.52fa33fe8d6f32be.baccf1dde98e2296.2266a54388a55a36
+    faf32ac8585e3e96.2d5a5ec0949507a8.6c6acce9bd937174.f82ed7091b29cf0d
+    188864daf19ee6a8.16e6b98b396807b9.450f0754b8510d80.ee3a7ae13dd49275
+    60d78b398c32de1a
+  after
+    5f04d5f4e9d2f1cd.2a793bd9896a4d50.546afb42213864b8.0f98e824ebbdf645
+    b00bcfcab41e8006.52fa33fe8d6f32be.baccf1dde98e2296.2266a54388a55a36
+    5f04d5f4e9d2f1cd.b00bcfcab41e8006.546afb42213864b8.baccf1dde98e2296
+    188864daf19ee6a8.16e6b98b396807b9.450f0754b8510d80.ee3a7ae13dd49275
+    60d78b398c32de1a
+
+VSHUFPD_256_1of2(reg)
+  before
+    aa51047ca4d0f1a9.e898f7ec9ceb3669.69e83fcb19746f9e.20881f08f7d6b1e4
+    29f4e316203905ce.44ed62ea7450e804.81adebecd0467b02.dba18ef3952e1acc
+    370c23749df95635.0a551ec096dab8a6.bc80bb5af9696693.5026d2ffae640465
+    31e4c100b69d2289.149aa85b1d93647a.74afab81306a6dfa.5de3661a5f842bdb
+    dca3c62fc49a4a59
+  after
+    149aa85b1d93647a.44ed62ea7450e804.5de3661a5f842bdb.dba18ef3952e1acc
+    29f4e316203905ce.44ed62ea7450e804.81adebecd0467b02.dba18ef3952e1acc
+    370c23749df95635.0a551ec096dab8a6.bc80bb5af9696693.5026d2ffae640465
+    31e4c100b69d2289.149aa85b1d93647a.74afab81306a6dfa.5de3661a5f842bdb
+    dca3c62fc49a4a59
+VSHUFPD_256_1of2(mem)
+  before
+    aa346e2af8b31e0c.73c9b82707b0a376.40897da52689a6ad.0784b5ce12d4cce6
+    a460daf717da6320.590803562dbf16a9.68ee188cccc83b6b.cf4dd7ab3a33bf00
+    a4f487833e1cd4c0.3feba1f7c454b7ce.6995f5fb2c5bdedf.2a540c85451481f7
+    87bcf0b889832f18.81bf8b7866fdc191.204990dd614e4d36.72e650c9ce024f75
+    054fa0e271896527
+  after
+    aa346e2af8b31e0c.73c9b82707b0a376.40897da52689a6ad.0784b5ce12d4cce6
+    a460daf717da6320.590803562dbf16a9.68ee188cccc83b6b.cf4dd7ab3a33bf00
+    aa346e2af8b31e0c.a460daf717da6320.40897da52689a6ad.68ee188cccc83b6b
+    87bcf0b889832f18.81bf8b7866fdc191.204990dd614e4d36.72e650c9ce024f75
+    054fa0e271896527
+
+VSHUFPD_256_1of2(reg)
+  before
+    3ddaf63ccb36feb8.2a849183131e2d55.7acfbe44b246719d.67d7662088ad429c
+    78d55043789457d5.6718e7d1f8f68da3.886937c742ba039e.1b0cf2afbc85793c
+    108aa962132fac29.1b436c8c5519092e.06d7f16db2e5b341.18b2b0761ae1b042
+    6246fd0839943961.22d39ea245925e21.5066e8a29f53bc32.3b961c61bdcea1db
+    5e83b35dc1570933
+  after
+    22d39ea245925e21.6718e7d1f8f68da3.3b961c61bdcea1db.1b0cf2afbc85793c
+    78d55043789457d5.6718e7d1f8f68da3.886937c742ba039e.1b0cf2afbc85793c
+    108aa962132fac29.1b436c8c5519092e.06d7f16db2e5b341.18b2b0761ae1b042
+    6246fd0839943961.22d39ea245925e21.5066e8a29f53bc32.3b961c61bdcea1db
+    5e83b35dc1570933
+VSHUFPD_256_1of2(mem)
+  before
+    5e47ef544388a476.ca55499e854e3929.5892f8fee56e48a8.c26319d2a4915b1c
+    17ad4e335f6e2dcf.a503889193e9e92c.9a4df78c50b883f1.b7187e695e2acbac
+    65804be72f14616a.4d9cb64d00f28517.c2d01538a37cca25.8dd115d368ab4a8e
+    248d635ad286fc74.1f6bcf3f67f44895.ade6d0eef9c6da73.9fdcd97d5f9f126d
+    4983c6d1de9260f6
+  after
+    5e47ef544388a476.ca55499e854e3929.5892f8fee56e48a8.c26319d2a4915b1c
+    17ad4e335f6e2dcf.a503889193e9e92c.9a4df78c50b883f1.b7187e695e2acbac
+    5e47ef544388a476.17ad4e335f6e2dcf.5892f8fee56e48a8.9a4df78c50b883f1
+    248d635ad286fc74.1f6bcf3f67f44895.ade6d0eef9c6da73.9fdcd97d5f9f126d
+    4983c6d1de9260f6
+
+VSHUFPD_256_2of2(reg)
+  before
+    e614d93d81116fd4.30a0107a62d0b919.77becfd1657b7053.375da39a6ea36e05
+    d4d90d2ce5a67db4.6585d032fbff5585.b1dfb371961437fd.3cff0a281f1f4407
+    6d1f5d09a6e0c441.9f071e6eba1f8ce3.291b768a944ad93e.989a8185284416a7
+    0f32c8425f488028.baf4761aba3a1a5f.3bbe1488fea994c3.27f8859ba420a10e
+    c4e69158afbea06b
+  after
+    0f32c8425f488028.6585d032fbff5585.3bbe1488fea994c3.3cff0a281f1f4407
+    d4d90d2ce5a67db4.6585d032fbff5585.b1dfb371961437fd.3cff0a281f1f4407
+    6d1f5d09a6e0c441.9f071e6eba1f8ce3.291b768a944ad93e.989a8185284416a7
+    0f32c8425f488028.baf4761aba3a1a5f.3bbe1488fea994c3.27f8859ba420a10e
+    c4e69158afbea06b
+VSHUFPD_256_2of2(mem)
+  before
+    4d2f21a6662bd0e8.145d4742ac6cef15.92165522185eba26.431489d76dbea237
+    9da1b173e572edb1.daeed8752ad74bb3.033b3572ef972a64.9d68d1e380143f47
+    9007beaa479fb3f3.bb2f75477516d1af.e82d94f65cef2344.a508e918d038a99f
+    022cc237a8bfddda.156e1c2528b4bcb5.1fb8ed9b7a7464f3.b73ecce2fbb41aea
+    2f5776ad9d17cfd5
+  after
+    4d2f21a6662bd0e8.145d4742ac6cef15.92165522185eba26.431489d76dbea237
+    9da1b173e572edb1.daeed8752ad74bb3.033b3572ef972a64.9d68d1e380143f47
+    145d4742ac6cef15.9da1b173e572edb1.431489d76dbea237.033b3572ef972a64
+    022cc237a8bfddda.156e1c2528b4bcb5.1fb8ed9b7a7464f3.b73ecce2fbb41aea
+    2f5776ad9d17cfd5
+
+VSHUFPD_256_2of2(reg)
+  before
+    699fe3e651ea040b.cedd3b0625dd2991.42f5c979df3d4a70.83aabd4b6532a79d
+    c16210f7b4bbf439.d2e6a403d9065045.9f1176b1373eb58d.f0ce7ef43a33a96d
+    93ecf84e6115dc0b.e9137a1ae1441122.890d2137cb4239b7.41efae8015852690
+    3a889755f485f82c.ee30373758a52653.5a37c57938d5149b.54dac8dd1134d931
+    045c48f64a4a7f7d
+  after
+    3a889755f485f82c.d2e6a403d9065045.5a37c57938d5149b.f0ce7ef43a33a96d
+    c16210f7b4bbf439.d2e6a403d9065045.9f1176b1373eb58d.f0ce7ef43a33a96d
+    93ecf84e6115dc0b.e9137a1ae1441122.890d2137cb4239b7.41efae8015852690
+    3a889755f485f82c.ee30373758a52653.5a37c57938d5149b.54dac8dd1134d931
+    045c48f64a4a7f7d
+VSHUFPD_256_2of2(mem)
+  before
+    2c3faab7ddd5d49f.1484e97a0a958449.bf0859475b354c05.6fd95ee1198480e4
+    aa4f6b0ce6e194c5.7c2aea283ed4bb0d.37685b3405fe3f63.2441e8dd0bdaba3f
+    585a06e180797a18.cdc797cb2dcbda25.311db9ec730eba9a.d6b960d8a963fe58
+    142af722c7a943c7.65a7ebcf73081c3c.8bf1f059c0717ad5.df8ec03e8fac87da
+    9c0c067b5b409272
+  after
+    2c3faab7ddd5d49f.1484e97a0a958449.bf0859475b354c05.6fd95ee1198480e4
+    aa4f6b0ce6e194c5.7c2aea283ed4bb0d.37685b3405fe3f63.2441e8dd0bdaba3f
+    1484e97a0a958449.aa4f6b0ce6e194c5.6fd95ee1198480e4.37685b3405fe3f63
+    142af722c7a943c7.65a7ebcf73081c3c.8bf1f059c0717ad5.df8ec03e8fac87da
+    9c0c067b5b409272
+
+VSHUFPD_256_2of2(reg)
+  before
+    697e2efba6ac5bcb.b88dbabbd87dabfb.9f16e2a0aa16bfff.1fb17b6909323b41
+    a232322b0e7a1d92.224dcc99ce026de3.d65f78aa7182fd1a.cb28d507695db90a
+    a37210752f381573.2c37a7a6c64346a9.68d0aa5a62d71338.69247c1ffcfeaf5b
+    c88bc347a4727f19.b417c9d0db4df27a.afb3731a19a13c06.d76fec9ddf22da61
+    efd79f6d2ed4f648
+  after
+    c88bc347a4727f19.224dcc99ce026de3.afb3731a19a13c06.cb28d507695db90a
+    a232322b0e7a1d92.224dcc99ce026de3.d65f78aa7182fd1a.cb28d507695db90a
+    a37210752f381573.2c37a7a6c64346a9.68d0aa5a62d71338.69247c1ffcfeaf5b
+    c88bc347a4727f19.b417c9d0db4df27a.afb3731a19a13c06.d76fec9ddf22da61
+    efd79f6d2ed4f648
+VSHUFPD_256_2of2(mem)
+  before
+    8e26137b0321be3b.6dc9470b09b39731.94b9ad022a2a2d81.0955cf58326db630
+    9129c3b47d14f066.ee78982ffb879866.a9e8d027cee9b2eb.d002ba7e4bc6bb61
+    d2ac2b02b6b945f7.a7e4b21e157abf65.d071ac2de4933ee3.620630fafd388746
+    2e7ac852ca1c7c18.f4599244f41948da.e321bfff87368d96.19ac2e37e650588a
+    5242afa1a29868da
+  after
+    8e26137b0321be3b.6dc9470b09b39731.94b9ad022a2a2d81.0955cf58326db630
+    9129c3b47d14f066.ee78982ffb879866.a9e8d027cee9b2eb.d002ba7e4bc6bb61
+    6dc9470b09b39731.9129c3b47d14f066.0955cf58326db630.a9e8d027cee9b2eb
+    2e7ac852ca1c7c18.f4599244f41948da.e321bfff87368d96.19ac2e37e650588a
+    5242afa1a29868da
+
+VPERMILPS_128_0x00(reg)
+  before
+    6a12afa4cc9ff4e1.81611491d64a4ff5.3022330c33ef6f70.bfc28489d3dd5a30
+    bb692aac01ee384c.a72b8daaf54e7bbb.b98c91e46f896fd3.402178b7e59563dc
+    a2931d25dc136fc7.7da5ae894435bc96.eae3a938437285b1.42091576d96961c7
+    7bdc827bf99ad6fd.dd9bf419de0aceb1.1f7375724c36edb4.a148d9b0ca65131c
+    3aa93f52d4953308
+  after
+    6a12afa4cc9ff4e1.81611491d64a4ff5.3022330c33ef6f70.bfc28489d3dd5a30
+    0000000000000000.0000000000000000.d96961c7d96961c7.d96961c7d96961c7
+    a2931d25dc136fc7.7da5ae894435bc96.eae3a938437285b1.42091576d96961c7
+    7bdc827bf99ad6fd.dd9bf419de0aceb1.1f7375724c36edb4.a148d9b0ca65131c
+    3aa93f52d4953308
+VPERMILPS_128_0x00(mem)
+  before
+    e7f7c34914067eb7.a390571bf50ea99b.a4d9d948e0d96c39.b488f3ff2561e288
+    85ffe180a6c3b054.74fb976f6bfb234c.ae2bdb0165af5359.046e1e4c6b80a1da
+    f08d16e2a4d9850c.4b683fe5f8ed81bd.d75c75318a963e3e.6d70f2c3b91e6656
+    046ddc5d2d53b80a.842449e73771ff9a.fb3a23c26a9deb14.49dc6cd2acc86da7
+    f6fc87e3df09f17a
+  after
+    e7f7c34914067eb7.a390571bf50ea99b.a4d9d948e0d96c39.b488f3ff2561e288
+    0000000000000000.0000000000000000.2561e2882561e288.2561e288b488f3ff
+    f08d16e2a4d9850c.4b683fe5f8ed81bd.d75c75318a963e3e.6d70f2c3b91e6656
+    046ddc5d2d53b80a.842449e73771ff9a.fb3a23c26a9deb14.49dc6cd2acc86da7
+    f6fc87e3df09f17a
+
+VPERMILPS_128_0x00(reg)
+  before
+    cf1d3f64ee6d2f7b.9d6ab1dc5a3d067b.7b7bb3e3c512d98e.f68f61a121cd1406
+    2f8b90c076816355.9652114b4aa42b8b.8cb978443e5c4a46.a428acbbcc347641
+    7491766313d0c8b5.cdef76961693e265.132a95763cdc8f6d.e1d17ffa87deccf0
+    f87deeb960e69b46.1d0f5ea9dd16e836.6c1a04e55d1de4b0.8856564c6dd5d340
+    7783ad9c9a27475c
+  after
+    cf1d3f64ee6d2f7b.9d6ab1dc5a3d067b.7b7bb3e3c512d98e.f68f61a121cd1406
+    0000000000000000.0000000000000000.87deccf087deccf0.87deccf087deccf0
+    7491766313d0c8b5.cdef76961693e265.132a95763cdc8f6d.e1d17ffa87deccf0
+    f87deeb960e69b46.1d0f5ea9dd16e836.6c1a04e55d1de4b0.8856564c6dd5d340
+    7783ad9c9a27475c
+VPERMILPS_128_0x00(mem)
+  before
+    892301d52be0e472.1999f22ef95018b5.627c4470b83af929.f3d4c3fd3dac85bb
+    9a03cce53b0a65ab.3132812f7b987bad.7802a4d8c50ad06b.04a5cd2a7713ad39
+    86f08cb7e7b38836.9d949426814dffdb.3b6ffacb20922b28.fbda1ed9a8e099d7
+    28b4bc374ae7063d.ba0b2880a8f8e1eb.868ec237e4dfc48b.34bdb2746b9f8440
+    0b9a86695cdbac21
+  after
+    892301d52be0e472.1999f22ef95018b5.627c4470b83af929.f3d4c3fd3dac85bb
+    0000000000000000.0000000000000000.3dac85bb3dac85bb.3dac85bbf3d4c3fd
+    86f08cb7e7b38836.9d949426814dffdb.3b6ffacb20922b28.fbda1ed9a8e099d7
+    28b4bc374ae7063d.ba0b2880a8f8e1eb.868ec237e4dfc48b.34bdb2746b9f8440
+    0b9a86695cdbac21
+
+VPERMILPS_128_0x00(reg)
+  before
+    dbbf942218204b26.5e1bd95281b09eec.e2e33aaa8b275d88.372a79062efc57c0
+    0277da0d3bfa9efa.03f35df2a71c0a70.7268c50fc766ae5f.29109a2619f5a2f5
+    db0d549560f6e04a.f207c604d93707f5.c6e5c51af73f111b.370da182c1d75f54
+    c2cefc25239f4fc1.09228f75320c51a6.3ba73639b840c26a.3feb0b0643ad4b09
+    1b76529eba842141
+  after
+    dbbf942218204b26.5e1bd95281b09eec.e2e33aaa8b275d88.372a79062efc57c0
+    0000000000000000.0000000000000000.c1d75f54c1d75f54.c1d75f54c1d75f54
+    db0d549560f6e04a.f207c604d93707f5.c6e5c51af73f111b.370da182c1d75f54
+    c2cefc25239f4fc1.09228f75320c51a6.3ba73639b840c26a.3feb0b0643ad4b09
+    1b76529eba842141
+VPERMILPS_128_0x00(mem)
+  before
+    a97cf43643669f28.1206d02b2182250c.2211342fcfa7a3b0.2bfb15d7a5f5fdf5
+    c3c76cbafa617fe9.2901cb12f62a9ed6.1ba03220cb14ba3f.f32b5d605be9fd6a
+    47253717fa817db1.610be9473c23f8cc.ce9b03334360527e.ef830a4075a8ff75
+    0f60cf375fd157ac.186f263492fa6d9a.19ce255452962799.7b5118e390be3fc2
+    f3e083b647b8f8fc
+  after
+    a97cf43643669f28.1206d02b2182250c.2211342fcfa7a3b0.2bfb15d7a5f5fdf5
+    0000000000000000.0000000000000000.a5f5fdf5a5f5fdf5.a5f5fdf52bfb15d7
+    47253717fa817db1.610be9473c23f8cc.ce9b03334360527e.ef830a4075a8ff75
+    0f60cf375fd157ac.186f263492fa6d9a.19ce255452962799.7b5118e390be3fc2
+    f3e083b647b8f8fc
+
+VPERMILPS_128_0xFE(reg)
+  before
+    b37b4823362168cf.f945b207465dc705.a97b7f46913a3aeb.d605136e14c2f4be
+    176f6297fa85c9e8.dfa05b74ca318ae8.6f79eeead86f9a6c.e30b4a6fa6f17616
+    7b08cd7f2e7157f3.9e3d4669075a5b83.c8b6718a0026cac9.1aad4443242e69d0
+    3b9285466f70509c.13e7efd11be3f8ff.0e7e0394a8e906ad.58b77fd4a9868816
+    7af5760f51049115
+  after
+    b37b4823362168cf.f945b207465dc705.a97b7f46913a3aeb.d605136e14c2f4be
+    0000000000000000.0000000000000000.c8b6718ac8b6718a.c8b6718a0026cac9
+    7b08cd7f2e7157f3.9e3d4669075a5b83.c8b6718a0026cac9.1aad4443242e69d0
+    3b9285466f70509c.13e7efd11be3f8ff.0e7e0394a8e906ad.58b77fd4a9868816
+    7af5760f51049115
+VPERMILPS_128_0xFE(mem)
+  before
+    5a33a5e139b43df8.b3598757590fee8d.186cd39a1fd91b8b.9e1da17269478ac5
+    d53d89347ca24bec.3fa8cd2087d86e75.8a966daf31478051.d5df4692e1c992bc
+    c7de9cf637db751c.3bcd550c955a0bfe.463239fc6d39e57e.0d0fed5facfd593f
+    0ce45c11856a78b5.03121a87201e02d5.260cb36deebb043d.a3fb9445656f1cf9
+    f4ed37b0a8a91697
+  after
+    5a33a5e139b43df8.b3598757590fee8d.186cd39a1fd91b8b.9e1da17269478ac5
+    0000000000000000.0000000000000000.186cd39a186cd39a.186cd39a186cd39a
+    c7de9cf637db751c.3bcd550c955a0bfe.463239fc6d39e57e.0d0fed5facfd593f
+    0ce45c11856a78b5.03121a87201e02d5.260cb36deebb043d.a3fb9445656f1cf9
+    f4ed37b0a8a91697
+
+VPERMILPS_128_0xFE(reg)
+  before
+    5a32d00c123985c5.81194473835c10e3.f2c419fdc3b28fa5.07f057efd0da9abb
+    32165dc63faba32e.004ad0074cbcf9d1.662f4cdb1ba1ee1b.c5a9a26c30a16323
+    d8e4d948ca89ac7f.66437db9fd96eeac.ba9fb18bc3785ae3.3c050fd12a1d1aa2
+    a9ea40004f61de63.8fcfc675b1f7ac9f.4960437a57c210a8.48ce1a0bd9597c64
+    c5d13f0559614594
+  after
+    5a32d00c123985c5.81194473835c10e3.f2c419fdc3b28fa5.07f057efd0da9abb
+    0000000000000000.0000000000000000.ba9fb18bba9fb18b.ba9fb18bc3785ae3
+    d8e4d948ca89ac7f.66437db9fd96eeac.ba9fb18bc3785ae3.3c050fd12a1d1aa2
+    a9ea40004f61de63.8fcfc675b1f7ac9f.4960437a57c210a8.48ce1a0bd9597c64
+    c5d13f0559614594
+VPERMILPS_128_0xFE(mem)
+  before
+    8fdafbaac742305f.ff728e586bbf7387.57bc272785eaeed7.71bdff15750b4c17
+    82b5c9e83e07faf0.37cac0beb92ea897.9ad41cbb947b7280.8d03dfc7b6df4adb
+    7a2d25aadbbc5f74.ad3cd19dd63ab93e.34e5211efab7f2c5.f87ee1fbb8cb45a1
+    53108bdcb96e1b17.bd15bd605d6fe129.01b9b33ad4a82bd3.107a001f175a7a14
+    2f43389e6e1925e1
+  after
+    8fdafbaac742305f.ff728e586bbf7387.57bc272785eaeed7.71bdff15750b4c17
+    0000000000000000.0000000000000000.57bc272757bc2727.57bc272757bc2727
+    7a2d25aadbbc5f74.ad3cd19dd63ab93e.34e5211efab7f2c5.f87ee1fbb8cb45a1
+    53108bdcb96e1b17.bd15bd605d6fe129.01b9b33ad4a82bd3.107a001f175a7a14
+    2f43389e6e1925e1
+
+VPERMILPS_128_0xFE(reg)
+  before
+    b32585e4599381b4.e928776af528e904.c3a08075eb5a5d03.dd1d4dfd3e5dd8d5
+    f66ce45d7554cb38.18436640aaf68767.1b2b17471b866979.a3dc6b5153dfb6f8
+    566350755ee93f1a.bc2bd34bf5e5ae6e.21007c428a7f4037.31c489242f3c8168
+    2d57c598aedd1906.b0ad3a75f1001d43.316dadd3d3d220e8.62a02361ef80f550
+    123bb6f4aeb5cddc
+  after
+    b32585e4599381b4.e928776af528e904.c3a08075eb5a5d03.dd1d4dfd3e5dd8d5
+    0000000000000000.0000000000000000.21007c4221007c42.21007c428a7f4037
+    566350755ee93f1a.bc2bd34bf5e5ae6e.21007c428a7f4037.31c489242f3c8168
+    2d57c598aedd1906.b0ad3a75f1001d43.316dadd3d3d220e8.62a02361ef80f550
+    123bb6f4aeb5cddc
+VPERMILPS_128_0xFE(mem)
+  before
+    1d62bdc989e9c73a.d9943f3304bc94a7.d29417abbb538e12.a7bca564930a4339
+    5ee1b4cc9c289c94.b466bab0fa13eda9.fdaee7da6eebbe08.df3a616265b4e5d5
+    b38418e9017d0b16.1b19337d2c6d60ba.0dc525ed26d36951.3433db3ae55b4469
+    f717630cd7f4ceed.6bf9a50437562884.dda74dcf00174a19.04f21156b08b9aa1
+    aac5fe2462d02328
+  after
+    1d62bdc989e9c73a.d9943f3304bc94a7.d29417abbb538e12.a7bca564930a4339
+    0000000000000000.0000000000000000.d29417abd29417ab.d29417abd29417ab
+    b38418e9017d0b16.1b19337d2c6d60ba.0dc525ed26d36951.3433db3ae55b4469
+    f717630cd7f4ceed.6bf9a50437562884.dda74dcf00174a19.04f21156b08b9aa1
+    aac5fe2462d02328
+
+VPERMILPS_128_0x30(reg)
+  before
+    82f69e0f96b71dab.056513223799a245.fe510cb3b65b83b3.4b1edb6e18c41e8a
+    e7d2ee83e8cbc2d5.bb3ba31540794349.316e64f54607aaf4.31f74bb589e5a1d3
+    37a6e8ecf5994f53.f3668fd30b9f6c26.609caa3682e6dcf3.6dfd1a906f868f1e
+    cdbb8ab659ac00d0.8bb05447b617da08.e727d9e20685535b.d9fec3ebe7b4a398
+    53c5c2b20c7a9a6c
+  after
+    82f69e0f96b71dab.056513223799a245.fe510cb3b65b83b3.4b1edb6e18c41e8a
+    0000000000000000.0000000000000000.6f868f1e609caa36.6f868f1e6f868f1e
+    37a6e8ecf5994f53.f3668fd30b9f6c26.609caa3682e6dcf3.6dfd1a906f868f1e
+    cdbb8ab659ac00d0.8bb05447b617da08.e727d9e20685535b.d9fec3ebe7b4a398
+    53c5c2b20c7a9a6c
+VPERMILPS_128_0x30(mem)
+  before
+    b51d93d2fbe430c7.0460cf4dae9010f9.5de66c5c5dee491a.225bed656f6f4cd9
+    ddd3b235d0ff20d4.3ae0b41d93d2bd7a.47d355001b2f7589.6e84e22b59300318
+    a5b39cc9a5d627c0.c9863393a1fd40fe.23458a1e0ce71980.25edb4a05f55b4c5
+    eb89cc78987601b7.0f9f4a19779dd832.cf0688a24d20f22c.a4e460311d699a8c
+    47b3e14830f9f218
+  after
+    b51d93d2fbe430c7.0460cf4dae9010f9.5de66c5c5dee491a.225bed656f6f4cd9
+    0000000000000000.0000000000000000.6f6f4cd96f6f4cd9.6f6f4cd95de66c5c
+    a5b39cc9a5d627c0.c9863393a1fd40fe.23458a1e0ce71980.25edb4a05f55b4c5
+    eb89cc78987601b7.0f9f4a19779dd832.cf0688a24d20f22c.a4e460311d699a8c
+    47b3e14830f9f218
+
+VPERMILPS_128_0x30(reg)
+  before
+    6aa73353348ff816.8921be30c5ea6ae4.6678f41cae3ebfc2.25e4c978fae8bcb8
+    680c52bdc4bae731.5c46efdc473e1d74.2c5b2d09e56d3259.02a9cb8c2e4b3251
+    9f2e3bf17c03fc16.41c6d9673b7ed793.bb94f24bb5b66da4.432209cb05541223
+    6a58e85df9f87371.126bfabfbcb7546c.71713d4ebca3ab4e.c21bff1f9c0f1559
+    5c5f29760e89fa20
+  after
+    6aa73353348ff816.8921be30c5ea6ae4.6678f41cae3ebfc2.25e4c978fae8bcb8
+    0000000000000000.0000000000000000.05541223bb94f24b.0554122305541223
+    9f2e3bf17c03fc16.41c6d9673b7ed793.bb94f24bb5b66da4.432209cb05541223
+    6a58e85df9f87371.126bfabfbcb7546c.71713d4ebca3ab4e.c21bff1f9c0f1559
+    5c5f29760e89fa20
+VPERMILPS_128_0x30(mem)
+  before
+    edbc04ba78cc7ba3.25d8576cd62487ed.ac02cdcfe7f44f2b.a83c0c7e96c22a04
+    51fc0bd9f5e7550f.2cf8848ab0147636.eb57ce84d74286fe.bd435a47de9f2371
+    65ecbabea2e34490.db056923225279fa.ab367ac8a8acb20e.0dd0231530c4d542
+    03588d559ace0451.8d4b04a4c96dcfe3.c96a4b88773e928a.f230645429bf7a23
+    c9af1870651c4fbf
+  after
+    edbc04ba78cc7ba3.25d8576cd62487ed.ac02cdcfe7f44f2b.a83c0c7e96c22a04
+    0000000000000000.0000000000000000.96c22a0496c22a04.96c22a04ac02cdcf
+    65ecbabea2e34490.db056923225279fa.ab367ac8a8acb20e.0dd0231530c4d542
+    03588d559ace0451.8d4b04a4c96dcfe3.c96a4b88773e928a.f230645429bf7a23
+    c9af1870651c4fbf
+
+VPERMILPS_128_0x30(reg)
+  before
+    ee993bd57f6590c3.080c018afab3507f.a0164f7740eeb39d.1fc1bfb16005e09c
+    bd39c9f0132879da.50d49149dd9fe545.6fb14809246360d5.8a05512d7e0c5970
+    93ddbe2bbef145b1.b77cb97e609d7ed0.556aebc710571337.e6037eeaed5fb934
+    cacf17f41b4b31f4.19cff5159eb9d94c.b08b321ba157076e.0f87c0d2ca0abc11
+    e15d95d3301a1d36
+  after
+    ee993bd57f6590c3.080c018afab3507f.a0164f7740eeb39d.1fc1bfb16005e09c
+    0000000000000000.0000000000000000.ed5fb934556aebc7.ed5fb934ed5fb934
+    93ddbe2bbef145b1.b77cb97e609d7ed0.556aebc710571337.e6037eeaed5fb934
+    cacf17f41b4b31f4.19cff5159eb9d94c.b08b321ba157076e.0f87c0d2ca0abc11
+    e15d95d3301a1d36
+VPERMILPS_128_0x30(mem)
+  before
+    385178d83c9b99cd.bf5cceb6c7c2784e.529ac1fab400b0e4.db611b7372ee7927
+    f02ee5cd0997ec02.ced0e2dd5de2586c.3ea99a1abd7dc0c5.3138a13a1fa8a50e
+    e4c1599eb41cd102.53774cd57a380bf9.b9c8fa5fd53cc41a.105cc0dc4511c7ce
+    f2d74e37583605f9.aa9c090ab94fcea2.9fc360b7194a7910.d21974c580b61a14
+    d5baba616b23dc8b
+  after
+    385178d83c9b99cd.bf5cceb6c7c2784e.529ac1fab400b0e4.db611b7372ee7927
+    0000000000000000.0000000000000000.72ee792772ee7927.72ee7927529ac1fa
+    e4c1599eb41cd102.53774cd57a380bf9.b9c8fa5fd53cc41a.105cc0dc4511c7ce
+    f2d74e37583605f9.aa9c090ab94fcea2.9fc360b7194a7910.d21974c580b61a14
+    d5baba616b23dc8b
+
+VPERMILPS_128_0x21(reg)
+  before
+    738d8d1ca2e246e0.f53a428512ef4413.2f8d16e8b7b3dc13.cb66450da4b29bd3
+    0adce962c28197be.c9b7b072fd55497a.3e946edb0ff172f7.1b7c264d9380e68e
+    f4f4caa0668c09d2.4a1915eb3574d25d.32fe0d4f5e94ccfb.6ad2806202c1156e
+    8e212c402b8dd9c8.532eebddd75699e6.6917efb13f2926ca.9435ce3a0c80e69e
+    746f8cc1cdc9124b
+  after
+    738d8d1ca2e246e0.f53a428512ef4413.2f8d16e8b7b3dc13.cb66450da4b29bd3
+    0000000000000000.0000000000000000.02c1156e5e94ccfb.02c1156e6ad28062
+    f4f4caa0668c09d2.4a1915eb3574d25d.32fe0d4f5e94ccfb.6ad2806202c1156e
+    8e212c402b8dd9c8.532eebddd75699e6.6917efb13f2926ca.9435ce3a0c80e69e
+    746f8cc1cdc9124b
+VPERMILPS_128_0x21(mem)
+  before
+    e84c36e162a958a0.35af0cb0ac12434b.c2c0b033ff095a42.3e2b116b4e3bbb11
+    cb9a4987e62b72cb.43e9655a86a78308.729ddfd8c899d39c.0d866eeb2856c87c
+    f824409f765b1df5.151d33ac54d6d4aa.3e8ff4ba4e10be21.3273029b690689b6
+    4db597162d46154d.07957211b32d73de.04636bc4ae7cd8fd.0840c9e9acd83a6b
+    ed37bf408d571649
+  after
+    e84c36e162a958a0.35af0cb0ac12434b.c2c0b033ff095a42.3e2b116b4e3bbb11
+    0000000000000000.0000000000000000.4e3bbb113e2b116b.4e3bbb11ff095a42
+    f824409f765b1df5.151d33ac54d6d4aa.3e8ff4ba4e10be21.3273029b690689b6
+    4db597162d46154d.07957211b32d73de.04636bc4ae7cd8fd.0840c9e9acd83a6b
+    ed37bf408d571649
+
+VPERMILPS_128_0x21(reg)
+  before
+    3ca5e10ca9105afa.a41acad627f715fd.759e1ff53e389b50.9fe4c1e204e9dc5b
+    50d62ab99b8e422a.db1f55cd817ada31.bc8435c492818aab.eae071006b628767
+    871596b3005d0986.cc90b5e657dc2016.3693b0ea4a967a9c.c322f70afff3954f
+    3cb02167740aecba.5539650dc428a3d8.40178cd30203a7cf.0475cfeddda8c23d
+    8aa67693208eca5d
+  after
+    3ca5e10ca9105afa.a41acad627f715fd.759e1ff53e389b50.9fe4c1e204e9dc5b
+    0000000000000000.0000000000000000.fff3954f4a967a9c.fff3954fc322f70a
+    871596b3005d0986.cc90b5e657dc2016.3693b0ea4a967a9c.c322f70afff3954f
+    3cb02167740aecba.5539650dc428a3d8.40178cd30203a7cf.0475cfeddda8c23d
+    8aa67693208eca5d
+VPERMILPS_128_0x21(mem)
+  before
+    328166eae5b068dc.caf1c83f911f2771.50e6e12ee56b1ea2.365bc5eb57534fef
+    d6d21ddc471b59e6.8f2686a8f62bf658.9b62a535d5af4ea1.74ac589fe512aca8
+    5465175763d958a6.e599570f3cb7941b.107a2e0eb003ef00.5657405947ccfba7
+    8605ce4654f82349.2a9737de01513e65.8cfaf7a59370bcec.38a67987190e7898
+    76e6ff93f8635e26
+  after
+    328166eae5b068dc.caf1c83f911f2771.50e6e12ee56b1ea2.365bc5eb57534fef
+    0000000000000000.0000000000000000.57534fef365bc5eb.57534fefe56b1ea2
+    5465175763d958a6.e599570f3cb7941b.107a2e0eb003ef00.5657405947ccfba7
+    8605ce4654f82349.2a9737de01513e65.8cfaf7a59370bcec.38a67987190e7898
+    76e6ff93f8635e26
+
+VPERMILPS_128_0x21(reg)
+  before
+    6c62cfeb8057eafe.4980c095378474fa.b86c2283e18530e2.ecae7ce699047391
+    7668e4fa4b7758cc.79a0672f278807e6.ec63156977dda540.0a6239bedfcacd1a
+    ef42392cf84ee43b.f332410340109a39.23ca0bfc60e7da29.c3e2aa1781cf89b4
+    353ecded2069c9f8.9102cafa9f29e71e.b7eb00a8372f0b49.f3f94cdf991e618b
+    77759a0146c312ca
+  after
+    6c62cfeb8057eafe.4980c095378474fa.b86c2283e18530e2.ecae7ce699047391
+    0000000000000000.0000000000000000.81cf89b460e7da29.81cf89b4c3e2aa17
+    ef42392cf84ee43b.f332410340109a39.23ca0bfc60e7da29.c3e2aa1781cf89b4
+    353ecded2069c9f8.9102cafa9f29e71e.b7eb00a8372f0b49.f3f94cdf991e618b
+    77759a0146c312ca
+VPERMILPS_128_0x21(mem)
+  before
+    29201068a1ca589d.a3a699a9625344ae.30dc7c0160ddabc2.0513f0d9983f744d
+    e6c72a02c940ef31.95c79bcc5798900a.ac8bd5049e3ba250.6a8ed7fb20a550e1
+    8a3665bad73092b2.66eccec39ec4ebb8.e1dd50f0754c87f5.40a8b27a6beddcb0
+    f1393b7ce9a7fe4c.74632ef8d0648f63.ab9c69af021e17dd.e4ad7cc314a15467
+    b2e83140b74ff3b1
+  after
+    29201068a1ca589d.a3a699a9625344ae.30dc7c0160ddabc2.0513f0d9983f744d
+    0000000000000000.0000000000000000.983f744d0513f0d9.983f744d60ddabc2
+    8a3665bad73092b2.66eccec39ec4ebb8.e1dd50f0754c87f5.40a8b27a6beddcb0
+    f1393b7ce9a7fe4c.74632ef8d0648f63.ab9c69af021e17dd.e4ad7cc314a15467
+    b2e83140b74ff3b1
+
+VPERMILPS_128_0xD7(reg)
+  before
+    06a7ce5ff183f73b.f79b2a341bb0ee2a.1a77b7d98b04b9b8.e6959c2f61bc0e33
+    3c344d8a5dc799b1.7829aecf88572078.b37365d06b2ea462.6e94665aac332724
+    b0dcac2f98a918be.50b041374da94e63.9da4354b0b708e0e.1f65411e028e1fdb
+    bfebe6b93db5ae0f.5bfa615985b13517.335622b50855b167.d5d4ab667dd9b285
+    6cac201e39219c4e
+  after
+    06a7ce5ff183f73b.f79b2a341bb0ee2a.1a77b7d98b04b9b8.e6959c2f61bc0e33
+    0000000000000000.0000000000000000.9da4354b1f65411e.1f65411e9da4354b
+    b0dcac2f98a918be.50b041374da94e63.9da4354b0b708e0e.1f65411e028e1fdb
+    bfebe6b93db5ae0f.5bfa615985b13517.335622b50855b167.d5d4ab667dd9b285
+    6cac201e39219c4e
+VPERMILPS_128_0xD7(mem)
+  before
+    c0ba1a3253719861.c3adf794e976994f.75d488224c7b90c0.d0d5287afd6a491a
+    adcb178ee6d564eb.196ddc2c3778122b.7a0a347dbf141c88.d26d4306863a94d3
+    0fa9921f0e5ab917.1c7990edc447584f.4567e155fa87959e.936970c54051cc3d
+    c12107cfe80b5612.2a1b0e432b70a566.b4b9099817e0b72c.7017aa23c63c2e05
+    c6c1ed8cb586f5d7
+  after
+    c0ba1a3253719861.c3adf794e976994f.75d488224c7b90c0.d0d5287afd6a491a
+    0000000000000000.0000000000000000.d0d5287a4c7b90c0.75d48822fd6a491a
+    0fa9921f0e5ab917.1c7990edc447584f.4567e155fa87959e.936970c54051cc3d
+    c12107cfe80b5612.2a1b0e432b70a566.b4b9099817e0b72c.7017aa23c63c2e05
+    c6c1ed8cb586f5d7
+
+VPERMILPS_128_0xD7(reg)
+  before
+    efb4356ca9bb5f5e.a1fef28c90f4f508.9ea0559b097e361d.a2ca2a31352c3d5f
+    493c7f303c68a646.8a0ed04021225324.d4545e5ff9fe471f.eb67bf0c6e76e562
+    2ea4c5420d18063d.581b1bd9b8a02c93.288326fd977a1319.6a5c4415deca6862
+    fb3a0510b557bdec.e6f35141707a3b80.f679aadf8081d7b7.fd753538a235858b
+    7f7e0f62d5c2f608
+  after
+    efb4356ca9bb5f5e.a1fef28c90f4f508.9ea0559b097e361d.a2ca2a31352c3d5f
+    0000000000000000.0000000000000000.288326fd6a5c4415.6a5c4415288326fd
+    2ea4c5420d18063d.581b1bd9b8a02c93.288326fd977a1319.6a5c4415deca6862
+    fb3a0510b557bdec.e6f35141707a3b80.f679aadf8081d7b7.fd753538a235858b
+    7f7e0f62d5c2f608
+VPERMILPS_128_0xD7(mem)
+  before
+    cb424d7d947d7806.0c493a05d3b20502.1260ed6665bd3d18.9981e573509ccfa4
+    bf8f6b76fa73c7b0.be1c618d00b41b29.b62f6c33b474ee86.6fe9d424a259378c
+    352fe53a24af9e33.6b007414dbe93b0e.b02b489479ab0af7.d3fb715d12434a1d
+    0bef37b42d3dbaba.70417106fddea05c.db22ff75ce6f4c97.2104ba8c3de74501
+    b450a91cbed063e4
+  after
+    cb424d7d947d7806.0c493a05d3b20502.1260ed6665bd3d18.9981e573509ccfa4
+    0000000000000000.0000000000000000.9981e57365bd3d18.1260ed66509ccfa4
+    352fe53a24af9e33.6b007414dbe93b0e.b02b489479ab0af7.d3fb715d12434a1d
+    0bef37b42d3dbaba.70417106fddea05c.db22ff75ce6f4c97.2104ba8c3de74501
+    b450a91cbed063e4
+
+VPERMILPS_128_0xD7(reg)
+  before
+    ea2b3d7a328ae273.1b9bdecf312ad772.292b53cf041e87c0.12df0cc3d2cb7191
+    1de06f1034a1fc5a.43fe55794d81b187.f20916db8c352ce5.332dec689fcc3512
+    abbd3c4b61a2ee44.5de6189d9d4f0324.2729b79630b0ca78.18d91951517d5346
+    ee0ca1985419f3de.471ea3273c9f8a76.24d5306d8c1a9e25.9eaf116b05ea8858
+    a27b4fa0d61f9075
+  after
+    ea2b3d7a328ae273.1b9bdecf312ad772.292b53cf041e87c0.12df0cc3d2cb7191
+    0000000000000000.0000000000000000.2729b79618d91951.18d919512729b796
+    abbd3c4b61a2ee44.5de6189d9d4f0324.2729b79630b0ca78.18d91951517d5346
+    ee0ca1985419f3de.471ea3273c9f8a76.24d5306d8c1a9e25.9eaf116b05ea8858
+    a27b4fa0d61f9075
+VPERMILPS_128_0xD7(mem)
+  before
+    fe094fdee12927c8.441a9961aa9049d4.db717303467d02a9.455a7fca3dffe497
+    8f248d104113087e.07332014fe952ad1.f6ac031ed8f526e8.e6059f1bdfecd87b
+    329a862212eaf0c2.95a3331bedb3d281.759bcf620e14b35f.631f8cca0d6cb57c
+    c135b50071b99bc1.48b6cce412777f92.320a53bc02e5653c.18f74345630cb847
+    61d8bff77e571d87
+  after
+    fe094fdee12927c8.441a9961aa9049d4.db717303467d02a9.455a7fca3dffe497
+    0000000000000000.0000000000000000.455a7fca467d02a9.db7173033dffe497
+    329a862212eaf0c2.95a3331bedb3d281.759bcf620e14b35f.631f8cca0d6cb57c
+    c135b50071b99bc1.48b6cce412777f92.320a53bc02e5653c.18f74345630cb847
+    61d8bff77e571d87
+
+VPERMILPS_128_0xB5(reg)
+  before
+    9a0dfc4cf9d920ea.19c296967a8cc4a7.7eb7e9da0a6c6bae.0ac40b19d375f8a8
+    1ee3f6b0711efc19.160da5d0486f299f.91f38569701ed381.d99774639bcf27d2
+    4ba6a98f81b3eec3.95e25e9af86f83d6.deb79dfde01af3b8.7c4d098876ffafe4
+    7ca21255c6233292.700c3ee0a5979177.c14d2b02f7eb06ff.cdb3467381114c0a
+    a995a710d712ba72
+  after
+    9a0dfc4cf9d920ea.19c296967a8cc4a7.7eb7e9da0a6c6bae.0ac40b19d375f8a8
+    0000000000000000.0000000000000000.e01af3b8deb79dfd.7c4d09887c4d0988
+    4ba6a98f81b3eec3.95e25e9af86f83d6.deb79dfde01af3b8.7c4d098876ffafe4
+    7ca21255c6233292.700c3ee0a5979177.c14d2b02f7eb06ff.cdb3467381114c0a
+    a995a710d712ba72
+VPERMILPS_128_0xB5(mem)
+  before
+    ecbfa94b940eb445.0d232c6fdbfb0332.8459c08f6bf40daf.97012de5511d4901
+    72fdc610d60ff7b2.5975f3475dc69e50.ad9360916791b4aa.ba219e10893df86b
+    171b7c4bb6233ee3.bee3634ae7103f98.c7879ad4b47a4293.87f87af13bd64ee8
+    b7e446e852554704.97bb78e5156622b5.ae01eb436fbc7397.5ad1bdf204758825
+    8ff964817fa4e2ce
+  after
+    ecbfa94b940eb445.0d232c6fdbfb0332.8459c08f6bf40daf.97012de5511d4901
+    0000000000000000.0000000000000000.97012de5511d4901.6bf40daf6bf40daf
+    171b7c4bb6233ee3.bee3634ae7103f98.c7879ad4b47a4293.87f87af13bd64ee8
+    b7e446e852554704.97bb78e5156622b5.ae01eb436fbc7397.5ad1bdf204758825
+    8ff964817fa4e2ce
+
+VPERMILPS_128_0xB5(reg)
+  before
+    82bc6a0949f1988e.2e25a1d4c6b2cc43.3f472f8385528254.3ecdcec9b36202e1
+    8f66cbf5fde8e512.58aa07f92d458ac9.14d48390d0639c21.53b7bf549d78ac9e
+    124383b338140605.113ff645a31a3cc5.70ae70779422acc7.c98a3acf480b2dfa
+    679f8eae95013714.35b0e9a2453e9f61.b120f3a66c1dedf2.7c13bb26d1254020
+    471fbf4653d5a23d
+  after
+    82bc6a0949f1988e.2e25a1d4c6b2cc43.3f472f8385528254.3ecdcec9b36202e1
+    0000000000000000.0000000000000000.9422acc770ae7077.c98a3acfc98a3acf
+    124383b338140605.113ff645a31a3cc5.70ae70779422acc7.c98a3acf480b2dfa
+    679f8eae95013714.35b0e9a2453e9f61.b120f3a66c1dedf2.7c13bb26d1254020
+    471fbf4653d5a23d
+VPERMILPS_128_0xB5(mem)
+  before
+    0878c119eb240f7c.eac5e952b13bb4eb.9fc95dfe2fbc6fc9.31780688f5df9c50
+    9aeb3d8cb420420a.f7038f0c274fb835.2d55cc447ca0682a.4e00a78acbf5f58b
+    d943af8ccbd5f912.eaa37c4694c8809f.ba21b46048f745b0.6206d11689ea344f
+    a04e94034b4eeec2.1ff2ad6d933347d4.22fa903eb0ccc386.cbd48099cb4a9449
+    e3b6b1802ea25225
+  after
+    0878c119eb240f7c.eac5e952b13bb4eb.9fc95dfe2fbc6fc9.31780688f5df9c50
+    0000000000000000.0000000000000000.31780688f5df9c50.2fbc6fc92fbc6fc9
+    d943af8ccbd5f912.eaa37c4694c8809f.ba21b46048f745b0.6206d11689ea344f
+    a04e94034b4eeec2.1ff2ad6d933347d4.22fa903eb0ccc386.cbd48099cb4a9449
+    e3b6b1802ea25225
+
+VPERMILPS_128_0xB5(reg)
+  before
+    07fa5e354d7daa8e.cdd667df5097dd43.f23c1ceec01a4b81.40aadccacf2b9ed9
+    93eb8526c567d731.3ba9a40bf7bc84c4.bfccc733b80cc652.f2fd14f0c22192d5
+    e4d421be31ed16b9.c591c7725cca9d6f.e1f0a9aa1792f5f2.13c1b59ca4b95aa5
+    54032f682e9aa3d3.495b4c029acce570.b6f2bebe783a130d.7ec139bb92ffb376
+    11c81e37a7005973
+  after
+    07fa5e354d7daa8e.cdd667df5097dd43.f23c1ceec01a4b81.40aadccacf2b9ed9
+    0000000000000000.0000000000000000.1792f5f2e1f0a9aa.13c1b59c13c1b59c
+    e4d421be31ed16b9.c591c7725cca9d6f.e1f0a9aa1792f5f2.13c1b59ca4b95aa5
+    54032f682e9aa3d3.495b4c029acce570.b6f2bebe783a130d.7ec139bb92ffb376
+    11c81e37a7005973
+VPERMILPS_128_0xB5(mem)
+  before
+    a7a3e0fe00c707c9.40c2a99257faba2b.a2d2b0a6cdce17f4.991f03db778f5e51
+    1b1ef9fab8617aa3.045e8da7499a966c.abc46e4a12ddf027.e5c3726db11e0f68
+    4b05e719ebd86e2f.fc23d6139f057443.42fc02db84042c34.f82a09e0c17265fe
+    11242546b63b9f96.845c8043f5c8905b.4145e843404f8748.2da0c3a044179bc0
+    df719d19d599ec5a
+  after
+    a7a3e0fe00c707c9.40c2a99257faba2b.a2d2b0a6cdce17f4.991f03db778f5e51
+    0000000000000000.0000000000000000.991f03db778f5e51.cdce17f4cdce17f4
+    4b05e719ebd86e2f.fc23d6139f057443.42fc02db84042c34.f82a09e0c17265fe
+    11242546b63b9f96.845c8043f5c8905b.4145e843404f8748.2da0c3a044179bc0
+    df719d19d599ec5a
+
+VPERMILPS_128_0x85(reg)
+  before
+    6ce891b811859577.4a472f6d3593c806.f85788a1e86d2561.866c9d6f62cbbd8e
+    2e529de79367d1c4.d339817a83eea6ab.b55ee89a14827101.eb3d9b4c04838934
+    83fbbc13f8c9dded.86c79859bc57f5b1.14be9e9b1493aee6.4d8460c44584a863
+    c52feaa9db39f59d.40bdeef6fdda7043.74c3a50e842b18bd.890d67c53ed9d549
+    79a32d3a0d8ece12
+  after
+    6ce891b811859577.4a472f6d3593c806.f85788a1e86d2561.866c9d6f62cbbd8e
+    0000000000000000.0000000000000000.1493aee64584a863.4d8460c44d8460c4
+    83fbbc13f8c9dded.86c79859bc57f5b1.14be9e9b1493aee6.4d8460c44584a863
+    c52feaa9db39f59d.40bdeef6fdda7043.74c3a50e842b18bd.890d67c53ed9d549
+    79a32d3a0d8ece12
+VPERMILPS_128_0x85(mem)
+  before
+    fa142c0fceaf4dea.523a2314d9425580.dee7013d6284d48d.30b9fa6101d6ed31
+    e92ae2309c490efc.846864c08d713944.3a114d1b0660ddbd.a4ec97ff262067ef
+    20b2ca899467cf74.b804a8199451dc93.31074c7a057b47fd.2ca77a549096c2a3
+    7c786006d1164a80.4b5ceb8b896e7b19.9f947c487ce0cd79.24389eccdbc33cf8
+    e8e9ffd3a1340f9b
+  after
+    fa142c0fceaf4dea.523a2314d9425580.dee7013d6284d48d.30b9fa6101d6ed31
+    0000000000000000.0000000000000000.dee7013d30b9fa61.dee7013d01d6ed31
+    20b2ca899467cf74.b804a8199451dc93.31074c7a057b47fd.2ca77a549096c2a3
+    7c786006d1164a80.4b5ceb8b896e7b19.9f947c487ce0cd79.24389eccdbc33cf8
+    e8e9ffd3a1340f9b
+
+VPERMILPS_128_0x85(reg)
+  before
+    d40799d581747837.d94821936f613c49.97ba298208555183.61865870869b2c5e
+    43de693e140fb379.13ed871c8b5461fe.f96b5f6aae919c7d.51a75cdd40b920d8
+    93ba6a7af991fb0d.0635108e41fc74c9.cdbb87af17ae96b2.4cc4047dc5446512
+    1fe798f6c9878d9e.8eea38d3ac6332d7.70f59fbdde397bcf.2ea9cc3b324bb639
+    d3223103a2d7d078
+  after
+    d40799d581747837.d94821936f613c49.97ba298208555183.61865870869b2c5e
+    0000000000000000.0000000000000000.17ae96b2c5446512.4cc4047d4cc4047d
+    93ba6a7af991fb0d.0635108e41fc74c9.cdbb87af17ae96b2.4cc4047dc5446512
+    1fe798f6c9878d9e.8eea38d3ac6332d7.70f59fbdde397bcf.2ea9cc3b324bb639
+    d3223103a2d7d078
+VPERMILPS_128_0x85(mem)
+  before
+    17faaec231f66efc.42b0ef1c227ca5d8.87d979d9e8985753.3c67a3019fbd897f
+    d6ffbf62fdb34ef1.5a626c5aa0fd7f69.cdce508b12a49e69.8e5b8de5f7c6fa6f
+    ecfbe1d01f1b2a82.c24a091bde9556fb.3c953ad44595c447.c21f5bd781e10b4b
+    35bb8ef9b539bfdc.d5b2c4ca78d0673a.b0fab2a29e778517.34fd0742da99f8be
+    40428f929d7bfc75
+  after
+    17faaec231f66efc.42b0ef1c227ca5d8.87d979d9e8985753.3c67a3019fbd897f
+    0000000000000000.0000000000000000.87d979d93c67a301.87d979d99fbd897f
+    ecfbe1d01f1b2a82.c24a091bde9556fb.3c953ad44595c447.c21f5bd781e10b4b
+    35bb8ef9b539bfdc.d5b2c4ca78d0673a.b0fab2a29e778517.34fd0742da99f8be
+    40428f929d7bfc75
+
+VPERMILPS_128_0x85(reg)
+  before
+    4239ef336711541b.8d0b44c7db19c82a.f1e698d50b3beed3.05c834e038549d05
+    96302191d3ea3c5d.d0b77e28acc80299.703482a733612672.17cc3d7a303ac73f
+    987123187e8fefe7.da8ab80644512954.b0e77cac8bce4cc2.c2d3475da134c0ee
+    a44af034038eab64.86526f4fc0c0f989.0b4a8450af0e9c70.e2a7d073a84f4441
+    531553a960960f62
+  after
+    4239ef336711541b.8d0b44c7db19c82a.f1e698d50b3beed3.05c834e038549d05
+    0000000000000000.0000000000000000.8bce4cc2a134c0ee.c2d3475dc2d3475d
+    987123187e8fefe7.da8ab80644512954.b0e77cac8bce4cc2.c2d3475da134c0ee
+    a44af034038eab64.86526f4fc0c0f989.0b4a8450af0e9c70.e2a7d073a84f4441
+    531553a960960f62
+VPERMILPS_128_0x85(mem)
+  before
+    f0e84dece515dc7d.16058451ff72a981.b2d91eee3b222d61.deaa95003cae5228
+    97ee382655d968bf.4aefdbdc0dc728e9.39ec40cfd282820b.8653ab26cd3aa995
+    23f19245c9ed6f54.9c54f23fc91a6349.f75754dea0ecb4b1.5d91c330ff3cde63
+    6fbfd6345f5eac67.677fc4e8d0f6954c.c7e6d307c26d7f7f.c0b0d7886e422d40
+    0cfce59cb4d8d1d5
+  after
+    f0e84dece515dc7d.16058451ff72a981.b2d91eee3b222d61.deaa95003cae5228
+    0000000000000000.0000000000000000.b2d91eeedeaa9500.b2d91eee3cae5228
+    23f19245c9ed6f54.9c54f23fc91a6349.f75754dea0ecb4b1.5d91c330ff3cde63
+    6fbfd6345f5eac67.677fc4e8d0f6954c.c7e6d307c26d7f7f.c0b0d7886e422d40
+    0cfce59cb4d8d1d5
+
+VPERMILPS_128_0x29(reg)
+  before
+    9bc0e8d6708808d1.592280de3336dc25.09be4d41bee8faa0.87653b3753109ea2
+    ca49dda43be00bde.bce70d315f83bbba.dd5b89b82e7bd0ee.119f065870e2ce46
+    f5e3be71b36c19a8.73d9f71802510551.3fa474b8bc3b51e5.4362b25834edcb96
+    79da89a974b76cdd.5cc6bc8036ab7517.8ae30bad05b5ba2f.f878bb21bc3f50bf
+    0bae9ba123e41aed
+  after
+    9bc0e8d6708808d1.592280de3336dc25.09be4d41bee8faa0.87653b3753109ea2
+    0000000000000000.0000000000000000.34edcb96bc3b51e5.bc3b51e54362b258
+    f5e3be71b36c19a8.73d9f71802510551.3fa474b8bc3b51e5.4362b25834edcb96
+    79da89a974b76cdd.5cc6bc8036ab7517.8ae30bad05b5ba2f.f878bb21bc3f50bf
+    0bae9ba123e41aed
+VPERMILPS_128_0x29(mem)
+  before
+    5ad0d0c386e7e54b.b07a39b8194d4126.5179d753179dc837.1c654903a4734778
+    bfaad57200546d05.f70fca0b3fbad432.30bdc47ec233bade.4f752a263604336d
+    1707269cad376d49.aae4390c818b61ab.d35f00ed527a0637.8161aa8356f1bbba
+    3fb53f2caa9da241.254780287b4b233d.182b068de47d696f.0d73c684a1c81b0a
+    4ef97896b2148f0a
+  after
+    5ad0d0c386e7e54b.b07a39b8194d4126.5179d753179dc837.1c654903a4734778
+    0000000000000000.0000000000000000.179dc8371c654903.a4734778179dc837
+    1707269cad376d49.aae4390c818b61ab.d35f00ed527a0637.8161aa8356f1bbba
+    3fb53f2caa9da241.254780287b4b233d.182b068de47d696f.0d73c684a1c81b0a
+    4ef97896b2148f0a
+
+VPERMILPS_128_0x29(reg)
+  before
+    a23dbe2626625266.117e9d0f1391c819.c4829dccca865796.d9ed524893489fb2
+    638c949e983da1c9.6b2fba2f03209afe.e3e28b620ac9385f.f371600c7ce8642b
+    ee31f46ca531b8df.279414799654d51c.deb34758d59f0447.4382acc4ba687307
+    a07adcfbe8cbd256.227927d9e93c359e.1141cb19ca95f5f8.a3eeb35c6ad58971
+    f07fefc0a73a6297
+  after
+    a23dbe2626625266.117e9d0f1391c819.c4829dccca865796.d9ed524893489fb2
+    0000000000000000.0000000000000000.ba687307d59f0447.d59f04474382acc4
+    ee31f46ca531b8df.279414799654d51c.deb34758d59f0447.4382acc4ba687307
+    a07adcfbe8cbd256.227927d9e93c359e.1141cb19ca95f5f8.a3eeb35c6ad58971
+    f07fefc0a73a6297
+VPERMILPS_128_0x29(mem)
+  before
+    0602dedc8da3b9a2.d3b246b7fe962dd7.38a96d3c17e176b1.d7d715118335481e
+    c243fc9c391d4bc0.e424310c821e0211.46f2648d3d515380.8ec320ab9c0e3867
+    fe0ec3ecc7b2d41d.301d966610f090ae.261e86b776978938.914fe856b2a9027c
+    972eb1b8527110e5.11e972314597115b.b5fa51a8dfc0d405.3cc8697b6094e20c
+    eb7aa087435a14c1
+  after
+    0602dedc8da3b9a2.d3b246b7fe962dd7.38a96d3c17e176b1.d7d715118335481e
+    0000000000000000.0000000000000000.17e176b1d7d71511.8335481e17e176b1
+    fe0ec3ecc7b2d41d.301d966610f090ae.261e86b776978938.914fe856b2a9027c
+    972eb1b8527110e5.11e972314597115b.b5fa51a8dfc0d405.3cc8697b6094e20c
+    eb7aa087435a14c1
+
+VPERMILPS_128_0x29(reg)
+  before
+    f9b188e6f688d447.697141edf663ba43.e4d4c2d9bd9fc2c3.cf52414b93d7f012
+    c4b81d0516a95d4b.50a1ef75d0968f63.052a81cb1295df93.50f2d08cafe8988c
+    a7dd5b4e3e49eb79.288b373efc154b72.d136ab71e304a476.14a67c574eff899e
+    fd6a3f2f0af4bc7c.cdfb963394edaa9c.a2463d39ca784c19.f73ac0988d297e75
+    d579183b8772353d
+  after
+    f9b188e6f688d447.697141edf663ba43.e4d4c2d9bd9fc2c3.cf52414b93d7f012
+    0000000000000000.0000000000000000.4eff899ee304a476.e304a47614a67c57
+    a7dd5b4e3e49eb79.288b373efc154b72.d136ab71e304a476.14a67c574eff899e
+    fd6a3f2f0af4bc7c.cdfb963394edaa9c.a2463d39ca784c19.f73ac0988d297e75
+    d579183b8772353d
+VPERMILPS_128_0x29(mem)
+  before
+    8a30012d58e46821.24acc31217370a01.1bbd8740b729670d.d5a4318d637e1428
+    f22bf5581d8dd44e.76efe565019d12b4.ee9d86507fd53ff0.c69d85db4ba1374e
+    e93672aaf27934ef.517fa09363b31040.22660f5108feee71.d17d348e1d6ef338
+    4b1df30df2b24531.0fa8f108d9043f51.93e59e2f6faf2fbd.52903a12766f8291
+    a52194d3f1322106
+  after
+    8a30012d58e46821.24acc31217370a01.1bbd8740b729670d.d5a4318d637e1428
+    0000000000000000.0000000000000000.b729670dd5a4318d.637e1428b729670d
+    e93672aaf27934ef.517fa09363b31040.22660f5108feee71.d17d348e1d6ef338
+    4b1df30df2b24531.0fa8f108d9043f51.93e59e2f6faf2fbd.52903a12766f8291
+    a52194d3f1322106
+
+VBLENDPS_128_1of3(reg)
+  before
+    267e3c3d2b430b43.f4acf46f3946c340.0eb5d230001cdd95.1de7b0d4cff4bf00
+    31f130bcbf2d7df3.bfaef2bbe4406a47.a8f44177748823b6.9b36c02d44da5a65
+    22c76bbd497cb3c3.8af167dd0eadf573.3baf394ad0d35060.eb9f4a26ec6cbb19
+    554ceaaa67bce95e.303fd1c1d49821ef.2133b613b0899e40.e8edcaace0b6a048
+    6eeebda93ec5c31d
+  after
+    0000000000000000.0000000000000000.a8f44177748823b6.9b36c02d44da5a65
+    31f130bcbf2d7df3.bfaef2bbe4406a47.a8f44177748823b6.9b36c02d44da5a65
+    22c76bbd497cb3c3.8af167dd0eadf573.3baf394ad0d35060.eb9f4a26ec6cbb19
+    554ceaaa67bce95e.303fd1c1d49821ef.2133b613b0899e40.e8edcaace0b6a048
+    6eeebda93ec5c31d
+VBLENDPS_128_1of3(mem)
+  before
+    586c9d0b22a4e0c5.25cca7f1b27a5a71.8d65ab53520eaae8.b7ccb53fb1374a02
+    8435e8bda75fb56b.f093a0fcc84143a7.7c2f727fa2194c89.5ac6313b6e689051
+    cd131aabe903fc3c.11ecd039459ee0ae.db68a031e3c7c2ff.646c257284a8acda
+    0ed3adc0059b7263.e4253313c31c6d2f.84deb3562e24c976.320c904f8e84d948
+    20f06b4029875448
+  after
+    586c9d0b22a4e0c5.25cca7f1b27a5a71.8d65ab53520eaae8.b7ccb53fb1374a02
+    8435e8bda75fb56b.f093a0fcc84143a7.7c2f727fa2194c89.5ac6313b6e689051
+    0000000000000000.0000000000000000.7c2f727fa2194c89.b7ccb53fb1374a02
+    0ed3adc0059b7263.e4253313c31c6d2f.84deb3562e24c976.320c904f8e84d948
+    20f06b4029875448
+
+VBLENDPS_128_1of3(reg)
+  before
+    8b65b3b0f03d5886.25401fea1733d20e.c488c6f5e14725d9.555b26d8a13a1d19
+    cdb7650b7f3323ad.ec28ea1539d8d966.0f62834d39ab4556.29ac75a558187915
+    43327cbd74f4ef6a.41568c2b8a95439a.20ff688667d50952.db9d1da76ec79a96
+    4922f432680cf868.fe9581192477ccd3.52ab700d0851ac7a.49fa99cc00553cc7
+    4d8f64ff29cd1bd5
+  after
+    0000000000000000.0000000000000000.0f62834d39ab4556.29ac75a558187915
+    cdb7650b7f3323ad.ec28ea1539d8d966.0f62834d39ab4556.29ac75a558187915
+    43327cbd74f4ef6a.41568c2b8a95439a.20ff688667d50952.db9d1da76ec79a96
+    4922f432680cf868.fe9581192477ccd3.52ab700d0851ac7a.49fa99cc00553cc7
+    4d8f64ff29cd1bd5
+VBLENDPS_128_1of3(mem)
+  before
+    c528fd2c053bf2eb.3bd2cad7f9087c54.01b243cb23893040.03b1984cb7a96b7a
+    8b90dd3fb1ac7e36.7590f916c373b5da.2479502ea4d72a0b.8d5fdab0116b82fd
+    7c948124492b7be1.53a67c5c61dae0a5.44b6232dc26d7761.4eff34a6b1222db0
+    750066c7e8c5a419.316151166fc73962.3e3538b39a58d26d.a0dea198345ba73f
+    e1481df435a12d55
+  after
+    c528fd2c053bf2eb.3bd2cad7f9087c54.01b243cb23893040.03b1984cb7a96b7a
+    8b90dd3fb1ac7e36.7590f916c373b5da.2479502ea4d72a0b.8d5fdab0116b82fd
+    0000000000000000.0000000000000000.2479502ea4d72a0b.03b1984cb7a96b7a
+    750066c7e8c5a419.316151166fc73962.3e3538b39a58d26d.a0dea198345ba73f
+    e1481df435a12d55
+
+VBLENDPS_128_1of3(reg)
+  before
+    6b89a5245180fb9e.50a00715aa85b60a.6b0d74af8ac9fbbc.ecc10bae47a3f95c
+    9cec339623854cc8.ea40e0f8ac776ddf.5df5df924d696360.2b281909e55ba659
+    cebfc5b5473b5d7c.1fac6e5e09a785c5.6367902d5535adfa.d834ddb0918a9591
+    5e4c56ed5b2e6a69.ccaf2b31de22b9e7.d9ad82eb3db81435.cdb2d38f673f8430
+    e76e779282832d61
+  after
+    0000000000000000.0000000000000000.5df5df924d696360.2b281909e55ba659
+    9cec339623854cc8.ea40e0f8ac776ddf.5df5df924d696360.2b281909e55ba659
+    cebfc5b5473b5d7c.1fac6e5e09a785c5.6367902d5535adfa.d834ddb0918a9591
+    5e4c56ed5b2e6a69.ccaf2b31de22b9e7.d9ad82eb3db81435.cdb2d38f673f8430
+    e76e779282832d61
+VBLENDPS_128_1of3(mem)
+  before
+    023446a5ff644d51.a9e0e2aaf8ebaf39.cb17955f46f3c672.1a15b138a27fd6be
+    facfbab5f9eda02b.09c76658bcfd6799.f9ae27d35e276892.84e91a801f142d40
+    ab0d51ac8c2be11c.db4ddd6442f0cf34.32415e7941c95b72.7276b73051065568
+    f2b88678d529cd50.7bbe4338275123b7.529cb43c0ce55a3f.400886b2d3de8ce2
+    49ea8273422a0c59
+  after
+    023446a5ff644d51.a9e0e2aaf8ebaf39.cb17955f46f3c672.1a15b138a27fd6be
+    facfbab5f9eda02b.09c76658bcfd6799.f9ae27d35e276892.84e91a801f142d40
+    0000000000000000.0000000000000000.f9ae27d35e276892.1a15b138a27fd6be
+    f2b88678d529cd50.7bbe4338275123b7.529cb43c0ce55a3f.400886b2d3de8ce2
+    49ea8273422a0c59
+
+VBLENDPS_128_2of3(reg)
+  before
+    eb6aa7e039751279.a99dd603eff320f2.4566944207ab9ecd.358ba70bda882224
+    81d2f264554cd9f0.ad88bb3bf796952f.9690ccec7d8a7e23.b7d9b2cfc8bd6e4e
+    666f5d6a313a9f68.da45b30b081de932.c889e8a4257bfc65.b4545175f190fce9
+    f88de66069cb9e8d.0ba0395f3f94d828.389de3d59c09573e.08c600e9710d8620
+    8ffc3c186541c920
+  after
+    0000000000000000.0000000000000000.9690ccec257bfc65.b4545175c8bd6e4e
+    81d2f264554cd9f0.ad88bb3bf796952f.9690ccec7d8a7e23.b7d9b2cfc8bd6e4e
+    666f5d6a313a9f68.da45b30b081de932.c889e8a4257bfc65.b4545175f190fce9
+    f88de66069cb9e8d.0ba0395f3f94d828.389de3d59c09573e.08c600e9710d8620
+    8ffc3c186541c920
+VBLENDPS_128_2of3(mem)
+  before
+    25c280ece9388014.917889b19a8b120c.1e64c923b7071e3d.4218b9ea7dc0c95b
+    a6e4485318fc6829.8f7c40c960073991.ee5fe0438d83769c.42466651652d9067
+    ee2d10380e9b3d8b.4ce4091456cb4dc7.575bf8abdc149d72.9473e675efdbe50f
+    d86b5586e821bb65.26fedefe18618b5b.35258f47c1c44fea.94ea36c2b85707ff
+    9ef851a55b2c30e2
+  after
+    25c280ece9388014.917889b19a8b120c.1e64c923b7071e3d.4218b9ea7dc0c95b
+    a6e4485318fc6829.8f7c40c960073991.ee5fe0438d83769c.42466651652d9067
+    0000000000000000.0000000000000000.1e64c9238d83769c.424666517dc0c95b
+    d86b5586e821bb65.26fedefe18618b5b.35258f47c1c44fea.94ea36c2b85707ff
+    9ef851a55b2c30e2
+
+VBLENDPS_128_2of3(reg)
+  before
+    0dea338874e69d65.4268912bc2989de4.7714bdf343572ef8.6489200357a14831
+    3f09d8d8a0118a33.07f14212b60ea033.9c73a2607239744c.bf5227ccbbb74373
+    8fa43d027b3a32f9.03d2e327e38f807f.f26787af42919700.244e218c0810fddb
+    59065d70a0ecd262.11d7f1576225f9f4.d33c6a4e4eedd3c2.6e4789315aba3295
+    780bdba6cec19dcf
+  after
+    0000000000000000.0000000000000000.9c73a26042919700.244e218cbbb74373
+    3f09d8d8a0118a33.07f14212b60ea033.9c73a2607239744c.bf5227ccbbb74373
+    8fa43d027b3a32f9.03d2e327e38f807f.f26787af42919700.244e218c0810fddb
+    59065d70a0ecd262.11d7f1576225f9f4.d33c6a4e4eedd3c2.6e4789315aba3295
+    780bdba6cec19dcf
+VBLENDPS_128_2of3(mem)
+  before
+    206493d78030fbb3.f97b3490abb4a61c.0fcce68c52dec6bd.9c3d46a733d9663e
+    411f2db08b13086d.ca4ebecd391de9d0.d87c40b3ccc6a406.aab817288cdf8a20
+    b608261d0b76802a.2accf793e6b3d92d.47b57ab9efe84ffd.57f7d93cf68d7c13
+    5deaf90a1d661e16.7441dc4e4d02b0dd.3a411088d45082cc.0047894f0c6f78c3
+    01f421cd6b0fb9de
+  after
+    206493d78030fbb3.f97b3490abb4a61c.0fcce68c52dec6bd.9c3d46a733d9663e
+    411f2db08b13086d.ca4ebecd391de9d0.d87c40b3ccc6a406.aab817288cdf8a20
+    0000000000000000.0000000000000000.0fcce68cccc6a406.aab8172833d9663e
+    5deaf90a1d661e16.7441dc4e4d02b0dd.3a411088d45082cc.0047894f0c6f78c3
+    01f421cd6b0fb9de
+
+VBLENDPS_128_2of3(reg)
+  before
+    b64a9f22aefb7c0d.10932263dcee9f5c.03f9686a0a97aa8c.8bed7f0e990afa9f
+    7b95ffba72bffdff.adcd1d14651abf29.35409753bafd05e7.188541365a2373a3
+    ac203b0152e6775e.0e65670ad4f739a9.65616575f8c1fb9a.bbd5d4ec32a6a904
+    a5385164eafc27d6.11277a2f4390ca07.eeaacf3d616ec950.52a8b31c3e9f57ed
+    b7cc5bb2991b3a8b
+  after
+    0000000000000000.0000000000000000.35409753f8c1fb9a.bbd5d4ec5a2373a3
+    7b95ffba72bffdff.adcd1d14651abf29.35409753bafd05e7.188541365a2373a3
+    ac203b0152e6775e.0e65670ad4f739a9.65616575f8c1fb9a.bbd5d4ec32a6a904
+    a5385164eafc27d6.11277a2f4390ca07.eeaacf3d616ec950.52a8b31c3e9f57ed
+    b7cc5bb2991b3a8b
+VBLENDPS_128_2of3(mem)
+  before
+    c70b469a5f250e09.c22a3b4dd78d4915.90dfd471d1f22e6f.2e65d0159090aab6
+    5f32f2c0adca8e94.5f40f82ab42619c4.6859f0ba9728210f.7fdf646a22b4dc78
+    590dda109e157758.d8c681661e52d292.76604bf8b33e5e10.3f6487a9b2659941
+    92687a774f128580.890ad36cb19db129.94c25f164140a2a1.c840353ddd2f1dbd
+    77bf6b923e9fa69a
+  after
+    c70b469a5f250e09.c22a3b4dd78d4915.90dfd471d1f22e6f.2e65d0159090aab6
+    5f32f2c0adca8e94.5f40f82ab42619c4.6859f0ba9728210f.7fdf646a22b4dc78
+    0000000000000000.0000000000000000.90dfd4719728210f.7fdf646a9090aab6
+    92687a774f128580.890ad36cb19db129.94c25f164140a2a1.c840353ddd2f1dbd
+    77bf6b923e9fa69a
+
+VBLENDPS_128_3of3(reg)
+  before
+    a92c241471406e81.e60e4fdfdbcd7439.ce57ebaa0894f235.9f49aa005c3ba9ec
+    b8d45c2f139eb221.32cdd3365f53ffaf.03f8c48bbfc2d163.73c2a7a2213a2e1e
+    01040f4fc046ad24.506f8466f7afe30d.843a5a7b73b4895f.edf9d2e8ab4aee62
+    e1063ae013c39d37.1dc1dd5dbdeedc7f.ac6aaae6bff557d5.e7baa8be1676a5e5
+    3ed0a4117fca0fd2
+  after
+    0000000000000000.0000000000000000.843a5a7b73b4895f.73c2a7a2213a2e1e
+    b8d45c2f139eb221.32cdd3365f53ffaf.03f8c48bbfc2d163.73c2a7a2213a2e1e
+    01040f4fc046ad24.506f8466f7afe30d.843a5a7b73b4895f.edf9d2e8ab4aee62
+    e1063ae013c39d37.1dc1dd5dbdeedc7f.ac6aaae6bff557d5.e7baa8be1676a5e5
+    3ed0a4117fca0fd2
+VBLENDPS_128_3of3(mem)
+  before
+    ce0941cb0252e756.b227d74ea8a1bc05.75905b06d01ba632.d9d2ae394011776f
+    732ffedaba1bea9d.d1b2e4051c6d473b.34a5784d4942fc52.66be64de919424dc
+    090f5428c331d4d2.9af55c720bb27984.36cfb21e46709b0b.af7cc7424e0b9bc6
+    6c75c1a33a9e6122.693a3cff10fc8f8d.57d98465e3b03e88.0f56d3d2150218da
+    e49a85f87f03d7c3
+  after
+    ce0941cb0252e756.b227d74ea8a1bc05.75905b06d01ba632.d9d2ae394011776f
+    732ffedaba1bea9d.d1b2e4051c6d473b.34a5784d4942fc52.66be64de919424dc
+    0000000000000000.0000000000000000.75905b06d01ba632.d9d2ae394011776f
+    6c75c1a33a9e6122.693a3cff10fc8f8d.57d98465e3b03e88.0f56d3d2150218da
+    e49a85f87f03d7c3
+
+VBLENDPS_128_3of3(reg)
+  before
+    8892d8222a9c132e.782dbf363a704cb8.9ace7e1ac7d8c502.738e6a0f3b0ea3f5
+    598bc8bbb25809c7.0903cccde0b252c1.8afe202ecdd1578e.66bbe0066b97847f
+    b2d1512fb2c4f539.fbc2645447712f69.93131da7bd7380de.0c2c63378e569e52
+    eeaf6feac66b1230.2a3801b78cb89edb.125c71f1344b7d9d.41ad6e8fc057ac9a
+    e10a7df91ea66b82
+  after
+    0000000000000000.0000000000000000.93131da7bd7380de.66bbe0066b97847f
+    598bc8bbb25809c7.0903cccde0b252c1.8afe202ecdd1578e.66bbe0066b97847f
+    b2d1512fb2c4f539.fbc2645447712f69.93131da7bd7380de.0c2c63378e569e52
+    eeaf6feac66b1230.2a3801b78cb89edb.125c71f1344b7d9d.41ad6e8fc057ac9a
+    e10a7df91ea66b82
+VBLENDPS_128_3of3(mem)
+  before
+    c80f0c60c3509736.6b731f588bd99d5a.722f21e2ca935c43.63241978cde48a78
+    d18797b2cc61ece3.83675be59d9bd260.ae743ec11e0f25cf.e1b610a825cbe31b
+    da409bda55e325b5.93d921fd963cedf1.bcd3d740a337b4a9.ea6052edd78bc331
+    be0493c479e4ffd7.f8136d0d154829b7.7717654c7517c7fd.d96cdbb37fb06767
+    0a27a767bac60a68
+  after
+    c80f0c60c3509736.6b731f588bd99d5a.722f21e2ca935c43.63241978cde48a78
+    d18797b2cc61ece3.83675be59d9bd260.ae743ec11e0f25cf.e1b610a825cbe31b
+    0000000000000000.0000000000000000.722f21e2ca935c43.63241978cde48a78
+    be0493c479e4ffd7.f8136d0d154829b7.7717654c7517c7fd.d96cdbb37fb06767
+    0a27a767bac60a68
+
+VBLENDPS_128_3of3(reg)
+  before
+    d9ddb373245aeae1.59a0fb5c54703676.0c62397fb44cc35f.bb0e65cfb2bc18f8
+    a2d9f94558f7417d.86e0508e039286be.2c1183c10fd3f794.638254b7733163c6
+    c1697747f22a4cea.238f0c47a156aada.b56e463dc3690003.4d41adefd6836692
+    91d729e78f7d46d1.0b7bad714bc85ff7.01c37e616b9b1b57.5415ec63f7bcdb89
+    53cb8efff1ea7fd7
+  after
+    0000000000000000.0000000000000000.b56e463dc3690003.638254b7733163c6
+    a2d9f94558f7417d.86e0508e039286be.2c1183c10fd3f794.638254b7733163c6
+    c1697747f22a4cea.238f0c47a156aada.b56e463dc3690003.4d41adefd6836692
+    91d729e78f7d46d1.0b7bad714bc85ff7.01c37e616b9b1b57.5415ec63f7bcdb89
+    53cb8efff1ea7fd7
+VBLENDPS_128_3of3(mem)
+  before
+    282f0dafe0190da7.70700990cb7f6ce1.196eaef91cf56140.6d5e2798a4f4843d
+    ad0ce75fe1534226.b98015ae41b9fac3.2b358bcc30e86be2.55893e4e09007761
+    c03097fb0fa7da7f.c75348ad8db92c26.1b9cc1d5a5ad3a08.1591bdef364c2f6e
+    3b65996f871e91df.f8359ef94c0a3eb4.c76fcaff94518adf.0ac2a2e7c863e911
+    8e67e9a25bd1e1f5
+  after
+    282f0dafe0190da7.70700990cb7f6ce1.196eaef91cf56140.6d5e2798a4f4843d
+    ad0ce75fe1534226.b98015ae41b9fac3.2b358bcc30e86be2.55893e4e09007761
+    0000000000000000.0000000000000000.196eaef91cf56140.6d5e2798a4f4843d
+    3b65996f871e91df.f8359ef94c0a3eb4.c76fcaff94518adf.0ac2a2e7c863e911
+    8e67e9a25bd1e1f5
+
+VBLENDPD_128_1of2(reg)
+  before
+    fece8c8c8a2352c7.fc786aa864c62371.a67213ff19396b1a.097a24381bdf1793
+    b6418912f1e47a33.dd358590c3aa4b62.2f55a42991d1f003.bf894a6b56649c4f
+    120ddb9e2da093e4.bc686615bfd6c6de.ed2b4be44f5e081c.c367b98460ead640
+    6e7e7e9edae4d987.73dd892175574f10.3e40069df06df010.f2e1eb6f55808192
+    29c45e19522f5870
+  after
+    0000000000000000.0000000000000000.2f55a42991d1f003.bf894a6b56649c4f
+    b6418912f1e47a33.dd358590c3aa4b62.2f55a42991d1f003.bf894a6b56649c4f
+    120ddb9e2da093e4.bc686615bfd6c6de.ed2b4be44f5e081c.c367b98460ead640
+    6e7e7e9edae4d987.73dd892175574f10.3e40069df06df010.f2e1eb6f55808192
+    29c45e19522f5870
+VBLENDPD_128_1of2(mem)
+  before
+    42da8d6c72051806.26e06e7c933b8ac7.df5f6aa20038a425.7ce0d0be0f89e48d
+    1aeff455d20d7d82.967fa8a6f432e051.ddbc86837d867f49.0557a6b5493e203c
+    8dd110c18e54430d.19a726879a5417d1.47be58b0074c9ca7.33f182ed3919e0cb
+    784a5b9ac0e425d6.0da3e68b202d6df2.fa325c15ba96b96b.64f962d27ba55fe6
+    f2bd41d0ac6eda39
+  after
+    42da8d6c72051806.26e06e7c933b8ac7.df5f6aa20038a425.7ce0d0be0f89e48d
+    1aeff455d20d7d82.967fa8a6f432e051.ddbc86837d867f49.0557a6b5493e203c
+    0000000000000000.0000000000000000.ddbc86837d867f49.7ce0d0be0f89e48d
+    784a5b9ac0e425d6.0da3e68b202d6df2.fa325c15ba96b96b.64f962d27ba55fe6
+    f2bd41d0ac6eda39
+
+VBLENDPD_128_1of2(reg)
+  before
+    3a871c5368018c6f.b52853ce87cce007.cdc0e31e23491c61.d2e40e9eb37090c3
+    98a4edc74ae9b334.21357348fc1530cc.b54a1aac3e3561c9.aba0ea370ee7ded8
+    6960b298eeb28936.983e37f43ecdd153.218d85a10e7c78d7.61316dcde6075ed9
+    07076633f1e94a1f.f60f1cbe66ff7ec5.6cd5226a2eab9c36.d165124a57dacef0
+    d506559c7e6ee849
+  after
+    0000000000000000.0000000000000000.b54a1aac3e3561c9.aba0ea370ee7ded8
+    98a4edc74ae9b334.21357348fc1530cc.b54a1aac3e3561c9.aba0ea370ee7ded8
+    6960b298eeb28936.983e37f43ecdd153.218d85a10e7c78d7.61316dcde6075ed9
+    07076633f1e94a1f.f60f1cbe66ff7ec5.6cd5226a2eab9c36.d165124a57dacef0
+    d506559c7e6ee849
+VBLENDPD_128_1of2(mem)
+  before
+    4ae1b2ad77ce6912.cfe40502ef19349b.17749d9293b8f451.f46eec713b4d0a94
+    0cc2a66b5c070c74.1d448b7382ce8157.d738365cde03ee21.14a3e024d0eefe9a
+    f775acc14c248e9e.4d74f5f049956eff.1229630865ec2a61.27c1f8ed8a1bb4f7
+    e7c6409b6131abba.bbbe3ee7def9373e.a411a0824480623f.8b15323a045e6754
+    9ae98976da465460
+  after
+    4ae1b2ad77ce6912.cfe40502ef19349b.17749d9293b8f451.f46eec713b4d0a94
+    0cc2a66b5c070c74.1d448b7382ce8157.d738365cde03ee21.14a3e024d0eefe9a
+    0000000000000000.0000000000000000.d738365cde03ee21.f46eec713b4d0a94
+    e7c6409b6131abba.bbbe3ee7def9373e.a411a0824480623f.8b15323a045e6754
+    9ae98976da465460
+
+VBLENDPD_128_1of2(reg)
+  before
+    b28af90da95cb7c5.b780dee5b73b1ff4.c36f62c3dd8617c1.69bd6ab796ca53e4
+    2d437e6b0d2ecb30.4571028b6b4da579.c1d35df0e3c94b33.3df93c9177d6b87f
+    696215fca147cd4c.6c6329799873fa75.11352cda8b4d0f41.fc9192fe04b14e3a
+    c031b92c0134f9c6.0823ce9b5abada14.0fe3c9ed719f9e97.8250e8e95966d141
+    ab04ba3e9101fdc1
+  after
+    0000000000000000.0000000000000000.c1d35df0e3c94b33.3df93c9177d6b87f
+    2d437e6b0d2ecb30.4571028b6b4da579.c1d35df0e3c94b33.3df93c9177d6b87f
+    696215fca147cd4c.6c6329799873fa75.11352cda8b4d0f41.fc9192fe04b14e3a
+    c031b92c0134f9c6.0823ce9b5abada14.0fe3c9ed719f9e97.8250e8e95966d141
+    ab04ba3e9101fdc1
+VBLENDPD_128_1of2(mem)
+  before
+    527785e9c88f8de6.90fd6667ca808b49.f57d6ddecf2d0180.17273295334936e0
+    5576c4d61b1b3edc.3312181997b7be82.0f3c822c10d82ae8.854e623f6ada10c8
+    8fcdf3f1a5b1cccd.06bccbaf0566cf1d.312e8a733bc81276.b5a45655b4db6bfd
+    db488e26835ef3e8.66477c93af18fac5.391dff9d6c087557.03750845adda8229
+    cb0d7679f06290f8
+  after
+    527785e9c88f8de6.90fd6667ca808b49.f57d6ddecf2d0180.17273295334936e0
+    5576c4d61b1b3edc.3312181997b7be82.0f3c822c10d82ae8.854e623f6ada10c8
+    0000000000000000.0000000000000000.0f3c822c10d82ae8.17273295334936e0
+    db488e26835ef3e8.66477c93af18fac5.391dff9d6c087557.03750845adda8229
+    cb0d7679f06290f8
+
+VBLENDPD_128_2of2(reg)
+  before
+    68b79b5f1900d117.17b31261d02d6e57.adff263332597a27.02d75f98bea40eb6
+    38c07362c53e8332.1ed9fa8ea92afa47.382fc5fa29b68cef.6726264f4da99ac0
+    9675fbed90abe0f5.cb88c29a296253e3.6324555431ba6cc8.46d7ceae3622d5a1
+    dd202d6e15d0250a.fc8ae6706de03458.8b2bd3ade5f1565e.79b6d5a1951b7b84
+    de8eb61484a14795
+  after
+    0000000000000000.0000000000000000.6324555431ba6cc8.6726264f4da99ac0
+    38c07362c53e8332.1ed9fa8ea92afa47.382fc5fa29b68cef.6726264f4da99ac0
+    9675fbed90abe0f5.cb88c29a296253e3.6324555431ba6cc8.46d7ceae3622d5a1
+    dd202d6e15d0250a.fc8ae6706de03458.8b2bd3ade5f1565e.79b6d5a1951b7b84
+    de8eb61484a14795
+VBLENDPD_128_2of2(mem)
+  before
+    4f2dedf322bff602.6b0e0750f03b8e20.8bace3fb90b05ad1.0a8e3a71e2e8855f
+    aa5df62a898244f5.9b8a8400be7756e1.56ba3329aedf817c.3d99860cc32a3674
+    c9eb4da6d5f4ec9a.c8e2a1e81a11bafa.378054e5e4786582.809ab3ea2444a54c
+    8aa36f512324ab1e.50605875a194f616.0cc9c11b4e88c112.2fdcbd77a2c00e91
+    a6aaa120d92cacef
+  after
+    4f2dedf322bff602.6b0e0750f03b8e20.8bace3fb90b05ad1.0a8e3a71e2e8855f
+    aa5df62a898244f5.9b8a8400be7756e1.56ba3329aedf817c.3d99860cc32a3674
+    0000000000000000.0000000000000000.8bace3fb90b05ad1.0a8e3a71e2e8855f
+    8aa36f512324ab1e.50605875a194f616.0cc9c11b4e88c112.2fdcbd77a2c00e91
+    a6aaa120d92cacef
+
+VBLENDPD_128_2of2(reg)
+  before
+    41515a4f6414bc14.c751d7198e1b3dad.8d52a714ee8c46e2.af63f6b7071a5255
+    5c1de472df0379a9.5dc101e833e75e72.dd02892f9e86e509.fd1870a52b3ad47a
+    535a3bf3e785215d.29be6aac2d93c99a.9abdfa344c0d1039.d3b5aad1d7f402ab
+    82545c401826eeda.05168c50982c3b50.22cff68d95ad031b.0b06202727559915
+    82d74e94366855e3
+  after
+    0000000000000000.0000000000000000.9abdfa344c0d1039.fd1870a52b3ad47a
+    5c1de472df0379a9.5dc101e833e75e72.dd02892f9e86e509.fd1870a52b3ad47a
+    535a3bf3e785215d.29be6aac2d93c99a.9abdfa344c0d1039.d3b5aad1d7f402ab
+    82545c401826eeda.05168c50982c3b50.22cff68d95ad031b.0b06202727559915
+    82d74e94366855e3
+VBLENDPD_128_2of2(mem)
+  before
+    15f4b002203af242.455641c40c731dcc.ce93e5c092bc70c1.cf837aa814f2f95d
+    9e28c35f02d62b5d.f8aee8eb62f7e9e0.6102f0e834522319.fe2781f065692fab
+    fa400296f748bd61.f6a64c21b43f8fc2.982f29b49cf71183.0c0507d1259ee1b1
+    0509e9921c9c647a.9d8b6ad29ed64b1d.50e60d11e6b9f62c.536a08b7f01b4b1a
+    30a2810e616ea892
+  after
+    15f4b002203af242.455641c40c731dcc.ce93e5c092bc70c1.cf837aa814f2f95d
+    9e28c35f02d62b5d.f8aee8eb62f7e9e0.6102f0e834522319.fe2781f065692fab
+    0000000000000000.0000000000000000.ce93e5c092bc70c1.cf837aa814f2f95d
+    0509e9921c9c647a.9d8b6ad29ed64b1d.50e60d11e6b9f62c.536a08b7f01b4b1a
+    30a2810e616ea892
+
+VBLENDPD_128_2of2(reg)
+  before
+    fff96d43142335c7.9b4df4418cdfdcd3.48a93d6abc48599e.65f216e92da38e3f
+    1dbbc7c0a6c52e63.98d8a08e641ce099.534cc056ac21f5f1.b321c2298dc294e9
+    e4338ef3b3e0cf12.d8786765bf602df7.19bff10007ee5ac1.163d8cbe2321c556
+    b1afbb46d5005381.37f8c7b2b9b67e1a.f850ccd56b3ac4bb.6a13f1920accddb1
+    8b6f6b935fd09827
+  after
+    0000000000000000.0000000000000000.19bff10007ee5ac1.b321c2298dc294e9
+    1dbbc7c0a6c52e63.98d8a08e641ce099.534cc056ac21f5f1.b321c2298dc294e9
+    e4338ef3b3e0cf12.d8786765bf602df7.19bff10007ee5ac1.163d8cbe2321c556
+    b1afbb46d5005381.37f8c7b2b9b67e1a.f850ccd56b3ac4bb.6a13f1920accddb1
+    8b6f6b935fd09827
+VBLENDPD_128_2of2(mem)
+  before
+    551d78ac3d37b1e3.e0794c27abb2f75c.91233c626f2a912e.4b494b427492718a
+    a4e993c9c110e512.cdde3b01cf81f64e.c2c6405ffdc9205e.6df76cb2bd819bdb
+    549e38d60764efe0.d42a863fddf98e04.a6ad51977e9ee8d7.bca62a91e3937f59
+    410ae4bf29418d78.51a9294f72a7f929.19a4e9f40eb5a4c4.92a2814a815559b2
+    4d376d4b3352648f
+  after
+    551d78ac3d37b1e3.e0794c27abb2f75c.91233c626f2a912e.4b494b427492718a
+    a4e993c9c110e512.cdde3b01cf81f64e.c2c6405ffdc9205e.6df76cb2bd819bdb
+    0000000000000000.0000000000000000.91233c626f2a912e.4b494b427492718a
+    410ae4bf29418d78.51a9294f72a7f929.19a4e9f40eb5a4c4.92a2814a815559b2
+    4d376d4b3352648f
+
+VBLENDPD_256_1of3(reg)
+  before
+    47b1ebff9616de9f.47f7117045b37907.a0a61e9c2916746a.f7778664ca1b1152
+    de5bf6d3452d008b.42323dd577c470b8.1d6f63929ed33a73.1cf2a4d1cedbebac
+    6c828a31dd240902.0d87e3dbda822db8.244ef39e6f6888ef.64e0bd293501ee00
+    4e72a386fa8733ae.86c1806c8bf96e33.1190ca2a35639a8a.aa0f4f571b9ad577
+    cc49d5479db15d40
+  after
+    de5bf6d3452d008b.42323dd577c470b8.1d6f63929ed33a73.1cf2a4d1cedbebac
+    de5bf6d3452d008b.42323dd577c470b8.1d6f63929ed33a73.1cf2a4d1cedbebac
+    6c828a31dd240902.0d87e3dbda822db8.244ef39e6f6888ef.64e0bd293501ee00
+    4e72a386fa8733ae.86c1806c8bf96e33.1190ca2a35639a8a.aa0f4f571b9ad577
+    cc49d5479db15d40
+VBLENDPD_256_1of3(mem)
+  before
+    a55bcbe5d6524285.e1773d3f36e0bb3c.88ae8e76a533ed54.4081e4a38e50acf2
+    1011ad1de38a4072.7fdd55c630bddd57.ee188be3443e6648.0d6d3e7616baf9d1
+    eb36f8dcdf641234.85efe68981aad5ac.96cdf2a18526973a.d3a0d30d682dbed3
+    1198270ce7ec75f7.4ffbecf3c831dee6.5b973f9b84f63a57.f0659fd6203537a5
+    bf0a9e3cdb5fa0f3
+  after
+    a55bcbe5d6524285.e1773d3f36e0bb3c.88ae8e76a533ed54.4081e4a38e50acf2
+    1011ad1de38a4072.7fdd55c630bddd57.ee188be3443e6648.0d6d3e7616baf9d1
+    1011ad1de38a4072.7fdd55c630bddd57.88ae8e76a533ed54.4081e4a38e50acf2
+    1198270ce7ec75f7.4ffbecf3c831dee6.5b973f9b84f63a57.f0659fd6203537a5
+    bf0a9e3cdb5fa0f3
+
+VBLENDPD_256_1of3(reg)
+  before
+    9cd9ccab35363468.5d01b69b162f25e6.3a4b636f9ee035b2.1843eebd5cba0cca
+    e21f268fc94730b1.ad3e21738938dd2e.a02c486ba24315bc.ab9d7cf3297ec8c0
+    ef28a754331dd07a.db1be4825b145afb.deea96526de5bcaf.ee706429084f2b65
+    1d404b6610444f6e.c5647cb3a8cd5878.50d149909d526438.bf8a224b1538f1e4
+    f8b532456a45d66a
+  after
+    e21f268fc94730b1.ad3e21738938dd2e.a02c486ba24315bc.ab9d7cf3297ec8c0
+    e21f268fc94730b1.ad3e21738938dd2e.a02c486ba24315bc.ab9d7cf3297ec8c0
+    ef28a754331dd07a.db1be4825b145afb.deea96526de5bcaf.ee706429084f2b65
+    1d404b6610444f6e.c5647cb3a8cd5878.50d149909d526438.bf8a224b1538f1e4
+    f8b532456a45d66a
+VBLENDPD_256_1of3(mem)
+  before
+    77be110426839623.cab20e31fb49ea3a.45e564f18e7193d1.522d5d92ce164902
+    1671397262fdec3a.51cced2291b7dd89.396a182a260cc634.4049cec29bbea9ba
+    b39a287d3dc095db.0dd8e3a36d1a6408.7bbe14498ea9aecb.7673998da0d5be0c
+    28055a10d0d74c34.5c23eb212cffba62.e8aed53ae25407c2.50f5b9607ae7c5a3
+    2a1c2aa5c581fa2c
+  after
+    77be110426839623.cab20e31fb49ea3a.45e564f18e7193d1.522d5d92ce164902
+    1671397262fdec3a.51cced2291b7dd89.396a182a260cc634.4049cec29bbea9ba
+    1671397262fdec3a.51cced2291b7dd89.45e564f18e7193d1.522d5d92ce164902
+    28055a10d0d74c34.5c23eb212cffba62.e8aed53ae25407c2.50f5b9607ae7c5a3
+    2a1c2aa5c581fa2c
+
+VBLENDPD_256_1of3(reg)
+  before
+    6034e8ca1c2e9852.527d4916394ecf6f.98f9040969f01c44.5d07d6ea3c198c46
+    4e89f03a1b7bdcc2.0ed0727d9431d8b8.1ea627c6c17cc65a.b4939343bb05fa83
+    50663c615ff20228.36c85230fc8d233c.4b7552c4cf2cf34f.ca1e883279230da4
+    c219caab8322452f.a732641b8e6d6e27.79b4806f2f8ee0d0.7c7631a4928081d6
+    a4660b8423271144
+  after
+    4e89f03a1b7bdcc2.0ed0727d9431d8b8.1ea627c6c17cc65a.b4939343bb05fa83
+    4e89f03a1b7bdcc2.0ed0727d9431d8b8.1ea627c6c17cc65a.b4939343bb05fa83
+    50663c615ff20228.36c85230fc8d233c.4b7552c4cf2cf34f.ca1e883279230da4
+    c219caab8322452f.a732641b8e6d6e27.79b4806f2f8ee0d0.7c7631a4928081d6
+    a4660b8423271144
+VBLENDPD_256_1of3(mem)
+  before
+    1fb991bd47247a1b.00ec96842494e384.3dda252a65de73a4.05adad337e2ec989
+    c93c3f3d1b837887.652c9a58ddd616d2.d48c0f4a9debefe0.4cadd57c5896ea25
+    7ebb91efba51c7b3.4f25d4934b731ac6.4913a06553a09d06.a800f4b658547e50
+    1a0204bf419a22cc.19233ea109f82d0b.763d5368a3093b43.76f2074d1af4c2b8
+    12cf09ad3b00f206
+  after
+    1fb991bd47247a1b.00ec96842494e384.3dda252a65de73a4.05adad337e2ec989
+    c93c3f3d1b837887.652c9a58ddd616d2.d48c0f4a9debefe0.4cadd57c5896ea25
+    c93c3f3d1b837887.652c9a58ddd616d2.3dda252a65de73a4.05adad337e2ec989
+    1a0204bf419a22cc.19233ea109f82d0b.763d5368a3093b43.76f2074d1af4c2b8
+    12cf09ad3b00f206
+
+VBLENDPD_256_2of3(reg)
+  before
+    d9e3f643560649e9.79dd1299cb6846fd.1f71d7efb4f0894e.38d4a440a83383c3
+    2579cb790892050b.7717396974c9ee73.bc5d98e7e7e76b3b.6ba50fd77e2a32b1
+    53de82bded2f5f19.f07ef41b5ac8d85a.4e317ef73e690e7e.eb7c111b42f8033a
+    bf5e197a9f6996be.c0dcc09c9672bedd.2f3a868a5703b0c1.942524f70fabb389
+    426cc657024efecb
+  after
+    2579cb790892050b.f07ef41b5ac8d85a.4e317ef73e690e7e.6ba50fd77e2a32b1
+    2579cb790892050b.7717396974c9ee73.bc5d98e7e7e76b3b.6ba50fd77e2a32b1
+    53de82bded2f5f19.f07ef41b5ac8d85a.4e317ef73e690e7e.eb7c111b42f8033a
+    bf5e197a9f6996be.c0dcc09c9672bedd.2f3a868a5703b0c1.942524f70fabb389
+    426cc657024efecb
+VBLENDPD_256_2of3(mem)
+  before
+    d11c732736eea02c.c5458b1cbdcce4a7.c3fe17d646d25d29.bdc4ab0bcb408bb3
+    1c03a553c89654d7.c1dfd40fe0e5867f.d5b077b786f47069.521be9e838addbfe
+    01ebdac7d352d7f9.0f78f1bfa73fb8f3.d2be5b2971e5b4ca.4c8b3c8c3ad5de4f
+    5ba18d6f742fe5bd.0b5bdc98ab66b6ae.96f3401a23b0e578.055fa1636b44ce51
+    dbe513d96a87e8b1
+  after
+    d11c732736eea02c.c5458b1cbdcce4a7.c3fe17d646d25d29.bdc4ab0bcb408bb3
+    1c03a553c89654d7.c1dfd40fe0e5867f.d5b077b786f47069.521be9e838addbfe
+    d11c732736eea02c.c1dfd40fe0e5867f.d5b077b786f47069.bdc4ab0bcb408bb3
+    5ba18d6f742fe5bd.0b5bdc98ab66b6ae.96f3401a23b0e578.055fa1636b44ce51
+    dbe513d96a87e8b1
+
+VBLENDPD_256_2of3(reg)
+  before
+    28678e5bd129671a.06f13a38c6383a50.11d593068ae7bb5e.fd1da075b961bf9e
+    4a320e533cb68939.dea65d0ce67991dd.7d331275e04d04ac.e206f9264e05fd69
+    9b928f2f48bb88ba.be8e72d9efffa792.abbf53524825cd47.237bc619ffa75c04
+    78d30e5990c3a048.8473f689fdd53898.f6c553075ffa51d9.9b48833ae753989c
+    2639ac7523166d5c
+  after
+    4a320e533cb68939.be8e72d9efffa792.abbf53524825cd47.e206f9264e05fd69
+    4a320e533cb68939.dea65d0ce67991dd.7d331275e04d04ac.e206f9264e05fd69
+    9b928f2f48bb88ba.be8e72d9efffa792.abbf53524825cd47.237bc619ffa75c04
+    78d30e5990c3a048.8473f689fdd53898.f6c553075ffa51d9.9b48833ae753989c
+    2639ac7523166d5c
+VBLENDPD_256_2of3(mem)
+  before
+    9f1abeb6cefb9671.3e40863fb15a0f90.0b23640a2d07ff1e.bc930f02c058cd0e
+    e4b634ea050ed007.4727f34b460d0f3e.2e6838479ba2b94e.587482ad07cb7d93
+    cfdb8afbe35cd74a.f0d252ebec67ddfd.cb0fef2c62b12254.26b3a876d1e09c14
+    3e533cd785f06664.958e9d8a3ef4b479.bce403a59e41f65d.819d7ec8ba22683c
+    c77eff0f5c1e1bb8
+  after
+    9f1abeb6cefb9671.3e40863fb15a0f90.0b23640a2d07ff1e.bc930f02c058cd0e
+    e4b634ea050ed007.4727f34b460d0f3e.2e6838479ba2b94e.587482ad07cb7d93
+    9f1abeb6cefb9671.4727f34b460d0f3e.2e6838479ba2b94e.bc930f02c058cd0e
+    3e533cd785f06664.958e9d8a3ef4b479.bce403a59e41f65d.819d7ec8ba22683c
+    c77eff0f5c1e1bb8
+
+VBLENDPD_256_2of3(reg)
+  before
+    53a226b7565ff134.0bebc66806d73a84.92a7d294d941d25f.dfb2f29e6c5cf095
+    8055f22c4271285b.146fa59c831b0fd4.4369ec7558d9715b.0f473703e711cd27
+    ace25cdbbce1fada.33ab545e17cba181.0520e79a5748ce19.276d4fc12c694940
+    3197612e613aa45c.466a4f9adef0abb6.3217bf6d731b2444.04f1b4c256721f0b
+    839fe4f382370cb6
+  after
+    8055f22c4271285b.33ab545e17cba181.0520e79a5748ce19.0f473703e711cd27
+    8055f22c4271285b.146fa59c831b0fd4.4369ec7558d9715b.0f473703e711cd27
+    ace25cdbbce1fada.33ab545e17cba181.0520e79a5748ce19.276d4fc12c694940
+    3197612e613aa45c.466a4f9adef0abb6.3217bf6d731b2444.04f1b4c256721f0b
+    839fe4f382370cb6
+VBLENDPD_256_2of3(mem)
+  before
+    7e435a41cbc4cc6a.6dbefe92cc08618e.277a123cf598eaa0.279b715b48ddb088
+    d3a992974e261b55.baa42e749ad76f1b.b4a51a3078ce1a6a.40f9f8d1711bae92
+    5c9c08e02668b4a3.7695ed3e663408b0.c7b8e262829ef641.d97b50398a5f5a0e
+    f6ea390a70975480.fbdd385eccab68f9.3d7fe6bf2f153b51.4e6e75013038efa8
+    fa1d6494fe2faa0b
+  after
+    7e435a41cbc4cc6a.6dbefe92cc08618e.277a123cf598eaa0.279b715b48ddb088
+    d3a992974e261b55.baa42e749ad76f1b.b4a51a3078ce1a6a.40f9f8d1711bae92
+    7e435a41cbc4cc6a.baa42e749ad76f1b.b4a51a3078ce1a6a.279b715b48ddb088
+    f6ea390a70975480.fbdd385eccab68f9.3d7fe6bf2f153b51.4e6e75013038efa8
+    fa1d6494fe2faa0b
+
+VBLENDPD_256_3of3(reg)
+  before
+    3bd6185e91d2c7e3.7d5da00047beb717.a7c8093f6ac6cda1.f2c6a2319c3ea5c5
+    6ce38dca85ac82dd.cec2b9aec7e99894.d4a15e4dd9137155.c35992a6e426f0ca
+    e992bf47744a16a5.c3e500000d24b425.dfb632f4b71e91c1.8a03330824d8d78b
+    0e2daa3efd36c0e6.3992f1e3357cc7f3.255182a0a0716890.2491004577601735
+    6dd07548facb6cf4
+  after
+    e992bf47744a16a5.c3e500000d24b425.d4a15e4dd9137155.c35992a6e426f0ca
+    6ce38dca85ac82dd.cec2b9aec7e99894.d4a15e4dd9137155.c35992a6e426f0ca
+    e992bf47744a16a5.c3e500000d24b425.dfb632f4b71e91c1.8a03330824d8d78b
+    0e2daa3efd36c0e6.3992f1e3357cc7f3.255182a0a0716890.2491004577601735
+    6dd07548facb6cf4
+VBLENDPD_256_3of3(mem)
+  before
+    418a0efcc82492f3.36014b1cb9ffbc4d.0c9409415afd8d2d.00bf48bd2f9a346e
+    7c8b474ffe77445f.bf599d4d472e4586.18b9c30798b1c1fd.cd4c82b700252f09
+    faa19d2cb7d03f64.04839c3e4051983c.39cb9b220ca6208f.e8432bfbb09c960a
+    97978b80103c3e2c.60c9445942f3f11c.4b970d7dd2e76611.adf23ff3da8da420
+    79a3ba0d1b8496f5
+  after
+    418a0efcc82492f3.36014b1cb9ffbc4d.0c9409415afd8d2d.00bf48bd2f9a346e
+    7c8b474ffe77445f.bf599d4d472e4586.18b9c30798b1c1fd.cd4c82b700252f09
+    418a0efcc82492f3.36014b1cb9ffbc4d.0c9409415afd8d2d.00bf48bd2f9a346e
+    97978b80103c3e2c.60c9445942f3f11c.4b970d7dd2e76611.adf23ff3da8da420
+    79a3ba0d1b8496f5
+
+VBLENDPD_256_3of3(reg)
+  before
+    a6a499b30f0ba835.2f388d3524c7ffe6.3179910ce9a18bd1.2ae9960305814fac
+    913fd75350b1168e.9e5120380f7b3cbc.d2dd80c1d0e6a408.b28db1a2c17f968f
+    96c170587dff1ba9.c0afbe76ee66b2db.9e420ce6934e766c.bf4fda4523edf8e4
+    1175602e2f83f435.711be5d9dd931c6e.f3f431e6cf653daa.2dfa8dd846d830d7
+    d85c4647474bfc96
+  after
+    96c170587dff1ba9.c0afbe76ee66b2db.d2dd80c1d0e6a408.b28db1a2c17f968f
+    913fd75350b1168e.9e5120380f7b3cbc.d2dd80c1d0e6a408.b28db1a2c17f968f
+    96c170587dff1ba9.c0afbe76ee66b2db.9e420ce6934e766c.bf4fda4523edf8e4
+    1175602e2f83f435.711be5d9dd931c6e.f3f431e6cf653daa.2dfa8dd846d830d7
+    d85c4647474bfc96
+VBLENDPD_256_3of3(mem)
+  before
+    9c3f827e4152164a.5ea9a34105c8dddc.8d64104ff70f37a2.2b3fec2d20b8376e
+    5570bc6950fa3b22.d9a736fd985a124a.f055bbc358e5bfa3.a46e372721d39e63
+    debb70f5924e2648.debd14ce86c6ce2d.76b963201d21709c.b8ce10406e40af36
+    15ec1a0c205a95e8.c93539216b974e2e.fa5e835461d005ba.c5ac72e5a48da593
+    255259805e46be25
+  after
+    9c3f827e4152164a.5ea9a34105c8dddc.8d64104ff70f37a2.2b3fec2d20b8376e
+    5570bc6950fa3b22.d9a736fd985a124a.f055bbc358e5bfa3.a46e372721d39e63
+    9c3f827e4152164a.5ea9a34105c8dddc.8d64104ff70f37a2.2b3fec2d20b8376e
+    15ec1a0c205a95e8.c93539216b974e2e.fa5e835461d005ba.c5ac72e5a48da593
+    255259805e46be25
+
+VBLENDPD_256_3of3(reg)
+  before
+    350dc27e39f53498.d5ce379c182b422f.f55ca160e25acdfc.5a0e974a41fd3b28
+    5228a74cd128449a.fa2f428f96cce949.c07e49f9889a8941.71961beed9b4ce13
+    d6f10655c06b29d5.5fd9b7d3b5494861.85e62c56f8e3bca9.1bc28b2d43027aa7
+    1eb2da04a54820f5.e299125391af19a4.a0e246e5cec1a3e1.335d64f19ef2fa0f
+    9735202703910b77
+  after
+    d6f10655c06b29d5.5fd9b7d3b5494861.c07e49f9889a8941.71961beed9b4ce13
+    5228a74cd128449a.fa2f428f96cce949.c07e49f9889a8941.71961beed9b4ce13
+    d6f10655c06b29d5.5fd9b7d3b5494861.85e62c56f8e3bca9.1bc28b2d43027aa7
+    1eb2da04a54820f5.e299125391af19a4.a0e246e5cec1a3e1.335d64f19ef2fa0f
+    9735202703910b77
+VBLENDPD_256_3of3(mem)
+  before
+    21143dbc91e9690d.86b920c7194d65a7.5d3bcffb4709193e.6cbc9311a7c17995
+    afc7379a6108cffb.6b50d209ba063497.ae8b6bb7f363035a.47c10f451e6e7b70
+    1b1b88af91fafa6d.27c4ee3624fdc870.b0546173b0ca9425.8c3eb7efd055e51f
+    43d9aee63dcaa690.17616fbaf2c05edf.3e642d1b9a4988ca.967c867a5901f34e
+    c3ca785354fee1a8
+  after
+    21143dbc91e9690d.86b920c7194d65a7.5d3bcffb4709193e.6cbc9311a7c17995
+    afc7379a6108cffb.6b50d209ba063497.ae8b6bb7f363035a.47c10f451e6e7b70
+    21143dbc91e9690d.86b920c7194d65a7.5d3bcffb4709193e.6cbc9311a7c17995
+    43d9aee63dcaa690.17616fbaf2c05edf.3e642d1b9a4988ca.967c867a5901f34e
+    c3ca785354fee1a8
+
+VPBLENDW_128_0x00(reg)
+  before
+    6e7389e45dd9eada.01d0242b80848f90.97725101c1db328f.36854b9cceed9b76
+    f2c2b69a111c4b8f.33cb666976347098.034591782cd97f2d.728437e067c08954
+    ad04fae20b563f74.b395f08f3ce706d5.b7242989cf468365.cf2d6ed482d10d91
+    f9865126e8100334.5ffc3f86eea80d72.0f5c17a247ae78e2.2a4c6b653a29e459
+    5dadaa7eacd6c9d7
+  after
+    0000000000000000.0000000000000000.034591782cd97f2d.728437e067c08954
+    f2c2b69a111c4b8f.33cb666976347098.034591782cd97f2d.728437e067c08954
+    ad04fae20b563f74.b395f08f3ce706d5.b7242989cf468365.cf2d6ed482d10d91
+    f9865126e8100334.5ffc3f86eea80d72.0f5c17a247ae78e2.2a4c6b653a29e459
+    5dadaa7eacd6c9d7
+VPBLENDW_128_0x00(mem)
+  before
+    451ba80bf3e37a38.3492b7d443d8d37c.11cacd3ba784409d.6739562d309e9a51
+    bf64dff72b5cb1a7.b8742856b83aebf8.a6cc189a83855c7f.1b07e29824a1275d
+    a552cd30724e2a52.e27aa11ae4c08753.facd9c909fba1d46.8712b84ec24359b3
+    d4b2eda1e1c5a362.0fee1d8b63f8e23a.ea9bd307162c3f1e.07a6d3baa4116cff
+    f60e2f4a66969eec
+  after
+    451ba80bf3e37a38.3492b7d443d8d37c.11cacd3ba784409d.6739562d309e9a51
+    bf64dff72b5cb1a7.b8742856b83aebf8.a6cc189a83855c7f.1b07e29824a1275d
+    0000000000000000.0000000000000000.a6cc189a83855c7f.1b07e29824a19a51
+    d4b2eda1e1c5a362.0fee1d8b63f8e23a.ea9bd307162c3f1e.07a6d3baa4116cff
+    f60e2f4a66969eec
+
+VPBLENDW_128_0x00(reg)
+  before
+    b297c869a55f2926.2850bb3796cbd605.991e9815d06d3959.50013bed05e97d33
+    968d9a83fcf74a5b.7ef8b4dcad6e8067.dd540e24c8acc75b.09ca4e2c87fc94b0
+    fe3ca20508ea3d35.b075527d41b95cb4.38dd7c24e640caec.f1c38bb2b97240c1
+    45f0db5964c43d60.9b9513076eb92817.0405dc82c6b67cba.e4b86b6ab6563d94
+    be756b409bb44652
+  after
+    0000000000000000.0000000000000000.dd540e24c8acc75b.09ca4e2c87fc94b0
+    968d9a83fcf74a5b.7ef8b4dcad6e8067.dd540e24c8acc75b.09ca4e2c87fc94b0
+    fe3ca20508ea3d35.b075527d41b95cb4.38dd7c24e640caec.f1c38bb2b97240c1
+    45f0db5964c43d60.9b9513076eb92817.0405dc82c6b67cba.e4b86b6ab6563d94
+    be756b409bb44652
+VPBLENDW_128_0x00(mem)
+  before
+    5bc608208398182a.c9f541ecad128789.1b22726451799ebc.9e182ca80598196e
+    9776bdf68b0f6e46.e596d02b7e60575c.0ce9ec8205057bd0.626167043e74dfb7
+    4e5306aece2506d2.f42184817338e984.4ab6fb4ba7697a7f.ac2e8a000ed6083f
+    5c27603568e49afb.54e05a59292878ae.b1551dad53b258f5.d8c98f0a1148d1b2
+    437f748de15876be
+  after
+    5bc608208398182a.c9f541ecad128789.1b22726451799ebc.9e182ca80598196e
+    9776bdf68b0f6e46.e596d02b7e60575c.0ce9ec8205057bd0.626167043e74dfb7
+    0000000000000000.0000000000000000.0ce9ec8205057bd0.626167043e74196e
+    5c27603568e49afb.54e05a59292878ae.b1551dad53b258f5.d8c98f0a1148d1b2
+    437f748de15876be
+
+VPBLENDW_128_0x00(reg)
+  before
+    479c34f41d92320c.9dbf4575775ae7ed.60204d213cbb4186.1d92cd9323ecd15d
+    416cccad5e81424b.ede7335c1493a8d4.732d5944477e80b7.6a3887e93621a1e3
+    8d3a362343b1e225.286ba5d45d999adb.eb527b2ee6fc70ee.7415c89ba55f83b4
+    875470c265ae4d46.2a1617cb6d7a792e.22ddad4bb6c14ed6.16f30a958eb234fc
+    2e9fcbc40d2470e6
+  after
+    0000000000000000.0000000000000000.732d5944477e80b7.6a3887e93621a1e3
+    416cccad5e81424b.ede7335c1493a8d4.732d5944477e80b7.6a3887e93621a1e3
+    8d3a362343b1e225.286ba5d45d999adb.eb527b2ee6fc70ee.7415c89ba55f83b4
+    875470c265ae4d46.2a1617cb6d7a792e.22ddad4bb6c14ed6.16f30a958eb234fc
+    2e9fcbc40d2470e6
+VPBLENDW_128_0x00(mem)
+  before
+    97e586123dc3f39f.8a0475f76205c05c.cfb6062c614201fa.7518ed07535a561c
+    2d91b86c3b9b7853.f497412cd6417710.f315ede355fbed6b.415036ce5852c46b
+    cb6edbbf22b6bc2d.2059d0ce5cefae11.710047dc63b3faac.e0d2840d6135d370
+    4f4a6df60e227b5a.6a961f4a9199a009.27439303aa76e4ea.b0e7d42e0b90c0d7
+    0bde209ff1eec74b
+  after
+    97e586123dc3f39f.8a0475f76205c05c.cfb6062c614201fa.7518ed07535a561c
+    2d91b86c3b9b7853.f497412cd6417710.f315ede355fbed6b.415036ce5852c46b
+    0000000000000000.0000000000000000.f315ede355fbed6b.415036ce5852561c
+    4f4a6df60e227b5a.6a961f4a9199a009.27439303aa76e4ea.b0e7d42e0b90c0d7
+    0bde209ff1eec74b
+
+VPBLENDW_128_0xFE(reg)
+  before
+    4e0266cab0db2379.94efe9fc1ceb7005.2e9a280a10ce8ba4.f0aa4a44444e6751
+    d59ea11de3e4110c.752acbbf681b585b.c8b0e97c7517a88f.a701e98b4d493e0c
+    fd00ce032794cdb2.d0c7902a0dc1ef87.93265e0b5d023676.2a13edc5e2732648
+    2072e7e817779314.8092b22927e6f1b7.ed468123631a6f04.53aed1dc1ed6db30
+    009c12be1d8118f1
+  after
+    0000000000000000.0000000000000000.93265e0b5d023676.2a13edc5e2733e0c
+    d59ea11de3e4110c.752acbbf681b585b.c8b0e97c7517a88f.a701e98b4d493e0c
+    fd00ce032794cdb2.d0c7902a0dc1ef87.93265e0b5d023676.2a13edc5e2732648
+    2072e7e817779314.8092b22927e6f1b7.ed468123631a6f04.53aed1dc1ed6db30
+    009c12be1d8118f1
+VPBLENDW_128_0xFE(mem)
+  before
+    0caa2a56fc7d9ab6.9b41ea384f1a9ee0.6056afa8d3981914.315d503024ec90e6
+    52a4978fd7d81dac.cab8d25f6d082bc2.4ee102932de224cd.bab7c69e3c03d5c8
+    af56d457c99d5dff.09259bc90acd7666.24fd27d74fd0ce0b.e69fdfd945eb7955
+    008b5d99efd815da.b4d342e2c4f6bb77.c0779b5e586fd2fd.0f63974dde30b93a
+    934deb67a15fd122
+  after
+    0caa2a56fc7d9ab6.9b41ea384f1a9ee0.6056afa8d3981914.315d503024ec90e6
+    52a4978fd7d81dac.cab8d25f6d082bc2.4ee102932de224cd.bab7c69e3c03d5c8
+    0000000000000000.0000000000000000.6056afa8d3981914.315d503024ec90e6
+    008b5d99efd815da.b4d342e2c4f6bb77.c0779b5e586fd2fd.0f63974dde30b93a
+    934deb67a15fd122
+
+VPBLENDW_128_0xFE(reg)
+  before
+    ccabd5912a04fdba.1f11ae416496026a.270dc117370e35a1.fc1bd91661caedcd
+    18c7533815a978ad.eab2443b44e2e0db.be2016d2fea12191.b5b55ce989eedba8
+    d1ee61c900dc7fa8.3b3b9973acc96a58.d5583c81b53cbaf3.c811a3c5e9e558b9
+    556cf9af84284e57.ef782bd6b7565d0d.c801308ff96a3e73.0ffa27959fbe1f2d
+    673e6644c782ed2f
+  after
+    0000000000000000.0000000000000000.d5583c81b53cbaf3.c811a3c5e9e5dba8
+    18c7533815a978ad.eab2443b44e2e0db.be2016d2fea12191.b5b55ce989eedba8
+    d1ee61c900dc7fa8.3b3b9973acc96a58.d5583c81b53cbaf3.c811a3c5e9e558b9
+    556cf9af84284e57.ef782bd6b7565d0d.c801308ff96a3e73.0ffa27959fbe1f2d
+    673e6644c782ed2f
+VPBLENDW_128_0xFE(mem)
+  before
+    ada7dac07c3f7eec.fe8c19563f1a2065.e335754e82957528.f367ec6765b8e7bb
+    bb0201f4db008d90.2a9cbb2acd3d327f.f13ef4c929926ed2.b2d56e7796b1f27a
+    6e1b57cdffd2d746.33e6dd97c91dc051.f65e2231c65a033a.6199b12a27e19a5a
+    a2be563504c0183b.76b77b09d0470686.ce627d7478f8f18a.5cfdb1ecb5d41c08
+    fe4e6a29db17b42f
+  after
+    ada7dac07c3f7eec.fe8c19563f1a2065.e335754e82957528.f367ec6765b8e7bb
+    bb0201f4db008d90.2a9cbb2acd3d327f.f13ef4c929926ed2.b2d56e7796b1f27a
+    0000000000000000.0000000000000000.e335754e82957528.f367ec6765b8e7bb
+    a2be563504c0183b.76b77b09d0470686.ce627d7478f8f18a.5cfdb1ecb5d41c08
+    fe4e6a29db17b42f
+
+VPBLENDW_128_0xFE(reg)
+  before
+    a5d8d94e36359e7c.33b67c1907d60c9a.4f5b8fec7d463fca.5517807d5879f4ef
+    ace7f9c561bb159b.fdd1446624206e90.1b1e17ac6ca6a8cb.6747a83885e8c894
+    6ec7c6fbf9345737.dcd92a0676abfb49.344c0eb53af47d32.e0bf6f91185128a6
+    49c33c5d992c9dfd.ac9baae719836ff0.f730707482bbfaae.9d4a53742fc1d150
+    78b6cfcde6437ebf
+  after
+    0000000000000000.0000000000000000.344c0eb53af47d32.e0bf6f911851c894
+    ace7f9c561bb159b.fdd1446624206e90.1b1e17ac6ca6a8cb.6747a83885e8c894
+    6ec7c6fbf9345737.dcd92a0676abfb49.344c0eb53af47d32.e0bf6f91185128a6
+    49c33c5d992c9dfd.ac9baae719836ff0.f730707482bbfaae.9d4a53742fc1d150
+    78b6cfcde6437ebf
+VPBLENDW_128_0xFE(mem)
+  before
+    4ecd5f8858e3ed1f.98285855de302698.49e341f32ab286b2.c0183953e1885ae9
+    fa5c7f91a2add89b.b643145163ca2cb5.8f7d6918c446fbba.eb4e66c0f2e5da8f
+    5a30acd5dfaefc5f.015e6ebcc489ecff.5a35a041044a8b35.d41ff2265260b54e
+    4913613e2bf21499.d3c561029ef6a223.86d6625a05cbf14f.d7d7d9f19d8529cf
+    50c2178d6ddf70c1
+  after
+    4ecd5f8858e3ed1f.98285855de302698.49e341f32ab286b2.c0183953e1885ae9
+    fa5c7f91a2add89b.b643145163ca2cb5.8f7d6918c446fbba.eb4e66c0f2e5da8f
+    0000000000000000.0000000000000000.49e341f32ab286b2.c0183953e1885ae9
+    4913613e2bf21499.d3c561029ef6a223.86d6625a05cbf14f.d7d7d9f19d8529cf
+    50c2178d6ddf70c1
+
+VPBLENDW_128_0x30(reg)
+  before
+    9b2ba96660fac6ce.a3d11abaa383dd73.8ac6ea8f8d9f89cd.ef2e294fe4d4eb33
+    146089e8126269a2.44385334636f1319.80ac03cf2c0fdfa8.7107730cbc71330e
+    17abb57f1ea493eb.0812899885c272b8.13c2aa2e17d3dd61.e82ebb7eaaaf860b
+    00592897214b8152.cb2d36d12886b57c.9d55da18eb76c2a4.306f7d8fc9999f57
+    2496352c363b3c1e
+  after
+    0000000000000000.0000000000000000.80ac03cf17d3dd61.7107730cbc71330e
+    146089e8126269a2.44385334636f1319.80ac03cf2c0fdfa8.7107730cbc71330e
+    17abb57f1ea493eb.0812899885c272b8.13c2aa2e17d3dd61.e82ebb7eaaaf860b
+    00592897214b8152.cb2d36d12886b57c.9d55da18eb76c2a4.306f7d8fc9999f57
+    2496352c363b3c1e
+VPBLENDW_128_0x30(mem)
+  before
+    a26e60420ca2168b.2bb6df9db6e46f86.6853d8cd66c99991.7cb18ffa4384c81c
+    85c578bc67d9ecca.f40ed4fb79f99831.bd51ea785b97da21.0a22c63ebc8a2c75
+    a865fb8564ec7909.b7ad051f081939ff.a5f3e9bc24fa345b.a4f47a52f1132a5d
+    e91b648b1fe87872.cfde6d73fccd8e9d.fb044f86dc006269.a673a6a07fabfe7e
+    6dea499601dfe384
+  after
+    a26e60420ca2168b.2bb6df9db6e46f86.6853d8cd66c99991.7cb18ffa4384c81c
+    85c578bc67d9ecca.f40ed4fb79f99831.bd51ea785b97da21.0a22c63ebc8a2c75
+    0000000000000000.0000000000000000.bd51ea785b97da21.0a22c63e4384c81c
+    e91b648b1fe87872.cfde6d73fccd8e9d.fb044f86dc006269.a673a6a07fabfe7e
+    6dea499601dfe384
+
+VPBLENDW_128_0x30(reg)
+  before
+    53a65c9f143a161c.23b330b9b3d8a631.9aef0865f3a3d3b7.9d529ac2a0b52178
+    b5f3dc275348d2f2.31f9dafb3cc9be73.732ad360882643f8.66a7455d8b242db3
+    ef1dc69a5b9655b1.f1b8dd3dd7c57d64.b5dcc8d058e31b0d.31d1cc41ba594147
+    5d701564c7afd906.3dbeb76b9fda9f2f.be51e521ff6597a2.dc9aac5c48601a60
+    41ce609951467429
+  after
+    0000000000000000.0000000000000000.732ad36058e31b0d.66a7455d8b242db3
+    b5f3dc275348d2f2.31f9dafb3cc9be73.732ad360882643f8.66a7455d8b242db3
+    ef1dc69a5b9655b1.f1b8dd3dd7c57d64.b5dcc8d058e31b0d.31d1cc41ba594147
+    5d701564c7afd906.3dbeb76b9fda9f2f.be51e521ff6597a2.dc9aac5c48601a60
+    41ce609951467429
+VPBLENDW_128_0x30(mem)
+  before
+    3e3b63e4f2160bce.5b38c5f134209a9c.f3d5e472b114e001.e9d525bf1738f262
+    adac342947dc9a7d.46c0d3ad3d73d620.edcade3c287efc06.91b385173fe869fa
+    6bec4c546ba5de5f.785639057e36c73e.096923b72124ae69.1439ff9310023815
+    55c928517a7c93a3.4e44f56394f5aaa1.217e2ecdb712b356.ccb191a029119b60
+    176836ab23a2cd86
+  after
+    3e3b63e4f2160bce.5b38c5f134209a9c.f3d5e472b114e001.e9d525bf1738f262
+    adac342947dc9a7d.46c0d3ad3d73d620.edcade3c287efc06.91b385173fe869fa
+    0000000000000000.0000000000000000.edcade3c287efc06.91b385171738f262
+    55c928517a7c93a3.4e44f56394f5aaa1.217e2ecdb712b356.ccb191a029119b60
+    176836ab23a2cd86
+
+VPBLENDW_128_0x30(reg)
+  before
+    4faaea1e9d400b34.450d450c916e7473.24d702351a3bbbf6.12d57b6c0755c6fb
+    d2c3aa6730779116.18851e71cc863efc.555b5de5ad9435e8.b939867f2cf8a481
+    faff70f17ad49ad7.abfc2f6d45d0ad69.3f1c00e1e98c5524.f078ccf243080a17
+    24a93a2817e26324.d840f5ea1b587de7.3d65e99469b05755.945cc8b16790b1e7
+    81b2f6a8b49c581e
+  after
+    0000000000000000.0000000000000000.555b5de5e98c5524.b939867f2cf8a481
+    d2c3aa6730779116.18851e71cc863efc.555b5de5ad9435e8.b939867f2cf8a481
+    faff70f17ad49ad7.abfc2f6d45d0ad69.3f1c00e1e98c5524.f078ccf243080a17
+    24a93a2817e26324.d840f5ea1b587de7.3d65e99469b05755.945cc8b16790b1e7
+    81b2f6a8b49c581e
+VPBLENDW_128_0x30(mem)
+  before
+    9346d2c34838b9e7.ad0e0378a22d28a9.7c1cead6682b69a1.ab84136ac98b7629
+    a7e4d8ee3c71916f.ef7bc74db7422511.735b8c1c48552ec4.e5c37acfa6aaf049
+    97578515ae529be1.473a8313f3ac9508.99ca56a7d8e0887c.476f1a2f9b98ff64
+    406d5425b9e8956a.11973236f2f7b53b.ca35c56533da33f4.2cd4f0f645e1df24
+    f23ef7913f11ce35
+  after
+    9346d2c34838b9e7.ad0e0378a22d28a9.7c1cead6682b69a1.ab84136ac98b7629
+    a7e4d8ee3c71916f.ef7bc74db7422511.735b8c1c48552ec4.e5c37acfa6aaf049
+    0000000000000000.0000000000000000.735b8c1c48552ec4.e5c37acfc98b7629
+    406d5425b9e8956a.11973236f2f7b53b.ca35c56533da33f4.2cd4f0f645e1df24
+    f23ef7913f11ce35
+
+VPBLENDW_128_0x21(reg)
+  before
+    f4f82b6a25b50644.7ef0c1087a3e3936.aae0d0234fb0c156.e3685341754eea59
+    8d5088ef9558c4fd.2dad49ac0d604470.6c605944a662f405.be2f7e27bc496ad6
+    1b900b8a2887430b.297066fc8d5b7145.b462c90794998bf3.3855c10321d66e98
+    f905aea97ccdc01b.4e0596e3163a7de0.de331dd6b4e2c2cc.2da898c2c201b4cb
+    79f27f4ebbd7f69a
+  after
+    0000000000000000.0000000000000000.6c6059449499f405.be2f7e27bc496e98
+    8d5088ef9558c4fd.2dad49ac0d604470.6c605944a662f405.be2f7e27bc496ad6
+    1b900b8a2887430b.297066fc8d5b7145.b462c90794998bf3.3855c10321d66e98
+    f905aea97ccdc01b.4e0596e3163a7de0.de331dd6b4e2c2cc.2da898c2c201b4cb
+    79f27f4ebbd7f69a
+VPBLENDW_128_0x21(mem)
+  before
+    f700f3942763f132.82fb6fb72db677d9.7838544fc509246e.461f4f1fa3c8d53e
+    859e6f8122b160be.14be4a20d6cfa4f0.83d41c2bb5d5221b.48725e4dfcd8fff2
+    fe986f00c9cd006b.099a395013a3830d.4ba76b6303a93212.407843cc5c9c7d97
+    3eb96ffc38c48d65.bfda39b381be4fdb.ac7bbbe3ca91117f.8a7dfb085ea38bd7
+    82cc836d9f76655e
+  after
+    f700f3942763f132.82fb6fb72db677d9.7838544fc509246e.461f4f1fa3c8d53e
+    859e6f8122b160be.14be4a20d6cfa4f0.83d41c2bb5d5221b.48725e4dfcd8fff2
+    0000000000000000.0000000000000000.83d41c2bb5d5246e.48725e4da3c8fff2
+    3eb96ffc38c48d65.bfda39b381be4fdb.ac7bbbe3ca91117f.8a7dfb085ea38bd7
+    82cc836d9f76655e
+
+VPBLENDW_128_0x21(reg)
+  before
+    84b3d667baa346d9.21cfec638aa2c3d7.90cc47b5bcac4507.811d8a98279a7b90
+    ec7cf0634cb56bf4.83a46020db715ded.d9ba5ec25efaa03c.a859536c35cf2c6f
+    1674cdcbf038105b.3f05491f484018d5.f7f17b4606349e27.fcfb924d103cdf48
+    5ee76a0d42b970b9.33be224cec18b0b9.44bd98ae4ee47974.59cec425d5ee5148
+    9aa064e2a0f03e9b
+  after
+    0000000000000000.0000000000000000.d9ba5ec20634a03c.a859536c35cfdf48
+    ec7cf0634cb56bf4.83a46020db715ded.d9ba5ec25efaa03c.a859536c35cf2c6f
+    1674cdcbf038105b.3f05491f484018d5.f7f17b4606349e27.fcfb924d103cdf48
+    5ee76a0d42b970b9.33be224cec18b0b9.44bd98ae4ee47974.59cec425d5ee5148
+    9aa064e2a0f03e9b
+VPBLENDW_128_0x21(mem)
+  before
+    9d3bee6e8c4e616c.1f20c293dfc3c8ba.3a9b6893e407e1c5.1e6ab364d2986dce
+    3d6cdeb7b51577e8.b76dd1cb63e3540b.2f6895e14b186626.df43c7d62fdcb8e2
+    55ffb0a838503c3b.8118932069a44f58.f0f027203e57fc08.e496d06f003a945b
+    c3c0e12d310b6c90.d96e04fd8d92f74c.5801993dd8d15f96.89adca9be2403ee6
+    2ad5b2c6707af12f
+  after
+    9d3bee6e8c4e616c.1f20c293dfc3c8ba.3a9b6893e407e1c5.1e6ab364d2986dce
+    3d6cdeb7b51577e8.b76dd1cb63e3540b.2f6895e14b186626.df43c7d62fdcb8e2
+    0000000000000000.0000000000000000.2f6895e14b18e1c5.df43c7d6d298b8e2
+    c3c0e12d310b6c90.d96e04fd8d92f74c.5801993dd8d15f96.89adca9be2403ee6
+    2ad5b2c6707af12f
+
+VPBLENDW_128_0x21(reg)
+  before
+    245a825c4673ebe1.617aec32bb53c214.1abb21d06c3a8694.4265672536914afd
+    d18838c901b766a9.0dfb4da4f233fbf2.a24be504a22638dc.8ce90ec373a37a69
+    8eabcf793dd29f32.a10d806df3b8d357.cb6a4c06c9e54bcf.10590802ab14ab05
+    b70e44d89551d129.fb7d027ad9ec056e.f36452408000f91a.ac81d3d0fbef99fe
+    3a2cea187f41ff7f
+  after
+    0000000000000000.0000000000000000.a24be504c9e538dc.8ce90ec373a3ab05
+    d18838c901b766a9.0dfb4da4f233fbf2.a24be504a22638dc.8ce90ec373a37a69
+    8eabcf793dd29f32.a10d806df3b8d357.cb6a4c06c9e54bcf.10590802ab14ab05
+    b70e44d89551d129.fb7d027ad9ec056e.f36452408000f91a.ac81d3d0fbef99fe
+    3a2cea187f41ff7f
+VPBLENDW_128_0x21(mem)
+  before
+    9728cac652149ab5.a8ff9253a5bf393a.f5174db8c1dd4e64.7584f41f60057f68
+    a03fedc6907726cb.bdc8b4540aa81310.6ca7df11c6976a65.ac172d10087f1866
+    2f3ed10556735eee.52b6a94960999b58.3df933730525159c.f669f97d11fb02bf
+    21f1f16dc016ff4a.c3156a9c421d0cbd.42d8c6c999930a36.adc654d41a047720
+    2e7a3a80bc26b335
+  after
+    9728cac652149ab5.a8ff9253a5bf393a.f5174db8c1dd4e64.7584f41f60057f68
+    a03fedc6907726cb.bdc8b4540aa81310.6ca7df11c6976a65.ac172d10087f1866
+    0000000000000000.0000000000000000.6ca7df11c6974e64.ac172d1060051866
+    21f1f16dc016ff4a.c3156a9c421d0cbd.42d8c6c999930a36.adc654d41a047720
+    2e7a3a80bc26b335
+
+VPBLENDW_128_0xD7(reg)
+  before
+    d6d1a8ec95eef4a9.5324c9ebe96bc50a.6c30f4bb4cc1a3ec.581212ff9eed065f
+    ff16998641e77429.9fa3d66ced7f6c5b.a95544111b0f9c91.5c7195013240c542
+    079709b95b9d7061.e23992dae95caf68.d5ce550a4a963357.28c2cabb6e97020b
+    489ef4f17f9d23fc.f8b37b23f8114b5e.4ee9231276dfa3eb.99d12d1970ff7ae7
+    8b6a3b075483e902
+  after
+    0000000000000000.0000000000000000.d5ce550a1b0f3357.5c71cabb6e97020b
+    ff16998641e77429.9fa3d66ced7f6c5b.a95544111b0f9c91.5c7195013240c542
+    079709b95b9d7061.e23992dae95caf68.d5ce550a4a963357.28c2cabb6e97020b
+    489ef4f17f9d23fc.f8b37b23f8114b5e.4ee9231276dfa3eb.99d12d1970ff7ae7
+    8b6a3b075483e902
+VPBLENDW_128_0xD7(mem)
+  before
+    da586f71352f0b88.1f78569a4a72cba6.bdde0c3237a7fc69.6ff0ab953a7829f8
+    626944442f109ba4.e8712c2158a8a20c.0e84c1f3c12c7eb4.9430e7ff33ec012b
+    ff67396a5f315682.ffd471f044cce5da.c5721752b3ab8c6c.18f4d5bdfcc86630
+    8e1fc7d1e09ef850.c1ef2175aa69cfbc.bf73893b2831e3bc.598a7039329795b2
+    b23db4e070e5ca5e
+  after
+    da586f71352f0b88.1f78569a4a72cba6.bdde0c3237a7fc69.6ff0ab953a7829f8
+    626944442f109ba4.e8712c2158a8a20c.0e84c1f3c12c7eb4.9430e7ff33ec012b
+    0000000000000000.0000000000000000.0e840c3237a77eb4.6ff0ab9533ec012b
+    8e1fc7d1e09ef850.c1ef2175aa69cfbc.bf73893b2831e3bc.598a7039329795b2
+    b23db4e070e5ca5e
+
+VPBLENDW_128_0xD7(reg)
+  before
+    7e589e1f533e40df.e95d6b64cf633d37.880c391a270b9d5d.d855939a3cc93ed1
+    1b282961762f35e2.eceda20e488de066.b179b34d563f8b69.ece2b15b0c7f5bd7
+    e3f950127543e312.759be7bd65289e07.98808d79d490d58e.d7e85f6bb460f4f9
+    3417129ded07861c.5f32b65c453e3246.996ec2093c8bb675.75311ab44f77c664
+    a18a5d24fad08c43
+  after
+    0000000000000000.0000000000000000.98808d79563fd58e.ece25f6bb460f4f9
+    1b282961762f35e2.eceda20e488de066.b179b34d563f8b69.ece2b15b0c7f5bd7
+    e3f950127543e312.759be7bd65289e07.98808d79d490d58e.d7e85f6bb460f4f9
+    3417129ded07861c.5f32b65c453e3246.996ec2093c8bb675.75311ab44f77c664
+    a18a5d24fad08c43
+VPBLENDW_128_0xD7(mem)
+  before
+    39bea4a5d07803c3.68ce68707a065cac.86808cd701dd5a50.108e4e6b2bba6bcd
+    189b6b25ed7ae710.dd6950f7b7cc9f6d.c64fe41bb811d051.592e2e0a3cab3040
+    1aeb2e8f6ee2f455.ed36c49c40e68c0c.fb6c391283e45175.d0995d520cea407a
+    1b7c6acf6ebde5bf.f67fc2ccb2df5e35.01a309a9806498e6.d11ad6b03602d928
+    b8fe988e577f35f6
+  after
+    39bea4a5d07803c3.68ce68707a065cac.86808cd701dd5a50.108e4e6b2bba6bcd
+    189b6b25ed7ae710.dd6950f7b7cc9f6d.c64fe41bb811d051.592e2e0a3cab3040
+    0000000000000000.0000000000000000.c64f8cd701ddd051.108e4e6b3cab3040
+    1b7c6acf6ebde5bf.f67fc2ccb2df5e35.01a309a9806498e6.d11ad6b03602d928
+    b8fe988e577f35f6
+
+VPBLENDW_128_0xD7(reg)
+  before
+    e1919c590aed9090.f6189ad10a167779.529146f3a8435393.b3c0d0cdcb9d63d3
+    a71fe07eebd928a1.898c3a815df966b0.5eb84a7ebf9fa5d2.ef8e08687f996b66
+    68f35e6797ce37d5.afa4c7cb84736e8f.7740ccd7927e91a0.90db2f68b9666fcc
+    7f5b1482aa59fad9.432bbb9b9a8f4a44.f774c76cbe6c52a6.7171c0b894102a30
+    701d37432ca157bf
+  after
+    0000000000000000.0000000000000000.7740ccd7bf9f91a0.ef8e2f68b9666fcc
+    a71fe07eebd928a1.898c3a815df966b0.5eb84a7ebf9fa5d2.ef8e08687f996b66
+    68f35e6797ce37d5.afa4c7cb84736e8f.7740ccd7927e91a0.90db2f68b9666fcc
+    7f5b1482aa59fad9.432bbb9b9a8f4a44.f774c76cbe6c52a6.7171c0b894102a30
+    701d37432ca157bf
+VPBLENDW_128_0xD7(mem)
+  before
+    68ab11f79e28b3a5.48a1fe3abf05ac59.23ef94debc59b7f8.3ba237a8def62593
+    34e7c8bf05aef90d.1e1316fb725e8a00.2abacd7e05de71da.a01418f68fa74611
+    b29cda877e41e623.5ffb5a3160f0d07b.335ae26992293313.801767c46c0bf1cd
+    bc98c23c25ec3615.66a6c5482448ba76.1c9950897e46bad2.38f71e7d12af6172
+    24003b8e1c1ed3ad
+  after
+    68ab11f79e28b3a5.48a1fe3abf05ac59.23ef94debc59b7f8.3ba237a8def62593
+    34e7c8bf05aef90d.1e1316fb725e8a00.2abacd7e05de71da.a01418f68fa74611
+    0000000000000000.0000000000000000.2aba94debc5971da.3ba237a88fa74611
+    bc98c23c25ec3615.66a6c5482448ba76.1c9950897e46bad2.38f71e7d12af6172
+    24003b8e1c1ed3ad
+
+VPBLENDW_128_0xB5(reg)
+  before
+    a07dba6126e48329.30a5fcc814bba50d.8e5f53ac5bf2849c.bf4491cce642c241
+    08bc9563cd8eac93.e89005186abbef37.357400c9a178699a.fa26231de528078d
+    b807ca00ada78c97.c225581940f7cfc0.b52fc80c9068a51b.a70d8168970544e1
+    0cac54a561bc5ce0.983071b5b57c02d4.6cdea8dfc74d76cc.a3c3289919e4366a
+    cb16929c87d19953
+  after
+    0000000000000000.0000000000000000.b52f00c99068a51b.fa268168e52844e1
+    08bc9563cd8eac93.e89005186abbef37.357400c9a178699a.fa26231de528078d
+    b807ca00ada78c97.c225581940f7cfc0.b52fc80c9068a51b.a70d8168970544e1
+    0cac54a561bc5ce0.983071b5b57c02d4.6cdea8dfc74d76cc.a3c3289919e4366a
+    cb16929c87d19953
+VPBLENDW_128_0xB5(mem)
+  before
+    f9d03d5dfcd828c9.60f52fbc85575b1b.477dccdae254439e.b4cb9bb0dfb41658
+    0abea4c99406a0f8.102e57b3b607c4f3.acd7e573e68e4f4b.eb439de97628c26c
+    dbac43ca6c66bd0b.78a5c8f59055d215.a10c396cda33e306.6b91abf82835b6b4
+    4665964d9f053b2f.f4a57feeadcfc12c.03e642b1dc51b8fc.9203bf4890682edb
+    bae4d7454b4c658e
+  after
+    f9d03d5dfcd828c9.60f52fbc85575b1b.477dccdae254439e.b4cb9bb0dfb41658
+    0abea4c99406a0f8.102e57b3b607c4f3.acd7e573e68e4f4b.eb439de97628c26c
+    0000000000000000.0000000000000000.acd7ccdae68e4f4b.b4cb9de9dfb4c26c
+    4665964d9f053b2f.f4a57feeadcfc12c.03e642b1dc51b8fc.9203bf4890682edb
+    bae4d7454b4c658e
+
+VPBLENDW_128_0xB5(reg)
+  before
+    407fee5bf46d9878.28b71a3f4aeed590.e079770aac00cfe6.ae327f2e08f38d59
+    812101f627580247.5d6c4a8b882d4859.976eacb5277536ec.7fbc69cf79261c48
+    d7160a828198e0a4.c151a21d76ce50b6.77d11b5bbab833ed.50507d804bf522f6
+    9faa076b9eb96f3d.31329ee02fdea9d4.dbebbe6801580293.feb9382d9b6c5a8e
+    65c515c38597823d
+  after
+    0000000000000000.0000000000000000.77d1acb5bab833ed.7fbc7d80792622f6
+    812101f627580247.5d6c4a8b882d4859.976eacb5277536ec.7fbc69cf79261c48
+    d7160a828198e0a4.c151a21d76ce50b6.77d11b5bbab833ed.50507d804bf522f6
+    9faa076b9eb96f3d.31329ee02fdea9d4.dbebbe6801580293.feb9382d9b6c5a8e
+    65c515c38597823d
+VPBLENDW_128_0xB5(mem)
+  before
+    613e902c2483542f.3529f31d1948e8be.87dbbbc2d0680edf.1f0b93489adede8a
+    cef12556943b8d8f.f5deca058ed08ad3.a01874ae74793c03.9e7c95681ed8047f
+    88aa512cf2cce88a.3c17888d9add8f27.58b44591381cee6b.b689c0322bd1b01e
+    6b358f995941224b.641e2a23d8fc3466.8b7daa55375de243.c28011145d561e12
+    1dab83794ff28908
+  after
+    613e902c2483542f.3529f31d1948e8be.87dbbbc2d0680edf.1f0b93489adede8a
+    cef12556943b8d8f.f5deca058ed08ad3.a01874ae74793c03.9e7c95681ed8047f
+    0000000000000000.0000000000000000.a018bbc274793c03.1f0b95689ade047f
+    6b358f995941224b.641e2a23d8fc3466.8b7daa55375de243.c28011145d561e12
+    1dab83794ff28908
+
+VPBLENDW_128_0xB5(reg)
+  before
+    255712cc9e312eac.535e5b8be6a6f7ff.ca40ab32e5b8b53d.153d1fe78d49d2b8
+    34d0ba7be59f49a9.1cf031edb40823d2.cac907265c9d4d58.d2c1213457eb7bf6
+    a86177f1c0c915ab.a2b98dabe07261ef.c0053a6bda383963.9dd52a26b14f9828
+    db58469acc3bcf60.c183ecb285f06e83.083f406dfa14b509.5445b9abb682e67b
+    d2dc47ae828f211b
+  after
+    0000000000000000.0000000000000000.c0050726da383963.d2c12a2657eb9828
+    34d0ba7be59f49a9.1cf031edb40823d2.cac907265c9d4d58.d2c1213457eb7bf6
+    a86177f1c0c915ab.a2b98dabe07261ef.c0053a6bda383963.9dd52a26b14f9828
+    db58469acc3bcf60.c183ecb285f06e83.083f406dfa14b509.5445b9abb682e67b
+    d2dc47ae828f211b
+VPBLENDW_128_0xB5(mem)
+  before
+    f368511a32820533.2bff21e3a47fb372.541bc9ecc08f06b9.fec5169859befcf6
+    93b354dde1684df0.f2a40736e523fd8d.394da046ac5ae5be.fee1b75892c14bd7
+    8d8acbe2ac4cb67d.8d91f1002bb3e85e.4be5edad665dc6be.64e01f1942a9de58
+    bfb93215af3afc07.5913dcae10b9b191.66ae2d0b09a566e4.8b0e4b480402f125
+    d1b7354f7459bfe8
+  after
+    f368511a32820533.2bff21e3a47fb372.541bc9ecc08f06b9.fec5169859befcf6
+    93b354dde1684df0.f2a40736e523fd8d.394da046ac5ae5be.fee1b75892c14bd7
+    0000000000000000.0000000000000000.394dc9ecac5ae5be.fec5b75859be4bd7
+    bfb93215af3afc07.5913dcae10b9b191.66ae2d0b09a566e4.8b0e4b480402f125
+    d1b7354f7459bfe8
+
+VPBLENDW_128_0x85(reg)
+  before
+    9127db9c2f398650.040c0563043fdbba.b075c5aa33c394d1.6576da4eb13d815d
+    27a93899d12f7f07.374fc1b6ca660ec1.ef05a7622d5dcccb.260772617b31d254
+    ee8b48b4f5c6e9ba.364de1fb1abb5248.730d7e409d11962a.842e712f838e16f6
+    44170858378afe14.dcd4e11f124b637d.96db46b21c6d2e9b.5ab751a6e45f096e
+    866e90b1bab167e9
+  after
+    0000000000000000.0000000000000000.730da7622d5dcccb.2607712f7b3116f6
+    27a93899d12f7f07.374fc1b6ca660ec1.ef05a7622d5dcccb.260772617b31d254
+    ee8b48b4f5c6e9ba.364de1fb1abb5248.730d7e409d11962a.842e712f838e16f6
+    44170858378afe14.dcd4e11f124b637d.96db46b21c6d2e9b.5ab751a6e45f096e
+    866e90b1bab167e9
+VPBLENDW_128_0x85(mem)
+  before
+    e21ea83d228eeb93.849a72f13407fbc2.04ae3d0cce21fc8a.b5b9fc2349fdd0ca
+    4c95183437045297.096084eb87ca1c70.8ca871b0694ada9b.2cf49bffbd4bb762
+    9e9d5983161f5822.31b539b2cd5e9cc9.4e8efaf600d0b9dd.57d81fb216e52010
+    b603e816daeab860.57e48eb3a250b879.282c53c9aec1557c.92b084a9f057477f
+    39cac64ee62c685c
+  after
+    e21ea83d228eeb93.849a72f13407fbc2.04ae3d0cce21fc8a.b5b9fc2349fdd0ca
+    4c95183437045297.096084eb87ca1c70.8ca871b0694ada9b.2cf49bffbd4bb762
+    0000000000000000.0000000000000000.04ae3d0c694afc8a.b5b9fc23bd4bb762
+    b603e816daeab860.57e48eb3a250b879.282c53c9aec1557c.92b084a9f057477f
+    39cac64ee62c685c
+
+VPBLENDW_128_0x85(reg)
+  before
+    a870e20e94f0be53.6e9342daa0712f7c.d63b7d58a02bac2e.f44df8178f2969a3
+    3befd356972f860f.a419e2ba83c079a2.0c04040e667bb492.8fbf65cbc013b27f
+    4e9395908b76fb3d.326144a1a0e45200.538c1e428dcd0b51.d64c17d25d8bec3c
+    3da8242a0b505b88.f537e47d12e875c0.091fc75eb3acee18.a3c18916819dd205
+    d3ea378448562106
+  after
+    0000000000000000.0000000000000000.538c040e667bb492.8fbf17d2c013ec3c
+    3befd356972f860f.a419e2ba83c079a2.0c04040e667bb492.8fbf65cbc013b27f
+    4e9395908b76fb3d.326144a1a0e45200.538c1e428dcd0b51.d64c17d25d8bec3c
+    3da8242a0b505b88.f537e47d12e875c0.091fc75eb3acee18.a3c18916819dd205
+    d3ea378448562106
+VPBLENDW_128_0x85(mem)
+  before
+    43939d09cfc1956c.647a7d8fb349e09d.c9663f39f6d99f0e.8809fbd074a49993
+    cd88378f31ebea63.1f559a2b20eec728.8bbbd0c167c28c17.2d95b7036b42476d
+    4e9482048bdfdb17.ca847969edca4bd4.1502130182aff707.5511f66335113553
+    a285f952f8a925b3.c15415b8b76aa94e.440784e562ac9d09.5ac7b45c6d9d9ff0
+    9904ed5aaf73c1f2
+  after
+    43939d09cfc1956c.647a7d8fb349e09d.c9663f39f6d99f0e.8809fbd074a49993
+    cd88378f31ebea63.1f559a2b20eec728.8bbbd0c167c28c17.2d95b7036b42476d
+    0000000000000000.0000000000000000.c9663f3967c29f0e.8809fbd06b42476d
+    a285f952f8a925b3.c15415b8b76aa94e.440784e562ac9d09.5ac7b45c6d9d9ff0
+    9904ed5aaf73c1f2
+
+VPBLENDW_128_0x85(reg)
+  before
+    6f149ec9981ed602.a625186795568463.60116b8119591d41.f496a05923c63a4a
+    3643c115c42a1bce.34415b2e7df0b455.02077531b023e35a.017be14ae2088af5
+    4bdd54abce24cc02.29a53f93cd8670b2.0582313417543645.4881c5a2ba7f4837
+    0a2e53f55297254a.611c3e82a02175a9.c4ce9af7eb7954ad.a375c74ec836313c
+    ef23643b2839012f
+  after
+    0000000000000000.0000000000000000.05827531b023e35a.017bc5a2e2084837
+    3643c115c42a1bce.34415b2e7df0b455.02077531b023e35a.017be14ae2088af5
+    4bdd54abce24cc02.29a53f93cd8670b2.0582313417543645.4881c5a2ba7f4837
+    0a2e53f55297254a.611c3e82a02175a9.c4ce9af7eb7954ad.a375c74ec836313c
+    ef23643b2839012f
+VPBLENDW_128_0x85(mem)
+  before
+    08571654f595743d.cf81b861ed0f6151.b874d6e713cf7e64.9a36ade4c71e763e
+    cadd5b854b554591.f62381593a19bdc3.0a7783ae419b490f.e507646947cddba6
+    1181aeb947853158.dc60a84bd640744d.33f3bfc4469290d8.008ebdf00914bd8f
+    b80e8bde0432f3be.db842ba25c10c49b.0fb208133fbf10e8.4615b3e7a67e59a5
+    15e842b9bc98eb95
+  after
+    08571654f595743d.cf81b861ed0f6151.b874d6e713cf7e64.9a36ade4c71e763e
+    cadd5b854b554591.f62381593a19bdc3.0a7783ae419b490f.e507646947cddba6
+    0000000000000000.0000000000000000.b874d6e7419b7e64.9a36ade447cddba6
+    b80e8bde0432f3be.db842ba25c10c49b.0fb208133fbf10e8.4615b3e7a67e59a5
+    15e842b9bc98eb95
+
+VPBLENDW_128_0x29(reg)
+  before
+    c75566d2e7edae0b.9d526fe09f6749ee.50db06ca6916e759.7a81d889482e846e
+    baa71c9ec109e0b2.9b17d4a93330ed15.97b1332f98dd1932.4f2bad107ceca994
+    48295f89e979ba37.8e2a3826dd9a9c5e.0c51b03d86f298d2.6c7e0396f7043b86
+    ce282b00f9c87b46.52571643b8b011f6.0a087860cedf9ee6.ac445406d682f671
+    eb4b1e4c35739581
+  after
+    0000000000000000.0000000000000000.97b1332f86f21932.6c7ead107cec3b86
+    baa71c9ec109e0b2.9b17d4a93330ed15.97b1332f98dd1932.4f2bad107ceca994
+    48295f89e979ba37.8e2a3826dd9a9c5e.0c51b03d86f298d2.6c7e0396f7043b86
+    ce282b00f9c87b46.52571643b8b011f6.0a087860cedf9ee6.ac445406d682f671
+    eb4b1e4c35739581
+VPBLENDW_128_0x29(mem)
+  before
+    055ddc542ee2d5e1.a9f07c6d8d825d8a.c36aebede07e0908.ef2387050d33681a
+    d5470a0ae0db72be.33cd4e3d42349daf.bc2e310e721140c2.16ecd996de773219
+    39d5245a646b2844.c90b9eddb3697763.1b7166948a74724d.dbaf6b81dd393790
+    0cd2a730d99db29e.c8f667b87dad264f.bbfd056a43b35bd8.9aba3830a704b42b
+    af583c11d865e595
+  after
+    055ddc542ee2d5e1.a9f07c6d8d825d8a.c36aebede07e0908.ef2387050d33681a
+    d5470a0ae0db72be.33cd4e3d42349daf.bc2e310e721140c2.16ecd996de773219
+    0000000000000000.0000000000000000.c36a310e72110908.16ecd9960d333219
+    0cd2a730d99db29e.c8f667b87dad264f.bbfd056a43b35bd8.9aba3830a704b42b
+    af583c11d865e595
+
+VPBLENDW_128_0x29(reg)
+  before
+    75d4738f0be6067b.290c0e79587dcdf9.8ad9a5393b8de822.779f8a7cb9dbb68c
+    4a7bd915dc165288.6e4dd51f00183580.6c0154ce8a94f786.2d2371b509f74098
+    89996b11e87e0669.b5637810ea79a560.cabb71e2054e8f27.b75537044f13b426
+    8d7a24eecaac5eca.dc18733634addac4.0051f7e14948eeb3.f3005752a63ccf63
+    bbf24d8c2a7d4d7a
+  after
+    0000000000000000.0000000000000000.6c0154ce054ef786.b75571b509f7b426
+    4a7bd915dc165288.6e4dd51f00183580.6c0154ce8a94f786.2d2371b509f74098
+    89996b11e87e0669.b5637810ea79a560.cabb71e2054e8f27.b75537044f13b426
+    8d7a24eecaac5eca.dc18733634addac4.0051f7e14948eeb3.f3005752a63ccf63
+    bbf24d8c2a7d4d7a
+VPBLENDW_128_0x29(mem)
+  before
+    edf5959ef8e3ea98.b46a00191f2b9556.bd39437ffabe90d9.6b0fe237f10d4ed3
+    63d6ac752b7862e8.58b4fbfc8288e8b9.369163d657bb83cb.65432e509929eb36
+    fb610cfbe04a7098.d7a61204904e93a1.21ee4f2768ad6ec5.4b38d799de290386
+    8f62331e3265d1d1.8c8a3f9ee409d2b8.5c1a835e47a20ef4.7939da7c5c98d06f
+    4b933267ae028f9f
+  after
+    edf5959ef8e3ea98.b46a00191f2b9556.bd39437ffabe90d9.6b0fe237f10d4ed3
+    63d6ac752b7862e8.58b4fbfc8288e8b9.369163d657bb83cb.65432e509929eb36
+    0000000000000000.0000000000000000.bd3963d657bb90d9.65432e50f10deb36
+    8f62331e3265d1d1.8c8a3f9ee409d2b8.5c1a835e47a20ef4.7939da7c5c98d06f
+    4b933267ae028f9f
+
+VPBLENDW_128_0x29(reg)
+  before
+    1d92dbc470f47cbf.fca59cc83ed440c1.d2ad80341b46e0aa.c1e37c6713a51f84
+    4b82d1013ff9d27e.1ff6c4e71fa37a94.065bd134d090fa24.2d13b52ee6c35ca0
+    31af1189b69ece86.d2202566f2de3b76.85e02c09a0735cd2.7d77aaa0dc068274
+    2a6495c7726eac83.f2f03d31d2923f92.a9888f1e267c415f.8bdbd7a7127d4d2e
+    340ab831a33179f8
+  after
+    0000000000000000.0000000000000000.065bd134a073fa24.7d77b52ee6c38274
+    4b82d1013ff9d27e.1ff6c4e71fa37a94.065bd134d090fa24.2d13b52ee6c35ca0
+    31af1189b69ece86.d2202566f2de3b76.85e02c09a0735cd2.7d77aaa0dc068274
+    2a6495c7726eac83.f2f03d31d2923f92.a9888f1e267c415f.8bdbd7a7127d4d2e
+    340ab831a33179f8
+VPBLENDW_128_0x29(mem)
+  before
+    54d2ca28ac30c1fe.94ef5b290ff5a722.5c328734dbca4214.d09ef4e1ff36e678
+    c7fd887a4985e26d.ca9a5f1a27bffd0f.eab27f5b2a93ff2a.546f5abdc62d87c8
+    6a586e12943d9871.28b29b075959e8f6.793ca292dbf833fd.9248ba1e17ee60fc
+    17aff8dcab639f35.0a830d5a3e4ea482.e59c6bc6090599bc.e67311708f04acc0
+    ad3d5c20cafba8bf
+  after
+    54d2ca28ac30c1fe.94ef5b290ff5a722.5c328734dbca4214.d09ef4e1ff36e678
+    c7fd887a4985e26d.ca9a5f1a27bffd0f.eab27f5b2a93ff2a.546f5abdc62d87c8
+    0000000000000000.0000000000000000.5c327f5b2a934214.546f5abdff3687c8
+    17aff8dcab639f35.0a830d5a3e4ea482.e59c6bc6090599bc.e67311708f04acc0
+    ad3d5c20cafba8bf
+
+VMOVUPS_EtoG_256(reg)
+  before
+    41f19698636090a6.abcea3c4aa03b2e6.cb59af80752b6f5f.0a9d56e1d0c7ef91
+    ffddbb46f6be9f21.0281e9b6ac298eaf.c97f7fe5977b833a.c40cdfd14d49efa8
+    434bc89420a112db.f893489ecee2eebd.5f4379f642ca1dbf.efb582809b97562f
+    6988b7f07c962580.69d23b682b3a903c.e8ef971e12a47899.6764bcdcd7bddf4f
+    08e507d01dc84737
+  after
+    41f19698636090a6.abcea3c4aa03b2e6.cb59af80752b6f5f.0a9d56e1d0c7ef91
+    ffddbb46f6be9f21.0281e9b6ac298eaf.c97f7fe5977b833a.c40cdfd14d49efa8
+    434bc89420a112db.f893489ecee2eebd.5f4379f642ca1dbf.efb582809b97562f
+    434bc89420a112db.f893489ecee2eebd.5f4379f642ca1dbf.efb582809b97562f
+    08e507d01dc84737
+VMOVUPS_EtoG_256(mem)
+  before
+    ae04e14887c44a11.cde186c5a72814bd.31083f00e03b2e57.c2d0d7c8a296d175
+    358cc63034bba409.cb9f307e3ce31a3e.2c02ce5308f3853b.473234628e2c64ff
+    794b30743dbb104d.bf11b189d85474af.368c664bbf6d5013.d561aa5773f06de2
+    560b9d00c1d04b06.0582065116065ebb.2a7282d622b64c0c.c6a93513ed7028ca
+    7855d2029737d065
+  after
+    ae04e14887c44a11.cde186c5a72814bd.31083f00e03b2e57.c2d0d7c8a296d175
+    358cc63034bba409.cb9f307e3ce31a3e.2c02ce5308f3853b.473234628e2c64ff
+    ae04e14887c44a11.cde186c5a72814bd.31083f00e03b2e57.c2d0d7c8a296d175
+    560b9d00c1d04b06.0582065116065ebb.2a7282d622b64c0c.c6a93513ed7028ca
+    7855d2029737d065
+
+VMOVUPS_EtoG_256(reg)
+  before
+    45b37c900dd2a25d.a89987c0d9041163.f93d29429386140e.e6809fdf4cd93551
+    8b0d2f29ecccd95e.4ac16da0a3651e8e.f79018c9ea5ed155.458137515ae2c710
+    a4b0e73acfb1b215.1a4fc88d3bff2db3.5bc5ce50b81dd23c.2342c81a68debd72
+    ede8a02d530e6a2e.f30e1571bcdcfbff.81294844984c536e.5c8fcd2591d8d4a6
+    cb34c25ff1dcc8d6
+  after
+    45b37c900dd2a25d.a89987c0d9041163.f93d29429386140e.e6809fdf4cd93551
+    8b0d2f29ecccd95e.4ac16da0a3651e8e.f79018c9ea5ed155.458137515ae2c710
+    a4b0e73acfb1b215.1a4fc88d3bff2db3.5bc5ce50b81dd23c.2342c81a68debd72
+    a4b0e73acfb1b215.1a4fc88d3bff2db3.5bc5ce50b81dd23c.2342c81a68debd72
+    cb34c25ff1dcc8d6
+VMOVUPS_EtoG_256(mem)
+  before
+    4efd23b2a5f7552e.c3015770146e3a54.b0ccd13a430a449e.c508801226798f98
+    c0b66d0bc83436db.8046076dac5d6134.2f5377d3eb95c3bb.83ad7424ff2fc366
+    fc2b1a5677a02809.8105ac92ba681979.4b708328d0873583.16661fe8bffb2b83
+    e027a980cd45e7e3.2288424ad71a9fd0.dfef72250fee5622.dc7d7dc90167029c
+    303f8b336102865c
+  after
+    4efd23b2a5f7552e.c3015770146e3a54.b0ccd13a430a449e.c508801226798f98
+    c0b66d0bc83436db.8046076dac5d6134.2f5377d3eb95c3bb.83ad7424ff2fc366
+    4efd23b2a5f7552e.c3015770146e3a54.b0ccd13a430a449e.c508801226798f98
+    e027a980cd45e7e3.2288424ad71a9fd0.dfef72250fee5622.dc7d7dc90167029c
+    303f8b336102865c
+
+VMOVUPS_EtoG_256(reg)
+  before
+    6df843927c55f170.46779373e6312e96.c01cc601a1ff2ee5.c99cbeb6c3d6e2c3
+    f1f4a352edee7f84.0ce7551de070ba4e.b50d3323b4a40463.e342e5c7094a9493
+    177fa6df51586e43.0c436c69d40d4736.5ea7851cab945bf7.0baf6244fd5629bd
+    3ae549a54320f859.24575343e014917a.1736b858235c704c.1badb219b9065d6e
+    f1094f335c67ebd1
+  after
+    6df843927c55f170.46779373e6312e96.c01cc601a1ff2ee5.c99cbeb6c3d6e2c3
+    f1f4a352edee7f84.0ce7551de070ba4e.b50d3323b4a40463.e342e5c7094a9493
+    177fa6df51586e43.0c436c69d40d4736.5ea7851cab945bf7.0baf6244fd5629bd
+    177fa6df51586e43.0c436c69d40d4736.5ea7851cab945bf7.0baf6244fd5629bd
+    f1094f335c67ebd1
+VMOVUPS_EtoG_256(mem)
+  before
+    678fb77cff849013.b871861160d15a74.2eee869720915348.3c05c843b7867e0f
+    5b0b65e2c16a0860.eb705b8d43f7cf3e.08d68151af914ac9.2962b24a03a0c2ec
+    a749d54fbb230fe3.312fc387891f9563.8cd9c15da91f322c.3a9771d7a436788e
+    281583b10cbe60c9.e4f7ba69cdd4e690.97c4c0a72b48c69b.cbf1015836d3dca2
+    38bc5e38530329d3
+  after
+    678fb77cff849013.b871861160d15a74.2eee869720915348.3c05c843b7867e0f
+    5b0b65e2c16a0860.eb705b8d43f7cf3e.08d68151af914ac9.2962b24a03a0c2ec
+    678fb77cff849013.b871861160d15a74.2eee869720915348.3c05c843b7867e0f
+    281583b10cbe60c9.e4f7ba69cdd4e690.97c4c0a72b48c69b.cbf1015836d3dca2
+    38bc5e38530329d3
+
+VSQRTSS_128(reg)
+  before
+    dd4385e29a529cce.bb3aecf3cd44b83d.62173da1aca2fe71.0663fc1b5016c343
+    16d471c4a54d713f.3a858b011cc3d36c.05da469ac1151bb1.b382f1a63598e54f
+    3fb91d49107fe4d1.82c2dcc715466c82.2a8bd3c0a9ba77fd.7bed1932f6d7e8ec
+    b34088dd78753031.6fbd5b31d3da40aa.2e78df7fff1d4f00.3a6ff2adade18745
+    ccd6f70179c17f87
+  after
+    0000000000000000.0000000000000000.05da469ac1151bb1.b382f1a6ffc00000
+    16d471c4a54d713f.3a858b011cc3d36c.05da469ac1151bb1.b382f1a63598e54f
+    3fb91d49107fe4d1.82c2dcc715466c82.2a8bd3c0a9ba77fd.7bed1932f6d7e8ec
+    b34088dd78753031.6fbd5b31d3da40aa.2e78df7fff1d4f00.3a6ff2adade18745
+    ccd6f70179c17f87
+VSQRTSS_128(mem)
+  before
+    0eeca41c73848cde.d0b3abec78ba920a.dd42842b72890b11.6beb66435fc8de67
+    da7e75e9ba356975.f15f84e3adda4609.a91dd4a20f6289e3.3e316578664962de
+    0d58e65467e0d479.72900e2cb26187da.ad19c680c66e754b.0496d78ab02c1510
+    8345744998928715.ae91453424dc9228.c603d6b3b2bb8c75.1766b8e5d7fc34aa
+    d4ec04f67a45fa58
+  after
+    0eeca41c73848cde.d0b3abec78ba920a.dd42842b72890b11.6beb66435fc8de67
+    da7e75e9ba356975.f15f84e3adda4609.a91dd4a20f6289e3.3e316578664962de
+    0000000000000000.0000000000000000.a91dd4a20f6289e3.3e3165784fa058dd
+    8345744998928715.ae91453424dc9228.c603d6b3b2bb8c75.1766b8e5d7fc34aa
+    d4ec04f67a45fa58
+
+VSQRTSS_128(reg)
+  before
+    9775b7273393a4c5.18139ab469553e76.03b025689ed6a39f.d0a78025ef548a8e
+    bc4ecee69e736e9d.a88cd482f538b7c8.cc37aa32bcdcf5ed.a7d141c49a462bc2
+    9fc1449e5870948d.0f7e9f9d5944ac36.6473d1001b79c6bc.274d947bce9c2a3d
+    9c1b15bbfc165141.29b375f2b087d9ed.29b0953d573950b8.2ce7f536a862442a
+    926ae0e143a534b5
+  after
+    0000000000000000.0000000000000000.cc37aa32bcdcf5ed.a7d141c4ffc00000
+    bc4ecee69e736e9d.a88cd482f538b7c8.cc37aa32bcdcf5ed.a7d141c49a462bc2
+    9fc1449e5870948d.0f7e9f9d5944ac36.6473d1001b79c6bc.274d947bce9c2a3d
+    9c1b15bbfc165141.29b375f2b087d9ed.29b0953d573950b8.2ce7f536a862442a
+    926ae0e143a534b5
+VSQRTSS_128(mem)
+  before
+    34a4d168bc70b80b.0fa83da927f2e265.d2f8d46e160dfc18.753af2550ba9cf8e
+    f05f45b72ecf8a58.54b3b8d4748f83a4.e51837fca8e0cfe4.a65de4b4d35481ea
+    a168b7bab6cf67c7.c78a83a880796faa.40e11a87820e0f7d.166468c64cc6a077
+    238ba35e6f7b0a85.c4779991e63de424.be1efafdbfa3780e.239d79f7128b69e2
+    275213b3c03017d6
+  after
+    34a4d168bc70b80b.0fa83da927f2e265.d2f8d46e160dfc18.753af2550ba9cf8e
+    f05f45b72ecf8a58.54b3b8d4748f83a4.e51837fca8e0cfe4.a65de4b4d35481ea
+    0000000000000000.0000000000000000.e51837fca8e0cfe4.a65de4b425936e3b
+    238ba35e6f7b0a85.c4779991e63de424.be1efafdbfa3780e.239d79f7128b69e2
+    275213b3c03017d6
+
+VSQRTSS_128(reg)
+  before
+    7fd03267f241e801.5294858d76df30be.a7c7f6fb42661cbe.3b9a52497ba9c5c3
+    8863d37d4548160c.094eda35e608959d.ccc6965332815323.93229d57d32eb3ca
+    9c57f06354d3dea5.26871d40db01f54f.8fc076034f19c700.a1825a13e23efe4d
+    18f78783bc6e7b78.8409c99c72d60cff.4b01917937bab201.43860269c5e36278
+    54fa1346972b9a78
+  after
+    0000000000000000.0000000000000000.ccc6965332815323.93229d57ffc00000
+    8863d37d4548160c.094eda35e608959d.ccc6965332815323.93229d57d32eb3ca
+    9c57f06354d3dea5.26871d40db01f54f.8fc076034f19c700.a1825a13e23efe4d
+    18f78783bc6e7b78.8409c99c72d60cff.4b01917937bab201.43860269c5e36278
+    54fa1346972b9a78
+VSQRTSS_128(mem)
+  before
+    afa9079475226379.5991934b18a32a31.fea15d34c79495da.5ed4e31f86f051d1
+    32605c407ad379a6.b96f11260500277b.721b52f4f5464d0b.23866863d748df1d
+    b7ec8e37c34a972c.95defb801e11ae02.ba4326c818f9efc0.f6641cb0c64d9990
+    1c1717646b937a37.492a4fc5ff61fa74.b4e4549c4db73822.32b8fc72f08cbbd7
+    35cf0315f090819e
+  after
+    afa9079475226379.5991934b18a32a31.fea15d34c79495da.5ed4e31f86f051d1
+    32605c407ad379a6.b96f11260500277b.721b52f4f5464d0b.23866863d748df1d
+    0000000000000000.0000000000000000.721b52f4f5464d0b.23866863ffc00000
+    1c1717646b937a37.492a4fc5ff61fa74.b4e4549c4db73822.32b8fc72f08cbbd7
+    35cf0315f090819e
+
+VSQRTPS_128(reg)
+  before
+    5af42d0563e52690.3bae75b28ebbdef2.319f0861467c487a.3bcc585caf8ee460
+    fc7576afe418e859.f27c230f49cd7f8a.a98922c08ceed4c3.2ac5aef45b8aafa3
+    799cdb7d10b400a7.1b4f9d66b8d5182a.0d339a4e6f44d9f9.5e9cd2516cb6551a
+    2bb757dc8245ad24.94f15fa3f6e066ff.b9ea6a788b0995c8.b41d415dff1e91ef
+    061476062fce204f
+  after
+    5af42d0563e52690.3bae75b28ebbdef2.319f0861467c487a.3bcc585caf8ee460
+    0000000000000000.0000000000000000.26566cef57607c6c.4f0dae065618c505
+    799cdb7d10b400a7.1b4f9d66b8d5182a.0d339a4e6f44d9f9.5e9cd2516cb6551a
+    2bb757dc8245ad24.94f15fa3f6e066ff.b9ea6a788b0995c8.b41d415dff1e91ef
+    061476062fce204f
+VSQRTPS_128(mem)
+  before
+    324ded3619d3bd65.7010e639d757297c.3730e6b21ff92534.09fb90a87bc941de
+    129423dbd838255e.a2f484feaa77b15c.e1d6ac80502d10f6.59b0074cdb111ce4
+    83b492e0890a1465.1eaf2d9998318170.6fb02ff7a587e471.0556cbce486c6089
+    617ab831475446a7.418cde753c0fd463.bb8aeb0438135dd0.6938d99c5d674b77
+    e1a42c21b78c165a
+  after
+    324ded3619d3bd65.7010e639d757297c.3730e6b21ff92534.09fb90a87bc941de
+    0000000000000000.0000000000000000.3b54ce842fb29453.24b371cb5da0808c
+    83b492e0890a1465.1eaf2d9998318170.6fb02ff7a587e471.0556cbce486c6089
+    617ab831475446a7.418cde753c0fd463.bb8aeb0438135dd0.6938d99c5d674b77
+    e1a42c21b78c165a
+
+VSQRTPS_128(reg)
+  before
+    c9e4c0c9f16a00df.89b210ba2f227750.65d992fe329fe8e2.a22f5a9428dd3740
+    7d469100a88a43b2.d52816675c80628b.e8e045a0186df798.006dfa918ff22dec
+    58149b32777a1c7f.22a84724ea7bc485.24eef3c787033d32.b20e45e9895dfc01
+    b89bdbcbfbc5c7f0.4cfe1ddef61e5869.764f99df1deff75c.92dfb987332b60ab
+    7dacd257a8671415
+  after
+    c9e4c0c9f16a00df.89b210ba2f227750.65d992fe329fe8e2.a22f5a9428dd3740
+    0000000000000000.0000000000000000.322ee362ffc00000.ffc00000ffc00000
+    58149b32777a1c7f.22a84724ea7bc485.24eef3c787033d32.b20e45e9895dfc01
+    b89bdbcbfbc5c7f0.4cfe1ddef61e5869.764f99df1deff75c.92dfb987332b60ab
+    7dacd257a8671415
+VSQRTPS_128(mem)
+  before
+    4f410a45051dd66c.f8264c38cff87fb4.2ff5167f9c76dc64.3a4f315475bd62c1
+    e46adf3d655a60db.7403eae3909e8175.a75aadf5f68e0aa2.cd3ab9932cf7b70e
+    18f2cc2be4296e8f.877cb13ad94309e0.90f95f2a23729f4e.895b2c06de2b35ef
+    c7a74dfb9f96beb4.8fdf9da7477353a0.c69ea60c3d2f5695.cb00871b26e5160f
+    ef73c43ca0b0971a
+  after
+    4f410a45051dd66c.f8264c38cff87fb4.2ff5167f9c76dc64.3a4f315475bd62c1
+    0000000000000000.0000000000000000.37b11e8bffc00000.3ce64e9a5a9bb249
+    18f2cc2be4296e8f.877cb13ad94309e0.90f95f2a23729f4e.895b2c06de2b35ef
+    c7a74dfb9f96beb4.8fdf9da7477353a0.c69ea60c3d2f5695.cb00871b26e5160f
+    ef73c43ca0b0971a
+
+VSQRTPS_128(reg)
+  before
+    5101e1d7e918f3bd.cd53df9ab2ad0a75.e676ab9875bb9a62.2515008660d0eca2
+    4df6d9579ca968a4.06c3fcf2387b0eff.ea8ed678ffa61bd2.892ae884a9611da2
+    3f9ea82856f0307b.4ec322f14d0c887d.f6731ab382c1129b.cea8daf233efa5c1
+    83444bb6b27888ec.811fcc810e6a321c.657074b59a97ba69.d05d53bc1b853f2a
+    6b13cdce7c2fa80a
+  after
+    5101e1d7e918f3bd.cd53df9ab2ad0a75.e676ab9875bb9a62.2515008660d0eca2
+    0000000000000000.0000000000000000.ffc00000ffc00000.ffc0000039af2477
+    3f9ea82856f0307b.4ec322f14d0c887d.f6731ab382c1129b.cea8daf233efa5c1
+    83444bb6b27888ec.811fcc810e6a321c.657074b59a97ba69.d05d53bc1b853f2a
+    6b13cdce7c2fa80a
+VSQRTPS_128(mem)
+  before
+    7b97c61473f99c8c.7536bd6d4dcdaba6.7aa3769097a3c908.94d3deeae2b450ea
+    dbb5b97b1bf1d7dd.71befab9c27cd653.171a9d0903c3096c.e0e656bef6a510c7
+    693923ed90201429.d329fe07ad1045a0.3351bbd86ed4ad75.a3f7d79d73f536af
+    00ee7e58ef94109b.f7c3c5c1ab163438.aa154ee9f5e4724e.3b505df3f430fd4c
+    023ee52d16e3a24b
+  after
+    7b97c61473f99c8c.7536bd6d4dcdaba6.7aa3769097a3c908.94d3deeae2b450ea
+    0000000000000000.0000000000000000.5d10a619ffc00000.ffc00000ffc00000
+    693923ed90201429.d329fe07ad1045a0.3351bbd86ed4ad75.a3f7d79d73f536af
+    00ee7e58ef94109b.f7c3c5c1ab163438.aa154ee9f5e4724e.3b505df3f430fd4c
+    023ee52d16e3a24b
+
+VSQRTPS_256(reg)
+  before
+    550c69b574996157.7ca248a65458875f.38d84c555819dec8.5730d228b3ff1424
+    9108e7f9abde751d.b81ffcc5da7834a3.f4b48d2d4fa581fc.186ec181c52f4f22
+    107c5a64563f1b48.923216a09d01d491.86a286b72c46567f.c89d98e04683de76
+    2fb6bf6212478f85.e4a71223bafe2355.4af0335e8c899cfe.4288d43253047e49
+    64faf06107c0ebca
+  after
+    550c69b574996157.7ca248a65458875f.38d84c555819dec8.5730d228b3ff1424
+    27fe2b854add2fa3.ffc00000ffc00000.ffc0000035e154fc.ffc000004301eb8b
+    107c5a64563f1b48.923216a09d01d491.86a286b72c46567f.c89d98e04683de76
+    2fb6bf6212478f85.e4a71223bafe2355.4af0335e8c899cfe.4288d43253047e49
+    64faf06107c0ebca
+VSQRTPS_256(mem)
+  before
+    08c0685b7fc2e023.4a00105f7a820d80.8c4a6d3a4d7bdd1c.9be88e8d0bf98d24
+    0ca6b90ad6161a80.bda74bc72b7dd0e4.65e6a2d17185bd12.d7d795b24423669e
+    4a785e5c28c9550e.e5f76b06c0c3155e.4a492dd442278062.59094338d3926318
+    a002d23c93e64df9.1c3b6c88d6e01899.193d8a2fdd6de239.7cca948c55d2bf3d
+    9e6584186570b7b9
+  after
+    08c0685b7fc2e023.4a00105f7a820d80.8c4a6d3a4d7bdd1c.9be88e8d0bf98d24
+    241cef057fc2e023.44b510865d0105b4.ffc00000467dec66.ffc0000025b2b98f
+    4a785e5c28c9550e.e5f76b06c0c3155e.4a492dd442278062.59094338d3926318
+    a002d23c93e64df9.1c3b6c88d6e01899.193d8a2fdd6de239.7cca948c55d2bf3d
+    9e6584186570b7b9
+
+VSQRTPS_256(reg)
+  before
+    19281049a0f7873a.e8109496307abd6c.bfc14bb908611542.ac8f36cf5d649ec3
+    4b5d328ca1f36b69.006d1d561d8f6294.2ad30206f2d14705.e00bab9edf17712b
+    8e51e84b05f09ef5.c2e6ea687533f89c.b9be8fd931bdeb8d.927d678a7e93179d
+    40502df4677b5d88.0b4778b855723ab1.c8ceeda060af3c87.9cb1e67e57e34c47
+    db73a2658513cb52
+  after
+    19281049a0f7873a.e8109496307abd6c.bfc14bb908611542.ac8f36cf5d649ec3
+    ffc0000022af7f70.ffc000005a56a533.ffc00000389bea7a.ffc000005f0936e7
+    8e51e84b05f09ef5.c2e6ea687533f89c.b9be8fd931bdeb8d.927d678a7e93179d
+    40502df4677b5d88.0b4778b855723ab1.c8ceeda060af3c87.9cb1e67e57e34c47
+    db73a2658513cb52
+VSQRTPS_256(mem)
+  before
+    2c8e192d252f51ed.bba6fef26420e4cf.b85c4232d957e5ff.b34f19c51c36789e
+    69cfc5c152449a42.5d9e55b097696e75.a3f1c4c31ceeb5b1.d58d0db601dbd97f
+    6f02240d285d617e.8086309c9ce43827.a9d27b553a4366f4.8cd4c7deaa2c9cd6
+    1af3b2fdc48763cc.81a88a21101d7e90.a6cae1d65063b3f4.336f42a9b3b4fc4e
+    26ab7a83b9ff3694
+  after
+    2c8e192d252f51ed.bba6fef26420e4cf.b85c4232d957e5ff.b34f19c51c36789e
+    3606dd753253da82.ffc0000051caf344.ffc00000ffc00000.ffc000002dd8218a
+    6f02240d285d617e.8086309c9ce43827.a9d27b553a4366f4.8cd4c7deaa2c9cd6
+    1af3b2fdc48763cc.81a88a21101d7e90.a6cae1d65063b3f4.336f42a9b3b4fc4e
+    26ab7a83b9ff3694
+
+VSQRTPS_256(reg)
+  before
+    c1d46bd8579a8653.476ee97e42cd5c59.bd5160ab8f9e7c5d.77a77431795a59dc
+    603612142a112838.d03f477abd3b0850.8eceaca6b4f56d3a.f633af51d23214d8
+    5e1d6aa4cdee57ee.923147de51de22de.51686c7f1bae8ed2.003b0f2476f99f15
+    19d56ff2dcbf5123.691165971bc0672f.626e9ba061531bd2.718b0e9582bab8bf
+    25ee2a9011821902
+  after
+    c1d46bd8579a8653.476ee97e42cd5c59.bd5160ab8f9e7c5d.77a77431795a59dc
+    4ec8bec6ffc00000.ffc0000048a89f46.4873ed5f2d957a25.1fade43f5b32bffc
+    5e1d6aa4cdee57ee.923147de51de22de.51686c7f1bae8ed2.003b0f2476f99f15
+    19d56ff2dcbf5123.691165971bc0672f.626e9ba061531bd2.718b0e9582bab8bf
+    25ee2a9011821902
+VSQRTPS_256(mem)
+  before
+    f832de023f5c7e09.eca91d6bf50f4f80.31ab1d8f36f0936e.1d2b357722724fe5
+    c621a6d52a54a500.32e7717cb16b90b4.c6cbecb4bf7762c8.dfea366ef99768b8
+    6b89fef6eb774814.49d96590ae5e4e68.043d4cf1d2638f68.02f89bf3824ca0f7
+    c3346352a0d02371.8bccf7138874c64b.c7cdbb3289c0d77b.e3a15f715a20334d
+    de317e531c9c5f67
+  after
+    f832de023f5c7e09.eca91d6bf50f4f80.31ab1d8f36f0936e.1d2b357722724fe5
+    ffc000003f6d9570.ffc00000ffc00000.3893fef23b2f7b3c.2e515ad930f90fe1
+    6b89fef6eb774814.49d96590ae5e4e68.043d4cf1d2638f68.02f89bf3824ca0f7
+    c3346352a0d02371.8bccf7138874c64b.c7cdbb3289c0d77b.e3a15f715a20334d
+    de317e531c9c5f67
+
+VSQRTPD_128(reg)
+  before
+    4ff4f407654e5ef0.aaef50d3656bf443.560c2270da393407.eb47b5630398f52d
+    9236bef8d0c16c95.fc854167555575b4.04e4e315403ad349.4c76b47059f9a7a9
+    0342d692fa81c702.94c4b2f88c9963f3.f3a2346e5703e0bc.c5273645aaeea71b
+    fe653a427e1ba9e2.5077207427437a2a.7d9013e5bb1e970d.3426b6ce0f84b2b1
+    743fb0f8a6c68395
+  after
+    4ff4f407654e5ef0.aaef50d3656bf443.560c2270da393407.eb47b5630398f52d
+    0000000000000000.0000000000000000.fff8000000000000.fff8000000000000
+    0342d692fa81c702.94c4b2f88c9963f3.f3a2346e5703e0bc.c5273645aaeea71b
+    fe653a427e1ba9e2.5077207427437a2a.7d9013e5bb1e970d.3426b6ce0f84b2b1
+    743fb0f8a6c68395
+VSQRTPD_128(mem)
+  before
+    613ea0ad8bc0d7f3.dfece572f81a4fe2.0b6905c641607586.00fb7be7061934e7
+    d6ee03dbd97f6af8.0121d48f050bf5ad.a167dfdaf7fb1132.d62f68e0d780f2f7
+    b11d536cad0ef8d0.c25001064179d6f0.ed3d299c64200a5b.5c78d73dc8dd0ee9
+    cd950e4e227a3da6.7dc76a4147f02f57.cdb760f8a5dc1c2d.ef22c26875bec468
+    e97927cf7baf4f21
+  after
+    613ea0ad8bc0d7f3.dfece572f81a4fe2.0b6905c641607586.00fb7be7061934e7
+    0000000000000000.0000000000000000.25ac4c0a0a19e6f3.2074f8569c866ebf
+    b11d536cad0ef8d0.c25001064179d6f0.ed3d299c64200a5b.5c78d73dc8dd0ee9
+    cd950e4e227a3da6.7dc76a4147f02f57.cdb760f8a5dc1c2d.ef22c26875bec468
+    e97927cf7baf4f21
+
+VSQRTPD_128(reg)
+  before
+    a7c801dd753aedc0.0523af6c54cdf4a7.8ed10aaeb3fc3c8d.1ca1fedbd53a02d3
+    855d4dfd00edd8f0.3793b3b26015d9ff.51b9ddb8222a393f.b5c6812f1146797a
+    e082059db7544c5d.3eb1940c615eaad9.21cce0cb30056118.76f364e2740d3d4d
+    1284272836f986b5.f549d06674b32162.5c560d53781af1c5.39f523de1b9a0979
+    dc963b1121f99a29
+  after
+    a7c801dd753aedc0.0523af6c54cdf4a7.8ed10aaeb3fc3c8d.1ca1fedbd53a02d3
+    0000000000000000.0000000000000000.30de6624e068ae3c.5b719d9060ba6b09
+    e082059db7544c5d.3eb1940c615eaad9.21cce0cb30056118.76f364e2740d3d4d
+    1284272836f986b5.f549d06674b32162.5c560d53781af1c5.39f523de1b9a0979
+    dc963b1121f99a29
+VSQRTPD_128(mem)
+  before
+    39a32666a337ac8a.78aeae0b1a6ac3a1.3a26e2acb520fbc5.5da362bc96f425f1
+    2ee762c8bc5ffbc8.6e4e96b0ff333cd0.e71547ca3eb1f42f.7fffda72271f384a
+    95306a25887e420e.50afdc8480df30ec.dae279ad2e73c7cb.20b672e1c6286779
+    4c48bb68249e3e89.7a1c7af339fad9a1.ed5af63f9f7132c6.9a1324761099ee2d
+    4b63ee9ba001090f
+  after
+    39a32666a337ac8a.78aeae0b1a6ac3a1.3a26e2acb520fbc5.5da362bc96f425f1
+    0000000000000000.0000000000000000.3d0b0fca065e8fd2.4ec8e81b5c18e5a8
+    95306a25887e420e.50afdc8480df30ec.dae279ad2e73c7cb.20b672e1c6286779
+    4c48bb68249e3e89.7a1c7af339fad9a1.ed5af63f9f7132c6.9a1324761099ee2d
+    4b63ee9ba001090f
+
+VSQRTPD_128(reg)
+  before
+    8df2cbbe13e9f3ce.2dfdcf7eacceab65.48e26e6ac710749c.fd46396eadb7ef4c
+    be0cb74904dfe914.151924513b1744cd.164db353c6ae3d89.e775be257452ba88
+    38fdaeaa106f278e.e16935ceed87c6ed.40a9461cd15f6f14.85b2014f124d50a7
+    5811ad4cd223e8e7.6bb97ee1df29edf3.2242213084af47e8.b4c87fdaa0b56dd5
+    5184b3b13c95cd3d
+  after
+    8df2cbbe13e9f3ce.2dfdcf7eacceab65.48e26e6ac710749c.fd46396eadb7ef4c
+    0000000000000000.0000000000000000.404c7053ba861bb4.fff8000000000000
+    38fdaeaa106f278e.e16935ceed87c6ed.40a9461cd15f6f14.85b2014f124d50a7
+    5811ad4cd223e8e7.6bb97ee1df29edf3.2242213084af47e8.b4c87fdaa0b56dd5
+    5184b3b13c95cd3d
+VSQRTPD_128(mem)
+  before
+    36b219c002f92c0b.7b93af9be68969cc.90d47c772c0a7508.186342fb7c2b01b1
+    401e2df30dee456c.fbd1b003e92ce6e8.2c88a97bf134195b.7d5aa4e9545ed81c
+    4b946b37797ed58c.3515acf077999be8.1c9f83d849b69616.af714366a9d50ad5
+    33e0507663b89797.86aca0ce2b5bc378.3ae6857c5199a865.09f51bde161bd187
+    e73229bd38bc69df
+  after
+    36b219c002f92c0b.7b93af9be68969cc.90d47c772c0a7508.186342fb7c2b01b1
+    0000000000000000.0000000000000000.fff8000000000000.2c28d3acdb50b3f1
+    4b946b37797ed58c.3515acf077999be8.1c9f83d849b69616.af714366a9d50ad5
+    33e0507663b89797.86aca0ce2b5bc378.3ae6857c5199a865.09f51bde161bd187
+    e73229bd38bc69df
+
+VSQRTPD_256(reg)
+  before
+    a574686faa441089.d4cd579de7a549b8.48e28709a1ff9b43.63292c5224eb0a76
+    9e07d46109400030.0a28fc992053a51b.d8025c0d760f5ff6.7334f246dfb77a72
+    303669fdf03c7681.b1bebb552acd68ee.925a1e4746194a3c.46d355449d0ab288
+    b54e24b1fcc2ad27.a55911bc22204d5a.d234c621aca999c2.b8d2d0387bef6ee2
+    a5fcdf0e94726cac
+  after
+    a574686faa441089.d4cd579de7a549b8.48e28709a1ff9b43.63292c5224eb0a76
+    3812eff85eb88877.fff8000000000000.fff8000000000000.4361967758653696
+    303669fdf03c7681.b1bebb552acd68ee.925a1e4746194a3c.46d355449d0ab288
+    b54e24b1fcc2ad27.a55911bc22204d5a.d234c621aca999c2.b8d2d0387bef6ee2
+    a5fcdf0e94726cac
+VSQRTPD_256(mem)
+  before
+    e91efeb304a06614.8b9bffe8c860e2cf.c2c579bc2357118e.f5de520944498834
+    6004aa11e8841843.0d69f80df0a15124.e4d06f404a7e70b4.55a2bc6aab87533d
+    e67a5e165c2a4068.96040a8e111236d4.e7456f34b2a226f8.4fcd02b07cef358a
+    574c96ac7b9f98ad.84b832d6c73ecd88.a7eff58478ceee87.3faa2047540c6bc6
+    8187109bce6a319e
+  after
+    e91efeb304a06614.8b9bffe8c860e2cf.c2c579bc2357118e.f5de520944498834
+    fff8000000000000.fff8000000000000.fff8000000000000.fff8000000000000
+    e67a5e165c2a4068.96040a8e111236d4.e7456f34b2a226f8.4fcd02b07cef358a
+    574c96ac7b9f98ad.84b832d6c73ecd88.a7eff58478ceee87.3faa2047540c6bc6
+    8187109bce6a319e
+
+VSQRTPD_256(reg)
+  before
+    71aed0188695c3be.8e46cec161eedd3e.31d16a51adb151ef.009b7e1cb70e858d
+    6a6d5b2a1a1a5cd1.693382402b23cb48.fb9ab06c5ff8ffb2.ce1585e88c6fa735
+    ca0ead3d23843984.c3e02f15f44b1df7.3c60ff917a9e1280.ed2986d512fc10ac
+    ecdec2be3f609682.781a502cd9719076.516f532d992fc703.38a3fdcd66c17b1e
+    8d4e67bea3cba5b6
+  after
+    71aed0188695c3be.8e46cec161eedd3e.31d16a51adb151ef.009b7e1cb70e858d
+    fff8000000000000.fff8000000000000.3e2752993c1ebb96.fff8000000000000
+    ca0ead3d23843984.c3e02f15f44b1df7.3c60ff917a9e1280.ed2986d512fc10ac
+    ecdec2be3f609682.781a502cd9719076.516f532d992fc703.38a3fdcd66c17b1e
+    8d4e67bea3cba5b6
+VSQRTPD_256(mem)
+  before
+    c7f83f92e5254aa1.2c2997170a38ae78.63ab6171f6a1e0f2.9713a9ad59385ae8
+    c16b013749db250a.e63a27b61f9bbe12.625fdfd065e8c997.6898fc7b554407da
+    59742998ebfaf31e.765f6e051a1202fb.5004443545510690.214a47052adf0a86
+    6adf33a1e68d7009.37e26872982bb5e0.08650e8dafe8540a.1e7489b573969e97
+    bc63bbf9cdf400ba
+  after
+    c7f83f92e5254aa1.2c2997170a38ae78.63ab6171f6a1e0f2.9713a9ad59385ae8
+    fff8000000000000.360c9dbe893b333a.51cd99b074acc674.fff8000000000000
+    59742998ebfaf31e.765f6e051a1202fb.5004443545510690.214a47052adf0a86
+    6adf33a1e68d7009.37e26872982bb5e0.08650e8dafe8540a.1e7489b573969e97
+    bc63bbf9cdf400ba
+
+VSQRTPD_256(reg)
+  before
+    5563da3cd3856b9b.cf789c3e56a058f6.871011683571156c.684db8c2c1ba6f30
+    46c0e3ea22d61de5.660bdf5b58406611.c13666538c715c4c.4b89bec297d2122f
+    ebc6d16f55725045.096378e407785788.409d629f39b6c62b.8ce59d774c3cfa32
+    a0c1a03808e54166.964de3c68055e785.629401b8d9cc91b7.092dcfcffd05e367
+    9c2dd2b5c53889f7
+  after
+    5563da3cd3856b9b.cf789c3e56a058f6.871011683571156c.684db8c2c1ba6f30
+    fff8000000000000.24a8f652a02d8284.4045aeea4ad6ef94.fff8000000000000
+    ebc6d16f55725045.096378e407785788.409d629f39b6c62b.8ce59d774c3cfa32
+    a0c1a03808e54166.964de3c68055e785.629401b8d9cc91b7.092dcfcffd05e367
+    9c2dd2b5c53889f7
+VSQRTPD_256(mem)
+  before
+    22b12115c0e2a710.c1fc4dafd8bc2bf5.e7969cebdee2d134.81663f0b073ff799
+    788439db0b0efade.aac5d24161824b9e.da0820403e2bd2c2.fb5e1902609c3580
+    787394f3c2c83e8d.b7662d5b3ec3dd0c.496feab2bb3ca65b.2bc98a0a7f6f8615
+    004ab049001c2e48.442c59670b0c1dec.1199762c7222092a.6cf48e9001422807
+    1b2921fe81a35500
+  after
+    22b12115c0e2a710.c1fc4dafd8bc2bf5.e7969cebdee2d134.81663f0b073ff799
+    31508e140e65011a.fff8000000000000.fff8000000000000.fff8000000000000
+    787394f3c2c83e8d.b7662d5b3ec3dd0c.496feab2bb3ca65b.2bc98a0a7f6f8615
+    004ab049001c2e48.442c59670b0c1dec.1199762c7222092a.6cf48e9001422807
+    1b2921fe81a35500
+
+VRSQRTSS_128(reg)
+  before
+    95b43fc29c1d49ad.ead508cae117873b.ad6353d365e846e9.0f5141997ee8b65c
+    34e3e547ed3d42b9.13e0186082c40594.4e57150ae8e495b0.1d62c5e7fc9b6a1c
+    56010ef9108e7ad1.57375df9fe30647d.83539d782e8b46ed.189980010745e197
+    5559b644a29c2ea0.93a5517f72665f22.a8a5e689d669954b.dcc2edd3bcf5d6f9
+    45a9884936b4066d
+  after
+    0000000000000000.0000000000000000.4e57150ae8e495b0.1d62c5e75b919000
+    34e3e547ed3d42b9.13e0186082c40594.4e57150ae8e495b0.1d62c5e7fc9b6a1c
+    56010ef9108e7ad1.57375df9fe30647d.83539d782e8b46ed.189980010745e197
+    5559b644a29c2ea0.93a5517f72665f22.a8a5e689d669954b.dcc2edd3bcf5d6f9
+    45a9884936b4066d
+VRSQRTSS_128(mem)
+  before
+    301ace5091902d20.8e38d9943ff499d3.a1f872e0f972b3b0.1997eca97a0abd77
+    77e139d2ea94073d.5dea73558221f916.5efa3b07b0601c53.3176ac44b6fbfb1c
+    f7c947bc5dcd4ff1.1fbb81f307af8814.a67828dfb23d5536.4e8e20c626c78ae7
+    8c9f73fb0446c268.2ef7fedb6b2b827a.553eb6561c151c86.cb2b469b68fba883
+    0498193015228f9d
+  after
+    301ace5091902d20.8e38d9943ff499d3.a1f872e0f972b3b0.1997eca97a0abd77
+    77e139d2ea94073d.5dea73558221f916.5efa3b07b0601c53.3176ac44b6fbfb1c
+    0000000000000000.0000000000000000.5efa3b07b0601c53.3176ac44222de800
+    8c9f73fb0446c268.2ef7fedb6b2b827a.553eb6561c151c86.cb2b469b68fba883
+    0498193015228f9d
+
+VRSQRTSS_128(reg)
+  before
+    542395efcbc87ce1.12303a7afe0b1ccd.e7e9e6774a2025f3.4717605809f22b6e
+    1916b7462679aafb.654616246529194d.a6df36353e1bab2c.58d1a2cf96e23e1b
+    adbe799fc1c25795.61ad85e755ab7413.c723e87fe6a651d1.6436f8a8def013b9
+    6e67d968392fbd5e.e23302aeeb9dea4c.a602fac3dc4f538d.4714decffd296473
+    dd35d1311098ed76
+  after
+    0000000000000000.0000000000000000.a6df36353e1bab2c.58d1a2cfffc00000
+    1916b7462679aafb.654616246529194d.a6df36353e1bab2c.58d1a2cf96e23e1b
+    adbe799fc1c25795.61ad85e755ab7413.c723e87fe6a651d1.6436f8a8def013b9
+    6e67d968392fbd5e.e23302aeeb9dea4c.a602fac3dc4f538d.4714decffd296473
+    dd35d1311098ed76
+VRSQRTSS_128(mem)
+  before
+    02664cb833496ced.b65dd30c294a1800.c4a30965420b3624.9fc8676cbca2ec0d
+    9273cb5281499b05.e3ec61f72da1a628.e3c817f8770216c6.0ec12be6232a59fc
+    6927caea16a337e9.4f5f8195e2bfa181.1b6fa653a58e445f.4f38439dac73d607
+    6250c56b0f63fcc7.58042d52e33146b8.47643463e9b97d1a.be7baafdf3099eda
+    b7d45b729679ef20
+  after
+    02664cb833496ced.b65dd30c294a1800.c4a30965420b3624.9fc8676cbca2ec0d
+    9273cb5281499b05.e3ec61f72da1a628.e3c817f8770216c6.0ec12be6232a59fc
+    0000000000000000.0000000000000000.e3c817f8770216c6.0ec12be6ffc00000
+    6250c56b0f63fcc7.58042d52e33146b8.47643463e9b97d1a.be7baafdf3099eda
+    b7d45b729679ef20
+
+VRSQRTSS_128(reg)
+  before
+    969055692e4e0386.5bb839c38896a5c8.5825639bcd82d078.45733c125e917c24
+    b7fb914c591416b7.2f2ca1dd9b47ef1b.ad0f1fda3c3e7d6e.f0683b4d2022fea9
+    76610c89b3586660.ba7879a5678296ea.b10e5b7ccaf28746.240eab014c76bfd4
+    2f0ec38ad7a52d2d.d7683d0806545661.c16e15ee16292aab.bc330a19fe9c7bd2
+    96a1d380519deece
+  after
+    0000000000000000.0000000000000000.ad0f1fda3c3e7d6e.f0683b4d39026800
+    b7fb914c591416b7.2f2ca1dd9b47ef1b.ad0f1fda3c3e7d6e.f0683b4d2022fea9
+    76610c89b3586660.ba7879a5678296ea.b10e5b7ccaf28746.240eab014c76bfd4
+    2f0ec38ad7a52d2d.d7683d0806545661.c16e15ee16292aab.bc330a19fe9c7bd2
+    96a1d380519deece
+VRSQRTSS_128(mem)
+  before
+    8d2582246187d3f5.3d4db1bd6188a8c9.64c86af094c8eaad.3a7a489bb96fa44a
+    7c8b94f04b65e672.fe6cd28dee8c12e1.3b637b4a2dea0ffa.7680f0ee52512fcf
+    419f83d02b43e572.cdb523651a3da820.3a07ec03efc78173.d2ca09557a5a08e5
+    b62dcdb01c2e8a21.05759fb38028a633.3c7e3905f36afb45.aaa5903bd0166b38
+    5a5d7f0ced129375
+  after
+    8d2582246187d3f5.3d4db1bd6188a8c9.64c86af094c8eaad.3a7a489bb96fa44a
+    7c8b94f04b65e672.fe6cd28dee8c12e1.3b637b4a2dea0ffa.7680f0ee52512fcf
+    0000000000000000.0000000000000000.3b637b4a2dea0ffa.7680f0eeffc00000
+    b62dcdb01c2e8a21.05759fb38028a633.3c7e3905f36afb45.aaa5903bd0166b38
+    5a5d7f0ced129375
+
+VRSQRTPS_128(reg)
+  before
+    3e3ed4346fd9bd48.b900ed7c3a3192aa.04f841e3bcd748c5.1c95df3e57e03a9c
+    b3948b1ff2f8255d.24e55f21a258b93a.2589085f6bd9c983.b81858993733faa3
+    13aa9e3a11f9065f.d5a9a0896fb0bafd.c376ed9428b76719.ead22202ae71f786
+    bbce0bef686a9dfa.a6162ba2be44531e.3c09edee90ff5b32.8f91b865d9a6ec73
+    842096aed3dd9694
+  after
+    3e3ed4346fd9bd48.b900ed7c3a3192aa.04f841e3bcd748c5.1c95df3e57e03a9c
+    0000000000000000.0000000000000000.ffc000004ad5d800.ffc00000ffc00000
+    13aa9e3a11f9065f.d5a9a0896fb0bafd.c376ed9428b76719.ead22202ae71f786
+    bbce0bef686a9dfa.a6162ba2be44531e.3c09edee90ff5b32.8f91b865d9a6ec73
+    842096aed3dd9694
+VRSQRTPS_128(mem)
+  before
+    a34a39c9b822b115.074accac94d726db.74f87b56aa213ec9.ea9005da3e3ce47b
+    cadc1ca2a581f823.536be0db31cbddae.1c1d0f935052372c.2b5530c2cffb3ca0
+    d3a2bb25b50728ea.fa7d40eadad2fd1f.78506044cbe3fb71.59a56a14dec7a04c
+    9b68923f05bffd95.5acbe9442b78c4d9.655cec5438e046c4.d2ccb03b082c4c2c
+    f015fca2e8b77beb
+  after
+    a34a39c9b822b115.074accac94d726db.74f87b56aa213ec9.ea9005da3e3ce47b
+    0000000000000000.0000000000000000.24b7c000ffc00000.ffc0000040150000
+    d3a2bb25b50728ea.fa7d40eadad2fd1f.78506044cbe3fb71.59a56a14dec7a04c
+    9b68923f05bffd95.5acbe9442b78c4d9.655cec5438e046c4.d2ccb03b082c4c2c
+    f015fca2e8b77beb
+
+VRSQRTPS_128(reg)
+  before
+    10ce4cb71af36b36.fef91ddab1b63351.cea3d854c14a6b88.c00e2db1b256d452
+    8f419be53b6c56b8.d923d9e4d3f78549.b24f088837d331d9.6332a14655506147
+    c7bbe698e7af781e.06b041478a8eb0aa.621d754b2aa05078.2b94c4003edba8ce
+    1588273db9470e14.626dd1f1ef8870a0.3a571c0a353c0510.f40010c989026614
+    9a42038e51d15644
+  after
+    10ce4cb71af36b36.fef91ddab1b63351.cea3d854c14a6b88.c00e2db1b256d452
+    0000000000000000.0000000000000000.2e23380049e4c000.496d70003fc36800
+    c7bbe698e7af781e.06b041478a8eb0aa.621d754b2aa05078.2b94c4003edba8ce
+    1588273db9470e14.626dd1f1ef8870a0.3a571c0a353c0510.f40010c989026614
+    9a42038e51d15644
+VRSQRTPS_128(mem)
+  before
+    f925183cb255368b.d6f45c3e4dc05445.c92605cd21ef8056.954af72ff5338c4e
+    ed76cbbdc998c015.644b800840a7865e.17a75ac739d29ef9.d1410427051120de
+    530298ffb2a9b10d.1cd88f082e87e00a.28bc4bcb553a84b4.498a3e5e0263fe6b
+    0593fcec8791c4a0.5ae985a8b1ec9df6.d83153c59135eeb4.5870a14187b462a2
+    5c3e2a3b3091882e
+  after
+    f925183cb255368b.d6f45c3e4dc05445.c92605cd21ef8056.954af72ff5338c4e
+    0000000000000000.0000000000000000.ffc000004e3b2000.ffc00000ffc00000
+    530298ffb2a9b10d.1cd88f082e87e00a.28bc4bcb553a84b4.498a3e5e0263fe6b
+    0593fcec8791c4a0.5ae985a8b1ec9df6.d83153c59135eeb4.5870a14187b462a2
+    5c3e2a3b3091882e
+
+VRSQRTPS_128(reg)
+  before
+    b041d4b79b85abbc.dff57272675eb6f9.7ac85f566863face.03d1f1a208ce9a25
+    afc59b23611c08f7.bff6767c6b1c4345.d8c2187dec77323d.85699e4cd7124232
+    b7167bea20e3db8c.806184f6b2d527b0.d023ac88dcb583f0.3ac5d8b0190ca208
+    2280707874655f27.fe0118cc55971d65.be3717e5d1a72792.feb119bbeac878d2
+    adf9df5767537ebd
+  after
+    b041d4b79b85abbc.dff57272675eb6f9.7ac85f566863face.03d1f1a208ce9a25
+    0000000000000000.0000000000000000.ffc00000ffc00000.41cdf00052aca800
+    b7167bea20e3db8c.806184f6b2d527b0.d023ac88dcb583f0.3ac5d8b0190ca208
+    2280707874655f27.fe0118cc55971d65.be3717e5d1a72792.feb119bbeac878d2
+    adf9df5767537ebd
+VRSQRTPS_128(mem)
+  before
+    2369a672acb871f5.4e4e7739f72ed173.15a3afea736de291.fe4a55ff6adc5bd0
+    3bcce8f7d3030da5.95ce8a9948ca6d1d.a113c43d2564325f.eca7634240dd5a56
+    d3ef23d2fb410dfa.554aa70401c66fd1.7e1dd3af8987c9fc.e49b3c1bf13861cf
+    c69fd2ef3e7d2e1f.e80fcae7beae123a.878d582dbbe26293.4272dcf41978ace8
+    6278403a5329774c
+  after
+    2369a672acb871f5.4e4e7739f72ed173.15a3afea736de291.fe4a55ff6adc5bd0
+    0000000000000000.0000000000000000.546260002584c800.ffc0000029c32000
+    d3ef23d2fb410dfa.554aa70401c66fd1.7e1dd3af8987c9fc.e49b3c1bf13861cf
+    c69fd2ef3e7d2e1f.e80fcae7beae123a.878d582dbbe26293.4272dcf41978ace8
+    6278403a5329774c
+
+VRSQRTPS_256(reg)
+  before
+    a0f9625a3cd8fda8.f0a6713ab8c32c41.ab69edac1c0c9304.9a2ed0a4d682ba52
+    574140be6f107ba8.2cd07c9f8620c38b.fba30ec1b66e2edd.92ceb5fff7728d62
+    e59bd5d4885e2df7.58eb700ac39fae2a.320b289029601e6f.4a37852939bf96f2
+    a5551d07244d4f42.4fc2c8688c4daa4a.adec3787106ca066.a036bc10b873922b
+    6f97d49f919c3d3c
+  after
+    a0f9625a3cd8fda8.f0a6713ab8c32c41.ab69edac1c0c9304.9a2ed0a4d682ba52
+    ffc00000ffc00000.32bcc000ffc00000.462d98004a88d000.3a17280042514000
+    e59bd5d4885e2df7.58eb700ac39fae2a.320b289029601e6f.4a37852939bf96f2
+    a5551d07244d4f42.4fc2c8688c4daa4a.adec3787106ca066.a036bc10b873922b
+    6f97d49f919c3d3c
+VRSQRTPS_256(mem)
+  before
+    92264bc2df46534f.f3b915c3df691c34.ec2000a3fc347316.c89137110820f06f
+    e7af9b65bf7c8f91.2a14b774533fd17a.0dd294a92f62c4bb.df47259aac084a36
+    48fd42744d4aae2d.a8b201861f59aabf.8ca4006543e35a65.4f5afb8e99afe966
+    93ddbcdca4bc6c50.c8dfee65dd46e2b0.4762c1c251c2f13f.7216b7596aa10aac
+    a5c65567bb6ae9b3
+  after
+    92264bc2df46534f.f3b915c3df691c34.ec2000a3fc347316.c89137110820f06f
+    ffc00000ffc00000.ffc00000ffc00000.ffc00000ffc00000.ffc000005b217000
+    48fd42744d4aae2d.a8b201861f59aabf.8ca4006543e35a65.4f5afb8e99afe966
+    93ddbcdca4bc6c50.c8dfee65dd46e2b0.4762c1c251c2f13f.7216b7596aa10aac
+    a5c65567bb6ae9b3
+
+VRSQRTPS_256(reg)
+  before
+    44b8cf252997c228.a21c8387e0df8425.e5e67a7d298fb6f9.18d852ae770b4576
+    ab3623fd50b3d0b7.538415631ebeb3d9.5d15a23ba0c26245.ddd22f14d1ca1135
+    368d4c5ccb4a500b.80e1ed5a7965b598.8ab66109dd6a2241.701bd4e07a0c12a9
+    410a46af36e97dd1.0601875a0de1468d.ca16b3557d143199.ae80befe8edc04fd
+    74cd685a2a47a25e
+  after
+    44b8cf252997c228.a21c8387e0df8425.e5e67a7d298fb6f9.18d852ae770b4576
+    43f3a800ffc00000.ffc0000022872000.ffc00000ffc00000.27241000222d1000
+    368d4c5ccb4a500b.80e1ed5a7965b598.8ab66109dd6a2241.701bd4e07a0c12a9
+    410a46af36e97dd1.0601875a0de1468d.ca16b3557d143199.ae80befe8edc04fd
+    74cd685a2a47a25e
+VRSQRTPS_256(mem)
+  before
+    9cce4ee16a57a9f8.28f60d612e1b95b4.c2af5f4ef83d21e5.778194891b4bccf8
+    034fec7d681bd5f6.47a09ddd4e6dd261.8eb6f221538603cc.ee430013539b2f0b
+    851cbe1c439ce285.fa53f39133697184.47e3bbc13cc7a86d.8ca8f45ec391957d
+    ff0041a815e88bd0.9c5a0ae8799eadc8.c9023619cf0ccbf4.abfb6bd604b83bfb
+    a98961e7b49c5d30
+  after
+    9cce4ee16a57a9f8.28f60d612e1b95b4.c2af5f4ef83d21e5.778194891b4bccf8
+    ffc000002a0b7000.4ab8a00048243000.ffc00000ffc00000.237e7000518f7800
+    851cbe1c439ce285.fa53f39133697184.47e3bbc13cc7a86d.8ca8f45ec391957d
+    ff0041a815e88bd0.9c5a0ae8799eadc8.c9023619cf0ccbf4.abfb6bd604b83bfb
+    a98961e7b49c5d30
+
+VRSQRTPS_256(reg)
+  before
+    e09fd2fd6fca37c9.4bc9f00ffa0a8d04.8b02de4eba95c3d9.f1dfdf162761298f
+    ad87bb84d0cd0472.4641473c0f0fa44d.22976c2f95dcef65.994633a260d37e67
+    6c8d16e8733101d6.cc35c21b6f028bd6.bd65aef8a3fe6d16.9e03acaa976e86ab
+    7affe195f5836aa2.b971de9836ef00cc.b7b8a21383887898.dce1c81be83cfc85
+    2fad02df6e4b9d21
+  after
+    e09fd2fd6fca37c9.4bc9f00ffa0a8d04.8b02de4eba95c3d9.f1dfdf162761298f
+    28f3d8002599e800.ffc0000027b33800.ffc00000ffc00000.ffc00000ffc00000
+    6c8d16e8733101d6.cc35c21b6f028bd6.bd65aef8a3fe6d16.9e03acaa976e86ab
+    7affe195f5836aa2.b971de9836ef00cc.b7b8a21383887898.dce1c81be83cfc85
+    2fad02df6e4b9d21
+VRSQRTPS_256(mem)
+  before
+    7334d7e445a625ad.312817f8f14e7a81.e9c1159f82e2bd5a.6edc43edce054d98
+    8440c1148a5a5052.ee53b57c041e6f20.38f0e51c6ce87ead.3d1c8ef3220128c2
+    3e9d3e5d5872d93f.0dcdb58cca80832b.82ccc9fb120d01f1.7fc67d8f1b0845c1
+    7d19c9aaccfa7d9e.eae21596ddfff24d.a31f3e28905b0051.92240e2f54a7df42
+    d1833c3e696933f1
+  after
+    7334d7e445a625ad.312817f8f14e7a81.e9c1159f82e2bd5a.6edc43edce054d98
+    259850003c60a800.469df800ffc00000.ffc00000ffc00000.27c32000ffc00000
+    3e9d3e5d5872d93f.0dcdb58cca80832b.82ccc9fb120d01f1.7fc67d8f1b0845c1
+    7d19c9aaccfa7d9e.eae21596ddfff24d.a31f3e28905b0051.92240e2f54a7df42
+    d1833c3e696933f1
+
+VMOVDQU_GtoE_256(reg)
+  before
+    972f0328f7db7d79.1d7fdee701fff79b.e1ded005dc28fa33.77b6be9001e037fa
+    42735f599a88f887.fa9afa00148c0564.4e0de3456085d588.da5dc71d81a76417
+    2c9d4d3dedfce1c6.f03797e120ad6122.8dbb48c208a4bff9.a8e0d4bd2dbd41d5
+    b2f7c8408cc474e3.da223377426fc804.fa33fde86d11f632.bd0a625b212d8b60
+    f4a9ebe37803fee3
+  after
+    972f0328f7db7d79.1d7fdee701fff79b.e1ded005dc28fa33.77b6be9001e037fa
+    42735f599a88f887.fa9afa00148c0564.4e0de3456085d588.da5dc71d81a76417
+    b2f7c8408cc474e3.da223377426fc804.fa33fde86d11f632.bd0a625b212d8b60
+    b2f7c8408cc474e3.da223377426fc804.fa33fde86d11f632.bd0a625b212d8b60
+    f4a9ebe37803fee3
+VMOVDQU_GtoE_256(mem)
+  before
+    2b87ed414e4c558b.31cfccce146bed89.962749ac95ddf534.f1c3fd232d57b4de
+    3d71e361c0134d83.036f5554217d8765.ff12556d3603a5de.ceb544dfe40236aa
+    0633492fe965a2f8.86245f3c4d877f23.f1aed4a740ee942f.ed56ce892d9eb841
+    61999b97e64c1016.1439e7f43714116e.47c94145cfa97e53.a9f2988ba5b87550
+    60d49c53e7dbaa83
+  after
+    0633492fe965a2f8.86245f3c4d877f23.f1aed4a740ee942f.ed56ce892d9eb841
+    3d71e361c0134d83.036f5554217d8765.ff12556d3603a5de.ceb544dfe40236aa
+    0633492fe965a2f8.86245f3c4d877f23.f1aed4a740ee942f.ed56ce892d9eb841
+    61999b97e64c1016.1439e7f43714116e.47c94145cfa97e53.a9f2988ba5b87550
+    60d49c53e7dbaa83
+
+VMOVDQU_GtoE_256(reg)
+  before
+    6d4ad84c8f949385.2c6f5685d2d65208.0afce8e678b078f3.df2d183200401e75
+    2c9e48e13a6e6c03.4280f5e5ca0f25fa.c4b75e80afe8f25d.94a7d55cefc032c2
+    f81de68084f570a8.7e9af4a4e901451a.9fb8452d7547b85a.4103f4aeb7347366
+    2f13b09407b5dc21.be87cfac4cba6d92.f5499a5968590993.c40df21474a8a08c
+    f7914a7a43297360
+  after
+    6d4ad84c8f949385.2c6f5685d2d65208.0afce8e678b078f3.df2d183200401e75
+    2c9e48e13a6e6c03.4280f5e5ca0f25fa.c4b75e80afe8f25d.94a7d55cefc032c2
+    2f13b09407b5dc21.be87cfac4cba6d92.f5499a5968590993.c40df21474a8a08c
+    2f13b09407b5dc21.be87cfac4cba6d92.f5499a5968590993.c40df21474a8a08c
+    f7914a7a43297360
+VMOVDQU_GtoE_256(mem)
+  before
+    b85a78cd3fc2a910.2ccca189623bec19.dc1402eb0e465a8e.23b7587024ab1fb6
+    e135f8f78580fec6.4a94b5cb2f13db3d.b60d0a4c4bb0c83b.854e7bde44c8386f
+    50ef47e5306d2dae.e7b7e8c70ac7e639.263e62bb200473c5.7759ff0f653c8d6a
+    df52df845d98f4f5.5d8037e790e549b8.0a728624a94e1657.5526e06f22945d52
+    7bff1b6b175be2d3
+  after
+    50ef47e5306d2dae.e7b7e8c70ac7e639.263e62bb200473c5.7759ff0f653c8d6a
+    e135f8f78580fec6.4a94b5cb2f13db3d.b60d0a4c4bb0c83b.854e7bde44c8386f
+    50ef47e5306d2dae.e7b7e8c70ac7e639.263e62bb200473c5.7759ff0f653c8d6a
+    df52df845d98f4f5.5d8037e790e549b8.0a728624a94e1657.5526e06f22945d52
+    7bff1b6b175be2d3
+
+VMOVDQU_GtoE_256(reg)
+  before
+    4531ab6de11e599a.6c2a3ebe270a0cc7.0a3c9c985cf83f67.3c77f273019b6e1e
+    0f088ce31c67fe53.d145df81abd1344f.483715470b8d06f2.9917239444f63745
+    35d0ba3763c50ca9.eb6e3fb804f826ba.75bd9e5e382fd804.fe1f94738f6c2cf9
+    13d532d752c1c049.9670d84f4f8c9f33.eb1a314b7f6af24a.455bc1fcfe080a66
+    4b97261cacd68db7
+  after
+    4531ab6de11e599a.6c2a3ebe270a0cc7.0a3c9c985cf83f67.3c77f273019b6e1e
+    0f088ce31c67fe53.d145df81abd1344f.483715470b8d06f2.9917239444f63745
+    13d532d752c1c049.9670d84f4f8c9f33.eb1a314b7f6af24a.455bc1fcfe080a66
+    13d532d752c1c049.9670d84f4f8c9f33.eb1a314b7f6af24a.455bc1fcfe080a66
+    4b97261cacd68db7
+VMOVDQU_GtoE_256(mem)
+  before
+    ec9e3fbdb5e27119.0562ee2e86e956df.af182832a7975be7.089acc797dcb8f6f
+    053e89cd363971b8.67c5eca89ac80916.1032aa4d29281602.26886954ceddec20
+    70417f374ae64abf.954827b12bea179b.968ada8cf0488baf.a23206480d2c4508
+    0a749de60ef6b85a.ea389cb5d4dcba19.1dec35db1805771b.d9e29fc1d745d6d4
+    25e52e2bc7b3da30
+  after
+    70417f374ae64abf.954827b12bea179b.968ada8cf0488baf.a23206480d2c4508
+    053e89cd363971b8.67c5eca89ac80916.1032aa4d29281602.26886954ceddec20
+    70417f374ae64abf.954827b12bea179b.968ada8cf0488baf.a23206480d2c4508
+    0a749de60ef6b85a.ea389cb5d4dcba19.1dec35db1805771b.d9e29fc1d745d6d4
+    25e52e2bc7b3da30
+
+VCVTPS2PD_256(reg)
+  before
+    e387b1f279028ec7.afa35fc89d7476b6.c4e14520322a2e3d.81243626be6a9572
+    6f1323838abf2e46.3b9a42c8146c42ff.7e8f205fe05eb1b3.9ffd585afe84a3df
+    25d780489575f558.8a25c0d28eebd661.738e28dc7b067d26.51441a61f25e5b8e
+    621dc4af37b020aa.781057d227fbee07.01295a059eadcf43.74c6f529b9047aac
+    e44d669d6d83bb65
+  after
+    e387b1f279028ec7.afa35fc89d7476b6.c4e14520322a2e3d.81243626be6a9572
+    6f1323838abf2e46.3b9a42c8146c42ff.7e8f205fe05eb1b3.9ffd585afe84a3df
+    38252b40a0000000.bbd5b9e860000000.4698dea520000000.bf208f5580000000
+    621dc4af37b020aa.781057d227fbee07.01295a059eadcf43.74c6f529b9047aac
+    e44d669d6d83bb65
+VCVTPS2PD_256(mem)
+  before
+    7da5eaa82ae6dbe5.8033ec220cfdebe8.e12682b5fcab481d.83adb044e5e0e2b5
+    1b9cfc380d399656.dc63f30faee792bd.a134be6529049ed0.54672807ed2af329
+    99fd18383188a8e7.d2fad5e1bcfa50d6.940685cfc914ac4c.d2a1bdb952173e4a
+    d593bb94b3e0ccc2.be438e04cfc362de.966855e0f9e730bd.57a76bc6af33ffc5
+    41c72e9aa00b7246
+  after
+    7da5eaa82ae6dbe5.8033ec220cfdebe8.e12682b5fcab481d.83adb044e5e0e2b5
+    1b9cfc380d399656.dc63f30faee792bd.a134be6529049ed0.54672807ed2af329
+    c424d056a0000000.c7956903a0000000.b875b60880000000.c4bc1c56a0000000
+    d593bb94b3e0ccc2.be438e04cfc362de.966855e0f9e730bd.57a76bc6af33ffc5
+    41c72e9aa00b7246
+
+VCVTPS2PD_256(reg)
+  before
+    ea4c03a1c22bd278.aa2b6038ae4dbf14.fc8c1be486cd0482.8326a983d387e44e
+    b081e547b11d5c08.f49182113fd93d08.e82076ed7aa5726e.370cfda37602852b
+    edb3d0f8086f4ba2.8f91a009819202cb.de4a9d8b49d6e74d.8ee5ce2efc64cf81
+    ff2ec02063addcf1.57f7330e9084c989.3a578b2b8feca0cc.637f970f81b77d7c
+    94a4d43222094c47
+  after
+    ea4c03a1c22bd278.aa2b6038ae4dbf14.fc8c1be486cd0482.8326a983d387e44e
+    b081e547b11d5c08.f49182113fd93d08.e82076ed7aa5726e.370cfda37602852b
+    3f4af16560000000.b9fd941980000000.446ff2e1e0000000.b836efaf80000000
+    ff2ec02063addcf1.57f7330e9084c989.3a578b2b8feca0cc.637f970f81b77d7c
+    94a4d43222094c47
+VCVTPS2PD_256(mem)
+  before
+    fc210183fa66f80f.403eb12c5f614ba1.278eb80a89b94f6d.57933d37e773d896
+    76c29aee26d83d00.0d2fa0869719d460.dd24aceb883f50a4.934aad1deef8cd58
+    e0521c60c16dd645.c24d889ca861b3d8.54838a9ca8228759.49c7d9473f06b9be
+    159f01c3e831800b.bce365d92dc323b5.6778ce08056db1b9.d558bc23762ad973
+    9347521c30ef6824
+  after
+    fc210183fa66f80f.403eb12c5f614ba1.278eb80a89b94f6d.57933d37e773d896
+    76c29aee26d83d00.0d2fa0869719d460.dd24aceb883f50a4.934aad1deef8cd58
+    3cf1d70140000000.b93729eda0000000.42f267a6e0000000.c4ee7b12c0000000
+    159f01c3e831800b.bce365d92dc323b5.6778ce08056db1b9.d558bc23762ad973
+    9347521c30ef6824
+
+VCVTPS2PD_256(reg)
+  before
+    dee2989d08e1a47c.f073c705b62ff77d.553e33a9c3cd61a4.f4cff51dbc2c8aef
+    147388149b8cc728.4f9bea104873f6c8.eaabef78050ba851.d55479c6e96bce29
+    904720ed857d0dd3.0ce3e4d2b9093a17.d77394b28f073667.e8d3d8efa7373890
+    ada95b92613fb42a.0517333526fe7f97.78e51ec3ff4f4593.07178d85129b8552
+    10ed147247a3719b
+  after
+    dee2989d08e1a47c.f073c705b62ff77d.553e33a9c3cd61a4.f4cff51dbc2c8aef
+    147388149b8cc728.4f9bea104873f6c8.eaabef78050ba851.d55479c6e96bce29
+    471ca3d860000000.c7e9e8b260000000.38e2f1b0a0000000.3a5370aa40000000
+    ada95b92613fb42a.0517333526fe7f97.78e51ec3ff4f4593.07178d85129b8552
+    10ed147247a3719b
+VCVTPS2PD_256(mem)
+  before
+    dd22eaa3615cb797.c9e73670cb5ff6d9.14035227aa5d8174.294c8917ee6f1280
+    4c808a057dd11471.3e4babf36068108b.1773bd936132fbd9.46f3d11afaf2d8db
+    37d37082b60f4456.6a23b888bbe63ded.e832f065688aaaf3.2c28f339bf64d450
+    7be9180829210371.a7b958997966bbab.640d6889db704aee.3535eaded851428a
+    bd67b277e1465e36
+  after
+    dd22eaa3615cb797.c9e73670cb5ff6d9.14035227aa5d8174.294c8917ee6f1280
+    4c808a057dd11471.3e4babf36068108b.1773bd936132fbd9.46f3d11afaf2d8db
+    3a806a44e0000000.bd4bb02e80000000.3d299122e0000000.c5cde25000000000
+    7be9180829210371.a7b958997966bbab.640d6889db704aee.3535eaded851428a
+    bd67b277e1465e36
+
+VCVTTPS2DQ_128(reg)
+  before
+    220a476e77ce63ff.f58dfe82f1130cef.535a87943573c470.68d09fecd4f196f5
+    bf6aa63135758e92.7f8a9fdc2bf11cfb.c85142e48b9994e8.ce47137872184b34
+    f0d2c92bb8c81b9a.f6ad7602f2c8efc2.63ec83f4186569c1.733e401acff125d9
+    1190aec89b5246c5.37c2ffe062a34070.8176483278627da5.3481a0bf0788e00d
+    ebdbb15137ea37ff
+  after
+    220a476e77ce63ff.f58dfe82f1130cef.535a87943573c470.68d09fecd4f196f5
+    bf6aa63135758e92.7f8a9fdc2bf11cfb.c85142e48b9994e8.ce47137872184b34
+    0000000000000000.0000000000000000.0000000080000000.0000000000000000
+    1190aec89b5246c5.37c2ffe062a34070.8176483278627da5.3481a0bf0788e00d
+    ebdbb15137ea37ff
+VCVTTPS2DQ_128(mem)
+  before
+    751aedbe7a22e7d9.7eee51747ba04abc.1c95b662988fcc30.7c3a8c09461c0d40
+    ae08d3f1ed3dacc7.9339ac9bf33d642e.82f21774b0974f2f.b1854be51f20543f
+    7272dcd6ab4641f7.abbdbda9a0b5cfc5.45a59f02c5c78598.7da382339ef9904e
+    9d248559d1496492.24c67e0b1d94c92d.4179c9f9f32b2998.3ae02c5d5f33fb18
+    458845d0ff5bd14a
+  after
+    751aedbe7a22e7d9.7eee51747ba04abc.1c95b662988fcc30.7c3a8c09461c0d40
+    ae08d3f1ed3dacc7.9339ac9bf33d642e.82f21774b0974f2f.b1854be51f20543f
+    0000000000000000.0000000000000000.0000000000000000.8000000000002703
+    9d248559d1496492.24c67e0b1d94c92d.4179c9f9f32b2998.3ae02c5d5f33fb18
+    458845d0ff5bd14a
+
+VCVTTPS2DQ_128(reg)
+  before
+    fae6c9f919fc508f.0bea4b667a53cfc7.599fed2b07678c13.523b114357d0f85b
+    b548b4424aa2b294.988fa9e9c36f3ec0.a5960677f9ba5523.54b8f3ce0dc2ae0c
+    d3f803192dda3405.20e11bcec7a96fa9.66f5c35990175f08.23baec852f0b07d8
+    ae43b1e95f2f128d.7faa1e02a20e1cb0.f709223f670ce86f.9b0d7753dcb9beea
+    987f10262ed7906f
+  after
+    fae6c9f919fc508f.0bea4b667a53cfc7.599fed2b07678c13.523b114357d0f85b
+    b548b4424aa2b294.988fa9e9c36f3ec0.a5960677f9ba5523.54b8f3ce0dc2ae0c
+    0000000000000000.0000000000000000.8000000080000000.0000000080000000
+    ae43b1e95f2f128d.7faa1e02a20e1cb0.f709223f670ce86f.9b0d7753dcb9beea
+    987f10262ed7906f
+VCVTTPS2DQ_128(mem)
+  before
+    f6db33e941723893.a375ba1d7c2d87d9.91b72c6f71a801fe.b31e1e941a242a04
+    91ec5c8831957481.0eda1a231e61d094.32d4c3035086dcc2.f880b3c346ec6172
+    457f08f01c4cfe66.4bbdcd66e356296b.3ecd5ea85ab16726.207bdd3a87efcb66
+    ee60b20b1ba4936d.b66cd0526799cd0a.916d794cab375f56.895a996578b9a28b
+    8d6be2aeb5d7238e
+  after
+    f6db33e941723893.a375ba1d7c2d87d9.91b72c6f71a801fe.b31e1e941a242a04
+    91ec5c8831957481.0eda1a231e61d094.32d4c3035086dcc2.f880b3c346ec6172
+    0000000000000000.0000000000000000.0000000080000000.0000000000000000
+    ee60b20b1ba4936d.b66cd0526799cd0a.916d794cab375f56.895a996578b9a28b
+    8d6be2aeb5d7238e
+
+VCVTTPS2DQ_128(reg)
+  before
+    89f8b482dbd4891a.675bd6c64ca8eec3.ab311e5445b4fa1c.078291da6024807f
+    da4e0b4d853c12dc.8e3cf00ecb64cc94.8559b3d61a36ea4e.7bd6213e948285cd
+    dab9e37c509cf880.3ece7dcdb3e5e90b.a2308b4581a8d94b.cb36a464645f2b6c
+    e6853979d77f77b1.52dff7f121360154.5d02a30e179805c0.d26e9938ebc72e86
+    6b4a79a646c54a4a
+  after
+    89f8b482dbd4891a.675bd6c64ca8eec3.ab311e5445b4fa1c.078291da6024807f
+    da4e0b4d853c12dc.8e3cf00ecb64cc94.8559b3d61a36ea4e.7bd6213e948285cd
+    0000000000000000.0000000000000000.8000000000000000.8000000080000000
+    e6853979d77f77b1.52dff7f121360154.5d02a30e179805c0.d26e9938ebc72e86
+    6b4a79a646c54a4a
+VCVTTPS2DQ_128(mem)
+  before
+    7496c29a90653ae2.5bfd08b2b771cd1c.a839dc653063cf9d.121bf69b7791a859
+    c81dee01e6b3bb7b.936f4c928bff346c.1ba9a814fc791110.1dc6805a3d20ffc1
+    42ad7bc563bc8940.eb250285f0b4e94e.86fbd5eca28380d9.d9513db606cf45a4
+    c010e5d4248b5f5e.bf6c24f6811c286e.c7fbe1d83e8edb25.a406291b6d2db7b0
+    d93241f50fc3918f
+  after
+    7496c29a90653ae2.5bfd08b2b771cd1c.a839dc653063cf9d.121bf69b7791a859
+    c81dee01e6b3bb7b.936f4c928bff346c.1ba9a814fc791110.1dc6805a3d20ffc1
+    0000000000000000.0000000000000000.0000000000000000.0000000080000000
+    c010e5d4248b5f5e.bf6c24f6811c286e.c7fbe1d83e8edb25.a406291b6d2db7b0
+    d93241f50fc3918f
+
+VCVTTPS2DQ_256(reg)
+  before
+    d32180b0881f0fed.1c13a618442cfa00.6c90b053dbc42c77.b87546c4eaa4dc20
+    f01fe2b872cc6c77.34823c7fe0ac1654.4cdda10899373216.3734839dc5d440f5
+    8b7763796c57e6d9.e22922f413166f83.bc9ff37f580176f6.1e05114de927c3d1
+    ff770060104bb6be.04d3d463f977c0bc.1821a225b3af33c4.4bb56dc172ab20e0
+    980e14e67d6b154d
+  after
+    d32180b0881f0fed.1c13a618442cfa00.6c90b053dbc42c77.b87546c4eaa4dc20
+    f01fe2b872cc6c77.34823c7fe0ac1654.4cdda10899373216.3734839dc5d440f5
+    8000000000000000.0000000080000000.0000000000000000.016adb8280000000
+    ff770060104bb6be.04d3d463f977c0bc.1821a225b3af33c4.4bb56dc172ab20e0
+    980e14e67d6b154d
+VCVTTPS2DQ_256(mem)
+  before
+    e3dd81a625735b44.aa69b4d7fa341bd3.744eceb8afd9c628.bcb1ab6646cca62c
+    06ed30ef87d0b1f3.e69a7b4cc69f4fc4.0f648ddf514a3df6.049909afaee40bd9
+    de0c9dacbe8dd183.1056512912178f3c.b2e28bc4fad6e050.4c26b86a86849e78
+    480445c9e6b77823.85e932dc772817e7.37944654c6886c63.f0a4b4056b379ab4
+    4c5efaebf98a3c3a
+  after
+    e3dd81a625735b44.aa69b4d7fa341bd3.744eceb8afd9c628.bcb1ab6646cca62c
+    06ed30ef87d0b1f3.e69a7b4cc69f4fc4.0f648ddf514a3df6.049909afaee40bd9
+    8000000000000000.0000000080000000.8000000000000000.0000000000006653
+    480445c9e6b77823.85e932dc772817e7.37944654c6886c63.f0a4b4056b379ab4
+    4c5efaebf98a3c3a
+
+VCVTTPS2DQ_256(reg)
+  before
+    bba28588cb08c0b6.1ea2a3321c5962fd.9f9e1bd0935f2273.7b463979d26c9d5a
+    9bba51487d3d62d3.3db233d37c7f4b3e.bcc307710247ee8a.5bc3e120398f2f62
+    47f45a97acb55d3e.810071982135ee11.36a2f22b5f6cb4d8.b1d9b93618fbdda6
+    1b9a9ce1f3fdeea2.c658da6d288808a3.6a88d86a465bb30a.5a523ca68abf6453
+    32fbe85cace48095
+  after
+    bba28588cb08c0b6.1ea2a3321c5962fd.9f9e1bd0935f2273.7b463979d26c9d5a
+    9bba51487d3d62d3.3db233d37c7f4b3e.bcc307710247ee8a.5bc3e120398f2f62
+    0000000080000000.ffffc9ca00000000.80000000000036ec.8000000000000000
+    1b9a9ce1f3fdeea2.c658da6d288808a3.6a88d86a465bb30a.5a523ca68abf6453
+    32fbe85cace48095
+VCVTTPS2DQ_256(mem)
+  before
+    15a139439978ec97.73f91492efa051ac.e986e83eac84541f.b5c1b69a549f25cc
+    df0da9496e866686.aa5dbd163b2bc108.c45519f8c93390b2.7199862725c447c9
+    6c0eb659461ba88d.1e1193da73297b61.3493e8859ca37688.fb5c467d545755ae
+    986fdb603e426ed9.2a6392483526bb64.150ad2d340dfc3cc.af56f1097de38b26
+    e9d284363df424de
+  after
+    15a139439978ec97.73f91492efa051ac.e986e83eac84541f.b5c1b69a549f25cc
+    df0da9496e866686.aa5dbd163b2bc108.c45519f8c93390b2.7199862725c447c9
+    0000000000000000.8000000080000000.8000000000000000.0000000080000000
+    986fdb603e426ed9.2a6392483526bb64.150ad2d340dfc3cc.af56f1097de38b26
+    e9d284363df424de
+
+VCVTTPS2DQ_256(reg)
+  before
+    051df96f2f175d82.3ffb944871077696.299db6ce1aaebdbc.438751cdd2f432ab
+    5f834e22f0d771bd.3d7f5dfefb777aef.790cfcd7c04ebc16.9ad5e35f6ded8050
+    53507eba1bc09e3c.6ec7b36ff99d3611.74fc5fcec392f51d.f6c203742ed669e8
+    3dd085a34d5f1eaa.ae9f118587856827.78b9db21be04a47e.33192dfa30bca99e
+    2ca5dedc90aafba0
+  after
+    051df96f2f175d82.3ffb944871077696.299db6ce1aaebdbc.438751cdd2f432ab
+    5f834e22f0d771bd.3d7f5dfefb777aef.790cfcd7c04ebc16.9ad5e35f6ded8050
+    000000000df1eaa0.0000000000000000.8000000000000000.0000000000000000
+    3dd085a34d5f1eaa.ae9f118587856827.78b9db21be04a47e.33192dfa30bca99e
+    2ca5dedc90aafba0
+VCVTTPS2DQ_256(mem)
+  before
+    bf33900769ac1c17.794f6049213f2eb4.d9d3f32ec03cca5e.df8f6d3b4d3204e5
+    c78fc165d8cfc832.63180a1834ed0906.cb2fd555c0cd19e2.07c90f880da752fd
+    2085ece3f81ebb1b.57787e7c21f3ec4b.607e34e5a44411de.4ab5bf759af0ca73
+    a6e18e6ee6a5b0fe.b1bcbbe185e01330.738e8acc88ae6d7e.069d786c8e98a8f3
+    95ce36da882b2728
+  after
+    bf33900769ac1c17.794f6049213f2eb4.d9d3f32ec03cca5e.df8f6d3b4d3204e5
+    c78fc165d8cfc832.63180a1834ed0906.cb2fd555c0cd19e2.07c90f880da752fd
+    0000000080000000.8000000000000000.80000000fffffffe.800000000b204e50
+    a6e18e6ee6a5b0fe.b1bcbbe185e01330.738e8acc88ae6d7e.069d786c8e98a8f3
+    95ce36da882b2728
+
+VCVTDQ2PS_128(reg)
+  before
+    5494f62c223684be.346e21f0bd716408.cd2ebab4fb3dba60.e22955f58616eaf0
+    a03bb2ccf844fb63.a8fa2357998d9365.071a795f1f981c88.881c104cbd88445e
+    d30e6828a7e1c7c0.dd4f0f8e9705f840.bbcef2508e7c7654.403338be461137f4
+    4a5b13abca9a2584.ae3a6181d3e650c6.449523f2e475046f.e839473540bc7edf
+    5bfcbb9ec495d64b
+  after
+    5494f62c223684be.346e21f0bd716408.cd2ebab4fb3dba60.e22955f58616eaf0
+    a03bb2ccf844fb63.a8fa2357998d9365.071a795f1f981c88.881c104cbd88445e
+    0000000000000000.0000000000000000.4e892a48cddc57dd.cdbe35c64e8178fe
+    4a5b13abca9a2584.ae3a6181d3e650c6.449523f2e475046f.e839473540bc7edf
+    5bfcbb9ec495d64b
+VCVTDQ2PS_128(mem)
+  before
+    74460fe6f1a9fb63.616cb0c0fefa5159.f987951b683b5723.00ba08b0bc100285
+    11e4bff7e003a854.758e39d5de8d87ec.9802284a7210c882.4a8a9bf8b2d9ab44
+    0ca248bfafaf9a4a.e00dac5506e002e8.697795fa0e726110.7e51da35635a3c56
+    434c25297aba8d70.ff3504ac137efffa.47b15815576cdcf8.f75bc0d36b21f167
+    13f4493e64b90524
+  after
+    74460fe6f1a9fb63.616cb0c0fefa5159.f987951b683b5723.00ba08b0bc100285
+    11e4bff7e003a854.758e39d5de8d87ec.9802284a7210c882.4a8a9bf8b2d9ab44
+    0000000000000000.0000000000000000.cccf0d5d4ed076ae.4b3a08b0ce87dffb
+    434c25297aba8d70.ff3504ac137efffa.47b15815576cdcf8.f75bc0d36b21f167
+    13f4493e64b90524
+
+VCVTDQ2PS_128(reg)
+  before
+    2c6771e3edafb539.90aed1215c2f3df2.2e523d47a1f4bacd.0d7ded886a0bf567
+    a002342c9f8e3d51.d194cb92711b65fe.c9af54904bcc6e0e.98a8d13f63596a88
+    c90f8f8619e2d919.e0c98c6ad688c2be.2c9943f4ad945969.c5fc7e275c65f588
+    05db7d5ef438c43d.9b1a9195a785105e.b35d08e064d8b589.6e46722b74385393
+    71512836c4e040d4
+  after
+    2c6771e3edafb539.90aed1215c2f3df2.2e523d47a1f4bacd.0d7ded886a0bf567
+    a002342c9f8e3d51.d194cb92711b65fe.c9af54904bcc6e0e.98a8d13f63596a88
+    0000000000000000.0000000000000000.ce9945ee4ec9b16b.4edc8ce44ee870a7
+    05db7d5ef438c43d.9b1a9195a785105e.b35d08e064d8b589.6e46722b74385393
+    71512836c4e040d4
+VCVTDQ2PS_128(mem)
+  before
+    a8eb1d366a687778.aeb2fa1ecf1b3b68.dc5457fdff1b0a0b.ba459ebe0c23be1b
+    f0decb1682ddb5ab.22e0033443177a46.8041598ffa586df1.9d9d01fc4001b2ca
+    25f7b0c22749b698.bbb1920beeb8bc85.63ad1338b547f53b.b8b32e059cfecb43
+    2402472676bb356b.d670a50f6c8b3ecf.626602e24bf55e16.67d22045bda74631
+    0645d3283e875e42
+  after
+    a8eb1d366a687778.aeb2fa1ecf1b3b68.dc5457fdff1b0a0b.ba459ebe0c23be1b
+    f0decb1682ddb5ab.22e0033443177a46.8041598ffa586df1.9d9d01fc4001b2ca
+    0000000000000000.0000000000000000.ce0eaea0cb64f5f5.ce8b74c34d423be2
+    2402472676bb356b.d670a50f6c8b3ecf.626602e24bf55e16.67d22045bda74631
+    0645d3283e875e42
+
+VCVTDQ2PS_128(reg)
+  before
+    f059431abc2b501f.c7cb0d2e8a3cef51.d06a37ac581c3cd0.5736a07bd96d63ad
+    835b6c87d21e5877.eb1e7cc67fdaa076.03ec454e4ef5f235.1feb6bed7bbbc12d
+    1a954bdb1decb2f4.6cc712db72a00406.cc40c961eba49baa.964fde264beb34c2
+    1153db8238219942.26914a577f9bd62c.88b3c151cbb574da.982f7611670a7797
+    0157ad9aeb2348d9
+  after
+    f059431abc2b501f.c7cb0d2e8a3cef51.d06a37ac581c3cd0.5736a07bd96d63ad
+    835b6c87d21e5877.eb1e7cc67fdaa076.03ec454e4ef5f235.1feb6bed7bbbc12d
+    0000000000000000.0000000000000000.ceee987dce512a2d.cecfa1144ece14ef
+    1153db8238219942.26914a577f9bd62c.88b3c151cbb574da.982f7611670a7797
+    0157ad9aeb2348d9
+VCVTDQ2PS_128(mem)
+  before
+    ad9301adf24361b3.c3e318e9c04a4a0e.f54aa027c1d6d314.9190288b89b3b972
+    78aeed3699757e52.8e8ffe7a50f20104.b5bc9038545db7eb.4425fa79c12aa51d
+    3e76ed21fbc55de2.cda589a385a6facf.42b49775553d3edd.fdbc338910a67688
+    dbb57d5b3540b88e.db6fb6cefaf1701c.78fe2fcadf802316.18a2d02511b4665f
+    f124ccbb61dfb14d
+  after
+    ad9301adf24361b3.c3e318e9c04a4a0e.f54aa027c1d6d314.9190288b89b3b972
+    78aeed3699757e52.8e8ffe7a50f20104.b5bc9038545db7eb.4425fa79c12aa51d
+    0000000000000000.0000000000000000.cd2b55fece78a4b4.cedcdfafceec988d
+    dbb57d5b3540b88e.db6fb6cefaf1701c.78fe2fcadf802316.18a2d02511b4665f
+    f124ccbb61dfb14d
+
+VCVTDQ2PS_256(reg)
+  before
+    e48b23b69bb395ff.2b381ace62f14b83.163a80694b5fa097.3365d6230f3523c1
+    4d26d1825cbd4c20.0acb3f689ee4d4ec.d852e3df157dc6eb.4fb7086b0065f90a
+    8840d38b3f88125d.543a681306260df6.7f02dc9cf4d61dc4.a8be3f91cf1e631e
+    f124233de1a02562.e55011bdb5c2b3cd.6598650c83f6e2d0.1a47f97e976c1b29
+    811eb11f7559de56
+  after
+    e48b23b69bb395ff.2b381ace62f14b83.163a80694b5fa097.3365d6230f3523c1
+    4d26d1825cbd4c20.0acb3f689ee4d4ec.d852e3df157dc6eb.4fb7086b0065f90a
+    cd6dbdcccdf2fed5.cdd57f72ce947a98.4ecb30cacef8123a.4dd23fccced127ca
+    f124233de1a02562.e55011bdb5c2b3cd.6598650c83f6e2d0.1a47f97e976c1b29
+    811eb11f7559de56
+VCVTDQ2PS_256(mem)
+  before
+    b80fe36084f367d2.e420bf04dd92bfda.99dbb751c8c4829c.e85e7c9b5e6951b9
+    9de60b2ee04673c9.bd7ea24dd0e91d72.4ba5d4bb5b393590.62a21cb622bca62b
+    0b6fa573a75cbe66.d88bc98255327bd5.d97be6e7892c89d4.30ae41c76a7b1cd3
+    de752e1df24304d6.91932e1108f814b0.1e2968c16ea93a95.afcfe83bd330f05d
+    39500b7ff8695e74
+  after
+    b80fe36084f367d2.e420bf04dd92bfda.99dbb751c8c4829c.e85e7c9b5e6951b9
+    9de60b2ee04673c9.bd7ea24dd0e91d72.4ba5d4bb5b393590.62a21cb622bca62b
+    ce8fe039cef61930.cddefa08ce09b501.cecc4891ce5cedf6.cdbd0c1b4ebcd2a3
+    de752e1df24304d6.91932e1108f814b0.1e2968c16ea93a95.afcfe83bd330f05d
+    39500b7ff8695e74
+
+VCVTDQ2PS_256(reg)
+  before
+    2b7fa8fe76b2a1c5.f1c52117df070044.43e1cf6486c725af.f67bd73527bd04fe
+    e2a6ba23e895f7fb.222bfa4d8ab370dd.4cc3a7e96b2bea7d.3c3dad2fcf73a23d
+    b8133e5ceba099c3.4b7336ab0d530dcd.0783b20b52b19fc6.ce3a689c83d7d17b
+    0a102e141a5fc6c9.4a694f1d87f3963f.d06eed35d7e47f38.864083665ef64de7
+    42197a7b7cdbd1aa
+  after
+    2b7fa8fe76b2a1c5.f1c52117df070044.43e1cf6486c725af.f67bd73527bd04fe
+    e2a6ba23e895f7fb.222bfa4d8ab370dd.4cc3a7e96b2bea7d.3c3dad2fcf73a23d
+    4d2102e14dd2fe36.4e94d29ecef018d4.ce3e444bce206e03.cef37ef94ebdec9c
+    0a102e141a5fc6c9.4a694f1d87f3963f.d06eed35d7e47f38.864083665ef64de7
+    42197a7b7cdbd1aa
+VCVTDQ2PS_256(mem)
+  before
+    dc92cac5fa931af3.34ea88b7125db8b8.fad9c38f12a0c55f.02d052d59751c77d
+    3277ed32f428e4ec.92ed47b16e26ac3d.368e0dedca65575b.fbf5df572d83b241
+    1e9461ad85a8ebc2.8064676eca46de03.dc56aa23cc4e085d.16298f2536067e31
+    7eb4a122ca1feaa0.5a9de55bc34a8ab7.c6fb141e33689391.aeb85fac4e6765f9
+    21ed49580f31a444
+  after
+    dc92cac5fa931af3.34ea88b7125db8b8.fad9c38f12a0c55f.02d052d59751c77d
+    3277ed32f428e4ec.92ed47b16e26ac3d.368e0dedca65575b.fbf5df572d83b241
+    ce0db4d5ccad9ca2.4e53aa234d92edc6.cca4c78e4d95062b.4c3414b5ced15c71
+    7eb4a122ca1feaa0.5a9de55bc34a8ab7.c6fb141e33689391.aeb85fac4e6765f9
+    21ed49580f31a444
+
+VCVTDQ2PS_256(reg)
+  before
+    c9154b9618f076bf.2ca52a7dde989eb3.7ce2bbe2f5bdeb05.d14ac9c81cbeb624
+    047d60d002301916.063176aadd1fc326.4280e771fb2b3e98.da0f440fa25d2a42
+    2c6e84746b7ec7f4.e6250395e4c01426.08c364727121bf1d.bb1501dde24fae16
+    9f37b3edef66bc05.a94d4c2b0e884edf.2af72f53f42aa93f.512a7c20f7a3fccd
+    791832c3fe62d192
+  after
+    c9154b9618f076bf.2ca52a7dde989eb3.7ce2bbe2f5bdeb05.d14ac9c81cbeb624
+    047d60d002301916.063176aadd1fc326.4280e771fb2b3e98.da0f440fa25d2a42
+    cec19098cd84ca20.cead65684d6884ee.4e2bdcbdcd3d556c.4ea254f8cd05c033
+    9f37b3edef66bc05.a94d4c2b0e884edf.2af72f53f42aa93f.512a7c20f7a3fccd
+    791832c3fe62d192
+VCVTDQ2PS_256(mem)
+  before
+    0dac9eb2129ae992.b723eaa6297236f7.2b75cd5678822d7c.0468427f20d339ab
+    eab33cd94f5600f9.d17d240db6306f73.496803043ebb6d2a.f2629b618fa6ab0d
+    ecf68824d2a3d1f2.4a935d8d312ca428.ddf4681f7a3ec914.50303567e0323a10
+    f044fe7fb78c19aa.7caf919236f011c0.c4e37a954b17fe67.7a1f0cfcad002461
+    cb7b1c8d929ea3ab
+  after
+    0dac9eb2129ae992.b723eaa6297236f7.2b75cd5678822d7c.0468427f20d339ab
+    eab33cd94f5600f9.d17d240db6306f73.496803043ebb6d2a.f2629b618fa6ab0d
+    4d5ac9eb4d94d74d.ce91b82b4e25c8dc.4e2dd7354ef1045b.4c8d08504e034ce7
+    f044fe7fb78c19aa.7caf919236f011c0.c4e37a954b17fe67.7a1f0cfcad002461
+    cb7b1c8d929ea3ab
+
+VCVTTPD2DQ_128(reg)
+  before
+    a19062842b97f39b.d0681bd7191d934c.c41ebd89620af1e8.da03b451ca52c84f
+    57aad94e167852dd.692d5a161462fd05.7e2cdbdc5106814b.fb1e923f16fce2f7
+    49157d58ecccfa1c.9761372ac5681101.0725e9f89e6efd96.0300914b48210a8c
+    d21c4a0c4b1f2804.36ce2efd483b8c6b.b954e34ae5d0a074.ce772c617ecbfa3a
+    384edf6dd4086e2c
+  after
+    a19062842b97f39b.d0681bd7191d934c.c41ebd89620af1e8.da03b451ca52c84f
+    57aad94e167852dd.692d5a161462fd05.7e2cdbdc5106814b.fb1e923f16fce2f7
+    0000000000000000.0000000000000000.0000000000000000.0000000080000000
+    d21c4a0c4b1f2804.36ce2efd483b8c6b.b954e34ae5d0a074.ce772c617ecbfa3a
+    384edf6dd4086e2c
+VCVTTPD2DQ_128(mem)
+  before
+    1d50265b65e3248e.500d3dd8cffd1743.2241bc7db7e52970.f106c33cc3b8a792
+    594a7d174e69d68d.1d32502613f30483.37865c953174a53b.0b88873cd3b14e9c
+    c808618eaaa54055.97d88164b48c2b70.51688a31d0f3bcf9.632429b5b247d13d
+    46564daa95a32011.194bcbfd4d55c8b7.4cb5c23db06f2ad6.5527a712fb066b22
+    3dddfdc14b7b59f6
+  after
+    1d50265b65e3248e.500d3dd8cffd1743.2241bc7db7e52970.f106c33cc3b8a792
+    594a7d174e69d68d.1d32502613f30483.37865c953174a53b.0b88873cd3b14e9c
+    0000000000000000.0000000000000000.0000000000000000.0000000080000000
+    46564daa95a32011.194bcbfd4d55c8b7.4cb5c23db06f2ad6.5527a712fb066b22
+    3dddfdc14b7b59f6
+
+VCVTTPD2DQ_128(reg)
+  before
+    7791252d3d31d766.af00bd592c7030ee.fed62b5d7ad91704.043780a5eef3aafd
+    5f911dc26eb4211e.dfd22d868b172d18.a4c79bf0d8a45302.54bb4155a58bf99b
+    5127e0ed799172c9.b297191dcda4d3ba.656819220243b95e.1a0d8039f144d3db
+    a9a06a18fb530714.031dfe090e24dd01.9e06a05f954184c4.31f9b93df029f4ea
+    754b684ebb4617f4
+  after
+    7791252d3d31d766.af00bd592c7030ee.fed62b5d7ad91704.043780a5eef3aafd
+    5f911dc26eb4211e.dfd22d868b172d18.a4c79bf0d8a45302.54bb4155a58bf99b
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    a9a06a18fb530714.031dfe090e24dd01.9e06a05f954184c4.31f9b93df029f4ea
+    754b684ebb4617f4
+VCVTTPD2DQ_128(mem)
+  before
+    c1cf0a5670a8f924.c348b7b08f871baa.b02e57386ba20818.aced2c142d2af1df
+    f3501a432b5a56a7.fa6bc422d1b8ec38.9497a096ff2a102c.e969baab648b3c5b
+    e69b14000768e9a8.ac558cd95e72b469.8b24560de7c9b169.b2c64592d9efa1e6
+    757c747920df6f54.34510b40d241b0eb.70a0f38a3e8aa6fa.6450c83325e25c29
+    595242fce7f1a8d3
+  after
+    c1cf0a5670a8f924.c348b7b08f871baa.b02e57386ba20818.aced2c142d2af1df
+    f3501a432b5a56a7.fa6bc422d1b8ec38.9497a096ff2a102c.e969baab648b3c5b
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    757c747920df6f54.34510b40d241b0eb.70a0f38a3e8aa6fa.6450c83325e25c29
+    595242fce7f1a8d3
+
+VCVTTPD2DQ_128(reg)
+  before
+    ee19ac58b8a7c28e.7ebfb69a93caa4d6.eeac3dc5c8b21b67.21d9f5f92179ac0b
+    7ff203b33790e506.dc30574f7c36435b.35b31ed3dc50338c.7899d747aba37fca
+    68274479fd394fe9.6a9bd284f52d0a0f.67b0abd6aba83204.53ad155ef913da61
+    06046a16a82d3ae0.06cba3251dbdb31d.dff0df3ad045547b.8de12c2c26d67afc
+    0101969c4ef61bc8
+  after
+    ee19ac58b8a7c28e.7ebfb69a93caa4d6.eeac3dc5c8b21b67.21d9f5f92179ac0b
+    7ff203b33790e506.dc30574f7c36435b.35b31ed3dc50338c.7899d747aba37fca
+    0000000000000000.0000000000000000.0000000000000000.8000000000000000
+    06046a16a82d3ae0.06cba3251dbdb31d.dff0df3ad045547b.8de12c2c26d67afc
+    0101969c4ef61bc8
+VCVTTPD2DQ_128(mem)
+  before
+    8cd9d19a8e8279f1.b3d771f6d4f8e29a.8a8e461e0ef2fab2.f8beb66be8b3d79e
+    0b35581202834fa2.cceb56861c2785c1.d4ae375ce4d79dfa.10682cd58f7ff519
+    58e0a8f0c5075a08.ad8b13301c455d01.bef8f3c9bc785620.81383ee55f34eb97
+    51a73b20f319564e.b204a66171dfa708.2538f553b1e1e250.a97ce605f75ef4c5
+    e27e22a3f0894d4f
+  after
+    8cd9d19a8e8279f1.b3d771f6d4f8e29a.8a8e461e0ef2fab2.f8beb66be8b3d79e
+    0b35581202834fa2.cceb56861c2785c1.d4ae375ce4d79dfa.10682cd58f7ff519
+    0000000000000000.0000000000000000.0000000000000000.0000000080000000
+    51a73b20f319564e.b204a66171dfa708.2538f553b1e1e250.a97ce605f75ef4c5
+    e27e22a3f0894d4f
+
+VCVTTPD2DQ_256(reg)
+  before
+    8a8bee29e84232e0.d0578f8ea9c5fea2.37a20a86b77f9f7f.e639b9e4e01ffdb8
+    fbef44057b15df24.b2ba1f2603180f2d.98b13c0a89b48015.dbc9bc6a643d6282
+    93f522a2448c90c9.d49c67d51b1d451d.317d365883078774.e1b278d05948ceda
+    aceb836ce0358078.10cbe38510e15c9e.5d51f6de4206f048.d5c16b02dc4bfded
+    91c310ec0952aae7
+  after
+    8a8bee29e84232e0.d0578f8ea9c5fea2.37a20a86b77f9f7f.e639b9e4e01ffdb8
+    fbef44057b15df24.b2ba1f2603180f2d.98b13c0a89b48015.dbc9bc6a643d6282
+    0000000000000000.0000000000000000.0000000000000000.8000000080000000
+    aceb836ce0358078.10cbe38510e15c9e.5d51f6de4206f048.d5c16b02dc4bfded
+    91c310ec0952aae7
+VCVTTPD2DQ_256(mem)
+  before
+    f281e37afb6992f3.a31b63cfea9cece0.43121024fc6f0fdc.7a7b7707613cf73e
+    d4ca6198cf9d713e.d5d2be37fe4b0fab.493c699dfbd31b02.e345b53f7d35d702
+    13690433a0f903f3.9c5c9010b9d02786.fe166adb2a1a3c3c.f4fcacf2317ecd40
+    8b294a358a8a033f.5505d6c6b7b76e1c.3e6c8fcca44e2db8.09ec598d1aa314a3
+    7d61b77ad32eead7
+  after
+    f281e37afb6992f3.a31b63cfea9cece0.43121024fc6f0fdc.7a7b7707613cf73e
+    d4ca6198cf9d713e.d5d2be37fe4b0fab.493c699dfbd31b02.e345b53f7d35d702
+    0000000000000000.0000000000000000.8000000000000000.8000000080000000
+    8b294a358a8a033f.5505d6c6b7b76e1c.3e6c8fcca44e2db8.09ec598d1aa314a3
+    7d61b77ad32eead7
+
+VCVTTPD2DQ_256(reg)
+  before
+    aea6c226f9ad8989.18d8ae8caa5b2e4e.5c198bc5938a201a.e50a555b867eac9f
+    f70976fe27ab2e65.9640ad221b78404b.0ee3ab7ae9d77b2b.d0bc3774ebb37320
+    b3d4d06cf9b51416.e12ec1e5faeef563.c5b13350562ab9fc.d94db103effb3e65
+    4054cade0d567949.d56e68c062c808c1.decd1db2750d1739.dd8b3ff5af61cb9a
+    b7405d3447f2d4ec
+  after
+    aea6c226f9ad8989.18d8ae8caa5b2e4e.5c198bc5938a201a.e50a555b867eac9f
+    f70976fe27ab2e65.9640ad221b78404b.0ee3ab7ae9d77b2b.d0bc3774ebb37320
+    0000000000000000.0000000000000000.0000005380000000.8000000080000000
+    4054cade0d567949.d56e68c062c808c1.decd1db2750d1739.dd8b3ff5af61cb9a
+    b7405d3447f2d4ec
+VCVTTPD2DQ_256(mem)
+  before
+    453988add2b91587.f8d562bffc1a97aa.4ecb1d9f70123692.b584670ee30fd18d
+    62423b4d6cc24c97.39a3937b648daae4.28135c6e3fd93a02.a6220ccf3bb922a5
+    ea27f2ff321a3347.5d0a5a7ee13cf0a3.3f10a219ec28d23c.0df308611a99472c
+    b9b329ae40cc87c3.c256b1340db3a395.6f8f698c920bb86d.464258301b3a7ccf
+    ad5df6a8db28fc3a
+  after
+    453988add2b91587.f8d562bffc1a97aa.4ecb1d9f70123692.b584670ee30fd18d
+    62423b4d6cc24c97.39a3937b648daae4.28135c6e3fd93a02.a6220ccf3bb922a5
+    0000000000000000.0000000000000000.8000000080000000.8000000000000000
+    b9b329ae40cc87c3.c256b1340db3a395.6f8f698c920bb86d.464258301b3a7ccf
+    ad5df6a8db28fc3a
+
+VCVTTPD2DQ_256(reg)
+  before
+    9e8ee035f5f00518.abb45c48b1e40438.c2d29609877c0064.945c2fb34e8fa9c0
+    75221143061dd116.9cf408b8a16f65d2.bbcb0469e92542bc.8a436f7b3bbf6062
+    8d65863fa93c9cdf.6740a8ea2d7867bc.078df7c1cf3aa74a.2c10a6ce76a79a7e
+    44a339937ad8a420.ea64b8ca700bc623.03646c7bd64569ba.588f4e9a1a541341
+    e98be5c943d187d7
+  after
+    9e8ee035f5f00518.abb45c48b1e40438.c2d29609877c0064.945c2fb34e8fa9c0
+    75221143061dd116.9cf408b8a16f65d2.bbcb0469e92542bc.8a436f7b3bbf6062
+    0000000000000000.0000000000000000.8000000080000000.0000000080000000
+    44a339937ad8a420.ea64b8ca700bc623.03646c7bd64569ba.588f4e9a1a541341
+    e98be5c943d187d7
+VCVTTPD2DQ_256(mem)
+  before
+    bad1e6490e2ab16c.f52828ad167d2384.002cb44487353e33.0c9c5e0599d4c4b7
+    a92dcd05976c4f2a.fc3f4ef819b755b9.846419458d018a17.7c81c9c9b573f6ee
+    916b16e9f9a21a40.b536a7df1e137868.54d762b79f7c67fc.b05ea935c5ac390a
+    4d573ee150d8d1d8.7b5730d0c11cc640.4a530b87d8b0910d.0480fab4660dcab8
+    d533b9b23322e5a4
+  after
+    bad1e6490e2ab16c.f52828ad167d2384.002cb44487353e33.0c9c5e0599d4c4b7
+    a92dcd05976c4f2a.fc3f4ef819b755b9.846419458d018a17.7c81c9c9b573f6ee
+    0000000000000000.0000000000000000.0000000080000000.0000000000000000
+    4d573ee150d8d1d8.7b5730d0c11cc640.4a530b87d8b0910d.0480fab4660dcab8
+    d533b9b23322e5a4
+
+VCVTPD2DQ_128(reg)
+  before
+    7dc3e09bc975c579.bbbdc0d9b91b2e1f.acefe4369f5f7ceb.44a290a255abc377
+    597c6ddbc394a7e4.b56818bd4f76ee40.a34abe7d5367d615.1d916df33179ba65
+    c5aa5bdebd0bc790.1926c2792ff6cd68.bbb4bc117ac00f6b.b0ec1f6588253204
+    1d98a7105465602a.c1c13bfa75a586c2.5278da5faff66599.da7f21e677bbe780
+    7815ef611a479404
+  after
+    7dc3e09bc975c579.bbbdc0d9b91b2e1f.acefe4369f5f7ceb.44a290a255abc377
+    597c6ddbc394a7e4.b56818bd4f76ee40.a34abe7d5367d615.1d916df33179ba65
+    0000000000000000.0000000000000000.0000000000000000.8000000080000000
+    1d98a7105465602a.c1c13bfa75a586c2.5278da5faff66599.da7f21e677bbe780
+    7815ef611a479404
+VCVTPD2DQ_128(mem)
+  before
+    647c05c28cd6f6bd.bd944cde242eaf5e.8a06fd2a3b92d77b.c2e412d18f96114a
+    7c7ee0f5e973c9d7.01e845b2c8f2f0d7.51c186f7a0c679bf.694262d4b52c522b
+    9ae8fbe74e2bc87d.45e190fadc3e5f42.f0bd524bbd4f2bb9.a1dfc5d5be4262e8
+    9b86d282d708b0db.e5cb2920fd9d374a.45c8db14b038a796.c807373f45667e2c
+    3806b57de724e2a3
+  after
+    647c05c28cd6f6bd.bd944cde242eaf5e.8a06fd2a3b92d77b.c2e412d18f96114a
+    7c7ee0f5e973c9d7.01e845b2c8f2f0d7.51c186f7a0c679bf.694262d4b52c522b
+    0000000000000000.0000000000000000.0000000000000000.0000000080000000
+    9b86d282d708b0db.e5cb2920fd9d374a.45c8db14b038a796.c807373f45667e2c
+    3806b57de724e2a3
+
+VCVTPD2DQ_128(reg)
+  before
+    4f2739fd3f06c9fb.5c24e1b39f193d1f.3df20a92c69bb59c.2aac9f3d958daa82
+    67b8c12aea9a71dd.b78ea467c2672b72.a9a131bbd4c515e4.7c3618b2875bf0a8
+    dd034870836b13f8.898f98885d003503.85269907c3a693cd.1733c45fa3ad3534
+    0d55ca3ba606eef6.aef438048bef18fc.2ccb3ee22dcb6a04.d76c1f3004903454
+    99b0a311c60faa31
+  after
+    4f2739fd3f06c9fb.5c24e1b39f193d1f.3df20a92c69bb59c.2aac9f3d958daa82
+    67b8c12aea9a71dd.b78ea467c2672b72.a9a131bbd4c515e4.7c3618b2875bf0a8
+    0000000000000000.0000000000000000.0000000000000000.0000000080000000
+    0d55ca3ba606eef6.aef438048bef18fc.2ccb3ee22dcb6a04.d76c1f3004903454
+    99b0a311c60faa31
+VCVTPD2DQ_128(mem)
+  before
+    37caceef063652fa.54fb44f7f0f63c84.028a00c66941908a.fcdd1db8b1bfd734
+    8e851bb4e012ead9.0c3eb110fdc73a4d.611b6cba120158d8.50a830f5e80e160a
+    7aaf064e6fae2cfa.926d0df3680624fe.a873f9cca33b2e13.8478750671446232
+    d7120ba7cf16d48b.42d3540acd3e3642.b16021e837fbcc66.f398e755e5eef857
+    fb568250e2981425
+  after
+    37caceef063652fa.54fb44f7f0f63c84.028a00c66941908a.fcdd1db8b1bfd734
+    8e851bb4e012ead9.0c3eb110fdc73a4d.611b6cba120158d8.50a830f5e80e160a
+    0000000000000000.0000000000000000.0000000000000000.0000000080000000
+    d7120ba7cf16d48b.42d3540acd3e3642.b16021e837fbcc66.f398e755e5eef857
+    fb568250e2981425
+
+VCVTPD2DQ_128(reg)
+  before
+    f7fc436104ccf24a.817ba7ad1d56a0b5.78bb82c3c9fcabc6.59ad62faea4eeefe
+    42d725f6e618cd70.54b6544b747b4aa7.91729489f7cac036.7c2538eeda405207
+    3a33237a2407e243.2c8e906df1918f8b.e74485c7f436b03d.f6951db120dbb2ac
+    395c3c595b266d70.e5d1d7ffafa22b8d.d77d51eb5bccb988.a2ca8f2dda2dca19
+    5e8d08502442587c
+  after
+    f7fc436104ccf24a.817ba7ad1d56a0b5.78bb82c3c9fcabc6.59ad62faea4eeefe
+    42d725f6e618cd70.54b6544b747b4aa7.91729489f7cac036.7c2538eeda405207
+    0000000000000000.0000000000000000.0000000000000000.8000000000000000
+    395c3c595b266d70.e5d1d7ffafa22b8d.d77d51eb5bccb988.a2ca8f2dda2dca19
+    5e8d08502442587c
+VCVTPD2DQ_128(mem)
+  before
+    05ad0604192416ff.9d9e69ff2700a9a3.5b49a3edcbbcd9da.bd69f460c91715c2
+    73f50537d5e1c1ce.c044a8d82321d387.69c3722360eb569e.f5546a92d9a30198
+    84307fd475841516.009cf350eb1627c9.ed0bbf8d8b395e05.db89b0ed28fcb8b6
+    142cf2c7141acd03.b7f048d31c6ae114.c2ed061867b4ad3a.cb55c1dd51af77c7
+    200599cff1477a78
+  after
+    05ad0604192416ff.9d9e69ff2700a9a3.5b49a3edcbbcd9da.bd69f460c91715c2
+    73f50537d5e1c1ce.c044a8d82321d387.69c3722360eb569e.f5546a92d9a30198
+    0000000000000000.0000000000000000.0000000000000000.8000000000000000
+    142cf2c7141acd03.b7f048d31c6ae114.c2ed061867b4ad3a.cb55c1dd51af77c7
+    200599cff1477a78
+
+VCVTPD2DQ_256(reg)
+  before
+    38e3342da351fd74.feb3d9fccfaea6c1.428da3ce52a93c16.c435c3ae1068fe69
+    6e3b8f6503573b68.2092b05fc14d5c7a.febffeab27607578.cfaf733da45f0ebf
+    1e5ba5e1aee871ff.5595f3dc0701ab5d.45d257d73a1ac8e8.be2690af3ca79968
+    a48e720f408ddbe7.78871f5fbcd84e94.7411a9bf24637012.6f6798f2f64c5a8f
+    bd3e06f1ee580e61
+  after
+    38e3342da351fd74.feb3d9fccfaea6c1.428da3ce52a93c16.c435c3ae1068fe69
+    6e3b8f6503573b68.2092b05fc14d5c7a.febffeab27607578.cfaf733da45f0ebf
+    0000000000000000.0000000000000000.0000000080000000.8000000080000000
+    a48e720f408ddbe7.78871f5fbcd84e94.7411a9bf24637012.6f6798f2f64c5a8f
+    bd3e06f1ee580e61
+VCVTPD2DQ_256(mem)
+  before
+    837757983fda710a.5b1ff25a54d4b5c9.6736afd5fdde024c.e8caf0ce84c8aaa2
+    9fde05d305db3eb5.a15b212e86483a54.fd6c1f28e51d83b0.fb472870f3d4b243
+    eb3f8e8e5d69338e.d18efcf67376a732.15f6eb4691a48ced.0ad54e110f13c4a1
+    45656db5628f0ac3.46047e21b6e9380f.8da18f191c7cda2f.71c05c1d74121b6a
+    8c545000bd5cf447
+  after
+    837757983fda710a.5b1ff25a54d4b5c9.6736afd5fdde024c.e8caf0ce84c8aaa2
+    9fde05d305db3eb5.a15b212e86483a54.fd6c1f28e51d83b0.fb472870f3d4b243
+    0000000000000000.0000000000000000.0000000080000000.8000000080000000
+    45656db5628f0ac3.46047e21b6e9380f.8da18f191c7cda2f.71c05c1d74121b6a
+    8c545000bd5cf447
+
+VCVTPD2DQ_256(reg)
+  before
+    b7dd2626877d8be7.871e1f3431597f7e.5e09a318ec2d2898.3f36888fa3b329a1
+    4ea6d8fb6d021bf4.8f341ef8e5d450eb.74e96748b0ceb479.098451934154356f
+    adfc64ec0b76e21a.3774e8eb9b0b3737.e3efc71d9f59185d.c5566611126bb9c7
+    302cc563fe651a07.5caaf8fb6e0bf18e.0968be04545a90f1.507743f5330572d2
+    87b5652bc02d1cbf
+  after
+    b7dd2626877d8be7.871e1f3431597f7e.5e09a318ec2d2898.3f36888fa3b329a1
+    4ea6d8fb6d021bf4.8f341ef8e5d450eb.74e96748b0ceb479.098451934154356f
+    0000000000000000.0000000000000000.0000000080000000.0000000080000000
+    302cc563fe651a07.5caaf8fb6e0bf18e.0968be04545a90f1.507743f5330572d2
+    87b5652bc02d1cbf
+VCVTPD2DQ_256(mem)
+  before
+    44da479fd4f072b8.3380f7cee25cff64.dba1ca137bde3a1b.40a048676c5b57e1
+    64b3653d8b5931ea.1245f69752e6cfe0.8e27da1edd93cd0b.e6e361b482eaaad8
+    c40b3bf202741580.29c6be2cea90c425.5206a50ab1336789.557d05563392c582
+    3eb045a8544ddaa7.d4514cf847e51bdf.040ca6c212ccc4c2.eaba31b81ae0e38d
+    02e5e048d45f41a2
+  after
+    44da479fd4f072b8.3380f7cee25cff64.dba1ca137bde3a1b.40a048676c5b57e1
+    64b3653d8b5931ea.1245f69752e6cfe0.8e27da1edd93cd0b.e6e361b482eaaad8
+    0000000000000000.0000000000000000.8000000000000000.8000000000000824
+    3eb045a8544ddaa7.d4514cf847e51bdf.040ca6c212ccc4c2.eaba31b81ae0e38d
+    02e5e048d45f41a2
+
+VCVTPD2DQ_256(reg)
+  before
+    f74c0e71fc9b1b70.af6d004d9ef13b8a.6f309b6704710fbb.7e0359321c699fe2
+    2639b79f2e21ada1.f30de7ccfb6bf556.56b1a7e5bec0dd65.9db83a46ec17b514
+    ecf9d83f077c32e2.e65d761088c8c437.e41e6dde105fc188.3df6c5eb9ee1c285
+    a3d86bbb2338e7de.6429290760136358.77c4e7be97d9f7d1.3a8b770b4dd38261
+    7041cb9315f9b0d3
+  after
+    f74c0e71fc9b1b70.af6d004d9ef13b8a.6f309b6704710fbb.7e0359321c699fe2
+    2639b79f2e21ada1.f30de7ccfb6bf556.56b1a7e5bec0dd65.9db83a46ec17b514
+    0000000000000000.0000000000000000.0000000080000000.8000000000000000
+    a3d86bbb2338e7de.6429290760136358.77c4e7be97d9f7d1.3a8b770b4dd38261
+    7041cb9315f9b0d3
+VCVTPD2DQ_256(mem)
+  before
+    bbe63d7013600907.a8216e801ce20842.4a3d7d9ca05890e6.6aee13f2eebbbaec
+    f8444a8c6314492a.5722dcfb9105d0b9.7265ecbb63a4050c.19eaece4b2904784
+    01286cd51f1f2b68.0c25b2961c2e7df0.b96cf451c6027ef7.df036e027ee4da46
+    b25e2136668f6dec.2378eabf59e74893.fb201048e47eb9d3.1a8496b6ee43afdd
+    24ba5f6e9f3a01f6
+  after
+    bbe63d7013600907.a8216e801ce20842.4a3d7d9ca05890e6.6aee13f2eebbbaec
+    f8444a8c6314492a.5722dcfb9105d0b9.7265ecbb63a4050c.19eaece4b2904784
+    0000000000000000.0000000000000000.0000000000000000.8000000080000000
+    b25e2136668f6dec.2378eabf59e74893.fb201048e47eb9d3.1a8496b6ee43afdd
+    24ba5f6e9f3a01f6
+
+VMOVSLDUP_128(reg)
+  before
+    5bf1c5952d550d3d.e9b1e49b526fc9e3.f86582e1e5be704d.144bbd8dd92470cb
+    1975c497331e0f5d.81ef31f0ffccfb79.e73975675b3f2fcb.e0ba750dc2015f0c
+    bc9258df4d234202.56e284218ab1c1d9.4c3fc0bf58f5c3b8.3a39b6b2bb2144c1
+    9e937edc18efe3da.44575a1a0e2ad530.83c55d54776c65c1.0094fb6adf8ed917
+    0d96c11f4a56db3a
+  after
+    5bf1c5952d550d3d.e9b1e49b526fc9e3.f86582e1e5be704d.144bbd8dd92470cb
+    1975c497331e0f5d.81ef31f0ffccfb79.e73975675b3f2fcb.e0ba750dc2015f0c
+    0000000000000000.0000000000000000.776c65c1776c65c1.df8ed917df8ed917
+    9e937edc18efe3da.44575a1a0e2ad530.83c55d54776c65c1.0094fb6adf8ed917
+    0d96c11f4a56db3a
+VMOVSLDUP_128(mem)
+  before
+    3d0d82bf19850655.1dc530f7300f2e8e.271a2ec7a744f4a9.e8154a9355305492
+    6cc3bc3567251594.93756c9d300e5fcd.dbf77c15730ad971.d77d82e68dcecad6
+    7585ea6d5144c525.5eed2e3ab478b141.3bbac0ee8b8841b4.ac4701babbd1043a
+    361f8853f3eed232.d87a703b59da6197.252f77400dcbe89d.c3c0c37b7dc53e69
+    7834c5966c37b310
+  after
+    3d0d82bf19850655.1dc530f7300f2e8e.271a2ec7a744f4a9.e8154a9355305492
+    6cc3bc3567251594.93756c9d300e5fcd.dbf77c15730ad971.d77d82e68dcecad6
+    0000000000000000.0000000000000000.a744f4a9a744f4a9.5530549255305492
+    361f8853f3eed232.d87a703b59da6197.252f77400dcbe89d.c3c0c37b7dc53e69
+    7834c5966c37b310
+
+VMOVSLDUP_128(reg)
+  before
+    27ee017626b2a0da.8a5d12d3672df8e7.5e67300ababfab7a.74211cf515de8a59
+    2b3c758647c34174.4c0b05dacc0ff271.4d02691574b3ca97.035d2bfbbecde213
+    e2681d346af5d28a.5af4db523ba07dfc.ff9517c72243fc99.b0af203d24a5aef8
+    a7bff3eb2bd48ec8.8fe61329d2eb55b3.d16e368c61fa7a2d.56e377a76471a733
+    d0c5ad259a3e8cf1
+  after
+    27ee017626b2a0da.8a5d12d3672df8e7.5e67300ababfab7a.74211cf515de8a59
+    2b3c758647c34174.4c0b05dacc0ff271.4d02691574b3ca97.035d2bfbbecde213
+    0000000000000000.0000000000000000.61fa7a2d61fa7a2d.6471a7336471a733
+    a7bff3eb2bd48ec8.8fe61329d2eb55b3.d16e368c61fa7a2d.56e377a76471a733
+    d0c5ad259a3e8cf1
+VMOVSLDUP_128(mem)
+  before
+    fc213da3e016175e.d68ef51727edb2d8.c6ab2649adfc35c3.1fd7c3cfcc6483ff
+    b4c2a30d550705a5.ca1e1e24f9ca7969.dd1091a0e7dfda58.451db9feff0e51ba
+    d6765b50131d12f3.e1be6a7e3efa2125.aee1d1199da1009d.9f8c14859883210b
+    3c07e2563663f974.75b9d5919106e4b9.17ea619fea4d63bf.8a6fd0ce30502f9d
+    6014e94665ffb71d
+  after
+    fc213da3e016175e.d68ef51727edb2d8.c6ab2649adfc35c3.1fd7c3cfcc6483ff
+    b4c2a30d550705a5.ca1e1e24f9ca7969.dd1091a0e7dfda58.451db9feff0e51ba
+    0000000000000000.0000000000000000.adfc35c3adfc35c3.cc6483ffcc6483ff
+    3c07e2563663f974.75b9d5919106e4b9.17ea619fea4d63bf.8a6fd0ce30502f9d
+    6014e94665ffb71d
+
+VMOVSLDUP_128(reg)
+  before
+    7ec55c59d31ef437.c442b20cdbe57853.e45a5cca8f7cffd0.f2f6bd20eaefbee9
+    40cf247415392396.48f3495f1daf48bd.88eef993d3e7ad17.1cd36187ba94ce48
+    027e3d01c7db7fe7.a5e5223a19ce28dd.bfc2aa5afad42c39.724bcac176474f07
+    201ea36e869046d5.b8e6ba88ea4dd2e0.e3206a899fceb6e4.ce2b72b83915fc53
+    0d3fd7591f099258
+  after
+    7ec55c59d31ef437.c442b20cdbe57853.e45a5cca8f7cffd0.f2f6bd20eaefbee9
+    40cf247415392396.48f3495f1daf48bd.88eef993d3e7ad17.1cd36187ba94ce48
+    0000000000000000.0000000000000000.9fceb6e49fceb6e4.3915fc533915fc53
+    201ea36e869046d5.b8e6ba88ea4dd2e0.e3206a899fceb6e4.ce2b72b83915fc53
+    0d3fd7591f099258
+VMOVSLDUP_128(mem)
+  before
+    0c537590452fcd41.f5fb5326ede4b20d.5bc08b37ac3903f1.5254368e5f6187c1
+    a533c64ac693693b.df6147959964003b.6b4113327c9d773d.66ac09d4d51add7e
+    b5aa4872bf422171.399b7d27259b6b0a.c433cd657685eaf0.7c73dec79e84f2c7
+    188576f34b47b210.5ff6f0482e163127.436335bcb5fd1735.f1f4b3d3552b0348
+    1f7c8464969c4cac
+  after
+    0c537590452fcd41.f5fb5326ede4b20d.5bc08b37ac3903f1.5254368e5f6187c1
+    a533c64ac693693b.df6147959964003b.6b4113327c9d773d.66ac09d4d51add7e
+    0000000000000000.0000000000000000.ac3903f1ac3903f1.5f6187c15f6187c1
+    188576f34b47b210.5ff6f0482e163127.436335bcb5fd1735.f1f4b3d3552b0348
+    1f7c8464969c4cac
+
+VMOVSLDUP_256(reg)
+  before
+    63574be6fe62089f.aa91ccbb87afd844.adbe9d644f608b3d.c29cc8245612bb39
+    1ad106c5280974cf.4898c6b58e854e38.7e3f7ee72505b8f9.1eac018774cf9127
+    9e36b06eb11ecce6.cc67e0cd7dd5d219.30c5913d4b91f306.335d5bd22b41572c
+    4cd1454b352c4b90.13c997ef6fac1e12.1e9cd1d35e917712.dd7d55f29873c774
+    f8d668d2d6719d2a
+  after
+    63574be6fe62089f.aa91ccbb87afd844.adbe9d644f608b3d.c29cc8245612bb39
+    1ad106c5280974cf.4898c6b58e854e38.7e3f7ee72505b8f9.1eac018774cf9127
+    352c4b90352c4b90.6fac1e126fac1e12.5e9177125e917712.9873c7749873c774
+    4cd1454b352c4b90.13c997ef6fac1e12.1e9cd1d35e917712.dd7d55f29873c774
+    f8d668d2d6719d2a
+VMOVSLDUP_256(mem)
+  before
+    6035115d0248977b.80f0c1ca4fbf2e7a.f98c66078115ee50.a40f3b13f99081c6
+    f166cd8137036f92.96dd21559b64b150.5a7ac901ce1c00ff.1d6cc96bb91b4cd1
+    8734172992aee29c.eae5605ab6a610bd.12603dca72ce0e4a.e7fd794639bd15dc
+    fe6d6b412f56acc5.d8547a443b12866e.fd0b3c4c8a36d45e.5c0f460f15021896
+    daee2c34ea7791a9
+  after
+    6035115d0248977b.80f0c1ca4fbf2e7a.f98c66078115ee50.a40f3b13f99081c6
+    f166cd8137036f92.96dd21559b64b150.5a7ac901ce1c00ff.1d6cc96bb91b4cd1
+    0248977b0248977b.4fbf2e7a4fbf2e7a.8115ee508115ee50.f99081c6f99081c6
+    fe6d6b412f56acc5.d8547a443b12866e.fd0b3c4c8a36d45e.5c0f460f15021896
+    daee2c34ea7791a9
+
+VMOVSLDUP_256(reg)
+  before
+    bbe5272054a7bbc2.32db46b528068838.bc766b7fc732500e.f645447532601066
+    5d42343fee1ed48c.ff4b23719bca3322.f2963077f595aa4a.dbdad02f85587c8f
+    1a4f4efe546815b4.40897d61a4af69ae.d602c39862c4d0ce.87985c689f2bd505
+    505971c72312bde5.d361d2725ec0e609.c404224ea94dfd45.d649650b9de5d7f3
+    a4bb66049b903d86
+  after
+    bbe5272054a7bbc2.32db46b528068838.bc766b7fc732500e.f645447532601066
+    5d42343fee1ed48c.ff4b23719bca3322.f2963077f595aa4a.dbdad02f85587c8f
+    2312bde52312bde5.5ec0e6095ec0e609.a94dfd45a94dfd45.9de5d7f39de5d7f3
+    505971c72312bde5.d361d2725ec0e609.c404224ea94dfd45.d649650b9de5d7f3
+    a4bb66049b903d86
+VMOVSLDUP_256(mem)
+  before
+    ccb8db3fb33ac4e9.59ad9907f6a806cc.939f9e8ee609655e.18e9480566bb6e5b
+    2c0d40a804ef2849.9294c22b6ab42d15.5c0f5ba35797a3db.2efd322a369a5ebe
+    9f86112ba8ba25d1.585de99d1ac46e6b.097c879bcd755ca9.628cda27b5770b18
+    00eecbb4bba776af.055309cba364057b.78b39d6465af4bf7.0fe23e6a7eddaf15
+    934a595e2e598762
+  after
+    ccb8db3fb33ac4e9.59ad9907f6a806cc.939f9e8ee609655e.18e9480566bb6e5b
+    2c0d40a804ef2849.9294c22b6ab42d15.5c0f5ba35797a3db.2efd322a369a5ebe
+    b33ac4e9b33ac4e9.f6a806ccf6a806cc.e609655ee609655e.66bb6e5b66bb6e5b
+    00eecbb4bba776af.055309cba364057b.78b39d6465af4bf7.0fe23e6a7eddaf15
+    934a595e2e598762
+
+VMOVSLDUP_256(reg)
+  before
+    4912276e5f76ceab.2d13e83059c2d80c.f6c11e20a01e2df1.848019e93b522def
+    8d84a508b0c0c29c.01bfe689a0180717.87f52407ae802378.08af78166a69bebd
+    baedcd97bbc39cdf.57c041ada9b4bef9.153918ee681622bc.e20c34d70e00b98e
+    2e999d871c0c9b23.0de0738692a2bae1.fadaf5406b6b686a.ec63cb184424dc8e
+    047fb8c528e0e1e8
+  after
+    4912276e5f76ceab.2d13e83059c2d80c.f6c11e20a01e2df1.848019e93b522def
+    8d84a508b0c0c29c.01bfe689a0180717.87f52407ae802378.08af78166a69bebd
+    1c0c9b231c0c9b23.92a2bae192a2bae1.6b6b686a6b6b686a.4424dc8e4424dc8e
+    2e999d871c0c9b23.0de0738692a2bae1.fadaf5406b6b686a.ec63cb184424dc8e
+    047fb8c528e0e1e8
+VMOVSLDUP_256(mem)
+  before
+    042e77cbd44184c9.44d310447027fa12.fdebfa0277efb7f9.9323b769520b2f2e
+    ca3a85146751835d.57e9233b529ef459.05af510c73a6716e.3c625ad6ba82b3b4
+    30705d8dfa1e98cf.c525d0d65fffc6a3.fff7f490a3d4a36b.51e2daf13e5d32a7
+    149c7b23acb4804b.e8d5158232d5ab9d.c88e5f7a22830a1d.2eee34277a27e6b3
+    2fd363e50b6c0c85
+  after
+    042e77cbd44184c9.44d310447027fa12.fdebfa0277efb7f9.9323b769520b2f2e
+    ca3a85146751835d.57e9233b529ef459.05af510c73a6716e.3c625ad6ba82b3b4
+    d44184c9d44184c9.7027fa127027fa12.77efb7f977efb7f9.520b2f2e520b2f2e
+    149c7b23acb4804b.e8d5158232d5ab9d.c88e5f7a22830a1d.2eee34277a27e6b3
+    2fd363e50b6c0c85
+
+VMOVSHDUP_128(reg)
+  before
+    b0dd63958cb9e0c9.50895bc1961ef7ff.1e43edac68ade0f2.3d420fb60cc262af
+    0d5830a59a999d2b.c1057952d668b814.c1bc54bf9c12a150.38dd7e307e9a664e
+    a290c780d1998056.43da52c4889e80b9.2f8c47266b902a60.962c2ad59319d326
+    cbd02292cc43c5f6.b3d66002c7cd0b18.c2fec04f70b4b7d0.34fa8f8f684a6562
+    ec15274c193ad82f
+  after
+    b0dd63958cb9e0c9.50895bc1961ef7ff.1e43edac68ade0f2.3d420fb60cc262af
+    0d5830a59a999d2b.c1057952d668b814.c1bc54bf9c12a150.38dd7e307e9a664e
+    0000000000000000.0000000000000000.c2fec04fc2fec04f.34fa8f8f34fa8f8f
+    cbd02292cc43c5f6.b3d66002c7cd0b18.c2fec04f70b4b7d0.34fa8f8f684a6562
+    ec15274c193ad82f
+VMOVSHDUP_128(mem)
+  before
+    9b4870f6c0f3e7b9.e3663f472726a8b8.ebc321f8b000145d.d760bda54709834c
+    1d5ee47b7c844f2b.489c1a0b7fcb6448.c86e11935e4458b6.cbfc39948d1bcb80
+    4e2402c666f6ccb1.55bfad4a6fc03651.26a2aabdeda4934d.f81f3088de77ca17
+    0b6643c39d571978.661bf67094905980.e12d6a637a2c814e.bb159fedd5a8bebd
+    702a812f0e3ae120
+  after
+    9b4870f6c0f3e7b9.e3663f472726a8b8.ebc321f8b000145d.d760bda54709834c
+    1d5ee47b7c844f2b.489c1a0b7fcb6448.c86e11935e4458b6.cbfc39948d1bcb80
+    0000000000000000.0000000000000000.ebc321f8ebc321f8.d760bda5d760bda5
+    0b6643c39d571978.661bf67094905980.e12d6a637a2c814e.bb159fedd5a8bebd
+    702a812f0e3ae120
+
+VMOVSHDUP_128(reg)
+  before
+    74aad2bb26ba6fe9.2ef0245d3ab2f4ac.d6fcefe989c80b81.d6d9cc7121e9dde6
+    21e08efbb9b3a6c7.948e22835b141679.03ae9622eaf286ff.df744cd4fde66441
+    d41ab15d62b1c064.190bb81e1c883e0a.487ce785559d07a7.d9c866772a2fd28a
+    e9a2384cbd41fa6d.9935621b981a268b.00b3dc806352c924.a0a29745c5d0e2ee
+    10ce5a2ce9d65298
+  after
+    74aad2bb26ba6fe9.2ef0245d3ab2f4ac.d6fcefe989c80b81.d6d9cc7121e9dde6
+    21e08efbb9b3a6c7.948e22835b141679.03ae9622eaf286ff.df744cd4fde66441
+    0000000000000000.0000000000000000.00b3dc8000b3dc80.a0a29745a0a29745
+    e9a2384cbd41fa6d.9935621b981a268b.00b3dc806352c924.a0a29745c5d0e2ee
+    10ce5a2ce9d65298
+VMOVSHDUP_128(mem)
+  before
+    05172b17b34ddcb5.bcc51d3367ee908d.f0d69d66ecd78c29.89a0737eb29f0a23
+    5a4b86f23e3f3c70.a9cf5e80fb45bd71.fabbe3ec33ca2910.3e8da7eade0f044f
+    ed34e7a9a7ba30f7.0c0cf79e16d0bec4.93b0b29789ffbc6b.7ac67432822ff356
+    999fcb2809ca7273.41c8e2f9531dcf33.968185550b83ff67.9b99d6c13a8a15e1
+    fb51ca03a3aca49f
+  after
+    05172b17b34ddcb5.bcc51d3367ee908d.f0d69d66ecd78c29.89a0737eb29f0a23
+    5a4b86f23e3f3c70.a9cf5e80fb45bd71.fabbe3ec33ca2910.3e8da7eade0f044f
+    0000000000000000.0000000000000000.f0d69d66f0d69d66.89a0737e89a0737e
+    999fcb2809ca7273.41c8e2f9531dcf33.968185550b83ff67.9b99d6c13a8a15e1
+    fb51ca03a3aca49f
+
+VMOVSHDUP_128(reg)
+  before
+    f7394b645922dd39.3a58ad5c8179bf13.a44e1dfd4fb82b69.e1f9d811d561af30
+    ec9e5551f677fb5e.ac2b092f2ad5d201.91eba316a52c1014.4fe628b601a588f1
+    34cce43419373cb8.cbe45b8e21ea6869.64eb70b1f105b7dd.bc12ef32ae5c45d7
+    2d0ff47a5cefdaf4.724f206681c23d78.799a8038d0cf5f73.034aab70f691a30d
+    025ad85cf5505ec0
+  after
+    f7394b645922dd39.3a58ad5c8179bf13.a44e1dfd4fb82b69.e1f9d811d561af30
+    ec9e5551f677fb5e.ac2b092f2ad5d201.91eba316a52c1014.4fe628b601a588f1
+    0000000000000000.0000000000000000.799a8038799a8038.034aab70034aab70
+    2d0ff47a5cefdaf4.724f206681c23d78.799a8038d0cf5f73.034aab70f691a30d
+    025ad85cf5505ec0
+VMOVSHDUP_128(mem)
+  before
+    940ef0e3c8a6321c.31b382905b2a11bd.7f37d2a2666b0d5a.2c44d019de174380
+    953270ef8a9eda4c.9d0489e1b3741fc0.cd69ef2dedf1933a.d8355bbeb6689eb0
+    e091d56d5844137c.cd4d05d8ff5a3ea8.37b1f3f5325e8d45.dbb81d95f44facb0
+    53f99a4a4da599da.1edbf2e3dc67ab22.9bdb58e550c0b4a7.901b12093557ab2c
+    52a83686150cd5cf
+  after
+    940ef0e3c8a6321c.31b382905b2a11bd.7f37d2a2666b0d5a.2c44d019de174380
+    953270ef8a9eda4c.9d0489e1b3741fc0.cd69ef2dedf1933a.d8355bbeb6689eb0
+    0000000000000000.0000000000000000.7f37d2a27f37d2a2.2c44d0192c44d019
+    53f99a4a4da599da.1edbf2e3dc67ab22.9bdb58e550c0b4a7.901b12093557ab2c
+    52a83686150cd5cf
+
+VMOVSHDUP_256(reg)
+  before
+    7fac86772ffa6746.c8343b7085cc2790.eafa4d6de527a2da.d3b39ce96323c78b
+    7273fd4b1fae9d3d.1d0f35cd1ec57aca.8ef611e2b6275e7b.bd0539ed8892801e
+    8649976b82b4b25f.2c56034c319d4eb5.661b3aaeecf21cb2.339cadddda199c8b
+    19795044f396e359.d3d520d9dc5f5f7d.ceb5c43d2314182a.134674a676c4d7ff
+    37cd083277a0eca5
+  after
+    7fac86772ffa6746.c8343b7085cc2790.eafa4d6de527a2da.d3b39ce96323c78b
+    7273fd4b1fae9d3d.1d0f35cd1ec57aca.8ef611e2b6275e7b.bd0539ed8892801e
+    1979504419795044.d3d520d9d3d520d9.ceb5c43dceb5c43d.134674a6134674a6
+    19795044f396e359.d3d520d9dc5f5f7d.ceb5c43d2314182a.134674a676c4d7ff
+    37cd083277a0eca5
+VMOVSHDUP_256(mem)
+  before
+    7dfee76ffab899aa.855125420fe26cd6.ec570b603b18684d.220fabfcf61a8d90
+    bfa58c471a19973a.281b11d271238983.55aa3dcd69d32652.be77ec55018fb890
+    da8d73a8f4cda580.5c24105eb6e6750b.e898330c829c55b8.fe3782b6e100d5d5
+    ab84187da3e37da9.7fb81e5479b66d1b.82ee6a09a37fb0aa.3e9c698932f7200c
+    daf29d3c8f03d4e0
+  after
+    7dfee76ffab899aa.855125420fe26cd6.ec570b603b18684d.220fabfcf61a8d90
+    bfa58c471a19973a.281b11d271238983.55aa3dcd69d32652.be77ec55018fb890
+    7dfee76f7dfee76f.8551254285512542.ec570b60ec570b60.220fabfc220fabfc
+    ab84187da3e37da9.7fb81e5479b66d1b.82ee6a09a37fb0aa.3e9c698932f7200c
+    daf29d3c8f03d4e0
+
+VMOVSHDUP_256(reg)
+  before
+    2e851b3a94ad2efe.0c54f8b14464dce1.eb23371f571fad5f.00785db0e889f454
+    96a0deeede836a12.dacb8e32f25e7e53.feb1582aebae7082.3c0288ee6bc5dde3
+    6e91e1c60810c4c7.f2b356ebc9dc1f2b.12ad7ce3d1eef431.135868ad4b402783
+    12a2232dafe077ca.2ed9ccc9e6eb7a96.84649fb5a66b7218.614577dba2058d60
+    029633628c20cca5
+  after
+    2e851b3a94ad2efe.0c54f8b14464dce1.eb23371f571fad5f.00785db0e889f454
+    96a0deeede836a12.dacb8e32f25e7e53.feb1582aebae7082.3c0288ee6bc5dde3
+    12a2232d12a2232d.2ed9ccc92ed9ccc9.84649fb584649fb5.614577db614577db
+    12a2232dafe077ca.2ed9ccc9e6eb7a96.84649fb5a66b7218.614577dba2058d60
+    029633628c20cca5
+VMOVSHDUP_256(mem)
+  before
+    d3181730269da07e.dd209d906e80c0c6.6b086db665964cc0.b123bd0c06b229e2
+    ae95a0308b89c419.2d574d59e27bdb68.850eb39f61e950d5.f334d2558c4e533b
+    70da484ed7eff69f.5d932df5a65e035b.58b51c71f6f04400.a7e3dbfad4cb2dd1
+    f5b28d7628dcef3f.c81f3cd157b4754c.c0cb231641b8e26d.297ed3687bb6f34d
+    d650b60c1d9ae15e
+  after
+    d3181730269da07e.dd209d906e80c0c6.6b086db665964cc0.b123bd0c06b229e2
+    ae95a0308b89c419.2d574d59e27bdb68.850eb39f61e950d5.f334d2558c4e533b
+    d3181730d3181730.dd209d90dd209d90.6b086db66b086db6.b123bd0cb123bd0c
+    f5b28d7628dcef3f.c81f3cd157b4754c.c0cb231641b8e26d.297ed3687bb6f34d
+    d650b60c1d9ae15e
+
+VMOVSHDUP_256(reg)
+  before
+    08a48150550332ae.19ebea94975b6e23.cc49735790096de7.991a457c5e4ce649
+    1cc72ea2bf7e23ea.b84fdb9542782d77.c45bcff5eeea27d7.bf6ffc8d68b90ec0
+    6e05bb6df896efbd.aeacdc634540ea69.0ba24d150ce2dec9.0e96c6377b0a14fe
+    5aaa231c9bd7d4d4.d7cc6aebbbbe5e22.ff6ae825867dcf69.625a1e65b44bb52e
+    978980032e89ad7c
+  after
+    08a48150550332ae.19ebea94975b6e23.cc49735790096de7.991a457c5e4ce649
+    1cc72ea2bf7e23ea.b84fdb9542782d77.c45bcff5eeea27d7.bf6ffc8d68b90ec0
+    5aaa231c5aaa231c.d7cc6aebd7cc6aeb.ff6ae825ff6ae825.625a1e65625a1e65
+    5aaa231c9bd7d4d4.d7cc6aebbbbe5e22.ff6ae825867dcf69.625a1e65b44bb52e
+    978980032e89ad7c
+VMOVSHDUP_256(mem)
+  before
+    89ed69fd06cfb715.3c02621d45ce0cda.0f7c001ac0fe48d1.faff9c90f9473662
+    1453533f57299025.705975db9106d47c.31871adb710d62a0.5aad65c201cd4e61
+    1487bcb63da4f4d7.52fa57c31c0c6765.1bbb3419eaf669bb.79bf4027399b5411
+    64551f4cd64b9f58.3e33033f816b0243.a8e2cbc246c5194f.b583282b3d3b841f
+    6843193aaa3b1a36
+  after
+    89ed69fd06cfb715.3c02621d45ce0cda.0f7c001ac0fe48d1.faff9c90f9473662
+    1453533f57299025.705975db9106d47c.31871adb710d62a0.5aad65c201cd4e61
+    89ed69fd89ed69fd.3c02621d3c02621d.0f7c001a0f7c001a.faff9c90faff9c90
+    64551f4cd64b9f58.3e33033f816b0243.a8e2cbc246c5194f.b583282b3d3b841f
+    6843193aaa3b1a36
+
+VPERMILPS_VAR_128(reg)
+  before
+    f04c0fc11b275103.e289f9ee3b2a4cd4.904e78bc5cafe1bf.b4ca59c1a1872d88
+    a7ea072a2d896632.69efc4898a4eb876.a398afa64a644088.1b3d5c0218476291
+    ea69fbe37bef956e.d452fe08dfc29e6b.d55da56ae7175a48.b8084f71c6117497
+    1514e956a2e51964.017f22565592bcde.81e85773ce536cab.69f7affac8f21fc6
+    09d5f68a39f51e49
+  after
+    0000000000000000.0000000000000000.4a64408818476291.1b3d5c02a398afa6
+    a7ea072a2d896632.69efc4898a4eb876.a398afa64a644088.1b3d5c0218476291
+    ea69fbe37bef956e.d452fe08dfc29e6b.d55da56ae7175a48.b8084f71c6117497
+    1514e956a2e51964.017f22565592bcde.81e85773ce536cab.69f7affac8f21fc6
+    09d5f68a39f51e49
+VPERMILPS_VAR_128(mem)
+  before
+    7370a20b36262e4d.8539ccf13df52fc0.cb42ac6108cbccfc.0387c02c9ba5b25e
+    85922e6ada920bfd.9422a11fe9ad132d.0d67181415788bf1.b784dc03eb98680d
+    1909169442447086.9f1c624c41990157.a5bae35b98a6b4e8.f82ca8635ab8c963
+    0d9fd77489491a13.02730de4e24334eb.6d078822ac5f050d.24cb1fb88391120d
+    96ad3c6e02b07fb7
+  after
+    7370a20b36262e4d.8539ccf13df52fc0.cb42ac6108cbccfc.0387c02c9ba5b25e
+    85922e6ada920bfd.9422a11fe9ad132d.0d67181415788bf1.b784dc03eb98680d
+    0000000000000000.0000000000000000.b784dc03eb98680d.eb98680d15788bf1
+    0d9fd77489491a13.02730de4e24334eb.6d078822ac5f050d.24cb1fb88391120d
+    96ad3c6e02b07fb7
+
+VPERMILPS_VAR_128(reg)
+  before
+    a91efef174a04b0c.3b21ebf5cbabc5d1.19739d536739e995.431983556db1388e
+    bb6a5ead74eeb3b9.815ad00525782dec.40680e056c075c01.01be50e1f8a80994
+    26dc590f9f25f369.b918018fb3bc0d8f.d49d5c678e38c8da.85c06cb0684f364e
+    48c1ec8190d147c9.c125fb7f908222e7.2f6084e369586bcc.a9ec51b0dab279e6
+    4b0e7dcb69dd8f89
+  after
+    0000000000000000.0000000000000000.40680e056c075c01.f8a809946c075c01
+    bb6a5ead74eeb3b9.815ad00525782dec.40680e056c075c01.01be50e1f8a80994
+    26dc590f9f25f369.b918018fb3bc0d8f.d49d5c678e38c8da.85c06cb0684f364e
+    48c1ec8190d147c9.c125fb7f908222e7.2f6084e369586bcc.a9ec51b0dab279e6
+    4b0e7dcb69dd8f89
+VPERMILPS_VAR_128(mem)
+  before
+    45f16bef32dd3362.7b651271e47fea84.734f38c1d8d62820.aefb81e698f37f84
+    7463980750bd239e.1d14c74936ba1947.ac603642a8c4da65.adbb4fddb79640ae
+    b52e7effdf8a1968.881a0877230e10be.492570ec1c59f5e2.87ecea3363ccecf6
+    e2209bc2fd4fd2ed.1ac3cf6646080a94.246a62ac4fa035c5.9ad94f533821bd07
+    41d079abd022ef8d
+  after
+    45f16bef32dd3362.7b651271e47fea84.734f38c1d8d62820.aefb81e698f37f84
+    7463980750bd239e.1d14c74936ba1947.ac603642a8c4da65.adbb4fddb79640ae
+    0000000000000000.0000000000000000.adbb4fddb79640ae.a8c4da65b79640ae
+    e2209bc2fd4fd2ed.1ac3cf6646080a94.246a62ac4fa035c5.9ad94f533821bd07
+    41d079abd022ef8d
+
+VPERMILPS_VAR_128(reg)
+  before
+    d81b64a6ca5ac035.d8036a3fc3180959.2d5a1a823b334476.1afa896f5da65638
+    bb080cb0c0566aab.73a4675f4ff17bd7.1e2de4379f1bfa10.07a35f1f63761367
+    46e16d354ea12a9a.8fce0f0fbde7e494.49862af10e4d680d.c72f62aa7c1c297f
+    d4f384a210c73caf.094fdd3b280500bb.0bb2e61c2354c919.376b0dfbc5a454ac
+    3123ddfe591b4f19
+  after
+    0000000000000000.0000000000000000.07a35f1f07a35f1f.9f1bfa101e2de437
+    bb080cb0c0566aab.73a4675f4ff17bd7.1e2de4379f1bfa10.07a35f1f63761367
+    46e16d354ea12a9a.8fce0f0fbde7e494.49862af10e4d680d.c72f62aa7c1c297f
+    d4f384a210c73caf.094fdd3b280500bb.0bb2e61c2354c919.376b0dfbc5a454ac
+    3123ddfe591b4f19
+VPERMILPS_VAR_128(mem)
+  before
+    92234c9f558dd8f3.c3894c61a454db96.bbf14dd0ac588a79.befd16247abc5ae2
+    3637d8cad404a865.6ef1c1dfa3d544fa.8282dbb866eb3ffa.bfb2b576b0125711
+    f92afc6bf28e7e9c.3076df89abd6b388.3acc03e171cadb69.6a1fbf7c61e1fb55
+    b7ca346ecc3614c4.6763a2c958e164eb.bf9c4236ea0219f3.1b8e30a427b58458
+    2f4d0558a11b2bc6
+  after
+    92234c9f558dd8f3.c3894c61a454db96.bbf14dd0ac588a79.befd16247abc5ae2
+    3637d8cad404a865.6ef1c1dfa3d544fa.8282dbb866eb3ffa.bfb2b576b0125711
+    0000000000000000.0000000000000000.b0125711bfb2b576.b012571166eb3ffa
+    b7ca346ecc3614c4.6763a2c958e164eb.bf9c4236ea0219f3.1b8e30a427b58458
+    2f4d0558a11b2bc6
+
+VPERMILPD_VAR_128(reg)
+  before
+    00a63906699e2f4d.4ce1fcbf7e092808.6e05070d458492d0.edbe12a2ed9eb7c3
+    ebe6c8191bcaca96.943cd14b23127395.a0a809c00f4a7ae2.a0fdf11394aa6f06
+    4c58aefd542c3a50.6ba72efcd75db496.5b98a44e51c058ce.b4275b74fe33fde8
+    7f4ae71eaf4fb825.acee8fc0b7f7a538.f921d523a7716740.0406cab144441f94
+    6e67bcb684e98f37
+  after
+    0000000000000000.0000000000000000.a0a809c00f4a7ae2.a0fdf11394aa6f06
+    ebe6c8191bcaca96.943cd14b23127395.a0a809c00f4a7ae2.a0fdf11394aa6f06
+    4c58aefd542c3a50.6ba72efcd75db496.5b98a44e51c058ce.b4275b74fe33fde8
+    7f4ae71eaf4fb825.acee8fc0b7f7a538.f921d523a7716740.0406cab144441f94
+    6e67bcb684e98f37
+VPERMILPD_VAR_128(mem)
+  before
+    cd16ab70da2f0afc.e00770e8c8c083c1.35dc7082dfeb03a6.d88e96abaee9e4e3
+    fddf16c961214b10.cbda44c73d09d5d2.e13f4d2e6a458a0e.522de55201b50b64
+    da8e76af36cb0f9f.9b105f27a7b9eb01.8ce1a3b07412f599.c448bd843d60186f
+    3fef480c743a12d4.aef5be75a45901fd.128fedf41a5d0176.8b2c1aaefe7646af
+    0125f93ade84d2d0
+  after
+    cd16ab70da2f0afc.e00770e8c8c083c1.35dc7082dfeb03a6.d88e96abaee9e4e3
+    fddf16c961214b10.cbda44c73d09d5d2.e13f4d2e6a458a0e.522de55201b50b64
+    0000000000000000.0000000000000000.e13f4d2e6a458a0e.e13f4d2e6a458a0e
+    3fef480c743a12d4.aef5be75a45901fd.128fedf41a5d0176.8b2c1aaefe7646af
+    0125f93ade84d2d0
+
+VPERMILPD_VAR_128(reg)
+  before
+    847f54967c15f880.0acd09ce377910db.5fd55b1bd0775270.4e15a7e677326acf
+    6e85292c71b5f369.16f534df9c94c4e2.0afb3487c69e1b06.1e3f4e72a89eecd0
+    1c85736a5cf10137.3e33452dbf98ec13.0bb54424225b986c.5dd95c84c8ac42a6
+    eac92fbbd6545b97.6053b9a3bb90419a.bd4d875d8138044e.e6ae4f08f468297d
+    978ca2eb47df5d80
+  after
+    0000000000000000.0000000000000000.1e3f4e72a89eecd0.0afb3487c69e1b06
+    6e85292c71b5f369.16f534df9c94c4e2.0afb3487c69e1b06.1e3f4e72a89eecd0
+    1c85736a5cf10137.3e33452dbf98ec13.0bb54424225b986c.5dd95c84c8ac42a6
+    eac92fbbd6545b97.6053b9a3bb90419a.bd4d875d8138044e.e6ae4f08f468297d
+    978ca2eb47df5d80
+VPERMILPD_VAR_128(mem)
+  before
+    4a3dd118de1c99dc.349e578b7e6a4035.56210a2dac8882a4.7e11faa07fc49d57
+    dd8e597ad42c9abd.5750e946edc0eabc.fe69b6b7af8d695d.a94b9758b7889d34
+    2a4bb4ff46191c4e.ad2be058c1e196d9.33f6382ee0aab3f0.99485cf1c5124091
+    0f4060924ff2dbbb.937a382d96598037.d0960c7c59eb1c8a.ac5344d746edc419
+    3dba4b77d5a66379
+  after
+    4a3dd118de1c99dc.349e578b7e6a4035.56210a2dac8882a4.7e11faa07fc49d57
+    dd8e597ad42c9abd.5750e946edc0eabc.fe69b6b7af8d695d.a94b9758b7889d34
+    0000000000000000.0000000000000000.a94b9758b7889d34.fe69b6b7af8d695d
+    0f4060924ff2dbbb.937a382d96598037.d0960c7c59eb1c8a.ac5344d746edc419
+    3dba4b77d5a66379
+
+VPERMILPD_VAR_128(reg)
+  before
+    a7c76e3b0fc85a5c.6638d81f0bc09232.658bee3107b5e483.b213af8e395d5f57
+    48c8a8908fdfe46f.0d0199929791fedc.7fa8fcd1b080fd69.b63a9c51990b3a82
+    7a07f5e3f2783f5d.de651dd70f70dbe8.3d1f60772e460894.b6d74faf98026637
+    9bd1519fd31ea5d3.b631e2da8d69e480.fb3a15911d9440b1.90b544964f4da2a4
+    1ea2f7f1dcf8a8f3
+  after
+    0000000000000000.0000000000000000.b63a9c51990b3a82.7fa8fcd1b080fd69
+    48c8a8908fdfe46f.0d0199929791fedc.7fa8fcd1b080fd69.b63a9c51990b3a82
+    7a07f5e3f2783f5d.de651dd70f70dbe8.3d1f60772e460894.b6d74faf98026637
+    9bd1519fd31ea5d3.b631e2da8d69e480.fb3a15911d9440b1.90b544964f4da2a4
+    1ea2f7f1dcf8a8f3
+VPERMILPD_VAR_128(mem)
+  before
+    3d68e5ac5b0f3550.0571b82fcf5d527d.723163873089d6d1.1545188918f5e36b
+    c9d589b3e79f05e8.1535270181c28406.ec311ccb12db6d06.e78e63cdbbf62b6f
+    9fb35ff29db3d4e7.2868998085d8751b.01fd8a904f6c654c.cd60f4c8a3225569
+    99cfe35598585d78.98550a18782b6268.8d6027c4044779ce.2206c6e66b059c04
+    44cdd593b02b3dec
+  after
+    3d68e5ac5b0f3550.0571b82fcf5d527d.723163873089d6d1.1545188918f5e36b
+    c9d589b3e79f05e8.1535270181c28406.ec311ccb12db6d06.e78e63cdbbf62b6f
+    0000000000000000.0000000000000000.e78e63cdbbf62b6f.ec311ccb12db6d06
+    99cfe35598585d78.98550a18782b6268.8d6027c4044779ce.2206c6e66b059c04
+    44cdd593b02b3dec
+
+VPERMILPS_VAR_256(reg)
+  before
+    8e021d3b0d2174cf.94f491c8f4995dc8.c2497635f6488798.6d2871524c7866b9
+    5cee9b4a1f727d57.6cf0e637ce828f02.0390da439aba1f57.7b1fe325440ce839
+    09e04a2d81ab9430.fd8d5d8f4220b153.b57630ae000d6753.9412f92b070eba79
+    f323264ed057f407.239972ba6b7e7de7.354776e3c5ce9b35.94cd304fb28a9aa6
+    571b037d608c41eb
+  after
+    6cf0e637ce828f02.5cee9b4a5cee9b4a.9aba1f570390da43.0390da437b1fe325
+    5cee9b4a1f727d57.6cf0e637ce828f02.0390da439aba1f57.7b1fe325440ce839
+    09e04a2d81ab9430.fd8d5d8f4220b153.b57630ae000d6753.9412f92b070eba79
+    f323264ed057f407.239972ba6b7e7de7.354776e3c5ce9b35.94cd304fb28a9aa6
+    571b037d608c41eb
+VPERMILPS_VAR_256(mem)
+  before
+    b9caeea12e216e75.75022b1ba702d988.badea1a665a8afe9.df4ea84c8588f6ac
+    96a46da83755db70.eacb56fea238815e.9e29673e4daa0586.0fd9c057dac7b562
+    ca77fc7c97324607.b0c8a1655f862636.ab463f6d3e9139e9.2132bb6f63181403
+    310d180b6bc66867.21460abb777805bc.bd00a5215569083f.71a696ffb9064f3d
+    5c814c757b1da1b9
+  after
+    b9caeea12e216e75.75022b1ba702d988.badea1a665a8afe9.df4ea84c8588f6ac
+    96a46da83755db70.eacb56fea238815e.9e29673e4daa0586.0fd9c057dac7b562
+    eacb56feeacb56fe.96a46da8a238815e.4daa05860fd9c057.dac7b562dac7b562
+    310d180b6bc66867.21460abb777805bc.bd00a5215569083f.71a696ffb9064f3d
+    5c814c757b1da1b9
+
+VPERMILPS_VAR_256(reg)
+  before
+    3c0fda3c42ea4726.a7333c3fcf1c00bb.9b918c6c88985a9b.b0251545ad3c2eb4
+    6d9b3ac0adf87d2e.08b4e406de41c830.79f424e42e746080.607f0bc563186673
+    4d736a6d55d47f7d.2f5e8c4ab4407df2.16bdcc8f03975516.a9db048e92096da9
+    37e165afd90888c1.fafbb0f96e25db2c.cf3682d9a68e720a.67067b8a5719ff81
+    75c9eca6cd56d828
+  after
+    08b4e40608b4e406.adf87d2eadf87d2e.79f424e42e746080.2e746080607f0bc5
+    6d9b3ac0adf87d2e.08b4e406de41c830.79f424e42e746080.607f0bc563186673
+    4d736a6d55d47f7d.2f5e8c4ab4407df2.16bdcc8f03975516.a9db048e92096da9
+    37e165afd90888c1.fafbb0f96e25db2c.cf3682d9a68e720a.67067b8a5719ff81
+    75c9eca6cd56d828
+VPERMILPS_VAR_256(mem)
+  before
+    b1f3d3cf11ccb3c9.873227f3d222d5a3.4459cdfe27fd9d0a.01ad412eb1e4f607
+    f64fadef3e854d91.99b2aca3deaea1d2.e9425e45fcd380ba.066c05fbc0251bba
+    20a8f5f4708f61ac.c9adf12d99372af8.c483dfba08b34066.3cc0cbaa70de1ecf
+    0acb26c9c4f6ad46.736ff0fb9e49aac1.b3e8cc4968aa993a.fdf48da95c9a3bf1
+    a656496221e5aecd
+  after
+    b1f3d3cf11ccb3c9.873227f3d222d5a3.4459cdfe27fd9d0a.01ad412eb1e4f607
+    f64fadef3e854d91.99b2aca3deaea1d2.e9425e45fcd380ba.066c05fbc0251bba
+    f64fadef99b2aca3.f64fadeff64fadef.fcd380bafcd380ba.fcd380bae9425e45
+    0acb26c9c4f6ad46.736ff0fb9e49aac1.b3e8cc4968aa993a.fdf48da95c9a3bf1
+    a656496221e5aecd
+
+VPERMILPS_VAR_256(reg)
+  before
+    9330fa435a4cb20e.9285bf5956c4eb89.f243a77b89705eda.913ca2df37c34663
+    21d09db7a45a8461.929f39924107d8a4.a4771218f73981ef.394ddc66920b040d
+    aa802c2a9a9b5f72.e8e8125fa1cb2fc1.e4552b3e843050ab.89e5f6cc948c8f63
+    8b8da508d99c81ec.6f2bc5ac931bae0d.0e2af058cadf07bb.5bd26cfb5a54a292
+    8ddebbe1ff6ffac6
+  after
+    a45a8461a45a8461.21d09db7929f3992.f73981efa4771218.920b040da4771218
+    21d09db7a45a8461.929f39924107d8a4.a4771218f73981ef.394ddc66920b040d
+    aa802c2a9a9b5f72.e8e8125fa1cb2fc1.e4552b3e843050ab.89e5f6cc948c8f63
+    8b8da508d99c81ec.6f2bc5ac931bae0d.0e2af058cadf07bb.5bd26cfb5a54a292
+    8ddebbe1ff6ffac6
+VPERMILPS_VAR_256(mem)
+  before
+    f9d65d69a0e8532a.204303bdfce8247c.0233ce6632030fb3.7d425cd568d4e2cb
+    7d85d07e58cb69eb.c5ed42b59f0c84ce.7fcea9779b8f0ee0.8fe96b1ef89a1d86
+    f3b98f0e4324f734.d6d95f5c5f92df8d.c0c6d2cce9cc69bf.9e6a19a016bef399
+    393c17047e00ba32.af51541fd8086f65.a2e8c65239c5da7d.081363c75fcba1af
+    272e43006e4d6275
+  after
+    f9d65d69a0e8532a.204303bdfce8247c.0233ce6632030fb3.7d425cd568d4e2cb
+    7d85d07e58cb69eb.c5ed42b59f0c84ce.7fcea9779b8f0ee0.8fe96b1ef89a1d86
+    c5ed42b558cb69eb.c5ed42b59f0c84ce.9b8f0ee07fcea977.8fe96b1e7fcea977
+    393c17047e00ba32.af51541fd8086f65.a2e8c65239c5da7d.081363c75fcba1af
+    272e43006e4d6275
+
+VPERMILPD_VAR_256(reg)
+  before
+    5908b7b5e0d17396.29dce24c256a6e10.aca21f68a5fa7103.020000f3a6871e46
+    f8edbb5450e210bf.a0636ed3536fcefb.2918bba562f32113.bad9fc9d4d1cf045
+    622949485a0c759c.7b9e36832419971f.82ff2540ac7fba40.a741373b49920ea7
+    f1075ffc9cdbded8.9459b649b57785a7.13a357a71e2a7937.a6022bb9b7f53298
+    91ea5603b2501943
+  after
+    a0636ed3536fcefb.f8edbb5450e210bf.bad9fc9d4d1cf045.2918bba562f32113
+    f8edbb5450e210bf.a0636ed3536fcefb.2918bba562f32113.bad9fc9d4d1cf045
+    622949485a0c759c.7b9e36832419971f.82ff2540ac7fba40.a741373b49920ea7
+    f1075ffc9cdbded8.9459b649b57785a7.13a357a71e2a7937.a6022bb9b7f53298
+    91ea5603b2501943
+VPERMILPD_VAR_256(mem)
+  before
+    45c3330556af7ed4.02d5f7deafdc8620.c85f6a12219254c0.38504f4555819aa4
+    9e5a3eabc01f1e79.f2dd1059319baa20.f37ecfc98578bf95.4d510886ed0f5832
+    797af4e10caab55b.1b6ca3d9bea28583.f2806059fc348353.adf37ed68061f18e
+    b0f1cf93555fffa9.daceadcbf17f55f5.9f3299b0a3d35c26.b682ada1ad029f63
+    c34a92530d7e9e5e
+  after
+    45c3330556af7ed4.02d5f7deafdc8620.c85f6a12219254c0.38504f4555819aa4
+    9e5a3eabc01f1e79.f2dd1059319baa20.f37ecfc98578bf95.4d510886ed0f5832
+    f2dd1059319baa20.f2dd1059319baa20.4d510886ed0f5832.4d510886ed0f5832
+    b0f1cf93555fffa9.daceadcbf17f55f5.9f3299b0a3d35c26.b682ada1ad029f63
+    c34a92530d7e9e5e
+
+VPERMILPD_VAR_256(reg)
+  before
+    309728593f612c2b.20894daeb747b78d.8c4f2b9966be5424.d760f6b995600539
+    58b56b1ddc388375.a510e91c4f709a33.8b3b18b0bae9beb9.76d6f460efe73cb9
+    99ef570d828ee0e9.1b5020cb39e564c9.34de707d888fd163.58600e91cc74bad1
+    4e92e993cdf07e32.5e166ca690b3d078.e383306a6d39c7cc.59c9bf3849143eae
+    55df864181d3827c
+  after
+    a510e91c4f709a33.a510e91c4f709a33.8b3b18b0bae9beb9.76d6f460efe73cb9
+    58b56b1ddc388375.a510e91c4f709a33.8b3b18b0bae9beb9.76d6f460efe73cb9
+    99ef570d828ee0e9.1b5020cb39e564c9.34de707d888fd163.58600e91cc74bad1
+    4e92e993cdf07e32.5e166ca690b3d078.e383306a6d39c7cc.59c9bf3849143eae
+    55df864181d3827c
+VPERMILPD_VAR_256(mem)
+  before
+    286cdc9990bb4466.d2eb1b1d58e99bfd.4a2e4b9870e59c6f.f47752e50575dda0
+    ae3d3f2a93da3d99.8344eb16c00571f5.bb63388ff68782d8.c306d459eace4f8d
+    c31e29e2a63c2c40.bbe954ea9fd13cc7.8d83af763da63edf.ac7cb131bbd0583c
+    43db18abe4ebcb88.d828530594d83a1f.9c582d39624d8eb1.0b25e5db1108355c
+    3c4d6dc28b012297
+  after
+    286cdc9990bb4466.d2eb1b1d58e99bfd.4a2e4b9870e59c6f.f47752e50575dda0
+    ae3d3f2a93da3d99.8344eb16c00571f5.bb63388ff68782d8.c306d459eace4f8d
+    ae3d3f2a93da3d99.8344eb16c00571f5.bb63388ff68782d8.c306d459eace4f8d
+    43db18abe4ebcb88.d828530594d83a1f.9c582d39624d8eb1.0b25e5db1108355c
+    3c4d6dc28b012297
+
+VPERMILPD_VAR_256(reg)
+  before
+    9b3f4353c2475a99.0940887369f5d79d.344ce2d339a6a5a8.c3af2cc580882c7a
+    844865f854671b10.f318f32552660caa.2da0ffc02ac7ba0f.e0552a04b464d566
+    53b5ce1eddec9ea5.dc30d7adbb4825dc.1d71a53804c8b400.ce13a2e319ec44a0
+    64d07b31f8632207.a054aff7bea9df5e.610bd0a76335d126.69b8114fcb2c3654
+    8c0ff132e73167af
+  after
+    f318f32552660caa.f318f32552660caa.e0552a04b464d566.e0552a04b464d566
+    844865f854671b10.f318f32552660caa.2da0ffc02ac7ba0f.e0552a04b464d566
+    53b5ce1eddec9ea5.dc30d7adbb4825dc.1d71a53804c8b400.ce13a2e319ec44a0
+    64d07b31f8632207.a054aff7bea9df5e.610bd0a76335d126.69b8114fcb2c3654
+    8c0ff132e73167af
+VPERMILPD_VAR_256(mem)
+  before
+    15e3c07a890693dd.13e5669e4257e2e0.1a50f7ef7a95f65d.56ba7d7ae1984b2d
+    df01f912ccb77509.bc428dd0565419dc.28f02b8108162604.56caa71b1d7f5ec3
+    c53618e5cc51cb60.ba32eb32d0e603a8.a500c899873a2a81.be8749f8b0764891
+    a54b99e1a6df4e0e.6b007c324d9adef0.6c4c4924100dbffd.eb3c627c39074346
+    3736eb1351c08c8c
+  after
+    15e3c07a890693dd.13e5669e4257e2e0.1a50f7ef7a95f65d.56ba7d7ae1984b2d
+    df01f912ccb77509.bc428dd0565419dc.28f02b8108162604.56caa71b1d7f5ec3
+    bc428dd0565419dc.bc428dd0565419dc.56caa71b1d7f5ec3.56caa71b1d7f5ec3
+    a54b99e1a6df4e0e.6b007c324d9adef0.6c4c4924100dbffd.eb3c627c39074346
+    3736eb1351c08c8c
+
+VPSLLW_128(reg)
+  before
+    ffc2e128962d5f10.5a0ff9f1766dbd3e.2af93d3b69fbe45f.5b9f2a0cc299a1a7
+    9f2a4129a4d9f77d.bf4db3025708d21c.526928b9be9652a2.4cc6e73fb6ed8ba9
+    73ba068216509180.b2d043fe65bb4ad6.419c3b18ebf66465.1d8dfca70a123a2f
+    d7c02c9d891e69c4.0d6625d2bd93e196.52de71c48aa75553.a8c0e632da166a66
+    cb2b20cb4104d77a
+  after
+    ffc2e128962d5f10.5a0ff9f1766dbd3e.2af93d3b69fbe45f.5b9f2a0cc299a1a7
+    9f2a4129a4d9f77d.bf4db3025708d21c.526928b9be9652a2.4cc6e73fb6ed8ba9
+    0000000000000000.0000000000000000.0000000000000000.000000000000000a
+    0000000000000000.0000000000000000.a400e40058008800.1800fc00b400a400
+    000000000000000a
+VPSLLW_128(mem)
+  before
+    6099265e5be83c96.2787b0e798d0baf6.aed9d66a7a9b5288.e07ac72937366219
+    45d874d745cf56e7.bf5a8cccdff1c1c2.6ff6d0b3b9df5bd9.49be37b48f2ec762
+    54b287221bc4e198.fb86beb9fb0dbad3.2d899197956bb5b5.e7f4bfcf2d1bc0db
+    6af4da2bf8d498d6.3757411888b1e1d6.c55e95042b4c1f47.18695ae8ae89882f
+    36690469ad055c0b
+  after
+    6099265e5be83c96.2787b0e798d0baf6.aed9d66a7a9b5288.e07ac72937366219
+    45d874d745cf56e7.bf5a8cccdff1c1c2.6ff6d0b3b9df5bd9.49be37b48f2ec762
+    54b287221bc4e198.fb86beb9fb0dbad3.2d899197956bb5b5.e7f4bfcf2d1bc0db
+    0000000000000000.0000000000000000.b0009800f800c800.f000a00070001000
+    36690469ad055c0b
+
+VPSLLW_128(reg)
+  before
+    9f40bac0c61b781b.646ae9dff80a38cd.cf19125721687176.114056e5968d53bc
+    ad3a76589755170a.1ce0302838727da8.1f182be162bfa760.eefc5126f23b0e3f
+    bda2369db9417785.6f222bf4d3182394.839f8a22e840bf3f.395f03b35d600cfd
+    2cc5f5fbca6bd138.39fb572de609e5bd.57fc2a864e7af5c1.cc33e778f00b0922
+    84457a61c945c0d9
+  after
+    9f40bac0c61b781b.646ae9dff80a38cd.cf19125721687176.114056e5968d53bc
+    ad3a76589755170a.1ce0302838727da8.1f182be162bfa760.eefc5126f23b0e3f
+    0000000000000000.0000000000000000.0000000000000000.0000000000000009
+    0000000000000000.0000000000000000.3000c2007e00c000.f8004c0076007e00
+    0000000000000009
+VPSLLW_128(mem)
+  before
+    3d60365a041cee4f.54f0afde665d64ce.57392fc18c50804e.f779077931f6848f
+    d352994fbc9b4eaf.926d61b228a56af3.a3a62f9be2fab073.bf631e672c42a958
+    22e61e2d0dcf9e27.428906e3accf2054.fa0fd3a603123059.0a0669bcdce9a0c6
+    06e741de14c398e0.c18f9ade8f65c29d.384098d00ca4be2c.36aee6e4dc78a485
+    9ea6904cc979f242
+  after
+    3d60365a041cee4f.54f0afde665d64ce.57392fc18c50804e.f779077931f6848f
+    d352994fbc9b4eaf.926d61b228a56af3.a3a62f9be2fab073.bf631e672c42a958
+    22e61e2d0dcf9e27.428906e3accf2054.fa0fd3a603123059.0a0669bcdce9a0c6
+    0000000000000000.0000000000000000.8e98be6c8be8c1cc.fd8c799cb108a560
+    9ea6904cc979f242
+
+VPSLLW_128(reg)
+  before
+    9d3c635e3e7bc6a9.5b227e50ec83f808.69cd190d6cf58c7a.3904f80418bd1318
+    91ba5c88d7075c65.fd63526eb21c7ccb.978d7fdee00bb996.d929712f4468ee48
+    d56d753531abef23.c87637248299de54.a71cc9bb8732869d.f4797e3babb109e8
+    c4a1acd0e8f2bc8f.9826ab5d7606dbd0.f5c7f212fbf62e3d.66c29c156aa42225
+    0bce45aa9c4ef22b
+  after
+    9d3c635e3e7bc6a9.5b227e50ec83f808.69cd190d6cf58c7a.3904f80418bd1318
+    91ba5c88d7075c65.fd63526eb21c7ccb.978d7fdee00bb996.d929712f4468ee48
+    0000000000000000.0000000000000000.0000000000000000.000000000000000b
+    0000000000000000.0000000000000000.6800f0005800b000.4800780040004000
+    000000000000000b
+VPSLLW_128(mem)
+  before
+    bf6af7e45dbb3826.bca2fdc79769fe54.49412a07ad702f6b.ddd7f64edbe3ef1f
+    5e612db1caf5ae40.17bc6285da9bf31f.b7912e0e40e19550.bb9bd1dbc08603f2
+    c38164fcfe0a11a8.333bd8764e14d59b.bee4355c4e68caac.eb5e7f25496aa760
+    cc9516b016061d88.6a6a5c078f61e175.3a04badef00e8aaa.c96bfd980f1b1615
+    b11046a0b0268dbe
+  after
+    bf6af7e45dbb3826.bca2fdc79769fe54.49412a07ad702f6b.ddd7f64edbe3ef1f
+    5e612db1caf5ae40.17bc6285da9bf31f.b7912e0e40e19550.bb9bd1dbc08603f2
+    c38164fcfe0a11a8.333bd8764e14d59b.bee4355c4e68caac.eb5e7f25496aa760
+    0000000000000000.0000000000000000.4000800040000000.c000c00080008000
+    b11046a0b0268dbe
+
+VPSRLW_128(reg)
+  before
+    ff9756a9c8164807.5468c1bb2ef38d0d.1996e9a2380d5358.07bd398044e19177
+    0f4d2920f278839c.37c7e00861df1e62.9d0b7cb4e5a466f1.00dd2e2f66ed9a3f
+    3d7ebc6fcbd77928.507eef83cbd68cb4.50150faa33b357ec.032f15d5713d622d
+    e4750a04eebf6757.7d596a1989e2932f.8f00a0eebdc562f4.eb7e6b6082dda46e
+    9397abbbb4d91e2d
+  after
+    ff9756a9c8164807.5468c1bb2ef38d0d.1996e9a2380d5358.07bd398044e19177
+    0f4d2920f278839c.37c7e00861df1e62.9d0b7cb4e5a466f1.00dd2e2f66ed9a3f
+    0000000000000000.0000000000000000.0000000000000000.000000000000000d
+    0000000000000000.0000000000000000.0004000300070003.0000000100030004
+    000000000000000d
+VPSRLW_128(mem)
+  before
+    d94751d2233e8a97.62800f4af7bc89d6.9924ceb4b611eefe.b7172aee2066c2b6
+    9858da90ec17a5d7.12e9c7ac835b1b51.7faa96416f6f5a4e.22a8a915f723b4dd
+    ab96c0e32a702a1a.4ffd2e982d275873.0db83eadcf07934a.2dfd19cedf877416
+    f0cf81b7fa56d78c.7708417992ad7de9.1e1b42e2f2e5541f.34637787731e3e0d
+    9326bdab4f754d6d
+  after
+    d94751d2233e8a97.62800f4af7bc89d6.9924ceb4b611eefe.b7172aee2066c2b6
+    9858da90ec17a5d7.12e9c7ac835b1b51.7faa96416f6f5a4e.22a8a915f723b4dd
+    ab96c0e32a702a1a.4ffd2e982d275873.0db83eadcf07934a.2dfd19cedf877416
+    0000000000000000.0000000000000000.0003000400030002.0001000500070005
+    9326bdab4f754d6d
+
+VPSRLW_128(reg)
+  before
+    a792e9a61117dee3.41cd98f678d46658.e556fbbb4e78c65f.8d9d1ecef5155af8
+    caf3f7e552902d1a.7c5e828dbef693ab.f43358cafc146e80.380b4f5cf4a46102
+    5994e1d2b06d75bf.7b4cb968ebc91cb1.02eb5413380eb2f9.f93050780a9d2569
+    b0c3a5dac739f47e.1b64bb741858bb95.6ac9ec009ff0ce75.adda9d0d540c6158
+    31d3b20aedfed2fc
+  after
+    a792e9a61117dee3.41cd98f678d46658.e556fbbb4e78c65f.8d9d1ecef5155af8
+    caf3f7e552902d1a.7c5e828dbef693ab.f43358cafc146e80.380b4f5cf4a46102
+    0000000000000000.0000000000000000.0000000000000000.000000000000000c
+    0000000000000000.0000000000000000.000f0005000f0006.00030004000f0006
+    000000000000000c
+VPSRLW_128(mem)
+  before
+    5fe90c58f17e3481.2bca3d6a3281e402.3972039c64b02d84.871a1bfecc49fea1
+    14e626e47d994212.26f6a8ec8dcf81f8.af420dcbe8dc2da9.b72bdd7a5ca27d28
+    2d977c9aac5ab9db.fd93dfce75b2090b.5b9f55efc3e87931.54452edfea8988b7
+    84c88a679bcd550a.0ceddf7b85b3b6e8.175658f30ee0cb47.bbb70a98128a5bfa
+    49cc6e13712f319c
+  after
+    5fe90c58f17e3481.2bca3d6a3281e402.3972039c64b02d84.871a1bfecc49fea1
+    14e626e47d994212.26f6a8ec8dcf81f8.af420dcbe8dc2da9.b72bdd7a5ca27d28
+    2d977c9aac5ab9db.fd93dfce75b2090b.5b9f55efc3e87931.54452edfea8988b7
+    0000000000000000.0000000000000000.000a0000000e0002.000b000d00050007
+    49cc6e13712f319c
+
+VPSRLW_128(reg)
+  before
+    58cf55bba306474a.f644cc3566fed2c8.ae4fa55f5a60c43b.c03491c3e7d1e018
+    450ebbfc439bd9b0.60d9bff227faeb44.41062ce68f4471af.32037c4b6ac673d0
+    6dd39c42ee782379.9c51de88fdcd5da8.205f707cc1ebf7f1.49909577b2cc419a
+    2a6bf5f93f2b6051.8779a5e50181e420.a7a46e8d8ce293ac.e2a65833dbee06a3
+    d713426c02387e16
+  after
+    58cf55bba306474a.f644cc3566fed2c8.ae4fa55f5a60c43b.c03491c3e7d1e018
+    450ebbfc439bd9b0.60d9bff227faeb44.41062ce68f4471af.32037c4b6ac673d0
+    0000000000000000.0000000000000000.0000000000000000.0000000000000006
+    0000000000000000.0000000000000000.010400b3023d01c6.00c801f101ab01cf
+    0000000000000006
+VPSRLW_128(mem)
+  before
+    05a2ce0c43b76420.d922c08dd240cde5.fd1d90f452243bda.322220858ab4818d
+    481e7801b97575ed.d644fb6b4441a6e1.da091ca109c120ff.1c2584d059eefc40
+    7c54bc3580816da8.7e1ca1fd30bc26f1.fa09c3d844654cbe.c3f895db951b4170
+    7d101796b5e4077e.2bf8afb1333d8bc0.39e803851f1b7e41.82e94f10d9c78cc9
+    b442afddc27f19f9
+  after
+    05a2ce0c43b76420.d922c08dd240cde5.fd1d90f452243bda.322220858ab4818d
+    481e7801b97575ed.d644fb6b4441a6e1.da091ca109c120ff.1c2584d059eefc40
+    7c54bc3580816da8.7e1ca1fd30bc26f1.fa09c3d844654cbe.c3f895db951b4170
+    0000000000000000.0000000000000000.006d000e00040010.000e0042002c007e
+    b442afddc27f19f9
+
+VPSRAW_128(reg)
+  before
+    b750b0adebce23aa.271e040f73ac019a.3a221ff2e84e0efa.73745794b5ef70b4
+    e55f4eebf040e788.5649ff8cd7e51529.07e7ef2bec7eee4d.84773cf223eee045
+    9cbb85056e61a140.e65f84f9fc99ff57.ee931acadb566562.48be2c898423871d
+    36b0516601be8c7e.b32a0f42ffd67d4f.4b729c3a4f64b0e8.9b15a547f49a246b
+    5948221690607159
+  after
+    b750b0adebce23aa.271e040f73ac019a.3a221ff2e84e0efa.73745794b5ef70b4
+    e55f4eebf040e788.5649ff8cd7e51529.07e7ef2bec7eee4d.84773cf223eee045
+    0000000000000000.0000000000000000.0000000000000000.0000000000000019
+    0000000000000000.0000000000000000.0000ffffffffffff.ffff00000000ffff
+    0000000000000019
+VPSRAW_128(mem)
+  before
+    5e231fe4747f2b13.1189af7a44e3e5ed.98781d53fba7493e.7acf72e7e6330b89
+    8571199cba060ec6.879499add35ae83a.731329180d19204f.d7f8973d3c4fb2f1
+    acff8b2a81fed59e.f61b0d6c4bb1d111.1fc7af7d5037bdaf.be3707a8ec45e0cd
+    ae9af17ae3763dc6.b86b07214774db1d.78622b6fe10ddd89.8bd9be9593a0d2c9
+    9a2ab86eccedc491
+  after
+    5e231fe4747f2b13.1189af7a44e3e5ed.98781d53fba7493e.7acf72e7e6330b89
+    8571199cba060ec6.879499add35ae83a.731329180d19204f.d7f8973d3c4fb2f1
+    acff8b2a81fed59e.f61b0d6c4bb1d111.1fc7af7d5037bdaf.be3707a8ec45e0cd
+    0000000000000000.0000000000000000.3989148c068c1027.ebfccb9e1e27d978
+    9a2ab86eccedc491
+
+VPSRAW_128(reg)
+  before
+    4676f2a134b6f1cf.670cc778fc77026b.2ad08139642d430a.5aaf1ad8dba83c0b
+    ed096698668a9632.b2218910e90fe0b9.a99679213d6a4586.a079f7a65a13965e
+    ea2e12c1fef2ef64.6da7b42ec54992db.8f08ea446fb71c3a.288d3ec47b5ba6b1
+    9932f287997c3712.7269c2bfad31d5fe.3974d00d959e05d5.cdb86b1e5a8a292e
+    6ac4faa012aedb01
+  after
+    4676f2a134b6f1cf.670cc778fc77026b.2ad08139642d430a.5aaf1ad8dba83c0b
+    ed096698668a9632.b2218910e90fe0b9.a99679213d6a4586.a079f7a65a13965e
+    0000000000000000.0000000000000000.0000000000000000.0000000000000001
+    0000000000000000.0000000000000000.d4cb3c901eb522c3.d03cfbd32d09cb2f
+    0000000000000001
+VPSRAW_128(mem)
+  before
+    dd7d6836bfd37857.55620056d2b3ace7.9f3231adbcd4654d.032427ea4cad3c01
+    00b130cc7e04bb5c.7c083a9946248890.cfcf7de60f3dfdf5.4a65ec462f70fd6b
+    b12ace4e6a4d613b.69719bbf915a07b9.dd0c2055c1785a21.6883198ddb7183be
+    cab6bea8a0ba2621.77e81f314de1670d.a7b598e5ee9238ff.bacaac2beb3e0ba7
+    9c86a18cfc63d1d1
+  after
+    dd7d6836bfd37857.55620056d2b3ace7.9f3231adbcd4654d.032427ea4cad3c01
+    00b130cc7e04bb5c.7c083a9946248890.cfcf7de60f3dfdf5.4a65ec462f70fd6b
+    b12ace4e6a4d613b.69719bbf915a07b9.dd0c2055c1785a21.6883198ddb7183be
+    0000000000000000.0000000000000000.e7e73ef3079efefa.2532f62317b8feb5
+    9c86a18cfc63d1d1
+
+VPSRAW_128(reg)
+  before
+    6a02f21da96b11e9.291f7cc73b58c53a.04bbc25c1945e238.07966084b39653b8
+    808b9d488ee2069b.a83285955832fbb1.6a3481ac8f13b5e8.da7af41d2c91667a
+    3a6e9d7b4854ed92.24bb5400125484b2.07a1568e4bd71bc7.fd2fd09c748d2e71
+    f4f5ee20724e017a.7a8665f286cb1c6a.354c3f6ce91b5281.4a7f71eda79967c9
+    9f3751fce2beccad
+  after
+    6a02f21da96b11e9.291f7cc73b58c53a.04bbc25c1945e238.07966084b39653b8
+    808b9d488ee2069b.a83285955832fbb1.6a3481ac8f13b5e8.da7af41d2c91667a
+    0000000000000000.0000000000000000.0000000000000000.000000000000000d
+    0000000000000000.0000000000000000.0003fffcfffcfffd.fffeffff00010003
+    000000000000000d
+VPSRAW_128(mem)
+  before
+    d623eeb6410a1a49.0a6d8ca5a95b8001.845e3559cfa27e05.528237b4076d94c3
+    cc0fc405de880dcb.d82173758907a4d1.1f103e200ae667af.b88f3bd13e591d39
+    5dc74dd7d845615d.ba5fa0fbaddfaa96.2869fe3352a29393.c5be452e2c692b8e
+    66160716494bd12b.0c710ea5b16ecdfe.7933f07ec4e2bedd.d35d53396d2bf86f
+    3fb6605d9c2ac187
+  after
+    d623eeb6410a1a49.0a6d8ca5a95b8001.845e3559cfa27e05.528237b4076d94c3
+    cc0fc405de880dcb.d82173758907a4d1.1f103e200ae667af.b88f3bd13e591d39
+    5dc74dd7d845615d.ba5fa0fbaddfaa96.2869fe3352a29393.c5be452e2c692b8e
+    0000000000000000.0000000000000000.003e007c001500cf.ff710077007c003a
+    3fb6605d9c2ac187
+
+VPSLLD_128(reg)
+  before
+    6616690655f3c184.c1ca6db04da91a62.29a5b9de32414ab2.ef3b90ed7bb3a3bb
+    a2c968a13511360f.4badfb900168f82e.6f459e13cbe35d61.664c5b6c931fff57
+    501b5b98d8105ad6.e08c2da2809626ba.399eb7ae19e042b5.ba34cbe829358ddd
+    cc583d58d97d6a85.5c337fd2e63e6233.e3fb021cb7c4345a.c7be5e4b58fe0b7a
+    69b58f833d88335a
+  after
+    6616690655f3c184.c1ca6db04da91a62.29a5b9de32414ab2.ef3b90ed7bb3a3bb
+    a2c968a13511360f.4badfb900168f82e.6f459e13cbe35d61.664c5b6c931fff57
+    0000000000000000.0000000000000000.0000000000000000.000000000000001a
+    0000000000000000.0000000000000000.4c00000084000000.b00000005c000000
+    000000000000001a
+VPSLLD_128(mem)
+  before
+    7de6db7af4dec1a8.72cb0a4ed4e3a1c8.9b6d6e0c516d65c4.c8aa7aca411c71fd
+    dd1dbc1e980d7391.9fc2bee466cf3c4a.7908753cda2eee9a.46f51c225574324a
+    6526b05a45200340.ad8756882acb77b7.d2ce104e9f8db7e1.b82ae2928c56b6ec
+    f3cc321a18232ee2.f967cda5bd658ebc.828dbc2ebc977ec4.7993ca8484503790
+    e77dcf66d9edf2e2
+  after
+    7de6db7af4dec1a8.72cb0a4ed4e3a1c8.9b6d6e0c516d65c4.c8aa7aca411c71fd
+    dd1dbc1e980d7391.9fc2bee466cf3c4a.7908753cda2eee9a.46f51c225574324a
+    6526b05a45200340.ad8756882acb77b7.d2ce104e9f8db7e1.b82ae2928c56b6ec
+    0000000000000000.0000000000000000.e421d4f068bbba68.1bd4708855d0c928
+    e77dcf66d9edf2e2
+
+VPSLLD_128(reg)
+  before
+    5c34eda326ba238d.62ddbe4a2c23b0a2.dfae1fa6ba29bc05.650ff3c94c57fc70
+    360420a70742053d.8e23d1d69e2b44ae.bba848f9bea23e3e.572133096bd9f010
+    cf3865de1911d6a0.536ce5aa8947a72f.e9a04509645c5012.348ef7dc362a14d1
+    851db7b4f8b4cf60.8d8278b20a849554.c5e4104349e32e2d.d824bb2dc95525de
+    1eaefce83f66df65
+  after
+    5c34eda326ba238d.62ddbe4a2c23b0a2.dfae1fa6ba29bc05.650ff3c94c57fc70
+    360420a70742053d.8e23d1d69e2b44ae.bba848f9bea23e3e.572133096bd9f010
+    0000000000000000.0000000000000000.0000000000000000.0000000000000005
+    0000000000000000.0000000000000000.75091f20d447c7c0.e42661207b3e0200
+    0000000000000005
+VPSLLD_128(mem)
+  before
+    e4f735f8b46afd8f.b20012963eb62f29.183105da3cedca47.abbea71108c4133c
+    05cce14b456c3c8b.b32b72ee8aa330a8.cf47090f3b8e0134.f67b05e03e8a3ceb
+    5df97fcd0d785883.e5ebd32976080f89.908ffe3c2474f748.0467271c86c2e4e6
+    c74a8868299b0da3.a28b32b49e700877.36d4624c13aa67af.30ce07327cf649d7
+    d6fca38dbdb5a56d
+  after
+    e4f735f8b46afd8f.b20012963eb62f29.183105da3cedca47.abbea71108c4133c
+    05cce14b456c3c8b.b32b72ee8aa330a8.cf47090f3b8e0134.f67b05e03e8a3ceb
+    5df97fcd0d785883.e5ebd32976080f89.908ffe3c2474f748.0467271c86c2e4e6
+    0000000000000000.0000000000000000.e121e000c0268000.60bc0000479d6000
+    d6fca38dbdb5a56d
+
+VPSLLD_128(reg)
+  before
+    523cf698e5883552.218b7a09b4e01618.47598af99f67571f.9ce4b02d233c0f94
+    ffdcfcc18ffd3433.4687cf9ccb53300e.319fd766147a372c.a08964ca7037a924
+    3b26b273579fdfbb.110b050e890117b0.baab15669a34e54b.1d90fb0f17a6f28b
+    6167121adafb7297.60e498490bf5862b.3fc74165cc219c28.eec4efe83495a5f4
+    f1f3be41e211808c
+  after
+    523cf698e5883552.218b7a09b4e01618.47598af99f67571f.9ce4b02d233c0f94
+    ffdcfcc18ffd3433.4687cf9ccb53300e.319fd766147a372c.a08964ca7037a924
+    0000000000000000.0000000000000000.0000000000000000.000000000000000c
+    0000000000000000.0000000000000000.fd766000a372c000.964ca0007a924000
+    000000000000000c
+VPSLLD_128(mem)
+  before
+    00e7e3063d253d7e.cceb1a22b49c2973.0ddc023b6c3b3aab.1c4056cf46ce9a6e
+    f96eda2362de98f7.dafec5f77f0e40fa.f6c0c1cfc8e0ef5b.ad625010a5c619ca
+    b65220856c474f22.e6eb1005daddf2d8.f55b50f13cef6167.4e782b94859555e7
+    15603016786c1c2c.4b00f5b95e967cbb.e87b2b8de4754bfd.5bd0e3c881c88c72
+    30b4751636eaf817
+  after
+    00e7e3063d253d7e.cceb1a22b49c2973.0ddc023b6c3b3aab.1c4056cf46ce9a6e
+    f96eda2362de98f7.dafec5f77f0e40fa.f6c0c1cfc8e0ef5b.ad625010a5c619ca
+    b65220856c474f22.e6eb1005daddf2d8.f55b50f13cef6167.4e782b94859555e7
+    0000000000000000.0000000000000000.e7800000ad800000.08000000e5000000
+    30b4751636eaf817
+
+VPSRLD_128(reg)
+  before
+    2971dceb3e87d681.f06485c4a159bc41.6787727daac5194d.a9eace8fdb7d6a47
+    a25314b4382c625d.242a9e79041bea8c.94cd82bf57f4063a.1576b6e33d137a71
+    f7a619dcbe64d756.8e7df423bcbd643a.301e21e904b17f2f.09e95d75274336a8
+    84b6e8ce6cbc7219.082b05ade64ce477.95c64b694a87c0d8.5f104131b51a5b18
+    f4b7dd0402a3a5ec
+  after
+    2971dceb3e87d681.f06485c4a159bc41.6787727daac5194d.a9eace8fdb7d6a47
+    a25314b4382c625d.242a9e79041bea8c.94cd82bf57f4063a.1576b6e33d137a71
+    0000000000000000.0000000000000000.0000000000000000.000000000000000c
+    0000000000000000.0000000000000000.00094cd800057f40.0001576b0003d137
+    000000000000000c
+VPSRLD_128(mem)
+  before
+    a4a9aed82aebd051.a5cf7bf8dfbf6f52.6ffe4b039dd2276e.2010fdaac70305e0
+    4cb42f9b4afd9772.b63cd0c5b2f909ac.9fc34411fd5ee84b.2e4a321817b089f4
+    c6a2db387de5b77c.134ae2a182f67ed4.75466cc323f9e43b.19bee61fd51a89bf
+    ef40309ae0afec9b.1745aef8ea430875.cb533d052bb1d76a.3eb9152b9dce40ee
+    fa88bca80c57ec2d
+  after
+    a4a9aed82aebd051.a5cf7bf8dfbf6f52.6ffe4b039dd2276e.2010fdaac70305e0
+    4cb42f9b4afd9772.b63cd0c5b2f909ac.9fc34411fd5ee84b.2e4a321817b089f4
+    c6a2db387de5b77c.134ae2a182f67ed4.75466cc323f9e43b.19bee61fd51a89bf
+    0000000000000000.0000000000000000.0004fe1a0007eaf7.000172510000bd84
+    fa88bca80c57ec2d
+
+VPSRLD_128(reg)
+  before
+    a774d502be41c727.a35aaaaf8e68f1fa.20792e37876be33c.7eb535c430917d04
+    a2cc5ea64e190d89.bebcc362a41b84c6.893260c8f4fb4dd5.6a3acfea4ea69134
+    47db53fe586afcff.1c32f99f3dd55e2a.aebc3f18ce7e80eb.6bac8765a2fbd026
+    f2ecae7879c1ce34.9988c75275a13e53.ea62c894b080b92a.5dd8d91f479cf607
+    1c8a42065a96be03
+  after
+    a774d502be41c727.a35aaaaf8e68f1fa.20792e37876be33c.7eb535c430917d04
+    a2cc5ea64e190d89.bebcc362a41b84c6.893260c8f4fb4dd5.6a3acfea4ea69134
+    0000000000000000.0000000000000000.0000000000000000.0000000000000003
+    0000000000000000.0000000000000000.11264c191e9f69ba.0d4759fd09d4d226
+    0000000000000003
+VPSRLD_128(mem)
+  before
+    848e3d05f7f4e646.ff4c6d7e4ca8c0d4.1189a9686a8bde6d.9b72f5a6378d3340
+    71b0460838c228fb.ca478a7e6ead0e8c.60021bcb35a0fca3.1b36c4bcfe322cd7
+    bfbbd9fb3c0c404e.b02903e37a5cf308.62bf9a68f4eb5122.c8fb3041a1fbde9b
+    4a7c72ca1cdfec6c.0b3ed4190d3facf4.f38ca12cc3789c15.fd0d35a1bd728539
+    15b7cf48ee255f5d
+  after
+    848e3d05f7f4e646.ff4c6d7e4ca8c0d4.1189a9686a8bde6d.9b72f5a6378d3340
+    71b0460838c228fb.ca478a7e6ead0e8c.60021bcb35a0fca3.1b36c4bcfe322cd7
+    bfbbd9fb3c0c404e.b02903e37a5cf308.62bf9a68f4eb5122.c8fb3041a1fbde9b
+    0000000000000000.0000000000000000.0000000300000001.0000000000000007
+    15b7cf48ee255f5d
+
+VPSRLD_128(reg)
+  before
+    6d47fba2cf9fa6b2.eec08e61f747e681.38d2f78cc2e575fb.ef35ac02bd5497a9
+    6207b41bfc6d97e5.8651a8ace64eebb8.92306aa836d789c9.328637d5fe8aff0a
+    4e44f61f121a6da2.f0fc3c980702b63e.77a528d904a3250b.974abf93a3269063
+    8f4bbd1bac326694.078cc60f766f043f.427e2d8bc9d4856d.fc4ebe27c73505e1
+    3c5fb27d87c21baf
+  after
+    6d47fba2cf9fa6b2.eec08e61f747e681.38d2f78cc2e575fb.ef35ac02bd5497a9
+    6207b41bfc6d97e5.8651a8ace64eebb8.92306aa836d789c9.328637d5fe8aff0a
+    0000000000000000.0000000000000000.0000000000000000.000000000000000f
+    0000000000000000.0000000000000000.0001246000006daf.0000650c0001fd15
+    000000000000000f
+VPSRLD_128(mem)
+  before
+    33471681fed98efa.7f6505796742bc67.a7cfc3ff4e9f91e6.4f05752b20f6e59a
+    bcd2671f49871aed.7be1cba7ded5abc8.ab8fad52aca01960.fa86fd23a596803f
+    b5ce1f4483d77ab5.e00a0a0fae777163.f19a02f6ab7e57d8.9f4fc0e1f53f9408
+    f906bcdac9d56b7e.082bbe1f72b548e4.54ba3dd66744087b.99abbad0ac7e5aa0
+    46e5e75b65de11b4
+  after
+    33471681fed98efa.7f6505796742bc67.a7cfc3ff4e9f91e6.4f05752b20f6e59a
+    bcd2671f49871aed.7be1cba7ded5abc8.ab8fad52aca01960.fa86fd23a596803f
+    b5ce1f4483d77ab5.e00a0a0fae777163.f19a02f6ab7e57d8.9f4fc0e1f53f9408
+    0000000000000000.0000000000000000.00000ab800000aca.00000fa800000a59
+    46e5e75b65de11b4
+
+VPSRAD_128(reg)
+  before
+    014a43f0bcebf3ef.6345b9ce368ea973.5092e342c71a6df6.afbcdbdefdfee874
+    2626cbfa4e323dfe.d158920de70defc1.148976e448321b45.e06b57fa88b8b3f1
+    10c57ae5b63d2b8d.1d0bc482f75ffa94.b05d7271928a907f.c1952c16257f241b
+    1d734c1d919bf847.252aca18838e8617.8159d35540ad064d.3005d81ef05ef821
+    0786d7fe0361eb2c
+  after
+    014a43f0bcebf3ef.6345b9ce368ea973.5092e342c71a6df6.afbcdbdefdfee874
+    2626cbfa4e323dfe.d158920de70defc1.148976e448321b45.e06b57fa88b8b3f1
+    0000000000000000.0000000000000000.0000000000000000.000000000000000c
+    0000000000000000.0000000000000000.0001489700048321.fffe06b5fff88b8b
+    000000000000000c
+VPSRAD_128(mem)
+  before
+    24e5a3a37d95b86b.a77c3d0f7bd5e1d8.c3811fbda6a84f77.e1cb95fcee28ba5e
+    61eebaf777051c08.0c2b4a250e7922ee.d5dc425c7cb910df.2dfeb4d23985e75c
+    9c6d97e810bed330.a6cd6dcce912f733.3506ace122cc867c.c13d2d44bd52caf3
+    af2eb66061cb990e.d3aea471a52d9b53.c0ccda38b4ed6d79.f9d5fbbc151b9fd1
+    31121aa8dd6ba29f
+  after
+    24e5a3a37d95b86b.a77c3d0f7bd5e1d8.c3811fbda6a84f77.e1cb95fcee28ba5e
+    61eebaf777051c08.0c2b4a250e7922ee.d5dc425c7cb910df.2dfeb4d23985e75c
+    9c6d97e810bed330.a6cd6dcce912f733.3506ace122cc867c.c13d2d44bd52caf3
+    0000000000000000.0000000000000000.ffffffff00000000.0000000000000000
+    31121aa8dd6ba29f
+
+VPSRAD_128(reg)
+  before
+    c5408673b2ce0e0c.77fc934d893829cf.ed1aeb7fe0554bfb.53fa494e4d288003
+    10ab3c8830d020c2.d0a5ab9aa111409e.525d3c61361643d7.c85c740d098a7c46
+    709e3655f1fe146d.97f37933c7639aa8.5cc3958542fdbe92.fcbed762051e1d6d
+    4067724594e326ba.a6b379041739f319.6997f156a195f9d9.cbecef3a5cf11fa5
+    12b1367f2b0e3d19
+  after
+    c5408673b2ce0e0c.77fc934d893829cf.ed1aeb7fe0554bfb.53fa494e4d288003
+    10ab3c8830d020c2.d0a5ab9aa111409e.525d3c61361643d7.c85c740d098a7c46
+    0000000000000000.0000000000000000.0000000000000000.0000000000000019
+    0000000000000000.0000000000000000.000000290000001b.ffffffe400000004
+    0000000000000019
+VPSRAD_128(mem)
+  before
+    abdb2a1f8d8134f6.dc50ecc4b30c9155.dab127f9aca0061c.d3274c40ee6a3057
+    733446059f57c068.a0a69e3eea0392ea.0fb9ffffa2a390de.f7bda2afc5099fb9
+    4689071d7c9a9c9a.e8b5861fd6576524.21967e00164e4c8a.31a6ef0fc3fd81ab
+    00a6e753415986b9.0fc99ed4129145af.ed161fe924adf84d.de2e30cc84d213d8
+    58a06053a31591ed
+  after
+    abdb2a1f8d8134f6.dc50ecc4b30c9155.dab127f9aca0061c.d3274c40ee6a3057
+    733446059f57c068.a0a69e3eea0392ea.0fb9ffffa2a390de.f7bda2afc5099fb9
+    4689071d7c9a9c9a.e8b5861fd6576524.21967e00164e4c8a.31a6ef0fc3fd81ab
+    0000000000000000.0000000000000000.00007dcffffd151c.ffffbdedfffe284c
+    58a06053a31591ed
+
+VPSRAD_128(reg)
+  before
+    fc4a7b0ebc513796.7d566493099d37f0.732ee4c73a3f6f38.4d035ea7e7cd4e53
+    26767e6b6c12407e.9967f9c9f1746e6c.6f2f5466ebec1f6b.1e2ab8247bba0ac7
+    327263d54ee5e951.30a322e114e9e559.5e19e81bc12590f3.3c57a74efd7eead6
+    7c8828b7ff556dbc.1ed85bc88e095ae2.9e399e545775007d.8356a9108827a8ab
+    cff3395639c00173
+  after
+    fc4a7b0ebc513796.7d566493099d37f0.732ee4c73a3f6f38.4d035ea7e7cd4e53
+    26767e6b6c12407e.9967f9c9f1746e6c.6f2f5466ebec1f6b.1e2ab8247bba0ac7
+    0000000000000000.0000000000000000.0000000000000000.0000000000000013
+    0000000000000000.0000000000000000.00000de5fffffd7d.000003c500000f77
+    0000000000000013
+VPSRAD_128(mem)
+  before
+    fbf9d30c2b56b15a.6005c87f1aef0a6b.3fd021687cdf8634.89d9717c4a68a9b5
+    e535f41e7bf4738b.3a343f983c3dfa0a.6f58efaffa77287a.7d455dff358bc746
+    6874167844a60433.66638a6e00ce7a44.8a3c418723defae1.d4cb5e49b46998dc
+    6080b706a379207d.40dca36d032bc5c5.6c4793de131fb995.ecb671c6648e5625
+    1f5191e2e0863ecb
+  after
+    fbf9d30c2b56b15a.6005c87f1aef0a6b.3fd021687cdf8634.89d9717c4a68a9b5
+    e535f41e7bf4738b.3a343f983c3dfa0a.6f58efaffa77287a.7d455dff358bc746
+    6874167844a60433.66638a6e00ce7a44.8a3c418723defae1.d4cb5e49b46998dc
+    0000000000000000.0000000000000000.000deb1dffff4ee5.000fa8ab0006b178
+    1f5191e2e0863ecb
+
+VPSLLQ_128(reg)
+  before
+    cbe9ba09c5de8b7a.a92652b5b3788396.24ed8801e0e2183a.f047629fe74621c1
+    4acae8a8af227bdf.1f31636f91afe8aa.6ee03597347eaf4f.f40628b6ba60ed92
+    f940172938dc48a6.9d6f6722582b0ce4.7a02a4999a8bc6af.5351630fa978da33
+    359744faff9a2f7a.01aad9b824f7aa70.a49fd275ae969807.e9f48e96d09aa4d1
+    91bb263749d30798
+  after
+    cbe9ba09c5de8b7a.a92652b5b3788396.24ed8801e0e2183a.f047629fe74621c1
+    4acae8a8af227bdf.1f31636f91afe8aa.6ee03597347eaf4f.f40628b6ba60ed92
+    0000000000000000.0000000000000000.0000000000000000.0000000000000018
+    0000000000000000.0000000000000000.97347eaf4f000000.b6ba60ed92000000
+    0000000000000018
+VPSLLQ_128(mem)
+  before
+    2972a5de332ebeb3.581b6a859ee86b08.26b0351f1220807c.4802bc950d2a6203
+    8ce48978a7b7864e.bf178538b15039fb.e74bf7423eb04832.c1795d6753d4604e
+    95df4defc37b1a97.c6d8917ed460d500.22489b0dc3b5bfbe.6d4eb1561b1fce95
+    222d6d31a38538b8.caaa8bc3a5a47bc3.b1729e6cbd3ba04d.a7cfb5ce0197e783
+    ca46643aa2c8e8c5
+  after
+    2972a5de332ebeb3.581b6a859ee86b08.26b0351f1220807c.4802bc950d2a6203
+    8ce48978a7b7864e.bf178538b15039fb.e74bf7423eb04832.c1795d6753d4604e
+    95df4defc37b1a97.c6d8917ed460d500.22489b0dc3b5bfbe.6d4eb1561b1fce95
+    0000000000000000.0000000000000000.e97ee847d6090640.2f2bacea7a8c09c0
+    ca46643aa2c8e8c5
+
+VPSLLQ_128(reg)
+  before
+    34ffb909993f0d07.0d9b662862e29add.25d96e73bda666ef.72977b4b494ca90b
+    4048b3a4838891f4.34f5b2c21d9dfd33.34b136fabaf5d331.3f82ae9682f79423
+    496c4b78fc2db138.7106cfeaefc21ce6.537edfc4381afe34.f6feb33985451dc2
+    adb67ef19ebca981.a29c388cf45db521.de8b653dd2a322a5.71d807216d440214
+    8edc243857fffd44
+  after
+    34ffb909993f0d07.0d9b662862e29add.25d96e73bda666ef.72977b4b494ca90b
+    4048b3a4838891f4.34f5b2c21d9dfd33.34b136fabaf5d331.3f82ae9682f79423
+    0000000000000000.0000000000000000.0000000000000000.0000000000000004
+    0000000000000000.0000000000000000.4b136fabaf5d3310.f82ae9682f794230
+    0000000000000004
+VPSLLQ_128(mem)
+  before
+    27d6886c5e82cb7e.c673497c08c0b579.a1826a94497b8211.3126c5d2241b7d30
+    1992aea89fda27f0.f2f0a783d3c610cc.4b83dfee0a2740e1.a899faedcb0e4980
+    41db13d73512cfc3.8b7794749d59f727.7d6c1586526eaabe.9f3100fc6309c242
+    797f31e73d377d26.ef540dba0205a636.110987493d5a7dd4.723ad36987972621
+    7d0070a2d345afca
+  after
+    27d6886c5e82cb7e.c673497c08c0b579.a1826a94497b8211.3126c5d2241b7d30
+    1992aea89fda27f0.f2f0a783d3c610cc.4b83dfee0a2740e1.a899faedcb0e4980
+    41db13d73512cfc3.8b7794749d59f727.7d6c1586526eaabe.9f3100fc6309c242
+    0000000000000000.0000000000000000.0f7fb8289d038400.67ebb72c39260000
+    7d0070a2d345afca
+
+VPSLLQ_128(reg)
+  before
+    1cced212e49d99e9.9e4886c3d254ee43.78d50cc09d5758a4.e426b121e8fa754e
+    aaf2f525552e2229.8d038d571175dd47.83458ff40bda4a1e.d38e10fb6e574e59
+    85b6d547c3818437.207cc28f15a6075d.6def91c1e71ab84f.b80f1ec4ec7fc321
+    08676ee4c924fcbe.347fa258faf428b2.90200f93cda4dee4.707359677d7d91d1
+    d7873cd03e5e7495
+  after
+    1cced212e49d99e9.9e4886c3d254ee43.78d50cc09d5758a4.e426b121e8fa754e
+    aaf2f525552e2229.8d038d571175dd47.83458ff40bda4a1e.d38e10fb6e574e59
+    0000000000000000.0000000000000000.0000000000000000.0000000000000015
+    0000000000000000.0000000000000000.fe817b4943c00000.1f6dcae9cb200000
+    0000000000000015
+VPSLLQ_128(mem)
+  before
+    c91743ea4a2d279a.8f51bd6804a2c66b.a5d7a89cdd6bfc71.492403d75a03f789
+    22efeba3bef6670c.76c0bd400f881de9.4f524f48da153ec7.f4476bf72ac340e9
+    bedbafe6b5c5f017.18ff6ad687603ee6.0eba16490b00abe0.eed54260d871f5b1
+    79a70ba04ca77ee6.d35cc09807b9650b.bedc76898f37ffe7.9119847f0098518d
+    3a612dbe3fc49128
+  after
+    c91743ea4a2d279a.8f51bd6804a2c66b.a5d7a89cdd6bfc71.492403d75a03f789
+    22efeba3bef6670c.76c0bd400f881de9.4f524f48da153ec7.f4476bf72ac340e9
+    bedbafe6b5c5f017.18ff6ad687603ee6.0eba16490b00abe0.eed54260d871f5b1
+    0000000000000000.0000000000000000.153ec70000000000.c340e90000000000
+    3a612dbe3fc49128
+
+VPSRLQ_128(reg)
+  before
+    45f73a8b3082f12e.2f1e7bbb9ea8cca5.0121bbf02b1cce07.3b84ecf680c7f509
+    0e28a651705dad4c.bc0d7b24c7d29781.009b584c9117b484.617ef57bfabb4b71
+    f1406d7b9ae2002e.fc4088c8e4339ba6.2b169217d235542e.0c960c041a1fbb4c
+    4a8b8b774b9b2780.cb831d9111d69440.ddde65bd8c03eab2.1897ad7dfb0001c6
+    614e55d2ba69db0a
+  after
+    45f73a8b3082f12e.2f1e7bbb9ea8cca5.0121bbf02b1cce07.3b84ecf680c7f509
+    0e28a651705dad4c.bc0d7b24c7d29781.009b584c9117b484.617ef57bfabb4b71
+    0000000000000000.0000000000000000.0000000000000000.000000000000000a
+    0000000000000000.0000000000000000.000026d6132445ed.00185fbd5efeaed2
+    000000000000000a
+VPSRLQ_128(mem)
+  before
+    c3887fef72660344.7554fcb01e165eed.05a2b66d69c83d7a.743fcdaa5b0cb1bc
+    1a0fa6c0400435a2.cee9bd93b0dfe121.8669cf4608145380.4a84c74ad9dce6f7
+    41b049323f4e2f4e.b194c98a9c81ebc9.2aa3e40a0bc6927f.bdfb4e09a500c510
+    1636e12f8b50ab74.7aa21c027f88b991.cc1d72a48eebb5a3.27ee5e5359038ab2
+    e5aaf3949171708b
+  after
+    c3887fef72660344.7554fcb01e165eed.05a2b66d69c83d7a.743fcdaa5b0cb1bc
+    1a0fa6c0400435a2.cee9bd93b0dfe121.8669cf4608145380.4a84c74ad9dce6f7
+    41b049323f4e2f4e.b194c98a9c81ebc9.2aa3e40a0bc6927f.bdfb4e09a500c510
+    0000000000000000.0000000000000000.0010cd39e8c1028a.00095098e95b3b9c
+    e5aaf3949171708b
+
+VPSRLQ_128(reg)
+  before
+    547b0a39ead7b444.746feba541176641.855fb267f4808724.4aa4f400ab8e7917
+    cead9dacffc0928b.3625e47e7dae1ce1.2e17882697f6902f.7f02e60a81bb9a08
+    b08baa5b6db8450c.3a2647a85a21887f.d01699aa0575115e.4603c5af297fd4a2
+    56632cb1cf4c0a73.5b3c900ef47d6748.c9a7e15eda8a465c.7d750bd9c2e5e210
+    ff23367565fa817f
+  after
+    547b0a39ead7b444.746feba541176641.855fb267f4808724.4aa4f400ab8e7917
+    cead9dacffc0928b.3625e47e7dae1ce1.2e17882697f6902f.7f02e60a81bb9a08
+    0000000000000000.0000000000000000.0000000000000000.000000000000003f
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    000000000000003f
+VPSRLQ_128(mem)
+  before
+    a7d8c17031c86c1a.1d7f201ac2071d6b.74343c9c68cd7568.74185cb0b1c06ad6
+    536128b43f5d610e.5f2c8001e175baa0.63d9c53ed21d6e0a.2db3060b26a3bb77
+    dd8ae82fadc51a86.79b64ad4c9231cc0.02f9a9e04d7a0d5b.4fc5dcdbd6bf73ec
+    231f7bcc970b54af.c76979ff159c8074.2f5f636ef5ef0f86.389ad98c5ca1cee1
+    427df98a55d40a01
+  after
+    a7d8c17031c86c1a.1d7f201ac2071d6b.74343c9c68cd7568.74185cb0b1c06ad6
+    536128b43f5d610e.5f2c8001e175baa0.63d9c53ed21d6e0a.2db3060b26a3bb77
+    dd8ae82fadc51a86.79b64ad4c9231cc0.02f9a9e04d7a0d5b.4fc5dcdbd6bf73ec
+    0000000000000000.0000000000000000.31ece29f690eb705.16d983059351ddbb
+    427df98a55d40a01
+
+VPSRLQ_128(reg)
+  before
+    cbbc38415ce561f8.ffec5f76183bcab5.a59109ec616c226b.c4d66fd5e78930b8
+    2ea1931e0e5f1074.4fbd0f1b4d613ac3.6f79f7084a203e4f.9f2b4aff3e522b1c
+    c67a058b06ce521f.ed5d08a6518a5e06.816f3dbf6c430fcc.9a2a6fd91759bddf
+    f1918af6e1bf65a5.b699c40440c1f3aa.37bdd97e6262d290.939f5a508da7a22d
+    6456874fbd4a9631
+  after
+    cbbc38415ce561f8.ffec5f76183bcab5.a59109ec616c226b.c4d66fd5e78930b8
+    2ea1931e0e5f1074.4fbd0f1b4d613ac3.6f79f7084a203e4f.9f2b4aff3e522b1c
+    0000000000000000.0000000000000000.0000000000000000.0000000000000031
+    0000000000000000.0000000000000000.00000000000037bc.0000000000004f95
+    0000000000000031
+VPSRLQ_128(mem)
+  before
+    ea1a72c1c24d5418.09331ec93abd83b3.873dc11f3713b4da.edb0c6b0c807c244
+    02b99894b9bd990e.6bacbd72ae54e8f5.3a157ae4518a5ec2.ff9400c03bc11d97
+    86fd73b3bda4213e.7447645cd811d216.aced6b40ab35ad90.c9b4841c56191d33
+    53b3820aea11a7d4.7e520ef3557f7bc3.ba91101d611d5d6d.a75e4d2fb69dffc4
+    f5dc5765f7d8fef7
+  after
+    ea1a72c1c24d5418.09331ec93abd83b3.873dc11f3713b4da.edb0c6b0c807c244
+    02b99894b9bd990e.6bacbd72ae54e8f5.3a157ae4518a5ec2.ff9400c03bc11d97
+    86fd73b3bda4213e.7447645cd811d216.aced6b40ab35ad90.c9b4841c56191d33
+    0000000000000000.0000000000000000.0000000000000074.00000000000001ff
+    f5dc5765f7d8fef7
+
+VROUNDPS_128_0x0(reg)
+  before
+    0f7c9e2ab3565778.45a73e855d0de9fe.e617b7a3c02a20a7.3ecce6698d502988
+    50881eea89a446f2.38a5241132a6a1e5.09e35bd8b59ffc6f.156c680e4ed9ce0b
+    164dd411124d0712.0978b19884e78bb8.4102f7fed1694dc7.1b3b12fabdc50822
+    bc16bb0bedded584.92ee60076fdd65a1.ebc08581b0144d5a.2c066018f91f92fb
+    2499cf541bf329bf
+  after
+    0f7c9e2ab3565778.45a73e855d0de9fe.e617b7a3c02a20a7.3ecce6698d502988
+    50881eea89a446f2.38a5241132a6a1e5.09e35bd8b59ffc6f.156c680e4ed9ce0b
+    164dd411124d0712.0978b19884e78bb8.4102f7fed1694dc7.1b3b12fabdc50822
+    0000000000000000.0000000000000000.0000000080000000.000000004ed9ce0b
+    2499cf541bf329bf
+VROUNDPS_128_0x0(mem)
+  before
+    dfc0da9a414e899d.9e31cf45b3e2eef3.b0d1ad4b1093e9cc.636903ceed2d39d5
+    3946fdd6873a6ebf.17e90c2902e58b0c.3fee144f8215d367.06486c4f243f4ce3
+    0ef9b4f408c69351.85896e257674eb7a.1b1112fee270e19b.2eabbd72f2d6c332
+    3aa37be1e1fbb581.425ef2a4aa1a48ea.200622464caecd97.38dcf0a1f27fda6b
+    8028034ac1c5cd3c
+  after
+    dfc0da9a414e899d.9e31cf45b3e2eef3.b0d1ad4b1093e9cc.636903ceed2d39d5
+    3946fdd6873a6ebf.17e90c2902e58b0c.3fee144f8215d367.06486c4f243f4ce3
+    0ef9b4f408c69351.85896e257674eb7a.1b1112fee270e19b.2eabbd72f2d6c332
+    0000000000000000.0000000000000000.8000000000000000.636903ceed2d39d5
+    8028034ac1c5cd3c
+
+VROUNDPS_128_0x0(reg)
+  before
+    62dbf1d8fa34d751.9911cf872de79078.acb493113b63df08.2a99c012dade5485
+    3a41b7b73a593555.070f2bd40896e065.1dd74ddac4dbec7f.1595684eab093291
+    64a64f531cbf23f5.60690bb28f126072.f3131d6ae10faafb.bcc796e6d83d22e8
+    3c55b7183df3dcdd.80eaeb0fdd69cdcb.88b3fd2d2f8b572a.fdfcc7c68086e1b6
+    b3fe76dabcee2b27
+  after
+    62dbf1d8fa34d751.9911cf872de79078.acb493113b63df08.2a99c012dade5485
+    3a41b7b73a593555.070f2bd40896e065.1dd74ddac4dbec7f.1595684eab093291
+    64a64f531cbf23f5.60690bb28f126072.f3131d6ae10faafb.bcc796e6d83d22e8
+    0000000000000000.0000000000000000.00000000c4dbe000.0000000080000000
+    b3fe76dabcee2b27
+VROUNDPS_128_0x0(mem)
+  before
+    ba9a1f0faa83bc65.1e9bea7238809eb8.436047d60fa7e39d.3a05eb9049d92cb5
+    ee9b3e4f66514f9f.66c4e4cdaaf2a333.84959cf341d65d14.6353e2fdcc87684b
+    2acf50880b62a1ff.701ca1962ed527f9.215665528e04f85c.61eadee154214596
+    4c00cfa4b6c46db2.97ef1e3760b668b7.f56f1edf123d709f.8e16dca97b310043
+    4723d6bfe045d5fd
+  after
+    ba9a1f0faa83bc65.1e9bea7238809eb8.436047d60fa7e39d.3a05eb9049d92cb5
+    ee9b3e4f66514f9f.66c4e4cdaaf2a333.84959cf341d65d14.6353e2fdcc87684b
+    2acf50880b62a1ff.701ca1962ed527f9.215665528e04f85c.61eadee154214596
+    0000000000000000.0000000000000000.4360000000000000.0000000049d92cb8
+    4723d6bfe045d5fd
+
+VROUNDPS_128_0x0(reg)
+  before
+    e95cca911ce80071.2ffc3991828371e3.3989551edd20a019.dbac4386ea8b810c
+    ce0fb38acea7bc4a.ae8d0a3a8baa67bf.b13544b641a00cca.b1d9513331fce6cd
+    53868e158f0d4635.a780bc8bee450c72.5b41e76a27c1e777.52c1c3d3049c5c0f
+    d40e55a0fda7d9de.f4a0cd70c6601b27.92f738a82b0f6ecb.993215507e769efd
+    64f6c398bb966ac4
+  after
+    e95cca911ce80071.2ffc3991828371e3.3989551edd20a019.dbac4386ea8b810c
+    ce0fb38acea7bc4a.ae8d0a3a8baa67bf.b13544b641a00cca.b1d9513331fce6cd
+    53868e158f0d4635.a780bc8bee450c72.5b41e76a27c1e777.52c1c3d3049c5c0f
+    0000000000000000.0000000000000000.8000000041a00000.8000000000000000
+    64f6c398bb966ac4
+VROUNDPS_128_0x0(mem)
+  before
+    8dda4995d9087a8f.adf30696b4ffb3f0.73bbb7d53008520a.b4a435dbea16dd73
+    f2aa2435f1d98b8c.3a819c634fa30e18.ff9cf9a648486b49.1c94d96fff63701a
+    6d32cf63211458e4.d80313746b1f2601.730e0cd0282c220e.251320d00781636e
+    dc3dc60b85c59fc6.e1c76833a3fe3958.acde6d3defc13585.2d6c066b9dfdf118
+    8eed88aa5e6256c7
+  after
+    8dda4995d9087a8f.adf30696b4ffb3f0.73bbb7d53008520a.b4a435dbea16dd73
+    f2aa2435f1d98b8c.3a819c634fa30e18.ff9cf9a648486b49.1c94d96fff63701a
+    6d32cf63211458e4.d80313746b1f2601.730e0cd0282c220e.251320d00781636e
+    0000000000000000.0000000000000000.73bbb7d500000000.80000000ea16dd73
+    8eed88aa5e6256c7
+
+VROUNDPS_128_0x1(reg)
+  before
+    a6e0a0fae53cd024.1999851938f91a5b.b217950d93cc81c9.87d899dab7125edb
+    cf924cc8cf1899de.0110897956bb86d2.a740986fd8153bff.dec80b949c2c5a3c
+    674f887fb781ee9f.716f4d17fc189e55.1c8f6cc30e66a3a7.8f7a3f56ba1ae4d3
+    c8634e8a3a030b14.43824de0451b1f11.6c4d0e77d04af46c.74b9b10c2fe8bacd
+    6a53dea114a29655
+  after
+    a6e0a0fae53cd024.1999851938f91a5b.b217950d93cc81c9.87d899dab7125edb
+    cf924cc8cf1899de.0110897956bb86d2.a740986fd8153bff.dec80b949c2c5a3c
+    674f887fb781ee9f.716f4d17fc189e55.1c8f6cc30e66a3a7.8f7a3f56ba1ae4d3
+    0000000000000000.0000000000000000.bf800000d8153bff.dec80b94bf800000
+    6a53dea114a29655
+VROUNDPS_128_0x1(mem)
+  before
+    4d12410387553598.501a9c57f32b2ce8.541505be4ed0c531.f5c978f6ba4d6bfb
+    fac3561da40c52c2.59bf6c517f848cc8.81f3f19f33434ce2.124ea8ac69fc4400
+    4b3299dc86d4aafe.409fbce4799a685f.a4ea8e6d0e816f4f.1f27990578e2ba26
+    1d2b872a49b8f979.6207887c7dfafb5a.9ac45716fe95eba5.78a1476d848c0b1a
+    7908ae5028857187
+  after
+    4d12410387553598.501a9c57f32b2ce8.541505be4ed0c531.f5c978f6ba4d6bfb
+    fac3561da40c52c2.59bf6c517f848cc8.81f3f19f33434ce2.124ea8ac69fc4400
+    4b3299dc86d4aafe.409fbce4799a685f.a4ea8e6d0e816f4f.1f27990578e2ba26
+    0000000000000000.0000000000000000.541505be4ed0c531.f5c978f6bf800000
+    7908ae5028857187
+
+VROUNDPS_128_0x1(reg)
+  before
+    7da8cb1a0159281a.4c799af40ac4fb5e.1941ca85282f8365.3f4ec8851c8c7c10
+    e2cd9937aa946e7e.b4ea5027e5046bda.c299806c16c53a2b.6f545da68771ddbb
+    03c31414c0c37d61.314824adf5850619.b95da59be2495c59.06a293655850cbd3
+    3bd5381bde71926c.9f60937456538846.5ad8357f2846279a.e004e4aeae360283
+    d946ce6da22e3ef8
+  after
+    7da8cb1a0159281a.4c799af40ac4fb5e.1941ca85282f8365.3f4ec8851c8c7c10
+    e2cd9937aa946e7e.b4ea5027e5046bda.c299806c16c53a2b.6f545da68771ddbb
+    03c31414c0c37d61.314824adf5850619.b95da59be2495c59.06a293655850cbd3
+    0000000000000000.0000000000000000.c29a000000000000.6f545da6bf800000
+    d946ce6da22e3ef8
+VROUNDPS_128_0x1(mem)
+  before
+    cd33cd8e52443a5e.e85102baa02be84e.dafe17662578ac8e.02552c858548d59b
+    98985bfdda84b3e0.65816c5ca37cbcb0.beee2e717d02301c.0b21871894dca308
+    1641f6a755fb65ab.0db2746c83f04a41.27fc53807bfcce1d.d28841a3f28dcd8c
+    23fa1876dfb50cea.3e301558db14ceab.f1f3027f3a7342bd.b3d656943ae78ed4
+    0a57c2560977238b
+  after
+    cd33cd8e52443a5e.e85102baa02be84e.dafe17662578ac8e.02552c858548d59b
+    98985bfdda84b3e0.65816c5ca37cbcb0.beee2e717d02301c.0b21871894dca308
+    1641f6a755fb65ab.0db2746c83f04a41.27fc53807bfcce1d.d28841a3f28dcd8c
+    0000000000000000.0000000000000000.dafe176600000000.00000000bf800000
+    0a57c2560977238b
+
+VROUNDPS_128_0x1(reg)
+  before
+    33578255fac8c85e.9b8f3f5895bc63ca.52464c8b4773849b.f8a0b85ad7724a27
+    8a2190fdaa67b8f9.5acce738931e2777.a74213716499a7bc.18d0effd6d05a088
+    6b03eabab4de3007.3c7c8a01f4e7141c.976e6876ce1374bb.2d4d25551939000b
+    31478bf9b4bc6c35.1c6da6a1d421e5e5.80184607206c2643.12e4d54cf61928dd
+    a5607ccf21b1d22a
+  after
+    33578255fac8c85e.9b8f3f5895bc63ca.52464c8b4773849b.f8a0b85ad7724a27
+    8a2190fdaa67b8f9.5acce738931e2777.a74213716499a7bc.18d0effd6d05a088
+    6b03eabab4de3007.3c7c8a01f4e7141c.976e6876ce1374bb.2d4d25551939000b
+    0000000000000000.0000000000000000.bf8000006499a7bc.000000006d05a088
+    a5607ccf21b1d22a
+VROUNDPS_128_0x1(mem)
+  before
+    c18f94cbb50ebb1d.3a3a7024488aa82e.d869b60350da5700.bc8aa98ef630fb01
+    423b9b2bce3b9fe3.e12893a909d61f9f.4b3d3613831e2697.a8118e78edec2da1
+    03320cda894439a7.825cf2f2952b0f34.51b5a2be8af70ed6.a1f8f032a02bf8ce
+    e23e63c602364696.7924886d8816b198.c59c77ee8074caea.018dca27ac799a35
+    251a1bc2ac634d82
+  after
+    c18f94cbb50ebb1d.3a3a7024488aa82e.d869b60350da5700.bc8aa98ef630fb01
+    423b9b2bce3b9fe3.e12893a909d61f9f.4b3d3613831e2697.a8118e78edec2da1
+    03320cda894439a7.825cf2f2952b0f34.51b5a2be8af70ed6.a1f8f032a02bf8ce
+    0000000000000000.0000000000000000.d869b60350da5700.bf800000f630fb01
+    251a1bc2ac634d82
+
+VROUNDPS_128_0x2(reg)
+  before
+    69eddc713d744e60.b92c1cda541c82db.21ca51857d214478.85c03090829e17ff
+    29500a9ffa38d87b.66c7b4029b03a9a3.d89b4aa610db027f.6beb4991ab83b040
+    c290a2b87f3c2980.c4dda62af4f5761a.f9e36d3cdecd285a.55ea3edb182e53da
+    8ef99f286a0b7b1b.ae396e3e7a01a66b.dfeeb8b38285f2b4.1d898b5ce4abbaf9
+    a194adff2b07a2c8
+  after
+    69eddc713d744e60.b92c1cda541c82db.21ca51857d214478.85c03090829e17ff
+    29500a9ffa38d87b.66c7b4029b03a9a3.d89b4aa610db027f.6beb4991ab83b040
+    c290a2b87f3c2980.c4dda62af4f5761a.f9e36d3cdecd285a.55ea3edb182e53da
+    0000000000000000.0000000000000000.d89b4aa63f800000.6beb499180000000
+    a194adff2b07a2c8
+VROUNDPS_128_0x2(mem)
+  before
+    bbd71fb00a4dc673.ead6fd5b54310bf8.02a6882b4a30f5c3.e8082677998e9b3b
+    491e5d5b9d8ae428.3275b9bedb3b14c2.9af171db7f901e4e.6f7db4f4be756098
+    2534e3ecffc8b611.c220cdbb9bb4d325.53e6a33c362cde37.cf985c968ec57d7a
+    2de62e4f4c15f95a.f62437c02f2884ce.0a519c388a10f1ab.66a61ccaa40a2e8a
+    8ef3effa9dd1ae77
+  after
+    bbd71fb00a4dc673.ead6fd5b54310bf8.02a6882b4a30f5c3.e8082677998e9b3b
+    491e5d5b9d8ae428.3275b9bedb3b14c2.9af171db7f901e4e.6f7db4f4be756098
+    2534e3ecffc8b611.c220cdbb9bb4d325.53e6a33c362cde37.cf985c968ec57d7a
+    0000000000000000.0000000000000000.3f8000004a30f5c4.e808267780000000
+    8ef3effa9dd1ae77
+
+VROUNDPS_128_0x2(reg)
+  before
+    a5cbd19414a53aeb.3b00b970a17d6830.2acdf23733246369.99fed7bd984913d5
+    057abf03a6120e93.2c4e003b1a0bc0bf.ba67fb8e4433aba2.ddb8d1b67be2ffe2
+    0b4cb3b2eea5651a.dc9c7f9dd2cbbd32.023e4c30fde29924.b34d040e50e872fd
+    148cab0f89e97c2d.28b6b280e5c91bb6.5e9de388fbbc699b.f587eeb332662853
+    80330a903e68dc10
+  after
+    a5cbd19414a53aeb.3b00b970a17d6830.2acdf23733246369.99fed7bd984913d5
+    057abf03a6120e93.2c4e003b1a0bc0bf.ba67fb8e4433aba2.ddb8d1b67be2ffe2
+    0b4cb3b2eea5651a.dc9c7f9dd2cbbd32.023e4c30fde29924.b34d040e50e872fd
+    0000000000000000.0000000000000000.800000004433c000.ddb8d1b67be2ffe2
+    80330a903e68dc10
+VROUNDPS_128_0x2(mem)
+  before
+    301dd4928ffa4c5f.7a88a285126a8f77.ea6716d270129576.29d2bb04d94d57b4
+    e211c9a34129326d.9a8a948025b5daa5.ff7d267d8eb2e89f.c127d00f34219e1b
+    70da64b071014a65.d1df7e6d5f559863.43c25e6f5cb3d05d.81e91e16a8c57b7b
+    b74621a63b8c5274.79d35bb65cd6065c.92033a93f52308db.c564a283cfc42a81
+    e8e457c347abe6d9
+  after
+    301dd4928ffa4c5f.7a88a285126a8f77.ea6716d270129576.29d2bb04d94d57b4
+    e211c9a34129326d.9a8a948025b5daa5.ff7d267d8eb2e89f.c127d00f34219e1b
+    70da64b071014a65.d1df7e6d5f559863.43c25e6f5cb3d05d.81e91e16a8c57b7b
+    0000000000000000.0000000000000000.ea6716d270129576.3f800000d94d57b4
+    e8e457c347abe6d9
+
+VROUNDPS_128_0x2(reg)
+  before
+    48b53943ac05ec2e.931f7c6fb9d804c6.efb127c8b6c5603d.c80c37d5760d4d46
+    4022446d995e782d.e032f1f90af01c86.8fc7de100cade2b1.c1a9cf21fa7e5bc9
+    2b7875afab42c581.7a4bfd2e48e158e1.b55f7cf8f81ac765.59a580639d81ee91
+    6704c6737d3e11d7.3d361afc8fb67202.bdc7feee16994c05.6ccec5887c22c1ca
+    d6ee1b7ab36e919f
+  after
+    48b53943ac05ec2e.931f7c6fb9d804c6.efb127c8b6c5603d.c80c37d5760d4d46
+    4022446d995e782d.e032f1f90af01c86.8fc7de100cade2b1.c1a9cf21fa7e5bc9
+    2b7875afab42c581.7a4bfd2e48e158e1.b55f7cf8f81ac765.59a580639d81ee91
+    0000000000000000.0000000000000000.800000003f800000.c1a80000fa7e5bc9
+    d6ee1b7ab36e919f
+VROUNDPS_128_0x2(mem)
+  before
+    73d2fc265d701a3d.4f103527abde96da.05bfc64efc7b2716.04495e5d03b5ac3c
+    1f46e679963418cf.3ee8bd36d2ac9038.aeb17d10aa3d3349.e4329bb05afa25b7
+    b616545e7bc74682.92da5b0c8e363d9a.14d9b92eb60751c6.bacdae55b8f5f121
+    140dc3c028346182.a53109157a07d7ae.1204f8943be53eba.e26894b7b8314c27
+    b74e4a43f73b7475
+  after
+    73d2fc265d701a3d.4f103527abde96da.05bfc64efc7b2716.04495e5d03b5ac3c
+    1f46e679963418cf.3ee8bd36d2ac9038.aeb17d10aa3d3349.e4329bb05afa25b7
+    b616545e7bc74682.92da5b0c8e363d9a.14d9b92eb60751c6.bacdae55b8f5f121
+    0000000000000000.0000000000000000.3f800000fc7b2716.3f8000003f800000
+    b74e4a43f73b7475
+
+VROUNDPS_128_0x3(reg)
+  before
+    97cacb63109da3b6.15f9ad8db88725fa.d438c5bd32ac9b20.86fcb52f56e4b650
+    dd2913849fe51697.94a490b047cd4d17.7c3c8a7153b0c49c.4b8e6ce9220f74b5
+    e5b71e12419f09c3.6fdbe715f2119604.f789549b789f90cd.3d8599afbb723614
+    0bc0e97a9256b7e7.816a2ea8d45fbcee.a36b20a83e063960.37afb86e3e1ab69b
+    17d64611c712b073
+  after
+    97cacb63109da3b6.15f9ad8db88725fa.d438c5bd32ac9b20.86fcb52f56e4b650
+    dd2913849fe51697.94a490b047cd4d17.7c3c8a7153b0c49c.4b8e6ce9220f74b5
+    e5b71e12419f09c3.6fdbe715f2119604.f789549b789f90cd.3d8599afbb723614
+    0000000000000000.0000000000000000.7c3c8a7153b0c49c.4b8e6ce900000000
+    17d64611c712b073
+VROUNDPS_128_0x3(mem)
+  before
+    b8c8be837166e2cb.ab8f6f272d965daf.a61de1550ac47b00.da2ee9054070fc00
+    f54f9cb2582306cd.2172ac84afeb37c6.b9c07d09af4b8e68.f91eab1d1b69145a
+    ac385d899954d9a5.c8b39cffb2e281d9.981e7daee000b24f.5c86625b6a7ebe19
+    b84f7bf450051680.fea03b03d5077693.1d055d31b8f0a2e4.60b30a2dca3a36ea
+    5ff2a0fed629b879
+  after
+    b8c8be837166e2cb.ab8f6f272d965daf.a61de1550ac47b00.da2ee9054070fc00
+    f54f9cb2582306cd.2172ac84afeb37c6.b9c07d09af4b8e68.f91eab1d1b69145a
+    ac385d899954d9a5.c8b39cffb2e281d9.981e7daee000b24f.5c86625b6a7ebe19
+    0000000000000000.0000000000000000.8000000000000000.da2ee90540400000
+    5ff2a0fed629b879
+
+VROUNDPS_128_0x3(reg)
+  before
+    b68c1e3a2bd87f71.f45f74df98437b8a.1e8386fcb2e453a1.263f997f54261c50
+    c1d0824d64d2c87f.3e36c3368d19c2ee.83a97856e50754ae.8d99ad83cfaedac2
+    dc09c7a31ea4cf4e.709ee5e64c94a7d9.8b5d0d7d0bfbb468.30df162845959964
+    6382eaa9f4d8cf8b.686454d9f0bee876.90ed41ddbf4db078.e9dd4f5cd4e61463
+    965ed40a95ae09ea
+  after
+    b68c1e3a2bd87f71.f45f74df98437b8a.1e8386fcb2e453a1.263f997f54261c50
+    c1d0824d64d2c87f.3e36c3368d19c2ee.83a97856e50754ae.8d99ad83cfaedac2
+    dc09c7a31ea4cf4e.709ee5e64c94a7d9.8b5d0d7d0bfbb468.30df162845959964
+    0000000000000000.0000000000000000.80000000e50754ae.80000000cfaedac2
+    965ed40a95ae09ea
+VROUNDPS_128_0x3(mem)
+  before
+    1130211ea6f73226.b289e6c982fc06e2.00548efd96a63ff3.f0a311e39e88848d
+    381db38423d04c42.2568b670659cadfe.153a0e3c59556979.05cd78f943386c50
+    e5f204292642126b.186c580b3843038c.84e2508456d92136.2db5728d4beaa370
+    f57b92f7ce5b41cd.e7e1c805987d4237.2717d0c0a83d2556.c2a8fb0951286697
+    22f10fdbf281f172
+  after
+    1130211ea6f73226.b289e6c982fc06e2.00548efd96a63ff3.f0a311e39e88848d
+    381db38423d04c42.2568b670659cadfe.153a0e3c59556979.05cd78f943386c50
+    e5f204292642126b.186c580b3843038c.84e2508456d92136.2db5728d4beaa370
+    0000000000000000.0000000000000000.0000000080000000.f0a311e380000000
+    22f10fdbf281f172
+
+VROUNDPS_128_0x3(reg)
+  before
+    a7deab6ec97e7fac.4584d9db35269593.ee1300c921d6a8ac.dba70bdc6c8d2f05
+    afbaca2e72ad4df2.afd853c277b0caea.894dfec56edb6e97.7c5c7cc4bdd6fb6e
+    94d068878a9a97ef.10457e96b1039bfd.14ddbd641b17d3a3.e7039f64b72447bd
+    b36d81e5adcf9950.4495d545fe2ec5f9.eb0d3912c517117d.f668f0a87781cd20
+    8657eb7c19fb4ac0
+  after
+    a7deab6ec97e7fac.4584d9db35269593.ee1300c921d6a8ac.dba70bdc6c8d2f05
+    afbaca2e72ad4df2.afd853c277b0caea.894dfec56edb6e97.7c5c7cc4bdd6fb6e
+    94d068878a9a97ef.10457e96b1039bfd.14ddbd641b17d3a3.e7039f64b72447bd
+    0000000000000000.0000000000000000.800000006edb6e97.7c5c7cc480000000
+    8657eb7c19fb4ac0
+VROUNDPS_128_0x3(mem)
+  before
+    739b0dccb89d7acc.68dd11b476da8ec1.2795d4ba7b3a040a.692a6f3b076565d0
+    9902d1857074186e.106c15608147b3ed.9512f7e14335135b.ec80594c7e900b49
+    d456b3915e8be1d3.056688566ba04481.6ad5baa6732aaf19.cf5bf5afc5213e93
+    00642fde9eee9126.a4166600d0747c28.82ad9af526269470.6d063ed178a63b5b
+    24cf301f35aa3e4d
+  after
+    739b0dccb89d7acc.68dd11b476da8ec1.2795d4ba7b3a040a.692a6f3b076565d0
+    9902d1857074186e.106c15608147b3ed.9512f7e14335135b.ec80594c7e900b49
+    d456b3915e8be1d3.056688566ba04481.6ad5baa6732aaf19.cf5bf5afc5213e93
+    0000000000000000.0000000000000000.000000007b3a040a.692a6f3b00000000
+    24cf301f35aa3e4d
+
+VROUNDPS_128_0x4(reg)
+  before
+    4f00c80495ba8314.f9f8c2574aa9e393.49caaccc4b4c988f.ba6512ba79347e8b
+    49e601eb3661455d.9bdee7e781c99548.50cc542478b6d462.ecc89ee187602896
+    70cdd642b42bc1d4.c2e21a7c5c5a616f.15695c76f43d6c4c.f4a3bb576cb74fbe
+    1e014674aaa53324.4acfd701fa660334.f4edbf2d5a6d9bfa.b0c2e3064544af2f
+    fbf194db2e130414
+  after
+    4f00c80495ba8314.f9f8c2574aa9e393.49caaccc4b4c988f.ba6512ba79347e8b
+    49e601eb3661455d.9bdee7e781c99548.50cc542478b6d462.ecc89ee187602896
+    70cdd642b42bc1d4.c2e21a7c5c5a616f.15695c76f43d6c4c.f4a3bb576cb74fbe
+    0000000000000000.0000000000000000.50cc542478b6d462.ecc89ee180000000
+    fbf194db2e130414
+VROUNDPS_128_0x4(mem)
+  before
+    b1fc49c34231099a.b1ce4aedb45ad6fa.0f739a6274fb39c5.49a479b547d39e17
+    aeaf7ea99da97bed.837fe0196fd6e701.ed98e08be925bd4b.70d9877a56fab150
+    ced5b0795c871638.f262026477a5a2e6.c00b246972ee4bf5.c5dae4e8246e1051
+    ed3c5a1f9ad895a8.58c1ae3a66544354.6498e2e62d64a1ed.a4f18b6b4cbcf6c5
+    696b7b6f6a6fa059
+  after
+    b1fc49c34231099a.b1ce4aedb45ad6fa.0f739a6274fb39c5.49a479b547d39e17
+    aeaf7ea99da97bed.837fe0196fd6e701.ed98e08be925bd4b.70d9877a56fab150
+    ced5b0795c871638.f262026477a5a2e6.c00b246972ee4bf5.c5dae4e8246e1051
+    0000000000000000.0000000000000000.0000000074fb39c5.49a479b847d39e00
+    696b7b6f6a6fa059
+
+VROUNDPS_128_0x4(reg)
+  before
+    7094ad611b144ab8.e6aef88774a7b568.13e9e008db6f05f8.b40a96f03693795f
+    15b81eabfb362f8f.97f8069d050032a5.7d2692387080257e.8e2fbd71a8859078
+    b423cbbba5618c8a.dbe6004d6af0c88b.f3c4c238c115df91.cdd1d257a048a264
+    a820affcb5219d54.8d436383be823245.d10e6b726bba6ede.4cbe518c39e86a4e
+    e9c0b6fe8f6fa563
+  after
+    7094ad611b144ab8.e6aef88774a7b568.13e9e008db6f05f8.b40a96f03693795f
+    15b81eabfb362f8f.97f8069d050032a5.7d2692387080257e.8e2fbd71a8859078
+    b423cbbba5618c8a.dbe6004d6af0c88b.f3c4c238c115df91.cdd1d257a048a264
+    0000000000000000.0000000000000000.7d2692387080257e.8000000080000000
+    e9c0b6fe8f6fa563
+VROUNDPS_128_0x4(mem)
+  before
+    7fa47d98bfec0fcf.4ffdc7d9c8039d9a.8bdda92c1ec22dff.7452895409f90f11
+    e9362346e46864bd.04040dc07a92ca07.af7e5032a5bd74e7.36da18493860fed5
+    054123f41bf15f5a.22827f1c665b5e48.d7f3d483707ec527.74f315bd937b77d6
+    ad93f98f8092bdd1.07c3175928e99508.de08af099a11daeb.8ae97a1cb6d4b5c1
+    d40845d23efaf542
+  after
+    7fa47d98bfec0fcf.4ffdc7d9c8039d9a.8bdda92c1ec22dff.7452895409f90f11
+    e9362346e46864bd.04040dc07a92ca07.af7e5032a5bd74e7.36da18493860fed5
+    054123f41bf15f5a.22827f1c665b5e48.d7f3d483707ec527.74f315bd937b77d6
+    0000000000000000.0000000000000000.8000000000000000.7452895400000000
+    d40845d23efaf542
+
+VROUNDPS_128_0x4(reg)
+  before
+    ae9c724bc7767305.bff621012e573a4f.0e13d4e35dc8adf4.9f895fb240837060
+    74f0fbf3ecd66bb5.15371737414d91ff.92bdaf27a085e0b8.f7425f697ddf42b2
+    8352de374aa518fe.8c22581ed67f7f0e.f10fa58f8eab6bff.c3ff2b1a6d320e0c
+    350c16817b6fb78d.01835fa008fac0a8.8553b388c2c68976.dd8b3fb12d878e9b
+    23b3181ad9ea7f8a
+  after
+    ae9c724bc7767305.bff621012e573a4f.0e13d4e35dc8adf4.9f895fb240837060
+    74f0fbf3ecd66bb5.15371737414d91ff.92bdaf27a085e0b8.f7425f697ddf42b2
+    8352de374aa518fe.8c22581ed67f7f0e.f10fa58f8eab6bff.c3ff2b1a6d320e0c
+    0000000000000000.0000000000000000.8000000080000000.f7425f697ddf42b2
+    23b3181ad9ea7f8a
+VROUNDPS_128_0x4(mem)
+  before
+    6f4430418c679c07.e66b9f3f1ec1830e.4e26a8abf3c810f8.acd6d47fd96278c9
+    9e070512620ba23b.f4bb75dccd26ba2d.51d6b02ab5f82a2b.c0e404df6e0c72a3
+    8dcb137a78e14d54.ba4794c3242b9695.e461f1096793cb6c.1fc940131e50b3b1
+    165bd463e9f6597e.945df962c05a54f2.e491e93427a7afe9.23d0828984b8799e
+    2947c8ac3cd2fe17
+  after
+    6f4430418c679c07.e66b9f3f1ec1830e.4e26a8abf3c810f8.acd6d47fd96278c9
+    9e070512620ba23b.f4bb75dccd26ba2d.51d6b02ab5f82a2b.c0e404df6e0c72a3
+    8dcb137a78e14d54.ba4794c3242b9695.e461f1096793cb6c.1fc940131e50b3b1
+    0000000000000000.0000000000000000.4e26a8abf3c810f8.80000000d96278c9
+    2947c8ac3cd2fe17
+
+VROUNDPS_256_0x0(reg)
+  before
+    8e780de8e32a7fc7.1682c6bbd25581e5.de479f243c422ff1.2d331397113f91cb
+    acb04ea9154a375b.690e636d4e0a82b4.f4538275356c643e.9b13eb1e40682f40
+    e03b855b6dc0647f.ebc92a647a211817.32cb9fc146662f84.0bfdeeb5d02d4374
+    8665b06b871840de.7880948e71a7fe3c.f3fcf0740cbbcc70.57bc9648de9a8993
+    5c1e61c486bbbfc8
+  after
+    8e780de8e32a7fc7.1682c6bbd25581e5.de479f243c422ff1.2d331397113f91cb
+    acb04ea9154a375b.690e636d4e0a82b4.f4538275356c643e.9b13eb1e40682f40
+    e03b855b6dc0647f.ebc92a647a211817.32cb9fc146662f84.0bfdeeb5d02d4374
+    8000000000000000.690e636d4e0a82b4.f453827500000000.8000000040800000
+    5c1e61c486bbbfc8
+VROUNDPS_256_0x0(mem)
+  before
+    f6edca13e39d9f3f.fb7aca4300dc0825.edff1ed650a8f14c.953273fb22f876ae
+    01f64e23114ce525.99c6cf50749af7ff.24124528322ead76.73b823c025a76be9
+    590567df2dd24fa6.bd94bbff7ede4a19.fa8484713447eee4.e8dcfc31b057e4ce
+    dae69332523d97ee.c3318bbbba333d1f.4b23579b71fe6fc2.52e8fbb860912008
+    0c291bc3d0e35944
+  after
+    f6edca13e39d9f3f.fb7aca4300dc0825.edff1ed650a8f14c.953273fb22f876ae
+    01f64e23114ce525.99c6cf50749af7ff.24124528322ead76.73b823c025a76be9
+    590567df2dd24fa6.bd94bbff7ede4a19.fa8484713447eee4.e8dcfc31b057e4ce
+    f6edca13e39d9f3f.fb7aca4300000000.edff1ed650a8f14c.8000000000000000
+    0c291bc3d0e35944
+
+VROUNDPS_256_0x0(reg)
+  before
+    71eb58bd9cd8cc2d.60654d0a9d987a28.07e93aefc5250cbc.f3b93b930560ed3d
+    df7aae1261fdb570.c74d115229f0b480.e508c4093a40f29d.cd13aa460d782481
+    b022192ebbdd4fb9.eb6c5cf613500023.b9da2574b6112c6d.b7fd229ea552d0ba
+    422e967d4504d7b3.a78ca8e376c41b3d.dfab599cd423f6d9.8c431e89e8fbac13
+    28b01af1f27e75b8
+  after
+    71eb58bd9cd8cc2d.60654d0a9d987a28.07e93aefc5250cbc.f3b93b930560ed3d
+    df7aae1261fdb570.c74d115229f0b480.e508c4093a40f29d.cd13aa460d782481
+    b022192ebbdd4fb9.eb6c5cf613500023.b9da2574b6112c6d.b7fd229ea552d0ba
+    df7aae1261fdb570.c74d110000000000.e508c40900000000.cd13aa4600000000
+    28b01af1f27e75b8
+VROUNDPS_256_0x0(mem)
+  before
+    671293c4e0e7e7d6.efec1f6b9bff890b.d97a73036f59c1f9.b3c65ded31028b8d
+    253303edcd43bd99.14a6b2645a59a16d.5c023843191aad84.91782cd3683b2934
+    3de0e858d69db42c.0ea94bd51d9e5a84.0cef749091139d0a.d50ec2bb15590a7b
+    8de5bef1170188bc.3741e428815bf1fc.c50fa1d4f2514bb6.dbd21c0fd5e96a0d
+    ff10343d44768797
+  after
+    671293c4e0e7e7d6.efec1f6b9bff890b.d97a73036f59c1f9.b3c65ded31028b8d
+    253303edcd43bd99.14a6b2645a59a16d.5c023843191aad84.91782cd3683b2934
+    3de0e858d69db42c.0ea94bd51d9e5a84.0cef749091139d0a.d50ec2bb15590a7b
+    671293c4e0e7e7d6.efec1f6b80000000.d97a73036f59c1f9.8000000000000000
+    ff10343d44768797
+
+VROUNDPS_256_0x0(reg)
+  before
+    9c1608affd8c9bc5.f00effa4aa7cf475.ecba7bcb211ba283.622c3dfd58df73b5
+    102f93d39cb7e342.4127285eae19b682.8a5f0b289a6aa8c3.c114c3f6e0c9d332
+    b6a6d114be849abb.5efbb6093ce48810.6b7e90ad87d54168.bd91afaaa61c255a
+    eac8bfdeff7efddb.2258249373ea264a.ec6106c585e7a71f.31707d07c5e32658
+    fb7daaf8592b915a
+  after
+    9c1608affd8c9bc5.f00effa4aa7cf475.ecba7bcb211ba283.622c3dfd58df73b5
+    102f93d39cb7e342.4127285eae19b682.8a5f0b289a6aa8c3.c114c3f6e0c9d332
+    b6a6d114be849abb.5efbb6093ce48810.6b7e90ad87d54168.bd91afaaa61c255a
+    0000000080000000.4120000080000000.8000000080000000.c1100000e0c9d332
+    fb7daaf8592b915a
+VROUNDPS_256_0x0(mem)
+  before
+    f583b1697ffe2489.07e1579dfa32484f.6808eee66c364e5d.69556adc2f2c1694
+    fd500e47526a9914.6b3d97bd4b2bb7c2.0ed891f045d5ba74.3fa6b75e2231cc72
+    edae3d7cef7bac24.70287aaa8ff585e1.ee94889c1ad127bc.c8a0e9b7f9810366
+    a36abbf5713c1be8.74edfdd0611df058.e6084ed506395061.618ffc5350a8f71b
+    66beec9ec433e63e
+  after
+    f583b1697ffe2489.07e1579dfa32484f.6808eee66c364e5d.69556adc2f2c1694
+    fd500e47526a9914.6b3d97bd4b2bb7c2.0ed891f045d5ba74.3fa6b75e2231cc72
+    edae3d7cef7bac24.70287aaa8ff585e1.ee94889c1ad127bc.c8a0e9b7f9810366
+    f583b1697ffe2489.00000000fa32484f.6808eee66c364e5d.69556adc00000000
+    66beec9ec433e63e
+
+VROUNDPS_256_0x1(reg)
+  before
+    337ab605f1ad0a7b.f950029ff5b9a08a.d2da1a9b5e2d31d2.d0ff62892516f38e
+    241055f272a3a07d.cc2c906496fef837.e539cf7821b487fc.89473da39476ca70
+    95cac5d3e39fe4f1.f9cae1327118de1a.0b5717d1473b2c82.eeaa5c0f6f649133
+    e2f50212e1301182.5af56ff4a1121060.9e80ee146b505d0f.d9f53cbad1ec0602
+    27f4588ed61be309
+  after
+    337ab605f1ad0a7b.f950029ff5b9a08a.d2da1a9b5e2d31d2.d0ff62892516f38e
+    241055f272a3a07d.cc2c906496fef837.e539cf7821b487fc.89473da39476ca70
+    95cac5d3e39fe4f1.f9cae1327118de1a.0b5717d1473b2c82.eeaa5c0f6f649133
+    0000000072a3a07d.cc2c9064bf800000.e539cf7800000000.bf800000bf800000
+    27f4588ed61be309
+VROUNDPS_256_0x1(mem)
+  before
+    b5732c789bfce576.67dc091d08df64dd.cc7bb89643f94834.fb0050ac2a7f5650
+    5d3d35653b9cc872.7fcdd45ff23a19ae.2c26360472d842c3.7f233a041f5253f0
+    fc20ed40d306472c.881261443ecc6ba0.54c3672a4bbbbc39.8434a78ae6578f9c
+    6ee6d2f47e461fce.ddf8ab388621985f.211ec7f4e9ae70c1.678093a91c1a47ff
+    8554facd5d25b6c6
+  after
+    b5732c789bfce576.67dc091d08df64dd.cc7bb89643f94834.fb0050ac2a7f5650
+    5d3d35653b9cc872.7fcdd45ff23a19ae.2c26360472d842c3.7f233a041f5253f0
+    fc20ed40d306472c.881261443ecc6ba0.54c3672a4bbbbc39.8434a78ae6578f9c
+    bf800000bf800000.67dc091d00000000.cc7bb89643f90000.fb0050ac00000000
+    8554facd5d25b6c6
+
+VROUNDPS_256_0x1(reg)
+  before
+    38fad9634406199d.8f5d5f6f59690c85.daccafa766c6da99.6f03d04e68be1b88
+    ddbf2ad56d49ad2f.3b4f119c7f79c97c.dbd867fd7b466df8.1a3d0024e5f679b9
+    d0eeeb907578ab29.4f8862670d8513e0.3b68d1a7602e8f28.fe9ad2637c634581
+    6ed51801f8215236.a5d6d0bc1e96a6dc.58cae80fb1097ad6.f7e4c2f547103c0c
+    e1e84cc865091a85
+  after
+    38fad9634406199d.8f5d5f6f59690c85.daccafa766c6da99.6f03d04e68be1b88
+    ddbf2ad56d49ad2f.3b4f119c7f79c97c.dbd867fd7b466df8.1a3d0024e5f679b9
+    d0eeeb907578ab29.4f8862670d8513e0.3b68d1a7602e8f28.fe9ad2637c634581
+    ddbf2ad56d49ad2f.000000007f79c97c.dbd867fd7b466df8.00000000e5f679b9
+    e1e84cc865091a85
+VROUNDPS_256_0x1(mem)
+  before
+    9872edc7f05b9a19.11beab9290d0dc03.1a04d687cfba3e9d.8d48a9a30b636bae
+    f84e1fde04117af3.16f6a2b1dc0f863c.8addf0b43bfc964f.35300ecd0ac99d5b
+    dd4860f8be377440.d9caf7c9766d8b8c.d12e9a307e696b1d.aecc15fb49c64d8a
+    232b2c0339da442c.b683a845fa7329a0.cac351e5b60c7933.5269b99865e6b7e7
+    7f53f610f9b5171d
+  after
+    9872edc7f05b9a19.11beab9290d0dc03.1a04d687cfba3e9d.8d48a9a30b636bae
+    f84e1fde04117af3.16f6a2b1dc0f863c.8addf0b43bfc964f.35300ecd0ac99d5b
+    dd4860f8be377440.d9caf7c9766d8b8c.d12e9a307e696b1d.aecc15fb49c64d8a
+    bf800000f05b9a19.00000000bf800000.00000000cfba3e9d.bf80000000000000
+    7f53f610f9b5171d
+
+VROUNDPS_256_0x1(reg)
+  before
+    8fd5c8cfa1c0a9d9.a6c5fdea9205a8e2.0970b19305af9a23.536890c1fcf17cbf
+    e03d2c41fa93a8c6.42e0519ae4c45a8f.2edc0c1e32ac1bc2.47e9d3ae6e252feb
+    ccd51dd29fb85191.d349a3fd4c24165e.8112b7531df6e729.8212969a27b34fe3
+    b1eb97ee2dbddfe5.35cc6f00e5309a7c.5e60ad9c641a3b03.e0ae567044a798d4
+    3d8b8d1ce10ec5ea
+  after
+    8fd5c8cfa1c0a9d9.a6c5fdea9205a8e2.0970b19305af9a23.536890c1fcf17cbf
+    e03d2c41fa93a8c6.42e0519ae4c45a8f.2edc0c1e32ac1bc2.47e9d3ae6e252feb
+    ccd51dd29fb85191.d349a3fd4c24165e.8112b7531df6e729.8212969a27b34fe3
+    e03d2c41fa93a8c6.42e00000e4c45a8f.0000000000000000.47e9d3806e252feb
+    3d8b8d1ce10ec5ea
+VROUNDPS_256_0x1(mem)
+  before
+    7473b98a18f39351.e9c99601402d8f6f.43343190cbf4a015.2110ea66a0a353fd
+    633355a60862be34.d1bc167872959edb.db4f66971b7de554.266f6a1d6f1e6bc2
+    e597de5ccb6801bf.c60f14bd628045d4.d8e78803f1d62565.c8c92a2e6d15beff
+    d56ace987d101a1f.22108b3eaa7ac307.15ca15bf680b1b76.6569250435178a60
+    589d570a63ad0890
+  after
+    7473b98a18f39351.e9c99601402d8f6f.43343190cbf4a015.2110ea66a0a353fd
+    633355a60862be34.d1bc167872959edb.db4f66971b7de554.266f6a1d6f1e6bc2
+    e597de5ccb6801bf.c60f14bd628045d4.d8e78803f1d62565.c8c92a2e6d15beff
+    7473b98a00000000.e9c9960140000000.43340000cbf4a015.00000000bf800000
+    589d570a63ad0890
+
+VROUNDPS_256_0x2(reg)
+  before
+    fdafbcae9465773c.117aa3473b67c380.42097766e610521f.70c288b69c2984b1
+    afec505b64ca110f.7491d8532077b80d.8348d4a1b2cd2fc9.c49c5ed6aa3b1c42
+    cca0107d6e6913b6.d97ce9aa484eb7f3.3f179f5aac3e95b1.ec24110aae4d9f56
+    af17f7804ecdb9dc.1e075336d0f87a5e.d3c3d3ff6dedc282.c6251f3fc36cc819
+    2c6d035f05a354b6
+  after
+    fdafbcae9465773c.117aa3473b67c380.42097766e610521f.70c288b69c2984b1
+    afec505b64ca110f.7491d8532077b80d.8348d4a1b2cd2fc9.c49c5ed6aa3b1c42
+    cca0107d6e6913b6.d97ce9aa484eb7f3.3f179f5aac3e95b1.ec24110aae4d9f56
+    8000000064ca110f.7491d8533f800000.8000000080000000.c49c400080000000
+    2c6d035f05a354b6
+VROUNDPS_256_0x2(mem)
+  before
+    fcc63a5791ffff5a.b39d01d0a1823e2e.1dfe90e5d480be79.9b986cfc9368f0e9
+    10fd3e13828a8431.367e2ad90214df58.b42d1ea26ff23e70.f3e166bbba3b5c92
+    46de8d80f552a066.92056f080e10d805.bd607859be5ab871.37ecbda97df04128
+    7835a28905630f25.257fcac7600265e2.15621bf6dcc5e6a5.c3036e327816dc57
+    f37374c3483669cc
+  after
+    fcc63a5791ffff5a.b39d01d0a1823e2e.1dfe90e5d480be79.9b986cfc9368f0e9
+    10fd3e13828a8431.367e2ad90214df58.b42d1ea26ff23e70.f3e166bbba3b5c92
+    46de8d80f552a066.92056f080e10d805.bd607859be5ab871.37ecbda97df04128
+    fcc63a5780000000.8000000080000000.3f800000d480be79.8000000080000000
+    f37374c3483669cc
+
+VROUNDPS_256_0x2(reg)
+  before
+    2388cbc789de2433.83cef919cfc88d9c.493939849574c19b.99008165e53e843b
+    af8e6fa9d6994837.44740e1e6e8dd5f4.5c7cb8a948f429db.23072892f6d2505d
+    f3d15dd7cbf31285.95f55e83ffbea45c.b89741a4160dd94f.90418b6a2a8b0438
+    4b9d8fbc0579bec9.531b64349d68b6fe.bbd5d2e09a4c0ca2.bd7a26d79e785df7
+    848076c76ea217c7
+  after
+    2388cbc789de2433.83cef919cfc88d9c.493939849574c19b.99008165e53e843b
+    af8e6fa9d6994837.44740e1e6e8dd5f4.5c7cb8a948f429db.23072892f6d2505d
+    f3d15dd7cbf31285.95f55e83ffbea45c.b89741a4160dd94f.90418b6a2a8b0438
+    80000000d6994837.447440006e8dd5f4.5c7cb8a948f429e0.3f800000f6d2505d
+    848076c76ea217c7
+VROUNDPS_256_0x2(mem)
+  before
+    c21ef524b417edd3.133d03c41fb688ae.5ab39c1d6496c607.bf8165c9703cff81
+    531f21dc8fe29c48.a6feb55bb637abe1.8789822a715592a2.21e9f9cb3569ee97
+    135075da1810e052.622c9fed6587640d.b4699247e0b0d4fc.3e57875285601591
+    df7d6e096eac741c.a213bfe6c932efdf.be1e4961ccb34840.70180ccafbacaf1b
+    1478859f33d9f9e0
+  after
+    c21ef524b417edd3.133d03c41fb688ae.5ab39c1d6496c607.bf8165c9703cff81
+    531f21dc8fe29c48.a6feb55bb637abe1.8789822a715592a2.21e9f9cb3569ee97
+    135075da1810e052.622c9fed6587640d.b4699247e0b0d4fc.3e57875285601591
+    c21c000080000000.3f8000003f800000.5ab39c1d6496c607.bf800000703cff81
+    1478859f33d9f9e0
+
+VROUNDPS_256_0x2(reg)
+  before
+    86c3ed3eca742f8d.91728657aac215d3.c2ff0fb27dc48703.81762262516bab9b
+    224440115c088ccd.06fb3bb0ea5e7fa2.1d3c8dbe1eca6924.d93b99378ce3ba39
+    45497b8683224e4d.1ae308fe4a8d6eb6.1115357447cfd1ef.a23a2acd99272e45
+    491c9807de4cafb9.a9f8692ee55b9d3b.f9d801429460fa0f.b83f520f9243c6ec
+    f7168ce996443c59
+  after
+    86c3ed3eca742f8d.91728657aac215d3.c2ff0fb27dc48703.81762262516bab9b
+    224440115c088ccd.06fb3bb0ea5e7fa2.1d3c8dbe1eca6924.d93b99378ce3ba39
+    45497b8683224e4d.1ae308fe4a8d6eb6.1115357447cfd1ef.a23a2acd99272e45
+    3f8000005c088ccd.3f800000ea5e7fa2.3f8000003f800000.d93b993780000000
+    f7168ce996443c59
+VROUNDPS_256_0x2(mem)
+  before
+    3b8b5446bf364db9.8b0a95020714ebbc.8f04da2cd8d2c95c.30cfef93a3082231
+    606926142923b538.675f6de29a064003.a8d4d8e53e00ae46.1447fad30d538300
+    427e7e3ff0192f01.39671c1334ade839.cf34de4333f00824.ff8c1e6d70ce5929
+    bd94d9b132247840.5d6d9f0170951f0b.e2f06834d4af9223.4fe957cf6804e258
+    5eaca2648f815838
+  after
+    3b8b5446bf364db9.8b0a95020714ebbc.8f04da2cd8d2c95c.30cfef93a3082231
+    606926142923b538.675f6de29a064003.a8d4d8e53e00ae46.1447fad30d538300
+    427e7e3ff0192f01.39671c1334ade839.cf34de4333f00824.ff8c1e6d70ce5929
+    3f80000080000000.800000003f800000.80000000d8d2c95c.3f80000080000000
+    5eaca2648f815838
+
+VROUNDPS_256_0x3(reg)
+  before
+    8a1ffa9984d2f876.ac78b257084e4c23.2fbff018ea4a2325.bcd3f2a33d48096f
+    2d8f5bd8e182fdbe.edf6851d90a566d4.0ba70dc440592e32.39abf87b88c72933
+    a448c18e421da5bb.5bd9cef0e635847f.4d72f1710b4d7ddf.3542f7aad439ad9b
+    4c96282844302a19.d2ef0aba25086051.506c998ce9b34cd7.8b656a1b3ba952d5
+    19e0cdbad924d40b
+  after
+    8a1ffa9984d2f876.ac78b257084e4c23.2fbff018ea4a2325.bcd3f2a33d48096f
+    2d8f5bd8e182fdbe.edf6851d90a566d4.0ba70dc440592e32.39abf87b88c72933
+    a448c18e421da5bb.5bd9cef0e635847f.4d72f1710b4d7ddf.3542f7aad439ad9b
+    00000000e182fdbe.edf6851d80000000.0000000040400000.0000000080000000
+    19e0cdbad924d40b
+VROUNDPS_256_0x3(mem)
+  before
+    ba7f9d74cbb4ee69.7fc58d108246c886.2d02b4696a2cb676.72e1ff7f7615d6c7
+    490e54332c675e1c.9a21ebb499ebbdab.4ae048e8d0ad4419.0e1d21b84d02585b
+    a45870e41949de50.faf53e7f24ac4337.045342237395c467.806bfaa20a030e3e
+    a62b6c74ad642a30.f98e82dcc01497d4.36281e0570f2f38c.231886a84aa6341c
+    5571c238a97605a3
+  after
+    ba7f9d74cbb4ee69.7fc58d108246c886.2d02b4696a2cb676.72e1ff7f7615d6c7
+    490e54332c675e1c.9a21ebb499ebbdab.4ae048e8d0ad4419.0e1d21b84d02585b
+    a45870e41949de50.faf53e7f24ac4337.045342237395c467.806bfaa20a030e3e
+    80000000cbb4ee69.7fc58d1080000000.000000006a2cb676.72e1ff7f7615d6c7
+    5571c238a97605a3
+
+VROUNDPS_256_0x3(reg)
+  before
+    71c0a8bdc200be7d.2a51c4cd05c600e9.f439b43908aff52f.be2b597de3d08cb3
+    d25236a331cf9b56.0e97f5dd3c7b1aa7.4740cf01990a98f3.76276e74e63a4d09
+    d6726756936fd7db.2cc9798f6e8e3595.4eefcfa00eb0bdcd.3cead9d7983cf0b9
+    d86e3843836cafb8.62b3cecfb80b0ce0.6594b083032da068.ea3e169213e231f0
+    5ef0a1927339ced9
+  after
+    71c0a8bdc200be7d.2a51c4cd05c600e9.f439b43908aff52f.be2b597de3d08cb3
+    d25236a331cf9b56.0e97f5dd3c7b1aa7.4740cf01990a98f3.76276e74e63a4d09
+    d6726756936fd7db.2cc9798f6e8e3595.4eefcfa00eb0bdcd.3cead9d7983cf0b9
+    d25236a300000000.0000000000000000.4740cf0080000000.76276e74e63a4d09
+    5ef0a1927339ced9
+VROUNDPS_256_0x3(mem)
+  before
+    72ccf7c1d54c81a1.3390a3d49e535f98.8a206f8936fe5db3.e87a6e14150e7c71
+    049e930d54280774.4526a6767fb02328.81ded9a90374e23b.33ec06c0e0de8f94
+    ee32f1600dd71b7d.687a3c96c30d3614.24b7861b3b7857a3.a23773f4ff29127c
+    0d538ea81b687be9.fad9619f05f8d507.4d78f4cbfb177a18.91a7b11a0e7c44d6
+    5c88bca0aa625f4d
+  after
+    72ccf7c1d54c81a1.3390a3d49e535f98.8a206f8936fe5db3.e87a6e14150e7c71
+    049e930d54280774.4526a6767fb02328.81ded9a90374e23b.33ec06c0e0de8f94
+    ee32f1600dd71b7d.687a3c96c30d3614.24b7861b3b7857a3.a23773f4ff29127c
+    72ccf7c1d54c81a1.0000000080000000.8000000000000000.e87a6e1400000000
+    5c88bca0aa625f4d
+
+VROUNDPS_256_0x3(reg)
+  before
+    5f2691f16e68a18e.3dcfe4d09ae4e1e4.558f12fce1fc3cad.d9ed9ea55f5c05c6
+    f6cc2b79f7194344.5b7071c4a7590999.d6e7491bf5a6a6b4.a5e200968153b5d8
+    7dc885a4e101841d.4103b0705ed2b134.da2f0467da8150c6.8b2397888008467b
+    50649edec6ac9ec2.cc541dc0da5c93e3.bbb13e4c2e19768f.687bdd69768873da
+    18b750237fdef922
+  after
+    5f2691f16e68a18e.3dcfe4d09ae4e1e4.558f12fce1fc3cad.d9ed9ea55f5c05c6
+    f6cc2b79f7194344.5b7071c4a7590999.d6e7491bf5a6a6b4.a5e200968153b5d8
+    7dc885a4e101841d.4103b0705ed2b134.da2f0467da8150c6.8b2397888008467b
+    f6cc2b79f7194344.5b7071c480000000.d6e7491bf5a6a6b4.8000000080000000
+    18b750237fdef922
+VROUNDPS_256_0x3(mem)
+  before
+    77a46ba4b817947f.cbed6f9345a7cee2.d82f35a038026ccf.d6baf3368dfb54bc
+    620caad73c3eff1c.49aff62ff77d5027.415f72fd92d0f827.8896209192b225f9
+    b3bb8aa8275ff726.28f62d1e7bbb5f3d.e4b252c107d2f215.2b91c0cad9ca26f1
+    477f8603978738c8.c30e13cd6aec38d1.9bf251dab11517c5.1cf7cf4bffd09351
+    b71349819f4fa7c4
+  after
+    77a46ba4b817947f.cbed6f9345a7cee2.d82f35a038026ccf.d6baf3368dfb54bc
+    620caad73c3eff1c.49aff62ff77d5027.415f72fd92d0f827.8896209192b225f9
+    b3bb8aa8275ff726.28f62d1e7bbb5f3d.e4b252c107d2f215.2b91c0cad9ca26f1
+    77a46ba480000000.cbed6f9345a7c800.d82f35a000000000.d6baf33680000000
+    b71349819f4fa7c4
+
+VROUNDPS_256_0x4(reg)
+  before
+    58332ad956d39ff7.fa231ad4a5c07e2f.7542a1a6629c178f.43ece932aca42365
+    5ba16fbec0e9b796.a872c2086f198487.9cdfd417ff573822.b86c97b7158cd11e
+    1daa139b771c2b4c.2d39fa89119b07fb.9331a98bdcaad637.d63ed85407d8df1f
+    f89a12de1af936c6.65453f44a654c3b8.b5841b6d96212e7a.792e27f59f940692
+    7c070086f8cd05a3
+  after
+    58332ad956d39ff7.fa231ad4a5c07e2f.7542a1a6629c178f.43ece932aca42365
+    5ba16fbec0e9b796.a872c2086f198487.9cdfd417ff573822.b86c97b7158cd11e
+    1daa139b771c2b4c.2d39fa89119b07fb.9331a98bdcaad637.d63ed85407d8df1f
+    5ba16fbec0e00000.800000006f198487.80000000ff573822.8000000000000000
+    7c070086f8cd05a3
+VROUNDPS_256_0x4(mem)
+  before
+    bd97e0f32f8e977f.49bd68f2420a15af.2b5f0c264a5074e9.6024262bc8467c96
+    17a841285fe37752.6c5e11438ede04b4.5d56dd191a99d5bb.ee5dc6300ea7fb38
+    6607a111a5d96148.bdcb0a3d97fe3f81.d6f52e0b323da35a.bd7bf8e805cfe80b
+    86807b9a1c7b138b.974e4e4cfbf801c1.72077be7ad489af1.27c9b7bf484b7fbc
+    8994ff2274a6fcf6
+  after
+    bd97e0f32f8e977f.49bd68f2420a15af.2b5f0c264a5074e9.6024262bc8467c96
+    17a841285fe37752.6c5e11438ede04b4.5d56dd191a99d5bb.ee5dc6300ea7fb38
+    6607a111a5d96148.bdcb0a3d97fe3f81.d6f52e0b323da35a.bd7bf8e805cfe80b
+    8000000000000000.49bd68f0420c0000.000000004a5074e8.6024262bc8467c80
+    8994ff2274a6fcf6
+
+VROUNDPS_256_0x4(reg)
+  before
+    4028cc7b256c9a66.52de4cb0e1d5474a.5834d9dd56578721.0d5a4199a7c475ad
+    a6d11b38f52a96b8.a8ef8e3d0ff4baaf.5bc9a75a43a70d4c.82b8fb0d3dbff1b9
+    18dbe6c3836b2c97.637dbf2fc2e328e7.fc59b5315f75ceef.afee252f8a45ca42
+    f3922b8a68bb97b0.5f565a7117ae4c1d.9730fecc454c07b6.6fc83bebab60bb73
+    9e11ba2dbb1e827a
+  after
+    4028cc7b256c9a66.52de4cb0e1d5474a.5834d9dd56578721.0d5a4199a7c475ad
+    a6d11b38f52a96b8.a8ef8e3d0ff4baaf.5bc9a75a43a70d4c.82b8fb0d3dbff1b9
+    18dbe6c3836b2c97.637dbf2fc2e328e7.fc59b5315f75ceef.afee252f8a45ca42
+    80000000f52a96b8.8000000000000000.5bc9a75a43a70000.8000000000000000
+    9e11ba2dbb1e827a
+VROUNDPS_256_0x4(mem)
+  before
+    17971de2d78bd980.9141e5f743a714ae.7744dbef2a62e37e.88997e9991b9f44c
+    b824e0f41ab27cb4.4f351178adbadf3e.8914bf95160aa936.2ae23103e047d05d
+    5b857f51a19f293f.89baa9784480340c.6f92804ff7b35a70.db551376ce82d997
+    de8777e4875e9a50.9b1cab63a4864ec3.07899c09ea67b158.f63f215ef5f749a4
+    d6ec5627f4305c30
+  after
+    17971de2d78bd980.9141e5f743a714ae.7744dbef2a62e37e.88997e9991b9f44c
+    b824e0f41ab27cb4.4f351178adbadf3e.8914bf95160aa936.2ae23103e047d05d
+    5b857f51a19f293f.89baa9784480340c.6f92804ff7b35a70.db551376ce82d997
+    00000000d78bd980.8000000043a70000.7744dbef00000000.8000000080000000
+    d6ec5627f4305c30
+
+VROUNDPS_256_0x4(reg)
+  before
+    d9a8ae3d65bc50e8.1bf34298e8fc8c11.e2a712a568576a10.2bc78eaf0a346b1c
+    59be250ce4245f78.f0985e5be184baaf.b8a7daaa2d80c49e.b916d22d742644e6
+    b47cb8000ef6c68b.374146188e02e255.7a67ffdf8e8b981a.8b43e5704448f7e2
+    442c62867ebdc0ce.ceb977bb0a83be30.84357eae27062130.7f1a426294a6413d
+    6f6765f1834cde23
+  after
+    d9a8ae3d65bc50e8.1bf34298e8fc8c11.e2a712a568576a10.2bc78eaf0a346b1c
+    59be250ce4245f78.f0985e5be184baaf.b8a7daaa2d80c49e.b916d22d742644e6
+    b47cb8000ef6c68b.374146188e02e255.7a67ffdf8e8b981a.8b43e5704448f7e2
+    59be250ce4245f78.f0985e5be184baaf.8000000000000000.80000000742644e6
+    6f6765f1834cde23
+VROUNDPS_256_0x4(mem)
+  before
+    38f6ca072a478abf.671b1f08d1068bed.8fcd6b3071120a6b.325b5285957d9c8b
+    b792ed92a7a2003e.7795ebf4a25c6193.574aa063e0bc8433.e02677ce747b44d8
+    c6094b7d166afdcb.d2e6c2b58d4b7e6c.03fa9141738ce6b4.eae2e9f75f8c57c2
+    42255eb492aa3d93.d259a1b630602026.6da9bab4458eed19.acdba56bf23c0ff6
+    815ca695ca18a920
+  after
+    38f6ca072a478abf.671b1f08d1068bed.8fcd6b3071120a6b.325b5285957d9c8b
+    b792ed92a7a2003e.7795ebf4a25c6193.574aa063e0bc8433.e02677ce747b44d8
+    c6094b7d166afdcb.d2e6c2b58d4b7e6c.03fa9141738ce6b4.eae2e9f75f8c57c2
+    0000000000000000.671b1f08d1068bed.8000000071120a6b.0000000080000000
+    815ca695ca18a920
+
+VROUNDPD_128_0x0(reg)
+  before
+    c7b3e8e382ab60eb.07b3a423386e7bc2.d53c83652426816b.722597aa72ce558f
+    d92a67c0b7827104.f27f99b623c27583.35d9642d0729dee7.ee39a50d1759d942
+    130e1f9904271816.dd55b7596fb3e503.4f7d407a75f67247.bdb05fcb4f3a365d
+    d1ab0dd8062991ce.a5007cf9394c876d.7f7514b909187b37.bc5741cf377e280c
+    c5fac705ea306a7c
+  after
+    c7b3e8e382ab60eb.07b3a423386e7bc2.d53c83652426816b.722597aa72ce558f
+    d92a67c0b7827104.f27f99b623c27583.35d9642d0729dee7.ee39a50d1759d942
+    130e1f9904271816.dd55b7596fb3e503.4f7d407a75f67247.bdb05fcb4f3a365d
+    0000000000000000.0000000000000000.0000000000000000.ee39a50d1759d942
+    c5fac705ea306a7c
+VROUNDPD_128_0x0(mem)
+  before
+    b5656e59855cb9d9.6e4d2cea581117d8.264e63809d9a18ee.220ada545f1b3362
+    6864b1b7230fd14f.483f783c976de8df.3c09e8dcb6a855b2.928b90b8148cd675
+    bac20b0be0546e09.bacfed385ec83d8f.c3fe87f7a082f7e4.2c433152c3f6a21b
+    874dfb41d9374b33.1f47874c49af5596.97f9bdbf7835bdb1.4c7dba8c09e5d101
+    4e8625d482e6a0d3
+  after
+    b5656e59855cb9d9.6e4d2cea581117d8.264e63809d9a18ee.220ada545f1b3362
+    6864b1b7230fd14f.483f783c976de8df.3c09e8dcb6a855b2.928b90b8148cd675
+    bac20b0be0546e09.bacfed385ec83d8f.c3fe87f7a082f7e4.2c433152c3f6a21b
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    4e8625d482e6a0d3
+
+VROUNDPD_128_0x0(reg)
+  before
+    8eaa7095c8844b3c.abcffa452ac525fa.d5f443e2f5ad6a9e.94c6051f59cc6144
+    6835963a7a4c0de9.02158604ee08b88a.36221c68fe4eb953.9631db036053a0ca
+    3873933131c82385.68eb1968420fc00e.a01d0e49ff1f7e62.7905bb57a8d7366f
+    5ab064e58c86c9bd.b81d315f41e3f8b3.6d3116f194abf477.191021074e63de5e
+    521c8aff6d0355c4
+  after
+    8eaa7095c8844b3c.abcffa452ac525fa.d5f443e2f5ad6a9e.94c6051f59cc6144
+    6835963a7a4c0de9.02158604ee08b88a.36221c68fe4eb953.9631db036053a0ca
+    3873933131c82385.68eb1968420fc00e.a01d0e49ff1f7e62.7905bb57a8d7366f
+    0000000000000000.0000000000000000.0000000000000000.8000000000000000
+    521c8aff6d0355c4
+VROUNDPD_128_0x0(mem)
+  before
+    00f6712b22c457cc.2a3704c324123a3d.d0764ad407921da5.fba92ecc5a7e583d
+    fe6a527888b19fa3.04556f3597f7b4b0.8bc4deb3b128eb0f.a4d35446ed24e661
+    2a44a9d0bbd6eb75.4457a1a881c171c3.c5d16be75aaf1d1e.c6f983cce82ada8f
+    5f4ff321d840f56d.468796887dfcad21.5a6a6c5e1f3570fd.bb68b7c8e71c6f72
+    e06ceda78784e2b6
+  after
+    00f6712b22c457cc.2a3704c324123a3d.d0764ad407921da5.fba92ecc5a7e583d
+    fe6a527888b19fa3.04556f3597f7b4b0.8bc4deb3b128eb0f.a4d35446ed24e661
+    2a44a9d0bbd6eb75.4457a1a881c171c3.c5d16be75aaf1d1e.c6f983cce82ada8f
+    0000000000000000.0000000000000000.d0764ad407921da5.fba92ecc5a7e583d
+    e06ceda78784e2b6
+
+VROUNDPD_128_0x0(reg)
+  before
+    92511fd663f06f09.7859aa55fbfa79b8.66314b422835a677.255b5d041bc6a0d9
+    2b624bc018ec5114.532c4c5a3f103581.00a3ba411df79671.0470bac36b6d68de
+    08ed6cd04102c686.cb95551bc18fe3f5.6f28e1f0f8cfbaba.d27500882a368637
+    853c7f747bc00809.bb603f849b82403f.110bbcbd56484dfe.6a35aa3f752db410
+    aa7e34d5675fae97
+  after
+    92511fd663f06f09.7859aa55fbfa79b8.66314b422835a677.255b5d041bc6a0d9
+    2b624bc018ec5114.532c4c5a3f103581.00a3ba411df79671.0470bac36b6d68de
+    08ed6cd04102c686.cb95551bc18fe3f5.6f28e1f0f8cfbaba.d27500882a368637
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    aa7e34d5675fae97
+VROUNDPD_128_0x0(mem)
+  before
+    6c1a1a341dd732f6.ff9c7e1761b25349.01598881ecf5078c.41994513d2ee8ceb
+    8ed6d84ab2a1fa59.d05967258f62e4f4.774baafecef5f608.5a1e7a5e094db32b
+    ea7eeb0243cac3ed.55bf350aa35ff8b4.fb0423e75d8dc7de.bae6560a97f2fe6a
+    5edece48eb5d48de.ea1ae4323632c835.674e6f28b6c9363b.bc3dd5831769a855
+    bb6ff335253cef98
+  after
+    6c1a1a341dd732f6.ff9c7e1761b25349.01598881ecf5078c.41994513d2ee8ceb
+    8ed6d84ab2a1fa59.d05967258f62e4f4.774baafecef5f608.5a1e7a5e094db32b
+    ea7eeb0243cac3ed.55bf350aa35ff8b4.fb0423e75d8dc7de.bae6560a97f2fe6a
+    0000000000000000.0000000000000000.0000000000000000.41994513d4000000
+    bb6ff335253cef98
+
+VROUNDPD_128_0x1(reg)
+  before
+    15c7ad8d5ef90cde.c4c1fd08c6674757.ebb5710ae6699324.99f608aef4b6014b
+    2492fdf55d2b3ed4.faf5f42ef1f27a85.b4ddd6fc4f8f932d.6bc86c63345fe239
+    461ce1dbbf5fbf26.da4430a6880d9d94.a1df11750c3005fb.bb90163591d19631
+    d5b154a91f20cc7f.417b2c5ca6c16eaf.0e051de2b9d9253a.631a820e2817d861
+    40312cdc143d66f3
+  after
+    15c7ad8d5ef90cde.c4c1fd08c6674757.ebb5710ae6699324.99f608aef4b6014b
+    2492fdf55d2b3ed4.faf5f42ef1f27a85.b4ddd6fc4f8f932d.6bc86c63345fe239
+    461ce1dbbf5fbf26.da4430a6880d9d94.a1df11750c3005fb.bb90163591d19631
+    0000000000000000.0000000000000000.bff0000000000000.6bc86c63345fe239
+    40312cdc143d66f3
+VROUNDPD_128_0x1(mem)
+  before
+    2fa3918a724ffa13.2f9d53cd19faa18b.0c66643c671ca702.579cf6aef3152e98
+    0a3a2c045d5a50ee.ae2cd8b24a7a79f8.15d15433e82905ba.d8ef994455715dbf
+    aec37936f16926b0.afa9e1c44e2b9270.3988782b44f54403.ed4c01127c77ee5b
+    f70af40c4b893684.8f62696fc099269f.54564d12988a1f09.f2fd2a8303b61c1a
+    4250100387b725a5
+  after
+    2fa3918a724ffa13.2f9d53cd19faa18b.0c66643c671ca702.579cf6aef3152e98
+    0a3a2c045d5a50ee.ae2cd8b24a7a79f8.15d15433e82905ba.d8ef994455715dbf
+    aec37936f16926b0.afa9e1c44e2b9270.3988782b44f54403.ed4c01127c77ee5b
+    0000000000000000.0000000000000000.0000000000000000.579cf6aef3152e98
+    4250100387b725a5
+
+VROUNDPD_128_0x1(reg)
+  before
+    3b8faffea40843ab.c1db1a7287c53d97.a8a16d1f3d517132.42084ed3fff753f7
+    380704e1f434b2d6.e9016555c029f714.57b3e74060deb0d5.e06bf75996459cf9
+    95030a1615c8b0d2.494a539f12c21f28.f8e4d53ec5cc1f33.0849c4927882b53d
+    add1bd0aa34e774c.be805f3e9a9b72ff.e87f328609a8faf9.976f3269c2b95bec
+    69a8bbca8ff74a35
+  after
+    3b8faffea40843ab.c1db1a7287c53d97.a8a16d1f3d517132.42084ed3fff753f7
+    380704e1f434b2d6.e9016555c029f714.57b3e74060deb0d5.e06bf75996459cf9
+    95030a1615c8b0d2.494a539f12c21f28.f8e4d53ec5cc1f33.0849c4927882b53d
+    0000000000000000.0000000000000000.57b3e74060deb0d5.e06bf75996459cf9
+    69a8bbca8ff74a35
+VROUNDPD_128_0x1(mem)
+  before
+    5ac2dda1fc473e42.debc192a395544f0.2470061c74c0acc4.81d2fa82c7fd7dd2
+    468713db24b5f23f.830f1be174665269.57e6c227ba3d88a4.202729a09c57e36b
+    09c4da62234e235a.f717bd9aef0fde64.33ae114a8b1fc4ca.21ccbc4a24436970
+    7f46ac23161d8dbc.9820fdc346db248d.94946e7101721963.e00baeeef94c4a8c
+    b931fbf7baffc46c
+  after
+    5ac2dda1fc473e42.debc192a395544f0.2470061c74c0acc4.81d2fa82c7fd7dd2
+    468713db24b5f23f.830f1be174665269.57e6c227ba3d88a4.202729a09c57e36b
+    09c4da62234e235a.f717bd9aef0fde64.33ae114a8b1fc4ca.21ccbc4a24436970
+    0000000000000000.0000000000000000.0000000000000000.bff0000000000000
+    b931fbf7baffc46c
+
+VROUNDPD_128_0x1(reg)
+  before
+    08899fd100e611bb.84d6070b192eec94.c076d6c71657608f.566355883840469b
+    296197e86a8f6e26.f3436605478efb0c.cd654512fb0ece16.54e9437b4d97069d
+    7803dda891861659.aa5846fcbc487750.19384410908ca9d0.6cf0b2365b831496
+    51bd6f7d135646ff.84e021de95681c8d.023cd12d715e2e67.794520a57e0e2cb1
+    57b408b5d4460c1b
+  after
+    08899fd100e611bb.84d6070b192eec94.c076d6c71657608f.566355883840469b
+    296197e86a8f6e26.f3436605478efb0c.cd654512fb0ece16.54e9437b4d97069d
+    7803dda891861659.aa5846fcbc487750.19384410908ca9d0.6cf0b2365b831496
+    0000000000000000.0000000000000000.cd654512fb0ece16.54e9437b4d97069d
+    57b408b5d4460c1b
+VROUNDPD_128_0x1(mem)
+  before
+    e209e65076376eff.10d948d38c8b3ac5.5da97596edfba5ef.e2bee7d53b0f9887
+    f50f376482eb0f8b.11a4651797b12e56.117dbd10e10ccfa1.16088275892b24dd
+    6e9476db1470abe8.b06ac0b3d1555d5f.7b2975388da756d0.fb679f77f83f0e15
+    28621fa347d2fd45.48765715d502048b.797919fa0bd9f5a8.eb26384923d692da
+    43934b55a77cecd9
+  after
+    e209e65076376eff.10d948d38c8b3ac5.5da97596edfba5ef.e2bee7d53b0f9887
+    f50f376482eb0f8b.11a4651797b12e56.117dbd10e10ccfa1.16088275892b24dd
+    6e9476db1470abe8.b06ac0b3d1555d5f.7b2975388da756d0.fb679f77f83f0e15
+    0000000000000000.0000000000000000.5da97596edfba5ef.e2bee7d53b0f9887
+    43934b55a77cecd9
+
+VROUNDPD_128_0x2(reg)
+  before
+    60f9d3091fbe57bd.fe46aea7371bc2cc.371625a83f455f88.e63826437aad6a54
+    9ca3cdd028271033.ce0c9fd30159b6a9.d89426d7aca9aaff.9d3417fdf32f6f01
+    54de33165d4352e7.72806f13c1989509.873e5710b7ba209f.7c376816946cc0da
+    e4f603475b9f5b84.c86d995391e31a18.9f5eb2befd04fe12.5d0f9578796f1b0c
+    1e861a11bd443ac2
+  after
+    60f9d3091fbe57bd.fe46aea7371bc2cc.371625a83f455f88.e63826437aad6a54
+    9ca3cdd028271033.ce0c9fd30159b6a9.d89426d7aca9aaff.9d3417fdf32f6f01
+    54de33165d4352e7.72806f13c1989509.873e5710b7ba209f.7c376816946cc0da
+    0000000000000000.0000000000000000.d89426d7aca9aaff.8000000000000000
+    1e861a11bd443ac2
+VROUNDPD_128_0x2(mem)
+  before
+    996874cb7df8da29.a83738cfbdc665b7.aaa1997f90460201.7e40354d1a148004
+    ac831e94d496b66d.fcecce1a2044ad2b.f6e6eb83d8cd09f1.7e32db29a875e122
+    31a29457de2b8cb9.3c63c2941fa66e8d.86090c4c8585ea13.fd7fa1bf46b45e18
+    06905200b8c2163a.c4e60eaa5677e589.38d676c4b4796295.567281798e5c3391
+    e45979c41cf99c3a
+  after
+    996874cb7df8da29.a83738cfbdc665b7.aaa1997f90460201.7e40354d1a148004
+    ac831e94d496b66d.fcecce1a2044ad2b.f6e6eb83d8cd09f1.7e32db29a875e122
+    31a29457de2b8cb9.3c63c2941fa66e8d.86090c4c8585ea13.fd7fa1bf46b45e18
+    0000000000000000.0000000000000000.8000000000000000.7e40354d1a148004
+    e45979c41cf99c3a
+
+VROUNDPD_128_0x2(reg)
+  before
+    057e840d8c18d4bf.051bd57b7e67101c.f0c2b0c662444eca.e619a7d980b62da0
+    132e9ebf7c4418cb.0b0d98b54b26388a.1c43a356de97e5fd.6e9e1a7606460762
+    6bb4c3458509a40a.f53317983b0c48b0.a4b5e4c567ffe5cd.aa304c866138ab07
+    6a5ef00d45f4b32a.9d58ce116b24fdbc.e4646d7e99058be7.779db7f7ad95d6bb
+    b1afd9b4076b44a9
+  after
+    057e840d8c18d4bf.051bd57b7e67101c.f0c2b0c662444eca.e619a7d980b62da0
+    132e9ebf7c4418cb.0b0d98b54b26388a.1c43a356de97e5fd.6e9e1a7606460762
+    6bb4c3458509a40a.f53317983b0c48b0.a4b5e4c567ffe5cd.aa304c866138ab07
+    0000000000000000.0000000000000000.3ff0000000000000.6e9e1a7606460762
+    b1afd9b4076b44a9
+VROUNDPD_128_0x2(mem)
+  before
+    35332da98bc5b0fd.6a772082589082d4.e04a390df67b13d8.389c3cef0f3713f7
+    ddf52fc254b0d8e5.c84a4f1059694db7.9ad4d576f91c4530.fca84c836520b9a8
+    86c15cec7f36758a.e1247923e50c507d.a7c11d3a8f1350f1.8cd599a6384cb8a7
+    0c622f112766461b.0f519b279604c6d3.e4de8d44d56cf047.436f1fc423484d9f
+    7fc2db4ac39fb33d
+  after
+    35332da98bc5b0fd.6a772082589082d4.e04a390df67b13d8.389c3cef0f3713f7
+    ddf52fc254b0d8e5.c84a4f1059694db7.9ad4d576f91c4530.fca84c836520b9a8
+    86c15cec7f36758a.e1247923e50c507d.a7c11d3a8f1350f1.8cd599a6384cb8a7
+    0000000000000000.0000000000000000.e04a390df67b13d8.3ff0000000000000
+    7fc2db4ac39fb33d
+
+VROUNDPD_128_0x2(reg)
+  before
+    9b1ac8a2b3de282d.4ba6231e684905c2.af1db0890bddec64.2bf7a180e634e05d
+    f3c3e2399090e61a.1f57b7005fed70ab.1dd4b3b3de24fedd.59d8d6dadf76dd60
+    e208257cf5412ab0.644264a1275d4004.b6c1a312ab6437e9.4a4da63edb3fa37b
+    c6378ed57e7e2f9d.f633a8efdda634f6.d43279130f29d535.da218f98f79aeedb
+    e5220cd44e9379ac
+  after
+    9b1ac8a2b3de282d.4ba6231e684905c2.af1db0890bddec64.2bf7a180e634e05d
+    f3c3e2399090e61a.1f57b7005fed70ab.1dd4b3b3de24fedd.59d8d6dadf76dd60
+    e208257cf5412ab0.644264a1275d4004.b6c1a312ab6437e9.4a4da63edb3fa37b
+    0000000000000000.0000000000000000.3ff0000000000000.59d8d6dadf76dd60
+    e5220cd44e9379ac
+VROUNDPD_128_0x2(mem)
+  before
+    471a9adffc370119.f99a17b2c8d2338b.b1f6fdd59cd306b0.d4713321a500126d
+    dcd6b3a31e91424f.d97ebe7e6fc97026.7157e13f81f0735c.12cbcba70a742a3c
+    8022d50ed0adf879.c02f7ea50eef221b.1221cf19a70a3726.ea8c3f13d9115b4f
+    0fca7b0a2d98dec4.0cf8549341d18716.7022444f2b2c0d3c.b8008bd0af64df51
+    d872a94a27f8f2ef
+  after
+    471a9adffc370119.f99a17b2c8d2338b.b1f6fdd59cd306b0.d4713321a500126d
+    dcd6b3a31e91424f.d97ebe7e6fc97026.7157e13f81f0735c.12cbcba70a742a3c
+    8022d50ed0adf879.c02f7ea50eef221b.1221cf19a70a3726.ea8c3f13d9115b4f
+    0000000000000000.0000000000000000.8000000000000000.d4713321a500126d
+    d872a94a27f8f2ef
+
+VROUNDPD_128_0x3(reg)
+  before
+    a63097edde5ad2d5.64992185515db15b.17273ab4a5fbd9c2.6724bbcd2862b2c7
+    7e8450256f15b9ae.5d5d446a59082d6c.3f062e74d6f755cc.d3f4af7fbbb9e2f6
+    bcbbd05f77b5e427.d5e05fa561a60d20.dee22b3f6e5336e0.8f5e9f52ff3c58f3
+    bc21130591c68feb.a8efee2283420ea6.52082d820c9abaa9.792e043011f7d2ea
+    6c2f5b070cf70a08
+  after
+    a63097edde5ad2d5.64992185515db15b.17273ab4a5fbd9c2.6724bbcd2862b2c7
+    7e8450256f15b9ae.5d5d446a59082d6c.3f062e74d6f755cc.d3f4af7fbbb9e2f6
+    bcbbd05f77b5e427.d5e05fa561a60d20.dee22b3f6e5336e0.8f5e9f52ff3c58f3
+    0000000000000000.0000000000000000.0000000000000000.d3f4af7fbbb9e2f6
+    6c2f5b070cf70a08
+VROUNDPD_128_0x3(mem)
+  before
+    442f21c10c47bc79.d902168559d5f5a7.b1566dcddee8ec28.f5c131a74a591bd3
+    dcf8d14c2ef3a668.71aad4496c6d5306.cee158928ba562d2.245c321cc41b950b
+    1257e7938e088202.df6449bf661be5b6.da5c2c5da9842ed1.3c242b4b176c66fd
+    c018e08247910d73.7f7e7152e26ae760.b092631b51910a51.97641ba2ded9c855
+    926afb8cb6edf8be
+  after
+    442f21c10c47bc79.d902168559d5f5a7.b1566dcddee8ec28.f5c131a74a591bd3
+    dcf8d14c2ef3a668.71aad4496c6d5306.cee158928ba562d2.245c321cc41b950b
+    1257e7938e088202.df6449bf661be5b6.da5c2c5da9842ed1.3c242b4b176c66fd
+    0000000000000000.0000000000000000.8000000000000000.f5c131a74a591bd3
+    926afb8cb6edf8be
+
+VROUNDPD_128_0x3(reg)
+  before
+    8980c8753a3532e4.c4073605759b02e6.ac42486e7ce694b3.2e517bb6a2d9b27d
+    d8f37fc9063bb175.f9ef670835301f88.c4fdcb7fd11b2959.2e63f01cb567e482
+    db0f1bf4b78db21a.3a9eee77a25e1e84.22fbf5f17d96e2fe.8e953c37a8485a8c
+    ef1f9862e9b77182.65de473ed931bb07.2187c2301ae2fa4f.28b3ddf59786d1c6
+    da894e419d2f045c
+  after
+    8980c8753a3532e4.c4073605759b02e6.ac42486e7ce694b3.2e517bb6a2d9b27d
+    d8f37fc9063bb175.f9ef670835301f88.c4fdcb7fd11b2959.2e63f01cb567e482
+    db0f1bf4b78db21a.3a9eee77a25e1e84.22fbf5f17d96e2fe.8e953c37a8485a8c
+    0000000000000000.0000000000000000.c4fdcb7fd11b2959.0000000000000000
+    da894e419d2f045c
+VROUNDPD_128_0x3(mem)
+  before
+    7ee20b07d74fb17c.6e71f37f37432957.547cef4af6b4b43c.1fef2ea8478caef8
+    f28c90335ff1924f.b54f26b83ec01745.e444618513f3c350.767e36c59d1f3aa4
+    10515ab154216304.20062f7798b777fa.f20219dd4ffaa56f.847fd5f4bb27d900
+    b5fee36dd0ebe2c5.0be2092ae4b6851f.5882933dc3d615c4.a33f069f3a31c9b8
+    310ac834b9c84477
+  after
+    7ee20b07d74fb17c.6e71f37f37432957.547cef4af6b4b43c.1fef2ea8478caef8
+    f28c90335ff1924f.b54f26b83ec01745.e444618513f3c350.767e36c59d1f3aa4
+    10515ab154216304.20062f7798b777fa.f20219dd4ffaa56f.847fd5f4bb27d900
+    0000000000000000.0000000000000000.547cef4af6b4b43c.0000000000000000
+    310ac834b9c84477
+
+VROUNDPD_128_0x3(reg)
+  before
+    882c141ed17887e9.be5fa954ef5cc9bf.d22fb13bbc487c63.f38f4b908d92d17c
+    06f0e8c820cecdbc.05402850ce7fd51d.d0392118bcf99a70.a0f7bec4c93b93c2
+    05a43fa042555399.676dda4e8861c20c.634b572c815618f2.398467c492dc17c3
+    e2921511d299552f.c0b13d3b3a0d4bb7.e6b34ee3a6ea3596.9b03c27c05811bab
+    a2404bd83d3659a5
+  after
+    882c141ed17887e9.be5fa954ef5cc9bf.d22fb13bbc487c63.f38f4b908d92d17c
+    06f0e8c820cecdbc.05402850ce7fd51d.d0392118bcf99a70.a0f7bec4c93b93c2
+    05a43fa042555399.676dda4e8861c20c.634b572c815618f2.398467c492dc17c3
+    0000000000000000.0000000000000000.d0392118bcf99a70.8000000000000000
+    a2404bd83d3659a5
+VROUNDPD_128_0x3(mem)
+  before
+    2b077ec556088ede.fa0766876c270f28.edd9cc02008f2d4b.b5bb02a9c8422b08
+    1023d82d6d027682.a74f2e6fad8abc31.c8b2038ff4f324f4.2cb070ea82e937f4
+    2e62d4fd9e31ccbc.46b66a33314e99f5.2e065ecd3546ebdd.a6de9212716b9504
+    618eee2204a04db8.338815409300e221.fba259aadc943f33.8191668e305480e7
+    1815e7c85c313547
+  after
+    2b077ec556088ede.fa0766876c270f28.edd9cc02008f2d4b.b5bb02a9c8422b08
+    1023d82d6d027682.a74f2e6fad8abc31.c8b2038ff4f324f4.2cb070ea82e937f4
+    2e62d4fd9e31ccbc.46b66a33314e99f5.2e065ecd3546ebdd.a6de9212716b9504
+    0000000000000000.0000000000000000.edd9cc02008f2d4b.8000000000000000
+    1815e7c85c313547
+
+VROUNDPD_128_0x4(reg)
+  before
+    c7b5112e908df0d1.8574a287bb5bb5a3.ca102b036f2bd260.0b51711107e7dc21
+    e9bee12a69f5ed30.76e06d17e06fbfa9.689ca9e6625ba65f.3ae121efd24d7ed4
+    dc7d512a82f46711.109ecac08ee729f6.67768957071d9aca.641ce52e58d1e078
+    fa3c5f9977169b20.2f7a356de2cfacb5.24ebc9c1fbfcea4c.65d03abbb680bf38
+    19c79a830765d741
+  after
+    c7b5112e908df0d1.8574a287bb5bb5a3.ca102b036f2bd260.0b51711107e7dc21
+    e9bee12a69f5ed30.76e06d17e06fbfa9.689ca9e6625ba65f.3ae121efd24d7ed4
+    dc7d512a82f46711.109ecac08ee729f6.67768957071d9aca.641ce52e58d1e078
+    0000000000000000.0000000000000000.689ca9e6625ba65f.0000000000000000
+    19c79a830765d741
+VROUNDPD_128_0x4(mem)
+  before
+    5cce8370678ce4be.a14707e3e5e8c508.af3f2a0af7340712.fb47648fd984d192
+    0ab07070f302a1dc.2bec437468f52075.6cbb2583ea21f43a.48d6562f3e428c47
+    fe3bdd6ec6d2cbc7.f67610b89bc9e915.41b8a3c4d6a23159.67e49c0cc5c15718
+    16394755fd081eaa.5c306b1b1af15c92.0c031fb9d8c3779a.b4bc30930b8e6eb1
+    8bab102eab330cbd
+  after
+    5cce8370678ce4be.a14707e3e5e8c508.af3f2a0af7340712.fb47648fd984d192
+    0ab07070f302a1dc.2bec437468f52075.6cbb2583ea21f43a.48d6562f3e428c47
+    fe3bdd6ec6d2cbc7.f67610b89bc9e915.41b8a3c4d6a23159.67e49c0cc5c15718
+    0000000000000000.0000000000000000.8000000000000000.fb47648fd984d192
+    8bab102eab330cbd
+
+VROUNDPD_128_0x4(reg)
+  before
+    48fd384a423f6ee9.2d782913b4b155b2.bb674f0982f8b598.a868154f0b91852a
+    46fea2536b3bcfe0.1fc2fe9306d82d0a.6d67b9ee6e6a2fd4.f1b301708b181535
+    e3fa4bb6c2b56d4f.c7e445c10f8962df.cf7ca3377bd407f2.c2af600a7663e4e6
+    7a3d30dee43882e1.03aa778aecd1af5c.3ef20b4e44c1799d.f92aac07e57eae6a
+    71ee6355f6752eec
+  after
+    48fd384a423f6ee9.2d782913b4b155b2.bb674f0982f8b598.a868154f0b91852a
+    46fea2536b3bcfe0.1fc2fe9306d82d0a.6d67b9ee6e6a2fd4.f1b301708b181535
+    e3fa4bb6c2b56d4f.c7e445c10f8962df.cf7ca3377bd407f2.c2af600a7663e4e6
+    0000000000000000.0000000000000000.6d67b9ee6e6a2fd4.f1b301708b181535
+    71ee6355f6752eec
+VROUNDPD_128_0x4(mem)
+  before
+    05c801dfc5552199.67124c366d514b44.aedf12d8b8bbd2ae.1415eca166bdc082
+    938400916c29439c.05c79b2cf88a0321.a351909890538501.ae30429b7c55194c
+    f6eede570afd5023.b2a61a2b2172e827.c0ca6fb78fa68480.689009a82314c0a8
+    09d1151db9de0357.c9fcc49f85923400.df182b1fd1bf8d58.9f813e33f686f142
+    ad4fdbab9238e7c5
+  after
+    05c801dfc5552199.67124c366d514b44.aedf12d8b8bbd2ae.1415eca166bdc082
+    938400916c29439c.05c79b2cf88a0321.a351909890538501.ae30429b7c55194c
+    f6eede570afd5023.b2a61a2b2172e827.c0ca6fb78fa68480.689009a82314c0a8
+    0000000000000000.0000000000000000.8000000000000000.0000000000000000
+    ad4fdbab9238e7c5
+
+VROUNDPD_128_0x4(reg)
+  before
+    ef46de7992b5dfde.aafb24cf95d71967.a51594f4c0782358.de053ebe74ab5ab5
+    c1b2430a92891538.b336845abbf44e7c.a43d89966caff3dc.975e267f9174a8c2
+    7fde04ca2f41c580.024fb2a846425dc5.21bf9cf128c4de38.e8ee5e4d462932ac
+    85181f2505682a62.71122ba653cc036c.77e9ca728d422117.ab836216afd3b69e
+    bee7aec5e780eec5
+  after
+    ef46de7992b5dfde.aafb24cf95d71967.a51594f4c0782358.de053ebe74ab5ab5
+    c1b2430a92891538.b336845abbf44e7c.a43d89966caff3dc.975e267f9174a8c2
+    7fde04ca2f41c580.024fb2a846425dc5.21bf9cf128c4de38.e8ee5e4d462932ac
+    0000000000000000.0000000000000000.8000000000000000.8000000000000000
+    bee7aec5e780eec5
+VROUNDPD_128_0x4(mem)
+  before
+    fbe8bf470a3b964c.2faa8e88af8a8189.dd4b6a41fd9ffc9e.040510833ab5f726
+    3f500f8635106c60.d9e1505ec93405a2.23c6eb6461c60486.22606992c8aa9e11
+    67ec1c6f830c2a2d.df095e12f0f1f458.1d4e2bfa9a4dd651.2f46d109d5ac5083
+    4d8761ef113a8dde.9d6eb512c04e8858.a8b1a4f1c5402f2a.85034556fd474928
+    81e3bfe4db08c7ae
+  after
+    fbe8bf470a3b964c.2faa8e88af8a8189.dd4b6a41fd9ffc9e.040510833ab5f726
+    3f500f8635106c60.d9e1505ec93405a2.23c6eb6461c60486.22606992c8aa9e11
+    67ec1c6f830c2a2d.df095e12f0f1f458.1d4e2bfa9a4dd651.2f46d109d5ac5083
+    0000000000000000.0000000000000000.dd4b6a41fd9ffc9e.0000000000000000
+    81e3bfe4db08c7ae
+
+VROUNDPD_256_0x0(reg)
+  before
+    80313d1f0c7904be.ceef5bf0fba751a0.6f5b52c9d3d6fe4e.a0b9d434fdaccb3e
+    dc3aba732b293d07.c6ef85605b5e319e.b01e30a3c81591e5.e23336af5e9c65b9
+    f24b334cd4a1ad33.12525a29506bea05.be014b0c39977eca.48eb464e051dbbc6
+    1faea216a47092ef.8ce55839f3db3801.f451a070c2e901a8.afad81fe0e3a8692
+    f34461a994ff8548
+  after
+    80313d1f0c7904be.ceef5bf0fba751a0.6f5b52c9d3d6fe4e.a0b9d434fdaccb3e
+    dc3aba732b293d07.c6ef85605b5e319e.b01e30a3c81591e5.e23336af5e9c65b9
+    f24b334cd4a1ad33.12525a29506bea05.be014b0c39977eca.48eb464e051dbbc6
+    dc3aba732b293d07.c6ef85605b5e319e.8000000000000000.e23336af5e9c65b9
+    f34461a994ff8548
+VROUNDPD_256_0x0(mem)
+  before
+    f07e643cb3797215.bdaf053d371f26e6.1174fb7b63b8d6bd.ae5a293b0096562c
+    822505a488b20b25.299c572e283ca5c5.7dcbbddbb9118166.4768e4d98e2bb801
+    8506c1cc2fb909a3.bfc0945313524d37.acb61c4514eff527.1dc6ccb7083364d5
+    d5ed129fc2972bbc.db66b81a95ed58e9.7a0093a58d60ee2d.8bc2dd3f0b3a9651
+    eca614df33cc8a24
+  after
+    f07e643cb3797215.bdaf053d371f26e6.1174fb7b63b8d6bd.ae5a293b0096562c
+    822505a488b20b25.299c572e283ca5c5.7dcbbddbb9118166.4768e4d98e2bb801
+    8506c1cc2fb909a3.bfc0945313524d37.acb61c4514eff527.1dc6ccb7083364d5
+    f07e643cb3797215.8000000000000000.0000000000000000.8000000000000000
+    eca614df33cc8a24
+
+VROUNDPD_256_0x0(reg)
+  before
+    9ebf6c021b767bf8.4ea6760b605a2b9b.d9dbc0ed499a0387.c3779ee7427027a4
+    fc59e11460c4a679.ccfd68fb230ec66d.166ba73acce48abc.63e5b9f84f295db7
+    61c06f809d404754.2bbd645b27bdb85e.ec62696cb9572835.361761c2cf994c93
+    2b4012b46e789935.47b4e7178975bc99.b80c02efad801a9d.18d91133decbb063
+    e5f7453599cc4454
+  after
+    9ebf6c021b767bf8.4ea6760b605a2b9b.d9dbc0ed499a0387.c3779ee7427027a4
+    fc59e11460c4a679.ccfd68fb230ec66d.166ba73acce48abc.63e5b9f84f295db7
+    61c06f809d404754.2bbd645b27bdb85e.ec62696cb9572835.361761c2cf994c93
+    fc59e11460c4a679.ccfd68fb230ec66d.0000000000000000.63e5b9f84f295db7
+    e5f7453599cc4454
+VROUNDPD_256_0x0(mem)
+  before
+    783c79b61ca7c592.b424c71b70f7d9c7.fcac6b1b64418f4b.d6b56e2f43ea9ca1
+    af762aa18268ef48.59ba88223e4a43b7.26726e54d42eed9f.a2a8aa981822e9ed
+    656fd2e2e71c7da3.774c533375fc13b0.a1d26bacf74791c2.7733b196c7b23f2c
+    76f4ef6568ce2cce.682724bbb1998460.4898df10e69839e0.b3a07f95ed28d80b
+    b13c10022510f035
+  after
+    783c79b61ca7c592.b424c71b70f7d9c7.fcac6b1b64418f4b.d6b56e2f43ea9ca1
+    af762aa18268ef48.59ba88223e4a43b7.26726e54d42eed9f.a2a8aa981822e9ed
+    656fd2e2e71c7da3.774c533375fc13b0.a1d26bacf74791c2.7733b196c7b23f2c
+    783c79b61ca7c592.8000000000000000.fcac6b1b64418f4b.d6b56e2f43ea9ca1
+    b13c10022510f035
+
+VROUNDPD_256_0x0(reg)
+  before
+    cd5361470bf5c557.bdd1fc16208ab8f6.8a97f5278caed370.f98f446dbf2e9f24
+    63306dd23c63911c.18d276e12c5ddc47.37e8c4e1a5c63c8e.8f8518ae9e147fba
+    cf21300e54e69132.62c3d7b2a75256ec.cc658c57966dfa66.e544d6be9e5797d0
+    6c70a666ee0b0042.766f9d76ae76e011.a55c49f4fb304ba4.d999fa8bdb01a190
+    4650000072205a26
+  after
+    cd5361470bf5c557.bdd1fc16208ab8f6.8a97f5278caed370.f98f446dbf2e9f24
+    63306dd23c63911c.18d276e12c5ddc47.37e8c4e1a5c63c8e.8f8518ae9e147fba
+    cf21300e54e69132.62c3d7b2a75256ec.cc658c57966dfa66.e544d6be9e5797d0
+    63306dd23c63911c.0000000000000000.0000000000000000.8000000000000000
+    4650000072205a26
+VROUNDPD_256_0x0(mem)
+  before
+    073565097fc07dbf.986acc48a65e1bfb.32a443175cd336e4.1f17f723709a68f3
+    fa13a4921cecc887.ae5b9c1f19691e07.712c4583ce77168f.94e39352933790ff
+    f9b8398768b0f5a9.098f1457e2ba4512.0ed420a41f6e3a3e.610c17ecfd94fd76
+    e2eea0d57d18c052.07522f5c9edccbc9.e7684f686bc35f1e.e2de815d4c3cec01
+    73a5cd121cbc994f
+  after
+    073565097fc07dbf.986acc48a65e1bfb.32a443175cd336e4.1f17f723709a68f3
+    fa13a4921cecc887.ae5b9c1f19691e07.712c4583ce77168f.94e39352933790ff
+    f9b8398768b0f5a9.098f1457e2ba4512.0ed420a41f6e3a3e.610c17ecfd94fd76
+    0000000000000000.8000000000000000.0000000000000000.0000000000000000
+    73a5cd121cbc994f
+
+VROUNDPD_256_0x1(reg)
+  before
+    70acf575089e400a.8f8256667731e7ae.02f0e99be95ceed8.d6b44dbacf82405b
+    3541f7f3ac701cde.dd40d528730624e8.58b43f7e5dc5e7ea.b883998667b79b20
+    1eaecef9a5be6a79.a9f49b058ca3342c.64eb2c7299a3f5ac.6aa3acb84e6f2a9a
+    874076f18f136684.cd6a23ebdf15d2a8.81e1ace4368352c9.c6de033ca0b5a9f4
+    a9011bfe7a96d65b
+  after
+    70acf575089e400a.8f8256667731e7ae.02f0e99be95ceed8.d6b44dbacf82405b
+    3541f7f3ac701cde.dd40d528730624e8.58b43f7e5dc5e7ea.b883998667b79b20
+    1eaecef9a5be6a79.a9f49b058ca3342c.64eb2c7299a3f5ac.6aa3acb84e6f2a9a
+    0000000000000000.dd40d528730624e8.58b43f7e5dc5e7ea.bff0000000000000
+    a9011bfe7a96d65b
+VROUNDPD_256_0x1(mem)
+  before
+    f0d86febf81c6bfb.cc43eb4905fb4bae.276deac58767bc85.0ce2bb3fd2ef3bef
+    752f7bed355625ff.4902296ca30256a1.91cb6a7ea0a6acf2.623a55ee0976ecc7
+    15d2bcf24d4dc094.5acb2dc606b5c309.e84e210447dd5e19.dd35775f76a1a000
+    ac8cace45d0ff7e6.5be8f2c3c99fcd93.08c38a4298189027.db1e1cfdb6fe9543
+    b64340346419043f
+  after
+    f0d86febf81c6bfb.cc43eb4905fb4bae.276deac58767bc85.0ce2bb3fd2ef3bef
+    752f7bed355625ff.4902296ca30256a1.91cb6a7ea0a6acf2.623a55ee0976ecc7
+    15d2bcf24d4dc094.5acb2dc606b5c309.e84e210447dd5e19.dd35775f76a1a000
+    f0d86febf81c6bfb.cc43eb4905fb4bae.0000000000000000.0000000000000000
+    b64340346419043f
+
+VROUNDPD_256_0x1(reg)
+  before
+    cbeedf701c7c2c9e.172bc9b180a78720.a8a774cf894db2eb.cdf62225ae64fc47
+    766cf61d7bb5470d.30798e44d3222c6e.9c52b056e149acbc.14b36397a6cb5fa6
+    14097fa81d509237.d4437889718ba1fd.9536a0c46e22f7b3.b7c5cb859b5c756f
+    ff10787b9dd749c9.df55016c77eea3f9.ee9f4285cb61d17c.93fad5dca920f9cf
+    841cfd86ed25a8f2
+  after
+    cbeedf701c7c2c9e.172bc9b180a78720.a8a774cf894db2eb.cdf62225ae64fc47
+    766cf61d7bb5470d.30798e44d3222c6e.9c52b056e149acbc.14b36397a6cb5fa6
+    14097fa81d509237.d4437889718ba1fd.9536a0c46e22f7b3.b7c5cb859b5c756f
+    766cf61d7bb5470d.0000000000000000.bff0000000000000.0000000000000000
+    841cfd86ed25a8f2
+VROUNDPD_256_0x1(mem)
+  before
+    66f8bf7182763e03.94cfdc0397d9a86e.2d7aa7d90057ee8e.02d89106959474c2
+    155a98878520762f.2f90a8ada8dfead3.9a80e5bc28d33ee7.2f2f8ab167461d32
+    6d0e02b6112e0ea1.2ca1d6e46b774ca4.023137010c6e4e30.d0ee27f4de040777
+    4ae07be943acbf86.e74c64137d2c098c.415b1994c832db96.4062663a95596f3e
+    ddd742ee28d19133
+  after
+    66f8bf7182763e03.94cfdc0397d9a86e.2d7aa7d90057ee8e.02d89106959474c2
+    155a98878520762f.2f90a8ada8dfead3.9a80e5bc28d33ee7.2f2f8ab167461d32
+    6d0e02b6112e0ea1.2ca1d6e46b774ca4.023137010c6e4e30.d0ee27f4de040777
+    66f8bf7182763e03.bff0000000000000.0000000000000000.0000000000000000
+    ddd742ee28d19133
+
+VROUNDPD_256_0x1(reg)
+  before
+    0199b77e34f9a901.889b7f0c37a7480a.bcde4da8798a5f38.33c80862772da145
+    0af4c155555cf354.030d880b072a6358.07a28e0efc1e8853.b4457f55356b5c69
+    52335ddf2586aada.960014d2d141ce9c.24e621b1a173c18a.a09dfa5b1ff6c72c
+    37a4868843030b3c.1f419e4eb1f94204.6ff504fd05154589.d39ef55f51dc9fbd
+    2812ed4de628a046
+  after
+    0199b77e34f9a901.889b7f0c37a7480a.bcde4da8798a5f38.33c80862772da145
+    0af4c155555cf354.030d880b072a6358.07a28e0efc1e8853.b4457f55356b5c69
+    52335ddf2586aada.960014d2d141ce9c.24e621b1a173c18a.a09dfa5b1ff6c72c
+    0000000000000000.0000000000000000.0000000000000000.bff0000000000000
+    2812ed4de628a046
+VROUNDPD_256_0x1(mem)
+  before
+    7dc75c10fae785f4.139138bd49605129.799ca269c25d7eba.441a325ec39151fb
+    ad87c096aa240bf2.44476fe8d329b94b.80dd9c1021793cea.ffa2a7417872218c
+    941f94cb11ecee6d.241227777ee87f4f.10cf0830e95a39c1.fcd95f10bf45f1ea
+    0d5b55994c49e991.103e5dd4e52bdfe0.044063b4360b316b.970b57393495fcbf
+    2c84892674ee7fb7
+  after
+    7dc75c10fae785f4.139138bd49605129.799ca269c25d7eba.441a325ec39151fb
+    ad87c096aa240bf2.44476fe8d329b94b.80dd9c1021793cea.ffa2a7417872218c
+    941f94cb11ecee6d.241227777ee87f4f.10cf0830e95a39c1.fcd95f10bf45f1ea
+    7dc75c10fae785f4.0000000000000000.799ca269c25d7eba.441a325ec39151fb
+    2c84892674ee7fb7
+
+VROUNDPD_256_0x2(reg)
+  before
+    168ff3451bdcb67f.f6067ded7649ba89.64160c6da57e15ab.3afa28872598df13
+    b3799101c4ecddc3.29ee8ab3acf81b82.7de830ac596b5c5b.8dcad397d20e00e6
+    5e8f5dc60ba92f2f.84ddf7d80960c8a7.b5fec5ff9e80f19d.d87ce1cf58785010
+    721b55008da0e96d.e2a14046aa907f25.69a5c8d10f490f1d.f9dccc1bd3e28bbc
+    cab5126760596c17
+  after
+    168ff3451bdcb67f.f6067ded7649ba89.64160c6da57e15ab.3afa28872598df13
+    b3799101c4ecddc3.29ee8ab3acf81b82.7de830ac596b5c5b.8dcad397d20e00e6
+    5e8f5dc60ba92f2f.84ddf7d80960c8a7.b5fec5ff9e80f19d.d87ce1cf58785010
+    8000000000000000.3ff0000000000000.7de830ac596b5c5b.8000000000000000
+    cab5126760596c17
+VROUNDPD_256_0x2(mem)
+  before
+    29d52e9f1ae8b04c.4d6a741be55c472c.1e04e2ebaa91fa27.f529348e4950f486
+    f0069db01e9c1388.4ac7b683b0698416.16d357b22571f6da.b5d605a2e724da85
+    fd15d984888050f6.c48017a48954ddd8.a4d91d87393b2e6a.05f73779854efec5
+    2ace600972a024c3.19df94ea0da88e1d.a5e4af56fffb6002.42dac680c05c9bf3
+    c6c9af2134d9eebb
+  after
+    29d52e9f1ae8b04c.4d6a741be55c472c.1e04e2ebaa91fa27.f529348e4950f486
+    f0069db01e9c1388.4ac7b683b0698416.16d357b22571f6da.b5d605a2e724da85
+    fd15d984888050f6.c48017a48954ddd8.a4d91d87393b2e6a.05f73779854efec5
+    3ff0000000000000.4d6a741be55c472c.3ff0000000000000.f529348e4950f486
+    c6c9af2134d9eebb
+
+VROUNDPD_256_0x2(reg)
+  before
+    ee12edca7c5133c8.54fdad29fb084b1b.a33227c2d7f1d392.f6be8a0b95be46cf
+    16ff7ce53451a6c7.586e3cd23cc58129.c0c3ce9684bbe7e2.71352892168f9cfd
+    99dc58e0f9648263.10ed89ef53e2811a.cadf85d4af9307bb.f41307d79f7b20b7
+    d5f77e2666170449.5945116c5c6c081a.1fd146e7f5056fc6.5925a2c64c8d8c29
+    7d37754c38d19d81
+  after
+    ee12edca7c5133c8.54fdad29fb084b1b.a33227c2d7f1d392.f6be8a0b95be46cf
+    16ff7ce53451a6c7.586e3cd23cc58129.c0c3ce9684bbe7e2.71352892168f9cfd
+    99dc58e0f9648263.10ed89ef53e2811a.cadf85d4af9307bb.f41307d79f7b20b7
+    3ff0000000000000.586e3cd23cc58129.c0c3ce8000000000.71352892168f9cfd
+    7d37754c38d19d81
+VROUNDPD_256_0x2(mem)
+  before
+    3c14fd537f530fe8.259be82218f46825.10434f34726dd254.19e70f3af19b5ab1
+    738ab4c93e209d8d.e5139442ab8aeaa2.0fb3bf36b2f49af4.156cda3b40e30528
+    fc6318999043049a.71ac7df1b962c56d.3361dd5b370a1e27.70aba5557d69acd7
+    b46ca4ae92c9003b.25b3a09ce10a3631.581925901dbd1719.84f16cf444b78b69
+    ae8a2985325bdd8a
+  after
+    3c14fd537f530fe8.259be82218f46825.10434f34726dd254.19e70f3af19b5ab1
+    738ab4c93e209d8d.e5139442ab8aeaa2.0fb3bf36b2f49af4.156cda3b40e30528
+    fc6318999043049a.71ac7df1b962c56d.3361dd5b370a1e27.70aba5557d69acd7
+    3ff0000000000000.3ff0000000000000.3ff0000000000000.3ff0000000000000
+    ae8a2985325bdd8a
+
+VROUNDPD_256_0x2(reg)
+  before
+    4ac2da72e3e1dfe8.7771d4f65fbd4c9e.5c71f7adbc0d789b.5aa714c1811844f6
+    b5e57a28f2d3cd2d.213e255c142ba5ec.74358091e9f8c956.15d625db7f285fe9
+    493e0514fbbfe205.8e9f12cccc20c754.c84a36b501556310.6573d4c832f8251e
+    631b77a09b315c1d.9a5f1732a3a76e00.b3fb1683a2b38372.264a9d76b69452c3
+    3427fdcf2809a201
+  after
+    4ac2da72e3e1dfe8.7771d4f65fbd4c9e.5c71f7adbc0d789b.5aa714c1811844f6
+    b5e57a28f2d3cd2d.213e255c142ba5ec.74358091e9f8c956.15d625db7f285fe9
+    493e0514fbbfe205.8e9f12cccc20c754.c84a36b501556310.6573d4c832f8251e
+    8000000000000000.3ff0000000000000.74358091e9f8c956.3ff0000000000000
+    3427fdcf2809a201
+VROUNDPD_256_0x2(mem)
+  before
+    6bd66fc1a362d007.5fc6cd3a6db47521.214cb07bb7cc551c.93961a69689b642b
+    a7236f3744ab99ff.998c024d0ed469bc.ff305991219b39d6.c36540d1ee9b44e4
+    c4d9791d26f0b915.6db91244191d769b.10d88f61ff21d657.9eb58329d13e5d4c
+    9ec6095f663eeb76.3799f98d2b1cd669.3010cdd86d6ae8ce.82d2dfdcac11eb0d
+    c90750561b9f2cd4
+  after
+    6bd66fc1a362d007.5fc6cd3a6db47521.214cb07bb7cc551c.93961a69689b642b
+    a7236f3744ab99ff.998c024d0ed469bc.ff305991219b39d6.c36540d1ee9b44e4
+    c4d9791d26f0b915.6db91244191d769b.10d88f61ff21d657.9eb58329d13e5d4c
+    6bd66fc1a362d007.5fc6cd3a6db47521.3ff0000000000000.8000000000000000
+    c90750561b9f2cd4
+
+VROUNDPD_256_0x3(reg)
+  before
+    d1a2d303bb745a4c.11b49ce91fa1ec4e.5377b493df5cc5d3.3ba48fe186802a65
+    f4ed634f271db222.f970ada86e2378c8.1da13dc3d2698185.0d60516766715948
+    9036fca7fc256f01.32c6b8866ed24a11.f16192879fd0442a.810f8f582a4931a4
+    ffc79a75d618cf96.978239713cba2055.2b04ae4ce31c4b6e.757ec69fed126da5
+    c4797128ccdaca76
+  after
+    d1a2d303bb745a4c.11b49ce91fa1ec4e.5377b493df5cc5d3.3ba48fe186802a65
+    f4ed634f271db222.f970ada86e2378c8.1da13dc3d2698185.0d60516766715948
+    9036fca7fc256f01.32c6b8866ed24a11.f16192879fd0442a.810f8f582a4931a4
+    f4ed634f271db222.f970ada86e2378c8.0000000000000000.0000000000000000
+    c4797128ccdaca76
+VROUNDPD_256_0x3(mem)
+  before
+    4acc0cdfe2ad0444.9eed39264f830c8d.066fad53f3e5b4bf.27d68e7e39dad2ff
+    e24314b04c95d63b.caf3d62706f16291.5a5b8f1aaf62c27c.41232c8a3d951487
+    6aaa038825a0fe86.dd276ce394ee0f4f.6e105bb08d3a08b7.d43786db8cd94eb2
+    bccd57518ada3652.34d3f7c598074d73.205b8d03a97b409d.3e5d97dcc232bc2d
+    dae35bfb7a2d9aa4
+  after
+    4acc0cdfe2ad0444.9eed39264f830c8d.066fad53f3e5b4bf.27d68e7e39dad2ff
+    e24314b04c95d63b.caf3d62706f16291.5a5b8f1aaf62c27c.41232c8a3d951487
+    6aaa038825a0fe86.dd276ce394ee0f4f.6e105bb08d3a08b7.d43786db8cd94eb2
+    4acc0cdfe2ad0444.8000000000000000.0000000000000000.0000000000000000
+    dae35bfb7a2d9aa4
+
+VROUNDPD_256_0x3(reg)
+  before
+    0413cfa3505523c3.b6778bf8964e3aca.2b45733babc759a8.4b08a1fe1e30275a
+    173aed40e1379434.33751b6a6608c81b.1ec7ddb06bba6f9a.cae3148d08657819
+    71a4b33ec85e28a6.0e93849215149a70.6aa63090746dcaf6.7bb7619c8427f106
+    6c9d1c09a2561dc3.259d405bc07f6df7.692e6847616ba768.38520418ad814c4f
+    df7e79eba07f451e
+  after
+    0413cfa3505523c3.b6778bf8964e3aca.2b45733babc759a8.4b08a1fe1e30275a
+    173aed40e1379434.33751b6a6608c81b.1ec7ddb06bba6f9a.cae3148d08657819
+    71a4b33ec85e28a6.0e93849215149a70.6aa63090746dcaf6.7bb7619c8427f106
+    0000000000000000.0000000000000000.0000000000000000.cae3148d08657819
+    df7e79eba07f451e
+VROUNDPD_256_0x3(mem)
+  before
+    4a083c02782e9a9f.6670250d0aacad38.525fcdb38254fcd9.78aa8141cf40429c
+    57bcca4a529905ff.ba6bc8b79dea15b0.73a4a685779f0544.f36877eb5979d63d
+    e0669ead49cd436a.c3d80371f69f90d8.623a48bdbc6d4264.36b247af9ba1a0f7
+    c2d234197ad50f0b.df04d1a9b2545c5b.fceb2d476dc96f65.9dd5ecfa3245dc77
+    841d6239baefc669
+  after
+    4a083c02782e9a9f.6670250d0aacad38.525fcdb38254fcd9.78aa8141cf40429c
+    57bcca4a529905ff.ba6bc8b79dea15b0.73a4a685779f0544.f36877eb5979d63d
+    e0669ead49cd436a.c3d80371f69f90d8.623a48bdbc6d4264.36b247af9ba1a0f7
+    4a083c02782e9a9f.6670250d0aacad38.525fcdb38254fcd9.78aa8141cf40429c
+    841d6239baefc669
+
+VROUNDPD_256_0x3(reg)
+  before
+    47d6a5d7ce2e9979.dacc097900bd270f.683b2ec96c97b3e6.1e84d310a5c04a72
+    424cb23f0a8b9252.021f97b9f89145a1.bbc9173fc1f4d125.a2d1b502805d8db8
+    d1cb83df0b94eda0.17985cc57d5e25ee.35f986764cf5f4c3.659e4f0a1bacf562
+    4f9e16226cd4e610.f503d389ab2f8522.301979daaa28566d.43b71d1591b93e9d
+    19e79c0dff912394
+  after
+    47d6a5d7ce2e9979.dacc097900bd270f.683b2ec96c97b3e6.1e84d310a5c04a72
+    424cb23f0a8b9252.021f97b9f89145a1.bbc9173fc1f4d125.a2d1b502805d8db8
+    d1cb83df0b94eda0.17985cc57d5e25ee.35f986764cf5f4c3.659e4f0a1bacf562
+    424cb23f0a8b8000.0000000000000000.8000000000000000.8000000000000000
+    19e79c0dff912394
+VROUNDPD_256_0x3(mem)
+  before
+    c1fc47e0803f6174.1a126774cad7b84e.792c78f19f111f68.0a73ebd7761934cf
+    18c09a7931d0b469.8d737041c02aa005.7ddfc8e9750fb0ed.1d54d8d94c52ca94
+    fa0011c42d4fd79e.040d2ff6eb58dae2.dee83d5d4835f4dc.c6083d4cc9615368
+    438829ad91c88740.da2c9efde6eea191.7812553a3490a662.61db159c89d20cf9
+    4a195c36272f31f0
+  after
+    c1fc47e0803f6174.1a126774cad7b84e.792c78f19f111f68.0a73ebd7761934cf
+    18c09a7931d0b469.8d737041c02aa005.7ddfc8e9750fb0ed.1d54d8d94c52ca94
+    fa0011c42d4fd79e.040d2ff6eb58dae2.dee83d5d4835f4dc.c6083d4cc9615368
+    c1fc47e080300000.0000000000000000.792c78f19f111f68.0000000000000000
+    4a195c36272f31f0
+
+VROUNDPD_256_0x4(reg)
+  before
+    de0e0e843f06fdfc.cf235d207848807a.6d1cbbc34e7732bd.272a8b6a562a83ab
+    770527f46ee3adc7.7a9f2909ffda7e79.182882b5be7fc913.c7fc5cdbca1247e2
+    724ba4f04f507dfe.20c60954418a3c69.369ded3ed293a23e.34544278ab51ad34
+    2b2c80e67fdba94c.9d6679ee5a657775.25c8fac9273ef8eb.4afebb2c15f572cc
+    e5c642e5250a52d7
+  after
+    de0e0e843f06fdfc.cf235d207848807a.6d1cbbc34e7732bd.272a8b6a562a83ab
+    770527f46ee3adc7.7a9f2909ffda7e79.182882b5be7fc913.c7fc5cdbca1247e2
+    724ba4f04f507dfe.20c60954418a3c69.369ded3ed293a23e.34544278ab51ad34
+    770527f46ee3adc7.7a9f2909ffda7e79.0000000000000000.c7fc5cdbca1247e2
+    e5c642e5250a52d7
+VROUNDPD_256_0x4(mem)
+  before
+    e177538ef69a0981.fef4b74199106c5e.cd49f6c16776ebca.3ff3a4c4590c08c5
+    1adf6b13a5b352f5.47ef456d3a7a03df.8c3cfbbb84c95493.e26be79a03890e7a
+    6cc804614d60eb60.626926d6fda5aa7c.b60a04c6cc6a6dfd.697bbfb7c14245b3
+    b2ff9c620aae8ded.abad57e87f1d9de0.27818dd05b66f333.2f71298730c3ea1e
+    91972076ec963967
+  after
+    e177538ef69a0981.fef4b74199106c5e.cd49f6c16776ebca.3ff3a4c4590c08c5
+    1adf6b13a5b352f5.47ef456d3a7a03df.8c3cfbbb84c95493.e26be79a03890e7a
+    6cc804614d60eb60.626926d6fda5aa7c.b60a04c6cc6a6dfd.697bbfb7c14245b3
+    e177538ef69a0981.fef4b74199106c5e.cd49f6c16776ebca.3ff0000000000000
+    91972076ec963967
+
+VROUNDPD_256_0x4(reg)
+  before
+    ec3aa0f090496e3a.ca50ae03faa8f7c9.7e08d30f5b6f17b9.ba6c12c44ec9a263
+    9aa6a562b867c442.8f87b731365ae320.37c796b72d2655b0.4d96108ec09d35b6
+    f9272b36017d782c.dd6f31d6dcd10e1d.32349c4d93cf9274.bbcc021acef0695b
+    63092fda0616c6a3.8fd69ae0081834ed.ca9be23b26f40caf.e0da645494cefa7c
+    978cb2282c42a345
+  after
+    ec3aa0f090496e3a.ca50ae03faa8f7c9.7e08d30f5b6f17b9.ba6c12c44ec9a263
+    9aa6a562b867c442.8f87b731365ae320.37c796b72d2655b0.4d96108ec09d35b6
+    f9272b36017d782c.dd6f31d6dcd10e1d.32349c4d93cf9274.bbcc021acef0695b
+    8000000000000000.8000000000000000.0000000000000000.4d96108ec09d35b6
+    978cb2282c42a345
+VROUNDPD_256_0x4(mem)
+  before
+    beae6982b55822e3.3598acb864bee954.83866d3ad53c10bb.5d4a63ef8424fd0d
+    300b044f481c3182.cb1f9e3eb6021eea.944c26cf5f475fb4.468c1bd449e8a23b
+    c870ff79039b8c4d.82eb01d7996da112.9df4428dc347dd03.e1ac065510ce36e5
+    64aad6ee02e0f171.b449d2efa88cae78.7c4a3b5f1d4846d5.89f720e07561f7b6
+    9cb966e0152e1f5b
+  after
+    beae6982b55822e3.3598acb864bee954.83866d3ad53c10bb.5d4a63ef8424fd0d
+    300b044f481c3182.cb1f9e3eb6021eea.944c26cf5f475fb4.468c1bd449e8a23b
+    c870ff79039b8c4d.82eb01d7996da112.9df4428dc347dd03.e1ac065510ce36e5
+    8000000000000000.0000000000000000.8000000000000000.5d4a63ef8424fd0d
+    9cb966e0152e1f5b
+
+VROUNDPD_256_0x4(reg)
+  before
+    753ed3c18bc0ea80.de83059860f71a1a.be830cf27fe980c7.0b198f3188545556
+    6fd263ef74a396d0.14c809653aedc473.fce5ab4cbc1254ac.282fb9f0207ac7b1
+    e8c012d76b635df8.e0445d40abcdaaa8.cabdab69f89366d2.ad56358602c35813
+    3a56dde30d8d7ca3.20c57d15cfa48ae7.845608b5d1f6f1e6.785b80e0493dc3a8
+    630a15eb12f3c59b
+  after
+    753ed3c18bc0ea80.de83059860f71a1a.be830cf27fe980c7.0b198f3188545556
+    6fd263ef74a396d0.14c809653aedc473.fce5ab4cbc1254ac.282fb9f0207ac7b1
+    e8c012d76b635df8.e0445d40abcdaaa8.cabdab69f89366d2.ad56358602c35813
+    6fd263ef74a396d0.0000000000000000.fce5ab4cbc1254ac.0000000000000000
+    630a15eb12f3c59b
+VROUNDPD_256_0x4(mem)
+  before
+    4c2f6f9178f11a18.c3debf80f5ad2e7e.ae15e5d0c37c1e5a.86fbbf9de3ca3394
+    0d960dc098447e4d.dda5b41bc04db034.6702125da364222d.2cf9cb8bc9986687
+    830b68638df7ac64.e6f7b81f09fb3e72.28567fa88a65548d.d29c28ed1feec66c
+    8a59fe6673176189.3820c7f76d4214e4.cbdea89d948d6ea6.d430d22e825791ee
+    8e01c6b98d5f01ba
+  after
+    4c2f6f9178f11a18.c3debf80f5ad2e7e.ae15e5d0c37c1e5a.86fbbf9de3ca3394
+    0d960dc098447e4d.dda5b41bc04db034.6702125da364222d.2cf9cb8bc9986687
+    830b68638df7ac64.e6f7b81f09fb3e72.28567fa88a65548d.d29c28ed1feec66c
+    4c2f6f9178f11a18.c3debf80f5ad2e7e.8000000000000000.8000000000000000
+    8e01c6b98d5f01ba
+
+VROUNDSS_0x0(reg)
+  before
+    5c5afffcdd93537c.ff4d49b568af59e9.316cde1187af6e35.2d660929dee72da3
+    9a8979620d7ec2df.bcb3c73c85cb4fb0.2b26f8d8f4cd8712.2ab91e3683804db1
+    a3d83057baad8b90.9e57f4e7e8770109.839c11b84f289c27.9fa564b2a06289fb
+    d594204780abea3a.81054aa2adc02821.9618251d344de81f.66f45688509c9eae
+    5c7370a3b03748f6
+  after
+    5c5afffcdd93537c.ff4d49b568af59e9.316cde1187af6e35.2d660929dee72da3
+    9a8979620d7ec2df.bcb3c73c85cb4fb0.2b26f8d8f4cd8712.2ab91e3683804db1
+    a3d83057baad8b90.9e57f4e7e8770109.839c11b84f289c27.9fa564b2a06289fb
+    0000000000000000.0000000000000000.839c11b84f289c27.9fa564b280000000
+    5c7370a3b03748f6
+VROUNDSS_0x0(mem)
+  before
+    5dee2ef1db4142fe.8b09469ff9041b8a.41894759efb28323.bee7317340c7a9a6
+    45310d5deec549f3.21839dc9c344592b.baae66f9ca57cc3c.58552f270f22196a
+    f00887d304d01900.f24d21327af8e1ca.c941236c5bbdc098.c0ad1da33beb7414
+    3a3e1a403a6d6e52.5cb5ce47b9abef13.480efaa0bdef1b62.523df65463adf853
+    6b4fb7a721f5dfd1
+  after
+    5dee2ef1db4142fe.8b09469ff9041b8a.41894759efb28323.bee7317340c7a9a6
+    45310d5deec549f3.21839dc9c344592b.baae66f9ca57cc3c.58552f270f22196a
+    f00887d304d01900.f24d21327af8e1ca.c941236c5bbdc098.c0ad1da33beb7414
+    0000000000000000.0000000000000000.839c11b84f289c27.9fa564b240c00000
+    6b4fb7a721f5dfd1
+
+VROUNDSS_0x0(reg)
+  before
+    65305a07114d663a.ffa1428eaba80315.ba05a0721deabfb1.14e168800dfa99c7
+    9d2ddddfd043c93c.1bfb79aa738e9574.678a942141408c51.0986e7f767e9f5f2
+    6f903b9df9634380.6a193d81af2ae09c.c190a5bfc139939f.03c9f5f3e5c8ec10
+    37a570ac293811b5.c8c708fd7b88a0b8.2263cfb83a621046.dd750e5fa6a43a4d
+    7558ac27c3889ad4
+  after
+    65305a07114d663a.ffa1428eaba80315.ba05a0721deabfb1.14e168800dfa99c7
+    9d2ddddfd043c93c.1bfb79aa738e9574.678a942141408c51.0986e7f767e9f5f2
+    6f903b9df9634380.6a193d81af2ae09c.c190a5bfc139939f.03c9f5f3e5c8ec10
+    0000000000000000.0000000000000000.c190a5bfc139939f.03c9f5f367e9f5f2
+    7558ac27c3889ad4
+VROUNDSS_0x0(mem)
+  before
+    a63c4d385a80c9d2.51ba7978fb4e6f85.11d1580cf2b590f5.e84f0e7848463ef3
+    4cee6c7c87998372.1919516d0c31989c.2103a99830bc6d7f.6da05f6b86715a51
+    433a85e065de83e1.eb10f3f7f76ecaa8.d328758f52a9f381.0fa1bdfd9070a00d
+    66ec1451115b874a.23e95e8358903f52.050d3adc7489dd28.289f249a03ce4cd2
+    15e690af7a17994d
+  after
+    a63c4d385a80c9d2.51ba7978fb4e6f85.11d1580cf2b590f5.e84f0e7848463ef3
+    4cee6c7c87998372.1919516d0c31989c.2103a99830bc6d7f.6da05f6b86715a51
+    433a85e065de83e1.eb10f3f7f76ecaa8.d328758f52a9f381.0fa1bdfd9070a00d
+    0000000000000000.0000000000000000.c190a5bfc139939f.03c9f5f348463f00
+    15e690af7a17994d
+
+VROUNDSS_0x0(reg)
+  before
+    33c2fea692d8c42a.93cf96b9a61d49db.1cf18b7bcc243349.927f736bb067e89f
+    dc7f68ede69c0914.a5b18506402f85bd.3474784defb4e437.56489c28254fd013
+    6d68ccee13efa3b8.785c5f23fc9df91f.c6bd1f635ccf8cc8.2c3431ffed4e50af
+    43cb2517b45ed0c2.e79d9ffbf6745f2a.2e1a7e2bb0fe68a9.f211afdd246f26a0
+    83aa91ace6be0c12
+  after
+    33c2fea692d8c42a.93cf96b9a61d49db.1cf18b7bcc243349.927f736bb067e89f
+    dc7f68ede69c0914.a5b18506402f85bd.3474784defb4e437.56489c28254fd013
+    6d68ccee13efa3b8.785c5f23fc9df91f.c6bd1f635ccf8cc8.2c3431ffed4e50af
+    0000000000000000.0000000000000000.c6bd1f635ccf8cc8.2c3431ff00000000
+    83aa91ace6be0c12
+VROUNDSS_0x0(mem)
+  before
+    baca535a5148be30.b8f270d36674c9dd.d040c27c49bf740d.c8d5911085cfb386
+    753e71d17e18fa27.292aa78ec4bdcdb5.0d114291118af3f2.ef3b527e7acdaa0a
+    8ed267ff8b3a7a23.f2bfc8b46bc616f7.7cdb9d266be29a06.0198bfe1298589e2
+    e352b2cf94bbfb4f.6ffdceb1f61ae14f.f76c4e2873d22374.5938d3a52e828cba
+    52678a362650ee3d
+  after
+    baca535a5148be30.b8f270d36674c9dd.d040c27c49bf740d.c8d5911085cfb386
+    753e71d17e18fa27.292aa78ec4bdcdb5.0d114291118af3f2.ef3b527e7acdaa0a
+    8ed267ff8b3a7a23.f2bfc8b46bc616f7.7cdb9d266be29a06.0198bfe1298589e2
+    0000000000000000.0000000000000000.c6bd1f635ccf8cc8.2c3431ff80000000
+    52678a362650ee3d
+
+VROUNDSS_0x1(reg)
+  before
+    4a71e000ac7bed18.4e8acd2cb4a638d8.fc30b5f102456a69.5c8ed28143674a69
+    9ba1d16f5d90c2f6.ad4534040808efe9.f5a37ae02ad4edf0.850ea31efaabcd10
+    a3445af0d41bac84.da516342abecdaaf.b6a417eb0a52a590.50b83fecb1ad6697
+    bca776edaea6e56d.b278d7d3b95eb555.9b7d8a7c3f4bcff6.975821d58776d227
+    37bac5c79514ccee
+  after
+    4a71e000ac7bed18.4e8acd2cb4a638d8.fc30b5f102456a69.5c8ed28143674a69
+    9ba1d16f5d90c2f6.ad4534040808efe9.f5a37ae02ad4edf0.850ea31efaabcd10
+    a3445af0d41bac84.da516342abecdaaf.b6a417eb0a52a590.50b83fecb1ad6697
+    0000000000000000.0000000000000000.b6a417eb0a52a590.50b83fecfaabcd10
+    37bac5c79514ccee
+VROUNDSS_0x1(mem)
+  before
+    0daaa7adf9921218.441321d486bfaa5e.12870ba14f6a3e08.007bce01644ca7ce
+    f3f34473cffd5ed1.95d75810f9f13703.d44a7b99881d2ff4.41eadfe416e068c4
+    c6621705325f6c44.0c3e150ca2c9c707.d58da3a781824544.ba16ba93f1944f83
+    62c39c4f3fc7fa9d.069356361dd29817.f21cffb856a63c25.c74a5a7990f398b7
+    c4d4bb028f897e0d
+  after
+    0daaa7adf9921218.441321d486bfaa5e.12870ba14f6a3e08.007bce01644ca7ce
+    f3f34473cffd5ed1.95d75810f9f13703.d44a7b99881d2ff4.41eadfe416e068c4
+    c6621705325f6c44.0c3e150ca2c9c707.d58da3a781824544.ba16ba93f1944f83
+    0000000000000000.0000000000000000.b6a417eb0a52a590.50b83fec644ca7ce
+    c4d4bb028f897e0d
+
+VROUNDSS_0x1(reg)
+  before
+    0dfed99a8be23f31.a4e24f3d113ec20a.dd2416f90898e3df.05c20cb72194cfc2
+    fe15b0ad1f8b15ce.668bacbbc4d281b4.ee3b52c1fca8e70a.eb4d458f0158bb48
+    f2653da7e80f3c91.858a30b5758ef3ca.962504fb978dde44.8087262e0ffebce3
+    473a7bf581fbf226.ddaa5618407fd376.2f2e2a1174d3053b.a03d2b7f6a938dbe
+    273bd16e2b22eb06
+  after
+    0dfed99a8be23f31.a4e24f3d113ec20a.dd2416f90898e3df.05c20cb72194cfc2
+    fe15b0ad1f8b15ce.668bacbbc4d281b4.ee3b52c1fca8e70a.eb4d458f0158bb48
+    f2653da7e80f3c91.858a30b5758ef3ca.962504fb978dde44.8087262e0ffebce3
+    0000000000000000.0000000000000000.962504fb978dde44.8087262e00000000
+    273bd16e2b22eb06
+VROUNDSS_0x1(mem)
+  before
+    f14c92e770b892e6.58df660187da7138.4ab89ace40b0dee4.16a2bf7030079898
+    da3eecd655603e8b.80a2fa399538f674.a88079c5912dd042.a7ccbf8567b4d30a
+    bedb5a27f526aa21.1dcd330747a1bc85.d3ce6de8500364b9.3efa26bab466f13b
+    79f159c76d1793d3.8aad0ed93aa20018.a76ef423983d5778.3876f17db3aa2fd7
+    ef8d1b39010bc88c
+  after
+    f14c92e770b892e6.58df660187da7138.4ab89ace40b0dee4.16a2bf7030079898
+    da3eecd655603e8b.80a2fa399538f674.a88079c5912dd042.a7ccbf8567b4d30a
+    bedb5a27f526aa21.1dcd330747a1bc85.d3ce6de8500364b9.3efa26bab466f13b
+    0000000000000000.0000000000000000.962504fb978dde44.8087262e00000000
+    ef8d1b39010bc88c
+
+VROUNDSS_0x1(reg)
+  before
+    c08ba05a3916fa03.e74a63a0d83eb5ce.228e861a0ac7fed8.002c896186e765a9
+    07bc7c4bf855ffeb.e4b3f6a052a7cc3d.43bc9736529af272.bad3a890350d4a78
+    206bab7ad95714ee.4cf78db1f85f934d.47833e99aea91792.b131cd9bc2bcc113
+    67e62a5379a574b8.fbe4a5c1e671c72a.8c2e75afbb7fabe3.c110756f480088a3
+    c63d1bf6e4e35857
+  after
+    c08ba05a3916fa03.e74a63a0d83eb5ce.228e861a0ac7fed8.002c896186e765a9
+    07bc7c4bf855ffeb.e4b3f6a052a7cc3d.43bc9736529af272.bad3a890350d4a78
+    206bab7ad95714ee.4cf78db1f85f934d.47833e99aea91792.b131cd9bc2bcc113
+    0000000000000000.0000000000000000.47833e99aea91792.b131cd9b00000000
+    c63d1bf6e4e35857
+VROUNDSS_0x1(mem)
+  before
+    9b843b1db173f059.3777f44073cd5cf7.cd45b8bb36e924ff.6c0b3ae415a9e812
+    1eb151d1ccbc0ad5.ee6b05ae635a0854.9de5448b07d465f9.446488a456b20acb
+    2a8fdafc50c863f8.e70e5a0ae6d8b47e.4991c41d733d4743.71865b5b1d264eb9
+    9aec518c59a5b7ee.7eacedbe98d49b1f.ac15b45d9630860a.4dbdb0760492f088
+    3555815fa7812ce6
+  after
+    9b843b1db173f059.3777f44073cd5cf7.cd45b8bb36e924ff.6c0b3ae415a9e812
+    1eb151d1ccbc0ad5.ee6b05ae635a0854.9de5448b07d465f9.446488a456b20acb
+    2a8fdafc50c863f8.e70e5a0ae6d8b47e.4991c41d733d4743.71865b5b1d264eb9
+    0000000000000000.0000000000000000.47833e99aea91792.b131cd9b00000000
+    3555815fa7812ce6
+
+VROUNDSS_0x2(reg)
+  before
+    8699cc84a37f3e7d.4c92326c045fc1e2.0f91bc3814d9fae3.a13d90378dbadd7a
+    9ad78c50931961f9.1b4ef9886d013e01.f608c2e2f6740d77.06d5d59773e60abe
+    ce59be2f14dad207.e2ec22cbaf97ea77.8e5efb2adb301087.b6a8fe6a65c0c702
+    7e6c5c8dc14ecc53.7f382a23e62d816f.35e0647b5f993ebe.8c83879a7e55d074
+    6633ec15dab0e33e
+  after
+    8699cc84a37f3e7d.4c92326c045fc1e2.0f91bc3814d9fae3.a13d90378dbadd7a
+    9ad78c50931961f9.1b4ef9886d013e01.f608c2e2f6740d77.06d5d59773e60abe
+    ce59be2f14dad207.e2ec22cbaf97ea77.8e5efb2adb301087.b6a8fe6a65c0c702
+    0000000000000000.0000000000000000.8e5efb2adb301087.b6a8fe6a73e60abe
+    6633ec15dab0e33e
+VROUNDSS_0x2(mem)
+  before
+    1e82a9c597deba8c.065c64d636028d88.ccfd8c7c2fd0be16.46d8f7411d3cd4c9
+    923d3b98cee9128b.c375d17610814f53.a709c4c0a58b5e97.1c93b2e8b1a30e54
+    9c2f1d799ddfa667.0f039fd9eb584e5f.ea264edc656a1d1f.155c90dcb85d270a
+    1a26cb5420cc344b.4751cb6b6211c859.7321a7bc8a7ab6d9.8b818e89cdf35c98
+    dc4ca65c8df3e9a9
+  after
+    1e82a9c597deba8c.065c64d636028d88.ccfd8c7c2fd0be16.46d8f7411d3cd4c9
+    923d3b98cee9128b.c375d17610814f53.a709c4c0a58b5e97.1c93b2e8b1a30e54
+    9c2f1d799ddfa667.0f039fd9eb584e5f.ea264edc656a1d1f.155c90dcb85d270a
+    0000000000000000.0000000000000000.8e5efb2adb301087.b6a8fe6a3f800000
+    dc4ca65c8df3e9a9
+
+VROUNDSS_0x2(reg)
+  before
+    630bd6bf93e80aea.e6ecc11572bb7664.c7ac4f99123af7ed.1cc6494d31c6e6f2
+    7b0819207c5ffa06.dd4f7ca8afb828dd.eb6129cd955f18c6.c3e1b27a755b6996
+    81906be9e3e3f6aa.dc1976f9f4cf08e3.0fba54758a0b6791.423e5d2e7344fbf0
+    d2efc88865003a82.bd172df55d0dd0a2.8f04cdfb8bca1ff9.76a9c757468d572d
+    3ced6ae00b423a78
+  after
+    630bd6bf93e80aea.e6ecc11572bb7664.c7ac4f99123af7ed.1cc6494d31c6e6f2
+    7b0819207c5ffa06.dd4f7ca8afb828dd.eb6129cd955f18c6.c3e1b27a755b6996
+    81906be9e3e3f6aa.dc1976f9f4cf08e3.0fba54758a0b6791.423e5d2e7344fbf0
+    0000000000000000.0000000000000000.0fba54758a0b6791.423e5d2e755b6996
+    3ced6ae00b423a78
+VROUNDSS_0x2(mem)
+  before
+    6ed7c4b5dd7060fe.c8702d689d430139.5d151d86047d3d45.c78a8ecd34287dab
+    e93350c2d82284eb.c16195f52737887c.99dec09a082c0bf9.129a955622b2bd53
+    89cd8af31965646a.170cfc9ba0680bf7.4b40941b8325f5ea.ce7edd02f0f31b9c
+    2a71ef34bc44b9a8.27be5ec6a463c655.500514f79174b843.5684623d3b78d232
+    06f620739ecb1fc3
+  after
+    6ed7c4b5dd7060fe.c8702d689d430139.5d151d86047d3d45.c78a8ecd34287dab
+    e93350c2d82284eb.c16195f52737887c.99dec09a082c0bf9.129a955622b2bd53
+    89cd8af31965646a.170cfc9ba0680bf7.4b40941b8325f5ea.ce7edd02f0f31b9c
+    0000000000000000.0000000000000000.0fba54758a0b6791.423e5d2e3f800000
+    06f620739ecb1fc3
+
+VROUNDSS_0x2(reg)
+  before
+    3a211410b67b3df9.a9ebfa72dccb42d1.4dc3b8e2ceb3f442.84fabc194f251030
+    4d5039811e116a80.e00626979506b910.e667045bbae4d26c.c3eb086dd845b8de
+    9dd18b30731be005.ac8ff2910402db91.4cf6409e05839c7c.e9a474de48e06d79
+    85ee068a5024dc34.e953d74a45cb6481.dcbb68154b1b8d21.d2f17d5bbd00eb2d
+    5a9e9ecd50b3ee25
+  after
+    3a211410b67b3df9.a9ebfa72dccb42d1.4dc3b8e2ceb3f442.84fabc194f251030
+    4d5039811e116a80.e00626979506b910.e667045bbae4d26c.c3eb086dd845b8de
+    9dd18b30731be005.ac8ff2910402db91.4cf6409e05839c7c.e9a474de48e06d79
+    0000000000000000.0000000000000000.4cf6409e05839c7c.e9a474ded845b8de
+    5a9e9ecd50b3ee25
+VROUNDSS_0x2(mem)
+  before
+    5d7653211f04318d.60f5a7fc52b999b8.731b52b0736b100c.f204762e2738e305
+    b746194346007192.8c3068f11465553e.26b6e0aeaaf09a5e.ea1b68533567d8d4
+    44da6a20e0b26a60.63ec47d532b44a72.deeffc300765bfa2.204d38f21233a83c
+    e0fec4a20926d823.43753f134933b4ff.77922222a5d73b04.f0e6e476592990e6
+    b632684ba7d3cd81
+  after
+    5d7653211f04318d.60f5a7fc52b999b8.731b52b0736b100c.f204762e2738e305
+    b746194346007192.8c3068f11465553e.26b6e0aeaaf09a5e.ea1b68533567d8d4
+    44da6a20e0b26a60.63ec47d532b44a72.deeffc300765bfa2.204d38f21233a83c
+    0000000000000000.0000000000000000.4cf6409e05839c7c.e9a474de3f800000
+    b632684ba7d3cd81
+
+VROUNDSS_0x3(reg)
+  before
+    ce7cbedd97bf98b7.677ea2b7de697606.86174d19f56dd192.cc6acf70a151c9b1
+    9412e498c6793034.b526804a7b860135.8a1d6b52d1eedbd6.bb447e0616df26d5
+    643ed5e8cf8ccfa6.a6c1db46fb8935dd.a9d4972b79420f78.1fecaad0208e0e9b
+    9a4d8d394e84b2b6.151c2e997a7fcd2a.4189cc0e8af6a823.d42ed1badd693c30
+    b6d66fb1667c6ec0
+  after
+    ce7cbedd97bf98b7.677ea2b7de697606.86174d19f56dd192.cc6acf70a151c9b1
+    9412e498c6793034.b526804a7b860135.8a1d6b52d1eedbd6.bb447e0616df26d5
+    643ed5e8cf8ccfa6.a6c1db46fb8935dd.a9d4972b79420f78.1fecaad0208e0e9b
+    0000000000000000.0000000000000000.a9d4972b79420f78.1fecaad000000000
+    b6d66fb1667c6ec0
+VROUNDSS_0x3(mem)
+  before
+    a0affe9fd9d45e76.928b08f8e0ed1513.e004f52e15738647.ac8606689f96e484
+    7087fc72527cc87f.a844438f21543367.e243acf1e7711c61.471842a655acfd47
+    0128e415ec806a06.38c4396cac44495e.f6a5cfcf0d864aa4.6f8a7a3247c62f17
+    2e5f3274c3edfe38.9d56e6fa1d4a93a5.faf8dbb2a2bdce3b.7e2aac7a1270b8a1
+    d142d4e95134d290
+  after
+    a0affe9fd9d45e76.928b08f8e0ed1513.e004f52e15738647.ac8606689f96e484
+    7087fc72527cc87f.a844438f21543367.e243acf1e7711c61.471842a655acfd47
+    0128e415ec806a06.38c4396cac44495e.f6a5cfcf0d864aa4.6f8a7a3247c62f17
+    0000000000000000.0000000000000000.a9d4972b79420f78.1fecaad080000000
+    d142d4e95134d290
+
+VROUNDSS_0x3(reg)
+  before
+    c420eceaa1a0ba91.d5f8637bf4ce4140.354846a411f14de8.c9074a87c3226253
+    b40ef1eb9d40ac50.d0bff1169b30ee4c.5be455d824c5b2d2.3e9d9a3b8bc2c217
+    fb59e057e29ee378.fd805a31d31dc285.6a771001f152ff10.378747b817a8acb4
+    f64db49a0b499cb6.360619b8b8a4791a.c04d728b14256f4e.8e91cbec82e1da55
+    2187a4c2e8770927
+  after
+    c420eceaa1a0ba91.d5f8637bf4ce4140.354846a411f14de8.c9074a87c3226253
+    b40ef1eb9d40ac50.d0bff1169b30ee4c.5be455d824c5b2d2.3e9d9a3b8bc2c217
+    fb59e057e29ee378.fd805a31d31dc285.6a771001f152ff10.378747b817a8acb4
+    0000000000000000.0000000000000000.6a771001f152ff10.378747b880000000
+    2187a4c2e8770927
+VROUNDSS_0x3(mem)
+  before
+    ca354d266679f456.01356921b4ca13b6.591eaa9767cecf34.b8b277e22aca4037
+    6767420418f0590d.785ffc567aaf8323.40958abbfba98002.adf11b73cecbac78
+    d2e8ff4819eaf279.b71567a6f98329a9.c935340e914047ae.fd585ba89db6f0bc
+    e88501de85727bc6.1aa4a87eccd241f5.ceca247e449fe165.023131ee321647b0
+    1ac99bb22a78efff
+  after
+    ca354d266679f456.01356921b4ca13b6.591eaa9767cecf34.b8b277e22aca4037
+    6767420418f0590d.785ffc567aaf8323.40958abbfba98002.adf11b73cecbac78
+    d2e8ff4819eaf279.b71567a6f98329a9.c935340e914047ae.fd585ba89db6f0bc
+    0000000000000000.0000000000000000.6a771001f152ff10.378747b800000000
+    1ac99bb22a78efff
+
+VROUNDSS_0x3(reg)
+  before
+    9f6c955f20672256.860ac2b27994b21f.fd58ba488f2907b3.2d22d6f531d30952
+    ef661960b16f1c61.8643c0b0115d51b0.bc7d9a72df13b68e.c008c66173e77da2
+    64022523781d1bcb.c5fc77c568d815a7.b35f4267581d8b33.644771ad26e8f780
+    5b8eb31311fc5941.200161db9a12ba2d.3e4ab09394d1c24e.f5ac51c568e13319
+    5003e49552deef99
+  after
+    9f6c955f20672256.860ac2b27994b21f.fd58ba488f2907b3.2d22d6f531d30952
+    ef661960b16f1c61.8643c0b0115d51b0.bc7d9a72df13b68e.c008c66173e77da2
+    64022523781d1bcb.c5fc77c568d815a7.b35f4267581d8b33.644771ad26e8f780
+    0000000000000000.0000000000000000.b35f4267581d8b33.644771ad73e77da2
+    5003e49552deef99
+VROUNDSS_0x3(mem)
+  before
+    4f18a60902ebe52b.3154c29c1998136f.711dfce0c416fb71.b989df6232be978a
+    cfb7110d9415d2fc.40a24b2a2c7e8500.951ec2be01f0959d.7f69cb40cc6d4594
+    acaca38e23687237.e5c24b29e539eaa0.68ce32636ead44dd.ee367099fe6c0917
+    c2c2d776cbee8009.7d00bf06e0557ffd.c6fac5ba2658c35f.613ccbd965461fc0
+    34c7d76c9c88c23b
+  after
+    4f18a60902ebe52b.3154c29c1998136f.711dfce0c416fb71.b989df6232be978a
+    cfb7110d9415d2fc.40a24b2a2c7e8500.951ec2be01f0959d.7f69cb40cc6d4594
+    acaca38e23687237.e5c24b29e539eaa0.68ce32636ead44dd.ee367099fe6c0917
+    0000000000000000.0000000000000000.b35f4267581d8b33.644771ad00000000
+    34c7d76c9c88c23b
+
+VROUNDSS_0x4(reg)
+  before
+    c22390bf3fbc2f33.edc629b3a9b5b99e.62aaa22bba5f80c0.8b6ef8af46fdcf4d
+    699bf23ceb71a255.0985152fd8c8d921.f10bf0050fe22898.93f5482ee9a824d3
+    847dfa513c30574c.f2c918d875349bbf.866ea601796ab42f.ba5d30232b667e1e
+    6e13a269cd8789c5.845ead999c04bca3.7d20be8a97846031.dc702c7b29439859
+    d5fcb920ff492fb2
+  after
+    c22390bf3fbc2f33.edc629b3a9b5b99e.62aaa22bba5f80c0.8b6ef8af46fdcf4d
+    699bf23ceb71a255.0985152fd8c8d921.f10bf0050fe22898.93f5482ee9a824d3
+    847dfa513c30574c.f2c918d875349bbf.866ea601796ab42f.ba5d30232b667e1e
+    0000000000000000.0000000000000000.866ea601796ab42f.ba5d3023e9a824d3
+    d5fcb920ff492fb2
+VROUNDSS_0x4(mem)
+  before
+    81cb51ffc886ff52.85aae8ef3b01756b.9b12505e6744f8fa.326d360b03bb684c
+    bcaa7205a105c468.238ec751212b57eb.13b07d13f5010bf0.01a109f2599c0729
+    6265971ca4d3391e.a60a3cfa1b906af1.c803b0a45f46b0b0.460833aa36b17a77
+    4fc73c32f0fb1ba0.686c4156c6bceb28.96d866fdc41fa567.5deeb19f3588fde0
+    a29e7d3df2adcc10
+  after
+    81cb51ffc886ff52.85aae8ef3b01756b.9b12505e6744f8fa.326d360b03bb684c
+    bcaa7205a105c468.238ec751212b57eb.13b07d13f5010bf0.01a109f2599c0729
+    6265971ca4d3391e.a60a3cfa1b906af1.c803b0a45f46b0b0.460833aa36b17a77
+    0000000000000000.0000000000000000.866ea601796ab42f.ba5d302300000000
+    a29e7d3df2adcc10
+
+VROUNDSS_0x4(reg)
+  before
+    716595f00bab22b4.5f9ede329f89261b.c7fed4d1bd3c163d.59fb1a0a3d99a340
+    2690f425190e3c78.6db4f708cd8a15bb.1d0df0d89d9b27dc.ec3848b7e8bf6968
+    1d699746ba625508.57d605a09709a5ac.c7e691d5026559b0.2d5b6cf1e19db10b
+    b23c78c18a34ab0f.f8d084e618129218.22d2b4368727e965.f72f03a243403854
+    268287b82bb3ba6f
+  after
+    716595f00bab22b4.5f9ede329f89261b.c7fed4d1bd3c163d.59fb1a0a3d99a340
+    2690f425190e3c78.6db4f708cd8a15bb.1d0df0d89d9b27dc.ec3848b7e8bf6968
+    1d699746ba625508.57d605a09709a5ac.c7e691d5026559b0.2d5b6cf1e19db10b
+    0000000000000000.0000000000000000.c7e691d5026559b0.2d5b6cf1e8bf6968
+    268287b82bb3ba6f
+VROUNDSS_0x4(mem)
+  before
+    951e761eb402f28a.40579500240f7839.2c6eeec66db2972e.88205465c86c13a9
+    22d04cc0fa3a9dcf.2505e9712480f933.ce7cc02db1f47218.561b6dd062c01225
+    a764838a1a66776a.bc91707f271269a9.bcc5770501e5dd03.e90efbe1f0b02388
+    02a699682f923c88.61482796c9510646.d0178e3b788f941a.9b47fa060ec7827c
+    c91067aa5a916bae
+  after
+    951e761eb402f28a.40579500240f7839.2c6eeec66db2972e.88205465c86c13a9
+    22d04cc0fa3a9dcf.2505e9712480f933.ce7cc02db1f47218.561b6dd062c01225
+    a764838a1a66776a.bc91707f271269a9.bcc5770501e5dd03.e90efbe1f0b02388
+    0000000000000000.0000000000000000.c7e691d5026559b0.2d5b6cf1c86c13c0
+    c91067aa5a916bae
+
+VROUNDSS_0x4(reg)
+  before
+    cfb63c396d9b19c9.0e62084656cba755.6f760822a5c90ab7.e83c81bc3300558a
+    0984771fe570c97a.a6634e10ab1c75fc.4467118f5707b1a8.de01cd734d44da7e
+    d3c813c85e9cb76c.a876e7b2489262aa.3b673d497c9639c4.9032ed4be366e024
+    89cd0da173ac1e4c.ee684d194c37298b.afc289bcaf03dcb8.d89a5c32107222a5
+    94079913f0745e30
+  after
+    cfb63c396d9b19c9.0e62084656cba755.6f760822a5c90ab7.e83c81bc3300558a
+    0984771fe570c97a.a6634e10ab1c75fc.4467118f5707b1a8.de01cd734d44da7e
+    d3c813c85e9cb76c.a876e7b2489262aa.3b673d497c9639c4.9032ed4be366e024
+    0000000000000000.0000000000000000.3b673d497c9639c4.9032ed4b4d44da7e
+    94079913f0745e30
+VROUNDSS_0x4(mem)
+  before
+    9e431ddaa0794eee.87de6014c02b3cc6.5503fe2fd01a87ca.fec3ef548dd9d72f
+    d41c65733c8cae0e.2948078fe2a64b85.ba1375e2f3443893.82b76d7eb1a465d6
+    105ceecbdfba3cba.cb57007c75a78736.f7662e1ccec3f814.99eafea4b8f1c358
+    2fd033cca50db21f.c957474914bc2e84.e9c7a5cb80a28276.9da89e343d4b2d62
+    eb3d4a99dd3edfa0
+  after
+    9e431ddaa0794eee.87de6014c02b3cc6.5503fe2fd01a87ca.fec3ef548dd9d72f
+    d41c65733c8cae0e.2948078fe2a64b85.ba1375e2f3443893.82b76d7eb1a465d6
+    105ceecbdfba3cba.cb57007c75a78736.f7662e1ccec3f814.99eafea4b8f1c358
+    0000000000000000.0000000000000000.3b673d497c9639c4.9032ed4b80000000
+    eb3d4a99dd3edfa0
+
+VROUNDSS_0x5(reg)
+  before
+    e0f5fc3e335715bd.0d44b063ab94cd68.7f94d6615b717a1c.6d0157da22ee93e8
+    d61bb291db210a66.8783e27d0c5849c2.4959ab30e751a8a9.5de1bf35d2b1e794
+    2bfd67fd7228fb47.775b4304e567e158.83f4c12153e8f3d9.963359c8acfa39a7
+    39e517ee94f9230b.ba9651e651cc5257.89af14a23cc29855.f4c3a17fcbd2474c
+    535d14464b47cab0
+  after
+    e0f5fc3e335715bd.0d44b063ab94cd68.7f94d6615b717a1c.6d0157da22ee93e8
+    d61bb291db210a66.8783e27d0c5849c2.4959ab30e751a8a9.5de1bf35d2b1e794
+    2bfd67fd7228fb47.775b4304e567e158.83f4c12153e8f3d9.963359c8acfa39a7
+    0000000000000000.0000000000000000.83f4c12153e8f3d9.963359c8d2b1e794
+    535d14464b47cab0
+VROUNDSS_0x5(mem)
+  before
+    90cd2c0a496481fe.5d20bfd1dc1fc05e.2c01870e6d9458eb.b6d7a11f3d6cd3cc
+    85de67b5e1362663.f3fa5a10e6260ced.a968626854caae3f.68b86202f371e0e8
+    0f5d40352ec8760b.58bee4184f9b4364.0d975ce0237a1180.fa9e55b8f95efa55
+    0a1734744c262d21.e6ba5956b309a36f.345af362f5b03dd9.c8d575aeecbe5ec0
+    2da8be4e671d48d5
+  after
+    90cd2c0a496481fe.5d20bfd1dc1fc05e.2c01870e6d9458eb.b6d7a11f3d6cd3cc
+    85de67b5e1362663.f3fa5a10e6260ced.a968626854caae3f.68b86202f371e0e8
+    0f5d40352ec8760b.58bee4184f9b4364.0d975ce0237a1180.fa9e55b8f95efa55
+    0000000000000000.0000000000000000.83f4c12153e8f3d9.963359c800000000
+    2da8be4e671d48d5
+
+VROUNDSS_0x5(reg)
+  before
+    87642d060708f43f.52d6bd60585d07d2.fa38b534acfc66b9.fa7da2dae779ee77
+    3056bd40670a9dab.c36659e46d77bf49.f086f520d901c9ee.3bcbe53414e1df86
+    86c8696a23af80c5.399583eca88312b3.24ee1485d4a308bc.d311385c98f2cd31
+    e40630efd883d938.902eb764248abc3b.f2bd0ecf396e5ecc.9e1b183f90ba74a5
+    78b500c71845900d
+  after
+    87642d060708f43f.52d6bd60585d07d2.fa38b534acfc66b9.fa7da2dae779ee77
+    3056bd40670a9dab.c36659e46d77bf49.f086f520d901c9ee.3bcbe53414e1df86
+    86c8696a23af80c5.399583eca88312b3.24ee1485d4a308bc.d311385c98f2cd31
+    0000000000000000.0000000000000000.24ee1485d4a308bc.d311385c00000000
+    78b500c71845900d
+VROUNDSS_0x5(mem)
+  before
+    3dab6ce24b9ddc96.a55e0b3b2213e3b1.a4fc7238fe9a780f.b63edf69a5ef08cd
+    c9c9d87b45d0156c.271bf8ba9cebdbdb.50cc2e5451bf0358.ccbf83c1b3b14269
+    f8dac17e23eaf7ba.c488f1d8e295fd63.726a69a43a031945.908af743ff41474c
+    a5aba1d700f53dac.d9f2f402919f85f4.e5a29e15d4747500.5eed3659272a5523
+    92323c70c4f8a69a
+  after
+    3dab6ce24b9ddc96.a55e0b3b2213e3b1.a4fc7238fe9a780f.b63edf69a5ef08cd
+    c9c9d87b45d0156c.271bf8ba9cebdbdb.50cc2e5451bf0358.ccbf83c1b3b14269
+    f8dac17e23eaf7ba.c488f1d8e295fd63.726a69a43a031945.908af743ff41474c
+    0000000000000000.0000000000000000.24ee1485d4a308bc.d311385c80000000
+    92323c70c4f8a69a
+
+VROUNDSS_0x5(reg)
+  before
+    88a605f57437765d.ae09f672f9ffa470.c3a5fda24494ae3b.85404a913c1ed5b5
+    9b958e52d3740317.eebe3b3b2914e830.dced06259801b5e4.2d0fe7068d0bf391
+    294ad2f57c3a8774.4196ed1ead3ec418.81160df82871d69a.bbddf35ee3498bc0
+    8d13cd480b163e21.825f8607a18bf655.0f6c0d8691704c0a.0a74e9875be45b6d
+    f5a1456c11e71dc5
+  after
+    88a605f57437765d.ae09f672f9ffa470.c3a5fda24494ae3b.85404a913c1ed5b5
+    9b958e52d3740317.eebe3b3b2914e830.dced06259801b5e4.2d0fe7068d0bf391
+    294ad2f57c3a8774.4196ed1ead3ec418.81160df82871d69a.bbddf35ee3498bc0
+    0000000000000000.0000000000000000.81160df82871d69a.bbddf35e80000000
+    f5a1456c11e71dc5
+VROUNDSS_0x5(mem)
+  before
+    5a3083f9205e8ef4.233a7bb91d9266ca.8fe484e21f073813.e03a023a6e8b55df
+    14ed201aa4556925.460dd8b34e3d391a.42f0629c45bc467d.51cde8825c4d2ac6
+    fea497bbbad96b85.54d6e1a239a0f4be.79509c202fb9dec0.be71bcc9f6430a6b
+    f62064c87df5503f.a8e191f27a49d362.0ed0af59f807ba08.8372787bd9f72f79
+    fd1c1a04a0f7d69d
+  after
+    5a3083f9205e8ef4.233a7bb91d9266ca.8fe484e21f073813.e03a023a6e8b55df
+    14ed201aa4556925.460dd8b34e3d391a.42f0629c45bc467d.51cde8825c4d2ac6
+    fea497bbbad96b85.54d6e1a239a0f4be.79509c202fb9dec0.be71bcc9f6430a6b
+    0000000000000000.0000000000000000.81160df82871d69a.bbddf35e6e8b55df
+    fd1c1a04a0f7d69d
+
+VROUNDSD_0x0(reg)
+  before
+    86bb9ed0e7cf3b82.d62e032d0ab5d480.9d7ce40faec311b1.df3c1535bdb49780
+    7b9afe4c4b099ad5.7c9bf1d77c26b373.91f2d665709beb58.c6604c9f99cb3054
+    380738e268342e42.c231a8b0f053a845.de8e64615d5c9d02.a108cf83a85843b2
+    194c47ffd9d93474.85bca6a681497022.e29e896d1092635c.4aff1bcd07688ac4
+    9f12aa69d206c1b6
+  after
+    86bb9ed0e7cf3b82.d62e032d0ab5d480.9d7ce40faec311b1.df3c1535bdb49780
+    7b9afe4c4b099ad5.7c9bf1d77c26b373.91f2d665709beb58.c6604c9f99cb3054
+    380738e268342e42.c231a8b0f053a845.de8e64615d5c9d02.a108cf83a85843b2
+    0000000000000000.0000000000000000.de8e64615d5c9d02.c6604c9f99cb3054
+    9f12aa69d206c1b6
+VROUNDSD_0x0(mem)
+  before
+    7a0dfa43243fa6b5.7ab627103a86e718.a20a66a34c12c635.f76c41f726ca7811
+    b8bc8647191ef3ed.b791d48028c685d9.f3e665956cbd68ab.7b4588693a8f19ce
+    35ebca62ceaf6589.2b294aba3e254864.551b1d67fe5310b0.c8745a31e96d823f
+    ce66437e5efeb7b6.34c9862c19306d65.a4760c051de27a6f.3c47b4bacef1ee0f
+    3109917085a69beb
+  after
+    7a0dfa43243fa6b5.7ab627103a86e718.a20a66a34c12c635.f76c41f726ca7811
+    b8bc8647191ef3ed.b791d48028c685d9.f3e665956cbd68ab.7b4588693a8f19ce
+    35ebca62ceaf6589.2b294aba3e254864.551b1d67fe5310b0.c8745a31e96d823f
+    0000000000000000.0000000000000000.de8e64615d5c9d02.f76c41f726ca7811
+    3109917085a69beb
+
+VROUNDSD_0x0(reg)
+  before
+    0405edbfab18c27f.5df86b89e618a79f.2dbf834155722f87.bdc3ad5be5756414
+    1288c413dcd4a276.bf6fc06e8108ef71.72553d658c78cc77.7ace7c55741988cc
+    b5de13d8b365757c.d095bd184cdb4c58.5fd8b1045dcd7de0.b863f6dfe3d9a3c3
+    4a53d47acc57783e.6c37df75629c797f.5094d98b61fd816f.534e96e650c17125
+    275ad854d6ddad1d
+  after
+    0405edbfab18c27f.5df86b89e618a79f.2dbf834155722f87.bdc3ad5be5756414
+    1288c413dcd4a276.bf6fc06e8108ef71.72553d658c78cc77.7ace7c55741988cc
+    b5de13d8b365757c.d095bd184cdb4c58.5fd8b1045dcd7de0.b863f6dfe3d9a3c3
+    0000000000000000.0000000000000000.5fd8b1045dcd7de0.7ace7c55741988cc
+    275ad854d6ddad1d
+VROUNDSD_0x0(mem)
+  before
+    10543817923a14d7.2d330566c437e768.6f21a070e0573313.a0d5b364379413d0
+    ea093219a0e46280.bac9a1063690fea6.b51f7ef5e119363f.ade63afc781f6eae
+    914343481be55244.4e63a5c8bfeef8a3.1afcf4f082ed3e30.d2156ac0c229cfb5
+    e1cee58f1f4ba14f.434b0b16fbde120b.7a857e4ededf0612.6aac401bb13f7193
+    d3f8b778e0ec91f2
+  after
+    10543817923a14d7.2d330566c437e768.6f21a070e0573313.a0d5b364379413d0
+    ea093219a0e46280.bac9a1063690fea6.b51f7ef5e119363f.ade63afc781f6eae
+    914343481be55244.4e63a5c8bfeef8a3.1afcf4f082ed3e30.d2156ac0c229cfb5
+    0000000000000000.0000000000000000.5fd8b1045dcd7de0.8000000000000000
+    d3f8b778e0ec91f2
+
+VROUNDSD_0x0(reg)
+  before
+    6745cb45ecbc6b7e.b67896dac9210bcc.f6ced15e84eb878b.b18798f911fb4b10
+    84df78ed703c3be4.ec0cd21534744ce7.c338f20bf9a195cf.9bccbfdf384ec957
+    8412badc08f73cd0.5f55132c7d4f1fcd.06d56a89f38d7683.14216eea6fe43c12
+    c5298e7e5179aced.eb20d70bbfbe42aa.1bf03644113a6752.f8522108d1c75f6e
+    232a54237a05ef97
+  after
+    6745cb45ecbc6b7e.b67896dac9210bcc.f6ced15e84eb878b.b18798f911fb4b10
+    84df78ed703c3be4.ec0cd21534744ce7.c338f20bf9a195cf.9bccbfdf384ec957
+    8412badc08f73cd0.5f55132c7d4f1fcd.06d56a89f38d7683.14216eea6fe43c12
+    0000000000000000.0000000000000000.06d56a89f38d7683.8000000000000000
+    232a54237a05ef97
+VROUNDSD_0x0(mem)
+  before
+    7177842987aaa7b8.a172ee3fe64fc4e8.6c39989e17ce6ea9.5ed751a8ec35a3e8
+    be032b0514c045fe.7637d88b6404c36d.be6cd5d2a08a62f7.2bd4b721220867f2
+    e59bc7a33b558394.9ec548cf6724e327.bc85079176fed8c0.de34641b4f42ef1c
+    c40bd3ef1b751ea7.76683875893c61c2.444fabc9b6378d2f.d24354030e6c7712
+    654d8443fc143a7e
+  after
+    7177842987aaa7b8.a172ee3fe64fc4e8.6c39989e17ce6ea9.5ed751a8ec35a3e8
+    be032b0514c045fe.7637d88b6404c36d.be6cd5d2a08a62f7.2bd4b721220867f2
+    e59bc7a33b558394.9ec548cf6724e327.bc85079176fed8c0.de34641b4f42ef1c
+    0000000000000000.0000000000000000.06d56a89f38d7683.5ed751a8ec35a3e8
+    654d8443fc143a7e
+
+VROUNDSD_0x1(reg)
+  before
+    f29eee49b4c5750f.361fccd5cd2ad162.5b6ca6eb69d779ec.31983e647c403d71
+    d5819080d20c646f.16a32c4270835af3.a71c8d9ba081674e.5e2a3b50e325a3b1
+    6a446653f373434b.426271201d897383.b7c6e9f3cdc76697.a9d21e7807f37c1c
+    0c316a30b3894d4e.942a165df34ad841.e7b4b65e8934b371.ed5c64c805b584de
+    0594872cf9787722
+  after
+    f29eee49b4c5750f.361fccd5cd2ad162.5b6ca6eb69d779ec.31983e647c403d71
+    d5819080d20c646f.16a32c4270835af3.a71c8d9ba081674e.5e2a3b50e325a3b1
+    6a446653f373434b.426271201d897383.b7c6e9f3cdc76697.a9d21e7807f37c1c
+    0000000000000000.0000000000000000.b7c6e9f3cdc76697.5e2a3b50e325a3b1
+    0594872cf9787722
+VROUNDSD_0x1(mem)
+  before
+    cf460590fe461014.19959a82acd7bf25.eac597e30bd14756.9433f14872548988
+    253d59e0302d0ce2.ecbcf1b57debd57c.1f0071a0832a7af1.188f951d24b4268a
+    e5460008ac3927b6.e0f16b35c050cafe.0ea71e7f77622e3c.d0149d493adfc421
+    e92e74f58d751cbc.5382046f1193db57.94861c6b02841e64.180e083851619ff9
+    4cc8cf5604c7f5bf
+  after
+    cf460590fe461014.19959a82acd7bf25.eac597e30bd14756.9433f14872548988
+    253d59e0302d0ce2.ecbcf1b57debd57c.1f0071a0832a7af1.188f951d24b4268a
+    e5460008ac3927b6.e0f16b35c050cafe.0ea71e7f77622e3c.d0149d493adfc421
+    0000000000000000.0000000000000000.b7c6e9f3cdc76697.bff0000000000000
+    4cc8cf5604c7f5bf
+
+VROUNDSD_0x1(reg)
+  before
+    c890f010ef9c001f.0ebf3391f0eda821.9fbab9cd0d3f4435.8e68e652409c0894
+    e8b066d0af6cfdc4.31c5b8caf0ad8711.22e484bc4fe04142.d61bf91f4eb7a6f9
+    08752d04e0c4285a.2c0e7f8baac275b7.364d63a974030d2a.4a69cfbe48e0b4be
+    842b41171d2fbc8f.dd6504bf39372d40.394151ff1733e59a.c41fe61c4924f010
+    2109b9236d8e141b
+  after
+    c890f010ef9c001f.0ebf3391f0eda821.9fbab9cd0d3f4435.8e68e652409c0894
+    e8b066d0af6cfdc4.31c5b8caf0ad8711.22e484bc4fe04142.d61bf91f4eb7a6f9
+    08752d04e0c4285a.2c0e7f8baac275b7.364d63a974030d2a.4a69cfbe48e0b4be
+    0000000000000000.0000000000000000.364d63a974030d2a.d61bf91f4eb7a6f9
+    2109b9236d8e141b
+VROUNDSD_0x1(mem)
+  before
+    3ef3c4c0d12add0a.b81d9f74023af60d.1e95c454ba196cd7.850c4b29d4fc053e
+    f5a884e09004060a.009941892c701280.cc6b3a354873eea9.77f94c9549eaa8c1
+    23f6736ec7294d46.b7e925c1365d4c96.c3b3e24eff516ee2.6c564fae0f8a0bd0
+    a4a70f5592a56cec.3b5b4688bd8ddff8.df39388bfcbfa9ad.be6d52e0c4686a16
+    ca8b5197040e0141
+  after
+    3ef3c4c0d12add0a.b81d9f74023af60d.1e95c454ba196cd7.850c4b29d4fc053e
+    f5a884e09004060a.009941892c701280.cc6b3a354873eea9.77f94c9549eaa8c1
+    23f6736ec7294d46.b7e925c1365d4c96.c3b3e24eff516ee2.6c564fae0f8a0bd0
+    0000000000000000.0000000000000000.364d63a974030d2a.bff0000000000000
+    ca8b5197040e0141
+
+VROUNDSD_0x1(reg)
+  before
+    edfc463f6a0a0bfa.5488d3830b822025.e739a14a5c8d0855.fdc9b8d95bca5b37
+    810c2f4592e8c5ef.0f653be350ce241f.17d03074b0e80257.f72fdf22377d40ab
+    e307071319336bcc.b10ac4617d943506.276bf170542b0baa.aa362853ace51336
+    6f38ca169a77383d.1743e9e9ade10f06.7258dfabe5e15dfb.f2ab0f59d70d9104
+    ab5b101ed3017640
+  after
+    edfc463f6a0a0bfa.5488d3830b822025.e739a14a5c8d0855.fdc9b8d95bca5b37
+    810c2f4592e8c5ef.0f653be350ce241f.17d03074b0e80257.f72fdf22377d40ab
+    e307071319336bcc.b10ac4617d943506.276bf170542b0baa.aa362853ace51336
+    0000000000000000.0000000000000000.276bf170542b0baa.f72fdf22377d40ab
+    ab5b101ed3017640
+VROUNDSD_0x1(mem)
+  before
+    b110a890bdce7e17.81ed74bbb2406aed.1bdc2667fdc06e4a.56e2f792fe9635f6
+    e096529ab17f64b4.7670026dfd1b3a88.9aa0f7c7883d0dfe.2d54338f3bd6ce46
+    14bb8a28c920e544.a80e6f971593e7bb.6f5cd8f66b65a94f.55fb9110392e6698
+    294acc2624bebdf3.7413b7a79934ab32.78dc46dec143fe69.29230c80942a3798
+    0418a04be7547df1
+  after
+    b110a890bdce7e17.81ed74bbb2406aed.1bdc2667fdc06e4a.56e2f792fe9635f6
+    e096529ab17f64b4.7670026dfd1b3a88.9aa0f7c7883d0dfe.2d54338f3bd6ce46
+    14bb8a28c920e544.a80e6f971593e7bb.6f5cd8f66b65a94f.55fb9110392e6698
+    0000000000000000.0000000000000000.276bf170542b0baa.56e2f792fe9635f6
+    0418a04be7547df1
+
+VROUNDSD_0x2(reg)
+  before
+    442649ddce3a764f.fb0e9480db64a7ec.36cbd608228bc499.90ecbc6da6e3c877
+    439804a2e6675c60.65d45f220d1e605c.4a82c9264f236b9b.9358b68d3752c2a6
+    5fbccc06cb686cce.4568a8f8d3f9a46e.0c838a6db989dfe4.5decb02c8f9aa922
+    f2dc9d7518c8e145.7696ebef4b002e4f.d71b1749fe475a21.ca732635cbca3816
+    b6ba959407ec2daf
+  after
+    442649ddce3a764f.fb0e9480db64a7ec.36cbd608228bc499.90ecbc6da6e3c877
+    439804a2e6675c60.65d45f220d1e605c.4a82c9264f236b9b.9358b68d3752c2a6
+    5fbccc06cb686cce.4568a8f8d3f9a46e.0c838a6db989dfe4.5decb02c8f9aa922
+    0000000000000000.0000000000000000.0c838a6db989dfe4.8000000000000000
+    b6ba959407ec2daf
+VROUNDSD_0x2(mem)
+  before
+    fc8e78355e0c4218.5945735c6913f972.d42aa4f1913fbc2b.09966b27baeb19fe
+    7ab94b04ec36347e.f1434a255bd6ee01.3bef50ecc0c3082d.fd40837188015826
+    0b078aedce77be0d.14221f3e899cfc9d.86b36acaf597ce82.0f65599505145246
+    8a46b2dc1fda9ef0.1f2ded1190f161f3.93406d794bc7cc55.9b51ebfdccb0440a
+    fd4f341779616a1d
+  after
+    fc8e78355e0c4218.5945735c6913f972.d42aa4f1913fbc2b.09966b27baeb19fe
+    7ab94b04ec36347e.f1434a255bd6ee01.3bef50ecc0c3082d.fd40837188015826
+    0b078aedce77be0d.14221f3e899cfc9d.86b36acaf597ce82.0f65599505145246
+    0000000000000000.0000000000000000.0c838a6db989dfe4.3ff0000000000000
+    fd4f341779616a1d
+
+VROUNDSD_0x2(reg)
+  before
+    90ad304ea9b4ff2c.d5413ebefc6b8e53.6eb2b00c0b6257ae.3d63d8e4de60bcd3
+    b2b5dc0ef73441e2.c7c3aa7d80374a64.5efb649a977a1b7b.5fe824f7cb6d5b27
+    beb432c3006e6aec.3b997207c749904d.49550627cfc5e906.d79bcf9e2dfa647e
+    0ff630d960edb6f6.0f8f1346efad1a3a.8c0c911f4fd0fcfa.7f4854c521149404
+    35ba2f58c3c6a7e4
+  after
+    90ad304ea9b4ff2c.d5413ebefc6b8e53.6eb2b00c0b6257ae.3d63d8e4de60bcd3
+    b2b5dc0ef73441e2.c7c3aa7d80374a64.5efb649a977a1b7b.5fe824f7cb6d5b27
+    beb432c3006e6aec.3b997207c749904d.49550627cfc5e906.d79bcf9e2dfa647e
+    0000000000000000.0000000000000000.49550627cfc5e906.5fe824f7cb6d5b27
+    35ba2f58c3c6a7e4
+VROUNDSD_0x2(mem)
+  before
+    d3bedc442d1d594b.03c7d1bcb23d63ab.1d7107281170a558.836c01eeb5269104
+    3721d7737e236665.f57212d892ebabb7.430bcc984b9decd3.8ac052009a54e4cf
+    3bad9dd2cfe6895d.4045ed999d82cbc8.5b29dd82b941add6.fd5680c19ce43008
+    bc2ea94e3f727f5f.428a606c6e8efe88.4296b7d27666a28e.3878889e5764b25b
+    977465016660a673
+  after
+    d3bedc442d1d594b.03c7d1bcb23d63ab.1d7107281170a558.836c01eeb5269104
+    3721d7737e236665.f57212d892ebabb7.430bcc984b9decd3.8ac052009a54e4cf
+    3bad9dd2cfe6895d.4045ed999d82cbc8.5b29dd82b941add6.fd5680c19ce43008
+    0000000000000000.0000000000000000.49550627cfc5e906.8000000000000000
+    977465016660a673
+
+VROUNDSD_0x2(reg)
+  before
+    76941358656348fd.977277d2e7d20399.558e66bba29c82a3.d51fd4749e1b8726
+    31248e0df1f9d3a4.a6448449e612d335.d69dfbf4d43691c6.ee90b2544e691acc
+    2472d38ea5ae8415.c66f4aa1553ea95f.22031b82a0eb679d.6ab5cc5fa15e15a9
+    abc9dc461e0f97fc.d4c047c552634144.930cc3d0a34442d3.265a9e7fb40535eb
+    fc4ba4a1a36b35be
+  after
+    76941358656348fd.977277d2e7d20399.558e66bba29c82a3.d51fd4749e1b8726
+    31248e0df1f9d3a4.a6448449e612d335.d69dfbf4d43691c6.ee90b2544e691acc
+    2472d38ea5ae8415.c66f4aa1553ea95f.22031b82a0eb679d.6ab5cc5fa15e15a9
+    0000000000000000.0000000000000000.22031b82a0eb679d.ee90b2544e691acc
+    fc4ba4a1a36b35be
+VROUNDSD_0x2(mem)
+  before
+    c9535bb2889ad34e.2274a7a1f8a74804.aa03f6a1f98c5910.8703ee4c79cf5c15
+    69403e9d82a1c9c6.e5c0300bcd03d2da.2504d32165c6abee.58359861bd18f20e
+    b8dcc94eaa89d452.4ffa71f03cad7229.218f5b32b21cf40b.63efbd7b0ca9406b
+    92f478b01f60af20.be6b68bcde34649e.7a7008befd9af092.057b5a07011081d8
+    98256a6f38d9f200
+  after
+    c9535bb2889ad34e.2274a7a1f8a74804.aa03f6a1f98c5910.8703ee4c79cf5c15
+    69403e9d82a1c9c6.e5c0300bcd03d2da.2504d32165c6abee.58359861bd18f20e
+    b8dcc94eaa89d452.4ffa71f03cad7229.218f5b32b21cf40b.63efbd7b0ca9406b
+    0000000000000000.0000000000000000.22031b82a0eb679d.8000000000000000
+    98256a6f38d9f200
+
+VROUNDSD_0x3(reg)
+  before
+    793be8204e8ecf90.d454c8b1fa311759.8d620fdc5121e3e5.0c7258b2624d5ab0
+    0408d387debd5334.58c8343c5909c82c.182a64ba31022ca9.b362c6fbfc40ef91
+    95d7240e85f2bb97.fb1b373e58f37ec3.ba0e63c419627b96.4b0dcf84e77f6b60
+    88f5d923dfb84365.991b50a112fbf44a.d15c0664a6ce0c5a.b03ded384016894a
+    bebe9e052212067a
+  after
+    793be8204e8ecf90.d454c8b1fa311759.8d620fdc5121e3e5.0c7258b2624d5ab0
+    0408d387debd5334.58c8343c5909c82c.182a64ba31022ca9.b362c6fbfc40ef91
+    95d7240e85f2bb97.fb1b373e58f37ec3.ba0e63c419627b96.4b0dcf84e77f6b60
+    0000000000000000.0000000000000000.ba0e63c419627b96.8000000000000000
+    bebe9e052212067a
+VROUNDSD_0x3(mem)
+  before
+    515e5dd6aa7f9e1d.39aeec31869b274b.0e92f852a42ee7ee.b75e4b0873d11a9f
+    45e8a697f3670d5f.044e5ba41927a2f5.354dad3e299713db.ca612d1b1cf7e211
+    7627f6341ad80e6b.452122e731e9f10f.ec18e94fbd42343d.64b1a8093ecda05d
+    c0e8c7993ade5e6e.58733b686d6c5044.0ebf2a737d3c053f.e399b83e75dd8f2f
+    a1675a265cb6ec32
+  after
+    515e5dd6aa7f9e1d.39aeec31869b274b.0e92f852a42ee7ee.b75e4b0873d11a9f
+    45e8a697f3670d5f.044e5ba41927a2f5.354dad3e299713db.ca612d1b1cf7e211
+    7627f6341ad80e6b.452122e731e9f10f.ec18e94fbd42343d.64b1a8093ecda05d
+    0000000000000000.0000000000000000.ba0e63c419627b96.8000000000000000
+    a1675a265cb6ec32
+
+VROUNDSD_0x3(reg)
+  before
+    fc65892d8fe1f313.fff797b27083b993.998fa493663cfb40.770dec958590430d
+    4ee141bfabece07e.0f20e16cd7d5db07.64c358d2bae62db0.03d0a9a0f04aa9d4
+    f5257e484b63ee1e.cb2f22b18ce07ff5.1559539205f52340.8ed2df82da77f5c0
+    4b7e3c350cd05a9f.11efd46faaae628b.089e9140e2f6189b.f3e009266022e1fc
+    10c6a3789d572ab5
+  after
+    fc65892d8fe1f313.fff797b27083b993.998fa493663cfb40.770dec958590430d
+    4ee141bfabece07e.0f20e16cd7d5db07.64c358d2bae62db0.03d0a9a0f04aa9d4
+    f5257e484b63ee1e.cb2f22b18ce07ff5.1559539205f52340.8ed2df82da77f5c0
+    0000000000000000.0000000000000000.1559539205f52340.0000000000000000
+    10c6a3789d572ab5
+VROUNDSD_0x3(mem)
+  before
+    c0502965ae238b17.ad3778f08ac160ae.bc2e75904d4d40f2.99de0f46ee744a6e
+    de4a18d7ae91c24d.789e2de75fc23bf7.a7b6800292c9d459.2464c812c4fbf365
+    487febbbbaad8984.06fd5785295d2826.b05471b0952cdbe9.047eb80e0017502b
+    d9bd1efeed849ce7.b4a2f236842063e6.b2d4c486718511d1.9776dba83f559c6d
+    38992d4b1c4014d6
+  after
+    c0502965ae238b17.ad3778f08ac160ae.bc2e75904d4d40f2.99de0f46ee744a6e
+    de4a18d7ae91c24d.789e2de75fc23bf7.a7b6800292c9d459.2464c812c4fbf365
+    487febbbbaad8984.06fd5785295d2826.b05471b0952cdbe9.047eb80e0017502b
+    0000000000000000.0000000000000000.1559539205f52340.8000000000000000
+    38992d4b1c4014d6
+
+VROUNDSD_0x3(reg)
+  before
+    4333ab633465f413.6cce2d8a6421b9a3.ded7fb660b9728e3.8802f67042dd323b
+    1390505c234f78d0.df7f944d3a909ae3.e0e96d815b4cb2cb.10aa825a2542f954
+    06fc18a2838adcb8.0c9cd0328bdefcd4.162444f30fce3e47.2497e43035bf2347
+    76c3ffa1f3a35b77.d1f15c2574169aa2.ddd37c28c4a60806.a29698df8f606c41
+    64741b514e328f6d
+  after
+    4333ab633465f413.6cce2d8a6421b9a3.ded7fb660b9728e3.8802f67042dd323b
+    1390505c234f78d0.df7f944d3a909ae3.e0e96d815b4cb2cb.10aa825a2542f954
+    06fc18a2838adcb8.0c9cd0328bdefcd4.162444f30fce3e47.2497e43035bf2347
+    0000000000000000.0000000000000000.162444f30fce3e47.0000000000000000
+    64741b514e328f6d
+VROUNDSD_0x3(mem)
+  before
+    48fbe7738f4049f8.c13002c60d2532bb.0849b41111453278.8f44118c15624bb2
+    28f77a326d97560e.41901c7b6d9c9c2e.8e7254e57d767e83.89c1008c9e8d45f7
+    e1365079054172da.542f492eaf94d67c.4036b98ad4b53aef.27974492fcb33083
+    5083e333724d5889.54598549719a1c52.f8625eed330e24e7.c512d90ccb6148ff
+    be7ebb64a522cb1a
+  after
+    48fbe7738f4049f8.c13002c60d2532bb.0849b41111453278.8f44118c15624bb2
+    28f77a326d97560e.41901c7b6d9c9c2e.8e7254e57d767e83.89c1008c9e8d45f7
+    e1365079054172da.542f492eaf94d67c.4036b98ad4b53aef.27974492fcb33083
+    0000000000000000.0000000000000000.162444f30fce3e47.8000000000000000
+    be7ebb64a522cb1a
+
+VROUNDSD_0x4(reg)
+  before
+    7027e7082983f37e.4fa9b04ed1c4c547.9f5acc3a4c3aaa5c.93c2bffab68ef697
+    36595863f10efcd7.bb7534b53db4753f.8f7e1b6cdefebc45.ee22589e77406d2d
+    6c5f09e1995224d2.70b3ea54d328239d.81106d4bc3748dba.e34da5c3953144d2
+    6e86f9eebed8a51b.4b2f4f18ae2d8c8f.d25ebe4396285a66.4f1123572a6c39b5
+    0e384d4452fd0600
+  after
+    7027e7082983f37e.4fa9b04ed1c4c547.9f5acc3a4c3aaa5c.93c2bffab68ef697
+    36595863f10efcd7.bb7534b53db4753f.8f7e1b6cdefebc45.ee22589e77406d2d
+    6c5f09e1995224d2.70b3ea54d328239d.81106d4bc3748dba.e34da5c3953144d2
+    0000000000000000.0000000000000000.81106d4bc3748dba.ee22589e77406d2d
+    0e384d4452fd0600
+VROUNDSD_0x4(mem)
+  before
+    fc8f9f782af068e0.981a21f6fb2ebc5e.26b5ddebeace6c3e.dcb20ac0f4a45ef6
+    f6e395decd521a80.45677f65eddfa545.de1112baa4177fd9.fc594d2e7876d716
+    d6fdac62582fd90d.d3b90da82f789b7f.4f0e6972f714808a.8f9f84f9be2aff71
+    79ac5ef0e69161b2.9d5cca295e83dbb6.557a5efd00d22c7d.efcfaa8e634a12b4
+    7937bb5702644e8b
+  after
+    fc8f9f782af068e0.981a21f6fb2ebc5e.26b5ddebeace6c3e.dcb20ac0f4a45ef6
+    f6e395decd521a80.45677f65eddfa545.de1112baa4177fd9.fc594d2e7876d716
+    d6fdac62582fd90d.d3b90da82f789b7f.4f0e6972f714808a.8f9f84f9be2aff71
+    0000000000000000.0000000000000000.81106d4bc3748dba.dcb20ac0f4a45ef6
+    7937bb5702644e8b
+
+VROUNDSD_0x4(reg)
+  before
+    8921b4c23804eda1.bbbb297493866e9c.fe9baf55158fa197.cc1f6d49db5d3fe0
+    7bdb8f39a0b52ca2.78f589da7c19bbf7.54c3b999f02529cd.90ca1340a3bf75dc
+    abaf4a2ad703473b.8c27f80fbd5705ee.fa21e5608cd3ae05.7d46cad0740689a0
+    75eae000797a7918.d31df3fd714b08ad.4bff2e1685246deb.6f6110e46b3d3856
+    42e66168a3713e2a
+  after
+    8921b4c23804eda1.bbbb297493866e9c.fe9baf55158fa197.cc1f6d49db5d3fe0
+    7bdb8f39a0b52ca2.78f589da7c19bbf7.54c3b999f02529cd.90ca1340a3bf75dc
+    abaf4a2ad703473b.8c27f80fbd5705ee.fa21e5608cd3ae05.7d46cad0740689a0
+    0000000000000000.0000000000000000.fa21e5608cd3ae05.8000000000000000
+    42e66168a3713e2a
+VROUNDSD_0x4(mem)
+  before
+    d2a0374839ad564a.35d74d2720a7ffe5.28a3f792b4018062.a5a9902676a5a22a
+    fb5c107048fd3ddf.47c48e0b6a15154d.69857fb8a3862837.626d07fefbe1886e
+    98e667cded6eaf18.07fc9e18f350f6fc.718f085d5ae5bd58.e0969009b1645c65
+    870ab849430b671f.d1ca78ba56e5e09f.1c8c0c6cf42afaf3.796f26b434bb5ab9
+    8b45c5691e71be16
+  after
+    d2a0374839ad564a.35d74d2720a7ffe5.28a3f792b4018062.a5a9902676a5a22a
+    fb5c107048fd3ddf.47c48e0b6a15154d.69857fb8a3862837.626d07fefbe1886e
+    98e667cded6eaf18.07fc9e18f350f6fc.718f085d5ae5bd58.e0969009b1645c65
+    0000000000000000.0000000000000000.fa21e5608cd3ae05.8000000000000000
+    8b45c5691e71be16
+
+VROUNDSD_0x4(reg)
+  before
+    706469950e12c329.a3947fd166e02320.017b1b5d305f0ce2.464a09d18d629d31
+    85180fa59e2ba69e.c84f395273fa9d48.f35b806e1c4bb970.ca937a7842986041
+    27adb1036a47a320.d10960b7866491c3.03b6a457b63422f6.8634db4d2ed8004d
+    b06f4d1d0ff2f55c.9c8c72ebba2abdbc.8cd884869ba68220.55f9a83c6e2f3881
+    12ad5e311da8c60a
+  after
+    706469950e12c329.a3947fd166e02320.017b1b5d305f0ce2.464a09d18d629d31
+    85180fa59e2ba69e.c84f395273fa9d48.f35b806e1c4bb970.ca937a7842986041
+    27adb1036a47a320.d10960b7866491c3.03b6a457b63422f6.8634db4d2ed8004d
+    0000000000000000.0000000000000000.03b6a457b63422f6.ca937a7842986041
+    12ad5e311da8c60a
+VROUNDSD_0x4(mem)
+  before
+    9b1e7819584f6414.7da9de5e28b9d9fd.04a5eadc2b59db60.ec0c1b66672d1599
+    cb1672de3a31ceca.eaa8613152278bb0.e4204575f6fca8db.7e9f6562b556190e
+    7d62c86ee059c259.53b9d00428c84721.1ac9fda23720df58.9ede5fe821acc82a
+    8fcef6b465d4faed.15262942462948fb.806c904f09cf3d03.a713046348bc5f9a
+    f78b4f3fc6111a0a
+  after
+    9b1e7819584f6414.7da9de5e28b9d9fd.04a5eadc2b59db60.ec0c1b66672d1599
+    cb1672de3a31ceca.eaa8613152278bb0.e4204575f6fca8db.7e9f6562b556190e
+    7d62c86ee059c259.53b9d00428c84721.1ac9fda23720df58.9ede5fe821acc82a
+    0000000000000000.0000000000000000.03b6a457b63422f6.ec0c1b66672d1599
+    f78b4f3fc6111a0a
+
+VROUNDSD_0x5(reg)
+  before
+    e9913fe835373425.db26799be5ac33b1.8a3b675749d5cbeb.f4d4796888177e0a
+    d873cdcb34bbea97.3f36cc117eef28d1.0f4686b0cd580c9c.50ce35dad1045e97
+    227bf6525c27780e.95ca6b0149a9977b.009282b76d3f47bb.72273e8fffa199d6
+    21f7b7ea4c0a1a34.baadd25764e53ad8.b96a58d9c615b7f4.34a912752ffaeaf4
+    74212c767c1b0e1d
+  after
+    e9913fe835373425.db26799be5ac33b1.8a3b675749d5cbeb.f4d4796888177e0a
+    d873cdcb34bbea97.3f36cc117eef28d1.0f4686b0cd580c9c.50ce35dad1045e97
+    227bf6525c27780e.95ca6b0149a9977b.009282b76d3f47bb.72273e8fffa199d6
+    0000000000000000.0000000000000000.009282b76d3f47bb.50ce35dad1045e97
+    74212c767c1b0e1d
+VROUNDSD_0x5(mem)
+  before
+    0c5a08800311c07c.33310b009ded0bb5.8bac7effeaafcd17.961b0383736799f2
+    d922227edfe7be3e.b276eeffee5e883e.e294eae5f8130e62.f3f17f1f10bf2862
+    b743f75b2daac28e.fc115d52d8e9cd7b.9c2e92f6aa1eb7e6.2c38c81b3aaba2ef
+    838a020508658899.6b505267f9181517.9649f21c1bdb85ce.9d3cdbe28cb74146
+    a248b3e0a36e4213
+  after
+    0c5a08800311c07c.33310b009ded0bb5.8bac7effeaafcd17.961b0383736799f2
+    d922227edfe7be3e.b276eeffee5e883e.e294eae5f8130e62.f3f17f1f10bf2862
+    b743f75b2daac28e.fc115d52d8e9cd7b.9c2e92f6aa1eb7e6.2c38c81b3aaba2ef
+    0000000000000000.0000000000000000.009282b76d3f47bb.8000000000000000
+    a248b3e0a36e4213
+
+VROUNDSD_0x5(reg)
+  before
+    96aa4c811a5ce001.17c3bf678c24ce8b.5c7ecba9ed799ebf.aab0864567573347
+    d7aca2318e0d58bd.50baaa6ed6f34e8f.2ce6c3844f98a11e.b52ecb5bab9d7f7c
+    c09bb15c9a0ee6f2.0a3b3f0402dfc5d2.35d53764bbff5de1.93913c4c02b9239a
+    adc3766edbeac64d.2112fb162bf3ef80.d49721b5ce3c0cb4.20a3550389b8dccd
+    3931926c5ba46540
+  after
+    96aa4c811a5ce001.17c3bf678c24ce8b.5c7ecba9ed799ebf.aab0864567573347
+    d7aca2318e0d58bd.50baaa6ed6f34e8f.2ce6c3844f98a11e.b52ecb5bab9d7f7c
+    c09bb15c9a0ee6f2.0a3b3f0402dfc5d2.35d53764bbff5de1.93913c4c02b9239a
+    0000000000000000.0000000000000000.35d53764bbff5de1.8000000000000000
+    3931926c5ba46540
+VROUNDSD_0x5(mem)
+  before
+    b8077073958c7b20.f970ecd3ec2e3479.710a59916d3c87c4.65787fe424dbeb42
+    7af169045279da98.02ed0ff86a656b24.d7f1d55fe5c54aca.45c44c5b58663638
+    5bbafb0bae793ed5.2388db47f01ba7f7.2d91eb6eae9af4bf.cec68487066b2942
+    3730a174c7976203.b78b4c2e1bdd26a1.50b718a8e5c840cf.5dcc23d5cb76ff0b
+    4e2026b04211f53f
+  after
+    b8077073958c7b20.f970ecd3ec2e3479.710a59916d3c87c4.65787fe424dbeb42
+    7af169045279da98.02ed0ff86a656b24.d7f1d55fe5c54aca.45c44c5b58663638
+    5bbafb0bae793ed5.2388db47f01ba7f7.2d91eb6eae9af4bf.cec68487066b2942
+    0000000000000000.0000000000000000.35d53764bbff5de1.65787fe424dbeb42
+    4e2026b04211f53f
+
+VROUNDSD_0x5(reg)
+  before
+    fd0f888308ca468b.ea1dd82bb6e0034d.1c435f18863622cc.1c2ed7fba65aeb26
+    c6e545bcb82d309b.504e1a1d995fdde0.adfc0f70cdb2d824.6dc4a4520b5cb1ee
+    05ee59c6efc5ed1b.448fe5348c20ace7.c50258a48ddd8456.1e44fb9933db4e56
+    1675c00d481ebab6.a4acb45eaa302b8f.c2a1371f6244610e.0d7958bc37e27d88
+    153038a7367dfbb1
+  after
+    fd0f888308ca468b.ea1dd82bb6e0034d.1c435f18863622cc.1c2ed7fba65aeb26
+    c6e545bcb82d309b.504e1a1d995fdde0.adfc0f70cdb2d824.6dc4a4520b5cb1ee
+    05ee59c6efc5ed1b.448fe5348c20ace7.c50258a48ddd8456.1e44fb9933db4e56
+    0000000000000000.0000000000000000.c50258a48ddd8456.6dc4a4520b5cb1ee
+    153038a7367dfbb1
+VROUNDSD_0x5(mem)
+  before
+    1235164749b984fc.55c877fd60c4d218.4b7003860f9a1704.fe24a64de773adf7
+    e0546e868ea1d496.1e317902d24472ee.15a94f98d86a2b71.d6d9a39ab8f4a1be
+    5a59bc512141a6ab.cdfdc2893b29d6e4.de21137f20ad2502.a70a297372557c0e
+    5e0f7d951da6b766.be784ffc36003aa5.81a5cb29046ebfe5.cb043442b0217894
+    a013c1750fe5d2fc
+  after
+    1235164749b984fc.55c877fd60c4d218.4b7003860f9a1704.fe24a64de773adf7
+    e0546e868ea1d496.1e317902d24472ee.15a94f98d86a2b71.d6d9a39ab8f4a1be
+    5a59bc512141a6ab.cdfdc2893b29d6e4.de21137f20ad2502.a70a297372557c0e
+    0000000000000000.0000000000000000.c50258a48ddd8456.fe24a64de773adf7
+    a013c1750fe5d2fc
+
+VPTEST_128_1(reg)
+  before
+    8083ca762a2cc6f1.c7442c3d9fdbc3f4.4cee1ac95f53d9de.dc01f3829fb9b644
+    c89f4db39e829020.71c24534c2ec8580.d5ab215a53b1f03b.ca0107740e9bc54b
+    d4b5459606746b35.37564468a2e6ba37.b4fa5f1daea3bb67.267184ec6c1faa27
+    010faf8dff8d94db.f7cca5c45cd41e44.4529d07d0bb7760f.ce1ce4d6d6511f04
+    9dd0a51f673ee00d
+  after
+    8083ca762a2cc6f1.c7442c3d9fdbc3f4.4cee1ac95f53d9de.dc01f3829fb9b644
+    c89f4db39e829020.71c24534c2ec8580.d5ab215a53b1f03b.ca0107740e9bc54b
+    d4b5459606746b35.37564468a2e6ba37.b4fa5f1daea3bb67.267184ec6c1faa27
+    010faf8dff8d94db.f7cca5c45cd41e44.4529d07d0bb7760f.ce1ce4d6d6511f04
+    0000000000000000
+VPTEST_128_1(mem)
+  before
+    6e5743b13cf1ab6f.a9fa8503245a46be.8bf0e5340bc26dd4.e38271e606785cde
+    1f7e387a70773a56.29c2c5641265bf8c.d18e7fa4ccbd6213.ec523cc43c73aa81
+    8a11026520db4aed.ddb36a1c643c39ee.a371ef00bbd0ba2c.bbe52f8349339ca4
+    8ddc1c5e67299661.21197098b66bf093.df66b135f208314c.ab87458fc7446df2
+    1a837a5455325a17
+  after
+    6e5743b13cf1ab6f.a9fa8503245a46be.8bf0e5340bc26dd4.e38271e606785cde
+    1f7e387a70773a56.29c2c5641265bf8c.d18e7fa4ccbd6213.ec523cc43c73aa81
+    8a11026520db4aed.ddb36a1c643c39ee.a371ef00bbd0ba2c.bbe52f8349339ca4
+    8ddc1c5e67299661.21197098b66bf093.df66b135f208314c.ab87458fc7446df2
+    0000000000000000
+
+VPTEST_128_1(reg)
+  before
+    6227cb3e8c8a9fc1.02aa0251616ddcdd.513fd442a57c2225.5f3a412d906f829f
+    e1bd33ba0bd8789a.c749302a2bb4d68e.c9739087cdfe0950.01b71cd6af136a50
+    f192ae326ba6204e.b68323d5e109409f.e5ffa2d4c97ae2c2.9faabd1a6b00a58c
+    f0f238144b82d48a.ac25553e9e79d83d.01300593357ee924.16dea0e7e041ef7e
+    432142282ce20353
+  after
+    6227cb3e8c8a9fc1.02aa0251616ddcdd.513fd442a57c2225.5f3a412d906f829f
+    e1bd33ba0bd8789a.c749302a2bb4d68e.c9739087cdfe0950.01b71cd6af136a50
+    f192ae326ba6204e.b68323d5e109409f.e5ffa2d4c97ae2c2.9faabd1a6b00a58c
+    f0f238144b82d48a.ac25553e9e79d83d.01300593357ee924.16dea0e7e041ef7e
+    0000000000000000
+VPTEST_128_1(mem)
+  before
+    003d1dc968ef9e36.3829cdcb44f7d0fa.85fb44517e0e5894.7952b532ae955925
+    2affafb5b2757c54.27826ac2f4924f49.1ed16cfb9ed77dcf.a9b0af1cd04b6f6f
+    9d3473db267f58d9.174b0a67f7de8e24.5172472619dd021b.ed98eebd352d67ae
+    36a5e524df1aeff0.65cea925e867c936.fbac53c00c2ea5a3.a1546e807cc67c8f
+    21322bd43fa3ecbe
+  after
+    003d1dc968ef9e36.3829cdcb44f7d0fa.85fb44517e0e5894.7952b532ae955925
+    2affafb5b2757c54.27826ac2f4924f49.1ed16cfb9ed77dcf.a9b0af1cd04b6f6f
+    9d3473db267f58d9.174b0a67f7de8e24.5172472619dd021b.ed98eebd352d67ae
+    36a5e524df1aeff0.65cea925e867c936.fbac53c00c2ea5a3.a1546e807cc67c8f
+    0000000000000000
+
+VPTEST_128_1(reg)
+  before
+    c87c21221a4ff1e6.cf21827df951fdc6.6e58436863ba3c2c.f8490bb492d52094
+    f47f4dd7aa56c7b4.4573c4d291303e86.8c35d59d056222b2.2517ebedc8df301a
+    0087aa5f8a44acd4.74662910c3c46d5d.1cb1592e6aebb873.5ce06f59c9579060
+    47df342756a6daf1.38c82c21aa184777.7a18cd882de23a1c.7a7013e3b249fd93
+    5b9554779ec133de
+  after
+    c87c21221a4ff1e6.cf21827df951fdc6.6e58436863ba3c2c.f8490bb492d52094
+    f47f4dd7aa56c7b4.4573c4d291303e86.8c35d59d056222b2.2517ebedc8df301a
+    0087aa5f8a44acd4.74662910c3c46d5d.1cb1592e6aebb873.5ce06f59c9579060
+    47df342756a6daf1.38c82c21aa184777.7a18cd882de23a1c.7a7013e3b249fd93
+    0000000000000000
+VPTEST_128_1(mem)
+  before
+    db1aad01aaccee6e.27d5e799ac078eb8.6d634af3623888ff.03b62c18ead2e358
+    d6ca9a6ef176e96f.fbb3c02325f403d4.ef04fd710830ec22.11d673483e48f1d4
+    287298a88fc9e10c.1ec6b92f5ff877f2.9a77c386b70d2e0b.01c59c86c4ce9d3c
+    adde219ca1d39272.ee5ad02bf69f24bd.4a8717208cdb0be7.2fcfa53d19f2263b
+    f74089d9d840c67e
+  after
+    db1aad01aaccee6e.27d5e799ac078eb8.6d634af3623888ff.03b62c18ead2e358
+    d6ca9a6ef176e96f.fbb3c02325f403d4.ef04fd710830ec22.11d673483e48f1d4
+    287298a88fc9e10c.1ec6b92f5ff877f2.9a77c386b70d2e0b.01c59c86c4ce9d3c
+    adde219ca1d39272.ee5ad02bf69f24bd.4a8717208cdb0be7.2fcfa53d19f2263b
+    0000000000000000
+
+VPTEST_128_2(reg)
+  before
+    b56445c59e43bab0.41dab337439fb8cc.c5bb0082857646e3.db02752aa2a43ee2
+    c587d36f06873e7e.bf32c964903a0e47.013546a0a8081b0d.29b25a9016768527
+    83f43143ad988e94.05b2df0ea4af510f.fc139cf1fce1ddea.1064403e035d9ae3
+    4bf85aab2e03e59d.ee2572239c0a3c4f.14a300e11c8ec923.6be4a52186633a41
+    18fe0423ba96206e
+  after
+    b56445c59e43bab0.41dab337439fb8cc.c5bb0082857646e3.db02752aa2a43ee2
+    0000000000000000.0000000000000000.fc139cf1fce1ddea.1064403e035d9ae3
+    83f43143ad988e94.05b2df0ea4af510f.fc139cf1fce1ddea.1064403e035d9ae3
+    4bf85aab2e03e59d.ee2572239c0a3c4f.14a300e11c8ec923.6be4a52186633a41
+    0000000000000001
+VPTEST_128_2(mem)
+  before
+    f27eda32bc020a96.79e04a1426538046.5659fd8e93588d34.a32f6ddda59a1a67
+    d530a138a7b1b2e4.68f6fdeb30159b3a.1918fb3ba6a4fee9.0704df4f33910e60
+    9cdfd72397b1d484.7686709ae8d37126.122feb16f1fa4c9b.9a6e53a46100dfbb
+    2558f7dda90e2ea4.fede9d8feb1c3fb6.1f6a460b8e673275.b9b9c349cb72c923
+    c0302da90e730a45
+  after
+    f27eda32bc020a96.79e04a1426538046.5659fd8e93588d34.a32f6ddda59a1a67
+    0000000000000000.0000000000000000.a9a602716ca772cb.5cd092225a65e598
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    2558f7dda90e2ea4.fede9d8feb1c3fb6.1f6a460b8e673275.b9b9c349cb72c923
+    0000000000000040
+
+VPTEST_128_2(reg)
+  before
+    0c218c2fc590dccc.4b677d54f9d27a6e.5c498234d5794195.1b948a079cf66ea5
+    f7d6dd498c547c65.e9d8e673a20b750e.ec121bf74178b270.e17b31f434b4ba54
+    de9c1a62014b25bc.dd77ac26c0c5dab1.09866243cba4d0f2.4fe9b9bf74abd2b1
+    1dbf41e6bd02157c.01104d59700b6683.11f15584108ad5c8.3fab9e5578e974e5
+    8f8d5aa15b7a5a1f
+  after
+    0c218c2fc590dccc.4b677d54f9d27a6e.5c498234d5794195.1b948a079cf66ea5
+    0000000000000000.0000000000000000.09866243cba4d0f2.4fe9b9bf74abd2b1
+    de9c1a62014b25bc.dd77ac26c0c5dab1.09866243cba4d0f2.4fe9b9bf74abd2b1
+    1dbf41e6bd02157c.01104d59700b6683.11f15584108ad5c8.3fab9e5578e974e5
+    0000000000000001
+VPTEST_128_2(mem)
+  before
+    195b6b8e3a694189.108b4d415e048652.336e44f9cde9d5af.5f9fef26abb5fd9d
+    bbe14c0a30c2e450.134c3adf80ddb5e9.4d5f0df0f46be362.4edc2c9539b1861f
+    4feb79005991019f.824d052dbe1addee.2dad252b009e4cc8.3cf3083d560aaaf7
+    b3446e5cd2e352a3.badba895b4463b0d.ad2507970e8dcb0c.8332808b9c4da6d4
+    81e38ee9aa06b55f
+  after
+    195b6b8e3a694189.108b4d415e048652.336e44f9cde9d5af.5f9fef26abb5fd9d
+    0000000000000000.0000000000000000.cc91bb0632162a50.a06010d9544a0262
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    b3446e5cd2e352a3.badba895b4463b0d.ad2507970e8dcb0c.8332808b9c4da6d4
+    0000000000000040
+
+VPTEST_128_2(reg)
+  before
+    905330c519bf1547.c1b9a80ab7c39387.15432185ffed0bf1.ab932e1e39451d5a
+    0ece628987060036.5617a1f7233e8278.efcf6b673b9c8947.01c219ae9ed0fde0
+    55a01ea39066b2d9.4f28d70d325ed9a2.a6cc83a903def0ba.8c804132583d29c7
+    c315627ecf6c69db.86b8c53901325530.958563b6f3407df7.2997249684955b3e
+    b2d43cc63de64f6f
+  after
+    905330c519bf1547.c1b9a80ab7c39387.15432185ffed0bf1.ab932e1e39451d5a
+    0000000000000000.0000000000000000.a6cc83a903def0ba.8c804132583d29c7
+    55a01ea39066b2d9.4f28d70d325ed9a2.a6cc83a903def0ba.8c804132583d29c7
+    c315627ecf6c69db.86b8c53901325530.958563b6f3407df7.2997249684955b3e
+    0000000000000001
+VPTEST_128_2(mem)
+  before
+    040407aea03bc386.b2782886e1a35fe9.d895e868abc3b14f.184809f9a84d6caa
+    fbf0013ac8a171b1.7f176f276197d1ae.218abb844d1fab2b.8b5f70e0bd91f97e
+    7367a456d122161a.863c30cdebd5fad7.3d62b97b0251fdef.4a1794d6cf985f20
+    49346eeed8cd6ded.243468e41ce81810.09ea6038e76664c7.b1bd714779efdb3b
+    1b9b04a05821a97c
+  after
+    040407aea03bc386.b2782886e1a35fe9.d895e868abc3b14f.184809f9a84d6caa
+    0000000000000000.0000000000000000.276a1797543c4eb0.e7b7f60657b29355
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    49346eeed8cd6ded.243468e41ce81810.09ea6038e76664c7.b1bd714779efdb3b
+    0000000000000040
+
+VPTEST_256_1(reg)
+  before
+    e6fd484b07bb048e.5722daeff9ab3457.b34b14d8905c6504.5fee2ca717699be0
+    6d3139b52348291f.7aff64434eca2584.90cc2f16e2be1e60.1c3a97b4af665f66
+    0b81d34b475454d8.8e9588d8f635fd9f.1705b508ae997ecf.1c9a1f4bca6a6c85
+    1e3b1378106bc168.6fb1c3990bf977d5.a440a21c9179c2fe.3bd93f58857f7e68
+    55c573c7fbb4503b
+  after
+    e6fd484b07bb048e.5722daeff9ab3457.b34b14d8905c6504.5fee2ca717699be0
+    6d3139b52348291f.7aff64434eca2584.90cc2f16e2be1e60.1c3a97b4af665f66
+    0b81d34b475454d8.8e9588d8f635fd9f.1705b508ae997ecf.1c9a1f4bca6a6c85
+    1e3b1378106bc168.6fb1c3990bf977d5.a440a21c9179c2fe.3bd93f58857f7e68
+    0000000000000000
+VPTEST_256_1(mem)
+  before
+    4628378548129f2b.01a9f3a7191aab78.f91f9071a9215051.94caf3bc26eb2699
+    eacf087c89a72764.0f187146feed4fb7.08aa6b4eedb94440.41f0a3560a7ae64b
+    1d86619ada7fa411.a6d488c05c6ee8cf.7820d01bf2ce0fcd.08fcae55d8b33dc1
+    ba19bec956a4d15f.20283581cf2bb46d.244b3bc4d56b6c26.453a10252d2068a6
+    54f8c632a450a3a7
+  after
+    4628378548129f2b.01a9f3a7191aab78.f91f9071a9215051.94caf3bc26eb2699
+    eacf087c89a72764.0f187146feed4fb7.08aa6b4eedb94440.41f0a3560a7ae64b
+    1d86619ada7fa411.a6d488c05c6ee8cf.7820d01bf2ce0fcd.08fcae55d8b33dc1
+    ba19bec956a4d15f.20283581cf2bb46d.244b3bc4d56b6c26.453a10252d2068a6
+    0000000000000000
+
+VPTEST_256_1(reg)
+  before
+    9180cae8dacc2a70.9f539bf719246b7a.db6272f5f2afed3c.eaf82936b19c1874
+    58201ab36a2238ac.a702750f400b2d8d.31cc3d886187d0e9.a5f3155ba36ecfe6
+    0422b1fff1dd0a08.aef0c6fde763d5c5.7fb491a6b93e991f.31087b20c6ec4da6
+    f3d38c390a89db2f.90ea0cad283a1d4d.22646abc9560838b.6a03d77236224de0
+    2bb0a63b101d8cc1
+  after
+    9180cae8dacc2a70.9f539bf719246b7a.db6272f5f2afed3c.eaf82936b19c1874
+    58201ab36a2238ac.a702750f400b2d8d.31cc3d886187d0e9.a5f3155ba36ecfe6
+    0422b1fff1dd0a08.aef0c6fde763d5c5.7fb491a6b93e991f.31087b20c6ec4da6
+    f3d38c390a89db2f.90ea0cad283a1d4d.22646abc9560838b.6a03d77236224de0
+    0000000000000000
+VPTEST_256_1(mem)
+  before
+    52da626970e8c675.807fa5cb51b3e9ce.28bcc20b229cc252.7429c534927acbd9
+    ba4e89e7718fb627.0771fa2363e66e91.54326503ef937f00.d24e9d7c4b17adb4
+    3ed897a02f1f1904.e4f786acdcafa723.ef186f81ab2d1282.9921edfe5dc364c9
+    bc440682c7a3ab38.725b45d15799cf31.d4395e7272763504.23ecb428630b2dc4
+    cdfdeb65fa7a4450
+  after
+    52da626970e8c675.807fa5cb51b3e9ce.28bcc20b229cc252.7429c534927acbd9
+    ba4e89e7718fb627.0771fa2363e66e91.54326503ef937f00.d24e9d7c4b17adb4
+    3ed897a02f1f1904.e4f786acdcafa723.ef186f81ab2d1282.9921edfe5dc364c9
+    bc440682c7a3ab38.725b45d15799cf31.d4395e7272763504.23ecb428630b2dc4
+    0000000000000000
+
+VPTEST_256_1(reg)
+  before
+    f39e8f21bd9ce519.0e5e5478552828ee.0fea340070302366.e163adc06279a4b4
+    f21c9dc849fe4bcc.12f2fb6ef4b84b53.16f04da4c401df6f.f060d85994421dbc
+    24c310c6392bb315.a2cb7951c061d192.e2b98e29ee963ff7.dffd5c2726dd5a48
+    e6dee48729b059a0.9cb74a0bd62f76d8.d191f2fb8b7e7fac.8806b41834571885
+    c9475b17d9bb129f
+  after
+    f39e8f21bd9ce519.0e5e5478552828ee.0fea340070302366.e163adc06279a4b4
+    f21c9dc849fe4bcc.12f2fb6ef4b84b53.16f04da4c401df6f.f060d85994421dbc
+    24c310c6392bb315.a2cb7951c061d192.e2b98e29ee963ff7.dffd5c2726dd5a48
+    e6dee48729b059a0.9cb74a0bd62f76d8.d191f2fb8b7e7fac.8806b41834571885
+    0000000000000000
+VPTEST_256_1(mem)
+  before
+    7c8bd010321506c1.94bb1677b6177818.da80e889512df550.3ec476873742da37
+    7fa08cef5a72ae18.8aa4a0037cee4e29.3af3d1b84e670b27.849d14378c708d47
+    ac500ca06dddc6d0.24e6809516c11580.96dc8082e8e97489.0169ca782893d385
+    e068cd0f88630c14.becdb19b201b09c9.cc0671d53cc0eca1.0f7593b7a738e9a0
+    0c0b6b5fa4ea0b42
+  after
+    7c8bd010321506c1.94bb1677b6177818.da80e889512df550.3ec476873742da37
+    7fa08cef5a72ae18.8aa4a0037cee4e29.3af3d1b84e670b27.849d14378c708d47
+    ac500ca06dddc6d0.24e6809516c11580.96dc8082e8e97489.0169ca782893d385
+    e068cd0f88630c14.becdb19b201b09c9.cc0671d53cc0eca1.0f7593b7a738e9a0
+    0000000000000000
+
+VPTEST_256_2(reg)
+  before
+    52774fdbbc357518.f8b44a29c60f3a10.b4a53080378868b0.b63f209c65f72e9c
+    3e0739998aa663cd.ce00ffd844ed0df1.62baf7aff7946ce0.31510ac3809bf7a6
+    2d052704abc8100e.3f1869091e0940e3.23580496facc5105.1909aa36a8b703ea
+    79bf1488ba27b986.27c702a96e709112.55ca52a0dfbb55cc.4b347ce1f9570d94
+    a19bfcb09087d2d1
+  after
+    52774fdbbc357518.f8b44a29c60f3a10.b4a53080378868b0.b63f209c65f72e9c
+    2d052704abc8100e.3f1869091e0940e3.23580496facc5105.1909aa36a8b703ea
+    2d052704abc8100e.3f1869091e0940e3.23580496facc5105.1909aa36a8b703ea
+    79bf1488ba27b986.27c702a96e709112.55ca52a0dfbb55cc.4b347ce1f9570d94
+    0000000000000001
+VPTEST_256_2(mem)
+  before
+    f80da78f89540ecd.7f7ffc91535099e2.62da48a3532dbaa9.535ddd393feeb2e1
+    2c55f76affc97db4.9c92dc8b13ceeece.cd1eb6e2e64d78d4.795da2cdb9efa5ef
+    193e6a2e0ef3dab1.2a44afe3962df2f5.425dc95446db86c1.23169bc9e64d6aa3
+    9b967bc5d3dde2f0.86e1710377fae104.9e63fbe48ce3a199.acd4c69765913ca9
+    72e31ea4cf4958ac
+  after
+    f80da78f89540ecd.7f7ffc91535099e2.62da48a3532dbaa9.535ddd393feeb2e1
+    07f2587076abf132.8080036eacaf661d.9d25b75cacd24556.aca222c6c0114d1e
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    9b967bc5d3dde2f0.86e1710377fae104.9e63fbe48ce3a199.acd4c69765913ca9
+    0000000000000040
+
+VPTEST_256_2(reg)
+  before
+    d08e9f5dc200fa59.8e27a71d6a93519e.0cb41e5852c0f9a6.bdfeca7ed672858b
+    2123462cda435e5b.cebe6821ed22e3e7.180bb24fc40b7488.7bf9b10f4093eec1
+    c3ec0d7fb29dbf5f.37273cbc7b9553f7.06302a5368688f56.b41f2c81e5529767
+    1036f2c1e79a5a10.a52d9edc2df85ef9.327081cfdb6286bb.443db7c1e2bb3dab
+    0720cfbc52db9cb6
+  after
+    d08e9f5dc200fa59.8e27a71d6a93519e.0cb41e5852c0f9a6.bdfeca7ed672858b
+    c3ec0d7fb29dbf5f.37273cbc7b9553f7.06302a5368688f56.b41f2c81e5529767
+    c3ec0d7fb29dbf5f.37273cbc7b9553f7.06302a5368688f56.b41f2c81e5529767
+    1036f2c1e79a5a10.a52d9edc2df85ef9.327081cfdb6286bb.443db7c1e2bb3dab
+    0000000000000001
+VPTEST_256_2(mem)
+  before
+    d991ef5c51be70b7.664df15e14c76b1c.f49e0a6c2258bf19.f817b331b8869464
+    965f938ffc6e74d8.1f7c04c2d5ae2d2c.0044fd5873c03484.b471bce49c5ef6fc
+    1955373f6ff96545.99112859c7deddee.a5ecf18d3f3c7766.c2c998542278e830
+    403e585ac46bfe2b.2e565a8f85e0b70e.bf6264f59fd945ea.7e6d44ede760a5ac
+    44a7bb1b86a16a1b
+  after
+    d991ef5c51be70b7.664df15e14c76b1c.f49e0a6c2258bf19.f817b331b8869464
+    266e10a3ae418f48.99b20ea1eb3894e3.0b61f593dda740e6.07e84cce47796b9b
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    403e585ac46bfe2b.2e565a8f85e0b70e.bf6264f59fd945ea.7e6d44ede760a5ac
+    0000000000000040
+
+VPTEST_256_2(reg)
+  before
+    70c4f94b9cc7732a.e6e870cb1acefdb6.3c9895d0ac42f738.2972d17db1a2593d
+    5e10fae7c45efc84.e71dfd7e8b301c11.1d23d689d890d817.c1e8b41291a3718b
+    6ad7bb5d9af340d6.1eaa7a5f339d1869.2e431724a3549758.62908a9e5ae947ff
+    f0653717bb117dcc.695b645b2f1facea.cc44560fac1c70a6.e835ce0f297f97c6
+    2ea4fc5019711f0b
+  after
+    70c4f94b9cc7732a.e6e870cb1acefdb6.3c9895d0ac42f738.2972d17db1a2593d
+    6ad7bb5d9af340d6.1eaa7a5f339d1869.2e431724a3549758.62908a9e5ae947ff
+    6ad7bb5d9af340d6.1eaa7a5f339d1869.2e431724a3549758.62908a9e5ae947ff
+    f0653717bb117dcc.695b645b2f1facea.cc44560fac1c70a6.e835ce0f297f97c6
+    0000000000000001
+VPTEST_256_2(mem)
+  before
+    12a9904c46cc99fb.4b056a83c345ec11.a3fb355c9ac596bf.51728eb48c749eae
+    6e1006f1cd9bc2c2.d904500c4d1acc52.a7586b4f91989015.1a18bb81e2e65e1b
+    20a5db2ac9ea558b.f5afe51ef51c573a.533c81212fa65617.8483d9e14700ec9a
+    03348ae457c60f82.fb50262558d7ca76.8174f3bc90faa6f2.e900e540594e84d7
+    a6d9d90ab45a617d
+  after
+    12a9904c46cc99fb.4b056a83c345ec11.a3fb355c9ac596bf.51728eb48c749eae
+    ed566fb3b9336604.b4fa957c3cba13ee.5c04caa3653a6940.ae8d714b738b6151
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    03348ae457c60f82.fb50262558d7ca76.8174f3bc90faa6f2.e900e540594e84d7
+    0000000000000040
+
+VTESTPS_128_1(reg)
+  before
+    175ab3abf3b3c039.f2888f09933aacd5.46340e8d11d861b1.0fcd3e0ed2a03ad1
+    98d16f8fb3e2ddb6.cb6f66869852e8ad.34a699c2bdab5798.d710dc020ea5cfe1
+    858907228f75f4a1.68b38c47821b7f39.1ff4c330f7dae9d7.b70c4b836214204e
+    3acd79d123f740a6.a6217b396ea02ca3.656889435cf35319.898c067feafaeb43
+    2b5b8ae1c161eaed
+  after
+    175ab3abf3b3c039.f2888f09933aacd5.46340e8d11d861b1.0fcd3e0ed2a03ad1
+    98d16f8fb3e2ddb6.cb6f66869852e8ad.34a699c2bdab5798.d710dc020ea5cfe1
+    858907228f75f4a1.68b38c47821b7f39.1ff4c330f7dae9d7.b70c4b836214204e
+    3acd79d123f740a6.a6217b396ea02ca3.656889435cf35319.898c067feafaeb43
+    0000000000000001
+VTESTPS_128_1(mem)
+  before
+    774651960357d978.13eabf060cf4fe70.6285b14677eeac18.6050e6688781d10b
+    4a1ad988cde8760f.6c2cd82fe6f969ac.76aaa95cb910bac3.6ef6d60915119e59
+    81a19da43b1f7bde.a1dfbdb64c91bf05.bf5ee066521214d1.e9a75594a12ef7ae
+    f6a719d76708a513.0e4f6b09da493a28.1a6bd0505b00746d.2faf5f74c86418b7
+    9a59f11425403c1f
+  after
+    774651960357d978.13eabf060cf4fe70.6285b14677eeac18.6050e6688781d10b
+    4a1ad988cde8760f.6c2cd82fe6f969ac.76aaa95cb910bac3.6ef6d60915119e59
+    81a19da43b1f7bde.a1dfbdb64c91bf05.bf5ee066521214d1.e9a75594a12ef7ae
+    f6a719d76708a513.0e4f6b09da493a28.1a6bd0505b00746d.2faf5f74c86418b7
+    0000000000000040
+
+VTESTPS_128_1(reg)
+  before
+    87f306e2554da093.86faca0b70afafd8.0fc7df932dab17c1.619ef706f2e796c4
+    53c79a49f31780be.0d652a2e70215759.009514c0e046917b.71c4d07433d23802
+    5822a9b59b2b184d.68b3b72a836a57c3.3c0306fc90a3e503.26a6d78639ce1452
+    f3503093ea14a3ec.71b1ecedc6946c42.215eb2b3d8504f04.5c13892820e6e7e1
+    f0d6614705266cda
+  after
+    87f306e2554da093.86faca0b70afafd8.0fc7df932dab17c1.619ef706f2e796c4
+    53c79a49f31780be.0d652a2e70215759.009514c0e046917b.71c4d07433d23802
+    5822a9b59b2b184d.68b3b72a836a57c3.3c0306fc90a3e503.26a6d78639ce1452
+    f3503093ea14a3ec.71b1ecedc6946c42.215eb2b3d8504f04.5c13892820e6e7e1
+    0000000000000001
+VTESTPS_128_1(mem)
+  before
+    bcbadacd049b616a.819d294d7c5e5e46.052b456254ad5101.0af2125155d80b2b
+    9d8d73a7384f80bd.5c559250ec968508.00ed3f7549c0c32d.530b2443a2c85423
+    6f19a5c2bd5186fe.e1c36609d64754dd.3ec35512c3da7ef1.57f5e3f35caa6899
+    0e2bed09b0aa2e5a.6c35a2e2d7fd0672.9b780325db063e7a.74fb4bcf1e0d8039
+    056a5941847adbae
+  after
+    bcbadacd049b616a.819d294d7c5e5e46.052b456254ad5101.0af2125155d80b2b
+    9d8d73a7384f80bd.5c559250ec968508.00ed3f7549c0c32d.530b2443a2c85423
+    6f19a5c2bd5186fe.e1c36609d64754dd.3ec35512c3da7ef1.57f5e3f35caa6899
+    0e2bed09b0aa2e5a.6c35a2e2d7fd0672.9b780325db063e7a.74fb4bcf1e0d8039
+    0000000000000041
+
+VTESTPS_128_1(reg)
+  before
+    658e08b72b7fb3a5.568fc8682c6835fc.59f540498a45d873.f3dac59aaf50bef4
+    f2b3549cafa745ca.2310b1ca4e975711.04503ea98caa058b.22b3175e5bc5bb8a
+    0625395cab7fcdc8.517c241d314150c5.c992976e78b8cb67.04d0765bfa70f169
+    ff30b363bb92864c.bc9d9e4df274db43.04074703ebfc64b2.75fd5d7fa85d1cbc
+    510648b48299f7b0
+  after
+    658e08b72b7fb3a5.568fc8682c6835fc.59f540498a45d873.f3dac59aaf50bef4
+    f2b3549cafa745ca.2310b1ca4e975711.04503ea98caa058b.22b3175e5bc5bb8a
+    0625395cab7fcdc8.517c241d314150c5.c992976e78b8cb67.04d0765bfa70f169
+    ff30b363bb92864c.bc9d9e4df274db43.04074703ebfc64b2.75fd5d7fa85d1cbc
+    0000000000000040
+VTESTPS_128_1(mem)
+  before
+    73b6b3e8a42f3f70.3720bf1d7c6cae01.3f409a44ac3bb5b8.11fa4bd680010d19
+    b9db1a06292baf2a.0c4057f68a9a7e94.b83193ef7ca39a4f.4cb99e53d4540148
+    fe3ffafa2d9a0507.d8dd795a80a735b0.023c083a7db74635.118e3ce482807dea
+    1eafceb0cd87fb36.f84321b5fa1f0d02.f92d7212cc847496.bcc621f62711bdac
+    a9ad49f65e93fd39
+  after
+    73b6b3e8a42f3f70.3720bf1d7c6cae01.3f409a44ac3bb5b8.11fa4bd680010d19
+    b9db1a06292baf2a.0c4057f68a9a7e94.b83193ef7ca39a4f.4cb99e53d4540148
+    fe3ffafa2d9a0507.d8dd795a80a735b0.023c083a7db74635.118e3ce482807dea
+    1eafceb0cd87fb36.f84321b5fa1f0d02.f92d7212cc847496.bcc621f62711bdac
+    0000000000000000
+
+VTESTPS_128_2(reg)
+  before
+    348fb14ec393783e.f4f7121424fe4ee1.c9be4974958f4336.78d04e618414e19d
+    b8b8536cf39c6b67.5ee343124f0cb934.a59aef01ec8213f7.5df01915c1754977
+    93732dba8a3b125f.373fdb9669bcfa5c.e9230eca9c84b9f2.835a4e19a0b3674f
+    200e3ba623fba9d3.5ad6588d8f1acb85.f2a4a23a402270d3.c5da69593dd8f852
+    013ce7c0b3f2b8ab
+  after
+    348fb14ec393783e.f4f7121424fe4ee1.c9be4974958f4336.78d04e618414e19d
+    0000000000000000.0000000000000000.e9230eca9c84b9f2.835a4e19a0b3674f
+    93732dba8a3b125f.373fdb9669bcfa5c.e9230eca9c84b9f2.835a4e19a0b3674f
+    200e3ba623fba9d3.5ad6588d8f1acb85.f2a4a23a402270d3.c5da69593dd8f852
+    0000000000000001
+VTESTPS_128_2(mem)
+  before
+    124c423c1e0d6387.bbd3779b5a686b6e.a57635e1dc33e8da.1a6aa7bd75e77545
+    d3d6f8b99b34b412.bf0fdf05cc0e95dd.f2e9ee806d120f88.bec11abfd65f03f4
+    22a5842145736877.8a0e6e50147a63cb.1ffc00545dc3fabb.3af5f5ac0017588d
+    d987626139d63be3.771c20e8cf3710e5.067be54bc853669e.ea5236f08e9aaebc
+    2a24d9f71c74412d
+  after
+    124c423c1e0d6387.bbd3779b5a686b6e.a57635e1dc33e8da.1a6aa7bd75e77545
+    0000000000000000.0000000000000000.5a89ca1e23cc1725.e59558428a188aba
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    d987626139d63be3.771c20e8cf3710e5.067be54bc853669e.ea5236f08e9aaebc
+    0000000000000040
+
+VTESTPS_128_2(reg)
+  before
+    56b6d82d47324f8b.d5460f66926ae882.e184f13998d2d9d7.85321b50cbcd0e5d
+    ca5631ffab5f1282.f3af061a6d3a2c7f.2694ddb00cd6fa4c.76ec1d4f823eb026
+    e24edfd7e388c7bf.0d8ec36be553c306.a096e1b7c6cfaff1.b777683408b00623
+    faebde238b37aaee.01aec24317bf6945.add7f8bc634a3372.229d76eb7932cc80
+    942bc560f2cdc06a
+  after
+    56b6d82d47324f8b.d5460f66926ae882.e184f13998d2d9d7.85321b50cbcd0e5d
+    0000000000000000.0000000000000000.a096e1b7c6cfaff1.b777683408b00623
+    e24edfd7e388c7bf.0d8ec36be553c306.a096e1b7c6cfaff1.b777683408b00623
+    faebde238b37aaee.01aec24317bf6945.add7f8bc634a3372.229d76eb7932cc80
+    0000000000000001
+VTESTPS_128_2(mem)
+  before
+    eaedd0808f8f9c0d.6e792a4d40faf6bb.a9dd7f901e8cd966.a7a31e297ed2c37a
+    feaf13356b831d94.9a44bfc39d5de8d1.e2e5773d17c6d095.ec46506cb4f39bb6
+    ad3d0a6da2b6fe2c.da979af03febbcdc.889425361d780aff.d60c88f0a03af6d1
+    d36232125133fd00.8ac0b640c230ad89.78b405674dae42d0.c240c421df321178
+    0d2fff6b0c672856
+  after
+    eaedd0808f8f9c0d.6e792a4d40faf6bb.a9dd7f901e8cd966.a7a31e297ed2c37a
+    0000000000000000.0000000000000000.5622806fe1732699.585ce1d6812d3c85
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    d36232125133fd00.8ac0b640c230ad89.78b405674dae42d0.c240c421df321178
+    0000000000000040
+
+VTESTPS_128_2(reg)
+  before
+    1126363ac3667718.4deb06129306d43d.06090f1fc0b8f984.8c1293bcc2753533
+    2b6f63faa1ba396a.f5a50258853b400f.aabfa2f9d810da78.a1794b2198d79f55
+    b756841742efabf7.a85aa2d042dffca1.d12e693aa3c38c12.93b7aa83ece33c61
+    122994fe4092096c.42d76366e7fdc520.d9a2624fbf5e4dfe.3e962bccdaa2c784
+    7ee44aea7c22fdea
+  after
+    1126363ac3667718.4deb06129306d43d.06090f1fc0b8f984.8c1293bcc2753533
+    0000000000000000.0000000000000000.d12e693aa3c38c12.93b7aa83ece33c61
+    b756841742efabf7.a85aa2d042dffca1.d12e693aa3c38c12.93b7aa83ece33c61
+    122994fe4092096c.42d76366e7fdc520.d9a2624fbf5e4dfe.3e962bccdaa2c784
+    0000000000000001
+VTESTPS_128_2(mem)
+  before
+    2f6b83c7f16e9abe.96338f193a2e8e74.9fe7c0068fa257b7.1d6688a2c86c57e7
+    2df8535153935a2d.a0bf71d6ca4f77bc.9b58359c56d96e93.f8c8d8a05979e77a
+    54573573be9cf862.8c1a379f8c8200f0.12f43e1459aec5e0.c8124cb60f123862
+    8053a5194f95318a.b690dce21d5265bb.e088575ab42e19c9.e891e24f85c2884c
+    b39195d7571511e3
+  after
+    2f6b83c7f16e9abe.96338f193a2e8e74.9fe7c0068fa257b7.1d6688a2c86c57e7
+    0000000000000000.0000000000000000.60183ff9705da848.e299775d3793a818
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    8053a5194f95318a.b690dce21d5265bb.e088575ab42e19c9.e891e24f85c2884c
+    0000000000000040
+
+VTESTPS_128_3(reg)
+  before
+    875e61b922970fd4.8dba1f2f218bc0d1.7a6d5c0a184be1ca.e1e1fd5b8264267b
+    be44426382d5c0cb.57561fa151896362.34fdb3831afab1c8.f1c8ab01e05ca821
+    b68e3541125b5e73.baf4225bfa9bd46a.408cdeb9beea1162.ec0cdd3ae8235ae8
+    c98a35bd6eb32679.9260a34939ced014.fa65d718a1a83d44.ad780ff1b9c4f9fc
+    12d7bd116d4b4088
+  after
+    875e61b922970fd4.8dba1f2f218bc0d1.7a6d5c0a184be1ca.e1e1fd5b8264267b
+    be44426382d5c0cb.57561fa151896362.34fdb3831afab1c8.f1c8ab01e05ca821
+    b68e3541125b5e73.baf4225bfa9bd46a.408cdeb9beea1162.ec0cdd3ae8235ae8
+    c98a35bd6eb32679.9260a34939ced014.fa65d718a1a83d44.ad780ff1b9c4f9fc
+    0000000000000001
+VTESTPS_128_3(mem)
+  before
+    f6f7648820c5edb9.54823e44336b5389.bb661e57292d128d.bed59c0c5ebe7019
+    35a27f41ef3dbaba.b4c34c42fc0e234e.10d20f72e6c45800.e829280191bbe78e
+    aaa58a28f5bf64b8.43995b246629d074.6f70f3848da05b9a.d4ab7864d828de4e
+    33cc012a4f58a6de.5e5068540d4796a9.b30b447b3accda87.dda7869fcc939006
+    616b50200b873a62
+  after
+    f6f7648820c5edb9.54823e44336b5389.bb661e57292d128d.bed59c0c5ebe7019
+    35a27f41ef3dbaba.b4c34c42fc0e234e.10d20f72e6c45800.e829280191bbe78e
+    aaa58a28f5bf64b8.43995b246629d074.6f70f3848da05b9a.d4ab7864d828de4e
+    33cc012a4f58a6de.5e5068540d4796a9.b30b447b3accda87.dda7869fcc939006
+    0000000000000001
+
+VTESTPS_128_3(reg)
+  before
+    bb42d1523191180d.abe2613118133e59.62336e408bf4b397.b7708042085490f3
+    477705a0d93b65b4.edb5252a6dfce655.a99069537ebd61ea.596b23c513453808
+    6057e9789f145f02.d70fc90269205afd.90b155f8822ddd4f.74c8a7f078aa8ff5
+    642e774520a540a4.44bdc9a3298a587e.73e32f9d32d16272.e3538aaf538f50e4
+    84d846eebf013802
+  after
+    bb42d1523191180d.abe2613118133e59.62336e408bf4b397.b7708042085490f3
+    477705a0d93b65b4.edb5252a6dfce655.a99069537ebd61ea.596b23c513453808
+    6057e9789f145f02.d70fc90269205afd.90b155f8822ddd4f.74c8a7f078aa8ff5
+    642e774520a540a4.44bdc9a3298a587e.73e32f9d32d16272.e3538aaf538f50e4
+    0000000000000040
+VTESTPS_128_3(mem)
+  before
+    31225a99d80b037a.ae48ad73f77c4445.0f8ca1fbc8469a04.ae72f2ad2b332efe
+    c8ff3f9cbbba6d79.99f1866ec124a992.1645cef56361ddba.9eaa9a9408e17ba0
+    233972e48319322a.8375ffa3192aa937.33b7cb7d15e6dccd.9dd723bf66678603
+    1f9d705b4d340dba.c61f127c9c1981df.43ad147ffae25568.08448998e04f8ad4
+    3b3fc98c1228c4bf
+  after
+    31225a99d80b037a.ae48ad73f77c4445.0f8ca1fbc8469a04.ae72f2ad2b332efe
+    c8ff3f9cbbba6d79.99f1866ec124a992.1645cef56361ddba.9eaa9a9408e17ba0
+    233972e48319322a.8375ffa3192aa937.33b7cb7d15e6dccd.9dd723bf66678603
+    1f9d705b4d340dba.c61f127c9c1981df.43ad147ffae25568.08448998e04f8ad4
+    0000000000000000
+
+VTESTPS_128_3(reg)
+  before
+    9212de08997b706f.99f7b4ef3417bb55.c03cbd66e57d6c37.23f225e72f6002b8
+    690ac47611d6ca91.6b12ba8a55cff726.cb18fbce91e3a8eb.ad547ba1d06c9fe8
+    1c73774414c40dd0.72bcfe1acb677e5a.45ffc81f3bd66fa6.be9d9199f712ea25
+    0798f4dd41d176d9.8bbffd8ab3ec0d1d.883d20c480e2fd15.339ae3bbc35f9d9b
+    e616edf44e5e7575
+  after
+    9212de08997b706f.99f7b4ef3417bb55.c03cbd66e57d6c37.23f225e72f6002b8
+    690ac47611d6ca91.6b12ba8a55cff726.cb18fbce91e3a8eb.ad547ba1d06c9fe8
+    1c73774414c40dd0.72bcfe1acb677e5a.45ffc81f3bd66fa6.be9d9199f712ea25
+    0798f4dd41d176d9.8bbffd8ab3ec0d1d.883d20c480e2fd15.339ae3bbc35f9d9b
+    0000000000000000
+VTESTPS_128_3(mem)
+  before
+    b4df2b2eb41c2de0.85c735ad328a4158.90e932c628685d9a.f21e002bfb9490e3
+    79c01a5712a48307.f44a3820837aaaf8.5e0419ba46ea2dfd.dded63bf487762bd
+    1284355983023117.af6ff8a2d12eec65.d1dd2e522a7b3774.a6f845ec0517b04e
+    59f8f8222442f43c.1280729fb731444d.c63fee7af0293828.aa89a21ecb01b543
+    43ed77c138c0af48
+  after
+    b4df2b2eb41c2de0.85c735ad328a4158.90e932c628685d9a.f21e002bfb9490e3
+    79c01a5712a48307.f44a3820837aaaf8.5e0419ba46ea2dfd.dded63bf487762bd
+    1284355983023117.af6ff8a2d12eec65.d1dd2e522a7b3774.a6f845ec0517b04e
+    59f8f8222442f43c.1280729fb731444d.c63fee7af0293828.aa89a21ecb01b543
+    0000000000000001
+
+VTESTPS_128_3(reg)
+  before
+    ce70be42e7e0d808.2be8df9d107187a1.79caa083d20fee5a.17f8d31fb3ffeb48
+    a75d750b75ee6d30.642067b6649ba773.3f9880babd542538.a1d25b2b8f0a0efe
+    2b0298897e75a96b.e06c0a593bca10dd.c2380db1158d2694.409b018ca1555b76
+    b4a921299d01c966.7b974672b20c7e0c.5df544d275452d1a.d01d422c05ec8fde
+    2d2598f9d5dc655f
+  after
+    ce70be42e7e0d808.2be8df9d107187a1.79caa083d20fee5a.17f8d31fb3ffeb48
+    a75d750b75ee6d30.642067b6649ba773.3f9880babd542538.a1d25b2b8f0a0efe
+    2b0298897e75a96b.e06c0a593bca10dd.c2380db1158d2694.409b018ca1555b76
+    b4a921299d01c966.7b974672b20c7e0c.5df544d275452d1a.d01d422c05ec8fde
+    0000000000000000
+VTESTPS_128_3(mem)
+  before
+    337f81de30309a28.9fa00e566e1f09cd.116f97eee46cac2c.6b1a1f8b79097575
+    bef678c72ff4ea63.4831597b8e5aa54b.7ebe77b7edf75768.4af49c47be643c52
+    aa58f9a0f135113c.0ba90006983ed88d.9e5164baeab83bed.54cfb671e0e2bc5d
+    d36f81558ffdcae0.4453ff622958df3e.4df4d8e4f7bb14e6.e7f769777a103141
+    5db8b1c42879d9ab
+  after
+    337f81de30309a28.9fa00e566e1f09cd.116f97eee46cac2c.6b1a1f8b79097575
+    bef678c72ff4ea63.4831597b8e5aa54b.7ebe77b7edf75768.4af49c47be643c52
+    aa58f9a0f135113c.0ba90006983ed88d.9e5164baeab83bed.54cfb671e0e2bc5d
+    d36f81558ffdcae0.4453ff622958df3e.4df4d8e4f7bb14e6.e7f769777a103141
+    0000000000000001
+
+VTESTPS_128_3(reg)
+  before
+    145d8bc487a9ee46.14088ad2285bd27b.4f7d50fbdc33f60b.677351202f0d9d80
+    6634f2e4332dadbf.4bef9203d558e539.8871f13d4e5c58a0.c7994b59aeb993e7
+    b187e28ec79051c1.53f014d5b402bf45.4b7ddd951a5d43a8.4b34407d91cbb146
+    4fa3572fdf5e18f9.08d78d32e1651bcb.f4eb106ddcc5f1d0.ce0eae77f350b5ca
+    2cf41033f153599e
+  after
+    145d8bc487a9ee46.14088ad2285bd27b.4f7d50fbdc33f60b.677351202f0d9d80
+    6634f2e4332dadbf.4bef9203d558e539.8871f13d4e5c58a0.c7994b59aeb993e7
+    b187e28ec79051c1.53f014d5b402bf45.4b7ddd951a5d43a8.4b34407d91cbb146
+    4fa3572fdf5e18f9.08d78d32e1651bcb.f4eb106ddcc5f1d0.ce0eae77f350b5ca
+    0000000000000001
+VTESTPS_128_3(mem)
+  before
+    41b2e29da6e05aef.9dd44d3418243c13.46707708778cb6f8.de088632311d9ec3
+    e814a0a12f0473e9.f865c1070d6dfaba.e886504193834cf8.67203c51b5f3882e
+    ffe6c72ca7ca62b7.baa4ae165bc58d9b.cce693cb505698f6.ea7e2d3403d2e9bd
+    60f3d2282b3ee185.40dc10cb9db93261.cd5cbc91ca12571f.c3705549b747fe1b
+    4e40b0fb6edc02f5
+  after
+    41b2e29da6e05aef.9dd44d3418243c13.46707708778cb6f8.de088632311d9ec3
+    e814a0a12f0473e9.f865c1070d6dfaba.e886504193834cf8.67203c51b5f3882e
+    ffe6c72ca7ca62b7.baa4ae165bc58d9b.cce693cb505698f6.ea7e2d3403d2e9bd
+    60f3d2282b3ee185.40dc10cb9db93261.cd5cbc91ca12571f.c3705549b747fe1b
+    0000000000000001
+
+VTESTPS_128_3(reg)
+  before
+    e63c3ab6c42032f6.e9093d82d66dac81.e658e39470d425b9.c6b4477f1ec2459f
+    e9aef0e6549ccacb.75f28427c56281d5.096524dc6fa2a24f.95bab18168721ea1
+    b2e2cdf7bade061f.df7b2302132a1aad.034fce0f36b0e4ce.143a7583c22f9d51
+    9c26cd559371229f.057097feddcf3436.3162dd99628928e3.21ff0f714b047fdd
+    96d7fb371dfd806f
+  after
+    e63c3ab6c42032f6.e9093d82d66dac81.e658e39470d425b9.c6b4477f1ec2459f
+    e9aef0e6549ccacb.75f28427c56281d5.096524dc6fa2a24f.95bab18168721ea1
+    b2e2cdf7bade061f.df7b2302132a1aad.034fce0f36b0e4ce.143a7583c22f9d51
+    9c26cd559371229f.057097feddcf3436.3162dd99628928e3.21ff0f714b047fdd
+    0000000000000040
+VTESTPS_128_3(mem)
+  before
+    518cb6c254275b33.05c5ec6c7ae259f7.c19d5b093e608a9c.efe94de78fb9aa3a
+    2cebbafc0d8dcd56.470a27a80cbce8d2.f0cdeb0e52e6da0a.99321a6358cda57e
+    04c085d3633c9204.c0437876e48b0add.6fcec3f9366fdead.8b87417a5a50575b
+    b6d69231733f6668.cabadd409fdcfcc4.186a60b6060652b0.2135bd9930cefa7e
+    b7898a2a76d4ca93
+  after
+    518cb6c254275b33.05c5ec6c7ae259f7.c19d5b093e608a9c.efe94de78fb9aa3a
+    2cebbafc0d8dcd56.470a27a80cbce8d2.f0cdeb0e52e6da0a.99321a6358cda57e
+    04c085d3633c9204.c0437876e48b0add.6fcec3f9366fdead.8b87417a5a50575b
+    b6d69231733f6668.cabadd409fdcfcc4.186a60b6060652b0.2135bd9930cefa7e
+    0000000000000040
+
+VTESTPS_128_3(reg)
+  before
+    a9cca49bc9ed0545.1cfb5e0458a204af.c3bc5274d83afa32.c96e3d32ddb7f440
+    534d0857c4a6e541.13f963372e712904.0594d17d2c3140d3.5ca6d657d78f7e89
+    1157b0ca048aa633.789e1fb612b99194.ee9058c6364d0a55.aedea7121199adb6
+    3f359a5f242586c6.25b40d6d2085f78b.d8fbe2bd921b9362.9be22c50a6e23cf4
+    007de2fbb375e96f
+  after
+    a9cca49bc9ed0545.1cfb5e0458a204af.c3bc5274d83afa32.c96e3d32ddb7f440
+    534d0857c4a6e541.13f963372e712904.0594d17d2c3140d3.5ca6d657d78f7e89
+    1157b0ca048aa633.789e1fb612b99194.ee9058c6364d0a55.aedea7121199adb6
+    3f359a5f242586c6.25b40d6d2085f78b.d8fbe2bd921b9362.9be22c50a6e23cf4
+    0000000000000001
+VTESTPS_128_3(mem)
+  before
+    b77c4401535e6e52.3834c285c103bfa7.f708aa4873e21814.20206bcddd2718a6
+    9dacce4da3aa88c9.5aa022a576b18e81.ca65703328dbb05c.224cef62b3fbd4ce
+    8ed7fccbbe63f201.00c5b82ce0ba2f01.7a99dd1b597c7b8f.3bcb6ae9af250586
+    66ca4b67c1986926.86ef7e869aabddd3.e36e6cea25d234d8.c5e9d9cc6d31e579
+    1df237788aaab054
+  after
+    b77c4401535e6e52.3834c285c103bfa7.f708aa4873e21814.20206bcddd2718a6
+    9dacce4da3aa88c9.5aa022a576b18e81.ca65703328dbb05c.224cef62b3fbd4ce
+    8ed7fccbbe63f201.00c5b82ce0ba2f01.7a99dd1b597c7b8f.3bcb6ae9af250586
+    66ca4b67c1986926.86ef7e869aabddd3.e36e6cea25d234d8.c5e9d9cc6d31e579
+    0000000000000000
+
+VTESTPS_128_3(reg)
+  before
+    9f31805aa21ca4c2.0150350dc752a964.476a7220410fd5a2.e1b2998ea6e79863
+    a7f4b1dc5013fb70.3b3738a9ed9f6ee6.a18190647072531b.502fe0f1f8ca635d
+    9285c46c301cf20a.f049cf274e8a73d8.ef82d2c0c46093e9.0cb2be01388451f2
+    ba31b775dfc2c53b.fc54777406207567.8cb7369ed866d0b9.f107ada981231d4d
+    dbf92bd5f0b3849b
+  after
+    9f31805aa21ca4c2.0150350dc752a964.476a7220410fd5a2.e1b2998ea6e79863
+    a7f4b1dc5013fb70.3b3738a9ed9f6ee6.a18190647072531b.502fe0f1f8ca635d
+    9285c46c301cf20a.f049cf274e8a73d8.ef82d2c0c46093e9.0cb2be01388451f2
+    ba31b775dfc2c53b.fc54777406207567.8cb7369ed866d0b9.f107ada981231d4d
+    0000000000000001
+VTESTPS_128_3(mem)
+  before
+    a656b471a03e4108.7c448563f891afb0.3b22aa7a326c30bf.d66db76c48104736
+    2ee8c269aed212bf.340a2aa11816ed14.8980e626ee7a600c.27f05195b1e8340d
+    4f7cd3a9357ab1ed.3ecea39edadcbb14.c239a6655557c078.dd8b0085af7cd2ea
+    e5de621d5243dbbd.f6deeac3db70545c.c21b6722830e0d32.528cc1a8dd575e78
+    e43d8f6ad7061464
+  after
+    a656b471a03e4108.7c448563f891afb0.3b22aa7a326c30bf.d66db76c48104736
+    2ee8c269aed212bf.340a2aa11816ed14.8980e626ee7a600c.27f05195b1e8340d
+    4f7cd3a9357ab1ed.3ecea39edadcbb14.c239a6655557c078.dd8b0085af7cd2ea
+    e5de621d5243dbbd.f6deeac3db70545c.c21b6722830e0d32.528cc1a8dd575e78
+    0000000000000040
+
+VTESTPS_128_3(reg)
+  before
+    edec66383a14305a.ccdaebb220384b5c.b884fd7db65cf597.64f0a34995ab0264
+    cae3427ca10ded05.df3cea52bc65bff6.df0dd738072eda72.8686d8c6a73b5d3b
+    d86e1fa3a97e8811.fcd0dbeb41d7f0b6.c9c575616b723f98.03a78185d3c9d8e2
+    71dbfa1aedf23d2c.fe613b67cb999dc9.d1f8d1627eb35fb6.b7201a7238613086
+    7dbd1f79ef102053
+  after
+    edec66383a14305a.ccdaebb220384b5c.b884fd7db65cf597.64f0a34995ab0264
+    cae3427ca10ded05.df3cea52bc65bff6.df0dd738072eda72.8686d8c6a73b5d3b
+    d86e1fa3a97e8811.fcd0dbeb41d7f0b6.c9c575616b723f98.03a78185d3c9d8e2
+    71dbfa1aedf23d2c.fe613b67cb999dc9.d1f8d1627eb35fb6.b7201a7238613086
+    0000000000000000
+VTESTPS_128_3(mem)
+  before
+    33490d8617e16674.f275ce4c0af547ff.c0bc85b477b8815a.53f2e9a9db7d7878
+    b3925f86c9e1bc16.b88797a49b14e339.20ad35bd613e5796.abfeb8a01e5cc389
+    db629163241ade64.1d5f51903dda4d84.f900c86ea439dca8.346a3ab5e4dd7f95
+    86871f0b419a8a8b.7e47f97b8bd3c18d.2681b8b35cb5cbbd.4c806c53c98be64a
+    4e8d49e668f33552
+  after
+    33490d8617e16674.f275ce4c0af547ff.c0bc85b477b8815a.53f2e9a9db7d7878
+    b3925f86c9e1bc16.b88797a49b14e339.20ad35bd613e5796.abfeb8a01e5cc389
+    db629163241ade64.1d5f51903dda4d84.f900c86ea439dca8.346a3ab5e4dd7f95
+    86871f0b419a8a8b.7e47f97b8bd3c18d.2681b8b35cb5cbbd.4c806c53c98be64a
+    0000000000000000
+
+VTESTPS_128_3(reg)
+  before
+    95ddccda5da0a859.8fcb85683e6d7ab6.378c8ad1228c7aff.85fc8378a6bde101
+    7fbbf39b451e7a0c.d4fb4068379e6b12.a47a00fe9d90b587.f03ca4a99d5dda9f
+    6775ba95bbfae817.2fe2cbf6473918cb.215c576e986caed0.450f98325ea172c4
+    a8561b355cbf2e25.7d4ea2fe8a4a3f0c.0a808b8eb0aaa187.5e3fd9000596659c
+    1999e5fdac476e52
+  after
+    95ddccda5da0a859.8fcb85683e6d7ab6.378c8ad1228c7aff.85fc8378a6bde101
+    7fbbf39b451e7a0c.d4fb4068379e6b12.a47a00fe9d90b587.f03ca4a99d5dda9f
+    6775ba95bbfae817.2fe2cbf6473918cb.215c576e986caed0.450f98325ea172c4
+    a8561b355cbf2e25.7d4ea2fe8a4a3f0c.0a808b8eb0aaa187.5e3fd9000596659c
+    0000000000000000
+VTESTPS_128_3(mem)
+  before
+    50e9371771c04a13.a0a914e5c3f988e3.9b09416c1dde9a02.bb3099c881d8c958
+    e0fa4b39700eb40a.a9bba0138d3531fd.63e1252c1c00e5d9.90b97c8aa68263ee
+    a69a9d4ec43c6964.21d8bb2955fd661e.b3a0c82aa2bddebc.e567303ebb33aaf6
+    7c93aa448a57264c.624c6295b8e063f2.6513a852cb1f3fd7.1686b1525d77dc1b
+    7f62fc3128da330a
+  after
+    50e9371771c04a13.a0a914e5c3f988e3.9b09416c1dde9a02.bb3099c881d8c958
+    e0fa4b39700eb40a.a9bba0138d3531fd.63e1252c1c00e5d9.90b97c8aa68263ee
+    a69a9d4ec43c6964.21d8bb2955fd661e.b3a0c82aa2bddebc.e567303ebb33aaf6
+    7c93aa448a57264c.624c6295b8e063f2.6513a852cb1f3fd7.1686b1525d77dc1b
+    0000000000000040
+
+VTESTPS_256_1(reg)
+  before
+    7c460c46b6e9ec6e.3fb3ed06dd6aa4ef.c9628fc251676327.56054191b435c558
+    6980ddffa62f42f5.cbc4e280da81a279.b368401cbc20a367.62440dd178082b68
+    a25a6bc792397248.fd93059e9ca9da15.7aa8700f96975f5e.669b8a0034a62f36
+    8221b20b1691b816.afebd24d3fec09f0.7b6f1b077b56d3b9.3cd53309041a8bec
+    c1bf84d70271fcb6
+  after
+    7c460c46b6e9ec6e.3fb3ed06dd6aa4ef.c9628fc251676327.56054191b435c558
+    6980ddffa62f42f5.cbc4e280da81a279.b368401cbc20a367.62440dd178082b68
+    a25a6bc792397248.fd93059e9ca9da15.7aa8700f96975f5e.669b8a0034a62f36
+    8221b20b1691b816.afebd24d3fec09f0.7b6f1b077b56d3b9.3cd53309041a8bec
+    0000000000000000
+VTESTPS_256_1(mem)
+  before
+    d125f9584cb63dc2.6721af35cfc65009.be9ac677e059ea35.13093e7006eb3a24
+    48d30e77fef50b39.aca65db2586175cd.066a5c099bf93b11.9cc2d4b6d3e2d14a
+    02954020333a224a.adfcb8ee4df0650f.632910f08bdab6b0.73e6d9467fc5d4d8
+    db360a3f08923e1f.c56ebc564cfe597b.b1a15e16cc07183d.f4c0498aa6227f79
+    7b9e20f0e2850dda
+  after
+    d125f9584cb63dc2.6721af35cfc65009.be9ac677e059ea35.13093e7006eb3a24
+    48d30e77fef50b39.aca65db2586175cd.066a5c099bf93b11.9cc2d4b6d3e2d14a
+    02954020333a224a.adfcb8ee4df0650f.632910f08bdab6b0.73e6d9467fc5d4d8
+    db360a3f08923e1f.c56ebc564cfe597b.b1a15e16cc07183d.f4c0498aa6227f79
+    0000000000000000
+
+VTESTPS_256_1(reg)
+  before
+    64ca5be2d279bba7.af84e8c198091ae4.52496555ee1890bc.cc9fc3697b8d1ce5
+    0b91f5ce108ac48b.5a49579000a973c7.aedab056d1c9447f.90efbad4b3777fd3
+    cc3fea1f38446633.b852d19a5b8005f1.376b98c7919db270.d95cbf4391d1fd34
+    04203641e734db4a.a56bd4c9c5998c91.48481913c921163a.83b44ea230a85234
+    6ac1e3ddad0739fe
+  after
+    64ca5be2d279bba7.af84e8c198091ae4.52496555ee1890bc.cc9fc3697b8d1ce5
+    0b91f5ce108ac48b.5a49579000a973c7.aedab056d1c9447f.90efbad4b3777fd3
+    cc3fea1f38446633.b852d19a5b8005f1.376b98c7919db270.d95cbf4391d1fd34
+    04203641e734db4a.a56bd4c9c5998c91.48481913c921163a.83b44ea230a85234
+    0000000000000000
+VTESTPS_256_1(mem)
+  before
+    6a50fbe023fa6fbf.0c80d5a0b8e55f7d.fd60db0b5b01c3d1.3cbf2fa615dfab8a
+    5e2d1197af8eb0a2.43aac4a847e33078.9cfc624a38c367dd.701bd7ec1266af0b
+    2424a1ef6cceb8d4.04ebfec532bb88e6.5d0de67479eb33e2.41a70c515b3f5b6a
+    970127d276c64280.ab8f7f6312f8a474.1e5de2743a86e50c.09b0ca418df8ee52
+    26820d29441da270
+  after
+    6a50fbe023fa6fbf.0c80d5a0b8e55f7d.fd60db0b5b01c3d1.3cbf2fa615dfab8a
+    5e2d1197af8eb0a2.43aac4a847e33078.9cfc624a38c367dd.701bd7ec1266af0b
+    2424a1ef6cceb8d4.04ebfec532bb88e6.5d0de67479eb33e2.41a70c515b3f5b6a
+    970127d276c64280.ab8f7f6312f8a474.1e5de2743a86e50c.09b0ca418df8ee52
+    0000000000000000
+
+VTESTPS_256_1(reg)
+  before
+    f269d2731b38b470.9390202eea830bd4.94e243ef8527c0cd.bab9d236969f3786
+    cab1138daed760fd.f39c07ede410cff9.1b3047d327d3179e.0ded32a6a943e67d
+    0ba6cee19a86e1c4.95f258fd7f79491e.9cc5867d9388e693.f2c57eb0907cad1d
+    0f93fedd7acf7570.545e8f49d8cb366d.72ecfc5865d26957.470d334166584a91
+    e790cb4348e37706
+  after
+    f269d2731b38b470.9390202eea830bd4.94e243ef8527c0cd.bab9d236969f3786
+    cab1138daed760fd.f39c07ede410cff9.1b3047d327d3179e.0ded32a6a943e67d
+    0ba6cee19a86e1c4.95f258fd7f79491e.9cc5867d9388e693.f2c57eb0907cad1d
+    0f93fedd7acf7570.545e8f49d8cb366d.72ecfc5865d26957.470d334166584a91
+    0000000000000000
+VTESTPS_256_1(mem)
+  before
+    ad1cc4a45127f0a7.33c5a0ecea4056ae.0bac28bd09115212.fbf3a5cf3a3edc96
+    777b9a4e9d3273a1.d388ae7a8865c02a.98a8a0453157593a.92247d50ae577afe
+    1f7ac72f4910ba1f.4b2826f3edc8f18f.d51e72cd6aaa0611.93cc81465caa8039
+    83e5c93271cc824f.f7f103c3b7f8238a.a0d91a41d01516c2.5937ac1de0c22af3
+    42b1fa41d72bb3d9
+  after
+    ad1cc4a45127f0a7.33c5a0ecea4056ae.0bac28bd09115212.fbf3a5cf3a3edc96
+    777b9a4e9d3273a1.d388ae7a8865c02a.98a8a0453157593a.92247d50ae577afe
+    1f7ac72f4910ba1f.4b2826f3edc8f18f.d51e72cd6aaa0611.93cc81465caa8039
+    83e5c93271cc824f.f7f103c3b7f8238a.a0d91a41d01516c2.5937ac1de0c22af3
+    0000000000000000
+
+VTESTPS_256_2(reg)
+  before
+    a885671fdc725897.7d881b423072865a.342f4156827e92c6.d3a7148d80a5457a
+    e901f0218c2255d8.eb2e394da30e846e.5c2ddd18e9e87cf0.4c52dc9e95644e65
+    5f6f90b482c7e649.a7a59f3ee5ad36b7.cc39d17688c11bb4.e5a7ef5e2c61eeae
+    681c43455bed4696.8eb7ca01125a5861.e09d1bdafc95acbd.7b72c8bb60a5e181
+    eb7ee3a04e3ee30c
+  after
+    a885671fdc725897.7d881b423072865a.342f4156827e92c6.d3a7148d80a5457a
+    5f6f90b482c7e649.a7a59f3ee5ad36b7.cc39d17688c11bb4.e5a7ef5e2c61eeae
+    5f6f90b482c7e649.a7a59f3ee5ad36b7.cc39d17688c11bb4.e5a7ef5e2c61eeae
+    681c43455bed4696.8eb7ca01125a5861.e09d1bdafc95acbd.7b72c8bb60a5e181
+    0000000000000001
+VTESTPS_256_2(mem)
+  before
+    0f99bdf81137af78.5e54053fb221b26a.7d3134834722a897.f4a6b6b2e1f16bb8
+    c48dd0b1c69d02f4.9f63d20d24ef6671.4edf5bae9f10e086.64a09e69d2609350
+    e7289ab6887a98aa.8595a71d4ce19d59.de8dbb6f3730bd59.8bd7d06a6b6f6132
+    523496f373dd2cc6.6d357fdac68594cc.0907ceb32b8efa3d.c796472349a8110a
+    732bffff079ade83
+  after
+    0f99bdf81137af78.5e54053fb221b26a.7d3134834722a897.f4a6b6b2e1f16bb8
+    f0664207eec85087.a1abfac04dde4d95.82cecb7cb8dd5768.0b59494d1e0e9447
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    523496f373dd2cc6.6d357fdac68594cc.0907ceb32b8efa3d.c796472349a8110a
+    0000000000000040
+
+VTESTPS_256_2(reg)
+  before
+    ebe0f46a42ce064a.e27e4054a4cf7b76.b49056b02f678776.ac1812659537555d
+    8b0222d095d2c30a.73d115c6375e41e4.b4f3280b2311b204.a18e0170943688e6
+    aedd869e9d315170.e1fb8f3347953a3c.caa8f2573d115022.c5331ac241985004
+    b2bd1b3ef578ee28.08c62c88f08121ab.53fcae0119f39e7b.f4d4d646bb6868e2
+    0a3db2e81bb28dad
+  after
+    ebe0f46a42ce064a.e27e4054a4cf7b76.b49056b02f678776.ac1812659537555d
+    aedd869e9d315170.e1fb8f3347953a3c.caa8f2573d115022.c5331ac241985004
+    aedd869e9d315170.e1fb8f3347953a3c.caa8f2573d115022.c5331ac241985004
+    b2bd1b3ef578ee28.08c62c88f08121ab.53fcae0119f39e7b.f4d4d646bb6868e2
+    0000000000000001
+VTESTPS_256_2(mem)
+  before
+    e3392b947f837b90.f2eddd1d3a31d4dd.c50067b24f2db35d.a93a5a735441d8bc
+    5b96bc3603e6eeb8.cabbc8a807eb403b.f273bd9b80a5ac7d.29b0f11a8a893990
+    4e1ee1bac2e7a151.9571d849f92f6df0.6ceca8319df6c838.2fa870635557fea4
+    989f170dd9925186.b15c0a6eab8b98a6.0f37a65fc52bc2b9.176fd1b9543563a4
+    3d51128721b2a43b
+  after
+    e3392b947f837b90.f2eddd1d3a31d4dd.c50067b24f2db35d.a93a5a735441d8bc
+    1cc6d46b807c846f.0d1222e2c5ce2b22.3aff984db0d24ca2.56c5a58cabbe2743
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    989f170dd9925186.b15c0a6eab8b98a6.0f37a65fc52bc2b9.176fd1b9543563a4
+    0000000000000040
+
+VTESTPS_256_2(reg)
+  before
+    fd9a2e3b5857fc16.15e3d81963f4ba84.78c85982b98afd09.b61f32111250572d
+    b396224096b2a8e0.a1b7a2cc7c199876.4801c1f1c0b9d8c6.3f72c833a07142bf
+    bb91e802764ee446.18e6f010410ba689.7b533f275ca36589.85fae5b18c9b419d
+    71d67eed94b7ecf4.563e3ed3ced8a1e8.6f09cd9028d4dffd.64840377f1da0ef0
+    b8dca071eb3866e7
+  after
+    fd9a2e3b5857fc16.15e3d81963f4ba84.78c85982b98afd09.b61f32111250572d
+    bb91e802764ee446.18e6f010410ba689.7b533f275ca36589.85fae5b18c9b419d
+    bb91e802764ee446.18e6f010410ba689.7b533f275ca36589.85fae5b18c9b419d
+    71d67eed94b7ecf4.563e3ed3ced8a1e8.6f09cd9028d4dffd.64840377f1da0ef0
+    0000000000000001
+VTESTPS_256_2(mem)
+  before
+    5dce378c98c304ac.31b3df6e8e7afb95.368909003e8c44c1.7e716998c0d983cf
+    2e2645b21187a56b.577207effd224ed6.9695cb83ad314d3d.06d50eabc13d8cab
+    09b044d1748e0551.3f60f2dd7f3c2162.512c024838d5768b.6182b836c68c383c
+    c937b2d3dde6e08a.45c99da5b053afe6.431b2a3bfa847cd5.ecc464a36c53c12e
+    04e70c604e1d632f
+  after
+    5dce378c98c304ac.31b3df6e8e7afb95.368909003e8c44c1.7e716998c0d983cf
+    a231c873673cfb53.ce4c20917185046a.c976f6ffc173bb3e.818e96673f267c30
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    c937b2d3dde6e08a.45c99da5b053afe6.431b2a3bfa847cd5.ecc464a36c53c12e
+    0000000000000040
+
+VTESTPS_256_3(reg)
+  before
+    0336aed709765ce8.4a880aa6679bf241.c5f802b12bf3350e.472ebd4810481a47
+    46ff457638ebe608.6770c8352eb8f6a3.1a3b1f6f8ca8ef85.3b30385b952f0e0e
+    298ccea878073e39.feb8686c4f49a9dc.a2dcf04a70ff18f7.faef1861a6451256
+    092a43d964569f27.e92f6737e65ac617.b8286fae7383ee12.5f35d8445e95e24a
+    48d0f4f2da2b3c17
+  after
+    0336aed709765ce8.4a880aa6679bf241.c5f802b12bf3350e.472ebd4810481a47
+    46ff457638ebe608.6770c8352eb8f6a3.1a3b1f6f8ca8ef85.3b30385b952f0e0e
+    298ccea878073e39.feb8686c4f49a9dc.a2dcf04a70ff18f7.faef1861a6451256
+    092a43d964569f27.e92f6737e65ac617.b8286fae7383ee12.5f35d8445e95e24a
+    0000000000000040
+VTESTPS_256_3(mem)
+  before
+    8f8ae9553513dae9.4025a27599654780.06a040820df80a81.b76b9a0730c1ab80
+    1230325b8b5a79eb.2bc9e6e8b2bf70ee.2fd66f39e32e3145.fdf16cc143448bed
+    ab8d4aeff90bd449.26620b9e4bf0571d.429f70498208f790.e506e1484998cc06
+    386fb0fd9b32a931.8d3b0e03018537ba.19c5c09c0693188d.caf6f508dd4aa877
+    0a0ca56d9ce45ceb
+  after
+    8f8ae9553513dae9.4025a27599654780.06a040820df80a81.b76b9a0730c1ab80
+    1230325b8b5a79eb.2bc9e6e8b2bf70ee.2fd66f39e32e3145.fdf16cc143448bed
+    ab8d4aeff90bd449.26620b9e4bf0571d.429f70498208f790.e506e1484998cc06
+    386fb0fd9b32a931.8d3b0e03018537ba.19c5c09c0693188d.caf6f508dd4aa877
+    0000000000000000
+
+VTESTPS_256_3(reg)
+  before
+    ff95ebe421f5230f.93a0dd718cdcb2cd.bca2e98470094d71.9215d91f8cda4f69
+    07ddc5d709063b8f.99ee4e37e814ab49.0fe19a8b3309d5ed.875b39bf2fea5950
+    7c302eb4efa5de16.2723803bcce752d2.e2451c86e60f0bda.d5625c670ccef16d
+    bcda23e6705e4850.170cee6a54606194.911a6cdf26a92ae6.59f8bc023e92d4ed
+    ede7d77ee142befc
+  after
+    ff95ebe421f5230f.93a0dd718cdcb2cd.bca2e98470094d71.9215d91f8cda4f69
+    07ddc5d709063b8f.99ee4e37e814ab49.0fe19a8b3309d5ed.875b39bf2fea5950
+    7c302eb4efa5de16.2723803bcce752d2.e2451c86e60f0bda.d5625c670ccef16d
+    bcda23e6705e4850.170cee6a54606194.911a6cdf26a92ae6.59f8bc023e92d4ed
+    0000000000000040
+VTESTPS_256_3(mem)
+  before
+    6efd27c612eb6bc5.21279fd827bbb7eb.467514ae9a8b95ba.78ab84048f636fbb
+    b8042ac6ed989774.08629df8b04a6591.90296ff5bd74a971.f3466260bbc81605
+    a8c95c6a8d56fd36.ced91bb1a8968fee.d2f67929d7285be4.5d35015f49645b72
+    1817379f0f305a37.cdd6156fab2c70af.e6a6b03804b26540.14c65d6dd2c379ab
+    734372f6f572ad5f
+  after
+    6efd27c612eb6bc5.21279fd827bbb7eb.467514ae9a8b95ba.78ab84048f636fbb
+    b8042ac6ed989774.08629df8b04a6591.90296ff5bd74a971.f3466260bbc81605
+    a8c95c6a8d56fd36.ced91bb1a8968fee.d2f67929d7285be4.5d35015f49645b72
+    1817379f0f305a37.cdd6156fab2c70af.e6a6b03804b26540.14c65d6dd2c379ab
+    0000000000000000
+
+VTESTPS_256_3(reg)
+  before
+    d6f93d664bfc3338.e5bc394f8e3269a3.62a6859f54974680.a9068f0d611f84b1
+    9834b92a73ee46e2.eb82dd672668e8a5.e99569ab3f644b0c.f7e29393097a7362
+    173fe2ac06d3230a.06379fd4f4df9169.bfeebc00091dbc00.ac0636b818cfef80
+    ae68b45aa237065c.12a5fb8113a3211c.3eff7a0b4d50d407.a43ef668ac2bb436
+    bb554e8dde997eb1
+  after
+    d6f93d664bfc3338.e5bc394f8e3269a3.62a6859f54974680.a9068f0d611f84b1
+    9834b92a73ee46e2.eb82dd672668e8a5.e99569ab3f644b0c.f7e29393097a7362
+    173fe2ac06d3230a.06379fd4f4df9169.bfeebc00091dbc00.ac0636b818cfef80
+    ae68b45aa237065c.12a5fb8113a3211c.3eff7a0b4d50d407.a43ef668ac2bb436
+    0000000000000000
+VTESTPS_256_3(mem)
+  before
+    cd19ba14cc25081d.b8f92c9ee3a72a83.eb996e59a0be53ea.c3129f36a889d0ce
+    b654b6e992dc0fa5.933f44e664aecd2c.6ddf724ab63ee4ff.aa7528efb652ec01
+    52d3bff94bc84f76.9a86fa9dc2d82903.7442853f722e9086.4f7210a11139644b
+    7d62502e13f884bb.281a492f98b17ab3.dc902324ef9b13ab.0e5653b858ca7359
+    436ced9f249056d6
+  after
+    cd19ba14cc25081d.b8f92c9ee3a72a83.eb996e59a0be53ea.c3129f36a889d0ce
+    b654b6e992dc0fa5.933f44e664aecd2c.6ddf724ab63ee4ff.aa7528efb652ec01
+    52d3bff94bc84f76.9a86fa9dc2d82903.7442853f722e9086.4f7210a11139644b
+    7d62502e13f884bb.281a492f98b17ab3.dc902324ef9b13ab.0e5653b858ca7359
+    0000000000000000
+
+VTESTPS_256_3(reg)
+  before
+    4a02dbc51417496f.13cde576077569a1.9b472e0882c6fee8.8193c6e54a90289b
+    7f631793c1eb87d0.f0e0fabc434dbb54.4d58a3941da3ef50.3f18ec6e9e198c82
+    3eda9f76c9994ea4.f0660cebe28c35ff.9c9ba63f04d28a95.f1ec10ab0843fb8b
+    e3b46edac8acd898.ee2c95f1003c95cf.e25a3275d4e10a63.75d8ae89a31931e3
+    a6ab42f28ca7e9b6
+  after
+    4a02dbc51417496f.13cde576077569a1.9b472e0882c6fee8.8193c6e54a90289b
+    7f631793c1eb87d0.f0e0fabc434dbb54.4d58a3941da3ef50.3f18ec6e9e198c82
+    3eda9f76c9994ea4.f0660cebe28c35ff.9c9ba63f04d28a95.f1ec10ab0843fb8b
+    e3b46edac8acd898.ee2c95f1003c95cf.e25a3275d4e10a63.75d8ae89a31931e3
+    0000000000000001
+VTESTPS_256_3(mem)
+  before
+    603049d4defae02f.ca3d812c59b16157.c8fe13b9ba6b95ef.7ce243a2295bad67
+    7e323d19b51dd27b.4fc1d2d61932278e.59a8012f2b25f28c.c77fd6339dcdad4d
+    de7e9caf2e1d7ac5.cd8c5f46a3be64e8.7cf6dc40707567d1.1d7de592cfc247c0
+    5be1e1816504953a.a2e923e693de5513.0fb41ed6a467b2eb.db276e2d58c6b66d
+    5dcb6c6fd76637ff
+  after
+    603049d4defae02f.ca3d812c59b16157.c8fe13b9ba6b95ef.7ce243a2295bad67
+    7e323d19b51dd27b.4fc1d2d61932278e.59a8012f2b25f28c.c77fd6339dcdad4d
+    de7e9caf2e1d7ac5.cd8c5f46a3be64e8.7cf6dc40707567d1.1d7de592cfc247c0
+    5be1e1816504953a.a2e923e693de5513.0fb41ed6a467b2eb.db276e2d58c6b66d
+    0000000000000000
+
+VTESTPS_256_3(reg)
+  before
+    00b3dcc4e52d0623.d024897b75e0df06.29251a24862035b8.edae45dee4078d06
+    1e2cb89820a85f85.1b160e897abd1454.bd8d416b180f4186.f1afcc454b62b44d
+    1482fe5724617dd0.1682ee9791a5ef50.bc6b9227e338b527.f9842ff5f683e5ed
+    3e01a96d8ce69db1.9f33a491d5a72d28.810c0bc48626cd47.dff9ebdc0076da12
+    81da7ae5854850e7
+  after
+    00b3dcc4e52d0623.d024897b75e0df06.29251a24862035b8.edae45dee4078d06
+    1e2cb89820a85f85.1b160e897abd1454.bd8d416b180f4186.f1afcc454b62b44d
+    1482fe5724617dd0.1682ee9791a5ef50.bc6b9227e338b527.f9842ff5f683e5ed
+    3e01a96d8ce69db1.9f33a491d5a72d28.810c0bc48626cd47.dff9ebdc0076da12
+    0000000000000001
+VTESTPS_256_3(mem)
+  before
+    b9f35afca2040299.f8f5b546f5c3fbd3.90f7ad6463cc8a05.67bba7ae9b65c493
+    650f060d73b7ae53.9ea91f4efa82d2e3.c79883fa5722c116.ccc66351be81d8b7
+    5ffcfb04136b0e42.8c6ae1f237b2608d.1ee3a441cbb48f85.0b77391a8c07425e
+    8484b3cd9e2fde91.1e85f99c49dcde7c.73a48b23de8eb07f.7f1c2773a0834135
+    85ff28ca977f0fe8
+  after
+    b9f35afca2040299.f8f5b546f5c3fbd3.90f7ad6463cc8a05.67bba7ae9b65c493
+    650f060d73b7ae53.9ea91f4efa82d2e3.c79883fa5722c116.ccc66351be81d8b7
+    5ffcfb04136b0e42.8c6ae1f237b2608d.1ee3a441cbb48f85.0b77391a8c07425e
+    8484b3cd9e2fde91.1e85f99c49dcde7c.73a48b23de8eb07f.7f1c2773a0834135
+    0000000000000000
+
+VTESTPS_256_3(reg)
+  before
+    7a6d38890c89e922.b174ac54310cdc6d.b04462bacc8e8b5d.a0a6b48ea9bde02f
+    b8b1541e9b2c0b8f.c0986185e810c202.9ef319b65b53a1db.82b79b6d4a4cdac2
+    9d1976f4e2f5b1dd.8ebc4e4dde464d7b.44e018fe92b75ea3.f6a1bdabdd485b63
+    83f09c777a6f16b5.f8acf0962fbb3805.fe565dfd0e47fb61.d63295367dbc1f3f
+    ff349ff947b4e182
+  after
+    7a6d38890c89e922.b174ac54310cdc6d.b04462bacc8e8b5d.a0a6b48ea9bde02f
+    b8b1541e9b2c0b8f.c0986185e810c202.9ef319b65b53a1db.82b79b6d4a4cdac2
+    9d1976f4e2f5b1dd.8ebc4e4dde464d7b.44e018fe92b75ea3.f6a1bdabdd485b63
+    83f09c777a6f16b5.f8acf0962fbb3805.fe565dfd0e47fb61.d63295367dbc1f3f
+    0000000000000000
+VTESTPS_256_3(mem)
+  before
+    4d7457e1563c5e57.c781c113012677c6.d833c14ef87941cb.28a0e31f6a8eb7c0
+    9cbd39d8c66152eb.c619e13413a70fba.0b1f3f5f548f22fa.1e0ba6d04319cc6d
+    c8ddc2cbb42f7969.da04f9464b7d1b3e.6d3ae5b7600698be.3be4a27c34737713
+    ae9e6da73cb08efe.608e04b54534d8fd.da51304137ec5e42.dd75d48fda28f45f
+    5f0a3776d0c47efd
+  after
+    4d7457e1563c5e57.c781c113012677c6.d833c14ef87941cb.28a0e31f6a8eb7c0
+    9cbd39d8c66152eb.c619e13413a70fba.0b1f3f5f548f22fa.1e0ba6d04319cc6d
+    c8ddc2cbb42f7969.da04f9464b7d1b3e.6d3ae5b7600698be.3be4a27c34737713
+    ae9e6da73cb08efe.608e04b54534d8fd.da51304137ec5e42.dd75d48fda28f45f
+    0000000000000000
+
+VTESTPS_256_3(reg)
+  before
+    1cf1c79bb3d45298.28ceb65679f24ed6.b403feee9e597fa4.2e309ae9f64c31b3
+    7274806b1ee3acdc.133719c68700751c.33aee35bf1774fde.45a2a19bb833cd3c
+    bce15f53ad7ec877.4ba613e183e7bffd.37ddaf6adb1b8258.fb75c04399acee0a
+    55825ebefd30e113.ace71f9588b2e7a4.1dda5f85f8cf55be.2c7373ceb7c34f49
+    b46a36262b85ad24
+  after
+    1cf1c79bb3d45298.28ceb65679f24ed6.b403feee9e597fa4.2e309ae9f64c31b3
+    7274806b1ee3acdc.133719c68700751c.33aee35bf1774fde.45a2a19bb833cd3c
+    bce15f53ad7ec877.4ba613e183e7bffd.37ddaf6adb1b8258.fb75c04399acee0a
+    55825ebefd30e113.ace71f9588b2e7a4.1dda5f85f8cf55be.2c7373ceb7c34f49
+    0000000000000001
+VTESTPS_256_3(mem)
+  before
+    6f24863813fdc4c8.9ba47b18aa85345c.12c5b9cdb36daa3e.41f2ed1ae22103bb
+    396edef18b375060.e893b1cc4f0afdff.590e5d751f25c3f7.ff715794389dcafc
+    ee13ba3bae400c19.9a9afd48884a77a8.5c8c8779e9e5f0fa.b3a3995f93cee42c
+    6ae196049823b51f.0b0759f8f2d1df02.f90cb4c52cb9eb74.b9d3ade792408ef8
+    6d4f9198ce7f030c
+  after
+    6f24863813fdc4c8.9ba47b18aa85345c.12c5b9cdb36daa3e.41f2ed1ae22103bb
+    396edef18b375060.e893b1cc4f0afdff.590e5d751f25c3f7.ff715794389dcafc
+    ee13ba3bae400c19.9a9afd48884a77a8.5c8c8779e9e5f0fa.b3a3995f93cee42c
+    6ae196049823b51f.0b0759f8f2d1df02.f90cb4c52cb9eb74.b9d3ade792408ef8
+    0000000000000000
+
+VTESTPS_256_3(reg)
+  before
+    2b6140dee5188013.89a3ef3766ec069d.9924c346292c71ba.0b5b5f4605ae7190
+    4f56b625739641ba.26243fc033a8bdc0.9e3f369fc8e6697c.6e4204e68fcf3d7b
+    347aefda138682ac.1f31048b1c6294b3.78a2ae6f6b8b02f3.fe901f92e6280c61
+    3819e86762727e96.4f96b9843c2648a3.819a2823afa879cb.96102d3728c69a6d
+    148da9c06eb4a3cb
+  after
+    2b6140dee5188013.89a3ef3766ec069d.9924c346292c71ba.0b5b5f4605ae7190
+    4f56b625739641ba.26243fc033a8bdc0.9e3f369fc8e6697c.6e4204e68fcf3d7b
+    347aefda138682ac.1f31048b1c6294b3.78a2ae6f6b8b02f3.fe901f92e6280c61
+    3819e86762727e96.4f96b9843c2648a3.819a2823afa879cb.96102d3728c69a6d
+    0000000000000000
+VTESTPS_256_3(mem)
+  before
+    53d40f18d6fee3a9.b67f9c3afbe97323.911fdb97b00194bc.16729f252fc70ab1
+    2eb2db2d7cb11531.0af707be7a749a01.c398e4b093fe3629.93780fe38877f051
+    83f189ea7ad8f68f.90cf255e7ca132d9.c0cc52bc0229e716.55f674c855426857
+    2c5d963bef7f41f0.a351f2889dfb755a.6388a0a5188f66b1.b63aca3f33b4ae6e
+    138e0db6bd59fe42
+  after
+    53d40f18d6fee3a9.b67f9c3afbe97323.911fdb97b00194bc.16729f252fc70ab1
+    2eb2db2d7cb11531.0af707be7a749a01.c398e4b093fe3629.93780fe38877f051
+    83f189ea7ad8f68f.90cf255e7ca132d9.c0cc52bc0229e716.55f674c855426857
+    2c5d963bef7f41f0.a351f2889dfb755a.6388a0a5188f66b1.b63aca3f33b4ae6e
+    0000000000000000
+
+VTESTPS_256_3(reg)
+  before
+    c83f3a9890be9381.07c47d0cf5b3b380.a1ca6ba7770fa02e.8a994a59f23b6e24
+    31994c52476eaad4.eef0ba49a87f086a.e5868b27a968ef01.0fc9cdc3ab39ba9b
+    aae73f4e7ef57fea.bfafc9df25f0fcdb.cad14e74cd929d80.d0e5a3ce60960743
+    907710f9d2e04e6d.54cb27b887104bff.aef6b0fb7f19e757.a7b84a682c5d1048
+    72103d7c2b9b92d5
+  after
+    c83f3a9890be9381.07c47d0cf5b3b380.a1ca6ba7770fa02e.8a994a59f23b6e24
+    31994c52476eaad4.eef0ba49a87f086a.e5868b27a968ef01.0fc9cdc3ab39ba9b
+    aae73f4e7ef57fea.bfafc9df25f0fcdb.cad14e74cd929d80.d0e5a3ce60960743
+    907710f9d2e04e6d.54cb27b887104bff.aef6b0fb7f19e757.a7b84a682c5d1048
+    0000000000000000
+VTESTPS_256_3(mem)
+  before
+    0bb7f9f67a5b4a17.3d93babfdfba5209.8b114ec2ebeeb001.eb43ae265c8a0931
+    4f7bf8c235a9f139.0e88380d400fc86c.3e4dbce76c93e80d.df024362ff703fbb
+    1b26b8cc77914668.5fa2884d916ceb3f.4b4bec15270dae51.e4806b1c0558c4a1
+    4985b4015c2003d0.8b2da6ed6f5cf931.8cd65b373767bff6.580922bf09cdd58e
+    95e964b6a75bae2e
+  after
+    0bb7f9f67a5b4a17.3d93babfdfba5209.8b114ec2ebeeb001.eb43ae265c8a0931
+    4f7bf8c235a9f139.0e88380d400fc86c.3e4dbce76c93e80d.df024362ff703fbb
+    1b26b8cc77914668.5fa2884d916ceb3f.4b4bec15270dae51.e4806b1c0558c4a1
+    4985b4015c2003d0.8b2da6ed6f5cf931.8cd65b373767bff6.580922bf09cdd58e
+    0000000000000000
+
+VTESTPS_256_3(reg)
+  before
+    f96b2e6f7c8f8a2f.b664684b0161e59c.f0758c58756c2cec.debb8338b9aed72b
+    dedd7b5524f4a63a.3f8e51988161a7f9.e9c638fa4027c11c.1dc7e206c8ecb21a
+    a18947d43a163efe.bed1e9d2f92b0713.d26ba53f6c19f36e.26c4f38c80300cf0
+    9fbc8e585b828e25.10f7aee784cbbf15.07b1cf9393ceff8e.d37f32b7fe83a0d8
+    01c31c715ef32bff
+  after
+    f96b2e6f7c8f8a2f.b664684b0161e59c.f0758c58756c2cec.debb8338b9aed72b
+    dedd7b5524f4a63a.3f8e51988161a7f9.e9c638fa4027c11c.1dc7e206c8ecb21a
+    a18947d43a163efe.bed1e9d2f92b0713.d26ba53f6c19f36e.26c4f38c80300cf0
+    9fbc8e585b828e25.10f7aee784cbbf15.07b1cf9393ceff8e.d37f32b7fe83a0d8
+    0000000000000000
+VTESTPS_256_3(mem)
+  before
+    8c5e2ba7bb8b6890.32c24c4d22c3d15c.11cd1bc23f4d8c2b.e4e4b36254d32128
+    501bdd46315815b8.b7e77e202b65444e.9d1fac4f45be2982.c4504b1848b395e6
+    29c5ae38dd65eca3.8a771f3b13f523a8.90b9de7ab3295346.054195210dfb9677
+    f329186bdbbeaa7c.07be2b0b75fea915.c6672c2fa49bc6a3.02038cea3f366285
+    16e12cdd79f032bd
+  after
+    8c5e2ba7bb8b6890.32c24c4d22c3d15c.11cd1bc23f4d8c2b.e4e4b36254d32128
+    501bdd46315815b8.b7e77e202b65444e.9d1fac4f45be2982.c4504b1848b395e6
+    29c5ae38dd65eca3.8a771f3b13f523a8.90b9de7ab3295346.054195210dfb9677
+    f329186bdbbeaa7c.07be2b0b75fea915.c6672c2fa49bc6a3.02038cea3f366285
+    0000000000000000
+
+VTESTPD_128_1(reg)
+  before
+    9f29726858b545ca.8a1398c945700a70.8a079ffdee0c1442.1bf4125a351f3ec4
+    f82559f67712d559.ca4fab403a85c9aa.709f757c1aac9edb.6b2e0ce781c176d5
+    7c22dcf272931f16.8fa8ccbbd40ca357.13d2abf39369838b.92df96c2a48e2b03
+    896cfacae6c25fac.b5ec77262f0e54a3.d0ec3cd0f8d001ff.6cd42dd8bb91197a
+    d5d94c13e2d6fc66
+  after
+    9f29726858b545ca.8a1398c945700a70.8a079ffdee0c1442.1bf4125a351f3ec4
+    f82559f67712d559.ca4fab403a85c9aa.709f757c1aac9edb.6b2e0ce781c176d5
+    7c22dcf272931f16.8fa8ccbbd40ca357.13d2abf39369838b.92df96c2a48e2b03
+    896cfacae6c25fac.b5ec77262f0e54a3.d0ec3cd0f8d001ff.6cd42dd8bb91197a
+    0000000000000040
+VTESTPD_128_1(mem)
+  before
+    a9ba6f61346a8ff2.794eace96f2dd0c7.18e5296d689997b9.0339247ee26b52e2
+    c44312adcd588f4a.aa16f0bba85faf15.94615c7c9ab929c6.08056069f0c9b2e1
+    023fb1e3caacb79b.760ec0ad2de53840.052a8e40e178c6f5.3b9bebfdbb735fa8
+    3e7bc9ee4673c511.3b831a299b4aa7f4.460c3aa35be42a73.f848c0a7e1f793e2
+    9a59ded1fee08b3c
+  after
+    a9ba6f61346a8ff2.794eace96f2dd0c7.18e5296d689997b9.0339247ee26b52e2
+    c44312adcd588f4a.aa16f0bba85faf15.94615c7c9ab929c6.08056069f0c9b2e1
+    023fb1e3caacb79b.760ec0ad2de53840.052a8e40e178c6f5.3b9bebfdbb735fa8
+    3e7bc9ee4673c511.3b831a299b4aa7f4.460c3aa35be42a73.f848c0a7e1f793e2
+    0000000000000041
+
+VTESTPD_128_1(reg)
+  before
+    7f183ee8adba8361.56c4d5bc5eb873d7.53c1fa9c8d1a37de.35d5dd922109106b
+    02d1dd598b12b6fe.25e451392e877e1a.1b145a73a0e225aa.ad50f1fa51f1350a
+    7fd2b88e337361be.87a7b94fd0eda106.f0c83818702dad03.8a48f4c607aa557c
+    5266caf5416ac04f.57db8aeb63f59ac6.2c298ff997870a96.a78a61e15e402bed
+    e2e3b43972be7487
+  after
+    7f183ee8adba8361.56c4d5bc5eb873d7.53c1fa9c8d1a37de.35d5dd922109106b
+    02d1dd598b12b6fe.25e451392e877e1a.1b145a73a0e225aa.ad50f1fa51f1350a
+    7fd2b88e337361be.87a7b94fd0eda106.f0c83818702dad03.8a48f4c607aa557c
+    5266caf5416ac04f.57db8aeb63f59ac6.2c298ff997870a96.a78a61e15e402bed
+    0000000000000000
+VTESTPD_128_1(mem)
+  before
+    151d6ab96030ec79.d6d80ff952820f5a.734b3ff900ab2287.2c825b80b37d7a0e
+    1e04fd4d44a24fed.697584060147898e.b5c25466c51cf874.4c20981b609a3718
+    d866ebe138215810.66892488eb466b95.fb0d451cce53d7ba.e8504335396a7d60
+    1e0daf615bb8c40d.2860eaebac09f11b.1ff88f09365d7a84.5d5c563adb7a8991
+    0590cf96e1559858
+  after
+    151d6ab96030ec79.d6d80ff952820f5a.734b3ff900ab2287.2c825b80b37d7a0e
+    1e04fd4d44a24fed.697584060147898e.b5c25466c51cf874.4c20981b609a3718
+    d866ebe138215810.66892488eb466b95.fb0d451cce53d7ba.e8504335396a7d60
+    1e0daf615bb8c40d.2860eaebac09f11b.1ff88f09365d7a84.5d5c563adb7a8991
+    0000000000000041
+
+VTESTPD_128_1(reg)
+  before
+    3d3aaab6e888e360.cdc7c5bac7734f11.0d46d59bdf1f56cd.ff4fac181a449eff
+    61a5e1048b9da956.c25eaad6985fb447.7086de042011d757.75de1a359516fe57
+    cd1c72ed662224e6.d79fd9a3eb87b0dc.ac6e02920c6db064.5f70544cc3df57b7
+    ddec58de16a391bb.ea56ce0bdbf8fffc.1f483eb23ebe1da1.97d3d749c1aa664c
+    fbd11d18ab83e442
+  after
+    3d3aaab6e888e360.cdc7c5bac7734f11.0d46d59bdf1f56cd.ff4fac181a449eff
+    61a5e1048b9da956.c25eaad6985fb447.7086de042011d757.75de1a359516fe57
+    cd1c72ed662224e6.d79fd9a3eb87b0dc.ac6e02920c6db064.5f70544cc3df57b7
+    ddec58de16a391bb.ea56ce0bdbf8fffc.1f483eb23ebe1da1.97d3d749c1aa664c
+    0000000000000040
+VTESTPD_128_1(mem)
+  before
+    6537a4a59c7690c4.ed618f4137ab2c82.d54f05fc85bd5dd2.23618dce529159ba
+    b2d1e7dcb09024fe.59c7138463c630e6.7555fa6104e2858b.1605eb54e671a15a
+    be6b62aa04dc5d1e.7d6ae0123980da94.a7352a2674733453.528055af93ea312d
+    66d191f9b367f64d.b595f35753666638.45bc0f37f27d2655.341ec54af78944e1
+    192a3993aed9171f
+  after
+    6537a4a59c7690c4.ed618f4137ab2c82.d54f05fc85bd5dd2.23618dce529159ba
+    b2d1e7dcb09024fe.59c7138463c630e6.7555fa6104e2858b.1605eb54e671a15a
+    be6b62aa04dc5d1e.7d6ae0123980da94.a7352a2674733453.528055af93ea312d
+    66d191f9b367f64d.b595f35753666638.45bc0f37f27d2655.341ec54af78944e1
+    0000000000000040
+
+VTESTPD_128_2(reg)
+  before
+    5bf2acf55366e696.84cef1b7da3cadba.5c9647bf4d030f7d.2cb427809a0b16bd
+    57c01bdc83bdedf0.f530fdcf94673c8f.d0b7d8b6c4e41310.38eaeeed872ac1b9
+    6ae180b5d96967da.95c1312cfef460f8.6c45a3a85393ac9c.4529de6ad6e5e372
+    eea1d9eaf1f691ff.404e09bc33f0d423.8c8ca201979f16ce.303f75e3a2483817
+    d3f72e45075f7bd2
+  after
+    5bf2acf55366e696.84cef1b7da3cadba.5c9647bf4d030f7d.2cb427809a0b16bd
+    0000000000000000.0000000000000000.6c45a3a85393ac9c.4529de6ad6e5e372
+    6ae180b5d96967da.95c1312cfef460f8.6c45a3a85393ac9c.4529de6ad6e5e372
+    eea1d9eaf1f691ff.404e09bc33f0d423.8c8ca201979f16ce.303f75e3a2483817
+    0000000000000041
+VTESTPD_128_2(mem)
+  before
+    0b1c857a223769cf.404b21e868f1a70c.d2a3026a5067553a.8bd8d32d2b918f51
+    b47bf6700edcbe3c.bc2d541cd9e5e4ac.278b972270639f69.c7743199acf751d3
+    aae0fe12e8583642.be916ef0e15e858c.1bd443d0b0f26edd.9baeb8afb55c99fd
+    c917184bcbb98c10.a2c56cd21be9c658.8a4885612b1f7dc1.62d065dde24da27e
+    7a27338dd055a900
+  after
+    0b1c857a223769cf.404b21e868f1a70c.d2a3026a5067553a.8bd8d32d2b918f51
+    0000000000000000.0000000000000000.2d5cfd95af98aac5.74272cd2d46e70ae
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    c917184bcbb98c10.a2c56cd21be9c658.8a4885612b1f7dc1.62d065dde24da27e
+    0000000000000040
+
+VTESTPD_128_2(reg)
+  before
+    3eff1e2d1b00ea2f.edebc009d40a7dd0.c413492d2411e3bb.50b5d6bffdf78943
+    09a422285edba1b8.f22a72371f58c4ae.81c8016d98631762.49e5b4d743854e8c
+    39623bea35700a47.b39eaac1c6ae1fd7.332f90fd11699ff8.51a5999619d588cb
+    288566df3d4e6087.0e15e593e7184877.3796f24c2db1b72a.44c004e79af4f22a
+    fe046eb5e2ed49d5
+  after
+    3eff1e2d1b00ea2f.edebc009d40a7dd0.c413492d2411e3bb.50b5d6bffdf78943
+    0000000000000000.0000000000000000.332f90fd11699ff8.51a5999619d588cb
+    39623bea35700a47.b39eaac1c6ae1fd7.332f90fd11699ff8.51a5999619d588cb
+    288566df3d4e6087.0e15e593e7184877.3796f24c2db1b72a.44c004e79af4f22a
+    0000000000000041
+VTESTPD_128_2(mem)
+  before
+    5b3c54ee0ecc48f9.33589d7312fee025.de599e9a9ea3fcba.e84724c388c79ba4
+    3633337d3a9eadc2.b728de134f0ec5cc.ff3651c0065af6cb.a49021cfbd368611
+    6db6864e806e325c.0e412529900a4c29.4d7a7af33c49f3d6.c6bbe5dc698ab51e
+    db91c94dff4894f1.96ef6c22727cb2e8.a3f0961d5b7daf08.aa156d57274f6476
+    aceab3aa9312cec6
+  after
+    5b3c54ee0ecc48f9.33589d7312fee025.de599e9a9ea3fcba.e84724c388c79ba4
+    0000000000000000.0000000000000000.21a66165615c0345.17b8db3c7738645b
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    db91c94dff4894f1.96ef6c22727cb2e8.a3f0961d5b7daf08.aa156d57274f6476
+    0000000000000040
+
+VTESTPD_128_2(reg)
+  before
+    2885b5434b5e30b9.5c907866d0398eb0.a97eb16b90f230b4.df631f2c7f01e68d
+    79346e8ce8c0c6fd.cb7f1086124cddc3.a439ef6f87f8053a.dca0930ac5e15490
+    fd41daf308c3cb3b.06290c97de8d3d57.e36e2299f2186b26.75746ea5492ab43e
+    0ff9f6e346f37d22.e75be88653096a97.c36746576ee09f23.88a92ae826e7c2c3
+    f00b45bf78253c4a
+  after
+    2885b5434b5e30b9.5c907866d0398eb0.a97eb16b90f230b4.df631f2c7f01e68d
+    0000000000000000.0000000000000000.e36e2299f2186b26.75746ea5492ab43e
+    fd41daf308c3cb3b.06290c97de8d3d57.e36e2299f2186b26.75746ea5492ab43e
+    0ff9f6e346f37d22.e75be88653096a97.c36746576ee09f23.88a92ae826e7c2c3
+    0000000000000001
+VTESTPD_128_2(mem)
+  before
+    886839165ceedcff.0ba8bcc83fdc165b.4ce220408acb20b0.9e71581496dcdcdd
+    2e8a84daed515f10.4c9a2a0e8f0bd295.0f8830b0a1e01ace.d1d8533c06966002
+    bc3fa2f5485781a7.301b3b21d00cef7a.0e1a95c1b452151c.b8e8323b5b9c653b
+    0f510d54890efdf0.1177ec6da169a7b7.2363ca61de30ccc6.afedf47d317a2837
+    1232926f23bbe4a0
+  after
+    886839165ceedcff.0ba8bcc83fdc165b.4ce220408acb20b0.9e71581496dcdcdd
+    0000000000000000.0000000000000000.b31ddfbf7534df4f.618ea7eb69232322
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    0f510d54890efdf0.1177ec6da169a7b7.2363ca61de30ccc6.afedf47d317a2837
+    0000000000000040
+
+VTESTPD_128_3(reg)
+  before
+    3d050a7bceebd622.048d43e4ca819118.4df9375f9bb037f7.2c314b7b3c83fcfa
+    8cb0570fcd963a6b.75bfbf8f2abcf74b.3eee1a615d6cdae7.034e94fbe95961e1
+    5b807595bc494c24.40b3fd43c2ccebb4.42a390e1802ace32.868822cd01bdb7aa
+    06c1607b388f47fc.3f3479ebb0bc2a80.b3629549a3754d86.8fa970dea1bbba7f
+    fb7efa18e460258d
+  after
+    3d050a7bceebd622.048d43e4ca819118.4df9375f9bb037f7.2c314b7b3c83fcfa
+    8cb0570fcd963a6b.75bfbf8f2abcf74b.3eee1a615d6cdae7.034e94fbe95961e1
+    5b807595bc494c24.40b3fd43c2ccebb4.42a390e1802ace32.868822cd01bdb7aa
+    06c1607b388f47fc.3f3479ebb0bc2a80.b3629549a3754d86.8fa970dea1bbba7f
+    0000000000000041
+VTESTPD_128_3(mem)
+  before
+    a6d33c68e7b7b5ff.e9bf152cdcf5689d.4f0fb073109970da.ef7725075fd9938c
+    6d73b2bbc6cd2502.60c58e134505ebb3.4c111dc7fd6e79ef.50303d8652e3def2
+    2a2cd9fb9bad33c1.c721c99e0e4d0ceb.13043cd3944701eb.34d7d832181e6864
+    bac82c1685639969.791dc138d45906f1.7eb58983f030c3f9.f5baf2774c166e8e
+    f02387c18a582b1b
+  after
+    a6d33c68e7b7b5ff.e9bf152cdcf5689d.4f0fb073109970da.ef7725075fd9938c
+    6d73b2bbc6cd2502.60c58e134505ebb3.4c111dc7fd6e79ef.50303d8652e3def2
+    2a2cd9fb9bad33c1.c721c99e0e4d0ceb.13043cd3944701eb.34d7d832181e6864
+    bac82c1685639969.791dc138d45906f1.7eb58983f030c3f9.f5baf2774c166e8e
+    0000000000000001
+
+VTESTPD_128_3(reg)
+  before
+    815f947c6f6fddb7.f91427f79dfc1326.d406734e32b41670.6aef81c32d367c46
+    05ba131497e7be10.c3dc468a02825f23.3328d94ac5ea7815.b3809e7f6865e7fd
+    d68002f69d4d0bd0.f4ec06bbcd04378d.f2cff1992888678c.35335ea4bdc7c24b
+    51fc5d8c1d2cffa3.6810e1761c8b588f.6c46b6a7f8182080.ccd33c1c476ac75c
+    542db5d52259b35b
+  after
+    815f947c6f6fddb7.f91427f79dfc1326.d406734e32b41670.6aef81c32d367c46
+    05ba131497e7be10.c3dc468a02825f23.3328d94ac5ea7815.b3809e7f6865e7fd
+    d68002f69d4d0bd0.f4ec06bbcd04378d.f2cff1992888678c.35335ea4bdc7c24b
+    51fc5d8c1d2cffa3.6810e1761c8b588f.6c46b6a7f8182080.ccd33c1c476ac75c
+    0000000000000001
+VTESTPD_128_3(mem)
+  before
+    a90d43ba6ba14175.d27c1e44b410d736.fb1455a70b257e56.ffdb25e1d029df9e
+    a73f64b63d4d2ed5.b54a4288fd86cf35.89c3de3ab5de640e.06d838b24d44df91
+    2a8e93b7b56936a8.56b3c6c69519234b.eeeaf61c37c0c7e2.dc8aed850af75e06
+    0ec84ca8ee02151a.1103a56917550e25.06551b37acd963ff.df3d3fc8a3cd96a8
+    693d2ae6b553c325
+  after
+    a90d43ba6ba14175.d27c1e44b410d736.fb1455a70b257e56.ffdb25e1d029df9e
+    a73f64b63d4d2ed5.b54a4288fd86cf35.89c3de3ab5de640e.06d838b24d44df91
+    2a8e93b7b56936a8.56b3c6c69519234b.eeeaf61c37c0c7e2.dc8aed850af75e06
+    0ec84ca8ee02151a.1103a56917550e25.06551b37acd963ff.df3d3fc8a3cd96a8
+    0000000000000000
+
+VTESTPD_128_3(reg)
+  before
+    d8d6aa4bdc142326.2fb70c7505238656.4286dcdd20c7cd6e.add0c7793034f390
+    8653bc63b39cf05a.69294d0b15d84689.4587658e4bfa9cd3.bf2778cce0de35c2
+    d1025b9ad678676a.98e88d543b2e11de.76543ee8357bb600.1826aa1ed8e2e3c1
+    132d835ce233c305.97c1473d9230a382.3137625779d559a0.9498d75a324cb9b8
+    0e4a7d6c0d2975d3
+  after
+    d8d6aa4bdc142326.2fb70c7505238656.4286dcdd20c7cd6e.add0c7793034f390
+    8653bc63b39cf05a.69294d0b15d84689.4587658e4bfa9cd3.bf2778cce0de35c2
+    d1025b9ad678676a.98e88d543b2e11de.76543ee8357bb600.1826aa1ed8e2e3c1
+    132d835ce233c305.97c1473d9230a382.3137625779d559a0.9498d75a324cb9b8
+    0000000000000001
+VTESTPD_128_3(mem)
+  before
+    640917408384d140.a9213016725942d5.447ff7b337eab7a1.d27dcd47b494bf5f
+    719f21c2b0698a29.f02a5e3223771e87.7af01aa045690a66.b5727b25814424eb
+    11d817deb1e55bba.42940a1e901893c6.15de2bf2d8b858fe.3662695b7c72c6ee
+    1f827680a1030120.fcaa2f4456c8df3f.f017a6940de35c94.b199925742a9df14
+    8162f2846f76ac0a
+  after
+    640917408384d140.a9213016725942d5.447ff7b337eab7a1.d27dcd47b494bf5f
+    719f21c2b0698a29.f02a5e3223771e87.7af01aa045690a66.b5727b25814424eb
+    11d817deb1e55bba.42940a1e901893c6.15de2bf2d8b858fe.3662695b7c72c6ee
+    1f827680a1030120.fcaa2f4456c8df3f.f017a6940de35c94.b199925742a9df14
+    0000000000000001
+
+VTESTPD_128_3(reg)
+  before
+    040b854d9e64687c.7968b9959dd03887.7bbac91210143c9d.e965077100f7d355
+    95de47206bff5016.f9555c07c056bc1a.190ed4f35b87e78d.db95ca77ccff796c
+    8f28356873d3a082.7d16dbc426a34906.33f34d53d2ad1cbb.a1726c918d070a06
+    50354a91526d946f.e077b2b6edc39a77.25b52f9e121316d2.19ca68ab601c414f
+    1d673ab26049db72
+  after
+    040b854d9e64687c.7968b9959dd03887.7bbac91210143c9d.e965077100f7d355
+    95de47206bff5016.f9555c07c056bc1a.190ed4f35b87e78d.db95ca77ccff796c
+    8f28356873d3a082.7d16dbc426a34906.33f34d53d2ad1cbb.a1726c918d070a06
+    50354a91526d946f.e077b2b6edc39a77.25b52f9e121316d2.19ca68ab601c414f
+    0000000000000040
+VTESTPD_128_3(mem)
+  before
+    8b175e90aa9b949c.33508207a2586787.fd445ecb2ec16c98.4ba07640b644127f
+    3da45132591c27f9.93c7d93702215777.b1495aee07a97a95.01001ea55acc4c6d
+    10db8d858adb51b4.cee44c8b0b539dea.d952220b9487819c.a320233a9b38ff49
+    e188907358e1cefa.3ef5d5705c7a788d.4f2a320ef0683dd7.8d4d8269151369bf
+    1bd4369f63eac37a
+  after
+    8b175e90aa9b949c.33508207a2586787.fd445ecb2ec16c98.4ba07640b644127f
+    3da45132591c27f9.93c7d93702215777.b1495aee07a97a95.01001ea55acc4c6d
+    10db8d858adb51b4.cee44c8b0b539dea.d952220b9487819c.a320233a9b38ff49
+    e188907358e1cefa.3ef5d5705c7a788d.4f2a320ef0683dd7.8d4d8269151369bf
+    0000000000000040
+
+VTESTPD_128_3(reg)
+  before
+    a9ff3b4921474c27.8a77d5eae03c5af6.414472538e23220b.f19e07e337576a72
+    931b8dd2ecb83e71.e873d9d53df7b0d5.311e1f9f40d9d812.997a1c768661c49a
+    357329a560c9d705.d84a16208c1e8dc2.6ccfd6bf0b28d64b.248aedb4f890067b
+    eb5509301805508f.34c60ab7e8beadea.4ca295218d9d5764.6f9af687aaf3ed40
+    5476b3dcb8933416
+  after
+    a9ff3b4921474c27.8a77d5eae03c5af6.414472538e23220b.f19e07e337576a72
+    931b8dd2ecb83e71.e873d9d53df7b0d5.311e1f9f40d9d812.997a1c768661c49a
+    357329a560c9d705.d84a16208c1e8dc2.6ccfd6bf0b28d64b.248aedb4f890067b
+    eb5509301805508f.34c60ab7e8beadea.4ca295218d9d5764.6f9af687aaf3ed40
+    0000000000000040
+VTESTPD_128_3(mem)
+  before
+    b0e9a1a03c7e9928.110b2bdeb0f8e8ba.d9b430866de3cb79.2ee5563062c39909
+    5fc13bbe55bfd6a3.03e38b1bc52ed933.a3e004793897a49a.6fe218582526d6e6
+    3dc8fd221d63a7b3.1d272353f23460a5.6f16037c65e8f47a.69e6d40572534aa6
+    26cb63b7b075ca83.ba24f1f3d495b9bd.1721a87b0fe17744.793d87a3e6d532f5
+    fb332e9f1d38ca81
+  after
+    b0e9a1a03c7e9928.110b2bdeb0f8e8ba.d9b430866de3cb79.2ee5563062c39909
+    5fc13bbe55bfd6a3.03e38b1bc52ed933.a3e004793897a49a.6fe218582526d6e6
+    3dc8fd221d63a7b3.1d272353f23460a5.6f16037c65e8f47a.69e6d40572534aa6
+    26cb63b7b075ca83.ba24f1f3d495b9bd.1721a87b0fe17744.793d87a3e6d532f5
+    0000000000000040
+
+VTESTPD_128_3(reg)
+  before
+    4c14c463b2094ef4.f696ea6b2a01f940.3825ef6506de1f26.78cf6f63528fe825
+    c62b455c41d3fafa.8af40c29a913f115.f2781b16249acf8e.6eead41e4bfd0449
+    c6c6aef767220940.bcb347de46b86e2f.43687173cc55059e.d53f539a163787db
+    a82ff99fbf83b872.699d16741ffc2bba.8940ebe6979cfd05.899a69c2ce492d08
+    66c790828f40b1fb
+  after
+    4c14c463b2094ef4.f696ea6b2a01f940.3825ef6506de1f26.78cf6f63528fe825
+    c62b455c41d3fafa.8af40c29a913f115.f2781b16249acf8e.6eead41e4bfd0449
+    c6c6aef767220940.bcb347de46b86e2f.43687173cc55059e.d53f539a163787db
+    a82ff99fbf83b872.699d16741ffc2bba.8940ebe6979cfd05.899a69c2ce492d08
+    0000000000000001
+VTESTPD_128_3(mem)
+  before
+    489246c57628d0e1.c8b324bfe681423b.6c80f6d850e9e5e1.1f4d87dd23f9f26c
+    0bc607799e0b45e6.829e2ac577a8e548.a32661f7f48d58d1.60db40c30cfb2182
+    8b304d8924f7ce35.323c071c0f85db44.e95cd5bb27f43fb5.aa361204ed2bc6f1
+    a39d96e223f825fb.34d8b83049a361dc.1aeecd12062858ba.57aaf90c62171c66
+    c582f247084b608c
+  after
+    489246c57628d0e1.c8b324bfe681423b.6c80f6d850e9e5e1.1f4d87dd23f9f26c
+    0bc607799e0b45e6.829e2ac577a8e548.a32661f7f48d58d1.60db40c30cfb2182
+    8b304d8924f7ce35.323c071c0f85db44.e95cd5bb27f43fb5.aa361204ed2bc6f1
+    a39d96e223f825fb.34d8b83049a361dc.1aeecd12062858ba.57aaf90c62171c66
+    0000000000000041
+
+VTESTPD_128_3(reg)
+  before
+    4e0bf8217b51ce10.31d75c6eb7180763.e4c0376dc28fb2bb.12a7c6e7ad375d0c
+    4f92070655b7a29d.10ab1e1afe652f9a.9e3e824015d30b8f.ad553a25372d0ad6
+    25611b63350817e0.1ce455d311eb5acb.be9f9413dffea801.c7c2a7bac0141d45
+    2ac530a2b5d16a85.31507e830eb44424.a02f6a53bb99c5c0.3bbb889165fa5084
+    e70c599641eb60c0
+  after
+    4e0bf8217b51ce10.31d75c6eb7180763.e4c0376dc28fb2bb.12a7c6e7ad375d0c
+    4f92070655b7a29d.10ab1e1afe652f9a.9e3e824015d30b8f.ad553a25372d0ad6
+    25611b63350817e0.1ce455d311eb5acb.be9f9413dffea801.c7c2a7bac0141d45
+    2ac530a2b5d16a85.31507e830eb44424.a02f6a53bb99c5c0.3bbb889165fa5084
+    0000000000000000
+VTESTPD_128_3(mem)
+  before
+    a68196b671f10824.bb094331719dd737.2ab9161811cea9ce.a03afe6d45329d76
+    53e6bcdb101a05de.357b4f7a06f899a3.e5ed987d354545f8.190c4ecb1a546dcf
+    cc0645f23b721317.f26550eb0f6fed75.3cb6809d9623d3cc.69f055dbd68c7178
+    ecafafe80d03eefe.4f1542ef288d0f58.0de14b6651770f76.eb340f081464e51d
+    fb2279be706b0469
+  after
+    a68196b671f10824.bb094331719dd737.2ab9161811cea9ce.a03afe6d45329d76
+    53e6bcdb101a05de.357b4f7a06f899a3.e5ed987d354545f8.190c4ecb1a546dcf
+    cc0645f23b721317.f26550eb0f6fed75.3cb6809d9623d3cc.69f055dbd68c7178
+    ecafafe80d03eefe.4f1542ef288d0f58.0de14b6651770f76.eb340f081464e51d
+    0000000000000001
+
+VTESTPD_128_3(reg)
+  before
+    f4078d69872a0b09.8eab76a7a3dc52bc.a8d522f2efdf3bf8.333973c3824ab723
+    342f4975f42f36a9.90c7141d1806fa80.5af2eb60fdefac02.898c76a144aa85ff
+    15e6a84e5405c0f4.cccf0735888fa374.bfb899a5f04b9f22.eda5cfeab3a23635
+    f577a7604339e697.208ecada108208c5.3472282d647f5004.394ffa8bec3e86f2
+    4b5774700a8b3062
+  after
+    f4078d69872a0b09.8eab76a7a3dc52bc.a8d522f2efdf3bf8.333973c3824ab723
+    342f4975f42f36a9.90c7141d1806fa80.5af2eb60fdefac02.898c76a144aa85ff
+    15e6a84e5405c0f4.cccf0735888fa374.bfb899a5f04b9f22.eda5cfeab3a23635
+    f577a7604339e697.208ecada108208c5.3472282d647f5004.394ffa8bec3e86f2
+    0000000000000040
+VTESTPD_128_3(mem)
+  before
+    fd89b8862a94f2b0.2f3040175b56e43d.66d2d9faccebe69e.156e9464f415fb53
+    2cb142b867668608.1e5b71e03be8f693.7b65b080d7d7f92c.bef6dab73c9cdbbb
+    b59b8ef1de0ba897.204535257c7c5744.3c15cc594d51fd9a.8b57f590d99d2de9
+    7212181faa921589.8f3a8854bc9d44fd.83aca76f4b66ae15.d8dde15d67a62c89
+    01d49a8881421647
+  after
+    fd89b8862a94f2b0.2f3040175b56e43d.66d2d9faccebe69e.156e9464f415fb53
+    2cb142b867668608.1e5b71e03be8f693.7b65b080d7d7f92c.bef6dab73c9cdbbb
+    b59b8ef1de0ba897.204535257c7c5744.3c15cc594d51fd9a.8b57f590d99d2de9
+    7212181faa921589.8f3a8854bc9d44fd.83aca76f4b66ae15.d8dde15d67a62c89
+    0000000000000041
+
+VTESTPD_128_3(reg)
+  before
+    62881d7fc3fd25ce.40e45d2de704890a.c88667d897d7f96a.2df7bfafed21c7c9
+    564565adca6496ca.fcdbd807b36fc045.2875cc1ca8b7b136.17c290064e8e05e1
+    3b566d7e3102a4e8.80c4059927de7666.0952b58e8cc8a90e.1bd8945e8ab9238a
+    6c08345e95648cd4.a96b60cf615e669b.c86a1d99de961d9e.160749a5beafdfef
+    e4192ac5057bf33e
+  after
+    62881d7fc3fd25ce.40e45d2de704890a.c88667d897d7f96a.2df7bfafed21c7c9
+    564565adca6496ca.fcdbd807b36fc045.2875cc1ca8b7b136.17c290064e8e05e1
+    3b566d7e3102a4e8.80c4059927de7666.0952b58e8cc8a90e.1bd8945e8ab9238a
+    6c08345e95648cd4.a96b60cf615e669b.c86a1d99de961d9e.160749a5beafdfef
+    0000000000000041
+VTESTPD_128_3(mem)
+  before
+    61dbb3ac7c2a1ba0.45a7b3b991158a39.539c65957dfa4d0d.c20a00a93aae4991
+    691960453ec71543.227fe8fbc2a1dac4.5a2291d896bee6eb.517c5b2b3d9b6893
+    d99fad7c685e9b53.5edccd91c394b721.9acb5f82c8b6ef5f.d20c298983e9b752
+    8b39173d15fc6afc.570a61e5317b5ffb.ef614b8030ef2296.a1086630a7257277
+    1bbb0e8d45dad4b1
+  after
+    61dbb3ac7c2a1ba0.45a7b3b991158a39.539c65957dfa4d0d.c20a00a93aae4991
+    691960453ec71543.227fe8fbc2a1dac4.5a2291d896bee6eb.517c5b2b3d9b6893
+    d99fad7c685e9b53.5edccd91c394b721.9acb5f82c8b6ef5f.d20c298983e9b752
+    8b39173d15fc6afc.570a61e5317b5ffb.ef614b8030ef2296.a1086630a7257277
+    0000000000000001
+
+VTESTPD_128_3(reg)
+  before
+    9a701d0afa941baa.5cb3197461ac3e69.68549d65a7e10bff.35b1d1bfe9753cbb
+    7b74901561e0810f.28d82f0d697ad2c6.ec087e7bc253fad8.48876e2a1052f8fa
+    1a1362191749428b.cb75d6f54972e340.417001951d5c6633.04af9dadc1941381
+    d3998f82b75b9ccb.205688161ca12d03.c1d9211e54888cbb.45f5da331646497a
+    e724a1aa2e755611
+  after
+    9a701d0afa941baa.5cb3197461ac3e69.68549d65a7e10bff.35b1d1bfe9753cbb
+    7b74901561e0810f.28d82f0d697ad2c6.ec087e7bc253fad8.48876e2a1052f8fa
+    1a1362191749428b.cb75d6f54972e340.417001951d5c6633.04af9dadc1941381
+    d3998f82b75b9ccb.205688161ca12d03.c1d9211e54888cbb.45f5da331646497a
+    0000000000000001
+VTESTPD_128_3(mem)
+  before
+    c6096efe222cf574.025213bbdea3c97a.0547c35efe136b3a.ca8fda820464a81e
+    be71be191077e3cc.038aea3327ac0545.551402b70cd25b12.b6dd282dc97bf505
+    ab260ce81463dc48.328c11532f038ed7.ec89c10f62ecb7b7.e311088b3e59b01e
+    69f5d45749fb9c12.eba6838891329ede.a6717d511b6d3b54.ab757508ff8b1515
+    6c566b10a99c6096
+  after
+    c6096efe222cf574.025213bbdea3c97a.0547c35efe136b3a.ca8fda820464a81e
+    be71be191077e3cc.038aea3327ac0545.551402b70cd25b12.b6dd282dc97bf505
+    ab260ce81463dc48.328c11532f038ed7.ec89c10f62ecb7b7.e311088b3e59b01e
+    69f5d45749fb9c12.eba6838891329ede.a6717d511b6d3b54.ab757508ff8b1515
+    0000000000000001
+
+VTESTPD_256_1(reg)
+  before
+    8001e60fd718cc4c.d3a99253cc4bde56.8a223c3eeac87203.5f99b169535fa516
+    44bfe372268b96e4.c710c3c6b8605f41.6b4d38e2d54e46f5.f2ced84327d0af28
+    15df5ca33182fa09.20f4e29e2945dbff.e97274deee52555e.3dda71cbb2cc16b7
+    4dac4f1095893368.b9236ac63c060dbb.62dfeba0d25fdcea.1b89f5ed115d95ef
+    67a9e2955f91e9fb
+  after
+    8001e60fd718cc4c.d3a99253cc4bde56.8a223c3eeac87203.5f99b169535fa516
+    44bfe372268b96e4.c710c3c6b8605f41.6b4d38e2d54e46f5.f2ced84327d0af28
+    15df5ca33182fa09.20f4e29e2945dbff.e97274deee52555e.3dda71cbb2cc16b7
+    4dac4f1095893368.b9236ac63c060dbb.62dfeba0d25fdcea.1b89f5ed115d95ef
+    0000000000000040
+VTESTPD_256_1(mem)
+  before
+    ff05b2b0b974ce07.4971b724ed2b7fac.7067da2a0db0b2a2.31df99921d021746
+    be68e3283a110041.657c914bd6f41882.208dabb6b74e86e0.b2bd7a226ac5421e
+    7f9ff1ebff743bd3.fe17d7f1eb703a96.a4605b5656ed45a0.40c68abb5537981d
+    207656e323a93ae9.6e8f8782c92c2293.daae65f60797aa0f.3946c6c97be156f0
+    f88929b87751b843
+  after
+    ff05b2b0b974ce07.4971b724ed2b7fac.7067da2a0db0b2a2.31df99921d021746
+    be68e3283a110041.657c914bd6f41882.208dabb6b74e86e0.b2bd7a226ac5421e
+    7f9ff1ebff743bd3.fe17d7f1eb703a96.a4605b5656ed45a0.40c68abb5537981d
+    207656e323a93ae9.6e8f8782c92c2293.daae65f60797aa0f.3946c6c97be156f0
+    0000000000000001
+
+VTESTPD_256_1(reg)
+  before
+    d8dbaff4e612f9c1.7bb990fec3bdbab0.122f9c6a0bb30d26.9c424582e65a7258
+    378854e964b15617.6e341a27fabb7654.464512154d9134fa.c8e777e60d4259a8
+    6fdb15048bb90bf0.d3b3704ae4af2b00.661ce5ef2c53d6bc.386a770f9b5a1a2a
+    de21edaffab653f9.87010e539ea695e1.ceff126544842d18.ca97c2e7a9ae720b
+    583ad35c564a1d77
+  after
+    d8dbaff4e612f9c1.7bb990fec3bdbab0.122f9c6a0bb30d26.9c424582e65a7258
+    378854e964b15617.6e341a27fabb7654.464512154d9134fa.c8e777e60d4259a8
+    6fdb15048bb90bf0.d3b3704ae4af2b00.661ce5ef2c53d6bc.386a770f9b5a1a2a
+    de21edaffab653f9.87010e539ea695e1.ceff126544842d18.ca97c2e7a9ae720b
+    0000000000000040
+VTESTPD_256_1(mem)
+  before
+    bf1f2658bb3bd799.dea6d8584a356cdd.67eb712e44ab7022.da3b94e130b076b9
+    dc1138c9f68c5b9e.cdb6d26919c19049.4d3d13c7f0cb78f1.e61c67d18c64ed4c
+    89de839a234a66b1.059dd75003e6fce9.16c3720bc1116877.4eee879ff52bcd7c
+    a35085b75d80b400.e4a7e478a330eb68.9f4909e4d189fde2.6efdf1b9079253f6
+    a294a08a5c24bb66
+  after
+    bf1f2658bb3bd799.dea6d8584a356cdd.67eb712e44ab7022.da3b94e130b076b9
+    dc1138c9f68c5b9e.cdb6d26919c19049.4d3d13c7f0cb78f1.e61c67d18c64ed4c
+    89de839a234a66b1.059dd75003e6fce9.16c3720bc1116877.4eee879ff52bcd7c
+    a35085b75d80b400.e4a7e478a330eb68.9f4909e4d189fde2.6efdf1b9079253f6
+    0000000000000001
+
+VTESTPD_256_1(reg)
+  before
+    4601907e936d4077.0634b90cc13a00b4.c41ff44d962c9a73.c29b55403c3ff25e
+    b58ebd0145f920d6.8f569b856a8407fb.0253033b776645b6.5c84d1091f400517
+    4d88237f1155952e.1882a80e746b8501.fb8d0daee26828dc.49d2f82d9597f038
+    693bbf64900cdb2c.7e835a94fcfa36f2.091a0f1274c07e91.654f4897bb516fed
+    8dc83d33ac794064
+  after
+    4601907e936d4077.0634b90cc13a00b4.c41ff44d962c9a73.c29b55403c3ff25e
+    b58ebd0145f920d6.8f569b856a8407fb.0253033b776645b6.5c84d1091f400517
+    4d88237f1155952e.1882a80e746b8501.fb8d0daee26828dc.49d2f82d9597f038
+    693bbf64900cdb2c.7e835a94fcfa36f2.091a0f1274c07e91.654f4897bb516fed
+    0000000000000040
+VTESTPD_256_1(mem)
+  before
+    9b0951ed851b1dc6.65f38c1d61ab307b.9d272f011e3ed5f9.894603d3c9fa8483
+    6cde02b16144c342.9cfc86141dbdcec8.5138a243f5421f42.d75ce75e7ca1765b
+    dc12cb6b5dffee02.6ca1a9b762cef2bf.768330449d12d0fa.4faab61d29418fc8
+    c772280794585932.302ff170cc6ad70b.e8d453f233bba44d.4e7a6d7e6d660c74
+    2e1a06ebe39d290b
+  after
+    9b0951ed851b1dc6.65f38c1d61ab307b.9d272f011e3ed5f9.894603d3c9fa8483
+    6cde02b16144c342.9cfc86141dbdcec8.5138a243f5421f42.d75ce75e7ca1765b
+    dc12cb6b5dffee02.6ca1a9b762cef2bf.768330449d12d0fa.4faab61d29418fc8
+    c772280794585932.302ff170cc6ad70b.e8d453f233bba44d.4e7a6d7e6d660c74
+    0000000000000000
+
+VTESTPD_256_2(reg)
+  before
+    4cd47fd22871223b.09cb9671225cc100.43f35badf61eba59.83f78938d2485667
+    04f5d39ed76e32ad.7ee78f962416e295.0337e2d97d76d755.23b84d0297c5a373
+    b2c8febb8d219610.01939160b6927720.ca47825ffcfc6aaa.a4e21b3c9d3f469d
+    b29bfd95e5158a0e.709b17bdf3dc3ecb.f67138ad0f3eaf05.e24270d201c1fd12
+    b9a5c6b0de5782fe
+  after
+    4cd47fd22871223b.09cb9671225cc100.43f35badf61eba59.83f78938d2485667
+    b2c8febb8d219610.01939160b6927720.ca47825ffcfc6aaa.a4e21b3c9d3f469d
+    b2c8febb8d219610.01939160b6927720.ca47825ffcfc6aaa.a4e21b3c9d3f469d
+    b29bfd95e5158a0e.709b17bdf3dc3ecb.f67138ad0f3eaf05.e24270d201c1fd12
+    0000000000000001
+VTESTPD_256_2(mem)
+  before
+    04d59bc2510e928c.60b8cb987cd64a53.a6ca9d98f701f1c2.e100fe2f53c7e111
+    a19f6af475f1e8e9.186d6430edf1118d.7feea0dddf0d4c32.e93fd24f63243d7b
+    6bceb033670c4141.3504c4cad5f11c65.d7d19a77c60a0d47.687baf7adce0feee
+    3e30e769426c59bf.15cae7d0cf63a68a.89400954c906ee2c.bb00911c5a876117
+    3f1a75a277a6a2a2
+  after
+    04d59bc2510e928c.60b8cb987cd64a53.a6ca9d98f701f1c2.e100fe2f53c7e111
+    fb2a643daef16d73.9f4734678329b5ac.5935626708fe0e3d.1eff01d0ac381eee
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    3e30e769426c59bf.15cae7d0cf63a68a.89400954c906ee2c.bb00911c5a876117
+    0000000000000040
+
+VTESTPD_256_2(reg)
+  before
+    4e155576d2c8fd3a.f58f8d84221cec90.130bcaaf77d2eda6.73076860030dac0e
+    453d2f060479ae8c.6eb91d6f2428b5df.8b1267d46aca2b65.70f23485912a0219
+    81ddfebdac46f044.84781316649d72d9.d92dbcaa44d79d74.5bcde7b08e69ad78
+    5c42bf0663ba000d.1299eb65fd86dca9.58a6c59ca0867e7f.1263ffcd17d66958
+    7082f7c9477ef2e4
+  after
+    4e155576d2c8fd3a.f58f8d84221cec90.130bcaaf77d2eda6.73076860030dac0e
+    81ddfebdac46f044.84781316649d72d9.d92dbcaa44d79d74.5bcde7b08e69ad78
+    81ddfebdac46f044.84781316649d72d9.d92dbcaa44d79d74.5bcde7b08e69ad78
+    5c42bf0663ba000d.1299eb65fd86dca9.58a6c59ca0867e7f.1263ffcd17d66958
+    0000000000000001
+VTESTPD_256_2(mem)
+  before
+    50f44b8e3b6c0449.33b86c4fc7611993.f6e722480befb27d.66cb7c181a620c31
+    9086780a0eac5ab2.628b030374c87983.0a3033ababe5ae7e.5ee6df894ff88137
+    0a04f928dd4bb14c.45077f8f057a5a89.2c3f9a7af8738ddb.9b43e95bdad3193d
+    9c3a49d4c354c443.3878dc5d1703f951.36dfd3a10fa60bbd.7b3096fa587f12ee
+    59f8e2d36489a6f7
+  after
+    50f44b8e3b6c0449.33b86c4fc7611993.f6e722480befb27d.66cb7c181a620c31
+    af0bb471c493fbb6.cc4793b0389ee66c.0918ddb7f4104d82.993483e7e59df3ce
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    9c3a49d4c354c443.3878dc5d1703f951.36dfd3a10fa60bbd.7b3096fa587f12ee
+    0000000000000040
+
+VTESTPD_256_2(reg)
+  before
+    90e6ca509b7c1203.20f3e7fadcd450c2.972917da45f09186.06dd5b0d0b88e353
+    7e4848df98e491bf.73fd4c8645d511f6.be682a722bcc5fd4.7605aca80927d3c7
+    7d685aeaf84d61d6.7222f5641a66c30b.097f139266249fe8.63234460248f9446
+    eb93fbdf5644bcf5.f72f5f807690222c.d4bbcda492838d6e.aa039f1f79cbe5fb
+    257037d323e78013
+  after
+    90e6ca509b7c1203.20f3e7fadcd450c2.972917da45f09186.06dd5b0d0b88e353
+    7d685aeaf84d61d6.7222f5641a66c30b.097f139266249fe8.63234460248f9446
+    7d685aeaf84d61d6.7222f5641a66c30b.097f139266249fe8.63234460248f9446
+    eb93fbdf5644bcf5.f72f5f807690222c.d4bbcda492838d6e.aa039f1f79cbe5fb
+    0000000000000041
+VTESTPD_256_2(mem)
+  before
+    b13889673fef22b9.221428284f55dec8.dff005c67561e985.7b6854164a756412
+    2b2512c7e8f0871a.7f39db337e0a05fa.0731632334e4d544.5ad2a5532a86617f
+    6d044ddf3af56b62.5f4d126b80f16b38.49bdf681ce26a192.cd44bbc7cf43c061
+    54a1b79b520b89bc.1c9bc83cf0964d2e.826238ce60310b9e.300c92ded437bd65
+    df742604d6ef9337
+  after
+    b13889673fef22b9.221428284f55dec8.dff005c67561e985.7b6854164a756412
+    4ec77698c010dd46.ddebd7d7b0aa2137.200ffa398a9e167a.8497abe9b58a9bed
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    54a1b79b520b89bc.1c9bc83cf0964d2e.826238ce60310b9e.300c92ded437bd65
+    0000000000000040
+
+VTESTPD_256_3(reg)
+  before
+    35c973a570f57f82.bcc8cae74c3d9e55.1370fa126a83e687.8eeaa7f40514cd92
+    9057762d3fd8bcf3.814404b043976558.a118a2598b4674ef.4922bee1dad8a39b
+    4b6a2a08de218836.7fe3e0e053269cf2.20dfbe7eef6b3114.90d6fa80fa8b4be4
+    c24d8ba3ea5e1df6.936fda6599f5fd4f.ed1149eb317c599f.3dd2d5bd82387f9a
+    2de2cd848decfce8
+  after
+    35c973a570f57f82.bcc8cae74c3d9e55.1370fa126a83e687.8eeaa7f40514cd92
+    9057762d3fd8bcf3.814404b043976558.a118a2598b4674ef.4922bee1dad8a39b
+    4b6a2a08de218836.7fe3e0e053269cf2.20dfbe7eef6b3114.90d6fa80fa8b4be4
+    c24d8ba3ea5e1df6.936fda6599f5fd4f.ed1149eb317c599f.3dd2d5bd82387f9a
+    0000000000000001
+VTESTPD_256_3(mem)
+  before
+    3cd25dc138b27efb.504e9568fe1ab8e0.97b56e293110459a.64f93f0ded072a3f
+    466d01619e96c0ff.53b745c5b6e2949f.6881191a36832f00.e1e59c51c098de9e
+    2780354edba57f1f.25d59525af41efe0.e29f5523c45b78ac.c01f5d2245bab268
+    bbd776750cea7787.24f483f385c3034e.e0dba030f8a4dccb.5ef47deb19f9e24b
+    15b0f81ad7e1a9f0
+  after
+    3cd25dc138b27efb.504e9568fe1ab8e0.97b56e293110459a.64f93f0ded072a3f
+    466d01619e96c0ff.53b745c5b6e2949f.6881191a36832f00.e1e59c51c098de9e
+    2780354edba57f1f.25d59525af41efe0.e29f5523c45b78ac.c01f5d2245bab268
+    bbd776750cea7787.24f483f385c3034e.e0dba030f8a4dccb.5ef47deb19f9e24b
+    0000000000000001
+
+VTESTPD_256_3(reg)
+  before
+    429fca1a1cff4406.dd3e3fc34d716365.ab600a9dd3f50c96.4000762ded681789
+    410cf05783deef37.6b810c23b94701e3.1565278e35614864.dddb5106c0b5e411
+    6d45643da90ae52f.406c59806c770b2d.c04ed4324896f163.9339afa78c970090
+    249424392910649c.38caa3c8830d3d71.06690ff6a81d4440.3ee40bfc6d182731
+    baa9e1f281461521
+  after
+    429fca1a1cff4406.dd3e3fc34d716365.ab600a9dd3f50c96.4000762ded681789
+    410cf05783deef37.6b810c23b94701e3.1565278e35614864.dddb5106c0b5e411
+    6d45643da90ae52f.406c59806c770b2d.c04ed4324896f163.9339afa78c970090
+    249424392910649c.38caa3c8830d3d71.06690ff6a81d4440.3ee40bfc6d182731
+    0000000000000040
+VTESTPD_256_3(mem)
+  before
+    e253ad73e12d858c.c1462bb5a07ba627.2f6864e6191655d8.4400d344f0847ca7
+    94b0eb6dabd7349d.a0a7761ea9d8e77f.00131ac64b9d0d91.d7601c89bc57d743
+    ab8a18cafb52de80.1d03ffe1e0b2654e.8995405435ae22c6.19d5e732a9208fc0
+    03afaf78ecaa3e63.94a6c468e2955a40.a5ba537cf1564fa3.67ab2ea9526de0cc
+    1e2def5c54ca0811
+  after
+    e253ad73e12d858c.c1462bb5a07ba627.2f6864e6191655d8.4400d344f0847ca7
+    94b0eb6dabd7349d.a0a7761ea9d8e77f.00131ac64b9d0d91.d7601c89bc57d743
+    ab8a18cafb52de80.1d03ffe1e0b2654e.8995405435ae22c6.19d5e732a9208fc0
+    03afaf78ecaa3e63.94a6c468e2955a40.a5ba537cf1564fa3.67ab2ea9526de0cc
+    0000000000000000
+
+VTESTPD_256_3(reg)
+  before
+    98a925b64ac1413b.77e92c629ae91170.61dbc0214b0d0302.2f50cd2b9ea05155
+    3269cd22d1e0c8f7.e5050c74221d13d3.dff0ef77b6a79b40.05222c4b5598e408
+    48bae10e84b3d9f1.27cec99aa05200b9.6c2f4ed6bfee5fa5.02fbebc9354bc4e7
+    36e85fe500c4afd4.1b12e1c02f93934e.63e5d7aa036f8bde.01a8869257c4ad1f
+    e0f57a91d90f5adc
+  after
+    98a925b64ac1413b.77e92c629ae91170.61dbc0214b0d0302.2f50cd2b9ea05155
+    3269cd22d1e0c8f7.e5050c74221d13d3.dff0ef77b6a79b40.05222c4b5598e408
+    48bae10e84b3d9f1.27cec99aa05200b9.6c2f4ed6bfee5fa5.02fbebc9354bc4e7
+    36e85fe500c4afd4.1b12e1c02f93934e.63e5d7aa036f8bde.01a8869257c4ad1f
+    0000000000000040
+VTESTPD_256_3(mem)
+  before
+    79ae41b1d7398849.593f4213e0a1874d.9b9ccfd2ebec89bd.1f5e885f1db55b97
+    aa9f59e06c4df292.0b0b8605c0d69d07.853710bcf1699e33.fee65c61aa4c0a7b
+    4d943d09b45855e5.a99728253dee2caf.b3b01e6b5c178ddc.5ac8501c45c1d637
+    3f586a18cc656d6b.8f3122e0f37571f1.03d377c9490113e3.91525efc8b9ff876
+    fdce846e1772afe5
+  after
+    79ae41b1d7398849.593f4213e0a1874d.9b9ccfd2ebec89bd.1f5e885f1db55b97
+    aa9f59e06c4df292.0b0b8605c0d69d07.853710bcf1699e33.fee65c61aa4c0a7b
+    4d943d09b45855e5.a99728253dee2caf.b3b01e6b5c178ddc.5ac8501c45c1d637
+    3f586a18cc656d6b.8f3122e0f37571f1.03d377c9490113e3.91525efc8b9ff876
+    0000000000000040
+
+VTESTPD_256_3(reg)
+  before
+    fc89bddc86c6352f.5db85af9d080f653.192372a37df7a878.4f6c96c4d334ec74
+    e8cf05b47328c701.81808b99dbb5acc7.a3ba13d877010df1.7447f74617bad4bd
+    1fec58617b24a107.887c78e209114af4.894202ed7e1edb07.4f2f163d30a286e7
+    fb2bb34f3944feec.4f789dc1779f8d05.2606394d2ddb5067.baf270943af5bf21
+    925a803753c13b95
+  after
+    fc89bddc86c6352f.5db85af9d080f653.192372a37df7a878.4f6c96c4d334ec74
+    e8cf05b47328c701.81808b99dbb5acc7.a3ba13d877010df1.7447f74617bad4bd
+    1fec58617b24a107.887c78e209114af4.894202ed7e1edb07.4f2f163d30a286e7
+    fb2bb34f3944feec.4f789dc1779f8d05.2606394d2ddb5067.baf270943af5bf21
+    0000000000000000
+VTESTPD_256_3(mem)
+  before
+    b334c2129411b570.dada11e94a161c5d.b0407723406c3027.d854b66421c2a5bd
+    fa4cb2111bf2eadd.16436e9d49263406.889f80f28183f185.fa76749ef66119b4
+    416ecc20046f9609.0cb3c6d6d2fe8592.b363361c55f08a4c.e8ba6f674644e6f8
+    65658d2c6a94751f.18761601822c49ad.0e56148cd9bfb7a8.fe6aa32bb0f64937
+    98d30d56cd037e1b
+  after
+    b334c2129411b570.dada11e94a161c5d.b0407723406c3027.d854b66421c2a5bd
+    fa4cb2111bf2eadd.16436e9d49263406.889f80f28183f185.fa76749ef66119b4
+    416ecc20046f9609.0cb3c6d6d2fe8592.b363361c55f08a4c.e8ba6f674644e6f8
+    65658d2c6a94751f.18761601822c49ad.0e56148cd9bfb7a8.fe6aa32bb0f64937
+    0000000000000000
+
+VTESTPD_256_3(reg)
+  before
+    1140a8543bf8c050.42ff701f696d424c.97d85988f53cbd05.7345962e28fd36c4
+    c7ff7092965f4c83.b406f1e71e07babc.e3258ad8c5b81d43.bffc39ee5fb5c1cd
+    155b617a79c75e60.97478c6ea46d999a.59a9a85e912ea516.ce4778b899f415ee
+    569f787a81b93292.c78ebea218ac9b13.55afac84f32a9028.7cf1cf78f3c5ee54
+    a5c8ba1a8834072b
+  after
+    1140a8543bf8c050.42ff701f696d424c.97d85988f53cbd05.7345962e28fd36c4
+    c7ff7092965f4c83.b406f1e71e07babc.e3258ad8c5b81d43.bffc39ee5fb5c1cd
+    155b617a79c75e60.97478c6ea46d999a.59a9a85e912ea516.ce4778b899f415ee
+    569f787a81b93292.c78ebea218ac9b13.55afac84f32a9028.7cf1cf78f3c5ee54
+    0000000000000000
+VTESTPD_256_3(mem)
+  before
+    2596b58b754e1d9e.e818affc49c303c6.20a7026e96cf7b52.338494b887361b25
+    d8283db5d51eecda.2512046e6d700ea8.7e5ed4be38e2f684.4f745a65eae181bb
+    9a4acd86c4b02f0a.6bd9723b8a4d8fe3.bd7eb07e1df2c7d5.05cbfcf7b7b40093
+    46c8e1e85f11a45b.14b9f6cf3ce5c124.b9d4129a5e0aac70.b1d576da8b3dd25c
+    afdec27a010734c0
+  after
+    2596b58b754e1d9e.e818affc49c303c6.20a7026e96cf7b52.338494b887361b25
+    d8283db5d51eecda.2512046e6d700ea8.7e5ed4be38e2f684.4f745a65eae181bb
+    9a4acd86c4b02f0a.6bd9723b8a4d8fe3.bd7eb07e1df2c7d5.05cbfcf7b7b40093
+    46c8e1e85f11a45b.14b9f6cf3ce5c124.b9d4129a5e0aac70.b1d576da8b3dd25c
+    0000000000000040
+
+VTESTPD_256_3(reg)
+  before
+    5b31de43b69e616b.ba6df5c9c14c05f9.7efd8a961ec4e116.4e2d77fe1a365f81
+    111bc5a1458f960b.d1078514076d0e0f.03f32cfccc772b66.57535a966a839d36
+    2de873004a650f49.67600eb54d817dc9.01e5d76ee389dbbf.b213374f6cfc21b9
+    0be4e4cd63ad08d4.58450b98ad930c55.d2208756fe862cce.3a388a133cada836
+    cb90d0d0f5a3eeda
+  after
+    5b31de43b69e616b.ba6df5c9c14c05f9.7efd8a961ec4e116.4e2d77fe1a365f81
+    111bc5a1458f960b.d1078514076d0e0f.03f32cfccc772b66.57535a966a839d36
+    2de873004a650f49.67600eb54d817dc9.01e5d76ee389dbbf.b213374f6cfc21b9
+    0be4e4cd63ad08d4.58450b98ad930c55.d2208756fe862cce.3a388a133cada836
+    0000000000000040
+VTESTPD_256_3(mem)
+  before
+    40e58470b4e9afd1.075b157229f2bc56.7f82f8a946af78dd.d3f03921bafb5b3f
+    770522e1948ba646.7d99015d3ac0687b.bae352d432e27c8d.61a1e83cb373a4bd
+    4bba260eb1969166.c8eaa4f832a348f0.e43493058d37d592.d67e8f12837a42f5
+    97d10ce32815295d.4699fab1ac289861.d840392974ba3f18.8fd52d0ec89d7292
+    e8f0bb9e1e677041
+  after
+    40e58470b4e9afd1.075b157229f2bc56.7f82f8a946af78dd.d3f03921bafb5b3f
+    770522e1948ba646.7d99015d3ac0687b.bae352d432e27c8d.61a1e83cb373a4bd
+    4bba260eb1969166.c8eaa4f832a348f0.e43493058d37d592.d67e8f12837a42f5
+    97d10ce32815295d.4699fab1ac289861.d840392974ba3f18.8fd52d0ec89d7292
+    0000000000000001
+
+VTESTPD_256_3(reg)
+  before
+    3e1c362d206478ae.3915514c14152d56.52f3fff344da9379.74d5bf2a0278764a
+    eba59b276b21c584.0b54703592a0577e.4744b02a974676e5.92bda1f6537c3655
+    4cd7e5f89a299470.eb59e58abec46400.83d808c240f77d51.10c55c7784d33a65
+    bdfd100c4a08211e.b3ef2c37b28d1009.61fb0327dc79e368.c8b96a9bb1873fa5
+    9865494df5a60042
+  after
+    3e1c362d206478ae.3915514c14152d56.52f3fff344da9379.74d5bf2a0278764a
+    eba59b276b21c584.0b54703592a0577e.4744b02a974676e5.92bda1f6537c3655
+    4cd7e5f89a299470.eb59e58abec46400.83d808c240f77d51.10c55c7784d33a65
+    bdfd100c4a08211e.b3ef2c37b28d1009.61fb0327dc79e368.c8b96a9bb1873fa5
+    0000000000000001
+VTESTPD_256_3(mem)
+  before
+    5a9474796d3c3a67.9a6519d0164ba839.41e3c1298d0616c4.3cf89dc50658e5d7
+    ec14680b3454a941.3f59faae9a7d646d.6f01214a683b345e.721dd3095b21bf49
+    28af9fef66fa09fb.0827b114732b9267.1b15c78862382303.5db49f5d7660ad6b
+    eb329711203a16c2.5119396c3ddf6dd3.1feb2fce940aa2de.5b0aff2ff49feae8
+    c66befe9706cb36d
+  after
+    5a9474796d3c3a67.9a6519d0164ba839.41e3c1298d0616c4.3cf89dc50658e5d7
+    ec14680b3454a941.3f59faae9a7d646d.6f01214a683b345e.721dd3095b21bf49
+    28af9fef66fa09fb.0827b114732b9267.1b15c78862382303.5db49f5d7660ad6b
+    eb329711203a16c2.5119396c3ddf6dd3.1feb2fce940aa2de.5b0aff2ff49feae8
+    0000000000000040
+
+VTESTPD_256_3(reg)
+  before
+    fc2369f9875344a6.1269cb5d7d218bc2.767b8f249227335c.584ed6071dbc6b1c
+    577e6bcad4ded83e.7720b7c09aba2526.d39bada7118f1eaf.a30c3621165b3be9
+    34c7f0c8f39bace2.f722d82493129f1b.c4c4916054a26b78.daefcd079df2ce70
+    f04bf45f8215fc3e.6e3da8778234b7cc.a54136bdf7ec5562.dac416a5ce8de0dd
+    7f578de7c4382c5e
+  after
+    fc2369f9875344a6.1269cb5d7d218bc2.767b8f249227335c.584ed6071dbc6b1c
+    577e6bcad4ded83e.7720b7c09aba2526.d39bada7118f1eaf.a30c3621165b3be9
+    34c7f0c8f39bace2.f722d82493129f1b.c4c4916054a26b78.daefcd079df2ce70
+    f04bf45f8215fc3e.6e3da8778234b7cc.a54136bdf7ec5562.dac416a5ce8de0dd
+    0000000000000001
+VTESTPD_256_3(mem)
+  before
+    a574afba9b006f1c.e55773fb1ad904fd.b83ba5a4862c2766.d15f982997f9191a
+    28e6f60870f06446.703569085972ffcb.b2e94a96b806ab15.a66bb311cf56f34b
+    e57be0be5f15c906.ed32d3f2da6d2a55.3613133b37cf0104.7fae84df3c8e1fa2
+    b6fde8c9837a5888.b999ac263a54c147.21857d7e1c93e360.b8770600792ed8cb
+    ac1135e123c15b71
+  after
+    a574afba9b006f1c.e55773fb1ad904fd.b83ba5a4862c2766.d15f982997f9191a
+    28e6f60870f06446.703569085972ffcb.b2e94a96b806ab15.a66bb311cf56f34b
+    e57be0be5f15c906.ed32d3f2da6d2a55.3613133b37cf0104.7fae84df3c8e1fa2
+    b6fde8c9837a5888.b999ac263a54c147.21857d7e1c93e360.b8770600792ed8cb
+    0000000000000000
+
+VTESTPD_256_3(reg)
+  before
+    b9c70decd5d3e441.78398b13f82bcefa.2eb8f00e15b5ff4d.4f0b034b855c0e54
+    39e78b8f2bf1afe6.07fb438adb35e685.a9d99c18061c2212.9c71218f8e383e0d
+    8abba934c2a5f70d.3f0f8e1947a35d58.8649aaaea9136442.e482533452322eb7
+    07906549367ef961.fc41e7ac5981ef9d.2155183e9b28018b.030b1527ee579b7d
+    d5d8e4557db2418c
+  after
+    b9c70decd5d3e441.78398b13f82bcefa.2eb8f00e15b5ff4d.4f0b034b855c0e54
+    39e78b8f2bf1afe6.07fb438adb35e685.a9d99c18061c2212.9c71218f8e383e0d
+    8abba934c2a5f70d.3f0f8e1947a35d58.8649aaaea9136442.e482533452322eb7
+    07906549367ef961.fc41e7ac5981ef9d.2155183e9b28018b.030b1527ee579b7d
+    0000000000000040
+VTESTPD_256_3(mem)
+  before
+    36b53ba81b4fdb0f.0bb2bb392205f18f.1a5cca2f2cdc5880.d646e13377e73796
+    016e960ee53b2733.f46ca57022c81a43.742eb48eddbf532e.016b01f9dadb4012
+    14cf7171f781df24.1c0c205ad353b128.e8811fb587369dd3.fe0f75fc5f9058a9
+    4aa348bf6b2dbf0d.e1dc2963d130f2eb.51228990474ef29b.297d37a8a392bd07
+    de034569416ea9d9
+  after
+    36b53ba81b4fdb0f.0bb2bb392205f18f.1a5cca2f2cdc5880.d646e13377e73796
+    016e960ee53b2733.f46ca57022c81a43.742eb48eddbf532e.016b01f9dadb4012
+    14cf7171f781df24.1c0c205ad353b128.e8811fb587369dd3.fe0f75fc5f9058a9
+    4aa348bf6b2dbf0d.e1dc2963d130f2eb.51228990474ef29b.297d37a8a392bd07
+    0000000000000040
+
+VTESTPD_256_3(reg)
+  before
+    79eb9bacd5af59cb.7fb898e3604c851b.9d2abbf7b7ed1938.8bdd6d0c38120eb0
+    568233dbfce20989.8fd8dcc9f0e9eb79.ad40d383211561ba.727d4813778eac41
+    d1140a635291f4be.55d0905d3710ae54.6e6b6b71ac35071d.e1d094931fcf8978
+    45ec1db1724b5716.af6c308b52ce89d7.3af6812ff3d8470f.b6a0cf764ce06182
+    ccbb74aa1bcdef8a
+  after
+    79eb9bacd5af59cb.7fb898e3604c851b.9d2abbf7b7ed1938.8bdd6d0c38120eb0
+    568233dbfce20989.8fd8dcc9f0e9eb79.ad40d383211561ba.727d4813778eac41
+    d1140a635291f4be.55d0905d3710ae54.6e6b6b71ac35071d.e1d094931fcf8978
+    45ec1db1724b5716.af6c308b52ce89d7.3af6812ff3d8470f.b6a0cf764ce06182
+    0000000000000000
+VTESTPD_256_3(mem)
+  before
+    feebff1aa8a3f0bd.10586730f9996e3e.787739405c2e3930.6e2f1027938a5c39
+    2afdedb20e6d2047.8da2e44b810975e2.8bbf2666723c7a88.666014c727d8844a
+    2abdb85e69373b53.18179170a926a7ad.c60e73ebaf05080e.7fd7897a4c4df8ec
+    dcf6de0ad60efc0d.0c03690a0b7d414c.03319cb930949feb.13de6cac9d76f7cc
+    7fc2b7c9b6ddbb95
+  after
+    feebff1aa8a3f0bd.10586730f9996e3e.787739405c2e3930.6e2f1027938a5c39
+    2afdedb20e6d2047.8da2e44b810975e2.8bbf2666723c7a88.666014c727d8844a
+    2abdb85e69373b53.18179170a926a7ad.c60e73ebaf05080e.7fd7897a4c4df8ec
+    dcf6de0ad60efc0d.0c03690a0b7d414c.03319cb930949feb.13de6cac9d76f7cc
+    0000000000000001
+
+VBLENDVPS_128(reg)
+  before
+    1fcf683d341081f4.1a76daa270fd20a3.c7b2678543997e6b.20f41dbe10f6fa4e
+    4f507b74b39b8594.c20728125410633f.a3708a4dee069cb5.f72373e56b35d661
+    6b93eadbce080322.ae7645479d54800d.fe89cbcfa750d5d7.668a19195e60ee51
+    cfe2b3dc22e6364a.bc8fac2b68d4343a.334827750b04667c.47f58b480580ff49
+    782f455d7ba3c576
+  after
+    0000000000000000.0000000000000000.a3708a4dee069cb5.f72373e56b35d661
+    4f507b74b39b8594.c20728125410633f.a3708a4dee069cb5.f72373e56b35d661
+    6b93eadbce080322.ae7645479d54800d.fe89cbcfa750d5d7.668a19195e60ee51
+    cfe2b3dc22e6364a.bc8fac2b68d4343a.334827750b04667c.47f58b480580ff49
+    782f455d7ba3c576
+VBLENDVPS_128(mem)
+  before
+    d305c445dcd4fc03.d78ad0e44abe5bb7.c61ed8acd09d3bf2.9dfa9badb5ae8a51
+    354483ea451f601d.dfd74060e21eae16.aaef48b5f2ba5160.9aeb22e142d87f01
+    7bb5fe39d291acf0.4315fcbb87916a12.42cd7531e93731b1.8467b87f4d107f39
+    7f27b11e9d359da7.5f900160d4a3cc58.6b86dd0ed2209810.b8ba5af173e1c6a5
+    933002a54fd892f0
+  after
+    d305c445dcd4fc03.d78ad0e44abe5bb7.c61ed8acd09d3bf2.9dfa9badb5ae8a51
+    354483ea451f601d.dfd74060e21eae16.aaef48b5f2ba5160.9aeb22e142d87f01
+    0000000000000000.0000000000000000.aaef48b5d09d3bf2.9dfa9bad42d87f01
+    7f27b11e9d359da7.5f900160d4a3cc58.6b86dd0ed2209810.b8ba5af173e1c6a5
+    933002a54fd892f0
+
+VBLENDVPS_128(reg)
+  before
+    6f14ae067d801dc7.1e651886c518ee6f.8f944cbd66e11093.01e4fa37c88242aa
+    a9b459809a65a4d6.343ab05c64455d74.2f6cd83dd8d67171.e1b44a98e768eaab
+    9e5a007f421463c8.9d74f48b96c8a4e1.9b65a14cc70f2d9b.e5c2491d4ddf4d3e
+    a8539d6f10189549.36dd600178ae7fe2.2ecba456ce177ec0.eada71b313f22790
+    ccc7404457ad34cc
+  after
+    0000000000000000.0000000000000000.2f6cd83dc70f2d9b.e5c2491de768eaab
+    a9b459809a65a4d6.343ab05c64455d74.2f6cd83dd8d67171.e1b44a98e768eaab
+    9e5a007f421463c8.9d74f48b96c8a4e1.9b65a14cc70f2d9b.e5c2491d4ddf4d3e
+    a8539d6f10189549.36dd600178ae7fe2.2ecba456ce177ec0.eada71b313f22790
+    ccc7404457ad34cc
+VBLENDVPS_128(mem)
+  before
+    675731bd341d2f1f.24eb2ebda0fd7706.d94270a92502aca4.46eadbc88a7aa08a
+    9754c00bc74dd5b5.6e6daed38f5045ab.636fa16fb9d0e553.3e0e440c96c4d1a5
+    388b69192c49e2b9.e327191e799c3ae4.b0306d3f5224e71b.7283da8f8f824bbe
+    26c8a9d27e1d1258.dd636b0bf96e935c.9c505205090b6e27.3d9499be103f4b81
+    fd8e7e03b6880c99
+  after
+    675731bd341d2f1f.24eb2ebda0fd7706.d94270a92502aca4.46eadbc88a7aa08a
+    9754c00bc74dd5b5.6e6daed38f5045ab.636fa16fb9d0e553.3e0e440c96c4d1a5
+    0000000000000000.0000000000000000.d94270a9b9d0e553.3e0e440c96c4d1a5
+    26c8a9d27e1d1258.dd636b0bf96e935c.9c505205090b6e27.3d9499be103f4b81
+    fd8e7e03b6880c99
+
+VBLENDVPS_128(reg)
+  before
+    0cbe84cc1ce8cbb3.3dd7fb24d9d620bd.b96fa105ab508cbf.039dccadfc9135a3
+    c86ea684deebc47b.5984dafa5a80c915.d395b6772cd061bb.c1e1552447c0f9bc
+    8beae397991e339c.569ac5401c25c88c.8722a6cf177a4df9.b2e96b5405a6769e
+    b3803471e90c54c2.10e735e23cd3db4d.31616d7809d98d28.b281882b524e6774
+    9c752a934bc58a6b
+  after
+    0000000000000000.0000000000000000.d395b6772cd061bb.b2e96b5447c0f9bc
+    c86ea684deebc47b.5984dafa5a80c915.d395b6772cd061bb.c1e1552447c0f9bc
+    8beae397991e339c.569ac5401c25c88c.8722a6cf177a4df9.b2e96b5405a6769e
+    b3803471e90c54c2.10e735e23cd3db4d.31616d7809d98d28.b281882b524e6774
+    9c752a934bc58a6b
+VBLENDVPS_128(mem)
+  before
+    4e90cd7a0c1699af.9a7b977e6941629b.6335a8ccd596bc85.2da007de9d795df2
+    a3a0ebcbb04d506b.9e26062ab54a9ad1.2b5199ea0478285f.d72a716d70e6f903
+    776f027253776dcc.19ce7fe16ab23710.43078429e487da08.8b4aa6921dad9c08
+    a6ca8d5b129faafd.69bffe1023057605.8922e57391cf8fac.a54da2b7405983ad
+    817f61497676e99e
+  after
+    4e90cd7a0c1699af.9a7b977e6941629b.6335a8ccd596bc85.2da007de9d795df2
+    a3a0ebcbb04d506b.9e26062ab54a9ad1.2b5199ea0478285f.d72a716d70e6f903
+    0000000000000000.0000000000000000.6335a8ccd596bc85.2da007de70e6f903
+    a6ca8d5b129faafd.69bffe1023057605.8922e57391cf8fac.a54da2b7405983ad
+    817f61497676e99e
+
+VBLENDVPS_256(reg)
+  before
+    7a2ce0b55b910c86.0b7d087208d1c42b.e8457d217dcf935c.d87039b6285a0376
+    eea01a658a352611.8454efa3521a7682.f3acfa82139dcac0.0cbbfadcc536f293
+    38260bc79fef74ec.ec1bbfda0b857d2d.e740709d82fb57de.00d1a6d3836f172e
+    b40baf46374a31c3.1e9df304501f9558.1e4cdbe065747561.927cb8867e0f3074
+    9c89ade1d324f690
+  after
+    38260bc78a352611.8454efa3521a7682.f3acfa82139dcac0.00d1a6d3c536f293
+    eea01a658a352611.8454efa3521a7682.f3acfa82139dcac0.0cbbfadcc536f293
+    38260bc79fef74ec.ec1bbfda0b857d2d.e740709d82fb57de.00d1a6d3836f172e
+    b40baf46374a31c3.1e9df304501f9558.1e4cdbe065747561.927cb8867e0f3074
+    9c89ade1d324f690
+VBLENDVPS_256(mem)
+  before
+    fcc400d09eba28af.bd9c024eeed29b41.f8a8070b3cf27a31.f51d37b6599461f6
+    8df82c3ffadc80fd.b123014b5f14ec13.540677ddec0ce8e2.c800818bf9e75649
+    2af3af1a0396bba5.ebeda7a9269a60e5.1084bf647b799a97.f33fb3cbe2fa9205
+    b07f054ed6f495d4.c645f0d4e0f33562.06ee5c8e05444d7d.d226cbe2af584fd7
+    c203c53cfc8dca6a
+  after
+    fcc400d09eba28af.bd9c024eeed29b41.f8a8070b3cf27a31.f51d37b6599461f6
+    8df82c3ffadc80fd.b123014b5f14ec13.540677ddec0ce8e2.c800818bf9e75649
+    fcc400d09eba28af.bd9c024eeed29b41.540677ddec0ce8e2.f51d37b6599461f6
+    b07f054ed6f495d4.c645f0d4e0f33562.06ee5c8e05444d7d.d226cbe2af584fd7
+    c203c53cfc8dca6a
+
+VBLENDVPS_256(reg)
+  before
+    1d219b4566263e6b.fc69a8c58e03c9b6.a079d83828a8a536.1410c946a779bcc0
+    40cb4b6a89aee886.e87d166c48ce1576.d3d35c419b47ed0f.14b582787d24a48b
+    874ed01500b10466.5287ca301f623240.bda1775cd45b4897.e4ab0310a252c10b
+    4ef626b467bcceb8.145340fc30c9df42.b82d25f37071f37a.5ebcc9fa320ecf6c
+    5fb54f224a658ad9
+  after
+    40cb4b6a89aee886.e87d166c48ce1576.bda1775c9b47ed0f.14b582787d24a48b
+    40cb4b6a89aee886.e87d166c48ce1576.d3d35c419b47ed0f.14b582787d24a48b
+    874ed01500b10466.5287ca301f623240.bda1775cd45b4897.e4ab0310a252c10b
+    4ef626b467bcceb8.145340fc30c9df42.b82d25f37071f37a.5ebcc9fa320ecf6c
+    5fb54f224a658ad9
+VBLENDVPS_256(mem)
+  before
+    c46211750661ad7e.f10f49b15b5a8127.0bacf4bb9612d6a6.22c462740a142b65
+    678f8bdd8111f588.cbe5357a78185a60.1460635b6d46d498.55b22a4a3fd02904
+    25073948d77e1d23.3ac3e77a5981950f.093908c7d3739545.af427ae1aa322c02
+    da9898a025b6e37b.99f75a1d9a216edf.c7045febe1a4d5d9.8ac24da4e7c56e0c
+    437c9f0193152ccd
+  after
+    c46211750661ad7e.f10f49b15b5a8127.0bacf4bb9612d6a6.22c462740a142b65
+    678f8bdd8111f588.cbe5357a78185a60.1460635b6d46d498.55b22a4a3fd02904
+    c46211758111f588.f10f49b15b5a8127.0bacf4bb9612d6a6.22c462740a142b65
+    da9898a025b6e37b.99f75a1d9a216edf.c7045febe1a4d5d9.8ac24da4e7c56e0c
+    437c9f0193152ccd
+
+VBLENDVPS_256(reg)
+  before
+    37bd6c634aafa1f3.630c23d386c401bb.44cb8acfd884207d.2a8de4b3b5e64f7f
+    c0d1b137a71e0b27.9a3156cc17b5330f.978c74fcae37e894.0ea0130c6b43c064
+    3b0468e746eea417.5cd1ad77f39437a5.ed861210b9c501d1.500869e01ecae3b3
+    04a28fe0c4aca86f.85b8a5bf376dc7a6.a405627894bba9e0.ca93611cea847699
+    590b77adec7f3342
+  after
+    c0d1b13746eea417.5cd1ad7717b5330f.ed861210b9c501d1.500869e01ecae3b3
+    c0d1b137a71e0b27.9a3156cc17b5330f.978c74fcae37e894.0ea0130c6b43c064
+    3b0468e746eea417.5cd1ad77f39437a5.ed861210b9c501d1.500869e01ecae3b3
+    04a28fe0c4aca86f.85b8a5bf376dc7a6.a405627894bba9e0.ca93611cea847699
+    590b77adec7f3342
+VBLENDVPS_256(mem)
+  before
+    d93d287e3fc6d7d9.77f6218fbde355db.f1b4b893fe4da041.17545f9edba41a6c
+    26f5ee7a00661d8b.f14e1b5ecc1fe506.7c9064dc643e7ea0.a1c105f02c0c9121
+    1cff478f4b6ac283.ccf477bb8ded959c.02172487864f1cef.a09651d8207f49ad
+    9727aea83ade82ee.653533119dd8a14a.5f1675808089375c.6f203ec4558a80ba
+    69abc81f67b970f4
+  after
+    d93d287e3fc6d7d9.77f6218fbde355db.f1b4b893fe4da041.17545f9edba41a6c
+    26f5ee7a00661d8b.f14e1b5ecc1fe506.7c9064dc643e7ea0.a1c105f02c0c9121
+    d93d287e00661d8b.f14e1b5ebde355db.7c9064dcfe4da041.a1c105f02c0c9121
+    9727aea83ade82ee.653533119dd8a14a.5f1675808089375c.6f203ec4558a80ba
+    69abc81f67b970f4
+
+VBLENDVPD_128(reg)
+  before
+    ec83eb55f1965508.73389fb1eccf19f8.185d4acc976d44bc.6f59d1b46dfa8b10
+    52f4a3d28faf6da2.8b0097967a4842cc.41b8b9581836bb9e.0eacb60d6aaed33a
+    f949ed02de8ff26d.bd4910430355ba97.3c917a21bbc2429b.18db9f7992afcd04
+    3bd0c4517ac32116.e4e088a5a0033d84.65368b931c9a145f.68b209e3010b339a
+    dcfc6e36d4cec129
+  after
+    0000000000000000.0000000000000000.41b8b9581836bb9e.0eacb60d6aaed33a
+    52f4a3d28faf6da2.8b0097967a4842cc.41b8b9581836bb9e.0eacb60d6aaed33a
+    f949ed02de8ff26d.bd4910430355ba97.3c917a21bbc2429b.18db9f7992afcd04
+    3bd0c4517ac32116.e4e088a5a0033d84.65368b931c9a145f.68b209e3010b339a
+    dcfc6e36d4cec129
+VBLENDVPD_128(mem)
+  before
+    4f874c60260235dd.76d3242bfdd63549.dc917aa66f5d87c0.18f1e71ad94c6f97
+    9d1d1e4c14b549e1.049f09fc06546cb1.812762338c6f5376.b00f8a228b638def
+    a18b60e6b9f3ba62.42806f312fca00fa.ae70bd3912465ed4.8bdc7018d06baa13
+    399d8e1b32c6438c.8dc2533414c32dd2.413606a31eed6403.04a4966644f104ad
+    77b3f67a8280d56c
+  after
+    4f874c60260235dd.76d3242bfdd63549.dc917aa66f5d87c0.18f1e71ad94c6f97
+    9d1d1e4c14b549e1.049f09fc06546cb1.812762338c6f5376.b00f8a228b638def
+    0000000000000000.0000000000000000.812762338c6f5376.b00f8a228b638def
+    399d8e1b32c6438c.8dc2533414c32dd2.413606a31eed6403.04a4966644f104ad
+    77b3f67a8280d56c
+
+VBLENDVPD_128(reg)
+  before
+    40548ebe26a55afa.401e25d59a3ca18a.3fb0b07352cb31e2.1547b95ccb702032
+    bad55aa0cdebce04.91dca0010e619089.b5988259846f46d9.056d525235dc4f8b
+    4380548b13de6e35.0aa17b8ca93fccb4.4bc4c552463aa961.ef754d70793cad3a
+    36a27aeb930a763a.853a326088e51138.5d8176ca36b89626.ae2b27a2b29cf56c
+    1d5a5bd4fd09e54d
+  after
+    0000000000000000.0000000000000000.b5988259846f46d9.ef754d70793cad3a
+    bad55aa0cdebce04.91dca0010e619089.b5988259846f46d9.056d525235dc4f8b
+    4380548b13de6e35.0aa17b8ca93fccb4.4bc4c552463aa961.ef754d70793cad3a
+    36a27aeb930a763a.853a326088e51138.5d8176ca36b89626.ae2b27a2b29cf56c
+    1d5a5bd4fd09e54d
+VBLENDVPD_128(mem)
+  before
+    1ad065f2768e3708.ee87c72ce9fc22bf.e073416bc65c1a40.481b902ded7648d6
+    7f57c1e93738a7ca.c97b37bab240ad6f.f518259880b2a4f9.66de0fe709fffc1b
+    29bceca35f12f3be.22c9c601896055f6.a2f559d3d1f26a8f.1416ef6426dfeea1
+    f5cb600e0728d512.54bf716e0bea5302.c1d65908d528292d.ae0e2c10dfa35915
+    9014c358d0d67a22
+  after
+    1ad065f2768e3708.ee87c72ce9fc22bf.e073416bc65c1a40.481b902ded7648d6
+    7f57c1e93738a7ca.c97b37bab240ad6f.f518259880b2a4f9.66de0fe709fffc1b
+    0000000000000000.0000000000000000.e073416bc65c1a40.481b902ded7648d6
+    f5cb600e0728d512.54bf716e0bea5302.c1d65908d528292d.ae0e2c10dfa35915
+    9014c358d0d67a22
+
+VBLENDVPD_128(reg)
+  before
+    1672afa696058d76.bd509b144e860aef.bda7326bd369e63d.3086a123a9619d00
+    9c75ec68cdbbceba.5f1718a34d394e83.b7ce07667e6a4853.c9d2ae1069a88234
+    7e6976081084789d.b5eb54a6234c5cfa.a080ecc9a778b6f1.6987fbbb300a94f4
+    18994af4fbecc8c9.9c9ac908e9ccf180.d209db02eb1f6cc3.ed6f03101a928e6c
+    2f5645fc444c2dca
+  after
+    0000000000000000.0000000000000000.a080ecc9a778b6f1.6987fbbb300a94f4
+    9c75ec68cdbbceba.5f1718a34d394e83.b7ce07667e6a4853.c9d2ae1069a88234
+    7e6976081084789d.b5eb54a6234c5cfa.a080ecc9a778b6f1.6987fbbb300a94f4
+    18994af4fbecc8c9.9c9ac908e9ccf180.d209db02eb1f6cc3.ed6f03101a928e6c
+    2f5645fc444c2dca
+VBLENDVPD_128(mem)
+  before
+    0c0a3a69c9442c38.c65362972b80faea.f0eef5b7bdc4c940.aab4d27ce5eca574
+    60556045c68749e2.e3e1bc5d3bcb4aae.8eb4539ebb409f66.85cfcba3316a9fb1
+    0805327a56203ef5.cd9153b2c85af3be.50b85faafe4c3020.bda4c4e36c259325
+    dee42cf6961cc79d.dfad24026db732c9.13c696c5a2f53897.af80b9a832aac07d
+    b8afa45e1e846065
+  after
+    0c0a3a69c9442c38.c65362972b80faea.f0eef5b7bdc4c940.aab4d27ce5eca574
+    60556045c68749e2.e3e1bc5d3bcb4aae.8eb4539ebb409f66.85cfcba3316a9fb1
+    0000000000000000.0000000000000000.8eb4539ebb409f66.aab4d27ce5eca574
+    dee42cf6961cc79d.dfad24026db732c9.13c696c5a2f53897.af80b9a832aac07d
+    b8afa45e1e846065
+
+VBLENDVPD_256(reg)
+  before
+    327d8371cc3fb088.bfbfcaa4a186a205.758229b9c7714379.b3a973dcc44673fa
+    7a36514ed968ec93.87628870946a895a.ea5c60447111617a.0c2f71dc804c9c73
+    ec260a5fe18a5032.1299e3468ad539c7.9c86c40d0825c979.fa220faff112702e
+    e498aa127e311710.3c2f5612a0d26e79.e64e52822738b722.594fc64333a4ab59
+    05821382630f091d
+  after
+    ec260a5fe18a5032.87628870946a895a.9c86c40d0825c979.0c2f71dc804c9c73
+    7a36514ed968ec93.87628870946a895a.ea5c60447111617a.0c2f71dc804c9c73
+    ec260a5fe18a5032.1299e3468ad539c7.9c86c40d0825c979.fa220faff112702e
+    e498aa127e311710.3c2f5612a0d26e79.e64e52822738b722.594fc64333a4ab59
+    05821382630f091d
+VBLENDVPD_256(mem)
+  before
+    da87735a9c5e45a9.bed92ed14fea7ed9.e1f25dc1f16de39c.23fe040d6bd76720
+    b42a61b6fb9d1c27.d735910aee40c03a.ddac753d99b2555b.b1e3d81c6f8d1420
+    6f3659829bd949c3.89f8cf28f7c01bdf.0c2a1873b5ae80e3.eb49c91acfe6fbce
+    e779d8aa991d8aab.316ee49707f4c974.4a38c450616d1f5f.2c7cd372286f58d5
+    d2c8f29216b266e1
+  after
+    da87735a9c5e45a9.bed92ed14fea7ed9.e1f25dc1f16de39c.23fe040d6bd76720
+    b42a61b6fb9d1c27.d735910aee40c03a.ddac753d99b2555b.b1e3d81c6f8d1420
+    da87735a9c5e45a9.d735910aee40c03a.ddac753d99b2555b.b1e3d81c6f8d1420
+    e779d8aa991d8aab.316ee49707f4c974.4a38c450616d1f5f.2c7cd372286f58d5
+    d2c8f29216b266e1
+
+VBLENDVPD_256(reg)
+  before
+    377823e6343e62a0.f8bd591a10759908.2be3cdc3b96a07a4.73a2f4beb8f9f0fc
+    b8da61d81e9c88bc.7ecf57bf1ded3309.d3a28418a9ae101b.623324abd660ade5
+    b238a8d5715a14e1.547b5083db9213d8.84f80702754b2186.f5b9d102d8ae1248
+    7fdff449c80441bc.588cc0536770f6a1.9c3251eeb6cd7691.07fe76afd9eddd4e
+    74cf8f9ef62bc826
+  after
+    b8da61d81e9c88bc.7ecf57bf1ded3309.84f80702754b2186.623324abd660ade5
+    b8da61d81e9c88bc.7ecf57bf1ded3309.d3a28418a9ae101b.623324abd660ade5
+    b238a8d5715a14e1.547b5083db9213d8.84f80702754b2186.f5b9d102d8ae1248
+    7fdff449c80441bc.588cc0536770f6a1.9c3251eeb6cd7691.07fe76afd9eddd4e
+    74cf8f9ef62bc826
+VBLENDVPD_256(mem)
+  before
+    17f898bb4b7490fa.7d1b41a1c0244cf9.65d0211cdc929891.769a5f460ac04be7
+    ce450df2f2d2f0f6.06388c47f4487143.5711f1c95604b5d4.6e7c2b770db1db35
+    74826b300a54a547.7781d0a901fceb47.091dab45f2d20895.e026b3ee5a2b6327
+    e47a2c5fac036b19.2c44093282caf7b0.59becb7ecc094f01.28e3f2168dbb1f68
+    a1fee45a43ec4ba5
+  after
+    17f898bb4b7490fa.7d1b41a1c0244cf9.65d0211cdc929891.769a5f460ac04be7
+    ce450df2f2d2f0f6.06388c47f4487143.5711f1c95604b5d4.6e7c2b770db1db35
+    17f898bb4b7490fa.06388c47f4487143.5711f1c95604b5d4.6e7c2b770db1db35
+    e47a2c5fac036b19.2c44093282caf7b0.59becb7ecc094f01.28e3f2168dbb1f68
+    a1fee45a43ec4ba5
+
+VBLENDVPD_256(reg)
+  before
+    a9c48628184a2289.fcfbce6cf6edfe97.82cb334e1440d12b.22c1ce5fffb44344
+    9b81d2eba761e1c1.96cfcd44041d1aee.d3634b6852eab564.3ff22ed4a7dfa389
+    d281c60f8cbec4f9.90c3a3d2f19f7a4a.7c584ceed952de06.8e1c69c9e19729fd
+    ac105d0164ed06dc.c4a3ce01da80dbd6.d9f6324c440689be.e90dfa2ac8e792cb
+    2e8f5de479db9a20
+  after
+    d281c60f8cbec4f9.90c3a3d2f19f7a4a.7c584ceed952de06.8e1c69c9e19729fd
+    9b81d2eba761e1c1.96cfcd44041d1aee.d3634b6852eab564.3ff22ed4a7dfa389
+    d281c60f8cbec4f9.90c3a3d2f19f7a4a.7c584ceed952de06.8e1c69c9e19729fd
+    ac105d0164ed06dc.c4a3ce01da80dbd6.d9f6324c440689be.e90dfa2ac8e792cb
+    2e8f5de479db9a20
+VBLENDVPD_256(mem)
+  before
+    376f0fe10f80fc27.8379942bca78e416.103bc9bfdacbf8be.4689f9ec2f92f237
+    e1798b0fa7e1760d.b50a65fa5bed9a55.4e5610f70d8c8e30.1f5c9d3b3781541e
+    09794d585c0bc1fe.9c0dcedbb2d76443.5cc21f9590d05956.c0bc1ba5f85fed1f
+    893bd1aa4b099c25.96cfca386cc37d8c.144973857fa2155c.85f66e970db8f7e5
+    ca54927b1219ae1d
+  after
+    376f0fe10f80fc27.8379942bca78e416.103bc9bfdacbf8be.4689f9ec2f92f237
+    e1798b0fa7e1760d.b50a65fa5bed9a55.4e5610f70d8c8e30.1f5c9d3b3781541e
+    376f0fe10f80fc27.8379942bca78e416.4e5610f70d8c8e30.4689f9ec2f92f237
+    893bd1aa4b099c25.96cfca386cc37d8c.144973857fa2155c.85f66e970db8f7e5
+    ca54927b1219ae1d
+
+VPMULDQ_128(reg)
+  before
+    eb2383bfa40d5072.3e8a93f08fe7c1af.fd9c557f243c22dd.53b886b4f50f7e6f
+    44ae3ece5f211791.0534101645b1edc7.2fc06c1a77ce8fe2.f6dbd60c0e224fbb
+    3143bd14dddf4026.b803c2078874dc9b.868709770006ff46.d77edf7ae7e7456b
+    0e2cfefdbdd506dc.34c428b2753b4a54.603c2a015b6fafb6.d36d1beb9b6a1bac
+    c673084947b88fa9
+  after
+    0000000000000000.0000000000000000.0003464ee31975cc.feab6b01d691ba29
+    44ae3ece5f211791.0534101645b1edc7.2fc06c1a77ce8fe2.f6dbd60c0e224fbb
+    3143bd14dddf4026.b803c2078874dc9b.868709770006ff46.d77edf7ae7e7456b
+    0e2cfefdbdd506dc.34c428b2753b4a54.603c2a015b6fafb6.d36d1beb9b6a1bac
+    c673084947b88fa9
+VPMULDQ_128(mem)
+  before
+    8d5d208206dd5b8f.37b7fdf5988fa660.5543bb002713f220.172dca242595dbdd
+    02f8e281f5e33b8a.072eb4680d985c5d.f84cf8deba07912b.08a4e54cfa05bf68
+    020ec7322fd8edc5.dcde21c2b57c6480.f7aa5c384b23e2a1.8fee78e5754a9603
+    696b4c81d1c72b6d.11123e6f2fc8f975.2f2b62fbf574a3ad.09577e5c32f09d59
+    d02af31bce841017
+  after
+    8d5d208206dd5b8f.37b7fdf5988fa660.5543bb002713f220.172dca242595dbdd
+    02f8e281f5e33b8a.072eb4680d985c5d.f84cf8deba07912b.08a4e54cfa05bf68
+    0000000000000000.0000000000000000.f551b37fbb5dcb60.ff1f54e0313c34c8
+    696b4c81d1c72b6d.11123e6f2fc8f975.2f2b62fbf574a3ad.09577e5c32f09d59
+    d02af31bce841017
+
+VPMULDQ_128(reg)
+  before
+    41b5d38fe5912ae9.13ddee5af6bdb2ad.011809dc140658e7.7c998611d5048e7b
+    b8421a2511a3297a.dc2f28a9bbc53eb2.0a3a7e7302c5bd82.bac1446807e26038
+    911fc548f1474776.a02c765a3beb8aa8.87c697a2958e64f4.c56f19eaa617d410
+    2896ce631e08c08a.3ba15559923c53ba.d30652d468ef88e7.796f8085ceb1a72f
+    b28df5249cbc95c0
+  after
+    0000000000000000.0000000000000000.fed8e491aa9b67e8.fd3b260aeadc6380
+    b8421a2511a3297a.dc2f28a9bbc53eb2.0a3a7e7302c5bd82.bac1446807e26038
+    911fc548f1474776.a02c765a3beb8aa8.87c697a2958e64f4.c56f19eaa617d410
+    2896ce631e08c08a.3ba15559923c53ba.d30652d468ef88e7.796f8085ceb1a72f
+    b28df5249cbc95c0
+VPMULDQ_128(mem)
+  before
+    4c94f4b32b425aef.d9f434e43772d162.895a3f93ddc35515.4c47aa7418736607
+    2352f91e9851b1e9.0084f036d512b7aa.6623b2f2388c4be4.4cd59bf040a73a01
+    12918151fef457da.f994ffc59773ab0d.aec82964bea4f354.31fc21b37c163f81
+    f71e07397a3808ed.206e5efd1622ec37.3c1520d48b160791.55073929694cb232
+    1643debfa2d6cfc1
+  after
+    4c94f4b32b425aef.d9f434e43772d162.895a3f93ddc35515.4c47aa7418736607
+    2352f91e9851b1e9.0084f036d512b7aa.6623b2f2388c4be4.4cd59bf040a73a01
+    0000000000000000.0000000000000000.f86ff748db60edb4.062cd2538c21fc07
+    f71e07397a3808ed.206e5efd1622ec37.3c1520d48b160791.55073929694cb232
+    1643debfa2d6cfc1
+
+VPMULDQ_128(reg)
+  before
+    cefd0cdfc43fd2d9.adc507c02728804f.d160084bf0aab4d5.eed5142ebcee43c6
+    db7fbff66b13f628.1051fdd421d07a2c.68b4f919c1974093.9fd67f5e6d396520
+    9716f37131df7857.fc90665f853db3af.41b72dd42475cc1c.2be2df50b80227ca
+    5f0da5bab52e9414.4c4cbc4f6f7ae705.b8b5a1e9b6d1931d.6dc6b0f0bc5546f1
+    434e6c2a923f7dc0
+  after
+    0000000000000000.0000000000000000.f71c8d72e32f3414.e148c6fbb7f1ab40
+    db7fbff66b13f628.1051fdd421d07a2c.68b4f919c1974093.9fd67f5e6d396520
+    9716f37131df7857.fc90665f853db3af.41b72dd42475cc1c.2be2df50b80227ca
+    5f0da5bab52e9414.4c4cbc4f6f7ae705.b8b5a1e9b6d1931d.6dc6b0f0bc5546f1
+    434e6c2a923f7dc0
+VPMULDQ_128(mem)
+  before
+    884590ea59cb8964.8fb2d03f908c850b.de537d8efa94d159.29f950c21236d242
+    1779991c2a052609.844f706b618689e8.8c6f250a42952ed8.efd136cdd431c536
+    ceb402ad24fa10da.983281a9c1a7d956.346d2eae648bbaad.68874f75994da8a6
+    88c3488860b50304.28a500674e7bb401.b11916667c823006.ef689726fd16b63d
+    dfc10b4c9a182ca8
+  after
+    884590ea59cb8964.8fb2d03f908c850b.de537d8efa94d159.29f950c21236d242
+    1779991c2a052609.844f706b618689e8.8c6f250a42952ed8.efd136cdd431c536
+    0000000000000000.0000000000000000.fe973598f5fba118.fce21e62edff23ec
+    88c3488860b50304.28a500674e7bb401.b11916667c823006.ef689726fd16b63d
+    dfc10b4c9a182ca8
+
+VCMPPD_256_0x4(reg)
+  before
+    96dba6530fe04593.2073e598fc42bab3.90f5e810a48f5497.de3e571ea5854e0c
+    6f0564a7f6f93fa9.748d57cb14aef212.2c6e35105e6ef6c1.99aa70c3fba0ceee
+    c58a41b4ebf05496.5ee0190cc304664e.585be3d419a4d62e.bc27da3f9bdf6cd5
+    f6b53ae68b50c108.bb37a7472651d392.710aeec670be3088.2582127fa04fe6f0
+    ae87957027fbf669
+  after
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    6f0564a7f6f93fa9.748d57cb14aef212.2c6e35105e6ef6c1.99aa70c3fba0ceee
+    c58a41b4ebf05496.5ee0190cc304664e.585be3d419a4d62e.bc27da3f9bdf6cd5
+    f6b53ae68b50c108.bb37a7472651d392.710aeec670be3088.2582127fa04fe6f0
+    ae87957027fbf669
+VCMPPD_256_0x4(mem)
+  before
+    3402defc4bef596d.5cd34aaa71a5c1a9.685d7d68589ff50b.d1c55353ff473f7b
+    94bf69112938cb27.55316d6a3a7c9225.3f1f175b75fd88e4.d5d90de863cc40b5
+    a889b29adce107c4.3b199f9481606e29.1e4af20c9a74484a.d89218ef38d76fdf
+    4d2e368381f7ca6f.6cd7dc93e2dd9161.dfa88967e212f069.383c70d619f607a8
+    50231208a2b545ba
+  after
+    3402defc4bef596d.5cd34aaa71a5c1a9.685d7d68589ff50b.d1c55353ff473f7b
+    94bf69112938cb27.55316d6a3a7c9225.3f1f175b75fd88e4.d5d90de863cc40b5
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    4d2e368381f7ca6f.6cd7dc93e2dd9161.dfa88967e212f069.383c70d619f607a8
+    50231208a2b545ba
+
+VCMPPD_256_0x4(reg)
+  before
+    7c93f9f1709f65c1.607870b83385d055.42b921d3fb803978.5f0558596ae23d6c
+    18d721fd1e40a26a.bb34dc250e97d4a2.1a0969bf65d4a01b.7a2fdccc4df1ea80
+    803c869849243a61.3b2ef6b62f3a9381.5115b0c5be6503f5.0df18faea849b5d0
+    100e242e8cd86652.bc323b57b278c91f.4127f251a2c09eb3.f216efea97f95889
+    066b776b340a8fd7
+  after
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    18d721fd1e40a26a.bb34dc250e97d4a2.1a0969bf65d4a01b.7a2fdccc4df1ea80
+    803c869849243a61.3b2ef6b62f3a9381.5115b0c5be6503f5.0df18faea849b5d0
+    100e242e8cd86652.bc323b57b278c91f.4127f251a2c09eb3.f216efea97f95889
+    066b776b340a8fd7
+VCMPPD_256_0x4(mem)
+  before
+    25bca41f9e8a18e5.2399f82b84e765e7.1a0b25f4b26032a7.478c2bcdac70ac01
+    2bd5f0f1ee84ade0.1729fdfbccde72cf.3187327a4bfb8946.bf9058a678016a8a
+    f482d9cd42050bf3.470a2f0b0148c8b4.dd70ddd39a578b28.067f7448a30014fb
+    5c8eda9fb618ee4b.0e878ac5beb1a443.fa93a3edba7ff478.76a47b20c8f8e500
+    6c4d6a9884751a44
+  after
+    25bca41f9e8a18e5.2399f82b84e765e7.1a0b25f4b26032a7.478c2bcdac70ac01
+    2bd5f0f1ee84ade0.1729fdfbccde72cf.3187327a4bfb8946.bf9058a678016a8a
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    5c8eda9fb618ee4b.0e878ac5beb1a443.fa93a3edba7ff478.76a47b20c8f8e500
+    6c4d6a9884751a44
+
+VCMPPD_256_0x4(reg)
+  before
+    44c43b1e7304ef73.3fc76f5465c91114.caee0a979fa64127.64bcfeb3c8807f63
+    5a56ec1d2f30a03a.79f714d66c253179.d689aceb41b1dc0d.f7b76c10e065ea14
+    0a4f780157856845.e6eb4612e6370aa7.8da56b2f4061b1a1.8f5068f21c3aefb8
+    b0fbdb3684908440.626f80f5ef0b57c9.4d8e43ce373ffc8e.08526e449b0c4a7b
+    3e8bfbf276e6b988
+  after
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    5a56ec1d2f30a03a.79f714d66c253179.d689aceb41b1dc0d.f7b76c10e065ea14
+    0a4f780157856845.e6eb4612e6370aa7.8da56b2f4061b1a1.8f5068f21c3aefb8
+    b0fbdb3684908440.626f80f5ef0b57c9.4d8e43ce373ffc8e.08526e449b0c4a7b
+    3e8bfbf276e6b988
+VCMPPD_256_0x4(mem)
+  before
+    0dc589e9ccd4f60c.a8a5122855dc30d6.c94f3e6aa4aed60c.708f3034c2d9f880
+    51cd9613b6e3be32.4e9b184363f6a8b3.f756fc5c202b419c.54f62fcd7ebbe325
+    e66f9d5d521ecc27.fe27e8f34c682784.c75237b9808e54a4.530d3b05076ff626
+    a7761bb4bc91dd17.149681a4acc1eaf5.170d696ce0e4cd51.ca215049f8837032
+    167f6a03ed828bf3
+  after
+    0dc589e9ccd4f60c.a8a5122855dc30d6.c94f3e6aa4aed60c.708f3034c2d9f880
+    51cd9613b6e3be32.4e9b184363f6a8b3.f756fc5c202b419c.54f62fcd7ebbe325
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    a7761bb4bc91dd17.149681a4acc1eaf5.170d696ce0e4cd51.ca215049f8837032
+    167f6a03ed828bf3
+
+VCMPPS_128_0x4(reg)
+  before
+    917086a083f98416.72b08a020f49ad2d.ec34dcc31e8a2cb1.c25410615b3866ce
+    98439e8d55739746.22e768356851f895.e24df7ba3f512b65.a4f3a7840d96dc48
+    8843b035007c0030.92e93038e2b5797d.512dccf7aaa121bd.98b6abc1130beaeb
+    bbbbb7031fa1fa7f.a0805ef69982ee0f.971f59e4fb074b64.7c69960588a24de2
+    2ad7e63a8967c159
+  after
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    98439e8d55739746.22e768356851f895.e24df7ba3f512b65.a4f3a7840d96dc48
+    8843b035007c0030.92e93038e2b5797d.512dccf7aaa121bd.98b6abc1130beaeb
+    bbbbb7031fa1fa7f.a0805ef69982ee0f.971f59e4fb074b64.7c69960588a24de2
+    2ad7e63a8967c159
+VCMPPS_128_0x4(mem)
+  before
+    80ce164e3167027e.8ef9b0654f6dc2e0.27796e5daac31077.0f719aefcf0de407
+    5918a22b9cadcc7b.5d4795c62b6d93ff.02a0dd5830849ee2.156d8983c2422a51
+    908207bfe845da7c.85f26492502bab87.0fc026d348d2527c.0460240c6e2f57ef
+    03d8bff52e3ce9ae.6045183559354425.28a7c5bb0eb8e970.3a9665f67262a78d
+    115a4bad686658d6
+  after
+    80ce164e3167027e.8ef9b0654f6dc2e0.27796e5daac31077.0f719aefcf0de407
+    5918a22b9cadcc7b.5d4795c62b6d93ff.02a0dd5830849ee2.156d8983c2422a51
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    03d8bff52e3ce9ae.6045183559354425.28a7c5bb0eb8e970.3a9665f67262a78d
+    115a4bad686658d6
+
+VCMPPS_128_0x4(reg)
+  before
+    e7facf9decc8a476.8ce648b88c9db43d.4b8ead1be2179a84.2b1f36fa9c431feb
+    17c0ee339b13c81b.08771df61e75f854.a21820b1885beb51.f2f5f67d117eaf19
+    fcfaa5d910d3ff6f.5459bb9affcf7120.c12e6b61e7907138.5bf57f3187755725
+    f4f2effde895861e.4a569c904bb7dbcc.041d8c999a3f69e4.40eb4f001a34d03b
+    7ea3e1d8e6c8d989
+  after
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    17c0ee339b13c81b.08771df61e75f854.a21820b1885beb51.f2f5f67d117eaf19
+    fcfaa5d910d3ff6f.5459bb9affcf7120.c12e6b61e7907138.5bf57f3187755725
+    f4f2effde895861e.4a569c904bb7dbcc.041d8c999a3f69e4.40eb4f001a34d03b
+    7ea3e1d8e6c8d989
+VCMPPS_128_0x4(mem)
+  before
+    f2e8b2a4093c2c38.59f5c809bee499d5.c83b3ec51f39f285.c7317ec33df60f02
+    76883c509c9d8677.884f2d6b2e4c7440.a8d41c2396627177.66b63d4d6d409e3d
+    e74dfdc8bdf5a370.de4b188ed55a530a.c7edb297cd3d15cd.3df8c6a2c5a95342
+    210470f888533f50.b53787de4f9971e0.01527d0ee0d799b4.a742142de2be6abd
+    02e2235c600a1f59
+  after
+    f2e8b2a4093c2c38.59f5c809bee499d5.c83b3ec51f39f285.c7317ec33df60f02
+    76883c509c9d8677.884f2d6b2e4c7440.a8d41c2396627177.66b63d4d6d409e3d
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    210470f888533f50.b53787de4f9971e0.01527d0ee0d799b4.a742142de2be6abd
+    02e2235c600a1f59
+
+VCMPPS_128_0x4(reg)
+  before
+    a922ef9ad91aadc3.017911cc18c01542.6a5d75c737950b6d.33cef772e93bbb58
+    f84f7454ec7951a6.61785d30894ae273.5a0adfb52adb5c5e.372e9eb1077535e4
+    4bb5aff432b346af.1ecccf10f8fc610e.df8abf14c3f6a25f.ea3fedb65391c384
+    fda09be74954ca89.1443e35981e35040.562913509e72171b.28cb616dec9c2365
+    cd9f74c2eba20fb3
+  after
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    f84f7454ec7951a6.61785d30894ae273.5a0adfb52adb5c5e.372e9eb1077535e4
+    4bb5aff432b346af.1ecccf10f8fc610e.df8abf14c3f6a25f.ea3fedb65391c384
+    fda09be74954ca89.1443e35981e35040.562913509e72171b.28cb616dec9c2365
+    cd9f74c2eba20fb3
+VCMPPS_128_0x4(mem)
+  before
+    b586a4a16fad449a.6c5c349acde917e2.1fa715f53f0a6935.1b33d6d658dcf73f
+    bc4e6cf691cb7e45.f334767759fd6a63.1bc5e1d24e7d6818.8bf304108cbf8076
+    bec148ad6f0778e0.ed755dec8a1dfebb.e469c4dbcb490b16.00b7996cd7a7ec6e
+    97acb4b3256eef98.b86be663fbd41194.565f38fbd1790c5a.d7c99254d52178d0
+    6c76ea3620b8604a
+  after
+    b586a4a16fad449a.6c5c349acde917e2.1fa715f53f0a6935.1b33d6d658dcf73f
+    bc4e6cf691cb7e45.f334767759fd6a63.1bc5e1d24e7d6818.8bf304108cbf8076
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    97acb4b3256eef98.b86be663fbd41194.565f38fbd1790c5a.d7c99254d52178d0
+    6c76ea3620b8604a
+
+VCMPPS_256_0x4(reg)
+  before
+    1b0a9d7d57f8df88.23dc2df2ce0b9f99.ae630c4a48aedd9a.4d73bb207d192811
+    40d1a795136e3236.3e1a2e5886ea430f.2da6cb0c0e389e7a.a570c935ea351b67
+    371604eaf3a595fe.c43533cf6a189925.8f832015e9fd92e0.3a24dc2635daa087
+    5c27b1e8902a438f.91f8b84596a05b07.324505d17489f377.e85972e07914749d
+    8adc064dd3ed53d7
+  after
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    40d1a795136e3236.3e1a2e5886ea430f.2da6cb0c0e389e7a.a570c935ea351b67
+    371604eaf3a595fe.c43533cf6a189925.8f832015e9fd92e0.3a24dc2635daa087
+    5c27b1e8902a438f.91f8b84596a05b07.324505d17489f377.e85972e07914749d
+    8adc064dd3ed53d7
+VCMPPS_256_0x4(mem)
+  before
+    fe79145a5e73f95f.0b4ea9fb88877a93.802e3aa5258e45e2.703778ac4b69feec
+    1ffc18f437b22161.a0d8e890774b74b7.6fa533db33ef15e2.a7a674120b28eeea
+    c9308e0579b4880a.77116b11f8ff6da6.392721d3ddce8532.31def5704f52011e
+    d7e3f37b4088ea86.eb452ceba831a30d.ba817f793e3752ff.6b2bf830b4737134
+    b2d977c0d6187ad7
+  after
+    fe79145a5e73f95f.0b4ea9fb88877a93.802e3aa5258e45e2.703778ac4b69feec
+    1ffc18f437b22161.a0d8e890774b74b7.6fa533db33ef15e2.a7a674120b28eeea
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    d7e3f37b4088ea86.eb452ceba831a30d.ba817f793e3752ff.6b2bf830b4737134
+    b2d977c0d6187ad7
+
+VCMPPS_256_0x4(reg)
+  before
+    6034708a4fcd5ab4.27dfc241a9370200.5ac0298b226c5098.cd7fcab973373775
+    d287defcbd1d4b77.94f17742d0cf8da5.1fcd5d5c023cb0f2.50ec7c7f97d9f1bf
+    651fbe81bc948acb.f9e58f6cd05b47a1.96bac4c9e52e01c8.1e9613b8c7293c0a
+    73480a85e7be535c.348784aac5e7eb1f.1ad15b4066ce7dc5.12470a4e1e34d481
+    0accdd2fb9057551
+  after
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    d287defcbd1d4b77.94f17742d0cf8da5.1fcd5d5c023cb0f2.50ec7c7f97d9f1bf
+    651fbe81bc948acb.f9e58f6cd05b47a1.96bac4c9e52e01c8.1e9613b8c7293c0a
+    73480a85e7be535c.348784aac5e7eb1f.1ad15b4066ce7dc5.12470a4e1e34d481
+    0accdd2fb9057551
+VCMPPS_256_0x4(mem)
+  before
+    e0f20945b3a9daa5.594ec074db28e1d8.1fa2d4e8cc80374c.095f1c2c22a66196
+    7282087e282ac0aa.737ddbba335d71e8.9804fa130031e553.beb005f9b544e9e6
+    9a4b58c53596e28c.1d2157c38ce93f3b.797773157e06b161.94101114ba335063
+    36187406f6f9fd76.b38531fc8159867b.a0c8b9db610c59a1.e9ca3de7cd00d3b6
+    172c83df8b36ae8e
+  after
+    e0f20945b3a9daa5.594ec074db28e1d8.1fa2d4e8cc80374c.095f1c2c22a66196
+    7282087e282ac0aa.737ddbba335d71e8.9804fa130031e553.beb005f9b544e9e6
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    36187406f6f9fd76.b38531fc8159867b.a0c8b9db610c59a1.e9ca3de7cd00d3b6
+    172c83df8b36ae8e
+
+VCMPPS_256_0x4(reg)
+  before
+    7c80e1698f611d94.20b4d92d865ecd95.91f763cfae388354.e7c34a52c64e9740
+    721352ef760e5b77.35ed012601d10e15.13c1eba9b0127274.2b34a164c8d9286a
+    5731d2dfdbc8a5e1.528d6add845e7c21.9530c4f723748f84.49e73aff84b8c84a
+    85265da35a1b377f.51618f3f2b12d2e5.7390eb24a1e91533.1ba7910e15f7320d
+    7e42237d98a223df
+  after
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    721352ef760e5b77.35ed012601d10e15.13c1eba9b0127274.2b34a164c8d9286a
+    5731d2dfdbc8a5e1.528d6add845e7c21.9530c4f723748f84.49e73aff84b8c84a
+    85265da35a1b377f.51618f3f2b12d2e5.7390eb24a1e91533.1ba7910e15f7320d
+    7e42237d98a223df
+VCMPPS_256_0x4(mem)
+  before
+    4f826b3828c657eb.5a3ef0a990934cfc.0f34ec3611f8cd8f.092d5a9bc9fe412b
+    6834e52be26e895d.30c4865c19bd2205.68d4feaf521d2848.b3520fca353e4f18
+    a6240d42e1a77662.64051b289025f245.390c3f970b8ca13f.cd4d051c81357ba7
+    e51e5f69417cda26.534eab799255fb69.5ca72dd95751f29e.b26838fd4a6f0084
+    c0f0a4d92b791b5a
+  after
+    4f826b3828c657eb.5a3ef0a990934cfc.0f34ec3611f8cd8f.092d5a9bc9fe412b
+    6834e52be26e895d.30c4865c19bd2205.68d4feaf521d2848.b3520fca353e4f18
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.ffffffffffffffff
+    e51e5f69417cda26.534eab799255fb69.5ca72dd95751f29e.b26838fd4a6f0084
+    c0f0a4d92b791b5a
+
+VPCMPGTB_128(reg)
+  before
+    5231461dc1de08d6.01ed588c1ff971d5.57e933bbbadb771d.ae7243615379d791
+    c4771933a72b02a4.d65f7398972bf69a.cd22ad5ba443a30c.0b39fd1a1a0e0e46
+    710d19887aeb466f.413e2c77c31c26a1.114717c3ed17bbe3.4fc8d8f2c91f51e6
+    b7414289d5aa10e4.1c57ff17c2dbbd18.7fa36d6030e6fb4d.56eb4fd47bb55da0
+    fc6ddead4cdeee9e
+  after
+    0000000000000000.0000000000000000.000000ff00ff00ff.00ffffffff0000ff
+    c4771933a72b02a4.d65f7398972bf69a.cd22ad5ba443a30c.0b39fd1a1a0e0e46
+    710d19887aeb466f.413e2c77c31c26a1.114717c3ed17bbe3.4fc8d8f2c91f51e6
+    b7414289d5aa10e4.1c57ff17c2dbbd18.7fa36d6030e6fb4d.56eb4fd47bb55da0
+    fc6ddead4cdeee9e
+VPCMPGTB_128(mem)
+  before
+    1d1c016759a5bf0c.f15d91a054f49cae.44766963ae717628.7481a99f0a399ef7
+    95c234efbe178d18.7aae003b9456257a.9567e547a3ec0f00.4a2ec9eb169ee18d
+    402cf432963f14eb.b0808dc5315ce8f3.eaf6efaebe5742ca.5ef6c7aff1a0ffba
+    fa26bc1afd290fb4.ed1f33aac69021c7.21ee03861abfcbb2.0c25a15937cb362b
+    b007535482acc08b
+  after
+    1d1c016759a5bf0c.f15d91a054f49cae.44766963ae717628.7481a99f0a399ef7
+    95c234efbe178d18.7aae003b9456257a.9567e547a3ec0f00.4a2ec9eb169ee18d
+    0000000000000000.0000000000000000.0000000000000000.00ffffffff00ff00
+    fa26bc1afd290fb4.ed1f33aac69021c7.21ee03861abfcbb2.0c25a15937cb362b
+    b007535482acc08b
+
+VPCMPGTB_128(reg)
+  before
+    a6e8d70c70ceda87.9f7c089510e23c9d.8fd7ef56ef800b9f.151d9dbbd42f68e5
+    4a132bed9dbdbfcb.0bf9548eeb7555d2.f0f3bb3549b7e32a.a24d3a3707b3d38f
+    f8d64a64a406ac02.196b1cf0a9ee1680.6ec195b370c2e511.a44b55e7d058c9dc
+    0c7b30db2234ddd9.a79cdda9665a3dd3.638b783cff2c4d03.f7e36ab74a2905f6
+    76e1f5949132440c
+  after
+    0000000000000000.0000000000000000.00ffffff000000ff.00ff00ffff00ff00
+    4a132bed9dbdbfcb.0bf9548eeb7555d2.f0f3bb3549b7e32a.a24d3a3707b3d38f
+    f8d64a64a406ac02.196b1cf0a9ee1680.6ec195b370c2e511.a44b55e7d058c9dc
+    0c7b30db2234ddd9.a79cdda9665a3dd3.638b783cff2c4d03.f7e36ab74a2905f6
+    76e1f5949132440c
+VPCMPGTB_128(mem)
+  before
+    ff107368c2804248.e14fd9bfb2d48efb.905912a43fc484f6.2c9e603d928156aa
+    6d3e5f21f91ebbd7.d59d427df171fa15.b06e37cd4f38a816.26464a20c64e3db3
+    9c3535aa51196ae4.43b3667f7a975ed3.e2a7c811b3c3645f.abcf3053361e3ec9
+    67c271efe67b0d9c.87dc4133e9d2f6e0.04d0425a867075fc.188410407f7d9499
+    cab3e5553cf87cce
+  after
+    ff107368c2804248.e14fd9bfb2d48efb.905912a43fc484f6.2c9e603d928156aa
+    6d3e5f21f91ebbd7.d59d427df171fa15.b06e37cd4f38a816.26464a20c64e3db3
+    0000000000000000.0000000000000000.ffffffffffffffff.00ff0000ffff00ff
+    67c271efe67b0d9c.87dc4133e9d2f6e0.04d0425a867075fc.188410407f7d9499
+    cab3e5553cf87cce
+
+VPCMPGTB_128(reg)
+  before
+    1ba6acfd0a1a3215.acb18fdbd5525d2b.fc63cf04dbaffee9.f1b42095e54b971a
+    68aa5fa4846ff21a.45ce0c5c3aaa19bc.00950c5eebb9b199.8421deafeb6186e4
+    0d0bfcb64684f788.10e4635e308dfb7b.eebef5adb67d4c9d.9be1f892b5bdfd87
+    66157e9fede47e0c.e7c110cbd30ac096.212a855dd8860ba0.10c1eb2c5e6cba2e
+    c18d316802797607
+  after
+    0000000000000000.0000000000000000.ff00ffffff000000.00ff00ffffff00ff
+    68aa5fa4846ff21a.45ce0c5c3aaa19bc.00950c5eebb9b199.8421deafeb6186e4
+    0d0bfcb64684f788.10e4635e308dfb7b.eebef5adb67d4c9d.9be1f892b5bdfd87
+    66157e9fede47e0c.e7c110cbd30ac096.212a855dd8860ba0.10c1eb2c5e6cba2e
+    c18d316802797607
+VPCMPGTB_128(mem)
+  before
+    88114832bff0f03b.cf14e1cb151bc351.a82f8f90402a2437.f725b8daeb602950
+    4318ab75aedde2f8.a45322a659b60104.2dfb5c9992fbe28a.cbfb8a908e98e356
+    cc70d71fed4d096a.41203b9d564076d1.54f1f4d3e688b8bc.f8f7f8eb5bb97561
+    00e3461c984b21bd.02c52a1aa7465c63.f7ddd22957dd5ff9.dc66fc58ee4f1b1a
+    d1949441e3e61030
+  after
+    88114832bff0f03b.cf14e1cb151bc351.a82f8f90402a2437.f725b8daeb602950
+    4318ab75aedde2f8.a45322a659b60104.2dfb5c9992fbe28a.cbfb8a908e98e356
+    0000000000000000.0000000000000000.ff00ffff00000000.00000000000000ff
+    00e3461c984b21bd.02c52a1aa7465c63.f7ddd22957dd5ff9.dc66fc58ee4f1b1a
+    d1949441e3e61030
+
+VPCMPGTW_128(reg)
+  before
+    35cdbc14d80b914d.bc3e7656c9e4e61c.438fea8be853ef67.f38b72860207966c
+    625d6e3c664ada1e.da4de2ba9f2213b4.60ca785ab6f36d88.25c651d802111742
+    b590a8252b2d264e.37dc0635341465b0.b5c1cef5acb21073.675ce90a74089fa6
+    8bb1643ac342b28a.afb75eb1a4c3973d.9ec2eac7671d14d4.9617b80873f7eac5
+    8ec439be1beab4cb
+  after
+    0000000000000000.0000000000000000.ffffffffffffffff.0000ffff0000ffff
+    625d6e3c664ada1e.da4de2ba9f2213b4.60ca785ab6f36d88.25c651d802111742
+    b590a8252b2d264e.37dc0635341465b0.b5c1cef5acb21073.675ce90a74089fa6
+    8bb1643ac342b28a.afb75eb1a4c3973d.9ec2eac7671d14d4.9617b80873f7eac5
+    8ec439be1beab4cb
+VPCMPGTW_128(mem)
+  before
+    2c2fe81889edb8e3.3e0ea1e9c915ba7d.1fa9671c0c3d6786.7717c73c82bfb756
+    4a244202d90db33a.2bf1589ed9307ad4.617f9c60878d8fb8.9c0e61c09a2533a6
+    c56ec169265660fb.afa786c390212d3b.5206796b32c0cbff.69f1b4bf4ad9c56f
+    79dbe3378cd27d53.247c28c58a74105d.ce087a2828e1d986.390dbda52f6aa95e
+    6aad77dfe4611a1e
+  after
+    2c2fe81889edb8e3.3e0ea1e9c915ba7d.1fa9671c0c3d6786.7717c73c82bfb756
+    4a244202d90db33a.2bf1589ed9307ad4.617f9c60878d8fb8.9c0e61c09a2533a6
+    0000000000000000.0000000000000000.ffff000000000000.0000ffffffffffff
+    79dbe3378cd27d53.247c28c58a74105d.ce087a2828e1d986.390dbda52f6aa95e
+    6aad77dfe4611a1e
+
+VPCMPGTW_128(reg)
+  before
+    571fded7064c555d.4235235a288fc46e.e7bb391062b35fe7.b1521c8386fc737a
+    5baeeefb30b696c4.fc49febc1598f177.54b2b511b46c5584.d7afda68671d5606
+    d4a5a4b5ff2c1902.83e3ee4b70fac29b.c7ab99321d2b30e1.1ced2fc3e7513e57
+    1d51fa730e3919c0.b3cf71f255c0f105.9cf4dfe1387b29aa.5cd69a8024a4e699
+    7337948c37200bf7
+  after
+    0000000000000000.0000000000000000.ffffffff0000ffff.00000000ffffffff
+    5baeeefb30b696c4.fc49febc1598f177.54b2b511b46c5584.d7afda68671d5606
+    d4a5a4b5ff2c1902.83e3ee4b70fac29b.c7ab99321d2b30e1.1ced2fc3e7513e57
+    1d51fa730e3919c0.b3cf71f255c0f105.9cf4dfe1387b29aa.5cd69a8024a4e699
+    7337948c37200bf7
+VPCMPGTW_128(mem)
+  before
+    3ddd9bd13ed3699e.91feeea0f969d3ad.68d9029ddef63be2.30d78589a2e87f8a
+    9692293d55c8bbb9.8ef87ba85d498373.7ecc1d382aa95c5e.dda18696f6fe6c2e
+    5a22bdba970cbf75.6e8b9ef7d66364bf.d1763faf52e40fa4.009dde74d14a2e41
+    655bd03620aa2ffd.8f0251f9ff46b33c.3da1e2ee75b311e1.f5198a8fce57fe70
+    185f84538ab11b67
+  after
+    3ddd9bd13ed3699e.91feeea0f969d3ad.68d9029ddef63be2.30d78589a2e87f8a
+    9692293d55c8bbb9.8ef87ba85d498373.7ecc1d382aa95c5e.dda18696f6fe6c2e
+    0000000000000000.0000000000000000.ffffffffffffffff.0000ffffffff0000
+    655bd03620aa2ffd.8f0251f9ff46b33c.3da1e2ee75b311e1.f5198a8fce57fe70
+    185f84538ab11b67
+
+VPCMPGTW_128(reg)
+  before
+    c4bdca2ca0e5bfd1.9207df9c0daec77f.4bab921a747bac97.9d1a84e1ac231e40
+    577d5786ad7e275b.bff467d879254524.ffd05cc6d2908b7b.cfada074153ff2ee
+    2cec28ce4c098fb0.c7ece3d6811a631b.08beab6ab4118b95.ae26b394cc134817
+    9f56376e1911327d.86bccf824099de8e.c0c17c70b788e991.1650372becacdde6
+    e2f9aa2792156d88
+  after
+    0000000000000000.0000000000000000.0000ffffffff0000.ffff0000ffff0000
+    577d5786ad7e275b.bff467d879254524.ffd05cc6d2908b7b.cfada074153ff2ee
+    2cec28ce4c098fb0.c7ece3d6811a631b.08beab6ab4118b95.ae26b394cc134817
+    9f56376e1911327d.86bccf824099de8e.c0c17c70b788e991.1650372becacdde6
+    e2f9aa2792156d88
+VPCMPGTW_128(mem)
+  before
+    f0eb8773d95ab328.0c0682d4b1224d6e.d730a7c8d3af71a9.8424ca467683e11a
+    1bf34afbdd886cf3.cf4a046ab0c81c2e.9813e8945567d999.b13590568e8eaedd
+    3edd6fabbbaa5414.436cb99eb190db6a.a4330dd3e3ced28a.a13fcd0e9a338e86
+    3775736f8ecc26b8.c6ba9edb5005c5cd.d65a926f98ee18a7.b18d7ad93700bac0
+    3d6c942300817137
+  after
+    f0eb8773d95ab328.0c0682d4b1224d6e.d730a7c8d3af71a9.8424ca467683e11a
+    1bf34afbdd886cf3.cf4a046ab0c81c2e.9813e8945567d999.b13590568e8eaedd
+    0000000000000000.0000000000000000.0000ffffffff0000.ffff000000000000
+    3775736f8ecc26b8.c6ba9edb5005c5cd.d65a926f98ee18a7.b18d7ad93700bac0
+    3d6c942300817137
+
+VPMADDWD_128(reg)
+  before
+    a12818589240ed98.e086d13373fba00b.b37ead8d2ab41704.0c56f35691d5661d
+    3a0d01e488cb6b8f.17de05e386427c38.6504e420db280cba.20f1ac73e98f7a18
+    62664b337eae27c8.b6478b6be2ae766c.3a9a3e00fdede29d.f0f83ab1bd270dc3
+    7681f3b111745dee.9b8ee0b8a3494cd3.8c8bb8992f90d356.563618fe28a9de4a
+    3079c2454621a7db
+  after
+    0000000000000000.0000000000000000.105f6c68fed66e1a.eae922fb0c6c6011
+    3a0d01e488cb6b8f.17de05e386427c38.6504e420db280cba.20f1ac73e98f7a18
+    62664b337eae27c8.b6478b6be2ae766c.3a9a3e00fdede29d.f0f83ab1bd270dc3
+    7681f3b111745dee.9b8ee0b8a3494cd3.8c8bb8992f90d356.563618fe28a9de4a
+    3079c2454621a7db
+VPMADDWD_128(mem)
+  before
+    588bb472349c25a0.d2a8f4cbdda948ad.a07f7eb4e622b898.b9224c580a9b1c94
+    ab3a6b710e2514c5.d22849eb7dd925b2.a3e6e34dc64277e7.1cadf8a72d9df800
+    0650622eefc93077.d24ef07f8d912fa9.7e8f8b6d5fb745ee.1076b7f4311fa549
+    439a1596f39334e2.2e63e5f1aa5ca43e.0e45f002cf8cddd7.f2ca85a9b5af5d19
+    1ff45f3452d95c1d
+  after
+    588bb472349c25a0.d2a8f4cbdda948ad.a07f7eb4e622b898.b9224c580a9b1c94
+    ab3a6b710e2514c5.d22849eb7dd925b2.a3e6e34dc64277e7.1cadf8a72d9df800
+    0000000000000000.0000000000000000.1427c73ee463d9ec.f5dee16200ff200f
+    439a1596f39334e2.2e63e5f1aa5ca43e.0e45f002cf8cddd7.f2ca85a9b5af5d19
+    1ff45f3452d95c1d
+
+VPMADDWD_128(reg)
+  before
+    f1423f00a627e000.3fe30093378fdd31.42b622af70c7be1c.30d690f72fcefcce
+    c6ff23794d27236f.d7f99f13d6c9e691.6992a5247a5cbaef.be0ce5389d875e00
+    f876060be2656215.e5a76f00ed4e0d2d.014269bc64a9d364.95b46db135c6be99
+    e4f4e422016bd99f.46b8eb4897290c32.65136ae3cb3a4727.919aa44e1294d9c4
+    8e8a04fb50ff6bae
+  after
+    0000000000000000.0000000000000000.dafdd4143c25b918.0fe8f028d34cf76a
+    c6ff23794d27236f.d7f99f13d6c9e691.6992a5247a5cbaef.be0ce5389d875e00
+    f876060be2656215.e5a76f00ed4e0d2d.014269bc64a9d364.95b46db135c6be99
+    e4f4e422016bd99f.46b8eb4897290c32.65136ae3cb3a4727.919aa44e1294d9c4
+    8e8a04fb50ff6bae
+VPMADDWD_128(mem)
+  before
+    684f0ba50c123082.e6c5ba2a47c7c3b9.d6f98fd6f1679fcc.f151a5054a9a4fe3
+    fcb7343662dae36d.5b35838f50055d0e.7136d79616138426.0148148e7e552a45
+    248cfb9c6d62419b.9d903bbeb7afe34b.f33b40742339756d.f044b5eb02f813f9
+    bd9bdcc149b60637.0921de211853901b.38d4445c33e62fcc.1c918386720d45aa
+    e07a7acd6c23fc05
+  after
+    684f0ba50c123082.e6c5ba2a47c7c3b9.d6f98fd6f1679fcc.f151a5054a9a4fe3
+    fcb7343662dae36d.5b35838f50055d0e.7136d79616138426.0148148e7e552a45
+    0000000000000000.0000000000000000.ff9042ea2d48aced.f89f1c8e32015751
+    bd9bdcc149b60637.0921de211853901b.38d4445c33e62fcc.1c918386720d45aa
+    e07a7acd6c23fc05
+
+VPMADDWD_128(reg)
+  before
+    974d972a89c376b5.a3b0549313e3ed6e.fb366826107da12b.1ccc613a63246e70
+    9f54d50b677bed67.b297ddfde6f4b46b.cf19d6373ab75227.7bf113face02ed85
+    52dc2fdba2d69ec6.c61cf5ebdff5155b.e11723c23390dfba.310dd48890896936
+    0e31a406d561c57f.ba0a184919f2cc6a.8d7c4b3296918391.1aed22d1c6c79eb0
+    125d77bf8cc8471e
+  after
+    0000000000000000.0000000000000000.00116eed01782546.145b110d0e2c0620
+    9f54d50b677bed67.b297ddfde6f4b46b.cf19d6373ab75227.7bf113face02ed85
+    52dc2fdba2d69ec6.c61cf5ebdff5155b.e11723c23390dfba.310dd48890896936
+    0e31a406d561c57f.ba0a184919f2cc6a.8d7c4b3296918391.1aed22d1c6c79eb0
+    125d77bf8cc8471e
+VPMADDWD_128(mem)
+  before
+    f5295140fd9622ad.2d9e2df79ca79d3e.6c2fc003b1f897c3.2f944af300487b57
+    9f1c2c3f353fe989.0d71c81d943464ae.b7556b05c2133093.23aa1c710c4003b9
+    ec0482a851cf58dd.08f46fe15995537c.7749943b694d5405.c50cbe1857055763
+    b7abd1666c502dd6.7c7520b08555a954.88d7b791c1b4be46.71042b547c24b200
+    83df5f921828513d
+  after
+    f5295140fd9622ad.2d9e2df79ca79d3e.6c2fc003b1f897c3.2f944af300487b57
+    9f1c2c3f353fe989.0d71c81d943464ae.b7556b05c2133093.23aa1c710c4003b9
+    0000000000000000.0000000000000000.c68a85aaff18da61.0ef47d8b01ce98df
+    b7abd1666c502dd6.7c7520b08555a954.88d7b791c1b4be46.71042b547c24b200
+    83df5f921828513d
+
+VADDSUBPS_128(reg)
+  before
+    57e9563cc69e6fc5.dede9467a3d0229f.c33ed7f6b700a0e1.c6cb50f4e7542b81
+    496e0dbf22114a45.3c694797125bf465.3a9c8e20892375d0.0cf0dc4ef63757e4
+    b5ba7f88c90d1c69.ac1866e0d3fb5e53.3eda4398974964cc.3814d58d0a6bfe98
+    f618a802571e22dc.0cb76e2f05be1d96.2946f1cc7efea982.2501b99c40fcdbcc
+    ae840367b4f5acaa
+  after
+    0000000000000000.0000000000000000.3edae026174964cc.3814d58df63757e4
+    496e0dbf22114a45.3c694797125bf465.3a9c8e20892375d0.0cf0dc4ef63757e4
+    b5ba7f88c90d1c69.ac1866e0d3fb5e53.3eda4398974964cc.3814d58d0a6bfe98
+    f618a802571e22dc.0cb76e2f05be1d96.2946f1cc7efea982.2501b99c40fcdbcc
+    ae840367b4f5acaa
+VADDSUBPS_128(mem)
+  before
+    b16930da81622a5e.6ad6849867d1974b.3711da70c1b0ed5a.582a9427d9cf7f9d
+    087cbae1c34f1415.6c3e0fb895b1b961.08f4269025dc8aca.27d42815444723ca
+    91881f6897c924fb.579d46cd7e4bc1cb.5d2ace794d4eaf13.f38eaa015df2d0b5
+    265bda5b18db173b.893f2443bd2aee34.10804e1954121a61.16a51459bd5dc409
+    ed65648902133973
+  after
+    b16930da81622a5e.6ad6849867d1974b.3711da70c1b0ed5a.582a9427d9cf7f9d
+    087cbae1c34f1415.6c3e0fb895b1b961.08f4269025dc8aca.27d42815444723ca
+    0000000000000000.0000000000000000.3711da7041b0ed5a.582a942759cf7f9d
+    265bda5b18db173b.893f2443bd2aee34.10804e1954121a61.16a51459bd5dc409
+    ed65648902133973
+
+VADDSUBPS_128(reg)
+  before
+    d41996fbc8a06b9e.a5bf68a66391a902.5d70a587efda7b49.ffc2235b573584df
+    270fa41caa919837.e881433693f8957b.2e7bc503b0e7a3b6.04bcc82b71c2acba
+    42918c584471faea.cd6de9f5c51b99d4.5aae81249adea326.fd39b975bec54c1d
+    81ec491c33cdce62.2e4fd5d114076e36.3b53d4574c4bb646.c40772255b4b2135
+    36f07027645fe72d
+  after
+    0000000000000000.0000000000000000.5aae8124b0e7a3b6.fd39b97571c2acba
+    270fa41caa919837.e881433693f8957b.2e7bc503b0e7a3b6.04bcc82b71c2acba
+    42918c584471faea.cd6de9f5c51b99d4.5aae81249adea326.fd39b975bec54c1d
+    81ec491c33cdce62.2e4fd5d114076e36.3b53d4574c4bb646.c40772255b4b2135
+    36f07027645fe72d
+VADDSUBPS_128(mem)
+  before
+    30c12e67f40e5a32.406cd7d2132f504c.e8f383b49dc7d3cf.2fb7ba065fb819c2
+    8c4628d127633570.db5d32e87f25bb53.d8246f8c7b6782cb.90262f9f71b30845
+    274bda521a6a3512.ae0b56c9133b4c24.d8b01644cbf33856.bcec2f8c1ec8bf7c
+    de9cc0d4e82f1545.15c140e16cfc3f6b.c561f3c8a878b19b.0d54b73b01817a12
+    e0acc217b76c74b4
+  after
+    30c12e67f40e5a32.406cd7d2132f504c.e8f383b49dc7d3cf.2fb7ba065fb819c2
+    8c4628d127633570.db5d32e87f25bb53.d8246f8c7b6782cb.90262f9f71b30845
+    0000000000000000.0000000000000000.e8f383b47b6782cb.2fb7ba0671b30845
+    de9cc0d4e82f1545.15c140e16cfc3f6b.c561f3c8a878b19b.0d54b73b01817a12
+    e0acc217b76c74b4
+
+VADDSUBPS_128(reg)
+  before
+    923e4c8cdb14ea0d.8b045745aebf9334.6ccdeb9c25f4d0d3.7c0482042f01a9c6
+    7d575106090617ca.0b511a908725690c.0e795366dbaf3a08.d7653fe47b9bdb05
+    fe43cef1decd3997.3a4d85a0906e53f9.591275ab29babab8.b350a654a8510481
+    714ebdbaf6f58a1f.f4c51463e4a50f26.a8e44bd7aca08b8d.ec903441d32fdf69
+    5ef3649518412ae7
+  after
+    0000000000000000.0000000000000000.591275abdbaf3a08.d7653fe47b9bdb05
+    7d575106090617ca.0b511a908725690c.0e795366dbaf3a08.d7653fe47b9bdb05
+    fe43cef1decd3997.3a4d85a0906e53f9.591275ab29babab8.b350a654a8510481
+    714ebdbaf6f58a1f.f4c51463e4a50f26.a8e44bd7aca08b8d.ec903441d32fdf69
+    5ef3649518412ae7
+VADDSUBPS_128(mem)
+  before
+    e543b23e91949f27.33c41ccbec0b460f.158544c4a0d657c0.573bd356ffeeeb33
+    5d4d9a265d34fa57.9ef1e6915c9aab12.79588fafdf0ee8f2.c1630895bf2f1457
+    a2dd993b962bf9a0.0f201879e32ff3d5.fc0c7310be587ee9.44a7e6fe87ef43a5
+    90bf2a6858875631.e29eacee1c545b04.7a6b6bd458c0d4d1.3b546afff4bbb3c8
+    01b78f03a11da26d
+  after
+    e543b23e91949f27.33c41ccbec0b460f.158544c4a0d657c0.573bd356ffeeeb33
+    5d4d9a265d34fa57.9ef1e6915c9aab12.79588fafdf0ee8f2.c1630895bf2f1457
+    0000000000000000.0000000000000000.79588fafdf0ee8f2.573bd356ffeeeb33
+    90bf2a6858875631.e29eacee1c545b04.7a6b6bd458c0d4d1.3b546afff4bbb3c8
+    01b78f03a11da26d
+
+VADDSUBPS_256(reg)
+  before
+    f41a51752aa44a40.03bfc999c053ce34.73b7a05ba4971f4a.cf43f4e5c953a7d5
+    6ec9acc32cd9e7ec.d7a8f2bae99c1dd5.1eb7ef2e16847a54.d75e88302f1bb322
+    cd129c58434ab71e.e84821b7f06dfe42.3fea95d20fa6a9cd.6e89a5a2a327b3e3
+    6b401ea00a83f481.1269d37cf0d22ea4.329c8fb32a89e862.708fc62643806545
+    b93e68a72a348374
+  after
+    6ec9acc3c34ab71e.e84821b7706df961.3fea95d2168477b9.6e89a5a22f1bb323
+    6ec9acc32cd9e7ec.d7a8f2bae99c1dd5.1eb7ef2e16847a54.d75e88302f1bb322
+    cd129c58434ab71e.e84821b7f06dfe42.3fea95d20fa6a9cd.6e89a5a2a327b3e3
+    6b401ea00a83f481.1269d37cf0d22ea4.329c8fb32a89e862.708fc62643806545
+    b93e68a72a348374
+VADDSUBPS_256(mem)
+  before
+    25600513754fc99b.a69e2c081d0edbc2.31d883f506d8692a.5318d83d04b972bf
+    8fc31b5540dbf5e7.d879c4fa1979a78c.2061ad0f4d8a6bfe.feab6cdd38c3858f
+    d5312559a5e6c183.5e1de2e3994f968c.bdd0cdb4e1f4ef4c.8fa147fd63325a7f
+    d2779f0bc37cea9c.95d680303a1de26e.e3f060d2df23b241.6246650a2093303a
+    d3e6c3710b70426d
+  after
+    25600513754fc99b.a69e2c081d0edbc2.31d883f506d8692a.5318d83d04b972bf
+    8fc31b5540dbf5e7.d879c4fa1979a78c.2061ad0f4d8a6bfe.feab6cdd38c3858f
+    25600513f54fc99b.d879c4fa9d0de21a.31d883f54d8a6bfe.feab6cdd38c3858f
+    d2779f0bc37cea9c.95d680303a1de26e.e3f060d2df23b241.6246650a2093303a
+    d3e6c3710b70426d
+
+VADDSUBPS_256(reg)
+  before
+    3dcd5b9cc158cbc4.61610557b4a72b5e.d7f09c4b976ec7dd.6e8fe15363226f09
+    fe472bf9ded407ea.60bad42a947641f4.81b731a24dce8386.3977cc2588fde4cf
+    719f2ff3fd72348c.aa50866e7ff2e88a.f0763ba0f7ca5015.22759d336ac1cbc0
+    f22261f6babd8c55.1aed99109329dc4e.7e7ab6b032ed6b35.0355d0692679e108
+    bae3e2b3d832e1d2
+  after
+    fe472bf97d72348c.60bad42a7ff2e88a.f0763ba077ca5015.3977cc25eac1cbc0
+    fe472bf9ded407ea.60bad42a947641f4.81b731a24dce8386.3977cc2588fde4cf
+    719f2ff3fd72348c.aa50866e7ff2e88a.f0763ba0f7ca5015.22759d336ac1cbc0
+    f22261f6babd8c55.1aed99109329dc4e.7e7ab6b032ed6b35.0355d0692679e108
+    bae3e2b3d832e1d2
+VADDSUBPS_256(mem)
+  before
+    22ea4efd9bf6894b.dc1cbf6eb2424cf2.8e5f89fde926d86a.88109f4099c31092
+    163890338bd4939e.8dd944c7808cb00e.e070d0209ff59a0a.6a81f0bbc9d97ad9
+    73972441c5d5bbf8.5fa5ec6dc127f356.eeedec64d1a3db5b.801ca78d5dbae6b6
+    16d486146407bf84.b0cbb3cc119f5276.92a158b79a3b5a89.262cc023f1f390d5
+    b8fc35e7220eb3e1
+  after
+    22ea4efd9bf6894b.dc1cbf6eb2424cf2.8e5f89fde926d86a.88109f4099c31092
+    163890338bd4939e.8dd944c7808cb00e.e070d0209ff59a0a.6a81f0bbc9d97ad9
+    22ea4efd1bf6894b.dc1cbf6e32424cf2.e070d0206926d86a.6a81f0bbc9d97ad9
+    16d486146407bf84.b0cbb3cc119f5276.92a158b79a3b5a89.262cc023f1f390d5
+    b8fc35e7220eb3e1
+
+VADDSUBPS_256(reg)
+  before
+    92da04468c9a8c86.d9bb33968575596f.db9996500a810919.aa5a900417cad1bf
+    101028adca205771.9a18a6b5432b46e5.3b598f664b5954ec.10e21037635afd2a
+    8eeb9d86782e504e.33b75b5bbb364111.2e589c786db16e9b.a207553c9af99af5
+    68b75f3f334fb2c9.8164cf7608a10820.0ee2b8f40e1794d1.3a93d900d9b3644e
+    b5531a6d3b93165e
+  after
+    0fe569f8f82e504e.33b75b5b432b479b.3b598f66edb16e9b.a207553c635afd2a
+    101028adca205771.9a18a6b5432b46e5.3b598f664b5954ec.10e21037635afd2a
+    8eeb9d86782e504e.33b75b5bbb364111.2e589c786db16e9b.a207553c9af99af5
+    68b75f3f334fb2c9.8164cf7608a10820.0ee2b8f40e1794d1.3a93d900d9b3644e
+    b5531a6d3b93165e
+VADDSUBPS_256(mem)
+  before
+    ef139470dda56d53.fac06b43970fba8c.61ea7cf14779553d.3843e045ca16023b
+    c59ec1f6dbf52459.a051bbfe3efba446.ad16e0b893c9e595.09c70ed73c3bf384
+    11c21fe94f90f99c.b6b84ddcc79eaca1.42b476b7089d7354.dbb940150111a559
+    b04929375882a647.983f1c49cb850d4a.fc90badac301bca5.0c66716db4245165
+    f61b9e4bf1013655
+  after
+    ef139470dda56d53.fac06b43970fba8c.61ea7cf14779553d.3843e045ca16023b
+    c59ec1f6dbf52459.a051bbfe3efba446.ad16e0b893c9e595.09c70ed73c3bf384
+    ef1394705d961b0d.fac06b433efba446.61ea7cf1c779553d.3843e0454a16023b
+    b04929375882a647.983f1c49cb850d4a.fc90badac301bca5.0c66716db4245165
+    f61b9e4bf1013655
+
+VADDSUBPD_128(reg)
+  before
+    f622c11955338ed5.7e005bcb0fd5e786.a13325b1e93b04ec.b776290de0027cb5
+    68c8d8447c469690.57b3319193977a87.2fe06280ba4ccd34.50323d3d7aac6fb0
+    a858de3801c78a33.172e2775fdd31973.9d92d122dd44a3ce.a18f7454ad0950c1
+    1320cf628041a669.9a3dba636b968179.47946d04ebb0c365.875a49409627dc14
+    de5f39eb5111cfd6
+  after
+    0000000000000000.0000000000000000.2fe06280ba4ccd34.50323d3d7aac6fb0
+    68c8d8447c469690.57b3319193977a87.2fe06280ba4ccd34.50323d3d7aac6fb0
+    a858de3801c78a33.172e2775fdd31973.9d92d122dd44a3ce.a18f7454ad0950c1
+    1320cf628041a669.9a3dba636b968179.47946d04ebb0c365.875a49409627dc14
+    de5f39eb5111cfd6
+VADDSUBPD_128(mem)
+  before
+    826abe43f8d4e433.036aa72c964125df.bcab6547f9eb6ec3.88343390821b69a6
+    4f475633aa7bd957.d5836304de514441.5946a40dc2de9b7d.bebc1d343e12d13c
+    21c27ca78012686d.e5b8fe55f5ff3e3a.4dd8f4a2e37cc5d4.4379295bba2036d4
+    d4a6ac8b99a64da1.8f52748b76d75177.742ecff077d0a8f4.75b7527093d1d519
+    afc294e164b2eab8
+  after
+    826abe43f8d4e433.036aa72c964125df.bcab6547f9eb6ec3.88343390821b69a6
+    4f475633aa7bd957.d5836304de514441.5946a40dc2de9b7d.bebc1d343e12d13c
+    0000000000000000.0000000000000000.5946a40dc2de9b7d.bebc1d343e12d13c
+    d4a6ac8b99a64da1.8f52748b76d75177.742ecff077d0a8f4.75b7527093d1d519
+    afc294e164b2eab8
+
+VADDSUBPD_128(reg)
+  before
+    4ce6eb19c94eb05d.43c163cb0e424620.2fa0c112fe64b7a3.aa14b3e59ae6ff09
+    a96e54845f3164b3.4cdd1b53fef20d16.21ede2562832ad6b.cb561b6b69cb883e
+    23a8ca8ec1e84267.cac7520f82c35fae.c184d1c391cd6e7b.b3c08370008afdbf
+    14de49a48cfe8625.994b83ecb8c0f715.6bb38cc5d4c2377e.3e1d68df792f1ab9
+    473a45a4f3c79d58
+  after
+    0000000000000000.0000000000000000.c184d1c391cd6e7b.cb561b6b69cb883e
+    a96e54845f3164b3.4cdd1b53fef20d16.21ede2562832ad6b.cb561b6b69cb883e
+    23a8ca8ec1e84267.cac7520f82c35fae.c184d1c391cd6e7b.b3c08370008afdbf
+    14de49a48cfe8625.994b83ecb8c0f715.6bb38cc5d4c2377e.3e1d68df792f1ab9
+    473a45a4f3c79d58
+VADDSUBPD_128(mem)
+  before
+    ace395ab885d40c7.da5dcd305cff6b98.95352bd4bcf59277.7bc40ec88e9c4421
+    48e4d7e054fdc033.cf71529fcb772e6c.9950c4b5a96fecff.4d0454395ae7d10f
+    f709842f74b4d8c8.5066d55e78f30b4f.836acc799c39c1da.3cbf5882d43019f5
+    941e1a84038d45b1.ba8751d8fcff3deb.2e4dbe0eb05fcc33.a64018119902597f
+    e6d58f5045eacd58
+  after
+    ace395ab885d40c7.da5dcd305cff6b98.95352bd4bcf59277.7bc40ec88e9c4421
+    48e4d7e054fdc033.cf71529fcb772e6c.9950c4b5a96fecff.4d0454395ae7d10f
+    0000000000000000.0000000000000000.9950c4b5a96fecff.fbc40ec88e9c4421
+    941e1a84038d45b1.ba8751d8fcff3deb.2e4dbe0eb05fcc33.a64018119902597f
+    e6d58f5045eacd58
+
+VADDSUBPD_128(reg)
+  before
+    58c8b9ad7373b12d.fdef13cc1e94c31b.6722c278f62501ec.75c6165f01eecb37
+    57669393bf2940a9.0c47edf1e0d60e31.b48124acfff493ff.36a15158acf17711
+    41fb176ec699b779.9ff324e1665ee120.fdf174dfb5f52fd0.4caae9e5cc748fef
+    71d343aa234d5248.90bf3286cb38fa13.9ebead7db4b6100a.92ac5cf27e84cdfa
+    e675256bde2cee61
+  after
+    0000000000000000.0000000000000000.fdf174dfb5f52fd0.ccaae9e5cc748fef
+    57669393bf2940a9.0c47edf1e0d60e31.b48124acfff493ff.36a15158acf17711
+    41fb176ec699b779.9ff324e1665ee120.fdf174dfb5f52fd0.4caae9e5cc748fef
+    71d343aa234d5248.90bf3286cb38fa13.9ebead7db4b6100a.92ac5cf27e84cdfa
+    e675256bde2cee61
+VADDSUBPD_128(mem)
+  before
+    22cfc03c0779ae4d.423a12b373d44cc3.bd7795ce2b711237.f334cbf297c2735a
+    2387aa521575c8ed.127c81f551b7e296.00e7c8a4a314e8b8.599fcaaafba5946b
+    c6695e97252ffa6b.3be48add5a84506c.37da47f44f2e36c1.2a4aa6127becaeea
+    e54158f952b0fdf4.1bbf2bd529c6d2f2.3c1e8eaa4ac9b97f.c3835c94b322ff83
+    8094e79e40d3c1e1
+  after
+    22cfc03c0779ae4d.423a12b373d44cc3.bd7795ce2b711237.f334cbf297c2735a
+    2387aa521575c8ed.127c81f551b7e296.00e7c8a4a314e8b8.599fcaaafba5946b
+    0000000000000000.0000000000000000.bd7795ce2b711237.7334cbf297c2735a
+    e54158f952b0fdf4.1bbf2bd529c6d2f2.3c1e8eaa4ac9b97f.c3835c94b322ff83
+    8094e79e40d3c1e1
+
+VADDSUBPD_256(reg)
+  before
+    bdca439abe8c30b1.5edb1463b90690b3.0c595f4b5b0aa3d4.ed7d1ab2b0f42d1e
+    d6716cf6c8d88a9e.0b030ec0753c6dd5.6cfe22a98bdb00bd.24c465f89eb84ec9
+    26d45f1dfa440955.c984c3fea25e5185.95fa705d56c5255a.bebfed693023d7ac
+    0b41167af15be982.742bad085d79f8f0.e59946d257554d56.973a2def804085f5
+    8c01a277ad1c13cd
+  after
+    d6716cf6c8d88a9e.4984c3fea25e5185.6cfe22a98bdb00bd.3ebfed693023d7ac
+    d6716cf6c8d88a9e.0b030ec0753c6dd5.6cfe22a98bdb00bd.24c465f89eb84ec9
+    26d45f1dfa440955.c984c3fea25e5185.95fa705d56c5255a.bebfed693023d7ac
+    0b41167af15be982.742bad085d79f8f0.e59946d257554d56.973a2def804085f5
+    8c01a277ad1c13cd
+VADDSUBPD_256(mem)
+  before
+    77dfc7eed1c23f63.e0028f7b48a968d0.e9c44acac2991e42.b6269f742b16b55e
+    35a2173f083ec3e1.0165c68b9cbac0eb.021b1630ecc87ea6.65ef77af6d94991d
+    a21410556f9c5b74.cab4b517881b2e81.9cfc8b27f814d549.4f3ecaefb95c3540
+    9a022e1e21e9c547.963c5a89a957ee3c.933327990088de56.ce6095a0acf9c473
+    3fa1d32ee2f78361
+  after
+    77dfc7eed1c23f63.e0028f7b48a968d0.e9c44acac2991e42.b6269f742b16b55e
+    35a2173f083ec3e1.0165c68b9cbac0eb.021b1630ecc87ea6.65ef77af6d94991d
+    77dfc7eed1c23f63.60028f7b48a968d0.e9c44acac2991e42.65ef77af6d94991d
+    9a022e1e21e9c547.963c5a89a957ee3c.933327990088de56.ce6095a0acf9c473
+    3fa1d32ee2f78361
+
+VADDSUBPD_256(reg)
+  before
+    fe4d7f06f6e3aeb7.f938eb853a30bb87.c349af4e9afb3bc8.c38b6573233157fa
+    67af989284488020.9b81c576d87efa5f.ac26b2d3f89252d2.08d1c1a27b1afa61
+    d714174029b23749.5cab37de14de3efc.ad215f825ea86f06.3ed1b710244f83b6
+    a8c9fa7a80ae0cde.1880bda70c5c4289.2184b0c968c9ce0f.4157c4ab3bddb026
+    ed2f635edbce3bdc
+  after
+    67af989284488020.dcab37de14de3efc.ad215f99117c6798.bed1b710244f83b6
+    67af989284488020.9b81c576d87efa5f.ac26b2d3f89252d2.08d1c1a27b1afa61
+    d714174029b23749.5cab37de14de3efc.ad215f825ea86f06.3ed1b710244f83b6
+    a8c9fa7a80ae0cde.1880bda70c5c4289.2184b0c968c9ce0f.4157c4ab3bddb026
+    ed2f635edbce3bdc
+VADDSUBPD_256(mem)
+  before
+    1e2510152131e105.37183bae26c73e8a.abced4bedc05c334.669ca312b382aa9a
+    b00447bc280f5ecd.e04ed847b68a07fa.f15ff6109fe47d26.d6b533cbdb5f4053
+    7f9a843f0d766d5f.ffb6cdb1cd81a5d9.c600a18771052b8e.cf1b5c5f7beacce5
+    67b1448aeb72cbe8.f09e1458063b51d4.067c50116f758b96.ab1a1a3a2fb189fd
+    c8fd6ac8943fb446
+  after
+    1e2510152131e105.37183bae26c73e8a.abced4bedc05c334.669ca312b382aa9a
+    b00447bc280f5ecd.e04ed847b68a07fa.f15ff6109fe47d26.d6b533cbdb5f4053
+    b00447bc280f5ecd.e04ed847b68a07fa.f15ff6109fe47d26.e69ca312b382aa9a
+    67b1448aeb72cbe8.f09e1458063b51d4.067c50116f758b96.ab1a1a3a2fb189fd
+    c8fd6ac8943fb446
+
+VADDSUBPD_256(reg)
+  before
+    801247754621896d.44160289df0d3493.0f51aba8fe414a97.8da17f98b53f576a
+    31a3adaee0e2441d.f1953a290455648d.b81a8d0d5021cacd.373aab0a5e6f4b37
+    35fd98ddfe0e2003.4cfa685477561602.4746b6f499660e23.df124e5286122529
+    e96c046f3d325acb.301009f8531a071d.172122c7749c5244.63f6e65c4a339f6c
+    9eb2ee14c5de762a
+  after
+    35fd98ddfe0e2003.f1953a290455648d.4746b6f499660e23.5f124e5286122529
+    31a3adaee0e2441d.f1953a290455648d.b81a8d0d5021cacd.373aab0a5e6f4b37
+    35fd98ddfe0e2003.4cfa685477561602.4746b6f499660e23.df124e5286122529
+    e96c046f3d325acb.301009f8531a071d.172122c7749c5244.63f6e65c4a339f6c
+    9eb2ee14c5de762a
+VADDSUBPD_256(mem)
+  before
+    6c12e36614206592.aa3ceed138d92e20.79a597ffb4aff20a.86f7cef37d50d1dd
+    a8e23f3f520429ce.d2b8516d8c8fd7af.02839057b72195f7.ef14b5e5510dc89a
+    30ed80899c967e0b.be2e29b1d4e19223.a97770eb787baa0e.aec3d3088c607326
+    de0021320de32074.cae87208ad5a9b29.494db1a712c9ee7b.1e5124c7c9d40d2d
+    9d0ba490a4f5d45d
+  after
+    6c12e36614206592.aa3ceed138d92e20.79a597ffb4aff20a.86f7cef37d50d1dd
+    a8e23f3f520429ce.d2b8516d8c8fd7af.02839057b72195f7.ef14b5e5510dc89a
+    6c12e36614206592.d2b8516d8c8fd7af.79a597ffb4aff20a.ef14b5e5510dc89a
+    de0021320de32074.cae87208ad5a9b29.494db1a712c9ee7b.1e5124c7c9d40d2d
+    9d0ba490a4f5d45d
+
+VCVTSS2SI_64(reg)
+  before
+    863b50ceba4f0260.90e89e24c2f6ca36.533329deb2862e6d.bdd1d177a1171c6b
+    342e23eda66fd3e2.206f744dd6db3a7d.b35b499f80f2869a.e3ce4a474272f20a
+    052f195a05e18590.6c621e98659f2974.47acceb7b229e05d.95129a0310e52a83
+    548c2e7f722f5216.4e8c17f08c4d5647.6b72b492e4b77862.b1673d98287c8003
+    119aadf0a644b2b6
+  after
+    863b50ceba4f0260.90e89e24c2f6ca36.533329deb2862e6d.bdd1d177a1171c6b
+    342e23eda66fd3e2.206f744dd6db3a7d.b35b499f80f2869a.e3ce4a474272f20a
+    052f195a05e18590.6c621e98659f2974.47acceb7b229e05d.95129a0310e52a83
+    548c2e7f722f5216.4e8c17f08c4d5647.6b72b492e4b77862.b1673d98287c8003
+    000000000000003d
+VCVTSS2SI_64(mem)
+  before
+    927768f8a4487ac7.7c8f5fc98ae7771f.a4bbde4367f27b24.7bf8f79db3298a54
+    11cae99d40959562.db86a7a5e8942f58.48b9ec7c11995534.d38b9442bb0a51df
+    685facca9635beb5.cbbb017d29c3b86d.1854be88a64ea0a6.cf7886ee97e70ab0
+    74022d6ac137b3e9.aa7b6cbfe8ff4c09.ee56d151431d18a4.cb09c90ee34bf073
+    238b590d3cc241d3
+  after
+    927768f8a4487ac7.7c8f5fc98ae7771f.a4bbde4367f27b24.7bf8f79db3298a54
+    11cae99d40959562.db86a7a5e8942f58.48b9ec7c11995534.d38b9442bb0a51df
+    685facca9635beb5.cbbb017d29c3b86d.1854be88a64ea0a6.cf7886ee97e70ab0
+    74022d6ac137b3e9.aa7b6cbfe8ff4c09.ee56d151431d18a4.cb09c90ee34bf073
+    0000000000000000
+
+VCVTSS2SI_64(reg)
+  before
+    334933563dd8377d.127ee96bdea42e2d.d212e1d5c2d427d8.a78ca0c40413785b
+    57915157831a0f1d.1ca05bb8088aecab.a0cb5e2d52cf8788.20c2a7cd043b7df6
+    eaadb17baa13045e.6f34ff3d5cf4a890.71f4de32357ba6c3.33c363595fa2e2a2
+    4aea4f2e4c5053ed.e70651e6f5ef1f07.9fd75d500664c135.bd5d4e533253658a
+    9a5ae6a6985ac0db
+  after
+    334933563dd8377d.127ee96bdea42e2d.d212e1d5c2d427d8.a78ca0c40413785b
+    57915157831a0f1d.1ca05bb8088aecab.a0cb5e2d52cf8788.20c2a7cd043b7df6
+    eaadb17baa13045e.6f34ff3d5cf4a890.71f4de32357ba6c3.33c363595fa2e2a2
+    4aea4f2e4c5053ed.e70651e6f5ef1f07.9fd75d500664c135.bd5d4e533253658a
+    0000000000000000
+VCVTSS2SI_64(mem)
+  before
+    a687a640aec3afc1.d29525dc085b3875.61e2cea0ef860d3d.87c1d7f36117138b
+    bdb00b0c8f9bf067.def831f277c3efa3.b794f05567c52e5d.86fe4887e31fda71
+    bba18ff658ee3dfa.ca5f6dda3711b423.c6e735f279b83d94.f6daad7928085092
+    7d26b0ea24c653a5.f118d801e4d3c2a0.6aa81864406cf70e.34a10133ca5fb29b
+    9c9e402268af3b37
+  after
+    a687a640aec3afc1.d29525dc085b3875.61e2cea0ef860d3d.87c1d7f36117138b
+    bdb00b0c8f9bf067.def831f277c3efa3.b794f05567c52e5d.86fe4887e31fda71
+    bba18ff658ee3dfa.ca5f6dda3711b423.c6e735f279b83d94.f6daad7928085092
+    7d26b0ea24c653a5.f118d801e4d3c2a0.6aa81864406cf70e.34a10133ca5fb29b
+    8000000000000000
+
+VCVTSS2SI_64(reg)
+  before
+    8a1f67b39c842813.dd0ae9d40f31ee95.b16d6bd4199455c7.7fa31696d8ed18f6
+    5b6e7051026bb5db.b81bb6a0363ac9f6.64ac23bd73e1ab43.e1a4a9735e455b79
+    69d8596737ef1e3a.e923933bb5eea1f3.681ffd2a8d45fec1.6c774fe9ed827ec2
+    11a91d63d69d9edd.4eeffd8fa75832b9.1813f486034c8bec.fce883e3a2af3bfe
+    6dc2c14d98d94e59
+  after
+    8a1f67b39c842813.dd0ae9d40f31ee95.b16d6bd4199455c7.7fa31696d8ed18f6
+    5b6e7051026bb5db.b81bb6a0363ac9f6.64ac23bd73e1ab43.e1a4a9735e455b79
+    69d8596737ef1e3a.e923933bb5eea1f3.681ffd2a8d45fec1.6c774fe9ed827ec2
+    11a91d63d69d9edd.4eeffd8fa75832b9.1813f486034c8bec.fce883e3a2af3bfe
+    3156de4000000000
+VCVTSS2SI_64(mem)
+  before
+    9bd38613ec0b75fe.af2db8b07cff726f.c24b6f8a29843773.cfd4043d72838e71
+    61e54c21b9516a19.9faf27bac4a3d69d.21036516557f6e4e.ebad29bb767442fc
+    9dc591631cb8ead8.3d7d64ed4b150613.47e35b214a549176.c6ec606caaaee538
+    2a3fd0c6304bb065.e4e16db6ace03d7c.10b6ce96220f5c16.bedba4bcaabab0d2
+    2dc8f1171326e276
+  after
+    9bd38613ec0b75fe.af2db8b07cff726f.c24b6f8a29843773.cfd4043d72838e71
+    61e54c21b9516a19.9faf27bac4a3d69d.21036516557f6e4e.ebad29bb767442fc
+    9dc591631cb8ead8.3d7d64ed4b150613.47e35b214a549176.c6ec606caaaee538
+    2a3fd0c6304bb065.e4e16db6ace03d7c.10b6ce96220f5c16.bedba4bcaabab0d2
+    8000000000000000
+
+VCVTSS2SI_32(reg)
+  before
+    70fd43ea807eb5cf.e41f8534111679ec.f2283e7f8390b885.58493861f9bd8d5a
+    e4c7979f8e4c6689.a7302d9bdc26019a.c29ed1b56eb1b2d9.fa68176eec69de70
+    e371e7a4d91e3152.4e4043e5ad86049b.b08f23c506d06925.d4dfe6a9161f0c82
+    ca493163fb8052d3.b71943009f423d1a.18473119e9781715.c17a22fe94ecd2bc
+    9c05455981dbed4b
+  after
+    70fd43ea807eb5cf.e41f8534111679ec.f2283e7f8390b885.58493861f9bd8d5a
+    e4c7979f8e4c6689.a7302d9bdc26019a.c29ed1b56eb1b2d9.fa68176eec69de70
+    e371e7a4d91e3152.4e4043e5ad86049b.b08f23c506d06925.d4dfe6a9161f0c82
+    ca493163fb8052d3.b71943009f423d1a.18473119e9781715.c17a22fe94ecd2bc
+    0000000080000000
+VCVTSS2SI_32(mem)
+  before
+    434ccda7faf8195b.f599704a93fc04bb.bc88a9d7ce676944.5611f61fb336f954
+    901a35d21a501217.c1afa1c43a2084b4.3b59f15657004445.c53b6e42ff954a8e
+    613cf9c8feee93ac.88d5be3d8e780d6b.0f589869561a8a48.c30f96ee69214771
+    917e9673c1df5a46.a758c5212b8edd8b.135019fce6bff67a.abda698f8e662ca7
+    d8e8e29109f135dc
+  after
+    434ccda7faf8195b.f599704a93fc04bb.bc88a9d7ce676944.5611f61fb336f954
+    901a35d21a501217.c1afa1c43a2084b4.3b59f15657004445.c53b6e42ff954a8e
+    613cf9c8feee93ac.88d5be3d8e780d6b.0f589869561a8a48.c30f96ee69214771
+    917e9673c1df5a46.a758c5212b8edd8b.135019fce6bff67a.abda698f8e662ca7
+    0000000000000000
+
+VCVTSS2SI_32(reg)
+  before
+    a8850060774d9ebd.fbac86c1802d2010.7a84b1dcacf02ec1.250ff0fb23fd4506
+    75fcbc687307a2f6.7c92479d56e7a436.5da47edaae2a3cb8.1f5f99532ae03319
+    9d9b13159aaa7e32.f1fb54f35f16a0e6.ac062887ccc7451d.df0d91ee16737bde
+    7bac02d487c26d1e.34b52aafb8c8d14a.c3f4ac50a253839c.3fe552b904c2da82
+    1cb35aa10fd90c31
+  after
+    a8850060774d9ebd.fbac86c1802d2010.7a84b1dcacf02ec1.250ff0fb23fd4506
+    75fcbc687307a2f6.7c92479d56e7a436.5da47edaae2a3cb8.1f5f99532ae03319
+    9d9b13159aaa7e32.f1fb54f35f16a0e6.ac062887ccc7451d.df0d91ee16737bde
+    7bac02d487c26d1e.34b52aafb8c8d14a.c3f4ac50a253839c.3fe552b904c2da82
+    0000000000000000
+VCVTSS2SI_32(mem)
+  before
+    5343249154c5cd16.6a7c840fd7dcac66.238a43bd7d08f38e.febb059fcd5a33e0
+    be612d75ee91d85e.c7579534258377b5.98471d09c9e2c2df.b9a72fe2e9699196
+    3ad8ef38fa4aea35.ef8932ae0e430ab7.70b83380b863f969.50042683900bd869
+    a475e8c893fbbfc6.3c5d55e92da9a11a.88a9010c67965557.1f1ee7f061cd4506
+    82416d94f6391418
+  after
+    5343249154c5cd16.6a7c840fd7dcac66.238a43bd7d08f38e.febb059fcd5a33e0
+    be612d75ee91d85e.c7579534258377b5.98471d09c9e2c2df.b9a72fe2e9699196
+    3ad8ef38fa4aea35.ef8932ae0e430ab7.70b83380b863f969.50042683900bd869
+    a475e8c893fbbfc6.3c5d55e92da9a11a.88a9010c67965557.1f1ee7f061cd4506
+    00000000f25cc200
+
+VCVTSS2SI_32(reg)
+  before
+    d5b8b4dbebdd804d.d6049310d5b0133d.0c21fc501f407788.bae6049bf18891d6
+    74d0b831dd45c74e.ad516cfddd75a1c7.b91f22517f94c9ad.e33ab61773446b11
+    bad5750267fc23ca.0528f079c7572690.a0a4c458e932d236.df73956e08d69d35
+    0513e8ba268ed06b.ba559a71ae615dc4.1dfcdccffaa5d0cf.8a5b1c8bcd4be36e
+    c0bfc85addadfbe7
+  after
+    d5b8b4dbebdd804d.d6049310d5b0133d.0c21fc501f407788.bae6049bf18891d6
+    74d0b831dd45c74e.ad516cfddd75a1c7.b91f22517f94c9ad.e33ab61773446b11
+    bad5750267fc23ca.0528f079c7572690.a0a4c458e932d236.df73956e08d69d35
+    0513e8ba268ed06b.ba559a71ae615dc4.1dfcdccffaa5d0cf.8a5b1c8bcd4be36e
+    0000000080000000
+VCVTSS2SI_32(mem)
+  before
+    5e6b13c7550b9fcd.b0d60cc6b5880cdd.a8a3e5d2aea0048e.8d7368234e79fd23
+    3e2a7bbe506e8c4b.166add90b17411cd.abdf5086e41fd51a.4a5563c07f3b95df
+    3dca7b2bebe47e8e.951a5786b5e11ce7.9fd5547b6cea8c96.b1eec9132c76d6ae
+    37158ffa417830c2.883476125d5868d6.60516e9b600ee72b.1e899686efb6fa3d
+    ed73c78764883e38
+  after
+    5e6b13c7550b9fcd.b0d60cc6b5880cdd.a8a3e5d2aea0048e.8d7368234e79fd23
+    3e2a7bbe506e8c4b.166add90b17411cd.abdf5086e41fd51a.4a5563c07f3b95df
+    3dca7b2bebe47e8e.951a5786b5e11ce7.9fd5547b6cea8c96.b1eec9132c76d6ae
+    37158ffa417830c2.883476125d5868d6.60516e9b600ee72b.1e899686efb6fa3d
+    000000003e7f48c0
+
+VCVTSD2SI_32(reg)
+  before
+    7af857812877de4a.08d933176e375f12.4a0237a246673347.ca1f1bd4df96a008
+    216442e0d60f1520.8be0e46f8f2cc7ab.39d195a10c99b7e6.b90bd611038e7457
+    3e0384100bdd2065.9ef71decc06323b8.afed8c7b4a7b305e.09e01b3ee8031f44
+    2d21197d626c3bc6.1ce95a7c1ce93166.0aa1199c9c98dc5b.966c6747ab005cfc
+    3c7935186791e8ab
+  after
+    7af857812877de4a.08d933176e375f12.4a0237a246673347.ca1f1bd4df96a008
+    216442e0d60f1520.8be0e46f8f2cc7ab.39d195a10c99b7e6.b90bd611038e7457
+    3e0384100bdd2065.9ef71decc06323b8.afed8c7b4a7b305e.09e01b3ee8031f44
+    2d21197d626c3bc6.1ce95a7c1ce93166.0aa1199c9c98dc5b.966c6747ab005cfc
+    0000000000000000
+VCVTSD2SI_32(mem)
+  before
+    d7d4009e38c37f7c.4a09fe937849a1ef.e184170abfc9abe1.a43b36709f7cf58b
+    434947c33ba1dd9c.f1082ebee8ff908b.c993d081c60f4d54.db05e163efb4b898
+    5ba483748c37bd37.7e6ba56a4e1a4147.b0e102cf4cc8d5ec.094c15e127cb602e
+    fdb0319e4692dc78.4d7c5f044726f3ce.713b28df6efffdd4.8c5cce57e34d2bfa
+    be81092fc0c753a8
+  after
+    d7d4009e38c37f7c.4a09fe937849a1ef.e184170abfc9abe1.a43b36709f7cf58b
+    434947c33ba1dd9c.f1082ebee8ff908b.c993d081c60f4d54.db05e163efb4b898
+    5ba483748c37bd37.7e6ba56a4e1a4147.b0e102cf4cc8d5ec.094c15e127cb602e
+    fdb0319e4692dc78.4d7c5f044726f3ce.713b28df6efffdd4.8c5cce57e34d2bfa
+    0000000000000000
+
+VCVTSD2SI_32(reg)
+  before
+    fc07c0d759c414e3.043bce2c86bdf58c.ba8759f66fb0e0cd.ea6dbe9d47c08239
+    a33af1b94bd0ac58.4b0fd50967c4c69e.21da8eae614346f0.f64341f6f4181f46
+    0d659743317855b2.b0f9c22305b409db.ddc0fa96ba6c5ee2.70892bd491129129
+    97d5afe0a8474c9e.0ec512657d987b6f.4c84991c14b6674f.360afa2438bb940b
+    239329d3071de41b
+  after
+    fc07c0d759c414e3.043bce2c86bdf58c.ba8759f66fb0e0cd.ea6dbe9d47c08239
+    a33af1b94bd0ac58.4b0fd50967c4c69e.21da8eae614346f0.f64341f6f4181f46
+    0d659743317855b2.b0f9c22305b409db.ddc0fa96ba6c5ee2.70892bd491129129
+    97d5afe0a8474c9e.0ec512657d987b6f.4c84991c14b6674f.360afa2438bb940b
+    0000000080000000
+VCVTSD2SI_32(mem)
+  before
+    12f134cb1a463c82.9dd733fc4bc9ccc8.403f3fbbeb7cd785.c97368ab0ead9be5
+    e1ee98fa8c425a6f.7bb52103b68b13db.2432c711696ddb49.afd961af42dd374e
+    6a57cf4b7a1cf70c.8dbb746186185b84.946c2553167641e9.5c0282944cd37736
+    8bf757aaffe0d286.2f37288257fce16e.6eb7d56e0ca4c58f.2b3ac6c6c91a964a
+    77cc29b1543fd136
+  after
+    12f134cb1a463c82.9dd733fc4bc9ccc8.403f3fbbeb7cd785.c97368ab0ead9be5
+    e1ee98fa8c425a6f.7bb52103b68b13db.2432c711696ddb49.afd961af42dd374e
+    6a57cf4b7a1cf70c.8dbb746186185b84.946c2553167641e9.5c0282944cd37736
+    8bf757aaffe0d286.2f37288257fce16e.6eb7d56e0ca4c58f.2b3ac6c6c91a964a
+    0000000080000000
+
+VCVTSD2SI_32(reg)
+  before
+    9e06a8c28acd64a5.1e9cab03379aa508.be743ad2c4c4e046.8ce0544c67012567
+    fa323e6306508b44.001048423f572dbf.94bda4be6afb95b8.ccb31ddb449b1b9e
+    e99de702655581bf.0e21a853332226d6.0e5f64b0e42e3c6f.08fcac05be7e6460
+    c5939f09426783c1.229949222e084c7a.88a67516cee71118.1d877db8f2b5bbd8
+    e8200cdffb4cde33
+  after
+    9e06a8c28acd64a5.1e9cab03379aa508.be743ad2c4c4e046.8ce0544c67012567
+    fa323e6306508b44.001048423f572dbf.94bda4be6afb95b8.ccb31ddb449b1b9e
+    e99de702655581bf.0e21a853332226d6.0e5f64b0e42e3c6f.08fcac05be7e6460
+    c5939f09426783c1.229949222e084c7a.88a67516cee71118.1d877db8f2b5bbd8
+    0000000080000000
+VCVTSD2SI_32(mem)
+  before
+    4392d665f54f879c.ec6062e63a12cdf6.1945a69b4c135ad7.5dded35ac5b44f5e
+    0baa5638fdcb7340.b8502d04e8e39a0c.d0f13babaa520d18.eb537bea642133ee
+    1c3408432fcb5d4b.86aefbcfe86527ad.2168853c63ce206a.8d50683148b9f974
+    53fc6873a65c02e8.b3c8c8b3d724b085.e978fe3c949551f8.9f23969b0c08dd9b
+    7d1601944d9a1a10
+  after
+    4392d665f54f879c.ec6062e63a12cdf6.1945a69b4c135ad7.5dded35ac5b44f5e
+    0baa5638fdcb7340.b8502d04e8e39a0c.d0f13babaa520d18.eb537bea642133ee
+    1c3408432fcb5d4b.86aefbcfe86527ad.2168853c63ce206a.8d50683148b9f974
+    53fc6873a65c02e8.b3c8c8b3d724b085.e978fe3c949551f8.9f23969b0c08dd9b
+    0000000080000000
+
+VCVTSD2SI_64(reg)
+  before
+    8376a588a6fced7e.8acef2b27f891e44.99e8901c51ad7141.04eb249558b25af0
+    0c8f7fe3b4b99292.9e7623edd55e6d8a.955b5076f18ba58d.4e8e7235cc32f77b
+    76ad8a12125e44f8.6bbf7611c4e8aae7.046d022d534a8914.a32d64070b20e6c7
+    1c1bc27f5d76405b.cd76670869329287.4069a4ae14775983.e09477f73288e100
+    df8f26f15c76a552
+  after
+    8376a588a6fced7e.8acef2b27f891e44.99e8901c51ad7141.04eb249558b25af0
+    0c8f7fe3b4b99292.9e7623edd55e6d8a.955b5076f18ba58d.4e8e7235cc32f77b
+    76ad8a12125e44f8.6bbf7611c4e8aae7.046d022d534a8914.a32d64070b20e6c7
+    1c1bc27f5d76405b.cd76670869329287.4069a4ae14775983.e09477f73288e100
+    8000000000000000
+VCVTSD2SI_64(mem)
+  before
+    7deaede1a6f7eee8.59272398308dc267.a06772c0df48e195.a69d3163d09d5185
+    967048b42b1777ee.8b1baac7283006ca.c05e14234336523e.9253a6ba2248acc7
+    06eeb35407e0fd91.0d44517ae0e9472e.0927c81fb009a3ad.60d9fd1da605a7f5
+    a830abae57603cfd.3aee161cf447c23f.578e0a9f43cd8e0f.6c7934faf95f7dba
+    128046bcb6e26cc3
+  after
+    7deaede1a6f7eee8.59272398308dc267.a06772c0df48e195.a69d3163d09d5185
+    967048b42b1777ee.8b1baac7283006ca.c05e14234336523e.9253a6ba2248acc7
+    06eeb35407e0fd91.0d44517ae0e9472e.0927c81fb009a3ad.60d9fd1da605a7f5
+    a830abae57603cfd.3aee161cf447c23f.578e0a9f43cd8e0f.6c7934faf95f7dba
+    0000000000000000
+
+VCVTSD2SI_64(reg)
+  before
+    ae3930cf7a1baebb.5a02abaf37a3ef5d.7065f41901d3b2aa.865e568f178ccf90
+    9cf2ec9fe095804f.f7302f42c2b3d4de.09f5e8dda31b551b.726528db4954245b
+    38f5789885dd1d2b.5b86b352149ea5ac.63eaecd475abe53d.f76dfd6ff431479d
+    de90cf26047dc2fa.62cfb3cd4a6f1ef2.d88ffe6a130d9fbd.f0435038352df581
+    3bb39d202756e934
+  after
+    ae3930cf7a1baebb.5a02abaf37a3ef5d.7065f41901d3b2aa.865e568f178ccf90
+    9cf2ec9fe095804f.f7302f42c2b3d4de.09f5e8dda31b551b.726528db4954245b
+    38f5789885dd1d2b.5b86b352149ea5ac.63eaecd475abe53d.f76dfd6ff431479d
+    de90cf26047dc2fa.62cfb3cd4a6f1ef2.d88ffe6a130d9fbd.f0435038352df581
+    8000000000000000
+VCVTSD2SI_64(mem)
+  before
+    b3896014e7b8e0e2.ea0dedb6f904ab69.e8d8ac9e8033fddd.c631190b1acfbf47
+    34901601905d96b6.b8b9ceb201fb1423.c86e19b1d0f5fc98.871c3923257c8086
+    999639d23e53c7dd.a4e06f87b8f038d5.e05b76f259c2d850.789c5b1fd1a11f26
+    c06547720ea62e82.09cdcaa2b96e542b.0b6b3f4d34a44c31.f6fd7969b9c9d8d5
+    5b8b916f7a80e63c
+  after
+    b3896014e7b8e0e2.ea0dedb6f904ab69.e8d8ac9e8033fddd.c631190b1acfbf47
+    34901601905d96b6.b8b9ceb201fb1423.c86e19b1d0f5fc98.871c3923257c8086
+    999639d23e53c7dd.a4e06f87b8f038d5.e05b76f259c2d850.789c5b1fd1a11f26
+    c06547720ea62e82.09cdcaa2b96e542b.0b6b3f4d34a44c31.f6fd7969b9c9d8d5
+    8000000000000000
+
+VCVTSD2SI_64(reg)
+  before
+    04919e9caf53860a.84cabccf1c6088d2.45cedd6ea002a4d0.246cf1af80a91566
+    4d5c9d5cf5cdf4e9.c09112d4839091f8.b32da4560a366470.0929070256ddef1b
+    9238881ae77a6c85.5286c76d5f3f0521.af3719c89399cfb9.956dfd33d54a967e
+    30715d4422e7298c.14755586cd7b9f79.94393a2fd6b42255.a3054f2f16ffc5b9
+    11bd79e137053af8
+  after
+    04919e9caf53860a.84cabccf1c6088d2.45cedd6ea002a4d0.246cf1af80a91566
+    4d5c9d5cf5cdf4e9.c09112d4839091f8.b32da4560a366470.0929070256ddef1b
+    9238881ae77a6c85.5286c76d5f3f0521.af3719c89399cfb9.956dfd33d54a967e
+    30715d4422e7298c.14755586cd7b9f79.94393a2fd6b42255.a3054f2f16ffc5b9
+    0000000000000000
+VCVTSD2SI_64(mem)
+  before
+    b961f834546aae68.81531746419f68a7.e4293b0be84f1c2b.c07c02f76f1599f0
+    79bd47168839e035.e22ab28ae02f6585.9c6ff2e9cdc73864.8e4f6d8dfb476f37
+    2b9de272ef7e8a8a.af412b7d9d215bd0.1a13f70a98f0ae50.59fd775b15d7e1d6
+    accc4534a6466994.44e67c8b11048834.38e2c75c63d53b1a.7fd11dce5a502b78
+    5a185953653e89ca
+  after
+    b961f834546aae68.81531746419f68a7.e4293b0be84f1c2b.c07c02f76f1599f0
+    79bd47168839e035.e22ab28ae02f6585.9c6ff2e9cdc73864.8e4f6d8dfb476f37
+    2b9de272ef7e8a8a.af412b7d9d215bd0.1a13f70a98f0ae50.59fd775b15d7e1d6
+    accc4534a6466994.44e67c8b11048834.38e2c75c63d53b1a.7fd11dce5a502b78
+    fffffffffffffe40
+
+VDPPS_128_1of4(reg)
+  before
+    481f2954d32e3678.d917ed48c99c397f.fd63a321da61265f.d3a5ddc94d839bee
+    a330893f3fab6f2d.8c4a559b738db676.36059ba993c671fa.c82bb53f6f048afa
+    c897737e46417095.a231f917c0249ba5.4b186191d9bea7b4.f13fcba9e767c368
+    14a2e57f837d745e.f89855a9cd6da539.98e8ef4448d50237.2bac9cf3d1b50364
+    533fa30848fc061b
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    a330893f3fab6f2d.8c4a559b738db676.36059ba993c671fa.c82bb53f6f048afa
+    c897737e46417095.a231f917c0249ba5.4b186191d9bea7b4.f13fcba9e767c368
+    14a2e57f837d745e.f89855a9cd6da539.98e8ef4448d50237.2bac9cf3d1b50364
+    533fa30848fc061b
+VDPPS_128_1of4(mem)
+  before
+    43c45cd7694788b9.e19bd9ad92eab831.684be53eb5748f5e.79c0432e7b98be2f
+    d80743494fa34469.8dd04d74101478bd.cf1526c095461740.49ee58bb0e92194a
+    eed4d54b161bf758.728b3d409988f0ac.09c4931d89eef70a.66bc2a579e504d31
+    61f78cc9dbbb5cb1.ed19a37dc8d15bab.f222a840ab79ebe8.2b77b56ec65d9793
+    f46bf66c2345331a
+  after
+    43c45cd7694788b9.e19bd9ad92eab831.684be53eb5748f5e.79c0432e7b98be2f
+    d80743494fa34469.8dd04d74101478bd.cf1526c095461740.49ee58bb0e92194a
+    eed4d54b161bf758.728b3d409988f0ac.09c4931d89eef70a.66bc2a579e504d31
+    61f78cc9dbbb5cb1.ed19a37dc8d15bab.f222a840ab79ebe8.2b77b56ec65d9793
+    f46bf66c2345331a
+
+VDPPS_128_1of4(reg)
+  before
+    1ce4e8bd50945c72.0d3be6b0ba8f31a1.5ac67d98397bf665.67fce11519f2b108
+    012d87cee9d74f48.cf6d5eeacea43054.16dec6fb8913fd87.421ebb88ef650393
+    fe94cf098c994848.815a7165330615f5.7bac7a135424abbc.6053b08548df9eb8
+    6e63bddcd267831d.00cc990c06bf9eb1.e67e954d353a3eb1.9d693ef8416b3ea1
+    d52ae1cdf5159e7a
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    012d87cee9d74f48.cf6d5eeacea43054.16dec6fb8913fd87.421ebb88ef650393
+    fe94cf098c994848.815a7165330615f5.7bac7a135424abbc.6053b08548df9eb8
+    6e63bddcd267831d.00cc990c06bf9eb1.e67e954d353a3eb1.9d693ef8416b3ea1
+    d52ae1cdf5159e7a
+VDPPS_128_1of4(mem)
+  before
+    e46413f181e97b71.afe74bb259cc3b74.288f54ca62dd85b3.b39e1414c8e2ef12
+    a6e1524e00f491af.1c6c77f6bd54adf9.d4711d8d646b8728.3e59f2d3aaa7fd8a
+    f66e18d18e429b63.103e3c16998c1557.e23d70402776603c.e3fb2bf87615a2c6
+    b2d6e36748dd57b7.e9a9977d89ffae3a.2dbecacfc809cb1a.fed0bbeec9b91b71
+    eb239f213e1ea438
+  after
+    e46413f181e97b71.afe74bb259cc3b74.288f54ca62dd85b3.b39e1414c8e2ef12
+    a6e1524e00f491af.1c6c77f6bd54adf9.d4711d8d646b8728.3e59f2d3aaa7fd8a
+    f66e18d18e429b63.103e3c16998c1557.e23d70402776603c.e3fb2bf87615a2c6
+    b2d6e36748dd57b7.e9a9977d89ffae3a.2dbecacfc809cb1a.fed0bbeec9b91b71
+    eb239f213e1ea438
+
+VDPPS_128_1of4(reg)
+  before
+    0642d1fd72d179c7.b5e72ffb49d37fd7.01f882972a39b550.91c1a526623085ef
+    ab774fef005cd5c9.db6c7679ae30cff0.b579fbd118c76643.ea127f3212f84ae6
+    360f1461844df5eb.003036cd93fe052e.6276fd95ed34fdbf.147dd3ddf36cd62c
+    03561dc09b3015d8.ff00eae3134bdbbc.623c8450480cb571.eace1e152198e4ec
+    4ad0dac4ba893154
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    ab774fef005cd5c9.db6c7679ae30cff0.b579fbd118c76643.ea127f3212f84ae6
+    360f1461844df5eb.003036cd93fe052e.6276fd95ed34fdbf.147dd3ddf36cd62c
+    03561dc09b3015d8.ff00eae3134bdbbc.623c8450480cb571.eace1e152198e4ec
+    4ad0dac4ba893154
+VDPPS_128_1of4(mem)
+  before
+    0f5185d8d74a788d.6d986479e190703d.b6a80ea74a230ec7.13178d6fc3dbcb05
+    151b9a3b96e777c6.d221e7f6f1f943c5.00f41e055590597b.cf53135cfa2e7b26
+    37fb95db136de828.8d3ca1a567f7ca1e.b8b097e94fa07903.f33b11858a910081
+    53bdf2a368e788e2.fa378ef1e01740f1.bca7f440555f2a8c.db1d86550e8e97c1
+    e4436b3722b47c93
+  after
+    0f5185d8d74a788d.6d986479e190703d.b6a80ea74a230ec7.13178d6fc3dbcb05
+    151b9a3b96e777c6.d221e7f6f1f943c5.00f41e055590597b.cf53135cfa2e7b26
+    37fb95db136de828.8d3ca1a567f7ca1e.b8b097e94fa07903.f33b11858a910081
+    53bdf2a368e788e2.fa378ef1e01740f1.bca7f440555f2a8c.db1d86550e8e97c1
+    e4436b3722b47c93
+
+VDPPS_128_2of4(reg)
+  before
+    68fabd99648ceba3.432d2e7fb462121e.745cab46f8e5e3ed.e7a7b1f482d82841
+    c48e79e66da41f9c.e517c45b11e84409.59f8f2104aebedbc.147a4af3f2172e4f
+    544b9a8adb87552b.134630249b87d8ce.045761bb72b79a0a.21ed3b27c328fae1
+    747d1cf24ac1c9fb.ab87eec46f4b8a9a.d0c4f3b30dd42884.e8cc017e0e184524
+    47e217e3f1f2ce44
+  after
+    0000000000000000.0000000000000000.7e29354c00000000.7e29354c00000000
+    c48e79e66da41f9c.e517c45b11e84409.59f8f2104aebedbc.147a4af3f2172e4f
+    544b9a8adb87552b.134630249b87d8ce.045761bb72b79a0a.21ed3b27c328fae1
+    747d1cf24ac1c9fb.ab87eec46f4b8a9a.d0c4f3b30dd42884.e8cc017e0e184524
+    47e217e3f1f2ce44
+VDPPS_128_2of4(mem)
+  before
+    18fdf94288c24f6c.806ffc8855dfb7b9.87a77b28a83f1898.1b8da564b6cfd1d6
+    38e72387ee9585c9.d46e34b9986c5a11.8570513d636f3cf5.3ffc713a0a33d2ab
+    846e129e3f762c87.ccc7c2f2b0f4efae.7faeeeedbbe7b3dd.9a5f55a2a48c66b0
+    d65c4173987200d1.c4c4a19d3904b13d.522fcd26cdb4387b.86004c062167cb91
+    612c52d41c4f3bf9
+  after
+    18fdf94288c24f6c.806ffc8855dfb7b9.87a77b28a83f1898.1b8da564b6cfd1d6
+    38e72387ee9585c9.d46e34b9986c5a11.8570513d636f3cf5.3ffc713a0a33d2ab
+    846e129e3f762c87.ccc7c2f2b0f4efae.7faeeeedbbe7b3dd.9a5f55a2a48c66b0
+    d65c4173987200d1.c4c4a19d3904b13d.522fcd26cdb4387b.86004c062167cb91
+    612c52d41c4f3bf9
+
+VDPPS_128_2of4(reg)
+  before
+    852f647732d0f294.0b7e2cf21494bcd3.18b2ce28ce27de69.dbbe6bd3b4e189fc
+    50547c5bfe762e10.00a04f08d0e81dbb.24dc43fe0beab0df.f42642e08d7b608c
+    1ce998eb1cce2916.8f8d269fe87adeb2.4490fe8b8dd8644b.7a34d039738d7a56
+    4638b39529642055.95132ea57657bde7.d418fa3bef7d3558.49b490ca82239286
+    3e72ff7fd749654a
+  after
+    0000000000000000.0000000000000000.c18aec4e00000000.c18aec4e00000000
+    50547c5bfe762e10.00a04f08d0e81dbb.24dc43fe0beab0df.f42642e08d7b608c
+    1ce998eb1cce2916.8f8d269fe87adeb2.4490fe8b8dd8644b.7a34d039738d7a56
+    4638b39529642055.95132ea57657bde7.d418fa3bef7d3558.49b490ca82239286
+    3e72ff7fd749654a
+VDPPS_128_2of4(mem)
+  before
+    333a97448e0cafcb.2b8ec9c5c1c24e77.eefce205998a7484.2fc2337ace6560b3
+    05d8d605c2772c38.2537d7e57f76f129.7615beaa6a20bfb6.b3d8a5b4c51d2107
+    901737af8f9797bb.917fd862ff0c4316.0a2a3e8208245ca8.bba74d557130b401
+    b0c4362c1277ad80.cbb2c8a8de0e81eb.8407df788ca20587.a37a26c96d2b544d
+    c69f2c7d56993f96
+  after
+    333a97448e0cafcb.2b8ec9c5c1c24e77.eefce205998a7484.2fc2337ace6560b3
+    05d8d605c2772c38.2537d7e57f76f129.7615beaa6a20bfb6.b3d8a5b4c51d2107
+    901737af8f9797bb.917fd862ff0c4316.0a2a3e8208245ca8.bba74d557130b401
+    b0c4362c1277ad80.cbb2c8a8de0e81eb.8407df788ca20587.a37a26c96d2b544d
+    c69f2c7d56993f96
+
+VDPPS_128_2of4(reg)
+  before
+    82615bdbc706ae88.41ac4f6a67232ab5.2f1ba324b80be653.c1781b7814a7777e
+    320bb0515dfee0d1.1f99ff54a8a8c983.1a086540278caffb.9d49706ebc3e6eba
+    31ea254ab30e0f1b.2657c0d5f4114819.e6c30b6aca1f188f.f44559479f73a567
+    dd4ab83165c27812.32b410db656a61a1.f099900d3b4f5dba.a23953edda53d9b0
+    83f1d84e88e8c6c1
+  after
+    0000000000000000.0000000000000000.b22edd9800000000.b22edd9800000000
+    320bb0515dfee0d1.1f99ff54a8a8c983.1a086540278caffb.9d49706ebc3e6eba
+    31ea254ab30e0f1b.2657c0d5f4114819.e6c30b6aca1f188f.f44559479f73a567
+    dd4ab83165c27812.32b410db656a61a1.f099900d3b4f5dba.a23953edda53d9b0
+    83f1d84e88e8c6c1
+VDPPS_128_2of4(mem)
+  before
+    72396654c54127c8.9077657410a45763.1f7b6b5117c0d047.94d6f09516a8b929
+    4ddd78edae67baef.a8bd267e5042e7ba.c9774b23271e5339.2ec6276ef8b76987
+    efa98b035f683962.7f67f8bbc02766c2.0c752e3eb090a4a0.1ab431047c07a981
+    34681984f350604f.73c2d897fce00d28.c3418f8cce237fab.b4ee0bc33e24b5c3
+    58beb017dc9bc8f8
+  after
+    72396654c54127c8.9077657410a45763.1f7b6b5117c0d047.94d6f09516a8b929
+    4ddd78edae67baef.a8bd267e5042e7ba.c9774b23271e5339.2ec6276ef8b76987
+    efa98b035f683962.7f67f8bbc02766c2.0c752e3eb090a4a0.1ab431047c07a981
+    34681984f350604f.73c2d897fce00d28.c3418f8cce237fab.b4ee0bc33e24b5c3
+    58beb017dc9bc8f8
+
+VDPPS_128_3of4(reg)
+  before
+    62711c6ceff71fcd.f8e7a05b8629eddf.de1bc17fa1f81b97.cca7eafa9fe2a284
+    2d534b2f15c5f5ed.16f39b7435019a41.1dbcb0dd4afbcabd.0273bb753cd9c757
+    17b03acaea908805.6c5686bb1be4239f.8df29f1e94765743.41707ee7c315ab51
+    7bd4e4ab09e412c0.d5dcdd1c55dd4625.88088caf1af4fed7.646cb03e50a10a9e
+    4931cc65fe899f69
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    2d534b2f15c5f5ed.16f39b7435019a41.1dbcb0dd4afbcabd.0273bb753cd9c757
+    17b03acaea908805.6c5686bb1be4239f.8df29f1e94765743.41707ee7c315ab51
+    7bd4e4ab09e412c0.d5dcdd1c55dd4625.88088caf1af4fed7.646cb03e50a10a9e
+    4931cc65fe899f69
+VDPPS_128_3of4(mem)
+  before
+    cb8c4e47e9da27df.b50a453c0e4dd0cc.2d531d84fef8bd00.6b4c72fb7901fb25
+    c549b3d22e9f5e2c.21a059eb9658fdd2.4f86c1dd3341455c.93094d6d4c2a89d9
+    153475f1e9e4007b.1ae01c233d90d681.194045150fc59a64.5a8a197330fae59e
+    9519129034b6c8f8.fe178b509e829783.654e2516af8f7745.1d1cd378c0fd4a20
+    380b75e899c0f60d
+  after
+    cb8c4e47e9da27df.b50a453c0e4dd0cc.2d531d84fef8bd00.6b4c72fb7901fb25
+    c549b3d22e9f5e2c.21a059eb9658fdd2.4f86c1dd3341455c.93094d6d4c2a89d9
+    153475f1e9e4007b.1ae01c233d90d681.194045150fc59a64.5a8a197330fae59e
+    9519129034b6c8f8.fe178b509e829783.654e2516af8f7745.1d1cd378c0fd4a20
+    380b75e899c0f60d
+
+VDPPS_128_3of4(reg)
+  before
+    07a3fd2f56ce230e.23c3059c2e2073d1.2891a1de55b97c84.117cddce2eab9a2b
+    e62f67b993b30dd2.99ffcbfff12fbd30.f39a5a39ffc1c131.f796ea28a826bc41
+    31fdadf3edfcf203.d59adea699ed6141.bd7db2cd3727a136.f568c70f3a0b9cb3
+    4457cd4700340c4d.b15ebc7e43681c31.e088a6079a76593e.e5bef0710067f4af
+    a563e1391544815e
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e62f67b993b30dd2.99ffcbfff12fbd30.f39a5a39ffc1c131.f796ea28a826bc41
+    31fdadf3edfcf203.d59adea699ed6141.bd7db2cd3727a136.f568c70f3a0b9cb3
+    4457cd4700340c4d.b15ebc7e43681c31.e088a6079a76593e.e5bef0710067f4af
+    a563e1391544815e
+VDPPS_128_3of4(mem)
+  before
+    0f24175395b1ffef.7b8ac12367e8985e.0b17e0710aacaa2c.ba053151c33a24f6
+    00cd0dac9db7298c.32e288f1bea3d2df.bd93c66d0bc4c75d.a5414f194fff3f0a
+    552a3e2e4964bd62.c5ab1b1fa2f1f57f.a49dea5d61bc2ef1.ff88fcc9d952e625
+    e80729c6b3c3759c.90317718af5e3ee8.9d00c92d28a09c13.222634cffebf55f3
+    6b67f49659d0c822
+  after
+    0f24175395b1ffef.7b8ac12367e8985e.0b17e0710aacaa2c.ba053151c33a24f6
+    00cd0dac9db7298c.32e288f1bea3d2df.bd93c66d0bc4c75d.a5414f194fff3f0a
+    552a3e2e4964bd62.c5ab1b1fa2f1f57f.a49dea5d61bc2ef1.ff88fcc9d952e625
+    e80729c6b3c3759c.90317718af5e3ee8.9d00c92d28a09c13.222634cffebf55f3
+    6b67f49659d0c822
+
+VDPPS_128_3of4(reg)
+  before
+    3796378a86137a5b.96304761fae10d67.efc099477f77e9c6.8289dec97d7dcdf0
+    e000f9172214a84d.3b7016ea38c842ee.3ea37c1ab1c731c6.3004a51d7c5e7cb4
+    c3f236a9c95d8da2.b395114c8987d15e.d9271cfcdedb5494.833d9a154050678a
+    3db6ebac167c6707.db69b4750a2773e3.1c98765aa53d8cdc.5700399de65e489f
+    8819ffa18994db1f
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e000f9172214a84d.3b7016ea38c842ee.3ea37c1ab1c731c6.3004a51d7c5e7cb4
+    c3f236a9c95d8da2.b395114c8987d15e.d9271cfcdedb5494.833d9a154050678a
+    3db6ebac167c6707.db69b4750a2773e3.1c98765aa53d8cdc.5700399de65e489f
+    8819ffa18994db1f
+VDPPS_128_3of4(mem)
+  before
+    f353670e45ffde35.a898128ca5fd7027.8db97b50d6b6e7a8.6242849e9f7c1548
+    727bedce37aa0b0d.61e6a9b6136ae4af.a651e2c90a3fe7da.097144356b212d87
+    e25e0dcf7aa11ed4.c4ebab94fc51014a.02fd66ccc1cf30a4.6c71b18ca2ba0e43
+    1fc644fc2bf0d5b6.2df21594fa3e01a5.7d88824517717e33.e68dc70de2d2f529
+    d5138326c7f61de4
+  after
+    f353670e45ffde35.a898128ca5fd7027.8db97b50d6b6e7a8.6242849e9f7c1548
+    727bedce37aa0b0d.61e6a9b6136ae4af.a651e2c90a3fe7da.097144356b212d87
+    e25e0dcf7aa11ed4.c4ebab94fc51014a.02fd66ccc1cf30a4.6c71b18ca2ba0e43
+    1fc644fc2bf0d5b6.2df21594fa3e01a5.7d88824517717e33.e68dc70de2d2f529
+    d5138326c7f61de4
+
+VDPPS_128_4of4(reg)
+  before
+    944de041ecb1c421.057f0d4065a4eadf.f948e120acbc216c.f3bfb22029318cb3
+    7e88d9ccee8f238c.7057e48945c91a79.82390da6ac579d4a.406f734a131c174f
+    f1106d32681c79d0.3b1945c2e76921b3.25119491969bb0ec.40623fadf03ddb34
+    473095dff6e50199.4490acd76592bab7.3e1c724d071597fd.cf659437dca0938d
+    c844edd2f452fd87
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    7e88d9ccee8f238c.7057e48945c91a79.82390da6ac579d4a.406f734a131c174f
+    f1106d32681c79d0.3b1945c2e76921b3.25119491969bb0ec.40623fadf03ddb34
+    473095dff6e50199.4490acd76592bab7.3e1c724d071597fd.cf659437dca0938d
+    c844edd2f452fd87
+VDPPS_128_4of4(mem)
+  before
+    09cac66c545ed24e.de364f3f3576f695.668996b5dd50a2b2.29a6a4469a508e2a
+    6dc59cf017d0d10d.106c95bec059956d.7dd07e466bad95cf.42fa25e8ebd8d01f
+    d0ffea4a59b5b5f0.3a1f65c9341c19d0.6531e0772ab74f3b.e466f09f983a9a87
+    0e452c6637183925.b99cbbca2d4bc068.fa783835377a8b22.6d3404d83a01280f
+    38b15afd6fbab662
+  after
+    09cac66c545ed24e.de364f3f3576f695.668996b5dd50a2b2.29a6a4469a508e2a
+    6dc59cf017d0d10d.106c95bec059956d.7dd07e466bad95cf.42fa25e8ebd8d01f
+    d0ffea4a59b5b5f0.3a1f65c9341c19d0.6531e0772ab74f3b.e466f09f983a9a87
+    0e452c6637183925.b99cbbca2d4bc068.fa783835377a8b22.6d3404d83a01280f
+    38b15afd6fbab662
+
+VDPPS_128_4of4(reg)
+  before
+    a128f07bd3f07f2d.0263de30cc0519d6.e72c912e4570c4e2.1770036aad0006af
+    04e7c0bf012fc11b.8a257c943589132f.211ee5621b1961e9.9ae7bc04a8577b0f
+    bd39c8349503b5da.8157837e8dafe15d.c4bdb2d048d2d52a.5ea7dfee458ba86d
+    276904462cf99a13.c2c46ddbf183408c.2a54f4e66b255a50.3e7de813a0a647f6
+    18355361d4b615d5
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    04e7c0bf012fc11b.8a257c943589132f.211ee5621b1961e9.9ae7bc04a8577b0f
+    bd39c8349503b5da.8157837e8dafe15d.c4bdb2d048d2d52a.5ea7dfee458ba86d
+    276904462cf99a13.c2c46ddbf183408c.2a54f4e66b255a50.3e7de813a0a647f6
+    18355361d4b615d5
+VDPPS_128_4of4(mem)
+  before
+    c69b9dc3fdc7cd38.a0c46e60629caa75.2b3ab8957c12ece7.b031a70f1da02d08
+    267b412638e42d48.839604f0d17922aa.9683e09a4b67a09b.b29ec8b7fccf89fe
+    12a0bb74a019ef33.2b2bc161181b3e5e.e16c5fd4798e1ad4.8de8514aa43cacdd
+    68d7879a5272cf25.f6cfa120d10e393e.e6c1b331229413bd.9b5a4034b075d052
+    394291e1bd063208
+  after
+    c69b9dc3fdc7cd38.a0c46e60629caa75.2b3ab8957c12ece7.b031a70f1da02d08
+    267b412638e42d48.839604f0d17922aa.9683e09a4b67a09b.b29ec8b7fccf89fe
+    12a0bb74a019ef33.2b2bc161181b3e5e.e16c5fd4798e1ad4.8de8514aa43cacdd
+    68d7879a5272cf25.f6cfa120d10e393e.e6c1b331229413bd.9b5a4034b075d052
+    394291e1bd063208
+
+VDPPS_128_4of4(reg)
+  before
+    c3eb3ebe667a0dac.02ed21846afc8b4a.3ecea09798df50f6.834d579c64844a83
+    95a04535475d9eea.beac061f02c2ddcd.6173ba330a18bf31.92dec701586b7951
+    0baea1b3fd3b216d.76e0b15539d182db.ba0bec61c248c29c.f13f7f4c1c545d54
+    81614ea524a1d2e2.07579e142833359f.a4e2318b5df894e3.7a3bfc69cb4bb2b7
+    0a9fb844825c33a7
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    95a04535475d9eea.beac061f02c2ddcd.6173ba330a18bf31.92dec701586b7951
+    0baea1b3fd3b216d.76e0b15539d182db.ba0bec61c248c29c.f13f7f4c1c545d54
+    81614ea524a1d2e2.07579e142833359f.a4e2318b5df894e3.7a3bfc69cb4bb2b7
+    0a9fb844825c33a7
+VDPPS_128_4of4(mem)
+  before
+    7e3731ca5d949e50.53054876571aecf4.4edc4a47edf7b446.7c44851f76b672b1
+    b0cfe3e577feaddd.dde68b913232ac50.253a2fdaa426b9fb.9f7de587a90e98b2
+    7d324883eca71c7b.7a4f146452764ea2.693ecbb968ce01eb.67d94b31948a4194
+    c12ede8ed99aa855.888ede5a52710e95.f7b499d056fa4742.32a3b588d0b8aa00
+    5a291ef8fb240fa5
+  after
+    7e3731ca5d949e50.53054876571aecf4.4edc4a47edf7b446.7c44851f76b672b1
+    b0cfe3e577feaddd.dde68b913232ac50.253a2fdaa426b9fb.9f7de587a90e98b2
+    7d324883eca71c7b.7a4f146452764ea2.693ecbb968ce01eb.67d94b31948a4194
+    c12ede8ed99aa855.888ede5a52710e95.f7b499d056fa4742.32a3b588d0b8aa00
+    5a291ef8fb240fa5
+
+VDPPS_256_1of4(reg)
+  before
+    3cb583edb158ac2d.588d1ff459e30e98.62ede5dfcfb027d6.a968150b89b7482b
+    3594ded38de2bc45.1f1c8aa0898e0770.64b9265f64bed610.5c26bc561d0fc0d3
+    9f122d172b4e7c98.f0a7987d84a85208.ea3e9b47ae2757f0.ecba089e2f116b65
+    d77a6b23282628d3.a8fac679673ca98d.4fc842014878e521.35ef77cddbc6040e
+    139284d03c3c48fa
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3594ded38de2bc45.1f1c8aa0898e0770.64b9265f64bed610.5c26bc561d0fc0d3
+    9f122d172b4e7c98.f0a7987d84a85208.ea3e9b47ae2757f0.ecba089e2f116b65
+    d77a6b23282628d3.a8fac679673ca98d.4fc842014878e521.35ef77cddbc6040e
+    139284d03c3c48fa
+VDPPS_256_1of4(mem)
+  before
+    6270ac946e7ef354.391a94651ff8fca1.23e191804d57c92a.f1a316facf3bbd51
+    fe5369048e99c049.213ca447ad5033af.3d28747c52046e0c.2b1a139fdeff1b29
+    c307390cb7986d04.eb2e98376eb80aa9.d29aeb5a944f535f.587a365a114d3a58
+    8d5a97970687b4b2.f33a6b9ffcbfbc3a.be0473062c45354e.d6107a9905b35888
+    ff26dbc756bcaf65
+  after
+    6270ac946e7ef354.391a94651ff8fca1.23e191804d57c92a.f1a316facf3bbd51
+    fe5369048e99c049.213ca447ad5033af.3d28747c52046e0c.2b1a139fdeff1b29
+    c307390cb7986d04.eb2e98376eb80aa9.d29aeb5a944f535f.587a365a114d3a58
+    8d5a97970687b4b2.f33a6b9ffcbfbc3a.be0473062c45354e.d6107a9905b35888
+    ff26dbc756bcaf65
+
+VDPPS_256_1of4(reg)
+  before
+    310855509ff57b9c.3817ff939673517f.95ad19edf6ee870f.dd32866d38f1d006
+    c604e4a07ce9fad9.a009eeec84670296.2dd29e8cf5d3a5d3.0bf0a279d45fdfb2
+    1c6585238a2466c7.a1fdde8ceb6f8124.17f7f7e898f95233.230a42181b9c207f
+    8d7632456533fc13.17bf4d60e8988a54.af661e6d78ecccdb.034ce23529b34c99
+    8681ffbb1bb0222b
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    c604e4a07ce9fad9.a009eeec84670296.2dd29e8cf5d3a5d3.0bf0a279d45fdfb2
+    1c6585238a2466c7.a1fdde8ceb6f8124.17f7f7e898f95233.230a42181b9c207f
+    8d7632456533fc13.17bf4d60e8988a54.af661e6d78ecccdb.034ce23529b34c99
+    8681ffbb1bb0222b
+VDPPS_256_1of4(mem)
+  before
+    887613980ca05d62.7784ea72a8a1f768.dd1bb65496eddb53.516d118833394d76
+    e5f89cb7198eb869.34dba617effa9573.d1dd9655117a2e4d.5956cba3656b12b0
+    78d116045d86ef6d.21c7639ed7cb10e0.ced0674d774c406d.236e492ba90f5737
+    1fcdfb6cf595c099.9b941e75fb9fa55a.b0c2a72ae16ecddf.0b01858d9caf57b5
+    6d5a7d33d9da4fd6
+  after
+    887613980ca05d62.7784ea72a8a1f768.dd1bb65496eddb53.516d118833394d76
+    e5f89cb7198eb869.34dba617effa9573.d1dd9655117a2e4d.5956cba3656b12b0
+    78d116045d86ef6d.21c7639ed7cb10e0.ced0674d774c406d.236e492ba90f5737
+    1fcdfb6cf595c099.9b941e75fb9fa55a.b0c2a72ae16ecddf.0b01858d9caf57b5
+    6d5a7d33d9da4fd6
+
+VDPPS_256_1of4(reg)
+  before
+    a4c72c8bfc197b47.b5bac8d9fcc6e51b.fc8ed206f8028f8e.527dd1d76dec90d1
+    0e928e00a2fa17b4.1563fa388f251b1c.a1007bbf69810b28.92ce614037d3466d
+    0609a0fe67085ec9.1d930c76c9bf1ecb.e637150beba755d3.4a81d3505a2eabdf
+    e7765cf1e5d08d30.a7177b7dc79fa951.287f9d561900a93b.5862a4f6f20a7b54
+    963d4f1b1c7171f8
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0e928e00a2fa17b4.1563fa388f251b1c.a1007bbf69810b28.92ce614037d3466d
+    0609a0fe67085ec9.1d930c76c9bf1ecb.e637150beba755d3.4a81d3505a2eabdf
+    e7765cf1e5d08d30.a7177b7dc79fa951.287f9d561900a93b.5862a4f6f20a7b54
+    963d4f1b1c7171f8
+VDPPS_256_1of4(mem)
+  before
+    e2dd50acf3714af6.0f26c045bbdde098.91bbc13ba4d27add.c1240e0c9019420e
+    160f23959416c27b.d964c76683bb92ab.b54b5c9b7d624a99.0e726499eb7d5df5
+    10a045c31a6b94b3.a07e6ec0d9f6e016.f193c7896d5dd8b2.6bb59b69c6b8369f
+    aa5a3120a27c7dc9.c2beafbf5a1b0684.1f5f7ef090cfde53.3438afe8be5708b6
+    c5499d836fe511e6
+  after
+    e2dd50acf3714af6.0f26c045bbdde098.91bbc13ba4d27add.c1240e0c9019420e
+    160f23959416c27b.d964c76683bb92ab.b54b5c9b7d624a99.0e726499eb7d5df5
+    10a045c31a6b94b3.a07e6ec0d9f6e016.f193c7896d5dd8b2.6bb59b69c6b8369f
+    aa5a3120a27c7dc9.c2beafbf5a1b0684.1f5f7ef090cfde53.3438afe8be5708b6
+    c5499d836fe511e6
+
+VDPPS_256_2of4(reg)
+  before
+    7a3260a474ef8add.c209629a475539e9.997288d0a1b640a2.1d7afdbf03c319a9
+    af40f4b969ffb244.327b571b26038441.83e4f45d4b51c91b.c5b1c0dfe24545df
+    c0bf552deba3c4ca.d77b89915a9119fa.da61efd4f37ade9d.f4d0443d48611d22
+    09fb806b9567fb19.8ed476e7000cb543.fc3475a035bcbbd1.87a304c551245f9e
+    58f67c641a99c57e
+  after
+    ff80000000000000.ff80000000000000.ff4d94d100000000.ff4d94d100000000
+    af40f4b969ffb244.327b571b26038441.83e4f45d4b51c91b.c5b1c0dfe24545df
+    c0bf552deba3c4ca.d77b89915a9119fa.da61efd4f37ade9d.f4d0443d48611d22
+    09fb806b9567fb19.8ed476e7000cb543.fc3475a035bcbbd1.87a304c551245f9e
+    58f67c641a99c57e
+VDPPS_256_2of4(mem)
+  before
+    44952904becd0bef.e63f6fe104d693dd.31539809337f1446.43ab832dafa49b65
+    274b85935acbee1d.b3d920fad47ccac3.9dc46de30ff6f130.0c1114e6fabdbb05
+    dee60efb099f2b33.cb138e229fe5da77.aef37161b17d0a2c.b4b12439b493575d
+    43303f2ae8557b5d.8c3ab6c5049e00a4.40ac1e6f35211967.95d8af9279b3ab18
+    0cd2b25be4a8f2e2
+  after
+    44952904becd0bef.e63f6fe104d693dd.31539809337f1446.43ab832dafa49b65
+    274b85935acbee1d.b3d920fad47ccac3.9dc46de30ff6f130.0c1114e6fabdbb05
+    dee60efb099f2b33.cb138e229fe5da77.aef37161b17d0a2c.b4b12439b493575d
+    43303f2ae8557b5d.8c3ab6c5049e00a4.40ac1e6f35211967.95d8af9279b3ab18
+    0cd2b25be4a8f2e2
+
+VDPPS_256_2of4(reg)
+  before
+    76eb270191fe6969.33f6950b12fa9dc8.519a924f9c3278f7.30bbf2fab6edda0c
+    2d6f0cf01d424c57.8a048a8aa49a4ba0.767f202d052e7d1c.58eb68ec50ee0b48
+    8ea95d9523ffd658.24269c93b93f4211.56345bc9db1d4cbe.9509fc33202f6647
+    f5e7145a40c24419.dd2746126ef73e46.4f074091b98b218a.c3e22ab942bca734
+    be406f6cd1a28c3c
+  after
+    1e668c7c00000000.1e668c7c00000000.31a318d100000000.31a318d100000000
+    2d6f0cf01d424c57.8a048a8aa49a4ba0.767f202d052e7d1c.58eb68ec50ee0b48
+    8ea95d9523ffd658.24269c93b93f4211.56345bc9db1d4cbe.9509fc33202f6647
+    f5e7145a40c24419.dd2746126ef73e46.4f074091b98b218a.c3e22ab942bca734
+    be406f6cd1a28c3c
+VDPPS_256_2of4(mem)
+  before
+    62ef4537e9eccf8a.be732fad1015d246.91d504f3decdfa6b.bc42c9ef3c05382b
+    8bbd2a06a7a62d4b.459aa8f92d86bc8a.1cfa522325ce33ad.f832f451ff15cc4e
+    15759ac526dd62aa.e6a87daa36a13d92.5a63ad8c6005a538.6123bc229e4a1a9e
+    dbe20f60839c29d5.fde9aa2cc4f19209.27dc901cab7e0b37.51611dceb62d5ec9
+    263813c1e34cd378
+  after
+    62ef4537e9eccf8a.be732fad1015d246.91d504f3decdfa6b.bc42c9ef3c05382b
+    8bbd2a06a7a62d4b.459aa8f92d86bc8a.1cfa522325ce33ad.f832f451ff15cc4e
+    15759ac526dd62aa.e6a87daa36a13d92.5a63ad8c6005a538.6123bc229e4a1a9e
+    dbe20f60839c29d5.fde9aa2cc4f19209.27dc901cab7e0b37.51611dceb62d5ec9
+    263813c1e34cd378
+
+VDPPS_256_2of4(reg)
+  before
+    3af39b67c033b65a.bbd107c3d9ef3ff5.e6a829eb7602f79c.5f3177bd214623d7
+    ebe0b02ce96c4318.900efdda44e36039.fd33f853e560a8f7.dd2dde5dde68a644
+    93494e7cfb85b661.36656d91e28348cb.9ed412d0af98e0c5.7f9e42e7fff053a9
+    8f7b71c491094adf.89a2d3d5ccdbb2d7.25d873ce7035dcb2.204e1d479febe533
+    9c0aed69db64170d
+  after
+    7f80000000000000.7f80000000000000.fff053a900000000.fff053a900000000
+    ebe0b02ce96c4318.900efdda44e36039.fd33f853e560a8f7.dd2dde5dde68a644
+    93494e7cfb85b661.36656d91e28348cb.9ed412d0af98e0c5.7f9e42e7fff053a9
+    8f7b71c491094adf.89a2d3d5ccdbb2d7.25d873ce7035dcb2.204e1d479febe533
+    9c0aed69db64170d
+VDPPS_256_2of4(mem)
+  before
+    ce9e2d39cf67a564.3cc2156e48853c3f.6490ac9020f85b8a.ee8b17bac3c4d86c
+    94d65aa395014d64.f46a37e8bc84c82c.a5fd72b0fae5fe10.5539fbfe45cf0f9d
+    c97eee934c3dc938.14bed29c87922953.27b3a32075ae5994.b52e1a0891e5bef1
+    486167f60d27d60d.f90ce2f8483c9c5f.c57fbaccad602643.6cb57042438f2115
+    d51cf91af85b73b5
+  after
+    ce9e2d39cf67a564.3cc2156e48853c3f.6490ac9020f85b8a.ee8b17bac3c4d86c
+    94d65aa395014d64.f46a37e8bc84c82c.a5fd72b0fae5fe10.5539fbfe45cf0f9d
+    c97eee934c3dc938.14bed29c87922953.27b3a32075ae5994.b52e1a0891e5bef1
+    486167f60d27d60d.f90ce2f8483c9c5f.c57fbaccad602643.6cb57042438f2115
+    d51cf91af85b73b5
+
+VDPPS_256_3of4(reg)
+  before
+    4cadb1fb4bd4f27d.ef4d40b6f6cc300e.fd9e6367980d5dfd.5d2d34a0bf062249
+    2cb59551d987d817.980cf5c123379268.7dc152551591a8d9.ca898b88c7ac08d1
+    d380a0883eff6132.216b0302af75ba46.d5c1aa2e5b55b89e.e75f3d70df5f9608
+    9c5ace0c15c8cb78.6436e464b79061d5.61ea675e05e4caf9.927ac544262a8619
+    a5a7a0f0b6199431
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    2cb59551d987d817.980cf5c123379268.7dc152551591a8d9.ca898b88c7ac08d1
+    d380a0883eff6132.216b0302af75ba46.d5c1aa2e5b55b89e.e75f3d70df5f9608
+    9c5ace0c15c8cb78.6436e464b79061d5.61ea675e05e4caf9.927ac544262a8619
+    a5a7a0f0b6199431
+VDPPS_256_3of4(mem)
+  before
+    fdb34861ab397e7b.e28e1b49fa6e5096.3f3916d556974641.7d888551b0cb1a95
+    77683b812295fe24.036a84ac8a7e2d37.8c3f1440a89323b5.85e60073f794e41f
+    ed92f43e363ad158.5938039f60849d08.29165b91ca92b55e.d552d53176cd6343
+    3dffef820433b242.42459690190adeb4.f08865b4d89fb868.c916fff5ca02d4ac
+    bd7f7a2d8fbe7207
+  after
+    fdb34861ab397e7b.e28e1b49fa6e5096.3f3916d556974641.7d888551b0cb1a95
+    77683b812295fe24.036a84ac8a7e2d37.8c3f1440a89323b5.85e60073f794e41f
+    ed92f43e363ad158.5938039f60849d08.29165b91ca92b55e.d552d53176cd6343
+    3dffef820433b242.42459690190adeb4.f08865b4d89fb868.c916fff5ca02d4ac
+    bd7f7a2d8fbe7207
+
+VDPPS_256_3of4(reg)
+  before
+    0dd942435f8d7bff.417aa83ba78c5f0f.18dd39e9509e2ae9.be62b095edc6e7fe
+    156f54a5d9fb2941.d6ce9c543b5192eb.384ce618a1cbbd50.7070b7212514004c
+    318faabe9795b979.d8c846b9de8f0801.ffdd9b88a91ed597.e07ef6429d94bd80
+    bd8342fa35e66652.24342256a9517c7d.c7de53a50422ac6a.eb57eae67053dac3
+    6dc90df7bb5c1444
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    156f54a5d9fb2941.d6ce9c543b5192eb.384ce618a1cbbd50.7070b7212514004c
+    318faabe9795b979.d8c846b9de8f0801.ffdd9b88a91ed597.e07ef6429d94bd80
+    bd8342fa35e66652.24342256a9517c7d.c7de53a50422ac6a.eb57eae67053dac3
+    6dc90df7bb5c1444
+VDPPS_256_3of4(mem)
+  before
+    439edd6399bb282d.159918c5507b6d79.94deac17baa4ab8c.ee990adb4d637f75
+    47a3d515277dcfaa.941b268b83df0a99.059260e82d93515a.ce5bbc96216e8963
+    56a472f980adc8e9.98566ab86b9e795f.531cbbb61d2a2a13.c47065421bce08e0
+    4c6d2efbc157cd13.7c96deb9a344f576.5a47386ba676f1e2.2c24024bd70f369a
+    63c38e1ef2be503a
+  after
+    439edd6399bb282d.159918c5507b6d79.94deac17baa4ab8c.ee990adb4d637f75
+    47a3d515277dcfaa.941b268b83df0a99.059260e82d93515a.ce5bbc96216e8963
+    56a472f980adc8e9.98566ab86b9e795f.531cbbb61d2a2a13.c47065421bce08e0
+    4c6d2efbc157cd13.7c96deb9a344f576.5a47386ba676f1e2.2c24024bd70f369a
+    63c38e1ef2be503a
+
+VDPPS_256_3of4(reg)
+  before
+    c39905250766916f.05ca870705879b57.9c2680f8c85ebc8c.f6e053f5e58163f3
+    a9f164ceb39436e3.5d87f809694aeedf.53544ce37577074a.03b4893ef55a3c73
+    7118a58392d27b43.306ffded08ac81d7.ff6a3ce4461c155f.5d8d5434f30a378e
+    775ac6b23eae9c3a.5a4f129ffeb7116d.fab54e69d8d82074.e03732c2fb9f1270
+    68809ed427258744
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    a9f164ceb39436e3.5d87f809694aeedf.53544ce37577074a.03b4893ef55a3c73
+    7118a58392d27b43.306ffded08ac81d7.ff6a3ce4461c155f.5d8d5434f30a378e
+    775ac6b23eae9c3a.5a4f129ffeb7116d.fab54e69d8d82074.e03732c2fb9f1270
+    68809ed427258744
+VDPPS_256_3of4(mem)
+  before
+    d133145696a65236.1703c2c656b4d475.b7f3b40c68795aca.a2817dddc7376538
+    f71b103461303173.ad5f952b736e609f.23275e1e62fd171d.521ac5acaec62055
+    b6050f5aa6cede27.95ba3c4d336b7c65.7ab78cc307500690.65cc224229108c78
+    eabd8cb4818d157d.2b5fb19832346372.976fbae6737de04f.39e2910bd5a1e74c
+    28aa0d734e066a7e
+  after
+    d133145696a65236.1703c2c656b4d475.b7f3b40c68795aca.a2817dddc7376538
+    f71b103461303173.ad5f952b736e609f.23275e1e62fd171d.521ac5acaec62055
+    b6050f5aa6cede27.95ba3c4d336b7c65.7ab78cc307500690.65cc224229108c78
+    eabd8cb4818d157d.2b5fb19832346372.976fbae6737de04f.39e2910bd5a1e74c
+    28aa0d734e066a7e
+
+VDPPS_256_4of4(reg)
+  before
+    8f6e92e62fc954b9.6e0f032f0d7894a2.cb9bf2780b575374.581a6573c3906487
+    cb7b1cd01479dfaa.20c7f0b5679c15c2.d1bafa5a5b5f8614.9886075513964d64
+    361da79e9a9f48fd.dbb0d034aa035508.9908c6a8bdd83801.337d1e7a7d9a5611
+    2da030ba5cc9cb5d.7b981e96f2bb10a1.7ed150cfce4fa7e5.04cc25ce20a83bbb
+    e93f993b16cdba8e
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    cb7b1cd01479dfaa.20c7f0b5679c15c2.d1bafa5a5b5f8614.9886075513964d64
+    361da79e9a9f48fd.dbb0d034aa035508.9908c6a8bdd83801.337d1e7a7d9a5611
+    2da030ba5cc9cb5d.7b981e96f2bb10a1.7ed150cfce4fa7e5.04cc25ce20a83bbb
+    e93f993b16cdba8e
+VDPPS_256_4of4(mem)
+  before
+    bda1f4ae7b148db5.0d4fb292f783a377.db4956c95cd001b8.de61963c294f0d6c
+    5bc0b4136b8a715d.3078299106570ef7.d990f4b8044ce57a.1404935a6a65a743
+    a1665457043922b1.f365912326d44688.5039744f053d7813.7c0543952e1cb016
+    696050645f2f5bde.b263e7b3f28387d6.1b10537a7baf76ae.71b1a35810006590
+    5154ad11ad9e025e
+  after
+    bda1f4ae7b148db5.0d4fb292f783a377.db4956c95cd001b8.de61963c294f0d6c
+    5bc0b4136b8a715d.3078299106570ef7.d990f4b8044ce57a.1404935a6a65a743
+    a1665457043922b1.f365912326d44688.5039744f053d7813.7c0543952e1cb016
+    696050645f2f5bde.b263e7b3f28387d6.1b10537a7baf76ae.71b1a35810006590
+    5154ad11ad9e025e
+
+VDPPS_256_4of4(reg)
+  before
+    773a5f2ba180c32c.917a25289a78da0f.c9be26af06f20f8e.18e10c2583ad9a77
+    3eafb4138635e3a5.f3804d8ed11f5871.95c24a83ffac185c.21771b3c3943a19c
+    04fea933fb46a076.6d3e46821f309430.70ba4f99793ddeec.149ffcabb77d4747
+    237538f89a41334a.d9808bf0a1b74877.b7f4315e0f329fe9.cb262c5f1c6847a4
+    23d62542810f5ee0
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3eafb4138635e3a5.f3804d8ed11f5871.95c24a83ffac185c.21771b3c3943a19c
+    04fea933fb46a076.6d3e46821f309430.70ba4f99793ddeec.149ffcabb77d4747
+    237538f89a41334a.d9808bf0a1b74877.b7f4315e0f329fe9.cb262c5f1c6847a4
+    23d62542810f5ee0
+VDPPS_256_4of4(mem)
+  before
+    f97c6542057e4827.f95e5fcfffb1dbce.151199c472c13173.c6baed3e5e1695ff
+    27e36749c1c2c1a4.e0061922c623d2ad.fbbeeaeaae590b50.f95a7ea60175fddb
+    8ad9a845d3e68484.36b9625f8d225594.6854fc4e728c9139.ac1ee00194dc1329
+    ff28a22157f74ef2.55c337f0ed3aa02f.399c4adcd964815a.3b520fbab4d61295
+    0244083ffcf037ca
+  after
+    f97c6542057e4827.f95e5fcfffb1dbce.151199c472c13173.c6baed3e5e1695ff
+    27e36749c1c2c1a4.e0061922c623d2ad.fbbeeaeaae590b50.f95a7ea60175fddb
+    8ad9a845d3e68484.36b9625f8d225594.6854fc4e728c9139.ac1ee00194dc1329
+    ff28a22157f74ef2.55c337f0ed3aa02f.399c4adcd964815a.3b520fbab4d61295
+    0244083ffcf037ca
+
+VDPPS_256_4of4(reg)
+  before
+    5c3fc6fb09b5be74.609dd3c96800db1b.9b70924384f8ef29.4865508100f095e1
+    a78e455a76b1e240.8a04b629230de62b.620b71c3eee77d2f.727a8b27033989f8
+    3e7e81c8e070e1da.5929c72da32b2d4d.07e1cfdcc69387ed.93a675bcfc4d1acb
+    7d5c76b1e27ff5ed.aad883c104646aae.e73fa8faa989480e.88b78c2b0a370587
+    2b774b5f46040358
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    a78e455a76b1e240.8a04b629230de62b.620b71c3eee77d2f.727a8b27033989f8
+    3e7e81c8e070e1da.5929c72da32b2d4d.07e1cfdcc69387ed.93a675bcfc4d1acb
+    7d5c76b1e27ff5ed.aad883c104646aae.e73fa8faa989480e.88b78c2b0a370587
+    2b774b5f46040358
+VDPPS_256_4of4(mem)
+  before
+    59b32e46cfbfd369.c071218119695a26.57dd65d263c75979.5c6ff9893154fd3e
+    ee37b2cbbe742fe7.620c7da420bb4e31.3d03e84adc5db8db.c3bebdf6fd80e32b
+    c6cf52da312fd4fd.c178868794000bb9.38188b178a344100.7877f0aba79a337e
+    bd468a5f44fd7ed8.3800389410c4ce6b.24e6c7238957b013.d8e88e16cb2d2ce6
+    3d5b93a106c5080d
+  after
+    59b32e46cfbfd369.c071218119695a26.57dd65d263c75979.5c6ff9893154fd3e
+    ee37b2cbbe742fe7.620c7da420bb4e31.3d03e84adc5db8db.c3bebdf6fd80e32b
+    c6cf52da312fd4fd.c178868794000bb9.38188b178a344100.7877f0aba79a337e
+    bd468a5f44fd7ed8.3800389410c4ce6b.24e6c7238957b013.d8e88e16cb2d2ce6
+    3d5b93a106c5080d
+
+VHADDPS_128(reg)
+  before
+    041dfcbaf3ef049f.af6ad64712eae8a4.22f28f393193d2f2.dd3a195cf6d3c341
+    897bc4cb2f365c4a.7805b27cb800cf8c.dd9888e192fa54fb.3fdffeadecb334b5
+    28bee74255274bb7.f4e49beb514defbd.c33f1ef7cf859031.26a3f1028803c09c
+    3d35618a024c0e95.ffd30c81f9dd0362.32334de985bec241.6e516e47e5d02322
+    f3b4f26820251872
+  after
+    0000000000000000.0000000000000000.cf85903126a3f102.dd9888e1ecb334b5
+    897bc4cb2f365c4a.7805b27cb800cf8c.dd9888e192fa54fb.3fdffeadecb334b5
+    28bee74255274bb7.f4e49beb514defbd.c33f1ef7cf859031.26a3f1028803c09c
+    3d35618a024c0e95.ffd30c81f9dd0362.32334de985bec241.6e516e47e5d02322
+    f3b4f26820251872
+VHADDPS_128(mem)
+  before
+    9099f851540e5cb9.242b2e0fd133e18e.759e8129cdbac9a8.84bf1122503326d7
+    23ccfbee9e98ab22.39eb4b3d5f68ff4e.311076cee9f2faba.1731670ecb6ff79e
+    8719792c19cec0da.d8c3b3814776a583.11f7675e679155c6.45d34a1a92ff7243
+    984ceef5e2bc590d.5dfd624526e90fd6.f01dd1c466a195f5.6cf3b6b0426ed272
+    e6dba73d764855d6
+  after
+    9099f851540e5cb9.242b2e0fd133e18e.759e8129cdbac9a8.84bf1122503326d7
+    23ccfbee9e98ab22.39eb4b3d5f68ff4e.311076cee9f2faba.1731670ecb6ff79e
+    0000000000000000.0000000000000000.759e8129503326d7.e9f2fabacb6ff79e
+    984ceef5e2bc590d.5dfd624526e90fd6.f01dd1c466a195f5.6cf3b6b0426ed272
+    e6dba73d764855d6
+
+VHADDPS_128(reg)
+  before
+    10d81a2ecb1a351c.3130d437146f30e6.23e654f6974d79f6.aa4f2fec00307576
+    473509eddc6faeef.3093a9dccbf20192.88ca8601362f1e8d.1a59fdc2514ab173
+    e54072e846d3fefc.703fe8d224518a3c.e7f4f3d0a01a3c47.1e07b83276f90718
+    4743508aa4d35fee.cc010d043b998511.9cb297d1719b0cd1.9125da298a4b3192
+    4e7ee191aa4cec0d
+  after
+    0000000000000000.0000000000000000.e7f4f3d076f90718.362f1e8d514ab173
+    473509eddc6faeef.3093a9dccbf20192.88ca8601362f1e8d.1a59fdc2514ab173
+    e54072e846d3fefc.703fe8d224518a3c.e7f4f3d0a01a3c47.1e07b83276f90718
+    4743508aa4d35fee.cc010d043b998511.9cb297d1719b0cd1.9125da298a4b3192
+    4e7ee191aa4cec0d
+VHADDPS_128(mem)
+  before
+    33e04857f106f4b4.c98ca03e93fa0e72.22a5955e2bd5af3c.034e6e6f443dcdd7
+    1b158b687b8804b4.c8655c72aed44634.4df7facc1011c3ea.77157416b58cb904
+    e1ea27af66dbda39.9e1b829192ee45df.28c3ba3a075a7f47.5653a63261140d05
+    632b9617cb0d2f6e.a8fa0d07dad34520.91d450942bbb9d7e.fb54ff2fe4620586
+    c1647b79d802dc32
+  after
+    33e04857f106f4b4.c98ca03e93fa0e72.22a5955e2bd5af3c.034e6e6f443dcdd7
+    1b158b687b8804b4.c8655c72aed44634.4df7facc1011c3ea.77157416b58cb904
+    0000000000000000.0000000000000000.2bd5af65443dcdd7.4df7facc77157416
+    632b9617cb0d2f6e.a8fa0d07dad34520.91d450942bbb9d7e.fb54ff2fe4620586
+    c1647b79d802dc32
+
+VHADDPS_128(reg)
+  before
+    06cf167cdc7ecfb6.7ba4568ec829c27f.424df941220f83a2.62f738c69941d9bc
+    24e0cda489641abd.0620e2ff793b4d9a.c86243a9082f3a12.79f9efbd6cf7f12d
+    79e49b5e7e3ff9f4.e16db756f9508de9.9683e5ac25bea71c.b0a4f063c1e99ffc
+    5f277c14549ca706.e6554f7f64733e98.08fdddb71749066b.e4c5b7a6b323a055
+    f227c0715fb2af66
+  after
+    0000000000000000.0000000000000000.25bea71cc1e99ffc.c86243a979f9efbd
+    24e0cda489641abd.0620e2ff793b4d9a.c86243a9082f3a12.79f9efbd6cf7f12d
+    79e49b5e7e3ff9f4.e16db756f9508de9.9683e5ac25bea71c.b0a4f063c1e99ffc
+    5f277c14549ca706.e6554f7f64733e98.08fdddb71749066b.e4c5b7a6b323a055
+    f227c0715fb2af66
+VHADDPS_128(mem)
+  before
+    b49887afe0a18a59.34f56c34aa0661a0.f2a52867d7b11bd4.7a1c2634795b93ac
+    07e2894e53fdeb5a.529a67291909636e.e229bdf86e15e2c9.482cbc91e880898a
+    c8d24039d3d08e96.16626a5f3f32e81b.90ad8a1f43ab4da2.ce799c39004425b2
+    d1342a5c7c293139.dd987041b80c2d54.d9fc0bc9757f188c.684fc1985c34a3d0
+    72f9271a98db3f8f
+  after
+    b49887afe0a18a59.34f56c34aa0661a0.f2a52867d7b11bd4.7a1c2634795b93ac
+    07e2894e53fdeb5a.529a67291909636e.e229bdf86e15e2c9.482cbc91e880898a
+    0000000000000000.0000000000000000.f2a528677a530b1f.6e15e2c8e880898a
+    d1342a5c7c293139.dd987041b80c2d54.d9fc0bc9757f188c.684fc1985c34a3d0
+    72f9271a98db3f8f
+
+VHADDPS_256(reg)
+  before
+    47c4ca2b51c6349b.ffd4c3a36b118e6e.018a753d1f236ec5.99e4bde01e9e00b2
+    45fca637227fbfa2.2e7e85fbbc966262.df8275bf1004e719.ad2f1b525a13c241
+    c7edb8aaa8951c4e.3afeee4e8ac36940.d4cd6d31283ad3fc.efaba10a46eb1765
+    29e3fbf07e91864b.ff1f7989f1a55e35.3ab7570003516f1c.3c22cbf4fd31be49
+    706016fc9bf1711a
+  after
+    c7edb8aa3afeee4e.45fca637bc966262.d4cd6d31efaba10a.df8275bf5a13c241
+    45fca637227fbfa2.2e7e85fbbc966262.df8275bf1004e719.ad2f1b525a13c241
+    c7edb8aaa8951c4e.3afeee4e8ac36940.d4cd6d31283ad3fc.efaba10a46eb1765
+    29e3fbf07e91864b.ff1f7989f1a55e35.3ab7570003516f1c.3c22cbf4fd31be49
+    706016fc9bf1711a
+VHADDPS_256(mem)
+  before
+    6733fd0e3e38ed03.c62a6b7640013a46.59afa2990e47fe6d.6e8c31983cd6f722
+    fd66fb16ff11ee31.fc0d04a68c7074eb.2478e568fdb50513.cc97f6666f54a7bd
+    0ec48f00fc882fd0.26d9c2eefb6b6fe5.3c47bfe4d9fc2e54.b025a3d43957ba97
+    761a32b951a96d0b.9fdba2b92b7d69e1.7de7abf8be27375b.77833250356c6d5c
+    7bfba145001efbba
+  after
+    6733fd0e3e38ed03.c62a6b7640013a46.59afa2990e47fe6d.6e8c31983cd6f722
+    fd66fb16ff11ee31.fc0d04a68c7074eb.2478e568fdb50513.cc97f6666f54a7bd
+    6733fd0ec62a6362.ff205de2fc0d04a6.59afa2996e8c3198.fdb505136f54a7bd
+    761a32b951a96d0b.9fdba2b92b7d69e1.7de7abf8be27375b.77833250356c6d5c
+    7bfba145001efbba
+
+VHADDPS_256(reg)
+  before
+    19daeb1f35faa25a.1134622b1981640f.c55d9f72b8329c8b.c3262590c942da55
+    ad6b0d4a718a9ceb.bbde9944701ccf07.f2acb5873d16448e.eacfa9981559d36e
+    93fc01324f5c2517.50e456ee73846c20.8413e16356b69f97.ceadb3fcbf79e0d1
+    27d8c5436cfc7b8a.ac1212173ec7f486.d5e01d72a09ee751.4b8dc0a8e2aebbab
+    3d3b4b889a022027
+  after
+    4f5c251773846c20.718a9ceb701ccf07.56b69f97ceadb3fc.f2acb587eacfa998
+    ad6b0d4a718a9ceb.bbde9944701ccf07.f2acb5873d16448e.eacfa9981559d36e
+    93fc01324f5c2517.50e456ee73846c20.8413e16356b69f97.ceadb3fcbf79e0d1
+    27d8c5436cfc7b8a.ac1212173ec7f486.d5e01d72a09ee751.4b8dc0a8e2aebbab
+    3d3b4b889a022027
+VHADDPS_256(mem)
+  before
+    8083d0890583cd72.c54a54e963f5d8f2.aa334aaaecf12664.435d6720b7585969
+    ef31cb953c3d7cb7.c89faa90d1d379f8.28157b93990cbde7.28d7bada3572308a
+    6810b99a5d3aea24.8e23c3a551229a4b.018220be6226743a.e19a120ab978aa61
+    c6ee14828489d3e2.72229c927f6f7695.1147b517624b078a.cbf26c1dddf4019a
+    402bc2803d7472e0
+  after
+    8083d0890583cd72.c54a54e963f5d8f2.aa334aaaecf12664.435d6720b7585969
+    ef31cb953c3d7cb7.c89faa90d1d379f8.28157b93990cbde7.28d7bada3572308a
+    0583ac7e63f5d8f2.ef31cb95d1d37a20.ecf12664435d671f.28157b933572308a
+    c6ee14828489d3e2.72229c927f6f7695.1147b517624b078a.cbf26c1dddf4019a
+    402bc2803d7472e0
+
+VHADDPS_256(reg)
+  before
+    9d91129e768438e0.e4955a3bcc33f220.d0e82fc5f8454a82.3330b68ab6853402
+    3e6f57e223ae9046.a0d207b051460407.04c07aa8583152bf.4508a00379e2b5cf
+    80128ebae080b6bd.d57195cd30cdc5c6.69f779a93abecaf8.219dee6fc86e471d
+    bdc7b1914b86e6f1.5e3e827e85d4f187.5dda26333a78edd8.a5b91cb8be34a617
+    ac29a6cc78408dea
+  after
+    e080b6bdd57195cd.3e6f57e251460407.69f779a9c86e471d.583152bf79e2b5cf
+    3e6f57e223ae9046.a0d207b051460407.04c07aa8583152bf.4508a00379e2b5cf
+    80128ebae080b6bd.d57195cd30cdc5c6.69f779a93abecaf8.219dee6fc86e471d
+    bdc7b1914b86e6f1.5e3e827e85d4f187.5dda26333a78edd8.a5b91cb8be34a617
+    ac29a6cc78408dea
+VHADDPS_256(mem)
+  before
+    11b90895119ebac2.52d8bed3fd4a5b8f.190548af6b684377.3bb37fb2f5ebf80c
+    b235bf01a55be6ca.9b91b0ec945a5243.e091654cfe9478c1.5ecf7f9206a42740
+    696946fb5182d02f.f4408348ac4207b9.91b055415b644c92.2479223f0a2eb51f
+    1321196f311f321c.b9303454e08db59c.062c927b9de57a15.e8ff64259d16df56
+    05ab42b159e7e190
+  after
+    11b90895119ebac2.52d8bed3fd4a5b8f.190548af6b684377.3bb37fb2f5ebf80c
+    b235bf01a55be6ca.9b91b0ec945a5243.e091654cfe9478c1.5ecf7f9206a42740
+    122be1acfd4a5b8f.b235bf019b91b2a1.6b684377f5ebf80c.fe9478c15ecf7f92
+    1321196f311f321c.b9303454e08db59c.062c927b9de57a15.e8ff64259d16df56
+    05ab42b159e7e190
+
+VHADDPD_128(reg)
+  before
+    d9cbb64ddd2df77a.8d28b449603fc9be.46acbd7accc79a98.1dd29ae4e122bf77
+    bea9be67c2755cbf.b14b9475faed5140.f7011c280d7cef5a.b06ee86a4228d7e4
+    11925569a64a4d0c.5d5734df1c3685cf.287b4cc83f39f38e.9ccbf8f8dd027e87
+    2fd278c12538060d.6b161074e2252397.35664ac8fd89e0e0.beb74679cdbc6f8d
+    f0fc4fdb2e626722
+  after
+    0000000000000000.0000000000000000.287b4cc83f39f38e.f7011c280d7cef5a
+    bea9be67c2755cbf.b14b9475faed5140.f7011c280d7cef5a.b06ee86a4228d7e4
+    11925569a64a4d0c.5d5734df1c3685cf.287b4cc83f39f38e.9ccbf8f8dd027e87
+    2fd278c12538060d.6b161074e2252397.35664ac8fd89e0e0.beb74679cdbc6f8d
+    f0fc4fdb2e626722
+VHADDPD_128(mem)
+  before
+    0f678e091e012271.72b422dadaccc26d.b854a41e67c6e5c3.7a0e1093e3f8f4fa
+    f7c57fefb6a45ba6.38864e206291bed9.20df6ccac7258780.53be9c948e13688b
+    85df9e791458d0ef.db92faff581336fd.8081e5651f4fc6f9.1cc4e93999657b3d
+    9384689454283b75.b82522e358df6684.b2088ada8a505e5b.316af3eda17b67bd
+    edfdb61d41e069b6
+  after
+    0f678e091e012271.72b422dadaccc26d.b854a41e67c6e5c3.7a0e1093e3f8f4fa
+    f7c57fefb6a45ba6.38864e206291bed9.20df6ccac7258780.53be9c948e13688b
+    0000000000000000.0000000000000000.7a0e1093e3f8f4fa.53be9c948e13688b
+    9384689454283b75.b82522e358df6684.b2088ada8a505e5b.316af3eda17b67bd
+    edfdb61d41e069b6
+
+VHADDPD_128(reg)
+  before
+    aec92f331620bdd5.fe7f572a91205867.2c8bc038ff80891a.933ed71525320bd2
+    cf1a599cbbc89ec6.a29be928e74de5ef.9110d26ae982dc6d.fff048010b038989
+    ac3b30c5cd624934.5ba6997b73b99c39.440053e6b1729b26.d2ea5a8c59ce93ad
+    a07ab018e77dfacc.056ae40d50733973.a1a63f16f3db01f4.e8f887a12aa0e669
+    1de54d2d9a843eea
+  after
+    0000000000000000.0000000000000000.d2ea5a8c59ce93ad.fff848010b038989
+    cf1a599cbbc89ec6.a29be928e74de5ef.9110d26ae982dc6d.fff048010b038989
+    ac3b30c5cd624934.5ba6997b73b99c39.440053e6b1729b26.d2ea5a8c59ce93ad
+    a07ab018e77dfacc.056ae40d50733973.a1a63f16f3db01f4.e8f887a12aa0e669
+    1de54d2d9a843eea
+VHADDPD_128(mem)
+  before
+    4d7f281ac686565c.0921d603a6a2ed39.7cb444cc9b847ac6.045092684c494b81
+    54909255cab3ebea.417d9cf0a55f5d28.9c5037a370fa1961.c94849465749b579
+    0ee509cbc116b9c1.a6da004d803f8744.4109387ee9e1d36e.4cdb5f1eb1667b8a
+    574a0766c8bb7b0c.9284fd85d4cfa73a.47adc34925436419.e955d05bf52cd85d
+    fc029869c02809a1
+  after
+    4d7f281ac686565c.0921d603a6a2ed39.7cb444cc9b847ac6.045092684c494b81
+    54909255cab3ebea.417d9cf0a55f5d28.9c5037a370fa1961.c94849465749b579
+    0000000000000000.0000000000000000.7cb444cc9b847ac6.c94849465749b579
+    574a0766c8bb7b0c.9284fd85d4cfa73a.47adc34925436419.e955d05bf52cd85d
+    fc029869c02809a1
+
+VHADDPD_128(reg)
+  before
+    e12db4b4ade54a00.0b8b0a14f9aeeef8.63c790043d9af8b6.8a0655f03d2e878f
+    f4241ea859f0d726.06738ec073fcceb1.73efb336562cb763.e6e1685f4fadf9fc
+    9131d4b15fd4ebc1.23d00d5550b1d762.20476487bb1220ee.360a7a8277cd768c
+    14a1d13c5c1dc37a.406c05c1acd7c538.c41c9e6409d76f03.584d0646d099b96a
+    27768995771d80c2
+  after
+    0000000000000000.0000000000000000.360a7a8277cd768c.73efb336562cb763
+    f4241ea859f0d726.06738ec073fcceb1.73efb336562cb763.e6e1685f4fadf9fc
+    9131d4b15fd4ebc1.23d00d5550b1d762.20476487bb1220ee.360a7a8277cd768c
+    14a1d13c5c1dc37a.406c05c1acd7c538.c41c9e6409d76f03.584d0646d099b96a
+    27768995771d80c2
+VHADDPD_128(mem)
+  before
+    7f517d5d876685c1.d9c012b3eb579b00.3814f1efa47d535e.bdba5d37db07df4d
+    3ba960881c7f8493.3cda9183a80faefd.e7944dcb53ac3d01.656d9e6dce2fad78
+    394bad0454753b63.993b4c1930d0391d.28b89542d672414d.19815b737dda1532
+    5403e0bc4852645e.4b2e3ee01f27780d.d94c463e48da196d.364192b485945225
+    16fb3e9b81eaa1fd
+  after
+    7f517d5d876685c1.d9c012b3eb579b00.3814f1efa47d535e.bdba5d37db07df4d
+    3ba960881c7f8493.3cda9183a80faefd.e7944dcb53ac3d01.656d9e6dce2fad78
+    0000000000000000.0000000000000000.bdba5d37db07df4d.e7944dcb53a88933
+    5403e0bc4852645e.4b2e3ee01f27780d.d94c463e48da196d.364192b485945225
+    16fb3e9b81eaa1fd
+
+VHADDPD_256(reg)
+  before
+    16f95c960e673e67.679d759c1624bcb0.b0016344109fa679.d51bdbacc6f0828d
+    9288e610c797650f.50e5e990d9f7fe84.23feb8b09fc4010c.f7f3d0796bc138db
+    e6f4da75490751a0.e9a7b784aed6e806.007237926922c373.1d9ea18f5458f681
+    6e8933312f423fc7.10ae5b64b1cd3464.a2a9de550946285a.21e9cadc9cc17aab
+    e1a0c84b60097d86
+  after
+    e9a7b784aed6eaa1.50e5e990d9f7fe84.1d9ea18f5458f681.f7f3d0796bc138db
+    9288e610c797650f.50e5e990d9f7fe84.23feb8b09fc4010c.f7f3d0796bc138db
+    e6f4da75490751a0.e9a7b784aed6e806.007237926922c373.1d9ea18f5458f681
+    6e8933312f423fc7.10ae5b64b1cd3464.a2a9de550946285a.21e9cadc9cc17aab
+    e1a0c84b60097d86
+VHADDPD_256(mem)
+  before
+    378f16c7bb3bbe3e.8793edb015d46b2f.9fc8511dfce89ec8.67efa8661cbb6e6c
+    0181303ec964f7fe.8b5d055f984a1185.74bf1699ae34e45e.a98f922f3e0ecf56
+    1944929ba78ee5f3.d73575a8542f6c75.696024c5e0bcc053.c6d7961d09ca88c3
+    5ca2b9cb71c84448.c7653bf8e410b9aa.5b77f98eb18cefd3.1811b29d1c7bd460
+    fd8ae11910aef1d8
+  after
+    378f16c7bb3bbe3e.8793edb015d46b2f.9fc8511dfce89ec8.67efa8661cbb6e6c
+    0181303ec964f7fe.8b5d055f984a1185.74bf1699ae34e45e.a98f922f3e0ecf56
+    378f16c7bb3bbe3e.8b5d055f984a1185.67efa8661cbb6e6c.74bf1699ae34e45e
+    5ca2b9cb71c84448.c7653bf8e410b9aa.5b77f98eb18cefd3.1811b29d1c7bd460
+    fd8ae11910aef1d8
+
+VHADDPD_256(reg)
+  before
+    cf8e1fff83ee19d8.a76820b8411bcf2a.b73a52bce47733d1.27cf10df3ab12c09
+    ec6969b911c7880c.d462434f369544c5.0300b75ff1f21895.a736e6a39a363522
+    ae66b9b555c67c1f.c05c9e7d6a415d44.0603644ca70da2a3.b876f5c8ea28c449
+    72d30d5eec762fbe.4722ad2cf92cd6d4.1e8e57f1a0530ea7.375cbb39489295ab
+    feb5b3e2d0806674
+  after
+    c05c9e7d6a415d44.ec6969b911c7880c.b876f5c8ea28c449.a736e6a39a363522
+    ec6969b911c7880c.d462434f369544c5.0300b75ff1f21895.a736e6a39a363522
+    ae66b9b555c67c1f.c05c9e7d6a415d44.0603644ca70da2a3.b876f5c8ea28c449
+    72d30d5eec762fbe.4722ad2cf92cd6d4.1e8e57f1a0530ea7.375cbb39489295ab
+    feb5b3e2d0806674
+VHADDPD_256(mem)
+  before
+    ea4a59af9dfff1cf.95fa60207163de95.467fed4a00606ca1.a6ee8bb97b50974c
+    d7ea2a8dcb19f3e9.7128ae67801ac44f.9740d9c19aecdbd6.fa70fc10d1907a3e
+    a160a16677dd28ee.63a9f49fb6261f98.1732ed7fe4d9df9f.765ea66241a0f32b
+    24773a27bd544b09.c8c92d35af13291e.a21fa56ff9353429.7505861c640b3ebd
+    55b197a8d95e96a0
+  after
+    ea4a59af9dfff1cf.95fa60207163de95.467fed4a00606ca1.a6ee8bb97b50974c
+    d7ea2a8dcb19f3e9.7128ae67801ac44f.9740d9c19aecdbd6.fa70fc10d1907a3e
+    ea4a59af9dfff1cf.7128ae67801ac44f.467fed4a00606ca1.fa70fc10d1907a3e
+    24773a27bd544b09.c8c92d35af13291e.a21fa56ff9353429.7505861c640b3ebd
+    55b197a8d95e96a0
+
+VHADDPD_256(reg)
+  before
+    71add57339243981.3dfd71bdb88c1966.fad45493066e1f8a.14d37e7df60b95a0
+    24473cea22e9600c.c6bcc21384904e32.5616682757c23c8b.491cf295f668bf30
+    ccc9c978303a4aec.9c81aa143e6da599.38da625b3f9bbdcb.1dc57fa316576e04
+    c4807688fea131ce.9b18a3ae012edcc6.fc6d409d5986def6.6c99a09371e45d48
+    1265d252231c4929
+  after
+    ccc9c978303a4aec.c6bcc21384904e32.38da625b3f9bbdcb.5616682757c23c8b
+    24473cea22e9600c.c6bcc21384904e32.5616682757c23c8b.491cf295f668bf30
+    ccc9c978303a4aec.9c81aa143e6da599.38da625b3f9bbdcb.1dc57fa316576e04
+    c4807688fea131ce.9b18a3ae012edcc6.fc6d409d5986def6.6c99a09371e45d48
+    1265d252231c4929
+VHADDPD_256(mem)
+  before
+    ebf58fca490aeed3.67b8418829ad525e.9e4c2bcceadface6.fe1bfc57420edbba
+    d31555e9ffba0772.13bd25e34ce7e947.83ebbe5a148dd425.9a3094f795bfefc0
+    a6919f9960395131.22db1f0503dd3136.25bfd6449c430fae.2cf804e8ef2657b7
+    4035eac88892883c.f25d295aeb1a67d6.6095f1769d0d18ae.10bf4696ebce4f49
+    a2d0586d26441222
+  after
+    ebf58fca490aeed3.67b8418829ad525e.9e4c2bcceadface6.fe1bfc57420edbba
+    d31555e9ffba0772.13bd25e34ce7e947.83ebbe5a148dd425.9a3094f795bfefc0
+    ebf58fca490aeed3.d31555e9ffba0772.fe1bfc57420edbba.9a3094f795bfefc0
+    4035eac88892883c.f25d295aeb1a67d6.6095f1769d0d18ae.10bf4696ebce4f49
+    a2d0586d26441222
+
+VHSUBPS_128(reg)
+  before
+    3e7835da3b12deef.7cccb06194d168c0.dd91414e9f2bc7d4.103989dc34f8ab50
+    4004d947c7c7ed5c.38246f509f03ade9.41c1624dbc9b8ddb.11771d637c0f86c1
+    04be402165ec7b15.4f07a281c63312e2.783a88c4def6f498.3e1b26f5925e632d
+    e6f267d5b10fc6c5.9d42c5e0246d53d8.df48b01d9fc939b7.75f1218091f2ffbf
+    91c48bef95d616a4
+  after
+    0000000000000000.0000000000000000.f83a88c4be1b26f5.c1c189307c0f86c1
+    4004d947c7c7ed5c.38246f509f03ade9.41c1624dbc9b8ddb.11771d637c0f86c1
+    04be402165ec7b15.4f07a281c63312e2.783a88c4def6f498.3e1b26f5925e632d
+    e6f267d5b10fc6c5.9d42c5e0246d53d8.df48b01d9fc939b7.75f1218091f2ffbf
+    91c48bef95d616a4
+VHSUBPS_128(mem)
+  before
+    6e61df2dbb166307.41ee49cd48bb0818.fda15459d6be2ef7.d337d5c69e9f98e3
+    e79499281fbfa315.73fde277c67d7ebb.4defccd8f7315d6a.ae52f22974044cc9
+    da2936cbdcdc92f9.d76a2e3ec6df635a.68faa74aa4d29d5e.cde706b4c0859314
+    21ec30020e79ece0.c982298ee470f4a0.298c6399f8aeaafe.8c400ad21bada771
+    47aafbef2308c48c
+  after
+    6e61df2dbb166307.41ee49cd48bb0818.fda15459d6be2ef7.d337d5c69e9f98e3
+    e79499281fbfa315.73fde277c67d7ebb.4defccd8f7315d6a.ae52f22974044cc9
+    0000000000000000.0000000000000000.7da154595337d5c6.f7315d6a74044cc9
+    21ec30020e79ece0.c982298ee470f4a0.298c6399f8aeaafe.8c400ad21bada771
+    47aafbef2308c48c
+
+VHSUBPS_128(reg)
+  before
+    5b71d67774232710.9aa905b9d2a36cf6.a491d0d3bdb96d3a.6e727cb310d03f77
+    22e196d6a9890daa.1f2b30dc4365cf66.c6e31e79ec480ad4.11796c82074419f4
+    f94637785fc7af06.8e402d587eccd15d.8ac40fec0ea80619.f06ab1f4fa17f4a2
+    3cebb6c931674ccf.c1b279179ee22d07.4b7f9f98be669fb6.e514c6f404548cad
+    ce42276e41089c40
+  after
+    0000000000000000.0000000000000000.0ea8ca29fa17f493.ec480ad491796c76
+    22e196d6a9890daa.1f2b30dc4365cf66.c6e31e79ec480ad4.11796c82074419f4
+    f94637785fc7af06.8e402d587eccd15d.8ac40fec0ea80619.f06ab1f4fa17f4a2
+    3cebb6c931674ccf.c1b279179ee22d07.4b7f9f98be669fb6.e514c6f404548cad
+    ce42276e41089c40
+VHSUBPS_128(mem)
+  before
+    85bf504ece3ee188.471d0e36bbf71eb1.964e8f07c0b6a08f.6762cbe9990d0e56
+    e758be80c70217b1.76293a299a036259.e7e0eb12ff51e622.38b78e4c3a2992a6
+    d1daebf04760f9e6.255938106a165473.9133092678c1bbeb.1ccbe42b3e476551
+    1d0f558b6a654553.b0fa0456c6bc2faa.7115652e4611da17.6deac9f440f2c404
+    89603912ddb6eb6b
+  after
+    85bf504ece3ee188.471d0e36bbf71eb1.964e8f07c0b6a08f.6762cbe9990d0e56
+    e758be80c70217b1.76293a299a036259.e7e0eb12ff51e622.38b78e4c3a2992a6
+    0000000000000000.0000000000000000.c0b6a08fe762cbe9.ff51e6223a12a0dc
+    1d0f558b6a654553.b0fa0456c6bc2faa.7115652e4611da17.6deac9f440f2c404
+    89603912ddb6eb6b
+
+VHSUBPS_128(reg)
+  before
+    ca7931f1b0201531.a8c3783b4d1cb426.735798664a8130ab.61507c15864e00d1
+    8d80acfc56bb8003.4ec4ceee0b920588.cabef2ae93f29322.3eb1c9c95382e946
+    2fc3a6a16a13668d.ecddd58ec1d2f2a8.10790d993c9a93ba.e405c835c9bc50a2
+    0a8c1b4c88b4037a.5cd908098ae838b0.a3d6e593e2066e20.3015f5460605f310
+    fcb0cce6236b8cbd
+  after
+    0000000000000000.0000000000000000.3c9a93ba6405c835.4abef2ae5382e946
+    8d80acfc56bb8003.4ec4ceee0b920588.cabef2ae93f29322.3eb1c9c95382e946
+    2fc3a6a16a13668d.ecddd58ec1d2f2a8.10790d993c9a93ba.e405c835c9bc50a2
+    0a8c1b4c88b4037a.5cd908098ae838b0.a3d6e593e2066e20.3015f5460605f310
+    fcb0cce6236b8cbd
+VHSUBPS_128(mem)
+  before
+    25a1ca023ef9d7d4.7b2807674d2c9476.7b85e34a83e093cc.de1f770820c15eff
+    87b36a8772bc9182.dee3675f5504552e.25ade23dc7c7bf2a.1da1bd6493579f04
+    feb4285fdcbf77f3.900836a03bca824e.361d81ce73a877f3.bba7b514d6546fdb
+    666e8078980e4252.ebe570979b095782.8aa13de9a2907856.167f5a828645082f
+    8973a81c3eb5a7ad
+  after
+    25a1ca023ef9d7d4.7b2807674d2c9476.7b85e34a83e093cc.de1f770820c15eff
+    87b36a8772bc9182.dee3675f5504552e.25ade23dc7c7bf2a.1da1bd6493579f04
+    0000000000000000.0000000000000000.fb85e34a5e1f7708.c7c7bf2a9da1bd6b
+    666e8078980e4252.ebe570979b095782.8aa13de9a2907856.167f5a828645082f
+    8973a81c3eb5a7ad
+
+VHSUBPS_256(reg)
+  before
+    6fd19c4c9a318700.9baeefbcc1b6b1cc.4cc412ae124d0f75.fd04917a718a7d7d
+    26e331803744e5d5.7940f01973c27e8c.0ff316533b23e7d3.6b14f96dfba24494
+    09f66223b17afdd7.dcefff7acb3e66bf.90bc7af1b3161a4a.b09bf2ae5ce587c9
+    73562ea1a3600bb3.a08998cbe4362591.2b6c39f415b2e683.a866f62ab15e0345
+    2f4183cb16197337
+  after
+    b17afdd75cefff7a.3744e5d5f940d7c9.b3161a4a5ce587c9.3b23e7d3fba24494
+    26e331803744e5d5.7940f01973c27e8c.0ff316533b23e7d3.6b14f96dfba24494
+    09f66223b17afdd7.dcefff7acb3e66bf.90bc7af1b3161a4a.b09bf2ae5ce587c9
+    73562ea1a3600bb3.a08998cbe4362591.2b6c39f415b2e683.a866f62ab15e0345
+    2f4183cb16197337
+VHSUBPS_256(mem)
+  before
+    21f8147fa62394c9.c24f8e66a9814b15.a1d837f8dbb7762d.3c4e4fc8fe84852d
+    5a5625317d872227.502c80de6069f8a8.bba959edcbcd16c0.1fb0b9d9091734f2
+    b52933cdb851d97e.7a3afe7564a54f19.c9c87997d182c175.30dc7293d3f82e7e
+    103bb93e738e74fa.9dc6069750bf8b14.a90113e008e43279.cb207562f7b1b07e
+    4cc6c1b212d0f69e
+  after
+    21f8147fa62394c9.c24f8e66a9814b15.a1d837f8dbb7762d.3c4e4fc8fe84852d
+    5a5625317d872227.502c80de6069f8a8.bba959edcbcd16c0.1fb0b9d9091734f2
+    a62410d3424f8e66.7d8722276069f8a8.dbb7762dfe84852d.cbcd16c09fb0b9d9
+    103bb93e738e74fa.9dc6069750bf8b14.a90113e008e43279.cb207562f7b1b07e
+    4cc6c1b212d0f69e
+
+VHSUBPS_256(reg)
+  before
+    0f1b4ff0bfe13c8a.46593272c849b1c6.131a94b1c046e944.3620a3b58cff27f8
+    6f6b1c869a6fbded.334f1d55d68e490f.3a83a22d51c3a555.4cf1a6037add5a1d
+    ca0125e24006b773.b2e9f3d1b66afb01.6c4c2e799ec4fbf5.c63f97b5ee8c8714
+    7b2b656e4d3263c9.a1f332d387e881c7.06c333ff44d527cd.82d7f1b603186c0b
+    5b8533f4d58cc32c
+  after
+    4a0125eab6692719.ef6b1c86d68e490f.ec4c2e79ee8c8714.51c3a5557add5a1d
+    6f6b1c869a6fbded.334f1d55d68e490f.3a83a22d51c3a555.4cf1a6037add5a1d
+    ca0125e24006b773.b2e9f3d1b66afb01.6c4c2e799ec4fbf5.c63f97b5ee8c8714
+    7b2b656e4d3263c9.a1f332d387e881c7.06c333ff44d527cd.82d7f1b603186c0b
+    5b8533f4d58cc32c
+VHSUBPS_256(mem)
+  before
+    2c15d65a81f449a3.de33d8985c80009b.db3854476214988e.6432ad2dde80648c
+    d35358d4235cb99d.4e667bcb097cc894.3b86d71a66fbfc81.e3e7986e0953efdc
+    2a0b344ed6d1d146.29114973f1b0f861.9fa73736aca868cd.dd2cf12e60da036a
+    0f08e6b4b65e4bc9.ca7d3dfcafaaccae.e168ee895228999d.af4eb2d980a0dee1
+    b599d9db0431baee
+  after
+    2c15d65a81f449a3.de33d8985c80009b.db3854476214988e.6432ad2dde80648c
+    d35358d4235cb99d.4e667bcb097cc894.3b86d71a66fbfc81.e3e7986e0953efdc
+    ac15d65a5e43d8ab.535358d4ce667bcb.62149b6fe432bd3a.66fbfc8163e7986e
+    0f08e6b4b65e4bc9.ca7d3dfcafaaccae.e168ee895228999d.af4eb2d980a0dee1
+    b599d9db0431baee
+
+VHSUBPS_256(reg)
+  before
+    4b5862a08819d43c.5c18eaf3e00fe353.8cf956d2e0f57f26.df957afe74854b1f
+    cdd94794a9e56778.ef05bcf56ff15710.cdd08d611f1e4e76.73fa56812dcd3a7c
+    976686240320b04e.a29cd9a8800f612b.e74ddf1609b07549.7b62fefe990c21e2
+    054c19ba3156eb69.53a9bcf62e76bed0.38bd495b3937304c.d19bee61d54dbd7d
+    526fa396fd9cca79
+  after
+    17668624229cd9a8.4dd94794701a1ac5.674ddf16fb62fefe.4dd08d61f3fa5681
+    cdd94794a9e56778.ef05bcf56ff15710.cdd08d611f1e4e76.73fa56812dcd3a7c
+    976686240320b04e.a29cd9a8800f612b.e74ddf1609b07549.7b62fefe990c21e2
+    054c19ba3156eb69.53a9bcf62e76bed0.38bd495b3937304c.d19bee61d54dbd7d
+    526fa396fd9cca79
+VHSUBPS_256(mem)
+  before
+    dbab97892c050301.73d7ffc4cf145476.dcf7e1cd9631292d.1a6dc69e4c40ba2a
+    461b48267e952642.3d5331ac7ae52620.1a54c518d34c606b.eba75249dd555090
+    708b315a1057ec67.bf0cace0cd569e14.ea8ae2c201d31db9.05b7eaca89052e2a
+    36c7cf0ffd58149d.554e6dcb65f1f8fd.2667b6b93ed31c41.c6eb888cebd98fa3
+    888d2afba05fb0a8
+  after
+    dbab97892c050301.73d7ffc4cf145476.dcf7e1cd9631292d.1a6dc69e4c40ba2a
+    461b48267e952642.3d5331ac7ae52620.1a54c518d34c606b.eba75249dd555090
+    5bab9789f3d7ffc4.7e9526427ae52620.5cf7e1cd4c40ba2a.d34c606b6ba75249
+    36c7cf0ffd58149d.554e6dcb65f1f8fd.2667b6b93ed31c41.c6eb888cebd98fa3
+    888d2afba05fb0a8
+
+VHSUBPD_128(reg)
+  before
+    a8ebcb834323cde5.729a9d3362a3580f.5b646fd9de457089.abb5bce8a3571b2f
+    834f689070af2205.01d116b05b4475ea.2d9bae76d2db4161.5541703c4e6cd4b1
+    7306fb8ec491eab4.bf39b8740247275a.263f270ee041a834.00d64f9f5b1d04f1
+    d55c82e9db55629f.889cff6a75b92a8a.a49cd40da102e1ac.8842d3fee576671b
+    ca4f7a460883b85c
+  after
+    0000000000000000.0000000000000000.a63f270ee041a834.5541703c4e6cd4b1
+    834f689070af2205.01d116b05b4475ea.2d9bae76d2db4161.5541703c4e6cd4b1
+    7306fb8ec491eab4.bf39b8740247275a.263f270ee041a834.00d64f9f5b1d04f1
+    d55c82e9db55629f.889cff6a75b92a8a.a49cd40da102e1ac.8842d3fee576671b
+    ca4f7a460883b85c
+VHSUBPD_128(mem)
+  before
+    a0cbbf61e151b4e0.059df80e5085c672.38c7657ed0a639a7.02feb3e0b3ab2775
+    e7801f3d8bec17d2.60145967bfb051d9.ab85689c2e1811dc.9bb1bff1b2c7b73c
+    7b3b14c4235e9c5f.400fa162c55f417f.bda483b0ac1d6d56.cd00f4ae39e2cdad
+    38c81ce4c5b501b2.02d8cd69fd20d010.4aee32a765c00b41.f3394f81e588a473
+    68a6cbd851467a3b
+  after
+    a0cbbf61e151b4e0.059df80e5085c672.38c7657ed0a639a7.02feb3e0b3ab2775
+    e7801f3d8bec17d2.60145967bfb051d9.ab85689c2e1811dc.9bb1bff1b2c7b73c
+    0000000000000000.0000000000000000.b8c7657ed0a639a7.2b85689c2e1811dc
+    38c81ce4c5b501b2.02d8cd69fd20d010.4aee32a765c00b41.f3394f81e588a473
+    68a6cbd851467a3b
+
+VHSUBPD_128(reg)
+  before
+    8a94641e19a789b1.faf2b2888bfcfff8.02bcd8ea047e3a3a.2e30f26b760ea5c8
+    b34f16bfda380d80.9c87529c9440555c.9c07be507505bda6.45373de9fa12f818
+    4122dd2730844454.fc51790cf98cbe0c.2c057b07ed429303.6bcc910e0dd8bf5c
+    8e5bb6c2b61768db.f51da1c4d9ecf531.0e010b7b07c0f8fb.7cbe69c5cc6db7c1
+    54d841f952dc9c72
+  after
+    0000000000000000.0000000000000000.6bcc910e0dd8bf5c.45373de9fa12f818
+    b34f16bfda380d80.9c87529c9440555c.9c07be507505bda6.45373de9fa12f818
+    4122dd2730844454.fc51790cf98cbe0c.2c057b07ed429303.6bcc910e0dd8bf5c
+    8e5bb6c2b61768db.f51da1c4d9ecf531.0e010b7b07c0f8fb.7cbe69c5cc6db7c1
+    54d841f952dc9c72
+VHSUBPD_128(mem)
+  before
+    cfe59698bc312a9d.f8449bfc087eb6bf.63b748b14d6db6fa.9e496b18600b2a3a
+    c8b3e28d26791c6b.d92a8a41c34469ac.22ebe9bd731abf91.3827964a93b0636d
+    1d0ca3c4abbf300b.8f5a7ffd82f5bf4f.0e8501d567ffca22.38e8887e3c3ae040
+    a9bd5429670f1fa7.741d749de21ef254.02510ae6442994da.f9d83e1ef936dd5f
+    d943b297632f9574
+  after
+    cfe59698bc312a9d.f8449bfc087eb6bf.63b748b14d6db6fa.9e496b18600b2a3a
+    c8b3e28d26791c6b.d92a8a41c34469ac.22ebe9bd731abf91.3827964a93b0636d
+    0000000000000000.0000000000000000.e3b748b14d6db6fa.3827964a93b0636d
+    a9bd5429670f1fa7.741d749de21ef254.02510ae6442994da.f9d83e1ef936dd5f
+    d943b297632f9574
+
+VHSUBPD_128(reg)
+  before
+    3375e25618b1452e.479272a87776a86b.e5c2678b7f4a3e66.dc1a82db27a3d9e5
+    63b9c9c6b4482937.d556772ef6ff8584.3e945335f305e132.77ade49f2b7a546e
+    c55d6353d2817d3c.2ed7e1a501b6731e.dcde3406dddc1563.aed6ac206cb8c2a2
+    b4abad680ee77ce8.2ddf2bfab3a82e64.19ee066ad65a17a6.5f615649076bdfad
+    641a5f06179f67ba
+  after
+    0000000000000000.0000000000000000.5cde3406dddc1563.77ade49f2b7a546e
+    63b9c9c6b4482937.d556772ef6ff8584.3e945335f305e132.77ade49f2b7a546e
+    c55d6353d2817d3c.2ed7e1a501b6731e.dcde3406dddc1563.aed6ac206cb8c2a2
+    b4abad680ee77ce8.2ddf2bfab3a82e64.19ee066ad65a17a6.5f615649076bdfad
+    641a5f06179f67ba
+VHSUBPD_128(mem)
+  before
+    9bcd4243b95e15f6.8ef0a173050763e8.b03bd11a28e07183.520ec6cc7c0b23a7
+    de457bed09b7a68c.ae783ddf526c6ee8.91b850f07d6bf9a7.e38b6e9a6b7c7411
+    0b5086ee21b3d6a9.6f8e7c1992a2d893.ae1f2367ce5382fb.28b0fc403e384791
+    fcb8e03320606078.2f805a8b6036de95.e13fc56d36a7c8ab.7dcb6c2892cbd8d2
+    3f27b8bf02c26281
+  after
+    9bcd4243b95e15f6.8ef0a173050763e8.b03bd11a28e07183.520ec6cc7c0b23a7
+    de457bed09b7a68c.ae783ddf526c6ee8.91b850f07d6bf9a7.e38b6e9a6b7c7411
+    0000000000000000.0000000000000000.520ec6cc7c0b23a7.e38b6e9a6b7c7411
+    fcb8e03320606078.2f805a8b6036de95.e13fc56d36a7c8ab.7dcb6c2892cbd8d2
+    3f27b8bf02c26281
+
+VHSUBPD_256(reg)
+  before
+    c80fde712aa8234a.8f4a03a91fc90126.4898d4a259b3bc9c.08e3b5edd27086e5
+    75d0d9aba70a54d8.9ed26d3a3dfa75df.1824e5cb18a5ae52.fdd66cd3bdbc79d3
+    a1b6a5d8157234d8.061b9ad4930078ce.f96e89703a98ef63.9de6670b13965da1
+    aa0d3e630e6ffdf5.a4f3046240e6c520.49c3bcff5a19bc7c.c5dd2382f10aed7c
+    4f881b227225e790
+  after
+    21b6a5d8157234d8.f5d0d9aba70a54d8.796e89703a98ef63.fdd66cd3bdbc79d3
+    75d0d9aba70a54d8.9ed26d3a3dfa75df.1824e5cb18a5ae52.fdd66cd3bdbc79d3
+    a1b6a5d8157234d8.061b9ad4930078ce.f96e89703a98ef63.9de6670b13965da1
+    aa0d3e630e6ffdf5.a4f3046240e6c520.49c3bcff5a19bc7c.c5dd2382f10aed7c
+    4f881b227225e790
+VHSUBPD_256(mem)
+  before
+    18b2cbd8b3f30408.eb21a1ba318aeddc.522428d05db91901.626f7ae215b45149
+    fd29b091d07e0311.c03dc84818513d39.ed7c830a0884309c.a2bdc08706f3e975
+    d8b84437e3d49ed6.85afb1795f4f2cb7.52c590fc5d53c51d.63fb8959ca64c1ad
+    862a05b80b009284.96c157b9a311f403.5bcccc92773296b1.0273d1c4fc93159c
+    db729434380a21f0
+  after
+    18b2cbd8b3f30408.eb21a1ba318aeddc.522428d05db91901.626f7ae215b45149
+    fd29b091d07e0311.c03dc84818513d39.ed7c830a0884309c.a2bdc08706f3e975
+    eb21a1ba318aeddc.7d29b091d07e0311.626f7ae215b45149.6d7c830a0884309c
+    862a05b80b009284.96c157b9a311f403.5bcccc92773296b1.0273d1c4fc93159c
+    db729434380a21f0
+
+VHSUBPD_256(reg)
+  before
+    4b44cf151b572052.e34c6eff610f9b47.4fc0b7747f21d2c8.e55cb1b8722e5d84
+    ac357cd441064f70.cbeafcf8040c754a.0bf8cb16900e02b3.cc43bd5a6b53d6c2
+    5b9199db44a1eaf6.1ad0298f0d03dbba.28b5910b7161bf70.ec4b6b657eabbe96
+    b4a32298c3b62c90.acca73b09a008ac2.014304c0bfa846aa.214237c3c644d22c
+    47f29d625f29cbb1
+  after
+    db9199db44a1eaf6.cbeafcf8040c754a.ec4b6b657eabbe96.cc43bd5a6b53d6c2
+    ac357cd441064f70.cbeafcf8040c754a.0bf8cb16900e02b3.cc43bd5a6b53d6c2
+    5b9199db44a1eaf6.1ad0298f0d03dbba.28b5910b7161bf70.ec4b6b657eabbe96
+    b4a32298c3b62c90.acca73b09a008ac2.014304c0bfa846aa.214237c3c644d22c
+    47f29d625f29cbb1
+VHSUBPD_256(mem)
+  before
+    3a281a2d66676851.13b9117558d152e9.5da35547c7103d8f.f1ed219f156ed30d
+    d6b0280ff6096338.d51d63e09f7d98ad.09294b40af3fb24d.5600e2160f40a247
+    f75545f62c1b7991.541c154335463a89.8c26d1886f97a327.8bc945904aa9ee02
+    79e5edcd23aa6688.ed02220cb5b87329.c26764092226cd4a.eb9245796235f4ea
+    d4a7de3cf270f0ac
+  after
+    3a281a2d66676851.13b9117558d152e9.5da35547c7103d8f.f1ed219f156ed30d
+    d6b0280ff6096338.d51d63e09f7d98ad.09294b40af3fb24d.5600e2160f40a247
+    ba281a2d66676851.56b0280feeb06b10.f1ed219f156ed30d.5600e2160f40a247
+    79e5edcd23aa6688.ed02220cb5b87329.c26764092226cd4a.eb9245796235f4ea
+    d4a7de3cf270f0ac
+
+VHSUBPD_256(reg)
+  before
+    a0560c4796e71df4.382a9a80f8c1e54a.fc1b87a6bc608039.87b87fb1e4f7ebe1
+    adeacc05eb26b86d.10f1cafbc66cb303.ddb23e7de5c99d64.b7e59e6ad217ba19
+    55ae19e38db7fdc4.dd06f82baab88cde.ec1545fdcd7f0656.2eb93d220891f61e
+    f5efef4b172828a5.7a35a0fabfb02b08.858e97930f0ff6bc.c802d9c4a1715b1b
+    608aec3cb9c4a43d
+  after
+    dd06f82baab88cde.2deacc05eb26b86d.6c1545fdcd7f0656.5db23e7de5c99d64
+    adeacc05eb26b86d.10f1cafbc66cb303.ddb23e7de5c99d64.b7e59e6ad217ba19
+    55ae19e38db7fdc4.dd06f82baab88cde.ec1545fdcd7f0656.2eb93d220891f61e
+    f5efef4b172828a5.7a35a0fabfb02b08.858e97930f0ff6bc.c802d9c4a1715b1b
+    608aec3cb9c4a43d
+VHSUBPD_256(mem)
+  before
+    d41ef4766d958faf.eaf94aaa250574bb.c54a3e5622604ead.036a30a94704aa42
+    ff8a6c5ed8f0d59e.8e18266d54d81eb2.99114f29eed5aff8.c4f50cac12eb5e94
+    bc9ad1e017e23535.3e9880fe3f2f6238.d2554d613f1a0a16.237b28090c4f4d5c
+    e91a9de8457669a1.57c553cb83967bf6.4be3b6e9323b1d32.7c487e2ad0bcb449
+    2ba70c7dfbbecf05
+  after
+    d41ef4766d958faf.eaf94aaa250574bb.c54a3e5622604ead.036a30a94704aa42
+    ff8a6c5ed8f0d59e.8e18266d54d81eb2.99114f29eed5aff8.c4f50cac12eb5e94
+    eaf94aaa250574bb.7f8a6c5ed8f0d59e.454a3e5622604ead.c4f50cac12eb5e94
+    e91a9de8457669a1.57c553cb83967bf6.4be3b6e9323b1d32.7c487e2ad0bcb449
+    2ba70c7dfbbecf05
+
+VEXTRACTPS_0x0(reg)
+  before
+    8be6ce6d27e2d93d.61d54e637fb92e0e.33ea9b3fbb97a69b.e28705ace345a279
+    fa4fbe66f3b3109c.ff995f3be0b540a7.2f5454c584c01fd1.710db7986d435617
+    d32fdad4f9beaecf.a1304c5e85785a99.a74f7bcb799d2244.d6414698ec41f437
+    71d21d23d58eef82.216792b6890e3910.f8270bbc36b8eaa2.ebef30987d4c3a05
+    8ee2f0853b6fe2af
+  after
+    8be6ce6d27e2d93d.61d54e637fb92e0e.33ea9b3fbb97a69b.e28705ace345a279
+    fa4fbe66f3b3109c.ff995f3be0b540a7.2f5454c584c01fd1.710db7986d435617
+    d32fdad4f9beaecf.a1304c5e85785a99.a74f7bcb799d2244.d6414698ec41f437
+    71d21d23d58eef82.216792b6890e3910.f8270bbc36b8eaa2.ebef30987d4c3a05
+    000000006d435617
+VEXTRACTPS_0x0(mem)
+  before
+    99e8034943b7a85e.328483bf24af1160.5d0aab3108829937.7c280004599fb494
+    eacbe3d1b02e4a41.7190081481ae4e15.2fe515ba1fe0363b.909e56107bdebcc9
+    5b580e0a9fe38282.8944a98e8915e34f.75c34b3dea34cb47.90d4094a3a003eeb
+    ca5bffde2bdf0d4e.d8ea609ad7730bb8.0972caa6848b1588.d818161f329175a6
+    c4b478fcfe1d9ea8
+  after
+    99e8034943b7a85e.328483bf24af1160.5d0aab3108829937.7c2800047bdebcc9
+    eacbe3d1b02e4a41.7190081481ae4e15.2fe515ba1fe0363b.909e56107bdebcc9
+    5b580e0a9fe38282.8944a98e8915e34f.75c34b3dea34cb47.90d4094a3a003eeb
+    ca5bffde2bdf0d4e.d8ea609ad7730bb8.0972caa6848b1588.d818161f329175a6
+    c4b478fcfe1d9ea8
+
+VEXTRACTPS_0x0(reg)
+  before
+    b0f52b4b3a31f49a.119f323b7130a6d0.b8cf2ba2085104fc.c8bc0ce109f0d029
+    f8272b7a8358b52b.0df2230c8ce10b35.873f0614b73d08c8.8f6e8fda9670b757
+    f89675f4741e1b05.9b1e4f3d99fff6a8.9f86eb5b81c353c8.3854ce7d4715883e
+    0c8d0325aa1063d4.95f131bab3942356.5df0d8e3016d23a7.a03a45b736eefc09
+    a4ec71728204d2e5
+  after
+    b0f52b4b3a31f49a.119f323b7130a6d0.b8cf2ba2085104fc.c8bc0ce109f0d029
+    f8272b7a8358b52b.0df2230c8ce10b35.873f0614b73d08c8.8f6e8fda9670b757
+    f89675f4741e1b05.9b1e4f3d99fff6a8.9f86eb5b81c353c8.3854ce7d4715883e
+    0c8d0325aa1063d4.95f131bab3942356.5df0d8e3016d23a7.a03a45b736eefc09
+    000000009670b757
+VEXTRACTPS_0x0(mem)
+  before
+    1e35cc9c4565c4fd.8f5ad379c0b9c846.d835456ff7af506b.1ec8c717d3c9b212
+    ebe2d4209b1c8f7e.df47e15c53a68704.40b7074880593712.3c5bb76595633db4
+    e7c004e9a136ef94.57a1273afe62dcbd.a942f3316aa09578.14f6a139e0c5ff3a
+    ee99d9e572bea06a.53b4a37f5e79031b.f0a48616d28f26c8.03e382fd527d3650
+    636e571e86171ca1
+  after
+    1e35cc9c4565c4fd.8f5ad379c0b9c846.d835456ff7af506b.1ec8c71795633db4
+    ebe2d4209b1c8f7e.df47e15c53a68704.40b7074880593712.3c5bb76595633db4
+    e7c004e9a136ef94.57a1273afe62dcbd.a942f3316aa09578.14f6a139e0c5ff3a
+    ee99d9e572bea06a.53b4a37f5e79031b.f0a48616d28f26c8.03e382fd527d3650
+    636e571e86171ca1
+
+VEXTRACTPS_0x0(reg)
+  before
+    91e51b08191dedda.dc3acdff2ac05d2d.2ecc4f970e7737ca.efa73be4d333a52f
+    e993ca28a71de7a7.8d6e5e23e749e309.463429efabe9b677.83198e858a97cfd9
+    c7c361e8cba344b3.dd03073ec263ed28.f63a2df1d05bb9ce.88c4fbe713c760f1
+    87c2dab6213941aa.a8c3443ad91d39b9.9928550b1a577f7a.da75fff589d013a4
+    55f8159a08bca61d
+  after
+    91e51b08191dedda.dc3acdff2ac05d2d.2ecc4f970e7737ca.efa73be4d333a52f
+    e993ca28a71de7a7.8d6e5e23e749e309.463429efabe9b677.83198e858a97cfd9
+    c7c361e8cba344b3.dd03073ec263ed28.f63a2df1d05bb9ce.88c4fbe713c760f1
+    87c2dab6213941aa.a8c3443ad91d39b9.9928550b1a577f7a.da75fff589d013a4
+    000000008a97cfd9
+VEXTRACTPS_0x0(mem)
+  before
+    d518b9c4ad9ad289.85dc33fd466d1a39.ca7b9104488081e6.8d4b9fa8246b4228
+    36a3675e93735614.1d5d6729d5cb0a0c.1ff86b892a9a82dc.2cef06338a223f84
+    53639b54d755ece9.ab9172a66bde4ecf.83044db39b77f7c6.d460861ae909b239
+    0a25d293944c5235.8bc451e0a332222d.d26bb370b8219dd1.dfea1bc8ddabd6f3
+    abd8c2a90194e860
+  after
+    d518b9c4ad9ad289.85dc33fd466d1a39.ca7b9104488081e6.8d4b9fa88a223f84
+    36a3675e93735614.1d5d6729d5cb0a0c.1ff86b892a9a82dc.2cef06338a223f84
+    53639b54d755ece9.ab9172a66bde4ecf.83044db39b77f7c6.d460861ae909b239
+    0a25d293944c5235.8bc451e0a332222d.d26bb370b8219dd1.dfea1bc8ddabd6f3
+    abd8c2a90194e860
+
+VEXTRACTPS_0x1(reg)
+  before
+    92787629f151242a.36b58705e7624123.1941fe431a53c1d2.e8fb19aa9da63029
+    f21433b54a6dc6fd.b3df3697eba578e0.b156773b6bce696b.a17efb4f65126cf9
+    25f9f5b7a7740986.5d6f5b36bc21b198.af4db734322e54a4.d8c2d64a2c6f0c6e
+    8873b89da5f32a71.0f3173cc77e0a976.6f73bb9b0c00be28.6b9125870fcbceb3
+    35b864f229326bf5
+  after
+    92787629f151242a.36b58705e7624123.1941fe431a53c1d2.e8fb19aa9da63029
+    f21433b54a6dc6fd.b3df3697eba578e0.b156773b6bce696b.a17efb4f65126cf9
+    25f9f5b7a7740986.5d6f5b36bc21b198.af4db734322e54a4.d8c2d64a2c6f0c6e
+    8873b89da5f32a71.0f3173cc77e0a976.6f73bb9b0c00be28.6b9125870fcbceb3
+    00000000a17efb4f
+VEXTRACTPS_0x1(mem)
+  before
+    1203107797aea260.78ce79d1df756569.a7f0f94738f01ca6.4d147dda95cee5a4
+    dd3da303744d2d1f.4f5533c1f286f51b.007969921a5dc556.a57bfb5f682703c4
+    74349b80dd1bc95e.6a56e2d779b31832.f5983f98393261b0.d2f6309421945533
+    b1b273dced23324b.261b82811187085b.6419f747b27bace0.32cf18e75da3169e
+    2053b0c3b8df83b0
+  after
+    1203107797aea260.78ce79d1df756569.a7f0f94738f01ca6.4d147ddaa57bfb5f
+    dd3da303744d2d1f.4f5533c1f286f51b.007969921a5dc556.a57bfb5f682703c4
+    74349b80dd1bc95e.6a56e2d779b31832.f5983f98393261b0.d2f6309421945533
+    b1b273dced23324b.261b82811187085b.6419f747b27bace0.32cf18e75da3169e
+    2053b0c3b8df83b0
+
+VEXTRACTPS_0x1(reg)
+  before
+    f8cef294cdd5d816.7285a701c1712310.ddf1102a558e0142.28c80e8aa1446213
+    158cdcc63810517c.9177b4dd741159d9.ec24873ee2554092.1c71ff4d219a3e75
+    d5d969c5961c298d.ec55145b221090d3.af00e329536702f8.1edf467d4e88fd31
+    920196fd82859ef5.5dea4566e879842a.82d120574450801f.08e05f04451a5b74
+    b73ec6cf215d136a
+  after
+    f8cef294cdd5d816.7285a701c1712310.ddf1102a558e0142.28c80e8aa1446213
+    158cdcc63810517c.9177b4dd741159d9.ec24873ee2554092.1c71ff4d219a3e75
+    d5d969c5961c298d.ec55145b221090d3.af00e329536702f8.1edf467d4e88fd31
+    920196fd82859ef5.5dea4566e879842a.82d120574450801f.08e05f04451a5b74
+    000000001c71ff4d
+VEXTRACTPS_0x1(mem)
+  before
+    08c6f8cbff5ce23e.aa4f5ddb99d8e962.c204c2ece258f009.c1e23a35539df9b4
+    d54470e2fa24841c.7710bcc976a1497e.f56d08d82bba919d.c8812e2d19d9a763
+    fc83aa022fc0b532.5790ae35b66af8f5.d4f39117dfaa2311.f3f8f7ad3491c7d7
+    57512316b93c30aa.a41b2f89f4c13374.3960db931b356193.9e94911f3f4f95bd
+    25a1f8f1d7a14cc0
+  after
+    08c6f8cbff5ce23e.aa4f5ddb99d8e962.c204c2ece258f009.c1e23a35c8812e2d
+    d54470e2fa24841c.7710bcc976a1497e.f56d08d82bba919d.c8812e2d19d9a763
+    fc83aa022fc0b532.5790ae35b66af8f5.d4f39117dfaa2311.f3f8f7ad3491c7d7
+    57512316b93c30aa.a41b2f89f4c13374.3960db931b356193.9e94911f3f4f95bd
+    25a1f8f1d7a14cc0
+
+VEXTRACTPS_0x1(reg)
+  before
+    e46a298e9813298d.c378550ab5a4b2b0.bcfd3c33cd3136a7.01816139fb66094c
+    373d1e611d3068d0.1cc6beca3e05f771.f982cf9edc473c39.08219ff59a49d46a
+    7a64d5d802844434.3f05d942706aba19.b8f5e636bd8e83d7.2b0e12b414ea8119
+    082d4a5ee49bfb66.0602225e68e0b9d3.56a47c670d92452c.441334618656ca85
+    30fb83e70b986cd9
+  after
+    e46a298e9813298d.c378550ab5a4b2b0.bcfd3c33cd3136a7.01816139fb66094c
+    373d1e611d3068d0.1cc6beca3e05f771.f982cf9edc473c39.08219ff59a49d46a
+    7a64d5d802844434.3f05d942706aba19.b8f5e636bd8e83d7.2b0e12b414ea8119
+    082d4a5ee49bfb66.0602225e68e0b9d3.56a47c670d92452c.441334618656ca85
+    0000000008219ff5
+VEXTRACTPS_0x1(mem)
+  before
+    cb937a34c0bd2341.3fe277605e02c711.4e88160a4272adcc.2dd98d9d68e0bee5
+    f1a79533c0d0abeb.7ad05a480d44e4e2.f3652f32192c552f.9ae1164469032bae
+    7e0351d028ddbf00.1542ed838cee9085.d163ebc3091a6b29.fa0812c8ac87c832
+    4e7329f713f11caf.6b862f7e778b05a5.c450c5a72f49ade6.a7997d96cef9d11e
+    fee253186be4821e
+  after
+    cb937a34c0bd2341.3fe277605e02c711.4e88160a4272adcc.2dd98d9d9ae11644
+    f1a79533c0d0abeb.7ad05a480d44e4e2.f3652f32192c552f.9ae1164469032bae
+    7e0351d028ddbf00.1542ed838cee9085.d163ebc3091a6b29.fa0812c8ac87c832
+    4e7329f713f11caf.6b862f7e778b05a5.c450c5a72f49ade6.a7997d96cef9d11e
+    fee253186be4821e
+
+VEXTRACTPS_0x2(reg)
+  before
+    5b2d90bc1ed516dd.3dc299949d177d22.dae719a36ca780ee.a8f63acca6c5d491
+    1ac831ec8356ca07.27be1d93e45ba085.bdb0a86004cf3c0e.5922c41d8b989f57
+    97fd311637f5d949.e83131e101c93f05.6f2ed91fdd8d76af.b3a0e186fad0c863
+    2e198ca5d53e814f.5ce85268126e17ce.4eada74e93706a7d.923b0cf20d780ce2
+    d2c1c14fe39d2700
+  after
+    5b2d90bc1ed516dd.3dc299949d177d22.dae719a36ca780ee.a8f63acca6c5d491
+    1ac831ec8356ca07.27be1d93e45ba085.bdb0a86004cf3c0e.5922c41d8b989f57
+    97fd311637f5d949.e83131e101c93f05.6f2ed91fdd8d76af.b3a0e186fad0c863
+    2e198ca5d53e814f.5ce85268126e17ce.4eada74e93706a7d.923b0cf20d780ce2
+    0000000004cf3c0e
+VEXTRACTPS_0x2(mem)
+  before
+    4ffc7d88954ad4e8.3b673e05fabcfcc5.5faffb163356e30c.b4790e58c1015425
+    e5b9ba8a428bd0c7.1a3543a241fb8756.cd52a8d57f8b60ea.ffde0aa903ce7053
+    70c4f63f036dd7c8.27cd98e847875dae.829cd593121b4a94.892798adf662f9b2
+    cbe9ac94f6fba418.be7d3843a7edbb7a.5a5bfe3b09125d37.b0a2b3d0364a2cef
+    ce99577f5d1144b5
+  after
+    4ffc7d88954ad4e8.3b673e05fabcfcc5.5faffb163356e30c.b4790e587f8b60ea
+    e5b9ba8a428bd0c7.1a3543a241fb8756.cd52a8d57f8b60ea.ffde0aa903ce7053
+    70c4f63f036dd7c8.27cd98e847875dae.829cd593121b4a94.892798adf662f9b2
+    cbe9ac94f6fba418.be7d3843a7edbb7a.5a5bfe3b09125d37.b0a2b3d0364a2cef
+    ce99577f5d1144b5
+
+VEXTRACTPS_0x2(reg)
+  before
+    405980240a437eb2.d4f459763741f5e2.3b8f1f20fdb8dd66.3059a0b97f7a54ff
+    632e2b2cd76d168f.66b177cfe14c8453.fa5049e9e675ff1d.e26336f99161ed17
+    91645204601a48fa.5deb848d11270d97.570cb30bfeae5c4c.4b453ce75ad3e1ac
+    2746f31742d6509f.946ffb9be2de4eda.ad0e58f3e0f2319f.47cb2e6ff7daefea
+    b1c1897d8385d1fc
+  after
+    405980240a437eb2.d4f459763741f5e2.3b8f1f20fdb8dd66.3059a0b97f7a54ff
+    632e2b2cd76d168f.66b177cfe14c8453.fa5049e9e675ff1d.e26336f99161ed17
+    91645204601a48fa.5deb848d11270d97.570cb30bfeae5c4c.4b453ce75ad3e1ac
+    2746f31742d6509f.946ffb9be2de4eda.ad0e58f3e0f2319f.47cb2e6ff7daefea
+    00000000e675ff1d
+VEXTRACTPS_0x2(mem)
+  before
+    67f2c8fe1bdd440f.822209d0182e692a.e90958e5707e0146.5aa4340c28cabac1
+    432c67dcdaf0044e.fc42919d7eadd046.37851856d812e30a.b91843c273c4335f
+    2339e205ddc9cce6.f2f385e912dfc09f.59afb5dc35a7af50.26b881805d6bd724
+    e1e6b6633f745902.c081e3206d5177e3.2d53ad63a4472345.fcceebb4814ce3bd
+    99a77cc97bf293d6
+  after
+    67f2c8fe1bdd440f.822209d0182e692a.e90958e5707e0146.5aa4340cd812e30a
+    432c67dcdaf0044e.fc42919d7eadd046.37851856d812e30a.b91843c273c4335f
+    2339e205ddc9cce6.f2f385e912dfc09f.59afb5dc35a7af50.26b881805d6bd724
+    e1e6b6633f745902.c081e3206d5177e3.2d53ad63a4472345.fcceebb4814ce3bd
+    99a77cc97bf293d6
+
+VEXTRACTPS_0x2(reg)
+  before
+    588e302ce8e9221a.5bff5de41dfe67cf.c238a6ae2d8e2fbb.8d3c7bd54101f914
+    94d1034763bdcd35.6b5055739272b279.5463caffee2325d6.57389b1f26deedea
+    abbaf28789fbd0d5.efa419fcbaddf52b.d2504b804b9a94de.65118a2d72ecbdf2
+    f797f859f52f67a4.c1c9256bb249ed12.9849269be081b97f.9494c3ec3e362359
+    c18dc147a9c8dc4b
+  after
+    588e302ce8e9221a.5bff5de41dfe67cf.c238a6ae2d8e2fbb.8d3c7bd54101f914
+    94d1034763bdcd35.6b5055739272b279.5463caffee2325d6.57389b1f26deedea
+    abbaf28789fbd0d5.efa419fcbaddf52b.d2504b804b9a94de.65118a2d72ecbdf2
+    f797f859f52f67a4.c1c9256bb249ed12.9849269be081b97f.9494c3ec3e362359
+    00000000ee2325d6
+VEXTRACTPS_0x2(mem)
+  before
+    c6c70329ccafa3f3.d6b2112744e3cd4e.bf89f6ac96c4565a.029c56bd4a64d067
+    80100280c6f6367e.a258395f11a53f80.c3b107ab815aeb2e.6c93d75325ce153f
+    cc323c37b0aa4f18.b9d46c6bf900f9e6.aa0dd4558f166aba.327aa5c80c4bc3b6
+    84fb2b3aa8d6aaec.7574a7b99781362b.5069d994dd048c2c.b09fbd879b671776
+    424d1afe6faf4d2b
+  after
+    c6c70329ccafa3f3.d6b2112744e3cd4e.bf89f6ac96c4565a.029c56bd815aeb2e
+    80100280c6f6367e.a258395f11a53f80.c3b107ab815aeb2e.6c93d75325ce153f
+    cc323c37b0aa4f18.b9d46c6bf900f9e6.aa0dd4558f166aba.327aa5c80c4bc3b6
+    84fb2b3aa8d6aaec.7574a7b99781362b.5069d994dd048c2c.b09fbd879b671776
+    424d1afe6faf4d2b
+
+VEXTRACTPS_0x3(reg)
+  before
+    44cfb89823aea182.85354d75ca860526.3383e5b487b333fc.92919256863010ad
+    127293c154f14e27.abad1ed431c61af4.504c22c866222c04.4a507c85a7a7b06c
+    0882a7e59d0391c6.d32e1843f9a3a67f.261c5a61d05b5df0.5574120f5b752993
+    814bf1719b70a509.d786b9af3f2865f6.123f8aeb60e9016c.8fc7d0dfbfa4374f
+    d41632e0ee4296cb
+  after
+    44cfb89823aea182.85354d75ca860526.3383e5b487b333fc.92919256863010ad
+    127293c154f14e27.abad1ed431c61af4.504c22c866222c04.4a507c85a7a7b06c
+    0882a7e59d0391c6.d32e1843f9a3a67f.261c5a61d05b5df0.5574120f5b752993
+    814bf1719b70a509.d786b9af3f2865f6.123f8aeb60e9016c.8fc7d0dfbfa4374f
+    00000000504c22c8
+VEXTRACTPS_0x3(mem)
+  before
+    002db500055a0134.db196ccfe9c4c89f.947f7c021f621283.7001acd3b2585523
+    efd7d32b1ff935b5.7138146c248c3432.e6e7dd29b45c6a52.9daebe83633595c2
+    7ee20a4b592aed7b.9ef3e5b5e753266f.a98858111a222991.f391bb690f0bfcf5
+    8618d64dcef9e7b1.c098db15cfa6d901.b92f6aa56ec10a69.cff8a0ef5066c867
+    8d2d6783c5d333c4
+  after
+    002db500055a0134.db196ccfe9c4c89f.947f7c021f621283.7001acd3e6e7dd29
+    efd7d32b1ff935b5.7138146c248c3432.e6e7dd29b45c6a52.9daebe83633595c2
+    7ee20a4b592aed7b.9ef3e5b5e753266f.a98858111a222991.f391bb690f0bfcf5
+    8618d64dcef9e7b1.c098db15cfa6d901.b92f6aa56ec10a69.cff8a0ef5066c867
+    8d2d6783c5d333c4
+
+VEXTRACTPS_0x3(reg)
+  before
+    897d0e8f08dd79b9.e647b11d9a73dd85.3271f3f777108b95.f2a88ed1cb44cb09
+    1f349081b511d8f2.793919a8daa38c20.4fcb28c97b1d76d7.30be40814eb7259b
+    ab9ee9c469f98a1b.1bbb88d8aa95afb1.75f276f6785ad672.4f3ffca01227d74b
+    890616c4bf24cbdf.a8987c9b25560362.fe31daea0a52e912.2bf53e1d349f9b46
+    9fad83e1cf2b2fb8
+  after
+    897d0e8f08dd79b9.e647b11d9a73dd85.3271f3f777108b95.f2a88ed1cb44cb09
+    1f349081b511d8f2.793919a8daa38c20.4fcb28c97b1d76d7.30be40814eb7259b
+    ab9ee9c469f98a1b.1bbb88d8aa95afb1.75f276f6785ad672.4f3ffca01227d74b
+    890616c4bf24cbdf.a8987c9b25560362.fe31daea0a52e912.2bf53e1d349f9b46
+    000000004fcb28c9
+VEXTRACTPS_0x3(mem)
+  before
+    893346d900d84ccd.15ba12ed531bd9ea.fc9e71dc67f1445f.48d64e11cc91e965
+    c45303f1e2b1b1b0.ab04d9acc36ceee9.f397e1868d722ed5.ad2bd0d75aa41314
+    2cd9361692c2188d.a731676ba8a24788.69514a87b2e67cf0.8a7e5ba85115a2ce
+    9c915c322b183e91.658db897a0492072.399627caf358ecdc.3c19ebf14c73d43d
+    1d497d1ce847e30e
+  after
+    893346d900d84ccd.15ba12ed531bd9ea.fc9e71dc67f1445f.48d64e11f397e186
+    c45303f1e2b1b1b0.ab04d9acc36ceee9.f397e1868d722ed5.ad2bd0d75aa41314
+    2cd9361692c2188d.a731676ba8a24788.69514a87b2e67cf0.8a7e5ba85115a2ce
+    9c915c322b183e91.658db897a0492072.399627caf358ecdc.3c19ebf14c73d43d
+    1d497d1ce847e30e
+
+VEXTRACTPS_0x3(reg)
+  before
+    8a590b97c01f0bec.f246ef33c9bedfe8.4164c99d47eeb454.4133f43b6cd437c3
+    e09793cc71878a84.09c56d0489c0b6bd.960294e7381c40da.5cf42dc737671cd4
+    794d102996099a81.bcda5291872b803d.c2b217e30f6000af.65a44f58731c5539
+    b2c97f19cc337890.e95118c6de0af994.20c24efc69453080.3a11d5db39ff9f1f
+    b5053b3da71db6b1
+  after
+    8a590b97c01f0bec.f246ef33c9bedfe8.4164c99d47eeb454.4133f43b6cd437c3
+    e09793cc71878a84.09c56d0489c0b6bd.960294e7381c40da.5cf42dc737671cd4
+    794d102996099a81.bcda5291872b803d.c2b217e30f6000af.65a44f58731c5539
+    b2c97f19cc337890.e95118c6de0af994.20c24efc69453080.3a11d5db39ff9f1f
+    00000000960294e7
+VEXTRACTPS_0x3(mem)
+  before
+    b44efd68d981551c.e755da08ae91605d.6bf63d8faa69dded.0b7c339ee2570bf8
+    12b6974aea37398c.743e1f62d9ae8d93.1d953bd80855e774.e12dc4351523cec4
+    aa0a86cef74c1e2c.b6d04993e8163cdf.ddf9908d13d9d457.fd21fc2d9e33b590
+    591545e01bcbc028.075654077755a9ec.85f0b89ae80260c0.baa4d7f21a16fb07
+    760151f02455ddd5
+  after
+    b44efd68d981551c.e755da08ae91605d.6bf63d8faa69dded.0b7c339e1d953bd8
+    12b6974aea37398c.743e1f62d9ae8d93.1d953bd80855e774.e12dc4351523cec4
+    aa0a86cef74c1e2c.b6d04993e8163cdf.ddf9908d13d9d457.fd21fc2d9e33b590
+    591545e01bcbc028.075654077755a9ec.85f0b89ae80260c0.baa4d7f21a16fb07
+    760151f02455ddd5
+
+VLDDQU_128(reg)
+  before
+    8c866693597e97a8.fca5506c72c1daae.c41e3d2a23f80f67.f3442deca2da46db
+    577d1348541c642a.6d84235e193829e7.4972fe69888aabfc.01c26d6d5e7043d5
+    34335379b2bc8207.8a803ba22c3f6902.f29f952e4197b956.8c36f30b37cd13da
+    80f422940ee92bec.2d631324c6df5529.1bf1fde7eaac7522.716b3bb04aff7215
+    8a2fc14ab2111bb3
+  after
+    8c866693597e97a8.fca5506c72c1daae.c41e3d2a23f80f67.f3442deca2da46db
+    577d1348541c642a.6d84235e193829e7.4972fe69888aabfc.01c26d6d5e7043d5
+    34335379b2bc8207.8a803ba22c3f6902.f29f952e4197b956.8c36f30b37cd13da
+    80f422940ee92bec.2d631324c6df5529.1bf1fde7eaac7522.716b3bb04aff7215
+    8a2fc14ab2111bb3
+VLDDQU_128(mem)
+  before
+    b44c02c48c0fcbdf.950c7d04052f9b85.33fa27d00326ab89.20b432ff20541a0b
+    cc90790af3063ec6.d1c65e35321b107d.7911f393001f244d.5d3431e17f1ce6be
+    acc5a20804022f94.8e70c3923138c481.d973f357d8d77fa2.2dbcf5fba18e12e7
+    31b8f9aada0d5c74.2954a7899f12f43c.30eea40aa85876b3.ee9a7ab82539dd31
+    fb18bc84a4a68149
+  after
+    b44c02c48c0fcbdf.950c7d04052f9b85.33fa27d00326ab89.20b432ff20541a0b
+    0000000000000000.0000000000000000.8533fa27d00326ab.8920b432ff20541a
+    acc5a20804022f94.8e70c3923138c481.d973f357d8d77fa2.2dbcf5fba18e12e7
+    31b8f9aada0d5c74.2954a7899f12f43c.30eea40aa85876b3.ee9a7ab82539dd31
+    fb18bc84a4a68149
+
+VLDDQU_128(reg)
+  before
+    b083b7cbbd633bda.3734fbdc91357e93.ffbf07861836dc5b.5a4c81968bb1c6ad
+    692768fa09fb4791.9a07228b4685541d.6afdddf3372fb78a.335a06e99eeb2bbc
+    8150ca7b27fbe019.36fbeca1150a983d.c75a273d9889c274.97e4afeefc14610b
+    564ad9bbb0ee4320.e7ded40c18cf081f.7222e0d0d8d139c6.62b6f991c23723c7
+    719c5ebe0b612e1b
+  after
+    b083b7cbbd633bda.3734fbdc91357e93.ffbf07861836dc5b.5a4c81968bb1c6ad
+    692768fa09fb4791.9a07228b4685541d.6afdddf3372fb78a.335a06e99eeb2bbc
+    8150ca7b27fbe019.36fbeca1150a983d.c75a273d9889c274.97e4afeefc14610b
+    564ad9bbb0ee4320.e7ded40c18cf081f.7222e0d0d8d139c6.62b6f991c23723c7
+    719c5ebe0b612e1b
+VLDDQU_128(mem)
+  before
+    9e615c61f49d3d34.436091274260ac4f.897a57b66ee05df0.c8a104199392572b
+    c6d36e6798f70e3e.a3dfee2979dd5755.f89cef8d314956dc.23228f8263585950
+    c5bc11ba137c5b64.d414ed2ff0f27fdc.10101a7c7d17ad0e.e0f27e79e7b07be1
+    76e9bf478237e1d3.304989a4442a6190.ada1536f6f561fb3.5b5dcc69b925f989
+    f0af75be75440ef5
+  after
+    9e615c61f49d3d34.436091274260ac4f.897a57b66ee05df0.c8a104199392572b
+    0000000000000000.0000000000000000.4f897a57b66ee05d.f0c8a10419939257
+    c5bc11ba137c5b64.d414ed2ff0f27fdc.10101a7c7d17ad0e.e0f27e79e7b07be1
+    76e9bf478237e1d3.304989a4442a6190.ada1536f6f561fb3.5b5dcc69b925f989
+    f0af75be75440ef5
+
+VLDDQU_128(reg)
+  before
+    fb3475e4b897f7d0.b726f6fb01345bb6.15cabef41012391e.ab1d1652221068f7
+    d838c9471dacf0c7.633f31c0ab80863a.dde5898bf0354232.e64ee011b3534305
+    e3066b53400f3586.5600ed849c261e8b.e6e5e4d5811fb977.3a012b983d2b6d0a
+    78eb5974bf4b01b8.6c34a432f132dfd4.8a15cd3e5e5dda9a.830375d3dda2a231
+    9d1d39aeaec69da7
+  after
+    fb3475e4b897f7d0.b726f6fb01345bb6.15cabef41012391e.ab1d1652221068f7
+    d838c9471dacf0c7.633f31c0ab80863a.dde5898bf0354232.e64ee011b3534305
+    e3066b53400f3586.5600ed849c261e8b.e6e5e4d5811fb977.3a012b983d2b6d0a
+    78eb5974bf4b01b8.6c34a432f132dfd4.8a15cd3e5e5dda9a.830375d3dda2a231
+    9d1d39aeaec69da7
+VLDDQU_128(mem)
+  before
+    631ef316cca31c98.f3338e1633ec910a.81a8d4b6c6b18441.27c23f32247ae146
+    b3d120f55443d92f.af2a07a63a7e2027.7028f8fc35aecb00.1738361e6f020928
+    68013b3962b49099.0a1cbe8e708eecbc.17808cf05d356d3b.b7c3af6cd9828fec
+    5d7bc0cd1102ff01.5f55b13c70a72f75.517c0c7e5853291e.64afa48a0185af3d
+    784813e28097a4c8
+  after
+    631ef316cca31c98.f3338e1633ec910a.81a8d4b6c6b18441.27c23f32247ae146
+    0000000000000000.0000000000000000.0a81a8d4b6c6b184.4127c23f32247ae1
+    68013b3962b49099.0a1cbe8e708eecbc.17808cf05d356d3b.b7c3af6cd9828fec
+    5d7bc0cd1102ff01.5f55b13c70a72f75.517c0c7e5853291e.64afa48a0185af3d
+    784813e28097a4c8
+
+VLDDQU_256(reg)
+  before
+    50d9f7e2f545ab39.700c2b9d7d37e094.0a21db1ad65626fd.f9e8f5924213b9d6
+    48af4df5f91a003b.7c7df895c362f07d.67cb38963f260c01.ed90c2193781da8f
+    bd170f872ba2df7a.5c9da4a1ff8ceae9.d1a0c51b47a31f2c.083feffd55aa4874
+    095b3b04246a83a4.ee37aaad4cc38c04.a6ec7c158959992b.25c2f82cb599beb2
+    22e55991755af975
+  after
+    50d9f7e2f545ab39.700c2b9d7d37e094.0a21db1ad65626fd.f9e8f5924213b9d6
+    48af4df5f91a003b.7c7df895c362f07d.67cb38963f260c01.ed90c2193781da8f
+    bd170f872ba2df7a.5c9da4a1ff8ceae9.d1a0c51b47a31f2c.083feffd55aa4874
+    095b3b04246a83a4.ee37aaad4cc38c04.a6ec7c158959992b.25c2f82cb599beb2
+    22e55991755af975
+VLDDQU_256(mem)
+  before
+    d9748f17b1fab5e8.89c7ccd882fd2962.0c1686a5c61290f9.41fb5bf0a1d5b6a9
+    283b15ac8484ae37.99a9be6fe1e70d63.9408b4758a85b2f5.fd195d182ca3b454
+    e905673b0b059f90.954c0e35dcb56b51.60d7b10ab329b024.38917ff9c54dcdd5
+    f9a001b06188451d.d9fbb6970ff27ed8.4e50f74e5e0944b1.4cb1bb0009613edb
+    97c30f97936a420f
+  after
+    d9748f17b1fab5e8.89c7ccd882fd2962.0c1686a5c61290f9.41fb5bf0a1d5b6a9
+    54d9748f17b1fab5.e889c7ccd882fd29.620c1686a5c61290.f941fb5bf0a1d5b6
+    e905673b0b059f90.954c0e35dcb56b51.60d7b10ab329b024.38917ff9c54dcdd5
+    f9a001b06188451d.d9fbb6970ff27ed8.4e50f74e5e0944b1.4cb1bb0009613edb
+    97c30f97936a420f
+
+VLDDQU_256(reg)
+  before
+    7314762c00f51720.35d660f7a2195c0a.c103b4ff172b83a6.383f042fa6322bc9
+    3ef0ec29eb8df7b8.7774fffcebc49f84.a9b003db90eab564.fb6f5397a8ae2097
+    52a36dfcf0be1e84.9c465aac5796ccb7.ed4ea09515be52c1.74ae61747f8ce148
+    0d79f610ad15ca2f.8118edf1039a9cce.e929859b42309467.7dc6a8b148d52807
+    f385a63a1e97b101
+  after
+    7314762c00f51720.35d660f7a2195c0a.c103b4ff172b83a6.383f042fa6322bc9
+    3ef0ec29eb8df7b8.7774fffcebc49f84.a9b003db90eab564.fb6f5397a8ae2097
+    52a36dfcf0be1e84.9c465aac5796ccb7.ed4ea09515be52c1.74ae61747f8ce148
+    0d79f610ad15ca2f.8118edf1039a9cce.e929859b42309467.7dc6a8b148d52807
+    f385a63a1e97b101
+VLDDQU_256(mem)
+  before
+    b2b5d6fb1ddd3a62.c9bd82d1bb1d3566.00b634b90bddcef6.f98cb058b4ceb802
+    9723b4e062b47d55.e3bc0dabb8629cd4.f6ebacee896a1c5a.79c51c380623f93f
+    7c9abdd509273707.b8c3930a40713a26.3f85d07e9c4d4327.c41ec5a7d5bc94ca
+    3ee86cc72d4224a3.a21c115aeed54d08.b74e1c545d92ff89.38e4a711bc23c54e
+    3063bfe258e7c878
+  after
+    b2b5d6fb1ddd3a62.c9bd82d1bb1d3566.00b634b90bddcef6.f98cb058b4ceb802
+    3fb2b5d6fb1ddd3a.62c9bd82d1bb1d35.6600b634b90bddce.f6f98cb058b4ceb8
+    7c9abdd509273707.b8c3930a40713a26.3f85d07e9c4d4327.c41ec5a7d5bc94ca
+    3ee86cc72d4224a3.a21c115aeed54d08.b74e1c545d92ff89.38e4a711bc23c54e
+    3063bfe258e7c878
+
+VLDDQU_256(reg)
+  before
+    08e708874491d8f4.b9d73ca0ea11ff56.fe1481075e1a0f25.3a130c5ceb460cab
+    1bbb7e6a1daf326d.c935ac4e5da1854c.28f6e17e2dcdbc2a.a5a01c825f7525ba
+    c72d1df97ecc1290.4acc35bba1fe72b0.7c102d29f67992c2.d2c0c9b2d72907e1
+    6787e29e0375b408.186954d5d33281af.56ac5f7656aacb9a.9e418ed86f706d4d
+    e5ede7e04255152a
+  after
+    08e708874491d8f4.b9d73ca0ea11ff56.fe1481075e1a0f25.3a130c5ceb460cab
+    1bbb7e6a1daf326d.c935ac4e5da1854c.28f6e17e2dcdbc2a.a5a01c825f7525ba
+    c72d1df97ecc1290.4acc35bba1fe72b0.7c102d29f67992c2.d2c0c9b2d72907e1
+    6787e29e0375b408.186954d5d33281af.56ac5f7656aacb9a.9e418ed86f706d4d
+    e5ede7e04255152a
+VLDDQU_256(mem)
+  before
+    839251b66de5b9a3.5616c7c749355382.0fd886870f4b6f74.131775cfe9eda45e
+    53fa46470b2b16e5.f226cadfec982ca9.0be446bd6f54f82c.0d9e69a249cd59b9
+    33f2447d3833e71b.9503e652872a7b2b.e85b1063125ad803.a18a395a15d72558
+    fe45c646110ae972.9df9188cb6787bb1.820761651168ca24.2b2ae163e69545e6
+    07c95b295b95f510
+  after
+    839251b66de5b9a3.5616c7c749355382.0fd886870f4b6f74.131775cfe9eda45e
+    b9839251b66de5b9.a35616c7c7493553.820fd886870f4b6f.74131775cfe9eda4
+    33f2447d3833e71b.9503e652872a7b2b.e85b1063125ad803.a18a395a15d72558
+    fe45c646110ae972.9df9188cb6787bb1.820761651168ca24.2b2ae163e69545e6
+    07c95b295b95f510
+
+VMAXPS_256(reg)
+  before
+    91b2a5180d637082.90c1488db2bbd816.64535af9160e69ea.b5b5b4af8b8a8cbc
+    2533ba9c9a8af4e7.c530473e35527032.485faa054376817f.5c32842d99cdd7f6
+    1e9696229e96bbec.79603e45b9dc6cf3.a367031cd83eff1f.554750cc593c6aff
+    da283514b413013c.871ba98e58648a84.d2b861aa71f21e74.7bc39176e7e3ff02
+    aa71c4195ecf532d
+  after
+    2533ba9c9a8af4e7.871ba98e58648a84.485faa0571f21e74.7bc3917699cdd7f6
+    2533ba9c9a8af4e7.c530473e35527032.485faa054376817f.5c32842d99cdd7f6
+    1e9696229e96bbec.79603e45b9dc6cf3.a367031cd83eff1f.554750cc593c6aff
+    da283514b413013c.871ba98e58648a84.d2b861aa71f21e74.7bc39176e7e3ff02
+    aa71c4195ecf532d
+VMAXPS_256(mem)
+  before
+    bd1c669fdb0b22a9.b43594df798e0484.cd2e04052ef68312.329ec11cab1c1b2b
+    9291f2f679a327a5.0808aef08892fe70.2665cb96589f16c8.1d651edc214a32ef
+    049de40954a41f4b.32ef7fb27dac2cab.6d8b7b2df16afdd4.f058735870089e6d
+    ee09b9c48919c6c7.8d340391f567c9e2.806e8eb61663f55f.08c5bffb33e09d50
+    bff6fb3107606845
+  after
+    bd1c669fdb0b22a9.b43594df798e0484.cd2e04052ef68312.329ec11cab1c1b2b
+    9291f2f679a327a5.0808aef08892fe70.2665cb96589f16c8.1d651edc214a32ef
+    9291f2f679a327a5.0808aef0798e0484.2665cb96589f16c8.329ec11c214a32ef
+    ee09b9c48919c6c7.8d340391f567c9e2.806e8eb61663f55f.08c5bffb33e09d50
+    bff6fb3107606845
+
+VMAXPS_256(reg)
+  before
+    7238246687143ef8.2ea4eb13330fd846.772436f88c4f12c0.3ad8821ee297ba98
+    7dd7370650865914.9e39f8e26f9010f4.4b0b1555dcf043f2.7697d34f711107a8
+    3c1f2f7dfd44f646.1c935b1d59aa2bfc.64359b1384d79823.1275fb37e1de99be
+    0b5c08372ada5139.828090b00b69e58b.20eec49f1e8f4c01.e83f78c14b082c04
+    d6c0c5d9cd9d7ca7
+  after
+    7dd7370650865914.828090b06f9010f4.4b0b15551e8f4c01.7697d34f711107a8
+    7dd7370650865914.9e39f8e26f9010f4.4b0b1555dcf043f2.7697d34f711107a8
+    3c1f2f7dfd44f646.1c935b1d59aa2bfc.64359b1384d79823.1275fb37e1de99be
+    0b5c08372ada5139.828090b00b69e58b.20eec49f1e8f4c01.e83f78c14b082c04
+    d6c0c5d9cd9d7ca7
+VMAXPS_256(mem)
+  before
+    b6c65e6b83a944d2.46d9bfa074d3a69a.aeca1488a4d8f9cd.da828c6346a59d35
+    651bbf63883741b2.49e44e2477bb3015.7a3e628f3e0324ed.ed3cf0cc99a4c46e
+    c08d65adf8532f72.70c7b330ce1e2c55.c3a8f6b3f5f62217.b769ea47b2180055
+    a1e6ca35f009c93f.17cfe92f1589d607.66d34cdee5beaf79.9255783e2e8e8b99
+    dc4c961fa891a2e4
+  after
+    b6c65e6b83a944d2.46d9bfa074d3a69a.aeca1488a4d8f9cd.da828c6346a59d35
+    651bbf63883741b2.49e44e2477bb3015.7a3e628f3e0324ed.ed3cf0cc99a4c46e
+    651bbf6383a944d2.49e44e2477bb3015.7a3e628f3e0324ed.da828c6346a59d35
+    a1e6ca35f009c93f.17cfe92f1589d607.66d34cdee5beaf79.9255783e2e8e8b99
+    dc4c961fa891a2e4
+
+VMAXPS_256(reg)
+  before
+    ef9a3e54bcad81e3.e5f36ce78b66cd45.9a48ed8ce98769d6.3d8de0fe2c66863c
+    288b6e4b086f6341.6980c7b0e675f4af.557db9b5e5a4226f.25a02ffee3fb648f
+    e46a216f256286ab.0758557a1d43fdaa.a4bc4b15a66d3d7e.fbdab4ca2888059c
+    7d85532cb11223cc.9c4994334bdba262.e34f9e18c86df5ae.9905eb4e1719248f
+    dcee5076cbba7f96
+  after
+    7d85532c086f6341.6980c7b04bdba262.557db9b5c86df5ae.25a02ffe1719248f
+    288b6e4b086f6341.6980c7b0e675f4af.557db9b5e5a4226f.25a02ffee3fb648f
+    e46a216f256286ab.0758557a1d43fdaa.a4bc4b15a66d3d7e.fbdab4ca2888059c
+    7d85532cb11223cc.9c4994334bdba262.e34f9e18c86df5ae.9905eb4e1719248f
+    dcee5076cbba7f96
+VMAXPS_256(mem)
+  before
+    a0605f2e6078cfdb.502600ee480c7951.041dfec68c49a002.6e84ae2ae53188ac
+    c1299563f35ed38a.ba9a242185dbc2e6.1ba1121efd9ab3b6.a0a577b79c443023
+    1b136dffa07945d0.152dbc32040b3b36.bea14929b9d897ab.d7fff62b863229c0
+    8bec63f082d4e2d9.be2bc38b622920ee.c7e920d2dc12070d.6ede26f34187b12e
+    c18d037969d0021a
+  after
+    a0605f2e6078cfdb.502600ee480c7951.041dfec68c49a002.6e84ae2ae53188ac
+    c1299563f35ed38a.ba9a242185dbc2e6.1ba1121efd9ab3b6.a0a577b79c443023
+    a0605f2e6078cfdb.502600ee480c7951.1ba1121e8c49a002.6e84ae2a9c443023
+    8bec63f082d4e2d9.be2bc38b622920ee.c7e920d2dc12070d.6ede26f34187b12e
+    c18d037969d0021a
+
+VMAXPD_128(reg)
+  before
+    2b5a892a99995930.eb7ef320b57b66d0.11df359a3ac0adb9.134514058451c008
+    0a8fb5736e6cf11c.18969a7d567b8de2.6a960fc9295c1d44.7e80a0aecaa37dc7
+    b87981bf83d70788.ee00d3f280df123a.259d4b86cb8aad3b.e46840bacc13fc76
+    9364eb7a7465d723.48871a6b50b3b205.9e3ee73bbad59849.21c77113a6aef742
+    116aada6737f2b57
+  after
+    0000000000000000.0000000000000000.6a960fc9295c1d44.7e80a0aecaa37dc7
+    0a8fb5736e6cf11c.18969a7d567b8de2.6a960fc9295c1d44.7e80a0aecaa37dc7
+    b87981bf83d70788.ee00d3f280df123a.259d4b86cb8aad3b.e46840bacc13fc76
+    9364eb7a7465d723.48871a6b50b3b205.9e3ee73bbad59849.21c77113a6aef742
+    116aada6737f2b57
+VMAXPD_128(mem)
+  before
+    8f1d72604f9253e0.f69cef0fdea39d97.04f9ebd4e104296e.32c6de5695c91c1b
+    79ac3b2c57f42c0a.3c6d87ec5d1c9591.fd20c21950dd32a3.3b812c42f5f3735c
+    aae384f5a7b07201.c222b07c8c5cfabc.0fca1c26b84a8acd.16bace6b79dedab9
+    fe8dcaa95ad2e1f0.e509672c07f009c5.16c174e73658ed1b.1ebfbe3dba178cde
+    b1dafa255629c676
+  after
+    8f1d72604f9253e0.f69cef0fdea39d97.04f9ebd4e104296e.32c6de5695c91c1b
+    79ac3b2c57f42c0a.3c6d87ec5d1c9591.fd20c21950dd32a3.3b812c42f5f3735c
+    0000000000000000.0000000000000000.04f9ebd4e104296e.3b812c42f5f3735c
+    fe8dcaa95ad2e1f0.e509672c07f009c5.16c174e73658ed1b.1ebfbe3dba178cde
+    b1dafa255629c676
+
+VMAXPD_128(reg)
+  before
+    2a587d8de9a0c42e.517788338c673404.ff6ca7666b63fd57.eed14649e51216b7
+    e58544e20e08c2b1.7e6d397f5a7a2968.6e986d975341131f.72c80e36e284c3cd
+    3ead499162eefbac.633b5c79df177949.8cd9b32c5c1787c9.8071499c48bbae8a
+    911c8a0480ddaccb.dbad6a0d384be3d3.b67b778f22709500.f397716533c2931a
+    a607047fc0a530a8
+  after
+    0000000000000000.0000000000000000.6e986d975341131f.72c80e36e284c3cd
+    e58544e20e08c2b1.7e6d397f5a7a2968.6e986d975341131f.72c80e36e284c3cd
+    3ead499162eefbac.633b5c79df177949.8cd9b32c5c1787c9.8071499c48bbae8a
+    911c8a0480ddaccb.dbad6a0d384be3d3.b67b778f22709500.f397716533c2931a
+    a607047fc0a530a8
+VMAXPD_128(mem)
+  before
+    778e7ed50b713f61.391d02a9046211b9.c18fe02880212131.49c9b42e3fd87971
+    41f659532f317d71.94fdadeb8b086623.f3ad3bb4d4a6f08f.9f11667452dc6ec8
+    df0b13e548f1a503.fd098836b05be6b4.4cd2f69f4fe40c1b.159d89ccf407b1b0
+    2f9b267773be7544.d08b8ef610e7ce19.a7cb8ed30ee930ff.07ba1aa4c3e57dd5
+    d1b413675b0310e4
+  after
+    778e7ed50b713f61.391d02a9046211b9.c18fe02880212131.49c9b42e3fd87971
+    41f659532f317d71.94fdadeb8b086623.f3ad3bb4d4a6f08f.9f11667452dc6ec8
+    0000000000000000.0000000000000000.c18fe02880212131.49c9b42e3fd87971
+    2f9b267773be7544.d08b8ef610e7ce19.a7cb8ed30ee930ff.07ba1aa4c3e57dd5
+    d1b413675b0310e4
+
+VMAXPD_128(reg)
+  before
+    d0d7728157eca489.0b7011f5cba3a75f.68d0ba9747395afd.e2647d3e2cc11967
+    5e6f325f542c7570.51584d4b6dadf781.23230a85f0dcc50e.d76941cac5778380
+    d8c7506bed50c144.db1d576674e623d5.5bd27a2ca75d4cf5.64a65565f6172a76
+    9a2cc712bee3c2b1.878cac30fd5ce588.6e2704f909472b61.63e635fadbadc974
+    b1f75d758f461da7
+  after
+    0000000000000000.0000000000000000.6e2704f909472b61.63e635fadbadc974
+    5e6f325f542c7570.51584d4b6dadf781.23230a85f0dcc50e.d76941cac5778380
+    d8c7506bed50c144.db1d576674e623d5.5bd27a2ca75d4cf5.64a65565f6172a76
+    9a2cc712bee3c2b1.878cac30fd5ce588.6e2704f909472b61.63e635fadbadc974
+    b1f75d758f461da7
+VMAXPD_128(mem)
+  before
+    2ba349c22eede23b.00eb92c16472b564.2f71c797231bfac6.b670a656b1269efb
+    abb776ced5afd35b.664eb0e27b87d609.b0982486032e1dba.91f75bb03c87e072
+    0eff5f83a096ae33.28a21ae39db0604c.e7cc3fe8b8a10c91.59091f7445f52e70
+    314780ceaab12cf0.a132cd2f697990d8.aeda95ab5f808177.6cf2ef0d68fcc4a2
+    24fdc5e74229ddb3
+  after
+    2ba349c22eede23b.00eb92c16472b564.2f71c797231bfac6.b670a656b1269efb
+    abb776ced5afd35b.664eb0e27b87d609.b0982486032e1dba.91f75bb03c87e072
+    0000000000000000.0000000000000000.2f71c797231bfac6.91f75bb03c87e072
+    314780ceaab12cf0.a132cd2f697990d8.aeda95ab5f808177.6cf2ef0d68fcc4a2
+    24fdc5e74229ddb3
+
+VMAXPD_256(reg)
+  before
+    df789f6e6f07b650.ee5b569c0f090cbe.2f4cc632796da259.e28fa1ba13d83897
+    f7ad780d8a228b24.22065bd7ecac08c9.2d3a00586918d27c.5fb5df01f1b4ef1d
+    c9e94c33300798dc.a9160d6d5ca5dd3c.f749770dd6065bed.0219cb6c14216036
+    b1781849fc411824.5f55e7497c014743.e9c628bd5bc47a57.a586e2e8982a480e
+    25ca9e5f9adb63d1
+  after
+    b1781849fc411824.5f55e7497c014743.2d3a00586918d27c.5fb5df01f1b4ef1d
+    f7ad780d8a228b24.22065bd7ecac08c9.2d3a00586918d27c.5fb5df01f1b4ef1d
+    c9e94c33300798dc.a9160d6d5ca5dd3c.f749770dd6065bed.0219cb6c14216036
+    b1781849fc411824.5f55e7497c014743.e9c628bd5bc47a57.a586e2e8982a480e
+    25ca9e5f9adb63d1
+VMAXPD_256(mem)
+  before
+    5eb07dbe36416caa.0ca6d7bc8a5c48a7.2190665767cb020c.5efb0dd495dd6a67
+    2c03faf2866720c5.34bf85f877e56412.c99304833a0fc9c0.b43424be1fde69c9
+    6b9092e5a9593b4f.860e1e6a5e67a710.34293fb910d9598e.46bf68e89652b128
+    f723bf85b9237874.5ee19e7cdc6e4f4e.3e2092e505366da0.70e6d5bc95c57f31
+    8df768a8b8c40e8f
+  after
+    5eb07dbe36416caa.0ca6d7bc8a5c48a7.2190665767cb020c.5efb0dd495dd6a67
+    2c03faf2866720c5.34bf85f877e56412.c99304833a0fc9c0.b43424be1fde69c9
+    5eb07dbe36416caa.34bf85f877e56412.2190665767cb020c.5efb0dd495dd6a67
+    f723bf85b9237874.5ee19e7cdc6e4f4e.3e2092e505366da0.70e6d5bc95c57f31
+    8df768a8b8c40e8f
+
+VMAXPD_256(reg)
+  before
+    fb3c1c179cd99cef.ac88ffbdd2d29460.1882029c8d879678.c34279f33632c322
+    1402ec74dd9363fc.668acd7911724b3e.103e45350b3db839.9f5d70d0bfd71542
+    3695d72d167b9f63.01f7a5a5910d593a.a26163b3f51cf33e.ae3bf466bb332029
+    bb40d6ade31f8ed0.5999042d6fb17981.2a375882e4b18132.cba980a346519f06
+    d47290717d3e4f03
+  after
+    1402ec74dd9363fc.668acd7911724b3e.2a375882e4b18132.9f5d70d0bfd71542
+    1402ec74dd9363fc.668acd7911724b3e.103e45350b3db839.9f5d70d0bfd71542
+    3695d72d167b9f63.01f7a5a5910d593a.a26163b3f51cf33e.ae3bf466bb332029
+    bb40d6ade31f8ed0.5999042d6fb17981.2a375882e4b18132.cba980a346519f06
+    d47290717d3e4f03
+VMAXPD_256(mem)
+  before
+    a464a0be7c05ec4c.0151e760e10a6aee.4a3e64fdc66a693f.040b200e77879ec2
+    174a2d755eb2320e.621204b2acc9706a.afb04301b342e29f.8c2bb8c3472b889a
+    09efb1823f52dc75.3cd12b10dfe7dbf0.66bb1c265147a3ce.1ee11b0df2277965
+    5520aad13cf0a8ac.e9d858e416f0e92b.4a2d6c56bc8566f8.167a4558140aaed0
+    d0423211485d6386
+  after
+    a464a0be7c05ec4c.0151e760e10a6aee.4a3e64fdc66a693f.040b200e77879ec2
+    174a2d755eb2320e.621204b2acc9706a.afb04301b342e29f.8c2bb8c3472b889a
+    174a2d755eb2320e.621204b2acc9706a.4a3e64fdc66a693f.040b200e77879ec2
+    5520aad13cf0a8ac.e9d858e416f0e92b.4a2d6c56bc8566f8.167a4558140aaed0
+    d0423211485d6386
+
+VMAXPD_256(reg)
+  before
+    a885dfa22baed334.d9a9934e70994fe0.c674859cee71d4c8.37d1ad7f1106e848
+    fa8f477958883b86.7056e9e5f857903d.30f0b0a202f5d872.08725d8b6cd8e5eb
+    21ab66006b78d727.f5f32682ef3825ee.819ad464ef0833d6.9bddf768e807180c
+    7b2738a50108e3c4.464bc8127248cb20.16bced4c50371f9f.cbdff701a19d3ed8
+    7342d942b4a8137a
+  after
+    7b2738a50108e3c4.7056e9e5f857903d.30f0b0a202f5d872.08725d8b6cd8e5eb
+    fa8f477958883b86.7056e9e5f857903d.30f0b0a202f5d872.08725d8b6cd8e5eb
+    21ab66006b78d727.f5f32682ef3825ee.819ad464ef0833d6.9bddf768e807180c
+    7b2738a50108e3c4.464bc8127248cb20.16bced4c50371f9f.cbdff701a19d3ed8
+    7342d942b4a8137a
+VMAXPD_256(mem)
+  before
+    71d21a173d345320.634db9d3b5c79a08.3e2b4a7f9c913efe.4ba4f7c8c20dd97a
+    9f5d356c574cb9f3.346ae6f6243e39a0.b86028b78a2139b5.7d9cef43e0169d13
+    dbada62d1efc0222.4ccaba7aeafbfb37.92b4dfa457047970.06f1cf2946dfa615
+    ff90e946af50ead6.06b931cba1891e7a.a6f4ea342045ba5c.43ef95e692f3312d
+    90e13de65ddf7a06
+  after
+    71d21a173d345320.634db9d3b5c79a08.3e2b4a7f9c913efe.4ba4f7c8c20dd97a
+    9f5d356c574cb9f3.346ae6f6243e39a0.b86028b78a2139b5.7d9cef43e0169d13
+    71d21a173d345320.634db9d3b5c79a08.3e2b4a7f9c913efe.7d9cef43e0169d13
+    ff90e946af50ead6.06b931cba1891e7a.a6f4ea342045ba5c.43ef95e692f3312d
+    90e13de65ddf7a06
+
+VMINPS_256(reg)
+  before
+    4915c196452dbc4d.e9d07ba425552c3e.bd824755e875dc15.d2ebc45200f0b8a5
+    cad51f60e66b34ae.733ad6319d168584.cf73f985594a72b3.f067ebea13112e76
+    6f6e52b2db251ed4.7b9a78db32a0b1d5.96d642c590941b01.de32dbe876b5d9fc
+    942c56f6c0e6b66c.dbbcdc8d01fd6c5c.70f81e8329e015ab.761a0e3845e77563
+    95e902c69ab4bdd6
+  after
+    cad51f60e66b34ae.dbbcdc8d9d168584.cf73f98529e015ab.f067ebea13112e76
+    cad51f60e66b34ae.733ad6319d168584.cf73f985594a72b3.f067ebea13112e76
+    6f6e52b2db251ed4.7b9a78db32a0b1d5.96d642c590941b01.de32dbe876b5d9fc
+    942c56f6c0e6b66c.dbbcdc8d01fd6c5c.70f81e8329e015ab.761a0e3845e77563
+    95e902c69ab4bdd6
+VMINPS_256(mem)
+  before
+    186c327f94276f81.955b279a323a3721.706b7f32253c7146.b7258929c2b99a5c
+    d96f1a4d4d4c4492.ce47c109ccaddea0.1774dbb8bb667dbe.c9a97f25f4abe6c1
+    b5bd371de12ffb33.9b3c21af2bcce795.aaa46e0ade894cf1.00cffde25d433785
+    882403dc6ddd4e90.578542f7ea228eab.06c5b314aab0990b.b9e5fecc990bc755
+    51357e4f4392d3dc
+  after
+    186c327f94276f81.955b279a323a3721.706b7f32253c7146.b7258929c2b99a5c
+    d96f1a4d4d4c4492.ce47c109ccaddea0.1774dbb8bb667dbe.c9a97f25f4abe6c1
+    d96f1a4d94276f81.ce47c109ccaddea0.1774dbb8bb667dbe.c9a97f25f4abe6c1
+    882403dc6ddd4e90.578542f7ea228eab.06c5b314aab0990b.b9e5fecc990bc755
+    51357e4f4392d3dc
+
+VMINPS_256(reg)
+  before
+    220c79d7f86197c7.2e6efc750c61fad6.606f204fa63c0e8e.07a427c23ce82237
+    89b6ecd053064ec2.84689dd4dbc8bb31.1146b823faa5a4ec.890c4401b03ca0a2
+    e27fd1a6f00d3578.64de63e4f51d4dcc.c65604dd83e98c6f.68cb88bb21b8d277
+    8ab326c66c018896.ab9cc893776c6bd4.dbeb02eadc9401c3.81ac6eddab6872e3
+    ae7a72546b593d12
+  after
+    8ab326c653064ec2.ab9cc893dbc8bb31.dbeb02eafaa5a4ec.890c4401b03ca0a2
+    89b6ecd053064ec2.84689dd4dbc8bb31.1146b823faa5a4ec.890c4401b03ca0a2
+    e27fd1a6f00d3578.64de63e4f51d4dcc.c65604dd83e98c6f.68cb88bb21b8d277
+    8ab326c66c018896.ab9cc893776c6bd4.dbeb02eadc9401c3.81ac6eddab6872e3
+    ae7a72546b593d12
+VMINPS_256(mem)
+  before
+    cc02100b7d96ef2f.db9ee69a626e82c7.356e4acc7cc2d274.ab51adb7a2334095
+    b710c5edfb2c4467.328b0e906fe060b8.de1f647c21293dd9.94d301ae70518591
+    4b700be80426f7e5.ebc798122ee45e15.827d928d81b06a2f.f0bffb3de37b0c62
+    64ed60e7b190c5d6.629e828e3c05b889.fd5250ecb86013a1.1d5f96ce963c10b5
+    7600cecf2520ce36
+  after
+    cc02100b7d96ef2f.db9ee69a626e82c7.356e4acc7cc2d274.ab51adb7a2334095
+    b710c5edfb2c4467.328b0e906fe060b8.de1f647c21293dd9.94d301ae70518591
+    cc02100bfb2c4467.db9ee69a626e82c7.de1f647c21293dd9.ab51adb7a2334095
+    64ed60e7b190c5d6.629e828e3c05b889.fd5250ecb86013a1.1d5f96ce963c10b5
+    7600cecf2520ce36
+
+VMINPS_256(reg)
+  before
+    56ee9fab2db48290.dd5540d621776a66.f35cc76f35cfa9c1.2b6b1b86e347f55c
+    1b7405ce4a836770.947225a16de6a1c0.fa4d6421b3cf6e68.e8946e451e71cb8b
+    1fe0fda41719ba81.64128d34b4e92711.d3bd53105490432b.0f99c51784e8525b
+    c07c81993003b770.29fff37b0f8db884.daf792a8b49f64b6.7e469ce731ba46f7
+    106670a042f3638d
+  after
+    c07c81993003b770.947225a10f8db884.fa4d6421b49f64b6.e8946e451e71cb8b
+    1b7405ce4a836770.947225a16de6a1c0.fa4d6421b3cf6e68.e8946e451e71cb8b
+    1fe0fda41719ba81.64128d34b4e92711.d3bd53105490432b.0f99c51784e8525b
+    c07c81993003b770.29fff37b0f8db884.daf792a8b49f64b6.7e469ce731ba46f7
+    106670a042f3638d
+VMINPS_256(mem)
+  before
+    a1c6bb30d29d6446.5895901a32cb9ae8.bf05d3639cdd0f46.6b481c556e860cb4
+    0d33fb82fec60751.44772391b8009e96.02f2a9d677e5ea83.e2fded841fd378d2
+    2f77ab82e17a05d8.e16e376b5f2b0026.cd91f1c2bbb20366.9b60019f6212e3bb
+    e55e481d98c31d07.89c6c915c2dafc43.fead2811854f161b.f2bd5514d3ce8b1c
+    4262e34d0f93aaa1
+  after
+    a1c6bb30d29d6446.5895901a32cb9ae8.bf05d3639cdd0f46.6b481c556e860cb4
+    0d33fb82fec60751.44772391b8009e96.02f2a9d677e5ea83.e2fded841fd378d2
+    a1c6bb30fec60751.44772391b8009e96.bf05d3639cdd0f46.e2fded841fd378d2
+    e55e481d98c31d07.89c6c915c2dafc43.fead2811854f161b.f2bd5514d3ce8b1c
+    4262e34d0f93aaa1
+
+VMINPD_128(reg)
+  before
+    e99aa9b8b2ed7df5.0ab64c3d3eaf090b.99cbd4fa7e99cd9a.7013c9b1f0c8e1d0
+    42b0a3c057693fc5.794a35cff04a8610.6dc854852ef2b0d6.fe90508d182a1eaf
+    a9f1cbd09a922ebc.10e57ec0c99f5041.620a45246f73e1a5.86ee3a911a808ae4
+    79a91f5618f58487.a954a3fae6ba22cb.d2dea442dca89cb0.e2f901a911d7e09c
+    f07f23c11a39de03
+  after
+    0000000000000000.0000000000000000.d2dea442dca89cb0.fe90508d182a1eaf
+    42b0a3c057693fc5.794a35cff04a8610.6dc854852ef2b0d6.fe90508d182a1eaf
+    a9f1cbd09a922ebc.10e57ec0c99f5041.620a45246f73e1a5.86ee3a911a808ae4
+    79a91f5618f58487.a954a3fae6ba22cb.d2dea442dca89cb0.e2f901a911d7e09c
+    f07f23c11a39de03
+VMINPD_128(mem)
+  before
+    8a4a1bc551b43e44.10249abd6d1d7dd1.2263216b62a7b9da.1a8e6c4b121c1ca5
+    8e2866a2d154bc8c.c8ae387233965747.55de72fe5a73d199.966699abac5b9e30
+    d6e37e42b6241607.ff92f5df09ed4c95.2091149fe9292634.a2b427ce47f15efd
+    4048e1921d3006e0.101ece7188ad9966.5d4882392bd573d9.9ac312217e6b97b7
+    dade570eed54870a
+  after
+    8a4a1bc551b43e44.10249abd6d1d7dd1.2263216b62a7b9da.1a8e6c4b121c1ca5
+    8e2866a2d154bc8c.c8ae387233965747.55de72fe5a73d199.966699abac5b9e30
+    0000000000000000.0000000000000000.2263216b62a7b9da.966699abac5b9e30
+    4048e1921d3006e0.101ece7188ad9966.5d4882392bd573d9.9ac312217e6b97b7
+    dade570eed54870a
+
+VMINPD_128(reg)
+  before
+    be52f102313868a3.a6230a7f21844943.569cbd954f627967.eace39ba3d8475b1
+    a26bdc6ae5a4762e.e54075f4de2d9a5e.2f59c0b5f7992944.a1f0b30e3b41e8eb
+    e27514b1a623ef57.da6a9edc7236b75a.f5a1d23f1fdce5a8.5f7a6e1f401987b1
+    dabc964210420dc8.5f6f0225f6ac5a66.05c0f09d60bae940.0138e5da68171030
+    61f6942cd0473c93
+  after
+    0000000000000000.0000000000000000.05c0f09d60bae940.a1f0b30e3b41e8eb
+    a26bdc6ae5a4762e.e54075f4de2d9a5e.2f59c0b5f7992944.a1f0b30e3b41e8eb
+    e27514b1a623ef57.da6a9edc7236b75a.f5a1d23f1fdce5a8.5f7a6e1f401987b1
+    dabc964210420dc8.5f6f0225f6ac5a66.05c0f09d60bae940.0138e5da68171030
+    61f6942cd0473c93
+VMINPD_128(mem)
+  before
+    5c80f8ff93b5ca07.e68b5c8bbe8b0d30.51191cba889a3fac.bc02153d58bc71b7
+    cea18b41ce6e74b7.623064f74c8d2a39.8d356887440c2459.74b23c8aa370b8ba
+    9327cbdc9c7df7d0.aaf5a9f257d1a190.ed8f6278450ec398.8a1e63f0dc62fbf4
+    88dc33be1aef0f7e.192728e87ae5aee0.4ef3867aa7add996.5b9086db9f1c7512
+    41559fb7892c64c0
+  after
+    5c80f8ff93b5ca07.e68b5c8bbe8b0d30.51191cba889a3fac.bc02153d58bc71b7
+    cea18b41ce6e74b7.623064f74c8d2a39.8d356887440c2459.74b23c8aa370b8ba
+    0000000000000000.0000000000000000.8d356887440c2459.bc02153d58bc71b7
+    88dc33be1aef0f7e.192728e87ae5aee0.4ef3867aa7add996.5b9086db9f1c7512
+    41559fb7892c64c0
+
+VMINPD_128(reg)
+  before
+    99b9acf1361e02a9.878d3fd263cf78ec.0d12db4652548dd6.8c2c517787f4227e
+    bf07a8f3417c8b7a.6d066c049429ed47.e102c0767aab791e.83083e5c01f0597d
+    108d8f2b46d43dde.16123540c80a2bba.f043d2e58e75af63.0f51c91630ac3bbf
+    e6955d03e2b25282.5e7f16721c7ded72.98200e002c3e6b52.0cd46e903034846f
+    565daab51e95efba
+  after
+    0000000000000000.0000000000000000.e102c0767aab791e.83083e5c01f0597d
+    bf07a8f3417c8b7a.6d066c049429ed47.e102c0767aab791e.83083e5c01f0597d
+    108d8f2b46d43dde.16123540c80a2bba.f043d2e58e75af63.0f51c91630ac3bbf
+    e6955d03e2b25282.5e7f16721c7ded72.98200e002c3e6b52.0cd46e903034846f
+    565daab51e95efba
+VMINPD_128(mem)
+  before
+    c9b8f87315da39cb.9e6d0fe9b0a10712.21178b86ab8ef19b.34e66e32ed92e996
+    41b0d4b5320f1ecf.945fa0484d2d9839.3ba81069914af160.1fe1f0e66ffe64dc
+    9a13ba6790415af2.24b80c8b54e240a4.88fc2205ebbbaaee.b75d8f8a4e0d19cf
+    b0ab26754c7ba85f.aac34f20624d3cfe.e4e03c48d5f0d770.56a64789254c441c
+    5a08144f9046206f
+  after
+    c9b8f87315da39cb.9e6d0fe9b0a10712.21178b86ab8ef19b.34e66e32ed92e996
+    41b0d4b5320f1ecf.945fa0484d2d9839.3ba81069914af160.1fe1f0e66ffe64dc
+    0000000000000000.0000000000000000.21178b86ab8ef19b.1fe1f0e66ffe64dc
+    b0ab26754c7ba85f.aac34f20624d3cfe.e4e03c48d5f0d770.56a64789254c441c
+    5a08144f9046206f
+
+VMINPD_256(reg)
+  before
+    1dcff3482c87ea73.5f4695cb81c9c642.82ce667212f9c8f4.2a1fda1c6af23513
+    fd46dfe0959cded5.83ae82564c386dc9.08234bed01721f32.3887786fc6cf8003
+    54bad48365103841.f7b06900c8d35c1e.9810fcfeca457f63.e9e3922c0693746b
+    8077ce9e3b6f3362.9917c6b612a64d6d.8edf740f0afd2234.19fea53f4548cc77
+    a4a52c94a0fc4655
+  after
+    fd46dfe0959cded5.9917c6b612a64d6d.8edf740f0afd2234.19fea53f4548cc77
+    fd46dfe0959cded5.83ae82564c386dc9.08234bed01721f32.3887786fc6cf8003
+    54bad48365103841.f7b06900c8d35c1e.9810fcfeca457f63.e9e3922c0693746b
+    8077ce9e3b6f3362.9917c6b612a64d6d.8edf740f0afd2234.19fea53f4548cc77
+    a4a52c94a0fc4655
+VMINPD_256(mem)
+  before
+    65a4a31733bb9b2f.dbc9c99bb1460ce4.44b1166545befde3.46ddb08d5c274450
+    3ac787b418908a31.c2fcc2e86320ff75.d448d4f87d2628ac.1b56aae55c4e2364
+    feda52576e87cd88.925cb4efee8947bf.24aa7c5ad7ea89f4.6b956081a7fef91c
+    8ca882ed4eac2160.a5349b1eed0e226e.12a18a796f17dde5.91e8cdcfd9c30223
+    e999ed3a8d2a7c26
+  after
+    65a4a31733bb9b2f.dbc9c99bb1460ce4.44b1166545befde3.46ddb08d5c274450
+    3ac787b418908a31.c2fcc2e86320ff75.d448d4f87d2628ac.1b56aae55c4e2364
+    3ac787b418908a31.dbc9c99bb1460ce4.d448d4f87d2628ac.1b56aae55c4e2364
+    8ca882ed4eac2160.a5349b1eed0e226e.12a18a796f17dde5.91e8cdcfd9c30223
+    e999ed3a8d2a7c26
+
+VMINPD_256(reg)
+  before
+    cef5bd2e5fbea1d0.c2fe9260d70c42e4.58d173e0fd3ac92f.78fa7a4060b8e0ae
+    9e493717ec0caece.7aa9fe9e22b2eb41.077f39a1b9997bae.3480c99bc6d94e79
+    b4de5961d09fdfcb.927343924daad9a3.0e8ae8cdbdb87296.2001f276be87e273
+    6b031e78a5036f74.e429db277401c835.c93e7cd0a622eb94.1a4871bd63cd59c7
+    fc20c25dd2b76fa2
+  after
+    9e493717ec0caece.e429db277401c835.c93e7cd0a622eb94.1a4871bd63cd59c7
+    9e493717ec0caece.7aa9fe9e22b2eb41.077f39a1b9997bae.3480c99bc6d94e79
+    b4de5961d09fdfcb.927343924daad9a3.0e8ae8cdbdb87296.2001f276be87e273
+    6b031e78a5036f74.e429db277401c835.c93e7cd0a622eb94.1a4871bd63cd59c7
+    fc20c25dd2b76fa2
+VMINPD_256(mem)
+  before
+    a45661402752df2f.210383c80ac59c75.4e96444bb2c27424.95e7f11610632253
+    ecb6cb547ca9669b.302982be98709f79.aa88f9e923fa989b.ccd0430b96085380
+    b20c7b83efc9c012.f6c219c4ee90b72d.d6c977ede4b3f1c7.cb476f1cd49cb9c7
+    d024edbb9cbda9bf.cd1b4347a5b11e3d.ac27384311fb3bd3.ee9670b367ac91d3
+    910a423eebc21751
+  after
+    a45661402752df2f.210383c80ac59c75.4e96444bb2c27424.95e7f11610632253
+    ecb6cb547ca9669b.302982be98709f79.aa88f9e923fa989b.ccd0430b96085380
+    ecb6cb547ca9669b.210383c80ac59c75.aa88f9e923fa989b.ccd0430b96085380
+    d024edbb9cbda9bf.cd1b4347a5b11e3d.ac27384311fb3bd3.ee9670b367ac91d3
+    910a423eebc21751
+
+VMINPD_256(reg)
+  before
+    0fefe128fb6d86ec.23c99ee79e91dccf.137efcb45c601154.096cbad7c5de31ec
+    c6914adc33361b51.88c908f21251166e.22374176ac29cc1f.ca6578961c67913e
+    113b77c830ab122c.d9eea9ca130a13c7.58940cf933968a49.c9deee6a33a214f4
+    4c3b66578d57a628.f305fc5abec78e06.0fdf5ba98d35897f.e3a29841259c793b
+    f47ff3050f5f7a3e
+  after
+    c6914adc33361b51.f305fc5abec78e06.0fdf5ba98d35897f.e3a29841259c793b
+    c6914adc33361b51.88c908f21251166e.22374176ac29cc1f.ca6578961c67913e
+    113b77c830ab122c.d9eea9ca130a13c7.58940cf933968a49.c9deee6a33a214f4
+    4c3b66578d57a628.f305fc5abec78e06.0fdf5ba98d35897f.e3a29841259c793b
+    f47ff3050f5f7a3e
+VMINPD_256(mem)
+  before
+    d83f7aa40cfad42a.d3db13f5e7c715f1.b2da7d8f2e954559.a46629f25592026c
+    6cafa9093976432b.0268780ed9859835.f239a9537f7ff1e9.74737240273734bd
+    8a9bfc20b1e1836c.342e930f00206e9e.90edfa93ce9151e5.d95333ffa0b2591e
+    0fcff0d591464f1a.c7795e62f721d2d8.66c4ee3c37d81f77.3052679b5c8fae3a
+    d5bc0a80f6586fbe
+  after
+    d83f7aa40cfad42a.d3db13f5e7c715f1.b2da7d8f2e954559.a46629f25592026c
+    6cafa9093976432b.0268780ed9859835.f239a9537f7ff1e9.74737240273734bd
+    d83f7aa40cfad42a.d3db13f5e7c715f1.f239a9537f7ff1e9.a46629f25592026c
+    0fcff0d591464f1a.c7795e62f721d2d8.66c4ee3c37d81f77.3052679b5c8fae3a
+    d5bc0a80f6586fbe
+
+VMOVHPS_128_StoreForm(reg)
+  before
+    24dc181b0a9bd855.d7170014f4b26460.1694d7745b16ff90.51880038d55f18cb
+    7a008dd635e424ac.be3fa8c9f7307d6b.7ccdfab2c78a3272.2d06ad75c432f80f
+    3172661f12be906f.a01264e0b5cc5867.576ec186d80aa629.d60a6fdd215d7b6c
+    a67f9d613eb55749.595db0454b93af7f.02c42a5e29219862.2860c45e07ed5c11
+    ffd427e393ee5828
+  after
+    24dc181b0a9bd855.d7170014f4b26460.1694d7745b16ff90.51880038d55f18cb
+    7a008dd635e424ac.be3fa8c9f7307d6b.7ccdfab2c78a3272.2d06ad75c432f80f
+    3172661f12be906f.a01264e0b5cc5867.576ec186d80aa629.d60a6fdd215d7b6c
+    a67f9d613eb55749.595db0454b93af7f.02c42a5e29219862.2860c45e07ed5c11
+    ffd427e393ee5828
+VMOVHPS_128_StoreForm(mem)
+  before
+    37311458e06a2bdd.357331085455b7e7.c5ec09e5d4903fe0.d81b30a5565b44c9
+    ab4408a90b6f905d.3a9a1b80f12beaf4.c08be9aa6ccfc3b5.37bfcfc7fc44e609
+    39da7dc22f0944d4.113f5835b0c22d1d.2606cf82305df82b.79fc0330b769b9cf
+    bcbdf1906942036e.16b0e5932ea6bb0e.d22934583b459a6e.fc1dc94c2256fbc6
+    1a701c87d995e59b
+  after
+    37311458e06a2bdd.357331085455b7e7.c5ec09e5d4903fe0.c08be9aa6ccfc3b5
+    ab4408a90b6f905d.3a9a1b80f12beaf4.c08be9aa6ccfc3b5.37bfcfc7fc44e609
+    39da7dc22f0944d4.113f5835b0c22d1d.2606cf82305df82b.79fc0330b769b9cf
+    bcbdf1906942036e.16b0e5932ea6bb0e.d22934583b459a6e.fc1dc94c2256fbc6
+    1a701c87d995e59b
+
+VMOVHPS_128_StoreForm(reg)
+  before
+    313ff84d79b4b6f9.10badffdd4288855.a537bd060664d172.a2bf9518aa9365a9
+    9bd7590b9d3fa88d.119cc4f68cc791b8.1921dcfad587abf6.71956fad99541409
+    b5843b2be2c0f803.9a311a68ae29d8c1.d0ba3edc369c8545.1b783d05239365b9
+    dc929b1be3c5e206.89435f3e565c199d.254ee016c52e9a0c.7b327b0c645c11e6
+    6f8fa5ac79bcd7bb
+  after
+    313ff84d79b4b6f9.10badffdd4288855.a537bd060664d172.a2bf9518aa9365a9
+    9bd7590b9d3fa88d.119cc4f68cc791b8.1921dcfad587abf6.71956fad99541409
+    b5843b2be2c0f803.9a311a68ae29d8c1.d0ba3edc369c8545.1b783d05239365b9
+    dc929b1be3c5e206.89435f3e565c199d.254ee016c52e9a0c.7b327b0c645c11e6
+    6f8fa5ac79bcd7bb
+VMOVHPS_128_StoreForm(mem)
+  before
+    d25d38d27dbe7166.6a4c74453ddaa243.b9a00e639f6c1277.7429bd161fc927f7
+    7f67af6a8d6e9c10.bc00c2178b897365.0512a3c5a5637d7c.1996d146e0f968b1
+    54788661c4d914e8.2ef881fc6a609219.4b669a4f854f17d8.6fe31814a34b99e6
+    2b5d39a13e0a9418.1c81ae6075eb3a0b.666770ed5b3c9bb6.d45a8eeb044af544
+    a3483037a083b975
+  after
+    d25d38d27dbe7166.6a4c74453ddaa243.b9a00e639f6c1277.0512a3c5a5637d7c
+    7f67af6a8d6e9c10.bc00c2178b897365.0512a3c5a5637d7c.1996d146e0f968b1
+    54788661c4d914e8.2ef881fc6a609219.4b669a4f854f17d8.6fe31814a34b99e6
+    2b5d39a13e0a9418.1c81ae6075eb3a0b.666770ed5b3c9bb6.d45a8eeb044af544
+    a3483037a083b975
+
+VMOVHPS_128_StoreForm(reg)
+  before
+    37f9f96412812125.e2e24418180dd9cc.e3e744af49b4a9e6.31e3a08b4235c642
+    eeb8e5def7d06801.53d324b16eef9f31.dd763f5581491957.8aa5a615564654aa
+    23d3f012ebfdcbb5.5cfc54585bbba273.677a9bbeb936c60a.4b78fe78b47b0118
+    3194176a889286ec.d72950f9fc7e9dbd.dd3e54568e06eeaa.5129259e77e189b8
+    79849575bc83a7b7
+  after
+    37f9f96412812125.e2e24418180dd9cc.e3e744af49b4a9e6.31e3a08b4235c642
+    eeb8e5def7d06801.53d324b16eef9f31.dd763f5581491957.8aa5a615564654aa
+    23d3f012ebfdcbb5.5cfc54585bbba273.677a9bbeb936c60a.4b78fe78b47b0118
+    3194176a889286ec.d72950f9fc7e9dbd.dd3e54568e06eeaa.5129259e77e189b8
+    79849575bc83a7b7
+VMOVHPS_128_StoreForm(mem)
+  before
+    9d55cce79e6e1841.764955536d1ed553.a22594806c424d3c.9b0f678a9c45cbe3
+    9b6846e23aac9781.4c3ca63a332af396.97bd9dd9c7166e1b.fd3acfc47e7f9a62
+    4d887d51ab4be2a4.11ba068978441d60.93bde6f02a03bb87.5f098872d04197d3
+    9083ef200e57b3d5.1f0f71aed8f88f5d.73f1ebb1b017f2ac.1dc98efe2f16fde1
+    93c5ded6378a0939
+  after
+    9d55cce79e6e1841.764955536d1ed553.a22594806c424d3c.97bd9dd9c7166e1b
+    9b6846e23aac9781.4c3ca63a332af396.97bd9dd9c7166e1b.fd3acfc47e7f9a62
+    4d887d51ab4be2a4.11ba068978441d60.93bde6f02a03bb87.5f098872d04197d3
+    9083ef200e57b3d5.1f0f71aed8f88f5d.73f1ebb1b017f2ac.1dc98efe2f16fde1
+    93c5ded6378a0939
+
+VMOVNTDQ_256(reg)
+  before
+    1d4b7365822af787.4023163a7edbc641.d386e414eed0843b.11252809765dccb5
+    16a54817af810376.3a35708e17e3d914.8a6d5a27575a39a4.4a2519e298e208cf
+    dc215c58571c68b3.58857905f67ca679.9e0ecf53ae22ea44.fabc3b2a30b16026
+    ca09a894198663e9.77dfab8c37b0ea9d.6cb63f048fb2d3c8.feb809cc5dd691e5
+    30e3ffb3385d5738
+  after
+    1d4b7365822af787.4023163a7edbc641.d386e414eed0843b.11252809765dccb5
+    16a54817af810376.3a35708e17e3d914.8a6d5a27575a39a4.4a2519e298e208cf
+    dc215c58571c68b3.58857905f67ca679.9e0ecf53ae22ea44.fabc3b2a30b16026
+    ca09a894198663e9.77dfab8c37b0ea9d.6cb63f048fb2d3c8.feb809cc5dd691e5
+    30e3ffb3385d5738
+VMOVNTDQ_256(mem)
+  before
+    6d0a99cde0536e4c.3caa2a378e4b2fc5.730e840ff58e61ab.51b1a6a697982fdc
+    91f954056ec3914d.8d4fddae55f70af3.28e07f7b4c1fc6d0.a74b01a562603b2b
+    787caa4700ba7d67.1b46bd6307172e1e.721f18ba5971d638.cbd04b6e8b943362
+    fe5e197fb243edc5.41dac6c44237d8f3.2d98cbba388f4d0e.198b806baec2522c
+    edca9d0a6876d636
+  after
+    91f954056ec3914d.8d4fddae55f70af3.28e07f7b4c1fc6d0.a74b01a562603b2b
+    91f954056ec3914d.8d4fddae55f70af3.28e07f7b4c1fc6d0.a74b01a562603b2b
+    787caa4700ba7d67.1b46bd6307172e1e.721f18ba5971d638.cbd04b6e8b943362
+    fe5e197fb243edc5.41dac6c44237d8f3.2d98cbba388f4d0e.198b806baec2522c
+    edca9d0a6876d636
+
+VMOVNTDQ_256(reg)
+  before
+    a3d79cb5543af82c.ff6c1d9a9f6a9f93.5a56f43ba2e1431d.351715650386e67f
+    97ff7bda0f9cf7b9.57733082e43c4dfe.c4074436c2a3ad49.666870a9d9615eb6
+    268e35e434280d8a.e23dd0249cc4b432.da39b1203f085022.9c575a71d42c71e0
+    aad0c63f6069784a.7c97776de30e8f5b.f7383765b49d6855.b3af4fa910f4db29
+    873dc93daac457bc
+  after
+    a3d79cb5543af82c.ff6c1d9a9f6a9f93.5a56f43ba2e1431d.351715650386e67f
+    97ff7bda0f9cf7b9.57733082e43c4dfe.c4074436c2a3ad49.666870a9d9615eb6
+    268e35e434280d8a.e23dd0249cc4b432.da39b1203f085022.9c575a71d42c71e0
+    aad0c63f6069784a.7c97776de30e8f5b.f7383765b49d6855.b3af4fa910f4db29
+    873dc93daac457bc
+VMOVNTDQ_256(mem)
+  before
+    f4ce4619bda8a3c6.80102b572eeb71a6.014da348d6279ba3.7950d271bded338e
+    d62c412a65ad7872.039c5f983b3a374a.4c2ad0a0911a9439.bacc7fb0f784eb78
+    0824365abfde95ed.91be5d6e22e304e1.3bfc78632ef33647.17fa398efdefcdc0
+    6881a197e747b463.85c3244680711518.a98d197cccbf3cfa.ed24fc776cb91412
+    9697c4d7e06efe19
+  after
+    d62c412a65ad7872.039c5f983b3a374a.4c2ad0a0911a9439.bacc7fb0f784eb78
+    d62c412a65ad7872.039c5f983b3a374a.4c2ad0a0911a9439.bacc7fb0f784eb78
+    0824365abfde95ed.91be5d6e22e304e1.3bfc78632ef33647.17fa398efdefcdc0
+    6881a197e747b463.85c3244680711518.a98d197cccbf3cfa.ed24fc776cb91412
+    9697c4d7e06efe19
+
+VMOVNTDQ_256(reg)
+  before
+    709f8e1bf39bc581.d111ffcbf8f592ff.3bf7ad8af071a69a.72aa2ed78589647d
+    d58754ad44cba5f8.1f9ecae40ff3ebee.0fa6f5a80e6df214.711f3360755d67fd
+    229d14fb6c8adc27.2df680cc474d7a5b.5d1cf90a77f43632.84b8a403b94804a6
+    b32cc9700a65a4bd.d9e39c71bc10fc73.80a4b41ec78fae9f.8641fead6c55f5a3
+    5285bc48ab90f721
+  after
+    709f8e1bf39bc581.d111ffcbf8f592ff.3bf7ad8af071a69a.72aa2ed78589647d
+    d58754ad44cba5f8.1f9ecae40ff3ebee.0fa6f5a80e6df214.711f3360755d67fd
+    229d14fb6c8adc27.2df680cc474d7a5b.5d1cf90a77f43632.84b8a403b94804a6
+    b32cc9700a65a4bd.d9e39c71bc10fc73.80a4b41ec78fae9f.8641fead6c55f5a3
+    5285bc48ab90f721
+VMOVNTDQ_256(mem)
+  before
+    c6525ac19106c64b.e57f7078b7e73a64.fd329bbe8b472d61.d68c234f99cc9607
+    bc7254053bc21d4e.12e3037f129cdac9.77aef79fd0fec952.ba1e400889362918
+    12b226ffc4d0b955.97a480f1b411bf97.22252e00a5428b72.88a709b7345aa47c
+    a2de4d9a483d568d.d00ee23a3bd1267b.d962bbce291e30ec.9b7378c735c342df
+    51ce8ca529fd41ee
+  after
+    bc7254053bc21d4e.12e3037f129cdac9.77aef79fd0fec952.ba1e400889362918
+    bc7254053bc21d4e.12e3037f129cdac9.77aef79fd0fec952.ba1e400889362918
+    12b226ffc4d0b955.97a480f1b411bf97.22252e00a5428b72.88a709b7345aa47c
+    a2de4d9a483d568d.d00ee23a3bd1267b.d962bbce291e30ec.9b7378c735c342df
+    51ce8ca529fd41ee
+
+VMOVHPS_128_LoadForm(reg)
+  before
+    04033ebbab94db55.4ac144c4e414b022.196c25c643684b20.7a301bf3769f74ed
+    12608b7658154dbf.e4298768b462823f.ce0c460167636933.df5cc85ca8d012a1
+    d52f7043cb0cd2d9.4ee19272d3328911.4b383f58434dbd60.e5b240f6dcbdc733
+    abbde88ca103a84f.62b4e2ce5d9081c4.ec3d0e3574b28352.69fefeab2d724fd0
+    450c7e69b8fc66a3
+  after
+    04033ebbab94db55.4ac144c4e414b022.196c25c643684b20.7a301bf3769f74ed
+    12608b7658154dbf.e4298768b462823f.ce0c460167636933.df5cc85ca8d012a1
+    d52f7043cb0cd2d9.4ee19272d3328911.4b383f58434dbd60.e5b240f6dcbdc733
+    abbde88ca103a84f.62b4e2ce5d9081c4.ec3d0e3574b28352.69fefeab2d724fd0
+    450c7e69b8fc66a3
+VMOVHPS_128_LoadForm(mem)
+  before
+    56a73c1b9866c7d9.ee56efbf758809cc.fd6ff2696f882583.0d68ae06961ff7b6
+    799db5ade9bd2f9d.fc468246e42631fc.fcde3e2d2527327a.0a021b35441f5437
+    88b8640bc80c5a1c.2fd99b8f896a5e8d.39cd4207997864d7.3f5a52301a3fd782
+    60c5c521515f0382.e55a380501dfca29.91077ae4ea8877c3.08bb4e62b50abc42
+    c1700b37b00c3f25
+  after
+    56a73c1b9866c7d9.ee56efbf758809cc.fd6ff2696f882583.0d68ae06961ff7b6
+    799db5ade9bd2f9d.fc468246e42631fc.fcde3e2d2527327a.0a021b35441f5437
+    0000000000000000.0000000000000000.0d68ae06961ff7b6.0a021b35441f5437
+    60c5c521515f0382.e55a380501dfca29.91077ae4ea8877c3.08bb4e62b50abc42
+    c1700b37b00c3f25
+
+VMOVHPS_128_LoadForm(reg)
+  before
+    c5c6851ba8d19bd4.dd9054db9fc2e8fa.78165414e711b27c.e05a63ae3262266d
+    7209b87a38e60dfe.dce58d25cf42c2b1.455aec28d78d5233.039078538d122eff
+    2385a1c0fdd6d14d.378fedebfcea50d2.a870faad6edee5fa.d47635be18a44ba5
+    34863b5a922e226d.cb5cef1a42c74c8a.fea47c104890a87c.30d816dbee25398d
+    f38298962ba1b3e0
+  after
+    c5c6851ba8d19bd4.dd9054db9fc2e8fa.78165414e711b27c.e05a63ae3262266d
+    7209b87a38e60dfe.dce58d25cf42c2b1.455aec28d78d5233.039078538d122eff
+    2385a1c0fdd6d14d.378fedebfcea50d2.a870faad6edee5fa.d47635be18a44ba5
+    34863b5a922e226d.cb5cef1a42c74c8a.fea47c104890a87c.30d816dbee25398d
+    f38298962ba1b3e0
+VMOVHPS_128_LoadForm(mem)
+  before
+    f94035dbed2276cd.005882b294793d0b.74160f9cbee47305.a1446dbb0030d766
+    1ede6b964db63d7e.e54672359e435ed3.0e8ac95f8b4d816e.ee9bc91c3249ad63
+    3e27b5b36968c61f.3e9e07504c19c170.75849a4ec60f32f2.41f48c9d7b686720
+    35e8901f5d45cbde.66aa3e6e3c85a18f.85d0fd548a3541bc.f69cb3ac76174149
+    69df39b4c0e47789
+  after
+    f94035dbed2276cd.005882b294793d0b.74160f9cbee47305.a1446dbb0030d766
+    1ede6b964db63d7e.e54672359e435ed3.0e8ac95f8b4d816e.ee9bc91c3249ad63
+    0000000000000000.0000000000000000.a1446dbb0030d766.ee9bc91c3249ad63
+    35e8901f5d45cbde.66aa3e6e3c85a18f.85d0fd548a3541bc.f69cb3ac76174149
+    69df39b4c0e47789
+
+VMOVHPS_128_LoadForm(reg)
+  before
+    f6091a20f45b448d.dfed76c4445809e4.bbb712fb07163bdc.1a3a6e5ff4cb6bf9
+    f966525eaf07e500.1802e5903aad3b60.97117f624b55cb02.108d695a1fde6cd5
+    ce42ddd98c74968f.bcf3586d5c511e7c.58038211a3d08cad.43966a312878ff7b
+    d1e8b8fd282e93e6.a68c4c49c64f6e64.58db1573ac12bb8b.8e22eed12aa8e118
+    cffb70244277ced7
+  after
+    f6091a20f45b448d.dfed76c4445809e4.bbb712fb07163bdc.1a3a6e5ff4cb6bf9
+    f966525eaf07e500.1802e5903aad3b60.97117f624b55cb02.108d695a1fde6cd5
+    ce42ddd98c74968f.bcf3586d5c511e7c.58038211a3d08cad.43966a312878ff7b
+    d1e8b8fd282e93e6.a68c4c49c64f6e64.58db1573ac12bb8b.8e22eed12aa8e118
+    cffb70244277ced7
+VMOVHPS_128_LoadForm(mem)
+  before
+    e1ee6c178bf381e5.5ea6de371ec217b0.b4983b0f93b3e745.f5e336f502a89446
+    a0c65e972228b86d.d1c64bf10bbb5f9a.c1e4a3abdf8a444b.8969e001401d538a
+    e751c38e22212d9d.8695fc988aa6a64f.a93dff09c7df42a1.72b70f0402fd3304
+    945916eaa7ea9c9e.d95feb99370d2a7c.476dcb1566be9d74.0a19c06be5d57160
+    aeddeda084304949
+  after
+    e1ee6c178bf381e5.5ea6de371ec217b0.b4983b0f93b3e745.f5e336f502a89446
+    a0c65e972228b86d.d1c64bf10bbb5f9a.c1e4a3abdf8a444b.8969e001401d538a
+    0000000000000000.0000000000000000.f5e336f502a89446.8969e001401d538a
+    945916eaa7ea9c9e.d95feb99370d2a7c.476dcb1566be9d74.0a19c06be5d57160
+    aeddeda084304949
+
+VMOVNTDQA_128(reg)
+  before
+    ba4e94117c9af66c.82acd396ce8fc39f.266f165eaf7f25cd.794083bbd93411f0
+    8bb7b02968a0b574.8c14767db31d5cca.c81378558e85d4ed.1a84a4e73b4c5940
+    7b663e53e5cdc20e.905e7b8d719f244b.1d950de96fad7288.0504a886a9123291
+    e7a538fd8ead59e6.69555fb12421d64f.8042d286ee823d4c.188b0d823e93580e
+    2ee64fc917da86e4
+  after
+    ba4e94117c9af66c.82acd396ce8fc39f.266f165eaf7f25cd.794083bbd93411f0
+    8bb7b02968a0b574.8c14767db31d5cca.c81378558e85d4ed.1a84a4e73b4c5940
+    7b663e53e5cdc20e.905e7b8d719f244b.1d950de96fad7288.0504a886a9123291
+    e7a538fd8ead59e6.69555fb12421d64f.8042d286ee823d4c.188b0d823e93580e
+    2ee64fc917da86e4
+VMOVNTDQA_128(mem)
+  before
+    22e1e8454ff4793e.2bc19c9200cdb5a7.f2c79dd5e9b02f02.4c66c198a8916ee3
+    d24856e402ebed4a.a306657ed6b813fe.097fb1e6db57eb8f.df4dd88b386544f9
+    18e714914dce9e31.abbf8f2eacfbaf96.884817ce1722c623.944312cb3b8afa3b
+    d18a9e384ca64721.9f3a170c1f20c41c.4def4c7ab91e7ce9.c6946cc44c8ccb55
+    d38be0e308f8f4f2
+  after
+    22e1e8454ff4793e.2bc19c9200cdb5a7.f2c79dd5e9b02f02.4c66c198a8916ee3
+    d24856e402ebed4a.a306657ed6b813fe.097fb1e6db57eb8f.df4dd88b386544f9
+    18e714914dce9e31.abbf8f2eacfbaf96.884817ce1722c623.944312cb3b8afa3b
+    0000000000000000.0000000000000000.f2c79dd5e9b02f02.4c66c198a8916ee3
+    d38be0e308f8f4f2
+
+VMOVNTDQA_128(reg)
+  before
+    15756c920a5ab0bf.dafc70c51a81a546.dcc1f785cbb5903c.3240cad7db56c80f
+    ea9e0b3eef3c3c68.0d0a0724d36a74cc.bba12d064b464da1.14070fcf9cd767be
+    ac52b954522cd498.4780dd41946d6fde.9b26b4f93b5e37f8.d010965015ac1424
+    b9dd723fd0b5b4fb.652a7008799753a8.d79c89cc38898cec.4026dc4564e18d6d
+    41175b9aa5828cc5
+  after
+    15756c920a5ab0bf.dafc70c51a81a546.dcc1f785cbb5903c.3240cad7db56c80f
+    ea9e0b3eef3c3c68.0d0a0724d36a74cc.bba12d064b464da1.14070fcf9cd767be
+    ac52b954522cd498.4780dd41946d6fde.9b26b4f93b5e37f8.d010965015ac1424
+    b9dd723fd0b5b4fb.652a7008799753a8.d79c89cc38898cec.4026dc4564e18d6d
+    41175b9aa5828cc5
+VMOVNTDQA_128(mem)
+  before
+    b0ad913bf39ccd57.6b8b336b0464183f.41d43c669df3dc58.cb4fa6eadd53862a
+    67b5f9146b3a0e4f.1fa7f7448bc43b0e.b84abb451c8ec618.d38a09bfc749615e
+    43fb0f11286909db.327fba3600615a14.a6576b931373cc14.4b9badb792f65b33
+    204b501e46347b24.fe5d78adffc8b0fe.e8c9c73b9daeab79.8fcc8e3ed8e7ae56
+    fb6aa8c038a79772
+  after
+    b0ad913bf39ccd57.6b8b336b0464183f.41d43c669df3dc58.cb4fa6eadd53862a
+    67b5f9146b3a0e4f.1fa7f7448bc43b0e.b84abb451c8ec618.d38a09bfc749615e
+    43fb0f11286909db.327fba3600615a14.a6576b931373cc14.4b9badb792f65b33
+    0000000000000000.0000000000000000.41d43c669df3dc58.cb4fa6eadd53862a
+    fb6aa8c038a79772
+
+VMOVNTDQA_128(reg)
+  before
+    eac1f8a94bc25234.da703627e2a72059.e08e2e1525847b78.586a4b28d74c1f73
+    ba1d7965b0c41a48.4d383f1918cfb3a4.345ed6da0e21f52d.d3077348dc57e42d
+    c6ca2761003a2c59.556de7de03b6f132.57186e68552c5aca.356cbb86c9deb5d4
+    6913fe07d9afc413.cedca864bf6b962e.a30af22c9630e8fa.5a65a0ceb9ea4f93
+    1ebd9d0dc8896d97
+  after
+    eac1f8a94bc25234.da703627e2a72059.e08e2e1525847b78.586a4b28d74c1f73
+    ba1d7965b0c41a48.4d383f1918cfb3a4.345ed6da0e21f52d.d3077348dc57e42d
+    c6ca2761003a2c59.556de7de03b6f132.57186e68552c5aca.356cbb86c9deb5d4
+    6913fe07d9afc413.cedca864bf6b962e.a30af22c9630e8fa.5a65a0ceb9ea4f93
+    1ebd9d0dc8896d97
+VMOVNTDQA_128(mem)
+  before
+    5d422e2d14c6cd0c.0145fbc5d7b01e24.9451ff9669f75dc4.757e5c906eb9d96a
+    f3bed01bb6ae291d.e9ad180695c87536.8398695f1c680322.29c2aa0278546ac6
+    bcfefdc4cc4c3ef7.7c955335af8306f5.777d61adf5ca4472.1b20d6ed518cd7b9
+    94ce331272acc7c5.1849a7c0c26e0d0e.4ccb636b0f27dce0.a7e5debd94ee5bf0
+    295cbedede043316
+  after
+    5d422e2d14c6cd0c.0145fbc5d7b01e24.9451ff9669f75dc4.757e5c906eb9d96a
+    f3bed01bb6ae291d.e9ad180695c87536.8398695f1c680322.29c2aa0278546ac6
+    bcfefdc4cc4c3ef7.7c955335af8306f5.777d61adf5ca4472.1b20d6ed518cd7b9
+    0000000000000000.0000000000000000.9451ff9669f75dc4.757e5c906eb9d96a
+    295cbedede043316
+
+VMASKMOVDQU_128(reg)
+  before
+    fdd370bcca5d9bd8.57faedf3c3db81b4.171711126a14c52d.de4fec85878d869a
+    7f94f2c3f582cee2.e14da751dbe428ef.d74a8b9742016bfd.09d676e87807ffc9
+    0bed3f5ffa010adf.0d95de1ad7d378a4.b22d13bbe6c13b2b.a92a7f7effa2039c
+    fd2853fc7665887c.b99c0d39d2b52cfc.050da4ebf3e17163.9a18823437694e3d
+    b76bfcf73c689bd8
+  after
+    fdd370bcca5d9bd8.57faedf3c3db81b4.171711126a14c52d.de4fec85878d869a
+    7f94f2c3f582cee2.e14da751dbe428ef.d74a8b9742016bfd.09d676e87807ffc9
+    0bed3f5ffa010adf.0d95de1ad7d378a4.b22d13bbe6c13b2b.a92a7f7effa2039c
+    fd2853fc7665887c.b99c0d39d2b52cfc.050da4ebf3e17163.9a18823437694e3d
+    b76bfcf73c689bd8
+VMASKMOVDQU_128(mem)
+  before
+    def167b12caca79a.b1922a07043a8764.c02faf9ae9950126.2d363a9104ed4850
+    ea74415020402eaf.8377c1ea400d4244.fe1a4329377fb34c.84f4d21bb66ffd9e
+    b6c205bf3631eb42.ce221313c769f4c7.4e2942d2d980fe9a.679366f3a5f5ccfb
+    20a52fe98a899b80.f0e11cec35dbd99b.8e282a82eaa39d3d.335ff4876b0bf010
+    42a37741a73ba78c
+  after
+    def167b12caca79a.b1922a07043a8764.8e2faf9ae9959d26.335ff4916bedf010
+    ea74415020402eaf.8377c1ea400d4244.fe1a4329377fb34c.84f4d21bb66ffd9e
+    b6c205bf3631eb42.ce221313c769f4c7.4e2942d2d980fe9a.679366f3a5f5ccfb
+    20a52fe98a899b80.f0e11cec35dbd99b.8e282a82eaa39d3d.335ff4876b0bf010
+    42a37741a73ba78c
+
+VMASKMOVDQU_128(reg)
+  before
+    f1acec8ff2132a19.03ea3cbc3656fa95.44fed8e325ee2f69.98e2752387f54d61
+    9cc64ddcea1fb863.3a5ca62359a4c4ac.26c74363332e30e0.4a25a1a3cb80ca31
+    a03d98942bea8b18.a3c9eb0b0d7eb4f2.f1865ad8fc2819aa.7fbb2aecd352cfda
+    575dc8235000e0e1.18fc865e6ef08792.038818ae1b662673.12718aecba771988
+    e1133f8e9dfa6466
+  after
+    f1acec8ff2132a19.03ea3cbc3656fa95.44fed8e325ee2f69.98e2752387f54d61
+    9cc64ddcea1fb863.3a5ca62359a4c4ac.26c74363332e30e0.4a25a1a3cb80ca31
+    a03d98942bea8b18.a3c9eb0b0d7eb4f2.f1865ad8fc2819aa.7fbb2aecd352cfda
+    575dc8235000e0e1.18fc865e6ef08792.038818ae1b662673.12718aecba771988
+    e1133f8e9dfa6466
+VMASKMOVDQU_128(mem)
+  before
+    c66dc4bd97e76ca0.1e72d9f6f6edf36d.77c0f3099906f9b9.b61879512d7792e8
+    9e4a9567c44aec64.51c7c877b83e0066.9ae2aff8a9cdc592.6884792ecde49ab5
+    46782e774130a1dc.4caa8f13327e4278.5f2e3518bb50a84a.741615af983b7a85
+    98c10cda2aa44734.6b652c370139f651.a0700153ea9b5e0d.351c474129076e05
+    09e00d511dd5b1e1
+  after
+    c66dc4bd97e76ca0.1e72d9f6f6edf36d.a0700153ea9b5e0d.b61c795129076e05
+    9e4a9567c44aec64.51c7c877b83e0066.9ae2aff8a9cdc592.6884792ecde49ab5
+    46782e774130a1dc.4caa8f13327e4278.5f2e3518bb50a84a.741615af983b7a85
+    98c10cda2aa44734.6b652c370139f651.a0700153ea9b5e0d.351c474129076e05
+    09e00d511dd5b1e1
+
+VMASKMOVDQU_128(reg)
+  before
+    4aaf63490f3080c4.72f2a97a9ab39999.0a459a4dc1fc579a.3a748f9753bba306
+    55d443979ca4175a.aed78344ad675437.8596d6c30c52a302.0a055bcf11bb3262
+    879daba65fbeb151.293c162480cf3439.38a4da0481c81433.eaf1e2e741a8c84c
+    3a5595e2f5098c52.bfecdc072ef4f5cc.7ebaa47cbae8e7d9.b7029ecbfe8d21f2
+    4d050d676476f87d
+  after
+    4aaf63490f3080c4.72f2a97a9ab39999.0a459a4dc1fc579a.3a748f9753bba306
+    55d443979ca4175a.aed78344ad675437.8596d6c30c52a302.0a055bcf11bb3262
+    879daba65fbeb151.293c162480cf3439.38a4da0481c81433.eaf1e2e741a8c84c
+    3a5595e2f5098c52.bfecdc072ef4f5cc.7ebaa47cbae8e7d9.b7029ecbfe8d21f2
+    4d050d676476f87d
+VMASKMOVDQU_128(mem)
+  before
+    89c6aba790700a1b.cb4700b7f911e10c.4db553d8d4e4521b.b5262f96534157a2
+    4511f2779e8513f8.97c0e5910763ef29.ad61f5828daa0853.383277c1e95ca137
+    5eb160c3a9c4cf40.f80c41dcbc8af056.bcbd40f37653d3a0.632b786617c70147
+    b0747078cd36f91e.4b771104b412213e.5695b016aaea6f2d.925d2ff27a0db37c
+    201497d1adbbf382
+  after
+    89c6aba790700a1b.cb4700b7f911e10c.56b5b016aaea521b.b5262ff27a41b3a2
+    4511f2779e8513f8.97c0e5910763ef29.ad61f5828daa0853.383277c1e95ca137
+    5eb160c3a9c4cf40.f80c41dcbc8af056.bcbd40f37653d3a0.632b786617c70147
+    b0747078cd36f91e.4b771104b412213e.5695b016aaea6f2d.925d2ff27a0db37c
+    201497d1adbbf382
+
+VMOVMSKPD_128(reg)
+  before
+    6b9bac704d5cfc06.17249e8027e94ebe.ec4d50768988be8e.57b5bfd7467b9727
+    ce406a39f57c0ab4.6f8e66c9d3e88a4d.38d9fa9cda7703f1.9be9eb22651208b9
+    a44dce9a41a75b37.947e453eeb4069f7.89690ce4416b2b14.fefdafe324bc7d10
+    4b0fd2fdce6a293c.62c0b6cb8efca6e8.3c4780b85af173a3.5cbc87069e85b458
+    91f3f078ef7767bc
+  after
+    6b9bac704d5cfc06.17249e8027e94ebe.ec4d50768988be8e.57b5bfd7467b9727
+    ce406a39f57c0ab4.6f8e66c9d3e88a4d.38d9fa9cda7703f1.9be9eb22651208b9
+    a44dce9a41a75b37.947e453eeb4069f7.89690ce4416b2b14.fefdafe324bc7d10
+    4b0fd2fdce6a293c.62c0b6cb8efca6e8.3c4780b85af173a3.5cbc87069e85b458
+    0000000000000000
+VMOVMSKPD_128(mem)
+  before
+    796e642334a05369.1dd274d03850b16f.b520355bd628fe4b.adc05486c2941649
+    f0f961f5890c338a.78e2af7e1ae62f7b.69693edcdfd12d4c.382083b914e152b3
+    d26062d809c5c44c.b68b807310b7de0c.5a684d3ac602ee18.39b309bded62618c
+    fb6fe3bad0d9c2db.3518e11bb74ffcd0.64eadf5fa6c7fedb.0cc4e3fee8a58081
+    0da10be8a236ea3e
+  after
+    796e642334a05369.1dd274d03850b16f.b520355bd628fe4b.adc05486c2941649
+    f0f961f5890c338a.78e2af7e1ae62f7b.69693edcdfd12d4c.382083b914e152b3
+    d26062d809c5c44c.b68b807310b7de0c.5a684d3ac602ee18.39b309bded62618c
+    fb6fe3bad0d9c2db.3518e11bb74ffcd0.64eadf5fa6c7fedb.0cc4e3fee8a58081
+    0da10be8a236ea3e
+
+VMOVMSKPD_128(reg)
+  before
+    98947fe7b6a0dc6e.46f16186fb53e962.4fd7d0e2ab3bc271.62b96f389b2d19c0
+    09ea3a68c06f92be.91b45628a540f40e.6212483587066f9b.32a279b1c33ffaf4
+    bcef39d55e2f48d9.b782408cebaba00a.c816457ee73c3dfb.af7079b737095fa3
+    0cef769c296d396c.94289a9ee9a1a983.de2fc42a686a693d.b5f1ec34159802f8
+    1fef4c1679f79f20
+  after
+    98947fe7b6a0dc6e.46f16186fb53e962.4fd7d0e2ab3bc271.62b96f389b2d19c0
+    09ea3a68c06f92be.91b45628a540f40e.6212483587066f9b.32a279b1c33ffaf4
+    bcef39d55e2f48d9.b782408cebaba00a.c816457ee73c3dfb.af7079b737095fa3
+    0cef769c296d396c.94289a9ee9a1a983.de2fc42a686a693d.b5f1ec34159802f8
+    0000000000000003
+VMOVMSKPD_128(mem)
+  before
+    cb3817487e32f446.5736ef27bfb4a222.0372e14ab92ccba4.01a9c0a6a51b2f0c
+    9496c9b64056bb97.f80f9fe4bc91bfa9.e22b8f7c7a5ac19a.8bcf345d3bdbcb15
+    55d6dc4bdc6eb13e.4bc8823eba8fccaa.0b21222145374891.d9ef1fbac5377803
+    ecc3cef56e869169.abab95a0583a04d4.5c1e152338cd1cb4.47537a2be0ba7383
+    3248421b27f0f741
+  after
+    cb3817487e32f446.5736ef27bfb4a222.0372e14ab92ccba4.01a9c0a6a51b2f0c
+    9496c9b64056bb97.f80f9fe4bc91bfa9.e22b8f7c7a5ac19a.8bcf345d3bdbcb15
+    55d6dc4bdc6eb13e.4bc8823eba8fccaa.0b21222145374891.d9ef1fbac5377803
+    ecc3cef56e869169.abab95a0583a04d4.5c1e152338cd1cb4.47537a2be0ba7383
+    3248421b27f0f741
+
+VMOVMSKPD_128(reg)
+  before
+    f41a74f6366642e8.332b19a010ab1841.7605d278301ea4d1.b0efe4706f2bf830
+    ea150b28aba78e25.08d93b36e1e802f5.07223731dec8e84d.e2600cf2055a9931
+    7085031d1f3f17a3.4598b0a4fb4a0bae.b94ebf38ffc40bf5.d03d08971768bbe2
+    e2b5594230bb1b0f.c835f2d67adcef9b.ead467f72e9c4a75.5452534ac0601a70
+    4c6b6cf71c4e7106
+  after
+    f41a74f6366642e8.332b19a010ab1841.7605d278301ea4d1.b0efe4706f2bf830
+    ea150b28aba78e25.08d93b36e1e802f5.07223731dec8e84d.e2600cf2055a9931
+    7085031d1f3f17a3.4598b0a4fb4a0bae.b94ebf38ffc40bf5.d03d08971768bbe2
+    e2b5594230bb1b0f.c835f2d67adcef9b.ead467f72e9c4a75.5452534ac0601a70
+    0000000000000002
+VMOVMSKPD_128(mem)
+  before
+    9253cc8a483f7dd1.9cf308017aa6d415.6b7c7fb97baa69e6.f40229db08dee178
+    03d7f0ef603efafc.fa890bc7988d7f60.0b39d23819c036bc.3522035128150cab
+    7cc355127f58a3b4.58c4600126fa589d.8538673e712b1148.0781f0c32bce06ba
+    d7e376e0c1983525.12f0031ac17c9a77.b344bab99ef6b8b7.c86bec9fac940c50
+    d22cf44f48f35a19
+  after
+    9253cc8a483f7dd1.9cf308017aa6d415.6b7c7fb97baa69e6.f40229db08dee178
+    03d7f0ef603efafc.fa890bc7988d7f60.0b39d23819c036bc.3522035128150cab
+    7cc355127f58a3b4.58c4600126fa589d.8538673e712b1148.0781f0c32bce06ba
+    d7e376e0c1983525.12f0031ac17c9a77.b344bab99ef6b8b7.c86bec9fac940c50
+    d22cf44f48f35a19
+
+VMOVMSKPD_256(reg)
+  before
+    830f02419a782bc3.f103cf43430a6c7a.8458ee7d049c829b.722b4894bc2ee534
+    356214e03eaebcf7.a6efdd2920ba04e0.0a4a1f988ce84cb5.9fb78cbbe8dd54ec
+    456f2598d2214964.d3721a7c75b5b882.001091d6f4eb3370.14b5021a3e12c30b
+    108331d5ef5e0eb4.525a042a5d06458d.c1f840a3d9327579.aef1269dd9d6ecbc
+    49377530d6378c2c
+  after
+    830f02419a782bc3.f103cf43430a6c7a.8458ee7d049c829b.722b4894bc2ee534
+    356214e03eaebcf7.a6efdd2920ba04e0.0a4a1f988ce84cb5.9fb78cbbe8dd54ec
+    456f2598d2214964.d3721a7c75b5b882.001091d6f4eb3370.14b5021a3e12c30b
+    108331d5ef5e0eb4.525a042a5d06458d.c1f840a3d9327579.aef1269dd9d6ecbc
+    0000000000000003
+VMOVMSKPD_256(mem)
+  before
+    c15269c050405f86.f0ea350333f04694.0071161ef5ba672d.ab4c296bd6474c7b
+    f210803763fe20f7.42f02c8f39632eaf.b984cd4458dcda8d.1959469b88b9f423
+    b93b35832c7c8cab.62e112e39e4402b2.595fa387a37859da.676b959d8a11ab1d
+    f0a0058ec6c65fcd.ac09e36dfe1efd48.bcce16d6f19ba13f.f0cd11de79ddab14
+    12cdb6cbf0a831b4
+  after
+    c15269c050405f86.f0ea350333f04694.0071161ef5ba672d.ab4c296bd6474c7b
+    f210803763fe20f7.42f02c8f39632eaf.b984cd4458dcda8d.1959469b88b9f423
+    b93b35832c7c8cab.62e112e39e4402b2.595fa387a37859da.676b959d8a11ab1d
+    f0a0058ec6c65fcd.ac09e36dfe1efd48.bcce16d6f19ba13f.f0cd11de79ddab14
+    12cdb6cbf0a831b4
+
+VMOVMSKPD_256(reg)
+  before
+    28b581cf8cff78ab.740b6a464ee9548a.7db39b97f47d5d1e.be9ca11a5f506de9
+    8dd26c55e86dbea3.2148e296dff0280d.2f2c37cf1cee5be0.3b97c04008a37b04
+    9f7075cba07e3d48.d223e86a96e79783.1fc0b28013fc3639.0f89ef3408a085bb
+    b8db989c51be3147.6567f8ae8eda5d18.a9bb0815743328d6.163fabe37c54483b
+    2c856f3780cb7faf
+  after
+    28b581cf8cff78ab.740b6a464ee9548a.7db39b97f47d5d1e.be9ca11a5f506de9
+    8dd26c55e86dbea3.2148e296dff0280d.2f2c37cf1cee5be0.3b97c04008a37b04
+    9f7075cba07e3d48.d223e86a96e79783.1fc0b28013fc3639.0f89ef3408a085bb
+    b8db989c51be3147.6567f8ae8eda5d18.a9bb0815743328d6.163fabe37c54483b
+    000000000000000a
+VMOVMSKPD_256(mem)
+  before
+    2d27b71e2f0fe744.365fcf3497bad84c.b5e28f4ee4d635f7.296935fcdc206f62
+    f5f0ff83a52e3c26.734718ff0dfe6c02.9e5e2736b3e7dc4d.fb1635a0e64e448a
+    5faec451ff343a80.cde16d694f142a16.fca83e5218170e45.7b0d056d2f4ae6fa
+    492b8076592b9c7f.9e77ccdefa8a4d33.ab8c4f8e2e74870c.059ba0d0529f8f5d
+    f40d0233ebd97c60
+  after
+    2d27b71e2f0fe744.365fcf3497bad84c.b5e28f4ee4d635f7.296935fcdc206f62
+    f5f0ff83a52e3c26.734718ff0dfe6c02.9e5e2736b3e7dc4d.fb1635a0e64e448a
+    5faec451ff343a80.cde16d694f142a16.fca83e5218170e45.7b0d056d2f4ae6fa
+    492b8076592b9c7f.9e77ccdefa8a4d33.ab8c4f8e2e74870c.059ba0d0529f8f5d
+    f40d0233ebd97c60
+
+VMOVMSKPD_256(reg)
+  before
+    a6ac27039784e9ae.8e34b1ddcd211f4e.435631cba9ec1307.86d5d6d7120a02ce
+    76c70cadf22d11f4.0a95d2727a227f1a.19ca969af9c4b63b.6b515017dfe33cb6
+    c0a9ac9b975f31dd.981a60227938780f.7a1ff9b985a0727d.35ca383cb10df1f0
+    e09e033b22a78517.168fd5d7e971c558.c3a05592ea0c8579.bf0e0a31a594dcaa
+    e7e742e2d783ba0e
+  after
+    a6ac27039784e9ae.8e34b1ddcd211f4e.435631cba9ec1307.86d5d6d7120a02ce
+    76c70cadf22d11f4.0a95d2727a227f1a.19ca969af9c4b63b.6b515017dfe33cb6
+    c0a9ac9b975f31dd.981a60227938780f.7a1ff9b985a0727d.35ca383cb10df1f0
+    e09e033b22a78517.168fd5d7e971c558.c3a05592ea0c8579.bf0e0a31a594dcaa
+    000000000000000b
+VMOVMSKPD_256(mem)
+  before
+    88225c3b62e64748.31f10df83090484b.5fbfaf7ee3d92321.519ba693c39229db
+    7d8bd52862c93f85.11efc63e5da6b828.4e786904867b4e98.7e5ae827adc09b4e
+    a4ed2895f4395df1.dbe42b7944750f58.c1847f53eb6301e7.a72a18ba4322177e
+    d716d16e33415eb7.ea1c3715818a8987.92b06e59309df93a.285730b82242d819
+    5d2d2e8de5ae1bc8
+  after
+    88225c3b62e64748.31f10df83090484b.5fbfaf7ee3d92321.519ba693c39229db
+    7d8bd52862c93f85.11efc63e5da6b828.4e786904867b4e98.7e5ae827adc09b4e
+    a4ed2895f4395df1.dbe42b7944750f58.c1847f53eb6301e7.a72a18ba4322177e
+    d716d16e33415eb7.ea1c3715818a8987.92b06e59309df93a.285730b82242d819
+    5d2d2e8de5ae1bc8
+
+VMOVMSKPS_128(reg)
+  before
+    a2f80ea529f21c3a.f4d04c9f3cedfe04.9ce3e67eb1706462.9fc8b0017136f2be
+    5303ca6c89991619.d5e816152b4af804.4c8434206fb4da95.c298c337c939a89f
+    cc9b604fa12f4611.582aa9ba1a6309e2.554d1e6858e128cb.d9eb22e755b2d608
+    690dcab80e40e8d0.5762837c2845edca.15889fc0078389b1.be8f4afd30ae3926
+    4e4eb56576388d24
+  after
+    a2f80ea529f21c3a.f4d04c9f3cedfe04.9ce3e67eb1706462.9fc8b0017136f2be
+    5303ca6c89991619.d5e816152b4af804.4c8434206fb4da95.c298c337c939a89f
+    cc9b604fa12f4611.582aa9ba1a6309e2.554d1e6858e128cb.d9eb22e755b2d608
+    690dcab80e40e8d0.5762837c2845edca.15889fc0078389b1.be8f4afd30ae3926
+    0000000000000002
+VMOVMSKPS_128(mem)
+  before
+    66f5e10b445d8d2f.86a307156b5938ff.af5c1f456efb60ea.e682b39519273bf3
+    e05049dbb528f673.7fa910d15505714d.3de3fa030a911d6b.268756542958783c
+    992b69c2e6a5841b.b06de25768d0d064.dbc58ea11813e17c.2fe38468d4a27c38
+    6d51beaaf2e0f354.753a7a153f4791f0.66cc590bb38e6847.5ee23a3db5928595
+    10cf733f68b3cdfc
+  after
+    66f5e10b445d8d2f.86a307156b5938ff.af5c1f456efb60ea.e682b39519273bf3
+    e05049dbb528f673.7fa910d15505714d.3de3fa030a911d6b.268756542958783c
+    992b69c2e6a5841b.b06de25768d0d064.dbc58ea11813e17c.2fe38468d4a27c38
+    6d51beaaf2e0f354.753a7a153f4791f0.66cc590bb38e6847.5ee23a3db5928595
+    10cf733f68b3cdfc
+
+VMOVMSKPS_128(reg)
+  before
+    9ff72bda8a91911c.3990c281f6e6fe4a.2a5bd37676f5f09e.bac5d62df80d6df9
+    68a75e7ab7b90c9f.d7b2f3310ec26228.2b1de9e6aa67281a.b47c81f3029dadbd
+    c829098b8ab67c32.2484cca85481db1a.d3cdb9d176287610.2ebdd749ed49e4c0
+    19ca26799f141b80.fcd3cad1e72e254d.80b53da477c4162a.0553531cd61dce2d
+    150c7056d9252631
+  after
+    9ff72bda8a91911c.3990c281f6e6fe4a.2a5bd37676f5f09e.bac5d62df80d6df9
+    68a75e7ab7b90c9f.d7b2f3310ec26228.2b1de9e6aa67281a.b47c81f3029dadbd
+    c829098b8ab67c32.2484cca85481db1a.d3cdb9d176287610.2ebdd749ed49e4c0
+    19ca26799f141b80.fcd3cad1e72e254d.80b53da477c4162a.0553531cd61dce2d
+    0000000000000009
+VMOVMSKPS_128(mem)
+  before
+    3ab2ade5116ea9f8.b8d5b3b093602636.3b686798e0d5fbed.8d2173c948c74317
+    501283b39a0413ad.0198ab9d0225d8ff.bd1221e95d831a26.565f56ad85be3a81
+    33f870ae91f1207d.505d0baa87ef6e88.5e9c73b07a433d23.36b9e2bdcc353715
+    bf30eec111438b93.0171cd45be4b247d.fad1d9da52212210.8b7d1463b6b6767e
+    aff5e70de1cf3269
+  after
+    3ab2ade5116ea9f8.b8d5b3b093602636.3b686798e0d5fbed.8d2173c948c74317
+    501283b39a0413ad.0198ab9d0225d8ff.bd1221e95d831a26.565f56ad85be3a81
+    33f870ae91f1207d.505d0baa87ef6e88.5e9c73b07a433d23.36b9e2bdcc353715
+    bf30eec111438b93.0171cd45be4b247d.fad1d9da52212210.8b7d1463b6b6767e
+    aff5e70de1cf3269
+
+VMOVMSKPS_128(reg)
+  before
+    006e5726e90ba882.d0867bd83705111c.7121efd944c43689.6d7ecf51022a831a
+    d934601a69f71474.42c593df1e446e44.fab66cd2b4e6df59.936fd202a5691d6d
+    9592fe55fd1eb1eb.f1bbb0c2e30b5d36.f97f409cab3e5c98.48705dda57eaab35
+    92d62e43420cbc95.b932506da1669b1e.cac768a3c457e9f3.684decc435b9ea9d
+    cfd2fbab5ae396d1
+  after
+    006e5726e90ba882.d0867bd83705111c.7121efd944c43689.6d7ecf51022a831a
+    d934601a69f71474.42c593df1e446e44.fab66cd2b4e6df59.936fd202a5691d6d
+    9592fe55fd1eb1eb.f1bbb0c2e30b5d36.f97f409cab3e5c98.48705dda57eaab35
+    92d62e43420cbc95.b932506da1669b1e.cac768a3c457e9f3.684decc435b9ea9d
+    000000000000000c
+VMOVMSKPS_128(mem)
+  before
+    58ca067de3746bfe.2a4aea50d44e711b.75f7edcc7562e42a.c8d9df539cbec216
+    e1038a25ec762450.ba3c30e84d6f0c2c.03d606cb7a0af384.5103a118cefe22ac
+    4547028f90f77ef2.9ff6fc784cfbc872.3e9a1457cc6a8658.c08faa5ef6a34662
+    6063eaa7eb033511.33c5486a6b7fe29a.0211945a898f57d3.71caf692b13969e3
+    c000821e9b4dc9dc
+  after
+    58ca067de3746bfe.2a4aea50d44e711b.75f7edcc7562e42a.c8d9df539cbec216
+    e1038a25ec762450.ba3c30e84d6f0c2c.03d606cb7a0af384.5103a118cefe22ac
+    4547028f90f77ef2.9ff6fc784cfbc872.3e9a1457cc6a8658.c08faa5ef6a34662
+    6063eaa7eb033511.33c5486a6b7fe29a.0211945a898f57d3.71caf692b13969e3
+    c000821e9b4dc9dc
+
+VMOVMSKPS_256(reg)
+  before
+    097c48704f6aa0f8.0d23bf591aa505d9.d3f4122c4686964f.2a0503c2ca842221
+    a88c46f2691d2be5.2a52fb9238e9a975.dcd155287a9c1f3e.9444dc7aad56a56d
+    f87a781286f0a54c.92be1c3c62dbde12.a8a60dcca24eba12.1b989b6e4e0f9ae4
+    5793d83b42724bdc.20319d44b38860db.94c136835b27a378.9acebd8ac8bdbeb2
+    efb2bcba376ccc02
+  after
+    097c48704f6aa0f8.0d23bf591aa505d9.d3f4122c4686964f.2a0503c2ca842221
+    a88c46f2691d2be5.2a52fb9238e9a975.dcd155287a9c1f3e.9444dc7aad56a56d
+    f87a781286f0a54c.92be1c3c62dbde12.a8a60dcca24eba12.1b989b6e4e0f9ae4
+    5793d83b42724bdc.20319d44b38860db.94c136835b27a378.9acebd8ac8bdbeb2
+    000000000000001b
+VMOVMSKPS_256(mem)
+  before
+    f40f16eab8268101.202364d9382c593e.b278fa9747fbeafd.fc6ccdb940b3161c
+    87b3460666fa99da.ae76175804ac0b21.225fb0203c4039a3.3cf4ccdaed7f4ea9
+    8268c8fa5ef1d0ba.5fd8ed24437d9d2f.4eb239caab6409fa.b1a53152ff1688cc
+    c3fb19b3bb19e2cc.8d95e2aa902c4a15.103d1383b272162e.b5caf88d12040030
+    a5b11bf7c1d6f182
+  after
+    f40f16eab8268101.202364d9382c593e.b278fa9747fbeafd.fc6ccdb940b3161c
+    87b3460666fa99da.ae76175804ac0b21.225fb0203c4039a3.3cf4ccdaed7f4ea9
+    8268c8fa5ef1d0ba.5fd8ed24437d9d2f.4eb239caab6409fa.b1a53152ff1688cc
+    c3fb19b3bb19e2cc.8d95e2aa902c4a15.103d1383b272162e.b5caf88d12040030
+    a5b11bf7c1d6f182
+
+VMOVMSKPS_256(reg)
+  before
+    dda498fda817996e.2438b41b9a7d8a3d.96f8f35488444f7e.46ccb9366d771b6a
+    b9f06a096453329f.83eb152016298539.d44e1a8fc651e717.ca2aa8cff77dd5db
+    95e18d899117f8c2.bae0b8ac4c2a8eeb.a5e355c8e7e04f8b.79245a3a6c9300ad
+    cdc3fde7caee2982.a6e219ad578b6380.63039f69867cc388.30874d64e9c2570b
+    c91dfc3789189721
+  after
+    dda498fda817996e.2438b41b9a7d8a3d.96f8f35488444f7e.46ccb9366d771b6a
+    b9f06a096453329f.83eb152016298539.d44e1a8fc651e717.ca2aa8cff77dd5db
+    95e18d899117f8c2.bae0b8ac4c2a8eeb.a5e355c8e7e04f8b.79245a3a6c9300ad
+    cdc3fde7caee2982.a6e219ad578b6380.63039f69867cc388.30874d64e9c2570b
+    00000000000000e5
+VMOVMSKPS_256(mem)
+  before
+    21b2e3a069a07c1d.bde2b791ab65ff8c.24bfb50e5459be24.6cfaf5e040b17fb7
+    14147f8ca567c228.c08ab5f2d107b68c.0e4107bb5e9f5b02.1a145198b00cbfc6
+    7f0d4ae557772471.3406f576d7608c2d.41358ba09169f846.cb9cb1fd7218be61
+    3c6bc2999edf5f22.74a372895afcbb1c.9967bda90ac34f1e.d9e0107b2361b934
+    a12a6b7e5f74ebea
+  after
+    21b2e3a069a07c1d.bde2b791ab65ff8c.24bfb50e5459be24.6cfaf5e040b17fb7
+    14147f8ca567c228.c08ab5f2d107b68c.0e4107bb5e9f5b02.1a145198b00cbfc6
+    7f0d4ae557772471.3406f576d7608c2d.41358ba09169f846.cb9cb1fd7218be61
+    3c6bc2999edf5f22.74a372895afcbb1c.9967bda90ac34f1e.d9e0107b2361b934
+    a12a6b7e5f74ebea
+
+VMOVMSKPS_256(reg)
+  before
+    7fc7bc72c1dc922f.28f8629393a82f67.dcad2997f5688004.f2a319c2e5ba1db3
+    d00301c3e525e8b1.1f81a6bf55e0506e.c870140c452f1792.28b41cd83d5a1d34
+    ee2a35de68dc291a.fdd20b09fd927d60.93383155e5debb71.186841d52ead0dcb
+    3687542de68c9316.9eb70c5daacb736c.9b517bdc7200a94f.9c8904a7d5c1a7a4
+    91e4e1384ea1a8ed
+  after
+    7fc7bc72c1dc922f.28f8629393a82f67.dcad2997f5688004.f2a319c2e5ba1db3
+    d00301c3e525e8b1.1f81a6bf55e0506e.c870140c452f1792.28b41cd83d5a1d34
+    ee2a35de68dc291a.fdd20b09fd927d60.93383155e5debb71.186841d52ead0dcb
+    3687542de68c9316.9eb70c5daacb736c.9b517bdc7200a94f.9c8904a7d5c1a7a4
+    000000000000007b
+VMOVMSKPS_256(mem)
+  before
+    d3455576b35acbcf.04675a1ef9c16052.defb25a77596edbc.3b06ef0f87211dd5
+    3e78db4c23f7cd79.b417441b4008cd7a.996cd2d37cffa97c.cea48758c1ce53b2
+    ae49efa6b8846a15.a2e10d9255ec1639.abd48fcddb1361da.b2784125bb91868f
+    fe830d708e0e5ecf.2a12b1eed4f9763c.f000d982adddd2ff.41cc18e111f9f31b
+    d9ed08f8608fd600
+  after
+    d3455576b35acbcf.04675a1ef9c16052.defb25a77596edbc.3b06ef0f87211dd5
+    3e78db4c23f7cd79.b417441b4008cd7a.996cd2d37cffa97c.cea48758c1ce53b2
+    ae49efa6b8846a15.a2e10d9255ec1639.abd48fcddb1361da.b2784125bb91868f
+    fe830d708e0e5ecf.2a12b1eed4f9763c.f000d982adddd2ff.41cc18e111f9f31b
+    d9ed08f8608fd600
+
+VMOVNTPD_128(reg)
+  before
+    d4260dd644e16aeb.0cf4b196c2a064d4.a8f62c9b5abc2a2e.44bc2bdc0e69b71a
+    90c524e7587aec87.b36658046f463950.78d87b0582c06ebc.83d401c91bc4cd55
+    6714489738e79881.cfa67da6b10d996f.f6069898e8927d92.8913d734f0f9d0dc
+    b760755281b3aa84.3c809c69a600405b.7eca81c02abc955b.32472909a8147cdc
+    593a74345f228c81
+  after
+    d4260dd644e16aeb.0cf4b196c2a064d4.a8f62c9b5abc2a2e.44bc2bdc0e69b71a
+    90c524e7587aec87.b36658046f463950.78d87b0582c06ebc.83d401c91bc4cd55
+    6714489738e79881.cfa67da6b10d996f.f6069898e8927d92.8913d734f0f9d0dc
+    b760755281b3aa84.3c809c69a600405b.7eca81c02abc955b.32472909a8147cdc
+    593a74345f228c81
+VMOVNTPD_128(mem)
+  before
+    dcb933a1322ebdf7.daf5a784ce6a5d3d.d6bf3137672be943.6c7131eae1cdefc3
+    9690e23c3c44cb68.2d1fda9abc99ee58.7831b9fe129b5151.1c47a580ab4eca78
+    628bfdf19a717203.0d2a0bfee6cb9980.00a0aea8c35b34b2.ea98d7f024cd6124
+    1e7601ac67c06df2.d462351ee98c9962.49da8e2395774d91.32b0c5a4e7d5ef73
+    4fda6a0a90f3b012
+  after
+    dcb933a1322ebdf7.daf5a784ce6a5d3d.49da8e2395774d91.32b0c5a4e7d5ef73
+    9690e23c3c44cb68.2d1fda9abc99ee58.7831b9fe129b5151.1c47a580ab4eca78
+    628bfdf19a717203.0d2a0bfee6cb9980.00a0aea8c35b34b2.ea98d7f024cd6124
+    1e7601ac67c06df2.d462351ee98c9962.49da8e2395774d91.32b0c5a4e7d5ef73
+    4fda6a0a90f3b012
+
+VMOVNTPD_128(reg)
+  before
+    9f63c28dbcb1e2ad.a51c6959c03d7962.df12546560692baa.2ea9d55aa4fc591b
+    7d98ca98079ebff0.d24bb1e5c0f5527e.8a87643fe8ed8b03.8ddafd390df5147c
+    44c37c990c438485.83cd553b84f3b373.320e62181ca4f519.403984acec6e3adf
+    5231d6fb672e6d1b.926fd2462743596c.31f1495c991ba49a.2591e59f5b748670
+    16b09cfe7912b55d
+  after
+    9f63c28dbcb1e2ad.a51c6959c03d7962.df12546560692baa.2ea9d55aa4fc591b
+    7d98ca98079ebff0.d24bb1e5c0f5527e.8a87643fe8ed8b03.8ddafd390df5147c
+    44c37c990c438485.83cd553b84f3b373.320e62181ca4f519.403984acec6e3adf
+    5231d6fb672e6d1b.926fd2462743596c.31f1495c991ba49a.2591e59f5b748670
+    16b09cfe7912b55d
+VMOVNTPD_128(mem)
+  before
+    f16025b5605583d0.022dd32bb5eab55c.ddfda2f4c5f20097.e47c1577faddd52f
+    906efcb12c47abf5.af057093910499f5.3e4343307b0b641d.a7fdc2d5db77c487
+    d1a69edcfaf7eaf9.b703a7a098075591.930c30e6659b402d.d6bf4ce2d973ad4c
+    8ed48624e56efc08.747576bf657f25dd.b626e5029ead51f0.cd0db00b905fcb2a
+    e834e9ba9bc75bcf
+  after
+    f16025b5605583d0.022dd32bb5eab55c.b626e5029ead51f0.cd0db00b905fcb2a
+    906efcb12c47abf5.af057093910499f5.3e4343307b0b641d.a7fdc2d5db77c487
+    d1a69edcfaf7eaf9.b703a7a098075591.930c30e6659b402d.d6bf4ce2d973ad4c
+    8ed48624e56efc08.747576bf657f25dd.b626e5029ead51f0.cd0db00b905fcb2a
+    e834e9ba9bc75bcf
+
+VMOVNTPD_128(reg)
+  before
+    8380f35d963698e4.a4c430730aba9d4d.44a5d85a95f94484.845bdf70424d5395
+    fa3dca5e1e38c018.f04119b784e688f5.81e0c9dfc300ef34.da78991c6e870146
+    a9b76b2bcf590d15.4c19bbdb6fff7a2b.897245b88c206296.92498ff23e681830
+    ec39d02f4326bc87.951694cbe90f2f1c.b6a649538be5d858.899a3ddfcdfb547e
+    9c371fcd374d715d
+  after
+    8380f35d963698e4.a4c430730aba9d4d.44a5d85a95f94484.845bdf70424d5395
+    fa3dca5e1e38c018.f04119b784e688f5.81e0c9dfc300ef34.da78991c6e870146
+    a9b76b2bcf590d15.4c19bbdb6fff7a2b.897245b88c206296.92498ff23e681830
+    ec39d02f4326bc87.951694cbe90f2f1c.b6a649538be5d858.899a3ddfcdfb547e
+    9c371fcd374d715d
+VMOVNTPD_128(mem)
+  before
+    a5ebb2aa99692af8.1f11f7d6192a081b.a8051f730b2562f4.65cad01b5cdc8e26
+    818371610e5b3c7c.9d89db8cebf22e7d.5fb2d8bff34ad0de.f328d67c9c91c0ac
+    0cccd8ddb32f6315.c4ee79bd55096a58.97e93c9cbd8c3507.ba0d57e2e78eaa95
+    2290630ca3f25bee.ef8cccd5f3fbf859.2c75c5f484f64d9a.17c550b9d861878d
+    669cbc6e0b969442
+  after
+    a5ebb2aa99692af8.1f11f7d6192a081b.2c75c5f484f64d9a.17c550b9d861878d
+    818371610e5b3c7c.9d89db8cebf22e7d.5fb2d8bff34ad0de.f328d67c9c91c0ac
+    0cccd8ddb32f6315.c4ee79bd55096a58.97e93c9cbd8c3507.ba0d57e2e78eaa95
+    2290630ca3f25bee.ef8cccd5f3fbf859.2c75c5f484f64d9a.17c550b9d861878d
+    669cbc6e0b969442
+
+VMOVNTPD_256(reg)
+  before
+    04de966b1db80d5e.9f9b8fd9fbafdf34.7aafcf416354142c.fa24f1b46495d3c4
+    4bd6dd1eaa532e8d.5fbbd630d673ac12.c0a2806b3ea1f97c.ddc03bc97a7484b1
+    98d28af14cf3327c.3ebbb6fd50497db5.1fb3dbc0226de3f6.b116201de19f1c8c
+    471c9b52a22556d7.1866ab2d863d1049.f22cdaadab451045.52f21a9eb6235782
+    9c20a737140af0be
+  after
+    04de966b1db80d5e.9f9b8fd9fbafdf34.7aafcf416354142c.fa24f1b46495d3c4
+    4bd6dd1eaa532e8d.5fbbd630d673ac12.c0a2806b3ea1f97c.ddc03bc97a7484b1
+    98d28af14cf3327c.3ebbb6fd50497db5.1fb3dbc0226de3f6.b116201de19f1c8c
+    471c9b52a22556d7.1866ab2d863d1049.f22cdaadab451045.52f21a9eb6235782
+    9c20a737140af0be
+VMOVNTPD_256(mem)
+  before
+    6b6c42d41863a46d.b4010aac4674d549.c9892faa945c1ff9.945a7b9d74b4ba16
+    9ba16761de372ebb.3bcdd56ad46ced7f.2df0c06295b167f2.6389b9fc1a461e14
+    088d93ca80944cd3.38ccf8fae99ad824.2067d83fa548a35f.b9059035388878ed
+    8efa40fb1c86b8e2.07496dc72089d3e5.7ebaf52fe12e906d.f41afcb66a05034a
+    6e14faea4d49fdda
+  after
+    8efa40fb1c86b8e2.07496dc72089d3e5.7ebaf52fe12e906d.f41afcb66a05034a
+    9ba16761de372ebb.3bcdd56ad46ced7f.2df0c06295b167f2.6389b9fc1a461e14
+    088d93ca80944cd3.38ccf8fae99ad824.2067d83fa548a35f.b9059035388878ed
+    8efa40fb1c86b8e2.07496dc72089d3e5.7ebaf52fe12e906d.f41afcb66a05034a
+    6e14faea4d49fdda
+
+VMOVNTPD_256(reg)
+  before
+    853e853e7ce09f46.09b5ece0ce172f13.0492323d15c6196e.23b5931c656eea47
+    93e5991c9457283d.548a1266b1556c93.8bf142c966dbe76a.eb232cf44c146d1b
+    f55532f1313ad269.4d442f77e24c2d8e.f8b399d5ac567985.b1d23ea2b22dd412
+    08da4c2aed13da77.cfb1bd017c062c2f.a72433ce85c30b6d.538c4412b4c4dc5b
+    ac1eba306de54120
+  after
+    853e853e7ce09f46.09b5ece0ce172f13.0492323d15c6196e.23b5931c656eea47
+    93e5991c9457283d.548a1266b1556c93.8bf142c966dbe76a.eb232cf44c146d1b
+    f55532f1313ad269.4d442f77e24c2d8e.f8b399d5ac567985.b1d23ea2b22dd412
+    08da4c2aed13da77.cfb1bd017c062c2f.a72433ce85c30b6d.538c4412b4c4dc5b
+    ac1eba306de54120
+VMOVNTPD_256(mem)
+  before
+    97541ce8fa9dbf8d.26c0e43167707c12.b59b3aee9b9125a3.f4900d218dadd8cc
+    f2f9e72776f711cf.ac52f57438ddf4e7.ddd0212c5cf9d615.3a4322385fa01d4e
+    98db96d7fefff412.f6de7b5effe47da1.221aeea6db49f9b2.d7886e81972816a0
+    64c4a5e6adc22481.61ae725a551354ed.5f461d48338d4ba5.26aded67d2d2ff6e
+    83fc9b56ac291363
+  after
+    64c4a5e6adc22481.61ae725a551354ed.5f461d48338d4ba5.26aded67d2d2ff6e
+    f2f9e72776f711cf.ac52f57438ddf4e7.ddd0212c5cf9d615.3a4322385fa01d4e
+    98db96d7fefff412.f6de7b5effe47da1.221aeea6db49f9b2.d7886e81972816a0
+    64c4a5e6adc22481.61ae725a551354ed.5f461d48338d4ba5.26aded67d2d2ff6e
+    83fc9b56ac291363
+
+VMOVNTPD_256(reg)
+  before
+    49c275bac0ba8f2c.3481903ea04b5c49.470fd7d6d9f6b477.72202bfe80d1871b
+    d64b76ffaa10af75.e2ded3cdf2a75996.054da53d2418dbea.357393b4df226a40
+    84e39a9107b7aee9.4ca7eb7ebfe0d793.f7b4d8fbd40503f3.860dd1566c8bb03f
+    b1d5dddc723cc935.4ca8533c2504926c.79906c7d8549683d.3fb861d041181545
+    3e41c00f7dd6557e
+  after
+    49c275bac0ba8f2c.3481903ea04b5c49.470fd7d6d9f6b477.72202bfe80d1871b
+    d64b76ffaa10af75.e2ded3cdf2a75996.054da53d2418dbea.357393b4df226a40
+    84e39a9107b7aee9.4ca7eb7ebfe0d793.f7b4d8fbd40503f3.860dd1566c8bb03f
+    b1d5dddc723cc935.4ca8533c2504926c.79906c7d8549683d.3fb861d041181545
+    3e41c00f7dd6557e
+VMOVNTPD_256(mem)
+  before
+    5d7468fd39d02b15.b86f3c4d882a3c04.c0ad87f53d1f454f.e72c5d2dd2714875
+    7a1dd78894135436.f4fbb24ee40d4303.82810394253cad66.9dd6a8785708dd47
+    6f08899ba7aa8b0f.c3c63a4c237219dd.6ff14405f96786dd.f7d848cbb19a645e
+    1900f82190a18eca.7f1cd3b4e0e3fb3f.64cac535d3ac8be1.517f39907cb41967
+    0717773553e1370d
+  after
+    1900f82190a18eca.7f1cd3b4e0e3fb3f.64cac535d3ac8be1.517f39907cb41967
+    7a1dd78894135436.f4fbb24ee40d4303.82810394253cad66.9dd6a8785708dd47
+    6f08899ba7aa8b0f.c3c63a4c237219dd.6ff14405f96786dd.f7d848cbb19a645e
+    1900f82190a18eca.7f1cd3b4e0e3fb3f.64cac535d3ac8be1.517f39907cb41967
+    0717773553e1370d
+
+VMOVNTPS_128(reg)
+  before
+    75ecff25d2aefbfd.55d3a1086b041793.854976f1b8ef25d5.3bd6020ed218799e
+    f749cbcc96a5a1e3.fd4b013b53e0e297.3298216f461fd24a.d1e1777d10b60c3f
+    e97cd9963a55646a.ee3593a66540ad02.e057cf9a26013f4b.03b9a06fa99300f1
+    a7cf25ef5b47823f.045dd435bc3132ff.ecd07cdef521a884.ab29facfbaba10df
+    a6fc00885e37f936
+  after
+    75ecff25d2aefbfd.55d3a1086b041793.854976f1b8ef25d5.3bd6020ed218799e
+    f749cbcc96a5a1e3.fd4b013b53e0e297.3298216f461fd24a.d1e1777d10b60c3f
+    e97cd9963a55646a.ee3593a66540ad02.e057cf9a26013f4b.03b9a06fa99300f1
+    a7cf25ef5b47823f.045dd435bc3132ff.ecd07cdef521a884.ab29facfbaba10df
+    a6fc00885e37f936
+VMOVNTPS_128(mem)
+  before
+    d0ff2e88b2167722.8c8fa9439409350d.1b8f3ed574be2ebb.b35024a74f0949a0
+    05fe00bad16446ce.f60863fe8226b981.10964f70aaf35c61.8f23c361cf475d4b
+    21c5f30ad82d2167.40864d8cc02b4c46.bd4082f37adc7a1e.dd95567811672133
+    00208164e27bc518.c654665aeba32809.ff57534bff86421e.f9f2d858b2f3d101
+    4086456e4d79a864
+  after
+    d0ff2e88b2167722.8c8fa9439409350d.ff57534bff86421e.f9f2d858b2f3d101
+    05fe00bad16446ce.f60863fe8226b981.10964f70aaf35c61.8f23c361cf475d4b
+    21c5f30ad82d2167.40864d8cc02b4c46.bd4082f37adc7a1e.dd95567811672133
+    00208164e27bc518.c654665aeba32809.ff57534bff86421e.f9f2d858b2f3d101
+    4086456e4d79a864
+
+VMOVNTPS_128(reg)
+  before
+    0c9c9a247f85e406.7eda28b40b5ced0e.e3c0a7d29e1a8a76.b2a83e6255fd718c
+    ba81d1e8e4a2be94.77c163e671db5775.f5140d62751cad39.b2ffc026994bc295
+    a681e825165c75b9.c79fafe72d05bd78.569d95750e36cffc.db285382e67ef264
+    2ce8da47b43f4322.4a4186a15de5dc44.64a73a7602f32a6e.09ef756259a1bd26
+    181fa2b20dc1df07
+  after
+    0c9c9a247f85e406.7eda28b40b5ced0e.e3c0a7d29e1a8a76.b2a83e6255fd718c
+    ba81d1e8e4a2be94.77c163e671db5775.f5140d62751cad39.b2ffc026994bc295
+    a681e825165c75b9.c79fafe72d05bd78.569d95750e36cffc.db285382e67ef264
+    2ce8da47b43f4322.4a4186a15de5dc44.64a73a7602f32a6e.09ef756259a1bd26
+    181fa2b20dc1df07
+VMOVNTPS_128(mem)
+  before
+    e386545e1fe91332.a802a3ba57d8657a.dc7366021d876f04.797ef8d3efe0fa39
+    48ee0952aa2516d4.761b40ea9eb2176e.5901caf488f833e5.f36ecbf771887d0a
+    22243c7acb82a418.f27eab43225995a9.9db62f65ba43e413.2cc2b04e2277ed8c
+    4df469c39d0b792b.7878e231815a1ad9.84600f40d0743eb9.82c8a244a13a876c
+    4fca9d46885c8655
+  after
+    e386545e1fe91332.a802a3ba57d8657a.84600f40d0743eb9.82c8a244a13a876c
+    48ee0952aa2516d4.761b40ea9eb2176e.5901caf488f833e5.f36ecbf771887d0a
+    22243c7acb82a418.f27eab43225995a9.9db62f65ba43e413.2cc2b04e2277ed8c
+    4df469c39d0b792b.7878e231815a1ad9.84600f40d0743eb9.82c8a244a13a876c
+    4fca9d46885c8655
+
+VMOVNTPS_128(reg)
+  before
+    f1159dbe736928f4.a5290c173dcc5038.6456e1205740e3a7.e9c9e871e598fc04
+    c2f59e1affeea7f5.0591a164c6d2e66d.1262a27d3f982cc2.aabe35e416badb1f
+    1fb69dc4c7763f03.4bf6a5945428f7f3.dde822b2d6ed30d4.a20b72857ee69737
+    65a3952a688d2ecb.5226939504da3ef9.23365e2db7cb2c89.ad7c1b403a29ec77
+    a6ddad01658e950c
+  after
+    f1159dbe736928f4.a5290c173dcc5038.6456e1205740e3a7.e9c9e871e598fc04
+    c2f59e1affeea7f5.0591a164c6d2e66d.1262a27d3f982cc2.aabe35e416badb1f
+    1fb69dc4c7763f03.4bf6a5945428f7f3.dde822b2d6ed30d4.a20b72857ee69737
+    65a3952a688d2ecb.5226939504da3ef9.23365e2db7cb2c89.ad7c1b403a29ec77
+    a6ddad01658e950c
+VMOVNTPS_128(mem)
+  before
+    6bf9a3b51c214f22.ee0a82b67dc0aef9.f5ebe752f2f578a9.3f9751587ebe5c8e
+    d69e79467aefd6e5.173561d6a39afc38.12121eb73984612f.8d56f7a1c853fb8f
+    c596aba29c03e57f.3c712cf575a75334.8367b2b0f594b5b8.68c04d7331154737
+    12aeb5b39d6a391f.b90ae17f9074f19a.26b52129432f2f70.2e214e3a53917a33
+    3ac5f562cd52d02f
+  after
+    6bf9a3b51c214f22.ee0a82b67dc0aef9.26b52129432f2f70.2e214e3a53917a33
+    d69e79467aefd6e5.173561d6a39afc38.12121eb73984612f.8d56f7a1c853fb8f
+    c596aba29c03e57f.3c712cf575a75334.8367b2b0f594b5b8.68c04d7331154737
+    12aeb5b39d6a391f.b90ae17f9074f19a.26b52129432f2f70.2e214e3a53917a33
+    3ac5f562cd52d02f
+
+VMOVNTPS_256(reg)
+  before
+    e7f8415739e487d6.9bb214679a2e8eef.ea4c7be08f8c1016.d6cae60e3e648c82
+    93052b8633d4d9d5.3a6e43a9ae5ea01c.2c83f6850e7bed54.6e707e4c033c881b
+    983ab05958ad03d7.cdadbe65f5032ad1.d9fa4ed8aacec3ff.cb7463cdadc5de66
+    54e1cd3d43fb4089.2e3d01878c2be93b.4efe8046ff10cfc3.caa2137e590a4b91
+    45c6094c22178bc5
+  after
+    e7f8415739e487d6.9bb214679a2e8eef.ea4c7be08f8c1016.d6cae60e3e648c82
+    93052b8633d4d9d5.3a6e43a9ae5ea01c.2c83f6850e7bed54.6e707e4c033c881b
+    983ab05958ad03d7.cdadbe65f5032ad1.d9fa4ed8aacec3ff.cb7463cdadc5de66
+    54e1cd3d43fb4089.2e3d01878c2be93b.4efe8046ff10cfc3.caa2137e590a4b91
+    45c6094c22178bc5
+VMOVNTPS_256(mem)
+  before
+    1aacc12225f95a30.21477d9f914ace96.3be889fb8fe19985.e7dc873ca8ce4d4d
+    231fb7eb7dbb73fe.5db8bce9dd27e7ab.ce7bd1ad1931f5dc.00de5f2441927949
+    3ded6895476a935b.62808789c31ec774.c4c2558a4628ba6c.f551046c67eb8e63
+    44e04f0b9e117672.8eebd8eae1b9ac9c.f989917c33d1a460.2180737fb562c946
+    e2b9a7c9c885669e
+  after
+    44e04f0b9e117672.8eebd8eae1b9ac9c.f989917c33d1a460.2180737fb562c946
+    231fb7eb7dbb73fe.5db8bce9dd27e7ab.ce7bd1ad1931f5dc.00de5f2441927949
+    3ded6895476a935b.62808789c31ec774.c4c2558a4628ba6c.f551046c67eb8e63
+    44e04f0b9e117672.8eebd8eae1b9ac9c.f989917c33d1a460.2180737fb562c946
+    e2b9a7c9c885669e
+
+VMOVNTPS_256(reg)
+  before
+    93469cb53cdfa118.15c5e8399ebcd76f.3b44ad78d086d0d0.4a9c0171fb396fe5
+    90754eb2abfdb560.8a68af0b64777380.c6d9019f2e1170bc.91c62253bb6bd626
+    3590b929b469df21.8095206e0c4f06ce.8cf4d1cb97e4c70b.abd46f108e739650
+    dde4da87f0b25b08.d317b84cb1504c88.e7e21768a68d1369.74936493915e6b8f
+    c8cd7dc7df37110e
+  after
+    93469cb53cdfa118.15c5e8399ebcd76f.3b44ad78d086d0d0.4a9c0171fb396fe5
+    90754eb2abfdb560.8a68af0b64777380.c6d9019f2e1170bc.91c62253bb6bd626
+    3590b929b469df21.8095206e0c4f06ce.8cf4d1cb97e4c70b.abd46f108e739650
+    dde4da87f0b25b08.d317b84cb1504c88.e7e21768a68d1369.74936493915e6b8f
+    c8cd7dc7df37110e
+VMOVNTPS_256(mem)
+  before
+    834e369a950a43fa.e6bcac38fe6164c1.5fbcf2926f8400d8.34efd1e2f7988e84
+    81e40cf7cee3be7f.ab662ba9770437f7.004e4a2d63f9dfea.cf66faa6278f7505
+    9e5a7acba7cf3dc7.872c5344f9261057.929a3c08a9baa5ec.14958e1ed100039b
+    b67bfc003bda7e01.d85c207720542a8c.f16c450e5cd40e07.60c689b8927775f0
+    0d47e8de067e07b0
+  after
+    b67bfc003bda7e01.d85c207720542a8c.f16c450e5cd40e07.60c689b8927775f0
+    81e40cf7cee3be7f.ab662ba9770437f7.004e4a2d63f9dfea.cf66faa6278f7505
+    9e5a7acba7cf3dc7.872c5344f9261057.929a3c08a9baa5ec.14958e1ed100039b
+    b67bfc003bda7e01.d85c207720542a8c.f16c450e5cd40e07.60c689b8927775f0
+    0d47e8de067e07b0
+
+VMOVNTPS_256(reg)
+  before
+    7862a6fec7a4f589.a5140f83a60e3b57.f9408fac8719c343.f990e02d9852d56a
+    fd64bf8374727a24.47f22d41057931f6.45259b51ca011527.86d289507a40b73f
+    f8982fd9a676d330.78ded42474261b09.1a5740d186985ce5.74fdbc631dab6fb2
+    c54cf26cfc3b3c57.14a77f1a0e22b6bd.d2227b98576bd629.9fdff5529e9ebbf1
+    e342b10918255525
+  after
+    7862a6fec7a4f589.a5140f83a60e3b57.f9408fac8719c343.f990e02d9852d56a
+    fd64bf8374727a24.47f22d41057931f6.45259b51ca011527.86d289507a40b73f
+    f8982fd9a676d330.78ded42474261b09.1a5740d186985ce5.74fdbc631dab6fb2
+    c54cf26cfc3b3c57.14a77f1a0e22b6bd.d2227b98576bd629.9fdff5529e9ebbf1
+    e342b10918255525
+VMOVNTPS_256(mem)
+  before
+    1cf36b74a74dfa7d.c0ca05a80f4df145.f718aa0eef78be3e.cbd14612d806bd9e
+    25be9f8069216523.456063f97d392da8.fdfcd2eb3434efb7.5fb19faba5f34ef1
+    dc6fc91777ad5443.b05808cce28a2d29.0121729ff8630455.ec0f81d05bc0c4ce
+    1cd16627effe810a.5cfff08bd9cd2c77.e15106155810ba43.cc35e8eb95f95de0
+    5c70d169f02853d3
+  after
+    1cd16627effe810a.5cfff08bd9cd2c77.e15106155810ba43.cc35e8eb95f95de0
+    25be9f8069216523.456063f97d392da8.fdfcd2eb3434efb7.5fb19faba5f34ef1
+    dc6fc91777ad5443.b05808cce28a2d29.0121729ff8630455.ec0f81d05bc0c4ce
+    1cd16627effe810a.5cfff08bd9cd2c77.e15106155810ba43.cc35e8eb95f95de0
+    5c70d169f02853d3
+
+VPACKSSWB_128(reg)
+  before
+    f90b36b708dbe355.c1b2f19aed1fa8a4.a7a118a4ff8d683c.78590a397047cdae
+    fd541540779e4810.a6dce65e8c1c873c.ec897b81ef561b24.a205faf85a15f9c2
+    c595696fdcfbbfb0.a91cc15ee802d8ff.8705159045b482dc.3a20533c3585f9aa
+    ad1c2fb2d08084e2.a43efe861edc5819.d35fe23c9e34d810.1e788ff21aa48a92
+    28d72c07287c68a8
+  after
+    0000000000000000.0000000000000000.807f7f807f7f7f80.807f807f80807f80
+    fd541540779e4810.a6dce65e8c1c873c.ec897b81ef561b24.a205faf85a15f9c2
+    c595696fdcfbbfb0.a91cc15ee802d8ff.8705159045b482dc.3a20533c3585f9aa
+    ad1c2fb2d08084e2.a43efe861edc5819.d35fe23c9e34d810.1e788ff21aa48a92
+    28d72c07287c68a8
+VPACKSSWB_128(mem)
+  before
+    360aa665781b4e16.12336174f1b9d352.750e1ac24ab6c2b5.2ee4def095615a6b
+    22de77fa288df908.4e27fd21db30e7ab.f75790fe879dd300.f3e1061ac7c8449a
+    ca1c1db154dd25ab.be44fe252973fd9a.05e7dc26f19c4725.7d9f5525d0f4d249
+    0893137617178e2b.bed560ec780e51ca.7d887a27a5c0da51.2a6dc77e4b714023
+    5596588fd4ccc9d5
+  after
+    360aa665781b4e16.12336174f1b9d352.750e1ac24ab6c2b5.2ee4def095615a6b
+    22de77fa288df908.4e27fd21db30e7ab.f75790fe879dd300.f3e1061ac7c8449a
+    0000000000000000.0000000000000000.7f7f7f807f80807f.80808080807f807f
+    0893137617178e2b.bed560ec780e51ca.7d887a27a5c0da51.2a6dc77e4b714023
+    5596588fd4ccc9d5
+
+VPACKSSWB_128(reg)
+  before
+    596505c5088faa0a.ba0ed5348d47efb3.aa2820e3638c1ee8.3907e6ebbe1348af
+    9427c98d82491e6f.ba58dfdad37a0570.de8738748679a2a0.16309d5f59a44c6c
+    6029a051df8362af.e63fae5105bb8c8d.b63fa60d7e61179d.f1cf1a70917ca3b4
+    1bb5867fbacbb277.188dbc863e173f38.8e9c6518e7d1b98c.a4b0d90983a908b2
+    0c9e57164a363993
+  after
+    0000000000000000.0000000000000000.80807f7f807f8080.807f80807f807f7f
+    9427c98d82491e6f.ba58dfdad37a0570.de8738748679a2a0.16309d5f59a44c6c
+    6029a051df8362af.e63fae5105bb8c8d.b63fa60d7e61179d.f1cf1a70917ca3b4
+    1bb5867fbacbb277.188dbc863e173f38.8e9c6518e7d1b98c.a4b0d90983a908b2
+    0c9e57164a363993
+VPACKSSWB_128(mem)
+  before
+    06670e82022ff082.1f177781afad4a73.2d0f87659a98db9a.c2ea71035b54c618
+    6cd57c3bc9a1e9ad.c99d70c55bb3664e.01908bdb364d1ce1.ae75c739797678ee
+    1bb51c2cb898e23d.76916cb65a6b41b5.71de42d22d3fbe39.ae896225dbc40bba
+    efd36a42ed1e9560.804167c047601854.57c42a389c7c7cce.1d713e351dc9bd27
+    597a57d4dc12c8e1
+  after
+    06670e82022ff082.1f177781afad4a73.2d0f87659a98db9a.c2ea71035b54c618
+    6cd57c3bc9a1e9ad.c99d70c55bb3664e.01908bdb364d1ce1.ae75c739797678ee
+    0000000000000000.0000000000000000.7f808080807f7f80.7f807f7f80807f7f
+    efd36a42ed1e9560.804167c047601854.57c42a389c7c7cce.1d713e351dc9bd27
+    597a57d4dc12c8e1
+
+VPACKSSWB_128(reg)
+  before
+    bdf0a96eb32a6996.c5fbe3678441bf42.44f75d4fbf1f26d6.900dbdf79e0f13cb
+    a51f31703f9ddcf0.77f80188980c1b0f.1f004bcf5d33a9e7.f8867afd50053f5c
+    6c53ea441bf75c9b.e2984292458c67f2.6ba82badbd29db35.6bfbda35cd69bcaf
+    70d8d057e4c52644.e2a5216fa8cc5d17.853bfb537c8bf869.c5385a8b324745ed
+    e20977eb9aab9745
+  after
+    0000000000000000.0000000000000000.7f7f80807f808080.7f7f7f80807f7f7f
+    a51f31703f9ddcf0.77f80188980c1b0f.1f004bcf5d33a9e7.f8867afd50053f5c
+    6c53ea441bf75c9b.e2984292458c67f2.6ba82badbd29db35.6bfbda35cd69bcaf
+    70d8d057e4c52644.e2a5216fa8cc5d17.853bfb537c8bf869.c5385a8b324745ed
+    e20977eb9aab9745
+VPACKSSWB_128(mem)
+  before
+    9e39ac4122a26de1.0cf9df1635937697.53ec1b0ddcd8baab.c904b62f35e73e32
+    d5967579e53885ed.9b0413ecaaeb883f.1139aa56febc39da.935159ab85c9e73a
+    63ea4f80ff779996.7b436944e05b97e9.f8584c382a8597d0.3f6cde3508bb302d
+    2402b4408e6d6608.0703dc8c736ee041.e4157c9e7a3f90b8.2aa24338584b55b9
+    ae3f831f14059187
+  after
+    9e39ac4122a26de1.0cf9df1635937697.53ec1b0ddcd8baab.c904b62f35e73e32
+    d5967579e53885ed.9b0413ecaaeb883f.1139aa56febc39da.935159ab85c9e73a
+    0000000000000000.0000000000000000.7f7f808080807f7f.7f80807f807f8080
+    2402b4408e6d6608.0703dc8c736ee041.e4157c9e7a3f90b8.2aa24338584b55b9
+    ae3f831f14059187
+
+VPAVGB_128(reg)
+  before
+    288f9b58d5742146.f4aa22a7ab26a76f.9a90682ffeb19ff2.b13bb6740df4e0be
+    f4dd854e3a2441a0.afae149f74ac19f6.92350a991daf0fa9.3b9877a6fcb2420f
+    6e773f6ddca12c41.31d90616040d78c9.4940bc366df46d11.5df63920658573d7
+    f1a7c42259781fd7.56f975f778558015.1cfb7c728a0df5d7.f5227acf64772f41
+    dee8b59d1496327a
+  after
+    0000000000000000.0000000000000000.6e3b636845d23e5d.4cc75863b19c5b73
+    f4dd854e3a2441a0.afae149f74ac19f6.92350a991daf0fa9.3b9877a6fcb2420f
+    6e773f6ddca12c41.31d90616040d78c9.4940bc366df46d11.5df63920658573d7
+    f1a7c42259781fd7.56f975f778558015.1cfb7c728a0df5d7.f5227acf64772f41
+    dee8b59d1496327a
+VPAVGB_128(mem)
+  before
+    f414677792ee37ae.dbba10d74d34560b.fad8dc2eec8eec06.68b345b90f85e3a6
+    12710a4af989fb08.87fc1ff953620d8c.f843b6a77ac679c7.87b5137898e8722b
+    16cd1c0165753ab5.51b9eef5088c7f04.2e06824e4109e385.d74ae319c2c3df12
+    dbf21887f3beafe0.953d77350741ea1f.77edb90f5b61e66c.b2c1af0a28a16606
+    756575b5670e42b4
+  after
+    f414677792ee37ae.dbba10d74d34560b.fad8dc2eec8eec06.68b345b90f85e3a6
+    12710a4af989fb08.87fc1ff953620d8c.f843b6a77ac679c7.87b5137898e8722b
+    0000000000000000.0000000000000000.f98ec96bb3aab367.78b42c9954b7ab69
+    dbf21887f3beafe0.953d77350741ea1f.77edb90f5b61e66c.b2c1af0a28a16606
+    756575b5670e42b4
+
+VPAVGB_128(reg)
+  before
+    7c8130881a97b0c7.3cad7acabf6e17b6.afd3b827ec0a878a.aec4d8d6e4dc3da7
+    2463ddeedec7eced.17cabfb5e4942e62.fac9ad36547595f1.b1565c90f986a563
+    c75576534e2a32cf.471561347e39b012.d46950ceda0d4eff.5a71c027b569dacb
+    c2a4f923064dbd1b.a759de33aa6b58ef.98009f5b1b5fef61.87df81893494970c
+    136d19a193109951
+  after
+    0000000000000000.0000000000000000.e7997f82974172f8.86648e5cd778c097
+    2463ddeedec7eced.17cabfb5e4942e62.fac9ad36547595f1.b1565c90f986a563
+    c75576534e2a32cf.471561347e39b012.d46950ceda0d4eff.5a71c027b569dacb
+    c2a4f923064dbd1b.a759de33aa6b58ef.98009f5b1b5fef61.87df81893494970c
+    136d19a193109951
+VPAVGB_128(mem)
+  before
+    d9e7065aeeeb9cc7.719b61caa4bbca7d.1564b19e8435e328.a1da9549b3f6b4c3
+    b619c3a260305c9a.3088aab4c10095a1.6b00566226a30de6.4d422e043c5ed8d0
+    87cecc6406eb94f5.5bb6d14dfba95a32.87fa4a69afc29158.f68666f855239835
+    26d49d8cfb290105.4e70d002ee4154dc.431e08a1389d2ca8.faf03a9298d2309d
+    b3cea43ca1f7dcb5
+  after
+    d9e7065aeeeb9cc7.719b61caa4bbca7d.1564b19e8435e328.a1da9549b3f6b4c3
+    b619c3a260305c9a.3088aab4c10095a1.6b00566226a30de6.4d422e043c5ed8d0
+    0000000000000000.0000000000000000.40328480556c7887.778e622778aac6ca
+    26d49d8cfb290105.4e70d002ee4154dc.431e08a1389d2ca8.faf03a9298d2309d
+    b3cea43ca1f7dcb5
+
+VPAVGB_128(reg)
+  before
+    7f6aa2630c1cd728.71f5b3065bf55ff6.6503a53d3554c04c.7c380bf4e0419a03
+    b811307477cf5ea3.42fe88be435c69f3.fcbb4b6c6c6fd92e.0f14d250c0b89794
+    bc0f48da7b9badd2.76bb9aa1ce69dc28.6fe4bffa301ddd2e.d67dd6a0f611de88
+    e5afe801b60dff60.eaf86499192874c3.1acafb521ceb06f6.ae4195cf9e552c0a
+    742a89cbd3923d47
+  after
+    0000000000000000.0000000000000000.b6d085b34e46db2e.7349d478db65bb8e
+    b811307477cf5ea3.42fe88be435c69f3.fcbb4b6c6c6fd92e.0f14d250c0b89794
+    bc0f48da7b9badd2.76bb9aa1ce69dc28.6fe4bffa301ddd2e.d67dd6a0f611de88
+    e5afe801b60dff60.eaf86499192874c3.1acafb521ceb06f6.ae4195cf9e552c0a
+    742a89cbd3923d47
+VPAVGB_128(mem)
+  before
+    0205307fb2d3cc6b.913f0a55c4b091fa.7881639440a5eded.59b8fde2cd649135
+    359e06d8562596a1.1a09ac4240109f4c.fd21117c5ded02d5.88fcc015de14b995
+    e9c185c0db935716.dd5aca34c7ba6501.55a5ec3f8f0b70a5.03e04057ec87bbc3
+    fa392b245e29cbf5.367e5e97f4391ec5.5cda6fc8ef0cf38a.25b17914924ad36a
+    4cbb68b96de83d37
+  after
+    0205307fb2d3cc6b.913f0a55c4b091fa.7881639440a5eded.59b8fde2cd649135
+    359e06d8562596a1.1a09ac4240109f4c.fd21117c5ded02d5.88fcc015de14b995
+    0000000000000000.0000000000000000.bb513a884fc978e1.71dadf7cd63ca565
+    fa392b245e29cbf5.367e5e97f4391ec5.5cda6fc8ef0cf38a.25b17914924ad36a
+    4cbb68b96de83d37
+
+VPAVGW_128(reg)
+  before
+    d34a08b018ee34d6.44d473f1fbf3ad6b.82c166d763190746.ee8a17039cfb47af
+    15aa556630e7f6f2.a35cd911cdfebaa4.1b6fdd60b1e75c2d.e7825edcafe42741
+    70264b48505fbc38.f39ed972f056aecb.5ed3bf9f792e5929.248dc23f46d4506b
+    3f0be7c015e3c553.1066f0fe8105450d.a73b08fe587b39e4.7f79be187dd67d5a
+    d510ce536ff66c3a
+  after
+    0000000000000000.0000000000000000.3d21ce80958b5aab.8608908e7b5c3bd6
+    15aa556630e7f6f2.a35cd911cdfebaa4.1b6fdd60b1e75c2d.e7825edcafe42741
+    70264b48505fbc38.f39ed972f056aecb.5ed3bf9f792e5929.248dc23f46d4506b
+    3f0be7c015e3c553.1066f0fe8105450d.a73b08fe587b39e4.7f79be187dd67d5a
+    d510ce536ff66c3a
+VPAVGW_128(mem)
+  before
+    011f6edc3940d736.dda6233c1afd4bf0.d68098a39b193a95.52f1b5ebe958390a
+    e1731ba0f6c17b7a.a841fd27fb3c8bba.21b84f4c5b9d4a90.bb42c1d1c9539449
+    50d65089c2851334.fa2870ed5529c15e.cdd991e5dc9e302a.3e7a281c94f8884a
+    2a148985ba965c8e.31a979fac4522888.b6b1d85a3b27aa8e.37e5e638e4d24fbc
+    02cef891576d2549
+  after
+    011f6edc3940d736.dda6233c1afd4bf0.d68098a39b193a95.52f1b5ebe958390a
+    e1731ba0f6c17b7a.a841fd27fb3c8bba.21b84f4c5b9d4a90.bb42c1d1c9539449
+    0000000000000000.0000000000000000.7c1c73f87b5b4293.871abbded95666aa
+    2a148985ba965c8e.31a979fac4522888.b6b1d85a3b27aa8e.37e5e638e4d24fbc
+    02cef891576d2549
+
+VPAVGW_128(reg)
+  before
+    fb8358938955489d.4bfb427ffa0212b4.a70f12bae342fee3.b80aa297934472e9
+    7e4e04aa1517f266.8f55f8639cd5f1d3.baa539994e867c1c.afb16a8901024566
+    e77cf742983e604d.d2f0251cbf19b417.c4b8e903a2a9e1df.7772ac1aa06cde32
+    92592ec8ad57ce01.ef9647987ddc18ac.23941e657a3767d7.eb19e4378d8efb79
+    e9718fcde3755566
+  after
+    0000000000000000.0000000000000000.bfaf914e7898aefe.93928b5250b791cc
+    7e4e04aa1517f266.8f55f8639cd5f1d3.baa539994e867c1c.afb16a8901024566
+    e77cf742983e604d.d2f0251cbf19b417.c4b8e903a2a9e1df.7772ac1aa06cde32
+    92592ec8ad57ce01.ef9647987ddc18ac.23941e657a3767d7.eb19e4378d8efb79
+    e9718fcde3755566
+VPAVGW_128(mem)
+  before
+    4c4827c7be2cab25.db31a3a6f0ec772c.c414d9c3f22ad9bc.3185d52973bd4bb0
+    ef682a103bbfb8e4.1e50544aff8c987a.2c3658873b0db376.4bd709bd28c6c918
+    b09e1396763b37cd.b6013c1e73c06d98.02c73ed173936104.cdd6b58b36de1db9
+    6ab65f448aabe50c.01925790ea163232.2495098db7c8a093.14cdd8013892823f
+    7a096b8acb6d3557
+  after
+    4c4827c7be2cab25.db31a3a6f0ec772c.c414d9c3f22ad9bc.3185d52973bd4bb0
+    ef682a103bbfb8e4.1e50544aff8c987a.2c3658873b0db376.4bd709bd28c6c918
+    0000000000000000.0000000000000000.78259925969cc699.3eae6f734e428a64
+    6ab65f448aabe50c.01925790ea163232.2495098db7c8a093.14cdd8013892823f
+    7a096b8acb6d3557
+
+VPAVGW_128(reg)
+  before
+    5cd66b928afb71ad.f87c8906931c7dce.5a4da20bff1922f3.6d6a34a822b72c4e
+    1680d58512c974ec.38bb0cc8ae98bc3f.1c7f17fb4f567a88.b8143b0cd16cc062
+    0453a4cffe6278c1.04416676f62d5e8a.a574b4cc7658769d.e35d9ba7dff319fb
+    829bd4dceb53b9d7.3ad813fd88e71fdc.507874ea0eab51dd.c811cf646859f344
+    45fe522f89a90a69
+  after
+    0000000000000000.0000000000000000.60fa666462d77893.cdb96b5ad8b06d2f
+    1680d58512c974ec.38bb0cc8ae98bc3f.1c7f17fb4f567a88.b8143b0cd16cc062
+    0453a4cffe6278c1.04416676f62d5e8a.a574b4cc7658769d.e35d9ba7dff319fb
+    829bd4dceb53b9d7.3ad813fd88e71fdc.507874ea0eab51dd.c811cf646859f344
+    45fe522f89a90a69
+VPAVGW_128(mem)
+  before
+    34efa3f45eef1998.eda36218742675db.b44d8d477fd1bb61.78d654c2b6db48f5
+    72af3b9f0238ddfa.9fb948f03569e679.506c5242f8f7ed44.7bdc4ebe07759790
+    dc0c971c918f12be.f52784cecba8495c.e801ddd80e6572b1.b3d4604ba0047a5b
+    4cd034572801730e.4b3a1120d16eda31.59d8aaf7de2805d6.7e0b85d61a152c01
+    36cdb9c91433ea2f
+  after
+    34efa3f45eef1998.eda36218742675db.b44d8d477fd1bb61.78d654c2b6db48f5
+    72af3b9f0238ddfa.9fb948f03569e679.506c5242f8f7ed44.7bdc4ebe07759790
+    0000000000000000.0000000000000000.825d6fc5bc64d453.7a5951c05f287043
+    4cd034572801730e.4b3a1120d16eda31.59d8aaf7de2805d6.7e0b85d61a152c01
+    36cdb9c91433ea2f
+
+VPADDSB_128(reg)
+  before
+    3966f99227eaf091.9fc88d3ce399bd17.fc3eec50e447d4a3.80bc358a834b63dc
+    e1223f9cf1c779d2.b2bf1eb8dc63ac04.667f0fcca0bf745f.377bfb7d1adb49f2
+    8b4c89530e55c29f.5f8364b5326bfc02.e44878ffa063f610.5bdf77bcbee37042
+    9431d223192007a4.83dfd921ffbe683c.d2e7225580be9564.c8b525338b6f97f9
+    5ac981ce9f8b7842
+  after
+    0000000000000000.0000000000000000.4a7f7fcb80226a6f.7f5a7239d8be7f34
+    e1223f9cf1c779d2.b2bf1eb8dc63ac04.667f0fcca0bf745f.377bfb7d1adb49f2
+    8b4c89530e55c29f.5f8364b5326bfc02.e44878ffa063f610.5bdf77bcbee37042
+    9431d223192007a4.83dfd921ffbe683c.d2e7225580be9564.c8b525338b6f97f9
+    5ac981ce9f8b7842
+VPADDSB_128(mem)
+  before
+    eee707791344d04a.561e1678aeb5848c.fa9efbe75f68addf.8ca6093add5d8f04
+    5eda342005a55a3c.2e5d52be6a9f7403.a08d45f26f738717.6ed2291a52cb1e9f
+    877083b090bbd445.783a8161e96a14b6.517834304aedb20f.d3b77f617c947edf
+    45737013d191f891.91039fcec6a3a051.ea2b428c0ce1e9f4.19a1067cf644ed70
+    9bdbbad55c68a5ff
+  after
+    eee707791344d04a.561e1678aeb5848c.fa9efbe75f68addf.8ca6093add5d8f04
+    5eda342005a55a3c.2e5d52be6a9f7403.a08d45f26f738717.6ed2291a52cb1e9f
+    0000000000000000.0000000000000000.9a8040d97f7f80f6.fa8032542f28ada3
+    45737013d191f891.91039fcec6a3a051.ea2b428c0ce1e9f4.19a1067cf644ed70
+    9bdbbad55c68a5ff
+
+VPADDSB_128(reg)
+  before
+    b4b397da4c8be338.74b07837e433834b.d303a86f9dd55380.4572edf2d35ce9f1
+    c2739af55f3ae2c6.f0f31507e4ae30a0.9b8598b20b8c6aee.3f18b04eb8696d33
+    2068bd943300df56.9508c56eed0dbcbb.45d66c01ab552147.b4eb078dd91433e6
+    29defe2264691694.3fbb035a1c5ce3c9.2d421eca1abbb439.80b56e99526af535
+    7e43625f3e76704d
+  after
+    0000000000000000.0000000000000000.e08004b3b6e17f35.f303b7db917d7f19
+    c2739af55f3ae2c6.f0f31507e4ae30a0.9b8598b20b8c6aee.3f18b04eb8696d33
+    2068bd943300df56.9508c56eed0dbcbb.45d66c01ab552147.b4eb078dd91433e6
+    29defe2264691694.3fbb035a1c5ce3c9.2d421eca1abbb439.80b56e99526af535
+    7e43625f3e76704d
+VPADDSB_128(mem)
+  before
+    8c615eccb9445f59.3b21590b8d02c32b.cad74bb68ca861f6.af15ad78f34b5e6d
+    85dbdecbe0e07f86.b07dc8bb4a5622c8.122a1a6e5afcf16d.279b1277d38f5c92
+    457c5e47cf578c00.e63d489e38f16e16.f37eea6ea164505a.f1204a335516ea52
+    a8125b2ea1b542f2.37afd620f35fe4c2.48a039a37eed3aeb.69ef521816694459
+    eb562592b116a554
+  after
+    8c615eccb9445f59.3b21590b8d02c32b.cad74bb68ca861f6.af15ad78f34b5e6d
+    85dbdecbe0e07f86.b07dc8bb4a5622c8.122a1a6e5afcf16d.279b1277d38f5c92
+    0000000000000000.0000000000000000.dc016524e6a45263.d6b0bf7fc6da7fff
+    a8125b2ea1b542f2.37afd620f35fe4c2.48a039a37eed3aeb.69ef521816694459
+    eb562592b116a554
+
+VPADDSB_128(reg)
+  before
+    d39fbf0ec3a84aef.8a674f6b72045c88.001d6dad152dbf77.ef5c82f70ca26b4a
+    7d171cf6e7ab6fd6.c648b8ea5f5397f0.9ed40ab13de73de2.c37e4158678f9ea3
+    450a39b8b9ac4fb4.3a81119783abaf54.6b20a799051798af.a0d1f3b0acc19023
+    86c311bed6362735.c1ded75efb1a60e0.c54d42cf094b0c89.612313edf743fdf6
+    e43e1df96321a047
+  after
+    0000000000000000.0000000000000000.09f4b18042fed591.804f3408138080c6
+    7d171cf6e7ab6fd6.c648b8ea5f5397f0.9ed40ab13de73de2.c37e4158678f9ea3
+    450a39b8b9ac4fb4.3a81119783abaf54.6b20a799051798af.a0d1f3b0acc19023
+    86c311bed6362735.c1ded75efb1a60e0.c54d42cf094b0c89.612313edf743fdf6
+    e43e1df96321a047
+VPADDSB_128(mem)
+  before
+    04ef8dc20c683643.9e90a076dad63306.362b842ce2ab65c1.06a6d6c1e60fd71d
+    9c02df330f237b16.e8bbe24b6017aed3.773396eb556a7b23.8b795fda37ed3316
+    8a439038885e2beb.c091d3a80485d647.5fc488886f645e31.b010d98699735d21
+    a87d1bbd922601ef.815e70fb63ade50f.c9a8d6f04da4c918.d1b84131a72d90ea
+    4bbd9147fda60a1c
+  after
+    04ef8dc20c683643.9e90a076dad63306.362b842ce2ab65c1.06a6d6c1e60fd71d
+    9c02df330f237b16.e8bbe24b6017aed3.773396eb556a7b23.8b795fda37ed3316
+    0000000000000000.0000000000000000.7f5e801737157fe4.911f359b1dfc0a33
+    a87d1bbd922601ef.815e70fb63ade50f.c9a8d6f04da4c918.d1b84131a72d90ea
+    4bbd9147fda60a1c
+
+VPADDSW_128(reg)
+  before
+    786bc734386a0564.d47efcaf4986ba4d.896eb4af191917d7.93acfd0e0a367904
+    b50ede64f405be6d.e810aff8ca8b1232.320d9b31c058aa4a.979c77cdc2272a20
+    5ef1d343cc0470e4.c200b185303fc4c9.da8721ebf7f3d815.b344c21b92829899
+    cf62a13e5cf25875.3c1a7c4398b08d3f.dc27434a5778dee3.c16f59e396547e9a
+    9eebb911e9a79950
+  after
+    0000000000000000.0000000000000000.0c94bd1cb84b825f.800039e88000c2b9
+    b50ede64f405be6d.e810aff8ca8b1232.320d9b31c058aa4a.979c77cdc2272a20
+    5ef1d343cc0470e4.c200b185303fc4c9.da8721ebf7f3d815.b344c21b92829899
+    cf62a13e5cf25875.3c1a7c4398b08d3f.dc27434a5778dee3.c16f59e396547e9a
+    9eebb911e9a79950
+VPADDSW_128(mem)
+  before
+    27825c91a78aa5e6.64ab43bf415bb2cb.332a8e1c1dea29c0.933afcbb7f72f761
+    3601c050ed065d89.7919b83417ccba93.84fc62fedcf85477.5d0c48a8086e613a
+    a8346038d7297e65.6af8f90779d0ab78.095b75d4f0e6c991.94e9237f91f7561b
+    5ae7b83680fec4a5.939303a603f4c227.9f15418a75c0453a.951d89abb39912b0
+    bdf477970ce1d3a4
+  after
+    27825c91a78aa5e6.64ab43bf415bb2cb.332a8e1c1dea29c0.933afcbb7f72f761
+    3601c050ed065d89.7919b83417ccba93.84fc62fedcf85477.5d0c48a8086e613a
+    0000000000000000.0000000000000000.b826f11afae27e37.f04645637fff589b
+    5ae7b83680fec4a5.939303a603f4c227.9f15418a75c0453a.951d89abb39912b0
+    bdf477970ce1d3a4
+
+VPADDSW_128(reg)
+  before
+    66b9e8b1385ad3a4.26e645370492eb76.5038d37c52c23b4c.23f4440c8993849d
+    eebad864d2904f5c.e9fc812580efae03.fc3164f501c95292.6fc5f946456a41e6
+    af41431c76108277.7ff6eaee0f24ca79.f5ccb27dad9242a6.6054dc24c7523942
+    069b2545c165aaa1.c4a1fb7dce3afb04.9653ba80f1ab4833.d26d6a922b5628dd
+    a1db1e7c8c82cae3
+  after
+    0000000000000000.0000000000000000.f1fd1772af5b7fff.7fffd56a0cbc7b28
+    eebad864d2904f5c.e9fc812580efae03.fc3164f501c95292.6fc5f946456a41e6
+    af41431c76108277.7ff6eaee0f24ca79.f5ccb27dad9242a6.6054dc24c7523942
+    069b2545c165aaa1.c4a1fb7dce3afb04.9653ba80f1ab4833.d26d6a922b5628dd
+    a1db1e7c8c82cae3
+VPADDSW_128(mem)
+  before
+    a96c73cf06e3da7f.4f147b4c4f1b0187.95c730bed83ffdcf.3b13766a6a9fa0e6
+    c6eae875b68415dd.e6f7409bbbbfc4d5.cc35069d4a3e8b07.3f57e4a8b3fb856b
+    d522f65cb771372b.289270a0a1dc2e37.46b6f8063f4462d7.006dffa4694a346d
+    b0e01a6f26b6fc92.6f2f08c59efe7c58.df1882e5d35c3d6c.d9a0c3cb2718e999
+    253b2d8a8af1df9a
+  after
+    a96c73cf06e3da7f.4f147b4c4f1b0187.95c730bed83ffdcf.3b13766a6a9fa0e6
+    c6eae875b68415dd.e6f7409bbbbfc4d5.cc35069d4a3e8b07.3f57e4a8b3fb856b
+    0000000000000000.0000000000000000.8000375b227d88d6.7a6a5b121e9a8000
+    b0e01a6f26b6fc92.6f2f08c59efe7c58.df1882e5d35c3d6c.d9a0c3cb2718e999
+    253b2d8a8af1df9a
+
+VPADDSW_128(reg)
+  before
+    428b384c2d62541d.33f0d1991f601f41.181c02784db2eae4.732520262392daf2
+    8adcdf7dacf682cd.3c1e96c8bc7b5d62.7fa35c244b83b489.deab4eb64bf3f394
+    5b7a2188a43aa557.a635e5e71c117121.0011113433fe15f0.fc74897f668a457f
+    0fb1f7dbb1b9fb67.4d033be2583019ab.f7b11d16a2ad4ac8.a84d4c6f91638bde
+    c0011370e78b82de
+  after
+    0000000000000000.0000000000000000.7fb46d587f81ca79.db1fd8357fff3913
+    8adcdf7dacf682cd.3c1e96c8bc7b5d62.7fa35c244b83b489.deab4eb64bf3f394
+    5b7a2188a43aa557.a635e5e71c117121.0011113433fe15f0.fc74897f668a457f
+    0fb1f7dbb1b9fb67.4d033be2583019ab.f7b11d16a2ad4ac8.a84d4c6f91638bde
+    c0011370e78b82de
+VPADDSW_128(mem)
+  before
+    1f5e5a70840de6ab.04cc5fe26effbea8.0d5213a68fe40f2c.c0d17d35331e8fbb
+    a12e9d5a85f57370.9419530777992bc7.c2efe81dda3710d0.b7bc2cfd83dd1f75
+    223f591a0550e45a.1de2d1b769127d70.48a638345737d7c1.38bd25db2d7538a3
+    7d5b099c2129f694.f974d55edff6f24e.7a437fd822f0222e.9f216739ce7214f1
+    4834eb840160ef0b
+  after
+    1f5e5a70840de6ab.04cc5fe26effbea8.0d5213a68fe40f2c.c0d17d35331e8fbb
+    a12e9d5a85f57370.9419530777992bc7.c2efe81dda3710d0.b7bc2cfd83dd1f75
+    0000000000000000.0000000000000000.d041fbc380001ffc.80007fffb6fbaf30
+    7d5b099c2129f694.f974d55edff6f24e.7a437fd822f0222e.9f216739ce7214f1
+    4834eb840160ef0b
+
+VPHADDW_128(reg)
+  before
+    8e42af2962cc079c.904f29ccf48c654b.851b596976d2c40d.369137f3566caa41
+    cf96ad928e419650.36e736969b86edaa.1e235b42c931305b.575ede7310b92e27
+    667ee32d214cd9d4.4aeeaae6312249df.1ed7d657759f71e1.b874ef436be3690b
+    af444d65b6780bd4.aa3203a9d36c3613.e285c61315a9c44e.37a0e64e83f4161a
+    afae408275fbf280
+  after
+    0000000000000000.0000000000000000.f52ee780a7b7d4ee.7965f98c35d13ee0
+    cf96ad928e419650.36e736969b86edaa.1e235b42c931305b.575ede7310b92e27
+    667ee32d214cd9d4.4aeeaae6312249df.1ed7d657759f71e1.b874ef436be3690b
+    af444d65b6780bd4.aa3203a9d36c3613.e285c61315a9c44e.37a0e64e83f4161a
+    afae408275fbf280
+VPHADDW_128(mem)
+  before
+    fb6a77ca5c01b868.0536e5a6e95169fb.317dbcc99c717075.c77727e146da654c
+    f99f0912551425fe.c69ea95c57632ff6.ba9d5134a93cb22e.27faf62fa3be9088
+    831b71477c3ff570.4dc994f39b3b9971.235c3fd415d9b96d.5f5a2d68c9e280ad
+    77a82b53eb8ee4e8.f502a2d75265e317.46870097fd55415c.cbe3caf953d17268
+    c7e0c94cdd17a264
+  after
+    fb6a77ca5c01b868.0536e5a6e95169fb.317dbcc99c717075.c77727e146da654c
+    f99f0912551425fe.c69ea95c57632ff6.ba9d5134a93cb22e.27faf62fa3be9088
+    0000000000000000.0000000000000000.ee460ce6ef58ac26.0bd15b6a1e293446
+    77a82b53eb8ee4e8.f502a2d75265e317.46870097fd55415c.cbe3caf953d17268
+    c7e0c94cdd17a264
+
+VPHADDW_128(reg)
+  before
+    af9f24ce04414b4e.af13b423c10eae92.1c97cf74186b4895.01e912687cbb0628
+    df6ad9eb64daabd2.092887a417ca0e9b.1cd2173787db0496.2e50f033ae18c3fc
+    b38fe310986ffb9b.5fb320c00ccfc12f.5301778a3e4055c7.aa8617e4b0773505
+    87583ea73c8a7a56.8e80fb65b9278279.1b6eeadbd62775d3.525901679ee4186e
+    00932ca8936b2764
+  after
+    0000000000000000.0000000000000000.ca8b9407c26ae57c.34098c711e837214
+    df6ad9eb64daabd2.092887a417ca0e9b.1cd2173787db0496.2e50f033ae18c3fc
+    b38fe310986ffb9b.5fb320c00ccfc12f.5301778a3e4055c7.aa8617e4b0773505
+    87583ea73c8a7a56.8e80fb65b9278279.1b6eeadbd62775d3.525901679ee4186e
+    00932ca8936b2764
+VPHADDW_128(mem)
+  before
+    91011394ab191f13.b711e61eedba63ae.735a947e3de10ea6.d2666c94ed1ba167
+    e26f321503f9bca6.9f08d7e04788f150.e80f68f7b10622e1.d234fa231fa8152f
+    cda80518b618ba4a.9b880e59e48260e7.ca69f1bc33a47757.79268ef3075b0dd6
+    2f7a098ae181d42b.07dc86f56333ee21.f535aeb9dfc6cc34.2187267042bfc409
+    27a2bd066b607773
+  after
+    91011394ab191f13.b711e61eedba63ae.735a947e3de10ea6.d2666c94ed1ba167
+    e26f321503f9bca6.9f08d7e04788f150.e80f68f7b10622e1.d234fa231fa8152f
+    0000000000000000.0000000000000000.07d84c873efa8e82.5106d3e7cc5734d7
+    2f7a098ae181d42b.07dc86f56333ee21.f535aeb9dfc6cc34.2187267042bfc409
+    27a2bd066b607773
+
+VPHADDW_128(reg)
+  before
+    e8c450211ecb61c2.e4afb9569f40c774.3e513b205e28d5a7.463f18dad079dba3
+    be39d92df88bbf9f.c81491680d614f51.9e342a4671eb5228.9753ac0b22c861d1
+    064d5696952cceb8.b8750dab46f128ef.82ce4dd3380ba14e.c53ce738f2bf19e9
+    1c4cc2c8903bc7b9.8e9eaa0d67fb0d7a.466ea2335111fdc5.acc8444e5c6ac118
+    28c13f377bd6138a
+  after
+    0000000000000000.0000000000000000.d0a1d959ac740ca8.c87ac413435e8499
+    be39d92df88bbf9f.c81491680d614f51.9e342a4671eb5228.9753ac0b22c861d1
+    064d5696952cceb8.b8750dab46f128ef.82ce4dd3380ba14e.c53ce738f2bf19e9
+    1c4cc2c8903bc7b9.8e9eaa0d67fb0d7a.466ea2335111fdc5.acc8444e5c6ac118
+    28c13f377bd6138a
+VPHADDW_128(mem)
+  before
+    15f454e16b0ecc6a.5c8119308543e94e.275be3798b8cbb1e.455f24d3558ba33a
+    4f2d0037491fa7e5.233a573811d06e22.5f7734dccfafed06.ddeccf1de204cf59
+    b238be2430146126.cbc1794ecf6f93e1.12c019204e70615e.6963a07f9409bdcd
+    1ae10a963df9b65a.b1637add5cab9438.1c000e3224dcd153.440e92640625a843
+    cc3aa137d5e4cd67
+  after
+    15f454e16b0ecc6a.5c8119308543e94e.275be3798b8cbb1e.455f24d3558ba33a
+    4f2d0037491fa7e5.233a573811d06e22.5f7734dccfafed06.ddeccf1de204cf59
+    0000000000000000.0000000000000000.0ad446aa6a32f8c5.9453bcb5ad09b15d
+    1ae10a963df9b65a.b1637add5cab9438.1c000e3224dcd153.440e92640625a843
+    cc3aa137d5e4cd67
+
+VPHADDD_128(reg)
+  before
+    5b33c9669cd268e4.63f360788bdb62ad.316c56515310acd3.590490ff6efefa11
+    4f44065cf77cb466.693c3cb637c5204a.a7280916512b185e.a498197148e297c3
+    02bb5585836eee9b.08861b3d5cc3ad5e.6fe28f98f1871484.db882876cd956596
+    d2e2b04edb32522d.1b9e78f717e2c514.e5e8e543d0b1dbf1.d99f36f9192220b6
+    7aabc0e54995844e
+  after
+    0000000000000000.0000000000000000.6169a41ca91d8e0c.f8532174ed7ab134
+    4f44065cf77cb466.693c3cb637c5204a.a7280916512b185e.a498197148e297c3
+    02bb5585836eee9b.08861b3d5cc3ad5e.6fe28f98f1871484.db882876cd956596
+    d2e2b04edb32522d.1b9e78f717e2c514.e5e8e543d0b1dbf1.d99f36f9192220b6
+    7aabc0e54995844e
+VPHADDD_128(mem)
+  before
+    9a76432878fb4c8b.190716219c561cc8.8050cfd1832d2499.658406838934aa52
+    14cd3aadc35f3598.3474806b62668719.12689cb8bdb08519.4b03eec4b99cbd53
+    c67c216046cdfba2.8076eb99c7ecd0cc.adb15c96e078a5bf.f2b19a73fb7550a0
+    8b4f742e1b525ad5.575854156a76338c.2cf98959089040b8.b8da04faeb4c9ee3
+    f8ca2ac726ace5cb
+  after
+    9a76432878fb4c8b.190716219c561cc8.8050cfd1832d2499.658406838934aa52
+    14cd3aadc35f3598.3474806b62668719.12689cb8bdb08519.4b03eec4b99cbd53
+    0000000000000000.0000000000000000.037df46aeeb8b0d5.d01921d104a0ac17
+    8b4f742e1b525ad5.575854156a76338c.2cf98959089040b8.b8da04faeb4c9ee3
+    f8ca2ac726ace5cb
+
+VPHADDD_128(reg)
+  before
+    0ecc074448225e02.3e12b00161f90d5c.1668b64de490eb06.6d0aa1ec5204112f
+    552e97dfec394835.bd9050c631ced163.1af00dabd4c435e5.4bb1203adae1d551
+    2b3ad703ae7ddd0f.e397d06aa9de6218.bd3e559dd3a04dd6.a1ba8031bb324849
+    eb3dc11c2b7a5a3d.8bf1acd7e5347ba5.5c9c8b8e80b06f85.4df13fbc11042644
+    2921d7c8f9612a6e
+  after
+    0000000000000000.0000000000000000.90dea3735cecc87a.efb443902692f58b
+    552e97dfec394835.bd9050c631ced163.1af00dabd4c435e5.4bb1203adae1d551
+    2b3ad703ae7ddd0f.e397d06aa9de6218.bd3e559dd3a04dd6.a1ba8031bb324849
+    eb3dc11c2b7a5a3d.8bf1acd7e5347ba5.5c9c8b8e80b06f85.4df13fbc11042644
+    2921d7c8f9612a6e
+VPHADDD_128(mem)
+  before
+    1318c73f8e5711f2.f0835396febdfb6b.936b60fb00ddd936.5357aaea747ed69d
+    e5a0880eedf297fd.985888ddc4d1fb44.d5d169c117e338f8.febbae1d4d98bfcb
+    7d869721313d77bb.3e075d5e19439774.2fef421445545417.b9139394a78a66ba
+    b596716577446e57.3ddecc83979e0ba9.7b9067e2a63ce8be.e0ad55b91ddf0717
+    cfd3f1f94b23dd8e
+  after
+    1318c73f8e5711f2.f0835396febdfb6b.936b60fb00ddd936.5357aaea747ed69d
+    e5a0880eedf297fd.985888ddc4d1fb44.d5d169c117e338f8.febbae1d4d98bfcb
+    0000000000000000.0000000000000000.94493a31c7d68187.edb4a2b94c546de8
+    b596716577446e57.3ddecc83979e0ba9.7b9067e2a63ce8be.e0ad55b91ddf0717
+    cfd3f1f94b23dd8e
+
+VPHADDD_128(reg)
+  before
+    e2d262c1cee225ca.6b9c91c5da1338fd.f327d3b9dd6e938d.9682541657a6b11a
+    75f6a47b42a91a78.7964732c77b791db.ba2f6d6d84406acc.5d8f869d749e6b57
+    e48bb3954203fa43.bcba9388693b341b.f04296092a9fcd13.aa8478611830d1a0
+    8bdd8c7a6a7cffd8.10696ec4cdacdee9.efac4afb6b17f80e.5a2da64f5f69a021
+    4a568c5466549407
+  after
+    0000000000000000.0000000000000000.1ae2631cc2b54a01.3e6fd839d22df1f4
+    75f6a47b42a91a78.7964732c77b791db.ba2f6d6d84406acc.5d8f869d749e6b57
+    e48bb3954203fa43.bcba9388693b341b.f04296092a9fcd13.aa8478611830d1a0
+    8bdd8c7a6a7cffd8.10696ec4cdacdee9.efac4afb6b17f80e.5a2da64f5f69a021
+    4a568c5466549407
+VPHADDD_128(mem)
+  before
+    54cba65a48fe697e.c638299657a166e3.523e7fccbe154b72.14b886aee2352668
+    5557714f2272dab2.f1e78854a4fd6a0f.5c05428c598236e2.bcb4458e2c8494ce
+    29c8681d0fbca4ce.6837a423ee1d4809.0b8a33f0b9ff5c64.41ea8307e4907eeb
+    ade807b22ce983fe.87747a6cd08c3c7c.3b99cfe4fa997925.00a73c85a6e6206d
+    56376d740f11b5fd
+  after
+    54cba65a48fe697e.c638299657a166e3.523e7fccbe154b72.14b886aee2352668
+    5557714f2272dab2.f1e78854a4fd6a0f.5c05428c598236e2.bcb4458e2c8494ce
+    0000000000000000.0000000000000000.1053cb3ef6edad16.b587796ee938da5c
+    ade807b22ce983fe.87747a6cd08c3c7c.3b99cfe4fa997925.00a73c85a6e6206d
+    56376d740f11b5fd
+
+VPHADDSW_128(reg)
+  before
+    9de61040bb9d7a49.bb84caf994033370.a9ea049ce7d68215.c8fe9055395b4950
+    320023564517abfd.30682ede64196f4d.2ce5401fce875580.8f84f42d91528712
+    71d1a220490a84c5.e85fad4db734f4c4.6bb12962222cf368.6af876591f89f097
+    b6a4870c6402404c.bf37c532aa627dff.c199bccf7e519579.362693c6ff0c400a
+    cfdac55f4ce83398
+  after
+    0000000000000000.0000000000000000.7fff15947fff1020.6d04240783b18000
+    320023564517abfd.30682ede64196f4d.2ce5401fce875580.8f84f42d91528712
+    71d1a220490a84c5.e85fad4db734f4c4.6bb12962222cf368.6af876591f89f097
+    b6a4870c6402404c.bf37c532aa627dff.c199bccf7e519579.362693c6ff0c400a
+    cfdac55f4ce83398
+VPHADDSW_128(mem)
+  before
+    11e08a102228846c.5dc6d084318c1c3e.91baf27958aec82a.8ceaf3d47e807a61
+    d8045dc49ed8f0b3.c38377f64d335348.3ab6ae0fdd258f73.27f1ccdbc047dcca
+    ff11ba69db053299.42277acd53832316.96f577de56d28f03.edf84252dd31f860
+    64d51eebf6ba0849.37fed575e009c654.8144c7d4dfc18309.3c4b51a473cb0ad0
+    6e38f53d1ea04dc6
+  after
+    11e08a102228846c.5dc6d084318c1c3e.91baf27958aec82a.8ceaf3d47e807a61
+    d8045dc49ed8f0b3.c38377f64d335348.3ab6ae0fdd258f73.27f1ccdbc047dcca
+    0000000000000000.0000000000000000.843320d880be7fff.e8c58000f4cc9d11
+    64d51eebf6ba0849.37fed575e009c654.8144c7d4dfc18309.3c4b51a473cb0ad0
+    6e38f53d1ea04dc6
+
+VPHADDSW_128(reg)
+  before
+    e10a2b89783cffed.e21a03340a032cf0.fe54825a8f5078ad.d66e1cdb93ff28af
+    ef0ceef4202c59f2.55ade73134ed5bb9.f3747fe8fde577cd.7341f2e18e973a21
+    f58b3aebb0fb9a81.995a45ce8f8350d1.71abc78bc552fd61.3387c3d1ed95758c
+    50d30bd8c435fc45.8aed9af837d1c863.d64656b084264715.f20e0d97cc06941c
+    8ca04b1f45f554fc
+  after
+    0000000000000000.0000000000000000.3936c2b3f7586321.735c75b26622c8b8
+    ef0ceef4202c59f2.55ade73134ed5bb9.f3747fe8fde577cd.7341f2e18e973a21
+    f58b3aebb0fb9a81.995a45ce8f8350d1.71abc78bc552fd61.3387c3d1ed95758c
+    50d30bd8c435fc45.8aed9af837d1c863.d64656b084264715.f20e0d97cc06941c
+    8ca04b1f45f554fc
+VPHADDSW_128(mem)
+  before
+    dc0af955776e7159.5a305d28f967bcea.0331609949e47f9d.7d8f28c1d5ea9194
+    c01893257b7ea75f.70ee2d48ea1c161e.e2f4159fe1c731a8.c2d23a2c542c168b
+    1395967b7030b139.ef5976a334e0458a.020034f51a869ab3.015d875b9e7713a6
+    b04f7d446f904c14.31bc34a4724087dd.3e223987102e75e7.967b0bbc4f58c490
+    dc77c2ba025965f6
+  after
+    dc0af955776e7159.5a305d28f967bcea.0331609949e47f9d.7d8f28c1d5ea9194
+    c01893257b7ea75f.70ee2d48ea1c161e.e2f4159fe1c731a8.c2d23a2c542c168b
+    0000000000000000.0000000000000000.63ca7fff7fff8000.f893136ffcfe6ab7
+    b04f7d446f904c14.31bc34a4724087dd.3e223987102e75e7.967b0bbc4f58c490
+    dc77c2ba025965f6
+
+VPHADDSW_128(reg)
+  before
+    319ea8c053093183.7510c46a97ab341b.936463b941c716c1.7426a040e0ca7f73
+    f03cba3cdff165e4.3ca6e7db018c247b.719e004d3c012ee2.7ed8e60fa6667381
+    749df399419f3dc5.e3db6281cb40d95f.27b406cc007b0dee.3a0386dd7d0f0e3e
+    1b0d4f44169ef4d1.447cb24a11d10ff4.12f271a228c0ed8e.8275fc9781d00cd5
+    34f8c429cfb62973
+  after
+    0000000000000000.0000000000000000.2e800e69c0e07fff.71eb6ae364e719e7
+    f03cba3cdff165e4.3ca6e7db018c247b.719e004d3c012ee2.7ed8e60fa6667381
+    749df399419f3dc5.e3db6281cb40d95f.27b406cc007b0dee.3a0386dd7d0f0e3e
+    1b0d4f44169ef4d1.447cb24a11d10ff4.12f271a228c0ed8e.8275fc9781d00cd5
+    34f8c429cfb62973
+VPHADDSW_128(mem)
+  before
+    2a595b8082cb2143.3fd7caa7f97bc7b4.3d545221ee4e8266.8ca63d3b505c0a71
+    42643b86b71daf73.3e49612f87c1f21c.a831bef27fc0ede0.f21b660415dca241
+    56e5e22989b8902c.73ad0e495bfcb1b3.63dd72a9de350d8f.a09ce96713cbefaa
+    43a8cb5315a77f9c.3950cf5f12b93f25.4826eb322ab89e9f.f276c1d2e5b52e5a
+    44f5eaaf27279bfa
+  after
+    2a595b8082cb2143.3fd7caa7f97bc7b4.3d545221ee4e8266.8ca63d3b505c0a71
+    42643b86b71daf73.3e49612f87c1f21c.a831bef27fc0ede0.f21b660415dca241
+    0000000000000000.0000000000000000.7fff8000c9e15acd.80006da0581fb81d
+    43a8cb5315a77f9c.3950cf5f12b93f25.4826eb322ab89e9f.f276c1d2e5b52e5a
+    44f5eaaf27279bfa
+
+VPMADDUBSW_128(reg)
+  before
+    f265606c76ac7139.e67973f276f639ef.ed7ea0df4783d91f.34d6a4797d565b3b
+    581220746dd1edc1.192354f1c9b17a51.ec837b3497e6bb4d.04ba196bf319018f
+    d1472432a9214b3e.b973ec3c29e5feed.90ab5ec99d6f205a.929ec6f2a9104cc9
+    bb526a14c628c65d.a335b6bfb29d81ef.3741430cf6a945f3.bb4d27fcba44f813
+    5b95b97343c3c099
+  after
+    0000000000000000.0000000000000000.800021fe29553272.b714f47caefbe193
+    581220746dd1edc1.192354f1c9b17a51.ec837b3497e6bb4d.04ba196bf319018f
+    d1472432a9214b3e.b973ec3c29e5feed.90ab5ec99d6f205a.929ec6f2a9104cc9
+    bb526a14c628c65d.a335b6bfb29d81ef.3741430cf6a945f3.bb4d27fcba44f813
+    5b95b97343c3c099
+VPMADDUBSW_128(mem)
+  before
+    4e40f74560986188.717dee855e729cca.b1352e6681e6be85.3b9229683d2066c3
+    711b5d5d2bd0970c.4f15aaf2108c0731.c03fd11db2cb72d8.f9eb09490e61bf77
+    9ef267a7c2761e50.b1669cc57501433d.ac1f1ad160585817.cd96e01b06f78bbb
+    b291920f4196b181.f2bcbe6b2c5e8e9a.51a0856ca79a2e6c.14e0ab4bc16e073a
+    28146543da536fa1
+  after
+    4e40f74560986188.717dee855e729cca.b1352e6681e6be85.3b9229683d2066c3
+    711b5d5d2bd0970c.4f15aaf2108c0731.c03fd11db2cb72d8.f9eb09490e61bf77
+    0000000000000000.0000000000000000.d1cb311c93148000.d4691f190f762fbf
+    b291920f4196b181.f2bcbe6b2c5e8e9a.51a0856ca79a2e6c.14e0ab4bc16e073a
+    28146543da536fa1
+
+VPMADDUBSW_128(reg)
+  before
+    66800a71ed31fe9c.89c45881c33c0dca.70620e50ce2e22f5.8b8f8edca49cae03
+    2a6e973f9794f1d6.ff5637e96575ed58.86a688e1f9fd3cfa.36b8b10b726a950a
+    d02b061b730984fb.f015aa33424d0f57.8fd2268949571754.2ee76be72e109eaa
+    b40455701e1bf3b8.38cb2e4b77ce2df2.e933e6b359c9f0b0.4fe8365bf49b8612
+    75879053de17096c
+  after
+    0000000000000000.0000000000000000.a706ab997fff576c.f7bc48e81b1cc39a
+    2a6e973f9794f1d6.ff5637e96575ed58.86a688e1f9fd3cfa.36b8b10b726a950a
+    d02b061b730984fb.f015aa33424d0f57.8fd2268949571754.2ee76be72e109eaa
+    b40455701e1bf3b8.38cb2e4b77ce2df2.e933e6b359c9f0b0.4fe8365bf49b8612
+    75879053de17096c
+VPMADDUBSW_128(mem)
+  before
+    7c8ff5bb0b8ee3e4.32427fa9335679b9.b3453d1e1f060456.ee15c3cdc5df03ba
+    40cedf7f940ecfa8.a63480344f4753aa.3d4f559656004fae.fcc4b9422a238c1d
+    9d0ecc8b98a38ae1.6c25557c0d79bd36.b1b5f1a139c9cb27.6d8cc47e2423c785
+    6f1c36cb3057d0be.e060f8ed0a79f309.ed438e2ae36c34ec.9fb8e1ed4e6aefa0
+    ec960bfb44854118
+  after
+    7c8ff5bb0b8ee3e4.32427fa9335679b9.b3453d1e1f060456.ee15c3cdc5df03ba
+    40cedf7f940ecfa8.a63480344f4753aa.3d4f559656004fae.fcc4b9422a238c1d
+    0000000000000000.0000000000000000.02f225d50a6a3bb0.fe5cc6c5f1cff9b6
+    6f1c36cb3057d0be.e060f8ed0a79f309.ed438e2ae36c34ec.9fb8e1ed4e6aefa0
+    ec960bfb44854118
+
+VPMADDUBSW_128(reg)
+  before
+    b2703e14a3fff899.91c49c2b7a385d69.5e3367f4e1d130d0.ccc4a61c71f5462b
+    4b9376a5066451d0.e1d277989252ec0e.42e89dfb2f10b137.2a05b765ff71bc0d
+    144baf180a418969.3a1144fc93af3ada.e8cc976f8fbfb2e9.e3d23cf0a8eb53c1
+    6ae4e6db4b21d90f.774f80459a5d03f9.ac2b4fbd9d6c6e93.d2f7b1aa886fc771
+    d540927dbc0ad449
+  after
+    0000000000000000.0000000000000000.cab02c70e731c521.fa5824949f1339c1
+    4b9376a5066451d0.e1d277989252ec0e.42e89dfb2f10b137.2a05b765ff71bc0d
+    144baf180a418969.3a1144fc93af3ada.e8cc976f8fbfb2e9.e3d23cf0a8eb53c1
+    6ae4e6db4b21d90f.774f80459a5d03f9.ac2b4fbd9d6c6e93.d2f7b1aa886fc771
+    d540927dbc0ad449
+VPMADDUBSW_128(mem)
+  before
+    c7795c565fc73576.a7a916586390806f.7656a65ec2680296.ea50c34ff6a222e1
+    836e89218eb3a724.28e83bfdf11bb834.12f3323327daf4de.fd89ee9336ee0a7e
+    e7ea98cb64d8e67e.49eb51358e4dbe0b.26f2a1b0e6c195fd.4320ccf4f8da6117
+    cdba023efd44adb1.67ff556cd8b2cda0.901f6dc11a29a11e.17625aded8f56557
+    d49b92bd73c850eb
+  after
+    c7795c565fc73576.a7a916586390806f.7656a65ec2680296.ea50c34ff6a222e1
+    836e89218eb3a724.28e83bfdf11bb834.12f3323327daf4de.fd89ee9336ee0a7e
+    0000000000000000.0000000000000000.59ee01264f1ea5fc.1512f4a7a680f212
+    cdba023efd44adb1.67ff556cd8b2cda0.901f6dc11a29a11e.17625aded8f56557
+    d49b92bd73c850eb
+
+VPHSUBW_128(reg)
+  before
+    d81772fd64e15e7f.13aa44687703b9e9.dc70420e6bd7239e.2a451452e01dd36e
+    7e22f50a48cbcdbe.9386db34eb20c651.058a1487e247fab2.d232114f54a9e818
+    21081850ba13d754.2b1a428e77a79015.3e99c743da8f8f87.62b0e1a490d99c49
+    1f14d53c5744b9ef.b531f56237a4d263.e3e857aeee391dca.b88cfe3eb3baaa2c
+    ae92e607d657cfee
+  after
+    0000000000000000.0000000000000000.88aab4f87ef40b70.0efd186b3f1d936f
+    7e22f50a48cbcdbe.9386db34eb20c651.058a1487e247fab2.d232114f54a9e818
+    21081850ba13d754.2b1a428e77a79015.3e99c743da8f8f87.62b0e1a490d99c49
+    1f14d53c5744b9ef.b531f56237a4d263.e3e857aeee391dca.b88cfe3eb3baaa2c
+    ae92e607d657cfee
+VPHSUBW_128(mem)
+  before
+    228e14ed18bdc7bb.d2932a38baeaae39.0f99709c46244964.50c5c135bad3e127
+    ee4c04da92f64ebe.98d212b28092f4de.131c3028c032b147.e17a0042dbe91749
+    ef9832bc63111f24.cb1a891444c7c58b.9e87aff2c2dbc536.f2541043ed06fbdd
+    023d1b7ea417f718.c9ba8ccca3155dec.8da66be66729425e.df9feda38ab6c88e
+    04a694cd5185bb09
+  after
+    228e14ed18bdc7bb.d2932a38baeaae39.0f99709c46244964.50c5c135bad3e127
+    ee4c04da92f64ebe.98d212b28092f4de.131c3028c032b147.e17a0042dbe91749
+    0000000000000000.0000000000000000.6103034070702654.1d0cf1151ec83b60
+    023d1b7ea417f718.c9ba8ccca3155dec.8da66be66729425e.df9feda38ab6c88e
+    04a694cd5185bb09
+
+VPHSUBW_128(reg)
+  before
+    bdb7002fdc0010fa.01083a0c731692c7.ecfd15453808faac.ba45e0f1cc2be4ea
+    661c2c34c7b2030c.c9c50b52ec19ab5d.912e22eba02dd678.023088fd0dea6707
+    5a231748af28cfec.36400a3c2a2dff05.159bae2a76102efb.4132e1f8447486e0
+    f716bad72fedb145.2445b3b6495c4aec.d28eb56e563b3de2.531966cc90d4fea2
+    15af93670a178b79
+  after
+    0000000000000000.0000000000000000.988fb8eba0c6426c.91bd364b86cd591d
+    661c2c34c7b2030c.c9c50b52ec19ab5d.912e22eba02dd678.023088fd0dea6707
+    5a231748af28cfec.36400a3c2a2dff05.159bae2a76102efb.4132e1f8447486e0
+    f716bad72fedb145.2445b3b6495c4aec.d28eb56e563b3de2.531966cc90d4fea2
+    15af93670a178b79
+VPHSUBW_128(mem)
+  before
+    61c1e4b4d148e890.9842134ee48de5c4.70a083ad66b5483e.25543423dd3c41d9
+    141bd59ffe73d314.99f31d176994a615.f41cf50b9d41b426.6b3926b5a79f748b
+    0a88e314afa50630.5574d49f5b8f31e3.8d8685be090e4bd0.fe8987904eef13a5
+    1fd689ff00e83d11.2a1334535509c2da.17aaafb0c627c969.3b8f532171b859d3
+    7e9886d2aa8683c0
+  after
+    61c1e4b4d148e890.9842134ee48de5c4.70a083ad66b5483e.25543423dd3c41d9
+    141bd59ffe73d314.99f31d176994a615.f41cf50b9d41b426.6b3926b5a79f748b
+    0000000000000000.0000000000000000.130de1890ecf649d.00ef16e5bb7cccec
+    1fd689ff00e83d11.2a1334535509c2da.17aaafb0c627c969.3b8f532171b859d3
+    7e9886d2aa8683c0
+
+VPHSUBW_128(reg)
+  before
+    23f11d1195e6cd18.2fcf434d0c4b36e3.731a399df38f94a8.6e54f0cff199ea1d
+    86e41349cf637388.16418ee8f0d7abd1.8bd6e0ebd2ace5f7.6e50c306a56f6918
+    03be64e6f389b0bc.b0f6e4bdc79a5808.d09324a88eecef73.f36aa441ffb50385
+    f6cb0c549ee5c160.d9bbc3b9ada0fbb3.9c9d0140c2dceec9.d96d0f6c1a787390
+    fb27807313c37766
+  after
+    0000000000000000.0000000000000000.54156087b0d703d0.5515134b54b6c3a9
+    86e41349cf637388.16418ee8f0d7abd1.8bd6e0ebd2ace5f7.6e50c306a56f6918
+    03be64e6f389b0bc.b0f6e4bdc79a5808.d09324a88eecef73.f36aa441ffb50385
+    f6cb0c549ee5c160.d9bbc3b9ada0fbb3.9c9d0140c2dceec9.d96d0f6c1a787390
+    fb27807313c37766
+VPHSUBW_128(mem)
+  before
+    3762744205a2c933.bb5607ff6b02e21f.6c5ba6c7bff34eff.4d40731f0a0720a5
+    68eb66c50d222622.aead5253f76c4ea5.47a409d219a10e18.3dc777b103f9bfb2
+    6a8ed2e9464e4960.2b1ae8bcddb0439f.456169c8d6b6f729.ca800862493e089d
+    19173498cd32ef19.8eeac5a6b959fbb9.425d4194123cc45e.4eb5229e77633611
+    26b3c1d229f487bc
+  after
+    3762744205a2c933.bb5607ff6b02e21f.6c5ba6c7bff34eff.4d40731f0a0720a5
+    68eb66c50d222622.aead5253f76c4ea5.47a409d219a10e18.3dc777b103f9bfb2
+    0000000000000000.0000000000000000.3a6c8f0c25df169e.c22ef47739eabbb9
+    19173498cd32ef19.8eeac5a6b959fbb9.425d4194123cc45e.4eb5229e77633611
+    26b3c1d229f487bc
+
+VPHSUBD_128(reg)
+  before
+    afc6e268fc7b3547.505109c0bddbd478.3369e57e29f4b29e.1a650c22ea4132e5
+    433a7fce8b867d60.ed0acc4b3254b4aa.76e345aec60ca6fb.a845495e79d1fde8
+    3f5a966e73a19ab3.cb0cf82749a94bda.b2a4e0a42e2d117c.cac97134dcf6e193
+    007422b64f56c9ec.c5240c3f1ee75435.45f7b2cafde330cc.5bbd02912ebe9913
+    36ec765f8c35e294
+  after
+    0000000000000000.0000000000000000.7b8830d8122d705f.4f29614dd18cb48a
+    433a7fce8b867d60.ed0acc4b3254b4aa.76e345aec60ca6fb.a845495e79d1fde8
+    3f5a966e73a19ab3.cb0cf82749a94bda.b2a4e0a42e2d117c.cac97134dcf6e193
+    007422b64f56c9ec.c5240c3f1ee75435.45f7b2cafde330cc.5bbd02912ebe9913
+    36ec765f8c35e294
+VPHSUBD_128(mem)
+  before
+    39234b8b11667841.e0d22011bc3346b6.b91e817fcc198ce6.8a29b78ecebb3e98
+    3e2ffd02da5d1647.3cc18aeb55c44dbd.81c6d5d36f4cae1b.dd87eb5b3d40788b
+    23da06af022679d2.708d5eb0b69419af.fbe78327248a77fd.995b4b9de7ff1a52
+    c2f1e47da5ce5d0d.d88297cc7d2fe735.024f076706e1a3bb.1cf2d2c067836099
+    c1977c305a58850b
+  after
+    39234b8b11667841.e0d22011bc3346b6.b91e817fcc198ce6.8a29b78ecebb3e98
+    3e2ffd02da5d1647.3cc18aeb55c44dbd.81c6d5d36f4cae1b.dd87eb5b3d40788b
+    0000000000000000.0000000000000000.12fb0b674491870a.ed85d8485fb88d30
+    c2f1e47da5ce5d0d.d88297cc7d2fe735.024f076706e1a3bb.1cf2d2c067836099
+    c1977c305a58850b
+
+VPHSUBD_128(reg)
+  before
+    e398455a5b0bc754.f93f125ae0607e25.d0ec31ab4321f3fe.71c8dd7f325dee7e
+    e03f2aa807275f22.a2920c31cfe89745.b41629b9a6f778b4.251f815cc3091475
+    12da2687f9388c1f.9bb44eee8d73659a.e04d7963423cb403.fb2070e8d6f1d0ca
+    d7b33564ceca88f7.be73557d360ca44f.b0de1f13b27ce099.cd9725118621dfaa
+    79501cc1f0a6fc40
+  after
+    0000000000000000.0000000000000000.61ef3aa0dbd15fe2.f2e14efb9de99319
+    e03f2aa807275f22.a2920c31cfe89745.b41629b9a6f778b4.251f815cc3091475
+    12da2687f9388c1f.9bb44eee8d73659a.e04d7963423cb403.fb2070e8d6f1d0ca
+    d7b33564ceca88f7.be73557d360ca44f.b0de1f13b27ce099.cd9725118621dfaa
+    79501cc1f0a6fc40
+VPHSUBD_128(mem)
+  before
+    d917d2e62f8be4b9.891753a9216a9057.e8999bcbe7c00f91.8013163792443b1f
+    cab7c16b60dd5340.85527cc48fa4e0eb.f6f39ec2bc9a638c.ac395a397f1fff44
+    28fd673c9ea70502.28afad20b302b35e.c24dda4fcfa65c6b.909be887149a6ab2
+    d0b53f4506f5b62b.cc7ce1292912475d.2972c95f3ff0b65b.8887bb8cee3fb515
+    f047cfb4a89d1f1a
+  after
+    d917d2e62f8be4b9.891753a9216a9057.e8999bcbe7c00f91.8013163792443b1f
+    cab7c16b60dd5340.85527cc48fa4e0eb.f6f39ec2bc9a638c.ac395a397f1fff44
+    0000000000000000.0000000000000000.ff2673c6123124e8.c5a6c4cad2e6a50b
+    d0b53f4506f5b62b.cc7ce1292912475d.2972c95f3ff0b65b.8887bb8cee3fb515
+    f047cfb4a89d1f1a
+
+VPHSUBD_128(reg)
+  before
+    2429206bdf3de26d.9cabc572b3d321e6.cf03144b8f60d693.0730e9dc26852c87
+    7f77aa1d2ead3bba.69ab76afc14e0360.8b9142f27e769cad.3951b4b4a0707b1c
+    5f7e6a36327866ab.1381cce94d7117c4.5d72688a94e2d657.99a2a8d2cabe5f46
+    1f895b23862b9eef.76f8450a73491b3f.a1f2807f6c30c13c.04ef4122bf7a9330
+    5604f9909cb0d507
+  after
+    0000000000000000.0000000000000000.37706dcd311bb674.f2e559bb671ec668
+    7f77aa1d2ead3bba.69ab76afc14e0360.8b9142f27e769cad.3951b4b4a0707b1c
+    5f7e6a36327866ab.1381cce94d7117c4.5d72688a94e2d657.99a2a8d2cabe5f46
+    1f895b23862b9eef.76f8450a73491b3f.a1f2807f6c30c13c.04ef4122bf7a9330
+    5604f9909cb0d507
+VPHSUBD_128(mem)
+  before
+    6bad4e087c6ddff6.1be6794ec7512030.6edd5c004de1c9fd.b45d883ea3ea9609
+    1fb5bb767bbc6d2a.aedfc0259076281b.d7fc8eb5fa45de29.f0fe7b31d59e946a
+    4eeabcc6b6a93dcf.36c22c127e26f25b.8d215517948215f0.b22356c69dd8f50a
+    d416cee549400910.0dd9ba832ceeb99d.6c182f1137a32b7d.561613679723f695
+    3824b082600bd2b8
+  after
+    6bad4e087c6ddff6.1be6794ec7512030.6edd5c004de1c9fd.b45d883ea3ea9609
+    1fb5bb767bbc6d2a.aedfc0259076281b.d7fc8eb5fa45de29.f0fe7b31d59e946a
+    0000000000000000.0000000000000000.df046dfdef8d0dcb.22494f74e4a01939
+    d416cee549400910.0dd9ba832ceeb99d.6c182f1137a32b7d.561613679723f695
+    3824b082600bd2b8
+
+VPHSUBSW_128(reg)
+  before
+    b4992882931cc71f.8d066bbd4f8e8d1a.917165e33659ba8d.50ad978f00b4dcfd
+    26c177d3cde30f76.5586113ce49f8718.1dd6299e39f431d6.15ab097d0ac2e49c
+    eae79ae1a9ebe767.08623b4c257db137.0c530320d14a5924.97e002c772d8fe85
+    5c598c18c4c08aa1.816665db2e36c8a3.bb36edd599e76f25.b216fc595302e7e5
+    421a751fca4c5be7
+  after
+    0000000000000000.0000000000000000.f6cd7fff6ae78bad.0bc8f7e2f3d2d9da
+    26c177d3cde30f76.5586113ce49f8718.1dd6299e39f431d6.15ab097d0ac2e49c
+    eae79ae1a9ebe767.08623b4c257db137.0c530320d14a5924.97e002c772d8fe85
+    5c598c18c4c08aa1.816665db2e36c8a3.bb36edd599e76f25.b216fc595302e7e5
+    421a751fca4c5be7
+VPHSUBSW_128(mem)
+  before
+    22b8e806f2c416b8.d86149e4b9ef35ce.9e5d0cd41ad68887.87c9e5292d58af82
+    30bcd2f8e773d384.ba4ccdb22403249b.3a14aa230567ac10.ca5ae6882a2855ea
+    47f1ade3c6674f76.5e6614eca28993b3.3158bdb40cf7f169.e233ec5e2be39c07
+    4325f7b1abab46ba.1ffb1b00cf0cbdc3.5ef3c1734a9213bf.29a1f418cd16c186
+    fceff820ab4c0012
+  after
+    22b8e806f2c416b8.d86149e4b9ef35ce.9e5d0cd41ad68887.87c9e5292d58af82
+    30bcd2f8e773d384.ba4ccdb22403249b.3a14aa230567ac10.ca5ae6882a2855ea
+    0000000000000000.0000000000000000.6e7780005d60822a.8000a6a91c2e2bc2
+    4325f7b1abab46ba.1ffb1b00cf0cbdc3.5ef3c1734a9213bf.29a1f418cd16c186
+    fceff820ab4c0012
+
+VPHSUBSW_128(reg)
+  before
+    b86bf6e462119458.ff222b50b14b737e.5b57dc584618e077.9fb1304cdc42ce3d
+    b75fe9cf8df2ba03.59b5c5abf45493ec.6dc55562a339357a.cf60872bdd16dd11
+    5619ce4dc97aaec0.2baa41ae91d16230.b193828983fcfb79.c9cb43fd6a17fd64
+    f1e39fcab135ac3b.53cd1c45a4ce9c77.820b5d3882ec6c1f.6bbddfac9e53ea65
+    8f03d72696d55f3e
+  after
+    0000000000000000.0000000000000000.d0f6777d7a32934d.e79d7fffb7cbfffb
+    b75fe9cf8df2ba03.59b5c5abf45493ec.6dc55562a339357a.cf60872bdd16dd11
+    5619ce4dc97aaec0.2baa41ae91d16230.b193828983fcfb79.c9cb43fd6a17fd64
+    f1e39fcab135ac3b.53cd1c45a4ce9c77.820b5d3882ec6c1f.6bbddfac9e53ea65
+    8f03d72696d55f3e
+VPHSUBSW_128(mem)
+  before
+    1369a8556da9191b.e40a5ab2e2b0ef1f.ace9d15c4858fced.3e7ae4dd3b96c519
+    d1bbcd273fdcd429.8cdafa71f776b419.11ccdcdf997a3fbd.402c12e34a854213
+    a7c5c1872a794c94.439e7b738d1337d4.6040b9bab4402114.e36de3b74c451eb8
+    6f530361478d3c87.66a4da243f14b4fd.7312e5dab4b75d1e.858853c3dc6396b4
+    80cb5f74976ae6b5
+  after
+    1369a8556da9191b.e40a5ab2e2b0ef1f.ace9d15c4858fced.3e7ae4dd3b96c519
+    d1bbcd273fdcd429.8cdafa71f776b419.11ccdcdf997a3fbd.402c12e34a854213
+    0000000000000000.0000000000000000.2473b495a6638983.cb137fffd2b7f78e
+    6f530361478d3c87.66a4da243f14b4fd.7312e5dab4b75d1e.858853c3dc6396b4
+    80cb5f74976ae6b5
+
+VPHSUBSW_128(reg)
+  before
+    3280013718e64a64.07300ca1b422612f.513611f1a9046640.270eda29b6eab006
+    f5f43776fc63fd70.492959338c4677b7.60a11e4468708a48.59001695d5e6d6f8
+    2773fc9fde6e3c83.120a6703ec05394c.ef31fc8b17e25bc2.e3b415092eb68b22
+    22494d1d5b93434a.3f9fb1fdf06a641a.5a32a83053e91759.a2f65170dc668aad
+    739148b8fc0290c8
+  after
+    0000000000000000.0000000000000000.0d5a43e031558000.bda38000bd950112
+    f5f43776fc63fd70.492959338c4677b7.60a11e4468708a48.59001695d5e6d6f8
+    2773fc9fde6e3c83.120a6703ec05394c.ef31fc8b17e25bc2.e3b415092eb68b22
+    22494d1d5b93434a.3f9fb1fdf06a641a.5a32a83053e91759.a2f65170dc668aad
+    739148b8fc0290c8
+VPHSUBSW_128(mem)
+  before
+    305274cca997599d.44c1245b0e5c4d70.aab4b30eb381b44c.fcf01ca1b80ef8ba
+    b6055398ff30a059.e7297fc7935797a2.3015ea205156e50f.33b75649e1df3b91
+    e17661081bda2227.68cb59cc87105d8b.ad8dd021e7f6b28f.5ad251946ae71b89
+    8e71180919a09b34.24f4afd68611dbd8.feeae3fc906dd8f7.cd8e09eef0b2d54f
+    e8377ac30ecda58e
+  after
+    305274cca997599d.44c1245b0e5c4d70.aab4b30eb381b44c.fcf01ca1b80ef8ba
+    b6055398ff30a059.e7297fc7935797a2.3015ea205156e50f.33b75649e1df3b91
+    0000000000000000.0000000000000000.085a00cb1fb140ac.ba0b93b9229259b2
+    8e71180919a09b34.24f4afd68611dbd8.feeae3fc906dd8f7.cd8e09eef0b2d54f
+    e8377ac30ecda58e
+
+VPABSB_128(reg)
+  before
+    0719a17f61c4c7f3.97c2f685148ec7ab.75f17b512be84c35.fdf69e9c69c51373
+    8580798f84217629.d934766928b161b9.b80bbbaa1221ed4d.877e7eef8d0c1e30
+    c0b8fe5d1372f0de.309414a27213268a.49916a4bd846facd.784efde0194db75a
+    130c2c56ac426ebb.78ae4c1a0dc3d249.84ce84a219e5ae60.ac31995b2895981d
+    fff5cd4dd6ef7da4
+  after
+    0000000000000000.0000000000000000.496f6a4b28460633.784e0320194d495a
+    8580798f84217629.d934766928b161b9.b80bbbaa1221ed4d.877e7eef8d0c1e30
+    c0b8fe5d1372f0de.309414a27213268a.49916a4bd846facd.784efde0194db75a
+    130c2c56ac426ebb.78ae4c1a0dc3d249.84ce84a219e5ae60.ac31995b2895981d
+    fff5cd4dd6ef7da4
+VPABSB_128(mem)
+  before
+    4d6415a04167241b.d9ca00e7e81e2f6f.8d4e9bbf16ca2123.c60d0519708a47b3
+    724ced41820a47af.703c747b65916da3.4b407b7ca936ce43.699bea1e79bfff72
+    4a77d21db7e3a28c.32af867ebf276506.8e506a3de01396d6.cac42e1cd1131248
+    b1b23f1efcfef3de.7d6f315b916c5342.324ae4eeda6b3408.45d4cd7e130fbee2
+    3617c3b2dc413deb
+  after
+    4d6415a04167241b.d9ca00e7e81e2f6f.8d4e9bbf16ca2123.c60d0519708a47b3
+    724ced41820a47af.703c747b65916da3.4b407b7ca936ce43.699bea1e79bfff72
+    0000000000000000.0000000000000000.734e654116362123.3a0d05197076474d
+    b1b23f1efcfef3de.7d6f315b916c5342.324ae4eeda6b3408.45d4cd7e130fbee2
+    3617c3b2dc413deb
+
+VPABSB_128(reg)
+  before
+    f9d90d23c734cb10.83c8b0326c68f4cf.abc7728077ed7204.13f9637bb04c6604
+    ea65a53d7174a6fd.9b87a143232c628e.1a0543590e36fff7.0c2a65d081c1e6f6
+    6508896d758e085d.d7ba8f3f3e56f945.2473a250f2d136c8.fba965d966d7710c
+    c60fb41d6f0d2edd.122cf411d8f37421.275e8ad2bd4c5322.bb42df837d99c270
+    28c14fb8e213964e
+  after
+    0000000000000000.0000000000000000.24735e500e2f3638.055765276629710c
+    ea65a53d7174a6fd.9b87a143232c628e.1a0543590e36fff7.0c2a65d081c1e6f6
+    6508896d758e085d.d7ba8f3f3e56f945.2473a250f2d136c8.fba965d966d7710c
+    c60fb41d6f0d2edd.122cf411d8f37421.275e8ad2bd4c5322.bb42df837d99c270
+    28c14fb8e213964e
+VPABSB_128(mem)
+  before
+    1df13266b052a9d3.68c423bafc7e5428.28aa4ea50e0e904d.7d12f74b0e3391b2
+    78a002770461b72b.a973d0b1b86cb5eb.f40018e7fbb309f6.83dbe6287f102d24
+    14983dd9f94d7c81.e46ab96c3e638ed2.54facfc3bcef9b48.960551d3ac716323
+    cca65e77ab20b302.75f4d9592aef1b88.2364ed266ccd016e.10dc36ba32e26e5c
+    4eab9048aced8c7b
+  after
+    1df13266b052a9d3.68c423bafc7e5428.28aa4ea50e0e904d.7d12f74b0e3391b2
+    78a002770461b72b.a973d0b1b86cb5eb.f40018e7fbb309f6.83dbe6287f102d24
+    0000000000000000.0000000000000000.28564e5b0e0e704d.7d12094b0e336f4e
+    cca65e77ab20b302.75f4d9592aef1b88.2364ed266ccd016e.10dc36ba32e26e5c
+    4eab9048aced8c7b
+
+VPABSB_128(reg)
+  before
+    acc05ce8b720f72b.7e96e23d37e818da.b85c2ce3199d98ba.3c09f0fa2859f895
+    87659408ee07eb18.05344317b8b16934.08efaf76a7f84013.7db6532d0ba03ce8
+    39e73613ed2ca5f0.3c4cfff14b86603d.c3f95c7e6f8d5040.c03892a932ad8894
+    1f913d76511d625c.01a991b70c73ba20.44c631670de704ec.e3592a5cb88c99c4
+    c0e69531ba4a2ba5
+  after
+    0000000000000000.0000000000000000.3d075c7e6f735040.40386e573253786c
+    87659408ee07eb18.05344317b8b16934.08efaf76a7f84013.7db6532d0ba03ce8
+    39e73613ed2ca5f0.3c4cfff14b86603d.c3f95c7e6f8d5040.c03892a932ad8894
+    1f913d76511d625c.01a991b70c73ba20.44c631670de704ec.e3592a5cb88c99c4
+    c0e69531ba4a2ba5
+VPABSB_128(mem)
+  before
+    35aa511353f2fa63.95b1a59bb6665b0b.2e1876551584330a.e6a2299d1e9297c5
+    1c73d9f09f91c129.f7926befb792cfa7.a16528b885c68626.07d9418c3d1b4674
+    530baab3bb313d24.a17f89def02df8dc.345d25ca764471a1.01b673a1070c4da8
+    b4403e49c3e12a80.efc5fdd5fec31357.c4c9e879040aaea7.3286bd4617f4e80a
+    f4951ae90a5c5249
+  after
+    35aa511353f2fa63.95b1a59bb6665b0b.2e1876551584330a.e6a2299d1e9297c5
+    1c73d9f09f91c129.f7926befb792cfa7.a16528b885c68626.07d9418c3d1b4674
+    0000000000000000.0000000000000000.2e187655157c330a.1a5e29631e6e693b
+    b4403e49c3e12a80.efc5fdd5fec31357.c4c9e879040aaea7.3286bd4617f4e80a
+    f4951ae90a5c5249
+
+VPABSW_128(reg)
+  before
+    a52f86f47bd2c80f.1cdc139cd2aa4368.3db0c23e7de15cc4.2e78edb04b25f963
+    9fa0fdd507e28609.68aca499049a4508.e78cd58708120ecf.4c35b05a69a00f02
+    3f347cf74916c7e2.727c6d2c76bcec8e.49a5301b3be26623.fbcbae657788acb0
+    e236fec6ddfcc847.1717eb42431df423.bf46d166b3dea06c.180762bc93e88c98
+    7db5484bd9cc6be6
+  after
+    0000000000000000.0000000000000000.49a5301b3be26623.0435519b77885350
+    9fa0fdd507e28609.68aca499049a4508.e78cd58708120ecf.4c35b05a69a00f02
+    3f347cf74916c7e2.727c6d2c76bcec8e.49a5301b3be26623.fbcbae657788acb0
+    e236fec6ddfcc847.1717eb42431df423.bf46d166b3dea06c.180762bc93e88c98
+    7db5484bd9cc6be6
+VPABSW_128(mem)
+  before
+    07a1dcfe644104c7.e2f47fae601fc5e3.334b98c688c718f6.a4bdb3d40b91f757
+    92979ac250511467.9cb8fb1b6e0cfa63.a3e2f2a360c91531.5654d2d1e088a990
+    fa63ff81ba0b56f2.6dcf6f79a24ea273.41a974c7e82ca700.30582ac9cd4ef0c2
+    1bd08628be788893.af85d6349872fabe.ea6c9b1d3bfe8991.8e15b8286f6f089a
+    ccd7775a61772fc4
+  after
+    07a1dcfe644104c7.e2f47fae601fc5e3.334b98c688c718f6.a4bdb3d40b91f757
+    92979ac250511467.9cb8fb1b6e0cfa63.a3e2f2a360c91531.5654d2d1e088a990
+    0000000000000000.0000000000000000.334b673a773918f6.5b434c2c0b9108a9
+    1bd08628be788893.af85d6349872fabe.ea6c9b1d3bfe8991.8e15b8286f6f089a
+    ccd7775a61772fc4
+
+VPABSW_128(reg)
+  before
+    45ea63cc40f39feb.d1ababa477a66476.bf252bb8ed023ef1.7af7e191764a790d
+    579978e8a76f95bc.f8c1eae001a0a7c9.f9fd6d723d8ca9b7.cd16c40fb41d31a3
+    5c31b31c33754ce2.6cdcc0c779730cb5.b95795cc239c78bd.bf95bf8312826d7d
+    b2fe0ed37f93010a.09c8a847fa2a5069.5c81a1343bbce7af.2c3f4ed9ab85ebc7
+    f0e1edfe9b3365af
+  after
+    0000000000000000.0000000000000000.46a96a34239c78bd.406b407d12826d7d
+    579978e8a76f95bc.f8c1eae001a0a7c9.f9fd6d723d8ca9b7.cd16c40fb41d31a3
+    5c31b31c33754ce2.6cdcc0c779730cb5.b95795cc239c78bd.bf95bf8312826d7d
+    b2fe0ed37f93010a.09c8a847fa2a5069.5c81a1343bbce7af.2c3f4ed9ab85ebc7
+    f0e1edfe9b3365af
+VPABSW_128(mem)
+  before
+    e74719dcff97975e.b44c87782754f0df.ab531e4ba1d12f0f.3cc58b15227a3238
+    ed3d4d61f3bd3f03.bd671979c845550f.2e489ebf897565d3.b67051db73629405
+    de8f057792b217c8.2b9bc141fef16c43.6e72a48fcf21ade2.26cdeff2cbff4ac1
+    9509bd0cf881dcd9.5834793c64e4702a.479eada78ee1c468.e82a5fc6c5dd9019
+    58d19fc3fd88a2b9
+  after
+    e74719dcff97975e.b44c87782754f0df.ab531e4ba1d12f0f.3cc58b15227a3238
+    ed3d4d61f3bd3f03.bd671979c845550f.2e489ebf897565d3.b67051db73629405
+    0000000000000000.0000000000000000.54ad1e4b5e2f2f0f.3cc574eb227a3238
+    9509bd0cf881dcd9.5834793c64e4702a.479eada78ee1c468.e82a5fc6c5dd9019
+    58d19fc3fd88a2b9
+
+VPABSW_128(reg)
+  before
+    d110aa55118dbb4c.f076f10b42364a63.a27d3fd796ab9e6d.959834f3e3c26690
+    b1317ce89a77187f.caa31e608bde1c92.63c30e7c31d131bb.342cb560e9cf4f87
+    538111e936d3f5fd.ff5dbff7f0840f91.f852e298d0e266be.ff26acd8bd143a79
+    134c66c2812b8d73.6a6e50bc8d34df8d.be76b898106b7923.d45196497a9ee491
+    8e7bee9d3c7809fc
+  after
+    0000000000000000.0000000000000000.07ae1d682f1e66be.00da532842ec3a79
+    b1317ce89a77187f.caa31e608bde1c92.63c30e7c31d131bb.342cb560e9cf4f87
+    538111e936d3f5fd.ff5dbff7f0840f91.f852e298d0e266be.ff26acd8bd143a79
+    134c66c2812b8d73.6a6e50bc8d34df8d.be76b898106b7923.d45196497a9ee491
+    8e7bee9d3c7809fc
+VPABSW_128(mem)
+  before
+    086e30c220ae64e5.4ddd76e1160e1d8d.e9a24e9b7cfb48b2.0f7b8be68cf7a695
+    20f7d8a3424db279.5d823db09105e1f6.57c73380dce4052b.48ad56f0e11229c1
+    b1e2622cbd60afe4.9e85b79d8f9e145b.8fa87d58c6fbd325.c5571820aa493d52
+    96fb4b49adf31751.6e33e013ac64f467.6f10a70d584d6ecb.e3c6cae484271ff5
+    fc4669a70a380a56
+  after
+    086e30c220ae64e5.4ddd76e1160e1d8d.e9a24e9b7cfb48b2.0f7b8be68cf7a695
+    20f7d8a3424db279.5d823db09105e1f6.57c73380dce4052b.48ad56f0e11229c1
+    0000000000000000.0000000000000000.165e4e9b7cfb48b2.0f7b741a7309596b
+    96fb4b49adf31751.6e33e013ac64f467.6f10a70d584d6ecb.e3c6cae484271ff5
+    fc4669a70a380a56
+
+VPMOVSXBQ_128(reg)
+  before
+    6d23f2d5d9093c20.ad0e0ee62f13a5ec.28d9b57e83e4bbc7.d2cc2d8daee5914a
+    92a960da8c25ef00.d0e627ef5ecb16e3.27c0314ab0a9a526.93a88cc2e3cff9cd
+    c724af23bf1860a1.dd50125157282660.c93750e3d03ff032.90703e9a14186282
+    68dfdc1a0f6fcab0.ae194bf63535908f.68890eb67e32d694.a3f0c1005ccb8892
+    a9f490e0d7f5262b
+  after
+    6d23f2d5d9093c20.ad0e0ee62f13a5ec.28d9b57e83e4bbc7.d2cc2d8daee5914a
+    0000000000000000.0000000000000000.0000000000000062.ffffffffffffff82
+    c724af23bf1860a1.dd50125157282660.c93750e3d03ff032.90703e9a14186282
+    68dfdc1a0f6fcab0.ae194bf63535908f.68890eb67e32d694.a3f0c1005ccb8892
+    a9f490e0d7f5262b
+VPMOVSXBQ_128(mem)
+  before
+    7f472826a2a1f979.d128e12c18b56ad9.210b4fcb15fe119d.6201682d570f94fb
+    ffb603bed9dbbda8.5e49bcc675767cc7.10f299bd128f65b6.12ec59b5f6626510
+    070d9f9497af2de3.6b8f6852c23f3c27.589ca5b749f54805.d397ddbbf8b58782
+    71187795f82a0656.5446e23e9c9be5a4.d6d4f0a4d53b75b7.024cf0a9f89634fb
+    fc578eed9390a828
+  after
+    7f472826a2a1f979.d128e12c18b56ad9.210b4fcb15fe119d.6201682d570f94fb
+    0000000000000000.0000000000000000.ffffffffffffff94.fffffffffffffffb
+    070d9f9497af2de3.6b8f6852c23f3c27.589ca5b749f54805.d397ddbbf8b58782
+    71187795f82a0656.5446e23e9c9be5a4.d6d4f0a4d53b75b7.024cf0a9f89634fb
+    fc578eed9390a828
+
+VPMOVSXBQ_128(reg)
+  before
+    1b06b4f2643021b4.1aa307ab1957042f.75ba24f59f17b4eb.6465f472d36ea9f7
+    bda45d240701d94c.de7accc41543e398.2a362ce3653ee5a8.df1c2f0c5e98a0f2
+    3c7c85ef198f0d9b.9a6840ca09f95ebd.cf08f5748d9cb486.23c51c5e93c815d4
+    f5db28bf3667f84e.283be1ab108532cb.c07a7b14b1bd5c32.0c2c37548d07c5c8
+    771dfddb68636cfb
+  after
+    1b06b4f2643021b4.1aa307ab1957042f.75ba24f59f17b4eb.6465f472d36ea9f7
+    0000000000000000.0000000000000000.0000000000000015.ffffffffffffffd4
+    3c7c85ef198f0d9b.9a6840ca09f95ebd.cf08f5748d9cb486.23c51c5e93c815d4
+    f5db28bf3667f84e.283be1ab108532cb.c07a7b14b1bd5c32.0c2c37548d07c5c8
+    771dfddb68636cfb
+VPMOVSXBQ_128(mem)
+  before
+    3e64e8dd41e7c698.440d4200f914d811.65bd2a5247f31bee.58d9bb2f6d2e1a57
+    3ecc764734a08ecc.865ed01efe22e78f.2dbb97aac950d451.f571af315d7a29a2
+    532222065b9981c3.151acd86e21e6175.5c01a5a1b3a81b21.f28e55861f2ec7be
+    59336905d5de5ba8.4e8c35a24193846e.ce5acf232005aa89.ab7ba89b4cd52e58
+    7b86a4da82fb9b1c
+  after
+    3e64e8dd41e7c698.440d4200f914d811.65bd2a5247f31bee.58d9bb2f6d2e1a57
+    0000000000000000.0000000000000000.000000000000001a.0000000000000057
+    532222065b9981c3.151acd86e21e6175.5c01a5a1b3a81b21.f28e55861f2ec7be
+    59336905d5de5ba8.4e8c35a24193846e.ce5acf232005aa89.ab7ba89b4cd52e58
+    7b86a4da82fb9b1c
+
+VPMOVSXBQ_128(reg)
+  before
+    c0f946b15d2c49b6.2cc9c52fbc7cd8a8.8d0205e0b50e8a27.5f94911a2d753db6
+    d421888a78f576d0.a8b0b4722c7eb3ee.2ec637aadd19b04c.eb796773f50392d4
+    154a68d370e25c19.a9b6b1b942f0a9a7.8d25c96e53423288.4ed7cd1a94bc630e
+    ddc0e2f7e07d373b.0ba638f019de75ff.066bb697b3154b88.647840fc27ab6c91
+    09293b03cadc6b88
+  after
+    c0f946b15d2c49b6.2cc9c52fbc7cd8a8.8d0205e0b50e8a27.5f94911a2d753db6
+    0000000000000000.0000000000000000.0000000000000063.000000000000000e
+    154a68d370e25c19.a9b6b1b942f0a9a7.8d25c96e53423288.4ed7cd1a94bc630e
+    ddc0e2f7e07d373b.0ba638f019de75ff.066bb697b3154b88.647840fc27ab6c91
+    09293b03cadc6b88
+VPMOVSXBQ_128(mem)
+  before
+    19b63a1d985c1a20.8acff062645445e3.aa4bc603ce55d521.f5e4fa919a1d38f7
+    70eab935ad363684.76c2908099f2c0bc.6272d5de7c61833a.b6db92c8a3e63582
+    e993343626767be2.ffe7bcbd1ae4e573.0ee7e36e400c3c75.a59e79a86afc7dd5
+    627b280e1f29a463.7f88728684b5efb3.8c766b9d3564bbff.1e77aa9d8dec4e9b
+    7db32414a541e281
+  after
+    19b63a1d985c1a20.8acff062645445e3.aa4bc603ce55d521.f5e4fa919a1d38f7
+    0000000000000000.0000000000000000.0000000000000038.fffffffffffffff7
+    e993343626767be2.ffe7bcbd1ae4e573.0ee7e36e400c3c75.a59e79a86afc7dd5
+    627b280e1f29a463.7f88728684b5efb3.8c766b9d3564bbff.1e77aa9d8dec4e9b
+    7db32414a541e281
+
+VPMOVSXWQ_128(reg)
+  before
+    1e9ee07750877532.b66f10a8b25a6e36.54f2ae4573f11c29.b7ebea587775bd04
+    5d84db342a4b455b.c13b68f0fe159585.d8716a678125a681.6b11da8c2349feaf
+    96b112b5ce188ca8.5eabacd31d67d57c.6851a4594ddcc966.83b6b92455ef3a2d
+    24708068d87b87c4.6b8b593b2b5be948.61dd578670a2c385.dda4020b28702da9
+    54a8312fb8da9250
+  after
+    1e9ee07750877532.b66f10a8b25a6e36.54f2ae4573f11c29.b7ebea587775bd04
+    0000000000000000.0000000000000000.00000000000055ef.0000000000003a2d
+    96b112b5ce188ca8.5eabacd31d67d57c.6851a4594ddcc966.83b6b92455ef3a2d
+    24708068d87b87c4.6b8b593b2b5be948.61dd578670a2c385.dda4020b28702da9
+    54a8312fb8da9250
+VPMOVSXWQ_128(mem)
+  before
+    c38ec37b2238254d.650f21b8e5ff715c.c2a6ea1544fd8e15.1d637f598904ce8a
+    082232db8296a4cd.b4d8f2109130871b.41cadb4e865a800e.f92d1840318d2720
+    fd30fc3bf301c9fc.6c18eede779b05ae.c3c1a8d00a7d7a60.51881fa607c90af3
+    80839c8791845105.eb1b108e33ca27c0.2358ce89ee733937.81c08ef7a445b2b0
+    e521639fa68c5c03
+  after
+    c38ec37b2238254d.650f21b8e5ff715c.c2a6ea1544fd8e15.1d637f598904ce8a
+    0000000000000000.0000000000000000.ffffffffffff8904.ffffffffffffce8a
+    fd30fc3bf301c9fc.6c18eede779b05ae.c3c1a8d00a7d7a60.51881fa607c90af3
+    80839c8791845105.eb1b108e33ca27c0.2358ce89ee733937.81c08ef7a445b2b0
+    e521639fa68c5c03
+
+VPMOVSXWQ_128(reg)
+  before
+    daf79a0aa92b4498.6be88eac792bf815.8c2c578a624c28fe.3f5bc7644e4679be
+    ba8d2da548aca51a.9c2c4f94c6037958.aa99bc3f9faa4614.f195114d4504f621
+    e2311ada1f9dbc35.ed195a2d951792f9.a3ac3c198772baad.16d42730f0b96b8e
+    ae2d5b17cb8ac596.3b7b2a610174fd24.d1b3d485b52fc376.8be385f96a70952f
+    2a8da894cf353030
+  after
+    daf79a0aa92b4498.6be88eac792bf815.8c2c578a624c28fe.3f5bc7644e4679be
+    0000000000000000.0000000000000000.fffffffffffff0b9.0000000000006b8e
+    e2311ada1f9dbc35.ed195a2d951792f9.a3ac3c198772baad.16d42730f0b96b8e
+    ae2d5b17cb8ac596.3b7b2a610174fd24.d1b3d485b52fc376.8be385f96a70952f
+    2a8da894cf353030
+VPMOVSXWQ_128(mem)
+  before
+    d19f0bed3c14f7be.7aceefc6e8fefce9.63203e1e27257607.92f87fedc66e9b1b
+    5ae52af0cc1aa705.a160cf5511859cda.3fd30f4f2236bacc.40c839bf55ba7f47
+    a22b818a9c52fc30.812ef82fe2abe314.ac5f1bdf0fb3859f.396fff66ff9faba7
+    853c8ca5c8c9b26c.758667bff8fd0a43.8791dcbc09a993ad.d738cb4d5faa5ae6
+    77719be21166cab1
+  after
+    d19f0bed3c14f7be.7aceefc6e8fefce9.63203e1e27257607.92f87fedc66e9b1b
+    0000000000000000.0000000000000000.ffffffffffffc66e.ffffffffffff9b1b
+    a22b818a9c52fc30.812ef82fe2abe314.ac5f1bdf0fb3859f.396fff66ff9faba7
+    853c8ca5c8c9b26c.758667bff8fd0a43.8791dcbc09a993ad.d738cb4d5faa5ae6
+    77719be21166cab1
+
+VPMOVSXWQ_128(reg)
+  before
+    76646a90b25f35b3.e0e6c82f6a8a84e4.d9b21773ee065014.aa35d0d12c23a022
+    2e5e35c3de22d799.8df3b012a1a12fc5.090004b66153ef33.f217730b952e6729
+    fcabf6e8303aed0f.6930c03c861b6f3b.61ba2bf5ec6f244b.3b033f5460d5a5ef
+    3d97ab694433b3c0.506974983802ff71.3c2d869a2ce62b09.61c5b299a824159f
+    402847c789287566
+  after
+    76646a90b25f35b3.e0e6c82f6a8a84e4.d9b21773ee065014.aa35d0d12c23a022
+    0000000000000000.0000000000000000.00000000000060d5.ffffffffffffa5ef
+    fcabf6e8303aed0f.6930c03c861b6f3b.61ba2bf5ec6f244b.3b033f5460d5a5ef
+    3d97ab694433b3c0.506974983802ff71.3c2d869a2ce62b09.61c5b299a824159f
+    402847c789287566
+VPMOVSXWQ_128(mem)
+  before
+    b4f97ac820eb7f70.4b6e4fb3b79a6559.1e6a4912d0659d94.f8a41312bc443f19
+    9a05c78a897cf0e8.837bde3325fa3f85.afffba966c4d03cf.f06dcdc939169d26
+    cc16abf7dee483fb.410c545328df7cf1.dff4421028c8ed4f.7fd3b02c3ee781dd
+    26f8a1fd3e31f5d4.e16bae815fd65949.8a14606d1fe11940.0321b9a6674427e9
+    d7a4e3a252b8caf7
+  after
+    b4f97ac820eb7f70.4b6e4fb3b79a6559.1e6a4912d0659d94.f8a41312bc443f19
+    0000000000000000.0000000000000000.ffffffffffffbc44.0000000000003f19
+    cc16abf7dee483fb.410c545328df7cf1.dff4421028c8ed4f.7fd3b02c3ee781dd
+    26f8a1fd3e31f5d4.e16bae815fd65949.8a14606d1fe11940.0321b9a6674427e9
+    d7a4e3a252b8caf7
+
+VPACKUSDW_128(reg)
+  before
+    56a82a8e98cfa7b2.86792587c26f02a0.bfe5e728636a1138.8c2c8d976ea541cd
+    de798ad5d716fac7.c764b38189a8668b.37c6fbb3d328e26b.c108477b301f2123
+    c963ffe3ab18fee2.c584c7d7aceadcc0.a55ae690489a068d.05740806815b776d
+    75b18624ae61f0ae.5ca6de754a40216c.65eda42a614fba4b.343c4e227e66fdd8
+    2a2c95bd434b7090
+  after
+    0000000000000000.0000000000000000.0000ffffffff0000.ffff00000000ffff
+    de798ad5d716fac7.c764b38189a8668b.37c6fbb3d328e26b.c108477b301f2123
+    c963ffe3ab18fee2.c584c7d7aceadcc0.a55ae690489a068d.05740806815b776d
+    75b18624ae61f0ae.5ca6de754a40216c.65eda42a614fba4b.343c4e227e66fdd8
+    2a2c95bd434b7090
+VPACKUSDW_128(mem)
+  before
+    c20f57c2ea168cc0.3cb119047f7d0cd8.689673487cb7f1ba.d3ca32edb7d03951
+    dab2121d92d40c95.7cadb6efb8f98e0c.c520023a605a08d7.4b3e8b46e8abc04a
+    4de241ba5590ad3a.8ff25952f561b1f5.4e100738123521ee.2995ab9f906b8be3
+    f76960854f562bdc.d2ccfc97d33fb23f.e131ff2fad55f92d.c91b8f654a9cd6c7
+    871c3105b3cbdca3
+  after
+    c20f57c2ea168cc0.3cb119047f7d0cd8.689673487cb7f1ba.d3ca32edb7d03951
+    dab2121d92d40c95.7cadb6efb8f98e0c.c520023a605a08d7.4b3e8b46e8abc04a
+    0000000000000000.0000000000000000.ffffffff00000000.0000ffffffff0000
+    f76960854f562bdc.d2ccfc97d33fb23f.e131ff2fad55f92d.c91b8f654a9cd6c7
+    871c3105b3cbdca3
+
+VPACKUSDW_128(reg)
+  before
+    bee48fe96683da23.b313eb6a9d3342a6.a2869d2ced21cd98.5951640a4ec54cbd
+    ccbea47fff510cf2.5fae5f555a32adc5.596e377be0933daa.913ab4b41092d5cd
+    0cf86c321bc0aebd.d6053733a3602965.54cfc6f2471f3f21.67b96b1b0fc65186
+    dadce46e565cfb2f.f3e3efee93c772b1.eff446fcbf530faa.b69a032a686f7c17
+    59a9facd369912aa
+  after
+    0000000000000000.0000000000000000.ffffffffffffffff.ffff00000000ffff
+    ccbea47fff510cf2.5fae5f555a32adc5.596e377be0933daa.913ab4b41092d5cd
+    0cf86c321bc0aebd.d6053733a3602965.54cfc6f2471f3f21.67b96b1b0fc65186
+    dadce46e565cfb2f.f3e3efee93c772b1.eff446fcbf530faa.b69a032a686f7c17
+    59a9facd369912aa
+VPACKUSDW_128(mem)
+  before
+    2eb2caf0964fce6c.91b7069f4ab230f5.94150374467543d6.862ab405e3bbe9f1
+    0f80f17fa49d6d88.8fd5d031964c89ba.9367efb0da765900.76bd0a7950e208a1
+    dae0eb677b8fab2b.2f823d90d4b9412b.cea5308d68d5705a.19f946c4a154a967
+    699f329237324380.cc094928a08295f4.1f9b41f90e9e4411.cc296452729d08ee
+    eb9b5e90604a61e3
+  after
+    2eb2caf0964fce6c.91b7069f4ab230f5.94150374467543d6.862ab405e3bbe9f1
+    0f80f17fa49d6d88.8fd5d031964c89ba.9367efb0da765900.76bd0a7950e208a1
+    0000000000000000.0000000000000000.0000ffff00000000.00000000ffffffff
+    699f329237324380.cc094928a08295f4.1f9b41f90e9e4411.cc296452729d08ee
+    eb9b5e90604a61e3
+
+VPACKUSDW_128(reg)
+  before
+    d29932e807e6eff2.9a8744eef591f2b4.c4b8f1669735c1c0.64159edfe8dd9050
+    dd70dbc702fdefc6.47649c65d0b874f3.71d930b4545d013c.77dec32b119f1144
+    686d559aed1c9c0c.4d04b6e5e4b48568.31b9028074879014.35c32dc9a5ef8318
+    cfd99ccc65ce346f.89320e594f90e040.5ea46334923eabf3.7b9057a5c1daa1f9
+    2311bdac816a2813
+  after
+    0000000000000000.0000000000000000.ffffffffffff0000.ffffffffffffffff
+    dd70dbc702fdefc6.47649c65d0b874f3.71d930b4545d013c.77dec32b119f1144
+    686d559aed1c9c0c.4d04b6e5e4b48568.31b9028074879014.35c32dc9a5ef8318
+    cfd99ccc65ce346f.89320e594f90e040.5ea46334923eabf3.7b9057a5c1daa1f9
+    2311bdac816a2813
+VPACKUSDW_128(mem)
+  before
+    0a12dbc8ffaed491.6e03acc805a0f19c.d5b921ac2a5942a7.55e64f3e4a0e8e86
+    0c5f2de75aaf61a0.a13682fc6a1c103f.0e666acc931a67c8.73cbc3093a847478
+    06c330f3ac7b8a6b.c3bd19d330d1cc03.100565a4a6df0acf.129eba01fb2b9a76
+    d20c5fda111d0c1f.32e56db9f1486294.b8628e217eb4e8ea.90ac30922b8f3c2b
+    47422128663d9644
+  after
+    0a12dbc8ffaed491.6e03acc805a0f19c.d5b921ac2a5942a7.55e64f3e4a0e8e86
+    0c5f2de75aaf61a0.a13682fc6a1c103f.0e666acc931a67c8.73cbc3093a847478
+    0000000000000000.0000000000000000.0000ffffffffffff.ffff0000ffffffff
+    d20c5fda111d0c1f.32e56db9f1486294.b8628e217eb4e8ea.90ac30922b8f3c2b
+    47422128663d9644
+
+VPMOVZXBQ_128(reg)
+  before
+    94aa8a2f47c0e36d.4d043687a6a2a3e8.49fa7b1a4c0f0ea0.e049622d37a6bd42
+    d33065136aa46051.537831e686150af1.64483d63dab10cd1.65865bb5eec14506
+    6122b0406c76499d.c034cde3cd82ff67.de1bb1fe3abb97d3.23e4f7a6bf0f3b60
+    98cb6623e8c1d9fc.7004846a99f53c75.15bfd25805b8ec53.f630b1eac59e5c7c
+    ba37066f1c796488
+  after
+    94aa8a2f47c0e36d.4d043687a6a2a3e8.49fa7b1a4c0f0ea0.e049622d37a6bd42
+    0000000000000000.0000000000000000.000000000000003b.0000000000000060
+    6122b0406c76499d.c034cde3cd82ff67.de1bb1fe3abb97d3.23e4f7a6bf0f3b60
+    98cb6623e8c1d9fc.7004846a99f53c75.15bfd25805b8ec53.f630b1eac59e5c7c
+    ba37066f1c796488
+VPMOVZXBQ_128(mem)
+  before
+    4bc3701fe1ad0fad.d57684277b114e1b.3fb3d467037b7d48.647f9dded93447fd
+    85a06de82f45181a.747004b7c1f3e2a6.090f38c62920800c.26a90cfa52bbe47c
+    449c78b5234d3cf9.d105e44154f2d148.aae22d7327eeffec.b9871d1a0bdafe7d
+    64820d72d8d23676.48811f30d39b59ae.fef92d5b18f3b615.7866cba9a01cd2ac
+    be921213ae0e9cb4
+  after
+    4bc3701fe1ad0fad.d57684277b114e1b.3fb3d467037b7d48.647f9dded93447fd
+    0000000000000000.0000000000000000.0000000000000047.00000000000000fd
+    449c78b5234d3cf9.d105e44154f2d148.aae22d7327eeffec.b9871d1a0bdafe7d
+    64820d72d8d23676.48811f30d39b59ae.fef92d5b18f3b615.7866cba9a01cd2ac
+    be921213ae0e9cb4
+
+VPMOVZXBQ_128(reg)
+  before
+    e956eec4d13b9742.c11da90b6bdfc4bf.3530b2f0d778b483.e120b668183a63b2
+    53005c28a42f0001.373ac66cf780a0fd.f45e97edff171e74.2f23438844d0c0f0
+    59da57abc377139e.a1a5e28299c2875f.e156cc93e404d52d.c4cd51a6b8c08afb
+    5832dbb9cb9e0cc4.dd2a78376cb0340f.58664c4e24ca1359.7bec5aae8f167dfe
+    324adc8ce5df5426
+  after
+    e956eec4d13b9742.c11da90b6bdfc4bf.3530b2f0d778b483.e120b668183a63b2
+    0000000000000000.0000000000000000.000000000000008a.00000000000000fb
+    59da57abc377139e.a1a5e28299c2875f.e156cc93e404d52d.c4cd51a6b8c08afb
+    5832dbb9cb9e0cc4.dd2a78376cb0340f.58664c4e24ca1359.7bec5aae8f167dfe
+    324adc8ce5df5426
+VPMOVZXBQ_128(mem)
+  before
+    c4b4522cd726cc9e.aa52e4bf58302620.c69504788d566439.b5d8138a5bf515a5
+    0df6387a80f8a193.ad876e2704ba9e5e.38b1033217c1d30a.54f91db4241117bc
+    e8dc0a62fd5f8f31.bb1c765f6ec7b029.0e4cf05026fc3dae.901567361cab544b
+    333245d0696951a3.315ff7d12fe3972e.263047bdd7135d50.c777eb7ede4e09fe
+    546da7f706877280
+  after
+    c4b4522cd726cc9e.aa52e4bf58302620.c69504788d566439.b5d8138a5bf515a5
+    0000000000000000.0000000000000000.0000000000000015.00000000000000a5
+    e8dc0a62fd5f8f31.bb1c765f6ec7b029.0e4cf05026fc3dae.901567361cab544b
+    333245d0696951a3.315ff7d12fe3972e.263047bdd7135d50.c777eb7ede4e09fe
+    546da7f706877280
+
+VPMOVZXBQ_128(reg)
+  before
+    9341970c31e1cb7e.c9c364b0e122a415.6b9aedebe69b9118.5b2a84674613f11d
+    df40b52bfbe84fa3.855de3ef809444b5.c61b54182c7ad795.880623398e07b241
+    96b6ffbffe283b9c.45ca3e7763cdecad.9c2c29c49f0ca84e.8b90a11fcbfb5fe7
+    13ef7034d92ecb14.e3d7f136a5d95929.4a1a675bdbde3ef1.3e9479051afcb23b
+    7fdd27d89615686b
+  after
+    9341970c31e1cb7e.c9c364b0e122a415.6b9aedebe69b9118.5b2a84674613f11d
+    0000000000000000.0000000000000000.000000000000005f.00000000000000e7
+    96b6ffbffe283b9c.45ca3e7763cdecad.9c2c29c49f0ca84e.8b90a11fcbfb5fe7
+    13ef7034d92ecb14.e3d7f136a5d95929.4a1a675bdbde3ef1.3e9479051afcb23b
+    7fdd27d89615686b
+VPMOVZXBQ_128(mem)
+  before
+    283827825c533da1.b13704f626863ab8.3d50791762c34756.2c310a497b7bd72a
+    1772f6f087c0ec09.cedab77281bac534.2d015106b7977260.9ebc0efa1c6faca5
+    26550e0f346b33d0.c42386128758a833.91b5f5efc0619572.fc096fda5947fc0d
+    33adedc97e5dcb22.f15f6b43d3eb1e62.433ae1be982e6db9.a2622a56ce8e010e
+    ec143ad818d1f855
+  after
+    283827825c533da1.b13704f626863ab8.3d50791762c34756.2c310a497b7bd72a
+    0000000000000000.0000000000000000.00000000000000d7.000000000000002a
+    26550e0f346b33d0.c42386128758a833.91b5f5efc0619572.fc096fda5947fc0d
+    33adedc97e5dcb22.f15f6b43d3eb1e62.433ae1be982e6db9.a2622a56ce8e010e
+    ec143ad818d1f855
+
+VPMOVZXWQ_128(reg)
+  before
+    366b9bced39a1d8e.18480e0c82a4732a.afda64720200656d.205a925f5b09b660
+    dcb349a29a78ab64.b2f1eec35b4be515.5ce06d09af22b7ff.05e283be26ff2b94
+    3a3841c209f4df84.dd7307da265fde0e.52bd807676dd51c5.cc9e30c7151b8981
+    ac457d99bd9cf59a.769bd73dfeea1a42.efbd9b24f4be6e6a.525a156743698c52
+    73e1ae88ccf5f034
+  after
+    366b9bced39a1d8e.18480e0c82a4732a.afda64720200656d.205a925f5b09b660
+    0000000000000000.0000000000000000.000000000000151b.0000000000008981
+    3a3841c209f4df84.dd7307da265fde0e.52bd807676dd51c5.cc9e30c7151b8981
+    ac457d99bd9cf59a.769bd73dfeea1a42.efbd9b24f4be6e6a.525a156743698c52
+    73e1ae88ccf5f034
+VPMOVZXWQ_128(mem)
+  before
+    0c017818cdcc7053.8e28fb9351fb2851.5735d9d800fb55dd.8d2bb87fc5504b9b
+    f784ee0261f9c9da.3c2bb61c629db656.5d0d8997479b4a0a.8955d5f3841f2403
+    11378c31a589b7f5.119baba08b0fd954.64ef6466efd8b6f6.4085eeecceb8354f
+    36e6ce93b487f5d1.6bc4d48b69ddcdf8.48a7e53115bd54cd.0c08fdd63ea6b92b
+    4a2a001d7075ed42
+  after
+    0c017818cdcc7053.8e28fb9351fb2851.5735d9d800fb55dd.8d2bb87fc5504b9b
+    0000000000000000.0000000000000000.000000000000c550.0000000000004b9b
+    11378c31a589b7f5.119baba08b0fd954.64ef6466efd8b6f6.4085eeecceb8354f
+    36e6ce93b487f5d1.6bc4d48b69ddcdf8.48a7e53115bd54cd.0c08fdd63ea6b92b
+    4a2a001d7075ed42
+
+VPMOVZXWQ_128(reg)
+  before
+    5636f22e01b20d41.425d3113abff419a.a5f22f4a9791d0ee.e60087e5d557e2ba
+    8c7acf738ce854d3.11682f9da5fe557c.1a71b747b2b91ce1.18c7c96c49b11ae9
+    4940935aaea3ffa5.7fd3461dbe8eeda2.288c69f055e0ee7e.bbc924b490d7b987
+    e7d63b4d03704a63.6869f18013bec738.2a903faf1c938170.abd015a8c4d67ac0
+    c4a8193301b91ac0
+  after
+    5636f22e01b20d41.425d3113abff419a.a5f22f4a9791d0ee.e60087e5d557e2ba
+    0000000000000000.0000000000000000.00000000000090d7.000000000000b987
+    4940935aaea3ffa5.7fd3461dbe8eeda2.288c69f055e0ee7e.bbc924b490d7b987
+    e7d63b4d03704a63.6869f18013bec738.2a903faf1c938170.abd015a8c4d67ac0
+    c4a8193301b91ac0
+VPMOVZXWQ_128(mem)
+  before
+    e21fab43648c55b1.c386c2ba25da71b8.a8f7adb0c0979d6b.7bca37f2a45d1264
+    e00047c3085be7c2.399d240cb36daf51.1b49f49ae0272b67.79844c2489cadd05
+    9c166a9f0a338b1d.a5665daf46b641d9.9d2b442b907a2f58.7e0a7ab166661e00
+    f12e8fc38520feef.632f6a0f7d4063fd.0a69184eea9a6369.e8aabd05d7be1101
+    11af128c795ef1b3
+  after
+    e21fab43648c55b1.c386c2ba25da71b8.a8f7adb0c0979d6b.7bca37f2a45d1264
+    0000000000000000.0000000000000000.000000000000a45d.0000000000001264
+    9c166a9f0a338b1d.a5665daf46b641d9.9d2b442b907a2f58.7e0a7ab166661e00
+    f12e8fc38520feef.632f6a0f7d4063fd.0a69184eea9a6369.e8aabd05d7be1101
+    11af128c795ef1b3
+
+VPMOVZXWQ_128(reg)
+  before
+    576474b2e8d0fbc3.bb14311c962cfc63.cf434598f1985169.3ecfecee0d9584c6
+    1416dfe3bfa26add.d694cf94586541a6.45edecb6404946c8.15283df913774e9c
+    a6114f8b9a607bac.1e7ae219e7d788e4.217a5ad606df7fc7.6a42865a184a7c17
+    67a1c01716946adc.6e91e795608c8e48.be368c62dee63711.1be743fd391ccb62
+    03e4f0ce91f9f7aa
+  after
+    576474b2e8d0fbc3.bb14311c962cfc63.cf434598f1985169.3ecfecee0d9584c6
+    0000000000000000.0000000000000000.000000000000184a.0000000000007c17
+    a6114f8b9a607bac.1e7ae219e7d788e4.217a5ad606df7fc7.6a42865a184a7c17
+    67a1c01716946adc.6e91e795608c8e48.be368c62dee63711.1be743fd391ccb62
+    03e4f0ce91f9f7aa
+VPMOVZXWQ_128(mem)
+  before
+    fd0509b93debbc1b.b4122ff1cecc731b.a4a75bf6df920fff.7a6d7cc865ebac53
+    e7150bab5800d5e0.e9b097875f94d213.9b86b9277ff5c634.b06a287236791839
+    9ce2708eff44ff26.63c6f4446476c270.2efb7d135cc07014.bc7b8bceed1db86e
+    f736b6504dc2f618.7ca142947a0080df.3bd224a893ffc9ca.faeaa1472762c79f
+    c50567487fd48377
+  after
+    fd0509b93debbc1b.b4122ff1cecc731b.a4a75bf6df920fff.7a6d7cc865ebac53
+    0000000000000000.0000000000000000.00000000000065eb.000000000000ac53
+    9ce2708eff44ff26.63c6f4446476c270.2efb7d135cc07014.bc7b8bceed1db86e
+    f736b6504dc2f618.7ca142947a0080df.3bd224a893ffc9ca.faeaa1472762c79f
+    c50567487fd48377
+
+VPMOVZXDQ_128(reg)
+  before
+    7b16d73f92ff26a3.d6de59db5f8675e3.918e7ee33cbe470c.9cd728d140be8d84
+    776aef98fc70ecce.13a6d31d509c39b2.fed6a39d463a55a2.2fd6077a7e0a776b
+    144caabd58b213a5.8c5aa2003d11feb2.1fc8ad2e3602e44e.ce9a3c9069ee44ad
+    b00a051b4252d5d4.1bc6417241f0800f.50af9802a5a231bb.57f043fd1e76b076
+    a4a599aeb8af76f2
+  after
+    7b16d73f92ff26a3.d6de59db5f8675e3.918e7ee33cbe470c.9cd728d140be8d84
+    0000000000000000.0000000000000000.00000000ce9a3c90.0000000069ee44ad
+    144caabd58b213a5.8c5aa2003d11feb2.1fc8ad2e3602e44e.ce9a3c9069ee44ad
+    b00a051b4252d5d4.1bc6417241f0800f.50af9802a5a231bb.57f043fd1e76b076
+    a4a599aeb8af76f2
+VPMOVZXDQ_128(mem)
+  before
+    9383b99054a4534c.a5eefa1e57db6f06.9eb62c5e78457af4.edd6608531a57796
+    fe561f8d0d6203b1.5146873332d91ce8.eff5dfb0ff1da98e.538b02247697f38b
+    c2ec479300f4424c.0e5ca7c470d91a26.eb50d754f283c909.dc1879490f04e145
+    bc10ad8d4866cb4a.3a7d563fac66a36b.6f938e376b849590.e4cac16298797d71
+    c9edd6d9ae8102ba
+  after
+    9383b99054a4534c.a5eefa1e57db6f06.9eb62c5e78457af4.edd6608531a57796
+    0000000000000000.0000000000000000.00000000edd66085.0000000031a57796
+    c2ec479300f4424c.0e5ca7c470d91a26.eb50d754f283c909.dc1879490f04e145
+    bc10ad8d4866cb4a.3a7d563fac66a36b.6f938e376b849590.e4cac16298797d71
+    c9edd6d9ae8102ba
+
+VPMOVZXDQ_128(reg)
+  before
+    e6cdb51ceca8adcd.c68dce6702c45bd6.2ff4910f820cf363.558a8243892bca4f
+    97b55896ef7bba55.bd30250d491bae1d.4a0f529f8f5848bc.7a012f6566842474
+    38f3bdb352856500.7ec52e6b39767f4b.e819975d6fd5dc20.bbc40f8a1e9b5f28
+    25d1e0dfb253e977.e318656defe28b8b.635d5bb4bd0fec3b.f29ea09cce7d369a
+    fc5d5c89913566f4
+  after
+    e6cdb51ceca8adcd.c68dce6702c45bd6.2ff4910f820cf363.558a8243892bca4f
+    0000000000000000.0000000000000000.00000000bbc40f8a.000000001e9b5f28
+    38f3bdb352856500.7ec52e6b39767f4b.e819975d6fd5dc20.bbc40f8a1e9b5f28
+    25d1e0dfb253e977.e318656defe28b8b.635d5bb4bd0fec3b.f29ea09cce7d369a
+    fc5d5c89913566f4
+VPMOVZXDQ_128(mem)
+  before
+    b5cbc23c84d0ab62.ba9cbb86aa708369.c9f546ff876a8e0a.18289a101693b3ba
+    f9b54ba1c259c012.52a04c14d7686e80.0c284e0d1c1a44f3.64c651de15ec6f49
+    a4e774a468dc632d.4b298df6d4c7e868.887cf884cafe6873.a1837b8856a65a93
+    922dba3191664ee2.00827c963e1a2bce.19bec04eae23b7b6.2cab147b764eb045
+    61891824106faf0a
+  after
+    b5cbc23c84d0ab62.ba9cbb86aa708369.c9f546ff876a8e0a.18289a101693b3ba
+    0000000000000000.0000000000000000.0000000018289a10.000000001693b3ba
+    a4e774a468dc632d.4b298df6d4c7e868.887cf884cafe6873.a1837b8856a65a93
+    922dba3191664ee2.00827c963e1a2bce.19bec04eae23b7b6.2cab147b764eb045
+    61891824106faf0a
+
+VPMOVZXDQ_128(reg)
+  before
+    9c6b83edc195918f.9f5298345a023d5b.ccf91562b0ed745e.9bbb2259e495ede7
+    3a9b5244244d9380.a7248a99debceec4.0dd852c4c7cafec3.ea3d9b90865ec633
+    95668094d622f188.866d0d4d39a11b4b.1e6c312a1e3f07aa.e210a6deb38cfdc5
+    0a18094873a0e654.18fa9b3a88bb8019.5a01adff51d7c9bf.5f02bf31852a4fca
+    3dde62741845776e
+  after
+    9c6b83edc195918f.9f5298345a023d5b.ccf91562b0ed745e.9bbb2259e495ede7
+    0000000000000000.0000000000000000.00000000e210a6de.00000000b38cfdc5
+    95668094d622f188.866d0d4d39a11b4b.1e6c312a1e3f07aa.e210a6deb38cfdc5
+    0a18094873a0e654.18fa9b3a88bb8019.5a01adff51d7c9bf.5f02bf31852a4fca
+    3dde62741845776e
+VPMOVZXDQ_128(mem)
+  before
+    586f0b9388e833dc.f5fde9ce9554af8f.3997b24ee719db5d.1fe3c2aefd1f80ad
+    8c82377bf31f3d41.b2601c91dac988e6.c510cd7371c4e641.c75e6ca5bea26a21
+    b5e3611672f752c8.9d8f9ffdde8cac05.9830689742ca5ef1.b0bda8502fecc1c6
+    ae5e0551237b2d9e.12d46d7f3c275997.8ec500a57737ff9a.344e7119ec8ac249
+    b05bc36d9207a855
+  after
+    586f0b9388e833dc.f5fde9ce9554af8f.3997b24ee719db5d.1fe3c2aefd1f80ad
+    0000000000000000.0000000000000000.000000001fe3c2ae.00000000fd1f80ad
+    b5e3611672f752c8.9d8f9ffdde8cac05.9830689742ca5ef1.b0bda8502fecc1c6
+    ae5e0551237b2d9e.12d46d7f3c275997.8ec500a57737ff9a.344e7119ec8ac249
+    b05bc36d9207a855
+
+VMPSADBW_128_0x0(reg)
+  before
+    81319ab8bcefb197.55bf9f1922b78bef.6c7c82819129c949.829910892b158468
+    011cf26707cf17bb.85d1ac588ab828e6.09d3da70781b38c6.5279132f7b72aa87
+    8d68c8e40e32166c.1962a6fc7889c0af.442572b98e8be4bb.d9318883825a2d21
+    8260179d6ea4ec57.ef3c0bf007360e78.79be45c66e0407d4.f28de8715dd8c965
+    7b59b1e527f8397d
+  after
+    0000000000000000.0000000000000000.0153013300a60077.00ac013901420102
+    011cf26707cf17bb.85d1ac588ab828e6.09d3da70781b38c6.5279132f7b72aa87
+    8d68c8e40e32166c.1962a6fc7889c0af.442572b98e8be4bb.d9318883825a2d21
+    8260179d6ea4ec57.ef3c0bf007360e78.79be45c66e0407d4.f28de8715dd8c965
+    7b59b1e527f8397d
+VMPSADBW_128_0x0(mem)
+  before
+    4f605dccfdc63a96.3a52dbfdc2b2d327.e22c571f53ccd06b.04e94f05b413debc
+    49706a10fa4f88db.12881170a7e70889.cdfe04777956bfb4.40f48ce1fd42a41f
+    4753549f3b9ede79.664fb361b8cfc729.8e7e90e395e19a80.8b29f8c6e42096ab
+    23d69563dbbff99b.93f3bf3e92f74bb2.ff78754fc1771bfb.40d590200636f00a
+    ba444f5bff12eee8
+  after
+    4f605dccfdc63a96.3a52dbfdc2b2d327.e22c571f53ccd06b.04e94f05b413debc
+    49706a10fa4f88db.12881170a7e70889.cdfe04777956bfb4.40f48ce1fd42a41f
+    0000000000000000.0000000000000000.01b00182007301cc.00fd018f01cb014f
+    23d69563dbbff99b.93f3bf3e92f74bb2.ff78754fc1771bfb.40d590200636f00a
+    ba444f5bff12eee8
+
+VMPSADBW_128_0x0(reg)
+  before
+    57c231e3693fcbf2.bbc5ab4af7bf956f.f3c03073d0ead1d1.feb732a81c27ff50
+    729a3224e34ac5d4.e9ec113faaa96e1e.e302026a0f349531.650840d8c0fa02ac
+    661a4f8b07be1539.8b16432e108a3fd7.bf043190ea62d27f.12381cccc9fedf3b
+    918c83827127face.7b11bd03466cc5c3.e314ba51fdffc567.df114371543e5428
+    aa6030b17cc61a9f
+  after
+    0000000000000000.0000000000000000.01d601ae020d0296.020b018d00a1015b
+    729a3224e34ac5d4.e9ec113faaa96e1e.e302026a0f349531.650840d8c0fa02ac
+    661a4f8b07be1539.8b16432e108a3fd7.bf043190ea62d27f.12381cccc9fedf3b
+    918c83827127face.7b11bd03466cc5c3.e314ba51fdffc567.df114371543e5428
+    aa6030b17cc61a9f
+VMPSADBW_128_0x0(mem)
+  before
+    4df05f7a5ea3f0ce.4d3dca77bd12ae3f.96a7fcaa685dbc11.ab7c981ae597aa94
+    a58f4cb715e090de.f77920d4890a6e37.b9a57a0f9169dfeb.7389c7553db7bdb3
+    8f077454bd8ab7fe.ec8c81076e9b7662.bed7b51fdd9beb7e.97874370a2ea396f
+    e525523d73ac2158.86c1ea7b0a52016e.820928c469ff9cf5.73c109d6b0bd5b75
+    628514f302bb5f71
+  after
+    4df05f7a5ea3f0ce.4d3dca77bd12ae3f.96a7fcaa685dbc11.ab7c981ae597aa94
+    a58f4cb715e090de.f77920d4890a6e37.b9a57a0f9169dfeb.7389c7553db7bdb3
+    0000000000000000.0000000000000000.0126009c007e00dc.013800f0012000fa
+    e525523d73ac2158.86c1ea7b0a52016e.820928c469ff9cf5.73c109d6b0bd5b75
+    628514f302bb5f71
+
+VMPSADBW_128_0x0(reg)
+  before
+    c21d60333470810e.84b5625e53528a19.2366569cf9ba4d05.e20650eb50a2ae7d
+    eed7e902e368fcf9.488320a37888ad6c.1dc5c1d6d65f93d3.b89ca881af8edc41
+    42fdabccaa300ddd.0d5b09f8ff5b477e.d12b27953dce1285.e195ab71a1d2e36e
+    1adca3fd2653f067.b009974903d7137a.9ce48545cb9204c7.39bed7a743777f30
+    9ce4a80eb08b6bb2
+  after
+    0000000000000000.0000000000000000.00db006800cd009b.00d200ac01060086
+    eed7e902e368fcf9.488320a37888ad6c.1dc5c1d6d65f93d3.b89ca881af8edc41
+    42fdabccaa300ddd.0d5b09f8ff5b477e.d12b27953dce1285.e195ab71a1d2e36e
+    1adca3fd2653f067.b009974903d7137a.9ce48545cb9204c7.39bed7a743777f30
+    9ce4a80eb08b6bb2
+VMPSADBW_128_0x0(mem)
+  before
+    e6d0989405196521.d1c0cc01f25ee043.0b584883a006cf8d.d83cd5521c37a644
+    f35125245d2e27a8.c5f42245aadc1a1c.fb169790f3f635e3.e27f1528cb4a34a9
+    9f32caabd5d56d74.51c6a133ec59da9f.5c0d015e17b202a7.16f940347456eaa1
+    c63e0313881af5b1.d080453951615c77.0a0a00d82947f106.d0f553e1b4e703d9
+    6cc0489a268abcfd
+  after
+    e6d0989405196521.d1c0cc01f25ee043.0b584883a006cf8d.d83cd5521c37a644
+    f35125245d2e27a8.c5f42245aadc1a1c.fb169790f3f635e3.e27f1528cb4a34a9
+    0000000000000000.0000000000000000.01b7013c01c801bb.018a0041010c0199
+    c63e0313881af5b1.d080453951615c77.0a0a00d82947f106.d0f553e1b4e703d9
+    6cc0489a268abcfd
+
+VMPSADBW_128_0x1(reg)
+  before
+    46a61dcd67ca50b8.44424c49920a798a.a06f0bc27781db51.e1d812ea44c0bf2b
+    baf3cde51233fdb7.f50a223a10b0b52c.1bdfee39fa4594d8.bd45b27f85292843
+    24f3544ec452fda5.b56200d01e1867c2.9f1cea0c7537c3b9.7a1c5c85078fe879
+    e0f2af7418b28d2f.601662f9d74f4979.8672fca684e5a3a0.f3288de7e7fdbafb
+    0636bf92407f5bf2
+  after
+    0000000000000000.0000000000000000.01610177014300c8.00ee012000fe008e
+    baf3cde51233fdb7.f50a223a10b0b52c.1bdfee39fa4594d8.bd45b27f85292843
+    24f3544ec452fda5.b56200d01e1867c2.9f1cea0c7537c3b9.7a1c5c85078fe879
+    e0f2af7418b28d2f.601662f9d74f4979.8672fca684e5a3a0.f3288de7e7fdbafb
+    0636bf92407f5bf2
+VMPSADBW_128_0x1(mem)
+  before
+    8e1270702f22878d.4a3bd9c3abe0e801.d2f2c4a05760187d.2e2c1e73c4da7138
+    67881b6ecff1faf6.be1bcda718664bc6.e7c1a3b0bb5790f9.f1984ee0d1a3692e
+    6d643d793df86f59.98df8a8cfcd3f22b.7a5179171f416c19.2d00875745cbc72e
+    7b71507b9444a3e3.34d109dff2b019db.696cc4c09d29690b.3cb1c545bfdec6e3
+    7bf70517d969a3f9
+  after
+    8e1270702f22878d.4a3bd9c3abe0e801.d2f2c4a05760187d.2e2c1e73c4da7138
+    67881b6ecff1faf6.be1bcda718664bc6.e7c1a3b0bb5790f9.f1984ee0d1a3692e
+    0000000000000000.0000000000000000.01e60227022f01cc.01ac01b701e601aa
+    7b71507b9444a3e3.34d109dff2b019db.696cc4c09d29690b.3cb1c545bfdec6e3
+    7bf70517d969a3f9
+
+VMPSADBW_128_0x1(reg)
+  before
+    471e41372ff79a1e.6f7dd262f0e052c0.ee3d480a968bfb83.8fdfff97541b43f9
+    fa7177135e14e6fb.24523e196ed8371b.2271417b85efd5cf.c776a7895d24b60f
+    f13ea216014dc43f.75bd108c2a390f21.2bb8f29d5b68e36a.effc3680d74f7d7a
+    88cfbfabb52d7094.408ac4a63f0e96fe.675d57dbb3836100.e23f2a69dba85566
+    7b09fe31883cfafe
+  after
+    0000000000000000.0000000000000000.010700e200bc0128.0144013e014d025b
+    fa7177135e14e6fb.24523e196ed8371b.2271417b85efd5cf.c776a7895d24b60f
+    f13ea216014dc43f.75bd108c2a390f21.2bb8f29d5b68e36a.effc3680d74f7d7a
+    88cfbfabb52d7094.408ac4a63f0e96fe.675d57dbb3836100.e23f2a69dba85566
+    7b09fe31883cfafe
+VMPSADBW_128_0x1(mem)
+  before
+    98272ec2f716276f.1c71c840154026a7.5f85d755c96387dd.31ad6aa329cc8a3f
+    1365370a464299e5.0770bb40bd132123.b07ac485e545a0eb.e5f429605acd9bd1
+    ca8f94f491cd0c8b.a61893174a319eb5.0e340720aebf9b53.de7e8f7ee214d062
+    9771c06cf3c23c8d.55b54c325827d908.54801c1341de3442.7a9798695b2c649f
+    138a408e64a29434
+  after
+    98272ec2f716276f.1c71c840154026a7.5f85d755c96387dd.31ad6aa329cc8a3f
+    1365370a464299e5.0770bb40bd132123.b07ac485e545a0eb.e5f429605acd9bd1
+    0000000000000000.0000000000000000.00e4017901f6017f.019a008f00ed00a8
+    9771c06cf3c23c8d.55b54c325827d908.54801c1341de3442.7a9798695b2c649f
+    138a408e64a29434
+
+VMPSADBW_128_0x1(reg)
+  before
+    07a5835796019ccc.58d73a5d882ee419.7092e3fb827f0dc9.5f2b804abaac29e3
+    b0325e3190d5b814.e78c7bb56d1bc159.53fc52df64c778a4.0cffadb233383463
+    6c7ecc89ebab23b8.225d0060be988f79.5a40974b9b8b5444.35c92136cb8b12ee
+    95d5c9c9460e1a63.e317464896ae09a6.e1a8ada9c356dd56.b85457c19bb37faf
+    6f6ecc41c1bb36d3
+  after
+    0000000000000000.0000000000000000.0190014602810167.017a00a3012c00d3
+    b0325e3190d5b814.e78c7bb56d1bc159.53fc52df64c778a4.0cffadb233383463
+    6c7ecc89ebab23b8.225d0060be988f79.5a40974b9b8b5444.35c92136cb8b12ee
+    95d5c9c9460e1a63.e317464896ae09a6.e1a8ada9c356dd56.b85457c19bb37faf
+    6f6ecc41c1bb36d3
+VMPSADBW_128_0x1(mem)
+  before
+    37e1faa159b0f486.8983525f3a8ad9c1.0784c85a116bec0c.4480906777b45185
+    ec7a5fcd7e9c75f3.a2d461b665ab9b80.6a7002834cdaf4d6.df163df05331ea7e
+    6b0576b14d8e7446.3d13f43a63fe9d4a.e9a971ad6208dd31.0eb5afb0f45ae5ec
+    8e4ebc39e18faeac.b78d0657cf0f1bcb.5ef98fc670006248.2da8e213f5ba7d7d
+    973cd285f3deefda
+  after
+    37e1faa159b0f486.8983525f3a8ad9c1.0784c85a116bec0c.4480906777b45185
+    ec7a5fcd7e9c75f3.a2d461b665ab9b80.6a7002834cdaf4d6.df163df05331ea7e
+    0000000000000000.0000000000000000.01c801a6019501e1.00e500ea01bb00cf
+    8e4ebc39e18faeac.b78d0657cf0f1bcb.5ef98fc670006248.2da8e213f5ba7d7d
+    973cd285f3deefda
+
+VMPSADBW_128_0x2(reg)
+  before
+    aabe7b72895177b2.3221ab5156addf51.6a8f9479456851b0.a62edab892ce4048
+    c178da46549f51af.334ac1e6c9f3c361.b363980c62977aa5.9d12cd71e27e335d
+    38b6ea6def54b87d.6d9479e2566e1507.ef56107cc228d355.1f72e5dc7e1df6b2
+    6ac6a754f7fde9c9.bccd4f321829926f.78b3f73600a6986d.081a9ce582b64774
+    34d670780956e0ce
+  after
+    0000000000000000.0000000000000000.00f3013e01cb005d.0244008c0182011e
+    c178da46549f51af.334ac1e6c9f3c361.b363980c62977aa5.9d12cd71e27e335d
+    38b6ea6def54b87d.6d9479e2566e1507.ef56107cc228d355.1f72e5dc7e1df6b2
+    6ac6a754f7fde9c9.bccd4f321829926f.78b3f73600a6986d.081a9ce582b64774
+    34d670780956e0ce
+VMPSADBW_128_0x2(mem)
+  before
+    7f71dc8130087ded.b5f20d650725203f.fcbfbfc32b30f6c6.abc849a4b89d0498
+    c5b95cec12d8dcfd.7488180ebc59998a.09374680ac90fd38.e4df023487995583
+    e2786ca6ccd3b729.02d2c5b9b1248f57.bf015e55b65362f1.7f451f500827c5da
+    b27b89997904ca9e.bd1d0fd482123f52.fae8852e6688e21c.d8479b66d8d29048
+    4b2e72e19226f47a
+  after
+    7f71dc8130087ded.b5f20d650725203f.fcbfbfc32b30f6c6.abc849a4b89d0498
+    c5b95cec12d8dcfd.7488180ebc59998a.09374680ac90fd38.e4df023487995583
+    0000000000000000.0000000000000000.020e0105019c02ee.01e300c9012e01a9
+    b27b89997904ca9e.bd1d0fd482123f52.fae8852e6688e21c.d8479b66d8d29048
+    4b2e72e19226f47a
+
+VMPSADBW_128_0x2(reg)
+  before
+    3449a02dd3b02b1b.118e2eb33577d387.ffb5f2caccb0e526.96ba37f6d73838e5
+    efe322b636fb71d8.db7dd7de1d398c11.26e56b072b89bc7f.6f41ee9c26712279
+    d847f2e85893045d.ec1300084c55b268.8cfb74f73a29010b.614a28096e3f5a04
+    4bc30e2fd4051e55.201e261cdfd701b7.8f410b06951cf074.48a1602accac9db1
+    ff1212eb5bc6a6ad
+  after
+    0000000000000000.0000000000000000.01c4017c01ae01cb.018201b200ec00eb
+    efe322b636fb71d8.db7dd7de1d398c11.26e56b072b89bc7f.6f41ee9c26712279
+    d847f2e85893045d.ec1300084c55b268.8cfb74f73a29010b.614a28096e3f5a04
+    4bc30e2fd4051e55.201e261cdfd701b7.8f410b06951cf074.48a1602accac9db1
+    ff1212eb5bc6a6ad
+VMPSADBW_128_0x2(mem)
+  before
+    6469ba3937993224.a4a171f847dcfc6d.5268c306f2cc342b.89052ba1d9efc566
+    5272d4fe7e2ffd41.3f2e18ad4ca5da50.60be55b2a03f08ef.d791d032a12ebb8e
+    a5f8dd284996c331.78b6fdbc7febf3ab.25ec570c053c3930.d632f7268a630f98
+    38c850a2b6da3f1f.aa841e8f7d3a842a.7dbe46003ed08319.e0339aea2f1cfd2f
+    52e2b7e92de5c000
+  after
+    6469ba3937993224.a4a171f847dcfc6d.5268c306f2cc342b.89052ba1d9efc566
+    5272d4fe7e2ffd41.3f2e18ad4ca5da50.60be55b2a03f08ef.d791d032a12ebb8e
+    0000000000000000.0000000000000000.02de0216011000f9.00dd012c018101d9
+    38c850a2b6da3f1f.aa841e8f7d3a842a.7dbe46003ed08319.e0339aea2f1cfd2f
+    52e2b7e92de5c000
+
+VMPSADBW_128_0x2(reg)
+  before
+    8989498e1f4896b6.e9aea958e1062f38.33e67694e21ec978.43009c7a6606a1d8
+    df764d47a2d3b8fe.92766536e4264ca8.6e2601364924fe41.557dd7679aea5096
+    b1f3bd7f51126584.11ecfe28de46559a.b791bce04ed75e33.8d0372b1f5894c82
+    5b4d97a2c990d7f3.41dcf21ae973043a.6973a1008ec426f8.c95ce94693ee50c5
+    e355b9109126198e
+  after
+    0000000000000000.0000000000000000.009001990152010e.009f01ec00ff00d0
+    df764d47a2d3b8fe.92766536e4264ca8.6e2601364924fe41.557dd7679aea5096
+    b1f3bd7f51126584.11ecfe28de46559a.b791bce04ed75e33.8d0372b1f5894c82
+    5b4d97a2c990d7f3.41dcf21ae973043a.6973a1008ec426f8.c95ce94693ee50c5
+    e355b9109126198e
+VMPSADBW_128_0x2(mem)
+  before
+    b9ba5cfd0b3b6307.39d0d61ca5d94bf8.fd11bcf821b816b6.e218ae02a476913c
+    255750f81c3bea5d.a7c776598179fd3e.2359d9aea3214738.7dccde502d79ddac
+    05f710ede13269bb.018074c6fafd2972.8d7ec3298abb52ec.95db2e57c55a44f4
+    336819c8752b9d4e.a345cacdacf00a40.184df853f391f5ff.8890988306a403bf
+    b0381a418fe355ba
+  after
+    b9ba5cfd0b3b6307.39d0d61ca5d94bf8.fd11bcf821b816b6.e218ae02a476913c
+    255750f81c3bea5d.a7c776598179fd3e.2359d9aea3214738.7dccde502d79ddac
+    0000000000000000.0000000000000000.00cc01230130019e.019401790144011c
+    336819c8752b9d4e.a345cacdacf00a40.184df853f391f5ff.8890988306a403bf
+    b0381a418fe355ba
+
+VMPSADBW_128_0x3(reg)
+  before
+    6b20affbf9a37891.8d74e575f4324241.e96376dc32dedd53.a192f31af9b0e99d
+    1391531fe271a6ef.ede8f2e07b5313c1.2f26735d2854de58.02183068b922edf1
+    06da0218e6d91b80.3090bbf6259bcdfa.d1dabebe2bdd48fa.18ad2b2b4ef6bb28
+    9e46b951a06515f2.3238bca10f152c17.2bcb516ad70658e6.c01b614ed535106d
+    d42f4dbd69eda8ed
+  after
+    0000000000000000.0000000000000000.01a301f102850275.01be01b401550132
+    1391531fe271a6ef.ede8f2e07b5313c1.2f26735d2854de58.02183068b922edf1
+    06da0218e6d91b80.3090bbf6259bcdfa.d1dabebe2bdd48fa.18ad2b2b4ef6bb28
+    9e46b951a06515f2.3238bca10f152c17.2bcb516ad70658e6.c01b614ed535106d
+    d42f4dbd69eda8ed
+VMPSADBW_128_0x3(mem)
+  before
+    31b66b6426293fd4.38207338ada3ceee.d0ab72cf55ceec45.99452accc6594ac8
+    b379372f29f6904d.31b62c38a81f8323.e4b7576a11d1c8af.779344529765594b
+    37472d0a8e5f5885.e352e0bd2d63703b.4b26e960622a7d82.21029b67e4b3c31c
+    97ebcae2707052a7.ab418c34d9fdd0e3.e1c6a39c61e5c7ea.f2de2b7849d1c2e6
+    4873f1ef624a9256
+  after
+    31b66b6426293fd4.38207338ada3ceee.d0ab72cf55ceec45.99452accc6594ac8
+    b379372f29f6904d.31b62c38a81f8323.e4b7576a11d1c8af.779344529765594b
+    0000000000000000.0000000000000000.00b3004d0101011c.00fc01740115011c
+    97ebcae2707052a7.ab418c34d9fdd0e3.e1c6a39c61e5c7ea.f2de2b7849d1c2e6
+    4873f1ef624a9256
+
+VMPSADBW_128_0x3(reg)
+  before
+    7e0de839cdab7118.b03089a1eb353ce0.e5cf2a074879e0c6.8261010a2d0f6112
+    f0f80cc3237f99d7.5ee4e6351cbbd05c.ee48b8a31561dc91.0ac38096dfb40927
+    f97f59f70252473f.7dd15d881f0ecb46.20f73275dc43ffef.55ba9b2c95de7955
+    f7f0cc4306b0b6fe.e9c46b880e38e8cb.d82992e73aab868d.3f11ceb86b9b6dc7
+    a49395267cf6a3a9
+  after
+    0000000000000000.0000000000000000.0126019801fa00b9.01e801ad017c0179
+    f0f80cc3237f99d7.5ee4e6351cbbd05c.ee48b8a31561dc91.0ac38096dfb40927
+    f97f59f70252473f.7dd15d881f0ecb46.20f73275dc43ffef.55ba9b2c95de7955
+    f7f0cc4306b0b6fe.e9c46b880e38e8cb.d82992e73aab868d.3f11ceb86b9b6dc7
+    a49395267cf6a3a9
+VMPSADBW_128_0x3(mem)
+  before
+    600d6c62e5fcd528.44955f11ca2623be.7e898b200847e416.722bd667ca24ad17
+    4f4bd059c1b8bf70.3ebb10cfeb3fca2b.18eb393c27467b54.4a47f860293ab038
+    4d193cf52c361fac.40aedae80488e7f2.93b8f1c8874269b1.bccaf63df279ca9d
+    36432c244383af09.a5b9bac8b18cb6bf.cbba2fb045466958.2400cc6cc26e38f1
+    de34745834a436e1
+  after
+    600d6c62e5fcd528.44955f11ca2623be.7e898b200847e416.722bd667ca24ad17
+    4f4bd059c1b8bf70.3ebb10cfeb3fca2b.18eb393c27467b54.4a47f860293ab038
+    0000000000000000.0000000000000000.00a700a001850123.00da011f015f00e1
+    36432c244383af09.a5b9bac8b18cb6bf.cbba2fb045466958.2400cc6cc26e38f1
+    de34745834a436e1
+
+VMPSADBW_128_0x3(reg)
+  before
+    46b4ec6de5a70019.e6951cd122aa2cb3.cb2aaadb8fd7723d.9bbe70e07c5e3876
+    b8ca2f187004d144.39da88e8e4b752d5.0c4ba88d39f65819.e1902f4448979236
+    90c339c37246e60f.0ae0ed54a5b7dc9c.c569af4a4c74a3ff.78fce8c8c7fc33c5
+    2aeb06db86fa7a25.3771c60382b58733.53d0bb7f64dd909a.3cce17591299d64f
+    08d239e1477b38ff
+  after
+    0000000000000000.0000000000000000.016f0135015e00c9.00dc016f010200dc
+    b8ca2f187004d144.39da88e8e4b752d5.0c4ba88d39f65819.e1902f4448979236
+    90c339c37246e60f.0ae0ed54a5b7dc9c.c569af4a4c74a3ff.78fce8c8c7fc33c5
+    2aeb06db86fa7a25.3771c60382b58733.53d0bb7f64dd909a.3cce17591299d64f
+    08d239e1477b38ff
+VMPSADBW_128_0x3(mem)
+  before
+    bad3c94e82ad1502.e18e93cd48abcb33.9b5a8fe196bd0fc7.10ccc9961bbe5b96
+    2d9e438bde3b2883.13f8db0455e513e4.1267c5d8fedc3084.59a9d4fd10a240a1
+    3cff238477322eaf.1b74daeb49348fe6.7763e2d5d51da595.8bb3d71edc157b64
+    c5c2e5256a9de3b1.554f8cf0bf257ae2.a81c64c4388c2b26.0035d1671ea4478e
+    157cbb436fdae1c9
+  after
+    bad3c94e82ad1502.e18e93cd48abcb33.9b5a8fe196bd0fc7.10ccc9961bbe5b96
+    2d9e438bde3b2883.13f8db0455e513e4.1267c5d8fedc3084.59a9d4fd10a240a1
+    0000000000000000.0000000000000000.00fe0103003f00f2.01c7019a01600162
+    c5c2e5256a9de3b1.554f8cf0bf257ae2.a81c64c4388c2b26.0035d1671ea4478e
+    157cbb436fdae1c9
+
+VMPSADBW_128_0x4(reg)
+  before
+    26d5921e6e4384c1.a3b3065ad38902b6.1cd6ed7e53431287.7f5cc69242367e65
+    8f8a5364b46c6e24.b19e010fcc0049ea.ce53fa01a21b917f.daf084291026597c
+    ade7f981dfe0d99b.cd4e523074107278.c613aee547383376.94a41b77bd697997
+    da3a80e18b2b01d5.d19175a9e5c5398d.5f610596df263619.8844056765099ae3
+    939cc0e52515788c
+  after
+    0000000000000000.0000000000000000.017e014a01590099.011300fc0139011d
+    8f8a5364b46c6e24.b19e010fcc0049ea.ce53fa01a21b917f.daf084291026597c
+    ade7f981dfe0d99b.cd4e523074107278.c613aee547383376.94a41b77bd697997
+    da3a80e18b2b01d5.d19175a9e5c5398d.5f610596df263619.8844056765099ae3
+    939cc0e52515788c
+VMPSADBW_128_0x4(mem)
+  before
+    9278c7dd1996cebd.73cee5f153da247c.9b31e6673b2a5c55.f78bfb800672d414
+    5fa3973b5c9a59a3.d4ee221bd3787c3c.05fb2254934b95fb.e8db8d1056a74a12
+    d8eaaaeb0a2cd569.59e735cca89246c3.ecbba45e0834a1ab.909fb5b06e51d3c0
+    d71a7ed94058fd3d.5e0519716eb2beba.2d3ce86fb7f23c93.492171cee7fcacca
+    71aebdd45f3511db
+  after
+    9278c7dd1996cebd.73cee5f153da247c.9b31e6673b2a5c55.f78bfb800672d414
+    5fa3973b5c9a59a3.d4ee221bd3787c3c.05fb2254934b95fb.e8db8d1056a74a12
+    0000000000000000.0000000000000000.024400b2017901da.016301f301eb0196
+    d71a7ed94058fd3d.5e0519716eb2beba.2d3ce86fb7f23c93.492171cee7fcacca
+    71aebdd45f3511db
+
+VMPSADBW_128_0x4(reg)
+  before
+    6292933072883e9f.39fd8ef11a2b8e48.3f94cb75c0671fd0.a24c6b75bb9021dd
+    7a18f14dbb7f6fc4.db5f5620b2b044b8.58e045433a3aa6af.28b5a75b301b0db5
+    138ed297d7a8dff3.970e525027f4dbb9.0434854979b98f03.9c441a0d339ebc48
+    8a3e327a618fcbdb.4ad5ff6f93020e77.a1de86f2186f1679.d8c63f77e025e9c2
+    b904928552bc514e
+  after
+    0000000000000000.0000000000000000.018d00fd015400e8.003c01850158004a
+    7a18f14dbb7f6fc4.db5f5620b2b044b8.58e045433a3aa6af.28b5a75b301b0db5
+    138ed297d7a8dff3.970e525027f4dbb9.0434854979b98f03.9c441a0d339ebc48
+    8a3e327a618fcbdb.4ad5ff6f93020e77.a1de86f2186f1679.d8c63f77e025e9c2
+    b904928552bc514e
+VMPSADBW_128_0x4(mem)
+  before
+    1bcd9023a670b019.3c750d62f5be6e26.d07fd86812e69a1d.8a2844aab4e876bd
+    daecb33ef74cc24e.837f5fbb30c30681.05d95926c1ad3bd7.1b5fbbdde8b1ec7b
+    d22c79c0615d421a.bca825f1ae2acd97.c5affe97bb61acd3.b0cfe8f85156b35e
+    df5b5d9701aeeda9.433c5a700a7dff15.eccd44a61d11ab3a.a4c4c6658a610912
+    5589519130602844
+  after
+    1bcd9023a670b019.3c750d62f5be6e26.d07fd86812e69a1d.8a2844aab4e876bd
+    daecb33ef74cc24e.837f5fbb30c30681.05d95926c1ad3bd7.1b5fbbdde8b1ec7b
+    0000000000000000.0000000000000000.01080178016e009d.01b7014301090187
+    df5b5d9701aeeda9.433c5a700a7dff15.eccd44a61d11ab3a.a4c4c6658a610912
+    5589519130602844
+
+VMPSADBW_128_0x4(reg)
+  before
+    1e6c85e9dede4da0.dd43dcadf24b7f26.7586faa5e04adaa6.57ffa63f02c6f23b
+    5ab75fd73068b3d1.a8b170f05141b4be.acd402fbcd1d98f7.e010a04e868e3d00
+    67b7d9c9c4899884.1c71974b399b479c.45706cdd6c8076b4.64ceaec0c6744ab5
+    9fb8f12a33cd3665.154eccaac765f5ed.9ca736b95a02b088.be034c7fde85d387
+    cc7cf778e9cc94a2
+  after
+    0000000000000000.0000000000000000.0149026600d800ee.01a501ec00ec013b
+    5ab75fd73068b3d1.a8b170f05141b4be.acd402fbcd1d98f7.e010a04e868e3d00
+    67b7d9c9c4899884.1c71974b399b479c.45706cdd6c8076b4.64ceaec0c6744ab5
+    9fb8f12a33cd3665.154eccaac765f5ed.9ca736b95a02b088.be034c7fde85d387
+    cc7cf778e9cc94a2
+VMPSADBW_128_0x4(mem)
+  before
+    69052a9803554b32.6006a2661bc0c91f.6f168bf916ac79dd.0dc55bfa322c8120
+    716a61ca492db262.04ede9e918ef8f5e.06935124437b9197.f416d70c918c2627
+    c07618f9d75f865e.e9b9c01fc4e6c2d0.b692981769def748.ade5a75b12addb4a
+    32f7cb13c8f78353.69b52574be2f9f1f.5bdfdebea5e2681b.9480c553521bdb35
+    05312f60ec636493
+  after
+    69052a9803554b32.6006a2661bc0c91f.6f168bf916ac79dd.0dc55bfa322c8120
+    716a61ca492db262.04ede9e918ef8f5e.06935124437b9197.f416d70c918c2627
+    0000000000000000.0000000000000000.010600c0009c00e7.01980147024f0142
+    32f7cb13c8f78353.69b52574be2f9f1f.5bdfdebea5e2681b.9480c553521bdb35
+    05312f60ec636493
+
+VMPSADBW_128_0x5(reg)
+  before
+    5c45e0ee7d10b011.a3b7f7033802646d.e22e1354a05861f7.d1469e0612929f3d
+    f408d56aa0affb5a.ee8317b5448be6d7.ae70862c06ed4605.f39355d9cdfa59d9
+    2bc6083ef1cb831b.f127a715079ec5be.2ac77b668d7888f5.9f927d25f127521c
+    5ccb77d80df082ff.876f230f9e48bd4e.b37fed70d0876372.b00e94d49a244632
+    01d415d4e5fdf047
+  after
+    0000000000000000.0000000000000000.00ab01be0190014b.01e001ca01410131
+    f408d56aa0affb5a.ee8317b5448be6d7.ae70862c06ed4605.f39355d9cdfa59d9
+    2bc6083ef1cb831b.f127a715079ec5be.2ac77b668d7888f5.9f927d25f127521c
+    5ccb77d80df082ff.876f230f9e48bd4e.b37fed70d0876372.b00e94d49a244632
+    01d415d4e5fdf047
+VMPSADBW_128_0x5(mem)
+  before
+    70b07c10eebf0e85.e3621da390aa34b4.8b270890249489b2.a3e4d8b46ca61529
+    d86e4574d075591b.1cd9f60a1586d7e3.db1ad182b68fe617.574138a0fc5fd8c5
+    14daedeca72b9033.627aff7b380fa53b.5116fad26f4390a8.2be3099f1d40e9f3
+    02c0ef6490ee6dfa.1392336196d2db66.cbe5ff6d6cbe4292.7c16481d6ad5845f
+    a426ef8680a8e4b4
+  after
+    70b07c10eebf0e85.e3621da390aa34b4.8b270890249489b2.a3e4d8b46ca61529
+    d86e4574d075591b.1cd9f60a1586d7e3.db1ad182b68fe617.574138a0fc5fd8c5
+    0000000000000000.0000000000000000.00f400d700ca0113.01340204022c01a3
+    02c0ef6490ee6dfa.1392336196d2db66.cbe5ff6d6cbe4292.7c16481d6ad5845f
+    a426ef8680a8e4b4
+
+VMPSADBW_128_0x5(reg)
+  before
+    005ffc46fa47469f.7cebc7c8a6c9ad9b.8a6d8d28ca5ab510.24545c3ec80cb900
+    ec0d6ac9743ee6cb.6029f10406c90c43.22570b3c71336ee6.372f8e309f38b11f
+    c47b367b8b18ffe5.8844ea05ccf8451d.399ba90a26e94494.e14210310e4ee61b
+    e4f75bc9db61ce99.d1092cb512651656.298761fc860970c5.ff585e2c315a131f
+    6b3ff40d2369f558
+  after
+    0000000000000000.0000000000000000.012d013f01340192.01b60140008c013c
+    ec0d6ac9743ee6cb.6029f10406c90c43.22570b3c71336ee6.372f8e309f38b11f
+    c47b367b8b18ffe5.8844ea05ccf8451d.399ba90a26e94494.e14210310e4ee61b
+    e4f75bc9db61ce99.d1092cb512651656.298761fc860970c5.ff585e2c315a131f
+    6b3ff40d2369f558
+VMPSADBW_128_0x5(mem)
+  before
+    03c14fc0008648f2.a8cbd41dffa58f92.18443502f719381a.5065317f2c1f3126
+    a1abea32e5bec718.6c449fe593717e7d.37c081d694226a94.08821400b5b5c163
+    22c9414dee1b2ff6.8caeb88b3450d605.0c4b8a1f078b66f1.af2a06eabc595d27
+    63e7d0fe36ac3cba.6455197d7dced4d7.71afcec86c60e95d.9fa904a8de97411e
+    364a08a8b6f9a8f6
+  after
+    03c14fc0008648f2.a8cbd41dffa58f92.18443502f719381a.5065317f2c1f3126
+    a1abea32e5bec718.6c449fe593717e7d.37c081d694226a94.08821400b5b5c163
+    0000000000000000.0000000000000000.0146016200d900d5.010d0075015d0101
+    63e7d0fe36ac3cba.6455197d7dced4d7.71afcec86c60e95d.9fa904a8de97411e
+    364a08a8b6f9a8f6
+
+VMPSADBW_128_0x5(reg)
+  before
+    ce5b1055e10dd058.3ed11332d97aaa8d.5084c0260b78b49f.43b9c7bddeaeaf03
+    c426171bfa5ef2f3.905287d3f493349e.ac89a8f27ad9b208.5e36f3ea7a80740f
+    74f819669d794d71.3537a7cfa2029717.d3aecd4d647e09bf.9eefce3b5be3f3af
+    3b1e13a267e91b7f.094def1100d48f25.23402ca368f2f66f.e0b3d29c9de2e90c
+    fe4d7dfa5d891155
+  after
+    0000000000000000.0000000000000000.00bf00ff014b0089.01610170027701cd
+    c426171bfa5ef2f3.905287d3f493349e.ac89a8f27ad9b208.5e36f3ea7a80740f
+    74f819669d794d71.3537a7cfa2029717.d3aecd4d647e09bf.9eefce3b5be3f3af
+    3b1e13a267e91b7f.094def1100d48f25.23402ca368f2f66f.e0b3d29c9de2e90c
+    fe4d7dfa5d891155
+VMPSADBW_128_0x5(mem)
+  before
+    d5884a3fb7e529b4.73e1003bf43a99c8.e85edb852914d7f3.f78bbf601fc1b5c5
+    4132b559c601eb55.7990dc9edff903f9.af36e8173ace2dae.abdb84f12877816d
+    1e153a32a6e91366.a976a335c4b195bd.38a390b34e0e4b81.9a7b76c01ca19712
+    48fe56b874a95f10.5fde516e40ef8ac1.6070514581e1ed99.22b9913b99cb3360
+    9edfd2cc3b7f9105
+  after
+    d5884a3fb7e529b4.73e1003bf43a99c8.e85edb852914d7f3.f78bbf601fc1b5c5
+    4132b559c601eb55.7990dc9edff903f9.af36e8173ace2dae.abdb84f12877816d
+    0000000000000000.0000000000000000.01ec0176017301e0.00e3017c00a90168
+    48fe56b874a95f10.5fde516e40ef8ac1.6070514581e1ed99.22b9913b99cb3360
+    9edfd2cc3b7f9105
+
+VMPSADBW_128_0x6(reg)
+  before
+    693a34e19d4becab.9bb983d64b4e8982.f815e3b4ee3d1fb1.0368a7b9f153d122
+    e116b2e55bba81fe.f3113f7848e44ee6.ce6754726b298f38.fd580cfcb76eb147
+    60bf4b4412598cab.2cd4068a86756a68.3e20a016523f1803.290dfef8f1404934
+    4481f86a5eb3485e.22cc52f8220f9835.a48cc30b400af4bd.6550f79bbbd55717
+    8cf075cf3037951a
+  after
+    0000000000000000.0000000000000000.00ec00ae00e900db.0193017e012101c9
+    e116b2e55bba81fe.f3113f7848e44ee6.ce6754726b298f38.fd580cfcb76eb147
+    60bf4b4412598cab.2cd4068a86756a68.3e20a016523f1803.290dfef8f1404934
+    4481f86a5eb3485e.22cc52f8220f9835.a48cc30b400af4bd.6550f79bbbd55717
+    8cf075cf3037951a
+VMPSADBW_128_0x6(mem)
+  before
+    7ab8f4826c74c069.e7a7b7c3da54f2c2.b0c6a1ae37be9579.5cf7b9bdd0166013
+    0b73ee9f8c979431.a77f82bb22c9c684.b48e6e98e28c1d60.c2ac7f989fef97b1
+    1befe112abadcc9e.de5357bed39d004f.09f035a33e87ec15.32f810084822d642
+    85f648c7e6c125dc.e9703239895cdbd1.8bb872b967bbbdc4.0728687a683a5973
+    9f8683589ac45cef
+  after
+    7ab8f4826c74c069.e7a7b7c3da54f2c2.b0c6a1ae37be9579.5cf7b9bdd0166013
+    0b73ee9f8c979431.a77f82bb22c9c684.b48e6e98e28c1d60.c2ac7f989fef97b1
+    0000000000000000.0000000000000000.011300bd00ea016e.017400d8004a00d2
+    85f648c7e6c125dc.e9703239895cdbd1.8bb872b967bbbdc4.0728687a683a5973
+    9f8683589ac45cef
+
+VMPSADBW_128_0x6(reg)
+  before
+    555e5e107a4a1a63.27559faa58e05b15.25220d96de9394b3.16b2a2c87b324d9a
+    85fef40ca55bd07a.dcd862a71e142a78.ecb5e64271cd67a3.85a93fba93fa58c3
+    8bb141bab780bae2.7f4a0eaa536b4d2f.9b74b8aadb968f4d.b66ac77dcd1f996a
+    c2c241854b471444.ee791ea014f18167.8fad7f39bb7b495d.84c1b5fc45abcdbc
+    ca7a862316adb0e5
+  after
+    0000000000000000.0000000000000000.00e700fd0116011f.008900e700710126
+    85fef40ca55bd07a.dcd862a71e142a78.ecb5e64271cd67a3.85a93fba93fa58c3
+    8bb141bab780bae2.7f4a0eaa536b4d2f.9b74b8aadb968f4d.b66ac77dcd1f996a
+    c2c241854b471444.ee791ea014f18167.8fad7f39bb7b495d.84c1b5fc45abcdbc
+    ca7a862316adb0e5
+VMPSADBW_128_0x6(mem)
+  before
+    6661b4de5c2efd10.887ef0d9fd3b194f.042f0e737cb0824b.22aa375baa07d17e
+    3242bd19343c7269.38314b216ae906ad.9c395a11a8b70b08.b1b8dd7c46c6635c
+    0ce81cc0b9e2c91e.2d274dcc2ddc170a.94647e64b30fd9ca.98236b082b453aa5
+    ce214ebf082cbe59.c5acf243e3a08713.c679f75abac6a8bc.3337df6bf40f9302
+    de4035113eb0aa22
+  after
+    6661b4de5c2efd10.887ef0d9fd3b194f.042f0e737cb0824b.22aa375baa07d17e
+    3242bd19343c7269.38314b216ae906ad.9c395a11a8b70b08.b1b8dd7c46c6635c
+    0000000000000000.0000000000000000.0167015300e800ed.01c001b5013d00c9
+    ce214ebf082cbe59.c5acf243e3a08713.c679f75abac6a8bc.3337df6bf40f9302
+    de4035113eb0aa22
+
+VMPSADBW_128_0x6(reg)
+  before
+    f5896766a4b5baaf.56b7cd033c270f46.5b0c36f327c19374.104740ded8e7340a
+    d45f73d7c2a90155.7e77177672de7612.4a92164896cc77d8.4c99d5dc297e38e2
+    d70f54ce3518b9c2.232da706c55eb0e9.f08b8dafcb4d6fec.573a3240ca98716d
+    5ae306b9998f1e9f.22a4f99e52b179f6.a743979263ceb65c.0ef8d4f6d7409bda
+    4b9d36ea6b837153
+  after
+    0000000000000000.0000000000000000.00ed0101019e00d0.01340155004f0141
+    d45f73d7c2a90155.7e77177672de7612.4a92164896cc77d8.4c99d5dc297e38e2
+    d70f54ce3518b9c2.232da706c55eb0e9.f08b8dafcb4d6fec.573a3240ca98716d
+    5ae306b9998f1e9f.22a4f99e52b179f6.a743979263ceb65c.0ef8d4f6d7409bda
+    4b9d36ea6b837153
+VMPSADBW_128_0x6(mem)
+  before
+    ebf6d408a26cb005.b928850289996e9b.55aa892934e68c66.cd06305ff9dd89d3
+    cbce2a3d9907141b.5029cd17a1c3e360.9909d4958806a664.bc2054812a0524fd
+    c5f3b4736b6059c2.7b34db637e98ba9a.cb8f55cd691f831d.d1dd006391d3c288
+    b630ef9835843a25.9693aa52bba42ef6.c50688bdf33cdebd.69882f73cbd2a01d
+    de6fdd1c738efa6b
+  after
+    ebf6d408a26cb005.b928850289996e9b.55aa892934e68c66.cd06305ff9dd89d3
+    cbce2a3d9907141b.5029cd17a1c3e360.9909d4958806a664.bc2054812a0524fd
+    0000000000000000.0000000000000000.0068015501850150.00ec016a00d801a1
+    b630ef9835843a25.9693aa52bba42ef6.c50688bdf33cdebd.69882f73cbd2a01d
+    de6fdd1c738efa6b
+
+VMPSADBW_128_0x7(reg)
+  before
+    8ddc06ca25940c1c.7a505697127e7471.fd943650f5737c20.643be951436a746f
+    d31ca7ea7e6f11dd.ed20655b1f5bc3d2.0b817cc9c792e0c3.84f9f47675b40160
+    0a7bbae61aab4659.eb6c98d27726e273.1ea77629ce8c968c.010e2616a42641bc
+    8f443d2b93d5e73d.51006ce737eb8f81.915122dda5eed927.b744fa1eecccefae
+    8269ec7b6ab3c862
+  after
+    0000000000000000.0000000000000000.017f013a019e01c2.015501bc02160183
+    d31ca7ea7e6f11dd.ed20655b1f5bc3d2.0b817cc9c792e0c3.84f9f47675b40160
+    0a7bbae61aab4659.eb6c98d27726e273.1ea77629ce8c968c.010e2616a42641bc
+    8f443d2b93d5e73d.51006ce737eb8f81.915122dda5eed927.b744fa1eecccefae
+    8269ec7b6ab3c862
+VMPSADBW_128_0x7(mem)
+  before
+    3f4779173ae78805.bec52b2688782f34.f9a85b867ab78427.c0cd7b4fe943e63f
+    c8ab1be07672eac3.f348814193215ceb.c02fe39c5d957d92.06667ded3517f981
+    f96150c13d62acc7.8a1b39ea505aa70e.82637f13fb9138ee.c167252125f64e98
+    b03493a6a9c2883e.df88518c5cb14f48.1b0eacd870b76f66.4b1d6e59566d2031
+    02d454006408acf8
+  after
+    3f4779173ae78805.bec52b2688782f34.f9a85b867ab78427.c0cd7b4fe943e63f
+    c8ab1be07672eac3.f348814193215ceb.c02fe39c5d957d92.06667ded3517f981
+    0000000000000000.0000000000000000.016f003300eb00dd.01460107011d01be
+    b03493a6a9c2883e.df88518c5cb14f48.1b0eacd870b76f66.4b1d6e59566d2031
+    02d454006408acf8
+
+VMPSADBW_128_0x7(reg)
+  before
+    40d8d382ea512e98.c8f2607bd69f3a54.4edcc49252b28e46.67fde4d8d914de27
+    6375e74a84d6e1bd.1d65332ce1048034.33628f6acfe8a2b3.41fca5fd52b4435c
+    c5f68dc7cf220215.8b5a89a5e5fd140b.ea68ac7f6edfc43c.87d76a35f6a15832
+    c4a8bf6267c2cd49.ee9dddd2fe97b304.cf38193ecc23338d.1459b06ae1e9dad5
+    c450f18a30988570
+  after
+    0000000000000000.0000000000000000.014100e9014600d9.0081017b00d401c2
+    6375e74a84d6e1bd.1d65332ce1048034.33628f6acfe8a2b3.41fca5fd52b4435c
+    c5f68dc7cf220215.8b5a89a5e5fd140b.ea68ac7f6edfc43c.87d76a35f6a15832
+    c4a8bf6267c2cd49.ee9dddd2fe97b304.cf38193ecc23338d.1459b06ae1e9dad5
+    c450f18a30988570
+VMPSADBW_128_0x7(mem)
+  before
+    7386ab80feb8142f.bad87b88e7417e08.22faaba04add184c.3e20d11184412951
+    fcc8593868574440.05d0bda5eb2b50fc.023d6ff9e2db000f.936ad06532c4e335
+    3de2779e8a81d1cd.ffdd7f26100d80d2.6c32a6cbe49e2778.2a6312a674389de4
+    11a0819e7e407702.054abf75f1724a35.3ba4cb006c3149b4.5f579441e32a920b
+    8e9150a11d25ff55
+  after
+    7386ab80feb8142f.bad87b88e7417e08.22faaba04add184c.3e20d11184412951
+    fcc8593868574440.05d0bda5eb2b50fc.023d6ff9e2db000f.936ad06532c4e335
+    0000000000000000.0000000000000000.013600c001bf021b.025c015b00eb0161
+    11a0819e7e407702.054abf75f1724a35.3ba4cb006c3149b4.5f579441e32a920b
+    8e9150a11d25ff55
+
+VMPSADBW_128_0x7(reg)
+  before
+    125f4431beb6206f.53cef42563a2f10c.746578002be6e9d2.4a605a8695a021ee
+    490b6c5f61683105.e1374a1d52b3fc17.a678a63259f69b54.7732cf487bf86d53
+    8ee2c296a2c76dc3.96a90274697e544e.f8d14577182d9968.9de6a6323b44e60e
+    3d3144421e601153.4dee9514c40fb4de.c6ba523a031722ba.97485c30f1914b4c
+    43246c2eb7e95639
+  after
+    0000000000000000.0000000000000000.00dc01840213013d.00470151016901d9
+    490b6c5f61683105.e1374a1d52b3fc17.a678a63259f69b54.7732cf487bf86d53
+    8ee2c296a2c76dc3.96a90274697e544e.f8d14577182d9968.9de6a6323b44e60e
+    3d3144421e601153.4dee9514c40fb4de.c6ba523a031722ba.97485c30f1914b4c
+    43246c2eb7e95639
+VMPSADBW_128_0x7(mem)
+  before
+    7b455218ac5ac400.b141edcf70bd5864.e4d380eb7e72d9f3.6c80c8e9b64170f5
+    1d798adbeaf051ce.4861b9a9356d80a0.352440e4b4b47fb8.466fa3f0cf36c0c6
+    038a91618db6b8cf.5cdca43c08f9c3b4.1ead50ea81e0625a.b1d2dfb9e7834ed8
+    0b45e197b2b8b72e.4bfdabf586ef5e4b.79392ceb01023d04.07f778b19cb256d8
+    a5286b448a511372
+  after
+    7b455218ac5ac400.b141edcf70bd5864.e4d380eb7e72d9f3.6c80c8e9b64170f5
+    1d798adbeaf051ce.4861b9a9356d80a0.352440e4b4b47fb8.466fa3f0cf36c0c6
+    0000000000000000.0000000000000000.01ee012000bf0083.016101360112012a
+    0b45e197b2b8b72e.4bfdabf586ef5e4b.79392ceb01023d04.07f778b19cb256d8
+    a5286b448a511372
+
+VMOVDDUP_YMMorMEM256_to_YMM(reg)
+  before
+    e7b2b3df4cecc251.0f76f86a74020718.6f11c83e4ada8c12.239650d25127cde3
+    29e14cec7e0e9e22.ece851c5f0a167b8.2665f985f1478bb4.f98e398c8d5ace22
+    c70132d9bd43e590.7f69699341a0913b.ca43393416c195df.d5ee6103d0a8fbee
+    1c5e6211a417d148.a2c3bac2830c42cc.b9f785b956d4e63c.94824624361c1173
+    131664dbdcc2ccdc
+  after
+    ece851c5f0a167b8.ece851c5f0a167b8.f98e398c8d5ace22.f98e398c8d5ace22
+    29e14cec7e0e9e22.ece851c5f0a167b8.2665f985f1478bb4.f98e398c8d5ace22
+    c70132d9bd43e590.7f69699341a0913b.ca43393416c195df.d5ee6103d0a8fbee
+    1c5e6211a417d148.a2c3bac2830c42cc.b9f785b956d4e63c.94824624361c1173
+    131664dbdcc2ccdc
+VMOVDDUP_YMMorMEM256_to_YMM(mem)
+  before
+    2c763515dda6e856.8644d600d0179ff6.32c4c23dd3f03698.4dcfd87f4c0dbc79
+    bc6d37bd56d5200c.60fe8c12dcce8a45.0b36fcf04d5829cb.e3162df295f75142
+    9fc8e5be625a312b.06d97fb365c9d0e2.0ae6e4c70c50d690.d817827ecc1ee243
+    b154bb061e42d7df.d421ac4f0693aa78.099ff7af2de5fa14.861fd38f8d0fab27
+    4a7a1a917555e79a
+  after
+    2c763515dda6e856.8644d600d0179ff6.32c4c23dd3f03698.4dcfd87f4c0dbc79
+    bc6d37bd56d5200c.60fe8c12dcce8a45.0b36fcf04d5829cb.e3162df295f75142
+    9fc8e5be625a312b.06d97fb365c9d0e2.0ae6e4c70c50d690.d817827ecc1ee243
+    8644d600d0179ff6.8644d600d0179ff6.4dcfd87f4c0dbc79.4dcfd87f4c0dbc79
+    4a7a1a917555e79a
+
+VMOVDDUP_YMMorMEM256_to_YMM(reg)
+  before
+    817455f01f7cd34a.cfdb3580a598cd53.25220d525cb857b4.e52fb092cb225082
+    85597f192811abe1.d32acf181468d1b4.5728a02802c41241.7a608a5d02149607
+    b37494762c9faa0b.9a0c06ba86bf9d2d.c57f603e954416cd.a40004fdefc686cf
+    67139075c6b20d75.004f555218a8edeb.cb724afeb0c3a001.3fd9975dad44dc05
+    27b8c068599b56d6
+  after
+    d32acf181468d1b4.d32acf181468d1b4.7a608a5d02149607.7a608a5d02149607
+    85597f192811abe1.d32acf181468d1b4.5728a02802c41241.7a608a5d02149607
+    b37494762c9faa0b.9a0c06ba86bf9d2d.c57f603e954416cd.a40004fdefc686cf
+    67139075c6b20d75.004f555218a8edeb.cb724afeb0c3a001.3fd9975dad44dc05
+    27b8c068599b56d6
+VMOVDDUP_YMMorMEM256_to_YMM(mem)
+  before
+    3869fc0c0ed6ae6d.fd80708092d710cb.e1bd38cce52f7f1a.c44f58d6f0ceeb8c
+    4eb7c634e901a1f7.d1082f052d99efb8.19232c1509610de5.0e608831f0f03417
+    45709acc0629eba0.3ff7c96f3285e5e9.844eab17a1495379.03f2d57a4cb5b751
+    f95ef5c07f594793.a3993a2a3e252f09.fd0833c0c9f30f01.01513b1fa1aab0e4
+    62c8b68b8b5a5a7d
+  after
+    3869fc0c0ed6ae6d.fd80708092d710cb.e1bd38cce52f7f1a.c44f58d6f0ceeb8c
+    4eb7c634e901a1f7.d1082f052d99efb8.19232c1509610de5.0e608831f0f03417
+    45709acc0629eba0.3ff7c96f3285e5e9.844eab17a1495379.03f2d57a4cb5b751
+    fd80708092d710cb.fd80708092d710cb.c44f58d6f0ceeb8c.c44f58d6f0ceeb8c
+    62c8b68b8b5a5a7d
+
+VMOVDDUP_YMMorMEM256_to_YMM(reg)
+  before
+    84a5432aa551f3c7.464e52fc729d72fd.59397fa2ec0809c5.621d3ffa9c6bfbaa
+    c132dd698b1bb46f.070c2c6cfb022809.bd259243d9b7afc9.8e5b4bb336bed4a0
+    77bc80b2da45dc20.1a6401fd359325e4.2ba77179a0c05cc0.5d8cd4d6b4f8560e
+    009028722d5ba587.5a224d993d5c24b9.ff0c17b0ddae4d56.ab7e554f32233c21
+    53fb4a0aca4d4304
+  after
+    070c2c6cfb022809.070c2c6cfb022809.8e5b4bb336bed4a0.8e5b4bb336bed4a0
+    c132dd698b1bb46f.070c2c6cfb022809.bd259243d9b7afc9.8e5b4bb336bed4a0
+    77bc80b2da45dc20.1a6401fd359325e4.2ba77179a0c05cc0.5d8cd4d6b4f8560e
+    009028722d5ba587.5a224d993d5c24b9.ff0c17b0ddae4d56.ab7e554f32233c21
+    53fb4a0aca4d4304
+VMOVDDUP_YMMorMEM256_to_YMM(mem)
+  before
+    33d02ff39b8227e4.b9f7d11621e74c50.a3128a2e2e6ae2b6.95a081552d0dbd39
+    26c980f6bfcda4ec.ff40780851770d26.d0ff36a624c81b04.49afa9d22c6aea13
+    07b1baff523a754a.2cb618b65a9724b6.bfb6ccef3c828ad2.76858d9575500e90
+    b45657fb70d55727.9da4ad8bd7d1ccac.4b03c8f492a5ec4a.7a6d2809a54c665d
+    b0b5769956e92d26
+  after
+    33d02ff39b8227e4.b9f7d11621e74c50.a3128a2e2e6ae2b6.95a081552d0dbd39
+    26c980f6bfcda4ec.ff40780851770d26.d0ff36a624c81b04.49afa9d22c6aea13
+    07b1baff523a754a.2cb618b65a9724b6.bfb6ccef3c828ad2.76858d9575500e90
+    b9f7d11621e74c50.b9f7d11621e74c50.95a081552d0dbd39.95a081552d0dbd39
+    b0b5769956e92d26
+
+VMOVLPS_128_M64_XMM_XMM(reg)
+  before
+    74a774b327b3a197.0882d5d437ab06b2.ae5833f265b342b3.4fb2a7a1413cfd98
+    21901cc2b236fb5a.de03b078c0c73d14.bc1ca7599fc9c177.a98fe3e2655378e9
+    15bc6c3293ff7a1e.14a362d12935b97c.213d042b229e87a5.3366faa31bf71b69
+    ab765f6f679a598d.842e69cd8e023614.3a0646d489becee9.cb0267d07f33a043
+    4b31a656ab14c3a4
+  after
+    74a774b327b3a197.0882d5d437ab06b2.ae5833f265b342b3.4fb2a7a1413cfd98
+    21901cc2b236fb5a.de03b078c0c73d14.bc1ca7599fc9c177.a98fe3e2655378e9
+    15bc6c3293ff7a1e.14a362d12935b97c.213d042b229e87a5.3366faa31bf71b69
+    ab765f6f679a598d.842e69cd8e023614.3a0646d489becee9.cb0267d07f33a043
+    4b31a656ab14c3a4
+VMOVLPS_128_M64_XMM_XMM(mem)
+  before
+    91bd341fbea442b8.3e0cf2e6c991d354.0c7240570a397009.63c569c171b5d2ef
+    77738c18d1f1d7aa.2cc81f015672251e.863a635bbae72286.f8c5695c7510d162
+    db1f2a2e03073fa6.cff8e42da9c88a98.cf514ec5b91609b8.55514312315a05ee
+    978c8a4c6df136da.85e63cd75f203f6d.c4857e8123d5e1ca.d6b6f250421fab40
+    d740728043ecff04
+  after
+    91bd341fbea442b8.3e0cf2e6c991d354.0c7240570a397009.63c569c171b5d2ef
+    77738c18d1f1d7aa.2cc81f015672251e.863a635bbae72286.f8c5695c7510d162
+    0000000000000000.0000000000000000.863a635bbae72286.63c569c171b5d2ef
+    978c8a4c6df136da.85e63cd75f203f6d.c4857e8123d5e1ca.d6b6f250421fab40
+    d740728043ecff04
+
+VMOVLPS_128_M64_XMM_XMM(reg)
+  before
+    b43bbf10d14c3ce6.8888285d2dbb776f.a8df236a1305804b.3fa06d7b152d65e9
+    c9f3d66b88cc9f91.8add814f5f71bf94.962f9651620389db.1d6f99a0aa2c5241
+    72b3b1fd03f664b1.7a590f0d1e20ca73.a9218ffae7a796cb.3bbd7edaffdd64fd
+    0ac94e32de59c7f3.32c6508387d35338.3e030cd03e7ce2c7.73589617304d574a
+    a20b5f415786e654
+  after
+    b43bbf10d14c3ce6.8888285d2dbb776f.a8df236a1305804b.3fa06d7b152d65e9
+    c9f3d66b88cc9f91.8add814f5f71bf94.962f9651620389db.1d6f99a0aa2c5241
+    72b3b1fd03f664b1.7a590f0d1e20ca73.a9218ffae7a796cb.3bbd7edaffdd64fd
+    0ac94e32de59c7f3.32c6508387d35338.3e030cd03e7ce2c7.73589617304d574a
+    a20b5f415786e654
+VMOVLPS_128_M64_XMM_XMM(mem)
+  before
+    a4a153469397ce46.ef7fa976b67e0303.8ff1c09eb5971711.b21f083f040eaa7b
+    55e7f111fd89cb4c.7c22bc3526f3558c.6da5d948c477d228.5fc27fb3d5ea2992
+    92a9b28eb46a9893.0dfe85dbcb43f83b.a8b0196ed17f40a9.a2386e984c9b9db8
+    35b313a8d145f347.fd5ffed440fb2abc.1ddcfbfcf8bc1cc1.d7cdd05a05ad409b
+    5bcda1669dad4ee4
+  after
+    a4a153469397ce46.ef7fa976b67e0303.8ff1c09eb5971711.b21f083f040eaa7b
+    55e7f111fd89cb4c.7c22bc3526f3558c.6da5d948c477d228.5fc27fb3d5ea2992
+    0000000000000000.0000000000000000.6da5d948c477d228.b21f083f040eaa7b
+    35b313a8d145f347.fd5ffed440fb2abc.1ddcfbfcf8bc1cc1.d7cdd05a05ad409b
+    5bcda1669dad4ee4
+
+VMOVLPS_128_M64_XMM_XMM(reg)
+  before
+    8883dd26b0260542.1bd1914e72279594.aa91258d21a525ba.a6f7fbdf5439239c
+    bb3d8008d9a49f5f.20cea769b31b3da5.6fdff6700cd026e2.20cb950201021165
+    50458777b4b459e8.2078d1e6af2da5a6.a7966beb9a0568df.672546501c23a149
+    a3e8ecdedee16f88.f7998cb1836a8bc4.b003826969d2295e.57d189b7c0a99173
+    cc9ada220aa09b10
+  after
+    8883dd26b0260542.1bd1914e72279594.aa91258d21a525ba.a6f7fbdf5439239c
+    bb3d8008d9a49f5f.20cea769b31b3da5.6fdff6700cd026e2.20cb950201021165
+    50458777b4b459e8.2078d1e6af2da5a6.a7966beb9a0568df.672546501c23a149
+    a3e8ecdedee16f88.f7998cb1836a8bc4.b003826969d2295e.57d189b7c0a99173
+    cc9ada220aa09b10
+VMOVLPS_128_M64_XMM_XMM(mem)
+  before
+    a14eb57d15127b4b.1072adabf2b81cec.81fe52b74adda82b.e570365515c2a30a
+    b4b796b4fe0def52.f32fc6498dc39dbf.9a73a1e22092bb06.a129831d39621291
+    e0a2fab3e09db14e.a86b31244a902eae.1dc4f42022967e82.427c652c713db49c
+    01db5c67d8cc7e6e.8b71eca8c6ab0a64.e8bcc75c6cf4aecb.22b4d9ee5adfc3da
+    9e1cdacf90d57cf4
+  after
+    a14eb57d15127b4b.1072adabf2b81cec.81fe52b74adda82b.e570365515c2a30a
+    b4b796b4fe0def52.f32fc6498dc39dbf.9a73a1e22092bb06.a129831d39621291
+    0000000000000000.0000000000000000.9a73a1e22092bb06.e570365515c2a30a
+    01db5c67d8cc7e6e.8b71eca8c6ab0a64.e8bcc75c6cf4aecb.22b4d9ee5adfc3da
+    9e1cdacf90d57cf4
+
+VMOVLPS_128_XMM_M64(reg)
+  before
+    1301643cadaa1a99.f32e38ba01a811dc.f88ef2419c9f6f8f.d629978118b8070c
+    dbaf739f50eadb73.92670a99783d27c4.4b0e3f5c68f896d8.c3d5de7d45ef4472
+    547203651322f92f.b9524ff158957c53.e03dcf63c742beee.8a8d1a3b0da42228
+    d89611fb92ddb078.46ba81adbdbeccb5.13679fc4550a227b.091dc7a78ce35d5b
+    1b515faedfb9b137
+  after
+    1301643cadaa1a99.f32e38ba01a811dc.f88ef2419c9f6f8f.d629978118b8070c
+    dbaf739f50eadb73.92670a99783d27c4.4b0e3f5c68f896d8.c3d5de7d45ef4472
+    547203651322f92f.b9524ff158957c53.e03dcf63c742beee.8a8d1a3b0da42228
+    d89611fb92ddb078.46ba81adbdbeccb5.13679fc4550a227b.091dc7a78ce35d5b
+    1b515faedfb9b137
+VMOVLPS_128_XMM_M64(mem)
+  before
+    9cf55f3a2131d9e7.c46798cc6aa73efb.146c1eb8c4c4d215.3fd8aae9addbfd2b
+    67d444386f579297.74309443360ddd63.fe34a20089b14ca0.c2dbec406b428bab
+    5abc8995e4389875.453e01ce939aca5d.e2de87702793f382.f7be61342cca0aa7
+    4f77aa3b9cdfa6ab.91dddcd81cda4195.9a364bf4ba7686e6.39cb05318cffb4ca
+    e64fd5a2266dc6c1
+  after
+    9cf55f3a2131d9e7.c46798cc6aa73efb.146c1eb8c4c4d215.f7be61342cca0aa7
+    67d444386f579297.74309443360ddd63.fe34a20089b14ca0.c2dbec406b428bab
+    5abc8995e4389875.453e01ce939aca5d.e2de87702793f382.f7be61342cca0aa7
+    4f77aa3b9cdfa6ab.91dddcd81cda4195.9a364bf4ba7686e6.39cb05318cffb4ca
+    e64fd5a2266dc6c1
+
+VMOVLPS_128_XMM_M64(reg)
+  before
+    5996ccf696a17c38.24d22418b5587965.b55920cd6d5a7db6.040868785f65bff9
+    edece696792711da.b399721748b0cdd0.0dfec91923a5bb6d.fa1f5ce8316c5be6
+    009c1fef6a89c254.da980f2473f25e18.f518d328da473765.5a49a3314d9716da
+    ecf4746d0655cb51.739a7a2b522be768.c9f23a672dcd2c4b.fe50b73dcef3ab00
+    c40116fad18bd885
+  after
+    5996ccf696a17c38.24d22418b5587965.b55920cd6d5a7db6.040868785f65bff9
+    edece696792711da.b399721748b0cdd0.0dfec91923a5bb6d.fa1f5ce8316c5be6
+    009c1fef6a89c254.da980f2473f25e18.f518d328da473765.5a49a3314d9716da
+    ecf4746d0655cb51.739a7a2b522be768.c9f23a672dcd2c4b.fe50b73dcef3ab00
+    c40116fad18bd885
+VMOVLPS_128_XMM_M64(mem)
+  before
+    86283b52716c5695.0f3ee07de816687e.5c6d2c18006625ed.e5dafb40b8c2d7cb
+    2190a233cba0e45b.c3c75f89ad59d486.6fdba2d799afd4d3.a51a112118b37490
+    7207c788fa363c04.66dbedfff0a94c16.89b159543a12af45.65ff7874e92a3f47
+    5357273c1b371bbc.52c6864a4e920cda.87bbcc7bff9c736f.81d52ca7c6b6739b
+    55e82a254be04d39
+  after
+    86283b52716c5695.0f3ee07de816687e.5c6d2c18006625ed.65ff7874e92a3f47
+    2190a233cba0e45b.c3c75f89ad59d486.6fdba2d799afd4d3.a51a112118b37490
+    7207c788fa363c04.66dbedfff0a94c16.89b159543a12af45.65ff7874e92a3f47
+    5357273c1b371bbc.52c6864a4e920cda.87bbcc7bff9c736f.81d52ca7c6b6739b
+    55e82a254be04d39
+
+VMOVLPS_128_XMM_M64(reg)
+  before
+    3d836d59153609cd.a14e3d3d49b13dae.e5d427d562a14f7d.43c577390258dc7e
+    95f4f0b1bf43e302.39b68576a0af5e06.7950cb0ec86153ac.9a9bd7786253a69e
+    b985b298e6931685.f55c7bd43d3e39f1.6b876e601d5e5113.6808662639988cfb
+    0483ac7b25b3df01.b20b9c413c698b9b.18c60c37fd25885d.89d9a22da3334bc0
+    dadb067bbd309f19
+  after
+    3d836d59153609cd.a14e3d3d49b13dae.e5d427d562a14f7d.43c577390258dc7e
+    95f4f0b1bf43e302.39b68576a0af5e06.7950cb0ec86153ac.9a9bd7786253a69e
+    b985b298e6931685.f55c7bd43d3e39f1.6b876e601d5e5113.6808662639988cfb
+    0483ac7b25b3df01.b20b9c413c698b9b.18c60c37fd25885d.89d9a22da3334bc0
+    dadb067bbd309f19
+VMOVLPS_128_XMM_M64(mem)
+  before
+    35d80ffba29c4334.d43adcc4192e7a23.4c9162aab83c0f30.da57a10003413236
+    779d37996e82f53a.84f63ce05d912296.9fb84bfccdc383db.0e862a25cb3e8c4c
+    7cf5fc413fef6e5a.6f02cb3c8e671407.874ed221980ba1c8.10a1a213f2a9d248
+    20aed9df2eee6dbe.f3ac8242473c8c22.e01d7407351f2524.3df30537140d40d9
+    efc750fbccf611a9
+  after
+    35d80ffba29c4334.d43adcc4192e7a23.4c9162aab83c0f30.10a1a213f2a9d248
+    779d37996e82f53a.84f63ce05d912296.9fb84bfccdc383db.0e862a25cb3e8c4c
+    7cf5fc413fef6e5a.6f02cb3c8e671407.874ed221980ba1c8.10a1a213f2a9d248
+    20aed9df2eee6dbe.f3ac8242473c8c22.e01d7407351f2524.3df30537140d40d9
+    efc750fbccf611a9
+
+VRCPSS_128(reg)
+  before
+    836a7dcdb6f18265.3f924a60598bac92.6b3e5e60259dc692.86f2ab98bf0ccd1b
+    55288a186f89ceb8.b56fcbaedcd3e904.32055c00c315fd04.5599f5c252dd53d9
+    c14d7247924a334f.5e0fd9b6d2d1dd3d.a64d7790bd306e24.29ddcd700b9e7489
+    232531c8bcc1ebd5.163fef655791476c.2162ab7bb07a559d.de8caf8e055cec57
+    507018085d227670
+  after
+    0000000000000000.0000000000000000.32055c00c315fd04.5599f5c2734ec800
+    55288a186f89ceb8.b56fcbaedcd3e904.32055c00c315fd04.5599f5c252dd53d9
+    c14d7247924a334f.5e0fd9b6d2d1dd3d.a64d7790bd306e24.29ddcd700b9e7489
+    232531c8bcc1ebd5.163fef655791476c.2162ab7bb07a559d.de8caf8e055cec57
+    507018085d227670
+VRCPSS_128(mem)
+  before
+    5b5682ca2efccf00.d7fcc406887933f7.b8ca89a68820e1bb.0190f42d3880ed1c
+    db0a6bc194f7b332.391d266e93ff4660.227e236481896856.a0224f12f0ce734c
+    ab584ed7ad1ede33.a5d6526a78de61be.2f253a8d5dd8986a.5c66b79674ee23da
+    a90ca8f9927d0b2f.77714767d3a2c0ba.bb8d480c381a2c23.8fa62825616e3971
+    972f9e2c52daf0be
+  after
+    5b5682ca2efccf00.d7fcc406887933f7.b8ca89a68820e1bb.0190f42d3880ed1c
+    db0a6bc194f7b332.391d266e93ff4660.227e236481896856.a0224f12f0ce734c
+    0000000000000000.0000000000000000.227e236481896856.a0224f12467e3000
+    a90ca8f9927d0b2f.77714767d3a2c0ba.bb8d480c381a2c23.8fa62825616e3971
+    972f9e2c52daf0be
+
+VRCPSS_128(reg)
+  before
+    ce4d1615e4bc856d.b0f2f3146121f751.0a3bfed141d79f03.a280cbcd2f5ae1ac
+    914c8a4eb2a23429.9bd5ad1336155dc6.bc8074155e0a3943.bfcb3ebc5da47332
+    3c77f8415918389f.488251e12c65fbb9.e88ba69ec5c6cb26.f03a1ec5df059ee1
+    2c1c5b5c74a8ce7b.92c55b6c5f1e8b57.eaaa8fd712989159.1098e5d5d0881de4
+    fab311d64d39ad68
+  after
+    0000000000000000.0000000000000000.bc8074155e0a3943.bfcb3ebc9ff54800
+    914c8a4eb2a23429.9bd5ad1336155dc6.bc8074155e0a3943.bfcb3ebc5da47332
+    3c77f8415918389f.488251e12c65fbb9.e88ba69ec5c6cb26.f03a1ec5df059ee1
+    2c1c5b5c74a8ce7b.92c55b6c5f1e8b57.eaaa8fd712989159.1098e5d5d0881de4
+    fab311d64d39ad68
+VRCPSS_128(mem)
+  before
+    8c551db571250a98.bb85b00aa0e03268.546a479fec4bcacc.1e272b2ee20bc788
+    a04c855f5957efa1.46fff1b7784ca012.6c3d9266eff97343.df4f770ed1aba85e
+    1462c6bf20dc19ae.29d61ccf99765326.b40ab7ad833244e8.8b6e6ee37a047188
+    c2645ac0e2be44ec.c0562cbe9eec8850.0a9c3260c404f7e9.7dd00b1979a35eb2
+    10c14d1c6b13aa87
+  after
+    8c551db571250a98.bb85b00aa0e03268.546a479fec4bcacc.1e272b2ee20bc788
+    a04c855f5957efa1.46fff1b7784ca012.6c3d9266eff97343.df4f770ed1aba85e
+    0000000000000000.0000000000000000.6c3d9266eff97343.df4f770e9cea7000
+    c2645ac0e2be44ec.c0562cbe9eec8850.0a9c3260c404f7e9.7dd00b1979a35eb2
+    10c14d1c6b13aa87
+
+VRCPSS_128(reg)
+  before
+    a28d2d58ebe192b4.881dbf50bc0b2c87.67cb1df0233a7b3c.48c17f6ccf7b486f
+    8d7fa83a969852e4.405b705acacf8caa.7b80ebd2c5eb6795.4c431bbbbfa2f5a9
+    2fe4bb2c07c426c4.c8e8eaca27152182.56c393ce208b8a07.f0ef803bb185b8c1
+    e208619cdbf249ff.fa92a78cefe9a73b.55de1051cfa61e3f.12912cd6c0304ee4
+    8cf49a7a09b0723d
+  after
+    0000000000000000.0000000000000000.7b80ebd2c5eb6795.4c431bbbcd751000
+    8d7fa83a969852e4.405b705acacf8caa.7b80ebd2c5eb6795.4c431bbbbfa2f5a9
+    2fe4bb2c07c426c4.c8e8eaca27152182.56c393ce208b8a07.f0ef803bb185b8c1
+    e208619cdbf249ff.fa92a78cefe9a73b.55de1051cfa61e3f.12912cd6c0304ee4
+    8cf49a7a09b0723d
+VRCPSS_128(mem)
+  before
+    3be64712a710e2f9.043796f4adadf842.b323258d3f57d900.d41e5ec86ec95fe9
+    fc31ad8ab65d5843.efbd57a21a816f39.d068dfb7336c74fd.2ecf799e9a7f8bb1
+    a9a34acd54a29148.01e69e11bdfbe98f.2b2d51f7e6333460.c13c5e3eef54dc42
+    1f0699ca9aeb4834.94fd69ad32a6a3f1.a13df83a74b9d553.e8b3081607d58e48
+    ff7e7391818ddf70
+  after
+    3be64712a710e2f9.043796f4adadf842.b323258d3f57d900.d41e5ec86ec95fe9
+    fc31ad8ab65d5843.efbd57a21a816f39.d068dfb7336c74fd.2ecf799e9a7f8bb1
+    0000000000000000.0000000000000000.d068dfb7336c74fd.2ecf799e1022c000
+    1f0699ca9aeb4834.94fd69ad32a6a3f1.a13df83a74b9d553.e8b3081607d58e48
+    ff7e7391818ddf70
+
+VRCPPS_128(reg)
+  before
+    62eb9b1bf7090966.3a27166aa6443a32.0550b3e2160ed90b.0e664e6afa091202
+    6d447c2005d449d5.d6d13e9a94ba236f.b029791c05c0c788.4e72d175932fa89a
+    7bd6130d477adb6a.d0d28c467f58bf16.f2d5b5c79a47a814.3e2efc465c375347
+    eaec5b4c5b87fad1.02f47c5b832bc954.25a0654f712fb95d.b8664cc9702ece34
+    99e63beaec20d78e
+  after
+    62eb9b1bf7090966.3a27166aa6443a32.0550b3e2160ed90b.0e664e6afa091202
+    0000000000000000.0000000000000000.8c195000e4a42000.40bb480022b2b800
+    7bd6130d477adb6a.d0d28c467f58bf16.f2d5b5c79a47a814.3e2efc465c375347
+    eaec5b4c5b87fad1.02f47c5b832bc954.25a0654f712fb95d.b8664cc9702ece34
+    99e63beaec20d78e
+VRCPPS_128(mem)
+  before
+    bd7a4795eb172780.15d4504ada88e3b5.49058ac3bd3efe55.a6d584212705360c
+    00edebb689217d37.57d9ee746209d2c3.81cf326c489d1a44.d1c20ea758545ad0
+    3e0da339e34993df.0e4631348f9403a6.861ff1414155d84e.02b1ff4f9ea86353
+    53a4eb0a159c27a3.956816f8fcb7b10b.34c1412dc471f69e.96f05483988e8a41
+    e7c908b1e0910e48
+  after
+    bd7a4795eb172780.15d4504ada88e3b5.49058ac3bd3efe55.a6d584212705360c
+    0000000000000000.0000000000000000.35f56800c1ab9800.d819780057f5f800
+    3e0da339e34993df.0e4631348f9403a6.861ff1414155d84e.02b1ff4f9ea86353
+    53a4eb0a159c27a3.956816f8fcb7b10b.34c1412dc471f69e.96f05483988e8a41
+    e7c908b1e0910e48
+
+VRCPPS_128(reg)
+  before
+    52891744123d2911.1b7f40163a25f2b0.478b982b46fd199d.6780a01eebfd2e61
+    337b7da8cb1f194b.726a1d476ef0b331.82fbb33908f37709.fb2a8affd5063cc3
+    e6ed3649a6c217a0.3331fe8bce0a2453.a004648ede2406fb.cb8979bc9b97deef
+    c72a3f933fb362bc.3c9f5fcd767e0241.fff1a596651c031e.b56aeb415bbcce12
+    94995a7b3182c957
+  after
+    52891744123d2911.1b7f40163a25f2b0.478b982b46fd199d.6780a01eebfd2e61
+    0000000000000000.0000000000000000.def77800a0c7c800.b36e6000e357d000
+    e6ed3649a6c217a0.3331fe8bce0a2453.a004648ede2406fb.cb8979bc9b97deef
+    c72a3f933fb362bc.3c9f5fcd767e0241.fff1a596651c031e.b56aeb415bbcce12
+    94995a7b3182c957
+VRCPPS_128(mem)
+  before
+    44e2455438f48aeb.327d93f2347c344d.6882bcf981580929.f91074bd3868aa1f
+    a11125ba8d1ecefa.82332ed21eaccafc.93a492fb0ba5f434.ebabcc6ff49337aa
+    86f277974b0d51af.15980da09bcc6078.99d25cbf31708091.320fa9193529e56a
+    d150b8d98ecccf36.46f82ac6476a316b.55d896310ec5696a.2888082595b7f10b
+    2b62e301b3c8973b
+  after
+    44e2455438f48aeb.327d93f2347c344d.6882bcf981580929.f91074bd3868aa1f
+    0000000000000000.0000000000000000.167ab000fd97b000.85e2d000468cd800
+    86f277974b0d51af.15980da09bcc6078.99d25cbf31708091.320fa9193529e56a
+    d150b8d98ecccf36.46f82ac6476a316b.55d896310ec5696a.2888082595b7f10b
+    2b62e301b3c8973b
+
+VRCPPS_128(reg)
+  before
+    95e8381728e812a4.5df8636a736703bd.719e83b2bd117a81.a582bd3dbfb16beb
+    c36802d593a4a0f2.05b6f43816ebab6e.f2d813cf994e7767.649c4bcf5f3f4141
+    112c3ea68d877ad2.a756e82e92638075.24f0d68878ab63c9.6df1bed30b7ba898
+    db81e6f6b51ddff0.1da4b93803db41ff.6534c94bf6b77c52.9e4f9136de725c1b
+    d18040e3f52f18f7
+  after
+    95e8381728e812a4.5df8636a736703bd.719e83b2bd117a81.a582bd3dbfb16beb
+    0000000000000000.0000000000000000.5a081000063f2800.1107900073823800
+    112c3ea68d877ad2.a756e82e92638075.24f0d68878ab63c9.6df1bed30b7ba898
+    db81e6f6b51ddff0.1da4b93803db41ff.6534c94bf6b77c52.9e4f9136de725c1b
+    d18040e3f52f18f7
+VRCPPS_128(mem)
+  before
+    e45148c56bbf9958.7eb3f831a4f309f7.456ce5428660a838.10eee683aefbfcaf
+    b18e23ca5d2c9b69.540e6fc3f8943594.fa79e73937fd724b.806b2b9c3c051f8c
+    16034fdde685da56.badd47184d8c9f72.17993b0730be5b65.13f693023d602394
+    ed7b47ea22d3114d.0c6e7d9c3e68833e.79965e9990b01eb2.24dd1a224c994274
+    0e6abd66063bb9d7
+  after
+    e45148c56bbf9958.7eb3f831a4f309f7.456ce5428660a838.10eee683aefbfcaf
+    0000000000000000.0000000000000000.398a5000f891d800.6e092800d0021000
+    16034fdde685da56.badd47184d8c9f72.17993b0730be5b65.13f693023d602394
+    ed7b47ea22d3114d.0c6e7d9c3e68833e.79965e9990b01eb2.24dd1a224c994274
+    0e6abd66063bb9d7
+
+VRCPPS_256(reg)
+  before
+    2feb773b06d2c36a.14c488dd2e24fd77.a60b0bbc67b31ca4.fd3dcbdc70de795d
+    e1aa440ee9eb9ed8.65a88ca226835a03.e402efe265f9a74f.7d5afebaef552592
+    82f4204a4a1184ce.bdf4d12524fce31b.229d247cd4c75fec.d7b873212620e17f
+    6c14075ac6d0b1f8.f974d252479c55ec.bc28a7f44fa88226.e525a6fc334b674e
+    846b143732e2742b
+  after
+    2feb773b06d2c36a.14c488dd2e24fd77.a60b0bbc67b31ca4.fd3dcbdc70de795d
+    fc06380034e12800.c105d8005a019000.5c508000aa246000.a731a00058cba800
+    82f4204a4a1184ce.bdf4d12524fce31b.229d247cd4c75fec.d7b873212620e17f
+    6c14075ac6d0b1f8.f974d252479c55ec.bc28a7f44fa88226.e525a6fc334b674e
+    846b143732e2742b
+VRCPPS_256(mem)
+  before
+    905838be3ef2c443.fc58f6acf8b56301.f3f40b16a96e6ca1.0ef172b872294aaa
+    e6b68e7d748613c2.8f0be8ab7c4bd496.8840f95b667fe467.74438333dad5f424
+    60529260efab1cd3.7f78d9c3ef1e4163.9423160f9bda7869.4969d5d12238bb3f
+    dbf7c053cb6c9ca3.29ecc560edbbe613.f46be01d638be5d4.ebb064fee7dedca7
+    b5652c26c454930a
+  after
+    905838be3ef2c443.fc58f6acf8b56301.f3f40b16a96e6ca1.0ef172b872294aaa
+    ee9790004006f800.829708008634a000.8b064800d5897000.7007b0000cc19000
+    60529260efab1cd3.7f78d9c3ef1e4163.9423160f9bda7869.4969d5d12238bb3f
+    dbf7c053cb6c9ca3.29ecc560edbbe613.f46be01d638be5d4.ebb064fee7dedca7
+    b5652c26c454930a
+
+VRCPPS_256(reg)
+  before
+    03d12ab556251c12.3373954225d54e5d.eab3a9ee11adfe52.82e2d270db9fe7d4
+    3043591838deb36b.44908c1a19f3f02e.1c197fd9f780c6ce.1b5568f61e213994
+    9a06b5b9070a93c2.ea1c21c5c2d13c42.1c6a458e3cc17a30.9b901f9a491d9941
+    9c653a065e35f8c3.01e1d0313c7beec4.46f1f7777cfb5527.de5e7248779fc006
+    c08dddecc5b46d10
+  after
+    03d12ab556251c12.3373954225d54e5d.eab3a9ee11adfe52.82e2d270db9fe7d4
+    e4f3380077ec7000.94d1d800bc1ca000.628be00042296000.e363680035cff000
+    9a06b5b9070a93c2.ea1c21c5c2d13c42.1c6a458e3cc17a30.9b901f9a491d9941
+    9c653a065e35f8c3.01e1d0313c7beec4.46f1f7777cfb5527.de5e7248779fc006
+    c08dddecc5b46d10
+VRCPPS_256(mem)
+  before
+    1de7dc734e685a8b.91aee569d9eb2019.65ac1649a4fdc4e1.f6fc8f0251ba945d
+    d13aebc72ec545a2.d72bb05016b94571.f2496ef8156478c4.88d50a9a5a8b737e
+    b85087d682d9e782.c8299926ae2ba477.8483542cacbcc79a.58c965aa30f92e38
+    aef62b8a66afff56.c2f49b573fcb79d6.f72844d0840f6d8f.c3249ba072900034
+    2332a9e7b9dd2621
+  after
+    1de7dc734e685a8b.91aee569d9eb2019.65ac1649a4fdc4e1.f6fc8f0251ba945d
+    610d5800308d0800.ed3b5800a50b5800.193e6800da012000.8801c0002d2fa000
+    b85087d682d9e782.c8299926ae2ba477.8483542cacbcc79a.58c965aa30f92e38
+    aef62b8a66afff56.c2f49b573fcb79d6.f72844d0840f6d8f.c3249ba072900034
+    2332a9e7b9dd2621
+
+VRCPPS_256(reg)
+  before
+    d43e89eba46bdca9.8ff753d1f554474b.20d7b34f6527ff3b.2702bad0ba6b25ce
+    34963918ccc75e78.36217b954bd37c8d.3d20db7abaca7451.f0de331969dcac84
+    9e84b4dad07be73c.813e1fc485385a47.76191144dd4111c5.2e892a95ae6cbedc
+    6e55f69e4915b49e.4b1cbc49be909ca5.2810501968171542.bccc1b31a4291703
+    787682da681f7224
+  after
+    d43e89eba46bdca9.8ff753d1f554474b.20d7b34f6527ff3b.2702bad0ba6b25ce
+    e076e800ae821800.fdac6000f9b1c000.08d60800a1a9b000.506ee800d08a7000
+    9e84b4dad07be73c.813e1fc485385a47.76191144dd4111c5.2e892a95ae6cbedc
+    6e55f69e4915b49e.4b1cbc49be909ca5.2810501968171542.bccc1b31a4291703
+    787682da681f7224
+VRCPPS_256(mem)
+  before
+    3d52dc7a15588c6c.0055fbced521004d.7085cd1013e6ffd5.ad4f9466f7d8ba75
+    e72ba4ffc7e22007.b0d0c0d8102a09f3.cb46ce059f463f01.6323da9527113d0a
+    51ce55549bc9ec21.da123f2695bc093c.3a2b3b147fbd1855.a4d71c14934ddaac
+    59086e64ad17aae4.d966762600633dd5.98ff912ace5645fe.cdb9584dd818cd08
+    3a1389ae91ff51c9
+  after
+    3d52dc7a15588c6c.0055fbced521004d.7085cd1013e6ffd5.ad4f9466f7d8ba75
+    419b680069975800.7f800000a9cb8000.0e74f0006b0de000.d19dd80087173000
+    51ce55549bc9ec21.da123f2695bc093c.3a2b3b147fbd1855.a4d71c14934ddaac
+    59086e64ad17aae4.d966762600633dd5.98ff912ace5645fe.cdb9584dd818cd08
+    3a1389ae91ff51c9
+
+VPSADBW_128(reg)
+  before
+    4833aca25b8da39c.d9a2681d18da177f.0b1a6143eeace06a.c0904b31a91e8328
+    5163bb95d14efe2d.af6bc16af81eee1c.cb78fae9fb232fa6.90a8e5172b1f8efe
+    b2f0b4f390cfa027.b62ef4376aeeede8.75cd3f83c1526636.e215dbc6716721ad
+    c7269228339bc337.c9b67d718956ce0e.64652b80dfc7c1c6.94a1aa2c9602f961
+    8019cc34b7fbd245
+  after
+    0000000000000000.0000000000000000.00000000000002dc.00000000000002ea
+    5163bb95d14efe2d.af6bc16af81eee1c.cb78fae9fb232fa6.90a8e5172b1f8efe
+    b2f0b4f390cfa027.b62ef4376aeeede8.75cd3f83c1526636.e215dbc6716721ad
+    c7269228339bc337.c9b67d718956ce0e.64652b80dfc7c1c6.94a1aa2c9602f961
+    8019cc34b7fbd245
+VPSADBW_128(mem)
+  before
+    8448bfc9ef5e6886.ec5051a0563fa309.c6d1d80272624dbb.f68cba49ef0d7c01
+    7afcfed95a37764f.7dbceec796457e48.874981d7401f281a.858de84b8db1d294
+    40ff064f1593b9cd.d6b4630a8f3b8ea0.e9ebf5dd10981958.6fb6b2f2563e002a
+    b01f51173c7ded2b.5385aed3dcad10be.c983affefddadda1.0e5112abe5404170
+    c0ab06e0d744d211
+  after
+    8448bfc9ef5e6886.ec5051a0563fa309.c6d1d80272624dbb.f68cba49ef0d7c01
+    7afcfed95a37764f.7dbceec796457e48.874981d7401f281a.858de84b8db1d294
+    0000000000000000.0000000000000000.000000000000032e.0000000000000291
+    b01f51173c7ded2b.5385aed3dcad10be.c983affefddadda1.0e5112abe5404170
+    c0ab06e0d744d211
+
+VPSADBW_128(reg)
+  before
+    df108affc7d5efba.a7265d1eea02cd96.507bca901926404e.01dc2b2824ef2f20
+    c9cc9873517fd417.02e1a54e3b2c163a.29e2b4abe33259fb.6ec4e646a0e5cd02
+    d82a2ea713cebdd3.9b1ca5944c0a8442.3a066692d55d9872.ed055a448ec87173
+    69784609a64fe59b.4fa2d9dd38a5d3db.df33deb08c34395f.586d050e09a3d89e
+    8cc662902d82bdaf
+  after
+    0000000000000000.0000000000000000.0000000000000255.00000000000002c8
+    c9cc9873517fd417.02e1a54e3b2c163a.29e2b4abe33259fb.6ec4e646a0e5cd02
+    d82a2ea713cebdd3.9b1ca5944c0a8442.3a066692d55d9872.ed055a448ec87173
+    69784609a64fe59b.4fa2d9dd38a5d3db.df33deb08c34395f.586d050e09a3d89e
+    8cc662902d82bdaf
+VPSADBW_128(mem)
+  before
+    65ddedb61772ddd4.d900df04a88e891b.fa41be141c0bbe30.74b41771a442776d
+    c07d236ce37df436.820ff204b515e4fe.79c3cf241347026e.54d60d41b7149049
+    77747e9eacb2be04.c1f17c76687234f0.a6f588fb3a665bc1.dde5bc8c6435be9e
+    678c7c398e1af668.f3f27ac45d31b39f.5ea36584ac738454.6a2d21be44313d19
+    57fa3744f6944b66
+  after
+    65ddedb61772ddd4.d900df04a88e891b.fa41be141c0bbe30.74b41771a442776d
+    c07d236ce37df436.820ff204b515e4fe.79c3cf241347026e.54d60d41b7149049
+    0000000000000000.0000000000000000.0000000000000263.00000000000000fa
+    678c7c398e1af668.f3f27ac45d31b39f.5ea36584ac738454.6a2d21be44313d19
+    57fa3744f6944b66
+
+VPSADBW_128(reg)
+  before
+    ff98fa8813eb2230.6c939827a6c3598e.725ee75b31dc9db4.7d99e3ab867a3b54
+    c05266f839c1ff24.62534f5610b8a3a4.9b81bfa87f0230de.dfa37d5ce38739ec
+    f57578fe04a31ded.25991bb1e7068fd3.caa6ff15e42ca6c7.608cae83e0a73d49
+    f94e2a080f1cba38.91317a2347b8db4a.5b1aa110fce83c1b.dc22f50c98e60197
+    2f2fcbe4274e4301
+  after
+    0000000000000000.0000000000000000.0000000000000243.00000000000001b8
+    c05266f839c1ff24.62534f5610b8a3a4.9b81bfa87f0230de.dfa37d5ce38739ec
+    f57578fe04a31ded.25991bb1e7068fd3.caa6ff15e42ca6c7.608cae83e0a73d49
+    f94e2a080f1cba38.91317a2347b8db4a.5b1aa110fce83c1b.dc22f50c98e60197
+    2f2fcbe4274e4301
+VPSADBW_128(mem)
+  before
+    3580aef5aaedbcb4.2a277a81f7b810b0.82e6e79a4dda4133.aa29a30461c12e88
+    cae1182d3dcf2bdb.e24c63d556045b02.d486de0114797dba.131f005cb243b7b7
+    ca1e8776fbfe4aa3.7f0be270cb8bd9da.63dbdc44b9a04d0c.f248b48688fb1457
+    100377be0088d638.5baff1bef0d9c4e3.0ab25b50575b6b55.a3f0bced82748112
+    826212fe393a3994
+  after
+    3580aef5aaedbcb4.2a277a81f7b810b0.82e6e79a4dda4133.aa29a30461c12e88
+    cae1182d3dcf2bdb.e24c63d556045b02.d486de0114797dba.131f005cb243b7b7
+    0000000000000000.0000000000000000.00000000000002b1.0000000000000323
+    100377be0088d638.5baff1bef0d9c4e3.0ab25b50575b6b55.a3f0bced82748112
+    826212fe393a3994
+
+VPSIGNB_128(reg)
+  before
+    ebebb4234bda7a8b.7a5b62f069798bc5.d4838e2b617a59ca.a7d8d90f0bb794c1
+    3ad89dc954df7da0.e3f3c6f852db2477.44d4b423bbfbd33b.1516d16ef0bf837b
+    cb73ca5cefd68182.27971ec2d5bc5e79.08ee5f129ae870e1.303bc05a227ff5af
+    fa083549b94ac1db.2113e63a1128f5f8.7d1d8c6598cb6a68.d31220bdbe04a68a
+    dc666f85e0595238
+  after
+    0000000000000000.0000000000000000.442cb4234505d3c5.15162f6ef0bf7d85
+    3ad89dc954df7da0.e3f3c6f852db2477.44d4b423bbfbd33b.1516d16ef0bf837b
+    cb73ca5cefd68182.27971ec2d5bc5e79.08ee5f129ae870e1.303bc05a227ff5af
+    fa083549b94ac1db.2113e63a1128f5f8.7d1d8c6598cb6a68.d31220bdbe04a68a
+    dc666f85e0595238
+VPSIGNB_128(mem)
+  before
+    2604289da38ab4e4.23e5dcfb4dc77857.af339a4c1f29a51f.fdad36865432fd7e
+    8cb9c7f023a48abb.a155badd47d9e2a3.acc3b7e41ecd291c.e5ea58e367a967cc
+    ec4ec86c7db28de9.d2a3cb5d440d3d6b.f38fb8ef27203e18.921ff1e770bae201
+    2192a8fccdc07c99.111c0ce6e0eec35a.62621957592ca042.5e99fafe08f3abc7
+    a6a57093cde0fecb
+  after
+    2604289da38ab4e4.23e5dcfb4dc77857.af339a4c1f29a51f.fdad36865432fd7e
+    8cb9c7f023a48abb.a155badd47d9e2a3.acc3b7e41ecd291c.e5ea58e367a967cc
+    0000000000000000.0000000000000000.54c349e41ecdd71c.1b16581d67a999cc
+    2192a8fccdc07c99.111c0ce6e0eec35a.62621957592ca042.5e99fafe08f3abc7
+    a6a57093cde0fecb
+
+VPSIGNB_128(reg)
+  before
+    c68d50145b0c16b8.0650e28d2edb11f7.b90c77e4b509b11d.d309560acd000ac4
+    1a9d95ed4d03303b.7953f209bc0e0931.28bf0ac362e94360.2450ebf2a1a539ca
+    fe233b88405188ff.5469545d94662071.b981c0ef811ab4ce.2f0355fdf129e981
+    ce6a3f52cf8359b1.755c8575d1ee11e3.c79d96d4ae294114.d2ee0f16d897d615
+    e7dc952972fbbbb1
+  after
+    0000000000000000.0000000000000000.d841f63d9ee9bda0.2450eb0e5fa5c736
+    1a9d95ed4d03303b.7953f209bc0e0931.28bf0ac362e94360.2450ebf2a1a539ca
+    fe233b88405188ff.5469545d94662071.b981c0ef811ab4ce.2f0355fdf129e981
+    ce6a3f52cf8359b1.755c8575d1ee11e3.c79d96d4ae294114.d2ee0f16d897d615
+    e7dc952972fbbbb1
+VPSIGNB_128(mem)
+  before
+    4c9b6322dc625582.e6bd9bb79624e0fd.b6f9ff3e90b29ab4.b06186df86a126dd
+    dbf5f6ed32d760b3.a2694d2432c0598e.f40c40a2ecbe7410.ce178e7aa40e9fd6
+    71b7c9768f679771.5eba50033fe40011.0c61c48f021f5e22.7f0ca913a5fce7aa
+    ebad58aa0f1db7e8.76fca1c2581b1031.d8c305f0ede01217.1d8cd31424f83b06
+    06e309ebbd8ed796
+  after
+    4c9b6322dc625582.e6bd9bb79624e0fd.b6f9ff3e90b29ab4.b06186df86a126dd
+    dbf5f6ed32d760b3.a2694d2432c0598e.f40c40a2ecbe7410.ce178e7aa40e9fd6
+    0000000000000000.0000000000000000.0cf4c0a214428cf0.321772865cf29f2a
+    ebad58aa0f1db7e8.76fca1c2581b1031.d8c305f0ede01217.1d8cd31424f83b06
+    06e309ebbd8ed796
+
+VPSIGNB_128(reg)
+  before
+    945d45030e48f605.23a31f73cf057c43.467b3acc19f2c69b.35ff80b1c90e4d1a
+    244585c8b0b4d600.f6659abfea2ba2af.2a82198d1ff35efa.00e2b2beb4b3cb58
+    13e8c4a6415eb033.40be46787d9ce458.7e5f397105ad14fc.13361603c7de48fd
+    bb93fe095dd0c349.de7c9e8ca363ff69.9e5c96e468a9234a.4bc8296c20987f34
+    846365e5dbef2d2a
+  after
+    0000000000000000.0000000000000000.2a82198d1f0d5e06.00e2b2be4c4dcba8
+    244585c8b0b4d600.f6659abfea2ba2af.2a82198d1ff35efa.00e2b2beb4b3cb58
+    13e8c4a6415eb033.40be46787d9ce458.7e5f397105ad14fc.13361603c7de48fd
+    bb93fe095dd0c349.de7c9e8ca363ff69.9e5c96e468a9234a.4bc8296c20987f34
+    846365e5dbef2d2a
+VPSIGNB_128(mem)
+  before
+    9ad5485a13ee0d0a.7990305d9f9849ee.aa691ee6798daf0e.e6c62d52e375c893
+    69e94db8e4a2dd02.a92c550ea3427fcf.815242711a25af74.b1e9f827139c3f81
+    cd6af0e96b16573b.a8b269890658a198.3f03871ba337bdc7.5d11f5cf93abc3c0
+    a225addbc35637e3.d07068386368ebf5.c04767cf2fd09233.45891fb7002c91fd
+    c49f7249f5aee5e4
+  after
+    9ad5485a13ee0d0a.7990305d9f9849ee.aa691ee6798daf0e.e6c62d52e375c893
+    69e94db8e4a2dd02.a92c550ea3427fcf.815242711a25af74.b1e9f827139c3f81
+    0000000000000000.0000000000000000.7f52428f1adb5174.4f17f827ed9cc17f
+    a225addbc35637e3.d07068386368ebf5.c04767cf2fd09233.45891fb7002c91fd
+    c49f7249f5aee5e4
+
+VPSIGNW_128(reg)
+  before
+    389debf30ebafb20.c4e60179096f3b26.7eb04e8957fe9891.e0ec607adbfbede3
+    fcd08420e8de0e5e.0f7966af596c1d2f.0ebf18e67ea5e518.7bbced06c2c48803
+    6b843b3b1fa55b4a.5fa95a68cd599a2b.dceac1bd72e90d38.6d858b60013721c0
+    e3050cb24e9c1d8f.9044599284436e46.447a4579d2564e9a.9211b475b3617146
+    c62de62ff44e37c1
+  after
+    0000000000000000.0000000000000000.f141e71a7ea5e518.7bbc12fac2c48803
+    fcd08420e8de0e5e.0f7966af596c1d2f.0ebf18e67ea5e518.7bbced06c2c48803
+    6b843b3b1fa55b4a.5fa95a68cd599a2b.dceac1bd72e90d38.6d858b60013721c0
+    e3050cb24e9c1d8f.9044599284436e46.447a4579d2564e9a.9211b475b3617146
+    c62de62ff44e37c1
+VPSIGNW_128(mem)
+  before
+    e5a49c7ce1082d5b.be9ff1f0114e92da.7e14dd19973454ab.a2bea0863779e2ed
+    ca445347959d1043.5a9ee7610547f4d6.05e764e7253b0987.5201ce5040dd06db
+    53d8857b2d199ca3.114deb72c6148030.018769e947614905.b08ecc43860ef510
+    5b2bb006c5868ca8.40f9f88def407293.4ec0680b1bb4d052.18b395cba799ec39
+    e6ba25543f092702
+  after
+    e5a49c7ce1082d5b.be9ff1f0114e92da.7e14dd19973454ab.a2bea0863779e2ed
+    ca445347959d1043.5a9ee7610547f4d6.05e764e7253b0987.5201ce5040dd06db
+    0000000000000000.0000000000000000.05e79b19dac50987.adff31b040ddf925
+    5b2bb006c5868ca8.40f9f88def407293.4ec0680b1bb4d052.18b395cba799ec39
+    e6ba25543f092702
+
+VPSIGNW_128(reg)
+  before
+    76f0784be9ebe217.be0a4fd378f29d7d.44ee0b1f1c5705ac.c760dd3abd40599a
+    24a18b1a42ca5823.5741dece62698b4f.77781e95eae67627.4a3244604810a108
+    4b18592fe532c6d2.049cd9e4a0f5124a.36e32f59f47801af.b2011a6bd93063c9
+    49a3def56eaf68d1.a0e7bdff4da4ed99.de7a39d9d799e1f1.da9ada468bac5d08
+    a0ca00dd7a9149f2
+  after
+    0000000000000000.0000000000000000.77781e95151a7627.b5ce4460b7f0a108
+    24a18b1a42ca5823.5741dece62698b4f.77781e95eae67627.4a3244604810a108
+    4b18592fe532c6d2.049cd9e4a0f5124a.36e32f59f47801af.b2011a6bd93063c9
+    49a3def56eaf68d1.a0e7bdff4da4ed99.de7a39d9d799e1f1.da9ada468bac5d08
+    a0ca00dd7a9149f2
+VPSIGNW_128(mem)
+  before
+    df5b091bc3eae4b2.798c16d77ace7acc.06ed050c8682d969.c98b38802ed65398
+    72196fee81c3e975.3620fd43a41a376e.147b2df8669a92e5.546028b996ba9351
+    37d2b042d1291667.deab90a48920dc64.a55eb1ad09f8d33a.db4606f2aad1ddc8
+    08504701cf2725b3.cc79ca66c56ba55a.94600d198ca85993.ba89cc9606a86ca8
+    4e75781148ca7d9e
+  after
+    df5b091bc3eae4b2.798c16d77ace7acc.06ed050c8682d969.c98b38802ed65398
+    72196fee81c3e975.3620fd43a41a376e.147b2df8669a92e5.546028b996ba9351
+    0000000000000000.0000000000000000.147b2df899666d1b.aba028b996ba9351
+    08504701cf2725b3.cc79ca66c56ba55a.94600d198ca85993.ba89cc9606a86ca8
+    4e75781148ca7d9e
+
+VPSIGNW_128(reg)
+  before
+    f15606d009c34c55.c361b11895c9d286.5bd6a7f5f387cdfb.bf4ebe270bb7e01d
+    0077703de720147a.42cf6873421cdb0c.e90e23beaf0191f4.00f33fc3a1302404
+    d726b4c57e6c13b9.6267eaffef2bfa70.d16c3b2b96632df0.341d0cd86b1fe073
+    d2adccd5693483bd.00f5b2a7bb03ecdf.6e3deaa9433cdd9c.3896a1558491d197
+    e62c7b230891b39c
+  after
+    0000000000000000.0000000000000000.16f223be50ff91f4.00f33fc3a130dbfc
+    0077703de720147a.42cf6873421cdb0c.e90e23beaf0191f4.00f33fc3a1302404
+    d726b4c57e6c13b9.6267eaffef2bfa70.d16c3b2b96632df0.341d0cd86b1fe073
+    d2adccd5693483bd.00f5b2a7bb03ecdf.6e3deaa9433cdd9c.3896a1558491d197
+    e62c7b230891b39c
+VPSIGNW_128(mem)
+  before
+    1ba9152f142c41ad.4d59b7d74402a033.f6453c56bfaf6c84.1ece2ca55315dca3
+    b4daeb65c36d38f6.a4766e39ac65a8c6.222204fa1a3b388c.3b68fd8a617c67b2
+    8b8b79b2326054a5.3350ee663ce6d523.5e59877ee5b30a22.225a59c309fdba75
+    7d873b007d1151e3.553234ca911363f6.87b740ce3e249f73.30ef3dbee8221097
+    bf72a4e69a79a6c5
+  after
+    1ba9152f142c41ad.4d59b7d74402a033.f6453c56bfaf6c84.1ece2ca55315dca3
+    b4daeb65c36d38f6.a4766e39ac65a8c6.222204fa1a3b388c.3b68fd8a617c67b2
+    0000000000000000.0000000000000000.ddde04fae5c5388c.3b68fd8a617c984e
+    7d873b007d1151e3.553234ca911363f6.87b740ce3e249f73.30ef3dbee8221097
+    bf72a4e69a79a6c5
+
+VPSIGND_128(reg)
+  before
+    2c318aa7ba8eb8ab.679cae3dbe8deadf.68693bd1467790ea.7906abd64199b2ab
+    d476eb6de5eb82f4.23944d5314e0dcc3.c742ffe7f89e96ac.10134482091f00f5
+    118ec4a4b61e3f4c.8e3c94309814e3bb.ce077d784315b2e7.29a987beb2c1457e
+    40c50fb8c9b32c60.8460ffbf6937baf5.d905aff0c1672048.9e96f177598b3d71
+    4ca5fd971a8aa3fb
+  after
+    0000000000000000.0000000000000000.38bd0019f89e96ac.10134482f6e0ff0b
+    d476eb6de5eb82f4.23944d5314e0dcc3.c742ffe7f89e96ac.10134482091f00f5
+    118ec4a4b61e3f4c.8e3c94309814e3bb.ce077d784315b2e7.29a987beb2c1457e
+    40c50fb8c9b32c60.8460ffbf6937baf5.d905aff0c1672048.9e96f177598b3d71
+    4ca5fd971a8aa3fb
+VPSIGND_128(mem)
+  before
+    0fa1270c10c83448.bd67ca16bb3485dc.e1cc0beca0541f9a.438893bb10211b7b
+    c357ebc05754ac83.e5bff028272f856c.814c32a35b78cbd9.6adb2446cccee02b
+    4493c6a10c37c6d9.121b7e5caa306abb.40abf2d0b6ae7ddc.a94c5efb90faab04
+    6e21339a4a7f4075.a1c56e1ddfc16d75.fab7c65fcc02efcf.5b253e48f932b8b4
+    deb3bf98a20142e5
+  after
+    0fa1270c10c83448.bd67ca16bb3485dc.e1cc0beca0541f9a.438893bb10211b7b
+    c357ebc05754ac83.e5bff028272f856c.814c32a35b78cbd9.6adb2446cccee02b
+    0000000000000000.0000000000000000.7eb3cd5da4873427.6adb2446cccee02b
+    6e21339a4a7f4075.a1c56e1ddfc16d75.fab7c65fcc02efcf.5b253e48f932b8b4
+    deb3bf98a20142e5
+
+VPSIGND_128(reg)
+  before
+    8c42dd5627f38643.1dccae972e38d484.ee0abed66371cd48.8b3a2b3dba81dfe0
+    c31e94f02594c07b.2d62b384d36c3e32.553669f5d2c9c4dd.cf019b549b360638
+    dd93e0d138712b39.7aadbe4d56293caa.32956be5c6578fe3.a2d894928b2d2306
+    38ecbe65fb160428.df7b4cded27a8819.e172c112dda66a04.e08b91e1a773f074
+    65e60e2f0b122aae
+  after
+    0000000000000000.0000000000000000.553669f52d363b23.30fe64ac64c9f9c8
+    c31e94f02594c07b.2d62b384d36c3e32.553669f5d2c9c4dd.cf019b549b360638
+    dd93e0d138712b39.7aadbe4d56293caa.32956be5c6578fe3.a2d894928b2d2306
+    38ecbe65fb160428.df7b4cded27a8819.e172c112dda66a04.e08b91e1a773f074
+    65e60e2f0b122aae
+VPSIGND_128(mem)
+  before
+    0cb48867d1198de1.2e7728180a0d87f5.3a96d823646cdfaa.be1b66e8b34291ec
+    b3c27a751891d439.1d7e1c5702e4f04c.66cade08270afc8a.25da56d3e3b83f48
+    35dd6045fa89bce1.5f4e968c7e277ad8.3fe5da7a38609ce4.72fc8d400a93b1c4
+    6ecfb6c3930a0106.513390241b606245.a1b24963b27b7be6.01cd0799c360230c
+    2d99c14caba9d0ca
+  after
+    0cb48867d1198de1.2e7728180a0d87f5.3a96d823646cdfaa.be1b66e8b34291ec
+    b3c27a751891d439.1d7e1c5702e4f04c.66cade08270afc8a.25da56d3e3b83f48
+    0000000000000000.0000000000000000.66cade08270afc8a.da25a92d1c47c0b8
+    6ecfb6c3930a0106.513390241b606245.a1b24963b27b7be6.01cd0799c360230c
+    2d99c14caba9d0ca
+
+VPSIGND_128(reg)
+  before
+    54acb5c35dfdf5ad.3964f8db00225fd4.5079088c741de441.67fca6b1b16655b9
+    d151e16c75e5ce5f.746aa3795cdc9176.b66bf92f26ea3b75.6f906d4f522ee58c
+    00d541b290ef968d.f9ac318ac4445419.e0575f78cc51a490.943b1a29b1dde889
+    3c85cf0149a68be2.a6f520f8536764e8.2a8736d503e05b3c.b1c7292be9811adc
+    a4001741162637b2
+  after
+    0000000000000000.0000000000000000.499406d1d915c48b.906f92b1add11a74
+    d151e16c75e5ce5f.746aa3795cdc9176.b66bf92f26ea3b75.6f906d4f522ee58c
+    00d541b290ef968d.f9ac318ac4445419.e0575f78cc51a490.943b1a29b1dde889
+    3c85cf0149a68be2.a6f520f8536764e8.2a8736d503e05b3c.b1c7292be9811adc
+    a4001741162637b2
+VPSIGND_128(mem)
+  before
+    47b45f5755d7fa37.e3ab89c43d97e70b.5612ecb126507c10.f1487bb166239c26
+    78ad7d59c1a02096.50946a6a084de6b4.e4cf0fa0580b59bc.8fe6287892a4a2f9
+    11b9ed33778d65fc.de8b6e5c4454c688.2ef807b005a5b71a.61ad3b9622f1aa62
+    f0a22bd292ab8495.ebde91079038c133.0e594fcf4a295253.c3e9b077b396f00c
+    11e58188e01eb0a4
+  after
+    47b45f5755d7fa37.e3ab89c43d97e70b.5612ecb126507c10.f1487bb166239c26
+    78ad7d59c1a02096.50946a6a084de6b4.e4cf0fa0580b59bc.8fe6287892a4a2f9
+    0000000000000000.0000000000000000.e4cf0fa0580b59bc.7019d78892a4a2f9
+    f0a22bd292ab8495.ebde91079038c133.0e594fcf4a295253.c3e9b077b396f00c
+    11e58188e01eb0a4
+
+VPMULHRSW_128(reg)
+  before
+    a7eeac33451525d6.ef35b4202f053a8c.d1d7d0d786861463.61bd63e843a4e595
+    e1512ce67f078c4d.eb3e030b69a7430d.eec42539c2cafac2.04f2bfe70b202d0c
+    1b58fd0b298120b5.c189947d5d9e5b45.9cef8e97e08eb1fc.d1c2e0b8beace6e4
+    b1501b10e00e1fbc.4be1e46426f53d60.39a5065f7e6073be.a6fa40477951cb48
+    5d665d81581d9964
+  after
+    0000000000000000.0000000000000000.0d57df050f0a0332.fe370faafa52f72a
+    e1512ce67f078c4d.eb3e030b69a7430d.eec42539c2cafac2.04f2bfe70b202d0c
+    1b58fd0b298120b5.c189947d5d9e5b45.9cef8e97e08eb1fc.d1c2e0b8beace6e4
+    b1501b10e00e1fbc.4be1e46426f53d60.39a5065f7e6073be.a6fa40477951cb48
+    5d665d81581d9964
+VPMULHRSW_128(mem)
+  before
+    d3d2b350751b0c66.ff848260403ac30c.66136dabe1b9a68a.1f328afc35cc7cb4
+    e40abca2ef58e078.61422f66e4924951.efecad3ea9f552ee.ace114d9a35c0a89
+    6dd9f661e0ded0c6.33d41d9068a1ec39.c0361f099bb5fdb8.3a00a264649e57ea
+    480ddc7b64bc997d.d088484969f4e96d.b6be3ff8d2066216.26d92f08131da082
+    cdb9b8314c6620ff
+  after
+    d3d2b350751b0c66.ff848260403ac30c.66136dabe1b9a68a.1f328afc35cc7cb4
+    e40abca2ef58e078.61422f66e4924951.efecad3ea9f552ee.ace114d9a35c0a89
+    0000000000000000.0000000000000000.f32eb918145ac60a.ebbeecf1d9100a44
+    480ddc7b64bc997d.d088484969f4e96d.b6be3ff8d2066216.26d92f08131da082
+    cdb9b8314c6620ff
+
+VPMULHRSW_128(reg)
+  before
+    89ec374cac04150a.5270eadb98fbf7c9.96a8adfe82167c9c.ad4f8af76af23e32
+    b7beaac3cf83b951.67cf9c6d97a9a5d5.e08146195093e170.81b77af380884c38
+    b37b0c0350704980.63f66e1d7dd161ce.0a5e11076ef75395.0ec18dd62fd14a55
+    d96e5979cb560043.22b0ddd76880e4df.6f8d093578cf10b8.30383e8e94dbf2b5
+    c4e90a05cbb10083
+  after
+    0000000000000000.0000000000000000.fd73095345daec0b.f1729257d0622c43
+    b7beaac3cf83b951.67cf9c6d97a9a5d5.e08146195093e170.81b77af380884c38
+    b37b0c0350704980.63f66e1d7dd161ce.0a5e11076ef75395.0ec18dd62fd14a55
+    d96e5979cb560043.22b0ddd76880e4df.6f8d093578cf10b8.30383e8e94dbf2b5
+    c4e90a05cbb10083
+VPMULHRSW_128(mem)
+  before
+    a4a06b29ef6032ec.86e58d8fddc21b45.80cb648771c1ed35.6d582b0d0ca75185
+    ac29dfe51cf3421b.142aa5b3213ed632.59117f19b6a036fc.5f0d71fdc30955a7
+    ba4fe1256f76ed3d.e08a9c5034586db7.8950ab79532a7d5f.a0f6d96f3b8356cb
+    a9e0edd503f6ef7d.46516ed1b19c1b80.ec526294636a7b8b.8e605ed110a0919d
+    8397fc8edded42c8
+  after
+    a4a06b29ef6032ec.86e58d8fddc21b45.80cb648771c1ed35.6d582b0d0ca75185
+    ac29dfe51cf3421b.142aa5b3213ed632.59117f19b6a036fc.5f0d71fdc30955a7
+    0000000000000000.0000000000000000.a77c63d2becbf7ed.51322657f9f9368d
+    a9e0edd503f6ef7d.46516ed1b19c1b80.ec526294636a7b8b.8e605ed110a0919d
+    8397fc8edded42c8
+
+VPMULHRSW_128(reg)
+  before
+    dde7af123ef5a4f8.55a680e1f57e0309.a2cb17a435951d39.5ee42254026cefab
+    f69b74c9d044f5db.9a6f1435601ae60a.504394345bcfaf8d.bbd166a74d3d93ec
+    2c00461f2f676e1b.540527bd61d754af.ac07dfeec0d60d28.dfe7aa7860e82479
+    d9632181f5e94e64.5f34346513c00922.1261f63cff3772b7.a5f16bb356795e80
+    ebba24434bfdfc2a
+  after
+    0000000000000000.0000000000000000.cb581b02d2b2f7bb.1119bb683a7ae134
+    f69b74c9d044f5db.9a6f1435601ae60a.504394345bcfaf8d.bbd166a74d3d93ec
+    2c00461f2f676e1b.540527bd61d754af.ac07dfeec0d60d28.dfe7aa7860e82479
+    d9632181f5e94e64.5f34346513c00922.1261f63cff3772b7.a5f16bb356795e80
+    ebba24434bfdfc2a
+VPMULHRSW_128(mem)
+  before
+    8c0f50165c7fbba6.5a0e0159c156cf63.96cab81a92e1c08f.dd9ed48bb57d1be6
+    64bc6e18a40b571e.0c4ee2142d3b2ec4.d7922dc7fb473623.6b0a76477d354361
+    4e8df73340ae8cbe.496ec11fd523a732.fd5711576afd260a.17f1d6ddf3e928d2
+    284e69544b7315b3.6ebc99e4569a765a.e3e7dfb8fa0f4e6f.3d9ff2b8b42804e8
+    395fc5435c7b144d
+  after
+    8c0f50165c7fbba6.5a0e0159c156cf63.96cab81a92e1c08f.dd9ed48bb57d1be6
+    64bc6e18a40b571e.0c4ee2142d3b2ec4.d7922dc7fb473623.6b0a76477d354361
+    0000000000000000.0000000000000000.213be6490407e52b.e33fd7d8b71d0eb0
+    284e69544b7315b3.6ebc99e4569a765a.e3e7dfb8fa0f4e6f.3d9ff2b8b42804e8
+    395fc5435c7b144d
+
+VBROADCASTF128(reg)
+  before
+    667f4bec867093ae.cdca3e67e266af29.d88266d14b2dd6e7.670c13d5c78a687f
+    2249811ece92beb6.18cef4592094164b.e10e245151670486.64932a9aee793166
+    c80a6145d16ed112.e727071422080546.e6aad0d003d43be3.b5479ef38be8644f
+    b30ee9cd2b8f086e.149ff18603ce3946.43a365bafd01b9a9.38f6edccb9e4bf67
+    c76a92119478fcd9
+  after
+    667f4bec867093ae.cdca3e67e266af29.d88266d14b2dd6e7.670c13d5c78a687f
+    2249811ece92beb6.18cef4592094164b.e10e245151670486.64932a9aee793166
+    c80a6145d16ed112.e727071422080546.e6aad0d003d43be3.b5479ef38be8644f
+    b30ee9cd2b8f086e.149ff18603ce3946.43a365bafd01b9a9.38f6edccb9e4bf67
+    c76a92119478fcd9
+VBROADCASTF128(mem)
+  before
+    407109ae39b1d7d2.41a1142276819f75.7d03309adff36e76.5445df7bdc79b885
+    7dd5cf90c39a0e7d.cd0edfb051d0d1d3.fc1e3f3cd3826002.75db3a7f3cc87422
+    5c635fa14f3f5b07.b2a344e45509db36.6fbe9a58fb88ca18.02b37233b87b2b2d
+    b7e734cff8ac7b9c.4eaa412821b8f848.b0adbdda721069e2.57178401ed1d1752
+    d0546b56753a753c
+  after
+    407109ae39b1d7d2.41a1142276819f75.7d03309adff36e76.5445df7bdc79b885
+    7dd5cf90c39a0e7d.cd0edfb051d0d1d3.fc1e3f3cd3826002.75db3a7f3cc87422
+    5c635fa14f3f5b07.b2a344e45509db36.6fbe9a58fb88ca18.02b37233b87b2b2d
+    7d03309adff36e76.5445df7bdc79b885.7d03309adff36e76.5445df7bdc79b885
+    d0546b56753a753c
+
+VBROADCASTF128(reg)
+  before
+    c9b6239fef5f8198.6b2dcd04dbee2967.fb70d1ea4e6765b5.9cb925ae5426f98c
+    9e89a847f5177611.5500a32e13102395.1741f0947ba45e2a.10ac4cc0bed63543
+    ab19f7b923ef9154.4f2e3438bd1f2352.fc699a9441fa1f53.e653b0fccc2dda33
+    4cb20a6316720e0d.3681fa0ef425e6c9.0733cc553ef6e4db.fb7acc4f9936a487
+    2bec1da341fe4f6c
+  after
+    c9b6239fef5f8198.6b2dcd04dbee2967.fb70d1ea4e6765b5.9cb925ae5426f98c
+    9e89a847f5177611.5500a32e13102395.1741f0947ba45e2a.10ac4cc0bed63543
+    ab19f7b923ef9154.4f2e3438bd1f2352.fc699a9441fa1f53.e653b0fccc2dda33
+    4cb20a6316720e0d.3681fa0ef425e6c9.0733cc553ef6e4db.fb7acc4f9936a487
+    2bec1da341fe4f6c
+VBROADCASTF128(mem)
+  before
+    53771ee6e190960d.dd9fdfb0692c28e7.e6c6739cd4312726.95ed81430e23e86f
+    4de54a0394f83697.ba2d710cb9a91d8f.3cc91bce7a4ca396.00e1b5ca4c0d68ba
+    f6031fe57742eb36.3ea8bde3a17627b0.12566c9002841645.a55c645694419f69
+    2a9d197aa57b7015.c75cbda2be1e82f7.4538e4cf87e43c5f.e1ab8b53834acb28
+    0e17242db5b426a2
+  after
+    53771ee6e190960d.dd9fdfb0692c28e7.e6c6739cd4312726.95ed81430e23e86f
+    4de54a0394f83697.ba2d710cb9a91d8f.3cc91bce7a4ca396.00e1b5ca4c0d68ba
+    f6031fe57742eb36.3ea8bde3a17627b0.12566c9002841645.a55c645694419f69
+    e6c6739cd4312726.95ed81430e23e86f.e6c6739cd4312726.95ed81430e23e86f
+    0e17242db5b426a2
+
+VBROADCASTF128(reg)
+  before
+    89ef2d51c50cec84.c57fb2ad3bae8361.b0956fb3ab2e6c10.b13dfe752579d00f
+    ae7ea2294fdd5b7a.a375686a54e8dd45.559fce8305311fa6.322f3670f94e8f81
+    d90f7d23f0b4ad2f.a04bb69d0c343dee.11c5d77f67b3d865.a4db08aa1e6f35e2
+    66efbca9431b1f4f.98cc1833819e5d88.425584116e40d2fb.e30df111b1e97d5e
+    cb916c90cec72521
+  after
+    89ef2d51c50cec84.c57fb2ad3bae8361.b0956fb3ab2e6c10.b13dfe752579d00f
+    ae7ea2294fdd5b7a.a375686a54e8dd45.559fce8305311fa6.322f3670f94e8f81
+    d90f7d23f0b4ad2f.a04bb69d0c343dee.11c5d77f67b3d865.a4db08aa1e6f35e2
+    66efbca9431b1f4f.98cc1833819e5d88.425584116e40d2fb.e30df111b1e97d5e
+    cb916c90cec72521
+VBROADCASTF128(mem)
+  before
+    3833f5138f15e756.b16a5929e5a0ed87.67c50a16cc33fb3e.4299d3a7b5654b12
+    06be088613df7f29.17cc520e71cf5283.e90209330bfed03d.6fdebfacd8ae7d56
+    11ff21d57332abc7.f261a3c484328bef.fa4f90775a0b9bb0.2470448c74a5a474
+    35c3bdecce1a255c.9f7546b7b958d476.76781bcdd46716c4.bc9a5eb325d8fe18
+    94aa0a8d86d2c5ed
+  after
+    3833f5138f15e756.b16a5929e5a0ed87.67c50a16cc33fb3e.4299d3a7b5654b12
+    06be088613df7f29.17cc520e71cf5283.e90209330bfed03d.6fdebfacd8ae7d56
+    11ff21d57332abc7.f261a3c484328bef.fa4f90775a0b9bb0.2470448c74a5a474
+    67c50a16cc33fb3e.4299d3a7b5654b12.67c50a16cc33fb3e.4299d3a7b5654b12
+    94aa0a8d86d2c5ed
+
+VPEXTRW_128_0x0(reg)
+  before
+    09ea4386332036a0.4dd457b73da1aa13.79533953adca68c4.39492620951dfea5
+    75a7050ac94d8cdd.37ff6b23ded5f519.de487704fb168486.1e8d2e5eba390f7e
+    362e4c86e3e5054f.ce0f751acdc2c39a.29a1fc3640c76468.0311ad725ec8047c
+    a6c814641e75dba2.eed2f28a2572d0c1.b6a8c45617694415.c3a221489ed59aca
+    3a0a05cc956c8d95
+  after
+    09ea4386332036a0.4dd457b73da1aa13.79533953adca68c4.39492620951dfea5
+    75a7050ac94d8cdd.37ff6b23ded5f519.de487704fb168486.1e8d2e5eba390f7e
+    362e4c86e3e5054f.ce0f751acdc2c39a.29a1fc3640c76468.0311ad725ec8047c
+    a6c814641e75dba2.eed2f28a2572d0c1.b6a8c45617694415.c3a221489ed59aca
+    000000000000fea5
+VPEXTRW_128_0x0(mem)
+  before
+    4315d6ea609a9908.22c45a1215884a83.72125c5d03f3d8bb.e1a9ccce1c895f3a
+    bc910e8f1a6a7950.076d19fa65aa909e.389d3181825196b3.06f20f0cecb2f383
+    80492ba5e0e8ea99.af0e4d8aa968e79f.1b3dece1be97c7d6.80ce897b2371399b
+    6a08a819cd21a80e.77f5f22d7e4d8c31.f6bf0a69d4d1274f.ad8836865c51702f
+    e86d129b33ded2ea
+  after
+    4315d6ea609a9908.22c45a1215884a83.72125c5d03f3d8bb.e1a9ccce1c89399b
+    bc910e8f1a6a7950.076d19fa65aa909e.389d3181825196b3.06f20f0cecb2f383
+    80492ba5e0e8ea99.af0e4d8aa968e79f.1b3dece1be97c7d6.80ce897b2371399b
+    6a08a819cd21a80e.77f5f22d7e4d8c31.f6bf0a69d4d1274f.ad8836865c51702f
+    e86d129b33ded2ea
+
+VPEXTRW_128_0x0(reg)
+  before
+    8dc91a2545a59c79.589b01d8fe206edc.bb6c054f7fe5ba00.a7ee0605df0b724c
+    f7e849902d300a88.24ceb3cd8ef2f92f.d7c0815c49bdafba.08985ba1fc5263f6
+    84169b48880e57c2.ac6d39e39aa10532.283c62c07760a508.f788872947b1b77c
+    8e9f0cbaf2c8c0d3.ca440e083d3b4e12.082ea4e7a55bd999.4e890689da342a07
+    eb6852aed4e877c6
+  after
+    8dc91a2545a59c79.589b01d8fe206edc.bb6c054f7fe5ba00.a7ee0605df0b724c
+    f7e849902d300a88.24ceb3cd8ef2f92f.d7c0815c49bdafba.08985ba1fc5263f6
+    84169b48880e57c2.ac6d39e39aa10532.283c62c07760a508.f788872947b1b77c
+    8e9f0cbaf2c8c0d3.ca440e083d3b4e12.082ea4e7a55bd999.4e890689da342a07
+    000000000000724c
+VPEXTRW_128_0x0(mem)
+  before
+    a8f1e9824ed85be3.73ce995005ec8169.5c1fb12793cc8ffa.d4e1433d70388617
+    63f046f36711928b.8df03c776005d62e.3cc99b2cb95f8517.e8a03c2f7485e92e
+    f631e5eb389ed8e9.3a51f39c9ca0face.470f4903cb00ec94.a0b88a274cce3e8c
+    3e7f4258e08be82a.d43dba2a57482af6.5abd3899e4bb7f9e.58752993949ec1da
+    6c2315dee981adc7
+  after
+    a8f1e9824ed85be3.73ce995005ec8169.5c1fb12793cc8ffa.d4e1433d70383e8c
+    63f046f36711928b.8df03c776005d62e.3cc99b2cb95f8517.e8a03c2f7485e92e
+    f631e5eb389ed8e9.3a51f39c9ca0face.470f4903cb00ec94.a0b88a274cce3e8c
+    3e7f4258e08be82a.d43dba2a57482af6.5abd3899e4bb7f9e.58752993949ec1da
+    6c2315dee981adc7
+
+VPEXTRW_128_0x0(reg)
+  before
+    370e4b73e7033ffd.17a8da2578e47f79.b9008b8c2d89a252.4f9fe3d8209dfb61
+    1781c5c028b1b328.5e76283e1eb65903.43e66430b9f09d8d.0381c6ad9cb11c08
+    67ca81304b1645f5.edb6a88fee0c32f4.d03a408198085854.522f5e0573049ec0
+    83337b2feabf3010.a134d60403f3c577.ba4a1beb655d0f52.197425cac2a13cb4
+    321e99eaa494b311
+  after
+    370e4b73e7033ffd.17a8da2578e47f79.b9008b8c2d89a252.4f9fe3d8209dfb61
+    1781c5c028b1b328.5e76283e1eb65903.43e66430b9f09d8d.0381c6ad9cb11c08
+    67ca81304b1645f5.edb6a88fee0c32f4.d03a408198085854.522f5e0573049ec0
+    83337b2feabf3010.a134d60403f3c577.ba4a1beb655d0f52.197425cac2a13cb4
+    000000000000fb61
+VPEXTRW_128_0x0(mem)
+  before
+    7af7355036eabf03.c709ad29a136b125.56bc2e8a7976cfb9.5e60f1dabc7cfe34
+    cdcc76e893ad1bb5.8f98158a0d0a04df.e8192d0b6da10be5.18c9beba3af060a6
+    0769d69ed8ec8554.362cadbfc9c464ea.34194e74fb803728.45d17ff77b457253
+    0499d35e20b0b60b.1a11733271f20ef3.14860db23e200dae.3fc32ffe1a0870e8
+    63edca39b3c49611
+  after
+    7af7355036eabf03.c709ad29a136b125.56bc2e8a7976cfb9.5e60f1dabc7c7253
+    cdcc76e893ad1bb5.8f98158a0d0a04df.e8192d0b6da10be5.18c9beba3af060a6
+    0769d69ed8ec8554.362cadbfc9c464ea.34194e74fb803728.45d17ff77b457253
+    0499d35e20b0b60b.1a11733271f20ef3.14860db23e200dae.3fc32ffe1a0870e8
+    63edca39b3c49611
+
+VPEXTRW_128_0x1(reg)
+  before
+    0d994d16e3051f79.a02ae81488076d07.96926351a21f3ea6.652de7af528d49a2
+    9915b200455848cc.b7e691ac2bfc6474.05fc7786f8d82fae.03da565954d1a931
+    63abf76276484cb7.259b4a13259c597d.c59cad3f0ea81fb8.ca59d89b5ffae786
+    c7a817aa116269e6.c613903393f2054f.30bc00e7811b4870.9676e8619013c0ce
+    42fc02970229f035
+  after
+    0d994d16e3051f79.a02ae81488076d07.96926351a21f3ea6.652de7af528d49a2
+    9915b200455848cc.b7e691ac2bfc6474.05fc7786f8d82fae.03da565954d1a931
+    63abf76276484cb7.259b4a13259c597d.c59cad3f0ea81fb8.ca59d89b5ffae786
+    c7a817aa116269e6.c613903393f2054f.30bc00e7811b4870.9676e8619013c0ce
+    000000000000528d
+VPEXTRW_128_0x1(mem)
+  before
+    acb8a329d24732e6.21570e43b330d905.761bdefa910a2715.a4a86ceaecbee681
+    af7745031b79430e.cd06d999f741d9bf.117fb0523af179fc.7baeedb4eb1c3797
+    27036611faccdfd8.27ff72187a1ea4c0.730a8229aab2b830.131980b11bc17560
+    f02981408a4bc271.8b90d72cd75577b5.778ad16afe59a0dc.c634204d1739dd86
+    f24cc9f47c11aab5
+  after
+    acb8a329d24732e6.21570e43b330d905.761bdefa910a2715.a4a86ceaecbe1bc1
+    af7745031b79430e.cd06d999f741d9bf.117fb0523af179fc.7baeedb4eb1c3797
+    27036611faccdfd8.27ff72187a1ea4c0.730a8229aab2b830.131980b11bc17560
+    f02981408a4bc271.8b90d72cd75577b5.778ad16afe59a0dc.c634204d1739dd86
+    f24cc9f47c11aab5
+
+VPEXTRW_128_0x1(reg)
+  before
+    f1ad7713e6d51a9a.e6b4127ae802a705.55030442ab718e4a.fbc9170151f3ec2d
+    20a32614ef0f67e1.e47296ad2ffe4bbf.e1a5f3c491fe252a.da94d2dac08b594e
+    dc7ad365364dce35.c82d88c37b4a69cb.8bc2a12025897702.f0b77de1672da36c
+    7f7e7970551b8a43.6db364aae9f3bf57.afa50bc0049dc17e.18fe950260e686b3
+    30359429cac1bd4e
+  after
+    f1ad7713e6d51a9a.e6b4127ae802a705.55030442ab718e4a.fbc9170151f3ec2d
+    20a32614ef0f67e1.e47296ad2ffe4bbf.e1a5f3c491fe252a.da94d2dac08b594e
+    dc7ad365364dce35.c82d88c37b4a69cb.8bc2a12025897702.f0b77de1672da36c
+    7f7e7970551b8a43.6db364aae9f3bf57.afa50bc0049dc17e.18fe950260e686b3
+    00000000000051f3
+VPEXTRW_128_0x1(mem)
+  before
+    1327f843beca0569.66fa14a3e803d8b6.aecea64d9503078d.a89c2c12cac73f49
+    9ca23c3a5a0e1932.ed3ba0698b93f43b.694bca989a88fe99.d4f1008112922d10
+    a970dcfcba98b7d3.718d1a2edc571a7e.78f54d77148e5fa8.8ef28479788ac67e
+    145e5573f9759978.4c3c7d5e74d9852a.b99aaad6201fe8e6.31e9b365993b4740
+    1b2288b41032ec02
+  after
+    1327f843beca0569.66fa14a3e803d8b6.aecea64d9503078d.a89c2c12cac7788a
+    9ca23c3a5a0e1932.ed3ba0698b93f43b.694bca989a88fe99.d4f1008112922d10
+    a970dcfcba98b7d3.718d1a2edc571a7e.78f54d77148e5fa8.8ef28479788ac67e
+    145e5573f9759978.4c3c7d5e74d9852a.b99aaad6201fe8e6.31e9b365993b4740
+    1b2288b41032ec02
+
+VPEXTRW_128_0x1(reg)
+  before
+    a7eb02cf7afbf06f.bb38218d34b07c4e.db94c565f1a872ec.06055da1d94a537e
+    308f1a2373209033.78c9be3586551b81.7ae1eeafef4d1d6f.3d01e2c45c185c9d
+    1459cd1c952f08fc.29dfa7570b70343c.856ef4a80956c160.385bb62cc497c16f
+    ad9618277fb39474.a84559dfe00e81ac.5889d4bddb4e9c6b.d5df53c32ed23c1f
+    ee593777b5d58ad9
+  after
+    a7eb02cf7afbf06f.bb38218d34b07c4e.db94c565f1a872ec.06055da1d94a537e
+    308f1a2373209033.78c9be3586551b81.7ae1eeafef4d1d6f.3d01e2c45c185c9d
+    1459cd1c952f08fc.29dfa7570b70343c.856ef4a80956c160.385bb62cc497c16f
+    ad9618277fb39474.a84559dfe00e81ac.5889d4bddb4e9c6b.d5df53c32ed23c1f
+    000000000000d94a
+VPEXTRW_128_0x1(mem)
+  before
+    6095dd3376ad66cb.5993f6aeca396f47.d2c64eb9213abffc.4f7c895802c1e83b
+    085ec2e28c658e1e.729a631f144cd622.842f04d1e901a959.c6940fe71a3ce17d
+    c0826072140abc01.56f75ce5f97805b1.984cf614546dfcef.191d62d4be4ac5dc
+    65cb35ce29a7ad9e.5ff8db6b144a379f.ebe9a06c7f8d74e9.a4637f8d8a78ce05
+    c3b1617d1b5038a4
+  after
+    6095dd3376ad66cb.5993f6aeca396f47.d2c64eb9213abffc.4f7c895802c1be4a
+    085ec2e28c658e1e.729a631f144cd622.842f04d1e901a959.c6940fe71a3ce17d
+    c0826072140abc01.56f75ce5f97805b1.984cf614546dfcef.191d62d4be4ac5dc
+    65cb35ce29a7ad9e.5ff8db6b144a379f.ebe9a06c7f8d74e9.a4637f8d8a78ce05
+    c3b1617d1b5038a4
+
+VPEXTRW_128_0x2(reg)
+  before
+    d15504100c614164.d406bce2e8481c22.eae8de1f024da999.5ad17fc6856acd74
+    2c9964b2fa3423f2.e7ff719a6cf9c6b8.5412606c5e0d974a.bfd20d0f8312c2bc
+    2fca7dcf80571bf9.7b82d1e3d1c7678d.f7c35ebec4173d5f.f7b6c832949010ec
+    36344cd33b556526.6c5a57a734bebbcc.3047d282d1f6d684.de4a2b1bd5f17330
+    505ab2b56140a6b5
+  after
+    d15504100c614164.d406bce2e8481c22.eae8de1f024da999.5ad17fc6856acd74
+    2c9964b2fa3423f2.e7ff719a6cf9c6b8.5412606c5e0d974a.bfd20d0f8312c2bc
+    2fca7dcf80571bf9.7b82d1e3d1c7678d.f7c35ebec4173d5f.f7b6c832949010ec
+    36344cd33b556526.6c5a57a734bebbcc.3047d282d1f6d684.de4a2b1bd5f17330
+    0000000000007fc6
+VPEXTRW_128_0x2(mem)
+  before
+    29b2daee558966a7.9d23cc2bc6bb3c24.96557ed3b1e87da2.5beaba2221369f64
+    451e1eb1ccd86f32.bfe2f941be13dda1.d53dc55462536a3b.d5f8110b4f64d4ac
+    806afaebe33a7d81.fabfcf83beec8446.05dfa514660a3ec2.f8bcd3aaf70bb008
+    b661ea86b5bb4bc0.a8044a5b62cf6dc2.02079b01d71ab464.2184fc69b6b77023
+    ac9a89b627f550a9
+  after
+    29b2daee558966a7.9d23cc2bc6bb3c24.96557ed3b1e87da2.5beaba222136d3aa
+    451e1eb1ccd86f32.bfe2f941be13dda1.d53dc55462536a3b.d5f8110b4f64d4ac
+    806afaebe33a7d81.fabfcf83beec8446.05dfa514660a3ec2.f8bcd3aaf70bb008
+    b661ea86b5bb4bc0.a8044a5b62cf6dc2.02079b01d71ab464.2184fc69b6b77023
+    ac9a89b627f550a9
+
+VPEXTRW_128_0x2(reg)
+  before
+    f54b75fce7508c47.c3d06a6f5e65961c.27fe6737484ad3bf.a8812406d18e8a4c
+    58e3bca691555fa9.8383f793fb461ac1.d2f9218209e8f3e9.d319bb0f71727aa7
+    31ae5a22c28e067b.d2460cdca86993db.044174a8433609ed.5f9adc08d2d340a1
+    dcf74bdb1589bd68.8ce5253880dbbc95.1b225c1592bf5077.28d104dd11bc9a65
+    0a8bae7a4939421f
+  after
+    f54b75fce7508c47.c3d06a6f5e65961c.27fe6737484ad3bf.a8812406d18e8a4c
+    58e3bca691555fa9.8383f793fb461ac1.d2f9218209e8f3e9.d319bb0f71727aa7
+    31ae5a22c28e067b.d2460cdca86993db.044174a8433609ed.5f9adc08d2d340a1
+    dcf74bdb1589bd68.8ce5253880dbbc95.1b225c1592bf5077.28d104dd11bc9a65
+    0000000000002406
+VPEXTRW_128_0x2(mem)
+  before
+    e19255cb9757f4fd.b50c8c3e27d2c01c.8d2cbe919fa7521b.71e7d635900f0532
+    88b378bd16216e29.183718b593f44a44.b1e653d522d9119a.64dedd74dcb364cb
+    ddb9903ae2a36acf.61c5ebadf67b988c.d3e061ef257eb43e.4e516d3e1036a9ed
+    bb721a3018eaa51c.ec020192ebf3e69f.d1e763cbc2a1f832.8c8d82ffc8240f46
+    7bde1924a10ad37f
+  after
+    e19255cb9757f4fd.b50c8c3e27d2c01c.8d2cbe919fa7521b.71e7d635900f6d3e
+    88b378bd16216e29.183718b593f44a44.b1e653d522d9119a.64dedd74dcb364cb
+    ddb9903ae2a36acf.61c5ebadf67b988c.d3e061ef257eb43e.4e516d3e1036a9ed
+    bb721a3018eaa51c.ec020192ebf3e69f.d1e763cbc2a1f832.8c8d82ffc8240f46
+    7bde1924a10ad37f
+
+VPEXTRW_128_0x2(reg)
+  before
+    75902c1736733146.fda89389d401db3c.153a57d10ee96f2a.86c5d555184e99a3
+    d7eeb94624eb6447.8129763331f4c75a.37b9e8d5fce870d9.cd46347a409253bd
+    fd46bb1c06ffa92e.22bf3f194bd026a3.b0cab009517d2557.8438fa245978e1ab
+    44e22f05793a3ca6.bb376b273fa0b443.dbbbabdba833c951.8666a5407c0d009a
+    ae9bb0bbc85b6bb5
+  after
+    75902c1736733146.fda89389d401db3c.153a57d10ee96f2a.86c5d555184e99a3
+    d7eeb94624eb6447.8129763331f4c75a.37b9e8d5fce870d9.cd46347a409253bd
+    fd46bb1c06ffa92e.22bf3f194bd026a3.b0cab009517d2557.8438fa245978e1ab
+    44e22f05793a3ca6.bb376b273fa0b443.dbbbabdba833c951.8666a5407c0d009a
+    000000000000d555
+VPEXTRW_128_0x2(mem)
+  before
+    daa4977f5670e029.060f0f6c1828595b.2a5c744929702d65.14d6d5b69d969a72
+    e44dd77a44581921.a01959bf80563bfb.49fcd86b244d4c36.b6682b06cd32d267
+    aa62ea97ae1ed3ca.6e4c086a4c4f1f2f.f6e212794c42cee1.1fbda837d394addc
+    06af4ec1afcec950.ccf418d7189f41a6.0bd99e60be5c6f93.a92048b54c47697c
+    b2df07ecd3d840f3
+  after
+    daa4977f5670e029.060f0f6c1828595b.2a5c744929702d65.14d6d5b69d96a837
+    e44dd77a44581921.a01959bf80563bfb.49fcd86b244d4c36.b6682b06cd32d267
+    aa62ea97ae1ed3ca.6e4c086a4c4f1f2f.f6e212794c42cee1.1fbda837d394addc
+    06af4ec1afcec950.ccf418d7189f41a6.0bd99e60be5c6f93.a92048b54c47697c
+    b2df07ecd3d840f3
+
+VPEXTRW_128_0x3(reg)
+  before
+    9544e24905d26fef.d6007ee66474b9de.165c867381d3dd0a.66aef90a95a5ea77
+    ad9dd4367dc1311a.f420f7f1e81d5da1.a8d24caa23762e07.e12d9e64ee2cfcba
+    5834d921d832c420.3ddc33cf57d472c5.dea068e99915714b.5a22095be4fa6188
+    f056ed74b1b062ae.8e00b06acea6b375.1413d59b7f3ae17f.ab59b6da941dd50c
+    b19d21cc19a01373
+  after
+    9544e24905d26fef.d6007ee66474b9de.165c867381d3dd0a.66aef90a95a5ea77
+    ad9dd4367dc1311a.f420f7f1e81d5da1.a8d24caa23762e07.e12d9e64ee2cfcba
+    5834d921d832c420.3ddc33cf57d472c5.dea068e99915714b.5a22095be4fa6188
+    f056ed74b1b062ae.8e00b06acea6b375.1413d59b7f3ae17f.ab59b6da941dd50c
+    00000000000066ae
+VPEXTRW_128_0x3(mem)
+  before
+    49bcc71f9090d8e9.d24f0c9da5c74770.c158e9af689ddddd.a6778f2b7274bc52
+    4d8022be14f7e099.5b6a33074f04b111.b3b05a8b42c8ac2b.f01793070d4c3c6e
+    9ab6b195c1e4e6af.e5f55d1e4cf2da3e.41d47fe87830dc88.4e41dc9aed509e7f
+    0c2aed90b460a859.cd3a864e371dffa2.458fd5b424e32823.1c3f6650ae0b1d32
+    b65f2d95ea09f633
+  after
+    49bcc71f9090d8e9.d24f0c9da5c74770.c158e9af689ddddd.a6778f2b72744e41
+    4d8022be14f7e099.5b6a33074f04b111.b3b05a8b42c8ac2b.f01793070d4c3c6e
+    9ab6b195c1e4e6af.e5f55d1e4cf2da3e.41d47fe87830dc88.4e41dc9aed509e7f
+    0c2aed90b460a859.cd3a864e371dffa2.458fd5b424e32823.1c3f6650ae0b1d32
+    b65f2d95ea09f633
+
+VPEXTRW_128_0x3(reg)
+  before
+    77eb2dd540d7652d.7fa8539c0979e0c0.7086aa03ac125bea.9cafd7d965ec4d26
+    bd30637c4900a6cd.d0fb60a3db3a4a13.2825c6a9485c2cc2.22fe0145545807bd
+    e379caf6a411f4bf.d9f18f9246b0a47c.5263d4aca787acd5.b349cfe310321116
+    45145eb0ea958dae.77545c5667e6a827.4a8cd279642018d0.2b5cbe9fb286285a
+    66034965586108b8
+  after
+    77eb2dd540d7652d.7fa8539c0979e0c0.7086aa03ac125bea.9cafd7d965ec4d26
+    bd30637c4900a6cd.d0fb60a3db3a4a13.2825c6a9485c2cc2.22fe0145545807bd
+    e379caf6a411f4bf.d9f18f9246b0a47c.5263d4aca787acd5.b349cfe310321116
+    45145eb0ea958dae.77545c5667e6a827.4a8cd279642018d0.2b5cbe9fb286285a
+    0000000000009caf
+VPEXTRW_128_0x3(mem)
+  before
+    4009ec211ecd6d5a.3e4c1b14b918aa47.86f143da59e81242.6debbb7a1bb2ab5e
+    953c23bf1fd9126c.2c6cfd90ad278a35.e294c10939c3a0f6.15ce8c1d69c9a22d
+    41666a2c788eb41c.69c1018f614d6725.670951d123810c72.9f7f3fcce9f239e6
+    20543e5244fa0f93.5397227c72167ec3.f11c6f1d313113e0.674bd2f538b8ac37
+    c97e4003f1a736cc
+  after
+    4009ec211ecd6d5a.3e4c1b14b918aa47.86f143da59e81242.6debbb7a1bb29f7f
+    953c23bf1fd9126c.2c6cfd90ad278a35.e294c10939c3a0f6.15ce8c1d69c9a22d
+    41666a2c788eb41c.69c1018f614d6725.670951d123810c72.9f7f3fcce9f239e6
+    20543e5244fa0f93.5397227c72167ec3.f11c6f1d313113e0.674bd2f538b8ac37
+    c97e4003f1a736cc
+
+VPEXTRW_128_0x3(reg)
+  before
+    21648662b14c1450.0ed21a1f9f29df00.443a5cc57b0e0bba.5c9897d982dc716c
+    cb499e7e13328270.e7ac7a7da625df8d.9af6acd518c249b6.834a45f12f90e143
+    237886c3b4e6bbd8.87adda5a74fccc66.af160c18e6be7665.44fff65157592091
+    853e399d2ff3fd33.caa3b6a126ba62b8.e1e87afb808ccb70.7a8125e51341ea82
+    019d4e9a8156fb40
+  after
+    21648662b14c1450.0ed21a1f9f29df00.443a5cc57b0e0bba.5c9897d982dc716c
+    cb499e7e13328270.e7ac7a7da625df8d.9af6acd518c249b6.834a45f12f90e143
+    237886c3b4e6bbd8.87adda5a74fccc66.af160c18e6be7665.44fff65157592091
+    853e399d2ff3fd33.caa3b6a126ba62b8.e1e87afb808ccb70.7a8125e51341ea82
+    0000000000005c98
+VPEXTRW_128_0x3(mem)
+  before
+    b51eed5abda40efa.4de7b37821e5822e.8b588b3ed8695caf.8ab6f1e883ba8786
+    71d27f13e235e0da.d7bff0c125488674.a899d41da5177777.08cd6d4c8bd4e451
+    13837eaf0d172c0d.7e12ede2d7a947b2.fc320d2aa9d06f3a.b579eb9432641f7e
+    76ff681c5956b0be.a02ca449d493ff94.62efb251019e0027.ee06652a17f874b8
+    10bfd97cd31b1fac
+  after
+    b51eed5abda40efa.4de7b37821e5822e.8b588b3ed8695caf.8ab6f1e883bab579
+    71d27f13e235e0da.d7bff0c125488674.a899d41da5177777.08cd6d4c8bd4e451
+    13837eaf0d172c0d.7e12ede2d7a947b2.fc320d2aa9d06f3a.b579eb9432641f7e
+    76ff681c5956b0be.a02ca449d493ff94.62efb251019e0027.ee06652a17f874b8
+    10bfd97cd31b1fac
+
+VPEXTRW_128_0x4(reg)
+  before
+    75f242f5055a5b05.7510b945e2fd261a.98581361b893ebc5.b89c407ec88fe568
+    7ae99d0046406570.ee83eb16c5184b4d.c2e436951e3446f2.d904329e1bafdb2a
+    7bf1e40b345a7899.bb237c7b1db3da82.791a0753a2024dc6.a0f5049b15099d98
+    d45615816b32d22b.babee66007db91e5.1b478406e1893cee.eb393263d2a9e9df
+    949d38e0709b792a
+  after
+    75f242f5055a5b05.7510b945e2fd261a.98581361b893ebc5.b89c407ec88fe568
+    7ae99d0046406570.ee83eb16c5184b4d.c2e436951e3446f2.d904329e1bafdb2a
+    7bf1e40b345a7899.bb237c7b1db3da82.791a0753a2024dc6.a0f5049b15099d98
+    d45615816b32d22b.babee66007db91e5.1b478406e1893cee.eb393263d2a9e9df
+    000000000000ebc5
+VPEXTRW_128_0x4(mem)
+  before
+    79ed930008ec0aa7.e1642bce8656add3.c61fa8b19f9b2aa4.03b7a81a76564f15
+    74f5beaeb8a7577f.ff66225f2252453c.ba113b5bffff61e9.8cb66ffbfef4c2e9
+    638035d69cd81ee1.88aaf79edab1d813.73611c484614f4e0.148fd51614f0d013
+    205c7464cf8c19f6.d97aa4f84affa004.cedbc8658ee59db6.f590d7d555d5b542
+    8d036fa55c2faf1f
+  after
+    79ed930008ec0aa7.e1642bce8656add3.c61fa8b19f9b2aa4.03b7a81a7656f4e0
+    74f5beaeb8a7577f.ff66225f2252453c.ba113b5bffff61e9.8cb66ffbfef4c2e9
+    638035d69cd81ee1.88aaf79edab1d813.73611c484614f4e0.148fd51614f0d013
+    205c7464cf8c19f6.d97aa4f84affa004.cedbc8658ee59db6.f590d7d555d5b542
+    8d036fa55c2faf1f
+
+VPEXTRW_128_0x4(reg)
+  before
+    36359bf3c68bf859.8853f8446dce05ed.4e2327da0fc8daba.a54bba9ff37f1997
+    4e72572a2e74cd9a.78323c6293ab9df0.43f27baec599c2e2.d67d6ee191ed23ae
+    2f069db531766a8f.cac5bcab5c2e9e2c.13309de207fd9327.3b3c6017863b7928
+    373d6b026a1e0be3.5bd8f409e563c4cc.1c2c87e171808a36.b1560d2ceb75d530
+    1495f00edea8f4f3
+  after
+    36359bf3c68bf859.8853f8446dce05ed.4e2327da0fc8daba.a54bba9ff37f1997
+    4e72572a2e74cd9a.78323c6293ab9df0.43f27baec599c2e2.d67d6ee191ed23ae
+    2f069db531766a8f.cac5bcab5c2e9e2c.13309de207fd9327.3b3c6017863b7928
+    373d6b026a1e0be3.5bd8f409e563c4cc.1c2c87e171808a36.b1560d2ceb75d530
+    000000000000daba
+VPEXTRW_128_0x4(mem)
+  before
+    41c685a87bdf919d.c062bb7c76f7eb43.0836606a4a56cbfd.b9313717a0afe3bb
+    12b548e7dd276959.27c28b8ff08d475a.abad7db8a5146eea.468aa8f02f15d961
+    642eb6b5208b3854.c9aad7a7746d5ad5.2107c6e115a86ac0.1f84d6d8bb3faad5
+    13fc49ff6117bab9.006499309f226260.4611b7d0b31f7bab.a06bbd3bdfb890c2
+    248b5a85380cc7d5
+  after
+    41c685a87bdf919d.c062bb7c76f7eb43.0836606a4a56cbfd.b9313717a0af6ac0
+    12b548e7dd276959.27c28b8ff08d475a.abad7db8a5146eea.468aa8f02f15d961
+    642eb6b5208b3854.c9aad7a7746d5ad5.2107c6e115a86ac0.1f84d6d8bb3faad5
+    13fc49ff6117bab9.006499309f226260.4611b7d0b31f7bab.a06bbd3bdfb890c2
+    248b5a85380cc7d5
+
+VPEXTRW_128_0x4(reg)
+  before
+    0930a82261c78db9.fbed7fb2bcd7aab5.293ccf970d3899a6.f697cc719e845cd6
+    aaa6a37ff7761c1c.f8cbd3b84cd8c574.a0807446593c3b54.0d6582b0efe3ca6e
+    6238470695a4b1a7.e663c2ff2d26c721.c17b84aa1fb98615.67475379c549819e
+    8f349125d7de8709.a181c6717ccb6be9.e978fb30fc3bb496.e009bdb839c13d93
+    54763c596957b979
+  after
+    0930a82261c78db9.fbed7fb2bcd7aab5.293ccf970d3899a6.f697cc719e845cd6
+    aaa6a37ff7761c1c.f8cbd3b84cd8c574.a0807446593c3b54.0d6582b0efe3ca6e
+    6238470695a4b1a7.e663c2ff2d26c721.c17b84aa1fb98615.67475379c549819e
+    8f349125d7de8709.a181c6717ccb6be9.e978fb30fc3bb496.e009bdb839c13d93
+    00000000000099a6
+VPEXTRW_128_0x4(mem)
+  before
+    9f5b4a487117b27b.8ce47b475aafdbeb.05f15dfc54d56ff7.72c4d6438b4f0283
+    9d8465726c0ee4c6.b49503d7baa3e9fc.ee7f028bd24f8d78.b9ab104e6980ac87
+    2abd07c176480b85.659324439247ede6.38f6310a11468198.1a79a5bf315aed4f
+    22d2ae23accfe2e5.f929dbf67e262356.bf2367652ec50982.f17a9101806a0286
+    9afad180f13b27d9
+  after
+    9f5b4a487117b27b.8ce47b475aafdbeb.05f15dfc54d56ff7.72c4d6438b4f8198
+    9d8465726c0ee4c6.b49503d7baa3e9fc.ee7f028bd24f8d78.b9ab104e6980ac87
+    2abd07c176480b85.659324439247ede6.38f6310a11468198.1a79a5bf315aed4f
+    22d2ae23accfe2e5.f929dbf67e262356.bf2367652ec50982.f17a9101806a0286
+    9afad180f13b27d9
+
+VPEXTRW_128_0x5(reg)
+  before
+    71445fa8215a97f4.618fd6832ab12612.cea5225c1bccc6f7.5fd31e8844d8df63
+    d2a639e5ab518f82.c3bff9cc0bfa9337.3e51f7e105c61376.f4d0d460708cbf66
+    186a5aa42baf4b30.233095ec6bb4e480.a77b55f2d79f457e.59e704d7cdec67b8
+    a1ddbf4f3ffd07a9.5fac25ce67edd61b.636d38f92de39abc.6ce32bda78049185
+    0892c3568ce1faf8
+  after
+    71445fa8215a97f4.618fd6832ab12612.cea5225c1bccc6f7.5fd31e8844d8df63
+    d2a639e5ab518f82.c3bff9cc0bfa9337.3e51f7e105c61376.f4d0d460708cbf66
+    186a5aa42baf4b30.233095ec6bb4e480.a77b55f2d79f457e.59e704d7cdec67b8
+    a1ddbf4f3ffd07a9.5fac25ce67edd61b.636d38f92de39abc.6ce32bda78049185
+    0000000000001bcc
+VPEXTRW_128_0x5(mem)
+  before
+    09be4a36258e5e3e.c84b625480c9fe9a.5200255e1ab12532.cf749d63a41f4cdc
+    4a353b6560177882.e9ff411d8c9e6eaf.d8f81189a10a8df1.48db7f9dd7de9789
+    a9c112d1598905f1.60475718ff099093.cc5f66391707c985.28f0d91263acb970
+    002f4b652befc1b6.886da0b07494a3f3.0c039f5b99b1961a.ccfdaa2de316ec3d
+    9050eb5cf4a76d9b
+  after
+    09be4a36258e5e3e.c84b625480c9fe9a.5200255e1ab12532.cf749d63a41f1707
+    4a353b6560177882.e9ff411d8c9e6eaf.d8f81189a10a8df1.48db7f9dd7de9789
+    a9c112d1598905f1.60475718ff099093.cc5f66391707c985.28f0d91263acb970
+    002f4b652befc1b6.886da0b07494a3f3.0c039f5b99b1961a.ccfdaa2de316ec3d
+    9050eb5cf4a76d9b
+
+VPEXTRW_128_0x5(reg)
+  before
+    d033990a31eb7736.2d4a630df25668fe.bfbe195187cee17a.72ae38dc4216afdb
+    e9f3b1a3366f48bb.0be0d5b5cbc8b5f5.6086bc67d54087d5.dc2dada62f41d2f5
+    35dc2e93a1be1ad6.75bc1d49d15465c6.c611875ef978d1af.244c7aa77b3eb994
+    11390c460b642a33.49a9b7b62103349e.4fab75a29001fab6.28d71cca421a21e3
+    c29a0efba1e0c50e
+  after
+    d033990a31eb7736.2d4a630df25668fe.bfbe195187cee17a.72ae38dc4216afdb
+    e9f3b1a3366f48bb.0be0d5b5cbc8b5f5.6086bc67d54087d5.dc2dada62f41d2f5
+    35dc2e93a1be1ad6.75bc1d49d15465c6.c611875ef978d1af.244c7aa77b3eb994
+    11390c460b642a33.49a9b7b62103349e.4fab75a29001fab6.28d71cca421a21e3
+    00000000000087ce
+VPEXTRW_128_0x5(mem)
+  before
+    d061cc26b49d6343.d958482912eeb37d.617420e6d6e3dda9.56a0839f35683f93
+    2cf7d237965bb5ac.e983dca652e7f260.9ae9d2c70dff1d12.363babc18538dcf5
+    b4299d1a63287875.9d07c62b66db2389.d1d44b43e163b006.4dc9eb751bfd0d85
+    42c3a8bb381067cb.51300122ea5782a4.e00106486f1c52b0.f5963e2594440df2
+    8ceea03f8b9819e6
+  after
+    d061cc26b49d6343.d958482912eeb37d.617420e6d6e3dda9.56a0839f3568e163
+    2cf7d237965bb5ac.e983dca652e7f260.9ae9d2c70dff1d12.363babc18538dcf5
+    b4299d1a63287875.9d07c62b66db2389.d1d44b43e163b006.4dc9eb751bfd0d85
+    42c3a8bb381067cb.51300122ea5782a4.e00106486f1c52b0.f5963e2594440df2
+    8ceea03f8b9819e6
+
+VPEXTRW_128_0x5(reg)
+  before
+    6c1d0e2e9d856d0e.b3916f06311e3fda.614a8af97be64a5d.a43b80c1d235be3d
+    f26f825d65984415.e35f6ee8695ebccd.29a15b1bb415b85f.fa50339927bbb1d8
+    7b2ffa3a805cdba8.aff9214bfcdc9ad1.058072f3326f0856.bc0a9dbe89b9e7ae
+    61ab7130895d6e72.f12a051d07a59411.5035caef908076ef.c736391b153b1beb
+    f7a0839de64d0bba
+  after
+    6c1d0e2e9d856d0e.b3916f06311e3fda.614a8af97be64a5d.a43b80c1d235be3d
+    f26f825d65984415.e35f6ee8695ebccd.29a15b1bb415b85f.fa50339927bbb1d8
+    7b2ffa3a805cdba8.aff9214bfcdc9ad1.058072f3326f0856.bc0a9dbe89b9e7ae
+    61ab7130895d6e72.f12a051d07a59411.5035caef908076ef.c736391b153b1beb
+    0000000000007be6
+VPEXTRW_128_0x5(mem)
+  before
+    2914f82e18fc7148.012de3ab1c283920.86c09548a5c567ba.680a5f7a6bd43dd6
+    375d13bbc85409c0.b8024d18d648775e.4a854dbaf346cff8.a84c2d015ff89ab6
+    fe495031125f914f.e076aae1534965d7.1946a95e0c3687f6.6c4731ee0677c93c
+    5aa22b7a102bc321.d6d4f6732db83f38.cfcf26200da04ce1.0f4766aefede0514
+    ef98c8aee3b88be9
+  after
+    2914f82e18fc7148.012de3ab1c283920.86c09548a5c567ba.680a5f7a6bd40c36
+    375d13bbc85409c0.b8024d18d648775e.4a854dbaf346cff8.a84c2d015ff89ab6
+    fe495031125f914f.e076aae1534965d7.1946a95e0c3687f6.6c4731ee0677c93c
+    5aa22b7a102bc321.d6d4f6732db83f38.cfcf26200da04ce1.0f4766aefede0514
+    ef98c8aee3b88be9
+
+VPEXTRW_128_0x6(reg)
+  before
+    6785535850919768.27352084e1c35b61.f66a2d3b0320412c.48ec3eec1191dae4
+    d25b041ae2f5643c.41ceac399f34173c.9c824ba36f0da660.60686fae3414ed2c
+    8e67d55e34713012.843949876689b1dd.246a4d190d0cab80.f3113453933540e5
+    f6f3c492e2913595.cc42755953cee671.eb6c2d087aa88b37.ddb10ac54a01903a
+    fa156bf174839958
+  after
+    6785535850919768.27352084e1c35b61.f66a2d3b0320412c.48ec3eec1191dae4
+    d25b041ae2f5643c.41ceac399f34173c.9c824ba36f0da660.60686fae3414ed2c
+    8e67d55e34713012.843949876689b1dd.246a4d190d0cab80.f3113453933540e5
+    f6f3c492e2913595.cc42755953cee671.eb6c2d087aa88b37.ddb10ac54a01903a
+    0000000000002d3b
+VPEXTRW_128_0x6(mem)
+  before
+    2609d5c42dc7176a.654bcc2189dfaf73.f5b4ac9b81107224.4bd5eadb516d8432
+    3d59c32992dac59d.39bdea77c5e9dc55.db5c68390d5a1021.a1f07d002fe8d01c
+    1bd0b20bbfc7601d.cc941800313af6e9.5907271f12b87d95.490be3e2afa4aba2
+    9c3c1c58cf9aa415.7b1b5428695f3adb.4d7f643aad3775ab.9e7119ee6e2e5370
+    fe6d1a8e07100231
+  after
+    2609d5c42dc7176a.654bcc2189dfaf73.f5b4ac9b81107224.4bd5eadb516d271f
+    3d59c32992dac59d.39bdea77c5e9dc55.db5c68390d5a1021.a1f07d002fe8d01c
+    1bd0b20bbfc7601d.cc941800313af6e9.5907271f12b87d95.490be3e2afa4aba2
+    9c3c1c58cf9aa415.7b1b5428695f3adb.4d7f643aad3775ab.9e7119ee6e2e5370
+    fe6d1a8e07100231
+
+VPEXTRW_128_0x6(reg)
+  before
+    c44ce22f16d8f592.9b677ffbde604cb2.a39f995c0ae3e3d7.92919b74f9e2b390
+    4c5a6d3d3812683e.f61e56e00924151f.9e6ce306af522f88.040848ba12c5f56f
+    f2e3b825094996e2.882d1df36bf2bb89.cace2f93f539589b.7eb2e7f915edf576
+    1232be522409bc2a.2d60502021d7fa1b.8111787077239bbb.de59f51c1e656fce
+    ffcbed0e483921a6
+  after
+    c44ce22f16d8f592.9b677ffbde604cb2.a39f995c0ae3e3d7.92919b74f9e2b390
+    4c5a6d3d3812683e.f61e56e00924151f.9e6ce306af522f88.040848ba12c5f56f
+    f2e3b825094996e2.882d1df36bf2bb89.cace2f93f539589b.7eb2e7f915edf576
+    1232be522409bc2a.2d60502021d7fa1b.8111787077239bbb.de59f51c1e656fce
+    000000000000995c
+VPEXTRW_128_0x6(mem)
+  before
+    bcd24bbdaf76c528.08957b2f26de16c1.c0836c5446de8d03.2081ba08d29c3395
+    f33b8c1470271880.2f56eb2aa955e054.1f61ec79f713316a.0369f1c6a1315dd4
+    7fd22affa758d5db.e5c30aae4cfa558e.24c84c7c4f83a17f.87161918816d5525
+    3b62a36a6f16ba65.8526d527a957b21c.ad82084a6b399b6b.06d52f690ddc5734
+    ddef2d25e20b9eac
+  after
+    bcd24bbdaf76c528.08957b2f26de16c1.c0836c5446de8d03.2081ba08d29c4c7c
+    f33b8c1470271880.2f56eb2aa955e054.1f61ec79f713316a.0369f1c6a1315dd4
+    7fd22affa758d5db.e5c30aae4cfa558e.24c84c7c4f83a17f.87161918816d5525
+    3b62a36a6f16ba65.8526d527a957b21c.ad82084a6b399b6b.06d52f690ddc5734
+    ddef2d25e20b9eac
+
+VPEXTRW_128_0x6(reg)
+  before
+    68b311b89b85673a.05b97241e46c8149.6acc47015cfa33a9.945c9cce6641d95d
+    036cd68ed5d7ee89.b7a114712367e6b4.f2005ca8026e13e3.b72285f35ca8187f
+    0a6579142b8b6e46.2fe703e44711a7d1.7710108836408f73.f0a03ea76b7913fe
+    d9ecf5b4392f251d.4757bd886d797ece.5746600e95fbe308.1da143d5acc18805
+    18f310693d8a31c1
+  after
+    68b311b89b85673a.05b97241e46c8149.6acc47015cfa33a9.945c9cce6641d95d
+    036cd68ed5d7ee89.b7a114712367e6b4.f2005ca8026e13e3.b72285f35ca8187f
+    0a6579142b8b6e46.2fe703e44711a7d1.7710108836408f73.f0a03ea76b7913fe
+    d9ecf5b4392f251d.4757bd886d797ece.5746600e95fbe308.1da143d5acc18805
+    0000000000004701
+VPEXTRW_128_0x6(mem)
+  before
+    bf60224f3ae3cb5d.cc4b45db9c4f4cb9.dcbdbd47b0a828d4.ecf047a4ba2b4b4b
+    ecb5f374bdd51106.3fcf67f6ef7622c7.cbe57f0f2dac6011.9458c1b8425d02eb
+    7cbe01c2e56ec0e8.8ec45770cf30e1f2.ee9a7fcbff90e4b1.a9cbcab4c81b4592
+    4c47c826ccb9942e.15760fb4d809c7e7.22aa3a6743606ee0.89945e06e9f450ed
+    8e017a1940715ea7
+  after
+    bf60224f3ae3cb5d.cc4b45db9c4f4cb9.dcbdbd47b0a828d4.ecf047a4ba2b7fcb
+    ecb5f374bdd51106.3fcf67f6ef7622c7.cbe57f0f2dac6011.9458c1b8425d02eb
+    7cbe01c2e56ec0e8.8ec45770cf30e1f2.ee9a7fcbff90e4b1.a9cbcab4c81b4592
+    4c47c826ccb9942e.15760fb4d809c7e7.22aa3a6743606ee0.89945e06e9f450ed
+    8e017a1940715ea7
+
+VPEXTRW_128_0x7(reg)
+  before
+    165d19596920ac6d.361bc28d8ec34905.30308d30a58e0d52.43df2bcf1429bac9
+    7bf33732018d76ea.17086de148969a98.3b40cc4fd24af2de.2e06ceef8ef78698
+    1a10d010a442f8cb.cbd8441015414414.92f0c87dfccab038.bdeb9fb3ced48c7b
+    4f00e05fedcd6dbc.2e58c30512cd03a5.908d7e26be98840b.cd5a1a07f0ce899b
+    3a1ebcd70ff03927
+  after
+    165d19596920ac6d.361bc28d8ec34905.30308d30a58e0d52.43df2bcf1429bac9
+    7bf33732018d76ea.17086de148969a98.3b40cc4fd24af2de.2e06ceef8ef78698
+    1a10d010a442f8cb.cbd8441015414414.92f0c87dfccab038.bdeb9fb3ced48c7b
+    4f00e05fedcd6dbc.2e58c30512cd03a5.908d7e26be98840b.cd5a1a07f0ce899b
+    0000000000003030
+VPEXTRW_128_0x7(mem)
+  before
+    e005001047475749.770f648b78ba1268.1c5566ac5a489276.9363e8b7b543aa04
+    9bd9629cb5dea02e.ec895701e293237c.7198a9f10abdaeb4.f6be049a7c545dce
+    47675e6975c1d001.0bb9b52bc7e7dba3.09f009c03d39138b.14e9cd3caf59da16
+    c07b7162a1fca2ee.30ed7b77c23f778a.c128010510c77d26.4b323f0aecdd5d88
+    f6e3576fcc6d22cf
+  after
+    e005001047475749.770f648b78ba1268.1c5566ac5a489276.9363e8b7b54309f0
+    9bd9629cb5dea02e.ec895701e293237c.7198a9f10abdaeb4.f6be049a7c545dce
+    47675e6975c1d001.0bb9b52bc7e7dba3.09f009c03d39138b.14e9cd3caf59da16
+    c07b7162a1fca2ee.30ed7b77c23f778a.c128010510c77d26.4b323f0aecdd5d88
+    f6e3576fcc6d22cf
+
+VPEXTRW_128_0x7(reg)
+  before
+    704910d6ed946498.e2e11672589cd423.b76fa34f6f2933dd.730b0dac9e73a7b1
+    17b065adebde608f.8965c987b3ad20ca.fc8c2b216b304b47.fb66aaa2034a4e59
+    4564555f61d8525f.91d2068cd139420f.5b900e5851e0fa75.370552d15c572e4a
+    58b1d958eb0d75b5.d6f6496dcb4ef820.30c74860bec67d12.02b48326c5a603af
+    383fb88e594488b5
+  after
+    704910d6ed946498.e2e11672589cd423.b76fa34f6f2933dd.730b0dac9e73a7b1
+    17b065adebde608f.8965c987b3ad20ca.fc8c2b216b304b47.fb66aaa2034a4e59
+    4564555f61d8525f.91d2068cd139420f.5b900e5851e0fa75.370552d15c572e4a
+    58b1d958eb0d75b5.d6f6496dcb4ef820.30c74860bec67d12.02b48326c5a603af
+    000000000000b76f
+VPEXTRW_128_0x7(mem)
+  before
+    b5726df4343c7a88.aae2ef042609063c.349b0f16c0f8fc26.d77cd6a54d6d10cb
+    55181f44739a9553.994591cfae5841a1.878ed374c9410a50.acfdb3939b61ef4c
+    f4ff496a316b9443.7f24bd251d87628f.ab9b11710437e0c8.0b94da96432f5540
+    6df167528bba3483.bacc6f731222a4b3.7b8d45fb8de638ba.508e4a1ae1627f54
+    d737fc8c1287a933
+  after
+    b5726df4343c7a88.aae2ef042609063c.349b0f16c0f8fc26.d77cd6a54d6dab9b
+    55181f44739a9553.994591cfae5841a1.878ed374c9410a50.acfdb3939b61ef4c
+    f4ff496a316b9443.7f24bd251d87628f.ab9b11710437e0c8.0b94da96432f5540
+    6df167528bba3483.bacc6f731222a4b3.7b8d45fb8de638ba.508e4a1ae1627f54
+    d737fc8c1287a933
+
+VPEXTRW_128_0x7(reg)
+  before
+    fcdbed5672290e8a.9ebbf5e89c933140.a489a12327b344b9.d532ecfc7f58cf53
+    1bc61ae69cd4eb05.62296f18810347a6.9aa751a3f8c87e4c.94548162f79b61bf
+    8f437ea72c147c4f.940652ce551531e0.f8717a5d22ed8d19.93c1801710bba929
+    b6a01604bf76fc15.122018f735d5ac1a.1b3518bf40acaecc.b0436509e6c264be
+    c6a7ac2396bf4eaa
+  after
+    fcdbed5672290e8a.9ebbf5e89c933140.a489a12327b344b9.d532ecfc7f58cf53
+    1bc61ae69cd4eb05.62296f18810347a6.9aa751a3f8c87e4c.94548162f79b61bf
+    8f437ea72c147c4f.940652ce551531e0.f8717a5d22ed8d19.93c1801710bba929
+    b6a01604bf76fc15.122018f735d5ac1a.1b3518bf40acaecc.b0436509e6c264be
+    000000000000a489
+VPEXTRW_128_0x7(mem)
+  before
+    b0b9d2513bbb2318.eb27dc6bf185a902.b6413f7d3c507382.5d3d2734ef931d10
+    4c44527ff2c49e35.8925ce475dcebdc3.5e36434e87914442.1bd6a428ca2e1691
+    7416a89ad7e57c2c.eee6e6049fdc7403.e5cb9e5431a4d986.b14c89076d07d4fc
+    06f9508c052a792a.75b6230e543b0c6f.26ccce7d5796ef7b.7bebd43d75ad94fd
+    d5ff81367ea99240
+  after
+    b0b9d2513bbb2318.eb27dc6bf185a902.b6413f7d3c507382.5d3d2734ef93e5cb
+    4c44527ff2c49e35.8925ce475dcebdc3.5e36434e87914442.1bd6a428ca2e1691
+    7416a89ad7e57c2c.eee6e6049fdc7403.e5cb9e5431a4d986.b14c89076d07d4fc
+    06f9508c052a792a.75b6230e543b0c6f.26ccce7d5796ef7b.7bebd43d75ad94fd
+    d5ff81367ea99240
+
+VAESENC(reg)
+  before
+    1bd38a5e23890a70.dcbac64298a0505a.79e07ed21778bfb3.fe054eb41472414d
+    aab5ed2201d83739.d32587a9ad52bee9.58b2f4ba851eca7a.4a429ae584458d27
+    dcefa5ecb2225648.c8060eab5f4d7f03.6c76823339b96871.e44e2efcc41a8d36
+    0dceae2ad5f4a249.9529d736ca9b4fd3.137923aad0d5d744.aaf687e5f0fdfea5
+    76071f8c23fa9ba2
+  after
+    0000000000000000.0000000000000000.2f252f9c2a61b3bc.696c19a19534d67e
+    aab5ed2201d83739.d32587a9ad52bee9.58b2f4ba851eca7a.4a429ae584458d27
+    dcefa5ecb2225648.c8060eab5f4d7f03.6c76823339b96871.e44e2efcc41a8d36
+    0dceae2ad5f4a249.9529d736ca9b4fd3.137923aad0d5d744.aaf687e5f0fdfea5
+    76071f8c23fa9ba2
+VAESENC(mem)
+  before
+    254a74dd791e2156.9b9e044704d959e8.18595f350c4be986.a707d38ae5ff519e
+    948e02c50f744cef.e1aaa3aedb5eb5d0.2b6420943e660a47.866c8f3e15c3122c
+    9d9e432e0009d899.3b4088cdf70df3ad.ab14983f7efa6e44.0af35134fbab5899
+    1d45b50669e88080.05aaae0ff3754e2c.74364222e812d0a6.90ea17d733455d92
+    759bdc935a1d5ec2
+  after
+    254a74dd791e2156.9b9e044704d959e8.18595f350c4be986.a707d38ae5ff519e
+    948e02c50f744cef.e1aaa3aedb5eb5d0.2b6420943e660a47.866c8f3e15c3122c
+    0000000000000000.0000000000000000.98dfb6d3e6cc0a75.fcbf3346cf93622b
+    1d45b50669e88080.05aaae0ff3754e2c.74364222e812d0a6.90ea17d733455d92
+    759bdc935a1d5ec2
+
+VAESENC(reg)
+  before
+    13539dd40cbd96d6.f051d238651d01cf.9b3611e06c1f03f9.62969a2997bbee9b
+    c75e5406e4b3437a.f28c19af11b417b2.592eaeacfd994ebf.52001d40a700824f
+    ed08ff967e8b9f59.ffc3035988ba7d57.9adf7fdf436e6b2b.1e3f455335ed48ee
+    e29d99ee77cfe720.f4c20d21e73bf0e7.bc9582e6d92b95e9.a321904f5d8efea3
+    bd70791e3af05e9a
+  after
+    0000000000000000.0000000000000000.ea6739e4dc44156f.a39f1d5d654c7d2f
+    c75e5406e4b3437a.f28c19af11b417b2.592eaeacfd994ebf.52001d40a700824f
+    ed08ff967e8b9f59.ffc3035988ba7d57.9adf7fdf436e6b2b.1e3f455335ed48ee
+    e29d99ee77cfe720.f4c20d21e73bf0e7.bc9582e6d92b95e9.a321904f5d8efea3
+    bd70791e3af05e9a
+VAESENC(mem)
+  before
+    48f97daee81f2400.00691e7b6b0d567a.ab55b4f349412c91.1a9bb22b5c5a0aa4
+    208816ea84250e01.a4b78aaaf5d12914.014773bccbdaed7f.0f3f0b1c678a0309
+    21e9c2bd2910d6c9.2ad4dae6b1a69c9a.d266c6668811eedd.f9cb8a239744bfc3
+    27e8fc15f4eb3983.ee0c099a3c18ebb7.fa7c2ade9cf3ecd8.338c2aae8716787f
+    18cee728d38b6be8
+  after
+    48f97daee81f2400.00691e7b6b0d567a.ab55b4f349412c91.1a9bb22b5c5a0aa4
+    208816ea84250e01.a4b78aaaf5d12914.014773bccbdaed7f.0f3f0b1c678a0309
+    0000000000000000.0000000000000000.3480a7de397a0fac.419dfad2db5ad8f0
+    27e8fc15f4eb3983.ee0c099a3c18ebb7.fa7c2ade9cf3ecd8.338c2aae8716787f
+    18cee728d38b6be8
+
+VAESENC(reg)
+  before
+    06ddbdfd1830d4ab.0e5040dd00c3f35b.4cab133431b35118.54561911248ba39c
+    5705a899f290ee74.b2ef0b016aa3bf7e.a0fdf41f2d040b68.bec011e93ce5cf55
+    6991a568fc37f6ee.ee8fd76e4d975a18.464ea8c7cb965554.13868d54ff0e2b2e
+    96cfaed6d2b228c6.a0fd220ec6ac8054.9ae92c98a8f56a88.2f73093c89117453
+    ee55028ff7fa66f1
+  after
+    0000000000000000.0000000000000000.86186abb252cab73.833dd2aa4bb42542
+    5705a899f290ee74.b2ef0b016aa3bf7e.a0fdf41f2d040b68.bec011e93ce5cf55
+    6991a568fc37f6ee.ee8fd76e4d975a18.464ea8c7cb965554.13868d54ff0e2b2e
+    96cfaed6d2b228c6.a0fd220ec6ac8054.9ae92c98a8f56a88.2f73093c89117453
+    ee55028ff7fa66f1
+VAESENC(mem)
+  before
+    2cf6f23864d6bc34.3b09c14f118cc0a8.a30567cef0edec5f.f81b7bfe5fae88af
+    c4235723edb03347.b58cda405451f93f.d372239be8665c65.bc3191668c4ce976
+    94a8ad3cae948757.5ea4f313388e1037.0c12d05fc9248a91.42756b3acc5cc988
+    77516e6fc18f7390.939d0a3658ce413e.29afec08af323210.e63303e8bb696692
+    03b957daf4fffa40
+  after
+    2cf6f23864d6bc34.3b09c14f118cc0a8.a30567cef0edec5f.f81b7bfe5fae88af
+    c4235723edb03347.b58cda405451f93f.d372239be8665c65.bc3191668c4ce976
+    0000000000000000.0000000000000000.6b2c8698e27bf3e3.6f4e786269db9a12
+    77516e6fc18f7390.939d0a3658ce413e.29afec08af323210.e63303e8bb696692
+    03b957daf4fffa40
+
+VAESENCLAST(reg)
+  before
+    f752627e13aac23d.48ea17a945acb51d.b1c21a13519dc7fe.0817f281b79c120d
+    1d49203fb5f7f936.e53e25d453f7072b.12611f18be88e023.84145eb5fd6fe4b5
+    d1eb8e897671dcd6.291b13de0a7d25e5.13c415b03c1ac65a.7873ac929cb66533
+    6e84a6c8f1a5a7ca.ef4b5db18349cd78.1038f94766dfb54f.c2005903b07e50b5
+    3c86e0f456d16364
+  after
+    0000000000000000.0000000000000000.bd3e7c1d63b2067c.2c9c4d4755723de6
+    1d49203fb5f7f936.e53e25d453f7072b.12611f18be88e023.84145eb5fd6fe4b5
+    d1eb8e897671dcd6.291b13de0a7d25e5.13c415b03c1ac65a.7873ac929cb66533
+    6e84a6c8f1a5a7ca.ef4b5db18349cd78.1038f94766dfb54f.c2005903b07e50b5
+    3c86e0f456d16364
+VAESENCLAST(mem)
+  before
+    c4d3bd52a9bd586f.52606668c21e96bd.159b803bdc68b90f.6609c649d964ebad
+    34b16c07c64eebff.d7cbc9d58668e45c.75d7f76731e4a6d7.6f8378223034a221
+    6aed6a00c88fda43.5b10cc7bd810cf53.edcb3d209dcc4ffc.88f20b3e07db1656
+    4053312acc8cdf65.397d69c655a0904d.5742d1543c2972a9.0da17b09fbe685f9
+    5addc5f0a8e029b6
+  after
+    c4d3bd52a9bd586f.52606668c21e96bd.159b803bdc68b90f.6609c649d964ebad
+    34b16c07c64eebff.d7cbc9d58668e45c.75d7f76731e4a6d7.6f8378223034a221
+    0000000000000000.0000000000000000.d277babe7470d101.6207e2da440d5750
+    4053312acc8cdf65.397d69c655a0904d.5742d1543c2972a9.0da17b09fbe685f9
+    5addc5f0a8e029b6
+
+VAESENCLAST(reg)
+  before
+    cbf3e45da9563f38.93af3f6fed51b792.cc5c9e2398a766f7.900a2cee2b09c90b
+    bc2dd4be9ad2032c.40cd10bd48eb1df5.72fa66fc3eae8bfd.75edcbda8677104e
+    89d8917d18e3b03d.21781efff865cfbb.85a3bdbfe2433c0a.e0b82b05687f059d
+    8e3f1808bf128318.137ee7211acc870f.62a39fd721f2b5cb.ae37c759ed2e6224
+    bc361bc3328fe411
+  after
+    0000000000000000.0000000000000000.37f6770f7fb60f5e.a4951652289b1ab2
+    bc2dd4be9ad2032c.40cd10bd48eb1df5.72fa66fc3eae8bfd.75edcbda8677104e
+    89d8917d18e3b03d.21781efff865cfbb.85a3bdbfe2433c0a.e0b82b05687f059d
+    8e3f1808bf128318.137ee7211acc870f.62a39fd721f2b5cb.ae37c759ed2e6224
+    bc361bc3328fe411
+VAESENCLAST(mem)
+  before
+    e480a43052af478d.26b063ca29edb869.f3a9e50fc92b011e.664609af964532eb
+    03e3dc8b6a9946c7.af75702ff5ff8adb.9bc696b5228efb14.ebd7f6b5ddcaee17
+    f52941bf95599ee9.84db3aa3bdd4371a.e8a176ff40012f1c.4ea36254930d26fa
+    96204ebaf0fc0b20.012fbe921df9f9d4.b606ffd93f915a63.ecf749f854981541
+    1f1da80ebbf9f898
+  after
+    e480a43052af478d.26b063ca29edb869.f3a9e50fc92b011e.664609af964532eb
+    03e3dc8b6a9946c7.af75702ff5ff8adb.9bc696b5228efb14.ebd7f6b5ddcaee17
+    0000000000000000.0000000000000000.60a7cdda205f91e4.a7f2067a825c701b
+    96204ebaf0fc0b20.012fbe921df9f9d4.b606ffd93f915a63.ecf749f854981541
+    1f1da80ebbf9f898
+
+VAESENCLAST(reg)
+  before
+    4462790064bc0caa.c2928067968c4897.82bbf668b2f90cb3.e1c0af2f3c493814
+    b711ba3bec6b8a24.564b51b2a418127b.62cbe0921761ae63.459d01ee5336845c
+    d578672cef94b1b1.2c193f8735a925f7.ffad777ae8bc1991.be6771009e63fb67
+    f8e17a3d07c3bbfe.21c7c5d2664d3d38.b4abb88ec2968ae9.28eb7b533cdc5960
+    5ff59cd247ae5974
+  after
+    0000000000000000.0000000000000000.0ff3283586b9f86a.53789528348c872d
+    b711ba3bec6b8a24.564b51b2a418127b.62cbe0921761ae63.459d01ee5336845c
+    d578672cef94b1b1.2c193f8735a925f7.ffad777ae8bc1991.be6771009e63fb67
+    f8e17a3d07c3bbfe.21c7c5d2664d3d38.b4abb88ec2968ae9.28eb7b533cdc5960
+    5ff59cd247ae5974
+VAESENCLAST(mem)
+  before
+    3f514e69dbe4b9ce.7d99f1dcd382e5b7.11205f7f520f156a.dc139d38417c3c16
+    a4cb0f03158a339b.c0edc674ed606a87.d8f1897b15fc6ab8.d52f24e600f96cc5
+    6a2e5b8e10ad8307.1d26f770f1e6881b.5106c0b0cd1ff84e.f94c48039c9956a2
+    6d48acf5e958673d.f093803e7ca2791e.5a2b7f0c93847b5a.a6b605fbb0e83658
+    36b8573ad8734894
+  after
+    3f514e69dbe4b9ce.7d99f1dcd382e5b7.11205f7f520f156a.dc139d38417c3c16
+    a4cb0f03158a339b.c0edc674ed606a87.d8f1897b15fc6ab8.d52f24e600f96cc5
+    0000000000000000.0000000000000000.48350f5e5196b206.bfb29fb620cc0ab0
+    6d48acf5e958673d.f093803e7ca2791e.5a2b7f0c93847b5a.a6b605fbb0e83658
+    36b8573ad8734894
+
+VAESDEC(reg)
+  before
+    07a03b2cb1c6c701.89e38025bb97996a.957f5b49291f7a3d.ce2c42798538ae06
+    73b8ac3dd66bf04c.9acc5208a377d5b9.683586fe94e9c624.89d585e5be464e7e
+    d84ea6d9e4f0fe20.7ccf9e8bbc03d957.c503fcc75b8d9a7e.67f1c53b5bba17ef
+    90ac256c77e02e2a.0ab7e09b22475f70.0833b911179632f8.444e7c6778a1c485
+    fbb628552f06126c
+  after
+    0000000000000000.0000000000000000.6ebe828bd19ac710.9b703716e0fd1c57
+    73b8ac3dd66bf04c.9acc5208a377d5b9.683586fe94e9c624.89d585e5be464e7e
+    d84ea6d9e4f0fe20.7ccf9e8bbc03d957.c503fcc75b8d9a7e.67f1c53b5bba17ef
+    90ac256c77e02e2a.0ab7e09b22475f70.0833b911179632f8.444e7c6778a1c485
+    fbb628552f06126c
+VAESDEC(mem)
+  before
+    6af644f19ff5bdcf.f81f256329c8bd16.22529522f250242f.8d12b9486691ca3d
+    6cda4d27e27b80da.6df2a3289933e48f.9f6a370e4829e4c0.afecf9d9e4089dfa
+    dc2dbde314a319ba.49739a2961ade242.5ccd444a3fde5a51.cc0c742f2c8ae9db
+    98bd1212527a429b.e9ec06d11dc3f1da.374537c1f37c430c.3fc026b5daa0e78b
+    64520bd98bd8d6b7
+  after
+    6af644f19ff5bdcf.f81f256329c8bd16.22529522f250242f.8d12b9486691ca3d
+    6cda4d27e27b80da.6df2a3289933e48f.9f6a370e4829e4c0.afecf9d9e4089dfa
+    0000000000000000.0000000000000000.bc02a38e8a080e82.7577d8a8c930353d
+    98bd1212527a429b.e9ec06d11dc3f1da.374537c1f37c430c.3fc026b5daa0e78b
+    64520bd98bd8d6b7
+
+VAESDEC(reg)
+  before
+    960f1f06dbbdf00a.7b54c79eb70ab7a8.aaabe38c69004e04.0b9f8d61810e5b1d
+    33435fa865dc7231.60bf58755f61360e.e6fa2ec5e3f1346c.b3a7c01505a05eb1
+    963ac62bc5c098d7.25ca4281678b79f9.fa26e2ea2420e1bd.0d284eca9a3f07f4
+    1a4050fb98f59da9.a441ffb0eb933d94.427bfb67ca1b8fa4.f3f0b26a5cf61311
+    43c969e268d23e35
+  after
+    0000000000000000.0000000000000000.aab897c17374763c.1b904584e1270560
+    33435fa865dc7231.60bf58755f61360e.e6fa2ec5e3f1346c.b3a7c01505a05eb1
+    963ac62bc5c098d7.25ca4281678b79f9.fa26e2ea2420e1bd.0d284eca9a3f07f4
+    1a4050fb98f59da9.a441ffb0eb933d94.427bfb67ca1b8fa4.f3f0b26a5cf61311
+    43c969e268d23e35
+VAESDEC(mem)
+  before
+    d780ed1ed9dd438c.1da1f9847907be53.bbf00ded06853d0b.1a4475a6716e7bcd
+    8de1bc0bcc25df41.f9a8be3305833780.44a3e724d56d378c.decf4c14b4a3e0e3
+    3fb851945cb6ce80.0ca29972d7f544dd.1c250a417358e540.ea667d1d2f49fb92
+    cad128a4a69bcc77.b0dc88af8ce72016.2043f030fc510356.9a56032e7fe90887
+    4aebdab24011436e
+  after
+    d780ed1ed9dd438c.1da1f9847907be53.bbf00ded06853d0b.1a4475a6716e7bcd
+    8de1bc0bcc25df41.f9a8be3305833780.44a3e724d56d378c.decf4c14b4a3e0e3
+    0000000000000000.0000000000000000.ffc63c23918fc534.e1657e88fc4e65ac
+    cad128a4a69bcc77.b0dc88af8ce72016.2043f030fc510356.9a56032e7fe90887
+    4aebdab24011436e
+
+VAESDEC(reg)
+  before
+    5671fe140d4ce7f2.0bf7bd29c5e0944f.439f8754bfe708d6.2aca17dd8d654ff8
+    1a346cc2822631c0.dcf88d0ed691e337.1f3a90cf0d8038ca.1784fa35419e8353
+    f2801e273c2c5d84.1a9e133ff4bb7559.a2f8a18b113feb9d.c43d1522350b5c92
+    3aa012afd6e9a7e9.a1b6cba83b6905e2.2624b4f467af5efc.0bc3e59285b596e2
+    c9e1e46f4baaec6e
+  after
+    0000000000000000.0000000000000000.0380a9c4b649b304.4611acfccd6d4368
+    1a346cc2822631c0.dcf88d0ed691e337.1f3a90cf0d8038ca.1784fa35419e8353
+    f2801e273c2c5d84.1a9e133ff4bb7559.a2f8a18b113feb9d.c43d1522350b5c92
+    3aa012afd6e9a7e9.a1b6cba83b6905e2.2624b4f467af5efc.0bc3e59285b596e2
+    c9e1e46f4baaec6e
+VAESDEC(mem)
+  before
+    da6290a7a6f51b63.4de144c6edea4a9c.4e0c3135c8a851fd.080cc876ac5ccd92
+    1a136425afa3dfed.898faed81cba8348.fb6cc1d2b78313d7.a5fad67d7cd3740c
+    66c0ddd485bff337.49f64e5100e58e9a.85a1f86c2306079b.573bdb75729f8e16
+    983575a24155146e.e9621e9d34f7a63e.c87951ed283eea76.7b1bd4ca2a4c585b
+    6de6bce941670e88
+  after
+    da6290a7a6f51b63.4de144c6edea4a9c.4e0c3135c8a851fd.080cc876ac5ccd92
+    1a136425afa3dfed.898faed81cba8348.fb6cc1d2b78313d7.a5fad67d7cd3740c
+    0000000000000000.0000000000000000.606c57f55aa1eb51.b47a1c29bc6f4109
+    983575a24155146e.e9621e9d34f7a63e.c87951ed283eea76.7b1bd4ca2a4c585b
+    6de6bce941670e88
+
+VAESDECLAST(reg)
+  before
+    89e78f3c537beb48.8d3eaa7b0171febd.c41f1c29557d08df.a0be4842e3367994
+    2c6c4a31fa152d48.21a6f749e1206d51.3878445ffe02f02a.e93d595870fa6d20
+    b0bfe732d5bf0e34.303bd8f9fc6e1c56.a0bb90adcb1399ca.7fc2011ae9968547
+    722d64ad7e07cab7.96c7c9776f65c8f7.5732fe7e5a3b416c.3e19bb746d177b34
+    020e035116890c14
+  after
+    0000000000000000.0000000000000000.70308729bd078c5f.7303b24402fc0313
+    2c6c4a31fa152d48.21a6f749e1206d51.3878445ffe02f02a.e93d595870fa6d20
+    b0bfe732d5bf0e34.303bd8f9fc6e1c56.a0bb90adcb1399ca.7fc2011ae9968547
+    722d64ad7e07cab7.96c7c9776f65c8f7.5732fe7e5a3b416c.3e19bb746d177b34
+    020e035116890c14
+VAESDECLAST(mem)
+  before
+    a76c559f00f6f413.ce02bc0d91799f7e.2f1747b055132d61.bb2a893e440622bb
+    09012d4a476cee5c.208aebbeaba0c734.d6f7cd8eca8307bf.26ef2d5827017864
+    0497083c09f7b71b.c410ee2c67087e86.6933d7ffebc2113e.f6cce63a9fb78113
+    73fb61625fa10b7e.16e2bfc3613d0220.c396e1eed4db080a.850fb14f46b47773
+    31028904bb859731
+  after
+    a76c559f00f6f413.ce02bc0d91799f7e.2f1747b055132d61.bb2a893e440622bb
+    09012d4a476cee5c.208aebbeaba0c734.d6f7cd8eca8307bf.26ef2d5827017864
+    0000000000000000.0000000000000000.12767f561f1ad795.ab0c48606747a237
+    73fb61625fa10b7e.16e2bfc3613d0220.c396e1eed4db080a.850fb14f46b47773
+    31028904bb859731
+
+VAESDECLAST(reg)
+  before
+    54f26ac398b51cf9.34f9b4a86778a5af.724a5cef37cc8dad.c0ee67469fdaa84e
+    4b2b50f979d04476.225c7dfb3d8843da.3495c01c82405cda.3c05e6f56bccac36
+    73f93713fb634954.19f23945fcdb9f2c.b70fe8b7e026ab52.12a8d9e652bcd1f0
+    26a81c7bb9f96741.f4856374c17f75d1.5904ce2aed08b5c2.20a3bc0570b7d3a6
+    41c20c3fe2c76d84
+  after
+    0000000000000000.0000000000000000.b2394f73c8015e28.030573913fceced4
+    4b2b50f979d04476.225c7dfb3d8843da.3495c01c82405cda.3c05e6f56bccac36
+    73f93713fb634954.19f23945fcdb9f2c.b70fe8b7e026ab52.12a8d9e652bcd1f0
+    26a81c7bb9f96741.f4856374c17f75d1.5904ce2aed08b5c2.20a3bc0570b7d3a6
+    41c20c3fe2c76d84
+VAESDECLAST(mem)
+  before
+    50d1437ec3fa5db7.c184fa9f501edce6.91e37773a78083f4.75c070e34475b7d6
+    2b9bdfaf305c5d6b.a1d8cdea5b5fe2f2.cbd6f12ecae883c2.678ec94d81f6ed39
+    adee5bbf44f729cb.20f191c77747b60f.7d2b4d9047c53267.8abbd5d341199397
+    b19433981cd97f04.9b1c43a43f6294ea.85ae08883a234b0e.3c9491e32069e49e
+    d863f7e8b9731df8
+  after
+    50d1437ec3fa5db7.c184fa9f501edce6.91e37773a78083f4.75c070e34475b7d6
+    2b9bdfaf305c5d6b.a1d8cdea5b5fe2f2.cbd6f12ecae883c2.678ec94d81f6ed39
+    0000000000000000.0000000000000000.000536b0fe56915c.658a23864ebd9c8d
+    b19433981cd97f04.9b1c43a43f6294ea.85ae08883a234b0e.3c9491e32069e49e
+    d863f7e8b9731df8
+
+VAESDECLAST(reg)
+  before
+    b975054ea8c27a51.155ae428d30e1942.6ea3deec503db72e.bd2a9dffbd0d8ce4
+    3d15b6818ae23656.b30ce85a85a1b4b0.f5d25e0b45635c88.036d88e2ef8faf14
+    bf9107eefa5f8eb3.6976bd1a4f9e0b7b.8cf7bf6eba60bfa3.3141451deab570cb
+    9a33f2ff95c6be13.1163de544d11dcce.8f5dfd7f4cc11b2c.2573509dca8c8d34
+    b9cf264cac1fc07c
+  after
+    0000000000000000.0000000000000000.ed4418f0cd132834.593e5e263fb5ed50
+    3d15b6818ae23656.b30ce85a85a1b4b0.f5d25e0b45635c88.036d88e2ef8faf14
+    bf9107eefa5f8eb3.6976bd1a4f9e0b7b.8cf7bf6eba60bfa3.3141451deab570cb
+    9a33f2ff95c6be13.1163de544d11dcce.8f5dfd7f4cc11b2c.2573509dca8c8d34
+    b9cf264cac1fc07c
+VAESDECLAST(mem)
+  before
+    cb214218ab7bc6cf.2c497521f6a30223.88a1c8f49a07e1d6.5a4f15ab9711aecf
+    353520ebe4aa5a58.cf1d8bc1ba80958f.abfaf5e6528bd6be.491a025f36dcb137
+    d4d63db372bb3a44.e1fc304a7cebb402.543be31692aa79b3.b80ac005c5af6311
+    84d2135b71b720bf.bc326127d86f9b28.60300d70766f84e1.036b4b0be115fe08
+    8689a0dc259bc0c9
+  after
+    cb214218ab7bc6cf.2c497521f6a30223.88a1c8f49a07e1d6.5a4f15ab9711aecf
+    353520ebe4aa5a58.cf1d8bc1ba80958f.abfaf5e6528bd6be.491a025f36dcb137
+    0000000000000000.0000000000000000.ace2820194948b8c.125b432f33dfd97d
+    84d2135b71b720bf.bc326127d86f9b28.60300d70766f84e1.036b4b0be115fe08
+    8689a0dc259bc0c9
+
+VAESIMC(reg)
+  before
+    9dafbae42ecce2ff.22f320cffeacc8f4.bd0a18c66c9985af.aca5efe118e6b473
+    a42b948f9834a358.8806dffb35a5f00f.41d25392d1f4af41.12660653971bc596
+    f7472d49fd5f3d7d.93d7cccb31af523e.a2d40df7a50c558a.6f3eccb40d1b7275
+    f2507e7efcdaed1d.1f32642b0fd5abaa.3d5d4261846eb337.9ffabfee96f1783d
+    7e675aef4faa931a
+  after
+    0000000000000000.0000000000000000.0234ae14fd80e1ea.02f8f320830dde41
+    a42b948f9834a358.8806dffb35a5f00f.41d25392d1f4af41.12660653971bc596
+    f7472d49fd5f3d7d.93d7cccb31af523e.a2d40df7a50c558a.6f3eccb40d1b7275
+    f2507e7efcdaed1d.1f32642b0fd5abaa.3d5d4261846eb337.9ffabfee96f1783d
+    7e675aef4faa931a
+VAESIMC(mem)
+  before
+    e94f19a253517e37.f092859a2e30efe2.08e22108e923b782.6fb9ef3c09a504f4
+    ba7e79f3bef2f6c1.4f593c0932ee7e78.2bb5814cdea531f0.92340ff5d03d856c
+    cec2f5ceae9ab7e3.6af1a238a19fd78c.627500e50868d620.031a9ef676c3724c
+    01e6091f3c537dca.9ca5b09119cf36ca.8aef18bd83776240.1eb698ac96c2063f
+    3f56f984cdc67ef2
+  after
+    e94f19a253517e37.f092859a2e30efe2.08e22108e923b782.6fb9ef3c09a504f4
+    ba7e79f3bef2f6c1.4f593c0932ee7e78.2bb5814cdea531f0.92340ff5d03d856c
+    0000000000000000.0000000000000000.2d29995e1a58a11c.d201588e5633e3da
+    01e6091f3c537dca.9ca5b09119cf36ca.8aef18bd83776240.1eb698ac96c2063f
+    3f56f984cdc67ef2
+
+VAESIMC(reg)
+  before
+    c244bee9b75c1611.2fb531d3862c03a2.43c26382360ad7dd.7fef46c26cdf9079
+    04cde246ee0f0a47.34fce9d4a82e0696.ba94b87693ddf572.1d4107dfdeab1efa
+    5f3d6109116c9541.ec88ae0fbd6742d3.5c67aad8cdd4cd35.40b1d600f6e7c5ed
+    30e0379db9fdf4aa.3222fb71e1e37384.878735167f799bd1.c30a2f11cfa0447e
+    841a8ffe86e156da
+  after
+    0000000000000000.0000000000000000.8dece9c18ee757df.aabe7241e607a77f
+    04cde246ee0f0a47.34fce9d4a82e0696.ba94b87693ddf572.1d4107dfdeab1efa
+    5f3d6109116c9541.ec88ae0fbd6742d3.5c67aad8cdd4cd35.40b1d600f6e7c5ed
+    30e0379db9fdf4aa.3222fb71e1e37384.878735167f799bd1.c30a2f11cfa0447e
+    841a8ffe86e156da
+VAESIMC(mem)
+  before
+    5eab70b336b6b62d.d301606e8551632f.e4994ce431ac54d6.9540559b455a9af3
+    2d8a501cfc2c20a3.a4eed9e80ef11e7c.ddb81d56c9d0a2f5.e4de07d3bc020746
+    cd83aa25f34e5266.fef19d77f26b603c.f94aeab2c45b190c.ceac462a7ffe1e77
+    1961fbbb382806a5.3f57a888cd4a661c.141d30e43e577448.b0f70e0d2bd91b31
+    e70b5be65c1f3921
+  after
+    5eab70b336b6b62d.d301606e8551632f.e4994ce431ac54d6.9540559b455a9af3
+    2d8a501cfc2c20a3.a4eed9e80ef11e7c.ddb81d56c9d0a2f5.e4de07d3bc020746
+    0000000000000000.0000000000000000.55ab4c678c99d7dd.6773919e881dbb58
+    1961fbbb382806a5.3f57a888cd4a661c.141d30e43e577448.b0f70e0d2bd91b31
+    e70b5be65c1f3921
+
+VAESIMC(reg)
+  before
+    cd342a23ac5db5f3.eff2bdc8e6c7f98a.c26cf6853a1a6cc7.09fb6ad854d270d4
+    bfbe752eba1ecb52.2a006e3a1936e742.e37c84dcd668adea.b6b1147a21d8c9dd
+    1af53a751feeb6eb.a65989fcee818bf8.fed34df73cbf6631.f60baab6c2733a8e
+    382474627a5ab369.3ec78afa81b5a2d9.6fbc4d4408acd347.a5d4a97852b18115
+    9eda8cadee9e589b
+  after
+    0000000000000000.0000000000000000.555ad34b7b8292bf.b58030e4bafe4809
+    bfbe752eba1ecb52.2a006e3a1936e742.e37c84dcd668adea.b6b1147a21d8c9dd
+    1af53a751feeb6eb.a65989fcee818bf8.fed34df73cbf6631.f60baab6c2733a8e
+    382474627a5ab369.3ec78afa81b5a2d9.6fbc4d4408acd347.a5d4a97852b18115
+    9eda8cadee9e589b
+VAESIMC(mem)
+  before
+    bfe7cf3fb1457b4f.7698206364edfe79.d017ee20eddde811.9185802ed7ba2fd8
+    e2c8ee1cb8b2a85a.309d38e37b33d3c7.36152f5a4e0619cb.c278e2214575b892
+    e54a662f1ef199eb.c27fba4e5bb96dfe.4e8ccb94c13af033.5de27089ec6aa81f
+    a236b163ff0f0b2c.898aa1109f0a09cb.f24a3dba61872a77.bd0f25d26b233b2b
+    404bfd685c2faf63
+  after
+    bfe7cf3fb1457b4f.7698206364edfe79.d017ee20eddde811.9185802ed7ba2fd8
+    e2c8ee1cb8b2a85a.309d38e37b33d3c7.36152f5a4e0619cb.c278e2214575b892
+    0000000000000000.0000000000000000.921fbe3ac17b4d3e.ad2ad3ee22d5f598
+    a236b163ff0f0b2c.898aa1109f0a09cb.f24a3dba61872a77.bd0f25d26b233b2b
+    404bfd685c2faf63
+
+VAESKEYGENASSIST_0x00(reg)
+  before
+    40e1f4b75b173e73.f75b4da67817b94a.df0ae995e4b3e3d9.001901b84bf983c1
+    1b1f072b05692506.be84b5e3a5156170.214a8e4ac53e37d5.52c6947b9b9bb63d
+    2b4f3131f5b09fc9.d57c6606a116bdcb.ab988d99de39406b.c61d71ed6b798018
+    cebe6e33c879ea68.1610dafb88258986.d93ee1f0cc303b46.36ea14fcda9f9d7e
+    7ff9f992011ac99a
+  after
+    0000000000000000.0000000000000000.ee62465d62465dee.55b4a4a3b4a4a355
+    1b1f072b05692506.be84b5e3a5156170.214a8e4ac53e37d5.52c6947b9b9bb63d
+    2b4f3131f5b09fc9.d57c6606a116bdcb.ab988d99de39406b.c61d71ed6b798018
+    cebe6e33c879ea68.1610dafb88258986.d93ee1f0cc303b46.36ea14fcda9f9d7e
+    7ff9f992011ac99a
+VAESKEYGENASSIST_0x00(mem)
+  before
+    7e159c9dfef5bf99.5eb8ba9f194f408e.5e0d8fae774f83ce.078986b92bae6313
+    0d0c7a08ed3d3ca6.398911e084bedde7.8a3d000c8a9f65cf.91c57862963ff67d
+    09a80dbfe9fdfcee.b97c7061a753ff21.746ca9ffdc21ecb4.d33eb456a96f2e31
+    4eb6d3ae0f41ba9d.3cdfd2901b99e0e6.f968067589e1d4aa.283f350001cb48db
+    ee16f7ce39de7f26
+  after
+    7e159c9dfef5bf99.5eb8ba9f194f408e.5e0d8fae774f83ce.078986b92bae6313
+    0d0c7a08ed3d3ca6.398911e084bedde7.8a3d000c8a9f65cf.91c57862963ff67d
+    0000000000000000.0000000000000000.e458d77358d773e4.56c5a744c5a74456
+    4eb6d3ae0f41ba9d.3cdfd2901b99e0e6.f968067589e1d4aa.283f350001cb48db
+    ee16f7ce39de7f26
+
+VAESKEYGENASSIST_0x00(reg)
+  before
+    800df62bee3510bf.b90248c17a1534de.1cfc33d87e1cbde2.f5fc9458aeecd8dd
+    3a712e84bb5a3751.2458e6e4468624de.b6208fa56c69d1c2.44f3ce96664db578
+    788e9c433ddc3089.6c832b04909f46c8.6698e364800b5a32.c31a301ace1127a7
+    95b03bd50f443613.6d51920b746d57c9.89ad297f568e92dd.4c3d36d00143e997
+    bc285da41cefb874
+  after
+    0000000000000000.0000000000000000.4333461133461143.a22ea2042ea204a2
+    3a712e84bb5a3751.2458e6e4468624de.b6208fa56c69d1c2.44f3ce96664db578
+    788e9c433ddc3089.6c832b04909f46c8.6698e364800b5a32.c31a301ace1127a7
+    95b03bd50f443613.6d51920b746d57c9.89ad297f568e92dd.4c3d36d00143e997
+    bc285da41cefb874
+VAESKEYGENASSIST_0x00(mem)
+  before
+    efa720823a22506a.ef2207a7ce20879a.038c97e70dfb140d.79ae5f638b7fb570
+    c185fa5677e76da4.e132fc2315fb5cca.0a01b682775536bf.93e6807dba690196
+    0e906a0cf04aca4e.c62a16b78062f451.5e7c6ccacf887c0c.33a0893780d8b0fc
+    b292e990c1582495.fc5752cdace089d9.dbc934aa309fa01f.b52974ff7959ff4e
+    75cd3f403f772a37
+  after
+    efa720823a22506a.ef2207a7ce20879a.038c97e70dfb140d.79ae5f638b7fb570
+    c185fa5677e76da4.e132fc2315fb5cca.0a01b682775536bf.93e6807dba690196
+    0000000000000000.0000000000000000.947b64887b648894.fbb6e4cfb6e4cffb
+    b292e990c1582495.fc5752cdace089d9.dbc934aa309fa01f.b52974ff7959ff4e
+    75cd3f403f772a37
+
+VAESKEYGENASSIST_0x00(reg)
+  before
+    cfd8e56571bf6c64.8958f5cf051b37a5.dd05abd33501580e.5db48a0eb7a65f25
+    1f9662dca8bb0280.6fae08b3d9a2bfa9.c7801d34b6529d9d.c008eae27faa754a
+    c153b31083f92838.3f60a02a58f677ce.1414a55ccb5e9332.e093d012a5b69db9
+    115ad36e9b051938.d739391f9e251c40.220c3db711b17778.991fb98a44d6949f
+    c779203679171627
+  after
+    0000000000000000.0000000000000000.4afafa06fafa064a.c9e1dc70e1dc70c9
+    1f9662dca8bb0280.6fae08b3d9a2bfa9.c7801d34b6529d9d.c008eae27faa754a
+    c153b31083f92838.3f60a02a58f677ce.1414a55ccb5e9332.e093d012a5b69db9
+    115ad36e9b051938.d739391f9e251c40.220c3db711b17778.991fb98a44d6949f
+    c779203679171627
+VAESKEYGENASSIST_0x00(mem)
+  before
+    456d81035f84de7e.6bf8be608e6a132b.12074d7ec83b6a2a.4bb6e3b124d7851c
+    f1c758db1229aad0.2b7a7053f8b450be.cc945a32f1421cb9.ed5c92b79f5df9ca
+    a65222acaf133448.ad2ae5b3746f0c9c.e1addb293648ef18.624b46331ecf0e2d
+    3fdc5960524d3813.4d541aed9f288572.2c1e4c4fb2599f74.07cffc923eb701f1
+    3934ae419aa30ec4
+  after
+    456d81035f84de7e.6bf8be608e6a132b.12074d7ec83b6a2a.4bb6e3b124d7851c
+    f1c758db1229aad0.2b7a7053f8b450be.cc945a32f1421cb9.ed5c92b79f5df9ca
+    0000000000000000.0000000000000000.f3c9c5e3c9c5e3f3.c8b34e11b34e11c8
+    3fdc5960524d3813.4d541aed9f288572.2c1e4c4fb2599f74.07cffc923eb701f1
+    3934ae419aa30ec4
+
+VAESKEYGENASSIST_0x31(reg)
+  before
+    52c55aabcf1f704f.9a2f7be516e3745c.6746096c146af5ec.8bb3298e8280e7f9
+    afd0fb3b78b56541.9218042618e2a250.564bb09b6fc299b5.d938efd3c1c985d2
+    ac9f8e5f32f32744.02636e0f72557f1a.78ae0be84dbbac79.f178190a8c40332b
+    a67f0d829865f204.c8dc378c4348c6e7.28bc14be49e16be6.b1412320fef2ad32
+    f35d89ff34eab111
+  after
+    0000000000000000.0000000000000000.9bbce41abce42b9b.67a1bce5a1bcd467
+    afd0fb3b78b56541.9218042618e2a250.564bb09b6fc299b5.d938efd3c1c985d2
+    ac9f8e5f32f32744.02636e0f72557f1a.78ae0be84dbbac79.f178190a8c40332b
+    a67f0d829865f204.c8dc378c4348c6e7.28bc14be49e16be6.b1412320fef2ad32
+    f35d89ff34eab111
+VAESKEYGENASSIST_0x31(mem)
+  before
+    9599c7954934f9f4.f7bc76104695032f.be4ed989a5c835e3.c1c1c98900c012a6
+    71c15acd5add4208.fca2c475da12976f.c287d2f2b4e08639.a10925b50ee5dd65
+    65a1bd9382f04779.117df31ded65e770.ae519eb38d9c7516.23e024ae0edc07d0
+    4b046cd3dd7ac672.929800751d1c32df.6079b7b94b09c0a6.a292c2e09c2fce93
+    7c6afcb8556c6b59
+  after
+    9599c7954934f9f4.f7bc76104695032f.be4ed989a5c835e3.c1c1c98900c012a6
+    71c15acd5add4208.fca2c475da12976f.c287d2f2b4e08639.a10925b50ee5dd65
+    0000000000000000.0000000000000000.a7ae2f04ae2f35a7.a77878ec7878dda7
+    4b046cd3dd7ac672.929800751d1c32df.6079b7b94b09c0a6.a292c2e09c2fce93
+    7c6afcb8556c6b59
+
+VAESKEYGENASSIST_0x31(reg)
+  before
+    0bb5cca0d41e1dcf.01b8e37988857920.db40e5e706c2b268.b2cb9bee0b322114
+    adbf3006b6d21ea1.61879f719f201caf.48c2a0e043e3a4b6.8213c540e824558c
+    bcd423549613ab7a.483e1ba73d546d4a.35682ccd700c4475.aa1db199ffea173c
+    9640a2f8106d0006.93a9d3077e2f261d.fe7f85192ac8cd53.07b4dbe76b90254e
+    76a6c015492239ee
+  after
+    0000000000000000.0000000000000000.bd964540964571bd.eeaca4f9aca4c8ee
+    adbf3006b6d21ea1.61879f719f201caf.48c2a0e043e3a4b6.8213c540e824558c
+    bcd423549613ab7a.483e1ba73d546d4a.35682ccd700c4475.aa1db199ffea173c
+    9640a2f8106d0006.93a9d3077e2f261d.fe7f85192ac8cd53.07b4dbe76b90254e
+    76a6c015492239ee
+VAESKEYGENASSIST_0x31(mem)
+  before
+    d1bddb0fb4ad0f49.954fa75dc16d58f3.1c94437e7fbc0455.ff52a82f0ca47cfa
+    f5c6a8c1c83c658b.164c30ef459ef1eb.c0cbe7f65b08c31e.942f907db32a8d16
+    be8da317a2dcf5df.7685381a378c059a.5b193c5d2f1d1ea4.1960396ebae93b55
+    08de49fd5e987c72.0f44bc4a34c4d0ad.c94bbd9e160ad212.e9339f6ebe6ac460
+    62f2bee95b3b62e6
+  after
+    d1bddb0fb4ad0f49.954fa75dc16d58f3.1c94437e7fbc0455.ff52a82f0ca47cfa
+    f5c6a8c1c83c658b.164c30ef459ef1eb.c0cbe7f65b08c31e.942f907db32a8d16
+    0000000000000000.0000000000000000.f39c222b9c221af3.151600f31600c215
+    08de49fd5e987c72.0f44bc4a34c4d0ad.c94bbd9e160ad212.e9339f6ebe6ac460
+    62f2bee95b3b62e6
+
+VAESKEYGENASSIST_0x31(reg)
+  before
+    dfea934c2be75191.b0841460177cb66f.3ed6b6ebd7d18fd0.e72ee6a42dd89b94
+    bc661901ccfbcf0d.904d822ae9955e03.5f872469bc3f7eae.8f8c335d8f953458
+    54b44c75da011607.85030e49f1ee315a.cfa20131809bd9f4.9e3221b4594c5a87
+    051f2815f088632b.6b7335a74b93eb9f.e87549adbe70dc4d.f0eb2a95a60ac950
+    6185ccec93da3ddd
+  after
+    0000000000000000.0000000000000000.c78a3a4d8a3a7cc7.8d0b23cc0b23fd8d
+    bc661901ccfbcf0d.904d822ae9955e03.5f872469bc3f7eae.8f8c335d8f953458
+    54b44c75da011607.85030e49f1ee315a.cfa20131809bd9f4.9e3221b4594c5a87
+    051f2815f088632b.6b7335a74b93eb9f.e87549adbe70dc4d.f0eb2a95a60ac950
+    6185ccec93da3ddd
+VAESKEYGENASSIST_0x31(mem)
+  before
+    cdca82a63bc8715a.2af2aa4cab19f124.1e697132119047ff.074af84b134ac266
+    1087c9adbae122f5.1e7acc85a642fd9f.7ab140d562f203a5.886f0b751bb6c8eb
+    06891bee2d300cd7.3f038c2e7d8ec348.5b171d7c58c5d8be.c72e7d99703f2987
+    8b99f656b0c1eb2f.e7d9e5b2cd8a7fca.9d6684130f138576.20d44a22b17223e7
+    efac6e7c77d9f0b6
+  after
+    cdca82a63bc8715a.2af2aa4cab19f124.1e697132119047ff.074af84b134ac266
+    1087c9adbae122f5.1e7acc85a642fd9f.7ab140d562f203a5.886f0b751bb6c8eb
+    0000000000000000.0000000000000000.2372f99272f9a323.b3c5d670c5d641b3
+    8b99f656b0c1eb2f.e7d9e5b2cd8a7fca.9d6684130f138576.20d44a22b17223e7
+    efac6e7c77d9f0b6
+
+VAESKEYGENASSIST_0xB2(reg)
+  before
+    9004e6136102cda1.7a86d5d05ea17a27.7448d47d32c16dd1.1b6cf286a4eac5f8
+    5f26ac530879f554.b11b354753db76eb.409b53fb47bfc80b.b3f3e1c132565371
+    b860bea80ac9a57a.0b2390a9ac7b9ba8.a91f6098a811cd22.40c8cfb0d561eb0c
+    f7fc177e037e19c0.646c64e1848ea48a.0921f6c0f242b7c2.9eb73740ab194bf6
+    a98c955bcd8a2d5a
+  after
+    0000000000000000.0000000000000000.46d3c062d3c0d046.e709e83809e88ae7
+    5f26ac530879f554.b11b354753db76eb.409b53fb47bfc80b.b3f3e1c132565371
+    b860bea80ac9a57a.0b2390a9ac7b9ba8.a91f6098a811cd22.40c8cfb0d561eb0c
+    f7fc177e037e19c0.646c64e1848ea48a.0921f6c0f242b7c2.9eb73740ab194bf6
+    a98c955bcd8a2d5a
+VAESKEYGENASSIST_0xB2(mem)
+  before
+    3c1266ef59be4e66.7847b4428e248dd1.98c02cdbf81f4ebc.bdeb11e0c0dec398
+    351725e66bc36a43.978d8f5e48483c5a.82ec6483243a556b.22caae62af722d50
+    6f654e2e1ea53c20.af19a640cc756306.00bc88c522ec74c3.9209c7b45a893195
+    c5c95db28e6e8127.1e39f453b6383e83.edfb158e114069ef.6af65a405eaf0b14
+    07dc62745671f678
+  after
+    3c1266ef59be4e66.7847b4428e248dd1.98c02cdbf81f4ebc.bdeb11e0c0dec398
+    351725e66bc36a43.978d8f5e48483c5a.82ec6483243a556b.22caae62af722d50
+    0000000000000000.0000000000000000.b946bac346ba71b9.e17ae9307ae982e1
+    c5c95db28e6e8127.1e39f453b6383e83.edfb158e114069ef.6af65a405eaf0b14
+    07dc62745671f678
+
+VAESKEYGENASSIST_0xB2(reg)
+  before
+    c306dcbbdf5a2f6e.150fce5ed82cf584.3f377502a31c097a.247786c80a42ee1c
+    fbc1c28194f6f1a2.39031e1e18eb5464.6e6126bb2eadff9a.83fa57612bffbf75
+    0b59123212d27abf.0f70c8de68b659f3.060101e9f4775d8d.e452044390829a27
+    4f1ac73af4790472.7124488ae799c15c.656304f891075fff.2549095c54d7395d
+    20abe396940b5944
+  after
+    0000000000000000.0000000000000000.1e6f7cce6f7c7c1e.1a6900406900f21a
+    fbc1c28194f6f1a2.39031e1e18eb5464.6e6126bb2eadff9a.83fa57612bffbf75
+    0b59123212d27abf.0f70c8de68b659f3.060101e9f4775d8d.e452044390829a27
+    4f1ac73af4790472.7124488ae799c15c.656304f891075fff.2549095c54d7395d
+    20abe396940b5944
+VAESKEYGENASSIST_0xB2(mem)
+  before
+    b3460ddf6b29b508.234fdd05d777cc66.3de91a0eafa048cc.e5d52a549fe8409d
+    b8e50322f53e0bd4.e34651ff56590d48.4d8cbb57dcd8a96e.e4a2706abda73d13
+    0d53414b4f5515d5.eb491d950daa04c4.7fd9a54f8b4ca170.bd15d0a485cf920c
+    8c5e4446957a8f37.97a53f3199f7ed85.ad9c56e4d709ecfb.cb7c486f93ec7b35
+    6c21d338838b333a
+  after
+    b3460ddf6b29b508.234fdd05d777cc66.3de91a0eafa048cc.e5d52a549fe8409d
+    b8e50322f53e0bd4.e34651ff56590d48.4d8cbb57dcd8a96e.e4a2706abda73d13
+    0000000000000000.0000000000000000.ab271e10271ea2ab.20d90357d903e520
+    8c5e4446957a8f37.97a53f3199f7ed85.ad9c56e4d709ecfb.cb7c486f93ec7b35
+    6c21d338838b333a
+
+VAESKEYGENASSIST_0xB2(reg)
+  before
+    fa516d6af337f7c6.12d08700e2b93725.43a6b24195ca0438.b5a14901dd19463d
+    d25712707c7c0385.7c768663521fc7cb.4b9873309eb28488.71b3fb91b88b6a62
+    5181bfb8bce79225.a41bbd5c02b7fc57.0bc77c695038aa22.bea0e68284681596
+    d11a6fad4f03e14f.678da8d80d8e92f3.df7fcb5a46eab2b2.783288bf5ebe0304
+    7c365c346298efd8
+  after
+    0000000000000000.0000000000000000.f92bc6a22bc610f9.13aee03caee08e13
+    d25712707c7c0385.7c768663521fc7cb.4b9873309eb28488.71b3fb91b88b6a62
+    5181bfb8bce79225.a41bbd5c02b7fc57.0bc77c695038aa22.bea0e68284681596
+    d11a6fad4f03e14f.678da8d80d8e92f3.df7fcb5a46eab2b2.783288bf5ebe0304
+    7c365c346298efd8
+VAESKEYGENASSIST_0xB2(mem)
+  before
+    a478decdab039740.af6d1ebbd05c2cb2.a197c4c190af44cb.230b5b6e1c53d8e3
+    cdc48b775609b465.48c7c84edc7faff8.2e048c05a626cf0c.33b828116fff5762
+    d3e5de1c7eb90576.f6746ad20df7a5ce.eba17c8f6cffefe2.6ad22eafda7b6cda
+    92a952a93f1c449d.16c0ffb402504bdf.b23a104bfd475f78.26a56ab5fa5252f8
+    c27dd78d6a114768
+  after
+    a478decdab039740.af6d1ebbd05c2cb2.a197c4c190af44cb.230b5b6e1c53d8e3
+    cdc48b775609b465.48c7c84edc7faff8.2e048c05a626cf0c.33b828116fff5762
+    0000000000000000.0000000000000000.783288ae32881c78.9f262b8b262b399f
+    92a952a93f1c449d.16c0ffb402504bdf.b23a104bfd475f78.26a56ab5fa5252f8
+    c27dd78d6a114768
+
+VAESKEYGENASSIST_0xFF(reg)
+  before
+    9aa671a4c74385d5.e6da660bb6402f06.04f7825e5517ddd8.609bc5257609dcfb
+    096b3467ac7449eb.ab45932cfe307fdf.1d64f23da2d79664.d1901509f2522296
+    6d1a1d40b531ce58.bdb657fa34f9f351.bb5548be861cb430.e1e47ee38e2ded76
+    20fd269d7f0552c6.f8f92c6073a6458b.3b14824c9c7371e8.6c657b9f65a6f8c7
+    4edd892a93ca00b4
+  after
+    0000000000000000.0000000000000000.aeeafcadeafc52ae.11f8690cf869f311
+    096b3467ac7449eb.ab45932cfe307fdf.1d64f23da2d79664.d1901509f2522296
+    6d1a1d40b531ce58.bdb657fa34f9f351.bb5548be861cb430.e1e47ee38e2ded76
+    20fd269d7f0552c6.f8f92c6073a6458b.3b14824c9c7371e8.6c657b9f65a6f8c7
+    4edd892a93ca00b4
+VAESKEYGENASSIST_0xFF(mem)
+  before
+    6319226e35a4c16a.80614de9a67c0fe1.38da904ad84332b7.f9ee9a5281670937
+    87e5c4596740f714.e7928d90c5224156.5924fea47edd7601.512f8e3ed084baca
+    960dead544ab5ddf.b3dbe3fe788426d1.37a5f35a827fcc97.9f235a7b2657be4c
+    6b5c10d0e8f0b0f6.3e8a499f5c2ef8fd.ae27ea58ff35f1a2.3f15f8751e6b516a
+    8d536698554db1d0
+  after
+    6319226e35a4c16a.80614de9a67c0fe1.38da904ad84332b7.f9ee9a5281670937
+    87e5c4596740f714.e7928d90c5224156.5924fea47edd7601.512f8e3ed084baca
+    0000000000000000.0000000000000000.d607579f075760d6.009928479928b800
+    6b5c10d0e8f0b0f6.3e8a499f5c2ef8fd.ae27ea58ff35f1a2.3f15f8751e6b516a
+    8d536698554db1d0
+
+VAESKEYGENASSIST_0xFF(reg)
+  before
+    e5279f5066881829.e4a0b335701bac87.e6e9bddf0daaf487.9a775e8a120ca151
+    a3de9f0aeea8c322.dca34ef0f8390cbb.05453a2a2586551b.d661ceddd60f97ce
+    23c462308839ee66.2f325ded9a558dc1.f9ebbced434d5964.40b1b33b684a9145
+    c025e530d0c8d4a2.b8195c18757bebc3.1c244092018c3a0e.b3328a92e3ca49e3
+    0bb2d0cc639a7bd4
+  after
+    0000000000000000.0000000000000000.5599e99a99e96555.e209c89209c86de2
+    a3de9f0aeea8c322.dca34ef0f8390cbb.05453a2a2586551b.d661ceddd60f97ce
+    23c462308839ee66.2f325ded9a558dc1.f9ebbced434d5964.40b1b33b684a9145
+    c025e530d0c8d4a2.b8195c18757bebc3.1c244092018c3a0e.b3328a92e3ca49e3
+    0bb2d0cc639a7bd4
+VAESKEYGENASSIST_0xFF(mem)
+  before
+    23fb00d705c6e543.d84d237463e0b281.5524c75da2b8e1ed.cb3fc187fbce34c6
+    d9da969ee55b415d.c687186add0ec4b1.e11f1ba840172d6c.63873a36ce9f8538
+    071b0f0d1e644c4e.e621c07dd9dd46db.37d5d2e668a4896c.3e47aa0d158c6710
+    8b8ae510cceec141.93651719f3d973ae.35146a01396cb118.b9cd0a776d2017f9
+    306357e071e8d19f
+  after
+    23fb00d705c6e543.d84d237463e0b281.5524c75da2b8e1ed.cb3fc187fbce34c6
+    d9da969ee55b415d.c687186add0ec4b1.e11f1ba840172d6c.63873a36ce9f8538
+    0000000000000000.0000000000000000.4cfc3639fc36c64c.171f75871f757817
+    8b8ae510cceec141.93651719f3d973ae.35146a01396cb118.b9cd0a776d2017f9
+    306357e071e8d19f
+
+VAESKEYGENASSIST_0xFF(reg)
+  before
+    ff568eb4bd6ed0b0.40f296930c035e63.2ba01aaac88e88d4.b5a65fe7cc7a639d
+    82f2aa5fee4051d5.01219d82f9b1dddf.091ec49cf489c1f9.95582b823fdb5927
+    1682a74da0ea90bd.ace176c9b004fae2.882a115b115559ca.aff64cc0ae9950e1
+    155482ea6ef6c812.1bff9e554d077397.0612fd53be7f8df3.e14c3d8c34c203f7
+    05257ad2ee623097
+  after
+    0000000000000000.0000000000000000.39c4e57dc4e58239.ba7942d6794229ba
+    82f2aa5fee4051d5.01219d82f9b1dddf.091ec49cf489c1f9.95582b823fdb5927
+    1682a74da0ea90bd.ace176c9b004fae2.882a115b115559ca.aff64cc0ae9950e1
+    155482ea6ef6c812.1bff9e554d077397.0612fd53be7f8df3.e14c3d8c34c203f7
+    05257ad2ee623097
+VAESKEYGENASSIST_0xFF(mem)
+  before
+    f94f7f7ef68491ea.dcb235a3f5f33680.2b479010eac6022b.dd2185f09492991f
+    9794c97c6b34e21f.c7e9bee2cf6a16b5.b985c8e8a64d64ca.6ba2a49f321ab8fb
+    bcc1d2b8677ee160.324518159be9a45a.9f85c2c89aa9549f.0ae255ca31a42833
+    45a2181f066f48da.791240a6f3fb1b1e.ba12fa9be4e590d7.182d97df30bb2372
+    efcf6349c8ebe664
+  after
+    f94f7f7ef68491ea.dcb235a3f5f33680.2b479010eac6022b.dd2185f09492991f
+    9794c97c6b34e21f.c7e9bee2cf6a16b5.b985c8e8a64d64ca.6ba2a49f321ab8fb
+    0000000000000000.0000000000000000.caf1a09ff1a060ca.8cc1fd68c1fd978c
+    45a2181f066f48da.791240a6f3fb1b1e.ba12fa9be4e590d7.182d97df30bb2372
+    efcf6349c8ebe664
+
+VPCLMULQDQ_0x00(reg)
+  before
+    ed13b77397c1acb7.0c03179b6512d4b8.f79c3003732cb9ab.e7faed4fa00ed29d
+    6c478ecb39c8b214.eeb049199f744127.0a2ee697b809b7ad.000716cfe92fd61e
+    c9b5e4bc498c342a.c7742c86d1a04a52.0d165dce5d1d54d1.e206f107dc545a86
+    61aab5b2639a6ea3.741c3bcd17a2ac66.5c9e9114fff5cac3.69c3fae394891800
+    720aad502ddbcdb9
+  after
+    0000000000000000.0000000000000000.0002a230c0eb7516.943236fa9ee95744
+    6c478ecb39c8b214.eeb049199f744127.0a2ee697b809b7ad.000716cfe92fd61e
+    c9b5e4bc498c342a.c7742c86d1a04a52.0d165dce5d1d54d1.e206f107dc545a86
+    61aab5b2639a6ea3.741c3bcd17a2ac66.5c9e9114fff5cac3.69c3fae394891800
+    720aad502ddbcdb9
+VPCLMULQDQ_0x00(mem)
+  before
+    d7a68738c45535dd.8e72fd1a247d9b2c.cf75f2da8b86238f.53137fd5391c562f
+    7565038875040b97.ad59b95e28c1f870.b549cd984c596af8.4dc1217da81e34bf
+    28119d2d5bf30c13.1aabe4eb0af3c11c.026548f573273ece.a8f47579e7879f22
+    cc77d112922ef47e.31b37a2e669e31db.9294e0dc1efa5b3c.bff8763393e4d402
+    ee18201947c00f0c
+  after
+    d7a68738c45535dd.8e72fd1a247d9b2c.cf75f2da8b86238f.53137fd5391c562f
+    7565038875040b97.ad59b95e28c1f870.b549cd984c596af8.4dc1217da81e34bf
+    0000000000000000.0000000000000000.177e0ed14be7928d.e8b41c8a5a460f25
+    cc77d112922ef47e.31b37a2e669e31db.9294e0dc1efa5b3c.bff8763393e4d402
+    ee18201947c00f0c
+
+VPCLMULQDQ_0x00(reg)
+  before
+    90a17095a0a88ceb.3d631c2237c27e04.4fbf7891d94e855a.41a4103a69e07d6f
+    03e060153927864c.57a1f94b65ba68d1.ce19d882fe90f945.eb5f54f96fe45f93
+    a11fee04aec93adb.f6fde47839226b10.0b0e986c72efc947.6c9329064d13bed3
+    c8aa16ce9c1be443.f6425995ce0746ed.62eab3bad0f7300d.a00a094e1e78565c
+    639172bbfe1fe359
+  after
+    0000000000000000.0000000000000000.233185339c8490b3.cb5c84a4412b16c5
+    03e060153927864c.57a1f94b65ba68d1.ce19d882fe90f945.eb5f54f96fe45f93
+    a11fee04aec93adb.f6fde47839226b10.0b0e986c72efc947.6c9329064d13bed3
+    c8aa16ce9c1be443.f6425995ce0746ed.62eab3bad0f7300d.a00a094e1e78565c
+    639172bbfe1fe359
+VPCLMULQDQ_0x00(mem)
+  before
+    91f3df3b0a1520f7.d2cfd2df9fa8bf30.333ed48e4174b395.2ff925dab5356b42
+    05feccb95d65ca62.1dd91fa352fc0850.88bbd24fad757034.ce87eb37bc34b693
+    9d7cb620141b9dc5.0313fa8651a4fb4d.d386cec42f1636f5.9bdfff3e82814dac
+    343b185e4b44544d.e2ca5ef4392bd4d3.ef6b44dae264c405.f24e5f59a2a66b38
+    2f2007f5b9324de4
+  after
+    91f3df3b0a1520f7.d2cfd2df9fa8bf30.333ed48e4174b395.2ff925dab5356b42
+    05feccb95d65ca62.1dd91fa352fc0850.88bbd24fad757034.ce87eb37bc34b693
+    0000000000000000.0000000000000000.1d8a2fe10a9dc879.cd186d45eed244e6
+    343b185e4b44544d.e2ca5ef4392bd4d3.ef6b44dae264c405.f24e5f59a2a66b38
+    2f2007f5b9324de4
+
+VPCLMULQDQ_0x00(reg)
+  before
+    ada1f17e62ae2e5b.a6056d5e1debac25.144a4859a51dce8f.b836b07be26bd490
+    ca1d1a6139a84c4a.cea7340ca61c617a.f6dfb2223207262d.09b28f954d3623c1
+    e1e07f09dbabe15c.8aede65503e42e77.e5d59ab97b741858.c0ad5b123cd16dc5
+    4e351be1e4442a3f.b5a201234f4ed149.3b78fb8c1df0dfbd.b8f192e0cd486dc7
+    cc4bb0ea1ca8e0f4
+  after
+    0000000000000000.0000000000000000.06b06b7541ce43cd.7d8fe9448f5c1105
+    ca1d1a6139a84c4a.cea7340ca61c617a.f6dfb2223207262d.09b28f954d3623c1
+    e1e07f09dbabe15c.8aede65503e42e77.e5d59ab97b741858.c0ad5b123cd16dc5
+    4e351be1e4442a3f.b5a201234f4ed149.3b78fb8c1df0dfbd.b8f192e0cd486dc7
+    cc4bb0ea1ca8e0f4
+VPCLMULQDQ_0x00(mem)
+  before
+    da872f1c43fc8277.6c6aea57effd629c.2a94ff63a766041c.5513d106b308b807
+    bd718d6261500f7e.99c9e9d69865c722.c78d5e022639831b.8ff31893da47dfe3
+    50d444a890b14232.309f13ca7c05937b.665b9aeae8d20c73.4664cd9e2d3990fd
+    717ed3daec2ad8c2.8c38639f376b0253.e5c82d090b3e5950.d4b2ea96496b0600
+    96296de4c9687e99
+  after
+    da872f1c43fc8277.6c6aea57effd629c.2a94ff63a766041c.5513d106b308b807
+    bd718d6261500f7e.99c9e9d69865c722.c78d5e022639831b.8ff31893da47dfe3
+    0000000000000000.0000000000000000.29bacb8540b51050.cc5d5e015ac3d7a9
+    717ed3daec2ad8c2.8c38639f376b0253.e5c82d090b3e5950.d4b2ea96496b0600
+    96296de4c9687e99
+
+VPCLMULQDQ_0x01(reg)
+  before
+    e81552f549bc3473.fa39b3e592c78d57.0be0d8c163225257.1ea1954aa88727dd
+    26c1933566f4643b.c9d261b39d951c20.08e26b9c9fb7bd33.efb14d98ddbc3147
+    ac7b2e10bc9b499d.b8155a312a9f4247.de8c199d84b58092.32c6d1e1c6e635b9
+    d68d1df3e63d2044.a4ce194c54f2bbf9.eb28df2eb1a8d621.c5aa9d107e13ed60
+    822b2e12214e1567
+  after
+    0000000000000000.0000000000000000.0185d23703961cf9.63470bbe46ee177b
+    26c1933566f4643b.c9d261b39d951c20.08e26b9c9fb7bd33.efb14d98ddbc3147
+    ac7b2e10bc9b499d.b8155a312a9f4247.de8c199d84b58092.32c6d1e1c6e635b9
+    d68d1df3e63d2044.a4ce194c54f2bbf9.eb28df2eb1a8d621.c5aa9d107e13ed60
+    822b2e12214e1567
+VPCLMULQDQ_0x01(mem)
+  before
+    4613fed1cca36bfb.00445f49806724dd.6ac91aef38994361.8903b8bdbf1dfd8c
+    ee2f8b3a9a1fa948.86eced7d27a49313.e4d1da05f1a095ac.1669a0b44c9f2f7e
+    544a503aa8cd8c79.c4d1c4fd7781a793.efb4d37c9c136e05.eca69481f4baa8a3
+    5532cabb12bad0bb.163ee1340a899d09.673c833f54ff8a99.68068e8f52fba6a9
+    e7d48c4a03ec6339
+  after
+    4613fed1cca36bfb.00445f49806724dd.6ac91aef38994361.8903b8bdbf1dfd8c
+    ee2f8b3a9a1fa948.86eced7d27a49313.e4d1da05f1a095ac.1669a0b44c9f2f7e
+    0000000000000000.0000000000000000.75abf887726e7bc5.f6f70383994c11d0
+    5532cabb12bad0bb.163ee1340a899d09.673c833f54ff8a99.68068e8f52fba6a9
+    e7d48c4a03ec6339
+
+VPCLMULQDQ_0x01(reg)
+  before
+    c35d891ea21c1c02.cdb274abf2f13039.d7813f8e7f48b020.2936653a356fa494
+    59ee8277cb140cae.9995c9f4677e6920.65e4da77704a1d85.0f6ef5595c707a21
+    06d171c11b6371ea.93a847848a6e379c.1bb4af5b791c20e3.f6b0b089e50dc56d
+    245254682e928561.98b76a467acb55d8.553db8a63749f5e7.bac710b4eb5244a3
+    378193c78a4cb1f0
+  after
+    0000000000000000.0000000000000000.200dff083980ac52.cbb9a5c2b5870759
+    59ee8277cb140cae.9995c9f4677e6920.65e4da77704a1d85.0f6ef5595c707a21
+    06d171c11b6371ea.93a847848a6e379c.1bb4af5b791c20e3.f6b0b089e50dc56d
+    245254682e928561.98b76a467acb55d8.553db8a63749f5e7.bac710b4eb5244a3
+    378193c78a4cb1f0
+VPCLMULQDQ_0x01(mem)
+  before
+    49a8b4afdf05ca80.10bf26d99f2f84c0.848eac2650a48001.6ecbf3c4455ed73c
+    cc09f057068c487e.2663e37e0ac5acb2.33f98b102b027442.c4a95b223fe60390
+    9c70c1aa19eaea17.c28987c50ce037e4.81c382f024f3edc8.b225ec2ac26db58c
+    95a9a596372d6a76.407e0f18400d6202.4aba0db25983a6bf.9389a34a6a7f29df
+    c5227bedd2a99a33
+  after
+    49a8b4afdf05ca80.10bf26d99f2f84c0.848eac2650a48001.6ecbf3c4455ed73c
+    cc09f057068c487e.2663e37e0ac5acb2.33f98b102b027442.c4a95b223fe60390
+    0000000000000000.0000000000000000.0ba253a6a2e37ce0.f8f8487fae77d178
+    95a9a596372d6a76.407e0f18400d6202.4aba0db25983a6bf.9389a34a6a7f29df
+    c5227bedd2a99a33
+
+VPCLMULQDQ_0x01(reg)
+  before
+    a33c707f97774534.938017067a6185c8.fd8e76e543d769b7.6aa8a843e6bc5c52
+    88237e6b5473668f.72c093e6fe90f739.5305b897b0ca87b0.bd5ad08de6accbae
+    d223a11fa52b38f0.0e379622e0c87bf4.9f2fd19a2473f998.1f9c007e755eaffe
+    db87d606272af802.43af9aa63b14ce26.3d58bd5a3a5dfb1c.6c3ab400b0dfc36f
+    7fff6801b33ac42d
+  after
+    0000000000000000.0000000000000000.063e08c23df67efb.7f2539a79f540520
+    88237e6b5473668f.72c093e6fe90f739.5305b897b0ca87b0.bd5ad08de6accbae
+    d223a11fa52b38f0.0e379622e0c87bf4.9f2fd19a2473f998.1f9c007e755eaffe
+    db87d606272af802.43af9aa63b14ce26.3d58bd5a3a5dfb1c.6c3ab400b0dfc36f
+    7fff6801b33ac42d
+VPCLMULQDQ_0x01(mem)
+  before
+    36b9996c997b6e63.009d178d75fde272.edf51d5f2b81acfa.89cb79438f15c8e8
+    6c32c12d7eaf7c3e.9eaf621e2c2f32eb.e8d59a37ce1ad09d.ded600c1be259ea7
+    fd375e307fe1abe9.0f0ab326e84c231b.0f1b8e1b3debf83b.9ac34e40641bb706
+    c494eb61b71db791.b1fa041243e1f2ab.409273f89601deff.18df5f2d1c834fb0
+    b47630f282e8a452
+  after
+    36b9996c997b6e63.009d178d75fde272.edf51d5f2b81acfa.89cb79438f15c8e8
+    6c32c12d7eaf7c3e.9eaf621e2c2f32eb.e8d59a37ce1ad09d.ded600c1be259ea7
+    0000000000000000.0000000000000000.738cba1e0fc11715.b90d556a1284d688
+    c494eb61b71db791.b1fa041243e1f2ab.409273f89601deff.18df5f2d1c834fb0
+    b47630f282e8a452
+
+VPCLMULQDQ_0x10(reg)
+  before
+    cad3bcfd33d6f097.9f15e5ac43705b62.decb534cdc79db49.5608c7b9f5673e15
+    b644ffb9cbd9702d.6986c6fd3ee55587.f3c89b424da019a1.2c470549752ad6ab
+    d313f591e57e5fbd.fdb20c41c5895f2c.4c3fd85f32e3ea5f.a01ca996325460eb
+    7f8d9bf31d51faf6.39673262f366357f.467a060e27cd872e.8d532f8b49f39901
+    ceb81414d6133c1a
+  after
+    0000000000000000.0000000000000000.0ac4108c80e3997e.dc4f9dd6aa757a79
+    b644ffb9cbd9702d.6986c6fd3ee55587.f3c89b424da019a1.2c470549752ad6ab
+    d313f591e57e5fbd.fdb20c41c5895f2c.4c3fd85f32e3ea5f.a01ca996325460eb
+    7f8d9bf31d51faf6.39673262f366357f.467a060e27cd872e.8d532f8b49f39901
+    ceb81414d6133c1a
+VPCLMULQDQ_0x10(mem)
+  before
+    4116d31df3bf0762.15feeb4a10dc7d82.f86fb44ee58a95aa.3bc622bdcaea2fba
+    c03be892bf03b404.f0b2e30259ad240d.15970fefb60139d9.886f26d7b4c71cb1
+    29f1cf6054ebff2d.6ef57e87954f2a44.6eabbe3382d6de39.89c110c883ef8bbc
+    56050571ce84a609.e913b846604fcdd3.dd773c0566153ff6.9a08dcfdd3efb88a
+    178f84e03f51dfc5
+  after
+    4116d31df3bf0762.15feeb4a10dc7d82.f86fb44ee58a95aa.3bc622bdcaea2fba
+    c03be892bf03b404.f0b2e30259ad240d.15970fefb60139d9.886f26d7b4c71cb1
+    0000000000000000.0000000000000000.7bd086be8bfcf985.deebc9ac014cf74a
+    56050571ce84a609.e913b846604fcdd3.dd773c0566153ff6.9a08dcfdd3efb88a
+    178f84e03f51dfc5
+
+VPCLMULQDQ_0x10(reg)
+  before
+    5ca406de63a33b19.244304b34ad963c3.bf578ea954384665.3fc608517eca1a3b
+    c5915d64dc710934.70774a10e3f6f387.4b0efb1d1096d4a7.71669b03e5022935
+    aea385dc464685bf.146d5276b6e81183.e884fb0f2df6b144.4d217207b7c8280f
+    73267ab43caeea69.eef099d0deba7be0.f3058aea49e21aea.b0c40a491129d5f6
+    771bdeb60f2fea16
+  after
+    0000000000000000.0000000000000000.297454e49a6a492a.22557f56d80aac94
+    c5915d64dc710934.70774a10e3f6f387.4b0efb1d1096d4a7.71669b03e5022935
+    aea385dc464685bf.146d5276b6e81183.e884fb0f2df6b144.4d217207b7c8280f
+    73267ab43caeea69.eef099d0deba7be0.f3058aea49e21aea.b0c40a491129d5f6
+    771bdeb60f2fea16
+VPCLMULQDQ_0x10(mem)
+  before
+    7cf26a38cce9249a.706538575a3575dc.d8ce99097779ebcd.c9dda41900e94b42
+    9c152bbd64603faf.01aebc313d6862c4.afd1d00f9e301d74.c458460aed947ffb
+    b34f9b2ff4a2f681.824b01ae80d2ecce.4fc6b9cd6febcf02.42c16b28ad71f4be
+    9e6e387c97ba063b.4f8a033ac00051a6.9479d13005b7bba2.9d660fdfdb0ce33a
+    32912e9b13ef8b19
+  after
+    7cf26a38cce9249a.706538575a3575dc.d8ce99097779ebcd.c9dda41900e94b42
+    9c152bbd64603faf.01aebc313d6862c4.afd1d00f9e301d74.c458460aed947ffb
+    0000000000000000.0000000000000000.590a9d7feb91ff49.eed917bea7f6898f
+    9e6e387c97ba063b.4f8a033ac00051a6.9479d13005b7bba2.9d660fdfdb0ce33a
+    32912e9b13ef8b19
+
+VPCLMULQDQ_0x10(reg)
+  before
+    5d8fc5c8f2a82608.373c7d8f6ab52b09.c3b5bf41987ccbf7.5bb692227d9e9e81
+    7bacced314c3f1b2.5b86e754889e2018.3c192f2fa5d5966e.7e487a90f2af34ca
+    e633472614ca28c4.e618f0b70e81a294.150251708294f0b7.dafd046780f338aa
+    fb722b2e8e4c07e9.b4bd16a4176a6da9.a9bb2071cc47137d.4b9fac914478674d
+    adfbeefc59497dde
+  after
+    0000000000000000.0000000000000000.06630ab678334520.e4dafca0d9c85e96
+    7bacced314c3f1b2.5b86e754889e2018.3c192f2fa5d5966e.7e487a90f2af34ca
+    e633472614ca28c4.e618f0b70e81a294.150251708294f0b7.dafd046780f338aa
+    fb722b2e8e4c07e9.b4bd16a4176a6da9.a9bb2071cc47137d.4b9fac914478674d
+    adfbeefc59497dde
+VPCLMULQDQ_0x10(mem)
+  before
+    dcdd4792dc73358a.16b377581fd2c9ce.a143d407bf663d82.5692999c1e793c6d
+    b4113141e8014d7c.9344250f62eaab1f.8974a6cc2381cd4b.77d1b65f15b7a632
+    11632af49aff7ee1.ce6f33bef41fe887.481e08df5fc5da31.67c575254c8c8e79
+    cf9eae970e7a87e5.23819cd370fdbeb3.ba0b772d8e402060.84bad1595f8430ee
+    28fcc669eb2cc83c
+  after
+    dcdd4792dc73358a.16b377581fd2c9ce.a143d407bf663d82.5692999c1e793c6d
+    b4113141e8014d7c.9344250f62eaab1f.8974a6cc2381cd4b.77d1b65f15b7a632
+    0000000000000000.0000000000000000.357870f2e6e8784a.c7a3d1fa5a7a5f64
+    cf9eae970e7a87e5.23819cd370fdbeb3.ba0b772d8e402060.84bad1595f8430ee
+    28fcc669eb2cc83c
+
+VPCLMULQDQ_0x11(reg)
+  before
+    b1d750c08c0f920f.ca9037165e7d22b3.eec55db97311674e.bb086ea0ccfe5b04
+    79966ccadcb9c915.dd03435da8140d77.8b8970dc98e62005.27e0692636094647
+    de8715f37ab6aaf7.e6c44d59084c015f.5618d3a87c082484.da61e4aae86f9e58
+    3af447a800937064.c09fd1f49930bd95.abbd8189ba04b076.af555c18fd3b1f61
+    848a4b5b917a848f
+  after
+    0000000000000000.0000000000000000.296f7696938d06f3.fb5091f9c0203694
+    79966ccadcb9c915.dd03435da8140d77.8b8970dc98e62005.27e0692636094647
+    de8715f37ab6aaf7.e6c44d59084c015f.5618d3a87c082484.da61e4aae86f9e58
+    3af447a800937064.c09fd1f49930bd95.abbd8189ba04b076.af555c18fd3b1f61
+    848a4b5b917a848f
+VPCLMULQDQ_0x11(mem)
+  before
+    34ca2f61c1378a0d.eb2afe530adc5806.47604b1b78ccfb45.e6c576ecef650087
+    9be28316a87fed08.4b753662351b9e8a.57d237bbc02d789c.637cae3bb6b85065
+    949ec464635c68ac.b721ec3f1cde7e9b.cbc312bf8d5ef0c6.7e2e26e4ab88dbba
+    fdc96c380ddcb924.8b791b585cb134e6.81fd5712fc6b1eee.9327d8516b61de32
+    fdb2c2f092cf957a
+  after
+    34ca2f61c1378a0d.eb2afe530adc5806.47604b1b78ccfb45.e6c576ecef650087
+    9be28316a87fed08.4b753662351b9e8a.57d237bbc02d789c.637cae3bb6b85065
+    0000000000000000.0000000000000000.144caa1683fc5801.b340103ea2e8b9ec
+    fdc96c380ddcb924.8b791b585cb134e6.81fd5712fc6b1eee.9327d8516b61de32
+    fdb2c2f092cf957a
+
+VPCLMULQDQ_0x11(reg)
+  before
+    1a1ce02cbb5f3c3e.b031f97ec30b9a9d.24cbbf17901efb16.544d82a22961bf41
+    45b22c71829c0e2a.8ba0e623a0f3c742.dc61d4ea55b310d8.1f7f105a2f4b8feb
+    d9bea42b841348e8.69e4af11c1a3fe40.1088573c46fcaed8.c05f7b262a354a17
+    348d43c65c4f2627.25c7d1364124f9c2.1c8c4379008313c1.11b841f2372cabf2
+    f058ddaa713b6fa7
+  after
+    0000000000000000.0000000000000000.0daef672d74c75a3.878d7f48c256c140
+    45b22c71829c0e2a.8ba0e623a0f3c742.dc61d4ea55b310d8.1f7f105a2f4b8feb
+    d9bea42b841348e8.69e4af11c1a3fe40.1088573c46fcaed8.c05f7b262a354a17
+    348d43c65c4f2627.25c7d1364124f9c2.1c8c4379008313c1.11b841f2372cabf2
+    f058ddaa713b6fa7
+VPCLMULQDQ_0x11(mem)
+  before
+    3709cc3bf56f5263.b16a05aea7dce391.9d16c67d3c8475f5.5cb9940d1ed77940
+    c498888fdfd30f51.aba3e64f0047bcd3.ab9c0cd2d0ce2d05.2c5a46643c811d00
+    71d18f944973639e.8082e315041bed98.2c271e21160edf1d.e9bd55ebf70f3aae
+    1b805c34525b0a76.8a55f66d4ee4b28d.fd8179562c51456a.ed2cbe0ceb0c0df6
+    95f57c35b304d283
+  after
+    3709cc3bf56f5263.b16a05aea7dce391.9d16c67d3c8475f5.5cb9940d1ed77940
+    c498888fdfd30f51.aba3e64f0047bcd3.ab9c0cd2d0ce2d05.2c5a46643c811d00
+    0000000000000000.0000000000000000.5827f6978ceb13a1.654f3b8c72708b21
+    1b805c34525b0a76.8a55f66d4ee4b28d.fd8179562c51456a.ed2cbe0ceb0c0df6
+    95f57c35b304d283
+
+VPCLMULQDQ_0x11(reg)
+  before
+    3d628bd0eb84c502.9f716b5d1398c004.27661dc17b2e465d.f878975d2da21b18
+    40bfe74b3017211e.d77038faaa354075.b102547f2686e6b6.fbd6f622360e1f52
+    fc5a8d111d4a2384.a04840f7333f47f5.86749512ec78ce41.e068119163a00b44
+    cc7e778d4fa707e0.d7c6fe3fc9c091af.000adee5688e39ac.84fa6497cf649c1c
+    c3576c1e96668e03
+  after
+    0000000000000000.0000000000000000.5b14c2db04728ff1.05805508613bcf36
+    40bfe74b3017211e.d77038faaa354075.b102547f2686e6b6.fbd6f622360e1f52
+    fc5a8d111d4a2384.a04840f7333f47f5.86749512ec78ce41.e068119163a00b44
+    cc7e778d4fa707e0.d7c6fe3fc9c091af.000adee5688e39ac.84fa6497cf649c1c
+    c3576c1e96668e03
+VPCLMULQDQ_0x11(mem)
+  before
+    7a4da314d5b39c28.0c76a32d62bd09dd.56b6eec189c7d9cf.7c0f2966375664a3
+    83a68764a75683b5.188f0c5cf0156428.fae48c668e5ddd82.57ce7400f45c8bd2
+    bb2f93f9295cffd6.4c16af87983d556c.9f1c541bf49056f4.eb94bb1f3b2aeae4
+    feb443c176d0cbb9.03548618f3c01756.212ac3ccd86b0351.95adf830a94ebc85
+    b165299dda543e63
+  after
+    7a4da314d5b39c28.0c76a32d62bd09dd.56b6eec189c7d9cf.7c0f2966375664a3
+    83a68764a75683b5.188f0c5cf0156428.fae48c668e5ddd82.57ce7400f45c8bd2
+    0000000000000000.0000000000000000.3366f72f0c8d519e.7062ddbbb4a06f1e
+    feb443c176d0cbb9.03548618f3c01756.212ac3ccd86b0351.95adf830a94ebc85
+    b165299dda543e63
+
+VPCLMULQDQ_0xFF(reg)
+  before
+    9c0849d369c6ac28.280114a7abbea487.9b988f7ca02be891.5cd9546656fb9ec4
+    b0e1543ff2324180.15e28197e333466f.6f2dc520380802cb.2cf683d3894be479
+    4a3e464b12243b18.a122067d3a3a6d9b.da5e256e59e6a2ad.6d4dcc018d67919e
+    c6691c656427d49c.a88f1f46cedfd437.3a79a9d49f4e03e6.fbaaacda7f5c615c
+    b2d99e4c7a350fe2
+  after
+    0000000000000000.0000000000000000.29175424f4cbf1ad.d50dbc366fca555f
+    b0e1543ff2324180.15e28197e333466f.6f2dc520380802cb.2cf683d3894be479
+    4a3e464b12243b18.a122067d3a3a6d9b.da5e256e59e6a2ad.6d4dcc018d67919e
+    c6691c656427d49c.a88f1f46cedfd437.3a79a9d49f4e03e6.fbaaacda7f5c615c
+    b2d99e4c7a350fe2
+VPCLMULQDQ_0xFF(mem)
+  before
+    6ea61e429bfe585a.80afd1f885c748b7.06f348dcb82e3871.eac84fbca5ce631f
+    0bdca8a8fdc3f8f0.d45c616f1090d516.971bfe2c16345572.4598129408f1fc07
+    6549b86abd91aad1.1ebcc838a20fb564.37d3bc2304fde769.a935eec763440a48
+    58b7cb74f6742b29.ba1a03bed6cf244e.c2e7feac9d93a980.70eadfc15252cb8f
+    f805e2ee72a77987
+  after
+    6ea61e429bfe585a.80afd1f885c748b7.06f348dcb82e3871.eac84fbca5ce631f
+    0bdca8a8fdc3f8f0.d45c616f1090d516.971bfe2c16345572.4598129408f1fc07
+    0000000000000000.0000000000000000.030619f7fa8a745c.a17e69fc59400092
+    58b7cb74f6742b29.ba1a03bed6cf244e.c2e7feac9d93a980.70eadfc15252cb8f
+    f805e2ee72a77987
+
+VPCLMULQDQ_0xFF(reg)
+  before
+    9bd0f2ba5ed051dd.c0f35cb3c5763723.04c40c6e495c6080.142340b2fd0458e3
+    b7990b92b3588e3c.79c9e71145a589ec.5804e1b29643a3a5.0852fe23415cb0bf
+    a6aa29e00dcb6e51.5e05e87c930ddfb0.12277df75a0f2a69.7c41b5ea84a56c40
+    c550481106b62bc8.4d72dcdecab8f39a.8e79dda9304d317a.4bbce0f3e3ed4991
+    518ffb2a794003df
+  after
+    0000000000000000.0000000000000000.053ad4161e5a81e5.f36dba9297bfe16d
+    b7990b92b3588e3c.79c9e71145a589ec.5804e1b29643a3a5.0852fe23415cb0bf
+    a6aa29e00dcb6e51.5e05e87c930ddfb0.12277df75a0f2a69.7c41b5ea84a56c40
+    c550481106b62bc8.4d72dcdecab8f39a.8e79dda9304d317a.4bbce0f3e3ed4991
+    518ffb2a794003df
+VPCLMULQDQ_0xFF(mem)
+  before
+    6986837b63a85556.71d665923da4014c.21de3e2506b581d7.2846fb35b488f382
+    716df2d3bc33fd21.048a7bce4b212e8a.b5138a3b640d4792.3bdad506834cad2d
+    4310c61ca1edb56d.dbb68630cfbaec2e.e7de3c0e00cefff8.2580668739259b28
+    bd3a7a432de13965.52a8822662fa78e3.920bd089f5036635.4186aa2671a0f91f
+    eb369e4ec74802be
+  after
+    6986837b63a85556.71d665923da4014c.21de3e2506b581d7.2846fb35b488f382
+    716df2d3bc33fd21.048a7bce4b212e8a.b5138a3b640d4792.3bdad506834cad2d
+    0000000000000000.0000000000000000.166df3d67626cf7b.e6fe24f3a030105e
+    bd3a7a432de13965.52a8822662fa78e3.920bd089f5036635.4186aa2671a0f91f
+    eb369e4ec74802be
+
+VPCLMULQDQ_0xFF(reg)
+  before
+    7edd3c6bd8aaf3af.bab88a357d1b4736.c5aa6c1ba26d0e55.9166c3985fb83774
+    58c782e93f5107a1.155673ddaca7990b.91093f7b2ba0e931.c2ba90275bfa30e1
+    d3406b3499c97c3e.ace0af26d792ec12.1011f7b2981e4623.ffd5b32304d40baa
+    4d93f4b8819f8c33.5922bcfe19e7fb74.9f0d902c867361d7.2681a876775284f9
+    118beb0dcf8159fa
+  after
+    0000000000000000.0000000000000000.0919663ff39f31c7.86de85a244f8fb73
+    58c782e93f5107a1.155673ddaca7990b.91093f7b2ba0e931.c2ba90275bfa30e1
+    d3406b3499c97c3e.ace0af26d792ec12.1011f7b2981e4623.ffd5b32304d40baa
+    4d93f4b8819f8c33.5922bcfe19e7fb74.9f0d902c867361d7.2681a876775284f9
+    118beb0dcf8159fa
+VPCLMULQDQ_0xFF(mem)
+  before
+    9ebff9d5296c44da.210e17e2945d742b.fae715508eb2845f.9a4b0656902c75f8
+    a7e94db8a02002c5.aafbd21c6d926fd3.69fd3708530041ff.5d15569a52d4bf32
+    09d563a451a84ee6.46a720d4a9c7bbd6.832e9c1284dcee80.44b87b6569f87b32
+    a14fb8845710e66a.4f5efd74e38a92e1.2547c25b3c53490d.ab8071247122e5a4
+    eeb9344205e13834
+  after
+    9ebff9d5296c44da.210e17e2945d742b.fae715508eb2845f.9a4b0656902c75f8
+    a7e94db8a02002c5.aafbd21c6d926fd3.69fd3708530041ff.5d15569a52d4bf32
+    0000000000000000.0000000000000000.269f14cfcedf7d76.2588414ed681d635
+    a14fb8845710e66a.4f5efd74e38a92e1.2547c25b3c53490d.ab8071247122e5a4
+    eeb9344205e13834
+
+VCMPSS_128_0x9(reg)
+  before
+    69afc12ac1beb18d.4922c644cf64847c.226c666ab86730a0.291424cd97700cd3
+    78ae124a42478c5b.de1b0bd0d4b1e449.1c1c5521c3e8d3be.6c613e55b23ff4fd
+    7601250d2307054b.3c0602148202c4fd.97bcc805a19bb5e8.cafa8ce0a8ccbdb8
+    c1f5f6df018a5709.40af27fcf664dec3.f196ba82ed0c13ca.20aa8b589624222f
+    483fb6ab9752e08f
+  after
+    0000000000000000.0000000000000000.1c1c5521c3e8d3be.6c613e55ffffffff
+    78ae124a42478c5b.de1b0bd0d4b1e449.1c1c5521c3e8d3be.6c613e55b23ff4fd
+    7601250d2307054b.3c0602148202c4fd.97bcc805a19bb5e8.cafa8ce0a8ccbdb8
+    c1f5f6df018a5709.40af27fcf664dec3.f196ba82ed0c13ca.20aa8b589624222f
+    483fb6ab9752e08f
+VCMPSS_128_0x9(mem)
+  before
+    1f8389c4c863b304.b4d67f2c775dbf40.c4e2f7744ce2efc8.84f7270443c5290f
+    8143808f446256b9.abf0be61220b799d.a56bec689f88b337.ad2b0cf740543263
+    4a4b18f8285b86db.018fade89d21c0cc.bf1584c50b63e53d.c87e64c780456b74
+    5666cceb8f5bff95.14ff4a2e852ad178.eead3a75ad7d4206.313c2be19e2210eb
+    45b15daf36795c77
+  after
+    1f8389c4c863b304.b4d67f2c775dbf40.c4e2f7744ce2efc8.84f7270443c5290f
+    8143808f446256b9.abf0be61220b799d.a56bec689f88b337.ad2b0cf740543263
+    0000000000000000.0000000000000000.a56bec689f88b337.ad2b0cf7ffffffff
+    5666cceb8f5bff95.14ff4a2e852ad178.eead3a75ad7d4206.313c2be19e2210eb
+    45b15daf36795c77
+
+VCMPSS_128_0x9(reg)
+  before
+    5e28f69fe5d68cc2.81621854966d7d14.3f8b91a075b2e84e.0eff8b66a1e586bd
+    d9eef31b46c3dc79.a709781f589dbb84.dd807ca9094641f9.fbd7f18302a46c8f
+    124f4f91f6ce8847.a4296839f1f87610.4c2b09b4de711726.9101eab7ecc8b1a7
+    6597066c9083cbd9.548c658c7e896ae5.e6d6332f90bfa780.ac49f1f07c5d1132
+    287a8219cd6d485c
+  after
+    0000000000000000.0000000000000000.dd807ca9094641f9.fbd7f18300000000
+    d9eef31b46c3dc79.a709781f589dbb84.dd807ca9094641f9.fbd7f18302a46c8f
+    124f4f91f6ce8847.a4296839f1f87610.4c2b09b4de711726.9101eab7ecc8b1a7
+    6597066c9083cbd9.548c658c7e896ae5.e6d6332f90bfa780.ac49f1f07c5d1132
+    287a8219cd6d485c
+VCMPSS_128_0x9(mem)
+  before
+    e1621a1efc061150.2e121418b16de2da.93ffea061b5c532e.09cef685babc2db5
+    b3cb33ec24332a3b.c90c7501f41809f7.3d4d7391e37dec18.105e4e22f8f5e46e
+    79824b6d61014c48.92d02693f6107cdb.2e447c1bf2f9f2ce.56d43872e7f60959
+    1153dd8ed17b36a4.e5ab223a52e27634.41af818f65dc217e.387aafe12349d822
+    139dafdb477c8d75
+  after
+    e1621a1efc061150.2e121418b16de2da.93ffea061b5c532e.09cef685babc2db5
+    b3cb33ec24332a3b.c90c7501f41809f7.3d4d7391e37dec18.105e4e22f8f5e46e
+    0000000000000000.0000000000000000.3d4d7391e37dec18.105e4e22ffffffff
+    1153dd8ed17b36a4.e5ab223a52e27634.41af818f65dc217e.387aafe12349d822
+    139dafdb477c8d75
+
+VCMPSS_128_0x9(reg)
+  before
+    418934cdef1a63fd.560a663c8dada27b.1eea6562a41934ab.5459ffd957303451
+    208a3a21b8b09767.24726061b3a44df8.99d7eb788a42f1ef.420f71e5e503e876
+    0aecbe453dc9655e.565949eb5f6bf348.b1beb1e69de7ebaa.e79d539f2b61f917
+    5cfbbba31bf1088f.ca899cc5ac0f4f96.c4edb21a7b975c88.1ecf21f343552260
+    c57158cd4ceb217e
+  after
+    0000000000000000.0000000000000000.99d7eb788a42f1ef.420f71e5ffffffff
+    208a3a21b8b09767.24726061b3a44df8.99d7eb788a42f1ef.420f71e5e503e876
+    0aecbe453dc9655e.565949eb5f6bf348.b1beb1e69de7ebaa.e79d539f2b61f917
+    5cfbbba31bf1088f.ca899cc5ac0f4f96.c4edb21a7b975c88.1ecf21f343552260
+    c57158cd4ceb217e
+VCMPSS_128_0x9(mem)
+  before
+    b74e731a5f2fb09d.72022da9edb5bda5.5bcfd5dab69a1e0f.2dafea7fc0db8136
+    cf33eec49a2e8be8.a94e10c250a0c04d.e4f771189a1a1cde.484f558007419560
+    ebed45b919f3708c.5b2c615adf3f4d33.43cdea6a749b0530.701aef8bec54d6b1
+    e546f4e3f78a19b5.e5e61bdd361c9f02.521cbebc5f279431.035cb50b0ca17ed6
+    5c61a26c02b3c97b
+  after
+    b74e731a5f2fb09d.72022da9edb5bda5.5bcfd5dab69a1e0f.2dafea7fc0db8136
+    cf33eec49a2e8be8.a94e10c250a0c04d.e4f771189a1a1cde.484f558007419560
+    0000000000000000.0000000000000000.e4f771189a1a1cde.484f558000000000
+    e546f4e3f78a19b5.e5e61bdd361c9f02.521cbebc5f279431.035cb50b0ca17ed6
+    5c61a26c02b3c97b
+
+VMASKMOVPS_128_LoadForm(reg)
+  before
+    d675b21a6b16f54b.9b0b78305100438e.a3c83ab7f3c5f367.efb268fb77cd860c
+    cfe3e182e2563cf3.e7074c8b4260a943.f120ba54afc6850d.f4596411d99697ee
+    a1f92c0e0400db1e.a708ece0e6b70902.2b39972008a990a1.3fde2feba0908203
+    aa018e2b6ca00d79.b5d8d41b5a0f1df5.ad5ece889afd52cf.aa0d4476e9c60476
+    13b21e9ccf44d973
+  after
+    d675b21a6b16f54b.9b0b78305100438e.a3c83ab7f3c5f367.efb268fb77cd860c
+    cfe3e182e2563cf3.e7074c8b4260a943.f120ba54afc6850d.f4596411d99697ee
+    a1f92c0e0400db1e.a708ece0e6b70902.2b39972008a990a1.3fde2feba0908203
+    aa018e2b6ca00d79.b5d8d41b5a0f1df5.ad5ece889afd52cf.aa0d4476e9c60476
+    13b21e9ccf44d973
+VMASKMOVPS_128_LoadForm(mem)
+  before
+    54993c4b6f17bd28.44480346b7c00faf.ee458128ba77a148.d3dc5af6004b0542
+    4a8e176ee44a6bbf.cd1a87ca80ee1d6d.2f196ef321f85328.f9ff37d8d621e5a7
+    d15c2df14aeaa064.9fc3162264b5735f.52211768aba0edc1.7b136199b90a30a9
+    c6d0f8c0bf021844.188fadbcfea24d30.3429f874757a2c3e.b564d5a4449220f5
+    033d8e671446f237
+  after
+    54993c4b6f17bd28.44480346b7c00faf.ee458128ba77a148.d3dc5af6004b0542
+    4a8e176ee44a6bbf.cd1a87ca80ee1d6d.2f196ef321f85328.f9ff37d8d621e5a7
+    0000000000000000.0000000000000000.0000000000000000.d3dc5af6004b0542
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    033d8e671446f237
+
+VMASKMOVPS_128_LoadForm(reg)
+  before
+    c1ec884dc4b1e11a.03b6f6c75c9e8e8b.92c94703eb40e68d.b1fc8d019a93cccc
+    4abbbfc2f1602a4b.65daa3f23fcac064.6abfe063c61b7b22.a66853fd37f58896
+    fcf72f3237de0975.c808792d849367fc.fdbb74482bc0479a.ed37c55367af1dc9
+    32ecd50a30b7ba45.080cf6644605427e.a50a001eb7ba88a1.63365fee47ca4791
+    e4319dbcf254c119
+  after
+    c1ec884dc4b1e11a.03b6f6c75c9e8e8b.92c94703eb40e68d.b1fc8d019a93cccc
+    4abbbfc2f1602a4b.65daa3f23fcac064.6abfe063c61b7b22.a66853fd37f58896
+    fcf72f3237de0975.c808792d849367fc.fdbb74482bc0479a.ed37c55367af1dc9
+    32ecd50a30b7ba45.080cf6644605427e.a50a001eb7ba88a1.63365fee47ca4791
+    e4319dbcf254c119
+VMASKMOVPS_128_LoadForm(mem)
+  before
+    4cf4fca88558488e.48e6acb47a777866.01b19584a12a0b17.bff87e52069578e5
+    774bf69e1be3981b.9930b09db1ab8085.90c4d277b2107ff3.a7d0ec4eb2de530f
+    4101098bd1006ded.8318dd3270de0e4e.8f11292b94c25a3d.b9e0457f5a2057ce
+    86e4b159c2bb8230.61e82fdd549d5e6c.db64178b644d5822.5272865298e8becc
+    ccd3a93208c0c5b5
+  after
+    4cf4fca88558488e.48e6acb47a777866.01b19584a12a0b17.bff87e52069578e5
+    774bf69e1be3981b.9930b09db1ab8085.90c4d277b2107ff3.a7d0ec4eb2de530f
+    0000000000000000.0000000000000000.01b19584a12a0b17.bff87e52069578e5
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    ccd3a93208c0c5b5
+
+VMASKMOVPS_128_LoadForm(reg)
+  before
+    8450ac8a4736a837.22be68f50a21940f.8eeda30cf873ab8c.508916823ebc34cd
+    d6338ac8f0d6a2fb.f15cac4cc63d5fb7.6873342af8ec325a.ca4ca4fe3c1bab6b
+    1ec83f57a02bf0b0.cf8af748121b9f53.49c6dea3f1952f81.24783dea7d777928
+    b85dc8a3f2c1ce00.9814c7d709c80f10.8f329de37ff9ddae.3cdb5b321adb592f
+    ed3f7cc3315308ad
+  after
+    8450ac8a4736a837.22be68f50a21940f.8eeda30cf873ab8c.508916823ebc34cd
+    d6338ac8f0d6a2fb.f15cac4cc63d5fb7.6873342af8ec325a.ca4ca4fe3c1bab6b
+    1ec83f57a02bf0b0.cf8af748121b9f53.49c6dea3f1952f81.24783dea7d777928
+    b85dc8a3f2c1ce00.9814c7d709c80f10.8f329de37ff9ddae.3cdb5b321adb592f
+    ed3f7cc3315308ad
+VMASKMOVPS_128_LoadForm(mem)
+  before
+    13711b87deec42cd.003c201883247797.28c698e3c74f6c1a.94036e563da4798c
+    8a3db46b3cb1c2bc.52b34222eee12923.5a6be45a69bc729c.b6844c68c7233fc8
+    2d6fc35c68ae46a5.0a0c2d2ecf831e4d.0cd029270b1cdcc3.4f023385ba016b0d
+    dad2c5447df088b6.8394daa6c39792c4.19c2e236c77a67ba.bcc91f1ab1ca3808
+    5a250d91490be365
+  after
+    13711b87deec42cd.003c201883247797.28c698e3c74f6c1a.94036e563da4798c
+    8a3db46b3cb1c2bc.52b34222eee12923.5a6be45a69bc729c.b6844c68c7233fc8
+    0000000000000000.0000000000000000.0000000000000000.94036e563da4798c
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    5a250d91490be365
+
+VMASKMOVPS_256_LoadForm(reg)
+  before
+    8362f7581d4fa8cf.6c34341197824418.1b9747f866a7c332.5d0b8b73bce2cfae
+    94cbdbd9ca22c2f3.bf5f8eaed37038fa.2d606e8e5342eb43.b377a0ca0461cfca
+    eaaeb482eb116f7d.ae204e064dc71e85.153d4dd627f147a4.f9d49e28bb02253b
+    df557fbe1da7e818.1743f1072092b3e8.2f78e03b7c421201.0aed0077fdd18b2d
+    c18d42a5e8dbbdcb
+  after
+    8362f7581d4fa8cf.6c34341197824418.1b9747f866a7c332.5d0b8b73bce2cfae
+    94cbdbd9ca22c2f3.bf5f8eaed37038fa.2d606e8e5342eb43.b377a0ca0461cfca
+    eaaeb482eb116f7d.ae204e064dc71e85.153d4dd627f147a4.f9d49e28bb02253b
+    df557fbe1da7e818.1743f1072092b3e8.2f78e03b7c421201.0aed0077fdd18b2d
+    c18d42a5e8dbbdcb
+VMASKMOVPS_256_LoadForm(mem)
+  before
+    fc81e09c952b7942.d00d36f9fb706c70.d494f19c68ddb24d.d65e2129f1c08905
+    9595564a22cd79be.1922d79f22f93532.c3deccb142b5d9e1.683b0e0c20f8e85d
+    6a95219aabce7a6a.16e05d1c2dcd800a.beeffd33ca25e2cf.405ba250a5756bb5
+    554dbc774b393773.2393c4dcb97889a4.a391010c1a3a8944.b90ad9611dc34db8
+    3194afab236ecc13
+  after
+    fc81e09c952b7942.d00d36f9fb706c70.d494f19c68ddb24d.d65e2129f1c08905
+    9595564a22cd79be.1922d79f22f93532.c3deccb142b5d9e1.683b0e0c20f8e85d
+    fc81e09c00000000.0000000000000000.d494f19c00000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3194afab236ecc13
+
+VMASKMOVPS_256_LoadForm(reg)
+  before
+    0244209a54032171.3488a3cf1f1b6e04.9c86094b61878cab.4c91522951fe8c6b
+    8a67299b4b0e8b7f.e114528d427fd94a.dd0726d6c185c4cb.97bb6e778880a572
+    234ac518a51944e8.39bb469ed0713470.426019e776fe6eb1.5edbd0e0dec99182
+    2b36f07ffdb28959.194afaece6fd3da3.27deddec1b7fc609.7ebdf4526ce70bc9
+    d42d56b850e5d173
+  after
+    0244209a54032171.3488a3cf1f1b6e04.9c86094b61878cab.4c91522951fe8c6b
+    8a67299b4b0e8b7f.e114528d427fd94a.dd0726d6c185c4cb.97bb6e778880a572
+    234ac518a51944e8.39bb469ed0713470.426019e776fe6eb1.5edbd0e0dec99182
+    2b36f07ffdb28959.194afaece6fd3da3.27deddec1b7fc609.7ebdf4526ce70bc9
+    d42d56b850e5d173
+VMASKMOVPS_256_LoadForm(mem)
+  before
+    3af673fea6d09dac.fc7aa73bf064967e.5b8dea649f30ae0f.e8cd6e4f4d93077f
+    8de5c61089b22b9f.f361e4b719bca602.dc5092f2181544df.e179c97ea8c76ebe
+    a9c6cbda169a3978.6d36a5611445f792.795f6e836db9bb40.6e2de9e4c7a63772
+    6b65fe4868918165.c447e5a47f8bc2da.0c85fb02b827ce5d.eb37caed46bc9d48
+    b4e16805c295deec
+  after
+    3af673fea6d09dac.fc7aa73bf064967e.5b8dea649f30ae0f.e8cd6e4f4d93077f
+    8de5c61089b22b9f.f361e4b719bca602.dc5092f2181544df.e179c97ea8c76ebe
+    3af673fea6d09dac.fc7aa73b00000000.5b8dea6400000000.e8cd6e4f4d93077f
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    b4e16805c295deec
+
+VMASKMOVPS_256_LoadForm(reg)
+  before
+    2578bf98d6be3409.ad8edb469ba5c08f.55dea1ecf31b4685.7290b45a186b3a63
+    9948cc121fc2db4c.4c0ddfc0cce1b225.7d48d3a60e80bd3f.874a1579a691bb7e
+    6e9d8ae0382e1161.24ad85a317521251.96d1793c6b4664b6.27809a4a81a60cd9
+    ffc2f56cbe8d10f3.113b49d997039d3f.fdc58e1ba7fa7793.2efec0b9c2b5eaa1
+    788f01b287cb1101
+  after
+    2578bf98d6be3409.ad8edb469ba5c08f.55dea1ecf31b4685.7290b45a186b3a63
+    9948cc121fc2db4c.4c0ddfc0cce1b225.7d48d3a60e80bd3f.874a1579a691bb7e
+    6e9d8ae0382e1161.24ad85a317521251.96d1793c6b4664b6.27809a4a81a60cd9
+    ffc2f56cbe8d10f3.113b49d997039d3f.fdc58e1ba7fa7793.2efec0b9c2b5eaa1
+    788f01b287cb1101
+VMASKMOVPS_256_LoadForm(mem)
+  before
+    e101db21ecf33d26.a70509244c6b15af.ef83a85068000f1d.0e6f0eb05e273285
+    451ec9f20c39293c.c4b0c2727e545b40.9a511cf3a7562314.251df5652b59d036
+    80b4481204aa926e.b1101dc4f1d51f53.ee7123ae6f109653.9f1940a8aa1d8e52
+    6e8dd26bef5134e9.c9711585417a9d93.c7af386cdd3a2404.d6b0eae478fea787
+    272eef853089597e
+  after
+    e101db21ecf33d26.a70509244c6b15af.ef83a85068000f1d.0e6f0eb05e273285
+    451ec9f20c39293c.c4b0c2727e545b40.9a511cf3a7562314.251df5652b59d036
+    0000000000000000.a705092400000000.ef83a85068000f1d.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    272eef853089597e
+
+VMASKMOVPD_128_LoadForm(reg)
+  before
+    eedf4bf66f48dee6.eb76e5ebe93acbd8.6a1fa62109cd11ad.01d6d71b0ce08953
+    870efaa5d0ca7369.d33afc7c0f721268.ee66cd04e55cb64d.78b47ca6190f806e
+    4e09f9fef09853b3.02a7940c7d04c6c5.b391849a72b2ca1e.0813a4fa1fd3c77e
+    9e1a436b6a40bb72.548827864dfca31a.13eec94f4c5c87cd.8dc0ca013b3617b2
+    e2876aa888462f34
+  after
+    eedf4bf66f48dee6.eb76e5ebe93acbd8.6a1fa62109cd11ad.01d6d71b0ce08953
+    870efaa5d0ca7369.d33afc7c0f721268.ee66cd04e55cb64d.78b47ca6190f806e
+    4e09f9fef09853b3.02a7940c7d04c6c5.b391849a72b2ca1e.0813a4fa1fd3c77e
+    9e1a436b6a40bb72.548827864dfca31a.13eec94f4c5c87cd.8dc0ca013b3617b2
+    e2876aa888462f34
+VMASKMOVPD_128_LoadForm(mem)
+  before
+    e53400dc230fc930.d58ed459da4de74f.a4a833d69e676494.6bc7978f0de52906
+    71920987279ba2d3.4eb1a935dd4b13f9.d0d433e88a50c65e.1869eac654d9ed74
+    616f0097b0f87649.65cfbc690fc77a1a.b3d8a3a82dc385a5.7420bf61bbc50fc3
+    939561f7db3200bd.76340b630b4c595e.2880ff02a4cd5c95.dc3810cade34cba1
+    adfcdb6f5ab25db8
+  after
+    e53400dc230fc930.d58ed459da4de74f.a4a833d69e676494.6bc7978f0de52906
+    71920987279ba2d3.4eb1a935dd4b13f9.d0d433e88a50c65e.1869eac654d9ed74
+    0000000000000000.0000000000000000.a4a833d69e676494.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    adfcdb6f5ab25db8
+
+VMASKMOVPD_128_LoadForm(reg)
+  before
+    41ba1bbbcacc00b4.e2d1a893c454fd5c.dd2b918d6d67ec72.0d98c4e20a790959
+    f5bccd1acb0df142.29ef5156866a2952.f5014a55d2a36f02.3deb6d357cd3461d
+    254febf8f8016b0e.46bbd92e3d8040ca.1c033326d68c1db9.934676e515e8cf0f
+    2dbf73c1ed35acc3.1300bb0706a3fdf1.ad7b466c14af3344.ed765be0f1c36259
+    254598102e71b927
+  after
+    41ba1bbbcacc00b4.e2d1a893c454fd5c.dd2b918d6d67ec72.0d98c4e20a790959
+    f5bccd1acb0df142.29ef5156866a2952.f5014a55d2a36f02.3deb6d357cd3461d
+    254febf8f8016b0e.46bbd92e3d8040ca.1c033326d68c1db9.934676e515e8cf0f
+    2dbf73c1ed35acc3.1300bb0706a3fdf1.ad7b466c14af3344.ed765be0f1c36259
+    254598102e71b927
+VMASKMOVPD_128_LoadForm(mem)
+  before
+    1980aa63e5fc91a6.6a5860e14734ee0e.6e8c73cbfcde1df2.03b681932896ed4f
+    a3f20cc43472a502.3666aec4a28b6d9a.31297d673c3d5cfa.7cffdf07afd08685
+    a1693a1f37dfb366.ee345ad699c46714.3aa456c7e1cd7534.72a45d3444e63b93
+    edafb060094e75ff.ee0f5e84c96d1628.63c978d8089925cd.43eff58784664824
+    4a2ea56a0adbe9e5
+  after
+    1980aa63e5fc91a6.6a5860e14734ee0e.6e8c73cbfcde1df2.03b681932896ed4f
+    a3f20cc43472a502.3666aec4a28b6d9a.31297d673c3d5cfa.7cffdf07afd08685
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    4a2ea56a0adbe9e5
+
+VMASKMOVPD_128_LoadForm(reg)
+  before
+    e2ab684b73d25981.6492eb73c6cba7f8.9244b838cc12b781.8a646185ccae28f1
+    68b33a945ad6d5a5.e3dc65448b62077e.361d6360413e86cc.89418cb94a173acb
+    399217b35c7399fd.445a9cc074204fbd.36e75c66c27dbeb4.3d2c76629de01688
+    af93fc131436e034.64d80cd19b103ce0.eeed9db8eb5b9ce6.83f0996be2157953
+    355a73c034c31f59
+  after
+    e2ab684b73d25981.6492eb73c6cba7f8.9244b838cc12b781.8a646185ccae28f1
+    68b33a945ad6d5a5.e3dc65448b62077e.361d6360413e86cc.89418cb94a173acb
+    399217b35c7399fd.445a9cc074204fbd.36e75c66c27dbeb4.3d2c76629de01688
+    af93fc131436e034.64d80cd19b103ce0.eeed9db8eb5b9ce6.83f0996be2157953
+    355a73c034c31f59
+VMASKMOVPD_128_LoadForm(mem)
+  before
+    30367f4daff5c3c6.2804e4201eaae7f7.20212f651f3f8a14.b97d24c159655c0e
+    505039fe70b823c5.fe2fcb46175beaf2.520383661ab8f485.f5e1eceda7263ad7
+    71741ebf9317f883.8e61adf19bd625d0.d74883c2a887375e.fd67f1a8722b71ed
+    706ea97d331e012c.34e6878d45a6d33d.8bbdab64e6b80fcb.2d592f5e55fe3efe
+    e104a37bed2edcb4
+  after
+    30367f4daff5c3c6.2804e4201eaae7f7.20212f651f3f8a14.b97d24c159655c0e
+    505039fe70b823c5.fe2fcb46175beaf2.520383661ab8f485.f5e1eceda7263ad7
+    0000000000000000.0000000000000000.0000000000000000.b97d24c159655c0e
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e104a37bed2edcb4
+
+VMASKMOVPD_256_LoadForm(reg)
+  before
+    74b3486cd54489bb.270955226cd9f8eb.4d0a5386b15731e7.4a2e7738ef5837f9
+    44b41a9baace7fc0.7312a19c5b559aec.33190f497c767b77.f0676329df736c14
+    ac5115750757fb6f.305606d51c9ea35c.435eb740428eec9c.5934ec26d4136a48
+    07d83667896c3873.3a9e01bbcabecf67.d92745d99e2bc200.61618d18e746edc0
+    e4b9c2ec3617b0a8
+  after
+    74b3486cd54489bb.270955226cd9f8eb.4d0a5386b15731e7.4a2e7738ef5837f9
+    44b41a9baace7fc0.7312a19c5b559aec.33190f497c767b77.f0676329df736c14
+    ac5115750757fb6f.305606d51c9ea35c.435eb740428eec9c.5934ec26d4136a48
+    07d83667896c3873.3a9e01bbcabecf67.d92745d99e2bc200.61618d18e746edc0
+    e4b9c2ec3617b0a8
+VMASKMOVPD_256_LoadForm(mem)
+  before
+    be09088edd93702d.b39377dccb987479.6db90f3981c3d939.51beb77e2cda374f
+    cb1dd9ebf7c5e97b.0acfd6406967e92d.a572ab3b5eb87efd.0770079d89268737
+    e7c1b3eda0b9d7be.6ad84efe0066d33a.be9551ad7caa7adf.578933a1509cef61
+    eec11182f57cf521.2dfadc842c20704d.93ed7e7bf8a4880c.9d5537f61ec6ac7c
+    351f0d088e32f732
+  after
+    be09088edd93702d.b39377dccb987479.6db90f3981c3d939.51beb77e2cda374f
+    cb1dd9ebf7c5e97b.0acfd6406967e92d.a572ab3b5eb87efd.0770079d89268737
+    be09088edd93702d.0000000000000000.6db90f3981c3d939.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    351f0d088e32f732
+
+VMASKMOVPD_256_LoadForm(reg)
+  before
+    7b35b3433d6c0f2f.bce96f95121900d0.b1807a3d8821fa11.0247ad91edb265b0
+    cbe12413c6ff2e21.2d044a11129cb4f8.50b72696b0f5ae33.e66f59db77e1cdf6
+    81705ce4c57791b1.1cdf1de41112ccc5.68ecdbf94129c75e.1b310045b43c7b0b
+    f92e5723d760748e.674764f92c860562.536995d3d649833f.7d591ebcbdcf2d1b
+    e7b22d2ab0a79d51
+  after
+    7b35b3433d6c0f2f.bce96f95121900d0.b1807a3d8821fa11.0247ad91edb265b0
+    cbe12413c6ff2e21.2d044a11129cb4f8.50b72696b0f5ae33.e66f59db77e1cdf6
+    81705ce4c57791b1.1cdf1de41112ccc5.68ecdbf94129c75e.1b310045b43c7b0b
+    f92e5723d760748e.674764f92c860562.536995d3d649833f.7d591ebcbdcf2d1b
+    e7b22d2ab0a79d51
+VMASKMOVPD_256_LoadForm(mem)
+  before
+    370aab7da9cf87da.8f67123a98471262.e9069b3c7e041bfc.6e7b51910cdf1c82
+    482b13a0c353a9e1.9f678897a3b7a8d9.7de83e9a2499c9bf.166d099d7e79ced2
+    f5e2e17f1a40bd93.8479b5a5943d72a0.01bbcafd3950cdd6.a58dbb65c9a3d7dc
+    1cfb9206cba1801b.9ceb95cf0864ac63.504ab952da35e16e.7825635488e7714b
+    eb83fbd558d3d9cc
+  after
+    370aab7da9cf87da.8f67123a98471262.e9069b3c7e041bfc.6e7b51910cdf1c82
+    482b13a0c353a9e1.9f678897a3b7a8d9.7de83e9a2499c9bf.166d099d7e79ced2
+    0000000000000000.8f67123a98471262.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    eb83fbd558d3d9cc
+
+VMASKMOVPD_256_LoadForm(reg)
+  before
+    5bf18056d4f34b0b.9742a021f283ada7.420724839bb891cd.456089862255c1b2
+    22bcef4299d102b3.448389bcaaf00160.d11a5f2ce8c55e8b.becab6832ebb2bcf
+    9d30430542fc3b71.fd89c8c30ff73875.a77041368b184e49.9554ba371974d9f0
+    2898780c6bfd32f1.a021d9223ea10e0f.1f55c60d213d9fb2.a8ca138dff8a8842
+    d1f83c71fd0cf3f1
+  after
+    5bf18056d4f34b0b.9742a021f283ada7.420724839bb891cd.456089862255c1b2
+    22bcef4299d102b3.448389bcaaf00160.d11a5f2ce8c55e8b.becab6832ebb2bcf
+    9d30430542fc3b71.fd89c8c30ff73875.a77041368b184e49.9554ba371974d9f0
+    2898780c6bfd32f1.a021d9223ea10e0f.1f55c60d213d9fb2.a8ca138dff8a8842
+    d1f83c71fd0cf3f1
+VMASKMOVPD_256_LoadForm(mem)
+  before
+    eeaab1cf2f03d828.1f428bc1b16222de.071839c652fc3f5d.9414ea1e45be8b73
+    d9abee93b07df114.de787691b0b648e4.1038639968138689.64fbaad394294f37
+    6fc870a99c85fae1.c18737e90385e0b0.954dd3899bf2a0c0.e9540099a90926ab
+    8dcdb1fd1027b1ba.24bbc933465c26ee.7425058008a6482d.816ceadd21eb4e7a
+    868f640a975a0151
+  after
+    eeaab1cf2f03d828.1f428bc1b16222de.071839c652fc3f5d.9414ea1e45be8b73
+    d9abee93b07df114.de787691b0b648e4.1038639968138689.64fbaad394294f37
+    eeaab1cf2f03d828.1f428bc1b16222de.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    868f640a975a0151
+
diff --git a/none/tests/amd64/avx-1.vgtest b/none/tests/amd64/avx-1.vgtest
new file mode 100644
index 0000000..0f650d1
--- /dev/null
+++ b/none/tests/amd64/avx-1.vgtest
@@ -0,0 +1,3 @@
+prog: avx-1
+prereq: ../../../tests/x86_amd64_features amd64-avx
+vgopts: -q
diff --git a/none/tests/amd64/avx2-1.c b/none/tests/amd64/avx2-1.c
new file mode 100644
index 0000000..161002d
--- /dev/null
+++ b/none/tests/amd64/avx2-1.c
@@ -0,0 +1,1467 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <malloc.h>
+
+typedef  unsigned char           UChar;
+typedef  unsigned int            UInt;
+typedef  unsigned long int       UWord;
+typedef  unsigned long long int  ULong;
+
+UChar randArray[1027] __attribute__((used));
+
+#define IS_32_ALIGNED(_ptr) (0 == (0x1F & (UWord)(_ptr)))
+
+typedef  union { UChar u8[32];  UInt u32[8];  }  YMM;
+
+typedef  struct {  YMM a1; YMM a2; YMM a3; YMM a4; ULong u64; }  Block;
+
+void showYMM ( YMM* vec )
+{
+   int i;
+   assert(IS_32_ALIGNED(vec));
+   for (i = 31; i >= 0; i--) {
+      printf("%02x", (UInt)vec->u8[i]);
+      if (i > 0 && 0 == ((i+0) & 7)) printf(".");
+   }
+}
+
+void showBlock ( char* msg, Block* block )
+{
+   printf("  %s\n", msg);
+   printf("    "); showYMM(&block->a1); printf("\n");
+   printf("    "); showYMM(&block->a2); printf("\n");
+   printf("    "); showYMM(&block->a3); printf("\n");
+   printf("    "); showYMM(&block->a4); printf("\n");
+   printf("    %016llx\n", block->u64);
+}
+
+UChar randUChar ( void )
+{
+   static UInt seed = 80021;
+   seed = 1103515245 * seed + 12345;
+   return (seed >> 17) & 0xFF;
+}
+
+void randBlock ( Block* b )
+{
+   int i;
+   UChar* p = (UChar*)b;
+   for (i = 0; i < sizeof(Block); i++)
+      p[i] = randUChar();
+}
+
+
+/* Generate a function test_NAME, that tests the given insn, in both
+   its mem and reg forms.  The reg form of the insn may mention, as
+   operands only %ymm6, %ymm7, %ymm8, %ymm9 and %r14.  The mem form of
+   the insn may mention as operands only (%rax), %ymm7, %ymm8, %ymm9
+   and %r14.  It's OK for the insn to clobber ymm0, as this is needed
+   for testing PCMPxSTRx. */
+
+#define GEN_test_RandM(_name, _reg_form, _mem_form)   \
+    \
+    __attribute__ ((noinline)) static void test_##_name ( void )   \
+    { \
+       Block* b = memalign(32, sizeof(Block)); \
+       randBlock(b); \
+       printf("%s(reg)\n", #_name); \
+       showBlock("before", b); \
+       __asm__ __volatile__( \
+          "vmovdqa   0(%0),%%ymm7"  "\n\t" \
+          "vmovdqa  32(%0),%%ymm8"  "\n\t" \
+          "vmovdqa  64(%0),%%ymm6"  "\n\t" \
+          "vmovdqa  96(%0),%%ymm9"  "\n\t" \
+          "movq    128(%0),%%r14"   "\n\t" \
+          _reg_form   "\n\t" \
+          "vmovdqa %%ymm7,  0(%0)"  "\n\t" \
+          "vmovdqa %%ymm8, 32(%0)"  "\n\t" \
+          "vmovdqa %%ymm6, 64(%0)"  "\n\t" \
+          "vmovdqa %%ymm9, 96(%0)"  "\n\t" \
+          "movq    %%r14, 128(%0)"  "\n\t" \
+          : /*OUT*/  \
+          : /*IN*/"r"(b) \
+          : /*TRASH*/"xmm0","xmm7","xmm8","xmm6","xmm9","r14","memory","cc" \
+       ); \
+       showBlock("after", b); \
+       randBlock(b); \
+       printf("%s(mem)\n", #_name); \
+       showBlock("before", b); \
+       __asm__ __volatile__( \
+          "leaq      0(%0),%%rax"  "\n\t" \
+          "vmovdqa  32(%0),%%ymm8"  "\n\t" \
+          "vmovdqa  64(%0),%%ymm7"  "\n\t" \
+          "vmovdqa  96(%0),%%ymm9"  "\n\t" \
+          "movq    128(%0),%%r14"   "\n\t" \
+          _mem_form   "\n\t" \
+          "vmovdqa %%ymm8, 32(%0)"  "\n\t" \
+          "vmovdqa %%ymm7, 64(%0)"  "\n\t" \
+          "vmovdqa %%ymm9, 96(%0)"  "\n\t" \
+          "movq    %%r14, 128(%0)"  "\n\t" \
+          : /*OUT*/  \
+          : /*IN*/"r"(b) \
+          : /*TRASH*/"xmm0","xmm8","xmm7","xmm9","r14","rax","memory","cc" \
+       ); \
+       showBlock("after", b); \
+       printf("\n"); \
+       free(b); \
+    }
+
+#define GEN_test_Ronly(_name, _reg_form) \
+   GEN_test_RandM(_name, _reg_form, "")
+#define GEN_test_Monly(_name, _mem_form) \
+   GEN_test_RandM(_name, "", _mem_form)
+
+/* Vector integers promoved from 128-bit in AVX to 256-bit in AVX2.  */
+
+GEN_test_RandM(VPOR_256,
+               "vpor %%ymm6,  %%ymm8, %%ymm7",
+               "vpor (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPXOR_256,
+               "vpxor %%ymm6,  %%ymm8, %%ymm7",
+               "vpxor (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSUBB_256,
+               "vpsubb %%ymm6,  %%ymm8, %%ymm7",
+               "vpsubb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSUBD_256,
+               "vpsubd %%ymm6,  %%ymm8, %%ymm7",
+               "vpsubd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPADDD_256,
+               "vpaddd %%ymm6,  %%ymm8, %%ymm7",
+               "vpaddd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMOVZXWD_256,
+               "vpmovzxwd %%xmm6,  %%ymm8",
+               "vpmovzxwd (%%rax), %%ymm8")
+
+GEN_test_RandM(VPMOVZXBW_256,
+               "vpmovzxbw %%xmm6,  %%ymm8",
+               "vpmovzxbw (%%rax), %%ymm8")
+
+GEN_test_RandM(VPBLENDVB_256,
+               "vpblendvb %%ymm9, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendvb %%ymm9, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMINSD_256,
+               "vpminsd %%ymm6,  %%ymm8, %%ymm7",
+               "vpminsd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMAXSD_256,
+               "vpmaxsd %%ymm6,  %%ymm8, %%ymm7",
+               "vpmaxsd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSHUFB_256,
+               "vpshufb %%ymm6,  %%ymm8, %%ymm7",
+               "vpshufb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPUNPCKLBW_256,
+               "vpunpcklbw %%ymm6,  %%ymm8, %%ymm7",
+               "vpunpcklbw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPUNPCKHBW_256,
+               "vpunpckhbw %%ymm6,  %%ymm8, %%ymm7",
+               "vpunpckhbw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPABSD_256,
+               "vpabsd %%ymm6,  %%ymm8",
+               "vpabsd (%%rax), %%ymm8")
+
+GEN_test_RandM(VPACKUSWB_256,
+               "vpackuswb %%ymm9,  %%ymm8, %%ymm7",
+               "vpackuswb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_Ronly(VPMOVMSKB_256,
+               "vpmovmskb %%ymm8, %%r14")
+
+GEN_test_RandM(VPAND_256,
+               "vpand %%ymm9,  %%ymm8, %%ymm7",
+               "vpand (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPCMPEQB_256,
+               "vpcmpeqb %%ymm9,  %%ymm8, %%ymm7",
+               "vpcmpeqb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSHUFLW_0x39_256,
+               "vpshuflw $0x39, %%ymm9,  %%ymm7",
+               "vpshuflw $0xC6, (%%rax), %%ymm8")
+
+GEN_test_RandM(VPSHUFHW_0x39_256,
+               "vpshufhw $0x39, %%ymm9,  %%ymm7",
+               "vpshufhw $0xC6, (%%rax), %%ymm8")
+
+GEN_test_RandM(VPMULLW_256,
+               "vpmullw %%ymm9,  %%ymm8, %%ymm7",
+               "vpmullw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPADDUSW_256,
+               "vpaddusw %%ymm9,  %%ymm8, %%ymm7",
+               "vpaddusw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMULHUW_256,
+               "vpmulhuw %%ymm9,  %%ymm8, %%ymm7",
+               "vpmulhuw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPADDUSB_256,
+               "vpaddusb %%ymm9,  %%ymm8, %%ymm7",
+               "vpaddusb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPUNPCKLWD_256,
+               "vpunpcklwd %%ymm6,  %%ymm8, %%ymm7",
+               "vpunpcklwd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPUNPCKHWD_256,
+               "vpunpckhwd %%ymm6,  %%ymm8, %%ymm7",
+               "vpunpckhwd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_Ronly(VPSLLD_0x05_256,
+               "vpslld $0x5, %%ymm9,  %%ymm7")
+
+GEN_test_Ronly(VPSRLD_0x05_256,
+               "vpsrld $0x5, %%ymm9,  %%ymm7")
+
+GEN_test_Ronly(VPSRAD_0x05_256,
+               "vpsrad $0x5, %%ymm9,  %%ymm7")
+
+GEN_test_RandM(VPSUBUSB_256,
+               "vpsubusb %%ymm9,  %%ymm8, %%ymm7",
+               "vpsubusb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSUBSB_256,
+               "vpsubsb %%ymm9,  %%ymm8, %%ymm7",
+               "vpsubsb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_Ronly(VPSRLDQ_0x05_256,
+               "vpsrldq $0x5, %%ymm9,  %%ymm7")
+
+GEN_test_Ronly(VPSLLDQ_0x05_256,
+               "vpslldq $0x5, %%ymm9,  %%ymm7")
+
+GEN_test_RandM(VPANDN_256,
+               "vpandn %%ymm9,  %%ymm8, %%ymm7",
+               "vpandn (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPUNPCKLQDQ_256,
+               "vpunpcklqdq %%ymm6,  %%ymm8, %%ymm7",
+               "vpunpcklqdq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_Ronly(VPSRLW_0x05_256,
+               "vpsrlw $0x5, %%ymm9,  %%ymm7")
+
+GEN_test_Ronly(VPSLLW_0x05_256,
+               "vpsllw $0x5, %%ymm9,  %%ymm7")
+
+GEN_test_RandM(VPADDW_256,
+               "vpaddw %%ymm6,  %%ymm8, %%ymm7",
+               "vpaddw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPACKSSDW_256,
+               "vpackssdw %%ymm9,  %%ymm8, %%ymm7",
+               "vpackssdw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPUNPCKLDQ_256,
+               "vpunpckldq %%ymm6,  %%ymm8, %%ymm7",
+               "vpunpckldq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPCMPEQD_256,
+               "vpcmpeqd %%ymm6,  %%ymm8, %%ymm7",
+               "vpcmpeqd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSHUFD_0x39_256,
+               "vpshufd $0x39, %%ymm9,  %%ymm8",
+               "vpshufd $0xC6, (%%rax), %%ymm7")
+
+GEN_test_RandM(VPADDQ_256,
+               "vpaddq %%ymm6,  %%ymm8, %%ymm7",
+               "vpaddq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSUBQ_256,
+               "vpsubq %%ymm6,  %%ymm8, %%ymm7",
+               "vpsubq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSUBW_256,
+               "vpsubw %%ymm6,  %%ymm8, %%ymm7",
+               "vpsubw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPCMPEQQ_256,
+               "vpcmpeqq %%ymm6,  %%ymm8, %%ymm7",
+               "vpcmpeqq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPCMPGTQ_256,
+               "vpcmpgtq %%ymm6,  %%ymm8, %%ymm7",
+               "vpcmpgtq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_Ronly(VPSRLQ_0x05_256,
+               "vpsrlq $0x5, %%ymm9,  %%ymm7")
+
+GEN_test_RandM(VPMULUDQ_256,
+               "vpmuludq %%ymm6,  %%ymm8, %%ymm7",
+               "vpmuludq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMULDQ_256,
+               "vpmuldq %%ymm6,  %%ymm8, %%ymm7",
+               "vpmuldq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_Ronly(VPSLLQ_0x05_256,
+               "vpsllq $0x5, %%ymm9,  %%ymm7")
+
+GEN_test_RandM(VPMAXUD_256,
+               "vpmaxud %%ymm6,  %%ymm8, %%ymm7",
+               "vpmaxud (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMINUD_256,
+               "vpminud %%ymm6,  %%ymm8, %%ymm7",
+               "vpminud (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMULLD_256,
+               "vpmulld %%ymm6,  %%ymm8, %%ymm7",
+               "vpmulld (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMAXUW_256,
+               "vpmaxuw %%ymm6,  %%ymm8, %%ymm7",
+               "vpmaxuw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMINUW_256,
+               "vpminuw %%ymm6,  %%ymm8, %%ymm7",
+               "vpminuw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMAXSW_256,
+               "vpmaxsw %%ymm6,  %%ymm8, %%ymm7",
+               "vpmaxsw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMINSW_256,
+               "vpminsw %%ymm6,  %%ymm8, %%ymm7",
+               "vpminsw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMAXUB_256,
+               "vpmaxub %%ymm6,  %%ymm8, %%ymm7",
+               "vpmaxub (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMINUB_256,
+               "vpminub %%ymm6,  %%ymm8, %%ymm7",
+               "vpminub (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMAXSB_256,
+               "vpmaxsb %%ymm6,  %%ymm8, %%ymm7",
+               "vpmaxsb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMINSB_256,
+               "vpminsb %%ymm6,  %%ymm8, %%ymm7",
+               "vpminsb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMOVSXBW_256,
+               "vpmovsxbw %%xmm6,  %%ymm8",
+               "vpmovsxbw (%%rax), %%ymm8")
+
+GEN_test_RandM(VPSUBUSW_256,
+               "vpsubusw %%ymm9,  %%ymm8, %%ymm7",
+               "vpsubusw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSUBSW_256,
+               "vpsubsw %%ymm9,  %%ymm8, %%ymm7",
+               "vpsubsw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPCMPEQW_256,
+               "vpcmpeqw %%ymm6,  %%ymm8, %%ymm7",
+               "vpcmpeqw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPADDB_256,
+               "vpaddb %%ymm6,  %%ymm8, %%ymm7",
+               "vpaddb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPUNPCKHDQ_256,
+               "vpunpckhdq %%ymm6,  %%ymm8, %%ymm7",
+               "vpunpckhdq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMOVSXDQ_256,
+               "vpmovsxdq %%xmm6,  %%ymm8",
+               "vpmovsxdq (%%rax), %%ymm8")
+
+GEN_test_RandM(VPMOVSXWD_256,
+               "vpmovsxwd %%xmm6,  %%ymm8",
+               "vpmovsxwd (%%rax), %%ymm8")
+
+GEN_test_RandM(VPMULHW_256,
+               "vpmulhw %%ymm9,  %%ymm8, %%ymm7",
+               "vpmulhw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPUNPCKHQDQ_256,
+               "vpunpckhqdq %%ymm6,  %%ymm8, %%ymm7",
+               "vpunpckhqdq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_Ronly(VPSRAW_0x05_256,
+               "vpsraw $0x5, %%ymm9,  %%ymm7")
+
+GEN_test_RandM(VPCMPGTB_256,
+               "vpcmpgtb %%ymm6,  %%ymm8, %%ymm7",
+               "vpcmpgtb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPCMPGTW_256,
+               "vpcmpgtw %%ymm6,  %%ymm8, %%ymm7",
+               "vpcmpgtw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPCMPGTD_256,
+               "vpcmpgtd %%ymm6,  %%ymm8, %%ymm7",
+               "vpcmpgtd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMOVZXBD_256,
+               "vpmovzxbd %%xmm6,  %%ymm8",
+               "vpmovzxbd (%%rax), %%ymm8")
+
+GEN_test_RandM(VPMOVSXBD_256,
+               "vpmovsxbd %%xmm6,  %%ymm8",
+               "vpmovsxbd (%%rax), %%ymm8")
+
+GEN_test_RandM(VPALIGNR_256_1of3,
+               "vpalignr $0, %%ymm6,  %%ymm8, %%ymm7",
+               "vpalignr $3, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPALIGNR_256_2of3,
+               "vpalignr $6, %%ymm6,  %%ymm8, %%ymm7",
+               "vpalignr $9, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPALIGNR_256_3of3,
+               "vpalignr $12, %%ymm6,  %%ymm8, %%ymm7",
+               "vpalignr $15, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPBLENDW_256_0x00,
+               "vpblendw $0x00, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendw $0x01, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDW_256_0xFE,
+               "vpblendw $0xFE, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendw $0xFF, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDW_256_0x30,
+               "vpblendw $0x30, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendw $0x03, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDW_256_0x21,
+               "vpblendw $0x21, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendw $0x12, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDW_256_0xD7,
+               "vpblendw $0xD7, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendw $0x6C, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDW_256_0xB5,
+               "vpblendw $0xB5, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendw $0x4A, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDW_256_0x85,
+               "vpblendw $0x85, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendw $0xDC, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDW_256_0x29,
+               "vpblendw $0x29, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendw $0x92, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSLLW_256,
+               "andl $15, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsllw %%xmm6,     %%ymm8, %%ymm9",
+               "andq $15, 128(%%rax);"
+               "vpsllw 128(%%rax), %%ymm8, %%ymm9")
+
+GEN_test_RandM(VPSRLW_256,
+               "andl $15, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsrlw %%xmm6,     %%ymm8, %%ymm9",
+               "andq $15, 128(%%rax);"
+               "vpsrlw 128(%%rax), %%ymm8, %%ymm9")
+
+GEN_test_RandM(VPSRAW_256,
+               "andl $31, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsraw %%xmm6,     %%ymm8, %%ymm9",
+               "andq $15, 128(%%rax);"
+               "vpsraw 128(%%rax), %%ymm8, %%ymm9")
+
+GEN_test_RandM(VPSLLD_256,
+               "andl $31, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpslld %%xmm6,     %%ymm8, %%ymm9",
+               "andq $31, 128(%%rax);"
+               "vpslld 128(%%rax), %%ymm8, %%ymm9")
+
+GEN_test_RandM(VPSRLD_256,
+               "andl $31, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsrld %%xmm6,     %%ymm8, %%ymm9",
+               "andq $31, 128(%%rax);"
+               "vpsrld 128(%%rax), %%ymm8, %%ymm9")
+
+GEN_test_RandM(VPSRAD_256,
+               "andl $31, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsrad %%xmm6,     %%ymm8, %%ymm9",
+               "andq $31, 128(%%rax);"
+               "vpsrad 128(%%rax), %%ymm8, %%ymm9")
+
+GEN_test_RandM(VPSLLQ_256,
+               "andl $63, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsllq %%xmm6,     %%ymm8, %%ymm9",
+               "andq $63, 128(%%rax);"
+               "vpsllq 128(%%rax), %%ymm8, %%ymm9")
+
+GEN_test_RandM(VPSRLQ_256,
+               "andl $63, %%r14d;"
+               "vmovd %%r14d, %%xmm6;"
+               "vpsrlq %%xmm6,     %%ymm8, %%ymm9",
+               "andq $63, 128(%%rax);"
+               "vpsrlq 128(%%rax), %%ymm8, %%ymm9")
+
+GEN_test_RandM(VPMADDWD_256,
+               "vpmaddwd %%ymm6,  %%ymm8, %%ymm7",
+               "vpmaddwd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_Monly(VMOVNTDQA_256,
+               "vmovntdqa (%%rax), %%ymm9")
+
+GEN_test_RandM(VPACKSSWB_256,
+               "vpacksswb %%ymm6,  %%ymm8, %%ymm7",
+               "vpacksswb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPAVGB_256,
+               "vpavgb %%ymm6,  %%ymm8, %%ymm7",
+               "vpavgb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPAVGW_256,
+               "vpavgw %%ymm6,  %%ymm8, %%ymm7",
+               "vpavgw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPADDSB_256,
+               "vpaddsb %%ymm6,  %%ymm8, %%ymm7",
+               "vpaddsb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPADDSW_256,
+               "vpaddsw %%ymm6,  %%ymm8, %%ymm7",
+               "vpaddsw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPHADDW_256,
+               "vphaddw %%ymm6,  %%ymm8, %%ymm7",
+               "vphaddw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPHADDD_256,
+               "vphaddd %%ymm6,  %%ymm8, %%ymm7",
+               "vphaddd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPHADDSW_256,
+               "vphaddsw %%ymm6,  %%ymm8, %%ymm7",
+               "vphaddsw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMADDUBSW_256,
+               "vpmaddubsw %%ymm6,  %%ymm8, %%ymm7",
+               "vpmaddubsw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPHSUBW_256,
+               "vphsubw %%ymm6,  %%ymm8, %%ymm7",
+               "vphsubw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPHSUBD_256,
+               "vphsubd %%ymm6,  %%ymm8, %%ymm7",
+               "vphsubd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPHSUBSW_256,
+               "vphsubsw %%ymm6,  %%ymm8, %%ymm7",
+               "vphsubsw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPABSB_256,
+               "vpabsb %%ymm6,  %%ymm7",
+               "vpabsb (%%rax), %%ymm7")
+
+GEN_test_RandM(VPABSW_256,
+               "vpabsw %%ymm6,  %%ymm7",
+               "vpabsw (%%rax), %%ymm7")
+
+GEN_test_RandM(VPMOVSXBQ_256,
+               "vpmovsxbq %%xmm6,  %%ymm8",
+               "vpmovsxbq (%%rax), %%ymm8")
+
+GEN_test_RandM(VPMOVSXWQ_256,
+               "vpmovsxwq %%xmm6,  %%ymm8",
+               "vpmovsxwq (%%rax), %%ymm8")
+
+GEN_test_RandM(VPACKUSDW_256,
+               "vpackusdw %%ymm6,  %%ymm8, %%ymm7",
+               "vpackusdw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMOVZXBQ_256,
+               "vpmovzxbq %%xmm6,  %%ymm8",
+               "vpmovzxbq (%%rax), %%ymm8")
+
+GEN_test_RandM(VPMOVZXWQ_256,
+               "vpmovzxwq %%xmm6,  %%ymm8",
+               "vpmovzxwq (%%rax), %%ymm8")
+
+GEN_test_RandM(VPMOVZXDQ_256,
+               "vpmovzxdq %%xmm6,  %%ymm8",
+               "vpmovzxdq (%%rax), %%ymm8")
+
+GEN_test_RandM(VMPSADBW_256_0x0,
+               "vmpsadbw $0, %%ymm6,  %%ymm8, %%ymm7",
+               "vmpsadbw $0, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VMPSADBW_256_0x39,
+               "vmpsadbw $0x39, %%ymm6,  %%ymm8, %%ymm7",
+               "vmpsadbw $0x39, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VMPSADBW_256_0x32,
+               "vmpsadbw $0x32, %%ymm6,  %%ymm8, %%ymm7",
+               "vmpsadbw $0x32, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VMPSADBW_256_0x2b,
+               "vmpsadbw $0x2b, %%ymm6,  %%ymm8, %%ymm7",
+               "vmpsadbw $0x2b, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VMPSADBW_256_0x24,
+               "vmpsadbw $0x24, %%ymm6,  %%ymm8, %%ymm7",
+               "vmpsadbw $0x24, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VMPSADBW_256_0x1d,
+               "vmpsadbw $0x1d, %%ymm6,  %%ymm8, %%ymm7",
+               "vmpsadbw $0x1d, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VMPSADBW_256_0x16,
+               "vmpsadbw $0x16, %%ymm6,  %%ymm8, %%ymm7",
+               "vmpsadbw $0x16, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VMPSADBW_256_0x0f,
+               "vmpsadbw $0x0f, %%ymm6,  %%ymm8, %%ymm7",
+               "vmpsadbw $0x0f, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSADBW_256,
+               "vpsadbw %%ymm6,  %%ymm8, %%ymm7",
+               "vpsadbw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSIGNB_256,
+               "vpsignb %%ymm6,  %%ymm8, %%ymm7",
+               "vpsignb (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSIGNW_256,
+               "vpsignw %%ymm6,  %%ymm8, %%ymm7",
+               "vpsignw (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSIGND_256,
+               "vpsignd %%ymm6,  %%ymm8, %%ymm7",
+               "vpsignd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPMULHRSW_256,
+               "vpmulhrsw %%ymm6,  %%ymm8, %%ymm7",
+               "vpmulhrsw (%%rax), %%ymm8, %%ymm7")
+
+/* Instructions new in AVX2.  */
+
+GEN_test_Monly(VBROADCASTI128,
+               "vbroadcasti128 (%%rax), %%ymm9")
+
+GEN_test_RandM(VEXTRACTI128_0x0,
+               "vextracti128 $0x0, %%ymm7, %%xmm9",
+               "vextracti128 $0x0, %%ymm7, (%%rax)")
+
+GEN_test_RandM(VEXTRACTI128_0x1,
+               "vextracti128 $0x1, %%ymm7, %%xmm9",
+               "vextracti128 $0x1, %%ymm7, (%%rax)")
+
+GEN_test_RandM(VINSERTI128_0x0,
+               "vinserti128 $0x0, %%xmm9,  %%ymm7, %%ymm8",
+               "vinserti128 $0x0, (%%rax), %%ymm7, %%ymm8")
+
+GEN_test_RandM(VINSERTI128_0x1,
+               "vinserti128 $0x1, %%xmm9,  %%ymm7, %%ymm8",
+               "vinserti128 $0x1, (%%rax), %%ymm7, %%ymm8")
+
+GEN_test_RandM(VPERM2I128_0x00,
+               "vperm2i128 $0x00, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2i128 $0x00, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2I128_0xFF,
+               "vperm2i128 $0xFF, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2i128 $0xFF, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2I128_0x30,
+               "vperm2i128 $0x30, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2i128 $0x30, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2I128_0x21,
+               "vperm2i128 $0x21, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2i128 $0x21, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2I128_0x12,
+               "vperm2i128 $0x12, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2i128 $0x12, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2I128_0x03,
+               "vperm2i128 $0x03, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2i128 $0x03, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2I128_0x85,
+               "vperm2i128 $0x85, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2i128 $0x85, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPERM2I128_0x5A,
+               "vperm2i128 $0x5A, %%ymm6,  %%ymm8, %%ymm7",
+               "vperm2i128 $0x5A, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_Ronly(VBROADCASTSS_128,
+               "vbroadcastss %%xmm9, %%xmm7")
+
+GEN_test_Ronly(VBROADCASTSS_256,
+               "vbroadcastss %%xmm9, %%ymm7")
+
+GEN_test_Ronly(VBROADCASTSD_256,
+               "vbroadcastsd %%xmm9, %%ymm7")
+
+GEN_test_RandM(VPERMD,
+               "vpermd %%ymm6, %%ymm7, %%ymm9",
+               "vpermd (%%rax), %%ymm7, %%ymm9")
+
+GEN_test_RandM(VPERMQ_0x00,
+               "vpermq $0x00, %%ymm6,  %%ymm7",
+               "vpermq $0x01, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMQ_0xFE,
+               "vpermq $0xFE, %%ymm6,  %%ymm7",
+               "vpermq $0xFF, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMQ_0x30,
+               "vpermq $0x30, %%ymm6,  %%ymm7",
+               "vpermq $0x03, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMQ_0x21,
+               "vpermq $0x21, %%ymm6,  %%ymm7",
+               "vpermq $0x12, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMQ_0xD7,
+               "vpermq $0xD7, %%ymm6,  %%ymm7",
+               "vpermq $0x6C, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMQ_0xB5,
+               "vpermq $0xB5, %%ymm6,  %%ymm7",
+               "vpermq $0x4A, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMQ_0x85,
+               "vpermq $0x85, %%ymm6,  %%ymm7",
+               "vpermq $0xDC, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMQ_0x29,
+               "vpermq $0x29, %%ymm6,  %%ymm7",
+               "vpermq $0x92, (%%rax), %%ymm7")
+
+GEN_test_RandM(VPERMPS,
+               "vpermps %%ymm6, %%ymm7, %%ymm9",
+               "vpermps (%%rax), %%ymm7, %%ymm9")
+
+GEN_test_RandM(VPERMPD_0x00,
+               "vpermpd $0x00, %%ymm6,  %%ymm7",
+               "vpermpd $0x01, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMPD_0xFE,
+               "vpermpd $0xFE, %%ymm6,  %%ymm7",
+               "vpermpd $0xFF, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMPD_0x30,
+               "vpermpd $0x30, %%ymm6,  %%ymm7",
+               "vpermpd $0x03, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMPD_0x21,
+               "vpermpd $0x21, %%ymm6,  %%ymm7",
+               "vpermpd $0x12, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMPD_0xD7,
+               "vpermpd $0xD7, %%ymm6,  %%ymm7",
+               "vpermpd $0x6C, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMPD_0xB5,
+               "vpermpd $0xB5, %%ymm6,  %%ymm7",
+               "vpermpd $0x4A, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMPD_0x85,
+               "vpermpd $0x85, %%ymm6,  %%ymm7",
+               "vpermpd $0xDC, (%%rax), %%ymm7")
+GEN_test_RandM(VPERMPD_0x29,
+               "vpermpd $0x29, %%ymm6,  %%ymm7",
+               "vpermpd $0x92, (%%rax), %%ymm7")
+
+GEN_test_RandM(VPBLENDD_128_0x00,
+               "vpblendd $0x00, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendd $0x01, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDD_128_0x02,
+               "vpblendd $0x02, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendd $0x03, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDD_128_0x04,
+               "vpblendd $0x04, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendd $0x05, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDD_128_0x06,
+               "vpblendd $0x06, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendd $0x07, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDD_128_0x08,
+               "vpblendd $0x08, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendd $0x09, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDD_128_0x0A,
+               "vpblendd $0x0A, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendd $0x0B, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDD_128_0x0C,
+               "vpblendd $0x0C, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendd $0x0D, (%%rax), %%xmm8, %%xmm7")
+GEN_test_RandM(VPBLENDD_128_0x0E,
+               "vpblendd $0x0E, %%xmm6,  %%xmm8, %%xmm7",
+               "vpblendd $0x0F, (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPBLENDD_256_0x00,
+               "vpblendd $0x00, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendd $0x01, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDD_256_0xFE,
+               "vpblendd $0xFE, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendd $0xFF, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDD_256_0x30,
+               "vpblendd $0x30, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendd $0x03, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDD_256_0x21,
+               "vpblendd $0x21, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendd $0x12, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDD_256_0xD7,
+               "vpblendd $0xD7, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendd $0x6C, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDD_256_0xB5,
+               "vpblendd $0xB5, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendd $0x4A, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDD_256_0x85,
+               "vpblendd $0x85, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendd $0xDC, (%%rax), %%ymm8, %%ymm7")
+GEN_test_RandM(VPBLENDD_256_0x29,
+               "vpblendd $0x29, %%ymm6,  %%ymm8, %%ymm7",
+               "vpblendd $0x92, (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSLLVD_128,
+               "vpslld $27, %%xmm6, %%xmm6;"
+               "vpsrld $27, %%xmm6, %%xmm6;"
+               "vpsllvd %%xmm6, %%xmm8, %%xmm7",
+               "andl $31, (%%rax);"
+               "andl $31, 4(%%rax);"
+               "andl $31, 8(%%rax);"
+               "vpsllvd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSLLVD_256,
+               "vpslld $27, %%ymm6, %%ymm6;"
+               "vpsrld $27, %%ymm6, %%ymm6;"
+               "vpsllvd %%ymm6, %%ymm8, %%ymm7",
+               "andl $31, (%%rax);"
+               "andl $31, 4(%%rax);"
+               "andl $31, 8(%%rax);"
+               "andl $31, 16(%%rax);"
+               "andl $31, 20(%%rax);"
+               "andl $31, 24(%%rax);"
+               "vpsllvd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSLLVQ_128,
+               "vpsllq $58, %%xmm6, %%xmm6;"
+               "vpsrlq $58, %%xmm6, %%xmm6;"
+               "vpsllvq %%xmm6, %%xmm8, %%xmm7",
+               "andl $63, (%%rax);"
+               "vpsllvq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSLLVQ_256,
+               "vpsllq $58, %%ymm6, %%ymm6;"
+               "vpsrlq $58, %%ymm6, %%ymm6;"
+               "vpsllvq %%ymm6, %%ymm8, %%ymm7",
+               "andl $63, (%%rax);"
+               "andl $63, 8(%%rax);"
+               "andl $63, 16(%%rax);"
+               "vpsllvq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSRLVD_128,
+               "vpslld $27, %%xmm6, %%xmm6;"
+               "vpsrld $27, %%xmm6, %%xmm6;"
+               "vpsrlvd %%xmm6, %%xmm8, %%xmm7",
+               "andl $31, (%%rax);"
+               "andl $31, 4(%%rax);"
+               "andl $31, 8(%%rax);"
+               "vpsrlvd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSRLVD_256,
+               "vpslld $27, %%ymm6, %%ymm6;"
+               "vpsrld $27, %%ymm6, %%ymm6;"
+               "vpsrlvd %%ymm6, %%ymm8, %%ymm7",
+               "andl $31, (%%rax);"
+               "andl $31, 4(%%rax);"
+               "andl $31, 8(%%rax);"
+               "andl $31, 16(%%rax);"
+               "andl $31, 20(%%rax);"
+               "andl $31, 24(%%rax);"
+               "vpsrlvd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSRLVQ_128,
+               "vpsllq $58, %%xmm6, %%xmm6;"
+               "vpsrlq $58, %%xmm6, %%xmm6;"
+               "vpsrlvq %%xmm6, %%xmm8, %%xmm7",
+               "andl $63, (%%rax);"
+               "vpsrlvq (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSRLVQ_256,
+               "vpsllq $58, %%ymm6, %%ymm6;"
+               "vpsrlq $58, %%ymm6, %%ymm6;"
+               "vpsrlvq %%ymm6, %%ymm8, %%ymm7",
+               "andl $63, (%%rax);"
+               "andl $63, 8(%%rax);"
+               "andl $63, 16(%%rax);"
+               "vpsrlvq (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPSRAVD_128,
+               "vpslld $27, %%xmm6, %%xmm6;"
+               "vpsrld $27, %%xmm6, %%xmm6;"
+               "vpsravd %%xmm6, %%xmm8, %%xmm7",
+               "andl $31, (%%rax);"
+               "andl $31, 4(%%rax);"
+               "andl $31, 8(%%rax);"
+               "vpsravd (%%rax), %%xmm8, %%xmm7")
+
+GEN_test_RandM(VPSRAVD_256,
+               "vpslld $27, %%ymm6, %%ymm6;"
+               "vpsrld $27, %%ymm6, %%ymm6;"
+               "vpsravd %%ymm6, %%ymm8, %%ymm7",
+               "andl $31, (%%rax);"
+               "andl $31, 4(%%rax);"
+               "andl $31, 8(%%rax);"
+               "andl $31, 16(%%rax);"
+               "andl $31, 20(%%rax);"
+               "andl $31, 24(%%rax);"
+               "vpsravd (%%rax), %%ymm8, %%ymm7")
+
+GEN_test_RandM(VPBROADCASTB_128,
+               "vpbroadcastb %%xmm9, %%xmm7",
+               "vpbroadcastb (%%rax), %%xmm7")
+
+GEN_test_RandM(VPBROADCASTB_256,
+               "vpbroadcastb %%xmm9, %%ymm7",
+               "vpbroadcastb (%%rax), %%ymm7")
+
+GEN_test_RandM(VPBROADCASTW_128,
+               "vpbroadcastw %%xmm9, %%xmm7",
+               "vpbroadcastw (%%rax), %%xmm7")
+
+GEN_test_RandM(VPBROADCASTW_256,
+               "vpbroadcastw %%xmm9, %%ymm7",
+               "vpbroadcastw (%%rax), %%ymm7")
+
+GEN_test_RandM(VPBROADCASTD_128,
+               "vpbroadcastd %%xmm9, %%xmm7",
+               "vpbroadcastd (%%rax), %%xmm7")
+
+GEN_test_RandM(VPBROADCASTD_256,
+               "vpbroadcastd %%xmm9, %%ymm7",
+               "vpbroadcastd (%%rax), %%ymm7")
+
+GEN_test_RandM(VPBROADCASTQ_128,
+               "vpbroadcastq %%xmm9, %%xmm7",
+               "vpbroadcastq (%%rax), %%xmm7")
+
+GEN_test_RandM(VPBROADCASTQ_256,
+               "vpbroadcastq %%xmm9, %%ymm7",
+               "vpbroadcastq (%%rax), %%ymm7")
+
+GEN_test_Monly(VPMASKMOVD_128_LoadForm,
+               "vpmaskmovd (%%rax), %%xmm8, %%xmm7;"
+               "vxorps %%xmm6, %%xmm6, %%xmm6;"
+               "vpmaskmovd (%%rax,%%rax,4), %%xmm6, %%xmm9")
+
+GEN_test_Monly(VPMASKMOVD_256_LoadForm,
+               "vpmaskmovd (%%rax), %%ymm8, %%ymm7;"
+               "vxorps %%ymm6, %%ymm6, %%ymm6;"
+               "vpmaskmovd (%%rax,%%rax,4), %%ymm6, %%ymm9")
+
+GEN_test_Monly(VPMASKMOVQ_128_LoadForm,
+               "vpmaskmovq (%%rax), %%xmm8, %%xmm7;"
+               "vxorpd %%xmm6, %%xmm6, %%xmm6;"
+               "vpmaskmovq (%%rax,%%rax,4), %%xmm6, %%xmm9")
+
+GEN_test_Monly(VPMASKMOVQ_256_LoadForm,
+               "vpmaskmovq (%%rax), %%ymm8, %%ymm7;"
+               "vxorpd %%ymm6, %%ymm6, %%ymm6;"
+               "vpmaskmovq (%%rax,%%rax,4), %%ymm6, %%ymm9")
+
+GEN_test_Ronly(VGATHERDPS_128,
+               "vpslld $25, %%xmm7, %%xmm8;"
+               "vpsrld $25, %%xmm8, %%xmm8;"
+               "vblendvps %%xmm6, %%xmm8, %%xmm7, %%xmm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vgatherdps %%xmm6, 3(%%r14,%%xmm8,4), %%xmm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VGATHERDPS_256,
+               "vpslld $25, %%ymm7, %%ymm8;"
+               "vpsrld $25, %%ymm8, %%ymm8;"
+               "vblendvps %%ymm6, %%ymm8, %%ymm7, %%ymm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vgatherdps %%ymm6, 3(%%r14,%%ymm8,4), %%ymm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VGATHERQPS_128_1,
+               "vpsllq $57, %%xmm7, %%xmm8;"
+               "vpsrlq $57, %%xmm8, %%xmm8;"
+               "vpmovsxdq %%xmm6, %%xmm9;"
+               "vblendvpd %%xmm9, %%xmm8, %%xmm7, %%xmm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vgatherqps %%xmm6, 3(%%r14,%%xmm8,4), %%xmm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VGATHERQPS_256_1,
+               "vpsllq $57, %%ymm7, %%ymm8;"
+               "vpsrlq $57, %%ymm8, %%ymm8;"
+               "vpmovsxdq %%xmm6, %%ymm9;"
+               "vblendvpd %%ymm9, %%ymm8, %%ymm7, %%ymm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vgatherqps %%xmm6, 3(%%r14,%%ymm8,4), %%xmm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VGATHERQPS_128_2,
+               "vpsllq $57, %%xmm7, %%xmm8;"
+               "vpsrlq $57, %%xmm8, %%xmm8;"
+               "vpmovsxdq %%xmm6, %%xmm9;"
+               "vblendvpd %%xmm9, %%xmm8, %%xmm7, %%xmm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vmovq %%r14, %%xmm7;"
+               "vpsllq $2, %%xmm8, %%xmm8;"
+               "vpbroadcastq %%xmm7, %%xmm7;"
+               "vpaddq %%xmm7, %%xmm8, %%xmm8;"
+               "vgatherqps %%xmm6, 1(,%%xmm8,1), %%xmm9;"
+               "vpsubq %%xmm7, %%xmm8, %%xmm8;"
+               "vmovdqa 0(%0), %%ymm7;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VGATHERQPS_256_2,
+               "vpsllq $57, %%ymm7, %%ymm8;"
+               "vpsrlq $57, %%ymm8, %%ymm8;"
+               "vpmovsxdq %%xmm6, %%ymm9;"
+               "vblendvpd %%ymm9, %%ymm8, %%ymm7, %%ymm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vmovq %%r14, %%xmm7;"
+               "vpsllq $2, %%ymm8, %%ymm8;"
+               "vpbroadcastq %%xmm7, %%ymm7;"
+               "vpaddq %%ymm7, %%ymm8, %%ymm8;"
+               "vgatherqps %%xmm6, 1(,%%ymm8,1), %%xmm9;"
+               "vpsubq %%ymm7, %%ymm8, %%ymm8;"
+               "vmovdqa 0(%0), %%ymm7;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VGATHERDPD_128,
+               "vpslld $26, %%xmm7, %%xmm8;"
+               "vpsrld $26, %%xmm8, %%xmm8;"
+               "vshufps $13, %%xmm6, %%xmm6, %%xmm9;"
+               "vblendvps %%xmm9, %%xmm8, %%xmm7, %%xmm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vgatherdpd %%xmm6, 3(%%r14,%%xmm8,8), %%xmm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VGATHERDPD_256,
+               "vpslld $26, %%ymm7, %%ymm8;"
+               "vpsrld $26, %%ymm8, %%ymm8;"
+               "vextracti128 $1, %%ymm6, %%xmm9;"
+               "vshufps $221, %%ymm9, %%ymm6, %%ymm9;"
+               "vblendvps %%ymm9, %%ymm8, %%ymm7, %%ymm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vgatherdpd %%ymm6, 3(%%r14,%%xmm8,8), %%ymm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VGATHERQPD_128_1,
+               "vpsllq $58, %%xmm7, %%xmm8;"
+               "vpsrlq $58, %%xmm8, %%xmm8;"
+               "vblendvpd %%xmm6, %%xmm8, %%xmm7, %%xmm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vgatherqpd %%xmm6, 3(%%r14,%%xmm8,8), %%xmm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VGATHERQPD_256_1,
+               "vpsllq $58, %%ymm7, %%ymm8;"
+               "vpsrlq $58, %%ymm8, %%ymm8;"
+               "vblendvpd %%ymm6, %%ymm8, %%ymm7, %%ymm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vgatherqpd %%ymm6, 3(%%r14,%%ymm8,8), %%ymm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VGATHERQPD_128_2,
+               "vpsllq $58, %%xmm7, %%xmm8;"
+               "vpsrlq $58, %%xmm8, %%xmm8;"
+               "vblendvpd %%xmm6, %%xmm8, %%xmm7, %%xmm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vmovq %%r14, %%xmm7;"
+               "vpsllq $2, %%xmm8, %%xmm8;"
+               "vpbroadcastq %%xmm7, %%xmm7;"
+               "vpaddq %%xmm7, %%xmm8, %%xmm8;"
+               "vgatherqpd %%xmm6, 1(,%%xmm8,1), %%xmm9;"
+               "vpsubq %%xmm7, %%xmm8, %%xmm8;"
+               "vmovdqa 0(%0), %%ymm7;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VGATHERQPD_256_2,
+               "vpsllq $58, %%ymm7, %%ymm8;"
+               "vpsrlq $58, %%ymm8, %%ymm8;"
+               "vblendvpd %%ymm6, %%ymm8, %%ymm7, %%ymm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vmovq %%r14, %%xmm7;"
+               "vpsllq $2, %%ymm8, %%ymm8;"
+               "vpbroadcastq %%xmm7, %%ymm7;"
+               "vpaddq %%ymm7, %%ymm8, %%ymm8;"
+               "vgatherqpd %%ymm6, 1(,%%ymm8,1), %%ymm9;"
+               "vpsubq %%ymm7, %%ymm8, %%ymm8;"
+               "vmovdqa 0(%0), %%ymm7;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERDD_128,
+               "vpslld $25, %%xmm7, %%xmm8;"
+               "vpsrld $25, %%xmm8, %%xmm8;"
+               "vblendvps %%xmm6, %%xmm8, %%xmm7, %%xmm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vpgatherdd %%xmm6, 3(%%r14,%%xmm8,4), %%xmm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERDD_256,
+               "vpslld $25, %%ymm7, %%ymm8;"
+               "vpsrld $25, %%ymm8, %%ymm8;"
+               "vblendvps %%ymm6, %%ymm8, %%ymm7, %%ymm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vpgatherdd %%ymm6, 3(%%r14,%%ymm8,4), %%ymm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERQD_128_1,
+               "vpsllq $57, %%xmm7, %%xmm8;"
+               "vpsrlq $57, %%xmm8, %%xmm8;"
+               "vpmovsxdq %%xmm6, %%xmm9;"
+               "vblendvpd %%xmm9, %%xmm8, %%xmm7, %%xmm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vpgatherqd %%xmm6, 3(%%r14,%%xmm8,4), %%xmm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERQD_256_1,
+               "vpsllq $57, %%ymm7, %%ymm8;"
+               "vpsrlq $57, %%ymm8, %%ymm8;"
+               "vpmovsxdq %%xmm6, %%ymm9;"
+               "vblendvpd %%ymm9, %%ymm8, %%ymm7, %%ymm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vpgatherqd %%xmm6, 3(%%r14,%%ymm8,4), %%xmm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERQD_128_2,
+               "vpsllq $57, %%xmm7, %%xmm8;"
+               "vpsrlq $57, %%xmm8, %%xmm8;"
+               "vpmovsxdq %%xmm6, %%xmm9;"
+               "vblendvpd %%xmm9, %%xmm8, %%xmm7, %%xmm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vmovq %%r14, %%xmm7;"
+               "vpsllq $2, %%xmm8, %%xmm8;"
+               "vpbroadcastq %%xmm7, %%xmm7;"
+               "vpaddq %%xmm7, %%xmm8, %%xmm8;"
+               "vpgatherqd %%xmm6, 1(,%%xmm8,1), %%xmm9;"
+               "vpsubq %%xmm7, %%xmm8, %%xmm8;"
+               "vmovdqa 0(%0), %%ymm7;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERQD_256_2,
+               "vpsllq $57, %%ymm7, %%ymm8;"
+               "vpsrlq $57, %%ymm8, %%ymm8;"
+               "vpmovsxdq %%xmm6, %%ymm9;"
+               "vblendvpd %%ymm9, %%ymm8, %%ymm7, %%ymm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vmovq %%r14, %%xmm7;"
+               "vpsllq $2, %%ymm8, %%ymm8;"
+               "vpbroadcastq %%xmm7, %%ymm7;"
+               "vpaddq %%ymm7, %%ymm8, %%ymm8;"
+               "vpgatherqd %%xmm6, 1(,%%ymm8,1), %%xmm9;"
+               "vpsubq %%ymm7, %%ymm8, %%ymm8;"
+               "vmovdqa 0(%0), %%ymm7;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERDQ_128,
+               "vpslld $26, %%xmm7, %%xmm8;"
+               "vpsrld $26, %%xmm8, %%xmm8;"
+               "vshufps $13, %%xmm6, %%xmm6, %%xmm9;"
+               "vblendvps %%xmm9, %%xmm8, %%xmm7, %%xmm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vpgatherdq %%xmm6, 3(%%r14,%%xmm8,8), %%xmm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERDQ_256,
+               "vpslld $26, %%ymm7, %%ymm8;"
+               "vpsrld $26, %%ymm8, %%ymm8;"
+               "vextracti128 $1, %%ymm6, %%xmm9;"
+               "vshufps $221, %%ymm9, %%ymm6, %%ymm9;"
+               "vblendvps %%ymm9, %%ymm8, %%ymm7, %%ymm8;"
+               "vmovdqa 96(%0), %%ymm9;"
+               "leaq randArray(%%rip), %%r14;"
+               "vpgatherdq %%ymm6, 3(%%r14,%%xmm8,8), %%ymm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERQQ_128_1,
+               "vpsllq $58, %%xmm7, %%xmm8;"
+               "vpsrlq $58, %%xmm8, %%xmm8;"
+               "vblendvpd %%xmm6, %%xmm8, %%xmm7, %%xmm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vpgatherqq %%xmm6, 3(%%r14,%%xmm8,8), %%xmm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERQQ_256_1,
+               "vpsllq $58, %%ymm7, %%ymm8;"
+               "vpsrlq $58, %%ymm8, %%ymm8;"
+               "vblendvpd %%ymm6, %%ymm8, %%ymm7, %%ymm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vpgatherqq %%ymm6, 3(%%r14,%%ymm8,8), %%ymm9;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERQQ_128_2,
+               "vpsllq $58, %%xmm7, %%xmm8;"
+               "vpsrlq $58, %%xmm8, %%xmm8;"
+               "vblendvpd %%xmm6, %%xmm8, %%xmm7, %%xmm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vmovq %%r14, %%xmm7;"
+               "vpsllq $2, %%xmm8, %%xmm8;"
+               "vpbroadcastq %%xmm7, %%xmm7;"
+               "vpaddq %%xmm7, %%xmm8, %%xmm8;"
+               "vpgatherqq %%xmm6, 1(,%%xmm8,1), %%xmm9;"
+               "vpsubq %%xmm7, %%xmm8, %%xmm8;"
+               "vmovdqa 0(%0), %%ymm7;"
+               "xorl %%r14d, %%r14d")
+
+GEN_test_Ronly(VPGATHERQQ_256_2,
+               "vpsllq $58, %%ymm7, %%ymm8;"
+               "vpsrlq $58, %%ymm8, %%ymm8;"
+               "vblendvpd %%ymm6, %%ymm8, %%ymm7, %%ymm8;"
+               "leaq randArray(%%rip), %%r14;"
+               "vmovq %%r14, %%xmm7;"
+               "vpsllq $2, %%ymm8, %%ymm8;"
+               "vpbroadcastq %%xmm7, %%ymm7;"
+               "vpaddq %%ymm7, %%ymm8, %%ymm8;"
+               "vpgatherqq %%ymm6, 1(,%%ymm8,1), %%ymm9;"
+               "vpsubq %%ymm7, %%ymm8, %%ymm8;"
+               "vmovdqa 0(%0), %%ymm7;"
+               "xorl %%r14d, %%r14d")
+
+/* Comment duplicated above, for convenient reference:
+   Allowed operands in test insns:
+     Reg form:  %ymm6,  %ymm7, %ymm8, %ymm9 and %r14.
+     Mem form:  (%rax), %ymm7, %ymm8, %ymm9 and %r14.
+   Imm8 etc fields are also allowed, where they make sense.
+*/
+
+#define N_DEFAULT_ITERS 3
+
+// Do the specified test some number of times
+#define DO_N(_iters, _testfn) \
+   do { int i; for (i = 0; i < (_iters); i++) { test_##_testfn(); } } while (0)
+
+// Do the specified test the default number of times
+#define DO_D(_testfn) DO_N(N_DEFAULT_ITERS, _testfn)
+
+
+int main ( void )
+{
+   DO_D( VPOR_256 );
+   DO_D( VPXOR_256 );
+   DO_D( VPSUBB_256 );
+   DO_D( VPSUBD_256 );
+   DO_D( VPADDD_256 );
+   DO_D( VPMOVZXWD_256 );
+   DO_D( VPMOVZXBW_256 );
+   DO_D( VPBLENDVB_256 );
+   DO_D( VPMINSD_256 );
+   DO_D( VPMAXSD_256 );
+   DO_D( VPSHUFB_256 );
+   DO_D( VPUNPCKLBW_256 );
+   DO_D( VPUNPCKHBW_256 );
+   DO_D( VPABSD_256 );
+   DO_D( VPACKUSWB_256 );
+   DO_D( VPMOVMSKB_256 );
+   DO_D( VPAND_256 );
+   DO_D( VPCMPEQB_256 );
+   DO_D( VPSHUFLW_0x39_256 );
+   DO_D( VPSHUFHW_0x39_256 );
+   DO_D( VPMULLW_256 );
+   DO_D( VPADDUSW_256 );
+   DO_D( VPMULHUW_256 );
+   DO_D( VPADDUSB_256 );
+   DO_D( VPUNPCKLWD_256 );
+   DO_D( VPUNPCKHWD_256 );
+   DO_D( VPSLLD_0x05_256 );
+   DO_D( VPSRLD_0x05_256 );
+   DO_D( VPSRAD_0x05_256 );
+   DO_D( VPSUBUSB_256 );
+   DO_D( VPSUBSB_256 );
+   DO_D( VPSRLDQ_0x05_256 );
+   DO_D( VPSLLDQ_0x05_256 );
+   DO_D( VPANDN_256 );
+   DO_D( VPUNPCKLQDQ_256 );
+   DO_D( VPSRLW_0x05_256 );
+   DO_D( VPSLLW_0x05_256 );
+   DO_D( VPADDW_256 );
+   DO_D( VPACKSSDW_256 );
+   DO_D( VPUNPCKLDQ_256 );
+   DO_D( VPCMPEQD_256 );
+   DO_D( VPSHUFD_0x39_256 );
+   DO_D( VPADDQ_256 );
+   DO_D( VPSUBQ_256 );
+   DO_D( VPSUBW_256 );
+   DO_D( VPCMPEQQ_256 );
+   DO_D( VPCMPGTQ_256 );
+   DO_D( VPSRLQ_0x05_256 );
+   DO_D( VPMULUDQ_256 );
+   DO_D( VPMULDQ_256 );
+   DO_D( VPSLLQ_0x05_256 );
+   DO_D( VPMAXUD_256 );
+   DO_D( VPMINUD_256 );
+   DO_D( VPMULLD_256 );
+   DO_D( VPMAXUW_256 );
+   DO_D( VPMINUW_256 );
+   DO_D( VPMAXSW_256 );
+   DO_D( VPMINSW_256 );
+   DO_D( VPMAXUB_256 );
+   DO_D( VPMINUB_256 );
+   DO_D( VPMAXSB_256 );
+   DO_D( VPMINSB_256 );
+   DO_D( VPMOVSXBW_256 );
+   DO_D( VPSUBUSW_256 );
+   DO_D( VPSUBSW_256 );
+   DO_D( VPCMPEQW_256 );
+   DO_D( VPADDB_256 );
+   DO_D( VPUNPCKHDQ_256 );
+   DO_D( VPMOVSXDQ_256 );
+   DO_D( VPMOVSXWD_256 );
+   DO_D( VPMULHW_256 );
+   DO_D( VPUNPCKHQDQ_256 );
+   DO_D( VPSRAW_0x05_256 );
+   DO_D( VPCMPGTB_256 );
+   DO_D( VPCMPGTW_256 );
+   DO_D( VPCMPGTD_256 );
+   DO_D( VPMOVZXBD_256 );
+   DO_D( VPMOVSXBD_256 );
+   DO_D( VPALIGNR_256_1of3 );
+   DO_D( VPALIGNR_256_2of3 );
+   DO_D( VPALIGNR_256_3of3 );
+   DO_D( VPBLENDW_256_0x00 );
+   DO_D( VPBLENDW_256_0xFE );
+   DO_D( VPBLENDW_256_0x30 );
+   DO_D( VPBLENDW_256_0x21 );
+   DO_D( VPBLENDW_256_0xD7 );
+   DO_D( VPBLENDW_256_0xB5 );
+   DO_D( VPBLENDW_256_0x85 );
+   DO_D( VPBLENDW_256_0x29 );
+   DO_D( VPSLLW_256 );
+   DO_D( VPSRLW_256 );
+   DO_D( VPSRAW_256 );
+   DO_D( VPSLLD_256 );
+   DO_D( VPSRLD_256 );
+   DO_D( VPSRAD_256 );
+   DO_D( VPSLLQ_256 );
+   DO_D( VPSRLQ_256 );
+   DO_D( VPMADDWD_256 );
+   DO_D( VMOVNTDQA_256 );
+   DO_D( VPACKSSWB_256 );
+   DO_D( VPAVGB_256 );
+   DO_D( VPAVGW_256 );
+   DO_D( VPADDSB_256 );
+   DO_D( VPADDSW_256 );
+   DO_D( VPHADDW_256 );
+   DO_D( VPHADDD_256 );
+   DO_D( VPHADDSW_256 );
+   DO_D( VPMADDUBSW_256 );
+   DO_D( VPHSUBW_256 );
+   DO_D( VPHSUBD_256 );
+   DO_D( VPHSUBSW_256 );
+   DO_D( VPABSB_256 );
+   DO_D( VPABSW_256 );
+   DO_D( VPMOVSXBQ_256 );
+   DO_D( VPMOVSXWQ_256 );
+   DO_D( VPACKUSDW_256 );
+   DO_D( VPMOVZXBQ_256 );
+   DO_D( VPMOVZXWQ_256 );
+   DO_D( VPMOVZXDQ_256 );
+   DO_D( VMPSADBW_256_0x0 );
+   DO_D( VMPSADBW_256_0x39 );
+   DO_D( VMPSADBW_256_0x32 );
+   DO_D( VMPSADBW_256_0x2b );
+   DO_D( VMPSADBW_256_0x24 );
+   DO_D( VMPSADBW_256_0x1d );
+   DO_D( VMPSADBW_256_0x16 );
+   DO_D( VMPSADBW_256_0x0f );
+   DO_D( VPSADBW_256 );
+   DO_D( VPSIGNB_256 );
+   DO_D( VPSIGNW_256 );
+   DO_D( VPSIGND_256 );
+   DO_D( VPMULHRSW_256 );
+   DO_D( VBROADCASTI128 );
+   DO_D( VEXTRACTI128_0x0 );
+   DO_D( VEXTRACTI128_0x1 );
+   DO_D( VINSERTI128_0x0 );
+   DO_D( VINSERTI128_0x1 );
+   DO_D( VPERM2I128_0x00 );
+   DO_D( VPERM2I128_0xFF );
+   DO_D( VPERM2I128_0x30 );
+   DO_D( VPERM2I128_0x21 );
+   DO_D( VPERM2I128_0x12 );
+   DO_D( VPERM2I128_0x03 );
+   DO_D( VPERM2I128_0x85 );
+   DO_D( VPERM2I128_0x5A );
+   DO_D( VBROADCASTSS_128 );
+   DO_D( VBROADCASTSS_256 );
+   DO_D( VBROADCASTSD_256 );
+   DO_D( VPERMD );
+   DO_D( VPERMQ_0x00 );
+   DO_D( VPERMQ_0xFE );
+   DO_D( VPERMQ_0x30 );
+   DO_D( VPERMQ_0x21 );
+   DO_D( VPERMQ_0xD7 );
+   DO_D( VPERMQ_0xB5 );
+   DO_D( VPERMQ_0x85 );
+   DO_D( VPERMQ_0x29 );
+   DO_D( VPERMPS );
+   DO_D( VPERMPD_0x00 );
+   DO_D( VPERMPD_0xFE );
+   DO_D( VPERMPD_0x30 );
+   DO_D( VPERMPD_0x21 );
+   DO_D( VPERMPD_0xD7 );
+   DO_D( VPERMPD_0xB5 );
+   DO_D( VPERMPD_0x85 );
+   DO_D( VPERMPD_0x29 );
+   DO_D( VPBLENDD_128_0x00 );
+   DO_D( VPBLENDD_128_0x02 );
+   DO_D( VPBLENDD_128_0x04 );
+   DO_D( VPBLENDD_128_0x06 );
+   DO_D( VPBLENDD_128_0x08 );
+   DO_D( VPBLENDD_128_0x0A );
+   DO_D( VPBLENDD_128_0x0C );
+   DO_D( VPBLENDD_128_0x0E );
+   DO_D( VPBLENDD_256_0x00 );
+   DO_D( VPBLENDD_256_0xFE );
+   DO_D( VPBLENDD_256_0x30 );
+   DO_D( VPBLENDD_256_0x21 );
+   DO_D( VPBLENDD_256_0xD7 );
+   DO_D( VPBLENDD_256_0xB5 );
+   DO_D( VPBLENDD_256_0x85 );
+   DO_D( VPBLENDD_256_0x29 );
+   DO_D( VPSLLVD_128 );
+   DO_D( VPSLLVD_256 );
+   DO_D( VPSLLVQ_128 );
+   DO_D( VPSLLVQ_256 );
+   DO_D( VPSRLVD_128 );
+   DO_D( VPSRLVD_256 );
+   DO_D( VPSRLVQ_128 );
+   DO_D( VPSRLVQ_256 );
+   DO_D( VPSRAVD_128 );
+   DO_D( VPSRAVD_256 );
+   DO_D( VPBROADCASTB_128 );
+   DO_D( VPBROADCASTB_256 );
+   DO_D( VPBROADCASTW_128 );
+   DO_D( VPBROADCASTW_256 );
+   DO_D( VPBROADCASTD_128 );
+   DO_D( VPBROADCASTD_256 );
+   DO_D( VPBROADCASTQ_128 );
+   DO_D( VPBROADCASTQ_256 );
+   DO_D( VPMASKMOVD_128_LoadForm );
+   DO_D( VPMASKMOVD_256_LoadForm );
+   DO_D( VPMASKMOVQ_128_LoadForm );
+   DO_D( VPMASKMOVQ_256_LoadForm );
+   { int i; for (i = 0; i < sizeof(randArray); i++) randArray[i] = randUChar(); }
+   DO_D( VGATHERDPS_128 );
+   DO_D( VGATHERDPS_256 );
+   DO_D( VGATHERQPS_128_1 );
+   DO_D( VGATHERQPS_256_1 );
+   DO_D( VGATHERQPS_128_2 );
+   DO_D( VGATHERQPS_256_2 );
+   DO_D( VGATHERDPD_128 );
+   DO_D( VGATHERDPD_256 );
+   DO_D( VGATHERQPD_128_1 );
+   DO_D( VGATHERQPD_256_1 );
+   DO_D( VGATHERQPD_128_2 );
+   DO_D( VGATHERQPD_256_2 );
+   DO_D( VPGATHERDD_128 );
+   DO_D( VPGATHERDD_256 );
+   DO_D( VPGATHERQD_128_1 );
+   DO_D( VPGATHERQD_256_1 );
+   DO_D( VPGATHERQD_128_2 );
+   DO_D( VPGATHERQD_256_2 );
+   DO_D( VPGATHERDQ_128 );
+   DO_D( VPGATHERDQ_256 );
+   DO_D( VPGATHERQQ_128_1 );
+   DO_D( VPGATHERQQ_256_1 );
+   DO_D( VPGATHERQQ_128_2 );
+   DO_D( VPGATHERQQ_256_2 );
+   return 0;
+}
diff --git a/none/tests/amd64/avx2-1.stderr.exp b/none/tests/amd64/avx2-1.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/amd64/avx2-1.stderr.exp
diff --git a/none/tests/amd64/avx2-1.stdout.exp b/none/tests/amd64/avx2-1.stdout.exp
new file mode 100644
index 0000000..2ae96c9
--- /dev/null
+++ b/none/tests/amd64/avx2-1.stdout.exp
@@ -0,0 +1,18468 @@
+VPOR_256(reg)
+  before
+    7d6528c5fa956a0d.69c3e9a6af27d13b.5175e39d19c9ca1e.98f24a4984175700
+    b6d2fb5aa7bc5127.fe9915e556a044b2.60b160857d45c484.47b8d8c0eeef1e50
+    065d77195d623e6b.842adc6450659e17.19a348215c3a67fd.399182c2dbcc2d38
+    cb509970b8136c85.d740b80eb7839b97.d89998df5035ed36.4a4bc43968bc40e5
+    56b01a12b0ca1583
+  after
+    b6dfff5bfffe7f6f.febbdde556e5deb7.79b368a57d7fe7fd.7fb9dac2ffef3f78
+    b6d2fb5aa7bc5127.fe9915e556a044b2.60b160857d45c484.47b8d8c0eeef1e50
+    065d77195d623e6b.842adc6450659e17.19a348215c3a67fd.399182c2dbcc2d38
+    cb509970b8136c85.d740b80eb7839b97.d89998df5035ed36.4a4bc43968bc40e5
+    56b01a12b0ca1583
+VPOR_256(mem)
+  before
+    398e0039cf03663d.5ff85bc9535c191f.d3a727d1a705f65d.f9dd4a29f8c093db
+    cfaff39be272ef40.20a1bb92cbc97fe8.542da4983df76c96.d8bc5c6dee699597
+    f4e06e2205236eb7.6897b536bbe4da8a.369dab4f9465b86e.d182c916cebc2e17
+    84ededbc53239dcf.95264321bf3b68b2.55c2b9e2c95c9810.407b8d9035449b06
+    81f2a547be8d1811
+  after
+    398e0039cf03663d.5ff85bc9535c191f.d3a727d1a705f65d.f9dd4a29f8c093db
+    cfaff39be272ef40.20a1bb92cbc97fe8.542da4983df76c96.d8bc5c6dee699597
+    ffaff3bbef73ef7d.7ff9fbdbdbdd7fff.d7afa7d9bff7fedf.f9fd5e6dfee997df
+    84ededbc53239dcf.95264321bf3b68b2.55c2b9e2c95c9810.407b8d9035449b06
+    81f2a547be8d1811
+
+VPOR_256(reg)
+  before
+    f0350ca70523e0e4.5ba1ec54e87d39b3.019963bf7459630b.8d69483df7e8c6a9
+    e98ebd1ca893312a.54cae7d5e13dfe91.0a3e0f7c75cb0842.b95ed64d3b13ff64
+    c84ab71340684590.4d325b2d5a70a792.0a5f45c55f1c9202.b76ddefcb0ebfe6e
+    e9b5f3f66b2e58c1.21a6c3476d21f1e5.5f490104ced83ff8.6262dd37727c80f3
+    96084deb9ed0411e
+  after
+    e9cebf1fe8fb75ba.5dfafffdfb7dff93.0a7f4ffd7fdf9a42.bf7fdefdbbfbff6e
+    e98ebd1ca893312a.54cae7d5e13dfe91.0a3e0f7c75cb0842.b95ed64d3b13ff64
+    c84ab71340684590.4d325b2d5a70a792.0a5f45c55f1c9202.b76ddefcb0ebfe6e
+    e9b5f3f66b2e58c1.21a6c3476d21f1e5.5f490104ced83ff8.6262dd37727c80f3
+    96084deb9ed0411e
+VPOR_256(mem)
+  before
+    2e2dac0350f6fd1c.a81b6e33c572a86a.acf29b0f395c98b4.63483da65c8c49d0
+    089b756aa3f77018.61c82534e9bf6f37.c9e25f72d82e582b.73a8f718a8c3ec35
+    ff1f240eb3e1553f.6f07136773a2ead3.56428c5a66a2ec77.ecb42ac54b0966d4
+    ee8536da9dbf68bc.3026343700a654eb.2ddd9db4ffc411c4.28bad218e4ebf159
+    8404eb7f0cf4ca6f
+  after
+    2e2dac0350f6fd1c.a81b6e33c572a86a.acf29b0f395c98b4.63483da65c8c49d0
+    089b756aa3f77018.61c82534e9bf6f37.c9e25f72d82e582b.73a8f718a8c3ec35
+    2ebffd6bf3f7fd1c.e9db6f37edffef7f.edf2df7ff97ed8bf.73e8ffbefccfedf5
+    ee8536da9dbf68bc.3026343700a654eb.2ddd9db4ffc411c4.28bad218e4ebf159
+    8404eb7f0cf4ca6f
+
+VPOR_256(reg)
+  before
+    5cdf726562b02dc2.b39925ba7d9d67bc.ff6f850f2c57ea2a.2c810e6dc1a1833d
+    0c9761367fac55ff.28276f9a6e880c6b.372f015d9242e83d.2ef85b6fc544fd0f
+    f078b65e01737fd2.2bfa8f668c8b14f4.36b2a38dcef18acf.0e0f01a829ba3c66
+    65ce6d498492e7e7.96df010bf4b23b84.57436a097df30b8d.aa927a03090dfc6d
+    dc4c446c804bf950
+  after
+    fcfff77e7fff7fff.2bffeffeee8b1cff.37bfa3dddef3eaff.2eff5befedfefd6f
+    0c9761367fac55ff.28276f9a6e880c6b.372f015d9242e83d.2ef85b6fc544fd0f
+    f078b65e01737fd2.2bfa8f668c8b14f4.36b2a38dcef18acf.0e0f01a829ba3c66
+    65ce6d498492e7e7.96df010bf4b23b84.57436a097df30b8d.aa927a03090dfc6d
+    dc4c446c804bf950
+VPOR_256(mem)
+  before
+    810bdacfab80ee3d.c5e48064a393c8e9.47a34273c10a3c47.f5304f3e3ad1a923
+    769ab818a5b7985e.6d08ed19fa045f84.1810cd8c109ed568.6ec34f98a2199d3c
+    95c45b338afcb3df.b984aed62671e865.e6f21d40fc7bc013.1c4a678450562685
+    bc563e0c775bfaed.05a5c205c3659f38.8e17b17da2acb976.5d0f926ce1157eaa
+    8b5fccbef0e1e256
+  after
+    810bdacfab80ee3d.c5e48064a393c8e9.47a34273c10a3c47.f5304f3e3ad1a923
+    769ab818a5b7985e.6d08ed19fa045f84.1810cd8c109ed568.6ec34f98a2199d3c
+    f79bfadfafb7fe7f.edeced7dfb97dfed.5fb3cfffd19efd6f.fff34fbebad9bd3f
+    bc563e0c775bfaed.05a5c205c3659f38.8e17b17da2acb976.5d0f926ce1157eaa
+    8b5fccbef0e1e256
+
+VPXOR_256(reg)
+  before
+    048612e51a468e36.c51cdd8f87e12ab4.acb722146c6cbfa9.ea4a022e1d3d7dbb
+    22cf5e4cfad1bdf5.8de2b4a9d799ff5f.0c05cb6ebd128663.d7568e3e8a3ac80e
+    4288ae612c0dad40.f0733f448390351b.80ddba7e53e42d12.3208cf9b04b0569c
+    c1fbfd8f4d8698c2.cb9dfb4ea5d18713.6489eab2c96df363.d52c4330a7aae391
+    9d8e66ea90352a18
+  after
+    6047f02dd6dc10b5.7d918bed5409ca44.8cd87110eef6ab71.e55e41a58e8a9e92
+    22cf5e4cfad1bdf5.8de2b4a9d799ff5f.0c05cb6ebd128663.d7568e3e8a3ac80e
+    4288ae612c0dad40.f0733f448390351b.80ddba7e53e42d12.3208cf9b04b0569c
+    c1fbfd8f4d8698c2.cb9dfb4ea5d18713.6489eab2c96df363.d52c4330a7aae391
+    9d8e66ea90352a18
+VPXOR_256(mem)
+  before
+    66fab2b3db5ce85e.f9754842f9c9ba28.f82a63b15c68b274.14575775bc3a1202
+    0c3ca578a32bd88e.474289e7cb61501e.54e7f35bc162726a.ec91fe34c7d6c79a
+    6b1fba2604afb8d5.08aebee85fda964f.bba02737f3c98220.4784d95987cd4ed8
+    5f706da71bf2425f.9605e2b252c1c868.09217c310baca0c3.837be65197abe268
+    fbc4208894fdc0f5
+  after
+    66fab2b3db5ce85e.f9754842f9c9ba28.f82a63b15c68b274.14575775bc3a1202
+    0c3ca578a32bd88e.474289e7cb61501e.54e7f35bc162726a.ec91fe34c7d6c79a
+    6ac617cb787730d0.be37c1a532a8ea36.accd90ea9d0ac01e.f8c6a9417becd598
+    5f706da71bf2425f.9605e2b252c1c868.09217c310baca0c3.837be65197abe268
+    fbc4208894fdc0f5
+
+VPXOR_256(reg)
+  before
+    0aaa836b194e242c.c5fc3ae904033357.4e92f1b240a12214.1a366d352714867e
+    0e780c65c22b4ab8.778d9ed6d9eb46ea.8ca3e752c306df00.caab752f630ff07e
+    627bb6e12d1f6d46.51ef145cb9b83843.ac82c1007a7d3cd8.f54b130cdaa89cef
+    61ff7d4df3b6ca81.31f01866bd76c58f.0a7c7a27fe917447.77e3c0b6a9ec44fc
+    2c3ffa1aebe6a4d2
+  after
+    6c03ba84ef3427fe.26628a8a60537ea9.20212652b97be3d8.3fe06623b9a76c91
+    0e780c65c22b4ab8.778d9ed6d9eb46ea.8ca3e752c306df00.caab752f630ff07e
+    627bb6e12d1f6d46.51ef145cb9b83843.ac82c1007a7d3cd8.f54b130cdaa89cef
+    61ff7d4df3b6ca81.31f01866bd76c58f.0a7c7a27fe917447.77e3c0b6a9ec44fc
+    2c3ffa1aebe6a4d2
+VPXOR_256(mem)
+  before
+    f02b3b25bca27a9c.69505d14b27d9d16.f25b26e0042fa9fa.02dd0e32eecfc5fa
+    9f7301c1392d8087.d4ba52a206ff21b1.70fbbab6a7f19faf.f0f1798fe3c1699c
+    15e3c8dc7e9273bf.0088596389c893fd.879d51d4c5c764db.3004b7a97cf69dda
+    2d460a61a5dd0f6f.47086cc3da642fa7.130d662777beb4a9.1e61c5ec52f79c60
+    16559ec50352a3d9
+  after
+    f02b3b25bca27a9c.69505d14b27d9d16.f25b26e0042fa9fa.02dd0e32eecfc5fa
+    9f7301c1392d8087.d4ba52a206ff21b1.70fbbab6a7f19faf.f0f1798fe3c1699c
+    6f583ae4858ffa1b.bdea0fb6b482bca7.82a09c56a3de3655.f22c77bd0d0eac66
+    2d460a61a5dd0f6f.47086cc3da642fa7.130d662777beb4a9.1e61c5ec52f79c60
+    16559ec50352a3d9
+
+VPXOR_256(reg)
+  before
+    742c3e9e2b92eef2.c569453ccd1b0fc4.0784892e9360315b.f0177599dbe14b46
+    9432a2e46543b956.b819f459105730e9.9a49ac115048d4c4.f987fa170d3ce4dd
+    d2b3c4044ef23fb2.e22093a48a9d2e0b.5da3cfd6aea6558e.0c28728e28dc3c9c
+    89fba268812abdb2.1e4a9e0958fac555.adddf0eb4808f067.04c857e949cc0fac
+    bc3127138b19183c
+  after
+    468166e02bb186e4.5a3967fd9aca1ee2.c7ea63c7feee814a.f5af889925e0d841
+    9432a2e46543b956.b819f459105730e9.9a49ac115048d4c4.f987fa170d3ce4dd
+    d2b3c4044ef23fb2.e22093a48a9d2e0b.5da3cfd6aea6558e.0c28728e28dc3c9c
+    89fba268812abdb2.1e4a9e0958fac555.adddf0eb4808f067.04c857e949cc0fac
+    bc3127138b19183c
+VPXOR_256(mem)
+  before
+    12305efa0acd1475.1755377e9a786f01.4a6592749579b0f4.e4450ababbfae0f9
+    e1917689e3f6bf86.d70f7fb13667914c.413cead25e27ac14.5f2619b1a20662f0
+    0420edac31a0d599.2573776df1835e3e.de9a220dce0e75e0.7acb193b9abab2f9
+    59a93d4f11d611db.5cce191e65591384.ff4cb613013cc685.918107c43ea20cc0
+    0194ddb82b49abf0
+  after
+    12305efa0acd1475.1755377e9a786f01.4a6592749579b0f4.e4450ababbfae0f9
+    e1917689e3f6bf86.d70f7fb13667914c.413cead25e27ac14.5f2619b1a20662f0
+    f3a12873e93babf3.c05a48cfac1ffe4d.0b5978a6cb5e1ce0.bb63130b19fc8209
+    59a93d4f11d611db.5cce191e65591384.ff4cb613013cc685.918107c43ea20cc0
+    0194ddb82b49abf0
+
+VPSUBB_256(reg)
+  before
+    24509983fc3bcc36.baf7e45e9fa43077.da6c63303173ecc9.7e1e22cf15bd5c2f
+    570037914d04ab3d.05d75ec6f616ee9a.fa99500fef6024ba.39dce32c239cf309
+    f6f2b14fbb3184b2.141625713239066f.17a0dc273ba9f803.0a52741849e54740
+    5d700527e24d9241.c57eb74d70183523.8fcf04e5b2dca44f.cf4c517ea3a413ff
+    6295f64a4ce61473
+  after
+    610e864292d3278b.f1c13955c4dde82b.e3f974e8b4b72cb7.2f8a6f14dab7acc9
+    570037914d04ab3d.05d75ec6f616ee9a.fa99500fef6024ba.39dce32c239cf309
+    f6f2b14fbb3184b2.141625713239066f.17a0dc273ba9f803.0a52741849e54740
+    5d700527e24d9241.c57eb74d70183523.8fcf04e5b2dca44f.cf4c517ea3a413ff
+    6295f64a4ce61473
+VPSUBB_256(mem)
+  before
+    a0fae06860b606c7.e8c72e865de41295.f2db8f44cbbf37e2.bc70c3b3ef84644b
+    66478ac4fc21a428.f34428d9c8833f5b.78fb29445f3bc8d7.fcd015ff8f2e73a3
+    8e48704b3c31abc2.da30ef8bc0b5573e.34a901384a97a32f.a93bf6332d650e02
+    f5c90ee73af5d7c0.f9da7f07e00794eb.00b0940ba5e08516.20fd62bd65b57115
+    be625608d5abd787
+  after
+    a0fae06860b606c7.e8c72e865de41295.f2db8f44cbbf37e2.bc70c3b3ef84644b
+    66478ac4fc21a428.f34428d9c8833f5b.78fb29445f3bc8d7.fcd015ff8f2e73a3
+    c64daa5c9c6b9e61.0b7dfa536b9f2dc6.86209a00947c91f5.4060524ca0aa0f58
+    f5c90ee73af5d7c0.f9da7f07e00794eb.00b0940ba5e08516.20fd62bd65b57115
+    be625608d5abd787
+
+VPSUBB_256(reg)
+  before
+    ddb5cd8016d27d05.7796e0861576e44f.ac8dd5bbc503330e.b9dd5dab8e212ab7
+    db43c391c6b69f3a.f17a6312e7c28d9a.4e94ec120b386f52.3bfcd80321664d3e
+    125934a781e479d3.3d431279cce48fce.3d3cc0784c2f8563.63d9810079bbabd9
+    df411d2ee2e7467c.38bb69a6e1e9a617.d4d14e592776b1ef.0b40d58cb22d00b1
+    10fd4e94e9c808f5
+  after
+    c9ea8fea45d22667.b43751991bdefecc.11582c9abf09eaef.d8235703a8aba265
+    db43c391c6b69f3a.f17a6312e7c28d9a.4e94ec120b386f52.3bfcd80321664d3e
+    125934a781e479d3.3d431279cce48fce.3d3cc0784c2f8563.63d9810079bbabd9
+    df411d2ee2e7467c.38bb69a6e1e9a617.d4d14e592776b1ef.0b40d58cb22d00b1
+    10fd4e94e9c808f5
+VPSUBB_256(mem)
+  before
+    4edb6a053a967ecf.9e477892854b43e0.beafe48541dc8da0.6f9f902235982fa0
+    a1a7a4c9c0a51f6b.acb9433f079dacac.abeb000208c90296.69f2843d15223a22
+    e52e79ce9700a7f7.63e279a20368bc8b.db3b370954bcbf24.20162517609f0f22
+    f63a63fedcb4d29c.200d17261638b12a.2a6a07863ec28077.ef56701db49bea4c
+    31005fb9ada2074b
+  after
+    4edb6a053a967ecf.9e477892854b43e0.beafe48541dc8da0.6f9f902235982fa0
+    a1a7a4c9c0a51f6b.acb9433f079dacac.abeb000208c90296.69f2843d15223a22
+    53cc3ac4860fa19c.0e72cbad825269cc.ed3c1c7dc7ed75f6.fa53f41be08a0b82
+    f63a63fedcb4d29c.200d17261638b12a.2a6a07863ec28077.ef56701db49bea4c
+    31005fb9ada2074b
+
+VPSUBB_256(reg)
+  before
+    445ef059e641a1cc.b097e047aacc5b89.3f871736dc9ac535.7446eb65e4e703bb
+    83bd1e68fb03f57b.ef136b941e54ffe8.1c9c7740ef193457.959960926235021b
+    4969e55289753f03.8f7980d1535979e5.139832afee423c3d.6930e0fad3ba39c4
+    f4ad41832c22ba11.6c949cea66e687ae.80c745ef729f1792.ccd7e987538166e1
+    9a5af627ff97439f
+  after
+    3a543916728eb678.609aebc3cbfb8603.0904459101d7f81a.2c6980988f7bc957
+    83bd1e68fb03f57b.ef136b941e54ffe8.1c9c7740ef193457.959960926235021b
+    4969e55289753f03.8f7980d1535979e5.139832afee423c3d.6930e0fad3ba39c4
+    f4ad41832c22ba11.6c949cea66e687ae.80c745ef729f1792.ccd7e987538166e1
+    9a5af627ff97439f
+VPSUBB_256(mem)
+  before
+    af8484c5f3078d2a.ded72f677f96a350.623139cb7207e36c.bf75aa6c1abe0103
+    e6230d4d4add00ad.6431aa6a1e5e366d.4c1cd56194c94a4e.2ced5f927f2b383c
+    1d010fab20265755.e309aef8a605af13.0821eb96e737777e.237d5fcd3f71f6e8
+    2feb05cb92ed4f4d.b5a9377eb31749ef.710cf757885d2728.006fa689f61c78b4
+    1f1030333fb8fa4b
+  after
+    af8484c5f3078d2a.ded72f677f96a350.623139cb7207e36c.bf75aa6c1abe0103
+    e6230d4d4add00ad.6431aa6a1e5e366d.4c1cd56194c94a4e.2ced5f927f2b383c
+    379f898857d67383.865a7b039fc8931d.eaeb9c9622c267e2.6d78b526656d3739
+    2feb05cb92ed4f4d.b5a9377eb31749ef.710cf757885d2728.006fa689f61c78b4
+    1f1030333fb8fa4b
+
+VPSUBD_256(reg)
+  before
+    dbacfa35b7d2b75a.f8ad6b99bb3fa4c2.385e4166df2141ad.63a8769192481679
+    928efefdf9f5ec8d.5313bd01b82612e0.c673c91ec9aed3f8.b9c3e32f2103009d
+    9f043af6a1aed58f.1ee978efa4b054d2.bc36ca100a4a3a7d.5127ba1c529aa0bf
+    5e58aa8b4c88ae0d.34fa174f9ce927c4.76f140aa4182b4e7.06a17746411ab40c
+    b3fd9698098ef5b0
+  after
+    f38ac407584716fe.342a44121375be0e.0a3cff0ebf64997b.689c2913ce685fde
+    928efefdf9f5ec8d.5313bd01b82612e0.c673c91ec9aed3f8.b9c3e32f2103009d
+    9f043af6a1aed58f.1ee978efa4b054d2.bc36ca100a4a3a7d.5127ba1c529aa0bf
+    5e58aa8b4c88ae0d.34fa174f9ce927c4.76f140aa4182b4e7.06a17746411ab40c
+    b3fd9698098ef5b0
+VPSUBD_256(mem)
+  before
+    360794fec60222d6.2ad7482a960fb2b2.7014160ebbdb47e4.51f2275707e17ae4
+    698bec649583f5aa.61cd123e19cf1e2b.b001f1161e946f5c.a7837c83faf3cb1d
+    2a541ab7911c2b5a.5e86033374552e23.ce8e2455e0205c58.d5f13a9ab645e140
+    532f9ae1d7da8010.7c4e1775412d1d47.a8872cb61d8aca05.37885d08d662faf9
+    2993e139f7d64ff4
+  after
+    360794fec60222d6.2ad7482a960fb2b2.7014160ebbdb47e4.51f2275707e17ae4
+    698bec649583f5aa.61cd123e19cf1e2b.b001f1161e946f5c.a7837c83faf3cb1d
+    33845766cf81d2d4.36f5ca1483bf6b79.3feddb0862b92778.5591552cf3125039
+    532f9ae1d7da8010.7c4e1775412d1d47.a8872cb61d8aca05.37885d08d662faf9
+    2993e139f7d64ff4
+
+VPSUBD_256(reg)
+  before
+    0760c299b42e1fdc.c2e9e9cf82c7aff8.19714a711ce12843.18b88425f2de758f
+    2d39fd95a9f5a45d.514c816eaff2763f.8f3a9991a2ff8bc2.fceca88e7b281821
+    f76b8d9773b81b24.de24e0a879648e11.3cf6fe426e128171.2ef114ddd37570e8
+    c1426e0dae01c0dd.433f816bfd2bb699.7af177f11da748fc.8b9145fe16d0390f
+    f099b6dd61462ec3
+  after
+    35ce6ffe363d8939.7327a0c6368de82e.52439b4f34ed0a51.cdfb93b1a7b2a739
+    2d39fd95a9f5a45d.514c816eaff2763f.8f3a9991a2ff8bc2.fceca88e7b281821
+    f76b8d9773b81b24.de24e0a879648e11.3cf6fe426e128171.2ef114ddd37570e8
+    c1426e0dae01c0dd.433f816bfd2bb699.7af177f11da748fc.8b9145fe16d0390f
+    f099b6dd61462ec3
+VPSUBD_256(mem)
+  before
+    37d5e366d0e20c30.e70a9c61f55fce33.5d68e1a25652a804.a77700084a491a0e
+    3d1148867eb08f81.c50f1401e45b82d3.086a7a39a1e6217d.1dd493f591843454
+    de18612787bc73e3.b79cd05818831869.2112ca1cf9f1dd31.3a542e238fe5d179
+    f7b8ab3708137382.19ffced22c62cba0.822c4c377b82984c.5842cbfee0f72e2a
+    d4ec68f21f468712
+  after
+    37d5e366d0e20c30.e70a9c61f55fce33.5d68e1a25652a804.a77700084a491a0e
+    3d1148867eb08f81.c50f1401e45b82d3.086a7a39a1e6217d.1dd493f591843454
+    053b6520adce8351.de0477a0eefbb4a0.ab0198974b937979.765d93ed473b1a46
+    f7b8ab3708137382.19ffced22c62cba0.822c4c377b82984c.5842cbfee0f72e2a
+    d4ec68f21f468712
+
+VPSUBD_256(reg)
+  before
+    0b9c016be95f18de.62bba1a11cc04c89.478209dbbd84d925.08847c7642a20df9
+    579f90d5d9cd1c3a.fceebf50e0d0ba24.9c727edf66767ca3.8fe6d7c56a5ff965
+    1541139c8b1cd0d1.a11d81326f4e7880.761b274ac4c4f0c7.f31ed81010c417bc
+    a1cd852d9cd97050.2d146432e64644c9.30c9028972f8733d.11f7fa4450de2529
+    c33ebc4b44b8ddd8
+  after
+    425e7d394eb04b69.5bd13e1e718241a4.26575795a1b18bdc.9cc7ffb5599be1a9
+    579f90d5d9cd1c3a.fceebf50e0d0ba24.9c727edf66767ca3.8fe6d7c56a5ff965
+    1541139c8b1cd0d1.a11d81326f4e7880.761b274ac4c4f0c7.f31ed81010c417bc
+    a1cd852d9cd97050.2d146432e64644c9.30c9028972f8733d.11f7fa4450de2529
+    c33ebc4b44b8ddd8
+VPSUBD_256(mem)
+  before
+    e6c097130b5efcf6.5791e2f2a78f3762.7c9fe23c60c5d82b.25c80a060da03fb0
+    56470887bfdd3daf.94d7265949ca62b4.6a8a793cf9d5f0d1.b3633c2f304791cd
+    ef9f8c927c405d2f.b2ed4ecc1e172df2.d3a0a41fce854ae7.35e7926e777aa43f
+    8d969e225f9318a0.0e1d55b9c001d4c7.93aee0cffbdea09a.06a10a317fc4b5b3
+    84db9fe3e4b100d4
+  after
+    e6c097130b5efcf6.5791e2f2a78f3762.7c9fe23c60c5d82b.25c80a060da03fb0
+    56470887bfdd3daf.94d7265949ca62b4.6a8a793cf9d5f0d1.b3633c2f304791cd
+    6f867174b47e40b9.3d454367a23b2b52.edea9700991018a6.8d9b322922a7521d
+    8d969e225f9318a0.0e1d55b9c001d4c7.93aee0cffbdea09a.06a10a317fc4b5b3
+    84db9fe3e4b100d4
+
+VPADDD_256(reg)
+  before
+    09e14df041cdc14f.0bf7ba2283e22a31.04b4378bce1492e0.8680a7399beeae16
+    f30110c432a534d0.478d5d7e053a4e0c.f0fdf0aee1dda4e8.88e2774acbc13287
+    9c86e5cb54c59402.1c25022200a7415e.2e467d8e98e7468c.75a0cbeda561e618
+    62bbc77143b71e92.668b24fb9133bf52.1adad8978cbfb478.29861f0d48dc87f5
+    805ff098ce3ed14b
+  after
+    8f87f68f876ac8d2.63b25fa005e18f6a.1f446e3c7ac4eb74.fe8343377123189f
+    f30110c432a534d0.478d5d7e053a4e0c.f0fdf0aee1dda4e8.88e2774acbc13287
+    9c86e5cb54c59402.1c25022200a7415e.2e467d8e98e7468c.75a0cbeda561e618
+    62bbc77143b71e92.668b24fb9133bf52.1adad8978cbfb478.29861f0d48dc87f5
+    805ff098ce3ed14b
+VPADDD_256(mem)
+  before
+    55f9b97953917f46.9fedb2229a090d2c.018b42f3d3ec8415.1004ff355bf02957
+    861ef69cf4e34e11.b168a24af5479e7b.c9f1d5f8e2de4bd3.6c11edd5a106e2d6
+    ee9b23edcc40fad9.f2789356f1fb0d2b.99885af4db13d1b7.894d9fe1f98d1aa0
+    683cbc58f8b23fca.bf6982b029b396ea.4f1e4ed5da99d2ee.c5040fc700120f62
+    7b813bf15120fbc8
+  after
+    55f9b97953917f46.9fedb2229a090d2c.018b42f3d3ec8415.1004ff355bf02957
+    861ef69cf4e34e11.b168a24af5479e7b.c9f1d5f8e2de4bd3.6c11edd5a106e2d6
+    dc18b0154874cd57.5156546c8f50aba7.cb7d18ebb6cacfe8.7c16ed0afcf70c2d
+    683cbc58f8b23fca.bf6982b029b396ea.4f1e4ed5da99d2ee.c5040fc700120f62
+    7b813bf15120fbc8
+
+VPADDD_256(reg)
+  before
+    07121ecd88441b7d.d2cc3eca9347d80f.74876ac63afb7562.c67d2c86fa7c09a3
+    c501b4c64209aa2e.0719232dba0b82d5.6e1d4703bf5de53f.d97270f257c73303
+    109cfa471afbe686.e2ede96f8809f947.077815d35567232e.66c997070e860c39
+    462deabeada60932.41150c7a1a4df892.9ce5d1a297a56adb.474e1bb03bc55073
+    5acd7ad9f991bada
+  after
+    d59eaf0d5d0590b4.ea070c9c42157c1c.75955cd614c5086d.403c07f9664d3f3c
+    c501b4c64209aa2e.0719232dba0b82d5.6e1d4703bf5de53f.d97270f257c73303
+    109cfa471afbe686.e2ede96f8809f947.077815d35567232e.66c997070e860c39
+    462deabeada60932.41150c7a1a4df892.9ce5d1a297a56adb.474e1bb03bc55073
+    5acd7ad9f991bada
+VPADDD_256(mem)
+  before
+    79112f6f64f5079c.c201829797974fdd.fe5d063c8be33ce1.89ad76dc21a1f8f1
+    82e7b65c99fdf3e5.df63bd3c7359f634.f791559ff8d88161.2a1f00ed91e9071d
+    4f1c8c8db3b639e1.fba1981add7938e3.067d74917c37833e.db866b418009d40a
+    be7a2cefcf2b96bb.70050d9d72825295.09eddffd330cfda3.f82db3448c8c9a65
+    de62d56351fe96da
+  after
+    79112f6f64f5079c.c201829797974fdd.fe5d063c8be33ce1.89ad76dc21a1f8f1
+    82e7b65c99fdf3e5.df63bd3c7359f634.f791559ff8d88161.2a1f00ed91e9071d
+    fbf8e5cbfef2fb81.a1653fd30af14611.f5ee5bdb84bbbe42.b3cc77c9b38b000e
+    be7a2cefcf2b96bb.70050d9d72825295.09eddffd330cfda3.f82db3448c8c9a65
+    de62d56351fe96da
+
+VPADDD_256(reg)
+  before
+    e76fcc086aeb0414.a9cd126c0869c6a0.9cdd1a32cd007ff7.daac12cf3a64acbd
+    6fa194a173e020c0.ede3baf27b7b85bb.d973ba438b80fdb5.56878af3ad4a4cb8
+    d444299809682589.6787a06c436d8e39.8514e93e478d067a.5a4ac156a6cb98bf
+    71a4885bc70f501c.f18441c67d4b9e45.fa0ba48e9db3d6f2.c0c135e244f24dfe
+    65b86284a1cb27a3
+  after
+    43e5be397d484649.556b5b5ebee913f4.5e88a381d30e042f.b0d24c495415e577
+    6fa194a173e020c0.ede3baf27b7b85bb.d973ba438b80fdb5.56878af3ad4a4cb8
+    d444299809682589.6787a06c436d8e39.8514e93e478d067a.5a4ac156a6cb98bf
+    71a4885bc70f501c.f18441c67d4b9e45.fa0ba48e9db3d6f2.c0c135e244f24dfe
+    65b86284a1cb27a3
+VPADDD_256(mem)
+  before
+    26fbc229d962e2d7.a20cab554a62dd24.68a718ec4422710c.95a6e59e2a7fabcb
+    dd55d3bb09c439c9.c3ca90f22dec084f.a9bca1cab4fdc2ba.b330aadc8a7cbfaf
+    67940f284cfce9a3.3028339e0d3a0c46.8e8f584ceae94e7a.aef4eeb358364f4a
+    a082f55bbf17ae91.45738ec585d726b8.f4ecb95e02f1d179.e33fad8f313a9649
+    af5de4ddb013d258
+  after
+    26fbc229d962e2d7.a20cab554a62dd24.68a718ec4422710c.95a6e59e2a7fabcb
+    dd55d3bb09c439c9.c3ca90f22dec084f.a9bca1cab4fdc2ba.b330aadc8a7cbfaf
+    045195e4e3271ca0.65d73c47784ee573.1263bab6f92033c6.48d7907ab4fc6b7a
+    a082f55bbf17ae91.45738ec585d726b8.f4ecb95e02f1d179.e33fad8f313a9649
+    af5de4ddb013d258
+
+VPMOVZXWD_256(reg)
+  before
+    6c9a8e07714d3d22.64ecfe407d2043c1.5df79fd3324f914f.b79f41ec172107e2
+    7742a77a11751354.8f9ea7c3a323665c.d6006035af2e8bb7.b3736be34585abe2
+    2ca02ba32b169299.fd646dd04c2dd191.0bd9cf5599014e9d.c435b32da92a7aa5
+    e70216ec5cbcf49e.8a09cb539549408a.57d0e8a18b5417ad.c6b295b85f1c3056
+    95b48e6f81658922
+  after
+    6c9a8e07714d3d22.64ecfe407d2043c1.5df79fd3324f914f.b79f41ec172107e2
+    00000bd90000cf55.0000990100004e9d.0000c4350000b32d.0000a92a00007aa5
+    2ca02ba32b169299.fd646dd04c2dd191.0bd9cf5599014e9d.c435b32da92a7aa5
+    e70216ec5cbcf49e.8a09cb539549408a.57d0e8a18b5417ad.c6b295b85f1c3056
+    95b48e6f81658922
+VPMOVZXWD_256(mem)
+  before
+    0d07193d2e134034.05b265c33ff4760f.125b3d3899837173.182fa58322b12192
+    0a79b210803112b9.e0fd139371495497.7124406c74e81e7a.a9430469f9a6aaf9
+    68d5d5d393ccbadd.d52f1cc78e47c9e3.83314ed9438203c8.655800beacbeec8e
+    03e6fe7283eff6cb.40947ccd307b129e.244ee56d2260de8c.aaba95edd88623fc
+    d2b5bf6419898df0
+  after
+    0d07193d2e134034.05b265c33ff4760f.125b3d3899837173.182fa58322b12192
+    0000125b00003d38.0000998300007173.0000182f0000a583.000022b100002192
+    68d5d5d393ccbadd.d52f1cc78e47c9e3.83314ed9438203c8.655800beacbeec8e
+    03e6fe7283eff6cb.40947ccd307b129e.244ee56d2260de8c.aaba95edd88623fc
+    d2b5bf6419898df0
+
+VPMOVZXWD_256(reg)
+  before
+    3b947b8f0a536415.b779aada6ea680b0.7d772f10f5706b75.304780122c8b69f0
+    3fa5c4d84771e518.605a54f56dfe15b7.e82632fc79b30f14.83e79bb67d116120
+    3b3296ac6d6e4ba4.d95578b09e02700d.ddeb80fe57ce3c26.f9fcb34432fe8249
+    8c88ed7717d6d466.003692f81dbe4ede.b71315802c502c58.6d5043a8665c8797
+    bdb0c6ce36392d36
+  after
+    3b947b8f0a536415.b779aada6ea680b0.7d772f10f5706b75.304780122c8b69f0
+    0000ddeb000080fe.000057ce00003c26.0000f9fc0000b344.000032fe00008249
+    3b3296ac6d6e4ba4.d95578b09e02700d.ddeb80fe57ce3c26.f9fcb34432fe8249
+    8c88ed7717d6d466.003692f81dbe4ede.b71315802c502c58.6d5043a8665c8797
+    bdb0c6ce36392d36
+VPMOVZXWD_256(mem)
+  before
+    c4e8bba2bda13050.8cf3c5a6e236ba0a.b0c81fb7053f6b55.d4eaedef93c21b55
+    5dc49b10189f4c14.98bf1ba36919393b.c4d999db7390839e.8fbc05b829b247ca
+    6610e404623f3cac.0d37eadc490b8fa6.1a337e4f82bd51e7.44d5584589abea63
+    ba97106bb88dbd45.45a92ebc1d99f6f6.8da34afe4ed3935a.4f80e2044f3a41cb
+    0b0b9f6018e987ae
+  after
+    c4e8bba2bda13050.8cf3c5a6e236ba0a.b0c81fb7053f6b55.d4eaedef93c21b55
+    0000b0c800001fb7.0000053f00006b55.0000d4ea0000edef.000093c200001b55
+    6610e404623f3cac.0d37eadc490b8fa6.1a337e4f82bd51e7.44d5584589abea63
+    ba97106bb88dbd45.45a92ebc1d99f6f6.8da34afe4ed3935a.4f80e2044f3a41cb
+    0b0b9f6018e987ae
+
+VPMOVZXWD_256(reg)
+  before
+    d6c08bc57f47f9ba.34279d2f35968b0a.9d5fe4af824eabd8.f8f577d6f4dd0223
+    0beca39f21ddd399.b28a073ef6656128.71a6062013b6eaf8.39f583c290e85d6f
+    05dbe25a9a3951f7.0e8dc8821606fcca.1eca927d6d5eee01.2a6fe8ae3cfe5e6a
+    22d9446284e6ae81.26fc5ee9b286181e.fe1783322bd1f4a0.a92e2587172ec23f
+    90ffb3373b81451b
+  after
+    d6c08bc57f47f9ba.34279d2f35968b0a.9d5fe4af824eabd8.f8f577d6f4dd0223
+    00001eca0000927d.00006d5e0000ee01.00002a6f0000e8ae.00003cfe00005e6a
+    05dbe25a9a3951f7.0e8dc8821606fcca.1eca927d6d5eee01.2a6fe8ae3cfe5e6a
+    22d9446284e6ae81.26fc5ee9b286181e.fe1783322bd1f4a0.a92e2587172ec23f
+    90ffb3373b81451b
+VPMOVZXWD_256(mem)
+  before
+    bdaf0fabc405a22a.bd31c5237e7128e3.d4a3445ee5f0714d.6ed9d5a9ea9b3880
+    0a08b6d0cfc59797.3131620a2265f8c8.f64df6cdcb51c286.ca5b844f4549f54e
+    55d7239077cddd8e.dc2316810c4e5ddd.66c8f02281b3c8f2.6eeb8d90d86668b6
+    78e7d2d9d92a333d.1854ddf6d8b991ce.01deaf4923243fc0.b6d3ebd9407ecd63
+    fe609a94181e6002
+  after
+    bdaf0fabc405a22a.bd31c5237e7128e3.d4a3445ee5f0714d.6ed9d5a9ea9b3880
+    0000d4a30000445e.0000e5f00000714d.00006ed90000d5a9.0000ea9b00003880
+    55d7239077cddd8e.dc2316810c4e5ddd.66c8f02281b3c8f2.6eeb8d90d86668b6
+    78e7d2d9d92a333d.1854ddf6d8b991ce.01deaf4923243fc0.b6d3ebd9407ecd63
+    fe609a94181e6002
+
+VPMOVZXBW_256(reg)
+  before
+    a2de962ffdd15c3e.50063f9610e753cd.4210b3d32431d146.a45cad2eccb0e21a
+    fe98dc158b24fec4.bafee7b33811fa6d.b7a39486894259f1.290e68be98626e2d
+    6ddc67b25da28240.909c451c6eb3e447.d1587d7aa579647d.6dc05be3a4469f24
+    4df433720fd7245d.afacd5bdced9cd88.ee7d691b14613094.4d3d038a0b69312c
+    a353dba0ead5df70
+  after
+    a2de962ffdd15c3e.50063f9610e753cd.4210b3d32431d146.a45cad2eccb0e21a
+    00d10058007d007a.00a500790064007d.006d00c0005b00e3.00a40046009f0024
+    6ddc67b25da28240.909c451c6eb3e447.d1587d7aa579647d.6dc05be3a4469f24
+    4df433720fd7245d.afacd5bdced9cd88.ee7d691b14613094.4d3d038a0b69312c
+    a353dba0ead5df70
+VPMOVZXBW_256(mem)
+  before
+    4ccc5e105c99661d.f92e3cc13e4f1fc8.f3fa1382738f705b.685c54d57186f6e2
+    24750ac67ebe825f.cdd47e0b8597b02c.38527c577ae28aed.9c423a145875f514
+    071b5bad6b52ee61.2533f6bc813a1336.5b808a28feded669.e77b184466b967d6
+    d187cbb340606850.5c979f40cdc58392.364fbbe21b8d12fc.a353e8d137de89d3
+    2d16a827667197b8
+  after
+    4ccc5e105c99661d.f92e3cc13e4f1fc8.f3fa1382738f705b.685c54d57186f6e2
+    00f300fa00130082.0073008f0070005b.0068005c005400d5.0071008600f600e2
+    071b5bad6b52ee61.2533f6bc813a1336.5b808a28feded669.e77b184466b967d6
+    d187cbb340606850.5c979f40cdc58392.364fbbe21b8d12fc.a353e8d137de89d3
+    2d16a827667197b8
+
+VPMOVZXBW_256(reg)
+  before
+    e11053b38ffdcd30.5e88d8c318f5aa57.d04b750405c33deb.a68d8a6feefdf8d2
+    1b8ce6e04f0e66e8.8ae9fdca101c70a3.dc9d7472c7c07dee.870474bd92394516
+    37d75b1941319f8c.3175b6b243e17860.dbd798f8ac487f46.b581f3b7244eb4f5
+    913db0cc02f1b3c7.2ff97f68cd517cb9.2b46de0152e87ea0.0ccf8549bf47029a
+    68bca55e8030eb32
+  after
+    e11053b38ffdcd30.5e88d8c318f5aa57.d04b750405c33deb.a68d8a6feefdf8d2
+    00db00d7009800f8.00ac0048007f0046.00b5008100f300b7.0024004e00b400f5
+    37d75b1941319f8c.3175b6b243e17860.dbd798f8ac487f46.b581f3b7244eb4f5
+    913db0cc02f1b3c7.2ff97f68cd517cb9.2b46de0152e87ea0.0ccf8549bf47029a
+    68bca55e8030eb32
+VPMOVZXBW_256(mem)
+  before
+    a513cfe482162be8.850ae0642ddae046.6041d5d9cb7738db.263641f8552cb7a7
+    9e9f80c6e2047dea.6f8ae74d5f7960b4.a01933ef595f6af1.2af3bd4b509e6608
+    312d32f1bb069e61.ab09c2f3335970be.cb4d15989216cc28.91c94f65dfccc66f
+    3989634f2a294a7c.95d26cc246074b10.bda9f7bf92a71bac.b903f1b29f411487
+    fcefa19f2c8a8cfd
+  after
+    a513cfe482162be8.850ae0642ddae046.6041d5d9cb7738db.263641f8552cb7a7
+    0060004100d500d9.00cb0077003800db.00260036004100f8.0055002c00b700a7
+    312d32f1bb069e61.ab09c2f3335970be.cb4d15989216cc28.91c94f65dfccc66f
+    3989634f2a294a7c.95d26cc246074b10.bda9f7bf92a71bac.b903f1b29f411487
+    fcefa19f2c8a8cfd
+
+VPMOVZXBW_256(reg)
+  before
+    b8d75a9620326a7d.927f8ecd4a783d65.8932e026330d2e55.52f8564f761e13a8
+    470818041ac5e9b2.18db305838ff3248.e3761d8b97fa553a.6508ac365a886f48
+    06ced856b4d04648.a668c3da0fcbe652.ffe81c5e0d57fc6a.d4a3775f58f0ecba
+    527594f68adebded.1af4c541ebe715af.39d4db0931b25e92.7a9632b68f624628
+    32ad5a2818eb39be
+  after
+    b8d75a9620326a7d.927f8ecd4a783d65.8932e026330d2e55.52f8564f761e13a8
+    00ff00e8001c005e.000d005700fc006a.00d400a30077005f.005800f000ec00ba
+    06ced856b4d04648.a668c3da0fcbe652.ffe81c5e0d57fc6a.d4a3775f58f0ecba
+    527594f68adebded.1af4c541ebe715af.39d4db0931b25e92.7a9632b68f624628
+    32ad5a2818eb39be
+VPMOVZXBW_256(mem)
+  before
+    dab3699f129680a9.85484a52397b894a.4f49b178e95f7a8a.ed8854faa096b85e
+    4d76dd08966fd815.fc95f5d55c34e70e.2034036b2540d210.764f859cf68f4679
+    66c03150c383fd2d.13a692ea909413e3.6b813705ba95d96d.32746a5ace2a448f
+    035ee161b2ddaa1e.27c81bff70274976.0afcca34c46a4acc.7c44fda2c4f3ed4e
+    b00b3cdf75747e60
+  after
+    dab3699f129680a9.85484a52397b894a.4f49b178e95f7a8a.ed8854faa096b85e
+    004f004900b10078.00e9005f007a008a.00ed0088005400fa.00a0009600b8005e
+    66c03150c383fd2d.13a692ea909413e3.6b813705ba95d96d.32746a5ace2a448f
+    035ee161b2ddaa1e.27c81bff70274976.0afcca34c46a4acc.7c44fda2c4f3ed4e
+    b00b3cdf75747e60
+
+VPBLENDVB_256(reg)
+  before
+    2915227d7d3b3371.fe1c6a2981899c14.92478e7f987ac472.db7137e460cce35a
+    45aeabe876d3472e.35c647934c948f3a.b16fe6d6a518c184.b9abfaffa9c65e42
+    5e21d38dffc9f743.8228f38b2e093fbc.e08c1f71338e7c57.7f778f72bc6577b1
+    d2bc96d6b1a87f5b.c30eedfc43f567c8.7be936badd663098.0aa27329b5b3ecd2
+    37f62011aebf77d2
+  after
+    5e21d38dffc9472e.82c6f38b4c098fbc.b18ce6713318c157.b977faffbc6577b1
+    45aeabe876d3472e.35c647934c948f3a.b16fe6d6a518c184.b9abfaffa9c65e42
+    5e21d38dffc9f743.8228f38b2e093fbc.e08c1f71338e7c57.7f778f72bc6577b1
+    d2bc96d6b1a87f5b.c30eedfc43f567c8.7be936badd663098.0aa27329b5b3ecd2
+    37f62011aebf77d2
+VPBLENDVB_256(mem)
+  before
+    e0401415c692d5dd.fbc9f1302bfc1b23.d243aed4a862c488.ded3251e3f2e1bf3
+    e34bca20163ac21e.3795df0806520647.8d94b3ff795f1228.6597ea0af6727713
+    1ae5bf20bcc2f9c2.e06c5cc8e1357d72.cece7967d1f50cd5.6c7f80e89ebd80a5
+    62d86d00d43737f5.549a65de5531bc50.72bb7bf9cc326fbb.4fd7e326d29b7454
+    6aed102f2e988dcd
+  after
+    e0401415c692d5dd.fbc9f1302bfc1b23.d243aed4a862c488.ded3251e3f2e1bf3
+    e34bca20163ac21e.3795df0806520647.8d94b3ff795f1228.6597ea0af6727713
+    e340ca20c63ac2dd.37c9df3006521b47.8d43b3d4a85f1288.65d3250a3f2e7713
+    62d86d00d43737f5.549a65de5531bc50.72bb7bf9cc326fbb.4fd7e326d29b7454
+    6aed102f2e988dcd
+
+VPBLENDVB_256(reg)
+  before
+    190c026f4f4108bb.97f152ac79a338e2.ed6bf4b500d2fe8f.552735a28721f705
+    b87fb552d02120cc.96fce910c815b7b5.082a07b97ea580d9.54e0244c1dcf60e0
+    a29325444ec512a9.39c5af18dc96719b.022499566a367eda.49b0c2e5ab476577
+    35954eb164b81a01.5d181eb0d13422c0.35a6a7f8600f343f.11658d574d95c3f7
+    88c900901dc5368c
+  after
+    b893b544d0c520cc.96fce918dc15b79b.082499567ea580d9.54e0c24c1d476577
+    b87fb552d02120cc.96fce910c815b7b5.082a07b97ea580d9.54e0244c1dcf60e0
+    a29325444ec512a9.39c5af18dc96719b.022499566a367eda.49b0c2e5ab476577
+    35954eb164b81a01.5d181eb0d13422c0.35a6a7f8600f343f.11658d574d95c3f7
+    88c900901dc5368c
+VPBLENDVB_256(mem)
+  before
+    8aa9987b39e47961.cccf2d05af86747e.dec1b4c5c4fa8650.fefa2b0bfdbeddb4
+    f3d1cf04bdfd4aa3.c38dbdaccabb5bcc.988bec41d1f55876.ba6d23fbddcfb6e4
+    9f0d2317c41d637d.751dfa1352e40c98.674442111330555e.c34a8a359bcdfb7c
+    6a280fa06b4f801c.40c9e0a4e28cc38e.27b63222a6b73935.76df5c23d344e727
+    2f76953322c0b892
+  after
+    8aa9987b39e47961.cccf2d05af86747e.dec1b4c5c4fa8650.fefa2b0bfdbeddb4
+    f3d1cf04bdfd4aa3.c38dbdaccabb5bcc.988bec41d1f55876.ba6d23fbddcfb6e4
+    f3d1cf7bbdfd79a3.c3cf2d05af86747e.98c1ec41c4fa5876.bafa23fbfdcfdde4
+    6a280fa06b4f801c.40c9e0a4e28cc38e.27b63222a6b73935.76df5c23d344e727
+    2f76953322c0b892
+
+VPBLENDVB_256(reg)
+  before
+    4a5c32cf23cea869.30f00f8bcd9f5fac.7fdf6bcd1740bc59.b4ae395fa797c027
+    23de2e6573f9f357.cd2f9fc5071aba58.8da998f88c8b32a6.eaf8d1b431daa560
+    16458560adcdd709.1db23c3834cb4d4d.c8746293ddf96221.a55f780d618fa50b
+    7fe0332c6ed78e2a.fc4561d270bed6b6.8a8cc509a7178875.c1b1aa5552bf7b54
+    1ab8e17b2178e568
+  after
+    23452e6573cdd757.1d2f9f3807cb4d4d.c87462f8dd8b62a6.a55f78b4318fa560
+    23de2e6573f9f357.cd2f9fc5071aba58.8da998f88c8b32a6.eaf8d1b431daa560
+    16458560adcdd709.1db23c3834cb4d4d.c8746293ddf96221.a55f780d618fa50b
+    7fe0332c6ed78e2a.fc4561d270bed6b6.8a8cc509a7178875.c1b1aa5552bf7b54
+    1ab8e17b2178e568
+VPBLENDVB_256(mem)
+  before
+    8c419b68e9c69d73.bafa353551a25467.46b48a7dd8000fc0.313cbec68670df4e
+    f3185309c7b360a0.23de85e7f3ba676c.d7ca3327879cb597.17d247361590a45a
+    2a09854ad64de91c.16da21aeefac01e4.8b55d9bb9a9e8466.9a985ec5f0031343
+    0fe0ad1832a0f513.ef3804f7e2035f7c.3d1ff6252d13375a.14dcfee0b45668b5
+    e2e823f1fc15de5d
+  after
+    8c419b68e9c69d73.bafa353551a25467.46b48a7dd8000fc0.313cbec68670df4e
+    f3185309c7b360a0.23de85e7f3ba676c.d7ca3327879cb597.17d247361590a45a
+    f3419b09c7c69da0.bade853551ba676c.d7ca8a27879cb597.173cbec68690a44e
+    0fe0ad1832a0f513.ef3804f7e2035f7c.3d1ff6252d13375a.14dcfee0b45668b5
+    e2e823f1fc15de5d
+
+VPMINSD_256(reg)
+  before
+    6109ca6565cab2e7.7d69475df9b640b0.0a452b2c674cbddf.cbf508515b068b9e
+    eb8aeda98a0320fe.506fd007449d8620.c34d90bb1a1256ba.10a38a2b40833c5f
+    ddb98a28084c634f.63bfc3013161828e.759b310e98e167b9.e8f5f99ff99706c8
+    94e09c4d7a2fb985.94259c37dc0df227.7e7d09937d452c87.2eb7cf99a14da407
+    c0b48a0655b1d345
+  after
+    ddb98a288a0320fe.506fd0073161828e.c34d90bb98e167b9.e8f5f99ff99706c8
+    eb8aeda98a0320fe.506fd007449d8620.c34d90bb1a1256ba.10a38a2b40833c5f
+    ddb98a28084c634f.63bfc3013161828e.759b310e98e167b9.e8f5f99ff99706c8
+    94e09c4d7a2fb985.94259c37dc0df227.7e7d09937d452c87.2eb7cf99a14da407
+    c0b48a0655b1d345
+VPMINSD_256(mem)
+  before
+    78baa5d030d04fb1.6a4d20867d3a5b4d.bd6dd8955fad8f17.393d14b564cbe1d0
+    34939ce54eb5d374.bc4a103eacf98853.bc63f107d94d1889.02284fdfe9fec142
+    ce0cec2fcc6d1cbd.e6246ae1a4f77a42.6cd3657964fa47a9.348ab47fa96b0987
+    24f10f9cc602e6b6.442729db00c06ec7.a888afd71cbfd9a5.2daf41013f9df44b
+    48e3f1cf4820c03b
+  after
+    78baa5d030d04fb1.6a4d20867d3a5b4d.bd6dd8955fad8f17.393d14b564cbe1d0
+    34939ce54eb5d374.bc4a103eacf98853.bc63f107d94d1889.02284fdfe9fec142
+    34939ce530d04fb1.bc4a103eacf98853.bc63f107d94d1889.02284fdfe9fec142
+    24f10f9cc602e6b6.442729db00c06ec7.a888afd71cbfd9a5.2daf41013f9df44b
+    48e3f1cf4820c03b
+
+VPMINSD_256(reg)
+  before
+    e072c1566081a703.100e83175782ed8c.329e49985ce0a08d.4e504c0d1ea88aa7
+    53a7ab02214be64e.702ec38c9cf9ec6a.0cd7c78555e44c41.38f5b60885c215db
+    fbcfad402a0ab8c9.1e1f4ce7b072a07d.2e1c9d0c8757ad8f.43446bb26e18386e
+    3637c27a144a5b20.f8ab9814aff9c5f0.f4bac99b8dc50022.4c09e6f9f4b7ac8c
+    2d0fa3c734a93060
+  after
+    fbcfad40214be64e.1e1f4ce79cf9ec6a.0cd7c7858757ad8f.38f5b60885c215db
+    53a7ab02214be64e.702ec38c9cf9ec6a.0cd7c78555e44c41.38f5b60885c215db
+    fbcfad402a0ab8c9.1e1f4ce7b072a07d.2e1c9d0c8757ad8f.43446bb26e18386e
+    3637c27a144a5b20.f8ab9814aff9c5f0.f4bac99b8dc50022.4c09e6f9f4b7ac8c
+    2d0fa3c734a93060
+VPMINSD_256(mem)
+  before
+    c3241e0a49fd7e17.5e28e61e7d9809fe.d89f25ffb69a16f0.bafd469c03bb81a7
+    eb12d4ad50bc53dc.d1f115970180fe0f.9bc76e95e06250a9.dc31117d86c46bc9
+    7fa6409c64f46bdc.e9dd4c503b8c7801.1defefc04a5c2f46.b6a224a9b26dfb35
+    5caddec3a1b08243.033786b7c84ab17d.3be2256e10956ff4.a49c7d8b21406d97
+    026a179172ccfc9a
+  after
+    c3241e0a49fd7e17.5e28e61e7d9809fe.d89f25ffb69a16f0.bafd469c03bb81a7
+    eb12d4ad50bc53dc.d1f115970180fe0f.9bc76e95e06250a9.dc31117d86c46bc9
+    c3241e0a49fd7e17.d1f115970180fe0f.9bc76e95b69a16f0.bafd469c86c46bc9
+    5caddec3a1b08243.033786b7c84ab17d.3be2256e10956ff4.a49c7d8b21406d97
+    026a179172ccfc9a
+
+VPMINSD_256(reg)
+  before
+    2c59ee263f9ae6eb.5ef02a0e24fd533c.7c4dbf374346e632.cf6e8a894c18cbde
+    7db5feb724386535.623ea06909e69bf4.ae69f33c480a53ca.b65d9cff1df10031
+    53ca44aebd31b525.4262bdc16b771596.f6d81f33742433f2.cc7dd6bb9c2cca19
+    09e4bb78a8121467.db27fc0066bc7f4f.b0e63d866320c355.ed98b4a9e8d6e4c1
+    f57ab3b51afb0c56
+  after
+    53ca44aebd31b525.4262bdc109e69bf4.ae69f33c480a53ca.b65d9cff9c2cca19
+    7db5feb724386535.623ea06909e69bf4.ae69f33c480a53ca.b65d9cff1df10031
+    53ca44aebd31b525.4262bdc16b771596.f6d81f33742433f2.cc7dd6bb9c2cca19
+    09e4bb78a8121467.db27fc0066bc7f4f.b0e63d866320c355.ed98b4a9e8d6e4c1
+    f57ab3b51afb0c56
+VPMINSD_256(mem)
+  before
+    c0f14ecb50a5fc04.fb4f5f827e66bca6.095bd91417c2934b.39df4ba2b0883fa0
+    2ac801d7a6e270f6.84562c36ddb9ea8e.a8c8d0e79a950eb5.eb0e45f4f7eae27e
+    0fca48c537bd2658.02471f026197d9cd.943b5e67093fabba.23c025e6d5d2e99c
+    4bc49f812043d857.cf6c3250a58dc60d.a980fe7f83ce2785.3d42e9e6e5cb90a6
+    95de8b5fc4611347
+  after
+    c0f14ecb50a5fc04.fb4f5f827e66bca6.095bd91417c2934b.39df4ba2b0883fa0
+    2ac801d7a6e270f6.84562c36ddb9ea8e.a8c8d0e79a950eb5.eb0e45f4f7eae27e
+    c0f14ecba6e270f6.84562c36ddb9ea8e.a8c8d0e79a950eb5.eb0e45f4b0883fa0
+    4bc49f812043d857.cf6c3250a58dc60d.a980fe7f83ce2785.3d42e9e6e5cb90a6
+    95de8b5fc4611347
+
+VPMAXSD_256(reg)
+  before
+    87e109bc0d20ad2c.ba8283f87c7f421f.4912638e4626edfa.c3622c1b224d3e43
+    6f975f6b5d959b00.38d06f14677d22db.cb85ad27dfef8a41.beaf642702c9ac20
+    a94b87d74f4b1970.a17adfc3fe4a32b8.b0100d870c73d98e.7631228f404d2c47
+    914b7f6c80ce6328.d14c4ff05df12fe2.56017d1a6a3e158c.c6b5e33ff7e57be5
+    8c072223439e5525
+  after
+    6f975f6b5d959b00.38d06f14677d22db.cb85ad270c73d98e.7631228f404d2c47
+    6f975f6b5d959b00.38d06f14677d22db.cb85ad27dfef8a41.beaf642702c9ac20
+    a94b87d74f4b1970.a17adfc3fe4a32b8.b0100d870c73d98e.7631228f404d2c47
+    914b7f6c80ce6328.d14c4ff05df12fe2.56017d1a6a3e158c.c6b5e33ff7e57be5
+    8c072223439e5525
+VPMAXSD_256(mem)
+  before
+    a3f35b2742837634.83e142978babb4d3.a4113b879f7ed584.17a2fb4c94dd7be8
+    e7450a380da0993e.db5accc20d6d491e.f5972073e0fedfcb.5040828927db464e
+    33c9ac40c2027b6e.f502195aa1a15db4.a2a879a23d7c0ae2.5e270e3ebfc4b369
+    654abc2d7db4d8f1.2c2526cce3d22e42.8611c200d10412f6.9ba39cd5f625fee5
+    640027bc6b896370
+  after
+    a3f35b2742837634.83e142978babb4d3.a4113b879f7ed584.17a2fb4c94dd7be8
+    e7450a380da0993e.db5accc20d6d491e.f5972073e0fedfcb.5040828927db464e
+    e7450a3842837634.db5accc20d6d491e.f5972073e0fedfcb.5040828927db464e
+    654abc2d7db4d8f1.2c2526cce3d22e42.8611c200d10412f6.9ba39cd5f625fee5
+    640027bc6b896370
+
+VPMAXSD_256(reg)
+  before
+    168aaa5db77c1eb3.5895b6ea59c26bf2.de0fee83708cf673.7d9e7877b9a3b333
+    0b8c2426798b6a5d.e77616637239f19e.660b6deae45bf2f5.621a15f41064a8c4
+    a0538e824a418418.f0b95884e5242620.20669f6fdacc5d71.13531763f353aed5
+    312ce5ddc92aa790.4e2af939ce90c5a5.676d807dee6a7596.6a13f9b17d7d8194
+    452737c8cbeddc2b
+  after
+    0b8c2426798b6a5d.f0b958847239f19e.660b6deae45bf2f5.621a15f41064a8c4
+    0b8c2426798b6a5d.e77616637239f19e.660b6deae45bf2f5.621a15f41064a8c4
+    a0538e824a418418.f0b95884e5242620.20669f6fdacc5d71.13531763f353aed5
+    312ce5ddc92aa790.4e2af939ce90c5a5.676d807dee6a7596.6a13f9b17d7d8194
+    452737c8cbeddc2b
+VPMAXSD_256(mem)
+  before
+    7f5b4e96f8b07cc6.1a6126a38fd31173.dc95746e47878c59.996a0d80bdc2740e
+    f37bb80620d01d92.b83e4c403ac7fc6a.78c5450f6f173567.11aa41e4e25f9685
+    7e53f304605c7bbb.651153206692a424.fc88e808604c7cfc.2a781815facd19a8
+    fdaf7a7cd45d516c.7e2538b0aec1474b.46a8d94636311f44.42228e7fa1993723
+    b3f2a08f714e2da1
+  after
+    7f5b4e96f8b07cc6.1a6126a38fd31173.dc95746e47878c59.996a0d80bdc2740e
+    f37bb80620d01d92.b83e4c403ac7fc6a.78c5450f6f173567.11aa41e4e25f9685
+    7f5b4e9620d01d92.1a6126a33ac7fc6a.78c5450f6f173567.11aa41e4e25f9685
+    fdaf7a7cd45d516c.7e2538b0aec1474b.46a8d94636311f44.42228e7fa1993723
+    b3f2a08f714e2da1
+
+VPMAXSD_256(reg)
+  before
+    db3648af097836cf.4a5aca5a97e15cd2.5fc5f55aaedf1f8b.30f295b30ed2d86a
+    1438844d02a38f59.43215d8ac5f35818.643e888b03796992.9732973d033b649a
+    bc4550d3fa5c74ea.c2d1b1f87b9f006c.e9dcecb049196109.58335bce32797f02
+    2da9a6af8d2f212e.a4344190d5f211f7.4aeb1e341b4e429f.4dc35e54b697e4cc
+    53ac1abaaba25024
+  after
+    1438844d02a38f59.43215d8a7b9f006c.643e888b49196109.58335bce32797f02
+    1438844d02a38f59.43215d8ac5f35818.643e888b03796992.9732973d033b649a
+    bc4550d3fa5c74ea.c2d1b1f87b9f006c.e9dcecb049196109.58335bce32797f02
+    2da9a6af8d2f212e.a4344190d5f211f7.4aeb1e341b4e429f.4dc35e54b697e4cc
+    53ac1abaaba25024
+VPMAXSD_256(mem)
+  before
+    47bb0dec2ea57f37.c5af844c56a6d2d3.c616893fedf747e7.e3b7188215a149fe
+    03bdb2d65bac2c31.dea5e516f24fc282.024505efe2bb5e68.0f8bd808d4a0b2d2
+    647b85644dc3143d.d5d5c579fcb62eea.358c328ece4911a6.2cb55931f3d6b9c8
+    46c4038221f7f388.078c20e1106551b5.3bb68b07cdad1dcc.957f97690fcf998c
+    a6368e1cc3188fca
+  after
+    47bb0dec2ea57f37.c5af844c56a6d2d3.c616893fedf747e7.e3b7188215a149fe
+    03bdb2d65bac2c31.dea5e516f24fc282.024505efe2bb5e68.0f8bd808d4a0b2d2
+    47bb0dec5bac2c31.dea5e51656a6d2d3.024505efedf747e7.0f8bd80815a149fe
+    46c4038221f7f388.078c20e1106551b5.3bb68b07cdad1dcc.957f97690fcf998c
+    a6368e1cc3188fca
+
+VPSHUFB_256(reg)
+  before
+    bb263bb7ac3dd62d.8563a61df253853d.ce16f2bacbea6990.f0908c45fcf43e06
+    2f9b99a465c8ac61.fd23ec1fdce48589.87bf3870c9d1b026.30e6b13676282f82
+    60e0a4508b474b13.8ad25076fcb5b098.8ed3ed6fa5a46224.d78477c55858ae69
+    a9435828b945f0ef.083a4f0c6dd2c295.409d0d24fbf1bd35.c23659debd8d75ea
+    cbc7d36dc1d5402f
+  after
+    8900008900fd65dc.0000892300000000.0000008700002836.00003000262600b0
+    2f9b99a465c8ac61.fd23ec1fdce48589.87bf3870c9d1b026.30e6b13676282f82
+    60e0a4508b474b13.8ad25076fcb5b098.8ed3ed6fa5a46224.d78477c55858ae69
+    a9435828b945f0ef.083a4f0c6dd2c295.409d0d24fbf1bd35.c23659debd8d75ea
+    cbc7d36dc1d5402f
+VPSHUFB_256(mem)
+  before
+    cf05615f813bcd64.650eb2968b4fd6a0.532863cf4c4877ad.f76b95fa6844fb06
+    a9ba7f9e19ccd6b6.f28eac089ff03bd3.47680aaab4228a0b.10877f5c87275943
+    37b3aa17a4931751.aa0f44e98eb45934.c0c5bf89c26cb8dc.e73ec9b8f5291397
+    54bc5db73e9c4e61.ebdd75a5f6276c6e.9a0dfe589133bc4c.d8dc6e794dd364af
+    3fad6a0b2cb38936
+  after
+    cf05615f813bcd64.650eb2968b4fd6a0.532863cf4c4877ad.f76b95fa6844fb06
+    a9ba7f9e19ccd6b6.f28eac089ff03bd3.47680aaab4228a0b.10877f5c87275943
+    00ac3ba900190008.acba000000a90000.870b8700aa0b1000.00b400000b5c0087
+    54bc5db73e9c4e61.ebdd75a5f6276c6e.9a0dfe589133bc4c.d8dc6e794dd364af
+    3fad6a0b2cb38936
+
+VPSHUFB_256(reg)
+  before
+    78fcbada2d54bed9.dca1146904f43511.0f443ca873d6b22d.b10a44033e825486
+    df175852ed423e44.ab2d4b1812a6898d.7490935e9f4d651f.e1890b76e4653ab7
+    d04842df070a4722.9d2e7eb283be0602.740c78331916c2ee.0656d19da0e92b0a
+    a7dc73ed18371320.8e6e2a227349679c.6d05e6937bbf0446.fc3d11658d19e2ac
+    9e0a48b8c8011cc8
+  after
+    0044a600ab42aba6.0017170000002da6.765e1fe465890000.8989000000009f4d
+    df175852ed423e44.ab2d4b1812a6898d.7490935e9f4d651f.e1890b76e4653ab7
+    d04842df070a4722.9d2e7eb283be0602.740c78331916c2ee.0656d19da0e92b0a
+    a7dc73ed18371320.8e6e2a227349679c.6d05e6937bbf0446.fc3d11658d19e2ac
+    9e0a48b8c8011cc8
+VPSHUFB_256(mem)
+  before
+    ca89f0846cae958b.bf1fe8e9bb56dee9.59baca54ff526986.b9c7d9eb61d469d4
+    5b8587b3952b0921.765d9b3d8cf2e62a.dcdeda3442e5c8ed.b59e4ea568df2b44
+    2ccb8833608433b6.27e28a572897658e.f2a6d6ae590f40fd.bed6402f2b6e8641
+    1b276fefe9c6d174.2ef9b0a22bd197c3.76de3baf5fdb8ce1.2ebbabf3470db878
+    62988b5f5746fb94
+  after
+    ca89f0846cae958b.bf1fe8e9bb56dee9.59baca54ff526986.b9c7d9eb61d469d4
+    5b8587b3952b0921.765d9b3d8cf2e62a.dcdeda3442e5c8ed.b59e4ea568df2b44
+    00000000b3000000.005b0000005d0000.c80000a500dfc800.000000002b00c800
+    1b276fefe9c6d174.2ef9b0a22bd197c3.76de3baf5fdb8ce1.2ebbabf3470db878
+    62988b5f5746fb94
+
+VPSHUFB_256(reg)
+  before
+    b6badcdef8a78c42.0365b8d34bfc9c8a.e7f00989302dba72.46518421715669c6
+    876d9bdcc5bca72e.bf51e0cba2325322.ad11927ad336084a.3ccd2df1aa8a93d7
+    2ffdc2c55b0f8703.2db762c30b75b069.dea946e0b179bef5.361cb20c2785c541
+    0bb64f05552e696e.2762baa7a1d0708a.d50420276581181f.0f0b8f5d0353bc2f
+    a26641cf5aff34ce
+  after
+    87000000c58700a2.9b003200c5e000a7.0000cd0000080000.cd7a007a3c000093
+    876d9bdcc5bca72e.bf51e0cba2325322.ad11927ad336084a.3ccd2df1aa8a93d7
+    2ffdc2c55b0f8703.2db762c30b75b069.dea946e0b179bef5.361cb20c2785c541
+    0bb64f05552e696e.2762baa7a1d0708a.d50420276581181f.0f0b8f5d0353bc2f
+    a26641cf5aff34ce
+VPSHUFB_256(mem)
+  before
+    ccf943504995e94a.77e43d084fa5891a.8b20646381504fb2.ed6e1ebb8cda5175
+    6a8f11cbec2196ce.cfd2893ae6ff22b4.33bbdde4c7ff080c.84323c09c110a7a3
+    56f6272c5eb0f887.6fce2e08b6c871e8.fc009f148dec59c5.f49e747ba1b05354
+    6ef8025fbb4dcba1.b32227dc5a8cb261.c3bb28e1f220fb09.9bfcc47ec7469435
+    d399277fd05ca4f2
+  after
+    ccf943504995e94a.77e43d084fa5891a.8b20646381504fb2.ed6e1ebb8cda5175
+    6a8f11cbec2196ce.cfd2893ae6ff22b4.33bbdde4c7ff080c.84323c09c110a7a3
+    0000e6b496000021.cf0011ce6a000021.00a309c100a33300.00bbbb000000a73c
+    6ef8025fbb4dcba1.b32227dc5a8cb261.c3bb28e1f220fb09.9bfcc47ec7469435
+    d399277fd05ca4f2
+
+VPUNPCKLBW_256(reg)
+  before
+    fac199e95780c036.8c621d512005ca47.f71b72246ed821cc.62b7f4350fa9ad03
+    6ac01727f93e24ad.8d00f4eca9e2b2a5.97050b4a8f37f9d4.b7c27dfe029229e0
+    81e19ba751200b05.4e9e031d71f33fe9.ef2cecbc58357726.9ca64127e7e72ccc
+    997223d4fcb4b3e7.a908c6d194412d3c.5bdb13e5665fd76e.ee30ba9cd9b572f2
+    892d6649f507b77e
+  after
+    4e8d9e0003f41dec.71a9f3e23fb2e9a5.9cb7a6c2417d27fe.e702e7922c29cce0
+    6ac01727f93e24ad.8d00f4eca9e2b2a5.97050b4a8f37f9d4.b7c27dfe029229e0
+    81e19ba751200b05.4e9e031d71f33fe9.ef2cecbc58357726.9ca64127e7e72ccc
+    997223d4fcb4b3e7.a908c6d194412d3c.5bdb13e5665fd76e.ee30ba9cd9b572f2
+    892d6649f507b77e
+VPUNPCKLBW_256(mem)
+  before
+    4966c11a56eab69e.0fbdaa1a95855502.7b09baf22fda37cd.37607b3155405557
+    0baa45fb18692c7b.3f0f2ce5b8203000.a06e5a6e5dc91ac6.de05200cbf652c8e
+    a9c470d95890d444.86b5a6a102107e8e.f40422303b1b9254.ae17ffe2435999be
+    007fbd9e326c6c23.3ef813ba0fe17c57.53958e24e4db5aa2.02e2121f7aa8d894
+    36b2573003de24bc
+  after
+    4966c11a56eab69e.0fbdaa1a95855502.7b09baf22fda37cd.37607b3155405557
+    0baa45fb18692c7b.3f0f2ce5b8203000.a06e5a6e5dc91ac6.de05200cbf652c8e
+    0f3fbd0faa2c1ae5.95b8852055300200.37de60057b20310c.55bf4065552c578e
+    007fbd9e326c6c23.3ef813ba0fe17c57.53958e24e4db5aa2.02e2121f7aa8d894
+    36b2573003de24bc
+
+VPUNPCKLBW_256(reg)
+  before
+    a5d2c97f7788bae1.eca9a838c108ae44.c4276f9d7a206608.9aed1b36751530dd
+    ad90647a7432d6af.490cad91217056d5.748db6b4df58784c.a3da435209d5ce30
+    a936258b9666b4d4.f37549976fb022ff.aa75e46ddb16edd0.4b278464bc28f0c8
+    f411072078b28ffa.c6b0f635c6d5ccf1.c32cf63309e40240.6e9f5a58ac1a54d1
+    e80f3f1bf2b5b476
+  after
+    f349750c49ad9791.6f21b0702256ffd5.4ba327da84436452.bc0928d5f0cec830
+    ad90647a7432d6af.490cad91217056d5.748db6b4df58784c.a3da435209d5ce30
+    a936258b9666b4d4.f37549976fb022ff.aa75e46ddb16edd0.4b278464bc28f0c8
+    f411072078b28ffa.c6b0f635c6d5ccf1.c32cf63309e40240.6e9f5a58ac1a54d1
+    e80f3f1bf2b5b476
+VPUNPCKLBW_256(mem)
+  before
+    9444b197ac07cce3.ec6d05a4b6a1a4cd.9e88325743eb11d5.19fee7710650f247
+    50072abaf61c5a46.eb961e83edc02ffa.57cb79e901fcadd7.0937b3956de6fb92
+    f727286eebfe18c9.4fd84b29b99a6b2d.cd4345d71d165b24.ef23560adb3157cc
+    656f27a1a7bbc398.727e8a02b5bb9511.dbbd140db245d8e8.270ecc3cebbd43a2
+    0d4312973a16fac0
+  after
+    9444b197ac07cce3.ec6d05a4b6a1a4cd.9e88325743eb11d5.19fee7710650f247
+    50072abaf61c5a46.eb961e83edc02ffa.57cb79e901fcadd7.0937b3956de6fb92
+    eceb6d96051ea483.b6eda1c0a42fcdfa.1909fe37e7b37195.066d50e6f2fb4792
+    656f27a1a7bbc398.727e8a02b5bb9511.dbbd140db245d8e8.270ecc3cebbd43a2
+    0d4312973a16fac0
+
+VPUNPCKLBW_256(reg)
+  before
+    fd0f238763c9b9d1.76aaa13e475e17e0.b2d6d57a7db0e953.5f056177dd93e04f
+    52bffb790361bc82.06a61431e6f4cfcd.692a2afdae04a39e.34e7a802b90e2f84
+    6a9d96d7b56b3f7e.f02dfb66a188a88b.f4c785f8e443fea0.362f659862c280b3
+    a0f5f10f15717d72.120cd2c993275e44.b0f9e0d5b9fa3702.41a91527f6b99009
+    302032998e011bb2
+  after
+    f0062da6fb146631.a1e688f4a8cf8bcd.36342fe765a89802.62b9c20e802fb384
+    52bffb790361bc82.06a61431e6f4cfcd.692a2afdae04a39e.34e7a802b90e2f84
+    6a9d96d7b56b3f7e.f02dfb66a188a88b.f4c785f8e443fea0.362f659862c280b3
+    a0f5f10f15717d72.120cd2c993275e44.b0f9e0d5b9fa3702.41a91527f6b99009
+    302032998e011bb2
+VPUNPCKLBW_256(mem)
+  before
+    e1613adc48a6dcd9.5015078bc002b309.470f1546d9dbad27.f70c3901ccb48a72
+    2f38a8db40b290ab.d648d4b952a71df1.6a0141c98eb2505e.264b8be9b6fd329c
+    f571f9829134f354.8dd9540466eef7d3.59b0d13fcfb80416.9a04d2f816626c2c
+    11d8a7bd5735c0ff.d31583d898627c5e.efe64192b7f7857a.ad810a9a856e74cd
+    bc0f303ba1ad862b
+  after
+    e1613adc48a6dcd9.5015078bc002b309.470f1546d9dbad27.f70c3901ccb48a72
+    2f38a8db40b290ab.d648d4b952a71df1.6a0141c98eb2505e.264b8be9b6fd329c
+    50d6154807d48bb9.c05202a7b31d09f1.f7260c4b398b01e9.ccb6b4fd8a32729c
+    11d8a7bd5735c0ff.d31583d898627c5e.efe64192b7f7857a.ad810a9a856e74cd
+    bc0f303ba1ad862b
+
+VPUNPCKHBW_256(reg)
+  before
+    23fa3e4706acddf4.5d393078afc3b5d8.03485ea08590e93c.07700db0637e8eb7
+    3e8e322a4ff6b6d1.b75f0f9fb4e98c0d.78bee0cbc8037a19.7f1bb183ee56dcf9
+    6917085019174d71.f918c11e83b301c8.90c305c2fe476aa2.31b0aaf9758d2b6b
+    00e0ba25ff9cdd7e.012ec0e2372ed235.a6a3c9f2c2e8f683.fbfe73fd132e3739
+    b7d0887be445bb91
+  after
+    693e178e0832502a.194f17f64db671d1.9078c3be05e0c2cb.fec847036a7aa219
+    3e8e322a4ff6b6d1.b75f0f9fb4e98c0d.78bee0cbc8037a19.7f1bb183ee56dcf9
+    6917085019174d71.f918c11e83b301c8.90c305c2fe476aa2.31b0aaf9758d2b6b
+    00e0ba25ff9cdd7e.012ec0e2372ed235.a6a3c9f2c2e8f683.fbfe73fd132e3739
+    b7d0887be445bb91
+VPUNPCKHBW_256(mem)
+  before
+    42f1655f05df749c.5f3646169d10a4a4.a96e8ad5ed65b981.15a929c7b1735a67
+    792f879592071e89.e266a78d90ffdc91.cea49ae5c06573d8.3b2220ae6674d2fb
+    36546909a6ca7482.e5bad9f874f6c1ee.4d9b6cfdcd38bc65.725aaa117e7599eb
+    562d87a75d3333b4.c47fd8c1e480916a.00217c082fed4f55.189dc35e9404ece2
+    8737670045ac078c
+  after
+    42f1655f05df749c.5f3646169d10a4a4.a96e8ad5ed65b981.15a929c7b1735a67
+    792f879592071e89.e266a78d90ffdc91.cea49ae5c06573d8.3b2220ae6674d2fb
+    4279f12f65875f95.0592df07741e9c89.a9ce6ea48a9ad5e5.edc06565b97381d8
+    562d87a75d3333b4.c47fd8c1e480916a.00217c082fed4f55.189dc35e9404ece2
+    8737670045ac078c
+
+VPUNPCKHBW_256(reg)
+  before
+    1c7493622cfa2597.b6855d5cd44e174a.db00a0567c2a86af.c40047f4038de9d3
+    349f42f2e67983ac.302a67122627dc71.868b2e22d97fdd69.760648ac6426460c
+    2906701b0eb55d7a.a1e722b770cb3d54.216a7d91960bd145.f0fdfb1c6ec3212c
+    58f31949403befab.e5870936cd45f720.08eb890f505a9fef.0fb2dc303e71375e
+    aff067d5f03b44cf
+  after
+    2934069f70421bf2.0ee6b5795d837aac.21866a8b7d2e9122.96d90b7fd1dd4569
+    349f42f2e67983ac.302a67122627dc71.868b2e22d97fdd69.760648ac6426460c
+    2906701b0eb55d7a.a1e722b770cb3d54.216a7d91960bd145.f0fdfb1c6ec3212c
+    58f31949403befab.e5870936cd45f720.08eb890f505a9fef.0fb2dc303e71375e
+    aff067d5f03b44cf
+VPUNPCKHBW_256(mem)
+  before
+    ac8519f59f2d04ab.1eb33ae9199674ec.d8d7987a5aa2c601.96584f08a2f98312
+    e23b6d7d6753321d.d592cd65355229e8.56a34b7132ed6522.29fec9e82973b95b
+    2de0df5a65ba8b51.dadbd02a2efc4a4c.3cb79f06723292b0.1c28f51c80557c76
+    6a3eec76b56ecb74.89dc3ea5a31f12c3.64df0e25357e07d6.cb24ce0e442a090e
+    913d502c107e9cd0
+  after
+    ac8519f59f2d04ab.1eb33ae9199674ec.d8d7987a5aa2c601.96584f08a2f98312
+    e23b6d7d6753321d.d592cd65355229e8.56a34b7132ed6522.29fec9e82973b95b
+    ace2853b196df57d.9f672d530432ab1d.d856d7a3984b7a71.5a32a2edc6650122
+    6a3eec76b56ecb74.89dc3ea5a31f12c3.64df0e25357e07d6.cb24ce0e442a090e
+    913d502c107e9cd0
+
+VPUNPCKHBW_256(reg)
+  before
+    ccbe78e080dd7167.73220ebf7179adb2.3edf14402e48bffa.abe616bb98dc80c1
+    d6f4419831d4c380.2458c320b8e9ef36.55324c696b018a9d.ed9a32b2b658bb9d
+    0d2ba7bfbfefcfc7.5bab8685a4c94b2d.2a1fe48bf7d8b257.06c5dff7abfe7295
+    cbafa6c1c5b8d1e7.f3e9d3da51267dc3.19f3d7116d5971d5.d234977794db61d6
+    2cb3d81c8dfb468b
+  after
+    0dd62bf4a741bf98.bf31efd4cfc3c780.2a551f32e44c8b69.f76bd801b28a579d
+    d6f4419831d4c380.2458c320b8e9ef36.55324c696b018a9d.ed9a32b2b658bb9d
+    0d2ba7bfbfefcfc7.5bab8685a4c94b2d.2a1fe48bf7d8b257.06c5dff7abfe7295
+    cbafa6c1c5b8d1e7.f3e9d3da51267dc3.19f3d7116d5971d5.d234977794db61d6
+    2cb3d81c8dfb468b
+VPUNPCKHBW_256(mem)
+  before
+    f20e1dd4b168dbe1.6ecc3a09dfbd048c.c8dc260bdc0b4323.7ef922696a0f05c2
+    ff10e3891c30dd04.50cd6006aa89a564.b651fc046084577a.b57fbffe8986a7cb
+    2f87a429eb5f081f.cfff1221c2a9f018.9914d0b1f99e76f3.1acfac3d674a969c
+    5e3dde9f39ff175e.45af4ec7c2a82157.4df11effc5645bbb.0937e4909fe80ce0
+    de016364cdeb4644
+  after
+    f20e1dd4b168dbe1.6ecc3a09dfbd048c.c8dc260bdc0b4323.7ef922696a0f05c2
+    ff10e3891c30dd04.50cd6006aa89a564.b651fc046084577a.b57fbffe8986a7cb
+    f2ff0e101de3d489.b11c6830dbdde104.c8b6dc5126fc0b04.dc600b844357237a
+    5e3dde9f39ff175e.45af4ec7c2a82157.4df11effc5645bbb.0937e4909fe80ce0
+    de016364cdeb4644
+
+VPABSD_256(reg)
+  before
+    f57a25258fdf8073.67ff0cd7231ec7ef.10271064461273cb.adb462d8dde2c3fe
+    aaee27407e51f51a.2899aabdc5c8d4fc.8ab45265eb742321.9729192a5f256ae7
+    59a8632038cce2e4.7cd7343d3907fab1.10a112344c596d04.e61bbedf67380ca3
+    5df6d73059dd837e.3e8527449ee9f43b.ff3c4b3f064d8c21.7557cde51027645d
+    22a9c22776ff3042
+  after
+    f57a25258fdf8073.67ff0cd7231ec7ef.10271064461273cb.adb462d8dde2c3fe
+    59a8632038cce2e4.7cd7343d3907fab1.10a112344c596d04.19e4412167380ca3
+    59a8632038cce2e4.7cd7343d3907fab1.10a112344c596d04.e61bbedf67380ca3
+    5df6d73059dd837e.3e8527449ee9f43b.ff3c4b3f064d8c21.7557cde51027645d
+    22a9c22776ff3042
+VPABSD_256(mem)
+  before
+    c8dd1991b6cb297d.14227fde7c0f1494.4c6efdbc0d7a7fc6.b1cff9f1b4ddbe23
+    42bf4f0fec980e3b.d97955953deed0d2.81603593a4c5577d.83a818b6f3943cb7
+    6e1bdf8d327099a8.084857c13907f4e2.b82548b37fd6378d.d111a5f95efe4589
+    26bc45f7a76187ef.fcd880ce0be4bb73.cf8ab30ab9b9dc22.f7579b2891a81344
+    51c6f6af2a1de395
+  after
+    c8dd1991b6cb297d.14227fde7c0f1494.4c6efdbc0d7a7fc6.b1cff9f1b4ddbe23
+    3722e66f4934d683.14227fde7c0f1494.4c6efdbc0d7a7fc6.4e30060f4b2241dd
+    6e1bdf8d327099a8.084857c13907f4e2.b82548b37fd6378d.d111a5f95efe4589
+    26bc45f7a76187ef.fcd880ce0be4bb73.cf8ab30ab9b9dc22.f7579b2891a81344
+    51c6f6af2a1de395
+
+VPABSD_256(reg)
+  before
+    3ca9b2f8c2eaf127.4870fd3a6577943d.1378cc285014632f.a05bf3836f7b0267
+    124ecb70f79979a7.ae01844088bd7bbe.a773373ba32026c3.09648309bc276589
+    30ff3e8365b8b6c1.363c54f62d3ffa9d.1614be74a19641da.e470df8abcc9c0b3
+    f209069ea7d3e520.baedeb496f09ca07.baa85b3de501ef21.0e4d83f18c6ed012
+    64c5ec2b482151d1
+  after
+    3ca9b2f8c2eaf127.4870fd3a6577943d.1378cc285014632f.a05bf3836f7b0267
+    30ff3e8365b8b6c1.363c54f62d3ffa9d.1614be745e69be26.1b8f207643363f4d
+    30ff3e8365b8b6c1.363c54f62d3ffa9d.1614be74a19641da.e470df8abcc9c0b3
+    f209069ea7d3e520.baedeb496f09ca07.baa85b3de501ef21.0e4d83f18c6ed012
+    64c5ec2b482151d1
+VPABSD_256(mem)
+  before
+    c0a594220beffe1d.b4b81f2b59754171.17dfc4246b28aa27.f17c0c040cee6e43
+    ffb9f9c3f1e39422.d2588598182a085f.2ae05c723ca7542a.15dacc33b1e8f8ee
+    fecd97fa1709cf0b.a73535507f7e7497.cdba2d21fe93853b.840e9838717bc9cb
+    97ade8b4986d6b05.919b29bf2bfec2c5.dd3bb51ccef7f987.98666b7ee7341f88
+    ae2d4071b09e34d1
+  after
+    c0a594220beffe1d.b4b81f2b59754171.17dfc4246b28aa27.f17c0c040cee6e43
+    3f5a6bde0beffe1d.4b47e0d559754171.17dfc4246b28aa27.0e83f3fc0cee6e43
+    fecd97fa1709cf0b.a73535507f7e7497.cdba2d21fe93853b.840e9838717bc9cb
+    97ade8b4986d6b05.919b29bf2bfec2c5.dd3bb51ccef7f987.98666b7ee7341f88
+    ae2d4071b09e34d1
+
+VPABSD_256(reg)
+  before
+    23ae157d67454552.a7246adc911c233b.ebd55f51b7352d94.362d6f4fc8df6c3a
+    5136e60ea8b68eb6.0aff985d1d21b4da.1130d272c0b0f3b1.b55dd7a60757997f
+    9511ad90107c4aa9.9c0bee255989da0e.5ff87f8ee1fa4dc7.34966a0ea86c3d83
+    4c8b686f3a23b6d9.3a12e81f605f5002.30796011b79f7a83.90a6a371c6291371
+    a557fdbc7d9bd976
+  after
+    23ae157d67454552.a7246adc911c233b.ebd55f51b7352d94.362d6f4fc8df6c3a
+    6aee5270107c4aa9.63f411db5989da0e.5ff87f8e1e05b239.34966a0e5793c27d
+    9511ad90107c4aa9.9c0bee255989da0e.5ff87f8ee1fa4dc7.34966a0ea86c3d83
+    4c8b686f3a23b6d9.3a12e81f605f5002.30796011b79f7a83.90a6a371c6291371
+    a557fdbc7d9bd976
+VPABSD_256(mem)
+  before
+    4f77f7dceacd49be.d0f01218c3380ef0.bee102374fafd4e3.e2ff7367dd2bb590
+    6ad00abc28cb1f74.7e8ba7f547468d9a.0543b959418620dc.d0d6b3fdf02b399c
+    d22fb34754a219c5.b2aa237461d97084.eb06887153eff01a.56491d3d8b2a4350
+    63606f6b895df1dc.c89783ffad7ef35a.4cf4eb6ba0f602c9.cfa6ab954bb50e5b
+    99375b70cb57d766
+  after
+    4f77f7dceacd49be.d0f01218c3380ef0.bee102374fafd4e3.e2ff7367dd2bb590
+    4f77f7dc1532b642.2f0fede83cc7f110.411efdc94fafd4e3.1d008c9922d44a70
+    d22fb34754a219c5.b2aa237461d97084.eb06887153eff01a.56491d3d8b2a4350
+    63606f6b895df1dc.c89783ffad7ef35a.4cf4eb6ba0f602c9.cfa6ab954bb50e5b
+    99375b70cb57d766
+
+VPACKUSWB_256(reg)
+  before
+    0e492839a79cda20.f92eb913e40864e6.1c9fc204c8c052c7.04da5f3444a81014
+    8c280e5e7c115333.70670d2b81b02e0f.0a0edcee4d2cc878.ef855eb65c10d628
+    6d1f094ae6417d4c.a4d5e89f7a600a82.ee30cd29d94c9218.e8bf66df043a1230
+    0f7c166980b89616.7145c55bed24b56c.2450922107afec54.cd54f29957327e59
+    79127ed27105d7cf
+  after
+    ffff0000ff000000.00ffffffffff00ff.ff00ff000000ffff.ff00ff0000ffff00
+    8c280e5e7c115333.70670d2b81b02e0f.0a0edcee4d2cc878.ef855eb65c10d628
+    6d1f094ae6417d4c.a4d5e89f7a600a82.ee30cd29d94c9218.e8bf66df043a1230
+    0f7c166980b89616.7145c55bed24b56c.2450922107afec54.cd54f29957327e59
+    79127ed27105d7cf
+VPACKUSWB_256(mem)
+  before
+    c8c387756fbfd9bd.cc893028e602d73e.b2831f4bf609ebf8.08bc254274de12d8
+    9635886e6d6a3f50.029353f1b5ac7f6f.455b745cb01a6853.f6be84f8bb673f4f
+    be32fda98514c6b3.0be77b318842c856.059940783863e7a8.4aa3aaaf78d5b065
+    1e876212d6c92a13.44cea455fc4eef9f.ce09fd8da9f12525.60b794d448b4a0c8
+    94463cd1c7914d22
+  after
+    c8c387756fbfd9bd.cc893028e602d73e.b2831f4bf609ebf8.08bc254274de12d8
+    9635886e6d6a3f50.029353f1b5ac7f6f.455b745cb01a6853.f6be84f8bb673f4f
+    0000ff0000ff0000.0000ffffffff00ff.00ff0000ffffffff.ffff00ff000000ff
+    1e876212d6c92a13.44cea455fc4eef9f.ce09fd8da9f12525.60b794d448b4a0c8
+    94463cd1c7914d22
+
+VPACKUSWB_256(reg)
+  before
+    419ca01490f7f11f.910033957a94279b.0a97cbc7ac5e30f5.7b7629851fcfdef3
+    c504bb084073c96c.f268ed1e8d817879.b78debf535fec705.eaad3f4eb709cd41
+    7bcc8918719010b5.1f8d0a9a2b9cdad6.a8fb004a32b8ef7b.f67abbd38dacaf39
+    bf3e07b2c2da04a6.f33908f372f209e1.392f0631401ae502.7aa91a00bcc34007
+    5406d6c1605a3bd8
+  after
+    00ff00ff00ffffff.0000ff00000000ff.ffffff00ffff00ff.0000ff0000ff0000
+    c504bb084073c96c.f268ed1e8d817879.b78debf535fec705.eaad3f4eb709cd41
+    7bcc8918719010b5.1f8d0a9a2b9cdad6.a8fb004a32b8ef7b.f67abbd38dacaf39
+    bf3e07b2c2da04a6.f33908f372f209e1.392f0631401ae502.7aa91a00bcc34007
+    5406d6c1605a3bd8
+VPACKUSWB_256(mem)
+  before
+    5e5d6d02967e5ed8.eca72f41cddddee9.493a63177b8ec0c3.c773fa18fab0e446
+    76795aaf7a3a6332.6053ff312e26dd2d.ff5a95f0647cbcab.ac14d76afd052af4
+    762819b5269b0613.768d72ee82413c1c.ef651c6c49c9b9c3.455d9993e4a5f1b8
+    3c3427feb9ab05a7.89a385e564b83663.f729737645807338.ee9c3c004c1c753e
+    031cbc1bd0f7f431
+  after
+    5e5d6d02967e5ed8.eca72f41cddddee9.493a63177b8ec0c3.c773fa18fab0e446
+    76795aaf7a3a6332.6053ff312e26dd2d.ff5a95f0647cbcab.ac14d76afd052af4
+    ffff00ff00ff0000.ffffffffff00ff00.ffffff0000000000.0000ff00000000ff
+    3c3427feb9ab05a7.89a385e564b83663.f729737645807338.ee9c3c004c1c753e
+    031cbc1bd0f7f431
+
+VPACKUSWB_256(reg)
+  before
+    e02816510cc1a83d.a26aff774c781a19.f7df3280711908ad.f17116fa75aea535
+    e10d450f9d06ce0f.86961d0dfe0e0295.1a8f772c44efeda7.ba0881e4f45d0ce7
+    621745bf1e53a253.c283fdabe8787949.50fd4f567ac722fc.2fbc3120de9c6479
+    bf9212cf2c335fb5.33ff1b3c28c23a5e.f376b669ae2ce35a.2a57a09a50746818
+    88a64c3f65f3d5f0
+  after
+    00ffffffffffffff.00ff000000ff00ff.00000000ff00ffff.ffffff00000000ff
+    e10d450f9d06ce0f.86961d0dfe0e0295.1a8f772c44efeda7.ba0881e4f45d0ce7
+    621745bf1e53a253.c283fdabe8787949.50fd4f567ac722fc.2fbc3120de9c6479
+    bf9212cf2c335fb5.33ff1b3c28c23a5e.f376b669ae2ce35a.2a57a09a50746818
+    88a64c3f65f3d5f0
+VPACKUSWB_256(mem)
+  before
+    2674b1f93a24672c.54caa9aa633342e0.b5d4f4aedaf80203.6146a9d07daa6c6a
+    de8f49b6eb14daf9.7d0a04bc5edd8780.25d002ec19278d62.f4b822f982cef9da
+    8dc2926092cde983.95a02171b9c06a42.5dbdc3e2025a96a7.091a1f4f5923c556
+    0fd806e54e5e51f5.fad6fc35116526d2.3a68b37db09eda00.fdb69b3e9f350d8a
+    2ad99232f0910c21
+  after
+    2674b1f93a24672c.54caa9aa633342e0.b5d4f4aedaf80203.6146a9d07daa6c6a
+    de8f49b6eb14daf9.7d0a04bc5edd8780.25d002ec19278d62.f4b822f982cef9da
+    ff00ffffff00ffff.00ff0000ffffff00.000000ffff00ffff.ffffff0000ff0000
+    0fd806e54e5e51f5.fad6fc35116526d2.3a68b37db09eda00.fdb69b3e9f350d8a
+    2ad99232f0910c21
+
+VPMOVMSKB_256(reg)
+  before
+    edcf0197e7c200c7.409e243038d0ce7b.07f98f74015af8db.989c4ca73ffe1597
+    a2e4e3d92054232a.fde0652d6f311b42.1855d89a262a1b0a.53270c4dcc860398
+    a664346538d4b1f3.206a46c70c8cf676.8836d1131b62cd0b.48d36e5b73435f30
+    539af0a5cbcde8d1.860844ed2dee1843.b5e8784c7c8c4889.516eeebe4f40e68b
+    4bc208617c8954d4
+  after
+    edcf0197e7c200c7.409e243038d0ce7b.07f98f74015af8db.989c4ca73ffe1597
+    a2e4e3d92054232a.fde0652d6f311b42.1855d89a262a1b0a.53270c4dcc860398
+    a664346538d4b1f3.206a46c70c8cf676.8836d1131b62cd0b.48d36e5b73435f30
+    539af0a5cbcde8d1.860844ed2dee1843.b5e8784c7c8c4889.516eeebe4f40e68b
+    00000000f0c0300d
+VPMOVMSKB_256(mem)
+  before
+    129c392f172a6438.06d4130774cb026e.0b85da88ee6240d4.fab6c9afe737c931
+    82c8fc163b30d4e2.1b5c9af6cf5b3c77.8baf84856af42855.b2edbeaaf5ec8bae
+    7711cd0105a75eff.ee7f7fdd7908d297.e250bfd0beb18ef3.3bda55a84439ccad
+    cc4528dc9099beba.db89c02a0d5fff7b.ec35055605a42bda.f0c7891470a9c6d9
+    2c00565c14c9b5e0
+  after
+    129c392f172a6438.06d4130774cb026e.0b85da88ee6240d4.fab6c9afe737c931
+    82c8fc163b30d4e2.1b5c9af6cf5b3c77.8baf84856af42855.b2edbeaaf5ec8bae
+    7711cd0105a75eff.ee7f7fdd7908d297.e250bfd0beb18ef3.3bda55a84439ccad
+    cc4528dc9099beba.db89c02a0d5fff7b.ec35055605a42bda.f0c7891470a9c6d9
+    2c00565c14c9b5e0
+
+VPMOVMSKB_256(reg)
+  before
+    4dd3b8ebcc24d76b.5f2e8993f914b241.3ec6594828ea00ce.852ad4015bd9be35
+    ad8bac2d35466629.0b996d125b24f4bd.738244a36537113d.88fba7bfdd5d0131
+    a9732d8eebbc9fc3.ac524f46d3d3415d.d6087fa761d26d73.d373fa7ba73bb1fa
+    9ed8377b8811bde8.1e25ab197c2f544b.c3a505c0b746521e.41604a20d37f8abb
+    ae8c119c803647a1
+  after
+    4dd3b8ebcc24d76b.5f2e8993f914b241.3ec6594828ea00ce.852ad4015bd9be35
+    ad8bac2d35466629.0b996d125b24f4bd.738244a36537113d.88fba7bfdd5d0131
+    a9732d8eebbc9fc3.ac524f46d3d3415d.d6087fa761d26d73.d373fa7ba73bb1fa
+    9ed8377b8811bde8.1e25ab197c2f544b.c3a505c0b746521e.41604a20d37f8abb
+    00000000e04350f8
+VPMOVMSKB_256(mem)
+  before
+    f5c4cddac86ba5d7.e606c65eabd1fe42.3ddefd787344eab3.96a5d25b031ff9e7
+    f4d4fac6c72a608a.df49d6a4ee899c7e.e449c250d31cbfc2.ab54e2e2e2e9a17d
+    8688124d9a8034e6.e3ed64baedc4d347.f131748cb8c58fa4.5efe32c3f031858a
+    87ac92595c78dc16.4f3e6b0b450ee14a.3f6391173f4b1584.0aefbd68c882e0ba
+    0d727f3f0669eeba
+  after
+    f5c4cddac86ba5d7.e606c65eabd1fe42.3ddefd787344eab3.96a5d25b031ff9e7
+    f4d4fac6c72a608a.df49d6a4ee899c7e.e449c250d31cbfc2.ab54e2e2e2e9a17d
+    8688124d9a8034e6.e3ed64baedc4d347.f131748cb8c58fa4.5efe32c3f031858a
+    87ac92595c78dc16.4f3e6b0b450ee14a.3f6391173f4b1584.0aefbd68c882e0ba
+    0d727f3f0669eeba
+
+VPMOVMSKB_256(reg)
+  before
+    c2d574b34771ed36.d20bf7d72a1e1546.7f87e70291f40032.a9ab95df84b80f8f
+    84629830272617d9.4573bcb41f7f9ba4.d015d40d6e016dac.0dd5facfa21a36f1
+    b166e8214114a950.baae5dda57a6295a.9c342f9777c16464.45ad3ed3b57d49d5
+    a42d5ff531c8df47.0f895737f09f7c94.4030f30c48c12005.2fffdbd7daec0268
+    a5964fc72c731ed5
+  after
+    c2d574b34771ed36.d20bf7d72a1e1546.7f87e70291f40032.a9ab95df84b80f8f
+    84629830272617d9.4573bcb41f7f9ba4.d015d40d6e016dac.0dd5facfa21a36f1
+    b166e8214114a950.baae5dda57a6295a.9c342f9777c16464.45ad3ed3b57d49d5
+    a42d5ff531c8df47.0f895737f09f7c94.4030f30c48c12005.2fffdbd7daec0268
+    00000000a133a179
+VPMOVMSKB_256(mem)
+  before
+    85401690c81e5949.b803f91594cef469.1ed025b60377507f.18551cd87e8cde3c
+    a9c7aa1cc9fa6eef.4b33b2ee05b02563.c54f4243ae396147.80efa667b5aedab4
+    eff889594c121bf4.b70b87ec21fcaee0.ded12dca0df26a17.d4498d2688b44f1a
+    319f2e316c731984.5ad5737c833dcb8d.47245f373bad281c.70b1ce7f93297a1a
+    b07164e0739a975f
+  after
+    85401690c81e5949.b803f91594cef469.1ed025b60377507f.18551cd87e8cde3c
+    a9c7aa1cc9fa6eef.4b33b2ee05b02563.c54f4243ae396147.80efa667b5aedab4
+    eff889594c121bf4.b70b87ec21fcaee0.ded12dca0df26a17.d4498d2688b44f1a
+    319f2e316c731984.5ad5737c833dcb8d.47245f373bad281c.70b1ce7f93297a1a
+    b07164e0739a975f
+
+VPAND_256(reg)
+  before
+    f0d64bb3c491e296.4c871592462727ca.8ede7208c800b715.da12557654765782
+    8c2c7f66219d966a.1d7eba67f53dfff3.b17280fe8bd0af25.74688c737559b274
+    e0bffd642647f088.7e4e9a9b96be5e2b.1ddd99c96939ef69.f2f27f1aba63f61e
+    48dac018701d2c9c.4cc5301c44b8009d.306bbad4fdc8b28c.2e7caa583d9fdfad
+    05d28a171d1a294d
+  after
+    08084000201d0408.0c44300444380091.306280d489c0a204.2468885035199224
+    8c2c7f66219d966a.1d7eba67f53dfff3.b17280fe8bd0af25.74688c737559b274
+    e0bffd642647f088.7e4e9a9b96be5e2b.1ddd99c96939ef69.f2f27f1aba63f61e
+    48dac018701d2c9c.4cc5301c44b8009d.306bbad4fdc8b28c.2e7caa583d9fdfad
+    05d28a171d1a294d
+VPAND_256(mem)
+  before
+    53bf994574df8f2a.20cbc3f09aaa8651.64adf8d51b36a175.4467de8de308363b
+    f41055cc5eface6f.c4dc0557417a3954.a0d36eb33845fce0.b61e015fb885b422
+    c592399af877a248.8f5a7fba001a8250.dd020fa0b7f0ce0a.e3dd1fb618cc6bec
+    a00fc29a5d63c6e3.df912f8374159df2.f7085589b343d21f.25ee34ff9e689545
+    d99d3da4e6e56fdb
+  after
+    53bf994574df8f2a.20cbc3f09aaa8651.64adf8d51b36a175.4467de8de308363b
+    f41055cc5eface6f.c4dc0557417a3954.a0d36eb33845fce0.b61e015fb885b422
+    5010114454da8e2a.00c80150002a0050.208168911804a060.0406000da0003422
+    a00fc29a5d63c6e3.df912f8374159df2.f7085589b343d21f.25ee34ff9e689545
+    d99d3da4e6e56fdb
+
+VPAND_256(reg)
+  before
+    5b3835128dd03557.62546ab8a9c9f869.0fcd0f1f38f8c5e5.caafbe5b484ac64a
+    080a18b62fb42368.e72cafe0fab6f109.7a591efbe94e37d6.32c5c500931264b7
+    3a5ee3fa671d74b8.0b650cfe693570ed.7e83558122a32f71.0b14e766b0a66893
+    4e81904cd19865f4.aac9fdff14522f41.7695b11f8084e961.31699e77ba13900a
+    80906821cd649648
+  after
+    0800100401902160.a208ade010122101.7211101b80042140.3041840092120002
+    080a18b62fb42368.e72cafe0fab6f109.7a591efbe94e37d6.32c5c500931264b7
+    3a5ee3fa671d74b8.0b650cfe693570ed.7e83558122a32f71.0b14e766b0a66893
+    4e81904cd19865f4.aac9fdff14522f41.7695b11f8084e961.31699e77ba13900a
+    80906821cd649648
+VPAND_256(mem)
+  before
+    d454c04f06a53778.a0bf1d170ab031c7.a026fecd171aec33.bddc2f3f9e7ca053
+    098322ed80e32fc6.8c6485c6adf116de.c9468c558d9860ec.b1a4ca4f181791f3
+    fbe70be75829395f.6ebcc4c757e84ee4.01f6228492d84a9b.ac397eba8be1f8ec
+    864df529a983126f.a213d785a3201686.23013c4543e7646a.0ce747ec936710eb
+    2bf92251cb35169b
+  after
+    d454c04f06a53778.a0bf1d170ab031c7.a026fecd171aec33.bddc2f3f9e7ca053
+    098322ed80e32fc6.8c6485c6adf116de.c9468c558d9860ec.b1a4ca4f181791f3
+    0000004d00a12740.8024050608b010c6.80068c4505186020.b1840a0f18148053
+    864df529a983126f.a213d785a3201686.23013c4543e7646a.0ce747ec936710eb
+    2bf92251cb35169b
+
+VPAND_256(reg)
+  before
+    67bd0a55cfd546a9.86815ea08ffe7621.84b4b96d2e26a96f.0d355683bcd06b85
+    1a7dfb643cd5dcc0.d64fc13628a521a2.70ed65e99385444d.9a5ced2c189f1b19
+    a286f1ebadc1138d.54839bd88d84ce1e.c208da666ec923c9.a6447b2b73612f52
+    5924e954bf2328bc.dbe96673dca83ac0.d55211505c7e8292.0db77e6cea21645b
+    aa8271db98eb7661
+  after
+    1824e9443c010880.d249403208a02080.5040014010040000.08146c2c08010019
+    1a7dfb643cd5dcc0.d64fc13628a521a2.70ed65e99385444d.9a5ced2c189f1b19
+    a286f1ebadc1138d.54839bd88d84ce1e.c208da666ec923c9.a6447b2b73612f52
+    5924e954bf2328bc.dbe96673dca83ac0.d55211505c7e8292.0db77e6cea21645b
+    aa8271db98eb7661
+VPAND_256(mem)
+  before
+    5b71d1649acc2190.9ca3dd0d0d8957f8.464ca0f2311c20b5.07170714f9319c52
+    fb4f18f40bcf2013.c74ecb80347fdbee.7379c440a7ec3e28.b3a2b91de06daeb5
+    65eac47508003017.3773ae1bcf8ff14a.3d3c4e4b5a254e46.354122d6adbff468
+    770c50d4ac6c0dc7.465c83497b47d5b7.7f61bafe67d20d3b.e93e3eadfdb2aa17
+    2ae60a0d6cd20b6d
+  after
+    5b71d1649acc2190.9ca3dd0d0d8957f8.464ca0f2311c20b5.07170714f9319c52
+    fb4f18f40bcf2013.c74ecb80347fdbee.7379c440a7ec3e28.b3a2b91de06daeb5
+    5b4110640acc2010.8402c900040953e8.42488040210c2020.03020114e0218c10
+    770c50d4ac6c0dc7.465c83497b47d5b7.7f61bafe67d20d3b.e93e3eadfdb2aa17
+    2ae60a0d6cd20b6d
+
+VPCMPEQB_256(reg)
+  before
+    5685816295ab5417.0b8338fe141e7250.51564476d333c3e1.17b48545ea003632
+    c8679e1814cac1c1.ff19f9de5b231cdd.b4adef0e74ddf675.df012a0cfeb98757
+    dbd8609b86ba8d16.2d9b0d5f9d85c79b.cbad7f7df9d3ab1f.b513253fbf0bbad8
+    ed24c0578608f5c3.73d4f26ff7522fb6.f2a2f02ffea11e8b.73b8f2cb4a028bde
+    f7ba0e9abaa9b898
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    c8679e1814cac1c1.ff19f9de5b231cdd.b4adef0e74ddf675.df012a0cfeb98757
+    dbd8609b86ba8d16.2d9b0d5f9d85c79b.cbad7f7df9d3ab1f.b513253fbf0bbad8
+    ed24c0578608f5c3.73d4f26ff7522fb6.f2a2f02ffea11e8b.73b8f2cb4a028bde
+    f7ba0e9abaa9b898
+VPCMPEQB_256(mem)
+  before
+    1be6f39a2c0cfb30.5896bbb9b13f3573.ab9223f985960f59.86d73e9120d28a64
+    bd081fb5bb3711d3.7a7b4e2ba2eb89d3.b39f1de9625c24b1.e19a660dfbf22d56
+    b7eb0dd98437b5ac.ad1f741bf6992c8e.65c95a2baab02aea.603563102a8d410e
+    e65d3af1a217a5e8.4fce29f348d45b51.9eda58ac7a9edc2f.5ff5310749300238
+    3926cc5df566ae80
+  after
+    1be6f39a2c0cfb30.5896bbb9b13f3573.ab9223f985960f59.86d73e9120d28a64
+    bd081fb5bb3711d3.7a7b4e2ba2eb89d3.b39f1de9625c24b1.e19a660dfbf22d56
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e65d3af1a217a5e8.4fce29f348d45b51.9eda58ac7a9edc2f.5ff5310749300238
+    3926cc5df566ae80
+
+VPCMPEQB_256(reg)
+  before
+    4c13317dcabb7f91.272820e931e49bb2.bad46a21352852c8.3b9f9256ee33f7ac
+    f30a5bd562bcb117.541a3dac4fa95437.4c7d311058224c9e.16e48416217a378f
+    8a5546d05cf482bf.4afd0c2915728ba3.5f147c2c4d4d8680.0c74abd92f805802
+    6d42eeda52f02c35.e59e0949a14bfd21.50e746e1b1353c1a.f91d818935501531
+    b9a984144ef62b49
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    f30a5bd562bcb117.541a3dac4fa95437.4c7d311058224c9e.16e48416217a378f
+    8a5546d05cf482bf.4afd0c2915728ba3.5f147c2c4d4d8680.0c74abd92f805802
+    6d42eeda52f02c35.e59e0949a14bfd21.50e746e1b1353c1a.f91d818935501531
+    b9a984144ef62b49
+VPCMPEQB_256(mem)
+  before
+    29e52f65977e5676.f81b4f5fe03bec24.01c8b1f90f4166de.7b408c9b2067aa17
+    239dff682bf551e3.862d66cca261fe39.7b497f257a5f8205.3d6c48c6356e0b23
+    849d6e092767dabd.75c32e8b36ee9d20.2debefbafeb20cc3.f0b778ce8cd69cec
+    28b1fa34a6deaa2f.202ba309356f0684.f47c7da2b845c144.f16c1720c22c991b
+    9cd9212673fb3d5f
+  after
+    29e52f65977e5676.f81b4f5fe03bec24.01c8b1f90f4166de.7b408c9b2067aa17
+    239dff682bf551e3.862d66cca261fe39.7b497f257a5f8205.3d6c48c6356e0b23
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    28b1fa34a6deaa2f.202ba309356f0684.f47c7da2b845c144.f16c1720c22c991b
+    9cd9212673fb3d5f
+
+VPCMPEQB_256(reg)
+  before
+    4d48924e39cfc662.eba41ed5c4688066.e2b0c1b33d707512.acc6a5cbc3245db3
+    61076702b3356dd0.a94456d89e10168e.199d84f3ea7b2675.3196e4203c5c9b3d
+    32609bb07bb87157.3e5b1e2950e32ad2.203fe937d71e545a.5fb8b48c3ff8390d
+    1da02ac32de40ca0.86b6f3b5f5ec755f.52e2ebeaa1e43c6c.12f793fde604f150
+    2621fd5e508d7f32
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    61076702b3356dd0.a94456d89e10168e.199d84f3ea7b2675.3196e4203c5c9b3d
+    32609bb07bb87157.3e5b1e2950e32ad2.203fe937d71e545a.5fb8b48c3ff8390d
+    1da02ac32de40ca0.86b6f3b5f5ec755f.52e2ebeaa1e43c6c.12f793fde604f150
+    2621fd5e508d7f32
+VPCMPEQB_256(mem)
+  before
+    76006c9b969ea1de.7e1210a766467c5a.5d215066a937b660.0dd28678e35a1a58
+    e0615ea0d6431181.b10449c8c169fa2f.9e68b12a89d1a702.ab5bb74d390b29ca
+    3f104d5a2c898c46.12c1d292dadac5cb.275692ecb1c50570.8ac878d54083a66d
+    6fd9b8b3b37bcd5a.fd94a6714f2317dc.d3b96f983c1f8cd8.0467c77c934fcdee
+    76829faecffadaf9
+  after
+    76006c9b969ea1de.7e1210a766467c5a.5d215066a937b660.0dd28678e35a1a58
+    e0615ea0d6431181.b10449c8c169fa2f.9e68b12a89d1a702.ab5bb74d390b29ca
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    6fd9b8b3b37bcd5a.fd94a6714f2317dc.d3b96f983c1f8cd8.0467c77c934fcdee
+    76829faecffadaf9
+
+VPSHUFLW_0x39_256(reg)
+  before
+    3d66fcd890100839.4c881899882591e9.cdcac1d1b9d32d0b.7e5bc51a46ecf763
+    b35fdb64701e945a.b1e9eaf6c694941e.e0af201fb6734307.04090f5eec370340
+    36b936c00eafba0a.7cc7abb889d39225.918fbdc5e291947a.408fc950490c6c99
+    20bf0b56034fb5f3.88efd6c9eeee462c.3cb59631d8b85d10.10b970dc7a78ee9a
+    4f537eee9a864470
+  after
+    20bf0b56034fb5f3.462c88efd6c9eeee.3cb59631d8b85d10.ee9a10b970dc7a78
+    b35fdb64701e945a.b1e9eaf6c694941e.e0af201fb6734307.04090f5eec370340
+    36b936c00eafba0a.7cc7abb889d39225.918fbdc5e291947a.408fc950490c6c99
+    20bf0b56034fb5f3.88efd6c9eeee462c.3cb59631d8b85d10.10b970dc7a78ee9a
+    4f537eee9a864470
+VPSHUFLW_0x39_256(mem)
+  before
+    d8287172c6422b47.cebf5594ee8bc3c1.b02de71711f26e5d.3d6fa6ce3475da76
+    8906c45519b95f4a.9c0311e568ee1d21.d24d5b8d0deac3e4.ef07e90793524658
+    3cb7f382b0f69ba6.e6d839b5100402bf.c81bac17fee204ee.b0cb5c4a91dedf61
+    cf087be4a6069c87.098acb707f5aac46.706358a101e7eba7.db05f902c9a2df3e
+    cb02be9bd72c829b
+  after
+    d8287172c6422b47.cebf5594ee8bc3c1.b02de71711f26e5d.3d6fa6ce3475da76
+    d8287172c6422b47.cebfc3c1ee8b5594.b02de71711f26e5d.3d6fda763475a6ce
+    3cb7f382b0f69ba6.e6d839b5100402bf.c81bac17fee204ee.b0cb5c4a91dedf61
+    cf087be4a6069c87.098acb707f5aac46.706358a101e7eba7.db05f902c9a2df3e
+    cb02be9bd72c829b
+
+VPSHUFLW_0x39_256(reg)
+  before
+    de0da68158070623.1cc5d66918f31e18.5f65c282537b5863.a5f0da183204353a
+    6f74ad21e7c0a583.01ba82fc21ccdd85.45b41a5728f342c1.4290ae66ab459ed4
+    d981d0e521e29c66.58b2fa89dd9a94fc.17c5d05b994fa60d.240d51788bb7e1a1
+    7a820a3aa1f92679.ff7bbbfc696b00a6.31e2defb421abff3.28343e3beb65bccc
+    28d1f199ea5ce881
+  after
+    7a820a3aa1f92679.00a6ff7bbbfc696b.31e2defb421abff3.bccc28343e3beb65
+    6f74ad21e7c0a583.01ba82fc21ccdd85.45b41a5728f342c1.4290ae66ab459ed4
+    d981d0e521e29c66.58b2fa89dd9a94fc.17c5d05b994fa60d.240d51788bb7e1a1
+    7a820a3aa1f92679.ff7bbbfc696b00a6.31e2defb421abff3.28343e3beb65bccc
+    28d1f199ea5ce881
+VPSHUFLW_0x39_256(mem)
+  before
+    02afe680a1a724ee.acc1578d04928167.d0df3f41e14addb2.ef5942a1c0e0ca1e
+    909c99db2e522a3d.cd8bb349e538e7dd.a8ab04445f43e64a.ad74f7bbaf2e023b
+    af628796ad69b79a.372b1ad9e1779487.64ab85f10263d89b.c77ffab3aa8fa5f5
+    3bcf2b9d39f98732.47ef89ab93dcc610.deab3e35e4b56fd0.99c845f74d90edf9
+    7f9ad6f235bc17f3
+  after
+    02afe680a1a724ee.acc1578d04928167.d0df3f41e14addb2.ef5942a1c0e0ca1e
+    02afe680a1a724ee.acc181670492578d.d0df3f41e14addb2.ef59ca1ec0e042a1
+    af628796ad69b79a.372b1ad9e1779487.64ab85f10263d89b.c77ffab3aa8fa5f5
+    3bcf2b9d39f98732.47ef89ab93dcc610.deab3e35e4b56fd0.99c845f74d90edf9
+    7f9ad6f235bc17f3
+
+VPSHUFLW_0x39_256(reg)
+  before
+    d440a810fd9f5e8e.11ad01dcef0d5631.5a22fb2a97f2b725.f377acfa21466716
+    f607b7bd42c5ff76.0bc9853feab2dfc2.ca0f6cc28a45a472.7fda492ed6217b98
+    403cff659fbb3659.06ee33b246f3df12.f403d8df0862c9a2.5fa293bc1e526883
+    0e287d74b10c3fe1.deea882120dc114c.354a3cedacd46161.6d99058f16e6ea03
+    868c1b95d9e8bc43
+  after
+    0e287d74b10c3fe1.114cdeea882120dc.354a3cedacd46161.ea036d99058f16e6
+    f607b7bd42c5ff76.0bc9853feab2dfc2.ca0f6cc28a45a472.7fda492ed6217b98
+    403cff659fbb3659.06ee33b246f3df12.f403d8df0862c9a2.5fa293bc1e526883
+    0e287d74b10c3fe1.deea882120dc114c.354a3cedacd46161.6d99058f16e6ea03
+    868c1b95d9e8bc43
+VPSHUFLW_0x39_256(mem)
+  before
+    864752b984649c70.bb1a2c57134556ba.6f87ff79947a339d.e73092581227a95d
+    499525e7326643b5.a55d087862f1b691.959314a4bdd8ff31.6701d88dd7e8dd3f
+    ab44100b00fb703f.273c0d45399c9b12.2cd84390b7023133.11080af697a238b6
+    881e8f12092fdd3a.9c05382834d243e8.102309289f0487d0.41932201ece1f76c
+    53ec1d197532560d
+  after
+    864752b984649c70.bb1a2c57134556ba.6f87ff79947a339d.e73092581227a95d
+    864752b984649c70.bb1a56ba13452c57.6f87ff79947a339d.e730a95d12279258
+    ab44100b00fb703f.273c0d45399c9b12.2cd84390b7023133.11080af697a238b6
+    881e8f12092fdd3a.9c05382834d243e8.102309289f0487d0.41932201ece1f76c
+    53ec1d197532560d
+
+VPSHUFHW_0x39_256(reg)
+  before
+    a360f8a9cb209147.bcf11ee6690c48d1.6202838ff120e8c0.1d40e15790ebbb33
+    8e3bae1f8d37e3c3.23873a753da06a31.d380ece50912c746.2ffa470ba7c38a89
+    6ec93ce654048930.99ad5ea9a1f60285.4dcb6e961a321c25.221fb72fff96b0fe
+    9f559c6abf12bf38.fa2e0670b01bcafa.2b2e060ec00e220a.d279adafb572e8bd
+    1bd5a678e463eff3
+  after
+    bf389f559c6abf12.fa2e0670b01bcafa.220a2b2e060ec00e.d279adafb572e8bd
+    8e3bae1f8d37e3c3.23873a753da06a31.d380ece50912c746.2ffa470ba7c38a89
+    6ec93ce654048930.99ad5ea9a1f60285.4dcb6e961a321c25.221fb72fff96b0fe
+    9f559c6abf12bf38.fa2e0670b01bcafa.2b2e060ec00e220a.d279adafb572e8bd
+    1bd5a678e463eff3
+VPSHUFHW_0x39_256(mem)
+  before
+    d9001d74a97381cb.7f2dcc1767eec187.21d8aeb4861a7fbc.c8f7aeb9953117a0
+    e7c38e901fb05a72.699bc759eb22cacb.ec75d26340ffddf6.8170640338283494
+    23ed75b963263513.b9ec899de43c17ad.36d3ef68f9d79fd4.b3e72358437eb891
+    68494fd990dfcfdb.cb6c0e4df0c8e3dc.dbbc80afcead8284.b8a6e72552bfdd44
+    eefaadd40278e059
+  after
+    d9001d74a97381cb.7f2dcc1767eec187.21d8aeb4861a7fbc.c8f7aeb9953117a0
+    d90081cba9731d74.7f2dcc1767eec187.21d87fbc861aaeb4.c8f7aeb9953117a0
+    23ed75b963263513.b9ec899de43c17ad.36d3ef68f9d79fd4.b3e72358437eb891
+    68494fd990dfcfdb.cb6c0e4df0c8e3dc.dbbc80afcead8284.b8a6e72552bfdd44
+    eefaadd40278e059
+
+VPSHUFHW_0x39_256(reg)
+  before
+    af2e6fd3ee34fd7b.92a297dec2e9e3f6.fb6753d7ab516c02.b6fd0124da8d4230
+    58902b8cb37f7057.7cc5c8b316502f90.a52952a5b063eccb.a562eeb33a849b04
+    456adc6dece67498.047f6143a81e6dd3.24fd09259b8aa0e4.83b6c449099d482d
+    d30a7fe136f446eb.0499db7c93615aee.d63174c20953c3f9.2bc7fed064e506d7
+    7b5f18366666912d
+  after
+    46ebd30a7fe136f4.0499db7c93615aee.c3f9d63174c20953.2bc7fed064e506d7
+    58902b8cb37f7057.7cc5c8b316502f90.a52952a5b063eccb.a562eeb33a849b04
+    456adc6dece67498.047f6143a81e6dd3.24fd09259b8aa0e4.83b6c449099d482d
+    d30a7fe136f446eb.0499db7c93615aee.d63174c20953c3f9.2bc7fed064e506d7
+    7b5f18366666912d
+VPSHUFHW_0x39_256(mem)
+  before
+    4d4c8e652c2ea45c.5cba0e542c3521fc.5ae2b449f325b10b.160f8de8964a92b5
+    7f58dd4bd149fc90.3dc787326b364376.e1256796e5753057.40e45202dcf949c5
+    eb507fd372c255f4.d27de5e78e82e606.742d7050845d91fd.affcbe7f7aee24d5
+    6ffff2e82aa56bb5.772724df31a64658.f1c84b61ede9902a.c1a3cdc80ab45f90
+    d0247b4a28d835a3
+  after
+    4d4c8e652c2ea45c.5cba0e542c3521fc.5ae2b449f325b10b.160f8de8964a92b5
+    4d4ca45c2c2e8e65.5cba0e542c3521fc.5ae2b10bf325b449.160f8de8964a92b5
+    eb507fd372c255f4.d27de5e78e82e606.742d7050845d91fd.affcbe7f7aee24d5
+    6ffff2e82aa56bb5.772724df31a64658.f1c84b61ede9902a.c1a3cdc80ab45f90
+    d0247b4a28d835a3
+
+VPSHUFHW_0x39_256(reg)
+  before
+    3acdc57171e5e3b9.e533b17815fef9fe.88134186f12ca117.32c074b63b26eb09
+    59e8a5aa8067a47f.2bb6396e50dabcfc.618b36496aa231ef.14e2683c8b1f5cc7
+    8bc2195ff2ebb5a0.1b5604b6f74470da.5edc01923794338d.74faa2ddf8e1a090
+    2aa71dfe62fc52c9.92dd903d2549d0c5.db529dcff48de39d.2cd39e879f76728f
+    193bd9259bec90f1
+  after
+    52c92aa71dfe62fc.92dd903d2549d0c5.e39ddb529dcff48d.2cd39e879f76728f
+    59e8a5aa8067a47f.2bb6396e50dabcfc.618b36496aa231ef.14e2683c8b1f5cc7
+    8bc2195ff2ebb5a0.1b5604b6f74470da.5edc01923794338d.74faa2ddf8e1a090
+    2aa71dfe62fc52c9.92dd903d2549d0c5.db529dcff48de39d.2cd39e879f76728f
+    193bd9259bec90f1
+VPSHUFHW_0x39_256(mem)
+  before
+    18fccda3094fb4e2.94e3abf26c26b7a6.6d1858edf6f399e9.3439076a3e197cca
+    03e4f8ed04aa9b8d.23c1c1a6aef520e2.86d3d8b387518771.c5dd39d1b0c43bc1
+    b7bdd5efa809001e.348f5988c1f6c82a.bad98c7cf36c568a.ea8a316fe71b5c2e
+    1054e0951279a0c3.2497720343b5ec2a.e5f8f1335752c15f.ff8beab07fa91abc
+    5f2d600012fbb318
+  after
+    18fccda3094fb4e2.94e3abf26c26b7a6.6d1858edf6f399e9.3439076a3e197cca
+    18fcb4e2094fcda3.94e3abf26c26b7a6.6d1899e9f6f358ed.3439076a3e197cca
+    b7bdd5efa809001e.348f5988c1f6c82a.bad98c7cf36c568a.ea8a316fe71b5c2e
+    1054e0951279a0c3.2497720343b5ec2a.e5f8f1335752c15f.ff8beab07fa91abc
+    5f2d600012fbb318
+
+VPMULLW_256(reg)
+  before
+    68bc8fcb3f9c61ed.eb7496cb5e0437a5.4d260583d0bcc78d.e4fa82c3ce0e851d
+    7584747d9f1860e8.22eb717da7b981f3.0c880f75039997ff.91acbb1a75ad5ef0
+    e2d10a83d1fbeeb5.9283ef9809a139d7.be098d4378d8962e.c9da1823673a0703
+    0aef4d476ed245ff.170a8b06a1ca1c7d.bdf57a5acc0300c3.685016cac1c13e83
+    4ada30fb9e4ebc9b
+  after
+    de3ce7abd1b00f18.7a2e87eeb0fa07a7.66283122f6cbc73d.65c0de84246db4d0
+    7584747d9f1860e8.22eb717da7b981f3.0c880f75039997ff.91acbb1a75ad5ef0
+    e2d10a83d1fbeeb5.9283ef9809a139d7.be098d4378d8962e.c9da1823673a0703
+    0aef4d476ed245ff.170a8b06a1ca1c7d.bdf57a5acc0300c3.685016cac1c13e83
+    4ada30fb9e4ebc9b
+VPMULLW_256(mem)
+  before
+    4b43e1a21bee4078.4b2939371428a273.8d4ac2b58b3fe613.6698d2279aa9136d
+    4759a8ab53ad8446.00cccbbd5f8a40bc.d0100e90e20d52c2.153d92147f5309d6
+    1ae6fe0362954630.8425fd47ea835d87.bc28ed82c23f1eb9.2631b48f178f1faa
+    a0b7619465b43f63.357ecd40529f337f.2d5dda7948e10422.f5c03603fce89197
+    de3613dbcdea9a46
+  after
+    4b43e1a21bee4078.4b2939371428a273.8d4ac2b58b3fe613.6698d2279aa9136d
+    4759a8ab53ad8446.00cccbbd5f8a40bc.d0100e90e20d52c2.153d92147f5309d6
+    bf4b073609d680d0.e4acda9bb5900c74.f4a06bd0b0337066.ea38a90cfbcb121e
+    a0b7619465b43f63.357ecd40529f337f.2d5dda7948e10422.f5c03603fce89197
+    de3613dbcdea9a46
+
+VPMULLW_256(reg)
+  before
+    3ddf478523227766.b5984b4c78162e0a.6d233614316bfe51.ff7d51608f00c029
+    6e07cf6c9d1b64a1.35553a15b6c5cd52.8a62352f2672fca9.0e52cf23b4a710fb
+    cdf9a5fdd4619ca3.fbbaaadd3bcfd967.e686c4fdcb406732.35a9ceafd2e2aec4
+    b602c7a266815d1a.e592158f24400e74.dfdae1eabc617c99.524fccee06be57b0
+    400d44cd6b46c6ea
+  after
+    d60e3658ec9bb55a.737a2abb65408528.3574ebf64932dd01.af4e768afdf2f990
+    6e07cf6c9d1b64a1.35553a15b6c5cd52.8a62352f2672fca9.0e52cf23b4a710fb
+    cdf9a5fdd4619ca3.fbbaaadd3bcfd967.e686c4fdcb406732.35a9ceafd2e2aec4
+    b602c7a266815d1a.e592158f24400e74.dfdae1eabc617c99.524fccee06be57b0
+    400d44cd6b46c6ea
+VPMULLW_256(mem)
+  before
+    dbb2b3391d86b89e.856f30c8ef06e0af.ceaaf9178d2227a6.cfab87629662768a
+    fe09931c398be9f9.968adddb0a7d6411.92ced1619083e128.1345b2d1f5cf93b0
+    87dd6264db601527.459fc848547124ea.0cca19594c6ff827.08f45fa473320db7
+    51fb9bfc1e11f753.eefcef7a686e5be6.1a6a4debdaf028ce.08048945af19204d
+    70c12b2242100a1b
+  after
+    dbb2b3391d86b89e.856f30c8ef06e0af.ceaaf9178d2227a6.cfab87629662768a
+    fe09931c398be9f9.968adddb0a7d6411.92ced1619083e128.1345b2d1f5cf93b0
+    5542553cddc25fae.f7d66318f1ee479f.40cc28b7586617f0.aa17ab02633ebce0
+    51fb9bfc1e11f753.eefcef7a686e5be6.1a6a4debdaf028ce.08048945af19204d
+    70c12b2242100a1b
+
+VPMULLW_256(reg)
+  before
+    9d7644a6cba105d0.3730bacf1eab4daa.ecec4ddce20045b2.977aea0359142c4b
+    e970cd3de35a4e16.17453bcbf839d058.9dbadedc5fb420fa.5ec66b8ee2e7c1c7
+    b1fcc35228c7219a.cc099bdbc8c73f88.5cb39fe57b152669.4d194c769473a371
+    516423533673b907.314755eca9625466.84238a63d0b094ac.3e4009a988c78d73
+    0f071e11dcec3cf9
+  after
+    9fc0e1c71d6e089a.a9238624a6d2e310.786ec7140bc0aff8.a580febe1991a765
+    e970cd3de35a4e16.17453bcbf839d058.9dbadedc5fb420fa.5ec66b8ee2e7c1c7
+    b1fcc35228c7219a.cc099bdbc8c73f88.5cb39fe57b152669.4d194c769473a371
+    516423533673b907.314755eca9625466.84238a63d0b094ac.3e4009a988c78d73
+    0f071e11dcec3cf9
+VPMULLW_256(mem)
+  before
+    9a3a089cacf06c30.25f4e8aca8ea530a.24cae5e8b715cc20.73569dc2fd10a66f
+    bda5423513ded944.89fa0ec71bb82b4e.7f60c7bc0fed63e0.8498d36e9cc1975d
+    521348c82dc23e60.d9c192112a6a7c80.20d37854ccf5d4d2.123429d34950a423
+    3752964117a958b1.71946ef6718b834c.e1f0729d0b39dd23.7b78995ea148096c
+    19ae21793f3502e5
+  after
+    9a3a089cacf06c30.25f4e8aca8ea530a.24cae5e8b715cc20.73569dc2fd10a66f
+    bda5423513ded944.89fa0ec71bb82b4e.7f60c7bc0fed63e0.8498d36e9cc1975d
+    3962004cc8206cc0.a44845b41630fb0c.01c02e60b971fc00.d310af5c8910ef53
+    3752964117a958b1.71946ef6718b834c.e1f0729d0b39dd23.7b78995ea148096c
+    19ae21793f3502e5
+
+VPADDUSW_256(reg)
+  before
+    4a23bc92c0a3ca39.462ca98ced9ee362.adc0a0e38da77c5d.9f833381e7c537ff
+    68236613bf1f9e15.5c6efc95caae9aa0.e99123421a4ba360.375837ee7da6a191
+    d1fa1c6ad835ba25.56e40b49cae43a97.8153f481b3023300.833af8cfe8e7d506
+    dff4d802a96f5914.0e5a52920a4c7f72.d1520d0bf45969ea.60f6f31044959089
+    ab59a59dafba8e47
+  after
+    fffffffffffff729.6ac8ffffd4faffff.ffff304dffffffff.984effffc23bffff
+    68236613bf1f9e15.5c6efc95caae9aa0.e99123421a4ba360.375837ee7da6a191
+    d1fa1c6ad835ba25.56e40b49cae43a97.8153f481b3023300.833af8cfe8e7d506
+    dff4d802a96f5914.0e5a52920a4c7f72.d1520d0bf45969ea.60f6f31044959089
+    ab59a59dafba8e47
+VPADDUSW_256(mem)
+  before
+    3e2d896242658b6c.ef5c9847cb5bb98f.619c4d5ea5f2255e.35d96c4c7ada81c9
+    f63f1c4b1b9f4223.5e7f57a5dc851342.2b757997b8e3e787.09360cb0e014b74b
+    af5ad84456767099.86aa11887877a6d8.49b3512b5e2a8218.a9b3e9a3c3904619
+    454c3b390ef5d0f9.c427c35c3abfacfd.95205105b4d4b23d.719d0091bedc6be2
+    bc404be66e836250
+  after
+    3e2d896242658b6c.ef5c9847cb5bb98f.619c4d5ea5f2255e.35d96c4c7ada81c9
+    f63f1c4b1b9f4223.5e7f57a5dc851342.2b757997b8e3e787.09360cb0e014b74b
+    ffffa5ad5e04cd8f.ffffefecffffccd1.8d11c6f5ffffffff.3f0f78fcffffffff
+    454c3b390ef5d0f9.c427c35c3abfacfd.95205105b4d4b23d.719d0091bedc6be2
+    bc404be66e836250
+
+VPADDUSW_256(reg)
+  before
+    e8e8c80e6e12660f.94e0c0175f292071.7443688dbee9625e.ec89f510d5ec3223
+    50e072765b13b4cc.78e1e3c8661d1a2a.f349fc88a17f04a7.2ababa3ade7ec0f6
+    4f764588d0158833.cd1c203a3edd7a52.9b877bb77e0fce84.2b7e1a6eea9715e2
+    43f43eb269a11eef.6f5df4580476fe15.c947e188f225fba0.cba393991642f012
+    e6f3a0a57d8b0bb2
+  after
+    94d4b128c4b4d3bb.e83effff6a93ffff.ffffffffffffffff.f65dfffff4c0ffff
+    50e072765b13b4cc.78e1e3c8661d1a2a.f349fc88a17f04a7.2ababa3ade7ec0f6
+    4f764588d0158833.cd1c203a3edd7a52.9b877bb77e0fce84.2b7e1a6eea9715e2
+    43f43eb269a11eef.6f5df4580476fe15.c947e188f225fba0.cba393991642f012
+    e6f3a0a57d8b0bb2
+VPADDUSW_256(mem)
+  before
+    583cbe7f3c7e24ef.87a7575fc345b1ad.3a70d90ed4f3609e.d9d62b65994cc8a7
+    fd4867146e28f4f5.76db8efa7a8c7e19.0a204d47c8605d1a.278154bc0d107047
+    b1e4194e2f953af0.6edcdff12903c0de.bb3bccf1ffcab1b5.0f9158f8edfd3129
+    50db4f1b9ccfb00a.c9f644af6c35b5a9.298bd0f8923b179a.ed553385d2a045fc
+    1d18e1cf5b84e96a
+  after
+    583cbe7f3c7e24ef.87a7575fc345b1ad.3a70d90ed4f3609e.d9d62b65994cc8a7
+    fd4867146e28f4f5.76db8efa7a8c7e19.0a204d47c8605d1a.278154bc0d107047
+    ffffffffaaa6ffff.fe82e659ffffffff.4490ffffffffbdb8.ffff8021a65cffff
+    50db4f1b9ccfb00a.c9f644af6c35b5a9.298bd0f8923b179a.ed553385d2a045fc
+    1d18e1cf5b84e96a
+
+VPADDUSW_256(reg)
+  before
+    fb255f422135581f.b5fb8666d0e41372.e575baa0e0ae9725.30ded746a0c24cf6
+    e3caa84ac240cfc8.be0f381ae8e01f52.1ca43e3121fba3ff.acfe5cc842680cf4
+    3151b853da308a11.46e2e32500cd8fd7.cbd0cbcccaa715e2.79b7db6a963b13c1
+    41078bca0492c5a6.2941027233b9202c.4f455ede773e287b.72d7d019b8471c89
+    7529b7bfc397e477
+  after
+    ffffffffc6d2ffff.e7503a8cffff3f7e.6be99d0f9939cc7a.fffffffffaaf297d
+    e3caa84ac240cfc8.be0f381ae8e01f52.1ca43e3121fba3ff.acfe5cc842680cf4
+    3151b853da308a11.46e2e32500cd8fd7.cbd0cbcccaa715e2.79b7db6a963b13c1
+    41078bca0492c5a6.2941027233b9202c.4f455ede773e287b.72d7d019b8471c89
+    7529b7bfc397e477
+VPADDUSW_256(mem)
+  before
+    5d780d4ad43726b8.6f381e19ddf1bb32.42f811ed9db08e7e.024ff1d4c54d1976
+    05914da50633a077.162f6cae00d9a961.6fd38c835bbc95f9.413a82184f5f247e
+    4b41f3bc75980ce1.943a71f409d6cbe0.8b9ef01e88ebf0c8.69510c18b2008440
+    0a527c7a3e712721.44a3295695755d5b.7124b8ab41495c18.d4e28b3f89bd7667
+    df37fbf8712136a0
+  after
+    5d780d4ad43726b8.6f381e19ddf1bb32.42f811ed9db08e7e.024ff1d4c54d1976
+    05914da50633a077.162f6cae00d9a961.6fd38c835bbc95f9.413a82184f5f247e
+    63095aefda6ac72f.85678ac7decaffff.b2cb9e70f96cffff.4389ffffffff3df4
+    0a527c7a3e712721.44a3295695755d5b.7124b8ab41495c18.d4e28b3f89bd7667
+    df37fbf8712136a0
+
+VPMULHUW_256(reg)
+  before
+    e69d59b105b80097.1d9062cd7ccaac64.81b790423f419a7d.ff326017a1e19514
+    45609fd5e10f0ff7.62c923a14cb059d6.a9c2a323a4c7bff3.1095644cc4bf56e9
+    59cccbd0a3b1a06d.b3c73ae0ca2ee8a2.17105d6560920869.7f174038c7ef5cc2
+    7c2dd90fe42aefa4.ee582477105015f5.26edba740e2eb08a.2a8571c6c67e63cc
+    ebaa72e2dc772733
+  after
+    21a68784c8960ef1.5bf8051304e207b4.19cf76d10920845e.02c12c93988c21e1
+    45609fd5e10f0ff7.62c923a14cb059d6.a9c2a323a4c7bff3.1095644cc4bf56e9
+    59cccbd0a3b1a06d.b3c73ae0ca2ee8a2.17105d6560920869.7f174038c7ef5cc2
+    7c2dd90fe42aefa4.ee582477105015f5.26edba740e2eb08a.2a8571c6c67e63cc
+    ebaa72e2dc772733
+VPMULHUW_256(mem)
+  before
+    9f54bf7726e66322.0bcec3fc42073749.ed465b523d239efb.34a5b6bd4a28f403
+    234dd474bfd8d4c6.62fd870459d3b608.8d5e5d5e6ab23ddf.9c834eaab10a107f
+    51632ec2c358364b.dd041f94c41ba68c.ab6ca586b60aafce.b9d47da8de6340ab
+    0660484e4f7344dc.d8308a161f694382.213cafb53a36aff3.e9e53f246ebcbf32
+    86ff9089fca3cac1
+  after
+    9f54bf7726e66322.0bcec3fc42073749.ed465b523d239efb.34a5b6bd4a28f403
+    234dd474bfd8d4c6.62fd870459d3b608.8d5e5d5e6ab23ddf.9c834eaab10a107f
+    15f89ee51d265264.0490675c172a274f.8306214e197b266c.202f382633480fb9
+    0660484e4f7344dc.d8308a161f694382.213cafb53a36aff3.e9e53f246ebcbf32
+    86ff9089fca3cac1
+
+VPMULHUW_256(reg)
+  before
+    ed716c4224a49d04.1f119e047e34bba5.afcdc1f8074ccb95.cd99f7d91542fb7b
+    7b86d0bd834973a6.7642acd16da757d4.be27c1a5174d7872.8950fadd603a4d91
+    8a89b765b5208954.e8beee9f38d8d492.60898789ecfa86c5.322e33ad392b6262
+    77c81da655b51bba.5253e15cf9d4ed0e.f3400e1021de3339.a4fd1e35bc20f51a
+    bb8a37610426c3e4
+  after
+    39cb182c2bf40c86.260798216b025154.b4ae0aa303151819.587e1d9946b64a43
+    7b86d0bd834973a6.7642acd16da757d4.be27c1a5174d7872.8950fadd603a4d91
+    8a89b765b5208954.e8beee9f38d8d492.60898789ecfa86c5.322e33ad392b6262
+    77c81da655b51bba.5253e15cf9d4ed0e.f3400e1021de3339.a4fd1e35bc20f51a
+    bb8a37610426c3e4
+VPMULHUW_256(mem)
+  before
+    54a0fa1d2d4888ed.9f8dfeec00926583.8ecb00f2cfa75f72.d29952a65385b97b
+    490de45654920060.5c2557a35145a25b.79f3c74fd35be6ea.59de50b71e7c5536
+    779c70f69511e66a.0bdc2237e45a0fef.ef97b25e24fe3da4.e45c02af1c4e4317
+    ba181aeb0bcff737.08fe5d15565be8eb.cc833e0bdb9b22c9.ce5f66faeb88beca
+    7532770527b503fa
+  after
+    54a0fa1d2d4888ed.9f8dfeec00926583.8ecb00f2cfa75f72.d29952a65385b97b
+    490de45654920060.5c2557a35145a25b.79f3c74fd35be6ea.59de50b71e7c5536
+    1825df150ef50033.396d5744002e4060.440500bcab705617.49ed1a0e09f23dbc
+    ba181aeb0bcff737.08fe5d15565be8eb.cc833e0bdb9b22c9.ce5f66faeb88beca
+    7532770527b503fa
+
+VPMULHUW_256(reg)
+  before
+    3423313a6b614e53.ee4e5e1fd2dbeff2.b0d603a742d668fb.ec83e542163f4e88
+    667c91075419db83.ef0ab980073e89c8.5db2115b4557cdca.2b6225eff1f5800b
+    698a92d77d68e534.9918a6f9c50683e4.6cdc819cfa685004.65ee79fe87c9727e
+    9799301582daa912.c843a176293f9773.39a151d5fe983057.76f15e5cf5c8e20f
+    3a384ef356fd89e7
+  after
+    3cb01b3d2afc90f8.bafe74ff012a5182.1517058c44f526db.14280dfbe84c7111
+    667c91075419db83.ef0ab980073e89c8.5db2115b4557cdca.2b6225eff1f5800b
+    698a92d77d68e534.9918a6f9c50683e4.6cdc819cfa685004.65ee79fe87c9727e
+    9799301582daa912.c843a176293f9773.39a151d5fe983057.76f15e5cf5c8e20f
+    3a384ef356fd89e7
+VPMULHUW_256(mem)
+  before
+    8d8fc7b1c6742635.4ef5672f00fb63ca.585926e34ef381a1.204d7c74ed70a76c
+    4bc24480623a7323.e8ea339093584e08.2524b12c5130ff99.7d2cfee4617ef2f2
+    509d414e46592ddd.c3c391a4d67da777.0a72bf3d4d01cb88.ac89d491f84d4d93
+    77eb3b068ce01090.39ce7bd765f4aac4.e50dcb025f73a299.09b2f9e74e69f4fb
+    f0f16952fe5f22d7
+  after
+    8d8fc7b1c6742635.4ef5672f00fb63ca.585926e34ef381a1.204d7c74ed70a76c
+    4bc24480623a7323.e8ea339093584e08.2524b12c5130ff99.7d2cfee4617ef2f2
+    29e4356e4c25112f.47d614c800901e6a.0cd11ae91909816c.0fcb7be95a6c9ee2
+    77eb3b068ce01090.39ce7bd765f4aac4.e50dcb025f73a299.09b2f9e74e69f4fb
+    f0f16952fe5f22d7
+
+VPADDUSB_256(reg)
+  before
+    bd93203fa5ba14d3.9e79ad9453d8d768.a855ef96dd4b939b.91c15167a2913ff9
+    cce41a18de07069b.a01413e4b5503f90.6aa5e94bd90e9da7.ea5ccd5933675fd3
+    7830544b46d033d9.5986e9e2ce510435.dc0a6363f6c70594.cca9bcc22d02be55
+    1fc3c84278a4d83c.a49bab7abbe9e283.5bd05b4bcf040710.12739990ac6d18a8
+    9a87e0aecdb528fb
+  after
+    ebffe25affabded7.ffafbeffffffffff.c5ffff96ff12a4b7.fccfffe9dfd477ff
+    cce41a18de07069b.a01413e4b5503f90.6aa5e94bd90e9da7.ea5ccd5933675fd3
+    7830544b46d033d9.5986e9e2ce510435.dc0a6363f6c70594.cca9bcc22d02be55
+    1fc3c84278a4d83c.a49bab7abbe9e283.5bd05b4bcf040710.12739990ac6d18a8
+    9a87e0aecdb528fb
+VPADDUSB_256(mem)
+  before
+    3fb20d08ace4ab78.1ce8746b100c316e.5f21d698972394a5.4142cc6e0151dec4
+    dcbe9c8a64085d4b.cbec5431ab96791c.64e3e4297f0bd7c8.ebaeb2372738c75f
+    4f770a20112dfaa1.871c6200e4cdeef1.91ac53178eae6717.b55e0914de47fe8b
+    72abd2b6d05e3da6.aec29c43583eca9a.c1499f50e117ffbf.fc9fce70c10abff5
+    1abdfbb76d0b4548
+  after
+    3fb20d08ace4ab78.1ce8746b100c316e.5f21d698972394a5.4142cc6e0151dec4
+    dcbe9c8a64085d4b.cbec5431ab96791c.64e3e4297f0bd7c8.ebaeb2372738c75f
+    ffffa992ffecffc3.e7ffc89cbba2aa8a.c3ffffc1ff2effff.fff0ffa52889ffff
+    72abd2b6d05e3da6.aec29c43583eca9a.c1499f50e117ffbf.fc9fce70c10abff5
+    1abdfbb76d0b4548
+
+VPADDUSB_256(reg)
+  before
+    6c048e557dd8cd31.23247038bca7e385.9b2bfd69a37449c3.cf8642bf93525ceb
+    4ec083b68efd935b.3cb06092f214a86b.a9a281db5ffba917.992fba4fc06c3ac9
+    1c3cd4473b05d373.9b191eb18db24784.367524062b5f2442.f91082ee85705582
+    32c57f72207cc825.1a2c277faa8c7dfb.9ceee356a12df7f2.ccf41687fe6b6844
+    efa9f2064667303b
+  after
+    80ffffffaeffff80.56dc87ffffa0ffff.ffffffffffffffff.ffffd0d6ffd7a2ff
+    4ec083b68efd935b.3cb06092f214a86b.a9a281db5ffba917.992fba4fc06c3ac9
+    1c3cd4473b05d373.9b191eb18db24784.367524062b5f2442.f91082ee85705582
+    32c57f72207cc825.1a2c277faa8c7dfb.9ceee356a12df7f2.ccf41687fe6b6844
+    efa9f2064667303b
+VPADDUSB_256(mem)
+  before
+    3cf9935779736993.eca87fa5daeeaf1c.96b5f6ea64ae06fc.395bb8385df15dd1
+    91b17366b498ce77.a62fd04a04e8c304.ec8007dcd8259eb4.6706a116fb35948b
+    c89d102013e41c13.bca76ecf3bf5428b.f658d74321fc004f.843c995e1987d6cd
+    be89e66fb0620f95.8a5b559f1ba1665b.910ae00a5c40e9f9.ea499d7b50735f43
+    f778a7d83e836d98
+  after
+    3cf9935779736993.eca87fa5daeeaf1c.96b5f6ea64ae06fc.395bb8385df15dd1
+    91b17366b498ce77.a62fd04a04e8c304.ec8007dcd8259eb4.6706a116fb35948b
+    cdffffbdffffffff.ffd7ffefdeffff20.fffffdffffd3a4ff.a061ff4efffff1ff
+    be89e66fb0620f95.8a5b559f1ba1665b.910ae00a5c40e9f9.ea499d7b50735f43
+    f778a7d83e836d98
+
+VPADDUSB_256(reg)
+  before
+    0517b5e37f453a79.4f416f41aa1f6327.6c9982253f796c20.9a63a01da4fc15dd
+    7170c207ae440391.589029801b25d3f5.beabf0cf43088f88.eb2d9268163c4027
+    98d0cbb0670d038e.b3448f1a1f831c2c.dbdf9b08c4db0c3c.613532d7cd0d2505
+    d483ca4b472b7819.3d271dfad342faf8.217f803d5d7d1feb.d846fd56e57981a1
+    2c2e6dd27b8f0f27
+  after
+    fff3ff52f56f7baa.95b746ffee67ffff.dfffffffa085aeff.ff73ffbefbb5c1c8
+    7170c207ae440391.589029801b25d3f5.beabf0cf43088f88.eb2d9268163c4027
+    98d0cbb0670d038e.b3448f1a1f831c2c.dbdf9b08c4db0c3c.613532d7cd0d2505
+    d483ca4b472b7819.3d271dfad342faf8.217f803d5d7d1feb.d846fd56e57981a1
+    2c2e6dd27b8f0f27
+VPADDUSB_256(mem)
+  before
+    39b80035aa588dc4.82d5bd42ea2a9ce0.d2064f0c52702884.ebd899d8ab7a043f
+    dbaf316d8fe2b5a4.fe129f02eb97ac8f.4eada13cb81864fd.9535e446495ef6e4
+    efe07d64463843f2.a4856cf8e6fde3d2.8de790762347678e.7ae45cf4d3b63387
+    4f175e08ea67f5db.d17c208e78e97e54.6b8297a6ac08f064.f82ffe4ce70ef4d4
+    6a64c4bc1ef07876
+  after
+    39b80035aa588dc4.82d5bd42ea2a9ce0.d2064f0c52702884.ebd899d8ab7a043f
+    dbaf316d8fe2b5a4.fe129f02eb97ac8f.4eada13cb81864fd.9535e446495ef6e4
+    ffff31a2ffffffff.ffe7ff44ffc1ffff.ffb3f048ff888cff.fffffffff4d8faff
+    4f175e08ea67f5db.d17c208e78e97e54.6b8297a6ac08f064.f82ffe4ce70ef4d4
+    6a64c4bc1ef07876
+
+VPUNPCKLWD_256(reg)
+  before
+    2bcdacae16eaf91a.d7205244977a858a.df41b8323ce5b9c1.c44832b87167b9ab
+    99b7b1906b87b46c.65c6d4046a7db02c.2b212f4fcf7fd0c6.7407de988e71808e
+    0e6ecfcdb854e517.d4d760347e7d32ec.11688150cc43fe0f.578915331e31fe3a
+    e83e02d199dcc7c7.001d73c0f085c6f8.ed62aaa3d0bc8048.499b55733db3f2da
+    260819460804169b
+  after
+    d4d765c66034d404.7e7d6a7d32ecb02c.578974071533de98.1e318e71fe3a808e
+    99b7b1906b87b46c.65c6d4046a7db02c.2b212f4fcf7fd0c6.7407de988e71808e
+    0e6ecfcdb854e517.d4d760347e7d32ec.11688150cc43fe0f.578915331e31fe3a
+    e83e02d199dcc7c7.001d73c0f085c6f8.ed62aaa3d0bc8048.499b55733db3f2da
+    260819460804169b
+VPUNPCKLWD_256(mem)
+  before
+    ca9edd979b2f27a8.81724708abab982a.c5668794dba12979.1b5aa7b37676921c
+    10281e521140e12f.375799de8a4e91ea.ff7c1a9c5cde179e.f79e72ed5bfd7037
+    d67157628644ff59.643af4c0d050f1b3.8a2ba7c48e474c91.dd7809bb1ade5546
+    f74603b517463e55.656554181c3df232.4141abf98de8837e.2835678a50a47ef5
+    362189c698dc26f0
+  after
+    ca9edd979b2f27a8.81724708abab982a.c5668794dba12979.1b5aa7b37676921c
+    10281e521140e12f.375799de8a4e91ea.ff7c1a9c5cde179e.f79e72ed5bfd7037
+    81723757470899de.abab8a4e982a91ea.1b5af79ea7b372ed.76765bfd921c7037
+    f74603b517463e55.656554181c3df232.4141abf98de8837e.2835678a50a47ef5
+    362189c698dc26f0
+
+VPUNPCKLWD_256(reg)
+  before
+    628869dc8e108be1.4f73a137df525a4d.9725b55308a2d113.0289a02676ce7992
+    08b60537cfcfe777.b9c4aad2fb750f6d.54c514de300aca01.a8ce04366504e9f9
+    84f65842f7a2775c.13059c7386ba18e2.f9936c23310119a9.0ede5217759691de
+    31965e6ba117763d.3801f1069d2d32d8.e3d9b990a614f9b6.128306b4c2912b6e
+    8f8a9df9690074d5
+  after
+    1305b9c49c73aad2.86bafb7518e20f6d.0edea8ce52170436.7596650491dee9f9
+    08b60537cfcfe777.b9c4aad2fb750f6d.54c514de300aca01.a8ce04366504e9f9
+    84f65842f7a2775c.13059c7386ba18e2.f9936c23310119a9.0ede5217759691de
+    31965e6ba117763d.3801f1069d2d32d8.e3d9b990a614f9b6.128306b4c2912b6e
+    8f8a9df9690074d5
+VPUNPCKLWD_256(mem)
+  before
+    60be91d286ef273e.6de0141d69b921c5.038527785bdb197a.6ce5f7902ccea7d5
+    63ed602b346b02d6.932174c4ec15b4a1.525ebab3ddcf88f5.f101238f5ebb5eb2
+    72e185f08f7fbfc8.fea57cccc6b66b7d.ff5624a53e153c75.ce7a38f9d8685cf8
+    6b687c0db4381a41.0cb827a191288204.e83ae3399abaf125.5f9c323a3760db54
+    00b20dbe172f1771
+  after
+    60be91d286ef273e.6de0141d69b921c5.038527785bdb197a.6ce5f7902ccea7d5
+    63ed602b346b02d6.932174c4ec15b4a1.525ebab3ddcf88f5.f101238f5ebb5eb2
+    6de09321141d74c4.69b9ec1521c5b4a1.6ce5f101f790238f.2cce5ebba7d55eb2
+    6b687c0db4381a41.0cb827a191288204.e83ae3399abaf125.5f9c323a3760db54
+    00b20dbe172f1771
+
+VPUNPCKLWD_256(reg)
+  before
+    0d0ac5f213624efc.284cc26fbea1d16c.18a572afecf734e2.e7d5725b0ec96331
+    e2ee5740c884baa1.875ad200cac69e76.7dba576370b0bec5.daf54df7b64f4dc7
+    dbabbe15d021980b.625e27aef3b33e8b.9941d427bcdf5b57.9b64f0f9ad576c11
+    548df6decac624e7.9624406356756cd6.c687e469690e4844.07f0d84d0fed7c3b
+    fb637fdff91d3872
+  after
+    625e875a27aed200.f3b3cac63e8b9e76.9b64daf5f0f94df7.ad57b64f6c114dc7
+    e2ee5740c884baa1.875ad200cac69e76.7dba576370b0bec5.daf54df7b64f4dc7
+    dbabbe15d021980b.625e27aef3b33e8b.9941d427bcdf5b57.9b64f0f9ad576c11
+    548df6decac624e7.9624406356756cd6.c687e469690e4844.07f0d84d0fed7c3b
+    fb637fdff91d3872
+VPUNPCKLWD_256(mem)
+  before
+    518a639b87f45de2.a9e0fb0650fe99e0.0077960d0e17e684.62d8839316cbc139
+    e631ff6ed47da7b6.36f0caf8fe5634a3.7a25a79738a666c1.c780ad135ca102e2
+    9623d042fcc5d21b.57095d22715931dc.e1f8ededef2ca9b8.52ca5f54d91d47ea
+    3e2e51051cd7993c.6876b2ef4493cb36.11bde6fb4fb86a95.600494c229cacbfe
+    4b7848c9e734cbc9
+  after
+    518a639b87f45de2.a9e0fb0650fe99e0.0077960d0e17e684.62d8839316cbc139
+    e631ff6ed47da7b6.36f0caf8fe5634a3.7a25a79738a666c1.c780ad135ca102e2
+    a9e036f0fb06caf8.50fefe5699e034a3.62d8c7808393ad13.16cb5ca1c13902e2
+    3e2e51051cd7993c.6876b2ef4493cb36.11bde6fb4fb86a95.600494c229cacbfe
+    4b7848c9e734cbc9
+
+VPUNPCKHWD_256(reg)
+  before
+    707377d5afe882f8.b81cfda24fbfb946.c584c4cb1490405e.e7400ead75536685
+    2c421e521e712e37.e1ba5204b289ee65.c97f90227cddcaff.3d4ddfef7d0b59b4
+    d92e37acd05b0931.95d4cc196042f3c4.d2b310611905a5c6.f0afd7ae82ebff4e
+    d486c05060334f93.b036e5cc76f58690.3b6c42f286950f5f.dc3471d4a000137e
+    dda6294ff4555270
+  after
+    d92e2c4237ac1e52.d05b1e7109312e37.d2b3c97f10619022.19057cdda5c6caff
+    2c421e521e712e37.e1ba5204b289ee65.c97f90227cddcaff.3d4ddfef7d0b59b4
+    d92e37acd05b0931.95d4cc196042f3c4.d2b310611905a5c6.f0afd7ae82ebff4e
+    d486c05060334f93.b036e5cc76f58690.3b6c42f286950f5f.dc3471d4a000137e
+    dda6294ff4555270
+VPUNPCKHWD_256(mem)
+  before
+    cfd27b0999f67851.7995b5a86a843e09.0eac1b090faf60f4.60f6214260184275
+    8e84e4f0acf0404d.24a610228bdb103e.8b02e9bc477b401d.9c9caabe421a7bb4
+    f688dfef494e6890.3106cf285ec202de.0303cbd23c65e037.4dacd7d0c927f5ca
+    e3aae8f28a1caa45.fc01ec2880c75096.527c3d35077afe6d.cd70a6e690ccee61
+    7a35126b3395a025
+  after
+    cfd27b0999f67851.7995b5a86a843e09.0eac1b090faf60f4.60f6214260184275
+    8e84e4f0acf0404d.24a610228bdb103e.8b02e9bc477b401d.9c9caabe421a7bb4
+    cfd28e847b09e4f0.99f6acf07851404d.0eac8b021b09e9bc.0faf477b60f4401d
+    e3aae8f28a1caa45.fc01ec2880c75096.527c3d35077afe6d.cd70a6e690ccee61
+    7a35126b3395a025
+
+VPUNPCKHWD_256(reg)
+  before
+    af4717cb4f0c47c3.31b57be58e66c298.e2e3658d8c763512.5439bcd2c6c553ec
+    c7f1b17280bf21e7.bc7614b46e396eb6.3df836c31f59eefe.e506c39695529edf
+    1f81ddcc6139683c.60ba304b49a168cb.6a8c5936d4ffb705.e1afce6c8f2e9973
+    144196458e07596f.f84b4a9638a86d02.c4eacc5248f1cbd3.2400593fd06401d4
+    89c4e1fd7500922d
+  after
+    1f81c7f1ddccb172.613980bf683c21e7.6a8c3df8593636c3.d4ff1f59b705eefe
+    c7f1b17280bf21e7.bc7614b46e396eb6.3df836c31f59eefe.e506c39695529edf
+    1f81ddcc6139683c.60ba304b49a168cb.6a8c5936d4ffb705.e1afce6c8f2e9973
+    144196458e07596f.f84b4a9638a86d02.c4eacc5248f1cbd3.2400593fd06401d4
+    89c4e1fd7500922d
+VPUNPCKHWD_256(mem)
+  before
+    eec8e091990f07ab.007ed849a4b42f2c.62f6de82595c3888.a95f8a8316bd6715
+    2ed9d4e7599c1d79.41859f453ecc281e.798668f9c8c98689.74388f35dbeec777
+    25c138ebd0b390c4.319fe7a3f9dc7ef1.19c965e9a0f91330.81bfd7d5321027a4
+    ae4c89891b611cb7.2d1badd1706f6d52.1d894f3cfefa9baa.2c405fcdb7b0c249
+    d109228b0759d612
+  after
+    eec8e091990f07ab.007ed849a4b42f2c.62f6de82595c3888.a95f8a8316bd6715
+    2ed9d4e7599c1d79.41859f453ecc281e.798668f9c8c98689.74388f35dbeec777
+    eec82ed9e091d4e7.990f599c07ab1d79.62f67986de8268f9.595cc8c938888689
+    ae4c89891b611cb7.2d1badd1706f6d52.1d894f3cfefa9baa.2c405fcdb7b0c249
+    d109228b0759d612
+
+VPUNPCKHWD_256(reg)
+  before
+    cb651c7abe989caa.a74841ae55b17c7f.9244ec39401133ed.6394a4e0fdd8d922
+    789f490577f853be.eb80de449baf6d48.ba65a049044f0a6e.c6b4dfc0b99e8ac5
+    3304a59ace0535f9.55bfdb380868ab3d.02ccc56c59b42f80.21b67dc84f586abe
+    58e02da4604c7f08.c3d2b477b9e7f18b.c6c3580edaccddcf.5265f9e4da12353b
+    338fce0077d9a665
+  after
+    3304789fa59a4905.ce0577f835f953be.02ccba65c56ca049.59b4044f2f800a6e
+    789f490577f853be.eb80de449baf6d48.ba65a049044f0a6e.c6b4dfc0b99e8ac5
+    3304a59ace0535f9.55bfdb380868ab3d.02ccc56c59b42f80.21b67dc84f586abe
+    58e02da4604c7f08.c3d2b477b9e7f18b.c6c3580edaccddcf.5265f9e4da12353b
+    338fce0077d9a665
+VPUNPCKHWD_256(mem)
+  before
+    a2ff7a0842b87a6b.427fdc8fc8576d97.0f85e6ecc939fc5e.6297549b24245209
+    798079e855bb6d76.4f2daec7a3b53a51.17a4ec82556888e1.3393b57fd247c8d7
+    96df458dcfef3ab5.d9369fb98def23e2.b5fb412778825141.9305772680c27ce8
+    d3e85ce1c95f9e52.3ee5accf209364f8.c75664c64e9312a9.df3896fccb1fa9e6
+    73770f6e4fec8c7d
+  after
+    a2ff7a0842b87a6b.427fdc8fc8576d97.0f85e6ecc939fc5e.6297549b24245209
+    798079e855bb6d76.4f2daec7a3b53a51.17a4ec82556888e1.3393b57fd247c8d7
+    a2ff79807a0879e8.42b855bb7a6b6d76.0f8517a4e6ecec82.c9395568fc5e88e1
+    d3e85ce1c95f9e52.3ee5accf209364f8.c75664c64e9312a9.df3896fccb1fa9e6
+    73770f6e4fec8c7d
+
+VPSLLD_0x05_256(reg)
+  before
+    ab0fdde6a7b5615b.0e6739d26218557a.d887cf76fb2c393d.2780ce4bf4a68846
+    e34cfcd26f056429.2128584ab3251b58.0568061bb747dd5d.b246fca286c76f43
+    777a689d4468d096.e9f63537db92ab19.1fd44d29f26f8d05.45746bb81f0282cd
+    c2e51eb2c26ae24c.429f4d84f36bc2e8.84179e0b483085e1.bad69677db647e10
+    ee38f9ccd7f81f37
+  after
+    5ca3d6404d5c4980.53e9b0806d785d00.82f3c1600610bc20.5ad2cee06c8fc200
+    e34cfcd26f056429.2128584ab3251b58.0568061bb747dd5d.b246fca286c76f43
+    777a689d4468d096.e9f63537db92ab19.1fd44d29f26f8d05.45746bb81f0282cd
+    c2e51eb2c26ae24c.429f4d84f36bc2e8.84179e0b483085e1.bad69677db647e10
+    ee38f9ccd7f81f37
+VPSLLD_0x05_256(mem)
+  before
+    bd6611a42ecb216f.22d8187f8398d6f7.09ed1b1d19bd1cf2.8e7df72f5417009c
+    042b58e9fde83fe3.f2a1546f267de844.18ad1bee69937563.9b515300b3af3be3
+    9d554c895f5b36c0.8e8aceee45a653df.4cabc9e3fefa8866.05e1aeea00847261
+    65ae686f7131c232.52e080687c9d5474.81b3a1e9f4fd1228.29770459d723e1c3
+    636051b9d517c3b5
+  after
+    bd6611a42ecb216f.22d8187f8398d6f7.09ed1b1d19bd1cf2.8e7df72f5417009c
+    042b58e9fde83fe3.f2a1546f267de844.18ad1bee69937563.9b515300b3af3be3
+    9d554c895f5b36c0.8e8aceee45a653df.4cabc9e3fefa8866.05e1aeea00847261
+    65ae686f7131c232.52e080687c9d5474.81b3a1e9f4fd1228.29770459d723e1c3
+    636051b9d517c3b5
+
+VPSLLD_0x05_256(reg)
+  before
+    10e8927696ec55e2.380329874e749e64.9aef684968f127ae.939020ea68a8ced4
+    8a5ac2fdb52fd3f7.f22009bd13338883.c10380fea42b0739.5f10c1d376077a97
+    2e04ddb8ce6b79a0.6fd086fddb7739ba.2568c6f1ccd931c2.bffd00913927d09d
+    5830e0157e2c8288.8be11b33c34e7036.216936907d86e1f5.90245a0ecd148c11
+    ae5149384fd86c20
+  after
+    061c02a0c5905100.7c23666069ce06c0.2d26d200b0dc3ea0.048b41c0a2918220
+    8a5ac2fdb52fd3f7.f22009bd13338883.c10380fea42b0739.5f10c1d376077a97
+    2e04ddb8ce6b79a0.6fd086fddb7739ba.2568c6f1ccd931c2.bffd00913927d09d
+    5830e0157e2c8288.8be11b33c34e7036.216936907d86e1f5.90245a0ecd148c11
+    ae5149384fd86c20
+VPSLLD_0x05_256(mem)
+  before
+    f5504bfada812af5.642cc57f60ff2b5b.221d444be6c3e723.1053ca4553bf527d
+    41eddb408b1a83bd.ae428a61116fafc6.10527d3260e35cac.5073807ee90fc207
+    6df375f67db033a4.92bf2a292c094c75.314a43d24eb988fe.3b1353a6dc026b3f
+    572f9608cd4ef5d5.6ceea1424e573c14.61d21119cc512a44.2f7f3f29c72589d0
+    8605407346035a66
+  after
+    f5504bfada812af5.642cc57f60ff2b5b.221d444be6c3e723.1053ca4553bf527d
+    41eddb408b1a83bd.ae428a61116fafc6.10527d3260e35cac.5073807ee90fc207
+    6df375f67db033a4.92bf2a292c094c75.314a43d24eb988fe.3b1353a6dc026b3f
+    572f9608cd4ef5d5.6ceea1424e573c14.61d21119cc512a44.2f7f3f29c72589d0
+    8605407346035a66
+
+VPSLLD_0x05_256(reg)
+  before
+    9ef053f0f62818af.da6eb8629600867d.981dec1812e8bc4e.7cb663f1f5b8fcab
+    d18b730c72200055.d27a59f0f5d3a2c7.72960517154507cf.5ec1b548e5f9bb5f
+    7d239c3357784d04.1b20f49f05d205e0.56a7eaabf2fc5a44.e2c18409b920238b
+    fc04cad241bc3d69.912b0559e3096af4.a09a97414698f159.e6804a208c3aef5c
+    45cb85797b52dcfd
+  after
+    80995a403787ad20.2560ab20612d5e80.1352e820d31e2b20.d0094400875deb80
+    d18b730c72200055.d27a59f0f5d3a2c7.72960517154507cf.5ec1b548e5f9bb5f
+    7d239c3357784d04.1b20f49f05d205e0.56a7eaabf2fc5a44.e2c18409b920238b
+    fc04cad241bc3d69.912b0559e3096af4.a09a97414698f159.e6804a208c3aef5c
+    45cb85797b52dcfd
+VPSLLD_0x05_256(mem)
+  before
+    db6eb000a274a69b.ab7af953ca760a30.0f69090caa858e2e.acbc0643aca508b9
+    833548a11bad0962.e7d126249134f104.73a47ba276512cba.d659341fc0b0da11
+    1becc7480508c07d.0a554caf30822d92.98aad709647a02c6.7abc1e3f1f44a40d
+    7e5eabe279918818.7151676243eafb85.5945992c900aca7c.f333bf1165eea258
+    9f0813002d39109f
+  after
+    db6eb000a274a69b.ab7af953ca760a30.0f69090caa858e2e.acbc0643aca508b9
+    833548a11bad0962.e7d126249134f104.73a47ba276512cba.d659341fc0b0da11
+    1becc7480508c07d.0a554caf30822d92.98aad709647a02c6.7abc1e3f1f44a40d
+    7e5eabe279918818.7151676243eafb85.5945992c900aca7c.f333bf1165eea258
+    9f0813002d39109f
+
+VPSRLD_0x05_256(reg)
+  before
+    d989177813b1298d.87596f5995551c61.781273a866fa978a.94423df7150f4108
+    fc00c6e4b4e22acf.14a78f9b755f3a82.7ce46ded373e3d4d.236c40560f952297
+    66b91bb3ab594f11.ff15889234bc9ca7.d713509d4f402879.e4911d359ba62b55
+    7202154e95a2d3fe.266fd42cef77fffd.e6eb18244c8f95bb.b17c5080d451166d
+    68f85523d79f9f0c
+  after
+    039010aa04ad169f.01337ea1077bbfff.073758c102647cad.058be28406a288b3
+    fc00c6e4b4e22acf.14a78f9b755f3a82.7ce46ded373e3d4d.236c40560f952297
+    66b91bb3ab594f11.ff15889234bc9ca7.d713509d4f402879.e4911d359ba62b55
+    7202154e95a2d3fe.266fd42cef77fffd.e6eb18244c8f95bb.b17c5080d451166d
+    68f85523d79f9f0c
+VPSRLD_0x05_256(mem)
+  before
+    e3d2a90bbf9e845e.7b26ad220e47f342.6380f154c19c1eb0.05b8c1eecab4c0be
+    00d6c622a9597f8e.df70e09bb0d6eb8b.94165af6c637b7eb.90c54767643de42f
+    99d02a56b0dc4dc8.f82dab261adaf783.93fc8cfe1b5584db.e360a7fcb6b53fba
+    8b8c5092f134a93a.24aa092de5e052d6.3dfd0158dc0142ab.5ad3dc175da80b0a
+    516be226f5a384cc
+  after
+    e3d2a90bbf9e845e.7b26ad220e47f342.6380f154c19c1eb0.05b8c1eecab4c0be
+    00d6c622a9597f8e.df70e09bb0d6eb8b.94165af6c637b7eb.90c54767643de42f
+    99d02a56b0dc4dc8.f82dab261adaf783.93fc8cfe1b5584db.e360a7fcb6b53fba
+    8b8c5092f134a93a.24aa092de5e052d6.3dfd0158dc0142ab.5ad3dc175da80b0a
+    516be226f5a384cc
+
+VPSRLD_0x05_256(reg)
+  before
+    2474b5931931e8ab.b3d5b5c1876c510d.bd31f61eaf733931.6fe637f02448ac88
+    2f3a52cc65df7154.eb79d3d18f91ff70.210e6f64141fe840.0383a9b30f347f9e
+    ce08b43c76375b73.104228ad24ae708d.aa8f6e6aaf719aae.d6a0d38bbad47718
+    5c2cd74fe7c8e4b3.fffd2f4163cf5f91.b5fff19e1df48c28.c508326540315023
+    aa89402ebe59c5eb
+  after
+    02e166ba073e4725.07ffe97a031e7afc.05afff8c00efa461.0628419302018a81
+    2f3a52cc65df7154.eb79d3d18f91ff70.210e6f64141fe840.0383a9b30f347f9e
+    ce08b43c76375b73.104228ad24ae708d.aa8f6e6aaf719aae.d6a0d38bbad47718
+    5c2cd74fe7c8e4b3.fffd2f4163cf5f91.b5fff19e1df48c28.c508326540315023
+    aa89402ebe59c5eb
+VPSRLD_0x05_256(mem)
+  before
+    62ed7bd14f57939b.37f0b771551b46c1.92766479670089a7.9fa9f36bf934fa59
+    c9015e3a1038765f.baa1500e5bbebe48.a67944424c4eaafc.c2da713ddfbe20ee
+    bb9165541c072964.418b9f92963c88f5.17d14a862fc57ebb.7bde65816c1d3993
+    14690d0d90d069d6.28fa9f6aa122df73.c14cf1322c6fc011.2601cda13cdd82f3
+    208fa40aea8b37bb
+  after
+    62ed7bd14f57939b.37f0b771551b46c1.92766479670089a7.9fa9f36bf934fa59
+    c9015e3a1038765f.baa1500e5bbebe48.a67944424c4eaafc.c2da713ddfbe20ee
+    bb9165541c072964.418b9f92963c88f5.17d14a862fc57ebb.7bde65816c1d3993
+    14690d0d90d069d6.28fa9f6aa122df73.c14cf1322c6fc011.2601cda13cdd82f3
+    208fa40aea8b37bb
+
+VPSRLD_0x05_256(reg)
+  before
+    c3d3e62912b29397.b055d150879ff2e1.ca394c0019fa0070.80b4b8335d5a2d2a
+    6c1b8f6851ded332.6b212d0a1e8180b0.8596a2c299532795.30d61873e1918131
+    77b19c35429c3338.21989d257082ce6f.b35b9d1abdb69091.ad7e8ee0d2217753
+    40e208fb8277ef56.ae879d8e99ac994b.b2d53a7623b1760e.d37897654c15cdbb
+    7e90aeee6c793d96
+  after
+    020710470413bf7a.05743cec04cd64ca.0596a9d3011d8bb0.069bc4bb0260ae6d
+    6c1b8f6851ded332.6b212d0a1e8180b0.8596a2c299532795.30d61873e1918131
+    77b19c35429c3338.21989d257082ce6f.b35b9d1abdb69091.ad7e8ee0d2217753
+    40e208fb8277ef56.ae879d8e99ac994b.b2d53a7623b1760e.d37897654c15cdbb
+    7e90aeee6c793d96
+VPSRLD_0x05_256(mem)
+  before
+    8a914f674d5a8310.23facf25acfc4238.eebaaa32b60d9d70.dd50744164cf16b8
+    d348f7bc0cc35d54.7c45ed215db5698a.bdfd3ffbe3b0960a.8f1847e71e9dac3c
+    358221d9c4c0858e.a70e5e5a3030a0f7.f71cd8d73ba23f44.2679afd4eda67346
+    8c0948aa925eb7ec.00a31f3dc2f9232b.78e3f1b0daee554a.fcbea9746b76a881
+    6f353033379a879a
+  after
+    8a914f674d5a8310.23facf25acfc4238.eebaaa32b60d9d70.dd50744164cf16b8
+    d348f7bc0cc35d54.7c45ed215db5698a.bdfd3ffbe3b0960a.8f1847e71e9dac3c
+    358221d9c4c0858e.a70e5e5a3030a0f7.f71cd8d73ba23f44.2679afd4eda67346
+    8c0948aa925eb7ec.00a31f3dc2f9232b.78e3f1b0daee554a.fcbea9746b76a881
+    6f353033379a879a
+
+VPSRAD_0x05_256(reg)
+  before
+    d928407deb9d4c3c.b3aaeb1c91a8b198.e34e2b34ae9b2dd3.1c1d0674dda09449
+    97e4d5be230b3215.88308319ddaa2dbe.ac5c7eac91a2fb9b.be97940e60c5b76d
+    06b5ec637c7176ce.e6698d8f9371e88b.b7191411069ac92e.3c1e166a7d687be1
+    80e77fd6915a5415.a81f8668cf089e2b.60d1ead0a910d239.717c087453959cd2
+    387de719fb59d66c
+  after
+    fc073bfefc8ad2a0.fd40fc33fe7844f1.03068f56fd488691.038be043029cace6
+    97e4d5be230b3215.88308319ddaa2dbe.ac5c7eac91a2fb9b.be97940e60c5b76d
+    06b5ec637c7176ce.e6698d8f9371e88b.b7191411069ac92e.3c1e166a7d687be1
+    80e77fd6915a5415.a81f8668cf089e2b.60d1ead0a910d239.717c087453959cd2
+    387de719fb59d66c
+VPSRAD_0x05_256(mem)
+  before
+    6fef2d4394bfe4da.62c58c85ff520796.ac20e992ac7b0ac9.02d0fb54178f5368
+    f19d58df37d48349.089d0edb61e6ccfd.cd3632f846d7e992.fb614308eca48866
+    9952e3da03a26ee4.cfb9024454a1dff5.e62ede86ba27f7b2.a6d2be5ac3daace0
+    45db4a1e113763d8.1166622b730f7c2a.d5d367282477f054.5f6d68b538bdfd81
+    817f3e85e8d9b5f6
+  after
+    6fef2d4394bfe4da.62c58c85ff520796.ac20e992ac7b0ac9.02d0fb54178f5368
+    f19d58df37d48349.089d0edb61e6ccfd.cd3632f846d7e992.fb614308eca48866
+    9952e3da03a26ee4.cfb9024454a1dff5.e62ede86ba27f7b2.a6d2be5ac3daace0
+    45db4a1e113763d8.1166622b730f7c2a.d5d367282477f054.5f6d68b538bdfd81
+    817f3e85e8d9b5f6
+
+VPSRAD_0x05_256(reg)
+  before
+    6a543b366ebb10eb.cf040a997f9f1c50.2bf02cfe5bbdde4a.74f34bca9fd48fa5
+    74375b3467ee4c0b.15999d3669e55679.79a35b29a73642fe.a1590558474991d0
+    fd769aeb6effa302.f16681e0ea15cc7f.57cbeb16f306e4f5.36d011bf39e3b202
+    605bf5c82079527e.413731851f3b3c8d.21b3d932dcba00d9.1125ece990acad66
+    0c2411c369b33f29
+  after
+    0302dfae0103ca93.0209b98c00f9d9e4.010d9ec9fee5d006.00892f67fc85656b
+    74375b3467ee4c0b.15999d3669e55679.79a35b29a73642fe.a1590558474991d0
+    fd769aeb6effa302.f16681e0ea15cc7f.57cbeb16f306e4f5.36d011bf39e3b202
+    605bf5c82079527e.413731851f3b3c8d.21b3d932dcba00d9.1125ece990acad66
+    0c2411c369b33f29
+VPSRAD_0x05_256(mem)
+  before
+    0599fc3adf012477.f834673518e89429.dfd72a10236460d0.33a91fe9feddd156
+    d65029390fa4187b.234beca0f3d9a7af.a813e66e129bf574.e9f7bba8f4fc941a
+    5c1414ab14a7d662.3bed80734cd7c5bd.79b7e38909edb6a4.9feaa8da5aa184ce
+    74b33a7e0b171b58.9d661f1cc06e2aff.2c8f9c4e2364608c.b1cee2eacd5bdf21
+    7bee6646e8b3dfbd
+  after
+    0599fc3adf012477.f834673518e89429.dfd72a10236460d0.33a91fe9feddd156
+    d65029390fa4187b.234beca0f3d9a7af.a813e66e129bf574.e9f7bba8f4fc941a
+    5c1414ab14a7d662.3bed80734cd7c5bd.79b7e38909edb6a4.9feaa8da5aa184ce
+    74b33a7e0b171b58.9d661f1cc06e2aff.2c8f9c4e2364608c.b1cee2eacd5bdf21
+    7bee6646e8b3dfbd
+
+VPSRAD_0x05_256(reg)
+  before
+    59982f594837c14e.f8f7159d0ffea388.a601c606ea2b1420.9e678daa7d0faf5a
+    a716398f8972c081.c5ad24f43c6b291e.b00c709d6799bdcd.ac0b328733f75f37
+    c1b6805445f01902.b7a1e06faf676b48.18d1194dd24462b1.304608d35f2a2b52
+    02c200141b3e087c.aa9fc6fb8400232f.3b9dbd82c7b93e79.07e68a7820b3d0d5
+    0db534648f9f0aec
+  after
+    0016100000d9f043.fd54fe37fc200119.01dcedecfe3dc9f3.003f345301059e86
+    a716398f8972c081.c5ad24f43c6b291e.b00c709d6799bdcd.ac0b328733f75f37
+    c1b6805445f01902.b7a1e06faf676b48.18d1194dd24462b1.304608d35f2a2b52
+    02c200141b3e087c.aa9fc6fb8400232f.3b9dbd82c7b93e79.07e68a7820b3d0d5
+    0db534648f9f0aec
+VPSRAD_0x05_256(mem)
+  before
+    1e808282cbf994c5.c887b63ba4e7c99c.7b725382d6410d02.73bc59a8e3838fd1
+    1613f1beedcd2b89.6e509d357f78970e.04e802f1c137e7eb.1d7ae72bc22e8f64
+    d13afc0413288b67.506bb16f457cb07d.22cb4f3562ed6b16.95236578ff477bdf
+    2bc01f4059147089.c923ee53947f4d96.b1e8b639d46f55b1.3802cef936598eed
+    60651f1c04f0053c
+  after
+    1e808282cbf994c5.c887b63ba4e7c99c.7b725382d6410d02.73bc59a8e3838fd1
+    1613f1beedcd2b89.6e509d357f78970e.04e802f1c137e7eb.1d7ae72bc22e8f64
+    d13afc0413288b67.506bb16f457cb07d.22cb4f3562ed6b16.95236578ff477bdf
+    2bc01f4059147089.c923ee53947f4d96.b1e8b639d46f55b1.3802cef936598eed
+    60651f1c04f0053c
+
+VPSUBUSB_256(reg)
+  before
+    6a96524b04991c75.0073d65edaa0951b.37c3504f080ead04.8d0bb4e834ca63e5
+    b2e265f4d3df0f46.2c1d9d4bb3d5b74b.f498d4ce3cb40a74.9200c4309e084fe1
+    949553820c4e195b.8b8bf1f1ffc19242.5eee753bcdfda192.9c9362fc2c38d6cf
+    6cfb19614c73775f.f9894d3eda70e22f.cf112f045675ae09.878f0a38fd63b4db
+    2ec138d02a97a432
+  after
+    46004c93876c0000.0000500d0065001c.2587a5ca003f006b.0b00ba0000000006
+    b2e265f4d3df0f46.2c1d9d4bb3d5b74b.f498d4ce3cb40a74.9200c4309e084fe1
+    949553820c4e195b.8b8bf1f1ffc19242.5eee753bcdfda192.9c9362fc2c38d6cf
+    6cfb19614c73775f.f9894d3eda70e22f.cf112f045675ae09.878f0a38fd63b4db
+    2ec138d02a97a432
+VPSUBUSB_256(mem)
+  before
+    6ff669b0d2e06300.9660b1fd2ed965ff.52e32d1c61ec623c.a54dff9473a96c85
+    25f818c40e48ad71.6e0f19c24f0d1ee7.72640d79af43cf95.3aeddf57c12519b4
+    2c94c1f9fcdd3eaf.50554c1c4a9ae0c2.35da6940e181e567.ec3fcdbadb73ee3f
+    6095e039b8abd1e9.987e4677bc0ce53d.760fbe5d13b05fde.158dc4275e212ad5
+    1324c00be6bb0720
+  after
+    6ff669b0d2e06300.9660b1fd2ed965ff.52e32d1c61ec623c.a54dff9473a96c85
+    25f818c40e48ad71.6e0f19c24f0d1ee7.72640d79af43cf95.3aeddf57c12519b4
+    0002001400004a71.0000000021000000.2000005d4e006d59.00a000004e00002f
+    6095e039b8abd1e9.987e4677bc0ce53d.760fbe5d13b05fde.158dc4275e212ad5
+    1324c00be6bb0720
+
+VPSUBUSB_256(reg)
+  before
+    4050bed30dcbc2cd.9cc9f2725dbc2349.a2d6034040ef6903.13d087bc60defa26
+    f95db8e972df9787.befa718e081eeffc.c9a980e172d0aac1.e7e94049e4177269
+    9b96acbbae82c2fb.a1f6db7bd4ddf32d.6b43b7c8ef3ae223.cd2665f0bc6583d6
+    804995b460417ed4.2087ac24dd04e909.e3efa66053ba4ed4.a353739d03d6e897
+    443be53dd6765ed9
+  after
+    79142335129e1900.9e73006a001a06f3.000000811f165c00.44960000e1000000
+    f95db8e972df9787.befa718e081eeffc.c9a980e172d0aac1.e7e94049e4177269
+    9b96acbbae82c2fb.a1f6db7bd4ddf32d.6b43b7c8ef3ae223.cd2665f0bc6583d6
+    804995b460417ed4.2087ac24dd04e909.e3efa66053ba4ed4.a353739d03d6e897
+    443be53dd6765ed9
+VPSUBUSB_256(mem)
+  before
+    8bac37ba5050a0c7.05c0703f21a708bf.197a5e75409f8ebc.8dfb491439db2981
+    5670e5028d706c8e.864837ca8f419b68.669a6f5a18ba9d71.c4b19a523d29b0d5
+    7f546bffabe27c59.5f2de8c04699757a.e5b559bf8262d454.e65e9785fc301f7d
+    e424469fc3b38d56.ecbb7e8de13dd0a2.71969b909aa2ed93.4e4e3b19117db224
+    57cd827a199ba578
+  after
+    8bac37ba5050a0c7.05c0703f21a708bf.197a5e75409f8ebc.8dfb491439db2981
+    5670e5028d706c8e.864837ca8f419b68.669a6f5a18ba9d71.c4b19a523d29b0d5
+    0000ae003d200000.8100008b6e009300.4d201100001b0f00.3700513e04008754
+    e424469fc3b38d56.ecbb7e8de13dd0a2.71969b909aa2ed93.4e4e3b19117db224
+    57cd827a199ba578
+
+VPSUBUSB_256(reg)
+  before
+    5f266815af173322.5facf1cdf3ee5aae.8a3df59efdb9e88b.e508aeba7a86a458
+    c0a7ea54707c98d1.ceb7e875579fa190.93014a5d3598fbe2.1ed80f27411bb7cf
+    d89a02a4f756122e.0b13a7830ad31c25.6451773725664353.f9d23bc4096ce025
+    014cae72e132dbe8.f38aabe32895889c.597a7a996aaffd89.50c2ad7eee86dc86
+    0174e1400c74661d
+  after
+    bf5b3c00004a0000.002d3d002f0a1900.3a00000000000059.0016000000000049
+    c0a7ea54707c98d1.ceb7e875579fa190.93014a5d3598fbe2.1ed80f27411bb7cf
+    d89a02a4f756122e.0b13a7830ad31c25.6451773725664353.f9d23bc4096ce025
+    014cae72e132dbe8.f38aabe32895889c.597a7a996aaffd89.50c2ad7eee86dc86
+    0174e1400c74661d
+VPSUBUSB_256(mem)
+  before
+    e6b353f681423c17.9909ea29c99b30a9.63e96f81cef2a01f.cec94eeda0006531
+    dc4d808b66fc189f.fa1db0344c1d4d1e.35fc6f4a17f521db.1e87f0a162e4b6f6
+    bf0ce3edd9afb7e2.82d4fe0105456ef2.468f272820aac7fb.a7035a204ce72d85
+    6cbdf807f666d40c.8b79cefb919eced2.736d1309051d4eac.c4888ad6fb96068a
+    d1617b2f0a7c7cb0
+  after
+    e6b353f681423c17.9909ea29c99b30a9.63e96f81cef2a01f.cec94eeda0006531
+    dc4d808b66fc189f.fa1db0344c1d4d1e.35fc6f4a17f521db.1e87f0a162e4b6f6
+    00002d0000ba0088.6114000b00001d00.00130000000300bc.0000a20000e451c5
+    6cbdf807f666d40c.8b79cefb919eced2.736d1309051d4eac.c4888ad6fb96068a
+    d1617b2f0a7c7cb0
+
+VPSUBSB_256(reg)
+  before
+    2adb29971626cda4.bd2c3bc6d82e2c48.72591e8e8bb4aa69.9664b0d7e05b7119
+    2b42907aba1f3311.8f2529149b127bc3.94c1ea268f143d64.8c3e7980d06fed6f
+    2fe2ad4493f3eaa4.be733cde5c1e7da8.4bfb2c2f3a49c56f.31c8eaefee667eda
+    94077b613c2e3008.26e4f211375eed24.f453e21628df7c35.61ce7f10594bdf85
+    f81cb5cf2a2acd9d
+  after
+    7f3b801980f10309.8041370380b47f9f.a08008108035c12f.8070fa8080240e7f
+    2b42907aba1f3311.8f2529149b127bc3.94c1ea268f143d64.8c3e7980d06fed6f
+    2fe2ad4493f3eaa4.be733cde5c1e7da8.4bfb2c2f3a49c56f.31c8eaefee667eda
+    94077b613c2e3008.26e4f211375eed24.f453e21628df7c35.61ce7f10594bdf85
+    f81cb5cf2a2acd9d
+VPSUBSB_256(mem)
+  before
+    d27e06188010044d.b5fdf63e525d3feb.a342c69747df8863.eb170745f4639e63
+    cbc0f0d7740840c2.ed0f1a45700b54f6.115a355ea8ad0a90.8c9297293a6069a4
+    bfadeff8241e3c28.9a8be4e432c5aad8.4cf8b95077d22ed8.340f8e2f976217a5
+    8a127d67ac5eb5aa.17bb4e8635167e3a.30e8d05bcf5cb266.3ddbe9c2a6f6e512
+    0442a34d04a70f96
+  after
+    d27e06188010044d.b5fdf63e525d3feb.a342c69747df8863.eb170745f4639e63
+    cbc0f0d7740840c2.ed0f1a45700b54f6.115a355ea8ad0a90.8c9297293a6069a4
+    f980eabf7ff83c80.381224071eae150b.6e186f7f80ce7f80.a18090e446fd7f80
+    8a127d67ac5eb5aa.17bb4e8635167e3a.30e8d05bcf5cb266.3ddbe9c2a6f6e512
+    0442a34d04a70f96
+
+VPSUBSB_256(reg)
+  before
+    e590b83e4c01d0de.08bb181127d56775.bfec5696158a0ccb.99f6f56acd565067
+    3c1124001b916595.15743ae0b18f0eb4.f06af7826dae9035.63eda4698ccdc407
+    6511e4ff0ce20a68.8d0961c267966594.04802eb5d90d4625.6a9a5a4429cccc71
+    bcdbf2a7bc81fa03.4c4609a265f82941.597cf59bf6336946.8aca91e7bf5f22d2
+    9f47c73f6b938255
+  after
+    7f3632595f106b92.c92e313e8097e580.97ee02e7778080ef.7f23137fcd80a235
+    3c1124001b916595.15743ae0b18f0eb4.f06af7826dae9035.63eda4698ccdc407
+    6511e4ff0ce20a68.8d0961c267966594.04802eb5d90d4625.6a9a5a4429cccc71
+    bcdbf2a7bc81fa03.4c4609a265f82941.597cf59bf6336946.8aca91e7bf5f22d2
+    9f47c73f6b938255
+VPSUBSB_256(mem)
+  before
+    84de77364873aa27.9dbd4c64c6f87211.2ef6ac6bc6c116e6.49a84aa060ad3645
+    175a1eb9730b5474.6301eda3c6d6ae3f.0ee7c80ba6fbe7af.32522831b206e8cd
+    338936b507683d67.6cf4d2ce5aa4ea38.cae3d86d22b459ca.6ec48bb888cabd8b
+    b4353d152095212d.13e2f5531bf061a9.3db7587d55f82861.5a4b70a27f86ef2b
+    5332d25c32c5ba58
+  after
+    84de77364873aa27.9dbd4c64c6f87211.2ef6ac6bc6c116e6.49a84aa060ad3645
+    175a1eb9730b5474.6301eda3c6d6ae3f.0ee7c80ba6fbe7af.32522831b206e8cd
+    7f7ca7832b987f4d.7f44a18000de802e.e0f11ca0e03ad1c9.e97fde7f8059b288
+    b4353d152095212d.13e2f5531bf061a9.3db7587d55f82861.5a4b70a27f86ef2b
+    5332d25c32c5ba58
+
+VPSUBSB_256(reg)
+  before
+    b3c7ac513e135cbf.752caec4db9ebbf1.b416549ca745513e.432fc4285cd110a0
+    d754fdec3efd0f0c.543805b05490c8e0.abdeea179a30f3a2.b7169958524eccb4
+    1b27be9bcf0e10ea.2b26bec4a6760425.5384b32f8f3b8682.773a52fa547819c9
+    db8aecc98cd29a05.d8c156eced5d2bed.0a55ac5022f54489.5d656bfb7d5db20a
+    47646045ea0855a4
+  after
+    fc7f11237f2b7507.7c77afc467809df3.a1893ec7803baf19.80b1805dd5f11aaa
+    d754fdec3efd0f0c.543805b05490c8e0.abdeea179a30f3a2.b7169958524eccb4
+    1b27be9bcf0e10ea.2b26bec4a6760425.5384b32f8f3b8682.773a52fa547819c9
+    db8aecc98cd29a05.d8c156eced5d2bed.0a55ac5022f54489.5d656bfb7d5db20a
+    47646045ea0855a4
+VPSUBSB_256(mem)
+  before
+    0f03adc6b685bcc3.74ca84e211d6eb0a.36d74814464ff864.2b9dcfe6f0e76a64
+    930ecf69fde1a492.40338152fca53da5.20331028cc5b28b5.11a81a5d949f34be
+    ad51411adc27c83d.9c10df85e6cbcd82.74a02a159c8a770d.1ac28821aba8dd45
+    3b987fc56f64e6f2.e4af9be86dd5d64c.0ceb13c5d1eaa098.a137169ed08fa2a2
+    0152be40a0dfbf84
+  after
+    0f03adc6b685bcc3.74ca84e211d6eb0a.36d74814464ff864.2b9dcfe6f0e76a64
+    930ecf69fde1a492.40338152fca53da5.20331028cc5b28b5.11a81a5d949f34be
+    840b227f475ce8cf.cc69fd70ebcf529b.ea5cc814860c3080.e60b4b77a4b8ca80
+    3b987fc56f64e6f2.e4af9be86dd5d64c.0ceb13c5d1eaa098.a137169ed08fa2a2
+    0152be40a0dfbf84
+
+VPSRLDQ_0x05_256(reg)
+  before
+    98607e74b6247094.17ae0556d1a2b8db.745aafe52d4e95af.c5e0452688866081
+    c0ad51a4afebf081.1f6050b91eeffb24.a85e19eac1c24658.7c4b3e22dc6a73f5
+    d785333e26bf7cf5.2d7adbda73576afa.dc07d461c5be25f3.0bf879a7eaa3951f
+    373421adb82c509d.1ec822a5ece5c289.6ca1ddb8d6cd6d2c.4fb273a0cd3c812c
+    2547a6f8a242f447
+  after
+    0000000000373421.adb82c509d1ec822.00000000006ca1dd.b8d6cd6d2c4fb273
+    c0ad51a4afebf081.1f6050b91eeffb24.a85e19eac1c24658.7c4b3e22dc6a73f5
+    d785333e26bf7cf5.2d7adbda73576afa.dc07d461c5be25f3.0bf879a7eaa3951f
+    373421adb82c509d.1ec822a5ece5c289.6ca1ddb8d6cd6d2c.4fb273a0cd3c812c
+    2547a6f8a242f447
+VPSRLDQ_0x05_256(mem)
+  before
+    6781909d84c0aa9d.3d06155c00bfa724.ce16a107a4a5bffc.b4782e5a8f7c5bae
+    f22dac7a90c25e5a.46460db99b03be37.1a30d4eab7a31d80.10d7c5b28d562b25
+    a217767ce154cea9.ac42042f2484d181.dce1383c42ec9740.db0c9d2e6be7193e
+    540b6b8d9383b4b7.cc44f62a37cf1caf.f1f748e7608cea69.7361b239c6bb60a5
+    332300403a5f3d05
+  after
+    6781909d84c0aa9d.3d06155c00bfa724.ce16a107a4a5bffc.b4782e5a8f7c5bae
+    f22dac7a90c25e5a.46460db99b03be37.1a30d4eab7a31d80.10d7c5b28d562b25
+    a217767ce154cea9.ac42042f2484d181.dce1383c42ec9740.db0c9d2e6be7193e
+    540b6b8d9383b4b7.cc44f62a37cf1caf.f1f748e7608cea69.7361b239c6bb60a5
+    332300403a5f3d05
+
+VPSRLDQ_0x05_256(reg)
+  before
+    779e84ad615eec0b.e2d4069ac35bccaf.0399e017716fda6d.353c80d92e8dd227
+    9a1e39edd945a863.2940c3908de6d4be.ab8dbd606ef04866.847d5cfdc7fd0aa5
+    faef1b6d3e9faeb8.05191e590b328610.216b8972c8dfa247.ba86593f48e74f10
+    f25c26972bf83ab7.522c93e35c4a9ed0.c18140ba1ec724bb.b323f18bcc585d93
+    4b1fa2cd6f5bf05b
+  after
+    0000000000f25c26.972bf83ab7522c93.0000000000c18140.ba1ec724bbb323f1
+    9a1e39edd945a863.2940c3908de6d4be.ab8dbd606ef04866.847d5cfdc7fd0aa5
+    faef1b6d3e9faeb8.05191e590b328610.216b8972c8dfa247.ba86593f48e74f10
+    f25c26972bf83ab7.522c93e35c4a9ed0.c18140ba1ec724bb.b323f18bcc585d93
+    4b1fa2cd6f5bf05b
+VPSRLDQ_0x05_256(mem)
+  before
+    5e48e7f24efcc394.ddb257d93ddc870b.ec459f189a3bda2b.e719dea20a34096f
+    c8683de485489369.193ea89d0fd8d361.af30bce6e110f44c.ef81609828b38e0f
+    654c1e902f4a1c07.014a17513d785864.77b968384ed5a960.3603c00715cfee46
+    11c008e3680e1a99.f0229f60644652c2.20ab1ffafc97b593.16ecfd5a6c1467c1
+    ec8710ffca0f332b
+  after
+    5e48e7f24efcc394.ddb257d93ddc870b.ec459f189a3bda2b.e719dea20a34096f
+    c8683de485489369.193ea89d0fd8d361.af30bce6e110f44c.ef81609828b38e0f
+    654c1e902f4a1c07.014a17513d785864.77b968384ed5a960.3603c00715cfee46
+    11c008e3680e1a99.f0229f60644652c2.20ab1ffafc97b593.16ecfd5a6c1467c1
+    ec8710ffca0f332b
+
+VPSRLDQ_0x05_256(reg)
+  before
+    1422f661ca4b8e31.a89076c84da1484c.44143d3620d0ff24.86d35b180861d310
+    e908aced0955b67f.0687e52afa0e634c.576beb3f0ca19938.84fe9a7e8d3fc004
+    c9842d0d22b7e5c0.0773cff78a6127c4.8672a7e7c4465daa.f8f65719a83e389a
+    0fe3752eb1ff58a1.861eb21a19a74fe1.2e766c9be54a8626.bd880ed37469f6ff
+    af7f3b990dccb85e
+  after
+    00000000000fe375.2eb1ff58a1861eb2.00000000002e766c.9be54a8626bd880e
+    e908aced0955b67f.0687e52afa0e634c.576beb3f0ca19938.84fe9a7e8d3fc004
+    c9842d0d22b7e5c0.0773cff78a6127c4.8672a7e7c4465daa.f8f65719a83e389a
+    0fe3752eb1ff58a1.861eb21a19a74fe1.2e766c9be54a8626.bd880ed37469f6ff
+    af7f3b990dccb85e
+VPSRLDQ_0x05_256(mem)
+  before
+    a9a95a58907438e5.177180bc53b94bcd.6155097fc4eb98ce.a9c336c50a395257
+    89d0e8fb196c32bd.3d7a4b24a470f9f1.73e45012a639beb8.55a502d2d0a0fbea
+    2ac2606dc3c06415.dd49d1d13fb09fb9.989703bfdc9e7dca.8c68cb2fd20abe8a
+    67493e9caa7d8817.532c0e2ec10579d0.ab3a9f7381259032.ab588d47ad03d6e4
+    0ec04485fc1880a3
+  after
+    a9a95a58907438e5.177180bc53b94bcd.6155097fc4eb98ce.a9c336c50a395257
+    89d0e8fb196c32bd.3d7a4b24a470f9f1.73e45012a639beb8.55a502d2d0a0fbea
+    2ac2606dc3c06415.dd49d1d13fb09fb9.989703bfdc9e7dca.8c68cb2fd20abe8a
+    67493e9caa7d8817.532c0e2ec10579d0.ab3a9f7381259032.ab588d47ad03d6e4
+    0ec04485fc1880a3
+
+VPSLLDQ_0x05_256(reg)
+  before
+    12edec575cd4f874.1e32ff73ebae5bef.fa6dfea9c4fcc3e3.8a989f18b2dab419
+    112c822868c37a03.2a491ddea25f98ca.305a9dade721b89d.0f7f7f9b8acaa4ae
+    68c60064bd7241fb.665916c9ea9dfdd4.503de8a6c4fe95ab.18b9bbe926001e1a
+    730a6477f66c8a09.b0306520df734438.b563da00f72196b8.7f13cfeda188dc8c
+    22593892176f9b2e
+  after
+    6c8a09b0306520df.7344380000000000.2196b87f13cfeda1.88dc8c0000000000
+    112c822868c37a03.2a491ddea25f98ca.305a9dade721b89d.0f7f7f9b8acaa4ae
+    68c60064bd7241fb.665916c9ea9dfdd4.503de8a6c4fe95ab.18b9bbe926001e1a
+    730a6477f66c8a09.b0306520df734438.b563da00f72196b8.7f13cfeda188dc8c
+    22593892176f9b2e
+VPSLLDQ_0x05_256(mem)
+  before
+    db5771c6a6c0162d.8e43a9cdb03e91d8.e29887d09eee2923.bd176f271d15f672
+    88d8f67467880bb4.15bcccd386729115.da5ef6c342186ac0.c2a7a387d167f282
+    03aa438878d134f0.64c3c8f31496c86c.724e30e7e800c13d.225d738db0a2c697
+    2a97d5eef5aa4e0c.d7a2989af7366f88.8734b026abafebc3.3787daa35552ae5a
+    5f6fd4375d04e57a
+  after
+    db5771c6a6c0162d.8e43a9cdb03e91d8.e29887d09eee2923.bd176f271d15f672
+    88d8f67467880bb4.15bcccd386729115.da5ef6c342186ac0.c2a7a387d167f282
+    03aa438878d134f0.64c3c8f31496c86c.724e30e7e800c13d.225d738db0a2c697
+    2a97d5eef5aa4e0c.d7a2989af7366f88.8734b026abafebc3.3787daa35552ae5a
+    5f6fd4375d04e57a
+
+VPSLLDQ_0x05_256(reg)
+  before
+    f4625db36342a8a1.d76c2693f81c1435.caa63a35caddc516.f6dcf26ea833a380
+    54ab7185049b337c.e7f5b461a0354397.991baa2f2a1704c1.991172aafa97a7a0
+    d9980d18db98c1b6.37fefb450700975d.a04de2f3b3706a36.4da1adc6bee7b14f
+    e1742cd884c78ffc.a152752c498accb4.3b87e0ef00753021.ee561eae0f307db8
+    59fd414e097ec907
+  after
+    c78ffca152752c49.8accb40000000000.753021ee561eae0f.307db80000000000
+    54ab7185049b337c.e7f5b461a0354397.991baa2f2a1704c1.991172aafa97a7a0
+    d9980d18db98c1b6.37fefb450700975d.a04de2f3b3706a36.4da1adc6bee7b14f
+    e1742cd884c78ffc.a152752c498accb4.3b87e0ef00753021.ee561eae0f307db8
+    59fd414e097ec907
+VPSLLDQ_0x05_256(mem)
+  before
+    68629292c9db4f6a.c68aca319cb4d9f9.02bfa00083dd9dc7.c6179f8eadb1952d
+    f8518d666b55cc0a.e527e38fbfe9db5a.360ff7afd008c7c3.9d471b3c57b1d307
+    e595afb60af7fc16.9a97735e88f4d0cb.190ff6244d1406d4.1b64516599ff275a
+    0bfc736fc2ce9ab8.4226770a9361f5f7.878c194b150f1525.9eba3b76102acdd3
+    8195d7d957bb001d
+  after
+    68629292c9db4f6a.c68aca319cb4d9f9.02bfa00083dd9dc7.c6179f8eadb1952d
+    f8518d666b55cc0a.e527e38fbfe9db5a.360ff7afd008c7c3.9d471b3c57b1d307
+    e595afb60af7fc16.9a97735e88f4d0cb.190ff6244d1406d4.1b64516599ff275a
+    0bfc736fc2ce9ab8.4226770a9361f5f7.878c194b150f1525.9eba3b76102acdd3
+    8195d7d957bb001d
+
+VPSLLDQ_0x05_256(reg)
+  before
+    1f4020fb0a40fde5.4650557bb0e5631d.3720ea007dba868b.5c4fdc104504b1e3
+    d6091249c74400d7.725ed1c8f0481370.d6d0c8aae28ebe32.7427bc5ff800963a
+    013aaa2e2754459e.6bf264419c0365dd.7b840e765d66da99.acdf34244b0e8055
+    fb20e315c8fb07e7.0dd889d1d3231792.8286b6ce8ad0166c.de42c04b593a2a60
+    e61dddc13e915188
+  after
+    fb07e70dd889d1d3.2317920000000000.d0166cde42c04b59.3a2a600000000000
+    d6091249c74400d7.725ed1c8f0481370.d6d0c8aae28ebe32.7427bc5ff800963a
+    013aaa2e2754459e.6bf264419c0365dd.7b840e765d66da99.acdf34244b0e8055
+    fb20e315c8fb07e7.0dd889d1d3231792.8286b6ce8ad0166c.de42c04b593a2a60
+    e61dddc13e915188
+VPSLLDQ_0x05_256(mem)
+  before
+    a23c0570171eb1f9.2207b86c46c5835e.34dcbc66aeb4e3b9.4723be200657ae56
+    ed6bb64500ed06de.d03b289e3c3ff5ae.bcc979eb4cc0857e.26a721d76c87dd04
+    a3766b2d140b0b64.63082c1746f49884.816d3c4cc655bb0f.7b5edb5f59ede021
+    a029a0136f837db7.35b9c2430170a98b.5f9282753b7f3f95.a293e9246814f35a
+    f79446923688525b
+  after
+    a23c0570171eb1f9.2207b86c46c5835e.34dcbc66aeb4e3b9.4723be200657ae56
+    ed6bb64500ed06de.d03b289e3c3ff5ae.bcc979eb4cc0857e.26a721d76c87dd04
+    a3766b2d140b0b64.63082c1746f49884.816d3c4cc655bb0f.7b5edb5f59ede021
+    a029a0136f837db7.35b9c2430170a98b.5f9282753b7f3f95.a293e9246814f35a
+    f79446923688525b
+
+VPANDN_256(reg)
+  before
+    d6abed155ed638cf.c04fd2e32e611802.a49ce48e093f6470.3205c653c448cd3f
+    9b25dd197c89e263.dfb67c896cb29772.0afb9064f8ee05de.d69284d07fbe2337
+    a24e0f0b2d2e8cc2.d8281af14681b732.c523c2326d09c782.260438da88edfba9
+    477280550d507199.89722807d7da346f.2f607462021ae708.00295f5bfadf12c2
+    3fcb7441f2a224ae
+  after
+    4452004401501198.004000069348200d.250064020210e200.00295b0b804110c0
+    9b25dd197c89e263.dfb67c896cb29772.0afb9064f8ee05de.d69284d07fbe2337
+    a24e0f0b2d2e8cc2.d8281af14681b732.c523c2326d09c782.260438da88edfba9
+    477280550d507199.89722807d7da346f.2f607462021ae708.00295f5bfadf12c2
+    3fcb7441f2a224ae
+VPANDN_256(mem)
+  before
+    beb8f3768b42ec98.e6dd2d65b77bce94.cd6022b73ccaca55.a5fea46253afa11b
+    5bba58e8e1c927ad.dada11a6c73bdf5e.7fbd85ed905c340f.83484d9cfd543068
+    f19e1f8211469119.81b72983da1ddfa4.7d57cb96f09c2fc9.268c6b7e9b93d19b
+    5b30c53036c2e607.36be6f6a8cac0c11.a1f8729c779776b1.e814fa73cafac05f
+    262df7e725153960
+  after
+    beb8f3768b42ec98.e6dd2d65b77bce94.cd6022b73ccaca55.a5fea46253afa11b
+    5bba58e8e1c927ad.dada11a6c73bdf5e.7fbd85ed905c340f.83484d9cfd543068
+    a400a3160a02c810.24052c4130400080.804022122c82ca50.24b6a06202ab8113
+    5b30c53036c2e607.36be6f6a8cac0c11.a1f8729c779776b1.e814fa73cafac05f
+    262df7e725153960
+
+VPANDN_256(reg)
+  before
+    3c235c46486e774b.773bc5de6d4be1a4.543ce1c67875a052.c96df6ed4258c7f1
+    864227fcd094b7cc.1f8d9b79d2ec3f1b.397d79033a03d712.d082d1736cebdcb5
+    60d654755910358f.31f0c3eb80b1bc99.40cd368d6fe2effe.9103811c125d722a
+    262add1d7e702d3f.8731b92193a71349.c47711d1b29f22c2.e9bc81d34fb9447c
+    b5794d843f0c10d6
+  after
+    2028d8012e600833.8030200001030040.c40200d0809c20c0.293c008003100048
+    864227fcd094b7cc.1f8d9b79d2ec3f1b.397d79033a03d712.d082d1736cebdcb5
+    60d654755910358f.31f0c3eb80b1bc99.40cd368d6fe2effe.9103811c125d722a
+    262add1d7e702d3f.8731b92193a71349.c47711d1b29f22c2.e9bc81d34fb9447c
+    b5794d843f0c10d6
+VPANDN_256(mem)
+  before
+    cf05611bff619065.358cc061dc3fda88.fe1cfa0828d90158.23c90739a0c5ad09
+    152d3a84abc48154.e746f8ab0d097917.737d018a5a5442f2.b70d1532d4e0cb80
+    61be52ab5e419ed1.98a58169b05b4598.c0204a9545229242.de903629eb7cbad3
+    9081277c34e5a405.a6f557065fc07cb7.c3d052140752ac75.f29e66898026b4ad
+    5183a2bd306af5bb
+  after
+    cf05611bff619065.358cc061dc3fda88.fe1cfa0828d90158.23c90739a0c5ad09
+    152d3a84abc48154.e746f8ab0d097917.737d018a5a5442f2.b70d1532d4e0cb80
+    ca00411b54211021.10880040d0368288.8c00fa0020890108.00c0020920052409
+    9081277c34e5a405.a6f557065fc07cb7.c3d052140752ac75.f29e66898026b4ad
+    5183a2bd306af5bb
+
+VPANDN_256(reg)
+  before
+    558ae43396d2bba8.7f4535e44abb4f1e.6c8176edb6c5581f.565b93f3b9ed4db6
+    5b012a564eec4021.08d5f6cdbbd05b48.4697db8c52f4167c.568b8b1e79013133
+    c0326f92f544c1d1.08fce825a42f83af.9081814ecedcf17b.9f2db58163991315
+    de6ab05327647965.5b8885d720e4847e.a68d649fc70626c8.0d0d8d0892c2b18a
+    7df7909f2287c5be
+  after
+    846a900121003944.5308011200248436.a008241385022080.0904040082c28088
+    5b012a564eec4021.08d5f6cdbbd05b48.4697db8c52f4167c.568b8b1e79013133
+    c0326f92f544c1d1.08fce825a42f83af.9081814ecedcf17b.9f2db58163991315
+    de6ab05327647965.5b8885d720e4847e.a68d649fc70626c8.0d0d8d0892c2b18a
+    7df7909f2287c5be
+VPANDN_256(mem)
+  before
+    c9b6383230f40bdd.12f5e7057fdaa689.dd434cce4cfb1ae1.e40581ebd800f10e
+    ce1803aed8154112.b81f1215993282e8.6afab6f843810006.a536d29e9e558efa
+    68e76cfd35f72189.2d342ced12f64a2f.df7940402282f316.476c5525b4923838
+    73f0f00d63a6676f.cb8031fa86b43909.168c67920408af40.25f205eab7412d73
+    9a16de5b42f1a658
+  after
+    c9b6383230f40bdd.12f5e7057fdaa689.dd434cce4cfb1ae1.e40581ebd800f10e
+    ce1803aed8154112.b81f1215993282e8.6afab6f843810006.a536d29e9e558efa
+    01a6381020e00acd.02e0e50066c82401.950148060c7a1ae1.4001016140007104
+    73f0f00d63a6676f.cb8031fa86b43909.168c67920408af40.25f205eab7412d73
+    9a16de5b42f1a658
+
+VPUNPCKLQDQ_256(reg)
+  before
+    0422dde2f22be292.cbff09c97f2cd1f0.ef4e1da990f88c23.ecfea6db0621f0ae
+    be63fded627d1bce.4ce0351ca4971938.f5ebed65cc4d7f29.3d9d790543d8718c
+    23253ae72e728eb7.d25feff4eff2fc72.39a39c99d73f4ec6.e5335dfdd73aef07
+    91b4903cf39777fa.3947b33c7b4a36ca.17c226b34c5a34a7.bf8dccb0df52264b
+    a9774408772cd284
+  after
+    d25feff4eff2fc72.4ce0351ca4971938.e5335dfdd73aef07.3d9d790543d8718c
+    be63fded627d1bce.4ce0351ca4971938.f5ebed65cc4d7f29.3d9d790543d8718c
+    23253ae72e728eb7.d25feff4eff2fc72.39a39c99d73f4ec6.e5335dfdd73aef07
+    91b4903cf39777fa.3947b33c7b4a36ca.17c226b34c5a34a7.bf8dccb0df52264b
+    a9774408772cd284
+VPUNPCKLQDQ_256(mem)
+  before
+    7ebd40f3bad5aedd.625cfb584d771143.5d66fee065aa826d.eb94871ec82b6e77
+    1a2a3c5bc4587782.f46878a7d79e993d.19864acdc81e9d87.1165bb46e63d38e3
+    598cb52eb2c1e9a0.a12601952d994b95.4b7415edc1b34343.e580bf97431ccd97
+    17ad25579f1dbf63.c6e0948eecf363f7.cefcda2d6b742fce.c3328e7d7a556b3e
+    07c8246527734c85
+  after
+    7ebd40f3bad5aedd.625cfb584d771143.5d66fee065aa826d.eb94871ec82b6e77
+    1a2a3c5bc4587782.f46878a7d79e993d.19864acdc81e9d87.1165bb46e63d38e3
+    625cfb584d771143.f46878a7d79e993d.eb94871ec82b6e77.1165bb46e63d38e3
+    17ad25579f1dbf63.c6e0948eecf363f7.cefcda2d6b742fce.c3328e7d7a556b3e
+    07c8246527734c85
+
+VPUNPCKLQDQ_256(reg)
+  before
+    0d8c7eb9e703ac17.2f5a0ac2a877b6f6.c0e32dffaf381c0e.7ee9167ae36d1f54
+    31ca96e75690c9a1.7f5fe05be9db8a86.e97bc65213f5b386.370943be44abcd00
+    ced06a590fa6ddcf.e288210e7c56f63f.9ef45df5b3b5640d.d426dfe7aa39f5ff
+    42e9f57daed1254c.33a14ac880f3b84c.3c99ed522c046a4d.330e65e03223557c
+    2f8b5194f876a7a4
+  after
+    e288210e7c56f63f.7f5fe05be9db8a86.d426dfe7aa39f5ff.370943be44abcd00
+    31ca96e75690c9a1.7f5fe05be9db8a86.e97bc65213f5b386.370943be44abcd00
+    ced06a590fa6ddcf.e288210e7c56f63f.9ef45df5b3b5640d.d426dfe7aa39f5ff
+    42e9f57daed1254c.33a14ac880f3b84c.3c99ed522c046a4d.330e65e03223557c
+    2f8b5194f876a7a4
+VPUNPCKLQDQ_256(mem)
+  before
+    a36a1ff1173da8a2.e86033bed09edcc5.5075d8730ebe8ada.1db872d7196f03f2
+    6d774ce2ab8513a4.1c82218811983fe5.14d246fd45c42814.9e9be8ef178169a9
+    677d5353d158a6d3.399bb9470c4c8a59.5a8210503e105027.1b8f4c06c1c6d81e
+    6f4ab031a4c41b5e.9df7f9675d45f9cc.0052b35a17afbc3e.f1e09988b4cb8efc
+    7adacbe18b1bc5f0
+  after
+    a36a1ff1173da8a2.e86033bed09edcc5.5075d8730ebe8ada.1db872d7196f03f2
+    6d774ce2ab8513a4.1c82218811983fe5.14d246fd45c42814.9e9be8ef178169a9
+    e86033bed09edcc5.1c82218811983fe5.1db872d7196f03f2.9e9be8ef178169a9
+    6f4ab031a4c41b5e.9df7f9675d45f9cc.0052b35a17afbc3e.f1e09988b4cb8efc
+    7adacbe18b1bc5f0
+
+VPUNPCKLQDQ_256(reg)
+  before
+    13c9de7de242b9a5.5fa8df6641d52e6e.a2e2dc54a10fc7eb.e00eaa06ecab2986
+    18f8cec856cda8c8.15645ddfc3969d32.a6a75f7a73373262.d882703fd813522b
+    e5b4982f8347cc05.6b4aa489471322d4.04947c45704773dc.c27984f3f7f0f558
+    d64a371c043d6207.3e26324ee8587a81.17f3312233cec906.7bc15f0d6650cc3a
+    e0247e79413e93fd
+  after
+    6b4aa489471322d4.15645ddfc3969d32.c27984f3f7f0f558.d882703fd813522b
+    18f8cec856cda8c8.15645ddfc3969d32.a6a75f7a73373262.d882703fd813522b
+    e5b4982f8347cc05.6b4aa489471322d4.04947c45704773dc.c27984f3f7f0f558
+    d64a371c043d6207.3e26324ee8587a81.17f3312233cec906.7bc15f0d6650cc3a
+    e0247e79413e93fd
+VPUNPCKLQDQ_256(mem)
+  before
+    cb6f5e24a3c608cc.4704a7fd7539a67b.6bc4831cc3726064.3d11797b59556e8c
+    196e7af8a8f5e5d3.942fe43c73cad30c.ccef11def36c92aa.d03a50be7d6a9f19
+    a7ed4ee26dd6e740.1916eb479a792667.3e755a809553ca7e.2dbab2563c99985a
+    4fb757cf0d76ca3c.3107b68984d4db38.9e20d8eec432c40d.b1dd9cae316c95fa
+    b6ee0934f871d1a6
+  after
+    cb6f5e24a3c608cc.4704a7fd7539a67b.6bc4831cc3726064.3d11797b59556e8c
+    196e7af8a8f5e5d3.942fe43c73cad30c.ccef11def36c92aa.d03a50be7d6a9f19
+    4704a7fd7539a67b.942fe43c73cad30c.3d11797b59556e8c.d03a50be7d6a9f19
+    4fb757cf0d76ca3c.3107b68984d4db38.9e20d8eec432c40d.b1dd9cae316c95fa
+    b6ee0934f871d1a6
+
+VPSRLW_0x05_256(reg)
+  before
+    993af5532e348909.ee9a0faaa5e049f6.3a4c436ed0662d2a.c6bd09149d153e83
+    b70e5c776f3ff8d0.6060f45e50202198.8f328d6218bb5ae9.931869de3b08f20b
+    6ab43b0d56205ba7.81d781d92b430e4f.8c0691d1f8609c23.e1fd7238ba189dd2
+    0f798c7f7f63ef39.2dc933065153cb46.8d1249270de02f82.8c37a20e3750fb03
+    7094744dcebdc7cb
+  after
+    007b046303fb0779.016e0198028a065a.04680249006f017c.0461051001ba07d8
+    b70e5c776f3ff8d0.6060f45e50202198.8f328d6218bb5ae9.931869de3b08f20b
+    6ab43b0d56205ba7.81d781d92b430e4f.8c0691d1f8609c23.e1fd7238ba189dd2
+    0f798c7f7f63ef39.2dc933065153cb46.8d1249270de02f82.8c37a20e3750fb03
+    7094744dcebdc7cb
+VPSRLW_0x05_256(mem)
+  before
+    69de64df996abe56.02a84d3a8792ed33.410284d1df5f15aa.eda2b3d1f2c851b2
+    53e2eeb2b7639ccf.a08f7aab0a3b9440.9750f226f070a8a6.0a04ca3943a33c60
+    0a6c8fb142b51c63.43780d3ca2ea1e0d.0c7ef8f1a1944067.3f828bcd9dfd2d38
+    6a48c1c8566bfc3d.48b0045bee29c846.7c57121e0dd69819.e76af0f79c635fe5
+    6006f725db600f14
+  after
+    69de64df996abe56.02a84d3a8792ed33.410284d1df5f15aa.eda2b3d1f2c851b2
+    53e2eeb2b7639ccf.a08f7aab0a3b9440.9750f226f070a8a6.0a04ca3943a33c60
+    0a6c8fb142b51c63.43780d3ca2ea1e0d.0c7ef8f1a1944067.3f828bcd9dfd2d38
+    6a48c1c8566bfc3d.48b0045bee29c846.7c57121e0dd69819.e76af0f79c635fe5
+    6006f725db600f14
+
+VPSRLW_0x05_256(reg)
+  before
+    04a39bc2f7807971.4f4202e21091f68a.0b8459738887cd96.c3a8bc9a50436de7
+    318dd83a8b4fd9a7.9525ceed8b34c676.e83d0aef0c8d6baa.bc3d734f88e67bfd
+    410faaf9335a6b63.18bf9fd4e45f2a2c.3b2a133d17c9dc2d.45e2b22bcecb7e89
+    92770e6b8c2d6a50.b4daf384361edcd9.60966ec844c65dcc.3963f51840ff31b5
+    748cb804f98d51ad
+  after
+    0493007304610352.05a6079c01b006e6.03040376022602ee.01cb07a80207018d
+    318dd83a8b4fd9a7.9525ceed8b34c676.e83d0aef0c8d6baa.bc3d734f88e67bfd
+    410faaf9335a6b63.18bf9fd4e45f2a2c.3b2a133d17c9dc2d.45e2b22bcecb7e89
+    92770e6b8c2d6a50.b4daf384361edcd9.60966ec844c65dcc.3963f51840ff31b5
+    748cb804f98d51ad
+VPSRLW_0x05_256(mem)
+  before
+    d22878da16819a9e.7e0ffffc3152131b.454345e79e7e98a8.b3cc19fd2f102933
+    2f05af86b3e8c7b4.63257918bf57a16f.a7c611ea378a1cc6.901a0f4676347d0d
+    66eddbf4eacd951b.9b03782bd2c751f9.b52ed37a1d4e225f.53ca4c10b2bd9507
+    55ad7710da3cc0fe.83f6f8a2042f6065.4d4908816dd7679e.5829ccc78138adcc
+    fa838cd87f2f0009
+  after
+    d22878da16819a9e.7e0ffffc3152131b.454345e79e7e98a8.b3cc19fd2f102933
+    2f05af86b3e8c7b4.63257918bf57a16f.a7c611ea378a1cc6.901a0f4676347d0d
+    66eddbf4eacd951b.9b03782bd2c751f9.b52ed37a1d4e225f.53ca4c10b2bd9507
+    55ad7710da3cc0fe.83f6f8a2042f6065.4d4908816dd7679e.5829ccc78138adcc
+    fa838cd87f2f0009
+
+VPSRLW_0x05_256(reg)
+  before
+    972387ae4731cc6a.d71100c69d420389.7849f6e7f41a075e.4ae12aed4330a7af
+    8a57b9b475c74a9a.c7e4f0024fea1ce9.d44a6d683c148591.87c4b7a9ba659dc0
+    2f691e58a67fb946.03f4c5b10d41c54a.f443599078aa14a9.e2bc2aa0ee8306fb
+    e1a6b20576e45319.660bfabdf251bad7.3582b6cb4467f153.369600c0fc959e8c
+    5e1eb3f400a721a0
+  after
+    070d059003b70298.033007d5079205d6.01ac05b60223078a.01b4000607e404f4
+    8a57b9b475c74a9a.c7e4f0024fea1ce9.d44a6d683c148591.87c4b7a9ba659dc0
+    2f691e58a67fb946.03f4c5b10d41c54a.f443599078aa14a9.e2bc2aa0ee8306fb
+    e1a6b20576e45319.660bfabdf251bad7.3582b6cb4467f153.369600c0fc959e8c
+    5e1eb3f400a721a0
+VPSRLW_0x05_256(mem)
+  before
+    381fc12915c64a63.fe5a7227808355c0.cbf60b141a28b9bd.f15181843ed8573b
+    9e67a54957fdd600.e1d1592a60e7fbe6.108175a0a2d27c28.85fdb529ff87840c
+    6ec0dc41e35981a4.e557637ab39c8038.0f78b24fa65ac043.4dd24e262502b273
+    82f7e0fdd4e4067b.68388c83142e2162.a6a7400c41cc403a.a51b48e54cd51e1c
+    e9269fd30f8a03b2
+  after
+    381fc12915c64a63.fe5a7227808355c0.cbf60b141a28b9bd.f15181843ed8573b
+    9e67a54957fdd600.e1d1592a60e7fbe6.108175a0a2d27c28.85fdb529ff87840c
+    6ec0dc41e35981a4.e557637ab39c8038.0f78b24fa65ac043.4dd24e262502b273
+    82f7e0fdd4e4067b.68388c83142e2162.a6a7400c41cc403a.a51b48e54cd51e1c
+    e9269fd30f8a03b2
+
+VPSLLW_0x05_256(reg)
+  before
+    753d505c0ab09ee1.b8d82f6a47ac22b0.c4bfd1b2202a1a0f.afda9ac39034ba3b
+    a5ad56eddad02b56.ea2f447357bd916f.57392c71721ca7ec.07dc3d60ae9fe86f
+    d5c2adf11b78e6bd.f5c89b0321220fe6.7bf39b2ea78e03a5.8b7aa3cfb7188605
+    61c851d368330ac1.b66eb008c0e7573e.8e361a535a0e6be5.15814afcc8ac5227
+    82bbadd4fc650602
+  after
+    39003a6006605820.cdc001001ce0e7c0.c6c04a6041c07ca0.b0205f80158044e0
+    a5ad56eddad02b56.ea2f447357bd916f.57392c71721ca7ec.07dc3d60ae9fe86f
+    d5c2adf11b78e6bd.f5c89b0321220fe6.7bf39b2ea78e03a5.8b7aa3cfb7188605
+    61c851d368330ac1.b66eb008c0e7573e.8e361a535a0e6be5.15814afcc8ac5227
+    82bbadd4fc650602
+VPSLLW_0x05_256(mem)
+  before
+    aff4484170525fc1.a50b3f015d8dd40f.07ef006d511826a6.ea51a34e28271b59
+    76fa9831407c1991.fdd771e697138053.c515061eefc23848.ed8f348aac664eac
+    b498178e86f1ef9d.c577e5eeb1504a38.ccad3e07b6f04851.f13bc7738256418b
+    4599434661bc9e12.5838978548d16d6b.f9832414c3af14ec.53a35b75478330a1
+    7011e9fc977a579b
+  after
+    aff4484170525fc1.a50b3f015d8dd40f.07ef006d511826a6.ea51a34e28271b59
+    76fa9831407c1991.fdd771e697138053.c515061eefc23848.ed8f348aac664eac
+    b498178e86f1ef9d.c577e5eeb1504a38.ccad3e07b6f04851.f13bc7738256418b
+    4599434661bc9e12.5838978548d16d6b.f9832414c3af14ec.53a35b75478330a1
+    7011e9fc977a579b
+
+VPSLLW_0x05_256(reg)
+  before
+    a2d26e740dc6f125.05ca9744eaeae21c.14668117f7212697.26633431320a5646
+    4632e74945f33bea.d1f79073408676e6.544da1105bccb169.3018eb4b1e0dca8a
+    b87d4fe8dc8e7197.83eca8c17c9c179d.7439f1dc0f5e498d.f370c44ca3c52de5
+    54fea2bb6e22ced7.f8755d1abc38816c.cf766fe8b0642bae.4b353b21de3d3c83
+    1434ccb7eb81b08f
+  after
+    9fc05760c440dae0.0ea0a34087002d80.eec0fd000c8075c0.66a06420c7a09060
+    4632e74945f33bea.d1f79073408676e6.544da1105bccb169.3018eb4b1e0dca8a
+    b87d4fe8dc8e7197.83eca8c17c9c179d.7439f1dc0f5e498d.f370c44ca3c52de5
+    54fea2bb6e22ced7.f8755d1abc38816c.cf766fe8b0642bae.4b353b21de3d3c83
+    1434ccb7eb81b08f
+VPSLLW_0x05_256(mem)
+  before
+    2a39f4f9e49d4836.7703dd30953c9057.0c5d2a681c677080.c34f179ed9699379
+    69102ed3e89ebea3.7bd6fab1f066f1c3.9b728b98b7359f05.ab12e36c26fabc99
+    ad85f6301190cf03.bdc4f7ac192e2dc6.817efc96aaaccb26.e209d1bd35a2e4bb
+    d263c8fe7b7d3782.9919cf8cac20820d.9a4efa4f10dab010.c681dcfd9fed458a
+    b1c6009702681bb3
+  after
+    2a39f4f9e49d4836.7703dd30953c9057.0c5d2a681c677080.c34f179ed9699379
+    69102ed3e89ebea3.7bd6fab1f066f1c3.9b728b98b7359f05.ab12e36c26fabc99
+    ad85f6301190cf03.bdc4f7ac192e2dc6.817efc96aaaccb26.e209d1bd35a2e4bb
+    d263c8fe7b7d3782.9919cf8cac20820d.9a4efa4f10dab010.c681dcfd9fed458a
+    b1c6009702681bb3
+
+VPSLLW_0x05_256(reg)
+  before
+    012339f9fa9ea4e2.b47820294273b14b.6b217ebd46c72a43.c1ae00ad05ca0aee
+    10e6848e211b1ac2.2f8e7b9b847efa8a.8f2701ab82af6115.d46a8a9ea68994ed
+    3c59dcc3166cba00.1e7254415aa8ce6d.617952c2fc64652f.ae4d140d0f220b39
+    dfc93d02731cbf48.5ff02707e2ffe81e.3d616f6e5273703c.2b251ae55aa12bfd
+    27bc1914a613af65
+  after
+    f920a0406380e900.fe00e0e05fe003c0.ac20edc04e600780.64a05ca054207fa0
+    10e6848e211b1ac2.2f8e7b9b847efa8a.8f2701ab82af6115.d46a8a9ea68994ed
+    3c59dcc3166cba00.1e7254415aa8ce6d.617952c2fc64652f.ae4d140d0f220b39
+    dfc93d02731cbf48.5ff02707e2ffe81e.3d616f6e5273703c.2b251ae55aa12bfd
+    27bc1914a613af65
+VPSLLW_0x05_256(mem)
+  before
+    7ddf8c850d83549f.5682a3b8d4b76745.cdd370da388f06c9.7f2c531b1d67bfe9
+    0b5aef24abfed6d5.fed00a52d6caeca3.44e9aca47762e29b.8226fb36fbcd8ee1
+    acf9bfde9d8ef033.31ff6f3a14e08a10.9ffc5653bc8638c0.a49b6129882f18d1
+    3b88769dfe4160e6.4c5bcdde2b857f35.bcdaead22207c663.40d783625f1c9a65
+    b2255c4c1c1d5048
+  after
+    7ddf8c850d83549f.5682a3b8d4b76745.cdd370da388f06c9.7f2c531b1d67bfe9
+    0b5aef24abfed6d5.fed00a52d6caeca3.44e9aca47762e29b.8226fb36fbcd8ee1
+    acf9bfde9d8ef033.31ff6f3a14e08a10.9ffc5653bc8638c0.a49b6129882f18d1
+    3b88769dfe4160e6.4c5bcdde2b857f35.bcdaead22207c663.40d783625f1c9a65
+    b2255c4c1c1d5048
+
+VPADDW_256(reg)
+  before
+    55d2e8525cc07626.96d2924eeb23e01a.ac2f20a9b64605c1.764de40dc5ef46b1
+    872b24e2bb9047ad.98a58ede7f3e2cfa.abc8640652ae595e.a822c0efc24c75d6
+    a37a0a67d41a0087.1ccbe637d7a002b3.a67396639a49b7b9.3025fb67352a0efd
+    040c984d43e9dd60.001117470e551c71.f97ab12b2ba45a7d.e821105e3894cf53
+    aee47bc1ea967203
+  after
+    2aa52f498faa4834.b570751556de2fad.523bfa69ecf71117.d847bc56f77684d3
+    872b24e2bb9047ad.98a58ede7f3e2cfa.abc8640652ae595e.a822c0efc24c75d6
+    a37a0a67d41a0087.1ccbe637d7a002b3.a67396639a49b7b9.3025fb67352a0efd
+    040c984d43e9dd60.001117470e551c71.f97ab12b2ba45a7d.e821105e3894cf53
+    aee47bc1ea967203
+VPADDW_256(mem)
+  before
+    5c38b87c653cb33a.082cc900a58919e5.1e439bf94068375f.0029b1caa04a7f57
+    d0ea437cc5935023.0a289aed9586f1c2.542df0398ae50eaa.17ce92ad95c762f2
+    e4c699ab27a603eb.654a057eb06da1a2.7c9a91f308d85f7d.9ab4503ea7a83efb
+    769835f7a68289be.77e0082091ca6532.7358fb13d54ee405.e526e8ea7278511e
+    5471551e91c3d406
+  after
+    5c38b87c653cb33a.082cc900a58919e5.1e439bf94068375f.0029b1caa04a7f57
+    d0ea437cc5935023.0a289aed9586f1c2.542df0398ae50eaa.17ce92ad95c762f2
+    2d22fbf82acf035d.125463ed3b0f0ba7.72708c32cb4d4609.17f744773611e249
+    769835f7a68289be.77e0082091ca6532.7358fb13d54ee405.e526e8ea7278511e
+    5471551e91c3d406
+
+VPADDW_256(reg)
+  before
+    43e19344a0160660.602c934a5f319dc7.9a349e40d527781e.1631a8850d52596d
+    0ec29eca3cfc21d7.7f4d30926dc2fd33.2c93c34917121711.3ff21635cdf17ce2
+    1160731b00026318.afc986baec3e632e.874974a6f3167eb7.cb67c00f31360790
+    a8060da389b305ce.cd6a13aef9b38be3.08a1abc507c0e8be.975c2200532db7a2
+    7d9db9f252e24845
+  after
+    202211e53cfe84ef.2f16b74c5a006061.b3dc37ef0a2895c8.0b59d644ff278472
+    0ec29eca3cfc21d7.7f4d30926dc2fd33.2c93c34917121711.3ff21635cdf17ce2
+    1160731b00026318.afc986baec3e632e.874974a6f3167eb7.cb67c00f31360790
+    a8060da389b305ce.cd6a13aef9b38be3.08a1abc507c0e8be.975c2200532db7a2
+    7d9db9f252e24845
+VPADDW_256(mem)
+  before
+    5af5ffd3486275a4.2f0267ce739b46a7.b3fd525ab02c337e.0ce96611ec9b92d0
+    0a31728d51b8fbec.029e80085846604c.3e4ebfaa2cb6152d.ed6ba0f64033b899
+    691e8d0e8af19649.7d2751bdd741906c.4a29d78a8a5cee19.087455e09f1596c6
+    5486cc410e1801e6.fbe9d859891712b1.b35914e7e42a7a71.ba50823ba4cc6703
+    5d4b2274ebe468fb
+  after
+    5af5ffd3486275a4.2f0267ce739b46a7.b3fd525ab02c337e.0ce96611ec9b92d0
+    0a31728d51b8fbec.029e80085846604c.3e4ebfaa2cb6152d.ed6ba0f64033b899
+    652672609a1a7190.31a0e7d6cbe1a6f3.f24b1204dce248ab.fa5407072cce4b69
+    5486cc410e1801e6.fbe9d859891712b1.b35914e7e42a7a71.ba50823ba4cc6703
+    5d4b2274ebe468fb
+
+VPADDW_256(reg)
+  before
+    4eb131f511ead55b.a535ac12f939f9f0.da300f480d5521c7.56acf4ab592c745f
+    e9cdab2bb169e9ce.39f9a86d69613a92.7548f5f7fc86fa5b.0decf3c4036f990f
+    8aed8c8368ede101.ec9d3c3e779a80f9.277c83d0f436d919.b5e68b1cfefea5af
+    8d5bd168d203f9a0.9aece47241f38651.4e19b64191f1faac.2a6639a167e65368
+    48387a3e59326169
+  after
+    74ba37ae1a56cacf.2696e4abe0fbbb8b.9cc479c7f0bcd374.c3d27ee0026d3ebe
+    e9cdab2bb169e9ce.39f9a86d69613a92.7548f5f7fc86fa5b.0decf3c4036f990f
+    8aed8c8368ede101.ec9d3c3e779a80f9.277c83d0f436d919.b5e68b1cfefea5af
+    8d5bd168d203f9a0.9aece47241f38651.4e19b64191f1faac.2a6639a167e65368
+    48387a3e59326169
+VPADDW_256(mem)
+  before
+    eb28c9dff1ee88dc.4f64754589366d56.1fb31cf3e37509c5.456b8bb56e4498c1
+    ee01a2704a2787ed.2a5474882c1378d0.57bf61ae782ec582.67befd9728bbf004
+    2f9182dd81e819c9.7b77ca9c542457b9.1dd92e901c2a76b3.125e08555ae03e20
+    89a2e312b13df99c.9e1873eda0f846be.4fd0ff83ec73d785.a097a85aa041bdc2
+    6fb5da129769aa95
+  after
+    eb28c9dff1ee88dc.4f64754589366d56.1fb31cf3e37509c5.456b8bb56e4498c1
+    ee01a2704a2787ed.2a5474882c1378d0.57bf61ae782ec582.67befd9728bbf004
+    d9296c4f3c1510c9.79b8e9cdb549e626.77727ea15ba3cf47.ad29894c96ff88c5
+    89a2e312b13df99c.9e1873eda0f846be.4fd0ff83ec73d785.a097a85aa041bdc2
+    6fb5da129769aa95
+
+VPACKSSDW_256(reg)
+  before
+    d90399e9dae54146.d80143fbf733e392.ef856ce7a918818b.c86f50750417a524
+    3bcee14c0640be80.f87a1d846ed595d5.c908b0f60d1243cb.64819d517f229cbb
+    f262aea5b7065cf0.c4d8ee9a332fc994.8aee3b876871c92b.ffd46303799e7777
+    580bfd6287c45842.1ae93027614e3cf9.8d83090455c14f56.74321d770f99f383
+    a16847995c1fcc0c
+  after
+    7fff80007fff7fff.7fff7fff80007fff.80007fff7fff7fff.80007fff7fff7fff
+    3bcee14c0640be80.f87a1d846ed595d5.c908b0f60d1243cb.64819d517f229cbb
+    f262aea5b7065cf0.c4d8ee9a332fc994.8aee3b876871c92b.ffd46303799e7777
+    580bfd6287c45842.1ae93027614e3cf9.8d83090455c14f56.74321d770f99f383
+    a16847995c1fcc0c
+VPACKSSDW_256(mem)
+  before
+    61425d557d3abd3d.ca15c8ed1505ee21.d5776119143daa31.2e1317db718f10f9
+    908bdc978df88444.a5cc0db4fa55593a.d150fc5b6908ce67.c9ea6076576649c0
+    09113f4ca965db4a.437bc721d541d638.e93e7dd97cbc65c8.ba53e043a3d33656
+    aa9e025eec8c7e7e.016ff3a23f54a1c8.fb0e617f68642b80.5c9c93adf2611267
+    0d0f7520e09c1ba1
+  after
+    61425d557d3abd3d.ca15c8ed1505ee21.d5776119143daa31.2e1317db718f10f9
+    908bdc978df88444.a5cc0db4fa55593a.d150fc5b6908ce67.c9ea6076576649c0
+    7fff7fff80007fff.8000800080008000.80007fff7fff7fff.80007fff80007fff
+    aa9e025eec8c7e7e.016ff3a23f54a1c8.fb0e617f68642b80.5c9c93adf2611267
+    0d0f7520e09c1ba1
+
+VPACKSSDW_256(reg)
+  before
+    28f9830807118bae.4dffa1bb73792b09.3bf48ba2d61af696.e18c2239490ddcba
+    08a6b8d1064a9e3a.d001994e59389c1a.4d568d8d3620104d.79833ef33cc133a2
+    0b6210e777d692f2.0d6d6402bad68edb.94e1f4cffaf12c9a.9dc130995c8eed66
+    8b7887b6f63ea182.e21280c5b35ebc79.6ae1bcd4bf1a8628.2b107417c680c630
+    fd3d875a96a2792c
+  after
+    8000800080008000.7fff7fff80007fff.7fff80007fff8000.7fff7fff7fff7fff
+    08a6b8d1064a9e3a.d001994e59389c1a.4d568d8d3620104d.79833ef33cc133a2
+    0b6210e777d692f2.0d6d6402bad68edb.94e1f4cffaf12c9a.9dc130995c8eed66
+    8b7887b6f63ea182.e21280c5b35ebc79.6ae1bcd4bf1a8628.2b107417c680c630
+    fd3d875a96a2792c
+VPACKSSDW_256(mem)
+  before
+    f114e44ce600c387.e6361aaa20100895.29bb688260dce41f.2ca1e10920255aa4
+    e16107dbd5a6606d.76e6c43090d702d8.c0339925dc5dc0fa.366f60d8b9a0e3ba
+    aaf06cf17ca10c09.99d581b2e320cdf7.81478d9a43ec0c35.e49534af27175e15
+    298c8f7cf9fc8288.a94f4d9eb476a39d.49c4c2cdb29686fd.926059f806150662
+    9c1ccb21f126194c
+  after
+    f114e44ce600c387.e6361aaa20100895.29bb688260dce41f.2ca1e10920255aa4
+    e16107dbd5a6606d.76e6c43090d702d8.c0339925dc5dc0fa.366f60d8b9a0e3ba
+    8000800080007fff.800080007fff8000.7fff7fff7fff7fff.800080007fff8000
+    298c8f7cf9fc8288.a94f4d9eb476a39d.49c4c2cdb29686fd.926059f806150662
+    9c1ccb21f126194c
+
+VPACKSSDW_256(reg)
+  before
+    5e15879584d6d180.3803ed6768c47f15.04a0245f9f65c076.f574b3ab4566e87e
+    339688bf5cb26baa.b41f009ee404bfdd.04130360427a6230.5f23dc1e1768efe3
+    79edca0d14452275.79ad460d8ac8fd0c.07f6e50f3640c375.649fb91444a85759
+    8b6449ea491c338e.64793ba0751cf7cd.6793c6d7194320f1.e0b3c777e933db0c
+    af2a813521143827
+  after
+    80007fff7fff7fff.7fff7fff80008000.7fff7fff80008000.7fff7fff7fff7fff
+    339688bf5cb26baa.b41f009ee404bfdd.04130360427a6230.5f23dc1e1768efe3
+    79edca0d14452275.79ad460d8ac8fd0c.07f6e50f3640c375.649fb91444a85759
+    8b6449ea491c338e.64793ba0751cf7cd.6793c6d7194320f1.e0b3c777e933db0c
+    af2a813521143827
+VPACKSSDW_256(mem)
+  before
+    aed1633909582ad6.c54801c396c1daa0.4f4f5943c10d674d.8137a2248710b451
+    b774e96fbc0a6c46.83e5ef0298c35358.17fa1ee38ba609b7.b12f76631b32bd41
+    a7df90c35736bba3.20870e14eaabd962.9848056aeff49a38.54c43cfe7135756c
+    5aded321f5e9d319.fa795a662907aa69.ae038ac60802d7fc.c445f26226a6187f
+    5efd93fcd510e425
+  after
+    aed1633909582ad6.c54801c396c1daa0.4f4f5943c10d674d.8137a2248710b451
+    b774e96fbc0a6c46.83e5ef0298c35358.17fa1ee38ba609b7.b12f76631b32bd41
+    80007fff80008000.8000800080008000.7fff800080008000.7fff800080007fff
+    5aded321f5e9d319.fa795a662907aa69.ae038ac60802d7fc.c445f26226a6187f
+    5efd93fcd510e425
+
+VPUNPCKLDQ_256(reg)
+  before
+    7e371c361bff130b.ac3c2d75b22e70d3.6c09cf62f062ff19.35f829e1f2dc792e
+    8040877e9400e2dd.79c71dabab114dfd.d1816976db491720.09f35fa9ca8f3ffb
+    c064d23fda9e8d46.9d491caffc9f27c4.872e250c87472c28.06c0a709ab26e38e
+    9aeff8e48c664ff3.f48fa86ec0e2ba54.e85cfe9290e87bdd.082b7dedb2ad2214
+    ebff5d41fa31b8b9
+  after
+    9d491caf79c71dab.fc9f27c4ab114dfd.06c0a70909f35fa9.ab26e38eca8f3ffb
+    8040877e9400e2dd.79c71dabab114dfd.d1816976db491720.09f35fa9ca8f3ffb
+    c064d23fda9e8d46.9d491caffc9f27c4.872e250c87472c28.06c0a709ab26e38e
+    9aeff8e48c664ff3.f48fa86ec0e2ba54.e85cfe9290e87bdd.082b7dedb2ad2214
+    ebff5d41fa31b8b9
+VPUNPCKLDQ_256(mem)
+  before
+    8b0ac3f1a0bd60a8.6a2df5db43e2658f.5a653bd214e9c2d8.5257f07391b940ec
+    c4162ce9bf5dd70e.8c6ac68f9ea00bc7.aa9753c913bdfa7d.1f6bf81b2645b601
+    72f01315741ed916.5cf1666d362c7c47.c2f06c3ed96c1f6f.ade310f6ec181ac7
+    7064f462da0b21ed.360fd1dfa911f6ba.7d3e001d8302edd9.560d36707fbea8eb
+    783365f67ac49c19
+  after
+    8b0ac3f1a0bd60a8.6a2df5db43e2658f.5a653bd214e9c2d8.5257f07391b940ec
+    c4162ce9bf5dd70e.8c6ac68f9ea00bc7.aa9753c913bdfa7d.1f6bf81b2645b601
+    6a2df5db8c6ac68f.43e2658f9ea00bc7.5257f0731f6bf81b.91b940ec2645b601
+    7064f462da0b21ed.360fd1dfa911f6ba.7d3e001d8302edd9.560d36707fbea8eb
+    783365f67ac49c19
+
+VPUNPCKLDQ_256(reg)
+  before
+    6da299f279b631fc.9c3e4bba0d306dbf.7611035293dbb3cd.b74b8d512c891fe8
+    92a6cfd1191ea440.d149950b2a9a77b7.7841f8328f16ef2b.4ce48ec8f10f72c7
+    448b0100f58a3193.ea534c3f4d54fb02.98ebadec3a4fe881.17d57f6eeda0a2a3
+    dd9c2deaaa86139e.c526ee44916ab7cb.325d1ceb2f11d87b.f6eadc2d3d476aa8
+    c4ef22f2fc108801
+  after
+    ea534c3fd149950b.4d54fb022a9a77b7.17d57f6e4ce48ec8.eda0a2a3f10f72c7
+    92a6cfd1191ea440.d149950b2a9a77b7.7841f8328f16ef2b.4ce48ec8f10f72c7
+    448b0100f58a3193.ea534c3f4d54fb02.98ebadec3a4fe881.17d57f6eeda0a2a3
+    dd9c2deaaa86139e.c526ee44916ab7cb.325d1ceb2f11d87b.f6eadc2d3d476aa8
+    c4ef22f2fc108801
+VPUNPCKLDQ_256(mem)
+  before
+    5cafcca94707b6da.ba274efad39c8810.3d8ff70513e9653f.a1e2439a0ae9fcc4
+    9cf8563f3939b061.3776619e0d5aca93.2d5ae16eeddcc289.43c51e6768628f08
+    5e943c9eefb134c0.b1d66041f34c15d3.73532a6b3e4f89d6.7353a7bde408cef5
+    8050fab4847bfc23.8293494f21fca67e.e9454ce8204f7852.8cd8dc081b67f535
+    eca0b8b4a90c4074
+  after
+    5cafcca94707b6da.ba274efad39c8810.3d8ff70513e9653f.a1e2439a0ae9fcc4
+    9cf8563f3939b061.3776619e0d5aca93.2d5ae16eeddcc289.43c51e6768628f08
+    ba274efa3776619e.d39c88100d5aca93.a1e2439a43c51e67.0ae9fcc468628f08
+    8050fab4847bfc23.8293494f21fca67e.e9454ce8204f7852.8cd8dc081b67f535
+    eca0b8b4a90c4074
+
+VPUNPCKLDQ_256(reg)
+  before
+    eef7372d2983ea5f.dcf80d6c15a4c5b7.07f9173435f9ba3e.6dfec5d1afe74928
+    ed2955df375631a2.5058f0b2bd374aa8.9c54c65cc8cc8abf.d94811120823b885
+    47810f3770134ee8.b63b1f7298414921.9def5334780355ae.0bf0aa9846108395
+    564c5f9f6f4580de.ec6f1698c3cc7c4f.6617b826e12955b7.ddc20e4d86b96483
+    2d8ab81fe32b187b
+  after
+    b63b1f725058f0b2.98414921bd374aa8.0bf0aa98d9481112.461083950823b885
+    ed2955df375631a2.5058f0b2bd374aa8.9c54c65cc8cc8abf.d94811120823b885
+    47810f3770134ee8.b63b1f7298414921.9def5334780355ae.0bf0aa9846108395
+    564c5f9f6f4580de.ec6f1698c3cc7c4f.6617b826e12955b7.ddc20e4d86b96483
+    2d8ab81fe32b187b
+VPUNPCKLDQ_256(mem)
+  before
+    d51424f87a715aab.78d64385d1790130.ccbe52105ae79f5e.5319f39f9ecac785
+    b22bcec66697e83d.076bb653313a0e89.33f54ec6789b7079.c03fff0c4b73e7c4
+    a19d3374c4a97c5d.6157b5772b14e395.fee086a639f6a9cc.09d6d8d885aff022
+    7c34ceeeafb4d238.e0e63a5c5c94bb02.074b769dba030784.8a297b6ee70b1f49
+    9f86e33c0e11b0e5
+  after
+    d51424f87a715aab.78d64385d1790130.ccbe52105ae79f5e.5319f39f9ecac785
+    b22bcec66697e83d.076bb653313a0e89.33f54ec6789b7079.c03fff0c4b73e7c4
+    78d64385076bb653.d1790130313a0e89.5319f39fc03fff0c.9ecac7854b73e7c4
+    7c34ceeeafb4d238.e0e63a5c5c94bb02.074b769dba030784.8a297b6ee70b1f49
+    9f86e33c0e11b0e5
+
+VPCMPEQD_256(reg)
+  before
+    a4370cad9550dea4.20bd1b2043c3a8fa.e163436e6045d47a.2b029a9516cf46cd
+    f48af22d1951e72f.690496f69de3b8ce.c11ccb19d2b368a9.46d06f7c6a6421d3
+    edc9912836a20535.33d5bc5cd91fbfe1.da5bcfc94f6bb33c.3482703dd1d155c1
+    ea41e60b86ce7460.5bfb073f1283795e.896d49ea72f8f2df.d2e519c3681f9ec3
+    fac3e6fc4a5cb707
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    f48af22d1951e72f.690496f69de3b8ce.c11ccb19d2b368a9.46d06f7c6a6421d3
+    edc9912836a20535.33d5bc5cd91fbfe1.da5bcfc94f6bb33c.3482703dd1d155c1
+    ea41e60b86ce7460.5bfb073f1283795e.896d49ea72f8f2df.d2e519c3681f9ec3
+    fac3e6fc4a5cb707
+VPCMPEQD_256(mem)
+  before
+    89e954d394935db6.473dec40a762725c.bb44f589641ca172.2a9e37e8d7e6613d
+    5b22dd3461d14cff.5f0b9f3435e839d6.307a0128ecf5f449.1a3994301bc23c03
+    4c3cff0bce21400c.90f6fb54cbef067a.966aa806c61a2e0e.b38c5c2cd917bfdc
+    38013545f68ff409.3549fd0b060014f3.c9e064110c970aee.52e18b4aae712575
+    53861ef4365dab7a
+  after
+    89e954d394935db6.473dec40a762725c.bb44f589641ca172.2a9e37e8d7e6613d
+    5b22dd3461d14cff.5f0b9f3435e839d6.307a0128ecf5f449.1a3994301bc23c03
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    38013545f68ff409.3549fd0b060014f3.c9e064110c970aee.52e18b4aae712575
+    53861ef4365dab7a
+
+VPCMPEQD_256(reg)
+  before
+    12c510980b668c96.fb3efcccf5282524.a9519fc481a9a0ee.a5a8b334dd794614
+    ebeb5da1cc190676.71c0ce8de8f78f86.4a5adfedd875e617.068e105b53cc9bad
+    3a43017b120053c5.76502975eb08ee5e.72b0b8f1a8f12219.c85df7728a9ac8e5
+    5b1bf9927ca9b030.e5bd886f1968fdd6.7f9f273c8da890a0.c6e3e5659ff188e7
+    deea5420addd96e0
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    ebeb5da1cc190676.71c0ce8de8f78f86.4a5adfedd875e617.068e105b53cc9bad
+    3a43017b120053c5.76502975eb08ee5e.72b0b8f1a8f12219.c85df7728a9ac8e5
+    5b1bf9927ca9b030.e5bd886f1968fdd6.7f9f273c8da890a0.c6e3e5659ff188e7
+    deea5420addd96e0
+VPCMPEQD_256(mem)
+  before
+    eb3fc28fd068aefb.aabd3f52a3a05863.9cd268668e22791a.cb72263a22266b5a
+    c9aeaa9f26a08e65.8377d12725708809.765a434867421e57.b476b35703f8f0f1
+    5403883ac891f049.4293aa7d9ea57ccf.4f239700bfd5a7b9.94f8c9ffcda95a11
+    6709d94ed44591d5.435ec7c1a9cb7060.03f7df7ab3e6d16b.c842649f1bc5e667
+    ada181a18ad9d09f
+  after
+    eb3fc28fd068aefb.aabd3f52a3a05863.9cd268668e22791a.cb72263a22266b5a
+    c9aeaa9f26a08e65.8377d12725708809.765a434867421e57.b476b35703f8f0f1
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    6709d94ed44591d5.435ec7c1a9cb7060.03f7df7ab3e6d16b.c842649f1bc5e667
+    ada181a18ad9d09f
+
+VPCMPEQD_256(reg)
+  before
+    9d601a73b5705464.e08e18c566ca2d32.e224225de36f9f69.6da397a25f81589a
+    f5cd2d7f3916ae63.9a5cc18d992c7f8f.7a30b9bfe71c4695.6bf33b64ddb3f772
+    1233b533b1581947.7040509189754416.69d08752515fa192.d8b248ad4c876c1e
+    4eddaffabac1d2bd.400641bd53b338f3.0a4e8881bec3ec09.8fae3967c50971cb
+    6eb18a806646c2a4
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    f5cd2d7f3916ae63.9a5cc18d992c7f8f.7a30b9bfe71c4695.6bf33b64ddb3f772
+    1233b533b1581947.7040509189754416.69d08752515fa192.d8b248ad4c876c1e
+    4eddaffabac1d2bd.400641bd53b338f3.0a4e8881bec3ec09.8fae3967c50971cb
+    6eb18a806646c2a4
+VPCMPEQD_256(mem)
+  before
+    4f89b7e24b491dd6.06181540efdd1471.e47a11fd13f21753.b9f8b9bac9d462a9
+    10003c7b8f1e3c8c.9630e571ed391d0e.3a673b3de33d9c62.d11814680f1e401c
+    8be296354fd2dcf3.5a711af94f602741.1c9b3b69e2a0844b.b0fa97f72c2ec20e
+    9efd40fea670b837.ae26b044b2de6fb5.68e08d6d2a278b3b.b0ec3dd3ba8f232c
+    2f39036958cea022
+  after
+    4f89b7e24b491dd6.06181540efdd1471.e47a11fd13f21753.b9f8b9bac9d462a9
+    10003c7b8f1e3c8c.9630e571ed391d0e.3a673b3de33d9c62.d11814680f1e401c
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    9efd40fea670b837.ae26b044b2de6fb5.68e08d6d2a278b3b.b0ec3dd3ba8f232c
+    2f39036958cea022
+
+VPSHUFD_0x39_256(reg)
+  before
+    882ce323a076759b.231cb6c1b0058e83.ee9da4beb1403017.f803ae36d7df6c5d
+    1613db6e2e13de44.f80a746a8a9c1804.7620f0d4e811a713.aad018ae06d3e4df
+    3738e6b79e3216c9.f795f7e5504112e6.a2fc92f0f4de1054.581349c3d210afea
+    45e800698e5e5ad5.fd87ba1f1d003a54.ce7d85807031a787.e098bc6058a089ac
+    1c2aee70b3922d51
+  after
+    882ce323a076759b.231cb6c1b0058e83.ee9da4beb1403017.f803ae36d7df6c5d
+    1d003a5445e80069.8e5e5ad5fd87ba1f.58a089acce7d8580.7031a787e098bc60
+    3738e6b79e3216c9.f795f7e5504112e6.a2fc92f0f4de1054.581349c3d210afea
+    45e800698e5e5ad5.fd87ba1f1d003a54.ce7d85807031a787.e098bc6058a089ac
+    1c2aee70b3922d51
+VPSHUFD_0x39_256(mem)
+  before
+    e99759e1ffef5805.9d6e25ef9723e614.e7ad39020de64a7a.56efc6eff999a757
+    23a97b9e59c5c6f3.9c1852b7570ef534.8fd2f07b3dfeff86.969e4fa82b9f4d71
+    a72dcf93dd1f3247.9c31822c6aaac4de.d2c45b77c85515a2.ead61e19a1d1d581
+    4fefd1aca60a5a2f.fa04b1ba6b838fc1.8c4ef7e0cbf647fa.aee22eadf7ba7b32
+    3e0f7bd0cae67a31
+  after
+    e99759e1ffef5805.9d6e25ef9723e614.e7ad39020de64a7a.56efc6eff999a757
+    23a97b9e59c5c6f3.9c1852b7570ef534.8fd2f07b3dfeff86.969e4fa82b9f4d71
+    e99759e19723e614.9d6e25efffef5805.e7ad3902f999a757.56efc6ef0de64a7a
+    4fefd1aca60a5a2f.fa04b1ba6b838fc1.8c4ef7e0cbf647fa.aee22eadf7ba7b32
+    3e0f7bd0cae67a31
+
+VPSHUFD_0x39_256(reg)
+  before
+    f5a901eeb5e20f29.f8bbfed6d190f7d4.13dedbcdf7269287.993b3fa461ed52bb
+    31fcbd74553975c7.7e5cd1fb79c0c865.410bfdd1a81e08dd.d658afaea746f211
+    4d54aacc4578eab7.bda0c508baa3870c.e1d712331df72e6e.1d71c3eab80ee227
+    a5fdc463222aa8a4.915159eab147f2f5.4f8e155df03e40e7.4b52f844b150df2a
+    3cc7c8a8ad19a545
+  after
+    f5a901eeb5e20f29.f8bbfed6d190f7d4.13dedbcdf7269287.993b3fa461ed52bb
+    b147f2f5a5fdc463.222aa8a4915159ea.b150df2a4f8e155d.f03e40e74b52f844
+    4d54aacc4578eab7.bda0c508baa3870c.e1d712331df72e6e.1d71c3eab80ee227
+    a5fdc463222aa8a4.915159eab147f2f5.4f8e155df03e40e7.4b52f844b150df2a
+    3cc7c8a8ad19a545
+VPSHUFD_0x39_256(mem)
+  before
+    cc9bb102c974f0a5.944207a687dbec3a.d63c068b79b7c24e.e87b05bcbd7e79f3
+    d79c2e3e206d7b76.787170ff1018f127.682d4ad92f00b640.06ecdbbd2143173f
+    3994bc49ce1103e3.abd4f9dc5a6cf515.23f09fbfee2d88fa.062b95cbb71a5477
+    ce50d50df06b4419.8bb8a0a8016332b0.e3518329d34af5a6.44852d511c8e6c46
+    1c46a1bdeb2b9d59
+  after
+    cc9bb102c974f0a5.944207a687dbec3a.d63c068b79b7c24e.e87b05bcbd7e79f3
+    d79c2e3e206d7b76.787170ff1018f127.682d4ad92f00b640.06ecdbbd2143173f
+    cc9bb10287dbec3a.944207a6c974f0a5.d63c068bbd7e79f3.e87b05bc79b7c24e
+    ce50d50df06b4419.8bb8a0a8016332b0.e3518329d34af5a6.44852d511c8e6c46
+    1c46a1bdeb2b9d59
+
+VPSHUFD_0x39_256(reg)
+  before
+    eabaed7ac17e215b.729cf778a287fa43.726960cfa089e4a5.841b7103f964b970
+    0a2c0bf4391234f9.01449d74ff72e08e.be3236bdd36b49a0.e21ce6397d868f86
+    d8eaf997f07414df.561343ef2337b325.c9611cde37959b4c.d91e5db77abc3411
+    b03eb2cf812ffbb8.4fd766d42be22f36.f140109e68911756.45ee51690d136440
+    0158413c5196da3d
+  after
+    eabaed7ac17e215b.729cf778a287fa43.726960cfa089e4a5.841b7103f964b970
+    2be22f36b03eb2cf.812ffbb84fd766d4.0d136440f140109e.6891175645ee5169
+    d8eaf997f07414df.561343ef2337b325.c9611cde37959b4c.d91e5db77abc3411
+    b03eb2cf812ffbb8.4fd766d42be22f36.f140109e68911756.45ee51690d136440
+    0158413c5196da3d
+VPSHUFD_0x39_256(mem)
+  before
+    eb28a61a63515434.ee75320989cf2631.c75a810f33800fea.901c0d6900edf86a
+    de29fdf15e518c52.eedb75afa3e0d1f5.9a69108c551c1070.04420fac9e347c33
+    b629c3ab5ea13ec3.0bbc782f6bef37b1.a3d08f37b0c2eef2.a7fb13d1dcf3dd5d
+    4ef27336804d28b2.a36436f37e879510.c05b7afc5d7f649c.d696144656b55795
+    ee5e0d75a9062887
+  after
+    eb28a61a63515434.ee75320989cf2631.c75a810f33800fea.901c0d6900edf86a
+    de29fdf15e518c52.eedb75afa3e0d1f5.9a69108c551c1070.04420fac9e347c33
+    eb28a61a89cf2631.ee75320963515434.c75a810f00edf86a.901c0d6933800fea
+    4ef27336804d28b2.a36436f37e879510.c05b7afc5d7f649c.d696144656b55795
+    ee5e0d75a9062887
+
+VPADDQ_256(reg)
+  before
+    499efdcc70738adf.8451897de062044c.111eab69783527c0.ccd64ec77b5e309b
+    44a4ddb64887ba48.3212826c99eb8fbd.b138d3fcf484296a.a20c8585236b0c1b
+    3bbaaa9fcccff46e.3601d8efc7f58430.defcaa188e00d6bd.20cb9d2074b3b447
+    8a2d61f398d573ff.6be909f2878aa1d2.f6b72d29e3356b63.20dd12868741e64c
+    800f5ea17a225c56
+  after
+    805f88561557aeb6.68145b5c61e113ed.90357e1582850027.c2d822a5981ec062
+    44a4ddb64887ba48.3212826c99eb8fbd.b138d3fcf484296a.a20c8585236b0c1b
+    3bbaaa9fcccff46e.3601d8efc7f58430.defcaa188e00d6bd.20cb9d2074b3b447
+    8a2d61f398d573ff.6be909f2878aa1d2.f6b72d29e3356b63.20dd12868741e64c
+    800f5ea17a225c56
+VPADDQ_256(mem)
+  before
+    1a2dff5f6960d390.8d49fd1e492774a4.ac989061f4b8a0ce.54b5579b8fb02408
+    cc0370ab6f090626.a1597a8c7b51330c.d7d8e9282b8b3d51.534124da2cfc3c59
+    705c2d71a929b346.20abd5a9c9ddebe1.c6769134480e3686.51a9905259a6f002
+    e406b29d31cb9419.678908e2d05ad9cf.563e036f654d459a.a838986faf397cae
+    b639379ecd411b0a
+  after
+    1a2dff5f6960d390.8d49fd1e492774a4.ac989061f4b8a0ce.54b5579b8fb02408
+    cc0370ab6f090626.a1597a8c7b51330c.d7d8e9282b8b3d51.534124da2cfc3c59
+    e631700ad869d9b6.2ea377aac478a7b0.8471798a2043de1f.a7f67c75bcac6061
+    e406b29d31cb9419.678908e2d05ad9cf.563e036f654d459a.a838986faf397cae
+    b639379ecd411b0a
+
+VPADDQ_256(reg)
+  before
+    d5f968494c4b0bc2.02cb7c1b26fb65ce.d24011a12a513984.64fcbbc7a15427b9
+    63c42adecbe28681.a77805d7a2c5e48f.bd1ceb54765047a9.ca7c35271530970e
+    bae676c8e392c9f3.b0d9cbbec136cb89.846993654ee23eed.6589ed7adfec53c6
+    38aa4a7232e80fc6.f7ba4abaa059d7e7.827303424e935cfa.12f160ae1b95150c
+    ab7e09aee436990d
+  after
+    1eaaa1a7af755074.5851d19663fcb018.41867eb9c5328696.300622a1f51cead4
+    63c42adecbe28681.a77805d7a2c5e48f.bd1ceb54765047a9.ca7c35271530970e
+    bae676c8e392c9f3.b0d9cbbec136cb89.846993654ee23eed.6589ed7adfec53c6
+    38aa4a7232e80fc6.f7ba4abaa059d7e7.827303424e935cfa.12f160ae1b95150c
+    ab7e09aee436990d
+VPADDQ_256(mem)
+  before
+    0dfd646657db9df5.375ea14a546f95a3.59e7fcb85a3bc4d6.1585395613f0da7c
+    143aedc28f90dbef.144c77bbe4b39739.b22b5fa50ce74d81.98ed300d3884f720
+    9d0120afa8621028.2cc1c8317e415132.df53ee6cd2692f15.67f5e4d35adced92
+    821d7a17bf5cf8cc.d9099019bfa4fe3b.ba2c25f9c6cd26be.deea52141483f97e
+    5818743c0305578e
+  after
+    0dfd646657db9df5.375ea14a546f95a3.59e7fcb85a3bc4d6.1585395613f0da7c
+    143aedc28f90dbef.144c77bbe4b39739.b22b5fa50ce74d81.98ed300d3884f720
+    22385228e76c79e4.4bab190639232cdc.0c135c5d67231257.ae7269634c75d19c
+    821d7a17bf5cf8cc.d9099019bfa4fe3b.ba2c25f9c6cd26be.deea52141483f97e
+    5818743c0305578e
+
+VPADDQ_256(reg)
+  before
+    33cb48b8c2ee4271.a05c76e7f08b4e06.7870ccdd4368dbff.208080370720eda7
+    ca4fc9f2eecbf7d1.d388900c56facf02.654277eaa51a242b.ed1c7b14ae6e41fd
+    79eff3582227b25b.f76e44710db537ed.fcca8dad8145146a.fdcb937bd9c1deeb
+    9bf8c354fb8fafba.e8da0f0132c941f3.9a560b907475e869.2c5b4359a427809e
+    569607982aabe242
+  after
+    443fbd4b10f3aa2c.caf6d47d64b006ef.620d0598265f3895.eae80e90883020e8
+    ca4fc9f2eecbf7d1.d388900c56facf02.654277eaa51a242b.ed1c7b14ae6e41fd
+    79eff3582227b25b.f76e44710db537ed.fcca8dad8145146a.fdcb937bd9c1deeb
+    9bf8c354fb8fafba.e8da0f0132c941f3.9a560b907475e869.2c5b4359a427809e
+    569607982aabe242
+VPADDQ_256(mem)
+  before
+    574a5c25885ac102.8eb73354148e299b.82986caae041ab40.9930eb011937dcd4
+    0b41bcedd93fd90b.ac7641c309b05daa.a174d75734292eff.56a52b6b0d162c56
+    4e48a5da3966e688.5381e90d77828792.2139ccf4498e895c.2d01c639eb9e139c
+    fc2a92dac5dca3a6.dd26259efa8fe2ff.deb5c76d3c7b7684.7a90b8d9505cce51
+    999efeb6d7db9922
+  after
+    574a5c25885ac102.8eb73354148e299b.82986caae041ab40.9930eb011937dcd4
+    0b41bcedd93fd90b.ac7641c309b05daa.a174d75734292eff.56a52b6b0d162c56
+    628c1913619a9a0d.3b2d75171e3e8745.240d4402146ada3f.efd6166c264e092a
+    fc2a92dac5dca3a6.dd26259efa8fe2ff.deb5c76d3c7b7684.7a90b8d9505cce51
+    999efeb6d7db9922
+
+VPSUBQ_256(reg)
+  before
+    e676923d1da8b0bb.f0b5ffd898accd91.a8b0f2e22d63ab9f.b3b245ae28fcb3a3
+    bd6572d8bd4d4ec7.08b369bfcfe22074.0e6a4d45ac8b1e1c.7efdc1a32a1df9e4
+    7ab79af45459b0f3.1ff24b7d868b577c.6da1313314927722.1a62b7395deb0774
+    78b804fd7d5511ea.113c20fdd8b22fd4.1fa19b180004f15e.63ada35add72977f
+    34a902f4c8bd6630
+  after
+    42add7e468f39dd4.e8c11e424956c8f8.a0c91c1297f8a6fa.649b0a69cc32f270
+    bd6572d8bd4d4ec7.08b369bfcfe22074.0e6a4d45ac8b1e1c.7efdc1a32a1df9e4
+    7ab79af45459b0f3.1ff24b7d868b577c.6da1313314927722.1a62b7395deb0774
+    78b804fd7d5511ea.113c20fdd8b22fd4.1fa19b180004f15e.63ada35add72977f
+    34a902f4c8bd6630
+VPSUBQ_256(mem)
+  before
+    6b244ef137d830b4.15b4ad60d4cfaf59.b95e672be16364a9.81b685610d6ec97c
+    e3e8053f48cfb036.acf79288f652c4eb.f52499f4beabb126.f02ced78d65b3b27
+    77c2a3c917afa3e3.99ccaee07f6b8d4e.a05934428a95d478.c64fcecbf857820c
+    057ea27bbe83c5e6.3781fdd60aa4452b.95cbb202622d87cb.606a24c50eefdbd6
+    1acaebd2b5ae8232
+  after
+    6b244ef137d830b4.15b4ad60d4cfaf59.b95e672be16364a9.81b685610d6ec97c
+    e3e8053f48cfb036.acf79288f652c4eb.f52499f4beabb126.f02ced78d65b3b27
+    78c3b64e10f77f82.9742e52821831592.3bc632c8dd484c7d.6e766817c8ec71ab
+    057ea27bbe83c5e6.3781fdd60aa4452b.95cbb202622d87cb.606a24c50eefdbd6
+    1acaebd2b5ae8232
+
+VPSUBQ_256(reg)
+  before
+    51bb205d8820b3cc.68e880415c57d26d.e4607cd5338c2a31.b24491216180864a
+    5f89bdd524d2a94f.7bcbb7070b3885a1.fbb6264997ac760a.d1924d89a3998f22
+    a180c0a3244fa168.1cf5c6b9e7319bb1.d7cff69ed2926562.d07f602846855c7f
+    73ec25342423d7c2.253026440d4ed0c6.d6f7eb407ec935e6.89d848e9634eaa8c
+    da6880b718033476
+  after
+    be08fd32008307e7.5ed5f04d2406e9f0.23e62faac51a10a8.0112ed615d1432a3
+    5f89bdd524d2a94f.7bcbb7070b3885a1.fbb6264997ac760a.d1924d89a3998f22
+    a180c0a3244fa168.1cf5c6b9e7319bb1.d7cff69ed2926562.d07f602846855c7f
+    73ec25342423d7c2.253026440d4ed0c6.d6f7eb407ec935e6.89d848e9634eaa8c
+    da6880b718033476
+VPSUBQ_256(mem)
+  before
+    9dfd848081adb868.3118e6f4c1db870a.74495492989cdf0f.5379fe9b3ade2042
+    b061d02fb95af08f.3752014f9702ecec.e30ccd90a52685b6.a9a32c1c9f5c6321
+    ed62e1b1dc159816.e1e470b241244313.4f450c2b4ff97ee8.36bf722d4ccf3930
+    31ca31f007ea6e2a.8b1b32885bcec72c.95c08d4eb32086d0.541acb3cdac4e01b
+    610033b3e7c6928d
+  after
+    9dfd848081adb868.3118e6f4c1db870a.74495492989cdf0f.5379fe9b3ade2042
+    b061d02fb95af08f.3752014f9702ecec.e30ccd90a52685b6.a9a32c1c9f5c6321
+    12644baf37ad3827.06391a5ad52765e2.6ec378fe0c89a6a7.56292d81647e42df
+    31ca31f007ea6e2a.8b1b32885bcec72c.95c08d4eb32086d0.541acb3cdac4e01b
+    610033b3e7c6928d
+
+VPSUBQ_256(reg)
+  before
+    b7bda7000f618b32.59663ed955e62cf7.9143403c828bb6e2.8f48cde4eca7589b
+    b39d218eed2209b8.3f018359e3148fa8.4fa8973c52e84ae2.1aab46db179ab174
+    b2eb9fc91e9346c8.c0697d5acd81536a.219534f36570c0d8.12b3761e4f064d88
+    0ef41c1d3d437f11.b869a7ca2d383368.625812cd5aaf536f.542dd899b0f6e703
+    bae5e83857773d10
+  after
+    00b181c5ce8ec2f0.7e9805ff15933c3e.2e136248ed778a0a.07f7d0bcc89463ec
+    b39d218eed2209b8.3f018359e3148fa8.4fa8973c52e84ae2.1aab46db179ab174
+    b2eb9fc91e9346c8.c0697d5acd81536a.219534f36570c0d8.12b3761e4f064d88
+    0ef41c1d3d437f11.b869a7ca2d383368.625812cd5aaf536f.542dd899b0f6e703
+    bae5e83857773d10
+VPSUBQ_256(mem)
+  before
+    21a723e8609408dc.240595f6e6bbef3d.04cc7c932245eccf.703b2d36cb314054
+    653e0393e6590792.516804c0b68ad4f9.7e5f7aa3c5b53acb.a68b829a5483c332
+    6278062605d3f45f.ef6967e7493968f0.03ee1de53592d887.60940b65923018b6
+    f41fa78eda0c8d6f.5b56b9d83a56e7cf.6f45df458beb8330.f9a2c60320c57a8b
+    cf00aee19acd265f
+  after
+    21a723e8609408dc.240595f6e6bbef3d.04cc7c932245eccf.703b2d36cb314054
+    653e0393e6590792.516804c0b68ad4f9.7e5f7aa3c5b53acb.a68b829a5483c332
+    4396dfab85c4feb6.2d626ec9cfcee5bc.7992fe10a36f4dfc.36505563895282de
+    f41fa78eda0c8d6f.5b56b9d83a56e7cf.6f45df458beb8330.f9a2c60320c57a8b
+    cf00aee19acd265f
+
+VPSUBW_256(reg)
+  before
+    3dfcbf699dd458db.f70063b681138bed.f17af6fd256c8f41.9e303eafe6c9f7f1
+    9ee0f609c5664cae.47e7b48914f1ad06.0d201ac4a7079af3.6c7ab50f5f3af0f7
+    50f94e2cad103d82.c0a018f5b2b4ade5.0b9522975bb44591.b5f1c051144a296e
+    ae93c33ef25e6803.3ef70ae5756848b7.482509e4defeccc6.555fdb6221035f81
+    2891832ca1734e5d
+  after
+    4de7a7dd18560f2c.87479b94623dff21.018bf82d4b535562.b689f4be4af0c789
+    9ee0f609c5664cae.47e7b48914f1ad06.0d201ac4a7079af3.6c7ab50f5f3af0f7
+    50f94e2cad103d82.c0a018f5b2b4ade5.0b9522975bb44591.b5f1c051144a296e
+    ae93c33ef25e6803.3ef70ae5756848b7.482509e4defeccc6.555fdb6221035f81
+    2891832ca1734e5d
+VPSUBW_256(mem)
+  before
+    0a53339db0a5b22d.13fa51aa2fda09de.9db7064579173aa8.1e1ccb16cb716a3f
+    d771679f6ba6461e.dd7af4de00125bbf.b9ae8901dbcf3ee3.eac66499bf9a5ca7
+    6ab69b20ee81c75c.665ea94502919b51.6ea60d05b69b1195.086fd0d95504deab
+    a1f04c0b5442f112.0bf46a4cd0e40541.986c103e26886fe9.d4620c422a3c2bf7
+    a9ed1340d9cc8136
+  after
+    0a53339db0a5b22d.13fa51aa2fda09de.9db7064579173aa8.1e1ccb16cb716a3f
+    d771679f6ba6461e.dd7af4de00125bbf.b9ae8901dbcf3ee3.eac66499bf9a5ca7
+    cd1e3402bb0193f1.c980a334d03851e1.1bf782bc62b8043b.ccaa9983f429f268
+    a1f04c0b5442f112.0bf46a4cd0e40541.986c103e26886fe9.d4620c422a3c2bf7
+    a9ed1340d9cc8136
+
+VPSUBW_256(reg)
+  before
+    e55ae13fff421a15.57e9f44cb9f67f6d.2986355d0796d53a.13cc0d9649a1130c
+    e3f672ac372a323f.686e11cf3aa82e98.1a6106e5433346ea.ba9281fa38f2bb2a
+    ff0dc3f11d0f0761.af4b1e80f264bac0.3cd1d7511e4895fa.6b89e6571188216e
+    95eacf7c4e7dd326.0a4c984bfe37de11.e922a60b3760fe18.017fba98f06e0104
+    573e78a8f0b1191a
+  after
+    e4e9aebb1a1b2ade.b923f34f484473d8.dd902f9424ebb0f0.4f099ba3276a99bc
+    e3f672ac372a323f.686e11cf3aa82e98.1a6106e5433346ea.ba9281fa38f2bb2a
+    ff0dc3f11d0f0761.af4b1e80f264bac0.3cd1d7511e4895fa.6b89e6571188216e
+    95eacf7c4e7dd326.0a4c984bfe37de11.e922a60b3760fe18.017fba98f06e0104
+    573e78a8f0b1191a
+VPSUBW_256(mem)
+  before
+    4b939c752d5b23da.01db92b86600d33c.543df91c792c58b6.7e9f6e812807bcf0
+    b84aa2eac47adc70.9e2a08100025424c.68e9bfe08050e2db.57962b1e8dca0d2e
+    792f07f3d11aff09.ca242ef2b8785d05.241e65812ead38ae.d151d94d02342a7d
+    6c0d467c6e464ad1.e015fec92b836011.63a667eda0511859.461d757c25d15289
+    1346f9168f2ebf00
+  after
+    4b939c752d5b23da.01db92b86600d33c.543df91c792c58b6.7e9f6e812807bcf0
+    b84aa2eac47adc70.9e2a08100025424c.68e9bfe08050e2db.57962b1e8dca0d2e
+    6cb70675971fb896.9c4f75589a256f10.14acc6c407248a25.d8f7bc9d65c3503e
+    6c0d467c6e464ad1.e015fec92b836011.63a667eda0511859.461d757c25d15289
+    1346f9168f2ebf00
+
+VPSUBW_256(reg)
+  before
+    94186387ded6ae8b.6bb2db71ba0a77f3.3b497601f4d4871c.004e420ef1483c08
+    25dfaf3cae565bd9.54e842bfcf72429c.390c9106b0f60dd3.d9e271d23d9d61e8
+    22e6d79f9a380294.017cf850c98b69f8.34aa4b45fb7630e2.c82e6f24a15c4225
+    e77bd91d3e0ade68.4f3a7712c560a632.8a6ea1286fdf29f4.aafdbbf039919dea
+    5c1dce2220492c64
+  after
+    02f9d79d141e5945.536c4a6f05e7d8a4.046245c1b580dcf1.11b402ae9c411fc3
+    25dfaf3cae565bd9.54e842bfcf72429c.390c9106b0f60dd3.d9e271d23d9d61e8
+    22e6d79f9a380294.017cf850c98b69f8.34aa4b45fb7630e2.c82e6f24a15c4225
+    e77bd91d3e0ade68.4f3a7712c560a632.8a6ea1286fdf29f4.aafdbbf039919dea
+    5c1dce2220492c64
+VPSUBW_256(mem)
+  before
+    b85825a6728fabbe.d0e8b02337582c03.1bee3defdefdb676.96a58e1cabbd37b6
+    9b7b3d684c70d825.397a581b21ad280e.3f64c5d5316f54f2.b39b0e8e489d94d3
+    e2529155caf66dc5.7e7dcd7397950d38.99678cafd9c13ecf.3e9c1de9e4097df9
+    67a99d57073027c9.fb3c0b96359c182b.03c50c68f2002e3c.94f4b7981b902ed1
+    0fefd90988bbe20a
+  after
+    b85825a6728fabbe.d0e8b02337582c03.1bee3defdefdb676.96a58e1cabbd37b6
+    9b7b3d684c70d825.397a581b21ad280e.3f64c5d5316f54f2.b39b0e8e489d94d3
+    e32317c2d9e12c67.6892a7f8ea55fc0b.237687e652729e7c.1cf680729ce05d1d
+    67a99d57073027c9.fb3c0b96359c182b.03c50c68f2002e3c.94f4b7981b902ed1
+    0fefd90988bbe20a
+
+VPCMPEQQ_256(reg)
+  before
+    0dd87ea7c818d74d.074cde5c1f27c25e.0c050ff0984f8593.5a48c3ee9937e063
+    e8fda2de76334649.9e06ce4e2fe9f9b0.0d22d4ed5b398f1d.7abd2c2cea721271
+    fda8411a2e966ea8.09a5eb1b528189ea.5ae156f91be77475.3ff0c40f00be7e91
+    a82658c78dcf8917.22f3b0aea5fc2e38.4e8c928073e36e46.86ad0581f825e1f0
+    29bf6d6fedb6f7b9
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e8fda2de76334649.9e06ce4e2fe9f9b0.0d22d4ed5b398f1d.7abd2c2cea721271
+    fda8411a2e966ea8.09a5eb1b528189ea.5ae156f91be77475.3ff0c40f00be7e91
+    a82658c78dcf8917.22f3b0aea5fc2e38.4e8c928073e36e46.86ad0581f825e1f0
+    29bf6d6fedb6f7b9
+VPCMPEQQ_256(mem)
+  before
+    05f477c6fb7a7b19.46c3e1522f6ad441.c6bd9af34365a3c7.477082ee00bcb93d
+    f6169f703f7f2a3c.31cada25aff18bd3.d1cf23d649c8a5c3.a0d924af5dfb9306
+    d8f2615bd4d0c04d.c6893eada9f3ea78.1ff4c943d231f058.b4127330272e364c
+    87543a71d77af879.614a0a57baf92cdd.8cfa0726faad40b1.e1696cdbf9e0dfbc
+    8228091e709ec901
+  after
+    05f477c6fb7a7b19.46c3e1522f6ad441.c6bd9af34365a3c7.477082ee00bcb93d
+    f6169f703f7f2a3c.31cada25aff18bd3.d1cf23d649c8a5c3.a0d924af5dfb9306
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    87543a71d77af879.614a0a57baf92cdd.8cfa0726faad40b1.e1696cdbf9e0dfbc
+    8228091e709ec901
+
+VPCMPEQQ_256(reg)
+  before
+    f29c486427f331c8.df08a4a0638890eb.5e5b388e7d918eae.f4ab596bde4850fa
+    8f112418ba6b53bd.bcda1dd3950641d0.1906c6bd8f464b96.33d53bfe9a0cdd60
+    b3d399a8c6936b8b.fa9521f68901ca54.ee98af528ba4a142.25422acc4907a30f
+    bc2ea37fe7f6b5de.75072af55984e5a2.395cf0b80e38ca5d.a6bfa1bf07455e33
+    92171cc5f1d0c9f6
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    8f112418ba6b53bd.bcda1dd3950641d0.1906c6bd8f464b96.33d53bfe9a0cdd60
+    b3d399a8c6936b8b.fa9521f68901ca54.ee98af528ba4a142.25422acc4907a30f
+    bc2ea37fe7f6b5de.75072af55984e5a2.395cf0b80e38ca5d.a6bfa1bf07455e33
+    92171cc5f1d0c9f6
+VPCMPEQQ_256(mem)
+  before
+    c51817c923b6a187.046d3f09b7206c64.08fab6bc239b50e6.56a0835bb38d0394
+    1a8c0fb7b802a210.e9de68b2d59dcdc6.913b40380353c44e.a1af66a7172f8793
+    6f417e7accc187be.c5cb1ae7dbfa13b3.eb96445314b70004.76d49408d5ab9305
+    9f01e2007cfe0dbc.f681511265c37bd5.f2d73efa73d3be34.315c09eb8a8c6396
+    2e93c1bad15f33f4
+  after
+    c51817c923b6a187.046d3f09b7206c64.08fab6bc239b50e6.56a0835bb38d0394
+    1a8c0fb7b802a210.e9de68b2d59dcdc6.913b40380353c44e.a1af66a7172f8793
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    9f01e2007cfe0dbc.f681511265c37bd5.f2d73efa73d3be34.315c09eb8a8c6396
+    2e93c1bad15f33f4
+
+VPCMPEQQ_256(reg)
+  before
+    c9c5b9e346af3ec9.8699b635e3c6f037.d64c09a1108241d9.82c9aa1a3bb4bb0b
+    5e3eebd08608c1c1.ffd577031e23eb5b.c2783ffe77c5a16a.763a059e8865b3b5
+    484955ef2df6f889.e8809f574823bc53.1650ee973718d735.acf4ca7177f2615d
+    e533f3abd6061fcd.1b68ac1d7ed21d4c.2f2212d6eb051ee5.ffc4758124688230
+    4a7683b9aad2d25a
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    5e3eebd08608c1c1.ffd577031e23eb5b.c2783ffe77c5a16a.763a059e8865b3b5
+    484955ef2df6f889.e8809f574823bc53.1650ee973718d735.acf4ca7177f2615d
+    e533f3abd6061fcd.1b68ac1d7ed21d4c.2f2212d6eb051ee5.ffc4758124688230
+    4a7683b9aad2d25a
+VPCMPEQQ_256(mem)
+  before
+    6bd66e05253c0d06.9049bf701dc37139.76571942db3aca71.6738a729301ab327
+    3cafb451b2b3ee61.a4d5b7aa9fba2b77.d41b62b07c6a81ef.1bdfaafba1e3d1a7
+    9bcfd0896c423296.7f24d6c5f7768936.107e04557c6bfcf1.a76316b8dbeab610
+    62003f9a70f695d2.7c81182dc283c620.084d791cf74bf8a4.6710e7cc79be9c0f
+    b73119a317e8c04f
+  after
+    6bd66e05253c0d06.9049bf701dc37139.76571942db3aca71.6738a729301ab327
+    3cafb451b2b3ee61.a4d5b7aa9fba2b77.d41b62b07c6a81ef.1bdfaafba1e3d1a7
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    62003f9a70f695d2.7c81182dc283c620.084d791cf74bf8a4.6710e7cc79be9c0f
+    b73119a317e8c04f
+
+VPCMPGTQ_256(reg)
+  before
+    f414a8aa52f65d7d.6f0f7b6edadad240.f63a794e9b6e1fe2.96533ff10b153034
+    7803914bc673b045.9cc802f3c4faa60d.4b99f6941fc2d027.975ed1c0d1d562cc
+    a04ccff40eebf552.c6f74f134d62cd65.d5ec896ce90b159c.e838ac7567984899
+    c8395e0fc6eb6851.ca68debc8e1f0373.f27d304096d529ec.63af4afce8699ec7
+    e68d294171552281
+  after
+    ffffffffffffffff.0000000000000000.ffffffffffffffff.0000000000000000
+    7803914bc673b045.9cc802f3c4faa60d.4b99f6941fc2d027.975ed1c0d1d562cc
+    a04ccff40eebf552.c6f74f134d62cd65.d5ec896ce90b159c.e838ac7567984899
+    c8395e0fc6eb6851.ca68debc8e1f0373.f27d304096d529ec.63af4afce8699ec7
+    e68d294171552281
+VPCMPGTQ_256(mem)
+  before
+    4b9fc4301e678ef3.4b163a0a8bfe44ed.82e72bd9a53c0364.fc99e77ec1ad49c5
+    6fb197b60aab9f4b.87316050f8b1c6d3.cb3fb356aec68a64.518ba891071fb1d0
+    2e8e1fbd512d11b2.d7d5ca4caa8e2aaf.823df11ec4c7549e.4ba171e403b59cbb
+    6504d63310fa9f57.974d766c3d24ac2c.81ad6120044e1c3e.47263ce552fd4732
+    a26507ff8f83eee1
+  after
+    4b9fc4301e678ef3.4b163a0a8bfe44ed.82e72bd9a53c0364.fc99e77ec1ad49c5
+    6fb197b60aab9f4b.87316050f8b1c6d3.cb3fb356aec68a64.518ba891071fb1d0
+    ffffffffffffffff.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    6504d63310fa9f57.974d766c3d24ac2c.81ad6120044e1c3e.47263ce552fd4732
+    a26507ff8f83eee1
+
+VPCMPGTQ_256(reg)
+  before
+    b6abce9e56d1cd73.eedd3a03621d0664.23e65f1b4bfc87f7.a55b7f458964a071
+    e0448b2f44751f94.a6e6c61864a30205.d7ed82c673a4f8bb.ca13c77a6f179963
+    7c7c3c1cf5fb21f2.69ebf66031974e68.0eabd9d74ea73a25.cca1b6abd372c640
+    e79fdcd204ed0f37.13b847c6e605a7b6.266f62bb7b928be0.87d0c7c5d182e133
+    d76d76b28452a768
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e0448b2f44751f94.a6e6c61864a30205.d7ed82c673a4f8bb.ca13c77a6f179963
+    7c7c3c1cf5fb21f2.69ebf66031974e68.0eabd9d74ea73a25.cca1b6abd372c640
+    e79fdcd204ed0f37.13b847c6e605a7b6.266f62bb7b928be0.87d0c7c5d182e133
+    d76d76b28452a768
+VPCMPGTQ_256(mem)
+  before
+    98443f6008eed40d.7bf867be0dd9240f.801934369efac91e.7a8418df93ef259a
+    a6219fb97a63244b.95d5d94aad4b9e27.8cd9399c758170ca.6535f8ad344d45fc
+    ddd011abf5bc5251.91802fe47fceb72b.13c6d2e589a657e6.45d0fc93fa3526b5
+    191d112196051b49.cb4664f720eeabc6.f1aa7bfbf3753ba0.759f22fb8035066e
+    50ef655363d81fd6
+  after
+    98443f6008eed40d.7bf867be0dd9240f.801934369efac91e.7a8418df93ef259a
+    a6219fb97a63244b.95d5d94aad4b9e27.8cd9399c758170ca.6535f8ad344d45fc
+    ffffffffffffffff.0000000000000000.ffffffffffffffff.0000000000000000
+    191d112196051b49.cb4664f720eeabc6.f1aa7bfbf3753ba0.759f22fb8035066e
+    50ef655363d81fd6
+
+VPCMPGTQ_256(reg)
+  before
+    340cc1063eabad97.36d31b07784a3b5f.9f7374ee2b37b8a5.0252b1cbd1fbd821
+    7b413280ad39ee5e.10c0ab49b8986dc0.69535b373d361873.228aef423f44ea98
+    83dcb52d4d0e1cd6.83ae3ed371fb6e98.8531163df17607dd.2d1eb14b585a2c2f
+    a6274579b9b774ac.6b6a4f92c07dfa12.4f5b9f6de483c38f.ffda73d1384b5b12
+    7389b1c2fc23336e
+  after
+    ffffffffffffffff.ffffffffffffffff.ffffffffffffffff.0000000000000000
+    7b413280ad39ee5e.10c0ab49b8986dc0.69535b373d361873.228aef423f44ea98
+    83dcb52d4d0e1cd6.83ae3ed371fb6e98.8531163df17607dd.2d1eb14b585a2c2f
+    a6274579b9b774ac.6b6a4f92c07dfa12.4f5b9f6de483c38f.ffda73d1384b5b12
+    7389b1c2fc23336e
+VPCMPGTQ_256(mem)
+  before
+    67f8e809bfec6f6f.4270ded18ebf318b.a4c05a70c02ccc5b.231bf431b1ea8634
+    b6f393929eb4cc40.b1017c9f68b29120.097cdb5b8e14a29f.5dbe10f6f5368d78
+    3c462e49b487060e.50271b50e11dce17.78694f3d453f3609.5990f0284bf41409
+    d4bd361a1e6fd805.7c2db851988b241b.cc55310401bc44c6.73dd8e344faf5691
+    06f1e8859ef390bc
+  after
+    67f8e809bfec6f6f.4270ded18ebf318b.a4c05a70c02ccc5b.231bf431b1ea8634
+    b6f393929eb4cc40.b1017c9f68b29120.097cdb5b8e14a29f.5dbe10f6f5368d78
+    0000000000000000.0000000000000000.ffffffffffffffff.ffffffffffffffff
+    d4bd361a1e6fd805.7c2db851988b241b.cc55310401bc44c6.73dd8e344faf5691
+    06f1e8859ef390bc
+
+VPSRLQ_0x05_256(reg)
+  before
+    7017f986d44cfe37.5c2425f2f77a0050.8f614e0d2688d1d9.e00afd9adf948a01
+    0c9dbda58c47dcae.ae4779bb5cb4381c.e60dd9ef2aa10ffd.92552fedfbd5c2e7
+    36cd314d626f65cd.a8f1ad6268283c94.dd7f55653d611b32.bd0243e8708aa9a4
+    49f44feaf351d63e.25ef3dd438e2cae5.d001bfdafd543124.3cddb6775abffa63
+    edb10386d6817350
+  after
+    024fa27f579a8eb1.012f79eea1c71657.06800dfed7eaa189.01e6edb3bad5ffd3
+    0c9dbda58c47dcae.ae4779bb5cb4381c.e60dd9ef2aa10ffd.92552fedfbd5c2e7
+    36cd314d626f65cd.a8f1ad6268283c94.dd7f55653d611b32.bd0243e8708aa9a4
+    49f44feaf351d63e.25ef3dd438e2cae5.d001bfdafd543124.3cddb6775abffa63
+    edb10386d6817350
+VPSRLQ_0x05_256(mem)
+  before
+    aa4ca602ffdbce99.a35e15e8da786ab0.000da6fce7ee9c3a.1ce012ba06078c80
+    51781bd5f2d9c768.9e577eb3b4705fcd.171762c592596fc1.1b684a71f30569f2
+    bc02deecca881ce9.982a87b71cc6ef42.44d9ef1d542efea3.2ae4636b61da0426
+    c9b66c34a4f38749.ec252a61af0457ba.651ec8ef4979070e.a5a25915eb1398c7
+    e8ec29d92d3b6281
+  after
+    aa4ca602ffdbce99.a35e15e8da786ab0.000da6fce7ee9c3a.1ce012ba06078c80
+    51781bd5f2d9c768.9e577eb3b4705fcd.171762c592596fc1.1b684a71f30569f2
+    bc02deecca881ce9.982a87b71cc6ef42.44d9ef1d542efea3.2ae4636b61da0426
+    c9b66c34a4f38749.ec252a61af0457ba.651ec8ef4979070e.a5a25915eb1398c7
+    e8ec29d92d3b6281
+
+VPSRLQ_0x05_256(reg)
+  before
+    4f0fce24c4df9e01.526040979b27c5b4.f592651b08b9d2e2.54b46a278e47442e
+    365744634c8988f3.34ccd603cc2f9155.11be3353c46e9e65.ee654fb13fa3712f
+    f910870160c85b03.4cc6ab635217a959.9af590737eb1f5f0.10fef57a779a4c3c
+    f48694699c2554dc.741939a34aebc7eb.ed8379e9d30e132f.944bd76c52378f82
+    57187174ed86f72c
+  after
+    07a434a34ce12aa6.03a0c9cd1a575e3f.076c1bcf4e987099.04a25ebb6291bc7c
+    365744634c8988f3.34ccd603cc2f9155.11be3353c46e9e65.ee654fb13fa3712f
+    f910870160c85b03.4cc6ab635217a959.9af590737eb1f5f0.10fef57a779a4c3c
+    f48694699c2554dc.741939a34aebc7eb.ed8379e9d30e132f.944bd76c52378f82
+    57187174ed86f72c
+VPSRLQ_0x05_256(mem)
+  before
+    35313f7f63934067.830565099d2eaf2a.8992feafcfb8a738.67b3e8205e0f36cd
+    0b61be77d16b255e.01d8f84cfe6ea89a.67fd7573fd89076c.62d3db84bc429877
+    b376694a5219633e.cc4c499e5c717ad8.eb261adbf16ba1b2.3c2d4d81883376d9
+    0a3abce303aab633.3fad526b52c4628f.efd96ad3c7693237.4f0e3a835e6c0c9e
+    f8c29ff6db7b9572
+  after
+    35313f7f63934067.830565099d2eaf2a.8992feafcfb8a738.67b3e8205e0f36cd
+    0b61be77d16b255e.01d8f84cfe6ea89a.67fd7573fd89076c.62d3db84bc429877
+    b376694a5219633e.cc4c499e5c717ad8.eb261adbf16ba1b2.3c2d4d81883376d9
+    0a3abce303aab633.3fad526b52c4628f.efd96ad3c7693237.4f0e3a835e6c0c9e
+    f8c29ff6db7b9572
+
+VPSRLQ_0x05_256(reg)
+  before
+    939577469bec4e03.ec7a332eff29d968.b64711207df29c6c.50e2df479a8f7626
+    7cd3bee0394973fa.35024b1763a2890a.8c6680277888631b.ea0cf72486ea28ac
+    10c8702e51203f06.c19d7f8a4a228244.1f569dede011f447.99242d54a88405f5
+    a9bf899e80fdefd1.6c194b73d1b48043.ca6264df50198b9d.39f6fec51c6cc92c
+    a64ee462fdab2f7e
+  after
+    054dfc4cf407ef7e.0360ca5b9e8da402.06531326fa80cc5c.01cfb7f628e36649
+    7cd3bee0394973fa.35024b1763a2890a.8c6680277888631b.ea0cf72486ea28ac
+    10c8702e51203f06.c19d7f8a4a228244.1f569dede011f447.99242d54a88405f5
+    a9bf899e80fdefd1.6c194b73d1b48043.ca6264df50198b9d.39f6fec51c6cc92c
+    a64ee462fdab2f7e
+VPSRLQ_0x05_256(mem)
+  before
+    bcf85d16674ff416.a405069a616abf08.12402bbe13643e33.e8d7cf68642d64c8
+    57c0e4cf7764d421.5de6e29091f5eb56.8fe09b582c3f793f.d702dcf3b9d8ba75
+    5371f57848f48bcb.30ae19ebab2aae68.bfc3182b3950ed94.f12d86eeeba6ca4f
+    8cd90dfdf70dd43f.79a9a7174c9445e9.7eb61d2556a3565d.94a5c9c49523d004
+    1bb5a1e153dc073d
+  after
+    bcf85d16674ff416.a405069a616abf08.12402bbe13643e33.e8d7cf68642d64c8
+    57c0e4cf7764d421.5de6e29091f5eb56.8fe09b582c3f793f.d702dcf3b9d8ba75
+    5371f57848f48bcb.30ae19ebab2aae68.bfc3182b3950ed94.f12d86eeeba6ca4f
+    8cd90dfdf70dd43f.79a9a7174c9445e9.7eb61d2556a3565d.94a5c9c49523d004
+    1bb5a1e153dc073d
+
+VPMULUDQ_256(reg)
+  before
+    e1ab0bb1c25daca8.dec2a64b9fba6daa.942388800fbfec86.a88426309e446fc7
+    43d102a07e30fbf1.24f93e4c5c080f37.dd67b9929137dfea.19fbaf3a2d40f5fd
+    9e74821a22e330c4.3c4a50ed4c027913.b0c235b96d8959c3.ace6342e20a3a42d
+    4ce0878c4a0186cc.0181591b88b4656a.6981f8613f4097ba.3f1032f892773780
+    ad462484a0ca6b25
+  after
+    11327eef35711484.1b53481b16382015.3e22b42880a1e93e.05c50c21d2185179
+    43d102a07e30fbf1.24f93e4c5c080f37.dd67b9929137dfea.19fbaf3a2d40f5fd
+    9e74821a22e330c4.3c4a50ed4c027913.b0c235b96d8959c3.ace6342e20a3a42d
+    4ce0878c4a0186cc.0181591b88b4656a.6981f8613f4097ba.3f1032f892773780
+    ad462484a0ca6b25
+VPMULUDQ_256(mem)
+  before
+    d25486be66a8fc46.ab610d6093173ab6.4f69d3c02e2b9067.64eefef7a5e9d47e
+    8906d492fe1ca50f.1543110498b0882d.01d03cca5a72b637.fc5544e5380e4eb9
+    b0288bec873224ad.e7d28ee2f658abde.f5800f2427969205.8f04c599963e3f17
+    228526b91af6334c.7d598068489ce074.0646c8b9b1a1e1fe.78467d7e5b02e445
+    136668ff22e878ef
+  after
+    d25486be66a8fc46.ab610d6093173ab6.4f69d3c02e2b9067.64eefef7a5e9d47e
+    8906d492fe1ca50f.1543110498b0882d.01d03cca5a72b637.fc5544e5380e4eb9
+    65e726f9fa27e61a.57bb39129f6601fe.1050010767e34021.24546c4a539cf30e
+    228526b91af6334c.7d598068489ce074.0646c8b9b1a1e1fe.78467d7e5b02e445
+    136668ff22e878ef
+
+VPMULUDQ_256(reg)
+  before
+    bbb1828a877b39c0.baea21e3d5758e17.3425e3012b07639c.0feee47715a15f4d
+    ce73c88a27486165.5624f858d4baf33b.6683b4193a267002.ee44dd496fa2c81f
+    a7f8356b9dda2c8a.d0fd270232d11ce4.70bdee1c11834251.7d13311bdaaed7a0
+    a18cc59986bdd8da.06422bcf0cc7c63d.ae1f8d764eac1636.9a295bda72d449fb
+    1f50d770541dda5d
+  after
+    1838de337ec3dc72.2a3a48240246148c.03fa5e2bc20ff4a2.5f5cdd15e6e11c60
+    ce73c88a27486165.5624f858d4baf33b.6683b4193a267002.ee44dd496fa2c81f
+    a7f8356b9dda2c8a.d0fd270232d11ce4.70bdee1c11834251.7d13311bdaaed7a0
+    a18cc59986bdd8da.06422bcf0cc7c63d.ae1f8d764eac1636.9a295bda72d449fb
+    1f50d770541dda5d
+VPMULUDQ_256(mem)
+  before
+    ea5522ca9b9745f2.1a7a74817d7d9f02.d2be7faa7da7ac72.7cf78d938a2d285c
+    d504b7d5644d47e5.6c103f8d1fa7bead.123f9f7fa17e8cb1.3690eadf6390b370
+    be29117bca4b9c62.f598212a07c77088.a08f073a95562024.3835a1c77564f51e
+    7f90afaaea9e0097.0f5f16c5d267f23e.597c34c7753e24f7.de33adb55b322811
+    84d60a17b18888f6
+  after
+    ea5522ca9b9745f2.1a7a74817d7d9f02.d2be7faa7da7ac72.7cf78d938a2d285c
+    d504b7d5644d47e5.6c103f8d1fa7bead.123f9f7fa17e8cb1.3690eadf6390b370
+    3cf60f84b481af7a.0f8470ac0235f05a.4f449109255892d2.35bd90dc4eb9fc40
+    7f90afaaea9e0097.0f5f16c5d267f23e.597c34c7753e24f7.de33adb55b322811
+    84d60a17b18888f6
+
+VPMULUDQ_256(reg)
+  before
+    866ab45814f15378.f5050a4ddf512eae.18b11ac91b15807c.1ad0a1125c3f5657
+    403ba8e31ff9c344.fc53a050c571e3d3.6ada29a17f5c56ee.bd58ca0766677070
+    0e94e1266f2d1506.7147eb9fba09db33.632640bb99c9b03f.1fe02b93b0c12f6d
+    4cc35b8c9f188469.2ead6926d725d1fa.5de05a8206e7c91c.1c3340a0555a4f7b
+    911f861c723c8bc5
+  after
+    0de2ed320bd32798.8f7c59981400e409.4c828723525b0492.46b464415c1f6fb0
+    403ba8e31ff9c344.fc53a050c571e3d3.6ada29a17f5c56ee.bd58ca0766677070
+    0e94e1266f2d1506.7147eb9fba09db33.632640bb99c9b03f.1fe02b93b0c12f6d
+    4cc35b8c9f188469.2ead6926d725d1fa.5de05a8206e7c91c.1c3340a0555a4f7b
+    911f861c723c8bc5
+VPMULUDQ_256(mem)
+  before
+    586e78f22276a078.551212814c474d1a.105196d13ad18353.b55673626142de31
+    4eed920d82114ac0.87ce02711245acc4.f3ffec8cff1aaa6b.c8d287c746672a29
+    4f68505bad1b44c8.3d4328c98b9edd14.b383e943410c056d.f0a1931d52e1ebb0
+    37ab2fc7c09f4bbd.d3bd7ff355de1bb5.2ca808e31cb14e86.8a0f91d1213c5b74
+    f2677f4d4d05b61e
+  after
+    586e78f22276a078.551212814c474d1a.105196d13ad18353.b55673626142de31
+    4eed920d82114ac0.87ce02711245acc4.f3ffec8cff1aaa6b.c8d287c746672a29
+    1182916dbb530a00.0571c61dea667fe8.3a9cd23eba3501b1.1abf7aad57e09fd9
+    37ab2fc7c09f4bbd.d3bd7ff355de1bb5.2ca808e31cb14e86.8a0f91d1213c5b74
+    f2677f4d4d05b61e
+
+VPMULDQ_256(reg)
+  before
+    84f758fe75c73a5d.e282a93dd6aa1bca.a487035c0c92a354.3b3bc556ad1742e2
+    9d091951330f21db.2cb83caa0c47701c.0eefb0714b45b19d.ba089c8a0f499dac
+    97eabcb12367a844.f11b64f87d8205df.6c3f829caf84813b.86db0a6a5f541b11
+    cfe73f89e25d0b46.0d759b144568973e.19c4764bd3da4edb.7b8089e1b943773c
+    75c397dd37226e5a
+  after
+    070fbe470e59b62c.06051e4cb1a33464.e855e8bc5f840c2f.05b1574857f49c6c
+    9d091951330f21db.2cb83caa0c47701c.0eefb0714b45b19d.ba089c8a0f499dac
+    97eabcb12367a844.f11b64f87d8205df.6c3f829caf84813b.86db0a6a5f541b11
+    cfe73f89e25d0b46.0d759b144568973e.19c4764bd3da4edb.7b8089e1b943773c
+    75c397dd37226e5a
+VPMULDQ_256(mem)
+  before
+    4f6fb049f8febc97.a14a9d470b7d858a.5c935feb8104e266.73ca87e953d35529
+    e7524e1115e21c1e.695fd2563b5253bf.ba412a674d62a282.d49db1e2ccfcd2d0
+    1836ef22acda4b1c.8374db220d68b18f.034b7a76c48f92bf.9a89f0a2dae0007d
+    bee80e66d9f305bc.4bd3b3171e4bdaa6.137dcb0202966f49.1fda4195180b1cdb
+    c1db9f27220a6297
+  after
+    4f6fb049f8febc97.a14a9d470b7d858a.5c935feb8104e266.73ca87e953d35529
+    e7524e1115e21c1e.695fd2563b5253bf.ba412a674d62a282.d49db1e2ccfcd2d0
+    ff66b595eac89db2.02a99fbdd9265ff6.d99d8b5bf4cb83cc.ef4bdbc2f7ecd350
+    bee80e66d9f305bc.4bd3b3171e4bdaa6.137dcb0202966f49.1fda4195180b1cdb
+    c1db9f27220a6297
+
+VPMULDQ_256(reg)
+  before
+    dad906c495680e5c.b53427cab738052b.1dca55a109880cb2.c5a297f92483f54b
+    c72072d90cb15bd7.d8e6b63b63b50994.55a3c02d6aaa815c.f7875c464663dff2
+    e5fce0d0247286b4.05c938a3f877cb25.4eabed25de3e7553.84f995d58241ea69
+    8eb94a177836cb9e.17ab27f092890707.662edaf701ce2641.48c2be92f729d2dd
+    1eae5369bf285279
+  after
+    01ce9e92e4851d2c.fd10fff9cb8ebe64.f1ef60ff9eaefcd4.dd6cf796ea1c0e42
+    c72072d90cb15bd7.d8e6b63b63b50994.55a3c02d6aaa815c.f7875c464663dff2
+    e5fce0d0247286b4.05c938a3f877cb25.4eabed25de3e7553.84f995d58241ea69
+    8eb94a177836cb9e.17ab27f092890707.662edaf701ce2641.48c2be92f729d2dd
+    1eae5369bf285279
+VPMULDQ_256(mem)
+  before
+    e48bd147f649286a.1fa2ae18a5896542.ea56010d4ef77b69.f877810d6ee9ced2
+    7524b316b8980edc.f505074146f8924c.599741e548cee174.60d4e0d5c218aab3
+    ac4475c42322c0fa.6a2c52fdf80e8b67.423a64669b19f657.fa8ff3ba97e9f590
+    67b8933b50f2fcf1.db6489b856578f3f.7f0be47b63e4753c.21f5b4288ce7ec14
+    3352218b3b9fcbec
+  after
+    e48bd147f649286a.1fa2ae18a5896542.ea56010d4ef77b69.f877810d6ee9ced2
+    7524b316b8980edc.f505074146f8924c.599741e548cee174.60d4e0d5c218aab3
+    02b5a781d6048718.e6ebbb17a479b398.16756b6622193494.e52e0fc9588310d6
+    67b8933b50f2fcf1.db6489b856578f3f.7f0be47b63e4753c.21f5b4288ce7ec14
+    3352218b3b9fcbec
+
+VPMULDQ_256(reg)
+  before
+    8bf2354f409ccec4.804c89695d147ced.a4f9aadefd60d881.eed53f10bd3c1c50
+    8421ece0386a3047.d5ccd4396695fd19.2137b0db88b4a3d9.6966f012c52ca5be
+    7c2b42aabe952f22.4004ef9686803aa2.ae6a971b94df2cf3.ce88746b95c1ccb3
+    cd5b33196faa0400.9fbf566edae2f1b3.a7dd5c0abc6eaf7a.f70845084c054f5a
+    c2b2e1d60307e8e1
+  after
+    f1957fbec84a726e.cf4fe7df88c1d3d2.31ebcb48fda7d2fb.1869ce58fc894bda
+    8421ece0386a3047.d5ccd4396695fd19.2137b0db88b4a3d9.6966f012c52ca5be
+    7c2b42aabe952f22.4004ef9686803aa2.ae6a971b94df2cf3.ce88746b95c1ccb3
+    cd5b33196faa0400.9fbf566edae2f1b3.a7dd5c0abc6eaf7a.f70845084c054f5a
+    c2b2e1d60307e8e1
+VPMULDQ_256(mem)
+  before
+    0952c3bfd9d05471.d5febc9ae635ee8e.cccb85ac7dc6dc79.68def9159cec671a
+    a9b467b1e76e4e38.ee61d897c0c02777.a4f2f93d8b38b71f.4db76ca6d1e59180
+    7fa449974bec9462.76cd837e98d9ec68.04012d0b214440d2.b2b5b02bf6e66958
+    65ede65d2157e01b.c791baba0b0b790d.c6c49d035af731be.f324c10ea87a2a4e
+    6c509cbd832e110d
+  after
+    0952c3bfd9d05471.d5febc9ae635ee8e.cccb85ac7dc6dc79.68def9159cec671a
+    a9b467b1e76e4e38.ee61d897c0c02777.a4f2f93d8b38b71f.4db76ca6d1e59180
+    03aa339a5edae6b8.065f28d5a4e98602.c69ffab5502731a7.11d7c03ad0db4700
+    65ede65d2157e01b.c791baba0b0b790d.c6c49d035af731be.f324c10ea87a2a4e
+    6c509cbd832e110d
+
+VPSLLQ_0x05_256(reg)
+  before
+    79843ca3228d5a41.385cb9ef84b9ee8e.3ef877b6b4e30911.c707c511535c470e
+    760e9d2c21234097.d4bd3e3991217ce7.384db8e02fecda21.e496212228803eef
+    bf38bbc41d7c01bb.16dcf12763984454.0fde78a31ab225e9.f73c2e21f36ed18c
+    b04f92d7b125d758.d8854ea5162c03fe.20f5b46b0ec22914.ddc767f9d332bd12
+    72014898e1d8bead
+  after
+    09f25af624baeb00.10a9d4a2c5807fc0.1eb68d61d8452280.b8ecff3a6657a240
+    760e9d2c21234097.d4bd3e3991217ce7.384db8e02fecda21.e496212228803eef
+    bf38bbc41d7c01bb.16dcf12763984454.0fde78a31ab225e9.f73c2e21f36ed18c
+    b04f92d7b125d758.d8854ea5162c03fe.20f5b46b0ec22914.ddc767f9d332bd12
+    72014898e1d8bead
+VPSLLQ_0x05_256(mem)
+  before
+    92b74de93c6d8f88.a49f1fd17aa9fe1b.f784d29fc7e87514.c8df66a5a9a7204e
+    19b5f3d8fdfcedd0.f9745d1f1395b4b0.4fa4f80292d955c0.61e88cbb86ed4745
+    e3c6b451429294b0.0a19482b197433c2.bcb23cb8920a602e.485c211a4221daa2
+    ccb80e40273a4055.32dcdc6327d2b8fe.1a7a1bafe387528c.d986212f79ce1514
+    70b48864c6803345
+  after
+    92b74de93c6d8f88.a49f1fd17aa9fe1b.f784d29fc7e87514.c8df66a5a9a7204e
+    19b5f3d8fdfcedd0.f9745d1f1395b4b0.4fa4f80292d955c0.61e88cbb86ed4745
+    e3c6b451429294b0.0a19482b197433c2.bcb23cb8920a602e.485c211a4221daa2
+    ccb80e40273a4055.32dcdc6327d2b8fe.1a7a1bafe387528c.d986212f79ce1514
+    70b48864c6803345
+
+VPSLLQ_0x05_256(reg)
+  before
+    6a305327c5c471e1.b0557c91c700aceb.cf071531d93b7e0f.45c80fd2a25de603
+    21477de313250a96.6b6b7b313ff1959d.3ce7f003cc3cc2a2.1968960dea97d9c2
+    f24502044b303c0d.d9c4850aaa18b798.d4c868449c61c062.72262b4bd841e7f3
+    3976def50a6f41f5.d62d180a2481ce07.f5f67960e434b4fc.2ccd4a7a8767ccc2
+    232b6f851416435d
+  after
+    2edbdea14de83ea0.c5a301449039c0e0.becf2c1c86969f80.99a94f50ecf99840
+    21477de313250a96.6b6b7b313ff1959d.3ce7f003cc3cc2a2.1968960dea97d9c2
+    f24502044b303c0d.d9c4850aaa18b798.d4c868449c61c062.72262b4bd841e7f3
+    3976def50a6f41f5.d62d180a2481ce07.f5f67960e434b4fc.2ccd4a7a8767ccc2
+    232b6f851416435d
+VPSLLQ_0x05_256(mem)
+  before
+    330a17599a5a0aed.52250d24eb7156f8.3e71af1bca399517.f9bd20c34043d91c
+    3837bde0363ddaa1.99a08cfd8bbfb6c2.ed5ec72bb84bc9f4.3e6857d94d196d6d
+    0d7edd0703cd72a3.693156ea85e79e01.bfbfda2508c326c9.1e451c0ea743aa9c
+    90abf3bb1e168c1f.2025675875744a5e.8f5f66f5d9ae67c3.f69e6acee84ccc55
+    23c03d85afc01043
+  after
+    330a17599a5a0aed.52250d24eb7156f8.3e71af1bca399517.f9bd20c34043d91c
+    3837bde0363ddaa1.99a08cfd8bbfb6c2.ed5ec72bb84bc9f4.3e6857d94d196d6d
+    0d7edd0703cd72a3.693156ea85e79e01.bfbfda2508c326c9.1e451c0ea743aa9c
+    90abf3bb1e168c1f.2025675875744a5e.8f5f66f5d9ae67c3.f69e6acee84ccc55
+    23c03d85afc01043
+
+VPSLLQ_0x05_256(reg)
+  before
+    fff792a0962cb212.9c897ce6a222e542.19c8bcb4f8f2f688.3b0be6874517490d
+    e78f6389391bee70.0ce6f376abff3938.b0664f68aaeedd29.9e8fd6c7680a88d4
+    38d3aeae35190007.be8cd45656b9432c.414b1ee226f33ced.93b7b2a15f94df44
+    4c116e7a25b32383.8d489b72bf5bc04b.28c2248c088e4f81.f84ff70145c00c88
+    a82220d4379ac9cc
+  after
+    822dcf44b6647060.a9136e57eb780960.1844918111c9f020.09fee028b8019100
+    e78f6389391bee70.0ce6f376abff3938.b0664f68aaeedd29.9e8fd6c7680a88d4
+    38d3aeae35190007.be8cd45656b9432c.414b1ee226f33ced.93b7b2a15f94df44
+    4c116e7a25b32383.8d489b72bf5bc04b.28c2248c088e4f81.f84ff70145c00c88
+    a82220d4379ac9cc
+VPSLLQ_0x05_256(mem)
+  before
+    7efda904502fd23e.8093a059a6749491.54e6c4b501f16cc1.c0185dd4ed4a5291
+    58ad0e7fac8ae508.30a63eb753e88edd.f132cc0d388703b9.679ac62571b380c8
+    10fccb2f69b8bc56.b8964600c89c4f12.3ef72e66812a4060.789259eb2f5616d3
+    84b75d02a0c31455.75afb3a0a21b11dd.190366aaf7e5e0e1.4e4d1492c3bd505e
+    4716f286ca776914
+  after
+    7efda904502fd23e.8093a059a6749491.54e6c4b501f16cc1.c0185dd4ed4a5291
+    58ad0e7fac8ae508.30a63eb753e88edd.f132cc0d388703b9.679ac62571b380c8
+    10fccb2f69b8bc56.b8964600c89c4f12.3ef72e66812a4060.789259eb2f5616d3
+    84b75d02a0c31455.75afb3a0a21b11dd.190366aaf7e5e0e1.4e4d1492c3bd505e
+    4716f286ca776914
+
+VPMAXUD_256(reg)
+  before
+    bd3bf033df0d9ea2.8ea93fe36fb9a831.c13d81037df210e9.5c20f0c6b7c49f69
+    0e0608069f0d2bb3.0ca0edbef2a63615.f98bad95f4ab8ae3.e51b49a6dcd43823
+    95c53869a5024cf4.d866e37f4495782e.79e631c3a4d4b977.8ec0eb378320683c
+    adc27bca8e793c10.cfc99e1281922aa7.9d9b0bf727f9da50.35db5464c7b5ebe0
+    b438ff18c59e7d3a
+  after
+    95c53869a5024cf4.d866e37ff2a63615.f98bad95f4ab8ae3.e51b49a6dcd43823
+    0e0608069f0d2bb3.0ca0edbef2a63615.f98bad95f4ab8ae3.e51b49a6dcd43823
+    95c53869a5024cf4.d866e37f4495782e.79e631c3a4d4b977.8ec0eb378320683c
+    adc27bca8e793c10.cfc99e1281922aa7.9d9b0bf727f9da50.35db5464c7b5ebe0
+    b438ff18c59e7d3a
+VPMAXUD_256(mem)
+  before
+    e8a3694198e7d977.b34acd93f5fd38b4.ce939863c6a90aad.c1f4369f1ca5291b
+    aee70cca5d9cbcc2.04a92a32771a7c8c.af914f5f2fe7d26c.413eaf251d64e183
+    e0d1669f2fcae248.fa2a8f12af5d4343.4f8f3ff0d6573f0f.79c470f7c6c23f35
+    5b2df2ac2a7c0635.f31bf79f3951ca86.8b58e204da060dc3.c4d47780b44c7fdd
+    80b8bf2c828ddd26
+  after
+    e8a3694198e7d977.b34acd93f5fd38b4.ce939863c6a90aad.c1f4369f1ca5291b
+    aee70cca5d9cbcc2.04a92a32771a7c8c.af914f5f2fe7d26c.413eaf251d64e183
+    e8a3694198e7d977.b34acd93f5fd38b4.ce939863c6a90aad.c1f4369f1d64e183
+    5b2df2ac2a7c0635.f31bf79f3951ca86.8b58e204da060dc3.c4d47780b44c7fdd
+    80b8bf2c828ddd26
+
+VPMAXUD_256(reg)
+  before
+    08be4467cd1294bc.fbc72cdd6bbfe6b4.49c65e45b2824d01.3dbab68555fff7b4
+    b830029d3065e14d.9c6b911e0e9e3bf2.5978c070b67d085f.427f3661634eba0d
+    ec5bf63a4815ff83.1be59c5c2e25c41b.7f7d1a8ce0cd364c.7674de8321ff12fa
+    ff8a1babb0ab2c0a.5200c881e7603b5a.18216605ccfe1476.b5652ad7aa1fbaa8
+    db1e96481aba6f43
+  after
+    ec5bf63a4815ff83.9c6b911e2e25c41b.7f7d1a8ce0cd364c.7674de83634eba0d
+    b830029d3065e14d.9c6b911e0e9e3bf2.5978c070b67d085f.427f3661634eba0d
+    ec5bf63a4815ff83.1be59c5c2e25c41b.7f7d1a8ce0cd364c.7674de8321ff12fa
+    ff8a1babb0ab2c0a.5200c881e7603b5a.18216605ccfe1476.b5652ad7aa1fbaa8
+    db1e96481aba6f43
+VPMAXUD_256(mem)
+  before
+    c46b9fc58fdaedf7.4f0b6d5a05b5a28f.1e89947b565c5ddb.7eb0a248179dde86
+    4c18c037228df0ef.3728e8b4e2be9ebe.5b4d79349725e6cb.0e75cabf5d35cf2b
+    4ff0758bf1de3357.122f8926e4535b42.e515f49ac5c59256.24bed8d83952250f
+    a9c03bad18da735c.3e6a4a1ba6ff17c8.98b08298fc4a1ca8.1cd5cafd47811ade
+    52079a9c244dea46
+  after
+    c46b9fc58fdaedf7.4f0b6d5a05b5a28f.1e89947b565c5ddb.7eb0a248179dde86
+    4c18c037228df0ef.3728e8b4e2be9ebe.5b4d79349725e6cb.0e75cabf5d35cf2b
+    c46b9fc58fdaedf7.4f0b6d5ae2be9ebe.5b4d79349725e6cb.7eb0a2485d35cf2b
+    a9c03bad18da735c.3e6a4a1ba6ff17c8.98b08298fc4a1ca8.1cd5cafd47811ade
+    52079a9c244dea46
+
+VPMAXUD_256(reg)
+  before
+    22a046206b43d2f0.36548c8ab28c6c2a.152629ffc44e0cfc.50e99e1a59bf41ec
+    e8eccaf5b9ed0f8b.d278e60cdb00daed.f5af213ddbcd7689.e98cc40cf731bd4e
+    00362087a9d9dac1.59f8c421b04378d0.38512f438707931c.3e64715af3ab4bfb
+    c6cc4642d893723e.a7a0a2b44d6003ff.3c574d7c63889d60.2d3e20f06839a81f
+    91e64cba72e890e5
+  after
+    e8eccaf5b9ed0f8b.d278e60cdb00daed.f5af213ddbcd7689.e98cc40cf731bd4e
+    e8eccaf5b9ed0f8b.d278e60cdb00daed.f5af213ddbcd7689.e98cc40cf731bd4e
+    00362087a9d9dac1.59f8c421b04378d0.38512f438707931c.3e64715af3ab4bfb
+    c6cc4642d893723e.a7a0a2b44d6003ff.3c574d7c63889d60.2d3e20f06839a81f
+    91e64cba72e890e5
+VPMAXUD_256(mem)
+  before
+    462873a42fc3be7a.96f83792e1a611b0.983bfdb0cd6337a7.5b0e79550bdcd102
+    28d0119bb8d6f00a.cc07efe3609ef4c0.079650034c59cff4.f3c3ae381c906aad
+    12a9a0892b2ee0c0.c4456aa2f207571d.d27e1798e74d8811.5ec0e8923130a60e
+    e2819e5ca4d64ac9.dafea539336e7571.d4bdce5bb94b1e2b.f95224d0e746bfd1
+    21c45c5cd960f1a1
+  after
+    462873a42fc3be7a.96f83792e1a611b0.983bfdb0cd6337a7.5b0e79550bdcd102
+    28d0119bb8d6f00a.cc07efe3609ef4c0.079650034c59cff4.f3c3ae381c906aad
+    462873a4b8d6f00a.cc07efe3e1a611b0.983bfdb0cd6337a7.f3c3ae381c906aad
+    e2819e5ca4d64ac9.dafea539336e7571.d4bdce5bb94b1e2b.f95224d0e746bfd1
+    21c45c5cd960f1a1
+
+VPMINUD_256(reg)
+  before
+    30648ea4a40a7a2b.732286ff3edaec50.6a7e9b16be5e8b68.e81ff139df604c6e
+    837cb613e3ce941a.a059d45e15478082.cf1048a42f64d5af.ec72fd1c7497d005
+    765ace14333a7c1b.47f205654628c38a.6702a84e230b8ff2.bb816cf195fc641d
+    6648d3152fda6eda.42b99300ed8a7096.8d9eb78236dff4dc.3017bca55d9cc4e1
+    29016922e982ae7e
+  after
+    765ace14333a7c1b.47f2056515478082.6702a84e230b8ff2.bb816cf17497d005
+    837cb613e3ce941a.a059d45e15478082.cf1048a42f64d5af.ec72fd1c7497d005
+    765ace14333a7c1b.47f205654628c38a.6702a84e230b8ff2.bb816cf195fc641d
+    6648d3152fda6eda.42b99300ed8a7096.8d9eb78236dff4dc.3017bca55d9cc4e1
+    29016922e982ae7e
+VPMINUD_256(mem)
+  before
+    800bed5654bbdc1f.ad93c2817438a502.6f7afc1b257744cf.9c3172ab036c411a
+    1301c62cba510bf1.a88796c49de35e40.a800bba20afefb64.f207d435263fb158
+    bcaf6f903853f620.b36f4b4b4664d540.cb184c81b928517e.ea6cd98c3ce48241
+    59e1646eeaca5bd7.2a99de800c4945ad.b28f2ca54d03024c.dfab7d1de0e5ee82
+    2f12bd52afd032c6
+  after
+    800bed5654bbdc1f.ad93c2817438a502.6f7afc1b257744cf.9c3172ab036c411a
+    1301c62cba510bf1.a88796c49de35e40.a800bba20afefb64.f207d435263fb158
+    1301c62c54bbdc1f.a88796c47438a502.6f7afc1b0afefb64.9c3172ab036c411a
+    59e1646eeaca5bd7.2a99de800c4945ad.b28f2ca54d03024c.dfab7d1de0e5ee82
+    2f12bd52afd032c6
+
+VPMINUD_256(reg)
+  before
+    34eb9398443089ba.c46221b2ebc4f443.694f49d08b1deb33.3b2fd6f8e39ac9f8
+    4c83fd5c3c923109.daff2348574c7d90.ccde8aa85e6c037f.40c4c66896f963af
+    d126f70932816460.7884e41c4b6eb4e9.af929c7221c3c93d.9f1c78df832d8b9c
+    21207b0ac3895e6b.78bde21ae337537a.6eb77c9c71ad7818.3202684bc541ffec
+    d6411397784279ca
+  after
+    4c83fd5c32816460.7884e41c4b6eb4e9.af929c7221c3c93d.40c4c668832d8b9c
+    4c83fd5c3c923109.daff2348574c7d90.ccde8aa85e6c037f.40c4c66896f963af
+    d126f70932816460.7884e41c4b6eb4e9.af929c7221c3c93d.9f1c78df832d8b9c
+    21207b0ac3895e6b.78bde21ae337537a.6eb77c9c71ad7818.3202684bc541ffec
+    d6411397784279ca
+VPMINUD_256(mem)
+  before
+    67a6f3afba3bb563.96bc87cd8a375dd5.b776992f3ab21771.65992491eab74dbd
+    c2fd867fa43871e3.8d4815bd23169b4b.127b83456cecbcf7.f08492bd266b84d8
+    c11248f354456775.630e24462bb25579.63971e4a96f0fd3b.6bc3c18cc4585914
+    41b1b3f7e66f5446.725cadd43e98c70a.8798e428d3ca9767.31a3ad6a5e07071e
+    a07052c39006cba1
+  after
+    67a6f3afba3bb563.96bc87cd8a375dd5.b776992f3ab21771.65992491eab74dbd
+    c2fd867fa43871e3.8d4815bd23169b4b.127b83456cecbcf7.f08492bd266b84d8
+    67a6f3afa43871e3.8d4815bd23169b4b.127b83453ab21771.65992491266b84d8
+    41b1b3f7e66f5446.725cadd43e98c70a.8798e428d3ca9767.31a3ad6a5e07071e
+    a07052c39006cba1
+
+VPMINUD_256(reg)
+  before
+    1376ad03f7e0e14a.1ea6457875c2f481.177cadd3f7532caa.5a4854cd408746a7
+    e601b9962e2284c5.34bc79601d480253.afba21b0f26fc107.b874e724f832c529
+    745d72e9d156f1bd.5fc0cb9dfb0f3be8.946404d5cc79c2ca.7de81a1918d7d117
+    1bd5d4667d0b64df.7b7fb7192a225b6b.23c552af21fc6aa2.856f6a98bb82269d
+    acd7528dfd4080e8
+  after
+    745d72e92e2284c5.34bc79601d480253.946404d5cc79c2ca.7de81a1918d7d117
+    e601b9962e2284c5.34bc79601d480253.afba21b0f26fc107.b874e724f832c529
+    745d72e9d156f1bd.5fc0cb9dfb0f3be8.946404d5cc79c2ca.7de81a1918d7d117
+    1bd5d4667d0b64df.7b7fb7192a225b6b.23c552af21fc6aa2.856f6a98bb82269d
+    acd7528dfd4080e8
+VPMINUD_256(mem)
+  before
+    ceea4ee5fb1d9a23.36b7dc7bceca19d6.64c3bac2c78e1d09.b82808ab8b84f639
+    c776db8ad123317c.204d84935f214b4f.f6584f83ee5e3eed.afda2034a99ea23b
+    734573699a60011c.37e4ca19cd9b37f5.0d0cf248b99e7a44.642798b515d5aa56
+    ae24946f73dfc632.d5c8a97bb3c51975.85aa1ffd475b8d3a.335b6b9c6bb64933
+    78c2955448cbbc81
+  after
+    ceea4ee5fb1d9a23.36b7dc7bceca19d6.64c3bac2c78e1d09.b82808ab8b84f639
+    c776db8ad123317c.204d84935f214b4f.f6584f83ee5e3eed.afda2034a99ea23b
+    c776db8ad123317c.204d84935f214b4f.64c3bac2c78e1d09.afda20348b84f639
+    ae24946f73dfc632.d5c8a97bb3c51975.85aa1ffd475b8d3a.335b6b9c6bb64933
+    78c2955448cbbc81
+
+VPMULLD_256(reg)
+  before
+    8fa8134947a23fea.54dfb98676ad3be8.58441e24ad2a2c7b.3afd528eb1a032fa
+    d458dfe704c70e1a.41415e9cc2d51d6a.1aa623805856adb2.08d208e7167927b1
+    a31ff79a1dc564be.5118009c716328e5.7938b6fb4fd6d8c7.cbf5bcf48ff3258a
+    584a56cf2b287e82.5f2e19729f641785.cf47d2022f35e966.5e32eaa13a19ebb2
+    9f550edb33f73355
+  after
+    af7791f619409f4c.fe75a710bf39dfd2.8221ce80eebb355e.58cd202c2c0efa6a
+    d458dfe704c70e1a.41415e9cc2d51d6a.1aa623805856adb2.08d208e7167927b1
+    a31ff79a1dc564be.5118009c716328e5.7938b6fb4fd6d8c7.cbf5bcf48ff3258a
+    584a56cf2b287e82.5f2e19729f641785.cf47d2022f35e966.5e32eaa13a19ebb2
+    9f550edb33f73355
+VPMULLD_256(mem)
+  before
+    6929a58c959aba9e.4f23f9f0cc7c9712.4950270a69e3a776.792073ff94ff1b3a
+    987c29a27d0d3cb9.e4f6da6b9c4eed19.ea4aa650eaec94e2.d40c966019c1abef
+    07181808065c74d4.7211f7aa3629ba43.1ee810303f8c99f8.3a5a368f5a06d533
+    94caeeaa4c941f19.57bf4b1b369a3b3d.c0f6e29783ce74e2.08554ffaf45ad4af
+    9b48dd0b824ae512
+  after
+    6929a58c959aba9e.4f23f9f0cc7c9712.4950270a69e3a776.792073ff94ff1b3a
+    987c29a27d0d3cb9.e4f6da6b9c4eed19.ea4aa650eaec94e2.d40c966019c1abef
+    87ae2e980093e42e.a37fd7504f826ac2.4f40af2054920e2c.0c16e9a0b2142926
+    94caeeaa4c941f19.57bf4b1b369a3b3d.c0f6e29783ce74e2.08554ffaf45ad4af
+    9b48dd0b824ae512
+
+VPMULLD_256(reg)
+  before
+    4d81dc30a0614406.195e25746cc0f9b4.ee4bd229392cabb3.ae3f996fd3bfdfcd
+    7b4a49d4ec2b2d38.74a03b5281ecbed2.93028940db6b4850.c291b0a54a6996e4
+    81f01e63ff35db53.805caa30a825299f.a1306accb7e34cc1.dab6a32605da5754
+    bbbe5949770a8b04.185df0fafd76f746.762173396921f3b2.d07befdd1f1edc48
+    82ac0fb5b540e2ee
+  after
+    6d2164fca6469128.96e7936000f4266e.2ed9df0094494450.bc67477e3f14fed0
+    7b4a49d4ec2b2d38.74a03b5281ecbed2.93028940db6b4850.c291b0a54a6996e4
+    81f01e63ff35db53.805caa30a825299f.a1306accb7e34cc1.dab6a32605da5754
+    bbbe5949770a8b04.185df0fafd76f746.762173396921f3b2.d07befdd1f1edc48
+    82ac0fb5b540e2ee
+VPMULLD_256(mem)
+  before
+    ca147e9ce24c246f.8502f5f2f03679f6.1a70899c9aece4f4.6d219ff38eb07bce
+    8681bb7dc24e60fa.3b07efcb0546e0d6.6062ef039e91abd5.e17ceb66c11d1ec2
+    90bd3f44725350b8.3918423e52c5fe50.c7fda01922740914.307d51fe9ff31939
+    c69687dd0e66b0d8.db82e9b974400d0f.2c0d17cc459ebadd.b471cf28c3bea7e0
+    cba4604eca0b0562
+  after
+    ca147e9ce24c246f.8502f5f2f03679f6.1a70899c9aece4f4.6d219ff38eb07bce
+    8681bb7dc24e60fa.3b07efcb0546e0d6.6062ef039e91abd5.e17ceb66c11d1ec2
+    1919c62cc3d73466.bc93f4e69f8533a4.8d8240d46a3d7b04.65edcbd22495f61c
+    c69687dd0e66b0d8.db82e9b974400d0f.2c0d17cc459ebadd.b471cf28c3bea7e0
+    cba4604eca0b0562
+
+VPMULLD_256(reg)
+  before
+    cf6200de4f656f6c.02d61035b1943e84.7d91e2a6074149c0.6960d006201d7a5e
+    1df7ac43ef5821aa.214a553677e7b4e9.7b912973a656f00e.5bc147b5d2fc04c0
+    12af5ee8457157c7.ffbed2cd7d6ecf32.31ceb88bed0b3ca6.dffbf9c474481532
+    08d5143bed3b4c70.79fd04e7de324b8c.fb938d5a79eb6a33.cfdb611f240b69de
+    082dfbb2fe54bbf1
+  after
+    9181b6b8aefcf126.aa80883e47a7bc82.cb262971833cf114.3830f394379cad80
+    1df7ac43ef5821aa.214a553677e7b4e9.7b912973a656f00e.5bc147b5d2fc04c0
+    12af5ee8457157c7.ffbed2cd7d6ecf32.31ceb88bed0b3ca6.dffbf9c474481532
+    08d5143bed3b4c70.79fd04e7de324b8c.fb938d5a79eb6a33.cfdb611f240b69de
+    082dfbb2fe54bbf1
+VPMULLD_256(mem)
+  before
+    66bd43691d2cc996.5db7c9a784423d51.69d5656eb741e322.352ea34be582b563
+    c557b6309da14cfa.6b9f7998a6136515.ac10735023a65421.3be9f6ccce5c5adf
+    02c7cef49bbe0348.8fda217bee390268.1e7ba9783f6e5ab5.68118349cf069556
+    f7d8099f3390a8ad.25b4bcbaf8404ef7.9be284d226a4b009.1af2442c850ba272
+    acd837e28bf8bcdf
+  after
+    66bd43691d2cc996.5db7c9a784423d51.69d5656eb741e322.352ea34be582b563
+    c557b6309da14cfa.6b9f7998a6136515.ac10735023a65421.3be9f6ccce5c5adf
+    871849b08eeb647c.8f28aa280ea2fca5.2e201c602c116f62.1a5731c4ba34cf3d
+    f7d8099f3390a8ad.25b4bcbaf8404ef7.9be284d226a4b009.1af2442c850ba272
+    acd837e28bf8bcdf
+
+VPMAXUW_256(reg)
+  before
+    7a0f57d87e58204a.8157e21f8022f855.8a7846c261b5856e.ff117e4af554134a
+    dfe2a078f9b70a5f.7c11d65e9e80af6b.1874bb00c523e579.26d415ccc78a3fa3
+    399e0f3099a2b6c9.c4d05f4aaab7891c.2cf217debe16a8c3.ecf7c444b953f041
+    e2909f6af9a45f35.3560fbcebfd14193.224057caeb1b0bf8.2d45079ee6bbe150
+    c58b5ac66acccffb
+  after
+    dfe2a078f9b7b6c9.c4d0d65eaab7af6b.2cf2bb00c523e579.ecf7c444c78af041
+    dfe2a078f9b70a5f.7c11d65e9e80af6b.1874bb00c523e579.26d415ccc78a3fa3
+    399e0f3099a2b6c9.c4d05f4aaab7891c.2cf217debe16a8c3.ecf7c444b953f041
+    e2909f6af9a45f35.3560fbcebfd14193.224057caeb1b0bf8.2d45079ee6bbe150
+    c58b5ac66acccffb
+VPMAXUW_256(mem)
+  before
+    90953aa96294766f.38024b94b549424f.ab8f25d6fadd94fd.56a8762fe6bd4ac6
+    6a2f2231ea1f92d7.964012196a1d9bc2.0228594e76e43e85.247770794b88a0d6
+    2f258e4c1d77de60.5798ed65b4ada53b.16f6142250f4fa59.e8f84113b7094ad7
+    bb43fae517aa1736.d955dae42e859d65.c2c6d03ea31985a2.fe79e56bc5cb8473
+    c24459ed115b8956
+  after
+    90953aa96294766f.38024b94b549424f.ab8f25d6fadd94fd.56a8762fe6bd4ac6
+    6a2f2231ea1f92d7.964012196a1d9bc2.0228594e76e43e85.247770794b88a0d6
+    90953aa9ea1f92d7.96404b94b5499bc2.ab8f594efadd94fd.56a8762fe6bda0d6
+    bb43fae517aa1736.d955dae42e859d65.c2c6d03ea31985a2.fe79e56bc5cb8473
+    c24459ed115b8956
+
+VPMAXUW_256(reg)
+  before
+    90a798033944972d.ea54e3e8f5c4f984.76c2d302742fbfed.e4640b8e8c5d9b8f
+    c4ec9e1ad612e8a4.9725c341d2cf3f76.8b2cd62c2339477e.579c40ff26cef74a
+    ba60679f8651b867.a08318dccbd9a63a.75dfdfccd62e70c5.f73aec7b8e7857ff
+    cd4ff0fce58e4521.e0385da5fbeeeafa.8e27e84f2a9b776e.9f0989f0df6575db
+    2dd7954835a30d0a
+  after
+    c4ec9e1ad612e8a4.a083c341d2cfa63a.8b2cdfccd62e70c5.f73aec7b8e78f74a
+    c4ec9e1ad612e8a4.9725c341d2cf3f76.8b2cd62c2339477e.579c40ff26cef74a
+    ba60679f8651b867.a08318dccbd9a63a.75dfdfccd62e70c5.f73aec7b8e7857ff
+    cd4ff0fce58e4521.e0385da5fbeeeafa.8e27e84f2a9b776e.9f0989f0df6575db
+    2dd7954835a30d0a
+VPMAXUW_256(mem)
+  before
+    7c6e8b71ad3eddb7.5b04349f8e54c97e.33100f887f18c6e2.3350ef22ba0b9824
+    679be75663419f0f.bfcd2ff21d30802b.74d9a8717365f81f.c1a6efb0230a0e94
+    cc2a25e372b8103e.55f4dd632faca8d4.815ea64cf1e13add.9274e46400251769
+    86e7c204f6afeb6f.78c73a5d60577b24.346a840617964847.0307caaceee7ec50
+    70ab9ef388ddccf5
+  after
+    7c6e8b71ad3eddb7.5b04349f8e54c97e.33100f887f18c6e2.3350ef22ba0b9824
+    679be75663419f0f.bfcd2ff21d30802b.74d9a8717365f81f.c1a6efb0230a0e94
+    7c6ee756ad3eddb7.bfcd349f8e54c97e.74d9a8717f18f81f.c1a6efb0ba0b9824
+    86e7c204f6afeb6f.78c73a5d60577b24.346a840617964847.0307caaceee7ec50
+    70ab9ef388ddccf5
+
+VPMAXUW_256(reg)
+  before
+    35ac5aa56b91f103.709e39a50c33edcf.8690434c4bba36c8.6bcabe8a0193e08a
+    af56fc2e32919827.681a06b2cf4fd289.da9bf39c8c63156c.004ad1c3cae1bcd2
+    38f580fa7969fd0c.4828a5175c0f56ca.cf3646b9c0dd53bb.d1b6379f8f8e994a
+    2dd4e076dda35c5f.ee9593c1ce8035bd.c3ac380f82b52d62.b8da6e096ba5321e
+    9382f1ed7a32457c
+  after
+    af56fc2e7969fd0c.681aa517cf4fd289.da9bf39cc0dd53bb.d1b6d1c3cae1bcd2
+    af56fc2e32919827.681a06b2cf4fd289.da9bf39c8c63156c.004ad1c3cae1bcd2
+    38f580fa7969fd0c.4828a5175c0f56ca.cf3646b9c0dd53bb.d1b6379f8f8e994a
+    2dd4e076dda35c5f.ee9593c1ce8035bd.c3ac380f82b52d62.b8da6e096ba5321e
+    9382f1ed7a32457c
+VPMAXUW_256(mem)
+  before
+    3c793d37d9428c8e.ea411a0cfacef0cc.342b4a9a42ad2a8f.1048c60b6f76df0c
+    918cccd3a4e0c380.cb8629296b73f6fe.f7b64890d3a3f26c.1458eb1722aca566
+    6c871cadf619a87f.2cf0093acc20a9a2.1404088d9e6c487f.2926a3a138e4ba1b
+    aa36a8b1ebf8f5b7.69cbb6aaba604763.65e0077fbe17eaf5.adffea134ca95bd8
+    fa2ebcdbfb87c449
+  after
+    3c793d37d9428c8e.ea411a0cfacef0cc.342b4a9a42ad2a8f.1048c60b6f76df0c
+    918cccd3a4e0c380.cb8629296b73f6fe.f7b64890d3a3f26c.1458eb1722aca566
+    918cccd3d942c380.ea412929facef6fe.f7b64a9ad3a3f26c.1458eb176f76df0c
+    aa36a8b1ebf8f5b7.69cbb6aaba604763.65e0077fbe17eaf5.adffea134ca95bd8
+    fa2ebcdbfb87c449
+
+VPMINUW_256(reg)
+  before
+    6e011664e00b3019.2765eccca0896753.dd632ce4d0bf0aee.c715bf5150ad92fa
+    63c3f31a97c0ddf5.c0e065e830d8b980.e6036856abca2fef.1670aeef6f3cfcb9
+    36bf4f69bd320489.4f728df3b8f2a969.dff9656be70cf111.2fbd4f4537cfe65e
+    444226bdeeeee480.b1e9e2d853e2f13b.248f1f8f1e128e01.ecc81e3fc6730a16
+    2a5d98c93533250d
+  after
+    36bf4f6997c00489.4f7265e830d8a969.dff9656babca2fef.16704f4537cfe65e
+    63c3f31a97c0ddf5.c0e065e830d8b980.e6036856abca2fef.1670aeef6f3cfcb9
+    36bf4f69bd320489.4f728df3b8f2a969.dff9656be70cf111.2fbd4f4537cfe65e
+    444226bdeeeee480.b1e9e2d853e2f13b.248f1f8f1e128e01.ecc81e3fc6730a16
+    2a5d98c93533250d
+VPMINUW_256(mem)
+  before
+    c54838d0a21bf36f.e7987582c57fb786.c20fdf821eb54e22.1112932eef673f6a
+    99547a3e28372f67.7c0d3624de71ba48.5eb101df34767b49.02cebbb5f39743f9
+    824eda01e4949621.5fed6710d6512972.619bc2dab23135dd.520f958ec92ed55a
+    5c03d403f23ee4ca.ec8303b048aa40b0.a799a05fb3f33809.5f201c260ab93038
+    844f4cea54c3913f
+  after
+    c54838d0a21bf36f.e7987582c57fb786.c20fdf821eb54e22.1112932eef673f6a
+    99547a3e28372f67.7c0d3624de71ba48.5eb101df34767b49.02cebbb5f39743f9
+    995438d028372f67.7c0d3624c57fb786.5eb101df1eb54e22.02ce932eef673f6a
+    5c03d403f23ee4ca.ec8303b048aa40b0.a799a05fb3f33809.5f201c260ab93038
+    844f4cea54c3913f
+
+VPMINUW_256(reg)
+  before
+    1ce6224543d9331d.033de5326d3fd48e.801d0772d1083aad.0c76165a54c740fa
+    853299a27286537c.53c8877971a52399.75056dc00df85415.6cffa0b8b0b908dc
+    197fad6f7e562d08.287238c41b7b8d16.288833089605c995.a301ba63e3d54dda
+    36195a1702d6fd6e.5e0674ff86cece31.f5f254b50bbbd7d9.8d46e1490a28cb21
+    069b905441be3edc
+  after
+    197f99a272862d08.287238c41b7b2399.288833080df85415.6cffa0b8b0b908dc
+    853299a27286537c.53c8877971a52399.75056dc00df85415.6cffa0b8b0b908dc
+    197fad6f7e562d08.287238c41b7b8d16.288833089605c995.a301ba63e3d54dda
+    36195a1702d6fd6e.5e0674ff86cece31.f5f254b50bbbd7d9.8d46e1490a28cb21
+    069b905441be3edc
+VPMINUW_256(mem)
+  before
+    eacc4372a3a16138.364c9c069a91fe5a.d14fb516cfa9a117.388fcc3305a7b88d
+    15a4768d4cdff161.776370a8e3136e77.5d1a79f51118c4f4.4daa98ee2354a95c
+    63f1a6935984a982.53acd06978e98672.de333a886928f0f3.9091b352fe4fe5f2
+    b07d4d6fe69a47c8.2871bab5f69e85f7.306677bcf2e4e441.5d8e19cb3422a9fc
+    10eec6c5615c3126
+  after
+    eacc4372a3a16138.364c9c069a91fe5a.d14fb516cfa9a117.388fcc3305a7b88d
+    15a4768d4cdff161.776370a8e3136e77.5d1a79f51118c4f4.4daa98ee2354a95c
+    15a443724cdf6138.364c70a89a916e77.5d1a79f51118a117.388f98ee05a7a95c
+    b07d4d6fe69a47c8.2871bab5f69e85f7.306677bcf2e4e441.5d8e19cb3422a9fc
+    10eec6c5615c3126
+
+VPMINUW_256(reg)
+  before
+    04fdb6ad2086b91c.d715e90d0d2f855e.50ff2af9f9bea5b1.2e7fa97bc8585a0a
+    9707e6ed0e2e7c88.b685f559ed4f2071.28a21a9f1bd6234c.b6494db308910f79
+    245850f3c6dfb719.2899ee3f9f04d32c.0da68815fb713b76.a392e04ece9abfbb
+    073bf22ae426a679.081d4eac425d5cbd.59566fc5321b29d8.d024dd3a357f25fb
+    1bccc062594dfe66
+  after
+    245850f30e2e7c88.2899ee3f9f042071.0da61a9f1bd6234c.a3924db308910f79
+    9707e6ed0e2e7c88.b685f559ed4f2071.28a21a9f1bd6234c.b6494db308910f79
+    245850f3c6dfb719.2899ee3f9f04d32c.0da68815fb713b76.a392e04ece9abfbb
+    073bf22ae426a679.081d4eac425d5cbd.59566fc5321b29d8.d024dd3a357f25fb
+    1bccc062594dfe66
+VPMINUW_256(mem)
+  before
+    5f5606b2570f0628.9cfec8fd058d8555.34dc938aef63754d.6900cb1d5f612821
+    778e29164bd2f96c.3eebccdac5a38f58.86a438c7c524da0b.99ee98881bce75fb
+    4140a77a50a0925e.4b4ffc2cbef1012f.dc3fb94dddab4920.466dd37204ee4b12
+    9737fbca82878e2c.1e76535f8f051786.117a930a55047cbb.cac97747b64ee814
+    824e7f73cc7986ab
+  after
+    5f5606b2570f0628.9cfec8fd058d8555.34dc938aef63754d.6900cb1d5f612821
+    778e29164bd2f96c.3eebccdac5a38f58.86a438c7c524da0b.99ee98881bce75fb
+    5f5606b24bd20628.3eebc8fd058d8555.34dc38c7c524754d.690098881bce2821
+    9737fbca82878e2c.1e76535f8f051786.117a930a55047cbb.cac97747b64ee814
+    824e7f73cc7986ab
+
+VPMAXSW_256(reg)
+  before
+    ca48ea62e3fb6183.5740a2f2fe93a900.12abcddfd26a0c08.002140e9493c3006
+    fe02b1809661b749.5b2816dfdfcf9e06.853c661923ad1d61.86003ed5d45e202e
+    7acad23a8136c2a9.80b9d57b42472a6b.d1741b771f59863f.80e208bc12760a5e
+    9aea48fa4106bf4e.a3bf5ab44207095b.549ee66661fa834c.c8951b892091a8c3
+    3ce3f1281abab688
+  after
+    7acad23a9661c2a9.5b2816df42472a6b.d174661923ad1d61.86003ed51276202e
+    fe02b1809661b749.5b2816dfdfcf9e06.853c661923ad1d61.86003ed5d45e202e
+    7acad23a8136c2a9.80b9d57b42472a6b.d1741b771f59863f.80e208bc12760a5e
+    9aea48fa4106bf4e.a3bf5ab44207095b.549ee66661fa834c.c8951b892091a8c3
+    3ce3f1281abab688
+VPMAXSW_256(mem)
+  before
+    b69908861bfef2da.baaf0f2e725eeae4.9e082175fc1cf701.6807c553861d4f34
+    1383db8d3f6816e5.36652341afc97e19.4f5fa6a98b91af8a.6bfbb3a9294d27a4
+    306de62aa304dfd4.6a57819e94d4b897.908f663e0c73ee21.b7c6add3e6164748
+    e722a64a62de08d4.b2d323b3be0ad40a.3e65dc1f9acd70f3.a9b3ae3f5b04eacb
+    9e10b15821a44dda
+  after
+    b69908861bfef2da.baaf0f2e725eeae4.9e082175fc1cf701.6807c553861d4f34
+    1383db8d3f6816e5.36652341afc97e19.4f5fa6a98b91af8a.6bfbb3a9294d27a4
+    138308863f6816e5.36652341725e7e19.4f5f2175fc1cf701.6bfbc553294d4f34
+    e722a64a62de08d4.b2d323b3be0ad40a.3e65dc1f9acd70f3.a9b3ae3f5b04eacb
+    9e10b15821a44dda
+
+VPMAXSW_256(reg)
+  before
+    f027b48ad682ac20.157095d899034f10.692307ebc8f70e20.35ad843851abf02c
+    fc45b3411628434b.962131bf647f6eb6.ed9528b24f27a182.5133da754e192bf7
+    1fb6a8e97c244d04.4602f5eddd5c22ef.99738374ee27cadf.6fc35ac3ad24dd81
+    b3c691efa40207f9.01df5d4d22a826e9.c90a129e4282c4e1.6929810c89d7c2f5
+    1c30ca3dfe3f9580
+  after
+    1fb6b3417c244d04.460231bf647f6eb6.ed9528b24f27cadf.6fc35ac34e192bf7
+    fc45b3411628434b.962131bf647f6eb6.ed9528b24f27a182.5133da754e192bf7
+    1fb6a8e97c244d04.4602f5eddd5c22ef.99738374ee27cadf.6fc35ac3ad24dd81
+    b3c691efa40207f9.01df5d4d22a826e9.c90a129e4282c4e1.6929810c89d7c2f5
+    1c30ca3dfe3f9580
+VPMAXSW_256(mem)
+  before
+    64a5b1432967134e.15c169bd2b4dadd6.a384e6cb4f6e37d0.d9a5d39ae6c5cd34
+    1d55b208255bf88a.a1f22cc0ac917a47.09bd0b537fbb11d0.2492c1d5777b1f85
+    230a4a7a0f280061.b3a7d665c45aacf7.0d5648d1cf9a7014.081cd9bc9030f780
+    5290f48403d9e6fe.a82a64170f357c92.8c1a19315a170fc8.df8e15b9cd7090d0
+    0735733acbc82822
+  after
+    64a5b1432967134e.15c169bd2b4dadd6.a384e6cb4f6e37d0.d9a5d39ae6c5cd34
+    1d55b208255bf88a.a1f22cc0ac917a47.09bd0b537fbb11d0.2492c1d5777b1f85
+    64a5b2082967134e.15c169bd2b4d7a47.09bd0b537fbb37d0.2492d39a777b1f85
+    5290f48403d9e6fe.a82a64170f357c92.8c1a19315a170fc8.df8e15b9cd7090d0
+    0735733acbc82822
+
+VPMAXSW_256(reg)
+  before
+    db5deeaa26c4f922.86b52c121b7a678e.dac8d14127ad29c5.61d6fa603d3fab19
+    b652827579ee3f7b.9b446e1076183f3d.a6cd1951ab4eed3c.6a566848931d0033
+    f6602b0760d438d9.6d08366a2dbe2936.688538b234a506a3.8266ded778bdca41
+    f5d2e6cc78011eea.d7ce010c5f78e2a6.7c3c2bd0613dada5.85d2d8f7092cc470
+    4f66d2966174abec
+  after
+    f6602b0779ee3f7b.6d086e1076183f3d.688538b234a506a3.6a56684878bd0033
+    b652827579ee3f7b.9b446e1076183f3d.a6cd1951ab4eed3c.6a566848931d0033
+    f6602b0760d438d9.6d08366a2dbe2936.688538b234a506a3.8266ded778bdca41
+    f5d2e6cc78011eea.d7ce010c5f78e2a6.7c3c2bd0613dada5.85d2d8f7092cc470
+    4f66d2966174abec
+VPMAXSW_256(mem)
+  before
+    bced489f9da43ae0.11f6ae305d022e58.b7624ae2255326b8.3e3dec17cba321ee
+    a834b7fed9c62f79.a4167f9faa62a3cf.e8908dd99d5ab099.09d579f310619c2b
+    ee089a9f30e644e2.0b7f5586fbadbbfc.462446dbe3993e75.3b50cdd1cc055b08
+    6c336d6ebe103648.a37d2c4fed70b08b.ade9f2d6121d8a77.2ffae51b9a1b9a30
+    411fbb3f172e9450
+  after
+    bced489f9da43ae0.11f6ae305d022e58.b7624ae2255326b8.3e3dec17cba321ee
+    a834b7fed9c62f79.a4167f9faa62a3cf.e8908dd99d5ab099.09d579f310619c2b
+    bced489fd9c63ae0.11f67f9f5d022e58.e8904ae2255326b8.3e3d79f3106121ee
+    6c336d6ebe103648.a37d2c4fed70b08b.ade9f2d6121d8a77.2ffae51b9a1b9a30
+    411fbb3f172e9450
+
+VPMINSW_256(reg)
+  before
+    cd0b4da7deca8614.fd81ac57a051c0d7.c65c01681b36be27.f8ad0cb447f150cc
+    2f0996c18b7bac27.7cc0d446f1b4a0ba.d167cf3b228b237d.053a0f639d214e9f
+    c26792f8bbce4136.c7bb6028ce45901d.20ec92369dfc1938.af5d7ace30ba3e1d
+    e46f3eb8094e83ec.b93dcce752114c2e.103546c42914dd05.d1e2c6e11dc7dd71
+    499571887f54e6c8
+  after
+    c26792f88b7bac27.c7bbd446ce45901d.d16792369dfc1938.af5d0f639d213e1d
+    2f0996c18b7bac27.7cc0d446f1b4a0ba.d167cf3b228b237d.053a0f639d214e9f
+    c26792f8bbce4136.c7bb6028ce45901d.20ec92369dfc1938.af5d7ace30ba3e1d
+    e46f3eb8094e83ec.b93dcce752114c2e.103546c42914dd05.d1e2c6e11dc7dd71
+    499571887f54e6c8
+VPMINSW_256(mem)
+  before
+    f142f6af736e164e.f06e946d1288acf6.2d13947199239217.fb8fe851615fab90
+    a7b4d1421520292e.41b092837207f800.010935b0c1871c04.3e467349e16abe84
+    45b87e2e7f77db95.35813366c457a5b5.0feb2992e34aa722.35a6e31847c0538e
+    a91b795dd07de8af.272c7482a405edc1.3585ee021d77ee9d.3cfa342a2ceea659
+    af9062eb2e7ef292
+  after
+    f142f6af736e164e.f06e946d1288acf6.2d13947199239217.fb8fe851615fab90
+    a7b4d1421520292e.41b092837207f800.010935b0c1871c04.3e467349e16abe84
+    a7b4d1421520164e.f06e92831288acf6.0109947199239217.fb8fe851e16aab90
+    a91b795dd07de8af.272c7482a405edc1.3585ee021d77ee9d.3cfa342a2ceea659
+    af9062eb2e7ef292
+
+VPMINSW_256(reg)
+  before
+    eab26ac8e9fe74e5.ada73fbc21400ba7.72ff4f43af9c0dd2.4da3ffec8b1bafa0
+    49ae472bf8fa68fd.2e284b3891cc01a9.7444c21680a84092.3410d93c4840a458
+    28cef582f7fd0a87.096c19bc392c85e3.8748c865b4b6c4ad.c799f6de70f589f0
+    e35e70378393952e.183e2633386c557f.08575d9ee650d3d0.e00ad4be20431c96
+    5c2feec973381773
+  after
+    28cef582f7fd0a87.096c19bc91cc85e3.8748c21680a8c4ad.c799d93c484089f0
+    49ae472bf8fa68fd.2e284b3891cc01a9.7444c21680a84092.3410d93c4840a458
+    28cef582f7fd0a87.096c19bc392c85e3.8748c865b4b6c4ad.c799f6de70f589f0
+    e35e70378393952e.183e2633386c557f.08575d9ee650d3d0.e00ad4be20431c96
+    5c2feec973381773
+VPMINSW_256(mem)
+  before
+    18d4c0e986df37b5.d6acb5b83748469f.3869ec8ba7982ba9.54bd7d2cb205a9a7
+    eec5c60b75453788.5d03be70b0a95986.46bae9afa4bdc38e.c5c6257ab55e84dd
+    bbcd7d1c5a74d518.d4ae89cb8a410a8e.1cfd988b4be6db5a.b9bd50f68be99e1f
+    5bba6007547bcb90.97fa12355f9d9464.97fe750bb7202d38.8aeffa0bcf323418
+    95a91f251ec38275
+  after
+    18d4c0e986df37b5.d6acb5b83748469f.3869ec8ba7982ba9.54bd7d2cb205a9a7
+    eec5c60b75453788.5d03be70b0a95986.46bae9afa4bdc38e.c5c6257ab55e84dd
+    eec5c0e986df3788.d6acb5b8b0a9469f.3869e9afa4bdc38e.c5c6257ab20584dd
+    5bba6007547bcb90.97fa12355f9d9464.97fe750bb7202d38.8aeffa0bcf323418
+    95a91f251ec38275
+
+VPMINSW_256(reg)
+  before
+    3735bcb1132ac3e2.aa56ebb87c63d61c.0134531ace4734b3.9389fd1c04767655
+    cadfcc194af3340a.846e9a1af13ab1ea.70a54ae670ce2628.ec6aaaa84ff472dc
+    abf54aca60a8119a.c6ceea1bcc0b1923.3f9cf106e3bba56f.7e6cfa9cb4a7dcfa
+    36c23531f0d7953e.4a4256a62be3caf6.ca6446e4c39cee33.255c68e54e9a71db
+    bd07716e39d9edaa
+  after
+    abf5cc194af3119a.846e9a1acc0bb1ea.3f9cf106e3bba56f.ec6aaaa8b4a7dcfa
+    cadfcc194af3340a.846e9a1af13ab1ea.70a54ae670ce2628.ec6aaaa84ff472dc
+    abf54aca60a8119a.c6ceea1bcc0b1923.3f9cf106e3bba56f.7e6cfa9cb4a7dcfa
+    36c23531f0d7953e.4a4256a62be3caf6.ca6446e4c39cee33.255c68e54e9a71db
+    bd07716e39d9edaa
+VPMINSW_256(mem)
+  before
+    22378f2292700b94.c79186b8970cfda1.ed9559a82acd808d.6c4845eeabfc3d20
+    30b840ef746c88c4.baaf3bcdf1d2856f.8b95720be4d5f614.8396e88e3868cee4
+    c358ffc0fcd92067.6b684edb98b56955.000c1abc7608e9b8.69982d32056bdc29
+    b7e2488145c18fa9.3608bd4e2b41e4ff.27c7cfa8fb7115a5.7c9b0f45ae91a49b
+    16eb8a33d06762e7
+  after
+    22378f2292700b94.c79186b8970cfda1.ed9559a82acd808d.6c4845eeabfc3d20
+    30b840ef746c88c4.baaf3bcdf1d2856f.8b95720be4d5f614.8396e88e3868cee4
+    22378f22927088c4.baaf86b8970c856f.8b9559a8e4d5808d.8396e88eabfccee4
+    b7e2488145c18fa9.3608bd4e2b41e4ff.27c7cfa8fb7115a5.7c9b0f45ae91a49b
+    16eb8a33d06762e7
+
+VPMAXUB_256(reg)
+  before
+    95d39a68077751b9.e821981e6c3290b5.77db849143033319.de920bb98f1c3607
+    53a13c50ee50aebc.32e269838c38e0b8.8a2d9d127f86924e.00394cdd4f160709
+    ae9f6b57217bb59d.71f1399cc2dd3bdd.cb49063d78563d4a.69870eff576a45d7
+    001b23e93d86a208.811a8356292f5d51.967dba7ccc006fba.f54acb0ac224ab9e
+    804c01ecac51f78a
+  after
+    aea16b57ee7bb5bc.71f1699cc2dde0dd.cb499d3d7f86924e.69874cff576a45d7
+    53a13c50ee50aebc.32e269838c38e0b8.8a2d9d127f86924e.00394cdd4f160709
+    ae9f6b57217bb59d.71f1399cc2dd3bdd.cb49063d78563d4a.69870eff576a45d7
+    001b23e93d86a208.811a8356292f5d51.967dba7ccc006fba.f54acb0ac224ab9e
+    804c01ecac51f78a
+VPMAXUB_256(mem)
+  before
+    e55a2b9032fce3c6.a75f6072ddfdb0a8.3d29c49bde3a013f.4713b53c170f654a
+    0240c5e26f312c7f.fdb81e5f9e6a1c29.83e97659fc08e4d5.3a58f3eaf4105aa5
+    b2ca4bcf80fd8de1.5f715a1a1c5b2238.2e28177a9fa7c23c.cb9871f0008e8c78
+    d0c43a41806bc417.2ad80f11f15cfd81.19b022ece42356a3.561e2abcd615356f
+    36381ab812319235
+  after
+    e55a2b9032fce3c6.a75f6072ddfdb0a8.3d29c49bde3a013f.4713b53c170f654a
+    0240c5e26f312c7f.fdb81e5f9e6a1c29.83e97659fc08e4d5.3a58f3eaf4105aa5
+    e55ac5e26ffce3c6.fdb86072ddfdb0a8.83e9c49bfc3ae4d5.4758f3eaf41065a5
+    d0c43a41806bc417.2ad80f11f15cfd81.19b022ece42356a3.561e2abcd615356f
+    36381ab812319235
+
+VPMAXUB_256(reg)
+  before
+    c9303d52516fde77.3af90d258c878b4e.b83739afbbf7eab0.224e139ae7865d33
+    6a538ff52e5a56e0.cb374068bf5e9eb1.66dcd46016ba2570.24ce6670c3df931b
+    75ed0d0d467f361d.5e484ff436fbbb6d.9011dd909d31ea6d.fafc985a9437b485
+    454ab2063569bada.d1f9b6b70c6a9cad.92234fabede67455.82a42444779c7b9e
+    9691861a8719a591
+  after
+    75ed8ff5467f56e0.cb484ff4bffbbbb1.90dcdd909dbaea70.fafc9870c3dfb485
+    6a538ff52e5a56e0.cb374068bf5e9eb1.66dcd46016ba2570.24ce6670c3df931b
+    75ed0d0d467f361d.5e484ff436fbbb6d.9011dd909d31ea6d.fafc985a9437b485
+    454ab2063569bada.d1f9b6b70c6a9cad.92234fabede67455.82a42444779c7b9e
+    9691861a8719a591
+VPMAXUB_256(mem)
+  before
+    14903ac9e1baee8b.38b67a4c95a41ec2.fe16f29c5db8fe9e.c85e261da16800d1
+    d66ebd3ba08c11b7.a87d614b05bd9d81.c36b7e8f46f09c6c.8f0d5e525640ca90
+    baf5895de19acb42.f3ea64701f3f74c5.fac3d67be31f3442.417ef3b6a7fc0d3c
+    9af11c1cbff1d858.734a7e257fb6de38.80ec764f4f50804d.3bfbe2b630270781
+    d9d126bc8e4df20d
+  after
+    14903ac9e1baee8b.38b67a4c95a41ec2.fe16f29c5db8fe9e.c85e261da16800d1
+    d66ebd3ba08c11b7.a87d614b05bd9d81.c36b7e8f46f09c6c.8f0d5e525640ca90
+    d690bdc9e1baeeb7.a8b67a4c95bd9dc2.fe6bf29c5df0fe9e.c85e5e52a168cad1
+    9af11c1cbff1d858.734a7e257fb6de38.80ec764f4f50804d.3bfbe2b630270781
+    d9d126bc8e4df20d
+
+VPMAXUB_256(reg)
+  before
+    774cbb365dfb0a89.5330f263579bf424.86e9abd8c1ae1886.32b0dbf4a68f3cb9
+    70b89d8e37bc8da4.c27d851dc4a7dad3.8613e7f383b45e5c.eadc805705e826b1
+    2261c932bb1db508.c1a35238231e4791.d1142ee45e54ec66.853ce1648868f861
+    e8933a8d83a8be61.2d6fd69f8f0ef789.c1387d16f018fe4f.e09c7a08491a6ff7
+    d5c7c72d670b469c
+  after
+    70b8c98ebbbcb5a4.c2a38538c4a7dad3.d114e7f383b4ec66.eadce16488e8f8b1
+    70b89d8e37bc8da4.c27d851dc4a7dad3.8613e7f383b45e5c.eadc805705e826b1
+    2261c932bb1db508.c1a35238231e4791.d1142ee45e54ec66.853ce1648868f861
+    e8933a8d83a8be61.2d6fd69f8f0ef789.c1387d16f018fe4f.e09c7a08491a6ff7
+    d5c7c72d670b469c
+VPMAXUB_256(mem)
+  before
+    418b45c1fc463b7f.1e99eb0b2bece65c.e2ad8c3e2582a5e7.b3cacff5d58ecfc4
+    00b26fae24d708ca.20c0db18507267a5.bd29f10200870ed9.041820eda8429c70
+    ee09c1e2fcca6aaa.4a5403208dc87ee8.98af7fd53c28ee88.0e6c6c6a06bea000
+    e85db7489f2c1c4a.f7a1618f7f7967cf.500bb4a4f6710123.2e13afd88a901920
+    c159e6a3d044417b
+  after
+    418b45c1fc463b7f.1e99eb0b2bece65c.e2ad8c3e2582a5e7.b3cacff5d58ecfc4
+    00b26fae24d708ca.20c0db18507267a5.bd29f10200870ed9.041820eda8429c70
+    41b26fc1fcd73bca.20c0eb1850ece6a5.e2adf13e2587a5e7.b3cacff5d58ecfc4
+    e85db7489f2c1c4a.f7a1618f7f7967cf.500bb4a4f6710123.2e13afd88a901920
+    c159e6a3d044417b
+
+VPMINUB_256(reg)
+  before
+    21890c38756454be.c877cecc2a09dbd7.85f3efd2c1125d09.c1080b5c496e02d4
+    abf11d01147e9095.6b26805ab86b637c.4f96ac53f01d9d40.c77400e7522caec7
+    bbdb166c4a1e2fab.ad354bde65607066.b0d5917fa7296321.3e190f332db7c12a
+    ad95f1e3b2cf6eac.6a6fab444ef3bdc1.06fd9bc382bfeb57.02c4b52af519f726
+    ef406cbac6600bea
+  after
+    abdb1601141e2f95.6b264b5a65606366.4f969153a71d6321.3e1900332d2cae2a
+    abf11d01147e9095.6b26805ab86b637c.4f96ac53f01d9d40.c77400e7522caec7
+    bbdb166c4a1e2fab.ad354bde65607066.b0d5917fa7296321.3e190f332db7c12a
+    ad95f1e3b2cf6eac.6a6fab444ef3bdc1.06fd9bc382bfeb57.02c4b52af519f726
+    ef406cbac6600bea
+VPMINUB_256(mem)
+  before
+    e15bb2cebd97baa0.dd69acd4e91d8945.7ea11a798f3107b8.ac5bc78a1e6d708f
+    b4e00352f5cbc074.a7a442aa8b94bb22.c597156743250a77.fd39104017be2f75
+    449ad9328b07d894.6791afd132c141ef.1a1d19fc86db822c.57e37250083f64b4
+    6d56b25a9a57bf29.797ef0b57c2f5757.5bffa12275602a01.14a7e9288d7b4af8
+    92d0723343fe1eef
+  after
+    e15bb2cebd97baa0.dd69acd4e91d8945.7ea11a798f3107b8.ac5bc78a1e6d708f
+    b4e00352f5cbc074.a7a442aa8b94bb22.c597156743250a77.fd39104017be2f75
+    b45b0352bd97ba74.a76942aa8b1d8922.7e97156743250777.ac391040176d2f75
+    6d56b25a9a57bf29.797ef0b57c2f5757.5bffa12275602a01.14a7e9288d7b4af8
+    92d0723343fe1eef
+
+VPMINUB_256(reg)
+  before
+    2ba908dec6551c43.0ae009b73fc83162.39b600c2056a3806.63092ac72cbfbf22
+    3d7fa793b00b80a0.f9045a339565e969.0384da6468ff22a9.0e062ed6c604fcbd
+    229e4bbfa0ac85b3.158e21bbb83aa56a.33357d0742794eec.38c42b3b5f3c9ffb
+    3752f1cf30c56828.3a49db3cc5541f92.2515e2182e65fb7a.bc0d9ce21472620b
+    78aefdb700b20217
+  after
+    227f4b93a00b80a0.15042133953aa569.03357d07427922a9.0e062b3b5f049fbd
+    3d7fa793b00b80a0.f9045a339565e969.0384da6468ff22a9.0e062ed6c604fcbd
+    229e4bbfa0ac85b3.158e21bbb83aa56a.33357d0742794eec.38c42b3b5f3c9ffb
+    3752f1cf30c56828.3a49db3cc5541f92.2515e2182e65fb7a.bc0d9ce21472620b
+    78aefdb700b20217
+VPMINUB_256(mem)
+  before
+    4773caa640093a4b.d9e7932dfce165aa.430302a1d8be130d.35700601c84e6400
+    0427809bef82c8d4.62a92f47a18cb7e6.0e8614d50c843f06.be92e630adc0c42a
+    8d989a832a2966de.2fe3c088ba539b87.769f8cc67db35daa.1ec67d10794757a3
+    bd9094480c0bd094.9ce2435be4c14d3a.561ae75f48562a25.b059c70cc7705b18
+    d098c19233c60a34
+  after
+    4773caa640093a4b.d9e7932dfce165aa.430302a1d8be130d.35700601c84e6400
+    0427809bef82c8d4.62a92f47a18cb7e6.0e8614d50c843f06.be92e630adc0c42a
+    0427809b40093a4b.62a92f2da18c65aa.0e0302a10c841306.35700601ad4e6400
+    bd9094480c0bd094.9ce2435be4c14d3a.561ae75f48562a25.b059c70cc7705b18
+    d098c19233c60a34
+
+VPMINUB_256(reg)
+  before
+    d9cd660d5ad6a1a4.6fdcead8b233c423.05f3b22eba6209ab.8cc39f8c897a61a2
+    2945b1e9d82b5c14.8148181e37aefcb7.c7600b6cd8c30a85.f26632395b29bf4d
+    1b4ba1924751762f.cda09b05b786357b.3c754981db6f8d75.66ce1b52da710054
+    0a2d2f7546d52ca1.31b0ee7b50c92a9b.c18068da5ff2ce26.c2c8d7c4235ee0e1
+    e421e07951fb1b20
+  after
+    1b45a192472b5c14.814818053786357b.3c600b6cd86f0a75.66661b395b29004d
+    2945b1e9d82b5c14.8148181e37aefcb7.c7600b6cd8c30a85.f26632395b29bf4d
+    1b4ba1924751762f.cda09b05b786357b.3c754981db6f8d75.66ce1b52da710054
+    0a2d2f7546d52ca1.31b0ee7b50c92a9b.c18068da5ff2ce26.c2c8d7c4235ee0e1
+    e421e07951fb1b20
+VPMINUB_256(mem)
+  before
+    a6a3b45f81546c3e.543558fc6e41ba18.87448d6b1b839945.b2cc64e1ffd90945
+    e61bce60ce759067.53b119945e245c3e.ac27f4c136bf3ca2.6ba43a0358af797e
+    7e54aa6a556b42c6.65eb6daaaf074dbf.7d26a069bc89cfe1.4855e5ad05015b7c
+    4b1cc46831414088.e43050a90078ca48.d40e0c4fcaed102c.a52b6149a259eaec
+    de72aa45cc456479
+  after
+    a6a3b45f81546c3e.543558fc6e41ba18.87448d6b1b839945.b2cc64e1ffd90945
+    e61bce60ce759067.53b119945e245c3e.ac27f4c136bf3ca2.6ba43a0358af797e
+    a61bb45f81546c3e.533519945e245c18.87278d6b1b833c45.6ba43a0358af0945
+    4b1cc46831414088.e43050a90078ca48.d40e0c4fcaed102c.a52b6149a259eaec
+    de72aa45cc456479
+
+VPMAXSB_256(reg)
+  before
+    4f76bd0c1e5103d0.293d99457f0444d8.2ecbbffcea030f85.8ea8b4607cf8b9b0
+    5482950a3508049d.f584a4ef5abf0ae3.9d0ab4110b325721.88c31486edb58798
+    48e42eabacf6a28b.89bd6151de7e50d5.8e382d53ff93e0c9.9c2aa8af39313511
+    89e6845b20a71a47.c2b44c58284dd0d9.5ea0252e61b2e328.a7a8edc57d778146
+    850b5eb6d4932564
+  after
+    54e42e0a3508049d.f5bd61515a7e50e3.9d382d530b325721.9c2a14af39313511
+    5482950a3508049d.f584a4ef5abf0ae3.9d0ab4110b325721.88c31486edb58798
+    48e42eabacf6a28b.89bd6151de7e50d5.8e382d53ff93e0c9.9c2aa8af39313511
+    89e6845b20a71a47.c2b44c58284dd0d9.5ea0252e61b2e328.a7a8edc57d778146
+    850b5eb6d4932564
+VPMAXSB_256(mem)
+  before
+    121d776d5b92de97.72d593862ca8a87c.7c35e1ee5439471c.678f990ecd199feb
+    2babb4d62d7e670a.5ffd58986d8488d7.930c9d007d4d71ca.0651835fe0564ebe
+    aa8192dd67667dea.abaacefd7ec8f603.e304fb7bbf96090e.9732e18e36f52d4c
+    6c6b8b6e2453dc62.b427f122fcff2dae.49eb7749371fcc14.777eae056a807842
+    0080e63118856b4c
+  after
+    121d776d5b92de97.72d593862ca8a87c.7c35e1ee5439471c.678f990ecd199feb
+    2babb4d62d7e670a.5ffd58986d8488d7.930c9d007d4d71ca.0651835fe0564ebe
+    2b1d776d5b7e670a.72fd58986da8a87c.7c35e1007d4d711c.6751995fe0564eeb
+    6c6b8b6e2453dc62.b427f122fcff2dae.49eb7749371fcc14.777eae056a807842
+    0080e63118856b4c
+
+VPMAXSB_256(reg)
+  before
+    8f86857fdd904115.4d341d758053409f.d5c2bd7182b56981.9f8b8d5800f47609
+    80da885a542b3749.29aac3de997164cd.69c52e58ad77e82b.c2b1ba923722c219
+    2fc9ea2d1ae48895.dc97fa9588ba0517.ce7d414218d0e456.8e2879e5f8b46d70
+    f89fa766ca4772a5.42c83c876b39dfaa.5f36f19a5f4c9aae.dfbe463c5db63338
+    903e9d838535d0a0
+  after
+    2fdaea5a542b3749.29aafade99716417.697d41581877e856.c22879e537226d70
+    80da885a542b3749.29aac3de997164cd.69c52e58ad77e82b.c2b1ba923722c219
+    2fc9ea2d1ae48895.dc97fa9588ba0517.ce7d414218d0e456.8e2879e5f8b46d70
+    f89fa766ca4772a5.42c83c876b39dfaa.5f36f19a5f4c9aae.dfbe463c5db63338
+    903e9d838535d0a0
+VPMAXSB_256(mem)
+  before
+    7f73faa6893cffd2.37a8bb7001df2f25.3609079e5efaaeb1.773c3ace1f7746e0
+    872ada9188d77dfb.482f22b75a38fcc0.9626d6c87c0a2d59.74db1949f4de2398
+    842fb8319b130646.8782d9a772de1422.3dea25f0e17419ce.b05e8877790d6f81
+    524e1070e0fb56e0.50ebdbace45eb4f8.07237102aa442d3b.881385c44a8e6348
+    59440b9d04ef3e98
+  after
+    7f73faa6893cffd2.37a8bb7001df2f25.3609079e5efaaeb1.773c3ace1f7746e0
+    872ada9188d77dfb.482f22b75a38fcc0.9626d6c87c0a2d59.74db1949f4de2398
+    7f73faa6893c7dfb.482f22705a382f25.362607c87c0a2d59.773c3a491f7746e0
+    524e1070e0fb56e0.50ebdbace45eb4f8.07237102aa442d3b.881385c44a8e6348
+    59440b9d04ef3e98
+
+VPMAXSB_256(reg)
+  before
+    7d3e166c42bb3a1e.cc535e3b739b28f5.ffb724334d4318ee.d09b35e9f28727cc
+    524da39fa17f9486.d0091f7f6f0039b0.f032b1a6481a7caf.731fed93d648c1af
+    32bdaca0bcc6887b.393ece27f135453e.7ea87c73716d1be8.ce7b15ec7193b80e
+    7ad92fdd301c52aa.e3bce71e144607ca.0765830465cb3245.bc7b29dee075c715
+    18eba6563ef9acf1
+  after
+    524daca0bc7f947b.393e1f7f6f35453e.7e327c73716d7ce8.737b15ec7148c10e
+    524da39fa17f9486.d0091f7f6f0039b0.f032b1a6481a7caf.731fed93d648c1af
+    32bdaca0bcc6887b.393ece27f135453e.7ea87c73716d1be8.ce7b15ec7193b80e
+    7ad92fdd301c52aa.e3bce71e144607ca.0765830465cb3245.bc7b29dee075c715
+    18eba6563ef9acf1
+VPMAXSB_256(mem)
+  before
+    c0960640a82b21ce.86ef27c0980e2dbf.a950e652f4403c81.e6b4c1c7c0bdfd71
+    8f4ac7893918e2d7.b34991b791275665.69c647aeae2ea08e.77e332271dd1b819
+    60d1651b0ecbad39.5b34672db6f40848.fdea871e5d1cef1e.153cd39018929ee8
+    11f85ae442513c20.dbfca78ea4ff8116.4388218e1e17e45d.1e0c9e6e4e8dec8b
+    ed9f912d5b4ddeae
+  after
+    c0960640a82b21ce.86ef27c0980e2dbf.a950e652f4403c81.e6b4c1c7c0bdfd71
+    8f4ac7893918e2d7.b34991b791275665.69c647aeae2ea08e.77e332271dd1b819
+    c04a0640392b21d7.b34927c098275665.69504752f4403c8e.77e332271dd1fd71
+    11f85ae442513c20.dbfca78ea4ff8116.4388218e1e17e45d.1e0c9e6e4e8dec8b
+    ed9f912d5b4ddeae
+
+VPMINSB_256(reg)
+  before
+    dd41a739d95eaffc.7c8b24cff2b54cb7.8fed4c46f6d6fb78.156b91ea0d2a3c76
+    4c3ddcfe674c9c21.7f563ec83903982b.d35352c24805b21d.5160531f4462b396
+    94e12de89ea4e1cb.f42424bb3347dea7.0379b66c3716e4af.d134e317e2c904e9
+    137795641df2baa4.b9c35294fd8ed858.7bad72b15f98cbda.73b1bec0016dec9a
+    11a45f04bd5a27d6
+  after
+    94e1dce89ea49ccb.f42424bb330398a7.d353b6c23705b2af.d134e317e2c9b396
+    4c3ddcfe674c9c21.7f563ec83903982b.d35352c24805b21d.5160531f4462b396
+    94e12de89ea4e1cb.f42424bb3347dea7.0379b66c3716e4af.d134e317e2c904e9
+    137795641df2baa4.b9c35294fd8ed858.7bad72b15f98cbda.73b1bec0016dec9a
+    11a45f04bd5a27d6
+VPMINSB_256(mem)
+  before
+    88d842d1329b71c8.234c10dc7dc06258.a8fd453fb3e34269.973984fe5b14a44c
+    b51be4127e3c859d.22ac9abe5d9c1694.9e9f77a87053da07.b36ae7bdc718abae
+    7237bfb3ba492080.6ae32f7556111204.777566bb50e85a5e.2b8c975c402f1baf
+    9cf9519f04cffe9e.593ccc6c06ac9153.104b8e6570b17f99.5bea914662e531f9
+    9fd2d0e7c7c72938
+  after
+    88d842d1329b71c8.234c10dc7dc06258.a8fd453fb3e34269.973984fe5b14a44c
+    b51be4127e3c859d.22ac9abe5d9c1694.9e9f77a87053da07.b36ae7bdc718abae
+    88d8e4d1329b859d.22ac9abe5d9c1694.9e9f45a8b3e3da07.973984bdc714a4ae
+    9cf9519f04cffe9e.593ccc6c06ac9153.104b8e6570b17f99.5bea914662e531f9
+    9fd2d0e7c7c72938
+
+VPMINSB_256(reg)
+  before
+    538e50aa0e603e19.0f2e15c578d9da23.49056c1109f8d02e.43ec6990ebb704e5
+    d36c0dfed13dae48.a89f870e3174713a.97880bcffa810b40.ed26752ade08a76d
+    7ab6034cace9b370.411b24674bab7f10.a012a51275d47e36.eac32d1e64af225e
+    a6b92f013cf0893e.b76d66bce38ac0d0.beef3747177c64bc.17910d579ab932e4
+    4e5a91c39b31922a
+  after
+    d3b603feace9ae48.a89f870e31ab7110.9788a5cffa810b36.eac32d1edeafa75e
+    d36c0dfed13dae48.a89f870e3174713a.97880bcffa810b40.ed26752ade08a76d
+    7ab6034cace9b370.411b24674bab7f10.a012a51275d47e36.eac32d1e64af225e
+    a6b92f013cf0893e.b76d66bce38ac0d0.beef3747177c64bc.17910d579ab932e4
+    4e5a91c39b31922a
+VPMINSB_256(mem)
+  before
+    6cea354d8423ff5d.b2c18c891cde6e5e.e660cbfa151eefa7.4e6bbbd87c05fa7d
+    4d0f76e1709b35a8.f9191651e8409c7b.aac2ce0bfc72c9c1.acd22f323ffc7c26
+    cd94cf6b7ca6f038.d90fc9c33ea15042.df5decddb4920a49.35708ec2fcec2562
+    c844bcd8c350eb39.adeda24db78ec55e.61fe9f5b5a8a6e6c.4390d5f2506233de
+    337ffe30d6e8df46
+  after
+    6cea354d8423ff5d.b2c18c891cde6e5e.e660cbfa151eefa7.4e6bbbd87c05fa7d
+    4d0f76e1709b35a8.f9191651e8409c7b.aac2ce0bfc72c9c1.acd22f323ffc7c26
+    4dea35e1849bffa8.b2c18c89e8de9c5e.aac2cbfafc1ec9a7.acd2bbd83ffcfa26
+    c844bcd8c350eb39.adeda24db78ec55e.61fe9f5b5a8a6e6c.4390d5f2506233de
+    337ffe30d6e8df46
+
+VPMINSB_256(reg)
+  before
+    618907e72b0c6845.1aecba1261a3e3d6.d0009b59f192397c.0c7165700967b055
+    29faeb83ea5a0888.9f58430673ad943c.a094b2558839e647.bc81b90ade358d31
+    e71ea76fb05dfcba.3354d5a11579ba96.77f5e2ac1710086d.4dfc1714f4fec02c
+    f741351918a18088.b1acebce62141011.b36f28ca3aa2dd97.9bacfc7a68d00771
+    825ee22855b71c2d
+  after
+    e7faa783b05afc88.9f54d5a115ad9496.a094b2ac8810e647.bc81b90adefe8d2c
+    29faeb83ea5a0888.9f58430673ad943c.a094b2558839e647.bc81b90ade358d31
+    e71ea76fb05dfcba.3354d5a11579ba96.77f5e2ac1710086d.4dfc1714f4fec02c
+    f741351918a18088.b1acebce62141011.b36f28ca3aa2dd97.9bacfc7a68d00771
+    825ee22855b71c2d
+VPMINSB_256(mem)
+  before
+    ddde470bd8bdbc8b.b5ae93edbfb2d09e.f72c0178768953d9.ae4d7e1b8e7b9f74
+    8af8a60d0cf0a2b8.7db2bc55401d27a7.e09f948d6ee43e19.c6dde20bae288bad
+    64787c1c0e5c8ce0.ab9aacbe386dc250.48d31ff865328ffe.55694f073734dcf1
+    472a4322f90b342e.9ab05f95422fdd44.0b921da5787e00b3.b93ec179c52bd0ea
+    4ca835cef39aa145
+  after
+    ddde470bd8bdbc8b.b5ae93edbfb2d09e.f72c0178768953d9.ae4d7e1b8e7b9f74
+    8af8a60d0cf0a2b8.7db2bc55401d27a7.e09f948d6ee43e19.c6dde20bae288bad
+    8adea60bd8bda28b.b5ae93edbfb2d09e.e09f948d6e893ed9.aedde20b8e288bad
+    472a4322f90b342e.9ab05f95422fdd44.0b921da5787e00b3.b93ec179c52bd0ea
+    4ca835cef39aa145
+
+VPMOVSXBW_256(reg)
+  before
+    6bf3a5735d0c8bad.0ed9790de90b56ce.a840d244faedb330.04a90d80c3d44e65
+    726a0fd3a00dcccf.975299c7fb68b0ee.3098ff39fd3681c0.11e468756041343f
+    be5b6e59572a9e56.bd611f3e4b2cfcb8.8e03e4dee793839f.0d0eac716ed0706f
+    a910bf731eee3eef.5bd2885df465f758.1ecc7da15392f47a.d3f5535e068ebc1e
+    4163db294685d47b
+  after
+    6bf3a5735d0c8bad.0ed9790de90b56ce.a840d244faedb330.04a90d80c3d44e65
+    ff8e0003ffe4ffde.ffe7ff93ff83ff9f.000d000effac0071.006effd00070006f
+    be5b6e59572a9e56.bd611f3e4b2cfcb8.8e03e4dee793839f.0d0eac716ed0706f
+    a910bf731eee3eef.5bd2885df465f758.1ecc7da15392f47a.d3f5535e068ebc1e
+    4163db294685d47b
+VPMOVSXBW_256(mem)
+  before
+    3125c0bf4ac376af.90d6fc8c93e5e746.4f714e10121f5cfb.3b40c4edddbe12fc
+    81077c0b2d545ce9.cff923104f9cd706.730aef43c265e8cd.43abb72e22a417d2
+    0bd58df80c434353.c2c52f6bf09e48dc.a568e6e31f4357f9.915951d0bdcf3fa7
+    ad5b6e74029ce61a.c5861c0912777773.bf59afda46c565ac.80968e3f4bcbc829
+    6ead6ae76824ec01
+  after
+    3125c0bf4ac376af.90d6fc8c93e5e746.4f714e10121f5cfb.3b40c4edddbe12fc
+    004f0071004e0010.0012001f005cfffb.003b0040ffc4ffed.ffddffbe0012fffc
+    0bd58df80c434353.c2c52f6bf09e48dc.a568e6e31f4357f9.915951d0bdcf3fa7
+    ad5b6e74029ce61a.c5861c0912777773.bf59afda46c565ac.80968e3f4bcbc829
+    6ead6ae76824ec01
+
+VPMOVSXBW_256(reg)
+  before
+    b5ece235ae67e8de.41659b6a2b6b0369.3487e75750b49f78.9fa7c71552f8ce12
+    b39df093bc20f769.a5be90c6a4bd546d.6c158abf46e0fd97.1f1fa98160e74d56
+    c20d926f2bd95751.b333ca74899d9551.c77d03af9187cd7b.1d8dd0088b9f9fa4
+    4088c43399204240.4891c361f5188442.a1094d91cd364bd1.73bcbb98f02a7f2a
+    fe7ae31caa97ab11
+  after
+    b5ece235ae67e8de.41659b6a2b6b0369.3487e75750b49f78.9fa7c71552f8ce12
+    ffc7007d0003ffaf.ff91ff87ffcd007b.001dff8dffd00008.ff8bff9fff9fffa4
+    c20d926f2bd95751.b333ca74899d9551.c77d03af9187cd7b.1d8dd0088b9f9fa4
+    4088c43399204240.4891c361f5188442.a1094d91cd364bd1.73bcbb98f02a7f2a
+    fe7ae31caa97ab11
+VPMOVSXBW_256(mem)
+  before
+    9b91c680d6efdd88.875a804da280f4e3.41a2f9770438db6c.580665d39578b244
+    24cedeb08f40d1b9.f5cfc428e186abe5.7832e7a3d30c57fa.47bf45e085da3f81
+    76fea998f29545d0.e4328a30f3bda1f3.ca0f0ad27d9db319.ca82eb233ae72e34
+    6deaa3241afbf3fb.b1d1d1d173b113b8.1304ddee1ff9adf5.3d99520a4f2bbb08
+    fc517600613221aa
+  after
+    9b91c680d6efdd88.875a804da280f4e3.41a2f9770438db6c.580665d39578b244
+    0041ffa2fff90077.00040038ffdb006c.005800060065ffd3.ff950078ffb20044
+    76fea998f29545d0.e4328a30f3bda1f3.ca0f0ad27d9db319.ca82eb233ae72e34
+    6deaa3241afbf3fb.b1d1d1d173b113b8.1304ddee1ff9adf5.3d99520a4f2bbb08
+    fc517600613221aa
+
+VPMOVSXBW_256(reg)
+  before
+    63f753710b899dc5.e5614640237c9864.b8f69277fdef3ce1.2fdcdbe5d42bffb9
+    cdd5e6caeabb6b06.bb2e10d82a27ef37.56eeca8e2e025a1a.fb6482a2b9406691
+    98372a759955c618.c91c7cd94b05b6a1.e5057682a276a70e.51684e11e9439daa
+    1f6b1bdfb5e2eba9.ecf9062da024a7ce.c28691c0f4d8606a.0eb4b91e81406130
+    0e1441b59c446e4f
+  after
+    63f753710b899dc5.e5614640237c9864.b8f69277fdef3ce1.2fdcdbe5d42bffb9
+    ffe500050076ff82.ffa20076ffa7000e.00510068004e0011.ffe90043ff9dffaa
+    98372a759955c618.c91c7cd94b05b6a1.e5057682a276a70e.51684e11e9439daa
+    1f6b1bdfb5e2eba9.ecf9062da024a7ce.c28691c0f4d8606a.0eb4b91e81406130
+    0e1441b59c446e4f
+VPMOVSXBW_256(mem)
+  before
+    2d5361c257598032.bdbbb575d9ee1662.008f2ac2488f7fe9.49bf17b2c0b3c0d9
+    473f9531cd8e5205.d075f5a2a20583f2.e1ab65835d53f91f.d6fa04c6a3930408
+    38a259ef1aeca1f5.b3e3d5d1abb46d02.6b19325bfb7bd29b.c6845566380568a3
+    dc492ae65b81292e.c152537090871141.7aa40d383f13c68a.73aa05001c942855
+    3ab610ffeacd7fcb
+  after
+    2d5361c257598032.bdbbb575d9ee1662.008f2ac2488f7fe9.49bf17b2c0b3c0d9
+    0000ff8f002affc2.0048ff8f007fffe9.0049ffbf0017ffb2.ffc0ffb3ffc0ffd9
+    38a259ef1aeca1f5.b3e3d5d1abb46d02.6b19325bfb7bd29b.c6845566380568a3
+    dc492ae65b81292e.c152537090871141.7aa40d383f13c68a.73aa05001c942855
+    3ab610ffeacd7fcb
+
+VPSUBUSW_256(reg)
+  before
+    77f472cf3f3aaab0.0f008304ac59a6db.580e6aeaee08aa59.ea1a720544289117
+    86b228dcb66ae5b1.ac93e033287ed329.d26217ab61c576f7.9645ddae27c5ee70
+    c33a2c92ece66c7a.91cdbd61ebfe6d44.8d9c541f8449afc6.5cf2cb2003f69abe
+    8ada7c5d7c3c7ab6.997c977912e52f57.e3061fb2f3219273.17edb745f5c85130
+    a3021d0a1846cff0
+  after
+    000000003a2e6afb.131748ba1599a3d2.0000000000000000.7e58266900009d40
+    86b228dcb66ae5b1.ac93e033287ed329.d26217ab61c576f7.9645ddae27c5ee70
+    c33a2c92ece66c7a.91cdbd61ebfe6d44.8d9c541f8449afc6.5cf2cb2003f69abe
+    8ada7c5d7c3c7ab6.997c977912e52f57.e3061fb2f3219273.17edb745f5c85130
+    a3021d0a1846cff0
+VPSUBUSW_256(mem)
+  before
+    dcfd795c887ccf2a.36dc13a903f74c12.a06ae867b93dd78f.31ee73d04bd85ba9
+    9daa482562770e0b.258deee31ca31d39.82642e17fa141f17.d49e4ce627fa4515
+    c4d40453c24248bf.b239077563cd2bd8.1a36e475f476c41c.2663a75e24148d63
+    2c482bd1c3e93871.392b5ccd7500b09b.46ac876dc16d81ca.84887fa6ddb16f3e
+    4b5bcf28ef5d2653
+  after
+    dcfd795c887ccf2a.36dc13a903f74c12.a06ae867b93dd78f.31ee73d04bd85ba9
+    9daa482562770e0b.258deee31ca31d39.82642e17fa141f17.d49e4ce627fa4515
+    0000000000000000.0000db3a18ac0000.0000000040d70000.a2b0000000000000
+    2c482bd1c3e93871.392b5ccd7500b09b.46ac876dc16d81ca.84887fa6ddb16f3e
+    4b5bcf28ef5d2653
+
+VPSUBUSW_256(reg)
+  before
+    d5269652f5a5ef4e.b0d2398a81799b4e.16b1e856eec9e92d.e19291eb7d07144c
+    7f37cd8f8c1406da.2e3ea86c19fd2d82.a415a77b69b3113b.c6b380dc445037ce
+    a5d8714b4f36a7a3.8058f662a782aa38.41a496aa824a6570.d3ddcf2a3453a67e
+    a4567ff2db980d56.84ec9d584612cd9d.48aaaf4ed61b2179.e2dafac3661c1f86
+    d1777e91f8b75c12
+  after
+    00004d9d00000000.00000b1400000000.5b6b000000000000.0000000000001848
+    7f37cd8f8c1406da.2e3ea86c19fd2d82.a415a77b69b3113b.c6b380dc445037ce
+    a5d8714b4f36a7a3.8058f662a782aa38.41a496aa824a6570.d3ddcf2a3453a67e
+    a4567ff2db980d56.84ec9d584612cd9d.48aaaf4ed61b2179.e2dafac3661c1f86
+    d1777e91f8b75c12
+VPSUBUSW_256(mem)
+  before
+    7a80d68206311a4f.d6fdf2f0cbc5759f.14c51b3b12bb53dc.1473f0d300b08101
+    bbc17d81ab951469.9818c6b1bb4a1b2a.0eb1ecf52889f822.034b54a59d98c1b6
+    6e05f27a04ef088b.46f5f8a148b13aa2.4c7a8a73a387779a.707ed831495c1c41
+    711aae592c4cb0e2.3cde822d0e8810b3.aced73a2a0c18d71.b65776e19e8acf51
+    33232c223aad158f
+  after
+    7a80d68206311a4f.d6fdf2f0cbc5759f.14c51b3b12bb53dc.1473f0d300b08101
+    bbc17d81ab951469.9818c6b1bb4a1b2a.0eb1ecf52889f822.034b54a59d98c1b6
+    41410000a5640000.0000000000000000.0000d1ba15cea446.000000009ce840b5
+    711aae592c4cb0e2.3cde822d0e8810b3.aced73a2a0c18d71.b65776e19e8acf51
+    33232c223aad158f
+
+VPSUBUSW_256(reg)
+  before
+    412ff561b9522baa.9eca2e0a3fb7c89a.d62062bfa85bd70a.08d6226c3a43f6d3
+    3ec5cd09b6044d4c.d2e2ef795a3d0ede.700793c5b2b5cb53.3e0013bf8e1a6eeb
+    8431b185ce4fb722.ea2e6c9398e93cda.66df12aac9222a3a.2839c286b751b0e6
+    70c19b439cc0a5d7.c07a214216c70fbb.14f4d9d9892e2e6a.a34bacadd2f579f0
+    8b034c20fa118534
+  after
+    000031c619440000.1268ce3743760000.5b13000029879ce9.0000000000000000
+    3ec5cd09b6044d4c.d2e2ef795a3d0ede.700793c5b2b5cb53.3e0013bf8e1a6eeb
+    8431b185ce4fb722.ea2e6c9398e93cda.66df12aac9222a3a.2839c286b751b0e6
+    70c19b439cc0a5d7.c07a214216c70fbb.14f4d9d9892e2e6a.a34bacadd2f579f0
+    8b034c20fa118534
+VPSUBUSW_256(mem)
+  before
+    bd2e1ecb4bb18fde.5fbf89aebde25218.31928b73f0e342ad.d592e6c08c66138f
+    13959e9ae2e1541b.ab797632cc41fb90.19412413404a93dc.070434ca71551756
+    6a074979dbae9017.b1395e3b656adbec.54546a0d2507bc73.0597bf63d188746b
+    9e4f99545123fffe.ce4c3e3525e830d8.bf98d84cb8277a9e.2b9784f74b896779
+    d5507df378e72c2d
+  after
+    bd2e1ecb4bb18fde.5fbf89aebde25218.31928b73f0e342ad.d592e6c08c66138f
+    13959e9ae2e1541b.ab797632cc41fb90.19412413404a93dc.070434ca71551756
+    00007fcf97300000.4bba00000e5fa978.000000000000512f.00000000000003c7
+    9e4f99545123fffe.ce4c3e3525e830d8.bf98d84cb8277a9e.2b9784f74b896779
+    d5507df378e72c2d
+
+VPSUBSW_256(reg)
+  before
+    5e0ea8c1f72bfe33.8b380c18604d5cfb.5cfe118da84734ff.34d7ebbe18b5888b
+    241d00ce61e31a36.0d901daf2537643a.b89bd3ad8914230e.90dd1d4e5ebda363
+    82c88187549abce3.00214907bcedd3e8.3e6e800264da3bb0.af78ece8a84c8755
+    d35d28566cdd20e5.40b80a0b3f7c6531.4ac514f9d625b692.6d73d379126df08b
+    a6994eebb72c9931
+  after
+    50c0d878f506f951.ccd813a4e5bbff09.8000beb4b2ef6c7c.800049d54c50b2d8
+    241d00ce61e31a36.0d901daf2537643a.b89bd3ad8914230e.90dd1d4e5ebda363
+    82c88187549abce3.00214907bcedd3e8.3e6e800264da3bb0.af78ece8a84c8755
+    d35d28566cdd20e5.40b80a0b3f7c6531.4ac514f9d625b692.6d73d379126df08b
+    a6994eebb72c9931
+VPSUBSW_256(mem)
+  before
+    36b7d92bb4953f75.7526efa9443781e9.a921dea6cdefd541.38ea8cfd7a82d160
+    f99af12624b59e80.c270d4eb79341c9a.172740c67f52e043.642ae379ed7cc8c5
+    cb0b11c623987281.1887d388a6612da6.6698ac5674b24163.2ad115dbcaa0d66e
+    88d9b5f9ce4876a2.d1b6e6ec6748efb6.723e9f42c51ab6ce.e62b1e8eae783806
+    f483fafe34922a3a
+  after
+    36b7d92bb4953f75.7526efa9443781e9.a921dea6cdefd541.38ea8cfd7a82d160
+    f99af12624b59e80.c270d4eb79341c9a.172740c67f52e043.642ae379ed7cc8c5
+    c2e317fb70208000.8000e54234fd7fff.6e0662207fff0b02.2b40567c8000f765
+    88d9b5f9ce4876a2.d1b6e6ec6748efb6.723e9f42c51ab6ce.e62b1e8eae783806
+    f483fafe34922a3a
+
+VPSUBSW_256(reg)
+  before
+    b027a697f97ae7b6.0bcf59a941d3670f.4b4b0a8359789f78.17e693779196f9b0
+    76611dc598bbac25.32b87ac4964500f5.e0903cb9177a7998.315c06dff133c734
+    a27e5bf5aee1b534.d8629235eca8ff80.eed277fa3edcb9c2.9b6c736703fcdb87
+    90ca5c91d6783e8e.d9971fe85d0a1edb.cf5db8b36a2a9aa1.33e256fce3fdf3d5
+    d48a2c88ac43c949
+  after
+    7fffc134c2438000.59215adc8000e21a.11337fffad507fff.fd7aafe30d36d35f
+    76611dc598bbac25.32b87ac4964500f5.e0903cb9177a7998.315c06dff133c734
+    a27e5bf5aee1b534.d8629235eca8ff80.eed277fa3edcb9c2.9b6c736703fcdb87
+    90ca5c91d6783e8e.d9971fe85d0a1edb.cf5db8b36a2a9aa1.33e256fce3fdf3d5
+    d48a2c88ac43c949
+VPSUBSW_256(mem)
+  before
+    5a2f70f97bd91910.9c911d07ac0d82e0.10249cc905771a33.e07df94e35ee59e2
+    a09e9e3a6bcba155.221f99c1cd2bbfd6.5bd586c501f9aeb4.7e7e38393eb63230
+    84a3323698261b45.7dbfcc2dd55f2e1b.957557c66c9f9889.03ac70de1e0e6038
+    e00aa8db1ff5440c.0bbeb2b65f340e5c.99d28db9637292df.cc529dab748020a5
+    36bdbb0bd99aae24
+  after
+    5a2f70f97bd91910.9c911d07ac0d82e0.10249cc905771a33.e07df94e35ee59e2
+    a09e9e3a6bcba155.221f99c1cd2bbfd6.5bd586c501f9aeb4.7e7e38393eb63230
+    80008000eff28845.7fff8000211e3cf6.4bb1e9fcfc829481.7fff3eeb08c8d84e
+    e00aa8db1ff5440c.0bbeb2b65f340e5c.99d28db9637292df.cc529dab748020a5
+    36bdbb0bd99aae24
+
+VPSUBSW_256(reg)
+  before
+    9b3ac76aebe84661.929f7d141b44d7d5.276947c807369944.45b6a38b018058e1
+    5813bb3446f42307.752e2ccea92091cc.2d0a88cf6af10c80.73ee152662d4a8bc
+    c99495d5854d82c3.648231f3e5942e1f.78ee703723f2a3bb.01476078a47a3c9b
+    4a0b51b9457c9f40.3d690870eaac6af7.6660fb6ccfc599a2.c98afe6ce07fd1ab
+    a9866ded34ee2218
+  after
+    0e08800001787fff.37c5245ebe748000.c6aa8d637fff72de.7fff16ba7fffd711
+    5813bb3446f42307.752e2ccea92091cc.2d0a88cf6af10c80.73ee152662d4a8bc
+    c99495d5854d82c3.648231f3e5942e1f.78ee703723f2a3bb.01476078a47a3c9b
+    4a0b51b9457c9f40.3d690870eaac6af7.6660fb6ccfc599a2.c98afe6ce07fd1ab
+    a9866ded34ee2218
+VPSUBSW_256(mem)
+  before
+    7b0628e9bcd4ed0d.37c3e94c210fb62b.daad2e31d4750183.51ae25da09f42be1
+    1dd5ac4b933becb7.ec075bfbb5910230.181b1d23c0faaeed.9722ebed6e0d9523
+    69c07300d531db42.c524a1309e8ec0fa.d47f5330c9482e62.920a4812999b1315
+    3c94fbf29fc278d9.1e66ba5978932b36.e8a44b460b6a3c0d.a0b038b3272be063
+    1b61b73eb34839b8
+  after
+    7b0628e9bcd4ed0d.37c3e94c210fb62b.daad2e31d4750183.51ae25da09f42be1
+    1dd5ac4b933becb7.ec075bfbb5910230.181b1d23c0faaeed.9722ebed6e0d9523
+    a2cf8362d667ffaa.b44472af94824c05.3d6eeef2ec85ad6a.8000c61364198000
+    3c94fbf29fc278d9.1e66ba5978932b36.e8a44b460b6a3c0d.a0b038b3272be063
+    1b61b73eb34839b8
+
+VPCMPEQW_256(reg)
+  before
+    6169c11eda7e5ac1.731bbf0e0df97da8.53199fe0de2b818f.31588250a46c961b
+    cc1353be375a7e29.e8213b4139e2a7dd.c0894d336ce3fcb2.8c65723aad5af6b7
+    b9ad688c6767e29d.7874ec754289b1a2.c101c1bdbf45d94b.d39899f04441180e
+    8581fcf30531c2c8.ffdf4c9842fb5923.b2cff6ea72e05305.e3be725e852cba4c
+    98a079708b28969c
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    cc1353be375a7e29.e8213b4139e2a7dd.c0894d336ce3fcb2.8c65723aad5af6b7
+    b9ad688c6767e29d.7874ec754289b1a2.c101c1bdbf45d94b.d39899f04441180e
+    8581fcf30531c2c8.ffdf4c9842fb5923.b2cff6ea72e05305.e3be725e852cba4c
+    98a079708b28969c
+VPCMPEQW_256(mem)
+  before
+    ce0d2b127240692b.8adc0b5fad455a57.5a2dd9945544598d.ee3de826223da78d
+    62d003315780ee24.250a923dfc2ee5f6.632b0e57986e6e0c.d39894dd6aea118e
+    2eb47cb756f5e3b4.b3578bf78e78a050.f7a567cc268753cb.bc2cf47be772cdb5
+    0f8715918aa90207.8e0ff4fafeb0c712.f26761df1b9ac5f7.0545066d346216ad
+    092fc51dee442a23
+  after
+    ce0d2b127240692b.8adc0b5fad455a57.5a2dd9945544598d.ee3de826223da78d
+    62d003315780ee24.250a923dfc2ee5f6.632b0e57986e6e0c.d39894dd6aea118e
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0f8715918aa90207.8e0ff4fafeb0c712.f26761df1b9ac5f7.0545066d346216ad
+    092fc51dee442a23
+
+VPCMPEQW_256(reg)
+  before
+    26352df9b0a742c3.e11347ac0fab0848.137dc8b3e86196e7.303d777c95b480bb
+    b7a43b6b16149d38.80258ff30204b0a4.9eef048ce917487c.8df2258fade04044
+    17c8eae1bd19752f.c8896a527ec2b746.8bafa2f39c5f1a7d.e554e704812ac0be
+    a4ed36c641410754.950a53b4a0f1d95b.360aa0539ec44795.142d39c82d9fbd54
+    f64a98c5cc4af333
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    b7a43b6b16149d38.80258ff30204b0a4.9eef048ce917487c.8df2258fade04044
+    17c8eae1bd19752f.c8896a527ec2b746.8bafa2f39c5f1a7d.e554e704812ac0be
+    a4ed36c641410754.950a53b4a0f1d95b.360aa0539ec44795.142d39c82d9fbd54
+    f64a98c5cc4af333
+VPCMPEQW_256(mem)
+  before
+    67777fe97a371e86.b85f1b863d198f52.c376c607839bd20f.fb4cf9188ad20d71
+    43806a1e5473f97a.b16a958d4d2c48d6.2e97403744ce5d8d.36c1a9adfd16a6bc
+    6530d5527609413a.e95aa1470e06708b.b13a3c2efe953702.43b4ad80921b4f23
+    ab553c70fb05b1f4.be7a39201c34401e.2a2b35d9cefd1c99.7e7300fde66e4352
+    43489e8e949abff4
+  after
+    67777fe97a371e86.b85f1b863d198f52.c376c607839bd20f.fb4cf9188ad20d71
+    43806a1e5473f97a.b16a958d4d2c48d6.2e97403744ce5d8d.36c1a9adfd16a6bc
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    ab553c70fb05b1f4.be7a39201c34401e.2a2b35d9cefd1c99.7e7300fde66e4352
+    43489e8e949abff4
+
+VPCMPEQW_256(reg)
+  before
+    ee8083a0392bffb6.f0b91c64ff7407d1.8a175b841241f73a.7436aa24cf11c87f
+    db67aba070ad3f43.1029f01a9f61fd00.aa7d03df8cb9cf8c.6b2714fc1edef6e0
+    664913f8d5adba48.e671347ef6d850ab.7bf82b9e272905c0.eacaf04bd66e63e7
+    ea72b51605b6ad71.505d657c21e6bbfe.57d4d12b7e1cd581.cfeabbff13cfcbc1
+    f554f003f20de999
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    db67aba070ad3f43.1029f01a9f61fd00.aa7d03df8cb9cf8c.6b2714fc1edef6e0
+    664913f8d5adba48.e671347ef6d850ab.7bf82b9e272905c0.eacaf04bd66e63e7
+    ea72b51605b6ad71.505d657c21e6bbfe.57d4d12b7e1cd581.cfeabbff13cfcbc1
+    f554f003f20de999
+VPCMPEQW_256(mem)
+  before
+    37d40b438f327a9c.c52d8f649c555469.29b9fd003b96fc26.9b5df0f42e1e7b7c
+    733689aa054c3af5.52c89d503515ebdd.4c507af761f4cd4f.a4de8464d2bc325d
+    8446e4267067e5d1.ed8dd9456c82ad78.97f0574bae0deaa4.cca489e7078137cf
+    45d09aa3ed8e365c.f1c941afde28d7e7.e46310ea3fec1152.70fbfce968f9c57e
+    ec2fd7d692b11a17
+  after
+    37d40b438f327a9c.c52d8f649c555469.29b9fd003b96fc26.9b5df0f42e1e7b7c
+    733689aa054c3af5.52c89d503515ebdd.4c507af761f4cd4f.a4de8464d2bc325d
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    45d09aa3ed8e365c.f1c941afde28d7e7.e46310ea3fec1152.70fbfce968f9c57e
+    ec2fd7d692b11a17
+
+VPADDB_256(reg)
+  before
+    9c8c181a20347046.949f260b97cdeac1.bcc8d0fa2694a5d5.117622be2f9dfc85
+    dc5ebb21ae0e03b7.4b81044b8b30bd2d.a9d68292e15152ef.f8f507b59a2d6868
+    08f0ba57d9cc1115.4740b150e4c46acc.133e53e3aaec1be1.77ac3dba9da71027
+    7c9013293df9d40c.65a9a804bf94aec9.584e3f5a1ef03c56.68663fb95418b2f0
+    a9f18a9eda8a08ed
+  after
+    e44e757887da14cc.92c1b59b6ff427f9.bc14d5758b3d6dd0.6fa1446f37d4788f
+    dc5ebb21ae0e03b7.4b81044b8b30bd2d.a9d68292e15152ef.f8f507b59a2d6868
+    08f0ba57d9cc1115.4740b150e4c46acc.133e53e3aaec1be1.77ac3dba9da71027
+    7c9013293df9d40c.65a9a804bf94aec9.584e3f5a1ef03c56.68663fb95418b2f0
+    a9f18a9eda8a08ed
+VPADDB_256(mem)
+  before
+    141798554b0cce4a.9488c10175228949.7f88655537ad4550.d2504361d8e9f1fb
+    86a5e7cac4a7c234.ac25c04d1dd16c78.73a8642d6919eb8f.df915a667564757c
+    dc67f2ea61699ed7.20b30c77d294b845.1bd7217a70e65bb0.d95d80d390ec0584
+    f029359f3d5d1f5e.4c7ea1ed2ff7aa5b.54df1927692052df.1e00b216c60dddc0
+    08c6ea9ab25438db
+  after
+    141798554b0cce4a.9488c10175228949.7f88655537ad4550.d2504361d8e9f1fb
+    86a5e7cac4a7c234.ac25c04d1dd16c78.73a8642d6919eb8f.df915a667564757c
+    9abc7f1f0fb3907e.40ad814e92f3f5c1.f230c982a0c630df.b1e19dc74d4d6677
+    f029359f3d5d1f5e.4c7ea1ed2ff7aa5b.54df1927692052df.1e00b216c60dddc0
+    08c6ea9ab25438db
+
+VPADDB_256(reg)
+  before
+    f4fa26cbf14c5382.9fb72cd7749000f6.8cd17c1ad1857e66.fa8ec7206fd28c49
+    3fe961151e816a60.c5dc547c230dffca.3cfa986a54ca6f13.eaaea7519f08c41a
+    43e098e4d580b922.3f65287c65e0d607.b843f1495252bb0e.fe0c35a614cfb77d
+    5d29c5a4b3d47b74.e71f24c2571542d9.5cf984236aaa9c02.1373ed0bea31219f
+    05b14c6d3e3dbeab
+  after
+    82c9f9f9f3012382.04417cf888edd5d1.f43d89b3a61c2a21.e8badcf7b3d77b97
+    3fe961151e816a60.c5dc547c230dffca.3cfa986a54ca6f13.eaaea7519f08c41a
+    43e098e4d580b922.3f65287c65e0d607.b843f1495252bb0e.fe0c35a614cfb77d
+    5d29c5a4b3d47b74.e71f24c2571542d9.5cf984236aaa9c02.1373ed0bea31219f
+    05b14c6d3e3dbeab
+VPADDB_256(mem)
+  before
+    b090cdb62cfc49ce.e910e6c15409ed01.9ad4c43a14b9fe6b.83684b64355d4e9c
+    f0deecd4ce7c7f34.44e3f6a852ac4b76.345185d0b9d7c7ea.8bdc447951f80f88
+    a16525b143c81c08.c8edf1c34c48d07e.9161e270617c5981.cfa06acc5a061971
+    9ff2f53ba5eddc77.d279d380dc69b9c6.8dd2570628b3705d.aa02bacaeb13a904
+    7a4c2ee0a1acfaec
+  after
+    b090cdb62cfc49ce.e910e6c15409ed01.9ad4c43a14b9fe6b.83684b64355d4e9c
+    f0deecd4ce7c7f34.44e3f6a852ac4b76.345185d0b9d7c7ea.8bdc447951f80f88
+    a06eb98afa78c802.2df3dc69a6b53877.ce25490acd90c555.0e448fdd86555d24
+    9ff2f53ba5eddc77.d279d380dc69b9c6.8dd2570628b3705d.aa02bacaeb13a904
+    7a4c2ee0a1acfaec
+
+VPADDB_256(reg)
+  before
+    9acbc479175c4ad6.c651d75d10f67aac.bed499499e9c42fa.046e607e2b88c7aa
+    65cb7701e9afd36d.f24d4703a1efb3d4.e84a3e8c2f6ca7c5.d20279c486081b93
+    399843e3b431d15e.ffb4c11973e5421b.ac27beb42a6523d4.d35b1fc5543e2845
+    707e248d146f8255.c950c18ba3e3e5ac.66b7152d2c14f3d2.e342cd6bb236aaeb
+    de86ffa4bafd5cb2
+  after
+    9e63bae49de0a4cb.f101081c14d4f5ef.9471fc4059d1ca99.a55d9889da4643d8
+    65cb7701e9afd36d.f24d4703a1efb3d4.e84a3e8c2f6ca7c5.d20279c486081b93
+    399843e3b431d15e.ffb4c11973e5421b.ac27beb42a6523d4.d35b1fc5543e2845
+    707e248d146f8255.c950c18ba3e3e5ac.66b7152d2c14f3d2.e342cd6bb236aaeb
+    de86ffa4bafd5cb2
+VPADDB_256(mem)
+  before
+    9ff2315b8b9efbc6.68c8176ba4f520fd.2ceec4454cf556b4.72464063d004536c
+    0451df7b3f254252.7bc417e7004de803.045a45338b28525e.2c1f39c2b3c27f4e
+    e87186f2f29fef83.06bc206ec5051513.2d60c0417b8794d7.f08ffeb670d8b223
+    271ca1abc117bc84.66fd2e6c8ea8e5d8.82ccb15c381eda4a.1ae38aaba3d52998
+    0665da0eea422058
+  after
+    9ff2315b8b9efbc6.68c8176ba4f520fd.2ceec4454cf556b4.72464063d004536c
+    0451df7b3f254252.7bc417e7004de803.045a45338b28525e.2c1f39c2b3c27f4e
+    a34310d6cac33d18.e38c2e52a4420800.30480978d71da812.9e65792583c6d2ba
+    271ca1abc117bc84.66fd2e6c8ea8e5d8.82ccb15c381eda4a.1ae38aaba3d52998
+    0665da0eea422058
+
+VPUNPCKHDQ_256(reg)
+  before
+    0f61e849deadd210.9c1fac92c7996682.f5d33d4ef8c392fe.e16a956edffadde4
+    9325b2ca1da17c6c.254623942132a8a8.108a4a7e9fe15833.2505e6658c265cd1
+    edfc33fc43ab5a17.9d5c839beaed4023.146d506a1d8e7521.296a222c5aae123d
+    7931674aeb55a7be.df2f47943fd6e81f.5bca4b7d10572374.cb65c5af659fba52
+    e6c249daca04113f
+  after
+    edfc33fc9325b2ca.43ab5a171da17c6c.146d506a108a4a7e.1d8e75219fe15833
+    9325b2ca1da17c6c.254623942132a8a8.108a4a7e9fe15833.2505e6658c265cd1
+    edfc33fc43ab5a17.9d5c839beaed4023.146d506a1d8e7521.296a222c5aae123d
+    7931674aeb55a7be.df2f47943fd6e81f.5bca4b7d10572374.cb65c5af659fba52
+    e6c249daca04113f
+VPUNPCKHDQ_256(mem)
+  before
+    554d2c99a5e9d22e.92114b22b12ea10c.c989eb6c3bfa5cc7.42eb372214c79fd9
+    f6d2e8d8115bba4c.96e8d9ef32bf82ae.3637eb0dfb645a48.251d11c7c46b24fc
+    a31cfc832a6585c4.e0020f1d0996864f.0106c3659a209cce.60acd4d7bdcdf088
+    3af9e1860d14efc3.cbabe818d33eeb9c.08bff05f353bdf84.50e47cbe9a7b3d2a
+    4f1105e9f801488d
+  after
+    554d2c99a5e9d22e.92114b22b12ea10c.c989eb6c3bfa5cc7.42eb372214c79fd9
+    f6d2e8d8115bba4c.96e8d9ef32bf82ae.3637eb0dfb645a48.251d11c7c46b24fc
+    554d2c99f6d2e8d8.a5e9d22e115bba4c.c989eb6c3637eb0d.3bfa5cc7fb645a48
+    3af9e1860d14efc3.cbabe818d33eeb9c.08bff05f353bdf84.50e47cbe9a7b3d2a
+    4f1105e9f801488d
+
+VPUNPCKHDQ_256(reg)
+  before
+    ba7e6bc272e94c5e.953314ced573b474.b52f614d2b44eb41.2531ede7e7c0de97
+    ed79abb6a4c28649.919712459f8e8f04.f8d97426ae33c3e9.352736e9ccbc5732
+    444cc0322b1532f9.0bf156d986713d9f.f2f61f10f797ae41.156c4751013a0482
+    1b44a6a0a3708c1b.dd0c5c74a7297970.fdd25d78a3fdeaf5.9fce9d0ba246a1b2
+    b017b303c9ececef
+  after
+    444cc032ed79abb6.2b1532f9a4c28649.f2f61f10f8d97426.f797ae41ae33c3e9
+    ed79abb6a4c28649.919712459f8e8f04.f8d97426ae33c3e9.352736e9ccbc5732
+    444cc0322b1532f9.0bf156d986713d9f.f2f61f10f797ae41.156c4751013a0482
+    1b44a6a0a3708c1b.dd0c5c74a7297970.fdd25d78a3fdeaf5.9fce9d0ba246a1b2
+    b017b303c9ececef
+VPUNPCKHDQ_256(mem)
+  before
+    2514052595399f65.cead596ea65ecf5a.e4b6a0041dc100a4.77b92ac94df0b1b0
+    d8900f5e2038773f.b9d2d607d36b3863.fdb99f7405468f67.baf7826e92fc3f1f
+    a6594d9886f62faa.370117d7c42403e2.02e3d4b07ac2dfe4.24d862d50daed2ed
+    6b3a3cc1e47e85d1.a6841a4a15146c82.d0febba49844af47.0fa7c5695a91a4c7
+    d8b2a7961731f258
+  after
+    2514052595399f65.cead596ea65ecf5a.e4b6a0041dc100a4.77b92ac94df0b1b0
+    d8900f5e2038773f.b9d2d607d36b3863.fdb99f7405468f67.baf7826e92fc3f1f
+    25140525d8900f5e.95399f652038773f.e4b6a004fdb99f74.1dc100a405468f67
+    6b3a3cc1e47e85d1.a6841a4a15146c82.d0febba49844af47.0fa7c5695a91a4c7
+    d8b2a7961731f258
+
+VPUNPCKHDQ_256(reg)
+  before
+    dc4304c8dd1bf74d.04fe57c355dc33e1.61a9dacc63c8aeef.43d7d03c7cd5b9be
+    75a7d96b4adaf152.4b721a8cf61cf606.c4ba54c949cb06d7.383990644283ba72
+    002a20ecf9fa1a12.1d620107e24b896b.2b0482ad64a9b0e4.89f2750905596d92
+    d917d7b58708af3a.569a89203675a93d.f1d262e44feee7c2.13ccfd15e1649048
+    b295a376f3afddc0
+  after
+    002a20ec75a7d96b.f9fa1a124adaf152.2b0482adc4ba54c9.64a9b0e449cb06d7
+    75a7d96b4adaf152.4b721a8cf61cf606.c4ba54c949cb06d7.383990644283ba72
+    002a20ecf9fa1a12.1d620107e24b896b.2b0482ad64a9b0e4.89f2750905596d92
+    d917d7b58708af3a.569a89203675a93d.f1d262e44feee7c2.13ccfd15e1649048
+    b295a376f3afddc0
+VPUNPCKHDQ_256(mem)
+  before
+    4217e41657461128.5dbcfa33908feb75.d2e62cc30da412a7.7472efdba727e81e
+    9f1f3ae32736e7a9.e66383d3af1b0b70.6d1168dc84e680d6.0f2f26fc07dfefa4
+    a57923c8828a1c72.d15a700080394bd7.03e9b958b646aef6.1d5401b50ba337ff
+    30f01ab1814e6cad.7aebbb25a074e755.70389921bfd15932.fc2e7e7150fefedc
+    0609989b727c7ee7
+  after
+    4217e41657461128.5dbcfa33908feb75.d2e62cc30da412a7.7472efdba727e81e
+    9f1f3ae32736e7a9.e66383d3af1b0b70.6d1168dc84e680d6.0f2f26fc07dfefa4
+    4217e4169f1f3ae3.574611282736e7a9.d2e62cc36d1168dc.0da412a784e680d6
+    30f01ab1814e6cad.7aebbb25a074e755.70389921bfd15932.fc2e7e7150fefedc
+    0609989b727c7ee7
+
+VPMOVSXDQ_256(reg)
+  before
+    99314ba10caaf3cb.1c529b8a438f9386.3d6362b0aa581a97.90cb8624bc923db7
+    0ff293eeba139b35.4569233fe1574c2a.760d610c3b722148.3f6efa4ec99516b0
+    c6976dee1943b0d0.86022cbc7ab554c5.8137b2a5ee4d3815.59ed738a01e79f4a
+    186ed40ec5c76f49.bde934ed27b26783.ba2b53e760769aaa.b9136dc3809395b1
+    3dae62e763a5b310
+  after
+    99314ba10caaf3cb.1c529b8a438f9386.3d6362b0aa581a97.90cb8624bc923db7
+    ffffffff8137b2a5.ffffffffee4d3815.0000000059ed738a.0000000001e79f4a
+    c6976dee1943b0d0.86022cbc7ab554c5.8137b2a5ee4d3815.59ed738a01e79f4a
+    186ed40ec5c76f49.bde934ed27b26783.ba2b53e760769aaa.b9136dc3809395b1
+    3dae62e763a5b310
+VPMOVSXDQ_256(mem)
+  before
+    c088d0e1c52ab794.63c1c4b8592a134b.c5eab6bf065c418f.7d373f3f2c7785b2
+    1e6e329dc32d5b68.01dd395971f8da83.7ad12f1c33bf9d15.26a57217eedf33da
+    332c040778ba5cb9.4f0e2f5eaabefe9d.b86a19f2c9e63842.10c2e8dc4337e0cd
+    da8ec20b01de75b3.aa9fa3319f07bc44.5a80f22be5ddce42.99da9efbc70dca38
+    1c388fde15ec2bc7
+  after
+    c088d0e1c52ab794.63c1c4b8592a134b.c5eab6bf065c418f.7d373f3f2c7785b2
+    ffffffffc5eab6bf.00000000065c418f.000000007d373f3f.000000002c7785b2
+    332c040778ba5cb9.4f0e2f5eaabefe9d.b86a19f2c9e63842.10c2e8dc4337e0cd
+    da8ec20b01de75b3.aa9fa3319f07bc44.5a80f22be5ddce42.99da9efbc70dca38
+    1c388fde15ec2bc7
+
+VPMOVSXDQ_256(reg)
+  before
+    f52ab7f3c9614025.f160e99679a46481.6cde9040ed5f4f25.3ee035b5a2b01a40
+    80fa12a580f644ff.526df492fd18e34f.f216f2f52f53f4eb.3f565e7b1c6cd969
+    18f69c60d63a7400.db835feca847ae4b.9892c5be026ee743.38aee969701cc7e9
+    1b68529066b60cd5.676ca691973c839f.bb9f0606013c64d9.07b4536bbacca0eb
+    8634176d14891f9b
+  after
+    f52ab7f3c9614025.f160e99679a46481.6cde9040ed5f4f25.3ee035b5a2b01a40
+    ffffffff9892c5be.00000000026ee743.0000000038aee969.00000000701cc7e9
+    18f69c60d63a7400.db835feca847ae4b.9892c5be026ee743.38aee969701cc7e9
+    1b68529066b60cd5.676ca691973c839f.bb9f0606013c64d9.07b4536bbacca0eb
+    8634176d14891f9b
+VPMOVSXDQ_256(mem)
+  before
+    93f9b15b9d5e0127.e49c2fa1ccf84829.d1f5456ce5041c77.b589b039c84aa658
+    08d19d216f5702b9.cee02fffa58b64a9.f7eab968afa93600.e39cbfc3f423ea6d
+    c38658aca681dd7d.377f4e168cfc9b01.b3177d73103a8c66.a1232f1121536cc4
+    9ee55ce65fe74fa0.79c489521ed62adc.e2470d7824c0dcd4.4b6cfc8dea676708
+    3dc123a4ecea19e5
+  after
+    93f9b15b9d5e0127.e49c2fa1ccf84829.d1f5456ce5041c77.b589b039c84aa658
+    ffffffffd1f5456c.ffffffffe5041c77.ffffffffb589b039.ffffffffc84aa658
+    c38658aca681dd7d.377f4e168cfc9b01.b3177d73103a8c66.a1232f1121536cc4
+    9ee55ce65fe74fa0.79c489521ed62adc.e2470d7824c0dcd4.4b6cfc8dea676708
+    3dc123a4ecea19e5
+
+VPMOVSXDQ_256(reg)
+  before
+    d36f9fc3c268bc08.76ba27bdb596144e.f2fdda20f6a54ce7.6148e5630849e077
+    69c36c54086e8c1d.28d0341bc599e8b2.fc743feab1f63ece.0ae48220d8e0547a
+    5b0686c55b87c7cf.8ef500eeaafc86f9.f576b41eea543c3c.bbe85f9caf91f60a
+    0587ea815640a7cb.85f3052180cbab4e.374e33273e4b82dd.4e20f8c1a9698053
+    a058c97ce373af80
+  after
+    d36f9fc3c268bc08.76ba27bdb596144e.f2fdda20f6a54ce7.6148e5630849e077
+    fffffffff576b41e.ffffffffea543c3c.ffffffffbbe85f9c.ffffffffaf91f60a
+    5b0686c55b87c7cf.8ef500eeaafc86f9.f576b41eea543c3c.bbe85f9caf91f60a
+    0587ea815640a7cb.85f3052180cbab4e.374e33273e4b82dd.4e20f8c1a9698053
+    a058c97ce373af80
+VPMOVSXDQ_256(mem)
+  before
+    8d5c4eba78bc3ebe.c39192f4962468bd.ea98c1a0641313de.204aba7048674c5f
+    f2f70465854feb39.f16f7c89b6bf4850.97aeaf5772df79d5.0ab54467a435d56c
+    a9f6666b2538701c.ea6ea4af539d8131.69024c32c53c9a5e.52dacd77ef415ab0
+    8f26f0b775848a93.0cda04cf084b500b.3c5f121d7a3532a6.5406510cc51516d8
+    6d85cc93c13f4790
+  after
+    8d5c4eba78bc3ebe.c39192f4962468bd.ea98c1a0641313de.204aba7048674c5f
+    ffffffffea98c1a0.00000000641313de.00000000204aba70.0000000048674c5f
+    a9f6666b2538701c.ea6ea4af539d8131.69024c32c53c9a5e.52dacd77ef415ab0
+    8f26f0b775848a93.0cda04cf084b500b.3c5f121d7a3532a6.5406510cc51516d8
+    6d85cc93c13f4790
+
+VPMOVSXWD_256(reg)
+  before
+    f7a33b767f4b2783.80511e35903df4cb.b2ff9a567254f18b.ec937f05abd6fdd9
+    4fac99229cc4f25e.58446dd193726bf0.382960b02c459f5d.55680ed4772cb622
+    d1ebe204b436e6cc.f3ca5777992cab2e.f9a4544ad3a9972c.53ac3b78f8411aad
+    d9ae1386622d3d7a.2db15a13bf7970b0.53bb728e020c15a5.c22982db4a24e5a7
+    7eac60eb8aded33c
+  after
+    f7a33b767f4b2783.80511e35903df4cb.b2ff9a567254f18b.ec937f05abd6fdd9
+    fffff9a40000544a.ffffd3a9ffff972c.000053ac00003b78.fffff84100001aad
+    d1ebe204b436e6cc.f3ca5777992cab2e.f9a4544ad3a9972c.53ac3b78f8411aad
+    d9ae1386622d3d7a.2db15a13bf7970b0.53bb728e020c15a5.c22982db4a24e5a7
+    7eac60eb8aded33c
+VPMOVSXWD_256(mem)
+  before
+    63014f93d37d9f97.c43f261642363414.e2c3f191206475a2.a1bcb4ea56fa5573
+    4df3cdbf420d06e5.eceb191ff1dc0745.eece99ded8fa7731.3ef118c86a009243
+    1850565bf298c352.aefee70d0aabf1ba.2d9ccce404463289.88a79996daaa09c0
+    a0e26453002c9409.66c48c4b2a302f1e.7bfa0890c05462d6.d92a33bf4382f697
+    8fc5e2af41169474
+  after
+    63014f93d37d9f97.c43f261642363414.e2c3f191206475a2.a1bcb4ea56fa5573
+    ffffe2c3fffff191.00002064000075a2.ffffa1bcffffb4ea.000056fa00005573
+    1850565bf298c352.aefee70d0aabf1ba.2d9ccce404463289.88a79996daaa09c0
+    a0e26453002c9409.66c48c4b2a302f1e.7bfa0890c05462d6.d92a33bf4382f697
+    8fc5e2af41169474
+
+VPMOVSXWD_256(reg)
+  before
+    04c6a3d26ff12002.c176759387d43337.70880548ecf6fd1e.b4b3c8cf2731c242
+    9677719469a0d6ee.57d80407a49d5d07.28984c6ded8a9666.b495898c55e80ffc
+    9f264862ccaef2e4.3ed48d9c7292cda6.ea3e5f27c87637a1.566ac5b36785042e
+    7c1d24a633a7af8f.51368c3c0ebf4140.11c739e219481c7c.7800fa3079155f05
+    f521a3efa5a3daac
+  after
+    04c6a3d26ff12002.c176759387d43337.70880548ecf6fd1e.b4b3c8cf2731c242
+    ffffea3e00005f27.ffffc876000037a1.0000566affffc5b3.000067850000042e
+    9f264862ccaef2e4.3ed48d9c7292cda6.ea3e5f27c87637a1.566ac5b36785042e
+    7c1d24a633a7af8f.51368c3c0ebf4140.11c739e219481c7c.7800fa3079155f05
+    f521a3efa5a3daac
+VPMOVSXWD_256(mem)
+  before
+    a99a3cdc0a3b3250.8aa801cd3b184a9b.6eca7dd593317200.fb7fd70b7d8c81a2
+    6f3741e3c1ea221d.2315dc447f8cffb6.705bdd511df31f13.03b2330c90cda1c0
+    25c32ff0e9bb683e.a4afb0769c8f0989.32b6279ec91203a4.85ac4b53ed97ba82
+    a50c81f09bbbbee0.6ac179ce2daea5c3.92a7d7a7b398d9e0.ddb81a4a30760593
+    66249c5ff6f7c19f
+  after
+    a99a3cdc0a3b3250.8aa801cd3b184a9b.6eca7dd593317200.fb7fd70b7d8c81a2
+    00006eca00007dd5.ffff933100007200.fffffb7fffffd70b.00007d8cffff81a2
+    25c32ff0e9bb683e.a4afb0769c8f0989.32b6279ec91203a4.85ac4b53ed97ba82
+    a50c81f09bbbbee0.6ac179ce2daea5c3.92a7d7a7b398d9e0.ddb81a4a30760593
+    66249c5ff6f7c19f
+
+VPMOVSXWD_256(reg)
+  before
+    7e3acefddba52854.cddcb3cdf6f4e02e.cf9933bacf740f0e.6bfa6a58f6935ef2
+    8047ab907a0d775c.7801417513748c55.3081dba51d6d8317.987b5a9dae0f4d07
+    c7972e846fbaea63.8145a7d210477c80.e9c66cfbb4263c89.f7f62562f817634b
+    b17555455738bc16.c67562d209786ddc.56b4e2282f2a7711.62364693efb75ce9
+    b7093a1cb0fbf40e
+  after
+    7e3acefddba52854.cddcb3cdf6f4e02e.cf9933bacf740f0e.6bfa6a58f6935ef2
+    ffffe9c600006cfb.ffffb42600003c89.fffff7f600002562.fffff8170000634b
+    c7972e846fbaea63.8145a7d210477c80.e9c66cfbb4263c89.f7f62562f817634b
+    b17555455738bc16.c67562d209786ddc.56b4e2282f2a7711.62364693efb75ce9
+    b7093a1cb0fbf40e
+VPMOVSXWD_256(mem)
+  before
+    d0397bea57f0e7e6.992f1c3fcd142a21.215ced6019131a95.d39639982a06705a
+    8b9387e7fea1f09c.da107ddf6ed9702f.6fc8c4685c2441d6.bcba6db842446311
+    c2e3d901c31acc5d.d263768fd513caed.8d8363d6efb89ccc.6d6a7bf213728be2
+    52f4ed23c2683654.db7502bd9f4f7307.555b4796eedae7a3.42f35eb4381c2578
+    97a112684dcd6c80
+  after
+    d0397bea57f0e7e6.992f1c3fcd142a21.215ced6019131a95.d39639982a06705a
+    0000215cffffed60.0000191300001a95.ffffd39600003998.00002a060000705a
+    c2e3d901c31acc5d.d263768fd513caed.8d8363d6efb89ccc.6d6a7bf213728be2
+    52f4ed23c2683654.db7502bd9f4f7307.555b4796eedae7a3.42f35eb4381c2578
+    97a112684dcd6c80
+
+VPMULHW_256(reg)
+  before
+    c8c0937cef119ea5.18943f381696ebae.53921dd36717a828.a51aea947497e086
+    319cde5bba74f594.ee8d4c2edcb1a896.9406c43fcafaa5fc.578dcabc9df941a1
+    2e80ee704883aef8.b1ad8ff02fc42639.fb1cf16c6381a531.487f63fb860fc722
+    1bbabf2938c9047f.3dbe846a2cdb24c3.e522a2c6ce3ae571.54be2f3b4ae22d32
+    5815ac6a06803100
+  after
+    055f0885f092ffd1.fbcadb39f9d0f372.0b5515c20a4f0956.1cfbf62ce3530b96
+    319cde5bba74f594.ee8d4c2edcb1a896.9406c43fcafaa5fc.578dcabc9df941a1
+    2e80ee704883aef8.b1ad8ff02fc42639.fb1cf16c6381a531.487f63fb860fc722
+    1bbabf2938c9047f.3dbe846a2cdb24c3.e522a2c6ce3ae571.54be2f3b4ae22d32
+    5815ac6a06803100
+VPMULHW_256(mem)
+  before
+    2e4f5573d6f48db6.54944df124d334d2.6f8da788ee035c5f.ac62d2b9a8b1a168
+    b339a641d44bfe80.345b9435a82b7aa0.21e5743791468b3a.ad297db18d7015c3
+    c39f1bc21e903f8c.195b915f61601293.3094686132b36c7f.45c3a01a18057c2e
+    3a4d30e1d0cf0d03.5ee03fdceafb3757.7864fef3ed53bd5b.ce7c3660e5fc1354
+    a5a03bf091df16e2
+  after
+    2e4f5573d6f48db6.54944df124d334d2.6f8da788ee035c5f.ac62d2b9a8b1a168
+    b339a641d44bfe80.345b9435a82b7aa0.21e5743791468b3a.ad297db18d7015c3
+    f21ce20b070200ab.114cdf2ef35d194d.0ec4d7d607c7d5dd.1b0ee9c52712f7f5
+    3a4d30e1d0cf0d03.5ee03fdceafb3757.7864fef3ed53bd5b.ce7c3660e5fc1354
+    a5a03bf091df16e2
+
+VPMULHW_256(reg)
+  before
+    267aab34b83cc183.f40f628a05142414.5f369a18df8a2799.d523b2dadd3438fa
+    ad58829af49f4fe4.cdb02ca9da6c40e9.77a89e80de981b05.239b00001e619a87
+    9684bd8ce493fdb1.a1fe0a2b6ae31cae.0483477f80b25246.3e996553cde79e2f
+    3d4b577822a40695.4cc379fad2837591.6014928063630609.02e95cbe05d1011d
+    4b56612de32b7f7e
+  after
+    ec35d527fe75020d.f0e9154706ad1dcf.2ce829b4f30700a3.0067000000b0ff8f
+    ad58829af49f4fe4.cdb02ca9da6c40e9.77a89e80de981b05.239b00001e619a87
+    9684bd8ce493fdb1.a1fe0a2b6ae31cae.0483477f80b25246.3e996553cde79e2f
+    3d4b577822a40695.4cc379fad2837591.6014928063630609.02e95cbe05d1011d
+    4b56612de32b7f7e
+VPMULHW_256(mem)
+  before
+    f5aef08c8202d47e.fef94cc94a5ea83d.aaccf3042d5a07bb.e9a57af1233774fa
+    dcbb85c7ff61bb48.36da98ebf94e1d54.97e5f63397738e5b.fa82fb3d5bbbd8c4
+    dc4a9dca7554f109.3e3a374acaffa187.efdafd752ddbc59b.eef911d0a7796d14
+    d027b38101e832ec.7564265259fd7282.8e7684b40a9d69a7.2255b916a4007195
+    f3e1ee7bedd91df4
+  after
+    f5aef08c8202d47e.fef94cc94a5ea83d.aaccf3042d5a07bb.e9a57af1233774fa
+    dcbb85c7ff61bb48.36da98ebf94e1d54.97e5f63397738e5b.fa82fb3d5bbbd8c4
+    016b0760004e0bad.ffc7e114fe0ef5f2.22a6007fed7afc91.007afdb60c9eee12
+    d027b38101e832ec.7564265259fd7282.8e7684b40a9d69a7.2255b916a4007195
+    f3e1ee7bedd91df4
+
+VPMULHW_256(reg)
+  before
+    bbeaac6b1f92b0dc.961e43d9be283a1e.36a5606f44d5caf0.4f8708de4bc535ac
+    d8bcef53d6b764fa.09fbc9bcc820c4ca.dd49e10d2412e67e.10d704de0c60e7d6
+    a4a3b49dadd276fa.058ac2183cdd8d1e.c69ca599974102d7.ac33f4a068793950
+    7cebf5b740712287.6596a9d7366a5143.4deaa97d39ed59a8.ff6754107b1de847
+    e43fa01a6256afe7
+  after
+    ecd700abf59b0d9e.03f51243f41fed34.f56f0a750829f711.fff5019905f3023d
+    d8bcef53d6b764fa.09fbc9bcc820c4ca.dd49e10d2412e67e.10d704de0c60e7d6
+    a4a3b49dadd276fa.058ac2183cdd8d1e.c69ca599974102d7.ac33f4a068793950
+    7cebf5b740712287.6596a9d7366a5143.4deaa97d39ed59a8.ff6754107b1de847
+    e43fa01a6256afe7
+VPMULHW_256(mem)
+  before
+    398755ab38324c5b.bde0b00b2c20a34e.07ecfae7d1d3cb68.ce7fe827a5a2289d
+    d90aedad1abd79d0.c1cde0070c6937fa.c65831332a25b8b7.a4a65e0277ecab61
+    9f96e60e2301f271.e5ff82167cda1838.7da6caa75b6bd45c.2dad07794c581ea0
+    69f5bcb86f0c756b.85c290a41aff82b4.0aa2422f83b1db84.c4dedffac071bc08
+    c586e3f06ec4c243
+  after
+    398755ab38324c5b.bde0b00b2c20a34e.07ecfae7d1d3cb68.ce7fe827a5a2289d
+    d90aedad1abd79d0.c1cde0070c6937fa.c65831332a25b8b7.a4a65e0277ecab61
+    f73ef9de05de2455.101009fc0223ebbb.fe37ff05f8650ea5.11aaf73ed5aaf293
+    69f5bcb86f0c756b.85c290a41aff82b4.0aa2422f83b1db84.c4dedffac071bc08
+    c586e3f06ec4c243
+
+VPUNPCKHQDQ_256(reg)
+  before
+    8bf10ec7f2dc6cfd.11f4e9991beabce9.fd62081d7f62b319.471814b7bc04885b
+    746b5cebe945f5e3.755feb9c43a68419.a92be5ed4992e514.12d3bc2b226f980c
+    da3fc9c9ee8c9aa1.6f023dac024c8824.e669238014185450.45a1b677d2ffc7c4
+    1bbb52cb9e3c97e2.dda85bb775e88638.0e67bf427b823e7a.be4c7e88e7bed0af
+    57a191487ebb70f8
+  after
+    da3fc9c9ee8c9aa1.746b5cebe945f5e3.e669238014185450.a92be5ed4992e514
+    746b5cebe945f5e3.755feb9c43a68419.a92be5ed4992e514.12d3bc2b226f980c
+    da3fc9c9ee8c9aa1.6f023dac024c8824.e669238014185450.45a1b677d2ffc7c4
+    1bbb52cb9e3c97e2.dda85bb775e88638.0e67bf427b823e7a.be4c7e88e7bed0af
+    57a191487ebb70f8
+VPUNPCKHQDQ_256(mem)
+  before
+    ed6c6aa5b2ff63cb.9129f25e94e12853.991fc1a8b7873881.7e73b3a01a5bdd3e
+    5d78858aa0986556.9ad6a5ef6d0788a0.8031ec6be4345a2b.92d7fd048e2f6e47
+    81935fe2639131c2.900e67e9c43bf474.6fab56ed19fcaa61.a6e098dc738b2d42
+    3687729b18f7843e.d11d34b73609a87b.40597d1871eae250.16da809364fa55da
+    3d11b294fd0923bc
+  after
+    ed6c6aa5b2ff63cb.9129f25e94e12853.991fc1a8b7873881.7e73b3a01a5bdd3e
+    5d78858aa0986556.9ad6a5ef6d0788a0.8031ec6be4345a2b.92d7fd048e2f6e47
+    ed6c6aa5b2ff63cb.5d78858aa0986556.991fc1a8b7873881.8031ec6be4345a2b
+    3687729b18f7843e.d11d34b73609a87b.40597d1871eae250.16da809364fa55da
+    3d11b294fd0923bc
+
+VPUNPCKHQDQ_256(reg)
+  before
+    79d0294ddb42d394.59223ca0dad41af4.b74f09c75efbdf63.d007ddd9090abf23
+    2565e1299934a00d.c42e38ddc537ae10.9fefe184d89fd6d6.fb81f01dfd68fc07
+    9d1ad694d468c8d4.5478e23ef629fdc0.e64ab85a4181c980.9e9234cf67115727
+    3d3c04fa276c8594.e5cbb7b089b8c32e.e6ad8ab5352bf40e.930823da66108ab0
+    b7ad3c2c137252ce
+  after
+    9d1ad694d468c8d4.2565e1299934a00d.e64ab85a4181c980.9fefe184d89fd6d6
+    2565e1299934a00d.c42e38ddc537ae10.9fefe184d89fd6d6.fb81f01dfd68fc07
+    9d1ad694d468c8d4.5478e23ef629fdc0.e64ab85a4181c980.9e9234cf67115727
+    3d3c04fa276c8594.e5cbb7b089b8c32e.e6ad8ab5352bf40e.930823da66108ab0
+    b7ad3c2c137252ce
+VPUNPCKHQDQ_256(mem)
+  before
+    e64ef8b08d426aac.601768c82fcb13fa.53f5311d99efbc86.fc6254014f2b922c
+    fcb7d452ed8c8f77.64f7fd688712b0b2.7ac0ce7242dba3f5.85b610ab2b0de085
+    d5b34dfe515d7d5a.a427bf47cccb9667.37fa099ca18735a7.dbf4bc1d665b1ac6
+    4d10dea0d5c0f082.7cf5aad2998502c5.646d5f85d2ff2ec7.5b6a53c49ca37b9a
+    6162d20d677140ae
+  after
+    e64ef8b08d426aac.601768c82fcb13fa.53f5311d99efbc86.fc6254014f2b922c
+    fcb7d452ed8c8f77.64f7fd688712b0b2.7ac0ce7242dba3f5.85b610ab2b0de085
+    e64ef8b08d426aac.fcb7d452ed8c8f77.53f5311d99efbc86.7ac0ce7242dba3f5
+    4d10dea0d5c0f082.7cf5aad2998502c5.646d5f85d2ff2ec7.5b6a53c49ca37b9a
+    6162d20d677140ae
+
+VPUNPCKHQDQ_256(reg)
+  before
+    49293363664fa5ae.4098032494c1a31b.47abba738bc92f7a.dee64a1bef504a82
+    6f0b743133cce645.8a193977ab6c5350.6396ec983d255a30.8131484917854403
+    2f5490e56a713e20.075dfa8335cebc4e.2a023bac4b24bf93.2819d4fb64aad977
+    e55084eaa8cceaea.9331c4364ef39a40.fa3ba31b52539a50.b16c6a1df2cbc409
+    f7f4879bdef5c3e7
+  after
+    2f5490e56a713e20.6f0b743133cce645.2a023bac4b24bf93.6396ec983d255a30
+    6f0b743133cce645.8a193977ab6c5350.6396ec983d255a30.8131484917854403
+    2f5490e56a713e20.075dfa8335cebc4e.2a023bac4b24bf93.2819d4fb64aad977
+    e55084eaa8cceaea.9331c4364ef39a40.fa3ba31b52539a50.b16c6a1df2cbc409
+    f7f4879bdef5c3e7
+VPUNPCKHQDQ_256(mem)
+  before
+    d67ea5614334903a.ed4b4aac88682650.0a60127a13e5a853.2d8d2151ee3d2713
+    2ad6425b3d92e831.a390e097a6d12efe.48b8603da0b2a3b2.2143afbaba6ea187
+    cfc8d976ea1d86f6.636d4118a0943d9f.28032b6a1066468b.30ab4bc252734559
+    a020e79c63e127b5.892c69990f3c90e0.880feded7f0b4f07.b80ff0d553d74e35
+    13bc9a605826fac6
+  after
+    d67ea5614334903a.ed4b4aac88682650.0a60127a13e5a853.2d8d2151ee3d2713
+    2ad6425b3d92e831.a390e097a6d12efe.48b8603da0b2a3b2.2143afbaba6ea187
+    d67ea5614334903a.2ad6425b3d92e831.0a60127a13e5a853.48b8603da0b2a3b2
+    a020e79c63e127b5.892c69990f3c90e0.880feded7f0b4f07.b80ff0d553d74e35
+    13bc9a605826fac6
+
+VPSRAW_0x05_256(reg)
+  before
+    9efe46cdfeed83b8.7baae6bbc6e8879b.711a54879156636c.43a624b20aaf7855
+    b621ee8ae0b725b9.3b3154bd2f4062d4.7783ff4fc26df1f0.35954ca5cc5e7e9f
+    b57090019b101e72.bc82ac90b9f5748b.f7b2645b3d0d7718.39a8dfb2e2221c11
+    f83927a0ca85a892.d96a6a1f801278ed.4cf581199ec2318f.2daa5ac5670910d8
+    ec693acb781f1420
+  after
+    ffc1013dfe54fd44.fecb0350fc0003c7.0267fc08fcf6018c.016d02d603380086
+    b621ee8ae0b725b9.3b3154bd2f4062d4.7783ff4fc26df1f0.35954ca5cc5e7e9f
+    b57090019b101e72.bc82ac90b9f5748b.f7b2645b3d0d7718.39a8dfb2e2221c11
+    f83927a0ca85a892.d96a6a1f801278ed.4cf581199ec2318f.2daa5ac5670910d8
+    ec693acb781f1420
+VPSRAW_0x05_256(mem)
+  before
+    51affaae306fe414.dbc6b0d20aa100c3.70b20a56a1a32b26.d49652f482195a01
+    3a4a165cac053ee1.bb642503f6f061b1.5b29092138b44861.eae2d158859d301c
+    81040bbf07eddcb3.f25f849f2bff090a.789ae26c5f528ccb.e925fcb142dbed8a
+    04aa54c55d347bb5.dd03c81244593278.a1d011233588b38f.2fabce6b555ecdf7
+    17c043f25bb20e10
+  after
+    51affaae306fe414.dbc6b0d20aa100c3.70b20a56a1a32b26.d49652f482195a01
+    3a4a165cac053ee1.bb642503f6f061b1.5b29092138b44861.eae2d158859d301c
+    81040bbf07eddcb3.f25f849f2bff090a.789ae26c5f528ccb.e925fcb142dbed8a
+    04aa54c55d347bb5.dd03c81244593278.a1d011233588b38f.2fabce6b555ecdf7
+    17c043f25bb20e10
+
+VPSRAW_0x05_256(reg)
+  before
+    fcb057b2ef64ea81.9d076c59cbe5d613.d89cedc8dd8a19a7.b4991233d46279da
+    3cc60717aefe9ef5.2ae9d2676d0cabfb.3f75f02d931ff944.8bbf628658ed9ad7
+    314f4d8e330f6519.851affdb5eb6b497.6edccbae02a30ffb.040f7b09de34d1b3
+    399727811b207d99.8b6870a1baeead13.c11b7cb5c5a39777.f955dba98144db9a
+    475cfe515e2873b7
+  after
+    01cc013c00d903ec.fc5b0385fdd7fd68.fe0803e5fe2dfcbb.ffcafeddfc0afedc
+    3cc60717aefe9ef5.2ae9d2676d0cabfb.3f75f02d931ff944.8bbf628658ed9ad7
+    314f4d8e330f6519.851affdb5eb6b497.6edccbae02a30ffb.040f7b09de34d1b3
+    399727811b207d99.8b6870a1baeead13.c11b7cb5c5a39777.f955dba98144db9a
+    475cfe515e2873b7
+VPSRAW_0x05_256(mem)
+  before
+    cbf25eec90ec5637.aeea905e01bf2020.199da2a59ec1549c.947ffeb078a9cd64
+    5fe17968339c4046.ee94859082788a5a.098610d4263a635e.43544e09b843ec70
+    e0f7c9b06445ed0f.53e1018239d5f9f5.38ef36186c659784.2ae5662e21fd3145
+    2afeccb03ff219be.3a1cffa2c264a79b.82a3915f8f4eab3b.a580448a4d62d88f
+    0f6fe389dbfe1dfc
+  after
+    cbf25eec90ec5637.aeea905e01bf2020.199da2a59ec1549c.947ffeb078a9cd64
+    5fe17968339c4046.ee94859082788a5a.098610d4263a635e.43544e09b843ec70
+    e0f7c9b06445ed0f.53e1018239d5f9f5.38ef36186c659784.2ae5662e21fd3145
+    2afeccb03ff219be.3a1cffa2c264a79b.82a3915f8f4eab3b.a580448a4d62d88f
+    0f6fe389dbfe1dfc
+
+VPSRAW_0x05_256(reg)
+  before
+    c6003f97645d3b35.1ac3fe54dfb07f80.00937d5bbab0d1f8.c4709b93a9025dae
+    257d5420870c6fe9.8a11d989618adc81.ff907719bd46b2b9.d820d2a2d68c670a
+    88331f90dd96f5c2.57b6db39e08cebed.9460e74966b1888a.9b80b17733f9867b
+    4a6e9b540588086c.5d7c7f5178c26aef.1b4fcb55517e8d16.e95cb5fddb54752c
+    9e805822eaa9f14a
+  after
+    0253fcda002c0043.02eb03fa03c60357.00dafe5a028bfc68.ff4afdaffeda03a9
+    257d5420870c6fe9.8a11d989618adc81.ff907719bd46b2b9.d820d2a2d68c670a
+    88331f90dd96f5c2.57b6db39e08cebed.9460e74966b1888a.9b80b17733f9867b
+    4a6e9b540588086c.5d7c7f5178c26aef.1b4fcb55517e8d16.e95cb5fddb54752c
+    9e805822eaa9f14a
+VPSRAW_0x05_256(mem)
+  before
+    96b818d27e05b600.c979c4d6986de594.783141be463913b3.f1a81eaa1b37fe0a
+    adcf70f7b073807b.60a2968434d1c8e6.849f9d6b65fda366.70b9dcb55f6a1611
+    bf93dc7e9eff0ae7.6a330ec87541ec0d.5d931043f218d534.f5cc01e0baa312d8
+    a8ced85364b6116f.45792610f6488fb6.dfd9143408986649.dc2f8a99c86c2e0b
+    812c724b2353a655
+  after
+    96b818d27e05b600.c979c4d6986de594.783141be463913b3.f1a81eaa1b37fe0a
+    adcf70f7b073807b.60a2968434d1c8e6.849f9d6b65fda366.70b9dcb55f6a1611
+    bf93dc7e9eff0ae7.6a330ec87541ec0d.5d931043f218d534.f5cc01e0baa312d8
+    a8ced85364b6116f.45792610f6488fb6.dfd9143408986649.dc2f8a99c86c2e0b
+    812c724b2353a655
+
+VPCMPGTB_256(reg)
+  before
+    4010b5626ae4b563.444de1631da25140.4cc0dcc75472eb8d.e63c2729c48812d0
+    75264f4936aa98e0.6fdc7298e5d28685.da542b592a4b3c3d.4e8ac50e41f595f5
+    7cbc3d6f26318b79.054707e0d94f6b6b.4d8110321460c072.f38d68cf9ceaaae5
+    b11d793dd305c9da.e25a1c261527bd1e.ff9285beaf3db1da.b1128e58f0730ecc
+    63e6b2955a9d7dd5
+  after
+    00ffff00ff00ff00.ff00ff00ff000000.00ffffffff00ff00.ff0000ffffff00ff
+    75264f4936aa98e0.6fdc7298e5d28685.da542b592a4b3c3d.4e8ac50e41f595f5
+    7cbc3d6f26318b79.054707e0d94f6b6b.4d8110321460c072.f38d68cf9ceaaae5
+    b11d793dd305c9da.e25a1c261527bd1e.ff9285beaf3db1da.b1128e58f0730ecc
+    63e6b2955a9d7dd5
+VPCMPGTB_256(mem)
+  before
+    e7d25073f573b32d.70940120dbb390ae.e2e02e55b46637c9.4ed58869966c4c1f
+    18a5e4dcde016b00.156ed084dac61aa2.e0a6b75bd2169799.9494149f667bcced
+    d22aebbe30546279.fcf7e3d66bcba361.ba7835238c4597b9.2e1c25ccbbf56ff1
+    f02cdf03077754c5.817b34802b4c6998.4b222399fdfff456.79b9b85d2f676fd7
+    cfb7c7bc615c094a
+  after
+    e7d25073f573b32d.70940120dbb390ae.e2e02e55b46637c9.4ed58869966c4c1f
+    18a5e4dcde016b00.156ed084dac61aa2.e0a6b75bd2169799.9494149f667bcced
+    ff0000000000ff00.00ff000000ffff00.000000ffff000000.0000ff00ffff0000
+    f02cdf03077754c5.817b34802b4c6998.4b222399fdfff456.79b9b85d2f676fd7
+    cfb7c7bc615c094a
+
+VPCMPGTB_256(reg)
+  before
+    8d615057ea6078f7.50783e998077fc0f.ff46c1f0b5d8a6f2.6e70feaa424f699b
+    0f054e996900f989.cddb836bb75e1784.d4a38590a5f8971d.012e40407641b4b5
+    b2edbeee77c7c8ad.421e2b65c73a6150.5bdf7cce983a77c2.df286748b6e18fd0
+    d0669ac2b242210f.8d10b073cc17969e.ef47a3152a298390.e329eeaf1d3cb617
+    ebfe515fc85de7b7
+  after
+    ffffff0000ffff00.000000ff00ff0000.00000000ff0000ff.ffff0000ffffff00
+    0f054e996900f989.cddb836bb75e1784.d4a38590a5f8971d.012e40407641b4b5
+    b2edbeee77c7c8ad.421e2b65c73a6150.5bdf7cce983a77c2.df286748b6e18fd0
+    d0669ac2b242210f.8d10b073cc17969e.ef47a3152a298390.e329eeaf1d3cb617
+    ebfe515fc85de7b7
+VPCMPGTB_256(mem)
+  before
+    d1730d46d250dcdc.c6bce081b6fb3f5a.887c9081e3ff719a.ee25f4d1f552f731
+    73549c4f572252b1.f03b8b971e805f3b.112d467b2701af72.b3c66d6e98400f51
+    ab6d7c6674de0463.aa2f9770875dbd5d.02f14f4eb5260c4f.99750958ad7f069d
+    578928774591b01d.50e301788c1c946d.399225e4a97c4360.fe80c5fbd09b1ac1
+    3d319bc49e218468
+  after
+    d1730d46d250dcdc.c6bce081b6fb3f5a.887c9081e3ff719a.ee25f4d1f552f731
+    73549c4f572252b1.f03b8b971e805f3b.112d467b2701af72.b3c66d6e98400f51
+    ff0000ffff00ff00.ffff00ffff00ff00.ff00ffffffff00ff.0000ffff0000ffff
+    578928774591b01d.50e301788c1c946d.399225e4a97c4360.fe80c5fbd09b1ac1
+    3d319bc49e218468
+
+VPCMPGTB_256(reg)
+  before
+    b1d6891db29d833f.51761d6ee545100c.3ea4c31cc94c2217.90dd462b1d0e11cf
+    b7b98a74a99951f2.76fed5377009e05b.d0bfdbc6db76a006.e59e2d0d30e832c9
+    ac279a331ea32b2c.a3eecebe03e6de37.627e44e45e284de7.12a05678fb176279
+    ea6bb6c8ad464d99.b21283efbaeac4cc.502dfbe0eded6365.f4b13d579ca65c0c
+    689b5f952fa2ddad
+  after
+    ff0000ff0000ff00.ffffffffffffffff.0000000000ff00ff.00000000ff000000
+    b7b98a74a99951f2.76fed5377009e05b.d0bfdbc6db76a006.e59e2d0d30e832c9
+    ac279a331ea32b2c.a3eecebe03e6de37.627e44e45e284de7.12a05678fb176279
+    ea6bb6c8ad464d99.b21283efbaeac4cc.502dfbe0eded6365.f4b13d579ca65c0c
+    689b5f952fa2ddad
+VPCMPGTB_256(mem)
+  before
+    482c3720cf16a189.cfd3d89ef40ff3e7.803670b7b0204f45.f61afa282451202d
+    712e41e3990e63cc.b5aafe218c8958bf.ea26120001953acf.b0903f27a0e1bdeb
+    bf6ef9cba896e0a1.f93b23bd1340b9d0.caade3b8ca534395.dadac549fc28794a
+    0eb7dbc218bbd435.f8d343de25c151c4.fd9961c9266924c4.d04588fad5b38ef7
+    ed1e84a6c60d399d
+  after
+    482c3720cf16a189.cfd3d89ef40ff3e7.803670b7b0204f45.f61afa282451202d
+    712e41e3990e63cc.b5aafe218c8958bf.ea26120001953acf.b0903f27a0e1bdeb
+    ffffff000000ffff.0000ffff0000ff00.ff0000ffff000000.0000ff0000000000
+    0eb7dbc218bbd435.f8d343de25c151c4.fd9961c9266924c4.d04588fad5b38ef7
+    ed1e84a6c60d399d
+
+VPCMPGTW_256(reg)
+  before
+    8fafb6b96cc2b6e9.3ad764b50689fbb3.0cbe5bf05d975d48.5fb4072132e09a88
+    114419a0625e4087.20980f918e0a1048.9248665f574e1a07.cccb52ab09c6600c
+    ce2ba9c5456e1422.9ac85840cb4cd020.e6bd6098b073c1ae.20aabc53c826337d
+    24ae6295b07d6e66.8531bbb0d95af766.65684505039191e8.371cc3058a0dcf06
+    edefe2ad6b86f0d4
+  after
+    ffffffffffffffff.ffff00000000ffff.0000ffffffffffff.0000ffffffffffff
+    114419a0625e4087.20980f918e0a1048.9248665f574e1a07.cccb52ab09c6600c
+    ce2ba9c5456e1422.9ac85840cb4cd020.e6bd6098b073c1ae.20aabc53c826337d
+    24ae6295b07d6e66.8531bbb0d95af766.65684505039191e8.371cc3058a0dcf06
+    edefe2ad6b86f0d4
+VPCMPGTW_256(mem)
+  before
+    1eed9538899d5113.6e1b417d3f188a01.bda0b5cbd5414147.69971114ed35c462
+    a6e45890fd5fafee.07bc40e88fcaa39d.1ee1c17fda0c69ee.4f94c12f0ae997c8
+    619ea8a2e5d7c692.4dde5d423c1ff6e6.84bf5bb705c72c88.73ac4fc4f43b45c5
+    2be8005b5d11522a.9acd93f6e1a4bf89.cb08ff5f717f4541.312bb93e4ab70c06
+    e55dfb09a5e82636
+  after
+    1eed9538899d5113.6e1b417d3f188a01.bda0b5cbd5414147.69971114ed35c462
+    a6e45890fd5fafee.07bc40e88fcaa39d.1ee1c17fda0c69ee.4f94c12f0ae997c8
+    0000ffffffff0000.000000000000ffff.ffffffffffffffff.00000000ffff0000
+    2be8005b5d11522a.9acd93f6e1a4bf89.cb08ff5f717f4541.312bb93e4ab70c06
+    e55dfb09a5e82636
+
+VPCMPGTW_256(reg)
+  before
+    eb8d0f91a45ad002.e08ddca5801a0ee3.4cd4df721ae43932.ce8629633b3f7244
+    9f09f342e0994516.5c5bb86e6afdb7e9.bd413b22846ba18c.6b0656af7e136dbe
+    5d1ba288f732c21d.7b1d11a138c60867.4b5ea570bbc63344.7d5501305708f3da
+    811018cf85b083c4.189e612a0582bf8a.507918c95a802b06.e03ca6d0e129bfc5
+    708ac17c38828eab
+  after
+    0000ffff0000ffff.00000000ffff0000.0000ffff00000000.0000ffffffffffff
+    9f09f342e0994516.5c5bb86e6afdb7e9.bd413b22846ba18c.6b0656af7e136dbe
+    5d1ba288f732c21d.7b1d11a138c60867.4b5ea570bbc63344.7d5501305708f3da
+    811018cf85b083c4.189e612a0582bf8a.507918c95a802b06.e03ca6d0e129bfc5
+    708ac17c38828eab
+VPCMPGTW_256(mem)
+  before
+    080acf217a201cb7.6634518425a0c4b6.11ab26f5ee3c967d.2adc9099fd25c47d
+    86874baac00e2515.6ad34a11748cc0a0.4110dbee0e004a6d.33d40a4d41423b55
+    c5ceb102285865f3.e839fee40d03b52d.8399fd0182db9686.c8ac814fc161cc3b
+    a0ac7d17ce0b977b.3cb169688c8edc0b.b512061a65d838f3.45b2f10d1a11b2db
+    073056f2e7dc2ae1
+  after
+    080acf217a201cb7.6634518425a0c4b6.11ab26f5ee3c967d.2adc9099fd25c47d
+    86874baac00e2515.6ad34a11748cc0a0.4110dbee0e004a6d.33d40a4d41423b55
+    0000ffff0000ffff.ffff0000ffff0000.ffff0000ffffffff.ffffffffffffffff
+    a0ac7d17ce0b977b.3cb169688c8edc0b.b512061a65d838f3.45b2f10d1a11b2db
+    073056f2e7dc2ae1
+
+VPCMPGTW_256(reg)
+  before
+    6874ac69c54e70f8.f5eb2bd4cc3278d9.c28987088ebb74e3.b2467426d403e9e0
+    c5c8efe04ff3c0cc.9e57382541d9c33a.d50b5432af15b764.5502c20fea69687b
+    7a791cc22258550b.79be1ff6470d35ca.d384cd518929e238.7c136cc3c41570ee
+    e3d32e7cd9086c5e.60ea5c33fad98ab4.1740edd1bb82310b.0143ef2d7d13bc65
+    c25fc5383270090d
+  after
+    00000000ffff0000.0000ffff00000000.ffffffffffff0000.00000000ffff0000
+    c5c8efe04ff3c0cc.9e57382541d9c33a.d50b5432af15b764.5502c20fea69687b
+    7a791cc22258550b.79be1ff6470d35ca.d384cd518929e238.7c136cc3c41570ee
+    e3d32e7cd9086c5e.60ea5c33fad98ab4.1740edd1bb82310b.0143ef2d7d13bc65
+    c25fc5383270090d
+VPCMPGTW_256(mem)
+  before
+    99326cd2fe371212.5c212178108f4174.31a96bc9774a7e25.fc8bb01edfacdf8a
+    648a5fe6fd75949f.42b1f223647a10f7.c6c5c9a2d96acd49.e0b012a591332961
+    fd311b604c354ce1.efcd9ce971541493.fd0bf0ac3d48324b.1dfd10d06ea44b3b
+    41f51a2c0783f303.c0c21a37d2a98af6.b0475ed1beed6a57.11bca50c118a81c5
+    163acdc6177206ab
+  after
+    99326cd2fe371212.5c212178108f4174.31a96bc9774a7e25.fc8bb01edfacdf8a
+    648a5fe6fd75949f.42b1f223647a10f7.c6c5c9a2d96acd49.e0b012a591332961
+    ffff000000000000.00000000ffff0000.0000000000000000.0000ffff0000ffff
+    41f51a2c0783f303.c0c21a37d2a98af6.b0475ed1beed6a57.11bca50c118a81c5
+    163acdc6177206ab
+
+VPCMPGTD_256(reg)
+  before
+    8ac384691be71798.0da0da36496b4832.11dc6a772306adc9.bd458eff7967309b
+    c7a3c660b975f038.3bffd66b2efa059a.3d67881701f6bbbb.fed0fd2189c14140
+    2b2590198ea9cc39.a8de8ab5d33be766.a2af6e820706ee76.50b525220b085975
+    1097ddff360ee844.31087302533ba9c3.9b001a24d2c183a6.8fc184f01a463464
+    98be9576d28a8e3a
+  after
+    00000000ffffffff.ffffffffffffffff.ffffffff00000000.0000000000000000
+    c7a3c660b975f038.3bffd66b2efa059a.3d67881701f6bbbb.fed0fd2189c14140
+    2b2590198ea9cc39.a8de8ab5d33be766.a2af6e820706ee76.50b525220b085975
+    1097ddff360ee844.31087302533ba9c3.9b001a24d2c183a6.8fc184f01a463464
+    98be9576d28a8e3a
+VPCMPGTD_256(mem)
+  before
+    4579d4a150dd2222.d343a97e4c308008.b04b0b3ccb0509dd.84a58769feb3b5f8
+    73bdbe5bb04dad49.d176f0026d9cd02f.0271d05156a5c1df.b9ebb1bd2568c118
+    fe58cd910de5eada.647caef734dd1366.03473d2c11278ef5.961e958ce66de3b2
+    c2157f3083b29702.e9a1e0ca3d7f8658.8f99ceb917982b4c.768a2d42da4d5770
+    b77b774b9f955801
+  after
+    4579d4a150dd2222.d343a97e4c308008.b04b0b3ccb0509dd.84a58769feb3b5f8
+    73bdbe5bb04dad49.d176f0026d9cd02f.0271d05156a5c1df.b9ebb1bd2568c118
+    ffffffff00000000.00000000ffffffff.ffffffffffffffff.ffffffffffffffff
+    c2157f3083b29702.e9a1e0ca3d7f8658.8f99ceb917982b4c.768a2d42da4d5770
+    b77b774b9f955801
+
+VPCMPGTD_256(reg)
+  before
+    b43d6e14d1d0240f.9bbf50222fbf6eed.bc3181e5250f65b2.823300e485035510
+    c81b0e070b8af447.6523ba552d182cc6.39788db58718eb1f.b8e14e997675c86d
+    51635492ea4f0754.fc0d3ab397ca8cba.bcc101a70026564c.0d6e34c407f9408e
+    aa5f3b2009ac97e3.3c494d2a8cdf4bf4.a259d7262cc6e0e5.5da82e51539b789f
+    8459b82c76682dcd
+  after
+    00000000ffffffff.ffffffffffffffff.ffffffff00000000.00000000ffffffff
+    c81b0e070b8af447.6523ba552d182cc6.39788db58718eb1f.b8e14e997675c86d
+    51635492ea4f0754.fc0d3ab397ca8cba.bcc101a70026564c.0d6e34c407f9408e
+    aa5f3b2009ac97e3.3c494d2a8cdf4bf4.a259d7262cc6e0e5.5da82e51539b789f
+    8459b82c76682dcd
+VPCMPGTD_256(mem)
+  before
+    5e4e4f428d6b1b44.2e5cbe1c042de1a0.01a26ea5266625a1.458c0d9da583c595
+    c7536e7db4b0fe30.3ba6dcf4785c2136.27e619108168d6ed.02a69e7a0aea4309
+    9b3491cb064491bc.2b888e1301c79251.8adfcb57baf31903.35f38628f48594ec
+    b6bd34179f329114.5c50d2e53af9719f.065bfe66ec13ab10.3abfc21302e3f4eb
+    6d554da7cd8da1b2
+  after
+    5e4e4f428d6b1b44.2e5cbe1c042de1a0.01a26ea5266625a1.458c0d9da583c595
+    c7536e7db4b0fe30.3ba6dcf4785c2136.27e619108168d6ed.02a69e7a0aea4309
+    00000000ffffffff.ffffffffffffffff.ffffffff00000000.00000000ffffffff
+    b6bd34179f329114.5c50d2e53af9719f.065bfe66ec13ab10.3abfc21302e3f4eb
+    6d554da7cd8da1b2
+
+VPCMPGTD_256(reg)
+  before
+    2a022251f311d5ec.f4b9d34d9c86b965.2848a2d7bf7ffaca.7724302a33d2483f
+    cc13407b10facd46.30f5eb58184dc7db.edbdfc532de4697e.b806dc8dad3eacbd
+    b1d2a092bfd4c56b.483ef726309275a1.05fbdcc61fb4f968.a7cf7f7c736392b5
+    348b3f039d2cf808.175e73a3006180e4.cd4e3c9d327ce734.1f4a93e4a34bb754
+    fc4296b05904d7c6
+  after
+    ffffffffffffffff.0000000000000000.00000000ffffffff.ffffffff00000000
+    cc13407b10facd46.30f5eb58184dc7db.edbdfc532de4697e.b806dc8dad3eacbd
+    b1d2a092bfd4c56b.483ef726309275a1.05fbdcc61fb4f968.a7cf7f7c736392b5
+    348b3f039d2cf808.175e73a3006180e4.cd4e3c9d327ce734.1f4a93e4a34bb754
+    fc4296b05904d7c6
+VPCMPGTD_256(mem)
+  before
+    198403cbb09aad37.b18c1a38458da3c8.7921dbb9a2c7a3d0.a2021a4202c76f8d
+    54dd5623c418f6d1.84202c9f53840259.4955ac5535cf9c90.de6371232921cc20
+    87170ca3b28a6ec3.089271a3649c5164.65c56163d2852451.debc3daa45173c98
+    90fe9f3796fcd137.9b2fe6b01361cb98.a73c76d097f6fa3e.fe5a7a45f234f9a2
+    9a8a255fcb043fea
+  after
+    198403cbb09aad37.b18c1a38458da3c8.7921dbb9a2c7a3d0.a2021a4202c76f8d
+    54dd5623c418f6d1.84202c9f53840259.4955ac5535cf9c90.de6371232921cc20
+    ffffffffffffffff.00000000ffffffff.00000000ffffffff.ffffffffffffffff
+    90fe9f3796fcd137.9b2fe6b01361cb98.a73c76d097f6fa3e.fe5a7a45f234f9a2
+    9a8a255fcb043fea
+
+VPMOVZXBD_256(reg)
+  before
+    0f9638646d144b1b.4a608dcb8a7bda5a.98438632fd60ad9f.ed876786a02dd984
+    b7cab1c073ef5ae2.9007514bad124657.5a1a4c95be233325.1172b17308377c4e
+    ef748ce07a22a5ea.3fc167a419cdd15b.3f003745f13998d7.f1c9ce82ec1ea0c9
+    13dfc32e1d376be0.34584cc0eab93691.a24040ae322b1961.67583c9f67f00021
+    51ea76b695b95981
+  after
+    0f9638646d144b1b.4a608dcb8a7bda5a.98438632fd60ad9f.ed876786a02dd984
+    000000f1000000c9.000000ce00000082.000000ec0000001e.000000a0000000c9
+    ef748ce07a22a5ea.3fc167a419cdd15b.3f003745f13998d7.f1c9ce82ec1ea0c9
+    13dfc32e1d376be0.34584cc0eab93691.a24040ae322b1961.67583c9f67f00021
+    51ea76b695b95981
+VPMOVZXBD_256(mem)
+  before
+    894df9b393846816.7f565417f8bce670.49997b8d3de13226.de28643c1e87f26e
+    ed4b3f827d5de60c.8f263a08a83d5345.5c5070f52d528146.5102a05c50d85fab
+    57b1c60f6e50928e.9f9b716bc945ee0c.4749a7e6d717df1c.551bef7864ab9bc4
+    a44b0946826a26c8.0b01f5aef560f270.e74f9c4b563c07d5.48bf4dfef88be364
+    843ab759a5047337
+  after
+    894df9b393846816.7f565417f8bce670.49997b8d3de13226.de28643c1e87f26e
+    000000de00000028.000000640000003c.0000001e00000087.000000f20000006e
+    57b1c60f6e50928e.9f9b716bc945ee0c.4749a7e6d717df1c.551bef7864ab9bc4
+    a44b0946826a26c8.0b01f5aef560f270.e74f9c4b563c07d5.48bf4dfef88be364
+    843ab759a5047337
+
+VPMOVZXBD_256(reg)
+  before
+    66d827f409a386eb.b0e58414d6b65fe8.2fa4c23ccb1a9c1e.192fcc10c6cdb69d
+    4be49b3dc0f35929.584bb3638541f817.67cfd581e50028c2.b7b6b12144d7a89f
+    8dac0e9f658028a0.76481321ac16af84.0ed029e9df9dd107.9eaec96aec659807
+    897a7d8695d72ffa.e7aa1f3966413e59.82f1bae0567ed59a.aae490d7d9844303
+    b7238054283f65bc
+  after
+    66d827f409a386eb.b0e58414d6b65fe8.2fa4c23ccb1a9c1e.192fcc10c6cdb69d
+    0000009e000000ae.000000c90000006a.000000ec00000065.0000009800000007
+    8dac0e9f658028a0.76481321ac16af84.0ed029e9df9dd107.9eaec96aec659807
+    897a7d8695d72ffa.e7aa1f3966413e59.82f1bae0567ed59a.aae490d7d9844303
+    b7238054283f65bc
+VPMOVZXBD_256(mem)
+  before
+    a23917cdf4a2ba61.9c9be25feb83a9e4.873b5396d0ce62c2.1e7f85d2e52d6e26
+    45f1d02f59b9fd1c.205b3b940310d309.32c82b2605cad6ed.3ec6842b2939d858
+    7d1627647491eb19.720583927a0be916.c41d24d422415704.3d12b557bd2b51db
+    2675985a60364086.eee7b6c6ebff26b6.1905b98c423da133.79ae13c33e91135d
+    4de89ad947f65b87
+  after
+    a23917cdf4a2ba61.9c9be25feb83a9e4.873b5396d0ce62c2.1e7f85d2e52d6e26
+    0000001e0000007f.00000085000000d2.000000e50000002d.0000006e00000026
+    7d1627647491eb19.720583927a0be916.c41d24d422415704.3d12b557bd2b51db
+    2675985a60364086.eee7b6c6ebff26b6.1905b98c423da133.79ae13c33e91135d
+    4de89ad947f65b87
+
+VPMOVZXBD_256(reg)
+  before
+    140a470774e76408.1cdaa0fc3ab2b88c.f04bd09af378c796.0d4e653a82cc70a7
+    2c6115b762ef6b8a.3b11ba351d130e5a.d47fce7c2d030862.7cc2a7cbfdf97f8b
+    f0390057ad9aacb9.5fe562f32664ff1a.f6cdabd7362b25c5.422ff829cfd18b0d
+    bbde0452f0756342.6424142171b246f8.b3826317aa7d596c.3b5fd641155f5056
+    431fbb00ebaf8a95
+  after
+    140a470774e76408.1cdaa0fc3ab2b88c.f04bd09af378c796.0d4e653a82cc70a7
+    000000420000002f.000000f800000029.000000cf000000d1.0000008b0000000d
+    f0390057ad9aacb9.5fe562f32664ff1a.f6cdabd7362b25c5.422ff829cfd18b0d
+    bbde0452f0756342.6424142171b246f8.b3826317aa7d596c.3b5fd641155f5056
+    431fbb00ebaf8a95
+VPMOVZXBD_256(mem)
+  before
+    363a26516ccef4f4.eb9c1d14c70accd1.25984cab1808a121.65e9f2a72383e102
+    f07e901fb4c74b9f.dabf4809cfe82211.800f877d3972cac1.695054f63fcbf934
+    4db67658e0a64ac3.e5927f9da498a2af.50534084f0fd7e04.1a01866d9ae1ddae
+    28ad55e70c78af8c.6962c03de1a88756.7130f3aa58b47815.d64a8379cf50c81b
+    f87547867ba4f728
+  after
+    363a26516ccef4f4.eb9c1d14c70accd1.25984cab1808a121.65e9f2a72383e102
+    00000065000000e9.000000f2000000a7.0000002300000083.000000e100000002
+    4db67658e0a64ac3.e5927f9da498a2af.50534084f0fd7e04.1a01866d9ae1ddae
+    28ad55e70c78af8c.6962c03de1a88756.7130f3aa58b47815.d64a8379cf50c81b
+    f87547867ba4f728
+
+VPMOVSXBD_256(reg)
+  before
+    dccfcf013969a680.5f30a8b852483426.c07b075322a40eb3.bf741cdd8ea37520
+    dea41554a52c10d0.cd0bebb7d12296bb.48294e4c04167472.15ea3807add73152
+    5a3f17ed5d7872c3.4e0a9ad0a213907a.5bb89395228cf23e.515dc116d15b68d7
+    abeed036fada0807.bdf932f0e426df8d.5673d1991992c7c4.4e9a35f4173bd6da
+    e76e108f9b843688
+  after
+    dccfcf013969a680.5f30a8b852483426.c07b075322a40eb3.bf741cdd8ea37520
+    000000510000005d.ffffffc100000016.ffffffd10000005b.00000068ffffffd7
+    5a3f17ed5d7872c3.4e0a9ad0a213907a.5bb89395228cf23e.515dc116d15b68d7
+    abeed036fada0807.bdf932f0e426df8d.5673d1991992c7c4.4e9a35f4173bd6da
+    e76e108f9b843688
+VPMOVSXBD_256(mem)
+  before
+    faa3ccd27841440d.2ffb3c9d1add0d45.f8a32e01b0673f21.95a804c384b22db0
+    6205e7a9ca7fbe94.41b3588d580dbf2c.d9d50af025e36c61.75a12881007a61ad
+    fa62db00ae485e49.3d621e7251f65865.3e5c42aa5ca5227a.50ab3a3e28769e67
+    a08426c43fabe15a.7e548cb8a125149f.0102521a73ba1c98.831235669830228c
+    6a221465ed3627c5
+  after
+    faa3ccd27841440d.2ffb3c9d1add0d45.f8a32e01b0673f21.95a804c384b22db0
+    ffffff95ffffffa8.00000004ffffffc3.ffffff84ffffffb2.0000002dffffffb0
+    fa62db00ae485e49.3d621e7251f65865.3e5c42aa5ca5227a.50ab3a3e28769e67
+    a08426c43fabe15a.7e548cb8a125149f.0102521a73ba1c98.831235669830228c
+    6a221465ed3627c5
+
+VPMOVSXBD_256(reg)
+  before
+    6127d6a7c314eac1.2e3944df9ab103f1.62d59dcbe2263184.0094b72b862c17e6
+    c46c7499b555a62a.814baf3edb687f3a.43314e17b383e9c1.15ddeccbb00ace90
+    ef3feca5608598ac.7687e5ce1cdb1362.7fb39909adca7901.1eab6de50e5dfec4
+    3eea39395f30fcf5.e7b961797c167995.70a87c0b6f861cf1.f5c8b665bb3363ab
+    78024437d397b974
+  after
+    6127d6a7c314eac1.2e3944df9ab103f1.62d59dcbe2263184.0094b72b862c17e6
+    0000001effffffab.0000006dffffffe5.0000000e0000005d.fffffffeffffffc4
+    ef3feca5608598ac.7687e5ce1cdb1362.7fb39909adca7901.1eab6de50e5dfec4
+    3eea39395f30fcf5.e7b961797c167995.70a87c0b6f861cf1.f5c8b665bb3363ab
+    78024437d397b974
+VPMOVSXBD_256(mem)
+  before
+    812392487395bc49.0dba57bf4ee30eae.b2ad9f2d14266dfe.745df28b9244103c
+    edf81c82b63a2757.b8fb42a5ca290986.b12e1bd50216acca.e51cf7f3b58f8f90
+    984d5ed2b991b7c9.9bf9f7566e8f2a27.c109525d62f3f224.213187b171f3d596
+    5fedd42598a727cc.12ff703dd79fad3d.be0bbfb14fc8fb39.82ea9f3064fd20fc
+    66913adc2a38aa6e
+  after
+    812392487395bc49.0dba57bf4ee30eae.b2ad9f2d14266dfe.745df28b9244103c
+    000000740000005d.fffffff2ffffff8b.ffffff9200000044.000000100000003c
+    984d5ed2b991b7c9.9bf9f7566e8f2a27.c109525d62f3f224.213187b171f3d596
+    5fedd42598a727cc.12ff703dd79fad3d.be0bbfb14fc8fb39.82ea9f3064fd20fc
+    66913adc2a38aa6e
+
+VPMOVSXBD_256(reg)
+  before
+    277454215e30b098.1ca6fb656d87358b.795babc8a0e7ce75.85fedebde6a18335
+    22dde96b9c726d25.ac424e80573d9b33.2b57a36266f3c87b.f0af2b6d428a4543
+    b319f62681891fc1.eb8e49616fd615f0.86405578c44ed8fa.dce923ad7f90fe90
+    377475bea901001a.b55668f4d45c61ed.e562bb7457843a9f.257a4069babf6947
+    a72d008e0f214495
+  after
+    277454215e30b098.1ca6fb656d87358b.795babc8a0e7ce75.85fedebde6a18335
+    ffffffdcffffffe9.00000023ffffffad.0000007fffffff90.fffffffeffffff90
+    b319f62681891fc1.eb8e49616fd615f0.86405578c44ed8fa.dce923ad7f90fe90
+    377475bea901001a.b55668f4d45c61ed.e562bb7457843a9f.257a4069babf6947
+    a72d008e0f214495
+VPMOVSXBD_256(mem)
+  before
+    3ecdde0699c449a6.083a64a0af674dda.e66628259fde3957.a409d3c3ba222916
+    c62757bf74b335a5.83b6bf362f4641ad.5a8a03e0ee655a59.1e8098d18ab2e20a
+    1b07e5a4bdfbc3bf.043680eec62a1940.ed8e7711ddff8020.b115070b62c3a128
+    193906a08fa7b01f.e704a4320fa0113f.7b3d00a487b866d8.b8121adcdfdea11b
+    8ec4cfaf9c912090
+  after
+    3ecdde0699c449a6.083a64a0af674dda.e66628259fde3957.a409d3c3ba222916
+    ffffffa400000009.ffffffd3ffffffc3.ffffffba00000022.0000002900000016
+    1b07e5a4bdfbc3bf.043680eec62a1940.ed8e7711ddff8020.b115070b62c3a128
+    193906a08fa7b01f.e704a4320fa0113f.7b3d00a487b866d8.b8121adcdfdea11b
+    8ec4cfaf9c912090
+
+VPALIGNR_256_1of3(reg)
+  before
+    917721f235675832.9c8835a107c3b8f2.886d2870a7336555.e0641886099ac9ac
+    1b770c1047ed85af.80c2ee92405c9764.43bd0713296f502f.f8cf3da17eb365c9
+    8a108c756eaee5b0.a1b1ae5f577d08a0.74403e8732e10f78.9f4ae9e3020ef55a
+    388d9e8d4536b2e4.db23eff56732c8d3.7741c7385d14dedd.b1a19a36b2b8378c
+    0aa0cc88aabce58b
+  after
+    8a108c756eaee5b0.a1b1ae5f577d08a0.74403e8732e10f78.9f4ae9e3020ef55a
+    1b770c1047ed85af.80c2ee92405c9764.43bd0713296f502f.f8cf3da17eb365c9
+    8a108c756eaee5b0.a1b1ae5f577d08a0.74403e8732e10f78.9f4ae9e3020ef55a
+    388d9e8d4536b2e4.db23eff56732c8d3.7741c7385d14dedd.b1a19a36b2b8378c
+    0aa0cc88aabce58b
+VPALIGNR_256_1of3(mem)
+  before
+    8612f9c40426bb82.833c3dc4681229f4.0ae22f3e8d889328.a80ea0924795f80a
+    00c49fd6df03779d.c567658674cd858f.09bbe927e48a25cc.63f1c4018bef9baa
+    568339aa555ed30a.5b5b124004f3045f.b679999d894439eb.04372ff1c6ae0169
+    6319432c82438cf3.a264405cb511e011.eceabc8a97c38cb0.e72cddcf935e66f5
+    681ccb058e8c08f8
+  after
+    8612f9c40426bb82.833c3dc4681229f4.0ae22f3e8d889328.a80ea0924795f80a
+    00c49fd6df03779d.c567658674cd858f.09bbe927e48a25cc.63f1c4018bef9baa
+    cd858f8612f9c404.26bb82833c3dc468.ef9baa0ae22f3e8d.889328a80ea09247
+    6319432c82438cf3.a264405cb511e011.eceabc8a97c38cb0.e72cddcf935e66f5
+    681ccb058e8c08f8
+
+VPALIGNR_256_1of3(reg)
+  before
+    e353f40154c3211e.0352394883bf5d84.f4ceec4822b25550.87d8cddc2a12da48
+    b31c542e8190ee14.11fc98ea73dd03ea.aee4116ee862a1c9.6211487e5f3ddede
+    36c5e7f7b07eaa86.6be2dbff6faa3a51.2df4ab3ca2aefe27.5b5fa95b5251559f
+    c798a9ca7d199220.ebcf7e719230bee4.cb48b61ded21a917.4d8f6c611e59fbb6
+    136c0e7bdf618c50
+  after
+    36c5e7f7b07eaa86.6be2dbff6faa3a51.2df4ab3ca2aefe27.5b5fa95b5251559f
+    b31c542e8190ee14.11fc98ea73dd03ea.aee4116ee862a1c9.6211487e5f3ddede
+    36c5e7f7b07eaa86.6be2dbff6faa3a51.2df4ab3ca2aefe27.5b5fa95b5251559f
+    c798a9ca7d199220.ebcf7e719230bee4.cb48b61ded21a917.4d8f6c611e59fbb6
+    136c0e7bdf618c50
+VPALIGNR_256_1of3(mem)
+  before
+    8bc40a95b276c399.c1e2971285ede28c.6f90fd2ef87d4bd0.e52d2f7d6447de45
+    8f61dc9cb2a35dbc.82efac3b6487d679.d2f1d420bf9d9c41.d7ef11c8a4add85c
+    fd11007afcf516e6.650ae4b1b472a991.efbe8035009b6e62.fdda586a48ded409
+    af9ef31cab76a943.c5813be1143b9981.a3c37c58d9837c5f.b33a00cfec660ef7
+    555a05642dd2c1d3
+  after
+    8bc40a95b276c399.c1e2971285ede28c.6f90fd2ef87d4bd0.e52d2f7d6447de45
+    8f61dc9cb2a35dbc.82efac3b6487d679.d2f1d420bf9d9c41.d7ef11c8a4add85c
+    87d6798bc40a95b2.76c399c1e2971285.add85c6f90fd2ef8.7d4bd0e52d2f7d64
+    af9ef31cab76a943.c5813be1143b9981.a3c37c58d9837c5f.b33a00cfec660ef7
+    555a05642dd2c1d3
+
+VPALIGNR_256_1of3(reg)
+  before
+    3f876493a7ad2b49.82d52f6fdc35d3fe.009eae351d6ddff4.cbcc447566618366
+    cd0e18c9f5848504.5382325daa3b5044.70af371a6e94ba97.41a45478c2423fa1
+    5b391d73b3e10eb1.fc7177d43296dc40.73fed4fda03d6415.e318294d09316c3c
+    45556ffc7e5200fb.5a6d7bbf8f51321f.63d8814952f31a1c.8bf43ee0583bc664
+    16040f1eca6a0845
+  after
+    5b391d73b3e10eb1.fc7177d43296dc40.73fed4fda03d6415.e318294d09316c3c
+    cd0e18c9f5848504.5382325daa3b5044.70af371a6e94ba97.41a45478c2423fa1
+    5b391d73b3e10eb1.fc7177d43296dc40.73fed4fda03d6415.e318294d09316c3c
+    45556ffc7e5200fb.5a6d7bbf8f51321f.63d8814952f31a1c.8bf43ee0583bc664
+    16040f1eca6a0845
+VPALIGNR_256_1of3(mem)
+  before
+    611418f17ccdef0a.e7ad0bcff263998f.4a44b80ade780f0c.9e8938691d421855
+    46f0d5468a6d36e0.9d8feb5aaa9f1219.a6c0aca13a182f34.7e5cf7cb9fb7996e
+    a263c30a0e589bf2.c3450d084292aa44.4baed270bf3d4dc3.609fb8da74dddb13
+    513b5d282799d86d.b51d6d4557c89bbd.15daa6638af126e4.a19c7a02374018f0
+    9ba036af846d8cb0
+  after
+    611418f17ccdef0a.e7ad0bcff263998f.4a44b80ade780f0c.9e8938691d421855
+    46f0d5468a6d36e0.9d8feb5aaa9f1219.a6c0aca13a182f34.7e5cf7cb9fb7996e
+    9f1219611418f17c.cdef0ae7ad0bcff2.b7996e4a44b80ade.780f0c9e8938691d
+    513b5d282799d86d.b51d6d4557c89bbd.15daa6638af126e4.a19c7a02374018f0
+    9ba036af846d8cb0
+
+VPALIGNR_256_2of3(reg)
+  before
+    abf7e94df8ef74ff.2f421f8cef3da97d.cf61057d84ce222f.e110a566b74276c4
+    2ded90492f520c8b.18458521824fcc4d.6c5ed31d662f7b47.891b4a65613bf98e
+    7ece260dc42390fe.e8100cd5fcdbfb0a.ea5fd18f9878e1b0.eac9114da4e96a6f
+    f8e5a70653ed3c04.7c6e2e937bedf3df.a4b2fd40b6349118.e0e476089d578693
+    4739f58468910925
+  after
+    8521824fcc4d7ece.260dc42390fee810.4a65613bf98eea5f.d18f9878e1b0eac9
+    2ded90492f520c8b.18458521824fcc4d.6c5ed31d662f7b47.891b4a65613bf98e
+    7ece260dc42390fe.e8100cd5fcdbfb0a.ea5fd18f9878e1b0.eac9114da4e96a6f
+    f8e5a70653ed3c04.7c6e2e937bedf3df.a4b2fd40b6349118.e0e476089d578693
+    4739f58468910925
+VPALIGNR_256_2of3(mem)
+  before
+    fb940bac20a3af52.f88010a1793c4b4a.ae2d6948189270f9.f5a2539d5eefc728
+    d8c1326ce19a3345.dae95b49d19dfa7c.5b1738def1d62d84.3b7acd102936bf8f
+    ba8ce8afc882522b.fa6d8669f89b8445.5efa184222c3e7ab.d1876907b593b4f6
+    7dc0a963f065c730.b4588c6f89c22752.95a08361c6675a9b.121522ed9e95e30c
+    5c70f42e7fc5887b
+  after
+    fb940bac20a3af52.f88010a1793c4b4a.ae2d6948189270f9.f5a2539d5eefc728
+    d8c1326ce19a3345.dae95b49d19dfa7c.5b1738def1d62d84.3b7acd102936bf8f
+    45dae95b49d19dfa.7cfb940bac20a3af.843b7acd102936bf.8fae2d6948189270
+    7dc0a963f065c730.b4588c6f89c22752.95a08361c6675a9b.121522ed9e95e30c
+    5c70f42e7fc5887b
+
+VPALIGNR_256_2of3(reg)
+  before
+    09e4db36f4b1def0.fd2aef737651507f.64f669c6219f1d4e.dbd6f725f9ce417f
+    77bcd4719ae52216.159738cc7552a745.66921ada5bbda3e6.0c68ef7cd8025a84
+    0045da4b0deb909a.a3d1fe58097289ad.167a9917d4a9f4c5.0421e8517f115fd6
+    01cce930e7516427.82a5c00450bfb1e4.d0f8e4ea27ed4d99.9fcf5c8f09070ca0
+    b93cc92492ee1f0f
+  after
+    38cc7552a7450045.da4b0deb909aa3d1.ef7cd8025a84167a.9917d4a9f4c50421
+    77bcd4719ae52216.159738cc7552a745.66921ada5bbda3e6.0c68ef7cd8025a84
+    0045da4b0deb909a.a3d1fe58097289ad.167a9917d4a9f4c5.0421e8517f115fd6
+    01cce930e7516427.82a5c00450bfb1e4.d0f8e4ea27ed4d99.9fcf5c8f09070ca0
+    b93cc92492ee1f0f
+VPALIGNR_256_2of3(mem)
+  before
+    2d35aafb37d4524e.d79bfd8dc7a2d96a.8edef7bd6345dc15.f059f6bdf118ea0b
+    d9867b0013c5628a.dcff12cc476b2c0f.a34a206d600ec66e.d2e9ccfdcdb307ca
+    98fbb82043cb0aee.6d43255b033799c1.9cb3b80263282b18.d2f46017574cdf80
+    4560de45e2f407a8.e7b531a498925b2d.57e73a67879fc742.4bc6b0752c6eafd9
+    9baab785e8a6b382
+  after
+    2d35aafb37d4524e.d79bfd8dc7a2d96a.8edef7bd6345dc15.f059f6bdf118ea0b
+    d9867b0013c5628a.dcff12cc476b2c0f.a34a206d600ec66e.d2e9ccfdcdb307ca
+    8adcff12cc476b2c.0f2d35aafb37d452.6ed2e9ccfdcdb307.ca8edef7bd6345dc
+    4560de45e2f407a8.e7b531a498925b2d.57e73a67879fc742.4bc6b0752c6eafd9
+    9baab785e8a6b382
+
+VPALIGNR_256_2of3(reg)
+  before
+    1dee71b2267e2727.be80675c0d4c15e1.a49f3215a109afff.aeb02287e87d5516
+    2ddcdb6882854673.de29d152dfddf0c8.014f2419ba27d1e2.7fdbed50a3d191c0
+    26c1ef1399444d13.8025981175b65486.5a0f041c8179fd82.a53315add4a4396d
+    66e9ab1f064978b3.82413687eae0fc4a.0c2ccd8a8f896e8c.fb86188b96040749
+    5f9f71d405fcb87f
+  after
+    d152dfddf0c826c1.ef1399444d138025.ed50a3d191c05a0f.041c8179fd82a533
+    2ddcdb6882854673.de29d152dfddf0c8.014f2419ba27d1e2.7fdbed50a3d191c0
+    26c1ef1399444d13.8025981175b65486.5a0f041c8179fd82.a53315add4a4396d
+    66e9ab1f064978b3.82413687eae0fc4a.0c2ccd8a8f896e8c.fb86188b96040749
+    5f9f71d405fcb87f
+VPALIGNR_256_2of3(mem)
+  before
+    ab499c753e98083c.47a00af8661f02fe.be49299f5a69a53e.71f27bcf82e561ac
+    bd51165a5ce5b2ac.2731090a555328a1.1208ec44e25c0a8f.e6ac0a57f619128e
+    6f835a707cee74fa.61eaa2c16d702647.584cfb649ec5e868.c7a8768e86afbddd
+    9eabe4a2b9c00852.5015d38a4d02389d.6ddfd2eaa9b1fbf6.7030bce1ce369d45
+    3d91d7ba6b37ef73
+  after
+    ab499c753e98083c.47a00af8661f02fe.be49299f5a69a53e.71f27bcf82e561ac
+    bd51165a5ce5b2ac.2731090a555328a1.1208ec44e25c0a8f.e6ac0a57f619128e
+    ac2731090a555328.a1ab499c753e9808.8fe6ac0a57f61912.8ebe49299f5a69a5
+    9eabe4a2b9c00852.5015d38a4d02389d.6ddfd2eaa9b1fbf6.7030bce1ce369d45
+    3d91d7ba6b37ef73
+
+VPALIGNR_256_3of3(reg)
+  before
+    8a17c387f940ee13.279530db30652ae1.52ff97cf8e96994e.2e8feec31f2bff64
+    b30e7cb213dcd8d1.e40cba09fcec97d3.c1f4eafeceb78607.7526c9d91d40b0df
+    14c2ffa95597e758.b2deff17395e0b54.fa40c982a9f13b74.1f71e119bffbc993
+    087f47d75cfe5854.6ed57af105c9428f.5a2f2ec6bad1f340.093cb270206807ab
+    0d52b6c85c932554
+  after
+    13dcd8d1e40cba09.fcec97d314c2ffa9.ceb786077526c9d9.1d40b0dffa40c982
+    b30e7cb213dcd8d1.e40cba09fcec97d3.c1f4eafeceb78607.7526c9d91d40b0df
+    14c2ffa95597e758.b2deff17395e0b54.fa40c982a9f13b74.1f71e119bffbc993
+    087f47d75cfe5854.6ed57af105c9428f.5a2f2ec6bad1f340.093cb270206807ab
+    0d52b6c85c932554
+VPALIGNR_256_3of3(mem)
+  before
+    08816b0f9089e1b9.ed904fa8c39c6672.f2bea7837938f8b0.3b0c17389ee2eb18
+    d6934c2fd755f508.1e42168827fe4e5e.1b6502b9b3b8e8e5.fa247f43f0b05fa8
+    5355d5164e041d6a.f7e195e323af4cc3.c596077fcf54cf57.f4c462534cc88b9b
+    5b9382af10a1170d.d4b9ca25543b9c4e.cc1c33c2e8186835.8336bdd54fb5aa9d
+    04c68b339503f95c
+  after
+    08816b0f9089e1b9.ed904fa8c39c6672.f2bea7837938f8b0.3b0c17389ee2eb18
+    d6934c2fd755f508.1e42168827fe4e5e.1b6502b9b3b8e8e5.fa247f43f0b05fa8
+    934c2fd755f5081e.42168827fe4e5e08.6502b9b3b8e8e5fa.247f43f0b05fa8f2
+    5b9382af10a1170d.d4b9ca25543b9c4e.cc1c33c2e8186835.8336bdd54fb5aa9d
+    04c68b339503f95c
+
+VPALIGNR_256_3of3(reg)
+  before
+    d3c2c8dab93fb481.cb19cfe63a389d1d.1016afbb552e79ab.0cc5016c1a1071a9
+    4d75703757f416bb.7db339a7e7d66cc6.0944430fc3152185.615bed6a8249a4e0
+    cc2a7fb40cae5db4.4e2d3bde33864033.1a8e7f8f397bcd89.a7ab73a93bcfbe05
+    ad2ef2bf73fac319.1a5251773b54d490.9e4260a554edbc62.ba81101462ac7a44
+    76a93f9713ee95cb
+  after
+    57f416bb7db339a7.e7d66cc6cc2a7fb4.c3152185615bed6a.8249a4e01a8e7f8f
+    4d75703757f416bb.7db339a7e7d66cc6.0944430fc3152185.615bed6a8249a4e0
+    cc2a7fb40cae5db4.4e2d3bde33864033.1a8e7f8f397bcd89.a7ab73a93bcfbe05
+    ad2ef2bf73fac319.1a5251773b54d490.9e4260a554edbc62.ba81101462ac7a44
+    76a93f9713ee95cb
+VPALIGNR_256_3of3(mem)
+  before
+    b7ef7c1d68a0cbc4.4ccdc4c329638495.bdeff85f1b4ce50a.f3aae3bfaff628bd
+    591e439480cfd85b.0553f12cc975ded5.12d0aa80ee7b2fcd.73130348e6224e45
+    380310e8748677be.340c7565f0bd0b84.f7c1e5c8d0ed6d04.7cc9bcac96fe6aa8
+    306b600362d16516.35444cdd39c6474f.478e2421deac5ddc.68170a575b15b78f
+    954beab5d0f372a8
+  after
+    b7ef7c1d68a0cbc4.4ccdc4c329638495.bdeff85f1b4ce50a.f3aae3bfaff628bd
+    591e439480cfd85b.0553f12cc975ded5.12d0aa80ee7b2fcd.73130348e6224e45
+    1e439480cfd85b05.53f12cc975ded5b7.d0aa80ee7b2fcd73.130348e6224e45bd
+    306b600362d16516.35444cdd39c6474f.478e2421deac5ddc.68170a575b15b78f
+    954beab5d0f372a8
+
+VPALIGNR_256_3of3(reg)
+  before
+    5daf57329125d79f.1d20aed266bd5e92.644673fd411dd0e1.de03e37934c6b981
+    1e904d3a3b362220.dbef76419b551e5c.1d60e532a34ce0e8.98eb9fbbed473d1e
+    323bc83969b28ed6.45a3343d1ea560a0.bcdc9ee8fce2b40d.5113d3d32539a7e0
+    f6f9c59cb825586e.390a65b00abae18b.9d079a8ce76888ff.e448faadf9aab1f2
+    2f54933584a61881
+  after
+    3b362220dbef7641.9b551e5c323bc839.a34ce0e898eb9fbb.ed473d1ebcdc9ee8
+    1e904d3a3b362220.dbef76419b551e5c.1d60e532a34ce0e8.98eb9fbbed473d1e
+    323bc83969b28ed6.45a3343d1ea560a0.bcdc9ee8fce2b40d.5113d3d32539a7e0
+    f6f9c59cb825586e.390a65b00abae18b.9d079a8ce76888ff.e448faadf9aab1f2
+    2f54933584a61881
+VPALIGNR_256_3of3(mem)
+  before
+    0d031757e33797b9.c7193ecdc31cbc93.92ee84887b9f5d49.1b2cd688006c9768
+    592304ff316bebc5.ffe6313a2723f5f2.2b1d0cb08e608f05.94994d4ae4791ef4
+    f17fd41a8b4ed0d1.fbab994e7fc54136.e2617c145f0a34ec.6399fb3c2f1c5950
+    b0e205920ceb020b.17b67375688eda0c.92874da009a8082a.e477dccc7cdf8428
+    7280ec656751da27
+  after
+    0d031757e33797b9.c7193ecdc31cbc93.92ee84887b9f5d49.1b2cd688006c9768
+    592304ff316bebc5.ffe6313a2723f5f2.2b1d0cb08e608f05.94994d4ae4791ef4
+    2304ff316bebc5ff.e6313a2723f5f20d.1d0cb08e608f0594.994d4ae4791ef492
+    b0e205920ceb020b.17b67375688eda0c.92874da009a8082a.e477dccc7cdf8428
+    7280ec656751da27
+
+VPBLENDW_256_0x00(reg)
+  before
+    6b0028738dfb98fa.71191355d14e3d9d.b051b91b7d0afc20.165afd40a847c7ea
+    2a438b62896bfa4d.12f0784df5833cb3.20c969ac5bc6e41d.4ca807e059f12c59
+    0a95119ef82c3bcb.6d33b2689597bc7a.c4697e949d4dcfb0.0e3ce76c38b4f4a2
+    6942b69376cb9821.60ae3c91cc95781e.f87ff43fdf2bf684.3ae119d05f9cdbf2
+    aa6419f9edb49c74
+  after
+    2a438b62896bfa4d.12f0784df5833cb3.20c969ac5bc6e41d.4ca807e059f12c59
+    2a438b62896bfa4d.12f0784df5833cb3.20c969ac5bc6e41d.4ca807e059f12c59
+    0a95119ef82c3bcb.6d33b2689597bc7a.c4697e949d4dcfb0.0e3ce76c38b4f4a2
+    6942b69376cb9821.60ae3c91cc95781e.f87ff43fdf2bf684.3ae119d05f9cdbf2
+    aa6419f9edb49c74
+VPBLENDW_256_0x00(mem)
+  before
+    3c9164d1fb08f455.a19577ae9dd34dfa.c52d92b4b6892dca.1856c719beed9846
+    ca347546a8a49fc1.10db4f590cd09503.797b30bd708097ab.8039f48fd61eefa2
+    3119c8420d9559e3.10603a025c4faee7.59659398168572ec.8c75760bc24a3843
+    4e0bdab348e6dde8.ff7034132bdbd253.3fb73531c2a57abb.985649fb1efeafd6
+    002869c987c58f06
+  after
+    3c9164d1fb08f455.a19577ae9dd34dfa.c52d92b4b6892dca.1856c719beed9846
+    ca347546a8a49fc1.10db4f590cd09503.797b30bd708097ab.8039f48fd61eefa2
+    ca347546a8a49fc1.10db4f590cd04dfa.797b30bd708097ab.8039f48fd61e9846
+    4e0bdab348e6dde8.ff7034132bdbd253.3fb73531c2a57abb.985649fb1efeafd6
+    002869c987c58f06
+
+VPBLENDW_256_0x00(reg)
+  before
+    2037d3e3992c1580.fbd8258475a4e8fb.375739fa15003ef3.083d947593eb6a41
+    54ce82b4eebe7df0.154a27a1afda364a.16614622b54a2d72.91c32b4ea363ffac
+    f83b72a825070201.782e5bf6139482fe.f6d956f7a846dc7d.b41577aa0e19f428
+    67c89f2bd793e260.01503d6fbcde8945.340d65e5898087c0.4efef373f11a07e1
+    3b4c1a976771f202
+  after
+    54ce82b4eebe7df0.154a27a1afda364a.16614622b54a2d72.91c32b4ea363ffac
+    54ce82b4eebe7df0.154a27a1afda364a.16614622b54a2d72.91c32b4ea363ffac
+    f83b72a825070201.782e5bf6139482fe.f6d956f7a846dc7d.b41577aa0e19f428
+    67c89f2bd793e260.01503d6fbcde8945.340d65e5898087c0.4efef373f11a07e1
+    3b4c1a976771f202
+VPBLENDW_256_0x00(mem)
+  before
+    57c96a018d2b71b7.ffc205a9a3ef57b8.8a7c4af8c6c5074b.2d476f58f4826ae6
+    7f425f9d7e53422e.1b75a18e22a69db6.f07dfc7e4e54b83c.3bd471bc86dac09b
+    8d83735757f51f90.172d6e47f345f205.0f21d1eb70985743.bb00657ddb14c68d
+    5e58241b331ec50c.4e36683eaf579052.c332442d479ca18c.091649088ebbb865
+    816418c73b5bd1d2
+  after
+    57c96a018d2b71b7.ffc205a9a3ef57b8.8a7c4af8c6c5074b.2d476f58f4826ae6
+    7f425f9d7e53422e.1b75a18e22a69db6.f07dfc7e4e54b83c.3bd471bc86dac09b
+    7f425f9d7e53422e.1b75a18e22a657b8.f07dfc7e4e54b83c.3bd471bc86da6ae6
+    5e58241b331ec50c.4e36683eaf579052.c332442d479ca18c.091649088ebbb865
+    816418c73b5bd1d2
+
+VPBLENDW_256_0x00(reg)
+  before
+    8034cf287f804e7e.ce8cedd52fd9f0cc.1edb8be1f468b449.e87dd22eef6c5244
+    60d46895f5b76b15.b9ec4a7166325bfc.e269d39a5e049995.5acef5dc85152697
+    7e8ee17c3a8b6445.fb45b8dbf436c3ca.f52d3dd788b87ce3.f5f12b2224a2d8b1
+    36af3548e98874b7.7061b100f6f0e45f.b571c4030f1099df.95b2efece91f25bd
+    16dcbd26ef99c8e7
+  after
+    60d46895f5b76b15.b9ec4a7166325bfc.e269d39a5e049995.5acef5dc85152697
+    60d46895f5b76b15.b9ec4a7166325bfc.e269d39a5e049995.5acef5dc85152697
+    7e8ee17c3a8b6445.fb45b8dbf436c3ca.f52d3dd788b87ce3.f5f12b2224a2d8b1
+    36af3548e98874b7.7061b100f6f0e45f.b571c4030f1099df.95b2efece91f25bd
+    16dcbd26ef99c8e7
+VPBLENDW_256_0x00(mem)
+  before
+    543c12bc531b7f5c.e48260659f3bd81a.f30db3ca886c79ea.7c8164898e962c34
+    2b9f689a30b10448.e4555f3ff72fcc18.62153927c5b64095.a8ab1ad7a1d8718f
+    76cf3daca36814d6.92722d428ef08c5d.9844bf02c9dbf38c.933ae059e561a39b
+    13990cdec74b6a33.4a27c6daff0b5397.7168c247b1e74efc.9b79b479f5beff05
+    1ab591a46e7ac078
+  after
+    543c12bc531b7f5c.e48260659f3bd81a.f30db3ca886c79ea.7c8164898e962c34
+    2b9f689a30b10448.e4555f3ff72fcc18.62153927c5b64095.a8ab1ad7a1d8718f
+    2b9f689a30b10448.e4555f3ff72fd81a.62153927c5b64095.a8ab1ad7a1d82c34
+    13990cdec74b6a33.4a27c6daff0b5397.7168c247b1e74efc.9b79b479f5beff05
+    1ab591a46e7ac078
+
+VPBLENDW_256_0xFE(reg)
+  before
+    6d3a7346ec2123a1.ddc8521db966c38b.67be2674e70b5e6f.c94bbce198e40f11
+    f15457cc0940642c.b02a895394c6db09.4784497ae17de894.7bba2bbe9be0f0f6
+    004f37a06462bfc4.67892f6e74766eda.45c52c5989ec2fb0.65818acad5e7aed8
+    f777113096137016.e0b3bf5976823729.bdccc97e7ce46d6f.626c56ef630404e3
+    4d47091a6043af42
+  after
+    004f37a06462bfc4.67892f6e7476db09.45c52c5989ec2fb0.65818acad5e7f0f6
+    f15457cc0940642c.b02a895394c6db09.4784497ae17de894.7bba2bbe9be0f0f6
+    004f37a06462bfc4.67892f6e74766eda.45c52c5989ec2fb0.65818acad5e7aed8
+    f777113096137016.e0b3bf5976823729.bdccc97e7ce46d6f.626c56ef630404e3
+    4d47091a6043af42
+VPBLENDW_256_0xFE(mem)
+  before
+    04dd2137e9b06b22.3317e0e73ee0b2ce.f672b500b6f7f423.0be71e5456f1df7e
+    62fc19331958f4ae.0e7ca130f554c297.84938d4f4fe05ef3.8a602746b2a0c089
+    426e6df80d460613.e5f24e7959fbdb1d.68e1c4325d4934c7.9885dec22c7c4e3b
+    82009a74e0865c7c.14c5e52d06623b0d.7c2ad595fd3f30c8.90a041336112c341
+    cdfd4b05eced5b47
+  after
+    04dd2137e9b06b22.3317e0e73ee0b2ce.f672b500b6f7f423.0be71e5456f1df7e
+    62fc19331958f4ae.0e7ca130f554c297.84938d4f4fe05ef3.8a602746b2a0c089
+    04dd2137e9b06b22.3317e0e73ee0b2ce.f672b500b6f7f423.0be71e5456f1df7e
+    82009a74e0865c7c.14c5e52d06623b0d.7c2ad595fd3f30c8.90a041336112c341
+    cdfd4b05eced5b47
+
+VPBLENDW_256_0xFE(reg)
+  before
+    adeaf8a46a9954f8.fc7e1b92af25b316.f74161b997141c13.9e393c644acd0f25
+    8bb2447d76a3e801.8eb46b3e952ec60d.eab2be87a99dbbdb.a8d9758b61008d07
+    c2a02cfaad96540d.126d0964aeae528c.4963f904d78a5310.78d7fdf75de2659d
+    b002aa89aafed3c9.65776ef017af13c0.70a20c9cbd66215e.e8ff4e925b815511
+    d51de64a76e91690
+  after
+    c2a02cfaad96540d.126d0964aeaec60d.4963f904d78a5310.78d7fdf75de28d07
+    8bb2447d76a3e801.8eb46b3e952ec60d.eab2be87a99dbbdb.a8d9758b61008d07
+    c2a02cfaad96540d.126d0964aeae528c.4963f904d78a5310.78d7fdf75de2659d
+    b002aa89aafed3c9.65776ef017af13c0.70a20c9cbd66215e.e8ff4e925b815511
+    d51de64a76e91690
+VPBLENDW_256_0xFE(mem)
+  before
+    1cfd4109cb256745.af22bc940a67a3e0.649c17ceec40c5d5.bbb9f5bcf8be6172
+    976ad9bd7541025d.1d4d5d89685efeff.e9a981ea486a24f6.86f5afce241d4ff8
+    23322b519149a403.54ce8ad2616f20d2.d16a2730473beb4f.2da23640dc0f269c
+    9d1fb4b13a4a0964.b1f33ddd90244704.f9ab858d06bed70e.0c0c877dbc202309
+    7f7e9df161dd82eb
+  after
+    1cfd4109cb256745.af22bc940a67a3e0.649c17ceec40c5d5.bbb9f5bcf8be6172
+    976ad9bd7541025d.1d4d5d89685efeff.e9a981ea486a24f6.86f5afce241d4ff8
+    1cfd4109cb256745.af22bc940a67a3e0.649c17ceec40c5d5.bbb9f5bcf8be6172
+    9d1fb4b13a4a0964.b1f33ddd90244704.f9ab858d06bed70e.0c0c877dbc202309
+    7f7e9df161dd82eb
+
+VPBLENDW_256_0xFE(reg)
+  before
+    e246740866d17fef.dffeefc98c4fedac.91077415920bad42.3b3718eba000a35c
+    91ae082e688955c1.c69b5985a4650b06.4e552ae602b08f38.74dc5a38320b0d68
+    e70355cf028f410c.2ec26cd19e97209f.452a5cbc7c9d2891.8064c95ed7eecf5c
+    42915857d1727e7d.f33ea69a95f1e7a2.d3d204039d60b6f9.3b9ce04bacb2a565
+    82501ceacc654dae
+  after
+    e70355cf028f410c.2ec26cd19e970b06.452a5cbc7c9d2891.8064c95ed7ee0d68
+    91ae082e688955c1.c69b5985a4650b06.4e552ae602b08f38.74dc5a38320b0d68
+    e70355cf028f410c.2ec26cd19e97209f.452a5cbc7c9d2891.8064c95ed7eecf5c
+    42915857d1727e7d.f33ea69a95f1e7a2.d3d204039d60b6f9.3b9ce04bacb2a565
+    82501ceacc654dae
+VPBLENDW_256_0xFE(mem)
+  before
+    2f4cf72754128164.fda40c3270bb4ac0.f1dd82caa5801e3c.529920280185731e
+    1f5cefee5fc6feb2.74876dcd7cf8df80.05697c4feb4f7f99.1fcbab9543969ba9
+    2e4c7f2b0a8c80c5.0288779290b47a6a.09af1013836ac7e4.96b3a1b7ff216c49
+    38e723cb7070c2c9.05f127ef487c5629.da7bbb0488ddb14a.139ffefbd2b220a8
+    f2d9bfcc57d4f472
+  after
+    2f4cf72754128164.fda40c3270bb4ac0.f1dd82caa5801e3c.529920280185731e
+    1f5cefee5fc6feb2.74876dcd7cf8df80.05697c4feb4f7f99.1fcbab9543969ba9
+    2f4cf72754128164.fda40c3270bb4ac0.f1dd82caa5801e3c.529920280185731e
+    38e723cb7070c2c9.05f127ef487c5629.da7bbb0488ddb14a.139ffefbd2b220a8
+    f2d9bfcc57d4f472
+
+VPBLENDW_256_0x30(reg)
+  before
+    90aedf952b132455.19fa57b8ad7f81e9.d70f774f41dbb16a.5499f70d16b5faf6
+    476a5ac4e9fbebfa.ad5198dfdec47951.d62e651d175dc5d8.52d5421a4afe5e15
+    74592cc42e198610.cfb8612d1f4b652f.5d9aecc7658fce20.b2fa18173fc299d3
+    73c6520195f83141.5dfb2e8d8b2103ad.c79f09b8c7fb0aee.4fd5f3f0120f665b
+    05335191def182da
+  after
+    476a5ac42e198610.ad5198dfdec47951.d62e651d658fce20.52d5421a4afe5e15
+    476a5ac4e9fbebfa.ad5198dfdec47951.d62e651d175dc5d8.52d5421a4afe5e15
+    74592cc42e198610.cfb8612d1f4b652f.5d9aecc7658fce20.b2fa18173fc299d3
+    73c6520195f83141.5dfb2e8d8b2103ad.c79f09b8c7fb0aee.4fd5f3f0120f665b
+    05335191def182da
+VPBLENDW_256_0x30(mem)
+  before
+    b0deade6bf72a97b.9fffc6e7bb242739.32e67bea3e510df7.7288b65cda30b3ed
+    2ca383dcd3a0976b.564e86e33b2aa6a6.2a44c53255e73f3b.b8a3f1203ab706ca
+    544d4f5d338707d6.f3008d5fb295e831.21e28650ebf057a2.f63ab56e821e3e31
+    06aa8d57fd31b6e7.d261d8c8bbf22989.f28d3c301d770f5b.899afeb34ef199cd
+    cb0fc95c3bba514a
+  after
+    b0deade6bf72a97b.9fffc6e7bb242739.32e67bea3e510df7.7288b65cda30b3ed
+    2ca383dcd3a0976b.564e86e33b2aa6a6.2a44c53255e73f3b.b8a3f1203ab706ca
+    2ca383dcd3a0976b.564e86e3bb242739.2a44c53255e73f3b.b8a3f120da30b3ed
+    06aa8d57fd31b6e7.d261d8c8bbf22989.f28d3c301d770f5b.899afeb34ef199cd
+    cb0fc95c3bba514a
+
+VPBLENDW_256_0x30(reg)
+  before
+    19e510d3e407a256.1d84bab44dac60ca.4fbd618bf2cca758.7b0f62be07882490
+    d067d186e664ca9b.75a951623e04c0ad.c6602612f4af9c4a.973475e6c330516d
+    4ae307e0dc5b03c5.e9e3ce4cec4393ba.939522cb5d27450c.21caef95707a531f
+    e4a3af4c637a8a81.57ffae5e7477951d.11aa5121c8c1dd4a.f79c4eb52772e6d2
+    f4750d330725c6b1
+  after
+    d067d186dc5b03c5.75a951623e04c0ad.c66026125d27450c.973475e6c330516d
+    d067d186e664ca9b.75a951623e04c0ad.c6602612f4af9c4a.973475e6c330516d
+    4ae307e0dc5b03c5.e9e3ce4cec4393ba.939522cb5d27450c.21caef95707a531f
+    e4a3af4c637a8a81.57ffae5e7477951d.11aa5121c8c1dd4a.f79c4eb52772e6d2
+    f4750d330725c6b1
+VPBLENDW_256_0x30(mem)
+  before
+    f322a8fc299eafe9.faf4c338164d9b7b.99c86b84f2ac8203.9ee9b080d108a1af
+    d26f9cfbabe95ca6.e822410f925e715e.8d0c83aa81ed1598.959f39541589cde8
+    6b28631ba9138a13.0b79243d723b49d7.0d9671bc3d460b07.5118ea092fcf9da1
+    9c197b4a3e27f45c.bd45682f52705f91.f731b2a643c3207d.30a0be0bbc664c85
+    8c82b2c657db1841
+  after
+    f322a8fc299eafe9.faf4c338164d9b7b.99c86b84f2ac8203.9ee9b080d108a1af
+    d26f9cfbabe95ca6.e822410f925e715e.8d0c83aa81ed1598.959f39541589cde8
+    d26f9cfbabe95ca6.e822410f164d9b7b.8d0c83aa81ed1598.959f3954d108a1af
+    9c197b4a3e27f45c.bd45682f52705f91.f731b2a643c3207d.30a0be0bbc664c85
+    8c82b2c657db1841
+
+VPBLENDW_256_0x30(reg)
+  before
+    c30cc0a69db93a80.3f0e5f73863257af.5bd10a4fcf88ee39.25aac055ae710f26
+    2f88e618298cf1ef.31d28c829e3f6f35.416b040a850f337b.75cd19b39b5b952d
+    2e431f8698e07739.4f327c63a25af81d.cb5d54cd0f916a02.c16638ae258e6ebe
+    1a89675e8542090b.73faad03ad8fae91.55f4f502099bcf7b.e641993069145607
+    c129b82782fc0831
+  after
+    2f88e61898e07739.31d28c829e3f6f35.416b040a0f916a02.75cd19b39b5b952d
+    2f88e618298cf1ef.31d28c829e3f6f35.416b040a850f337b.75cd19b39b5b952d
+    2e431f8698e07739.4f327c63a25af81d.cb5d54cd0f916a02.c16638ae258e6ebe
+    1a89675e8542090b.73faad03ad8fae91.55f4f502099bcf7b.e641993069145607
+    c129b82782fc0831
+VPBLENDW_256_0x30(mem)
+  before
+    2cec127e8c4f416b.51a6ba0b8d3ee311.7af69a4cdbeb4cbe.3b7ce41710b89d91
+    04542221a51bbddf.2de515f94b5e40f6.41f2bf2b49798fcf.d8401b77bf7512f1
+    252e64fce66b37ba.0c9473935c305e67.a2ba998d124632f1.8a8e988eb35c6747
+    6c4654fb6d4c6c27.48fdd0475b407610.7a19a25c535df34f.acb056c888fbdb3e
+    9af45191d8dea882
+  after
+    2cec127e8c4f416b.51a6ba0b8d3ee311.7af69a4cdbeb4cbe.3b7ce41710b89d91
+    04542221a51bbddf.2de515f94b5e40f6.41f2bf2b49798fcf.d8401b77bf7512f1
+    04542221a51bbddf.2de515f98d3ee311.41f2bf2b49798fcf.d8401b7710b89d91
+    6c4654fb6d4c6c27.48fdd0475b407610.7a19a25c535df34f.acb056c888fbdb3e
+    9af45191d8dea882
+
+VPBLENDW_256_0x21(reg)
+  before
+    b0a4855542900bc1.b3686e0a56c91853.3e6d2880e418c79c.a5dd588627ca8c16
+    4a0def805f9d40a5.d75f2f16bceef769.4a3078ab94468bb7.00d036f6ab99b972
+    c37a8a7ecd9282da.b4f91209bbc7c496.c992bb320756ff0f.65bfb898fad7388e
+    793952bc28f90e0d.260093d170613c06.15dfec82d7d25f4d.b1765b58318fc397
+    c0c19a226bce17b8
+  after
+    4a0def80cd9240a5.d75f2f16bceec496.4a3078ab07568bb7.00d036f6ab99388e
+    4a0def805f9d40a5.d75f2f16bceef769.4a3078ab94468bb7.00d036f6ab99b972
+    c37a8a7ecd9282da.b4f91209bbc7c496.c992bb320756ff0f.65bfb898fad7388e
+    793952bc28f90e0d.260093d170613c06.15dfec82d7d25f4d.b1765b58318fc397
+    c0c19a226bce17b8
+VPBLENDW_256_0x21(mem)
+  before
+    6e6bf1e2c59ff01e.c79543a40b6120ea.09412e58f6c71be4.8b630a08a348e720
+    9742dc845a0e09f5.08d95aa41353f41c.3988608c6a061d5d.87690e2e0544d232
+    1710d7f547281f68.9a529126db5dc550.92a1a458e829fd9c.653ef66299505d2f
+    caa25f1fa7f8eea4.d74ce698ff0ad032.f05876a88a3c78ce.812ebc0ffcfbc3c5
+    37855ea1c9ce429d
+  after
+    6e6bf1e2c59ff01e.c79543a40b6120ea.09412e58f6c71be4.8b630a08a348e720
+    9742dc845a0e09f5.08d95aa41353f41c.3988608c6a061d5d.87690e2e0544d232
+    9742dc845a0ef01e.08d95aa40b61f41c.3988608c6a061be4.87690e2ea348d232
+    caa25f1fa7f8eea4.d74ce698ff0ad032.f05876a88a3c78ce.812ebc0ffcfbc3c5
+    37855ea1c9ce429d
+
+VPBLENDW_256_0x21(reg)
+  before
+    e38fd8849d571466.8cc4eff0968a31d4.1d1354651ce7516d.2f7852686f4c491f
+    e1982424132176ca.3842035231eba625.c6f3d8f9ce7f83ae.2bceb484b0642eba
+    8deb40edc8b8a375.ace71733932607c3.30376cc0b05ea3a0.c02719e86c90e1cb
+    43d5274b57a9d815.c381a77ed94710d9.b52d0e265e11edf0.c94dfc80bcdd1f80
+    240dd939be56a303
+  after
+    e1982424c8b876ca.3842035231eb07c3.c6f3d8f9b05e83ae.2bceb484b064e1cb
+    e1982424132176ca.3842035231eba625.c6f3d8f9ce7f83ae.2bceb484b0642eba
+    8deb40edc8b8a375.ace71733932607c3.30376cc0b05ea3a0.c02719e86c90e1cb
+    43d5274b57a9d815.c381a77ed94710d9.b52d0e265e11edf0.c94dfc80bcdd1f80
+    240dd939be56a303
+VPBLENDW_256_0x21(mem)
+  before
+    ac322cfd8e072a80.5fa2d5aa5c7f5153.59da301f1f5b7f93.b31fb99875239d49
+    3d8a72ba47fd7024.3d9e467775c74ade.4abf2d027f6d0e1f.845a69809020ee58
+    b2df265a0643311b.3915771c3b0cfe60.71fc1a1318897aa7.852a1b4b4c951dc9
+    e9ffc4cbe6e52890.af5363074cdaaa85.ac5d743e04bc7e57.13dbca66450d6647
+    88b8713c1514047f
+  after
+    ac322cfd8e072a80.5fa2d5aa5c7f5153.59da301f1f5b7f93.b31fb99875239d49
+    3d8a72ba47fd7024.3d9e467775c74ade.4abf2d027f6d0e1f.845a69809020ee58
+    3d8a72ba47fd2a80.3d9e46775c7f4ade.4abf2d027f6d7f93.845a69807523ee58
+    e9ffc4cbe6e52890.af5363074cdaaa85.ac5d743e04bc7e57.13dbca66450d6647
+    88b8713c1514047f
+
+VPBLENDW_256_0x21(reg)
+  before
+    410f0f385a37341c.bdb4c8f803f013b0.faa406a244bd8afa.d6aeb56f5f11d75c
+    9a2a9dc8b00132cb.09cbaecd7a6faba7.78535c5bbe42da6b.caba5b93469441e2
+    f0561857b2fe3a38.ab0ff336666fafa0.84ad619d56f4d583.664fe194d4527814
+    9ddf7d51fdbb870e.7d4e121fe4fad9c8.79fe12d4a960b8ef.8437c3602556381f
+    023f7ee156ad3c2f
+  after
+    9a2a9dc8b2fe32cb.09cbaecd7a6fafa0.78535c5b56f4da6b.caba5b9346947814
+    9a2a9dc8b00132cb.09cbaecd7a6faba7.78535c5bbe42da6b.caba5b93469441e2
+    f0561857b2fe3a38.ab0ff336666fafa0.84ad619d56f4d583.664fe194d4527814
+    9ddf7d51fdbb870e.7d4e121fe4fad9c8.79fe12d4a960b8ef.8437c3602556381f
+    023f7ee156ad3c2f
+VPBLENDW_256_0x21(mem)
+  before
+    ba338c058361416f.fe11c7222cc356fa.5d538774101ee64a.b5926a6c5211bf5b
+    8adf6bb7c780020c.6f37f236dca2e3a8.25e9ce2104e79253.93b565d1ee932572
+    4c0e96e33f163c31.4c9ffbfaa8e56ac3.b3dd6313df60980e.6eb2ff6f187227e1
+    de8e8a75062eab0b.f193dcd82c1726f7.e1fbc334ba95b6a8.a4d735b36d3b0153
+    8f6e0107887aef75
+  after
+    ba338c058361416f.fe11c7222cc356fa.5d538774101ee64a.b5926a6c5211bf5b
+    8adf6bb7c780020c.6f37f236dca2e3a8.25e9ce2104e79253.93b565d1ee932572
+    8adf6bb7c780416f.6f37f2362cc3e3a8.25e9ce2104e7e64a.93b565d152112572
+    de8e8a75062eab0b.f193dcd82c1726f7.e1fbc334ba95b6a8.a4d735b36d3b0153
+    8f6e0107887aef75
+
+VPBLENDW_256_0xD7(reg)
+  before
+    8dc461d906b92cf2.1a29c15938d40bc5.ba61933e05c554f1.8d0f6972b492a54d
+    f82551938286f577.ddacb97bf214188c.03531b96cf792f5d.91e5d1b8e6642428
+    2eddcba3996d86b0.04e3edc74ffb8d8c.28b5714e24c1f5e6.ca4878f16f16ed66
+    8938cd74e6f81a48.699ad92a6c9427f0.85d58fd1a329e039.1506d80b68b5bd33
+    4ce96ff1ef4c50ba
+  after
+    2eddcba3828686b0.ddacedc74ffb8d8c.28b5714ecf79f5e6.91e578f16f16ed66
+    f82551938286f577.ddacb97bf214188c.03531b96cf792f5d.91e5d1b8e6642428
+    2eddcba3996d86b0.04e3edc74ffb8d8c.28b5714e24c1f5e6.ca4878f16f16ed66
+    8938cd74e6f81a48.699ad92a6c9427f0.85d58fd1a329e039.1506d80b68b5bd33
+    4ce96ff1ef4c50ba
+VPBLENDW_256_0xD7(mem)
+  before
+    4cbeb88f20e76227.6681527205b5eeec.e99cfa8e65eca1e5.76fe738ae63c2d02
+    f1512fd11692aea8.22055609942f3e48.60b7cae1540eb996.577b18e7898617ec
+    176e51a4ed5af166.1711d5a52cf34607.aab5c70e58062930.83997a532993dba4
+    9ae098f2c24ae690.a2efcbb26b8c41d5.a4636c008ae0addf.58a5953b61f0b5d5
+    31e86609ce28e12c
+  after
+    4cbeb88f20e76227.6681527205b5eeec.e99cfa8e65eca1e5.76fe738ae63c2d02
+    f1512fd11692aea8.22055609942f3e48.60b7cae1540eb996.577b18e7898617ec
+    f151b88f20e7aea8.66815272942f3e48.60b7fa8e65ecb996.76fe738a898617ec
+    9ae098f2c24ae690.a2efcbb26b8c41d5.a4636c008ae0addf.58a5953b61f0b5d5
+    31e86609ce28e12c
+
+VPBLENDW_256_0xD7(reg)
+  before
+    6ab1e82a0bc89a55.577582a8b16f4b50.1fec359cec876c5f.288d35a509a903ce
+    5e4b170bb55b1dfb.28f78ab3d5d4dad2.eb530ed04c6e0351.13ff9fe8ee6de52a
+    6b01ef16676da6cb.ea332dfd4a855044.607252b827cf4157.418525b55736101e
+    eb216db9bd8b7170.79f5e5742d8f68cf.db93fec21836641c.8eeb43f9601240d7
+    d6fc759e240c3081
+  after
+    6b01ef16b55ba6cb.28f72dfd4a855044.607252b84c6e4157.13ff25b55736101e
+    5e4b170bb55b1dfb.28f78ab3d5d4dad2.eb530ed04c6e0351.13ff9fe8ee6de52a
+    6b01ef16676da6cb.ea332dfd4a855044.607252b827cf4157.418525b55736101e
+    eb216db9bd8b7170.79f5e5742d8f68cf.db93fec21836641c.8eeb43f9601240d7
+    d6fc759e240c3081
+VPBLENDW_256_0xD7(mem)
+  before
+    f5853791c0319d47.3cf58b5e543fb997.b109300399fddfa2.b8030c58bb2da64c
+    c75206bf4f8c4356.b9ca4773c818bbeb.6e3b8996abdb71e7.530f7ae8ad424395
+    282f5d12ed29ddd9.bdec9d63b49fb319.8c566c197e36daca.080043dd890179a0
+    f3e8b878b71529fd.a6a6879ab462dccd.e62856782f19d578.332563a3ecf5821c
+    30c9d7a671aa9ab3
+  after
+    f5853791c0319d47.3cf58b5e543fb997.b109300399fddfa2.b8030c58bb2da64c
+    c75206bf4f8c4356.b9ca4773c818bbeb.6e3b8996abdb71e7.530f7ae8ad424395
+    c7523791c0314356.3cf58b5ec818bbeb.6e3b300399fd71e7.b8030c58ad424395
+    f3e8b878b71529fd.a6a6879ab462dccd.e62856782f19d578.332563a3ecf5821c
+    30c9d7a671aa9ab3
+
+VPBLENDW_256_0xD7(reg)
+  before
+    5b379952b5acff11.064993dbc95be1ee.ce46028465ed73b2.5a7bc19fd9901f1d
+    10bda7135388ebe3.3c1d6a293d07c1d7.93160b8d63cab475.c31c2b7a99a874e5
+    aba5fd56e7c99bd5.7132ba4d322687e5.4f649d214987dbc2.fdd70ff68a6c90fa
+    883c95850efc4b93.8152fe33c2c3ed43.5f7ab5adb3af2344.e477eafdc9e82e8b
+    53ca367d71290bc2
+  after
+    aba5fd5653889bd5.3c1dba4d322687e5.4f649d2163cadbc2.c31c0ff68a6c90fa
+    10bda7135388ebe3.3c1d6a293d07c1d7.93160b8d63cab475.c31c2b7a99a874e5
+    aba5fd56e7c99bd5.7132ba4d322687e5.4f649d214987dbc2.fdd70ff68a6c90fa
+    883c95850efc4b93.8152fe33c2c3ed43.5f7ab5adb3af2344.e477eafdc9e82e8b
+    53ca367d71290bc2
+VPBLENDW_256_0xD7(mem)
+  before
+    289a71609e3ae3cc.03ce6c0d64ab36c8.474ab2c709eab01e.20a54d9b3ecfc9a7
+    3eb516946d2771d4.77a67f5b84659920.a1e652f524a88ba1.ec30635985720999
+    70e5a104fafd7207.4212c9da0bb3b048.6af15baa2e083bfa.2069f25125241ec3
+    9cf78f9c60c7a291.bf5c46f59323b7ec.7d3948d044167c52.189af6f1b97246d4
+    31116ba4dee7ba76
+  after
+    289a71609e3ae3cc.03ce6c0d64ab36c8.474ab2c709eab01e.20a54d9b3ecfc9a7
+    3eb516946d2771d4.77a67f5b84659920.a1e652f524a88ba1.ec30635985720999
+    3eb571609e3a71d4.03ce6c0d84659920.a1e6b2c709ea8ba1.20a54d9b85720999
+    9cf78f9c60c7a291.bf5c46f59323b7ec.7d3948d044167c52.189af6f1b97246d4
+    31116ba4dee7ba76
+
+VPBLENDW_256_0xB5(reg)
+  before
+    c5184ed62f10b956.9cb75a48bb91bd9d.4ad1f31abb40e9b7.b888955581df0ad8
+    31fc99f348777d1f.4ef080f428687e57.3ebdcbb41d978356.f5abbe23026ea1b5
+    d1094a67c6aa437e.8c707c8cc257a2ed.f96cc92f55b3c075.126e3f28e2d0fc18
+    018a5d9e4535471e.3401cafca66ae589.d52aecf70020debf.e99d954f3d0fd82b
+    58043b83303af01b
+  after
+    d10999f3c6aa437e.4ef07c8c2868a2ed.f96ccbb455b3c075.f5ab3f28026efc18
+    31fc99f348777d1f.4ef080f428687e57.3ebdcbb41d978356.f5abbe23026ea1b5
+    d1094a67c6aa437e.8c707c8cc257a2ed.f96cc92f55b3c075.126e3f28e2d0fc18
+    018a5d9e4535471e.3401cafca66ae589.d52aecf70020debf.e99d954f3d0fd82b
+    58043b83303af01b
+VPBLENDW_256_0xB5(mem)
+  before
+    396fadb2d75a0113.1dcdcc0560a2c5ac.2070e731efae0257.30432d79b96a17e1
+    6aa967c74d7dc740.811c9506b480f8d4.2e894e15ba2eb684.6502891f1d1ea886
+    c57fe6afaeaefecd.89c4b20edc581d41.38187a9622f7bd3c.cfb4fd57c7c8cc5b
+    27bea55417f962e7.9111228a74b870a0.1ce9ea9f4414d3aa.cca5848b54f2c10b
+    b6211a295f2ac143
+  after
+    396fadb2d75a0113.1dcdcc0560a2c5ac.2070e731efae0257.30432d79b96a17e1
+    6aa967c74d7dc740.811c9506b480f8d4.2e894e15ba2eb684.6502891f1d1ea886
+    6aa9adb24d7dc740.1dcd950660a2f8d4.2e89e731ba2eb684.3043891fb96aa886
+    27bea55417f962e7.9111228a74b870a0.1ce9ea9f4414d3aa.cca5848b54f2c10b
+    b6211a295f2ac143
+
+VPBLENDW_256_0xB5(reg)
+  before
+    ea74bc9b85fb08af.6d2f20a3a46baeba.f54fdee5192b2c9c.b4c7171b3b91b3fb
+    c5ea644f61f2d4fa.71a1d3886f0f9f71.11cae38a663d8ee2.dd807ff8247a1a5a
+    a1ce10b08f9a5fd1.10df3af097f2f039.41ce2ee7f87bd21d.73de9c211adcc4f4
+    db6ebb2aac7fe6e0.26b4d2c6361f5f3e.e1a6ba676a7033fb.53aeec8239c26cf5
+    57bceb079f39cf88
+  after
+    a1ce644f8f9a5fd1.71a13af06f0ff039.41cee38af87bd21d.dd809c21247ac4f4
+    c5ea644f61f2d4fa.71a1d3886f0f9f71.11cae38a663d8ee2.dd807ff8247a1a5a
+    a1ce10b08f9a5fd1.10df3af097f2f039.41ce2ee7f87bd21d.73de9c211adcc4f4
+    db6ebb2aac7fe6e0.26b4d2c6361f5f3e.e1a6ba676a7033fb.53aeec8239c26cf5
+    57bceb079f39cf88
+VPBLENDW_256_0xB5(mem)
+  before
+    5cd4139d654ca9da.d0146229542ea5d2.8fee16f568a2a6ab.4d9f837659a9ef25
+    3ec1e22ea907b616.da0dff192232d753.2857826b4a8881ac.e005868060b1404a
+    d951d3a78677b169.56a59067b217b910.cbbc9213f7dcae6e.f824bdf21c146214
+    094e62f519a757ff.a027107da16a87b5.55e9c3d98baae71d.f0482636285e932f
+    24bdbcb9211c0d48
+  after
+    5cd4139d654ca9da.d0146229542ea5d2.8fee16f568a2a6ab.4d9f837659a9ef25
+    3ec1e22ea907b616.da0dff192232d753.2857826b4a8881ac.e005868060b1404a
+    3ec1139da907b616.d014ff19542ed753.285716f54a8881ac.4d9f868059a9404a
+    094e62f519a757ff.a027107da16a87b5.55e9c3d98baae71d.f0482636285e932f
+    24bdbcb9211c0d48
+
+VPBLENDW_256_0xB5(reg)
+  before
+    efce7be8a2d90d0b.aa850b037ea36403.15e17bc88bb67cee.a2aa8fa924fee9e5
+    afc8602d4822ce23.98c24bbcd07794a2.0f1dcdb50b88d566.8eca746fdbe570f1
+    bef866f6ae828d3d.afd19d0e2b30a207.eb2903afbd6acec9.f517ee17ce6b376d
+    7aa888ae70858605.cb7e7ce4acda4b5f.054f18213eeaa3c5.b35b778e199afb86
+    a4638dbed7807868
+  after
+    bef8602dae828d3d.98c29d0ed077a207.eb29cdb5bd6acec9.8ecaee17dbe5376d
+    afc8602d4822ce23.98c24bbcd07794a2.0f1dcdb50b88d566.8eca746fdbe570f1
+    bef866f6ae828d3d.afd19d0e2b30a207.eb2903afbd6acec9.f517ee17ce6b376d
+    7aa888ae70858605.cb7e7ce4acda4b5f.054f18213eeaa3c5.b35b778e199afb86
+    a4638dbed7807868
+VPBLENDW_256_0xB5(mem)
+  before
+    a4fbaa952428693e.3d24c5c12bb8f526.c894672a6e7f4ad6.b9dc087929948f03
+    8eef4cfd1d9f8c35.65ba169b7ba6164c.82e1d7cc8e2d5d97.631bcf221bf3cf32
+    400aefe4def09b79.4cb579a8fbdb2425.d52f4ab627f03ecf.5f5a6988af939ffc
+    951a0d3582275235.5060e85447e45c5b.9d4b3bd456d2aaa9.09e4d31782003b0d
+    bd04083c2fc7de12
+  after
+    a4fbaa952428693e.3d24c5c12bb8f526.c894672a6e7f4ad6.b9dc087929948f03
+    8eef4cfd1d9f8c35.65ba169b7ba6164c.82e1d7cc8e2d5d97.631bcf221bf3cf32
+    8eefaa951d9f8c35.3d24169b2bb8164c.82e1672a8e2d5d97.b9dccf222994cf32
+    951a0d3582275235.5060e85447e45c5b.9d4b3bd456d2aaa9.09e4d31782003b0d
+    bd04083c2fc7de12
+
+VPBLENDW_256_0x85(reg)
+  before
+    d70704615273c5b7.69e924dc25516f96.cb08610bfc4cf99a.b501261336e15c52
+    b339c3f388902ba8.9844afc5e479acc7.1bf9e03ab59f388f.fb1c875de32911f6
+    ace6425f6dab4e90.fdf72adcdaabc6f5.9a7f5f4b0f6955e6.4a6adba07ab485c0
+    205a7c0f9c4f681b.76ce110d24f4784c.a5e6dcaca5378c4a.7eb59cc6179074dd
+    72cb48bdd5c99978
+  after
+    ace6c3f388902ba8.98442adce479c6f5.9a7fe03ab59f388f.fb1cdba0e32985c0
+    b339c3f388902ba8.9844afc5e479acc7.1bf9e03ab59f388f.fb1c875de32911f6
+    ace6425f6dab4e90.fdf72adcdaabc6f5.9a7f5f4b0f6955e6.4a6adba07ab485c0
+    205a7c0f9c4f681b.76ce110d24f4784c.a5e6dcaca5378c4a.7eb59cc6179074dd
+    72cb48bdd5c99978
+VPBLENDW_256_0x85(mem)
+  before
+    04765a70d069b2be.6ae06d71b109b6f6.de95e144dd5f7ff7.997a52c714951968
+    0e834fcb257e78da.e6c511f0496473cd.1017156e22f99722.d086bd0af70e37eb
+    6ebea2baf014aaf9.ef5664f800ecdd4b.ea2229750ecc7cfb.a75719e0eb2e2380
+    fff2ce294c360247.e3dd63f5712e2e1d.46809947bee6eaac.7a3a63b58b8118d3
+    a57995f57494548f
+  after
+    04765a70d069b2be.6ae06d71b109b6f6.de95e144dd5f7ff7.997a52c714951968
+    0e834fcb257e78da.e6c511f0496473cd.1017156e22f99722.d086bd0af70e37eb
+    04765a70257eb2be.6ae06d71496473cd.de95e14422f97ff7.997a52c7f70e37eb
+    fff2ce294c360247.e3dd63f5712e2e1d.46809947bee6eaac.7a3a63b58b8118d3
+    a57995f57494548f
+
+VPBLENDW_256_0x85(reg)
+  before
+    8460ad0c41f21161.9ced510455f03def.1da7095338b4a2ef.02fee1ce4d539c61
+    743da7668e278cf4.2279a738284e171e.f8ff527ef20d776c.f8687ef8d71e4f47
+    cf5b7d6ff8c000f5.6e634aafe05d4b00.d2333ae23ac2e740.068aebb07953be8a
+    f2052d941b48aa10.5a77b8569a2897c0.058dbeebad612f19.062fa4e24ffea655
+    d625257a742cc3d5
+  after
+    cf5ba7668e278cf4.22794aaf284e4b00.d233527ef20d776c.f868ebb0d71ebe8a
+    743da7668e278cf4.2279a738284e171e.f8ff527ef20d776c.f8687ef8d71e4f47
+    cf5b7d6ff8c000f5.6e634aafe05d4b00.d2333ae23ac2e740.068aebb07953be8a
+    f2052d941b48aa10.5a77b8569a2897c0.058dbeebad612f19.062fa4e24ffea655
+    d625257a742cc3d5
+VPBLENDW_256_0x85(mem)
+  before
+    5036eb6404e8d136.3988b23f924bc6f0.c4816c1a71bcb48a.ef5bd906e6758aa1
+    512f718c1c3f8ca3.003008def9569042.864de2e68223618c.eae7879d828b3584
+    b6dc33dfd83baf48.a3492bdbedf443b1.7da696a5e86c58f0.547ec41e1c2e6d6f
+    5909ad4753ebf752.7d1f17a40ab21cea.865a0545bfa056e2.876c8cf451ea6b0e
+    e1fcdc8bbc4c6e0c
+  after
+    5036eb6404e8d136.3988b23f924bc6f0.c4816c1a71bcb48a.ef5bd906e6758aa1
+    512f718c1c3f8ca3.003008def9569042.864de2e68223618c.eae7879d828b3584
+    5036eb641c3fd136.3988b23ff9569042.c4816c1a8223b48a.ef5bd906828b3584
+    5909ad4753ebf752.7d1f17a40ab21cea.865a0545bfa056e2.876c8cf451ea6b0e
+    e1fcdc8bbc4c6e0c
+
+VPBLENDW_256_0x85(reg)
+  before
+    bc7caf4ef9dfb016.17815bb2a9581fed.ecfdc9a4eb1b5799.7b33aab125cd178f
+    753601aba52f6ed7.cc12ba0af790e545.4b313c472cbb3069.39fe01d533fe5723
+    6977ce0d5cc9e3fd.5586453d589e0385.f6056cf96a1ee207.9c87869d0740d1c9
+    f28b13e1b9384d31.8cab7836e98f35d9.49c6562640d1aa1e.809ab5f6bd9d42ae
+    c2020bca702465fd
+  after
+    697701aba52f6ed7.cc12453df7900385.f6053c472cbb3069.39fe869d33fed1c9
+    753601aba52f6ed7.cc12ba0af790e545.4b313c472cbb3069.39fe01d533fe5723
+    6977ce0d5cc9e3fd.5586453d589e0385.f6056cf96a1ee207.9c87869d0740d1c9
+    f28b13e1b9384d31.8cab7836e98f35d9.49c6562640d1aa1e.809ab5f6bd9d42ae
+    c2020bca702465fd
+VPBLENDW_256_0x85(mem)
+  before
+    3c8d03063cdef8e3.6dbeca915808e621.4e4bcfe1c56e396f.9fc0f43a4b5fc35b
+    cb0519973ed9b58c.365cf18ad6c6ea79.7732c7290947c970.563f44a226556b6a
+    4b37ca6891205923.a9b08339cffd97e5.e32edafdd027a20b.c98e41c86d3edcf6
+    98ef906452c09fd5.23087d08de392710.6e0a86463618806a.53fbe71abea653ab
+    52d03302b2190b37
+  after
+    3c8d03063cdef8e3.6dbeca915808e621.4e4bcfe1c56e396f.9fc0f43a4b5fc35b
+    cb0519973ed9b58c.365cf18ad6c6ea79.7732c7290947c970.563f44a226556b6a
+    3c8d03063ed9f8e3.6dbeca91d6c6ea79.4e4bcfe10947396f.9fc0f43a26556b6a
+    98ef906452c09fd5.23087d08de392710.6e0a86463618806a.53fbe71abea653ab
+    52d03302b2190b37
+
+VPBLENDW_256_0x29(reg)
+  before
+    215a20eee7244244.8ef9e9799dc444cd.feaed9659f07d7a6.f49146f158291eb9
+    1be5aa49f953327e.092150928c380438.97ef95bbaff2e354.519097ea52633926
+    9ebdcd7f83301792.e532419b3e299b42.4a17ac76a98786c6.61d3f31e3fd48dda
+    042e85fc21492f2c.fdfa3980cca2c416.73721b022a50fda8.0026d8773c88d504
+    0a55c1e36489cfce
+  after
+    1be5aa498330327e.e53250928c389b42.97ef95bba987e354.61d397ea52638dda
+    1be5aa49f953327e.092150928c380438.97ef95bbaff2e354.519097ea52633926
+    9ebdcd7f83301792.e532419b3e299b42.4a17ac76a98786c6.61d3f31e3fd48dda
+    042e85fc21492f2c.fdfa3980cca2c416.73721b022a50fda8.0026d8773c88d504
+    0a55c1e36489cfce
+VPBLENDW_256_0x29(mem)
+  before
+    5a2c2b4dd3e53564.ab83cf2c7029b4f7.2f43b22d55af3ce1.6e4bdccbcddc84a5
+    ce7690a0a6a8c3f3.ed0aa67b0c5de3a0.56da2a8ff25dbfce.97f0ed3d2eb45669
+    41016ecaf8dc37a7.280d06558f70f7d3.4e8b1c90c1b7090a.4aab49c4eb66b1a1
+    8f9740b6e68f4bab.b6d9eb2698ee2e3b.f321041ddec9d5c0.e2c9eccc9d7dcff9
+    bd96d2c2e285ec1d
+  after
+    5a2c2b4dd3e53564.ab83cf2c7029b4f7.2f43b22d55af3ce1.6e4bdccbcddc84a5
+    ce7690a0a6a8c3f3.ed0aa67b0c5de3a0.56da2a8ff25dbfce.97f0ed3d2eb45669
+    5a2c90a0a6a83564.ed0aa67b7029e3a0.2f432a8ff25d3ce1.97f0ed3dcddc5669
+    8f9740b6e68f4bab.b6d9eb2698ee2e3b.f321041ddec9d5c0.e2c9eccc9d7dcff9
+    bd96d2c2e285ec1d
+
+VPBLENDW_256_0x29(reg)
+  before
+    365ef810560b46b7.930582508bcdbc2c.f4ba515bc164c284.206a5f2364a0e01e
+    a96d5824949a1776.2b17b08504a04556.3ffc355ea65def5c.b330a88d7047e64d
+    720ef06838bf9c04.3298473f6c16a354.f1ea929de465f36c.87415b461dcaa27c
+    ec8fbc4adf05100e.8356c26be03b9253.67d2648316090863.7767f43c8736d1d5
+    616fef5acb962f84
+  after
+    a96d582438bf1776.3298b08504a0a354.3ffc355ee465ef5c.8741a88d7047a27c
+    a96d5824949a1776.2b17b08504a04556.3ffc355ea65def5c.b330a88d7047e64d
+    720ef06838bf9c04.3298473f6c16a354.f1ea929de465f36c.87415b461dcaa27c
+    ec8fbc4adf05100e.8356c26be03b9253.67d2648316090863.7767f43c8736d1d5
+    616fef5acb962f84
+VPBLENDW_256_0x29(mem)
+  before
+    2025c98c04f677b6.753ab63525f8b03f.fc1b9df67b19ce7e.fdfea77cd8d46beb
+    8f54fdbe4f636797.685cdc95a524b844.77b454ca5abf1302.0fbb58f4c85258b0
+    8cca07dcc8e8b952.204129d6fb1664c9.d2ed63d598361c0a.fa5572577f100a60
+    f15163d389922914.fb359964c45aef79.e7924702528ca6c3.1818f1119b99bea5
+    c650d18eb879b02b
+  after
+    2025c98c04f677b6.753ab63525f8b03f.fc1b9df67b19ce7e.fdfea77cd8d46beb
+    8f54fdbe4f636797.685cdc95a524b844.77b454ca5abf1302.0fbb58f4c85258b0
+    2025fdbe4f6377b6.685cdc9525f8b844.fc1b54ca5abfce7e.0fbb58f4d8d458b0
+    f15163d389922914.fb359964c45aef79.e7924702528ca6c3.1818f1119b99bea5
+    c650d18eb879b02b
+
+VPBLENDW_256_0x29(reg)
+  before
+    60480e3a713d1b9f.9bb68e8db16c7508.548328ab9b7a9700.946f7b3da3cc6c59
+    424ea58262703cac.67c502f85982575c.8679d3181d04950c.b3507b72a7022bf7
+    c8ac91d0289f4f00.2f4a3dfea0e08c39.ef619415e5832847.2200c38d7b3b9fca
+    4eafce925f559044.d111ba8d9f93d0cd.e988691090848a5d.bb4cd07a3b8284fe
+    5b011d2502e496be
+  after
+    424ea582289f3cac.2f4a02f859828c39.8679d318e583950c.22007b72a7029fca
+    424ea58262703cac.67c502f85982575c.8679d3181d04950c.b3507b72a7022bf7
+    c8ac91d0289f4f00.2f4a3dfea0e08c39.ef619415e5832847.2200c38d7b3b9fca
+    4eafce925f559044.d111ba8d9f93d0cd.e988691090848a5d.bb4cd07a3b8284fe
+    5b011d2502e496be
+VPBLENDW_256_0x29(mem)
+  before
+    dfe9257aec6c9036.30a35832a21e3a27.27e5f69075a6de44.d23a4e73b992f8fb
+    21d0676616262f94.cad32c1e8d868a53.0e946bf23b2673ca.04c33dacfd39aecd
+    fe845cd39b1e2e02.788d44c1bd1abc74.62e897a10f1e4b8a.dc6e3426f706e77e
+    52cf82af98614bac.951b9e87cd650c38.00aef5880d9a21b0.b7892d4d4384e1bb
+    ef5e268d7e3fd52f
+  after
+    dfe9257aec6c9036.30a35832a21e3a27.27e5f69075a6de44.d23a4e73b992f8fb
+    21d0676616262f94.cad32c1e8d868a53.0e946bf23b2673ca.04c33dacfd39aecd
+    dfe9676616269036.cad32c1ea21e8a53.27e56bf23b26de44.04c33dacb992aecd
+    52cf82af98614bac.951b9e87cd650c38.00aef5880d9a21b0.b7892d4d4384e1bb
+    ef5e268d7e3fd52f
+
+VPSLLW_256(reg)
+  before
+    e13a1b5244c40287.fa7f54e428fa40bf.7fcb35dc5af4b548.c2b2019450a6b26a
+    ea690608309ea26f.d05e4e6068f6c967.91e7062cff51f453.85c038aff44fbae1
+    6437e51bde59f292.b139ec0e7360a4cf.27bc0be3590b0503.25a315c616a0f544
+    acf0b3f8eb822e9d.79dcaada66448b24.9c96426e03ab2304.7e2913c6d2a61ebd
+    6c1cb199436cf278
+  after
+    e13a1b5244c40287.fa7f54e428fa40bf.7fcb35dc5af4b548.c2b2019450a6b26a
+    ea690608309ea26f.d05e4e6068f6c967.91e7062cff51f453.85c038aff44fbae1
+    0000000000000000.0000000000000000.0000000000000000.0000000000000008
+    690008009e006f00.5e006000f6006700.e7002c0051005300.c000af004f00e100
+    0000000000000008
+VPSLLW_256(mem)
+  before
+    cb49682d85fe2da3.1ee06c09f3a4923c.041305b05caf3b91.4ec0a6379abf8b03
+    777cb56cb5698b67.16520cbc904b591a.2ea9787c72ac7043.988834acb9d279ac
+    4c811544eeb8c7f3.f093907b6104c0e3.d36c7f2bc347e566.d538e637fd7129aa
+    262403a04df79e71.09eff3b4005a0244.cf2697a76b8c5725.631dba460127d6aa
+    9d83ab446180bd58
+  after
+    cb49682d85fe2da3.1ee06c09f3a4923c.041305b05caf3b91.4ec0a6379abf8b03
+    777cb56cb5698b67.16520cbc904b591a.2ea9787c72ac7043.988834acb9d279ac
+    4c811544eeb8c7f3.f093907b6104c0e3.d36c7f2bc347e566.d538e637fd7129aa
+    7c006c0069006700.5200bc004b001a00.a9007c00ac004300.8800ac00d200ac00
+    9d83ab446180bd58
+
+VPSLLW_256(reg)
+  before
+    deb6b59cba091a5f.e130fb6ced33cb0d.bbb231d209da5de9.fea43add878882ad
+    8402d4bca84c286b.59737a94eb770cf5.63284641190e0b7e.3cb2e6ba33472129
+    e9b20510c6d8242a.6ab7fb0462cf1b52.5d9d2f6dcb8449ae.651c16288ad3f2c6
+    6a144302b0364a46.f0c9f9a96f47b553.055ce6c2bbc85225.54ad4615a83aafaf
+    e733f36caa881412
+  after
+    deb6b59cba091a5f.e130fb6ced33cb0d.bbb231d209da5de9.fea43add878882ad
+    8402d4bca84c286b.59737a94eb770cf5.63284641190e0b7e.3cb2e6ba33472129
+    0000000000000000.0000000000000000.0000000000000000.0000000000000002
+    100852f0a130a1ac.65ccea50addc33d4.8ca0190464382df8.f2c89ae8cd1c84a4
+    0000000000000002
+VPSLLW_256(mem)
+  before
+    f9789819abc7df18.64728aff03f4d66b.c675f26d2dec9522.b6b269ac87656390
+    6649b108c805caf0.3119d6735a9e0346.ca86623db9ca78eb.ceecb398c8e7b89b
+    0972ba251d4e92c4.2f5523cb52be0e83.d7cac3062eec1adb.a854c1f01cda8df1
+    c0bf2f5cc4acf2c0.b8726e7186e233cd.c90b93b3a85e371e.a0368d211fcb1d3f
+    12e015986c45a531
+  after
+    f9789819abc7df18.64728aff03f4d66b.c675f26d2dec9522.b6b269ac87656390
+    6649b108c805caf0.3119d6735a9e0346.ca86623db9ca78eb.ceecb398c8e7b89b
+    0972ba251d4e92c4.2f5523cb52be0e83.d7cac3062eec1adb.a854c1f01cda8df1
+    cc926210900a95e0.6232ace6b53c068c.950cc47a7394f1d6.9dd8673091ce7136
+    12e015986c45a531
+
+VPSLLW_256(reg)
+  before
+    5a9d54c09fd56172.66fc8d9adc2ea711.29bbb2d39396add1.7b174d2f442c8adf
+    d3b8460455068daf.d6f44ec97edd6de3.de7eeb5c1464b93a.cbb86d681e63d14b
+    db7ee8d22a646493.ee75f0d6c8c70061.34051578a6da93b5.94bb7049510ec58e
+    cd3b3495b97b23cb.8849efaed6f71cb8.859d2d92e48477ee.b1ecd0bef93925d3
+    00160bb333f1ab47
+  after
+    5a9d54c09fd56172.66fc8d9adc2ea711.29bbb2d39396add1.7b174d2f442c8adf
+    d3b8460455068daf.d6f44ec97edd6de3.de7eeb5c1464b93a.cbb86d681e63d14b
+    0000000000000000.0000000000000000.0000000000000000.0000000000000007
+    dc0002008300d780.7a0064806e80f180.3f00ae0032009d00.dc00b4003180a580
+    0000000000000007
+VPSLLW_256(mem)
+  before
+    5b079c141a411415.043b28b99ed80603.823dc53cc3797c14.2e922e186beca090
+    a089ffcecb351c6a.decabfab760748e6.b61df06bac5adda0.8b301476d6a04b48
+    a969b1cb61da7e71.b533f6d5dc922620.02b5eb29aca5fa88.f8c3db16c12cb4c1
+    53732df9f93bf857.e7c4c7a46d07dc5f.40d03261df6690fa.d1967f65c91b16a8
+    72f6fdcf8af9afa9
+  after
+    5b079c141a411415.043b28b99ed80603.823dc53cc3797c14.2e922e186beca090
+    a089ffcecb351c6a.decabfab760748e6.b61df06bac5adda0.8b301476d6a04b48
+    a969b1cb61da7e71.b533f6d5dc922620.02b5eb29aca5fa88.f8c3db16c12cb4c1
+    12009c006a00d400.940056000e00cc00.3a00d600b4004000.6000ec0040009000
+    72f6fdcf8af9afa9
+
+VPSRLW_256(reg)
+  before
+    373050c19f52b96f.7b73ef42ae654348.cec73085c4f1a64d.4e3c41ff62aa5b20
+    7c8e74a5a4b370a7.fb3573949d631e6f.c8892ce27eddbf96.06c395ef517c1726
+    9d5d65e936a712fc.b08435dae14143f9.2f56b729365664e7.4532a81ec7e98039
+    f6e820f8f1bbd91b.772eb200970b6f11.617acec489e8d1ec.e855f876e0fc5185
+    c9f801e4b9c14735
+  after
+    373050c19f52b96f.7b73ef42ae654348.cec73085c4f1a64d.4e3c41ff62aa5b20
+    7c8e74a5a4b370a7.fb3573949d631e6f.c8892ce27eddbf96.06c395ef517c1726
+    0000000000000000.0000000000000000.0000000000000000.0000000000000005
+    03e403a505250385.07d9039c04eb00f3.0644016703f605fc.003604af028b00b9
+    0000000000000005
+VPSRLW_256(mem)
+  before
+    c5e73d556d441d76.e37d9f3e6f7902b0.2afd64f1dace5ee5.b8416b2112204150
+    b8ed2ab319929173.c066e0274f6fc866.a6beca9cc795cc9e.92f68cab6d89f1c0
+    7fd742ecd8b75d59.e9f1df1f2a2968ea.c73d5dea796d746a.49e72cce37af1de7
+    f47204ebc7bd3d54.b96896929f321ee7.6a469ac80c611375.3a5e47f60c1f0172
+    c1a8da8f8764d80d
+  after
+    c5e73d556d441d76.e37d9f3e6f7902b0.2afd64f1dace5ee5.b8416b2112204150
+    b8ed2ab319929173.c066e0274f6fc866.a6beca9cc795cc9e.92f68cab6d89f1c0
+    7fd742ecd8b75d59.e9f1df1f2a2968ea.c73d5dea796d746a.49e72cce37af1de7
+    0005000100000004.0006000700020006.0005000600060006.0004000400030007
+    c1a8da8f8764d80d
+
+VPSRLW_256(reg)
+  before
+    3b11e006440adf63.f488e99c01b2ef8f.8e1803ec4716260a.69a4fe229d7d64eb
+    02e455c5e09e5221.5be56eeba3a12d37.c34c2099c162bbff.a12504e547ce25f7
+    736f3539f7ab6cf3.055710c4c897b477.b352eb06a6a01a71.ee9328fb275e10c5
+    eafc7ccf23bd6b84.cea94a138d9f407c.bc74609d945f7f0c.2cbbe652593ce282
+    3769bbd4f871565a
+  after
+    3b11e006440adf63.f488e99c01b2ef8f.8e1803ec4716260a.69a4fe229d7d64eb
+    02e455c5e09e5221.5be56eeba3a12d37.c34c2099c162bbff.a12504e547ce25f7
+    0000000000000000.0000000000000000.0000000000000000.000000000000000a
+    0000001500380014.0016001b0028000b.003000080030002e.0028000100110009
+    000000000000000a
+VPSRLW_256(mem)
+  before
+    eb69226f200b2979.c3d927f203618980.92a698c40dc58c72.390079cc2728267e
+    2487970eee16170a.5a50300d30220294.2d1b77c364165584.854034fefa894a71
+    be8e969d7d9cdc39.0bae968e498c136c.7bd461fdaf9d57df.fe818c9eaa0d2891
+    954c9b08eaab3333.323e52e0e72cf9b4.589dd45c0a664dae.fe0f7d1ad241fc8b
+    e33603dd0eb0010b
+  after
+    eb69226f200b2979.c3d927f203618980.92a698c40dc58c72.390079cc2728267e
+    2487970eee16170a.5a50300d30220294.2d1b77c364165584.854034fefa894a71
+    be8e969d7d9cdc39.0bae968e498c136c.7bd461fdaf9d57df.fe818c9eaa0d2891
+    00040012001d0002.000b000600060000.0005000e000c000a.00100006001f0009
+    e33603dd0eb0010b
+
+VPSRLW_256(reg)
+  before
+    07411b53fbe674bc.848b233b504ed924.2b4e616fa98ded17.a0424bce907ef51e
+    c87dc0e93470914b.6918a923cc928a37.5228c0a7283c2e41.2e8f423e5df0095b
+    8037ee0956d99463.1fbfa9aa79820299.031a6af502c4f6df.e04f36988ec84590
+    8db9a120fdadb8b2.824b9fbe732afc76.9a6e5bc3d3b1829d.9150a1c83f1367ea
+    1d5c01ba8adc2994
+  after
+    07411b53fbe674bc.848b233b504ed924.2b4e616fa98ded17.a0424bce907ef51e
+    c87dc0e93470914b.6918a923cc928a37.5228c0a7283c2e41.2e8f423e5df0095b
+    0000000000000000.0000000000000000.0000000000000000.0000000000000004
+    0c870c0e03470914.06910a920cc908a3.05220c0a028302e4.02e8042305df0095
+    0000000000000004
+VPSRLW_256(mem)
+  before
+    5f40d25a8e2f48bb.4950d59bc3793ae1.6e8a0849d79735f9.73718f7e368f0e26
+    35c88e9464197f8a.114787e447c8569e.be465e39c1d4694f.ea6f0393c8ebd527
+    7abfb2542ba58b2e.41ecb26922264795.504d1f784cee53a3.5bb3b26c2450144c
+    09f3bb86fcdf28d3.36895295f3204b72.fe69c7f494efb022.218b9877e64b0740
+    9a41b11fab67eab0
+  after
+    5f40d25a8e2f48bb.4950d59bc3793ae1.6e8a0849d79735f9.73718f7e368f0e26
+    35c88e9464197f8a.114787e447c8569e.be465e39c1d4694f.ea6f0393c8ebd527
+    7abfb2542ba58b2e.41ecb26922264795.504d1f784cee53a3.5bb3b26c2450144c
+    35c88e9464197f8a.114787e447c8569e.be465e39c1d4694f.ea6f0393c8ebd527
+    9a41b11fab67eab0
+
+VPSRAW_256(reg)
+  before
+    2122f9d00f30f847.c02e2417f6d412a4.4a6c63d353419be0.a667d098b6e53cf7
+    117b6df6ac326eb2.7a3d6af2328f05ce.dadfe291e015768b.2313b850cedcb250
+    c89508fd21fa879d.12ed0702ce1cbc7d.422fca3a36291621.5038f908f7dfd056
+    a1bfc651081381b3.66077935e688f4dc.dea8173af008b84b.0ba412ad4dfa5038
+    2e217c29ed39ee1f
+  after
+    2122f9d00f30f847.c02e2417f6d412a4.4a6c63d353419be0.a667d098b6e53cf7
+    117b6df6ac326eb2.7a3d6af2328f05ce.dadfe291e015768b.2313b850cedcb250
+    0000000000000000.0000000000000000.0000000000000000.000000000000001f
+    00000000ffff0000.0000000000000000.ffffffffffff0000.0000ffffffffffff
+    000000000000001f
+VPSRAW_256(mem)
+  before
+    977cb469f2a9683a.f744a35efd0a96a0.505a3b7695de6818.0a95c5feab3e98b8
+    2081375a795578b3.286f9c909d6a0312.adb1c9b1f82bd55c.2344d0f00258f212
+    a6fc80e69d49dbb7.8e8dac5483bf03b3.5ad79fd22a79f7d5.83ff357d91e10105
+    06b90bfb7b924d71.87ebcf144c96d42f.319939c547d78aae.8713ef12f566023f
+    8accfa19ca713169
+  after
+    977cb469f2a9683a.f744a35efd0a96a0.505a3b7695de6818.0a95c5feab3e98b8
+    2081375a795578b3.286f9c909d6a0312.adb1c9b1f82bd55c.2344d0f00258f212
+    a6fc80e69d49dbb7.8e8dac5483bf03b3.5ad79fd22a79f7d5.83ff357d91e10105
+    0010001b003c003c.0014ffceffce0001.ffd6ffe4fffcffea.0011ffe80001fff9
+    8accfa19ca713169
+
+VPSRAW_256(reg)
+  before
+    ea765200ab90c932.1a8354842e3b890e.6dd3013e937ab033.10c414766c4e4a14
+    025df432344f0744.bf28d86dd3514cb9.9e913e3df4f7d36b.d122abd1b4ecf233
+    2ecddb1b0239274b.d27212a285df529f.7473837d0d9a7b82.517f7ac33cbc3f36
+    ca110327b0da64f4.2d2e7e0f60f156ec.4cc3cb6977eee225.6ca9fe361fcbec4a
+    ff6bb1187a23b79a
+  after
+    ea765200ab90c932.1a8354842e3b890e.6dd3013e937ab033.10c414766c4e4a14
+    025df432344f0744.bf28d86dd3514cb9.9e913e3df4f7d36b.d122abd1b4ecf233
+    0000000000000000.0000000000000000.0000000000000000.000000000000001a
+    0000ffff00000000.ffffffffffff0000.ffff0000ffffffff.ffffffffffffffff
+    000000000000001a
+VPSRAW_256(mem)
+  before
+    e490115469d35a53.327668c2dbbefceb.ad2898a0819415cb.83cf126fd07f45ff
+    f8e599d506e491a1.c24806581e7228dc.2e2cdd4104d24b69.73e154fbb4dae0bd
+    1736c68970641aaf.d5d3da5516812771.8c05c7de04bab4f1.79468d77be8aee0b
+    1d4f125bc05eafaa.c963df255e783459.a381d4649d550b90.f14aba508a1bac94
+    3839d6f2b51a5605
+  after
+    e490115469d35a53.327668c2dbbefceb.ad2898a0819415cb.83cf126fd07f45ff
+    f8e599d506e491a1.c24806581e7228dc.2e2cdd4104d24b69.73e154fbb4dae0bd
+    1736c68970641aaf.d5d3da5516812771.8c05c7de04bab4f1.79468d77be8aee0b
+    ffc7fcce0037fc8d.fe12003200f30146.0171feea0026025b.039f02a7fda6ff05
+    3839d6f2b51a5605
+
+VPSRAW_256(reg)
+  before
+    a85eddcada12270a.e6fcfb3714df0dbd.f944113593e28a3e.4f6a7fbdecb10d72
+    9e07cc42968f5c4e.4e08fc0988f2f015.c0c16cef504b66cd.6c8d45d70cd976c2
+    767e9dc8851e317d.314191be37a313de.7c28ecc1314003b1.d6b6a09d1ada01ad
+    8c104ec7414ae244.6b7136403eff3343.88c38e15d34b9e97.69b10efa32bf6c5e
+    014a0adc6e947102
+  after
+    a85eddcada12270a.e6fcfb3714df0dbd.f944113593e28a3e.4f6a7fbdecb10d72
+    9e07cc42968f5c4e.4e08fc0988f2f015.c0c16cef504b66cd.6c8d45d70cd976c2
+    0000000000000000.0000000000000000.0000000000000000.0000000000000002
+    e781f310e5a31713.1382ff02e23cfc05.f0301b3b141219b3.1b23117503361db0
+    0000000000000002
+VPSRAW_256(mem)
+  before
+    7a4c102eed66ccc5.3c09daab699faa4f.d865687cb8110c71.3fdf4d59d2fb732b
+    b0859ddcc8403bd2.e2b53de096aac64a.54e9a25fc1e55993.ffc825f8c9d9be18
+    7fbf2bd31e2e7856.da5f74d267f672e0.bbc960d47688d8d6.22c9125e5473ba0a
+    c3c738fd083d407c.80557aed7510eabd.e9d01ec6f2054366.063011f71055a5af
+    05471d2f9909b8b0
+  after
+    7a4c102eed66ccc5.3c09daab699faa4f.d865687cb8110c71.3fdf4d59d2fb732b
+    b0859ddcc8403bd2.e2b53de096aac64a.54e9a25fc1e55993.ffc825f8c9d9be18
+    7fbf2bd31e2e7856.da5f74d267f672e0.bbc960d47688d8d6.22c9125e5473ba0a
+    b0859ddcc8403bd2.e2b53de096aac64a.54e9a25fc1e55993.ffc825f8c9d9be18
+    05471d2f9909b8b0
+
+VPSLLD_256(reg)
+  before
+    7c5b32738a1d32bc.58693f47a4784e71.30e14a9d5e82698e.b9cc59235268566e
+    c8b94c2d7f1c4d7d.1970bd9e0eeb5f61.4650e34ebedb2cff.09878bd6b2becf1b
+    43aa68ca159346a0.e4aa2cec61a32f77.1eee3e6d30a46ebb.b4ce32cb2d126898
+    4a7d80b7e70d59d0.94e10a1fbaab7adf.14075964516b6d6f.966dc9eedf70de12
+    8a30cd2be5e5ecb5
+  after
+    7c5b32738a1d32bc.58693f47a4784e71.30e14a9d5e82698e.b9cc59235268566e
+    c8b94c2d7f1c4d7d.1970bd9e0eeb5f61.4650e34ebedb2cff.09878bd6b2becf1b
+    0000000000000000.0000000000000000.0000000000000000.0000000000000015
+    85a00000afa00000.b3c00000ec200000.69c000009fe00000.7ac00000e3600000
+    0000000000000015
+VPSLLD_256(mem)
+  before
+    6ee3b86f5a7c4fac.3a7d925f9216c2ba.04e3d222340ffbc7.83e72ea1bcbb63c7
+    1c5108a45b41c323.6df5992db13bbc09.127a00e0ebdc7059.c9d9bb8e0d218d6e
+    724838b803410448.4033928fe107846a.99731047fc1d92c1.412bfc99e1272611
+    4b92c4956e87ce45.0f8177f0bd075589.749a7f4282de202c.4727eb2dd45c6c5b
+    361a86b6804999f9
+  after
+    6ee3b86f5a7c4fac.3a7d925f9216c2ba.04e3d222340ffbc7.83e72ea1bcbb63c7
+    1c5108a45b41c323.6df5992db13bbc09.127a00e0ebdc7059.c9d9bb8e0d218d6e
+    724838b803410448.4033928fe107846a.99731047fc1d92c1.412bfc99e1272611
+    4800000046000000.5a00000012000000.c0000000b2000000.1c000000dc000000
+    361a86b6804999f9
+
+VPSLLD_256(reg)
+  before
+    6c50c7a0847ce997.82fc2929ba1fdc46.372c46bce2c56d11.81bac8bd9a2cd4c6
+    4314ad577a809ae0.f552e15f0016eb78.127ffa5febcf06af.9aa167a560126bba
+    19b43147fee2e680.7e606a225e77b607.fdc88f4574b15c0e.9d19d8e4ee9da135
+    497a50ddad2d0a25.faf13f60f04ffa1e.545202db1af5addb.64ef986763d83163
+    cdef211bd9cfd96f
+  after
+    6c50c7a0847ce997.82fc2929ba1fdc46.372c46bce2c56d11.81bac8bd9a2cd4c6
+    4314ad577a809ae0.f552e15f0016eb78.127ffa5febcf06af.9aa167a560126bba
+    0000000000000000.0000000000000000.0000000000000000.000000000000000f
+    56ab80004d700000.70af800075bc0000.fd2f800083578000.b3d2800035dd0000
+    000000000000000f
+VPSLLD_256(mem)
+  before
+    b2e5f1ea6c8e5285.2eb4078322ed4179.46d3dd04d1a973ea.73684d8b792a33c2
+    f09d83c238225bd3.26ac51a7faafc828.3cd0befa1d91dd96.b6576ec32cd92b6e
+    64e2548e5b96ae82.8baf2ab3d0fedbdf.bab5602ff113f44f.796b60edcf90d18c
+    e882de3aeef708c1.ba098f154066b64a.9a4e3e8d683c7341.18f01f77ffda60c7
+    ef32a8cc574315cc
+  after
+    b2e5f1ea6c8e5285.2eb4078322ed4179.46d3dd04d1a973ea.73684d8b792a33c2
+    f09d83c238225bd3.26ac51a7faafc828.3cd0befa1d91dd96.b6576ec32cd92b6e
+    64e2548e5b96ae82.8baf2ab3d0fedbdf.bab5602ff113f44f.796b60edcf90d18c
+    d83c200025bd3000.c51a7000fc828000.0befa0001dd96000.76ec300092b6e000
+    ef32a8cc574315cc
+
+VPSLLD_256(reg)
+  before
+    597cf65774582c47.59479fb20f4f25ba.10057a38e7749514.b967d4019f171797
+    b41c0586f2a4e1e3.93fe12e2daadc19a.e7f1e98861b3b3ea.f3cc9f78b2b19b7e
+    5b5cd1c46bb46f4d.7373b3b66a1a978c.9c17d77149af4d77.254819dcbb15bd22
+    aa89567e7e131330.d372ff1adba464bd.8cc4415f3cf59e68.29a8c01bd94f37ae
+    dcb90f20256bc54e
+  after
+    597cf65774582c47.59479fb20f4f25ba.10057a38e7749514.b967d4019f171797
+    b41c0586f2a4e1e3.93fe12e2daadc19a.e7f1e98861b3b3ea.f3cc9f78b2b19b7e
+    0000000000000000.0000000000000000.0000000000000000.000000000000000e
+    016180003878c000.84b8800070668000.7a620000ecfa8000.27de000066df8000
+    000000000000000e
+VPSLLD_256(mem)
+  before
+    1a4583d7be76252f.fdef911ec44d0839.90c671fa4a56e358.114421bed510e469
+    bf19962cbd7c117d.afda7d11dbee8c13.863d8543d33dd28a.88e375fab08c5925
+    a700c60b41874664.1e9616c45f83d96c.91a1b7df9164eb7f.4ded38806af63949
+    aec88e6063a5800f.a56e58a1eb972ced.8dbf83bca0d7ea62.bdad66ba9ed9c280
+    3271fb16e9c12e78
+  after
+    1a4583d7be76252f.fdef911ec44d0839.90c671fa4a56e358.114421bed510e469
+    bf19962cbd7c117d.afda7d11dbee8c13.863d8543d33dd28a.88e375fab08c5925
+    a700c60b41874664.1e9616c45f83d96c.91a1b7df9164eb7f.4ded38806af63949
+    2c0000007d000000.1100000013000000.430000008a000000.fa00000025000000
+    3271fb16e9c12e78
+
+VPSRLD_256(reg)
+  before
+    0983f4fee73bbada.b03b6a1741e17aaa.9faf3f161cb7c045.566366c51da38d60
+    9e304ce032d2a254.8926d61df748f162.6aa5c88d8d6ed31e.c859dae523d38ea4
+    4dc4ff2769122192.15564f5ca0e5a163.609dee74da489f24.bf6d5d0acf73aa5b
+    728b093f25887440.309450c258c445d9.dfe0ad36a0d26004.176a6b1f3c8f9db1
+    ac1e7e10873422d1
+  after
+    0983f4fee73bbada.b03b6a1741e17aaa.9faf3f161cb7c045.566366c51da38d60
+    9e304ce032d2a254.8926d61df748f162.6aa5c88d8d6ed31e.c859dae523d38ea4
+    0000000000000000.0000000000000000.0000000000000000.0000000000000011
+    00004f1800001969.0000449300007ba4.00003552000046b7.0000642c000011e9
+    0000000000000011
+VPSRLD_256(mem)
+  before
+    5a5314cacb6ef6e7.69d0669405bfd708.b6af55393cf29bef.41bd023f7b97546a
+    fcd6a8372547d521.8ee11392a2448599.8372daaf687a5dd1.e47fe7fb0623b501
+    7073b644b0cd7ba9.3d080ba59aa1bc9d.72a85c0ff76847ac.22715ad6dd03c076
+    91f6bade890ca3ab.d2924a3a8965b6c1.611f554505c917ac.59e0563c9dc2b074
+    e318d79ae1ecc3a8
+  after
+    5a5314cacb6ef6e7.69d0669405bfd708.b6af55393cf29bef.41bd023f7b97546a
+    fcd6a8372547d521.8ee11392a2448599.8372daaf687a5dd1.e47fe7fb0623b501
+    7073b644b0cd7ba9.3d080ba59aa1bc9d.72a85c0ff76847ac.22715ad6dd03c076
+    00fcd6a8002547d5.008ee11300a24485.008372da00687a5d.00e47fe7000623b5
+    e318d79ae1ecc3a8
+
+VPSRLD_256(reg)
+  before
+    1d65da5a460d33be.3b2a30efcb0e0a54.a9cbcdbb0a19afb0.2ba1433dafa887fc
+    641359ea68b23c61.49dd956592e26cd0.1dff8e95ba4be517.acfba1e3101154c9
+    126e52b4e1671c3e.99d9642bfb91844a.8c7a8b35348692a2.bff9ec234511393f
+    84c1c0264fb70d01.06eb192c22290fef.5187bf061456f2fc.42669ee969b3f389
+    1010352299033ed4
+  after
+    1d65da5a460d33be.3b2a30efcb0e0a54.a9cbcdbb0a19afb0.2ba1433dafa887fc
+    641359ea68b23c61.49dd956592e26cd0.1dff8e95ba4be517.acfba1e3101154c9
+    0000000000000000.0000000000000000.0000000000000000.0000000000000014
+    000006410000068b.0000049d0000092e.000001df00000ba4.00000acf00000101
+    0000000000000014
+VPSRLD_256(mem)
+  before
+    04c12cb8f00ed64b.1759a0ab4e2e4c55.6bdf315622b5c9eb.c8742673f74843d2
+    fc46ff998bdf771b.2582ecaf795815e6.a681269417416d69.4c8bbdea78e8bfcf
+    d26c2baf8583dc6f.0b88a29e6dc2a362.919c76d21edab996.3b197ed634c0a3a0
+    64fc2ae8fa04c274.25b7bde4c5f73372.0afe9cfd528b679d.f06a67a3c75e2bf0
+    c6ca73becc4d926d
+  after
+    04c12cb8f00ed64b.1759a0ab4e2e4c55.6bdf315622b5c9eb.c8742673f74843d2
+    fc46ff998bdf771b.2582ecaf795815e6.a681269417416d69.4c8bbdea78e8bfcf
+    d26c2baf8583dc6f.0b88a29e6dc2a362.919c76d21edab996.3b197ed634c0a3a0
+    0007e23700045efb.00012c170003cac0.000534090000ba0b.0002645d0003c745
+    c6ca73becc4d926d
+
+VPSRLD_256(reg)
+  before
+    1b849f91df1a15c0.8cc57a2f0770e456.cf5b39ed1e8301c5.eb7115ffd06033ab
+    49e6e5899d50f098.28929670c8d3ff40.65bf132613f34805.12c25bc5b366dbeb
+    ae3a4313a17b5f9e.122efb975838cf5f.433145f940d245de.59bdec3c18a8198a
+    a4cdb49988289d81.27672390d3ab10df.c5fbcdd342ac34fe.9d2e434e1a33aab4
+    bbe1dce9d6124a94
+  after
+    1b849f91df1a15c0.8cc57a2f0770e456.cf5b39ed1e8301c5.eb7115ffd06033ab
+    49e6e5899d50f098.28929670c8d3ff40.65bf132613f34805.12c25bc5b366dbeb
+    0000000000000000.0000000000000000.0000000000000000.0000000000000014
+    0000049e000009d5.0000028900000c8d.0000065b0000013f.0000012c00000b36
+    0000000000000014
+VPSRLD_256(mem)
+  before
+    8da133f86751b457.89eb3489ede2e7eb.44078c4756387eeb.476aa621b50e510e
+    f03cc567eafca529.b7e0bf4d6c357989.43dbb1a9fdecd4af.25cacd4e3383d7bd
+    c17c0d227a20d935.8cf85253a2ad8e06.01ae0ea0e3d2cf59.bb673cc55b9803b5
+    da2e871534c80ba7.627ee8062bd7640f.5a4e201924f72a12.658cf1f4c7d811a2
+    7f87e74613cf3d31
+  after
+    8da133f86751b457.89eb3489ede2e7eb.44078c4756387eeb.476aa621b50e510e
+    f03cc567eafca529.b7e0bf4d6c357989.43dbb1a9fdecd4af.25cacd4e3383d7bd
+    c17c0d227a20d935.8cf85253a2ad8e06.01ae0ea0e3d2cf59.bb673cc55b9803b5
+    0000781e0000757e.00005bf00000361a.000021ed00007ef6.000012e5000019c1
+    7f87e74613cf3d31
+
+VPSRAD_256(reg)
+  before
+    64a21a27dc09c20e.181eaf2c3301f8ac.96bf7dd2a23f344f.2b866101dd66a309
+    722a8603bd13dde4.5718015393d65c70.85080d23a46f3d73.4e214f43292bf468
+    046b28475378ca60.73e7fa767153f31f.89a39565ccf5b927.a0ec65cb2553d95b
+    76b1fb5d39c5c42e.48591582e98578e4.ffdc0f05b65de516.fdb31f84ece81010
+    4142fa5c9bf953b0
+  after
+    64a21a27dc09c20e.181eaf2c3301f8ac.96bf7dd2a23f344f.2b866101dd66a309
+    722a8603bd13dde4.5718015393d65c70.85080d23a46f3d73.4e214f43292bf468
+    0000000000000000.0000000000000000.0000000000000000.0000000000000010
+    0000722affffbd13.00005718ffff93d6.ffff8508ffffa46f.00004e210000292b
+    0000000000000010
+VPSRAD_256(mem)
+  before
+    4865713e4d8f5f6a.2347fbb20c8508f9.b338ce611576a8eb.4301796dff31fded
+    eee700171eb8f068.697b24b36744d26e.8e51a10114353f62.b15dcf0a42003d57
+    0f9623d12b7fc1d6.a39773cae68e5e38.b6700b4d00cbf872.a63b0b491c53e001
+    873c565990f18fe2.2ce8e26526f0e704.07618731f546914a.7ce82b9528b82397
+    90b0295903ba41c4
+  after
+    4865713e4d8f5f6a.2347fbb20c8508f9.b338ce611576a8eb.4301796dff31fded
+    eee700171eb8f068.697b24b36744d26e.8e51a10114353f62.b15dcf0a42003d57
+    0f9623d12b7fc1d6.a39773cae68e5e38.b6700b4d00cbf872.a63b0b491c53e001
+    feee700101eb8f06.0697b24b06744d26.f8e51a10014353f6.fb15dcf0042003d5
+    90b0295903ba41c4
+
+VPSRAD_256(reg)
+  before
+    3edf030349e57835.32a6169c681916b5.62ba6fefc3f6aa7d.5cf0919810b1c414
+    e2c1b5fe94c60295.eca0de84cf03117e.9f5915d4582ae351.93e8a5706c194dfc
+    d8a239b682e81c91.91f62affe2bc3e67.4111d180811acd29.87173fa52689ea2f
+    7ccd8d97afd701d5.fd7376f8bd4f579c.a22d9d5fdb51a5b4.1447dc21590d55d9
+    1645f7d122b24b26
+  after
+    3edf030349e57835.32a6169c681916b5.62ba6fefc3f6aa7d.5cf0919810b1c414
+    e2c1b5fe94c60295.eca0de84cf03117e.9f5915d4582ae351.93e8a5706c194dfc
+    0000000000000000.0000000000000000.0000000000000000.0000000000000006
+    ff8b06d7fe53180a.ffb2837aff3c0c45.fe7d64570160ab8d.fe4fa29501b06537
+    0000000000000006
+VPSRAD_256(mem)
+  before
+    69dd0ca19c838740.2a90ac0eb620ee0c.0be53e5a7bc8184a.20fb77dd025ca79b
+    e8db977ee38cc656.3e359285344e1fe3.9916ff1338343f9d.15c55a6691c60f8d
+    710a155214dac492.13093b69c4eed005.82d3340e119e86c0.ded84267241b1834
+    df38010b4b783d21.0757a427038b3c1f.a2e859372112aae0.d8802c4a58e8ff3d
+    5d09127dc8b80053
+  after
+    69dd0ca19c838740.2a90ac0eb620ee0c.0be53e5a7bc8184a.20fb77dd025ca79b
+    e8db977ee38cc656.3e359285344e1fe3.9916ff1338343f9d.15c55a6691c60f8d
+    710a155214dac492.13093b69c4eed005.82d3340e119e86c0.ded84267241b1834
+    fffffd1bfffffc71.000007c600000689.fffff32200000706.000002b8fffff238
+    5d09127dc8b80053
+
+VPSRAD_256(reg)
+  before
+    cabef26a11175623.0e2fd794a373ec2e.756dc8298cb1a0dd.d421ea7b859d6629
+    7cedc77fce923e58.d9bc13d938d58fe6.b996a3ddfbec38ea.f64a64c4584a77c6
+    cde08e279cb4f49f.1eab31c527acdf75.2e1d31aeedc940f3.e32e42ffb72599e4
+    1ae441ce1609b4a4.b7c8ae468c049b06.324f6e08fdd3f3a3.769b0019bd3b88ae
+    8d5b1afc8797ff51
+  after
+    cabef26a11175623.0e2fd794a373ec2e.756dc8298cb1a0dd.d421ea7b859d6629
+    7cedc77fce923e58.d9bc13d938d58fe6.b996a3ddfbec38ea.f64a64c4584a77c6
+    0000000000000000.0000000000000000.0000000000000000.0000000000000011
+    00003e76ffffe749.ffffecde00001c6a.ffffdccbfffffdf6.fffffb2500002c25
+    0000000000000011
+VPSRAD_256(mem)
+  before
+    023b0d963046bcf8.bf45dee0d81eb912.82de054882e77dc5.20785757c8978ea7
+    b30753d2d45378d1.184f60c97f7e4096.59bbb2b5256442e0.53e4e707eaa04daa
+    7a8b6a9c91caf205.814ec3f5a7b585db.1a29317a9284a681.29df1a84fd7a6b5a
+    3592cddf80b7e4c2.568d04d0eb50c38e.9ff5fe83e45564d4.fdb5ec3aa0b22560
+    2ab15a956dd3b76b
+  after
+    023b0d963046bcf8.bf45dee0d81eb912.82de054882e77dc5.20785757c8978ea7
+    b30753d2d45378d1.184f60c97f7e4096.59bbb2b5256442e0.53e4e707eaa04daa
+    7a8b6a9c91caf205.814ec3f5a7b585db.1a29317a9284a681.29df1a84fd7a6b5a
+    fff660eafffa8a6f.000309ec000fefc8.000b37760004ac88.000a7c9cfffd5409
+    2ab15a956dd3b76b
+
+VPSLLQ_256(reg)
+  before
+    0e205e0200695d24.beeaf989bf270b34.f35a1dc7e8da385b.c6eb96bd38e23a06
+    034ef6ebf500523a.f25d68866a252387.b4ff0c4439e01eed.69d77413a937e143
+    67871ebeea25d357.aeb898c09bbee8e6.f5c9ccb57aedb1f1.65851470546118b6
+    9417d0e678641c28.ccc7042471fc157e.12045a84488d2f12.97c0f3c2546b998c
+    d9568bf4c66221f0
+  after
+    0e205e0200695d24.beeaf989bf270b34.f35a1dc7e8da385b.c6eb96bd38e23a06
+    034ef6ebf500523a.f25d68866a252387.b4ff0c4439e01eed.69d77413a937e143
+    0000000000000000.0000000000000000.0000000000000000.0000000000000030
+    523a000000000000.2387000000000000.1eed000000000000.e143000000000000
+    0000000000000030
+VPSLLQ_256(mem)
+  before
+    08115af2c5516c0f.e74a0acf3d476858.2956289f06ee677a.67fbb01f3e4cd2fd
+    00bedba86d443615.bd6bc6e4d55cf494.a131801b769d9907.50fcccf1f9b7d65e
+    9e298a02db473a2d.70c80393db2ffc87.11238986de176950.2951a966145979e0
+    bc1ee4ec2b673584.5dabba48eb4abcde.53f9beca59679182.4e4843ea2cbff530
+    1b2b96e9dc7387f9
+  after
+    08115af2c5516c0f.e74a0acf3d476858.2956289f06ee677a.67fbb01f3e4cd2fd
+    00bedba86d443615.bd6bc6e4d55cf494.a131801b769d9907.50fcccf1f9b7d65e
+    9e298a02db473a2d.70c80393db2ffc87.11238986de176950.2951a966145979e0
+    2a00000000000000.2800000000000000.0e00000000000000.bc00000000000000
+    1b2b96e9dc7387f9
+
+VPSLLQ_256(reg)
+  before
+    eb479fcfc1046be8.3768635378b0e245.e161e86da23b6f45.44809bd5049acdc9
+    1ce7590976fbdca8.ebd58521de2cff9d.56368a6f9c8e5267.c0829c92fabbdb50
+    0959c00198e617e7.b42fc5447ae946b8.19759bba74cda1f1.a3cc3eed58d67544
+    0de8d025c250584e.6e43a0a667f273c1.866c17bbc686978e.c929fcd239f758d0
+    0e67512db92b4021
+  after
+    eb479fcfc1046be8.3768635378b0e245.e161e86da23b6f45.44809bd5049acdc9
+    1ce7590976fbdca8.ebd58521de2cff9d.56368a6f9c8e5267.c0829c92fabbdb50
+    0000000000000000.0000000000000000.0000000000000000.0000000000000021
+    edf7b95000000000.bc59ff3a00000000.391ca4ce00000000.f577b6a000000000
+    0000000000000021
+VPSLLQ_256(mem)
+  before
+    4e50bceaf67ee863.86df86df91c6db8c.f5dd9035c25444e5.f965fbdc2f4572eb
+    65b1b6f609fa0dc1.cf8bdc9da0d3db4a.25c913dca71a734f.ceae418b4a956bb4
+    2f57bd3b10ad6b68.4338d0ca8b039537.dad3a4873050bd2c.6291e733b402c194
+    880c4ba727a2bd83.40325dd2efe345fd.f0c6bf227c03dea8.0f5be8400818ae38
+    3257401ee364704b
+  after
+    4e50bceaf67ee863.86df86df91c6db8c.f5dd9035c25444e5.f965fbdc2f4572eb
+    65b1b6f609fa0dc1.cf8bdc9da0d3db4a.25c913dca71a734f.ceae418b4a956bb4
+    2f57bd3b10ad6b68.4338d0ca8b039537.dad3a4873050bd2c.6291e733b402c194
+    8db7b04fd06e0800.5ee4ed069eda5000.489ee538d39a7800.720c5a54ab5da000
+    3257401ee364704b
+
+VPSLLQ_256(reg)
+  before
+    27d3ec39e071407a.4c9cdf2469e6c13f.20c5802168fd2649.4370e199a43e91ee
+    4a19e6fd9ccb5d71.57d5f2a0f28431c7.413c332391e075c6.af9b84d8c70d932b
+    f6772cd6b2ff01db.84810106df88c949.fde5744406156e21.0f1426cbfe7da08a
+    8937b930bf986965.b16e89424bff47ee.b10a3ef0642a4d05.41a7425e67997438
+    2020557e1e6dca61
+  after
+    27d3ec39e071407a.4c9cdf2469e6c13f.20c5802168fd2649.4370e199a43e91ee
+    4a19e6fd9ccb5d71.57d5f2a0f28431c7.413c332391e075c6.af9b84d8c70d932b
+    0000000000000000.0000000000000000.0000000000000000.0000000000000021
+    3996bae200000000.e508638e00000000.23c0eb8c00000000.8e1b265600000000
+    0000000000000021
+VPSLLQ_256(mem)
+  before
+    884ad9153e065f30.5ea68a785e23d1ba.b966054053f465e5.baf88d9446ab4d1f
+    54f34c11e46fefd2.d11099182b2b7487.7836f1ec1273e058.72fb5e9a4922ab1b
+    62e5295d2bb43572.3ec0e47ec33c8f78.c9aac932a5897373.365eac70081da3a4
+    8dedece52fe2ee3d.01046614c2e25e38.8a8d0afe2741db63.636f728020287067
+    5379af382ccd5010
+  after
+    884ad9153e065f30.5ea68a785e23d1ba.b966054053f465e5.baf88d9446ab4d1f
+    54f34c11e46fefd2.d11099182b2b7487.7836f1ec1273e058.72fb5e9a4922ab1b
+    62e5295d2bb43572.3ec0e47ec33c8f78.c9aac932a5897373.365eac70081da3a4
+    4c11e46fefd20000.99182b2b74870000.f1ec1273e0580000.5e9a4922ab1b0000
+    5379af382ccd5010
+
+VPSRLQ_256(reg)
+  before
+    63c75c03c99a7c4a.b0d711950d04d65e.75261b48c3aa1d74.96ad2f3db5a8d454
+    efa6764d921b33c1.a96f1559e026a802.f8740085621f07d7.c8d4b4d96ac81a71
+    5362fa8224daaf22.5280731dc5552255.e5380f373cce590e.fed015c063af68e7
+    ec47e30e1a652d19.89d8a7cdd89cfe82.97be46caed424ec4.126bceddbb697ce2
+    e2725c1b8f010f8d
+  after
+    63c75c03c99a7c4a.b0d711950d04d65e.75261b48c3aa1d74.96ad2f3db5a8d454
+    efa6764d921b33c1.a96f1559e026a802.f8740085621f07d7.c8d4b4d96ac81a71
+    0000000000000000.0000000000000000.0000000000000000.000000000000000d
+    00077d33b26c90d9.00054b78aacf0135.0007c3a0042b10f8.000646a5a6cb5640
+    000000000000000d
+VPSRLQ_256(mem)
+  before
+    48b03a68fa83e014.14a02d5d1048e952.28412d553408f8b6.6c54a0aa0f0724a7
+    22f3e4af18fba9a5.28bbd5dba30e1f78.0d8882a2f5a3ce1d.be451a4341aa1560
+    4a05d6dc0676276a.84e2d6f56f430a37.1279209e387c3ae2.ebdcae021cb55e9e
+    9db48ddbe0ff168f.84622b150f73e73c.15e08537189cf931.4e675a513fb73a0a
+    4230199e4339e753
+  after
+    48b03a68fa83e014.14a02d5d1048e952.28412d553408f8b6.6c54a0aa0f0724a7
+    22f3e4af18fba9a5.28bbd5dba30e1f78.0d8882a2f5a3ce1d.be451a4341aa1560
+    4a05d6dc0676276a.84e2d6f56f430a37.1279209e387c3ae2.ebdcae021cb55e9e
+    0000045e7c95e31f.000005177abb7461.000001b110545eb4.000017c8a3486835
+    4230199e4339e753
+
+VPSRLQ_256(reg)
+  before
+    2484e753c7c99f23.f8ca8498c1a33241.8488d2a91f2bf133.f0892d57b111c738
+    51aec1de64f39e27.35143700c56d36ac.e09dc71b3cf666c8.803f92ec21e65f21
+    23fca1aab841220a.315d22fd0969dffb.f4f004d9026180a6.a2d032e181287e18
+    f8b985235f416579.c973c17da8a3e85b.1bcc874e0cf67c79.30068722efe1e04a
+    07ae0f9b872040e3
+  after
+    2484e753c7c99f23.f8ca8498c1a33241.8488d2a91f2bf133.f0892d57b111c738
+    51aec1de64f39e27.35143700c56d36ac.e09dc71b3cf666c8.803f92ec21e65f21
+    0000000000000000.0000000000000000.0000000000000000.0000000000000023
+    000000000a35d83b.0000000006a286e0.000000001c13b8e3.000000001007f25d
+    0000000000000023
+VPSRLQ_256(mem)
+  before
+    0394463864ee5b0e.2a3068b5f47fa41f.d721916abf280ff7.b37c4be6f64395ee
+    0084a6e5a259edf8.16ae46cc13851ba9.38320db269030efc.174d4c0d5dd409b1
+    da49ad8f5e6cb2cc.187f1cd459e105c3.c873b140c341a196.a38b872fdc34116d
+    6eb1d620b43465b7.8defe539621f9f18.63b0f900e8ed86f0.b382f6b810efeccf
+    a27e97159492d583
+  after
+    0394463864ee5b0e.2a3068b5f47fa41f.d721916abf280ff7.b37c4be6f64395ee
+    0084a6e5a259edf8.16ae46cc13851ba9.38320db269030efc.174d4c0d5dd409b1
+    da49ad8f5e6cb2cc.187f1cd459e105c3.c873b140c341a196.a38b872fdc34116d
+    001094dcb44b3dbf.02d5c8d98270a375.070641b64d2061df.02e9a981abba8136
+    a27e97159492d583
+
+VPSRLQ_256(reg)
+  before
+    cecb65b004a70734.96869d86bfbcc3e5.cf4a9d68c9c92555.e5b562def5137737
+    92b45cf7febdbe8f.2f957eab9b108881.3bdb40cb2a6dd225.2a4e66c605c03196
+    498779541b5d383f.15aaf67d653d6fb8.2df0cad02297e335.0e4683a435fe703a
+    518eb735f915aff1.24917fe7384e36b5.01d338e14cd19431.6d6b3564a0dcef4f
+    2387f6f262636b00
+  after
+    cecb65b004a70734.96869d86bfbcc3e5.cf4a9d68c9c92555.e5b562def5137737
+    92b45cf7febdbe8f.2f957eab9b108881.3bdb40cb2a6dd225.2a4e66c605c03196
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    92b45cf7febdbe8f.2f957eab9b108881.3bdb40cb2a6dd225.2a4e66c605c03196
+    0000000000000000
+VPSRLQ_256(mem)
+  before
+    0c67443b98a1a07a.0416110534706050.381697d5314f97a5.13d1856c45aa21c4
+    04d799295ea249e8.c06b863067fb8709.2c04ba336b4c4eb4.bf36addca8abc59b
+    e7a373aacf702477.dfd80f212e415fc8.de2962ed0352190d.614eac9d1262bd61
+    91964ea90719eb53.bfabaa4726ce2638.294f0def146db2dd.55647e1b1e5a45c3
+    f7c620c2691f996d
+  after
+    0c67443b98a1a07a.0416110534706050.381697d5314f97a5.13d1856c45aa21c4
+    04d799295ea249e8.c06b863067fb8709.2c04ba336b4c4eb4.bf36addca8abc59b
+    e7a373aacf702477.dfd80f212e415fc8.de2962ed0352190d.614eac9d1262bd61
+    00000000000026bc.000000000006035c.0000000000016025.000000000005f9b5
+    f7c620c2691f996d
+
+VPMADDWD_256(reg)
+  before
+    a3be8dfe8e3ef40a.de7ea41223a95aa7.ba2e510beb2f1506.e9433625bba7d64f
+    b599c13c2a429347.a925f3d03e2a2fa0.2eaf02da17ef6bde.fad1597b130e4090
+    89a3b8e6d8b8b1cf.d058b6d175aa2469.7578b920499a626b.38c5f2de39aeadcb
+    7b286f69342b8c4f.2ee36901e435f62f.ecd6704a1bbd375a.7eea7e384891d92e
+    aa0e77775cc580e2
+  after
+    33d53d531ab93cd9.13a7218823588284.14a1c24830599e90.fa42997fef8f93b4
+    b599c13c2a429347.a925f3d03e2a2fa0.2eaf02da17ef6bde.fad1597b130e4090
+    89a3b8e6d8b8b1cf.d058b6d175aa2469.7578b920499a626b.38c5f2de39aeadcb
+    7b286f69342b8c4f.2ee36901e435f62f.ecd6704a1bbd375a.7eea7e384891d92e
+    aa0e77775cc580e2
+VPMADDWD_256(mem)
+  before
+    97fb5b8692565d16.e774e132db275e73.9e92884aa5d5601d.f01425c229e32656
+    207ea551064f2ef4.28d20aac693864e6.fe319099d7981f60.db80d3f610986b0c
+    2363d2c4d3bcaca8.9c90e64279ebd955.298bfcda938aef24.0a6476516b694127
+    7a765ccb15a9965f.9ef87162a7cbfb6b.fa6e48faf7b68c94.d90e0a3fd6e1e554
+    a5c88c2bef8c923f
+  after
+    97fb5b8692565d16.e774e132db275e73.9e92884aa5d5601d.f01425c229e32656
+    207ea551064f2ef4.28d20aac693864e6.fe319099d7981f60.db80d3f610986b0c
+    d26080f00e5ed982.facd3ec01614b6da.34c84a2c1a02e758.fbc6546c12beccd0
+    7a765ccb15a9965f.9ef87162a7cbfb6b.fa6e48faf7b68c94.d90e0a3fd6e1e554
+    a5c88c2bef8c923f
+
+VPMADDWD_256(reg)
+  before
+    c8dff6834ff78693.0382c152e923a645.8957a877906503d5.4fa4f0e31f28b1dd
+    9f9f46b394adfbfd.98557c456a359985.bbf986edcf44303e.02fa708326ec1c2b
+    865378255a3a2d28.17b90a90b5eb2b4c.8f2a073101f4bd53.f13c45c5290f86a9
+    d94986463c2b5ac1.5a7be520e55217c5.603527adc201e5c0.f636ea95439cae84
+    efb3dbdf909f4ee7
+  after
+    4efd1a6cd97759ba.fb85513dcfeee223.1a953c37f3103aea.1e7df067f8e42e37
+    9f9f46b394adfbfd.98557c456a359985.bbf986edcf44303e.02fa708326ec1c2b
+    865378255a3a2d28.17b90a90b5eb2b4c.8f2a073101f4bd53.f13c45c5290f86a9
+    d94986463c2b5ac1.5a7be520e55217c5.603527adc201e5c0.f636ea95439cae84
+    efb3dbdf909f4ee7
+VPMADDWD_256(mem)
+  before
+    b681948f2d2523ff.f4cb6e82d60bbc74.3f678bdf17751b1e.8c68e3ceacf8e530
+    286a92913639e9f7.33262b46c56790ec.a04977bb6661f080.6d0d36015e65f850
+    223b50d1c6e85cfc.f2a6b9fca5c912d6.5aed259eef215519.61711cb071d25bcc
+    7ec04a3bf93d373a.8d97141211bf7ddd.4a1e1176cdc10415.c2e0914983cd4a4f
+    eea6913630e20186
+  after
+    b681948f2d2523ff.f4cb6e82d60bbc74.3f678bdf17751b1e.8c68e3ceacf8e530
+    286a92913639e9f7.33262b46c56790ec.a04977bb6661f080.6d0d36015e65f850
+    22536c690676ad46.1070d4ae26e9905d.b1fb494407bd3055.c8cfc116e2306cd8
+    7ec04a3bf93d373a.8d97141211bf7ddd.4a1e1176cdc10415.c2e0914983cd4a4f
+    eea6913630e20186
+
+VPMADDWD_256(reg)
+  before
+    3f0e19e5139bbc1c.19c5fcbcec4437dc.604538f3a5d50eae.4aaab82e1d4dbaa0
+    126624c1c986b6be.d016e23eba09170f.c7fb220bfe9601f5.375b95b2fad233e5
+    c4f8ae36ed2e2c17.7d7e79af809995fe.1e07cdc6b78e925d.eefe24ee815b2b10
+    af11b3b01b2059d4.fdcb3cfa59ff6bd6.c0b335906d49fc92.495fe1cecdf55d4f
+    254a483efaab86cb
+  after
+    f003d986f7635726.da5e1f3619454b43.f2c0055fff8fe135.ecfcb9c60b4aaff6
+    126624c1c986b6be.d016e23eba09170f.c7fb220bfe9601f5.375b95b2fad233e5
+    c4f8ae36ed2e2c17.7d7e79af809995fe.1e07cdc6b78e925d.eefe24ee815b2b10
+    af11b3b01b2059d4.fdcb3cfa59ff6bd6.c0b335906d49fc92.495fe1cecdf55d4f
+    254a483efaab86cb
+VPMADDWD_256(mem)
+  before
+    5e8ad62b258961b3.30fd309bf0e77ba1.2cc7a70a624855c3.0b4c57d5bb547c42
+    d0ed067f6a9bac31.a3081f64080fcc29.e63f36cdb67f11f0.5a1e2d013e3a4d17
+    573d5428e3ee2171.657e7e75fe258819.07ff662e72b0598a.0975b5809188adbd
+    cf473c10af8e7ca1.d0ab483b6eb4ed1c.6bd2b119b1e8eabc.739deabf51c9d6e1
+    f6e1c8281989052f
+  after
+    5e8ad62b258961b3.30fd309bf0e77ba1.2cc7a70a624855c3.0b4c57d5bb547c42
+    d0ed067f6a9bac31.a3081f64080fcc29.e63f36cdb67f11f0.5a1e2d013e3a4d17
+    ed8de717efa56b36.f42b6074e67d6e52.e873adfbe9ca4b88.136ad3bd14b9ccf6
+    cf473c10af8e7ca1.d0ab483b6eb4ed1c.6bd2b119b1e8eabc.739deabf51c9d6e1
+    f6e1c8281989052f
+
+VMOVNTDQA_256(reg)
+  before
+    ed8e4c2986557552.14d73b25e8857bea.41da7a23f54935df.ee86957a903280b3
+    b3f1712d33b764f7.02b9cc52aae1d87b.14580e982e6e9d0e.6ce58d3e2a9ad69b
+    a654339fbc3e0cca.75b96b8312ad507e.a5710205b6b16154.c1bd164f9b2da99f
+    20038eedbe73a976.49a294a43bf69f1f.507151d8289ebc5e.c9d8aa9a01f5b5ec
+    6003c70c7501b5ad
+  after
+    ed8e4c2986557552.14d73b25e8857bea.41da7a23f54935df.ee86957a903280b3
+    b3f1712d33b764f7.02b9cc52aae1d87b.14580e982e6e9d0e.6ce58d3e2a9ad69b
+    a654339fbc3e0cca.75b96b8312ad507e.a5710205b6b16154.c1bd164f9b2da99f
+    20038eedbe73a976.49a294a43bf69f1f.507151d8289ebc5e.c9d8aa9a01f5b5ec
+    6003c70c7501b5ad
+VMOVNTDQA_256(mem)
+  before
+    6209e890155a670f.7f4c7e82d5e479a8.5a42c3a142c7808c.71a4f77c21c0ebd7
+    abb88a11fc0e853e.1d7a00ca9c1db60b.84637566422cb0ee.6456f15d3ca32a6c
+    17da277d4729cb65.58d80e32afa89d4c.a3d225df5832eb74.85d23ae716d3b4c9
+    813d3dbf12b5f7b1.8ab3a624ab136916.925b4ff99fe4ed48.3065ce874addc799
+    c15ba9a7754c9c89
+  after
+    6209e890155a670f.7f4c7e82d5e479a8.5a42c3a142c7808c.71a4f77c21c0ebd7
+    abb88a11fc0e853e.1d7a00ca9c1db60b.84637566422cb0ee.6456f15d3ca32a6c
+    17da277d4729cb65.58d80e32afa89d4c.a3d225df5832eb74.85d23ae716d3b4c9
+    6209e890155a670f.7f4c7e82d5e479a8.5a42c3a142c7808c.71a4f77c21c0ebd7
+    c15ba9a7754c9c89
+
+VMOVNTDQA_256(reg)
+  before
+    9400c7b432ad7244.c7ab47c377c0c34d.1057c40d2be95816.2fca6f9e334e7196
+    05a0251b1d8a8477.c4f1c1759556ec66.4710625accb7a4f8.55ea02bc317d348b
+    6f87bd46d3720dce.53db27c186812d28.892a7e7529088967.e089833db57cf153
+    30018da3f0ee49f4.5234f694665043be.33f113ccdf684510.ab716e0fda576619
+    946f3f1dbc1b4d0a
+  after
+    9400c7b432ad7244.c7ab47c377c0c34d.1057c40d2be95816.2fca6f9e334e7196
+    05a0251b1d8a8477.c4f1c1759556ec66.4710625accb7a4f8.55ea02bc317d348b
+    6f87bd46d3720dce.53db27c186812d28.892a7e7529088967.e089833db57cf153
+    30018da3f0ee49f4.5234f694665043be.33f113ccdf684510.ab716e0fda576619
+    946f3f1dbc1b4d0a
+VMOVNTDQA_256(mem)
+  before
+    754f725378d36352.a359919d0f8c7696.9ccaa8d851ccea54.a2b01dca8964129f
+    2cdd849d2a8c631c.24dcc3a0ccd7ce5f.0c67bb7a6503de18.30b498dac4872dbf
+    94e4f0e7ed500b95.0ed62118c45c8efc.80d9ab67bb00da34.3a4a816a2b5dd21c
+    8832321ddd2e15e8.bf93a67192a6f218.d2eaf28a71cf9cd4.1cbbd2e55b733c63
+    325689b7ef54a840
+  after
+    754f725378d36352.a359919d0f8c7696.9ccaa8d851ccea54.a2b01dca8964129f
+    2cdd849d2a8c631c.24dcc3a0ccd7ce5f.0c67bb7a6503de18.30b498dac4872dbf
+    94e4f0e7ed500b95.0ed62118c45c8efc.80d9ab67bb00da34.3a4a816a2b5dd21c
+    754f725378d36352.a359919d0f8c7696.9ccaa8d851ccea54.a2b01dca8964129f
+    325689b7ef54a840
+
+VMOVNTDQA_256(reg)
+  before
+    d866a24d838d525f.e591c62b172f3d42.915f4e17d3413560.e0670ecea37ddd25
+    6a361711b4a8756b.88ce28feb66141ce.e285157623b99480.841b7a216c155c53
+    4414e6701e344e10.4bb5d580d7cfdbb9.0d53f8fa1c9b4b23.9cd4b26ee9a4d389
+    c24a0ad75cba19fb.0c12489f9585c82f.6d13f1105d7396f6.025c32a13534fff4
+    948177a66cd39cbf
+  after
+    d866a24d838d525f.e591c62b172f3d42.915f4e17d3413560.e0670ecea37ddd25
+    6a361711b4a8756b.88ce28feb66141ce.e285157623b99480.841b7a216c155c53
+    4414e6701e344e10.4bb5d580d7cfdbb9.0d53f8fa1c9b4b23.9cd4b26ee9a4d389
+    c24a0ad75cba19fb.0c12489f9585c82f.6d13f1105d7396f6.025c32a13534fff4
+    948177a66cd39cbf
+VMOVNTDQA_256(mem)
+  before
+    2c0dfb6aab8d6618.40257fb00ac812d8.a5b1fd450d90c35b.6012fe227fcbb0a5
+    a7cd3cd70d6d1828.1af14169c5e97453.f35e71605afb8a6a.409c1a9e2031d6db
+    e18db6daaf7f6f1d.acfa4d6d29a97c16.d3e41edb99d3d787.6afd42efdc304445
+    b718e360adcf2623.528b9d28d09566d0.1f1082a2e52367df.3b8170814e55358e
+    0d73a2bf132be763
+  after
+    2c0dfb6aab8d6618.40257fb00ac812d8.a5b1fd450d90c35b.6012fe227fcbb0a5
+    a7cd3cd70d6d1828.1af14169c5e97453.f35e71605afb8a6a.409c1a9e2031d6db
+    e18db6daaf7f6f1d.acfa4d6d29a97c16.d3e41edb99d3d787.6afd42efdc304445
+    2c0dfb6aab8d6618.40257fb00ac812d8.a5b1fd450d90c35b.6012fe227fcbb0a5
+    0d73a2bf132be763
+
+VPACKSSWB_256(reg)
+  before
+    3e20d317c63e936f.033c4153216afb66.68f22f0659386e2b.b4ae18a15af7f59e
+    28d500f5031b785f.a2c34ba12a5ca811.4a79fe735d1fcfd4.6e8a5cc4155b3eef
+    28dc23c3674dd0df.707a7d35e1afe950.536d07db7bd5c676.2970cbf7325cfeff
+    9a823aee8e60d89a.492d53fb65717c51.e11a44aa4ce68fbe.c22cdf27cc06f1fa
+    1389163eff63d20b
+  after
+    7f7f7f807f7f8080.7f7f7f7f807f7f80.7f7f7f807f807f80.7f807f807f7f7f7f
+    28d500f5031b785f.a2c34ba12a5ca811.4a79fe735d1fcfd4.6e8a5cc4155b3eef
+    28dc23c3674dd0df.707a7d35e1afe950.536d07db7bd5c676.2970cbf7325cfeff
+    9a823aee8e60d89a.492d53fb65717c51.e11a44aa4ce68fbe.c22cdf27cc06f1fa
+    1389163eff63d20b
+VPACKSSWB_256(mem)
+  before
+    f954eb2ae8815e5e.da1240e213e1cc3d.09a849dfcfad1b3d.4fccb34c6fde6558
+    5059dbd5a36b5120.45da310c925be873.8cb7dccd3d708343.f9ce4f2e7d4a85ef
+    f464602d4a2e667d.352409d6a85b67e9.ae2587b1cbc5708d.3a6e15ba14b52b30
+    c141f81dfcd55ba1.073dc5aef06b864b.4bc0c67794b89d47.70f6ff5ed0ac93c6
+    f5b30b854cbaf85e
+  after
+    f954eb2ae8815e5e.da1240e213e1cc3d.09a849dfcfad1b3d.4fccb34c6fde6558
+    5059dbd5a36b5120.45da310c925be873.8cb7dccd3d708343.f9ce4f2e7d4a85ef
+    8080807f807f7f80.7f80807f7f7f8080.7f7f807f7f807f7f.80807f80807f7f80
+    c141f81dfcd55ba1.073dc5aef06b864b.4bc0c67794b89d47.70f6ff5ed0ac93c6
+    f5b30b854cbaf85e
+
+VPACKSSWB_256(reg)
+  before
+    27f1349a256b97a3.93bc1e91d26ceab7.177260ff07198044.3f52160cb556c79e
+    61fc760bf64cac42.46a04e75eb00cfeb.c10cd63588f19381.66a8f15a49aaaabe
+    fe20cd435be872e7.b5bb05b5609cc86a.615a23bc107ef9ad.9c8ed54f6cc001d3
+    5ba836aef1cb263d.bed7bd3d504c8f60.53a744003a4cef75.bdd03dd53ba58a08
+    a53aa5dad264ff89
+  after
+    80807f7f807f7f80.7f7f80807f7f8080.7f7f7f8080807f7f.808080807f807f80
+    61fc760bf64cac42.46a04e75eb00cfeb.c10cd63588f19381.66a8f15a49aaaabe
+    fe20cd435be872e7.b5bb05b5609cc86a.615a23bc107ef9ad.9c8ed54f6cc001d3
+    5ba836aef1cb263d.bed7bd3d504c8f60.53a744003a4cef75.bdd03dd53ba58a08
+    a53aa5dad264ff89
+VPACKSSWB_256(mem)
+  before
+    30978a494b091c83.d5e2acb8538204f1.3cc1f4f9d41de1f8.f33e336da3e7b085
+    39b4670ec5a19f22.c6182bce1e9848af.0b4525d60a1a795f.9d6dee6fe6dc7988
+    9e5db7155a374291.8c97af5aee992d22.072fcdbe0e4f14c1.ad7e7072a0b6862b
+    3a5ef94a26d7c2fd.81ab34c95d11f0f6.0b4a669ffbc96e49.7fbeb6e36c011319
+    6e79ba2ce64a5bff
+  after
+    30978a494b091c83.d5e2acb8538204f1.3cc1f4f9d41de1f8.f33e336da3e7b085
+    39b4670ec5a19f22.c6182bce1e9848af.0b4525d60a1a795f.9d6dee6fe6dc7988
+    7f807f7f80807f7f.7f7f8080807f7f7f.7f808080807f8080.7f7f7f7f8080807f
+    3a5ef94a26d7c2fd.81ab34c95d11f0f6.0b4a669ffbc96e49.7fbeb6e36c011319
+    6e79ba2ce64a5bff
+
+VPACKSSWB_256(reg)
+  before
+    d8fa7abbab1c9b89.e983a699468eda92.02a0b7880a8dcdd9.f5646e63ee934324
+    188ff1fa57040f62.86983ceed567477b.6cc133028e99ff75.a04760f802b94e7d
+    8a821b57858df337.ef693536f06ec5e5.195ca4a288bfc376.e7c0b84953484d81
+    8920f53dd14382b3.fec10f5bb2b010fb.66bb06d6918e5589.a89bf342fe4bf95b
+    bea48bcf1ece1139
+  after
+    807f8080807f8080.7f807f7f807f807f.7f80808080807f7f.7f7f8080807f7f7f
+    188ff1fa57040f62.86983ceed567477b.6cc133028e99ff75.a04760f802b94e7d
+    8a821b57858df337.ef693536f06ec5e5.195ca4a288bfc376.e7c0b84953484d81
+    8920f53dd14382b3.fec10f5bb2b010fb.66bb06d6918e5589.a89bf342fe4bf95b
+    bea48bcf1ece1139
+VPACKSSWB_256(mem)
+  before
+    04a6fedcd0de4f44.73b57918d8b3f983.916d464b3838e3ea.af2b5609478ff15a
+    586fc755308670ab.a38da55435679452.823954f09d12fcdd.50f88fa74650d294
+    94c9622659d33097.74f4745d85ee8ecd.aff1b738fd4b1401.a56ead1c295c35e4
+    95814c3c67cf4a37.4436e39f63d124a0.f261ea0e75eeea82.0bd9acd48d3f56f5
+    dc84883c0d867074
+  after
+    04a6fedcd0de4f44.73b57918d8b3f983.916d464b3838e3ea.af2b5609478ff15a
+    586fc755308670ab.a38da55435679452.823954f09d12fcdd.50f88fa74650d294
+    7f80807f7f7f8080.7f807f7f80807f80.807f7f80807f7f80.807f80807f807f80
+    95814c3c67cf4a37.4436e39f63d124a0.f261ea0e75eeea82.0bd9acd48d3f56f5
+    dc84883c0d867074
+
+VPAVGB_256(reg)
+  before
+    75bd3ebe45bcc10d.3863008177897cb5.6d9eec876c9e9276.2954695e2108388b
+    32cec9c8d26d836b.573bfae3a40a7f3e.4d798d7f3be014fc.2e98b0141ca3bb49
+    6f0425c45026f23b.d0d5b64d0b6012fd.3e13c1f56d24e5de.dff73c1c82ce2fe8
+    88ab4e205a724c28.7dfdb0aac796ef1f.9eb884539df542c7.163e876270925093
+    b0390fd302fdd976
+  after
+    516977c6914abb53.9488d8985835499e.4646a7ba54827ded.87c876184fb97599
+    32cec9c8d26d836b.573bfae3a40a7f3e.4d798d7f3be014fc.2e98b0141ca3bb49
+    6f0425c45026f23b.d0d5b64d0b6012fd.3e13c1f56d24e5de.dff73c1c82ce2fe8
+    88ab4e205a724c28.7dfdb0aac796ef1f.9eb884539df542c7.163e876270925093
+    b0390fd302fdd976
+VPAVGB_256(mem)
+  before
+    89b44f59521a87bf.d80e41478cdecbdf.3b7e65e8f4b8d3cf.c7b4d20768df6764
+    7e7bc4e17ff61597.bd7bf8a483f5ab0c.e6254ff2afd37a3a.1753a87c696f8f60
+    6959e958a39c412d.923c71a5da432a5a.5bbeecb414f3a08c.e8e0011e3d30f768
+    271c39a9da18c5ab.b39fa8b52e548275.7415b81a3e2200f0.97a9d9597faedb27
+    81f82c99cb76774a
+  after
+    89b44f59521a87bf.d80e41478cdecbdf.3b7e65e8f4b8d3cf.c7b4d20768df6764
+    7e7bc4e17ff61597.bd7bf8a483f5ab0c.e6254ff2afd37a3a.1753a87c696f8f60
+    84988a9d69884eab.cb459d7688eabb76.91525aedd2c6a785.6f84bd4269a77b62
+    271c39a9da18c5ab.b39fa8b52e548275.7415b81a3e2200f0.97a9d9597faedb27
+    81f82c99cb76774a
+
+VPAVGB_256(reg)
+  before
+    001af74abe13067d.948e32bf41765d3e.7cee97411ab5f00b.0ef62d114a6e5793
+    715b35d8f411c56b.8c7c5088f3c3c711.48763cb33bf1b0c6.052dc98352e260a0
+    3007e1b008fdf0c1.ebb20def0c0abd51.758391782c95fd52.3585075d758bd944
+    9969fa3c9662c22a.8dfbe7e0aa58fc29.5e6094fd8a2c145c.7acb638ccd747cab
+    b0cb59fa76a90500
+  after
+    51318bc47e87db96.bc972fbc8067c231.5f7d679634c3d78c.1d59687064b79d72
+    715b35d8f411c56b.8c7c5088f3c3c711.48763cb33bf1b0c6.052dc98352e260a0
+    3007e1b008fdf0c1.ebb20def0c0abd51.758391782c95fd52.3585075d758bd944
+    9969fa3c9662c22a.8dfbe7e0aa58fc29.5e6094fd8a2c145c.7acb638ccd747cab
+    b0cb59fa76a90500
+VPAVGB_256(mem)
+  before
+    b35166958d373270.09ce79ea3bcc7953.4e255948e6b840c6.5f5b41acf0423190
+    5f2905482d28bd26.da835c2492c84ee8.0afadf11de364453.d3be92f3fa639099
+    901fb2ff738b634f.69d29d5838e18094.9d48f628aedfc5fe.18d6853c451c6c24
+    22fee9a67a69e017.12083af1c8a44904.e3d9187a71be7ff0.88ef15f56df902dd
+    81553e890d848e6f
+  after
+    b35166958d373270.09ce79ea3bcc7953.4e255948e6b840c6.5f5b41acf0423190
+    5f2905482d28bd26.da835c2492c84ee8.0afadf11de364453.d3be92f3fa639099
+    893d366f5d30784b.72a96b8767ca649e.2c909c2de277428d.998d6ad0f5536195
+    22fee9a67a69e017.12083af1c8a44904.e3d9187a71be7ff0.88ef15f56df902dd
+    81553e890d848e6f
+
+VPAVGB_256(reg)
+  before
+    5d54fc64c14b4b87.f19426295fd0efa9.31702f5bdf9be7e3.b87ac3f143df2d58
+    7a374cf226d976d0.d9abe6743dcc4d32.22587602185593de.f8f6727b414f8d60
+    324c299fd8bb4bf7.b610a4733167b6dd.410b0d52105b8ca1.7f1ba10287195934
+    e3dd8fd8727c06a7.638fdc1356afe6d7.ead4efb7623b0cd7.29b4cd7430494d01
+    d18c70bc58ec27f3
+  after
+    56423bc97fca61e4.c85ec574379a8288.3232422a145890c0.bc898a3f6434734a
+    7a374cf226d976d0.d9abe6743dcc4d32.22587602185593de.f8f6727b414f8d60
+    324c299fd8bb4bf7.b610a4733167b6dd.410b0d52105b8ca1.7f1ba10287195934
+    e3dd8fd8727c06a7.638fdc1356afe6d7.ead4efb7623b0cd7.29b4cd7430494d01
+    d18c70bc58ec27f3
+VPAVGB_256(mem)
+  before
+    557008c61c0da136.e7377a0790a8e28d.bef40a3ec9b0984c.7900189eab80502d
+    902c107e97b878f4.9ba6e699cfcc1c55.a20aabe2a5748967.49db847186b6944e
+    5e8c05d0e6fa675c.5c76d0fbca73f0aa.eb9f39e906097454.b8b1309d8f6a13e7
+    9a5c61a924de2b98.84f233971e299939.747d3241097b1741.21ce178f63270aa4
+    e07d35b29e7ab530
+  after
+    557008c61c0da136.e7377a0790a8e28d.bef40a3ec9b0984c.7900189eab80502d
+    902c107e97b878f4.9ba6e699cfcc1c55.a20aabe2a5748967.49db847186b6944e
+    734e0ca25a638d95.c16fb050b0ba7f71.b07f5b90b792915a.616e4e88999b723e
+    9a5c61a924de2b98.84f233971e299939.747d3241097b1741.21ce178f63270aa4
+    e07d35b29e7ab530
+
+VPAVGW_256(reg)
+  before
+    500b8671dbee4f37.2267a2f36e7080d5.70680bdb667b54ad.1b7112d5cad52c58
+    cfc5063ab60f1667.d07a439cdfbd223e.7c2254323ff45db3.bb475391642370c5
+    b8f5b278cc69446a.8262c08e94d0cc00.056d0b084420f0f7.2fcb7361f3719eb5
+    66e88597b88915ec.12e996b7a8b53c47.65952bc9128c4824.55c8ec3194cc7454
+    070c3ced623faccd
+  after
+    c45d5c59c13c2d69.a96e8215ba47771f.40c82f9d420aa755.75896379abca87bd
+    cfc5063ab60f1667.d07a439cdfbd223e.7c2254323ff45db3.bb475391642370c5
+    b8f5b278cc69446a.8262c08e94d0cc00.056d0b084420f0f7.2fcb7361f3719eb5
+    66e88597b88915ec.12e996b7a8b53c47.65952bc9128c4824.55c8ec3194cc7454
+    070c3ced623faccd
+VPAVGW_256(mem)
+  before
+    2361df827ad6024d.37e97b0417fbc79a.5edc400237792b3e.f9e6b0e144c3a2e7
+    83944fdaf89e3400.8646902984499420.4006395a5e275811.1dac96bc76513aec
+    04710ae2f6a2fc11.ae49c1739c01b929.963500ad39cc7dee.2d32d9c745c34cde
+    83c48b8792ef17ac.0d40094ffaae7162.3a330ee6e37357fe.85c5766c4da41369
+    81b268182981cc3a
+  after
+    2361df827ad6024d.37e97b0417fbc79a.5edc400237792b3e.f9e6b0e144c3a2e7
+    83944fdaf89e3400.8646902984499420.4006395a5e275811.1dac96bc76513aec
+    537b97aeb9ba1b27.5f1885974e22addd.4f713cae4ad041a8.8bc9a3cf5d8a6eea
+    83c48b8792ef17ac.0d40094ffaae7162.3a330ee6e37357fe.85c5766c4da41369
+    81b268182981cc3a
+
+VPAVGW_256(reg)
+  before
+    7d43ab3875e5b2fd.da594eb4e88f40ff.fd7563273bddfa77.0acee0f27828a270
+    d5c53b37ce5c035d.e6fccf5413913533.dc35ce69fa198e13.e0d0f3bb15f71a6e
+    e5831580cf72f907.84788b5530feb077.04cc437fd4ee69e2.9906c22ed6ed7a25
+    09cb338115b4d1a7.8e9afda25ae46ef5.d285c0d764e9c992.123cc937d6157fc0
+    253d85c3317ce46c
+  after
+    dda4285ccee77e32.b5baad55224872d5.708188f4e7847bfb.bcebdaf576724a4a
+    d5c53b37ce5c035d.e6fccf5413913533.dc35ce69fa198e13.e0d0f3bb15f71a6e
+    e5831580cf72f907.84788b5530feb077.04cc437fd4ee69e2.9906c22ed6ed7a25
+    09cb338115b4d1a7.8e9afda25ae46ef5.d285c0d764e9c992.123cc937d6157fc0
+    253d85c3317ce46c
+VPAVGW_256(mem)
+  before
+    afd770bd042d6754.9ce793a53cadc6e8.e12ea127ae4e2ada.a3ae40dc4795e8cd
+    8cd408106a34c2a5.fc243158deea1577.5900f3d04749a151.d191bffa187e033f
+    9801c8aa809db18b.84cf07069af5faff.d3dc708a41e08f87.b97b399d73315595
+    af2a2d766175f231.9032131c095db12d.298e923fb91fb0a7.b8b8aa31f5391c7b
+    28940f233a22929c
+  after
+    afd770bd042d6754.9ce793a53cadc6e8.e12ea127ae4e2ada.a3ae40dc4795e8cd
+    8cd408106a34c2a5.fc243158deea1577.5900f3d04749a151.d191bffa187e033f
+    9e563c67373194fd.cc86627f8dcc6e30.9d17ca7c7acc6616.baa0806b300a7606
+    af2a2d766175f231.9032131c095db12d.298e923fb91fb0a7.b8b8aa31f5391c7b
+    28940f233a22929c
+
+VPAVGW_256(reg)
+  before
+    665b63dddc79f4a5.ad1bb1602ac83fc4.7c994f04c9ab76ad.38e1d7dccb12bfde
+    ce58a2cc7ac97d41.6fa0d254f6a0556f.a352ba2b766d842a.dca2ba4e92c67958
+    bcd9c95dae9e6a1d.cf840b3ee10bf05f.63a74dfeab2e1751.f19db8802a479a40
+    8d28d2fb1485f7e5.aa95d80a0814cbc0.16e605e7057b6dcd.539e4b5db09fddc3
+    de71f1d33fdc000c
+  after
+    c599b61594b473af.9f926ec9ebd6a2e7.837d841590ce4dbe.e720b9675e8789cc
+    ce58a2cc7ac97d41.6fa0d254f6a0556f.a352ba2b766d842a.dca2ba4e92c67958
+    bcd9c95dae9e6a1d.cf840b3ee10bf05f.63a74dfeab2e1751.f19db8802a479a40
+    8d28d2fb1485f7e5.aa95d80a0814cbc0.16e605e7057b6dcd.539e4b5db09fddc3
+    de71f1d33fdc000c
+VPAVGW_256(mem)
+  before
+    6ee225cdf409bd48.9b92bb1149096044.db9db5a587c8a3bd.1a59df541fdfc04b
+    dfbc6337ea33d0a3.43637f0de8b7e0e7.40691ff979323483.ca4dd6b095e64d76
+    0dcd28fd3e65f748.e1e71a5a8e19b479.b4c591f4fb5e393d.810ee667041d50fb
+    d3dfee0b0babec63.d1698964d6bd18a7.137d878027597018.9de70be5080e0486
+    782642963c48a7c2
+  after
+    6ee225cdf409bd48.9b92bb1149096044.db9db5a587c8a3bd.1a59df541fdfc04b
+    dfbc6337ea33d0a3.43637f0de8b7e0e7.40691ff979323483.ca4dd6b095e64d76
+    a74f4482ef1ec6f6.6f7b9d0f98e0a096.8e036acf807d6c20.7253db025ae386e1
+    d3dfee0b0babec63.d1698964d6bd18a7.137d878027597018.9de70be5080e0486
+    782642963c48a7c2
+
+VPADDSB_256(reg)
+  before
+    701586e63c54725c.0fbf334d6e126c22.6f37c6975d2f481d.395d7d8b1c2e9340
+    df02d341a5c0a400.9c3972b082a532af.169bcf60befa7f86.0230f000f4e95ee0
+    2237251412187759.5619271e6370fb36.24e2a02995aafa8f.4ac35acbcb978f24
+    960179c920e62813.192acf852e8083e4.f458335f80cbf4e3.ece239d8be43e03a
+    c6590813e8f90e4c
+  after
+    0139f855b7d81b59.f2527fcee5152de5.3a80807f80a47980.4cf34acbbf80ed04
+    df02d341a5c0a400.9c3972b082a532af.169bcf60befa7f86.0230f000f4e95ee0
+    2237251412187759.5619271e6370fb36.24e2a02995aafa8f.4ac35acbcb978f24
+    960179c920e62813.192acf852e8083e4.f458335f80cbf4e3.ece239d8be43e03a
+    c6590813e8f90e4c
+VPADDSB_256(mem)
+  before
+    b3f4446866c6d486.95abc9ce6bb8f3dc.c03ae5cfffe086e5.e249856f18eaab2f
+    8e7f67c353b5ef15.7c83138d8d1a145d.2913e5eaf19cbf64.4a0193c3fb92591f
+    35c6ef11ccd21b25.a7d352742596c645.2e824bc120c1eb8e.88cb58c9c5503b5e
+    8294573cec2a14e1.73e983eeccba463e.ad539340a95ac68f.f7f5d0ec11af8c98
+    f5c9f8987b3b897b
+  after
+    b3f4446866c6d486.95abc9ce6bb8f3dc.c03ae5cfffe086e5.e249856f18eaab2f
+    8e7f67c353b5ef15.7c83138d8d1a145d.2913e5eaf19cbf64.4a0193c3fb92591f
+    80737f2b7f80c39b.1180dc80f8d20739.e94dcab9f0808049.2c4a80321380044e
+    8294573cec2a14e1.73e983eeccba463e.ad539340a95ac68f.f7f5d0ec11af8c98
+    f5c9f8987b3b897b
+
+VPADDSB_256(reg)
+  before
+    dd94cb39a0806eb1.53b61b32d0c89576.3a0fa0672012cff5.81523a53a8740c92
+    0aa2443b1b0b77e6.83f8b8dd93b95c10.5992a74bbd289f15.854abbe6381978c4
+    da3f620a8967e0c7.ed26a82b520722da.2cbe93063e8af04b.970992e57557c750
+    a7b61e128521e400.6e0c690728c1a600.0fde600440c4fe42.91593b3d7c3ab563
+    510733d868cdfd28
+  after
+    e4e17f45a47257ad.801e8008e5c07eea.7f808051fbb28f60.805380cb7f703f14
+    0aa2443b1b0b77e6.83f8b8dd93b95c10.5992a74bbd289f15.854abbe6381978c4
+    da3f620a8967e0c7.ed26a82b520722da.2cbe93063e8af04b.970992e57557c750
+    a7b61e128521e400.6e0c690728c1a600.0fde600440c4fe42.91593b3d7c3ab563
+    510733d868cdfd28
+VPADDSB_256(mem)
+  before
+    b1dff4a3561c5ccc.cf5575bfacc4c03c.e375765d31f0a2b0.5e400ab15e6107a7
+    8eadfc8b61338e7b.ad66647e99dcaf28.262f4c198aa2d314.752e8e7a34ed4526
+    c53dc67ba61f4f60.9c36e6b9e9f6ee70.150465274fe2f558.b0f5e7c95ff4f56a
+    305bcf5f40eb5aa8.f911f7de379db9bf.8ac13f739bbcc4a9.6be1110c7b035320
+    023e08ad22a59af3
+  after
+    b1dff4a3561c5ccc.cf5575bfacc4c03c.e375765d31f0a2b0.5e400ab15e6107a7
+    8eadfc8b61338e7b.ad66647e99dcaf28.262f4c198aa2d314.752e8e7a34ed4526
+    808cf0807f4fea47.807f7f3d80a08064.097f7f76bb9280c4.7f6e982b7f4e4ccd
+    305bcf5f40eb5aa8.f911f7de379db9bf.8ac13f739bbcc4a9.6be1110c7b035320
+    023e08ad22a59af3
+
+VPADDSB_256(reg)
+  before
+    d158c91af3670790.acd291224ca46c7f.21439458205d4cc1.623255ea8a3dfb33
+    347b4fbe88d3d6a2.166f8ab2e5554110.6e17b7933fc3e324.7a23237639705721
+    87f296057d7742d7.48fe35fa270a9587.3edb5efa315ab992.ac602605c36293a0
+    260a9a5b6fdf89d8.1f4b0ee72fcf2311.ebd984fb91ae0bb7.d5b4d881451e6ddb
+    d1edb7d8dab09fff
+  after
+    bb6de5c3054a1880.5e6dbfac0c5fd697.7ff2158d701d9cb6.267f497bfc7feac1
+    347b4fbe88d3d6a2.166f8ab2e5554110.6e17b7933fc3e324.7a23237639705721
+    87f296057d7742d7.48fe35fa270a9587.3edb5efa315ab992.ac602605c36293a0
+    260a9a5b6fdf89d8.1f4b0ee72fcf2311.ebd984fb91ae0bb7.d5b4d881451e6ddb
+    d1edb7d8dab09fff
+VPADDSB_256(mem)
+  before
+    7cd53ef59f25e538.6c0f572cf996e554.7722926319b1a8da.d25e2602fb4c1440
+    b239eac4af87fdb1.b74dcae4b82892f5.2c4f3c5b00bbdf0e.4fb63e790cbf12d9
+    50e5353127e5a197.6210eef04722ce67.1a9d87bc00fa86d8.bf2dcacd60933f2d
+    30a49d2822488e15.c8a4bfba430ed357.1dd9f27036795764.7c0fc56a9155d7e9
+    e3a82bbd3e9018b8
+  after
+    7cd53ef59f25e538.6c0f572cf996e554.7722926319b1a8da.d25e2602fb4c1440
+    b239eac4af87fdb1.b74dcae4b82892f5.2c4f3c5b00bbdf0e.4fb63e790cbf12d9
+    2e0e28b980ace2e9.235c2110b1be8049.7f71ce7f198087e8.2114647b070b2619
+    30a49d2822488e15.c8a4bfba430ed357.1dd9f27036795764.7c0fc56a9155d7e9
+    e3a82bbd3e9018b8
+
+VPADDSW_256(reg)
+  before
+    5043f83001d03c47.2f449d95bdbe8058.475439b0477bde71.11cff665be440ee0
+    1f2d293176a28042.298fb1641352328c.3a6e583ceff22a60.d24b1085b2686975
+    acb2b92b3a912054.fa535581401161dc.fc3c19ccd801f5d1.3c19bdbe31f02252
+    531ea48ae829572a.7d5a06d96106c975.eb0b77cb9e337970.2b0578fb55e8f6a1
+    7bdabd283a5da18e
+  after
+    cbdfe25c7fffa096.23e206e553637fff.36aa7208c7f32031.0e64ce43e4587fff
+    1f2d293176a28042.298fb1641352328c.3a6e583ceff22a60.d24b1085b2686975
+    acb2b92b3a912054.fa535581401161dc.fc3c19ccd801f5d1.3c19bdbe31f02252
+    531ea48ae829572a.7d5a06d96106c975.eb0b77cb9e337970.2b0578fb55e8f6a1
+    7bdabd283a5da18e
+VPADDSW_256(mem)
+  before
+    08660931fd5ade46.70bde6ba1df7626f.90713f56923d2582.61276ea5dc15f2e8
+    ae73d702b9eb6af5.5fdb7b2774867dd0.0e637ce6eec33330.bcdbfbc62e329ee5
+    49cea2888a1d01c6.7cc3603d8a63e3f9.d3fe397491a3adab.5675189a3116b715
+    b543e9ad8dfb5fe6.23c29068fa19d295.bb0df2eb98e94f1e.8d3fc38d814e7a22
+    bb86f70bb96522b8
+  after
+    08660931fd5ade46.70bde6ba1df7626f.90713f56923d2582.61276ea5dc15f2e8
+    ae73d702b9eb6af5.5fdb7b2774867dd0.0e637ce6eec33330.bcdbfbc62e329ee5
+    b6d9e033b745493b.7fff61e17fff7fff.9ed47fff810058b2.1e026a6b0a4791cd
+    b543e9ad8dfb5fe6.23c29068fa19d295.bb0df2eb98e94f1e.8d3fc38d814e7a22
+    bb86f70bb96522b8
+
+VPADDSW_256(reg)
+  before
+    3e96b08175e7ed84.cd9e255ede913f81.b025071460348351.a25b24391ea2d7b6
+    70bbeb5952611532.6faad38898ec5ec2.7f36c1ae594035d8.63b54a4940d9ff9e
+    ae41a201eb5ed66d.76357016d81777d6.ec41bba081ca22d7.dce7e007199a8403
+    5574d3e3dd6a6ee2.bd0977f3b91e48e8.5394f058735d88fa.e8bd6360c6f22110
+    62034d3e63ec93f3
+  after
+    1efc8d5a3dbfeb9f.7fff439e80007fff.6b778000db0a58af.409c2a505a7383a1
+    70bbeb5952611532.6faad38898ec5ec2.7f36c1ae594035d8.63b54a4940d9ff9e
+    ae41a201eb5ed66d.76357016d81777d6.ec41bba081ca22d7.dce7e007199a8403
+    5574d3e3dd6a6ee2.bd0977f3b91e48e8.5394f058735d88fa.e8bd6360c6f22110
+    62034d3e63ec93f3
+VPADDSW_256(mem)
+  before
+    28841c8e0a9596d5.bf9f796dc312173c.22f3640d570e8b25.0f7a5c40cc86a0ec
+    150d4b3dd9f7e6e5.490f910a3ae10e28.80bfb44fcff2fdb9.7e3efbc626d0a959
+    046b5635ec203e4c.4f111526dd638e52.b239e1a53dd659cf.fb2dca5520c7ddef
+    d368ba645e1c5c39.2def032d4825d565.962c69fbbbc75d93.e193c35954f77958
+    8ebce43e5eedb940
+  after
+    28841c8e0a9596d5.bf9f796dc312173c.22f3640d570e8b25.0f7a5c40cc86a0ec
+    150d4b3dd9f7e6e5.490f910a3ae10e28.80bfb44fcff2fdb9.7e3efbc626d0a959
+    3d9167cbe48c8000.08ae0a77fdf32564.a3b2185c270088de.7fff5806f3568000
+    d368ba645e1c5c39.2def032d4825d565.962c69fbbbc75d93.e193c35954f77958
+    8ebce43e5eedb940
+
+VPADDSW_256(reg)
+  before
+    5df42870db34d854.5cd1f1b54cf6f9d6.3ff5568b18b21d0e.0666c73d68d0c333
+    a9868b5b66591340.7d717914d1bad450.e1710aace996a3f8.e0b177585efe47d9
+    d0c00a6c9ce7a6af.1016cd6d0974a7d2.70ae1cfc565ea2d0.fedaf636b95ba7b1
+    2ceca00d186acd4e.f28a6aac11312f89.46f786e8fc955742.3eadbfc596f59de8
+    7af64eef10d8e6aa
+  after
+    800095c70340b9ef.7fff4681db2e8000.521f27a83ff48000.df8b6d8e1859ef8a
+    a9868b5b66591340.7d717914d1bad450.e1710aace996a3f8.e0b177585efe47d9
+    d0c00a6c9ce7a6af.1016cd6d0974a7d2.70ae1cfc565ea2d0.fedaf636b95ba7b1
+    2ceca00d186acd4e.f28a6aac11312f89.46f786e8fc955742.3eadbfc596f59de8
+    7af64eef10d8e6aa
+VPADDSW_256(mem)
+  before
+    8f811fa2440f3d22.1b5749ac776fc3c9.009bcabd05fc28a0.c09946da76c8fef9
+    5a1aaec94da6607d.f74d01b35481c5cb.14136b8c00e24e44.3ae057406081d3a2
+    b58c784f47a909e6.1e1ac4904c2c0f00.0bbfc8051eed5ca1.0f18b584574e11e8
+    7da4f8224f25f58a.ea0a8faefafddc16.c26b5d157c2c0fe2.9d8d5d14f6bbf578
+    3f8a4a5bda53bbfe
+  after
+    8f811fa2440f3d22.1b5749ac776fc3c9.009bcabd05fc28a0.c09946da76c8fef9
+    5a1aaec94da6607d.f74d01b35481c5cb.14136b8c00e24e44.3ae057406081d3a2
+    e99bce6b7fff7fff.12a44b5f7fff8994.14ae364906de76e4.fb797fff7fffd29b
+    7da4f8224f25f58a.ea0a8faefafddc16.c26b5d157c2c0fe2.9d8d5d14f6bbf578
+    3f8a4a5bda53bbfe
+
+VPHADDW_256(reg)
+  before
+    515d78c59ea29f25.8e2eaa2d8125df95.b8685d79fa7f69b7.13e2a7a635a82234
+    2f50e3bedf34dc9a.c5f60a5df8b68432.e5822a5de93ef28f.dbf220a6666f53c2
+    35b087b23896af08.fcc8949cd1e3a08e.cba2f2c663c7b34b.f66546ff2a8c5cba
+    bec9610d4653541c.1070c5d727b8efd4.c715b22003a5e797.4008949f9e0cf945
+    95a78671ddfae891
+  after
+    bd62e79e91647271.130ebbced0537ce8.be6817123d648746.0fdfdbcdfc98ba31
+    2f50e3bedf34dc9a.c5f60a5df8b68432.e5822a5de93ef28f.dbf220a6666f53c2
+    35b087b23896af08.fcc8949cd1e3a08e.cba2f2c663c7b34b.f66546ff2a8c5cba
+    bec9610d4653541c.1070c5d727b8efd4.c715b22003a5e797.4008949f9e0cf945
+    95a78671ddfae891
+VPHADDW_256(mem)
+  before
+    d20e99610462e3ca.28e76c3ca4f80682.ddb918fb16422c31.362764d76564cb1e
+    d109485b2e50a71c.ce55a4a9ef1002e5.3f7009f2bb8c14d1.7223065826919b8d
+    6f640f4b78d1f0b2.0b6105c2c22784f1.126114aa31a263df.d857930de2b7938f
+    88ea6a1efdf179b8.3d558cf1bacac854.3258b60d9590d488.c40d08643462eed1
+    92935fc7b81fe9ff
+  after
+    d20e99610462e3ca.28e76c3ca4f80682.ddb918fb16422c31.362764d76564cb1e
+    d109485b2e50a71c.ce55a4a9ef1002e5.3f7009f2bb8c14d1.7223065826919b8d
+    6b6fe82c9523ab7a.1964d56c72fef1f5.f6b442739afe3082.4962d05d787bc21e
+    88ea6a1efdf179b8.3d558cf1bacac854.3258b60d9590d488.c40d08643462eed1
+    92935fc7b81fe9ff
+
+VPHADDW_256(reg)
+  before
+    9e3396a40b79bfc4.f868d5bed9baff5b.bf7e33a4728309b8.7b216a09026325f7
+    443aa866c8fcaecd.9aaacd18293a3ec7.ec28f84686e184c9.c988ac8995271059
+    e0f392798c35f0c5.4c7ccd19097df127.229fd643936d7434.f858f87969e651da
+    ceac4e49f2afc259.e9aa51ac948dd6a8.bb2fca0735b517a5.e45fcac59baea6a5
+    69679f59468bc9e7
+  after
+    736c7cfa1995faa4.eca077c967c26801.f8e207a1f0d1bbc0.e46e0baa7611a580
+    443aa866c8fcaecd.9aaacd18293a3ec7.ec28f84686e184c9.c988ac8995271059
+    e0f392798c35f0c5.4c7ccd19097df127.229fd643936d7434.f858f87969e651da
+    ceac4e49f2afc259.e9aa51ac948dd6a8.bb2fca0735b517a5.e45fcac59baea6a5
+    69679f59468bc9e7
+VPHADDW_256(mem)
+  before
+    623df222878777cb.6aafda4297f75f35.4d00d5bce678a776.1524cefe0745a7c7
+    adad3f0a79b06b7e.104a31d016970404.5449d5371c4920bc.8ac9e094a5a76147
+    258302fe3912622c.1cc74f600b1eed73.da52ce08520dffa7.786bfb35ac6981d1
+    a68ab8ebe2b71800.ea73305c1315562d.bae83b1ba2cffe62.39561b4db7164210
+    2ad63d49633be1b0
+  after
+    623df222878777cb.6aafda4297f75f35.4d00d5bce678a776.1524cefe0745a7c7
+    adad3f0a79b06b7e.104a31d016970404.5449d5371c4920bc.8ac9e094a5a76147
+    545fff5244f1f72c.ecb7e52e421a1a9b.22bc8deee422af0c.29803d056b5d06ee
+    a68ab8ebe2b71800.ea73305c1315562d.bae83b1ba2cffe62.39561b4db7164210
+    2ad63d49633be1b0
+
+VPHADDW_256(reg)
+  before
+    a8375b934b639a5f.0b90dbbc90ad4927.d69ad131ca0a7adf.d2d5985c2b9cda1a
+    0dc573990c1aa8c6.325fe95c6000b0cc.3b872c4ccb889635.fde561b7067e4efb
+    b6cb80c641ed4894.f6c45eb96eba0a1c.77883f18b21ce6da.16e6131952831730
+    ff967f868767b673.328bb4bed5ea1342.e5e706001c50a67a.fba3296c28b7f1e5
+    87e71f9da7249848
+  after
+    37918a81557d78d6.815eb4e01bbb10cc.b6a098f629ff69b3.67d361bd5f9c5579
+    0dc573990c1aa8c6.325fe95c6000b0cc.3b872c4ccb889635.fde561b7067e4efb
+    b6cb80c641ed4894.f6c45eb96eba0a1c.77883f18b21ce6da.16e6131952831730
+    ff967f868767b673.328bb4bed5ea1342.e5e706001c50a67a.fba3296c28b7f1e5
+    87e71f9da7249848
+VPHADDW_256(mem)
+  before
+    957f7199e8d9c783.44726a4479142e0f.c4806957b199876b.e1f17b72a5b311c3
+    03379b4b09df3cc2.e2ab3f6eb481eb16.866ff7701fd521c3.c6f39cd9e8ce645f
+    abdb1a9e2644b032.338df970d3392a31.5623ddf53aa99e75.f23664a1812fdbfa
+    6b3769805a13e2ff.946494b472c9270f.0e6994d31f21baae.c009cf370d61b141
+    8bb7d90527f123e0
+  after
+    957f7199e8d9c783.44726a4479142e0f.c4806957b199876b.e1f17b72a5b311c3
+    03379b4b09df3cc2.e2ab3f6eb481eb16.866ff7701fd521c3.c6f39cd9e8ce645f
+    0718b05caeb6a723.9e8246a122199f97.2dd739045d63b776.7ddf419863cc4d2d
+    6b3769805a13e2ff.946494b472c9270f.0e6994d31f21baae.c009cf370d61b141
+    8bb7d90527f123e0
+
+VPHADDD_256(reg)
+  before
+    b18b7f786c6a6d82.1d1704dcc1588c54.617b0da72fbb1d5a.8c0d99f4ea4a309a
+    8cd2bbfd7758cbd4.9e46679e78206b5e.f6205eb5a39e4abe.aadc6946b52fbd64
+    7ad98bfee5487882.cb910fb29b763b49.af9d854b6cfbe8e9.459f7fb39fdd1d38
+    d5eaebe951c5b137.7ec477054567b840.e83f7dd325603384.3a255729c15e0c44
+    63396d9339c145b2
+  after
+    6022048067074afb.042b87d11666d2fc.1c996e34e57c9ceb.99bea973600c26aa
+    8cd2bbfd7758cbd4.9e46679e78206b5e.f6205eb5a39e4abe.aadc6946b52fbd64
+    7ad98bfee5487882.cb910fb29b763b49.af9d854b6cfbe8e9.459f7fb39fdd1d38
+    d5eaebe951c5b137.7ec477054567b840.e83f7dd325603384.3a255729c15e0c44
+    63396d9339c145b2
+VPHADDD_256(mem)
+  before
+    9da63edd230f85ae.fa51d528585bb29f.94ab1b8192fe9d6f.fd5243bb6b58693e
+    c53945f29a568865.465c47299597b668.ea1277139f47a703.4a22d16eda6fc4c1
+    b5befec1bba10a03.13553b57a404fa3b.5ac507a8874e9128.2bfa25580d3280b9
+    4a01e533a1fdc6b3.bf8aaf1e222ebac7.c18f482a6720190a.fb283ae5a02cdbd4
+    18f60c8130ea0fbb
+  after
+    9da63edd230f85ae.fa51d528585bb29f.94ab1b8192fe9d6f.fd5243bb6b58693e
+    c53945f29a568865.465c47299597b668.ea1277139f47a703.4a22d16eda6fc4c1
+    c0b5c48b52ad87c7.5f8fce57dbf3fd91.27a9b8f068aaacf9.895a1e162492962f
+    4a01e533a1fdc6b3.bf8aaf1e222ebac7.c18f482a6720190a.fb283ae5a02cdbd4
+    18f60c8130ea0fbb
+
+VPHADDD_256(reg)
+  before
+    ddb1979858f7591d.60ce7735687579a2.a4459feaaba232b6.fb3eb5875bc8f9d4
+    a6a5d896b5dff5a4.d3f12eb32d15defb.1fd30527daeb9db5.e49ccaaa7d53edb2
+    ce1ecae7e22e1efc.7f35889a0ce9b3eb.8c80df424b95386f.5976037febccb3d2
+    b36769f87b7111d2.416700d420feb29e.489828a59b2d3f91.3498ddf2c13f055d
+    52cdd2ef1ab9a082
+  after
+    b04ce9e38c1f3c85.5c85ce3a01070dae.d81617b14542b751.fabea2dc61f0b85c
+    a6a5d896b5dff5a4.d3f12eb32d15defb.1fd30527daeb9db5.e49ccaaa7d53edb2
+    ce1ecae7e22e1efc.7f35889a0ce9b3eb.8c80df424b95386f.5976037febccb3d2
+    b36769f87b7111d2.416700d420feb29e.489828a59b2d3f91.3498ddf2c13f055d
+    52cdd2ef1ab9a082
+VPHADDD_256(mem)
+  before
+    8fe360621345406b.b0ceb1331e330ad2.f354134f8560973f.ad66dcbd663eedc6
+    c7a40337c7efa044.209d9f06640145a7.72c63bf6581920fb.1838f7f7475480bb
+    d6de355b53c37d3b.61212ddceb66fdfe.9a89f6b4b43707fd.e55876bedafc311c
+    985b74b8d2ce9379.cea659204fee6f83.466bbf77b6c50972.7013547dbcc13f94
+    15b58da2882fe4d0
+  after
+    8fe360621345406b.b0ceb1331e330ad2.f354134f8560973f.ad66dcbd663eedc6
+    c7a40337c7efa044.209d9f06640145a7.72c63bf6581920fb.1838f7f7475480bb
+    a328a0cdcf01bc05.8f93a37b849ee4ad.78b4aa8e13a5ca83.cadf5cf15f8d78b2
+    985b74b8d2ce9379.cea659204fee6f83.466bbf77b6c50972.7013547dbcc13f94
+    15b58da2882fe4d0
+
+VPHADDD_256(reg)
+  before
+    308a1d98dbd35d7b.e8e83a3b601c9d2d.c2781e402b26d7e1.5437122a79d0e286
+    1ddd01cb5038e642.a45005d11ab75981.9be379a71b9970c4.9fb86cb91a634d64
+    38fc33a784ebbbd1.a76151651bad81a1.b33264c1bcd377da.03bb4710b48a0739
+    dd31b199127617d3.cde698e3800ad1ba.67b3ddfbaa6128cd.5c0c211c6452cc30
+    867775c745c65876
+  after
+    bde7ef78c30ed306.6e15e80dbf075f52.7005dc9bb8454e49.b77cea6bba1bba1d
+    1ddd01cb5038e642.a45005d11ab75981.9be379a71b9970c4.9fb86cb91a634d64
+    38fc33a784ebbbd1.a76151651bad81a1.b33264c1bcd377da.03bb4710b48a0739
+    dd31b199127617d3.cde698e3800ad1ba.67b3ddfbaa6128cd.5c0c211c6452cc30
+    867775c745c65876
+VPHADDD_256(mem)
+  before
+    5cc8c0ff73f26636.68c9760b966737f5.f2aa583765d807f8.14b0dfbf7fcebf49
+    bcca7cae0ce3b39e.35107f6aad4a57e2.f17a0c4de525dd86.1476667adaa677fb
+    814b27c229a4fad7.9f52c623f3aab247.a82230111cfd1091.c5516f9955758d8f
+    87153c25e841f910.04db49a0031385cf.f26e406f276a5b45.818df5868cc83db0
+    a575f3af1c2bc20b
+  after
+    5cc8c0ff73f26636.68c9760b966737f5.f2aa583765d807f8.14b0dfbf7fcebf49
+    bcca7cae0ce3b39e.35107f6aad4a57e2.f17a0c4de525dd86.1476667adaa677fb
+    d0bb2735ff30ae00.c9ae304ce25ad74c.5882602f947f9f08.d69fe9d3ef1cde75
+    87153c25e841f910.04db49a0031385cf.f26e406f276a5b45.818df5868cc83db0
+    a575f3af1c2bc20b
+
+VPHADDSW_256(reg)
+  before
+    8d57687fa028594b.a9f537c565c76a72.bff6034f79110c28.aa2ab953217a7bcd
+    967d4d61b44e3e1d.c5b7948dba410a2c.2cf1f09bf23182fb.ae2116aa27392c56
+    1a349fc3f626ad2d.b527d06906bc9468.a6160df00aff25f7.d921d35e54b22a0b
+    76c85b10ff3ee126.571166456342c653.8bb254ba5c052fc6.06f46c5dc4f13019
+    13675d919502fcab
+  after
+    b9f7a35385909b24.e3def26b8000c46d.b40630f6ac7f7ebd.1d8c8000c4cb538f
+    967d4d61b44e3e1d.c5b7948dba410a2c.2cf1f09bf23182fb.ae2116aa27392c56
+    1a349fc3f626ad2d.b527d06906bc9468.a6160df00aff25f7.d921d35e54b22a0b
+    76c85b10ff3ee126.571166456342c653.8bb254ba5c052fc6.06f46c5dc4f13019
+    13675d919502fcab
+VPHADDSW_256(mem)
+  before
+    da4623e8e0f247ee.06857cb46d2117b5.8540d20eede15a18.3611c36584d1dc14
+    395c394dc3ccd00e.26b7fe1cdc5b8b85.1d8190aec1a50ce4.027e555d1fee6a8e
+    0a771bac5a9c5136.32a9deb2e7797943.f9a11d12fa999ae2.4d47070ec8e913e0
+    2a6145f1c06f8793.86a816e32a061c9b.f76af327b5c9be3f.71b6d3e41c4d14b5
+    cc19b74cb6a6a8ba
+  after
+    da4623e8e0f247ee.06857cb46d2117b5.8540d20eede15a18.3611c36584d1dc14
+    395c394dc3ccd00e.26b7fe1cdc5b8b85.1d8190aec1a50ce4.027e555d1fee6a8e
+    fe2e28e07fff7fff.72a993da24d38000.800047f9f9768000.ae2fce8957db7fff
+    2a6145f1c06f8793.86a816e32a061c9b.f76af327b5c9be3f.71b6d3e41c4d14b5
+    cc19b74cb6a6a8ba
+
+VPHADDSW_256(reg)
+  before
+    b8baaeb033810d9b.76e8340811502e51.7e01a41c428eb138.f1a890d70d413527
+    93e6b47e2e697d03.c8d663dd6a4c029b.76fe83c7cb9e73c7.c4296f101f0ebac5
+    b7e9c62144ea349e.fdf84e5ce66ebe9d.caecb05260c1a0f3.4db80dbd063b0b46
+    820ede051090701a.f21a7172a2c21f85.d61625289d847269.6620e4cadfd5e2d6
+    ec2e7223c5e7fca0
+  after
+    800079884c54a50b.80007fff2cb36ce7.800001b45b751181.fac53f653339d9d3
+    93e6b47e2e697d03.c8d663dd6a4c029b.76fe83c7cb9e73c7.c4296f101f0ebac5
+    b7e9c62144ea349e.fdf84e5ce66ebe9d.caecb05260c1a0f3.4db80dbd063b0b46
+    820ede051090701a.f21a7172a2c21f85.d61625289d847269.6620e4cadfd5e2d6
+    ec2e7223c5e7fca0
+VPHADDSW_256(mem)
+  before
+    bbae32b4d47d14d0.4ea3fa952ee86b20.81074809ba54e07c.f6cae0b51f7226d5
+    b06ca16929a3e794.78f2153f3b7e625f.878d500f4831bfb1.8652dc658117f7e2
+    a534392ee0663115.5d482b6fd3dc9081.e076046f6b64764e.e1fc15a460ff223d
+    77d278ef14d1ae82.57f1398f91903333.688fe0143cfac180.651287de57b7e391
+    6de12f7f03ca768b
+  after
+    bbae32b4d47d14d0.4ea3fa952ee86b20.81074809ba54e07c.f6cae0b51f7226d5
+    b06ca16929a3e794.78f2153f3b7e625f.878d500f4831bfb1.8652dc658117f7e2
+    ee62e94d49387fff.800011377fff7fff.c9109ad0d77f4647.d79c07e280008000
+    77d278ef14d1ae82.57f1398f91903333.688fe0143cfac180.651287de57b7e391
+    6de12f7f03ca768b
+
+VPHADDSW_256(reg)
+  before
+    55b408f3ffc516d7.0211d999e1f11905.c3393a0c11268520.fca460ecdafe5e72
+    78d90ea7e8330120.22bed81664d12fca.fd6c2a52f028c3f5.768101e25e7c0751
+    349b3d0559a07012.b3a6f154b97dacff.61d505ceca25285d.b3f23de2e6817948
+    e445927bef98a25b.9193a13efa024bcd.4cc2c7ea39a6f105.8fc392d88e187084
+    e6bf7bb1714da731
+  after
+    71a07fffa4fa8000.7fffe953fad47fff.67a3f282f1d45fc9.27beb41d786365cd
+    78d90ea7e8330120.22bed81664d12fca.fd6c2a52f028c3f5.768101e25e7c0751
+    349b3d0559a07012.b3a6f154b97dacff.61d505ceca25285d.b3f23de2e6817948
+    e445927bef98a25b.9193a13efa024bcd.4cc2c7ea39a6f105.8fc392d88e187084
+    e6bf7bb1714da731
+VPHADDSW_256(mem)
+  before
+    94b37557ac2ddb7a.e324077445a8d1a5.985162bf466bca63.187d6d14dc395a99
+    756bfab85ac2c88b.8f849a5bf75c3a9c.a4aeb2c5b7c4e3eb.2253f2b74d699fc4
+    64b388be971b2992.42b1479ea23e19ed.91750d3b691a5291.c690523f28c2fb33
+    3f579a578041bcb9.5af708a8e2dca944.3b71ed0d7978d583.608089180ad1ab91
+    4c6e93ae8e21eb8b
+  after
+    94b37557ac2ddb7a.e324077445a8d1a5.985162bf466bca63.187d6d14dc395a99
+    756bfab85ac2c88b.8f849a5bf75c3a9c.a4aeb2c5b7c4e3eb.2253f2b74d699fc4
+    0a0a87a7ea98174d.7023234d800031f8.fb1010ce7fff36d2.80009baf150aed2d
+    3f579a578041bcb9.5af708a8e2dca944.3b71ed0d7978d583.608089180ad1ab91
+    4c6e93ae8e21eb8b
+
+VPMADDUBSW_256(reg)
+  before
+    e6a86d6d503ef7cd.e123ad6d31423b2c.31a1dae552c1284c.7e6fd02802ea26ea
+    8a7812c1eeb50a02.26e23beec52a6219.25fcbac18e7acfb2.353b3176207d01f5
+    942b7e16011161d7.ea61c2c55803efa9.9055a3a93392dd21.3ea18ce4f13c24ce
+    5f0dadd927df37f7.086dbdde07db9c0b.cff69207dc958c47.746d5d5f8e3349a1
+    b36a20d1156f2d9b
+  after
+    d9f019720cf30378.525ebadc4436f0ff.437c8000e7defaa5.f6f1dce41b6cd04a
+    8a7812c1eeb50a02.26e23beec52a6219.25fcbac18e7acfb2.353b3176207d01f5
+    942b7e16011161d7.ea61c2c55803efa9.9055a3a93392dd21.3ea18ce4f13c24ce
+    5f0dadd927df37f7.086dbdde07db9c0b.cff69207dc958c47.746d5d5f8e3349a1
+    b36a20d1156f2d9b
+VPMADDUBSW_256(mem)
+  before
+    d6665228a2fb8ce8.496a9c74fcaaca0f.5ed0a825edbe2569.3f2c8148261019cd
+    bb2b6e4f50e321b3.ad8e46551bfe54ca.c756ff8627b748ef.3a426ed9ac8ec061
+    3d86f0313b34a929.e7c4a7e6206712d6.1fcd3feed0d2bfca.1d8654250b9bbdaf
+    374355bc80f9e076.535abb95a8723fdc.4100e347051b4726.45432f97dec44b63
+    0cc4fb9dc294a728
+  after
+    d6665228a2fb8ce8.496a9c74fcaaca0f.5ed0a825edbe2569.3f2c8148261019cd
+    bb2b6e4f50e321b3.ad8e46551bfe54ca.c756ff8627b748ef.3a426ed9ac8ec061
+    f2742f94de31e044.6c210b2caa40fa1e.38f2bbb6cded6c6f.199e06762268ff6d
+    374355bc80f9e076.535abb95a8723fdc.4100e347051b4726.45432f97dec44b63
+    0cc4fb9dc294a728
+
+VPMADDUBSW_256(reg)
+  before
+    cf56b5a252970caa.872e17db3b3e82c5.4c9a7ecd4faa188b.0bba677fe19f9c2e
+    ea4557122b5ab897.0713b47a86104a42.30d1edfab09cd98d.57c847808169790f
+    b9dddf59e868e598.95bda786807af51b.5a4b038867d3be8e.03f6ff3800859cf5
+    986949e3254dcf5c.0bf96de943893f7a.2554bce311db033b.e9100c927a00be0b
+    e7e2e9790ce59e7d
+  after
+    b5abfb0b2088af40.f81a8748c4a003c8.4e1b8d972b648944.f9351bb9cd8dd017
+    ea4557122b5ab897.0713b47a86104a42.30d1edfab09cd98d.57c847808169790f
+    b9dddf59e868e598.95bda786807af51b.5a4b038867d3be8e.03f6ff3800859cf5
+    986949e3254dcf5c.0bf96de943893f7a.2554bce311db033b.e9100c927a00be0b
+    e7e2e9790ce59e7d
+VPMADDUBSW_256(mem)
+  before
+    d73812dbd241f679.e3378f1d7f96b48d.47948090eb47e38b.ef3714774941e340
+    97dd03a3e71e8328.f691af7192ceced7.23585e6895c29e7b.124208b1ac909b48
+    019e39bd678b01b9.2dc4a34df9825ae8.7d11825b5c062c76.ecbf93fbd5546600
+    f2472f166f912b56.e41c6a1b503d9469.2f8d68575d1e49a7.d7fbb1c361198114
+    31425e73eb6c282f
+  after
+    d73812dbd241f679.e3378f1d7f96b48d.47948090eb47e38b.ef3714774941e340
+    97dd03a3e71e8328.f691af7192ceced7.23585e6895c29e7b.124208b1ac909b48
+    1829e8a7de1c0dca.0349bf8ef3228000.e495a3802995b5e3.0cfc52e7559c0071
+    f2472f166f912b56.e41c6a1b503d9469.2f8d68575d1e49a7.d7fbb1c361198114
+    31425e73eb6c282f
+
+VPMADDUBSW_256(reg)
+  before
+    54e0967910d997fd.47a460981b3ebf2c.77e5fd49348bb709.16978c47b316b03b
+    9d2156406bea0a2c.da814b30859d7766.426b594241f80072.0ffa6b177afa1e5d
+    69509934982dbc65.88aa69cbccbb0f31.a1fa7b711111ab50.f48380b3cfd74f3a
+    12ba5bc1342eea57.2dea38540aa244b8.f0dd5e444361f350.a2fe4707ceb8fefe
+    f5373cff92aae9d4
+  after
+    4ab5ea66fdaa0eb4.800014d3baab1a7f.e50047e514c923a0.853ac395c09c1e54
+    9d2156406bea0a2c.da814b30859d7766.426b594241f80072.0ffa6b177afa1e5d
+    69509934982dbc65.88aa69cbccbb0f31.a1fa7b711111ab50.f48380b3cfd74f3a
+    12ba5bc1342eea57.2dea38540aa244b8.f0dd5e444361f350.a2fe4707ceb8fefe
+    f5373cff92aae9d4
+VPMADDUBSW_256(mem)
+  before
+    c9fadb8738b8cae9.f5ac9853db77cfac.a50f33b65b61d328.8b61fe267075161e
+    fa13a18bdbee5d69.6f704d562896a911.cde3d6dfdc0175ad.ced2588437d74e66
+    654d09f89759607f.da527436b717b231.7f339dbaa890e972.147c66c83116d7d2
+    e4758fb889048d57.93a00b60258426b9.98cb0433dc19e9a4.bbab265ffdbbef11
+    1eab93b63454d0cd
+  after
+    c9fadb8738b8cae9.f5ac9853db77cfac.a50f33b65b61d328.8b61fe267075161e
+    fa13a18bdbee5d69.6f704d562896a911.cde3d6dfdc0175ad.ced2588437d74e66
+    c9d8a708ecf8e2f3.d67bfc9a3ff2da13.c46eea2c4e950677.f16c12e87a5312a8
+    e4758fb889048d57.93a00b60258426b9.98cb0433dc19e9a4.bbab265ffdbbef11
+    1eab93b63454d0cd
+
+VPHSUBW_256(reg)
+  before
+    98c7a937746cb7b3.5458afb9ccfba01e.f6a50d3e0e6b4354.f477883693a9326e
+    874d65505990df6e.91c0e6e67d4a5700.5fac773e0c5843af.6f02a4afe94b80fd
+    4687c26b7e4b86ab.7779af2ab7fe6c29.2b0243cabed66376.e539d48afb0b8e7d
+    30c2bbf68029e516.e251867397239cc3.b4f36f50be71df54.32e995b4e5f61919
+    32dc6117c217ddfe
+  after
+    7be4086037b1b42b.de0385de5526d9b6.18c8a4a0ef519372.1792375735ad97b2
+    874d65505990df6e.91c0e6e67d4a5700.5fac773e0c5843af.6f02a4afe94b80fd
+    4687c26b7e4b86ab.7779af2ab7fe6c29.2b0243cabed66376.e539d48afb0b8e7d
+    30c2bbf68029e516.e251867397239cc3.b4f36f50be71df54.32e995b4e5f61919
+    32dc6117c217ddfe
+VPHSUBW_256(mem)
+  before
+    c1dfb6a1ae7a9557.a34a4f5cfab63b5a.ad13e7ac39c3a3fd.57cbf63ba8b5f2f6
+    babe0f3cc62cff51.f96a7709887fc323.b68a4ec1b7ec3c01.70d6d4f7192fd907
+    fb44e8d62638d418.90703169c710b81f.d883389f2faa24fc.5b6006f0ac6ad034
+    5f3fbe5ae9aad3d7.c2a677e852f357f7.efca2030bd071719.74b48792fdf21229
+    16205249aa54dc91
+  after
+    c1dfb6a1ae7a9557.a34a4f5cfab63b5a.ad13e7ac39c3a3fd.57cbf63ba8b5f2f6
+    babe0f3cc62cff51.f96a7709887fc323.b68a4ec1b7ec3c01.70d6d4f7192fd907
+    f4c2e6ddac1240a4.547e39257d9f3aa4.3a996a3a9e704a41.983784156421bfd8
+    5f3fbe5ae9aad3d7.c2a677e852f357f7.efca2030bd071719.74b48792fdf21229
+    16205249aa54dc91
+
+VPHSUBW_256(reg)
+  before
+    9fee66824c1b6a19.c2790cb42b8fb7ba.ec5947f3c6b6db5a.d72b82617c11d185
+    6a6bbca781d4f86c.00bf4ed009f23bef.6bd69df4bfe582f2.6c72da1f89d40d6c
+    d3e25225e50ac137.f4dd009a9edf1ba0.99667358d70a866c.896aa554ff5a88f9
+    36a1226913490325.7c9f9efe076315f9.d358c78cadb32373.0ce15eeefab1fd59
+    d0a181d897e52ab7
+  after
+    7e43dc2d0bbd7cc1.523c76984e1131fd.d9f2af621bea899f.321ec30d6dad8398
+    6a6bbca781d4f86c.00bf4ed009f23bef.6bd69df4bfe582f2.6c72da1f89d40d6c
+    d3e25225e50ac137.f4dd009a9edf1ba0.99667358d70a866c.896aa554ff5a88f9
+    36a1226913490325.7c9f9efe076315f9.d358c78cadb32373.0ce15eeefab1fd59
+    d0a181d897e52ab7
+VPHSUBW_256(mem)
+  before
+    b0778afdf200c940.eff32adea71df7e4.73d1a5e85f89e327.76f794fada6c97b4
+    8a2ff54b2610971f.592366f03e13dc1d.b43e8f45c35d4256.dc8ed610fdbf1cda
+    38953fad4f214f82.d27ed00a74b6ec7f.1db4daff4eeceeb1.626b8939af3aef92
+    9875e3108a3eaf92.b550669ae39364b4.88fd02041d41a265.64d8aae18e694b88
+    3f22337436d66e67
+  after
+    b0778afdf200c940.eff32adea71df7e4.73d1a5e85f89e327.76f794fada6c97b4
+    8a2ff54b2610971f.592366f03e13dc1d.b43e8f45c35d4256.dc8ed610fdbf1cda
+    da86d7403aeb50c7.6b1c710f0dcd9e0a.3217839e1e03bd48.db077ef9f9821f1b
+    9875e3108a3eaf92.b550669ae39364b4.88fd02041d41a265.64d8aae18e694b88
+    3f22337436d66e67
+
+VPHSUBW_256(reg)
+  before
+    4d94225e420f92dc.849a5d5ef273717d.5de5230b2a358068.d3e6813e4b681c9e
+    eb7c730b4fa0f492.dad12984a4cc516f.288903cae3287b48.d83bd59bf46e1587
+    752520e8f814cf36.74e7c36ebc560d94.70880241aaf99200.75c77906365e4c4d
+    47da275fd9f76074.30a6a809541c5f17.932d1cdd1c32013b.8458e96b2a457b1b
+    e3b9a1b6ee2e5f1e
+  after
+    abc3d7224e87513e.878fa4f24eb3aca3.91b9e707033f15ef.db419820fd602119
+    eb7c730b4fa0f492.dad12984a4cc516f.288903cae3287b48.d83bd59bf46e1587
+    752520e8f814cf36.74e7c36ebc560d94.70880241aaf99200.75c77906365e4c4d
+    47da275fd9f76074.30a6a809541c5f17.932d1cdd1c32013b.8458e96b2a457b1b
+    e3b9a1b6ee2e5f1e
+VPHSUBW_256(mem)
+  before
+    6cb51ed39d25b481.bde883dd8fd5e3f7.e8da533f8b2b0425.ecc54e0bd46204a6
+    fc19daae54363571.339b30cfb63b946c.795140fe7a8db7e9.d69c93356f12d6ed
+    70b153342f6ea01a.053f2aa0e9b4ae7e.c0d6ec313f513690.aefee7c988d0b4bb
+    a249054f49d8afa7.8f206dbbc4cc6eda.9734d1c4f6803b45.d1374731bb28dabc
+    9993addba6a4839e
+  after
+    6cb51ed39d25b481.bde883dd8fd5e3f7.e8da533f8b2b0425.ecc54e0bd46204a6
+    fc19daae54363571.339b30cfb63b946c.795140fe7a8db7e9.d69c93356f12d6ed
+    b21e175cc5f55422.de95e13bfd34de31.6a6578fa61463044.c7ad3d5cbc9967db
+    a249054f49d8afa7.8f206dbbc4cc6eda.9734d1c4f6803b45.d1374731bb28dabc
+    9993addba6a4839e
+
+VPHSUBD_256(reg)
+  before
+    645d1732e2d2ec0a.6fac6aedbe811e45.2c89f68ee410102c.db386da3ba288335
+    8ce380a20d3e51af.b3a800f8ab74aa1f.3ac8c084e40bd01f.69ae3bbaa854c98c
+    6e6fe597c372ee37.4a07415e2bbd1062.1427c709614ae960.1b62b7f5db11ca75
+    674e407d9ffcfe4f.1196ac0a5b68093a.16f30889f658989a.ce205e406f69421d
+    5eb4aa88816bedaf
+  after
+    550308a0e1b5cf04.805ad10df7cca927.4d232257bfaf1280.a9430f9b3ea68dd2
+    8ce380a20d3e51af.b3a800f8ab74aa1f.3ac8c084e40bd01f.69ae3bbaa854c98c
+    6e6fe597c372ee37.4a07415e2bbd1062.1427c709614ae960.1b62b7f5db11ca75
+    674e407d9ffcfe4f.1196ac0a5b68093a.16f30889f658989a.ce205e406f69421d
+    5eb4aa88816bedaf
+VPHSUBD_256(mem)
+  before
+    a7e919b72d208658.d1cc8fc13d68bea2.e221bae7568254d2.9c787d7140c1197a
+    858c26ba8e96ca44.0934cdcd3a406add.9a74e8e33916ab57.0102242bda12a7ab
+    d46a4e7ec0d8759e.6bd4f60f31123eab.155bb3ea1f31cbf4.a3ddf82461d57fdb
+    704d0beee0f34293.53f606f1bf6a75b9.2fa296e624de70d6.dd54f5c97099ddb3
+    0ab41884a3e7fce2
+  after
+    a7e919b72d208658.d1cc8fc13d68bea2.e221bae7568254d2.9c787d7140c1197a
+    858c26ba8e96ca44.0934cdcd3a406add.9a74e8e33916ab57.0102242bda12a7ab
+    85376ca16b9c2ee1.090aa38a310b9d10.746099eba4489c09.9ea1c274d9108380
+    704d0beee0f34293.53f606f1bf6a75b9.2fa296e624de70d6.dd54f5c97099ddb3
+    0ab41884a3e7fce2
+
+VPHSUBD_256(reg)
+  before
+    884a5cc3974d1a12.3501dbf609f2ef4e.1de8fae180d24cb3.c4140dc466295529
+    b160bdf1e85671ef.ff54398158e136fc.25f4cd490ed9fe44.b07e9570fe1f3718
+    e342377a318f3d26.aa11a17de8cdd3c9.c7677b970808c919.cfaca8d70acbd2d0
+    783ec6ca0e83bc63.120390d6d6c184e0.5f8c003607ede7dd.fd6ac4e3a639e17c
+    15846482ed762249
+  after
+    4e4d05ac3ebc324c.36f5b3fe598cfd7b.40a14d823b1f29f9.e8e530fb4da0a1a8
+    b160bdf1e85671ef.ff54398158e136fc.25f4cd490ed9fe44.b07e9570fe1f3718
+    e342377a318f3d26.aa11a17de8cdd3c9.c7677b970808c919.cfaca8d70acbd2d0
+    783ec6ca0e83bc63.120390d6d6c184e0.5f8c003607ede7dd.fd6ac4e3a639e17c
+    15846482ed762249
+VPHSUBD_256(mem)
+  before
+    f5c6049ffb8d4e63.ce9f674d1cbe2851.13f780763dc9036e.49b15992aa13943d
+    78fb2125ed8a24f5.3fb0146ff7cdbe9d.89b9ef4a3af20c9e.e12080178a060ee5
+    7af03502de7a5f2c.29becc9c3a3bb9f2.4f15583ee8475d9d.8327733245538f80
+    d772be21eb68ba33.e6158841819457fd.43d7383f63d4b097.8b102d4d778554ba
+    5528abd5bb299941
+  after
+    f5c6049ffb8d4e63.ce9f674d1cbe2851.13f780763dc9036e.49b15992aa13943d
+    78fb2125ed8a24f5.3fb0146ff7cdbe9d.89b9ef4a3af20c9e.e12080178a060ee5
+    05c749c44e1ec104.748f03d0b81daa2e.29d182f860623aab.b1381d54a8e58ece
+    d772be21eb68ba33.e6158841819457fd.43d7383f63d4b097.8b102d4d778554ba
+    5528abd5bb299941
+
+VPHSUBD_256(reg)
+  before
+    3dbbe737aec999bf.6a4b386e2f60f137.d30145c86965d26a.40ca0937c9a6c2b7
+    9f14dfddebf491e0.11471dd6c76fc263.4dce009f8d3967e4.22bc491433c84f29
+    d6818e350e33bd51.a734ea43cea0e7e5.aec8b4308a9c5118.c47773c1bf46121b
+    404cf0aab41459be.07dd1ca261ff1de6.533a5de9fb1bcdb2.04c8032a892dc8b7
+    bc7b753aac882d29
+  after
+    37b22f1c276bfda2.4cdfb203b628a48d.dbd39ce8face9e5a.3f6b6745110c0615
+    9f14dfddebf491e0.11471dd6c76fc263.4dce009f8d3967e4.22bc491433c84f29
+    d6818e350e33bd51.a734ea43cea0e7e5.aec8b4308a9c5118.c47773c1bf46121b
+    404cf0aab41459be.07dd1ca261ff1de6.533a5de9fb1bcdb2.04c8032a892dc8b7
+    bc7b753aac882d29
+VPHSUBD_256(mem)
+  before
+    ca5c46e04464fd9e.38c302a87922a0d3.0f0d2ee09b992095.9871f7357d41175d
+    0837f1056ecbf342.1930be9bf7eacf3a.99919de79979ab1b.dab97f80ab9a6bc5
+    54d7f29645cbcc40.41e022efcdf722a2.8335e3a576ac7ca7.735ef03622b30498
+    8809c57fe67044c5.0b1e291095d5d4b5.a7c57e054f3c4c63.c0ac46c37d171f7f
+    1def7d935852f829
+  after
+    ca5c46e04464fd9e.38c302a87922a0d3.0f0d2ee09b992095.9871f7357d41175d
+    0837f1056ecbf342.1930be9bf7eacf3a.99919de79979ab1b.dab97f80ab9a6bc5
+    7a08b6be405f9e2b.6694023ddeba109f.8c8bf1b5e4cf2028.ffe80d34d0e0ec45
+    8809c57fe67044c5.0b1e291095d5d4b5.a7c57e054f3c4c63.c0ac46c37d171f7f
+    1def7d935852f829
+
+VPHSUBSW_256(reg)
+  before
+    e672911250f1ca40.829ae7ad6cc516fd.d238d06aeb102220.e30de9f33f37da7c
+    77837fad017fd370.1c54d30af4d6ff13.f47811696c35488e.11d9a05a62a9e01d
+    2c6c42ce06894c67.3403048499afbb33.cb2cea7ab3d082ac.0ff41f29d59d1b73
+    617ad6e3fb9974ce.a475f905785d068b.b59e56075d6b0b25.b72be249b41f47a9
+    e64a66a71a3b1fec
+  after
+    166245ded0812184.082ad1f1b6b60a3d.1f4ecedc0f3545d6.1cf1dc598e818000
+    77837fad017fd370.1c54d30af4d6ff13.f47811696c35488e.11d9a05a62a9e01d
+    2c6c42ce06894c67.3403048499afbb33.cb2cea7ab3d082ac.0ff41f29d59d1b73
+    617ad6e3fb9974ce.a475f905785d068b.b59e56075d6b0b25.b72be249b41f47a9
+    e64a66a71a3b1fec
+VPHSUBSW_256(mem)
+  before
+    791d262f23fe6168.72f937577d3d8654.49752b7baceb9b44.0c1b517e059420a7
+    4a709eceec73c748.bb3562952701bda3.00ce18d15266378d.2eeed74a47d6fddb
+    360f4b6e90a70db9.9879510b96705567.a34d3af385d99690.7565e5d7c1bedd6f
+    19c5a7fd2ca5f0e7.6513022466168c4d.0fbe0fcd6150737a.3ecb76900cd7fd0f
+    e66b86e3c6ad9967
+  after
+    791d262f23fe6168.72f937577d3d8654.49752b7baceb9b44.0c1b517e059420a7
+    4a709eceec73c748.bb3562952701bda3.00ce18d15266378d.2eeed74a47d6fddb
+    ad123d6ac45e8000.8000dad57fff96a2.e206ee5945631b13.1803e527a85cb605
+    19c5a7fd2ca5f0e7.6513022466168c4d.0fbe0fcd6150737a.3ecb76900cd7fd0f
+    e66b86e3c6ad9967
+
+VPHSUBSW_256(reg)
+  before
+    c792113c8bcded22.d0603065db792dfd.7d4d704c317f9c01.20ed134b03d78c76
+    3e8c1405f6c234ec.35aa6194ba2f7d27.3e7498ef9638c22e.b2a6c059877b9bb1
+    a8a589aba318ab73.2570b775e4d49f92.03d474792ecc3a81.a2b594e408475c56
+    5f296e9a2f5c8e61.7c7eacf476744d6a.28b9025797c83fa6.cae50ad6a2488d92
+    07039e1d7289e891
+  after
+    e106085b9205babe.d5793e2a2bea7fff.70a50bb5f22f540f.80002bf60db31436
+    3e8c1405f6c234ec.35aa6194ba2f7d27.3e7498ef9638c22e.b2a6c059877b9bb1
+    a8a589aba318ab73.2570b775e4d49f92.03d474792ecc3a81.a2b594e408475c56
+    5f296e9a2f5c8e61.7c7eacf476744d6a.28b9025797c83fa6.cae50ad6a2488d92
+    07039e1d7289e891
+VPHSUBSW_256(mem)
+  before
+    35dccca39416297e.c063bf3f35191862.16a0befd8b1944db.086e3df36db70e48
+    303a115623fc0e86.27a1760452dc8623.cfa1687c40d14010.014122bb4b25e314
+    d4e9e7213b4651d4.f02d9157222f1450.834f265db0a7fc35.6e7cab19ce9ffab5
+    fdb7ccf0f900af95.77540aa33fa0fe94.0e74748df7a83577.aa6cd67b91af8ed8
+    135d9e4c30e4dc28
+  after
+    35dccca39416297e.c063bf3f35191862.16a0befd8b1944db.086e3df36db70e48
+    303a115623fc0e86.27a1760452dc8623.cfa1687c40d14010.014122bb4b25e314
+    96c77ffffedce349.e11cea8a4e638000.a85d7fff3585a091.7fffff3f217a97ef
+    fdb7ccf0f900af95.77540aa33fa0fe94.0e74748df7a83577.aa6cd67b91af8ed8
+    135d9e4c30e4dc28
+
+VPHSUBSW_256(reg)
+  before
+    039bfff848c72053.876f3caf7837e4f4.1862df5448bb7f9c.4cddcff632dfa702
+    d872f5eb75e69502.4ddcb14ad5f6ab1f.2fa30cd6d60bd413.1956b2867d580d01
+    ec2d7d9152cd78e4.2dcba9ad2b49c13f.18628b95881c39a6.51ab9927f32025a1
+    9d1a92567b0605a2.02089fc4963de283.2fed5afdf77aea01.cfa700c7b042a80e
+    71186451d1ca5573
+  after
+    7fff2617800095f6.1d7980008000d529.80007fff80003281.dd33fe0899308fa9
+    d872f5eb75e69502.4ddcb14ad5f6ab1f.2fa30cd6d60bd413.1956b2867d580d01
+    ec2d7d9152cd78e4.2dcba9ad2b49c13f.18628b95881c39a6.51ab9927f32025a1
+    9d1a92567b0605a2.02089fc4963de283.2fed5afdf77aea01.cfa700c7b042a80e
+    71186451d1ca5573
+VPHSUBSW_256(mem)
+  before
+    12c83fb171c5e7fd.458330a68d1f78eb.a85f0f7b34ddca15.d08e747ac1b222cf
+    8e840fd3ad3e19d7.41b553ee23a30c69.fb9c75bf1e353421.5792d578824f1ebc
+    c0184fa3a141a72e.eefcf798da1ffec9.d68a4e7a7252ddd4.20457964d5de1a76
+    86507c0d67db4f2e.a6a419124e1e8ab6.17f7149a4c3f805a.87f35da857e951a7
+    e7e87cb2a3ff00fb
+  after
+    12c83fb171c5e7fd.458330a68d1f78eb.a85f0f7b34ddca15.d08e747ac1b222cf
+    8e840fd3ad3e19d7.41b553ee23a30c69.fb9c75bf1e353421.5792d578824f1ebc
+    2ce98000eb237fff.7fff6c991239e8c6.671c95387fff611d.7a2315ec80007fff
+    86507c0d67db4f2e.a6a419124e1e8ab6.17f7149a4c3f805a.87f35da857e951a7
+    e7e87cb2a3ff00fb
+
+VPABSB_256(reg)
+  before
+    9e6fd2ec55a9631f.bbf810fd1e17cb02.c6f8b4c6192cebdd.99ad450ac708dbde
+    07d65bc40a75b5bf.3adb8960df01d8d7.ab46c422dad65ee9.37795cb6ffbaa88d
+    7e6713a55dee3487.e1c76220c8a632d8.afd845912aa71f87.cf27d68a1160a493
+    5e6ff7fbeba11a21.8a86172bf5119432.2ffb347fa72b6a63.3c832d7219068a1b
+    5959df5a31b91852
+  after
+    7e67135b5d123479.1f396220385a3228.5128456f2a591f79.31272a7611605c6d
+    07d65bc40a75b5bf.3adb8960df01d8d7.ab46c422dad65ee9.37795cb6ffbaa88d
+    7e6713a55dee3487.e1c76220c8a632d8.afd845912aa71f87.cf27d68a1160a493
+    5e6ff7fbeba11a21.8a86172bf5119432.2ffb347fa72b6a63.3c832d7219068a1b
+    5959df5a31b91852
+VPABSB_256(mem)
+  before
+    0474672e78840863.053a02325019a33c.13e5256c814fbc10.87fb8c58edef7a28
+    17a142da0873167b.ce1430b627e20d82.56b006ce896a639f.13244988977e8c83
+    6fadea4bfd9300c5.14487df30c8892a0.31b3383f2871480b.2fc2677b4265dc1f
+    e962dd6b74ef806e.3524e6569c986f41.7eb936aa7a6d257f.3720e29d892ea6a9
+    878cb75b086725cd
+  after
+    0474672e78840863.053a02325019a33c.13e5256c814fbc10.87fb8c58edef7a28
+    17a142da0873167b.ce1430b627e20d82.56b006ce896a639f.13244988977e8c83
+    0474672e787c0863.053a023250195d3c.131b256c7f4f4410.7905745813117a28
+    e962dd6b74ef806e.3524e6569c986f41.7eb936aa7a6d257f.3720e29d892ea6a9
+    878cb75b086725cd
+
+VPABSB_256(reg)
+  before
+    7b50e11f5c9c9636.5f8c9628889453a2.8bf26549729edf12.1b907dfb9c6cb728
+    6fb95c5721583491.aff9916c568d348c.74fff83a2b2420be.e202871eaa79ba32
+    bf13246df1273d89.b3744a25f9e6e159.4a979b9362b86cf3.b0dcd2ffbfa0e9c8
+    c7a936cf6b95ebcb.48c83e3e8dab1435.6a0648c2b3e5ff5a.62ead98bf7ee0216
+    d2f818ac6f6ebf4a
+  after
+    4113246d0f273d77.4d744a25071a1f59.4a69656d62486c0d.50242e0141601738
+    6fb95c5721583491.aff9916c568d348c.74fff83a2b2420be.e202871eaa79ba32
+    bf13246df1273d89.b3744a25f9e6e159.4a979b9362b86cf3.b0dcd2ffbfa0e9c8
+    c7a936cf6b95ebcb.48c83e3e8dab1435.6a0648c2b3e5ff5a.62ead98bf7ee0216
+    d2f818ac6f6ebf4a
+VPABSB_256(mem)
+  before
+    ddd10c50422ddc8d.e3c98ce8292f7b03.4ac2e8a330e98a4b.3197fd32bb3817a1
+    5f432f618d36160e.6fbd2424c78028dc.962ec440fbabfec7.f998b54f163cee74
+    3518ffcd6b952af7.c7d3faefe2152f03.06d84e010cfe2dd6.20536c855f7dc17f
+    391df77ff957d174.465508b51579cc23.778c02d27fedd3a4.00151e403388cb6d
+    f62ac7ec2de84aea
+  after
+    ddd10c50422ddc8d.e3c98ce8292f7b03.4ac2e8a330e98a4b.3197fd32bb3817a1
+    5f432f618d36160e.6fbd2424c78028dc.962ec440fbabfec7.f998b54f163cee74
+    232f0c50422d2473.1d377418292f7b03.4a3e185d3017764b.316903324538175f
+    391df77ff957d174.465508b51579cc23.778c02d27fedd3a4.00151e403388cb6d
+    f62ac7ec2de84aea
+
+VPABSB_256(reg)
+  before
+    5ede64f5e92978a4.481e94635287cab3.4a904ce2fd383be9.c5165da06f84ac5d
+    957df0c804d89244.3ee750659331cfdd.2ed0c0e335deb700.cc41da55f8d0732c
+    f55367cf1980d379.f744a971d7619d21.4e6062225af87e16.68daf5df37dbe53d
+    dbabc678c5ae78ed.4f011a733b24f0a9.058e2e0d0711c9d4.75ae2b2847b4bebd
+    cf87f61e4564b9d8
+  after
+    0b53673119802d79.0944577129616321.4e6062225a087e16.68260b2137251b3d
+    957df0c804d89244.3ee750659331cfdd.2ed0c0e335deb700.cc41da55f8d0732c
+    f55367cf1980d379.f744a971d7619d21.4e6062225af87e16.68daf5df37dbe53d
+    dbabc678c5ae78ed.4f011a733b24f0a9.058e2e0d0711c9d4.75ae2b2847b4bebd
+    cf87f61e4564b9d8
+VPABSB_256(mem)
+  before
+    5231d4ac4df994ba.a3d2072da4ecbd4d.22e91f57da8683a1.b1a41e0ed8b6d7e9
+    da7a40be797f098e.a914285c50c8de44.4cc93409d0911337.acef30936a72e2fe
+    432db640e800d480.49bd247068ce167f.a96dd6763a535c94.54bb5f0759d127c2
+    6915b21eb38ab3bd.df19f7d58588a2a9.15a1808834d719e7.0454a7d64060e2df
+    1706046cbbaa4e02
+  after
+    5231d4ac4df994ba.a3d2072da4ecbd4d.22e91f57da8683a1.b1a41e0ed8b6d7e9
+    da7a40be797f098e.a914285c50c8de44.4cc93409d0911337.acef30936a72e2fe
+    52312c544d076c46.5d2e072d5c14434d.22171f57267a7d5f.4f5c1e0e284a2917
+    6915b21eb38ab3bd.df19f7d58588a2a9.15a1808834d719e7.0454a7d64060e2df
+    1706046cbbaa4e02
+
+VPABSW_256(reg)
+  before
+    eb1c7335673ba9d6.28ffb144f8286071.c7749ef74585be6f.6c31ae2dd92a085a
+    dae4ef9de0a02c08.5cb72e9ed3e797c7.5d191342444ea57c.89e9dc504557e219
+    41a87410c1631643.e009a5195fd216ec.fd5554221d71957e.4a9487dd956a6651
+    7db5fefaa613a134.92c1929fb9f6970c.03745c046d79c81e.8a0029bfe5704f2e
+    25f740e44f7458db
+  after
+    41a874103e9d1643.1ff75ae75fd216ec.02ab54221d716a82.4a9478236a966651
+    dae4ef9de0a02c08.5cb72e9ed3e797c7.5d191342444ea57c.89e9dc504557e219
+    41a87410c1631643.e009a5195fd216ec.fd5554221d71957e.4a9487dd956a6651
+    7db5fefaa613a134.92c1929fb9f6970c.03745c046d79c81e.8a0029bfe5704f2e
+    25f740e44f7458db
+VPABSW_256(mem)
+  before
+    f6464738f2823d85.e85789c82c390a87.4daa721efc5dd752.cbc22852cff27a0b
+    dbb9bba5e8a7bc58.dfda12e4ee638de7.ed92c080441592eb.b08bb279e069e9ef
+    af1b16184dee8f7f.bf8994bc891d6501.4d43f8b3ae2a8302.101bf8e63b694f76
+    4d3ad67d3d647327.e2b20bbb98f1d081.4b8a96a256a667c4.46bef5047c7fe94d
+    aebfa53f4036f220
+  after
+    f6464738f2823d85.e85789c82c390a87.4daa721efc5dd752.cbc22852cff27a0b
+    dbb9bba5e8a7bc58.dfda12e4ee638de7.ed92c080441592eb.b08bb279e069e9ef
+    09ba47380d7e3d85.17a976382c390a87.4daa721e03a328ae.343e2852300e7a0b
+    4d3ad67d3d647327.e2b20bbb98f1d081.4b8a96a256a667c4.46bef5047c7fe94d
+    aebfa53f4036f220
+
+VPABSW_256(reg)
+  before
+    a36b0502221aa79a.93e076c1d613247b.a59f734db86e0812.c23316395797fa5d
+    830e0fbbbfb84468.5bda72ce31095da8.649dc9dd841d4960.8d0af564cd09f8f8
+    a9f4c1d5b39a0536.83f447926c52dcd9.7bf808d9988cd118.8adbae0fd5071cc1
+    706916bd984f25af.e5fa6ff8a3f95a3b.47fc2cad9146dae6.9371bd268b9d23e6
+    86999e9509d7c991
+  after
+    560c3e2b4c660536.7c0c47926c522327.7bf808d967742ee8.752551f12af91cc1
+    830e0fbbbfb84468.5bda72ce31095da8.649dc9dd841d4960.8d0af564cd09f8f8
+    a9f4c1d5b39a0536.83f447926c52dcd9.7bf808d9988cd118.8adbae0fd5071cc1
+    706916bd984f25af.e5fa6ff8a3f95a3b.47fc2cad9146dae6.9371bd268b9d23e6
+    86999e9509d7c991
+VPABSW_256(mem)
+  before
+    3d20ce496ec2c9ee.36b80bdd0d60e280.5fb868ecf10a96fa.22f431c30bd7a076
+    95d0c72cd369e02a.552f9aa2ac5b7554.cbfaad5a73914a41.692e1388a1cc6173
+    6b76072c57d8ca71.2b18c17911cb1dd8.078bbb2e449b333d.78f4cf68f0b05789
+    99dd0933131c43ee.12c07bccd83d14b7.ed380c5480330d1a.ab9460d0930fbf65
+    5e58c22b2676d5b3
+  after
+    3d20ce496ec2c9ee.36b80bdd0d60e280.5fb868ecf10a96fa.22f431c30bd7a076
+    95d0c72cd369e02a.552f9aa2ac5b7554.cbfaad5a73914a41.692e1388a1cc6173
+    3d2031b76ec23612.36b80bdd0d601d80.5fb868ec0ef66906.22f431c30bd75f8a
+    99dd0933131c43ee.12c07bccd83d14b7.ed380c5480330d1a.ab9460d0930fbf65
+    5e58c22b2676d5b3
+
+VPABSW_256(reg)
+  before
+    ed8cf1e44670d41f.fcd34a2f254006ce.6873c4099f3c979e.5ace1eb844669303
+    b47eea698e8af954.7122440ba951d03c.877d999aff54e239.2b166c46ab3e8324
+    0e79a8259b4f80fe.d29775b3ba5a5d65.cd2af4ed96123133.3adf72ebd2ca97ab
+    59c82784084ba4ca.fcfe581375676875.94c5d36d0001bf39.64f4ad91d5138bc2
+    85209726ce271c95
+  after
+    0e7957db64b17f02.2d6975b345a65d65.32d60b1369ee3133.3adf72eb2d366855
+    b47eea698e8af954.7122440ba951d03c.877d999aff54e239.2b166c46ab3e8324
+    0e79a8259b4f80fe.d29775b3ba5a5d65.cd2af4ed96123133.3adf72ebd2ca97ab
+    59c82784084ba4ca.fcfe581375676875.94c5d36d0001bf39.64f4ad91d5138bc2
+    85209726ce271c95
+VPABSW_256(mem)
+  before
+    7a31ae95dc110751.f0b863f2720aa364.cb236917f585af97.399b3186d8adc9f7
+    1df16dc918de0522.2f9658db7419b777.1cd225ab56beecf8.19f90aa4bba38a18
+    4b2d50b0a199d533.72ab03abab031cb0.c9d707bcb521dbc3.8e295b33436e3f48
+    e0b1d435904e31b1.14465fceb25510bb.affd8a342eb73a25.f5781fa00f9a2535
+    aa315255b9b47588
+  after
+    7a31ae95dc110751.f0b863f2720aa364.cb236917f585af97.399b3186d8adc9f7
+    1df16dc918de0522.2f9658db7419b777.1cd225ab56beecf8.19f90aa4bba38a18
+    7a31516b23ef0751.0f4863f2720a5c9c.34dd69170a7b5069.399b318627533609
+    e0b1d435904e31b1.14465fceb25510bb.affd8a342eb73a25.f5781fa00f9a2535
+    aa315255b9b47588
+
+VPMOVSXBQ_256(reg)
+  before
+    0aa2f0c0dd476ef0.b84974440309d6c7.73b268b1269acd43.aa122d01dc8ec34a
+    6f15f54b18df4a17.afc0acc916d780a2.ea3a1abea25e90f5.96e0690ddbb1325d
+    36d75e64050946a9.a1e4f8b1e4c4ea6e.d42c7163c32d947c.4f34bb46482d458b
+    bb35267541509e54.6a7fd4e68adad156.8fd26a0b24941685.b1d9a0973e0db6ff
+    989d93ecda5d42e6
+  after
+    0aa2f0c0dd476ef0.b84974440309d6c7.73b268b1269acd43.aa122d01dc8ec34a
+    0000000000000048.000000000000002d.0000000000000045.ffffffffffffff8b
+    36d75e64050946a9.a1e4f8b1e4c4ea6e.d42c7163c32d947c.4f34bb46482d458b
+    bb35267541509e54.6a7fd4e68adad156.8fd26a0b24941685.b1d9a0973e0db6ff
+    989d93ecda5d42e6
+VPMOVSXBQ_256(mem)
+  before
+    e04b1031372aa56c.5a7849ec67418dc1.e65ebd552327f187.75790021611f52bb
+    65ae9452727f9abc.6fefc3341466509f.f14d2eebcbb7052c.e46d2f13175884cb
+    02939a3ba668de03.56e590b9e34d2398.6718a3939f94cb72.36f9f34ce2cde861
+    95c69dd8f0f22d6c.6ba5ade771824158.238a9838bbccfc84.c96b49385d09b928
+    f70d2c44249934cd
+  after
+    e04b1031372aa56c.5a7849ec67418dc1.e65ebd552327f187.75790021611f52bb
+    0000000000000061.000000000000001f.0000000000000052.ffffffffffffffbb
+    02939a3ba668de03.56e590b9e34d2398.6718a3939f94cb72.36f9f34ce2cde861
+    95c69dd8f0f22d6c.6ba5ade771824158.238a9838bbccfc84.c96b49385d09b928
+    f70d2c44249934cd
+
+VPMOVSXBQ_256(reg)
+  before
+    1e2d98dad40894fc.f9131b166b284224.0a7d152b5990e78d.037189c8396b5790
+    9815896708e21760.0a4690df3416db57.8fb7c4ef380351e0.e297f32e387b97bf
+    c212fc585db4f7a6.a32a762166c9b230.55a0b6a0a967bb00.9cc95156d20a7740
+    f96feb176e097079.a28d4bc61d4c83dc.ba84e8ab48496097.0cd31f2c2324b33d
+    1081da9c48d309e2
+  after
+    1e2d98dad40894fc.f9131b166b284224.0a7d152b5990e78d.037189c8396b5790
+    ffffffffffffffd2.000000000000000a.0000000000000077.0000000000000040
+    c212fc585db4f7a6.a32a762166c9b230.55a0b6a0a967bb00.9cc95156d20a7740
+    f96feb176e097079.a28d4bc61d4c83dc.ba84e8ab48496097.0cd31f2c2324b33d
+    1081da9c48d309e2
+VPMOVSXBQ_256(mem)
+  before
+    839ffc935c25335c.977a5412d86dc086.e2398abc76ab0c86.19ae557ab2347e51
+    40f803fb7c26eed7.f97d32b4366d2178.3efbafee8df3075b.ce6cf97b83b54edb
+    255a6ac1c3e0f67e.7bc682682594d0fc.949f37487d2f3186.3508d01956570fe1
+    0d8fadd24d62067e.7a9f3e9c406e08be.bff19cb6626b4534.a9cfd6c0c7a6fb0e
+    880d08dc732e4f0f
+  after
+    839ffc935c25335c.977a5412d86dc086.e2398abc76ab0c86.19ae557ab2347e51
+    ffffffffffffffb2.0000000000000034.000000000000007e.0000000000000051
+    255a6ac1c3e0f67e.7bc682682594d0fc.949f37487d2f3186.3508d01956570fe1
+    0d8fadd24d62067e.7a9f3e9c406e08be.bff19cb6626b4534.a9cfd6c0c7a6fb0e
+    880d08dc732e4f0f
+
+VPMOVSXBQ_256(reg)
+  before
+    2d0e61d9f67c4790.d364491938b5dc03.505564bb24880769.9abd5c2459b40191
+    f31edd23ea1c1e3c.55a5b8819de73138.5a34ef316c6d07aa.03cef27e7d151fc8
+    38897826ee9811c0.6d1e78f89a03c449.f487db6bb4a9452c.d4f1dab0eb9b5b06
+    569a2f4e9b7e5cc7.f89a04694b154f64.7a9c25d39ac9fc9c.ebf391a7be517377
+    229e924d13432146
+  after
+    2d0e61d9f67c4790.d364491938b5dc03.505564bb24880769.9abd5c2459b40191
+    ffffffffffffffeb.ffffffffffffff9b.000000000000005b.0000000000000006
+    38897826ee9811c0.6d1e78f89a03c449.f487db6bb4a9452c.d4f1dab0eb9b5b06
+    569a2f4e9b7e5cc7.f89a04694b154f64.7a9c25d39ac9fc9c.ebf391a7be517377
+    229e924d13432146
+VPMOVSXBQ_256(mem)
+  before
+    56bf5990057d229f.ab9efd0890593bfe.d3e7d9c0cb2a8fb3.48bdc7d6b75869a6
+    6421625bb10c31b0.91e1debe66b6e910.d8cf71e9364d4062.ba37bfe1a9e3c8f5
+    2692299932fb0ca3.66afcedebc20a3aa.e41f4ad1a98b1d9e.2c56085e0bf55536
+    79dc2b38a5576da4.8454c9d32b23a578.d4a3df6240efe493.fa669ebb7a1a4b14
+    80b37e6392dee73c
+  after
+    56bf5990057d229f.ab9efd0890593bfe.d3e7d9c0cb2a8fb3.48bdc7d6b75869a6
+    ffffffffffffffb7.0000000000000058.0000000000000069.ffffffffffffffa6
+    2692299932fb0ca3.66afcedebc20a3aa.e41f4ad1a98b1d9e.2c56085e0bf55536
+    79dc2b38a5576da4.8454c9d32b23a578.d4a3df6240efe493.fa669ebb7a1a4b14
+    80b37e6392dee73c
+
+VPMOVSXWQ_256(reg)
+  before
+    1a89a3c2eece655a.3acce223252a10e0.481ccc09514c2a25.8227ac8915854f6c
+    243309442a750119.432ecc46ce83b383.0f52d2ebca266f5e.cb762d3347591a56
+    f9feac55e360f625.71ce658dbd6b10b8.3344d7e7313db0cf.8b5edf4af078027c
+    f7368861b419812c.a07827e50ef0e4ac.113cd769221e2923.9fa93dbc2cedc40b
+    e125c37418c5192f
+  after
+    1a89a3c2eece655a.3acce223252a10e0.481ccc09514c2a25.8227ac8915854f6c
+    ffffffffffff8b5e.ffffffffffffdf4a.fffffffffffff078.000000000000027c
+    f9feac55e360f625.71ce658dbd6b10b8.3344d7e7313db0cf.8b5edf4af078027c
+    f7368861b419812c.a07827e50ef0e4ac.113cd769221e2923.9fa93dbc2cedc40b
+    e125c37418c5192f
+VPMOVSXWQ_256(mem)
+  before
+    2e9ced5ecf0bc013.79279ad43a2fded8.acf89038dc1deb8a.0687cfdb3a541506
+    62da38666dcb73e4.db1ddd1a102b48d5.71191b7343ffe07f.6c71b9aa156bb126
+    59ad1f781012efcd.78644da0d29bfcd0.cba9448360a180b7.a04693424ef0392c
+    efe01d80d1ebf0fb.ae47e6d01e0a3675.967287524f0f875d.fe515810816ee9c7
+    e2df057e4b71fca1
+  after
+    2e9ced5ecf0bc013.79279ad43a2fded8.acf89038dc1deb8a.0687cfdb3a541506
+    0000000000000687.ffffffffffffcfdb.0000000000003a54.0000000000001506
+    59ad1f781012efcd.78644da0d29bfcd0.cba9448360a180b7.a04693424ef0392c
+    efe01d80d1ebf0fb.ae47e6d01e0a3675.967287524f0f875d.fe515810816ee9c7
+    e2df057e4b71fca1
+
+VPMOVSXWQ_256(reg)
+  before
+    a93d94fa4786af66.003eb16ace62319a.d813a4188d05316f.ae4161ce2b56b09e
+    adb503ef12383dc4.6894542323836fd5.511584e3bd172b6b.efe14de21081b9a5
+    4b944dc94714e464.03ae8495eb5b66d9.7797819c4acc5e15.3520c77a1b9c5c9f
+    df256ff483a4def5.ad58bbae42f6d1d1.a4e697b1cfb00618.5cc94b8267b355b8
+    40a755e611d3621b
+  after
+    a93d94fa4786af66.003eb16ace62319a.d813a4188d05316f.ae4161ce2b56b09e
+    0000000000003520.ffffffffffffc77a.0000000000001b9c.0000000000005c9f
+    4b944dc94714e464.03ae8495eb5b66d9.7797819c4acc5e15.3520c77a1b9c5c9f
+    df256ff483a4def5.ad58bbae42f6d1d1.a4e697b1cfb00618.5cc94b8267b355b8
+    40a755e611d3621b
+VPMOVSXWQ_256(mem)
+  before
+    bd87629234083df5.c5b663dc61766721.425e7858455e6eea.364dc38de8506121
+    af35ed72ec5ca271.599227ed7e16bd94.9e8c348110a1f650.871aff9c3238a9db
+    f27d727357dd4fbc.f704b693750f1afc.9cad6c14becb282e.f597494a49f21bf3
+    612b6d7f8e97fe01.fa590c3ae3edbb02.1a8f9dfd6be6bfb1.da119c04c70cf214
+    93d4f4344b126ceb
+  after
+    bd87629234083df5.c5b663dc61766721.425e7858455e6eea.364dc38de8506121
+    000000000000364d.ffffffffffffc38d.ffffffffffffe850.0000000000006121
+    f27d727357dd4fbc.f704b693750f1afc.9cad6c14becb282e.f597494a49f21bf3
+    612b6d7f8e97fe01.fa590c3ae3edbb02.1a8f9dfd6be6bfb1.da119c04c70cf214
+    93d4f4344b126ceb
+
+VPMOVSXWQ_256(reg)
+  before
+    7d2c4e476f8ec324.da0a5b84af946c6e.c0dd254f633cdc55.f3fc422834007604
+    f265a4aacf0e346a.38e8b66cd6e3552c.a4dcfe3c9189b89f.03c1d78134250954
+    4fcbf4c8081efa6a.568ffc251e8d746a.02a2916f0a5f8c8c.25aad8f4885f36cc
+    f0a9390cb54852d0.12cca99aa3a08651.367adc526a4b94c9.3782c26d4bbcb799
+    131710d99a4849e7
+  after
+    7d2c4e476f8ec324.da0a5b84af946c6e.c0dd254f633cdc55.f3fc422834007604
+    00000000000025aa.ffffffffffffd8f4.ffffffffffff885f.00000000000036cc
+    4fcbf4c8081efa6a.568ffc251e8d746a.02a2916f0a5f8c8c.25aad8f4885f36cc
+    f0a9390cb54852d0.12cca99aa3a08651.367adc526a4b94c9.3782c26d4bbcb799
+    131710d99a4849e7
+VPMOVSXWQ_256(mem)
+  before
+    97333e22900ea8e1.324c70e4721a7847.476b37b782274710.9bb1db534cd80c02
+    9ea3c8364a1a8fb4.6f0193bbdd20a87b.d0382468d72e73d1.8f9488dd4c922fe2
+    03332affe378bc8c.0412a0fd8fe41d19.8bffea99bdc2c5c1.6d6de15c07053a16
+    a4afe16b7735e894.4dcb921626f414cd.528b073650eefa0b.9089e13c18be694a
+    563384e91c48f729
+  after
+    97333e22900ea8e1.324c70e4721a7847.476b37b782274710.9bb1db534cd80c02
+    ffffffffffff9bb1.ffffffffffffdb53.0000000000004cd8.0000000000000c02
+    03332affe378bc8c.0412a0fd8fe41d19.8bffea99bdc2c5c1.6d6de15c07053a16
+    a4afe16b7735e894.4dcb921626f414cd.528b073650eefa0b.9089e13c18be694a
+    563384e91c48f729
+
+VPACKUSDW_256(reg)
+  before
+    1ab9c6cfaf302160.5be36865235cd2f9.a67a65723edcc943.03aaf72badbecedc
+    3765a45b6b01239a.059b3bd903f934e6.6b6a167e72277726.78263465ef3ffc5f
+    0b8518f7ef473984.7fa2d6b33219cb88.f8e69fa45e615c22.8fcc3cce337c41c1
+    f0632011d48f9ec9.a3c5b6dfccc7530a.a93bfe529f16b1e4.22688a549482592e
+    0ec59ae22f5c00d1
+  after
+    ffff0000ffffffff.ffffffffffffffff.0000ffff0000ffff.ffffffffffff0000
+    3765a45b6b01239a.059b3bd903f934e6.6b6a167e72277726.78263465ef3ffc5f
+    0b8518f7ef473984.7fa2d6b33219cb88.f8e69fa45e615c22.8fcc3cce337c41c1
+    f0632011d48f9ec9.a3c5b6dfccc7530a.a93bfe529f16b1e4.22688a549482592e
+    0ec59ae22f5c00d1
+VPACKUSDW_256(mem)
+  before
+    30b1e8631f16f1d7.434cb713b8648f16.4fd15649ee108799.dab52ef2d1d3b518
+    62f6f1c580bce96c.618cda6b37524817.5d9032deb4ff2561.e7a02cf28f23a26a
+    816130f3705ba4bb.a46e8484ece60477.aacec68839a0e78d.2c48f2bd7592b684
+    69bf21d908feddf0.6a40b0ca74ab00e3.12598e3499ff894a.05f87ebe20ad2a15
+    cefecb632bff3dc7
+  after
+    30b1e8631f16f1d7.434cb713b8648f16.4fd15649ee108799.dab52ef2d1d3b518
+    62f6f1c580bce96c.618cda6b37524817.5d9032deb4ff2561.e7a02cf28f23a26a
+    ffffffffffff0000.ffff0000ffffffff.ffff000000000000.ffff000000000000
+    69bf21d908feddf0.6a40b0ca74ab00e3.12598e3499ff894a.05f87ebe20ad2a15
+    cefecb632bff3dc7
+
+VPACKUSDW_256(reg)
+  before
+    e3a4d51733152947.f7d9406366b25239.0d4c5ca96a2d7807.72fb07cff129c8c3
+    9f379847d37a2b40.057e0a7ea682bdbf.eadf848d6af9a88e.a482ac445c2a6025
+    6003115da8ba7f5f.7079f914e37adab1.5e4522e2119acb24.85b8f97ff70c0d9c
+    81543bc64d626050.14958b1239a76739.c3ca3414fb9c1e77.f16a6a6bdddd8b53
+    c4647cf62ba89577
+  after
+    ffff0000ffff0000.00000000ffff0000.ffffffff00000000.0000ffff0000ffff
+    9f379847d37a2b40.057e0a7ea682bdbf.eadf848d6af9a88e.a482ac445c2a6025
+    6003115da8ba7f5f.7079f914e37adab1.5e4522e2119acb24.85b8f97ff70c0d9c
+    81543bc64d626050.14958b1239a76739.c3ca3414fb9c1e77.f16a6a6bdddd8b53
+    c4647cf62ba89577
+VPACKUSDW_256(mem)
+  before
+    da72a90bfc7ae833.5e7512ef5ffc0bbe.cda03b65c5131e83.76bab590c38cdd30
+    0f5f6f976c5e40b4.52b492427917bc56.776486f7a2cdbbbd.d360a1c005f543fe
+    3ff94a8498605826.bb5bb82d383cafc3.eeaee6b6eddefc10.360af4125e638d8b
+    460ab4bf9c8dedb4.f3b77e1a37f91fb2.0e4ad98dc2549bab.fb02abf06963f783
+    7e95c1c8c380bd94
+  after
+    da72a90bfc7ae833.5e7512ef5ffc0bbe.cda03b65c5131e83.76bab590c38cdd30
+    0f5f6f976c5e40b4.52b492427917bc56.776486f7a2cdbbbd.d360a1c005f543fe
+    00000000ffffffff.ffffffffffffffff.00000000ffff0000.ffff00000000ffff
+    460ab4bf9c8dedb4.f3b77e1a37f91fb2.0e4ad98dc2549bab.fb02abf06963f783
+    7e95c1c8c380bd94
+
+VPACKUSDW_256(reg)
+  before
+    1b0f320507461a67.005f2b3593f0bb8b.5814e27712d949ce.b303da683b3b55b8
+    2ebcfa13d2424bab.49c429d09a957dd6.44bedfaf666969c4.b9a76533779de663
+    13e7165ebfff8c0a.fd052c7ecb88f0c2.1501722ecf34ba40.fc00f7da8f8809d9
+    26de80526b0a1930.f8edb02a45d6d07b.25299560e8c679ed.58db0a49a1077b46
+    a8041c6cc927f8d6
+  after
+    ffff000000000000.ffff0000ffff0000.ffff000000000000.ffffffff0000ffff
+    2ebcfa13d2424bab.49c429d09a957dd6.44bedfaf666969c4.b9a76533779de663
+    13e7165ebfff8c0a.fd052c7ecb88f0c2.1501722ecf34ba40.fc00f7da8f8809d9
+    26de80526b0a1930.f8edb02a45d6d07b.25299560e8c679ed.58db0a49a1077b46
+    a8041c6cc927f8d6
+VPACKUSDW_256(mem)
+  before
+    ca47a83022f33bb4.c3eb365b71ee2dcb.154a2fbf228bd92c.d28146b14dace278
+    99702b7fc977020c.465b33e66e370584.32e6272b7eb1c702.7656808e9b71318d
+    f14b1f47d9c0070b.0b7a745dfd71dd0a.2a8e135976575528.6ff43f616da1a1d7
+    ada302726ed906dd.6e94f32dba29f007.d90e6f3525863fcb.17a7809760c96f02
+    cbbb3d9d0f74d7bc
+  after
+    ca47a83022f33bb4.c3eb365b71ee2dcb.154a2fbf228bd92c.d28146b14dace278
+    99702b7fc977020c.465b33e66e370584.32e6272b7eb1c702.7656808e9b71318d
+    0000ffff0000ffff.00000000ffffffff.ffffffff0000ffff.ffffffffffff0000
+    ada302726ed906dd.6e94f32dba29f007.d90e6f3525863fcb.17a7809760c96f02
+    cbbb3d9d0f74d7bc
+
+VPMOVZXBQ_256(reg)
+  before
+    e87b74de172e14af.ab454feea6cfbdad.cbf5aec342ea7b27.1a32b7aca84c4317
+    c83520c513846387.c6fd82a69aace6a8.7de8a08a3141ba17.cbc668a81ab41b37
+    c8333ec0a00100f1.d9971786687e3efa.e2bbc5ee22b9e883.c795fd1698ca8457
+    44c2c83a59312799.c2df8b7a2b5180ce.55b81a5ab1de4316.e96df2e33d9b3aa5
+    0f18c3f92632f84b
+  after
+    e87b74de172e14af.ab454feea6cfbdad.cbf5aec342ea7b27.1a32b7aca84c4317
+    0000000000000098.00000000000000ca.0000000000000084.0000000000000057
+    c8333ec0a00100f1.d9971786687e3efa.e2bbc5ee22b9e883.c795fd1698ca8457
+    44c2c83a59312799.c2df8b7a2b5180ce.55b81a5ab1de4316.e96df2e33d9b3aa5
+    0f18c3f92632f84b
+VPMOVZXBQ_256(mem)
+  before
+    1363ec466e9b7c75.982ebc9fdba1132a.5ba1596e00306a50.322c993c7b3c057d
+    d31aeab532e37f50.20c3155bc1dc0151.82a8fd4e0327b6ae.d46340ff1b606a64
+    290938318d15c008.39cdcfdaa76e2db9.11c2f3074e422012.99a90a102ed5b076
+    f3fb52a89b3ef9c8.3d97e7892ae4d30f.e6b9b883008e66a8.db49f4d950281160
+    f891f8c71be4cacd
+  after
+    1363ec466e9b7c75.982ebc9fdba1132a.5ba1596e00306a50.322c993c7b3c057d
+    000000000000007b.000000000000003c.0000000000000005.000000000000007d
+    290938318d15c008.39cdcfdaa76e2db9.11c2f3074e422012.99a90a102ed5b076
+    f3fb52a89b3ef9c8.3d97e7892ae4d30f.e6b9b883008e66a8.db49f4d950281160
+    f891f8c71be4cacd
+
+VPMOVZXBQ_256(reg)
+  before
+    4acb14472e95166a.0bbeb4057968e7bd.896f57d2e6c92eff.db5ac6af3216429d
+    2f4443c322c833e2.4e1cdb3543a24612.799f1d2276aa7b34.cd719b7803e6711d
+    014881a995085be2.99e2422213f5d1f4.697434e67611f55b.99c9b2c98c0bae53
+    1e23cb6323e1ca16.c6dc65b9086f468f.b53a9989838cda1f.1930888dec90b76c
+    2a7097b23c824693
+  after
+    4acb14472e95166a.0bbeb4057968e7bd.896f57d2e6c92eff.db5ac6af3216429d
+    000000000000008c.000000000000000b.00000000000000ae.0000000000000053
+    014881a995085be2.99e2422213f5d1f4.697434e67611f55b.99c9b2c98c0bae53
+    1e23cb6323e1ca16.c6dc65b9086f468f.b53a9989838cda1f.1930888dec90b76c
+    2a7097b23c824693
+VPMOVZXBQ_256(mem)
+  before
+    a9565d239aec17f5.e0201b5f67e0be29.b2d6c0e73c1b5f0e.b83d467639a7642d
+    70af55cc22dae8be.a48d6f08fe9071c8.399ccf96cb06d89e.d0c8391b32edd031
+    5c44fb99ef597319.c7b4c2ca837d209f.38f90fb4d23a6e6b.58286de30dea59d6
+    49e4cc771d737533.a3e2101192340659.89bafb2b6cc6dda0.acaade3a632a3cc8
+    2898888cd33ab5b5
+  after
+    a9565d239aec17f5.e0201b5f67e0be29.b2d6c0e73c1b5f0e.b83d467639a7642d
+    0000000000000039.00000000000000a7.0000000000000064.000000000000002d
+    5c44fb99ef597319.c7b4c2ca837d209f.38f90fb4d23a6e6b.58286de30dea59d6
+    49e4cc771d737533.a3e2101192340659.89bafb2b6cc6dda0.acaade3a632a3cc8
+    2898888cd33ab5b5
+
+VPMOVZXBQ_256(reg)
+  before
+    273f6846f6a50047.135a4350c937aa38.95635649c84061a2.09ac0fe9b6b3e169
+    07eb79d26bf8582a.9671dc110faecd53.fa838fdfc12d6b28.9499c7d9cb0f36f3
+    23e7b79dcbbefb0b.aff713a70ae69bb0.2c8eb63d18886194.064da0e7c8e5976a
+    d6811e14b4832296.38b664fdd6ead07c.88d0cad169dc7e95.3b9614ffc842c1fa
+    0f3fa10de83170ce
+  after
+    273f6846f6a50047.135a4350c937aa38.95635649c84061a2.09ac0fe9b6b3e169
+    00000000000000c8.00000000000000e5.0000000000000097.000000000000006a
+    23e7b79dcbbefb0b.aff713a70ae69bb0.2c8eb63d18886194.064da0e7c8e5976a
+    d6811e14b4832296.38b664fdd6ead07c.88d0cad169dc7e95.3b9614ffc842c1fa
+    0f3fa10de83170ce
+VPMOVZXBQ_256(mem)
+  before
+    5e13c2fd43be5f12.7e03aba2c2d40c76.0e7b4cfe90c727e3.6a94c40551b5ffd5
+    04dff4bcf5f64bf3.76ba58b2903bf358.0d12459853885e10.2e27a2476ba02000
+    dd6fb1341be4f09d.19f223b2bb4714e8.1046cdb63c392e30.30d55e0154281dc4
+    c58f7753d194093c.c5f7070dde81abd1.f5e5604466e7566f.cceaf6a1a7d931ca
+    5eb26692014099c1
+  after
+    5e13c2fd43be5f12.7e03aba2c2d40c76.0e7b4cfe90c727e3.6a94c40551b5ffd5
+    0000000000000051.00000000000000b5.00000000000000ff.00000000000000d5
+    dd6fb1341be4f09d.19f223b2bb4714e8.1046cdb63c392e30.30d55e0154281dc4
+    c58f7753d194093c.c5f7070dde81abd1.f5e5604466e7566f.cceaf6a1a7d931ca
+    5eb26692014099c1
+
+VPMOVZXWQ_256(reg)
+  before
+    4279a840fde89153.980bc103321353fb.d415012f9577f3c0.97b9782eee9d91f8
+    d48aba17385e542c.32af0c325a6c8a06.a4970b847db42960.d28f9360ef679af8
+    703297844d2c20f9.6e46d2cb66ab6a8a.8fcb237831c5895e.82332bc686522d9a
+    72be3bf1d9e12f66.2a9e91ba71ddafb3.f3fb44774e354f65.8371bf4dce69080b
+    b015c8dfe4b8e577
+  after
+    4279a840fde89153.980bc103321353fb.d415012f9577f3c0.97b9782eee9d91f8
+    0000000000008233.0000000000002bc6.0000000000008652.0000000000002d9a
+    703297844d2c20f9.6e46d2cb66ab6a8a.8fcb237831c5895e.82332bc686522d9a
+    72be3bf1d9e12f66.2a9e91ba71ddafb3.f3fb44774e354f65.8371bf4dce69080b
+    b015c8dfe4b8e577
+VPMOVZXWQ_256(mem)
+  before
+    e7ebc36ae34c8109.3678a2cb7706bd1f.4181c4eb980d14ac.2a746aee7090b622
+    03be2dd9e73098ee.18acc97fc32908cf.8fbce74af64755a2.918292473163fb41
+    e05b81170d70e551.73a8ab775ad54a22.ef1b76c3a89830c1.8571b7f030395a6d
+    598e3b127119255f.a5b74421d897c0c5.3f69ee42c90b5f34.608cd453069e0e53
+    7f21e8de521f559e
+  after
+    e7ebc36ae34c8109.3678a2cb7706bd1f.4181c4eb980d14ac.2a746aee7090b622
+    0000000000002a74.0000000000006aee.0000000000007090.000000000000b622
+    e05b81170d70e551.73a8ab775ad54a22.ef1b76c3a89830c1.8571b7f030395a6d
+    598e3b127119255f.a5b74421d897c0c5.3f69ee42c90b5f34.608cd453069e0e53
+    7f21e8de521f559e
+
+VPMOVZXWQ_256(reg)
+  before
+    3e7aecfcad4769fb.4c23d8b52e361443.092490e8d8f9a564.5a74c9b476ac9f28
+    f9e4dd19b5a28616.93e6d2ec60d36e2a.fb3c8b38f68a36aa.1b068503ca88acc8
+    0dabb8a106bde99a.0ca3a7a324fdee40.d64b327dcfd3af44.60ec9e1de2aa4141
+    d41b78003b23cf34.9125d2c695bf51b0.f89d8023fe624cde.03f38eecd91e1bbe
+    e2e4d35eccf1f66c
+  after
+    3e7aecfcad4769fb.4c23d8b52e361443.092490e8d8f9a564.5a74c9b476ac9f28
+    00000000000060ec.0000000000009e1d.000000000000e2aa.0000000000004141
+    0dabb8a106bde99a.0ca3a7a324fdee40.d64b327dcfd3af44.60ec9e1de2aa4141
+    d41b78003b23cf34.9125d2c695bf51b0.f89d8023fe624cde.03f38eecd91e1bbe
+    e2e4d35eccf1f66c
+VPMOVZXWQ_256(mem)
+  before
+    d78ee85ed62e8e77.ab8019a2f1617190.003acf42d02653a7.bc7e719620c24823
+    c0bc49d813e29e0a.ee2598f3c3010e59.33ac1b01f03caf51.7d390142d080e1c0
+    773972b8a018e352.f957f0604d91e03b.084831f1121022d9.991c2d93ab275060
+    d9d2e0ea99dc197b.28631c532c9d24e3.59da8dfc51ab686c.6a71f0f64c43d4b0
+    4e8546d55061a75b
+  after
+    d78ee85ed62e8e77.ab8019a2f1617190.003acf42d02653a7.bc7e719620c24823
+    000000000000bc7e.0000000000007196.00000000000020c2.0000000000004823
+    773972b8a018e352.f957f0604d91e03b.084831f1121022d9.991c2d93ab275060
+    d9d2e0ea99dc197b.28631c532c9d24e3.59da8dfc51ab686c.6a71f0f64c43d4b0
+    4e8546d55061a75b
+
+VPMOVZXWQ_256(reg)
+  before
+    9fa42b9e520c060e.c3540d5a193afbb0.d7931a3afcb016fd.032dab10ca1b3d35
+    bb1a9bbcefd02d75.0f8977f53c3f471d.6234e6805856f134.e30f0718986b5c61
+    fc33939bc23a573b.9a3d9aa51ff6b6f0.25917a90dc1bf235.d34a1effd8a8821b
+    bf3a0ea668d5c20d.403ef058dd6c0752.7cf8d4d8258c55ac.b0ab6bb3a5dc6b90
+    56ff6a1f1b16d2ec
+  after
+    9fa42b9e520c060e.c3540d5a193afbb0.d7931a3afcb016fd.032dab10ca1b3d35
+    000000000000d34a.0000000000001eff.000000000000d8a8.000000000000821b
+    fc33939bc23a573b.9a3d9aa51ff6b6f0.25917a90dc1bf235.d34a1effd8a8821b
+    bf3a0ea668d5c20d.403ef058dd6c0752.7cf8d4d8258c55ac.b0ab6bb3a5dc6b90
+    56ff6a1f1b16d2ec
+VPMOVZXWQ_256(mem)
+  before
+    a20f9730585f755a.617d084b7c2da897.de57f7f893acf472.c2b3efc3ce345544
+    6eaa6ed075c50e07.3c467df69ace4584.4e532a735cc23a7a.5510c7bd74a030aa
+    979b6cec9053591e.ade269115f46d680.6dff05b455ba9596.90595932b25b2089
+    f9ad0c71c41613cc.109dc909671e9738.172704a799a1c1f4.cfdb9f8e25f1618e
+    6de1973e68ee3165
+  after
+    a20f9730585f755a.617d084b7c2da897.de57f7f893acf472.c2b3efc3ce345544
+    000000000000c2b3.000000000000efc3.000000000000ce34.0000000000005544
+    979b6cec9053591e.ade269115f46d680.6dff05b455ba9596.90595932b25b2089
+    f9ad0c71c41613cc.109dc909671e9738.172704a799a1c1f4.cfdb9f8e25f1618e
+    6de1973e68ee3165
+
+VPMOVZXDQ_256(reg)
+  before
+    c8b93cac18dfcab9.70aeca492e19f93d.c2c2984a4de4c458.2897a338458279bd
+    3bad8a46d04f6937.d8682262ea68c49c.1d9fd241ad23998c.7c1b5f53746a7a20
+    210b7e762ccb498a.0da891a613103316.7e7e74582467517f.ef7eb3e443647f47
+    d81d13aac9dea75f.eb3a9203c51c00d6.41ad78fd4d3d29dd.5d8e1bd7cd7c465e
+    a21514182ebf8993
+  after
+    c8b93cac18dfcab9.70aeca492e19f93d.c2c2984a4de4c458.2897a338458279bd
+    000000007e7e7458.000000002467517f.00000000ef7eb3e4.0000000043647f47
+    210b7e762ccb498a.0da891a613103316.7e7e74582467517f.ef7eb3e443647f47
+    d81d13aac9dea75f.eb3a9203c51c00d6.41ad78fd4d3d29dd.5d8e1bd7cd7c465e
+    a21514182ebf8993
+VPMOVZXDQ_256(mem)
+  before
+    9ae018948338050f.bb30444d4314bf61.4ee9a1641d98e809.c276dc9bc5305c54
+    21bba535e8f37501.259010cb35facd3d.12833ab53690a7db.5d269b9e27cc288d
+    137236e978fd9693.748970903b1b0d9f.13d2d9e22d11f877.6e08b172109ec737
+    4cd0479b4f6124f1.02666208f203ba32.2da3fbd71d27980a.516a1b831b3176fc
+    6296d43de5127088
+  after
+    9ae018948338050f.bb30444d4314bf61.4ee9a1641d98e809.c276dc9bc5305c54
+    000000004ee9a164.000000001d98e809.00000000c276dc9b.00000000c5305c54
+    137236e978fd9693.748970903b1b0d9f.13d2d9e22d11f877.6e08b172109ec737
+    4cd0479b4f6124f1.02666208f203ba32.2da3fbd71d27980a.516a1b831b3176fc
+    6296d43de5127088
+
+VPMOVZXDQ_256(reg)
+  before
+    fddad70c09cbf288.a7a355378a2bdb48.2c74e09ff63f11a3.3bc21b8123dc43bf
+    7e80235c24ea38a8.02b5dba8456876c4.4f00e8c1e2594d9e.1bfbb5ca5a3eb4c3
+    41d5b19ad1fb7e94.38d354dc9a23b390.c55476db52e0abce.a81a459fde59a942
+    a1257e30ac89fff7.25c93fbfa8684bd9.ecbd8457e35d67df.beeb48edcc37dc67
+    3839399f40e6095e
+  after
+    fddad70c09cbf288.a7a355378a2bdb48.2c74e09ff63f11a3.3bc21b8123dc43bf
+    00000000c55476db.0000000052e0abce.00000000a81a459f.00000000de59a942
+    41d5b19ad1fb7e94.38d354dc9a23b390.c55476db52e0abce.a81a459fde59a942
+    a1257e30ac89fff7.25c93fbfa8684bd9.ecbd8457e35d67df.beeb48edcc37dc67
+    3839399f40e6095e
+VPMOVZXDQ_256(mem)
+  before
+    f4d193a05572ee55.fcbb878c5220f97d.a463153b8844fdcb.1e8610a3305ebd7f
+    cd7fd5de27e64576.ade5c7185f4ca5d3.936d543d59c28391.b8fd1529d66fe957
+    9e0f7844d34ecbed.10ed3a426e9a42a5.cdb276b134ee9a58.166c8f57701a2616
+    454dfabe75b63be7.8020dd751b960a9e.2d00f98438d5fe4b.95217a989bedb166
+    8f66d358f274c5f4
+  after
+    f4d193a05572ee55.fcbb878c5220f97d.a463153b8844fdcb.1e8610a3305ebd7f
+    00000000a463153b.000000008844fdcb.000000001e8610a3.00000000305ebd7f
+    9e0f7844d34ecbed.10ed3a426e9a42a5.cdb276b134ee9a58.166c8f57701a2616
+    454dfabe75b63be7.8020dd751b960a9e.2d00f98438d5fe4b.95217a989bedb166
+    8f66d358f274c5f4
+
+VPMOVZXDQ_256(reg)
+  before
+    61889403123aa06b.9c05d638282b5390.5bcbab1d03ca3a6b.912159a07e826a97
+    67d3bb0596cb7c78.8102889e08b8cd13.fc379fa6c1c40eb8.d3e210f324029b67
+    fd9244ca1ab396c6.ce128cdd3269659d.beb3b87cf20fc130.d10f9c68465f4de9
+    7f1329be3b7f2902.61ff5edfc14bd95a.ff8aef0b31389080.657478ebffa73c46
+    6ddc20686be623ac
+  after
+    61889403123aa06b.9c05d638282b5390.5bcbab1d03ca3a6b.912159a07e826a97
+    00000000beb3b87c.00000000f20fc130.00000000d10f9c68.00000000465f4de9
+    fd9244ca1ab396c6.ce128cdd3269659d.beb3b87cf20fc130.d10f9c68465f4de9
+    7f1329be3b7f2902.61ff5edfc14bd95a.ff8aef0b31389080.657478ebffa73c46
+    6ddc20686be623ac
+VPMOVZXDQ_256(mem)
+  before
+    c31510cba727bf47.49a0684e95ba72d8.14967b92d269e375.190741c01bcab753
+    44e9c500cf76cc43.b786fbe4c3f0adf3.c5a35ee080d0401a.6a77ab054b517256
+    cd25b9f3fedf05cb.2511e1ee61ae1600.4ef183b7e88bab77.4c2728485e5afc34
+    38956a90506f280c.ef8d13d60c7fe8aa.8c4e670225a6e2b5.1d61b4f3ef6f929a
+    37714c749b1f7034
+  after
+    c31510cba727bf47.49a0684e95ba72d8.14967b92d269e375.190741c01bcab753
+    0000000014967b92.00000000d269e375.00000000190741c0.000000001bcab753
+    cd25b9f3fedf05cb.2511e1ee61ae1600.4ef183b7e88bab77.4c2728485e5afc34
+    38956a90506f280c.ef8d13d60c7fe8aa.8c4e670225a6e2b5.1d61b4f3ef6f929a
+    37714c749b1f7034
+
+VMPSADBW_256_0x0(reg)
+  before
+    f8a5ea36fdf3d1ad.620553c4e231ee31.71468e0a5ff0609e.5c8484ac532d9f03
+    ba478ca5b279f2b2.2841f179cf321667.07884ff5f78bba87.986158a3902d9e8b
+    daa52d2d553d0fef.6414bf9d347d5ad9.0d9e510370df3213.1daf5ed2f5b19d79
+    b509ca3a82c9640f.f34b381a2d1e77b4.dfd590a0647503eb.c73b1226a0c656fb
+    72d0f189ad77863b
+  after
+    01c301bd0104013f.00aa01dd0182019c.00a8008200e4011c.010a0104010800fc
+    ba478ca5b279f2b2.2841f179cf321667.07884ff5f78bba87.986158a3902d9e8b
+    daa52d2d553d0fef.6414bf9d347d5ad9.0d9e510370df3213.1daf5ed2f5b19d79
+    b509ca3a82c9640f.f34b381a2d1e77b4.dfd590a0647503eb.c73b1226a0c656fb
+    72d0f189ad77863b
+VMPSADBW_256_0x0(mem)
+  before
+    fa3c75e837d0e965.a5c05d38d6ab2cbe.b1b3daded4212924.d879093872db6abe
+    3c491c305add3aa6.0716e493ed6fa4a9.7a1621d447932c54.56d6b637339ca336
+    12c5614b33ab362a.37575ab8629f087c.2a4187e8a2803b71.b438950a4545e9ff
+    597ac127dd46991c.92cebb11d1ca93e3.9dff8a0600f213a6.4deba11b446179c6
+    7f3ad6d8cb7c8f37
+  after
+    fa3c75e837d0e965.a5c05d38d6ab2cbe.b1b3daded4212924.d879093872db6abe
+    3c491c305add3aa6.0716e493ed6fa4a9.7a1621d447932c54.56d6b637339ca336
+    01a9016e01100247.018f013600e200e0.014e00f9011700f4.014701410130013f
+    597ac127dd46991c.92cebb11d1ca93e3.9dff8a0600f213a6.4deba11b446179c6
+    7f3ad6d8cb7c8f37
+
+VMPSADBW_256_0x0(reg)
+  before
+    a57331ab772266fd.ed35b6ae75b81ea9.72c9030cd7798389.af1ea51a7ef76f20
+    1ae0ad02e3e03cc5.aac2bece170f83fc.34922f130f3a121a.3c685411379a0d0b
+    3cce4648ab414b3b.6cec5472dd568142.34763a9416987c44.20aa14d548e8a792
+    6589f8e96cd2cf0a.0e81f486e69ad7a6.cec120fa871fffb0.37b15f53ccecfae2
+    5d46b378dfb2c126
+  after
+    00c901b901290168.00fb0134010101c9.01c7019901570160.01a5015b017a0180
+    1ae0ad02e3e03cc5.aac2bece170f83fc.34922f130f3a121a.3c685411379a0d0b
+    3cce4648ab414b3b.6cec5472dd568142.34763a9416987c44.20aa14d548e8a792
+    6589f8e96cd2cf0a.0e81f486e69ad7a6.cec120fa871fffb0.37b15f53ccecfae2
+    5d46b378dfb2c126
+VMPSADBW_256_0x0(mem)
+  before
+    6e388b2f9e47b98b.f35cbf51c21e06de.6e4b1bf64be64056.5ebfddb1ff5cd50d
+    4652636324b69e3c.409598ec48b12a65.671743ae2b46777b.40bb6d2519da3a05
+    c15fb8028e0b2c67.aa7e7d269a187849.d5b1ea9b9fc73844.d003cdc272256c44
+    ba2d04f7f8531e35.8b646c6b55de2b36.94e58ba7c57441db.6ae1f8f4a5caa577
+    6aa2ea284e54224a
+  after
+    6e388b2f9e47b98b.f35cbf51c21e06de.6e4b1bf64be64056.5ebfddb1ff5cd50d
+    4652636324b69e3c.409598ec48b12a65.671743ae2b46777b.40bb6d2519da3a05
+    016000c5017d0199.0223016701b301aa.016101ea011a019e.01110252014f0207
+    ba2d04f7f8531e35.8b646c6b55de2b36.94e58ba7c57441db.6ae1f8f4a5caa577
+    6aa2ea284e54224a
+
+VMPSADBW_256_0x0(reg)
+  before
+    2b92a0c80b501f69.0f86c52e7d9932d5.41946127148f81d9.807fa3bfb9594c6c
+    0bfd14417549d77e.9b37769339e92171.265756c774b8b4de.744bacd096831624
+    652f44002acb8738.390c94124950aa35.97fc49b511e400f0.4e1424c579fd5b2f
+    95732b70c6626b41.c7d09998c8d9874e.f0ce355f859fa3bc.e9a786897dd4d6b8
+    20d04e0abe1244ec
+  after
+    011900cd013400fd.0053019500b4016e.0150008f017b01a9.015b00ef00ff00e7
+    0bfd14417549d77e.9b37769339e92171.265756c774b8b4de.744bacd096831624
+    652f44002acb8738.390c94124950aa35.97fc49b511e400f0.4e1424c579fd5b2f
+    95732b70c6626b41.c7d09998c8d9874e.f0ce355f859fa3bc.e9a786897dd4d6b8
+    20d04e0abe1244ec
+VMPSADBW_256_0x0(mem)
+  before
+    d15bf83359c561f7.f717c5fde49bbf46.2051030fd39075e8.8e1816306f76d7ed
+    d61401f069f9e904.e6650f122001bef2.1f594d648582302e.cb28e89468f4d930
+    0dc7e42d0bb89740.c0aa031d1721a5f2.a2b5f384faba734d.0448a8f60ea5e531
+    503f1dd75b1128d6.e0329f896486b0f2.8332725a4f45fb71.95c550c4fd16369b
+    daeade6ad0d2091b
+  after
+    d15bf83359c561f7.f717c5fde49bbf46.2051030fd39075e8.8e1816306f76d7ed
+    d61401f069f9e904.e6650f122001bef2.1f594d648582302e.cb28e89468f4d930
+    01be00e201bc011c.01de02420283020b.01240158014a0114.0181010d00640144
+    503f1dd75b1128d6.e0329f896486b0f2.8332725a4f45fb71.95c550c4fd16369b
+    daeade6ad0d2091b
+
+VMPSADBW_256_0x39(reg)
+  before
+    2f054e5224659a5c.7d4a28d8730d58f3.a148dec3a4bc1a9d.a09945d1a02d84c5
+    f1619ae9945c240b.6eb2821d72bae2c2.613abc357250209f.d3b9e7d70881ca75
+    7a49c09bbc42e5d4.0144a59371238370.7a52364c6bcdfea6.fa5dd757a44a88af
+    270abbd539a41662.10cc0f248f54f729.4ade47752abff05c.ef508e3d8f967b9d
+    8f608975e5705f6b
+  after
+    009a012b01950159.012500fd00bb0131.019b0182017f0113.011a018601410141
+    f1619ae9945c240b.6eb2821d72bae2c2.613abc357250209f.d3b9e7d70881ca75
+    7a49c09bbc42e5d4.0144a59371238370.7a52364c6bcdfea6.fa5dd757a44a88af
+    270abbd539a41662.10cc0f248f54f729.4ade47752abff05c.ef508e3d8f967b9d
+    8f608975e5705f6b
+VMPSADBW_256_0x39(mem)
+  before
+    b75745ecc3e4ef46.53f08702a70cf662.78153cbee55afa18.2b28eb1a4cb2316d
+    41023d8c44ffe95a.5c47208da009bf7f.16eda64c9240476a.7b7d1ea96c33fe86
+    0a2ced4285cd06d2.9d5b83e4c324af66.c41ecabaaf139b4b.9429dc8c27ce9353
+    efa3d2fba25805db.7277aa72aaebffc3.5f7625f45adeb2e6.d4772231180d2b7f
+    95b5eb03dc7e03b7
+  after
+    b75745ecc3e4ef46.53f08702a70cf662.78153cbee55afa18.2b28eb1a4cb2316d
+    41023d8c44ffe95a.5c47208da009bf7f.16eda64c9240476a.7b7d1ea96c33fe86
+    01be00c300fb0251.017f00f1013000ef.0116013101040201.00f00126025e00cb
+    efa3d2fba25805db.7277aa72aaebffc3.5f7625f45adeb2e6.d4772231180d2b7f
+    95b5eb03dc7e03b7
+
+VMPSADBW_256_0x39(reg)
+  before
+    342d336e0ead57a6.ca3266a1b5aea0a0.37e993a3f1e9ee41.c4bf32e6afad4767
+    0d2cf6de4a2463fa.78a42722ddda944e.48fb39e335abb68d.cdc66e7cc98c18fb
+    7dfe31bf2d71625c.d5c6906933e99d11.01fa999e11bb9452.575653a2c488dfce
+    deefde7e5320917a.bd641e62d6e67714.bd32ad4022a8c43d.3e3d5f44bdad580c
+    5e450d4fd00540e0
+  after
+    017b014d017e017a.02040080020e0106.0119013401540127.00d700c9015b013c
+    0d2cf6de4a2463fa.78a42722ddda944e.48fb39e335abb68d.cdc66e7cc98c18fb
+    7dfe31bf2d71625c.d5c6906933e99d11.01fa999e11bb9452.575653a2c488dfce
+    deefde7e5320917a.bd641e62d6e67714.bd32ad4022a8c43d.3e3d5f44bdad580c
+    5e450d4fd00540e0
+VMPSADBW_256_0x39(mem)
+  before
+    933cd9ad189e5476.8d4bfb8556bb2c00.0c4a4bf9dfdddd84.daef733503fb81fa
+    b9ec3f4cb1834dfb.e65d8442d5d06e9a.9e44951a6cda8c8c.b37de6ea51420834
+    ac22bc17b8c1ea9b.4573731f6aeb94f3.4f1d77b199ea3f59.a32703c9a7089597
+    48aacaf94863e582.07d7c58ab197dab7.fba36daa8119b417.083ac440a1da64d1
+    3d0327badc43b08c
+  after
+    933cd9ad189e5476.8d4bfb8556bb2c00.0c4a4bf9dfdddd84.daef733503fb81fa
+    b9ec3f4cb1834dfb.e65d8442d5d06e9a.9e44951a6cda8c8c.b37de6ea51420834
+    00ed00b60172013f.007c016201b70134.00fa0139014501c1.00f90040010c01a2
+    48aacaf94863e582.07d7c58ab197dab7.fba36daa8119b417.083ac440a1da64d1
+    3d0327badc43b08c
+
+VMPSADBW_256_0x39(reg)
+  before
+    9dcc27a3f4cfb674.694fe7e07e75fbdb.86d677ed47607c93.7ea0f3f24171a5f1
+    86e1c066840ab236.ebdf8fb77504e8d2.1fbc84b6c7d2b533.b4e18673f400cf14
+    5290ee712881df7e.aa243c6a4a1b6794.2ed5e950ce7ac243.7932a11bb6d1edab
+    5f24ae2f7dc07af7.82eb6ce518c6354d.0f6ca027f7e3df6e.a95fc0d4a4f1bce3
+    20335f8cda6bf8e8
+  after
+    015a01690145012f.019c012b00a4018d.01e301160173015d.01c300bc021d00e2
+    86e1c066840ab236.ebdf8fb77504e8d2.1fbc84b6c7d2b533.b4e18673f400cf14
+    5290ee712881df7e.aa243c6a4a1b6794.2ed5e950ce7ac243.7932a11bb6d1edab
+    5f24ae2f7dc07af7.82eb6ce518c6354d.0f6ca027f7e3df6e.a95fc0d4a4f1bce3
+    20335f8cda6bf8e8
+VMPSADBW_256_0x39(mem)
+  before
+    ba7cfb2e734b5de5.07e8fb0d1f51bf4e.4f009a15fc120e28.1ecfa7a7df994860
+    52040ea68b9ea607.a729d175a9c2ea2f.ec2f42e4110aad52.b748f93d212938c6
+    c69816e03f6f9179.9c332cd4b79f3645.3744e04074bad0f7.35249253591eec4c
+    f1048ec8aacad768.40520897e672e03c.0b0bf113402f3142.f6af6e562405a09e
+    55358ab31e698f66
+  after
+    ba7cfb2e734b5de5.07e8fb0d1f51bf4e.4f009a15fc120e28.1ecfa7a7df994860
+    52040ea68b9ea607.a729d175a9c2ea2f.ec2f42e4110aad52.b748f93d212938c6
+    01d601b600f800cd.01b300e2025300d7.009b017b00fd01dc.0144027101ba0137
+    f1048ec8aacad768.40520897e672e03c.0b0bf113402f3142.f6af6e562405a09e
+    55358ab31e698f66
+
+VMPSADBW_256_0x32(reg)
+  before
+    ae02e0d4e2d6f653.ae14f34ae9bc37ff.f0d26228d1c924c2.444fef4b91748c60
+    5d616e270dd8110f.db94bf5217506b6b.09ff35f515303d80.bddd58d384959f7c
+    bda0301739fc1b47.534f70cd519330d8.e5247d694d316825.5481a796359f24c3
+    2c09201005cd52a6.f11381a5b28f4271.e18e36ef165ae15b.e3075982bf9dd861
+    483be8823e9b7681
+  after
+    00fc01a901f40092.022a0222013c01b9.00d9016c016701da.0181013901800129
+    5d616e270dd8110f.db94bf5217506b6b.09ff35f515303d80.bddd58d384959f7c
+    bda0301739fc1b47.534f70cd519330d8.e5247d694d316825.5481a796359f24c3
+    2c09201005cd52a6.f11381a5b28f4271.e18e36ef165ae15b.e3075982bf9dd861
+    483be8823e9b7681
+VMPSADBW_256_0x32(mem)
+  before
+    5de9d282cfa6bc4f.05e93c7e0bd8f0d9.93aa6ec857525c63.59895df50b37e4ce
+    00dc926f8dc964f9.a38c7fcde7a8318c.13e1b4205be83bda.aa61ede6c852ac2c
+    0be2a53395112aa8.643ee56936c9536a.4f84cd9bda5c9b01.2e62e22eeb39761e
+    5cc585bb0288cc8b.a34a6abe93c8901f.215f3724f1ba3805.42d8383a0d787e53
+    420eeb74cc9a0075
+  after
+    5de9d282cfa6bc4f.05e93c7e0bd8f0d9.93aa6ec857525c63.59895df50b37e4ce
+    00dc926f8dc964f9.a38c7fcde7a8318c.13e1b4205be83bda.aa61ede6c852ac2c
+    00ac011d009b0167.00d90114008d0101.016d00f4016a0176.019401a7015800f8
+    5cc585bb0288cc8b.a34a6abe93c8901f.215f3724f1ba3805.42d8383a0d787e53
+    420eeb74cc9a0075
+
+VMPSADBW_256_0x32(reg)
+  before
+    8a52f849c42b3730.cd52b0f4f13d04cc.bbfe0b389b2f2559.673d6da7bc0ecd11
+    76ee5a2690b76032.3c55a1c87d398f98.0aa4c244e98d4dc2.fbecec1056651752
+    622f0d75cccbb624.8399d425c38a281a.ea898d4c1a6b4606.ba362e4bdbcad2f3
+    aa610da415f277b5.7fecc5f6de3b8d7f.b9f968bec9574ad2.81e8b144684ab921
+    2acef0e719ef8a08
+  after
+    018f01d0011e00b4.011c01b0020701bf.0202022502c40212.01d9019c004f00bd
+    76ee5a2690b76032.3c55a1c87d398f98.0aa4c244e98d4dc2.fbecec1056651752
+    622f0d75cccbb624.8399d425c38a281a.ea898d4c1a6b4606.ba362e4bdbcad2f3
+    aa610da415f277b5.7fecc5f6de3b8d7f.b9f968bec9574ad2.81e8b144684ab921
+    2acef0e719ef8a08
+VMPSADBW_256_0x32(mem)
+  before
+    92b4672108c8fed3.aad0571e06b8dd8f.0d18f127eb5978f2.d1404d0593dd95d2
+    966693dc54ded4af.bec7e54f3caa255e.07ebd3a405eea5a0.8faa3a8d138765b1
+    10afee06173fc6c7.4194b5a352538ad0.4a2fe7594909d2b5.508229c1e5e3f41c
+    dd5cf68a6df69148.9181c386e540498e.b2b1a932d2b3b95c.6e15190fa77d7fbe
+    46b003e3f2df4144
+  after
+    92b4672108c8fed3.aad0571e06b8dd8f.0d18f127eb5978f2.d1404d0593dd95d2
+    966693dc54ded4af.bec7e54f3caa255e.07ebd3a405eea5a0.8faa3a8d138765b1
+    01340154016900b0.0146013100fa0154.00da00ec016b0150.015401b50140015a
+    dd5cf68a6df69148.9181c386e540498e.b2b1a932d2b3b95c.6e15190fa77d7fbe
+    46b003e3f2df4144
+
+VMPSADBW_256_0x32(reg)
+  before
+    359de4a76497785a.d93a26537310f15e.09db096490fc9e47.1b3c951bbcfa17c2
+    9528b9c898315eab.e013fb4f4498a234.05ee85a9f013c5a5.629e280024e9a812
+    c39f7db22b372fe4.ceb4ef69fc9a5ff7.e00631c1a011f954.61a1ddce258d2779
+    1b4d2cd2b93729b1.7fe8808db923e5d3.f86e0b193d837801.f513306fdcf15123
+    fabe9dd16521e23b
+  after
+    016a023b018600db.00ad0229015c023a.01a3019a00dd01f0.014201f3011701e7
+    9528b9c898315eab.e013fb4f4498a234.05ee85a9f013c5a5.629e280024e9a812
+    c39f7db22b372fe4.ceb4ef69fc9a5ff7.e00631c1a011f954.61a1ddce258d2779
+    1b4d2cd2b93729b1.7fe8808db923e5d3.f86e0b193d837801.f513306fdcf15123
+    fabe9dd16521e23b
+VMPSADBW_256_0x32(mem)
+  before
+    4c6fa1dfdb2a95ee.f97dc392ddbd86bd.cf7d29a8943deff2.a8740f1b62f57b58
+    c7f2b7845a162867.b97c3c60335383b4.9a3d66a4abf73b83.4b623735acf14104
+    47125baefff454d3.b79695a758875c43.bcf5b36e1a5a83b0.3f8581d2b60504b2
+    a89d0948e5cdd85e.4f17c9d3e7e54c16.11728df3fc7484a6.de29e85d1cbc010e
+    869a68447ba374c3
+  after
+    4c6fa1dfdb2a95ee.f97dc392ddbd86bd.cf7d29a8943deff2.a8740f1b62f57b58
+    c7f2b7845a162867.b97c3c60335383b4.9a3d66a4abf73b83.4b623735acf14104
+    0149019101cc0189.012a018601ce015b.017801d3016701e3.013800a901810268
+    a89d0948e5cdd85e.4f17c9d3e7e54c16.11728df3fc7484a6.de29e85d1cbc010e
+    869a68447ba374c3
+
+VMPSADBW_256_0x2b(reg)
+  before
+    9124fdf26f45987d.c55d3d3e29af6e33.dd4bd4507df890d9.757e6f1d6d51f990
+    5d12a4d3932eaaea.7c1f747de6a6d47f.bd7eb38ab54c6437.c4e5d5da8afb9f9b
+    44b2585383ebe6b4.a8af29ef39bcc36d.4bfb60ed2c6d03dc.da753b146f8032f3
+    a44e15dfdc078887.25d9d8813dfffa2a.e310d9e57de8ab75.93f81db937ec6ec3
+    ca3cf8b4fe490e38
+  after
+    01a701530091011c.01b3016000fa0179.00ea014900e80117.019d00e301e900d0
+    5d12a4d3932eaaea.7c1f747de6a6d47f.bd7eb38ab54c6437.c4e5d5da8afb9f9b
+    44b2585383ebe6b4.a8af29ef39bcc36d.4bfb60ed2c6d03dc.da753b146f8032f3
+    a44e15dfdc078887.25d9d8813dfffa2a.e310d9e57de8ab75.93f81db937ec6ec3
+    ca3cf8b4fe490e38
+VMPSADBW_256_0x2b(mem)
+  before
+    5d0b47f1e1a5d07d.d733d7e1390ecb10.cf69fd200e7b33e2.e10719de444896ae
+    2732865cfb0c6dbf.3aad9ac7378decfb.812b15b6c93a2bc0.a12d1d451e1a0032
+    047d32e16988a42a.2a085bfb710f27f3.19ea9b318a4a9ef0.7fcedf84a7e827ae
+    cfb7c56d46272fe9.018f15eb8420b7a5.72730b7c6cb747a0.d7355d097a4145ce
+    04b0923e33ae973d
+  after
+    5d0b47f1e1a5d07d.d733d7e1390ecb10.cf69fd200e7b33e2.e10719de444896ae
+    2732865cfb0c6dbf.3aad9ac7378decfb.812b15b6c93a2bc0.a12d1d451e1a0032
+    018d0173028200d7.01c401c70090016e.01910164011a016f.01a801bb01d8020f
+    cfb7c56d46272fe9.018f15eb8420b7a5.72730b7c6cb747a0.d7355d097a4145ce
+    04b0923e33ae973d
+
+VMPSADBW_256_0x2b(reg)
+  before
+    64897a916fbd58a8.66aebdeaaff5cb28.1c90c4010b4ddabc.6792e1828b8ce3fa
+    520d126dcaf9c5ba.a32c9546bffd3415.d85564aba321cae5.d613993104d52e2a
+    2a88543edfef1a20.64ffc96b934b25da.8f2bf254e728c3cc.9ac2b074f39ee45d
+    47463e704a2a9386.83f1d64746eb5ba3.9e5e696874ef021c.8e6ba13773f4c0bf
+    90d9e867a0e27f7b
+  after
+    01ff017300c800bf.0116010b0179016b.019c0152022500db.01fb017f00c80223
+    520d126dcaf9c5ba.a32c9546bffd3415.d85564aba321cae5.d613993104d52e2a
+    2a88543edfef1a20.64ffc96b934b25da.8f2bf254e728c3cc.9ac2b074f39ee45d
+    47463e704a2a9386.83f1d64746eb5ba3.9e5e696874ef021c.8e6ba13773f4c0bf
+    90d9e867a0e27f7b
+VMPSADBW_256_0x2b(mem)
+  before
+    7ada01ee9774ddbe.0793cb6fa8366b97.decf36c5f4ea929d.613ac553e501c482
+    293868b973b795b4.c4bbf8a7949fe0ff.4f6467d0ba5386f4.340b0281d6ea42a9
+    7ac09ab551b66488.dc09bf85abf22b6c.b47ee456b432f2d3.731c1c5fe537bb3e
+    473e12cc4c7e0666.a9ca1e7388bb8b88.e7e72a42fd949367.7abb1057ab7369ed
+    a532d9d7c62b8961
+  after
+    7ada01ee9774ddbe.0793cb6fa8366b97.decf36c5f4ea929d.613ac553e501c482
+    293868b973b795b4.c4bbf8a7949fe0ff.4f6467d0ba5386f4.340b0281d6ea42a9
+    00720127010c010b.011e01020177014a.02230139019f01e6.01fc01ef019b004b
+    473e12cc4c7e0666.a9ca1e7388bb8b88.e7e72a42fd949367.7abb1057ab7369ed
+    a532d9d7c62b8961
+
+VMPSADBW_256_0x2b(reg)
+  before
+    50ce7349d1e95747.6e7d4cec811a377c.894a10dfc8843aff.c66db381b18425db
+    d7dbda1b693b0e4a.c94bc5000b96b2f4.d6d5913306db757e.2bdafdfded0f635d
+    96a40bb82aadeb17.3572f7f407fe34fa.eeb79edddf4b78b1.f3fb83a3cd400b16
+    e977008bafca2a5a.8ec060b4905f79bb.2b3c3148ee617e43.fa9bc15f6c23d634
+    1d88341ee6c483e3
+  after
+    0275024301c501fe.01420126014701e1.0127012801580165.00c90172014e0164
+    d7dbda1b693b0e4a.c94bc5000b96b2f4.d6d5913306db757e.2bdafdfded0f635d
+    96a40bb82aadeb17.3572f7f407fe34fa.eeb79edddf4b78b1.f3fb83a3cd400b16
+    e977008bafca2a5a.8ec060b4905f79bb.2b3c3148ee617e43.fa9bc15f6c23d634
+    1d88341ee6c483e3
+VMPSADBW_256_0x2b(mem)
+  before
+    368d56cb5830cc4f.2c9eb702941e06be.b1ff7b2cc2c43c63.eaaf48e0cfa8c5e1
+    2275a551dd726ea3.ba672c887635bdf0.78fcc448ba3a3b1d.885ede111fac8736
+    bd0d9c9e9297250b.f11c598af09c899b.c082b8f494cc2f16.5f93ef477afa00ef
+    e321b79d92aaadb5.2c0a3c729fdea66c.655fd11c6b86d779.cc9b78ee7b1d6db8
+    2cc27472bea10a3c
+  after
+    368d56cb5830cc4f.2c9eb702941e06be.b1ff7b2cc2c43c63.eaaf48e0cfa8c5e1
+    2275a551dd726ea3.ba672c887635bdf0.78fcc448ba3a3b1d.885ede111fac8736
+    0191015c011501c7.014200af010d01d6.01f5019701da0148.00eb01f7020c00fb
+    e321b79d92aaadb5.2c0a3c729fdea66c.655fd11c6b86d779.cc9b78ee7b1d6db8
+    2cc27472bea10a3c
+
+VMPSADBW_256_0x24(reg)
+  before
+    d953df40e0131328.707d733afab7c1ca.c77ccfad1e88520f.435d8dad5b74ed73
+    309cb5c27dfec428.40ed4b61e5cb1e79.1dc011a80925c72f.364a679181a32f30
+    8de7f26630ef58e7.2f3cbbfe6ff17fec.8c21fbcdfe414278.1af0dcb6f81f56db
+    4c82939695700c11.19383ffdb635a24f.6fea8a8a9669fe98.cb1c6607ddf221a1
+    259a83704c2a4aad
+  after
+    011b0089016e0124.01bf015e020700f2.016a027300ab0212.024700f201600148
+    309cb5c27dfec428.40ed4b61e5cb1e79.1dc011a80925c72f.364a679181a32f30
+    8de7f26630ef58e7.2f3cbbfe6ff17fec.8c21fbcdfe414278.1af0dcb6f81f56db
+    4c82939695700c11.19383ffdb635a24f.6fea8a8a9669fe98.cb1c6607ddf221a1
+    259a83704c2a4aad
+VMPSADBW_256_0x24(mem)
+  before
+    0435aedc5fd28e2c.c9b793c0490f1b53.daab534bd3a341cf.2168bb496f273839
+    44bb633935f7a94a.60d3ee4fe758c359.4e6274d2e4481998.00e78978250a2c07
+    c1f61f72e7a45632.6d21a0af0cd63ecf.51291d800530e5d6.66b3f082539b16af
+    57b35c7494e55211.4cefa54c5315c960.bfccca3f516562b4.b118ecd3956832dd
+    3b617ad788fcbb3c
+  after
+    0435aedc5fd28e2c.c9b793c0490f1b53.daab534bd3a341cf.2168bb496f273839
+    44bb633935f7a94a.60d3ee4fe758c359.4e6274d2e4481998.00e78978250a2c07
+    0102010201680193.0184016001a501b2.019f016b01500114.00ce01ad014f01bf
+    57b35c7494e55211.4cefa54c5315c960.bfccca3f516562b4.b118ecd3956832dd
+    3b617ad788fcbb3c
+
+VMPSADBW_256_0x24(reg)
+  before
+    62dc95fac8e4ee79.e2be982955c75912.5987fa9259a19fb8.7416f7fde4f54c5e
+    80d339a9efab063f.3de34e7e48552662.f0379aedb907fd84.4cd520a5dbec5f01
+    f293624e9cdd403c.46eefb60899b772c.6d4981ca0fd21f70.22d3c223515456c9
+    15680d566907d819.d8ab19b933a6069d.2c0aab93f88f4127.d4dd5863633befe1
+    3dbf5e512cade376
+  after
+    01a1015500ce00fa.010001d00136010f.01070207018401a1.019e00f2016300e0
+    80d339a9efab063f.3de34e7e48552662.f0379aedb907fd84.4cd520a5dbec5f01
+    f293624e9cdd403c.46eefb60899b772c.6d4981ca0fd21f70.22d3c223515456c9
+    15680d566907d819.d8ab19b933a6069d.2c0aab93f88f4127.d4dd5863633befe1
+    3dbf5e512cade376
+VMPSADBW_256_0x24(mem)
+  before
+    394550d9c9b4f1b4.439e342ef2b40a84.cfe5267763818fe1.89c615b510c89e56
+    a33babe7555fd3c6.d980d541d4701229.06699d853438d024.dfc8ba9df20c73a9
+    596cea68edb746d9.345cebfaaac82bb4.5b03facfc2d88390.8c5e96b63ae4fccb
+    35a68946acca0618.ae7c73c7104792d0.a97fba402a6c6554.ebd2a56c85de7569
+    5872e32a6f85192e
+  after
+    394550d9c9b4f1b4.439e342ef2b40a84.cfe5267763818fe1.89c615b510c89e56
+    a33babe7555fd3c6.d980d541d4701229.06699d853438d024.dfc8ba9df20c73a9
+    01cc00ea010e01fd.01c301040118015b.00bf015801e90118.0133021700b90132
+    35a68946acca0618.ae7c73c7104792d0.a97fba402a6c6554.ebd2a56c85de7569
+    5872e32a6f85192e
+
+VMPSADBW_256_0x24(reg)
+  before
+    2e884d5e936625c7.15b3046fafa3ceb0.a42d6713a4798229.cba957c68701319a
+    cb61de738d0cd5e0.d360d8cd114e5bcc.72bbc54affeb396d.9f4d4f4df6a1a58f
+    8a4892d6fa036424.4d797f4eefd86999.747288d8bf28f145.ff361dbf935b7b5e
+    c68b65f175d70f3f.5dca77dd644cb443.069dac2980bde760.c9323d0978386f34
+    d70b2c17c4463f3c
+  after
+    00aa0127016001e1.019700c5005c0137.016401540182014d.00c900a100a70057
+    cb61de738d0cd5e0.d360d8cd114e5bcc.72bbc54affeb396d.9f4d4f4df6a1a58f
+    8a4892d6fa036424.4d797f4eefd86999.747288d8bf28f145.ff361dbf935b7b5e
+    c68b65f175d70f3f.5dca77dd644cb443.069dac2980bde760.c9323d0978386f34
+    d70b2c17c4463f3c
+VMPSADBW_256_0x24(mem)
+  before
+    068e65d69090a5a3.dd7454319b1512df.e11e3b668cb7f7f5.848a2daadd345668
+    33876331fb225e95.29515a030749a9ae.b34347d58423efdc.4a8308c5721b7b09
+    38c1a5131e09253d.086c73d156fd0f58.b1031816689e5824.b4d638e7dcfe92f1
+    f20aa46a1850b8c8.d4129b0923bf818a.b52b29155334edf8.1ecdb97db768d7c9
+    e4b487f29ee58540
+  after
+    068e65d69090a5a3.dd7454319b1512df.e11e3b668cb7f7f5.848a2daadd345668
+    33876331fb225e95.29515a030749a9ae.b34347d58423efdc.4a8308c5721b7b09
+    009d01fa01e10103.01fb016200de01d2.014801aa01120177.021900e100a4018d
+    f20aa46a1850b8c8.d4129b0923bf818a.b52b29155334edf8.1ecdb97db768d7c9
+    e4b487f29ee58540
+
+VMPSADBW_256_0x1d(reg)
+  before
+    62d99fb12d01d900.3e2cde210204d162.eb8ece150b1a3bf0.9c87f6bf61f06c84
+    f487fc2801490fb5.f6f5cd24fa302c36.a72e0963a99b7835.42e3fbfeafde8ef6
+    f6099ac2b548630c.f72fef5f1ce08770.653d475e99cd7506.840bb4c0580a1277
+    c4ac75ebe68b10b1.1da7c0be83209c3e.82068472783c6e0e.3cca9eef7981b236
+    47ee34792d4f2b5d
+  after
+    01020222019401bd.0173013602c30125.00c001030120017c.018100cb00f0019f
+    f487fc2801490fb5.f6f5cd24fa302c36.a72e0963a99b7835.42e3fbfeafde8ef6
+    f6099ac2b548630c.f72fef5f1ce08770.653d475e99cd7506.840bb4c0580a1277
+    c4ac75ebe68b10b1.1da7c0be83209c3e.82068472783c6e0e.3cca9eef7981b236
+    47ee34792d4f2b5d
+VMPSADBW_256_0x1d(mem)
+  before
+    8141f249917e3919.babc890f2f9d5350.4528ba2d4bfd28c9.58d6bc0be2759ffa
+    c690544ac01c9895.3385d39b2d0a6793.49805b999182e740.44f9ec9572034376
+    f2a7d76ad73403fe.8d534ef97b5e8a29.06791eec71bc94cd.a2bb0e7dc472972d
+    e151f595f1d3377f.2372f696b626f6bc.58e17f1306b6ec9c.cf68202d754fd7cc
+    254b1d1321253eff
+  after
+    8141f249917e3919.babc890f2f9d5350.4528ba2d4bfd28c9.58d6bc0be2759ffa
+    c690544ac01c9895.3385d39b2d0a6793.49805b999182e740.44f9ec9572034376
+    012f016601190103.010901b001340160.014c00e2019c00ed.00f0028b01c800f1
+    e151f595f1d3377f.2372f696b626f6bc.58e17f1306b6ec9c.cf68202d754fd7cc
+    254b1d1321253eff
+
+VMPSADBW_256_0x1d(reg)
+  before
+    01b2029962800a71.705c2cb52b04ef45.502dc7df79ede8f9.1b82fafb6c7cabdb
+    bfe7c92dd7ed75ce.7892f8b7a0d3e97b.72d2bd3f61409b8b.2b290c8fc01b8cb3
+    bb3770391af7bbc3.d8c1d3876c4ddf4f.e4abd52109aa4d1f.64a230bb1d9e4d53
+    51eef22bc72b1afc.6bb33b12ac7d8eea.01050af30db73861.a2b8e26ba011a7e5
+    c1399e8a64815995
+  after
+    010d013e013501a4.0198018701800172.00f2016800960100.011600e501540102
+    bfe7c92dd7ed75ce.7892f8b7a0d3e97b.72d2bd3f61409b8b.2b290c8fc01b8cb3
+    bb3770391af7bbc3.d8c1d3876c4ddf4f.e4abd52109aa4d1f.64a230bb1d9e4d53
+    51eef22bc72b1afc.6bb33b12ac7d8eea.01050af30db73861.a2b8e26ba011a7e5
+    c1399e8a64815995
+VMPSADBW_256_0x1d(mem)
+  before
+    9defe00786f91d90.dd584b6e7b13cc25.0d35aa427c6fb17b.272c58200af498fc
+    11a725cb2185b102.bbc0786ed13e0de9.9a129e05f730052c.b06bbc149cecab9c
+    fb2de8c35232ce17.4774749765351bf4.ee18934639cb4629.fa10303b5e2babef
+    364da5db340b33fa.ddbe3b56d58630f3.e51103f05f4c309f.5f65b201ec3ed59e
+    3cb83dd2e3af6458
+  after
+    9defe00786f91d90.dd584b6e7b13cc25.0d35aa427c6fb17b.272c58200af498fc
+    11a725cb2185b102.bbc0786ed13e0de9.9a129e05f730052c.b06bbc149cecab9c
+    01e801df0160011c.01d600ec00f5029a.01b1014d01300133.00ec00c501380138
+    364da5db340b33fa.ddbe3b56d58630f3.e51103f05f4c309f.5f65b201ec3ed59e
+    3cb83dd2e3af6458
+
+VMPSADBW_256_0x1d(reg)
+  before
+    ee53cd1bde0d96c7.9ed3d800e41c9ad7.d9ebc915babc8992.5bcb6cf184c07eba
+    cf835f467ae1a598.0e8bfe1c7d72c0db.97471a41b263627c.2b104934c532eea6
+    3c93edc152b9cd76.6440911d1b186132.731e2b475908f65e.33ad16a53eae398d
+    92d175f603214c0e.7bbf0feedb1a3807.c8bcf6914a3682e4.4e6e4f3109411e9e
+    571e71c245f65703
+  after
+    01bf0183018000ec.01cf01f800b200a9.00df016300a3013e.015b010a012d0149
+    cf835f467ae1a598.0e8bfe1c7d72c0db.97471a41b263627c.2b104934c532eea6
+    3c93edc152b9cd76.6440911d1b186132.731e2b475908f65e.33ad16a53eae398d
+    92d175f603214c0e.7bbf0feedb1a3807.c8bcf6914a3682e4.4e6e4f3109411e9e
+    571e71c245f65703
+VMPSADBW_256_0x1d(mem)
+  before
+    2c8bf7450bd9a1e9.2b87f25328a35c0b.2ed4f47bd9850287.f46c798d217a42b9
+    a77f5da779f7b87b.640361435ecd3a1a.5b4bbab030647bde.527cb0a67b5f728a
+    a6c81fd2ab5b57e6.998fbc32402b22e7.ddf0df79fcc35f37.3d369548f4714d02
+    0430b9b4bc113b56.2678018c6b484f1d.8f8fddc25aaf69be.13e726df273d10ce
+    2fdb5ed7b04df79a
+  after
+    2c8bf7450bd9a1e9.2b87f25328a35c0b.2ed4f47bd9850287.f46c798d217a42b9
+    a77f5da779f7b87b.640361435ecd3a1a.5b4bbab030647bde.527cb0a67b5f728a
+    0193017101860158.0120019e0079015c.018b00f000a7011f.013f012300560102
+    0430b9b4bc113b56.2678018c6b484f1d.8f8fddc25aaf69be.13e726df273d10ce
+    2fdb5ed7b04df79a
+
+VMPSADBW_256_0x16(reg)
+  before
+    ec5e399c2c303d11.9c84a838c92620f6.680a2bbd7ab0fe69.4ff33277653356a1
+    a8bbb39a366f1fdf.4b8f674aeda5c2f2.b990363109ef6b76.f7ea5a843a5ce20a
+    be40c83d6b98d9b2.ee1f72d6449bdc78.76581f54b592d1f1.653ecfd6f434c825
+    893775f26636a634.5ffe45c8eb122bb1.fbace0931a246d86.73bc0f57b0cac51f
+    fe3095f589279524
+  after
+    00ea014401560103.011f007300ba00e6.020901aa01b101ea.00c200930154017e
+    a8bbb39a366f1fdf.4b8f674aeda5c2f2.b990363109ef6b76.f7ea5a843a5ce20a
+    be40c83d6b98d9b2.ee1f72d6449bdc78.76581f54b592d1f1.653ecfd6f434c825
+    893775f26636a634.5ffe45c8eb122bb1.fbace0931a246d86.73bc0f57b0cac51f
+    fe3095f589279524
+VMPSADBW_256_0x16(mem)
+  before
+    e365dd9a9c59f45f.66edb523c4d6c411.7cfa5d0cfe196bcc.a4d97758d3317be0
+    fc296334046b9dfd.b2ae843e20036df6.1fdd358e98b957f3.cd2bdf117c4637ac
+    2646a4aede694d29.c7c6dfae1749dd8f.2574493ad500ad53.d2ee1429b2eedc95
+    3e8a1bf44560c010.0380c0df44355287.6b8b15fdd2f92617.0f6e130b11b6a848
+    dff6d7253328d471
+  after
+    e365dd9a9c59f45f.66edb523c4d6c411.7cfa5d0cfe196bcc.a4d97758d3317be0
+    fc296334046b9dfd.b2ae843e20036df6.1fdd358e98b957f3.cd2bdf117c4637ac
+    00d10136012500fc.01320163019601f0.0094017e01b20141.010c028401120172
+    3e8a1bf44560c010.0380c0df44355287.6b8b15fdd2f92617.0f6e130b11b6a848
+    dff6d7253328d471
+
+VMPSADBW_256_0x16(reg)
+  before
+    a0d45ce2b7d39fbb.1ebf44f2565cb1de.c02a253c4352068b.cbed15c1aab1816c
+    ad529eae364043d3.a3b29b942c67debe.5b0e0933b12c3646.2268c6747a32787d
+    62bd99f54ffdfd64.a92e9dc6e38f00dd.317969302a501e65.4cc6a3005d8bc877
+    1b614a249b95091b.0c01c47598dfd667.9cb73f9d4949f994.25d4285370c52d86
+    895ed158ceee63d5
+  after
+    013200de01600131.0166018902260132.00c4010a00a700e2.0087001d00f500d7
+    ad529eae364043d3.a3b29b942c67debe.5b0e0933b12c3646.2268c6747a32787d
+    62bd99f54ffdfd64.a92e9dc6e38f00dd.317969302a501e65.4cc6a3005d8bc877
+    1b614a249b95091b.0c01c47598dfd667.9cb73f9d4949f994.25d4285370c52d86
+    895ed158ceee63d5
+VMPSADBW_256_0x16(mem)
+  before
+    54301bfb94112591.338aaca5b995a2a3.a8f58e8b67641a87.f91489e7aaa3047e
+    63168028dd3b30e5.0884bbe5428805aa.59d876f66a298a69.a4dc427aeaeb7bd0
+    90db7ecbc6773ffe.f59a7351d4fa6ed9.fb74f9a0c03adf3a.fa5b66c3a5ac9935
+    b84d90d16ad11008.5519d0530b7719df.6a96917783a3d826.55dcf12c75729b5a
+    12ace023f9cabdeb
+  after
+    54301bfb94112591.338aaca5b995a2a3.a8f58e8b67641a87.f91489e7aaa3047e
+    63168028dd3b30e5.0884bbe5428805aa.59d876f66a298a69.a4dc427aeaeb7bd0
+    01c1016200e301e9.01c9012101710102.017c014f00a700cc.00d00107014900ea
+    b84d90d16ad11008.5519d0530b7719df.6a96917783a3d826.55dcf12c75729b5a
+    12ace023f9cabdeb
+
+VMPSADBW_256_0x16(reg)
+  before
+    8d172e13cb3f3b93.b7363324e5565d2e.864ecf59828c4166.820abc66cf712f58
+    2269d768875e50ff.6863e1b15411e39d.e2836bced6c4231a.1f9bf559c1b0a1fd
+    2deed78ecab139da.a9a01865d30e5d80.c704a01ea2acfba8.1d17b83c746aea41
+    0af22bf12fc632d1.55b9532a7d5a8804.8f1f6bb582cf04bc.584882fb05adc54f
+    acfbcd828f85ef54
+  after
+    0205016e00af0181.019500fb00a701fd.00bb009a011201b2.021501fa01c200e9
+    2269d768875e50ff.6863e1b15411e39d.e2836bced6c4231a.1f9bf559c1b0a1fd
+    2deed78ecab139da.a9a01865d30e5d80.c704a01ea2acfba8.1d17b83c746aea41
+    0af22bf12fc632d1.55b9532a7d5a8804.8f1f6bb582cf04bc.584882fb05adc54f
+    acfbcd828f85ef54
+VMPSADBW_256_0x16(mem)
+  before
+    f5fd17bd2ffc247b.15c0cdfd52297790.487a0fee6e002055.981fc6ff13b97b01
+    0f17db9800201ff1.aaa5bb1ed16543c2.5eaec69cc30ce19e.3c4faf68f0f79c24
+    d51895001efd9ee2.25edf0c04506d314.7322f620988b860b.d9fc215cb614a3d0
+    25cbc2dfa69d5b79.e1e469504c986231.62a21a660788cdca.c9721848019ccbb2
+    69fd91966b1c5176
+  after
+    f5fd17bd2ffc247b.15c0cdfd52297790.487a0fee6e002055.981fc6ff13b97b01
+    0f17db9800201ff1.aaa5bb1ed16543c2.5eaec69cc30ce19e.3c4faf68f0f79c24
+    01e800cb01d501c6.0113022d00b5019f.01f001e00191016b.01da013300f50123
+    25cbc2dfa69d5b79.e1e469504c986231.62a21a660788cdca.c9721848019ccbb2
+    69fd91966b1c5176
+
+VMPSADBW_256_0x0f(reg)
+  before
+    16e986b4931f71c7.dafbdd23b40e12e3.3cd6203882a82ec6.09faae5a2f0f6f05
+    2a82f50c12316652.cf7562b7635c814b.910f13e682c1717f.43f62ee82a2d2be8
+    0213d90c87df6dc3.e206cd87cf9162de.3cdb3dc4e8706807.eb6217fc14edbba0
+    fae92f1f8bb4c2c5.ee779a7f15bc72c7.99859a4051404e0b.df0ae483095bdc59
+    fab9116727844a3e
+  after
+    01d400dc01d6011d.010301c600ff015d.01e0007c01da00d9.01b200c9022a0055
+    2a82f50c12316652.cf7562b7635c814b.910f13e682c1717f.43f62ee82a2d2be8
+    0213d90c87df6dc3.e206cd87cf9162de.3cdb3dc4e8706807.eb6217fc14edbba0
+    fae92f1f8bb4c2c5.ee779a7f15bc72c7.99859a4051404e0b.df0ae483095bdc59
+    fab9116727844a3e
+VMPSADBW_256_0x0f(mem)
+  before
+    173c1a968773c07c.6f51f1b1bd3ca104.ce97468b51e66c33.035a27c559bd6136
+    145f7bfb4734fb3f.bb951d2eb604452e.60314c979e1d0e4e.d8a6debf9b73db35
+    cbeeb18183d4b7b2.3b01ae021497ebec.7e10288f186c1243.73b5bd9ab3eff8b3
+    1ab53716565eb001.4be3a0997381cfed.0602565fdcdf343f.2fd3bfc23ebdf65e
+    6a4be1a3d7670fdf
+  after
+    173c1a968773c07c.6f51f1b1bd3ca104.ce97468b51e66c33.035a27c559bd6136
+    145f7bfb4734fb3f.bb951d2eb604452e.60314c979e1d0e4e.d8a6debf9b73db35
+    01a100f0018a01e7.0122015d01ff01c3.014c014800e4011f.018f01b6017400e5
+    1ab53716565eb001.4be3a0997381cfed.0602565fdcdf343f.2fd3bfc23ebdf65e
+    6a4be1a3d7670fdf
+
+VMPSADBW_256_0x0f(reg)
+  before
+    7e6b1daa1b7b80e5.db7f89a5dddfa15a.4786f05f6e4f2ddb.d2d153f40583326e
+    c97d7141a5848419.eb1a231a336247e7.8b3598c1a18c4062.c04a9938b063c6fb
+    a5ced8d6120f592a.2750826174f35ed4.733d9629a9c54530.aa39a619f88cad13
+    70aa4ed3fda739c2.69ee2166bd9ea14e.5beae505228477ee.6d69f581fa08a2e1
+    e6a8035ed1e66392
+  after
+    01840144014f01a0.00d0008a006400df.013c011700d3010c.00e700a30150006c
+    c97d7141a5848419.eb1a231a336247e7.8b3598c1a18c4062.c04a9938b063c6fb
+    a5ced8d6120f592a.2750826174f35ed4.733d9629a9c54530.aa39a619f88cad13
+    70aa4ed3fda739c2.69ee2166bd9ea14e.5beae505228477ee.6d69f581fa08a2e1
+    e6a8035ed1e66392
+VMPSADBW_256_0x0f(mem)
+  before
+    efc04a9b9a2faa51.845dcfa602d8608e.8ec07c162970ce81.9f8882bfa758144b
+    657f482470f1334b.3f3358babf2f0c39.73920f5bd5749e98.9b6367c5d4ca56f1
+    24af78e56f37bcac.fb77e47bcd377770.f2305623ddb7d0c0.abc6928246687a8c
+    091d56cab40eff9f.15766f55ca7cdede.e865ce585b441e24.2bfffe6298bdbbc9
+    7658a7d167565654
+  after
+    efc04a9b9a2faa51.845dcfa602d8608e.8ec07c162970ce81.9f8882bfa758144b
+    657f482470f1334b.3f3358babf2f0c39.73920f5bd5749e98.9b6367c5d4ca56f1
+    01820166014100fa.0084011001d20199.0195019b00d80137.00dd00a40099012e
+    091d56cab40eff9f.15766f55ca7cdede.e865ce585b441e24.2bfffe6298bdbbc9
+    7658a7d167565654
+
+VMPSADBW_256_0x0f(reg)
+  before
+    ea1e893b4ebd87d8.ee945fbf5b81b951.ea7df5b4528b7c30.31fff2e86e2745f1
+    e29da10cea818a02.b0e20eb17f9ca6ed.d4d6730400ef8f12.a9c83ebe2f6c0153
+    ba21eab1d62b9a7e.2bd1de8a3c6b81a0.30cee3b17034512f.2c8d2ec6bd200e75
+    cdf56094af49f4f7.3b2f4e38affb0796.5ab043283fe7fe34.971a3eec314f2784
+    c43aeb1ca90309ab
+  after
+    019f01b400ca018d.01b200ae01360124.0291022e01280144.01d7016c00d10131
+    e29da10cea818a02.b0e20eb17f9ca6ed.d4d6730400ef8f12.a9c83ebe2f6c0153
+    ba21eab1d62b9a7e.2bd1de8a3c6b81a0.30cee3b17034512f.2c8d2ec6bd200e75
+    cdf56094af49f4f7.3b2f4e38affb0796.5ab043283fe7fe34.971a3eec314f2784
+    c43aeb1ca90309ab
+VMPSADBW_256_0x0f(mem)
+  before
+    90bbb042414a6f17.7967ff231066d41a.bcc6d7a5f358f4fa.aeca8fd30893d4cc
+    d767094a142f17f4.19c1c4c8950f7692.8a63f6bf258c03f9.8866c12068c40da4
+    750c73203fbfbb6d.0850a9f1dbcf150c.81d2287161a5f1be.45d1d779fb07e668
+    457468b1dd0518af.a460ac097e32ee33.7ddee8a7c1ae7a76.3f58cb4c5be79bc3
+    d3449b0427f16762
+  after
+    90bbb042414a6f17.7967ff231066d41a.bcc6d7a5f358f4fa.aeca8fd30893d4cc
+    d767094a142f17f4.19c1c4c8950f7692.8a63f6bf258c03f9.8866c12068c40da4
+    00af027301a8019a.014e012a01c0016c.0121010c019101f9.0132017a0108012f
+    457468b1dd0518af.a460ac097e32ee33.7ddee8a7c1ae7a76.3f58cb4c5be79bc3
+    d3449b0427f16762
+
+VPSADBW_256(reg)
+  before
+    5de4430df8af87f0.256c66e70a0de9e5.473dc87c19c43db5.5a55b24d64b45a4d
+    3983bdd36daf371a.f0bfe8b0e3e4eb3c.4f33fab648123d3b.f401034f63c24c6e
+    c36c07c21f7db28c.823b6af78495dae0.168d3c23a8a82b74.27af5699dde40e06
+    57ed1c46aca436f1.b7aa69a8072c72fc.fa998c2fd5104309.ce2c2617eb275940
+    c741f2b6ab96ec49
+  after
+    00000000000002d5.000000000000031a.0000000000000325.000000000000035a
+    3983bdd36daf371a.f0bfe8b0e3e4eb3c.4f33fab648123d3b.f401034f63c24c6e
+    c36c07c21f7db28c.823b6af78495dae0.168d3c23a8a82b74.27af5699dde40e06
+    57ed1c46aca436f1.b7aa69a8072c72fc.fa998c2fd5104309.ce2c2617eb275940
+    c741f2b6ab96ec49
+VPSADBW_256(mem)
+  before
+    edbd3360393d814c.5050f8ccb0b0fdf6.6bda60af8bb66ebd.55a1e5466ad8c1a9
+    1c6b6603b029d577.0ce297bec62d4346.7995cbf82a3e8c4e.84f243d4038ce0fe
+    2f1608892d65a4f3.e6eff6898ba8468e.bfa8266f00d085dc.e4d8a3463db6ddb5
+    048b94e0cbfda9ef.3ac2109a9aac407a.18dfed002a791892.cf9f0006b3e4f479
+    a292558202a260f7
+  after
+    edbd3360393d814c.5050f8ccb0b0fdf6.6bda60af8bb66ebd.55a1e5466ad8c1a9
+    1c6b6603b029d577.0ce297bec62d4346.7995cbf82a3e8c4e.84f243d4038ce0fe
+    00000000000002bd.0000000000000348.000000000000026d.00000000000002d7
+    048b94e0cbfda9ef.3ac2109a9aac407a.18dfed002a791892.cf9f0006b3e4f479
+    a292558202a260f7
+
+VPSADBW_256(reg)
+  before
+    baffa125c57a5fda.769786f3a6fea195.64a9e15c8fc66eb5.5f059d97c344ff9e
+    7130dd5b99fa2acf.60035baedb734811.bfee653b07810bec.72e8b020e83df729
+    2472069019ae0082.a09e8dfd85695a90.a9de98a29e6954ca.2c52a488b471bc62
+    2f111930e2201b9e.10339accc1ea923e.7dc577ffee0a85fc.6811f5b943eb0972
+    04ef1da1b3b89b88
+  after
+    00000000000002de.000000000000024d.00000000000001da.000000000000022c
+    7130dd5b99fa2acf.60035baedb734811.bfee653b07810bec.72e8b020e83df729
+    2472069019ae0082.a09e8dfd85695a90.a9de98a29e6954ca.2c52a488b471bc62
+    2f111930e2201b9e.10339accc1ea923e.7dc577ffee0a85fc.6811f5b943eb0972
+    04ef1da1b3b89b88
+VPSADBW_256(mem)
+  before
+    dab99a2b1de22ece.ee5911a78fdeb8d0.8e8dfd07ab04ad46.96effdbd96f1da2d
+    c83ae7439f777e71.bd96ea61bc7413c3.f47a329a5dc367d5.52a8264930a98e0b
+    a84080d55583469c.f813a1ca066d6824.20c4b672f6327b17.0c3cee0d58bfdf3f
+    5795e1cd5a11437c.fb1e304e0955f29f.ec380479905da637.1ff65276abbe0678
+    e9234cf1c432425f
+  after
+    dab99a2b1de22ece.ee5911a78fdeb8d0.8e8dfd07ab04ad46.96effdbd96f1da2d
+    c83ae7439f777e71.bd96ea61bc7413c3.f47a329a5dc367d5.52a8264930a98e0b
+    0000000000000290.00000000000002d6.00000000000003b9.00000000000002f2
+    5795e1cd5a11437c.fb1e304e0955f29f.ec380479905da637.1ff65276abbe0678
+    e9234cf1c432425f
+
+VPSADBW_256(reg)
+  before
+    c40fdae840a8cda3.b2078717ca2d313c.2201955a60b8eedf.35a2989d4750a461
+    0e06f8c9baabe4ee.9360ec9fc2e3cb09.c909cb59a7239891.d8cdeec8371831c3
+    2154a0fecec7c3ed.d76d8e515d40cf0f.4c82cfb67b212b60.af8782e87ec00886
+    5a45d0f51a89a54b.5bfae91ab84ff679.07b79bdf773ee4f9.979ad1e83555e6d9
+    6dd456b47ae287e6
+  after
+    0000000000000140.000000000000020f.0000000000000223.0000000000000250
+    0e06f8c9baabe4ee.9360ec9fc2e3cb09.c909cb59a7239891.d8cdeec8371831c3
+    2154a0fecec7c3ed.d76d8e515d40cf0f.4c82cfb67b212b60.af8782e87ec00886
+    5a45d0f51a89a54b.5bfae91ab84ff679.07b79bdf773ee4f9.979ad1e83555e6d9
+    6dd456b47ae287e6
+VPSADBW_256(mem)
+  before
+    0bff8d386973a6d9.16248319377cc8b5.f9d277e4ef1dff74.56f62d3f3807ff08
+    4ee8f2601d1401e0.af3fb5d6c32c65d6.8ec3b69d1db5a42c.958980425a07b738
+    125a0118b2d25125.82e062985a26bb5b.f69720305e23a2cc.20be905477cb4a36
+    3323374d45b855d4.ec5486cb97f504f0.0d1b3488cf74b580.52df59e12edef2ad
+    8939d85518cceb4a
+  after
+    0bff8d386973a6d9.16248319377cc8b5.f9d277e4ef1dff74.56f62d3f3807ff08
+    4ee8f2601d1401e0.af3fb5d6c32c65d6.8ec3b69d1db5a42c.958980425a07b738
+    000000000000023e.0000000000000303.000000000000030d.000000000000019c
+    3323374d45b855d4.ec5486cb97f504f0.0d1b3488cf74b580.52df59e12edef2ad
+    8939d85518cceb4a
+
+VPSIGNB_256(reg)
+  before
+    2018081dd32173b8.8d0d0fe9f2d3c71a.47e71edc16257d40.b01b6b938bb29975
+    73c7e5a3fb6ac4a4.fde605dad42e6423.f0e52535744362f8.b963423caeec09d7
+    dd946b542b331bba.5d78950a07d5e81a.439997444cdaefc3.05bf366f562bc2d2
+    bcc9979d0006b3a6.8a903c67a8d50f2c.9c5071733b765f4e.70fac2189c7d7f91
+    d6e262249eedfe40
+  after
+    8d39e5a3fb6ac45c.fde6fbdad4d29c23.f01bdb3574bd9e08.b99d423caeecf729
+    73c7e5a3fb6ac4a4.fde605dad42e6423.f0e52535744362f8.b963423caeec09d7
+    dd946b542b331bba.5d78950a07d5e81a.439997444cdaefc3.05bf366f562bc2d2
+    bcc9979d0006b3a6.8a903c67a8d50f2c.9c5071733b765f4e.70fac2189c7d7f91
+    d6e262249eedfe40
+VPSIGNB_256(mem)
+  before
+    1341937d7888f90c.6ab363e91571c912.60fa75dcd2399484.5757ad30dda4ef45
+    03e4cf1045592d21.459ecda406ff99ad.ba81bc55a20d344f.d0f849e5ccefda53
+    819794ca216c55aa.a8d6d139703d5f21.76f38dbe335eabb8.64804000a7e35e25
+    6b265d9629ce2ed4.eea76916efb6571b.6f1a6403a237b4ed.6d3b8eec070db566
+    487430158bf81cc3
+  after
+    1341937d7888f90c.6ab363e91571c912.60fa75dcd2399484.5757ad30dda4ef45
+    03e4cf1045592d21.459ecda406ff99ad.ba81bc55a20d344f.d0f849e5ccefda53
+    03e4311045a7d321.4562cd5c06ff67ad.ba7fbcab5e0dccb1.d0f8b7e534112653
+    6b265d9629ce2ed4.eea76916efb6571b.6f1a6403a237b4ed.6d3b8eec070db566
+    487430158bf81cc3
+
+VPSIGNB_256(reg)
+  before
+    507920e7cc31cee8.9c5da65f798a74cb.745c92a61ef6bc46.81c4be100aa40c17
+    e3945ccf68430880.f007ec132cace3ba.97434956998acb4f.88bb16d188b26f65
+    5c12df37fbba0638.43f1aa9d5e4136ce.b1a68990fdfdbfe1.60cbe833376c9801
+    173fa68c202204bb.70e75be92c542b32.20d24fc1e5dbd5a9.e4c2b02034de4517
+    f26beb869a1530d4
+  after
+    e394a4cf98bd0880.f0f914ed2cace346.69bdb7aa677635b1.8845ead188b29165
+    e3945ccf68430880.f007ec132cace3ba.97434956998acb4f.88bb16d188b26f65
+    5c12df37fbba0638.43f1aa9d5e4136ce.b1a68990fdfdbfe1.60cbe833376c9801
+    173fa68c202204bb.70e75be92c542b32.20d24fc1e5dbd5a9.e4c2b02034de4517
+    f26beb869a1530d4
+VPSIGNB_256(mem)
+  before
+    6591134f851c1564.7067ab3b74083db6.55b57ee3b1f17b13.3e139556eeb14953
+    1801a66912ffb2f2.c3d6ecae92f7eed5.cd278c770a25e59d.68b559b9b40a578a
+    e98820bf5dcbc1ab.6bd76453167c53c3.b309029252fb23fb.fb039658d1723bfb
+    b3f0fb3d818bffbb.c6b70f959d22a82d.e5275d1ea680f259.514b489ee4763052
+    c7d76bf686a1733a
+  after
+    6591134f851c1564.7067ab3b74083db6.55b57ee3b1f17b13.3e139556eeb14953
+    1801a66912ffb2f2.c3d6ecae92f7eed5.cd278c770a25e59d.68b559b9b40a578a
+    18ffa669eeffb2f2.c3d614ae92f7ee2b.cdd98c89f6dbe59d.68b5a7b94cf6578a
+    b3f0fb3d818bffbb.c6b70f959d22a82d.e5275d1ea680f259.514b489ee4763052
+    c7d76bf686a1733a
+
+VPSIGNB_256(reg)
+  before
+    b9f4fcce557f3f5f.5105b5cf9a4b274d.2fc3eae0c27528be.3e4c180921be0ee5
+    83eef591ed9dd26e.a195c861c518f78e.0245f0a022011023.9945b03de0c332c9
+    821154abe9866613.7d6ab3df1dfd29a9.9a8a1c4159539c07.d4de9fa8fe9b1b31
+    10a91489e6c637fa.c352ef35bf0779cb.55dd6c2f02f60718.c9e363349751854a
+    562077cfc8f12c40
+  after
+    7deef56f1363d26e.a195389fc5e8f772.febbf0a02201f023.67bb50c3203d32c9
+    83eef591ed9dd26e.a195c861c518f78e.0245f0a022011023.9945b03de0c332c9
+    821154abe9866613.7d6ab3df1dfd29a9.9a8a1c4159539c07.d4de9fa8fe9b1b31
+    10a91489e6c637fa.c352ef35bf0779cb.55dd6c2f02f60718.c9e363349751854a
+    562077cfc8f12c40
+VPSIGNB_256(mem)
+  before
+    55605764ad87cb3e.8a0132957fea83ce.4d17f950c640a51f.8d8cdcd6b9778eff
+    a3717fdf61201f71.4c66a93c507d843b.f9864e1a4fb667d2.a0e166a31b616d6b
+    1d1d6b2c00c7e405.b22574ebf60c77ee.a16b698175757c10.e82a0800c340e005
+    9d319838a789d525.1888920c0d219893.2292c67055889f04.c3b1bd5a4ea1227c
+    8bc3811e570f707a
+  after
+    55605764ad87cb3e.8a0132957fea83ce.4d17f950c640a51f.8d8cdcd6b9778eff
+    a3717fdf61201f71.4c66a93c507d843b.f9864e1a4fb667d2.a0e166a31b616d6b
+    a3717fdf9fe0e171.b466a9c450837cc5.f986b21ab1b699d2.601f9a5de5619395
+    9d319838a789d525.1888920c0d219893.2292c67055889f04.c3b1bd5a4ea1227c
+    8bc3811e570f707a
+
+VPSIGNW_256(reg)
+  before
+    9eac51b77a1606ac.007981ed7270b0fd.dadcfc0d2f4a22d6.59c6e1d20afb8edb
+    56b7279154431fbd.23c1a2387c8b2eba.536caf59fb135262.20d43795b1da03c1
+    113201188121f85a.e0d57806e1e30e88.e186a85c0b0764e3.548943a46532bae1
+    2967dab79c3ccd2e.14807d41be860a93.df74e282fbb29406.d1af81eb430e7167
+    74136d56667be280
+  after
+    56b72791abbde043.dc3fa23883752eba.ac9450a7fb135262.20d43795b1dafc3f
+    56b7279154431fbd.23c1a2387c8b2eba.536caf59fb135262.20d43795b1da03c1
+    113201188121f85a.e0d57806e1e30e88.e186a85c0b0764e3.548943a46532bae1
+    2967dab79c3ccd2e.14807d41be860a93.df74e282fbb29406.d1af81eb430e7167
+    74136d56667be280
+VPSIGNW_256(mem)
+  before
+    178084d2ea84ca58.fba3aedd4221dae6.9b902fd72e7fdf06.a983593768a01d77
+    97c44049ec35e51b.e3327af30e5b5a2e.51cf09b34edb490d.9b000ae7ed5e3ce1
+    d0aa1fa8889beef4.3e6039669c768ab1.130a88c139a504d6.1035effe27772cf1
+    9efd9cdcd8c1a20f.6679e7a289ffa61c.bb0d26ed0ce9cb8a.666e06e8b1782b53
+    f8f94a1228ec73b2
+  after
+    178084d2ea84ca58.fba3aedd4221dae6.9b902fd72e7fdf06.a983593768a01d77
+    97c44049ec35e51b.e3327af30e5b5a2e.51cf09b34edb490d.9b000ae7ed5e3ce1
+    97c4bfb713cb1ae5.1cce850d0e5ba5d2.ae3109b34edbb6f3.65000ae7ed5e3ce1
+    9efd9cdcd8c1a20f.6679e7a289ffa61c.bb0d26ed0ce9cb8a.666e06e8b1782b53
+    f8f94a1228ec73b2
+
+VPSIGNW_256(reg)
+  before
+    2220b7e6275f41bb.dd8a34cffbb3bd99.b8c880147081e91a.26a36123e2b35b58
+    3f314ad24a5ed019.691d616f0b7dfabe.909b0026ee889158.309ab44fd7106f6a
+    ad76fe412e735e79.1e82a1a7242c16aa.4a3c64469fa1d882.b5bc9b5d080cc5ec
+    c63cce9e6f2d2586.d8846f6363cccd88.42f8a7df1d57fa43.91d7923a91b1170c
+    a0b516d08d0d22f3
+  after
+    c0cfb52e4a5ed019.691d9e910b7dfabe.909b002611786ea8.cf664bb1d7109096
+    3f314ad24a5ed019.691d616f0b7dfabe.909b0026ee889158.309ab44fd7106f6a
+    ad76fe412e735e79.1e82a1a7242c16aa.4a3c64469fa1d882.b5bc9b5d080cc5ec
+    c63cce9e6f2d2586.d8846f6363cccd88.42f8a7df1d57fa43.91d7923a91b1170c
+    a0b516d08d0d22f3
+VPSIGNW_256(mem)
+  before
+    bd23a20d182ba1d0.e8cfb957a81561ed.73f1478fe367db84.d41bc55d07363548
+    c6ecb2db4f1851cd.6d7ab8d775b9505a.cb93a617c10bfbcb.5cf1ba2cf6cbc33c
+    96dec2284edfee16.b38bc98a73a42c78.bc3806e718c4eb89.36c582b889a1e0cc
+    09c44fdf308c34d8.144ce6dc3e6332f4.21aae5eb059c64e9.bee51a6d5945caa4
+    509b7db70441bb6f
+  after
+    bd23a20d182ba1d0.e8cfb957a81561ed.73f1478fe367db84.d41bc55d07363548
+    c6ecb2db4f1851cd.6d7ab8d775b9505a.cb93a617c10bfbcb.5cf1ba2cf6cbc33c
+    39144d254f18ae33.928647298a47505a.cb93a6173ef50435.a30f45d4f6cbc33c
+    09c44fdf308c34d8.144ce6dc3e6332f4.21aae5eb059c64e9.bee51a6d5945caa4
+    509b7db70441bb6f
+
+VPSIGNW_256(reg)
+  before
+    4834a7022624f0da.fb69d3ec112cde3f.ee0b0d3a71819d7a.d8b5be10a3a12518
+    02fc94bb5a77a590.479acc3b0ecaaa76.9b123a0ea88aabb5.bc270e400edfe842
+    da3f414c3dc8153e.cb23b5b8427351aa.78ae67c6800b9652.a9cb4f6963606a92
+    2c49a9236aa27d90.62d00b4fca319207.e22a92cc948f9afc.7a6cff75be326735
+    0dd799523a619a56
+  after
+    fd0494bb5a77a590.b86633c50ecaaa76.9b123a0e5776544b.43d90e400edfe842
+    02fc94bb5a77a590.479acc3b0ecaaa76.9b123a0ea88aabb5.bc270e400edfe842
+    da3f414c3dc8153e.cb23b5b8427351aa.78ae67c6800b9652.a9cb4f6963606a92
+    2c49a9236aa27d90.62d00b4fca319207.e22a92cc948f9afc.7a6cff75be326735
+    0dd799523a619a56
+VPSIGNW_256(mem)
+  before
+    3dd999ebf3f7c022.5365c8aa7d921931.e76d48ecc11227b8.33d4b68e81a2f560
+    e53c7b2c060295c4.ade19a4f132225ce.38c5ea7c4422cdea.c8f6cf76e2d1e129
+    e3ccbc018f8ed56a.95071b7dc7e1dc12.30a56ce96e6b40c8.fdded9f254a79b04
+    1157d756a9a63b3d.662448a036587baa.aada4a215cfb3b7f.2fd6d16d72b05f9d
+    b82bb153d879689f
+  after
+    3dd999ebf3f7c022.5365c8aa7d921931.e76d48ecc11227b8.33d4b68e81a2f560
+    e53c7b2c060295c4.ade19a4f132225ce.38c5ea7c4422cdea.c8f6cf76e2d1e129
+    e53c84d4f9fe6a3c.ade165b1132225ce.c73bea7cbbdecdea.c8f6308a1d2f1ed7
+    1157d756a9a63b3d.662448a036587baa.aada4a215cfb3b7f.2fd6d16d72b05f9d
+    b82bb153d879689f
+
+VPSIGND_256(reg)
+  before
+    f5297710248df3b7.4da748177056846c.7e841c24fc153d41.842e010e29de7b3a
+    421b1f10ef793c90.718a8b3001aa6c20.38739375b3a36084.986e0c9ef21fbc26
+    fb4fa3c0d7c77ed7.5bca1d8e77afae88.ef3ca9fffa8f1e1f.c465e6bcd2caba6f
+    7c0f018a7805f638.e534781bef7007ce.012d5b2f6b64b4bd.e2e10d54e5eb3040
+    d0acfd52488fdbc6
+  after
+    bde4e0f01086c370.718a8b3001aa6c20.c78c6c8b4c5c9f7c.6791f3620de043da
+    421b1f10ef793c90.718a8b3001aa6c20.38739375b3a36084.986e0c9ef21fbc26
+    fb4fa3c0d7c77ed7.5bca1d8e77afae88.ef3ca9fffa8f1e1f.c465e6bcd2caba6f
+    7c0f018a7805f638.e534781bef7007ce.012d5b2f6b64b4bd.e2e10d54e5eb3040
+    d0acfd52488fdbc6
+VPSIGND_256(mem)
+  before
+    689430a217c1772d.21a834dc6dbfe05e.ed941ac584fa331f.c890a46fa2ae5d0b
+    876324306c8ebfa0.46663820528078f6.4db67e775357eea6.a2b2802d3bfa57b5
+    0ae654e96601714b.479509c4c4d4f9ab.e265211c7796f390.e9dfebd3d4d3dc66
+    cbe93cb71f26465c.8081a3335e47a02a.896e7da20dc0ff08.fb63e1cf06c528cb
+    32895f8c6f5d798f
+  after
+    689430a217c1772d.21a834dc6dbfe05e.ed941ac584fa331f.c890a46fa2ae5d0b
+    876324306c8ebfa0.46663820528078f6.4db67e775357eea6.a2b2802d3bfa57b5
+    876324306c8ebfa0.46663820528078f6.b2498189aca8115a.5d4d7fd3c405a84b
+    cbe93cb71f26465c.8081a3335e47a02a.896e7da20dc0ff08.fb63e1cf06c528cb
+    32895f8c6f5d798f
+
+VPSIGND_256(reg)
+  before
+    eb9f6076ab25095f.a7375987b309fdfd.4d7603d9bd66a91f.1c9e10f430e3ce3b
+    83efe0f955ac15e6.7a9e25463fb7505a.09bf24217cbc5035.78bf55fefc0a1b55
+    54c6db810a7bd9d1.20e81edfde3bfca0.12a9027938d6d018.799ec9ac8e42a481
+    bb704e7a652090cc.76e2bf3eada2bdfb.c3809a4d8c3f6676.fb06e6eb029622ec
+    dac52aa5731254c1
+  after
+    83efe0f955ac15e6.7a9e2546c048afa6.09bf24217cbc5035.78bf55fe03f5e4ab
+    83efe0f955ac15e6.7a9e25463fb7505a.09bf24217cbc5035.78bf55fefc0a1b55
+    54c6db810a7bd9d1.20e81edfde3bfca0.12a9027938d6d018.799ec9ac8e42a481
+    bb704e7a652090cc.76e2bf3eada2bdfb.c3809a4d8c3f6676.fb06e6eb029622ec
+    dac52aa5731254c1
+VPSIGND_256(mem)
+  before
+    f3a610c7fdc2f42d.1439335002277782.5658854ec7f74f96.7890e60715834ef9
+    2074143ebdb3bf5c.bc6d88707e1bcaa0.9d16eafd49466d9e.8d25e4146e2ec34d
+    3efcb2f5cff07179.0d5848447488c4d1.27e86c364e9cd43e.5d8b8fe134cd021f
+    290a67d74d86c6b1.6445703a81faa2c2.d09986e6f3033fa3.460de3d802eb471b
+    a2f9dd677515ceec
+  after
+    f3a610c7fdc2f42d.1439335002277782.5658854ec7f74f96.7890e60715834ef9
+    2074143ebdb3bf5c.bc6d88707e1bcaa0.9d16eafd49466d9e.8d25e4146e2ec34d
+    df8bebc2424c40a4.bc6d88707e1bcaa0.9d16eafdb6b99262.8d25e4146e2ec34d
+    290a67d74d86c6b1.6445703a81faa2c2.d09986e6f3033fa3.460de3d802eb471b
+    a2f9dd677515ceec
+
+VPSIGND_256(reg)
+  before
+    cf9978f828d6d23f.bd6aadd25680792f.1d81fabc40fea01f.74f7b4f7538a6cf9
+    283ab0f9b7ba90c0.d6e702d103ea4720.9458e4384e1ffa93.efcc72568a3a156b
+    082881d5bf4e441a.4f4fe2c073d1ecb0.2516291947e9ebcb.1de53df0b521f726
+    cdaee7f8dc1d29fa.066cc78bbf40230a.2c07c6cbc5e9b072.da0e90aff04bcd55
+    0113e78156c25425
+  after
+    283ab0f948456f40.d6e702d103ea4720.9458e4384e1ffa93.efcc725675c5ea95
+    283ab0f9b7ba90c0.d6e702d103ea4720.9458e4384e1ffa93.efcc72568a3a156b
+    082881d5bf4e441a.4f4fe2c073d1ecb0.2516291947e9ebcb.1de53df0b521f726
+    cdaee7f8dc1d29fa.066cc78bbf40230a.2c07c6cbc5e9b072.da0e90aff04bcd55
+    0113e78156c25425
+VPSIGND_256(mem)
+  before
+    70c0be51039448c1.d11adfcea9b37c0b.d60c2f1e0643a95b.0577b5ba66aa8535
+    02e0920a14cd6557.72b663c3c29d79fa.9bf9956561e73ace.0cb1f452c6b9a6c0
+    9340dd9aa4776610.0acf7244c4655c72.31ff754dee379190.9d027eff80a04ebe
+    ffad1decd0a0091b.f6b105bb4a9a6020.74ec4bc0c93f6ccd.14b74f2e31edbadc
+    cd1a6349742c25c5
+  after
+    70c0be51039448c1.d11adfcea9b37c0b.d60c2f1e0643a95b.0577b5ba66aa8535
+    02e0920a14cd6557.72b663c3c29d79fa.9bf9956561e73ace.0cb1f452c6b9a6c0
+    02e0920a14cd6557.8d499c3d3d628606.64066a9b61e73ace.0cb1f452c6b9a6c0
+    ffad1decd0a0091b.f6b105bb4a9a6020.74ec4bc0c93f6ccd.14b74f2e31edbadc
+    cd1a6349742c25c5
+
+VPMULHRSW_256(reg)
+  before
+    2477b7bee5e8cd26.21f1cdecb35407a2.93a81995f1c5c2b0.3f8b93ac0d0c85b0
+    741c45f721adecab.d7d86a876a9d1fd1.3b00ab3f5474becd.70a7cafbd7a99865
+    1b540b62c407bfff.fc306ea710890bd5.4b05b62410338f24.e20d6b9b4222631a
+    746a056a698381cf.6bc45739c22488da.1f0236afc08c7260.708af2776a84a0f9
+    f8e8dc7b6cda0c2e
+  after
+    18ca0639f03909ab.01325c170dc602f1.229430e80ab0397d.e5a4d36eeb28afc9
+    741c45f721adecab.d7d86a876a9d1fd1.3b00ab3f5474becd.70a7cafbd7a99865
+    1b540b62c407bfff.fc306ea710890bd5.4b05b62410338f24.e20d6b9b4222631a
+    746a056a698381cf.6bc45739c22488da.1f0236afc08c7260.708af2776a84a0f9
+    f8e8dc7b6cda0c2e
+VPMULHRSW_256(mem)
+  before
+    54f3a393633162e6.dbab2d7aacac70c6.025fa02a9b79520b.1444274e010da32f
+    6279c5ab6c93604d.ab6381002a0fc691.9bcec564b8942495.8418866c6e425e3a
+    fc44bdafa30ec08e.42defc677f37bfdb.14dd43d53481bba4.ccc84e75a4b6de2f
+    0022088c23ae3ed6.fa689a1c45b09951.475894682c4dd363.48a07bd53ef560ba
+    54ee09f8d98b2087
+  after
+    54f3a393633162e6.dbab2d7aacac70c6.025fa02a9b79520b.1444274e010da32f
+    6279c5ab6c93604d.ab6381002a0fc691.9bcec564b8942495.8418866c6e425e3a
+    415a2a1f54234a68.1804d2e1e49fcd66.fe252be238181773.ec62daab00e8bbac
+    0022088c23ae3ed6.fa689a1c45b09951.475894682c4dd363.48a07bd53ef560ba
+    54ee09f8d98b2087
+
+VPMULHRSW_256(reg)
+  before
+    4cfdf44b10055941.48dd202c087e9851.314c57891b078e9f.120b3609bb0328fe
+    8c1839387fee4994.b242837c6f8a882a.42d8301b9ac7db70.4fc2a4a3fdaf75a3
+    708cd32cc3d22a2d.181dac6973decb8d.88561f3f617cbb71.dc485b240f5e777b
+    54a5be94773e38b8.573a17de30871ca8.6113225f09b36b4e.936ad5780d1beab5
+    51f4908912f3897b
+  after
+    9a16ebf6c3da183e.f15b515064f7311b.c1820bbeb2e91395.e9bebef2ffb96dcf
+    8c1839387fee4994.b242837c6f8a882a.42d8301b9ac7db70.4fc2a4a3fdaf75a3
+    708cd32cc3d22a2d.181dac6973decb8d.88561f3f617cbb71.dc485b240f5e777b
+    54a5be94773e38b8.573a17de30871ca8.6113225f09b36b4e.936ad5780d1beab5
+    51f4908912f3897b
+VPMULHRSW_256(mem)
+  before
+    f3b207443af112fa.94aff6db38bdb1e1.4c6440c6c49039a4.275b34e931f627b2
+    5370b696a2213e5d.8cf6786ca2dccf52.d169a40f4806dcb0.377a524772d42b4a
+    4efa1a69658fccd1.98c53eb55025cfba.c313bea4daf4c1f6.eebc77e76ad6b3c1
+    c01badaba0487681.146a4621de27ecc3.ff2f0a719666a6a3.a66c9e34b58afac4
+    bcd8c59aee7c3dfe
+  after
+    f3b207443af112fa.94aff6db38bdb1e1.4c6440c6c49039a4.275b34e931f627b2
+    5370b696a2213e5d.8cf6786ca2dccf52.d169a40f4806dcb0.377a524772d42b4a
+    f7fbfbd5d4c6093f.6073f766d6b71db6.e432d179de8ef019.110f22032cd20d6d
+    c01badaba0487681.146a4621de27ecc3.ff2f0a719666a6a3.a66c9e34b58afac4
+    bcd8c59aee7c3dfe
+
+VPMULHRSW_256(reg)
+  before
+    8d4ae885b136b71c.85a1ed466e57f99a.5c2f8b1ce96b631a.5f890462976845e2
+    730f01619b46a6ca.7a565528ecc91148.cb610a120c7f706a.c0ed2864f9075be0
+    cb730e9b483844b3.7907613c35a97ab6.bf4cbd70e4ee4f60.fe26f361d94ea4c8
+    f1c10a9d5396cd84.5f808e6e6603ef11.933ca2a00c453ba8.f502e046534adbc7
+    814b6b008206bd09
+  after
+    d0c30028c72bd01f.73ac40b0f7f21091.1a99fac3fd5b45b6.00eafc04021cbe87
+    730f01619b46a6ca.7a565528ecc91148.cb610a120c7f706a.c0ed2864f9075be0
+    cb730e9b483844b3.7907613c35a97ab6.bf4cbd70e4ee4f60.fe26f361d94ea4c8
+    f1c10a9d5396cd84.5f808e6e6603ef11.933ca2a00c453ba8.f502e046534adbc7
+    814b6b008206bd09
+VPMULHRSW_256(mem)
+  before
+    7ece107a828e06b9.4247f1d558ee7fe8.088c57aa9ae42d84.a27db40f200f71ed
+    c8574c9f70ef7104.184fbfadf4cc948c.50f938dcee57ef3c.4a5af02abed82ddc
+    3bb29a5d6734bb15.d0277193c2bb491c.1391adf07d68f365.e620505c7f2cab20
+    b3aa769f8469a019.c61902f25f47da43.2d2232d36324f32a.d11bd21001982666
+    699771b4e0a7db59
+  after
+    7ece107a828e06b9.4247f1d558ee7fe8.088c57aa9ae42d84.a27db40f200f71ed
+    c8574c9f70ef7104.184fbfadf4cc948c.50f938dcee57ef3c.4a5af02abed82ddc
+    c8dc09dd915205f0.0c96071ff83794a0.056826f10df3fa0a.c9af0965efae28d1
+    b3aa769f8469a019.c61902f25f47da43.2d2232d36324f32a.d11bd21001982666
+    699771b4e0a7db59
+
+VBROADCASTI128(reg)
+  before
+    08e029b3b7e606a6.0c0d5c51e29bdc3c.56726e3566fc82ae.7a76446fbd95acb8
+    0c42f67922e0e2f9.22a5c85f9ed52aa9.dc7db1ca74677e08.d65a5eb2a7cad93a
+    cf09d572be21acfd.d14037b5d323488c.b488c81c24130afe.1c99fc863ccc37dd
+    af80c10a2736a05f.f5a824409e92ef13.3addad97138c613c.2a019ad998a982cd
+    db5db496d86d7635
+  after
+    08e029b3b7e606a6.0c0d5c51e29bdc3c.56726e3566fc82ae.7a76446fbd95acb8
+    0c42f67922e0e2f9.22a5c85f9ed52aa9.dc7db1ca74677e08.d65a5eb2a7cad93a
+    cf09d572be21acfd.d14037b5d323488c.b488c81c24130afe.1c99fc863ccc37dd
+    af80c10a2736a05f.f5a824409e92ef13.3addad97138c613c.2a019ad998a982cd
+    db5db496d86d7635
+VBROADCASTI128(mem)
+  before
+    0b78c7a91722ce41.06f4b6adf7aafacb.69aa0bea1a2dde68.caca5ea8dc5fc16d
+    961f4efe72d6481f.32b1b0c8cd09f5ec.0b1168a06400cfb7.c099d6b91c17643e
+    571ec58105959df9.8d03abc543e0ce6e.b6abb84f97187f2d.789712376e41865a
+    2c41a91eea6a8cfb.7436a412f5bac1ff.464276e2cf80aaf6.4d100c8f6e68656e
+    9d4fc22bb9183b26
+  after
+    0b78c7a91722ce41.06f4b6adf7aafacb.69aa0bea1a2dde68.caca5ea8dc5fc16d
+    961f4efe72d6481f.32b1b0c8cd09f5ec.0b1168a06400cfb7.c099d6b91c17643e
+    571ec58105959df9.8d03abc543e0ce6e.b6abb84f97187f2d.789712376e41865a
+    69aa0bea1a2dde68.caca5ea8dc5fc16d.69aa0bea1a2dde68.caca5ea8dc5fc16d
+    9d4fc22bb9183b26
+
+VBROADCASTI128(reg)
+  before
+    c3a22f79ebdd442d.f05474c14061cf52.4496961980230949.96a41e4429440b3e
+    1b534fe49f44be30.7e22a4572086232a.576e7d487fa8e4f8.849b2c63c1715f2f
+    00af1fd871d8e3da.b478b4caa9e644ae.0a0b550a8fd48bb9.eaf41c2ab21262f8
+    d00399c1fe26f0d8.6c232008f48ced0b.b9b91bcb4b333d38.a67a6b851833d0c3
+    92fb946010e164bd
+  after
+    c3a22f79ebdd442d.f05474c14061cf52.4496961980230949.96a41e4429440b3e
+    1b534fe49f44be30.7e22a4572086232a.576e7d487fa8e4f8.849b2c63c1715f2f
+    00af1fd871d8e3da.b478b4caa9e644ae.0a0b550a8fd48bb9.eaf41c2ab21262f8
+    d00399c1fe26f0d8.6c232008f48ced0b.b9b91bcb4b333d38.a67a6b851833d0c3
+    92fb946010e164bd
+VBROADCASTI128(mem)
+  before
+    8c4213a7b527db11.e698bb0be2b921d5.84ed65fc1f84db6d.c0c4caf74f523420
+    6e1a64472411f1ec.9dbd8022b71db17e.d6a3fd9146dbcaff.7b785efa38bcad1e
+    1650032a79ac6179.53bde5721cdfde7f.401066b5849c76ee.4721d340a2fde4dd
+    5eb06d3ece03e8e5.62e3e468aa8ae183.9c021b53f5d49a65.7e0a253528a2150a
+    7d81514666367b51
+  after
+    8c4213a7b527db11.e698bb0be2b921d5.84ed65fc1f84db6d.c0c4caf74f523420
+    6e1a64472411f1ec.9dbd8022b71db17e.d6a3fd9146dbcaff.7b785efa38bcad1e
+    1650032a79ac6179.53bde5721cdfde7f.401066b5849c76ee.4721d340a2fde4dd
+    84ed65fc1f84db6d.c0c4caf74f523420.84ed65fc1f84db6d.c0c4caf74f523420
+    7d81514666367b51
+
+VBROADCASTI128(reg)
+  before
+    a0d052ddf946535d.24061d6d4123425c.287c7b6e00aaf937.c8439957b68df391
+    434424687d5cd9db.421e8fa5ee172b09.ffd5a5f1b7cb6047.9ea15aade3d53d9d
+    c129c3528d074876.95c340d1f0eb5e19.45385e5e6e7a535e.fbe6dc4197b833b6
+    78cb2c06c5d0dddb.fac3aadc64ab98b8.54f1a320be430e29.bcdf9a00ee419308
+    bb5810d4057c16be
+  after
+    a0d052ddf946535d.24061d6d4123425c.287c7b6e00aaf937.c8439957b68df391
+    434424687d5cd9db.421e8fa5ee172b09.ffd5a5f1b7cb6047.9ea15aade3d53d9d
+    c129c3528d074876.95c340d1f0eb5e19.45385e5e6e7a535e.fbe6dc4197b833b6
+    78cb2c06c5d0dddb.fac3aadc64ab98b8.54f1a320be430e29.bcdf9a00ee419308
+    bb5810d4057c16be
+VBROADCASTI128(mem)
+  before
+    d51cbaabf7767b05.c37559f2c245d4b6.4be84bb465649511.8a4e6ea345b0cc53
+    e6f9156fe1397c08.fe7548811ff168b2.65ff9e4410211050.4199bd539f4fcb89
+    cab99c0eded4d6f4.8515f51f7961d77b.24d41f7980efc7a3.d6208b9c67ac4476
+    5e29cb730b5045f5.b4a25a386b1f5abf.64334b3dd1d97333.a62dd4ea395176c7
+    0b0d95a9b2cc9b28
+  after
+    d51cbaabf7767b05.c37559f2c245d4b6.4be84bb465649511.8a4e6ea345b0cc53
+    e6f9156fe1397c08.fe7548811ff168b2.65ff9e4410211050.4199bd539f4fcb89
+    cab99c0eded4d6f4.8515f51f7961d77b.24d41f7980efc7a3.d6208b9c67ac4476
+    4be84bb465649511.8a4e6ea345b0cc53.4be84bb465649511.8a4e6ea345b0cc53
+    0b0d95a9b2cc9b28
+
+VEXTRACTI128_0x0(reg)
+  before
+    620cc9456ea9f044.7c151e8a83bb8536.e668753992ba3028.02e79c7d20ebd32f
+    07766c2a0872b1c8.0149123f632051e4.79b3408c89bb9462.d8be90268932a1c1
+    56967ac51cb51a5f.c991227ec68c662a.c8ceb99eedb0c11a.c382a22227b99a15
+    acbaef8047fe66b6.b0b9ca33c90a7f35.2e07dcdc5924f4fc.9f004f5f168c7a59
+    480411c773b7fdb6
+  after
+    620cc9456ea9f044.7c151e8a83bb8536.e668753992ba3028.02e79c7d20ebd32f
+    07766c2a0872b1c8.0149123f632051e4.79b3408c89bb9462.d8be90268932a1c1
+    56967ac51cb51a5f.c991227ec68c662a.c8ceb99eedb0c11a.c382a22227b99a15
+    0000000000000000.0000000000000000.e668753992ba3028.02e79c7d20ebd32f
+    480411c773b7fdb6
+VEXTRACTI128_0x0(mem)
+  before
+    9a5a66485947de5b.632cc8c924d8d279.928c864a87a65a31.09a8a3b06aa468b3
+    71cec9cde548da72.d839ff0b50cf9953.4bd7d2af1d6db149.b4fe0c88bbbb5aec
+    a92bb64232c4ad27.672d93b2666ff9f1.b7662b4fa66a41aa.8a5512cfe8f50653
+    1d3eaa935dc912a7.6c547d2a03452cfe.b2050b143ea9c57f.e9f9b1f18edea893
+    2b36e55a49037b59
+  after
+    9a5a66485947de5b.632cc8c924d8d279.b7662b4fa66a41aa.8a5512cfe8f50653
+    71cec9cde548da72.d839ff0b50cf9953.4bd7d2af1d6db149.b4fe0c88bbbb5aec
+    a92bb64232c4ad27.672d93b2666ff9f1.b7662b4fa66a41aa.8a5512cfe8f50653
+    1d3eaa935dc912a7.6c547d2a03452cfe.b2050b143ea9c57f.e9f9b1f18edea893
+    2b36e55a49037b59
+
+VEXTRACTI128_0x0(reg)
+  before
+    ae57ab76b4f0bd50.abd41fac8163c61e.43f9badfc2dc6f27.1880f1ec0237faf5
+    ccaafeb16b2fa725.2eb7937abb9c85b8.486a473d40c0fd18.c4a356c20d1f9c38
+    e379da770b4e7883.82b481e726820a9f.d7f11fb0187e137c.9439b7827c6d6773
+    4d113b352fd96a17.839666e0de211302.4bdb3ea4e7a1ed00.630f91176b2e16d3
+    0df25f6ff56d6783
+  after
+    ae57ab76b4f0bd50.abd41fac8163c61e.43f9badfc2dc6f27.1880f1ec0237faf5
+    ccaafeb16b2fa725.2eb7937abb9c85b8.486a473d40c0fd18.c4a356c20d1f9c38
+    e379da770b4e7883.82b481e726820a9f.d7f11fb0187e137c.9439b7827c6d6773
+    0000000000000000.0000000000000000.43f9badfc2dc6f27.1880f1ec0237faf5
+    0df25f6ff56d6783
+VEXTRACTI128_0x0(mem)
+  before
+    6dac9d76363613b0.67be1d55745aba8d.0c2bbc5200835a0b.0274a08648b6c74f
+    6109c7164b96d985.8ecc7d45755fa490.fb3d0128a8b69be7.570842c0d748dc16
+    c4d75a3c4f987330.1c86566fcf7464cd.2b9ab04df1c694c1.a6e31fc031e36901
+    71e1d1d45f489eda.6e3aa4411d2335ef.770c45aff7bdffc6.4b5033f0f213aabb
+    a19d7abeb565dbf0
+  after
+    6dac9d76363613b0.67be1d55745aba8d.2b9ab04df1c694c1.a6e31fc031e36901
+    6109c7164b96d985.8ecc7d45755fa490.fb3d0128a8b69be7.570842c0d748dc16
+    c4d75a3c4f987330.1c86566fcf7464cd.2b9ab04df1c694c1.a6e31fc031e36901
+    71e1d1d45f489eda.6e3aa4411d2335ef.770c45aff7bdffc6.4b5033f0f213aabb
+    a19d7abeb565dbf0
+
+VEXTRACTI128_0x0(reg)
+  before
+    0614f0951664374e.46f2a8cb96b316b2.e0326326fcfa54a3.bd603c39d7a99922
+    d50292e1b29dfb7f.1dd75b0b10e496e2.cebb908a0785fc95.d86112d7ad961d00
+    69b35b0e249b632f.d45c6682eae7db96.952126d9db4e6b70.a3dd4275948f488c
+    2072478809eaaa0b.454d461b40c9a1fb.8fb0217f13e3dbe1.fc9f48ffa8a0d6f4
+    bd72a06206d58362
+  after
+    0614f0951664374e.46f2a8cb96b316b2.e0326326fcfa54a3.bd603c39d7a99922
+    d50292e1b29dfb7f.1dd75b0b10e496e2.cebb908a0785fc95.d86112d7ad961d00
+    69b35b0e249b632f.d45c6682eae7db96.952126d9db4e6b70.a3dd4275948f488c
+    0000000000000000.0000000000000000.e0326326fcfa54a3.bd603c39d7a99922
+    bd72a06206d58362
+VEXTRACTI128_0x0(mem)
+  before
+    c323c788c93b0b02.558d52bcfd170dbf.4e7676c22d95a43d.19b47de84bd08894
+    eb7e375f0edd2901.634e79149aacc8f6.c9a37263ce589f87.8f78368020a0b034
+    0f4f6ed1f0c89a8b.a803b7fd7f38175d.949fb6ea3e1c4f06.4d4949b42edf8d6d
+    0d62e8cc8c0619cb.7ef608e4454435a0.8937bf4399f070e5.af74b1ee10195cec
+    11436a9c62db595d
+  after
+    c323c788c93b0b02.558d52bcfd170dbf.949fb6ea3e1c4f06.4d4949b42edf8d6d
+    eb7e375f0edd2901.634e79149aacc8f6.c9a37263ce589f87.8f78368020a0b034
+    0f4f6ed1f0c89a8b.a803b7fd7f38175d.949fb6ea3e1c4f06.4d4949b42edf8d6d
+    0d62e8cc8c0619cb.7ef608e4454435a0.8937bf4399f070e5.af74b1ee10195cec
+    11436a9c62db595d
+
+VEXTRACTI128_0x1(reg)
+  before
+    cf037028c1b0bf6b.bf821f3bfda564ee.437468338a5e5f6a.8537085afcddbd51
+    45ffc000c924cbc3.027d910a60b1351f.51c9d358ea12d167.656b0d1b82f1f476
+    cf85558f14c4b911.b21db824d035488b.054046be00eac645.039f4a734837ce7f
+    c8df2a41411bc500.ac2f1278693d5b5e.bc27bcd169747bae.3c9f3b4c6abc0a99
+    ec365d94028b62f0
+  after
+    cf037028c1b0bf6b.bf821f3bfda564ee.437468338a5e5f6a.8537085afcddbd51
+    45ffc000c924cbc3.027d910a60b1351f.51c9d358ea12d167.656b0d1b82f1f476
+    cf85558f14c4b911.b21db824d035488b.054046be00eac645.039f4a734837ce7f
+    0000000000000000.0000000000000000.cf037028c1b0bf6b.bf821f3bfda564ee
+    ec365d94028b62f0
+VEXTRACTI128_0x1(mem)
+  before
+    f0322b362fb093af.8e5b3e82e9b62a3d.ca7f1bef48d628c3.d0c831fdc03c2c4e
+    225d211d0a375902.7c438abeab202573.e9d94d76890a6ce7.9e70a1aea1cc15d2
+    5f84bb37b22d7016.eee40c6120e5f14f.e50826f947e8e3f5.836b0850a9b271e6
+    8373766f409d9317.3f89bfd8e791cc7d.9ada21659e79481a.d905634f747a7d35
+    fd8aad189dae756c
+  after
+    f0322b362fb093af.8e5b3e82e9b62a3d.5f84bb37b22d7016.eee40c6120e5f14f
+    225d211d0a375902.7c438abeab202573.e9d94d76890a6ce7.9e70a1aea1cc15d2
+    5f84bb37b22d7016.eee40c6120e5f14f.e50826f947e8e3f5.836b0850a9b271e6
+    8373766f409d9317.3f89bfd8e791cc7d.9ada21659e79481a.d905634f747a7d35
+    fd8aad189dae756c
+
+VEXTRACTI128_0x1(reg)
+  before
+    4b45e215c0dc9436.6af6ccb1d2947f31.cd809f8d99b1f0a8.e419baa4abcb5882
+    1f84ffb47a901840.f0d83be9841def8f.f314a8eed4d19a7d.9f926da48ae9cf58
+    d591fe5f66543a36.f1e63f047144a15d.0c90d665347b05a7.a711b74f55e068c9
+    c9b9dd8421b639c3.49ed52ecb6164fc8.76412660543d6fd3.d86212932bbbe000
+    0e51fc5b2686f32a
+  after
+    4b45e215c0dc9436.6af6ccb1d2947f31.cd809f8d99b1f0a8.e419baa4abcb5882
+    1f84ffb47a901840.f0d83be9841def8f.f314a8eed4d19a7d.9f926da48ae9cf58
+    d591fe5f66543a36.f1e63f047144a15d.0c90d665347b05a7.a711b74f55e068c9
+    0000000000000000.0000000000000000.4b45e215c0dc9436.6af6ccb1d2947f31
+    0e51fc5b2686f32a
+VEXTRACTI128_0x1(mem)
+  before
+    25a9f193624e5d73.5848978e46424f94.d4b7f28e6e9eb6fc.8c73934ad1a212ac
+    f9376b27fc1ed906.dc8a28e97283ba54.6e1199d7b5e89125.a972198f46372adf
+    66c8e8030f022510.b2ca8d014005b3b0.f3c7c5b2a8019d6d.2b8ab49b4f87f518
+    4826e314b707fabc.3556c1424d547954.3ea4f20a63f49603.6c0661da891ead02
+    c9341bb88f898f4a
+  after
+    25a9f193624e5d73.5848978e46424f94.66c8e8030f022510.b2ca8d014005b3b0
+    f9376b27fc1ed906.dc8a28e97283ba54.6e1199d7b5e89125.a972198f46372adf
+    66c8e8030f022510.b2ca8d014005b3b0.f3c7c5b2a8019d6d.2b8ab49b4f87f518
+    4826e314b707fabc.3556c1424d547954.3ea4f20a63f49603.6c0661da891ead02
+    c9341bb88f898f4a
+
+VEXTRACTI128_0x1(reg)
+  before
+    9f5edea1fe53d69c.7a1ed84411381737.c378bf1834fd46eb.2d769acd00cd3811
+    48d1a6017208c0a3.da7b438139a136ad.b77d86f0928b5722.9b073be69e993ec4
+    22d970458535870b.430ba1b54a4f1449.6db10f34028be8a4.6424504157636647
+    87c136d7d6656782.91986cce614d6d38.416057522087341e.639955ca473769c7
+    7632c66d8b220670
+  after
+    9f5edea1fe53d69c.7a1ed84411381737.c378bf1834fd46eb.2d769acd00cd3811
+    48d1a6017208c0a3.da7b438139a136ad.b77d86f0928b5722.9b073be69e993ec4
+    22d970458535870b.430ba1b54a4f1449.6db10f34028be8a4.6424504157636647
+    0000000000000000.0000000000000000.9f5edea1fe53d69c.7a1ed84411381737
+    7632c66d8b220670
+VEXTRACTI128_0x1(mem)
+  before
+    78bb20173e2ff76d.d4d7f625fe249eb1.9ff022b699a7fca5.8fd65bb4890e783c
+    44ffdeb27d6af9eb.6566ab9a9cff6647.4bdd3e5b0e6a7ebd.b25e16c8d9a9f0a9
+    b8cc7c2b63e0c815.97b952a24981fcee.6f2c3da8dda1afab.084685f9abe6d811
+    aeec766f0d9c1f18.c41de5a9a4369c53.e9a8998922584b9c.ecd8a2b29b506b22
+    ba616b614674e686
+  after
+    78bb20173e2ff76d.d4d7f625fe249eb1.b8cc7c2b63e0c815.97b952a24981fcee
+    44ffdeb27d6af9eb.6566ab9a9cff6647.4bdd3e5b0e6a7ebd.b25e16c8d9a9f0a9
+    b8cc7c2b63e0c815.97b952a24981fcee.6f2c3da8dda1afab.084685f9abe6d811
+    aeec766f0d9c1f18.c41de5a9a4369c53.e9a8998922584b9c.ecd8a2b29b506b22
+    ba616b614674e686
+
+VINSERTI128_0x0(reg)
+  before
+    cd2dda7147dd84e9.042c486996aabb1f.49de621b46ab8121.941fd0eaf79c0dbc
+    8388ee4f3b1783f8.94586f041a175857.8248c464cd6be805.4b5c5db87b78b236
+    36bda065bdae1d5f.3c3b662eb6eeb2ec.cba607f0d5020daa.ec2abdddc8f9f637
+    441aed206a2f8fc9.d6a3a9d2863c8409.8046282bf9fd2bbd.51566a46fa2a94eb
+    57ace2e02e17497d
+  after
+    cd2dda7147dd84e9.042c486996aabb1f.49de621b46ab8121.941fd0eaf79c0dbc
+    cd2dda7147dd84e9.042c486996aabb1f.8046282bf9fd2bbd.51566a46fa2a94eb
+    36bda065bdae1d5f.3c3b662eb6eeb2ec.cba607f0d5020daa.ec2abdddc8f9f637
+    441aed206a2f8fc9.d6a3a9d2863c8409.8046282bf9fd2bbd.51566a46fa2a94eb
+    57ace2e02e17497d
+VINSERTI128_0x0(mem)
+  before
+    dbf8a0957fccd11a.07e9d2eddd2614e3.405bb4dca50c8bdb.fd722182d5e77fea
+    b70620530a56e8ed.dd774a36b31dea59.542e04382f6a838e.9e77f05f064c45dc
+    c8a1de05eac04923.2010516987a24bd6.efe914d34162274d.bfa2903028b9b940
+    eb9757973b17b1e7.2e00e4f0f6407306.ee586097f7013444.bc3cfd5fd6b916c1
+    f194345aacd9990c
+  after
+    dbf8a0957fccd11a.07e9d2eddd2614e3.405bb4dca50c8bdb.fd722182d5e77fea
+    c8a1de05eac04923.2010516987a24bd6.405bb4dca50c8bdb.fd722182d5e77fea
+    c8a1de05eac04923.2010516987a24bd6.efe914d34162274d.bfa2903028b9b940
+    eb9757973b17b1e7.2e00e4f0f6407306.ee586097f7013444.bc3cfd5fd6b916c1
+    f194345aacd9990c
+
+VINSERTI128_0x0(reg)
+  before
+    baf5308c47a47ecc.fab206f51a66dc66.6193fd399b84a097.2b4764716b5266a1
+    73aaed6142a601af.d2bf670ba3b985cc.17149aaf13f90c33.83819c4ebc62798d
+    770067453a6b5d5e.4f8af6c5f11c6a44.aad0b6bef92bf486.d2d48518043c2837
+    24439aa4ca80cf88.4edf2f0f219c44fb.77144ed2e9a7943d.f50a9abd5fec30c9
+    c6f05728ea7e4d6f
+  after
+    baf5308c47a47ecc.fab206f51a66dc66.6193fd399b84a097.2b4764716b5266a1
+    baf5308c47a47ecc.fab206f51a66dc66.77144ed2e9a7943d.f50a9abd5fec30c9
+    770067453a6b5d5e.4f8af6c5f11c6a44.aad0b6bef92bf486.d2d48518043c2837
+    24439aa4ca80cf88.4edf2f0f219c44fb.77144ed2e9a7943d.f50a9abd5fec30c9
+    c6f05728ea7e4d6f
+VINSERTI128_0x0(mem)
+  before
+    22523845c0ff3b57.d5bf83ea8f7093d7.a9898fd54e44d21c.da2a5c5780f82704
+    e5fcba00fd7bb5aa.e6c01d8424c8e4f7.3d5691049421ced4.305edeba5aaaea86
+    ebba5745bffc7897.b29264dc2613ff95.e610b186103ef54f.d3fecf65124a1970
+    10588d001f903f48.9780545f30dd205d.80846b49dda703b8.20552bc64463ef6d
+    73aeee478d82a92a
+  after
+    22523845c0ff3b57.d5bf83ea8f7093d7.a9898fd54e44d21c.da2a5c5780f82704
+    ebba5745bffc7897.b29264dc2613ff95.a9898fd54e44d21c.da2a5c5780f82704
+    ebba5745bffc7897.b29264dc2613ff95.e610b186103ef54f.d3fecf65124a1970
+    10588d001f903f48.9780545f30dd205d.80846b49dda703b8.20552bc64463ef6d
+    73aeee478d82a92a
+
+VINSERTI128_0x0(reg)
+  before
+    2856155688318353.30a1d71d3b42c8e9.f0d8e97adeb383fa.e77e3c381869b43c
+    9b999b5ed2feb993.2762b2892f1fcda8.18e42098ce1f6319.f7ca9f3edc8fc306
+    28c37cca06758697.d167982e16320bae.6df1f42599b0fd66.8c3410494625ed43
+    2b20b408c121270a.0a7c07fa0c873d2a.494b618cddef8d8c.82870b447138ee1f
+    b5900c1b7ad281c5
+  after
+    2856155688318353.30a1d71d3b42c8e9.f0d8e97adeb383fa.e77e3c381869b43c
+    2856155688318353.30a1d71d3b42c8e9.494b618cddef8d8c.82870b447138ee1f
+    28c37cca06758697.d167982e16320bae.6df1f42599b0fd66.8c3410494625ed43
+    2b20b408c121270a.0a7c07fa0c873d2a.494b618cddef8d8c.82870b447138ee1f
+    b5900c1b7ad281c5
+VINSERTI128_0x0(mem)
+  before
+    001c90bb7c026362.00fc3f839e8ed899.ae6d7ad72e2b2046.0a3d643b356a4e37
+    41f5120e94d15021.03a21aa73a48d5f0.98066eb39829702e.0a15f79d3eac7d15
+    53e80e01dd4d032f.906040e130dc59ba.a6125d79658de90f.a71d181f944256d0
+    12c0008174823ab7.0380ad9b1dd5a1a4.b35ec515b1644615.3ba3c22bd2b71514
+    24f1f12e9497f58e
+  after
+    001c90bb7c026362.00fc3f839e8ed899.ae6d7ad72e2b2046.0a3d643b356a4e37
+    53e80e01dd4d032f.906040e130dc59ba.ae6d7ad72e2b2046.0a3d643b356a4e37
+    53e80e01dd4d032f.906040e130dc59ba.a6125d79658de90f.a71d181f944256d0
+    12c0008174823ab7.0380ad9b1dd5a1a4.b35ec515b1644615.3ba3c22bd2b71514
+    24f1f12e9497f58e
+
+VINSERTI128_0x1(reg)
+  before
+    bc53a295776f33ea.594b6578747bafe7.b84f5e429cc0e859.9bb7217399b9446b
+    6017cfca16ca0bd3.0653b8d4f9441ee8.0b194d4349276c86.39e7ed7f38989f3e
+    6c88763b0e34b8f6.f4a6758020e945e9.58297808c19967d7.6bbaa525ab0e13ba
+    3df19253fa3a77fe.fe0e18670577de14.facddaffa09f16f7.0cfec6510d265b0a
+    f77ecaf07bec345b
+  after
+    bc53a295776f33ea.594b6578747bafe7.b84f5e429cc0e859.9bb7217399b9446b
+    facddaffa09f16f7.0cfec6510d265b0a.b84f5e429cc0e859.9bb7217399b9446b
+    6c88763b0e34b8f6.f4a6758020e945e9.58297808c19967d7.6bbaa525ab0e13ba
+    3df19253fa3a77fe.fe0e18670577de14.facddaffa09f16f7.0cfec6510d265b0a
+    f77ecaf07bec345b
+VINSERTI128_0x1(mem)
+  before
+    0a052fec106d5ad8.2da0207d77678498.02581d77c3f9a695.4f4f6f9381c7b492
+    20607133e9b488ae.99df1a2720471b70.db4f019b767b5899.b2fc3430009c7f56
+    145b0aaf21ce7b08.ddfb7ebc92677731.64c13fbf3b0ab14c.7e202342baabb0ed
+    c4c2784ed4c5ef14.554047a86852d588.7b7953d02db16dd9.11073a354a7f8603
+    c6fd74754da43c45
+  after
+    0a052fec106d5ad8.2da0207d77678498.02581d77c3f9a695.4f4f6f9381c7b492
+    02581d77c3f9a695.4f4f6f9381c7b492.64c13fbf3b0ab14c.7e202342baabb0ed
+    145b0aaf21ce7b08.ddfb7ebc92677731.64c13fbf3b0ab14c.7e202342baabb0ed
+    c4c2784ed4c5ef14.554047a86852d588.7b7953d02db16dd9.11073a354a7f8603
+    c6fd74754da43c45
+
+VINSERTI128_0x1(reg)
+  before
+    f84ece6e5ea60d5f.0a6136fb1fa8a0fb.5df971583e957120.fa42b9b8697c486d
+    0545428d1a1236fc.c304c0a21e8049eb.5174f936b1ba86a6.bfe9ee640b78fe33
+    472fce3c1c74f2c9.cc76922fec5ba710.8efbd9af5d4f52c6.a43a6cc12db04a59
+    1c586de801567e72.ff84298ea5447696.6ddb0f30dde00f2b.8601b1b9ee31e908
+    420a383a6706966e
+  after
+    f84ece6e5ea60d5f.0a6136fb1fa8a0fb.5df971583e957120.fa42b9b8697c486d
+    6ddb0f30dde00f2b.8601b1b9ee31e908.5df971583e957120.fa42b9b8697c486d
+    472fce3c1c74f2c9.cc76922fec5ba710.8efbd9af5d4f52c6.a43a6cc12db04a59
+    1c586de801567e72.ff84298ea5447696.6ddb0f30dde00f2b.8601b1b9ee31e908
+    420a383a6706966e
+VINSERTI128_0x1(mem)
+  before
+    b2207e2fb63b0fb7.de0c1bfe644616a2.39faffab664771a8.4d609623cdf8f982
+    b311fd84f7dc0e0f.eb97d4e9e2cff605.57a492724b715572.89d66bf6ca234e76
+    22a7332545f64fa1.9d459515167e5a49.334e5ed06fcdde22.7d8988146fed48b4
+    d9af9bfebd949099.516159ee9dde7d18.aac4ddafee68c8e2.85c4ebe959e323e8
+    fdd58fe124901dbd
+  after
+    b2207e2fb63b0fb7.de0c1bfe644616a2.39faffab664771a8.4d609623cdf8f982
+    39faffab664771a8.4d609623cdf8f982.334e5ed06fcdde22.7d8988146fed48b4
+    22a7332545f64fa1.9d459515167e5a49.334e5ed06fcdde22.7d8988146fed48b4
+    d9af9bfebd949099.516159ee9dde7d18.aac4ddafee68c8e2.85c4ebe959e323e8
+    fdd58fe124901dbd
+
+VINSERTI128_0x1(reg)
+  before
+    410670686a8170e0.b5f5b1fb7ac38b25.64391ce0127b9c1e.98d18dfde54dcede
+    ada48aeaca4159fc.9245f208988efd6e.3017da5711e2f208.da43e9a56f88ad43
+    9cfbdad3dd5c14be.4c6ad8113401a2a3.124890bf379ebd82.4ae46d92a926213d
+    6c575b8f425edcd2.bf32e1036a2935ee.66183884203b3737.c58195b2ae31e6f7
+    27e6ddf09bb8b79e
+  after
+    410670686a8170e0.b5f5b1fb7ac38b25.64391ce0127b9c1e.98d18dfde54dcede
+    66183884203b3737.c58195b2ae31e6f7.64391ce0127b9c1e.98d18dfde54dcede
+    9cfbdad3dd5c14be.4c6ad8113401a2a3.124890bf379ebd82.4ae46d92a926213d
+    6c575b8f425edcd2.bf32e1036a2935ee.66183884203b3737.c58195b2ae31e6f7
+    27e6ddf09bb8b79e
+VINSERTI128_0x1(mem)
+  before
+    4cdfc2388bc4515d.7804098b92d4eee3.c76789c85510737c.89d2d01267469cd4
+    1037bf779a636f61.1b4de0316b49869d.40d64a4e11c51878.d5c454d6a84a2a04
+    4fbc5097e6a0cfd6.b37fddef694ae0ae.064ba180bb51df0e.a738be3a80d31b74
+    e538f28588882be7.9be7fa30276237c0.f5920b496ec2856c.5b7c0cac8a6eacd0
+    4dda389763a619c3
+  after
+    4cdfc2388bc4515d.7804098b92d4eee3.c76789c85510737c.89d2d01267469cd4
+    c76789c85510737c.89d2d01267469cd4.064ba180bb51df0e.a738be3a80d31b74
+    4fbc5097e6a0cfd6.b37fddef694ae0ae.064ba180bb51df0e.a738be3a80d31b74
+    e538f28588882be7.9be7fa30276237c0.f5920b496ec2856c.5b7c0cac8a6eacd0
+    4dda389763a619c3
+
+VPERM2I128_0x00(reg)
+  before
+    d99f4067a6089dfa.ae781f2e9e2640c1.2ecf355f411dc87f.e97703974724c6bc
+    5b162088f01e7520.8648557c4486c98f.ca8389ea5408cf98.bec5055561815e2a
+    2f8dd266dc77dde2.49740f5d95b5837e.c951f33cfcae87b7.50498e6fd9e708e4
+    b14e546d079c10ec.d3c7c9bbadbe2ab9.89846dc1d49b2d87.7bd018d2ca618113
+    1b24216851fc85e6
+  after
+    ca8389ea5408cf98.bec5055561815e2a.ca8389ea5408cf98.bec5055561815e2a
+    5b162088f01e7520.8648557c4486c98f.ca8389ea5408cf98.bec5055561815e2a
+    2f8dd266dc77dde2.49740f5d95b5837e.c951f33cfcae87b7.50498e6fd9e708e4
+    b14e546d079c10ec.d3c7c9bbadbe2ab9.89846dc1d49b2d87.7bd018d2ca618113
+    1b24216851fc85e6
+VPERM2I128_0x00(mem)
+  before
+    0c12241e89c3d087.3da7a1090c1b4ce9.ff0f0084a9ad7a6e.6467f5e5785bfdb5
+    29659ee18ec21d22.2fe2b5a6887fca86.ab162fa3a48f2ec6.b7478615857b33ed
+    50eb099b7e0629e4.e34c8cb11654c96e.b2a9d104bb6f03f0.df701cbb96870ada
+    5c6ee33a729ab0f9.b53123945227844e.f09465930959b516.362eb4454809bf28
+    19cd481d378f8e85
+  after
+    0c12241e89c3d087.3da7a1090c1b4ce9.ff0f0084a9ad7a6e.6467f5e5785bfdb5
+    29659ee18ec21d22.2fe2b5a6887fca86.ab162fa3a48f2ec6.b7478615857b33ed
+    ab162fa3a48f2ec6.b7478615857b33ed.ab162fa3a48f2ec6.b7478615857b33ed
+    5c6ee33a729ab0f9.b53123945227844e.f09465930959b516.362eb4454809bf28
+    19cd481d378f8e85
+
+VPERM2I128_0x00(reg)
+  before
+    e599d6b1fda5b29a.28bca7a9888b6d8c.00dc75bdd98336d1.40a3643cab5a0064
+    f4dd596b39d56916.929fd1d3dce31dca.229b7e9647f51ba5.80a24cecbc7d9f07
+    a3e6ceb984adeca3.75e4dea688b07cdf.76b83a8d37087173.8a5c978d59cf4f2b
+    4e002f067cb97aed.ac56480dabfe46f6.5881a50d454872ea.3c9fc30d9d5accfb
+    71354c56a52cd1a4
+  after
+    229b7e9647f51ba5.80a24cecbc7d9f07.229b7e9647f51ba5.80a24cecbc7d9f07
+    f4dd596b39d56916.929fd1d3dce31dca.229b7e9647f51ba5.80a24cecbc7d9f07
+    a3e6ceb984adeca3.75e4dea688b07cdf.76b83a8d37087173.8a5c978d59cf4f2b
+    4e002f067cb97aed.ac56480dabfe46f6.5881a50d454872ea.3c9fc30d9d5accfb
+    71354c56a52cd1a4
+VPERM2I128_0x00(mem)
+  before
+    04ebac568c511b52.52777abebd844da2.15c38df55fd8363c.2340bc820e425bb4
+    d38d61f86fd46630.0997aa4de29aa26b.8af62848c04a09dc.35427a582d80687d
+    b8e7e62769c16e6a.d0acbb208887b5f7.e9ba95f3eb607b03.e8d2dbfb3f91d4f2
+    90c4b7d19624ee2e.0301aaa14ad8c2f0.0cdc51e2fb2747dc.9a3edbd8dffedcbf
+    a6d07759aa55bc8f
+  after
+    04ebac568c511b52.52777abebd844da2.15c38df55fd8363c.2340bc820e425bb4
+    d38d61f86fd46630.0997aa4de29aa26b.8af62848c04a09dc.35427a582d80687d
+    8af62848c04a09dc.35427a582d80687d.8af62848c04a09dc.35427a582d80687d
+    90c4b7d19624ee2e.0301aaa14ad8c2f0.0cdc51e2fb2747dc.9a3edbd8dffedcbf
+    a6d07759aa55bc8f
+
+VPERM2I128_0x00(reg)
+  before
+    67d6a9eb3b21b00f.38f250e1130aa3a6.fee4713dc4180402.d128d7020daa2a94
+    3b9a6ffb2feff3eb.8a3b2e44fc7e49fe.1d9f0e6193d3b8db.126aa33d3cf5e057
+    7c69c5f3214ac2ce.646ccbe46c8d9b63.bc7f7c7753961924.ac6e3181a5152550
+    878ea541aebe5964.a051a5ae7f415601.37d0b8ed9eec658c.7cfffdb96315b4ac
+    5ceb84d193024a96
+  after
+    1d9f0e6193d3b8db.126aa33d3cf5e057.1d9f0e6193d3b8db.126aa33d3cf5e057
+    3b9a6ffb2feff3eb.8a3b2e44fc7e49fe.1d9f0e6193d3b8db.126aa33d3cf5e057
+    7c69c5f3214ac2ce.646ccbe46c8d9b63.bc7f7c7753961924.ac6e3181a5152550
+    878ea541aebe5964.a051a5ae7f415601.37d0b8ed9eec658c.7cfffdb96315b4ac
+    5ceb84d193024a96
+VPERM2I128_0x00(mem)
+  before
+    29fc40b550e7a33c.b9570d5071d8f35b.1bb6388e52a93603.eadebc2e1362d6bd
+    bfffaf51b6d07ac7.6c0ff78c0723ce5c.b166fe7100cef796.30f486a64c82a963
+    fbc04d91e2ca8c65.fd0162610b2b2316.3f2f7542a6be54e5.676011c0e5db192c
+    b70b9461f0df9542.c97a473b197d3133.9fdb17ec5f840a1d.ea6c59eb7bf663c1
+    15655a90a961c3d1
+  after
+    29fc40b550e7a33c.b9570d5071d8f35b.1bb6388e52a93603.eadebc2e1362d6bd
+    bfffaf51b6d07ac7.6c0ff78c0723ce5c.b166fe7100cef796.30f486a64c82a963
+    b166fe7100cef796.30f486a64c82a963.b166fe7100cef796.30f486a64c82a963
+    b70b9461f0df9542.c97a473b197d3133.9fdb17ec5f840a1d.ea6c59eb7bf663c1
+    15655a90a961c3d1
+
+VPERM2I128_0xFF(reg)
+  before
+    4497111c0ca77506.d0ab02adfb1e518a.2ac6a386cea43260.ae37625d482dd56a
+    d24e79fb3f55b50c.226e12621f907b68.7d3173aec62c6348.480fd2807cc471f7
+    1dd58e9adff6be90.891e406a7943d008.1e07b2209ba20098.492fe141185599f1
+    807a4c638716cc3e.e18808b325420c97.6a935c46ec9145fb.8d630d8c37ec0a83
+    f077d14df6967fda
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    d24e79fb3f55b50c.226e12621f907b68.7d3173aec62c6348.480fd2807cc471f7
+    1dd58e9adff6be90.891e406a7943d008.1e07b2209ba20098.492fe141185599f1
+    807a4c638716cc3e.e18808b325420c97.6a935c46ec9145fb.8d630d8c37ec0a83
+    f077d14df6967fda
+VPERM2I128_0xFF(mem)
+  before
+    4e36a970705fb622.5687b0c4d3411dc1.0678e7283d9aeb41.bb236e8e53856d1e
+    836d12e2c1516986.fd49b4276004ebc6.d4ba58b5e0562832.6e01e2626c0bb5ad
+    6be8868d067a5533.cf0c56facaea73f9.271ad74528828095.df7ab630d4ae5853
+    e273835f5be63554.2a1c91a8ac80f105.db63e0c6312baf96.6adae56326fb94bd
+    6b6d6b67ff7ca396
+  after
+    4e36a970705fb622.5687b0c4d3411dc1.0678e7283d9aeb41.bb236e8e53856d1e
+    836d12e2c1516986.fd49b4276004ebc6.d4ba58b5e0562832.6e01e2626c0bb5ad
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e273835f5be63554.2a1c91a8ac80f105.db63e0c6312baf96.6adae56326fb94bd
+    6b6d6b67ff7ca396
+
+VPERM2I128_0xFF(reg)
+  before
+    3e7e45a8fabfc28b.c4da8442db9fc616.68c5629da251a096.cc62ef24185c7062
+    3f5b6d92b4502c48.ede90524a2b3c4a5.e752c34549e9be5a.d6e48149f8218025
+    ca4ee191c8ba1e78.386b83f0cd2deb2c.0111b20c3dd584fb.d4b31122ed879b0a
+    3ba49c12d289d4c8.832e7892771af6d8.144c2a5f19a03125.a49c1b9b15997c3e
+    216a1ba18963e1ed
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3f5b6d92b4502c48.ede90524a2b3c4a5.e752c34549e9be5a.d6e48149f8218025
+    ca4ee191c8ba1e78.386b83f0cd2deb2c.0111b20c3dd584fb.d4b31122ed879b0a
+    3ba49c12d289d4c8.832e7892771af6d8.144c2a5f19a03125.a49c1b9b15997c3e
+    216a1ba18963e1ed
+VPERM2I128_0xFF(mem)
+  before
+    27eb8e1e67f28442.eea99b7f70498ae3.a9fc62f6bd85a2d4.7a5027a879d6ff85
+    91e9ee00cb51216a.3ea9d8463b877b76.86a2bc08bb7bab4d.9069a654fa042bc7
+    3d32b932d08c7690.89f051d1d1cee42c.f5ec03b48b06cd6e.b3e3a2d037b5f196
+    06906ba092b03de1.2ac9018eceab01b3.d4a5b1e64c34c364.3d091687cd758d9f
+    8b2901e457d13a8d
+  after
+    27eb8e1e67f28442.eea99b7f70498ae3.a9fc62f6bd85a2d4.7a5027a879d6ff85
+    91e9ee00cb51216a.3ea9d8463b877b76.86a2bc08bb7bab4d.9069a654fa042bc7
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    06906ba092b03de1.2ac9018eceab01b3.d4a5b1e64c34c364.3d091687cd758d9f
+    8b2901e457d13a8d
+
+VPERM2I128_0xFF(reg)
+  before
+    f98d5c557254350d.c7d07e352ec83388.7d82e4e8cca90eb4.fd9b448b17114a5b
+    e4822445b98ab9cb.5ebd70dfc0e013b3.dd65f74a6a5446de.4e98378d0aa71e7e
+    a6545620c8000472.a525bb8a62059a8b.a8bf34224238e6db.a26906da4105fafa
+    9c4fed523d4150af.7ad3dd203342843f.39dc99dbf0e22a57.d4da2e5cd7349bfb
+    c2b72a01e942bdac
+  after
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e4822445b98ab9cb.5ebd70dfc0e013b3.dd65f74a6a5446de.4e98378d0aa71e7e
+    a6545620c8000472.a525bb8a62059a8b.a8bf34224238e6db.a26906da4105fafa
+    9c4fed523d4150af.7ad3dd203342843f.39dc99dbf0e22a57.d4da2e5cd7349bfb
+    c2b72a01e942bdac
+VPERM2I128_0xFF(mem)
+  before
+    46cc75b4923a1c3a.22bfe547b1d9d92d.b792528e4da48df8.eb0821e211de4dff
+    3ee58e61ee2873d0.94ef3b6cc255dd99.3a2f94c0cc3671e5.1c8ec9a140b68c7f
+    84cdeef41a197f9b.4e2dea2b0c40969f.dd7621a3cd04eb30.26bc8b851af82382
+    f55112593218fcc6.acc3edf12a2741ea.7d3374226b1ab806.67dc65fb3a2f4eb5
+    393b526d3de848c4
+  after
+    46cc75b4923a1c3a.22bfe547b1d9d92d.b792528e4da48df8.eb0821e211de4dff
+    3ee58e61ee2873d0.94ef3b6cc255dd99.3a2f94c0cc3671e5.1c8ec9a140b68c7f
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    f55112593218fcc6.acc3edf12a2741ea.7d3374226b1ab806.67dc65fb3a2f4eb5
+    393b526d3de848c4
+
+VPERM2I128_0x30(reg)
+  before
+    fa254e49beae4e5a.6e3d777c5132a57e.0afe422bb8941a27.f7320928c3859392
+    04e656f95a0d9c23.c95d984a937237ef.c42ae54453165c01.253e5ca3f0503a01
+    b5c964ebac926dcd.e37df1ad15e46e44.3692d0a796364425.e425ea7e0e88677e
+    671c768a50c8fe01.9869ff93f29406aa.bc8401c21e820e3f.11b12ea53a37d636
+    86afa404906c4555
+  after
+    b5c964ebac926dcd.e37df1ad15e46e44.c42ae54453165c01.253e5ca3f0503a01
+    04e656f95a0d9c23.c95d984a937237ef.c42ae54453165c01.253e5ca3f0503a01
+    b5c964ebac926dcd.e37df1ad15e46e44.3692d0a796364425.e425ea7e0e88677e
+    671c768a50c8fe01.9869ff93f29406aa.bc8401c21e820e3f.11b12ea53a37d636
+    86afa404906c4555
+VPERM2I128_0x30(mem)
+  before
+    20ebc8872b306e06.77298742e43b8b6e.c5ec3ce6478fba4c.b24a73008685f5fa
+    bb31171a28910e76.423d937f017850be.44d426942fe04757.733222cd6bcc3703
+    334c0baaa29ae1d0.22a497ad450a889e.f2eb3888c79469f7.5d860b9568e10e05
+    640a2221b558a241.74aa8e394b7d70b9.abfeefae2ab6dc57.cb9328c51a53b6ad
+    19a577c71cab6da7
+  after
+    20ebc8872b306e06.77298742e43b8b6e.c5ec3ce6478fba4c.b24a73008685f5fa
+    bb31171a28910e76.423d937f017850be.44d426942fe04757.733222cd6bcc3703
+    20ebc8872b306e06.77298742e43b8b6e.44d426942fe04757.733222cd6bcc3703
+    640a2221b558a241.74aa8e394b7d70b9.abfeefae2ab6dc57.cb9328c51a53b6ad
+    19a577c71cab6da7
+
+VPERM2I128_0x30(reg)
+  before
+    a207f3080b776d9e.2b35d76d7ed60ef5.949b748db05e44bc.4bd9c5f175525ba4
+    c40798f58242f33e.629aa7781820e117.dec3451710383f52.ae483840c375a309
+    daef63f91e993a35.e6050c30a043d6d4.af6dfd4106979f28.b016c384312a6fb3
+    3f0c4e7f7a07802d.93428480314aaa57.61e699792e089dea.2d11e2aada7d7dce
+    0103119eda7a8785
+  after
+    daef63f91e993a35.e6050c30a043d6d4.dec3451710383f52.ae483840c375a309
+    c40798f58242f33e.629aa7781820e117.dec3451710383f52.ae483840c375a309
+    daef63f91e993a35.e6050c30a043d6d4.af6dfd4106979f28.b016c384312a6fb3
+    3f0c4e7f7a07802d.93428480314aaa57.61e699792e089dea.2d11e2aada7d7dce
+    0103119eda7a8785
+VPERM2I128_0x30(mem)
+  before
+    08b9cd4d4e2e4a05.51aa57f53218ffd2.441d8a54e84119cd.517a142a25167843
+    1eff91a152a58179.6a157ac6e358f3d1.d7619a98e034df62.db756abf864d6ae0
+    1fa1d98801e9e90e.e899b15e29549ad6.27dc31383630b741.5b2397a6ee3ab16c
+    e76a21ed77083ef0.2581fa299f982e8c.1058c92005415e97.2dd0974af8688694
+    adc7671741642804
+  after
+    08b9cd4d4e2e4a05.51aa57f53218ffd2.441d8a54e84119cd.517a142a25167843
+    1eff91a152a58179.6a157ac6e358f3d1.d7619a98e034df62.db756abf864d6ae0
+    08b9cd4d4e2e4a05.51aa57f53218ffd2.d7619a98e034df62.db756abf864d6ae0
+    e76a21ed77083ef0.2581fa299f982e8c.1058c92005415e97.2dd0974af8688694
+    adc7671741642804
+
+VPERM2I128_0x30(reg)
+  before
+    3755027a64b9d167.5128e6bbd10e3c4a.7f1b4f93e1aeeca0.6ea2e03c6a71908f
+    26c764ddfdf3be6a.3ba5a2e02b059e49.50b1ae088c240fbd.1d86f17880ce0956
+    d86689ada99e2bb8.80aed3479ffb2118.f59013f53b86d591.f8cf78c164648418
+    a8816e57044753fe.fc0ff4dc4cfc81e4.cb0478c48b5e78c5.dd4bf201313dbe00
+    a7c4da260367733a
+  after
+    d86689ada99e2bb8.80aed3479ffb2118.50b1ae088c240fbd.1d86f17880ce0956
+    26c764ddfdf3be6a.3ba5a2e02b059e49.50b1ae088c240fbd.1d86f17880ce0956
+    d86689ada99e2bb8.80aed3479ffb2118.f59013f53b86d591.f8cf78c164648418
+    a8816e57044753fe.fc0ff4dc4cfc81e4.cb0478c48b5e78c5.dd4bf201313dbe00
+    a7c4da260367733a
+VPERM2I128_0x30(mem)
+  before
+    3108ac1bf7ee5ef4.f2630e45a97973e7.8a94828c4b127ad9.2c59dbe3173a3407
+    59e1e4cc29dd3c58.125865e534c1c721.0809f741bb4bc722.75da37bc7ca64703
+    fa1cfe25b440c992.63ab6fa242aa8a55.5139d1e8b5b325eb.03d588bd552ceb65
+    ef857712b423c1cf.43a928e86fc0fa32.40f28b6e58555062.3094ca513f5a5dd8
+    5964fae4d5bcd908
+  after
+    3108ac1bf7ee5ef4.f2630e45a97973e7.8a94828c4b127ad9.2c59dbe3173a3407
+    59e1e4cc29dd3c58.125865e534c1c721.0809f741bb4bc722.75da37bc7ca64703
+    3108ac1bf7ee5ef4.f2630e45a97973e7.0809f741bb4bc722.75da37bc7ca64703
+    ef857712b423c1cf.43a928e86fc0fa32.40f28b6e58555062.3094ca513f5a5dd8
+    5964fae4d5bcd908
+
+VPERM2I128_0x21(reg)
+  before
+    da9112e2b4dc9aa3.16e7ca7f4693df3b.0d9e8d23568f5162.b3fea1bdbd3d03b1
+    0f6710b77748dd52.49107358859be001.1cd699bf93a4cb91.842a90c30277fb04
+    5432f0cfbb8cdec4.66caee898e47804e.ce9d4828c38aa66c.9142d26b4310f488
+    053dac961b33d8a3.47e2b8ff7da47a4e.7e3e96ca81ce1c9f.b412e5a19b13aa69
+    cb654451278cd8d2
+  after
+    ce9d4828c38aa66c.9142d26b4310f488.0f6710b77748dd52.49107358859be001
+    0f6710b77748dd52.49107358859be001.1cd699bf93a4cb91.842a90c30277fb04
+    5432f0cfbb8cdec4.66caee898e47804e.ce9d4828c38aa66c.9142d26b4310f488
+    053dac961b33d8a3.47e2b8ff7da47a4e.7e3e96ca81ce1c9f.b412e5a19b13aa69
+    cb654451278cd8d2
+VPERM2I128_0x21(mem)
+  before
+    b0096c6702883bf0.7ed5427933c9089b.ca244ba46cbd8b2c.870780126afb6ad5
+    40c8d7cf48128fee.1b47ace2a0daaa5a.c95c25667a9f6f14.4742016a199dcbbb
+    586f037516378ff9.38dde93ffdf3fa89.2156c12fc055e234.183c153f2b417dfd
+    d2ca6b458702f83d.31e3f2fbe79f33d7.afdd9ced5ceb9fb5.5841b8fe3b72ba46
+    619de612e6bcbe42
+  after
+    b0096c6702883bf0.7ed5427933c9089b.ca244ba46cbd8b2c.870780126afb6ad5
+    40c8d7cf48128fee.1b47ace2a0daaa5a.c95c25667a9f6f14.4742016a199dcbbb
+    ca244ba46cbd8b2c.870780126afb6ad5.40c8d7cf48128fee.1b47ace2a0daaa5a
+    d2ca6b458702f83d.31e3f2fbe79f33d7.afdd9ced5ceb9fb5.5841b8fe3b72ba46
+    619de612e6bcbe42
+
+VPERM2I128_0x21(reg)
+  before
+    909c9ce7c7acc79f.8ba58b2cb87f86e5.62a7c481fa6a92ee.4dbf308b6a6d63c6
+    4289d5e97acd0f06.5fcbe014c4baf51e.27745c3fd1e1537a.d8c6fbf505e8ea91
+    d1b18d849cabd326.2b0ae4ebc8c00014.dc95b5a0088fb228.2cbf78174a67ef43
+    9a61c024c9d34ea9.c92c159be09c64f2.dd57cb103c01eaa4.267623dd54f72f07
+    a0b779333fa3660a
+  after
+    dc95b5a0088fb228.2cbf78174a67ef43.4289d5e97acd0f06.5fcbe014c4baf51e
+    4289d5e97acd0f06.5fcbe014c4baf51e.27745c3fd1e1537a.d8c6fbf505e8ea91
+    d1b18d849cabd326.2b0ae4ebc8c00014.dc95b5a0088fb228.2cbf78174a67ef43
+    9a61c024c9d34ea9.c92c159be09c64f2.dd57cb103c01eaa4.267623dd54f72f07
+    a0b779333fa3660a
+VPERM2I128_0x21(mem)
+  before
+    774df50628775077.fae36b359cd0be3c.16feee12265bdde4.85079bfb08c2389a
+    870612402b7fa87b.4b848823b12e5d8a.ee4dec3bb9082717.32ef1fce095ed8b4
+    acac4fcf63c82b42.ea8f155aa57a6840.2de28902b2affdb7.3f5b55f3da6105a1
+    c20c259dec5e95f7.33520d47143f1a09.af8c43532f5d1cf0.089938d71758fc0b
+    e8f3c4e75ecff99f
+  after
+    774df50628775077.fae36b359cd0be3c.16feee12265bdde4.85079bfb08c2389a
+    870612402b7fa87b.4b848823b12e5d8a.ee4dec3bb9082717.32ef1fce095ed8b4
+    16feee12265bdde4.85079bfb08c2389a.870612402b7fa87b.4b848823b12e5d8a
+    c20c259dec5e95f7.33520d47143f1a09.af8c43532f5d1cf0.089938d71758fc0b
+    e8f3c4e75ecff99f
+
+VPERM2I128_0x21(reg)
+  before
+    3db7f68d48503808.a5f21298e34ba2c7.82176d549909b092.5016951a4c1d3fed
+    612fc9377369f4f3.312a90ab639d0ddd.332b2fefd0656687.ec4bfb4424fb24da
+    b2a839507ba56a0c.42801dc2895f9366.a3db518356de7893.5ff8f1bbd40485e4
+    8b6e4244fb91d6fe.b4bf35c9709ef08e.2c70ce7cc6002163.85e9f46c77431f37
+    3aea7f4429c4adff
+  after
+    a3db518356de7893.5ff8f1bbd40485e4.612fc9377369f4f3.312a90ab639d0ddd
+    612fc9377369f4f3.312a90ab639d0ddd.332b2fefd0656687.ec4bfb4424fb24da
+    b2a839507ba56a0c.42801dc2895f9366.a3db518356de7893.5ff8f1bbd40485e4
+    8b6e4244fb91d6fe.b4bf35c9709ef08e.2c70ce7cc6002163.85e9f46c77431f37
+    3aea7f4429c4adff
+VPERM2I128_0x21(mem)
+  before
+    5ac70e2e0793ec67.47cce07f8fb87375.63b552ac3565df80.2b39a246bd589ea2
+    c14c1d152cbd989b.4410106dd4a67e1f.2b2cf257f3c01d68.fc81ca4dd6712bfd
+    4a4428e7b54e6dc8.dc84cc7a66e833a5.e7f18fb6c7bc6674.fa9341fdaed80420
+    d37dac8fbe50261a.6c761212df09ceb6.75d0a8b5cc6475ce.83bd03c2e01864b6
+    f2490c0808bd886c
+  after
+    5ac70e2e0793ec67.47cce07f8fb87375.63b552ac3565df80.2b39a246bd589ea2
+    c14c1d152cbd989b.4410106dd4a67e1f.2b2cf257f3c01d68.fc81ca4dd6712bfd
+    63b552ac3565df80.2b39a246bd589ea2.c14c1d152cbd989b.4410106dd4a67e1f
+    d37dac8fbe50261a.6c761212df09ceb6.75d0a8b5cc6475ce.83bd03c2e01864b6
+    f2490c0808bd886c
+
+VPERM2I128_0x12(reg)
+  before
+    a384583cc353abed.37c124f962d180bc.5130dea2de958afc.b094b6411ec408a2
+    f2bae4c8ad670be6.52dd0c11bddd37db.e5ff2a94fd19a424.740b3644dbe9d91d
+    3b36aa1a6184e202.ff9de1c3ec7f07a3.852ef456d82058d9.9cffa5ac1cdea46b
+    da46a89c7b376def.1ccc1dfc0ac3ab3f.8e0b37520c36e1c8.063e7e64ffb027b7
+    8d923d58a0691c2e
+  after
+    f2bae4c8ad670be6.52dd0c11bddd37db.852ef456d82058d9.9cffa5ac1cdea46b
+    f2bae4c8ad670be6.52dd0c11bddd37db.e5ff2a94fd19a424.740b3644dbe9d91d
+    3b36aa1a6184e202.ff9de1c3ec7f07a3.852ef456d82058d9.9cffa5ac1cdea46b
+    da46a89c7b376def.1ccc1dfc0ac3ab3f.8e0b37520c36e1c8.063e7e64ffb027b7
+    8d923d58a0691c2e
+VPERM2I128_0x12(mem)
+  before
+    0cc85f741a1740fc.2a34dabc980ae756.84383ea634b5e0dc.5ae0eff634e87c9c
+    61ac5ea489c64e4c.894d3ae5548c8de6.12abbfae856262a5.46fb18adedc16502
+    6609b8d40a80034b.52ddc6834a469b48.a4f21c0119d5ecc7.aea6afe3d24dd8a6
+    f9ade8f0b8541b24.e030790216c64d2b.14d9d28a0e1a3b6d.ee2eae047f191033
+    63df137c91b04a56
+  after
+    0cc85f741a1740fc.2a34dabc980ae756.84383ea634b5e0dc.5ae0eff634e87c9c
+    61ac5ea489c64e4c.894d3ae5548c8de6.12abbfae856262a5.46fb18adedc16502
+    61ac5ea489c64e4c.894d3ae5548c8de6.84383ea634b5e0dc.5ae0eff634e87c9c
+    f9ade8f0b8541b24.e030790216c64d2b.14d9d28a0e1a3b6d.ee2eae047f191033
+    63df137c91b04a56
+
+VPERM2I128_0x12(reg)
+  before
+    6704dab7a49ec2ba.f4626ae4b04b5204.91924fce5597df39.402c5b347d3e0bc4
+    57ebfd215370b30c.35f5bb9d0d736416.bf4f4454a2468c1f.02b735ed844c18f8
+    8fde7a273ab15bf8.96325605ecd70c87.c8b255fe9a5e9188.3846dba03f511d34
+    6b2a4c33f6edf429.f5e5b70a68830783.06087c39d86b2921.bca4ca39c957d7a5
+    6b9e7ca43e6d0277
+  after
+    57ebfd215370b30c.35f5bb9d0d736416.c8b255fe9a5e9188.3846dba03f511d34
+    57ebfd215370b30c.35f5bb9d0d736416.bf4f4454a2468c1f.02b735ed844c18f8
+    8fde7a273ab15bf8.96325605ecd70c87.c8b255fe9a5e9188.3846dba03f511d34
+    6b2a4c33f6edf429.f5e5b70a68830783.06087c39d86b2921.bca4ca39c957d7a5
+    6b9e7ca43e6d0277
+VPERM2I128_0x12(mem)
+  before
+    22016fcebb9c59d5.471b6fb323b1ba4c.2cda5a969e841035.d79db772f9fa9195
+    bb971ea15bf299eb.7ffddf115c88eb0c.18dcbb97a9e5e5ca.95bd011398960592
+    132c050a3b7a7ee7.6f1c99bb3dffc116.96b957f8a6b3406e.9eb4578a52cbc1c1
+    068ea1f67741c4f2.72c4971c63a17816.803ba9a5b0f9dd4c.4cceb342c22601d0
+    fd5613a78432006b
+  after
+    22016fcebb9c59d5.471b6fb323b1ba4c.2cda5a969e841035.d79db772f9fa9195
+    bb971ea15bf299eb.7ffddf115c88eb0c.18dcbb97a9e5e5ca.95bd011398960592
+    bb971ea15bf299eb.7ffddf115c88eb0c.2cda5a969e841035.d79db772f9fa9195
+    068ea1f67741c4f2.72c4971c63a17816.803ba9a5b0f9dd4c.4cceb342c22601d0
+    fd5613a78432006b
+
+VPERM2I128_0x12(reg)
+  before
+    0b9a7225357bfb3e.71876c4f2951263b.e640d7a069fa4eb7.b32f2d8ae3c37a90
+    d3e4cd28718e2df4.2ee5e40370b961ec.26dd54b3ec967da6.0b615f935c1dd168
+    b1811e1cd3f6d439.1a7284fd65823131.8ee70bc18702428e.649dbbac37149ffd
+    02bd636df73f2abb.11fbc82927ba5238.7aaaf636d7c9d91c.9aaebec28fb49f7e
+    8a62e3bf80078f15
+  after
+    d3e4cd28718e2df4.2ee5e40370b961ec.8ee70bc18702428e.649dbbac37149ffd
+    d3e4cd28718e2df4.2ee5e40370b961ec.26dd54b3ec967da6.0b615f935c1dd168
+    b1811e1cd3f6d439.1a7284fd65823131.8ee70bc18702428e.649dbbac37149ffd
+    02bd636df73f2abb.11fbc82927ba5238.7aaaf636d7c9d91c.9aaebec28fb49f7e
+    8a62e3bf80078f15
+VPERM2I128_0x12(mem)
+  before
+    0e83a691271b29ee.20e497887af66b24.ef4c2d73cf6c7f2a.4572137f77787dfb
+    03de8322a0fb2a37.6841b6d7f8a6d520.90312ec77ca57536.4d8b5d06049a6bd9
+    453ff76005b44d19.3621bcc80bdba25c.d07547114770ef86.ed40d13919bbdf5f
+    b0727d3675514fc3.e6d1a6c552220f84.8be6f43d4ed9ab46.80de69825368153c
+    64b2234f4d2b4819
+  after
+    0e83a691271b29ee.20e497887af66b24.ef4c2d73cf6c7f2a.4572137f77787dfb
+    03de8322a0fb2a37.6841b6d7f8a6d520.90312ec77ca57536.4d8b5d06049a6bd9
+    03de8322a0fb2a37.6841b6d7f8a6d520.ef4c2d73cf6c7f2a.4572137f77787dfb
+    b0727d3675514fc3.e6d1a6c552220f84.8be6f43d4ed9ab46.80de69825368153c
+    64b2234f4d2b4819
+
+VPERM2I128_0x03(reg)
+  before
+    f306fa0ba393b5a5.204391900adeec5f.d49b6f3c67065843.9d4eb137aded63a4
+    8b27ea22f229988a.707daf5ae068e019.5ccc1398e613b846.e27afbec7fb7d4c9
+    8660ef00d67b2c75.7eee538014fae61e.dab08e456cd66c38.36364d46e043b9e4
+    42ff0611ea14ae11.2560faeec1a0bb9a.aa92ddaf94dab0c6.754e2333ed9ecf1f
+    7b8df99ec2d3d2a6
+  after
+    5ccc1398e613b846.e27afbec7fb7d4c9.8660ef00d67b2c75.7eee538014fae61e
+    8b27ea22f229988a.707daf5ae068e019.5ccc1398e613b846.e27afbec7fb7d4c9
+    8660ef00d67b2c75.7eee538014fae61e.dab08e456cd66c38.36364d46e043b9e4
+    42ff0611ea14ae11.2560faeec1a0bb9a.aa92ddaf94dab0c6.754e2333ed9ecf1f
+    7b8df99ec2d3d2a6
+VPERM2I128_0x03(mem)
+  before
+    24c14b737aee7ea6.194e2ac1ca815a0b.41a01f9003671bb9.28c0fa42faacbf9c
+    4bb4969e31fc8e4b.699a577c134d6c0e.ae7a3e53f85ac2a5.b084e36a3cd6d765
+    ce33550b0408bfc1.8c2f89ae60041fc7.48b9d321b9856b8d.9e2b9394f3e731cd
+    880a04a60e1ecd32.df59bcc44e33b0e2.ea2b5be864f5d39b.4e01072abd680c82
+    1c52399a36e7a32e
+  after
+    24c14b737aee7ea6.194e2ac1ca815a0b.41a01f9003671bb9.28c0fa42faacbf9c
+    4bb4969e31fc8e4b.699a577c134d6c0e.ae7a3e53f85ac2a5.b084e36a3cd6d765
+    ae7a3e53f85ac2a5.b084e36a3cd6d765.24c14b737aee7ea6.194e2ac1ca815a0b
+    880a04a60e1ecd32.df59bcc44e33b0e2.ea2b5be864f5d39b.4e01072abd680c82
+    1c52399a36e7a32e
+
+VPERM2I128_0x03(reg)
+  before
+    646a274ef9ef317d.54051f5b6c4b74cd.bf64ed2878655b0a.729a509215b5b6fc
+    8194ccb4a20df21c.10f02316399a6fbc.869c17487b265bec.bbd4300de7d1cfdb
+    d11d2437cecb24b7.97968bc392177b2c.914c368ff203ed34.a0a37744f656db65
+    af522c4219b801fa.c4c5d34f92cf5448.3cc146697a874d8d.ffd49f235f4f96c6
+    b23326963ec8bc29
+  after
+    869c17487b265bec.bbd4300de7d1cfdb.d11d2437cecb24b7.97968bc392177b2c
+    8194ccb4a20df21c.10f02316399a6fbc.869c17487b265bec.bbd4300de7d1cfdb
+    d11d2437cecb24b7.97968bc392177b2c.914c368ff203ed34.a0a37744f656db65
+    af522c4219b801fa.c4c5d34f92cf5448.3cc146697a874d8d.ffd49f235f4f96c6
+    b23326963ec8bc29
+VPERM2I128_0x03(mem)
+  before
+    978b8789adce08ba.767dde431e5dc68f.754777a556cdb53d.e4484442ae3eb7a3
+    88aa3ee8cb6c37a7.84eb38a57948af25.84e9f4b0f91d5b36.e32b2b862bb56624
+    635ac79fb2af051a.34e735d5c704f766.cf77c45e97cc0261.96b6f7a18c7797b9
+    02689e9b7ea12d3f.e1bfd23da31edbff.30bd659a4de566e7.5937a4ff6d118611
+    88f92e0c6b0d6fd6
+  after
+    978b8789adce08ba.767dde431e5dc68f.754777a556cdb53d.e4484442ae3eb7a3
+    88aa3ee8cb6c37a7.84eb38a57948af25.84e9f4b0f91d5b36.e32b2b862bb56624
+    84e9f4b0f91d5b36.e32b2b862bb56624.978b8789adce08ba.767dde431e5dc68f
+    02689e9b7ea12d3f.e1bfd23da31edbff.30bd659a4de566e7.5937a4ff6d118611
+    88f92e0c6b0d6fd6
+
+VPERM2I128_0x03(reg)
+  before
+    7f47923522f98db4.43a040c64c516c43.e9bd094aaa21979b.85865250377542f7
+    9a6ecbe42d611d59.00ce280e37c87e52.a62fd869779967e7.a8a0076c708753ba
+    35bad58728d05a6e.16bed25d5c141f97.765f3a04a713868e.76d501da1427555f
+    ac77ac88b0d282a2.623bbba1d6400a3f.b39a2b89d51a313e.ccf2bb8640610310
+    84c3b15c10421afa
+  after
+    a62fd869779967e7.a8a0076c708753ba.35bad58728d05a6e.16bed25d5c141f97
+    9a6ecbe42d611d59.00ce280e37c87e52.a62fd869779967e7.a8a0076c708753ba
+    35bad58728d05a6e.16bed25d5c141f97.765f3a04a713868e.76d501da1427555f
+    ac77ac88b0d282a2.623bbba1d6400a3f.b39a2b89d51a313e.ccf2bb8640610310
+    84c3b15c10421afa
+VPERM2I128_0x03(mem)
+  before
+    7b145f499fd55648.5bf14d5561f3cf9f.be135dc5c159fc75.bb2ca7629e3aa4a0
+    8eb1413709277327.9e73b259d5c07e11.071036b53b69b166.e860abfd9dff1a62
+    9765d4146b432cc2.d14bd900abc4caa5.1affc15d5d7fe43e.978432c56ef6d030
+    73fd93cbe0353e46.4fc3bdb67d8cf007.d1ac7aa945a45228.25e23826aeab02b6
+    ecc7b98cf9a8ec9f
+  after
+    7b145f499fd55648.5bf14d5561f3cf9f.be135dc5c159fc75.bb2ca7629e3aa4a0
+    8eb1413709277327.9e73b259d5c07e11.071036b53b69b166.e860abfd9dff1a62
+    071036b53b69b166.e860abfd9dff1a62.7b145f499fd55648.5bf14d5561f3cf9f
+    73fd93cbe0353e46.4fc3bdb67d8cf007.d1ac7aa945a45228.25e23826aeab02b6
+    ecc7b98cf9a8ec9f
+
+VPERM2I128_0x85(reg)
+  before
+    497fb263ea7bc997.fe46fa47850965df.76285be7e7a32ce2.09e3de860fe6b751
+    98561e181db0d64c.140a857675cc5db8.a1c6aeff8595bae3.9e6f67ded650cfe4
+    3698f8152fd24f68.9115b143cd89e1fe.2ce9b16bf5eed6b6.6c1e939eb6ef550e
+    7d903fc8bc6d7097.5135f89aa84daedc.72dc6295d03bbb06.4fbaddb3ccce06fb
+    2310c20733f99ed6
+  after
+    0000000000000000.0000000000000000.98561e181db0d64c.140a857675cc5db8
+    98561e181db0d64c.140a857675cc5db8.a1c6aeff8595bae3.9e6f67ded650cfe4
+    3698f8152fd24f68.9115b143cd89e1fe.2ce9b16bf5eed6b6.6c1e939eb6ef550e
+    7d903fc8bc6d7097.5135f89aa84daedc.72dc6295d03bbb06.4fbaddb3ccce06fb
+    2310c20733f99ed6
+VPERM2I128_0x85(mem)
+  before
+    c4ecbc88087dd9cc.ca8cec9b5e0d7486.3035d86722237f7f.d1edbdeab407a580
+    0e1a492166647208.79d6fdfcb43f98e1.0ae0cd9758171213.a466bcd73ddfd2cf
+    dd66e4be6abd26b7.e6bb6c56588e1753.bb035114663621c3.46945dc7064e7ca0
+    0d9b094b3091b005.6d873714e6862f89.1f6ae2cc678b69bc.15c39b26ace0e09e
+    6b3f725fca223a77
+  after
+    c4ecbc88087dd9cc.ca8cec9b5e0d7486.3035d86722237f7f.d1edbdeab407a580
+    0e1a492166647208.79d6fdfcb43f98e1.0ae0cd9758171213.a466bcd73ddfd2cf
+    0000000000000000.0000000000000000.0e1a492166647208.79d6fdfcb43f98e1
+    0d9b094b3091b005.6d873714e6862f89.1f6ae2cc678b69bc.15c39b26ace0e09e
+    6b3f725fca223a77
+
+VPERM2I128_0x85(reg)
+  before
+    a654dee0fc9fc5d4.7a8735b4d2eece1d.6a865aa4fbb41a2e.12e1faa97722a529
+    204edc14dfe3bf64.00f4e2e56ee03a2c.3903cf7132a315ef.70341799b3089237
+    377867680e7a61d0.7baf8eca2071b15d.364c94e727e05b78.152fb5863748ec11
+    451f7b4626f1eac7.c684b45003afeedd.bdaba47378f52974.dd9d4e5e1eee6fe5
+    a34c600c8407d6dc
+  after
+    0000000000000000.0000000000000000.204edc14dfe3bf64.00f4e2e56ee03a2c
+    204edc14dfe3bf64.00f4e2e56ee03a2c.3903cf7132a315ef.70341799b3089237
+    377867680e7a61d0.7baf8eca2071b15d.364c94e727e05b78.152fb5863748ec11
+    451f7b4626f1eac7.c684b45003afeedd.bdaba47378f52974.dd9d4e5e1eee6fe5
+    a34c600c8407d6dc
+VPERM2I128_0x85(mem)
+  before
+    4506667c869ede25.a78f141bc3d494f3.bf3ed16134a6afd8.2a6dfb7fbe70bb8f
+    9e98dc9a3fbf43ea.ba142e547fad9c01.41ab5febce60ae79.d9de957897dd4d77
+    89ce3e52cc77c157.d8fac65bf90a3e9c.2795dcd8edeba7ed.264a6fcb9fc71ad6
+    e473099148d11399.5e8cd79eca77b671.4fcac316ae53585f.6cfd84e271ba5f58
+    0942d02ba94258aa
+  after
+    4506667c869ede25.a78f141bc3d494f3.bf3ed16134a6afd8.2a6dfb7fbe70bb8f
+    9e98dc9a3fbf43ea.ba142e547fad9c01.41ab5febce60ae79.d9de957897dd4d77
+    0000000000000000.0000000000000000.9e98dc9a3fbf43ea.ba142e547fad9c01
+    e473099148d11399.5e8cd79eca77b671.4fcac316ae53585f.6cfd84e271ba5f58
+    0942d02ba94258aa
+
+VPERM2I128_0x85(reg)
+  before
+    58674f11e4ec4178.8a55b841d0d9f6dc.a8185d88917e3f2b.941490902da37bfc
+    b5b6fd00be43556d.563ec7507f9c264b.13e85484e7ad1677.d140bf3285e7cdef
+    7b7cd764d2d4d136.26fbb2a872255e13.f949b9006b907601.e41acde8d22b0965
+    0805d8a9bc2af17f.d458f537c4815b60.b7878767b6b29d74.a76d359e317cec8a
+    f8077340bee53289
+  after
+    0000000000000000.0000000000000000.b5b6fd00be43556d.563ec7507f9c264b
+    b5b6fd00be43556d.563ec7507f9c264b.13e85484e7ad1677.d140bf3285e7cdef
+    7b7cd764d2d4d136.26fbb2a872255e13.f949b9006b907601.e41acde8d22b0965
+    0805d8a9bc2af17f.d458f537c4815b60.b7878767b6b29d74.a76d359e317cec8a
+    f8077340bee53289
+VPERM2I128_0x85(mem)
+  before
+    b1b203ba9372978f.b69dfc3b19d1f0f3.3e210de891bad95d.a9eeba25669fc57d
+    b03b62f9cf30d7c8.e38f3f8684560b3f.3e2275a6f7de9436.2bca4ea717e32ac7
+    cf6e0ae78b2aad5f.ea299ef79a447e0e.b227a95f0ff94719.99663f57640b0aff
+    ec177972e66dd680.26b514f8f627850d.74fb25fef716af30.4f108aa2e9a29fd1
+    a9122af5433426e8
+  after
+    b1b203ba9372978f.b69dfc3b19d1f0f3.3e210de891bad95d.a9eeba25669fc57d
+    b03b62f9cf30d7c8.e38f3f8684560b3f.3e2275a6f7de9436.2bca4ea717e32ac7
+    0000000000000000.0000000000000000.b03b62f9cf30d7c8.e38f3f8684560b3f
+    ec177972e66dd680.26b514f8f627850d.74fb25fef716af30.4f108aa2e9a29fd1
+    a9122af5433426e8
+
+VPERM2I128_0x5A(reg)
+  before
+    03b91bba0e4edbf1.e1022b85f9040d59.f5809cf6358c5be7.616b666fcb4188a7
+    b951595fe57bf997.8bfa9a0be2fb1014.b1d6355ef2fd3d49.5644e79fa5868dab
+    2726e14f6448bd87.c7cd43f2bd5e99dd.b703d89bca0967df.2d502478a4f27b68
+    a983adf6283f636d.6f45a325a53a64e1.6452831958391454.c35b99e7e2900e09
+    f533c2d97b6d02bb
+  after
+    b951595fe57bf997.8bfa9a0be2fb1014.0000000000000000.0000000000000000
+    b951595fe57bf997.8bfa9a0be2fb1014.b1d6355ef2fd3d49.5644e79fa5868dab
+    2726e14f6448bd87.c7cd43f2bd5e99dd.b703d89bca0967df.2d502478a4f27b68
+    a983adf6283f636d.6f45a325a53a64e1.6452831958391454.c35b99e7e2900e09
+    f533c2d97b6d02bb
+VPERM2I128_0x5A(mem)
+  before
+    9da31c398c9412a9.9bb6bbc0ccef26f4.602f3590b79a2f4c.12113144381b8155
+    987622f23011fb00.59090719ede144c9.7657761f0e8bb449.1e8ade88073bea8e
+    c27950f284f079ec.3ec98b6d26a3f797.8d89e0bfc618b005.e50a865161238baa
+    f7782224a33e4898.a842452814c07b0b.8290f15afc4ddeab.c1dd250be1619f55
+    0f4fb8222381633d
+  after
+    9da31c398c9412a9.9bb6bbc0ccef26f4.602f3590b79a2f4c.12113144381b8155
+    987622f23011fb00.59090719ede144c9.7657761f0e8bb449.1e8ade88073bea8e
+    987622f23011fb00.59090719ede144c9.0000000000000000.0000000000000000
+    f7782224a33e4898.a842452814c07b0b.8290f15afc4ddeab.c1dd250be1619f55
+    0f4fb8222381633d
+
+VPERM2I128_0x5A(reg)
+  before
+    2bac3a02c40d130b.133f1574aa072331.f2c02fb652c50ed0.2f3a24ddcc36fc68
+    7240a7185f93ea6e.f29aa3ceb455c7e2.788e48847d3dea93.7151f53551e0c468
+    3e56fcce919f2610.70544a1edd36efd8.95fa89fc30b44c00.24a2e04ca757f3d6
+    ec3b3392f6bc009e.693b855043b5593f.a74eef8c07b66fc3.24f96210eba544df
+    4d22f56c38d874ae
+  after
+    7240a7185f93ea6e.f29aa3ceb455c7e2.0000000000000000.0000000000000000
+    7240a7185f93ea6e.f29aa3ceb455c7e2.788e48847d3dea93.7151f53551e0c468
+    3e56fcce919f2610.70544a1edd36efd8.95fa89fc30b44c00.24a2e04ca757f3d6
+    ec3b3392f6bc009e.693b855043b5593f.a74eef8c07b66fc3.24f96210eba544df
+    4d22f56c38d874ae
+VPERM2I128_0x5A(mem)
+  before
+    7be9174cabfb3f70.d83b4acf2876b7c3.b919d151ffdfbf42.08d7779fa0d09186
+    8a19449c5f1b6151.5ea23cf1c659852c.3cbba80b2fbfde0e.16e11ca0948decf8
+    5580f6487143957c.dabc056469f2a784.ceed886cef6171ce.2bb8dafd817abcc3
+    bae8ab3cfc7f981e.a8d5a294b0cc5978.4b7bec5e5ad235af.a5a8ad2103223f94
+    defc9278b411af16
+  after
+    7be9174cabfb3f70.d83b4acf2876b7c3.b919d151ffdfbf42.08d7779fa0d09186
+    8a19449c5f1b6151.5ea23cf1c659852c.3cbba80b2fbfde0e.16e11ca0948decf8
+    8a19449c5f1b6151.5ea23cf1c659852c.0000000000000000.0000000000000000
+    bae8ab3cfc7f981e.a8d5a294b0cc5978.4b7bec5e5ad235af.a5a8ad2103223f94
+    defc9278b411af16
+
+VPERM2I128_0x5A(reg)
+  before
+    3402846e33d449f6.941ede641ddc2662.24380ded3473d7b3.8f3051cf8c1de6dd
+    01047f701af648df.bfee0badef65fb75.aa3244db93745ce3.76da31aaa24e4083
+    a34f7fe80503ea7e.1723ae018f26d282.961043ca695a25b1.db430adbb772fece
+    742f80449188697f.778b434e182c68b7.441c042751b26ecc.9c38574ee894dde9
+    948594ef50c09901
+  after
+    01047f701af648df.bfee0badef65fb75.0000000000000000.0000000000000000
+    01047f701af648df.bfee0badef65fb75.aa3244db93745ce3.76da31aaa24e4083
+    a34f7fe80503ea7e.1723ae018f26d282.961043ca695a25b1.db430adbb772fece
+    742f80449188697f.778b434e182c68b7.441c042751b26ecc.9c38574ee894dde9
+    948594ef50c09901
+VPERM2I128_0x5A(mem)
+  before
+    9ff63daa0c03ee41.d1f07fee5910018d.bdf0477ea682793d.0fa2845ce80772de
+    9857cf6b376897d6.17dd7754fa27f055.c420357f5634c043.55f0c0d7c9e56e93
+    5d73c51feefb51ec.a04464e00f5a7083.67e5893c444ffaf3.7151b30290d89e98
+    c8189bb04cc9d8af.c96f43003534bec2.840cc0a18bdee379.bf10594bda6d3d99
+    9a7aaf1d432f8941
+  after
+    9ff63daa0c03ee41.d1f07fee5910018d.bdf0477ea682793d.0fa2845ce80772de
+    9857cf6b376897d6.17dd7754fa27f055.c420357f5634c043.55f0c0d7c9e56e93
+    9857cf6b376897d6.17dd7754fa27f055.0000000000000000.0000000000000000
+    c8189bb04cc9d8af.c96f43003534bec2.840cc0a18bdee379.bf10594bda6d3d99
+    9a7aaf1d432f8941
+
+VBROADCASTSS_128(reg)
+  before
+    60dbb0e465abbc3d.b710cd0c6edde749.eeab0e1f074115be.f561549a47ee3702
+    6c7f570cdf6c1239.0428d71d6f443be9.6b44c3a9220eb324.98afc3139589b1ba
+    19b2a3014bfec9e0.8d2c36d16c0890b9.9c865d0a2126d2a0.48c488f890be0ecc
+    c5bf8d3045ee1bdf.2ce865138038a2e6.debdd8afa015afde.e06a203655960a65
+    3d6e05b7ff1f60b0
+  after
+    0000000000000000.0000000000000000.55960a6555960a65.55960a6555960a65
+    6c7f570cdf6c1239.0428d71d6f443be9.6b44c3a9220eb324.98afc3139589b1ba
+    19b2a3014bfec9e0.8d2c36d16c0890b9.9c865d0a2126d2a0.48c488f890be0ecc
+    c5bf8d3045ee1bdf.2ce865138038a2e6.debdd8afa015afde.e06a203655960a65
+    3d6e05b7ff1f60b0
+VBROADCASTSS_128(mem)
+  before
+    3c9cb568ab64cddb.caf412036ac745e1.bf27e0cfc7dd2c9b.8b3430023c688589
+    b7c0ab3674710d0f.869b2fe755158293.20b723f15e05eb05.0038627091aa914d
+    8ca6630c7753dc7a.5301df49a36410a0.2d62ab6561bb9b4f.991669663a680fd7
+    951959d5cf15f548.8f721e93ef4129b5.c0f5f317eb0bf7a6.b218414ed32c3bd3
+    a78be696f98550ed
+  after
+    3c9cb568ab64cddb.caf412036ac745e1.bf27e0cfc7dd2c9b.8b3430023c688589
+    b7c0ab3674710d0f.869b2fe755158293.20b723f15e05eb05.0038627091aa914d
+    8ca6630c7753dc7a.5301df49a36410a0.2d62ab6561bb9b4f.991669663a680fd7
+    951959d5cf15f548.8f721e93ef4129b5.c0f5f317eb0bf7a6.b218414ed32c3bd3
+    a78be696f98550ed
+
+VBROADCASTSS_128(reg)
+  before
+    d3ba55a947fc8bd0.afe70a7f99c415a5.943ae933d538097e.b63c77f41802bc36
+    94f389f35a1f2828.b6daf1f5f06bf8bc.c0a53a94f3d3eea6.eb03b3e605aba62a
+    45807edfce7963a2.87bf8a23f01659b9.6dfe0f22e2a012da.3c1623dbcd1371af
+    42af30dc3d9777ea.fc6251f5b6d1f5ca.f8936349402bb2c6.834044bd8d45d8f0
+    9d4e917a604d981a
+  after
+    0000000000000000.0000000000000000.8d45d8f08d45d8f0.8d45d8f08d45d8f0
+    94f389f35a1f2828.b6daf1f5f06bf8bc.c0a53a94f3d3eea6.eb03b3e605aba62a
+    45807edfce7963a2.87bf8a23f01659b9.6dfe0f22e2a012da.3c1623dbcd1371af
+    42af30dc3d9777ea.fc6251f5b6d1f5ca.f8936349402bb2c6.834044bd8d45d8f0
+    9d4e917a604d981a
+VBROADCASTSS_128(mem)
+  before
+    660d86fd63386d59.e7ca9b534603a1ab.f28fc2585ea98818.beae3375a9fe0915
+    ba479f31b11113d8.8f1ebcb1824c1d92.45115a3603aaced2.199c7912b8a75573
+    75c8580467e445c4.98f68e6290fb264b.d1b6947cc1de8222.66a9338c09b2d08e
+    735e2e61a0bdc049.5da00dd3099ef981.7248ec17b5536134.01205c5039a9b70f
+    464ff0c8e31a45a5
+  after
+    660d86fd63386d59.e7ca9b534603a1ab.f28fc2585ea98818.beae3375a9fe0915
+    ba479f31b11113d8.8f1ebcb1824c1d92.45115a3603aaced2.199c7912b8a75573
+    75c8580467e445c4.98f68e6290fb264b.d1b6947cc1de8222.66a9338c09b2d08e
+    735e2e61a0bdc049.5da00dd3099ef981.7248ec17b5536134.01205c5039a9b70f
+    464ff0c8e31a45a5
+
+VBROADCASTSS_128(reg)
+  before
+    9280eb62a491b7fa.90d49c3579a93f91.3966356e8bc0d2e1.0494def2fb142736
+    3f014a88189849ba.a8f51e6a0db480cb.8a9602a1b2eeec16.6366e7f8ae2e9051
+    aa1c08a8d9be3793.978e31ed78e83d21.ab7a71d619b385cd.6b8a8217eaac57b4
+    2f1e212d868cbc2e.396c4fabd75333c0.f75f7d7b5c9bd7b1.f8cc2b3acc9a3989
+    e6f75e4d6f05f1fc
+  after
+    0000000000000000.0000000000000000.cc9a3989cc9a3989.cc9a3989cc9a3989
+    3f014a88189849ba.a8f51e6a0db480cb.8a9602a1b2eeec16.6366e7f8ae2e9051
+    aa1c08a8d9be3793.978e31ed78e83d21.ab7a71d619b385cd.6b8a8217eaac57b4
+    2f1e212d868cbc2e.396c4fabd75333c0.f75f7d7b5c9bd7b1.f8cc2b3acc9a3989
+    e6f75e4d6f05f1fc
+VBROADCASTSS_128(mem)
+  before
+    11d9973cf0f83d3b.2a529183b890153a.6a58f68e46001dd3.cc9122fb18321e6f
+    553c53f36a7fd76f.f70654160e557e61.0621a184e0fcb887.845c5dc2e90598b3
+    8eed0d5ef9a77cc7.f28467522167334f.e992cc78c152c008.7d0b283c6aa07f28
+    97b8416abb7be76d.771ac5a38f536fb2.ef76f455060ef181.11eb81d5378d107b
+    9e4963faed5a8658
+  after
+    11d9973cf0f83d3b.2a529183b890153a.6a58f68e46001dd3.cc9122fb18321e6f
+    553c53f36a7fd76f.f70654160e557e61.0621a184e0fcb887.845c5dc2e90598b3
+    8eed0d5ef9a77cc7.f28467522167334f.e992cc78c152c008.7d0b283c6aa07f28
+    97b8416abb7be76d.771ac5a38f536fb2.ef76f455060ef181.11eb81d5378d107b
+    9e4963faed5a8658
+
+VBROADCASTSS_256(reg)
+  before
+    7e6fca1527931f6a.4e696b01c907d68d.e2126a76f4a46f33.f39b9409ca3d061f
+    0eaab39382c2155d.8ecb081141580354.8eb95235ebe76e81.d3cb287f2aeabc0d
+    ab4518e19a75a5df.33ac93843f792aee.d95b7a4e11a7aa46.6ad32ca34221cf78
+    af8ef76a09380a9a.18d68848de760986.1e43dd2b01705d2e.947f1c622ceffb8c
+    2c9a75a6075ffb74
+  after
+    2ceffb8c2ceffb8c.2ceffb8c2ceffb8c.2ceffb8c2ceffb8c.2ceffb8c2ceffb8c
+    0eaab39382c2155d.8ecb081141580354.8eb95235ebe76e81.d3cb287f2aeabc0d
+    ab4518e19a75a5df.33ac93843f792aee.d95b7a4e11a7aa46.6ad32ca34221cf78
+    af8ef76a09380a9a.18d68848de760986.1e43dd2b01705d2e.947f1c622ceffb8c
+    2c9a75a6075ffb74
+VBROADCASTSS_256(mem)
+  before
+    10f2b15cec7e8c5c.77cf4b996e95813a.1b1663483a5c5a49.b9bf773a57cec4e6
+    1a514e71fa566a72.5f5611dc621a466c.1638a0707036da63.051944e6b04e1a1a
+    2884c8cf4af550e0.c46d439e835395dc.e708bcac9c1044ff.609e409aa77b9c75
+    14589964fa67fbd2.0061df4b6dcaa935.695132e8d9f7554a.259b68c4d9e286a4
+    af59b7cfe20e1453
+  after
+    10f2b15cec7e8c5c.77cf4b996e95813a.1b1663483a5c5a49.b9bf773a57cec4e6
+    1a514e71fa566a72.5f5611dc621a466c.1638a0707036da63.051944e6b04e1a1a
+    2884c8cf4af550e0.c46d439e835395dc.e708bcac9c1044ff.609e409aa77b9c75
+    14589964fa67fbd2.0061df4b6dcaa935.695132e8d9f7554a.259b68c4d9e286a4
+    af59b7cfe20e1453
+
+VBROADCASTSS_256(reg)
+  before
+    5c2729285d8b822d.bc963f1b26b72775.707ee04fbb0dbf24.77e17e1043f6c96f
+    8750ba39e6e60bdf.fa0d35e0e9f190f5.700f42160aa81354.ef821c11f71a5c9b
+    8b1f676f1aa9ec14.ac88f79e5f21f17d.5c62020df526e072.ab0188d5106dcaf9
+    c6e12b3794636079.acd20144a554073a.90c11a9e1813642a.882a3f49abfeceb6
+    63c9bc5ae3d625fe
+  after
+    abfeceb6abfeceb6.abfeceb6abfeceb6.abfeceb6abfeceb6.abfeceb6abfeceb6
+    8750ba39e6e60bdf.fa0d35e0e9f190f5.700f42160aa81354.ef821c11f71a5c9b
+    8b1f676f1aa9ec14.ac88f79e5f21f17d.5c62020df526e072.ab0188d5106dcaf9
+    c6e12b3794636079.acd20144a554073a.90c11a9e1813642a.882a3f49abfeceb6
+    63c9bc5ae3d625fe
+VBROADCASTSS_256(mem)
+  before
+    16aa7bf3d5038afc.92e302fbf19da4b9.d8b9d0bbd7958e57.6879883710fbd927
+    7e98f9009c90bbdd.4d6fe829cce5f481.0a07def010f14102.40d64742796b7b16
+    7861b06c548972cc.51d1d92bc1c78c7d.1f89a9cf6c72dd64.7424532dedee88a2
+    decf1e251bfb6bf7.fb57d26f6dcda858.f30aad4508271eab.60afa9630b103a78
+    60c3444f6d5ecd44
+  after
+    16aa7bf3d5038afc.92e302fbf19da4b9.d8b9d0bbd7958e57.6879883710fbd927
+    7e98f9009c90bbdd.4d6fe829cce5f481.0a07def010f14102.40d64742796b7b16
+    7861b06c548972cc.51d1d92bc1c78c7d.1f89a9cf6c72dd64.7424532dedee88a2
+    decf1e251bfb6bf7.fb57d26f6dcda858.f30aad4508271eab.60afa9630b103a78
+    60c3444f6d5ecd44
+
+VBROADCASTSS_256(reg)
+  before
+    cfab205faf637fb1.8dafbe160af26487.a84bce606c8583bf.6358643cff19c003
+    0bb439fe6eac8a6b.61cd0c2c3f7817aa.b2fbc96a597a5a5e.493e4ca26e567e98
+    6f2a8b9845c42b20.37f58551d69b418c.76b1bff9d13968e0.8287df6170e91595
+    5759139ad1379e7a.e9f2a372ea669d59.51baad796f4debf1.ea009c6722df4126
+    5d75fc9f9f43be79
+  after
+    22df412622df4126.22df412622df4126.22df412622df4126.22df412622df4126
+    0bb439fe6eac8a6b.61cd0c2c3f7817aa.b2fbc96a597a5a5e.493e4ca26e567e98
+    6f2a8b9845c42b20.37f58551d69b418c.76b1bff9d13968e0.8287df6170e91595
+    5759139ad1379e7a.e9f2a372ea669d59.51baad796f4debf1.ea009c6722df4126
+    5d75fc9f9f43be79
+VBROADCASTSS_256(mem)
+  before
+    b7b27cf5042147b7.1e8dcc6ead911e25.5492e47c97e6e93c.9d628d57cf431d3f
+    d48399556c85990f.2212b281765fe8ce.549fc359fa26df61.b7f55dfd8ea53a73
+    90b3ceabf47c6fab.be33c140c72d3821.c5e6bdf72e323cf5.fbbe18d94701803c
+    c71097e3b71287b7.4d3ef5163c854ac9.83334c405016bb24.c50bbb5597e32944
+    712640df1ad57237
+  after
+    b7b27cf5042147b7.1e8dcc6ead911e25.5492e47c97e6e93c.9d628d57cf431d3f
+    d48399556c85990f.2212b281765fe8ce.549fc359fa26df61.b7f55dfd8ea53a73
+    90b3ceabf47c6fab.be33c140c72d3821.c5e6bdf72e323cf5.fbbe18d94701803c
+    c71097e3b71287b7.4d3ef5163c854ac9.83334c405016bb24.c50bbb5597e32944
+    712640df1ad57237
+
+VBROADCASTSD_256(reg)
+  before
+    5c5ca5e26a6597c3.556471ead1519b60.2d7d4b6e72f55973.6a52ee227cdf191a
+    e0f9e5c9261fd391.167cd6aa604768d2.b93dbeb60508a2cb.560f1e88cc991202
+    5a49fd02e78e6350.e62444117d00a939.4cca4a59904b617c.2335585e5f4e6208
+    2697e7f84c3e83aa.a128360946861bc0.446fecc3af49d133.ad9219904e0cc459
+    cff0db0ab7dff521
+  after
+    ad9219904e0cc459.ad9219904e0cc459.ad9219904e0cc459.ad9219904e0cc459
+    e0f9e5c9261fd391.167cd6aa604768d2.b93dbeb60508a2cb.560f1e88cc991202
+    5a49fd02e78e6350.e62444117d00a939.4cca4a59904b617c.2335585e5f4e6208
+    2697e7f84c3e83aa.a128360946861bc0.446fecc3af49d133.ad9219904e0cc459
+    cff0db0ab7dff521
+VBROADCASTSD_256(mem)
+  before
+    671c1cb9b6d1b18b.a031a117eebb6e4b.23532880d6e77a93.fb7a9e60ff8e2f9b
+    50e2578766f0b4c4.236126cc6b9261e1.487397614a2f82df.ce355e9c1ca7b761
+    660e0961e448b9f8.0d7472815f4e9815.ec52fe98be68eed0.1aed27e3a11fa530
+    846bac344be37d52.b9b681a3657c4f96.eabdd8114ca07b91.39eff5a22a8234b5
+    8984c543545da19c
+  after
+    671c1cb9b6d1b18b.a031a117eebb6e4b.23532880d6e77a93.fb7a9e60ff8e2f9b
+    50e2578766f0b4c4.236126cc6b9261e1.487397614a2f82df.ce355e9c1ca7b761
+    660e0961e448b9f8.0d7472815f4e9815.ec52fe98be68eed0.1aed27e3a11fa530
+    846bac344be37d52.b9b681a3657c4f96.eabdd8114ca07b91.39eff5a22a8234b5
+    8984c543545da19c
+
+VBROADCASTSD_256(reg)
+  before
+    64fb9134ba3b2890.88c7beebb7cfbcff.8373509f1aa6c10e.2080a4b813e3e54f
+    279f57dff9a8043e.4decba714518312a.c7f7d9df195b2c29.6967db792d3be836
+    2ebb12b2ac317251.aea71cb411c89900.e18d1ad1fe24c994.a03efa40b6b63f71
+    d69dbf187061ae77.89c4619f36eeb0ac.2c830fe0668fd7fb.a3d07efacb60a72d
+    4cebe2918743dc95
+  after
+    a3d07efacb60a72d.a3d07efacb60a72d.a3d07efacb60a72d.a3d07efacb60a72d
+    279f57dff9a8043e.4decba714518312a.c7f7d9df195b2c29.6967db792d3be836
+    2ebb12b2ac317251.aea71cb411c89900.e18d1ad1fe24c994.a03efa40b6b63f71
+    d69dbf187061ae77.89c4619f36eeb0ac.2c830fe0668fd7fb.a3d07efacb60a72d
+    4cebe2918743dc95
+VBROADCASTSD_256(mem)
+  before
+    7959a3f3066e99d6.798f587de0c4f459.b90f031ed093325c.0623b278ec279009
+    05e73b0b65ea9b1b.74dedb4d98e77fa5.1953801dfcc5da39.caba01052d79316b
+    cb6128c4c0c59e91.23d543f436558c07.875e5388d68f6572.d394f7f3c510f6cd
+    a893e50c320a5e64.e2c28cde539a572b.ddfaf84c78fd8f30.7ffc90ae4e781ada
+    2840c8a2673dda3f
+  after
+    7959a3f3066e99d6.798f587de0c4f459.b90f031ed093325c.0623b278ec279009
+    05e73b0b65ea9b1b.74dedb4d98e77fa5.1953801dfcc5da39.caba01052d79316b
+    cb6128c4c0c59e91.23d543f436558c07.875e5388d68f6572.d394f7f3c510f6cd
+    a893e50c320a5e64.e2c28cde539a572b.ddfaf84c78fd8f30.7ffc90ae4e781ada
+    2840c8a2673dda3f
+
+VBROADCASTSD_256(reg)
+  before
+    2caa9c3caaec72a7.7948eeced8c596bf.0df0b3778d431cbc.f9f4ec53011c13a2
+    e58806e6b3111ebf.184ebff6cd0303cf.00aab22c80db1666.b518aa8b8af7aef2
+    b124040d1e361932.636fd5702dcf61c0.173d8767c7ee82d6.ee32adde329b1c4d
+    eacb921e89e9a0ad.3478aa2815366bbd.aef52d96fe099bb8.810e743a121219de
+    4877788a486b60d2
+  after
+    810e743a121219de.810e743a121219de.810e743a121219de.810e743a121219de
+    e58806e6b3111ebf.184ebff6cd0303cf.00aab22c80db1666.b518aa8b8af7aef2
+    b124040d1e361932.636fd5702dcf61c0.173d8767c7ee82d6.ee32adde329b1c4d
+    eacb921e89e9a0ad.3478aa2815366bbd.aef52d96fe099bb8.810e743a121219de
+    4877788a486b60d2
+VBROADCASTSD_256(mem)
+  before
+    203b37b9f0afae54.eec9aa848db5efdc.6835bc0ba043def2.211ea124c2b79fb8
+    e6242bb525ecbf91.17694aabc827416a.dc728603eb02768d.cc04dd7cae85c880
+    74ffd269042d4eb5.c3f96cffd6cad304.6afb85fe127fefb7.0bf2df0c5ffe53bf
+    a798a8c2a87f18eb.4cc30eec522ae156.ef9b33e62fc7049f.3a36a23f70ae7b1f
+    b51a22817e217d4d
+  after
+    203b37b9f0afae54.eec9aa848db5efdc.6835bc0ba043def2.211ea124c2b79fb8
+    e6242bb525ecbf91.17694aabc827416a.dc728603eb02768d.cc04dd7cae85c880
+    74ffd269042d4eb5.c3f96cffd6cad304.6afb85fe127fefb7.0bf2df0c5ffe53bf
+    a798a8c2a87f18eb.4cc30eec522ae156.ef9b33e62fc7049f.3a36a23f70ae7b1f
+    b51a22817e217d4d
+
+VPERMD(reg)
+  before
+    d7eb5b3e24e495f4.5bbb27aa2dedd960.0f142cded9d4a70b.471f0ea961e5726f
+    fef54ae3ff82ffc1.6c33cd0eb0834d3f.6838c041065360cf.4e549132c1e6f554
+    8584eadaaa88f660.b6ce15db4d4d2fb5.b47bc88175334950.e004396d6ed54979
+    c7e43790c281b87c.15567bfb1f583cee.4d293f0ac3019e37.d9fc804681be290b
+    1607e4a918ae5235
+  after
+    d7eb5b3e24e495f4.5bbb27aa2dedd960.0f142cded9d4a70b.471f0ea961e5726f
+    fef54ae3ff82ffc1.6c33cd0eb0834d3f.6838c041065360cf.4e549132c1e6f554
+    8584eadaaa88f660.b6ce15db4d4d2fb5.b47bc88175334950.e004396d6ed54979
+    aa88f6604d4d2fb5.753349506ed54979.aa88f660b47bc881.e004396d8584eada
+    1607e4a918ae5235
+VPERMD(mem)
+  before
+    71f3e0824fb07f24.22602d72e2f97ec2.65987b5c42b03015.908d21498b489b33
+    c78af0bd41d06e04.f145c9eaa77d87dd.826092e8d35fc757.d9f56aa86a957bee
+    f39990460b1ad900.8fe00566ac970d7a.487a3a8ded73bcdf.84ab1795fb727b14
+    d3ed3d0ac89b7d44.5a7bdf518dd64d44.93b2f136adf7ccda.edfc237bdb6dd653
+    70348ac6a612ca54
+  after
+    71f3e0824fb07f24.22602d72e2f97ec2.65987b5c42b03015.908d21498b489b33
+    c78af0bd41d06e04.f145c9eaa77d87dd.826092e8d35fc757.d9f56aa86a957bee
+    f39990460b1ad900.8fe00566ac970d7a.487a3a8ded73bcdf.84ab1795fb727b14
+    4fb07f248b489b33.4fb07f2442b03015.22602d7271f3e082.22602d72e2f97ec2
+    70348ac6a612ca54
+
+VPERMD(reg)
+  before
+    699f48e2f6ec91c6.425072f3945f15fe.ac625217e7c383e8.3fd333cf2ef8b274
+    34885a3b69876753.1c8eabef8c705e58.e3e35b2456ecea12.28ab7a448d812cd8
+    2d3dba3d9b6f8aa7.3d7564e9ccdc147e.5949f4e475dcc06d.2a044481e59ef433
+    b008665427313470.81cf1acd6eaff39d.6cdf1bc3e0203ea6.21ab0c73535cc7b0
+    e96c4e04f2c6607c
+  after
+    699f48e2f6ec91c6.425072f3945f15fe.ac625217e7c383e8.3fd333cf2ef8b274
+    34885a3b69876753.1c8eabef8c705e58.e3e35b2456ecea12.28ab7a448d812cd8
+    2d3dba3d9b6f8aa7.3d7564e9ccdc147e.5949f4e475dcc06d.2a044481e59ef433
+    75dcc06d9b6f8aa7.5949f4e49b6f8aa7.2d3dba3de59ef433.2d3dba3dccdc147e
+    e96c4e04f2c6607c
+VPERMD(mem)
+  before
+    5d138621dfe87dc3.193659ecaa58a257.c46a478691f3b6e1.76f2cb2d3443a369
+    5b6b31b735cfd7b0.c4139072bf71100b.e11069024fb61a76.d5ce008f0cd12961
+    be42c9b110862d6f.0deb05500206b936.b68efb2dc404db86.e3bfb75305570d3a
+    6162ccfa8d193a2e.500ab6f411a6da84.1eb07af10de7b540.fd11ebe7ba608ba2
+    7f1097b5c878df43
+  after
+    5d138621dfe87dc3.193659ecaa58a257.c46a478691f3b6e1.76f2cb2d3443a369
+    5b6b31b735cfd7b0.c4139072bf71100b.e11069024fb61a76.d5ce008f0cd12961
+    be42c9b110862d6f.0deb05500206b936.b68efb2dc404db86.e3bfb75305570d3a
+    76f2cb2d5d138621.3443a369dfe87dc3.193659ecdfe87dc3.c46a478691f3b6e1
+    7f1097b5c878df43
+
+VPERMD(reg)
+  before
+    c607ba2bca2c44c9.2298b580c895b917.e8bb9ec885daafa2.f441603b456d63ce
+    2c434db45d07f7e1.dcb0012edc056756.334cb93afc30743c.160f2bf789a2a25d
+    0e104dbc1c953337.6a762bf0e576ff18.8c0704b5113364fd.5fe45612f4912e18
+    c8bab7afa4633676.aab5aeb200f23e89.4e3979a56170bc92.aa8e5d76a346c22c
+    d5d7bd11b1cd1bc5
+  after
+    c607ba2bca2c44c9.2298b580c895b917.e8bb9ec885daafa2.f441603b456d63ce
+    2c434db45d07f7e1.dcb0012edc056756.334cb93afc30743c.160f2bf789a2a25d
+    0e104dbc1c953337.6a762bf0e576ff18.8c0704b5113364fd.5fe45612f4912e18
+    8c0704b55fe45612.f4912e180e104dbc.f4912e18113364fd.8c0704b51c953337
+    d5d7bd11b1cd1bc5
+VPERMD(mem)
+  before
+    ba8bf1ce3a33f50e.b68d86f990fc3a4b.763b08604887e0d4.d72e16768872b8a7
+    377874995b830c33.34d5b6067ded7b61.acd2b5e7da41a126.8232d69420c593e7
+    2669c55e30c91b62.9fdd444206c03765.26472f31d12b3dab.aa90b66cc8f58aff
+    64295d09d412dfc4.51f32a1ac703a803.c266f42c4a516f8e.ad96b068198fd99a
+    e58ec2f5b21ebc65
+  after
+    ba8bf1ce3a33f50e.b68d86f990fc3a4b.763b08604887e0d4.d72e16768872b8a7
+    377874995b830c33.34d5b6067ded7b61.acd2b5e7da41a126.8232d69420c593e7
+    2669c55e30c91b62.9fdd444206c03765.26472f31d12b3dab.aa90b66cc8f58aff
+    3a33f50e4887e0d4.4887e0d4b68d86f9.d72e1676763b0860.90fc3a4bba8bf1ce
+    e58ec2f5b21ebc65
+
+VPERMQ_0x00(reg)
+  before
+    b0c5e7802c2f6e0b.ce86b98663691488.a76166f85d420be6.5afb7fc260bff4fb
+    68871b73264d2c39.3e4a56c1fadb75d8.fd74f34a63089cbb.cbd24ce130828720
+    6b205b3c3904329b.9142afa6b573bfe1.ae78ce7a76e1962d.f2b6d774d5a5e526
+    13dca14603e1bbdc.a4394022ae3daece.18b9f1f6325936e9.a9759d676c35cb3c
+    cdd919a6103df28c
+  after
+    f2b6d774d5a5e526.f2b6d774d5a5e526.f2b6d774d5a5e526.f2b6d774d5a5e526
+    68871b73264d2c39.3e4a56c1fadb75d8.fd74f34a63089cbb.cbd24ce130828720
+    6b205b3c3904329b.9142afa6b573bfe1.ae78ce7a76e1962d.f2b6d774d5a5e526
+    13dca14603e1bbdc.a4394022ae3daece.18b9f1f6325936e9.a9759d676c35cb3c
+    cdd919a6103df28c
+VPERMQ_0x00(mem)
+  before
+    3aafc71dddc91943.bd06ebfd206f04a9.51fd861f0445fecc.96825a2932fdb89a
+    ccc323b8f1e5fa8c.c6eb34cd2b3a49ae.7559fb8bd1986a06.8421047f125857ee
+    60e1a963659e5294.88d87822c0cfc696.ec181d513142afa9.3ee0eb646ff7518e
+    d0d4d60a57ffdc86.6017b4687cb9b60d.9207675c414d89e1.200c0b44e465e029
+    85f1618b0e2e4069
+  after
+    3aafc71dddc91943.bd06ebfd206f04a9.51fd861f0445fecc.96825a2932fdb89a
+    ccc323b8f1e5fa8c.c6eb34cd2b3a49ae.7559fb8bd1986a06.8421047f125857ee
+    96825a2932fdb89a.96825a2932fdb89a.96825a2932fdb89a.51fd861f0445fecc
+    d0d4d60a57ffdc86.6017b4687cb9b60d.9207675c414d89e1.200c0b44e465e029
+    85f1618b0e2e4069
+
+VPERMQ_0x00(reg)
+  before
+    cbdbe8a688deaffa.f96a259ae215568f.aaf4e30bfb8456c0.43f2569a1cc7b4d9
+    4d159cffee026789.b76d12fd23eb7adb.c3bd0178d8bde25b.dca564f6debbebbe
+    66ed7904de25a5c2.e6aa1a21368d0595.05bd0a19afef958a.37ec0f5ca536ebbb
+    74ad7c1ff1d4a450.62edb7f13608b2ea.cd3ffa5c1da6acf8.3192d2b88a436ffd
+    a66529f7abee35b0
+  after
+    37ec0f5ca536ebbb.37ec0f5ca536ebbb.37ec0f5ca536ebbb.37ec0f5ca536ebbb
+    4d159cffee026789.b76d12fd23eb7adb.c3bd0178d8bde25b.dca564f6debbebbe
+    66ed7904de25a5c2.e6aa1a21368d0595.05bd0a19afef958a.37ec0f5ca536ebbb
+    74ad7c1ff1d4a450.62edb7f13608b2ea.cd3ffa5c1da6acf8.3192d2b88a436ffd
+    a66529f7abee35b0
+VPERMQ_0x00(mem)
+  before
+    722f90032444f7ff.d2a29fbec59aa1e0.070267583f673e05.7790ceabbd6f6351
+    70bd84c910507217.db18e04cf603d81e.b1b5a5446eb66513.5ffc80742cd5f643
+    7edb80368b1e6123.ed5b3b351f9c85b5.3cd1eda0de02e340.e1cf0f220565a077
+    77550035b2ba8150.62b7aae5dcf0e452.8424bc58ac5673b7.59557421e5a99e9c
+    23daacdd67302c5c
+  after
+    722f90032444f7ff.d2a29fbec59aa1e0.070267583f673e05.7790ceabbd6f6351
+    70bd84c910507217.db18e04cf603d81e.b1b5a5446eb66513.5ffc80742cd5f643
+    7790ceabbd6f6351.7790ceabbd6f6351.7790ceabbd6f6351.070267583f673e05
+    77550035b2ba8150.62b7aae5dcf0e452.8424bc58ac5673b7.59557421e5a99e9c
+    23daacdd67302c5c
+
+VPERMQ_0x00(reg)
+  before
+    9ba9b4c228838663.37f680b1a1318eca.98772ac8ca8b30a0.65788c58f3bed2a4
+    1d10873cc330e75e.9a8c7d98738f44bc.e9e9b84a85f9a64c.ba9adb8dd047bc35
+    055921b8d5c28cf9.7ce171d544de5e52.b2574fd7a7c78101.615624e15efced94
+    afd17ea0f9c5b1e0.b8c2da54312d99ba.500eecdbcf81ff6c.3578e342b9e920ed
+    12cb959afe1b126d
+  after
+    615624e15efced94.615624e15efced94.615624e15efced94.615624e15efced94
+    1d10873cc330e75e.9a8c7d98738f44bc.e9e9b84a85f9a64c.ba9adb8dd047bc35
+    055921b8d5c28cf9.7ce171d544de5e52.b2574fd7a7c78101.615624e15efced94
+    afd17ea0f9c5b1e0.b8c2da54312d99ba.500eecdbcf81ff6c.3578e342b9e920ed
+    12cb959afe1b126d
+VPERMQ_0x00(mem)
+  before
+    d31db5d7499d7f40.77c49b62cbc691be.2cfb33015585b11e.1d5a89c397b15a39
+    5638bfe3b57b2291.b87d7368e850693f.b358f9c8cdf462aa.778724f99be5ce13
+    76e92fac5ec2b88d.d04a0220ecf07510.28a5a696b485678b.b8e0b8eb78a999a7
+    0efc811d617dfd60.1a7544f57231f0dd.69adb85527447ded.3db34104c987f5a0
+    624abbb02b0d1fab
+  after
+    d31db5d7499d7f40.77c49b62cbc691be.2cfb33015585b11e.1d5a89c397b15a39
+    5638bfe3b57b2291.b87d7368e850693f.b358f9c8cdf462aa.778724f99be5ce13
+    1d5a89c397b15a39.1d5a89c397b15a39.1d5a89c397b15a39.2cfb33015585b11e
+    0efc811d617dfd60.1a7544f57231f0dd.69adb85527447ded.3db34104c987f5a0
+    624abbb02b0d1fab
+
+VPERMQ_0xFE(reg)
+  before
+    83f2235b39c75274.fc3d3222dab8ad35.f24b3552169f1851.513eaaf2413e60fb
+    fdf773718f40cca6.1a77bda7e4808339.b318d2a575c72719.bb22f85a1f7ecbe2
+    2aa5a95eca04c7ee.46789e999be03c97.bb2816592b3359e1.85261f78dc107bce
+    6748c08e869f80f7.5a0a51e21ce5947c.64c7fddbd272ec54.8916993794012cea
+    a5bee485645c9a63
+  after
+    2aa5a95eca04c7ee.2aa5a95eca04c7ee.2aa5a95eca04c7ee.46789e999be03c97
+    fdf773718f40cca6.1a77bda7e4808339.b318d2a575c72719.bb22f85a1f7ecbe2
+    2aa5a95eca04c7ee.46789e999be03c97.bb2816592b3359e1.85261f78dc107bce
+    6748c08e869f80f7.5a0a51e21ce5947c.64c7fddbd272ec54.8916993794012cea
+    a5bee485645c9a63
+VPERMQ_0xFE(mem)
+  before
+    b3e97b4d682e8064.102bb56d5e9e326e.34fa536f82994613.0c418395090d1a1f
+    9065db7bbb819b1a.819c8368ee8c1aff.ae141e2dea0a0f89.0ee1a5f4699220ed
+    19fc7efb7964a7b0.16e525e9d3f57455.a52430066f44ab0a.c5f45e65918c396b
+    287be2babfe05f53.2b539a5ea9667c1d.f6f604e82e52d6c1.8fc6aa521a88a344
+    c6a38529a3119825
+  after
+    b3e97b4d682e8064.102bb56d5e9e326e.34fa536f82994613.0c418395090d1a1f
+    9065db7bbb819b1a.819c8368ee8c1aff.ae141e2dea0a0f89.0ee1a5f4699220ed
+    b3e97b4d682e8064.b3e97b4d682e8064.b3e97b4d682e8064.b3e97b4d682e8064
+    287be2babfe05f53.2b539a5ea9667c1d.f6f604e82e52d6c1.8fc6aa521a88a344
+    c6a38529a3119825
+
+VPERMQ_0xFE(reg)
+  before
+    c7d7eb55c5b354ba.9aae82a2a903802f.1c32db310b6a6d02.7b5517be42404bdb
+    efaed9411efb15ae.4c61daa052d8c66f.45cde5d0958e84b1.110fe374c71ac784
+    98734a5b4a7415ae.186067a1d66ced40.0272b5a6e45cfdd6.95eee6f6dbed06e7
+    20743a0ee4aa9166.db76a38f52c9b0cd.ae6b461f9363141c.e1bf9b3097c4c330
+    d24e7e0e19acbb8c
+  after
+    98734a5b4a7415ae.98734a5b4a7415ae.98734a5b4a7415ae.186067a1d66ced40
+    efaed9411efb15ae.4c61daa052d8c66f.45cde5d0958e84b1.110fe374c71ac784
+    98734a5b4a7415ae.186067a1d66ced40.0272b5a6e45cfdd6.95eee6f6dbed06e7
+    20743a0ee4aa9166.db76a38f52c9b0cd.ae6b461f9363141c.e1bf9b3097c4c330
+    d24e7e0e19acbb8c
+VPERMQ_0xFE(mem)
+  before
+    44670c7c7db0aa27.e1fba5c6882ac481.71700c58e1fecc43.a70694a73f2c0430
+    13d5c066dedc4c2d.385587efd37fecab.b61b1de7a014fdce.488d9caa83450abd
+    1b6615b9583d5cc9.81ceddf661354391.87415228aa19ff99.ed4d5894fc396270
+    38e48a5f08de9727.18b1a245cdd906df.beaf28071c188dd1.f191c6d2459547f5
+    b2a7e1cefbe4f6f7
+  after
+    44670c7c7db0aa27.e1fba5c6882ac481.71700c58e1fecc43.a70694a73f2c0430
+    13d5c066dedc4c2d.385587efd37fecab.b61b1de7a014fdce.488d9caa83450abd
+    44670c7c7db0aa27.44670c7c7db0aa27.44670c7c7db0aa27.44670c7c7db0aa27
+    38e48a5f08de9727.18b1a245cdd906df.beaf28071c188dd1.f191c6d2459547f5
+    b2a7e1cefbe4f6f7
+
+VPERMQ_0xFE(reg)
+  before
+    8bdaa5f5b9b2ab23.471c984609cbb975.5a4cd24ab3f67041.38301a70111e64a1
+    d7750fb41c8ba124.22dabc5978107edc.a1e96a6fb018be62.d192a44fa5363f36
+    f4c51a76bffc16a7.a5ea738371baa18b.4ad664225fcc2cee.659f4290f56cdcbc
+    3c16c1a73e904457.ae1838b20ed5dfac.b15dbece5d9df693.d02570201dcdf55e
+    eeeeabe938644749
+  after
+    f4c51a76bffc16a7.f4c51a76bffc16a7.f4c51a76bffc16a7.a5ea738371baa18b
+    d7750fb41c8ba124.22dabc5978107edc.a1e96a6fb018be62.d192a44fa5363f36
+    f4c51a76bffc16a7.a5ea738371baa18b.4ad664225fcc2cee.659f4290f56cdcbc
+    3c16c1a73e904457.ae1838b20ed5dfac.b15dbece5d9df693.d02570201dcdf55e
+    eeeeabe938644749
+VPERMQ_0xFE(mem)
+  before
+    9ac76ed9633d8da8.0db403b236d467e1.182f87d16e6bf36b.32cb73de451857fa
+    b27b35dab96584a8.c1ebd9054353bdf1.bffdddccaa8a9bf5.296b7fc0b4c78cd2
+    11d87cda56e7e875.b606410c00998032.7f4cb590e13e9176.f28bdfdf4538d1c5
+    93a8bfc457cf753a.465335310933ed51.34e98a072c91921a.e9768ea795f7617f
+    6a7787853f8f7aad
+  after
+    9ac76ed9633d8da8.0db403b236d467e1.182f87d16e6bf36b.32cb73de451857fa
+    b27b35dab96584a8.c1ebd9054353bdf1.bffdddccaa8a9bf5.296b7fc0b4c78cd2
+    9ac76ed9633d8da8.9ac76ed9633d8da8.9ac76ed9633d8da8.9ac76ed9633d8da8
+    93a8bfc457cf753a.465335310933ed51.34e98a072c91921a.e9768ea795f7617f
+    6a7787853f8f7aad
+
+VPERMQ_0x30(reg)
+  before
+    d1dbc9e3e08c56fb.14b97b84d72ae624.cf1cb3e1fbac3ffa.baa0da1ea991590b
+    7aee4d2e137a3115.6fd52b06f303f85e.abaeb7887190b4d8.ec3d21c2744aa478
+    c0fc11d374e649a6.82c94b36c6666715.37553b93086c8697.a88bd9dda8c62c8b
+    01500f3ca05bd85a.286158006d60ef74.d05d3d6c5bcbf2e5.c958805d6213b071
+    2a6e912dbd3deb55
+  after
+    a88bd9dda8c62c8b.c0fc11d374e649a6.a88bd9dda8c62c8b.a88bd9dda8c62c8b
+    7aee4d2e137a3115.6fd52b06f303f85e.abaeb7887190b4d8.ec3d21c2744aa478
+    c0fc11d374e649a6.82c94b36c6666715.37553b93086c8697.a88bd9dda8c62c8b
+    01500f3ca05bd85a.286158006d60ef74.d05d3d6c5bcbf2e5.c958805d6213b071
+    2a6e912dbd3deb55
+VPERMQ_0x30(mem)
+  before
+    a99a8838d54e9864.983845d733661bde.3c68cc5003fc4ba9.d011b8810739336b
+    21a8e26cc75574ca.e1feaf0fc8924dde.9cac2513a54638dd.94bfa83da74386d8
+    6d6419b4ae5b3ab2.37f04750fb6bab05.23f7de336e4b723f.79b1090bd87427d6
+    6b99abfca76ea748.f8580b06697d7100.ac17739e7b16b4f8.d934d85935585212
+    11940f925b7c4237
+  after
+    a99a8838d54e9864.983845d733661bde.3c68cc5003fc4ba9.d011b8810739336b
+    21a8e26cc75574ca.e1feaf0fc8924dde.9cac2513a54638dd.94bfa83da74386d8
+    d011b8810739336b.d011b8810739336b.d011b8810739336b.a99a8838d54e9864
+    6b99abfca76ea748.f8580b06697d7100.ac17739e7b16b4f8.d934d85935585212
+    11940f925b7c4237
+
+VPERMQ_0x30(reg)
+  before
+    7d1dac23e56b34f2.f5151331ce9977ba.7f83f69dad55db7b.15d6613ee7b3bb37
+    791aab766fb164ee.e9a2cd3d3de86632.27bc0481647f2521.38012201cf2f4326
+    61d906f896db0dd8.210d560d136830dc.4e51311e2a858a9f.f36334d24e9508f2
+    91a4bb15f6746d5c.7b22298e692490e5.4e8c79e199f546a0.20ca129d80f2c5c6
+    9c00394e825137cf
+  after
+    f36334d24e9508f2.61d906f896db0dd8.f36334d24e9508f2.f36334d24e9508f2
+    791aab766fb164ee.e9a2cd3d3de86632.27bc0481647f2521.38012201cf2f4326
+    61d906f896db0dd8.210d560d136830dc.4e51311e2a858a9f.f36334d24e9508f2
+    91a4bb15f6746d5c.7b22298e692490e5.4e8c79e199f546a0.20ca129d80f2c5c6
+    9c00394e825137cf
+VPERMQ_0x30(mem)
+  before
+    44d323d170be1a38.65c9c53a2a09bd25.d1adc2aa5e294379.85bbd934505a97d1
+    f20d4e126545292e.399220d1ce243ce0.007a9d4f0b8104c3.4d284c85e841b7dd
+    837b35fe7df321dd.694bc8487f542538.e55436688f3b90f0.0420ce3eff35e371
+    d4e9547fd5d3be70.5142b90ad922b3da.5a090ae10360a42b.04ee5ccd31c25739
+    abe0f09d19754fe0
+  after
+    44d323d170be1a38.65c9c53a2a09bd25.d1adc2aa5e294379.85bbd934505a97d1
+    f20d4e126545292e.399220d1ce243ce0.007a9d4f0b8104c3.4d284c85e841b7dd
+    85bbd934505a97d1.85bbd934505a97d1.85bbd934505a97d1.44d323d170be1a38
+    d4e9547fd5d3be70.5142b90ad922b3da.5a090ae10360a42b.04ee5ccd31c25739
+    abe0f09d19754fe0
+
+VPERMQ_0x30(reg)
+  before
+    5341881a54d90613.bf22278288f2bc14.4dc2f083761c2271.3c6393a685fef9a1
+    595c1fb07d7ab97d.21f42bf4b35bd6f5.b916681ff5cdb0ab.672f50a331204e7e
+    1a7eb2cb30e5a3cc.d629dbc0711ac93e.f08b1d4af0c29731.b839bac422d35ded
+    f0f33bd70aa501a9.ba8eb3d2df3b511b.506e0c70038514b2.094d4ef57422e31b
+    3736892244199b33
+  after
+    b839bac422d35ded.1a7eb2cb30e5a3cc.b839bac422d35ded.b839bac422d35ded
+    595c1fb07d7ab97d.21f42bf4b35bd6f5.b916681ff5cdb0ab.672f50a331204e7e
+    1a7eb2cb30e5a3cc.d629dbc0711ac93e.f08b1d4af0c29731.b839bac422d35ded
+    f0f33bd70aa501a9.ba8eb3d2df3b511b.506e0c70038514b2.094d4ef57422e31b
+    3736892244199b33
+VPERMQ_0x30(mem)
+  before
+    1ec2e638aec44362.3807b840a74610c2.aaef2f1518cb2ab9.34082ffdcaa563d8
+    9abbe121cd3095d4.4e062472a25509c3.8018cc7739d50f44.f8a8845de3abbf4f
+    87eef6cbbd684eb4.8e3b7bda975d2b58.19d505e35d66bde8.f79906fde72565c4
+    c127a2219b79292f.55f4b9e223eab02c.51f15646a189efd0.8f26b147749e91e3
+    1b9d82a926a37f57
+  after
+    1ec2e638aec44362.3807b840a74610c2.aaef2f1518cb2ab9.34082ffdcaa563d8
+    9abbe121cd3095d4.4e062472a25509c3.8018cc7739d50f44.f8a8845de3abbf4f
+    34082ffdcaa563d8.34082ffdcaa563d8.34082ffdcaa563d8.1ec2e638aec44362
+    c127a2219b79292f.55f4b9e223eab02c.51f15646a189efd0.8f26b147749e91e3
+    1b9d82a926a37f57
+
+VPERMQ_0x21(reg)
+  before
+    f648748e98bf6acd.2432600e826ee370.fd7bdbf8e189d5eb.043a3b8a204a6328
+    7e748361677e8ff1.8cdbac808f5338a4.e31ddc876ec5d642.0e7a309cf6b6d31d
+    0d6dab902e6c2a6e.d5ed0262dd35e4f7.6326b8fb652aeedd.4b7eb26940d8fcdb
+    017ee886891676f0.db36dea0891fa294.d9e26bc063455a68.96123bdb1abc998d
+    cd024ae09f6f6760
+  after
+    4b7eb26940d8fcdb.d5ed0262dd35e4f7.4b7eb26940d8fcdb.6326b8fb652aeedd
+    7e748361677e8ff1.8cdbac808f5338a4.e31ddc876ec5d642.0e7a309cf6b6d31d
+    0d6dab902e6c2a6e.d5ed0262dd35e4f7.6326b8fb652aeedd.4b7eb26940d8fcdb
+    017ee886891676f0.db36dea0891fa294.d9e26bc063455a68.96123bdb1abc998d
+    cd024ae09f6f6760
+VPERMQ_0x21(mem)
+  before
+    cb195863ebfc2280.b4f537af1508b025.7a80bd27ae1d2fa8.a19cf14203a1568e
+    6c25e24f1b6f8618.841c92786dcc14b7.8d981ae1693c475e.17a247ede2cb1dfb
+    8cf065924ad54e55.cb41f84b2ef0de52.f24a71bbd587a6e3.973e682d9b4eec5c
+    06475c1795393762.e6ae6295f40049a3.84623ea20f0a0763.7dbd506ecbb6ff5d
+    246bfc1d0d8f92aa
+  after
+    cb195863ebfc2280.b4f537af1508b025.7a80bd27ae1d2fa8.a19cf14203a1568e
+    6c25e24f1b6f8618.841c92786dcc14b7.8d981ae1693c475e.17a247ede2cb1dfb
+    a19cf14203a1568e.7a80bd27ae1d2fa8.a19cf14203a1568e.b4f537af1508b025
+    06475c1795393762.e6ae6295f40049a3.84623ea20f0a0763.7dbd506ecbb6ff5d
+    246bfc1d0d8f92aa
+
+VPERMQ_0x21(reg)
+  before
+    ea9466a4fd66e0ed.b8f643ca18a7fd6c.32b0cdc359869256.1fabfe8032d22709
+    2a848c7138c627d5.7dc99698ed2c5c9f.0992363ffc10f516.9ef32b435aeac202
+    408669ee5a3ca00c.308cd26b33d30f26.c8a29877762aad90.df0443d6a45e9379
+    87e8f989fe538a3f.af0a723003a8d32d.cc2aefd5665ef76f.bdabc2242c3b579b
+    13b4221b0d8cca93
+  after
+    df0443d6a45e9379.308cd26b33d30f26.df0443d6a45e9379.c8a29877762aad90
+    2a848c7138c627d5.7dc99698ed2c5c9f.0992363ffc10f516.9ef32b435aeac202
+    408669ee5a3ca00c.308cd26b33d30f26.c8a29877762aad90.df0443d6a45e9379
+    87e8f989fe538a3f.af0a723003a8d32d.cc2aefd5665ef76f.bdabc2242c3b579b
+    13b4221b0d8cca93
+VPERMQ_0x21(mem)
+  before
+    bfebe1a6635ea88e.5df439adc0971f19.d511f2d47bb864e2.6f7837c7653a0f60
+    9b1b79b24bbbacb8.1df723c63d949c47.7d6bce41b70e7d6f.0ed66db8124a310f
+    85126929e0b1933c.223db54010d73d75.85e58265d2b7db00.05918c1406189827
+    579a2af83f4c1947.ca12ea87d6eb3d4e.c74b8b2be9bd3ac2.b0f59047df328155
+    6b4d75be39242844
+  after
+    bfebe1a6635ea88e.5df439adc0971f19.d511f2d47bb864e2.6f7837c7653a0f60
+    9b1b79b24bbbacb8.1df723c63d949c47.7d6bce41b70e7d6f.0ed66db8124a310f
+    6f7837c7653a0f60.d511f2d47bb864e2.6f7837c7653a0f60.5df439adc0971f19
+    579a2af83f4c1947.ca12ea87d6eb3d4e.c74b8b2be9bd3ac2.b0f59047df328155
+    6b4d75be39242844
+
+VPERMQ_0x21(reg)
+  before
+    92e737e3af79c9a1.ef80390b8397f905.70c1bf082b5dd97e.2169647e172e56e1
+    810dd323ddbd9f18.2790134fc99ef0a1.6f982e2da9b84db3.6d0a894c7816ea88
+    940c44eb607ce754.dd9633af2c6dba47.25e13563ef88d597.88fc76802980b3e4
+    273086a5d443dc02.eb5e1516c9111325.ece9cf17965aacd6.4f09a80746786d21
+    9cfe9acbea0ad36a
+  after
+    88fc76802980b3e4.dd9633af2c6dba47.88fc76802980b3e4.25e13563ef88d597
+    810dd323ddbd9f18.2790134fc99ef0a1.6f982e2da9b84db3.6d0a894c7816ea88
+    940c44eb607ce754.dd9633af2c6dba47.25e13563ef88d597.88fc76802980b3e4
+    273086a5d443dc02.eb5e1516c9111325.ece9cf17965aacd6.4f09a80746786d21
+    9cfe9acbea0ad36a
+VPERMQ_0x21(mem)
+  before
+    4ca7c8b93143a2eb.96c595bfd49dbccd.2eb43572bb95b665.22fcf8b33cb90f1d
+    3cd0aebe382e96d1.3d176ea4fc16c162.826310ae1f066033.2166aca57d313a18
+    4645c8c41ad86b48.78720bc0e93b286d.c43821b6106fcdbc.4672e858f44f6872
+    47d193b9f44cdc7c.a3216a7e36972c99.ceffe476abdcb82c.ee6ea7383e9ed6d8
+    73a4e5b1f6aac0f5
+  after
+    4ca7c8b93143a2eb.96c595bfd49dbccd.2eb43572bb95b665.22fcf8b33cb90f1d
+    3cd0aebe382e96d1.3d176ea4fc16c162.826310ae1f066033.2166aca57d313a18
+    22fcf8b33cb90f1d.2eb43572bb95b665.22fcf8b33cb90f1d.96c595bfd49dbccd
+    47d193b9f44cdc7c.a3216a7e36972c99.ceffe476abdcb82c.ee6ea7383e9ed6d8
+    73a4e5b1f6aac0f5
+
+VPERMQ_0xD7(reg)
+  before
+    32619e2fb8006277.1b428a87e196a698.1a71864d80b70a93.7d84d5da0b59deae
+    88f1cf1e212bf707.9f62291cfec385c8.39ae5c966226fe06.ad9371ce4cf3fb6f
+    cfa072eacdb7bc53.adfeec6366dd353a.5b24e6c67970449f.3af8323f8bb5cb9a
+    64ba85005731ed07.22e2504836f37117.de1f22496021170a.017e9617e3ac095c
+    dcf2184371e372e1
+  after
+    cfa072eacdb7bc53.5b24e6c67970449f.5b24e6c67970449f.cfa072eacdb7bc53
+    88f1cf1e212bf707.9f62291cfec385c8.39ae5c966226fe06.ad9371ce4cf3fb6f
+    cfa072eacdb7bc53.adfeec6366dd353a.5b24e6c67970449f.3af8323f8bb5cb9a
+    64ba85005731ed07.22e2504836f37117.de1f22496021170a.017e9617e3ac095c
+    dcf2184371e372e1
+VPERMQ_0xD7(mem)
+  before
+    a82035b05166c254.a38b04ca5b24c6cf.dad9cfb7890ef68e.1deb0b8cb4c6b5f2
+    41d467499e42b5e2.e85ee9b6761c8256.b1b1e79c7c3c7fc9.73d39ef910eb5703
+    83da2cfa748206b6.8f80322e43a65e48.833414e32a88caf4.3e24d5fe101a3ceb
+    4afeffaef03272fd.f53dd9a05f4d9552.2c30d079afff913d.d92bae0552e19e54
+    9f32247c6fcbbaea
+  after
+    a82035b05166c254.a38b04ca5b24c6cf.dad9cfb7890ef68e.1deb0b8cb4c6b5f2
+    41d467499e42b5e2.e85ee9b6761c8256.b1b1e79c7c3c7fc9.73d39ef910eb5703
+    dad9cfb7890ef68e.a38b04ca5b24c6cf.a82035b05166c254.1deb0b8cb4c6b5f2
+    4afeffaef03272fd.f53dd9a05f4d9552.2c30d079afff913d.d92bae0552e19e54
+    9f32247c6fcbbaea
+
+VPERMQ_0xD7(reg)
+  before
+    ee8533ce0565cc5a.710b5c532d5fb4e3.74e1dc77659d6520.886f994828ac91cd
+    2072d767b03a0f50.d6cfc0d548148a93.69b8371ff223085e.73bee93eb19b85d3
+    93440db30ad6c177.5414a51e5c5dae3a.300ee404a16abab7.c8e83e4565d92a79
+    a146d01eb2c61b7c.c7a7891b8647dd03.252ee1920fffb9d7.65bb144b60713ceb
+    2501e53bbf6f7756
+  after
+    93440db30ad6c177.300ee404a16abab7.300ee404a16abab7.93440db30ad6c177
+    2072d767b03a0f50.d6cfc0d548148a93.69b8371ff223085e.73bee93eb19b85d3
+    93440db30ad6c177.5414a51e5c5dae3a.300ee404a16abab7.c8e83e4565d92a79
+    a146d01eb2c61b7c.c7a7891b8647dd03.252ee1920fffb9d7.65bb144b60713ceb
+    2501e53bbf6f7756
+VPERMQ_0xD7(mem)
+  before
+    e4882f019ee096e6.a7c51c1542955c0b.0b54e7b8e1ddd21b.a3652935d76c3f6b
+    7e1a6d8917cf56c6.020ded0256cfbecf.fce73ce2892b4aad.0800b85a9640891f
+    ce841bbf49487323.0c6a3f528b017e74.752b02839b3e01e7.af498a6be704d39e
+    b292b58f4d58a929.22280f727cb6d8a8.54eeb7893321b3f2.f48c9cd666465895
+    3317e905b09155b0
+  after
+    e4882f019ee096e6.a7c51c1542955c0b.0b54e7b8e1ddd21b.a3652935d76c3f6b
+    7e1a6d8917cf56c6.020ded0256cfbecf.fce73ce2892b4aad.0800b85a9640891f
+    0b54e7b8e1ddd21b.a7c51c1542955c0b.e4882f019ee096e6.a3652935d76c3f6b
+    b292b58f4d58a929.22280f727cb6d8a8.54eeb7893321b3f2.f48c9cd666465895
+    3317e905b09155b0
+
+VPERMQ_0xD7(reg)
+  before
+    c8356d666172069a.050fb8e5420ab303.a19358cdc67a0714.74fad6df6ce01cfd
+    0e3124641473a700.a2c99fae416a4ede.e3f616ce04da4967.b01cdb716288f731
+    63580a6a6523738d.678ae6d4698536e5.459e45e3d361d84b.e620422a322401bd
+    22f61ce6f10ba7ee.2e200945d3662645.23d8e277ce9bf06c.f0d288f9f8c0f5cb
+    acfd28c7cf699088
+  after
+    63580a6a6523738d.459e45e3d361d84b.459e45e3d361d84b.63580a6a6523738d
+    0e3124641473a700.a2c99fae416a4ede.e3f616ce04da4967.b01cdb716288f731
+    63580a6a6523738d.678ae6d4698536e5.459e45e3d361d84b.e620422a322401bd
+    22f61ce6f10ba7ee.2e200945d3662645.23d8e277ce9bf06c.f0d288f9f8c0f5cb
+    acfd28c7cf699088
+VPERMQ_0xD7(mem)
+  before
+    f46f9e81d32a8e1f.a657554353b97fcf.d55584eb9d1adb29.d9eee8f69215cf78
+    a6f266132110abbd.4dc7b1ee28b836db.36f6d4b4e3ab11be.c42c53ccba5aaf18
+    9c53fd6ad425a38d.71912c510b9509be.2fce748bc0288430.3ee01f65e2f6ccfb
+    b45edd70097731bd.7003c3d999db3426.9aabe05c519aefaa.a455482ea77664cb
+    52d6cb91a565b134
+  after
+    f46f9e81d32a8e1f.a657554353b97fcf.d55584eb9d1adb29.d9eee8f69215cf78
+    a6f266132110abbd.4dc7b1ee28b836db.36f6d4b4e3ab11be.c42c53ccba5aaf18
+    d55584eb9d1adb29.a657554353b97fcf.f46f9e81d32a8e1f.d9eee8f69215cf78
+    b45edd70097731bd.7003c3d999db3426.9aabe05c519aefaa.a455482ea77664cb
+    52d6cb91a565b134
+
+VPERMQ_0xB5(reg)
+  before
+    a4b0a3fc774ff0e4.c8df8413db121276.a56770f36d16f3bd.55579413b00f0f59
+    f62fccd9b9c15d84.b5a26d3d670101e6.6b0a310924d3812f.3aa00d9cfc92a069
+    a49f4296084633c3.587315dcc850bb39.1f380289599d1b29.2650c6e34f305d05
+    0a4c029eff6baf4b.8b1df6db1b0bfc9b.1e3ddddea900fd57.f6343bd5c5f30359
+    8418e85c7bea4e93
+  after
+    587315dcc850bb39.a49f4296084633c3.1f380289599d1b29.1f380289599d1b29
+    f62fccd9b9c15d84.b5a26d3d670101e6.6b0a310924d3812f.3aa00d9cfc92a069
+    a49f4296084633c3.587315dcc850bb39.1f380289599d1b29.2650c6e34f305d05
+    0a4c029eff6baf4b.8b1df6db1b0bfc9b.1e3ddddea900fd57.f6343bd5c5f30359
+    8418e85c7bea4e93
+VPERMQ_0xB5(mem)
+  before
+    adc749668c1efadd.8381065c3bbb0dc8.2b6d8e267b3f8037.c265c073af896264
+    4d0fdbdd159dc263.6d8c4c3e58c288e7.152f58a904f70339.69fba5b608c387fd
+    40ba19af32726352.23b7d0aff00c5e54.232fd050d34040cf.6d4c8b124f3aa8cd
+    63957fc7fdaa99d6.014f8c1ca226c9bb.323973070425f422.2ba56bf3207b0181
+    ff5042c51811cdc5
+  after
+    adc749668c1efadd.8381065c3bbb0dc8.2b6d8e267b3f8037.c265c073af896264
+    4d0fdbdd159dc263.6d8c4c3e58c288e7.152f58a904f70339.69fba5b608c387fd
+    2b6d8e267b3f8037.c265c073af896264.8381065c3bbb0dc8.8381065c3bbb0dc8
+    63957fc7fdaa99d6.014f8c1ca226c9bb.323973070425f422.2ba56bf3207b0181
+    ff5042c51811cdc5
+
+VPERMQ_0xB5(reg)
+  before
+    469a0df5d3884944.906c89119450201a.63a07eef079b05c7.1e19bcbbb2b2da61
+    5acec7edec6db1ab.a40bb4791370b34b.a4f6a095bef85024.c39a2756f9f4b0b6
+    983a6c1bff4b40a6.7b3e7aeb95160f94.229cf07a60c8e47f.fd8930c6f6f6304d
+    5c28f9e9a9ae33e0.f1d05953374fef22.38e06a0b8b97fe84.a8b253f5c4c41754
+    a0e10dd1806a20f4
+  after
+    7b3e7aeb95160f94.983a6c1bff4b40a6.229cf07a60c8e47f.229cf07a60c8e47f
+    5acec7edec6db1ab.a40bb4791370b34b.a4f6a095bef85024.c39a2756f9f4b0b6
+    983a6c1bff4b40a6.7b3e7aeb95160f94.229cf07a60c8e47f.fd8930c6f6f6304d
+    5c28f9e9a9ae33e0.f1d05953374fef22.38e06a0b8b97fe84.a8b253f5c4c41754
+    a0e10dd1806a20f4
+VPERMQ_0xB5(mem)
+  before
+    c1e2d84546f5085c.02e568c58523c605.e28fcc9d14271121.410c08b3dbf1d9de
+    e781323d30718bb6.e6beb71a303535c2.2a4550b549a82fbc.9b6dc8ddeb63b23a
+    ee8997a55de8652e.64fce1534570bbc3.a5bf5f88f1e00620.a04fa5f75779c544
+    b2c88169e66851f2.d8eee2de616195b4.2fc9770028da5178.aefe9b6cbcbd4ea7
+    1fc6a6a8b6bd890f
+  after
+    c1e2d84546f5085c.02e568c58523c605.e28fcc9d14271121.410c08b3dbf1d9de
+    e781323d30718bb6.e6beb71a303535c2.2a4550b549a82fbc.9b6dc8ddeb63b23a
+    e28fcc9d14271121.410c08b3dbf1d9de.02e568c58523c605.02e568c58523c605
+    b2c88169e66851f2.d8eee2de616195b4.2fc9770028da5178.aefe9b6cbcbd4ea7
+    1fc6a6a8b6bd890f
+
+VPERMQ_0xB5(reg)
+  before
+    51f2c317e004b12a.0f086e75eafd0c2b.9edfb7261f93ff40.a32f130b0ba3cdf1
+    9ed0ed25d61f03a2.e116d8b582b15208.121a5a971c933513.dfbdb094b54636b6
+    64aa203e3599ba23.03be3e15cc92dfb3.90edc99ef3eb72da.be3ec88643cf48f5
+    fdcd58cf98fe135a.53cc1982e4ac6e58.74a2ffa5412af341.1c7fd9cfd14bbed7
+    d54c5e5a7ac5558b
+  after
+    03be3e15cc92dfb3.64aa203e3599ba23.90edc99ef3eb72da.90edc99ef3eb72da
+    9ed0ed25d61f03a2.e116d8b582b15208.121a5a971c933513.dfbdb094b54636b6
+    64aa203e3599ba23.03be3e15cc92dfb3.90edc99ef3eb72da.be3ec88643cf48f5
+    fdcd58cf98fe135a.53cc1982e4ac6e58.74a2ffa5412af341.1c7fd9cfd14bbed7
+    d54c5e5a7ac5558b
+VPERMQ_0xB5(mem)
+  before
+    c471d3145a49c93b.c68591429cdb4bf3.ac0be6e6e509bc24.1a86f919a1d9f4f3
+    c7bab4e78ee4d613.1c1ec805ddbb9b99.e949222fecb78543.dee5b167af86b09d
+    b9f37ec031a13740.59e3f882f52a42f9.e850484814c284e0.1c0a25f908bc64eb
+    75e8ab8b608da9ee.da221d2783b57abe.84edd41d79347628.2f43503d48084c88
+    75da2e9e0af4a321
+  after
+    c471d3145a49c93b.c68591429cdb4bf3.ac0be6e6e509bc24.1a86f919a1d9f4f3
+    c7bab4e78ee4d613.1c1ec805ddbb9b99.e949222fecb78543.dee5b167af86b09d
+    ac0be6e6e509bc24.1a86f919a1d9f4f3.c68591429cdb4bf3.c68591429cdb4bf3
+    75e8ab8b608da9ee.da221d2783b57abe.84edd41d79347628.2f43503d48084c88
+    75da2e9e0af4a321
+
+VPERMQ_0x85(reg)
+  before
+    491cbc88ea0fa761.d964ba3536b2e848.fb25335f20e78095.98ec439a381b1747
+    0655f46785e292f5.bf3424a8cf1eaf7b.193937966a4c8f2a.02190fab6c832368
+    0ad1d4a776fba089.052466d249ddbbb3.8eaa2438fd71e528.9c3fb63c327755b8
+    b0dc57b45ae50fc8.8500fd9ebdfac81b.b7c4f6b174e1bc3c.442cb339a6036a62
+    d4aa838ee2331e93
+  after
+    052466d249ddbbb3.9c3fb63c327755b8.8eaa2438fd71e528.8eaa2438fd71e528
+    0655f46785e292f5.bf3424a8cf1eaf7b.193937966a4c8f2a.02190fab6c832368
+    0ad1d4a776fba089.052466d249ddbbb3.8eaa2438fd71e528.9c3fb63c327755b8
+    b0dc57b45ae50fc8.8500fd9ebdfac81b.b7c4f6b174e1bc3c.442cb339a6036a62
+    d4aa838ee2331e93
+VPERMQ_0x85(mem)
+  before
+    2a86a02805142c76.53c27afacc2d195e.1d9464f8498192df.f0d3a96d6c295111
+    208c88f128b15138.51ce37e6695efbf9.a7ab17cc097ed42d.952239d880d3df54
+    9488b6d76a174905.044d8ce2cc04f043.0113920618fe4b2e.02ffa35f4c6da3b1
+    6046a6c4e450d008.ca8c745c92ac36e8.05965292920cb311.93b4e26c6d83d9d3
+    a48ef26d7fa0bd67
+  after
+    2a86a02805142c76.53c27afacc2d195e.1d9464f8498192df.f0d3a96d6c295111
+    208c88f128b15138.51ce37e6695efbf9.a7ab17cc097ed42d.952239d880d3df54
+    2a86a02805142c76.1d9464f8498192df.2a86a02805142c76.f0d3a96d6c295111
+    6046a6c4e450d008.ca8c745c92ac36e8.05965292920cb311.93b4e26c6d83d9d3
+    a48ef26d7fa0bd67
+
+VPERMQ_0x85(reg)
+  before
+    91d9cfcd1c508a18.6192d4a6b56ba16e.fdd4ebbe56e10795.9001d15c94b5c700
+    b6e076f7e31f7d93.7437bd68f6717962.fb74ee76b52f9ff6.7f208d5039034428
+    6ff1e2596e9ad284.7302dcf6c5701411.1eb777ef4a223cb6.acbf025b9e05e6b4
+    18560e5e594cc596.3bbfad3c3e732da7.c3e88495b2471882.f4aaaa67dfc469d1
+    33ac0362164e88aa
+  after
+    7302dcf6c5701411.acbf025b9e05e6b4.1eb777ef4a223cb6.1eb777ef4a223cb6
+    b6e076f7e31f7d93.7437bd68f6717962.fb74ee76b52f9ff6.7f208d5039034428
+    6ff1e2596e9ad284.7302dcf6c5701411.1eb777ef4a223cb6.acbf025b9e05e6b4
+    18560e5e594cc596.3bbfad3c3e732da7.c3e88495b2471882.f4aaaa67dfc469d1
+    33ac0362164e88aa
+VPERMQ_0x85(mem)
+  before
+    4593883662ae006c.0c5df97241c29176.a83aac267c87814f.475510d4882a7005
+    0729b5d1dcf18d43.a9509c01c18773cf.963f55a09bb6cc36.0448171868557fec
+    533b061ea322ea5a.4a7cf5787627a74e.e29a2597b80fca88.570e96cdef5683e3
+    0695f709d04dd5de.4b2dff41fb2e689f.661697f5ef9b3670.9df3885fb9b9b695
+    3043e93a600955af
+  after
+    4593883662ae006c.0c5df97241c29176.a83aac267c87814f.475510d4882a7005
+    0729b5d1dcf18d43.a9509c01c18773cf.963f55a09bb6cc36.0448171868557fec
+    4593883662ae006c.a83aac267c87814f.4593883662ae006c.475510d4882a7005
+    0695f709d04dd5de.4b2dff41fb2e689f.661697f5ef9b3670.9df3885fb9b9b695
+    3043e93a600955af
+
+VPERMQ_0x85(reg)
+  before
+    6d49b5cb83d29bdd.fc02057e817f08fa.07aeb6c9ed29f36d.ff8027a85b68cd1a
+    b052e87cbca0c5ca.1150ab69d2c23fdb.dc4d167de7a38464.89a4519a18814bb3
+    55ab7fbba7000f22.214965b7de2538ad.25541bc785295632.e04e92b943f36c67
+    b89e75f3e17db592.08bbb052c2b1ad9b.3d10c2156446a781.e04a65f0f7c9eb62
+    6564462b510f85cf
+  after
+    214965b7de2538ad.e04e92b943f36c67.25541bc785295632.25541bc785295632
+    b052e87cbca0c5ca.1150ab69d2c23fdb.dc4d167de7a38464.89a4519a18814bb3
+    55ab7fbba7000f22.214965b7de2538ad.25541bc785295632.e04e92b943f36c67
+    b89e75f3e17db592.08bbb052c2b1ad9b.3d10c2156446a781.e04a65f0f7c9eb62
+    6564462b510f85cf
+VPERMQ_0x85(mem)
+  before
+    4b67b1566cd2f5da.3578c69005a3f2c6.a270062799745ad2.82cd06d22086b1fd
+    6d21225d651df9b0.28856efeb0ff036a.cb35e5237f7afd7d.4ed7e36a5476b053
+    a95c162c57fc4b7d.ed1069a97d1c2429.5ed5c83191cd50c9.ff7a55499ca1e22f
+    dae508af5f7ca86c.e067b4fd098690af.391e2b3ceb7b10e2.ef0159db9593813c
+    7cbaea8cdbd8ca27
+  after
+    4b67b1566cd2f5da.3578c69005a3f2c6.a270062799745ad2.82cd06d22086b1fd
+    6d21225d651df9b0.28856efeb0ff036a.cb35e5237f7afd7d.4ed7e36a5476b053
+    4b67b1566cd2f5da.a270062799745ad2.4b67b1566cd2f5da.82cd06d22086b1fd
+    dae508af5f7ca86c.e067b4fd098690af.391e2b3ceb7b10e2.ef0159db9593813c
+    7cbaea8cdbd8ca27
+
+VPERMQ_0x29(reg)
+  before
+    00ef04c809fdf89b.dc8874d398a8cbaa.5dd44a66efca85a9.37db8b32a890f9f3
+    d8eda3fcbb8e4946.8b11d6821f8c7163.c0a42750cb733dc3.34d763fee416c628
+    6100c4928e15f7d1.c24babaa0f3556c2.652347283b0ef4a8.0cdf2e8cbc1b34af
+    f57461f81d203fea.5f046e3584ae36f4.a89da758d826e805.9abf6bc84babffb2
+    bc43939eaed0e35d
+  after
+    0cdf2e8cbc1b34af.c24babaa0f3556c2.c24babaa0f3556c2.652347283b0ef4a8
+    d8eda3fcbb8e4946.8b11d6821f8c7163.c0a42750cb733dc3.34d763fee416c628
+    6100c4928e15f7d1.c24babaa0f3556c2.652347283b0ef4a8.0cdf2e8cbc1b34af
+    f57461f81d203fea.5f046e3584ae36f4.a89da758d826e805.9abf6bc84babffb2
+    bc43939eaed0e35d
+VPERMQ_0x29(mem)
+  before
+    4d3724fb00989bdd.f1947898053b5c3d.3d069a119b03cd24.e45e424e40475386
+    286698c95e0fe45e.b2ae04e0e1f08b76.371eae297041d67f.77b114740ffd72d6
+    2b9d6df5e3407a0b.920c023b4ecd0840.2b1823691e730e30.bce31938e0d580a2
+    30a91f6cac371811.eefb6c15e75e0f47.f3c077bdc1a63065.0f414d054f5aba95
+    cb15ad47f9195c5c
+  after
+    4d3724fb00989bdd.f1947898053b5c3d.3d069a119b03cd24.e45e424e40475386
+    286698c95e0fe45e.b2ae04e0e1f08b76.371eae297041d67f.77b114740ffd72d6
+    f1947898053b5c3d.3d069a119b03cd24.e45e424e40475386.f1947898053b5c3d
+    30a91f6cac371811.eefb6c15e75e0f47.f3c077bdc1a63065.0f414d054f5aba95
+    cb15ad47f9195c5c
+
+VPERMQ_0x29(reg)
+  before
+    4eac346a799da2a3.15542819d4007b9c.22c740da482edb39.6de1251176e4f947
+    f351deda6c72c715.b46b06e777a85fd7.8abc79f60fc9a9bf.7449a951583b2505
+    1552a7046d25095e.ebb934c4b23a80ef.822613d5d5bbb588.e3c27f6984b770c8
+    12f98c521941a12c.940c2e9ba1c2990f.66500be338913a3e.97192346156396bf
+    6d1a12d2284b5214
+  after
+    e3c27f6984b770c8.ebb934c4b23a80ef.ebb934c4b23a80ef.822613d5d5bbb588
+    f351deda6c72c715.b46b06e777a85fd7.8abc79f60fc9a9bf.7449a951583b2505
+    1552a7046d25095e.ebb934c4b23a80ef.822613d5d5bbb588.e3c27f6984b770c8
+    12f98c521941a12c.940c2e9ba1c2990f.66500be338913a3e.97192346156396bf
+    6d1a12d2284b5214
+VPERMQ_0x29(mem)
+  before
+    3f91c7fbd87b61f4.449488310b52ce29.8d2e70585f4d6764.92875b8dd4d6768d
+    eb4abeab42007e8a.096d970ee0e4ca01.b0ed77e708e6a619.6218013d4416a223
+    4b1174d081e56603.bbd1b5533384d261.da13bd35b99a115b.324df86124defda9
+    3cb16355b237d58a.b70cde6ea1be22f5.e86dc02c8e746556.5e733c6311b9c1ce
+    42d5cab1a6342c3c
+  after
+    3f91c7fbd87b61f4.449488310b52ce29.8d2e70585f4d6764.92875b8dd4d6768d
+    eb4abeab42007e8a.096d970ee0e4ca01.b0ed77e708e6a619.6218013d4416a223
+    449488310b52ce29.8d2e70585f4d6764.92875b8dd4d6768d.449488310b52ce29
+    3cb16355b237d58a.b70cde6ea1be22f5.e86dc02c8e746556.5e733c6311b9c1ce
+    42d5cab1a6342c3c
+
+VPERMQ_0x29(reg)
+  before
+    3ac19db680d9779f.9af70926f001874c.5a690fcac51cf568.b4c7fcb9a1805e35
+    a281b1de3a37e1a4.42afe12f584f3875.fe3643d33b2c8967.1becebc911cab825
+    d663029571d7a4f7.0ea5675c052da330.01bd76f5a17a189d.f9aa0b46f85f2e51
+    31b18c47c047fd44.dba5189913a885aa.bd4ba49c9090deb7.2bcbd61e724a7de6
+    8b1cca3c9c986110
+  after
+    f9aa0b46f85f2e51.0ea5675c052da330.0ea5675c052da330.01bd76f5a17a189d
+    a281b1de3a37e1a4.42afe12f584f3875.fe3643d33b2c8967.1becebc911cab825
+    d663029571d7a4f7.0ea5675c052da330.01bd76f5a17a189d.f9aa0b46f85f2e51
+    31b18c47c047fd44.dba5189913a885aa.bd4ba49c9090deb7.2bcbd61e724a7de6
+    8b1cca3c9c986110
+VPERMQ_0x29(mem)
+  before
+    f669638c915495fa.11b84c60c4122835.857b6ed39fcb990e.8f2cca34a6fc1861
+    487e1bfa6e8ad7d1.d1c33d4d18c56079.e8f2e7f4c5a39d89.d3ace2297e4a0346
+    5d2770724e47e1c0.cd205b7859ebe2ba.e0d7feea9f3b4b47.e617eae8b504d813
+    112fdde04d966ff4.6019a24f2210eaa5.49f6309f4c9f6073.22b8dddbe7b8d674
+    e4ddb870aff23714
+  after
+    f669638c915495fa.11b84c60c4122835.857b6ed39fcb990e.8f2cca34a6fc1861
+    487e1bfa6e8ad7d1.d1c33d4d18c56079.e8f2e7f4c5a39d89.d3ace2297e4a0346
+    11b84c60c4122835.857b6ed39fcb990e.8f2cca34a6fc1861.11b84c60c4122835
+    112fdde04d966ff4.6019a24f2210eaa5.49f6309f4c9f6073.22b8dddbe7b8d674
+    e4ddb870aff23714
+
+VPERMPS(reg)
+  before
+    88d07511a93d389f.4064de3088833f99.e8fc0e3c10c0b4e5.ff1bf701e6dc973a
+    6ade122c722514c2.c690f04f1b1a0bda.bf139cadbe887b27.de12d1fb89fdadc7
+    e6538a2ca5360929.7f808d2721688fe4.43ab470dc8f37c17.c2a73979520e5e47
+    587bd97ddffd5180.470033a6b67989e2.cf100bc8cb8ef360.87a5ab675c1c66e6
+    09daa4b1c43280cf
+  after
+    88d07511a93d389f.4064de3088833f99.e8fc0e3c10c0b4e5.ff1bf701e6dc973a
+    6ade122c722514c2.c690f04f1b1a0bda.bf139cadbe887b27.de12d1fb89fdadc7
+    e6538a2ca5360929.7f808d2721688fe4.43ab470dc8f37c17.c2a73979520e5e47
+    c2a73979e6538a2c.520e5e47c2a73979.21688fe47f808d27.c2a73979c8f37c17
+    09daa4b1c43280cf
+VPERMPS(mem)
+  before
+    24109e43a55c692f.1ca1fc8bbb052971.fadc5db6f757b301.be8de54a63e41bae
+    b41417091ca6dd31.8e13eec2d6daccab.73e087450010ca6d.6d70cfff2b8131af
+    94b28af0441e9802.0a1bab8ecb0977d8.90d72e3eecb08a51.3903c753bff2710c
+    a2b674e239cd55ce.ec062f5c361d66a5.2c8ecc8dd741aeda.7c94c8b2bcc21774
+    946dce88bd7d5e91
+  after
+    24109e43a55c692f.1ca1fc8bbb052971.fadc5db6f757b301.be8de54a63e41bae
+    b41417091ca6dd31.8e13eec2d6daccab.73e087450010ca6d.6d70cfff2b8131af
+    94b28af0441e9802.0a1bab8ecb0977d8.90d72e3eecb08a51.3903c753bff2710c
+    63e41baef757b301.a55c692f63e41bae.a55c692fbe8de54a.fadc5db6bb052971
+    946dce88bd7d5e91
+
+VPERMPS(reg)
+  before
+    dbdbd6425fb08310.b9eb4fcd18c1d1c0.90207696b4a3d5bd.23d2df1eded1f333
+    ae29da4a3de6c29c.b51f999bfd05c804.51b57daae126ffcd.506de3dd1c6c1589
+    6aa5d80ef4ab56e2.711ccd3a03a5f5c8.8d113e0258322281.912b52b6ae1cd007
+    6999cbf91f8c7c8d.cbaf679546ae1536.9f7fb70cb5537784.c1daa995aff0dfdb
+    bb4565673cf1ff2e
+  after
+    dbdbd6425fb08310.b9eb4fcd18c1d1c0.90207696b4a3d5bd.23d2df1eded1f333
+    ae29da4a3de6c29c.b51f999bfd05c804.51b57daae126ffcd.506de3dd1c6c1589
+    6aa5d80ef4ab56e2.711ccd3a03a5f5c8.8d113e0258322281.912b52b6ae1cd007
+    58322281ae1cd007.711ccd3aae1cd007.f4ab56e2711ccd3a.f4ab56e28d113e02
+    bb4565673cf1ff2e
+VPERMPS(mem)
+  before
+    5d370116702dec2f.0853b0775b14704a.9da4e398e32be47a.e34de43395163d83
+    817df99068af6108.a31d81f443cf6ec5.c5c7be2ff6281ec1.b4c5bfe29406ae29
+    05e3cabf3f831be5.96443cdc744ab1a9.1ee373469ab27e37.703446874db00723
+    c335ef9111b6d6f3.3e14dc9b891076a3.83c67ec9ebd4c107.72e6748d5c9f841d
+    152745615e5f60c2
+  after
+    5d370116702dec2f.0853b0775b14704a.9da4e398e32be47a.e34de43395163d83
+    817df99068af6108.a31d81f443cf6ec5.c5c7be2ff6281ec1.b4c5bfe29406ae29
+    05e3cabf3f831be5.96443cdc744ab1a9.1ee373469ab27e37.703446874db00723
+    5d3701160853b077.5b14704ae34de433.702dec2f5d370116.5d3701169da4e398
+    152745615e5f60c2
+
+VPERMPS(reg)
+  before
+    b742b56dee7dd8be.993fe3f1fc534e5e.f5d85d9d1fadf95e.d23a5ba4069aa35e
+    b285c11ea98428bf.61cd25cb19673e51.18debc4ed1ae7687.e50c87c40611df68
+    643a63e12a008c6e.f9aa2e0b86fc63f9.0370f31b3b9e28ca.99087c1308443250
+    27ae99200e7d3f7a.3ba37b9d5e207981.12db006efa0a4cd2.cbfab87f27405842
+    55aeb7f380100d6c
+  after
+    b742b56dee7dd8be.993fe3f1fc534e5e.f5d85d9d1fadf95e.d23a5ba4069aa35e
+    b285c11ea98428bf.61cd25cb19673e51.18debc4ed1ae7687.e50c87c40611df68
+    643a63e12a008c6e.f9aa2e0b86fc63f9.0370f31b3b9e28ca.99087c1308443250
+    f9aa2e0b2a008c6e.99087c132a008c6e.f9aa2e0b2a008c6e.86fc63f92a008c6e
+    55aeb7f380100d6c
+VPERMPS(mem)
+  before
+    14f0f35a2ec00cf7.592d5e49f0887e8d.0484896dbedf3b16.a16bdeb5a97c1d4c
+    e58beaa24e5c1212.5403afc76dad8554.3119d367c24466e4.0c6c8a5ae583d9e3
+    a24c16b6fbf1dbe7.767b860520768f7a.9c2ed578855bb616.ae2afecb4aa8ba44
+    28fff582518a22a3.19e3e171a571d9ac.228f0c8a2330e7d9.e5f138737379fd1b
+    0c0c33befc81dd13
+  after
+    14f0f35a2ec00cf7.592d5e49f0887e8d.0484896dbedf3b16.a16bdeb5a97c1d4c
+    e58beaa24e5c1212.5403afc76dad8554.3119d367c24466e4.0c6c8a5ae583d9e3
+    a24c16b6fbf1dbe7.767b860520768f7a.9c2ed578855bb616.ae2afecb4aa8ba44
+    2ec00cf714f0f35a.592d5e49bedf3b16.a97c1d4c2ec00cf7.0484896df0887e8d
+    0c0c33befc81dd13
+
+VPERMPD_0x00(reg)
+  before
+    7fc8eb18824c97d9.537003f26d34a471.9a85bb76992a9f95.9f07f28bb9d0b459
+    9a715ceda0676718.006bbaf36bfa1d7e.56ae1180982b1de2.f06405666247dac1
+    b95383a9f35e897d.09bc986f66e849f5.a7abddfb3d028e3f.ef70c0063b9f153d
+    37ba5bb916bb38b3.4b2e18537a0be303.eac51d54243b2f57.79f8a0595fe620fa
+    6ac81f4aeb27b924
+  after
+    ef70c0063b9f153d.ef70c0063b9f153d.ef70c0063b9f153d.ef70c0063b9f153d
+    9a715ceda0676718.006bbaf36bfa1d7e.56ae1180982b1de2.f06405666247dac1
+    b95383a9f35e897d.09bc986f66e849f5.a7abddfb3d028e3f.ef70c0063b9f153d
+    37ba5bb916bb38b3.4b2e18537a0be303.eac51d54243b2f57.79f8a0595fe620fa
+    6ac81f4aeb27b924
+VPERMPD_0x00(mem)
+  before
+    9eabbbc5fa6f9ae7.72f2e087a50cb268.a28eb68cc46da8d4.7b4bccf5ea603cd7
+    f16fefb7a8c97f6e.c5460e803edc3045.eaa8ee045f1d5493.b688e64c2bfff06a
+    3fde370a134126e5.8b04e2117ab8f1f9.ff483da96824a36d.f8c767c382a489bd
+    64c60fab54e44979.227656a5f72b2f2d.bd3a1d66fb90508d.9b554cc88bd9417c
+    fc7e90c6e32d5452
+  after
+    9eabbbc5fa6f9ae7.72f2e087a50cb268.a28eb68cc46da8d4.7b4bccf5ea603cd7
+    f16fefb7a8c97f6e.c5460e803edc3045.eaa8ee045f1d5493.b688e64c2bfff06a
+    7b4bccf5ea603cd7.7b4bccf5ea603cd7.7b4bccf5ea603cd7.a28eb68cc46da8d4
+    64c60fab54e44979.227656a5f72b2f2d.bd3a1d66fb90508d.9b554cc88bd9417c
+    fc7e90c6e32d5452
+
+VPERMPD_0x00(reg)
+  before
+    778e2f28252900ec.3cf1f48789bda456.e4e968a851c12790.004a0c27326d1820
+    68d1255cee5b7ff5.a32c6188ced8f5a8.2fa91385230615cc.a44486d82cc5b652
+    2b936fcdd94e0d1a.7542d29c3e42f699.5d0154aa0987348e.85f3056502a6e84e
+    1c1f07e7838ee807.8d01c3adf5066458.cc3f2583a0d0c181.7e2407bad31b6840
+    6da307c3b831f356
+  after
+    85f3056502a6e84e.85f3056502a6e84e.85f3056502a6e84e.85f3056502a6e84e
+    68d1255cee5b7ff5.a32c6188ced8f5a8.2fa91385230615cc.a44486d82cc5b652
+    2b936fcdd94e0d1a.7542d29c3e42f699.5d0154aa0987348e.85f3056502a6e84e
+    1c1f07e7838ee807.8d01c3adf5066458.cc3f2583a0d0c181.7e2407bad31b6840
+    6da307c3b831f356
+VPERMPD_0x00(mem)
+  before
+    2d3c816dcff344ba.97c2eb1787a84a67.c934b1a91030fb0f.d6ad847a846bf852
+    9abbf1a2346d1898.f8c916c7812770e7.04a6167baacd76eb.d9986cfc4fe615ac
+    8febd45002ac2b1d.9a7e85640e989632.1a24700fe0e89217.2f4cd975a0cd533c
+    ea9aa46156bb3975.db2d325bca86f7f5.e67a3a51cd8d0bc0.3515c85211aaefae
+    483f33fd3e0b25ad
+  after
+    2d3c816dcff344ba.97c2eb1787a84a67.c934b1a91030fb0f.d6ad847a846bf852
+    9abbf1a2346d1898.f8c916c7812770e7.04a6167baacd76eb.d9986cfc4fe615ac
+    d6ad847a846bf852.d6ad847a846bf852.d6ad847a846bf852.c934b1a91030fb0f
+    ea9aa46156bb3975.db2d325bca86f7f5.e67a3a51cd8d0bc0.3515c85211aaefae
+    483f33fd3e0b25ad
+
+VPERMPD_0x00(reg)
+  before
+    c21618e4c47c30e6.8692dfc34ba7fecb.16241b16507dd0dc.4674f12d8ec99d12
+    00e572723e874e05.3ea00061fd7a354c.a7ae3b033c095d92.15de0f903ea70338
+    5efa3e1249bab9b5.f090842789429a24.ea168e8d2bb7dac4.2e831264fa33fa5f
+    399f763280a1ada2.772ee5010a0beb7e.3aa91120b912821d.6f307597dd7a3eb2
+    b2b2b41304878a5e
+  after
+    2e831264fa33fa5f.2e831264fa33fa5f.2e831264fa33fa5f.2e831264fa33fa5f
+    00e572723e874e05.3ea00061fd7a354c.a7ae3b033c095d92.15de0f903ea70338
+    5efa3e1249bab9b5.f090842789429a24.ea168e8d2bb7dac4.2e831264fa33fa5f
+    399f763280a1ada2.772ee5010a0beb7e.3aa91120b912821d.6f307597dd7a3eb2
+    b2b2b41304878a5e
+VPERMPD_0x00(mem)
+  before
+    d5d34cc68a669b8e.eb21183d7fc6677a.ae46a1db9de0e287.f5b3be2881a7924a
+    b260b79b8c242d6f.d1cb1fa0e3b724e6.73a333a15ecd3c6a.768093111f0146f6
+    2724737d25ccfc2d.47eb87c548001d95.a012183f67deb554.185c8b4730acd9cf
+    0eedfb5a716bc3f3.a9cc4d19492c9131.135fcaa2d7200870.3993a3364f35887e
+    3370d54b19268fb2
+  after
+    d5d34cc68a669b8e.eb21183d7fc6677a.ae46a1db9de0e287.f5b3be2881a7924a
+    b260b79b8c242d6f.d1cb1fa0e3b724e6.73a333a15ecd3c6a.768093111f0146f6
+    f5b3be2881a7924a.f5b3be2881a7924a.f5b3be2881a7924a.ae46a1db9de0e287
+    0eedfb5a716bc3f3.a9cc4d19492c9131.135fcaa2d7200870.3993a3364f35887e
+    3370d54b19268fb2
+
+VPERMPD_0xFE(reg)
+  before
+    64401ff0290e2a14.4585cc1d8d0b3fee.53b96b0882c7ba66.a657c7b4c89ef3eb
+    264f7c931c769453.a6ba60b395bb2c4a.a1ffdfff905dd5e1.36c38a63566430f1
+    d7e9e89e8dec0a19.0e563506a4844532.efeaa4680f7b1e4e.a0728f9a9d7f7bad
+    d15a5f7f19fcc813.5a26c603d67447d2.99c6b7b19aacd059.be2f5244bbfa914c
+    6dc5504fc9e22efa
+  after
+    d7e9e89e8dec0a19.d7e9e89e8dec0a19.d7e9e89e8dec0a19.0e563506a4844532
+    264f7c931c769453.a6ba60b395bb2c4a.a1ffdfff905dd5e1.36c38a63566430f1
+    d7e9e89e8dec0a19.0e563506a4844532.efeaa4680f7b1e4e.a0728f9a9d7f7bad
+    d15a5f7f19fcc813.5a26c603d67447d2.99c6b7b19aacd059.be2f5244bbfa914c
+    6dc5504fc9e22efa
+VPERMPD_0xFE(mem)
+  before
+    8a0104a6e5420ee2.71eedea15b3009ec.64f68f964896ee58.fbdf1245cd7c28ad
+    efafea352b26ed30.14f06070ef160a51.09910dac15f7f6ed.7180b390457862f6
+    799b7ee8b69b8611.14aee158723907ed.25c5ba305aa11ac0.56f795fe9d2bb9e1
+    04913caca2ab96b1.ce725dc580263c6d.955c140d32a317fb.088eb4fb72226b1a
+    e2920cf35fe8b24c
+  after
+    8a0104a6e5420ee2.71eedea15b3009ec.64f68f964896ee58.fbdf1245cd7c28ad
+    efafea352b26ed30.14f06070ef160a51.09910dac15f7f6ed.7180b390457862f6
+    8a0104a6e5420ee2.8a0104a6e5420ee2.8a0104a6e5420ee2.8a0104a6e5420ee2
+    04913caca2ab96b1.ce725dc580263c6d.955c140d32a317fb.088eb4fb72226b1a
+    e2920cf35fe8b24c
+
+VPERMPD_0xFE(reg)
+  before
+    404f9a520109ca24.6c5da16b0c65d83c.9f89d123b468e47d.33239631ba06a9ca
+    7e115984f311f14e.8dca281210d20add.e13f38deaa8c3cc8.dce6bd870dd88b5b
+    f72445f6d28d6175.43a54d8ec900e6c0.f1df8d62ff1c80fb.6c7103fb48247bd7
+    09d35a1239095746.6abb8cca53fa2913.2bb7cf1c4fa6ebc1.bf90e67986f7336d
+    b10fe1ede45c6f47
+  after
+    f72445f6d28d6175.f72445f6d28d6175.f72445f6d28d6175.43a54d8ec900e6c0
+    7e115984f311f14e.8dca281210d20add.e13f38deaa8c3cc8.dce6bd870dd88b5b
+    f72445f6d28d6175.43a54d8ec900e6c0.f1df8d62ff1c80fb.6c7103fb48247bd7
+    09d35a1239095746.6abb8cca53fa2913.2bb7cf1c4fa6ebc1.bf90e67986f7336d
+    b10fe1ede45c6f47
+VPERMPD_0xFE(mem)
+  before
+    1eb970437d5fed91.0e6b9546c50f0e6c.ded662b1cbcd8eff.eb11f77635b6bac7
+    e25b0f686d0d6779.6438f0fd112dc394.7bc24a314c84d2b3.8e3b03de4dd629b9
+    d9c13b46d1719928.668669a2b9eeb269.1d4dc035f32bb159.6e7fedbf34947442
+    dfb76fcbc59741cd.6fa1fba35adf1799.a04240a9dbcfe71d.e82ab385857cd60f
+    5887519cdd198ccb
+  after
+    1eb970437d5fed91.0e6b9546c50f0e6c.ded662b1cbcd8eff.eb11f77635b6bac7
+    e25b0f686d0d6779.6438f0fd112dc394.7bc24a314c84d2b3.8e3b03de4dd629b9
+    1eb970437d5fed91.1eb970437d5fed91.1eb970437d5fed91.1eb970437d5fed91
+    dfb76fcbc59741cd.6fa1fba35adf1799.a04240a9dbcfe71d.e82ab385857cd60f
+    5887519cdd198ccb
+
+VPERMPD_0xFE(reg)
+  before
+    1ae4c170d7f7d223.d00927e1648c1992.ddd5a36b908b2ecd.e06c4679217b2f2c
+    8a8b016d0fa2e4c3.8783df76ca5bdea3.0a6e5b66f67e32b4.b9984f91e03b46b2
+    03ca0cff23a7fd56.e2f0137514104c2d.54b72101284560f7.0792d6dd351ce8da
+    e3ebde92ac915a89.bc1d40ca5db81e5c.15fdf0a6c36bf345.a626574a3b29d1d1
+    71204ec20f6ebcc3
+  after
+    03ca0cff23a7fd56.03ca0cff23a7fd56.03ca0cff23a7fd56.e2f0137514104c2d
+    8a8b016d0fa2e4c3.8783df76ca5bdea3.0a6e5b66f67e32b4.b9984f91e03b46b2
+    03ca0cff23a7fd56.e2f0137514104c2d.54b72101284560f7.0792d6dd351ce8da
+    e3ebde92ac915a89.bc1d40ca5db81e5c.15fdf0a6c36bf345.a626574a3b29d1d1
+    71204ec20f6ebcc3
+VPERMPD_0xFE(mem)
+  before
+    464b3833ccf866db.853b739348ed3707.f1d7e161c25e115b.aa8cc4c2627c2848
+    007590878ed28b46.4506c86c9345cf7d.5ce872265f0ee157.70b09ac2a2053bad
+    7a68d2ac7208e62f.7f97d88b28285f97.db1c70054ed54a7c.c1b56d101e91681f
+    92f17a8d94a734c3.8f3c9f5aa31f2300.494155eaaebe07f5.fae7381a73aceb4b
+    7791fa4a3ce3ffdc
+  after
+    464b3833ccf866db.853b739348ed3707.f1d7e161c25e115b.aa8cc4c2627c2848
+    007590878ed28b46.4506c86c9345cf7d.5ce872265f0ee157.70b09ac2a2053bad
+    464b3833ccf866db.464b3833ccf866db.464b3833ccf866db.464b3833ccf866db
+    92f17a8d94a734c3.8f3c9f5aa31f2300.494155eaaebe07f5.fae7381a73aceb4b
+    7791fa4a3ce3ffdc
+
+VPERMPD_0x30(reg)
+  before
+    9500ac0e16c1e17f.23dc04160fba312e.d03f1947a1b85665.81229fc298d5d5ef
+    ae804bd19cd2cce0.08f5ed33ff4d999b.a0ed42bdbe7e3671.618ac9772a277095
+    1f5dd4ff6ba3feaa.1f08b0d0816d2736.5a93172895fefdd1.c4464ff780bf9314
+    44e342041ebfb18a.42e0c9d9b025982d.597a93f4c2c3e730.8522ae2cb5a9fb97
+    82ea6004e6f2644c
+  after
+    c4464ff780bf9314.1f5dd4ff6ba3feaa.c4464ff780bf9314.c4464ff780bf9314
+    ae804bd19cd2cce0.08f5ed33ff4d999b.a0ed42bdbe7e3671.618ac9772a277095
+    1f5dd4ff6ba3feaa.1f08b0d0816d2736.5a93172895fefdd1.c4464ff780bf9314
+    44e342041ebfb18a.42e0c9d9b025982d.597a93f4c2c3e730.8522ae2cb5a9fb97
+    82ea6004e6f2644c
+VPERMPD_0x30(mem)
+  before
+    956ae36a2ea58a5c.795e914d51b2222b.4f4ab43ba982a8aa.fbf1b28de259323c
+    9b6eb24aa9cf28f5.1a19be44a1098c3a.2013ede0878f12d9.9a437060904c189e
+    71c14a90747bfb43.8362c356aa4f2c63.9305f1b5675893e7.94bbcad76929d605
+    f1302528abb5bf72.10839ef007103e51.82ec3ba764e9e700.44a6bb5f087ca71a
+    05513f650acfc98c
+  after
+    956ae36a2ea58a5c.795e914d51b2222b.4f4ab43ba982a8aa.fbf1b28de259323c
+    9b6eb24aa9cf28f5.1a19be44a1098c3a.2013ede0878f12d9.9a437060904c189e
+    fbf1b28de259323c.fbf1b28de259323c.fbf1b28de259323c.956ae36a2ea58a5c
+    f1302528abb5bf72.10839ef007103e51.82ec3ba764e9e700.44a6bb5f087ca71a
+    05513f650acfc98c
+
+VPERMPD_0x30(reg)
+  before
+    340652530ab07605.f987c1fe69892fad.1dc94a7c54d9feb1.ca9647a19b4fca4f
+    2e11f097a5aaea32.639299ffca040820.0680c4682e35a72e.48ce928e2795f701
+    4dc0169c764a63be.0c1d2915eb3106f9.27f4061f31b17675.d65f965c25c82b41
+    ef5ebfce191b1b56.d0f4ee2ee71de562.dc700e0df7d8a732.5116d1f6b0f2223c
+    95bfbe48e522971e
+  after
+    d65f965c25c82b41.4dc0169c764a63be.d65f965c25c82b41.d65f965c25c82b41
+    2e11f097a5aaea32.639299ffca040820.0680c4682e35a72e.48ce928e2795f701
+    4dc0169c764a63be.0c1d2915eb3106f9.27f4061f31b17675.d65f965c25c82b41
+    ef5ebfce191b1b56.d0f4ee2ee71de562.dc700e0df7d8a732.5116d1f6b0f2223c
+    95bfbe48e522971e
+VPERMPD_0x30(mem)
+  before
+    7e26d93edf614712.6e36e7992ba94fa5.8ce26234dbd36087.8142d79e1f367610
+    e9179fc5babdee45.27958a6948813a58.1ab50315e25f3495.72b45d3e43571ebc
+    b05e8ac7934148e2.76c7a4aa0b2e1a1b.57374cbc19cd1db8.0a139d59ffc8dce1
+    b0c6183186fa1016.b81832c8103c2999.1f35b9149b2ad61b.a7ab915bef14eb2c
+    a4c837b0b1c88948
+  after
+    7e26d93edf614712.6e36e7992ba94fa5.8ce26234dbd36087.8142d79e1f367610
+    e9179fc5babdee45.27958a6948813a58.1ab50315e25f3495.72b45d3e43571ebc
+    8142d79e1f367610.8142d79e1f367610.8142d79e1f367610.7e26d93edf614712
+    b0c6183186fa1016.b81832c8103c2999.1f35b9149b2ad61b.a7ab915bef14eb2c
+    a4c837b0b1c88948
+
+VPERMPD_0x30(reg)
+  before
+    5db58ac5de6ff0e2.c51cc4f0adf3030d.47d42f30f438a37f.4e7bc70b85821deb
+    2dc0860414955da6.cb2d0bef2738ddf2.8046974c53adc678.c0d4f18df2dfac53
+    723328dbefc60b40.9ec367190ed65af2.bfbc678ac728cc31.510eb384ff4f3f80
+    865b6ab40a8f385a.1aaa565c7ed83538.60809954ef33f256.ddf389ddc7dd949e
+    4051ef84669665d8
+  after
+    510eb384ff4f3f80.723328dbefc60b40.510eb384ff4f3f80.510eb384ff4f3f80
+    2dc0860414955da6.cb2d0bef2738ddf2.8046974c53adc678.c0d4f18df2dfac53
+    723328dbefc60b40.9ec367190ed65af2.bfbc678ac728cc31.510eb384ff4f3f80
+    865b6ab40a8f385a.1aaa565c7ed83538.60809954ef33f256.ddf389ddc7dd949e
+    4051ef84669665d8
+VPERMPD_0x30(mem)
+  before
+    56f26266f9856e5b.c7844afd027c1ea3.1bb053a3944a2bf1.bfdf2b18655c7492
+    fba35d6d9cb66d52.8ffac4217217f9c5.7da0dada6b38f749.38251841c52f8d92
+    0b305c876a361cea.3c09d28cf6ee076d.1c4568ed20af576b.279e5c3bac377a01
+    6264db9f7f10384e.28fc72aa2b8c8246.d46c77c8cebb0584.e895f472b500778c
+    d758db527c16bfdf
+  after
+    56f26266f9856e5b.c7844afd027c1ea3.1bb053a3944a2bf1.bfdf2b18655c7492
+    fba35d6d9cb66d52.8ffac4217217f9c5.7da0dada6b38f749.38251841c52f8d92
+    bfdf2b18655c7492.bfdf2b18655c7492.bfdf2b18655c7492.56f26266f9856e5b
+    6264db9f7f10384e.28fc72aa2b8c8246.d46c77c8cebb0584.e895f472b500778c
+    d758db527c16bfdf
+
+VPERMPD_0x21(reg)
+  before
+    50310c479f0690a5.db0d56a0f8507dac.b1219ee7ac7ea7fd.80e185589266bebf
+    af6d86beb75b248b.54f54a78f103a62d.31c254b0164fb13d.fe700d8787be3d49
+    5058422162a1b73c.a8e9321284347000.062c906f058bdeb3.29e58c42c9cf3f4e
+    8f3e3dde3c658765.b3b58a5ad0ef974f.8aab4c9113bf680b.dd0b7c7675a380f9
+    f5b05b0ea749bc77
+  after
+    29e58c42c9cf3f4e.a8e9321284347000.29e58c42c9cf3f4e.062c906f058bdeb3
+    af6d86beb75b248b.54f54a78f103a62d.31c254b0164fb13d.fe700d8787be3d49
+    5058422162a1b73c.a8e9321284347000.062c906f058bdeb3.29e58c42c9cf3f4e
+    8f3e3dde3c658765.b3b58a5ad0ef974f.8aab4c9113bf680b.dd0b7c7675a380f9
+    f5b05b0ea749bc77
+VPERMPD_0x21(mem)
+  before
+    4f9ea4f57acaaff3.c86b745fe032ceb2.5025ce3def41d746.1a8b8683df768bf0
+    c6a2d3190a34149a.562ae212ea95c9ce.5d057ba5fd35eb12.131739b0023c850f
+    358865657492a797.97c98362f719b366.b4200c7f16d790df.cf9d61831b9e9014
+    7a1cd4c5d4f02617.e69254baa34ac925.3344fdb8583482d8.ab67fa6ac327e9aa
+    03c201d09963cc7d
+  after
+    4f9ea4f57acaaff3.c86b745fe032ceb2.5025ce3def41d746.1a8b8683df768bf0
+    c6a2d3190a34149a.562ae212ea95c9ce.5d057ba5fd35eb12.131739b0023c850f
+    1a8b8683df768bf0.5025ce3def41d746.1a8b8683df768bf0.c86b745fe032ceb2
+    7a1cd4c5d4f02617.e69254baa34ac925.3344fdb8583482d8.ab67fa6ac327e9aa
+    03c201d09963cc7d
+
+VPERMPD_0x21(reg)
+  before
+    33fa702136df743a.6f2a9e25455b4b46.9ed2508889b547b8.b53bca3adc577c2a
+    975b45c938261e8d.f27d3e71e3ded34f.1dd5723845e469ca.15d2f0f3c04d3b01
+    8c317c343bc50622.dde23096cb857a5f.bee6b93474666a08.31d5e9ce20207b88
+    6cc70fcfda4667a4.0e26f17e185dfba2.dc531ee9b1c4881e.e30f33b717def8eb
+    084e499ac2936d58
+  after
+    31d5e9ce20207b88.dde23096cb857a5f.31d5e9ce20207b88.bee6b93474666a08
+    975b45c938261e8d.f27d3e71e3ded34f.1dd5723845e469ca.15d2f0f3c04d3b01
+    8c317c343bc50622.dde23096cb857a5f.bee6b93474666a08.31d5e9ce20207b88
+    6cc70fcfda4667a4.0e26f17e185dfba2.dc531ee9b1c4881e.e30f33b717def8eb
+    084e499ac2936d58
+VPERMPD_0x21(mem)
+  before
+    7d5da7633c4a97f9.946bfc04b1377ebf.5f13fc17e7711443.d5669ec3998cfcb7
+    1c07cafea10f32fa.60673d415d248720.ad75cc4b53ce7f6e.036d362fc7490580
+    c3192d570eeef988.2c08d1f07a98be73.d51ae008797ff851.c4b2e197d888dd25
+    4c5f4c5a9ef4a9cf.539ab17fa31f5e64.b1cdb13974903c16.72829b6967d4c151
+    6b29611011b9edb1
+  after
+    7d5da7633c4a97f9.946bfc04b1377ebf.5f13fc17e7711443.d5669ec3998cfcb7
+    1c07cafea10f32fa.60673d415d248720.ad75cc4b53ce7f6e.036d362fc7490580
+    d5669ec3998cfcb7.5f13fc17e7711443.d5669ec3998cfcb7.946bfc04b1377ebf
+    4c5f4c5a9ef4a9cf.539ab17fa31f5e64.b1cdb13974903c16.72829b6967d4c151
+    6b29611011b9edb1
+
+VPERMPD_0x21(reg)
+  before
+    09f22df771c49cf0.94a5a3f46e2cfefa.3368da597445a59e.1e59bdc9610d07e9
+    a92bfd8c23800cbb.77b6ae0f9aa3b436.27c049e98a97cccd.f98b7ea65b0315f7
+    a81ecc3ac47977bd.d260ea993c6486ae.8becf99d80a0129e.1c2f72bb7e7d226c
+    6018976df03c19a3.7f6dd27c737b318f.bb3ae6e0f3edb1bd.641115f5e788e973
+    adfde13eb22f2739
+  after
+    1c2f72bb7e7d226c.d260ea993c6486ae.1c2f72bb7e7d226c.8becf99d80a0129e
+    a92bfd8c23800cbb.77b6ae0f9aa3b436.27c049e98a97cccd.f98b7ea65b0315f7
+    a81ecc3ac47977bd.d260ea993c6486ae.8becf99d80a0129e.1c2f72bb7e7d226c
+    6018976df03c19a3.7f6dd27c737b318f.bb3ae6e0f3edb1bd.641115f5e788e973
+    adfde13eb22f2739
+VPERMPD_0x21(mem)
+  before
+    d3bf5483fa7e97e9.2e65589242542f19.5baae2a658f57105.13f40d1f7e09e6d5
+    b222e9b1db82f7b0.6f510d13564df5ca.42e396020adc013b.ee6768c4be80ed93
+    26f31cb2724501ba.7d28b15dc9b4a763.10e46b7ca23f9f5e.aadef53c4ede01a3
+    0cff6974dbd67232.b53540dd3714818f.a179dc003e270599.a2a7aff3cbb05fb0
+    310d9256d0814367
+  after
+    d3bf5483fa7e97e9.2e65589242542f19.5baae2a658f57105.13f40d1f7e09e6d5
+    b222e9b1db82f7b0.6f510d13564df5ca.42e396020adc013b.ee6768c4be80ed93
+    13f40d1f7e09e6d5.5baae2a658f57105.13f40d1f7e09e6d5.2e65589242542f19
+    0cff6974dbd67232.b53540dd3714818f.a179dc003e270599.a2a7aff3cbb05fb0
+    310d9256d0814367
+
+VPERMPD_0xD7(reg)
+  before
+    b55b9bd0f9dee973.3e104de1303e0545.73c6b6fd3af9befb.d16e647afaa2ef19
+    89dec5cce4528c81.98f243e7908b771e.1325102b71f09b53.7c8e82d7f1bb1b0a
+    08e20cb82a69693c.f873c77114c984ea.f19f49d275845342.7ea6af01407f4397
+    90b36cff69b0bc51.395e556bdb02e8d5.69805d5de5422475.b38269e502f923ed
+    f7ee2a7053357937
+  after
+    08e20cb82a69693c.f19f49d275845342.f19f49d275845342.08e20cb82a69693c
+    89dec5cce4528c81.98f243e7908b771e.1325102b71f09b53.7c8e82d7f1bb1b0a
+    08e20cb82a69693c.f873c77114c984ea.f19f49d275845342.7ea6af01407f4397
+    90b36cff69b0bc51.395e556bdb02e8d5.69805d5de5422475.b38269e502f923ed
+    f7ee2a7053357937
+VPERMPD_0xD7(mem)
+  before
+    26b6708c5040ffa2.7b9de10d3db2c06c.377e69c1fe445e0a.d714483a5ab44897
+    1ca6b7271525725a.27eb684e40fbb238.cea0805f9c9aa3b6.97a706d47369fc55
+    b489792cbcf08e8a.eeebfb2e1117ce62.da901532ce117304.05849497c9ea7b5b
+    cc2c348764ae0e5f.2ee798194a935096.371aa424b2b48a21.7df8edf0fac50254
+    5b4f0d49a285cded
+  after
+    26b6708c5040ffa2.7b9de10d3db2c06c.377e69c1fe445e0a.d714483a5ab44897
+    1ca6b7271525725a.27eb684e40fbb238.cea0805f9c9aa3b6.97a706d47369fc55
+    377e69c1fe445e0a.7b9de10d3db2c06c.26b6708c5040ffa2.d714483a5ab44897
+    cc2c348764ae0e5f.2ee798194a935096.371aa424b2b48a21.7df8edf0fac50254
+    5b4f0d49a285cded
+
+VPERMPD_0xD7(reg)
+  before
+    fbd5f10f5cb618d1.3f5c6324276aaf04.412c3b7c87fb737f.c00aa922648fa338
+    b9d693afc5e51ead.e9e382ef21302da6.8406dec165d974c9.532ba119ffaf7b77
+    f09ef193789d1c2d.a58d0dd46f0d4470.54c07f567fbb8f22.cb4b06f4a01fce07
+    fe780629116b4efc.512881bf2c0caf8f.0ba819a5722dff34.0334569e62ec5717
+    d9b30d056120d3d0
+  after
+    f09ef193789d1c2d.54c07f567fbb8f22.54c07f567fbb8f22.f09ef193789d1c2d
+    b9d693afc5e51ead.e9e382ef21302da6.8406dec165d974c9.532ba119ffaf7b77
+    f09ef193789d1c2d.a58d0dd46f0d4470.54c07f567fbb8f22.cb4b06f4a01fce07
+    fe780629116b4efc.512881bf2c0caf8f.0ba819a5722dff34.0334569e62ec5717
+    d9b30d056120d3d0
+VPERMPD_0xD7(mem)
+  before
+    2894a514bac9fe61.3eb2cedc2ddaf0c7.c87f599d753a2b2f.0609a81cd9b901ab
+    cba39cb788f394f4.0c96461868763d39.e55d115865a1747b.a12e282651edd134
+    a0ac6cdae8a950b6.c37168495ccc72ff.868f25de184f45a0.3864962f7555ab7b
+    817a9369f6f7efd2.c18f32dba866cbc4.85e1111aac505bca.28f7eca3e27cca2b
+    cb3328ee33ee6bf1
+  after
+    2894a514bac9fe61.3eb2cedc2ddaf0c7.c87f599d753a2b2f.0609a81cd9b901ab
+    cba39cb788f394f4.0c96461868763d39.e55d115865a1747b.a12e282651edd134
+    c87f599d753a2b2f.3eb2cedc2ddaf0c7.2894a514bac9fe61.0609a81cd9b901ab
+    817a9369f6f7efd2.c18f32dba866cbc4.85e1111aac505bca.28f7eca3e27cca2b
+    cb3328ee33ee6bf1
+
+VPERMPD_0xD7(reg)
+  before
+    7e63467c0437ca78.4cda8d51cde92d75.613c9f3ae6d38335.c01f52f73aaf7224
+    9dd540baf2e4236d.db99d47c898cc5ca.fec3abd2b29cd7fe.11156363e07846db
+    84d314129980b17c.0c81e6d847eb74fe.f6725310a94f03ca.568fc049bab7921a
+    8faabdf19497b150.b95e3e4f2212f63d.a393925e66774346.6958e595e379130e
+    273d4f3377c985e2
+  after
+    84d314129980b17c.f6725310a94f03ca.f6725310a94f03ca.84d314129980b17c
+    9dd540baf2e4236d.db99d47c898cc5ca.fec3abd2b29cd7fe.11156363e07846db
+    84d314129980b17c.0c81e6d847eb74fe.f6725310a94f03ca.568fc049bab7921a
+    8faabdf19497b150.b95e3e4f2212f63d.a393925e66774346.6958e595e379130e
+    273d4f3377c985e2
+VPERMPD_0xD7(mem)
+  before
+    6d0a790f93b4a3c3.1aa737c47fb65e96.bffe58cf360e07b2.6373642a86a1d21e
+    158bdf1653442add.81137ef6f768f6f9.fb2cb043a1ea628a.905ec5dea458edfd
+    fc8cfd32d188d65b.203d8ef2973ab326.47b3c3967cb3c4f1.87a0b1e85c28d090
+    fed94f512c89636a.53706426fcb6d2c9.80600cb6e574e912.a58525b34c9eb682
+    44581cab0d45dc80
+  after
+    6d0a790f93b4a3c3.1aa737c47fb65e96.bffe58cf360e07b2.6373642a86a1d21e
+    158bdf1653442add.81137ef6f768f6f9.fb2cb043a1ea628a.905ec5dea458edfd
+    bffe58cf360e07b2.1aa737c47fb65e96.6d0a790f93b4a3c3.6373642a86a1d21e
+    fed94f512c89636a.53706426fcb6d2c9.80600cb6e574e912.a58525b34c9eb682
+    44581cab0d45dc80
+
+VPERMPD_0xB5(reg)
+  before
+    c266923c3da97e35.f83d525d7e558c35.75f7fbfdc26b8e8d.82ff078ef8398c19
+    79fc83d27857d84e.c4868144e3f70ee9.e41f4fe383e2241e.2a5c300bd00e6a34
+    c664ecd959da2577.3f7e58f1787ca5b2.fb345d44dea9d02a.5243041789003f8c
+    05eac7bd7cbea25b.45f2535058ef0cbb.16821f8d6c4bce5b.d780fd9f401bc750
+    95de99901169bdaa
+  after
+    3f7e58f1787ca5b2.c664ecd959da2577.fb345d44dea9d02a.fb345d44dea9d02a
+    79fc83d27857d84e.c4868144e3f70ee9.e41f4fe383e2241e.2a5c300bd00e6a34
+    c664ecd959da2577.3f7e58f1787ca5b2.fb345d44dea9d02a.5243041789003f8c
+    05eac7bd7cbea25b.45f2535058ef0cbb.16821f8d6c4bce5b.d780fd9f401bc750
+    95de99901169bdaa
+VPERMPD_0xB5(mem)
+  before
+    682a53d417f8dec6.93dc12ea7e908ba7.b2aeef4d9f5c0131.90559328cc55595d
+    2c31a8596ed3e6d2.ca85c8cdfadb1b06.627ea6d46bcf3e3f.c7f9b4829752aedd
+    bdbd1209330791f7.0730e6d18d2b9025.312df6d1d5557f12.16b97f086bce0987
+    f79a0fd2819f9a64.a62a6661d30d24b0.fb895a30fbfa82d6.d8e3ee24e455a606
+    6bc1ff449d74c007
+  after
+    682a53d417f8dec6.93dc12ea7e908ba7.b2aeef4d9f5c0131.90559328cc55595d
+    2c31a8596ed3e6d2.ca85c8cdfadb1b06.627ea6d46bcf3e3f.c7f9b4829752aedd
+    b2aeef4d9f5c0131.90559328cc55595d.93dc12ea7e908ba7.93dc12ea7e908ba7
+    f79a0fd2819f9a64.a62a6661d30d24b0.fb895a30fbfa82d6.d8e3ee24e455a606
+    6bc1ff449d74c007
+
+VPERMPD_0xB5(reg)
+  before
+    2aa0add332b69436.b6961a9f75a7be43.03bf46eb660c1352.9c5c4fddf9c801b6
+    70ccf43d40a85e3e.d67caf5c2a2cb8c0.7a3b81dae5b59bb8.f0734fc5eacdb8df
+    9b90d0ee63d559cc.33174bf5bd394609.67ea149ae992f68d.d39ad8d2ea14657c
+    053a3e5236c9c28b.a934685649da2247.2618f9971131607e.219d65f216aac2ba
+    b64773108a9a8cc5
+  after
+    33174bf5bd394609.9b90d0ee63d559cc.67ea149ae992f68d.67ea149ae992f68d
+    70ccf43d40a85e3e.d67caf5c2a2cb8c0.7a3b81dae5b59bb8.f0734fc5eacdb8df
+    9b90d0ee63d559cc.33174bf5bd394609.67ea149ae992f68d.d39ad8d2ea14657c
+    053a3e5236c9c28b.a934685649da2247.2618f9971131607e.219d65f216aac2ba
+    b64773108a9a8cc5
+VPERMPD_0xB5(mem)
+  before
+    6d667c1861f07fc8.0b1439d55511d528.139f846ceb1c09a9.13102e3df61e1737
+    24c4fef6b7b956f0.0a6cbde35d38ce4e.4f241a21be0ab659.8a20aef836e45563
+    b62e7496a900ce68.5c8cc6e9eacae8aa.388fa662dfb0e683.e79275346d0f57af
+    ff705ae452d2a35d.5fc15051965460e8.aaaba51c691b5554.86b37f5e362b59c6
+    c2cfc9e02ec59655
+  after
+    6d667c1861f07fc8.0b1439d55511d528.139f846ceb1c09a9.13102e3df61e1737
+    24c4fef6b7b956f0.0a6cbde35d38ce4e.4f241a21be0ab659.8a20aef836e45563
+    139f846ceb1c09a9.13102e3df61e1737.0b1439d55511d528.0b1439d55511d528
+    ff705ae452d2a35d.5fc15051965460e8.aaaba51c691b5554.86b37f5e362b59c6
+    c2cfc9e02ec59655
+
+VPERMPD_0xB5(reg)
+  before
+    f9314d28f0684b08.da562ccccf3991fb.6d565889006172b3.8046923a7856bff8
+    862709a118a1b48a.25ac673a3b43536d.e399d9fbc17d59b8.982ae9a7296ddf9a
+    c5fbf9b643fb0d88.bb3d861ab3fca6df.1dd4cf15783553a2.cd242651986d7367
+    11fa17d50d0291ad.77d70559526e467f.78553642be14991f.fa00c523e061348b
+    fd8a43091d55e131
+  after
+    bb3d861ab3fca6df.c5fbf9b643fb0d88.1dd4cf15783553a2.1dd4cf15783553a2
+    862709a118a1b48a.25ac673a3b43536d.e399d9fbc17d59b8.982ae9a7296ddf9a
+    c5fbf9b643fb0d88.bb3d861ab3fca6df.1dd4cf15783553a2.cd242651986d7367
+    11fa17d50d0291ad.77d70559526e467f.78553642be14991f.fa00c523e061348b
+    fd8a43091d55e131
+VPERMPD_0xB5(mem)
+  before
+    b08e1bef6c563485.c870616910427da6.374460e135a7ee77.4e660bee31a66ad8
+    f1d7c9c2e86feab5.45a9d2deeb480d1e.d55113a077b35bf3.fc5449856d78007b
+    9a32c96caeadbfeb.e3f166a038a07cc2.2fca9b81349d4920.de6bec730d1599b4
+    896c98dad91a6e53.0094191c93d4073e.1f7b73708971742a.50f6f024ae096e2f
+    ae435104ebe1be97
+  after
+    b08e1bef6c563485.c870616910427da6.374460e135a7ee77.4e660bee31a66ad8
+    f1d7c9c2e86feab5.45a9d2deeb480d1e.d55113a077b35bf3.fc5449856d78007b
+    374460e135a7ee77.4e660bee31a66ad8.c870616910427da6.c870616910427da6
+    896c98dad91a6e53.0094191c93d4073e.1f7b73708971742a.50f6f024ae096e2f
+    ae435104ebe1be97
+
+VPERMPD_0x85(reg)
+  before
+    549c0c806028c398.984fb0f986c5b51a.f6dde8bc9972ea3d.832f1759923b973c
+    9e4e1c02aa6bbadf.a5a78fb3d0b74d6c.2319cdede505606c.35b403286a086f83
+    e8a57df86534df18.8a42b0f6d4fef574.e194c61c141aa777.12d4b4c92de3b82a
+    8eed2bcc2c126dee.24eb90adada5675f.8e9acfb3c13cf909.f75ca528f8d92d5e
+    be185231e7f58b4b
+  after
+    8a42b0f6d4fef574.12d4b4c92de3b82a.e194c61c141aa777.e194c61c141aa777
+    9e4e1c02aa6bbadf.a5a78fb3d0b74d6c.2319cdede505606c.35b403286a086f83
+    e8a57df86534df18.8a42b0f6d4fef574.e194c61c141aa777.12d4b4c92de3b82a
+    8eed2bcc2c126dee.24eb90adada5675f.8e9acfb3c13cf909.f75ca528f8d92d5e
+    be185231e7f58b4b
+VPERMPD_0x85(mem)
+  before
+    44d437d115438e1c.ec7223ec9b8ea10e.4f6da9c478b96058.8477e22088f793cf
+    655bd0f29ecff2fe.5e7f5fc34f36b724.e895792750449c8c.2177fdce06d8b074
+    fe7b9a829fa6721d.4062ddbde395eadb.c92f7bc25255d727.bfe51a29d76a8da5
+    e9fe106c33d3cba4.ee659846f43778e0.cf072b8199f5cc54.bb0f379d9639660d
+    723f5096e0d27759
+  after
+    44d437d115438e1c.ec7223ec9b8ea10e.4f6da9c478b96058.8477e22088f793cf
+    655bd0f29ecff2fe.5e7f5fc34f36b724.e895792750449c8c.2177fdce06d8b074
+    44d437d115438e1c.4f6da9c478b96058.44d437d115438e1c.8477e22088f793cf
+    e9fe106c33d3cba4.ee659846f43778e0.cf072b8199f5cc54.bb0f379d9639660d
+    723f5096e0d27759
+
+VPERMPD_0x85(reg)
+  before
+    3ec25f8050c0fb35.03b1ae9b7763b9bf.c3d58dca1da99bde.d6e9065041323840
+    7ce462c7828f2f4c.2860f0fd8661f79b.1dfeb6b5fb778f82.baa1871b6717d617
+    88f054d813cc4f4b.34d7537d7dd94364.572c1174292b9278.58fa29cf27b16404
+    be34311d9e0296dd.03e2510777d85746.ccab99714453de6b.8ac16b569b0b9c33
+    2dc3c69ee2313bd1
+  after
+    34d7537d7dd94364.58fa29cf27b16404.572c1174292b9278.572c1174292b9278
+    7ce462c7828f2f4c.2860f0fd8661f79b.1dfeb6b5fb778f82.baa1871b6717d617
+    88f054d813cc4f4b.34d7537d7dd94364.572c1174292b9278.58fa29cf27b16404
+    be34311d9e0296dd.03e2510777d85746.ccab99714453de6b.8ac16b569b0b9c33
+    2dc3c69ee2313bd1
+VPERMPD_0x85(mem)
+  before
+    1dcab7921630fc0a.7bfaf504c0bd41af.714d68879068ef6c.dac64b1ae77ab008
+    36a2bb1d53139c0a.19909df7158a8c6d.5ae313eae598c902.dcca21d9ae2d43fa
+    54194d2db6e6d7fb.f540246437f4b3c2.9a71cf1a92719f35.2d04191c36f7d4ee
+    52fae9ad5ab5690c.6b5786b6c587f15b.0dc31604b2012d31.2bbe2e4e1b649f8f
+    30445cdbf800e08a
+  after
+    1dcab7921630fc0a.7bfaf504c0bd41af.714d68879068ef6c.dac64b1ae77ab008
+    36a2bb1d53139c0a.19909df7158a8c6d.5ae313eae598c902.dcca21d9ae2d43fa
+    1dcab7921630fc0a.714d68879068ef6c.1dcab7921630fc0a.dac64b1ae77ab008
+    52fae9ad5ab5690c.6b5786b6c587f15b.0dc31604b2012d31.2bbe2e4e1b649f8f
+    30445cdbf800e08a
+
+VPERMPD_0x85(reg)
+  before
+    9ae49f2f6958d38b.0e100c895c8d0d67.d720bf5958d083e3.8fa5669562543122
+    c3e9f4b60bf8b33d.632831add77a8039.95e9ccb98f5aa507.fce33ab8bc746533
+    099e56dc7a6abd4d.2d0ed306e8867ead.01fda74203b29373.30490e58df6f8690
+    c650c10d513c2c67.488e717eaabfc3f0.77a74e60526388d2.07a25f63e5515066
+    5cbca8c4ea247ee1
+  after
+    2d0ed306e8867ead.30490e58df6f8690.01fda74203b29373.01fda74203b29373
+    c3e9f4b60bf8b33d.632831add77a8039.95e9ccb98f5aa507.fce33ab8bc746533
+    099e56dc7a6abd4d.2d0ed306e8867ead.01fda74203b29373.30490e58df6f8690
+    c650c10d513c2c67.488e717eaabfc3f0.77a74e60526388d2.07a25f63e5515066
+    5cbca8c4ea247ee1
+VPERMPD_0x85(mem)
+  before
+    0d6165670bf6cd2c.584b31b52cfa3d36.9074840339310a2e.5334bc8018f9c1d1
+    f55e123863d3f974.19dba241a82e2c66.e08b897fb2e61092.f0f0ee0cf000791b
+    ef7f2b230fc5bee5.664c111b606635a5.16a1fde031ec9149.ac27de727705ee5d
+    d98f2d152adad7aa.9bea79b1f12e949d.0d805b11d14f487e.e2248a1c48935a43
+    ee35ed78ff37fa78
+  after
+    0d6165670bf6cd2c.584b31b52cfa3d36.9074840339310a2e.5334bc8018f9c1d1
+    f55e123863d3f974.19dba241a82e2c66.e08b897fb2e61092.f0f0ee0cf000791b
+    0d6165670bf6cd2c.9074840339310a2e.0d6165670bf6cd2c.5334bc8018f9c1d1
+    d98f2d152adad7aa.9bea79b1f12e949d.0d805b11d14f487e.e2248a1c48935a43
+    ee35ed78ff37fa78
+
+VPERMPD_0x29(reg)
+  before
+    2ca403f1397c09a9.8e5c92f8d11e01f0.1500d66ef61084fa.a0f51ffdae1af25e
+    f7bfc9f291eec581.e9b0d8ba1f9cf8e2.2edb24be0c9a4269.adccc692e5594b14
+    add039e9a41968ad.c8587b45316077ad.43c8600dce580996.0ed1cabb92180fce
+    a92451420e8a2ed8.0520f58722763b7c.b01085c7d8d4172c.a1d0a964d064f9b5
+    4094de7abb48c6f7
+  after
+    0ed1cabb92180fce.c8587b45316077ad.c8587b45316077ad.43c8600dce580996
+    f7bfc9f291eec581.e9b0d8ba1f9cf8e2.2edb24be0c9a4269.adccc692e5594b14
+    add039e9a41968ad.c8587b45316077ad.43c8600dce580996.0ed1cabb92180fce
+    a92451420e8a2ed8.0520f58722763b7c.b01085c7d8d4172c.a1d0a964d064f9b5
+    4094de7abb48c6f7
+VPERMPD_0x29(mem)
+  before
+    c9eae5e770d032c0.46060c676acc55af.7ed4c46a0feb007c.d1028f58c89ca6d8
+    169f3b980a09f83c.e2c467c5546c17de.0d4063dc13ca82d9.02e97a2c373cf345
+    057d5b7aa6fed596.d7a85cc869f5b110.90304ec84a1f7cbe.9f1042afc33f3920
+    7050c1775fbc85fb.8300e9dd44f35ef2.e16f011ad1f7ab58.05c5e44e0831b515
+    8e525b73a19ea3cf
+  after
+    c9eae5e770d032c0.46060c676acc55af.7ed4c46a0feb007c.d1028f58c89ca6d8
+    169f3b980a09f83c.e2c467c5546c17de.0d4063dc13ca82d9.02e97a2c373cf345
+    46060c676acc55af.7ed4c46a0feb007c.d1028f58c89ca6d8.46060c676acc55af
+    7050c1775fbc85fb.8300e9dd44f35ef2.e16f011ad1f7ab58.05c5e44e0831b515
+    8e525b73a19ea3cf
+
+VPERMPD_0x29(reg)
+  before
+    9604a38c2a133ffb.34e6e97d524ec496.4016096e82f35c30.ddcaf9bec45dcbd3
+    7b27b803401bc444.2e0a4f779ac04d94.6c37b8e9be80e575.610db0a13d5e975a
+    980797467e426f57.38877051541edd20.61aef3b99426356d.4704a4ad5b05cc19
+    49ef3ac081157cdf.2f2ac7f79b753067.7cc9b449a1728ac6.6c7b51cf385e263e
+    ad3e31f4f07561f2
+  after
+    4704a4ad5b05cc19.38877051541edd20.38877051541edd20.61aef3b99426356d
+    7b27b803401bc444.2e0a4f779ac04d94.6c37b8e9be80e575.610db0a13d5e975a
+    980797467e426f57.38877051541edd20.61aef3b99426356d.4704a4ad5b05cc19
+    49ef3ac081157cdf.2f2ac7f79b753067.7cc9b449a1728ac6.6c7b51cf385e263e
+    ad3e31f4f07561f2
+VPERMPD_0x29(mem)
+  before
+    e418c206a0573864.ea2d9fdde41f278a.f0bfd0558bd00195.1ad3f90781ef1e2a
+    eed77ef3630f68be.d70bc20944edab01.55120757413c0dd5.9517bd5ecf292e45
+    a745e4a656aaad2c.6cd69db03c0a45f3.3befe8e9d9c41054.4ae2fcba28adf5c4
+    eb2f6d0b9433c2dc.04da2e3e6902300a.7e22f0f76e74c63d.9680b3882706b153
+    d33ddd3268c09c9d
+  after
+    e418c206a0573864.ea2d9fdde41f278a.f0bfd0558bd00195.1ad3f90781ef1e2a
+    eed77ef3630f68be.d70bc20944edab01.55120757413c0dd5.9517bd5ecf292e45
+    ea2d9fdde41f278a.f0bfd0558bd00195.1ad3f90781ef1e2a.ea2d9fdde41f278a
+    eb2f6d0b9433c2dc.04da2e3e6902300a.7e22f0f76e74c63d.9680b3882706b153
+    d33ddd3268c09c9d
+
+VPERMPD_0x29(reg)
+  before
+    5e6576258868f24f.9661960e3ab665f7.fd636f206661aaf2.fa769a6e1c58eabd
+    93437ace2289f114.84a7dc9b634050ac.b2bc5ec0d0b4ed58.8bb86238007d3900
+    ce25e597d3afd399.91ccba9e2cdc3f25.7e33f78c428736e8.0db5c44336ef6f31
+    6c55b4ee3667d58a.999eac03b096f08e.bf1234ee5964c04d.5c373d7ad8b8487d
+    540a48c805e67f0f
+  after
+    0db5c44336ef6f31.91ccba9e2cdc3f25.91ccba9e2cdc3f25.7e33f78c428736e8
+    93437ace2289f114.84a7dc9b634050ac.b2bc5ec0d0b4ed58.8bb86238007d3900
+    ce25e597d3afd399.91ccba9e2cdc3f25.7e33f78c428736e8.0db5c44336ef6f31
+    6c55b4ee3667d58a.999eac03b096f08e.bf1234ee5964c04d.5c373d7ad8b8487d
+    540a48c805e67f0f
+VPERMPD_0x29(mem)
+  before
+    d1fc611bd784d114.c720e23ee83c3392.78e72fb70b7b1d15.d0a61354b0d9c934
+    afd8045e6a9ff9b8.3cd26bf285ba285e.0a74bda45a9582e3.0c3b8f29e3718b49
+    ca69ad7dda42b526.27b74b78a76ef199.2b11d4b8b9f3dd27.d11da4d88fb94237
+    fe7cd9654579bf8b.e41a7e3bece3caf0.b78aefdd439ee80b.79984ecf503c2cab
+    62f78a7ac1868350
+  after
+    d1fc611bd784d114.c720e23ee83c3392.78e72fb70b7b1d15.d0a61354b0d9c934
+    afd8045e6a9ff9b8.3cd26bf285ba285e.0a74bda45a9582e3.0c3b8f29e3718b49
+    c720e23ee83c3392.78e72fb70b7b1d15.d0a61354b0d9c934.c720e23ee83c3392
+    fe7cd9654579bf8b.e41a7e3bece3caf0.b78aefdd439ee80b.79984ecf503c2cab
+    62f78a7ac1868350
+
+VPBLENDD_128_0x00(reg)
+  before
+    e68853437e2484d3.27dd0300c451d412.cf4901a7f0a6ee0f.8aaa8a0114a460bb
+    6295a59724a16adf.2058a73b75d5afe8.448ecf294e419ba1.803f220f49110164
+    336b7ce24e897321.c7b9410374110d39.9e36e42ba3430b53.741332f3fdef8632
+    b356d4919969d945.f7cb4e42dc12aa30.3b8d3c1a8a357ad0.44f335994d4cac51
+    cbabaaed54342feb
+  after
+    0000000000000000.0000000000000000.448ecf294e419ba1.803f220f49110164
+    6295a59724a16adf.2058a73b75d5afe8.448ecf294e419ba1.803f220f49110164
+    336b7ce24e897321.c7b9410374110d39.9e36e42ba3430b53.741332f3fdef8632
+    b356d4919969d945.f7cb4e42dc12aa30.3b8d3c1a8a357ad0.44f335994d4cac51
+    cbabaaed54342feb
+VPBLENDD_128_0x00(mem)
+  before
+    e4070adb2fb2cb2f.3fa2aa0ea0ccd8f6.8b5c48e6cae342f9.76dfd463a0a526c5
+    6dd3d34ff9d23b47.349af9c7003eaee1.6136adda599090c2.ab78a770801e49de
+    41da7f36cfa03c60.ec8cbd27544c95b1.5426f909a52652b5.36a3b1afc62d20c6
+    3bea8c7acc298aa5.c4c2f39a3981ca13.3ff8a661cbb041fe.72aeee8b0f5ce629
+    bde35a70f63ad8b5
+  after
+    e4070adb2fb2cb2f.3fa2aa0ea0ccd8f6.8b5c48e6cae342f9.76dfd463a0a526c5
+    6dd3d34ff9d23b47.349af9c7003eaee1.6136adda599090c2.ab78a770801e49de
+    0000000000000000.0000000000000000.6136adda599090c2.ab78a770a0a526c5
+    3bea8c7acc298aa5.c4c2f39a3981ca13.3ff8a661cbb041fe.72aeee8b0f5ce629
+    bde35a70f63ad8b5
+
+VPBLENDD_128_0x00(reg)
+  before
+    728ff2ca18503214.39cd76090d78e043.1889958b4a6989b3.007832cde73b1cca
+    ecfeb105112c30f2.1550b7cdad99fb65.452da16824910d3c.7172173913d19d45
+    897c938d7b590dfc.ad3fcdb4c9999739.a5fa129d6284935b.70b1d4926e81819a
+    a45494cef56407de.db6633a97c8370e8.953ce494a1ce57bb.d702e2c2125484f6
+    8432beb61b586185
+  after
+    0000000000000000.0000000000000000.452da16824910d3c.7172173913d19d45
+    ecfeb105112c30f2.1550b7cdad99fb65.452da16824910d3c.7172173913d19d45
+    897c938d7b590dfc.ad3fcdb4c9999739.a5fa129d6284935b.70b1d4926e81819a
+    a45494cef56407de.db6633a97c8370e8.953ce494a1ce57bb.d702e2c2125484f6
+    8432beb61b586185
+VPBLENDD_128_0x00(mem)
+  before
+    510be55ba698d672.98d4b13519d85743.7d906598e26441a1.713e13ba7cfc9409
+    1c5ad29bce209ce9.c346e52c83413cd8.6d8bdf6d1846c78d.954e9c7b8f9987f1
+    bfea0164b0fd7218.7ff72c21cf2cf049.88211e143a37bedb.5db67a4477316c1e
+    1789eea1673a1228.2933827e9b24b041.ab1f9c796343e1b5.25c3a97fcf517f3d
+    49c1259a3484fbf9
+  after
+    510be55ba698d672.98d4b13519d85743.7d906598e26441a1.713e13ba7cfc9409
+    1c5ad29bce209ce9.c346e52c83413cd8.6d8bdf6d1846c78d.954e9c7b8f9987f1
+    0000000000000000.0000000000000000.6d8bdf6d1846c78d.954e9c7b7cfc9409
+    1789eea1673a1228.2933827e9b24b041.ab1f9c796343e1b5.25c3a97fcf517f3d
+    49c1259a3484fbf9
+
+VPBLENDD_128_0x00(reg)
+  before
+    25fbeb0042571dff.0101163e0fe43948.1e46e3b180b5b86c.b051d789af75ed48
+    14bff61d945521fb.571ff427c506a3a2.b87b4c251c6c4378.74834a2e3bd99ebf
+    7457425dc60a4398.f6af0448a5ac0c63.5520b8460bd48f0f.d4807255227cb047
+    a011cb2c7502be83.ba7dc28dcae22fb6.4f7f2380e879d5dd.aa16caeb8168de0b
+    d30fcddb73ace538
+  after
+    0000000000000000.0000000000000000.b87b4c251c6c4378.74834a2e3bd99ebf
+    14bff61d945521fb.571ff427c506a3a2.b87b4c251c6c4378.74834a2e3bd99ebf
+    7457425dc60a4398.f6af0448a5ac0c63.5520b8460bd48f0f.d4807255227cb047
+    a011cb2c7502be83.ba7dc28dcae22fb6.4f7f2380e879d5dd.aa16caeb8168de0b
+    d30fcddb73ace538
+VPBLENDD_128_0x00(mem)
+  before
+    2b38f911155181fa.f4378df63ccacf67.7f55abe251b5c9c8.03e5893f4fe8548f
+    8e5eca7882656d7c.cc168527b8edb2f1.22033933553195c4.ce9ee7efddac46d1
+    d84abafed7f367eb.83faae2b84f8a2cd.7d52ea6df26051d7.0af637fc2e51e84e
+    e5cb478e2f082972.772e046f3c76dca6.6d10397a4550b72d.143977d2dd6476b3
+    48b3a2de86702cab
+  after
+    2b38f911155181fa.f4378df63ccacf67.7f55abe251b5c9c8.03e5893f4fe8548f
+    8e5eca7882656d7c.cc168527b8edb2f1.22033933553195c4.ce9ee7efddac46d1
+    0000000000000000.0000000000000000.22033933553195c4.ce9ee7ef4fe8548f
+    e5cb478e2f082972.772e046f3c76dca6.6d10397a4550b72d.143977d2dd6476b3
+    48b3a2de86702cab
+
+VPBLENDD_128_0x02(reg)
+  before
+    02afb58bc60145e3.91acec15a7af6f3e.0300835d7ef39c29.ce07a348690c84f1
+    9e7aaa4438a4fe07.b8b8257d5af4f77b.82ba2763e3fb1e01.7c04a2c27ba17350
+    78607f7779e492c2.36bc6eb364e47b54.52a9edec091b9ddb.53d2b4d4961a4175
+    ecad2f8f244d3fc1.e78444a4e28ab7f6.cd19d0638cdf5662.2f3f5469d783aa8d
+    ec16fe6f59e96ac3
+  after
+    0000000000000000.0000000000000000.82ba2763e3fb1e01.53d2b4d47ba17350
+    9e7aaa4438a4fe07.b8b8257d5af4f77b.82ba2763e3fb1e01.7c04a2c27ba17350
+    78607f7779e492c2.36bc6eb364e47b54.52a9edec091b9ddb.53d2b4d4961a4175
+    ecad2f8f244d3fc1.e78444a4e28ab7f6.cd19d0638cdf5662.2f3f5469d783aa8d
+    ec16fe6f59e96ac3
+VPBLENDD_128_0x02(mem)
+  before
+    65222fd139573c45.56adb6f8d66c3faf.a7dc223af0f2698c.5156cc3607d18543
+    7830617c92d9dd3c.12ac111e2acccf39.52908463a9294b43.38acded0167f652a
+    000c125a817c09d7.7cf53b6dbdfa2a0b.c46ce60a293a1a47.e066009d567433c2
+    d982bd58214b7c40.f0d52f512a808dd0.d93bc51a8d3192c3.a3d2300a633d2bb8
+    df3a6981d76589b8
+  after
+    65222fd139573c45.56adb6f8d66c3faf.a7dc223af0f2698c.5156cc3607d18543
+    7830617c92d9dd3c.12ac111e2acccf39.52908463a9294b43.38acded0167f652a
+    0000000000000000.0000000000000000.52908463a9294b43.5156cc3607d18543
+    d982bd58214b7c40.f0d52f512a808dd0.d93bc51a8d3192c3.a3d2300a633d2bb8
+    df3a6981d76589b8
+
+VPBLENDD_128_0x02(reg)
+  before
+    eeeba76f5178886d.df5edf638f52f1a3.ca99ec360eed3435.6ccb9b81f11b6ee3
+    2d31e7416b036583.ed6bf265e69e252d.668b6b8904ca5be5.5be6e62a6f036bd5
+    f9582361c1915ca8.e177744c423ad40a.20f7aab4a8a53d8d.8159210126f545c3
+    acab593df0aea885.964ce003c032b965.542ba325970917d9.b9f0c9f32ffeb8d9
+    e17658eaa9297f44
+  after
+    0000000000000000.0000000000000000.668b6b8904ca5be5.815921016f036bd5
+    2d31e7416b036583.ed6bf265e69e252d.668b6b8904ca5be5.5be6e62a6f036bd5
+    f9582361c1915ca8.e177744c423ad40a.20f7aab4a8a53d8d.8159210126f545c3
+    acab593df0aea885.964ce003c032b965.542ba325970917d9.b9f0c9f32ffeb8d9
+    e17658eaa9297f44
+VPBLENDD_128_0x02(mem)
+  before
+    d4b94cd3ad825730.a378844093e786c9.e7b7b2767c93916b.5d7254476d822574
+    6d83209b5a16fcc8.3a09a1d547c7321e.b284669091681848.9917b985c59da30a
+    8aa1502cc9f02939.ceabaa6aa7dae831.d17f793f1bbd0927.6367cc4d3be6cc49
+    05df5974181c9baf.b9aa9d6a4fade3ad.2274666f379f2235.17ae8b0a6ce7dddb
+    1038f128f42e126c
+  after
+    d4b94cd3ad825730.a378844093e786c9.e7b7b2767c93916b.5d7254476d822574
+    6d83209b5a16fcc8.3a09a1d547c7321e.b284669091681848.9917b985c59da30a
+    0000000000000000.0000000000000000.b284669091681848.5d7254476d822574
+    05df5974181c9baf.b9aa9d6a4fade3ad.2274666f379f2235.17ae8b0a6ce7dddb
+    1038f128f42e126c
+
+VPBLENDD_128_0x02(reg)
+  before
+    ac51fa136d46a6a9.bc09b65e63a70e55.58527541dccb603f.802ea90a00191d9d
+    4544a23876bcd63e.89ebe2d6c59c3e57.07ef2e5ceac19b92.c67abefd9338b68c
+    395fe501a81bded6.4a515cc75a08e6e3.22ccc5251419cf53.d12522340c06ab2d
+    e2ecc0dba2effa1e.d9069d1f3ff5c323.05363409f6613a2e.7ef94f9c8592b6ad
+    a7c3c3201de59438
+  after
+    0000000000000000.0000000000000000.07ef2e5ceac19b92.d12522349338b68c
+    4544a23876bcd63e.89ebe2d6c59c3e57.07ef2e5ceac19b92.c67abefd9338b68c
+    395fe501a81bded6.4a515cc75a08e6e3.22ccc5251419cf53.d12522340c06ab2d
+    e2ecc0dba2effa1e.d9069d1f3ff5c323.05363409f6613a2e.7ef94f9c8592b6ad
+    a7c3c3201de59438
+VPBLENDD_128_0x02(mem)
+  before
+    2a4ef9abed0d01f9.9e382e33fdc565c2.14d722ca90729143.0c7a79752d2516ce
+    e1686e2b1315b81d.c78f2b7358285c6d.d59168b268880b70.93e28fd355f09fe0
+    a9db9c8bab0a76d0.bb3db4094ca41bcb.f9feeac4e345eed6.f6ba7291094e130f
+    5e7401b7d0f6f73d.d48ec36077c5dd8a.5cea24ed1eb4f6a0.91501f1ae5cbac08
+    c0ef91da86f4a776
+  after
+    2a4ef9abed0d01f9.9e382e33fdc565c2.14d722ca90729143.0c7a79752d2516ce
+    e1686e2b1315b81d.c78f2b7358285c6d.d59168b268880b70.93e28fd355f09fe0
+    0000000000000000.0000000000000000.d59168b268880b70.0c7a79752d2516ce
+    5e7401b7d0f6f73d.d48ec36077c5dd8a.5cea24ed1eb4f6a0.91501f1ae5cbac08
+    c0ef91da86f4a776
+
+VPBLENDD_128_0x04(reg)
+  before
+    dfe2c43d87543f07.ddff189b9fe8f690.6fcd56e47518df54.db23931734e2dffb
+    4976b4af8578b164.00485e2333e930f6.e9476801e1295dd5.5073b13042da6412
+    5cf85d9c1beb393c.a41b4d3ba807619b.9c49f623578293ba.98a8fc2264a84212
+    73b2bc70e6391339.a54463d01b4d45ab.e51dfab674b1bcaf.8f8cefdbb4583527
+    11ec074650f7f87c
+  after
+    0000000000000000.0000000000000000.e9476801578293ba.5073b13042da6412
+    4976b4af8578b164.00485e2333e930f6.e9476801e1295dd5.5073b13042da6412
+    5cf85d9c1beb393c.a41b4d3ba807619b.9c49f623578293ba.98a8fc2264a84212
+    73b2bc70e6391339.a54463d01b4d45ab.e51dfab674b1bcaf.8f8cefdbb4583527
+    11ec074650f7f87c
+VPBLENDD_128_0x04(mem)
+  before
+    fa94be4f5490493e.eaf0cc9781ee7a07.df8e1bcca8c89751.21107226d442155f
+    265092e2db30e298.1c00897e8997ab53.2ec7f11c6a8314b9.aa6d59e012c0da77
+    71ebfeeb02e27fb7.672cef8f99bfe2c9.6eb961ad7d8a7810.dd82ab4ecab746a2
+    b7337e56e4b2dec7.26c2fa384ef35b14.7b31e86afeea7f82.169964de99b3978d
+    b1ff81fa1a4107e4
+  after
+    fa94be4f5490493e.eaf0cc9781ee7a07.df8e1bcca8c89751.21107226d442155f
+    265092e2db30e298.1c00897e8997ab53.2ec7f11c6a8314b9.aa6d59e012c0da77
+    0000000000000000.0000000000000000.2ec7f11ca8c89751.aa6d59e0d442155f
+    b7337e56e4b2dec7.26c2fa384ef35b14.7b31e86afeea7f82.169964de99b3978d
+    b1ff81fa1a4107e4
+
+VPBLENDD_128_0x04(reg)
+  before
+    0a01fd10eaecd252.d4f28e109eadb9f3.b40ca7e343be51e1.31fb003f08ade43b
+    7de8d48ba4403684.a4f5ab034bdecc68.6f57f1fe14ac01dc.6ce22718b8e26466
+    660302d7e5ca6d25.0308501d0751d551.b1efd4f45e4aa7b0.08b4d9e02992ba2f
+    219d84604815b3e2.cdf7f948ef138edb.d81f4d31bd237e09.e13b908678cba4c3
+    d344caf3c099dc4e
+  after
+    0000000000000000.0000000000000000.6f57f1fe5e4aa7b0.6ce22718b8e26466
+    7de8d48ba4403684.a4f5ab034bdecc68.6f57f1fe14ac01dc.6ce22718b8e26466
+    660302d7e5ca6d25.0308501d0751d551.b1efd4f45e4aa7b0.08b4d9e02992ba2f
+    219d84604815b3e2.cdf7f948ef138edb.d81f4d31bd237e09.e13b908678cba4c3
+    d344caf3c099dc4e
+VPBLENDD_128_0x04(mem)
+  before
+    ba9b02141e061ffb.0a0154926aad4667.de8d22721e2fb432.3e355621ccc3c395
+    710cb4d5ad2028f7.7d7d70d9e61f605f.12984886b1b10381.417bed3027b6b2fe
+    d6635c2389f3b46e.d65bd3a259f63e77.44e2e570c4a636f5.3b3f0dcb6b8987f0
+    c46c76e8d0897f8b.71e87a575ebf1c5a.5238771c72190ab9.89cbb25c33c87d18
+    886cd9501cfdd122
+  after
+    ba9b02141e061ffb.0a0154926aad4667.de8d22721e2fb432.3e355621ccc3c395
+    710cb4d5ad2028f7.7d7d70d9e61f605f.12984886b1b10381.417bed3027b6b2fe
+    0000000000000000.0000000000000000.129848861e2fb432.417bed30ccc3c395
+    c46c76e8d0897f8b.71e87a575ebf1c5a.5238771c72190ab9.89cbb25c33c87d18
+    886cd9501cfdd122
+
+VPBLENDD_128_0x04(reg)
+  before
+    926d7c14c1b6bfb9.17f27f129bf0457b.aa705f66910535b5.17667976d7163bfa
+    041c9913bf7f828a.aac2f28c0834c169.dc3e80398f54c634.6f38686a10aa85e3
+    3bc32bb8b1e25840.5ba84b423360b182.65a0d83ef4380b82.357abee438e0a3a2
+    91b02f71346d7a88.047007203680cef2.a0e063e05b3e404b.47f7f9d16cc45260
+    7f7d941bc7634e4c
+  after
+    0000000000000000.0000000000000000.dc3e8039f4380b82.6f38686a10aa85e3
+    041c9913bf7f828a.aac2f28c0834c169.dc3e80398f54c634.6f38686a10aa85e3
+    3bc32bb8b1e25840.5ba84b423360b182.65a0d83ef4380b82.357abee438e0a3a2
+    91b02f71346d7a88.047007203680cef2.a0e063e05b3e404b.47f7f9d16cc45260
+    7f7d941bc7634e4c
+VPBLENDD_128_0x04(mem)
+  before
+    bbd60bb065c8528f.632d9fa9e3ac270e.83e6a01230a0d7e4.e94b1e8a60f1a03d
+    d5cfdb7a63001b58.0d8779cc5b2a997d.b3d694043bcd8684.9b2d03aaa0de6802
+    ab347e67dd1565d1.eb0ab84637730d82.6f0b5ee273129800.14d210acb690d346
+    17d17262ee15ec27.590158831313bfc8.95537b98f57bc982.af8640fa3f931fb6
+    c7959001d77486fe
+  after
+    bbd60bb065c8528f.632d9fa9e3ac270e.83e6a01230a0d7e4.e94b1e8a60f1a03d
+    d5cfdb7a63001b58.0d8779cc5b2a997d.b3d694043bcd8684.9b2d03aaa0de6802
+    0000000000000000.0000000000000000.b3d6940430a0d7e4.9b2d03aa60f1a03d
+    17d17262ee15ec27.590158831313bfc8.95537b98f57bc982.af8640fa3f931fb6
+    c7959001d77486fe
+
+VPBLENDD_128_0x06(reg)
+  before
+    ba4afa2d18be45c9.f7713257b30c6b85.b3ba56f08c97ebfc.ff786513dc15d436
+    e2f27ceba1fd97c4.25e23b3247059f18.557facf73e8accca.8a479a3d45eb7749
+    9dda11a50bbdba9b.7fee07dfc60c440b.9b9d5806c4789fdd.138c95044b0a6be7
+    454bb5c9f48be8f9.df62144a4d2d158b.e1605587baeea0e2.7412d2520b7c6f3b
+    8aa7cd15a0503d72
+  after
+    0000000000000000.0000000000000000.557facf7c4789fdd.138c950445eb7749
+    e2f27ceba1fd97c4.25e23b3247059f18.557facf73e8accca.8a479a3d45eb7749
+    9dda11a50bbdba9b.7fee07dfc60c440b.9b9d5806c4789fdd.138c95044b0a6be7
+    454bb5c9f48be8f9.df62144a4d2d158b.e1605587baeea0e2.7412d2520b7c6f3b
+    8aa7cd15a0503d72
+VPBLENDD_128_0x06(mem)
+  before
+    32150338278f92b7.389464c2f8f35d8a.220add60f775cfc4.8314a0e8bd770a84
+    4629efa7bb472a37.d0001bfbb27f57fc.24b2de0be1ef2ee1.dd05339469a01a70
+    a3b00d4e7883c11e.6adad5e2bfbd10f8.c225943927a8ee0f.4b7f0cf658f30c52
+    2573d9197b501297.63708ee2ba39c52d.d63179d4e3abca79.29cd267c29ff1bd5
+    d33c7d91764d85a6
+  after
+    32150338278f92b7.389464c2f8f35d8a.220add60f775cfc4.8314a0e8bd770a84
+    4629efa7bb472a37.d0001bfbb27f57fc.24b2de0be1ef2ee1.dd05339469a01a70
+    0000000000000000.0000000000000000.24b2de0bf775cfc4.8314a0e8bd770a84
+    2573d9197b501297.63708ee2ba39c52d.d63179d4e3abca79.29cd267c29ff1bd5
+    d33c7d91764d85a6
+
+VPBLENDD_128_0x06(reg)
+  before
+    a4180da2db6b8470.a941cff4e0b9dacf.150c42673f7db245.3da00bca34047f4c
+    faadd319f4e454e0.09e56cccc2cad4f1.ddfbeedeeb1712ed.d340c50633bfc9b4
+    3047ca635f4533a2.222a2b8b3d8fbe2a.17898cb15a9322d0.74db2374ffe963dc
+    a232eeedb5195b61.d0de881f6e1552a6.20021a4d277b1e9b.fc3da200b18e0bf1
+    4734bd9667b87b1f
+  after
+    0000000000000000.0000000000000000.ddfbeede5a9322d0.74db237433bfc9b4
+    faadd319f4e454e0.09e56cccc2cad4f1.ddfbeedeeb1712ed.d340c50633bfc9b4
+    3047ca635f4533a2.222a2b8b3d8fbe2a.17898cb15a9322d0.74db2374ffe963dc
+    a232eeedb5195b61.d0de881f6e1552a6.20021a4d277b1e9b.fc3da200b18e0bf1
+    4734bd9667b87b1f
+VPBLENDD_128_0x06(mem)
+  before
+    318bf0223d756f91.abb93b2194ec09c9.efcbff7271684d90.52b1941fee5d41f9
+    960db7904ed0a573.a92aae6d984a7888.5bbe0d7260926a15.0ae3f4914cc5c897
+    52878eccb7d6d7f2.f6cf413b5cc0e548.f0832d0a5aa16660.a4e53811dc3eef21
+    41c5f2c39392c13a.f0f5f2f97dd98cb5.8ae5db2679a0fd9e.7c015a0a3b54f242
+    ee8458e704930ca7
+  after
+    318bf0223d756f91.abb93b2194ec09c9.efcbff7271684d90.52b1941fee5d41f9
+    960db7904ed0a573.a92aae6d984a7888.5bbe0d7260926a15.0ae3f4914cc5c897
+    0000000000000000.0000000000000000.5bbe0d7271684d90.52b1941fee5d41f9
+    41c5f2c39392c13a.f0f5f2f97dd98cb5.8ae5db2679a0fd9e.7c015a0a3b54f242
+    ee8458e704930ca7
+
+VPBLENDD_128_0x06(reg)
+  before
+    56ba2e16d4887afb.3f935e5ffe102176.f2e8bc129622a97c.05b293b2d99cebfb
+    10eed60246be78eb.28bd4e8e155db1d3.57f39cf243267849.3db4d19a97a0eba2
+    786e4e17f7c14223.d80f3e3bf4842e7d.7d648c05217134c7.0db812caceb8bac0
+    ea8491c2821e134e.2b54aa52b691549f.be858ab7cb901aa3.538ad12e9af11480
+    eaf68ab21956b50f
+  after
+    0000000000000000.0000000000000000.57f39cf2217134c7.0db812ca97a0eba2
+    10eed60246be78eb.28bd4e8e155db1d3.57f39cf243267849.3db4d19a97a0eba2
+    786e4e17f7c14223.d80f3e3bf4842e7d.7d648c05217134c7.0db812caceb8bac0
+    ea8491c2821e134e.2b54aa52b691549f.be858ab7cb901aa3.538ad12e9af11480
+    eaf68ab21956b50f
+VPBLENDD_128_0x06(mem)
+  before
+    aec8b94364f35899.c27d9b6d84602819.fc5a0fbe7791de66.77a39174de0e6589
+    7accdbcb99d5ba49.5ca568859814bc2f.29ebe86d548f89fd.050a9da9f6775224
+    2ccd6b38d407974c.1348f5775ac50d3d.8dd4b14b68971191.c206abc0ad581d20
+    9f98e5753095aacd.45b23dae67ff55ee.04e1e742d0b6324e.0be3b627a23c022b
+    3dedb9486eaf3dee
+  after
+    aec8b94364f35899.c27d9b6d84602819.fc5a0fbe7791de66.77a39174de0e6589
+    7accdbcb99d5ba49.5ca568859814bc2f.29ebe86d548f89fd.050a9da9f6775224
+    0000000000000000.0000000000000000.29ebe86d7791de66.77a39174de0e6589
+    9f98e5753095aacd.45b23dae67ff55ee.04e1e742d0b6324e.0be3b627a23c022b
+    3dedb9486eaf3dee
+
+VPBLENDD_128_0x08(reg)
+  before
+    b26fb391b03e0918.aef9c56ec98cb0f9.4d2e3c955b4ed1f0.69dd043fa7f7a75f
+    c7b69d6d0174a353.37bc870fbcf765fb.8709ee9ad13fbcec.9a96862e0a662df0
+    d80f744800dd464b.15ada84425e38400.4e904f28655d5491.71d6e8fc1410802f
+    41c4358e460630ae.2398a3f91e5acb34.000d5cabb435d389.cc6aa693e2005b46
+    861e3de18f437b61
+  after
+    0000000000000000.0000000000000000.4e904f28d13fbcec.9a96862e0a662df0
+    c7b69d6d0174a353.37bc870fbcf765fb.8709ee9ad13fbcec.9a96862e0a662df0
+    d80f744800dd464b.15ada84425e38400.4e904f28655d5491.71d6e8fc1410802f
+    41c4358e460630ae.2398a3f91e5acb34.000d5cabb435d389.cc6aa693e2005b46
+    861e3de18f437b61
+VPBLENDD_128_0x08(mem)
+  before
+    7abe27d137e39cad.5f21dbab717a9b25.3f48f41ac66af4c2.f8cd108f59527580
+    8516e24ff7ef7a56.8c74620b1dc5c35f.438b1793371fbbd7.911b6740f1407823
+    84f2e947eb70d087.2508c71be574e606.0d2b88518d84de9f.29455d2a188c161e
+    511db9a52e745b6d.8628044565123ec6.77f5c43ee5a51745.1a95efba68c18c1c
+    c259175a806b15ca
+  after
+    7abe27d137e39cad.5f21dbab717a9b25.3f48f41ac66af4c2.f8cd108f59527580
+    8516e24ff7ef7a56.8c74620b1dc5c35f.438b1793371fbbd7.911b6740f1407823
+    0000000000000000.0000000000000000.3f48f41a371fbbd7.911b674059527580
+    511db9a52e745b6d.8628044565123ec6.77f5c43ee5a51745.1a95efba68c18c1c
+    c259175a806b15ca
+
+VPBLENDD_128_0x08(reg)
+  before
+    7bdbd378f916eed4.ca64cc55dc06d733.0b2117f63a2c084d.5eb546485a8e23f5
+    a3681f7e714f53e5.c994a0431232ff07.103ffb9b004c8044.9f368a59094cbedd
+    944cf5da84a280a9.2b77b05bec059012.f1cead9f5201e15a.14460d5f0deaa327
+    acd253f7cd99b1ce.cdd9788a848a4682.0a1a276dccd46839.9aaf494582758fff
+    0e3ebcf785f83e92
+  after
+    0000000000000000.0000000000000000.f1cead9f004c8044.9f368a59094cbedd
+    a3681f7e714f53e5.c994a0431232ff07.103ffb9b004c8044.9f368a59094cbedd
+    944cf5da84a280a9.2b77b05bec059012.f1cead9f5201e15a.14460d5f0deaa327
+    acd253f7cd99b1ce.cdd9788a848a4682.0a1a276dccd46839.9aaf494582758fff
+    0e3ebcf785f83e92
+VPBLENDD_128_0x08(mem)
+  before
+    4ac0e161327f6b0c.45483441e9c221fd.898874baf9cedd83.b66e67730b53518d
+    2bfe346fa416d398.bcf8942473a90de5.3c4f21d965dc1041.5318681caa09d803
+    8dc7320df8ca3263.6e2f6f0c07d8b030.c2f9fad2e4c09ce7.3c6226d446823847
+    4ce6552849a64498.b539c16542dd488b.f7537b9093873da1.cd999d077a4bae05
+    6209ca22e3f075e8
+  after
+    4ac0e161327f6b0c.45483441e9c221fd.898874baf9cedd83.b66e67730b53518d
+    2bfe346fa416d398.bcf8942473a90de5.3c4f21d965dc1041.5318681caa09d803
+    0000000000000000.0000000000000000.898874ba65dc1041.5318681c0b53518d
+    4ce6552849a64498.b539c16542dd488b.f7537b9093873da1.cd999d077a4bae05
+    6209ca22e3f075e8
+
+VPBLENDD_128_0x08(reg)
+  before
+    56fea88f1cfbcb9c.44261baab3b7c464.ee62879bc0440fa1.b72920018d3bae9d
+    07c333bbc2faeace.5155ff8153086ff3.75f6bc1a1c97411f.de476610efebad04
+    d0a6671370780f2a.4f3d7e9744a50170.a7405c4ff2641cb0.4979c8a9d4a0f405
+    0cf14101c202755b.1aab12daa39b3608.de8e64a5df37da01.d28ac2b858683fca
+    5648d02a984e4c7f
+  after
+    0000000000000000.0000000000000000.a7405c4f1c97411f.de476610efebad04
+    07c333bbc2faeace.5155ff8153086ff3.75f6bc1a1c97411f.de476610efebad04
+    d0a6671370780f2a.4f3d7e9744a50170.a7405c4ff2641cb0.4979c8a9d4a0f405
+    0cf14101c202755b.1aab12daa39b3608.de8e64a5df37da01.d28ac2b858683fca
+    5648d02a984e4c7f
+VPBLENDD_128_0x08(mem)
+  before
+    b07d6ee9b05fd551.19f1bbf356235a0e.8e6b39358bf5c9e6.772ace877e9ab8be
+    bef619e2bba6966c.51f2d354c567f8ef.87486e9419bf7737.ce6198636c1cf292
+    5b7f4c02d52f4dfc.12408490ad5a8ba9.e1102de36806fb27.3f7fbda44446c32a
+    63e483341b07b42c.b627cb13aa8951e8.788df30e95d513e1.26d039b6a3a66831
+    df9f090524c71d54
+  after
+    b07d6ee9b05fd551.19f1bbf356235a0e.8e6b39358bf5c9e6.772ace877e9ab8be
+    bef619e2bba6966c.51f2d354c567f8ef.87486e9419bf7737.ce6198636c1cf292
+    0000000000000000.0000000000000000.8e6b393519bf7737.ce6198637e9ab8be
+    63e483341b07b42c.b627cb13aa8951e8.788df30e95d513e1.26d039b6a3a66831
+    df9f090524c71d54
+
+VPBLENDD_128_0x0A(reg)
+  before
+    c63a27fd64351d3f.b2f03a63a9398828.9bf3a2495680845a.288c3a01bb387992
+    37eb910afe7da69d.2471ed7d9ad1851d.1bef079e50c961a9.cdd980a8f73cea65
+    8eff42988f2af21b.9531196d0adc6637.9468f57e32f22381.434040f064ec2187
+    26c23714b2c93d64.e0fd391f1665e8a1.60aa68569887088f.658df7c31f54db23
+    118c1f0f4381d466
+  after
+    0000000000000000.0000000000000000.9468f57e50c961a9.434040f0f73cea65
+    37eb910afe7da69d.2471ed7d9ad1851d.1bef079e50c961a9.cdd980a8f73cea65
+    8eff42988f2af21b.9531196d0adc6637.9468f57e32f22381.434040f064ec2187
+    26c23714b2c93d64.e0fd391f1665e8a1.60aa68569887088f.658df7c31f54db23
+    118c1f0f4381d466
+VPBLENDD_128_0x0A(mem)
+  before
+    220836beec7ec87c.5d806ae803e5c525.e3a1c97fd978c788.dc015d901f124a7f
+    73ceb7be37577291.8e85d9821f0ac409.79e945797022bf18.65b9cf9a622125fc
+    e2aa1efa401990cf.151c7f4da2c476be.7da12afaf66e8b7c.551ebadefe40d7b3
+    4a68e75e22cfdb65.4e9358b427a019ed.cd94f3ec8869e8e1.097b1aca8ef99a4f
+    dd1debc9afdaab7d
+  after
+    220836beec7ec87c.5d806ae803e5c525.e3a1c97fd978c788.dc015d901f124a7f
+    73ceb7be37577291.8e85d9821f0ac409.79e945797022bf18.65b9cf9a622125fc
+    0000000000000000.0000000000000000.e3a1c97f7022bf18.dc015d901f124a7f
+    4a68e75e22cfdb65.4e9358b427a019ed.cd94f3ec8869e8e1.097b1aca8ef99a4f
+    dd1debc9afdaab7d
+
+VPBLENDD_128_0x0A(reg)
+  before
+    2e502a47fc6f46e9.86d48fd6f985127d.943461254a29e745.43901c3c411d9272
+    5660d1b01242a63e.74ba914ee248ef44.454c950ba8ec1d70.bd5f21d73e98445c
+    b299de708ce10829.eee569b2f8232fe5.bc27efd2dc74f71a.16ce7ea89ae6bbca
+    9e474cf306d8a855.d22393ee58238e8d.54116de6834db0f0.29a9b09a7112b3e9
+    d3bc329be028e8e5
+  after
+    0000000000000000.0000000000000000.bc27efd2a8ec1d70.16ce7ea83e98445c
+    5660d1b01242a63e.74ba914ee248ef44.454c950ba8ec1d70.bd5f21d73e98445c
+    b299de708ce10829.eee569b2f8232fe5.bc27efd2dc74f71a.16ce7ea89ae6bbca
+    9e474cf306d8a855.d22393ee58238e8d.54116de6834db0f0.29a9b09a7112b3e9
+    d3bc329be028e8e5
+VPBLENDD_128_0x0A(mem)
+  before
+    f1d28096033415e9.76b518a51db2c16f.fa3e8cef1e52c767.6b550bb43803869e
+    5db91677f543f722.96313df36dfb9023.4303ce9f64bf98a0.5b41c3a69823b2cf
+    f53b712ad2604abc.5a05b647913f511c.8a3ed7ec4973ba64.821f93293e397330
+    93250c9cb798c9e2.1e7e810f250b4007.a9ba23c0e67cecde.3a3c76aac7cf036d
+    e1e46894ce739f31
+  after
+    f1d28096033415e9.76b518a51db2c16f.fa3e8cef1e52c767.6b550bb43803869e
+    5db91677f543f722.96313df36dfb9023.4303ce9f64bf98a0.5b41c3a69823b2cf
+    0000000000000000.0000000000000000.fa3e8cef64bf98a0.6b550bb43803869e
+    93250c9cb798c9e2.1e7e810f250b4007.a9ba23c0e67cecde.3a3c76aac7cf036d
+    e1e46894ce739f31
+
+VPBLENDD_128_0x0A(reg)
+  before
+    d1636652f0b18328.144363b7c0f531c0.3ee89ab5c6ea988f.7e452c0959e5e83b
+    68046a52c813ea00.5561f26808863e84.168ffba70f689661.e3a970b2beba6ba7
+    001572fff3271262.304b359cab54ac57.02bea2509d127629.b5b369a73008314d
+    f6e079c50c7834fd.82cca93dc66d3668.5ec38a1c0c737492.d03095d4ccdaf659
+    10e97025ad3d75f9
+  after
+    0000000000000000.0000000000000000.02bea2500f689661.b5b369a7beba6ba7
+    68046a52c813ea00.5561f26808863e84.168ffba70f689661.e3a970b2beba6ba7
+    001572fff3271262.304b359cab54ac57.02bea2509d127629.b5b369a73008314d
+    f6e079c50c7834fd.82cca93dc66d3668.5ec38a1c0c737492.d03095d4ccdaf659
+    10e97025ad3d75f9
+VPBLENDD_128_0x0A(mem)
+  before
+    52ad7486ef3c6b56.a6b27b10af938f7b.27b1c93974dc99e1.85e8af77f618cb49
+    70471fe4afe3939f.6dd8754c79035d89.fbc7117bd2ae91ef.d57a0ecdfa8cb8f9
+    4782ec29093fabfe.a59b62e50654dbd2.dad8fdeffbeed9bd.a9c5a18ab15b774f
+    b32c5743185b6d9f.ab4a3e48f1134503.a1b00a810ca82f78.5d15661bba1143f7
+    4cb558eaae3b599c
+  after
+    52ad7486ef3c6b56.a6b27b10af938f7b.27b1c93974dc99e1.85e8af77f618cb49
+    70471fe4afe3939f.6dd8754c79035d89.fbc7117bd2ae91ef.d57a0ecdfa8cb8f9
+    0000000000000000.0000000000000000.27b1c939d2ae91ef.85e8af77f618cb49
+    b32c5743185b6d9f.ab4a3e48f1134503.a1b00a810ca82f78.5d15661bba1143f7
+    4cb558eaae3b599c
+
+VPBLENDD_128_0x0C(reg)
+  before
+    d4f373652b65f5ea.900fdc1cf84395b0.db3005dfd6cbd7c7.2a1db21d20e84d4b
+    5019b4f6cd19538f.baf8f8a2c603e15a.9198b3185209cccb.52ea73af53bbef63
+    1b74160b2fe5ae35.0db325c09da80bcc.2acf455e005761bb.f5e2c923c32dd3ec
+    9350940fed544388.650be1629a3ed030.0021b61c7d43d142.efd22e668948b311
+    1b872062c31a4bfe
+  after
+    0000000000000000.0000000000000000.2acf455e005761bb.52ea73af53bbef63
+    5019b4f6cd19538f.baf8f8a2c603e15a.9198b3185209cccb.52ea73af53bbef63
+    1b74160b2fe5ae35.0db325c09da80bcc.2acf455e005761bb.f5e2c923c32dd3ec
+    9350940fed544388.650be1629a3ed030.0021b61c7d43d142.efd22e668948b311
+    1b872062c31a4bfe
+VPBLENDD_128_0x0C(mem)
+  before
+    57ca19058daf59e1.12f92d6ea4f34e35.9ecea874d8cfecb2.70da02c064595a0d
+    7e6a9739021197e4.f6bbda94f04d0ae8.94c6f4e274691a7f.d64625b5522436c7
+    6c3216ec3e4ec233.99e199ed6ceeb44c.22c04398891817c3.8eb11b67e230a21d
+    fded10095e7196fb.59b964e5b463880e.2688108234e69faa.f466e142b109d9bb
+    64b272b25a3c184c
+  after
+    57ca19058daf59e1.12f92d6ea4f34e35.9ecea874d8cfecb2.70da02c064595a0d
+    7e6a9739021197e4.f6bbda94f04d0ae8.94c6f4e274691a7f.d64625b5522436c7
+    0000000000000000.0000000000000000.9ecea874d8cfecb2.d64625b564595a0d
+    fded10095e7196fb.59b964e5b463880e.2688108234e69faa.f466e142b109d9bb
+    64b272b25a3c184c
+
+VPBLENDD_128_0x0C(reg)
+  before
+    39e2ca247a549b7d.0d69037c7d87ce68.908d39e86537c2d9.7bead78d90e16e5f
+    d140e502acde9ef9.77706a31b89b27a6.9baa14631bf69d5b.fdb214a3b9153f0e
+    8718c0ba8c645c6d.19cfc1142aba5ddf.d75cefc0702d563d.88ac44b2cd8ccfe4
+    b7b856b6b7751284.ce528411f0ee2c42.9eefc86c0367292d.f7a3e1a4e554da0d
+    286469671f791bb4
+  after
+    0000000000000000.0000000000000000.d75cefc0702d563d.fdb214a3b9153f0e
+    d140e502acde9ef9.77706a31b89b27a6.9baa14631bf69d5b.fdb214a3b9153f0e
+    8718c0ba8c645c6d.19cfc1142aba5ddf.d75cefc0702d563d.88ac44b2cd8ccfe4
+    b7b856b6b7751284.ce528411f0ee2c42.9eefc86c0367292d.f7a3e1a4e554da0d
+    286469671f791bb4
+VPBLENDD_128_0x0C(mem)
+  before
+    f6bb57e697054f06.bd6ba364c99afcec.71c4301425454ff9.4dae9ad46d3051d7
+    3c74280d6807322f.f47ca32f5d61564e.e0f3400ae6cb8331.41e761634d150be7
+    d85b56c8ae887f5a.ba3852830f555b59.f6a930dd4e8a8415.d4e419853ca19308
+    a43c5f038696f4b3.6aebadcb7c0348b7.8eb37c7b7a910dd2.63f2bfa6d86025e6
+    4a5d4d32bddffc2f
+  after
+    f6bb57e697054f06.bd6ba364c99afcec.71c4301425454ff9.4dae9ad46d3051d7
+    3c74280d6807322f.f47ca32f5d61564e.e0f3400ae6cb8331.41e761634d150be7
+    0000000000000000.0000000000000000.71c4301425454ff9.41e761636d3051d7
+    a43c5f038696f4b3.6aebadcb7c0348b7.8eb37c7b7a910dd2.63f2bfa6d86025e6
+    4a5d4d32bddffc2f
+
+VPBLENDD_128_0x0C(reg)
+  before
+    e571c19586a9558c.7ee2beaa0b3c4b68.5fe1af763ff65914.86dea0ce85e9db94
+    907a173bd04a6cac.401bf0a95a8640a3.f76654edf5bac91d.b8f319c48ca0aa86
+    a7c34990364f7c39.c8b16fed8e819190.8dc6989d39dbd57e.02c16248aac136d4
+    869955015443c3df.f071b960c438f85c.7c4c78f2a8e6b9e2.3e13f746fb583aac
+    49b454aa9c727337
+  after
+    0000000000000000.0000000000000000.8dc6989d39dbd57e.b8f319c48ca0aa86
+    907a173bd04a6cac.401bf0a95a8640a3.f76654edf5bac91d.b8f319c48ca0aa86
+    a7c34990364f7c39.c8b16fed8e819190.8dc6989d39dbd57e.02c16248aac136d4
+    869955015443c3df.f071b960c438f85c.7c4c78f2a8e6b9e2.3e13f746fb583aac
+    49b454aa9c727337
+VPBLENDD_128_0x0C(mem)
+  before
+    0072f660a91a9da4.894936f8c7b27b4c.952749f017b83233.2245ef59dd67b1f6
+    3d1758543d5d731d.0c1de8e32b29e029.949e9b88a40bfb40.d9fdf93c75e8f866
+    dd70f6727446b2cf.6b62672c1b333025.c7a42b1386400eb0.ffc092090bf7cbdd
+    bd484ca76be116e5.0263af41335da5ea.0b03767fda6028ae.eedab62b3c1f6607
+    0397620da3ed0492
+  after
+    0072f660a91a9da4.894936f8c7b27b4c.952749f017b83233.2245ef59dd67b1f6
+    3d1758543d5d731d.0c1de8e32b29e029.949e9b88a40bfb40.d9fdf93c75e8f866
+    0000000000000000.0000000000000000.952749f017b83233.d9fdf93cdd67b1f6
+    bd484ca76be116e5.0263af41335da5ea.0b03767fda6028ae.eedab62b3c1f6607
+    0397620da3ed0492
+
+VPBLENDD_128_0x0E(reg)
+  before
+    9b42911dddece227.b76dd6dd3d3a5b8c.2d6ebd8d10327c24.3d89f7b7bb790567
+    10293fc685a83c75.a8aa1102075e3cef.48cd8c7c4d3ef080.37002aa745966007
+    bf96687437ae4e26.6cca7801e458763b.afce187a870d3eaa.d6358b3b95c4f6b9
+    05d60994908953e7.df9a87c5f135c59c.bdbb5ef3592ca24d.f6f39660c70e83aa
+    7308c800f680c306
+  after
+    0000000000000000.0000000000000000.afce187a870d3eaa.d6358b3b45966007
+    10293fc685a83c75.a8aa1102075e3cef.48cd8c7c4d3ef080.37002aa745966007
+    bf96687437ae4e26.6cca7801e458763b.afce187a870d3eaa.d6358b3b95c4f6b9
+    05d60994908953e7.df9a87c5f135c59c.bdbb5ef3592ca24d.f6f39660c70e83aa
+    7308c800f680c306
+VPBLENDD_128_0x0E(mem)
+  before
+    293e9c083e2671f8.3c351c902cc58863.dde6ba3c4900e43d.d0e1585360265816
+    f4638e65bc0d4aac.c1fe9fd5a5ef2947.437a8e5109c5914b.438b040737889bb1
+    b1411b018c410a4f.f07f8dd09a92713e.eb227df04c9186f1.72075d797bdda8c9
+    3aa5bdcac8cc6c0d.2502e3eba53b9ef5.b2a905062f6f7f5c.b8a05f17c7b1bb0b
+    73a1074bb7901022
+  after
+    293e9c083e2671f8.3c351c902cc58863.dde6ba3c4900e43d.d0e1585360265816
+    f4638e65bc0d4aac.c1fe9fd5a5ef2947.437a8e5109c5914b.438b040737889bb1
+    0000000000000000.0000000000000000.dde6ba3c4900e43d.d0e1585360265816
+    3aa5bdcac8cc6c0d.2502e3eba53b9ef5.b2a905062f6f7f5c.b8a05f17c7b1bb0b
+    73a1074bb7901022
+
+VPBLENDD_128_0x0E(reg)
+  before
+    fd575083e807e2bb.6b5bf2ab8fbc2e11.bcd59b946274e918.74dda17dcd6b3ab8
+    b40e362af6a26e82.222e3590fb1c0a88.1142b3366ecb9152.0d88ce4242917130
+    f212b5ac7cebf022.3aec026528f9bc9e.8096263c64ccd050.59770642abeee0f1
+    15afc9741670a347.8f5fd516335e027e.651cf114e102e4bd.3376c767248e4526
+    79518c9fc87b5afc
+  after
+    0000000000000000.0000000000000000.8096263c64ccd050.5977064242917130
+    b40e362af6a26e82.222e3590fb1c0a88.1142b3366ecb9152.0d88ce4242917130
+    f212b5ac7cebf022.3aec026528f9bc9e.8096263c64ccd050.59770642abeee0f1
+    15afc9741670a347.8f5fd516335e027e.651cf114e102e4bd.3376c767248e4526
+    79518c9fc87b5afc
+VPBLENDD_128_0x0E(mem)
+  before
+    06d3d2d4b3c3dc9f.77306ff161bcc49f.fd542b8f37579655.1c220e2980f90646
+    b6ca13f40272873a.76e2a18cf95c8fd3.60977fbc50f1354e.01f27be8de3d7597
+    6500cdead09216f9.6c125db279db4092.94f44d8a9c379a96.70da33bb965b6b5b
+    ee427ba23a31460a.b70a9fcf7dc51286.743711e334358259.c524320f44de253f
+    5c1d74508652dfee
+  after
+    06d3d2d4b3c3dc9f.77306ff161bcc49f.fd542b8f37579655.1c220e2980f90646
+    b6ca13f40272873a.76e2a18cf95c8fd3.60977fbc50f1354e.01f27be8de3d7597
+    0000000000000000.0000000000000000.fd542b8f37579655.1c220e2980f90646
+    ee427ba23a31460a.b70a9fcf7dc51286.743711e334358259.c524320f44de253f
+    5c1d74508652dfee
+
+VPBLENDD_128_0x0E(reg)
+  before
+    9111f6ebf544d415.2f5c99085c5bd397.b1176150a2a7425c.de2c48b536f8a9c2
+    c04bb24b2f3f415f.031aa308501a79cc.b784a19f830c0cbf.ad9e6deabe8bcbfe
+    4419a6dbd0d06279.4548168f357cf3d6.269f5a2abd80ab5c.bc5afc70e7faa338
+    7bc5ce097382730f.d3b16c87248dfee1.58b2885ceb905dde.e92c7132cd52ef9d
+    0fe0481c8d9e6858
+  after
+    0000000000000000.0000000000000000.269f5a2abd80ab5c.bc5afc70be8bcbfe
+    c04bb24b2f3f415f.031aa308501a79cc.b784a19f830c0cbf.ad9e6deabe8bcbfe
+    4419a6dbd0d06279.4548168f357cf3d6.269f5a2abd80ab5c.bc5afc70e7faa338
+    7bc5ce097382730f.d3b16c87248dfee1.58b2885ceb905dde.e92c7132cd52ef9d
+    0fe0481c8d9e6858
+VPBLENDD_128_0x0E(mem)
+  before
+    0942fe1a43ebcd96.c09c2440b4e1afcd.882324de3b585618.aa0b27a1aac75bf2
+    b51e0e180943d883.6feba6ec307a535d.3f68b77e96e9b6a8.78f4346495b1e444
+    ed3ff402feb4464a.e3fb4f7982d79a6e.d64da255504cdbbd.1ebaaa1348db327f
+    8f732cc53c4ad318.7a1b1b534787c2aa.279e624e868e8182.f8a9851a61d08250
+    630cc1e3791d1062
+  after
+    0942fe1a43ebcd96.c09c2440b4e1afcd.882324de3b585618.aa0b27a1aac75bf2
+    b51e0e180943d883.6feba6ec307a535d.3f68b77e96e9b6a8.78f4346495b1e444
+    0000000000000000.0000000000000000.882324de3b585618.aa0b27a1aac75bf2
+    8f732cc53c4ad318.7a1b1b534787c2aa.279e624e868e8182.f8a9851a61d08250
+    630cc1e3791d1062
+
+VPBLENDD_256_0x00(reg)
+  before
+    b9315adb2e4c1862.7584334bdf103a19.8e9606e61a1305be.1027725453ba6424
+    57624d6e1cebd5fc.7d3f838104123978.7db70d9f9809a055.6bb34e55d3dc3fce
+    99ec9509de8684db.81709a54c65c8962.a1cb2ae85cf4ce1c.1510723c2301cfad
+    db1b2e1610a860ac.5ee2f3af42fbe902.581f5b2f0361cdbe.eb085bf65f34d0ec
+    c768836da282fdb8
+  after
+    57624d6e1cebd5fc.7d3f838104123978.7db70d9f9809a055.6bb34e55d3dc3fce
+    57624d6e1cebd5fc.7d3f838104123978.7db70d9f9809a055.6bb34e55d3dc3fce
+    99ec9509de8684db.81709a54c65c8962.a1cb2ae85cf4ce1c.1510723c2301cfad
+    db1b2e1610a860ac.5ee2f3af42fbe902.581f5b2f0361cdbe.eb085bf65f34d0ec
+    c768836da282fdb8
+VPBLENDD_256_0x00(mem)
+  before
+    86fc688e08f6133d.793b14034fdda71a.f1630b7d93fa1385.fcfd9bde28dbd7e9
+    05908645ae9ccea6.ce98443b36b193d2.14bd5cacd566c416.ebb1e76368ee2846
+    1ef0577faf80ea20.387eb82a62b16180.a4be6427254ab8e2.7f893a295e27fe83
+    aee7592728af22d6.12386e3c6e684ccf.7d309eda9fb2ab15.15d08f9ca711934c
+    0ad1e428de38244d
+  after
+    86fc688e08f6133d.793b14034fdda71a.f1630b7d93fa1385.fcfd9bde28dbd7e9
+    05908645ae9ccea6.ce98443b36b193d2.14bd5cacd566c416.ebb1e76368ee2846
+    05908645ae9ccea6.ce98443b36b193d2.14bd5cacd566c416.ebb1e76328dbd7e9
+    aee7592728af22d6.12386e3c6e684ccf.7d309eda9fb2ab15.15d08f9ca711934c
+    0ad1e428de38244d
+
+VPBLENDD_256_0x00(reg)
+  before
+    b8d935399f29ed31.91420728343433f5.b81361ddf763926c.7ce086b15eaa58da
+    7c347c3b876f29a4.a3cedd70f01cd9a9.865b8e79982d6c02.7b9999997f3f7c5e
+    b32eb79a31961554.c15557ea7772cf1d.d75cef7cee52193e.5729527c1d7cd2cc
+    b713e1c33a2bedeb.c5a4f182e642d37e.09628252945ed4cb.ec5a2c47546e1851
+    16faa6e741200819
+  after
+    7c347c3b876f29a4.a3cedd70f01cd9a9.865b8e79982d6c02.7b9999997f3f7c5e
+    7c347c3b876f29a4.a3cedd70f01cd9a9.865b8e79982d6c02.7b9999997f3f7c5e
+    b32eb79a31961554.c15557ea7772cf1d.d75cef7cee52193e.5729527c1d7cd2cc
+    b713e1c33a2bedeb.c5a4f182e642d37e.09628252945ed4cb.ec5a2c47546e1851
+    16faa6e741200819
+VPBLENDD_256_0x00(mem)
+  before
+    b1d33947ff9e5e4f.e52ef6203eb9ec15.8c86282458999ff7.77b9426827ded857
+    99b26252abf5d820.99cdf21fd8cc4f7f.f2c977bcea82efb5.7dac2c28425d628b
+    aa639ef6603030b7.2f3ad22aa4f152d5.d3375a36b70981e4.76893a008268ad16
+    c0b1681e3b5b2341.03c291af3fb331c2.0b9d4e7fdb3b0faf.c09a6a5b828af6a1
+    b52cb7a4de4f79db
+  after
+    b1d33947ff9e5e4f.e52ef6203eb9ec15.8c86282458999ff7.77b9426827ded857
+    99b26252abf5d820.99cdf21fd8cc4f7f.f2c977bcea82efb5.7dac2c28425d628b
+    99b26252abf5d820.99cdf21fd8cc4f7f.f2c977bcea82efb5.7dac2c2827ded857
+    c0b1681e3b5b2341.03c291af3fb331c2.0b9d4e7fdb3b0faf.c09a6a5b828af6a1
+    b52cb7a4de4f79db
+
+VPBLENDD_256_0x00(reg)
+  before
+    b38b1d493344726e.b76a3cb658836dea.71b12b19449f27f3.76c8cd8173235543
+    140298b51df41c07.6b5897aad1b3c9dd.d5539cd4503f7113.ef82552a9bcd11cb
+    36df255437ebb551.b848f4e6c4f7f447.8bf3e14cfe224bcf.549761646e45fd74
+    736cbf931db576f9.7906ce564d5caa53.efdff4edebd1f1d3.80d56d1d0898d66a
+    4f06f64086d258d8
+  after
+    140298b51df41c07.6b5897aad1b3c9dd.d5539cd4503f7113.ef82552a9bcd11cb
+    140298b51df41c07.6b5897aad1b3c9dd.d5539cd4503f7113.ef82552a9bcd11cb
+    36df255437ebb551.b848f4e6c4f7f447.8bf3e14cfe224bcf.549761646e45fd74
+    736cbf931db576f9.7906ce564d5caa53.efdff4edebd1f1d3.80d56d1d0898d66a
+    4f06f64086d258d8
+VPBLENDD_256_0x00(mem)
+  before
+    9df877b904fd3eeb.29f662dc6cdf9eaa.8c5ea3e787eda72e.5d61d323b2da9eca
+    45756c749c2745ce.b2ca0a9cbff56711.cc1cef838fb6a603.31c6795aefc88f60
+    254a515d6d5c29ae.6b31b340b3810eda.150c2c1880c46400.c75ae3ff3f27ff43
+    1843a26091a7a6b6.b17a5a32e311cfb0.42f9d89076229d4e.7b690b7c3e842c1d
+    a83fef3f876a509a
+  after
+    9df877b904fd3eeb.29f662dc6cdf9eaa.8c5ea3e787eda72e.5d61d323b2da9eca
+    45756c749c2745ce.b2ca0a9cbff56711.cc1cef838fb6a603.31c6795aefc88f60
+    45756c749c2745ce.b2ca0a9cbff56711.cc1cef838fb6a603.31c6795ab2da9eca
+    1843a26091a7a6b6.b17a5a32e311cfb0.42f9d89076229d4e.7b690b7c3e842c1d
+    a83fef3f876a509a
+
+VPBLENDD_256_0xFE(reg)
+  before
+    ac278ab3b766a867.f92bdc6924147714.def0fae0ec31e640.31b06ed98edc0c1c
+    e26fd84368036f30.a6d0796542af59f1.4fde8fb5696b8e36.bdfd6adee4ff6e94
+    a661d65d39cde3a1.fafcf73e0985087c.6092151cf74d043d.c1ac498b93967fe2
+    534a7e6cc4503d64.d07dd2e292a13fde.6e56898331638301.1b8985ccb7adfa33
+    a5609c8d6d519db3
+  after
+    a661d65d39cde3a1.fafcf73e0985087c.6092151cf74d043d.c1ac498be4ff6e94
+    e26fd84368036f30.a6d0796542af59f1.4fde8fb5696b8e36.bdfd6adee4ff6e94
+    a661d65d39cde3a1.fafcf73e0985087c.6092151cf74d043d.c1ac498b93967fe2
+    534a7e6cc4503d64.d07dd2e292a13fde.6e56898331638301.1b8985ccb7adfa33
+    a5609c8d6d519db3
+VPBLENDD_256_0xFE(mem)
+  before
+    3dfc09bad18d228d.4776cedca519bc28.061d843bfb0fbb46.d377e655b438492f
+    bd2b4840fd6e45ee.dd30c11979b49b97.76a88b3760dc38de.ec4028fe1b589073
+    03b7d60910fec402.70c65490dbab155e.feec62c1dc1372d3.15ff4beb034f9479
+    e96d2e02234b59f4.5e8281ab688c6728.78b485c58cc12450.aaff4b8607aa93ec
+    078b253cc3f4c778
+  after
+    3dfc09bad18d228d.4776cedca519bc28.061d843bfb0fbb46.d377e655b438492f
+    bd2b4840fd6e45ee.dd30c11979b49b97.76a88b3760dc38de.ec4028fe1b589073
+    3dfc09bad18d228d.4776cedca519bc28.061d843bfb0fbb46.d377e655b438492f
+    e96d2e02234b59f4.5e8281ab688c6728.78b485c58cc12450.aaff4b8607aa93ec
+    078b253cc3f4c778
+
+VPBLENDD_256_0xFE(reg)
+  before
+    88f0d47ad4b96dca.4d19cc185561c1f0.01b246d7bbe2cca2.c1cb702f8bf00b82
+    897a54aad586c18e.09862c36bf4bb824.b7a09e81713a8177.b6ffa0ebf5afe394
+    6675a13a63e6fe70.fa82ca477f15f9b9.da998514251fc255.311a8fe5e70767b3
+    7b2db8951a66611b.fcd72339b1cb41de.c8e9f8fb741dcbe5.0fe9bb0a7c06540b
+    2d37a044d1b766c7
+  after
+    6675a13a63e6fe70.fa82ca477f15f9b9.da998514251fc255.311a8fe5f5afe394
+    897a54aad586c18e.09862c36bf4bb824.b7a09e81713a8177.b6ffa0ebf5afe394
+    6675a13a63e6fe70.fa82ca477f15f9b9.da998514251fc255.311a8fe5e70767b3
+    7b2db8951a66611b.fcd72339b1cb41de.c8e9f8fb741dcbe5.0fe9bb0a7c06540b
+    2d37a044d1b766c7
+VPBLENDD_256_0xFE(mem)
+  before
+    65d2b88102275914.24ed93279590263b.ec53b1f7707a4cbd.dbdbf1a4f9c1d8d5
+    948581ab2960e81e.bc03305c70f3897d.a4c0f26dd92dd582.70bd6e7a509624d1
+    961b75b06571d010.a1b98ba04818c58d.01eb628807f1995b.e4d96ae91628ec85
+    4761137bcf63cd16.2e5c9e5fb88d1716.df9f7b3216d15472.917ce15de7046b9c
+    d4f2d0425eb5dfc2
+  after
+    65d2b88102275914.24ed93279590263b.ec53b1f7707a4cbd.dbdbf1a4f9c1d8d5
+    948581ab2960e81e.bc03305c70f3897d.a4c0f26dd92dd582.70bd6e7a509624d1
+    65d2b88102275914.24ed93279590263b.ec53b1f7707a4cbd.dbdbf1a4f9c1d8d5
+    4761137bcf63cd16.2e5c9e5fb88d1716.df9f7b3216d15472.917ce15de7046b9c
+    d4f2d0425eb5dfc2
+
+VPBLENDD_256_0xFE(reg)
+  before
+    0987320417c782a5.8423d4f886449a5d.bf3867055dddbac5.1aaabb5823d9c2f3
+    8d870310afc790ee.272d3512a31ff511.af99e0fed295ec46.8fd69de64a169e0b
+    ba3d3fd0c240474c.0d4bb3b84401975e.5ccb07b7b33fe744.18f19dc9a693a5e6
+    edf7e2b2ebbee169.1248c9d385f53f6f.2119d89a9e6ae86c.92c537ec535c93af
+    d91fe83a6e7d2393
+  after
+    ba3d3fd0c240474c.0d4bb3b84401975e.5ccb07b7b33fe744.18f19dc94a169e0b
+    8d870310afc790ee.272d3512a31ff511.af99e0fed295ec46.8fd69de64a169e0b
+    ba3d3fd0c240474c.0d4bb3b84401975e.5ccb07b7b33fe744.18f19dc9a693a5e6
+    edf7e2b2ebbee169.1248c9d385f53f6f.2119d89a9e6ae86c.92c537ec535c93af
+    d91fe83a6e7d2393
+VPBLENDD_256_0xFE(mem)
+  before
+    c9cb2ba1120313bd.82ffe921c6ce9bf2.12f2f3508107a770.59d04d152c9f2a69
+    3e947c0c5cfa1d5a.d5a24e88f0fbb192.e913ae1b55448d8e.623d6493fb6cebe8
+    13485767676cfd95.422c0f5504d25ef6.737874211cb7aaf5.97aa187fa75c6594
+    26b1389e5067719c.25e928f39fdddfc9.8cedc34cf26cbdd0.53636547cbfcd41b
+    f4b6475603d77626
+  after
+    c9cb2ba1120313bd.82ffe921c6ce9bf2.12f2f3508107a770.59d04d152c9f2a69
+    3e947c0c5cfa1d5a.d5a24e88f0fbb192.e913ae1b55448d8e.623d6493fb6cebe8
+    c9cb2ba1120313bd.82ffe921c6ce9bf2.12f2f3508107a770.59d04d152c9f2a69
+    26b1389e5067719c.25e928f39fdddfc9.8cedc34cf26cbdd0.53636547cbfcd41b
+    f4b6475603d77626
+
+VPBLENDD_256_0x30(reg)
+  before
+    d4eebb18ec798564.529c9c9d32f73398.da2593ce5caa70b8.0f3e168af470804c
+    5056bcf9226f3e7e.73d5fe512a2600b8.bd2b4e52d8c54c6e.da36e9c63eceb095
+    c53b46663f44dc23.6528daa453029326.2a4854ebaeb9b199.c8a3b9ebea9209d6
+    8de955c9e2849dfd.0461ac83ca97a90e.7dc8a1067a12d8e2.b54f00e717c9463c
+    7c073ca5df7e24f2
+  after
+    5056bcf9226f3e7e.6528daa453029326.bd2b4e52d8c54c6e.da36e9c63eceb095
+    5056bcf9226f3e7e.73d5fe512a2600b8.bd2b4e52d8c54c6e.da36e9c63eceb095
+    c53b46663f44dc23.6528daa453029326.2a4854ebaeb9b199.c8a3b9ebea9209d6
+    8de955c9e2849dfd.0461ac83ca97a90e.7dc8a1067a12d8e2.b54f00e717c9463c
+    7c073ca5df7e24f2
+VPBLENDD_256_0x30(mem)
+  before
+    fb97e9115ebd5f25.06ace58fa5bcbbb9.2b4cf1dbaaeffe9d.12f7310dd95c00f8
+    0dcb8118b193b301.8ad0f32524777202.b8b423970f184eff.4521016e67246485
+    8e6f81a4f30bdbb1.76a17af6fc410085.8666c0a2161e545f.71920c93bff53f35
+    594e66a241319461.266a766dc8a79fed.702e44eadb0bceea.f4954eea7d5ccdb5
+    2978c3de3ee44cb1
+  after
+    fb97e9115ebd5f25.06ace58fa5bcbbb9.2b4cf1dbaaeffe9d.12f7310dd95c00f8
+    0dcb8118b193b301.8ad0f32524777202.b8b423970f184eff.4521016e67246485
+    0dcb8118b193b301.8ad0f32524777202.b8b423970f184eff.12f7310dd95c00f8
+    594e66a241319461.266a766dc8a79fed.702e44eadb0bceea.f4954eea7d5ccdb5
+    2978c3de3ee44cb1
+
+VPBLENDD_256_0x30(reg)
+  before
+    6b8567db9e19f6d4.4c36abffb6129a3f.f778e3f825348ce7.54d8295a79ed75cc
+    1809374c388708cb.41f1cca56eb9a875.4317be02ae74031f.0c30edde0cd00830
+    8b502ea0a8bbbe42.164c468287327b2f.679302f7fff43f40.76020a62b1bf4143
+    1fa648408b4153e4.a51394811a8acf9a.bf38ab43b53f7df7.6c19fed283c6dd30
+    cc43451b9ff19824
+  after
+    1809374c388708cb.164c468287327b2f.4317be02ae74031f.0c30edde0cd00830
+    1809374c388708cb.41f1cca56eb9a875.4317be02ae74031f.0c30edde0cd00830
+    8b502ea0a8bbbe42.164c468287327b2f.679302f7fff43f40.76020a62b1bf4143
+    1fa648408b4153e4.a51394811a8acf9a.bf38ab43b53f7df7.6c19fed283c6dd30
+    cc43451b9ff19824
+VPBLENDD_256_0x30(mem)
+  before
+    704a5927204d2d4a.325681997ca3045e.cc12318e45cc60e2.a752b5526ce1f9ef
+    36fbb8e423e55acf.1eaed617186f0d5b.65149c952405e932.7b2c1c91bf67eed5
+    f822dd3cc3c6d8df.41f84227fa30aa88.4ee74e82d24027b7.9714dd6a4a5c9955
+    938a441d1dfa66a5.f581c133bf731690.6155c4416b89d69d.5754f34baa4d361a
+    17395a9e7bc401d1
+  after
+    704a5927204d2d4a.325681997ca3045e.cc12318e45cc60e2.a752b5526ce1f9ef
+    36fbb8e423e55acf.1eaed617186f0d5b.65149c952405e932.7b2c1c91bf67eed5
+    36fbb8e423e55acf.1eaed617186f0d5b.65149c952405e932.a752b5526ce1f9ef
+    938a441d1dfa66a5.f581c133bf731690.6155c4416b89d69d.5754f34baa4d361a
+    17395a9e7bc401d1
+
+VPBLENDD_256_0x30(reg)
+  before
+    330f0ed158503525.e40169724c90be4e.98954fa902c38e20.7b2b7bbe0cecb10f
+    07220c4fdd7a0fc3.c551c9266d919d06.8480e8f460ac4ee4.7935eee5d1767539
+    efbd4f83a7d0cb57.1348df279b0bbff8.178e897f74bb9187.353f99a3d432de48
+    472ed2db51dda58c.abb02760f209e050.ab0a2db8da7b95b6.8c15f9e2342da868
+    5a8288900b728ec5
+  after
+    07220c4fdd7a0fc3.1348df279b0bbff8.8480e8f460ac4ee4.7935eee5d1767539
+    07220c4fdd7a0fc3.c551c9266d919d06.8480e8f460ac4ee4.7935eee5d1767539
+    efbd4f83a7d0cb57.1348df279b0bbff8.178e897f74bb9187.353f99a3d432de48
+    472ed2db51dda58c.abb02760f209e050.ab0a2db8da7b95b6.8c15f9e2342da868
+    5a8288900b728ec5
+VPBLENDD_256_0x30(mem)
+  before
+    7b53c497750d4d8a.6bbf94c2782dd80f.67561dbe8f98bb3b.9d41d00a2f78931d
+    cc5528e58f0aa1e3.b6bd8ea5b74da18b.24053e2b8ec30de5.4a806ee10f3fca67
+    27523165747645fe.8674beeeabc83cad.be8b04940a96917a.0c1103aa155b7440
+    69175903405cf704.36301e0aef2be420.11b2ede61f1d0525.40408ccfdd58ce56
+    425b04bd04c31452
+  after
+    7b53c497750d4d8a.6bbf94c2782dd80f.67561dbe8f98bb3b.9d41d00a2f78931d
+    cc5528e58f0aa1e3.b6bd8ea5b74da18b.24053e2b8ec30de5.4a806ee10f3fca67
+    cc5528e58f0aa1e3.b6bd8ea5b74da18b.24053e2b8ec30de5.9d41d00a2f78931d
+    69175903405cf704.36301e0aef2be420.11b2ede61f1d0525.40408ccfdd58ce56
+    425b04bd04c31452
+
+VPBLENDD_256_0x21(reg)
+  before
+    6fad67e1262782e3.6e6f1eab11c97024.213cad662001d691.f948740bea652312
+    2181b2a5de1053b3.1228fb4900c86f88.a5e6646cd9d64eac.521716f18779a76e
+    b524df77c80bc46f.310c6cca2b65ae5c.1d78408ab737881c.f8ec4d8211664f65
+    87e2ecc281a310c2.a7e9ed18aeadebce.e43f3e2a55afbf8e.c79397aca437d523
+    9bd76f5a5df8f6d3
+  after
+    2181b2a5de1053b3.310c6cca00c86f88.a5e6646cd9d64eac.521716f111664f65
+    2181b2a5de1053b3.1228fb4900c86f88.a5e6646cd9d64eac.521716f18779a76e
+    b524df77c80bc46f.310c6cca2b65ae5c.1d78408ab737881c.f8ec4d8211664f65
+    87e2ecc281a310c2.a7e9ed18aeadebce.e43f3e2a55afbf8e.c79397aca437d523
+    9bd76f5a5df8f6d3
+VPBLENDD_256_0x21(mem)
+  before
+    5086517857b66ea1.f307d4f1a4647559.5089fb20a4abdf07.588759ba4fca30ae
+    c26abaf2af7cf8ba.55df9372cedb2ddf.08b911cf296b4936.d39c8da542141727
+    cd5024b48056514a.09b626b09a937501.aa44ab105afae385.b3cad657ca1aafa6
+    4d040dabe651357c.6bd78818a519886a.14f845ce53636a20.525c313c826835d6
+    0ea099c00688e564
+  after
+    5086517857b66ea1.f307d4f1a4647559.5089fb20a4abdf07.588759ba4fca30ae
+    c26abaf2af7cf8ba.55df9372cedb2ddf.08b911cf296b4936.d39c8da542141727
+    c26abaf2af7cf8ba.55df9372a4647559.08b911cf296b4936.588759ba42141727
+    4d040dabe651357c.6bd78818a519886a.14f845ce53636a20.525c313c826835d6
+    0ea099c00688e564
+
+VPBLENDD_256_0x21(reg)
+  before
+    41e00a4ff308fbfb.1d52f0c1ff78607d.d790b4148af8a3c8.219f5cf72fb29a34
+    49698056e474b248.1b064ae3e4d78d79.a92ba911e5bc02c4.ad076a760af42eed
+    8087f83f765647f7.22ec95feb37b799b.3cf5607b53f1e10d.94faed370134e376
+    43866c78443cf6b3.0dcf4ffd886fdf10.ee3ad6bf70247b4d.b14560262f7e75fc
+    e2b4402fb1dfa0ab
+  after
+    49698056e474b248.22ec95fee4d78d79.a92ba911e5bc02c4.ad076a760134e376
+    49698056e474b248.1b064ae3e4d78d79.a92ba911e5bc02c4.ad076a760af42eed
+    8087f83f765647f7.22ec95feb37b799b.3cf5607b53f1e10d.94faed370134e376
+    43866c78443cf6b3.0dcf4ffd886fdf10.ee3ad6bf70247b4d.b14560262f7e75fc
+    e2b4402fb1dfa0ab
+VPBLENDD_256_0x21(mem)
+  before
+    0212073fa2621fae.eeb1da6bebb2fa29.ba7cf3cb7ebf7d03.1a450848d7e00d30
+    ec2d33401f13af32.de563d8606429005.04bffd56b1780da1.1c64f18124b2d363
+    7ecf3f1f43ff0c62.6dbf9234327af4f2.c664e9893ea54c16.50e18dd8f4250992
+    92c6a7c92b31f16b.f839d3e10ae6629c.de3734504153f58d.1109d9b8e3c5ea68
+    bd28d08d8c1eb392
+  after
+    0212073fa2621fae.eeb1da6bebb2fa29.ba7cf3cb7ebf7d03.1a450848d7e00d30
+    ec2d33401f13af32.de563d8606429005.04bffd56b1780da1.1c64f18124b2d363
+    ec2d33401f13af32.de563d86ebb2fa29.04bffd56b1780da1.1a45084824b2d363
+    92c6a7c92b31f16b.f839d3e10ae6629c.de3734504153f58d.1109d9b8e3c5ea68
+    bd28d08d8c1eb392
+
+VPBLENDD_256_0x21(reg)
+  before
+    af8a6dc38bbda0bc.06dce829f2b61b78.db10fef92b1015b0.26045997d58cc632
+    427bafc67d2dec91.b4de7c2ab49846b6.72900ee830864ada.7c96d44a165e7933
+    d4478f02fdfbd4be.7a97e1ba8ee52e51.1905ff1ab5d43dc6.babb215621d5cab9
+    bf390ae4a8b294ee.32d592c49ca98e74.2dbacdfc5785291f.be3dbda511fc77f3
+    62e9222503df3a0b
+  after
+    427bafc67d2dec91.7a97e1bab49846b6.72900ee830864ada.7c96d44a21d5cab9
+    427bafc67d2dec91.b4de7c2ab49846b6.72900ee830864ada.7c96d44a165e7933
+    d4478f02fdfbd4be.7a97e1ba8ee52e51.1905ff1ab5d43dc6.babb215621d5cab9
+    bf390ae4a8b294ee.32d592c49ca98e74.2dbacdfc5785291f.be3dbda511fc77f3
+    62e9222503df3a0b
+VPBLENDD_256_0x21(mem)
+  before
+    848bcec0128ad02e.619e1dd619de68ce.ba620c34f9ef234c.08fd75f8b2254c91
+    feee3c645b0af487.14c2c346ed0c8b09.ec0cc9f6c1c3a905.0718f27b6140e0c9
+    ade0e9fcf96a6443.36f1f89ebfc73a4c.a59d47f71131dbca.865840f200632173
+    6e2b4f7408b7da8d.2177b94c2c9bb143.c2e20121054676c7.e0095bc82c194d3b
+    7376406881ee9ecc
+  after
+    848bcec0128ad02e.619e1dd619de68ce.ba620c34f9ef234c.08fd75f8b2254c91
+    feee3c645b0af487.14c2c346ed0c8b09.ec0cc9f6c1c3a905.0718f27b6140e0c9
+    feee3c645b0af487.14c2c34619de68ce.ec0cc9f6c1c3a905.08fd75f86140e0c9
+    6e2b4f7408b7da8d.2177b94c2c9bb143.c2e20121054676c7.e0095bc82c194d3b
+    7376406881ee9ecc
+
+VPBLENDD_256_0xD7(reg)
+  before
+    9aedea40996f50d2.1b9decb7a6fc1392.33a000bbcf152b99.1da77361b80d362a
+    b1b855bb1327a1fa.91003bb4ec45ca7e.c6b7cb5744c0e5fb.93b71aa44693d71d
+    14257d4589a3cbf0.ac21b854f89ebc7c.370a158c28281b15.00e070d4cce314cc
+    1f7e5e4a976e0b5f.48cbe084e614a5b9.e2e3dbc617da0992.40ecf3df6509aa64
+    30a81eb02e115511
+  after
+    14257d4589a3cbf0.91003bb4f89ebc7c.c6b7cb5728281b15.00e070d4cce314cc
+    b1b855bb1327a1fa.91003bb4ec45ca7e.c6b7cb5744c0e5fb.93b71aa44693d71d
+    14257d4589a3cbf0.ac21b854f89ebc7c.370a158c28281b15.00e070d4cce314cc
+    1f7e5e4a976e0b5f.48cbe084e614a5b9.e2e3dbc617da0992.40ecf3df6509aa64
+    30a81eb02e115511
+VPBLENDD_256_0xD7(mem)
+  before
+    aae06e334208d0fe.2d10f537d9149df4.42cc2e30d1b24160.248f1771ac61ea1e
+    8b605d54befad958.9c263d76ed21bc5b.74ee1e45d5854b9e.575ac7f98349fb67
+    aff469ffbdf1294a.c70e32746c22a53f.bbff2cad0f98809f.d88fe6cb391f7816
+    f2670d205bfb7f01.0913d09ef4a3944d.f3c9d4569af79c8e.037c70516a6e9cda
+    346b61f9b0c2a55d
+  after
+    aae06e334208d0fe.2d10f537d9149df4.42cc2e30d1b24160.248f1771ac61ea1e
+    8b605d54befad958.9c263d76ed21bc5b.74ee1e45d5854b9e.575ac7f98349fb67
+    8b605d544208d0fe.2d10f537ed21bc5b.42cc2e30d1b24160.575ac7f98349fb67
+    f2670d205bfb7f01.0913d09ef4a3944d.f3c9d4569af79c8e.037c70516a6e9cda
+    346b61f9b0c2a55d
+
+VPBLENDD_256_0xD7(reg)
+  before
+    c8aab62daaa8cc4b.3087c5a3b52395a9.c080135e212ec530.f819932b93af5a98
+    19836a5bf2ab5052.451e0d74e776296d.47a2f8228e517395.a6bbe31716cb78e8
+    844379ee24576b1b.0df962800cfff47a.f9c57a55d897db27.d97a42083d57b0ab
+    6535df52dd395b55.64e43fb140cab5fb.343595639a8d3993.6d242ce92760be0d
+    3d831ba6edf16039
+  after
+    844379ee24576b1b.451e0d740cfff47a.47a2f822d897db27.d97a42083d57b0ab
+    19836a5bf2ab5052.451e0d74e776296d.47a2f8228e517395.a6bbe31716cb78e8
+    844379ee24576b1b.0df962800cfff47a.f9c57a55d897db27.d97a42083d57b0ab
+    6535df52dd395b55.64e43fb140cab5fb.343595639a8d3993.6d242ce92760be0d
+    3d831ba6edf16039
+VPBLENDD_256_0xD7(mem)
+  before
+    27648d2bad16505c.18a798f3b8dc59aa.25ab20f5a0e4261d.523e46b870bec885
+    0693fc6583dc4ba1.f9e4a13d51cda4c6.2e1981374858040b.b12b87c0f7b6c5a8
+    b6dce73e8a4e0c35.6437f59c46967657.5afcde6353320bf3.ab4a56e7ca026ca9
+    130bc7a4df785044.b4ed907c30c60c06.851eb465dd7ff6fe.9de5ae99862df934
+    e4498b43c7c3a7f4
+  after
+    27648d2bad16505c.18a798f3b8dc59aa.25ab20f5a0e4261d.523e46b870bec885
+    0693fc6583dc4ba1.f9e4a13d51cda4c6.2e1981374858040b.b12b87c0f7b6c5a8
+    0693fc65ad16505c.18a798f351cda4c6.25ab20f5a0e4261d.b12b87c0f7b6c5a8
+    130bc7a4df785044.b4ed907c30c60c06.851eb465dd7ff6fe.9de5ae99862df934
+    e4498b43c7c3a7f4
+
+VPBLENDD_256_0xD7(reg)
+  before
+    dac2ea4f2751b395.f8ec19819d67d3f9.47526f4aade6a282.8b4c7e29034a825b
+    dd9cc52b456259c5.434a5ac3e0265180.78b28c7059847375.4752b89be09f6b34
+    47221a41ba82d42e.cff20554c5c18507.a358e55ccf2bbc8b.97fcdfa7918b6db5
+    75a2e4ff253e627c.77b0962268452db8.24927579ab68b971.56166d393119430b
+    5f6be03ddd55aa62
+  after
+    47221a41ba82d42e.434a5ac3c5c18507.78b28c70cf2bbc8b.97fcdfa7918b6db5
+    dd9cc52b456259c5.434a5ac3e0265180.78b28c7059847375.4752b89be09f6b34
+    47221a41ba82d42e.cff20554c5c18507.a358e55ccf2bbc8b.97fcdfa7918b6db5
+    75a2e4ff253e627c.77b0962268452db8.24927579ab68b971.56166d393119430b
+    5f6be03ddd55aa62
+VPBLENDD_256_0xD7(mem)
+  before
+    90c9b3a0b04c5ee5.c36620d01f213c5c.19508a18e4bd02bf.56aa38328ac5a5d3
+    c3fa624dc7091ac1.8dbbc82047b7a17a.8f9e5b225535c349.97ee2bf508d1be5c
+    d6cb6a2f3d999b22.30edda5b368dcb81.b766872cd8ba2a82.42a8482dc0153eb9
+    a30845342f069d33.064851ed8a2ef71e.6c7389238957f495.b2258d464e1f6196
+    45b0f5ac4f7a659e
+  after
+    90c9b3a0b04c5ee5.c36620d01f213c5c.19508a18e4bd02bf.56aa38328ac5a5d3
+    c3fa624dc7091ac1.8dbbc82047b7a17a.8f9e5b225535c349.97ee2bf508d1be5c
+    c3fa624db04c5ee5.c36620d047b7a17a.19508a18e4bd02bf.97ee2bf508d1be5c
+    a30845342f069d33.064851ed8a2ef71e.6c7389238957f495.b2258d464e1f6196
+    45b0f5ac4f7a659e
+
+VPBLENDD_256_0xB5(reg)
+  before
+    56977ccc5eb3847e.087d7147b85fdc20.6c172942df2661fc.8993ddf18218ddaf
+    40241f101855fbe1.dff56954f4ad1317.bea85fc6d00245c8.eb900083e20aa0fc
+    61a5d9e518ec0574.063eaa4700feff41.5845ede6f94dde2e.6f376dc6c238fba7
+    1364a6b8fb05e0e2.5722ae0cf85d5ccd.963cd10cf79369d9.ef54a0a441afa7dc
+    49b2150b787a63c9
+  after
+    61a5d9e51855fbe1.063eaa4700feff41.bea85fc6f94dde2e.eb900083c238fba7
+    40241f101855fbe1.dff56954f4ad1317.bea85fc6d00245c8.eb900083e20aa0fc
+    61a5d9e518ec0574.063eaa4700feff41.5845ede6f94dde2e.6f376dc6c238fba7
+    1364a6b8fb05e0e2.5722ae0cf85d5ccd.963cd10cf79369d9.ef54a0a441afa7dc
+    49b2150b787a63c9
+VPBLENDD_256_0xB5(mem)
+  before
+    571f48e685a5e998.b4ae82f45c2bc6d8.af6ef38ff6d6e5e5.d4d706a666612176
+    f665b621843cf675.9ece6904d8eaf302.ebeef4bc197657b6.6e62891ee14244b0
+    0252daa8904c468d.2e1258560acfa50b.e56e2d807b486e6b.c02b54e204c30c34
+    58b03067c6e0950c.c1c54a558e6516a0.7aba1bc53859e631.267d655d6c6fb6ae
+    fba3b7fbb4d27dc9
+  after
+    571f48e685a5e998.b4ae82f45c2bc6d8.af6ef38ff6d6e5e5.d4d706a666612176
+    f665b621843cf675.9ece6904d8eaf302.ebeef4bc197657b6.6e62891ee14244b0
+    f665b62185a5e998.9ece6904d8eaf302.af6ef38f197657b6.d4d706a6e14244b0
+    58b03067c6e0950c.c1c54a558e6516a0.7aba1bc53859e631.267d655d6c6fb6ae
+    fba3b7fbb4d27dc9
+
+VPBLENDD_256_0xB5(reg)
+  before
+    9dea462879789e31.d24c344a41059e1d.b1323b6d0138836d.869d38796db47a33
+    679f0e5056ee5594.4df1623d1dc61eed.5ba6270affd5281d.e6e502873565e79e
+    b50b0cdfe8bfde9c.a56d372c772fd0a7.1c6d0b9823c7405c.745cf4daad79e99e
+    e27d3b42ca7875f5.b68a2e046b4d7278.4ed3e183099a08d8.0dcf8a60f0fb3b5e
+    8d0a41041bf79b0b
+  after
+    b50b0cdf56ee5594.a56d372c772fd0a7.5ba6270a23c7405c.e6e50287ad79e99e
+    679f0e5056ee5594.4df1623d1dc61eed.5ba6270affd5281d.e6e502873565e79e
+    b50b0cdfe8bfde9c.a56d372c772fd0a7.1c6d0b9823c7405c.745cf4daad79e99e
+    e27d3b42ca7875f5.b68a2e046b4d7278.4ed3e183099a08d8.0dcf8a60f0fb3b5e
+    8d0a41041bf79b0b
+VPBLENDD_256_0xB5(mem)
+  before
+    d0d894b24979c2d0.4c4097e399a4554c.5c16c3af142bbe8c.4e24a7384edbbc3a
+    b207ff56978e6fda.4e9f1c30f0cfba4d.73db721b8ed5700e.78ab59218e159731
+    0f61fedd20425c55.43e8c7936b85e2a3.d7a6b833f657462b.28b6f1ac63d4d667
+    c3b40d31009f476c.8965927aa85307fb.644310e267befa0e.ba8f6c446ca5b588
+    8a83c75442137042
+  after
+    d0d894b24979c2d0.4c4097e399a4554c.5c16c3af142bbe8c.4e24a7384edbbc3a
+    b207ff56978e6fda.4e9f1c30f0cfba4d.73db721b8ed5700e.78ab59218e159731
+    b207ff564979c2d0.4e9f1c30f0cfba4d.5c16c3af8ed5700e.4e24a7388e159731
+    c3b40d31009f476c.8965927aa85307fb.644310e267befa0e.ba8f6c446ca5b588
+    8a83c75442137042
+
+VPBLENDD_256_0xB5(reg)
+  before
+    f5defd4a84aa423e.aacaa94054b3e94c.7a637b5040c56601.f67df616fe1649e4
+    55ec0b91cbf7682b.a0704df438890120.742e7d81d1653b60.6922e6bad669efd9
+    06f8eb95b6851eb3.8171753bc72e4915.d2119579f7c1c1c5.99fc5cba0cc5a718
+    66509bc2dee1a082.289b9dff1dad7e57.ef5abda44c6436db.62d8d503bb362ece
+    a083cc7f00c64026
+  after
+    06f8eb95cbf7682b.8171753bc72e4915.742e7d81f7c1c1c5.6922e6ba0cc5a718
+    55ec0b91cbf7682b.a0704df438890120.742e7d81d1653b60.6922e6bad669efd9
+    06f8eb95b6851eb3.8171753bc72e4915.d2119579f7c1c1c5.99fc5cba0cc5a718
+    66509bc2dee1a082.289b9dff1dad7e57.ef5abda44c6436db.62d8d503bb362ece
+    a083cc7f00c64026
+VPBLENDD_256_0xB5(mem)
+  before
+    2ec6bd1bf683994d.d03e1684e2952946.73b8412e57125c11.2853f36e6fdbd34f
+    ea7024c4ba79f46e.a00f58485b2ff6a8.3d96deb3906a9e6f.da4a3243fab1d7cc
+    af4c7e6467b20eb6.320f5d78e73b4257.62ffef7ae5c0019f.5f89769089727cff
+    592546e9193ca251.e28a228222444bfd.bdc0f06f712041cb.155dbcbfb9abff94
+    5611fe3e25e79c36
+  after
+    2ec6bd1bf683994d.d03e1684e2952946.73b8412e57125c11.2853f36e6fdbd34f
+    ea7024c4ba79f46e.a00f58485b2ff6a8.3d96deb3906a9e6f.da4a3243fab1d7cc
+    ea7024c4f683994d.a00f58485b2ff6a8.73b8412e906a9e6f.2853f36efab1d7cc
+    592546e9193ca251.e28a228222444bfd.bdc0f06f712041cb.155dbcbfb9abff94
+    5611fe3e25e79c36
+
+VPBLENDD_256_0x85(reg)
+  before
+    7ff33a776ab28f92.c3c8f73eed236e6b.0ccca1d0a7d64b46.2ca55d7e51971a1f
+    ec4d6bd823991353.cb02104eff712c2e.0b20d8d0127d7fdf.8a79b394a03047c8
+    fa6d8ecced276526.4b9c0a076a3499c9.3dd4c3ed00c62274.b20a6d9b7bf885f2
+    039d9dbf63e8c0b7.216563544a787066.fd325c930d3d71b0.82220781fdf990c8
+    d48ffd3043412377
+  after
+    fa6d8ecc23991353.cb02104eff712c2e.0b20d8d000c62274.8a79b3947bf885f2
+    ec4d6bd823991353.cb02104eff712c2e.0b20d8d0127d7fdf.8a79b394a03047c8
+    fa6d8ecced276526.4b9c0a076a3499c9.3dd4c3ed00c62274.b20a6d9b7bf885f2
+    039d9dbf63e8c0b7.216563544a787066.fd325c930d3d71b0.82220781fdf990c8
+    d48ffd3043412377
+VPBLENDD_256_0x85(mem)
+  before
+    861bcc9668dcfb2b.642a961d226962b1.28289621bc486f32.a787a12dd36ca840
+    7293ee9e89d5d40f.79607452c53585c1.3bb01f5bdbb05058.961f8d2af1e103d0
+    76c2e133c1386a50.9e8a33cae8d96593.38cb7aecc4bccf05.28461cf30127be0b
+    6c7620432c117819.2ff6d0f128df40d2.f94323c19279aa64.b7474af59fcb149e
+    a170149c68584234
+  after
+    861bcc9668dcfb2b.642a961d226962b1.28289621bc486f32.a787a12dd36ca840
+    7293ee9e89d5d40f.79607452c53585c1.3bb01f5bdbb05058.961f8d2af1e103d0
+    861bcc9668dcfb2b.79607452226962b1.28289621bc486f32.961f8d2af1e103d0
+    6c7620432c117819.2ff6d0f128df40d2.f94323c19279aa64.b7474af59fcb149e
+    a170149c68584234
+
+VPBLENDD_256_0x85(reg)
+  before
+    400b7455f75a837a.327928b9e76dbb97.88ee453421d5502a.5be597c762f29ba2
+    f265688ae95e141b.a29973810e57eff5.05bf90fd6e47d248.3b7d51e84f345feb
+    11caeca9d9ef31c4.99a07f88bcdccf60.02b5acbaabc002d8.73d6cd127649b16a
+    fb86fa1d63991621.f45bc7b80d061804.db1c96d575cc1b85.e0be8830f23f4f4c
+    5ffffc2ee022f3bd
+  after
+    11caeca9e95e141b.a29973810e57eff5.05bf90fdabc002d8.3b7d51e87649b16a
+    f265688ae95e141b.a29973810e57eff5.05bf90fd6e47d248.3b7d51e84f345feb
+    11caeca9d9ef31c4.99a07f88bcdccf60.02b5acbaabc002d8.73d6cd127649b16a
+    fb86fa1d63991621.f45bc7b80d061804.db1c96d575cc1b85.e0be8830f23f4f4c
+    5ffffc2ee022f3bd
+VPBLENDD_256_0x85(mem)
+  before
+    ca67a7f85bfd5ae8.0ae4905125e8ffdd.8d96c7fe1ee4860c.ec4048bc67f75afc
+    fec0047a7fdc3ff9.9b32a8b3b86927a5.411cfb470a7fd5a5.916dc0da1ecefbe9
+    d7d78fa069cc5f1e.0bba41aebaa8cb25.ecbbe07eeee5c0fa.26eef99b36dc39f7
+    3277c55635d77680.b4c954aec72f2608.6b3df18ee5210438.0610ef6b49ae52d3
+    8f1f9eb6f6cf8028
+  after
+    ca67a7f85bfd5ae8.0ae4905125e8ffdd.8d96c7fe1ee4860c.ec4048bc67f75afc
+    fec0047a7fdc3ff9.9b32a8b3b86927a5.411cfb470a7fd5a5.916dc0da1ecefbe9
+    ca67a7f85bfd5ae8.9b32a8b325e8ffdd.8d96c7fe1ee4860c.916dc0da1ecefbe9
+    3277c55635d77680.b4c954aec72f2608.6b3df18ee5210438.0610ef6b49ae52d3
+    8f1f9eb6f6cf8028
+
+VPBLENDD_256_0x85(reg)
+  before
+    1c6703e8d6cbffa3.e96e2088fe0c404e.f3abde207a8c76fa.986faa650c405d8b
+    0934196e882e0df0.d9861e23e07478b2.25acdc6e6f4bf5a9.501d87ee7e4d861e
+    b1d2dcb2a585e4ba.de8d3a11f81ddbd8.a418490543f6dfbe.6f13051558543d1e
+    728c4822cb5bc1ae.d44df140621225ee.cd3b2152911c72e8.d11d9fc6b5613bb6
+    5206d0edb2813f13
+  after
+    b1d2dcb2882e0df0.d9861e23e07478b2.25acdc6e43f6dfbe.501d87ee58543d1e
+    0934196e882e0df0.d9861e23e07478b2.25acdc6e6f4bf5a9.501d87ee7e4d861e
+    b1d2dcb2a585e4ba.de8d3a11f81ddbd8.a418490543f6dfbe.6f13051558543d1e
+    728c4822cb5bc1ae.d44df140621225ee.cd3b2152911c72e8.d11d9fc6b5613bb6
+    5206d0edb2813f13
+VPBLENDD_256_0x85(mem)
+  before
+    ce9c17766ac00361.a7af5a28963ddf77.9793bd9b3960111d.fc6061bff646e8d1
+    21a9ed4ef92845cb.ab880c32a1b67cc2.032b1c0d99125d94.8dd403ba0e027e25
+    27fad05f7cc7be7e.dc615cab8952d23a.f4e089849f34c37d.dce305ae73db7092
+    bc5b3a970fa92da5.948645ffe89e1d8c.468080eb66d3ff04.45d96206c45df9c1
+    240216309a155661
+  after
+    ce9c17766ac00361.a7af5a28963ddf77.9793bd9b3960111d.fc6061bff646e8d1
+    21a9ed4ef92845cb.ab880c32a1b67cc2.032b1c0d99125d94.8dd403ba0e027e25
+    ce9c17766ac00361.ab880c32963ddf77.9793bd9b3960111d.8dd403ba0e027e25
+    bc5b3a970fa92da5.948645ffe89e1d8c.468080eb66d3ff04.45d96206c45df9c1
+    240216309a155661
+
+VPBLENDD_256_0x29(reg)
+  before
+    d5aa1e97948ec31c.bc98a9e0cdd84c6d.3145c49a5d259b64.d5d57e2e0bfacf56
+    b41c74a84b547b9e.027d9928d262d802.0de9d3e88273866d.7cacfd3aa9b5ed9f
+    1da516cd5df4bc95.6cd5845a3b538d8f.86bd7055f3141b54.19d27bf95d11160b
+    6c92ff7366f9bfaa.d56de86224b52641.f60e964d4d9595c5.87107358421905c5
+    a235624474d977f9
+  after
+    b41c74a84b547b9e.6cd5845ad262d802.86bd70558273866d.7cacfd3a5d11160b
+    b41c74a84b547b9e.027d9928d262d802.0de9d3e88273866d.7cacfd3aa9b5ed9f
+    1da516cd5df4bc95.6cd5845a3b538d8f.86bd7055f3141b54.19d27bf95d11160b
+    6c92ff7366f9bfaa.d56de86224b52641.f60e964d4d9595c5.87107358421905c5
+    a235624474d977f9
+VPBLENDD_256_0x29(mem)
+  before
+    450cc2a7105e28d4.fd2d2c0601f0c38c.1911402ca7966043.ba28413c2c82326b
+    4e60116f32b3d482.2cc297f3cb6403e5.138d08a4e302f7c2.2f576e8f2a652cf2
+    98feca87f5e4362e.559f3ea55fe1ba61.a1adbcb6f103a7e9.afe718b0e6ccbf08
+    feb369da75fe0c05.d30f1c8759f324ad.9e3dd94ef0a72be6.97243a0df9432956
+    4459d3110254a48b
+  after
+    450cc2a7105e28d4.fd2d2c0601f0c38c.1911402ca7966043.ba28413c2c82326b
+    4e60116f32b3d482.2cc297f3cb6403e5.138d08a4e302f7c2.2f576e8f2a652cf2
+    450cc2a732b3d482.2cc297f301f0c38c.138d08a4e302f7c2.ba28413c2a652cf2
+    feb369da75fe0c05.d30f1c8759f324ad.9e3dd94ef0a72be6.97243a0df9432956
+    4459d3110254a48b
+
+VPBLENDD_256_0x29(reg)
+  before
+    10d3dc289a8d6d51.5e486a56cf0c0f33.045d2d0756277f75.e509da59f9fa40e2
+    58df52bd5f7ac055.938c4ae61f1afee3.43d66e90f2080564.54dc3bc12b06a20c
+    78c7323eeda6d842.784a847780359341.ebc6d98ec723f327.c58378749fda0c8e
+    ccd77717df9df2c5.eb4d94f30e688b7b.5a796c6d7403856a.16ca0d5c737f3b94
+    217d7767c303eb4b
+  after
+    58df52bd5f7ac055.784a84771f1afee3.ebc6d98ef2080564.54dc3bc19fda0c8e
+    58df52bd5f7ac055.938c4ae61f1afee3.43d66e90f2080564.54dc3bc12b06a20c
+    78c7323eeda6d842.784a847780359341.ebc6d98ec723f327.c58378749fda0c8e
+    ccd77717df9df2c5.eb4d94f30e688b7b.5a796c6d7403856a.16ca0d5c737f3b94
+    217d7767c303eb4b
+VPBLENDD_256_0x29(mem)
+  before
+    c4683180aa71d8df.b05d1db2d2eb4a89.c663f647e6c0a2bb.eb3b22999334f6d8
+    d956b79344d5bd7b.80a4217c611d1b3b.e756275f2348932d.f957f87ec043831e
+    3e15858cae3c574c.98f77de128bea287.28f3a128e20c1cfe.e21be88998bb68e7
+    cd6f185704b1627d.54a32f4ec45a1b18.6606e28c3e18f65a.00d1f024b628e1e0
+    b1c60bbdb71629b4
+  after
+    c4683180aa71d8df.b05d1db2d2eb4a89.c663f647e6c0a2bb.eb3b22999334f6d8
+    d956b79344d5bd7b.80a4217c611d1b3b.e756275f2348932d.f957f87ec043831e
+    c468318044d5bd7b.80a4217cd2eb4a89.e756275f2348932d.eb3b2299c043831e
+    cd6f185704b1627d.54a32f4ec45a1b18.6606e28c3e18f65a.00d1f024b628e1e0
+    b1c60bbdb71629b4
+
+VPBLENDD_256_0x29(reg)
+  before
+    4f4635be36127d10.6331ebe06141993b.10f4322dd17ec29b.7e5b66795479e06c
+    389d6b95cfa819a0.dd277a14e1f7b9b2.283683eceab5d2bb.4abda7da3f3a9461
+    c617a7ad2062380f.151d41dda1df7e0d.f8b51cf6ab8c8825.a7f9229b1b68cf64
+    56ffe772c2ce180a.e8dfbc29bc05a479.dcbcfbb7b18d2084.72dc54a8060d4da2
+    8530b8ed1938ca47
+  after
+    389d6b95cfa819a0.151d41dde1f7b9b2.f8b51cf6eab5d2bb.4abda7da1b68cf64
+    389d6b95cfa819a0.dd277a14e1f7b9b2.283683eceab5d2bb.4abda7da3f3a9461
+    c617a7ad2062380f.151d41dda1df7e0d.f8b51cf6ab8c8825.a7f9229b1b68cf64
+    56ffe772c2ce180a.e8dfbc29bc05a479.dcbcfbb7b18d2084.72dc54a8060d4da2
+    8530b8ed1938ca47
+VPBLENDD_256_0x29(mem)
+  before
+    bdc2cb5672f2017e.45a226505378f23d.323868e24f76e622.30991b9b9747d686
+    f65d07cf2d49af74.ed4d60b36fea0553.d0f6c0f6753d0133.5096780efa43e5d4
+    0ccfea4465488f54.ab4a9207b1b28bf8.9ce340504b67b1d8.98000f7c750f8a1d
+    dbe3efa236fc5f4c.dbe6b7b8b55cc1d9.73cc64dbecffb13e.6323da51a536010b
+    0f4bd7f92545854a
+  after
+    bdc2cb5672f2017e.45a226505378f23d.323868e24f76e622.30991b9b9747d686
+    f65d07cf2d49af74.ed4d60b36fea0553.d0f6c0f6753d0133.5096780efa43e5d4
+    bdc2cb562d49af74.ed4d60b35378f23d.d0f6c0f6753d0133.30991b9bfa43e5d4
+    dbe3efa236fc5f4c.dbe6b7b8b55cc1d9.73cc64dbecffb13e.6323da51a536010b
+    0f4bd7f92545854a
+
+VPSLLVD_128(reg)
+  before
+    f7c301e192c65387.3f6492d3bd70d985.da6ccb331872e3a2.317da9857511bf91
+    76d954738748a76e.141f4fc515b0b92d.022acae275822dff.b2c1893901aa94fd
+    ead7cd1da054bdaa.36e0a3635bc9bd70.b06ab0336918da9b.d26682e4add5efad
+    ae0a664a7a78d0e8.81730899abc69f79.40797a9090bf2722.6d360f70949e8acd
+    5fffadcad311238a
+  after
+    0000000000000000.0000000000000000.57100000f8000000.2c189390529fa000
+    76d954738748a76e.141f4fc515b0b92d.022acae275822dff.b2c1893901aa94fd
+    0000000000000000.0000000000000000.000000130000001b.000000040000000d
+    ae0a664a7a78d0e8.81730899abc69f79.40797a9090bf2722.6d360f70949e8acd
+    5fffadcad311238a
+VPSLLVD_128(mem)
+  before
+    848bd6df853b7310.1dbe1d65b13f1dd4.d1a3fc521fb31c75.0ea4236784034f42
+    b8a70899c628398b.953feedce036df19.023efb7cd69df090.7634a723e47090a4
+    d71ebee6b3e22f25.70d9d31aa3e85464.f00e7f03e98ed6f5.d4780230499324f7
+    bcbe75b16777120d.0cd8c98b97e1b660.77e106d177958bd1.84bb30fa52f748e5
+    e2482eed9828371a
+  after
+    848bd6df853b7310.1dbe1d65b13f1dd4.d1a3fc5200000015.0000000700000002
+    b8a70899c628398b.953feedce036df19.023efb7cd69df090.7634a723e47090a4
+    0000000000000000.0000000000000000.0000000012000000.1a53918091c24290
+    bcbe75b16777120d.0cd8c98b97e1b660.77e106d177958bd1.84bb30fa52f748e5
+    e2482eed9828371a
+
+VPSLLVD_128(reg)
+  before
+    4a6df775b9b32e43.4552a7e5fff39e6d.c387cd9c58ae42ba.73810bd399bbcb4f
+    187487fe5123690c.4da5d27097608e72.f233dab781da341d.c0ba0af56d0e529c
+    a8aadaf5fb052421.b084713d4acc9f47.f628ed49aef1c736.395a7f240f9adbe4
+    565bedc454e49a2d.49bb003834438d19.29b200bf7c8038b1.bc2ce64a9a6a2352
+    24fbbc552b8ae513
+  after
+    0000000000000000.0000000000000000.67b56e0007400000.0ba0af50d0e529c0
+    187487fe5123690c.4da5d27097608e72.f233dab781da341d.c0ba0af56d0e529c
+    0000000000000000.0000000000000000.0000000900000016.0000000400000004
+    565bedc454e49a2d.49bb003834438d19.29b200bf7c8038b1.bc2ce64a9a6a2352
+    24fbbc552b8ae513
+VPSLLVD_128(mem)
+  before
+    4c947c30dd06df52.7dd2bbd9f74c08dc.f616fb4e72cf1414.e81d11838612c339
+    12c4a2c7ccebcb3c.7b5d409f80c9aadb.9261df691f7eef63.90b41b036933a37b
+    5155ab05154466fc.ab4678818ce8bcd6.f8672776585cdb33.7bc51aaac0701522
+    e41311d8d31d6bbf.68da5fedb6347978.06f54f62387494af.069a0ae3285455db
+    8d80e81c3c6b9f52
+  after
+    4c947c30dd06df52.7dd2bbd9f74c08dc.f616fb4e00000014.0000000300000019
+    12c4a2c7ccebcb3c.7b5d409f80c9aadb.9261df691f7eef63.90b41b036933a37b
+    0000000000000000.0000000000000000.00000000f6300000.85a0d818f6000000
+    e41311d8d31d6bbf.68da5fedb6347978.06f54f62387494af.069a0ae3285455db
+    8d80e81c3c6b9f52
+
+VPSLLVD_128(reg)
+  before
+    6cc3aec098422e32.a9cc522c238398b1.1065f24e9b3a1e6e.97d8d317dbd2d504
+    00af5a3bda643f28.7a4ae9eb2181a7fd.fe332c10d785e764.86da2f835e825b5d
+    a390e8fa9b5d0edf.355b5302e72354d0.8d90099f05a10f05.b1c8e091dd91e2e7
+    b2b1526779bad604.b4c90a5d94765d56.1bc88568c11bd3fe.f26d612d730a26ce
+    26972e423df9e23d
+  after
+    0000000000000000.0000000000000000.00000000f0bcec80.5f060000412dae80
+    00af5a3bda643f28.7a4ae9eb2181a7fd.fe332c10d785e764.86da2f835e825b5d
+    0000000000000000.0000000000000000.0000001f00000005.0000001100000007
+    b2b1526779bad604.b4c90a5d94765d56.1bc88568c11bd3fe.f26d612d730a26ce
+    26972e423df9e23d
+VPSLLVD_128(mem)
+  before
+    2a10c3bf566bd361.896096ef1006d543.d4618ce941857cba.03269dd5a87d6ffa
+    d8a69d8dda6bb566.84e7aefffbce4547.72ef54910d5d6e29.a0f74c5355561fa6
+    0d233799e6064377.ff939901d69c62bd.683fde401109eece.50888e4f652f1ead
+    a6540dcf95473ac0.56b050633eff6a50.941ca6e46c95bad6.6d225f347396a9bc
+    5414bb6d1b17fc7f
+  after
+    2a10c3bf566bd361.896096ef1006d543.d4618ce90000001a.000000150000001a
+    d8a69d8dda6bb566.84e7aefffbce4547.72ef54910d5d6e29.a0f74c5355561fa6
+    0000000000000000.0000000000000000.00000000a4000000.8a60000098000000
+    a6540dcf95473ac0.56b050633eff6a50.941ca6e46c95bad6.6d225f347396a9bc
+    5414bb6d1b17fc7f
+
+VPSLLVD_256(reg)
+  before
+    62a99f68fa3c52a1.7d059b1c043a566f.e58ad090ce8097ad.d0532968370d8c6c
+    f12c0690ac93e8cf.6f015d6a4feb53ad.076c16f423ad2580.f9b1e2b8907e21bd
+    5eebec51cca8fab5.5916d0a79067eca9.1aa31dfbd8115274.eb004dc093f334f5
+    06304d17f705c4fe.150e6fbde6bade8d.797ce1118a385836.820de66c5b79823f
+    9ba329a8041bc7c8
+  after
+    0d20000019e00000.80aeb500d6a75a00.a000000058000000.f9b1e2b837a00000
+    f12c0690ac93e8cf.6f015d6a4feb53ad.076c16f423ad2580.f9b1e2b8907e21bd
+    0000001100000015.0000000700000009.0000001b00000014.0000000000000015
+    06304d17f705c4fe.150e6fbde6bade8d.797ce1118a385836.820de66c5b79823f
+    9ba329a8041bc7c8
+VPSLLVD_256(mem)
+  before
+    10909361abe5bfbb.4348264ec8388156.80b6b69a6aeee585.80415fa2d5af7471
+    be9f9f816ce42545.727f7162dbcd6e6a.76da21293b11bcbf.8b3f911a5301e2d2
+    819bc9f66222b692.ef212cc0cd4ec7e6.d3462d56722e2164.f5c275e5a2bbdd05
+    35518daaa9ae2ecd.177952d23949c776.73c6540d2d52cda3.1c1506705e68a2b5
+    5b86402522946d8e
+  after
+    109093610000001b.0000000e00000016.80b6b69a00000005.0000000200000011
+    be9f9f816ce42545.727f7162dbcd6e6a.76da21293b11bcbf.8b3f911a5301e2d2
+    0000000028000000.dc5880009a800000.00000000623797e0.2cfe4468c5a40000
+    35518daaa9ae2ecd.177952d23949c776.73c6540d2d52cda3.1c1506705e68a2b5
+    5b86402522946d8e
+
+VPSLLVD_256(reg)
+  before
+    0d5f20728bcc7a3e.b68d688b5e914823.44d5e006bc4aacc5.3225143a88887fa6
+    90eda1c2349b046f.e01bd5849cd9c2bf.d37fd0c7f1dbaf7f.ec31e8c99edcf199
+    3e7cbf80b98d48cd.8fc65081809256ce.20c42080758b0f52.7db44da78c5be1aa
+    7558761ab72e8205.9f5c556e25c6c07c.87f0cb9fe4e306e7.c17bbdbe6d100802
+    9452b6fc5d0725d0
+  after
+    90eda1c2608de000.c037ab0870afc000.d37fd0c7bdfc0000.18f4648073c66400
+    90eda1c2349b046f.e01bd5849cd9c2bf.d37fd0c7f1dbaf7f.ec31e8c99edcf199
+    000000000000000d.000000010000000e.0000000000000012.000000070000000a
+    7558761ab72e8205.9f5c556e25c6c07c.87f0cb9fe4e306e7.c17bbdbe6d100802
+    9452b6fc5d0725d0
+VPSLLVD_256(mem)
+  before
+    d205b34b794df23e.8fcdc2fbca0bedc3.eca76037a883bef4.644fcd8fd871d1ed
+    57603099ddec2c78.ea26a08f8db0c6b2.5175eec824d40a63.132c23bcefc0ac0e
+    fe2eaad1a3f38fab.e0b10a429ca7497f.ac907a0db6c661f4.f0d5c892c55cd3f6
+    a53c9cdfea6bd603.cfb8fe81947eb2d6.d8c480f279647ed4.5794b87df5d28152
+    a4b6efea1cadf3ce
+  after
+    d205b34b0000001e.0000001b00000003.eca7603700000014.0000000f0000000d
+    57603099ddec2c78.ea26a08f8db0c6b2.5175eec824d40a63.132c23bcefc0ac0e
+    0000000000000000.780000006d863590.00000000a6300000.11de00001581c000
+    a53c9cdfea6bd603.cfb8fe81947eb2d6.d8c480f279647ed4.5794b87df5d28152
+    a4b6efea1cadf3ce
+
+VPSLLVD_256(reg)
+  before
+    33876943d57a6516.275782afcc63beab.118878b610c13c62.b1df7c648aba1e2e
+    5f5323f6bdc312d4.6049d82d65e403d0.036d724eadfa24cf.13aceb4d04d5fd30
+    8666176d6f1737b7.2bde1a45d2fc619e.02b3eab606b7a6cb.d9f6489b03c0d703
+    030b431687ff1069.66e4c5e32eb69340.68a5db59b884fdff.e18a0f39a48867d6
+    0635bc1303376ad3
+  after
+    647ec0006a000000.093b05a000000000.93800000d1267800.6800000026afe980
+    5f5323f6bdc312d4.6049d82d65e403d0.036d724eadfa24cf.13aceb4d04d5fd30
+    0000000d00000017.000000050000001e.000000160000000b.0000001b00000003
+    030b431687ff1069.66e4c5e32eb69340.68a5db59b884fdff.e18a0f39a48867d6
+    0635bc1303376ad3
+VPSLLVD_256(mem)
+  before
+    23c1cb153bdb9c26.328fa35ca209d897.eb2653f4961e56e3.929141a25eeb661a
+    16fab92b6880b9fc.6e3f31ab5bc0cdec.986f4262254166b2.dcc118ff957a1dc6
+    b9ae0141a7317c81.1565eb6e4fb12915.488c0e1bf82a7eda.a3825ddbf8bd5eb0
+    eaa71f4313faa2e0.824ecc141a6728be.d649310a2ae55b86.41200aa2243e6483
+    13e71dc0b48b6cec
+  after
+    23c1cb1500000006.0000001c00000017.eb2653f400000003.000000020000001a
+    16fab92b6880b9fc.6e3f31ab5bc0cdec.986f4262254166b2.dcc118ff957a1dc6
+    00000000202e7f00.b0000000f6000000.000000002a0b3590.730463fc18000000
+    eaa71f4313faa2e0.824ecc141a6728be.d649310a2ae55b86.41200aa2243e6483
+    13e71dc0b48b6cec
+
+VPSLLVQ_128(reg)
+  before
+    752392a14530b296.83b38f1dc9e7e746.1045d006566e0892.2072291ad77fb9e4
+    c31f63b272b8722e.629ccdbce40506df.1d98f3b1a252033d.00d371391c03541d
+    59288e5dd7afe760.612f560a815fbcd6.0391328198a0566d.53378552157ee75f
+    938b0e1011a14ed7.5d38a5f5bb01c557.207e87e3d4e43ccc.f66ce151ddfa2fd6
+    c33c02229086e8ae
+  after
+    0000000000000000.0000000000000000.4067a00000000000.8e01aa0e80000000
+    c31f63b272b8722e.629ccdbce40506df.1d98f3b1a252033d.00d371391c03541d
+    0000000000000000.0000000000000000.000000000000002d.000000000000001f
+    938b0e1011a14ed7.5d38a5f5bb01c557.207e87e3d4e43ccc.f66ce151ddfa2fd6
+    c33c02229086e8ae
+VPSLLVQ_128(mem)
+  before
+    987462b14b2bcd12.cd92df35bb1be23f.33833667aff8dd8f.cea9f041f2a8f306
+    4fe07feb2af79b2e.638afd3a72a8e146.bddb864e784fbfaa.6b5f6809907ab5c8
+    c54cd5ba47f50e30.b1be648ad2d48596.d80d0f95331328d4.51ececa647e6bebe
+    d684de0cc132e242.137c1190762c0bdb.61e64f28fb4fd438.de9b7683b5764c93
+    6cba040e76b899f4
+  after
+    987462b14b2bcd12.cd92df35bb1be23f.33833667aff8dd8f.cea9f04100000006
+    4fe07feb2af79b2e.638afd3a72a8e146.bddb864e784fbfaa.6b5f6809907ab5c8
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    d684de0cc132e242.137c1190762c0bdb.61e64f28fb4fd438.de9b7683b5764c93
+    6cba040e76b899f4
+
+VPSLLVQ_128(reg)
+  before
+    589391b22537e28c.5f5318cbb2b8d290.e50effbafa3baec3.3230c1f3ed0f7f02
+    ff731adb5e806209.3a87fee536969b47.82c22a73fb8eabf7.28b8e1e22460e460
+    bba699f6be1e5714.44ea0c456ad5f993.48e28f2814b03e26.1f492ce1bc4cc07c
+    e9780c6de19dfb5b.5949bed76983a79f.92bb2843e22da3fa.f3b11cddd2e2ce82
+    80bb2fc0812bcc9f
+  after
+    0000000000000000.0000000000000000.e3aafdc000000000.0000000000000000
+    ff731adb5e806209.3a87fee536969b47.82c22a73fb8eabf7.28b8e1e22460e460
+    0000000000000000.0000000000000000.0000000000000026.000000000000003c
+    e9780c6de19dfb5b.5949bed76983a79f.92bb2843e22da3fa.f3b11cddd2e2ce82
+    80bb2fc0812bcc9f
+VPSLLVQ_128(mem)
+  before
+    a232e078e63574ff.e5356ead628a8b8a.557090874fab6398.bc98f3310091151f
+    36e3acef1d0b82cd.0b28bb23dd70424d.142aff413a5ae6a9.21c7eb5f0a69d242
+    169a0d1341bab436.b89fef39efdc5d4f.724586f1439befff.1f920d379e41130f
+    1e2381cf6e4dc465.46e4075d3358183c.4b8ba183887a38c6.1147532755a31731
+    5230bb99cd1d1855
+  after
+    a232e078e63574ff.e5356ead628a8b8a.557090874fab6398.bc98f3310000001f
+    36e3acef1d0b82cd.0b28bb23dd70424d.142aff413a5ae6a9.21c7eb5f0a69d242
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    1e2381cf6e4dc465.46e4075d3358183c.4b8ba183887a38c6.1147532755a31731
+    5230bb99cd1d1855
+
+VPSLLVQ_128(reg)
+  before
+    409a40fba23a5327.2c49830fc1d06f87.1244fefa4672afc1.7bcacde325047f29
+    35d1deb86f870452.1bda8fbf555071c7.780bd07bc3b65d8a.decc84fe35447d55
+    8f21913cd08f6682.c7a022cb47d88553.d485794e47af5f43.505e44bed446f175
+    a8d556f362deb765.0c69b61fb2746854.82fdf6de6de9f197.ad4b88111f1795b6
+    d161cce232c22643
+  after
+    0000000000000000.0000000000000000.c05e83de1db2ec50.aaa0000000000000
+    35d1deb86f870452.1bda8fbf555071c7.780bd07bc3b65d8a.decc84fe35447d55
+    0000000000000000.0000000000000000.0000000000000003.0000000000000035
+    a8d556f362deb765.0c69b61fb2746854.82fdf6de6de9f197.ad4b88111f1795b6
+    d161cce232c22643
+VPSLLVQ_128(mem)
+  before
+    976b8d1d2853604a.de3a2849c10130a5.c6ffc9a7b331d6f9.dec14198d2f04f32
+    dd3446ad1dd7fef4.8b9d03ab878310ee.d12ed64f651a8b6c.441b58e61151b4c1
+    7e8972802e59bd70.0c48e38353f091ed.08c45a04e43b42d9.0f583635c7975df0
+    5636908276e559e8.be88c43ebfd5f04e.498ccfb14da1b86d.9dc4d8f18f4f856b
+    49ab388705036adc
+  after
+    976b8d1d2853604a.de3a2849c10130a5.c6ffc9a7b331d6f9.dec1419800000032
+    dd3446ad1dd7fef4.8b9d03ab878310ee.d12ed64f651a8b6c.441b58e61151b4c1
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    5636908276e559e8.be88c43ebfd5f04e.498ccfb14da1b86d.9dc4d8f18f4f856b
+    49ab388705036adc
+
+VPSLLVQ_256(reg)
+  before
+    6f595462c64246f2.4007199d12888e88.fba8a34967bd69bc.6f51b341bc57a854
+    6b1927ed6e955657.1ac88bbe1d4d177d.20f67b0ee83438e4.55e181a24c69d0b9
+    9839ad96988ad5b8.bf4460d1b440b1f3.8abc48fbddc79871.d906b5bf19e4eac9
+    5403e3c8e0ac00c0.0a4816c3f26e1815.9348067be301c610.d68dcc8440d3b3b0
+    274140dddd42e699
+  after
+    5700000000000000.bbe8000000000000.71c8000000000000.c3034498d3a17200
+    6b1927ed6e955657.1ac88bbe1d4d177d.20f67b0ee83438e4.55e181a24c69d0b9
+    0000000000000038.0000000000000033.0000000000000031.0000000000000009
+    5403e3c8e0ac00c0.0a4816c3f26e1815.9348067be301c610.d68dcc8440d3b3b0
+    274140dddd42e699
+VPSLLVQ_256(mem)
+  before
+    aaf08fb60b3e41b1.fac4c3efe388131c.d9a1297ef4e20710.98e4b2fa956efd6d
+    396434fbe6d27e23.e5c84b773da94a78.061913f0d5a83b10.f5dd47e48f9b7b33
+    b26bab988b0b591c.735b76cc889be17f.6f7d5204b1cd7040.067fc1a56e137a0f
+    efcf717a15f490c7.ffc8415a63ea13dd.ee9861a6a55c62cc.27151ca9ce6236ac
+    b4ed545d4a15edb7
+  after
+    aaf08fb60b3e41b1.fac4c3ef0000001c.d9a1297e00000010.98e4b2fa0000002d
+    396434fbe6d27e23.e5c84b773da94a78.061913f0d5a83b10.f5dd47e48f9b7b33
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    efcf717a15f490c7.ffc8415a63ea13dd.ee9861a6a55c62cc.27151ca9ce6236ac
+    b4ed545d4a15edb7
+
+VPSLLVQ_256(reg)
+  before
+    0951662b7fb7d9dc.ce5d018ba199dd51.e45da68e67231d40.6138bcc2cd62cce2
+    828e4d8007d437c6.29e1d6b94a06fde6.8064a3d233d23a52.a227df4444ea6bac
+    7bf005c981f94322.dd276fee2d48abb1.2d2a33946081a7bf.8e3347182600fb56
+    50c38a7187b1389b.c7fa4518656aa5df.49fb523e8dbea034.02266e2a90b0370d
+    d8cdd2669e07dcfd
+  after
+    1f50df1800000000.fbcc000000000000.0000000000000000.d1113a9aeb000000
+    828e4d8007d437c6.29e1d6b94a06fde6.8064a3d233d23a52.a227df4444ea6bac
+    0000000000000022.0000000000000031.000000000000003f.0000000000000016
+    50c38a7187b1389b.c7fa4518656aa5df.49fb523e8dbea034.02266e2a90b0370d
+    d8cdd2669e07dcfd
+VPSLLVQ_256(mem)
+  before
+    edf4eeb96b10a651.5d53d9e3b58953de.c128d6220f79a59c.2e23fc3e5314615d
+    1d663f0d13d85136.feecec8da80cd097.a87b9cf8467f6813.39ed2eff501026e5
+    45f14050b36a98d7.8fd9c1dafbc6ea71.58c01586268ba970.c7a7e3ed203d2a79
+    3f5f6c6d66d23861.6c6753364b43df19.aec3bdb8cca625e0.329b17745e27aac4
+    d716c600a65be173
+  after
+    edf4eeb96b10a651.5d53d9e30000001e.c128d6220000001c.2e23fc3e0000001d
+    1d663f0d13d85136.feecec8da80cd097.a87b9cf8467f6813.39ed2eff501026e5
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3f5f6c6d66d23861.6c6753364b43df19.aec3bdb8cca625e0.329b17745e27aac4
+    d716c600a65be173
+
+VPSLLVQ_256(reg)
+  before
+    1365edfd95640d32.e87d414f491ced00.f0e29f0d3310e93a.84500e7a54de988f
+    40d186d7c7ce68ac.1c173be4775572df.79969fcc50b84481.b73286b9d93ebea9
+    bba98ffbd7262e8e.b7f9d4170d88852b.62cf51dd3dc82e9a.2337a05f77d35259
+    e03804d361f79d84.95ef8ad426c2df0f.07d9b0ad97cbe130.a429d85a4ba811cb
+    16d5aa9470c9b72c
+  after
+    61b5f1f39a2b0000.ab96f80000000000.3142e11204000000.73b27d7d52000000
+    40d186d7c7ce68ac.1c173be4775572df.79969fcc50b84481.b73286b9d93ebea9
+    000000000000000e.000000000000002b.000000000000001a.0000000000000019
+    e03804d361f79d84.95ef8ad426c2df0f.07d9b0ad97cbe130.a429d85a4ba811cb
+    16d5aa9470c9b72c
+VPSLLVQ_256(mem)
+  before
+    550793fb0343ffa8.0bc9dfcd02ceef39.92c5d807de0e3fb8.c3ffb9a9f94d9aef
+    3d8b0e7a2021a76b.98a91e5355356159.8a463a9d53785f52.f48f663b00da9485
+    aa2d97fde16f69a0.e324bbd3f7ba2f91.593f2c809e0dfd08.f4d3b5d147ff0d9c
+    78b8aa7065390173.4986b4b883e9948d.db7c2b9dddd8d207.2118a1d66a483fe0
+    d6aa26b6063f66fe
+  after
+    550793fb0343ffa8.0bc9dfcd00000039.92c5d80700000038.c3ffb9a90000002f
+    3d8b0e7a2021a76b.98a91e5355356159.8a463a9d53785f52.f48f663b00da9485
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    78b8aa7065390173.4986b4b883e9948d.db7c2b9dddd8d207.2118a1d66a483fe0
+    d6aa26b6063f66fe
+
+VPSRLVD_128(reg)
+  before
+    6ed440ddb772c0a2.83f9c3bfc58c2d11.241b056e964ccdf9.ecc9b2e12ce59d7a
+    46e4ecb7186c8777.a7bd5fd62074a7a6.d12fa861cb721680.68f23d37a641188e
+    bb2425b0c5baf82a.bfcef9a18ffb2c5d.ab0d9bfdbfe4aace.2bc3488a67f7006f
+    27e1e7345be74e67.a9f90d0d302f7763.1002d9ae0d30c690.100750c88c131148
+    f58bcfdc30a20646
+  after
+    0000000000000000.0000000000000000.0000000600032dc8.001a3c8f00014c82
+    46e4ecb7186c8777.a7bd5fd62074a7a6.d12fa861cb721680.68f23d37a641188e
+    0000000000000000.0000000000000000.0000001d0000000e.0000000a0000000f
+    27e1e7345be74e67.a9f90d0d302f7763.1002d9ae0d30c690.100750c88c131148
+    f58bcfdc30a20646
+VPSRLVD_128(mem)
+  before
+    b51c43b270af9c94.e8682eb0757fc7d9.400917041f1c45e4.5b5b5ee052e1a672
+    2c84273667468f5f.5802f68eb00f9d2c.60cc947477cc520b.e86226002983861f
+    358ff85432749bd2.d4fe3c3ca7220c0d.e40cfe47554d5a05.13632e782ea3a144
+    ae0b30f9ec447b1a.b9a7fb24f7445228.aa97d36bd4ab18fd.38ac71b6fecc358d
+    b288eb25358b7ba5
+  after
+    b51c43b270af9c94.e8682eb0757fc7d9.4009170400000004.0000000000000012
+    2c84273667468f5f.5802f68eb00f9d2c.60cc947477cc520b.e86226002983861f
+    0000000000000000.0000000000000000.00000000077cc520.e862260000000a60
+    ae0b30f9ec447b1a.b9a7fb24f7445228.aa97d36bd4ab18fd.38ac71b6fecc358d
+    b288eb25358b7ba5
+
+VPSRLVD_128(reg)
+  before
+    df4298306e6bb239.72c34d0fb2c2ec63.61482fb43b02a929.8d378ecb10f14920
+    1a27744545f814f4.5c82ca839ffbaad8.292fd45710e74ebb.68b9ac53262ba999
+    bf837ccf57bfde83.4a152342d0fa70a6.6da6e779117f7c8a.19e8a8ef3165f496
+    29a2ab3a3f4a4c92.1648d53760ccfbf9.89fa6386db577144.7a92fd8b4eace540
+    69822913990b39c6
+  after
+    0000000000000000.0000000000000000.00000014000439d3.0000d17300000098
+    1a27744545f814f4.5c82ca839ffbaad8.292fd45710e74ebb.68b9ac53262ba999
+    0000000000000000.0000000000000000.000000190000000a.0000000f00000016
+    29a2ab3a3f4a4c92.1648d53760ccfbf9.89fa6386db577144.7a92fd8b4eace540
+    69822913990b39c6
+VPSRLVD_128(mem)
+  before
+    c083a8732c8eac51.b6d0fdf29a2899cc.9ee75b4d6c7b07fc.da7644ea09fa6792
+    5d62f4982642f910.c0596e6404e202dd.bcbe30720f1550dc.ba68861137f59b23
+    1aeb8b6ca032dd2d.a588fbfa1706c373.4e99d39165a691c4.861b256702d248a1
+    d5eae8ddb96b14d5.bfaa9e21721f1838.2e43bd968b3987e1.9ada1e59061fabb8
+    52f26c51de680016
+  after
+    c083a8732c8eac51.b6d0fdf29a2899cc.9ee75b4d0000001c.0000000a00000012
+    5d62f4982642f910.c0596e6404e202dd.bcbe30720f1550dc.ba68861137f59b23
+    0000000000000000.0000000000000000.0000000000000000.002e9a2100000dfd
+    d5eae8ddb96b14d5.bfaa9e21721f1838.2e43bd968b3987e1.9ada1e59061fabb8
+    52f26c51de680016
+
+VPSRLVD_128(reg)
+  before
+    0aaf0bbd26388364.682b87d58af85a33.6c0b5546aeba3cd8.39896b6d9ddaee5e
+    1e5df7087b1b6f51.b079e44232e56a74.06f71cd469626c00.4c375a03b6958168
+    e9482d9d799d0187.89a27c0fca3e01c3.ebbaed363fa3e45c.41190542f277fd2b
+    c9bba7eaba4b75b2.d070ca287010db4d.75a0c6dacb0adf97.f5fbe8176e8b1ed2
+    44a9806f45dea08a
+  after
+    0000000000000000.0000000000000000.0000001b00000006.130dd6800016d2b0
+    1e5df7087b1b6f51.b079e44232e56a74.06f71cd469626c00.4c375a03b6958168
+    0000000000000000.0000000000000000.000000160000001c.000000020000000b
+    c9bba7eaba4b75b2.d070ca287010db4d.75a0c6dacb0adf97.f5fbe8176e8b1ed2
+    44a9806f45dea08a
+VPSRLVD_128(mem)
+  before
+    0bee4734947b3e7e.1904635addb0077f.5fb04a794066b43e.02f4a22baa229a5e
+    2498bb54766eb5db.356d5d597c59f29a.132e78ee554d47c1.ec047d957777515c
+    6c7157ba08c4c1cd.79438f5333d073af.c8b6d074cbd05103.901a5384ce96403e
+    bf46985265871d7f.41d2f7b49fa4c669.5a13cff5bffb8d2f.4a8320644c0aa2b0
+    778be1a18d5fb45d
+  after
+    0bee4734947b3e7e.1904635addb0077f.5fb04a790000001e.0000000b0000001e
+    2498bb54766eb5db.356d5d597c59f29a.132e78ee554d47c1.ec047d957777515c
+    0000000000000000.0000000000000000.0000000000000001.001d808f00000001
+    bf46985265871d7f.41d2f7b49fa4c669.5a13cff5bffb8d2f.4a8320644c0aa2b0
+    778be1a18d5fb45d
+
+VPSRLVD_256(reg)
+  before
+    717d91a82c22b2f2.f9e3f808aac6871e.e8668fe95b5e2674.a613f05e4ddab972
+    95a72ce3c5ded81b.f613f5c8f28ab8d5.cc4b555c038cd07d.8680af9c907a8ff8
+    3f53afc0f51f6183.92a40a7e5ae16fd1.48cc457b34b90030.d7278999a4e7cbec
+    cbcf14aa57728ad6.a960b316fdd6663e.b73659b08a72f138.75d4f843a62b2b7b
+    3c537a85b15469d0
+  after
+    95a72ce318bbdb03.0000000300007945.000000190000038c.00000043000907a8
+    95a72ce3c5ded81b.f613f5c8f28ab8d5.cc4b555c038cd07d.8680af9c907a8ff8
+    0000000000000003.0000001e00000011.0000001b00000010.000000190000000c
+    cbcf14aa57728ad6.a960b316fdd6663e.b73659b08a72f138.75d4f843a62b2b7b
+    3c537a85b15469d0
+VPSRLVD_256(mem)
+  before
+    08708a4be26d4218.9565590c88628ec1.17156c7df7765b47.77d68f69a042e142
+    b4f6a4815483727f.f9627954237cabf0.b88db29d65cc0719.e2f6e21113b50afa
+    1eb2451324a1b430.531170edc54a1b0f.6895006463e429df.56e24e147e58a80b
+    2171e7ed6dd3c558.ffc03b43095b1bc9.03f9d2bc0ccb7bc6.2de8cfde7db6f921
+    c55362dbad5b37ea
+  after
+    08708a4b00000018.0000000c00000001.17156c7d00000007.0000000900000002
+    b4f6a4815483727f.f9627954237cabf0.b88db29d65cc0719.e2f6e21113b50afa
+    0000000000000054.000f962711be55f8.0000000000cb980e.00717b7104ed42be
+    2171e7ed6dd3c558.ffc03b43095b1bc9.03f9d2bc0ccb7bc6.2de8cfde7db6f921
+    c55362dbad5b37ea
+
+VPSRLVD_256(reg)
+  before
+    786e0277a9d39f10.99fd08fb4c266122.59b9d4c28c38e6ca.6584a4937c8cbafa
+    a486ab1e0eab6c3f.6223232adca544bb.bd4a39d6e96fb9bf.6904f3d4d033a2a6
+    a3e7593d786fdc24.58aeb4643a5c294f.87bd66ecbd8bd054.ed43396b23cdeef7
+    d2dd083e81a9296b.566c38978158cd09.135f556ea3186734.cc0ef44492655b18
+    e2319f4b3907a536
+  after
+    0000000500eab6c3.062232320001b94a.000bd4a300000e96.000d209e000001a0
+    a486ab1e0eab6c3f.6223232adca544bb.bd4a39d6e96fb9bf.6904f3d4d033a2a6
+    0000001d00000004.000000040000000f.0000000c00000014.0000000b00000017
+    d2dd083e81a9296b.566c38978158cd09.135f556ea3186734.cc0ef44492655b18
+    e2319f4b3907a536
+VPSRLVD_256(mem)
+  before
+    0a78b76c32c0887d.8eb4b58fc8e790bf.3a272aadcda4eb15.bd7c03ca37a3b90c
+    22afb6939c9bbf18.31b85b9ae7b54ccd.dfad06943b4d41a1.e15f6d6a16b70388
+    05a11aad90a40733.1834f6cd7a9d9a40.20c84837e75d89d7.da568ebcdce18153
+    8e1c5ea42ce81bfc.9f7582931d2db6c5.db456c82ece280e3.06ab622b24ac6f1a
+    c0ace6238aa40888
+  after
+    0a78b76c0000001d.0000000f0000001f.3a272aad00000015.0000000a0000000c
+    22afb6939c9bbf18.31b85b9ae7b54ccd.dfad06943b4d41a1.e15f6d6a16b70388
+    0000000000000004.0000637000000001.00000000000001da.003857db00016b70
+    8e1c5ea42ce81bfc.9f7582931d2db6c5.db456c82ece280e3.06ab622b24ac6f1a
+    c0ace6238aa40888
+
+VPSRLVD_256(reg)
+  before
+    63a3150fab55894a.9beafe668c72b99d.23c7fc586ef1dc08.eaefef6166e8e1f2
+    4ddcea5e224c2e0c.06d877ddcb4f9b42.fe765f88067347b4.2b944cc072796a30
+    d9a564798c153279.adb243f7068a7e18.8dcea78f83423476.78ffff8b2ba4d5c8
+    62497ccd853ad23d.6a43e09f582f1d4b.2c1bd0d981e7dff9.affb84aeae72dee7
+    aa55581616f143b9
+  after
+    0000002600000011.0000000d000000cb.0001fcec00000019.000572890072796a
+    4ddcea5e224c2e0c.06d877ddcb4f9b42.fe765f88067347b4.2b944cc072796a30
+    0000001900000019.0000001700000018.0000000f00000016.0000000b00000008
+    62497ccd853ad23d.6a43e09f582f1d4b.2c1bd0d981e7dff9.affb84aeae72dee7
+    aa55581616f143b9
+VPSRLVD_256(mem)
+  before
+    47d9f5ad802cbe69.46132fc6a7494a06.1b59c9c1dd4a3606.37a8d6d29bf083ea
+    6053d961072f0c23.df507ad191cdd67e.9abf7b49b2e88376.0ac3b6e76de85ef5
+    d28f7f1dc807e815.8b4d5858dc53b151.c4407023f314c1c6.01b66b82945baac5
+    7a5864ccdebf1068.a454c5c92666182c.76a9263bbbdbab23.78cef111acd6a307
+    cb5744fe50e48766
+  after
+    47d9f5ad00000009.0000000600000006.1b59c9c100000006.000000120000000a
+    6053d961072f0c23.df507ad191cdd67e.9abf7b49b2e88376.0ac3b6e76de85ef5
+    0000000000039786.037d41eb02473759.0000000002cba20d.000002b0001b7a17
+    7a5864ccdebf1068.a454c5c92666182c.76a9263bbbdbab23.78cef111acd6a307
+    cb5744fe50e48766
+
+VPSRLVQ_128(reg)
+  before
+    569d61b71c12908f.327c025c66643e4b.88b1be8f0b9247bb.8ac6187e2647feb9
+    75eb43a7adeafa2e.d7c5d7b87b012fe8.91b23d15266479a9.dd63c2d6516776b3
+    838fe63a9efb03ee.46005ecc3aa29e6c.1ca240c91467eba3.4c4ba1305744cf3e
+    ded346dc8ccee57c.59f91384be534802.86ccc2167027d954.b14c2f7955ecc486
+    e930ea9c666a12b6
+  after
+    0000000000000000.0000000000000000.00000000123647a2.0000000000000003
+    75eb43a7adeafa2e.d7c5d7b87b012fe8.91b23d15266479a9.dd63c2d6516776b3
+    0000000000000000.0000000000000000.0000000000000023.000000000000003e
+    ded346dc8ccee57c.59f91384be534802.86ccc2167027d954.b14c2f7955ecc486
+    e930ea9c666a12b6
+VPSRLVQ_128(mem)
+  before
+    d0c44d85a7cb75fa.e1045ff912f1dd83.ed7c73cd2321e9d7.297dc068d6317f69
+    42d4d41f331aa87f.e86e2efdcdef27b0.de54f99186183d16.6201342ce310188e
+    1b2cfc5827636871.4f5dae555855feae.084f20bd0342ffec.8da41ccc3350e16e
+    3798401b9eb271fc.711cdb6b50ad9f2b.4737673eb4adec85.07b273b5617e16b6
+    2a7635540925f212
+  after
+    d0c44d85a7cb75fa.e1045ff912f1dd83.ed7c73cd2321e9d7.297dc06800000029
+    42d4d41f331aa87f.e86e2efdcdef27b0.de54f99186183d16.6201342ce310188e
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3798401b9eb271fc.711cdb6b50ad9f2b.4737673eb4adec85.07b273b5617e16b6
+    2a7635540925f212
+
+VPSRLVQ_128(reg)
+  before
+    533e5e13c8d1b22d.72e41c55b5147f4b.acf9b1ad508646d0.77d947feb864c00c
+    de54eb60390f92b3.a8db0cf087954d8a.5a3e2c85f4692f4c.74013deb297436ae
+    2705d7a6f96ace51.b54a8cd9303f98e6.d9384961dae49549.1a7bc6f023e80c96
+    8a9d1e50a36fa1b3.75fd19fdcd201c8b.843303ac9b82b573.45135df9c3ccfcf1
+    d1947ef2242dc2eb
+  after
+    0000000000000000.0000000000000000.002d1f1642fa3497.000001d004f7aca5
+    de54eb60390f92b3.a8db0cf087954d8a.5a3e2c85f4692f4c.74013deb297436ae
+    0000000000000000.0000000000000000.0000000000000009.0000000000000016
+    8a9d1e50a36fa1b3.75fd19fdcd201c8b.843303ac9b82b573.45135df9c3ccfcf1
+    d1947ef2242dc2eb
+VPSRLVQ_128(mem)
+  before
+    9acba6c763161caf.6368bcccd4a84885.c4c02e467a4395a5.b67b56d2d5d0cb77
+    7c8550649b93c469.0eb1ad8527a3ff72.7e5f47a252b5be5f.cd5c3e3f24591201
+    538cf7b5e9b17647.e7c6eee839ec0226.7fa6e0fb718154e5.2321b85f22a9c7bc
+    faad1aa7687bf073.4af17a5fa50e8c4e.a360753ff4b31364.1618bf9e6e4d2655
+    008b4f68a2d06b77
+  after
+    9acba6c763161caf.6368bcccd4a84885.c4c02e467a4395a5.b67b56d200000037
+    7c8550649b93c469.0eb1ad8527a3ff72.7e5f47a252b5be5f.cd5c3e3f24591201
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    faad1aa7687bf073.4af17a5fa50e8c4e.a360753ff4b31364.1618bf9e6e4d2655
+    008b4f68a2d06b77
+
+VPSRLVQ_128(reg)
+  before
+    3ec764295abed1d0.4fb3322434fdec19.937f4d570895da96.c55a8359f758b608
+    2d18fb4e33a49509.2d6cbc1a6a442766.1ebc633cfd0d28a9.c3618535947bfafc
+    27ca0e41c80df3d0.6fa23573265b5d86.47f4b97b2003b134.783ff7bfea289b6d
+    89289b70b68526d1.f323181d834e49a4.69734a7f0e02b2e3.bfc056e4126c5587
+    76b21c8e2b52e375
+  after
+    0000000000000000.0000000000000000.00000000000001eb.0000000000061b0c
+    2d18fb4e33a49509.2d6cbc1a6a442766.1ebc633cfd0d28a9.c3618535947bfafc
+    0000000000000000.0000000000000000.0000000000000034.000000000000002d
+    89289b70b68526d1.f323181d834e49a4.69734a7f0e02b2e3.bfc056e4126c5587
+    76b21c8e2b52e375
+VPSRLVQ_128(mem)
+  before
+    78e0c7aa4ee70264.af809d4698996bb8.94b9e1039d2aa8ed.e28412b363976761
+    a015d2259a356d7f.f61c112f0bd4fe30.2d310d1191fa368d.0d750d85ba4d0b5b
+    cc1eb9e9284ae2f3.b849f196aac21be5.9c5616337bcaafaf.46903760afb0dc7c
+    d6c7f9e416321beb.52533be912f0fd85.bbf67a5576a7ce80.e8228db0df4c1471
+    51770ae1e5aeefe6
+  after
+    78e0c7aa4ee70264.af809d4698996bb8.94b9e1039d2aa8ed.e28412b300000021
+    a015d2259a356d7f.f61c112f0bd4fe30.2d310d1191fa368d.0d750d85ba4d0b5b
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    d6c7f9e416321beb.52533be912f0fd85.bbf67a5576a7ce80.e8228db0df4c1471
+    51770ae1e5aeefe6
+
+VPSRLVQ_256(reg)
+  before
+    dbdaaa5f5e61ab86.9cdc0c0180f8d594.2086ea94dee9e1b9.68dcb4639e9c502b
+    e4996996e5f282fd.f829702b81a8cb1a.7e2efa01aa390330.7dd3404a10b6f1dd
+    c7fe44f317ecb1f9.c87aa050364ebba8.c896689d136d9f94.d8a89bf4e7ff6cc1
+    df5736e08fdb7324.e69a195bbaf75f6b.5a0c2ed4b510f091.5327404e40867e04
+    cc1cab453654e3d2
+  after
+    0000000000000072.0000000000f82970.000007e2efa01aa3.3ee9a025085b78ee
+    e4996996e5f282fd.f829702b81a8cb1a.7e2efa01aa390330.7dd3404a10b6f1dd
+    0000000000000039.0000000000000028.0000000000000014.0000000000000001
+    df5736e08fdb7324.e69a195bbaf75f6b.5a0c2ed4b510f091.5327404e40867e04
+    cc1cab453654e3d2
+VPSRLVQ_256(mem)
+  before
+    1d5358c4e6775756.8aee3bcbea4c062a.2f56553929ae748f.90da4a132baf33d5
+    2397c3b66bfa95bd.22104f1ec3caa4b8.807ad2d4a080b53f.c64db7c511d4a309
+    bbb66909e2ea5a33.04096e47b7e1897a.b3d20b193a77dfa7.58b17155040e7edc
+    bf7ac4a8665162e3.8d2495b1611ef31b.a52a7cf514a2aef5.a25175319fe6fef8
+    007bbec47fea6009
+  after
+    1d5358c4e6775756.8aee3bcb0000002a.2f5655390000000f.90da4a1300000015
+    2397c3b66bfa95bd.22104f1ec3caa4b8.807ad2d4a080b53f.c64db7c511d4a309
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    bf7ac4a8665162e3.8d2495b1611ef31b.a52a7cf514a2aef5.a25175319fe6fef8
+    007bbec47fea6009
+
+VPSRLVQ_256(reg)
+  before
+    ce79487a40a5dfbc.0cb0537f133e68f9.17afbfc85e0c1c48.334ea1524a0ade52
+    68990fbf7ca3b8bd.7e248f7a06ba2aa3.fff4e8f8493741ac.3709f71ef6bd2aed
+    29250fffd27127b7.f1a2f5865bd3620a.a2400cadbe2c9df4.8e29f94337c64ff0
+    6f6a45a6db9a6857.42f5028d2d94cc5d.5adf28535a766ecc.147823af26320987
+    a5c3f14de20c13e0
+  after
+    00000000000000d1.001f8923de81ae8a.0000000000000fff.0000000000003709
+    68990fbf7ca3b8bd.7e248f7a06ba2aa3.fff4e8f8493741ac.3709f71ef6bd2aed
+    0000000000000037.000000000000000a.0000000000000034.0000000000000030
+    6f6a45a6db9a6857.42f5028d2d94cc5d.5adf28535a766ecc.147823af26320987
+    a5c3f14de20c13e0
+VPSRLVQ_256(mem)
+  before
+    1dd6e00984602a24.95b3ac2036abb649.4beb317c980a26c6.841d3656b9a1eedf
+    587d6bcf2a3b0a82.f74e40da7c2f4f38.e94efe40b9402a71.7c463423763a5ada
+    32830e8bf0a76f24.f086fd3e4bb26cd1.f8ebe5c4ab42948c.9fa51d242dcced68
+    87b64529f1b31436.dea6dfba3fc14cbf.548e63f38b1d2240.4788eec77be3e437
+    d139a176fb0c7bf0
+  after
+    1dd6e00984602a24.95b3ac2000000009.4beb317c00000006.841d36560000001f
+    587d6bcf2a3b0a82.f74e40da7c2f4f38.e94efe40b9402a71.7c463423763a5ada
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    87b64529f1b31436.dea6dfba3fc14cbf.548e63f38b1d2240.4788eec77be3e437
+    d139a176fb0c7bf0
+
+VPSRLVQ_256(reg)
+  before
+    9905349f4ad2ee41.33e08c964a68b6e6.1bfbe3b9f3e729af.d903f3bb75db8ebc
+    fb38a2ad03c178d6.12ce60bc16d4115d.05d104a604b0404d.63161107838b952a
+    531ee80cc366565a.004c3c897103e1ca.f6743eef0da8cd44.ce9239c3d436f3b6
+    fd030028254cc47a.d9269ce778ffe157.4c308effaa5c0b40.f544e7db81ea638d
+    b6f9983ba9b3a2db
+  after
+    0000003ece28ab40.0004b3982f05b504.005d104a604b0404.000000000000018c
+    fb38a2ad03c178d6.12ce60bc16d4115d.05d104a604b0404d.63161107838b952a
+    000000000000001a.000000000000000a.0000000000000004.0000000000000036
+    fd030028254cc47a.d9269ce778ffe157.4c308effaa5c0b40.f544e7db81ea638d
+    b6f9983ba9b3a2db
+VPSRLVQ_256(mem)
+  before
+    ec7bc7cf659b6ccc.5532e86dc600fde2.7927fcc446d6ce30.6150ee42785838ef
+    7397f084d3b07d8a.b7f89b47410d3f3d.bc1dd80bf8946482.93225c2512268dfa
+    27188f440ffe9044.7fa1152233ffc438.7dd2ada8aa435e79.3cf0d31215544910
+    e3cc21fd348f6224.0979526b3762c87e.9a13f68777f17941.ba074f761d6ea6db
+    67b3cdbec4fee108
+  after
+    ec7bc7cf659b6ccc.5532e86d00000022.7927fcc400000030.6150ee420000002f
+    7397f084d3b07d8a.b7f89b47410d3f3d.bc1dd80bf8946482.93225c2512268dfa
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    e3cc21fd348f6224.0979526b3762c87e.9a13f68777f17941.ba074f761d6ea6db
+    67b3cdbec4fee108
+
+VPSRAVD_128(reg)
+  before
+    a0404754a9923642.857d20995f71ae57.b0cc4f8ce9c389bc.eeac2f947baa7104
+    c2f9bba665b5e136.e8f90a06abb03208.d2e606f3e6ad419e.5469d4bbd37802f1
+    272c241f97f41d8f.e70a5b2f3457a864.ca12750bcaad2dcf.aa1662e89a69e732
+    2c237f2ad8da27fa.607d8d001772cd97.f49e983f304e88fc.cb7e5408ed89ddf4
+    926f2605e7e39f62
+  after
+    0000000000000000.0000000000000000.fffa5cc0ffffcd5a.005469d4fffff4de
+    c2f9bba665b5e136.e8f90a06abb03208.d2e606f3e6ad419e.5469d4bbd37802f1
+    0000000000000000.0000000000000000.0000000b0000000f.0000000800000012
+    2c237f2ad8da27fa.607d8d001772cd97.f49e983f304e88fc.cb7e5408ed89ddf4
+    926f2605e7e39f62
+VPSRAVD_128(mem)
+  before
+    ddb354cda483eba9.2d2bc635c6f43a23.2d1d1e656f0d5ccc.abd469fdb41c8fd0
+    86175a4a42757bf4.8690f7abfdcc94b5.2cb8884a5935132f.4d01e6b0f3a37ef8
+    6b67b56adac60c71.939e0df818f06f5d.38194a9bf1f5acee.35710ac48870911f
+    666fe0188a815949.b1a00489b4ec07c6.2c0bdd455159e333.be70d1a5100e04f3
+    464937c0260a121d
+  after
+    ddb354cda483eba9.2d2bc635c6f43a23.2d1d1e650000000c.0000001d00000010
+    86175a4a42757bf4.8690f7abfdcc94b5.2cb8884a5935132f.4d01e6b0f3a37ef8
+    0000000000000000.0000000000000000.0000000000059351.00000002fffff3a3
+    666fe0188a815949.b1a00489b4ec07c6.2c0bdd455159e333.be70d1a5100e04f3
+    464937c0260a121d
+
+VPSRAVD_128(reg)
+  before
+    274a397f67eff74c.55fa57406eb220ab.3ae4d9c86c4b9a9d.e55bbe32986e762a
+    bfbdd14f6e49f129.12d696cea1661bc0.8bb48622dc99628e.40d56a4fe03f1f00
+    68effd9dd8a53a63.7acd1aae3fa807b7.005d0904a1629c44.17455c8945d99be1
+    802cb9d4408e0fa4.6aac5ecc65859fba.f52c5dd85733846c.487710cbe347a5f8
+    ad360201d895fb72
+  after
+    0000000000000000.0000000000000000.f8bb4862fdc99628.00206ab5f01f8f80
+    bfbdd14f6e49f129.12d696cea1661bc0.8bb48622dc99628e.40d56a4fe03f1f00
+    0000000000000000.0000000000000000.0000000400000004.0000000900000001
+    802cb9d4408e0fa4.6aac5ecc65859fba.f52c5dd85733846c.487710cbe347a5f8
+    ad360201d895fb72
+VPSRAVD_128(mem)
+  before
+    2350af163dcf577a.61c0ff5f4390ac99.bc3fde152e08a0f6.c56a7f0c999755b1
+    868f92f83002763d.69f7cdac7c384ded.4d521673b73dc696.ce66690b031a4cc0
+    b3c02792cd3913e7.f21c1d2688112d4d.fab082d41c30cdc7.6b6b19413249a545
+    84afead12f81eba3.597ced3902a78964.9d279f2277ee70b4.f8c48a1ac1af9beb
+    d1beb8024dd96c5f
+  after
+    2350af163dcf577a.61c0ff5f4390ac99.bc3fde1500000016.0000000c00000011
+    868f92f83002763d.69f7cdac7c384ded.4d521673b73dc696.ce66690b031a4cc0
+    0000000000000000.0000000000000000.00000000fffffedc.fffce6660000018d
+    84afead12f81eba3.597ced3902a78964.9d279f2277ee70b4.f8c48a1ac1af9beb
+    d1beb8024dd96c5f
+
+VPSRAVD_128(reg)
+  before
+    52a59f657152524c.d628589f72e5ba9e.fb64395186879cdf.1381e84be7826c8a
+    d6c53cafcaa6895f.85f6ebe9b3713c03.321efbdab13ca46a.388bd93a85f97d75
+    bb6a8a4cf3614f43.6de7219c0e312cff.5bf631411f52dbb0.e811eedb705e5ea0
+    5ce085a98910dea6.6ac575a29e3247be.d23ad6f06b567d5e.ffdfa41ac1bdcc38
+    59c175e397238368
+  after
+    0000000000000000.0000000000000000.190f7dedffffb13c.0000000785f97d75
+    d6c53cafcaa6895f.85f6ebe9b3713c03.321efbdab13ca46a.388bd93a85f97d75
+    0000000000000000.0000000000000000.0000000100000010.0000001b00000000
+    5ce085a98910dea6.6ac575a29e3247be.d23ad6f06b567d5e.ffdfa41ac1bdcc38
+    59c175e397238368
+VPSRAVD_128(mem)
+  before
+    d283df220b9b3f5d.14722930273e7331.585d64e97f80496b.f335e65431d3c81f
+    46f05ec33b31bb43.416e734f69784993.137b685bce25ed33.1b325dda0e55f6a0
+    91d56cb243f1b445.3e1e5d71ec499d75.77ebffe6a62ff141.a47e38ed9d69448d
+    8ffe87dc3ee8e690.66cfe5014c3dab86.6079a47524a90fc2.eb6572f87b9aee91
+    4c33076943742f59
+  after
+    d283df220b9b3f5d.14722930273e7331.585d64e90000000b.000000140000001f
+    46f05ec33b31bb43.416e734f69784993.137b685bce25ed33.1b325dda0e55f6a0
+    0000000000000000.0000000000000000.00000000fff9c4bd.000001b300000000
+    8ffe87dc3ee8e690.66cfe5014c3dab86.6079a47524a90fc2.eb6572f87b9aee91
+    4c33076943742f59
+
+VPSRAVD_256(reg)
+  before
+    2334f3ab92844490.1c37292b48220d4f.17cd066d24e1af70.aaf0d3f463a003e2
+    ccb4332a035569e3.144cd08d7ea9e4af.ab63bd2010c0e5e0.311d094f801f8bcc
+    a3fec1523374d9fe.5309f8edfc8b28dc.80df0486ad668881.d1cdc072963261ad
+    04609b8fbd6bd18c.b5391b36ddd49501.f08bd90b9760d500.66ca764ac2e641b0
+    cbe1a6c11f46e902
+  after
+    fffff32d00000000.0000a26600000007.fead8ef4086072f0.00000c47fffc00fc
+    ccb4332a035569e3.144cd08d7ea9e4af.ab63bd2010c0e5e0.311d094f801f8bcc
+    000000120000001e.0000000d0000001c.0000000600000001.000000120000000d
+    04609b8fbd6bd18c.b5391b36ddd49501.f08bd90b9760d500.66ca764ac2e641b0
+    cbe1a6c11f46e902
+VPSRAVD_256(mem)
+  before
+    deddcdc4ca5e13cf.4a24bc4e3dc98d3a.15aab7563d8ee64a.59b5371c69390708
+    7a8c6540de3b7c42.d39721f9511749b3.5126473839c7d8e5.15a71a23bf7d5c46
+    7bb8ec2077e8e088.fa05c4fe92e340a4.447a47c8ec8b27fc.81ae7f8d36b90e66
+    bc2fdd4fb271facc.1bb9a3c79eb8b0b9.ca7233f373e48fbb.fa1561c769785913
+    da2abb3cf5467bfa
+  after
+    deddcdc40000000f.0000000e0000001a.15aab7560000000a.0000001c00000008
+    7a8c6540de3b7c42.d39721f9511749b3.5126473839c7d8e5.15a71a23bf7d5c46
+    00000000ffffbc76.ffff4e5c00000014.00000000000e71f6.00000001ffbf7d5c
+    bc2fdd4fb271facc.1bb9a3c79eb8b0b9.ca7233f373e48fbb.fa1561c769785913
+    da2abb3cf5467bfa
+
+VPSRAVD_256(reg)
+  before
+    7e378c5775b0aec7.1bbbb4bbabe3873b.9201b9c21123d29d.bed988a3e9e1cb4f
+    428acd8686412f25.7229ed4f7d494300.ba27025a86aee5fd.fe7dc1c56b8b98e4
+    826d7b34c38539c0.9f4405f744b0ea48.f1787bfb99e82384.64285a4614f0b1a5
+    9b2d93cdc8090a45.7dda779f1d22373f.92401e11e75ac9df.cea7cf10011bd4bf
+    16c69c114d18bb5e
+  after
+    0000042886412f25.000000e4007d4943.fffffff7f86aee5f.fff9f707035c5cc7
+    428acd8686412f25.7229ed4f7d494300.ba27025a86aee5fd.fe7dc1c56b8b98e4
+    0000001400000000.0000001700000008.0000001b00000004.0000000600000005
+    9b2d93cdc8090a45.7dda779f1d22373f.92401e11e75ac9df.cea7cf10011bd4bf
+    16c69c114d18bb5e
+VPSRAVD_256(mem)
+  before
+    1a513e3414f423ad.e71610bd3358dc60.e7b6bf3323aee710.f8cbe9080b9213b9
+    b414306573bac7d8.c373ee709dfeecbd.bba359a0735db6e8.8165d74ca21b3cc0
+    c2dbee908677650d.8b922a53a4887507.d36ec2d0283d5ff3.885ae5494782819d
+    1e71f4a16835b776.9bbdbed0e481b4ea.0ce374b15f599f5c.68f50d6b97521eff
+    7f834d1f2d174f8f
+  after
+    1a513e340000000d.0000001d00000000.e7b6bf3300000010.0000000800000019
+    b414306573bac7d8.c373ee709dfeecbd.bba359a0735db6e8.8165d74ca21b3cc0
+    ffffffff00039dd6.fffffffe9dfeecbd.ffffffff0000735d.ff8165d7ffffffd1
+    1e71f4a16835b776.9bbdbed0e481b4ea.0ce374b15f599f5c.68f50d6b97521eff
+    7f834d1f2d174f8f
+
+VPSRAVD_256(reg)
+  before
+    2750a0cfa65e4ffc.a6a3bf8435027a3f.4f41a855f875e513.43ceed2d33bd3250
+    bea802e99db25bf0.343dca250aea6995.036ae34c7cf1442e.52fba832c176d4fa
+    9ed770d8af9faf18.a50b917003f841a4.13846c230d800ce7.163522ab248f4087
+    2429e40777b2861f.d5d990523b38be97.dbdb3d4546af7ae9.6c4ad58379153322
+    2e043fa8db1369f8
+  after
+    ffffffbeffffff9d.0000343d00aea699.006d5c6900f9e288.000a5f75ff82eda9
+    bea802e99db25bf0.343dca250aea6995.036ae34c7cf1442e.52fba832c176d4fa
+    0000001800000018.0000001000000004.0000000300000007.0000000b00000007
+    2429e40777b2861f.d5d990523b38be97.dbdb3d4546af7ae9.6c4ad58379153322
+    2e043fa8db1369f8
+VPSRAVD_256(mem)
+  before
+    3930db0567959d35.ade95ce492761db2.a17343b5ceb69c9b.b7ba541dc409cae0
+    699a258738a78d04.9365d3da9b77b07c.e3a42787d97f96db.026fac19221a3879
+    9b0e9a186a56f392.33e745552e427b2a.783ab7b2779f6984.1a4441a4fd6eff60
+    a957b5a51aae8b0a.eabcafc2e862b968.3cff6f24c520d1c2.5a860f2bf1925c40
+    1e81131898118bc6
+  after
+    3930db0500000015.0000000400000012.a17343b50000001b.0000001d00000000
+    699a258738a78d04.9365d3da9b77b07c.e3a42787d97f96db.026fac19221a3879
+    00000000000001c5.f9365d3dffffe6dd.fffffffffffffffb.00000000221a3879
+    a957b5a51aae8b0a.eabcafc2e862b968.3cff6f24c520d1c2.5a860f2bf1925c40
+    1e81131898118bc6
+
+VPBROADCASTB_128(reg)
+  before
+    c18148d89078c79e.7043f21b64b91399.12300c8b6563a7e1.0bc0cbc8de1089c0
+    a1d2aad875524d73.cc9ccd646285456b.088e581d3fd28142.c149488adf7a4eab
+    19bf3582e22b59f2.992fc26e331dddab.28248fe5153a8336.3a666056e36bdcae
+    8495e644748f26c6.b3c84e23f18e9986.ce3cad4d8127e86a.52e2911806eeeff6
+    e58b56bd650f42af
+  after
+    0000000000000000.0000000000000000.f6f6f6f6f6f6f6f6.f6f6f6f6f6f6f6f6
+    a1d2aad875524d73.cc9ccd646285456b.088e581d3fd28142.c149488adf7a4eab
+    19bf3582e22b59f2.992fc26e331dddab.28248fe5153a8336.3a666056e36bdcae
+    8495e644748f26c6.b3c84e23f18e9986.ce3cad4d8127e86a.52e2911806eeeff6
+    e58b56bd650f42af
+VPBROADCASTB_128(mem)
+  before
+    cf2b2c2f1cdb9204.40a1b788c60bf29c.f633eb71b8e33327.5624afc31f26ed8a
+    ec8f8d5b465d9b22.a82da6bc742bf71f.3e3c1743a52868bb.1d268fb28cc2cd41
+    1883f72effa11934.1785ae4b1b7971fd.67ae4e85d36af46e.7d8f4c856387c63c
+    2fd3e59364b4c767.ebf7cca157839edf.4d560a235fb4926b.d3aadfaa41021226
+    7bc5458cc1beedac
+  after
+    cf2b2c2f1cdb9204.40a1b788c60bf29c.f633eb71b8e33327.5624afc31f26ed8a
+    ec8f8d5b465d9b22.a82da6bc742bf71f.3e3c1743a52868bb.1d268fb28cc2cd41
+    0000000000000000.0000000000000000.8a8a8a8a8a8a8a8a.8a8a8a8a8a8a8a8a
+    2fd3e59364b4c767.ebf7cca157839edf.4d560a235fb4926b.d3aadfaa41021226
+    7bc5458cc1beedac
+
+VPBROADCASTB_128(reg)
+  before
+    d02b7b988048957a.0d4ad47591a162e7.7ecefa2ac3d4b873.cb01c9096412ffdf
+    30277c38192a443b.8eb63ec2a174a6df.2d553652fbf9fc65.bf790624ff91f7f5
+    f60644d928f2379c.8de1a165b03a4e7c.55d97b869c7da561.048b3d5e4b3c35da
+    7e14cfe74a2caa48.e898784adbfe17e9.50a6c53041ecf112.7602eaa4641f77b9
+    f0ac89e3674777c0
+  after
+    0000000000000000.0000000000000000.b9b9b9b9b9b9b9b9.b9b9b9b9b9b9b9b9
+    30277c38192a443b.8eb63ec2a174a6df.2d553652fbf9fc65.bf790624ff91f7f5
+    f60644d928f2379c.8de1a165b03a4e7c.55d97b869c7da561.048b3d5e4b3c35da
+    7e14cfe74a2caa48.e898784adbfe17e9.50a6c53041ecf112.7602eaa4641f77b9
+    f0ac89e3674777c0
+VPBROADCASTB_128(mem)
+  before
+    5053970670bff118.249d1acf1b63d8ec.7aa73f5d3dccbd53.7c0811bd87d31a25
+    71c58ff89a93a3f0.44ec20fc3623fe34.1fda728af3b1fce5.334b5a9a09bd5d45
+    2ecceda701d04772.3a4fddd938f858cb.b2fd8ebe18b88fcd.d2bb9c326436f51f
+    65352efec2819aca.61104dd4bb6f225e.11db0ee3c9ed3334.b5a3d3f033cb1f5e
+    3950fb42130717af
+  after
+    5053970670bff118.249d1acf1b63d8ec.7aa73f5d3dccbd53.7c0811bd87d31a25
+    71c58ff89a93a3f0.44ec20fc3623fe34.1fda728af3b1fce5.334b5a9a09bd5d45
+    0000000000000000.0000000000000000.2525252525252525.2525252525252525
+    65352efec2819aca.61104dd4bb6f225e.11db0ee3c9ed3334.b5a3d3f033cb1f5e
+    3950fb42130717af
+
+VPBROADCASTB_128(reg)
+  before
+    b80f11939f7619be.f1cccce9f9b25725.177d6c585e149798.16426ee6215da349
+    8f290f4f74a56036.ad5c4554c1703caf.b7e037d1bb71f426.9ffc2ab43d139d35
+    1aedf3e22d1f29c4.77b3142b36c60393.9c86a9ab6e1475b3.86d6be38381bdb27
+    b5a6b8b86771b013.299bb65b75c168fe.24babe52148855ed.a99ca75d2e821a49
+    e21a60113d5315c8
+  after
+    0000000000000000.0000000000000000.4949494949494949.4949494949494949
+    8f290f4f74a56036.ad5c4554c1703caf.b7e037d1bb71f426.9ffc2ab43d139d35
+    1aedf3e22d1f29c4.77b3142b36c60393.9c86a9ab6e1475b3.86d6be38381bdb27
+    b5a6b8b86771b013.299bb65b75c168fe.24babe52148855ed.a99ca75d2e821a49
+    e21a60113d5315c8
+VPBROADCASTB_128(mem)
+  before
+    0f1b653f7e9b8acf.bc9f5b3ebd2530d0.a1e1a5ce996b291b.a9ca7232485ad17d
+    0a6d32d30f64338b.8b26d7decbc9e7a7.b9515f72bfd30018.8900c2b8a7152512
+    b1da44b90cbdcd27.7e8527052ee90e43.4eb75f310202aa1e.1eaaa94ecc458d55
+    de2f15de8faf13d0.f10949208110e451.3ddf21f97f06e25b.c6122362547744f5
+    db852c5eda35879c
+  after
+    0f1b653f7e9b8acf.bc9f5b3ebd2530d0.a1e1a5ce996b291b.a9ca7232485ad17d
+    0a6d32d30f64338b.8b26d7decbc9e7a7.b9515f72bfd30018.8900c2b8a7152512
+    0000000000000000.0000000000000000.7d7d7d7d7d7d7d7d.7d7d7d7d7d7d7d7d
+    de2f15de8faf13d0.f10949208110e451.3ddf21f97f06e25b.c6122362547744f5
+    db852c5eda35879c
+
+VPBROADCASTB_256(reg)
+  before
+    bb4ec0b0fb0e92f7.6e38232cb748c2b2.40fe399a61caa37c.609421b551ea66fb
+    c0bbdcc3528ba0b1.3ec1ea909e9396f8.c7b0f1de6aa38971.94a4dc5195baf02a
+    48177b037b3aee77.2895e4f7609d4bcf.e26a6f5a3728cfdc.b5d9cdb966833c13
+    adad99dc13a7b8f4.09828f4b1a709c62.ed7aae7964e4b468.a00070d9e05108e2
+    2fe5419d202e0ec5
+  after
+    e2e2e2e2e2e2e2e2.e2e2e2e2e2e2e2e2.e2e2e2e2e2e2e2e2.e2e2e2e2e2e2e2e2
+    c0bbdcc3528ba0b1.3ec1ea909e9396f8.c7b0f1de6aa38971.94a4dc5195baf02a
+    48177b037b3aee77.2895e4f7609d4bcf.e26a6f5a3728cfdc.b5d9cdb966833c13
+    adad99dc13a7b8f4.09828f4b1a709c62.ed7aae7964e4b468.a00070d9e05108e2
+    2fe5419d202e0ec5
+VPBROADCASTB_256(mem)
+  before
+    3f54bcf142280be5.4cca32bab65c3ad5.bd52667ae71b46de.442aaaa78e6472c2
+    ac185ec1614abb71.81ba4209ffe7afc6.20d2e56fe4a7056f.42c7605050324695
+    52ffa2fa99a1d993.a9c9c6358ad45472.0ecf88162c229440.459dcae147dd6c8e
+    0dd3048607382278.1e43b9abf4ad6586.6312cb5bdc97b07e.a8f8e6c40eee1f58
+    c623af6641f39ca0
+  after
+    3f54bcf142280be5.4cca32bab65c3ad5.bd52667ae71b46de.442aaaa78e6472c2
+    ac185ec1614abb71.81ba4209ffe7afc6.20d2e56fe4a7056f.42c7605050324695
+    c2c2c2c2c2c2c2c2.c2c2c2c2c2c2c2c2.c2c2c2c2c2c2c2c2.c2c2c2c2c2c2c2c2
+    0dd3048607382278.1e43b9abf4ad6586.6312cb5bdc97b07e.a8f8e6c40eee1f58
+    c623af6641f39ca0
+
+VPBROADCASTB_256(reg)
+  before
+    fd6c21347e771f12.b9610053c71b524b.3d7317d5d9011dad.fb6a2b2a0f131555
+    a81d39995e07e459.3275134cf3562438.62a7dd21d459b994.b3a2236fe2a17ff0
+    2283f2007f2e2622.54dbb85caaf6566d.e92905f9814375e7.65852f16704da97b
+    c9ea47d77d782219.fb5f6b710507a214.2e468dcb7d4a8d51.ede0cc0cd5245023
+    297f743b2e313014
+  after
+    2323232323232323.2323232323232323.2323232323232323.2323232323232323
+    a81d39995e07e459.3275134cf3562438.62a7dd21d459b994.b3a2236fe2a17ff0
+    2283f2007f2e2622.54dbb85caaf6566d.e92905f9814375e7.65852f16704da97b
+    c9ea47d77d782219.fb5f6b710507a214.2e468dcb7d4a8d51.ede0cc0cd5245023
+    297f743b2e313014
+VPBROADCASTB_256(mem)
+  before
+    f42ea59097800579.f79e3789f37214e9.03cca8762393c459.8d4a700263fa3c7f
+    2ab9daf82b1e8a7f.0aebbb827da7373f.48f0eb571da87a6a.6281aa0ad0e0bf1c
+    a7ec8f5e06167c52.5c1cd12eb8a3c8c6.a695b10012527e70.0936384f5f8752d5
+    479241ae4574971d.4b7f73f940f2032b.f988755e1b9b8c9a.deb7153dad7b3156
+    3d4e3c405549974a
+  after
+    f42ea59097800579.f79e3789f37214e9.03cca8762393c459.8d4a700263fa3c7f
+    2ab9daf82b1e8a7f.0aebbb827da7373f.48f0eb571da87a6a.6281aa0ad0e0bf1c
+    7f7f7f7f7f7f7f7f.7f7f7f7f7f7f7f7f.7f7f7f7f7f7f7f7f.7f7f7f7f7f7f7f7f
+    479241ae4574971d.4b7f73f940f2032b.f988755e1b9b8c9a.deb7153dad7b3156
+    3d4e3c405549974a
+
+VPBROADCASTB_256(reg)
+  before
+    8248acc4f37cc15e.e6796bd40345960d.315e9f4faf212419.1d95b35b56916212
+    09f15e3624a1eb3d.5f6b89bc5d94364d.6c06519da4bc663d.ed87e7e5df40ba04
+    2e954f0084435094.903517526e6d330a.56c3834db94d0643.472c8ee6d1b2519d
+    4d807c90aeee2d0f.54a3918253dd4970.4ce133cd8a6240d6.064e234c49f5e309
+    05bb220162152b73
+  after
+    0909090909090909.0909090909090909.0909090909090909.0909090909090909
+    09f15e3624a1eb3d.5f6b89bc5d94364d.6c06519da4bc663d.ed87e7e5df40ba04
+    2e954f0084435094.903517526e6d330a.56c3834db94d0643.472c8ee6d1b2519d
+    4d807c90aeee2d0f.54a3918253dd4970.4ce133cd8a6240d6.064e234c49f5e309
+    05bb220162152b73
+VPBROADCASTB_256(mem)
+  before
+    223d07f3381ce608.c1fde0513e2ebe59.8680743827ef33aa.aaab5c87b4874fa3
+    38a14e0de819d0f4.e85a78aed1903e1f.049a3a6107afaee4.cd6ffae9d2467056
+    22b3743b8d15a562.1de13e15039feb0c.a8bb61e70e2a754c.0f77095e812ddf9a
+    be3ef469441e207f.bbdf30f16fe8ffcd.50b065b8596b460c.cd1086525cc8d81b
+    63866b31ffa19686
+  after
+    223d07f3381ce608.c1fde0513e2ebe59.8680743827ef33aa.aaab5c87b4874fa3
+    38a14e0de819d0f4.e85a78aed1903e1f.049a3a6107afaee4.cd6ffae9d2467056
+    a3a3a3a3a3a3a3a3.a3a3a3a3a3a3a3a3.a3a3a3a3a3a3a3a3.a3a3a3a3a3a3a3a3
+    be3ef469441e207f.bbdf30f16fe8ffcd.50b065b8596b460c.cd1086525cc8d81b
+    63866b31ffa19686
+
+VPBROADCASTW_128(reg)
+  before
+    2d25b66707475687.e6104a84293ffe76.20a048aeb1f6b60d.d745c0be037edb50
+    87396360104354ca.78f3f2765784fb74.a77085b866554e79.1846f0e72970f145
+    cd0d6c88b523ccfa.4eb4682ceafad2a4.ab9ae07c299201bd.f07f701ee64c4317
+    5cefcf4c9372f9c3.451f2993ffac4033.8a6c566497380c84.3cbcbc4f561f8ff1
+    d6c8506696f48f00
+  after
+    0000000000000000.0000000000000000.8ff18ff18ff18ff1.8ff18ff18ff18ff1
+    87396360104354ca.78f3f2765784fb74.a77085b866554e79.1846f0e72970f145
+    cd0d6c88b523ccfa.4eb4682ceafad2a4.ab9ae07c299201bd.f07f701ee64c4317
+    5cefcf4c9372f9c3.451f2993ffac4033.8a6c566497380c84.3cbcbc4f561f8ff1
+    d6c8506696f48f00
+VPBROADCASTW_128(mem)
+  before
+    9c70a94fc2d7006f.8e29871644bc18d2.3a00b095b1a7014d.9e30e4dd4bd3aa7b
+    688141f6f5d49d6c.bf089054678e64d3.072379201cf5d11d.45338554e2ef194e
+    17c496474bf82320.4dd8e67196731b72.8a53011f5ea56bd0.d9c13534f71993a8
+    8608242fe14e4eb9.93e485d86df8775a.9d5ec27e90c08c91.b826f1e827dd5436
+    3cadb3de0dc59aa3
+  after
+    9c70a94fc2d7006f.8e29871644bc18d2.3a00b095b1a7014d.9e30e4dd4bd3aa7b
+    688141f6f5d49d6c.bf089054678e64d3.072379201cf5d11d.45338554e2ef194e
+    0000000000000000.0000000000000000.aa7baa7baa7baa7b.aa7baa7baa7baa7b
+    8608242fe14e4eb9.93e485d86df8775a.9d5ec27e90c08c91.b826f1e827dd5436
+    3cadb3de0dc59aa3
+
+VPBROADCASTW_128(reg)
+  before
+    c2a47981455f9f9c.8f186598d2e3da63.ed7a6af789a7b537.1d0e3a29d054f08e
+    a7553e3d6c37a0cc.0fbfd7703bc2824a.b7e49039850f10b6.e630e40c3a6c52f0
+    450dff7e1ed7d8e0.e2cbf4a237f70399.4d70f30afeb9c583.d4903c13e91570e5
+    f918b6b0f6cd8584.e4063b19e38e197c.0b6890d68f331049.c4fabf2af95a0499
+    9039e73d8747ca38
+  after
+    0000000000000000.0000000000000000.0499049904990499.0499049904990499
+    a7553e3d6c37a0cc.0fbfd7703bc2824a.b7e49039850f10b6.e630e40c3a6c52f0
+    450dff7e1ed7d8e0.e2cbf4a237f70399.4d70f30afeb9c583.d4903c13e91570e5
+    f918b6b0f6cd8584.e4063b19e38e197c.0b6890d68f331049.c4fabf2af95a0499
+    9039e73d8747ca38
+VPBROADCASTW_128(mem)
+  before
+    151b3239afe880ed.1fc2614090a5e163.f13d25c35a947f21.4c196109d5082db5
+    2f6a1b088c4ae0e4.1457fb9889e9292a.e63c2f8bb915f2b1.6ecf64106bc55773
+    baf31f983a79a64a.322380257d279884.9dcfd65d1b1b2e5b.ccd59455eef4cc2e
+    9282b8d4d67f904b.d671ec5407eb6b1e.f3c195269db4ef49.c179ed46f924c593
+    ab056c4d29de814d
+  after
+    151b3239afe880ed.1fc2614090a5e163.f13d25c35a947f21.4c196109d5082db5
+    2f6a1b088c4ae0e4.1457fb9889e9292a.e63c2f8bb915f2b1.6ecf64106bc55773
+    0000000000000000.0000000000000000.2db52db52db52db5.2db52db52db52db5
+    9282b8d4d67f904b.d671ec5407eb6b1e.f3c195269db4ef49.c179ed46f924c593
+    ab056c4d29de814d
+
+VPBROADCASTW_128(reg)
+  before
+    e5c60cd819b03a09.93e364a77b6a5813.5c8e3c90c3c0dea4.c4e0e8d05aebf0a7
+    ca08c95265252d72.99e29eff4645bbcd.20c66b444e322dc1.ecf64c486ecdeea2
+    b8179f27aaca9635.804ae2c7521d75a5.7e6575de43cd9322.46d03b7bf665a566
+    093f8ac3842ab0fe.24e9adebbcfd41c8.d2b756c93f1e4d72.b03a33530ebfd11f
+    0500afbed1e82df8
+  after
+    0000000000000000.0000000000000000.d11fd11fd11fd11f.d11fd11fd11fd11f
+    ca08c95265252d72.99e29eff4645bbcd.20c66b444e322dc1.ecf64c486ecdeea2
+    b8179f27aaca9635.804ae2c7521d75a5.7e6575de43cd9322.46d03b7bf665a566
+    093f8ac3842ab0fe.24e9adebbcfd41c8.d2b756c93f1e4d72.b03a33530ebfd11f
+    0500afbed1e82df8
+VPBROADCASTW_128(mem)
+  before
+    21ed2ba65beb761d.1bcb87928ed1b878.608979589ff1dc62.78080a71ddb0975e
+    e0cf24f9c9d468bb.48099000644cea50.12f7c4f81806029e.cca38e42ba0fac92
+    1e7014a236b0befe.ed43a379a3268232.15ff09b842476ea9.2ad5dda871c8cab9
+    b69d798dbf8a3511.67c6bc6ae6ebbbc9.456cc5853ac0deaf.eeebf3109e662b80
+    742fcde4de760b92
+  after
+    21ed2ba65beb761d.1bcb87928ed1b878.608979589ff1dc62.78080a71ddb0975e
+    e0cf24f9c9d468bb.48099000644cea50.12f7c4f81806029e.cca38e42ba0fac92
+    0000000000000000.0000000000000000.975e975e975e975e.975e975e975e975e
+    b69d798dbf8a3511.67c6bc6ae6ebbbc9.456cc5853ac0deaf.eeebf3109e662b80
+    742fcde4de760b92
+
+VPBROADCASTW_256(reg)
+  before
+    18ed6592cd83a89c.8622cfa6806e8921.10ded53dca28d2c1.7e0c72491b7e0cdb
+    3573b98406193c4a.69cb90d99369755a.45d7ec60ea6803c8.9ba98ef2018cb45a
+    290cc42825c40447.3a6439131786b7e7.63fcfc3de3378988.7a11946b09f69457
+    4f0382e9c7113b40.d7b8473e25d109f5.c49b01425022a2ad.f60e009f4fc966ff
+    ea6d4e7cee10e77d
+  after
+    66ff66ff66ff66ff.66ff66ff66ff66ff.66ff66ff66ff66ff.66ff66ff66ff66ff
+    3573b98406193c4a.69cb90d99369755a.45d7ec60ea6803c8.9ba98ef2018cb45a
+    290cc42825c40447.3a6439131786b7e7.63fcfc3de3378988.7a11946b09f69457
+    4f0382e9c7113b40.d7b8473e25d109f5.c49b01425022a2ad.f60e009f4fc966ff
+    ea6d4e7cee10e77d
+VPBROADCASTW_256(mem)
+  before
+    34fafbed02d8d2ff.03a5f033888b1ee0.1b953548dc5727af.c5fef7daceb488e4
+    ae8082dea82be5ae.a03e087203bfe9d4.e1c57f1b5523cf42.c272db71f87977d9
+    36cd5f3cfb17dab9.841ac812d438d8c7.0715a2a5ae42bbd9.1843a8736bfead37
+    a6ab0ef118a86d49.09852b7f98822666.675119d103bea8a1.21bd5a4cc2ce64ab
+    3a2ced689975d8e0
+  after
+    34fafbed02d8d2ff.03a5f033888b1ee0.1b953548dc5727af.c5fef7daceb488e4
+    ae8082dea82be5ae.a03e087203bfe9d4.e1c57f1b5523cf42.c272db71f87977d9
+    88e488e488e488e4.88e488e488e488e4.88e488e488e488e4.88e488e488e488e4
+    a6ab0ef118a86d49.09852b7f98822666.675119d103bea8a1.21bd5a4cc2ce64ab
+    3a2ced689975d8e0
+
+VPBROADCASTW_256(reg)
+  before
+    bfdb5d338d804783.dce70cea1ae95c8d.8dca2e25ea2a115d.df455f8a6fa651c6
+    0c17a71a3a7aeb40.b24dd3141ee661af.6b37cb7067bad257.49bcf3be0e037473
+    7d2dc6873bf001c2.05a9e1593fab39dc.fe1600cdaac1a801.82844e58fde3cbd5
+    6e67b6e82c6cc5b6.b2c7b2a79a459f3f.a4b4c8a650c8cd07.6767ed4458511218
+    d2324d6f3a590767
+  after
+    1218121812181218.1218121812181218.1218121812181218.1218121812181218
+    0c17a71a3a7aeb40.b24dd3141ee661af.6b37cb7067bad257.49bcf3be0e037473
+    7d2dc6873bf001c2.05a9e1593fab39dc.fe1600cdaac1a801.82844e58fde3cbd5
+    6e67b6e82c6cc5b6.b2c7b2a79a459f3f.a4b4c8a650c8cd07.6767ed4458511218
+    d2324d6f3a590767
+VPBROADCASTW_256(mem)
+  before
+    a0b1e9c3bf0864ee.3b1273a7aa7d72c7.9372c0e94abf5105.b75d1f69f45d7e14
+    aeb03d2d0469e6db.4079fa3251ac45a2.8578890b6c260959.945d0181330cf7d5
+    d6fac69a24894957.d8ea45f4bb877af3.65a387f91b858368.98006b59a85f74f5
+    f55dfef53c734891.61af525987994c65.0dc0389f74e87d5e.1d91585fefe43021
+    805dc4fea5276804
+  after
+    a0b1e9c3bf0864ee.3b1273a7aa7d72c7.9372c0e94abf5105.b75d1f69f45d7e14
+    aeb03d2d0469e6db.4079fa3251ac45a2.8578890b6c260959.945d0181330cf7d5
+    7e147e147e147e14.7e147e147e147e14.7e147e147e147e14.7e147e147e147e14
+    f55dfef53c734891.61af525987994c65.0dc0389f74e87d5e.1d91585fefe43021
+    805dc4fea5276804
+
+VPBROADCASTW_256(reg)
+  before
+    1eb1aba266b2574b.e7a363296733a0b3.36151ccd4f6ef9a4.5a9b18e9925bb166
+    51d70ab8cd133aa2.889a7024c2d60dea.b369a0bcaf93bb5e.2800a1c391ebdcad
+    761cdbaa76d64eb4.b40ca2d168664a61.34f5d8924493ce3d.53ba51198ea3ba5e
+    e9cb1ce5fe85cc2e.48c5731c76f21445.1405c2bca9fb70ed.b797a3d8a59006a6
+    306113eaf0bd7db1
+  after
+    06a606a606a606a6.06a606a606a606a6.06a606a606a606a6.06a606a606a606a6
+    51d70ab8cd133aa2.889a7024c2d60dea.b369a0bcaf93bb5e.2800a1c391ebdcad
+    761cdbaa76d64eb4.b40ca2d168664a61.34f5d8924493ce3d.53ba51198ea3ba5e
+    e9cb1ce5fe85cc2e.48c5731c76f21445.1405c2bca9fb70ed.b797a3d8a59006a6
+    306113eaf0bd7db1
+VPBROADCASTW_256(mem)
+  before
+    9ae51d3d8e36dbaa.0732c9d601aef3bb.1e9361f1078327c1.b1e759a47a56db1b
+    d1ef3ebc9908dbbe.2a9bdce719ddfd08.1341e73c38273f02.66e59ab854304c73
+    b14bf0532d3e3b18.af535386e59c27c1.039a81e924e91734.8e4d7f62d316fea0
+    16c5b1ed67e4b5e5.f2a7281eff7aac91.ca6babe5e7d66c82.8769061092932e4f
+    ab862a2d2e33182c
+  after
+    9ae51d3d8e36dbaa.0732c9d601aef3bb.1e9361f1078327c1.b1e759a47a56db1b
+    d1ef3ebc9908dbbe.2a9bdce719ddfd08.1341e73c38273f02.66e59ab854304c73
+    db1bdb1bdb1bdb1b.db1bdb1bdb1bdb1b.db1bdb1bdb1bdb1b.db1bdb1bdb1bdb1b
+    16c5b1ed67e4b5e5.f2a7281eff7aac91.ca6babe5e7d66c82.8769061092932e4f
+    ab862a2d2e33182c
+
+VPBROADCASTD_128(reg)
+  before
+    58f0e7254282f8e2.dc28fd7862070551.4fe0591a0300ca25.4380e21a9ff9fa18
+    e8f239646a0d0a1e.df424edf3bb2e987.224de2e88ebcbb28.4ca5a176655e7d24
+    b9da1d564360898b.fbdd220f0df11bb4.c739bdf33b39bc47.c0a664e35712b0d0
+    25f28e676805b2d6.0cc6f4f2f5d15703.9aefe8a8a603082e.7b4fa74f90205048
+    596be7a52d9419b9
+  after
+    0000000000000000.0000000000000000.9020504890205048.9020504890205048
+    e8f239646a0d0a1e.df424edf3bb2e987.224de2e88ebcbb28.4ca5a176655e7d24
+    b9da1d564360898b.fbdd220f0df11bb4.c739bdf33b39bc47.c0a664e35712b0d0
+    25f28e676805b2d6.0cc6f4f2f5d15703.9aefe8a8a603082e.7b4fa74f90205048
+    596be7a52d9419b9
+VPBROADCASTD_128(mem)
+  before
+    36c89ed14a7bc64f.8a888803768ac0aa.eec940750e5d5ba1.f7bd5e716da7dc88
+    ed304abf01e01436.42e60796097af0b4.7cb1828574a1e1ba.3aed1bbb29b07402
+    5c70665b71cfbf99.aa59078dbb627fa0.944c370c44aaa679.bfcc1bf278ab0c47
+    5e546f91b45582a4.1f2c85522bcda619.1164d9f89a83660a.e1a65b83f622df04
+    fec6d6d93ea42be5
+  after
+    36c89ed14a7bc64f.8a888803768ac0aa.eec940750e5d5ba1.f7bd5e716da7dc88
+    ed304abf01e01436.42e60796097af0b4.7cb1828574a1e1ba.3aed1bbb29b07402
+    0000000000000000.0000000000000000.6da7dc886da7dc88.6da7dc886da7dc88
+    5e546f91b45582a4.1f2c85522bcda619.1164d9f89a83660a.e1a65b83f622df04
+    fec6d6d93ea42be5
+
+VPBROADCASTD_128(reg)
+  before
+    717a885fecba2995.cea7df4de67d1b84.fbad7c53f347a4cc.cec7e6349138dc9b
+    960c6d839df218c1.8a37347c24544465.9b26e8fbaf5db364.a93fd9ab45d6c556
+    c8c981b0edd73214.6dcee90889e4b972.5ce5c5b6fb9a108e.7d992f4bd368dd67
+    65fdc15277f6b43b.52397adf313b38d8.983410ef758bf6f6.25a162ff57fae0fb
+    7f22f0b4ec99893e
+  after
+    0000000000000000.0000000000000000.57fae0fb57fae0fb.57fae0fb57fae0fb
+    960c6d839df218c1.8a37347c24544465.9b26e8fbaf5db364.a93fd9ab45d6c556
+    c8c981b0edd73214.6dcee90889e4b972.5ce5c5b6fb9a108e.7d992f4bd368dd67
+    65fdc15277f6b43b.52397adf313b38d8.983410ef758bf6f6.25a162ff57fae0fb
+    7f22f0b4ec99893e
+VPBROADCASTD_128(mem)
+  before
+    65ea5454ae50955b.c8f428d5d7dadae1.174464eb39657bc3.ac60c414b6baa347
+    b5c30bccba2cc07f.4cfab2a5aa0fdfb3.96bb211abd6d3f5e.f4b5dd915cb5512e
+    497a8f082b37c5d6.4f5b5b2e8b21005d.ad6a2f57d85f3fd5.cc7e57d003083d57
+    ffdb5ef51e7f618b.2b6220dd179d798a.361d098ea7473956.90092e3e463da26d
+    9ca05f47c1e3bd1c
+  after
+    65ea5454ae50955b.c8f428d5d7dadae1.174464eb39657bc3.ac60c414b6baa347
+    b5c30bccba2cc07f.4cfab2a5aa0fdfb3.96bb211abd6d3f5e.f4b5dd915cb5512e
+    0000000000000000.0000000000000000.b6baa347b6baa347.b6baa347b6baa347
+    ffdb5ef51e7f618b.2b6220dd179d798a.361d098ea7473956.90092e3e463da26d
+    9ca05f47c1e3bd1c
+
+VPBROADCASTD_128(reg)
+  before
+    4c90e5581183ca11.b1b2f37eae1050ca.3e5cfb1ce90f86e7.0e9f2cab4532e70a
+    fc25bcdcd2ab05f8.3ccbca8ef8f54ec1.e296ea599e016220.12bd129ace2b0520
+    08abe03e9fe6a97c.7df15f13173a1699.7559e9fed1014ae0.1c4439475f3f51c2
+    cc6e4eec14c0f34a.4ef22ff828eb6581.51f4f2791f9a7ad4.09fe1c9f1378851d
+    b6b7378c07e55e5c
+  after
+    0000000000000000.0000000000000000.1378851d1378851d.1378851d1378851d
+    fc25bcdcd2ab05f8.3ccbca8ef8f54ec1.e296ea599e016220.12bd129ace2b0520
+    08abe03e9fe6a97c.7df15f13173a1699.7559e9fed1014ae0.1c4439475f3f51c2
+    cc6e4eec14c0f34a.4ef22ff828eb6581.51f4f2791f9a7ad4.09fe1c9f1378851d
+    b6b7378c07e55e5c
+VPBROADCASTD_128(mem)
+  before
+    fd3d07fc578f98ac.a4ba0051cec61f0e.8c98b5294615f7a3.d4b2033523592da7
+    bb5b06d91d84ee38.ecdaf4d968836973.13b06d928dc3872c.58de169e79c9a006
+    ccdcb21178cf1d2d.ff1b26f07f840c26.c006d31f1a02d347.3ac62a20be760f9c
+    0c8d868f817de1b7.3bc99002ae5445d2.6d6663bc09dd9521.d7b438278eedb616
+    89f53d1f84b9d020
+  after
+    fd3d07fc578f98ac.a4ba0051cec61f0e.8c98b5294615f7a3.d4b2033523592da7
+    bb5b06d91d84ee38.ecdaf4d968836973.13b06d928dc3872c.58de169e79c9a006
+    0000000000000000.0000000000000000.23592da723592da7.23592da723592da7
+    0c8d868f817de1b7.3bc99002ae5445d2.6d6663bc09dd9521.d7b438278eedb616
+    89f53d1f84b9d020
+
+VPBROADCASTD_256(reg)
+  before
+    add536743c669a65.583aff3e5799f501.fb30307b927f5024.f79b9a56756089e5
+    9fa01e9353815092.8aaf970c132f1638.9b9c00c7c69168c8.3a73f3d77a986cc0
+    bba1f1e665952d52.7fb8cce5d34b0087.7659fe53e717ca69.12b8ea2c3590fbde
+    5e26acdb0c2f6f52.132019b3b3fa6f1b.eab22689909cb2b4.5b37fb42c254ef6a
+    f1bca3043bf00791
+  after
+    c254ef6ac254ef6a.c254ef6ac254ef6a.c254ef6ac254ef6a.c254ef6ac254ef6a
+    9fa01e9353815092.8aaf970c132f1638.9b9c00c7c69168c8.3a73f3d77a986cc0
+    bba1f1e665952d52.7fb8cce5d34b0087.7659fe53e717ca69.12b8ea2c3590fbde
+    5e26acdb0c2f6f52.132019b3b3fa6f1b.eab22689909cb2b4.5b37fb42c254ef6a
+    f1bca3043bf00791
+VPBROADCASTD_256(mem)
+  before
+    b0135d5ebf71fd7e.e27949dce7d9503e.22b5fa63ce481e20.52f572d75dad5b54
+    7408a53b68e38e5e.a4e7c65790210cc1.8841ebe1413fcac1.096ce0a8ecd503f6
+    1966f7895250765d.00bc1eb7a393e188.2191691a27ed2f2b.6d646b68d6a0e445
+    7bfbcf3499c670a6.52444d68bdba093e.c871eff89c5d0989.d8290f82b99b3aee
+    a806c8643151439d
+  after
+    b0135d5ebf71fd7e.e27949dce7d9503e.22b5fa63ce481e20.52f572d75dad5b54
+    7408a53b68e38e5e.a4e7c65790210cc1.8841ebe1413fcac1.096ce0a8ecd503f6
+    5dad5b545dad5b54.5dad5b545dad5b54.5dad5b545dad5b54.5dad5b545dad5b54
+    7bfbcf3499c670a6.52444d68bdba093e.c871eff89c5d0989.d8290f82b99b3aee
+    a806c8643151439d
+
+VPBROADCASTD_256(reg)
+  before
+    37499379d84e39fd.7691aa265b513965.f6ca50d67922c090.5badf969bd9c1308
+    e33c6b2e4d1f59bb.e5f5034cb1fb8dc8.489c216d7357442a.b5100358a6b50ad4
+    062c4ced2a4fde83.a6f35692b9d227f9.a404be9949e6cfb7.b26889b071b4aa18
+    fd6532230b6a0600.94561fe58fe2c524.664f22c6945a9ee4.2e7f085f3da6ae00
+    0422fb502496d3ba
+  after
+    3da6ae003da6ae00.3da6ae003da6ae00.3da6ae003da6ae00.3da6ae003da6ae00
+    e33c6b2e4d1f59bb.e5f5034cb1fb8dc8.489c216d7357442a.b5100358a6b50ad4
+    062c4ced2a4fde83.a6f35692b9d227f9.a404be9949e6cfb7.b26889b071b4aa18
+    fd6532230b6a0600.94561fe58fe2c524.664f22c6945a9ee4.2e7f085f3da6ae00
+    0422fb502496d3ba
+VPBROADCASTD_256(mem)
+  before
+    121dde6f4291d570.2533193d8dfd0bde.8becdb2f4e352176.e9c94a61f240ed5c
+    333c2ea9b4a16f4e.d8e2fea54b9329cb.667f055e13d9f71b.8bbe30d4ff22f7cc
+    424b65e895d45f81.73bedcc9e2b89e70.03dd195df9da053e.a77ad28d568ff9e0
+    1d15011902365f35.5312af14edf9a47c.3dd093181c42050c.99482bf793102f43
+    bc75377d5333d5a1
+  after
+    121dde6f4291d570.2533193d8dfd0bde.8becdb2f4e352176.e9c94a61f240ed5c
+    333c2ea9b4a16f4e.d8e2fea54b9329cb.667f055e13d9f71b.8bbe30d4ff22f7cc
+    f240ed5cf240ed5c.f240ed5cf240ed5c.f240ed5cf240ed5c.f240ed5cf240ed5c
+    1d15011902365f35.5312af14edf9a47c.3dd093181c42050c.99482bf793102f43
+    bc75377d5333d5a1
+
+VPBROADCASTD_256(reg)
+  before
+    6e4ef38d328326a8.9f687d2916d12b95.d22b73f109e17899.ef25ef7a991fb4b1
+    0a1d5992cb8d5f02.a30e5502eeb381ce.4d5625ced1fc5674.f7a8aa728c7dcd58
+    eb2f67f8badcbc5b.07d40692a5e81b0c.20ddc016e2d779b8.2f243fe90f670e2e
+    6fcf182b9cfc7860.a5860ac4577bb67a.a70c4035d7fd1e12.75672acc41e9315e
+    a33be7073c0ff215
+  after
+    41e9315e41e9315e.41e9315e41e9315e.41e9315e41e9315e.41e9315e41e9315e
+    0a1d5992cb8d5f02.a30e5502eeb381ce.4d5625ced1fc5674.f7a8aa728c7dcd58
+    eb2f67f8badcbc5b.07d40692a5e81b0c.20ddc016e2d779b8.2f243fe90f670e2e
+    6fcf182b9cfc7860.a5860ac4577bb67a.a70c4035d7fd1e12.75672acc41e9315e
+    a33be7073c0ff215
+VPBROADCASTD_256(mem)
+  before
+    976df2871ce60f7e.f14b69980c79d0bd.5bf0df8421780d45.3e31a1984cfa812d
+    2bc9c836fe7942c6.cced54a9a7e0001d.03dd00be1febde98.4197dfa9de5bddb6
+    3d1be402fdd54819.5e03d7cb08bd442d.7a1bea5e6ce1e3a0.0c89f7d529ab7059
+    a72fc2d53604dca2.01d7ed6bcc9ad799.9d7417502465d888.fb54e489c87673c1
+    6a44a22f5749259b
+  after
+    976df2871ce60f7e.f14b69980c79d0bd.5bf0df8421780d45.3e31a1984cfa812d
+    2bc9c836fe7942c6.cced54a9a7e0001d.03dd00be1febde98.4197dfa9de5bddb6
+    4cfa812d4cfa812d.4cfa812d4cfa812d.4cfa812d4cfa812d.4cfa812d4cfa812d
+    a72fc2d53604dca2.01d7ed6bcc9ad799.9d7417502465d888.fb54e489c87673c1
+    6a44a22f5749259b
+
+VPBROADCASTQ_128(reg)
+  before
+    b5a52d3573afc092.46d0df9dc415bc8e.13b692f48e05f60c.46b5058064847b7d
+    38c38206b7358253.f6ccb545c311a209.eeecc3d1ea89dd32.52aa2fda484986ab
+    4fe99c0ec066a489.94edc2b950064a3e.efc47a707eb3c7b9.9e1f114beac0b63d
+    566576b92ace65e2.fa0081e587ff7259.738cb53ce30ef14b.04e028bd69f5c760
+    61b8ee1edff5743f
+  after
+    0000000000000000.0000000000000000.04e028bd69f5c760.04e028bd69f5c760
+    38c38206b7358253.f6ccb545c311a209.eeecc3d1ea89dd32.52aa2fda484986ab
+    4fe99c0ec066a489.94edc2b950064a3e.efc47a707eb3c7b9.9e1f114beac0b63d
+    566576b92ace65e2.fa0081e587ff7259.738cb53ce30ef14b.04e028bd69f5c760
+    61b8ee1edff5743f
+VPBROADCASTQ_128(mem)
+  before
+    9174e15868cb7a07.a9810f738ff9ff07.05d16eb58309d488.d48e6fa1b7269794
+    70e17c59218495e4.a48a60a88e74afa7.912c0615612f2df4.6f17a40b9688f541
+    dbc93b0c252b8001.a2cc67c4c0cab16c.7adcc3f23b7d39cc.a17351e61bbf46fe
+    acf89b5d90ccf88b.01931e33c4884002.9daf233630ffb33a.c4ee719fe257c776
+    35d400a088ddb456
+  after
+    9174e15868cb7a07.a9810f738ff9ff07.05d16eb58309d488.d48e6fa1b7269794
+    70e17c59218495e4.a48a60a88e74afa7.912c0615612f2df4.6f17a40b9688f541
+    0000000000000000.0000000000000000.d48e6fa1b7269794.d48e6fa1b7269794
+    acf89b5d90ccf88b.01931e33c4884002.9daf233630ffb33a.c4ee719fe257c776
+    35d400a088ddb456
+
+VPBROADCASTQ_128(reg)
+  before
+    5070fa56a8dc4849.c03c17388074b9ad.1c2b846233399916.d46fa2cf5ac2586a
+    71105b2edfe0c0fc.f3602b890e2d7f94.4edf92bbab69f854.fce9baa7d5d1e48a
+    f4fe2093c976581b.212f533d5806056c.f5fc45acc8a49967.f1e9e8acbe3912c3
+    368744f000294c51.26760b3e7a080860.6cce9aa02577b7fc.8f3ba9c93005a044
+    b2ab78ea48414737
+  after
+    0000000000000000.0000000000000000.8f3ba9c93005a044.8f3ba9c93005a044
+    71105b2edfe0c0fc.f3602b890e2d7f94.4edf92bbab69f854.fce9baa7d5d1e48a
+    f4fe2093c976581b.212f533d5806056c.f5fc45acc8a49967.f1e9e8acbe3912c3
+    368744f000294c51.26760b3e7a080860.6cce9aa02577b7fc.8f3ba9c93005a044
+    b2ab78ea48414737
+VPBROADCASTQ_128(mem)
+  before
+    3504d1fb21fac6c8.91f7c3b32386d74b.de02d0798f41449d.0ea18c025f6e8fbf
+    f61431e8d83bd824.629a9947cb1736b4.249c1ddbb3bd754e.39c1174011135d5b
+    d0a5129d88103877.05bbc218976ba539.d6136e4e038656a0.477a37c5d7f45c7d
+    9f84f2064e86a2ed.d6a83b92200b6086.cf323fc09baaa4bf.9618e9fd4e9cc9d0
+    80e628541198e001
+  after
+    3504d1fb21fac6c8.91f7c3b32386d74b.de02d0798f41449d.0ea18c025f6e8fbf
+    f61431e8d83bd824.629a9947cb1736b4.249c1ddbb3bd754e.39c1174011135d5b
+    0000000000000000.0000000000000000.0ea18c025f6e8fbf.0ea18c025f6e8fbf
+    9f84f2064e86a2ed.d6a83b92200b6086.cf323fc09baaa4bf.9618e9fd4e9cc9d0
+    80e628541198e001
+
+VPBROADCASTQ_128(reg)
+  before
+    6231f037bd73ddbb.3f7d4c0f45a8d4b0.30abff210485a246.ebc40c1c96351bd6
+    99453d10eeb9fbab.8b5b9da58a8288ef.71110a32df64a826.0697524e10317612
+    7f6e0c4d3ef7777d.61ec5fb238217bd4.f426582f4c34aed1.fb758c4226ac729e
+    71f857584cb88ddc.9cfa10246b90698c.1536e686e882eff4.a82b36e4f3b2cba7
+    e885cc20944d3c58
+  after
+    0000000000000000.0000000000000000.a82b36e4f3b2cba7.a82b36e4f3b2cba7
+    99453d10eeb9fbab.8b5b9da58a8288ef.71110a32df64a826.0697524e10317612
+    7f6e0c4d3ef7777d.61ec5fb238217bd4.f426582f4c34aed1.fb758c4226ac729e
+    71f857584cb88ddc.9cfa10246b90698c.1536e686e882eff4.a82b36e4f3b2cba7
+    e885cc20944d3c58
+VPBROADCASTQ_128(mem)
+  before
+    974ecbe2248b83df.cc2f1c9fb1887875.18532be640db0d42.308dafa14ed9a83b
+    9054ae17c0785a65.ea5e568c0cf475f3.b0c12ce4d30f2423.a176afee1ac61551
+    b161f1a9831f7d19.28d2028df687c003.4211900a3f376a5b.c33fe2d8e9d471e2
+    d44210868a8caa24.e2d71a0d0dcd9551.a80fd144a0609b15.f43244cb578ffa9c
+    8f9cd233fe84ea29
+  after
+    974ecbe2248b83df.cc2f1c9fb1887875.18532be640db0d42.308dafa14ed9a83b
+    9054ae17c0785a65.ea5e568c0cf475f3.b0c12ce4d30f2423.a176afee1ac61551
+    0000000000000000.0000000000000000.308dafa14ed9a83b.308dafa14ed9a83b
+    d44210868a8caa24.e2d71a0d0dcd9551.a80fd144a0609b15.f43244cb578ffa9c
+    8f9cd233fe84ea29
+
+VPBROADCASTQ_256(reg)
+  before
+    efc9877c7d3d7d35.d7c48899f0cb9bb5.74b99c78ed532f88.c0866d7e1394727d
+    72055f126e49f16d.94b0d3cdd1e90df6.3bc4833a31a4cb55.6444dfa4b3e1acc1
+    729b56616d31807d.e9d56f104af1bb14.9144cbbf764da563.7213a3a29d53050b
+    4dd969d517836710.b0fed74d77ef633a.d384707457d8f95f.c4c03665edf53887
+    381713d7bdd30262
+  after
+    c4c03665edf53887.c4c03665edf53887.c4c03665edf53887.c4c03665edf53887
+    72055f126e49f16d.94b0d3cdd1e90df6.3bc4833a31a4cb55.6444dfa4b3e1acc1
+    729b56616d31807d.e9d56f104af1bb14.9144cbbf764da563.7213a3a29d53050b
+    4dd969d517836710.b0fed74d77ef633a.d384707457d8f95f.c4c03665edf53887
+    381713d7bdd30262
+VPBROADCASTQ_256(mem)
+  before
+    a8e4b6e62cf91fc8.5d0993db07cae1d3.c7f6887073f0bf95.5dd26fc370d302f5
+    f1f39b7c53744be4.0078d0ddda932c72.088afc655aff8b50.8b78c31a5ecafdd0
+    f00f3e87504f41e3.90721c492b698298.5087b11849298598.b9c368e3bd48259d
+    7f061cf23f97bef0.6b43738a96d81ff1.7cb722765c796799.43ff5a8c28d9b807
+    857896803b09f0bb
+  after
+    a8e4b6e62cf91fc8.5d0993db07cae1d3.c7f6887073f0bf95.5dd26fc370d302f5
+    f1f39b7c53744be4.0078d0ddda932c72.088afc655aff8b50.8b78c31a5ecafdd0
+    5dd26fc370d302f5.5dd26fc370d302f5.5dd26fc370d302f5.5dd26fc370d302f5
+    7f061cf23f97bef0.6b43738a96d81ff1.7cb722765c796799.43ff5a8c28d9b807
+    857896803b09f0bb
+
+VPBROADCASTQ_256(reg)
+  before
+    da79172a93650a65.7ba2afa93b577e38.eb36d20bb96d412b.66e6cb69aefbee7e
+    a050d9f8cb7841b0.c0b07598619b3ce7.6e99343a2db322f0.ebe228df5bbbd674
+    3247d85580cfd249.2bfceaabcc6fb628.4eb695829036ffec.e776b6c280c6daa7
+    ecab10ae4df4f9db.965288ce98e0a628.e8daf14f7e8313cc.366df0003827b742
+    b5945284a0eb2971
+  after
+    366df0003827b742.366df0003827b742.366df0003827b742.366df0003827b742
+    a050d9f8cb7841b0.c0b07598619b3ce7.6e99343a2db322f0.ebe228df5bbbd674
+    3247d85580cfd249.2bfceaabcc6fb628.4eb695829036ffec.e776b6c280c6daa7
+    ecab10ae4df4f9db.965288ce98e0a628.e8daf14f7e8313cc.366df0003827b742
+    b5945284a0eb2971
+VPBROADCASTQ_256(mem)
+  before
+    3eb7583ad31deb61.2ac87e6dcf76f213.de7dcdeee2f9c812.9852450e92259c3c
+    aea27f0eeec9ba3e.47ea1dffa1def89d.df4b34f5c6c7d913.bb678b2968a8d4e7
+    e12142ec0cfc5234.a15ce9d160ba4924.758639d15f559657.ab68c10d9d99f77a
+    b3ff1cc049c16f6e.936cde4da7951e54.7cfb586cc9afb809.c5a0e227cc8343a0
+    655aebe192f2f206
+  after
+    3eb7583ad31deb61.2ac87e6dcf76f213.de7dcdeee2f9c812.9852450e92259c3c
+    aea27f0eeec9ba3e.47ea1dffa1def89d.df4b34f5c6c7d913.bb678b2968a8d4e7
+    9852450e92259c3c.9852450e92259c3c.9852450e92259c3c.9852450e92259c3c
+    b3ff1cc049c16f6e.936cde4da7951e54.7cfb586cc9afb809.c5a0e227cc8343a0
+    655aebe192f2f206
+
+VPBROADCASTQ_256(reg)
+  before
+    e7e3d6a98b734158.000a8c76c224cc18.7864f8e112fcb6db.d0760eb421e2fe56
+    a787a1ea51916c41.a40c0bfa9332265f.ae9134f73e7a4b63.4dc3d69482f92269
+    0192470f83d9ae6e.7bd21739d7f5396f.8f3f8dfdc79b1a98.cfae2cf80900e16f
+    5150c486bad5448a.61282a1dab7cc173.79baff5e48ec5f27.32028cccd104f794
+    528d72fcf7101f03
+  after
+    32028cccd104f794.32028cccd104f794.32028cccd104f794.32028cccd104f794
+    a787a1ea51916c41.a40c0bfa9332265f.ae9134f73e7a4b63.4dc3d69482f92269
+    0192470f83d9ae6e.7bd21739d7f5396f.8f3f8dfdc79b1a98.cfae2cf80900e16f
+    5150c486bad5448a.61282a1dab7cc173.79baff5e48ec5f27.32028cccd104f794
+    528d72fcf7101f03
+VPBROADCASTQ_256(mem)
+  before
+    0b195b74963016e9.f30d15ba95136a42.31dac2942ad07998.c64e87865df855bc
+    3973c220cb719871.43143518ad1f5b42.c9b35b8970ff1e0a.d4461fe1a34b3902
+    b76723edb1de60c8.9db2200aa0845535.04816fe89a156cf4.fdf0c5dbb67147a6
+    63c1fac564832c1a.5d34d2fd0ace92c8.be0e7c9cc31c1e83.9f9674e131f7bb54
+    1485285db069d0b7
+  after
+    0b195b74963016e9.f30d15ba95136a42.31dac2942ad07998.c64e87865df855bc
+    3973c220cb719871.43143518ad1f5b42.c9b35b8970ff1e0a.d4461fe1a34b3902
+    c64e87865df855bc.c64e87865df855bc.c64e87865df855bc.c64e87865df855bc
+    63c1fac564832c1a.5d34d2fd0ace92c8.be0e7c9cc31c1e83.9f9674e131f7bb54
+    1485285db069d0b7
+
+VPMASKMOVD_128_LoadForm(reg)
+  before
+    b909debcd051c37b.184cc496016db692.dfe4475d86894ea6.d327fd930822f1e2
+    eb6e906b2c3dd04e.b1d6fb4aa4a7ba5d.7f0e7c97b142c77c.1e986eb98433a13e
+    04ff3cd561b932d9.0c291dcf683df6a6.99006b16268437f6.7d2d4bf8545ae9c3
+    610add650a4f27cb.0412a6106a3c249a.8805124581dcdbbf.cbb2113d93a3879c
+    e3f23b745e1a35f5
+  after
+    b909debcd051c37b.184cc496016db692.dfe4475d86894ea6.d327fd930822f1e2
+    eb6e906b2c3dd04e.b1d6fb4aa4a7ba5d.7f0e7c97b142c77c.1e986eb98433a13e
+    04ff3cd561b932d9.0c291dcf683df6a6.99006b16268437f6.7d2d4bf8545ae9c3
+    610add650a4f27cb.0412a6106a3c249a.8805124581dcdbbf.cbb2113d93a3879c
+    e3f23b745e1a35f5
+VPMASKMOVD_128_LoadForm(mem)
+  before
+    a3bb458ad0ccaffc.5ed97089c48de9ce.745d10f9c4af0164.aa686d925fd5ee83
+    e5d7ab6906c4b3db.58b9efac2affb48e.3ad6d97695a24831.5a7676685bfbadf0
+    8713e9ff1b0efbbe.a9f6583ad82fc5b9.30487b73f722b72d.f37b2b3312da54b0
+    633b7c372cb744d2.aedca69f6cac59f9.348174dc063a0883.d3c3875f20ff1f6f
+    559a865820f649da
+  after
+    a3bb458ad0ccaffc.5ed97089c48de9ce.745d10f9c4af0164.aa686d925fd5ee83
+    e5d7ab6906c4b3db.58b9efac2affb48e.3ad6d97695a24831.5a7676685bfbadf0
+    0000000000000000.0000000000000000.00000000c4af0164.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    559a865820f649da
+
+VPMASKMOVD_128_LoadForm(reg)
+  before
+    d44c248aae49109d.571bdffd54ca4943.c3b7d5477fffa9fa.204b409ddff6f760
+    ae245e626786ad63.3d7e8e3daf54c83c.44d2e29fafb6f469.d27359a39d6342f0
+    3d6f2e4ae6385fd9.f33205e35a5f7bea.8d7ac711985c74f2.24c53dd85d8ca35e
+    df7992b0c8ec60ab.5301c1db71fa1e79.fafc820ad57d6640.f40d672a3a7ed7d6
+    1c17538351449986
+  after
+    d44c248aae49109d.571bdffd54ca4943.c3b7d5477fffa9fa.204b409ddff6f760
+    ae245e626786ad63.3d7e8e3daf54c83c.44d2e29fafb6f469.d27359a39d6342f0
+    3d6f2e4ae6385fd9.f33205e35a5f7bea.8d7ac711985c74f2.24c53dd85d8ca35e
+    df7992b0c8ec60ab.5301c1db71fa1e79.fafc820ad57d6640.f40d672a3a7ed7d6
+    1c17538351449986
+VPMASKMOVD_128_LoadForm(mem)
+  before
+    79ae7dd1bdeaa798.ee8e85fea82ded84.3ab83d110f2e6f14.e7a20ef702a606ff
+    e8a062ff9b7cbb38.c8fa04a222874210.8523f571500928e7.b0b96743bc628fdd
+    43b77df906079193.c7090907d3879afd.0e0e65e85196061f.b18c8a599e3e3e84
+    67c04aab1a96e7d5.4806929957b833f5.b24509602de2c5e8.466972a745c44fa0
+    cb9a1b984c83fddf
+  after
+    79ae7dd1bdeaa798.ee8e85fea82ded84.3ab83d110f2e6f14.e7a20ef702a606ff
+    e8a062ff9b7cbb38.c8fa04a222874210.8523f571500928e7.b0b96743bc628fdd
+    0000000000000000.0000000000000000.3ab83d1100000000.e7a20ef702a606ff
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    cb9a1b984c83fddf
+
+VPMASKMOVD_128_LoadForm(reg)
+  before
+    9b6d8198500486ea.30874501f4367729.a83f9ac449a647a4.4d935ec701f7206e
+    142ca013edd52470.7ad8ebe7b0f2febc.41fe1ef446de12b7.bbc5df08e8e4d4dc
+    91247576bd81131b.227eb64a69d638b9.70901895e9ebd1da.d9a8080effb29d5e
+    6ea0fb2b5e959197.024724143befe04d.91418613ce59c0b8.810655c7616f3622
+    90ac431e2b265c51
+  after
+    9b6d8198500486ea.30874501f4367729.a83f9ac449a647a4.4d935ec701f7206e
+    142ca013edd52470.7ad8ebe7b0f2febc.41fe1ef446de12b7.bbc5df08e8e4d4dc
+    91247576bd81131b.227eb64a69d638b9.70901895e9ebd1da.d9a8080effb29d5e
+    6ea0fb2b5e959197.024724143befe04d.91418613ce59c0b8.810655c7616f3622
+    90ac431e2b265c51
+VPMASKMOVD_128_LoadForm(mem)
+  before
+    e2654cff78e4cb1a.06ee2e9f6c9bd891.f7fdb0334348b3a4.015c63db92b51bfe
+    53ffee5665b43fa7.b7590a3f822225b5.dd6dd7919ded6de9.1a2fab57d08a1e57
+    bf44a4100da27324.dc2c8c763db3b3ae.9063131c63eac949.39045af525640470
+    0201eb178cbb24bf.d0b4aeaf38dcbf29.ecabe2bfb44c85ef.ba296d1f2dd00af5
+    f9e8df4382596b91
+  after
+    e2654cff78e4cb1a.06ee2e9f6c9bd891.f7fdb0334348b3a4.015c63db92b51bfe
+    53ffee5665b43fa7.b7590a3f822225b5.dd6dd7919ded6de9.1a2fab57d08a1e57
+    0000000000000000.0000000000000000.f7fdb0334348b3a4.0000000092b51bfe
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    f9e8df4382596b91
+
+VPMASKMOVD_256_LoadForm(reg)
+  before
+    528eacccc38c65f1.f8033d58ff0a0ea1.f13d6e580f2885d2.cd11bf66aa1f5a08
+    2166d02689f332c0.7d1318c0829bedf9.9913c7dc5f244154.0f6026fd616d07c0
+    c2be48bd731c0fab.6c00f73a307b7cf1.2682b6a7c45b2f5b.8d669470f6444742
+    91e00efd1a93375e.a39557b125b578b5.f2d53525d9598a95.25ed83ab84b0d5bb
+    b2c2719a27bb6d56
+  after
+    528eacccc38c65f1.f8033d58ff0a0ea1.f13d6e580f2885d2.cd11bf66aa1f5a08
+    2166d02689f332c0.7d1318c0829bedf9.9913c7dc5f244154.0f6026fd616d07c0
+    c2be48bd731c0fab.6c00f73a307b7cf1.2682b6a7c45b2f5b.8d669470f6444742
+    91e00efd1a93375e.a39557b125b578b5.f2d53525d9598a95.25ed83ab84b0d5bb
+    b2c2719a27bb6d56
+VPMASKMOVD_256_LoadForm(mem)
+  before
+    10b1d92afd73cd40.ea1a20521ce3e784.fd9db2137e559d72.5b5942c23aab8fac
+    1b8637451fe4afa4.29b6792815985bca.56e6864b5668a654.bb5bd8ea84dc794c
+    ae0c08d9ab18d0b0.aa0116eca03ecfdb.8a3a4e45caf95086.6f25f30a52788522
+    a711c7d0bd1dec8d.c947f1085a627e64.746686edf6145735.d404908c410cefda
+    4443a9deec23f31f
+  after
+    10b1d92afd73cd40.ea1a20521ce3e784.fd9db2137e559d72.5b5942c23aab8fac
+    1b8637451fe4afa4.29b6792815985bca.56e6864b5668a654.bb5bd8ea84dc794c
+    0000000000000000.0000000000000000.0000000000000000.5b5942c23aab8fac
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    4443a9deec23f31f
+
+VPMASKMOVD_256_LoadForm(reg)
+  before
+    1c303c6af049cd9e.e15ff01870ffbe6a.e1d308eade8fa510.f236aa2ff4c6768d
+    b916449ee80bb802.37c3ff9ce0c80371.50f356fdc852808d.df7537f8e31a6bb9
+    7540bee571f4f1f8.870970482a8677ce.71f1d7acb5364b84.16f1a832dc1cf0e6
+    adfba4ab2690b32c.abfdc0086a45d6ae.a01b886540c741a4.757479cbfdd9c13f
+    d6cc26ad625c9cf1
+  after
+    1c303c6af049cd9e.e15ff01870ffbe6a.e1d308eade8fa510.f236aa2ff4c6768d
+    b916449ee80bb802.37c3ff9ce0c80371.50f356fdc852808d.df7537f8e31a6bb9
+    7540bee571f4f1f8.870970482a8677ce.71f1d7acb5364b84.16f1a832dc1cf0e6
+    adfba4ab2690b32c.abfdc0086a45d6ae.a01b886540c741a4.757479cbfdd9c13f
+    d6cc26ad625c9cf1
+VPMASKMOVD_256_LoadForm(mem)
+  before
+    17c32bc626b13b27.bd93f45ca46c3c49.816a6ac8ba10db3d.38bb639306919f97
+    1225050066e55b0e.0154a9648613c6fc.e31eea7439f343a6.971d66a2a321a109
+    a5c02f493d03b7d2.d589bf2f69118ef0.afe3bcf801faca16.178f8cfeb10282a7
+    aa5f258cc7180d9e.95803329e8f3cfd2.bf865d412e322bb8.165cd214cfc17f1d
+    efcf324e97e9d416
+  after
+    17c32bc626b13b27.bd93f45ca46c3c49.816a6ac8ba10db3d.38bb639306919f97
+    1225050066e55b0e.0154a9648613c6fc.e31eea7439f343a6.971d66a2a321a109
+    0000000000000000.00000000a46c3c49.816a6ac800000000.38bb639306919f97
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    efcf324e97e9d416
+
+VPMASKMOVD_256_LoadForm(reg)
+  before
+    fd36aa19a506bd3f.ffcd63b5212f179f.9d83ffbf9f44c64e.f1d34739dda623ba
+    9edb35e295a57544.7ed866b067549101.49df215b2b91af0f.1f96f8ce29636e45
+    2c0bcf14055139d0.044aa96ab49339ef.f5e0946b2764c6c2.279bebeb2f73c887
+    0411741a8e96458f.6ef0a8cd24f9c995.fdd2555a304c4612.e3ad9d7b0ae5ecac
+    309a886cd6c297e0
+  after
+    fd36aa19a506bd3f.ffcd63b5212f179f.9d83ffbf9f44c64e.f1d34739dda623ba
+    9edb35e295a57544.7ed866b067549101.49df215b2b91af0f.1f96f8ce29636e45
+    2c0bcf14055139d0.044aa96ab49339ef.f5e0946b2764c6c2.279bebeb2f73c887
+    0411741a8e96458f.6ef0a8cd24f9c995.fdd2555a304c4612.e3ad9d7b0ae5ecac
+    309a886cd6c297e0
+VPMASKMOVD_256_LoadForm(mem)
+  before
+    ea2c2aa9b018854e.833b2162ce01d42f.9695dfc6d491fe21.bd015e93e2d26cac
+    ee30fe1eb4f27122.03d4d157611d2359.5907ca42df6894bd.91b9ad84d884743c
+    167280b7fd5d198a.e1278065e2766ebc.9311e62b62894695.d5453d98aeed9a6d
+    3fbe2d61a86336af.7a812af8ee99f102.207eae6f7800d1d6.e5f20a3b019919ec
+    1c0c10d96c152e64
+  after
+    ea2c2aa9b018854e.833b2162ce01d42f.9695dfc6d491fe21.bd015e93e2d26cac
+    ee30fe1eb4f27122.03d4d157611d2359.5907ca42df6894bd.91b9ad84d884743c
+    ea2c2aa9b018854e.0000000000000000.00000000d491fe21.bd015e93e2d26cac
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    1c0c10d96c152e64
+
+VPMASKMOVQ_128_LoadForm(reg)
+  before
+    d8df4cdf8cec1482.45df8006d01387c0.282ecc7c1f11e7d8.dd1b9ef93ed9f1ac
+    74b7b9b7fcab09f2.04a3f4939176c6e7.487a615e146a8de9.a4b432b5cf216142
+    4ce053ce59dd475f.58d408f5089ab150.36b1e40867311fe2.5215e78f48e3dec5
+    bba516913e0e0b75.1d3f3516508a0129.4f1e54e7b4f1d86e.c30a3773c42c2460
+    d35ea04d6007ef40
+  after
+    d8df4cdf8cec1482.45df8006d01387c0.282ecc7c1f11e7d8.dd1b9ef93ed9f1ac
+    74b7b9b7fcab09f2.04a3f4939176c6e7.487a615e146a8de9.a4b432b5cf216142
+    4ce053ce59dd475f.58d408f5089ab150.36b1e40867311fe2.5215e78f48e3dec5
+    bba516913e0e0b75.1d3f3516508a0129.4f1e54e7b4f1d86e.c30a3773c42c2460
+    d35ea04d6007ef40
+VPMASKMOVQ_128_LoadForm(mem)
+  before
+    5edf9d093780fa91.1f54ff6a47cb90e2.2fb0f9e48653759b.ed0faa689836f63a
+    4057ab9465a4027e.d23708c7119f1450.6af3ce4ac500c7d5.6dcee4f6ae8db3f2
+    559344d8077ec334.329b2f133816d16b.aad432342a9db401.2ba8fcfc93814b41
+    795fe6c3391af9de.99cc6fba57bc03e0.cb1ea08ed037f84b.83e9f0e8e29efcd4
+    d1ddbc2538710056
+  after
+    5edf9d093780fa91.1f54ff6a47cb90e2.2fb0f9e48653759b.ed0faa689836f63a
+    4057ab9465a4027e.d23708c7119f1450.6af3ce4ac500c7d5.6dcee4f6ae8db3f2
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    d1ddbc2538710056
+
+VPMASKMOVQ_128_LoadForm(reg)
+  before
+    71cf5a1f30859374.88870c3f16855fa9.6515c5280a1ee85b.a99f9544d4d94ee1
+    bf0dc8426767f3da.5dd6323abacab2c0.f0c42bc9eec8ba87.20218c42518f73ec
+    17e101fa78a25a33.d61ad59f42f5ae51.98239f099f44b611.0c7100746466239b
+    d59801b400c2052c.ce1d705aca130e85.b77f1c54b72017a5.485b70c728691918
+    b2ab5525baa4138f
+  after
+    71cf5a1f30859374.88870c3f16855fa9.6515c5280a1ee85b.a99f9544d4d94ee1
+    bf0dc8426767f3da.5dd6323abacab2c0.f0c42bc9eec8ba87.20218c42518f73ec
+    17e101fa78a25a33.d61ad59f42f5ae51.98239f099f44b611.0c7100746466239b
+    d59801b400c2052c.ce1d705aca130e85.b77f1c54b72017a5.485b70c728691918
+    b2ab5525baa4138f
+VPMASKMOVQ_128_LoadForm(mem)
+  before
+    252c2c7c3524cb2d.557ec4da9a533070.21ac7f576c2f8f8b.ab259e17d5e71bee
+    7dac72b6b5f4fd1e.f2df47dae2e216ac.aa937e824755ed8d.ce5e22bc9326fc98
+    95f5a2c15720678d.0a07851e75faf48b.479ee9c77492e3b7.7d79a3b18d68f650
+    4bd4388837b5c3a7.f8417a14ef2806bb.d3993d1212f12f36.15c11c60603947c2
+    f0818c37a726299a
+  after
+    252c2c7c3524cb2d.557ec4da9a533070.21ac7f576c2f8f8b.ab259e17d5e71bee
+    7dac72b6b5f4fd1e.f2df47dae2e216ac.aa937e824755ed8d.ce5e22bc9326fc98
+    0000000000000000.0000000000000000.21ac7f576c2f8f8b.ab259e17d5e71bee
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    f0818c37a726299a
+
+VPMASKMOVQ_128_LoadForm(reg)
+  before
+    6b07eca1ffbad983.7915b1f770bece98.18db2227ebf788e5.294ff4503a7e8b36
+    e29d390a03829329.fd8487fa1e48438b.c51f79c305f3b5b8.278e8c6b0b46b3e2
+    b19070de4f08923a.b2ec387d5e5de0ad.5d5a7c54daa8cade.a72081519e546567
+    342c8c8980da135f.731b3f6c4b0b5f29.3bd8264606a30303.87d24dec11b55bf1
+    a1706e2a807352ab
+  after
+    6b07eca1ffbad983.7915b1f770bece98.18db2227ebf788e5.294ff4503a7e8b36
+    e29d390a03829329.fd8487fa1e48438b.c51f79c305f3b5b8.278e8c6b0b46b3e2
+    b19070de4f08923a.b2ec387d5e5de0ad.5d5a7c54daa8cade.a72081519e546567
+    342c8c8980da135f.731b3f6c4b0b5f29.3bd8264606a30303.87d24dec11b55bf1
+    a1706e2a807352ab
+VPMASKMOVQ_128_LoadForm(mem)
+  before
+    d3c65ff6069c05c1.c8bc897732845247.1edb18b3025e7c2c.bae47305236f9bd4
+    f79f9c3cc03c3261.c78e641400908a9c.8df9403f9f61f5e1.38cc5ffdd099cffd
+    ebc9a1e8c85e93b4.8eec17cd878df80a.9d4132fa3c208475.0fdbe79aa6acdb29
+    890eebe63d0ee4e9.7923a00c6104d83f.2b7f6ad2f8a7e614.9d5c06494434fa05
+    3c9cb77443be6a3d
+  after
+    d3c65ff6069c05c1.c8bc897732845247.1edb18b3025e7c2c.bae47305236f9bd4
+    f79f9c3cc03c3261.c78e641400908a9c.8df9403f9f61f5e1.38cc5ffdd099cffd
+    0000000000000000.0000000000000000.1edb18b3025e7c2c.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3c9cb77443be6a3d
+
+VPMASKMOVQ_256_LoadForm(reg)
+  before
+    4ae7f98942d5657c.ae3bf4223958e32a.e47ffa3f2d8366e4.117f64b2ec03d6e9
+    2189c5f3da05286e.371c3a89d8494aa4.2b4c22d08595dda8.2c0c9c85363f1221
+    1fcd191da9dbeec1.fe7d390537ecd682.a9d6122d05c67b35.59f48f39f26854e7
+    9e01f0754be2f41e.e02a6b83714e43f1.bc68c8c14aa37937.7201b8b93b895868
+    540093f12eaedcd0
+  after
+    4ae7f98942d5657c.ae3bf4223958e32a.e47ffa3f2d8366e4.117f64b2ec03d6e9
+    2189c5f3da05286e.371c3a89d8494aa4.2b4c22d08595dda8.2c0c9c85363f1221
+    1fcd191da9dbeec1.fe7d390537ecd682.a9d6122d05c67b35.59f48f39f26854e7
+    9e01f0754be2f41e.e02a6b83714e43f1.bc68c8c14aa37937.7201b8b93b895868
+    540093f12eaedcd0
+VPMASKMOVQ_256_LoadForm(mem)
+  before
+    dbbd9ccde6e39a4a.fb6f46665ba67634.b9ee4ef0a37a4c1c.bf503ff8efb7165b
+    e4044f3a7f354f03.9364175c75b4b0ad.66965d37e97cae30.0ed8733e918f8c4d
+    49a0292216afb727.c02c5fc43697dd36.c1ef14445d602559.054d61ffcbb618b9
+    e75fa572c75e8de1.df131b083adb3a7a.a7c3ef021e336cc2.fffb03a73ab8f649
+    5a2e57a3792161ac
+  after
+    dbbd9ccde6e39a4a.fb6f46665ba67634.b9ee4ef0a37a4c1c.bf503ff8efb7165b
+    e4044f3a7f354f03.9364175c75b4b0ad.66965d37e97cae30.0ed8733e918f8c4d
+    dbbd9ccde6e39a4a.fb6f46665ba67634.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    5a2e57a3792161ac
+
+VPMASKMOVQ_256_LoadForm(reg)
+  before
+    7132585d257e968c.9a0b3f17ad4d8e5d.4c6546951c0d0326.f4df6a5f45014098
+    a0520243d95ad196.3e7173fce48876c8.636ddcd878b873e5.840e0246f0d45d06
+    42db52bf32424e75.af5dbe0c891c004e.8179da3beb68c764.331e32a43bba7f39
+    b51a423fcbc148d6.c99b9b35b714ea1b.00d33a2c10aa3b4f.ddd9766341be615d
+    5e0d4b701fedc09d
+  after
+    7132585d257e968c.9a0b3f17ad4d8e5d.4c6546951c0d0326.f4df6a5f45014098
+    a0520243d95ad196.3e7173fce48876c8.636ddcd878b873e5.840e0246f0d45d06
+    42db52bf32424e75.af5dbe0c891c004e.8179da3beb68c764.331e32a43bba7f39
+    b51a423fcbc148d6.c99b9b35b714ea1b.00d33a2c10aa3b4f.ddd9766341be615d
+    5e0d4b701fedc09d
+VPMASKMOVQ_256_LoadForm(mem)
+  before
+    92842bb8f0525826.5359d02e4063fc65.68f786628b7ced5a.3dc8fa1684090b51
+    550b9425d0f9e523.7ae4f8f82eb5a6cd.683cfb7f2061c837.94a41564e2117217
+    836d01a5dcef22c1.8409b409314281ba.a538767893ce35df.61b38784c74fad4c
+    f778ee232f3fcc2c.cf1301cde496cada.fab57439ffcff27e.00414de1ce4ef89d
+    cd9961e8949b8fb6
+  after
+    92842bb8f0525826.5359d02e4063fc65.68f786628b7ced5a.3dc8fa1684090b51
+    550b9425d0f9e523.7ae4f8f82eb5a6cd.683cfb7f2061c837.94a41564e2117217
+    0000000000000000.0000000000000000.0000000000000000.3dc8fa1684090b51
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    cd9961e8949b8fb6
+
+VPMASKMOVQ_256_LoadForm(reg)
+  before
+    2408c103b4c0ad42.8ff6d88ae6f59f8f.b54ddcb0e33ebdd7.458070ae8170b83f
+    61da699fcb4c8fee.26b53ac81d1e5617.9404401ecbc5965d.6165e6c434be464f
+    df5b532874c87065.987f8fc8efc5aeef.c6842a8337b79019.2a30526534c556da
+    fcd77c0b4bc28e54.c021567678f66344.a819944cc4a1e8b7.7bac317f9f90a50b
+    32a7fdfc8e2bef0f
+  after
+    2408c103b4c0ad42.8ff6d88ae6f59f8f.b54ddcb0e33ebdd7.458070ae8170b83f
+    61da699fcb4c8fee.26b53ac81d1e5617.9404401ecbc5965d.6165e6c434be464f
+    df5b532874c87065.987f8fc8efc5aeef.c6842a8337b79019.2a30526534c556da
+    fcd77c0b4bc28e54.c021567678f66344.a819944cc4a1e8b7.7bac317f9f90a50b
+    32a7fdfc8e2bef0f
+VPMASKMOVQ_256_LoadForm(mem)
+  before
+    2aeb34ca1fa2ef11.139ae1b3edc52366.7c6708bfd5be3041.970f7ce30d0edae2
+    3e4552d46e02623e.80ef7d8bf65e6c49.a71c238d2128d313.edb2ddb6af8aa147
+    4c81d106955604c1.9e244c010117a4a6.1c0e21cd794006e6.074db33045a27a91
+    2f6b2f4cb3aa91c8.cb834b80aa7f092c.b907806cf81385e5.412dfabd6ce1a16d
+    f89eafc8bfd35287
+  after
+    2aeb34ca1fa2ef11.139ae1b3edc52366.7c6708bfd5be3041.970f7ce30d0edae2
+    3e4552d46e02623e.80ef7d8bf65e6c49.a71c238d2128d313.edb2ddb6af8aa147
+    0000000000000000.139ae1b3edc52366.7c6708bfd5be3041.970f7ce30d0edae2
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    f89eafc8bfd35287
+
+VGATHERDPS_128(reg)
+  before
+    db3ba33aa9080146.61de3bb310750745.1989ac47b84df422.f6bf8ceae9d6b8b7
+    b0e0033bfbf2f215.894d4632358a7c11.5d364e226c45ac6b.c766170711315988
+    ef41c04c42be2765.897a149beb714aa6.458177a0afe031a7.696c4e6025e09d54
+    a41c05c9c9660ad1.eba14fc8ffa75b20.de28531bcd1af072.690fddcff15e6f38
+    52886f31402abb50
+  after
+    db3ba33aa9080146.61de3bb310750745.1989ac47b84df422.f6bf8ceae9d6b8b7
+    0000000000000000.0000000000000000.1989ac4700000022.f6bf8ceae9d6b8b7
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.de28531b467b4796.690fddcff15e6f38
+    0000000000000000
+VGATHERDPS_128(mem)
+  before
+    b016b163e0bd6db7.dc2bff0edee808f5.3dfda3963da69d9c.33e50df111f05366
+    10f34e3f9b947189.a22ad977cb3f8e6e.0bcbbee271ecfa35.5075d17dc85dc722
+    fc5cf4a23e2cb3e3.03d7c060dd6706d8.e047498667f46008.4293cd1a3e5db93f
+    038d4c69950020e1.09ece025605cdece.48acf360ea3bba30.14fd2a25bfec945b
+    d36d17fb9706c312
+  after
+    b016b163e0bd6db7.dc2bff0edee808f5.3dfda3963da69d9c.33e50df111f05366
+    10f34e3f9b947189.a22ad977cb3f8e6e.0bcbbee271ecfa35.5075d17dc85dc722
+    fc5cf4a23e2cb3e3.03d7c060dd6706d8.e047498667f46008.4293cd1a3e5db93f
+    038d4c69950020e1.09ece025605cdece.48acf360ea3bba30.14fd2a25bfec945b
+    d36d17fb9706c312
+
+VGATHERDPS_128(reg)
+  before
+    8a9fbef612a8b4ff.aec1056e6c8ca29e.c32664229f1a81ec.cf37664ac83bf3c9
+    45514c747bcdd2bf.8b36c88e8f4d2736.3a4179b3e89e5bcf.02244e21cb72f9f0
+    113deccf207189ed.262544a5c9bd99c6.7cf84b3485e3d812.6cae58c1c05bb7c1
+    f820cb644b904525.09cd2390e85ae669.94080501c4e56452.9a13300673731a57
+    168d81cdb0340ccf
+  after
+    8a9fbef612a8b4ff.aec1056e6c8ca29e.c32664229f1a81ec.cf37664ac83bf3c9
+    0000000000000000.0000000000000000.c32664220000006c.cf37664a00000049
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.94080501c1b29e3d.9a13300615e8b346
+    0000000000000000
+VGATHERDPS_128(mem)
+  before
+    6f58f8f0421c7a44.09b6148f49277204.c2681229b69ff93c.8f2dd375efa16b2a
+    2eb2414cf7a651d2.4dbaf4ad66307d26.dd33bc4d0009be5a.7822e2ee53115937
+    e1d507bd994e7b96.d2e99718eda9d026.e46aced8921221e0.5ba45ec73c339a14
+    13fef71ff590e6ab.a3ff282d2c8dd8a0.6649f3a637380ee9.446f735bf5029b5e
+    403f4c08cc7bc6b0
+  after
+    6f58f8f0421c7a44.09b6148f49277204.c2681229b69ff93c.8f2dd375efa16b2a
+    2eb2414cf7a651d2.4dbaf4ad66307d26.dd33bc4d0009be5a.7822e2ee53115937
+    e1d507bd994e7b96.d2e99718eda9d026.e46aced8921221e0.5ba45ec73c339a14
+    13fef71ff590e6ab.a3ff282d2c8dd8a0.6649f3a637380ee9.446f735bf5029b5e
+    403f4c08cc7bc6b0
+
+VGATHERDPS_128(reg)
+  before
+    5bcf15290b9889a7.5168bc4ed7e97c2e.cdb7d4486dd90231.ec0bd893bdf67191
+    9fdcfb19ff574fde.265003260bd32b3a.5bcfc6c5fe87b974.04ed297beec836f5
+    1a222a36f4b383f1.1ef278835dccdeec.59002b0029956806.392a913a982a4931
+    d85dceda36a8937d.c68ac64198508160.d4092f553bfe7d82.1700bdac85999760
+    2ba958ad82900a9e
+  after
+    5bcf15290b9889a7.5168bc4ed7e97c2e.cdb7d4486dd90231.ec0bd893bdf67191
+    0000000000000000.0000000000000000.cdb7d4486dd90231.ec0bd89300000011
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.d4092f553bfe7d82.1700bdac3c946110
+    0000000000000000
+VGATHERDPS_128(mem)
+  before
+    00620f195a8b9008.e34811631132ea1e.a954993c8ad900b0.d7a4fd207fbf6385
+    22668eccdb0614ba.49a0222bd04ef46e.538b9f4ffde547fa.6e8fc1bd43d286aa
+    1ef280a1cf7e82cf.15212b90c1f71d0c.506c8158beef435a.a683a988d235528e
+    7f429176046dc563.548659ec2e29d292.2d32ee329973deeb.8a3fdfdd77e333cc
+    267d8f187fd89601
+  after
+    00620f195a8b9008.e34811631132ea1e.a954993c8ad900b0.d7a4fd207fbf6385
+    22668eccdb0614ba.49a0222bd04ef46e.538b9f4ffde547fa.6e8fc1bd43d286aa
+    1ef280a1cf7e82cf.15212b90c1f71d0c.506c8158beef435a.a683a988d235528e
+    7f429176046dc563.548659ec2e29d292.2d32ee329973deeb.8a3fdfdd77e333cc
+    267d8f187fd89601
+
+VGATHERDPS_256(reg)
+  before
+    87fae6953610e5c8.d2926f264451cb93.118cd79d64e07d9c.761a90b95aed05ca
+    b87210b0e8888ebd.a21dc48d5ca5807a.59efd2fdaf188cc7.b56014c9ccd9a512
+    c5a038c5e13afb7d.7b203c8618e6ce35.366a76695bce69ae.7840253dbdb4a9df
+    bb418b2f6c249aa4.e9d784ef438ea2df.b6bbee3db3fd82ee.4bf670f3f7f9fc4e
+    b8bda0c647248c7b
+  after
+    87fae6953610e5c8.d2926f264451cb93.118cd79d64e07d9c.761a90b95aed05ca
+    0000001500000048.d2926f264451cb93.118cd79d64e07d9c.761a90b90000004a
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    56f6fd6cc472a47a.e9d784ef438ea2df.b6bbee3db3fd82ee.4bf670f3c0f03964
+    0000000000000000
+VGATHERDPS_256(mem)
+  before
+    4dd2629179b24481.a511354cd642d6cd.797e48a2ab1be895.e59c67d605a14122
+    96706232591d107c.8fcc61776c8e1b94.b650347d1a088d72.cdc90c8e9bb614e7
+    1dd54b83b2e3dc89.862d3c0b7806d596.2d8af25b5ed17b93.7d000ac2c23966d8
+    713bca62527f94c3.95f1f16647a5706e.6968311741f3a013.fefb8ccec625a392
+    5e77bf0ef37637b0
+  after
+    4dd2629179b24481.a511354cd642d6cd.797e48a2ab1be895.e59c67d605a14122
+    96706232591d107c.8fcc61776c8e1b94.b650347d1a088d72.cdc90c8e9bb614e7
+    1dd54b83b2e3dc89.862d3c0b7806d596.2d8af25b5ed17b93.7d000ac2c23966d8
+    713bca62527f94c3.95f1f16647a5706e.6968311741f3a013.fefb8ccec625a392
+    5e77bf0ef37637b0
+
+VGATHERDPS_256(reg)
+  before
+    a82fcfde94288ece.1bdf8aa9036e2547.c9d4ade3246758b9.f6259b8f90e8e70e
+    e8e1e79bf7371589.a9fc3836922a7931.2d919bdd5d48f912.61fedd9d162e3ca2
+    2b47349f66a0367d.a6cf80e3cb317e9b.cde5e8b23c45bf16.352fa21ea1408be8
+    7c1de2472f5e5f45.9e940d8d7afe1ea4.b58cc0bc0f581760.fef497effb9bc0fe
+    488867eaf2b9c7ff
+  after
+    a82fcfde94288ece.1bdf8aa9036e2547.c9d4ade3246758b9.f6259b8f90e8e70e
+    a82fcfde94288ece.0000002900000047.00000063246758b9.f6259b8f0000000e
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    7c1de2472f5e5f45.c2182bb7a78e4376.6747b78b0f581760.fef497ef634f0e5b
+    0000000000000000
+VGATHERDPS_256(mem)
+  before
+    a028c0ed50188c08.e8211cef9c6dfa7d.1e878c116b0d4765.f2424e59207f6b8d
+    92104bd2e233fb35.7a0d0ef2f9c975c2.b1e3a8496adae4fc.8fc2bfe3bcb62938
+    a87bb676748601a1.3e9ee6ae946f3baf.e4e50e1242e2e185.99c93fb82ef7bcfe
+    70a6adb5d18e8868.4090cd7eb859b7e1.41c96a49c0a0291b.1a13f932c4408f7a
+    215b19aec98b1049
+  after
+    a028c0ed50188c08.e8211cef9c6dfa7d.1e878c116b0d4765.f2424e59207f6b8d
+    92104bd2e233fb35.7a0d0ef2f9c975c2.b1e3a8496adae4fc.8fc2bfe3bcb62938
+    a87bb676748601a1.3e9ee6ae946f3baf.e4e50e1242e2e185.99c93fb82ef7bcfe
+    70a6adb5d18e8868.4090cd7eb859b7e1.41c96a49c0a0291b.1a13f932c4408f7a
+    215b19aec98b1049
+
+VGATHERDPS_256(reg)
+  before
+    b75fcc8988d6aa06.76cddc6cc7c57ea7.8d9ef2beb08557f4.57cb67c8b090abdb
+    ead83e1d4e1dc94d.442cee7520a9ce79.30857fcac9ee8682.af26b26cde2e50e0
+    c5859bc7675adabb.68fe8fada9b563fb.3601a0fe5091b12a.d717f61116f60546
+    55200ee31f8b47ec.6e806df02e652b48.aacd83b58e684285.5ad9e0932465b62a
+    c5aa1bced3f650a8
+  after
+    b75fcc8988d6aa06.76cddc6cc7c57ea7.8d9ef2beb08557f4.57cb67c8b090abdb
+    0000000988d6aa06.76cddc6c00000027.8d9ef2beb08557f4.00000048b090abdb
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    85445dd71f8b47ec.6e806df0edef2a5e.aacd83b58e684285.c472a47a2465b62a
+    0000000000000000
+VGATHERDPS_256(mem)
+  before
+    a2c4559ef025bddb.a566c3cec2ab7d7b.e0ee321a7b36117d.98a6514dd271a632
+    806437df476eebdf.c113e8e29bb6e904.4c838a075ca301b5.0d48392167a74aca
+    e8c5706da44ec4d1.b6e3a67cf8a8f524.3e7d22939c28e70c.146f658c980798eb
+    6825a924d34036cc.8f912cf8237e0f76.4116a69a0941b0a0.b9d601ecb38bfe31
+    083a3b9c0231e637
+  after
+    a2c4559ef025bddb.a566c3cec2ab7d7b.e0ee321a7b36117d.98a6514dd271a632
+    806437df476eebdf.c113e8e29bb6e904.4c838a075ca301b5.0d48392167a74aca
+    e8c5706da44ec4d1.b6e3a67cf8a8f524.3e7d22939c28e70c.146f658c980798eb
+    6825a924d34036cc.8f912cf8237e0f76.4116a69a0941b0a0.b9d601ecb38bfe31
+    083a3b9c0231e637
+
+VGATHERQPS_128_1(reg)
+  before
+    0e573cf7d2f4be9a.8bbe91e0a0c02ced.58daa4b26933a297.e18ac1f86d6a468a
+    d7e9335b6fd0f1f5.deccd27dd64a924f.1d7a3a0616c31922.aa172089952096e8
+    6dab4a2224c1ebe4.ec8d19d7435a540f.eb2c1b50762ae2b4.29f76e294dde8dd6
+    de5aadaa3fc41804.413b11cab16d5e48.cead73ecd46568e8.e96658b46120166f
+    76a28a069d621ccf
+  after
+    0e573cf7d2f4be9a.8bbe91e0a0c02ced.58daa4b26933a297.e18ac1f86d6a468a
+    0000000000000000.0000000000000000.58daa4b26933a297.e18ac1f86d6a468a
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.e96658b46120166f
+    0000000000000000
+VGATHERQPS_128_1(mem)
+  before
+    5de5affacc208d13.36b2894d0ad4e4f0.6a136732edfe9d17.d0b96d367e6e185b
+    296c736ebbd75456.7f6e0a69d3edbc45.f250c6ebc389fb97.ff0b368abe435ca8
+    6773843d36025db5.c74b5b58e40b0a9f.6530dbd0ff8a66e5.6761fa44e1dfa16c
+    a2358c43091d944b.1a05a9778a2a3b98.50ed52bf6c7ec81c.1275e4c0333f5342
+    0f03215a005ddfc6
+  after
+    5de5affacc208d13.36b2894d0ad4e4f0.6a136732edfe9d17.d0b96d367e6e185b
+    296c736ebbd75456.7f6e0a69d3edbc45.f250c6ebc389fb97.ff0b368abe435ca8
+    6773843d36025db5.c74b5b58e40b0a9f.6530dbd0ff8a66e5.6761fa44e1dfa16c
+    a2358c43091d944b.1a05a9778a2a3b98.50ed52bf6c7ec81c.1275e4c0333f5342
+    0f03215a005ddfc6
+
+VGATHERQPS_128_1(reg)
+  before
+    67c9dc6d9437b095.66ef375b00a5e535.825720231047bccf.3ec3d693d8e00f58
+    288142573ac8314b.3fdd3263e7143d8e.0dffebb6c45df8dd.bbf014270d2c25b6
+    5de87f73400cd083.ba3b29358ae88673.c7b7378df0685a61.54aeb859d8def852
+    12b9be1df000f8d9.6244c8afb49cadff.bb3b2f04e26450f4.943a6d0405727347
+    07d0df03606582b1
+  after
+    67c9dc6d9437b095.66ef375b00a5e535.825720231047bccf.3ec3d693d8e00f58
+    0000000000000000.0000000000000000.825720231047bccf.0000000000000058
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.943a6d042c9615c4
+    0000000000000000
+VGATHERQPS_128_1(mem)
+  before
+    3aabbb34b43211ad.54b22bb0979e15ea.c435b9ac32ac9f4f.f5490077e44e4534
+    b808ad71cf550d56.2e8df48a81e49351.6b49ab07d095477e.819bd5434321a5bd
+    0d2361987b4a60c9.ac064305facddeab.e3be489e5ad190a9.6ceedcc24bd9dc2a
+    c6378283858df721.dbdb447f4d566293.b9ce3d4b9cde68eb.c1fd3e5147725618
+    8c86294c85e88022
+  after
+    3aabbb34b43211ad.54b22bb0979e15ea.c435b9ac32ac9f4f.f5490077e44e4534
+    b808ad71cf550d56.2e8df48a81e49351.6b49ab07d095477e.819bd5434321a5bd
+    0d2361987b4a60c9.ac064305facddeab.e3be489e5ad190a9.6ceedcc24bd9dc2a
+    c6378283858df721.dbdb447f4d566293.b9ce3d4b9cde68eb.c1fd3e5147725618
+    8c86294c85e88022
+
+VGATHERQPS_128_1(reg)
+  before
+    da43c90f4f38c4e4.6e81bc10b99bbf7b.c6c62453c8798ca6.77b635ec6137ba60
+    b6f04af6f25d8ffb.923dbc19e3efa2f2.7a840fdcb534c67f.acb1dd5b77597225
+    2d4bd75dba534e03.bca72e7bcf058ea3.02d0307861827ebb.e1fde075a8be7c56
+    4a0e9da0f3166c97.7bfabe13495a6ea9.6a68b481185f1ef5.a4d4eb17c1e4c50e
+    8172aa1b8e463769
+  after
+    da43c90f4f38c4e4.6e81bc10b99bbf7b.c6c62453c8798ca6.77b635ec6137ba60
+    0000000000000000.0000000000000000.0000000000000026.0000000000000060
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.b5103a4e0feb5e39
+    0000000000000000
+VGATHERQPS_128_1(mem)
+  before
+    0215c85edb60bf84.19f6c71be9a35453.587317bb1c682e21.be06c65426c814ca
+    b5f7f2bc74ae4a7a.a6bf822ae8f474d4.e14ee55015adba26.0b66934ed6b7cbd5
+    2655d41224adc268.fe24f9283b0737b5.a1c7d5ae00a4fed4.5c4647c9762aafb3
+    df6b193ab9d81569.2ce259732fd80993.241993b2a9c9e648.be600d23501c2cff
+    3c7112b6b189ae55
+  after
+    0215c85edb60bf84.19f6c71be9a35453.587317bb1c682e21.be06c65426c814ca
+    b5f7f2bc74ae4a7a.a6bf822ae8f474d4.e14ee55015adba26.0b66934ed6b7cbd5
+    2655d41224adc268.fe24f9283b0737b5.a1c7d5ae00a4fed4.5c4647c9762aafb3
+    df6b193ab9d81569.2ce259732fd80993.241993b2a9c9e648.be600d23501c2cff
+    3c7112b6b189ae55
+
+VGATHERQPS_256_1(reg)
+  before
+    e23581dfe56ea152.6e746d11fdab2e9a.3db5ce6610615609.f781ca36dc995e9e
+    bd6787fa38c67192.5fad7e73bda2f916.3c58835d2aa08bb4.a53b2717658e52f1
+    d7c45063f68d8bb0.3c52f53cc53a62fa.3588a5b3c98f122f.bb8256310f26af5d
+    3f0807776bbf5948.939e8148e0ee5561.35015fc6392c5817.c4930260a7dc5fff
+    4caad880f92d50f3
+  after
+    e23581dfe56ea152.6e746d11fdab2e9a.3db5ce6610615609.f781ca36dc995e9e
+    e23581dfe56ea152.000000000000001a.0000000000000009.f781ca36dc995e9e
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.35015fc69ccd46b1.85445dd7a7dc5fff
+    0000000000000000
+VGATHERQPS_256_1(mem)
+  before
+    e003836dd1936d54.feeed990e25849f7.f0cecc73dc3abe68.477fdef1c573ca07
+    0bd9b003fb8ca13e.2233f10ba855c558.dd1e8399839a892a.77bd4e8fba5ed39b
+    59690a1e4393dace.b7937c4409b13b08.e8ca5196a38aa3c3.d278dafe65ebde70
+    56ef3f9a7424031f.c7caa697516816a2.9d0de3460687f650.636caf9810155922
+    3655f8bb08d8af4c
+  after
+    e003836dd1936d54.feeed990e25849f7.f0cecc73dc3abe68.477fdef1c573ca07
+    0bd9b003fb8ca13e.2233f10ba855c558.dd1e8399839a892a.77bd4e8fba5ed39b
+    59690a1e4393dace.b7937c4409b13b08.e8ca5196a38aa3c3.d278dafe65ebde70
+    56ef3f9a7424031f.c7caa697516816a2.9d0de3460687f650.636caf9810155922
+    3655f8bb08d8af4c
+
+VGATHERQPS_256_1(reg)
+  before
+    57eee2c298304c8a.8fa6f8535cbc084e.60939a60cc76c2c3.8724e485790c70ed
+    d3f498080e1a9c79.90cbe325c5d5d676.8dac85fbc6d7ab06.324b012fc795fbb5
+    b62348eab4910bb5.e39aaceb7ced57b3.5bce92c48a883d08.2abee520be9e85c4
+    0a361bc5d79105d9.164fff834d7f7823.d5b8ee176584e464.fcb83e3329a3f937
+    3376b546d3214329
+  after
+    57eee2c298304c8a.8fa6f8535cbc084e.60939a60cc76c2c3.8724e485790c70ed
+    57eee2c298304c8a.000000000000004e.60939a60cc76c2c3.000000000000006d
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.d5b8ee1778c35e9c.fcb83e33e3b7712c
+    0000000000000000
+VGATHERQPS_256_1(mem)
+  before
+    5c33f93489934fb7.ddea40f3c316f781.b42587c8040826df.0724c550a4c70cb6
+    012db4d9177509fd.3bfbe1d2c41c4b4a.4a59f1966c024b05.fecf42cb914d229c
+    b19e921049435d15.2f242abc26a06fcf.6327e8c853ebd5b1.c57592e3781390af
+    f5c340b7eb7a371e.c523480e359dcdad.8bca193c833eaffe.69d1e0f6a714c48d
+    f4a0595f694c29d2
+  after
+    5c33f93489934fb7.ddea40f3c316f781.b42587c8040826df.0724c550a4c70cb6
+    012db4d9177509fd.3bfbe1d2c41c4b4a.4a59f1966c024b05.fecf42cb914d229c
+    b19e921049435d15.2f242abc26a06fcf.6327e8c853ebd5b1.c57592e3781390af
+    f5c340b7eb7a371e.c523480e359dcdad.8bca193c833eaffe.69d1e0f6a714c48d
+    f4a0595f694c29d2
+
+VGATHERQPS_256_1(reg)
+  before
+    749e287a09b72a19.5bd76aa9c8958431.09b267243c0fd37f.4f7f2fcdc977c408
+    f5877aa2d45135fe.6e18bbc1ad102e6c.088db25b88f2ece2.3a82d756f11302ec
+    81167b351617b51e.bbc0e0dd676723eb.cd72560d66438471.d90fbdb5c78c54c6
+    2708568e1b041614.cd0b85d7c0164dc9.641b7f9720fd07c8.b6618cc41660a6b1
+    5fb5f161ac0ae5c9
+  after
+    749e287a09b72a19.5bd76aa9c8958431.09b267243c0fd37f.4f7f2fcdc977c408
+    0000000000000019.5bd76aa9c8958431.000000000000007f.0000000000000008
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.d1ff3de120fd07c8.dc760c76424f73dd
+    0000000000000000
+VGATHERQPS_256_1(mem)
+  before
+    604797665306fb2b.f01938082f14c47d.3037558d859a9a23.da455855021ce185
+    43522bb1d8d1d5f2.ea044d019d432cf4.707efdd9816ef514.3aab0da35a9c7e41
+    9714591c07e6603b.2086c0d3b38eb816.1a1d2899820e4ab8.910bccdd73794a9a
+    e5c7cc85acc08621.9e5bbddcbbf0d57e.ba4f83a752f6852c.e91fbf5f98b0b22c
+    51a31285163c2092
+  after
+    604797665306fb2b.f01938082f14c47d.3037558d859a9a23.da455855021ce185
+    43522bb1d8d1d5f2.ea044d019d432cf4.707efdd9816ef514.3aab0da35a9c7e41
+    9714591c07e6603b.2086c0d3b38eb816.1a1d2899820e4ab8.910bccdd73794a9a
+    e5c7cc85acc08621.9e5bbddcbbf0d57e.ba4f83a752f6852c.e91fbf5f98b0b22c
+    51a31285163c2092
+
+VGATHERQPS_128_2(reg)
+  before
+    d255f2ab39190268.bba731c693de35c1.713f72760265f0c9.da51b9e0bfa3928c
+    7aef8b2d4d43c34b.a4f233bc88b95836.a4ed09ffd4e97492.085f772193905df3
+    542e08679eb7ced6.2ce27f4356cfdb9c.4422aed17d78cc76.cfb569449b39d27d
+    6dce96b5777091a6.e0b4c138ca9aaa11.5c9a8e4a490f6610.bc8f3a26a31ade47
+    5a2897a376af6b6c
+  after
+    d255f2ab39190268.bba731c693de35c1.713f72760265f0c9.da51b9e0bfa3928c
+    0000000000000000.0000000000000000.0000000000000124.0000000000000030
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.b346c472c43e845a
+    0000000000000000
+VGATHERQPS_128_2(mem)
+  before
+    35bd2c98e2756709.cf8a6073266a7756.4ba3a475b098b1ae.f810d5c483a9adfd
+    da89a4dfb1e7bd39.891f93fcf5a1ec83.faecd5d7d445dc91.2442ae9c79420dd8
+    d4caab55b0815819.a4495bae31115cc9.78cbff3a021b17d6.ede9462f75d6f23d
+    afbaefd6abbf26c4.2ec3e3e426b734c2.517ccf7a06984e98.5fc4c8d7c462c8c9
+    848d61f1b2e0fc18
+  after
+    35bd2c98e2756709.cf8a6073266a7756.4ba3a475b098b1ae.f810d5c483a9adfd
+    da89a4dfb1e7bd39.891f93fcf5a1ec83.faecd5d7d445dc91.2442ae9c79420dd8
+    d4caab55b0815819.a4495bae31115cc9.78cbff3a021b17d6.ede9462f75d6f23d
+    afbaefd6abbf26c4.2ec3e3e426b734c2.517ccf7a06984e98.5fc4c8d7c462c8c9
+    848d61f1b2e0fc18
+
+VGATHERQPS_128_2(reg)
+  before
+    6a013dd98a4ef8c4.f895193e6e1e1257.324a58fa208ede0c.113af073ab376ef3
+    1cdc87eb9aa7296c.3a99d869c51808ed.bd9ae54b6a92c743.45420f02be746104
+    a7da6c842ce8fcaa.0200d6337b2bf5a3.da6fb73552bf5c02.78d0d8010bcb15e6
+    16b617fe8d0bdc1a.da07bf785ed3c394.9584fa13221107e6.3720f64d5eb975b6
+    0d6d16c283b86c90
+  after
+    6a013dd98a4ef8c4.f895193e6e1e1257.324a58fa208ede0c.113af073ab376ef3
+    0000000000000000.0000000000000000.c92963e8823b7830.44ebc1ceacddbbcc
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.3720f64d5eb975b6
+    0000000000000000
+VGATHERQPS_128_2(mem)
+  before
+    86f4e43c4646e88e.752db5b60a0e3459.50ea4114388a5fdc.fb96d9402785368a
+    2ff10b9672dfd4cf.d1fb7208edec7202.f0e405e3d6ceb698.1761811aad16548a
+    939f38aed5fd1c6c.35db795082a101b2.4532bac10419b2e4.f5a11dfb00c0cd83
+    3e3b165f391ead83.ad8af7ea172a4d04.db100a8a8ee941db.a211da416c7f0d11
+    296ee4463d5080cf
+  after
+    86f4e43c4646e88e.752db5b60a0e3459.50ea4114388a5fdc.fb96d9402785368a
+    2ff10b9672dfd4cf.d1fb7208edec7202.f0e405e3d6ceb698.1761811aad16548a
+    939f38aed5fd1c6c.35db795082a101b2.4532bac10419b2e4.f5a11dfb00c0cd83
+    3e3b165f391ead83.ad8af7ea172a4d04.db100a8a8ee941db.a211da416c7f0d11
+    296ee4463d5080cf
+
+VGATHERQPS_128_2(reg)
+  before
+    96746668be2e9259.bd0152856bbd7130.46c41732f682c295.3eb9a11a40ba4d99
+    f6de8d013c15af4c.9b2d97fc3756558e.0b4406846da4cc00.fb6b2d4ce506c43b
+    5469846e03014443.64fa929f696546ba.08c8ef3cc68fd8e1.9d6057fe4a4b91dd
+    bcd1780c5fefbbdb.a5a5ef4ccc672ecf.4a0a00b54e3c50d5.b1d4ce0b3c04a099
+    c1053c4f85addd8e
+  after
+    96746668be2e9259.bd0152856bbd7130.46c41732f682c295.3eb9a11a40ba4d99
+    0000000000000000.0000000000000000.0000000000000054.fae6846902e93664
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.fd6c33553c04a099
+    0000000000000000
+VGATHERQPS_128_2(mem)
+  before
+    5c2d4da5f1c234d6.3bd194359cd982af.e96a59de2ed6fbe9.dcc6624d51a9a278
+    0b89aeeb4ec0928d.dc27054605bd035c.bc847d3159309825.caba445f1ad03865
+    5c540bfc6722e1cf.ab8df79ce896ac7d.ab3107201af0f09f.21a0cf47f7af8039
+    dacb0fb307640fba.b5bf95918f61e8af.41aaa2893d93f172.ec3532613242e58e
+    373497081883d303
+  after
+    5c2d4da5f1c234d6.3bd194359cd982af.e96a59de2ed6fbe9.dcc6624d51a9a278
+    0b89aeeb4ec0928d.dc27054605bd035c.bc847d3159309825.caba445f1ad03865
+    5c540bfc6722e1cf.ab8df79ce896ac7d.ab3107201af0f09f.21a0cf47f7af8039
+    dacb0fb307640fba.b5bf95918f61e8af.41aaa2893d93f172.ec3532613242e58e
+    373497081883d303
+
+VGATHERQPS_256_2(reg)
+  before
+    0f5b2b9af570b632.122a67eefb020667.057b0c824718238d.0a2efa468e9386ba
+    7f6419721504fab7.8fadbf870f78b4f4.a77b88cb5cb9c9b4.93f7bc35d86e9b94
+    940b8eebc43b0b2f.dd8fc25c0f43047d.a87c34c81a3f46bf.67429430e99f1d1c
+    580eb5634e115535.880e1d47c7dee11d.13393dd5cda6064b.124b2e158ba3f66c
+    214e35be8bf413a3
+  after
+    0f5b2b9af570b632.122a67eefb020667.057b0c824718238d.0a2efa468e9386ba
+    00000000000000c8.48a99fbbec08199c.15ec32091c608e34.00000000000000e8
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.67d1373fcda6064b.124b2e155e5eb971
+    0000000000000000
+VGATHERQPS_256_2(mem)
+  before
+    1f865509b51061da.da27bc34fe824466.1d637b2602c539f1.f570ce4ec0eb75f3
+    98303bd0d572ca30.2313ccbc218b455d.28cd89d38e74f714.59db148f41080053
+    198893f0b7963cbe.418d13550427c2b7.3386f22b356808a2.4b363af49afb1108
+    2dc9094627f8a2a2.3f53bd5df052290f.cccb630bc41c56b8.d73f6dd918bf16ad
+    0ab0d99a075079df
+  after
+    1f865509b51061da.da27bc34fe824466.1d637b2602c539f1.f570ce4ec0eb75f3
+    98303bd0d572ca30.2313ccbc218b455d.28cd89d38e74f714.59db148f41080053
+    198893f0b7963cbe.418d13550427c2b7.3386f22b356808a2.4b363af49afb1108
+    2dc9094627f8a2a2.3f53bd5df052290f.cccb630bc41c56b8.d73f6dd918bf16ad
+    0ab0d99a075079df
+
+VGATHERQPS_256_2(reg)
+  before
+    ef46a993b3aba83a.613048acf015e8f8.2a1ff62e3409e502.7ed8884d070cce71
+    93bd0a2067cb0e59.40f9fcffdf68fadb.0cade9251b46612b.d6e80ccecab45cea
+    01d0279d71ac17d8.565fd21bc06dc468.f4bbc29ff0070b26.5f399c6bd990ed3f
+    453c2d661b4a2f54.2fa076dd5fa032ba.eb03aff601474e91.a504e4feff1d6c8a
+    35888f640ad6c4ea
+  after
+    ef46a993b3aba83a.613048acf015e8f8.2a1ff62e3409e502.7ed8884d070cce71
+    00000000000000e8.00000000000001e0.a87fd8b8d0279408.00000000000001c4
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.5e5eb97190227e82.a504e4fe6b8a318c
+    0000000000000000
+VGATHERQPS_256_2(mem)
+  before
+    9aff4979c437e378.6bbd48d7b2a1c268.58f6931f887d30ed.ff42d98798039605
+    60a6c019fabcb453.800ea34b82ae3cb1.5c9dd6be0781aa1e.3b346faf02355020
+    14b99d2078e22394.8fec6b20d76c0aca.c8d3eb96a7278d69.ac949bc88bdbe67d
+    41748f6a09231c59.a513cbb1fcd79650.27d27d8335ebc3e9.5d1f892f7ff0c5b9
+    5a91674029705a70
+  after
+    9aff4979c437e378.6bbd48d7b2a1c268.58f6931f887d30ed.ff42d98798039605
+    60a6c019fabcb453.800ea34b82ae3cb1.5c9dd6be0781aa1e.3b346faf02355020
+    14b99d2078e22394.8fec6b20d76c0aca.c8d3eb96a7278d69.ac949bc88bdbe67d
+    41748f6a09231c59.a513cbb1fcd79650.27d27d8335ebc3e9.5d1f892f7ff0c5b9
+    5a91674029705a70
+
+VGATHERQPS_256_2(reg)
+  before
+    b0a55e57d7570f3d.731240d37bfd8bbe.cd3ff0593feb4ede.05d739617d4a3aba
+    6a189dd1d3a252bc.37d05c3798eb5cde.132b0676eaa49c10.ee1dca0c4bbeddf9
+    94a64e086a4c8e8a.18e991722e6a7cd6.849438634affee83.6fe1dd606bc598c1
+    3a0b9d59e8512f42.a39b886007f4d5c1.2b36b37babf7afd3.145f1d39a9da562f
+    67d33773d079055e
+  after
+    b0a55e57d7570f3d.731240d37bfd8bbe.cd3ff0593feb4ede.05d739617d4a3aba
+    00000000000000f4.cc49034deff62ef8.34ffc164ffad3b78.175ce585f528eae8
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.9d56cb7cabf7afd3.145f1d39a9da562f
+    0000000000000000
+VGATHERQPS_256_2(mem)
+  before
+    f678d7eaae1e906b.6902b82099ada081.6220f0ddf00755bb.14cda21c59884b9b
+    4c8ca87a0d46e471.2d49c8b9c85c4fe2.e4b573c5b41ee6e1.4c1432a0a0af2e77
+    f64957ffba6ceb8d.9099fc80c35ba802.b295bdf421b6764f.dec88f65cb66c404
+    7feb9054810c92da.a0b17ed0d4a5157c.5afd7c460249f01f.d6a5e4c528ab79de
+    41665e1d0179b99f
+  after
+    f678d7eaae1e906b.6902b82099ada081.6220f0ddf00755bb.14cda21c59884b9b
+    4c8ca87a0d46e471.2d49c8b9c85c4fe2.e4b573c5b41ee6e1.4c1432a0a0af2e77
+    f64957ffba6ceb8d.9099fc80c35ba802.b295bdf421b6764f.dec88f65cb66c404
+    7feb9054810c92da.a0b17ed0d4a5157c.5afd7c460249f01f.d6a5e4c528ab79de
+    41665e1d0179b99f
+
+VGATHERDPD_128(reg)
+  before
+    2ac828caa3ccf0e6.73affe572ea2c675.694b7a07483603ec.6729599622554070
+    9d876f265aa18b4d.5fd14de38cab7179.f5241d806b0bdfef.655503c24e55525c
+    a75e5f8e72f2f470.ce8d2bd369a28102.52f89397891e1321.e1bc24a552c512ff
+    530b235f36bd99ec.4c1f42058f03e12d.8c8207a8ee6d0d1d.669b681afa216c76
+    812e7cff12e64cdc
+  after
+    2ac828caa3ccf0e6.73affe572ea2c675.694b7a07483603ec.6729599622554070
+    0000000000000000.0000000000000000.694b7a07483603ec.6729599600000030
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.8c8207a8ee6d0d1d.2e4eb88b0feb5e39
+    0000000000000000
+VGATHERDPD_128(mem)
+  before
+    bdb10c2f658f9f4e.ad48e7f3f4fde55c.66c23e54cb4a7d16.ae7fa60fe5f3377f
+    a65fc385c0984fe7.c2d1d9a7f6af445d.a7b3cc9be9f340d8.c4ab9c27bbacffe4
+    c9754edff07d4ac3.9d6423d789cd228a.9b2d98b8b57b188f.dac2144ebd95d0e8
+    b02f5917bfba7a00.4bbbf1dff955eb7f.cf6e4d85fa5df158.fd7f3bdf35a81626
+    389f3c3570e33d3a
+  after
+    bdb10c2f658f9f4e.ad48e7f3f4fde55c.66c23e54cb4a7d16.ae7fa60fe5f3377f
+    a65fc385c0984fe7.c2d1d9a7f6af445d.a7b3cc9be9f340d8.c4ab9c27bbacffe4
+    c9754edff07d4ac3.9d6423d789cd228a.9b2d98b8b57b188f.dac2144ebd95d0e8
+    b02f5917bfba7a00.4bbbf1dff955eb7f.cf6e4d85fa5df158.fd7f3bdf35a81626
+    389f3c3570e33d3a
+
+VGATHERDPD_128(reg)
+  before
+    97de44aeb941b1c1.eac88f0bfacccdb7.d693701c92420bd9.ceb098e08615b54e
+    27f77ea45ebfde56.007d9d956c2e2e06.4ca7cce8a090ee34.252f24a3231f518e
+    f3a71775a9573196.808a2e93e35c8909.b9b530a06e3c002b.5e299eac9ef8b133
+    08aa3b7ce807141c.f52befdf29d2cadb.2877c9a04940ae5b.07d8b2d5c31ac25a
+    ac790bfc5e036f1e
+  after
+    97de44aeb941b1c1.eac88f0bfacccdb7.d693701c92420bd9.ceb098e08615b54e
+    0000000000000000.0000000000000000.0000001c00000019.000000208615b54e
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.d4eaade0a9ada46c.07d8b2d5c31ac25a
+    0000000000000000
+VGATHERDPD_128(mem)
+  before
+    d84856fb3b2ea39c.71bc151465caf585.ec9b8b560c0ddd98.a5a9c2447e9a625e
+    17803eaf26184cef.3a98d29a6d9c3e6c.f017afd55687ae5d.3c0948e857458ad3
+    f55e70f5ea3b5534.6ffb9d6b4c795d6e.8ddb0736d4be2a46.fa5187e8213e9054
+    ff1e98a75415aa86.1da1a3e14d5ebd26.50223e56522e3b6d.ea3eaaa0277fe27d
+    198cde6bb706ebeb
+  after
+    d84856fb3b2ea39c.71bc151465caf585.ec9b8b560c0ddd98.a5a9c2447e9a625e
+    17803eaf26184cef.3a98d29a6d9c3e6c.f017afd55687ae5d.3c0948e857458ad3
+    f55e70f5ea3b5534.6ffb9d6b4c795d6e.8ddb0736d4be2a46.fa5187e8213e9054
+    ff1e98a75415aa86.1da1a3e14d5ebd26.50223e56522e3b6d.ea3eaaa0277fe27d
+    198cde6bb706ebeb
+
+VGATHERDPD_128(reg)
+  before
+    92f64fa71bce1739.c0fc61a230213701.4f45105abe46ca30.c42901129b51cff1
+    613928afa1d3d204.c53377c24adbe8c2.12a50f30e92df029.752cfc447da5d0ec
+    921195df931188e7.980088e36ec0a9e5.717acdc01b0f9bad.f067dac9c2a52c7a
+    3239c3933e85a57f.c89e3ee2684b6785.78837666a0e93757.c015477d37cdceb8
+    7173f13ca899a2c1
+  after
+    92f64fa71bce1739.c0fc61a230213701.4f45105abe46ca30.c42901129b51cff1
+    0000000000000000.0000000000000000.0000001a00000030.c429011200000031
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.78837666a0e93757.6747b78ba8e421dd
+    0000000000000000
+VGATHERDPD_128(mem)
+  before
+    90bd81e2e18593b1.4d6ede26ed2a9667.de4b459903f70cbe.337a357fc4b530c3
+    a82ea64bae0e90a6.ed6c12f6eefcc53c.68414ae50c4386ad.af1c3665d371f38e
+    45040a53dbaf82b9.20ef8a5e8bf79f99.f1bdf9a250a8bf6e.f825a6751819ea54
+    f47959d633e45608.f1b272b91218911b.06fafdac98a3a51c.1851b10be1a783b0
+    1d5b83837819283e
+  after
+    90bd81e2e18593b1.4d6ede26ed2a9667.de4b459903f70cbe.337a357fc4b530c3
+    a82ea64bae0e90a6.ed6c12f6eefcc53c.68414ae50c4386ad.af1c3665d371f38e
+    45040a53dbaf82b9.20ef8a5e8bf79f99.f1bdf9a250a8bf6e.f825a6751819ea54
+    f47959d633e45608.f1b272b91218911b.06fafdac98a3a51c.1851b10be1a783b0
+    1d5b83837819283e
+
+VGATHERDPD_256(reg)
+  before
+    120047392a69479b.40c941b0832af8af.6d72f765cd59065d.323603dfb3b123d3
+    04fc298943954b62.b6316bbd97fb55c9.9feb45bc09b86afb.01abb7176c4d25b0
+    fe0a56cf0f99a030.e0ee86d93bd55772.93d9881c12302892.0095c4308ff397ce
+    0ce7fa67d96fb2a0.4c393ce03b33ecc7.56f7ebdf34beaebe.ba32d705e720654a
+    bbbc9b74414f7b3f
+  after
+    120047392a69479b.40c941b0832af8af.6d72f765cd59065d.323603dfb3b123d3
+    120047392a69479b.000000300000002f.000000250000001d.0000001fb3b123d3
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    590ce39ac0f03964.fa17f64823025e5e.f9ab123826cfa7b9.ba32d705e720654a
+    0000000000000000
+VGATHERDPD_256(mem)
+  before
+    8f70bd5869fbc5c9.3b4f40adef15ed4f.865139ae6391ffe4.f3029a63ba5c671a
+    c389e88d2ba22f06.96fd55fd9b86bdd8.19702b1f7e6c7be4.76b6c202f108c042
+    e345c9ef53c0a60f.29af65b32abe8ed7.91d3bb0e593f4ee3.ecce8f1a26bd23d3
+    79de0c59accf1402.011f9b2be8b9cde9.7ab69859c18663fe.60072c05a377fd68
+    de1dc620b533bb9e
+  after
+    8f70bd5869fbc5c9.3b4f40adef15ed4f.865139ae6391ffe4.f3029a63ba5c671a
+    c389e88d2ba22f06.96fd55fd9b86bdd8.19702b1f7e6c7be4.76b6c202f108c042
+    e345c9ef53c0a60f.29af65b32abe8ed7.91d3bb0e593f4ee3.ecce8f1a26bd23d3
+    79de0c59accf1402.011f9b2be8b9cde9.7ab69859c18663fe.60072c05a377fd68
+    de1dc620b533bb9e
+
+VGATHERDPD_256(reg)
+  before
+    73cb89c8a7ebc710.13905ca9044d67fb.290924c12174e4aa.61546cdb80bda650
+    2acfa057c79d8f5b.3d9966ba25b58a15.ad2b2bd121ea41b5.d1eae36f626004f6
+    0fe3382a5f457e1a.8133d567dc83696c.9a3fddb633174fa6.57b4aaf335ec670b
+    2fc37c9dbdddffea.6d9b568ef534f01d.fb0265cea5f7791a.7eee6d42c4dbbcac
+    d2d3d737daabf0f4
+  after
+    73cb89c8a7ebc710.13905ca9044d67fb.290924c12174e4aa.61546cdb80bda650
+    73cb89c8a7ebc710.13905ca90000003b.290924c10000002a.0000001b80bda650
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    2fc37c9dbdddffea.e272aa9b30072487.7d6dc5b27e417312.7eee6d42c4dbbcac
+    0000000000000000
+VGATHERDPD_256(mem)
+  before
+    dfa095b044d8ed00.952d990d2b628066.8d0d95093c420b44.dd2ff174c1862dad
+    32905387cedca1eb.4edbbad4f6d16c2b.6bc43db67d2ba6fc.4a83aa03d4c1d6fa
+    57e1bc9a4435f7d1.648a0c4f6a252fd4.96fdfb6f836aad61.51babfd92aa3e09d
+    d8cd7dc3725edbcf.e6f5bbdad25a36fd.97f47b121b7b0c90.fb9059510f28b733
+    56c1a7c6ce4cc857
+  after
+    dfa095b044d8ed00.952d990d2b628066.8d0d95093c420b44.dd2ff174c1862dad
+    32905387cedca1eb.4edbbad4f6d16c2b.6bc43db67d2ba6fc.4a83aa03d4c1d6fa
+    57e1bc9a4435f7d1.648a0c4f6a252fd4.96fdfb6f836aad61.51babfd92aa3e09d
+    d8cd7dc3725edbcf.e6f5bbdad25a36fd.97f47b121b7b0c90.fb9059510f28b733
+    56c1a7c6ce4cc857
+
+VGATHERDPD_256(reg)
+  before
+    6d08d396b50c7da6.439141e024d33901.dddaf2d17c6deb43.fce4687912dbb0a4
+    4c220a1b0e6243bb.2368b5cb2510fd82.57f3de90b258bb42.500a6e82320583ba
+    00ca77b3264c8733.059084614292136e.5ffcab73c1191395.1fa23a07477573ed
+    94be47b849c6b4a9.74435b7f47d367e2.01b384d6f5ab5dd8.f6e878e61fa76a5a
+    6017d3f98517561c
+  after
+    6d08d396b50c7da6.439141e024d33901.dddaf2d17c6deb43.fce4687912dbb0a4
+    6d08d396b50c7da6.439141e024d33901.dddaf2d17c6deb43.fce4687912dbb0a4
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    94be47b849c6b4a9.74435b7f47d367e2.01b384d6f5ab5dd8.f6e878e61fa76a5a
+    0000000000000000
+VGATHERDPD_256(mem)
+  before
+    ea6cf81d4442224f.15b8a588c3ca35ba.fcbde6ff0051e5fa.4ad295159a0b07a8
+    1e23932e29a2ba11.8e74be7ddf567801.2a3cd0be39887ad1.45160c8cfc337ca1
+    8b784f0900b50a7b.0bb0bef4eb64e81a.89fac699bef21083.ff3b12976721285d
+    baa6d98895f7feab.9826d04a31f3f1a2.a534746a5a0d952d.83fcd69226d0777b
+    dd1682d8863cd595
+  after
+    ea6cf81d4442224f.15b8a588c3ca35ba.fcbde6ff0051e5fa.4ad295159a0b07a8
+    1e23932e29a2ba11.8e74be7ddf567801.2a3cd0be39887ad1.45160c8cfc337ca1
+    8b784f0900b50a7b.0bb0bef4eb64e81a.89fac699bef21083.ff3b12976721285d
+    baa6d98895f7feab.9826d04a31f3f1a2.a534746a5a0d952d.83fcd69226d0777b
+    dd1682d8863cd595
+
+VGATHERQPD_128_1(reg)
+  before
+    1a4542c7d361ae47.39eadc88b4e282bd.429321d9fffcff35.0b26850edb53f3ea
+    454444ba593c6e2e.938005e529f483cc.15b3dcfe9f7c7e6e.460ba5610b4318d7
+    6ad0b20d64c881e5.55a3007bbfa8ebf4.1b412e165d70dbe9.e220823fb756ef0f
+    95a5b81b40015408.09907826437aa852.62fa437b87d38043.6ca1c584ab0964af
+    6fc91d0cb2d963d2
+  after
+    1a4542c7d361ae47.39eadc88b4e282bd.429321d9fffcff35.0b26850edb53f3ea
+    0000000000000000.0000000000000000.429321d9fffcff35.000000000000002a
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.62fa437b87d38043.e272aa9b30072487
+    0000000000000000
+VGATHERQPD_128_1(mem)
+  before
+    77d534b39a41d894.d37f834238e35134.3e831ac282e6a401.f59a468a68a1da18
+    1101b6552dbdb012.30193edd9a6be605.7db8912b4669cd1e.e1dc649f4bd75602
+    c88951ce39cad568.b6301747b0937e16.546a8a3d5b7e0ec5.317dc8167d6f5fa0
+    29a8aefa88e234b1.738037dec7598404.4ed6b0d48fa15310.f1399f4b4a67608c
+    2ecc159afebac762
+  after
+    77d534b39a41d894.d37f834238e35134.3e831ac282e6a401.f59a468a68a1da18
+    1101b6552dbdb012.30193edd9a6be605.7db8912b4669cd1e.e1dc649f4bd75602
+    c88951ce39cad568.b6301747b0937e16.546a8a3d5b7e0ec5.317dc8167d6f5fa0
+    29a8aefa88e234b1.738037dec7598404.4ed6b0d48fa15310.f1399f4b4a67608c
+    2ecc159afebac762
+
+VGATHERQPD_128_1(reg)
+  before
+    f3f1555fe564ffbf.be9b7cb5e783ba0a.72c5cdfc2bb8666a.f838b0ccad4e881e
+    4c668cf64b62743e.159e65db2228518d.c0ba03ff27ad8fe4.ddcb360180019908
+    46e4e5bb7bae927b.baed1548044de759.681c054109326b0f.89cced4fd53772ed
+    ec2a8d0ac246c514.38c339d85b6f6788.76a700201b456686.89778292786bffe6
+    6808a1a535192c11
+  after
+    f3f1555fe564ffbf.be9b7cb5e783ba0a.72c5cdfc2bb8666a.f838b0ccad4e881e
+    0000000000000000.0000000000000000.72c5cdfc2bb8666a.000000000000001e
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.76a700201b456686.3e559d56cb7cef43
+    0000000000000000
+VGATHERQPD_128_1(mem)
+  before
+    b2baf566d8bde68a.4af2b03f6d257aa2.1b5d7d66f108bd36.f71620f6aae1ede6
+    f4ca2ab02cd4176c.6df979b6c6481bc3.eff68dd09396d580.f626912003026acb
+    b974ee5fffd8add4.60fb14cb19a91613.41cc14f10d959b81.7f937dfb6fa54bd0
+    8df3ea4e1b4793dd.2fb3afd9b446d52d.9c19bea52b7ffb56.9f1813e13dc5fa91
+    61737d2fb85ee5ab
+  after
+    b2baf566d8bde68a.4af2b03f6d257aa2.1b5d7d66f108bd36.f71620f6aae1ede6
+    f4ca2ab02cd4176c.6df979b6c6481bc3.eff68dd09396d580.f626912003026acb
+    b974ee5fffd8add4.60fb14cb19a91613.41cc14f10d959b81.7f937dfb6fa54bd0
+    8df3ea4e1b4793dd.2fb3afd9b446d52d.9c19bea52b7ffb56.9f1813e13dc5fa91
+    61737d2fb85ee5ab
+
+VGATHERQPD_128_1(reg)
+  before
+    d25ee8422b6c76b9.fd84cd5b4d9db5a3.e7de743ee21ac6ad.8d1a38c7b9d1e21a
+    fc957f74e4eb1b57.946341606154ff43.93388f55ee215430.9f0a2e3582083aea
+    edd66f222dd83f23.deccf33b23ea5dd8.3f7d2d7a2558eb52.5e274bc9549ff0e1
+    b1dbe3a8532d4eb6.68fa8ec75fd9bb7f.f8687a08d3b9f7ae.56ab3c61f912f11c
+    14d2add73ede28b6
+  after
+    d25ee8422b6c76b9.fd84cd5b4d9db5a3.e7de743ee21ac6ad.8d1a38c7b9d1e21a
+    0000000000000000.0000000000000000.e7de743ee21ac6ad.8d1a38c7b9d1e21a
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.f8687a08d3b9f7ae.56ab3c61f912f11c
+    0000000000000000
+VGATHERQPD_128_1(mem)
+  before
+    23da4909ef7e80cc.53610962a1e8b4ae.bd2abfdfe09f0554.c9b6a15d4442e4e0
+    10fdbdd1d76de779.df230aac6504dda7.6998316173b82771.bf23cfd4c4ee1e85
+    6678b40dc42a48d9.61df15e2ea7e363c.f97f9127e59e0ef5.e46a30c89fba1138
+    b186db97802e8f09.e64f53607b512909.f81d8b0e00cfa4f9.4748ef9720a02996
+    f179389b949ed33a
+  after
+    23da4909ef7e80cc.53610962a1e8b4ae.bd2abfdfe09f0554.c9b6a15d4442e4e0
+    10fdbdd1d76de779.df230aac6504dda7.6998316173b82771.bf23cfd4c4ee1e85
+    6678b40dc42a48d9.61df15e2ea7e363c.f97f9127e59e0ef5.e46a30c89fba1138
+    b186db97802e8f09.e64f53607b512909.f81d8b0e00cfa4f9.4748ef9720a02996
+    f179389b949ed33a
+
+VGATHERQPD_256_1(reg)
+  before
+    f0b9393247af79c1.7e64dd4dd9f6a825.792ff382657824ab.f3accaf390c6d79c
+    4fc31bb685cf89c6.584e670999ff8048.273d1fa4f4f191be.7468fbb063ff91f7
+    1b540d849afb6ee6.cb8025a88dc4018e.fa33042274b8dedd.098fc92244f6c029
+    5e2839f9d22d93bc.6436c20681c11814.01cecd5831c776a4.3e5be126fe284f4b
+    9e09ee965e102a7b
+  after
+    f0b9393247af79c1.7e64dd4dd9f6a825.792ff382657824ab.f3accaf390c6d79c
+    f0b9393247af79c1.0000000000000025.000000000000002b.f3accaf390c6d79c
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    5e2839f9d22d93bc.590ce39ac0f03964.cb320389bb21b811.3e5be126fe284f4b
+    0000000000000000
+VGATHERQPD_256_1(mem)
+  before
+    b5d49e4f302a3dd5.27facc6f786366e4.aeabeb004073b2f5.45caa7a2761cc5b0
+    0ff99a2d40f27474.7f88f144da9852fb.351c4c709854b94e.d4e2bd5c91b2369c
+    39b4910c5ae5bb74.748bd5d242c8c39d.86c4903353e21b3a.b9d33ce2cc853705
+    be412dc94a7dfff2.11c2a376fdf02665.2ce163253e98c3d6.0159508f74923486
+    b72f24c1d5d397bc
+  after
+    b5d49e4f302a3dd5.27facc6f786366e4.aeabeb004073b2f5.45caa7a2761cc5b0
+    0ff99a2d40f27474.7f88f144da9852fb.351c4c709854b94e.d4e2bd5c91b2369c
+    39b4910c5ae5bb74.748bd5d242c8c39d.86c4903353e21b3a.b9d33ce2cc853705
+    be412dc94a7dfff2.11c2a376fdf02665.2ce163253e98c3d6.0159508f74923486
+    b72f24c1d5d397bc
+
+VGATHERQPD_256_1(reg)
+  before
+    e712e5d33b46cd42.2bdb1a3edb382a0a.63e7888c570be5ef.b3ad722225f39d3d
+    9dbebe21f2e643b5.0bbf0548da912ad7.75b7b0719b156dd8.a8646906d46d958c
+    e6efdc0645af63b0.ea299ac31405e975.53ee467f170a2bbc.9644f4ad178497de
+    ce606be0819e9bd0.5555848b530e5501.0a48771315e68935.0987bef3bab38f50
+    8e6a73b4887669fd
+  after
+    e712e5d33b46cd42.2bdb1a3edb382a0a.63e7888c570be5ef.b3ad722225f39d3d
+    0000000000000002.000000000000000a.63e7888c570be5ef.000000000000003d
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    05c88ac2cee692e2.56f6fd6c3355cfe4.0a48771315e68935.5f4cca42798883b1
+    0000000000000000
+VGATHERQPD_256_1(mem)
+  before
+    b029c1cc4e491101.5fce9609f3ae55b0.d77e707c632a5996.a4806e89e3a6f5e2
+    fbff5117d8a97479.a7f58adfe5daffec.fce10a7212d4e151.3053583dcb45da5d
+    fc29d271f2117c81.b29172bda3210421.50bafd492b88d94d.b77d608b1abfa442
+    3ee3eeb668fd1734.8a5d7bfe7b7cd0eb.6044f6dd79c32da7.47b9b4cf1b10be2e
+    ecc47d651c3496bc
+  after
+    b029c1cc4e491101.5fce9609f3ae55b0.d77e707c632a5996.a4806e89e3a6f5e2
+    fbff5117d8a97479.a7f58adfe5daffec.fce10a7212d4e151.3053583dcb45da5d
+    fc29d271f2117c81.b29172bda3210421.50bafd492b88d94d.b77d608b1abfa442
+    3ee3eeb668fd1734.8a5d7bfe7b7cd0eb.6044f6dd79c32da7.47b9b4cf1b10be2e
+    ecc47d651c3496bc
+
+VGATHERQPD_256_1(reg)
+  before
+    b05aeaa967289888.4e6851c206e930ae.3d16d100b8e9cfe5.b8bca009c9ffc97a
+    a13625f74ae72e30.b7f6a8719752b30c.d7789f1da5626dab.e25ea8abe7ba99e3
+    cb165aab0f6dc54d.05c79f9ee8b28c69.623e11b28fe517da.6c66b99e9f6f8afd
+    38b4b62103b6ca7d.c417e227c687a7e2.ec25551cc26e370d.e10f80bebd9b86e5
+    ce96a9e60cb87bb6
+  after
+    b05aeaa967289888.4e6851c206e930ae.3d16d100b8e9cfe5.b8bca009c9ffc97a
+    0000000000000008.4e6851c206e930ae.3d16d100b8e9cfe5.b8bca009c9ffc97a
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3c9461101bb7b47a.c417e227c687a7e2.ec25551cc26e370d.e10f80bebd9b86e5
+    0000000000000000
+VGATHERQPD_256_1(mem)
+  before
+    be37dff45a44538c.f6cc65b472bfa75c.81241ce7fb4cf092.81e995b58af73ae1
+    3d2dcfc371bafc84.111c92c2a783ca85.c728f9ba537e5396.2b45fdda337e8df1
+    d8b6242e1e9661ba.945e6aa6f0fe9d94.235f267b9c97bc0a.f8f7bae809fe9bda
+    1a0b8b132d546e49.8b4f19bc972c8e26.1f074f08a1151708.f4b9f8395773cf37
+    2947e22a6ad997a5
+  after
+    be37dff45a44538c.f6cc65b472bfa75c.81241ce7fb4cf092.81e995b58af73ae1
+    3d2dcfc371bafc84.111c92c2a783ca85.c728f9ba537e5396.2b45fdda337e8df1
+    d8b6242e1e9661ba.945e6aa6f0fe9d94.235f267b9c97bc0a.f8f7bae809fe9bda
+    1a0b8b132d546e49.8b4f19bc972c8e26.1f074f08a1151708.f4b9f8395773cf37
+    2947e22a6ad997a5
+
+VGATHERQPD_128_2(reg)
+  before
+    a65fa5178e2d5ebf.906bb04d6a710f4d.02aaca5fea0908d7.4a5a1f3b2d7351ae
+    74bb6d5c0f699022.c4103eb7a16830e3.062caaed33927742.2d9543f20d2d5518
+    a1186556398b9969.4437e22f9db5bd26.a291e4c1bec24703.56f467070dc00e61
+    3831b95f588fe530.9c1c478f2bd4a233.e295a536d995e4b7.50b23658f9a66aa6
+    a80c5dbf9d5d5402
+  after
+    a65fa5178e2d5ebf.906bb04d6a710f4d.02aaca5fea0908d7.4a5a1f3b2d7351ae
+    0000000000000000.0000000000000000.000000000000005c.29687cecb5cd46b8
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.02af9633119a4f34.50b23658f9a66aa6
+    0000000000000000
+VGATHERQPD_128_2(mem)
+  before
+    e93e871ac560b891.45c497d4b76fe114.56fb1ab51842cc25.d3f418aacf07baf9
+    9f8461433c2c8270.d58b2911a429f7b1.010f077b2e792519.80696a77eb153666
+    57199618cf3b9ebb.f3429b7269b894a2.2695b9be39f79b2a.f6b1c7fb7bbac299
+    9c3ad3734a0bf88d.aca71a5353182583.53c8dd5b07371875.3f875a90c9f2cc2f
+    6aa9509422b9bec3
+  after
+    e93e871ac560b891.45c497d4b76fe114.56fb1ab51842cc25.d3f418aacf07baf9
+    9f8461433c2c8270.d58b2911a429f7b1.010f077b2e792519.80696a77eb153666
+    57199618cf3b9ebb.f3429b7269b894a2.2695b9be39f79b2a.f6b1c7fb7bbac299
+    9c3ad3734a0bf88d.aca71a5353182583.53c8dd5b07371875.3f875a90c9f2cc2f
+    6aa9509422b9bec3
+
+VGATHERQPD_128_2(reg)
+  before
+    80d1d561d10b06f2.fa23c43179177c02.0b74d210ae4515f1.13e61e2c63b68a15
+    8fbb145524e50f57.fe0f142e28db1737.1c66ee04c63bcf87.f229290e18eedc27
+    a22539ca6642458e.333c704723d4b347.eb389b8de6f7c1e2.7dceaaddf35dfac6
+    c6c9711de21e1434.25e38456357c3e4f.85a804065c74569e.3f104c76c07ed00e
+    c52dbcb34bcd4a1d
+  after
+    80d1d561d10b06f2.fa23c43179177c02.0b74d210ae4515f1.13e61e2c63b68a15
+    0000000000000000.0000000000000000.00000000000000c4.4f9878b18eda2854
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.67d1373f9674a550.3f104c76c07ed00e
+    0000000000000000
+VGATHERQPD_128_2(mem)
+  before
+    9a5ea57160c7540c.0664e8abe575e8e5.6143fb382c51a36a.f57056cb72aefa55
+    4ae2b48ccbe7dbf9.6eb2cacebb442d3c.729681c9d2cecdb5.484dbd3875a219a6
+    61f495e057a9c9ff.0a6e42e3b0854fd5.e419c3e5f470aa4b.89fa64a9b14a202a
+    6ccff349d1890c3b.e7557c461036bb4d.44086d685eb12549.c434787972a47980
+    06b7240603ab9141
+  after
+    9a5ea57160c7540c.0664e8abe575e8e5.6143fb382c51a36a.f57056cb72aefa55
+    4ae2b48ccbe7dbf9.6eb2cacebb442d3c.729681c9d2cecdb5.484dbd3875a219a6
+    61f495e057a9c9ff.0a6e42e3b0854fd5.e419c3e5f470aa4b.89fa64a9b14a202a
+    6ccff349d1890c3b.e7557c461036bb4d.44086d685eb12549.c434787972a47980
+    06b7240603ab9141
+
+VGATHERQPD_128_2(reg)
+  before
+    5a3f95abb25bd50b.f6b07aa306038ec9.1123a5532652db3f.1d9f2b2edc0f2aca
+    cc87f7c3c9b1b07a.8cd2d8cac0943dc4.9293e96740d61d48.fb19a8133905a5eb
+    684c75ac95a88d29.b972b79acbb60448.786274dca8bceb04.6bb390f3420f83c7
+    3b4a3cc0623cdab5.09ccc3eff5e7cf72.ce4c710fab02b30d.f8a890aac4a9ae7a
+    2e36541489501421
+  after
+    5a3f95abb25bd50b.f6b07aa306038ec9.1123a5532652db3f.1d9f2b2edc0f2aca
+    0000000000000000.0000000000000000.448e954c994b6cfc.767cacbb703cab28
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.ce4c710fab02b30d.f8a890aac4a9ae7a
+    0000000000000000
+VGATHERQPD_128_2(mem)
+  before
+    9a97880d5e7f9fd8.513d775d7c6902b9.091ca9a509a38a5d.a10d0c5c95a3e002
+    c708d7710fb23dba.b4e053dd2f2b71d1.449d1598d2642126.fc60721fb29bde7c
+    42c4ed1c6765d8e3.72f0fc9ec67f939a.468db2a41da880e8.eb03cfb44de7191a
+    950877ea34155e70.97289dfa8f5fd4af.9c252da5b6e993c0.7baf4e77b482fd75
+    b7231cc43168f62b
+  after
+    9a97880d5e7f9fd8.513d775d7c6902b9.091ca9a509a38a5d.a10d0c5c95a3e002
+    c708d7710fb23dba.b4e053dd2f2b71d1.449d1598d2642126.fc60721fb29bde7c
+    42c4ed1c6765d8e3.72f0fc9ec67f939a.468db2a41da880e8.eb03cfb44de7191a
+    950877ea34155e70.97289dfa8f5fd4af.9c252da5b6e993c0.7baf4e77b482fd75
+    b7231cc43168f62b
+
+VGATHERQPD_256_2(reg)
+  before
+    ab1965f7119570d8.4f1021b7403cba7d.2d46634fd4c9a0ad.d1a4327769a647c9
+    644e546ba005d817.f918975e5858d824.420479f7e2b96430.71446cf50258861f
+    ed7e167e2ab59885.215b83bd48e4a484.e21f0c4f05298ad2.094287fd4c7c3edf
+    5264d68bfb9f1ebd.521694afdc5d0ab6.175247b489178032.24da316a158f5925
+    4e481317270cc50c
+  after
+    ab1965f7119570d8.4f1021b7403cba7d.2d46634fd4c9a0ad.d1a4327769a647c9
+    0000000000000060.3c4086dd00f2e9f4.00000000000000b4.4690c9dda6991f24
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3de12b6f02af9633.521694afdc5d0ab6.1d78d7e2ce16c8bb.24da316a158f5925
+    0000000000000000
+VGATHERQPD_256_2(mem)
+  before
+    14c7dce24f6f6db0.a0bdc1ee5ec1d55b.1985740fe03df7d9.f05b5880b97eb0e9
+    019436a659353d2e.e2450303a11728fc.00e4d0bb1f025506.76f46810e35a8896
+    a1eacd3e11d821a2.25b8c7250e9b853c.966e538d6727125c.b7d9a6c051a773d2
+    81074f8843d60527.73d139b2f24b57b5.6460aa63822818f4.bec83bed5062dd3b
+    977b56f12c86326d
+  after
+    14c7dce24f6f6db0.a0bdc1ee5ec1d55b.1985740fe03df7d9.f05b5880b97eb0e9
+    019436a659353d2e.e2450303a11728fc.00e4d0bb1f025506.76f46810e35a8896
+    a1eacd3e11d821a2.25b8c7250e9b853c.966e538d6727125c.b7d9a6c051a773d2
+    81074f8843d60527.73d139b2f24b57b5.6460aa63822818f4.bec83bed5062dd3b
+    977b56f12c86326d
+
+VGATHERQPD_256_2(reg)
+  before
+    4faf2129310ede03.2c25665ebaaad5d9.da4d870599220a06.f8f681183d8255ec
+    f11fc9f1abf94d9a.2e80be9e43d17dd5.66e8db794e1c0ac9.dd6b838764afb460
+    898979a5e540ebcd.14560422abc5ea36.225d616c5f35c49a.a0fc5c8dc32d206b
+    24a75ea12de12538.69e1e4c7bc040619.1a694638176aa216.cce5ba0725778729
+    ed6247cf580ad4b7
+  after
+    4faf2129310ede03.2c25665ebaaad5d9.da4d870599220a06.f8f681183d8255ec
+    000000000000000c.b095997aeaab5764.69361c1664882818.00000000000000b0
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    92e20bc47c625975.69e1e4c7bc040619.1a694638176aa216.ce16c8bb36a64c3d
+    0000000000000000
+VGATHERQPD_256_2(mem)
+  before
+    90aeafc32660f331.cd35a341cdd76578.b95e096a4209bf99.5ac8b63bc1b511d8
+    40069fbd5cf7d1b2.91f175e1121e1929.91091fe50b5000d3.ef36dccfaa147e7d
+    89a6c39ac64a5856.7b9500dd48b2ace6.7c1dd416e255b4e2.e46ee5521e8254a0
+    f7c9c63730d5753a.97de6f91ba90894b.07d7d2d79295c9e3.462dfc1e69fcfedd
+    202f4e90d67dead2
+  after
+    90aeafc32660f331.cd35a341cdd76578.b95e096a4209bf99.5ac8b63bc1b511d8
+    40069fbd5cf7d1b2.91f175e1121e1929.91091fe50b5000d3.ef36dccfaa147e7d
+    89a6c39ac64a5856.7b9500dd48b2ace6.7c1dd416e255b4e2.e46ee5521e8254a0
+    f7c9c63730d5753a.97de6f91ba90894b.07d7d2d79295c9e3.462dfc1e69fcfedd
+    202f4e90d67dead2
+
+VGATHERQPD_256_2(reg)
+  before
+    7e2f0705b3008318.17ac556e65151579.f187ef59b6b21ef5.bd73c505e88b2af1
+    6cea52d74a83354d.758b1b1c33842330.964eab908616d67f.2a2d5b7cb0b3c328
+    f71c5c63e8026c0d.9ba2c61d64a08a7b.92edd19478b71d86.da403d18b68980a5
+    2a815006d97794f3.172cff4dc5e43874.ef218ac0d6925fa5.5ae91ab6c6894e84
+    35639c30ac3017e0
+  after
+    7e2f0705b3008318.17ac556e65151579.f187ef59b6b21ef5.bd73c505e88b2af1
+    0000000000000060.00000000000000e4.00000000000000d4.00000000000000c4
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3de12b6f02af9633.5e5eb97188388d20.731201e667dcc3bc.67d1373f9674a550
+    0000000000000000
+VGATHERQPD_256_2(mem)
+  before
+    f8ec6f6333f9c8d5.12d45b1a69e01a9b.7566748822cc1839.bba50470eda10979
+    2ebe402b28604e80.bad2a9fce43868a2.408cd1aa47d516e6.01366b0008e2859d
+    6316bb6458e193fc.2e376508957beba3.04d9c290007a1e96.ce90ebcb755040ae
+    232f8bea8df98566.7bbfbc9acaa5103b.4d8bf21419371c66.2d6faf2f7fe8a747
+    2a8ee38671a42404
+  after
+    f8ec6f6333f9c8d5.12d45b1a69e01a9b.7566748822cc1839.bba50470eda10979
+    2ebe402b28604e80.bad2a9fce43868a2.408cd1aa47d516e6.01366b0008e2859d
+    6316bb6458e193fc.2e376508957beba3.04d9c290007a1e96.ce90ebcb755040ae
+    232f8bea8df98566.7bbfbc9acaa5103b.4d8bf21419371c66.2d6faf2f7fe8a747
+    2a8ee38671a42404
+
+VPGATHERDD_128(reg)
+  before
+    d2aab42e98822582.fb475d9993230fda.ac25d90fcdb34206.a8db0d135d88fc71
+    307f4e82407d155d.7798dd4d38db1d72.cd26e9c1eba0ec9e.a008c06899e9abd4
+    50c9dcddb5916030.215eb6e2479d9b4d.eb7e180d70687ca2.c14cb7f199d713aa
+    3f438b9d43ba7297.87d794348be57584.11e8914fa8075dab.98e59e8929cd220f
+    b00c200c1547c220
+  after
+    d2aab42e98822582.fb475d9993230fda.ac25d90fcdb34206.a8db0d135d88fc71
+    0000000000000000.0000000000000000.0000000fcdb34206.0000001300000071
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.6129a748a8075dab.210fa13dacc76b8a
+    0000000000000000
+VPGATHERDD_128(mem)
+  before
+    9600e95629c1e1f8.07aa871c35f5b72f.343d251ed1309736.4b2181e3df7afb58
+    d4fba64330b76ab4.b7b9fbb8d93d9b94.b5cd137ee5f9ed7c.a6e5132560bbc242
+    f83a03aff7a64970.592e14cb798e8a61.95c20a2f93bc6474.2def747078c81e07
+    8ef9ab754b096a47.f9c3fdb262e4f132.605ab70da7f5e63a.ecfdd022739c7c43
+    f0c952969d344691
+  after
+    9600e95629c1e1f8.07aa871c35f5b72f.343d251ed1309736.4b2181e3df7afb58
+    d4fba64330b76ab4.b7b9fbb8d93d9b94.b5cd137ee5f9ed7c.a6e5132560bbc242
+    f83a03aff7a64970.592e14cb798e8a61.95c20a2f93bc6474.2def747078c81e07
+    8ef9ab754b096a47.f9c3fdb262e4f132.605ab70da7f5e63a.ecfdd022739c7c43
+    f0c952969d344691
+
+VPGATHERDD_128(reg)
+  before
+    440f2728428aea8e.21734b73f65cb955.a335e3cae03b3aa4.a3cfc6f4ec2161e9
+    f48d7a34ae9cd2d5.3de58f84c41b22b7.643ff26d3f90d352.e95de2bf30bbbf9e
+    0dfd78162c656c02.6e8b228383c39188.479f55f8cade26d9.be42b84c3d3eee74
+    9a1c4c290ae123b2.41a0b14efecff3e5.580f38c7cf21a1d4.afb8f376e029d987
+    47fc4018e5f56cf4
+  after
+    440f2728428aea8e.21734b73f65cb955.a335e3cae03b3aa4.a3cfc6f4ec2161e9
+    0000000000000000.0000000000000000.a335e3ca00000024.00000074ec2161e9
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.580f38c70ffc1b7c.7b35b1dce029d987
+    0000000000000000
+VPGATHERDD_128(mem)
+  before
+    124a4b10182093d6.a7a523cb920d6380.4162e7c000bb32e9.a44bc9379855afe0
+    9dddbf3845253a4a.4155295711e39809.fb0b71b456033cb0.361132a27277bc98
+    73f2496e37804d6c.73e88928d3612ee9.fad7fb08cc24fb58.1a1b9f65a9823498
+    21c5948cbbadb956.4a1a709c248291bb.ca0430962e985dfa.5d263ddc8972837e
+    0aed38635d4315e3
+  after
+    124a4b10182093d6.a7a523cb920d6380.4162e7c000bb32e9.a44bc9379855afe0
+    9dddbf3845253a4a.4155295711e39809.fb0b71b456033cb0.361132a27277bc98
+    73f2496e37804d6c.73e88928d3612ee9.fad7fb08cc24fb58.1a1b9f65a9823498
+    21c5948cbbadb956.4a1a709c248291bb.ca0430962e985dfa.5d263ddc8972837e
+    0aed38635d4315e3
+
+VPGATHERDD_128(reg)
+  before
+    2e2ebb5673f15665.31914d709e286827.d0a70a0e4f432d1b.f8ccbc3c48dd4db4
+    d3a3f3111579b3a0.319320f4aa6e47f8.134a82d9a29e6ea6.0f6c4dd4e66eb7a2
+    08080bf091d6962f.ad07b8f5abfa43e8.1fc0045b6791c1f7.9b1f8d3bd3c887df
+    d61b314f31046dae.3029c2506f484710.ffc4beeeeb1790ab.2923284edc65a987
+    43b2cbe7cdc309b7
+  after
+    2e2ebb5673f15665.31914d709e286827.d0a70a0e4f432d1b.f8ccbc3c48dd4db4
+    0000000000000000.0000000000000000.d0a70a0e4f432d1b.0000003c00000034
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.ffc4beeeeb1790ab.cb7cef43c3bcd98a
+    0000000000000000
+VPGATHERDD_128(mem)
+  before
+    780822e3725d948a.4b968e8a41ffa2ba.4634e9dfc1d53e8f.bf14daef7a2c495d
+    5163d81f97af341d.723650fd0fc4a3ee.7b65da7f6c1b167e.6b6a84bb60cc57a9
+    5cfd9a750835d68c.58b6a304e64ddbe7.5cf8410d3d98bafb.1082e9ace9f4252c
+    251313c2906c67f1.07d4b3fb1198b641.7429c96300c71622.b91a3520609f2182
+    73ec937112c9b646
+  after
+    780822e3725d948a.4b968e8a41ffa2ba.4634e9dfc1d53e8f.bf14daef7a2c495d
+    5163d81f97af341d.723650fd0fc4a3ee.7b65da7f6c1b167e.6b6a84bb60cc57a9
+    5cfd9a750835d68c.58b6a304e64ddbe7.5cf8410d3d98bafb.1082e9ace9f4252c
+    251313c2906c67f1.07d4b3fb1198b641.7429c96300c71622.b91a3520609f2182
+    73ec937112c9b646
+
+VPGATHERDD_256(reg)
+  before
+    49b530fc4c6e5015.36e1f0e2fdcfd26b.8e4aab3edda1a096.50331f5e8124160e
+    4731371e588b5c8a.1da2ddb119da0313.f6d5b72897620585.7a53eeda8c2ca7db
+    7a1bd531821b4441.6693850bb109e508.4d30051788d951a7.81c5e3b3ed59b3a6
+    ed303692181975d7.9bf095cd91d96663.9e18be66ff00f19a.eec4aac56f29278b
+    4f8deeecdf17f0a5
+  after
+    49b530fc4c6e5015.36e1f0e2fdcfd26b.8e4aab3edda1a096.50331f5e8124160e
+    49b530fc00000015.36e1f0e20000006b.8e4aab3e00000016.0000005e0000000e
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    ed30369256f6fd6c.9bf095cdacc6ed38.9e18be664f341fdb.1ebca102634f0e5b
+    0000000000000000
+VPGATHERDD_256(mem)
+  before
+    2f5c5b040aa0f910.ac2c859d65845ce7.4af4b9d185c57142.f649117147d54ffa
+    1b6d9fe9ba3e2de9.c3caefaeb455630e.ffdc9cf45848f3c1.607f2893ab54d962
+    9efb6477bb6f7a4b.3fc79f21528af8e8.45e4ea12d8e1d6fb.e8752f2a7977f96f
+    4443568adbaecb53.2cdfc2528b1d860f.a8485007cf09070d.9be85390fb3c1dbc
+    8494c0237e9eb0e5
+  after
+    2f5c5b040aa0f910.ac2c859d65845ce7.4af4b9d185c57142.f649117147d54ffa
+    1b6d9fe9ba3e2de9.c3caefaeb455630e.ffdc9cf45848f3c1.607f2893ab54d962
+    9efb6477bb6f7a4b.3fc79f21528af8e8.45e4ea12d8e1d6fb.e8752f2a7977f96f
+    4443568adbaecb53.2cdfc2528b1d860f.a8485007cf09070d.9be85390fb3c1dbc
+    8494c0237e9eb0e5
+
+VPGATHERDD_256(reg)
+  before
+    af35a23d4e991e87.9a8122fee5770c1c.94ce849dab0c7922.b4437aae0a3e7312
+    2986243cb629d33e.2af074afa44729c3.854f105efe533cba.f61214e555fa0426
+    fd44727a044b3ba5.83cdf779e5980e63.0b1f93f1d0ec3d76.f9f1c9877cbba866
+    372ab95582fac258.2e54583874e8a719.30fa38b26cd5e8ef.491c45704afd4aee
+    73ce357c8d3ad5d9
+  after
+    af35a23d4e991e87.9a8122fee5770c1c.94ce849dab0c7922.b4437aae0a3e7312
+    0000003d4e991e87.0000007e0000001c.94ce849d00000022.0000002e0a3e7312
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    3e559d5682fac258.e33d4cd1cc039def.30fa38b2467b4796.c7ff1d784afd4aee
+    0000000000000000
+VPGATHERDD_256(mem)
+  before
+    024445870ff03743.e4f625277e32d4f4.b9c143c81db2e100.029c2cfd2009a7c3
+    83b9206c9d9a5b49.0f62e14e42efdd14.b04f6304ac73a635.8dc09a2e3684e78e
+    816b730903b42d06.c42b1a241b2d4a55.9d3b64caeca5e4d3.db23b0a1fb4215eb
+    8894ea390dba9a97.100cfc0654e98553.0ec1f3f5abc685f6.fa8197b2bb409b77
+    f6957ebdc179e7cd
+  after
+    024445870ff03743.e4f625277e32d4f4.b9c143c81db2e100.029c2cfd2009a7c3
+    83b9206c9d9a5b49.0f62e14e42efdd14.b04f6304ac73a635.8dc09a2e3684e78e
+    816b730903b42d06.c42b1a241b2d4a55.9d3b64caeca5e4d3.db23b0a1fb4215eb
+    8894ea390dba9a97.100cfc0654e98553.0ec1f3f5abc685f6.fa8197b2bb409b77
+    f6957ebdc179e7cd
+
+VPGATHERDD_256(reg)
+  before
+    d91c8e1d5be96389.247130d787298c17.fec3b2513b1efca8.8f1cbc60b35177bb
+    b2d2f630d38c7d48.e23df2c13c7cf0a3.9a0a695f1ac81af2.aa896be9d1c2a53e
+    8a73e051765ea0a5.4d35dbd2fa2fb356.f19d4c8d3fe34bcd.ed44ab6bd195fb9a
+    6fba79dc905c383d.f29598e58bbebf4d.0e3a8837f46cfbd4.e48928c17f4765eb
+    199390c9a753cf4e
+  after
+    d91c8e1d5be96389.247130d787298c17.fec3b2513b1efca8.8f1cbc60b35177bb
+    0000001d5be96389.247130d700000017.000000513b1efca8.000000600000003b
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    8e26c53b905c383d.f29598e59633119a.06a54347f46cfbd4.0feb5e39fa17f648
+    0000000000000000
+VPGATHERDD_256(mem)
+  before
+    1b9f8c5d143525de.6c64ec2c6d81b1ac.5c99d5d8bca502a3.fd9b48b9865e96a4
+    73e9cb5b936954b8.8d2d669f59c9778c.177d3d8559616774.cb7db96f41b588d8
+    afacf79df16c46f7.dfd0128fa030f67c.b07c7cca2e6ddadd.839b07b6706d3d0d
+    5a26bc01f8b8e8b8.6d0a1d5a8db39b16.b2d34081064546fa.32b35de8618221de
+    e37fe8625ef1a1e7
+  after
+    1b9f8c5d143525de.6c64ec2c6d81b1ac.5c99d5d8bca502a3.fd9b48b9865e96a4
+    73e9cb5b936954b8.8d2d669f59c9778c.177d3d8559616774.cb7db96f41b588d8
+    afacf79df16c46f7.dfd0128fa030f67c.b07c7cca2e6ddadd.839b07b6706d3d0d
+    5a26bc01f8b8e8b8.6d0a1d5a8db39b16.b2d34081064546fa.32b35de8618221de
+    e37fe8625ef1a1e7
+
+VPGATHERQD_128_1(reg)
+  before
+    a2bbd480b4b527c5.0091c86174cb2716.4497b35a6d4dd0f6.a9bd3387af659ae6
+    7b254c9eafca2114.2e29c49a3321ee2e.6e33ffed8cfa03b8.217701b9f34abfbd
+    7b777c179b2cf96e.6f2c5f890034281b.fa992e6d36b69efa.a73d57f19f6fa29c
+    ad6e9249c4d81d72.50d44308a681c3fa.f1866c38b77d0f55.c74be10c7f502f9f
+    0bdd4ae75f6953e0
+  after
+    a2bbd480b4b527c5.0091c86174cb2716.4497b35a6d4dd0f6.a9bd3387af659ae6
+    0000000000000000.0000000000000000.0000000000000076.0000000000000066
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.05d5eed7ee91850b
+    0000000000000000
+VPGATHERQD_128_1(mem)
+  before
+    012e3f5c0a36f87e.1ec5b78f76c9f8ba.5b5d1cf4f285aae6.61b6e4a85b4cc167
+    357b6b484e340c93.d93a1a45fcfaf6e2.1f059729b0bbc9fc.55e4c21a6d1e20cc
+    31ff7b87f5de793b.ea87e5c7a36a8387.25066084aca00d57.dacd34eb3bef981f
+    83f81bf5ccb02d93.5d694571b7120b44.fb9d23dfb2ae6013.fb2d63750fbb95fd
+    c4c07e15367e8301
+  after
+    012e3f5c0a36f87e.1ec5b78f76c9f8ba.5b5d1cf4f285aae6.61b6e4a85b4cc167
+    357b6b484e340c93.d93a1a45fcfaf6e2.1f059729b0bbc9fc.55e4c21a6d1e20cc
+    31ff7b87f5de793b.ea87e5c7a36a8387.25066084aca00d57.dacd34eb3bef981f
+    83f81bf5ccb02d93.5d694571b7120b44.fb9d23dfb2ae6013.fb2d63750fbb95fd
+    c4c07e15367e8301
+
+VPGATHERQD_128_1(reg)
+  before
+    4141af28fc35cec7.b7a0f66fa02613b6.3f9b659e84f0fab6.2c068a178e63af4d
+    7f6d2208acdbe3ec.5733b9cf3abd17c1.9cda72ac56febd78.457c44080b3ae720
+    8a000512946c2c0b.f1ef10f269ef25cf.7ee297f6793bbe27.d03cfb8ef7aff2a9
+    6cb681a2fee517c1.110ea6b4f83a29fc.f36f01d738a06a5e.5c825c851c3ebe04
+    728a12c94764354c
+  after
+    4141af28fc35cec7.b7a0f66fa02613b6.3f9b659e84f0fab6.2c068a178e63af4d
+    0000000000000000.0000000000000000.0000000000000036.000000000000004d
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.7e417312235f93d9
+    0000000000000000
+VPGATHERQD_128_1(mem)
+  before
+    a08fca36439b459d.334ac51438400ea9.42cd27f1b21a0f65.063cdcade02a2eb9
+    71ce30a8de61d914.ea79fbc48c7b7f60.106840856409c426.c40653d3bed675d5
+    7283effbe332ddcc.9eff4f0e4791d582.071a9d4cda84325a.388992a41c9fab4e
+    2ee9b30b1d883de2.5a97ef4eb47e7ca9.b420ea21e008471d.6e81c77e46813bbf
+    73a91cbb8a7893c4
+  after
+    a08fca36439b459d.334ac51438400ea9.42cd27f1b21a0f65.063cdcade02a2eb9
+    71ce30a8de61d914.ea79fbc48c7b7f60.106840856409c426.c40653d3bed675d5
+    7283effbe332ddcc.9eff4f0e4791d582.071a9d4cda84325a.388992a41c9fab4e
+    2ee9b30b1d883de2.5a97ef4eb47e7ca9.b420ea21e008471d.6e81c77e46813bbf
+    73a91cbb8a7893c4
+
+VPGATHERQD_128_1(reg)
+  before
+    52bebdb933811efa.313d2ab459e1e571.2afe04e0213fe073.a2b6d2e24210ed8c
+    177bd8d28c9749fd.08bbfed163b8c296.1bf0bd20d9cf6d7c.5d17016acc1912c3
+    cf9e9664e2b67e67.3e9fdb400789be6c.3828446a27298f5f.72812495499da1dd
+    85e126c981da2ad7.5f246edc11d0c60f.8d64c51a584cb2b9.6c2de73f871a86f6
+    d85af543500bad2b
+  after
+    52bebdb933811efa.313d2ab459e1e571.2afe04e0213fe073.a2b6d2e24210ed8c
+    0000000000000000.0000000000000000.2afe04e0213fe073.a2b6d2e24210ed8c
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.6c2de73f871a86f6
+    0000000000000000
+VPGATHERQD_128_1(mem)
+  before
+    4143fb7f71ec0297.4501b25eb500bae7.f88763814c0ac79c.275e6d8cb8314325
+    3323a5ceb6397157.1cb96680ca229833.9404650a86b1ac2f.11d2681c93d5ac3f
+    3a369e0bea6fe686.15c76f890c3e3258.bfd62155894360e3.577ee12535355ba4
+    e3ba9314db094e41.3ce5f9d6c64ff3f1.063a423d223bd1d4.061c0505e94cbbf0
+    29690017fc1637be
+  after
+    4143fb7f71ec0297.4501b25eb500bae7.f88763814c0ac79c.275e6d8cb8314325
+    3323a5ceb6397157.1cb96680ca229833.9404650a86b1ac2f.11d2681c93d5ac3f
+    3a369e0bea6fe686.15c76f890c3e3258.bfd62155894360e3.577ee12535355ba4
+    e3ba9314db094e41.3ce5f9d6c64ff3f1.063a423d223bd1d4.061c0505e94cbbf0
+    29690017fc1637be
+
+VPGATHERQD_256_1(reg)
+  before
+    cd20fdb7bb903daa.b9e92fc4538393a3.9ecf2fc34552469b.f46c759d1d16ea1f
+    fcfe284070b53851.49001ff61f59a3c9.46433eacd64199f1.15a86653464e97e0
+    c4bfaf106880944f.1e3b0f880b0769ce.41fb52eec31a578f.f629c0396961c432
+    311fbc82eef0bd3e.c4d5aa54e30ad0ce.99b496e358d8ec12.222c302d51ca5d31
+    25ed6109cb064ffa
+  after
+    cd20fdb7bb903daa.b9e92fc4538393a3.9ecf2fc34552469b.f46c759d1d16ea1f
+    cd20fdb7bb903daa.0000000000000023.000000000000001b.f46c759d1d16ea1f
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.99b496e3f9c49110.ef9e6a3a51ca5d31
+    0000000000000000
+VPGATHERQD_256_1(mem)
+  before
+    8ca800aba48f84a8.4eda7bf150fe20bd.c80b9c3873ddc6e7.5c2936e8e377c516
+    e298b9eda6e3ea58.27ab19bbd8a72765.b419930e87fc3632.96186059aff34c36
+    b4fa37ad9e7d6b25.c84fc23ad4e83fd5.173b39b3eae30ccd.523b3d920749ee0f
+    8c0927c557d9f52c.3e81a1cc8ebcd5a6.7aac3a04690f34d3.9c4efcef3874183c
+    800fc7cc8e703459
+  after
+    8ca800aba48f84a8.4eda7bf150fe20bd.c80b9c3873ddc6e7.5c2936e8e377c516
+    e298b9eda6e3ea58.27ab19bbd8a72765.b419930e87fc3632.96186059aff34c36
+    b4fa37ad9e7d6b25.c84fc23ad4e83fd5.173b39b3eae30ccd.523b3d920749ee0f
+    8c0927c557d9f52c.3e81a1cc8ebcd5a6.7aac3a04690f34d3.9c4efcef3874183c
+    800fc7cc8e703459
+
+VPGATHERQD_256_1(reg)
+  before
+    0b38cb855539b003.f80334129f737388.94ffe3cb531f5477.6ba943dbd1fb9a61
+    48863376d9ccf7d5.84220b7040c8d056.d783b3956e0e27e1.766e0015eb232b93
+    44b42cfb6524756c.bba358bc0753fab1.12c93e842d83bc82.25361c8f8603d184
+    0a80e16f473d9663.29c1c6d0c090dcb5.518fb0f5db7c7ef6.063f44236d177a50
+    a5c223ae6bdc1014
+  after
+    0b38cb855539b003.f80334129f737388.94ffe3cb531f5477.6ba943dbd1fb9a61
+    0b38cb855539b003.f80334129f737388.94ffe3cb531f5477.0000000000000061
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.518fb0f5db7c7ef6.063f44232e4eb88b
+    0000000000000000
+VPGATHERQD_256_1(mem)
+  before
+    8cfe660c4ecd81eb.a6a47f30c913c657.5ab9028937fb637f.a08f3445c3f4d9d8
+    492db919e066b8f2.25dd329938a271e3.dbc7b7c33810792b.0c86f7ce32e839c4
+    688cc7b2ee23a144.91e62506e0e703a4.3727925a8f4c0bd4.a03025ed74520a57
+    73573db1448128fe.f97c85d20ddde835.fb153e2a072a0696.6948e9fed530b92d
+    728b6f5ea17db0e1
+  after
+    8cfe660c4ecd81eb.a6a47f30c913c657.5ab9028937fb637f.a08f3445c3f4d9d8
+    492db919e066b8f2.25dd329938a271e3.dbc7b7c33810792b.0c86f7ce32e839c4
+    688cc7b2ee23a144.91e62506e0e703a4.3727925a8f4c0bd4.a03025ed74520a57
+    73573db1448128fe.f97c85d20ddde835.fb153e2a072a0696.6948e9fed530b92d
+    728b6f5ea17db0e1
+
+VPGATHERQD_256_1(reg)
+  before
+    c7b5e46723355c0f.f8cac7f3aefa393b.665b7d5b0a808d33.b2cc69106e26548e
+    75817476a9542a54.83201054f70cc017.e63f3afc25cc5c39.e888bce68ebce3d7
+    87ac4be77dd7854b.9e96c4b0ed32a9b0.84e3e810a8bdc3e4.2a87e68934699d8e
+    09f29316ecb9d891.d76790e35ae9e01f.4d04b2f5e0502dcf.030391d52ba870cf
+    ff3969a641f547b4
+  after
+    c7b5e46723355c0f.f8cac7f3aefa393b.665b7d5b0a808d33.b2cc69106e26548e
+    000000000000000f.000000000000003b.665b7d5b0a808d33.b2cc69106e26548e
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.6129a748fa17f648.030391d52ba870cf
+    0000000000000000
+VPGATHERQD_256_1(mem)
+  before
+    aa651bd741cc0e5c.080f7b5f42f691c1.bad120c90bab5282.4c5ec50619800596
+    91c25346f6a9b1e0.8fbe2d1ecb8a1b78.d20e203dccf6e9f5.8dad4c9e9f49b9d6
+    408ebcce2d091c5f.aabcd6afd271e251.ab5b3b1d69459393.1dac741bbea8b42b
+    4102034bb2673cf2.66c5a16ea5a852e9.d1f31d44ad143b78.071869d7c1976230
+    57ac562ff6142f81
+  after
+    aa651bd741cc0e5c.080f7b5f42f691c1.bad120c90bab5282.4c5ec50619800596
+    91c25346f6a9b1e0.8fbe2d1ecb8a1b78.d20e203dccf6e9f5.8dad4c9e9f49b9d6
+    408ebcce2d091c5f.aabcd6afd271e251.ab5b3b1d69459393.1dac741bbea8b42b
+    4102034bb2673cf2.66c5a16ea5a852e9.d1f31d44ad143b78.071869d7c1976230
+    57ac562ff6142f81
+
+VPGATHERQD_128_2(reg)
+  before
+    1a266780a71a88bb.225dd399513ffbb7.ce95bbb78e2ad7db.d113738e66e0cdc1
+    5b40ca2421a5d779.6ed9d993d60d46ca.eee750e6daf3dec4.36f7e9d75e243489
+    26b7a979b0b28a58.b2b3c1170c4e0a46.d3788b57d500d13f.8ddb2afa625c5eed
+    884630d9a03b0bf3.79273600c17d3248.88049965cb4b1ee8.60fae3d53e043708
+    3e91c043be98a9f7
+  after
+    1a266780a71a88bb.225dd399513ffbb7.ce95bbb78e2ad7db.d113738e66e0cdc1
+    0000000000000000.0000000000000000.000000000000016c.444dce399b833704
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.6bf517eb3e043708
+    0000000000000000
+VPGATHERQD_128_2(mem)
+  before
+    b0dc6c1fae95a1d5.8cab8ca13c3ec8e7.4f71e52abf16a9eb.1946a56e08d22f5c
+    44179447d9750bbf.3ea0e92dd2b62bcf.c1cc7a70d3955d4b.93fbdccdd7907237
+    857de3960db6d4d0.abe172daaca0a248.5a75a0b0c9763985.01df69de86815214
+    004b06e714d4e625.de2c540217f698ed.a7a703c46d3629b4.6fae79fc5fa23b8f
+    ea233885afed9945
+  after
+    b0dc6c1fae95a1d5.8cab8ca13c3ec8e7.4f71e52abf16a9eb.1946a56e08d22f5c
+    44179447d9750bbf.3ea0e92dd2b62bcf.c1cc7a70d3955d4b.93fbdccdd7907237
+    857de3960db6d4d0.abe172daaca0a248.5a75a0b0c9763985.01df69de86815214
+    004b06e714d4e625.de2c540217f698ed.a7a703c46d3629b4.6fae79fc5fa23b8f
+    ea233885afed9945
+
+VPGATHERQD_128_2(reg)
+  before
+    7dfbd1d4c260d8d2.40bda918bb492fd9.e43bbb025fb6795b.32a0518a8b5019f5
+    35f27144e4f664d0.d10e7703ce939a09.c8cbd236d0dbb12d.899a33dcee40f564
+    1cc3443360aba9de.3f7b1c86192d13d0.9697c6fab661adff.38d158986382aa1b
+    402b75fb847c1395.1740467b6793864a.5a5dc2aa5c45d76e.c9836a98b7922239
+    cbea15bab4ed4bd8
+  after
+    7dfbd1d4c260d8d2.40bda918bb492fd9.e43bbb025fb6795b.32a0518a8b5019f5
+    0000000000000000.0000000000000000.90eeec097ed9e56c.ca81462a2d4067d4
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.c9836a98b7922239
+    0000000000000000
+VPGATHERQD_128_2(mem)
+  before
+    c74307d8270e0f14.ade631fa9a640f94.e5999fc08641df94.21d7f3a210819c16
+    4bcae9cfdb715c09.6eb0a38aef5f0774.33c1d32f40b40aca.f6c1843e1c136992
+    e2ba6a7c9e931dd5.8f44f809cf6969d4.8ff58fa56266f307.e6d9a2dacdf6a87e
+    185034b93aee3e91.1c5f5bd1867ea04d.84717ffeb8d58667.fbd979d26f26c777
+    447e34824da03119
+  after
+    c74307d8270e0f14.ade631fa9a640f94.e5999fc08641df94.21d7f3a210819c16
+    4bcae9cfdb715c09.6eb0a38aef5f0774.33c1d32f40b40aca.f6c1843e1c136992
+    e2ba6a7c9e931dd5.8f44f809cf6969d4.8ff58fa56266f307.e6d9a2dacdf6a87e
+    185034b93aee3e91.1c5f5bd1867ea04d.84717ffeb8d58667.fbd979d26f26c777
+    447e34824da03119
+
+VPGATHERQD_128_2(reg)
+  before
+    ca830046b55f52fe.7ac8f3637c00aa5b.22bdf9405f9b177d.9f704e170e7db007
+    9ba6087af15f95c5.935d54563144504f.ac19feb0a8bb3c00.6b2fa9ca2fd85b02
+    c2a1797a4f9c6908.f04d036f22361988.c730957eabda7a71.74ea3bf4e9647575
+    4c317fa119123763.1cd2ab881e53f222.7ebeeb07b5f43d6c.47ddb171069ce97b
+    6f43b71e54fca231
+  after
+    ca830046b55f52fe.7ac8f3637c00aa5b.22bdf9405f9b177d.9f704e170e7db007
+    0000000000000000.0000000000000000.8af7e5017e6c5df4.000000000000001c
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.47ddb1711a86eccc
+    0000000000000000
+VPGATHERQD_128_2(mem)
+  before
+    7859f8d59d008eb2.4411454d9cbe6c73.a328f97ef015c73a.dd7f2ba51206f28e
+    ef5b2173ad24981b.b6fef8d9249b74d3.118d992d63fa85ec.f12e82b50e0a0373
+    5f84ddd452e5ac87.aeb4c3a0fca5bc1f.f33b3671457d1653.c5881c93f5feddb6
+    5512d9d457beb613.39efd30072d8aef5.d46f7d26601b688b.6549249c13ddedf3
+    dd2dc72ab3a49dc7
+  after
+    7859f8d59d008eb2.4411454d9cbe6c73.a328f97ef015c73a.dd7f2ba51206f28e
+    ef5b2173ad24981b.b6fef8d9249b74d3.118d992d63fa85ec.f12e82b50e0a0373
+    5f84ddd452e5ac87.aeb4c3a0fca5bc1f.f33b3671457d1653.c5881c93f5feddb6
+    5512d9d457beb613.39efd30072d8aef5.d46f7d26601b688b.6549249c13ddedf3
+    dd2dc72ab3a49dc7
+
+VPGATHERQD_256_2(reg)
+  before
+    3aef309a224d5bcd.5b3ec14f872ba3da.636a5454d031b8ee.41641928814e66b1
+    884c8c48acd692a2.ff474021afa95df8.36e271f763aa44a8.c558b7537494fbe0
+    d1ff07909d3aaee1.cd6703269bb2d18a.c01357477741c0bf.ec85028304681535
+    23c6ccce41761a27.50dbb53a17c4ecac.0cb9319e58f197ce.4327a894ff469fcb
+    557c52622fab85bf
+  after
+    3aef309a224d5bcd.5b3ec14f872ba3da.636a5454d031b8ee.41641928814e66b1
+    0000000000000134.6cfb053e1cae8f68.00000000000001b8.059064a205399ac4
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.93d9362558f197ce.d0c9e3b7ff469fcb
+    0000000000000000
+VPGATHERQD_256_2(mem)
+  before
+    aebeafc96111b32c.8a5b085ee484440f.14df0338ef5a9979.278f2c5a52b73571
+    db2a68a461f6162f.107be69cd1629836.a5af99feeff0c30d.1c5274d5b08d0645
+    67fb2cd1fbd598e3.c3e193e4550b8037.90862267e2035885.f7bd346dc07176e5
+    de6fa52bfb2b2765.af4b3b92bd7b69af.60a14b4f960e43fc.c58e997ccc5ef2ee
+    917fce602150e4fc
+  after
+    aebeafc96111b32c.8a5b085ee484440f.14df0338ef5a9979.278f2c5a52b73571
+    db2a68a461f6162f.107be69cd1629836.a5af99feeff0c30d.1c5274d5b08d0645
+    67fb2cd1fbd598e3.c3e193e4550b8037.90862267e2035885.f7bd346dc07176e5
+    de6fa52bfb2b2765.af4b3b92bd7b69af.60a14b4f960e43fc.c58e997ccc5ef2ee
+    917fce602150e4fc
+
+VPGATHERQD_256_2(reg)
+  before
+    674d00730b44b9aa.cdc0808e2d72add0.de73090153aec039.a23cbf92d58c708f
+    54b35a12d634de94.bf2a68d55c281840.5e15298f63a1ef71.e0922b0b6cfccb5a
+    636f0a99cd1ebe57.40eb0ade55c852d2.3befc9973b4e64f4.a9e03b9827d74077
+    a13b39653efdc48e.dd3d1184e4ce49a2.7fbb137526b3895e.86629a14d19bbc05
+    0553f55a38c2291d
+  after
+    674d00730b44b9aa.cdc0808e2d72add0.de73090153aec039.a23cbf92d58c708f
+    9d3401cc2d12e6a8.37020238b5cab740.00000000000000e4.88f2fe4b5631c23c
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.7fbb137526b3895e.88388d20d19bbc05
+    0000000000000000
+VPGATHERQD_256_2(mem)
+  before
+    b1f1f74826ca74dd.18d316d073ce5ed5.215d2aa2d5b7e8cb.383633856fcccc4a
+    17764db8682f8a61.d6f5ca37b98bf7ca.98860116f4fd1b69.721b562263939854
+    c21ea288ca6b56c4.e75b84f65c32fb06.cff641ba0d1ece99.3827a8aa4e065919
+    3e27a49218fcc323.56c26e69a8bed627.51e7976ceb95ee76.961654787c207b34
+    98a487e739dd6a42
+  after
+    b1f1f74826ca74dd.18d316d073ce5ed5.215d2aa2d5b7e8cb.383633856fcccc4a
+    17764db8682f8a61.d6f5ca37b98bf7ca.98860116f4fd1b69.721b562263939854
+    c21ea288ca6b56c4.e75b84f65c32fb06.cff641ba0d1ece99.3827a8aa4e065919
+    3e27a49218fcc323.56c26e69a8bed627.51e7976ceb95ee76.961654787c207b34
+    98a487e739dd6a42
+
+VPGATHERQD_256_2(reg)
+  before
+    4b8d6d55d03992df.17cbfcb41e5dbf99.2fe5b5ece92bf4c9.aa96ae065cde651d
+    ba8c311c8f3160a5.da4759c8a80a3542.7e8284db6a76c287.673e33662a7620a9
+    f25eff9ac0bf3e33.13d664ac817f113b.505308937899aafd.131cd26622d80c37
+    fdbe0529b0e19a22.4cb6cc3a76393fa0.b0146c6e60921ac8.3a6c36e4107f13e2
+    696a0cbabfea23c7
+  after
+    4b8d6d55d03992df.17cbfcb41e5dbf99.2fe5b5ece92bf4c9.aa96ae065cde651d
+    2e35b55740e64b7c.5f2ff2d07976fe64.bf96d7b3a4afd324.aa5ab81973799474
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.b0146c6e60921ac8.3a6c36e4107f13e2
+    0000000000000000
+VPGATHERQD_256_2(mem)
+  before
+    2b51ffc5fd922701.ea6a6c27ab93de10.13213b4f54b2ac8c.ab83ddc86c5c7c84
+    0d5ebce294f50bad.c21c63eefdcf7899.f3535ec8e568421b.4b5a87ffe9f43ecc
+    9acdefeb518dbbe6.939014dcf293d358.798ae07ff5d6ee6a.9f56956e2254cb3c
+    5eda43bd01d823c9.6884ab4bd5d95bea.30006e5152799d94.b0323471657a8e71
+    8cac9064fc61f506
+  after
+    2b51ffc5fd922701.ea6a6c27ab93de10.13213b4f54b2ac8c.ab83ddc86c5c7c84
+    0d5ebce294f50bad.c21c63eefdcf7899.f3535ec8e568421b.4b5a87ffe9f43ecc
+    9acdefeb518dbbe6.939014dcf293d358.798ae07ff5d6ee6a.9f56956e2254cb3c
+    5eda43bd01d823c9.6884ab4bd5d95bea.30006e5152799d94.b0323471657a8e71
+    8cac9064fc61f506
+
+VPGATHERDQ_128(reg)
+  before
+    3e7ed4a334056b98.e5c065346d522f71.4eb25698f4a07cea.a4f2b31ac7cc39b6
+    d3652c8a5a625cc2.bcbc002c6475cbfa.4fd73f1f99e1a2f4.629b5cb61f4ab0eb
+    561cc574b8753521.6e0ac182b1bfe381.7aae923d119939a5.f53915022771ed50
+    d360cbbf9a396050.88e553101fab6422.d8f57c4ca8c5ad99.e90689d8abbddc00
+    cb3f651577a86918
+  after
+    3e7ed4a334056b98.e5c065346d522f71.4eb25698f4a07cea.a4f2b31ac7cc39b6
+    0000000000000000.0000000000000000.4eb25698f4a07cea.a4f2b31a00000036
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.d8f57c4ca8c5ad99.e3b7712cc1b29e3d
+    0000000000000000
+VPGATHERDQ_128(mem)
+  before
+    261f549557b080b3.57ed6ac64eaa4aec.958a64b37cb538f7.776629a9a9606b6b
+    86e3033416500dee.ec7fcde41ec46090.21359d4792594d1f.62bec4b06266ddb7
+    78c71ece8204fce4.a1d1207758840dd9.b822ada82e148eb4.a6b87abd1dd3711a
+    8707503f65483ab1.7fa090da46e4bc62.e78c3db21c61e6d2.4e11762d27a4912f
+    6685e55acdd4ab93
+  after
+    261f549557b080b3.57ed6ac64eaa4aec.958a64b37cb538f7.776629a9a9606b6b
+    86e3033416500dee.ec7fcde41ec46090.21359d4792594d1f.62bec4b06266ddb7
+    78c71ece8204fce4.a1d1207758840dd9.b822ada82e148eb4.a6b87abd1dd3711a
+    8707503f65483ab1.7fa090da46e4bc62.e78c3db21c61e6d2.4e11762d27a4912f
+    6685e55acdd4ab93
+
+VPGATHERDQ_128(reg)
+  before
+    fbd0f2a1595f2ae1.40de46638c99b172.94a8496835e2dbc7.3ab0fc4127bc4396
+    18adcb5e17417ab6.2d89ab16c3724f43.eca5767f7179d5a5.3bc994311da1901b
+    c9d999ed557707ad.dd442c33d64ffe3f.9152447945a61698.7815b25dc88cb97e
+    1b108baa5dfb3d63.d94b759890acac82.916cdfb4ff630a3b.7cce01a3f5faabda
+    d4312ede7066504c
+  after
+    fbd0f2a1595f2ae1.40de46638c99b172.94a8496835e2dbc7.3ab0fc4127bc4396
+    0000000000000000.0000000000000000.0000002800000007.0000000127bc4396
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.0bc47c625975748e.7cce01a3f5faabda
+    0000000000000000
+VPGATHERDQ_128(mem)
+  before
+    0b7ae4ea054c95ef.190ecbf17dcb8873.afd93120bf064429.f8ae728ae9ae1d2a
+    ade4d0a3802867df.cf8e851dffe2547a.ea2b0da72dd7b250.d0d62a585182bb02
+    47ac9ee4ad77b039.4a4de68c303d0e13.167cb409a79de211.279e327b81db515e
+    640ef98b57b35e19.95071a995cd620da.c00ad321f9d3c08b.09c3b74dc6b649db
+    8000e52b6b0e1114
+  after
+    0b7ae4ea054c95ef.190ecbf17dcb8873.afd93120bf064429.f8ae728ae9ae1d2a
+    ade4d0a3802867df.cf8e851dffe2547a.ea2b0da72dd7b250.d0d62a585182bb02
+    47ac9ee4ad77b039.4a4de68c303d0e13.167cb409a79de211.279e327b81db515e
+    640ef98b57b35e19.95071a995cd620da.c00ad321f9d3c08b.09c3b74dc6b649db
+    8000e52b6b0e1114
+
+VPGATHERDQ_128(reg)
+  before
+    9a13e772bede13a6.90458e734b5a5c9a.bc774ca0ceabf86c.730f16cdeff638d8
+    63b6e97c0925bd2c.588e097755e895d8.cc5aa9fdd4b70165.bcc828e855803614
+    e6a519a69adc7a43.4725157541d7f7f0.d06c5d0bb8f6a660.2670b64df6efa75b
+    2f9ea14cbb00b686.e9465e47dba56dfe.d5699328c76555f9.3d446bdaa0be75cb
+    8e80f4691d698e7d
+  after
+    9a13e772bede13a6.90458e734b5a5c9a.bc774ca0ceabf86c.730f16cdeff638d8
+    0000000000000000.0000000000000000.000000200000002c.0000000deff638d8
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.ef9e6a3a9ccd46b1.3d446bdaa0be75cb
+    0000000000000000
+VPGATHERDQ_128(mem)
+  before
+    a360fcd83a6ddc8f.4a5badcbb98edd92.cb2c91cbefcce31d.e50c78af4dfe79cd
+    0b203101c3454d1d.44996a7de0815b02.78145adb48ca4669.0e1237fb96bf7e77
+    4ffb3cc2846ccc42.281304bf7bd59c72.7d3a6555b41b80ff.5c37fd6aeea3d094
+    fd2eccf54861451b.0287a6edd8870c7f.64d95d13fd397efa.da36f557a1a7dcc0
+    94cc4c1dfac50c95
+  after
+    a360fcd83a6ddc8f.4a5badcbb98edd92.cb2c91cbefcce31d.e50c78af4dfe79cd
+    0b203101c3454d1d.44996a7de0815b02.78145adb48ca4669.0e1237fb96bf7e77
+    4ffb3cc2846ccc42.281304bf7bd59c72.7d3a6555b41b80ff.5c37fd6aeea3d094
+    fd2eccf54861451b.0287a6edd8870c7f.64d95d13fd397efa.da36f557a1a7dcc0
+    94cc4c1dfac50c95
+
+VPGATHERDQ_256(reg)
+  before
+    96b52e1a46fbcdb1.a0f48a78dd9da4c3.dfaf7d63419118c5.bb2feef3f0a22d77
+    edadc6a8d2448cb0.c58a25250d9dd556.ca47b57d03f12adf.0e76c5cf59d17791
+    a46f4125e89cb42d.f72c47d9a5dec4f1.d00d79976aa2b069.e8ea8e8503424a65
+    c8b8cbebd400b0c5.c2169d7171db5eaf.fcbbf50dc2a11500.d5c9f5efbc71910e
+    614da5ea4edb38a9
+  after
+    96b52e1a46fbcdb1.a0f48a78dd9da4c3.dfaf7d63419118c5.bb2feef3f0a22d77
+    96b52e1a46fbcdb1.0000003800000003.0000002300000005.0000003300000037
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    a78e43760ba62709.845a0cbef2c54949.483966cdee91850b.a557a207779ad0c9
+    0000000000000000
+VPGATHERDQ_256(mem)
+  before
+    19b24a5286fb2b51.64448f57e46aee13.b384d2c73d108dad.5a0e563b57e8c440
+    88369104314d5622.84ceb9c662d8d9b4.55b193b8d5fa3e07.f6c1c87c75752bc3
+    3b1326da184da539.341376929c45dd43.34da8b2004135ed7.dd92772e6743b528
+    bc86b4b10a7804b2.81cff218dcad665c.dd3a67db97d9d83c.1a3b8eac7a4ece08
+    ba793952fa93e202
+  after
+    19b24a5286fb2b51.64448f57e46aee13.b384d2c73d108dad.5a0e563b57e8c440
+    88369104314d5622.84ceb9c662d8d9b4.55b193b8d5fa3e07.f6c1c87c75752bc3
+    3b1326da184da539.341376929c45dd43.34da8b2004135ed7.dd92772e6743b528
+    bc86b4b10a7804b2.81cff218dcad665c.dd3a67db97d9d83c.1a3b8eac7a4ece08
+    ba793952fa93e202
+
+VPGATHERDQ_256(reg)
+  before
+    c807a67c330c5eaf.9acbe865d2485fa8.76be59b56f0de09c.db0fd3c65bc7974f
+    50a2fe8571b7acae.5e1d6ed23b3ba337.209bd6c3a160b89f.ba937abb1a5a892f
+    5f0670cb008f3998.96b9f1d413ccba7c.8a23959fbea25800.07020997a00c99f5
+    00ef26a92b90720b.cddb1e4724789293.c012c3a511cf2d5b.4d9a2b36bb5bb3bf
+    18958d7436c2c4a9
+  after
+    c807a67c330c5eaf.9acbe865d2485fa8.76be59b56f0de09c.db0fd3c65bc7974f
+    c807a67c330c5eaf.9acbe86500000028.76be59b50000001c.000000065bc7974f
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    00ef26a92b90720b.b97188388d203b9e.024023e37875c43e.4d9a2b36bb5bb3bf
+    0000000000000000
+VPGATHERDQ_256(mem)
+  before
+    f530db2ddcbdb6ce.3f184c7a40b7c1a3.90bfa0073bb91696.cf248c31e8e3a44d
+    6fa7c03d7ac8764b.283e109c89fe94fb.6aa024f0240d31a4.c2141c9f8ddb2871
+    1335e980dd60f13b.c81d9b69536356b0.e7bb55deaaefd1d6.a59f9e4b4db22464
+    6b1701d2ce0011ba.2b711c3feae2735d.944ce1ad9bdbe14b.85803e91746406c1
+    6d7529cd4eed3925
+  after
+    f530db2ddcbdb6ce.3f184c7a40b7c1a3.90bfa0073bb91696.cf248c31e8e3a44d
+    6fa7c03d7ac8764b.283e109c89fe94fb.6aa024f0240d31a4.c2141c9f8ddb2871
+    1335e980dd60f13b.c81d9b69536356b0.e7bb55deaaefd1d6.a59f9e4b4db22464
+    6b1701d2ce0011ba.2b711c3feae2735d.944ce1ad9bdbe14b.85803e91746406c1
+    6d7529cd4eed3925
+
+VPGATHERDQ_256(reg)
+  before
+    69388b5b2649292b.0589b50f1c24c4e5.5bf5bd789975579e.fb8e7139c14e4d1c
+    86868f974a754270.6dc6b1129248f4d8.6666aa72ae196e10.abbeb35ee9c20268
+    cf1a62dd046cf08f.2e0ba0b9fbe98fad.587f108773cb244e.2d1853f8dfb5ea48
+    50b23089a12aa025.d4942fdf25818083.3bfe1b153586e5f5.0fd8fde26fa2f2da
+    dd395cfa6505073a
+  after
+    69388b5b2649292b.0589b50f1c24c4e5.5bf5bd789975579e.fb8e7139c14e4d1c
+    69388b5b2649292b.0000000f1c24c4e5.000000389975579e.fb8e7139c14e4d1c
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    acc76b8a318cb04c.d4942fdf25818083.3bfe1b153586e5f5.0fd8fde26fa2f2da
+    0000000000000000
+VPGATHERDQ_256(mem)
+  before
+    21781d1b8d5b1383.160824f76dabbccd.eb9d0960da8eb374.1d9df67640471ea1
+    69d1eb21b21f04d2.2cd86b83b4ecb223.0061db17e78b149c.0a19ce07e00839ec
+    417f73e7a1cdc542.9ee03089c2e8ecc4.9e1e51e218f59018.0c2dcf2561c7a475
+    33bf604b26e141ef.79daa064e29bd84c.520d169c38461103.3297242a0f7fc9d5
+    8511fa73352c16ab
+  after
+    21781d1b8d5b1383.160824f76dabbccd.eb9d0960da8eb374.1d9df67640471ea1
+    69d1eb21b21f04d2.2cd86b83b4ecb223.0061db17e78b149c.0a19ce07e00839ec
+    417f73e7a1cdc542.9ee03089c2e8ecc4.9e1e51e218f59018.0c2dcf2561c7a475
+    33bf604b26e141ef.79daa064e29bd84c.520d169c38461103.3297242a0f7fc9d5
+    8511fa73352c16ab
+
+VPGATHERQQ_128_1(reg)
+  before
+    13577c5d20caf690.cdcd5f270dd766f6.c883e7726101e156.a76dd72015fc847a
+    e727d7421d56d522.9be51c59222c1f72.9796300e8c16737e.29783f4c7992d698
+    0d3b367f76ca1ffd.274242bc315b5980.f3d0a794add7fa61.646bfbfa3184f179
+    9250c670772440bc.00217e2b05e0fe3c.e7ed7a5f113fe29a.e582b6080a4fc33b
+    38f81d50cd6d37f7
+  after
+    13577c5d20caf690.cdcd5f270dd766f6.c883e7726101e156.a76dd72015fc847a
+    0000000000000000.0000000000000000.0000000000000016.a76dd72015fc847a
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.d7e2ce16c8bb36a6.e582b6080a4fc33b
+    0000000000000000
+VPGATHERQQ_128_1(mem)
+  before
+    e70adcb0495c38cb.8121b3716e60a4fc.afbe7b846c37fbc1.7fa9d2cd034a97c6
+    80f49e024997b4d3.e76c28dea678b758.c255e6a130dd3c2b.c8c0de38d1f48580
+    8ef21024989b962a.ceeb52136a6ae66c.c4216b5f1e4cae97.cdedc8fec53a1865
+    9e3fdef003e2cbec.445a5d6c07309bd5.415fb59b02023b20.9bedbd792d17bd10
+    3d7be8075387de1e
+  after
+    e70adcb0495c38cb.8121b3716e60a4fc.afbe7b846c37fbc1.7fa9d2cd034a97c6
+    80f49e024997b4d3.e76c28dea678b758.c255e6a130dd3c2b.c8c0de38d1f48580
+    8ef21024989b962a.ceeb52136a6ae66c.c4216b5f1e4cae97.cdedc8fec53a1865
+    9e3fdef003e2cbec.445a5d6c07309bd5.415fb59b02023b20.9bedbd792d17bd10
+    3d7be8075387de1e
+
+VPGATHERQQ_128_1(reg)
+  before
+    bf5576028486e92a.3b18b34357ea3d36.55777445c9c9442f.c64a712fa77ad1e2
+    2d3592c80c1049d1.f1b93cfa5e2ed924.0cfcc3fafc2e4b15.de204af8db315bfb
+    94d769b3362269ae.4d5d24efe42a8cd0.75a678e7ec5c1e23.161bedd368a1c584
+    fff9272050b7b75e.da4118ffb75b4059.9c30bd68e45028f6.f878069a1b48fb9b
+    1372402ac1a1e95c
+  after
+    bf5576028486e92a.3b18b34357ea3d36.55777445c9c9442f.c64a712fa77ad1e2
+    0000000000000000.0000000000000000.55777445c9c9442f.c64a712fa77ad1e2
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.9c30bd68e45028f6.f878069a1b48fb9b
+    0000000000000000
+VPGATHERQQ_128_1(mem)
+  before
+    f046485f23287be2.7b55f76ca4cb9e7c.24a1c306a23be3d9.8e58bed93205d529
+    1d30c915105a9d49.13a806f17f5a8aa4.b8b9d2e170485f6c.57d8a89520779159
+    256c702953b23cae.d3ad7f0c2d61e873.21c4f16aeefda22f.016da7fafba3c821
+    9535e875b7ab422d.c8228f1afada2285.ebffcb7ee8d6973d.9ad2e6630f83e61e
+    2dc4922ca81558eb
+  after
+    f046485f23287be2.7b55f76ca4cb9e7c.24a1c306a23be3d9.8e58bed93205d529
+    1d30c915105a9d49.13a806f17f5a8aa4.b8b9d2e170485f6c.57d8a89520779159
+    256c702953b23cae.d3ad7f0c2d61e873.21c4f16aeefda22f.016da7fafba3c821
+    9535e875b7ab422d.c8228f1afada2285.ebffcb7ee8d6973d.9ad2e6630f83e61e
+    2dc4922ca81558eb
+
+VPGATHERQQ_128_1(reg)
+  before
+    c7ffd6b012548825.f7c9ded60ac49ce1.fcc1627532c3a575.a3a60df92a502ab2
+    733fdf4d983ce467.da61fe28167637e6.7e47237a2017dedf.d4f562b780e647ac
+    3d3fd95e87cad64d.c73cf347a83efe59.576fff8512d33760.0a277794b514da44
+    32bcef3e2bf9cc74.4c946a0f8c99dd55.95f621f252f11e93.d279f86c9756cf98
+    b726901bf02813c4
+  after
+    c7ffd6b012548825.f7c9ded60ac49ce1.fcc1627532c3a575.a3a60df92a502ab2
+    0000000000000000.0000000000000000.fcc1627532c3a575.a3a60df92a502ab2
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.95f621f252f11e93.d279f86c9756cf98
+    0000000000000000
+VPGATHERQQ_128_1(mem)
+  before
+    456cec7d8d0790e3.5d724e4bd0c53178.f4a60f5c8d02bff7.4498b61d2d6ffe15
+    0985b76e3a6e3411.ca1d21dfc22a71f4.4cae8d0a79f5925a.6e11ea62ef484381
+    8eae9ecac3d9e96b.867895584d24f884.dfe791f51aef429b.211ce81de4785874
+    61224d6cf3c49d0d.9c40d510bdb032c5.398fc6f83d6bb9d5.6876ddaa57fcab89
+    50dbf46596cfa85d
+  after
+    456cec7d8d0790e3.5d724e4bd0c53178.f4a60f5c8d02bff7.4498b61d2d6ffe15
+    0985b76e3a6e3411.ca1d21dfc22a71f4.4cae8d0a79f5925a.6e11ea62ef484381
+    8eae9ecac3d9e96b.867895584d24f884.dfe791f51aef429b.211ce81de4785874
+    61224d6cf3c49d0d.9c40d510bdb032c5.398fc6f83d6bb9d5.6876ddaa57fcab89
+    50dbf46596cfa85d
+
+VPGATHERQQ_256_1(reg)
+  before
+    e4075aaaebedb98b.0d1e6f3298ab3b12.18300f655dc88b53.e7dfd9f1aee4e425
+    31b53bd5a3524bb0.1edeb1f77c0baf96.07066cb17a6a6fc9.741675bb39d9afa6
+    41a2c2420afacb67.209ebe976c5fe5b6.747c1b5160924ac3.6c6e4732aac30775
+    228a1c4d6ce2a34c.a09943ed3423c98d.6b4f46a25b3a89de.5c24fb31cd1fd6ad
+    cf743c966d6a0a6a
+  after
+    e4075aaaebedb98b.0d1e6f3298ab3b12.18300f655dc88b53.e7dfd9f1aee4e425
+    e4075aaaebedb98b.0d1e6f3298ab3b12.18300f655dc88b53.e7dfd9f1aee4e425
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    228a1c4d6ce2a34c.a09943ed3423c98d.6b4f46a25b3a89de.5c24fb31cd1fd6ad
+    0000000000000000
+VPGATHERQQ_256_1(mem)
+  before
+    519ab73c571f8ec9.e0287451150441fc.290cecd7a0d44738.f93a19feb76096b5
+    6fd118fe57ba4ee6.8539f7ac505e0f13.483364307cec4bd2.29fbc1c2c0ffdfe5
+    b4560aba39b835dc.1f79d0b96bec7b2c.884a58d393e9c278.074c6a4bc113cf09
+    ac64394bc99331c7.baa42cd4b0a8f0e3.758c739eb3469645.a0e93ff30798d2be
+    ff906d17de8b549f
+  after
+    519ab73c571f8ec9.e0287451150441fc.290cecd7a0d44738.f93a19feb76096b5
+    6fd118fe57ba4ee6.8539f7ac505e0f13.483364307cec4bd2.29fbc1c2c0ffdfe5
+    b4560aba39b835dc.1f79d0b96bec7b2c.884a58d393e9c278.074c6a4bc113cf09
+    ac64394bc99331c7.baa42cd4b0a8f0e3.758c739eb3469645.a0e93ff30798d2be
+    ff906d17de8b549f
+
+VPGATHERQQ_256_1(reg)
+  before
+    30fb201392e6c149.e439528cd3c92ec4.617537586c90dad5.9b36626ba67fb556
+    40e783436fa78557.e70f015b22d516ee.20a91ca3eb9fa59d.8784d018391109c6
+    3a0fc203c1ca0c65.4122f2928433d662.03fc081079d1bdd8.c4b16a7f387680b1
+    2b310bafd349c210.7fb0d00ec3605b3b.172927fa61228e21.dffadc7e6f2c0534
+    639bd1efa9ae846b
+  after
+    30fb201392e6c149.e439528cd3c92ec4.617537586c90dad5.9b36626ba67fb556
+    30fb201392e6c149.e439528cd3c92ec4.617537586c90dad5.0000000000000016
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    2b310bafd349c210.7fb0d00ec3605b3b.172927fa61228e21.d7e2ce16c8bb36a6
+    0000000000000000
+VPGATHERQQ_256_1(mem)
+  before
+    dcd0f6b0b479e971.1d0788a3f32214f4.2cf347acacd78f96.67eda4bff18e8515
+    d7d4f79b5a072062.1f4d653b6b506cac.d52804460b14608e.0004abb973120c4f
+    dfe47f8d68d6155b.3ac1cfd388cf38d4.048bb3baab93b840.ec2a6a4634a9916c
+    803c3b63aa61b578.7c1df2c7969be209.475700e25ad085c7.391a0bc0804f7e07
+    f391ba85a30141bd
+  after
+    dcd0f6b0b479e971.1d0788a3f32214f4.2cf347acacd78f96.67eda4bff18e8515
+    d7d4f79b5a072062.1f4d653b6b506cac.d52804460b14608e.0004abb973120c4f
+    dfe47f8d68d6155b.3ac1cfd388cf38d4.048bb3baab93b840.ec2a6a4634a9916c
+    803c3b63aa61b578.7c1df2c7969be209.475700e25ad085c7.391a0bc0804f7e07
+    f391ba85a30141bd
+
+VPGATHERQQ_256_1(reg)
+  before
+    254ba4efe9b94529.4717d6f7ec24ead4.f01ef973e1b0d8e6.2ac9969be248b240
+    db03f55b9d75f6e8.bfb2fd26fa9ba28b.a37f1133b40b8508.381d21c111762bc6
+    2276d8260c30c095.74495bcc9f43c7ba.a0fe65635da7550b.fd8e4e31b1d6dc76
+    04607aaa83e70fcc.f3189dc6a897477c.f355225f2680b489.055ac9c58fe4b16b
+    ddbb3d5a761c96c1
+  after
+    254ba4efe9b94529.4717d6f7ec24ead4.f01ef973e1b0d8e6.2ac9969be248b240
+    254ba4efe9b94529.4717d6f7ec24ead4.0000000000000026.0000000000000000
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    04607aaa83e70fcc.f3189dc6a897477c.235f93d9362529a6.1fd58558d5bc54ba
+    0000000000000000
+VPGATHERQQ_256_1(mem)
+  before
+    10ed57cc34fb7895.907d06444c944f2a.c75a6feee2130dee.a84174835c930e21
+    2b2ec3f793fc4103.cf88a950b335ec4b.7c4c7c211733052b.cc7d862a4bdacf6c
+    b9b82cb7619bdf25.cf3e8f2b06c553c9.9f2a713b14741b50.6ac685b23f536408
+    46c83fe868543c1a.9b5be32f9040ee43.bb2ff918a4513b78.8fd89c7683f93791
+    466ff8d165c9b5a2
+  after
+    10ed57cc34fb7895.907d06444c944f2a.c75a6feee2130dee.a84174835c930e21
+    2b2ec3f793fc4103.cf88a950b335ec4b.7c4c7c211733052b.cc7d862a4bdacf6c
+    b9b82cb7619bdf25.cf3e8f2b06c553c9.9f2a713b14741b50.6ac685b23f536408
+    46c83fe868543c1a.9b5be32f9040ee43.bb2ff918a4513b78.8fd89c7683f93791
+    466ff8d165c9b5a2
+
+VPGATHERQQ_128_2(reg)
+  before
+    9b46c5212fbd4bd8.5f99a76675a446fc.409bd2b99ca22b53.5c98c194954651bf
+    9b1a2ec12ed364ce.8f69110d5406e8e7.c9b9872577e87495.0fa1758bb1cf4942
+    51a7600cae066c20.627228b9d0f60ef8.42722fcf6d0d37a6.5f86c0d9c5680f1d
+    c9a98660fb52ce6b.64f09946b7f0a44a.b881f613ca0ddf21.d8824f5a9e8e906b
+    07d2cdea05bcb649
+  after
+    9b46c5212fbd4bd8.5f99a76675a446fc.409bd2b99ca22b53.5c98c194954651bf
+    0000000000000000.0000000000000000.026f4ae67288ad4c.72630652551946fc
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.b881f613ca0ddf21.d8824f5a9e8e906b
+    0000000000000000
+VPGATHERQQ_128_2(mem)
+  before
+    77b2e765c96e6fd1.10dbcd1761b3f84b.22211090d37096fa.36a4074ddae4d8a3
+    b55e49a6b520a622.31fa618f2b26565b.283f3873f1f3d023.c8958fd9e98f8ec7
+    4b119e8b944e4656.38c16d22a7a65237.0087becbddf43ee2.7b11b91342086d2a
+    c80893ef34753d89.32ee1e2d1f2f597c.38344e7463efcc52.5ad3b257324de167
+    7199a5010659561a
+  after
+    77b2e765c96e6fd1.10dbcd1761b3f84b.22211090d37096fa.36a4074ddae4d8a3
+    b55e49a6b520a622.31fa618f2b26565b.283f3873f1f3d023.c8958fd9e98f8ec7
+    4b119e8b944e4656.38c16d22a7a65237.0087becbddf43ee2.7b11b91342086d2a
+    c80893ef34753d89.32ee1e2d1f2f597c.38344e7463efcc52.5ad3b257324de167
+    7199a5010659561a
+
+VPGATHERQQ_128_2(reg)
+  before
+    cd1cbf6d082939e1.b57fd3ae5f1076d8.2a3b9f0de0bdd7c5.5b8493494f60678f
+    791b2cf684b7f455.a0b10ba3e29bdd5e.2c651d1c364c39af.f6b139286dc4f9b6
+    815118fac801f514.14dbe7ac89925f38.4527c3b76dd9e9d6.94f7eeec889570e3
+    f279add41f02a7ba.9e3912a41f72e681.803fbe3bd05f55d4.c1945c706d51b731
+    0ac22f92e874babc
+  after
+    cd1cbf6d082939e1.b57fd3ae5f1076d8.2a3b9f0de0bdd7c5.5b8493494f60678f
+    0000000000000000.0000000000000000.a8ee7c3782f75f14.000000000000003c
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.803fbe3bd05f55d4.b47a6129a748634f
+    0000000000000000
+VPGATHERQQ_128_2(mem)
+  before
+    fabe142dc57865a1.d7501ae0d4b675e2.c806396672b65f56.e9673a02addae847
+    1ec3b71cd0dba4fc.3c918979341acd28.218007d04cdab7d2.8d5b62694e460dcb
+    000fc33dd51763e8.2ef927fd8b281a29.32e129bd7a5ad812.77d963cc00a032fb
+    2edce56a9fab8e81.b8441fc725dec880.89654a08c9b2b031.b39b69870fe3c274
+    4e5e9ff7c70b29d1
+  after
+    fabe142dc57865a1.d7501ae0d4b675e2.c806396672b65f56.e9673a02addae847
+    1ec3b71cd0dba4fc.3c918979341acd28.218007d04cdab7d2.8d5b62694e460dcb
+    000fc33dd51763e8.2ef927fd8b281a29.32e129bd7a5ad812.77d963cc00a032fb
+    2edce56a9fab8e81.b8441fc725dec880.89654a08c9b2b031.b39b69870fe3c274
+    4e5e9ff7c70b29d1
+
+VPGATHERQQ_128_2(reg)
+  before
+    53dd32767414d4af.3467c881fc1011e4.e72e9e324e3743ca.b14a178f025f2a4c
+    cfd64d6161fa2da9.9ceb195cb6c3d92c.c673cf9c5230f8a2.37ca3c2cf4dc327e
+    cd031d14dcbaa15b.f5a584d89a41d076.61cedf5f7cc351a5.a62264bc6aa5b4e3
+    5920cdeb2f4f9d62.c8d1b4d27405e4dd.c4fcfad919eebb6e.8a8d3c1c2f369c98
+    70497026110cd6b9
+  after
+    53dd32767414d4af.3467c881fc1011e4.e72e9e324e3743ca.b14a178f025f2a4c
+    0000000000000000.0000000000000000.9cba78c938dd0f28.0000000000000030
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    0000000000000000.0000000000000000.c4fcfad919eebb6e.23e37875c43e845a
+    0000000000000000
+VPGATHERQQ_128_2(mem)
+  before
+    e390abb7daa24e60.7feb8a42a7b58b5a.a3ab56240f8bff7e.fcb84b6475aca39a
+    6f9e9aac5774f0ac.4c1e807590e8d9dd.116e15ab394f0f74.14bfff5edcf974c4
+    a1b1e8df53fea9b7.cb76dae035e5f28a.9e579e44bcceffdc.19ce42219ad19989
+    0403422d9cbc639d.09aec5dee4a642fb.d7a29dc96683bbd1.159e3f0bfb318084
+    17ee22764a149451
+  after
+    e390abb7daa24e60.7feb8a42a7b58b5a.a3ab56240f8bff7e.fcb84b6475aca39a
+    6f9e9aac5774f0ac.4c1e807590e8d9dd.116e15ab394f0f74.14bfff5edcf974c4
+    a1b1e8df53fea9b7.cb76dae035e5f28a.9e579e44bcceffdc.19ce42219ad19989
+    0403422d9cbc639d.09aec5dee4a642fb.d7a29dc96683bbd1.159e3f0bfb318084
+    17ee22764a149451
+
+VPGATHERQQ_256_2(reg)
+  before
+    287819bfd576418e.24d15372fd2b0c7b.11846ccde72935cc.478bbd1701ea2f6f
+    56f94d43e653f3d4.8e56c88b41c68e6c.efb2fc088c69379a.7b4daa0a5a7f47d3
+    ac2ced5ccaa816c1.cdd04d523509d78d.aff5a1eb1d63b400.fe25127f3cbfef19
+    37cf2367cd6f17f0.6d798da4a570d2f9.5e0886d2e711189b.5c4f9f507524145c
+    2106fd5acf2ca0b8
+  after
+    287819bfd576418e.24d15372fd2b0c7b.11846ccde72935cc.478bbd1701ea2f6f
+    0000000000000038.00000000000000ec.0000000000000030.00000000000000bc
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    a748634f0e5b0240.ef43fa17f6482302.23e37875c43e845a.7cf328173188c7ff
+    0000000000000000
+VPGATHERQQ_256_2(mem)
+  before
+    da87d9791852814a.029c1bc03aa660fe.fb8e355d5d786bcd.08a8d8183571cf06
+    120edf891a13a12e.195003c45f495e87.024af059299b8e24.b791c21b557e46de
+    56d6ba66a2e9ee7e.89a604cd86527e26.0eea6b74d457271b.797f71369235e7be
+    311d17ec7c525359.5d5b4d38fdbf2b77.acaa528a2c2823cd.592d11c437902042
+    6458cd23918d5c07
+  after
+    da87d9791852814a.029c1bc03aa660fe.fb8e355d5d786bcd.08a8d8183571cf06
+    120edf891a13a12e.195003c45f495e87.024af059299b8e24.b791c21b557e46de
+    56d6ba66a2e9ee7e.89a604cd86527e26.0eea6b74d457271b.797f71369235e7be
+    311d17ec7c525359.5d5b4d38fdbf2b77.acaa528a2c2823cd.592d11c437902042
+    6458cd23918d5c07
+
+VPGATHERQQ_256_2(reg)
+  before
+    a5bcd2adec2706a9.2f1da2f773c9bcd8.a12b08610e8ad017.67c65077fb886c56
+    28154bc0945a8cc3.dd12066355ca151a.62d261a406b1dba1.cb7912170ef5efd3
+    fa1e65b6d52259f1.c63af00cecd24a38.aa0b855d3030b7b2.6500434631e99960
+    26944cedfa7cd9d0.76cf0bcd055b4751.8893a0e8da01d0e5.c09790e030e25518
+    6979a5c0d65c0e17
+  after
+    a5bcd2adec2706a9.2f1da2f773c9bcd8.a12b08610e8ad017.67c65077fb886c56
+    00000000000000a4.0000000000000060.000000000000005c.9f1941dfee21b158
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    d8c3c2182bb724bf.3de12b6f02af9633.02af9633119a4f34.c09790e030e25518
+    0000000000000000
+VPGATHERQQ_256_2(mem)
+  before
+    eae42dc4f1d1b27a.b8322bbf516379fc.7a0e04846ce3f87e.0526dea14e2292d7
+    d212d5c74bbf2c5c.bdb62f8a24d3a310.5d32860cede54add.2f806ae4da8e6a23
+    aa3f48a5b1a168da.40da83a8c0c8c4a8.ab793e4154de278a.125c700dc841c265
+    00a9333aeff3520f.4d5b5476713e4961.f11dd8ff6d487da0.b9771d776537073a
+    308d9d80fd6da63e
+  after
+    eae42dc4f1d1b27a.b8322bbf516379fc.7a0e04846ce3f87e.0526dea14e2292d7
+    d212d5c74bbf2c5c.bdb62f8a24d3a310.5d32860cede54add.2f806ae4da8e6a23
+    aa3f48a5b1a168da.40da83a8c0c8c4a8.ab793e4154de278a.125c700dc841c265
+    00a9333aeff3520f.4d5b5476713e4961.f11dd8ff6d487da0.b9771d776537073a
+    308d9d80fd6da63e
+
+VPGATHERQQ_256_2(reg)
+  before
+    83591b83dbde090c.5f8a4261d131d618.f1f4ce5182329cd6.ba5bff2103a1363c
+    bf98c4dc4d869e40.541f20f823d8e110.37631c93419f2ba4.926e6085e3644079
+    ef06c4e79d61d077.69a37ad9b0635d14.2b626a99f9816066.0693a606d90d8673
+    1f5f46ff196b0b4d.2d53fbe2464e373f.daade6bff5d4a9b9.a1067e7fb118f447
+    ef0394ce37027611
+  after
+    83591b83dbde090c.5f8a4261d131d618.f1f4ce5182329cd6.ba5bff2103a1363c
+    0000000000000030.7e29098744c75860.c7d3394608ca7358.e96ffc840e84d8f0
+    0000000000000000.0000000000000000.0000000000000000.0000000000000000
+    23e37875c43e845a.2d53fbe2464e373f.daade6bff5d4a9b9.a1067e7fb118f447
+    0000000000000000
+VPGATHERQQ_256_2(mem)
+  before
+    7dc593cd3746f8eb.5c5e76820ba1bb5d.296b50eeaf155cae.4f02ba6282957138
+    d689285a7c6066f4.b1c082cbbffe4c43.eb2724d8b834b77c.971b12dcecbf247f
+    868bff4fd4ccac46.2a419435837e2a9c.fec3247e2d2833c6.bcb51b8a7f4e2e2b
+    1a06c38a0907b7fd.d49cd81ea21dc103.ef7afcbada6cbea7.cd8b01c8863efcd8
+    d35beff24f8bf821
+  after
+    7dc593cd3746f8eb.5c5e76820ba1bb5d.296b50eeaf155cae.4f02ba6282957138
+    d689285a7c6066f4.b1c082cbbffe4c43.eb2724d8b834b77c.971b12dcecbf247f
+    868bff4fd4ccac46.2a419435837e2a9c.fec3247e2d2833c6.bcb51b8a7f4e2e2b
+    1a06c38a0907b7fd.d49cd81ea21dc103.ef7afcbada6cbea7.cd8b01c8863efcd8
+    d35beff24f8bf821
+
diff --git a/none/tests/amd64/avx2-1.vgtest b/none/tests/amd64/avx2-1.vgtest
new file mode 100644
index 0000000..8f14db7
--- /dev/null
+++ b/none/tests/amd64/avx2-1.vgtest
@@ -0,0 +1,3 @@
+prog: avx2-1
+prereq: test -x avx2-1 && ../../../tests/x86_amd64_features amd64-avx
+vgopts: -q
diff --git a/none/tests/amd64/bmi.c b/none/tests/amd64/bmi.c
new file mode 100644
index 0000000..0158652
--- /dev/null
+++ b/none/tests/amd64/bmi.c
@@ -0,0 +1,1143 @@
+
+#include <stdio.h>
+
+typedef  unsigned long long int  ULong;
+typedef  unsigned int            UInt;
+
+__attribute__((noinline))
+void do_andn64 ( /*OUT*/UInt* flags, /*OUT*/ULong* res, ULong arg1, ULong arg2 )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "andn %2, %3, %0"         "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=r" (flag) : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "andn %2, %3, %0"         "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=r" (flag) : "m" (arg1), "r" (arg2) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+__attribute__((noinline))
+void do_andn32 ( /*OUT*/UInt* flags, /*OUT*/ULong* res, UInt arg1, UInt arg2 )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "andn %2, %3, %k0"        "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=r" (flag) : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "andn %2, %3, %k0"        "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=r" (flag) : "m" (arg1), "r" (arg2) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+
+__attribute__((noinline))
+void do_mulx64 ( /*OUT*/ULong* res1, /*OUT*/ULong* res2,
+                 ULong arg1, ULong arg2 )
+{
+  ULong tem1, tem2, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "movabsq $0x5555555555555555, %1" "\n\t"
+    "movq %4, %%rdx"          "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "popfq"                   "\n\t"
+    "mulx %5, %1, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %3"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem1), "=&r" (tem2), "=&r" (flag1), "=r" (flag2)
+    : "g" (arg1), "r" (arg2) : "cc", "rdx"
+  );
+  *res1 = tem1;
+  *res2 = tem2;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "movabsq $0x5555555555555555, %1" "\n\t"
+    "movq %4, %%rdx"          "\n\t"
+    "pushfq"                  "\n\t"
+    "popq %2"                 "\n\t"
+    "mulx %5, %1, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "popq %3"                 "\n"
+    : "=&r" (tem1), "=&r" (tem2), "=&r" (flag3), "=r" (flag4)
+    : "g" (arg1), "m" (arg2) : "cc", "rdx"
+  );
+  if (*res1 != tem1 || *res2 != tem2)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+__attribute__((noinline))
+void do_mulx32 ( /*OUT*/ULong* res1, /*OUT*/ULong* res2,
+                 UInt arg1, UInt arg2 )
+{
+  ULong tem1, tem2, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "movabsq $0x5555555555555555, %1" "\n\t"
+    "movl %4, %%edx"          "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "popfq"                    "\n\t"
+    "mulx %5, %k1, %k0"       "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %3"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem1), "=&r" (tem2), "=&r" (flag1), "=r" (flag2)
+    : "g" (arg1), "r" (arg2) : "cc", "rdx"
+  );
+  *res1 = tem1;
+  *res2 = tem2;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "movabsq $0x5555555555555555, %1" "\n\t"
+    "movl %4, %%edx"          "\n\t"
+    "pushfq"                  "\n\t"
+    "popq %2"                 "\n\t"
+    "mulx %5, %k1, %k0"       "\n\t"
+    "pushfq"                  "\n\t"
+    "popq %3"                 "\n"
+    : "=&r" (tem1), "=&r" (tem2), "=&r" (flag3), "=r" (flag4)
+    : "g" (arg1), "m" (arg2) : "cc", "rdx"
+  );
+  if (*res1 != tem1 || *res2 != tem2)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+
+__attribute__((noinline))
+void do_sarx64 ( /*OUT*/ULong* res, ULong arg1, ULong arg2 )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "sarx %3, %4, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2)
+    : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "sarx %3, %4, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4)
+    : "r" (arg1), "m" (arg2) : "cc"
+  );
+  if (*res != tem)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+__attribute__((noinline))
+void do_sarx32 ( /*OUT*/ULong* res, UInt arg1, UInt arg2 )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "sarx %3, %4, %k0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2)
+    : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "sarx %3, %4, %k0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4)
+    : "r" (arg1), "m" (arg2) : "cc"
+  );
+  if (*res != tem)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+
+__attribute__((noinline))
+void do_shlx64 ( /*OUT*/ULong* res, ULong arg1, ULong arg2 )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "shlx %3, %4, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2)
+    : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "shlx %3, %4, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4)
+    : "r" (arg1), "m" (arg2) : "cc"
+  );
+  if (*res != tem)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+__attribute__((noinline))
+void do_shlx32 ( /*OUT*/ULong* res, UInt arg1, UInt arg2 )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "shlx %3, %4, %k0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2)
+    : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "shlx %3, %4, %k0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4)
+    : "r" (arg1), "m" (arg2) : "cc"
+  );
+  if (*res != tem)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+
+__attribute__((noinline))
+void do_shrx64 ( /*OUT*/ULong* res, ULong arg1, ULong arg2 )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "shrx %3, %4, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2)
+    : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "shrx %3, %4, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4)
+    : "r" (arg1), "m" (arg2) : "cc"
+  );
+  if (*res != tem)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+__attribute__((noinline))
+void do_shrx32 ( /*OUT*/ULong* res, UInt arg1, UInt arg2 )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "shrx %3, %4, %k0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2)
+    : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "shrx %3, %4, %k0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4)
+    : "r" (arg1), "m" (arg2) : "cc"
+  );
+  if (*res != tem)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+
+__attribute__((noinline))
+void do_rorx64 ( /*OUT*/ULong* res1, /*OUT*/ULong* res2, ULong arg )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "rorx $12, %3, %0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2) : "r" (arg) : "cc"
+  );
+  *res1 = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "rorx $67, %3, %0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4) : "m" (arg) : "cc"
+  );
+  *res2 = tem;
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+__attribute__((noinline))
+void do_rorx32 ( /*OUT*/ULong* res1, /*OUT*/ULong* res2, UInt arg )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "rorx $12, %3, %k0"       "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2) : "r" (arg) : "cc"
+  );
+  *res1 = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "rorx $67, %3, %k0"       "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4) : "m" (arg) : "cc"
+  );
+  *res2 = tem;
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+
+__attribute__((noinline))
+void do_blsi64 ( /*OUT*/UInt* flags, /*OUT*/ULong* res, ULong arg )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsi %2, %0"             "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsi %2, %0"             "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "m" (arg) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+__attribute__((noinline))
+void do_blsi32 ( /*OUT*/UInt* flags, /*OUT*/ULong* res, UInt arg )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsi %2, %k0"            "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsi %2, %k0"            "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "m" (arg) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+
+__attribute__((noinline))
+void do_blsmsk64 ( /*OUT*/UInt* flags, /*OUT*/ULong* res, ULong arg )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsmsk %2, %0"           "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsmsk %2, %0"           "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "m" (arg) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+__attribute__((noinline))
+void do_blsmsk32 ( /*OUT*/UInt* flags, /*OUT*/ULong* res, UInt arg )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsmsk %2, %k0"          "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsmsk %2, %k0"          "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "m" (arg) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+
+__attribute__((noinline))
+void do_blsr64 ( /*OUT*/UInt* flags, /*OUT*/ULong* res, ULong arg )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsr %2, %0"             "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsr %2, %0"             "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "m" (arg) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+__attribute__((noinline))
+void do_blsr32 ( /*OUT*/UInt* flags, /*OUT*/ULong* res, UInt arg )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsr %2, %k0"            "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "blsr %2, %k0"            "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "m" (arg) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+
+__attribute__((noinline))
+void do_bextr64 ( /*OUT*/UInt* flags, /*OUT*/ULong* res,
+                  ULong arg1, ULong arg2 )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "bextr %2, %3, %0"        "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "bextr %2, %3, %0"        "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg1), "m" (arg2) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+__attribute__((noinline))
+void do_bextr32 ( /*OUT*/UInt* flags, /*OUT*/ULong* res,
+                  UInt arg1, UInt arg2 )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "bextr %2, %3, %k0"       "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "bextr %2, %3, %k0"       "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg1), "m" (arg2) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+
+__attribute__((noinline))
+void do_bzhi64 ( /*OUT*/UInt* flags, /*OUT*/ULong* res,
+                 ULong arg1, ULong arg2 )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "bzhi %2, %3, %0"         "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "bzhi %2, %3, %0"         "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg1), "m" (arg2) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+__attribute__((noinline))
+void do_bzhi32 ( /*OUT*/UInt* flags, /*OUT*/ULong* res,
+                 UInt arg1, UInt arg2 )
+{
+  ULong tem, flag;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "bzhi %2, %3, %k0"        "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  *flags = flag & 0x8d5;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "bzhi %2, %3, %k0"        "\n\t"
+    "pushfq"		      "\n\t"
+    "popq %1"                 "\n"
+    : "=&r" (tem), "=&r" (flag) : "r" (arg1), "m" (arg2) : "cc"
+  );
+  if (*res != tem || *flags != (flag & 0x8d5))
+     printf ("Difference between r and m variants\n");
+}
+
+
+__attribute__((noinline))
+void do_pdep64 ( /*OUT*/ULong* res, ULong arg1, ULong arg2 )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "pdep %3, %4, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2)
+    : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "pdep %3, %4, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4)
+    : "m" (arg1), "r" (arg2) : "cc"
+  );
+  if (*res != tem)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+__attribute__((noinline))
+void do_pdep32 ( /*OUT*/ULong* res, UInt arg1, UInt arg2 )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "pdep %3, %4, %k0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2)
+    : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "pdep %3, %4, %k0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4)
+    : "m" (arg1), "r" (arg2) : "cc"
+  );
+  if (*res != tem)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+
+__attribute__((noinline))
+void do_pext64 ( /*OUT*/ULong* res, ULong arg1, ULong arg2 )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "pext %3, %4, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2)
+    : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "pext %3, %4, %0"         "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4)
+    : "m" (arg1), "r" (arg2) : "cc"
+  );
+  if (*res != tem)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+__attribute__((noinline))
+void do_pext32 ( /*OUT*/ULong* res, UInt arg1, UInt arg2 )
+{
+  ULong tem, flag1, flag2, flag3, flag4;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "pext %3, %4, %k0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag1), "=r" (flag2)
+    : "r" (arg1), "r" (arg2) : "cc"
+  );
+  *res = tem;
+  __asm__ __volatile__(
+    "movabsq $0x5555555555555555, %0" "\n\t"
+    "pushfq"                  "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "movq (%%rsp), %1"        "\n\t"
+    "popfq"                   "\n\t"
+    "pext %3, %4, %k0"        "\n\t"
+    "pushfq"                  "\n\t"
+    "movq (%%rsp), %2"        "\n\t"
+    "xorq $0x8d5, (%%rsp)"    "\n\t"
+    "popfq"                   "\n"
+    : "=&r" (tem), "=&r" (flag3), "=r" (flag4)
+    : "m" (arg1), "r" (arg2) : "cc"
+  );
+  if (*res != tem)
+     printf ("Difference between r and m variants\n");
+  if (((flag1 ^ flag2) | (flag3 ^ flag4)) & 0x8d5)
+     printf ("Flags changed\n");
+}
+
+
+int main ( void )
+{
+   ULong w1, w2;
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_andn64(&flags, &res, w1, w2);
+      printf("andn64 %016llx %016llx -> %016llx %04x\n", w1, w2, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_andn32(&flags, &res, w1, w2);
+      printf("andn32 %016llx %016llx -> %016llx %04x\n", w1, w2, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res1, res2;
+      do_mulx64(&res1, &res2, w1, w2);
+      printf("mulx64 %016llx %016llx -> %016llx %016llx\n", w1, w2, res1, res2);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res1, res2;
+      do_mulx32(&res1, &res2, w1, w2);
+      printf("mulx32 %016llx %016llx -> %016llx %016llx\n", w1, w2, res1, res2);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      do_sarx64(&res, w1, w2);
+      printf("sarx64 %016llx %016llx -> %016llx\n", w1, w2, res);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      do_sarx32(&res, w1, w2);
+      printf("sarx32 %016llx %016llx -> %016llx\n", w1, w2, res);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      do_shlx64(&res, w1, w2);
+      printf("shlx64 %016llx %016llx -> %016llx\n", w1, w2, res);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      do_shlx32(&res, w1, w2);
+      printf("shlx32 %016llx %016llx -> %016llx\n", w1, w2, res);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      do_shrx64(&res, w1, w2);
+      printf("shrx64 %016llx %016llx -> %016llx\n", w1, w2, res);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      do_shrx32(&res, w1, w2);
+      printf("shrx32 %016llx %016llx -> %016llx\n", w1, w2, res);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   while (1) {
+      ULong res1, res2;
+      do_rorx64(&res1, &res2, w1);
+      printf("rorx64 %016llx -> %016llx %016llx\n", w1, res1, res2);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   while (1) {
+      ULong res1, res2;
+      do_rorx32(&res1, &res2, w1);
+      printf("rorx32 %016llx -> %016llx %016llx\n", w1, res1, res2);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_blsi64(&flags, &res, w1);
+      printf("blsi64 %016llx -> %016llx %04x\n", w1, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_blsi32(&flags, &res, w1);
+      printf("blsi32 %016llx -> %016llx %04x\n", w1, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_blsmsk64(&flags, &res, w1);
+      printf("blsmsk64 %016llx -> %016llx %04x\n", w1, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_blsmsk32(&flags, &res, w1);
+      printf("blsmsk32 %016llx -> %016llx %04x\n", w1, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_blsr64(&flags, &res, w1);
+      printf("blsr64 %016llx -> %016llx %04x\n", w1, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_blsr32(&flags, &res, w1);
+      printf("blsr32 %016llx -> %016llx %04x\n", w1, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_bextr64(&flags, &res, w1, w2);
+      printf("bextr64 %016llx %016llx -> %016llx %04x\n", w1, w2, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_bextr32(&flags, &res, w1, w2);
+      printf("bextr32 %016llx %016llx -> %016llx %04x\n", w1, w2, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_bzhi64(&flags, &res, w1, w2);
+      printf("bzhi64 %016llx %016llx -> %016llx %04x\n", w1, w2, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      UInt  flags;
+      do_bzhi32(&flags, &res, w1, w2);
+      printf("bzhi32 %016llx %016llx -> %016llx %04x\n", w1, w2, res, flags);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      do_pdep64(&res, w1, w2);
+      printf("pdep64 %016llx %016llx -> %016llx\n", w1, w2, res);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      do_pdep32(&res, w1, w2);
+      printf("pdep32 %016llx %016llx -> %016llx\n", w1, w2, res);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      do_pext64(&res, w1, w2);
+      printf("pext64 %016llx %016llx -> %016llx\n", w1, w2, res);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   w1 = 0xFEDC192837475675ULL;
+   w2 = 0x57657438291CDEF0ULL;
+   while (1) {
+      ULong res;
+      do_pext32(&res, w1, w2);
+      printf("pext32 %016llx %016llx -> %016llx\n", w1, w2, res);
+      if (w1 == 0) break;
+      w1 = ((w1 >> 2) | (w1 >> 1)) + (w1 / 17ULL);
+      w2 = ((w2 >> 2) | (w2 >> 1)) + (w2 / 17ULL);
+   }
+
+   return 0;
+}
diff --git a/none/tests/amd64/bmi.stderr.exp b/none/tests/amd64/bmi.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/amd64/bmi.stderr.exp
diff --git a/none/tests/amd64/bmi.stdout.exp b/none/tests/amd64/bmi.stdout.exp
new file mode 100644
index 0000000..162cebb
--- /dev/null
+++ b/none/tests/amd64/bmi.stdout.exp
@@ -0,0 +1,3250 @@
+andn64 fedc192837475675 57657438291cdef0 -> a898090016430005 0080
+andn64 8efcf23ad7e922f3 452015034e67c955 -> 8adce238918822a2 0080
+andn64 7068b90cdf850938 37e901ef56b302d6 -> 4000b80089040928 0000
+andn64 42db3e5ed85503a5 2348b20e142667cf -> 40930c50c8510020 0000
+andn64 35eea72efbea67d7 1c09d34c26e1c212 -> 21e62422d90a25c5 0000
+andn64 232c23d3b476ef47 10ad37922d51847f -> 2300004190266b00 0000
+andn64 1bf0c1bf27fbb3ab 0d7b015093984564 -> 1280c0af2463b28b 0000
+andn64 11a1311a29a562ea 08cac1103a60926a -> 1121300a01856080 0000
+andn64 0e02582b8350ffd0 06fc5681c8cd2b10 -> 0802082a0310d4c0 0000
+andn64 0854b4408f5b9e17 04687224d51a87fa -> 081484400a411805 0000
+andn64 06bcf33434328063 03809eacb986283a -> 043c611004308041 0000
+andn64 0464f596e5f3ab8a 02152e09a7eb825e -> 0460d19640102980 0000
+andn64 037dac8063df281c 01af3c969c7725a6 -> 0250800063880818 0000
+andn64 0234910d6d0cfe89 01193d5aad28c013 -> 0224800540043e88 0000
+andn64 01c0a27d7eaa2575 00df6b2373776c4a -> 0100805c0c880135 0000
+andn64 010adda943af43d8 008d24457d4341d1 -> 0102d9a802ac0208 0000
+andn64 00d7b2ae8c91c8ce 007028a17fc8b89e -> 0087920e80114040 0000
+andn64 008cae284a0c2065 0042b77370e42ef0 -> 008c08080a080005 0000
+andn64 006fc6190eb4fc04 0035ecaa6c888c28 -> 004a021102347004 0000
+andn64 004686bd6e829ce5 00232b89c5c8c9b6 -> 004484342a021441 0000
+andn64 00380a0b248034f1 001bf185a53e82dc -> 00200a0a00803421 0000
+andn64 0021536a650d4fc6 0011a1af9c2edaa2 -> 0020524061010544 0000
+andn64 001af3d8d0c8c068 000e0282bc13b27b -> 0010f15840c84000 0000
+andn64 001193de10460316 000854daa0b4cc02 -> 0011830410420314 0000
+andn64 000df6b241dd45c1 0006bcf63e2fbf3d -> 0009420041d040c0 0000
+andn64 0008d24469947f91 000464f7852a566a -> 0008920068942991 0000
+andn64 0007028a17f7fc21 00037dac915ab5c5 -> 0004020206a54820 0000
+andn64 00042b77370e9574 000234911b32831c -> 00040b66240c1460 0000
+andn64 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 00021e4820c0ca1c 0000
+andn64 000232b89c5ca207 00010addcd657882 -> 0002302010188205 0000
+andn64 0001bf185a53fb83 0000d7b2a9b6ab1d -> 0001280852415082 0000
+andn64 00011a1af9c2f08e 00008cae2719cda3 -> 00011210d8c2300c 0000
+andn64 0000e0282bc137ba 00006fc61694404d -> 00008028294137b2 0000
+andn64 0000854daa0b4caf 00004686be70612c -> 00008149000b0c83 0000
+andn64 00006bcf63e2fc01 0000380a0af0025a -> 000043c56102fc01 0000
+andn64 0000464f7852a469 000021536a829879 -> 0000460c10502400 0000
+andn64 000037dac915aa8f 00001af3d8f8abea -> 0000250801050005 0000
+andn64 0000234911b3280d 00001193de14a839 -> 0000224801a30004 0000
+andn64 00001c0a2862c244 00000df6b24569e5 -> 0000100808228200 0000
+andn64 000010addcd6577a 000008d2446cc8f9 -> 0000102d98921702 0000
+andn64 00000d7b2a9b6ac9 000007028a18af7d -> 0000087920834080 0000
+andn64 000008cae2719cd4 0000042b77359960 -> 000008c080400494 0000
+andn64 000006fc61694403 0000035ecaa6d9df -> 000004a021490400 0000
+andn64 000004686be70610 00000232b89c662a -> 0000044843630010 0000
+andn64 00000380a0af0023 000001bf185a50b0 -> 00000200a0a50003 0000
+andn64 0000021536a82984 0000011a1af9c13b -> 0000020524002884 0000
+andn64 000001af3d8f8abd 000000e0282bc000 -> 0000010f15840abd 0000
+andn64 000001193de14a82 000000854daa0a5a -> 0000011830414080 0000
+andn64 000000df6b24569d 0000006bcf63e2b5 -> 0000009420041408 0000
+andn64 0000008d2446cc8e 000000464f7852a0 -> 0000008920068c0e 0000
+andn64 0000007028a18af6 00000037dac915a7 -> 0000004020208a50 0000
+andn64 00000042b7735995 000000234911b322 -> 00000040b6624895 0000
+andn64 00000035ecaa6d9d 0000001c0a2862bc -> 00000021e4820d01 0000
+andn64 000000232b89c661 00000010addcd664 -> 0000002302010001 0000
+andn64 0000001bf185a509 0000000d7b2a9b66 -> 0000001280852409 0000
+andn64 00000011a1af9c11 00000008cae27197 -> 00000011210d8c00 0000
+andn64 0000000e0282bbfd 00000006fc616943 -> 00000008028292bc 0000
+andn64 0000000854daa1a4 00000004686be704 -> 00000008149000a0 0000
+andn64 00000006bcf63eb9 0000000380a0aeff -> 000000043c561000 0000
+andn64 0000000464f78590 000000021536a868 -> 0000000460c10590 0000
+andn64 000000037dac916c 00000001af3d8fad -> 0000000250801040 0000
+andn64 0000000234911b32 00000001193de163 -> 0000000224801a10 0000
+andn64 00000001c0a2862b 00000000df6b2459 -> 0000000100808222 0000
+andn64 000000010addcd65 000000008d2446ca -> 0000000102d98925 0000
+andn64 00000000d7b2a9b5 000000007028a18a -> 0000000087920835 0000
+andn64 000000008cae2718 0000000042b77358 -> 000000008c080400 0000
+andn64 000000006fc61693 0000000035ecaa6c -> 000000004a021493 0000
+andn64 000000004686be6e 00000000232b89c5 -> 000000004484362a 0000
+andn64 00000000380a0af2 000000001bf185a4 -> 00000000200a0a52 0000
+andn64 0000000021536a83 0000000011a1af9b -> 0000000020524000 0000
+andn64 000000001af3d8f7 000000000e0282bb -> 0000000010f15844 0000
+andn64 000000001193de15 000000000854daa0 -> 0000000011830415 0000
+andn64 000000000df6b244 0000000006bcf63d -> 0000000009420040 0000
+andn64 0000000008d2446b 000000000464f784 -> 000000000892006b 0000
+andn64 0000000007028a18 00000000037dac90 -> 0000000004020208 0000
+andn64 00000000042b7735 000000000234911a -> 00000000040b6625 0000
+andn64 00000000035ecaa5 0000000001c0a285 -> 00000000021e4820 0000
+andn64 000000000232b89b 00000000010addcc -> 0000000002302013 0000
+andn64 0000000001bf185a 0000000000d7b2a8 -> 0000000001280852 0000
+andn64 00000000011a1af9 00000000008cae26 -> 00000000011210d9 0000
+andn64 0000000000e0282a 00000000006fc615 -> 000000000080282a 0000
+andn64 0000000000854da9 00000000004686bd -> 0000000000814900 0000
+andn64 00000000006bcf62 0000000000380a0a -> 000000000043c560 0000
+andn64 0000000000464f77 0000000000215369 -> 0000000000460c16 0000
+andn64 000000000037dac9 00000000001af3d7 -> 0000000000250808 0000
+andn64 0000000000234910 00000000001193de -> 0000000000224800 0000
+andn64 00000000001c0a27 00000000000df6b1 -> 0000000000100806 0000
+andn64 000000000010add9 000000000008d242 -> 0000000000102d99 0000
+andn64 00000000000d7b28 0000000000070287 -> 0000000000087928 0000
+andn64 000000000008cae0 0000000000042b72 -> 000000000008c080 0000
+andn64 000000000006fc5f 0000000000035ec7 -> 000000000004a018 0000
+andn64 0000000000046871 00000000000232b3 -> 0000000000044840 0000
+andn64 000000000003809d 000000000001bf16 -> 0000000000020089 0000
+andn64 000000000002152c 0000000000011a1b -> 0000000000020524 0000
+andn64 000000000001af3b 000000000000e027 -> 0000000000010f18 0000
+andn64 000000000001193c 000000000000854a -> 0000000000011834 0000
+andn64 000000000000df6a 0000000000006bce -> 0000000000009420 0000
+andn64 0000000000008d23 000000000000464e -> 0000000000008921 0000
+andn64 0000000000007026 00000000000037d9 -> 0000000000004026 0000
+andn64 00000000000042b3 0000000000002347 -> 00000000000040b0 0000
+andn64 00000000000035e9 0000000000001c06 -> 00000000000021e9 0000
+andn64 0000000000002329 00000000000010a9 -> 0000000000002300 0000
+andn64 0000000000001bef 0000000000000d78 -> 0000000000001287 0000
+andn64 00000000000011a3 00000000000008c8 -> 0000000000001123 0000
+andn64 0000000000000e02 00000000000006fa -> 0000000000000800 0000
+andn64 0000000000000853 0000000000000468 -> 0000000000000813 0000
+andn64 00000000000006ba 0000000000000380 -> 000000000000043a 0000
+andn64 0000000000000464 0000000000000214 -> 0000000000000460 0000
+andn64 000000000000037d 00000000000001ae -> 0000000000000251 0000
+andn64 0000000000000233 0000000000000118 -> 0000000000000223 0000
+andn64 00000000000001be 00000000000000de -> 0000000000000120 0000
+andn64 0000000000000119 000000000000008c -> 0000000000000111 0000
+andn64 00000000000000de 000000000000006f -> 0000000000000090 0000
+andn64 000000000000008c 0000000000000045 -> 0000000000000088 0000
+andn64 000000000000006f 0000000000000037 -> 0000000000000048 0000
+andn64 0000000000000045 0000000000000022 -> 0000000000000045 0000
+andn64 0000000000000037 000000000000001b -> 0000000000000024 0000
+andn64 0000000000000022 0000000000000010 -> 0000000000000022 0000
+andn64 000000000000001b 000000000000000c -> 0000000000000013 0000
+andn64 0000000000000010 0000000000000007 -> 0000000000000010 0000
+andn64 000000000000000c 0000000000000003 -> 000000000000000c 0000
+andn64 0000000000000007 0000000000000001 -> 0000000000000006 0000
+andn64 0000000000000003 0000000000000000 -> 0000000000000003 0000
+andn64 0000000000000001 0000000000000000 -> 0000000000000001 0000
+andn64 0000000000000000 0000000000000000 -> 0000000000000000 0040
+andn32 fedc192837475675 57657438291cdef0 -> 0000000016430005 0000
+andn32 8efcf23ad7e922f3 452015034e67c955 -> 00000000918822a2 0080
+andn32 7068b90cdf850938 37e901ef56b302d6 -> 0000000089040928 0080
+andn32 42db3e5ed85503a5 2348b20e142667cf -> 00000000c8510020 0080
+andn32 35eea72efbea67d7 1c09d34c26e1c212 -> 00000000d90a25c5 0080
+andn32 232c23d3b476ef47 10ad37922d51847f -> 0000000090266b00 0080
+andn32 1bf0c1bf27fbb3ab 0d7b015093984564 -> 000000002463b28b 0000
+andn32 11a1311a29a562ea 08cac1103a60926a -> 0000000001856080 0000
+andn32 0e02582b8350ffd0 06fc5681c8cd2b10 -> 000000000310d4c0 0000
+andn32 0854b4408f5b9e17 04687224d51a87fa -> 000000000a411805 0000
+andn32 06bcf33434328063 03809eacb986283a -> 0000000004308041 0000
+andn32 0464f596e5f3ab8a 02152e09a7eb825e -> 0000000040102980 0000
+andn32 037dac8063df281c 01af3c969c7725a6 -> 0000000063880818 0000
+andn32 0234910d6d0cfe89 01193d5aad28c013 -> 0000000040043e88 0000
+andn32 01c0a27d7eaa2575 00df6b2373776c4a -> 000000000c880135 0000
+andn32 010adda943af43d8 008d24457d4341d1 -> 0000000002ac0208 0000
+andn32 00d7b2ae8c91c8ce 007028a17fc8b89e -> 0000000080114040 0080
+andn32 008cae284a0c2065 0042b77370e42ef0 -> 000000000a080005 0000
+andn32 006fc6190eb4fc04 0035ecaa6c888c28 -> 0000000002347004 0000
+andn32 004686bd6e829ce5 00232b89c5c8c9b6 -> 000000002a021441 0000
+andn32 00380a0b248034f1 001bf185a53e82dc -> 0000000000803421 0000
+andn32 0021536a650d4fc6 0011a1af9c2edaa2 -> 0000000061010544 0000
+andn32 001af3d8d0c8c068 000e0282bc13b27b -> 0000000040c84000 0000
+andn32 001193de10460316 000854daa0b4cc02 -> 0000000010420314 0000
+andn32 000df6b241dd45c1 0006bcf63e2fbf3d -> 0000000041d040c0 0000
+andn32 0008d24469947f91 000464f7852a566a -> 0000000068942991 0000
+andn32 0007028a17f7fc21 00037dac915ab5c5 -> 0000000006a54820 0000
+andn32 00042b77370e9574 000234911b32831c -> 00000000240c1460 0000
+andn32 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 0000000020c0ca1c 0000
+andn32 000232b89c5ca207 00010addcd657882 -> 0000000010188205 0000
+andn32 0001bf185a53fb83 0000d7b2a9b6ab1d -> 0000000052415082 0000
+andn32 00011a1af9c2f08e 00008cae2719cda3 -> 00000000d8c2300c 0080
+andn32 0000e0282bc137ba 00006fc61694404d -> 00000000294137b2 0000
+andn32 0000854daa0b4caf 00004686be70612c -> 00000000000b0c83 0000
+andn32 00006bcf63e2fc01 0000380a0af0025a -> 000000006102fc01 0000
+andn32 0000464f7852a469 000021536a829879 -> 0000000010502400 0000
+andn32 000037dac915aa8f 00001af3d8f8abea -> 0000000001050005 0000
+andn32 0000234911b3280d 00001193de14a839 -> 0000000001a30004 0000
+andn32 00001c0a2862c244 00000df6b24569e5 -> 0000000008228200 0000
+andn32 000010addcd6577a 000008d2446cc8f9 -> 0000000098921702 0080
+andn32 00000d7b2a9b6ac9 000007028a18af7d -> 0000000020834080 0000
+andn32 000008cae2719cd4 0000042b77359960 -> 0000000080400494 0080
+andn32 000006fc61694403 0000035ecaa6d9df -> 0000000021490400 0000
+andn32 000004686be70610 00000232b89c662a -> 0000000043630010 0000
+andn32 00000380a0af0023 000001bf185a50b0 -> 00000000a0a50003 0080
+andn32 0000021536a82984 0000011a1af9c13b -> 0000000024002884 0000
+andn32 000001af3d8f8abd 000000e0282bc000 -> 0000000015840abd 0000
+andn32 000001193de14a82 000000854daa0a5a -> 0000000030414080 0000
+andn32 000000df6b24569d 0000006bcf63e2b5 -> 0000000020041408 0000
+andn32 0000008d2446cc8e 000000464f7852a0 -> 0000000020068c0e 0000
+andn32 0000007028a18af6 00000037dac915a7 -> 0000000020208a50 0000
+andn32 00000042b7735995 000000234911b322 -> 00000000b6624895 0080
+andn32 00000035ecaa6d9d 0000001c0a2862bc -> 00000000e4820d01 0080
+andn32 000000232b89c661 00000010addcd664 -> 0000000002010001 0000
+andn32 0000001bf185a509 0000000d7b2a9b66 -> 0000000080852409 0080
+andn32 00000011a1af9c11 00000008cae27197 -> 00000000210d8c00 0000
+andn32 0000000e0282bbfd 00000006fc616943 -> 00000000028292bc 0000
+andn32 0000000854daa1a4 00000004686be704 -> 00000000149000a0 0000
+andn32 00000006bcf63eb9 0000000380a0aeff -> 000000003c561000 0000
+andn32 0000000464f78590 000000021536a868 -> 0000000060c10590 0000
+andn32 000000037dac916c 00000001af3d8fad -> 0000000050801040 0000
+andn32 0000000234911b32 00000001193de163 -> 0000000024801a10 0000
+andn32 00000001c0a2862b 00000000df6b2459 -> 0000000000808222 0000
+andn32 000000010addcd65 000000008d2446ca -> 0000000002d98925 0000
+andn32 00000000d7b2a9b5 000000007028a18a -> 0000000087920835 0080
+andn32 000000008cae2718 0000000042b77358 -> 000000008c080400 0080
+andn32 000000006fc61693 0000000035ecaa6c -> 000000004a021493 0000
+andn32 000000004686be6e 00000000232b89c5 -> 000000004484362a 0000
+andn32 00000000380a0af2 000000001bf185a4 -> 00000000200a0a52 0000
+andn32 0000000021536a83 0000000011a1af9b -> 0000000020524000 0000
+andn32 000000001af3d8f7 000000000e0282bb -> 0000000010f15844 0000
+andn32 000000001193de15 000000000854daa0 -> 0000000011830415 0000
+andn32 000000000df6b244 0000000006bcf63d -> 0000000009420040 0000
+andn32 0000000008d2446b 000000000464f784 -> 000000000892006b 0000
+andn32 0000000007028a18 00000000037dac90 -> 0000000004020208 0000
+andn32 00000000042b7735 000000000234911a -> 00000000040b6625 0000
+andn32 00000000035ecaa5 0000000001c0a285 -> 00000000021e4820 0000
+andn32 000000000232b89b 00000000010addcc -> 0000000002302013 0000
+andn32 0000000001bf185a 0000000000d7b2a8 -> 0000000001280852 0000
+andn32 00000000011a1af9 00000000008cae26 -> 00000000011210d9 0000
+andn32 0000000000e0282a 00000000006fc615 -> 000000000080282a 0000
+andn32 0000000000854da9 00000000004686bd -> 0000000000814900 0000
+andn32 00000000006bcf62 0000000000380a0a -> 000000000043c560 0000
+andn32 0000000000464f77 0000000000215369 -> 0000000000460c16 0000
+andn32 000000000037dac9 00000000001af3d7 -> 0000000000250808 0000
+andn32 0000000000234910 00000000001193de -> 0000000000224800 0000
+andn32 00000000001c0a27 00000000000df6b1 -> 0000000000100806 0000
+andn32 000000000010add9 000000000008d242 -> 0000000000102d99 0000
+andn32 00000000000d7b28 0000000000070287 -> 0000000000087928 0000
+andn32 000000000008cae0 0000000000042b72 -> 000000000008c080 0000
+andn32 000000000006fc5f 0000000000035ec7 -> 000000000004a018 0000
+andn32 0000000000046871 00000000000232b3 -> 0000000000044840 0000
+andn32 000000000003809d 000000000001bf16 -> 0000000000020089 0000
+andn32 000000000002152c 0000000000011a1b -> 0000000000020524 0000
+andn32 000000000001af3b 000000000000e027 -> 0000000000010f18 0000
+andn32 000000000001193c 000000000000854a -> 0000000000011834 0000
+andn32 000000000000df6a 0000000000006bce -> 0000000000009420 0000
+andn32 0000000000008d23 000000000000464e -> 0000000000008921 0000
+andn32 0000000000007026 00000000000037d9 -> 0000000000004026 0000
+andn32 00000000000042b3 0000000000002347 -> 00000000000040b0 0000
+andn32 00000000000035e9 0000000000001c06 -> 00000000000021e9 0000
+andn32 0000000000002329 00000000000010a9 -> 0000000000002300 0000
+andn32 0000000000001bef 0000000000000d78 -> 0000000000001287 0000
+andn32 00000000000011a3 00000000000008c8 -> 0000000000001123 0000
+andn32 0000000000000e02 00000000000006fa -> 0000000000000800 0000
+andn32 0000000000000853 0000000000000468 -> 0000000000000813 0000
+andn32 00000000000006ba 0000000000000380 -> 000000000000043a 0000
+andn32 0000000000000464 0000000000000214 -> 0000000000000460 0000
+andn32 000000000000037d 00000000000001ae -> 0000000000000251 0000
+andn32 0000000000000233 0000000000000118 -> 0000000000000223 0000
+andn32 00000000000001be 00000000000000de -> 0000000000000120 0000
+andn32 0000000000000119 000000000000008c -> 0000000000000111 0000
+andn32 00000000000000de 000000000000006f -> 0000000000000090 0000
+andn32 000000000000008c 0000000000000045 -> 0000000000000088 0000
+andn32 000000000000006f 0000000000000037 -> 0000000000000048 0000
+andn32 0000000000000045 0000000000000022 -> 0000000000000045 0000
+andn32 0000000000000037 000000000000001b -> 0000000000000024 0000
+andn32 0000000000000022 0000000000000010 -> 0000000000000022 0000
+andn32 000000000000001b 000000000000000c -> 0000000000000013 0000
+andn32 0000000000000010 0000000000000007 -> 0000000000000010 0000
+andn32 000000000000000c 0000000000000003 -> 000000000000000c 0000
+andn32 0000000000000007 0000000000000001 -> 0000000000000006 0000
+andn32 0000000000000003 0000000000000000 -> 0000000000000003 0000
+andn32 0000000000000001 0000000000000000 -> 0000000000000001 0000
+andn32 0000000000000000 0000000000000000 -> 0000000000000000 0040
+mulx64 fedc192837475675 57657438291cdef0 -> 5701cd163c20c56b 4759dbe1e1a683b0
+mulx64 8efcf23ad7e922f3 452015034e67c955 -> 269c18a4bc2d87fd fc9be05bd69e65af
+mulx64 7068b90cdf850938 37e901ef56b302d6 -> 188ccfebb14c9d97 1e4898e8257024d0
+mulx64 42db3e5ed85503a5 2348b20e142667cf -> 0936f5b0a0defb8a 76f145a88fb3556b
+mulx64 35eea72efbea67d7 1c09d34c26e1c212 -> 05e82c30c30ad6a2 b6e5997887233b1e
+mulx64 232c23d3b476ef47 10ad37922d51847f -> 024a8eb40271434e 5e4ba8430ad85039
+mulx64 1bf0c1bf27fbb3ab 0d7b015093984564 -> 0178a6a887fa26ba 183e4a80544745cc
+mulx64 11a1311a29a562ea 08cac1103a60926a -> 009b0005340efe47 388aefa3aca468e4
+mulx64 0e02582b8350ffd0 06fc5681c8cd2b10 -> 0061dd1bb3b344e2 f0e5094e2997ed00
+mulx64 0854b4408f5b9e17 04687224d51a87fa -> 0024b8f127951b9c 5e3c55b8812c8376
+mulx64 06bcf33434328063 03809eacb986283a -> 0017998060a663c2 ab866fb676528e6e
+mulx64 0464f596e5f3ab8a 02152e09a7eb825e -> 000926fda1bc6b13 c805ad9daa4310ac
+mulx64 037dac8063df281c 01af3c969c7725a6 -> 0005e168ee5b8464 3342e344b8840e28
+mulx64 0234910d6d0cfe89 01193d5aad28c013 -> 00026c3a8645c4dc 2714c8fd3145a42b
+mulx64 01c0a27d7eaa2575 00df6b2373776c4a -> 000187894d5c5b97 be4e3fa05d5f2fd2
+mulx64 010adda943af43d8 008d24457d4341d1 -> 00009321e5d66804 873fe596fbd83b58
+mulx64 00d7b2ae8c91c8ce 007028a17fc8b89e -> 00005e80685bd048 c6d75ad49d3dff24
+mulx64 008cae284a0c2065 0042b77370e42ef0 -> 000024a9b65229be d01a846ba32484b0
+mulx64 006fc6190eb4fc04 0035ecaa6c888c28 -> 0000178b583814db caa7dd14d83990a0
+mulx64 004686bd6e829ce5 00232b89c5c8c9b6 -> 000009b06a7c85cc 2386ccc4e9f357ce
+mulx64 00380a0b248034f1 001bf185a53e82dc -> 0000061dede2bad4 8059257da06de11c
+mulx64 0021536a650d4fc6 0011a1af9c2edaa2 -> 0000024b9662fa19 083cb6bc45ef174c
+mulx64 001af3d8d0c8c068 000e0282bc13b27b -> 000001799986bddc 3a0d5b5a8df4c1f8
+mulx64 001193de10460316 000854daa0b4cc02 -> 0000009272785375 b1992897d6798e2c
+mulx64 000df6b241dd45c1 0006bcf63e2fbf3d -> 0000005e16c6e733 5171399855339dfd
+mulx64 0008d24469947f91 000464f7852a566a -> 00000026c3bbd644 e2bd3d55dd21880a
+mulx64 0007028a17f7fc21 00037dac915ab5c5 -> 0000001878956550 3b6cfd601bb25a65
+mulx64 00042b77370e9574 000234911b32831c -> 00000009321fb53a 83504386e8bab4b0
+mulx64 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 00000005e806644f ccc15eb1699f0c9c
+mulx64 000232b89c5ca207 00010addcd657882 -> 000000024a9b5f54 1d434f615ac08f8e
+mulx64 0001bf185a53fb83 0000d7b2a9b6ab1d -> 0000000178b57b31 706978ec9ea5fed7
+mulx64 00011a1af9c2f08e 00008cae2719cda3 -> 000000009b06aa02 e9577861419ee06a
+mulx64 0000e0282bc137ba 00006fc61694404d -> 0000000061deddcf e1e41d5faa9442f2
+mulx64 0000854daa0b4caf 00004686be70612c -> 0000000024b96650 41aa1c3cf08f7d14
+mulx64 00006bcf63e2fc01 0000380a0af0025a -> 000000001799988e bb50185f2eb49a5a
+mulx64 0000464f7852a469 000021536a829879 -> 0000000009272787 700a9416e8000da1
+mulx64 000037dac915aa8f 00001af3d8f8abea -> 0000000005e16c6f ee02b2f029436bb6
+mulx64 0000234911b3280d 00001193de14a839 -> 00000000026c3bbe 45c76a13ea3072e5
+mulx64 00001c0a2862c244 00000df6b24569e5 -> 0000000001878956 7d2eeeb04659aad4
+mulx64 000010addcd6577a 000008d2446cc8f9 -> 00000000009321fb 1fa9b960904a65aa
+mulx64 00000d7b2a9b6ac9 000007028a18af7d -> 00000000005e8066 46e3e1f868ba8b25
+mulx64 000008cae2719cd4 0000042b77359960 -> 000000000024a9b5 f610e672d5398380
+mulx64 000006fc61694403 0000035ecaa6d9df -> 0000000000178b57 b2e940718d4ac99d
+mulx64 000004686be70610 00000232b89c662a -> 000000000009b06a a01d7062f2115ea0
+mulx64 00000380a0af0023 000001bf185a50b0 -> 0000000000061ded dcf4bd4b7ca90810
+mulx64 0000021536a82984 0000011a1af9c13b -> 0000000000024b96 64ff72482972156c
+mulx64 000001af3d8f8abd 000000e0282bc000 -> 0000000000017999 88ea98557dccc000
+mulx64 000001193de14a82 000000854daa0a5a -> 0000000000009272 7876efd9227145b4
+mulx64 000000df6b24569d 0000006bcf63e2b5 -> 0000000000005e16 c6fedf4246ded701
+mulx64 0000008d2446cc8e 000000464f7852a0 -> 00000000000026c3 bbe456f90e5554c0
+mulx64 0000007028a18af6 00000037dac915a7 -> 0000000000001878 9567ce8558edd47a
+mulx64 00000042b7735995 000000234911b322 -> 0000000000000932 1fb201b574da14ca
+mulx64 00000035ecaa6d9d 0000001c0a2862bc -> 00000000000005e8 06646c484da6994c
+mulx64 000000232b89c661 00000010addcd664 -> 000000000000024a 9b5f5fa8360293e4
+mulx64 0000001bf185a509 0000000d7b2a9b66 -> 0000000000000178 b57b2e0b8ca63496
+mulx64 00000011a1af9c11 00000008cae27197 -> 000000000000009b 06aa017a137a8f07
+mulx64 0000000e0282bbfd 00000006fc616943 -> 0000000000000061 deddcf368e2ef837
+mulx64 0000000854daa1a4 00000004686be704 -> 0000000000000024 b966544ecad18290
+mulx64 00000006bcf63eb9 0000000380a0aeff -> 0000000000000017 999890944b8a3847
+mulx64 0000000464f78590 000000021536a868 -> 0000000000000009 272789567094c280
+mulx64 000000037dac916c 00000001af3d8fad -> 0000000000000005 e16c7082cd9599fc
+mulx64 0000000234911b32 00000001193de163 -> 0000000000000002 6c3bbe7b39ee7656
+mulx64 00000001c0a2862b 00000000df6b2459 -> 0000000000000001 878956805c57b0f3
+mulx64 000000010addcd65 000000008d2446ca -> 0000000000000000 9321fb1cbc61afb2
+mulx64 00000000d7b2a9b5 000000007028a18a -> 0000000000000000 5e80664557525092
+mulx64 000000008cae2718 0000000042b77358 -> 0000000000000000 24a9b5f4b9953840
+mulx64 000000006fc61693 0000000035ecaa6c -> 0000000000000000 178b57b1f1132404
+mulx64 000000004686be6e 00000000232b89c5 -> 0000000000000000 09b06a9f681368a6
+mulx64 00000000380a0af2 000000001bf185a4 -> 0000000000000000 061deddcf1f0bd08
+mulx64 0000000021536a83 0000000011a1af9b -> 0000000000000000 024b9664e2b40a51
+mulx64 000000001af3d8f7 000000000e0282bb -> 0000000000000000 01799988b83aea6d
+mulx64 000000001193de15 000000000854daa0 -> 0000000000000000 009272786e6caf20
+mulx64 000000000df6b244 0000000006bcf63d -> 0000000000000000 005e16c6e505d234
+mulx64 0000000008d2446b 000000000464f784 -> 0000000000000000 0026c3bbd23a842c
+mulx64 0000000007028a18 00000000037dac90 -> 0000000000000000 001878955bedcd80
+mulx64 00000000042b7735 000000000234911a -> 0000000000000000 0009321fabb32062
+mulx64 00000000035ecaa5 0000000001c0a285 -> 0000000000000000 0005e8065d3bb1b9
+mulx64 000000000232b89b 00000000010addcc -> 0000000000000000 00024a9b5ad6ea84
+mulx64 0000000001bf185a 0000000000d7b2a8 -> 0000000000000000 000178b577ec8f10
+mulx64 00000000011a1af9 00000000008cae26 -> 0000000000000000 00009b06a8613ef6
+mulx64 0000000000e0282a 00000000006fc615 -> 0000000000000000 000061dedba9c772
+mulx64 0000000000854da9 00000000004686bd -> 0000000000000000 000024b96546cbc5
+mulx64 00000000006bcf62 0000000000380a0a -> 0000000000000000 0000179997bfedd4
+mulx64 0000000000464f77 0000000000215369 -> 0000000000000000 0000092726f12ccf
+mulx64 000000000037dac9 00000000001af3d7 -> 0000000000000000 000005e16bff89cf
+mulx64 0000000000234910 00000000001193de -> 0000000000000000 0000026c3b9d8be0
+mulx64 00000000001c0a27 00000000000df6b1 -> 0000000000000000 00000187891f7ef7
+mulx64 000000000010add9 000000000008d242 -> 0000000000000000 0000009321b0d3f2
+mulx64 00000000000d7b28 0000000000070287 -> 0000000000000000 0000005e802a4218
+mulx64 000000000008cae0 0000000000042b72 -> 0000000000000000 00000024a97df7c0
+mulx64 000000000006fc5f 0000000000035ec7 -> 0000000000000000 000000178b360fd9
+mulx64 0000000000046871 00000000000232b3 -> 0000000000000000 00000009b05d1903
+mulx64 000000000003809d 000000000001bf16 -> 0000000000000000 000000061ddf307e
+mulx64 000000000002152c 0000000000011a1b -> 0000000000000000 000000024b8ab3a4
+mulx64 000000000001af3b 000000000000e027 -> 0000000000000000 00000001799551fd
+mulx64 000000000001193c 000000000000854a -> 0000000000000000 00000000926d7758
+mulx64 000000000000df6a 0000000000006bce -> 0000000000000000 000000005e15154c
+mulx64 0000000000008d23 000000000000464e -> 0000000000000000 0000000026c292aa
+mulx64 0000000000007026 00000000000037d9 -> 0000000000000000 0000000018773a36
+mulx64 00000000000042b3 0000000000002347 -> 0000000000000000 000000000930f8a5
+mulx64 00000000000035e9 0000000000001c06 -> 0000000000000000 0000000005e6bf76
+mulx64 0000000000002329 00000000000010a9 -> 0000000000000000 000000000249c611
+mulx64 0000000000001bef 0000000000000d78 -> 0000000000000000 0000000001783b08
+mulx64 00000000000011a3 00000000000008c8 -> 0000000000000000 00000000009adf58
+mulx64 0000000000000e02 00000000000006fa -> 0000000000000000 000000000061b9f4
+mulx64 0000000000000853 0000000000000468 -> 0000000000000000 000000000024adb8
+mulx64 00000000000006ba 0000000000000380 -> 0000000000000000 0000000000178b00
+mulx64 0000000000000464 0000000000000214 -> 0000000000000000 0000000000091fd0
+mulx64 000000000000037d 00000000000001ae -> 0000000000000000 000000000005dbf6
+mulx64 0000000000000233 0000000000000118 -> 0000000000000000 00000000000267c8
+mulx64 00000000000001be 00000000000000de -> 0000000000000000 00000000000182c4
+mulx64 0000000000000119 000000000000008c -> 0000000000000000 00000000000099ac
+mulx64 00000000000000de 000000000000006f -> 0000000000000000 0000000000006042
+mulx64 000000000000008c 0000000000000045 -> 0000000000000000 00000000000025bc
+mulx64 000000000000006f 0000000000000037 -> 0000000000000000 00000000000017d9
+mulx64 0000000000000045 0000000000000022 -> 0000000000000000 000000000000092a
+mulx64 0000000000000037 000000000000001b -> 0000000000000000 00000000000005cd
+mulx64 0000000000000022 0000000000000010 -> 0000000000000000 0000000000000220
+mulx64 000000000000001b 000000000000000c -> 0000000000000000 0000000000000144
+mulx64 0000000000000010 0000000000000007 -> 0000000000000000 0000000000000070
+mulx64 000000000000000c 0000000000000003 -> 0000000000000000 0000000000000024
+mulx64 0000000000000007 0000000000000001 -> 0000000000000000 0000000000000007
+mulx64 0000000000000003 0000000000000000 -> 0000000000000000 0000000000000000
+mulx64 0000000000000001 0000000000000000 -> 0000000000000000 0000000000000000
+mulx64 0000000000000000 0000000000000000 -> 0000000000000000 0000000000000000
+mulx32 fedc192837475675 57657438291cdef0 -> 0000000008e0a8c9 00000000e1a683b0
+mulx32 8efcf23ad7e922f3 452015034e67c955 -> 0000000042209140 00000000d69e65af
+mulx32 7068b90cdf850938 37e901ef56b302d6 -> 000000004bb2fd98 00000000257024d0
+mulx32 42db3e5ed85503a5 2348b20e142667cf -> 00000000110718a0 000000008fb3556b
+mulx32 35eea72efbea67d7 1c09d34c26e1c212 -> 000000002642f368 0000000087233b1e
+mulx32 232c23d3b476ef47 10ad37922d51847f -> 000000001ff25f18 000000000ad85039
+mulx32 1bf0c1bf27fbb3ab 0d7b015093984564 -> 00000000170d5074 00000000544745cc
+mulx32 11a1311a29a562ea 08cac1103a60926a -> 00000000097f2e3f 00000000aca468e4
+mulx32 0e02582b8350ffd0 06fc5681c8cd2b10 -> 00000000670085ce 000000002997ed00
+mulx32 0854b4408f5b9e17 04687224d51a87fa -> 00000000775615fc 00000000812c8376
+mulx32 06bcf33434328063 03809eacb986283a -> 0000000025d3d96a 0000000076528e6e
+mulx32 0464f596e5f3ab8a 02152e09a7eb825e -> 0000000096d580af 00000000aa4310ac
+mulx32 037dac8063df281c 01af3c969c7725a6 -> 000000003d0a77dc 00000000b8840e28
+mulx32 0234910d6d0cfe89 01193d5aad28c013 -> 0000000049c323dc 000000003145a42b
+mulx32 01c0a27d7eaa2575 00df6b2373776c4a -> 000000003921857f 000000005d5f2fd2
+mulx32 010adda943af43d8 008d24457d4341d1 -> 00000000211e5c65 00000000fbd83b58
+mulx32 00d7b2ae8c91c8ce 007028a17fc8b89e -> 00000000462a89e2 000000009d3dff24
+mulx32 008cae284a0c2065 0042b77370e42ef0 -> 0000000020a74e8c 00000000a32484b0
+mulx32 006fc6190eb4fc04 0035ecaa6c888c28 -> 00000000063c3284 00000000d83990a0
+mulx32 004686bd6e829ce5 00232b89c5c8c9b6 -> 0000000055612fd9 00000000e9f357ce
+mulx32 00380a0b248034f1 001bf185a53e82dc -> 00000000178f8bd4 00000000a06de11c
+mulx32 0021536a650d4fc6 0011a1af9c2edaa2 -> 000000003da69b4e 0000000045ef174c
+mulx32 001af3d8d0c8c068 000e0282bc13b27b -> 0000000099637dc2 000000008df4c1f8
+mulx32 001193de10460316 000854daa0b4cc02 -> 000000000a37401f 00000000d6798e2c
+mulx32 000df6b241dd45c1 0006bcf63e2fbf3d -> 000000000fffdfb8 0000000055339dfd
+mulx32 0008d24469947f91 000464f7852a566a -> 0000000036eb9c46 00000000dd21880a
+mulx32 0007028a17f7fc21 00037dac915ab5c5 -> 000000000d9bf402 000000001bb25a65
+mulx32 00042b77370e9574 000234911b32831c -> 0000000005d966ce 00000000e8bab4b0
+mulx32 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 000000005769ddaf 00000000699f0c9c
+mulx32 000232b89c5ca207 00010addcd657882 -> 000000007d7427e6 000000005ac08f8e
+mulx32 0001bf185a53fb83 0000d7b2a9b6ab1d -> 000000003be1e51e 000000009ea5fed7
+mulx32 00011a1af9c2f08e 00008cae2719cda3 -> 000000002625df4f 00000000419ee06a
+mulx32 0000e0282bc137ba 00006fc61694404d -> 0000000003dbf17b 00000000aa9442f2
+mulx32 0000854daa0b4caf 00004686be70612c -> 000000007e7f0866 00000000f08f7d14
+mulx32 00006bcf63e2fc01 0000380a0af0025a -> 000000000444838f 000000002eb49a5a
+mulx32 0000464f7852a469 000021536a829879 -> 00000000320f99b4 00000000e8000da1
+mulx32 000037dac915aa8f 00001af3d8f8abea -> 00000000aa6d9bef 0000000029436bb6
+mulx32 0000234911b3280d 00001193de14a839 -> 000000000f5aca5b 00000000ea3072e5
+mulx32 00001c0a2862c244 00000df6b24569e5 -> 000000001c1f9e66 000000004659aad4
+mulx32 000010addcd6577a 000008d2446cc8f9 -> 000000003b06c707 00000000904a65aa
+mulx32 00000d7b2a9b6ac9 000007028a18af7d -> 0000000016fbe357 0000000068ba8b25
+mulx32 000008cae2719cd4 0000042b77359960 -> 0000000069723916 00000000d5398380
+mulx32 000006fc61694403 0000035ecaa6d9df -> 000000004d1c8cd3 000000008d4ac99d
+mulx32 000004686be70610 00000232b89c662a -> 000000004dcff832 00000000f2115ea0
+mulx32 00000380a0af0023 000001bf185a50b0 -> 000000000f49182e 000000007ca90810
+mulx32 0000021536a82984 0000011a1af9c13b -> 0000000005c26709 000000002972156c
+mulx32 000001af3d8f8abd 000000e0282bc000 -> 0000000009a8f2f5 000000007dccc000
+mulx32 000001193de14a82 000000854daa0a5a -> 0000000012c5dd85 00000000227145b4
+mulx32 000000df6b24569d 0000006bcf63e2b5 -> 0000000056cc2ff8 0000000046ded701
+mulx32 0000008d2446cc8e 000000464f7852a0 -> 000000000b42e605 000000000e5554c0
+mulx32 0000007028a18af6 00000037dac915a7 -> 0000000022b97a9b 0000000058edd47a
+mulx32 00000042b7735995 000000234911b322 -> 00000000345c9392 0000000074da14ca
+mulx32 00000035ecaa6d9d 0000001c0a2862bc -> 000000000963fe30 000000004da6994c
+mulx32 000000232b89c661 00000010addcd664 -> 000000001d91a9ec 00000000360293e4
+mulx32 0000001bf185a509 0000000d7b2a9b66 -> 00000000743368d4 000000008ca63496
+mulx32 00000011a1af9c11 00000008cae27197 -> 00000000802395eb 00000000137a8f07
+mulx32 0000000e0282bbfd 00000006fc616943 -> 000000000279a59e 000000008e2ef837
+mulx32 0000000854daa1a4 00000004686be704 -> 00000000229c959e 00000000cad18290
+mulx32 00000006bcf63eb9 0000000380a0aeff -> 000000005ef1ba6f 000000004b8a3847
+mulx32 0000000464f78590 000000021536a868 -> 00000000085ddc96 000000007094c280
+mulx32 000000037dac916c 00000001af3d8fad -> 000000005607300f 00000000cd9599fc
+mulx32 0000000234911b32 00000001193de163 -> 00000000052ee083 0000000039ee7656
+mulx32 00000001c0a2862b 00000000df6b2459 -> 00000000a81e3227 000000005c57b0f3
+mulx32 000000010addcd65 000000008d2446ca -> 0000000005fdb452 00000000bc61afb2
+mulx32 00000000d7b2a9b5 000000007028a18a -> 000000005e806645 0000000057525092
+mulx32 000000008cae2718 0000000042b77358 -> 0000000024a9b5f4 00000000b9953840
+mulx32 000000006fc61693 0000000035ecaa6c -> 00000000178b57b1 00000000f1132404
+mulx32 000000004686be6e 00000000232b89c5 -> 0000000009b06a9f 00000000681368a6
+mulx32 00000000380a0af2 000000001bf185a4 -> 00000000061deddc 00000000f1f0bd08
+mulx32 0000000021536a83 0000000011a1af9b -> 00000000024b9664 00000000e2b40a51
+mulx32 000000001af3d8f7 000000000e0282bb -> 0000000001799988 00000000b83aea6d
+mulx32 000000001193de15 000000000854daa0 -> 0000000000927278 000000006e6caf20
+mulx32 000000000df6b244 0000000006bcf63d -> 00000000005e16c6 00000000e505d234
+mulx32 0000000008d2446b 000000000464f784 -> 000000000026c3bb 00000000d23a842c
+mulx32 0000000007028a18 00000000037dac90 -> 0000000000187895 000000005bedcd80
+mulx32 00000000042b7735 000000000234911a -> 000000000009321f 00000000abb32062
+mulx32 00000000035ecaa5 0000000001c0a285 -> 000000000005e806 000000005d3bb1b9
+mulx32 000000000232b89b 00000000010addcc -> 0000000000024a9b 000000005ad6ea84
+mulx32 0000000001bf185a 0000000000d7b2a8 -> 00000000000178b5 0000000077ec8f10
+mulx32 00000000011a1af9 00000000008cae26 -> 0000000000009b06 00000000a8613ef6
+mulx32 0000000000e0282a 00000000006fc615 -> 00000000000061de 00000000dba9c772
+mulx32 0000000000854da9 00000000004686bd -> 00000000000024b9 000000006546cbc5
+mulx32 00000000006bcf62 0000000000380a0a -> 0000000000001799 0000000097bfedd4
+mulx32 0000000000464f77 0000000000215369 -> 0000000000000927 0000000026f12ccf
+mulx32 000000000037dac9 00000000001af3d7 -> 00000000000005e1 000000006bff89cf
+mulx32 0000000000234910 00000000001193de -> 000000000000026c 000000003b9d8be0
+mulx32 00000000001c0a27 00000000000df6b1 -> 0000000000000187 00000000891f7ef7
+mulx32 000000000010add9 000000000008d242 -> 0000000000000093 0000000021b0d3f2
+mulx32 00000000000d7b28 0000000000070287 -> 000000000000005e 00000000802a4218
+mulx32 000000000008cae0 0000000000042b72 -> 0000000000000024 00000000a97df7c0
+mulx32 000000000006fc5f 0000000000035ec7 -> 0000000000000017 000000008b360fd9
+mulx32 0000000000046871 00000000000232b3 -> 0000000000000009 00000000b05d1903
+mulx32 000000000003809d 000000000001bf16 -> 0000000000000006 000000001ddf307e
+mulx32 000000000002152c 0000000000011a1b -> 0000000000000002 000000004b8ab3a4
+mulx32 000000000001af3b 000000000000e027 -> 0000000000000001 00000000799551fd
+mulx32 000000000001193c 000000000000854a -> 0000000000000000 00000000926d7758
+mulx32 000000000000df6a 0000000000006bce -> 0000000000000000 000000005e15154c
+mulx32 0000000000008d23 000000000000464e -> 0000000000000000 0000000026c292aa
+mulx32 0000000000007026 00000000000037d9 -> 0000000000000000 0000000018773a36
+mulx32 00000000000042b3 0000000000002347 -> 0000000000000000 000000000930f8a5
+mulx32 00000000000035e9 0000000000001c06 -> 0000000000000000 0000000005e6bf76
+mulx32 0000000000002329 00000000000010a9 -> 0000000000000000 000000000249c611
+mulx32 0000000000001bef 0000000000000d78 -> 0000000000000000 0000000001783b08
+mulx32 00000000000011a3 00000000000008c8 -> 0000000000000000 00000000009adf58
+mulx32 0000000000000e02 00000000000006fa -> 0000000000000000 000000000061b9f4
+mulx32 0000000000000853 0000000000000468 -> 0000000000000000 000000000024adb8
+mulx32 00000000000006ba 0000000000000380 -> 0000000000000000 0000000000178b00
+mulx32 0000000000000464 0000000000000214 -> 0000000000000000 0000000000091fd0
+mulx32 000000000000037d 00000000000001ae -> 0000000000000000 000000000005dbf6
+mulx32 0000000000000233 0000000000000118 -> 0000000000000000 00000000000267c8
+mulx32 00000000000001be 00000000000000de -> 0000000000000000 00000000000182c4
+mulx32 0000000000000119 000000000000008c -> 0000000000000000 00000000000099ac
+mulx32 00000000000000de 000000000000006f -> 0000000000000000 0000000000006042
+mulx32 000000000000008c 0000000000000045 -> 0000000000000000 00000000000025bc
+mulx32 000000000000006f 0000000000000037 -> 0000000000000000 00000000000017d9
+mulx32 0000000000000045 0000000000000022 -> 0000000000000000 000000000000092a
+mulx32 0000000000000037 000000000000001b -> 0000000000000000 00000000000005cd
+mulx32 0000000000000022 0000000000000010 -> 0000000000000000 0000000000000220
+mulx32 000000000000001b 000000000000000c -> 0000000000000000 0000000000000144
+mulx32 0000000000000010 0000000000000007 -> 0000000000000000 0000000000000070
+mulx32 000000000000000c 0000000000000003 -> 0000000000000000 0000000000000024
+mulx32 0000000000000007 0000000000000001 -> 0000000000000000 0000000000000007
+mulx32 0000000000000003 0000000000000000 -> 0000000000000000 0000000000000000
+mulx32 0000000000000001 0000000000000000 -> 0000000000000000 0000000000000000
+mulx32 0000000000000000 0000000000000000 -> 0000000000000000 0000000000000000
+sarx64 fedc192837475675 57657438291cdef0 -> 00000000000002bb
+sarx64 8efcf23ad7e922f3 452015034e67c955 -> 00000000000008a4
+sarx64 7068b90cdf850938 37e901ef56b302d6 -> 0000000000000037
+sarx64 42db3e5ed85503a5 2348b20e142667cf -> 00000000011a4590
+sarx64 35eea72efbea67d7 1c09d34c26e1c212 -> 0000003813a6984d
+sarx64 232c23d3b476ef47 10ad37922d51847f -> 00215a6f245aa308
+sarx64 1bf0c1bf27fbb3ab 0d7b015093984564 -> 000000000001af60
+sarx64 11a1311a29a562ea 08cac1103a60926a -> 00000000000232b0
+sarx64 0e02582b8350ffd0 06fc5681c8cd2b10 -> 000006fc5681c8cd
+sarx64 0854b4408f5b9e17 04687224d51a87fa -> 00000008d0e449aa
+sarx64 06bcf33434328063 03809eacb986283a -> 00000000007013d5
+sarx64 0464f596e5f3ab8a 02152e09a7eb825e -> 0000854b8269fae0
+sarx64 037dac8063df281c 01af3c969c7725a6 -> 000000001af3c969
+sarx64 0234910d6d0cfe89 01193d5aad28c013 -> 00008c9ead569460
+sarx64 01c0a27d7eaa2575 00df6b2373776c4a -> 0000000000000006
+sarx64 010adda943af43d8 008d24457d4341d1 -> 000000008d24457d
+sarx64 00d7b2ae8c91c8ce 007028a17fc8b89e -> 000001c0a285ff22
+sarx64 008cae284a0c2065 0042b77370e42ef0 -> 00000000000215bb
+sarx64 006fc6190eb4fc04 0035ecaa6c888c28 -> 00035ecaa6c888c2
+sarx64 004686bd6e829ce5 00232b89c5c8c9b6 -> 000000000001195c
+sarx64 00380a0b248034f1 001bf185a53e82dc -> 000000000000000d
+sarx64 0021536a650d4fc6 0011a1af9c2edaa2 -> 00004686be70bb6a
+sarx64 001af3d8d0c8c068 000e0282bc13b27b -> 0000000000000e02
+sarx64 001193de10460316 000854daa0b4cc02 -> 0000000021536a82
+sarx64 000df6b241dd45c1 0006bcf63e2fbf3d -> 00035e7b1f17df9e
+sarx64 0008d24469947f91 000464f7852a566a -> 00000002327bc295
+sarx64 0007028a17f7fc21 00037dac915ab5c5 -> 000000000001bed6
+sarx64 00042b77370e9574 000234911b32831c -> 0000000000000000
+sarx64 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 00000000001c0a28
+sarx64 000232b89c5ca207 00010addcd657882 -> 00000215bb9acaf1
+sarx64 0001bf185a53fb83 0000d7b2a9b6ab1d -> 00001af65536d563
+sarx64 00011a1af9c2f08e 00008cae2719cda3 -> 0000000232b89c67
+sarx64 0000e0282bc137ba 00006fc61694404d -> 0000000000000000
+sarx64 0000854daa0b4caf 00004686be70612c -> 0000000000000000
+sarx64 00006bcf63e2fc01 0000380a0af0025a -> 00001c050578012d
+sarx64 0000464f7852a469 000021536a829879 -> 0000000000000010
+sarx64 000037dac915aa8f 00001af3d8f8abea -> 0000000035e7b1f1
+sarx64 0000234911b3280d 00001193de14a839 -> 000000008c9ef0a5
+sarx64 00001c0a2862c244 00000df6b24569e5 -> 000000df6b24569e
+sarx64 000010addcd6577a 000008d2446cc8f9 -> 0000000000000000
+sarx64 00000d7b2a9b6ac9 000007028a18af7d -> 0000000381450c57
+sarx64 000008cae2719cd4 0000042b77359960 -> 000000000042b773
+sarx64 000006fc61694403 0000035ecaa6d9df -> 0000006bd954db3b
+sarx64 000004686be70610 00000232b89c662a -> 000000000232b89c
+sarx64 00000380a0af0023 000001bf185a50b0 -> 0000000000000037
+sarx64 0000021536a82984 0000011a1af9c13b -> 00000011a1af9c13
+sarx64 000001af3d8f8abd 000000e0282bc000 -> 0000000000000000
+sarx64 000001193de14a82 000000854daa0a5a -> 00000021536a8296
+sarx64 000000df6b24569d 0000006bcf63e2b5 -> 000000000000035e
+sarx64 0000008d2446cc8e 000000464f7852a0 -> 0000000001193de1
+sarx64 0000007028a18af6 00000037dac915a7 -> 0000000000000000
+sarx64 00000042b7735995 000000234911b322 -> 0000000000011a48
+sarx64 00000035ecaa6d9d 0000001c0a2862bc -> 00000000000000e0
+sarx64 000000232b89c661 00000010addcd664 -> 0000000000000008
+sarx64 0000001bf185a509 0000000d7b2a9b66 -> 0000000006bd954d
+sarx64 00000011a1af9c11 00000008cae27197 -> 0000000000046571
+sarx64 0000000e0282bbfd 00000006fc616943 -> 0000000000000000
+sarx64 0000000854daa1a4 00000004686be704 -> 0000000000000000
+sarx64 00000006bcf63eb9 0000000380a0aeff -> 0000000000000000
+sarx64 0000000464f78590 000000021536a868 -> 0000000000021536
+sarx64 000000037dac916c 00000001af3d8fad -> 0000000000000000
+sarx64 0000000234911b32 00000001193de163 -> 0000000000000000
+sarx64 00000001c0a2862b 00000000df6b2459 -> 0000000000000000
+sarx64 000000010addcd65 000000008d2446ca -> 0000000000000000
+sarx64 00000000d7b2a9b5 000000007028a18a -> 0000000000000000
+sarx64 000000008cae2718 0000000042b77358 -> 0000000000000042
+sarx64 000000006fc61693 0000000035ecaa6c -> 00000000000006bd
+sarx64 000000004686be6e 00000000232b89c5 -> 0000000000000000
+sarx64 00000000380a0af2 000000001bf185a4 -> 0000000000000000
+sarx64 0000000021536a83 0000000011a1af9b -> 00000000023435f3
+sarx64 000000001af3d8f7 000000000e0282bb -> 0000000000000000
+sarx64 000000001193de15 000000000854daa0 -> 0000000000000042
+sarx64 000000000df6b244 0000000006bcf63d -> 00000000006bcf63
+sarx64 0000000008d2446b 000000000464f784 -> 0000000000000000
+sarx64 0000000007028a18 00000000037dac90 -> 0000000000000003
+sarx64 00000000042b7735 000000000234911a -> 0000000000000000
+sarx64 00000000035ecaa5 0000000001c0a285 -> 0000000000000000
+sarx64 000000000232b89b 00000000010addcc -> 0000000000000000
+sarx64 0000000001bf185a 0000000000d7b2a8 -> 0000000000000000
+sarx64 00000000011a1af9 00000000008cae26 -> 0000000000000000
+sarx64 0000000000e0282a 00000000006fc615 -> 0000000000000000
+sarx64 0000000000854da9 00000000004686bd -> 0000000000000000
+sarx64 00000000006bcf62 0000000000380a0a -> 0000000000000000
+sarx64 0000000000464f77 0000000000215369 -> 0000000000000000
+sarx64 000000000037dac9 00000000001af3d7 -> 0000000000000d79
+sarx64 0000000000234910 00000000001193de -> 0000000000000011
+sarx64 00000000001c0a27 00000000000df6b1 -> 0000000000000000
+sarx64 000000000010add9 000000000008d242 -> 0000000000000000
+sarx64 00000000000d7b28 0000000000070287 -> 0000000000000000
+sarx64 000000000008cae0 0000000000042b72 -> 0000000000000000
+sarx64 000000000006fc5f 0000000000035ec7 -> 0000000000000000
+sarx64 0000000000046871 00000000000232b3 -> 0000000000000000
+sarx64 000000000003809d 000000000001bf16 -> 0000000000000000
+sarx64 000000000002152c 0000000000011a1b -> 0000000000000000
+sarx64 000000000001af3b 000000000000e027 -> 0000000000000000
+sarx64 000000000001193c 000000000000854a -> 0000000000000000
+sarx64 000000000000df6a 0000000000006bce -> 0000000000000000
+sarx64 0000000000008d23 000000000000464e -> 0000000000000000
+sarx64 0000000000007026 00000000000037d9 -> 0000000000000000
+sarx64 00000000000042b3 0000000000002347 -> 0000000000000000
+sarx64 00000000000035e9 0000000000001c06 -> 0000000000000000
+sarx64 0000000000002329 00000000000010a9 -> 0000000000000000
+sarx64 0000000000001bef 0000000000000d78 -> 0000000000000000
+sarx64 00000000000011a3 00000000000008c8 -> 0000000000000000
+sarx64 0000000000000e02 00000000000006fa -> 00000000000001be
+sarx64 0000000000000853 0000000000000468 -> 0000000000000000
+sarx64 00000000000006ba 0000000000000380 -> 0000000000000000
+sarx64 0000000000000464 0000000000000214 -> 0000000000000000
+sarx64 000000000000037d 00000000000001ae -> 0000000000000000
+sarx64 0000000000000233 0000000000000118 -> 0000000000000000
+sarx64 00000000000001be 00000000000000de -> 0000000000000000
+sarx64 0000000000000119 000000000000008c -> 0000000000000000
+sarx64 00000000000000de 000000000000006f -> 0000000000000000
+sarx64 000000000000008c 0000000000000045 -> 0000000000000000
+sarx64 000000000000006f 0000000000000037 -> 0000000000000000
+sarx64 0000000000000045 0000000000000022 -> 0000000000000001
+sarx64 0000000000000037 000000000000001b -> 0000000000000000
+sarx64 0000000000000022 0000000000000010 -> 0000000000000000
+sarx64 000000000000001b 000000000000000c -> 0000000000000000
+sarx64 0000000000000010 0000000000000007 -> 0000000000000000
+sarx64 000000000000000c 0000000000000003 -> 0000000000000000
+sarx64 0000000000000007 0000000000000001 -> 0000000000000000
+sarx64 0000000000000003 0000000000000000 -> 0000000000000000
+sarx64 0000000000000001 0000000000000000 -> 0000000000000000
+sarx64 0000000000000000 0000000000000000 -> 0000000000000000
+sarx32 fedc192837475675 57657438291cdef0 -> 0000000000000148
+sarx32 8efcf23ad7e922f3 452015034e67c955 -> 00000000000009cc
+sarx32 7068b90cdf850938 37e901ef56b302d6 -> 0000000000000056
+sarx32 42db3e5ed85503a5 2348b20e142667cf -> 0000000000a1333e
+sarx32 35eea72efbea67d7 1c09d34c26e1c212 -> 000000000000004d
+sarx32 232c23d3b476ef47 10ad37922d51847f -> 00000000005aa308
+sarx32 1bf0c1bf27fbb3ab 0d7b015093984564 -> 00000000fff27308
+sarx32 11a1311a29a562ea 08cac1103a60926a -> 00000000000e9824
+sarx32 0e02582b8350ffd0 06fc5681c8cd2b10 -> 00000000ffffc8cd
+sarx32 0854b4408f5b9e17 04687224d51a87fa -> 00000000ffffffaa
+sarx32 06bcf33434328063 03809eacb986283a -> 00000000f730c507
+sarx32 0464f596e5f3ab8a 02152e09a7eb825e -> 00000000ffe9fae0
+sarx32 037dac8063df281c 01af3c969c7725a6 -> 00000000fffffff9
+sarx32 0234910d6d0cfe89 01193d5aad28c013 -> 00000000ffd69460
+sarx32 01c0a27d7eaa2575 00df6b2373776c4a -> 000000000000039b
+sarx32 010adda943af43d8 008d24457d4341d1 -> 000000000000007d
+sarx32 00d7b2ae8c91c8ce 007028a17fc8b89e -> 000000000001ff22
+sarx32 008cae284a0c2065 0042b77370e42ef0 -> 0000000003872177
+sarx32 006fc6190eb4fc04 0035ecaa6c888c28 -> 0000000006c888c2
+sarx32 004686bd6e829ce5 00232b89c5c8c9b6 -> 00000000fe2e464d
+sarx32 00380a0b248034f1 001bf185a53e82dc -> 00000000ffffd29f
+sarx32 0021536a650d4fc6 0011a1af9c2edaa2 -> 00000000fe70bb6a
+sarx32 001af3d8d0c8c068 000e0282bc13b27b -> 00000000ffbc13b2
+sarx32 001193de10460316 000854daa0b4cc02 -> 00000000fffffe82
+sarx32 000df6b241dd45c1 0006bcf63e2fbf3d -> 000000001f17df9e
+sarx32 0008d24469947f91 000464f7852a566a -> 00000000ffffc295
+sarx32 0007028a17f7fc21 00037dac915ab5c5 -> 00000000c8ad5ae2
+sarx32 00042b77370e9574 000234911b32831c -> 00000000000001b3
+sarx32 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 00000000fffffff8
+sarx32 000232b89c5ca207 00010addcd657882 -> 00000000ff9acaf1
+sarx32 0001bf185a53fb83 0000d7b2a9b6ab1d -> 00000000f536d563
+sarx32 00011a1af9c2f08e 00008cae2719cda3 -> 0000000000009c67
+sarx32 0000e0282bc137ba 00006fc61694404d -> 0000000000000005
+sarx32 0000854daa0b4caf 00004686be70612c -> 00000000ffff7ce0
+sarx32 00006bcf63e2fc01 0000380a0af0025a -> 000000000578012d
+sarx32 0000464f7852a469 000021536a829879 -> 000000000035414c
+sarx32 000037dac915aa8f 00001af3d8f8abea -> 00000000ffffb1f1
+sarx32 0000234911b3280d 00001193de14a839 -> 00000000fffef0a5
+sarx32 00001c0a2862c244 00000df6b24569e5 -> 00000000fb24569e
+sarx32 000010addcd6577a 000008d2446cc8f9 -> 0000000000000011
+sarx32 00000d7b2a9b6ac9 000007028a18af7d -> 00000000ffc50c57
+sarx32 000008cae2719cd4 0000042b77359960 -> 0000000000000773
+sarx32 000006fc61694403 0000035ecaa6d9df -> 00000000f954db3b
+sarx32 000004686be70610 00000232b89c662a -> 00000000ffffb89c
+sarx32 00000380a0af0023 000001bf185a50b0 -> 00000000030b4a16
+sarx32 0000021536a82984 0000011a1af9c13b -> 0000000001af9c13
+sarx32 000001af3d8f8abd 000000e0282bc000 -> 0000000000000001
+sarx32 000001193de14a82 000000854daa0a5a -> 00000000136a8296
+sarx32 000000df6b24569d 0000006bcf63e2b5 -> 00000000fffffffe
+sarx32 0000008d2446cc8e 000000464f7852a0 -> 0000000000013de1
+sarx32 0000007028a18af6 00000037dac915a7 -> 00000000ffffff6b
+sarx32 00000042b7735995 000000234911b322 -> 0000000000000248
+sarx32 00000035ecaa6d9d 0000001c0a2862bc -> 0000000000000000
+sarx32 000000232b89c661 00000010addcd664 -> 00000000d6ee6b32
+sarx32 0000001bf185a509 0000000d7b2a9b66 -> 00000000003d954d
+sarx32 00000011a1af9c11 00000008cae27197 -> 00000000ffffe571
+sarx32 0000000e0282bbfd 00000006fc616943 -> 00000000ffffffff
+sarx32 0000000854daa1a4 00000004686be704 -> 000000000686be70
+sarx32 00000006bcf63eb9 0000000380a0aeff -> 00000000ffffffc0
+sarx32 0000000464f78590 000000021536a868 -> 0000000000001536
+sarx32 000000037dac916c 00000001af3d8fad -> 00000000fffaf3d8
+sarx32 0000000234911b32 00000001193de163 -> 000000000000064f
+sarx32 00000001c0a2862b 00000000df6b2459 -> 00000000fffbed64
+sarx32 000000010addcd65 000000008d2446ca -> 00000000fc692236
+sarx32 00000000d7b2a9b5 000000007028a18a -> 0000000000000381
+sarx32 000000008cae2718 0000000042b77358 -> 0000000000000042
+sarx32 000000006fc61693 0000000035ecaa6c -> 00000000000006bd
+sarx32 000000004686be6e 00000000232b89c5 -> 0000000000008cae
+sarx32 00000000380a0af2 000000001bf185a4 -> 00000000000006fc
+sarx32 0000000021536a83 0000000011a1af9b -> 00000000023435f3
+sarx32 000000001af3d8f7 000000000e0282bb -> 000000000000001c
+sarx32 000000001193de15 000000000854daa0 -> 0000000000000042
+sarx32 000000000df6b244 0000000006bcf63d -> 00000000006bcf63
+sarx32 0000000008d2446b 000000000464f784 -> 0000000000008c9e
+sarx32 0000000007028a18 00000000037dac90 -> 0000000000000003
+sarx32 00000000042b7735 000000000234911a -> 0000000000000011
+sarx32 00000000035ecaa5 0000000001c0a285 -> 00000000000e0514
+sarx32 000000000232b89b 00000000010addcc -> 0000000000000000
+sarx32 0000000001bf185a 0000000000d7b2a8 -> 0000000000000000
+sarx32 00000000011a1af9 00000000008cae26 -> 0000000000000000
+sarx32 0000000000e0282a 00000000006fc615 -> 0000000000001bf1
+sarx32 0000000000854da9 00000000004686bd -> 0000000000002343
+sarx32 00000000006bcf62 0000000000380a0a -> 00000000000e0282
+sarx32 0000000000464f77 0000000000215369 -> 0000000000000000
+sarx32 000000000037dac9 00000000001af3d7 -> 0000000000000d79
+sarx32 0000000000234910 00000000001193de -> 0000000000000011
+sarx32 00000000001c0a27 00000000000df6b1 -> 0000000000001bed
+sarx32 000000000010add9 000000000008d242 -> 0000000000000000
+sarx32 00000000000d7b28 0000000000070287 -> 0000000000000702
+sarx32 000000000008cae0 0000000000042b72 -> 0000000000042b72
+sarx32 000000000006fc5f 0000000000035ec7 -> 0000000000000000
+sarx32 0000000000046871 00000000000232b3 -> 0000000000000001
+sarx32 000000000003809d 000000000001bf16 -> 0000000000000000
+sarx32 000000000002152c 0000000000011a1b -> 0000000000000011
+sarx32 000000000001af3b 000000000000e027 -> 0000000000000000
+sarx32 000000000001193c 000000000000854a -> 0000000000000000
+sarx32 000000000000df6a 0000000000006bce -> 000000000000001a
+sarx32 0000000000008d23 000000000000464e -> 00000000000008c9
+sarx32 0000000000007026 00000000000037d9 -> 00000000000000df
+sarx32 00000000000042b3 0000000000002347 -> 0000000000000000
+sarx32 00000000000035e9 0000000000001c06 -> 000000000000000e
+sarx32 0000000000002329 00000000000010a9 -> 0000000000000008
+sarx32 0000000000001bef 0000000000000d78 -> 0000000000000000
+sarx32 00000000000011a3 00000000000008c8 -> 0000000000000119
+sarx32 0000000000000e02 00000000000006fa -> 00000000000001be
+sarx32 0000000000000853 0000000000000468 -> 0000000000000000
+sarx32 00000000000006ba 0000000000000380 -> 0000000000000000
+sarx32 0000000000000464 0000000000000214 -> 0000000000000021
+sarx32 000000000000037d 00000000000001ae -> 0000000000000000
+sarx32 0000000000000233 0000000000000118 -> 0000000000000000
+sarx32 00000000000001be 00000000000000de -> 0000000000000000
+sarx32 0000000000000119 000000000000008c -> 0000000000000000
+sarx32 00000000000000de 000000000000006f -> 0000000000000000
+sarx32 000000000000008c 0000000000000045 -> 0000000000000000
+sarx32 000000000000006f 0000000000000037 -> 0000000000000000
+sarx32 0000000000000045 0000000000000022 -> 0000000000000001
+sarx32 0000000000000037 000000000000001b -> 0000000000000000
+sarx32 0000000000000022 0000000000000010 -> 0000000000000004
+sarx32 000000000000001b 000000000000000c -> 0000000000000000
+sarx32 0000000000000010 0000000000000007 -> 0000000000000000
+sarx32 000000000000000c 0000000000000003 -> 0000000000000000
+sarx32 0000000000000007 0000000000000001 -> 0000000000000000
+sarx32 0000000000000003 0000000000000000 -> 0000000000000000
+sarx32 0000000000000001 0000000000000000 -> 0000000000000000
+sarx32 0000000000000000 0000000000000000 -> 0000000000000000
+shlx64 fedc192837475675 57657438291cdef0 -> de00000000000000
+shlx64 8efcf23ad7e922f3 452015034e67c955 -> 4aa8000000000000
+shlx64 7068b90cdf850938 37e901ef56b302d6 -> d600000000000000
+shlx64 42db3e5ed85503a5 2348b20e142667cf -> 84ccf9e000000000
+shlx64 35eea72efbea67d7 1c09d34c26e1c212 -> a61370e109000000
+shlx64 232c23d3b476ef47 10ad37922d51847f -> 569bc916a8c23f80
+shlx64 1bf0c1bf27fbb3ab 0d7b015093984564 -> c22b200000000000
+shlx64 11a1311a29a562ea 08cac1103a60926a -> 8249a80000000000
+shlx64 0e02582b8350ffd0 06fc5681c8cd2b10 -> 5681c8cd2b100000
+shlx64 0854b4408f5b9e17 04687224d51a87fa -> 126a8d43fd000000
+shlx64 06bcf33434328063 03809eacb986283a -> cc3141d000000000
+shlx64 0464f596e5f3ab8a 02152e09a7eb825e -> 54b8269fae097800
+shlx64 037dac8063df281c 01af3c969c7725a6 -> 69c7725a60000000
+shlx64 0234910d6d0cfe89 01193d5aad28c013 -> 327ab55a51802600
+shlx64 01c0a27d7eaa2575 00df6b2373776c4a -> 8940000000000000
+shlx64 010adda943af43d8 008d24457d4341d1 -> 457d4341d1000000
+shlx64 00d7b2ae8c91c8ce 007028a17fc8b89e -> 0a285ff22e278000
+shlx64 008cae284a0c2065 0042b77370e42ef0 -> 1c85de0000000000
+shlx64 006fc6190eb4fc04 0035ecaa6c888c28 -> 035ecaa6c888c280
+shlx64 004686bd6e829ce5 00232b89c5c8c9b6 -> b91936c000000000
+shlx64 00380a0b248034f1 001bf185a53e82dc -> 05b8000000000000
+shlx64 0021536a650d4fc6 0011a1af9c2edaa2 -> 04686be70bb6a880
+shlx64 001af3d8d0c8c068 000e0282bc13b27b -> 13b27b0000000000
+shlx64 001193de10460316 000854daa0b4cc02 -> 36a82d3300800000
+shlx64 000df6b241dd45c1 0006bcf63e2fbf3d -> 000d79ec7c5f7e7a
+shlx64 0008d24469947f91 000464f7852a566a -> c9ef0a54acd40000
+shlx64 0007028a17f7fc21 00037dac915ab5c5 -> 22b56b8a00000000
+shlx64 00042b77370e9574 000234911b32831c -> 31c0000000000000
+shlx64 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 2862c25c10000000
+shlx64 000232b89c5ca207 00010addcd657882 -> 00856ee6b2bc4100
+shlx64 0001bf185a53fb83 0000d7b2a9b6ab1d -> 0006bd954db558e8
+shlx64 00011a1af9c2f08e 00008cae2719cda3 -> 232b89c67368c000
+shlx64 0000e0282bc137ba 00006fc61694404d -> 3400000000000000
+shlx64 0000854daa0b4caf 00004686be70612c -> 3096000000000000
+shlx64 00006bcf63e2fc01 0000380a0af0025a -> 0000701415e004b4
+shlx64 0000464f7852a469 000021536a829879 -> 0530f20000000000
+shlx64 000037dac915aa8f 00001af3d8f8abea -> 0d79ec7c55f50000
+shlx64 0000234911b3280d 00001193de14a839 -> 02327bc295072000
+shlx64 00001c0a2862c244 00000df6b24569e5 -> 0000df6b24569e50
+shlx64 000010addcd6577a 000008d2446cc8f9 -> e400000000000000
+shlx64 00000d7b2a9b6ac9 000007028a18af7d -> 000e0514315efa00
+shlx64 000008cae2719cd4 0000042b77359960 -> 42b7735996000000
+shlx64 000006fc61694403 0000035ecaa6d9df -> 00001af65536cef8
+shlx64 000004686be70610 00000232b89c662a -> 0232b89c662a0000
+shlx64 00000380a0af0023 000001bf185a50b0 -> c2d2858000000000
+shlx64 0000021536a82984 0000011a1af9c13b -> 000011a1af9c13b0
+shlx64 000001af3d8f8abd 000000e0282bc000 -> 0000000000000000
+shlx64 000001193de14a82 000000854daa0a5a -> 0000021536a82968
+shlx64 000000df6b24569d 0000006bcf63e2b5 -> 79ec7c56a0000000
+shlx64 0000008d2446cc8e 000000464f7852a0 -> 001193de14a80000
+shlx64 0000007028a18af6 00000037dac915a7 -> 69c0000000000000
+shlx64 00000042b7735995 000000234911b322 -> 0469223664400000
+shlx64 00000035ecaa6d9d 0000001c0a2862bc -> 81450c5780000000
+shlx64 000000232b89c661 00000010addcd664 -> 5bb9acc800000000
+shlx64 0000001bf185a509 0000000d7b2a9b66 -> 00001af65536cc00
+shlx64 00000011a1af9c11 00000008cae27197 -> 001195c4e32e0000
+shlx64 0000000e0282bbfd 00000006fc616943 -> 6000000000000000
+shlx64 0000000854daa1a4 00000004686be704 -> 86be704000000000
+shlx64 00000006bcf63eb9 0000000380a0aeff -> fe00000000000000
+shlx64 0000000464f78590 000000021536a868 -> 00021536a8680000
+shlx64 000000037dac916c 00000001af3d8fad -> d8fad00000000000
+shlx64 0000000234911b32 00000001193de163 -> 858c000000000000
+shlx64 00000001c0a2862b 00000000df6b2459 -> 5922c80000000000
+shlx64 000000010addcd65 000000008d2446ca -> a488d94000000000
+shlx64 00000000d7b2a9b5 000000007028a18a -> 3140000000000000
+shlx64 000000008cae2718 0000000042b77358 -> 0042b77358000000
+shlx64 000000006fc61693 0000000035ecaa6c -> 0001af6553600000
+shlx64 000000004686be6e 00000000232b89c5 -> e271400000000000
+shlx64 00000000380a0af2 000000001bf185a4 -> 1690000000000000
+shlx64 0000000021536a83 0000000011a1af9b -> 000000008d0d7cd8
+shlx64 000000001af3d8f7 000000000e0282bb -> 5d80000000000000
+shlx64 000000001193de15 000000000854daa0 -> 00010a9b54000000
+shlx64 000000000df6b244 0000000006bcf63d -> 000000006bcf63d0
+shlx64 0000000008d2446b 000000000464f784 -> 27bc200000000000
+shlx64 0000000007028a18 00000000037dac90 -> 00037dac90000000
+shlx64 00000000042b7735 000000000234911a -> 2340000000000000
+shlx64 00000000035ecaa5 0000000001c0a285 -> 381450a000000000
+shlx64 000000000232b89b 00000000010addcc -> 000856ee60000000
+shlx64 0000000001bf185a 0000000000d7b2a8 -> 00035ecaa0000000
+shlx64 00000000011a1af9 00000000008cae26 -> 4c00000000000000
+shlx64 0000000000e0282a 00000000006fc615 -> bf18540000000000
+shlx64 0000000000854da9 00000000004686bd -> 8d0d7a0000000000
+shlx64 00000000006bcf62 0000000000380a0a -> 00e0282800000000
+shlx64 0000000000464f77 0000000000215369 -> b480000000000000
+shlx64 000000000037dac9 00000000001af3d7 -> 0000000035e7ae00
+shlx64 0000000000234910 00000000001193de -> 0000001193de0000
+shlx64 00000000001c0a27 00000000000df6b1 -> 06fb588000000000
+shlx64 000000000010add9 000000000008d242 -> 000011a484000000
+shlx64 00000000000d7b28 0000000000070287 -> 0702870000000000
+shlx64 000000000008cae0 0000000000042b72 -> 00042b7200000000
+shlx64 000000000006fc5f 0000000000035ec7 -> 0001af6380000000
+shlx64 0000000000046871 00000000000232b3 -> 6566000000000000
+shlx64 000000000003809d 000000000001bf16 -> 000037e2c0000000
+shlx64 000000000002152c 0000000000011a1b -> 11a1b00000000000
+shlx64 000000000001af3b 000000000000e027 -> 3800000000000000
+shlx64 000000000001193c 000000000000854a -> a000000000000000
+shlx64 000000000000df6a 0000000000006bce -> 01af380000000000
+shlx64 0000000000008d23 000000000000464e -> 0002327000000000
+shlx64 0000000000007026 00000000000037d9 -> 000df64000000000
+shlx64 00000000000042b3 0000000000002347 -> 1a38000000000000
+shlx64 00000000000035e9 0000000000001c06 -> 00380c0000000000
+shlx64 0000000000002329 00000000000010a9 -> 0021520000000000
+shlx64 0000000000001bef 0000000000000d78 -> 06bc000000000000
+shlx64 00000000000011a3 00000000000008c8 -> 0000464000000000
+shlx64 0000000000000e02 00000000000006fa -> 0000000000001be8
+shlx64 0000000000000853 0000000000000468 -> 0000000023400000
+shlx64 00000000000006ba 0000000000000380 -> 0000000000000000
+shlx64 0000000000000464 0000000000000214 -> 0000214000000000
+shlx64 000000000000037d 00000000000001ae -> c000000000000000
+shlx64 0000000000000233 0000000000000118 -> 08c0000000000000
+shlx64 00000000000001be 00000000000000de -> 8000000000000000
+shlx64 0000000000000119 000000000000008c -> 0000000118000000
+shlx64 00000000000000de 000000000000006f -> 0000001bc0000000
+shlx64 000000000000008c 0000000000000045 -> 0000000000045000
+shlx64 000000000000006f 0000000000000037 -> 001b800000000000
+shlx64 0000000000000045 0000000000000022 -> 0000000000000440
+shlx64 0000000000000037 000000000000001b -> 0d80000000000000
+shlx64 0000000000000022 0000000000000010 -> 0000004000000000
+shlx64 000000000000001b 000000000000000c -> 0000000060000000
+shlx64 0000000000000010 0000000000000007 -> 0000000000070000
+shlx64 000000000000000c 0000000000000003 -> 0000000000003000
+shlx64 0000000000000007 0000000000000001 -> 0000000000000080
+shlx64 0000000000000003 0000000000000000 -> 0000000000000000
+shlx64 0000000000000001 0000000000000000 -> 0000000000000000
+shlx64 0000000000000000 0000000000000000 -> 0000000000000000
+shlx32 fedc192837475675 57657438291cdef0 -> 00000000de000000
+shlx32 8efcf23ad7e922f3 452015034e67c955 -> 000000004aa80000
+shlx32 7068b90cdf850938 37e901ef56b302d6 -> 00000000d6000000
+shlx32 42db3e5ed85503a5 2348b20e142667cf -> 0000000084ccf9e0
+shlx32 35eea72efbea67d7 1c09d34c26e1c212 -> 0000000009000000
+shlx32 232c23d3b476ef47 10ad37922d51847f -> 00000000a8c23f80
+shlx32 1bf0c1bf27fbb3ab 0d7b015093984564 -> 00000000c22b2000
+shlx32 11a1311a29a562ea 08cac1103a60926a -> 000000008249a800
+shlx32 0e02582b8350ffd0 06fc5681c8cd2b10 -> 000000002b100000
+shlx32 0854b4408f5b9e17 04687224d51a87fa -> 00000000fd000000
+shlx32 06bcf33434328063 03809eacb986283a -> 00000000cc3141d0
+shlx32 0464f596e5f3ab8a 02152e09a7eb825e -> 00000000ae097800
+shlx32 037dac8063df281c 01af3c969c7725a6 -> 0000000060000000
+shlx32 0234910d6d0cfe89 01193d5aad28c013 -> 0000000051802600
+shlx32 01c0a27d7eaa2575 00df6b2373776c4a -> 0000000089400000
+shlx32 010adda943af43d8 008d24457d4341d1 -> 00000000d1000000
+shlx32 00d7b2ae8c91c8ce 007028a17fc8b89e -> 000000002e278000
+shlx32 008cae284a0c2065 0042b77370e42ef0 -> 000000001c85de00
+shlx32 006fc6190eb4fc04 0035ecaa6c888c28 -> 00000000c888c280
+shlx32 004686bd6e829ce5 00232b89c5c8c9b6 -> 00000000b91936c0
+shlx32 00380a0b248034f1 001bf185a53e82dc -> 0000000005b80000
+shlx32 0021536a650d4fc6 0011a1af9c2edaa2 -> 000000000bb6a880
+shlx32 001af3d8d0c8c068 000e0282bc13b27b -> 0000000013b27b00
+shlx32 001193de10460316 000854daa0b4cc02 -> 0000000000800000
+shlx32 000df6b241dd45c1 0006bcf63e2fbf3d -> 000000007c5f7e7a
+shlx32 0008d24469947f91 000464f7852a566a -> 00000000acd40000
+shlx32 0007028a17f7fc21 00037dac915ab5c5 -> 0000000022b56b8a
+shlx32 00042b77370e9574 000234911b32831c -> 0000000031c00000
+shlx32 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 0000000010000000
+shlx32 000232b89c5ca207 00010addcd657882 -> 00000000b2bc4100
+shlx32 0001bf185a53fb83 0000d7b2a9b6ab1d -> 000000004db558e8
+shlx32 00011a1af9c2f08e 00008cae2719cda3 -> 000000007368c000
+shlx32 0000e0282bc137ba 00006fc61694404d -> 0000000034000000
+shlx32 0000854daa0b4caf 00004686be70612c -> 0000000030960000
+shlx32 00006bcf63e2fc01 0000380a0af0025a -> 0000000015e004b4
+shlx32 0000464f7852a469 000021536a829879 -> 000000000530f200
+shlx32 000037dac915aa8f 00001af3d8f8abea -> 0000000055f50000
+shlx32 0000234911b3280d 00001193de14a839 -> 0000000095072000
+shlx32 00001c0a2862c244 00000df6b24569e5 -> 0000000024569e50
+shlx32 000010addcd6577a 000008d2446cc8f9 -> 00000000e4000000
+shlx32 00000d7b2a9b6ac9 000007028a18af7d -> 00000000315efa00
+shlx32 000008cae2719cd4 0000042b77359960 -> 0000000096000000
+shlx32 000006fc61694403 0000035ecaa6d9df -> 000000005536cef8
+shlx32 000004686be70610 00000232b89c662a -> 00000000662a0000
+shlx32 00000380a0af0023 000001bf185a50b0 -> 00000000c2d28580
+shlx32 0000021536a82984 0000011a1af9c13b -> 00000000af9c13b0
+shlx32 000001af3d8f8abd 000000e0282bc000 -> 0000000000000000
+shlx32 000001193de14a82 000000854daa0a5a -> 0000000036a82968
+shlx32 000000df6b24569d 0000006bcf63e2b5 -> 00000000a0000000
+shlx32 0000008d2446cc8e 000000464f7852a0 -> 0000000014a80000
+shlx32 0000007028a18af6 00000037dac915a7 -> 0000000069c00000
+shlx32 00000042b7735995 000000234911b322 -> 0000000064400000
+shlx32 00000035ecaa6d9d 0000001c0a2862bc -> 0000000080000000
+shlx32 000000232b89c661 00000010addcd664 -> 000000005bb9acc8
+shlx32 0000001bf185a509 0000000d7b2a9b66 -> 000000005536cc00
+shlx32 00000011a1af9c11 00000008cae27197 -> 00000000e32e0000
+shlx32 0000000e0282bbfd 00000006fc616943 -> 0000000060000000
+shlx32 0000000854daa1a4 00000004686be704 -> 0000000086be7040
+shlx32 00000006bcf63eb9 0000000380a0aeff -> 00000000fe000000
+shlx32 0000000464f78590 000000021536a868 -> 00000000a8680000
+shlx32 000000037dac916c 00000001af3d8fad -> 00000000d8fad000
+shlx32 0000000234911b32 00000001193de163 -> 00000000858c0000
+shlx32 00000001c0a2862b 00000000df6b2459 -> 000000005922c800
+shlx32 000000010addcd65 000000008d2446ca -> 00000000a488d940
+shlx32 00000000d7b2a9b5 000000007028a18a -> 0000000031400000
+shlx32 000000008cae2718 0000000042b77358 -> 0000000058000000
+shlx32 000000006fc61693 0000000035ecaa6c -> 0000000053600000
+shlx32 000000004686be6e 00000000232b89c5 -> 00000000e2714000
+shlx32 00000000380a0af2 000000001bf185a4 -> 0000000016900000
+shlx32 0000000021536a83 0000000011a1af9b -> 000000008d0d7cd8
+shlx32 000000001af3d8f7 000000000e0282bb -> 000000005d800000
+shlx32 000000001193de15 000000000854daa0 -> 0000000054000000
+shlx32 000000000df6b244 0000000006bcf63d -> 000000006bcf63d0
+shlx32 0000000008d2446b 000000000464f784 -> 0000000027bc2000
+shlx32 0000000007028a18 00000000037dac90 -> 0000000090000000
+shlx32 00000000042b7735 000000000234911a -> 0000000023400000
+shlx32 00000000035ecaa5 0000000001c0a285 -> 00000000381450a0
+shlx32 000000000232b89b 00000000010addcc -> 0000000060000000
+shlx32 0000000001bf185a 0000000000d7b2a8 -> 00000000a0000000
+shlx32 00000000011a1af9 00000000008cae26 -> 000000004c000000
+shlx32 0000000000e0282a 00000000006fc615 -> 00000000bf185400
+shlx32 0000000000854da9 00000000004686bd -> 000000008d0d7a00
+shlx32 00000000006bcf62 0000000000380a0a -> 0000000000e02828
+shlx32 0000000000464f77 0000000000215369 -> 00000000b4800000
+shlx32 000000000037dac9 00000000001af3d7 -> 0000000035e7ae00
+shlx32 0000000000234910 00000000001193de -> 0000000093de0000
+shlx32 00000000001c0a27 00000000000df6b1 -> 0000000006fb5880
+shlx32 000000000010add9 000000000008d242 -> 0000000084000000
+shlx32 00000000000d7b28 0000000000070287 -> 0000000007028700
+shlx32 000000000008cae0 0000000000042b72 -> 0000000000042b72
+shlx32 000000000006fc5f 0000000000035ec7 -> 0000000080000000
+shlx32 0000000000046871 00000000000232b3 -> 0000000065660000
+shlx32 000000000003809d 000000000001bf16 -> 00000000c0000000
+shlx32 000000000002152c 0000000000011a1b -> 0000000011a1b000
+shlx32 000000000001af3b 000000000000e027 -> 0000000038000000
+shlx32 000000000001193c 000000000000854a -> 00000000a0000000
+shlx32 000000000000df6a 0000000000006bce -> 0000000001af3800
+shlx32 0000000000008d23 000000000000464e -> 0000000000023270
+shlx32 0000000000007026 00000000000037d9 -> 00000000000df640
+shlx32 00000000000042b3 0000000000002347 -> 000000001a380000
+shlx32 00000000000035e9 0000000000001c06 -> 0000000000380c00
+shlx32 0000000000002329 00000000000010a9 -> 0000000000215200
+shlx32 0000000000001bef 0000000000000d78 -> 0000000006bc0000
+shlx32 00000000000011a3 00000000000008c8 -> 0000000000004640
+shlx32 0000000000000e02 00000000000006fa -> 0000000000001be8
+shlx32 0000000000000853 0000000000000468 -> 0000000023400000
+shlx32 00000000000006ba 0000000000000380 -> 0000000000000000
+shlx32 0000000000000464 0000000000000214 -> 0000000000002140
+shlx32 000000000000037d 00000000000001ae -> 00000000c0000000
+shlx32 0000000000000233 0000000000000118 -> 0000000008c00000
+shlx32 00000000000001be 00000000000000de -> 0000000080000000
+shlx32 0000000000000119 000000000000008c -> 0000000018000000
+shlx32 00000000000000de 000000000000006f -> 00000000c0000000
+shlx32 000000000000008c 0000000000000045 -> 0000000000045000
+shlx32 000000000000006f 0000000000000037 -> 00000000001b8000
+shlx32 0000000000000045 0000000000000022 -> 0000000000000440
+shlx32 0000000000000037 000000000000001b -> 000000000d800000
+shlx32 0000000000000022 0000000000000010 -> 0000000000000040
+shlx32 000000000000001b 000000000000000c -> 0000000060000000
+shlx32 0000000000000010 0000000000000007 -> 0000000000070000
+shlx32 000000000000000c 0000000000000003 -> 0000000000003000
+shlx32 0000000000000007 0000000000000001 -> 0000000000000080
+shlx32 0000000000000003 0000000000000000 -> 0000000000000000
+shlx32 0000000000000001 0000000000000000 -> 0000000000000000
+shlx32 0000000000000000 0000000000000000 -> 0000000000000000
+shrx64 fedc192837475675 57657438291cdef0 -> 00000000000002bb
+shrx64 8efcf23ad7e922f3 452015034e67c955 -> 00000000000008a4
+shrx64 7068b90cdf850938 37e901ef56b302d6 -> 0000000000000037
+shrx64 42db3e5ed85503a5 2348b20e142667cf -> 00000000011a4590
+shrx64 35eea72efbea67d7 1c09d34c26e1c212 -> 0000003813a6984d
+shrx64 232c23d3b476ef47 10ad37922d51847f -> 00215a6f245aa308
+shrx64 1bf0c1bf27fbb3ab 0d7b015093984564 -> 000000000001af60
+shrx64 11a1311a29a562ea 08cac1103a60926a -> 00000000000232b0
+shrx64 0e02582b8350ffd0 06fc5681c8cd2b10 -> 000006fc5681c8cd
+shrx64 0854b4408f5b9e17 04687224d51a87fa -> 00000008d0e449aa
+shrx64 06bcf33434328063 03809eacb986283a -> 00000000007013d5
+shrx64 0464f596e5f3ab8a 02152e09a7eb825e -> 0000854b8269fae0
+shrx64 037dac8063df281c 01af3c969c7725a6 -> 000000001af3c969
+shrx64 0234910d6d0cfe89 01193d5aad28c013 -> 00008c9ead569460
+shrx64 01c0a27d7eaa2575 00df6b2373776c4a -> 0000000000000006
+shrx64 010adda943af43d8 008d24457d4341d1 -> 000000008d24457d
+shrx64 00d7b2ae8c91c8ce 007028a17fc8b89e -> 000001c0a285ff22
+shrx64 008cae284a0c2065 0042b77370e42ef0 -> 00000000000215bb
+shrx64 006fc6190eb4fc04 0035ecaa6c888c28 -> 00035ecaa6c888c2
+shrx64 004686bd6e829ce5 00232b89c5c8c9b6 -> 000000000001195c
+shrx64 00380a0b248034f1 001bf185a53e82dc -> 000000000000000d
+shrx64 0021536a650d4fc6 0011a1af9c2edaa2 -> 00004686be70bb6a
+shrx64 001af3d8d0c8c068 000e0282bc13b27b -> 0000000000000e02
+shrx64 001193de10460316 000854daa0b4cc02 -> 0000000021536a82
+shrx64 000df6b241dd45c1 0006bcf63e2fbf3d -> 00035e7b1f17df9e
+shrx64 0008d24469947f91 000464f7852a566a -> 00000002327bc295
+shrx64 0007028a17f7fc21 00037dac915ab5c5 -> 000000000001bed6
+shrx64 00042b77370e9574 000234911b32831c -> 0000000000000000
+shrx64 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 00000000001c0a28
+shrx64 000232b89c5ca207 00010addcd657882 -> 00000215bb9acaf1
+shrx64 0001bf185a53fb83 0000d7b2a9b6ab1d -> 00001af65536d563
+shrx64 00011a1af9c2f08e 00008cae2719cda3 -> 0000000232b89c67
+shrx64 0000e0282bc137ba 00006fc61694404d -> 0000000000000000
+shrx64 0000854daa0b4caf 00004686be70612c -> 0000000000000000
+shrx64 00006bcf63e2fc01 0000380a0af0025a -> 00001c050578012d
+shrx64 0000464f7852a469 000021536a829879 -> 0000000000000010
+shrx64 000037dac915aa8f 00001af3d8f8abea -> 0000000035e7b1f1
+shrx64 0000234911b3280d 00001193de14a839 -> 000000008c9ef0a5
+shrx64 00001c0a2862c244 00000df6b24569e5 -> 000000df6b24569e
+shrx64 000010addcd6577a 000008d2446cc8f9 -> 0000000000000000
+shrx64 00000d7b2a9b6ac9 000007028a18af7d -> 0000000381450c57
+shrx64 000008cae2719cd4 0000042b77359960 -> 000000000042b773
+shrx64 000006fc61694403 0000035ecaa6d9df -> 0000006bd954db3b
+shrx64 000004686be70610 00000232b89c662a -> 000000000232b89c
+shrx64 00000380a0af0023 000001bf185a50b0 -> 0000000000000037
+shrx64 0000021536a82984 0000011a1af9c13b -> 00000011a1af9c13
+shrx64 000001af3d8f8abd 000000e0282bc000 -> 0000000000000000
+shrx64 000001193de14a82 000000854daa0a5a -> 00000021536a8296
+shrx64 000000df6b24569d 0000006bcf63e2b5 -> 000000000000035e
+shrx64 0000008d2446cc8e 000000464f7852a0 -> 0000000001193de1
+shrx64 0000007028a18af6 00000037dac915a7 -> 0000000000000000
+shrx64 00000042b7735995 000000234911b322 -> 0000000000011a48
+shrx64 00000035ecaa6d9d 0000001c0a2862bc -> 00000000000000e0
+shrx64 000000232b89c661 00000010addcd664 -> 0000000000000008
+shrx64 0000001bf185a509 0000000d7b2a9b66 -> 0000000006bd954d
+shrx64 00000011a1af9c11 00000008cae27197 -> 0000000000046571
+shrx64 0000000e0282bbfd 00000006fc616943 -> 0000000000000000
+shrx64 0000000854daa1a4 00000004686be704 -> 0000000000000000
+shrx64 00000006bcf63eb9 0000000380a0aeff -> 0000000000000000
+shrx64 0000000464f78590 000000021536a868 -> 0000000000021536
+shrx64 000000037dac916c 00000001af3d8fad -> 0000000000000000
+shrx64 0000000234911b32 00000001193de163 -> 0000000000000000
+shrx64 00000001c0a2862b 00000000df6b2459 -> 0000000000000000
+shrx64 000000010addcd65 000000008d2446ca -> 0000000000000000
+shrx64 00000000d7b2a9b5 000000007028a18a -> 0000000000000000
+shrx64 000000008cae2718 0000000042b77358 -> 0000000000000042
+shrx64 000000006fc61693 0000000035ecaa6c -> 00000000000006bd
+shrx64 000000004686be6e 00000000232b89c5 -> 0000000000000000
+shrx64 00000000380a0af2 000000001bf185a4 -> 0000000000000000
+shrx64 0000000021536a83 0000000011a1af9b -> 00000000023435f3
+shrx64 000000001af3d8f7 000000000e0282bb -> 0000000000000000
+shrx64 000000001193de15 000000000854daa0 -> 0000000000000042
+shrx64 000000000df6b244 0000000006bcf63d -> 00000000006bcf63
+shrx64 0000000008d2446b 000000000464f784 -> 0000000000000000
+shrx64 0000000007028a18 00000000037dac90 -> 0000000000000003
+shrx64 00000000042b7735 000000000234911a -> 0000000000000000
+shrx64 00000000035ecaa5 0000000001c0a285 -> 0000000000000000
+shrx64 000000000232b89b 00000000010addcc -> 0000000000000000
+shrx64 0000000001bf185a 0000000000d7b2a8 -> 0000000000000000
+shrx64 00000000011a1af9 00000000008cae26 -> 0000000000000000
+shrx64 0000000000e0282a 00000000006fc615 -> 0000000000000000
+shrx64 0000000000854da9 00000000004686bd -> 0000000000000000
+shrx64 00000000006bcf62 0000000000380a0a -> 0000000000000000
+shrx64 0000000000464f77 0000000000215369 -> 0000000000000000
+shrx64 000000000037dac9 00000000001af3d7 -> 0000000000000d79
+shrx64 0000000000234910 00000000001193de -> 0000000000000011
+shrx64 00000000001c0a27 00000000000df6b1 -> 0000000000000000
+shrx64 000000000010add9 000000000008d242 -> 0000000000000000
+shrx64 00000000000d7b28 0000000000070287 -> 0000000000000000
+shrx64 000000000008cae0 0000000000042b72 -> 0000000000000000
+shrx64 000000000006fc5f 0000000000035ec7 -> 0000000000000000
+shrx64 0000000000046871 00000000000232b3 -> 0000000000000000
+shrx64 000000000003809d 000000000001bf16 -> 0000000000000000
+shrx64 000000000002152c 0000000000011a1b -> 0000000000000000
+shrx64 000000000001af3b 000000000000e027 -> 0000000000000000
+shrx64 000000000001193c 000000000000854a -> 0000000000000000
+shrx64 000000000000df6a 0000000000006bce -> 0000000000000000
+shrx64 0000000000008d23 000000000000464e -> 0000000000000000
+shrx64 0000000000007026 00000000000037d9 -> 0000000000000000
+shrx64 00000000000042b3 0000000000002347 -> 0000000000000000
+shrx64 00000000000035e9 0000000000001c06 -> 0000000000000000
+shrx64 0000000000002329 00000000000010a9 -> 0000000000000000
+shrx64 0000000000001bef 0000000000000d78 -> 0000000000000000
+shrx64 00000000000011a3 00000000000008c8 -> 0000000000000000
+shrx64 0000000000000e02 00000000000006fa -> 00000000000001be
+shrx64 0000000000000853 0000000000000468 -> 0000000000000000
+shrx64 00000000000006ba 0000000000000380 -> 0000000000000000
+shrx64 0000000000000464 0000000000000214 -> 0000000000000000
+shrx64 000000000000037d 00000000000001ae -> 0000000000000000
+shrx64 0000000000000233 0000000000000118 -> 0000000000000000
+shrx64 00000000000001be 00000000000000de -> 0000000000000000
+shrx64 0000000000000119 000000000000008c -> 0000000000000000
+shrx64 00000000000000de 000000000000006f -> 0000000000000000
+shrx64 000000000000008c 0000000000000045 -> 0000000000000000
+shrx64 000000000000006f 0000000000000037 -> 0000000000000000
+shrx64 0000000000000045 0000000000000022 -> 0000000000000001
+shrx64 0000000000000037 000000000000001b -> 0000000000000000
+shrx64 0000000000000022 0000000000000010 -> 0000000000000000
+shrx64 000000000000001b 000000000000000c -> 0000000000000000
+shrx64 0000000000000010 0000000000000007 -> 0000000000000000
+shrx64 000000000000000c 0000000000000003 -> 0000000000000000
+shrx64 0000000000000007 0000000000000001 -> 0000000000000000
+shrx64 0000000000000003 0000000000000000 -> 0000000000000000
+shrx64 0000000000000001 0000000000000000 -> 0000000000000000
+shrx64 0000000000000000 0000000000000000 -> 0000000000000000
+shrx32 fedc192837475675 57657438291cdef0 -> 0000000000000148
+shrx32 8efcf23ad7e922f3 452015034e67c955 -> 00000000000009cc
+shrx32 7068b90cdf850938 37e901ef56b302d6 -> 0000000000000056
+shrx32 42db3e5ed85503a5 2348b20e142667cf -> 0000000000a1333e
+shrx32 35eea72efbea67d7 1c09d34c26e1c212 -> 000000000000004d
+shrx32 232c23d3b476ef47 10ad37922d51847f -> 00000000005aa308
+shrx32 1bf0c1bf27fbb3ab 0d7b015093984564 -> 0000000000127308
+shrx32 11a1311a29a562ea 08cac1103a60926a -> 00000000000e9824
+shrx32 0e02582b8350ffd0 06fc5681c8cd2b10 -> 000000000000c8cd
+shrx32 0854b4408f5b9e17 04687224d51a87fa -> 00000000000001aa
+shrx32 06bcf33434328063 03809eacb986283a -> 000000001730c507
+shrx32 0464f596e5f3ab8a 02152e09a7eb825e -> 000000000029fae0
+shrx32 037dac8063df281c 01af3c969c7725a6 -> 0000000000000009
+shrx32 0234910d6d0cfe89 01193d5aad28c013 -> 0000000000569460
+shrx32 01c0a27d7eaa2575 00df6b2373776c4a -> 000000000000039b
+shrx32 010adda943af43d8 008d24457d4341d1 -> 000000000000007d
+shrx32 00d7b2ae8c91c8ce 007028a17fc8b89e -> 000000000001ff22
+shrx32 008cae284a0c2065 0042b77370e42ef0 -> 0000000003872177
+shrx32 006fc6190eb4fc04 0035ecaa6c888c28 -> 0000000006c888c2
+shrx32 004686bd6e829ce5 00232b89c5c8c9b6 -> 00000000062e464d
+shrx32 00380a0b248034f1 001bf185a53e82dc -> 000000000000529f
+shrx32 0021536a650d4fc6 0011a1af9c2edaa2 -> 000000000270bb6a
+shrx32 001af3d8d0c8c068 000e0282bc13b27b -> 0000000000bc13b2
+shrx32 001193de10460316 000854daa0b4cc02 -> 0000000000000282
+shrx32 000df6b241dd45c1 0006bcf63e2fbf3d -> 000000001f17df9e
+shrx32 0008d24469947f91 000464f7852a566a -> 0000000000004295
+shrx32 0007028a17f7fc21 00037dac915ab5c5 -> 0000000048ad5ae2
+shrx32 00042b77370e9574 000234911b32831c -> 00000000000001b3
+shrx32 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 0000000000000008
+shrx32 000232b89c5ca207 00010addcd657882 -> 00000000019acaf1
+shrx32 0001bf185a53fb83 0000d7b2a9b6ab1d -> 000000001536d563
+shrx32 00011a1af9c2f08e 00008cae2719cda3 -> 0000000000009c67
+shrx32 0000e0282bc137ba 00006fc61694404d -> 0000000000000005
+shrx32 0000854daa0b4caf 00004686be70612c -> 0000000000017ce0
+shrx32 00006bcf63e2fc01 0000380a0af0025a -> 000000000578012d
+shrx32 0000464f7852a469 000021536a829879 -> 000000000035414c
+shrx32 000037dac915aa8f 00001af3d8f8abea -> 000000000001b1f1
+shrx32 0000234911b3280d 00001193de14a839 -> 000000000006f0a5
+shrx32 00001c0a2862c244 00000df6b24569e5 -> 000000000b24569e
+shrx32 000010addcd6577a 000008d2446cc8f9 -> 0000000000000011
+shrx32 00000d7b2a9b6ac9 000007028a18af7d -> 0000000000450c57
+shrx32 000008cae2719cd4 0000042b77359960 -> 0000000000000773
+shrx32 000006fc61694403 0000035ecaa6d9df -> 000000001954db3b
+shrx32 000004686be70610 00000232b89c662a -> 000000000000b89c
+shrx32 00000380a0af0023 000001bf185a50b0 -> 00000000030b4a16
+shrx32 0000021536a82984 0000011a1af9c13b -> 0000000001af9c13
+shrx32 000001af3d8f8abd 000000e0282bc000 -> 0000000000000001
+shrx32 000001193de14a82 000000854daa0a5a -> 00000000136a8296
+shrx32 000000df6b24569d 0000006bcf63e2b5 -> 0000000000000006
+shrx32 0000008d2446cc8e 000000464f7852a0 -> 0000000000013de1
+shrx32 0000007028a18af6 00000037dac915a7 -> 000000000000036b
+shrx32 00000042b7735995 000000234911b322 -> 0000000000000248
+shrx32 00000035ecaa6d9d 0000001c0a2862bc -> 0000000000000000
+shrx32 000000232b89c661 00000010addcd664 -> 0000000056ee6b32
+shrx32 0000001bf185a509 0000000d7b2a9b66 -> 00000000003d954d
+shrx32 00000011a1af9c11 00000008cae27197 -> 0000000000006571
+shrx32 0000000e0282bbfd 00000006fc616943 -> 0000000000000007
+shrx32 0000000854daa1a4 00000004686be704 -> 000000000686be70
+shrx32 00000006bcf63eb9 0000000380a0aeff -> 0000000000000040
+shrx32 0000000464f78590 000000021536a868 -> 0000000000001536
+shrx32 000000037dac916c 00000001af3d8fad -> 00000000000af3d8
+shrx32 0000000234911b32 00000001193de163 -> 000000000000064f
+shrx32 00000001c0a2862b 00000000df6b2459 -> 00000000001bed64
+shrx32 000000010addcd65 000000008d2446ca -> 0000000004692236
+shrx32 00000000d7b2a9b5 000000007028a18a -> 0000000000000381
+shrx32 000000008cae2718 0000000042b77358 -> 0000000000000042
+shrx32 000000006fc61693 0000000035ecaa6c -> 00000000000006bd
+shrx32 000000004686be6e 00000000232b89c5 -> 0000000000008cae
+shrx32 00000000380a0af2 000000001bf185a4 -> 00000000000006fc
+shrx32 0000000021536a83 0000000011a1af9b -> 00000000023435f3
+shrx32 000000001af3d8f7 000000000e0282bb -> 000000000000001c
+shrx32 000000001193de15 000000000854daa0 -> 0000000000000042
+shrx32 000000000df6b244 0000000006bcf63d -> 00000000006bcf63
+shrx32 0000000008d2446b 000000000464f784 -> 0000000000008c9e
+shrx32 0000000007028a18 00000000037dac90 -> 0000000000000003
+shrx32 00000000042b7735 000000000234911a -> 0000000000000011
+shrx32 00000000035ecaa5 0000000001c0a285 -> 00000000000e0514
+shrx32 000000000232b89b 00000000010addcc -> 0000000000000000
+shrx32 0000000001bf185a 0000000000d7b2a8 -> 0000000000000000
+shrx32 00000000011a1af9 00000000008cae26 -> 0000000000000000
+shrx32 0000000000e0282a 00000000006fc615 -> 0000000000001bf1
+shrx32 0000000000854da9 00000000004686bd -> 0000000000002343
+shrx32 00000000006bcf62 0000000000380a0a -> 00000000000e0282
+shrx32 0000000000464f77 0000000000215369 -> 0000000000000000
+shrx32 000000000037dac9 00000000001af3d7 -> 0000000000000d79
+shrx32 0000000000234910 00000000001193de -> 0000000000000011
+shrx32 00000000001c0a27 00000000000df6b1 -> 0000000000001bed
+shrx32 000000000010add9 000000000008d242 -> 0000000000000000
+shrx32 00000000000d7b28 0000000000070287 -> 0000000000000702
+shrx32 000000000008cae0 0000000000042b72 -> 0000000000042b72
+shrx32 000000000006fc5f 0000000000035ec7 -> 0000000000000000
+shrx32 0000000000046871 00000000000232b3 -> 0000000000000001
+shrx32 000000000003809d 000000000001bf16 -> 0000000000000000
+shrx32 000000000002152c 0000000000011a1b -> 0000000000000011
+shrx32 000000000001af3b 000000000000e027 -> 0000000000000000
+shrx32 000000000001193c 000000000000854a -> 0000000000000000
+shrx32 000000000000df6a 0000000000006bce -> 000000000000001a
+shrx32 0000000000008d23 000000000000464e -> 00000000000008c9
+shrx32 0000000000007026 00000000000037d9 -> 00000000000000df
+shrx32 00000000000042b3 0000000000002347 -> 0000000000000000
+shrx32 00000000000035e9 0000000000001c06 -> 000000000000000e
+shrx32 0000000000002329 00000000000010a9 -> 0000000000000008
+shrx32 0000000000001bef 0000000000000d78 -> 0000000000000000
+shrx32 00000000000011a3 00000000000008c8 -> 0000000000000119
+shrx32 0000000000000e02 00000000000006fa -> 00000000000001be
+shrx32 0000000000000853 0000000000000468 -> 0000000000000000
+shrx32 00000000000006ba 0000000000000380 -> 0000000000000000
+shrx32 0000000000000464 0000000000000214 -> 0000000000000021
+shrx32 000000000000037d 00000000000001ae -> 0000000000000000
+shrx32 0000000000000233 0000000000000118 -> 0000000000000000
+shrx32 00000000000001be 00000000000000de -> 0000000000000000
+shrx32 0000000000000119 000000000000008c -> 0000000000000000
+shrx32 00000000000000de 000000000000006f -> 0000000000000000
+shrx32 000000000000008c 0000000000000045 -> 0000000000000000
+shrx32 000000000000006f 0000000000000037 -> 0000000000000000
+shrx32 0000000000000045 0000000000000022 -> 0000000000000001
+shrx32 0000000000000037 000000000000001b -> 0000000000000000
+shrx32 0000000000000022 0000000000000010 -> 0000000000000004
+shrx32 000000000000001b 000000000000000c -> 0000000000000000
+shrx32 0000000000000010 0000000000000007 -> 0000000000000000
+shrx32 000000000000000c 0000000000000003 -> 0000000000000000
+shrx32 0000000000000007 0000000000000001 -> 0000000000000000
+shrx32 0000000000000003 0000000000000000 -> 0000000000000000
+shrx32 0000000000000001 0000000000000000 -> 0000000000000000
+shrx32 0000000000000000 0000000000000000 -> 0000000000000000
+rorx64 fedc192837475675 -> 675fedc192837475 bfdb832506e8eace
+rorx64 8efcf23ad7e922f3 -> 2f38efcf23ad7e92 71df9e475afd245e
+rorx64 7068b90cdf850938 -> 9387068b90cdf850 0e0d17219bf0a127
+rorx64 42db3e5ed85503a5 -> 3a542db3e5ed8550 a85b67cbdb0aa074
+rorx64 35eea72efbea67d7 -> 7d735eea72efbea6 e6bdd4e5df7d4cfa
+rorx64 232c23d3b476ef47 -> f47232c23d3b476e e465847a768edde8
+rorx64 1bf0c1bf27fbb3ab -> 3ab1bf0c1bf27fbb 637e1837e4ff7675
+rorx64 11a1311a29a562ea -> 2ea11a1311a29a56 423426234534ac5d
+rorx64 0e02582b8350ffd0 -> fd00e02582b8350f 01c04b05706a1ffa
+rorx64 0854b4408f5b9e17 -> e170854b4408f5b9 e10a968811eb73c2
+rorx64 06bcf33434328063 -> 06306bcf33434328 60d79e668686500c
+rorx64 0464f596e5f3ab8a -> b8a0464f596e5f3a 408c9eb2dcbe7571
+rorx64 037dac8063df281c -> 81c037dac8063df2 806fb5900c7be503
+rorx64 0234910d6d0cfe89 -> e890234910d6d0cf 20469221ada19fd1
+rorx64 01c0a27d7eaa2575 -> 57501c0a27d7eaa2 a038144fafd544ae
+rorx64 010adda943af43d8 -> 3d8010adda943af4 00215bb52875e87b
+rorx64 00d7b2ae8c91c8ce -> 8ce00d7b2ae8c91c c01af655d1923919
+rorx64 008cae284a0c2065 -> 065008cae284a0c2 a01195c50941840c
+rorx64 006fc6190eb4fc04 -> c04006fc6190eb4f 800df8c321d69f80
+rorx64 004686bd6e829ce5 -> ce5004686bd6e829 a008d0d7add0539c
+rorx64 00380a0b248034f1 -> 4f100380a0b24803 200701416490069e
+rorx64 0021536a650d4fc6 -> fc60021536a650d4 c0042a6d4ca1a9f8
+rorx64 001af3d8d0c8c068 -> 068001af3d8d0c8c 00035e7b1a19180d
+rorx64 001193de10460316 -> 316001193de10460 c002327bc208c062
+rorx64 000df6b241dd45c1 -> 5c1000df6b241dd4 2001bed6483ba8b8
+rorx64 0008d24469947f91 -> f910008d24469947 20011a488d328ff2
+rorx64 0007028a17f7fc21 -> c210007028a17f7f 2000e05142feff84
+rorx64 00042b77370e9574 -> 57400042b77370e9 8000856ee6e1d2ae
+rorx64 00035ecaa6c8cb9c -> b9c00035ecaa6c8c 80006bd954d91973
+rorx64 000232b89c5ca207 -> 207000232b89c5ca e0004657138b9440
+rorx64 0001bf185a53fb83 -> b830001bf185a53f 600037e30b4a7f70
+rorx64 00011a1af9c2f08e -> 08e00011a1af9c2f c00023435f385e11
+rorx64 0000e0282bc137ba -> 7ba0000e0282bc13 40001c05057826f7
+rorx64 0000854daa0b4caf -> caf0000854daa0b4 e00010a9b5416995
+rorx64 00006bcf63e2fc01 -> c0100006bcf63e2f 20000d79ec7c5f80
+rorx64 0000464f7852a469 -> 4690000464f7852a 200008c9ef0a548d
+rorx64 000037dac915aa8f -> a8f000037dac915a e00006fb5922b551
+rorx64 0000234911b3280d -> 80d0000234911b32 a000046922366501
+rorx64 00001c0a2862c244 -> 24400001c0a2862c 80000381450c5848
+rorx64 000010addcd6577a -> 77a000010addcd65 40000215bb9acaef
+rorx64 00000d7b2a9b6ac9 -> ac900000d7b2a9b6 200001af65536d59
+rorx64 000008cae2719cd4 -> cd4000008cae2719 800001195c4e339a
+rorx64 000006fc61694403 -> 403000006fc61694 600000df8c2d2880
+rorx64 000004686be70610 -> 610000004686be70 0000008d0d7ce0c2
+rorx64 00000380a0af0023 -> 02300000380a0af0 600000701415e004
+rorx64 0000021536a82984 -> 9840000021536a82 80000042a6d50530
+rorx64 000001af3d8f8abd -> abd000001af3d8f8 a0000035e7b1f157
+rorx64 000001193de14a82 -> a82000001193de14 4000002327bc2950
+rorx64 000000df6b24569d -> 69d000000df6b245 a000001bed648ad3
+rorx64 0000008d2446cc8e -> c8e0000008d2446c c0000011a488d991
+rorx64 0000007028a18af6 -> af60000007028a18 c000000e0514315e
+rorx64 00000042b7735995 -> 99500000042b7735 a000000856ee6b32
+rorx64 00000035ecaa6d9d -> d9d00000035ecaa6 a0000006bd954db3
+rorx64 000000232b89c661 -> 661000000232b89c 20000004657138cc
+rorx64 0000001bf185a509 -> 5090000001bf185a 200000037e30b4a1
+rorx64 00000011a1af9c11 -> c1100000011a1af9 200000023435f382
+rorx64 0000000e0282bbfd -> bfd0000000e0282b a0000001c050577f
+rorx64 0000000854daa1a4 -> 1a40000000854daa 800000010a9b5434
+rorx64 00000006bcf63eb9 -> eb900000006bcf63 20000000d79ec7d7
+rorx64 0000000464f78590 -> 5900000000464f78 000000008c9ef0b2
+rorx64 000000037dac916c -> 16c000000037dac9 800000006fb5922d
+rorx64 0000000234911b32 -> b320000000234911 4000000046922366
+rorx64 00000001c0a2862b -> 62b00000001c0a28 60000000381450c5
+rorx64 000000010addcd65 -> d65000000010addc a0000000215bb9ac
+rorx64 00000000d7b2a9b5 -> 9b500000000d7b2a a00000001af65536
+rorx64 000000008cae2718 -> 718000000008cae2 000000001195c4e3
+rorx64 000000006fc61693 -> 693000000006fc61 600000000df8c2d2
+rorx64 000000004686be6e -> e6e000000004686b c000000008d0d7cd
+rorx64 00000000380a0af2 -> af200000000380a0 400000000701415e
+rorx64 0000000021536a83 -> a830000000021536 60000000042a6d50
+rorx64 000000001af3d8f7 -> 8f7000000001af3d e0000000035e7b1e
+rorx64 000000001193de15 -> e15000000001193d a000000002327bc2
+rorx64 000000000df6b244 -> 244000000000df6b 8000000001bed648
+rorx64 0000000008d2446b -> 46b0000000008d24 60000000011a488d
+rorx64 0000000007028a18 -> a180000000007028 0000000000e05143
+rorx64 00000000042b7735 -> 73500000000042b7 a000000000856ee6
+rorx64 00000000035ecaa5 -> aa500000000035ec a0000000006bd954
+rorx64 000000000232b89b -> 89b000000000232b 6000000000465713
+rorx64 0000000001bf185a -> 85a0000000001bf1 400000000037e30b
+rorx64 00000000011a1af9 -> af900000000011a1 200000000023435f
+rorx64 0000000000e0282a -> 82a0000000000e02 40000000001c0505
+rorx64 0000000000854da9 -> da90000000000854 200000000010a9b5
+rorx64 00000000006bcf62 -> f6200000000006bc 40000000000d79ec
+rorx64 0000000000464f77 -> f770000000000464 e00000000008c9ee
+rorx64 000000000037dac9 -> ac9000000000037d 200000000006fb59
+rorx64 0000000000234910 -> 9100000000000234 0000000000046922
+rorx64 00000000001c0a27 -> a2700000000001c0 e000000000038144
+rorx64 000000000010add9 -> dd9000000000010a 20000000000215bb
+rorx64 00000000000d7b28 -> b2800000000000d7 000000000001af65
+rorx64 000000000008cae0 -> ae0000000000008c 000000000001195c
+rorx64 000000000006fc5f -> c5f000000000006f e00000000000df8b
+rorx64 0000000000046871 -> 8710000000000046 2000000000008d0e
+rorx64 000000000003809d -> 09d0000000000038 a000000000007013
+rorx64 000000000002152c -> 52c0000000000021 80000000000042a5
+rorx64 000000000001af3b -> f3b000000000001a 60000000000035e7
+rorx64 000000000001193c -> 93c0000000000011 8000000000002327
+rorx64 000000000000df6a -> f6a000000000000d 4000000000001bed
+rorx64 0000000000008d23 -> d230000000000008 60000000000011a4
+rorx64 0000000000007026 -> 0260000000000007 c000000000000e04
+rorx64 00000000000042b3 -> 2b30000000000004 6000000000000856
+rorx64 00000000000035e9 -> 5e90000000000003 20000000000006bd
+rorx64 0000000000002329 -> 3290000000000002 2000000000000465
+rorx64 0000000000001bef -> bef0000000000001 e00000000000037d
+rorx64 00000000000011a3 -> 1a30000000000001 6000000000000234
+rorx64 0000000000000e02 -> e020000000000000 40000000000001c0
+rorx64 0000000000000853 -> 8530000000000000 600000000000010a
+rorx64 00000000000006ba -> 6ba0000000000000 40000000000000d7
+rorx64 0000000000000464 -> 4640000000000000 800000000000008c
+rorx64 000000000000037d -> 37d0000000000000 a00000000000006f
+rorx64 0000000000000233 -> 2330000000000000 6000000000000046
+rorx64 00000000000001be -> 1be0000000000000 c000000000000037
+rorx64 0000000000000119 -> 1190000000000000 2000000000000023
+rorx64 00000000000000de -> 0de0000000000000 c00000000000001b
+rorx64 000000000000008c -> 08c0000000000000 8000000000000011
+rorx64 000000000000006f -> 06f0000000000000 e00000000000000d
+rorx64 0000000000000045 -> 0450000000000000 a000000000000008
+rorx64 0000000000000037 -> 0370000000000000 e000000000000006
+rorx64 0000000000000022 -> 0220000000000000 4000000000000004
+rorx64 000000000000001b -> 01b0000000000000 6000000000000003
+rorx64 0000000000000010 -> 0100000000000000 0000000000000002
+rorx64 000000000000000c -> 00c0000000000000 8000000000000001
+rorx64 0000000000000007 -> 0070000000000000 e000000000000000
+rorx64 0000000000000003 -> 0030000000000000 6000000000000000
+rorx64 0000000000000001 -> 0010000000000000 2000000000000000
+rorx64 0000000000000000 -> 0000000000000000 0000000000000000
+rorx32 fedc192837475675 -> 0000000067537475 00000000a6e8eace
+rorx32 8efcf23ad7e922f3 -> 000000002f3d7e92 000000007afd245e
+rorx32 7068b90cdf850938 -> 00000000938df850 000000001bf0a127
+rorx32 42db3e5ed85503a5 -> 000000003a5d8550 00000000bb0aa074
+rorx32 35eea72efbea67d7 -> 000000007d7fbea6 00000000ff7d4cfa
+rorx32 232c23d3b476ef47 -> 00000000f47b476e 00000000f68edde8
+rorx32 1bf0c1bf27fbb3ab -> 000000003ab27fbb 0000000064ff7675
+rorx32 11a1311a29a562ea -> 000000002ea29a56 000000004534ac5d
+rorx32 0e02582b8350ffd0 -> 00000000fd08350f 00000000106a1ffa
+rorx32 0854b4408f5b9e17 -> 00000000e178f5b9 00000000f1eb73c2
+rorx32 06bcf33434328063 -> 0000000006334328 000000006686500c
+rorx32 0464f596e5f3ab8a -> 00000000b8ae5f3a 000000005cbe7571
+rorx32 037dac8063df281c -> 0000000081c63df2 000000008c7be503
+rorx32 0234910d6d0cfe89 -> 00000000e896d0cf 000000002da19fd1
+rorx32 01c0a27d7eaa2575 -> 000000005757eaa2 00000000afd544ae
+rorx32 010adda943af43d8 -> 000000003d843af4 000000000875e87b
+rorx32 00d7b2ae8c91c8ce -> 000000008ce8c91c 00000000d1923919
+rorx32 008cae284a0c2065 -> 000000000654a0c2 00000000a941840c
+rorx32 006fc6190eb4fc04 -> 00000000c040eb4f 0000000081d69f80
+rorx32 004686bd6e829ce5 -> 00000000ce56e829 00000000add0539c
+rorx32 00380a0b248034f1 -> 000000004f124803 000000002490069e
+rorx32 0021536a650d4fc6 -> 00000000fc6650d4 00000000cca1a9f8
+rorx32 001af3d8d0c8c068 -> 00000000068d0c8c 000000001a19180d
+rorx32 001193de10460316 -> 0000000031610460 00000000c208c062
+rorx32 000df6b241dd45c1 -> 000000005c141dd4 00000000283ba8b8
+rorx32 0008d24469947f91 -> 00000000f9169947 000000002d328ff2
+rorx32 0007028a17f7fc21 -> 00000000c2117f7f 0000000022feff84
+rorx32 00042b77370e9574 -> 00000000574370e9 0000000086e1d2ae
+rorx32 00035ecaa6c8cb9c -> 00000000b9ca6c8c 0000000094d91973
+rorx32 000232b89c5ca207 -> 000000002079c5ca 00000000f38b9440
+rorx32 0001bf185a53fb83 -> 00000000b835a53f 000000006b4a7f70
+rorx32 00011a1af9c2f08e -> 0000000008ef9c2f 00000000df385e11
+rorx32 0000e0282bc137ba -> 000000007ba2bc13 00000000457826f7
+rorx32 0000854daa0b4caf -> 00000000cafaa0b4 00000000f5416995
+rorx32 00006bcf63e2fc01 -> 00000000c0163e2f 000000002c7c5f80
+rorx32 0000464f7852a469 -> 000000004697852a 000000002f0a548d
+rorx32 000037dac915aa8f -> 00000000a8fc915a 00000000f922b551
+rorx32 0000234911b3280d -> 0000000080d11b32 00000000a2366501
+rorx32 00001c0a2862c244 -> 000000002442862c 00000000850c5848
+rorx32 000010addcd6577a -> 0000000077adcd65 000000005b9acaef
+rorx32 00000d7b2a9b6ac9 -> 00000000ac92a9b6 0000000025536d59
+rorx32 000008cae2719cd4 -> 00000000cd4e2719 000000009c4e339a
+rorx32 000006fc61694403 -> 0000000040361694 000000006c2d2880
+rorx32 000004686be70610 -> 000000006106be70 000000000d7ce0c2
+rorx32 00000380a0af0023 -> 00000000023a0af0 000000007415e004
+rorx32 0000021536a82984 -> 0000000098436a82 0000000086d50530
+rorx32 000001af3d8f8abd -> 00000000abd3d8f8 00000000a7b1f157
+rorx32 000001193de14a82 -> 00000000a823de14 0000000047bc2950
+rorx32 000000df6b24569d -> 0000000069d6b245 00000000ad648ad3
+rorx32 0000008d2446cc8e -> 00000000c8e2446c 00000000c488d991
+rorx32 0000007028a18af6 -> 00000000af628a18 00000000c514315e
+rorx32 00000042b7735995 -> 00000000995b7735 00000000b6ee6b32
+rorx32 00000035ecaa6d9d -> 00000000d9decaa6 00000000bd954db3
+rorx32 000000232b89c661 -> 000000006612b89c 00000000257138cc
+rorx32 0000001bf185a509 -> 00000000509f185a 000000003e30b4a1
+rorx32 00000011a1af9c11 -> 00000000c11a1af9 000000003435f382
+rorx32 0000000e0282bbfd -> 00000000bfd0282b 00000000a050577f
+rorx32 0000000854daa1a4 -> 000000001a454daa 000000008a9b5434
+rorx32 00000006bcf63eb9 -> 00000000eb9bcf63 00000000379ec7d7
+rorx32 0000000464f78590 -> 0000000059064f78 000000000c9ef0b2
+rorx32 000000037dac916c -> 0000000016c7dac9 000000008fb5922d
+rorx32 0000000234911b32 -> 00000000b3234911 0000000046922366
+rorx32 00000001c0a2862b -> 0000000062bc0a28 00000000781450c5
+rorx32 000000010addcd65 -> 00000000d650addc 00000000a15bb9ac
+rorx32 00000000d7b2a9b5 -> 000000009b5d7b2a 00000000baf65536
+rorx32 000000008cae2718 -> 000000007188cae2 000000001195c4e3
+rorx32 000000006fc61693 -> 000000006936fc61 000000006df8c2d2
+rorx32 000000004686be6e -> 00000000e6e4686b 00000000c8d0d7cd
+rorx32 00000000380a0af2 -> 00000000af2380a0 000000004701415e
+rorx32 0000000021536a83 -> 00000000a8321536 00000000642a6d50
+rorx32 000000001af3d8f7 -> 000000008f71af3d 00000000e35e7b1e
+rorx32 000000001193de15 -> 00000000e151193d 00000000a2327bc2
+rorx32 000000000df6b244 -> 000000002440df6b 0000000081bed648
+rorx32 0000000008d2446b -> 0000000046b08d24 00000000611a488d
+rorx32 0000000007028a18 -> 00000000a1807028 0000000000e05143
+rorx32 00000000042b7735 -> 00000000735042b7 00000000a0856ee6
+rorx32 00000000035ecaa5 -> 00000000aa5035ec 00000000a06bd954
+rorx32 000000000232b89b -> 0000000089b0232b 0000000060465713
+rorx32 0000000001bf185a -> 0000000085a01bf1 000000004037e30b
+rorx32 00000000011a1af9 -> 00000000af9011a1 000000002023435f
+rorx32 0000000000e0282a -> 0000000082a00e02 00000000401c0505
+rorx32 0000000000854da9 -> 00000000da900854 000000002010a9b5
+rorx32 00000000006bcf62 -> 00000000f62006bc 00000000400d79ec
+rorx32 0000000000464f77 -> 00000000f7700464 00000000e008c9ee
+rorx32 000000000037dac9 -> 00000000ac90037d 000000002006fb59
+rorx32 0000000000234910 -> 0000000091000234 0000000000046922
+rorx32 00000000001c0a27 -> 00000000a27001c0 00000000e0038144
+rorx32 000000000010add9 -> 00000000dd90010a 00000000200215bb
+rorx32 00000000000d7b28 -> 00000000b28000d7 000000000001af65
+rorx32 000000000008cae0 -> 00000000ae00008c 000000000001195c
+rorx32 000000000006fc5f -> 00000000c5f0006f 00000000e000df8b
+rorx32 0000000000046871 -> 0000000087100046 0000000020008d0e
+rorx32 000000000003809d -> 0000000009d00038 00000000a0007013
+rorx32 000000000002152c -> 0000000052c00021 00000000800042a5
+rorx32 000000000001af3b -> 00000000f3b0001a 00000000600035e7
+rorx32 000000000001193c -> 0000000093c00011 0000000080002327
+rorx32 000000000000df6a -> 00000000f6a0000d 0000000040001bed
+rorx32 0000000000008d23 -> 00000000d2300008 00000000600011a4
+rorx32 0000000000007026 -> 0000000002600007 00000000c0000e04
+rorx32 00000000000042b3 -> 000000002b300004 0000000060000856
+rorx32 00000000000035e9 -> 000000005e900003 00000000200006bd
+rorx32 0000000000002329 -> 0000000032900002 0000000020000465
+rorx32 0000000000001bef -> 00000000bef00001 00000000e000037d
+rorx32 00000000000011a3 -> 000000001a300001 0000000060000234
+rorx32 0000000000000e02 -> 00000000e0200000 00000000400001c0
+rorx32 0000000000000853 -> 0000000085300000 000000006000010a
+rorx32 00000000000006ba -> 000000006ba00000 00000000400000d7
+rorx32 0000000000000464 -> 0000000046400000 000000008000008c
+rorx32 000000000000037d -> 0000000037d00000 00000000a000006f
+rorx32 0000000000000233 -> 0000000023300000 0000000060000046
+rorx32 00000000000001be -> 000000001be00000 00000000c0000037
+rorx32 0000000000000119 -> 0000000011900000 0000000020000023
+rorx32 00000000000000de -> 000000000de00000 00000000c000001b
+rorx32 000000000000008c -> 0000000008c00000 0000000080000011
+rorx32 000000000000006f -> 0000000006f00000 00000000e000000d
+rorx32 0000000000000045 -> 0000000004500000 00000000a0000008
+rorx32 0000000000000037 -> 0000000003700000 00000000e0000006
+rorx32 0000000000000022 -> 0000000002200000 0000000040000004
+rorx32 000000000000001b -> 0000000001b00000 0000000060000003
+rorx32 0000000000000010 -> 0000000001000000 0000000000000002
+rorx32 000000000000000c -> 0000000000c00000 0000000080000001
+rorx32 0000000000000007 -> 0000000000700000 00000000e0000000
+rorx32 0000000000000003 -> 0000000000300000 0000000060000000
+rorx32 0000000000000001 -> 0000000000100000 0000000020000000
+rorx32 0000000000000000 -> 0000000000000000 0000000000000000
+blsi64 fedc192837475675 -> 0000000000000001 0001
+blsi64 8efcf23ad7e922f3 -> 0000000000000001 0001
+blsi64 7068b90cdf850938 -> 0000000000000008 0001
+blsi64 42db3e5ed85503a5 -> 0000000000000001 0001
+blsi64 35eea72efbea67d7 -> 0000000000000001 0001
+blsi64 232c23d3b476ef47 -> 0000000000000001 0001
+blsi64 1bf0c1bf27fbb3ab -> 0000000000000001 0001
+blsi64 11a1311a29a562ea -> 0000000000000002 0001
+blsi64 0e02582b8350ffd0 -> 0000000000000010 0001
+blsi64 0854b4408f5b9e17 -> 0000000000000001 0001
+blsi64 06bcf33434328063 -> 0000000000000001 0001
+blsi64 0464f596e5f3ab8a -> 0000000000000002 0001
+blsi64 037dac8063df281c -> 0000000000000004 0001
+blsi64 0234910d6d0cfe89 -> 0000000000000001 0001
+blsi64 01c0a27d7eaa2575 -> 0000000000000001 0001
+blsi64 010adda943af43d8 -> 0000000000000008 0001
+blsi64 00d7b2ae8c91c8ce -> 0000000000000002 0001
+blsi64 008cae284a0c2065 -> 0000000000000001 0001
+blsi64 006fc6190eb4fc04 -> 0000000000000004 0001
+blsi64 004686bd6e829ce5 -> 0000000000000001 0001
+blsi64 00380a0b248034f1 -> 0000000000000001 0001
+blsi64 0021536a650d4fc6 -> 0000000000000002 0001
+blsi64 001af3d8d0c8c068 -> 0000000000000008 0001
+blsi64 001193de10460316 -> 0000000000000002 0001
+blsi64 000df6b241dd45c1 -> 0000000000000001 0001
+blsi64 0008d24469947f91 -> 0000000000000001 0001
+blsi64 0007028a17f7fc21 -> 0000000000000001 0001
+blsi64 00042b77370e9574 -> 0000000000000004 0001
+blsi64 00035ecaa6c8cb9c -> 0000000000000004 0001
+blsi64 000232b89c5ca207 -> 0000000000000001 0001
+blsi64 0001bf185a53fb83 -> 0000000000000001 0001
+blsi64 00011a1af9c2f08e -> 0000000000000002 0001
+blsi64 0000e0282bc137ba -> 0000000000000002 0001
+blsi64 0000854daa0b4caf -> 0000000000000001 0001
+blsi64 00006bcf63e2fc01 -> 0000000000000001 0001
+blsi64 0000464f7852a469 -> 0000000000000001 0001
+blsi64 000037dac915aa8f -> 0000000000000001 0001
+blsi64 0000234911b3280d -> 0000000000000001 0001
+blsi64 00001c0a2862c244 -> 0000000000000004 0001
+blsi64 000010addcd6577a -> 0000000000000002 0001
+blsi64 00000d7b2a9b6ac9 -> 0000000000000001 0001
+blsi64 000008cae2719cd4 -> 0000000000000004 0001
+blsi64 000006fc61694403 -> 0000000000000001 0001
+blsi64 000004686be70610 -> 0000000000000010 0001
+blsi64 00000380a0af0023 -> 0000000000000001 0001
+blsi64 0000021536a82984 -> 0000000000000004 0001
+blsi64 000001af3d8f8abd -> 0000000000000001 0001
+blsi64 000001193de14a82 -> 0000000000000002 0001
+blsi64 000000df6b24569d -> 0000000000000001 0001
+blsi64 0000008d2446cc8e -> 0000000000000002 0001
+blsi64 0000007028a18af6 -> 0000000000000002 0001
+blsi64 00000042b7735995 -> 0000000000000001 0001
+blsi64 00000035ecaa6d9d -> 0000000000000001 0001
+blsi64 000000232b89c661 -> 0000000000000001 0001
+blsi64 0000001bf185a509 -> 0000000000000001 0001
+blsi64 00000011a1af9c11 -> 0000000000000001 0001
+blsi64 0000000e0282bbfd -> 0000000000000001 0001
+blsi64 0000000854daa1a4 -> 0000000000000004 0001
+blsi64 00000006bcf63eb9 -> 0000000000000001 0001
+blsi64 0000000464f78590 -> 0000000000000010 0001
+blsi64 000000037dac916c -> 0000000000000004 0001
+blsi64 0000000234911b32 -> 0000000000000002 0001
+blsi64 00000001c0a2862b -> 0000000000000001 0001
+blsi64 000000010addcd65 -> 0000000000000001 0001
+blsi64 00000000d7b2a9b5 -> 0000000000000001 0001
+blsi64 000000008cae2718 -> 0000000000000008 0001
+blsi64 000000006fc61693 -> 0000000000000001 0001
+blsi64 000000004686be6e -> 0000000000000002 0001
+blsi64 00000000380a0af2 -> 0000000000000002 0001
+blsi64 0000000021536a83 -> 0000000000000001 0001
+blsi64 000000001af3d8f7 -> 0000000000000001 0001
+blsi64 000000001193de15 -> 0000000000000001 0001
+blsi64 000000000df6b244 -> 0000000000000004 0001
+blsi64 0000000008d2446b -> 0000000000000001 0001
+blsi64 0000000007028a18 -> 0000000000000008 0001
+blsi64 00000000042b7735 -> 0000000000000001 0001
+blsi64 00000000035ecaa5 -> 0000000000000001 0001
+blsi64 000000000232b89b -> 0000000000000001 0001
+blsi64 0000000001bf185a -> 0000000000000002 0001
+blsi64 00000000011a1af9 -> 0000000000000001 0001
+blsi64 0000000000e0282a -> 0000000000000002 0001
+blsi64 0000000000854da9 -> 0000000000000001 0001
+blsi64 00000000006bcf62 -> 0000000000000002 0001
+blsi64 0000000000464f77 -> 0000000000000001 0001
+blsi64 000000000037dac9 -> 0000000000000001 0001
+blsi64 0000000000234910 -> 0000000000000010 0001
+blsi64 00000000001c0a27 -> 0000000000000001 0001
+blsi64 000000000010add9 -> 0000000000000001 0001
+blsi64 00000000000d7b28 -> 0000000000000008 0001
+blsi64 000000000008cae0 -> 0000000000000020 0001
+blsi64 000000000006fc5f -> 0000000000000001 0001
+blsi64 0000000000046871 -> 0000000000000001 0001
+blsi64 000000000003809d -> 0000000000000001 0001
+blsi64 000000000002152c -> 0000000000000004 0001
+blsi64 000000000001af3b -> 0000000000000001 0001
+blsi64 000000000001193c -> 0000000000000004 0001
+blsi64 000000000000df6a -> 0000000000000002 0001
+blsi64 0000000000008d23 -> 0000000000000001 0001
+blsi64 0000000000007026 -> 0000000000000002 0001
+blsi64 00000000000042b3 -> 0000000000000001 0001
+blsi64 00000000000035e9 -> 0000000000000001 0001
+blsi64 0000000000002329 -> 0000000000000001 0001
+blsi64 0000000000001bef -> 0000000000000001 0001
+blsi64 00000000000011a3 -> 0000000000000001 0001
+blsi64 0000000000000e02 -> 0000000000000002 0001
+blsi64 0000000000000853 -> 0000000000000001 0001
+blsi64 00000000000006ba -> 0000000000000002 0001
+blsi64 0000000000000464 -> 0000000000000004 0001
+blsi64 000000000000037d -> 0000000000000001 0001
+blsi64 0000000000000233 -> 0000000000000001 0001
+blsi64 00000000000001be -> 0000000000000002 0001
+blsi64 0000000000000119 -> 0000000000000001 0001
+blsi64 00000000000000de -> 0000000000000002 0001
+blsi64 000000000000008c -> 0000000000000004 0001
+blsi64 000000000000006f -> 0000000000000001 0001
+blsi64 0000000000000045 -> 0000000000000001 0001
+blsi64 0000000000000037 -> 0000000000000001 0001
+blsi64 0000000000000022 -> 0000000000000002 0001
+blsi64 000000000000001b -> 0000000000000001 0001
+blsi64 0000000000000010 -> 0000000000000010 0001
+blsi64 000000000000000c -> 0000000000000004 0001
+blsi64 0000000000000007 -> 0000000000000001 0001
+blsi64 0000000000000003 -> 0000000000000001 0001
+blsi64 0000000000000001 -> 0000000000000001 0001
+blsi64 0000000000000000 -> 0000000000000000 0040
+blsi32 fedc192837475675 -> 0000000000000001 0001
+blsi32 8efcf23ad7e922f3 -> 0000000000000001 0001
+blsi32 7068b90cdf850938 -> 0000000000000008 0001
+blsi32 42db3e5ed85503a5 -> 0000000000000001 0001
+blsi32 35eea72efbea67d7 -> 0000000000000001 0001
+blsi32 232c23d3b476ef47 -> 0000000000000001 0001
+blsi32 1bf0c1bf27fbb3ab -> 0000000000000001 0001
+blsi32 11a1311a29a562ea -> 0000000000000002 0001
+blsi32 0e02582b8350ffd0 -> 0000000000000010 0001
+blsi32 0854b4408f5b9e17 -> 0000000000000001 0001
+blsi32 06bcf33434328063 -> 0000000000000001 0001
+blsi32 0464f596e5f3ab8a -> 0000000000000002 0001
+blsi32 037dac8063df281c -> 0000000000000004 0001
+blsi32 0234910d6d0cfe89 -> 0000000000000001 0001
+blsi32 01c0a27d7eaa2575 -> 0000000000000001 0001
+blsi32 010adda943af43d8 -> 0000000000000008 0001
+blsi32 00d7b2ae8c91c8ce -> 0000000000000002 0001
+blsi32 008cae284a0c2065 -> 0000000000000001 0001
+blsi32 006fc6190eb4fc04 -> 0000000000000004 0001
+blsi32 004686bd6e829ce5 -> 0000000000000001 0001
+blsi32 00380a0b248034f1 -> 0000000000000001 0001
+blsi32 0021536a650d4fc6 -> 0000000000000002 0001
+blsi32 001af3d8d0c8c068 -> 0000000000000008 0001
+blsi32 001193de10460316 -> 0000000000000002 0001
+blsi32 000df6b241dd45c1 -> 0000000000000001 0001
+blsi32 0008d24469947f91 -> 0000000000000001 0001
+blsi32 0007028a17f7fc21 -> 0000000000000001 0001
+blsi32 00042b77370e9574 -> 0000000000000004 0001
+blsi32 00035ecaa6c8cb9c -> 0000000000000004 0001
+blsi32 000232b89c5ca207 -> 0000000000000001 0001
+blsi32 0001bf185a53fb83 -> 0000000000000001 0001
+blsi32 00011a1af9c2f08e -> 0000000000000002 0001
+blsi32 0000e0282bc137ba -> 0000000000000002 0001
+blsi32 0000854daa0b4caf -> 0000000000000001 0001
+blsi32 00006bcf63e2fc01 -> 0000000000000001 0001
+blsi32 0000464f7852a469 -> 0000000000000001 0001
+blsi32 000037dac915aa8f -> 0000000000000001 0001
+blsi32 0000234911b3280d -> 0000000000000001 0001
+blsi32 00001c0a2862c244 -> 0000000000000004 0001
+blsi32 000010addcd6577a -> 0000000000000002 0001
+blsi32 00000d7b2a9b6ac9 -> 0000000000000001 0001
+blsi32 000008cae2719cd4 -> 0000000000000004 0001
+blsi32 000006fc61694403 -> 0000000000000001 0001
+blsi32 000004686be70610 -> 0000000000000010 0001
+blsi32 00000380a0af0023 -> 0000000000000001 0001
+blsi32 0000021536a82984 -> 0000000000000004 0001
+blsi32 000001af3d8f8abd -> 0000000000000001 0001
+blsi32 000001193de14a82 -> 0000000000000002 0001
+blsi32 000000df6b24569d -> 0000000000000001 0001
+blsi32 0000008d2446cc8e -> 0000000000000002 0001
+blsi32 0000007028a18af6 -> 0000000000000002 0001
+blsi32 00000042b7735995 -> 0000000000000001 0001
+blsi32 00000035ecaa6d9d -> 0000000000000001 0001
+blsi32 000000232b89c661 -> 0000000000000001 0001
+blsi32 0000001bf185a509 -> 0000000000000001 0001
+blsi32 00000011a1af9c11 -> 0000000000000001 0001
+blsi32 0000000e0282bbfd -> 0000000000000001 0001
+blsi32 0000000854daa1a4 -> 0000000000000004 0001
+blsi32 00000006bcf63eb9 -> 0000000000000001 0001
+blsi32 0000000464f78590 -> 0000000000000010 0001
+blsi32 000000037dac916c -> 0000000000000004 0001
+blsi32 0000000234911b32 -> 0000000000000002 0001
+blsi32 00000001c0a2862b -> 0000000000000001 0001
+blsi32 000000010addcd65 -> 0000000000000001 0001
+blsi32 00000000d7b2a9b5 -> 0000000000000001 0001
+blsi32 000000008cae2718 -> 0000000000000008 0001
+blsi32 000000006fc61693 -> 0000000000000001 0001
+blsi32 000000004686be6e -> 0000000000000002 0001
+blsi32 00000000380a0af2 -> 0000000000000002 0001
+blsi32 0000000021536a83 -> 0000000000000001 0001
+blsi32 000000001af3d8f7 -> 0000000000000001 0001
+blsi32 000000001193de15 -> 0000000000000001 0001
+blsi32 000000000df6b244 -> 0000000000000004 0001
+blsi32 0000000008d2446b -> 0000000000000001 0001
+blsi32 0000000007028a18 -> 0000000000000008 0001
+blsi32 00000000042b7735 -> 0000000000000001 0001
+blsi32 00000000035ecaa5 -> 0000000000000001 0001
+blsi32 000000000232b89b -> 0000000000000001 0001
+blsi32 0000000001bf185a -> 0000000000000002 0001
+blsi32 00000000011a1af9 -> 0000000000000001 0001
+blsi32 0000000000e0282a -> 0000000000000002 0001
+blsi32 0000000000854da9 -> 0000000000000001 0001
+blsi32 00000000006bcf62 -> 0000000000000002 0001
+blsi32 0000000000464f77 -> 0000000000000001 0001
+blsi32 000000000037dac9 -> 0000000000000001 0001
+blsi32 0000000000234910 -> 0000000000000010 0001
+blsi32 00000000001c0a27 -> 0000000000000001 0001
+blsi32 000000000010add9 -> 0000000000000001 0001
+blsi32 00000000000d7b28 -> 0000000000000008 0001
+blsi32 000000000008cae0 -> 0000000000000020 0001
+blsi32 000000000006fc5f -> 0000000000000001 0001
+blsi32 0000000000046871 -> 0000000000000001 0001
+blsi32 000000000003809d -> 0000000000000001 0001
+blsi32 000000000002152c -> 0000000000000004 0001
+blsi32 000000000001af3b -> 0000000000000001 0001
+blsi32 000000000001193c -> 0000000000000004 0001
+blsi32 000000000000df6a -> 0000000000000002 0001
+blsi32 0000000000008d23 -> 0000000000000001 0001
+blsi32 0000000000007026 -> 0000000000000002 0001
+blsi32 00000000000042b3 -> 0000000000000001 0001
+blsi32 00000000000035e9 -> 0000000000000001 0001
+blsi32 0000000000002329 -> 0000000000000001 0001
+blsi32 0000000000001bef -> 0000000000000001 0001
+blsi32 00000000000011a3 -> 0000000000000001 0001
+blsi32 0000000000000e02 -> 0000000000000002 0001
+blsi32 0000000000000853 -> 0000000000000001 0001
+blsi32 00000000000006ba -> 0000000000000002 0001
+blsi32 0000000000000464 -> 0000000000000004 0001
+blsi32 000000000000037d -> 0000000000000001 0001
+blsi32 0000000000000233 -> 0000000000000001 0001
+blsi32 00000000000001be -> 0000000000000002 0001
+blsi32 0000000000000119 -> 0000000000000001 0001
+blsi32 00000000000000de -> 0000000000000002 0001
+blsi32 000000000000008c -> 0000000000000004 0001
+blsi32 000000000000006f -> 0000000000000001 0001
+blsi32 0000000000000045 -> 0000000000000001 0001
+blsi32 0000000000000037 -> 0000000000000001 0001
+blsi32 0000000000000022 -> 0000000000000002 0001
+blsi32 000000000000001b -> 0000000000000001 0001
+blsi32 0000000000000010 -> 0000000000000010 0001
+blsi32 000000000000000c -> 0000000000000004 0001
+blsi32 0000000000000007 -> 0000000000000001 0001
+blsi32 0000000000000003 -> 0000000000000001 0001
+blsi32 0000000000000001 -> 0000000000000001 0001
+blsi32 0000000000000000 -> 0000000000000000 0040
+blsmsk64 fedc192837475675 -> 0000000000000001 0000
+blsmsk64 8efcf23ad7e922f3 -> 0000000000000001 0000
+blsmsk64 7068b90cdf850938 -> 000000000000000f 0000
+blsmsk64 42db3e5ed85503a5 -> 0000000000000001 0000
+blsmsk64 35eea72efbea67d7 -> 0000000000000001 0000
+blsmsk64 232c23d3b476ef47 -> 0000000000000001 0000
+blsmsk64 1bf0c1bf27fbb3ab -> 0000000000000001 0000
+blsmsk64 11a1311a29a562ea -> 0000000000000003 0000
+blsmsk64 0e02582b8350ffd0 -> 000000000000001f 0000
+blsmsk64 0854b4408f5b9e17 -> 0000000000000001 0000
+blsmsk64 06bcf33434328063 -> 0000000000000001 0000
+blsmsk64 0464f596e5f3ab8a -> 0000000000000003 0000
+blsmsk64 037dac8063df281c -> 0000000000000007 0000
+blsmsk64 0234910d6d0cfe89 -> 0000000000000001 0000
+blsmsk64 01c0a27d7eaa2575 -> 0000000000000001 0000
+blsmsk64 010adda943af43d8 -> 000000000000000f 0000
+blsmsk64 00d7b2ae8c91c8ce -> 0000000000000003 0000
+blsmsk64 008cae284a0c2065 -> 0000000000000001 0000
+blsmsk64 006fc6190eb4fc04 -> 0000000000000007 0000
+blsmsk64 004686bd6e829ce5 -> 0000000000000001 0000
+blsmsk64 00380a0b248034f1 -> 0000000000000001 0000
+blsmsk64 0021536a650d4fc6 -> 0000000000000003 0000
+blsmsk64 001af3d8d0c8c068 -> 000000000000000f 0000
+blsmsk64 001193de10460316 -> 0000000000000003 0000
+blsmsk64 000df6b241dd45c1 -> 0000000000000001 0000
+blsmsk64 0008d24469947f91 -> 0000000000000001 0000
+blsmsk64 0007028a17f7fc21 -> 0000000000000001 0000
+blsmsk64 00042b77370e9574 -> 0000000000000007 0000
+blsmsk64 00035ecaa6c8cb9c -> 0000000000000007 0000
+blsmsk64 000232b89c5ca207 -> 0000000000000001 0000
+blsmsk64 0001bf185a53fb83 -> 0000000000000001 0000
+blsmsk64 00011a1af9c2f08e -> 0000000000000003 0000
+blsmsk64 0000e0282bc137ba -> 0000000000000003 0000
+blsmsk64 0000854daa0b4caf -> 0000000000000001 0000
+blsmsk64 00006bcf63e2fc01 -> 0000000000000001 0000
+blsmsk64 0000464f7852a469 -> 0000000000000001 0000
+blsmsk64 000037dac915aa8f -> 0000000000000001 0000
+blsmsk64 0000234911b3280d -> 0000000000000001 0000
+blsmsk64 00001c0a2862c244 -> 0000000000000007 0000
+blsmsk64 000010addcd6577a -> 0000000000000003 0000
+blsmsk64 00000d7b2a9b6ac9 -> 0000000000000001 0000
+blsmsk64 000008cae2719cd4 -> 0000000000000007 0000
+blsmsk64 000006fc61694403 -> 0000000000000001 0000
+blsmsk64 000004686be70610 -> 000000000000001f 0000
+blsmsk64 00000380a0af0023 -> 0000000000000001 0000
+blsmsk64 0000021536a82984 -> 0000000000000007 0000
+blsmsk64 000001af3d8f8abd -> 0000000000000001 0000
+blsmsk64 000001193de14a82 -> 0000000000000003 0000
+blsmsk64 000000df6b24569d -> 0000000000000001 0000
+blsmsk64 0000008d2446cc8e -> 0000000000000003 0000
+blsmsk64 0000007028a18af6 -> 0000000000000003 0000
+blsmsk64 00000042b7735995 -> 0000000000000001 0000
+blsmsk64 00000035ecaa6d9d -> 0000000000000001 0000
+blsmsk64 000000232b89c661 -> 0000000000000001 0000
+blsmsk64 0000001bf185a509 -> 0000000000000001 0000
+blsmsk64 00000011a1af9c11 -> 0000000000000001 0000
+blsmsk64 0000000e0282bbfd -> 0000000000000001 0000
+blsmsk64 0000000854daa1a4 -> 0000000000000007 0000
+blsmsk64 00000006bcf63eb9 -> 0000000000000001 0000
+blsmsk64 0000000464f78590 -> 000000000000001f 0000
+blsmsk64 000000037dac916c -> 0000000000000007 0000
+blsmsk64 0000000234911b32 -> 0000000000000003 0000
+blsmsk64 00000001c0a2862b -> 0000000000000001 0000
+blsmsk64 000000010addcd65 -> 0000000000000001 0000
+blsmsk64 00000000d7b2a9b5 -> 0000000000000001 0000
+blsmsk64 000000008cae2718 -> 000000000000000f 0000
+blsmsk64 000000006fc61693 -> 0000000000000001 0000
+blsmsk64 000000004686be6e -> 0000000000000003 0000
+blsmsk64 00000000380a0af2 -> 0000000000000003 0000
+blsmsk64 0000000021536a83 -> 0000000000000001 0000
+blsmsk64 000000001af3d8f7 -> 0000000000000001 0000
+blsmsk64 000000001193de15 -> 0000000000000001 0000
+blsmsk64 000000000df6b244 -> 0000000000000007 0000
+blsmsk64 0000000008d2446b -> 0000000000000001 0000
+blsmsk64 0000000007028a18 -> 000000000000000f 0000
+blsmsk64 00000000042b7735 -> 0000000000000001 0000
+blsmsk64 00000000035ecaa5 -> 0000000000000001 0000
+blsmsk64 000000000232b89b -> 0000000000000001 0000
+blsmsk64 0000000001bf185a -> 0000000000000003 0000
+blsmsk64 00000000011a1af9 -> 0000000000000001 0000
+blsmsk64 0000000000e0282a -> 0000000000000003 0000
+blsmsk64 0000000000854da9 -> 0000000000000001 0000
+blsmsk64 00000000006bcf62 -> 0000000000000003 0000
+blsmsk64 0000000000464f77 -> 0000000000000001 0000
+blsmsk64 000000000037dac9 -> 0000000000000001 0000
+blsmsk64 0000000000234910 -> 000000000000001f 0000
+blsmsk64 00000000001c0a27 -> 0000000000000001 0000
+blsmsk64 000000000010add9 -> 0000000000000001 0000
+blsmsk64 00000000000d7b28 -> 000000000000000f 0000
+blsmsk64 000000000008cae0 -> 000000000000003f 0000
+blsmsk64 000000000006fc5f -> 0000000000000001 0000
+blsmsk64 0000000000046871 -> 0000000000000001 0000
+blsmsk64 000000000003809d -> 0000000000000001 0000
+blsmsk64 000000000002152c -> 0000000000000007 0000
+blsmsk64 000000000001af3b -> 0000000000000001 0000
+blsmsk64 000000000001193c -> 0000000000000007 0000
+blsmsk64 000000000000df6a -> 0000000000000003 0000
+blsmsk64 0000000000008d23 -> 0000000000000001 0000
+blsmsk64 0000000000007026 -> 0000000000000003 0000
+blsmsk64 00000000000042b3 -> 0000000000000001 0000
+blsmsk64 00000000000035e9 -> 0000000000000001 0000
+blsmsk64 0000000000002329 -> 0000000000000001 0000
+blsmsk64 0000000000001bef -> 0000000000000001 0000
+blsmsk64 00000000000011a3 -> 0000000000000001 0000
+blsmsk64 0000000000000e02 -> 0000000000000003 0000
+blsmsk64 0000000000000853 -> 0000000000000001 0000
+blsmsk64 00000000000006ba -> 0000000000000003 0000
+blsmsk64 0000000000000464 -> 0000000000000007 0000
+blsmsk64 000000000000037d -> 0000000000000001 0000
+blsmsk64 0000000000000233 -> 0000000000000001 0000
+blsmsk64 00000000000001be -> 0000000000000003 0000
+blsmsk64 0000000000000119 -> 0000000000000001 0000
+blsmsk64 00000000000000de -> 0000000000000003 0000
+blsmsk64 000000000000008c -> 0000000000000007 0000
+blsmsk64 000000000000006f -> 0000000000000001 0000
+blsmsk64 0000000000000045 -> 0000000000000001 0000
+blsmsk64 0000000000000037 -> 0000000000000001 0000
+blsmsk64 0000000000000022 -> 0000000000000003 0000
+blsmsk64 000000000000001b -> 0000000000000001 0000
+blsmsk64 0000000000000010 -> 000000000000001f 0000
+blsmsk64 000000000000000c -> 0000000000000007 0000
+blsmsk64 0000000000000007 -> 0000000000000001 0000
+blsmsk64 0000000000000003 -> 0000000000000001 0000
+blsmsk64 0000000000000001 -> 0000000000000001 0000
+blsmsk64 0000000000000000 -> ffffffffffffffff 0081
+blsmsk32 fedc192837475675 -> 0000000000000001 0000
+blsmsk32 8efcf23ad7e922f3 -> 0000000000000001 0000
+blsmsk32 7068b90cdf850938 -> 000000000000000f 0000
+blsmsk32 42db3e5ed85503a5 -> 0000000000000001 0000
+blsmsk32 35eea72efbea67d7 -> 0000000000000001 0000
+blsmsk32 232c23d3b476ef47 -> 0000000000000001 0000
+blsmsk32 1bf0c1bf27fbb3ab -> 0000000000000001 0000
+blsmsk32 11a1311a29a562ea -> 0000000000000003 0000
+blsmsk32 0e02582b8350ffd0 -> 000000000000001f 0000
+blsmsk32 0854b4408f5b9e17 -> 0000000000000001 0000
+blsmsk32 06bcf33434328063 -> 0000000000000001 0000
+blsmsk32 0464f596e5f3ab8a -> 0000000000000003 0000
+blsmsk32 037dac8063df281c -> 0000000000000007 0000
+blsmsk32 0234910d6d0cfe89 -> 0000000000000001 0000
+blsmsk32 01c0a27d7eaa2575 -> 0000000000000001 0000
+blsmsk32 010adda943af43d8 -> 000000000000000f 0000
+blsmsk32 00d7b2ae8c91c8ce -> 0000000000000003 0000
+blsmsk32 008cae284a0c2065 -> 0000000000000001 0000
+blsmsk32 006fc6190eb4fc04 -> 0000000000000007 0000
+blsmsk32 004686bd6e829ce5 -> 0000000000000001 0000
+blsmsk32 00380a0b248034f1 -> 0000000000000001 0000
+blsmsk32 0021536a650d4fc6 -> 0000000000000003 0000
+blsmsk32 001af3d8d0c8c068 -> 000000000000000f 0000
+blsmsk32 001193de10460316 -> 0000000000000003 0000
+blsmsk32 000df6b241dd45c1 -> 0000000000000001 0000
+blsmsk32 0008d24469947f91 -> 0000000000000001 0000
+blsmsk32 0007028a17f7fc21 -> 0000000000000001 0000
+blsmsk32 00042b77370e9574 -> 0000000000000007 0000
+blsmsk32 00035ecaa6c8cb9c -> 0000000000000007 0000
+blsmsk32 000232b89c5ca207 -> 0000000000000001 0000
+blsmsk32 0001bf185a53fb83 -> 0000000000000001 0000
+blsmsk32 00011a1af9c2f08e -> 0000000000000003 0000
+blsmsk32 0000e0282bc137ba -> 0000000000000003 0000
+blsmsk32 0000854daa0b4caf -> 0000000000000001 0000
+blsmsk32 00006bcf63e2fc01 -> 0000000000000001 0000
+blsmsk32 0000464f7852a469 -> 0000000000000001 0000
+blsmsk32 000037dac915aa8f -> 0000000000000001 0000
+blsmsk32 0000234911b3280d -> 0000000000000001 0000
+blsmsk32 00001c0a2862c244 -> 0000000000000007 0000
+blsmsk32 000010addcd6577a -> 0000000000000003 0000
+blsmsk32 00000d7b2a9b6ac9 -> 0000000000000001 0000
+blsmsk32 000008cae2719cd4 -> 0000000000000007 0000
+blsmsk32 000006fc61694403 -> 0000000000000001 0000
+blsmsk32 000004686be70610 -> 000000000000001f 0000
+blsmsk32 00000380a0af0023 -> 0000000000000001 0000
+blsmsk32 0000021536a82984 -> 0000000000000007 0000
+blsmsk32 000001af3d8f8abd -> 0000000000000001 0000
+blsmsk32 000001193de14a82 -> 0000000000000003 0000
+blsmsk32 000000df6b24569d -> 0000000000000001 0000
+blsmsk32 0000008d2446cc8e -> 0000000000000003 0000
+blsmsk32 0000007028a18af6 -> 0000000000000003 0000
+blsmsk32 00000042b7735995 -> 0000000000000001 0000
+blsmsk32 00000035ecaa6d9d -> 0000000000000001 0000
+blsmsk32 000000232b89c661 -> 0000000000000001 0000
+blsmsk32 0000001bf185a509 -> 0000000000000001 0000
+blsmsk32 00000011a1af9c11 -> 0000000000000001 0000
+blsmsk32 0000000e0282bbfd -> 0000000000000001 0000
+blsmsk32 0000000854daa1a4 -> 0000000000000007 0000
+blsmsk32 00000006bcf63eb9 -> 0000000000000001 0000
+blsmsk32 0000000464f78590 -> 000000000000001f 0000
+blsmsk32 000000037dac916c -> 0000000000000007 0000
+blsmsk32 0000000234911b32 -> 0000000000000003 0000
+blsmsk32 00000001c0a2862b -> 0000000000000001 0000
+blsmsk32 000000010addcd65 -> 0000000000000001 0000
+blsmsk32 00000000d7b2a9b5 -> 0000000000000001 0000
+blsmsk32 000000008cae2718 -> 000000000000000f 0000
+blsmsk32 000000006fc61693 -> 0000000000000001 0000
+blsmsk32 000000004686be6e -> 0000000000000003 0000
+blsmsk32 00000000380a0af2 -> 0000000000000003 0000
+blsmsk32 0000000021536a83 -> 0000000000000001 0000
+blsmsk32 000000001af3d8f7 -> 0000000000000001 0000
+blsmsk32 000000001193de15 -> 0000000000000001 0000
+blsmsk32 000000000df6b244 -> 0000000000000007 0000
+blsmsk32 0000000008d2446b -> 0000000000000001 0000
+blsmsk32 0000000007028a18 -> 000000000000000f 0000
+blsmsk32 00000000042b7735 -> 0000000000000001 0000
+blsmsk32 00000000035ecaa5 -> 0000000000000001 0000
+blsmsk32 000000000232b89b -> 0000000000000001 0000
+blsmsk32 0000000001bf185a -> 0000000000000003 0000
+blsmsk32 00000000011a1af9 -> 0000000000000001 0000
+blsmsk32 0000000000e0282a -> 0000000000000003 0000
+blsmsk32 0000000000854da9 -> 0000000000000001 0000
+blsmsk32 00000000006bcf62 -> 0000000000000003 0000
+blsmsk32 0000000000464f77 -> 0000000000000001 0000
+blsmsk32 000000000037dac9 -> 0000000000000001 0000
+blsmsk32 0000000000234910 -> 000000000000001f 0000
+blsmsk32 00000000001c0a27 -> 0000000000000001 0000
+blsmsk32 000000000010add9 -> 0000000000000001 0000
+blsmsk32 00000000000d7b28 -> 000000000000000f 0000
+blsmsk32 000000000008cae0 -> 000000000000003f 0000
+blsmsk32 000000000006fc5f -> 0000000000000001 0000
+blsmsk32 0000000000046871 -> 0000000000000001 0000
+blsmsk32 000000000003809d -> 0000000000000001 0000
+blsmsk32 000000000002152c -> 0000000000000007 0000
+blsmsk32 000000000001af3b -> 0000000000000001 0000
+blsmsk32 000000000001193c -> 0000000000000007 0000
+blsmsk32 000000000000df6a -> 0000000000000003 0000
+blsmsk32 0000000000008d23 -> 0000000000000001 0000
+blsmsk32 0000000000007026 -> 0000000000000003 0000
+blsmsk32 00000000000042b3 -> 0000000000000001 0000
+blsmsk32 00000000000035e9 -> 0000000000000001 0000
+blsmsk32 0000000000002329 -> 0000000000000001 0000
+blsmsk32 0000000000001bef -> 0000000000000001 0000
+blsmsk32 00000000000011a3 -> 0000000000000001 0000
+blsmsk32 0000000000000e02 -> 0000000000000003 0000
+blsmsk32 0000000000000853 -> 0000000000000001 0000
+blsmsk32 00000000000006ba -> 0000000000000003 0000
+blsmsk32 0000000000000464 -> 0000000000000007 0000
+blsmsk32 000000000000037d -> 0000000000000001 0000
+blsmsk32 0000000000000233 -> 0000000000000001 0000
+blsmsk32 00000000000001be -> 0000000000000003 0000
+blsmsk32 0000000000000119 -> 0000000000000001 0000
+blsmsk32 00000000000000de -> 0000000000000003 0000
+blsmsk32 000000000000008c -> 0000000000000007 0000
+blsmsk32 000000000000006f -> 0000000000000001 0000
+blsmsk32 0000000000000045 -> 0000000000000001 0000
+blsmsk32 0000000000000037 -> 0000000000000001 0000
+blsmsk32 0000000000000022 -> 0000000000000003 0000
+blsmsk32 000000000000001b -> 0000000000000001 0000
+blsmsk32 0000000000000010 -> 000000000000001f 0000
+blsmsk32 000000000000000c -> 0000000000000007 0000
+blsmsk32 0000000000000007 -> 0000000000000001 0000
+blsmsk32 0000000000000003 -> 0000000000000001 0000
+blsmsk32 0000000000000001 -> 0000000000000001 0000
+blsmsk32 0000000000000000 -> 00000000ffffffff 0081
+blsr64 fedc192837475675 -> fedc192837475674 0080
+blsr64 8efcf23ad7e922f3 -> 8efcf23ad7e922f2 0080
+blsr64 7068b90cdf850938 -> 7068b90cdf850930 0000
+blsr64 42db3e5ed85503a5 -> 42db3e5ed85503a4 0000
+blsr64 35eea72efbea67d7 -> 35eea72efbea67d6 0000
+blsr64 232c23d3b476ef47 -> 232c23d3b476ef46 0000
+blsr64 1bf0c1bf27fbb3ab -> 1bf0c1bf27fbb3aa 0000
+blsr64 11a1311a29a562ea -> 11a1311a29a562e8 0000
+blsr64 0e02582b8350ffd0 -> 0e02582b8350ffc0 0000
+blsr64 0854b4408f5b9e17 -> 0854b4408f5b9e16 0000
+blsr64 06bcf33434328063 -> 06bcf33434328062 0000
+blsr64 0464f596e5f3ab8a -> 0464f596e5f3ab88 0000
+blsr64 037dac8063df281c -> 037dac8063df2818 0000
+blsr64 0234910d6d0cfe89 -> 0234910d6d0cfe88 0000
+blsr64 01c0a27d7eaa2575 -> 01c0a27d7eaa2574 0000
+blsr64 010adda943af43d8 -> 010adda943af43d0 0000
+blsr64 00d7b2ae8c91c8ce -> 00d7b2ae8c91c8cc 0000
+blsr64 008cae284a0c2065 -> 008cae284a0c2064 0000
+blsr64 006fc6190eb4fc04 -> 006fc6190eb4fc00 0000
+blsr64 004686bd6e829ce5 -> 004686bd6e829ce4 0000
+blsr64 00380a0b248034f1 -> 00380a0b248034f0 0000
+blsr64 0021536a650d4fc6 -> 0021536a650d4fc4 0000
+blsr64 001af3d8d0c8c068 -> 001af3d8d0c8c060 0000
+blsr64 001193de10460316 -> 001193de10460314 0000
+blsr64 000df6b241dd45c1 -> 000df6b241dd45c0 0000
+blsr64 0008d24469947f91 -> 0008d24469947f90 0000
+blsr64 0007028a17f7fc21 -> 0007028a17f7fc20 0000
+blsr64 00042b77370e9574 -> 00042b77370e9570 0000
+blsr64 00035ecaa6c8cb9c -> 00035ecaa6c8cb98 0000
+blsr64 000232b89c5ca207 -> 000232b89c5ca206 0000
+blsr64 0001bf185a53fb83 -> 0001bf185a53fb82 0000
+blsr64 00011a1af9c2f08e -> 00011a1af9c2f08c 0000
+blsr64 0000e0282bc137ba -> 0000e0282bc137b8 0000
+blsr64 0000854daa0b4caf -> 0000854daa0b4cae 0000
+blsr64 00006bcf63e2fc01 -> 00006bcf63e2fc00 0000
+blsr64 0000464f7852a469 -> 0000464f7852a468 0000
+blsr64 000037dac915aa8f -> 000037dac915aa8e 0000
+blsr64 0000234911b3280d -> 0000234911b3280c 0000
+blsr64 00001c0a2862c244 -> 00001c0a2862c240 0000
+blsr64 000010addcd6577a -> 000010addcd65778 0000
+blsr64 00000d7b2a9b6ac9 -> 00000d7b2a9b6ac8 0000
+blsr64 000008cae2719cd4 -> 000008cae2719cd0 0000
+blsr64 000006fc61694403 -> 000006fc61694402 0000
+blsr64 000004686be70610 -> 000004686be70600 0000
+blsr64 00000380a0af0023 -> 00000380a0af0022 0000
+blsr64 0000021536a82984 -> 0000021536a82980 0000
+blsr64 000001af3d8f8abd -> 000001af3d8f8abc 0000
+blsr64 000001193de14a82 -> 000001193de14a80 0000
+blsr64 000000df6b24569d -> 000000df6b24569c 0000
+blsr64 0000008d2446cc8e -> 0000008d2446cc8c 0000
+blsr64 0000007028a18af6 -> 0000007028a18af4 0000
+blsr64 00000042b7735995 -> 00000042b7735994 0000
+blsr64 00000035ecaa6d9d -> 00000035ecaa6d9c 0000
+blsr64 000000232b89c661 -> 000000232b89c660 0000
+blsr64 0000001bf185a509 -> 0000001bf185a508 0000
+blsr64 00000011a1af9c11 -> 00000011a1af9c10 0000
+blsr64 0000000e0282bbfd -> 0000000e0282bbfc 0000
+blsr64 0000000854daa1a4 -> 0000000854daa1a0 0000
+blsr64 00000006bcf63eb9 -> 00000006bcf63eb8 0000
+blsr64 0000000464f78590 -> 0000000464f78580 0000
+blsr64 000000037dac916c -> 000000037dac9168 0000
+blsr64 0000000234911b32 -> 0000000234911b30 0000
+blsr64 00000001c0a2862b -> 00000001c0a2862a 0000
+blsr64 000000010addcd65 -> 000000010addcd64 0000
+blsr64 00000000d7b2a9b5 -> 00000000d7b2a9b4 0000
+blsr64 000000008cae2718 -> 000000008cae2710 0000
+blsr64 000000006fc61693 -> 000000006fc61692 0000
+blsr64 000000004686be6e -> 000000004686be6c 0000
+blsr64 00000000380a0af2 -> 00000000380a0af0 0000
+blsr64 0000000021536a83 -> 0000000021536a82 0000
+blsr64 000000001af3d8f7 -> 000000001af3d8f6 0000
+blsr64 000000001193de15 -> 000000001193de14 0000
+blsr64 000000000df6b244 -> 000000000df6b240 0000
+blsr64 0000000008d2446b -> 0000000008d2446a 0000
+blsr64 0000000007028a18 -> 0000000007028a10 0000
+blsr64 00000000042b7735 -> 00000000042b7734 0000
+blsr64 00000000035ecaa5 -> 00000000035ecaa4 0000
+blsr64 000000000232b89b -> 000000000232b89a 0000
+blsr64 0000000001bf185a -> 0000000001bf1858 0000
+blsr64 00000000011a1af9 -> 00000000011a1af8 0000
+blsr64 0000000000e0282a -> 0000000000e02828 0000
+blsr64 0000000000854da9 -> 0000000000854da8 0000
+blsr64 00000000006bcf62 -> 00000000006bcf60 0000
+blsr64 0000000000464f77 -> 0000000000464f76 0000
+blsr64 000000000037dac9 -> 000000000037dac8 0000
+blsr64 0000000000234910 -> 0000000000234900 0000
+blsr64 00000000001c0a27 -> 00000000001c0a26 0000
+blsr64 000000000010add9 -> 000000000010add8 0000
+blsr64 00000000000d7b28 -> 00000000000d7b20 0000
+blsr64 000000000008cae0 -> 000000000008cac0 0000
+blsr64 000000000006fc5f -> 000000000006fc5e 0000
+blsr64 0000000000046871 -> 0000000000046870 0000
+blsr64 000000000003809d -> 000000000003809c 0000
+blsr64 000000000002152c -> 0000000000021528 0000
+blsr64 000000000001af3b -> 000000000001af3a 0000
+blsr64 000000000001193c -> 0000000000011938 0000
+blsr64 000000000000df6a -> 000000000000df68 0000
+blsr64 0000000000008d23 -> 0000000000008d22 0000
+blsr64 0000000000007026 -> 0000000000007024 0000
+blsr64 00000000000042b3 -> 00000000000042b2 0000
+blsr64 00000000000035e9 -> 00000000000035e8 0000
+blsr64 0000000000002329 -> 0000000000002328 0000
+blsr64 0000000000001bef -> 0000000000001bee 0000
+blsr64 00000000000011a3 -> 00000000000011a2 0000
+blsr64 0000000000000e02 -> 0000000000000e00 0000
+blsr64 0000000000000853 -> 0000000000000852 0000
+blsr64 00000000000006ba -> 00000000000006b8 0000
+blsr64 0000000000000464 -> 0000000000000460 0000
+blsr64 000000000000037d -> 000000000000037c 0000
+blsr64 0000000000000233 -> 0000000000000232 0000
+blsr64 00000000000001be -> 00000000000001bc 0000
+blsr64 0000000000000119 -> 0000000000000118 0000
+blsr64 00000000000000de -> 00000000000000dc 0000
+blsr64 000000000000008c -> 0000000000000088 0000
+blsr64 000000000000006f -> 000000000000006e 0000
+blsr64 0000000000000045 -> 0000000000000044 0000
+blsr64 0000000000000037 -> 0000000000000036 0000
+blsr64 0000000000000022 -> 0000000000000020 0000
+blsr64 000000000000001b -> 000000000000001a 0000
+blsr64 0000000000000010 -> 0000000000000000 0040
+blsr64 000000000000000c -> 0000000000000008 0000
+blsr64 0000000000000007 -> 0000000000000006 0000
+blsr64 0000000000000003 -> 0000000000000002 0000
+blsr64 0000000000000001 -> 0000000000000000 0040
+blsr64 0000000000000000 -> 0000000000000000 0041
+blsr32 fedc192837475675 -> 0000000037475674 0000
+blsr32 8efcf23ad7e922f3 -> 00000000d7e922f2 0080
+blsr32 7068b90cdf850938 -> 00000000df850930 0080
+blsr32 42db3e5ed85503a5 -> 00000000d85503a4 0080
+blsr32 35eea72efbea67d7 -> 00000000fbea67d6 0080
+blsr32 232c23d3b476ef47 -> 00000000b476ef46 0080
+blsr32 1bf0c1bf27fbb3ab -> 0000000027fbb3aa 0000
+blsr32 11a1311a29a562ea -> 0000000029a562e8 0000
+blsr32 0e02582b8350ffd0 -> 000000008350ffc0 0080
+blsr32 0854b4408f5b9e17 -> 000000008f5b9e16 0080
+blsr32 06bcf33434328063 -> 0000000034328062 0000
+blsr32 0464f596e5f3ab8a -> 00000000e5f3ab88 0080
+blsr32 037dac8063df281c -> 0000000063df2818 0000
+blsr32 0234910d6d0cfe89 -> 000000006d0cfe88 0000
+blsr32 01c0a27d7eaa2575 -> 000000007eaa2574 0000
+blsr32 010adda943af43d8 -> 0000000043af43d0 0000
+blsr32 00d7b2ae8c91c8ce -> 000000008c91c8cc 0080
+blsr32 008cae284a0c2065 -> 000000004a0c2064 0000
+blsr32 006fc6190eb4fc04 -> 000000000eb4fc00 0000
+blsr32 004686bd6e829ce5 -> 000000006e829ce4 0000
+blsr32 00380a0b248034f1 -> 00000000248034f0 0000
+blsr32 0021536a650d4fc6 -> 00000000650d4fc4 0000
+blsr32 001af3d8d0c8c068 -> 00000000d0c8c060 0080
+blsr32 001193de10460316 -> 0000000010460314 0000
+blsr32 000df6b241dd45c1 -> 0000000041dd45c0 0000
+blsr32 0008d24469947f91 -> 0000000069947f90 0000
+blsr32 0007028a17f7fc21 -> 0000000017f7fc20 0000
+blsr32 00042b77370e9574 -> 00000000370e9570 0000
+blsr32 00035ecaa6c8cb9c -> 00000000a6c8cb98 0080
+blsr32 000232b89c5ca207 -> 000000009c5ca206 0080
+blsr32 0001bf185a53fb83 -> 000000005a53fb82 0000
+blsr32 00011a1af9c2f08e -> 00000000f9c2f08c 0080
+blsr32 0000e0282bc137ba -> 000000002bc137b8 0000
+blsr32 0000854daa0b4caf -> 00000000aa0b4cae 0080
+blsr32 00006bcf63e2fc01 -> 0000000063e2fc00 0000
+blsr32 0000464f7852a469 -> 000000007852a468 0000
+blsr32 000037dac915aa8f -> 00000000c915aa8e 0080
+blsr32 0000234911b3280d -> 0000000011b3280c 0000
+blsr32 00001c0a2862c244 -> 000000002862c240 0000
+blsr32 000010addcd6577a -> 00000000dcd65778 0080
+blsr32 00000d7b2a9b6ac9 -> 000000002a9b6ac8 0000
+blsr32 000008cae2719cd4 -> 00000000e2719cd0 0080
+blsr32 000006fc61694403 -> 0000000061694402 0000
+blsr32 000004686be70610 -> 000000006be70600 0000
+blsr32 00000380a0af0023 -> 00000000a0af0022 0080
+blsr32 0000021536a82984 -> 0000000036a82980 0000
+blsr32 000001af3d8f8abd -> 000000003d8f8abc 0000
+blsr32 000001193de14a82 -> 000000003de14a80 0000
+blsr32 000000df6b24569d -> 000000006b24569c 0000
+blsr32 0000008d2446cc8e -> 000000002446cc8c 0000
+blsr32 0000007028a18af6 -> 0000000028a18af4 0000
+blsr32 00000042b7735995 -> 00000000b7735994 0080
+blsr32 00000035ecaa6d9d -> 00000000ecaa6d9c 0080
+blsr32 000000232b89c661 -> 000000002b89c660 0000
+blsr32 0000001bf185a509 -> 00000000f185a508 0080
+blsr32 00000011a1af9c11 -> 00000000a1af9c10 0080
+blsr32 0000000e0282bbfd -> 000000000282bbfc 0000
+blsr32 0000000854daa1a4 -> 0000000054daa1a0 0000
+blsr32 00000006bcf63eb9 -> 00000000bcf63eb8 0080
+blsr32 0000000464f78590 -> 0000000064f78580 0000
+blsr32 000000037dac916c -> 000000007dac9168 0000
+blsr32 0000000234911b32 -> 0000000034911b30 0000
+blsr32 00000001c0a2862b -> 00000000c0a2862a 0080
+blsr32 000000010addcd65 -> 000000000addcd64 0000
+blsr32 00000000d7b2a9b5 -> 00000000d7b2a9b4 0080
+blsr32 000000008cae2718 -> 000000008cae2710 0080
+blsr32 000000006fc61693 -> 000000006fc61692 0000
+blsr32 000000004686be6e -> 000000004686be6c 0000
+blsr32 00000000380a0af2 -> 00000000380a0af0 0000
+blsr32 0000000021536a83 -> 0000000021536a82 0000
+blsr32 000000001af3d8f7 -> 000000001af3d8f6 0000
+blsr32 000000001193de15 -> 000000001193de14 0000
+blsr32 000000000df6b244 -> 000000000df6b240 0000
+blsr32 0000000008d2446b -> 0000000008d2446a 0000
+blsr32 0000000007028a18 -> 0000000007028a10 0000
+blsr32 00000000042b7735 -> 00000000042b7734 0000
+blsr32 00000000035ecaa5 -> 00000000035ecaa4 0000
+blsr32 000000000232b89b -> 000000000232b89a 0000
+blsr32 0000000001bf185a -> 0000000001bf1858 0000
+blsr32 00000000011a1af9 -> 00000000011a1af8 0000
+blsr32 0000000000e0282a -> 0000000000e02828 0000
+blsr32 0000000000854da9 -> 0000000000854da8 0000
+blsr32 00000000006bcf62 -> 00000000006bcf60 0000
+blsr32 0000000000464f77 -> 0000000000464f76 0000
+blsr32 000000000037dac9 -> 000000000037dac8 0000
+blsr32 0000000000234910 -> 0000000000234900 0000
+blsr32 00000000001c0a27 -> 00000000001c0a26 0000
+blsr32 000000000010add9 -> 000000000010add8 0000
+blsr32 00000000000d7b28 -> 00000000000d7b20 0000
+blsr32 000000000008cae0 -> 000000000008cac0 0000
+blsr32 000000000006fc5f -> 000000000006fc5e 0000
+blsr32 0000000000046871 -> 0000000000046870 0000
+blsr32 000000000003809d -> 000000000003809c 0000
+blsr32 000000000002152c -> 0000000000021528 0000
+blsr32 000000000001af3b -> 000000000001af3a 0000
+blsr32 000000000001193c -> 0000000000011938 0000
+blsr32 000000000000df6a -> 000000000000df68 0000
+blsr32 0000000000008d23 -> 0000000000008d22 0000
+blsr32 0000000000007026 -> 0000000000007024 0000
+blsr32 00000000000042b3 -> 00000000000042b2 0000
+blsr32 00000000000035e9 -> 00000000000035e8 0000
+blsr32 0000000000002329 -> 0000000000002328 0000
+blsr32 0000000000001bef -> 0000000000001bee 0000
+blsr32 00000000000011a3 -> 00000000000011a2 0000
+blsr32 0000000000000e02 -> 0000000000000e00 0000
+blsr32 0000000000000853 -> 0000000000000852 0000
+blsr32 00000000000006ba -> 00000000000006b8 0000
+blsr32 0000000000000464 -> 0000000000000460 0000
+blsr32 000000000000037d -> 000000000000037c 0000
+blsr32 0000000000000233 -> 0000000000000232 0000
+blsr32 00000000000001be -> 00000000000001bc 0000
+blsr32 0000000000000119 -> 0000000000000118 0000
+blsr32 00000000000000de -> 00000000000000dc 0000
+blsr32 000000000000008c -> 0000000000000088 0000
+blsr32 000000000000006f -> 000000000000006e 0000
+blsr32 0000000000000045 -> 0000000000000044 0000
+blsr32 0000000000000037 -> 0000000000000036 0000
+blsr32 0000000000000022 -> 0000000000000020 0000
+blsr32 000000000000001b -> 000000000000001a 0000
+blsr32 0000000000000010 -> 0000000000000000 0040
+blsr32 000000000000000c -> 0000000000000008 0000
+blsr32 0000000000000007 -> 0000000000000006 0000
+blsr32 0000000000000003 -> 0000000000000002 0000
+blsr32 0000000000000001 -> 0000000000000000 0040
+blsr32 0000000000000000 -> 0000000000000000 0041
+bextr64 fedc192837475675 57657438291cdef0 -> 0000000000000000 0040
+bextr64 8efcf23ad7e922f3 452015034e67c955 -> 0000000000000000 0040
+bextr64 7068b90cdf850938 37e901ef56b302d6 -> 0000000000000037 0000
+bextr64 42db3e5ed85503a5 2348b20e142667cf -> 0000000000000000 0040
+bextr64 35eea72efbea67d7 1c09d34c26e1c212 -> 0000000000000000 0040
+bextr64 232c23d3b476ef47 10ad37922d51847f -> 0000000000000000 0040
+bextr64 1bf0c1bf27fbb3ab 0d7b015093984564 -> 0000000000000000 0040
+bextr64 11a1311a29a562ea 08cac1103a60926a -> 0000000000000000 0040
+bextr64 0e02582b8350ffd0 06fc5681c8cd2b10 -> 0000000000000000 0040
+bextr64 0854b4408f5b9e17 04687224d51a87fa -> 00000008d0e449aa 0000
+bextr64 06bcf33434328063 03809eacb986283a -> 0000000000000000 0040
+bextr64 0464f596e5f3ab8a 02152e09a7eb825e -> 0000000000000000 0040
+bextr64 037dac8063df281c 01af3c969c7725a6 -> 000000001af3c969 0000
+bextr64 0234910d6d0cfe89 01193d5aad28c013 -> 0000000000000000 0040
+bextr64 01c0a27d7eaa2575 00df6b2373776c4a -> 0000000000000000 0040
+bextr64 010adda943af43d8 008d24457d4341d1 -> 0000000000000000 0040
+bextr64 00d7b2ae8c91c8ce 007028a17fc8b89e -> 0000000000000000 0040
+bextr64 008cae284a0c2065 0042b77370e42ef0 -> 0000000000000000 0040
+bextr64 006fc6190eb4fc04 0035ecaa6c888c28 -> 00035ecaa6c888c2 0000
+bextr64 004686bd6e829ce5 00232b89c5c8c9b6 -> 0000000000000000 0040
+bextr64 00380a0b248034f1 001bf185a53e82dc -> 0000000000000000 0040
+bextr64 0021536a650d4fc6 0011a1af9c2edaa2 -> 0000000000000000 0040
+bextr64 001af3d8d0c8c068 000e0282bc13b27b -> 0000000000000000 0040
+bextr64 001193de10460316 000854daa0b4cc02 -> 0000000000000002 0000
+bextr64 000df6b241dd45c1 0006bcf63e2fbf3d -> 0000000000000000 0040
+bextr64 0008d24469947f91 000464f7852a566a -> 0000000000000000 0040
+bextr64 0007028a17f7fc21 00037dac915ab5c5 -> 000000000001bed6 0000
+bextr64 00042b77370e9574 000234911b32831c -> 0000000000000000 0040
+bextr64 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 0000000000000000 0040
+bextr64 000232b89c5ca207 00010addcd657882 -> 00000215bb9acaf1 0000
+bextr64 0001bf185a53fb83 0000d7b2a9b6ab1d -> 0000000000000000 0040
+bextr64 00011a1af9c2f08e 00008cae2719cda3 -> 0000000000000000 0040
+bextr64 0000e0282bc137ba 00006fc61694404d -> 0000000000000000 0040
+bextr64 0000854daa0b4caf 00004686be70612c -> 0000000000000000 0040
+bextr64 00006bcf63e2fc01 0000380a0af0025a -> 00001c050578012d 0000
+bextr64 0000464f7852a469 000021536a829879 -> 0000000000000000 0040
+bextr64 000037dac915aa8f 00001af3d8f8abea -> 0000000000000000 0040
+bextr64 0000234911b3280d 00001193de14a839 -> 000000008c9ef0a5 0000
+bextr64 00001c0a2862c244 00000df6b24569e5 -> 0000000000000000 0040
+bextr64 000010addcd6577a 000008d2446cc8f9 -> 0000000000000000 0040
+bextr64 00000d7b2a9b6ac9 000007028a18af7d -> 0000000000000000 0040
+bextr64 000008cae2719cd4 0000042b77359960 -> 0000000000000000 0040
+bextr64 000006fc61694403 0000035ecaa6d9df -> 0000006bd954db3b 0000
+bextr64 000004686be70610 00000232b89c662a -> 000000000000001c 0000
+bextr64 00000380a0af0023 000001bf185a50b0 -> 0000000000000000 0040
+bextr64 0000021536a82984 0000011a1af9c13b -> 0000000000000000 0040
+bextr64 000001af3d8f8abd 000000e0282bc000 -> 0000000000000000 0040
+bextr64 000001193de14a82 000000854daa0a5a -> 0000000000000000 0040
+bextr64 000000df6b24569d 0000006bcf63e2b5 -> 0000000000000000 0040
+bextr64 0000008d2446cc8e 000000464f7852a0 -> 0000000000000000 0040
+bextr64 0000007028a18af6 00000037dac915a7 -> 0000000000000000 0040
+bextr64 00000042b7735995 000000234911b322 -> 0000000000000000 0040
+bextr64 00000035ecaa6d9d 0000001c0a2862bc -> 0000000000000000 0040
+bextr64 000000232b89c661 00000010addcd664 -> 0000000000000000 0040
+bextr64 0000001bf185a509 0000000d7b2a9b66 -> 0000000006bd954d 0000
+bextr64 00000011a1af9c11 00000008cae27197 -> 0000000000046571 0000
+bextr64 0000000e0282bbfd 00000006fc616943 -> 0000000000000000 0040
+bextr64 0000000854daa1a4 00000004686be704 -> 0000000000000000 0040
+bextr64 00000006bcf63eb9 0000000380a0aeff -> 0000000000000000 0040
+bextr64 0000000464f78590 000000021536a868 -> 0000000000000000 0040
+bextr64 000000037dac916c 00000001af3d8fad -> 0000000000000000 0040
+bextr64 0000000234911b32 00000001193de163 -> 0000000000000000 0040
+bextr64 00000001c0a2862b 00000000df6b2459 -> 0000000000000000 0040
+bextr64 000000010addcd65 000000008d2446ca -> 0000000000000000 0040
+bextr64 00000000d7b2a9b5 000000007028a18a -> 0000000000000000 0040
+bextr64 000000008cae2718 0000000042b77358 -> 0000000000000042 0000
+bextr64 000000006fc61693 0000000035ecaa6c -> 0000000000000000 0040
+bextr64 000000004686be6e 00000000232b89c5 -> 0000000000000000 0040
+bextr64 00000000380a0af2 000000001bf185a4 -> 0000000000000000 0040
+bextr64 0000000021536a83 0000000011a1af9b -> 0000000000000000 0040
+bextr64 000000001af3d8f7 000000000e0282bb -> 0000000000000000 0040
+bextr64 000000001193de15 000000000854daa0 -> 0000000000000042 0000
+bextr64 000000000df6b244 0000000006bcf63d -> 0000000000000000 0040
+bextr64 0000000008d2446b 000000000464f784 -> 0000000000000000 0040
+bextr64 0000000007028a18 00000000037dac90 -> 0000000000000003 0000
+bextr64 00000000042b7735 000000000234911a -> 0000000000000000 0040
+bextr64 00000000035ecaa5 0000000001c0a285 -> 0000000000000000 0040
+bextr64 000000000232b89b 00000000010addcc -> 0000000000000000 0040
+bextr64 0000000001bf185a 0000000000d7b2a8 -> 0000000000000000 0040
+bextr64 00000000011a1af9 00000000008cae26 -> 0000000000000000 0040
+bextr64 0000000000e0282a 00000000006fc615 -> 0000000000000000 0040
+bextr64 0000000000854da9 00000000004686bd -> 0000000000000000 0040
+bextr64 00000000006bcf62 0000000000380a0a -> 0000000000000000 0040
+bextr64 0000000000464f77 0000000000215369 -> 0000000000000000 0040
+bextr64 000000000037dac9 00000000001af3d7 -> 0000000000000000 0040
+bextr64 0000000000234910 00000000001193de -> 0000000000000011 0000
+bextr64 00000000001c0a27 00000000000df6b1 -> 0000000000000000 0040
+bextr64 000000000010add9 000000000008d242 -> 0000000000000000 0040
+bextr64 00000000000d7b28 0000000000070287 -> 0000000000000000 0040
+bextr64 000000000008cae0 0000000000042b72 -> 0000000000000000 0040
+bextr64 000000000006fc5f 0000000000035ec7 -> 0000000000000000 0040
+bextr64 0000000000046871 00000000000232b3 -> 0000000000000000 0040
+bextr64 000000000003809d 000000000001bf16 -> 0000000000000000 0040
+bextr64 000000000002152c 0000000000011a1b -> 0000000000000000 0040
+bextr64 000000000001af3b 000000000000e027 -> 0000000000000000 0040
+bextr64 000000000001193c 000000000000854a -> 0000000000000000 0040
+bextr64 000000000000df6a 0000000000006bce -> 0000000000000000 0040
+bextr64 0000000000008d23 000000000000464e -> 0000000000000000 0040
+bextr64 0000000000007026 00000000000037d9 -> 0000000000000000 0040
+bextr64 00000000000042b3 0000000000002347 -> 0000000000000000 0040
+bextr64 00000000000035e9 0000000000001c06 -> 0000000000000000 0040
+bextr64 0000000000002329 00000000000010a9 -> 0000000000000000 0040
+bextr64 0000000000001bef 0000000000000d78 -> 0000000000000000 0040
+bextr64 00000000000011a3 00000000000008c8 -> 0000000000000000 0040
+bextr64 0000000000000e02 00000000000006fa -> 00000000000001be 0000
+bextr64 0000000000000853 0000000000000468 -> 0000000000000000 0040
+bextr64 00000000000006ba 0000000000000380 -> 0000000000000000 0040
+bextr64 0000000000000464 0000000000000214 -> 0000000000000000 0040
+bextr64 000000000000037d 00000000000001ae -> 0000000000000000 0040
+bextr64 0000000000000233 0000000000000118 -> 0000000000000000 0040
+bextr64 00000000000001be 00000000000000de -> 0000000000000000 0040
+bextr64 0000000000000119 000000000000008c -> 0000000000000000 0040
+bextr64 00000000000000de 000000000000006f -> 0000000000000000 0040
+bextr64 000000000000008c 0000000000000045 -> 0000000000000000 0040
+bextr64 000000000000006f 0000000000000037 -> 0000000000000000 0040
+bextr64 0000000000000045 0000000000000022 -> 0000000000000000 0040
+bextr64 0000000000000037 000000000000001b -> 0000000000000000 0040
+bextr64 0000000000000022 0000000000000010 -> 0000000000000000 0040
+bextr64 000000000000001b 000000000000000c -> 0000000000000000 0040
+bextr64 0000000000000010 0000000000000007 -> 0000000000000000 0040
+bextr64 000000000000000c 0000000000000003 -> 0000000000000000 0040
+bextr64 0000000000000007 0000000000000001 -> 0000000000000000 0040
+bextr64 0000000000000003 0000000000000000 -> 0000000000000000 0040
+bextr64 0000000000000001 0000000000000000 -> 0000000000000000 0040
+bextr64 0000000000000000 0000000000000000 -> 0000000000000000 0040
+bextr32 fedc192837475675 57657438291cdef0 -> 0000000000000000 0040
+bextr32 8efcf23ad7e922f3 452015034e67c955 -> 0000000000000000 0040
+bextr32 7068b90cdf850938 37e901ef56b302d6 -> 0000000000000000 0040
+bextr32 42db3e5ed85503a5 2348b20e142667cf -> 0000000000000000 0040
+bextr32 35eea72efbea67d7 1c09d34c26e1c212 -> 0000000000000000 0040
+bextr32 232c23d3b476ef47 10ad37922d51847f -> 0000000000000000 0040
+bextr32 1bf0c1bf27fbb3ab 0d7b015093984564 -> 0000000000000000 0040
+bextr32 11a1311a29a562ea 08cac1103a60926a -> 0000000000000000 0040
+bextr32 0e02582b8350ffd0 06fc5681c8cd2b10 -> 0000000000000000 0040
+bextr32 0854b4408f5b9e17 04687224d51a87fa -> 00000000000001aa 0000
+bextr32 06bcf33434328063 03809eacb986283a -> 0000000000000000 0040
+bextr32 0464f596e5f3ab8a 02152e09a7eb825e -> 0000000000000000 0040
+bextr32 037dac8063df281c 01af3c969c7725a6 -> 0000000000000009 0000
+bextr32 0234910d6d0cfe89 01193d5aad28c013 -> 0000000000000000 0040
+bextr32 01c0a27d7eaa2575 00df6b2373776c4a -> 0000000000000000 0040
+bextr32 010adda943af43d8 008d24457d4341d1 -> 0000000000000000 0040
+bextr32 00d7b2ae8c91c8ce 007028a17fc8b89e -> 0000000000000000 0040
+bextr32 008cae284a0c2065 0042b77370e42ef0 -> 0000000000000000 0040
+bextr32 006fc6190eb4fc04 0035ecaa6c888c28 -> 0000000006c888c2 0000
+bextr32 004686bd6e829ce5 00232b89c5c8c9b6 -> 0000000000000000 0040
+bextr32 00380a0b248034f1 001bf185a53e82dc -> 0000000000000000 0040
+bextr32 0021536a650d4fc6 0011a1af9c2edaa2 -> 0000000000000000 0040
+bextr32 001af3d8d0c8c068 000e0282bc13b27b -> 0000000000000000 0040
+bextr32 001193de10460316 000854daa0b4cc02 -> 0000000000000002 0000
+bextr32 000df6b241dd45c1 0006bcf63e2fbf3d -> 0000000000000000 0040
+bextr32 0008d24469947f91 000464f7852a566a -> 0000000000000000 0040
+bextr32 0007028a17f7fc21 00037dac915ab5c5 -> 0000000000000000 0040
+bextr32 00042b77370e9574 000234911b32831c -> 0000000000000000 0040
+bextr32 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 0000000000000000 0040
+bextr32 000232b89c5ca207 00010addcd657882 -> 00000000019acaf1 0000
+bextr32 0001bf185a53fb83 0000d7b2a9b6ab1d -> 0000000000000000 0040
+bextr32 00011a1af9c2f08e 00008cae2719cda3 -> 0000000000000000 0040
+bextr32 0000e0282bc137ba 00006fc61694404d -> 0000000000000000 0040
+bextr32 0000854daa0b4caf 00004686be70612c -> 0000000000000000 0040
+bextr32 00006bcf63e2fc01 0000380a0af0025a -> 000000000578012d 0000
+bextr32 0000464f7852a469 000021536a829879 -> 0000000000000000 0040
+bextr32 000037dac915aa8f 00001af3d8f8abea -> 0000000000000000 0040
+bextr32 0000234911b3280d 00001193de14a839 -> 000000000006f0a5 0000
+bextr32 00001c0a2862c244 00000df6b24569e5 -> 0000000000000000 0040
+bextr32 000010addcd6577a 000008d2446cc8f9 -> 0000000000000000 0040
+bextr32 00000d7b2a9b6ac9 000007028a18af7d -> 0000000000000000 0040
+bextr32 000008cae2719cd4 0000042b77359960 -> 0000000000000000 0040
+bextr32 000006fc61694403 0000035ecaa6d9df -> 000000001954db3b 0000
+bextr32 000004686be70610 00000232b89c662a -> 000000000000001c 0000
+bextr32 00000380a0af0023 000001bf185a50b0 -> 0000000000000000 0040
+bextr32 0000021536a82984 0000011a1af9c13b -> 0000000000000000 0040
+bextr32 000001af3d8f8abd 000000e0282bc000 -> 0000000000000000 0040
+bextr32 000001193de14a82 000000854daa0a5a -> 0000000000000000 0040
+bextr32 000000df6b24569d 0000006bcf63e2b5 -> 0000000000000000 0040
+bextr32 0000008d2446cc8e 000000464f7852a0 -> 0000000000000000 0040
+bextr32 0000007028a18af6 00000037dac915a7 -> 0000000000000000 0040
+bextr32 00000042b7735995 000000234911b322 -> 0000000000000000 0040
+bextr32 00000035ecaa6d9d 0000001c0a2862bc -> 0000000000000000 0040
+bextr32 000000232b89c661 00000010addcd664 -> 0000000000000000 0040
+bextr32 0000001bf185a509 0000000d7b2a9b66 -> 00000000003d954d 0000
+bextr32 00000011a1af9c11 00000008cae27197 -> 0000000000006571 0000
+bextr32 0000000e0282bbfd 00000006fc616943 -> 0000000000000000 0040
+bextr32 0000000854daa1a4 00000004686be704 -> 0000000000000000 0040
+bextr32 00000006bcf63eb9 0000000380a0aeff -> 0000000000000000 0040
+bextr32 0000000464f78590 000000021536a868 -> 0000000000000000 0040
+bextr32 000000037dac916c 00000001af3d8fad -> 0000000000000000 0040
+bextr32 0000000234911b32 00000001193de163 -> 0000000000000000 0040
+bextr32 00000001c0a2862b 00000000df6b2459 -> 0000000000000000 0040
+bextr32 000000010addcd65 000000008d2446ca -> 0000000000000000 0040
+bextr32 00000000d7b2a9b5 000000007028a18a -> 0000000000000000 0040
+bextr32 000000008cae2718 0000000042b77358 -> 0000000000000042 0000
+bextr32 000000006fc61693 0000000035ecaa6c -> 0000000000000000 0040
+bextr32 000000004686be6e 00000000232b89c5 -> 0000000000000000 0040
+bextr32 00000000380a0af2 000000001bf185a4 -> 0000000000000000 0040
+bextr32 0000000021536a83 0000000011a1af9b -> 0000000000000000 0040
+bextr32 000000001af3d8f7 000000000e0282bb -> 0000000000000000 0040
+bextr32 000000001193de15 000000000854daa0 -> 0000000000000042 0000
+bextr32 000000000df6b244 0000000006bcf63d -> 0000000000000000 0040
+bextr32 0000000008d2446b 000000000464f784 -> 0000000000000000 0040
+bextr32 0000000007028a18 00000000037dac90 -> 0000000000000003 0000
+bextr32 00000000042b7735 000000000234911a -> 0000000000000000 0040
+bextr32 00000000035ecaa5 0000000001c0a285 -> 0000000000000000 0040
+bextr32 000000000232b89b 00000000010addcc -> 0000000000000000 0040
+bextr32 0000000001bf185a 0000000000d7b2a8 -> 0000000000000000 0040
+bextr32 00000000011a1af9 00000000008cae26 -> 0000000000000000 0040
+bextr32 0000000000e0282a 00000000006fc615 -> 0000000000000000 0040
+bextr32 0000000000854da9 00000000004686bd -> 0000000000000000 0040
+bextr32 00000000006bcf62 0000000000380a0a -> 0000000000000000 0040
+bextr32 0000000000464f77 0000000000215369 -> 0000000000000000 0040
+bextr32 000000000037dac9 00000000001af3d7 -> 0000000000000000 0040
+bextr32 0000000000234910 00000000001193de -> 0000000000000011 0000
+bextr32 00000000001c0a27 00000000000df6b1 -> 0000000000000000 0040
+bextr32 000000000010add9 000000000008d242 -> 0000000000000000 0040
+bextr32 00000000000d7b28 0000000000070287 -> 0000000000000000 0040
+bextr32 000000000008cae0 0000000000042b72 -> 0000000000000000 0040
+bextr32 000000000006fc5f 0000000000035ec7 -> 0000000000000000 0040
+bextr32 0000000000046871 00000000000232b3 -> 0000000000000000 0040
+bextr32 000000000003809d 000000000001bf16 -> 0000000000000000 0040
+bextr32 000000000002152c 0000000000011a1b -> 0000000000000000 0040
+bextr32 000000000001af3b 000000000000e027 -> 0000000000000000 0040
+bextr32 000000000001193c 000000000000854a -> 0000000000000000 0040
+bextr32 000000000000df6a 0000000000006bce -> 0000000000000000 0040
+bextr32 0000000000008d23 000000000000464e -> 0000000000000000 0040
+bextr32 0000000000007026 00000000000037d9 -> 0000000000000000 0040
+bextr32 00000000000042b3 0000000000002347 -> 0000000000000000 0040
+bextr32 00000000000035e9 0000000000001c06 -> 0000000000000000 0040
+bextr32 0000000000002329 00000000000010a9 -> 0000000000000000 0040
+bextr32 0000000000001bef 0000000000000d78 -> 0000000000000000 0040
+bextr32 00000000000011a3 00000000000008c8 -> 0000000000000000 0040
+bextr32 0000000000000e02 00000000000006fa -> 00000000000001be 0000
+bextr32 0000000000000853 0000000000000468 -> 0000000000000000 0040
+bextr32 00000000000006ba 0000000000000380 -> 0000000000000000 0040
+bextr32 0000000000000464 0000000000000214 -> 0000000000000000 0040
+bextr32 000000000000037d 00000000000001ae -> 0000000000000000 0040
+bextr32 0000000000000233 0000000000000118 -> 0000000000000000 0040
+bextr32 00000000000001be 00000000000000de -> 0000000000000000 0040
+bextr32 0000000000000119 000000000000008c -> 0000000000000000 0040
+bextr32 00000000000000de 000000000000006f -> 0000000000000000 0040
+bextr32 000000000000008c 0000000000000045 -> 0000000000000000 0040
+bextr32 000000000000006f 0000000000000037 -> 0000000000000000 0040
+bextr32 0000000000000045 0000000000000022 -> 0000000000000000 0040
+bextr32 0000000000000037 000000000000001b -> 0000000000000000 0040
+bextr32 0000000000000022 0000000000000010 -> 0000000000000000 0040
+bextr32 000000000000001b 000000000000000c -> 0000000000000000 0040
+bextr32 0000000000000010 0000000000000007 -> 0000000000000000 0040
+bextr32 000000000000000c 0000000000000003 -> 0000000000000000 0040
+bextr32 0000000000000007 0000000000000001 -> 0000000000000000 0040
+bextr32 0000000000000003 0000000000000000 -> 0000000000000000 0040
+bextr32 0000000000000001 0000000000000000 -> 0000000000000000 0040
+bextr32 0000000000000000 0000000000000000 -> 0000000000000000 0040
+bzhi64 fedc192837475675 57657438291cdef0 -> 57657438291cdef0 0001
+bzhi64 8efcf23ad7e922f3 452015034e67c955 -> 452015034e67c955 0001
+bzhi64 7068b90cdf850938 37e901ef56b302d6 -> 00e901ef56b302d6 0000
+bzhi64 42db3e5ed85503a5 2348b20e142667cf -> 2348b20e142667cf 0001
+bzhi64 35eea72efbea67d7 1c09d34c26e1c212 -> 1c09d34c26e1c212 0001
+bzhi64 232c23d3b476ef47 10ad37922d51847f -> 10ad37922d51847f 0001
+bzhi64 1bf0c1bf27fbb3ab 0d7b015093984564 -> 0d7b015093984564 0001
+bzhi64 11a1311a29a562ea 08cac1103a60926a -> 08cac1103a60926a 0001
+bzhi64 0e02582b8350ffd0 06fc5681c8cd2b10 -> 06fc5681c8cd2b10 0001
+bzhi64 0854b4408f5b9e17 04687224d51a87fa -> 00000000001a87fa 0000
+bzhi64 06bcf33434328063 03809eacb986283a -> 03809eacb986283a 0001
+bzhi64 0464f596e5f3ab8a 02152e09a7eb825e -> 02152e09a7eb825e 0001
+bzhi64 037dac8063df281c 01af3c969c7725a6 -> 000000000c7725a6 0000
+bzhi64 0234910d6d0cfe89 01193d5aad28c013 -> 01193d5aad28c013 0001
+bzhi64 01c0a27d7eaa2575 00df6b2373776c4a -> 00df6b2373776c4a 0001
+bzhi64 010adda943af43d8 008d24457d4341d1 -> 008d24457d4341d1 0001
+bzhi64 00d7b2ae8c91c8ce 007028a17fc8b89e -> 007028a17fc8b89e 0001
+bzhi64 008cae284a0c2065 0042b77370e42ef0 -> 0042b77370e42ef0 0001
+bzhi64 006fc6190eb4fc04 0035ecaa6c888c28 -> 0000000000000008 0000
+bzhi64 004686bd6e829ce5 00232b89c5c8c9b6 -> 00232b89c5c8c9b6 0001
+bzhi64 00380a0b248034f1 001bf185a53e82dc -> 001bf185a53e82dc 0001
+bzhi64 0021536a650d4fc6 0011a1af9c2edaa2 -> 0011a1af9c2edaa2 0001
+bzhi64 001af3d8d0c8c068 000e0282bc13b27b -> 000e0282bc13b27b 0001
+bzhi64 001193de10460316 000854daa0b4cc02 -> 000000000034cc02 0000
+bzhi64 000df6b241dd45c1 0006bcf63e2fbf3d -> 0006bcf63e2fbf3d 0001
+bzhi64 0008d24469947f91 000464f7852a566a -> 000464f7852a566a 0001
+bzhi64 0007028a17f7fc21 00037dac915ab5c5 -> 00000000915ab5c5 0000
+bzhi64 00042b77370e9574 000234911b32831c -> 000234911b32831c 0001
+bzhi64 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 0001c0a2862c25c1 0001
+bzhi64 000232b89c5ca207 00010addcd657882 -> 0000000000000002 0000
+bzhi64 0001bf185a53fb83 0000d7b2a9b6ab1d -> 0000d7b2a9b6ab1d 0001
+bzhi64 00011a1af9c2f08e 00008cae2719cda3 -> 00008cae2719cda3 0001
+bzhi64 0000e0282bc137ba 00006fc61694404d -> 00006fc61694404d 0001
+bzhi64 0000854daa0b4caf 00004686be70612c -> 00004686be70612c 0001
+bzhi64 00006bcf63e2fc01 0000380a0af0025a -> 0000000000000000 0040
+bzhi64 0000464f7852a469 000021536a829879 -> 000021536a829879 0001
+bzhi64 000037dac915aa8f 00001af3d8f8abea -> 00001af3d8f8abea 0001
+bzhi64 0000234911b3280d 00001193de14a839 -> 0000000000000839 0000
+bzhi64 00001c0a2862c244 00000df6b24569e5 -> 00000df6b24569e5 0001
+bzhi64 000010addcd6577a 000008d2446cc8f9 -> 000008d2446cc8f9 0001
+bzhi64 00000d7b2a9b6ac9 000007028a18af7d -> 000007028a18af7d 0001
+bzhi64 000008cae2719cd4 0000042b77359960 -> 0000042b77359960 0001
+bzhi64 000006fc61694403 0000035ecaa6d9df -> 0000000000000007 0000
+bzhi64 000004686be70610 00000232b89c662a -> 000000000000662a 0000
+bzhi64 00000380a0af0023 000001bf185a50b0 -> 00000007185a50b0 0000
+bzhi64 0000021536a82984 0000011a1af9c13b -> 0000011a1af9c13b 0001
+bzhi64 000001af3d8f8abd 000000e0282bc000 -> 000000e0282bc000 0001
+bzhi64 000001193de14a82 000000854daa0a5a -> 000000854daa0a5a 0001
+bzhi64 000000df6b24569d 0000006bcf63e2b5 -> 0000006bcf63e2b5 0001
+bzhi64 0000008d2446cc8e 000000464f7852a0 -> 000000464f7852a0 0001
+bzhi64 0000007028a18af6 00000037dac915a7 -> 00000037dac915a7 0001
+bzhi64 00000042b7735995 000000234911b322 -> 000000234911b322 0001
+bzhi64 00000035ecaa6d9d 0000001c0a2862bc -> 0000001c0a2862bc 0001
+bzhi64 000000232b89c661 00000010addcd664 -> 00000010addcd664 0001
+bzhi64 0000001bf185a509 0000000d7b2a9b66 -> 0000000000000166 0000
+bzhi64 00000011a1af9c11 00000008cae27197 -> 0000000000007197 0000
+bzhi64 0000000e0282bbfd 00000006fc616943 -> 00000006fc616943 0001
+bzhi64 0000000854daa1a4 00000004686be704 -> 00000004686be704 0001
+bzhi64 00000006bcf63eb9 0000000380a0aeff -> 0000000380a0aeff 0001
+bzhi64 0000000464f78590 000000021536a868 -> 000000021536a868 0001
+bzhi64 000000037dac916c 00000001af3d8fad -> 00000001af3d8fad 0001
+bzhi64 0000000234911b32 00000001193de163 -> 00000001193de163 0000
+bzhi64 00000001c0a2862b 00000000df6b2459 -> 00000000df6b2459 0000
+bzhi64 000000010addcd65 000000008d2446ca -> 000000008d2446ca 0001
+bzhi64 00000000d7b2a9b5 000000007028a18a -> 000000007028a18a 0001
+bzhi64 000000008cae2718 0000000042b77358 -> 0000000000b77358 0000
+bzhi64 000000006fc61693 0000000035ecaa6c -> 0000000035ecaa6c 0001
+bzhi64 000000004686be6e 00000000232b89c5 -> 00000000232b89c5 0001
+bzhi64 00000000380a0af2 000000001bf185a4 -> 000000001bf185a4 0001
+bzhi64 0000000021536a83 0000000011a1af9b -> 0000000011a1af9b 0001
+bzhi64 000000001af3d8f7 000000000e0282bb -> 000000000e0282bb 0001
+bzhi64 000000001193de15 000000000854daa0 -> 000000000014daa0 0000
+bzhi64 000000000df6b244 0000000006bcf63d -> 0000000006bcf63d 0001
+bzhi64 0000000008d2446b 000000000464f784 -> 000000000464f784 0001
+bzhi64 0000000007028a18 00000000037dac90 -> 00000000007dac90 0000
+bzhi64 00000000042b7735 000000000234911a -> 000000000234911a 0000
+bzhi64 00000000035ecaa5 0000000001c0a285 -> 0000000001c0a285 0001
+bzhi64 000000000232b89b 00000000010addcc -> 00000000010addcc 0001
+bzhi64 0000000001bf185a 0000000000d7b2a8 -> 0000000000d7b2a8 0001
+bzhi64 00000000011a1af9 00000000008cae26 -> 00000000008cae26 0001
+bzhi64 0000000000e0282a 00000000006fc615 -> 00000000006fc615 0000
+bzhi64 0000000000854da9 00000000004686bd -> 00000000004686bd 0001
+bzhi64 00000000006bcf62 0000000000380a0a -> 0000000000380a0a 0001
+bzhi64 0000000000464f77 0000000000215369 -> 0000000000215369 0001
+bzhi64 000000000037dac9 00000000001af3d7 -> 00000000001af3d7 0001
+bzhi64 0000000000234910 00000000001193de -> 00000000000093de 0000
+bzhi64 00000000001c0a27 00000000000df6b1 -> 00000000000df6b1 0000
+bzhi64 000000000010add9 000000000008d242 -> 000000000008d242 0001
+bzhi64 00000000000d7b28 0000000000070287 -> 0000000000070287 0000
+bzhi64 000000000008cae0 0000000000042b72 -> 0000000000042b72 0001
+bzhi64 000000000006fc5f 0000000000035ec7 -> 0000000000035ec7 0001
+bzhi64 0000000000046871 00000000000232b3 -> 00000000000232b3 0001
+bzhi64 000000000003809d 000000000001bf16 -> 000000000001bf16 0001
+bzhi64 000000000002152c 0000000000011a1b -> 0000000000011a1b 0000
+bzhi64 000000000001af3b 000000000000e027 -> 000000000000e027 0000
+bzhi64 000000000001193c 000000000000854a -> 000000000000854a 0000
+bzhi64 000000000000df6a 0000000000006bce -> 0000000000006bce 0001
+bzhi64 0000000000008d23 000000000000464e -> 000000000000464e 0000
+bzhi64 0000000000007026 00000000000037d9 -> 00000000000037d9 0000
+bzhi64 00000000000042b3 0000000000002347 -> 0000000000002347 0001
+bzhi64 00000000000035e9 0000000000001c06 -> 0000000000001c06 0001
+bzhi64 0000000000002329 00000000000010a9 -> 00000000000010a9 0000
+bzhi64 0000000000001bef 0000000000000d78 -> 0000000000000d78 0001
+bzhi64 00000000000011a3 00000000000008c8 -> 00000000000008c8 0001
+bzhi64 0000000000000e02 00000000000006fa -> 0000000000000002 0000
+bzhi64 0000000000000853 0000000000000468 -> 0000000000000468 0001
+bzhi64 00000000000006ba 0000000000000380 -> 0000000000000380 0001
+bzhi64 0000000000000464 0000000000000214 -> 0000000000000214 0001
+bzhi64 000000000000037d 00000000000001ae -> 00000000000001ae 0001
+bzhi64 0000000000000233 0000000000000118 -> 0000000000000118 0000
+bzhi64 00000000000001be 00000000000000de -> 00000000000000de 0001
+bzhi64 0000000000000119 000000000000008c -> 000000000000008c 0000
+bzhi64 00000000000000de 000000000000006f -> 000000000000006f 0001
+bzhi64 000000000000008c 0000000000000045 -> 0000000000000045 0001
+bzhi64 000000000000006f 0000000000000037 -> 0000000000000037 0001
+bzhi64 0000000000000045 0000000000000022 -> 0000000000000022 0001
+bzhi64 0000000000000037 000000000000001b -> 000000000000001b 0000
+bzhi64 0000000000000022 0000000000000010 -> 0000000000000010 0000
+bzhi64 000000000000001b 000000000000000c -> 000000000000000c 0000
+bzhi64 0000000000000010 0000000000000007 -> 0000000000000007 0000
+bzhi64 000000000000000c 0000000000000003 -> 0000000000000003 0000
+bzhi64 0000000000000007 0000000000000001 -> 0000000000000001 0000
+bzhi64 0000000000000003 0000000000000000 -> 0000000000000000 0040
+bzhi64 0000000000000001 0000000000000000 -> 0000000000000000 0040
+bzhi64 0000000000000000 0000000000000000 -> 0000000000000000 0040
+bzhi32 fedc192837475675 57657438291cdef0 -> 00000000291cdef0 0001
+bzhi32 8efcf23ad7e922f3 452015034e67c955 -> 000000004e67c955 0001
+bzhi32 7068b90cdf850938 37e901ef56b302d6 -> 0000000056b302d6 0001
+bzhi32 42db3e5ed85503a5 2348b20e142667cf -> 00000000142667cf 0001
+bzhi32 35eea72efbea67d7 1c09d34c26e1c212 -> 0000000026e1c212 0001
+bzhi32 232c23d3b476ef47 10ad37922d51847f -> 000000002d51847f 0001
+bzhi32 1bf0c1bf27fbb3ab 0d7b015093984564 -> 0000000093984564 0081
+bzhi32 11a1311a29a562ea 08cac1103a60926a -> 000000003a60926a 0001
+bzhi32 0e02582b8350ffd0 06fc5681c8cd2b10 -> 00000000c8cd2b10 0081
+bzhi32 0854b4408f5b9e17 04687224d51a87fa -> 00000000001a87fa 0000
+bzhi32 06bcf33434328063 03809eacb986283a -> 00000000b986283a 0081
+bzhi32 0464f596e5f3ab8a 02152e09a7eb825e -> 00000000a7eb825e 0081
+bzhi32 037dac8063df281c 01af3c969c7725a6 -> 000000000c7725a6 0000
+bzhi32 0234910d6d0cfe89 01193d5aad28c013 -> 00000000ad28c013 0081
+bzhi32 01c0a27d7eaa2575 00df6b2373776c4a -> 0000000073776c4a 0001
+bzhi32 010adda943af43d8 008d24457d4341d1 -> 000000007d4341d1 0001
+bzhi32 00d7b2ae8c91c8ce 007028a17fc8b89e -> 000000007fc8b89e 0001
+bzhi32 008cae284a0c2065 0042b77370e42ef0 -> 0000000070e42ef0 0001
+bzhi32 006fc6190eb4fc04 0035ecaa6c888c28 -> 0000000000000008 0000
+bzhi32 004686bd6e829ce5 00232b89c5c8c9b6 -> 00000000c5c8c9b6 0081
+bzhi32 00380a0b248034f1 001bf185a53e82dc -> 00000000a53e82dc 0081
+bzhi32 0021536a650d4fc6 0011a1af9c2edaa2 -> 000000009c2edaa2 0081
+bzhi32 001af3d8d0c8c068 000e0282bc13b27b -> 00000000bc13b27b 0081
+bzhi32 001193de10460316 000854daa0b4cc02 -> 000000000034cc02 0000
+bzhi32 000df6b241dd45c1 0006bcf63e2fbf3d -> 000000003e2fbf3d 0001
+bzhi32 0008d24469947f91 000464f7852a566a -> 00000000852a566a 0081
+bzhi32 0007028a17f7fc21 00037dac915ab5c5 -> 00000000915ab5c5 0081
+bzhi32 00042b77370e9574 000234911b32831c -> 000000001b32831c 0001
+bzhi32 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 00000000862c25c1 0081
+bzhi32 000232b89c5ca207 00010addcd657882 -> 0000000000000002 0000
+bzhi32 0001bf185a53fb83 0000d7b2a9b6ab1d -> 00000000a9b6ab1d 0081
+bzhi32 00011a1af9c2f08e 00008cae2719cda3 -> 000000002719cda3 0001
+bzhi32 0000e0282bc137ba 00006fc61694404d -> 000000001694404d 0001
+bzhi32 0000854daa0b4caf 00004686be70612c -> 00000000be70612c 0081
+bzhi32 00006bcf63e2fc01 0000380a0af0025a -> 0000000000000000 0040
+bzhi32 0000464f7852a469 000021536a829879 -> 000000006a829879 0001
+bzhi32 000037dac915aa8f 00001af3d8f8abea -> 00000000d8f8abea 0081
+bzhi32 0000234911b3280d 00001193de14a839 -> 0000000000000839 0000
+bzhi32 00001c0a2862c244 00000df6b24569e5 -> 00000000b24569e5 0081
+bzhi32 000010addcd6577a 000008d2446cc8f9 -> 00000000446cc8f9 0001
+bzhi32 00000d7b2a9b6ac9 000007028a18af7d -> 000000008a18af7d 0081
+bzhi32 000008cae2719cd4 0000042b77359960 -> 0000000077359960 0001
+bzhi32 000006fc61694403 0000035ecaa6d9df -> 0000000000000007 0000
+bzhi32 000004686be70610 00000232b89c662a -> 000000000000662a 0000
+bzhi32 00000380a0af0023 000001bf185a50b0 -> 00000000185a50b0 0001
+bzhi32 0000021536a82984 0000011a1af9c13b -> 000000001af9c13b 0001
+bzhi32 000001af3d8f8abd 000000e0282bc000 -> 00000000282bc000 0001
+bzhi32 000001193de14a82 000000854daa0a5a -> 000000004daa0a5a 0001
+bzhi32 000000df6b24569d 0000006bcf63e2b5 -> 00000000cf63e2b5 0081
+bzhi32 0000008d2446cc8e 000000464f7852a0 -> 000000004f7852a0 0001
+bzhi32 0000007028a18af6 00000037dac915a7 -> 00000000dac915a7 0081
+bzhi32 00000042b7735995 000000234911b322 -> 000000004911b322 0001
+bzhi32 00000035ecaa6d9d 0000001c0a2862bc -> 000000000a2862bc 0001
+bzhi32 000000232b89c661 00000010addcd664 -> 00000000addcd664 0081
+bzhi32 0000001bf185a509 0000000d7b2a9b66 -> 0000000000000166 0000
+bzhi32 00000011a1af9c11 00000008cae27197 -> 0000000000007197 0000
+bzhi32 0000000e0282bbfd 00000006fc616943 -> 00000000fc616943 0081
+bzhi32 0000000854daa1a4 00000004686be704 -> 00000000686be704 0001
+bzhi32 00000006bcf63eb9 0000000380a0aeff -> 0000000080a0aeff 0081
+bzhi32 0000000464f78590 000000021536a868 -> 000000001536a868 0001
+bzhi32 000000037dac916c 00000001af3d8fad -> 00000000af3d8fad 0081
+bzhi32 0000000234911b32 00000001193de163 -> 00000000193de163 0001
+bzhi32 00000001c0a2862b 00000000df6b2459 -> 00000000df6b2459 0081
+bzhi32 000000010addcd65 000000008d2446ca -> 000000008d2446ca 0081
+bzhi32 00000000d7b2a9b5 000000007028a18a -> 000000007028a18a 0001
+bzhi32 000000008cae2718 0000000042b77358 -> 0000000000b77358 0000
+bzhi32 000000006fc61693 0000000035ecaa6c -> 0000000035ecaa6c 0001
+bzhi32 000000004686be6e 00000000232b89c5 -> 00000000232b89c5 0001
+bzhi32 00000000380a0af2 000000001bf185a4 -> 000000001bf185a4 0001
+bzhi32 0000000021536a83 0000000011a1af9b -> 0000000011a1af9b 0001
+bzhi32 000000001af3d8f7 000000000e0282bb -> 000000000e0282bb 0001
+bzhi32 000000001193de15 000000000854daa0 -> 000000000014daa0 0000
+bzhi32 000000000df6b244 0000000006bcf63d -> 0000000006bcf63d 0001
+bzhi32 0000000008d2446b 000000000464f784 -> 000000000464f784 0001
+bzhi32 0000000007028a18 00000000037dac90 -> 00000000007dac90 0000
+bzhi32 00000000042b7735 000000000234911a -> 000000000234911a 0001
+bzhi32 00000000035ecaa5 0000000001c0a285 -> 0000000001c0a285 0001
+bzhi32 000000000232b89b 00000000010addcc -> 00000000010addcc 0001
+bzhi32 0000000001bf185a 0000000000d7b2a8 -> 0000000000d7b2a8 0001
+bzhi32 00000000011a1af9 00000000008cae26 -> 00000000008cae26 0001
+bzhi32 0000000000e0282a 00000000006fc615 -> 00000000006fc615 0001
+bzhi32 0000000000854da9 00000000004686bd -> 00000000004686bd 0001
+bzhi32 00000000006bcf62 0000000000380a0a -> 0000000000380a0a 0001
+bzhi32 0000000000464f77 0000000000215369 -> 0000000000215369 0001
+bzhi32 000000000037dac9 00000000001af3d7 -> 00000000001af3d7 0001
+bzhi32 0000000000234910 00000000001193de -> 00000000000093de 0000
+bzhi32 00000000001c0a27 00000000000df6b1 -> 00000000000df6b1 0001
+bzhi32 000000000010add9 000000000008d242 -> 000000000008d242 0001
+bzhi32 00000000000d7b28 0000000000070287 -> 0000000000070287 0001
+bzhi32 000000000008cae0 0000000000042b72 -> 0000000000042b72 0001
+bzhi32 000000000006fc5f 0000000000035ec7 -> 0000000000035ec7 0001
+bzhi32 0000000000046871 00000000000232b3 -> 00000000000232b3 0001
+bzhi32 000000000003809d 000000000001bf16 -> 000000000001bf16 0001
+bzhi32 000000000002152c 0000000000011a1b -> 0000000000011a1b 0001
+bzhi32 000000000001af3b 000000000000e027 -> 000000000000e027 0001
+bzhi32 000000000001193c 000000000000854a -> 000000000000854a 0001
+bzhi32 000000000000df6a 0000000000006bce -> 0000000000006bce 0001
+bzhi32 0000000000008d23 000000000000464e -> 000000000000464e 0001
+bzhi32 0000000000007026 00000000000037d9 -> 00000000000037d9 0001
+bzhi32 00000000000042b3 0000000000002347 -> 0000000000002347 0001
+bzhi32 00000000000035e9 0000000000001c06 -> 0000000000001c06 0001
+bzhi32 0000000000002329 00000000000010a9 -> 00000000000010a9 0001
+bzhi32 0000000000001bef 0000000000000d78 -> 0000000000000d78 0001
+bzhi32 00000000000011a3 00000000000008c8 -> 00000000000008c8 0001
+bzhi32 0000000000000e02 00000000000006fa -> 0000000000000002 0000
+bzhi32 0000000000000853 0000000000000468 -> 0000000000000468 0001
+bzhi32 00000000000006ba 0000000000000380 -> 0000000000000380 0001
+bzhi32 0000000000000464 0000000000000214 -> 0000000000000214 0001
+bzhi32 000000000000037d 00000000000001ae -> 00000000000001ae 0001
+bzhi32 0000000000000233 0000000000000118 -> 0000000000000118 0001
+bzhi32 00000000000001be 00000000000000de -> 00000000000000de 0001
+bzhi32 0000000000000119 000000000000008c -> 000000000000008c 0000
+bzhi32 00000000000000de 000000000000006f -> 000000000000006f 0001
+bzhi32 000000000000008c 0000000000000045 -> 0000000000000045 0001
+bzhi32 000000000000006f 0000000000000037 -> 0000000000000037 0001
+bzhi32 0000000000000045 0000000000000022 -> 0000000000000022 0001
+bzhi32 0000000000000037 000000000000001b -> 000000000000001b 0001
+bzhi32 0000000000000022 0000000000000010 -> 0000000000000010 0001
+bzhi32 000000000000001b 000000000000000c -> 000000000000000c 0000
+bzhi32 0000000000000010 0000000000000007 -> 0000000000000007 0000
+bzhi32 000000000000000c 0000000000000003 -> 0000000000000003 0000
+bzhi32 0000000000000007 0000000000000001 -> 0000000000000001 0000
+bzhi32 0000000000000003 0000000000000000 -> 0000000000000000 0040
+bzhi32 0000000000000001 0000000000000000 -> 0000000000000000 0040
+bzhi32 0000000000000000 0000000000000000 -> 0000000000000000 0040
+pdep64 fedc192837475675 57657438291cdef0 -> 0488012806471640
+pdep64 8efcf23ad7e922f3 452015034e67c955 -> 00d0e030d6410251
+pdep64 7068b90cdf850938 37e901ef56b302d6 -> 3020a10802840830
+pdep64 42db3e5ed85503a5 2348b20e142667cf -> 00480852885500a5
+pdep64 35eea72efbea67d7 1c09d34c26e1c212 -> 3128042ac1c02042
+pdep64 232c23d3b476ef47 10ad37922d51847f -> 2008229104408747
+pdep64 1bf0c1bf27fbb3ab 0d7b015093984564 -> 1210011c24212308
+pdep64 11a1311a29a562ea 08cac1103a60926a -> 1021000201042248
+pdep64 0e02582b8350ffd0 06fc5681c8cd2b10 -> 0002402901106200
+pdep64 0854b4408f5b9e17 04687224d51a87fa -> 004404400a039e12
+pdep64 06bcf33434328063 03809eacb986283a -> 00a0602400028042
+pdep64 0464f596e5f3ab8a 02152e09a7eb825e -> 0444359264022388
+pdep64 037dac8063df281c 01af3c969c7725a6 -> 03458c80024d0018
+pdep64 0234910d6d0cfe89 01193d5aad28c013 -> 0210100828000409
+pdep64 01c0a27d7eaa2575 00df6b2373776c4a -> 018022396ca00424
+pdep64 010adda943af43d8 008d24457d4341d1 -> 010a480902034108
+pdep64 00d7b2ae8c91c8ce 007028a17fc8b89e -> 00d782048c0080cc
+pdep64 008cae284a0c2065 0042b77370e42ef0 -> 00080428420c2000
+pdep64 006fc6190eb4fc04 0035ecaa6c888c28 -> 0044400802805000
+pdep64 004686bd6e829ce5 00232b89c5c8c9b6 -> 00048610620094a4
+pdep64 00380a0b248034f1 001bf185a53e82dc -> 00300800040030e0
+pdep64 0021536a650d4fc6 0011a1af9c2edaa2 -> 0000026861090a04
+pdep64 001af3d8d0c8c068 000e0282bc13b27b -> 000093504048c028
+pdep64 001193de10460316 000854daa0b4cc02 -> 0010818c00000004
+pdep64 000df6b241dd45c1 0006bcf63e2fbf3d -> 000c26b041d84581
+pdep64 0008d24469947f91 000464f7852a566a -> 0000420408844d10
+pdep64 0007028a17f7fc21 00037dac915ab5c5 -> 0002020a0565c401
+pdep64 00042b77370e9574 000234911b32831c -> 0000286220060160
+pdep64 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 000304c00440c804
+pdep64 000232b89c5ca207 00010addcd657882 -> 0002022898080002
+pdep64 0001bf185a53fb83 0000d7b2a9b6ab1d -> 00011b084842c381
+pdep64 00011a1af9c2f08e 00008cae2719cda3 -> 00000210e182a006
+pdep64 0000e0282bc137ba 00006fc61694404d -> 0000402002000232
+pdep64 0000854daa0b4caf 00004686be70612c -> 000085002800408c
+pdep64 00006bcf63e2fc01 0000380a0af0025a -> 00004b800040b400
+pdep64 0000464f7852a469 000021536a829879 -> 0000000a3000a441
+pdep64 000037dac915aa8f 00001af3d8f8abea -> 000007c08811aa0a
+pdep64 0000234911b3280d 00001193de14a839 -> 0000010810012801
+pdep64 00001c0a2862c244 00000df6b24569e5 -> 0000180808620204
+pdep64 000010addcd6577a 000008d2446cc8f9 -> 0000000cc4840762
+pdep64 00000d7b2a9b6ac9 000007028a18af7d -> 00000030221b2ac1
+pdep64 000008cae2719cd4 0000042b77359960 -> 0000084282411800
+pdep64 000006fc61694403 0000035ecaa6d9df -> 0000066c01614403
+pdep64 000004686be70610 00000232b89c662a -> 0000000843050200
+pdep64 00000380a0af0023 000001bf185a50b0 -> 0000010000260000
+pdep64 0000021536a82984 0000011a1af9c13b -> 0000021002082884
+pdep64 000001af3d8f8abd 000000e0282bc000 -> 000000051d000000
+pdep64 000001193de14a82 000000854daa0a5a -> 0000010009204880
+pdep64 000000df6b24569d 0000006bcf63e2b5 -> 000000c368041289
+pdep64 0000008d2446cc8e 000000464f7852a0 -> 0000000420048800
+pdep64 0000007028a18af6 00000037dac915a7 -> 0000004008208896
+pdep64 00000042b7735995 000000234911b322 -> 0000004015430804
+pdep64 00000035ecaa6d9d 0000001c0a2862bc -> 0000001104804998
+pdep64 000000232b89c661 00000010addcd664 -> 000000030980c040
+pdep64 0000001bf185a509 0000000d7b2a9b66 -> 0000001261818108
+pdep64 00000011a1af9c11 00000008cae27197 -> 00000000a1061411
+pdep64 0000000e0282bbfd 00000006fc616943 -> 0000000200822285
+pdep64 0000000854daa1a4 00000004686be704 -> 0000000840d00080
+pdep64 00000006bcf63eb9 0000000380a0aeff -> 0000000200a62eb9
+pdep64 0000000464f78590 000000021536a868 -> 0000000420830400
+pdep64 000000037dac916c 00000001af3d8fad -> 0000000261ac1064
+pdep64 0000000234911b32 00000001193de163 -> 0000000200101812
+pdep64 00000001c0a2862b 00000000df6b2459 -> 0000000040008221
+pdep64 000000010addcd65 000000008d2446ca -> 0000000000854844
+pdep64 00000000d7b2a9b5 000000007028a18a -> 000000000500a024
+pdep64 000000008cae2718 0000000042b77358 -> 00000000882a0600
+pdep64 000000006fc61693 0000000035ecaa6c -> 0000000025401490
+pdep64 000000004686be6e 00000000232b89c5 -> 0000000044021c0a
+pdep64 00000000380a0af2 000000001bf185a4 -> 00000000100a0220
+pdep64 0000000021536a83 0000000011a1af9b -> 0000000001530a03
+pdep64 000000001af3d8f7 000000000e0282bb -> 0000000002404873
+pdep64 000000001193de15 000000000854daa0 -> 0000000010914800
+pdep64 000000000df6b244 0000000006bcf63d -> 000000000d60b204
+pdep64 0000000008d2446b 000000000464f784 -> 0000000000d20008
+pdep64 0000000007028a18 00000000037dac90 -> 0000000002008000
+pdep64 00000000042b7735 000000000234911a -> 0000000000082124
+pdep64 00000000035ecaa5 0000000001c0a285 -> 0000000001048021
+pdep64 000000000232b89b 00000000010addcc -> 000000000230b018
+pdep64 0000000001bf185a 0000000000d7b2a8 -> 00000000018a1040
+pdep64 00000000011a1af9 00000000008cae26 -> 00000000001a0098
+pdep64 0000000000e0282a 00000000006fc615 -> 0000000000002022
+pdep64 0000000000854da9 00000000004686bd -> 00000000008445a1
+pdep64 00000000006bcf62 0000000000380a0a -> 0000000000090120
+pdep64 0000000000464f77 0000000000215369 -> 0000000000040d51
+pdep64 000000000037dac9 00000000001af3d7 -> 000000000031d249
+pdep64 0000000000234910 00000000001193de -> 0000000000214900
+pdep64 00000000001c0a27 00000000000df6b1 -> 0000000000080a01
+pdep64 000000000010add9 000000000008d242 -> 0000000000008408
+pdep64 00000000000d7b28 0000000000070287 -> 0000000000044128
+pdep64 000000000008cae0 0000000000042b72 -> 000000000000c840
+pdep64 000000000006fc5f 0000000000035ec7 -> 000000000002ec07
+pdep64 0000000000046871 00000000000232b3 -> 0000000000042811
+pdep64 000000000003809d 000000000001bf16 -> 000000000000008c
+pdep64 000000000002152c 0000000000011a1b -> 000000000000050c
+pdep64 000000000001af3b 000000000000e027 -> 000000000000010b
+pdep64 000000000001193c 000000000000854a -> 0000000000001028
+pdep64 000000000000df6a 0000000000006bce -> 0000000000005c68
+pdep64 0000000000008d23 000000000000464e -> 0000000000008122
+pdep64 0000000000007026 00000000000037d9 -> 0000000000003002
+pdep64 00000000000042b3 0000000000002347 -> 0000000000004013
+pdep64 00000000000035e9 0000000000001c06 -> 0000000000000028
+pdep64 0000000000002329 00000000000010a9 -> 0000000000002101
+pdep64 0000000000001bef 0000000000000d78 -> 00000000000012e8
+pdep64 00000000000011a3 00000000000008c8 -> 0000000000000080
+pdep64 0000000000000e02 00000000000006fa -> 0000000000000a00
+pdep64 0000000000000853 0000000000000468 -> 0000000000000040
+pdep64 00000000000006ba 0000000000000380 -> 0000000000000000
+pdep64 0000000000000464 0000000000000214 -> 0000000000000040
+pdep64 000000000000037d 00000000000001ae -> 000000000000025c
+pdep64 0000000000000233 0000000000000118 -> 0000000000000220
+pdep64 00000000000001be 00000000000000de -> 000000000000013c
+pdep64 0000000000000119 000000000000008c -> 0000000000000110
+pdep64 00000000000000de 000000000000006f -> 000000000000009e
+pdep64 000000000000008c 0000000000000045 -> 0000000000000084
+pdep64 000000000000006f 0000000000000037 -> 0000000000000067
+pdep64 0000000000000045 0000000000000022 -> 0000000000000004
+pdep64 0000000000000037 000000000000001b -> 0000000000000033
+pdep64 0000000000000022 0000000000000010 -> 0000000000000000
+pdep64 000000000000001b 000000000000000c -> 0000000000000018
+pdep64 0000000000000010 0000000000000007 -> 0000000000000010
+pdep64 000000000000000c 0000000000000003 -> 000000000000000c
+pdep64 0000000000000007 0000000000000001 -> 0000000000000001
+pdep64 0000000000000003 0000000000000000 -> 0000000000000000
+pdep64 0000000000000001 0000000000000000 -> 0000000000000000
+pdep64 0000000000000000 0000000000000000 -> 0000000000000000
+pdep32 fedc192837475675 57657438291cdef0 -> 0000000006471640
+pdep32 8efcf23ad7e922f3 452015034e67c955 -> 00000000d6410251
+pdep32 7068b90cdf850938 37e901ef56b302d6 -> 0000000002840830
+pdep32 42db3e5ed85503a5 2348b20e142667cf -> 00000000885500a5
+pdep32 35eea72efbea67d7 1c09d34c26e1c212 -> 00000000c1c02042
+pdep32 232c23d3b476ef47 10ad37922d51847f -> 0000000004408747
+pdep32 1bf0c1bf27fbb3ab 0d7b015093984564 -> 0000000024212308
+pdep32 11a1311a29a562ea 08cac1103a60926a -> 0000000001042248
+pdep32 0e02582b8350ffd0 06fc5681c8cd2b10 -> 0000000001106200
+pdep32 0854b4408f5b9e17 04687224d51a87fa -> 000000000a039e12
+pdep32 06bcf33434328063 03809eacb986283a -> 0000000000028042
+pdep32 0464f596e5f3ab8a 02152e09a7eb825e -> 0000000064022388
+pdep32 037dac8063df281c 01af3c969c7725a6 -> 00000000024d0018
+pdep32 0234910d6d0cfe89 01193d5aad28c013 -> 0000000028000409
+pdep32 01c0a27d7eaa2575 00df6b2373776c4a -> 000000006ca00424
+pdep32 010adda943af43d8 008d24457d4341d1 -> 0000000002034108
+pdep32 00d7b2ae8c91c8ce 007028a17fc8b89e -> 000000008c0080cc
+pdep32 008cae284a0c2065 0042b77370e42ef0 -> 00000000420c2000
+pdep32 006fc6190eb4fc04 0035ecaa6c888c28 -> 0000000002805000
+pdep32 004686bd6e829ce5 00232b89c5c8c9b6 -> 00000000620094a4
+pdep32 00380a0b248034f1 001bf185a53e82dc -> 00000000040030e0
+pdep32 0021536a650d4fc6 0011a1af9c2edaa2 -> 0000000061090a04
+pdep32 001af3d8d0c8c068 000e0282bc13b27b -> 000000004048c028
+pdep32 001193de10460316 000854daa0b4cc02 -> 0000000000000004
+pdep32 000df6b241dd45c1 0006bcf63e2fbf3d -> 0000000041d84581
+pdep32 0008d24469947f91 000464f7852a566a -> 0000000008844d10
+pdep32 0007028a17f7fc21 00037dac915ab5c5 -> 000000000565c401
+pdep32 00042b77370e9574 000234911b32831c -> 0000000020060160
+pdep32 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 000000000440c804
+pdep32 000232b89c5ca207 00010addcd657882 -> 0000000098080002
+pdep32 0001bf185a53fb83 0000d7b2a9b6ab1d -> 000000004842c381
+pdep32 00011a1af9c2f08e 00008cae2719cda3 -> 00000000e182a006
+pdep32 0000e0282bc137ba 00006fc61694404d -> 0000000002000232
+pdep32 0000854daa0b4caf 00004686be70612c -> 000000002800408c
+pdep32 00006bcf63e2fc01 0000380a0af0025a -> 000000000040b400
+pdep32 0000464f7852a469 000021536a829879 -> 000000003000a441
+pdep32 000037dac915aa8f 00001af3d8f8abea -> 000000008811aa0a
+pdep32 0000234911b3280d 00001193de14a839 -> 0000000010012801
+pdep32 00001c0a2862c244 00000df6b24569e5 -> 0000000008620204
+pdep32 000010addcd6577a 000008d2446cc8f9 -> 00000000c4840762
+pdep32 00000d7b2a9b6ac9 000007028a18af7d -> 00000000221b2ac1
+pdep32 000008cae2719cd4 0000042b77359960 -> 0000000082411800
+pdep32 000006fc61694403 0000035ecaa6d9df -> 0000000001614403
+pdep32 000004686be70610 00000232b89c662a -> 0000000043050200
+pdep32 00000380a0af0023 000001bf185a50b0 -> 0000000000260000
+pdep32 0000021536a82984 0000011a1af9c13b -> 0000000002082884
+pdep32 000001af3d8f8abd 000000e0282bc000 -> 000000001d000000
+pdep32 000001193de14a82 000000854daa0a5a -> 0000000009204880
+pdep32 000000df6b24569d 0000006bcf63e2b5 -> 0000000068041289
+pdep32 0000008d2446cc8e 000000464f7852a0 -> 0000000020048800
+pdep32 0000007028a18af6 00000037dac915a7 -> 0000000008208896
+pdep32 00000042b7735995 000000234911b322 -> 0000000015430804
+pdep32 00000035ecaa6d9d 0000001c0a2862bc -> 0000000004804998
+pdep32 000000232b89c661 00000010addcd664 -> 000000000980c040
+pdep32 0000001bf185a509 0000000d7b2a9b66 -> 0000000061818108
+pdep32 00000011a1af9c11 00000008cae27197 -> 00000000a1061411
+pdep32 0000000e0282bbfd 00000006fc616943 -> 0000000000822285
+pdep32 0000000854daa1a4 00000004686be704 -> 0000000040d00080
+pdep32 00000006bcf63eb9 0000000380a0aeff -> 0000000000a62eb9
+pdep32 0000000464f78590 000000021536a868 -> 0000000020830400
+pdep32 000000037dac916c 00000001af3d8fad -> 0000000061ac1064
+pdep32 0000000234911b32 00000001193de163 -> 0000000000101812
+pdep32 00000001c0a2862b 00000000df6b2459 -> 0000000040008221
+pdep32 000000010addcd65 000000008d2446ca -> 0000000000854844
+pdep32 00000000d7b2a9b5 000000007028a18a -> 000000000500a024
+pdep32 000000008cae2718 0000000042b77358 -> 00000000882a0600
+pdep32 000000006fc61693 0000000035ecaa6c -> 0000000025401490
+pdep32 000000004686be6e 00000000232b89c5 -> 0000000044021c0a
+pdep32 00000000380a0af2 000000001bf185a4 -> 00000000100a0220
+pdep32 0000000021536a83 0000000011a1af9b -> 0000000001530a03
+pdep32 000000001af3d8f7 000000000e0282bb -> 0000000002404873
+pdep32 000000001193de15 000000000854daa0 -> 0000000010914800
+pdep32 000000000df6b244 0000000006bcf63d -> 000000000d60b204
+pdep32 0000000008d2446b 000000000464f784 -> 0000000000d20008
+pdep32 0000000007028a18 00000000037dac90 -> 0000000002008000
+pdep32 00000000042b7735 000000000234911a -> 0000000000082124
+pdep32 00000000035ecaa5 0000000001c0a285 -> 0000000001048021
+pdep32 000000000232b89b 00000000010addcc -> 000000000230b018
+pdep32 0000000001bf185a 0000000000d7b2a8 -> 00000000018a1040
+pdep32 00000000011a1af9 00000000008cae26 -> 00000000001a0098
+pdep32 0000000000e0282a 00000000006fc615 -> 0000000000002022
+pdep32 0000000000854da9 00000000004686bd -> 00000000008445a1
+pdep32 00000000006bcf62 0000000000380a0a -> 0000000000090120
+pdep32 0000000000464f77 0000000000215369 -> 0000000000040d51
+pdep32 000000000037dac9 00000000001af3d7 -> 000000000031d249
+pdep32 0000000000234910 00000000001193de -> 0000000000214900
+pdep32 00000000001c0a27 00000000000df6b1 -> 0000000000080a01
+pdep32 000000000010add9 000000000008d242 -> 0000000000008408
+pdep32 00000000000d7b28 0000000000070287 -> 0000000000044128
+pdep32 000000000008cae0 0000000000042b72 -> 000000000000c840
+pdep32 000000000006fc5f 0000000000035ec7 -> 000000000002ec07
+pdep32 0000000000046871 00000000000232b3 -> 0000000000042811
+pdep32 000000000003809d 000000000001bf16 -> 000000000000008c
+pdep32 000000000002152c 0000000000011a1b -> 000000000000050c
+pdep32 000000000001af3b 000000000000e027 -> 000000000000010b
+pdep32 000000000001193c 000000000000854a -> 0000000000001028
+pdep32 000000000000df6a 0000000000006bce -> 0000000000005c68
+pdep32 0000000000008d23 000000000000464e -> 0000000000008122
+pdep32 0000000000007026 00000000000037d9 -> 0000000000003002
+pdep32 00000000000042b3 0000000000002347 -> 0000000000004013
+pdep32 00000000000035e9 0000000000001c06 -> 0000000000000028
+pdep32 0000000000002329 00000000000010a9 -> 0000000000002101
+pdep32 0000000000001bef 0000000000000d78 -> 00000000000012e8
+pdep32 00000000000011a3 00000000000008c8 -> 0000000000000080
+pdep32 0000000000000e02 00000000000006fa -> 0000000000000a00
+pdep32 0000000000000853 0000000000000468 -> 0000000000000040
+pdep32 00000000000006ba 0000000000000380 -> 0000000000000000
+pdep32 0000000000000464 0000000000000214 -> 0000000000000040
+pdep32 000000000000037d 00000000000001ae -> 000000000000025c
+pdep32 0000000000000233 0000000000000118 -> 0000000000000220
+pdep32 00000000000001be 00000000000000de -> 000000000000013c
+pdep32 0000000000000119 000000000000008c -> 0000000000000110
+pdep32 00000000000000de 000000000000006f -> 000000000000009e
+pdep32 000000000000008c 0000000000000045 -> 0000000000000084
+pdep32 000000000000006f 0000000000000037 -> 0000000000000067
+pdep32 0000000000000045 0000000000000022 -> 0000000000000004
+pdep32 0000000000000037 000000000000001b -> 0000000000000033
+pdep32 0000000000000022 0000000000000010 -> 0000000000000000
+pdep32 000000000000001b 000000000000000c -> 0000000000000018
+pdep32 0000000000000010 0000000000000007 -> 0000000000000010
+pdep32 000000000000000c 0000000000000003 -> 000000000000000c
+pdep32 0000000000000007 0000000000000001 -> 0000000000000001
+pdep32 0000000000000003 0000000000000000 -> 0000000000000000
+pdep32 0000000000000001 0000000000000000 -> 0000000000000000
+pdep32 0000000000000000 0000000000000000 -> 0000000000000000
+pext64 fedc192837475675 57657438291cdef0 -> 00000002b4ce29fc
+pext64 8efcf23ad7e922f3 452015034e67c955 -> 00000008810acd15
+pext64 7068b90cdf850938 37e901ef56b302d6 -> 0000000007c3b6a2
+pext64 42db3e5ed85503a5 2348b20e142667cf -> 0000000054c9c8bb
+pext64 35eea72efbea67d7 1c09d34c26e1c212 -> 000001849b12e48a
+pext64 232c23d3b476ef47 10ad37922d51847f -> 000000007f65a44f
+pext64 1bf0c1bf27fbb3ab 0d7b015093984564 -> 0000002b92073028
+pext64 11a1311a29a562ea 08cac1103a60926a -> 000000000086642f
+pext64 0e02582b8350ffd0 06fc5681c8cd2b10 -> 0000000003619159
+pext64 0854b4408f5b9e17 04687224d51a87fa -> 0000000004655d3a
+pext64 06bcf33434328063 03809eacb986283a -> 000000000309ae26
+pext64 0464f596e5f3ab8a 02152e09a7eb825e -> 000000002505fb93
+pext64 037dac8063df281c 01af3c969c7725a6 -> 000000000aef06f1
+pext64 0234910d6d0cfe89 01193d5aad28c013 -> 000000000138fb01
+pext64 01c0a27d7eaa2575 00df6b2373776c4a -> 000000001b4795d0
+pext64 010adda943af43d8 008d24457d4341d1 -> 000000000821a1de
+pext64 00d7b2ae8c91c8ce 007028a17fc8b89e -> 000000000c261cb7
+pext64 008cae284a0c2065 0042b77370e42ef0 -> 000000000001ba3c
+pext64 006fc6190eb4fc04 0035ecaa6c888c28 -> 0000000002bcb446
+pext64 004686bd6e829ce5 00232b89c5c8c9b6 -> 0000000002659556
+pext64 00380a0b248034f1 001bf185a53e82dc -> 0000000000030e1a
+pext64 0021536a650d4fc6 0011a1af9c2edaa2 -> 0000000001172da9
+pext64 001af3d8d0c8c068 000e0282bc13b27b -> 0000000000614517
+pext64 001193de10460316 000854daa0b4cc02 -> 0000000000027a41
+pext64 000df6b241dd45c1 0006bcf63e2fbf3d -> 0000000002bbc1d9
+pext64 0008d24469947f91 000464f7852a566a -> 00000000002622b0
+pext64 0007028a17f7fc21 00037dac915ab5c5 -> 0000000001b4aab5
+pext64 00042b77370e9574 000234911b32831c -> 0000000002095993
+pext64 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 000000000309b218
+pext64 000232b89c5ca207 00010addcd657882 -> 000000000006ee52
+pext64 0001bf185a53fb83 0000d7b2a9b6ab1d -> 0000000005789ab9
+pext64 00011a1af9c2f08e 00008cae2719cda3 -> 00000000002648c9
+pext64 0000e0282bc137ba 00006fc61694404d -> 0000000000185002
+pext64 0000854daa0b4caf 00004686be70612c -> 000000000022f11c
+pext64 00006bcf63e2fc01 0000380a0af0025a -> 0000000001851700
+pext64 0000464f7852a469 000021536a829879 -> 000000000004f4cf
+pext64 000037dac915aa8f 00001af3d8f8abea -> 00000000015de9fa
+pext64 0000234911b3280d 00001193de14a839 -> 000000000000989d
+pext64 00001c0a2862c244 00000df6b24569e5 -> 000000000000368b
+pext64 000010addcd6577a 000008d2446cc8f9 -> 000000000104aa1e
+pext64 00000d7b2a9b6ac9 000007028a18af7d -> 0000000000c26c77
+pext64 000008cae2719cd4 0000042b77359960 -> 00000000000377e4
+pext64 000006fc61694403 0000035ecaa6d9df -> 000000000002bc4b
+pext64 000004686be70610 00000232b89c662a -> 0000000000009926
+pext64 00000380a0af0023 000001bf185a50b0 -> 0000000000001854
+pext64 0000021536a82984 0000011a1af9c13b -> 00000000000045e4
+pext64 000001af3d8f8abd 000000e0282bc000 -> 0000000001851700
+pext64 000001193de14a82 000000854daa0a5a -> 0000000000004f4d
+pext64 000000df6b24569d 0000006bcf63e2b5 -> 00000000002bbd3b
+pext64 0000008d2446cc8e 000000464f7852a0 -> 0000000000004c48
+pext64 0000007028a18af6 00000037dac915a7 -> 000000000000da2b
+pext64 00000042b7735995 000000234911b322 -> 0000000000082550
+pext64 00000035ecaa6d9d 0000001c0a2862bc -> 0000000000309b1e
+pext64 000000232b89c661 00000010addcd664 -> 000000000000377e
+pext64 0000001bf185a509 0000000d7b2a9b66 -> 0000000000015e24
+pext64 00000011a1af9c11 00000008cae27197 -> 0000000000004c93
+pext64 0000000e0282bbfd 00000006fc616943 -> 0000000000030aa1
+pext64 0000000854daa1a4 00000004686be704 -> 00000000000022f9
+pext64 00000006bcf63eb9 0000000380a0aeff -> 000000000030a2ff
+pext64 0000000464f78590 000000021536a868 -> 00000000000013d0
+pext64 000000037dac916c 00000001af3d8fad -> 000000000002bbd7
+pext64 0000000234911b32 00000001193de163 -> 000000000000098d
+pext64 00000001c0a2862b 00000000df6b2459 -> 0000000000000da5
+pext64 000000010addcd65 000000008d2446ca -> 00000000000104a8
+pext64 00000000d7b2a9b5 000000007028a18a -> 00000000000309b0
+pext64 000000008cae2718 0000000042b77358 -> 00000000000006ef
+pext64 000000006fc61693 0000000035ecaa6c -> 000000000000af10
+pext64 000000004686be6e 00000000232b89c5 -> 0000000000004c92
+pext64 00000000380a0af2 000000001bf185a4 -> 0000000000000614
+pext64 0000000021536a83 0000000011a1af9b -> 00000000000008bf
+pext64 000000001af3d8f7 000000000e0282bb -> 000000000006145b
+pext64 000000001193de15 000000000854daa0 -> 00000000000009e8
+pext64 000000000df6b244 0000000006bcf63d -> 0000000000002bbd
+pext64 0000000008d2446b 000000000464f784 -> 0000000000000260
+pext64 0000000007028a18 00000000037dac90 -> 00000000000000da
+pext64 00000000042b7735 000000000234911a -> 0000000000002094
+pext64 00000000035ecaa5 0000000001c0a285 -> 000000000000309b
+pext64 000000000232b89b 00000000010addcc -> 0000000000000374
+pext64 0000000001bf185a 0000000000d7b2a8 -> 00000000000015e2
+pext64 00000000011a1af9 00000000008cae26 -> 00000000000004c8
+pext64 0000000000e0282a 00000000006fc615 -> 0000000000000060
+pext64 0000000000854da9 00000000004686bd -> 000000000000022f
+pext64 00000000006bcf62 0000000000380a0a -> 0000000000001851
+pext64 0000000000464f77 0000000000215369 -> 00000000000004f1
+pext64 000000000037dac9 00000000001af3d7 -> 00000000000015dd
+pext64 0000000000234910 00000000001193de -> 0000000000000013
+pext64 00000000001c0a27 00000000000df6b1 -> 00000000000000d9
+pext64 000000000010add9 000000000008d242 -> 0000000000000208
+pext64 00000000000d7b28 0000000000070287 -> 0000000000000308
+pext64 000000000008cae0 0000000000042b72 -> 000000000000001b
+pext64 000000000006fc5f 0000000000035ec7 -> 00000000000015e7
+pext64 0000000000046871 00000000000232b3 -> 0000000000000027
+pext64 000000000003809d 000000000001bf16 -> 000000000000006a
+pext64 000000000002152c 0000000000011a1b -> 0000000000000022
+pext64 000000000001af3b 000000000000e027 -> 0000000000000613
+pext64 000000000001193c 000000000000854a -> 0000000000000012
+pext64 000000000000df6a 0000000000006bce -> 00000000000002bb
+pext64 0000000000008d23 000000000000464e -> 0000000000000012
+pext64 0000000000007026 00000000000037d9 -> 0000000000000018
+pext64 00000000000042b3 0000000000002347 -> 0000000000000023
+pext64 00000000000035e9 0000000000001c06 -> 00000000000000c0
+pext64 0000000000002329 00000000000010a9 -> 0000000000000007
+pext64 0000000000001bef 0000000000000d78 -> 00000000000002b8
+pext64 00000000000011a3 00000000000008c8 -> 0000000000000008
+pext64 0000000000000e02 00000000000006fa -> 0000000000000007
+pext64 0000000000000853 0000000000000468 -> 0000000000000008
+pext64 00000000000006ba 0000000000000380 -> 0000000000000030
+pext64 0000000000000464 0000000000000214 -> 0000000000000001
+pext64 000000000000037d 00000000000001ae -> 0000000000000056
+pext64 0000000000000233 0000000000000118 -> 0000000000000004
+pext64 00000000000001be 00000000000000de -> 000000000000002f
+pext64 0000000000000119 000000000000008c -> 0000000000000002
+pext64 00000000000000de 000000000000006f -> 0000000000000017
+pext64 000000000000008c 0000000000000045 -> 0000000000000001
+pext64 000000000000006f 0000000000000037 -> 0000000000000017
+pext64 0000000000000045 0000000000000022 -> 0000000000000000
+pext64 0000000000000037 000000000000001b -> 000000000000000b
+pext64 0000000000000022 0000000000000010 -> 0000000000000000
+pext64 000000000000001b 000000000000000c -> 0000000000000004
+pext64 0000000000000010 0000000000000007 -> 0000000000000000
+pext64 000000000000000c 0000000000000003 -> 0000000000000000
+pext64 0000000000000007 0000000000000001 -> 0000000000000001
+pext64 0000000000000003 0000000000000000 -> 0000000000000000
+pext64 0000000000000001 0000000000000000 -> 0000000000000000
+pext64 0000000000000000 0000000000000000 -> 0000000000000000
+pext32 fedc192837475675 57657438291cdef0 -> 00000000000229fc
+pext32 8efcf23ad7e922f3 452015034e67c955 -> 000000000002cd15
+pext32 7068b90cdf850938 37e901ef56b302d6 -> 00000000000036a2
+pext32 42db3e5ed85503a5 2348b20e142667cf -> 00000000000008bb
+pext32 35eea72efbea67d7 1c09d34c26e1c212 -> 000000000012e48a
+pext32 232c23d3b476ef47 10ad37922d51847f -> 000000000005a44f
+pext32 1bf0c1bf27fbb3ab 0d7b015093984564 -> 0000000000073028
+pext32 11a1311a29a562ea 08cac1103a60926a -> 000000000000642f
+pext32 0e02582b8350ffd0 06fc5681c8cd2b10 -> 0000000000009159
+pext32 0854b4408f5b9e17 04687224d51a87fa -> 0000000000055d3a
+pext32 06bcf33434328063 03809eacb986283a -> 0000000000000626
+pext32 0464f596e5f3ab8a 02152e09a7eb825e -> 000000000005fb93
+pext32 037dac8063df281c 01af3c969c7725a6 -> 00000000000006f1
+pext32 0234910d6d0cfe89 01193d5aad28c013 -> 000000000000fb01
+pext32 01c0a27d7eaa2575 00df6b2373776c4a -> 00000000000395d0
+pext32 010adda943af43d8 008d24457d4341d1 -> 000000000000a1de
+pext32 00d7b2ae8c91c8ce 007028a17fc8b89e -> 0000000000001cb7
+pext32 008cae284a0c2065 0042b77370e42ef0 -> 000000000000023c
+pext32 006fc6190eb4fc04 0035ecaa6c888c28 -> 0000000000003446
+pext32 004686bd6e829ce5 00232b89c5c8c9b6 -> 0000000000009556
+pext32 00380a0b248034f1 001bf185a53e82dc -> 000000000000061a
+pext32 0021536a650d4fc6 0011a1af9c2edaa2 -> 0000000000002da9
+pext32 001af3d8d0c8c068 000e0282bc13b27b -> 0000000000000517
+pext32 001193de10460316 000854daa0b4cc02 -> 0000000000000041
+pext32 000df6b241dd45c1 0006bcf63e2fbf3d -> 00000000000001d9
+pext32 0008d24469947f91 000464f7852a566a -> 00000000000022b0
+pext32 0007028a17f7fc21 00037dac915ab5c5 -> 000000000004aab5
+pext32 00042b77370e9574 000234911b32831c -> 0000000000005993
+pext32 00035ecaa6c8cb9c 0001c0a2862c25c1 -> 000000000000b218
+pext32 000232b89c5ca207 00010addcd657882 -> 0000000000002e52
+pext32 0001bf185a53fb83 0000d7b2a9b6ab1d -> 0000000000009ab9
+pext32 00011a1af9c2f08e 00008cae2719cda3 -> 00000000000048c9
+pext32 0000e0282bc137ba 00006fc61694404d -> 0000000000005002
+pext32 0000854daa0b4caf 00004686be70612c -> 000000000000f11c
+pext32 00006bcf63e2fc01 0000380a0af0025a -> 0000000000001700
+pext32 0000464f7852a469 000021536a829879 -> 00000000000034cf
+pext32 000037dac915aa8f 00001af3d8f8abea -> 000000000000e9fa
+pext32 0000234911b3280d 00001193de14a839 -> 000000000000089d
+pext32 00001c0a2862c244 00000df6b24569e5 -> 000000000000028b
+pext32 000010addcd6577a 000008d2446cc8f9 -> 000000000004aa1e
+pext32 00000d7b2a9b6ac9 000007028a18af7d -> 0000000000006c77
+pext32 000008cae2719cd4 0000042b77359960 -> 00000000000077e4
+pext32 000006fc61694403 0000035ecaa6d9df -> 000000000000044b
+pext32 000004686be70610 00000232b89c662a -> 0000000000001926
+pext32 00000380a0af0023 000001bf185a50b0 -> 0000000000000054
+pext32 0000021536a82984 0000011a1af9c13b -> 00000000000005e4
+pext32 000001af3d8f8abd 000000e0282bc000 -> 0000000000051700
+pext32 000001193de14a82 000000854daa0a5a -> 0000000000000f4d
+pext32 000000df6b24569d 0000006bcf63e2b5 -> 000000000000bd3b
+pext32 0000008d2446cc8e 000000464f7852a0 -> 0000000000000c48
+pext32 0000007028a18af6 00000037dac915a7 -> 0000000000001a2b
+pext32 00000042b7735995 000000234911b322 -> 0000000000002550
+pext32 00000035ecaa6d9d 0000001c0a2862bc -> 0000000000009b1e
+pext32 000000232b89c661 00000010addcd664 -> 000000000000377e
+pext32 0000001bf185a509 0000000d7b2a9b66 -> 0000000000001e24
+pext32 00000011a1af9c11 00000008cae27197 -> 0000000000004c93
+pext32 0000000e0282bbfd 00000006fc616943 -> 0000000000000aa1
+pext32 0000000854daa1a4 00000004686be704 -> 00000000000022f9
+pext32 00000006bcf63eb9 0000000380a0aeff -> 000000000010a2ff
+pext32 0000000464f78590 000000021536a868 -> 00000000000013d0
+pext32 000000037dac916c 00000001af3d8fad -> 000000000000bbd7
+pext32 0000000234911b32 00000001193de163 -> 000000000000098d
+pext32 00000001c0a2862b 00000000df6b2459 -> 0000000000000da5
+pext32 000000010addcd65 000000008d2446ca -> 00000000000104a8
+pext32 00000000d7b2a9b5 000000007028a18a -> 00000000000309b0
+pext32 000000008cae2718 0000000042b77358 -> 00000000000006ef
+pext32 000000006fc61693 0000000035ecaa6c -> 000000000000af10
+pext32 000000004686be6e 00000000232b89c5 -> 0000000000004c92
+pext32 00000000380a0af2 000000001bf185a4 -> 0000000000000614
+pext32 0000000021536a83 0000000011a1af9b -> 00000000000008bf
+pext32 000000001af3d8f7 000000000e0282bb -> 000000000006145b
+pext32 000000001193de15 000000000854daa0 -> 00000000000009e8
+pext32 000000000df6b244 0000000006bcf63d -> 0000000000002bbd
+pext32 0000000008d2446b 000000000464f784 -> 0000000000000260
+pext32 0000000007028a18 00000000037dac90 -> 00000000000000da
+pext32 00000000042b7735 000000000234911a -> 0000000000002094
+pext32 00000000035ecaa5 0000000001c0a285 -> 000000000000309b
+pext32 000000000232b89b 00000000010addcc -> 0000000000000374
+pext32 0000000001bf185a 0000000000d7b2a8 -> 00000000000015e2
+pext32 00000000011a1af9 00000000008cae26 -> 00000000000004c8
+pext32 0000000000e0282a 00000000006fc615 -> 0000000000000060
+pext32 0000000000854da9 00000000004686bd -> 000000000000022f
+pext32 00000000006bcf62 0000000000380a0a -> 0000000000001851
+pext32 0000000000464f77 0000000000215369 -> 00000000000004f1
+pext32 000000000037dac9 00000000001af3d7 -> 00000000000015dd
+pext32 0000000000234910 00000000001193de -> 0000000000000013
+pext32 00000000001c0a27 00000000000df6b1 -> 00000000000000d9
+pext32 000000000010add9 000000000008d242 -> 0000000000000208
+pext32 00000000000d7b28 0000000000070287 -> 0000000000000308
+pext32 000000000008cae0 0000000000042b72 -> 000000000000001b
+pext32 000000000006fc5f 0000000000035ec7 -> 00000000000015e7
+pext32 0000000000046871 00000000000232b3 -> 0000000000000027
+pext32 000000000003809d 000000000001bf16 -> 000000000000006a
+pext32 000000000002152c 0000000000011a1b -> 0000000000000022
+pext32 000000000001af3b 000000000000e027 -> 0000000000000613
+pext32 000000000001193c 000000000000854a -> 0000000000000012
+pext32 000000000000df6a 0000000000006bce -> 00000000000002bb
+pext32 0000000000008d23 000000000000464e -> 0000000000000012
+pext32 0000000000007026 00000000000037d9 -> 0000000000000018
+pext32 00000000000042b3 0000000000002347 -> 0000000000000023
+pext32 00000000000035e9 0000000000001c06 -> 00000000000000c0
+pext32 0000000000002329 00000000000010a9 -> 0000000000000007
+pext32 0000000000001bef 0000000000000d78 -> 00000000000002b8
+pext32 00000000000011a3 00000000000008c8 -> 0000000000000008
+pext32 0000000000000e02 00000000000006fa -> 0000000000000007
+pext32 0000000000000853 0000000000000468 -> 0000000000000008
+pext32 00000000000006ba 0000000000000380 -> 0000000000000030
+pext32 0000000000000464 0000000000000214 -> 0000000000000001
+pext32 000000000000037d 00000000000001ae -> 0000000000000056
+pext32 0000000000000233 0000000000000118 -> 0000000000000004
+pext32 00000000000001be 00000000000000de -> 000000000000002f
+pext32 0000000000000119 000000000000008c -> 0000000000000002
+pext32 00000000000000de 000000000000006f -> 0000000000000017
+pext32 000000000000008c 0000000000000045 -> 0000000000000001
+pext32 000000000000006f 0000000000000037 -> 0000000000000017
+pext32 0000000000000045 0000000000000022 -> 0000000000000000
+pext32 0000000000000037 000000000000001b -> 000000000000000b
+pext32 0000000000000022 0000000000000010 -> 0000000000000000
+pext32 000000000000001b 000000000000000c -> 0000000000000004
+pext32 0000000000000010 0000000000000007 -> 0000000000000000
+pext32 000000000000000c 0000000000000003 -> 0000000000000000
+pext32 0000000000000007 0000000000000001 -> 0000000000000001
+pext32 0000000000000003 0000000000000000 -> 0000000000000000
+pext32 0000000000000001 0000000000000000 -> 0000000000000000
+pext32 0000000000000000 0000000000000000 -> 0000000000000000
diff --git a/none/tests/amd64/bmi.vgtest b/none/tests/amd64/bmi.vgtest
new file mode 100644
index 0000000..5437496
--- /dev/null
+++ b/none/tests/amd64/bmi.vgtest
@@ -0,0 +1,3 @@
+prog: bmi
+prereq: test -x bmi && ../../../tests/x86_amd64_features amd64-avx
+vgopts: -q
diff --git a/none/tests/amd64/fma.c b/none/tests/amd64/fma.c
new file mode 100644
index 0000000..111ed5d
--- /dev/null
+++ b/none/tests/amd64/fma.c
@@ -0,0 +1,1431 @@
+#include <stdio.h>
+#include <string.h>
+
+#define N 64
+struct float_test {
+   float x[N], y[N], z[N], expected[N], res[N];
+} ft __attribute__((aligned (32)));
+
+struct double_test {
+   double x[N], y[N], z[N], expected[N], res[N];
+} dt __attribute__((aligned (32)));
+
+float plus_zero, plus_infty, minus_infty, nan_value;
+
+static int testf( float x, float y )
+{
+   unsigned int a, b;
+   memcpy( &a, &x, sizeof (a) );
+   memcpy( &b, &y, sizeof (b) );
+   if ((a & 0x7fc00000U) == 0x7fc00000U)
+      return (b & 0x7fc00000U) != 0x7fc00000U;
+   return memcmp( &a, &b, sizeof (a) ) != 0;
+}
+
+static int test_fmaf( void )
+{
+   int res = 0, i, j;
+   float w;
+   for (i = 0; i < N; i++) {
+      int thisres = 0;
+      __asm __volatile__ ("vfmadd132ss %2, %3, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      __asm __volatile__ ("vfmadd132ss %2, %3, %0" : "=x" (w) : "0" (ft.x[i]), "m" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      __asm __volatile__ ("vfmadd213ss %3, %2, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      __asm __volatile__ ("vfmadd213ss %3, %2, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "m" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      __asm __volatile__ ("vfmadd231ss %2, %1, %0" : "=x" (w) : "x" (ft.x[i]), "x" (ft.y[i]), "0" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      __asm __volatile__ ("vfmadd231ss %2, %1, %0" : "=x" (w) : "x" (ft.x[i]), "m" (ft.y[i]), "0" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      if (thisres)
+         printf( "Failure 1 %d %a %a\n", i, w, ft.expected[i] );
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vfnmsub132ss %2, %3, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      __asm __volatile__ ("vfnmsub132ss %2, %3, %0" : "=x" (w) : "0" (ft.x[i]), "m" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      __asm __volatile__ ("vfnmsub213ss %3, %2, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      __asm __volatile__ ("vfnmsub213ss %3, %2, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "m" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      __asm __volatile__ ("vfnmsub231ss %2, %1, %0" : "=x" (w) : "x" (ft.x[i]), "x" (ft.y[i]), "0" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      __asm __volatile__ ("vfnmsub231ss %2, %1, %0" : "=x" (w) : "x" (ft.x[i]), "m" (ft.y[i]), "0" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      if (thisres)
+         printf( "Failure 2 %d %a %a\n", i, w, ft.expected[i] );
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      ft.z[i] = -ft.z[i];
+   for (i = 0; i < N; i++) {
+      int thisres = 0;
+      __asm __volatile__ ("vfmsub132ss %2, %3, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      __asm __volatile__ ("vfmsub132ss %2, %3, %0" : "=x" (w) : "0" (ft.x[i]), "m" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      __asm __volatile__ ("vfmsub213ss %3, %2, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      __asm __volatile__ ("vfmsub213ss %3, %2, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "m" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      __asm __volatile__ ("vfmsub231ss %2, %1, %0" : "=x" (w) : "x" (ft.x[i]), "x" (ft.y[i]), "0" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      __asm __volatile__ ("vfmsub231ss %2, %1, %0" : "=x" (w) : "x" (ft.x[i]), "m" (ft.y[i]), "0" (ft.z[i]));
+      thisres |= testf( w, ft.expected[i] );
+      if (thisres)
+         printf( "Failure 3 %d %a %a\n", i, w, ft.expected[i] );
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vfnmadd132ss %2, %3, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      __asm __volatile__ ("vfnmadd132ss %2, %3, %0" : "=x" (w) : "0" (ft.x[i]), "m" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      __asm __volatile__ ("vfnmadd213ss %3, %2, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "x" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      __asm __volatile__ ("vfnmadd213ss %3, %2, %0" : "=x" (w) : "0" (ft.x[i]), "x" (ft.y[i]), "m" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      __asm __volatile__ ("vfnmadd231ss %2, %1, %0" : "=x" (w) : "x" (ft.x[i]), "x" (ft.y[i]), "0" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      __asm __volatile__ ("vfnmadd231ss %2, %1, %0" : "=x" (w) : "x" (ft.x[i]), "m" (ft.y[i]), "0" (ft.z[i]));
+      thisres |= testf( -w, ft.expected[i] );
+      if (thisres)
+         printf( "Failure 4 %d %a %a\n", i, w, ft.expected[i] );
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      ft.z[i] = -ft.z[i];
+   for (i = 0; i < N; i += 4) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%3), %%xmm8;"
+                          "vfmadd132ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm8;"
+                          "vfmadd132ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm7; vmovaps (%2), %%xmm8;"
+                          "vfmadd213ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm8;"
+                          "vfmadd213ps (%3), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%1), %%xmm8;"
+                          "vfmadd231ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%1), %%xmm8;"
+                          "vfmadd231ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 5 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%3), %%xmm8;"
+                          "vfnmsub132ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm8;"
+                          "vfnmsub132ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm7; vmovaps (%2), %%xmm8;"
+                          "vfnmsub213ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm8;"
+                          "vfnmsub213ps (%3), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%1), %%xmm8;"
+                          "vfnmsub231ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%1), %%xmm8;"
+                          "vfnmsub231ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 6 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      ft.z[i] = -ft.z[i];
+   for (i = 0; i < N; i += 4) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%3), %%xmm8;"
+                          "vfmsub132ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm8;"
+                          "vfmsub132ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm7; vmovaps (%2), %%xmm8;"
+                          "vfmsub213ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm8;"
+                          "vfmsub213ps (%3), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%1), %%xmm8;"
+                          "vfmsub231ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%1), %%xmm8;"
+                          "vfmsub231ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 7 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%3), %%xmm8;"
+                          "vfnmadd132ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm8;"
+                          "vfnmadd132ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm7; vmovaps (%2), %%xmm8;"
+                          "vfnmadd213ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm8;"
+                          "vfnmadd213ps (%3), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%1), %%xmm8;"
+                          "vfnmadd231ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%1), %%xmm8;"
+                          "vfnmadd231ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 8 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 1; i < N; i += 2)
+      ft.z[i] = -ft.z[i];
+   for (i = 0; i < N; i += 4) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%3), %%xmm8;"
+                          "vfmaddsub132ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm8;"
+                          "vfmaddsub132ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm7; vmovaps (%2), %%xmm8;"
+                          "vfmaddsub213ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm8;"
+                          "vfmaddsub213ps (%3), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%1), %%xmm8;"
+                          "vfmaddsub231ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%1), %%xmm8;"
+                          "vfmaddsub231ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 9 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      ft.z[i] = -ft.z[i];
+   for (i = 0; i < N; i += 4) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%3), %%xmm8;"
+                          "vfmsubadd132ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm8;"
+                          "vfmsubadd132ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%3), %%xmm7; vmovaps (%2), %%xmm8;"
+                          "vfmsubadd213ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%xmm9; vmovaps (%2), %%xmm8;"
+                          "vfmsubadd213ps (%3), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%2), %%xmm7; vmovaps (%1), %%xmm8;"
+                          "vfmsubadd231ps %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%xmm9; vmovaps (%1), %%xmm8;"
+                          "vfmsubadd231ps (%2), %%xmm8, %%xmm9;"
+                          "vmovaps %%xmm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 10 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 1; i < N; i += 2)
+      ft.z[i] = -ft.z[i];
+   for (i = 0; i < N; i += 8) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%3), %%ymm8;"
+                          "vfmadd132ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm8;"
+                          "vfmadd132ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm7; vmovaps (%2), %%ymm8;"
+                          "vfmadd213ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm8;"
+                          "vfmadd213ps (%3), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%1), %%ymm8;"
+                          "vfmadd231ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%1), %%ymm8;"
+                          "vfmadd231ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 11 %d", i );
+         for (j = 0; j < 8; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%3), %%ymm8;"
+                          "vfnmsub132ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm8;"
+                          "vfnmsub132ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm7; vmovaps (%2), %%ymm8;"
+                          "vfnmsub213ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm8;"
+                          "vfnmsub213ps (%3), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%1), %%ymm8;"
+                          "vfnmsub231ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%1), %%ymm8;"
+                          "vfnmsub231ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 12 %d", i );
+         for (j = 0; j < 8; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      ft.z[i] = -ft.z[i];
+   for (i = 0; i < N; i += 8) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%3), %%ymm8;"
+                          "vfmsub132ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm8;"
+                          "vfmsub132ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm7; vmovaps (%2), %%ymm8;"
+                          "vfmsub213ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm8;"
+                          "vfmsub213ps (%3), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%1), %%ymm8;"
+                          "vfmsub231ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%1), %%ymm8;"
+                          "vfmsub231ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 13 %d", i );
+         for (j = 0; j < 8; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%3), %%ymm8;"
+                          "vfnmadd132ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm8;"
+                          "vfnmadd132ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm7; vmovaps (%2), %%ymm8;"
+                          "vfnmadd213ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm8;"
+                          "vfnmadd213ps (%3), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%1), %%ymm8;"
+                          "vfnmadd231ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%1), %%ymm8;"
+                          "vfnmadd231ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( -ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 14 %d", i );
+         for (j = 0; j < 8; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 1; i < N; i += 2)
+      ft.z[i] = -ft.z[i];
+   for (i = 0; i < N; i += 8) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%3), %%ymm8;"
+                          "vfmaddsub132ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm8;"
+                          "vfmaddsub132ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm7; vmovaps (%2), %%ymm8;"
+                          "vfmaddsub213ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm8;"
+                          "vfmaddsub213ps (%3), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%1), %%ymm8;"
+                          "vfmaddsub231ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%1), %%ymm8;"
+                          "vfmaddsub231ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 15 %d", i );
+         for (j = 0; j < 8; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      ft.z[i] = -ft.z[i];
+   for (i = 0; i < N; i += 8) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%3), %%ymm8;"
+                          "vfmsubadd132ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm8;"
+                          "vfmsubadd132ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%3), %%ymm7; vmovaps (%2), %%ymm8;"
+                          "vfmsubadd213ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%1), %%ymm9; vmovaps (%2), %%ymm8;"
+                          "vfmsubadd213ps (%3), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%2), %%ymm7; vmovaps (%1), %%ymm8;"
+                          "vfmsubadd231ps %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      __asm __volatile__ ("vmovaps (%3), %%ymm9; vmovaps (%1), %%ymm8;"
+                          "vfmsubadd231ps (%2), %%ymm8, %%ymm9;"
+                          "vmovaps %%ymm9, (%0)" : : "r" (&ft.res[i]), "r" (&ft.x[i]),
+                                                     "r" (&ft.y[i]), "r" (&ft.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 8; j++)
+         thisres |= testf( ft.res[i+j], ft.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 16 %d", i );
+         for (j = 0; j < 8; j++)
+            printf( " %a %a", ft.res[i+j], ft.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 1; i < N; i += 2)
+      ft.z[i] = -ft.z[i];
+   return res;
+}
+
+static int test( double x, double y )
+{
+   unsigned long long a, b;
+   memcpy( &a, &x, sizeof (a) );
+   memcpy( &b, &y, sizeof (b) );
+   if ((a & 0x7ff8000000000000ULL) == 0x7ff8000000000000ULL)
+      return (b & 0x7ff8000000000000ULL) != 0x7ff8000000000000ULL;
+   return memcmp( &a, &b, sizeof (a) ) != 0;
+}
+
+static int test_fma( void )
+{
+   int res = 0, i, j;
+   double w;
+   for (i = 0; i < N; i++) {
+      int thisres = 0;
+      __asm __volatile__ ("vfmadd132sd %2, %3, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      __asm __volatile__ ("vfmadd132sd %2, %3, %0" : "=x" (w) : "0" (dt.x[i]), "m" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      __asm __volatile__ ("vfmadd213sd %3, %2, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      __asm __volatile__ ("vfmadd213sd %3, %2, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "m" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      __asm __volatile__ ("vfmadd231sd %2, %1, %0" : "=x" (w) : "x" (dt.x[i]), "x" (dt.y[i]), "0" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      __asm __volatile__ ("vfmadd231sd %2, %1, %0" : "=x" (w) : "x" (dt.x[i]), "m" (dt.y[i]), "0" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      if (thisres)
+         printf( "Failure 1 %d %a %a\n", i, w, dt.expected[i] );
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vfnmsub132sd %2, %3, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      __asm __volatile__ ("vfnmsub132sd %2, %3, %0" : "=x" (w) : "0" (dt.x[i]), "m" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      __asm __volatile__ ("vfnmsub213sd %3, %2, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      __asm __volatile__ ("vfnmsub213sd %3, %2, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "m" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      __asm __volatile__ ("vfnmsub231sd %2, %1, %0" : "=x" (w) : "x" (dt.x[i]), "x" (dt.y[i]), "0" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      __asm __volatile__ ("vfnmsub231sd %2, %1, %0" : "=x" (w) : "x" (dt.x[i]), "m" (dt.y[i]), "0" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      if (thisres)
+         printf( "Failure 2 %d %a %a\n", i, w, dt.expected[i] );
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      dt.z[i] = -dt.z[i];
+   for (i = 0; i < N; i++) {
+      int thisres = 0;
+      __asm __volatile__ ("vfmsub132sd %2, %3, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      __asm __volatile__ ("vfmsub132sd %2, %3, %0" : "=x" (w) : "0" (dt.x[i]), "m" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      __asm __volatile__ ("vfmsub213sd %3, %2, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      __asm __volatile__ ("vfmsub213sd %3, %2, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "m" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      __asm __volatile__ ("vfmsub231sd %2, %1, %0" : "=x" (w) : "x" (dt.x[i]), "x" (dt.y[i]), "0" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      __asm __volatile__ ("vfmsub231sd %2, %1, %0" : "=x" (w) : "x" (dt.x[i]), "m" (dt.y[i]), "0" (dt.z[i]));
+      thisres |= test( w, dt.expected[i] );
+      if (thisres)
+         printf( "Failure 3 %d %a %a\n", i, w, dt.expected[i] );
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vfnmadd132sd %2, %3, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      __asm __volatile__ ("vfnmadd132sd %2, %3, %0" : "=x" (w) : "0" (dt.x[i]), "m" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      __asm __volatile__ ("vfnmadd213sd %3, %2, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "x" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      __asm __volatile__ ("vfnmadd213sd %3, %2, %0" : "=x" (w) : "0" (dt.x[i]), "x" (dt.y[i]), "m" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      __asm __volatile__ ("vfnmadd231sd %2, %1, %0" : "=x" (w) : "x" (dt.x[i]), "x" (dt.y[i]), "0" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      __asm __volatile__ ("vfnmadd231sd %2, %1, %0" : "=x" (w) : "x" (dt.x[i]), "m" (dt.y[i]), "0" (dt.z[i]));
+      thisres |= test( -w, dt.expected[i] );
+      if (thisres)
+         printf( "Failure 4 %d %a %a\n", i, w, dt.expected[i] );
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      dt.z[i] = -dt.z[i];
+   for (i = 0; i < N; i += 2) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%3), %%xmm8;"
+                          "vfmadd132pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm8;"
+                          "vfmadd132pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm7; vmovapd (%2), %%xmm8;"
+                          "vfmadd213pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm8;"
+                          "vfmadd213pd (%3), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%1), %%xmm8;"
+                          "vfmadd231pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%1), %%xmm8;"
+                          "vfmadd231pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 5 %d", i );
+         for (j = 0; j < 2; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%3), %%xmm8;"
+                          "vfnmsub132pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm8;"
+                          "vfnmsub132pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm7; vmovapd (%2), %%xmm8;"
+                          "vfnmsub213pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm8;"
+                          "vfnmsub213pd (%3), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%1), %%xmm8;"
+                          "vfnmsub231pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%1), %%xmm8;"
+                          "vfnmsub231pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 6 %d", i );
+         for (j = 0; j < 2; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      dt.z[i] = -dt.z[i];
+   for (i = 0; i < N; i += 2) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%3), %%xmm8;"
+                          "vfmsub132pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm8;"
+                          "vfmsub132pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm7; vmovapd (%2), %%xmm8;"
+                          "vfmsub213pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm8;"
+                          "vfmsub213pd (%3), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%1), %%xmm8;"
+                          "vfmsub231pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%1), %%xmm8;"
+                          "vfmsub231pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 7 %d", i );
+         for (j = 0; j < 2; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%3), %%xmm8;"
+                          "vfnmadd132pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm8;"
+                          "vfnmadd132pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm7; vmovapd (%2), %%xmm8;"
+                          "vfnmadd213pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm8;"
+                          "vfnmadd213pd (%3), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%1), %%xmm8;"
+                          "vfnmadd231pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%1), %%xmm8;"
+                          "vfnmadd231pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 8 %d", i );
+         for (j = 0; j < 2; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 1; i < N; i += 2)
+      dt.z[i] = -dt.z[i];
+   for (i = 0; i < N; i += 2) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%3), %%xmm8;"
+                          "vfmaddsub132pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm8;"
+                          "vfmaddsub132pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm7; vmovapd (%2), %%xmm8;"
+                          "vfmaddsub213pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm8;"
+                          "vfmaddsub213pd (%3), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%1), %%xmm8;"
+                          "vfmaddsub231pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%1), %%xmm8;"
+                          "vfmaddsub231pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 9 %d", i );
+         for (j = 0; j < 2; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      dt.z[i] = -dt.z[i];
+   for (i = 0; i < N; i += 2) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%3), %%xmm8;"
+                          "vfmsubadd132pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm8;"
+                          "vfmsubadd132pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%3), %%xmm7; vmovapd (%2), %%xmm8;"
+                          "vfmsubadd213pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%xmm9; vmovapd (%2), %%xmm8;"
+                          "vfmsubadd213pd (%3), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%2), %%xmm7; vmovapd (%1), %%xmm8;"
+                          "vfmsubadd231pd %%xmm7, %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%xmm9; vmovapd (%1), %%xmm8;"
+                          "vfmsubadd231pd (%2), %%xmm8, %%xmm9;"
+                          "vmovapd %%xmm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 2; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 10 %d", i );
+         for (j = 0; j < 2; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 1; i < N; i += 2)
+      dt.z[i] = -dt.z[i];
+   for (i = 0; i < N; i += 4) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%3), %%ymm8;"
+                          "vfmadd132pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm8;"
+                          "vfmadd132pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm7; vmovapd (%2), %%ymm8;"
+                          "vfmadd213pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm8;"
+                          "vfmadd213pd (%3), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%1), %%ymm8;"
+                          "vfmadd231pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%1), %%ymm8;"
+                          "vfmadd231pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 11 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%3), %%ymm8;"
+                          "vfnmsub132pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm8;"
+                          "vfnmsub132pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm7; vmovapd (%2), %%ymm8;"
+                          "vfnmsub213pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm8;"
+                          "vfnmsub213pd (%3), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%1), %%ymm8;"
+                          "vfnmsub231pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%1), %%ymm8;"
+                          "vfnmsub231pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 12 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      dt.z[i] = -dt.z[i];
+   for (i = 0; i < N; i += 4) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%3), %%ymm8;"
+                          "vfmsub132pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm8;"
+                          "vfmsub132pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm7; vmovapd (%2), %%ymm8;"
+                          "vfmsub213pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm8;"
+                          "vfmsub213pd (%3), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%1), %%ymm8;"
+                          "vfmsub231pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%1), %%ymm8;"
+                          "vfmsub231pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 13 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+      thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%3), %%ymm8;"
+                          "vfnmadd132pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm8;"
+                          "vfnmadd132pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm7; vmovapd (%2), %%ymm8;"
+                          "vfnmadd213pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm8;"
+                          "vfnmadd213pd (%3), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%1), %%ymm8;"
+                          "vfnmadd231pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%1), %%ymm8;"
+                          "vfnmadd231pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( -dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 14 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 1; i < N; i += 2)
+      dt.z[i] = -dt.z[i];
+   for (i = 0; i < N; i += 4) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%3), %%ymm8;"
+                          "vfmaddsub132pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm8;"
+                          "vfmaddsub132pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm7; vmovapd (%2), %%ymm8;"
+                          "vfmaddsub213pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm8;"
+                          "vfmaddsub213pd (%3), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%1), %%ymm8;"
+                          "vfmaddsub231pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%1), %%ymm8;"
+                          "vfmaddsub231pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 15 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 0; i < N; i++)
+      dt.z[i] = -dt.z[i];
+   for (i = 0; i < N; i += 4) {
+      int thisres = 0;
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%3), %%ymm8;"
+                          "vfmsubadd132pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm8;"
+                          "vfmsubadd132pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%3), %%ymm7; vmovapd (%2), %%ymm8;"
+                          "vfmsubadd213pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%1), %%ymm9; vmovapd (%2), %%ymm8;"
+                          "vfmsubadd213pd (%3), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%2), %%ymm7; vmovapd (%1), %%ymm8;"
+                          "vfmsubadd231pd %%ymm7, %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      __asm __volatile__ ("vmovapd (%3), %%ymm9; vmovapd (%1), %%ymm8;"
+                          "vfmsubadd231pd (%2), %%ymm8, %%ymm9;"
+                          "vmovapd %%ymm9, (%0)" : : "r" (&dt.res[i]), "r" (&dt.x[i]),
+                                                     "r" (&dt.y[i]), "r" (&dt.z[i]) : "xmm7", "xmm8", "xmm9");
+      for (j = 0; j < 4; j++)
+         thisres |= test( dt.res[i+j], dt.expected[i+j] );
+      if (thisres) {
+         printf( "Failure 16 %d", i );
+         for (j = 0; j < 4; j++)
+            printf( " %a %a", dt.res[i+j], dt.expected[i+j] );
+         printf( "\n" );
+      }
+      res |= thisres;
+   }
+   for (i = 1; i < N; i += 2)
+      dt.z[i] = -dt.z[i];
+   return res;
+}
+
+int main( )
+{
+   int res = 0;
+   int i = 0;
+   plus_zero = 0.0;
+   __asm __volatile__ ("" : : "r" (&plus_zero) : "memory");
+   nan_value = plus_zero / plus_zero;
+   plus_infty = 3.40282346638528859812e+38F * 16.0F;
+   minus_infty = -plus_infty;
+#define TEST_F( a, b, c, d ) \
+   do {				\
+      ft.x[i] = a;		\
+      ft.y[i] = b;		\
+      ft.z[i] = c;		\
+      ft.expected[i] = d;	\
+      i++;			\
+   } while (0)
+   TEST_F( 1.0, 2.0, 3.0, 5.0 );
+   TEST_F( nan_value, 2.0, 3.0, nan_value );
+   TEST_F( 1.0, nan_value, 3.0, nan_value );
+   TEST_F( 1.0, 2.0, nan_value, nan_value );
+   TEST_F( plus_infty, 0.0, nan_value, nan_value );
+   TEST_F( minus_infty, 0.0, nan_value, nan_value );
+   TEST_F( 0.0, plus_infty, nan_value, nan_value );
+   TEST_F( 0.0, minus_infty, nan_value, nan_value );
+   TEST_F( plus_infty, 0.0, 1.0, nan_value );
+   TEST_F( minus_infty, 0.0, 1.0, nan_value );
+   TEST_F( 0.0, plus_infty, 1.0, nan_value );
+   TEST_F( 0.0, minus_infty, 1.0, nan_value );
+   TEST_F( plus_infty, plus_infty, minus_infty, nan_value );
+   TEST_F( minus_infty, plus_infty, plus_infty, nan_value );
+   TEST_F( plus_infty, minus_infty, plus_infty, nan_value );
+   TEST_F( minus_infty, minus_infty, minus_infty, nan_value );
+   TEST_F( plus_infty, 3.5L, minus_infty, nan_value );
+   TEST_F( minus_infty, -7.5L, minus_infty, nan_value );
+   TEST_F( -13.5L, plus_infty, plus_infty, nan_value );
+   TEST_F( minus_infty, 7.5L, plus_infty, nan_value );
+   TEST_F( 1.25L, 0.75L, 0.0625L, 1.0L );
+   TEST_F( -3.40282346638528859812e+38F, -3.40282346638528859812e+38F, minus_infty, minus_infty );
+   TEST_F( 3.40282346638528859812e+38F / 2, 3.40282346638528859812e+38F / 2, minus_infty, minus_infty );
+   TEST_F( -3.40282346638528859812e+38F, 3.40282346638528859812e+38F, plus_infty, plus_infty );
+   TEST_F( 3.40282346638528859812e+38F / 2, -3.40282346638528859812e+38F / 4, plus_infty, plus_infty );
+   TEST_F( plus_infty, 4, plus_infty, plus_infty );
+   TEST_F( 2, minus_infty, minus_infty, minus_infty );
+   TEST_F( minus_infty, minus_infty, plus_infty, plus_infty );
+   TEST_F( plus_infty, minus_infty, minus_infty, minus_infty );
+   TEST_F( 0x1.7ff8p+13, 0x1.000002p+0, 0x1.ffffp-24, 0x1.7ff802p+13 );
+   TEST_F( 0x1.fffp+0, 0x1.00001p+0, -0x1.fffp+0, 0x1.fffp-20 );
+   TEST_F( 0x1.9abcdep+127, 0x0.9abcdep-126, -0x1.f08948p+0, 0x1.bb421p-25 );
+   TEST_F( 0x1.9abcdep+100, 0x0.9abcdep-126, -0x1.f08948p-27, 0x1.bb421p-52 );
+   TEST_F( 0x1.fffffep+127, 0x1.001p+0, -0x1.fffffep+127, 0x1.fffffep+115 );
+   TEST_F( -0x1.fffffep+127, 0x1.fffffep+0, 0x1.fffffep+127, -0x1.fffffap+127 );
+   TEST_F( 0x1.fffffep+127, 2.0, -0x1.fffffep+127, 0x1.fffffep+127 );
+
+   res |= test_fmaf( );
+   i = 0;
+#define TEST( a, b, c, d ) \
+   do {				\
+      dt.x[i] = a;		\
+      dt.y[i] = b;		\
+      dt.z[i] = c;		\
+      dt.expected[i] = d;	\
+      i++;			\
+   } while (0)
+   TEST( 1.0, 2.0, 3.0, 5.0 );
+   TEST( nan_value, 2.0, 3.0, nan_value );
+   TEST( 1.0, nan_value, 3.0, nan_value );
+   TEST( 1.0, 2.0, nan_value, nan_value );
+   TEST( plus_infty, 0.0, nan_value, nan_value );
+   TEST( minus_infty, 0.0, nan_value, nan_value );
+   TEST( 0.0, plus_infty, nan_value, nan_value );
+   TEST( 0.0, minus_infty, nan_value, nan_value );
+   TEST( plus_infty, 0.0, 1.0, nan_value );
+   TEST( minus_infty, 0.0, 1.0, nan_value );
+   TEST( 0.0, plus_infty, 1.0, nan_value );
+   TEST( 0.0, minus_infty, 1.0, nan_value );
+   TEST( plus_infty, plus_infty, minus_infty, nan_value );
+   TEST( minus_infty, plus_infty, plus_infty, nan_value );
+   TEST( plus_infty, minus_infty, plus_infty, nan_value );
+   TEST( minus_infty, minus_infty, minus_infty, nan_value );
+   TEST( plus_infty, 3.5L, minus_infty, nan_value );
+   TEST( minus_infty, -7.5L, minus_infty, nan_value );
+   TEST( -13.5L, plus_infty, plus_infty, nan_value );
+   TEST( minus_infty, 7.5L, plus_infty, nan_value );
+   TEST( 1.25L, 0.75L, 0.0625L, 1.0L );
+   TEST( -1.79769313486231570815e+308L, -1.79769313486231570815e+308L, minus_infty, minus_infty );
+   TEST( 1.79769313486231570815e+308L / 2, 1.79769313486231570815e+308L / 2, minus_infty, minus_infty );
+   TEST( -1.79769313486231570815e+308L, 1.79769313486231570815e+308L, plus_infty, plus_infty );
+   TEST( 1.79769313486231570815e+308L / 2, -1.79769313486231570815e+308L / 4, plus_infty, plus_infty );
+   TEST( plus_infty, 4, plus_infty, plus_infty );
+   TEST( 2, minus_infty, minus_infty, minus_infty );
+   TEST( minus_infty, minus_infty, plus_infty, plus_infty );
+   TEST( plus_infty, minus_infty, minus_infty, minus_infty );
+   TEST( 0x1.7fp+13, 0x1.0000000000001p+0, 0x1.ffep-48, 0x1.7f00000000001p+13 );
+   TEST( 0x1.fffp+0, 0x1.0000000000001p+0, -0x1.fffp+0, 0x1.fffp-52 );
+   TEST( 0x1.0000002p+0, 0x1.ffffffcp-1, 0x1p-300, 1.0 );
+   TEST( 0x1.0000002p+0, 0x1.ffffffcp-1, -0x1p-300, 0x1.fffffffffffffp-1 );
+   TEST( 0x1.deadbeef2feedp+1023, 0x0.deadbeef2feedp-1022, -0x1.a05f8c01a4bfbp+1, 0x1.0989687bc9da4p-53 );
+   TEST( 0x1.deadbeef2feedp+900, 0x0.deadbeef2feedp-1022, -0x1.a05f8c01a4bfbp-122, 0x1.0989687bc9da4p-176 );
+   TEST( 0x1.fffffffffffffp+1023, 0x1.001p+0, -0x1.fffffffffffffp+1023, 0x1.fffffffffffffp+1011 );
+   TEST( -0x1.fffffffffffffp+1023, 0x1.fffffffffffffp+0, 0x1.fffffffffffffp+1023, -0x1.ffffffffffffdp+1023 );
+   TEST( 0x1.fffffffffffffp+1023, 2.0, -0x1.fffffffffffffp+1023, 0x1.fffffffffffffp+1023 );
+   TEST( 0x1.6a09e667f3bccp-538, 0x1.6a09e667f3bccp-538, 0.0, 0.0 );
+   TEST( 0x1.deadbeef2feedp-495, 0x1.deadbeef2feedp-495, -0x1.bf86a5786a574p-989, 0x0.0000042625a1fp-1022 );
+   TEST( 0x1.deadbeef2feedp-503, 0x1.deadbeef2feedp-503, -0x1.bf86a5786a574p-1005, 0x0.0000000004262p-1022 );
+   TEST( 0x1p-537, 0x1p-538, 0x1p-1074, 0x0.0000000000002p-1022 );
+   TEST( 0x1.7fffff8p-968, 0x1p-106, 0x0.000001p-1022, 0x0.0000010000001p-1022 );
+   TEST( 0x1.4000004p-967, 0x1p-106, 0x0.000001p-1022, 0x0.0000010000003p-1022 );
+   TEST( 0x1.4p-967, -0x1p-106, -0x0.000001p-1022, -0x0.0000010000002p-1022 );
+   TEST( -0x1.19cab66d73e17p-959, 0x1.c7108a8c5ff51p-107, -0x0.80b0ad65d9b64p-1022, -0x0.80b0ad65d9d59p-1022 );
+   TEST( -0x1.d2eaed6e8e9d3p-979, -0x1.4e066c62ac9ddp-63, -0x0.9245e6b003454p-1022, -0x0.9245c09c5fb5dp-1022 );
+   TEST( 0x1.153d650bb9f06p-907, 0x1.2d01230d48407p-125, -0x0.b278d5acfc3cp-1022, -0x0.b22757123bbe9p-1022 );
+   TEST( -0x1.fffffffffffffp-711, 0x1.fffffffffffffp-275, 0x1.fffffe00007ffp-983, 0x1.7ffffe00007ffp-983 );
+
+   res |= test_fma( );
+   if (res == 0)
+      printf( "Testing successful\n");
+   return 0;
+}
diff --git a/none/tests/amd64/fma.stderr.exp b/none/tests/amd64/fma.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/amd64/fma.stderr.exp
diff --git a/none/tests/amd64/fma.stdout.exp b/none/tests/amd64/fma.stdout.exp
new file mode 100644
index 0000000..f523d52
--- /dev/null
+++ b/none/tests/amd64/fma.stdout.exp
@@ -0,0 +1 @@
+Testing successful
diff --git a/none/tests/amd64/fma.vgtest b/none/tests/amd64/fma.vgtest
new file mode 100644
index 0000000..cbd2ce3
--- /dev/null
+++ b/none/tests/amd64/fma.vgtest
@@ -0,0 +1,3 @@
+prog: fma
+prereq: test -x fma && ../../../tests/x86_amd64_features amd64-avx
+vgopts: -q
diff --git a/none/tests/amd64/movbe.c b/none/tests/amd64/movbe.c
new file mode 100644
index 0000000..4b23696
--- /dev/null
+++ b/none/tests/amd64/movbe.c
@@ -0,0 +1,81 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <malloc.h>
+
+typedef  unsigned char           UChar;
+typedef  unsigned int            UInt;
+typedef  unsigned long int       UWord;
+typedef  unsigned long long int  ULong;
+
+
+typedef  struct { UChar cs[40]; }  Block;
+
+void showBlock ( char* msg, Block* b )
+{
+   int i;
+   printf("  %s ", msg);
+   for (i = 0; i < 40; i++) 
+      printf("%02x", (UInt)b->cs[i]);
+   printf("\n");
+}
+
+UChar randUChar ( void )
+{
+   static UInt seed = 80021;
+   seed = 1103515245 * seed + 12345;
+   return (seed >> 17) & 0xFF;
+}
+
+void randBlock ( Block* b )
+{
+   int i;
+   UChar* p = (UChar*)b;
+   for (i = 0; i < sizeof(Block); i++)
+      p[i] = randUChar();
+}
+
+/* Generate a function test_NAME, that tests the given insn.
+   The insn may only mention (%rax) and r9. */
+
+#define GEN_test_Monly(_name, _mem_form)   \
+    \
+    __attribute__ ((noinline)) static void test_##_name ( void )   \
+    { \
+       Block* b = memalign(32, sizeof(Block)); \
+       randBlock(b); \
+       printf("%s\n", #_name); \
+       showBlock("before", b); \
+       __asm__ __volatile__( \
+          "leaq      16(%0),%%rax"  "\n\t" \
+          "movq      24(%0),%%r9"   "\n\t" \
+          _mem_form  "\n\t" \
+          "movq      %%r9, 32(%0)"  "\n\t" \
+          : /*OUT*/  \
+          : /*IN*/"r"(b) \
+          : /*TRASH*/"r9","rax","memory","cc" \
+       ); \
+       showBlock("after ", b); \
+       printf("\n"); \
+       free(b); \
+    }
+
+GEN_test_Monly( MOVBE_RtoM_64, "movbe %%r9, 1(%%rax)")
+GEN_test_Monly( MOVBE_RtoM_32, "movbe %%r9d,1(%%rax)")
+GEN_test_Monly( MOVBE_RtoM_16, "movbe %%r9w,1(%%rax)")
+
+GEN_test_Monly( MOVBE_MtoR_64, "movbe 1(%%rax), %%r9")
+GEN_test_Monly( MOVBE_MtoR_32, "movbe 1(%%rax), %%r9d")
+GEN_test_Monly( MOVBE_MtoR_16, "movbe 1(%%rax), %%r9w")
+
+int main ( void )
+{
+   test_MOVBE_RtoM_64();
+   test_MOVBE_RtoM_32();
+   test_MOVBE_RtoM_16();
+   test_MOVBE_MtoR_64();
+   test_MOVBE_MtoR_32();
+   test_MOVBE_MtoR_16();
+   return 0;
+}
diff --git a/none/tests/amd64/movbe.stderr.exp b/none/tests/amd64/movbe.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/amd64/movbe.stderr.exp
diff --git a/none/tests/amd64/movbe.stdout.exp b/none/tests/amd64/movbe.stdout.exp
new file mode 100644
index 0000000..ad779ba
--- /dev/null
+++ b/none/tests/amd64/movbe.stdout.exp
@@ -0,0 +1,24 @@
+MOVBE_RtoM_64
+  before 00571784494af2981ecac9199de375513bd127afa6e9c3690d6a95fac528657d501eefeec0d8b847
+  after  00571784494af2981ecac9199de375513b7d6528c5fa956a0d6a95fac528657d0d6a95fac528657d
+
+MOVBE_RtoM_32
+  before 84c4457d8560b160b244a056e51599fe2751bca75afbd2b6382dccdbc2829139fd673a5c2148a319
+  after  84c4457d8560b160b244a056e51599fe27dbcc2d38fbd2b6382dccdbc2829139382dccdbc2829139
+
+MOVBE_RtoM_16
+  before 179e655064dc2a846b3e625d19775d06e540bc6839c44b4a36ed3550df9899d8979b83b70eb840d7
+  after  179e655064dc2a846b3e625d19775d06e5ed366839c44b4a36ed3550df9899d836ed3550df9899d8
+
+MOVBE_MtoR_64
+  before 856c13b8709950cb8315cab0121ab056db93c0f8294addf95df605a7d127a7d31f195c53c95bf85f
+  after  856c13b8709950cb8315cab0121ab056db93c0f8294addf95df605a7d127a7d35df9dd4a29f8c093
+
+MOVBE_MtoR_32
+  before 3d6603cf39008e39979569ee6d5cbcd8966cf73d98a42d54e87fc9cb92bba12040ef72e29bf3afcf
+  after  3d6603cf39008e39979569ee6d5cbcd8966cf73d98a42d54e87fc9cb92bba120983df76c00000000
+
+MOVBE_MtoR_16
+  before 172ebcce16c982d16eb865944fab9d368adae4bb36b59768b76e2305226ee0f4069b4435908d7b40
+  after  172ebcce16c982d16eb865944fab9d368adae4bb36b59768b76e2305226ee0f4e4da2305226ee0f4
+
diff --git a/none/tests/amd64/movbe.vgtest b/none/tests/amd64/movbe.vgtest
new file mode 100644
index 0000000..a34320b
--- /dev/null
+++ b/none/tests/amd64/movbe.vgtest
@@ -0,0 +1,3 @@
+prereq: test -e movbe
+prog: movbe
+vgopts: -q
diff --git a/none/tests/amd64/nan80and64.c b/none/tests/amd64/nan80and64.c
new file mode 100644
index 0000000..6fa46c3
--- /dev/null
+++ b/none/tests/amd64/nan80and64.c
@@ -0,0 +1,140 @@
+
+/* Test conversions between 64- and 80- bit quiet NaNs.  Uses
+   "canonical forms" for qNaNs.  It also tests sNaNs but it's not
+   clear what the canonical form of them should be, so the results are
+   pretty much irrelevant.  Failure to do this right is the cause
+   of https://bugzilla.mozilla.org/show_bug.cgi?id=738117
+*/
+
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+typedef  unsigned char  UChar;
+
+
+void do_64_to_80 ( UChar* dst, UChar* src )
+{
+   __asm__ __volatile__(
+      "fldl (%0); fstpt (%1)"
+      : : "r"(src), "r"(dst) : "memory"
+   );
+}
+
+void do_80_to_64 ( UChar* dst, UChar* src )
+{
+   __asm__ __volatile__(
+      "fldt (%0); fstpl (%1)"
+      : : "r"(src), "r"(dst) : "memory"
+   );
+}
+
+void print80 ( char* s, UChar* v )
+{
+   int i;
+   printf("%s", s);
+   for (i = 9; i >= 0; i--)
+      printf("%02x", (unsigned int)v[i]);
+   printf("\n");
+}
+
+void print64 ( char* s, UChar* v )
+{
+   int i;
+   printf("%s", s);
+   for (i = 7; i >= 0; i--) {
+      printf("%02x", (unsigned int)v[i]);
+   }
+   printf("\n");
+}
+
+#if 0
+void gen_qnan_64 ( UChar* dst )
+{
+
+}
+#endif
+
+#define SWAPC(_xx,_yy) { UChar tmp = _xx; _xx = _yy; _yy = tmp; }
+
+static void rev64 ( UChar* f64 )
+{
+   SWAPC( f64[0], f64[7] );
+   SWAPC( f64[1], f64[6] );
+   SWAPC( f64[2], f64[5] );
+   SWAPC( f64[3], f64[4] );
+}
+
+static void rev80 ( UChar* f80 )
+{
+   SWAPC( f80[0], f80[9] );
+   SWAPC( f80[1], f80[8] );
+   SWAPC( f80[2], f80[7] );
+   SWAPC( f80[3], f80[6] );
+   SWAPC( f80[4], f80[5] );
+}
+
+#undef SWAPC
+
+int main ( void )
+{
+  UChar ref_qnan64[8]
+        = { 0x7f, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+
+  UChar ref_snan64[8] 
+        = { 0x7f, 0xf4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+
+  UChar ref_qnan80[10] 
+        = { 0x7f, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+
+  UChar ref_snan80[10]
+        = { 0x7f, 0xff, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
+
+  rev64( ref_qnan64 );
+  rev64( ref_snan64 );
+  rev80( ref_qnan80 );
+  rev80( ref_snan80 );
+
+  UChar* res = malloc(10);
+#define ZAP memset(res, 0x55, 10)
+
+
+  int pass;
+  for (pass = 1; pass <= 2; pass++) {
+
+  ZAP; do_64_to_80( res, ref_qnan64 );
+  print64( "src = qnan64: ", ref_qnan64 );
+  print80( "dst = qnan80: ", res );
+  printf("\n");
+
+  ZAP; do_64_to_80( res, ref_snan64 );
+  print64( "src = snan64: ", ref_snan64 );
+  print80( "dst = snan80: ", res );
+  printf("\n");
+
+  ZAP; do_80_to_64( res, ref_qnan80 );
+  print80( "src = qnan80: ", ref_qnan80 );
+  print64( "dst = qnan64: ", res );
+  printf("\n");
+
+  ZAP; do_80_to_64( res, ref_snan80 );
+  print80( "src = snan80: ", ref_snan80 );
+  print64( "dst = snan64: ", res );
+  printf("\n");
+
+  /* now make all the reference inputs negative and do it again */
+
+  ref_qnan64[7] ^= 0x80;
+  ref_snan64[7] ^= 0x80;
+
+  ref_qnan80[9] ^= 0x80;
+  ref_snan80[9] ^= 0x80;
+
+  }
+
+#undef ZAP
+
+  free(res);
+  return 0;
+}
diff --git a/none/tests/amd64/nan80and64.stderr.exp b/none/tests/amd64/nan80and64.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/amd64/nan80and64.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/amd64/nan80and64.stdout.exp b/none/tests/amd64/nan80and64.stdout.exp
new file mode 100644
index 0000000..aa10807
--- /dev/null
+++ b/none/tests/amd64/nan80and64.stdout.exp
@@ -0,0 +1,24 @@
+src = qnan64: 7ff8000000000000
+dst = qnan80: 7fffc000000000000000
+
+src = snan64: 7ff4000000000000
+dst = snan80: 7fffbfffffffffffffff
+
+src = qnan80: 7fffc000000000000000
+dst = qnan64: 7ff8000000000000
+
+src = snan80: 7fffa000000000000000
+dst = snan64: 7ff7ffffffffffff
+
+src = qnan64: fff8000000000000
+dst = qnan80: ffffc000000000000000
+
+src = snan64: fff4000000000000
+dst = snan80: ffffbfffffffffffffff
+
+src = qnan80: ffffc000000000000000
+dst = qnan64: fff8000000000000
+
+src = snan80: ffffa000000000000000
+dst = snan64: fff7ffffffffffff
+
diff --git a/none/tests/amd64/nan80and64.vgtest b/none/tests/amd64/nan80and64.vgtest
new file mode 100644
index 0000000..8047e20
--- /dev/null
+++ b/none/tests/amd64/nan80and64.vgtest
@@ -0,0 +1 @@
+prog: nan80and64
diff --git a/none/tests/amd64/pcmpstr64.c b/none/tests/amd64/pcmpstr64.c
index 7d508f9..9e53202 100644
--- a/none/tests/amd64/pcmpstr64.c
+++ b/none/tests/amd64/pcmpstr64.c
@@ -10,6 +10,7 @@
 typedef  unsigned int   UInt;
 typedef  signed int     Int;
 typedef  unsigned char  UChar;
+typedef  signed char    Char;
 typedef  unsigned long long int ULong;
 typedef  UChar          Bool;
 #define False ((Bool)0)
@@ -204,7 +205,7 @@
    switch (imm8) {
       case 0x00:
       case 0x02: case 0x08: case 0x0C: case 0x12: case 0x1A:
-      case 0x38: case 0x3A: case 0x44: case 0x4A:
+      case 0x38: case 0x3A: case 0x44: case 0x46: case 0x4A:
          break;
       default:
          return False;
@@ -305,9 +306,6 @@
       UInt   validL  = ~(zmaskL | -zmaskL);  // not(left(zmaskL))
       UInt   validR  = ~(zmaskR | -zmaskR);  // not(left(zmaskR))
       for (hi = 0; hi < 16; hi++) {
-         if ((validL & (1 << hi)) == 0)
-            // run off the end of the haystack
-            break;
          UInt m = 1;
          for (ni = 0; ni < 16; ni++) {
             if ((validR & (1 << ni)) == 0) break;
@@ -316,6 +314,9 @@
             if (argL[i] != argR[ni]) { m = 0; break; }
          }
          boolRes |= (m << hi);
+         if ((validL & (1 << hi)) == 0)
+            // run off the end of the haystack
+            break;
       }
 
       // boolRes is "pre-invalidated"
@@ -371,6 +372,47 @@
       return True;
    }
 
+   /*----------------------------------------*/
+   /*-- ranges, signed byte data           --*/
+   /*----------------------------------------*/
+
+   if (agg == 1/*ranges*/
+       && fmt == 2/*sb*/
+       && !isSTRM) {
+
+      /* argL: string,  argR: range-pairs */
+      UInt   ri, si;
+      Char*  argL    = (Char*)argLV;
+      Char*  argR    = (Char*)argRV;
+      UInt   boolRes = 0;
+      UInt   validL  = ~(zmaskL | -zmaskL);  // not(left(zmaskL))
+      UInt   validR  = ~(zmaskR | -zmaskR);  // not(left(zmaskR))
+      for (si = 0; si < 16; si++) {
+         if ((validL & (1 << si)) == 0)
+            // run off the end of the string
+            break;
+         UInt m = 0;
+         for (ri = 0; ri < 16; ri += 2) {
+            if ((validR & (3 << ri)) != (3 << ri)) break;
+            if (argR[ri] <= argL[si] && argL[si] <= argR[ri+1]) { 
+               m = 1; break;
+            }
+         }
+         boolRes |= (m << si);
+      }
+
+      // boolRes is "pre-invalidated"
+      UInt intRes1 = boolRes & 0xFFFF;
+
+      // generate I-format output
+      pcmpXstrX_WRK_gen_output_fmt_I(
+         resV, resOSZACP,
+         intRes1, zmaskL, zmaskR, validL, pol, idx
+      );
+
+      return True;
+   }
+
    return False;
 }
 
@@ -573,8 +615,8 @@
    memcpy(&block[1], argR, sizeof(V128));
    ULong res = 0, flags = 0;
    __asm__ __volatile__(
-      "movdqa    0(%2),  %%xmm2"            "\n\t"
-      "movdqa    16(%2), %%xmm11"           "\n\t"
+      "movdqu    0(%2),  %%xmm2"            "\n\t"
+      "movdqu    16(%2), %%xmm11"           "\n\t"
       "pcmpistri $0x0C,  %%xmm2, %%xmm11"   "\n\t"
       //"pcmpistrm $0x0C,  %%xmm2, %%xmm11"   "\n\t"
       //"movd %%xmm0, %%ecx" "\n\t"
@@ -639,6 +681,11 @@
    try_istri(wot,h,s, "1111111111111234", "1111111111111234"); 
    try_istri(wot,h,s, "a111111111111111", "000000000000000a"); 
    try_istri(wot,h,s, "b111111111111111", "000000000000000a"); 
+
+   try_istri(wot,h,s, "b111111111111111", "0000000000000000");
+   try_istri(wot,h,s, "0000000000000000", "0000000000000000");
+   try_istri(wot,h,s, "123456789abcdef1", "0000000000000000");
+   try_istri(wot,h,s, "0000000000000000", "123456789abcdef1");
 }
 
 
@@ -1070,6 +1117,11 @@
 
    try_istri(wot,h,s, "0123456789abcdef", "00000000dca86532");
    try_istri(wot,h,s, "123456789abcdef1", "00000000dca86532");
+
+   try_istri(wot,h,s, "163887ec041a9b72", "fcd75adb9b3e895a");
+   try_istri(wot,h,s, "fc937cbfbf53f8e2", "0d136bcb024d3fb7");
+   try_istri(wot,h,s, "2ca34182c29a82ab", "302ebd646775ab54");
+   try_istri(wot,h,s, "3f2987608c11be6f", "a9ecb661f8e0a8cb");
 }
 
 
@@ -1250,6 +1302,89 @@
 
 //////////////////////////////////////////////////////////
 //                                                      //
+//                       ISTRI_46                       //
+//                                                      //
+//////////////////////////////////////////////////////////
+
+UInt h_pcmpistri_46 ( V128* argL, V128* argR )
+{
+   V128 block[2];
+   memcpy(&block[0], argL, sizeof(V128));
+   memcpy(&block[1], argR, sizeof(V128));
+   ULong res, flags;
+   __asm__ __volatile__(
+      "subq      $1024,  %%rsp"             "\n\t"
+      "movdqu    0(%2),  %%xmm2"            "\n\t"
+      "movdqu    16(%2), %%xmm11"           "\n\t"
+      "pcmpistri $0x46,  %%xmm2, %%xmm11"   "\n\t"
+      "pushfq"                              "\n\t"
+      "popq      %%rdx"                     "\n\t"
+      "movq      %%rcx,  %0"                "\n\t"
+      "movq      %%rdx,  %1"                "\n\t"
+      "addq      $1024,  %%rsp"             "\n\t"
+      : /*out*/ "=r"(res), "=r"(flags) : "r"/*in*/(&block[0])
+      : "rcx","rdx","xmm0","xmm2","xmm11","cc","memory"
+   );
+   return ((flags & 0x8D5) << 16) | (res & 0xFFFF);
+}
+
+UInt s_pcmpistri_46 ( V128* argLU, V128* argRU )
+{
+   V128 resV;
+   UInt resOSZACP, resECX;
+   Bool ok
+      = pcmpXstrX_WRK( &resV, &resOSZACP, argLU, argRU,
+                       zmask_from_V128(argLU),
+                       zmask_from_V128(argRU),
+                       0x46, False/*!isSTRM*/
+        );
+   assert(ok);
+   resECX = resV.uInt[0];
+   return (resOSZACP << 16) | resECX;
+}
+
+void istri_46 ( void )
+{
+   char* wot = "46";
+   UInt(*h)(V128*,V128*) = h_pcmpistri_46;
+   UInt(*s)(V128*,V128*) = s_pcmpistri_46;
+
+   try_istri(wot,h,s, "aaaabbbbccccdddd", "00000000000000bc"); 
+   try_istri(wot,h,s, "aaaabbbbccccdddd", "00000000000000cb"); 
+   try_istri(wot,h,s, "baaabbbbccccdddd", "00000000000000cb"); 
+   try_istri(wot,h,s, "baaabbbbccccdddc", "00000000000000cb"); 
+
+   try_istri(wot,h,s, "bbbbbbbbbbbbbbbb", "00000000000000cb"); 
+   try_istri(wot,h,s, "bbbbbbbb0bbbbbbb", "00000000000000cb"); 
+   try_istri(wot,h,s, "bbbbbbbbbbbbbb0b", "00000000000000cb"); 
+   try_istri(wot,h,s, "bbbbbbbbbbbbbbb0", "00000000000000cb"); 
+   try_istri(wot,h,s, "0000000000000000", "00000000000000cb"); 
+
+   try_istri(wot,h,s, "0000000000000000", "0000000000000000"); 
+
+   try_istri(wot,h,s, "bbbbbbbbbbbbbbbb", "00000000000000cb"); 
+   try_istri(wot,h,s, "bbbbbbbbbbbbbbbb", "000000000000000b"); 
+   try_istri(wot,h,s, "b4b4b4b4b4b4b4b4", "00000000000062cb"); 
+
+   try_istri(wot,h,s, "b4b4b4b4b4b4b4b4", "00000000000002cb"); 
+   try_istri(wot,h,s, "b4b4b4b4b4b4b4b4", "00000000000000cb"); 
+   try_istri(wot,h,s, "b4b4b4b4b4b4b4b4", "000000000000000b");
+
+   try_istri(wot,h,s, "0123456789abcdef", "000000fecb975421");
+   try_istri(wot,h,s, "123456789abcdef1", "000000fecb975421");
+
+   try_istri(wot,h,s, "0123456789abcdef", "00000000dca86532");
+   try_istri(wot,h,s, "123456789abcdef1", "00000000dca86532");
+
+   try_istri(wot,h,s, "163887ec041a9b72", "fcd75adb9b3e895a");
+   try_istri(wot,h,s, "fc937cbfbf53f8e2", "0d136bcb024d3fb7");
+   try_istri(wot,h,s, "2ca34182c29a82ab", "302ebd646775ab54");
+   try_istri(wot,h,s, "3f2987608c11be6f", "a9ecb661f8e0a8cb");
+}
+
+
+//////////////////////////////////////////////////////////
+//                                                      //
 //                         main                         //
 //                                                      //
 //////////////////////////////////////////////////////////
@@ -1266,5 +1401,6 @@
    istri_44();
    istri_00();
    istri_38();
+   istri_46();
    return 0;
 }
diff --git a/none/tests/amd64/pcmpstr64.stdout.exp b/none/tests/amd64/pcmpstr64.stdout.exp
index eaf6531..e326d16 100644
--- a/none/tests/amd64/pcmpstr64.stdout.exp
+++ b/none/tests/amd64/pcmpstr64.stdout.exp
@@ -162,6 +162,10 @@
 istri 0C  1111111111111234 1111111111111234 -> 08010000 08010000 
 istri 0C  a111111111111111 000000000000000a -> 0081000f 0081000f 
 istri 0C  b111111111111111 000000000000000a -> 00800010 00800010 
+istri 0C  b111111111111111 0000000000000000 -> 08810000 08810000 
+istri 0C  0000000000000000 0000000000000000 -> 08c10000 08c10000 
+istri 0C  123456789abcdef1 0000000000000000 -> 08810000 08810000 
+istri 0C  0000000000000000 123456789abcdef1 -> 00400010 00400010 
 istri 12  abcdacbdabcdabcd 000000000000000a -> 08810000 08810000 
 istri 12  abcdabcdabcdabcd 000000000000000b -> 08810000 08810000 
 istri 12  abcdabcdabcdabcd 00000000000000ab -> 08810000 08810000 
@@ -204,6 +208,10 @@
 istri 44  123456789abcdef1 000000fecb975421 -> 0881000f 0881000f 
 istri 44  0123456789abcdef 00000000dca86532 -> 00c1000d 00c1000d 
 istri 44  123456789abcdef1 00000000dca86532 -> 0081000e 0081000e 
+istri 44  163887ec041a9b72 fcd75adb9b3e895a -> 00410004 00410004 
+istri 44  fc937cbfbf53f8e2 0d136bcb024d3fb7 -> 0081000d 0081000d 
+istri 44  2ca34182c29a82ab 302ebd646775ab54 -> 0081000b 0081000b 
+istri 44  3f2987608c11be6f a9ecb661f8e0a8cb -> 00c10007 00c10007 
 istri 00  abcdacbdabcdabcd 000000000000000a -> 00810003 00810003 
 istri 00  abcdabcdabcdabcd 000000000000000b -> 00810002 00810002 
 istri 00  abcdabcdabcdabcd 00000000000000ab -> 00810002 00810002 
@@ -256,3 +264,27 @@
 istri 38  0000000000000001 aaaaaaaa0aaaaaaa -> 08c10000 08c10000 
 istri 38  0000000000000000 aaaaaaaaaaaaaaaa -> 00400010 00400010 
 istri 38  aaaaaaaaaaaaaaaa 0000000000000000 -> 08810000 08810000 
+istri 46  aaaabbbbccccdddd 00000000000000bc -> 00800010 00800010 
+istri 46  aaaabbbbccccdddd 00000000000000cb -> 0081000b 0081000b 
+istri 46  baaabbbbccccdddd 00000000000000cb -> 0081000f 0081000f 
+istri 46  baaabbbbccccdddc 00000000000000cb -> 0881000f 0881000f 
+istri 46  bbbbbbbbbbbbbbbb 00000000000000cb -> 0881000f 0881000f 
+istri 46  bbbbbbbb0bbbbbbb 00000000000000cb -> 08c10006 08c10006 
+istri 46  bbbbbbbbbbbbbb0b 00000000000000cb -> 08c10000 08c10000 
+istri 46  bbbbbbbbbbbbbbb0 00000000000000cb -> 00c00010 00c00010 
+istri 46  0000000000000000 00000000000000cb -> 00c00010 00c00010 
+istri 46  0000000000000000 0000000000000000 -> 00c00010 00c00010 
+istri 46  bbbbbbbbbbbbbbbb 00000000000000cb -> 0881000f 0881000f 
+istri 46  bbbbbbbbbbbbbbbb 000000000000000b -> 00800010 00800010 
+istri 46  b4b4b4b4b4b4b4b4 00000000000062cb -> 0881000f 0881000f 
+istri 46  b4b4b4b4b4b4b4b4 00000000000002cb -> 0081000f 0081000f 
+istri 46  b4b4b4b4b4b4b4b4 00000000000000cb -> 0081000f 0081000f 
+istri 46  b4b4b4b4b4b4b4b4 000000000000000b -> 00800010 00800010 
+istri 46  0123456789abcdef 000000fecb975421 -> 08c1000e 08c1000e 
+istri 46  123456789abcdef1 000000fecb975421 -> 0881000f 0881000f 
+istri 46  0123456789abcdef 00000000dca86532 -> 00c1000d 00c1000d 
+istri 46  123456789abcdef1 00000000dca86532 -> 0081000e 0081000e 
+istri 46  163887ec041a9b72 fcd75adb9b3e895a -> 08410006 08410006 
+istri 46  fc937cbfbf53f8e2 0d136bcb024d3fb7 -> 0881000f 0881000f 
+istri 46  2ca34182c29a82ab 302ebd646775ab54 -> 0081000f 0081000f 
+istri 46  3f2987608c11be6f a9ecb661f8e0a8cb -> 00c10007 00c10007 
diff --git a/none/tests/amd64/pcmpstr64w.c b/none/tests/amd64/pcmpstr64w.c
index 7f408fc..7c08b25 100644
--- a/none/tests/amd64/pcmpstr64w.c
+++ b/none/tests/amd64/pcmpstr64w.c
@@ -308,9 +308,6 @@
       UInt   validL  = ~(zmaskL | -zmaskL);  // not(left(zmaskL))
       UInt   validR  = ~(zmaskR | -zmaskR);  // not(left(zmaskR))
       for (hi = 0; hi < 8; hi++) {
-         if ((validL & (1 << hi)) == 0)
-            // run off the end of the haystack
-            break;
          UInt m = 1;
          for (ni = 0; ni < 8; ni++) {
             if ((validR & (1 << ni)) == 0) break;
@@ -319,6 +316,9 @@
             if (argL[i] != argR[ni]) { m = 0; break; }
          }
          boolRes |= (m << hi);
+         if ((validL & (1 << hi)) == 0)
+            // run off the end of the haystack
+            break;
       }
 
       // boolRes is "pre-invalidated"
@@ -574,8 +574,8 @@
    memcpy(&block[1], argR, sizeof(V128));
    ULong res = 0, flags = 0;
    __asm__ __volatile__(
-      "movdqa    0(%2),  %%xmm2"            "\n\t"
-      "movdqa    16(%2), %%xmm11"           "\n\t"
+      "movdqu    0(%2),  %%xmm2"            "\n\t"
+      "movdqu    16(%2), %%xmm11"           "\n\t"
       "pcmpistri $0x0D,  %%xmm2, %%xmm11"   "\n\t"
       //"pcmpistrm $0x0D,  %%xmm2, %%xmm11"   "\n\t"
       //"movd %%xmm0, %%ecx" "\n\t"
@@ -638,6 +638,11 @@
    try_istri(wot,h,s, "1111111111111234", "1111111111111234");
    try_istri(wot,h,s, "0a11111111111111", "000000000000000a");
    try_istri(wot,h,s, "0b11111111111111", "000000000000000a");
+
+   try_istri(wot,h,s, "b111111111111111", "0000000000000000");
+   try_istri(wot,h,s, "0000000000000000", "0000000000000000");
+   try_istri(wot,h,s, "123456789abcdef1", "0000000000000000");
+   try_istri(wot,h,s, "0000000000000000", "123456789abcdef1");
 }
 
 
diff --git a/none/tests/amd64/pcmpstr64w.stdout.exp b/none/tests/amd64/pcmpstr64w.stdout.exp
index 358b82e..77d555d 100644
--- a/none/tests/amd64/pcmpstr64w.stdout.exp
+++ b/none/tests/amd64/pcmpstr64w.stdout.exp
@@ -160,6 +160,10 @@
 istri 0D  1111111111111234 1111111111111234 -> 08010000 08010000 
 istri 0D  0a11111111111111 000000000000000a -> 00810007 00810007 
 istri 0D  0b11111111111111 000000000000000a -> 00800008 00800008 
+istri 0D  b111111111111111 0000000000000000 -> 08810000 08810000 
+istri 0D  0000000000000000 0000000000000000 -> 08c10000 08c10000 
+istri 0D  123456789abcdef1 0000000000000000 -> 08810000 08810000 
+istri 0D  0000000000000000 123456789abcdef1 -> 00400008 00400008 
 istri 13  aacdacbdaacdaacd 00000000000000aa -> 08810000 08810000 
 istri 13  aabbaabbaabbaabb 00000000000000bb -> 00810001 00810001 
 istri 13  aabbccddaabbccdd 000000000000aabb -> 08810000 08810000 
diff --git a/none/tests/amd64/sse4-64.c b/none/tests/amd64/sse4-64.c
index de0431c..46e0cdc 100644
--- a/none/tests/amd64/sse4-64.c
+++ b/none/tests/amd64/sse4-64.c
@@ -3776,6 +3776,18 @@
    }
 }
 
+void test_MOVNTDQA ( void )
+{
+   V128 src, dst;
+   Int i;
+   for (i = 0; i < 10; i++) {
+      randV128(&src);
+      /* make sure the load actually happens */
+      randV128(&dst);
+      DO_m_r("movntdqa", src, dst);
+   }
+}
+
 /* ------------ main ------------ */
 
 int main ( int argc, char** argv )
@@ -3792,7 +3804,6 @@
    test_DPPS();           // done Apr.09.2010
    test_EXTRACTPS();
    test_INSERTPS();       // done Apr.01.2010
-   // MOVNTDQA  ***
    test_PCMPEQQ();
    test_PEXTRB();         // done Apr.15.2010
    test_PEXTRD();         // done Apr.14.2010
@@ -3842,6 +3853,7 @@
    test_PACKUSDW();
    test_PHMINPOSUW();
    test_MPSADBW();
+   test_MOVNTDQA(); /* not sure whether this is 4.1 or 4.2 */
 #else
    test_MPSADBW();
 #endif
diff --git a/none/tests/amd64/sse4-64.stdout.exp b/none/tests/amd64/sse4-64.stdout.exp
index 229be14..b450152 100644
--- a/none/tests/amd64/sse4-64.stdout.exp
+++ b/none/tests/amd64/sse4-64.stdout.exp
@@ -5606,3 +5606,13 @@
 m    mpsadbw $6 45792610f6488fb6dfd9143408986649 812c724b2353a655a8ced85364b6116f 01cb0156011c01560149008e01620180
 r    mpsadbw $7 45792610f6488fb6dfd9143408986649 812c724b2353a655a8ced85364b6116f 005800a1011f010d010201c501af01ad
 m    mpsadbw $7 45792610f6488fb6dfd9143408986649 812c724b2353a655a8ced85364b6116f 005800a1011f010d010201c501af01ad
+m   movntdqa 4cc0dcc75472eb8de63c2729c48812d0 4010b5626ae4b563444de1631da25140 4cc0dcc75472eb8de63c2729c48812d0
+m   movntdqa da542b592a4b3c3d4e8ac50e41f595f5 75264f4936aa98e06fdc7298e5d28685 da542b592a4b3c3d4e8ac50e41f595f5
+m   movntdqa 4d8110321460c072f38d68cf9ceaaae5 7cbc3d6f26318b79054707e0d94f6b6b 4d8110321460c072f38d68cf9ceaaae5
+m   movntdqa ff9285beaf3db1dab1128e58f0730ecc b11d793dd305c9dae25a1c261527bd1e ff9285beaf3db1dab1128e58f0730ecc
+m   movntdqa 4ed58869966c4c1f63e6b2955a9d7dd5 70940120dbb390aee2e02e55b46637c9 4ed58869966c4c1f63e6b2955a9d7dd5
+m   movntdqa 9494149f667bccede7d25073f573b32d 156ed084dac61aa2e0a6b75bd2169799 9494149f667bccede7d25073f573b32d
+m   movntdqa 2e1c25ccbbf56ff118a5e4dcde016b00 fcf7e3d66bcba361ba7835238c4597b9 2e1c25ccbbf56ff118a5e4dcde016b00
+m   movntdqa 79b9b85d2f676fd7d22aebbe30546279 817b34802b4c69984b222399fdfff456 79b9b85d2f676fd7d22aebbe30546279
+m   movntdqa cfb7c7bc615c094af02cdf03077754c5 ff46c1f0b5d8a6f26e70feaa424f699b cfb7c7bc615c094af02cdf03077754c5
+m   movntdqa 8d615057ea6078f750783e998077fc0f d4a38590a5f8971d012e40407641b4b5 8d615057ea6078f750783e998077fc0f
diff --git a/none/tests/arm/Makefile.am b/none/tests/arm/Makefile.am
index ea25761..571664f 100644
--- a/none/tests/arm/Makefile.am
+++ b/none/tests/arm/Makefile.am
@@ -4,20 +4,27 @@
 dist_noinst_SCRIPTS = filter_stderr
 
 EXTRA_DIST = \
+	intdiv.stdout.exp intdiv.stderr.exp intdiv.vgtest \
+	ldrt.stdout.exp ldrt.stderr.exp ldrt.vgtest \
 	neon128.stdout.exp neon128.stderr.exp neon128.vgtest \
 	neon64.stdout.exp neon64.stderr.exp neon64.vgtest \
 	v6intARM.stdout.exp v6intARM.stderr.exp v6intARM.vgtest \
 	v6intThumb.stdout.exp v6intThumb.stderr.exp v6intThumb.vgtest \
 	v6media.stdout.exp v6media.stderr.exp v6media.vgtest \
+	vcvt_fixed_float_VFP.stdout.exp vcvt_fixed_float_VFP.stderr.exp \
+		vcvt_fixed_float_VFP.vgtest \
 	vfp.stdout.exp vfp.stderr.exp vfp.vgtest
 
 check_PROGRAMS = \
 	allexec \
+	intdiv \
+	ldrt \
 	neon128 \
 	neon64 \
 	v6intARM \
 	v6intThumb \
 	v6media \
+	vcvt_fixed_float_VFP \
 	vfp
 
 AM_CFLAGS    += @FLAG_M32@
@@ -50,3 +57,6 @@
 neon64_CFLAGS     = $(AM_CFLAGS) -g -O0 -mcpu=cortex-a8 \
 			-mfpu=neon \
 			-mthumb
+
+intdiv_CFLAGS	  = $(AM_CFLAGS) -g -mcpu=cortex-a15 -mthumb
+ldrt_CFLAGS	  = $(AM_CFLAGS) -g -mcpu=cortex-a8 -mthumb
diff --git a/none/tests/arm/intdiv.c b/none/tests/arm/intdiv.c
new file mode 100644
index 0000000..264e2a8
--- /dev/null
+++ b/none/tests/arm/intdiv.c
@@ -0,0 +1,55 @@
+
+#include <stdio.h>
+
+typedef    signed int  Int;
+typedef  unsigned int  UInt;
+
+__attribute__((noinline)) UInt do_udiv32 ( UInt x, UInt y )
+{
+  UInt res;
+  __asm__ __volatile__(
+     "mov r9, %1 ; mov r10, %2 ; udiv r3,r9,r10 ; mov %0, r3"
+     : "=r"(res) : "r"(x), "r"(y) : "r3", "r9", "r10" 
+  );
+  return res;
+}
+
+__attribute__((noinline)) Int do_sdiv32 ( Int x, Int y )
+{
+  UInt res;
+  __asm__ __volatile__(
+     "mov r9, %1 ; mov r10, %2 ; sdiv r3,r9,r10 ; mov %0, r3"
+     : "=r"(res) : "r"(x), "r"(y) : "r3", "r9", "r10" 
+  );
+  return res;
+}
+
+void test ( UInt x, UInt y )
+{
+  UInt ru = do_udiv32(x,y);
+  Int rs = do_sdiv32(x,y);
+  printf( "%08x %08x -> u:%08x s:%08x\n", x, y, ru, (UInt)rs);
+}
+
+int main ( void )
+{
+  // Check basic operation
+  test( 500, 50 );
+  test( 500, -50 );
+  test( -500, 50 );
+  test( -500, -50 );
+  // Check for rounding towards zero
+  test( 100, 7 );   // 14.285
+  test( -100, 7 );
+  test( 100, -7 );
+  test( -100, -7 );
+  // Division by zero produces zero
+  test( 1, 0 );
+  test( 0, 0 );
+  test( -1, 0 );
+  test( 0x80000000, 0 );
+  test( 0x7FFFFFFF, 0 );
+  // Test signed range ends
+  test( 0x80000000, -1 ); // unrepresentable as signed 32
+  return 0;
+}
diff --git a/none/tests/arm/intdiv.stderr.exp b/none/tests/arm/intdiv.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/arm/intdiv.stderr.exp
diff --git a/none/tests/arm/intdiv.stdout.exp b/none/tests/arm/intdiv.stdout.exp
new file mode 100644
index 0000000..b01e30f
--- /dev/null
+++ b/none/tests/arm/intdiv.stdout.exp
@@ -0,0 +1,14 @@
+000001f4 00000032 -> u:0000000a s:0000000a
+000001f4 ffffffce -> u:00000000 s:fffffff6
+fffffe0c 00000032 -> u:051eb847 s:fffffff6
+fffffe0c ffffffce -> u:00000000 s:0000000a
+00000064 00000007 -> u:0000000e s:0000000e
+ffffff9c 00000007 -> u:24924916 s:fffffff2
+00000064 fffffff9 -> u:00000000 s:fffffff2
+ffffff9c fffffff9 -> u:00000000 s:0000000e
+00000001 00000000 -> u:00000000 s:00000000
+00000000 00000000 -> u:00000000 s:00000000
+ffffffff 00000000 -> u:00000000 s:00000000
+80000000 00000000 -> u:00000000 s:00000000
+7fffffff 00000000 -> u:00000000 s:00000000
+80000000 ffffffff -> u:00000000 s:80000000
diff --git a/none/tests/arm/intdiv.vgtest b/none/tests/arm/intdiv.vgtest
new file mode 100644
index 0000000..231680a
--- /dev/null
+++ b/none/tests/arm/intdiv.vgtest
@@ -0,0 +1,2 @@
+prog: intdiv
+vgopts: -q
diff --git a/none/tests/arm/ldrt.c b/none/tests/arm/ldrt.c
new file mode 100644
index 0000000..93fdcdc
--- /dev/null
+++ b/none/tests/arm/ldrt.c
@@ -0,0 +1,47 @@
+
+// This should be compiled as Thumb code, since currently V only
+// handles the T1 encoding of ldrt.  This all assumes that we are
+// in a little-endian world.
+
+#include <stdio.h>
+#include <malloc.h>
+
+typedef unsigned int UInt;
+
+__attribute__((noinline)) UInt do_ldrt_imm_132 ( unsigned char* p )
+{
+  UInt res;
+  __asm__ __volatile__(
+     "mov r5, %1 ; ldrt r6, [r5, #132] ; mov %0, r6"
+      : "=r"(res) : "r"(p) : "r5", "r6"
+  );
+  return res;
+}
+
+__attribute__((noinline)) void do_strt_imm_132 ( unsigned char* p, UInt val )
+{
+  __asm__ __volatile__(
+     "mov r5, %0 ; mov r6, %1 ; strt r6, [r5, #132]"
+      : : "r"(p), "r"(val) : "r5", "r6", "memory"
+  );
+}
+
+int main ( void )
+{
+  UInt i;
+  unsigned char* b = malloc(256);
+  for (i = 0; i < 256; i++) b[i] = (unsigned char)i;
+  UInt r = do_ldrt_imm_132(b);
+  free(b);
+  printf("result is 0x%08x (should be 0x%08x)\n", r, 0x87868584);
+
+  UInt val = (200 << 0) | (150 << 8) | (100 << 16) | (10 << 24);
+  unsigned char* c = malloc(256);
+  for (i = 0; i < 256; i++) c[i] = (unsigned char)i;
+  do_strt_imm_132(c, val);
+  printf("result is %u %u %u %u %u %u (should be %u %u %u %u %u %u)\n",
+         c[131], c[132], c[133], c[134], c[135], c[136],
+         131, 200, 150, 100, 10, 136);
+  free(c);
+  return 0;
+}
diff --git a/none/tests/arm/ldrt.stderr.exp b/none/tests/arm/ldrt.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/arm/ldrt.stderr.exp
diff --git a/none/tests/arm/ldrt.stdout.exp b/none/tests/arm/ldrt.stdout.exp
new file mode 100644
index 0000000..ed9139e
--- /dev/null
+++ b/none/tests/arm/ldrt.stdout.exp
@@ -0,0 +1,2 @@
+result is 0x87868584 (should be 0x87868584)
+result is 131 200 150 100 10 136 (should be 131 200 150 100 10 136)
diff --git a/none/tests/arm/ldrt.vgtest b/none/tests/arm/ldrt.vgtest
new file mode 100644
index 0000000..b487e82
--- /dev/null
+++ b/none/tests/arm/ldrt.vgtest
@@ -0,0 +1,2 @@
+prog: ldrt
+vgopts: -q
diff --git a/none/tests/arm/neon64.c b/none/tests/arm/neon64.c
index 8d6f6cd..702b2d8 100644
--- a/none/tests/arm/neon64.c
+++ b/none/tests/arm/neon64.c
@@ -43,10 +43,10 @@
 /* test macros to generate and output the result of a single instruction */
 
 const unsigned int mem[] = {
-    0x121f1e1f, 0x131b1a1b, 0x141c1f1c, 0x151d191d,
-    0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a,
-    0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a,
-    0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+    0x03020100, 0x07060504, 0x0b0a0908, 0x0f0e0d0c,
+    0x13121110, 0x17161514, 0x1b1a1918, 0x1f1e1d1c,
+    0x23222120, 0x27262524, 0x2b2a2928, 0x2f2e2d2c,
+    0x33323130, 0x37363534, 0x3b3a3938, 0x3f3e3d3c
 };
 
 #define TESTINSN_imm(instruction, QD, imm) \
@@ -61,8 +61,9 @@
       : "r" (out) \
       : #QD, "memory" \
       ); \
+  fflush(stdout); \
   printf("%s, #" #imm " :: Qd 0x%08x 0x%08x\n", \
-      instruction, out[1], out[0]); \
+         instruction, out[1], out[0]);          \
 } \
 { \
    unsigned int out[2];   \
@@ -77,8 +78,9 @@
 	 : "r" (out), "r" (addr), "r" (mem) \
 	 : #QD, "%2", "memory" \
 	 ); \
-   printf("%s, #" #imm " :: Qd 0x%08x 0x%08x\n", \
-	 instruction, out[1], out[0]); \
+   fflush(stdout); \
+   printf("%s, #" #imm " :: Qd 0x%08x 0x%08x\n",        \
+          instruction, out[1], out[0]);                 \
 }
 
 #define TESTINSN_un(instruction, QD, QM, QMtype, QMval) \
@@ -94,8 +96,9 @@
       : "r" (out), "r" (QMval) \
       : #QD, #QM, "memory" \
       ); \
-  printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x\n", \
-      instruction, out[1], out[0], QMval); \
+  fflush(stdout); \
+  printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x\n",    \
+         instruction, out[1], out[0], QMval);                   \
 } \
 { \
    unsigned int out[2]; \
@@ -112,8 +115,9 @@
 	 : "r" (out), "r" (QMval), "r" (addr), "r" (mem) \
 	 : #QD, #QM, "%2", "memory" \
 	 ); \
-   printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x\n", \
-	 instruction, out[1], out[0], QMval ); \
+   fflush(stdout); \
+   printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x\n",   \
+          instruction, out[1], out[0], QMval );                 \
 }
 
 #define TESTINSN_un_q(instruction, QD, QM, QMtype, QMval) \
@@ -134,8 +138,9 @@
       : "r" (out), "r" (QMval) \
       : #QD, #QM, "memory", "r4" \
       ); \
+  fflush(stdout); \
   printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x  fpscr %08x\n", \
-      instruction, out[1], out[0], QMval, fpscr); \
+         instruction, out[1], out[0], QMval, fpscr);                    \
 } \
 { \
    unsigned int out[2]; \
@@ -156,8 +161,9 @@
 	 : "r" (out), "r" (QMval), "r" (addr), "r" (mem) \
 	 : #QD, #QM, "memory", "r4" \
 	 ); \
+   fflush(stdout); \
    printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x  fpscr %08x\n", \
-	 instruction, out[1], out[0], QMval, fpscr); \
+          instruction, out[1], out[0], QMval, fpscr);                   \
 }
 
 #define TESTINSN_core_to_scalar(instruction, QD, QM, QMval) \
@@ -173,8 +179,9 @@
       : "r" (out), "r" (QMval) \
       : #QD, #QM, "memory" \
       ); \
+  fflush(stdout); \
   printf("%s :: Qd 0x%08x 0x%08x  Qm 0x%08x\n", \
-      instruction, out[1], out[0], QMval); \
+         instruction, out[1], out[0], QMval);   \
 }
 
 #define TESTINSN_scalar_to_core(instruction, QD, QM, QMtype, QMval) \
@@ -190,8 +197,9 @@
       : "r" (out), "r" (QMval) \
       : #QD, #QM, "memory" \
       ); \
-  printf("%s :: Rd 0x%08x  Qm (" #QMtype ")0x%08x\n", \
-      instruction, out[0], QMval); \
+  fflush(stdout); \
+  printf("%s :: Rd 0x%08x  Qm (" #QMtype ")0x%08x\n",   \
+         instruction, out[0], QMval);                   \
 }
 
 #define TESTINSN_VLDn(instruction, QD1, QD2, QD3, QD4) \
@@ -215,10 +223,11 @@
       : "r" (out), "r" (mem), "r"(&out[8]) \
       : #QD1, #QD2, #QD3, #QD4, "memory", "r4" \
       ); \
-  printf("%s :: Result 0x%08x 0x%08x 0x%08x 0x%08x "\
-          "0x%08x 0x%08x 0x%08x 0x%08x  delta %d\n", \
-      instruction, out[0], out[1], out[2], out[3], out[4],\
-          out[5], out[6], out[7], (int)out[8]-(int)mem); \
+  fflush(stdout); \
+  printf("%s :: Result %08x'%08x %08x'%08x " \
+         "%08x'%08x %08x'%08x  delta %d\n",             \
+         instruction, out[1], out[0], out[3], out[2], out[5],   \
+         out[4], out[7], out[6], (int)out[8]-(int)mem);         \
 }
 
 #define TESTINSN_VSTn(instruction, QD1, QD2, QD3, QD4) \
@@ -239,10 +248,11 @@
       : "r" (out), "r" (mem), "r"(&out[8]) \
       : #QD1, #QD2, #QD3, #QD4, "memory", "r4" \
       ); \
-  printf("%s :: Result 0x%08x 0x%08x 0x%08x 0x%08x "\
-          "0x%08x 0x%08x 0x%08x 0x%08x  delta %d\n", \
-      instruction, out[0], out[1], out[2], out[3], out[4],\
-          out[5], out[6], out[7], (int)out[8]-(int)out); \
+  fflush(stdout); \
+  printf("%s :: Result %08x'%08x %08x'%08x " \
+         "%08x'%08x %08x'%08x  delta %d\n",             \
+         instruction, out[1], out[0], out[3], out[2], out[5],   \
+         out[4], out[7], out[6], (int)out[8]-(int)out);         \
 }
 
 #define TESTINSN_VLDn_WB(instruction, QD1, QD2, QD3, QD4) \
@@ -268,10 +278,11 @@
 	 : "r" (out), "r" (mem), "r"(&out[8]) \
 	 : #QD1, #QD2, #QD3, #QD4, "memory", "r4" \
 	 ); \
-   printf("%s :: Result 0x%08x 0x%08x 0x%08x 0x%08x "\
-	 "0x%08x 0x%08x 0x%08x 0x%08x  delta %d\n", \
-	 instruction, out[0], out[1], out[2], out[3], out[4],\
-	 out[5], out[6], out[7], (int)out[8]-(int)mem); \
+   fflush(stdout); \
+   printf("%s :: Result 0x%08x 0x%08x 0x%08x 0x%08x "   \
+          "0x%08x 0x%08x 0x%08x 0x%08x  delta %d\n",            \
+          instruction, out[0], out[1], out[2], out[3], out[4],  \
+          out[5], out[6], out[7], (int)out[8]-(int)mem);        \
 }
 
 #define TESTINSN_VSTn_WB(instruction, QD1, QD2, QD3, QD4) \
@@ -293,10 +304,11 @@
 	 : "r" (out), "r" (mem), "r"(&out[8]) \
 	 : #QD1, #QD2, #QD3, #QD4, "memory", "r4", "0" \
 	 ); \
-   printf("%s :: Result 0x%08x 0x%08x 0x%08x 0x%08x "\
-	 "0x%08x 0x%08x 0x%08x 0x%08x  delta %d\n", \
-	 instruction, out[0], out[1], out[2], out[3], out[4],\
-	 out[5], out[6], out[7], (int)out[8]-(int)out); \
+   fflush(stdout); \
+   printf("%s :: Result 0x%08x 0x%08x 0x%08x 0x%08x "   \
+          "0x%08x 0x%08x 0x%08x 0x%08x  delta %d\n",            \
+          instruction, out[0], out[1], out[2], out[3], out[4],  \
+          out[5], out[6], out[7], (int)out[8]-(int)out);        \
 }
 
 #define TESTINSN_VLDn_RI(instruction, QD1, QD2, QD3, QD4, RM, RMval) \
@@ -323,10 +335,11 @@
 	 : "r" (out), "r" (mem), "r"(&out[8]), "r"(RMval) \
 	 : #QD1, #QD2, #QD3, #QD4, "memory", "r4", #RM \
 	 ); \
-   printf("%s :: Result 0x%08x 0x%08x 0x%08x 0x%08x "\
-	 "0x%08x 0x%08x 0x%08x 0x%08x  delta %d\n", \
-	 instruction, out[0], out[1], out[2], out[3], out[4],\
-	 out[5], out[6], out[7], (int)out[8]-(int)addr); \
+   fflush(stdout); \
+   printf("%s :: Result 0x%08x 0x%08x 0x%08x 0x%08x "   \
+          "0x%08x 0x%08x 0x%08x 0x%08x  delta %d\n",            \
+          instruction, out[0], out[1], out[2], out[3], out[4],  \
+          out[5], out[6], out[7], (int)out[8]-(int)addr);       \
 }
 
 
@@ -350,10 +363,11 @@
 	 : "r" (out), "r" (mem), "r"(&out[8]), "r"(RMval) \
 	 : #QD1, #QD2, #QD3, #QD4, "memory", "r4", #RM \
 	 ); \
-   printf("%s :: Result 0x%08x 0x%08x 0x%08x 0x%08x "\
-	 "0x%08x 0x%08x 0x%08x 0x%08x  delta %d\n", \
-	 instruction, out[0], out[1], out[2], out[3], out[4],\
-	 out[5], out[6], out[7], (int)out[8]-(int)out); \
+   fflush(stdout); \
+   printf("%s :: Result 0x%08x 0x%08x 0x%08x 0x%08x "   \
+          "0x%08x 0x%08x 0x%08x 0x%08x  delta %d\n",            \
+          instruction, out[0], out[1], out[2], out[3], out[4],  \
+          out[5], out[6], out[7], (int)out[8]-(int)out);        \
 }
 
 #define TESTINSN_bin(instruction, QD, QM, QMtype, QMval, QN, QNtype, QNval) \
@@ -370,9 +384,10 @@
       : "r" (out), "r" (QMval), "r" (QNval) \
       : #QD, #QM, #QN, "memory" \
       ); \
-  printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x" \
-      "  Qn (" #QNtype ")0x%08x\n", \
-      instruction, out[1], out[0], QMval, QNval); \
+  fflush(stdout); \
+  printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x"       \
+         "  Qn (" #QNtype ")0x%08x\n",                          \
+         instruction, out[1], out[0], QMval, QNval);            \
 } \
 { \
    unsigned int out[2]; \
@@ -389,9 +404,10 @@
 	 : "r" (out), "r" (QMval), "r" (QNval), "r" (mem) \
 	 : #QD, #QM, #QN, "memory" \
 	 ); \
-   printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x" \
-	 "  Qn (" #QNtype ")0x%08x\n", \
-	 instruction, out[1], out[0], QMval, QNval); \
+   fflush(stdout); \
+   printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x"      \
+          "  Qn (" #QNtype ")0x%08x\n",                         \
+          instruction, out[1], out[0], QMval, QNval);           \
 }
 
 #define TESTINSN_bin_f(instruction, QD, QM, QMtype, QMval, QN, QNtype, QNval) \
@@ -408,9 +424,10 @@
       : "r" (out), "r" (QMval), "r" (QNval), "r"(0x3f800000) \
       : #QD, #QM, #QN, "memory" \
       ); \
-  printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x" \
-      "  Qn (" #QNtype ")0x%08x\n", \
-      instruction, out[1], out[0], QMval, QNval); \
+  fflush(stdout); \
+  printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x"       \
+         "  Qn (" #QNtype ")0x%08x\n",                          \
+         instruction, out[1], out[0], QMval, QNval);            \
 } \
 { \
      unsigned int out[2]; \
@@ -427,9 +444,10 @@
 	         : "r" (out), "r" (QMval), "r" (QNval), "r"(0x3f800000), "r" (addr), "r" (mem) \
 	         : #QD, #QM, #QN, "memory" \
 	         ); \
-     printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x" \
-	         "  Qn (" #QNtype ")0x%08x\n", \
-	         instruction, out[1], out[0], QMval, QNval); \
+     fflush(stdout); \
+     printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x"    \
+            "  Qn (" #QNtype ")0x%08x\n",                       \
+            instruction, out[1], out[0], QMval, QNval);         \
 }
 
 #define TESTINSN_tbl(instruction, QD, QM, QMtype, QMval, QN1, QN1type, QN1val, \
@@ -451,12 +469,13 @@
         "r" (QN4val) \
       : #QD, #QM, #QN1, #QN2, #QN3, #QN4, "memory" \
       ); \
-  printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x" \
-      "  Qn1 (" #QN1type ")0x%08x" \
-      "  Qn2 (" #QN2type ")0x%08x" \
-      "  Qn3 (" #QN3type ")0x%08x" \
-      "  Qn4 (" #QN4type ")0x%08x\n", \
-      instruction, out[1], out[0], QMval, QN1val, QN2val, QN3val, QN4val); \
+  fflush(stdout); \
+  printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x"       \
+         "  Qn1 (" #QN1type ")0x%08x"                           \
+         "  Qn2 (" #QN2type ")0x%08x"                           \
+         "  Qn3 (" #QN3type ")0x%08x"                                   \
+         "  Qn4 (" #QN4type ")0x%08x\n",                                \
+         instruction, out[1], out[0], QMval, QN1val, QN2val, QN3val, QN4val); \
 } \
 { \
    unsigned int out[2]; \
@@ -477,12 +496,13 @@
 	 "r" (QN4val), "r" (addr), "r" (mem) \
 	 : #QD, #QM, #QN1, #QN2, #QN3, #QN4, "memory" \
 	 ); \
-   printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x" \
-	 "  Qn1 (" #QN1type ")0x%08x" \
-	 "  Qn2 (" #QN2type ")0x%08x" \
-	 "  Qn3 (" #QN3type ")0x%08x" \
-	 "  Qn4 (" #QN4type ")0x%08x\n", \
-	 instruction, out[1], out[0], QMval, QN1val, QN2val, QN3val, QN4val); \
+   fflush(stdout); \
+   printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x"      \
+          "  Qn1 (" #QN1type ")0x%08x"                          \
+          "  Qn2 (" #QN2type ")0x%08x"                          \
+          "  Qn3 (" #QN3type ")0x%08x"                          \
+          "  Qn4 (" #QN4type ")0x%08x\n",                               \
+          instruction, out[1], out[0], QMval, QN1val, QN2val, QN3val, QN4val); \
 }
 
 #define TESTINSN_tbl_1(instruction, QD, QM, QMtype, QMval, QN1, QN1type, QN1val) \
@@ -520,9 +540,10 @@
       : "r" (out), "r" (QMval), "r" (QNval) \
       : #QD, #QM, #QN, "memory", "r4" \
       ); \
-  printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x" \
-      "  Qn (" #QNtype ")0x%08x  fpscr: %08x\n", \
-      instruction, out[1], out[0], QMval, QNval, fpscr); \
+  fflush(stdout); \
+  printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x"       \
+         "  Qn (" #QNtype ")0x%08x  fpscr: %08x\n",             \
+         instruction, out[1], out[0], QMval, QNval, fpscr);     \
 } \
 { \
      unsigned int out[2]; \
@@ -544,9 +565,10 @@
 	         : "r" (out), "r" (QMval), "r" (QNval), "r" (addr), "r" (mem)  \
 	         : #QD, #QM, #QN, "memory", "r4" \
 	         ); \
-     printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x" \
-	         "  Qn (" #QNtype ")0x%08x  fpscr: %08x\n", \
-	         instruction, out[1], out[0], QMval, QNval, fpscr); \
+     fflush(stdout); \
+     printf("%s :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x"    \
+            "  Qn (" #QNtype ")0x%08x  fpscr: %08x\n",              \
+            instruction, out[1], out[0], QMval, QNval, fpscr);      \
 }
 
 #define TESTINSN_dual(instruction, QM, QMtype, QMval, QN, QNtype, QNval) \
@@ -566,9 +588,10 @@
 	 : "r" (out1), "r" (out2), "r" (QMval), "r" (QNval), "r" (addr), "r" (mem) \
 	 : #QM, #QN, "memory" \
 	 ); \
+   fflush(stdout); \
    printf("%s :: Qm 0x%08x 0x%08x  Qn 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x" \
-	 "  Qn (" #QNtype ")0x%08x\n", \
-	 instruction, out1[1], out1[0], out2[1], out2[0], QMval, QNval); \
+          "  Qn (" #QNtype ")0x%08x\n",                                 \
+          instruction, out1[1], out1[0], out2[1], out2[0], QMval, QNval); \
 } \
 { \
      unsigned int out1[2]; \
@@ -586,9 +609,10 @@
 	         : "r" (out1), "r" (out2), "r" (QMval), "r" (QNval), "r" (addr), "r" (mem) \
 	         : #QM, #QN, "%4", "memory" \
 	         ); \
+     fflush(stdout); \
      printf("%s :: Qm 0x%08x 0x%08x  Qn 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x" \
-	         "  Qn (" #QNtype ")0x%08x\n", \
-	         instruction, out1[1], out1[0], out2[1], out2[0], QMval, QNval); \
+            "  Qn (" #QNtype ")0x%08x\n",                               \
+            instruction, out1[1], out1[0], out2[1], out2[0], QMval, QNval); \
 }
 
 #if 0
@@ -605,13 +629,15 @@
       : "r" (out), "r" (QMval) \
       : #QD, #QM, "memory" \
       ); \
-  printf("%s, #" #imm " :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x", \
-      instruction, out[1], out[0], QMval); \
+  fflush(stdout); \
+  printf("%s, #" #imm " :: Qd 0x%08x 0x%08x  Qm (" #QMtype ")0x%08x",   \
+         instruction, out[1], out[0], QMval);                           \
 }
 #endif
 
 int main(int argc, char **argv)
 {
+    fflush(stdout);
     printf("----- VMOV (immediate) -----\n");
     TESTINSN_imm("vmov.i32 d0", d0, 0x7);
     TESTINSN_imm("vmov.i16 d1", d1, 0x7);
@@ -626,6 +652,7 @@
     TESTINSN_imm("vmov.f32 d0", d0, 0.328125);
     TESTINSN_imm("vmov.f32 d0", d0, -0.328125);
 
+    fflush(stdout);
     printf("----- VMVN (immediate) -----\n");
     TESTINSN_imm("vmvn.i32 d0", d0, 0x7);
     TESTINSN_imm("vmvn.i16 d1", d1, 0x7);
@@ -638,6 +665,7 @@
     TESTINSN_imm("vmvn.i32 d14", d14, 0x7FFFF);
     TESTINSN_imm("vmvn.i64 d15", d15, 0xFF0000FF00FFFF00);
 
+    fflush(stdout);
     printf("----- VORR (immediate) -----\n");
     TESTINSN_imm("vorr.i32 d0", d0, 0x7);
     TESTINSN_imm("vorr.i16 d2", d2, 0x7);
@@ -646,6 +674,7 @@
     TESTINSN_imm("vorr.i32 d14", d14, 0x70000);
     TESTINSN_imm("vorr.i32 d15", d15, 0x7000000);
 
+    fflush(stdout);
     printf("----- VBIC (immediate) -----\n");
     TESTINSN_imm("vbic.i32 d0", d0, 0x7);
     TESTINSN_imm("vbic.i16 d3", d3, 0x7);
@@ -654,21 +683,25 @@
     TESTINSN_imm("vbic.i32 d10", d10, 0x70000);
     TESTINSN_imm("vbic.i32 d15", d15, 0x7000000);
 
+    fflush(stdout);
     printf("---- VMVN (register) ----\n");
     TESTINSN_un("vmvn d0, d1", d0, d1, i32, 24);
     TESTINSN_un("vmvn d10, d15", d10, d15, i32, 24);
     TESTINSN_un("vmvn d0, d14", d0, d14, i32, 24);
 
+    fflush(stdout);
     printf("---- VMOV (register) ----\n");
     TESTINSN_un("vmov d0, d1", d0, d1, i32, 24);
     TESTINSN_un("vmov d10, d15", d10, d15, i32, 24);
     TESTINSN_un("vmov d0, d14", d0, d14, i32, 24);
 
+    fflush(stdout);
     printf("---- VDUP (ARM core register) (tested indirectly) ----\n");
     TESTINSN_un("vmov d0, d1", d0, d1, i8, 7);
     TESTINSN_un("vmov d10, d11", d10, d11, i16, 7);
     TESTINSN_un("vmov d0, d15", d0, d15, i32, 7);
 
+    fflush(stdout);
     printf("---- VADD ----\n");
     TESTINSN_bin("vadd.i32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin("vadd.i64 d0, d1, d2", d0, d1, i32, 140, d2, i32, 120);
@@ -682,6 +715,7 @@
     TESTINSN_bin("vadd.i32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
     TESTINSN_bin("vadd.i64 d13, d14, d15", d13, d14, i32, 140, d15, i32, 120);
 
+    fflush(stdout);
     printf("---- VSUB ----\n");
     TESTINSN_bin("vsub.i32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin("vsub.i64 d0, d1, d2", d0, d1, i32, 140, d2, i32, 120);
@@ -695,30 +729,35 @@
     TESTINSN_bin("vsub.i32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
     TESTINSN_bin("vsub.i64 d13, d14, d15", d13, d14, i32, 140, d15, i32, 120);
 
+    fflush(stdout);
     printf("---- VAND ----\n");
     TESTINSN_bin("vand d0, d1, d2", d0, d1, i8, 0x24, d2, i16, 0x77);
     TESTINSN_bin("vand d4, d6, d5", d4, d6, i8, 0xff, d5, i16, 0x57);
     TESTINSN_bin("vand d10, d11, d12", d10, d11, i8, 0xfe, d12, i8, 0xed);
     TESTINSN_bin("vand d15, d15, d15", d15, d15, i8, 0xff, d15, i8, 0xff);
 
+    fflush(stdout);
     printf("---- VBIC ----\n");
     TESTINSN_bin("vbic d0, d1, d2", d0, d1, i8, 0x24, d2, i16, 0x77);
     TESTINSN_bin("vbic d4, d6, d5", d4, d6, i8, 0xff, d5, i16, 0x57);
     TESTINSN_bin("vbic d10, d11, d12", d10, d11, i8, 0xfe, d12, i8, 0xed);
     TESTINSN_bin("vbic d15, d15, d15", d15, d15, i8, 0xff, d15, i8, 0xff);
 
+    fflush(stdout);
     printf("---- VORR ----\n");
     TESTINSN_bin("vorr d0, d1, d2", d0, d1, i8, 0x24, d2, i16, 0x73);
     TESTINSN_bin("vorr d7, d3, d0", d7, d3, i8, 0x24, d0, i16, 0xff);
     TESTINSN_bin("vorr d4, d4, d4", d4, d4, i16, 0xff, d4, i16, 0xff);
     TESTINSN_bin("vorr d2, d3, d15", d2, d3, i32, 0x24, d15, i32, 0x1f);
 
+    fflush(stdout);
     printf("---- VORN ----\n");
     TESTINSN_bin("vorn d0, d1, d2", d0, d1, i8, 0x24, d2, i16, 0x73);
     TESTINSN_bin("vorn d7, d3, d0", d7, d3, i8, 0x24, d0, i16, 0xff);
     TESTINSN_bin("vorn d4, d4, d4", d4, d4, i16, 0xff, d4, i16, 0xff);
     TESTINSN_bin("vorn d2, d3, d15", d2, d3, i32, 0x24, d15, i32, 0x1f);
 
+    fflush(stdout);
     printf("---- VEOR ----\n");
     TESTINSN_bin("veor d0, d1, d2", d0, d1, i8, 0x24, d2, i16, 0x77);
     TESTINSN_bin("veor d4, d6, d5", d4, d6, i8, 0xff, d5, i16, 0x57);
@@ -729,6 +768,7 @@
     TESTINSN_bin("veor d4, d4, d4", d4, d4, i16, 0xff, d4, i16, 0xff);
     TESTINSN_bin("veor d2, d3, d15", d2, d3, i32, 0x24, d15, i32, 0x1f);
 
+    fflush(stdout);
     printf("---- VBSL ----\n");
     TESTINSN_bin("vbsl d0, d1, d2", d0, d1, i8, 0x24, d2, i16, 0x77);
     TESTINSN_bin("vbsl d4, d6, d5", d4, d6, i8, 0xff, d5, i16, 0x57);
@@ -739,6 +779,7 @@
     TESTINSN_bin("vbsl d4, d4, d4", d4, d4, i16, 0xff, d4, i16, 0xff);
     TESTINSN_bin("vbsl d2, d3, d15", d2, d3, i32, 0x24, d15, i32, 0x1f);
 
+    fflush(stdout);
     printf("---- VBIT ----\n");
     TESTINSN_bin("vbit d0, d1, d2", d0, d1, i8, 0x24, d2, i16, 0x77);
     TESTINSN_bin("vbit d4, d6, d5", d4, d6, i8, 0xff, d5, i16, 0x57);
@@ -749,6 +790,7 @@
     TESTINSN_bin("vbit d4, d4, d4", d4, d4, i16, 0xff, d4, i16, 0xff);
     TESTINSN_bin("vbit d2, d3, d15", d2, d3, i32, 0x24, d15, i32, 0x1f);
 
+    fflush(stdout);
     printf("---- VBIF ----\n");
     TESTINSN_bin("vbif d0, d1, d2", d0, d1, i8, 0x24, d2, i16, 0x77);
     TESTINSN_bin("vbif d4, d6, d5", d4, d6, i8, 0xff, d5, i16, 0x57);
@@ -759,6 +801,7 @@
     TESTINSN_bin("vbif d4, d4, d4", d4, d4, i16, 0xff, d4, i16, 0xff);
     TESTINSN_bin("vbif d2, d3, d15", d2, d3, i32, 0x24, d15, i32, 0x1f);
 
+    fflush(stdout);
     printf("---- VEXT ----\n");
     TESTINSN_bin("vext.8 d0, d1, d2, #0", d0, d1, i8, 0x77, d2, i8, 0xff);
     TESTINSN_bin("vext.8 d0, d1, d2, #1", d0, d1, i8, 0x77, d2, i8, 0xff);
@@ -767,6 +810,7 @@
     TESTINSN_bin("vext.8 d10, d11, d12, #4", d10, d11, i8, 0x77, d12, i8, 0xff);
     TESTINSN_bin("vext.8 d0, d5, d15, #5", d0, d5, i8, 0x77, d15, i8, 0xff);
 
+    fflush(stdout);
     printf("---- VHADD ----\n");
     TESTINSN_bin("vhadd.s32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin("vhadd.s32 d0, d1, d2", d0, d1, i32, 140, d2, i32, 120);
@@ -787,6 +831,7 @@
     TESTINSN_bin("vhadd.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 1, d2, i32, (1 << 31) + 2);
     TESTINSN_bin("vhadd.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VHSUB ----\n");
     TESTINSN_bin("vhsub.s32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin("vhsub.s32 d0, d1, d2", d0, d1, i32, 140, d2, i32, 120);
@@ -805,6 +850,7 @@
     TESTINSN_bin("vhsub.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 1, d2, i32, (1 << 31) + 2);
     TESTINSN_bin("vhsub.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VQADD ----\n");
     TESTINSN_bin_q("vqadd.s32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin_q("vqadd.s32 d0, d1, d2", d0, d1, i32, 140, d2, i32, 120);
@@ -823,6 +869,7 @@
     TESTINSN_bin_q("vqadd.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 1, d2, i32, (1 << 31) + 2);
     TESTINSN_bin_q("vqadd.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VQSUB ----\n");
     TESTINSN_bin_q("vqsub.s32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin_q("vqsub.s32 d0, d1, d2", d0, d1, i32, 140, d2, i32, 120);
@@ -841,6 +888,7 @@
     TESTINSN_bin_q("vqsub.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 1, d2, i32, (1 << 31) + 2);
     TESTINSN_bin_q("vqsub.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VRHADD ----\n");
     TESTINSN_bin("vrhadd.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 120);
     TESTINSN_bin("vrhadd.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 121);
@@ -872,6 +920,7 @@
     TESTINSN_bin("vrhadd.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 4, d2, i32, (1 << 31) + 2);
     TESTINSN_bin("vrhadd.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VCGT ----\n");
     TESTINSN_bin("vcgt.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 120);
     TESTINSN_bin("vcgt.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 121);
@@ -915,6 +964,7 @@
     TESTINSN_bin("vcgt.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 2, d2, i32, (1 << 31) + 2);
     TESTINSN_bin("vcgt.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VCGE ----\n");
     TESTINSN_bin("vcge.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 120);
     TESTINSN_bin("vcge.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 121);
@@ -958,6 +1008,7 @@
     TESTINSN_bin("vcge.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 2, d2, i32, (1 << 31) + 2);
     TESTINSN_bin("vcge.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VSHL (register) ----\n");
     TESTINSN_bin("vshl.s8 d0, d1, d2", d0, d1, i32, 24, d2, i32, 1);
     TESTINSN_bin("vshl.s8 d8, d1, d12", d8, d1, i32, 24, d12, i32, 8);
@@ -990,6 +1041,7 @@
     TESTINSN_bin("vshl.u64 d8, d2, d4", d8, d2, i32, 15, d4, i32, 0x400bb5);
     TESTINSN_bin("vshl.u64 d5, d12, d4", d5, d12, i32, (1 << 31) + 1, d4, i32, 0x30abcff); 
 
+    fflush(stdout);
     printf("---- VQSHL (register) ----\n");
     TESTINSN_bin_q("vqshl.s64 d0, d1, d2", d0, d1, i32, 1, d2, i32, 1);
     TESTINSN_bin_q("vqshl.s64 d3, d4, d5", d3, d4, i32, -127, d5, i32, 1);
@@ -1040,6 +1092,7 @@
     TESTINSN_bin_q("vqshl.u8 d6, d7, d8", d6, d7, i32, (1 << 30), d8, i32, 2);
     TESTINSN_bin_q("vqshl.u8 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VQSHL / VQSHLU (immediate) ----\n");
     TESTINSN_un_q("vqshl.s64 d0, d1, #1", d0, d1, i32, 1);
     TESTINSN_un_q("vqshl.s64 d31, d30, #1", d31, d30, i32, -127);
@@ -1174,6 +1227,7 @@
     TESTINSN_un_q("vqshlu.s8 d5, d4, #5", d5, d4, i32, -1);
     TESTINSN_un_q("vqshlu.s8 d5, d4, #2", d5, d4, i32, (1 << 31) + 2);
 
+    fflush(stdout);
     printf("---- VQRSHL (register) ----\n");
     TESTINSN_bin_q("vqrshl.s64 d0, d1, d2", d0, d1, i32, 1, d2, i32, 1);
     TESTINSN_bin_q("vqrshl.s64 d3, d4, d5", d3, d4, i32, -127, d5, i32, 1);
@@ -1246,6 +1300,7 @@
     TESTINSN_bin_q("vqrshl.u8 d6, d7, d8", d6, d7, i32, (1 << 30), d8, i32, 2);
     TESTINSN_bin_q("vqrshl.u8 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VRSHL (register) ----\n");
     TESTINSN_bin("vrshl.s64 d0, d1, d2", d0, d1, i32, 1, d2, i32, 1);
     TESTINSN_bin("vrshl.s64 d3, d4, d5", d3, d4, i32, -127, d5, i32, 1);
@@ -1318,6 +1373,7 @@
     TESTINSN_bin("vrshl.u8 d6, d7, d8", d6, d7, i32, (1 << 30), d8, i32, 2);
     TESTINSN_bin("vrshl.u8 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VMAX (integer) ----\n");
     TESTINSN_bin("vmax.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 121);
     TESTINSN_bin("vmax.s32 d0, d1, d2", d0, d1, i32, 250, d2, i32, 121);
@@ -1350,6 +1406,7 @@
     TESTINSN_bin("vmax.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 4, d2, i32, (1 << 31) + 2); 
     TESTINSN_bin("vmax.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);  
 
+    fflush(stdout);
     printf("---- VMIN (integer) ----\n");
     TESTINSN_bin("vmin.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 121);
     TESTINSN_bin("vmin.s32 d0, d1, d2", d0, d1, i32, 250, d2, i32, 121);
@@ -1382,6 +1439,7 @@
     TESTINSN_bin("vmin.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 4, d2, i32, (1 << 31) + 2);
     TESTINSN_bin("vmin.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VABD ----\n");
     TESTINSN_bin("vabd.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 120);
     TESTINSN_bin("vabd.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 121);
@@ -1417,6 +1475,7 @@
     TESTINSN_bin("vabd.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 4, d2, i32, (1 << 31) + 2);
     TESTINSN_bin("vabd.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VABA ----\n");
     TESTINSN_bin("vaba.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 120);
     TESTINSN_bin("vaba.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 121);
@@ -1452,6 +1511,7 @@
     TESTINSN_bin("vaba.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 4, d2, i32, (1 << 31) + 2);
     TESTINSN_bin("vaba.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VTST ----\n");
     TESTINSN_bin("vtst.32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin("vtst.32 d3, d4, d5", d3, d4, i32, 140, d5, i32, 120);
@@ -1465,6 +1525,7 @@
     TESTINSN_bin("vtst.32 d0, d1, d2", d0, d1, i32, 1, d2, i32, (1 << 31) + 2); 
     TESTINSN_bin("vtst.32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VCEQ ----\n");
     TESTINSN_bin("vceq.i32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin("vceq.i32 d3, d4, d5", d3, d4, i32, 140, d5, i32, 120);
@@ -1478,6 +1539,7 @@
     TESTINSN_bin("vceq.i32 d0, d1, d2", d0, d1, i32, 1, d2, i32, (1 << 31) + 2); 
     TESTINSN_bin("vceq.i32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VMLA ----\n");
     TESTINSN_bin("vmla.i32 d0, d1, d2", d0, d1, i32, -24, d2, i32, 120);
     TESTINSN_bin("vmla.i32 d6, d7, d8", d6, d7, i32, 140, d8, i32, 120);
@@ -1491,6 +1553,7 @@
     TESTINSN_bin("vmla.i32 d7, d8, d9", d7, d8, i32, (1 << 31) + 1, d9, i32, (1 << 31) + 2); 
     TESTINSN_bin("vmla.i32 d10, d11, d15", d10, d11, i32, 24, d15, i32, -120);
 
+    fflush(stdout);
     printf("---- VMLS ----\n");
     TESTINSN_bin("vmls.i32 d0, d1, d2", d0, d1, i32, -24, d2, i32, 120);
     TESTINSN_bin("vmls.i32 d6, d7, d8", d6, d7, i32, 140, d8, i32, -120);
@@ -1504,6 +1567,7 @@
     TESTINSN_bin("vmls.i32 d7, d8, d9", d7, d8, i32, (1 << 31) + 1, d9, i32, (1 << 31) + 2); 
     TESTINSN_bin("vmls.i32 d10, d11, d15", d10, d11, i32, -24, d15, i32, 120);
 
+    fflush(stdout);
     printf("---- VMUL ----\n");
     TESTINSN_bin("vmul.i32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin("vmul.i32 d6, d7, d8", d6, d7, i32, 140, d8, i32, -120);
@@ -1522,6 +1586,7 @@
     TESTINSN_bin("vmul.p8 q0, q1, q2", q0, q1, i32, 3, q2, i32, 3);
     TESTINSN_bin("vmul.p8 q0, q1, q2", q0, q1, i32, 12, q2, i8, 0x0f);
 
+    fflush(stdout);
     printf("---- VMUL (by scalar) ----\n");
     TESTINSN_bin("vmul.i32 d0, d1, d4[0]", d0, d1, i32, 24, d4, i32, 120);
     TESTINSN_bin("vmul.i32 d31, d8, d7[1]", d31, d8, i32, 140, d7, i32, -120);
@@ -1533,6 +1598,7 @@
     TESTINSN_bin("vmul.i16 d4, d5, d6[0]", d4, d5, i32, (1 << 28) + 0xfe, d6, i32, (1 << 13) + 2);
     TESTINSN_bin("vmul.i32 d7, d8, d1[1]", d7, d8, i32, (1 << 31) + 1, d1, i32, (1 << 31) + 2);
 
+    fflush(stdout);
     printf("---- VMLA (by scalar) ----\n");
     TESTINSN_bin("vmla.i32 d0, d1, d4[0]", d0, d1, i32, 24, d4, i32, 120);
     TESTINSN_bin("vmla.i32 d31, d8, d7[1]", d31, d8, i32, 140, d7, i32, -120);
@@ -1544,6 +1610,7 @@
     TESTINSN_bin("vmla.i16 d4, d5, d6[0]", d4, d5, i32, (1 << 28) + 0xfe, d6, i32, (1 << 13) + 2);
     TESTINSN_bin("vmla.i32 d7, d8, d1[1]", d7, d8, i32, (1 << 31) + 1, d1, i32, (1 << 31) + 2);
 
+    fflush(stdout);
     printf("---- VMLS (by scalar) ----\n");
     TESTINSN_bin("vmls.i32 d0, d1, d4[0]", q0, q1, i32, 24, d4, i32, 120);
     TESTINSN_bin("vmls.i32 d31, d8, d7[1]", d31, d8, i32, 140, d7, i32, -120);
@@ -1555,6 +1622,7 @@
     TESTINSN_bin("vmls.i16 d4, d5, d6[0]", d4, d5, i32, (1 << 28) + 0xfe, d6, i32, (1 << 13) + 2);
     TESTINSN_bin("vmls.i32 d7, d8, d1[1]", d7, d8, i32, (1 << 31) + 1, d1, i32, (1 << 31) + 2);
 
+    fflush(stdout);
     printf("---- VRSHR ----\n");
     TESTINSN_un("vrshr.s8 d0, d1, #0", d0, d1, i32, -1);
     TESTINSN_un("vrshr.s8 d0, d1, #1", d0, d1, i32, -1);
@@ -1574,6 +1642,7 @@
     TESTINSN_un("vrshr.u64 d8, d4, #9", d8, d4, i32, 13560);
     TESTINSN_un("vrshr.s64 d9, d12, #11", d9, d12, i32, 98710);
 
+    fflush(stdout);
     printf("---- VRSRA ----\n");
     TESTINSN_un("vrsra.s8 d0, d1, #1", d0, d1, i32, -1);
     TESTINSN_un("vrsra.s16 d3, d4, #2", d3, d4, i32, -0x7c);
@@ -1592,6 +1661,7 @@
     TESTINSN_un("vrsra.u64 d8, d4, #9", d8, d4, i32, 13560);
     TESTINSN_un("vrsra.s64 d9, d12, #11", d9, d12, i32, 98710);
 
+    fflush(stdout);
     printf("---- VSHR ----\n");
     TESTINSN_un("vshr.s8 d0, d1, #0", d0, d1, i32, -1);
     TESTINSN_un("vshr.s8 d0, d1, #1", d0, d1, i32, -1);
@@ -1611,6 +1681,7 @@
     TESTINSN_un("vshr.u64 d8, d4, #9", d8, d4, i32, 13560);
     TESTINSN_un("vshr.s64 d9, d12, #11", d9, d12, i32, 98710);
 
+    fflush(stdout);
     printf("---- VSRA ----\n");
     TESTINSN_un("vsra.s8 d0, d1, #1", d0, d1, i32, -1);
     TESTINSN_un("vsra.s16 d3, d4, #2", d3, d4, i32, -0x7c);
@@ -1629,6 +1700,7 @@
     TESTINSN_un("vsra.u64 d8, d4, #9", d8, d4, i32, 13560);
     TESTINSN_un("vsra.s64 d9, d12, #11", d9, d12, i32, 98710);
 
+    fflush(stdout);
     printf("---- VSRI ----\n");
     TESTINSN_un("vsri.16 d0, d1, #1", d0, d1, i32, -1);
     TESTINSN_un("vsri.16 d3, d4, #2", d3, d4, i32, -0x7c);
@@ -1647,6 +1719,7 @@
     TESTINSN_un("vsri.64 d8, d4, #9", d8, d4, i32, 13560);
     TESTINSN_un("vsri.64 d9, d12, #11", d9, d12, i32, 98710);
 
+    fflush(stdout);
     printf("---- VMOV (ARM core register to scalar) ----\n");
     TESTINSN_core_to_scalar("vmov.32 d0[0], r5", d0, r5, 13);
     TESTINSN_core_to_scalar("vmov.32 d1[1], r3", d1, r3, 12);
@@ -1662,6 +1735,7 @@
     TESTINSN_core_to_scalar("vmov.8 d0[6], r5", d0, r5, 13);
     TESTINSN_core_to_scalar("vmov.8 d31[7], r5", d31, r5, 13);
 
+    fflush(stdout);
     printf("---- VMOV (scalar toARM core register) ----\n");
     TESTINSN_scalar_to_core("vmov.32 r5, d0[0]", r5, d0, i32, 0x11223344);
     TESTINSN_scalar_to_core("vmov.32 r6, d5[1]", r6, d5, i32, 0x11223344);
@@ -1690,6 +1764,7 @@
     TESTINSN_scalar_to_core("vmov.s8 r2, d4[6]", r2, d4, i8, 129);
     TESTINSN_scalar_to_core("vmov.s8 r2, d4[7]", r2, d4, i8, 131);
 
+    fflush(stdout);
     printf("---- VLD1 (multiple single elements) ----\n");
     TESTINSN_VLDn("vld1.8 {d0}", d0, d0, d0, d0);
     TESTINSN_VLDn("vld1.16 {d0}", d0, d0, d0, d0);
@@ -1712,6 +1787,7 @@
     TESTINSN_VLDn("vld1.32 {d0-d3}", d0, d1, d2, d3);
     TESTINSN_VLDn("vld1.64 {d0-d3}", d0, d1, d2, d3);
 
+    fflush(stdout);
     printf("---- VLD1 (single element to one lane) ----\n");
     TESTINSN_VLDn("vld1.32 {d0[0]}", d0, d0, d0, d0);
     TESTINSN_VLDn("vld1.32 {d0[1]}", d0, d0, d0, d0);
@@ -1728,6 +1804,7 @@
     TESTINSN_VLDn("vld1.8 {d17[1]}", d17, d17, d17, d17);
     TESTINSN_VLDn("vld1.8 {d30[0]}", d30, d30, d30, d30);
 
+    fflush(stdout);
     printf("---- VLD1 (single element to all lanes) ----\n");
     TESTINSN_VLDn("vld1.8 {d0[]}", d0, d0, d0, d0);
     TESTINSN_VLDn("vld1.16 {d0[]}", d0, d0, d0, d0);
@@ -1739,6 +1816,7 @@
     TESTINSN_VLDn("vld1.16 {d0[],d1[]}", d0, d1, d0, d1);
     TESTINSN_VLDn("vld1.32 {d5[],d6[]}", d5, d6, d5, d6);
 
+    fflush(stdout);
     printf("---- VLD2 (multiple 2-elements) ----\n");
     TESTINSN_VLDn("vld2.8 {d30-d31}", d30, d31, d30, d31);
     TESTINSN_VLDn("vld2.16 {d0-d1}", d0, d1, d0, d1);
@@ -1750,6 +1828,7 @@
     TESTINSN_VLDn("vld2.16 {d20-d23}", d20, d21, d22, d23);
     TESTINSN_VLDn("vld2.32 {d0-d3}", d0, d1, d2, d3);
 
+    fflush(stdout);
     printf("---- VLD2 (single 2-element structure to one lane) ----\n");
     TESTINSN_VLDn("vld2.32 {d0[0],d1[0]}", d0, d1, d0, d1);
     TESTINSN_VLDn("vld2.32 {d0[1],d1[1]}", d0, d1, d0, d1);
@@ -1772,6 +1851,7 @@
     TESTINSN_VLDn("vld2.8 {d17[1],d18[1]}", d17, d18, d17, d18);
     TESTINSN_VLDn("vld2.8 {d30[0],d31[0]}", d30, d31, d30, d31);
 
+    fflush(stdout);
     printf("---- VLD2 (2-elements to all lanes) ----\n");
     TESTINSN_VLDn("vld2.8 {d0[],d1[]}", d0, d1, d0, d1);
     TESTINSN_VLDn("vld2.16 {d0[],d1[]}", d0, d1, d0, d1);
@@ -1783,6 +1863,7 @@
     TESTINSN_VLDn("vld2.16 {d0[],d2[]}", d0, d2, d0, d2);
     TESTINSN_VLDn("vld2.32 {d5[],d7[]}", d5, d7, d5, d7);
 
+    fflush(stdout);
     printf("---- VLD3 (multiple 3-elements) ----\n");
     TESTINSN_VLDn("vld3.8 {d20-d22}", d20, d21, d22, d20);
     TESTINSN_VLDn("vld3.16 {d0-d2}", d0, d1, d2, d0);
@@ -1791,6 +1872,7 @@
     TESTINSN_VLDn("vld3.16 {d20,d22,d24}", d20, d22, d24, d20);
     TESTINSN_VLDn("vld3.32 {d0,d2,d4}", d0, d2, d4, d0);
 
+    fflush(stdout);
     printf("---- VLD3 (single 3-element structure to one lane) ----\n");
     TESTINSN_VLDn("vld3.32 {d0[0],d1[0],d2[0]}", d0, d1, d2, d1);
     TESTINSN_VLDn("vld3.32 {d0[1],d1[1],d2[1]}", d0, d1, d2, d1);
@@ -1813,6 +1895,7 @@
     TESTINSN_VLDn("vld3.8 {d17[1],d18[1],d19[1]}", d17, d18, d19, d18);
     TESTINSN_VLDn("vld3.8 {d29[0],d30[0],d31[0]}", d30, d31, d29, d31);
 
+    fflush(stdout);
     printf("---- VLD3 (3-elements to all lanes) ----\n");
     TESTINSN_VLDn("vld3.8 {d0[],d1[],d2[]}", d0, d1, d2, d1);
     TESTINSN_VLDn("vld3.16 {d0[],d1[],d2[]}", d0, d1, d2, d1);
@@ -1824,6 +1907,7 @@
     TESTINSN_VLDn("vld3.16 {d0[],d2[],d4[]}", d0, d2, d4, d2);
     TESTINSN_VLDn("vld3.32 {d5[],d7[],d9[]}", d5, d7, d9, d7);
 
+    fflush(stdout);
     printf("---- VLD4 (multiple 3-elements) ----\n");
     TESTINSN_VLDn("vld4.8 {d0-d3}", d0, d1, d2, d3);
     TESTINSN_VLDn("vld4.16 {d20-d23}", d20, d21, d22, d23);
@@ -1832,6 +1916,7 @@
     TESTINSN_VLDn("vld4.16 {d1,d3,d5,d7}", d1, d3, d5, d7);
     TESTINSN_VLDn("vld4.32 {d20,d22,d24,d26}", d20, d22, d24, d26);
 
+    fflush(stdout);
     printf("---- VLD4 (single 4-element structure to one lane) ----\n");
     TESTINSN_VLDn("vld4.32 {d0[0],d1[0],d2[0],d3[0]}", d0, d1, d2, d3);
     TESTINSN_VLDn("vld4.32 {d0[1],d1[1],d2[1],d3[1]}", d0, d1, d2, d4);
@@ -1854,6 +1939,7 @@
     TESTINSN_VLDn("vld4.8 {d17[1],d18[1],d19[1],d20[1]}", d17, d18, d19, d20);
     TESTINSN_VLDn("vld4.8 {d28[0],d29[0],d30[0],d31[0]}", d28, d29, d30, d31);
 
+    fflush(stdout);
     printf("---- VLD4 (4-elements to all lanes) ----\n");
     TESTINSN_VLDn("vld4.8 {d0[],d1[],d2[],d3[]}", d0, d1, d2, d3);
     TESTINSN_VLDn("vld4.16 {d0[],d1[],d2[],d3[]}", d0, d1, d2, d3);
@@ -1865,6 +1951,7 @@
     TESTINSN_VLDn("vld4.16 {d0[],d2[],d4[],d6[]}", d0, d2, d4, d6);
     TESTINSN_VLDn("vld4.32 {d5[],d7[],d9[],d11[]}", d5, d7, d9, d11);
 
+    fflush(stdout);
     printf("---- VST1 (multiple single elements) ----\n");
     TESTINSN_VSTn("vst1.8 {d0}", d0, d0, d0, d0);
     TESTINSN_VSTn("vst1.16 {d0}", d0, d0, d0, d0);
@@ -1887,6 +1974,7 @@
     TESTINSN_VSTn("vst1.32 {d0-d3}", d0, d1, d2, d3);
     TESTINSN_VSTn("vst1.64 {d0-d3}", d0, d1, d2, d3);
 
+    fflush(stdout);
     printf("---- VST1 (single element from one lane) ----\n");
     TESTINSN_VSTn("vst1.32 {d0[0]}", d0, d0, d0, d0);
     TESTINSN_VSTn("vst1.32 {d0[1]}", d0, d0, d0, d0);
@@ -1903,6 +1991,7 @@
     TESTINSN_VSTn("vst1.8 {d17[1]}", d17, d17, d17, d17);
     TESTINSN_VSTn("vst1.8 {d30[0]}", d30, d30, d30, d30);
 
+    fflush(stdout);
     printf("---- VST2 (multiple 2-elements) ----\n");
     TESTINSN_VSTn("vst2.8 {d30-d31}", d30, d31, d30, d31);
     TESTINSN_VSTn("vst2.16 {d0-d1}", d0, d1, d0, d1);
@@ -1914,6 +2003,7 @@
     TESTINSN_VSTn("vst2.16 {d20-d23}", d20, d21, d22, d23);
     TESTINSN_VSTn("vst2.32 {d0-d3}", d0, d1, d2, d3);
 
+    fflush(stdout);
     printf("---- VST2 (single 2-element structure from one lane) ----\n");
     TESTINSN_VSTn("vst2.32 {d0[0],d1[0]}", d0, d1, d0, d1);
     TESTINSN_VSTn("vst2.32 {d0[1],d1[1]}", d0, d1, d0, d1);
@@ -1936,6 +2026,7 @@
     TESTINSN_VSTn("vst2.8 {d17[1],d18[1]}", d17, d18, d17, d18);
     TESTINSN_VSTn("vst2.8 {d30[0],d31[0]}", d30, d31, d30, d31);
 
+    fflush(stdout);
     printf("---- VST3 (multiple 3-elements) ----\n");
     TESTINSN_VSTn("vst3.8 {d20-d22}", d20, d21, d22, d20);
     TESTINSN_VSTn("vst3.16 {d0-d2}", d0, d1, d2, d0);
@@ -1944,6 +2035,7 @@
     TESTINSN_VSTn("vst3.16 {d20,d22,d24}", d20, d22, d24, d20);
     TESTINSN_VSTn("vst3.32 {d0,d2,d4}", d0, d2, d4, d0);
 
+    fflush(stdout);
     printf("---- VST3 (single 3-element structure from one lane) ----\n");
     TESTINSN_VSTn("vst3.32 {d0[0],d1[0],d2[0]}", d0, d1, d2, d1);
     TESTINSN_VSTn("vst3.32 {d0[1],d1[1],d2[1]}", d0, d1, d2, d1);
@@ -1966,6 +2058,7 @@
     TESTINSN_VSTn("vst3.8 {d17[1],d18[1],d19[1]}", d17, d18, d19, d18);
     TESTINSN_VSTn("vst3.8 {d29[0],d30[0],d31[0]}", d30, d31, d29, d31);
 
+    fflush(stdout);
     printf("---- VST4 (multiple 4-elements) ----\n");
     TESTINSN_VSTn("vst4.8 {d0-d3}", d0, d1, d2, d3);
     TESTINSN_VSTn("vst4.16 {d20-d23}", d20, d21, d22, d23);
@@ -1974,6 +2067,7 @@
     TESTINSN_VSTn("vst4.16 {d1,d3,d5,d7}", d1, d3, d5, d7);
     TESTINSN_VSTn("vst4.32 {d20,d22,d24,d26}", d20, d22, d24, d26);
 
+    fflush(stdout);
     printf("---- VST4 (single 4-element structure from one lane) ----\n");
     TESTINSN_VSTn("vst4.32 {d0[0],d1[0],d2[0],d3[0]}", d0, d1, d2, d3);
     TESTINSN_VSTn("vst4.32 {d0[1],d1[1],d2[1],d3[1]}", d0, d1, d2, d4);
@@ -1996,6 +2090,7 @@
     TESTINSN_VSTn("vst4.8 {d17[1],d18[1],d19[1],d20[1]}", d17, d18, d19, d20);
     TESTINSN_VSTn("vst4.8 {d28[0],d29[0],d30[0],d31[0]}", d28, d29, d30, d31);
 
+    fflush(stdout);
     printf("---- VLD1 (multiple single elements) ----\n");
     TESTINSN_VLDn_WB("vld1.8 {d0}", d0, d0, d0, d0);
     TESTINSN_VLDn_WB("vld1.16 {d0}", d0, d0, d0, d0);
@@ -2018,6 +2113,7 @@
     TESTINSN_VLDn_WB("vld1.32 {d0-d3}", d0, d1, d2, d3);
     TESTINSN_VLDn_WB("vld1.64 {d0-d3}", d0, d1, d2, d3);
 
+    fflush(stdout);
     printf("---- VLD1 (single element to one lane) ----\n");
     TESTINSN_VLDn_WB("vld1.32 {d0[0]}", d0, d0, d0, d0);
     TESTINSN_VLDn_WB("vld1.32 {d0[1]}", d0, d0, d0, d0);
@@ -2034,6 +2130,7 @@
     TESTINSN_VLDn_WB("vld1.8 {d17[1]}", d17, d17, d17, d17);
     TESTINSN_VLDn_WB("vld1.8 {d30[0]}", d30, d30, d30, d30);
 
+    fflush(stdout);
     printf("---- VLD1 (single element to all lanes) ----\n");
     TESTINSN_VLDn_WB("vld1.8 {d0[]}", d0, d0, d0, d0);
     TESTINSN_VLDn_WB("vld1.16 {d0[]}", d0, d0, d0, d0);
@@ -2045,6 +2142,7 @@
     TESTINSN_VLDn_WB("vld1.16 {d0[],d1[]}", d0, d1, d0, d1);
     TESTINSN_VLDn_WB("vld1.32 {d5[],d6[]}", d5, d6, d5, d6);
 
+    fflush(stdout);
     printf("---- VLD2 (multiple 2-elements) ----\n");
     TESTINSN_VLDn_WB("vld2.8 {d30-d31}", d30, d31, d30, d31);
     TESTINSN_VLDn_WB("vld2.16 {d0-d1}", d0, d1, d0, d1);
@@ -2056,6 +2154,7 @@
     TESTINSN_VLDn_WB("vld2.16 {d20-d23}", d20, d21, d22, d23);
     TESTINSN_VLDn_WB("vld2.32 {d0-d3}", d0, d1, d2, d3);
 
+    fflush(stdout);
     printf("---- VLD2 (single 2-element structure to one lane) ----\n");
     TESTINSN_VLDn_WB("vld2.32 {d0[0],d1[0]}", d0, d1, d0, d1);
     TESTINSN_VLDn_WB("vld2.32 {d0[1],d1[1]}", d0, d1, d0, d1);
@@ -2078,6 +2177,7 @@
     TESTINSN_VLDn_WB("vld2.8 {d17[1],d18[1]}", d17, d18, d17, d18);
     TESTINSN_VLDn_WB("vld2.8 {d30[0],d31[0]}", d30, d31, d30, d31);
 
+    fflush(stdout);
     printf("---- VLD2 (2-elements to all lanes) ----\n");
     TESTINSN_VLDn_WB("vld2.8 {d0[],d1[]}", d0, d1, d0, d1);
     TESTINSN_VLDn_WB("vld2.16 {d0[],d1[]}", d0, d1, d0, d1);
@@ -2089,6 +2189,7 @@
     TESTINSN_VLDn_WB("vld2.16 {d0[],d2[]}", d0, d2, d0, d2);
     TESTINSN_VLDn_WB("vld2.32 {d5[],d7[]}", d5, d7, d5, d7);
 
+    fflush(stdout);
     printf("---- VLD3 (multiple 3-elements) ----\n");
     TESTINSN_VLDn_WB("vld3.8 {d20-d22}", d20, d21, d22, d20);
     TESTINSN_VLDn_WB("vld3.16 {d0-d2}", d0, d1, d2, d0);
@@ -2097,6 +2198,7 @@
     TESTINSN_VLDn_WB("vld3.16 {d20,d22,d24}", d20, d22, d24, d20);
     TESTINSN_VLDn_WB("vld3.32 {d0,d2,d4}", d0, d2, d4, d0);
 
+    fflush(stdout);
     printf("---- VLD3 (single 3-element structure to one lane) ----\n");
     TESTINSN_VLDn_WB("vld3.32 {d0[0],d1[0],d2[0]}", d0, d1, d2, d1);
     TESTINSN_VLDn_WB("vld3.32 {d0[1],d1[1],d2[1]}", d0, d1, d2, d1);
@@ -2119,6 +2221,7 @@
     TESTINSN_VLDn_WB("vld3.8 {d17[1],d18[1],d19[1]}", d17, d18, d19, d18);
     TESTINSN_VLDn_WB("vld3.8 {d29[0],d30[0],d31[0]}", d30, d31, d29, d31);
 
+    fflush(stdout);
     printf("---- VLD3 (3-elements to all lanes) ----\n");
     TESTINSN_VLDn_WB("vld3.8 {d0[],d1[],d2[]}", d0, d1, d2, d1);
     TESTINSN_VLDn_WB("vld3.16 {d0[],d1[],d2[]}", d0, d1, d2, d1);
@@ -2130,6 +2233,7 @@
     TESTINSN_VLDn_WB("vld3.16 {d0[],d2[],d4[]}", d0, d2, d4, d2);
     TESTINSN_VLDn_WB("vld3.32 {d5[],d7[],d9[]}", d5, d7, d9, d7);
 
+    fflush(stdout);
     printf("---- VLD4 (multiple 3-elements) ----\n");
     TESTINSN_VLDn_WB("vld4.8 {d0-d3}", d0, d1, d2, d3);
     TESTINSN_VLDn_WB("vld4.16 {d20-d23}", d20, d21, d22, d23);
@@ -2138,6 +2242,7 @@
     TESTINSN_VLDn_WB("vld4.16 {d1,d3,d5,d7}", d1, d3, d5, d7);
     TESTINSN_VLDn_WB("vld4.32 {d20,d22,d24,d26}", d20, d22, d24, d26);
 
+    fflush(stdout);
     printf("---- VLD4 (single 4-element structure to one lane) ----\n");
     TESTINSN_VLDn_WB("vld4.32 {d0[0],d1[0],d2[0],d3[0]}", d0, d1, d2, d3);
     TESTINSN_VLDn_WB("vld4.32 {d0[1],d1[1],d2[1],d3[1]}", d0, d1, d2, d4);
@@ -2160,6 +2265,7 @@
     TESTINSN_VLDn_WB("vld4.8 {d17[1],d18[1],d19[1],d20[1]}", d17, d18, d19, d20);
     TESTINSN_VLDn_WB("vld4.8 {d28[0],d29[0],d30[0],d31[0]}", d28, d29, d30, d31);
 
+    fflush(stdout);
     printf("---- VLD4 (4-elements to all lanes) ----\n");
     TESTINSN_VLDn_WB("vld4.8 {d0[],d1[],d2[],d3[]}", d0, d1, d2, d3);
     TESTINSN_VLDn_WB("vld4.16 {d0[],d1[],d2[],d3[]}", d0, d1, d2, d3);
@@ -2171,6 +2277,7 @@
     TESTINSN_VLDn_WB("vld4.16 {d0[],d2[],d4[],d6[]}", d0, d2, d4, d6);
     TESTINSN_VLDn_WB("vld4.32 {d5[],d7[],d9[],d11[]}", d5, d7, d9, d11);
 
+    fflush(stdout);
     printf("---- VST1 (multiple single elements) ----\n");
     TESTINSN_VSTn_WB("vst1.8 {d0}", d0, d0, d0, d0);
     TESTINSN_VSTn_WB("vst1.16 {d0}", d0, d0, d0, d0);
@@ -2193,6 +2300,7 @@
     TESTINSN_VSTn_WB("vst1.32 {d0-d3}", d0, d1, d2, d3);
     TESTINSN_VSTn_WB("vst1.64 {d0-d3}", d0, d1, d2, d3);
 
+    fflush(stdout);
     printf("---- VST1 (single element from one lane) ----\n");
     TESTINSN_VSTn_WB("vst1.32 {d0[0]}", d0, d0, d0, d0);
     TESTINSN_VSTn_WB("vst1.32 {d0[1]}", d0, d0, d0, d0);
@@ -2209,6 +2317,7 @@
     TESTINSN_VSTn_WB("vst1.8 {d17[1]}", d17, d17, d17, d17);
     TESTINSN_VSTn_WB("vst1.8 {d30[0]}", d30, d30, d30, d30);
 
+    fflush(stdout);
     printf("---- VST2 (multiple 2-elements) ----\n");
     TESTINSN_VSTn_WB("vst2.8 {d30-d31}", d30, d31, d30, d31);
     TESTINSN_VSTn_WB("vst2.16 {d0-d1}", d0, d1, d0, d1);
@@ -2220,6 +2329,7 @@
     TESTINSN_VSTn_WB("vst2.16 {d20-d23}", d20, d21, d22, d23);
     TESTINSN_VSTn_WB("vst2.32 {d0-d3}", d0, d1, d2, d3);
 
+    fflush(stdout);
     printf("---- VST2 (single 2-element structure from one lane) ----\n");
     TESTINSN_VSTn_WB("vst2.32 {d0[0],d1[0]}", d0, d1, d0, d1);
     TESTINSN_VSTn_WB("vst2.32 {d0[1],d1[1]}", d0, d1, d0, d1);
@@ -2242,6 +2352,7 @@
     TESTINSN_VSTn_WB("vst2.8 {d17[1],d18[1]}", d17, d18, d17, d18);
     TESTINSN_VSTn_WB("vst2.8 {d30[0],d31[0]}", d30, d31, d30, d31);
 
+    fflush(stdout);
     printf("---- VST3 (multiple 3-elements) ----\n");
     TESTINSN_VSTn_WB("vst3.8 {d20-d22}", d20, d21, d22, d20);
     TESTINSN_VSTn_WB("vst3.16 {d0-d2}", d0, d1, d2, d0);
@@ -2250,6 +2361,7 @@
     TESTINSN_VSTn_WB("vst3.16 {d20,d22,d24}", d20, d22, d24, d20);
     TESTINSN_VSTn_WB("vst3.32 {d0,d2,d4}", d0, d2, d4, d0);
 
+    fflush(stdout);
     printf("---- VST3 (single 3-element structure from one lane) ----\n");
     TESTINSN_VSTn_WB("vst3.32 {d0[0],d1[0],d2[0]}", d0, d1, d2, d1);
     TESTINSN_VSTn_WB("vst3.32 {d0[1],d1[1],d2[1]}", d0, d1, d2, d1);
@@ -2272,6 +2384,7 @@
     TESTINSN_VSTn_WB("vst3.8 {d17[1],d18[1],d19[1]}", d17, d18, d19, d18);
     TESTINSN_VSTn_WB("vst3.8 {d29[0],d30[0],d31[0]}", d30, d31, d29, d31);
 
+    fflush(stdout);
     printf("---- VST4 (multiple 4-elements) ----\n");
     TESTINSN_VSTn_WB("vst4.8 {d0-d3}", d0, d1, d2, d3);
     TESTINSN_VSTn_WB("vst4.16 {d20-d23}", d20, d21, d22, d23);
@@ -2280,6 +2393,7 @@
     TESTINSN_VSTn_WB("vst4.16 {d1,d3,d5,d7}", d1, d3, d5, d7);
     TESTINSN_VSTn_WB("vst4.32 {d20,d22,d24,d26}", d20, d22, d24, d26);
 
+    fflush(stdout);
     printf("---- VST4 (single 4-element structure from one lane) ----\n");
     TESTINSN_VSTn_WB("vst4.32 {d0[0],d1[0],d2[0],d3[0]}", d0, d1, d2, d3);
     TESTINSN_VSTn_WB("vst4.32 {d0[1],d1[1],d2[1],d3[1]}", d0, d1, d2, d4);
@@ -2302,6 +2416,7 @@
     TESTINSN_VSTn_WB("vst4.8 {d17[1],d18[1],d19[1],d20[1]}", d17, d18, d19, d20);
     TESTINSN_VSTn_WB("vst4.8 {d28[0],d29[0],d30[0],d31[0]}", d28, d29, d30, d31);
 
+    fflush(stdout);
     printf("---- VLD1 (multiple single elements) ----\n");
     TESTINSN_VLDn_RI("vld1.8 {d0}", d0, d0, d0, d0, r5, 13);
     TESTINSN_VLDn_RI("vld1.16 {d0}", d0, d0, d0, d0, r8, 13);
@@ -2324,6 +2439,7 @@
     TESTINSN_VLDn_RI("vld1.32 {d0-d3}", d0, d1, d2, d3, r5, 13);
     TESTINSN_VLDn_RI("vld1.64 {d0-d3}", d0, d1, d2, d3, r5, 13);
 
+    fflush(stdout);
     printf("---- VLD1 (single element to one lane) ----\n");
     TESTINSN_VLDn_RI("vld1.32 {d0[0]}", d0, d0, d0, d0, r5, 13);
     TESTINSN_VLDn_RI("vld1.32 {d0[1]}", d0, d0, d0, d0, r9, 42);
@@ -2340,6 +2456,7 @@
     TESTINSN_VLDn_RI("vld1.8 {d17[1]}", d17, d17, d17, d17, r5, 13);
     TESTINSN_VLDn_RI("vld1.8 {d30[0]}", d30, d30, d30, d30, r5, 13);
 
+    fflush(stdout);
     printf("---- VLD1 (single element to all lanes) ----\n");
     TESTINSN_VLDn_RI("vld1.8 {d0[]}", d0, d0, d0, d0, r5, 13);
     TESTINSN_VLDn_RI("vld1.16 {d0[]}", d0, d0, d0, d0, r9, 42);
@@ -2351,6 +2468,7 @@
     TESTINSN_VLDn_RI("vld1.16 {d0[],d1[]}", d0, d1, d0, d1, r5, 13);
     TESTINSN_VLDn_RI("vld1.32 {d5[],d6[]}", d5, d6, d5, d6, r5, 13);
 
+    fflush(stdout);
     printf("---- VLD2 (multiple 2-elements) ----\n");
     TESTINSN_VLDn_RI("vld2.8 {d30-d31}", d30, d31, d30, d31, r5, 13);
     TESTINSN_VLDn_RI("vld2.16 {d0-d1}", d0, d1, d0, d1, r9, 42);
@@ -2362,6 +2480,7 @@
     TESTINSN_VLDn_RI("vld2.16 {d20-d23}", d20, d21, d22, d23, r5, 13);
     TESTINSN_VLDn_RI("vld2.32 {d0-d3}", d0, d1, d2, d3, r5, 13);
 
+    fflush(stdout);
     printf("---- VLD2 (single 2-element structure to one lane) ----\n");
     TESTINSN_VLDn_RI("vld2.32 {d0[0],d1[0]}", d0, d1, d0, d1, r5, 13);
     TESTINSN_VLDn_RI("vld2.32 {d0[1],d1[1]}", d0, d1, d0, d1, r9, 42);
@@ -2384,6 +2503,7 @@
     TESTINSN_VLDn_RI("vld2.8 {d17[1],d18[1]}", d17, d18, d17, d18, r5, 13);
     TESTINSN_VLDn_RI("vld2.8 {d30[0],d31[0]}", d30, d31, d30, d31, r5, 13);
 
+    fflush(stdout);
     printf("---- VLD2 (2-elements to all lanes) ----\n");
     TESTINSN_VLDn_RI("vld2.8 {d0[],d1[]}", d0, d1, d0, d1, r5, 13);
     TESTINSN_VLDn_RI("vld2.16 {d0[],d1[]}", d0, d1, d0, d1, r9, 42);
@@ -2395,6 +2515,7 @@
     TESTINSN_VLDn_RI("vld2.16 {d0[],d2[]}", d0, d2, d0, d2, r5, 13);
     TESTINSN_VLDn_RI("vld2.32 {d5[],d7[]}", d5, d7, d5, d7, r5, 13);
 
+    fflush(stdout);
     printf("---- VLD3 (multiple 3-elements) ----\n");
     TESTINSN_VLDn_RI("vld3.8 {d20-d22}", d20, d21, d22, d20, r5, 13);
     TESTINSN_VLDn_RI("vld3.16 {d0-d2}", d0, d1, d2, d0, r9, 42);
@@ -2403,6 +2524,7 @@
     TESTINSN_VLDn_RI("vld3.16 {d20,d22,d24}", d20, d22, d24, d20, r5, 13);
     TESTINSN_VLDn_RI("vld3.32 {d0,d2,d4}", d0, d2, d4, d0, r5, 13);
 
+    fflush(stdout);
     printf("---- VLD3 (single 3-element structure to one lane) ----\n");
     TESTINSN_VLDn_RI("vld3.32 {d0[0],d1[0],d2[0]}", d0, d1, d2, d1, r5, 13);
     TESTINSN_VLDn_RI("vld3.32 {d0[1],d1[1],d2[1]}", d0, d1, d2, d1, r9, 42);
@@ -2425,6 +2547,7 @@
     TESTINSN_VLDn_RI("vld3.8 {d17[1],d18[1],d19[1]}", d17, d18, d19, d18, r5, 13);
     TESTINSN_VLDn_RI("vld3.8 {d29[0],d30[0],d31[0]}", d30, d31, d29, d31, r5, 13);
 
+    fflush(stdout);
     printf("---- VLD3 (3-elements to all lanes) ----\n");
     TESTINSN_VLDn_RI("vld3.8 {d0[],d1[],d2[]}", d0, d1, d2, d1, r5, 13);
     TESTINSN_VLDn_RI("vld3.16 {d0[],d1[],d2[]}", d0, d1, d2, d1, r9, 42);
@@ -2436,6 +2559,7 @@
     TESTINSN_VLDn_RI("vld3.16 {d0[],d2[],d4[]}", d0, d2, d4, d2, r5, 13);
     TESTINSN_VLDn_RI("vld3.32 {d5[],d7[],d9[]}", d5, d7, d9, d7, r5, 13);
 
+    fflush(stdout);
     printf("---- VLD4 (multiple 3-elements) ----\n");
     TESTINSN_VLDn_RI("vld4.8 {d0-d3}", d0, d1, d2, d3, r5, 13);
     TESTINSN_VLDn_RI("vld4.16 {d20-d23}", d20, d21, d22, d23, r9, 0);
@@ -2444,6 +2568,7 @@
     TESTINSN_VLDn_RI("vld4.16 {d1,d3,d5,d7}", d1, d3, d5, d7, r5, 13);
     TESTINSN_VLDn_RI("vld4.32 {d20,d22,d24,d26}", d20, d22, d24, d26, r5, 13);
 
+    fflush(stdout);
     printf("---- VLD4 (single 4-element structure to one lane) ----\n");
     TESTINSN_VLDn_RI("vld4.32 {d0[0],d1[0],d2[0],d3[0]}", d0, d1, d2, d3, r5, 13);
     TESTINSN_VLDn_RI("vld4.32 {d0[1],d1[1],d2[1],d3[1]}", d0, d1, d2, d4, r9, 42);
@@ -2466,6 +2591,7 @@
     TESTINSN_VLDn_RI("vld4.8 {d17[1],d18[1],d19[1],d20[1]}", d17, d18, d19, d20, r5, 13);
     TESTINSN_VLDn_RI("vld4.8 {d28[0],d29[0],d30[0],d31[0]}", d28, d29, d30, d31, r5, 13);
 
+    fflush(stdout);
     printf("---- VLD4 (4-elements to all lanes) ----\n");
     TESTINSN_VLDn_RI("vld4.8 {d0[],d1[],d2[],d3[]}", d0, d1, d2, d3, r5, 13);
     TESTINSN_VLDn_RI("vld4.16 {d0[],d1[],d2[],d3[]}", d0, d1, d2, d3, r9, 42);
@@ -2477,6 +2603,7 @@
     TESTINSN_VLDn_RI("vld4.16 {d0[],d2[],d4[],d6[]}", d0, d2, d4, d6, r5, 13);
     TESTINSN_VLDn_RI("vld4.32 {d5[],d7[],d9[],d11[]}", d5, d7, d9, d11, r5, 13);
 
+    fflush(stdout);
     printf("---- VST1 (multiple single elements) ----\n");
     TESTINSN_VSTn_RI("vst1.8 {d0}", d0, d0, d0, d0, r5, 13);
     TESTINSN_VSTn_RI("vst1.16 {d0}", d0, d0, d0, d0, r9, 42);
@@ -2499,6 +2626,7 @@
     TESTINSN_VSTn_RI("vst1.32 {d0-d3}", d0, d1, d2, d3, r5, 13);
     TESTINSN_VSTn_RI("vst1.64 {d0-d3}", d0, d1, d2, d3, r5, 13);
 
+    fflush(stdout);
     printf("---- VST1 (single element from one lane) ----\n");
     TESTINSN_VSTn_RI("vst1.32 {d0[0]}", d0, d0, d0, d0, r5, 13);
     TESTINSN_VSTn_RI("vst1.32 {d0[1]}", d0, d0, d0, d0, r9, 42);
@@ -2515,6 +2643,7 @@
     TESTINSN_VSTn_RI("vst1.8 {d17[1]}", d17, d17, d17, d17, r5, 13);
     TESTINSN_VSTn_RI("vst1.8 {d30[0]}", d30, d30, d30, d30, r5, 13);
 
+    fflush(stdout);
     printf("---- VST2 (multiple 2-elements) ----\n");
     TESTINSN_VSTn_RI("vst2.8 {d30-d31}", d30, d31, d30, d31, r5, 13);
     TESTINSN_VSTn_RI("vst2.16 {d0-d1}", d0, d1, d0, d1, r9, 42);
@@ -2526,6 +2655,7 @@
     TESTINSN_VSTn_RI("vst2.16 {d20-d23}", d20, d21, d22, d23, r5, 13);
     TESTINSN_VSTn_RI("vst2.32 {d0-d3}", d0, d1, d2, d3, r5, 13);
 
+    fflush(stdout);
     printf("---- VST2 (single 2-element structure from one lane) ----\n");
     TESTINSN_VSTn_RI("vst2.32 {d0[0],d1[0]}", d0, d1, d0, d1, r5, 13);
     TESTINSN_VSTn_RI("vst2.32 {d0[1],d1[1]}", d0, d1, d0, d1, r9, 42);
@@ -2548,6 +2678,7 @@
     TESTINSN_VSTn_RI("vst2.8 {d17[1],d18[1]}", d17, d18, d17, d18, r5, 13);
     TESTINSN_VSTn_RI("vst2.8 {d30[0],d31[0]}", d30, d31, d30, d31, r5, 13);
 
+    fflush(stdout);
     printf("---- VST3 (multiple 3-elements) ----\n");
     TESTINSN_VSTn_RI("vst3.8 {d20-d22}", d20, d21, d22, d20, r5, 13);
     TESTINSN_VSTn_RI("vst3.16 {d0-d2}", d0, d1, d2, d0, r9, 42);
@@ -2556,6 +2687,7 @@
     TESTINSN_VSTn_RI("vst3.16 {d20,d22,d24}", d20, d22, d24, d20, r5, 13);
     TESTINSN_VSTn_RI("vst3.32 {d0,d2,d4}", d0, d2, d4, d0, r5, 13);
 
+    fflush(stdout);
     printf("---- VST3 (single 3-element structure from one lane) ----\n");
     TESTINSN_VSTn_RI("vst3.32 {d0[0],d1[0],d2[0]}", d0, d1, d2, d1, r5, 13);
     TESTINSN_VSTn_RI("vst3.32 {d0[1],d1[1],d2[1]}", d0, d1, d2, d1, r9, 42);
@@ -2578,6 +2710,7 @@
     TESTINSN_VSTn_RI("vst3.8 {d17[1],d18[1],d19[1]}", d17, d18, d19, d18, r5, 13);
     TESTINSN_VSTn_RI("vst3.8 {d29[0],d30[0],d31[0]}", d30, d31, d29, d31, r5, 13);
 
+    fflush(stdout);
     printf("---- VST4 (multiple 4-elements) ----\n");
     TESTINSN_VSTn_RI("vst4.8 {d0-d3}", d0, d1, d2, d3, r5, 13);
     TESTINSN_VSTn_RI("vst4.16 {d20-d23}", d20, d21, d22, d23, r9, 42);
@@ -2586,6 +2719,7 @@
     TESTINSN_VSTn_RI("vst4.16 {d1,d3,d5,d7}", d1, d3, d5, d7, r5, 13);
     TESTINSN_VSTn_RI("vst4.32 {d20,d22,d24,d26}", d20, d22, d24, d26, r5, 13);
 
+    fflush(stdout);
     printf("---- VST4 (single 4-element structure from one lane) ----\n");
     TESTINSN_VSTn_RI("vst4.32 {d0[0],d1[0],d2[0],d3[0]}", d0, d1, d2, d3, r5, 13);
     TESTINSN_VSTn_RI("vst4.32 {d0[1],d1[1],d2[1],d3[1]}", d0, d1, d2, d4, r9, 42);
@@ -2608,6 +2742,7 @@
     TESTINSN_VSTn_RI("vst4.8 {d17[1],d18[1],d19[1],d20[1]}", d17, d18, d19, d20, r5, 13);
     TESTINSN_VSTn_RI("vst4.8 {d28[0],d29[0],d30[0],d31[0]}", d28, d29, d30, d31, r5, 13);
 
+    fflush(stdout);
     printf("---- VMOVN ----\n");
     TESTINSN_bin("vmovn.i32 d0, q0", d0, d0, i32, 0x32, d1, i32, 0x24);
     TESTINSN_bin("vmovn.i16 d7, q5", d7, d10, i32, 0x32, d11, i32, 0x24);
@@ -2616,6 +2751,7 @@
     TESTINSN_bin("vmovn.i16 d7, q5", d7, d10, i16, 0xdead, d11, i16, 0xbeef);
     TESTINSN_bin("vmovn.i64 d31, q0", d31, d0, i32, 0xff00fe0f, d1, i8, 0x24);
 
+    fflush(stdout);
     printf("---- VQMOVN ----\n");
     TESTINSN_bin_q("vqmovn.u32 d0, q0", d0, d0, i32, 0x32, d1, i32, 0x24);
     TESTINSN_bin_q("vqmovn.u16 d7, q5", d7, d10, i32, 0x32, d11, i32, 0x24);
@@ -2633,6 +2769,7 @@
     TESTINSN_bin_q("vqmovn.s16 d7, q5", d7, d10, i8, 0xff, d11, i16, 0xff);
     TESTINSN_bin_q("vqmovn.s64 d31, q0", d31, d0, i8, 0xff, d1, i8, 0xff);
 
+    fflush(stdout);
     printf("---- VQMOVN ----\n");
     TESTINSN_bin_q("vqmovun.s32 d0, q0", d0, d0, i32, 0x32, d1, i32, 0x24);
     TESTINSN_bin_q("vqmovun.s16 d7, q5", d7, d10, i32, 0x32, d11, i32, 0x24);
@@ -2644,6 +2781,7 @@
     TESTINSN_bin_q("vqmovun.s16 d7, q5", d7, d10, i8, 0xff, d11, i16, 0xff);
     TESTINSN_bin_q("vqmovun.s64 d31, q0", d31, d0, i8, 0xff, d1, i8, 0xff);
 
+    fflush(stdout);
     printf("---- VABS ----\n");
     TESTINSN_un("vabs.s32 d0, d1", d0, d1, i32, 0x73);
     TESTINSN_un("vabs.s16 d15, d4", d15, d4, i32, 0x73);
@@ -2655,6 +2793,7 @@
     TESTINSN_un("vabs.s16 d15, d4", d15, d4, i16, 0xef0b);
     TESTINSN_un("vabs.s8 d8, d7", d8, d7, i16, 0xde0c);
 
+    fflush(stdout);
     printf("---- VQABS ----\n");
     TESTINSN_un_q("vqabs.s32 d0, d1", d0, d1, i32, 0x73);
     TESTINSN_un_q("vqabs.s32 d0, d1", d0, d1, i32, 1 << 31);
@@ -2669,6 +2808,7 @@
     TESTINSN_un_q("vqabs.s16 d15, d4", d15, d4, i16, 0xef0b);
     TESTINSN_un_q("vqabs.s8 d8, d7", d8, d7, i16, 0xde0c);
 
+    fflush(stdout);
     printf("---- VADDHN ----\n");
     TESTINSN_bin("vaddhn.i32 d0, q1, q1", d0, q1, i32, 0x73, q1, i32, 0x72);
     TESTINSN_bin("vaddhn.i16 d0, q1, q2", d0, q1, i32, 0x73, q2, i32, 0x72);
@@ -2682,6 +2822,7 @@
     TESTINSN_bin("vaddhn.i32 d0, q1, q2", d0, q1, i8, 0x73, q2, i32, 0x72);
     TESTINSN_bin("vaddhn.i64 d0, q1, q2", d0, q1, i8, 0x73, q2, i32, 0x72);
 
+    fflush(stdout);
     printf("---- VRADDHN ----\n");
     TESTINSN_bin("vraddhn.i32 d0, q1, q1", d0, q1, i32, 0x73, q1, i32, 0x72);
     TESTINSN_bin("vraddhn.i16 d0, q1, q2", d0, q1, i32, 0x73, q2, i32, 0x72);
@@ -2702,6 +2843,7 @@
     TESTINSN_bin("vraddhn.i32 d0, q1, q2", d0, q1, i8, 0x73, q2, i32, 0x02);
     TESTINSN_bin("vraddhn.i64 d0, q1, q2", d0, q1, i8, 0x73, q2, i32, 0x02);
 
+    fflush(stdout);
     printf("---- VSUBHN ----\n");
     TESTINSN_bin("vsubhn.i32 d0, q1, q1", d0, q1, i32, 0x73, q1, i32, 0x72);
     TESTINSN_bin("vsubhn.i16 d0, q1, q2", d0, q1, i32, 0x73, q2, i32, 0x72);
@@ -2715,6 +2857,7 @@
     TESTINSN_bin("vsubhn.i32 d0, q1, q2", d0, q1, i8, 0x73, q2, i32, 0x72);
     TESTINSN_bin("vsubhn.i64 d0, q1, q2", d0, q1, i8, 0x73, q2, i32, 0x72);
 
+    fflush(stdout);
     printf("---- VRSUBHN ----\n");
     TESTINSN_bin("vrsubhn.i32 d0, q1, q1", d0, q1, i32, 0x73, q1, i32, 0x72);
     TESTINSN_bin("vrsubhn.i16 d0, q1, q2", d0, q1, i32, 0x73, q2, i32, 0x72);
@@ -2735,6 +2878,7 @@
     TESTINSN_bin("vrsubhn.i32 d0, q1, q2", d0, q1, i8, 0x93, q2, i32, 0x02);
     TESTINSN_bin("vrsubhn.i64 d0, q1, q2", d0, q1, i8, 0x93, q2, i32, 0x02);
 
+    fflush(stdout);
     printf("---- VCEQ #0 ----\n");
     TESTINSN_un("vceq.i32 d0, d1, #0", d0, d1, i32, 0x21);
     TESTINSN_un("vceq.i16 d2, d1, #0", d2, d1, i32, 0x21);
@@ -2743,6 +2887,7 @@
     TESTINSN_un("vceq.i16 d2, d1, #0", d2, d1, i32, 0x0);
     TESTINSN_un("vceq.i8 d10, d31, #0", d10, d31, i32, 0x0);
 
+    fflush(stdout);
     printf("---- VCGT #0 ----\n");
     TESTINSN_un("vcgt.s32 d0, d1, #0", d0, d1, i32, 0x21);
     TESTINSN_un("vcgt.s16 d2, d1, #0", d2, d1, i32, 0x21);
@@ -2754,6 +2899,7 @@
     TESTINSN_un("vcgt.s16 d2, d1, #0", d2, d1, i8, 0xed);
     TESTINSN_un("vcgt.s8 d10, d11, #0", d10, d11, i8, 0xae);
 
+    fflush(stdout);
     printf("---- VCGE #0 ----\n");
     TESTINSN_un("vcge.s32 d0, d1, #0", d0, d1, i32, 0x21);
     TESTINSN_un("vcge.s16 d2, d1, #0", d2, d1, i32, 0x21);
@@ -2768,6 +2914,7 @@
     TESTINSN_un("vcge.s16 d2, d1, #0", d2, d1, i32, 0xed);
     TESTINSN_un("vcge.s8 d10, d11, #0", d10, d11, i32, 0xae);
 
+    fflush(stdout);
     printf("---- VCLE #0 ----\n");
     TESTINSN_un("vcle.s32 d0, d1, #0", d0, d1, i32, 0x21);
     TESTINSN_un("vcle.s16 d2, d1, #0", d2, d1, i32, 0x21);
@@ -2779,6 +2926,7 @@
     TESTINSN_un("vcle.s16 d2, d1, #0", d2, d1, i8, 0xed);
     TESTINSN_un("vcle.s8 d10, d11, #0", d10, d11, i8, 0xae);
 
+    fflush(stdout);
     printf("---- VCLT #0 ----\n");
     TESTINSN_un("vclt.s32 d0, d1, #0", d0, d1, i32, 0x21);
     TESTINSN_un("vclt.s16 d2, d1, #0", d2, d1, i32, 0x21);
@@ -2793,11 +2941,13 @@
     TESTINSN_un("vclt.s16 d2, d1, #0", d2, d1, i32, 0xed);
     TESTINSN_un("vclt.s8 d10, d11, #0", d10, d11, i32, 0xae);
 
+    fflush(stdout);
     printf("---- VCNT ----\n");
     TESTINSN_un("vcnt.8 d0, d1", d0, d1, i32, 0xac3d25eb);
     TESTINSN_un("vcnt.8 d11, d14", d11, d14, i32, 0xac3d25eb);
     TESTINSN_un("vcnt.8 d6, d2", d6, d2, i32, 0xad0eb);
 
+    fflush(stdout);
     printf("---- VCLS ----\n");
     TESTINSN_un("vcls.s8 d0, d1", d0, d1, i32, 0x21);
     TESTINSN_un("vcls.s8 d30, d31", d30, d31, i8, 0x82);
@@ -2818,6 +2968,7 @@
     TESTINSN_un("vcls.s16 d2, d4", d2, d4, i16, 0x00ef);
     TESTINSN_un("vcls.s32 d2, d4", d2, d4, i16, 0x00ef);
 
+    fflush(stdout);
     printf("---- VCLZ ----\n");
     TESTINSN_un("vclz.i8 d0, d1", d0, d1, i32, 0x21);
     TESTINSN_un("vclz.i8 d30, d31", d30, d31, i8, 0x82);
@@ -2838,6 +2989,7 @@
     TESTINSN_un("vclz.i16 d2, d4", d2, d4, i16, 0x00ef);
     TESTINSN_un("vclz.i32 d2, d4", d2, d4, i16, 0x00ef);
 
+    fflush(stdout);
     printf("---- VSLI ----\n");
     TESTINSN_un("vsli.16 d0, d1, #1", d0, d1, i32, 7);
     TESTINSN_un("vsli.16 d3, d4, #2", d3, d4, i32, -0x7c);
@@ -2856,6 +3008,7 @@
     TESTINSN_un("vsli.64 d8, d4, #9", d8, d4, i32, 13560);
     TESTINSN_un("vsli.64 d9, d12, #11", d9, d12, i32, 98710);
 
+    fflush(stdout);
     printf("---- VPADD ----\n");
     TESTINSN_bin("vpadd.i32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin("vpadd.i32 d0, d1, d2", d0, d1, i32, 140, d2, i32, 120);
@@ -2866,6 +3019,7 @@
     TESTINSN_bin("vpadd.i32 d0, d1, d2", d0, d1, i32, (1 << 31) + 1, d2, i32, (1 << 31) + 2);
     TESTINSN_bin("vpadd.i32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VPADDL ----\n");
     TESTINSN_un("vpaddl.u32 d0, d1", d0, d1, i32, 24);
     TESTINSN_un("vpaddl.u32 d0, d1", d0, d1, i32, 140);
@@ -2884,6 +3038,7 @@
     TESTINSN_un("vpaddl.s32 d0, d1", d0, d1, i32, (1 << 31) + 1);
     TESTINSN_un("vpaddl.s32 d10, d11", d10, d11, i32, 24);
 
+    fflush(stdout);
     printf("---- VPADAL ----\n");
     TESTINSN_un("vpadal.u32 d0, d1", d0, d1, i32, 24);
     TESTINSN_un("vpadal.u32 d0, d1", d0, d1, i32, 140);
@@ -2902,6 +3057,7 @@
     TESTINSN_un("vpadal.s32 d0, d1", d0, d1, i32, (1 << 31) + 1);
     TESTINSN_un("vpadal.s32 d10, d11", d10, d11, i32, 24);
 
+    fflush(stdout);
     printf("---- VZIP ----\n");
     TESTINSN_dual("vzip.32 d0, d1", d0, i8, 0x12, d1, i8, 0x34);
     TESTINSN_dual("vzip.16 d1, d0", d0, i8, 0x12, d1, i8, 0x34);
@@ -2910,6 +3066,7 @@
     TESTINSN_dual("vzip.16 d1, d0", d0, i32, 0x12345678, d1, i32, 0x0a0b0c0d);
     TESTINSN_dual("vzip.8 d30, d31", d30, i32, 0x12345678, d31, i32, 0x0a0b0c0d);
 
+    fflush(stdout);
     printf("---- VUZP ----\n");
     TESTINSN_dual("vuzp.32 d0, d1", d0, i8, 0x12, d1, i8, 0x34);
     TESTINSN_dual("vuzp.16 d1, d0", d0, i8, 0x12, d1, i8, 0x34);
@@ -2918,6 +3075,7 @@
     TESTINSN_dual("vuzp.16 d1, d0", d0, i32, 0x12345678, d1, i32, 0x0a0b0c0d);
     TESTINSN_dual("vuzp.8 d30, d31", d30, i32, 0x12345678, d31, i32, 0x0a0b0c0d);
 
+    fflush(stdout);
     printf("---- VTRN ----\n");
     TESTINSN_dual("vtrn.32 d0, d1", d0, i8, 0x12, d1, i8, 0x34);
     TESTINSN_dual("vtrn.16 d1, d0", d0, i8, 0x12, d1, i8, 0x34);
@@ -2926,6 +3084,7 @@
     TESTINSN_dual("vtrn.16 d1, d0", d0, i32, 0x12345678, d1, i32, 0x0a0b0c0d);
     TESTINSN_dual("vtrn.8 d30, d31", d30, i32, 0x12345678, d31, i32, 0x0a0b0c0d);
 
+    fflush(stdout);
     printf("---- VSWP ----\n");
     TESTINSN_dual("vswp d0, d1", d0, i8, 0x12, d1, i8, 0x34);
     TESTINSN_dual("vswp d1, d0", d0, i8, 0x12, d1, i8, 0x34);
@@ -2934,6 +3093,7 @@
     TESTINSN_dual("vswp d1, d0", d0, i32, 0x12345678, d1, i32, 0x0a0b0c0d);
     TESTINSN_dual("vswp d30, d31", d30, i32, 0x12345678, d31, i32, 0x0a0b0c0d);
 
+    fflush(stdout);
     printf("---- VSHRN ----\n");
     TESTINSN_un("vshrn.i16 d0, q1, #1", d0, q1, i32, -1);
     TESTINSN_un("vshrn.i16 d3, q4, #2", d3, q4, i32, -0x7c);
@@ -2953,6 +3113,7 @@
     TESTINSN_un("vshrn.i64 d8, q4, #9", d8, q4, i32, 13560);
     TESTINSN_un("vshrn.i64 d9, q12, #11", d9, q12, i32, 98710);
 
+    fflush(stdout);
     printf("---- VDUP ----\n");
     TESTINSN_un("vdup.8 d12, d2[0]", d12, d2, i32, 0xabc4657);
     TESTINSN_un("vdup.8 d0, d3[2]", d0, d3, i32, 0x7a1b3);
@@ -2970,6 +3131,7 @@
     TESTINSN_un("vdup.32 d22, d0[1]", d22, d0, i32, 0xf);
     TESTINSN_un("vdup.32 d13, d13[0]", d13, d13, i32, -1);
 
+    fflush(stdout);
     printf("---- VQDMULH ----\n");
     TESTINSN_bin_q("vqdmulh.s32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin_q("vqdmulh.s32 d6, d7, d8", d6, d7, i32, 140, d8, i32, -120);
@@ -2986,6 +3148,7 @@
     TESTINSN_bin_q("vqdmulh.s32 d10, d30, d31", d10, d30, i32, 1 << 30, d31, i32, 1 << 31);
     TESTINSN_bin_q("vqdmulh.s16 d10, d30, d31", d10, d30, i32, 1 << 31, d31, i32, 1 << 30);
 
+    fflush(stdout);
     printf("---- VQDMULH (by scalar) ----\n");
     TESTINSN_bin_q("vqdmulh.s32 d0, d1, d6[0]", d0, d1, i32, 24, d6, i32, 120);
     TESTINSN_bin_q("vqdmulh.s32 d6, d7, d1[1]", d6, d7, i32, 140, d1, i32, -120);
@@ -3002,6 +3165,7 @@
     TESTINSN_bin_q("vqdmulh.s32 d10, d14, d15[1]", d10, d14, i32, 1 << 30, d15, i32, 1 << 31);
     TESTINSN_bin_q("vqdmulh.s16 d31, d14, d7[1]", d31, d14, i32, 1 << 31, d7, i32, 1 << 30);
 
+    fflush(stdout);
     printf("---- VSHRN ----\n");
     TESTINSN_un("vshrn.i64 d2, q2, #1", d2, q2, i32, 0xabc4657);
     TESTINSN_un("vshrn.i64 d3, q3, #0", d3, q3, i32, 0x7a1b3);
@@ -3019,6 +3183,7 @@
     TESTINSN_un("vshrn.i32 d12, q0, #6", d12, q0, i32, 0xf);
     TESTINSN_un("vshrn.i32 d13, q13, #2", d13, q13, i32, -1);
 
+    fflush(stdout);
     printf("---- VQSHRN ----\n");
     TESTINSN_un_q("vqshrn.s16 d0, q1, #1", d0, q1, i32, -1);
     TESTINSN_un_q("vqshrn.s16 d3, q4, #2", d3, q4, i32, -0x7c);
@@ -3059,6 +3224,7 @@
     TESTINSN_un_q("vqshrn.u64 d8, q4, #9", d8, q4, i32, 13560);
     TESTINSN_un_q("vqshrn.u64 d9, q12, #11", d9, q12, i32, 98710);
 
+    fflush(stdout);
     printf("---- VQSHRUN ----\n");
     TESTINSN_un_q("vqshrun.s16 d0, q1, #1", d0, q1, i32, -1);
     TESTINSN_un_q("vqshrun.s16 d3, q4, #2", d3, q4, i32, -0x7c);
@@ -3080,6 +3246,7 @@
     TESTINSN_un_q("vqshrun.s64 d8, q4, #9", d8, q4, i32, 13560);
     TESTINSN_un_q("vqshrun.s64 d9, q12, #11", d9, q12, i32, 98710);
 
+    fflush(stdout);
     printf("---- VQRSHRN ----\n");
     TESTINSN_un_q("vqrshrn.s16 d0, q1, #1", d0, q1, i32, -1);
     TESTINSN_un_q("vqrshrn.s16 d3, q4, #2", d3, q4, i32, -0x7c);
@@ -3120,6 +3287,7 @@
     TESTINSN_un_q("vqrshrn.u64 d8, q4, #9", d8, q4, i32, 13560);
     TESTINSN_un_q("vqrshrn.u64 d9, q12, #11", d9, q12, i32, 98710);
 
+    fflush(stdout);
     printf("---- VQRSHRUN ----\n");
     TESTINSN_un_q("vqrshrun.s16 d0, q1, #1", d0, q1, i32, -1);
     TESTINSN_un_q("vqrshrun.s16 d3, q4, #2", d3, q4, i32, -0x7c);
@@ -3141,6 +3309,7 @@
     TESTINSN_un_q("vqrshrun.s64 d8, q4, #9", d8, q4, i32, 13560);
     TESTINSN_un_q("vqrshrun.s64 d9, q12, #11", d9, q12, i32, 98710);
 
+    fflush(stdout);
     printf("---- VRSHRN ----\n");
     TESTINSN_un("vrshrn.i64 d2, q2, #1", d2, q2, i32, 0xabc4657);
     TESTINSN_un("vrshrn.i64 d3, q3, #0", d3, q3, i32, 0x7a1b3);
@@ -3158,6 +3327,7 @@
     TESTINSN_un("vrshrn.i32 d12, q0, #6", d12, q0, i32, 0xf);
     TESTINSN_un("vrshrn.i32 d13, q13, #2", d13, q13, i32, -1);
 
+    fflush(stdout);
     printf("---- VSHL (immediate) ----\n");
     TESTINSN_un("vshl.i64 d0, d1, #1", d0, d1, i32, 24);
     TESTINSN_un("vshl.i64 d5, d2, #1", d5, d2, i32, (1 << 30));
@@ -3184,6 +3354,7 @@
     TESTINSN_un("vshl.i8 d15, d12, #3", d15, d12, i8, 5);
     TESTINSN_un("vshl.i8 d5, d12, #6", d5, d12, i32, (1 << 31) + 1);
 
+    fflush(stdout);
     printf("---- VNEG ----\n");
     TESTINSN_un("vneg.s32 d0, d1", d0, d1, i32, 0x73);
     TESTINSN_un("vneg.s16 d15, d4", d15, d4, i32, 0x73);
@@ -3195,6 +3366,7 @@
     TESTINSN_un("vneg.s16 d15, d4", d15, d4, i16, 0xef0b);
     TESTINSN_un("vneg.s8 d8, d7", d8, d7, i16, 0xde0c);
 
+    fflush(stdout);
     printf("---- VQNEG ----\n");
     TESTINSN_un_q("vqneg.s32 d0, d1", d0, d1, i32, 0x73);
     TESTINSN_un_q("vqneg.s32 d0, d1", d0, d1, i32, 1 << 31);
@@ -3209,6 +3381,7 @@
     TESTINSN_un_q("vqneg.s16 d15, d4", d15, d4, i16, 0xef0b);
     TESTINSN_un_q("vqneg.s8 d8, d7", d8, d7, i16, 0xde0c);
 
+    fflush(stdout);
     printf("---- VREV ----\n");
     TESTINSN_un("vrev64.8 d0, d1", d0, d1, i32, 0xaabbccdd);
     TESTINSN_un("vrev64.16 d10, d31", d10, d31, i32, 0xaabbccdd);
@@ -3217,6 +3390,7 @@
     TESTINSN_un("vrev32.16 d30, d15", d30, d15, i32, 0xaabbccdd);
     TESTINSN_un("vrev16.8 d0, d1", d0, d1, i32, 0xaabbccdd);
 
+    fflush(stdout);
     printf("---- VTBL ----\n");
     TESTINSN_tbl_1("vtbl.8 d0, {d2}, d1", d0, d1, i8, 0, d2, i32, 0x12345678);
     TESTINSN_tbl_1("vtbl.8 d0, {d31}, d1", d0, d1, i8, 0x07, d31, i32, 0x12345678);
@@ -3266,6 +3440,7 @@
     TESTINSN_tbl_4("vtbl.8 d30, {d2-d5}, d31", d30, d31, i32, 0x1d130f1a, d2, i32, 0x12345678, d3, i32, 0xa1a2a3a4, d4, i32, 0xcacbcccd, d5, i32, 0xfefdfcfb);
     TESTINSN_tbl_4("vtbl.8 d30, {d2-d5}, d31", d30, d31, i32, 0x17101c11, d2, i32, 0x12345678, d3, i32, 0xa1a2a3a4, d4, i32, 0xcacbcccd, d5, i32, 0xfefdfcfb);
 
+    fflush(stdout);
     printf("---- VTBX ----\n");
     TESTINSN_tbl_1("vtbx.8 d0, {d2}, d1", d0, d1, i8, 0, d2, i32, 0x12345678);
     TESTINSN_tbl_1("vtbx.8 d0, {d31}, d1", d0, d1, i8, 0x07, d31, i32, 0x12345678);
@@ -3315,6 +3490,7 @@
     TESTINSN_tbl_4("vtbx.8 d30, {d2-d5}, d31", d30, d31, i32, 0x1d130f1a, d2, i32, 0x12345678, d3, i32, 0xa1a2a3a4, d4, i32, 0xcacbcccd, d5, i32, 0xfefdfcfb);
     TESTINSN_tbl_4("vtbx.8 d30, {d2-d5}, d31", d30, d31, i32, 0x17101c11, d2, i32, 0x12345678, d3, i32, 0xa1a2a3a4, d4, i32, 0xcacbcccd, d5, i32, 0xfefdfcfb);
 
+    fflush(stdout);
     printf("---- VPMAX (integer) ----\n");
     TESTINSN_bin("vpmax.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 121);
     TESTINSN_bin("vpmax.s32 d0, d1, d2", d0, d1, i32, 250, d2, i32, 121);
@@ -3347,6 +3523,7 @@
     TESTINSN_bin("vpmax.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 4, d2, i32, (1 << 31) + 2);
     TESTINSN_bin("vpmax.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VPMIN (integer) ----\n");
     TESTINSN_bin("vpmin.s32 d0, d1, d2", d0, d1, i32, 25, d2, i32, 121);
     TESTINSN_bin("vpmin.s32 d0, d1, d2", d0, d1, i32, 250, d2, i32, 121);
@@ -3379,6 +3556,7 @@
     TESTINSN_bin("vpmin.u32 d0, d1, d2", d0, d1, i32, (1 << 31) + 4, d2, i32, (1 << 31) + 2);
     TESTINSN_bin("vpmin.u32 d10, d11, d12", d10, d11, i32, 24, d12, i32, 120);
 
+    fflush(stdout);
     printf("---- VQRDMULH ----\n");
     TESTINSN_bin_q("vqrdmulh.s32 d0, d1, d2", d0, d1, i32, 24, d2, i32, 120);
     TESTINSN_bin_q("vqrdmulh.s32 d6, d7, d8", d6, d7, i32, 140, d8, i32, -120);
@@ -3395,6 +3573,7 @@
     TESTINSN_bin_q("vqrdmulh.s32 d10, d30, d31", d10, d30, i32, 1 << 30, d31, i32, 1 << 31); 
     TESTINSN_bin_q("vqrdmulh.s16 d10, d30, d31", d10, d30, i32, 1 << 31, d31, i32, 1 << 30);
 
+    fflush(stdout);
     printf("---- VQRDMULH (by scalar) ----\n");
     TESTINSN_bin_q("vqrdmulh.s32 d0, d1, d6[0]", d0, d1, i32, 24, d6, i32, 120);
     TESTINSN_bin_q("vqrdmulh.s32 d6, d7, d1[1]", d6, d7, i32, 140, d1, i32, -120);
@@ -3411,6 +3590,7 @@
     TESTINSN_bin_q("vqrdmulh.s32 d10, d14, d15[1]", d10, d14, i32, 1 << 30, d15, i32, 1 << 31);
     TESTINSN_bin_q("vqrdmulh.s16 d31, d14, d7[1]", d31, d14, i32, 1 << 31, d7, i32, 1 << 30);
 
+    fflush(stdout);
     printf("---- VADD (fp) ----\n");
     TESTINSN_bin("vadd.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin("vadd.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -3453,6 +3633,7 @@
     TESTINSN_bin("vadd.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vadd.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VSUB (fp) ----\n");
     TESTINSN_bin("vsub.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin("vsub.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -3495,6 +3676,7 @@
     TESTINSN_bin("vsub.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vsub.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VMUL (fp) ----\n");
     TESTINSN_bin("vmul.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin("vmul.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -3537,6 +3719,7 @@
     TESTINSN_bin("vmul.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vmul.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VMUL (fp by scalar) ----\n");
     TESTINSN_bin("vmul.f32 d0, d1, d4[0]", d0, d1, i32, f2u(24), d4, i32, f2u(120));
     TESTINSN_bin("vmul.f32 d31, d8, d7[1]", d31, d8, i32, f2u(140), d7, i32, f2u(-120));
@@ -3566,6 +3749,7 @@
     TESTINSN_bin("vmul.f32 d0, d1, d2[0]", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vmul.f32 d0, d1, d2[0]", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VMLA (fp) ----\n");
     TESTINSN_bin_f("vmla.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin_f("vmla.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -3608,6 +3792,7 @@
     TESTINSN_bin_f("vmla.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin_f("vmla.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VMLA (fp by scalar) ----\n");
     TESTINSN_bin_f("vmla.f32 d0, d1, d4[0]", d0, d1, i32, f2u(24), d4, i32, f2u(120));
     TESTINSN_bin_f("vmla.f32 d31, d8, d7[1]", d31, d8, i32, f2u(140), d7, i32, f2u(-120));
@@ -3637,6 +3822,7 @@
     TESTINSN_bin_f("vmla.f32 d0, d1, d2[0]", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin_f("vmla.f32 d0, d1, d2[0]", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VMLS (fp) ----\n");
     TESTINSN_bin_f("vmls.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin_f("vmls.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -3679,6 +3865,7 @@
     TESTINSN_bin_f("vmls.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin_f("vmls.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VMLS (fp by scalar) ----\n");
     TESTINSN_bin_f("vmls.f32 d0, d1, d4[0]", d0, d1, i32, f2u(24), d4, i32, f2u(120));
     TESTINSN_bin_f("vmls.f32 d31, d8, d7[1]", d31, d8, i32, f2u(140), d7, i32, f2u(-120));
@@ -3708,6 +3895,7 @@
     TESTINSN_bin_f("vmls.f32 d0, d1, d2[0]", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin_f("vmls.f32 d0, d1, d2[0]", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VABD (fp) ----\n");
     TESTINSN_bin("vabd.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin("vabd.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -3730,6 +3918,7 @@
     TESTINSN_bin("vabd.f32 d10, d13, d15", d10, d13, i32, f2u(278456.45), d15, i32, f2u(8756.0076));
     TESTINSN_bin("vabd.f32 d0, d1, d2", d0, d1, i32, f2u(876988654), d2, i32, f2u(1224808797));
 
+    fflush(stdout);
     printf("---- VPADD (fp) ----\n");
     TESTINSN_bin("vpadd.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin("vpadd.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -3772,6 +3961,7 @@
     TESTINSN_bin("vpadd.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vpadd.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VCVT (integer <-> fp) ----\n");
     TESTINSN_un("vcvt.u32.f32 d0, d1", d0, d1, i32, f2u(3.2));
     TESTINSN_un("vcvt.u32.f32 d10, d11", d10, d11, i32, f2u(3e22));
@@ -3805,6 +3995,7 @@
     TESTINSN_un("vcvt.s32.f32 d0, d1", d0, d1, i32, f2u(INFINITY));
     TESTINSN_un("vcvt.s32.f32 d0, d1", d0, d1, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VCVT (fixed <-> fp) ----\n");
     TESTINSN_un("vcvt.u32.f32 d0, d1, #3", d0, d1, i32, f2u(3.2));
     TESTINSN_un("vcvt.u32.f32 d10, d11, #1", d10, d11, i32, f2u(3e22));
@@ -3839,6 +4030,7 @@
     TESTINSN_un("vcvt.s32.f32 d0, d1, #3", d0, d1, i32, f2u(INFINITY));
     TESTINSN_un("vcvt.s32.f32 d0, d1, #3", d0, d1, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VMAX (fp) ----\n");
     TESTINSN_bin("vmax.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin("vmax.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -3887,6 +4079,7 @@
     TESTINSN_bin("vmax.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vmax.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VMIN (fp) ----\n");
     TESTINSN_bin("vmin.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin("vmin.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -3935,6 +4128,7 @@
     TESTINSN_bin("vmin.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vmin.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VPMAX (fp) ----\n");
     TESTINSN_bin("vpmax.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin("vpmax.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -3983,6 +4177,7 @@
     TESTINSN_bin("vpmax.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vpmax.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VPMIN (fp) ----\n");
     TESTINSN_bin("vpmin.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin("vpmin.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -4031,6 +4226,7 @@
     TESTINSN_bin("vpmin.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vpmin.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VRECPE ----\n");
     TESTINSN_un("vrecpe.u32 d0, d1", d0, d1, i32, f2u(3.2));
     TESTINSN_un("vrecpe.u32 d0, d1", d0, d1, i32, f2u(-653.2));
@@ -4062,6 +4258,7 @@
     TESTINSN_un("vrecpe.f32 d0, d1", d0, d1, i32, f2u(INFINITY));
     TESTINSN_un("vrecpe.f32 d0, d1", d0, d1, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VRECPS ----\n");
     TESTINSN_bin("vrecps.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin("vrecps.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -4104,6 +4301,7 @@
     TESTINSN_bin("vrecps.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vrecps.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VABS (fp) ----\n");
     TESTINSN_un("vabs.f32 d0, d1", d0, d1, i32, f2u(3.2));
     TESTINSN_un("vabs.f32 d10, d11", d10, d11, i32, f2u(3e22));
@@ -4134,6 +4332,7 @@
     TESTINSN_un("vabs.f32 d0, d1", d0, d1, i32, f2u(INFINITY));
     TESTINSN_un("vabs.f32 d0, d1", d0, d1, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VCGT (fp) ----\n");
     TESTINSN_bin("vcgt.f32 d0, d1, d2", d0, d1, i32, f2u(0.5), d2, i32, f2u(-0.5));
     TESTINSN_bin("vcgt.f32 d2, d15, d12", d2, d15, i32, f2u(-0.53), d12, i32, f2u(0.52));
@@ -4185,6 +4384,7 @@
     TESTINSN_bin("vcgt.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vcgt.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VCGE (fp) ----\n");
     TESTINSN_bin("vcge.f32 d0, d1, d2", d0, d1, i32, f2u(0.5), d2, i32, f2u(-0.5));
     TESTINSN_bin("vcge.f32 d2, d15, d12", d2, d15, i32, f2u(-0.53), d12, i32, f2u(0.52));
@@ -4236,6 +4436,7 @@
     TESTINSN_bin("vcge.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vcge.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VACGT (fp) ----\n");
     TESTINSN_bin("vacgt.f32 d0, d1, d2", d0, d1, i32, f2u(0.5), d2, i32, f2u(-0.5));
     TESTINSN_bin("vacgt.f32 d2, d15, d12", d2, d15, i32, f2u(-0.53), d12, i32, f2u(0.52));
@@ -4287,6 +4488,7 @@
     TESTINSN_bin("vacgt.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vacgt.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VACGE (fp) ----\n");
     TESTINSN_bin("vacge.f32 d0, d1, d2", d0, d1, i32, f2u(0.5), d2, i32, f2u(-0.5));
     TESTINSN_bin("vacge.f32 d2, d15, d12", d2, d15, i32, f2u(-0.53), d12, i32, f2u(0.52));
@@ -4338,6 +4540,7 @@
     TESTINSN_bin("vacge.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vacge.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VCEQ (fp) ----\n");
     TESTINSN_bin("vceq.f32 d0, d1, d2", d0, d1, i32, f2u(0.5), d2, i32, f2u(-0.5));
     TESTINSN_bin("vceq.f32 d2, d15, d12", d2, d15, i32, f2u(-0.53), d12, i32, f2u(0.52));
@@ -4389,6 +4592,7 @@
     TESTINSN_bin("vceq.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vceq.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VCEQ (fp) #0 ----\n");
     TESTINSN_un("vceq.f32 d0, d1, #0", d0, d1, i32, 0x01000000);
     TESTINSN_un("vceq.f32 d0, d1, #0", d0, d1, i32, 0x1);
@@ -4401,6 +4605,7 @@
     TESTINSN_un("vceq.f32 d0, d1, #0", d0, d1, i32, f2u(INFINITY));
     TESTINSN_un("vceq.f32 d0, d1, #0", d0, d1, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VCGT (fp) #0 ----\n");
     TESTINSN_un("vcgt.f32 d0, d1, #0", d0, d1, i32, 0x01000000);
     TESTINSN_un("vcgt.f32 d0, d1, #0", d0, d1, i32, 0x1);
@@ -4413,6 +4618,7 @@
     TESTINSN_un("vcgt.f32 d0, d1, #0", d0, d1, i32, f2u(INFINITY));
     TESTINSN_un("vcgt.f32 d0, d1, #0", d0, d1, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VCLT (fp) #0 ----\n");
     TESTINSN_un("vclt.f32 d0, d1, #0", d0, d1, i32, 0x01000000);
     TESTINSN_un("vclt.f32 d0, d1, #0", d0, d1, i32, 0x1);
@@ -4425,6 +4631,7 @@
     TESTINSN_un("vclt.f32 d0, d1, #0", d0, d1, i32, f2u(INFINITY));
     TESTINSN_un("vclt.f32 d0, d1, #0", d0, d1, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VCGE (fp) #0 ----\n");
     TESTINSN_un("vcge.f32 d0, d1, #0", d0, d1, i32, 0x01000000);
     TESTINSN_un("vcge.f32 d0, d1, #0", d0, d1, i32, 0x1);
@@ -4437,6 +4644,7 @@
     TESTINSN_un("vcle.f32 d0, d1, #0", d0, d1, i32, f2u(INFINITY));
     TESTINSN_un("vcle.f32 d0, d1, #0", d0, d1, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VCLE (fp) #0 ----\n");
     TESTINSN_un("vcle.f32 d0, d1, #0", d0, d1, i32, 0x01000000);
     TESTINSN_un("vcle.f32 d0, d1, #0", d0, d1, i32, 0x1);
@@ -4449,6 +4657,7 @@
     TESTINSN_un("vcle.f32 d0, d1, #0", d0, d1, i32, f2u(INFINITY));
     TESTINSN_un("vcle.f32 d0, d1, #0", d0, d1, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VNEG (fp) ----\n");
     TESTINSN_un("vneg.f32 d0, d1", d0, d1, i32, 0x01000000);
     TESTINSN_un("vneg.f32 d0, d1", d0, d1, i32, 0x1);
@@ -4461,6 +4670,7 @@
     TESTINSN_un("vneg.f32 d0, d1", d0, d1, i32, f2u(INFINITY));
     TESTINSN_un("vneg.f32 d0, d1", d0, d1, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VRSQRTS ----\n");
     TESTINSN_bin("vrsqrts.f32 d0, d5, d2", d0, d5, i32, f2u(23.04), d2, i32, f2u(-45.5687));
     TESTINSN_bin("vrsqrts.f32 d3, d4, d5", d3, d4, i32, f2u(-347856.475), d5, i32, f2u(1346));
@@ -4503,6 +4713,7 @@
     TESTINSN_bin("vrsqrts.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(INFINITY));
     TESTINSN_bin("vrsqrts.f32 d0, d1, d2", d0, d1, i32, f2u(-INFINITY), d2, i32, f2u(-INFINITY));
 
+    fflush(stdout);
     printf("---- VRSQRTE (fp) ----\n");
     TESTINSN_un("vrsqrte.f32 d0, d1", d0, d1, i32, f2u(3.2));
     TESTINSN_un("vrsqrte.f32 d10, d11", d10, d11, i32, f2u(3e22));
diff --git a/none/tests/arm/neon64.stdout.exp b/none/tests/arm/neon64.stdout.exp
index f238063..21ab6b7 100644
--- a/none/tests/arm/neon64.stdout.exp
+++ b/none/tests/arm/neon64.stdout.exp
@@ -46,409 +46,409 @@
 vmvn.i64 d15, #0xFF0000FF00FFFF00 :: Qd 0x00ffff00 0xff0000ff
 ----- VORR (immediate) -----
 vorr.i32 d0, #0x7 :: Qd 0x55555557 0x55555557
-vorr.i32 d0, #0x7 :: Qd 0x131b1a1f 0x121f1e1f
+vorr.i32 d0, #0x7 :: Qd 0x07060507 0x03020107
 vorr.i16 d2, #0x7 :: Qd 0x55575557 0x55575557
-vorr.i16 d2, #0x7 :: Qd 0x131f1a1f 0x121f1e1f
+vorr.i16 d2, #0x7 :: Qd 0x07070507 0x03070107
 vorr.i32 d8, #0x700 :: Qd 0x55555755 0x55555755
-vorr.i32 d8, #0x700 :: Qd 0x131b1f1b 0x121f1f1f
+vorr.i32 d8, #0x700 :: Qd 0x07060704 0x03020700
 vorr.i16 d6, #0x700 :: Qd 0x57555755 0x57555755
-vorr.i16 d6, #0x700 :: Qd 0x171b1f1b 0x171f1f1f
+vorr.i16 d6, #0x700 :: Qd 0x07060704 0x07020700
 vorr.i32 d14, #0x70000 :: Qd 0x55575555 0x55575555
-vorr.i32 d14, #0x70000 :: Qd 0x131f1a1b 0x121f1e1f
+vorr.i32 d14, #0x70000 :: Qd 0x07070504 0x03070100
 vorr.i32 d15, #0x7000000 :: Qd 0x57555555 0x57555555
-vorr.i32 d15, #0x7000000 :: Qd 0x171b1a1b 0x171f1e1f
+vorr.i32 d15, #0x7000000 :: Qd 0x07060504 0x07020100
 ----- VBIC (immediate) -----
 vbic.i32 d0, #0x7 :: Qd 0x55555550 0x55555550
-vbic.i32 d0, #0x7 :: Qd 0x131b1a18 0x121f1e18
+vbic.i32 d0, #0x7 :: Qd 0x07060500 0x03020100
 vbic.i16 d3, #0x7 :: Qd 0x55505550 0x55505550
-vbic.i16 d3, #0x7 :: Qd 0x13181a18 0x12181e18
+vbic.i16 d3, #0x7 :: Qd 0x07000500 0x03000100
 vbic.i32 d5, #0x700 :: Qd 0x55555055 0x55555055
-vbic.i32 d5, #0x700 :: Qd 0x131b181b 0x121f181f
+vbic.i32 d5, #0x700 :: Qd 0x07060004 0x03020000
 vbic.i16 d8, #0x700 :: Qd 0x50555055 0x50555055
-vbic.i16 d8, #0x700 :: Qd 0x101b181b 0x101f181f
+vbic.i16 d8, #0x700 :: Qd 0x00060004 0x00020000
 vbic.i32 d10, #0x70000 :: Qd 0x55505555 0x55505555
-vbic.i32 d10, #0x70000 :: Qd 0x13181a1b 0x12181e1f
+vbic.i32 d10, #0x70000 :: Qd 0x07000504 0x03000100
 vbic.i32 d15, #0x7000000 :: Qd 0x50555555 0x50555555
-vbic.i32 d15, #0x7000000 :: Qd 0x101b1a1b 0x101f1e1f
+vbic.i32 d15, #0x7000000 :: Qd 0x00060504 0x00020100
 ---- VMVN (register) ----
 vmvn d0, d1 :: Qd 0xffffffe7 0xffffffe7  Qm (i32)0x00000018
-vmvn d0, d1 :: Qd 0xeae2e6e2 0xebe3e0e3  Qm (i32)0x00000018
+vmvn d0, d1 :: Qd 0xf0f1f2f3 0xf4f5f6f7  Qm (i32)0x00000018
 vmvn d10, d15 :: Qd 0xffffffe7 0xffffffe7  Qm (i32)0x00000018
-vmvn d10, d15 :: Qd 0xeae2e6e2 0xebe3e0e3  Qm (i32)0x00000018
+vmvn d10, d15 :: Qd 0xf0f1f2f3 0xf4f5f6f7  Qm (i32)0x00000018
 vmvn d0, d14 :: Qd 0xffffffe7 0xffffffe7  Qm (i32)0x00000018
-vmvn d0, d14 :: Qd 0xeae2e6e2 0xebe3e0e3  Qm (i32)0x00000018
+vmvn d0, d14 :: Qd 0xf0f1f2f3 0xf4f5f6f7  Qm (i32)0x00000018
 ---- VMOV (register) ----
 vmov d0, d1 :: Qd 0x00000018 0x00000018  Qm (i32)0x00000018
-vmov d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x00000018
+vmov d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x00000018
 vmov d10, d15 :: Qd 0x00000018 0x00000018  Qm (i32)0x00000018
-vmov d10, d15 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x00000018
+vmov d10, d15 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x00000018
 vmov d0, d14 :: Qd 0x00000018 0x00000018  Qm (i32)0x00000018
-vmov d0, d14 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x00000018
+vmov d0, d14 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x00000018
 ---- VDUP (ARM core register) (tested indirectly) ----
 vmov d0, d1 :: Qd 0x07070707 0x07070707  Qm (i8)0x00000007
-vmov d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i8)0x00000007
+vmov d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i8)0x00000007
 vmov d10, d11 :: Qd 0x00070007 0x00070007  Qm (i16)0x00000007
-vmov d10, d11 :: Qd 0x151d191d 0x141c1f1c  Qm (i16)0x00000007
+vmov d10, d11 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i16)0x00000007
 vmov d0, d15 :: Qd 0x00000007 0x00000007  Qm (i32)0x00000007
-vmov d0, d15 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x00000007
+vmov d0, d15 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x00000007
 ---- VADD ----
 vadd.i32 d0, d1, d2 :: Qd 0x00000090 0x00000090  Qm (i32)0x00000018  Qn (i32)0x00000078
-vadd.i32 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x00000018  Qn (i32)0x00000078
+vadd.i32 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x00000018  Qn (i32)0x00000078
 vadd.i64 d0, d1, d2 :: Qd 0x00000104 0x00000104  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vadd.i64 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vadd.i64 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vadd.i32 d0, d1, d2 :: Qd 0x00000104 0x00000104  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vadd.i32 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vadd.i32 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vadd.i16 d0, d1, d2 :: Qd 0x00000104 0x00000104  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vadd.i16 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vadd.i16 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vadd.i8 d0, d1, d2 :: Qd 0x00000004 0x00000004  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vadd.i8 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vadd.i8 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vadd.i8 d0, d1, d2 :: Qd 0x00000003 0x00000003  Qm (i32)0x80000001  Qn (i32)0x80000002
-vadd.i8 d0, d1, d2 :: Qd 0x931b1a1d 0x921f1e21  Qm (i32)0x80000001  Qn (i32)0x80000002
+vadd.i8 d0, d1, d2 :: Qd 0x87060506 0x83020102  Qm (i32)0x80000001  Qn (i32)0x80000002
 vadd.i16 d0, d1, d2 :: Qd 0x00000003 0x00000003  Qm (i32)0x80000001  Qn (i32)0x80000002
-vadd.i16 d0, d1, d2 :: Qd 0x931b1a1d 0x921f1e21  Qm (i32)0x80000001  Qn (i32)0x80000002
+vadd.i16 d0, d1, d2 :: Qd 0x87060506 0x83020102  Qm (i32)0x80000001  Qn (i32)0x80000002
 vadd.i32 d0, d1, d2 :: Qd 0x00000003 0x00000003  Qm (i32)0x80000001  Qn (i32)0x80000002
-vadd.i32 d0, d1, d2 :: Qd 0x931b1a1d 0x921f1e21  Qm (i32)0x80000001  Qn (i32)0x80000002
+vadd.i32 d0, d1, d2 :: Qd 0x87060506 0x83020102  Qm (i32)0x80000001  Qn (i32)0x80000002
 vadd.i64 d0, d1, d2 :: Qd 0x00000004 0x00000003  Qm (i32)0x80000001  Qn (i32)0x80000002
-vadd.i64 d0, d1, d2 :: Qd 0x931b1a1d 0x921f1e21  Qm (i32)0x80000001  Qn (i32)0x80000002
+vadd.i64 d0, d1, d2 :: Qd 0x87060506 0x83020102  Qm (i32)0x80000001  Qn (i32)0x80000002
 vadd.i32 d10, d11, d12 :: Qd 0x00000090 0x00000090  Qm (i32)0x00000018  Qn (i32)0x00000078
-vadd.i32 d10, d11, d12 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x00000018  Qn (i32)0x00000078
+vadd.i32 d10, d11, d12 :: Qd 0x0706057c 0x03020178  Qm (i32)0x00000018  Qn (i32)0x00000078
 vadd.i64 d13, d14, d15 :: Qd 0x00000104 0x00000104  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vadd.i64 d13, d14, d15 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vadd.i64 d13, d14, d15 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078
 ---- VSUB ----
 vsub.i32 d0, d1, d2 :: Qd 0xffffffa0 0xffffffa0  Qm (i32)0x00000018  Qn (i32)0x00000078
-vsub.i32 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x00000018  Qn (i32)0x00000078
+vsub.i32 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x00000018  Qn (i32)0x00000078
 vsub.i64 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vsub.i64 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vsub.i64 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vsub.i32 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vsub.i32 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vsub.i32 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vsub.i16 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vsub.i16 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vsub.i16 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vsub.i8 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vsub.i8 d0, d1, d2 :: Qd 0x131b1aa3 0x121f1ea7  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vsub.i8 d0, d1, d2 :: Qd 0x0706058c 0x03020188  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vsub.i8 d0, d1, d2 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x80000001  Qn (i32)0x80000002
-vsub.i8 d0, d1, d2 :: Qd 0x931b1a19 0x921f1e1d  Qm (i32)0x80000001  Qn (i32)0x80000002
+vsub.i8 d0, d1, d2 :: Qd 0x87060502 0x830201fe  Qm (i32)0x80000001  Qn (i32)0x80000002
 vsub.i16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000001  Qn (i32)0x80000002
-vsub.i16 d0, d1, d2 :: Qd 0x931b1a19 0x921f1e1d  Qm (i32)0x80000001  Qn (i32)0x80000002
+vsub.i16 d0, d1, d2 :: Qd 0x87060502 0x830200fe  Qm (i32)0x80000001  Qn (i32)0x80000002
 vsub.i32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000002
-vsub.i32 d0, d1, d2 :: Qd 0x931b1a19 0x921f1e1d  Qm (i32)0x80000001  Qn (i32)0x80000002
+vsub.i32 d0, d1, d2 :: Qd 0x87060502 0x830200fe  Qm (i32)0x80000001  Qn (i32)0x80000002
 vsub.i64 d0, d1, d2 :: Qd 0xfffffffe 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000002
-vsub.i64 d0, d1, d2 :: Qd 0x931b1a18 0x921f1e1d  Qm (i32)0x80000001  Qn (i32)0x80000002
+vsub.i64 d0, d1, d2 :: Qd 0x87060501 0x830200fe  Qm (i32)0x80000001  Qn (i32)0x80000002
 vsub.i32 d10, d11, d12 :: Qd 0xffffffa0 0xffffffa0  Qm (i32)0x00000018  Qn (i32)0x00000078
-vsub.i32 d10, d11, d12 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x00000018  Qn (i32)0x00000078
+vsub.i32 d10, d11, d12 :: Qd 0x0706048c 0x03020088  Qm (i32)0x00000018  Qn (i32)0x00000078
 vsub.i64 d13, d14, d15 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vsub.i64 d13, d14, d15 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vsub.i64 d13, d14, d15 :: Qd 0x0706048c 0x03020088  Qm (i32)0x0000008c  Qn (i32)0x00000078
 ---- VAND ----
 vand d0, d1, d2 :: Qd 0x00240024 0x00240024  Qm (i8)0x00000024  Qn (i16)0x00000077
-vand d0, d1, d2 :: Qd 0x00130013 0x00170017  Qm (i8)0x00000024  Qn (i16)0x00000077
+vand d0, d1, d2 :: Qd 0x00060004 0x00020000  Qm (i8)0x00000024  Qn (i16)0x00000077
 vand d4, d6, d5 :: Qd 0x00570057 0x00570057  Qm (i8)0x000000ff  Qn (i16)0x00000057
-vand d4, d6, d5 :: Qd 0x00130013 0x00170017  Qm (i8)0x000000ff  Qn (i16)0x00000057
+vand d4, d6, d5 :: Qd 0x00060004 0x00020000  Qm (i8)0x000000ff  Qn (i16)0x00000057
 vand d10, d11, d12 :: Qd 0xecececec 0xecececec  Qm (i8)0x000000fe  Qn (i8)0x000000ed
-vand d10, d11, d12 :: Qd 0x01090809 0x000d0c0d  Qm (i8)0x000000fe  Qn (i8)0x000000ed
+vand d10, d11, d12 :: Qd 0x05040504 0x01000100  Qm (i8)0x000000fe  Qn (i8)0x000000ed
 vand d15, d15, d15 :: Qd 0xffffffff 0xffffffff  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 vand d15, d15, d15 :: Qd 0xffffffff 0xffffffff  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 ---- VBIC ----
 vbic d0, d1, d2 :: Qd 0x24002400 0x24002400  Qm (i8)0x00000024  Qn (i16)0x00000077
-vbic d0, d1, d2 :: Qd 0x13081a08 0x12081e08  Qm (i8)0x00000024  Qn (i16)0x00000077
+vbic d0, d1, d2 :: Qd 0x07000500 0x03000100  Qm (i8)0x00000024  Qn (i16)0x00000077
 vbic d4, d6, d5 :: Qd 0xffa8ffa8 0xffa8ffa8  Qm (i8)0x000000ff  Qn (i16)0x00000057
-vbic d4, d6, d5 :: Qd 0x13081a08 0x12081e08  Qm (i8)0x000000ff  Qn (i16)0x00000057
+vbic d4, d6, d5 :: Qd 0x07000500 0x03000100  Qm (i8)0x000000ff  Qn (i16)0x00000057
 vbic d10, d11, d12 :: Qd 0x12121212 0x12121212  Qm (i8)0x000000fe  Qn (i8)0x000000ed
-vbic d10, d11, d12 :: Qd 0x12121212 0x12121212  Qm (i8)0x000000fe  Qn (i8)0x000000ed
+vbic d10, d11, d12 :: Qd 0x02020000 0x02020000  Qm (i8)0x000000fe  Qn (i8)0x000000ed
 vbic d15, d15, d15 :: Qd 0x00000000 0x00000000  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 vbic d15, d15, d15 :: Qd 0x00000000 0x00000000  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 ---- VORR ----
 vorr d0, d1, d2 :: Qd 0x24772477 0x24772477  Qm (i8)0x00000024  Qn (i16)0x00000073
-vorr d0, d1, d2 :: Qd 0x137b1a7b 0x127f1e7f  Qm (i8)0x00000024  Qn (i16)0x00000073
+vorr d0, d1, d2 :: Qd 0x07770577 0x03730173  Qm (i8)0x00000024  Qn (i16)0x00000073
 vorr d7, d3, d0 :: Qd 0x24ff24ff 0x24ff24ff  Qm (i8)0x00000024  Qn (i16)0x000000ff
-vorr d7, d3, d0 :: Qd 0x13ff1aff 0x12ff1eff  Qm (i8)0x00000024  Qn (i16)0x000000ff
+vorr d7, d3, d0 :: Qd 0x07ff05ff 0x03ff01ff  Qm (i8)0x00000024  Qn (i16)0x000000ff
 vorr d4, d4, d4 :: Qd 0x00ff00ff 0x00ff00ff  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 vorr d4, d4, d4 :: Qd 0x00ff00ff 0x00ff00ff  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 vorr d2, d3, d15 :: Qd 0x0000003f 0x0000003f  Qm (i32)0x00000024  Qn (i32)0x0000001f
-vorr d2, d3, d15 :: Qd 0x131b1a1f 0x121f1e1f  Qm (i32)0x00000024  Qn (i32)0x0000001f
+vorr d2, d3, d15 :: Qd 0x0706051f 0x0302011f  Qm (i32)0x00000024  Qn (i32)0x0000001f
 ---- VORN ----
 vorn d0, d1, d2 :: Qd 0xffacffac 0xffacffac  Qm (i8)0x00000024  Qn (i16)0x00000073
-vorn d0, d1, d2 :: Qd 0xff9fff9f 0xff9fff9f  Qm (i8)0x00000024  Qn (i16)0x00000073
+vorn d0, d1, d2 :: Qd 0xff8eff8c 0xff8eff8c  Qm (i8)0x00000024  Qn (i16)0x00000073
 vorn d7, d3, d0 :: Qd 0xff24ff24 0xff24ff24  Qm (i8)0x00000024  Qn (i16)0x000000ff
-vorn d7, d3, d0 :: Qd 0xff1bff1b 0xff1fff1f  Qm (i8)0x00000024  Qn (i16)0x000000ff
+vorn d7, d3, d0 :: Qd 0xff06ff04 0xff02ff00  Qm (i8)0x00000024  Qn (i16)0x000000ff
 vorn d4, d4, d4 :: Qd 0xffffffff 0xffffffff  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 vorn d4, d4, d4 :: Qd 0xffffffff 0xffffffff  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 vorn d2, d3, d15 :: Qd 0xffffffe4 0xffffffe4  Qm (i32)0x00000024  Qn (i32)0x0000001f
-vorn d2, d3, d15 :: Qd 0xfffffffb 0xffffffff  Qm (i32)0x00000024  Qn (i32)0x0000001f
+vorn d2, d3, d15 :: Qd 0xffffffe4 0xffffffe0  Qm (i32)0x00000024  Qn (i32)0x0000001f
 ---- VEOR ----
 veor d0, d1, d2 :: Qd 0x24532453 0x24532453  Qm (i8)0x00000024  Qn (i16)0x00000077
-veor d0, d1, d2 :: Qd 0x136c1a6c 0x12681e68  Qm (i8)0x00000024  Qn (i16)0x00000077
+veor d0, d1, d2 :: Qd 0x07710573 0x03750177  Qm (i8)0x00000024  Qn (i16)0x00000077
 veor d4, d6, d5 :: Qd 0xffa8ffa8 0xffa8ffa8  Qm (i8)0x000000ff  Qn (i16)0x00000057
-veor d4, d6, d5 :: Qd 0x134c1a4c 0x12481e48  Qm (i8)0x000000ff  Qn (i16)0x00000057
+veor d4, d6, d5 :: Qd 0x07510553 0x03550157  Qm (i8)0x000000ff  Qn (i16)0x00000057
 veor d10, d11, d12 :: Qd 0x13131313 0x13131313  Qm (i8)0x000000fe  Qn (i8)0x000000ed
-veor d10, d11, d12 :: Qd 0xfef6f7f6 0xfff2f3f2  Qm (i8)0x000000fe  Qn (i8)0x000000ed
+veor d10, d11, d12 :: Qd 0xeaebe8e9 0xeeefeced  Qm (i8)0x000000fe  Qn (i8)0x000000ed
 veor d15, d15, d15 :: Qd 0x00000000 0x00000000  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 veor d15, d15, d15 :: Qd 0x00000000 0x00000000  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 veor d0, d1, d2 :: Qd 0x24572457 0x24572457  Qm (i8)0x00000024  Qn (i16)0x00000073
-veor d0, d1, d2 :: Qd 0x13681a68 0x126c1e6c  Qm (i8)0x00000024  Qn (i16)0x00000073
+veor d0, d1, d2 :: Qd 0x07750577 0x03710173  Qm (i8)0x00000024  Qn (i16)0x00000073
 veor d7, d3, d0 :: Qd 0x24db24db 0x24db24db  Qm (i8)0x00000024  Qn (i16)0x000000ff
-veor d7, d3, d0 :: Qd 0x13e41ae4 0x12e01ee0  Qm (i8)0x00000024  Qn (i16)0x000000ff
+veor d7, d3, d0 :: Qd 0x07f905fb 0x03fd01ff  Qm (i8)0x00000024  Qn (i16)0x000000ff
 veor d4, d4, d4 :: Qd 0x00000000 0x00000000  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 veor d4, d4, d4 :: Qd 0x00000000 0x00000000  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 veor d2, d3, d15 :: Qd 0x0000003b 0x0000003b  Qm (i32)0x00000024  Qn (i32)0x0000001f
-veor d2, d3, d15 :: Qd 0x131b1a04 0x121f1e00  Qm (i32)0x00000024  Qn (i32)0x0000001f
+veor d2, d3, d15 :: Qd 0x0706051b 0x0302011f  Qm (i32)0x00000024  Qn (i32)0x0000001f
 ---- VBSL ----
 vbsl d0, d1, d2 :: Qd 0x04260426 0x04260426  Qm (i8)0x00000024  Qn (i16)0x00000077
-vbsl d0, d1, d2 :: Qd 0x11331033 0x10371437  Qm (i8)0x00000024  Qn (i16)0x00000077
+vbsl d0, d1, d2 :: Qd 0x05260526 0x01220122  Qm (i8)0x00000024  Qn (i16)0x00000077
 vbsl d4, d6, d5 :: Qd 0x55575557 0x55575557  Qm (i8)0x000000ff  Qn (i16)0x00000057
-vbsl d4, d6, d5 :: Qd 0x11131013 0x10171417  Qm (i8)0x000000ff  Qn (i16)0x00000057
+vbsl d4, d6, d5 :: Qd 0x05060506 0x01020102  Qm (i8)0x000000ff  Qn (i16)0x00000057
 vbsl d10, d11, d12 :: Qd 0xfcfcfcfc 0xfcfcfcfc  Qm (i8)0x000000fe  Qn (i8)0x000000ed
-vbsl d10, d11, d12 :: Qd 0xb9b9b8b9 0xb8bdbcbd  Qm (i8)0x000000fe  Qn (i8)0x000000ed
+vbsl d10, d11, d12 :: Qd 0xadacadac 0xa9a8a9a8  Qm (i8)0x000000fe  Qn (i8)0x000000ed
 vbsl d15, d15, d15 :: Qd 0xffffffff 0xffffffff  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 vbsl d15, d15, d15 :: Qd 0xffffffff 0xffffffff  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 vbsl d0, d1, d2 :: Qd 0x04260426 0x04260426  Qm (i8)0x00000024  Qn (i16)0x00000073
-vbsl d0, d1, d2 :: Qd 0x11331033 0x10371437  Qm (i8)0x00000024  Qn (i16)0x00000073
+vbsl d0, d1, d2 :: Qd 0x05260526 0x01220122  Qm (i8)0x00000024  Qn (i16)0x00000073
 vbsl d7, d3, d0 :: Qd 0x04ae04ae 0x04ae04ae  Qm (i8)0x00000024  Qn (i16)0x000000ff
-vbsl d7, d3, d0 :: Qd 0x11bb10bb 0x10bf14bf  Qm (i8)0x00000024  Qn (i16)0x000000ff
+vbsl d7, d3, d0 :: Qd 0x05ae05ae 0x01aa01aa  Qm (i8)0x00000024  Qn (i16)0x000000ff
 vbsl d4, d4, d4 :: Qd 0x00ff00ff 0x00ff00ff  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 vbsl d4, d4, d4 :: Qd 0x00ff00ff 0x00ff00ff  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 vbsl d2, d3, d15 :: Qd 0x0000000e 0x0000000e  Qm (i32)0x00000024  Qn (i32)0x0000001f
-vbsl d2, d3, d15 :: Qd 0x1111101b 0x1015141f  Qm (i32)0x00000024  Qn (i32)0x0000001f
+vbsl d2, d3, d15 :: Qd 0x0504050e 0x0100010a  Qm (i32)0x00000024  Qn (i32)0x0000001f
 ---- VBIT ----
 vbit d0, d1, d2 :: Qd 0x55245524 0x55245524  Qm (i8)0x00000024  Qn (i16)0x00000077
-vbit d0, d1, d2 :: Qd 0x55135513 0x55175517  Qm (i8)0x00000024  Qn (i16)0x00000077
+vbit d0, d1, d2 :: Qd 0x55065504 0x55025500  Qm (i8)0x00000024  Qn (i16)0x00000077
 vbit d4, d6, d5 :: Qd 0x55575557 0x55575557  Qm (i8)0x000000ff  Qn (i16)0x00000057
-vbit d4, d6, d5 :: Qd 0x55135513 0x55175517  Qm (i8)0x000000ff  Qn (i16)0x00000057
+vbit d4, d6, d5 :: Qd 0x55065504 0x55025500  Qm (i8)0x000000ff  Qn (i16)0x00000057
 vbit d10, d11, d12 :: Qd 0xfcfcfcfc 0xfcfcfcfc  Qm (i8)0x000000fe  Qn (i8)0x000000ed
-vbit d10, d11, d12 :: Qd 0x11191819 0x101d1c1d  Qm (i8)0x000000fe  Qn (i8)0x000000ed
+vbit d10, d11, d12 :: Qd 0x15141514 0x11101110  Qm (i8)0x000000fe  Qn (i8)0x000000ed
 vbit d15, d15, d15 :: Qd 0xffffffff 0xffffffff  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 vbit d15, d15, d15 :: Qd 0xffffffff 0xffffffff  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 vbit d0, d1, d2 :: Qd 0x55245524 0x55245524  Qm (i8)0x00000024  Qn (i16)0x00000073
-vbit d0, d1, d2 :: Qd 0x55175517 0x55175517  Qm (i8)0x00000024  Qn (i16)0x00000073
+vbit d0, d1, d2 :: Qd 0x55065504 0x55065504  Qm (i8)0x00000024  Qn (i16)0x00000073
 vbit d7, d3, d0 :: Qd 0x55245524 0x55245524  Qm (i8)0x00000024  Qn (i16)0x000000ff
-vbit d7, d3, d0 :: Qd 0x551b551b 0x551f551f  Qm (i8)0x00000024  Qn (i16)0x000000ff
+vbit d7, d3, d0 :: Qd 0x55065504 0x55025500  Qm (i8)0x00000024  Qn (i16)0x000000ff
 vbit d4, d4, d4 :: Qd 0x00ff00ff 0x00ff00ff  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 vbit d4, d4, d4 :: Qd 0x00ff00ff 0x00ff00ff  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 vbit d2, d3, d15 :: Qd 0x55555544 0x55555544  Qm (i32)0x00000024  Qn (i32)0x0000001f
-vbit d2, d3, d15 :: Qd 0x5555555b 0x5555555f  Qm (i32)0x00000024  Qn (i32)0x0000001f
+vbit d2, d3, d15 :: Qd 0x55555544 0x55555540  Qm (i32)0x00000024  Qn (i32)0x0000001f
 ---- VBIF ----
 vbif d0, d1, d2 :: Qd 0x24552455 0x24552455  Qm (i8)0x00000024  Qn (i16)0x00000077
-vbif d0, d1, d2 :: Qd 0x135d1a5d 0x125d1e5d  Qm (i8)0x00000024  Qn (i16)0x00000077
+vbif d0, d1, d2 :: Qd 0x07550555 0x03550155  Qm (i8)0x00000024  Qn (i16)0x00000077
 vbif d4, d6, d5 :: Qd 0xfffdfffd 0xfffdfffd  Qm (i8)0x000000ff  Qn (i16)0x00000057
-vbif d4, d6, d5 :: Qd 0x135d1a5d 0x125d1e5d  Qm (i8)0x000000ff  Qn (i16)0x00000057
+vbif d4, d6, d5 :: Qd 0x07550555 0x03550155  Qm (i8)0x000000ff  Qn (i16)0x00000057
 vbif d10, d11, d12 :: Qd 0x57575757 0x57575757  Qm (i8)0x000000fe  Qn (i8)0x000000ed
-vbif d10, d11, d12 :: Qd 0x57575757 0x57575757  Qm (i8)0x000000fe  Qn (i8)0x000000ed
+vbif d10, d11, d12 :: Qd 0x47474545 0x47474545  Qm (i8)0x000000fe  Qn (i8)0x000000ed
 vbif d15, d15, d15 :: Qd 0xffffffff 0xffffffff  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 vbif d15, d15, d15 :: Qd 0xffffffff 0xffffffff  Qm (i8)0x000000ff  Qn (i8)0x000000ff
 vbif d0, d1, d2 :: Qd 0x24552455 0x24552455  Qm (i8)0x00000024  Qn (i16)0x00000073
-vbif d0, d1, d2 :: Qd 0x13591a59 0x125d1e5d  Qm (i8)0x00000024  Qn (i16)0x00000073
+vbif d0, d1, d2 :: Qd 0x07550555 0x03510151  Qm (i8)0x00000024  Qn (i16)0x00000073
 vbif d7, d3, d0 :: Qd 0x24552455 0x24552455  Qm (i8)0x00000024  Qn (i16)0x000000ff
-vbif d7, d3, d0 :: Qd 0x13551a55 0x12551e55  Qm (i8)0x00000024  Qn (i16)0x000000ff
+vbif d7, d3, d0 :: Qd 0x07550555 0x03550155  Qm (i8)0x00000024  Qn (i16)0x000000ff
 vbif d4, d4, d4 :: Qd 0x00ff00ff 0x00ff00ff  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 vbif d4, d4, d4 :: Qd 0x00ff00ff 0x00ff00ff  Qm (i16)0x000000ff  Qn (i16)0x000000ff
 vbif d2, d3, d15 :: Qd 0x00000035 0x00000035  Qm (i32)0x00000024  Qn (i32)0x0000001f
-vbif d2, d3, d15 :: Qd 0x131b1a15 0x121f1e15  Qm (i32)0x00000024  Qn (i32)0x0000001f
+vbif d2, d3, d15 :: Qd 0x07060515 0x03020115  Qm (i32)0x00000024  Qn (i32)0x0000001f
 ---- VEXT ----
 vext.8 d0, d1, d2, #0 :: Qd 0x77777777 0x77777777  Qm (i8)0x00000077  Qn (i8)0x000000ff
-vext.8 d0, d1, d2, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i8)0x00000077  Qn (i8)0x000000ff
+vext.8 d0, d1, d2, #0 :: Qd 0x07060504 0x03020100  Qm (i8)0x00000077  Qn (i8)0x000000ff
 vext.8 d0, d1, d2, #1 :: Qd 0xff777777 0x77777777  Qm (i8)0x00000077  Qn (i8)0x000000ff
-vext.8 d0, d1, d2, #1 :: Qd 0xff131b1a 0x1b121f1e  Qm (i8)0x00000077  Qn (i8)0x000000ff
+vext.8 d0, d1, d2, #1 :: Qd 0xff070605 0x04030201  Qm (i8)0x00000077  Qn (i8)0x000000ff
 vext.8 d0, d1, d2, #7 :: Qd 0xffffffff 0xffffff77  Qm (i8)0x00000077  Qn (i8)0x000000ff
-vext.8 d0, d1, d2, #7 :: Qd 0xffffffff 0xffffff13  Qm (i8)0x00000077  Qn (i8)0x000000ff
+vext.8 d0, d1, d2, #7 :: Qd 0xffffffff 0xffffff07  Qm (i8)0x00000077  Qn (i8)0x000000ff
 vext.8 d0, d1, d2, #6 :: Qd 0xffffffff 0xffff7777  Qm (i8)0x00000077  Qn (i8)0x000000ff
-vext.8 d0, d1, d2, #6 :: Qd 0xffffffff 0xffff131b  Qm (i8)0x00000077  Qn (i8)0x000000ff
+vext.8 d0, d1, d2, #6 :: Qd 0xffffffff 0xffff0706  Qm (i8)0x00000077  Qn (i8)0x000000ff
 vext.8 d10, d11, d12, #4 :: Qd 0xffffffff 0x77777777  Qm (i8)0x00000077  Qn (i8)0x000000ff
-vext.8 d10, d11, d12, #4 :: Qd 0xffffffff 0x131b1a1b  Qm (i8)0x00000077  Qn (i8)0x000000ff
+vext.8 d10, d11, d12, #4 :: Qd 0xffffffff 0x07060504  Qm (i8)0x00000077  Qn (i8)0x000000ff
 vext.8 d0, d5, d15, #5 :: Qd 0xffffffff 0xff777777  Qm (i8)0x00000077  Qn (i8)0x000000ff
-vext.8 d0, d5, d15, #5 :: Qd 0xffffffff 0xff131b1a  Qm (i8)0x00000077  Qn (i8)0x000000ff
+vext.8 d0, d5, d15, #5 :: Qd 0xffffffff 0xff070605  Qm (i8)0x00000077  Qn (i8)0x000000ff
 ---- VHADD ----
 vhadd.s32 d0, d1, d2 :: Qd 0x00000048 0x00000048  Qm (i32)0x00000018  Qn (i32)0x00000078
-vhadd.s32 d0, d1, d2 :: Qd 0x098d8d49 0x090f8f4b  Qm (i32)0x00000018  Qn (i32)0x00000078
+vhadd.s32 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x00000018  Qn (i32)0x00000078
 vhadd.s32 d0, d1, d2 :: Qd 0x00000082 0x00000082  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhadd.s32 d0, d1, d2 :: Qd 0x098d8d49 0x090f8f4b  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhadd.s32 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhadd.s16 d0, d1, d2 :: Qd 0x00000082 0x00000082  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhadd.s16 d0, d1, d2 :: Qd 0x098d0d49 0x090f0f4b  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhadd.s16 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhadd.s8 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhadd.s8 d0, d1, d2 :: Qd 0x090d0d49 0x090f0f4b  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhadd.s8 d0, d1, d2 :: Qd 0x0303023e 0x0101003c  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhadd.s8 d0, d1, d2 :: Qd 0x03030303 0x03030303  Qm (i8)0x0000008d  Qn (i8)0x00000079
-vhadd.s8 d0, d1, d2 :: Qd 0x464a494a 0x454c4b4c  Qm (i8)0x0000008d  Qn (i8)0x00000079
+vhadd.s8 d0, d1, d2 :: Qd 0x403f3f3e 0x3e3d3d3c  Qm (i8)0x0000008d  Qn (i8)0x00000079
 vhadd.s8 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhadd.s8 d0, d1, d2 :: Qd 0xc90d0d0e 0xc90f0f10  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhadd.s8 d0, d1, d2 :: Qd 0xc3030203 0xc1010001  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhadd.s16 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhadd.s16 d0, d1, d2 :: Qd 0xc98d0d0e 0xc90f0f10  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhadd.s16 d0, d1, d2 :: Qd 0xc3830283 0xc1810081  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhadd.s32 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhadd.s32 d0, d1, d2 :: Qd 0xc98d8d0e 0xc90f8f10  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhadd.s32 d0, d1, d2 :: Qd 0xc3830283 0xc1810081  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhadd.s32 d10, d11, d12 :: Qd 0x00000048 0x00000048  Qm (i32)0x00000018  Qn (i32)0x00000078
-vhadd.s32 d10, d11, d12 :: Qd 0x098d8d49 0x090f8f4b  Qm (i32)0x00000018  Qn (i32)0x00000078
+vhadd.s32 d10, d11, d12 :: Qd 0x038302be 0x018100bc  Qm (i32)0x00000018  Qn (i32)0x00000078
 vhadd.u32 d0, d1, d2 :: Qd 0x00000048 0x00000048  Qm (i32)0x00000018  Qn (i32)0x00000078
-vhadd.u32 d0, d1, d2 :: Qd 0x098d8d49 0x090f8f4b  Qm (i32)0x00000018  Qn (i32)0x00000078
+vhadd.u32 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x00000018  Qn (i32)0x00000078
 vhadd.u32 d0, d1, d2 :: Qd 0x00000082 0x00000082  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhadd.u32 d0, d1, d2 :: Qd 0x098d8d49 0x090f8f4b  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhadd.u32 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhadd.u16 d0, d1, d2 :: Qd 0x00000082 0x00000082  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhadd.u16 d0, d1, d2 :: Qd 0x098d0d49 0x090f0f4b  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhadd.u16 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhadd.u8 d0, d1, d2 :: Qd 0x00000082 0x00000082  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhadd.u8 d0, d1, d2 :: Qd 0x090d0d49 0x090f0f4b  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhadd.u8 d0, d1, d2 :: Qd 0x0303023e 0x0101003c  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhadd.u8 d0, d1, d2 :: Qd 0x83838383 0x83838383  Qm (i8)0x0000008d  Qn (i8)0x00000079
-vhadd.u8 d0, d1, d2 :: Qd 0x464a494a 0x454c4b4c  Qm (i8)0x0000008d  Qn (i8)0x00000079
+vhadd.u8 d0, d1, d2 :: Qd 0x403f3f3e 0x3e3d3d3c  Qm (i8)0x0000008d  Qn (i8)0x00000079
 vhadd.u8 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhadd.u8 d0, d1, d2 :: Qd 0x490d0d0e 0x490f0f10  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhadd.u8 d0, d1, d2 :: Qd 0x43030203 0x41010001  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhadd.u16 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhadd.u16 d0, d1, d2 :: Qd 0x498d0d0e 0x490f0f10  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhadd.u16 d0, d1, d2 :: Qd 0x43830283 0x41810081  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhadd.u32 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhadd.u32 d0, d1, d2 :: Qd 0x498d8d0e 0x490f8f10  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhadd.u32 d0, d1, d2 :: Qd 0x43830283 0x41810081  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhadd.u32 d10, d11, d12 :: Qd 0x00000048 0x00000048  Qm (i32)0x00000018  Qn (i32)0x00000078
-vhadd.u32 d10, d11, d12 :: Qd 0x098d8d49 0x090f8f4b  Qm (i32)0x00000018  Qn (i32)0x00000078
+vhadd.u32 d10, d11, d12 :: Qd 0x038302be 0x018100bc  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VHSUB ----
 vhsub.s32 d0, d1, d2 :: Qd 0xffffffd0 0xffffffd0  Qm (i32)0x00000018  Qn (i32)0x00000078
-vhsub.s32 d0, d1, d2 :: Qd 0x098d8cd1 0x090f8ed3  Qm (i32)0x00000018  Qn (i32)0x00000078
+vhsub.s32 d0, d1, d2 :: Qd 0x03830246 0x01810044  Qm (i32)0x00000018  Qn (i32)0x00000078
 vhsub.s32 d0, d1, d2 :: Qd 0x0000000a 0x0000000a  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhsub.s32 d0, d1, d2 :: Qd 0x098d8cd1 0x090f8ed3  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhsub.s32 d0, d1, d2 :: Qd 0x03830246 0x01810044  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhsub.s16 d0, d1, d2 :: Qd 0x0000000a 0x0000000a  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhsub.s16 d0, d1, d2 :: Qd 0x098d0cd1 0x090f0ed3  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhsub.s16 d0, d1, d2 :: Qd 0x03830246 0x01810044  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhsub.s8 d0, d1, d2 :: Qd 0x0000008a 0x0000008a  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhsub.s8 d0, d1, d2 :: Qd 0x090d0dd1 0x090f0fd3  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhsub.s8 d0, d1, d2 :: Qd 0x030302c6 0x010100c4  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhsub.s8 d0, d1, d2 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhsub.s8 d0, d1, d2 :: Qd 0x490d0d0c 0x490f0f0e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhsub.s8 d0, d1, d2 :: Qd 0x43030201 0x410100ff  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhsub.s16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhsub.s16 d0, d1, d2 :: Qd 0x498d0d0c 0x490f0f0e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhsub.s16 d0, d1, d2 :: Qd 0x43830281 0x4181007f  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhsub.s32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhsub.s32 d0, d1, d2 :: Qd 0x498d8d0c 0x490f8f0e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhsub.s32 d0, d1, d2 :: Qd 0x43830281 0x4181007f  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhsub.s32 d10, d11, d12 :: Qd 0xffffffd0 0xffffffd0  Qm (i32)0x00000018  Qn (i32)0x00000078
-vhsub.s32 d10, d11, d12 :: Qd 0x098d8cd1 0x090f8ed3  Qm (i32)0x00000018  Qn (i32)0x00000078
+vhsub.s32 d10, d11, d12 :: Qd 0x03830246 0x01810044  Qm (i32)0x00000018  Qn (i32)0x00000078
 vhsub.u32 d0, d1, d2 :: Qd 0xffffffd0 0xffffffd0  Qm (i32)0x00000018  Qn (i32)0x00000078
-vhsub.u32 d0, d1, d2 :: Qd 0x098d8cd1 0x090f8ed3  Qm (i32)0x00000018  Qn (i32)0x00000078
+vhsub.u32 d0, d1, d2 :: Qd 0x03830246 0x01810044  Qm (i32)0x00000018  Qn (i32)0x00000078
 vhsub.u32 d0, d1, d2 :: Qd 0x0000000a 0x0000000a  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhsub.u32 d0, d1, d2 :: Qd 0x098d8cd1 0x090f8ed3  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhsub.u32 d0, d1, d2 :: Qd 0x03830246 0x01810044  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhsub.u16 d0, d1, d2 :: Qd 0x0000000a 0x0000000a  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhsub.u16 d0, d1, d2 :: Qd 0x098d0cd1 0x090f0ed3  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhsub.u16 d0, d1, d2 :: Qd 0x03830246 0x01810044  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhsub.u8 d0, d1, d2 :: Qd 0x0000000a 0x0000000a  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vhsub.u8 d0, d1, d2 :: Qd 0x090d0dd1 0x090f0fd3  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vhsub.u8 d0, d1, d2 :: Qd 0x030302c6 0x010100c4  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vhsub.u8 d0, d1, d2 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhsub.u8 d0, d1, d2 :: Qd 0xc90d0d0c 0xc90f0f0e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhsub.u8 d0, d1, d2 :: Qd 0xc3030201 0xc10100ff  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhsub.u16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhsub.u16 d0, d1, d2 :: Qd 0xc98d0d0c 0xc90f0f0e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhsub.u16 d0, d1, d2 :: Qd 0xc3830281 0xc181007f  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhsub.u32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000002
-vhsub.u32 d0, d1, d2 :: Qd 0xc98d8d0c 0xc90f8f0e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vhsub.u32 d0, d1, d2 :: Qd 0xc3830281 0xc181007f  Qm (i32)0x80000001  Qn (i32)0x80000002
 vhsub.u32 d10, d11, d12 :: Qd 0xffffffd0 0xffffffd0  Qm (i32)0x00000018  Qn (i32)0x00000078
-vhsub.u32 d10, d11, d12 :: Qd 0x098d8cd1 0x090f8ed3  Qm (i32)0x00000018  Qn (i32)0x00000078
+vhsub.u32 d10, d11, d12 :: Qd 0x03830246 0x01810044  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VQADD ----
 vqadd.s32 d0, d1, d2 :: Qd 0x00000090 0x00000090  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqadd.s32 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqadd.s32 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqadd.s32 d0, d1, d2 :: Qd 0x00000104 0x00000104  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
-vqadd.s32 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
+vqadd.s32 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
 vqadd.s16 d0, d1, d2 :: Qd 0x00000104 0x00000104  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
-vqadd.s16 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
+vqadd.s16 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
 vqadd.s8 d0, d1, d2 :: Qd 0x00000004 0x00000004  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
-vqadd.s8 d0, d1, d2 :: Qd 0x131b1a7f 0x121f1e7f  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 08000000
+vqadd.s8 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
 vqadd.s8 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
-vqadd.s8 d0, d1, d2 :: Qd 0x931b1a1d 0x921f1e21  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqadd.s8 d0, d1, d2 :: Qd 0x87060506 0x83020102  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqadd.s16 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
-vqadd.s16 d0, d1, d2 :: Qd 0x931b1a1d 0x921f1e21  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqadd.s16 d0, d1, d2 :: Qd 0x87060506 0x83020102  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqadd.s32 d0, d1, d2 :: Qd 0x80000000 0x80000000  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
-vqadd.s32 d0, d1, d2 :: Qd 0x931b1a1d 0x921f1e21  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqadd.s32 d0, d1, d2 :: Qd 0x87060506 0x83020102  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqadd.s32 d10, d11, d12 :: Qd 0x00000090 0x00000090  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqadd.s32 d10, d11, d12 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqadd.s32 d10, d11, d12 :: Qd 0x0706057c 0x03020178  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqadd.u32 d0, d1, d2 :: Qd 0x00000090 0x00000090  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqadd.u32 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqadd.u32 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqadd.u32 d0, d1, d2 :: Qd 0x00000104 0x00000104  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
-vqadd.u32 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
+vqadd.u32 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
 vqadd.u16 d0, d1, d2 :: Qd 0x00000104 0x00000104  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
-vqadd.u16 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
+vqadd.u16 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
 vqadd.u8 d0, d1, d2 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 08000000
-vqadd.u8 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
+vqadd.u8 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
 vqadd.u8 d0, d1, d2 :: Qd 0xff000003 0xff000003  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
-vqadd.u8 d0, d1, d2 :: Qd 0x931b1a1d 0x921f1e21  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqadd.u8 d0, d1, d2 :: Qd 0x87060506 0x83020102  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqadd.u16 d0, d1, d2 :: Qd 0xffff0003 0xffff0003  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
-vqadd.u16 d0, d1, d2 :: Qd 0x931b1a1d 0x921f1e21  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqadd.u16 d0, d1, d2 :: Qd 0x87060506 0x83020102  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqadd.u32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
-vqadd.u32 d0, d1, d2 :: Qd 0x931b1a1d 0x921f1e21  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqadd.u32 d0, d1, d2 :: Qd 0x87060506 0x83020102  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqadd.u32 d10, d11, d12 :: Qd 0x00000090 0x00000090  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqadd.u32 d10, d11, d12 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqadd.u32 d10, d11, d12 :: Qd 0x0706057c 0x03020178  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 ---- VQSUB ----
 vqsub.s32 d0, d1, d2 :: Qd 0xffffffa0 0xffffffa0  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqsub.s32 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqsub.s32 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqsub.s32 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
-vqsub.s32 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
+vqsub.s32 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
 vqsub.s16 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
-vqsub.s16 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
+vqsub.s16 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
 vqsub.s8 d0, d1, d2 :: Qd 0x00000080 0x00000080  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 08000000
-vqsub.s8 d0, d1, d2 :: Qd 0x131b1aa3 0x121f1ea7  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
+vqsub.s8 d0, d1, d2 :: Qd 0x0706058c 0x03020188  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
 vqsub.s8 d0, d1, d2 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
-vqsub.s8 d0, d1, d2 :: Qd 0x7f1b1a19 0x7f1f1e1d  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
+vqsub.s8 d0, d1, d2 :: Qd 0x7f060502 0x7f0201fe  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
 vqsub.s16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
-vqsub.s16 d0, d1, d2 :: Qd 0x7fff1a19 0x7fff1e1d  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
+vqsub.s16 d0, d1, d2 :: Qd 0x7fff0502 0x7fff00fe  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
 vqsub.s32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqsub.s32 d0, d1, d2 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
 vqsub.s32 d10, d11, d12 :: Qd 0xffffffa0 0xffffffa0  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqsub.s32 d10, d11, d12 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqsub.s32 d10, d11, d12 :: Qd 0x0706048c 0x03020088  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqsub.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
-vqsub.u32 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqsub.u32 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqsub.u32 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
-vqsub.u32 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
+vqsub.u32 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
 vqsub.u16 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
-vqsub.u16 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
+vqsub.u16 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
 vqsub.u8 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 00000000
-vqsub.u8 d0, d1, d2 :: Qd 0x131b1a00 0x121f1e00  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 08000000
+vqsub.u8 d0, d1, d2 :: Qd 0x07060500 0x03020100  Qm (i32)0x0000008c  Qn (i32)0x00000078  fpscr: 08000000
 vqsub.u8 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
-vqsub.u8 d0, d1, d2 :: Qd 0x001b1a19 0x001f1e1d  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
+vqsub.u8 d0, d1, d2 :: Qd 0x00060502 0x00020100  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
 vqsub.u16 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
-vqsub.u16 d0, d1, d2 :: Qd 0x00001a19 0x00001e1d  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
+vqsub.u16 d0, d1, d2 :: Qd 0x00000502 0x000000fe  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
 vqsub.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
 vqsub.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 08000000
 vqsub.u32 d10, d11, d12 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
-vqsub.u32 d10, d11, d12 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqsub.u32 d10, d11, d12 :: Qd 0x0706048c 0x03020088  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 ---- VRHADD ----
 vrhadd.s32 d0, d1, d2 :: Qd 0x00000049 0x00000049  Qm (i32)0x00000019  Qn (i32)0x00000078
-vrhadd.s32 d0, d1, d2 :: Qd 0x098d8d4a 0x090f8f4c  Qm (i32)0x00000019  Qn (i32)0x00000078
+vrhadd.s32 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x00000019  Qn (i32)0x00000078
 vrhadd.s32 d0, d1, d2 :: Qd 0x00000049 0x00000049  Qm (i32)0x00000019  Qn (i32)0x00000079
-vrhadd.s32 d0, d1, d2 :: Qd 0x098d8d4a 0x090f8f4c  Qm (i32)0x00000019  Qn (i32)0x00000079
+vrhadd.s32 d0, d1, d2 :: Qd 0x038302bf 0x018100bd  Qm (i32)0x00000019  Qn (i32)0x00000079
 vrhadd.s32 d0, d1, d2 :: Qd 0x00000082 0x00000082  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vrhadd.s32 d0, d1, d2 :: Qd 0x098d8d4a 0x090f8f4c  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vrhadd.s32 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vrhadd.s16 d0, d1, d2 :: Qd 0x00000082 0x00000082  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vrhadd.s16 d0, d1, d2 :: Qd 0x098e0d4a 0x09100f4c  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vrhadd.s16 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vrhadd.s8 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vrhadd.s8 d0, d1, d2 :: Qd 0x0a0e0d4a 0x09100f4c  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vrhadd.s8 d0, d1, d2 :: Qd 0x0403033e 0x0201013c  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vrhadd.s8 d5, d7, d5 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vrhadd.s8 d5, d7, d5 :: Qd 0xca0e0d0f 0xc9100f11  Qm (i32)0x80000001  Qn (i32)0x80000002
+vrhadd.s8 d5, d7, d5 :: Qd 0xc4030303 0xc2010101  Qm (i32)0x80000001  Qn (i32)0x80000002
 vrhadd.s16 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vrhadd.s16 d0, d1, d2 :: Qd 0xc98e0d0f 0xc9100f11  Qm (i32)0x80000001  Qn (i32)0x80000002
+vrhadd.s16 d0, d1, d2 :: Qd 0xc3830283 0xc1810081  Qm (i32)0x80000001  Qn (i32)0x80000002
 vrhadd.s32 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vrhadd.s32 d0, d1, d2 :: Qd 0xc98d8d0f 0xc90f8f11  Qm (i32)0x80000001  Qn (i32)0x80000002
+vrhadd.s32 d0, d1, d2 :: Qd 0xc3830283 0xc1810081  Qm (i32)0x80000001  Qn (i32)0x80000002
 vrhadd.s8 d5, d7, d5 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vrhadd.s8 d5, d7, d5 :: Qd 0xca0e0d0f 0xc9100f11  Qm (i32)0x80000001  Qn (i32)0x80000003
+vrhadd.s8 d5, d7, d5 :: Qd 0xc4030304 0xc2010102  Qm (i32)0x80000001  Qn (i32)0x80000003
 vrhadd.s16 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vrhadd.s16 d0, d1, d2 :: Qd 0xc98e0d0f 0xc9100f11  Qm (i32)0x80000001  Qn (i32)0x80000003
+vrhadd.s16 d0, d1, d2 :: Qd 0xc3830284 0xc1810082  Qm (i32)0x80000001  Qn (i32)0x80000003
 vrhadd.s32 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vrhadd.s32 d0, d1, d2 :: Qd 0xc98d8d0f 0xc90f8f11  Qm (i32)0x80000001  Qn (i32)0x80000003
+vrhadd.s32 d0, d1, d2 :: Qd 0xc3830284 0xc1810082  Qm (i32)0x80000001  Qn (i32)0x80000003
 vrhadd.s8 d5, d7, d5 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000004  Qn (i32)0x80000002
-vrhadd.s8 d5, d7, d5 :: Qd 0xca0e0d0f 0xc9100f11  Qm (i32)0x80000004  Qn (i32)0x80000002
+vrhadd.s8 d5, d7, d5 :: Qd 0xc4030303 0xc2010101  Qm (i32)0x80000004  Qn (i32)0x80000002
 vrhadd.s16 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000004  Qn (i32)0x80000002
-vrhadd.s16 d0, d1, d2 :: Qd 0xc98e0d0f 0xc9100f11  Qm (i32)0x80000004  Qn (i32)0x80000002
+vrhadd.s16 d0, d1, d2 :: Qd 0xc3830283 0xc1810081  Qm (i32)0x80000004  Qn (i32)0x80000002
 vrhadd.s32 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000004  Qn (i32)0x80000002
-vrhadd.s32 d0, d1, d2 :: Qd 0xc98d8d0f 0xc90f8f11  Qm (i32)0x80000004  Qn (i32)0x80000002
+vrhadd.s32 d0, d1, d2 :: Qd 0xc3830283 0xc1810081  Qm (i32)0x80000004  Qn (i32)0x80000002
 vrhadd.s32 d10, d11, d12 :: Qd 0x00000048 0x00000048  Qm (i32)0x00000018  Qn (i32)0x00000078
-vrhadd.s32 d10, d11, d12 :: Qd 0x098d8d4a 0x090f8f4c  Qm (i32)0x00000018  Qn (i32)0x00000078
+vrhadd.s32 d10, d11, d12 :: Qd 0x038302be 0x018100bc  Qm (i32)0x00000018  Qn (i32)0x00000078
 vrhadd.u32 d0, d1, d2 :: Qd 0x00000049 0x00000049  Qm (i32)0x00000019  Qn (i32)0x00000078
-vrhadd.u32 d0, d1, d2 :: Qd 0x098d8d4a 0x090f8f4c  Qm (i32)0x00000019  Qn (i32)0x00000078
+vrhadd.u32 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x00000019  Qn (i32)0x00000078
 vrhadd.u32 d0, d1, d2 :: Qd 0x00000082 0x00000082  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vrhadd.u32 d0, d1, d2 :: Qd 0x098d8d4a 0x090f8f4c  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vrhadd.u32 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vrhadd.u16 d0, d1, d2 :: Qd 0x00000082 0x00000082  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vrhadd.u16 d0, d1, d2 :: Qd 0x098e0d4a 0x09100f4c  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vrhadd.u16 d0, d1, d2 :: Qd 0x038302be 0x018100bc  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vrhadd.u8 d0, d1, d2 :: Qd 0x00000082 0x00000082  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vrhadd.u8 d0, d1, d2 :: Qd 0x0a0e0d4a 0x09100f4c  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vrhadd.u8 d0, d1, d2 :: Qd 0x0403033e 0x0201013c  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vrhadd.u8 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vrhadd.u8 d0, d1, d2 :: Qd 0x4a0e0d0f 0x49100f11  Qm (i32)0x80000001  Qn (i32)0x80000002
+vrhadd.u8 d0, d1, d2 :: Qd 0x44030303 0x42010101  Qm (i32)0x80000001  Qn (i32)0x80000002
 vrhadd.u16 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vrhadd.u16 d0, d1, d2 :: Qd 0x498e0d0f 0x49100f11  Qm (i32)0x80000001  Qn (i32)0x80000002
+vrhadd.u16 d0, d1, d2 :: Qd 0x43830283 0x41810081  Qm (i32)0x80000001  Qn (i32)0x80000002
 vrhadd.u32 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vrhadd.u32 d0, d1, d2 :: Qd 0x498d8d0f 0x490f8f11  Qm (i32)0x80000001  Qn (i32)0x80000002
+vrhadd.u32 d0, d1, d2 :: Qd 0x43830283 0x41810081  Qm (i32)0x80000001  Qn (i32)0x80000002
 vrhadd.u8 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vrhadd.u8 d0, d1, d2 :: Qd 0x4a0e0d0f 0x49100f11  Qm (i32)0x80000001  Qn (i32)0x80000003
+vrhadd.u8 d0, d1, d2 :: Qd 0x44030304 0x42010102  Qm (i32)0x80000001  Qn (i32)0x80000003
 vrhadd.u16 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vrhadd.u16 d0, d1, d2 :: Qd 0x498e0d0f 0x49100f11  Qm (i32)0x80000001  Qn (i32)0x80000003
+vrhadd.u16 d0, d1, d2 :: Qd 0x43830284 0x41810082  Qm (i32)0x80000001  Qn (i32)0x80000003
 vrhadd.u32 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vrhadd.u32 d0, d1, d2 :: Qd 0x498d8d0f 0x490f8f11  Qm (i32)0x80000001  Qn (i32)0x80000003
+vrhadd.u32 d0, d1, d2 :: Qd 0x43830284 0x41810082  Qm (i32)0x80000001  Qn (i32)0x80000003
 vrhadd.u8 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000004  Qn (i32)0x80000002
-vrhadd.u8 d0, d1, d2 :: Qd 0x4a0e0d0f 0x49100f11  Qm (i32)0x80000004  Qn (i32)0x80000002
+vrhadd.u8 d0, d1, d2 :: Qd 0x44030303 0x42010101  Qm (i32)0x80000004  Qn (i32)0x80000002
 vrhadd.u16 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000004  Qn (i32)0x80000002
-vrhadd.u16 d0, d1, d2 :: Qd 0x498e0d0f 0x49100f11  Qm (i32)0x80000004  Qn (i32)0x80000002
+vrhadd.u16 d0, d1, d2 :: Qd 0x43830283 0x41810081  Qm (i32)0x80000004  Qn (i32)0x80000002
 vrhadd.u32 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000004  Qn (i32)0x80000002
-vrhadd.u32 d0, d1, d2 :: Qd 0x498d8d0f 0x490f8f11  Qm (i32)0x80000004  Qn (i32)0x80000002
+vrhadd.u32 d0, d1, d2 :: Qd 0x43830283 0x41810081  Qm (i32)0x80000004  Qn (i32)0x80000002
 vrhadd.u32 d10, d11, d12 :: Qd 0x00000048 0x00000048  Qm (i32)0x00000018  Qn (i32)0x00000078
-vrhadd.u32 d10, d11, d12 :: Qd 0x098d8d4a 0x090f8f4c  Qm (i32)0x00000018  Qn (i32)0x00000078
+vrhadd.u32 d10, d11, d12 :: Qd 0x038302be 0x018100bc  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VCGT ----
 vcgt.s32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000019  Qn (i32)0x00000078
 vcgt.s32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000019  Qn (i32)0x00000078
@@ -473,19 +473,19 @@
 vcgt.s8 d0, d1, d2 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x00000078  Qn (i32)0x0000008c
 vcgt.s8 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000078  Qn (i32)0x0000008c
 vcgt.s8 d5, d7, d5 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x80000003  Qn (i32)0x80000002
-vcgt.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
+vcgt.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffff00  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcgt.s16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcgt.s16 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcgt.s32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcgt.s32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcgt.s8 d5, d7, d5 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000003
-vcgt.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000003
+vcgt.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffff00  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcgt.s16 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcgt.s16 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcgt.s32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcgt.s32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcgt.s8 d5, d7, d5 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000002  Qn (i32)0x80000002
-vcgt.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
+vcgt.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffff00  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcgt.s16 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcgt.s16 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcgt.s32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000002  Qn (i32)0x80000002
@@ -513,19 +513,19 @@
 vcgt.u8 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vcgt.u8 d0, d1, d2 :: Qd 0xffffff00 0xffffff00  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vcgt.u8 d0, d1, d2 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x80000003  Qn (i32)0x80000002
-vcgt.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
+vcgt.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffff00  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcgt.u16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcgt.u16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcgt.u32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcgt.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcgt.u8 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000003
-vcgt.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffffff  Qm (i32)0x80000001  Qn (i32)0x80000003
+vcgt.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffff00  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcgt.u16 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcgt.u16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcgt.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcgt.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcgt.u8 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000002  Qn (i32)0x80000002
-vcgt.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
+vcgt.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffff00  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcgt.u16 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcgt.u16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcgt.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000002  Qn (i32)0x80000002
@@ -556,19 +556,19 @@
 vcge.s8 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000078  Qn (i32)0x0000008c
 vcge.s8 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000078  Qn (i32)0x0000008c
 vcge.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
-vcge.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
+vcge.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffff00  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcge.s16 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcge.s16 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcge.s32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcge.s32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcge.s8 d5, d7, d5 :: Qd 0xffffff00 0xffffff00  Qm (i32)0x80000001  Qn (i32)0x80000003
-vcge.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000003
+vcge.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffff00  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcge.s16 d0, d1, d2 :: Qd 0xffff0000 0xffff0000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcge.s16 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcge.s32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcge.s32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcge.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
-vcge.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
+vcge.s8 d5, d7, d5 :: Qd 0xffffffff 0xffffff00  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcge.s16 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcge.s16 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcge.s32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
@@ -596,19 +596,19 @@
 vcge.u8 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vcge.u8 d0, d1, d2 :: Qd 0xffffff00 0xffffff00  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vcge.u8 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
-vcge.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
+vcge.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffff00  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcge.u16 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcge.u16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcge.u32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcge.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000003  Qn (i32)0x80000002
 vcge.u8 d0, d1, d2 :: Qd 0xffffff00 0xffffff00  Qm (i32)0x80000001  Qn (i32)0x80000003
-vcge.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffffff  Qm (i32)0x80000001  Qn (i32)0x80000003
+vcge.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffff00  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcge.u16 d0, d1, d2 :: Qd 0xffff0000 0xffff0000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcge.u16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcge.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcge.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vcge.u8 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
-vcge.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
+vcge.u8 d0, d1, d2 :: Qd 0x00ffffff 0x00ffff00  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcge.u16 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcge.u16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x80000002  Qn (i32)0x80000002
 vcge.u32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  Qn (i32)0x80000002
@@ -617,169 +617,169 @@
 vcge.u32 d10, d11, d12 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VSHL (register) ----
 vshl.s8 d0, d1, d2 :: Qd 0x00000030 0x00000030  Qm (i32)0x00000018  Qn (i32)0x00000001
-vshl.s8 d0, d1, d2 :: Qd 0x131b1a36 0x121f1e3e  Qm (i32)0x00000018  Qn (i32)0x00000001
+vshl.s8 d0, d1, d2 :: Qd 0x07060508 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000001
 vshl.s8 d8, d1, d12 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000008
-vshl.s8 d8, d1, d12 :: Qd 0x131b1a00 0x121f1e00  Qm (i32)0x00000018  Qn (i32)0x00000008
+vshl.s8 d8, d1, d12 :: Qd 0x07060500 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000008
 vshl.s8 d10, d31, d7 :: Qd 0x00000080 0x00000080  Qm (i32)0x00000018  Qn (i32)0x00000004
-vshl.s8 d10, d31, d7 :: Qd 0x131b1ab0 0x121f1ef0  Qm (i32)0x00000018  Qn (i32)0x00000004
+vshl.s8 d10, d31, d7 :: Qd 0x07060540 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000004
 vshl.s16 d3, d8, d11 :: Qd 0x00000038 0x00000038  Qm (i32)0x0000000e  Qn (i32)0x00000002
-vshl.s16 d3, d8, d11 :: Qd 0x131b686c 0x121f787c  Qm (i32)0x0000000e  Qn (i32)0x00000002
+vshl.s16 d3, d8, d11 :: Qd 0x07061410 0x03020400  Qm (i32)0x0000000e  Qn (i32)0x00000002
 vshl.s16 d5, d12, d14 :: Qd 0x40000000 0x40000000  Qm (i32)0x40000000  Qn (i32)0x00000001
-vshl.s16 d5, d12, d14 :: Qd 0x131b3436 0x121f3c3e  Qm (i32)0x40000000  Qn (i32)0x00000001
+vshl.s16 d5, d12, d14 :: Qd 0x07060a08 0x03020200  Qm (i32)0x40000000  Qn (i32)0x00000001
 vshl.s16 d15, d2, d1 :: Qd 0x40000000 0x40000000  Qm (i32)0x40000000  Qn (i32)0x0000000b
-vshl.s16 d15, d2, d1 :: Qd 0x131bd800 0x121ff800  Qm (i32)0x40000000  Qn (i32)0x0000000b
+vshl.s16 d15, d2, d1 :: Qd 0x07062000 0x03020000  Qm (i32)0x40000000  Qn (i32)0x0000000b
 vshl.s32 d9, d12, d19 :: Qd 0x00000008 0x00000008  Qm (i32)0x80000002  Qn (i32)0x00000002
-vshl.s32 d9, d12, d19 :: Qd 0x4c6c686c 0x487c787c  Qm (i32)0x80000002  Qn (i32)0x00000002
+vshl.s32 d9, d12, d19 :: Qd 0x1c181410 0x0c080400  Qm (i32)0x80000002  Qn (i32)0x00000002
 vshl.s32 d11, d22, d0 :: Qd 0xfffff000 0xfffff000  Qm (i32)0xffffffff  Qn (i32)0x0000000c
-vshl.s32 d11, d22, d0 :: Qd 0xb1a1b000 0xf1e1f000  Qm (i32)0xffffffff  Qn (i32)0x0000000c
+vshl.s32 d11, d22, d0 :: Qd 0x60504000 0x20100000  Qm (i32)0xffffffff  Qn (i32)0x0000000c
 vshl.s32 d5, d2, d3 :: Qd 0x00000000 0x00000000  Qm (i32)0x40000000  Qn (i32)0x00000015
-vshl.s32 d5, d2, d3 :: Qd 0x43600000 0xc3e00000  Qm (i32)0x40000000  Qn (i32)0x00000015
+vshl.s32 d5, d2, d3 :: Qd 0xa0800000 0x20000000  Qm (i32)0x40000000  Qn (i32)0x00000015
 vshl.s64 d15, d12, d4 :: Qd 0x00500000 0x00500000  Qm (i32)0x00000005  Qn (i32)0x00000014
-vshl.s64 d15, d12, d4 :: Qd 0xa1b121f1 0xe1f00000  Qm (i32)0x00000005  Qn (i32)0x00000014
+vshl.s64 d15, d12, d4 :: Qd 0x50403020 0x10000000  Qm (i32)0x00000005  Qn (i32)0x00000014
 vshl.s64 d8, d2, d4 :: Qd 0x000000f0 0x000000f0  Qm (i32)0x0000000f  Qn (i32)0x00000004
-vshl.s64 d8, d2, d4 :: Qd 0x31b1a1b1 0x21f1e1f0  Qm (i32)0x0000000f  Qn (i32)0x00000004
+vshl.s64 d8, d2, d4 :: Qd 0x70605040 0x30201000  Qm (i32)0x0000000f  Qn (i32)0x00000004
 vshl.s64 d5, d12, d4 :: Qd 0x60000000 0x40000000  Qm (i32)0x80000001  Qn (i32)0x0000001e
-vshl.s64 d5, d12, d4 :: Qd 0xc487c787 0xc0000000  Qm (i32)0x80000001  Qn (i32)0x0000001e
+vshl.s64 d5, d12, d4 :: Qd 0x00c08040 0x00000000  Qm (i32)0x80000001  Qn (i32)0x0000001e
 vshl.s64 d15, d2, d4 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffabcd59  Qn (i32)0xabcdefab
 vshl.s64 d15, d2, d4 :: Qd 0x00000000 0x00000000  Qm (i32)0xffabcd59  Qn (i32)0xabcdefab
 vshl.s64 d8, d2, d4 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000000f  Qn (i32)0x00400bb5
 vshl.s64 d8, d2, d4 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000000f  Qn (i32)0x00400bb5
 vshl.s64 d5, d12, d4 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000001  Qn (i32)0x030abcff
-vshl.s64 d5, d12, d4 :: Qd 0x098d8d0d 0x890f8f0f  Qm (i32)0x80000001  Qn (i32)0x030abcff
+vshl.s64 d5, d12, d4 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000001  Qn (i32)0x030abcff
 vshl.u8 d0, d1, d2 :: Qd 0x00000030 0x00000030  Qm (i32)0x00000018  Qn (i32)0x00000001
-vshl.u8 d0, d1, d2 :: Qd 0x131b1a36 0x121f1e3e  Qm (i32)0x00000018  Qn (i32)0x00000001
+vshl.u8 d0, d1, d2 :: Qd 0x07060508 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000001
 vshl.u8 d8, d1, d12 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000008
-vshl.u8 d8, d1, d12 :: Qd 0x131b1a00 0x121f1e00  Qm (i32)0x00000018  Qn (i32)0x00000008
+vshl.u8 d8, d1, d12 :: Qd 0x07060500 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000008
 vshl.u8 d10, d11, d7 :: Qd 0x00000080 0x00000080  Qm (i32)0x00000018  Qn (i32)0x00000004
-vshl.u8 d10, d11, d7 :: Qd 0x131b1ab0 0x121f1ef0  Qm (i32)0x00000018  Qn (i32)0x00000004
+vshl.u8 d10, d11, d7 :: Qd 0x07060540 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000004
 vshl.u16 d3, d8, d11 :: Qd 0x00000038 0x00000038  Qm (i32)0x0000000e  Qn (i32)0x00000002
-vshl.u16 d3, d8, d11 :: Qd 0x131b686c 0x121f787c  Qm (i32)0x0000000e  Qn (i32)0x00000002
+vshl.u16 d3, d8, d11 :: Qd 0x07061410 0x03020400  Qm (i32)0x0000000e  Qn (i32)0x00000002
 vshl.u16 d5, d12, d14 :: Qd 0x40000000 0x40000000  Qm (i32)0x40000000  Qn (i32)0x00000001
-vshl.u16 d5, d12, d14 :: Qd 0x131b3436 0x121f3c3e  Qm (i32)0x40000000  Qn (i32)0x00000001
+vshl.u16 d5, d12, d14 :: Qd 0x07060a08 0x03020200  Qm (i32)0x40000000  Qn (i32)0x00000001
 vshl.u16 d15, d2, d1 :: Qd 0x40000000 0x40000000  Qm (i32)0x40000000  Qn (i32)0x0000000b
-vshl.u16 d15, d2, d1 :: Qd 0x131bd800 0x121ff800  Qm (i32)0x40000000  Qn (i32)0x0000000b
+vshl.u16 d15, d2, d1 :: Qd 0x07062000 0x03020000  Qm (i32)0x40000000  Qn (i32)0x0000000b
 vshl.u32 d9, d12, d15 :: Qd 0x00000008 0x00000008  Qm (i32)0x80000002  Qn (i32)0x00000002
-vshl.u32 d9, d12, d15 :: Qd 0x4c6c686c 0x487c787c  Qm (i32)0x80000002  Qn (i32)0x00000002
+vshl.u32 d9, d12, d15 :: Qd 0x1c181410 0x0c080400  Qm (i32)0x80000002  Qn (i32)0x00000002
 vshl.u32 d11, d2, d0 :: Qd 0xfffff000 0xfffff000  Qm (i32)0xffffffff  Qn (i32)0x0000000c
-vshl.u32 d11, d2, d0 :: Qd 0xb1a1b000 0xf1e1f000  Qm (i32)0xffffffff  Qn (i32)0x0000000c
+vshl.u32 d11, d2, d0 :: Qd 0x60504000 0x20100000  Qm (i32)0xffffffff  Qn (i32)0x0000000c
 vshl.u32 d5, d2, d3 :: Qd 0x00000000 0x00000000  Qm (i32)0x40000000  Qn (i32)0x00000015
-vshl.u32 d5, d2, d3 :: Qd 0x43600000 0xc3e00000  Qm (i32)0x40000000  Qn (i32)0x00000015
+vshl.u32 d5, d2, d3 :: Qd 0xa0800000 0x20000000  Qm (i32)0x40000000  Qn (i32)0x00000015
 vshl.u64 d15, d12, d4 :: Qd 0x00500000 0x00500000  Qm (i32)0x00000005  Qn (i32)0x00000014
-vshl.u64 d15, d12, d4 :: Qd 0xa1b121f1 0xe1f00000  Qm (i32)0x00000005  Qn (i32)0x00000014
+vshl.u64 d15, d12, d4 :: Qd 0x50403020 0x10000000  Qm (i32)0x00000005  Qn (i32)0x00000014
 vshl.u64 d8, d2, d4 :: Qd 0x000000f0 0x000000f0  Qm (i32)0x0000000f  Qn (i32)0x00000004
-vshl.u64 d8, d2, d4 :: Qd 0x31b1a1b1 0x21f1e1f0  Qm (i32)0x0000000f  Qn (i32)0x00000004
+vshl.u64 d8, d2, d4 :: Qd 0x70605040 0x30201000  Qm (i32)0x0000000f  Qn (i32)0x00000004
 vshl.u64 d5, d12, d4 :: Qd 0x60000000 0x40000000  Qm (i32)0x80000001  Qn (i32)0x0000001e
-vshl.u64 d5, d12, d4 :: Qd 0xc487c787 0xc0000000  Qm (i32)0x80000001  Qn (i32)0x0000001e
+vshl.u64 d5, d12, d4 :: Qd 0x00c08040 0x00000000  Qm (i32)0x80000001  Qn (i32)0x0000001e
 vshl.u64 d15, d2, d4 :: Qd 0x00000000 0x00000000  Qm (i32)0xffabcd59  Qn (i32)0xabcdefab
 vshl.u64 d15, d2, d4 :: Qd 0x00000000 0x00000000  Qm (i32)0xffabcd59  Qn (i32)0xabcdefab
 vshl.u64 d8, d2, d4 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000000f  Qn (i32)0x00400bb5
 vshl.u64 d8, d2, d4 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000000f  Qn (i32)0x00400bb5
 vshl.u64 d5, d12, d4 :: Qd 0x40000000 0xc0000000  Qm (i32)0x80000001  Qn (i32)0x030abcff
-vshl.u64 d5, d12, d4 :: Qd 0x098d8d0d 0x890f8f0f  Qm (i32)0x80000001  Qn (i32)0x030abcff
+vshl.u64 d5, d12, d4 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000001  Qn (i32)0x030abcff
 ---- VQSHL (register) ----
 vqshl.s64 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
-vqshl.s64 d0, d1, d2 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
+vqshl.s64 d0, d1, d2 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
 vqshl.s64 d3, d4, d5 :: Qd 0xffffff03 0xffffff02  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 00000000
-vqshl.s64 d3, d4, d5 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 00000000
+vqshl.s64 d3, d4, d5 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 00000000
 vqshl.s64 d3, d4, d5 :: Qd 0xfffffff0 0x3ffffff0  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
-vqshl.s64 d3, d4, d5 :: Qd 0x02636343 0x6243e3c3  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
+vqshl.s64 d3, d4, d5 :: Qd 0x00e0c0a0 0x80604020  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
 vqshl.s64 d0, d1, d2 :: Qd 0x00040000 0x00040000  Qm (i32)0x00000010  Qn (i32)0x0000000e  fpscr: 00000000
 vqshl.s64 d0, d1, d2 :: Qd 0x7fffffff 0xffffffff  Qm (i32)0x00000010  Qn (i32)0x0000000e  fpscr: 08000000
 vqshl.s64 d13, d14, d31 :: Qd 0xffffffff 0xfffffbff  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
-vqshl.s64 d13, d14, d31 :: Qd 0x00000004 0xc6c686c4  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
+vqshl.s64 d13, d14, d31 :: Qd 0x00000001 0xc1814100  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
 vqshl.s64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
-vqshl.s64 d7, d8, d2 :: Qd 0x00000000 0x00000001  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
+vqshl.s64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
 vqshl.s32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2  fpscr: 00000000
 vqshl.s32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2  fpscr: 00000000
 vqshl.s32 d2, d8, d4 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
-vqshl.s32 d2, d8, d4 :: Qd 0x0131b1a1 0x0121f1e1  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
+vqshl.s32 d2, d8, d4 :: Qd 0x00706050 0x00302010  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
 vqshl.s32 d12, d11, d13 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
-vqshl.s32 d12, d11, d13 :: Qd 0x00098d8d 0x00090f8f  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
+vqshl.s32 d12, d11, d13 :: Qd 0x00038302 0x00018100  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
 vqshl.s32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
-vqshl.s32 d0, d1, d2 :: Qd 0x00263634 0x00243e3c  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
+vqshl.s32 d0, d1, d2 :: Qd 0x000e0c0a 0x00060402  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
 vqshl.s32 d9, d30, d11 :: Qd 0xc0000004 0xc0000004  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
-vqshl.s32 d9, d30, d11 :: Qd 0x098d8d0d 0x090f8f0f  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
+vqshl.s32 d9, d30, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
 vqshl.s32 d13, d3, d5 :: Qd 0x40000000 0x40000000  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 00000000
-vqshl.s32 d13, d3, d5 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 08000000
+vqshl.s32 d13, d3, d5 :: Qd 0x38302820 0x18100800  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 00000000
 vqshl.s16 d11, d10, d2 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
-vqshl.s16 d11, d10, d2 :: Qd 0x098d0000 0x090f0000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
+vqshl.s16 d11, d10, d2 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
 vqshl.s16 d3, d14, d7 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
-vqshl.s16 d3, d14, d7 :: Qd 0x098d0343 0x090f03c3  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
+vqshl.s16 d3, d14, d7 :: Qd 0x038300a0 0x01810020  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
 vqshl.s16 d0, d11, d2 :: Qd 0xc0000080 0xc0000080  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
-vqshl.s16 d0, d11, d2 :: Qd 0x098d0d0d 0x090f0f0f  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
+vqshl.s16 d0, d11, d2 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
 vqshl.s16 d1, d2, d3 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
-vqshl.s16 d1, d2, d3 :: Qd 0x098d0000 0x090f0000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
+vqshl.s16 d1, d2, d3 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
 vqshl.s16 d3, d4, d5 :: Qd 0xd0000000 0xd0000000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
-vqshl.s16 d3, d4, d5 :: Qd 0x098d0000 0x090f0000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
+vqshl.s16 d3, d4, d5 :: Qd 0x03830000 0x01810000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
 vqshl.s16 d0, d15, d2 :: Qd 0x00007fff 0x00007fff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
-vqshl.s16 d0, d15, d2 :: Qd 0x131b7fff 0x121f7fff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
+vqshl.s16 d0, d15, d2 :: Qd 0x07067fff 0x03027fff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
 vqshl.s8 d2, d7, d11 :: Qd 0xffffff80 0xffffff80  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
-vqshl.s8 d2, d7, d11 :: Qd 0x131b1a7f 0x121f1e7f  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
+vqshl.s8 d2, d7, d11 :: Qd 0x0706057f 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
 vqshl.s8 d13, d1, d2 :: Qd 0xffffff80 0xffffff80  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
-vqshl.s8 d13, d1, d2 :: Qd 0x131b1a7f 0x121f1e7f  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
+vqshl.s8 d13, d1, d2 :: Qd 0x0706057f 0x03020100  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
 vqshl.s8 d3, d7, d5 :: Qd 0x80000058 0x80000058  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 00000000
-vqshl.s8 d3, d7, d5 :: Qd 0x131b1a7f 0x121f1e7f  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 08000000
+vqshl.s8 d3, d7, d5 :: Qd 0x07060520 0x03020100  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 00000000
 vqshl.s8 d10, d11, d12 :: Qd 0x00010000 0x00010000  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 00000000
-vqshl.s8 d10, d11, d12 :: Qd 0x131b1a7f 0x121f1e7f  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 08000000
+vqshl.s8 d10, d11, d12 :: Qd 0x0706057f 0x03020100  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 08000000
 vqshl.s8 d6, d7, d8 :: Qd 0x40000000 0x40000000  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
-vqshl.s8 d6, d7, d8 :: Qd 0x131b1a6c 0x121f1e7c  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
+vqshl.s8 d6, d7, d8 :: Qd 0x07060510 0x03020100  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
 vqshl.s8 d10, d11, d12 :: Qd 0x0000007f 0x0000007f  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
-vqshl.s8 d10, d11, d12 :: Qd 0x131b1a7f 0x121f1e7f  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
+vqshl.s8 d10, d11, d12 :: Qd 0x0706057f 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
 vqshl.u64 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
-vqshl.u64 d0, d1, d2 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
+vqshl.u64 d0, d1, d2 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
 vqshl.u64 d3, d4, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 08000000
-vqshl.u64 d3, d4, d5 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 00000000
+vqshl.u64 d3, d4, d5 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 00000000
 vqshl.u64 d3, d4, d5 :: Qd 0x1ffffff0 0x3ffffff0  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
-vqshl.u64 d3, d4, d5 :: Qd 0x02636343 0x6243e3c3  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
+vqshl.u64 d3, d4, d5 :: Qd 0x00e0c0a0 0x80604020  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
 vqshl.u64 d0, d1, d2 :: Qd 0x00040000 0x00040000  Qm (i32)0x00000010  Qn (i32)0x0000000e  fpscr: 00000000
 vqshl.u64 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  Qn (i32)0x0000000e  fpscr: 08000000
 vqshl.u64 d13, d14, d15 :: Qd 0x0000003f 0xfffffbff  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
-vqshl.u64 d13, d14, d15 :: Qd 0x00000004 0xc6c686c4  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
+vqshl.u64 d13, d14, d15 :: Qd 0x00000001 0xc1814100  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
 vqshl.u64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
-vqshl.u64 d7, d8, d2 :: Qd 0x00000000 0x00000001  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
+vqshl.u64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
 vqshl.u32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2  fpscr: 00000000
 vqshl.u32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2  fpscr: 00000000
 vqshl.u32 d2, d8, d4 :: Qd 0x0fffffff 0x0fffffff  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
-vqshl.u32 d2, d8, d4 :: Qd 0x0131b1a1 0x0121f1e1  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
+vqshl.u32 d2, d8, d4 :: Qd 0x00706050 0x00302010  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
 vqshl.u32 d12, d31, d13 :: Qd 0x007fffff 0x007fffff  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
-vqshl.u32 d12, d31, d13 :: Qd 0x00098d8d 0x00090f8f  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
+vqshl.u32 d12, d31, d13 :: Qd 0x00038302 0x00018100  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
 vqshl.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
-vqshl.u32 d0, d1, d2 :: Qd 0x00263634 0x00243e3c  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
+vqshl.u32 d0, d1, d2 :: Qd 0x000e0c0a 0x00060402  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
 vqshl.u32 d9, d10, d11 :: Qd 0x40000004 0x40000004  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
-vqshl.u32 d9, d10, d11 :: Qd 0x098d8d0d 0x090f8f0f  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
+vqshl.u32 d9, d10, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
 vqshl.u32 d13, d3, d5 :: Qd 0x40000000 0x40000000  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 00000000
-vqshl.u32 d13, d3, d5 :: Qd 0x98d8d0d8 0x90f8f0f8  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 00000000
+vqshl.u32 d13, d3, d5 :: Qd 0x38302820 0x18100800  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 00000000
 vqshl.u16 d11, d10, d2 :: Qd 0x40000000 0x40000000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
-vqshl.u16 d11, d10, d2 :: Qd 0x098d0000 0x090f0000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
+vqshl.u16 d11, d10, d2 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
 vqshl.u16 d3, d14, d7 :: Qd 0x40000000 0x40000000  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
-vqshl.u16 d3, d14, d7 :: Qd 0x098d0343 0x090f03c3  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
+vqshl.u16 d3, d14, d7 :: Qd 0x038300a0 0x01810020  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
 vqshl.u16 d0, d11, d2 :: Qd 0x40000080 0x40000080  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
-vqshl.u16 d0, d11, d2 :: Qd 0x098d0d0d 0x090f0f0f  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
+vqshl.u16 d0, d11, d2 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
 vqshl.u16 d1, d2, d3 :: Qd 0x40000000 0x40000000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
-vqshl.u16 d1, d2, d3 :: Qd 0x098d0000 0x090f0000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
+vqshl.u16 d1, d2, d3 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
 vqshl.u16 d3, d4, d5 :: Qd 0x50000000 0x50000000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
-vqshl.u16 d3, d4, d5 :: Qd 0x098d0000 0x090f0000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
+vqshl.u16 d3, d4, d5 :: Qd 0x03830000 0x01810000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
 vqshl.u16 d0, d15, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
-vqshl.u16 d0, d15, d2 :: Qd 0x131bffff 0x121fffff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
+vqshl.u16 d0, d15, d2 :: Qd 0x0706ffff 0x0302ffff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
 vqshl.u8 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
-vqshl.u8 d2, d7, d11 :: Qd 0x131b1aff 0x121f1eff  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
+vqshl.u8 d2, d7, d11 :: Qd 0x070605ff 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
 vqshl.u8 d13, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
-vqshl.u8 d13, d1, d2 :: Qd 0x131b1aff 0x121f1eff  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
+vqshl.u8 d13, d1, d2 :: Qd 0x070605ff 0x03020100  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
 vqshl.u8 d3, d7, d5 :: Qd 0x80000058 0x80000058  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 00000000
-vqshl.u8 d3, d7, d5 :: Qd 0x131b1ad8 0x121f1ef8  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 00000000
+vqshl.u8 d3, d7, d5 :: Qd 0x07060520 0x03020100  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 00000000
 vqshl.u8 d10, d11, d12 :: Qd 0x00010000 0x00010000  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 00000000
-vqshl.u8 d10, d11, d12 :: Qd 0x131b1aff 0x121f1eff  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 08000000
+vqshl.u8 d10, d11, d12 :: Qd 0x070605ff 0x03020100  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 08000000
 vqshl.u8 d6, d7, d8 :: Qd 0x40000000 0x40000000  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
-vqshl.u8 d6, d7, d8 :: Qd 0x131b1a6c 0x121f1e7c  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
+vqshl.u8 d6, d7, d8 :: Qd 0x07060510 0x03020100  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
 vqshl.u8 d10, d11, d12 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
-vqshl.u8 d10, d11, d12 :: Qd 0x131b1aff 0x121f1eff  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
+vqshl.u8 d10, d11, d12 :: Qd 0x070605ff 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
 ---- VQSHL / VQSHLU (immediate) ----
 vqshl.s64 d0, d1, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshl.s64 d0, d1, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshl.s64 d0, d1, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshl.s64 d31, d30, #1 :: Qd 0xffffff03 0xffffff02  Qm (i32)0xffffff81  fpscr 00000000
-vqshl.s64 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.s64 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.s64 d5, d4, #0 :: Qd 0xffffff81 0xffffff81  Qm (i32)0xffffff81  fpscr 00000000
-vqshl.s64 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.s64 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.s64 d5, d4, #63 :: Qd 0x7fffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.s64 d5, d4, #63 :: Qd 0x7fffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.s64 d5, d4, #60 :: Qd 0x7fffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
@@ -797,11 +797,11 @@
 vqshl.s64 d5, d4, #7 :: Qd 0x80000000 0x00000000  Qm (i32)0x80000002  fpscr 08000000
 vqshl.s64 d5, d4, #7 :: Qd 0x7fffffff 0xffffffff  Qm (i32)0x80000002  fpscr 08000000
 vqshl.s32 d10, d11, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshl.s32 d10, d11, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshl.s32 d10, d11, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshl.s32 d31, d30, #1 :: Qd 0xffffff02 0xffffff02  Qm (i32)0xffffff81  fpscr 00000000
-vqshl.s32 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.s32 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.s32 d5, d4, #0 :: Qd 0xffffff81 0xffffff81  Qm (i32)0xffffff81  fpscr 00000000
-vqshl.s32 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.s32 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.s32 d5, d4, #31 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.s32 d5, d4, #31 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.s32 d5, d4, #28 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x00000010  fpscr 08000000
@@ -819,11 +819,11 @@
 vqshl.s32 d5, d4, #7 :: Qd 0x80000000 0x80000000  Qm (i32)0x80000002  fpscr 08000000
 vqshl.s32 d5, d4, #7 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x80000002  fpscr 08000000
 vqshl.s16 d9, d8, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshl.s16 d9, d8, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshl.s16 d9, d8, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshl.s16 d31, d30, #1 :: Qd 0xfffeff02 0xfffeff02  Qm (i32)0xffffff81  fpscr 00000000
-vqshl.s16 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.s16 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.s16 d5, d4, #0 :: Qd 0xffffff81 0xffffff81  Qm (i32)0xffffff81  fpscr 00000000
-vqshl.s16 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.s16 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.s16 d9, d8, #15 :: Qd 0x00007fff 0x00007fff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.s16 d9, d8, #15 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.s16 d5, d4, #12 :: Qd 0x00007fff 0x00007fff  Qm (i32)0x00000010  fpscr 08000000
@@ -833,7 +833,7 @@
 vqshl.s16 d5, d4, #10 :: Qd 0x00004000 0x00004000  Qm (i32)0x00000010  fpscr 00000000
 vqshl.s16 d5, d4, #10 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.s16 d5, d4, #4 :: Qd 0x00000100 0x00000100  Qm (i32)0x00000010  fpscr 00000000
-vqshl.s16 d5, d4, #4 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x00000010  fpscr 08000000
+vqshl.s16 d5, d4, #4 :: Qd 0x70605040 0x30201000  Qm (i32)0x00000010  fpscr 00000000
 vqshl.s16 d5, d4, #15 :: Qd 0x80008000 0x80008000  Qm (i32)0xffffffff  fpscr 00000000
 vqshl.s16 d5, d4, #15 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0xffffffff  fpscr 08000000
 vqshl.s16 d5, d4, #12 :: Qd 0xf000f000 0xf000f000  Qm (i32)0xffffffff  fpscr 00000000
@@ -841,33 +841,33 @@
 vqshl.s16 d5, d4, #7 :: Qd 0x80000100 0x80000100  Qm (i32)0x80000002  fpscr 08000000
 vqshl.s16 d5, d4, #7 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x80000002  fpscr 08000000
 vqshl.s8 d0, d1, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshl.s8 d0, d1, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshl.s8 d0, d1, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshl.s8 d31, d30, #1 :: Qd 0xfefefe80 0xfefefe80  Qm (i32)0xffffff81  fpscr 08000000
-vqshl.s8 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.s8 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.s8 d5, d4, #0 :: Qd 0xffffff81 0xffffff81  Qm (i32)0xffffff81  fpscr 00000000
-vqshl.s8 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.s8 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.s8 d5, d4, #7 :: Qd 0x0000007f 0x0000007f  Qm (i32)0x00000010  fpscr 08000000
-vqshl.s8 d5, d4, #7 :: Qd 0x7f7f7f7f 0x7f7f7f7f  Qm (i32)0x00000010  fpscr 08000000
+vqshl.s8 d5, d4, #7 :: Qd 0x7f7f7f7f 0x7f7f7f00  Qm (i32)0x00000010  fpscr 08000000
 vqshl.s8 d25, d4, #4 :: Qd 0x0000007f 0x0000007f  Qm (i32)0x00000010  fpscr 08000000
-vqshl.s8 d25, d4, #4 :: Qd 0x7f7f7f7f 0x7f7f7f7f  Qm (i32)0x00000010  fpscr 08000000
+vqshl.s8 d25, d4, #4 :: Qd 0x70605040 0x30201000  Qm (i32)0x00000010  fpscr 00000000
 vqshl.s8 d5, d4, #3 :: Qd 0x0000007f 0x0000007f  Qm (i32)0x00000010  fpscr 08000000
-vqshl.s8 d5, d4, #3 :: Qd 0x7f7f7f7f 0x7f7f7f7f  Qm (i32)0x00000010  fpscr 08000000
+vqshl.s8 d5, d4, #3 :: Qd 0x38302820 0x18100800  Qm (i32)0x00000010  fpscr 00000000
 vqshl.s8 d5, d4, #2 :: Qd 0x00000040 0x00000040  Qm (i32)0x00000010  fpscr 00000000
-vqshl.s8 d5, d4, #2 :: Qd 0x4c6c686c 0x487c787c  Qm (i32)0x00000010  fpscr 00000000
+vqshl.s8 d5, d4, #2 :: Qd 0x1c181410 0x0c080400  Qm (i32)0x00000010  fpscr 00000000
 vqshl.s8 d5, d4, #1 :: Qd 0x00000020 0x00000020  Qm (i32)0x00000010  fpscr 00000000
-vqshl.s8 d5, d4, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000010  fpscr 00000000
+vqshl.s8 d5, d4, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000010  fpscr 00000000
 vqshl.s8 d5, d4, #7 :: Qd 0x80808080 0x80808080  Qm (i32)0xffffffff  fpscr 00000000
-vqshl.s8 d5, d4, #7 :: Qd 0x7f7f7f7f 0x7f7f7f7f  Qm (i32)0xffffffff  fpscr 08000000
+vqshl.s8 d5, d4, #7 :: Qd 0x7f7f7f7f 0x7f7f7f00  Qm (i32)0xffffffff  fpscr 08000000
 vqshl.s8 d5, d4, #5 :: Qd 0xe0e0e0e0 0xe0e0e0e0  Qm (i32)0xffffffff  fpscr 00000000
-vqshl.s8 d5, d4, #5 :: Qd 0x7f7f7f7f 0x7f7f7f7f  Qm (i32)0xffffffff  fpscr 08000000
+vqshl.s8 d5, d4, #5 :: Qd 0x7f7f7f7f 0x60402000  Qm (i32)0xffffffff  fpscr 08000000
 vqshl.s8 d5, d4, #2 :: Qd 0x80000008 0x80000008  Qm (i32)0x80000002  fpscr 08000000
-vqshl.s8 d5, d4, #2 :: Qd 0x4c6c686c 0x487c787c  Qm (i32)0x80000002  fpscr 00000000
+vqshl.s8 d5, d4, #2 :: Qd 0x1c181410 0x0c080400  Qm (i32)0x80000002  fpscr 00000000
 vqshl.u64 d0, d1, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshl.u64 d0, d1, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshl.u64 d0, d1, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshl.u64 d31, d30, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff81  fpscr 08000000
-vqshl.u64 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.u64 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.u64 d5, d4, #0 :: Qd 0xffffff81 0xffffff81  Qm (i32)0xffffff81  fpscr 00000000
-vqshl.u64 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.u64 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.u64 d5, d4, #63 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.u64 d5, d4, #63 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.u64 d5, d4, #60 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
@@ -885,11 +885,11 @@
 vqshl.u64 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  fpscr 08000000
 vqshl.u64 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  fpscr 08000000
 vqshl.u32 d10, d11, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshl.u32 d10, d11, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshl.u32 d10, d11, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshl.u32 d31, d30, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff81  fpscr 08000000
-vqshl.u32 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.u32 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.u32 d5, d4, #0 :: Qd 0xffffff81 0xffffff81  Qm (i32)0xffffff81  fpscr 00000000
-vqshl.u32 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.u32 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.u32 d5, d4, #31 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.u32 d5, d4, #31 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.u32 d5, d4, #28 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
@@ -907,11 +907,11 @@
 vqshl.u32 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  fpscr 08000000
 vqshl.u32 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  fpscr 08000000
 vqshl.u16 d9, d8, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshl.u16 d9, d8, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshl.u16 d9, d8, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshl.u16 d31, d30, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff81  fpscr 08000000
-vqshl.u16 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.u16 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.u16 d5, d4, #0 :: Qd 0xffffff81 0xffffff81  Qm (i32)0xffffff81  fpscr 00000000
-vqshl.u16 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.u16 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.u16 d9, d8, #15 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.u16 d9, d8, #15 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.u16 d5, d4, #12 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00000010  fpscr 08000000
@@ -921,41 +921,41 @@
 vqshl.u16 d5, d4, #10 :: Qd 0x00004000 0x00004000  Qm (i32)0x00000010  fpscr 00000000
 vqshl.u16 d5, d4, #10 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshl.u16 d5, d4, #4 :: Qd 0x00000100 0x00000100  Qm (i32)0x00000010  fpscr 00000000
-vqshl.u16 d5, d4, #4 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
+vqshl.u16 d5, d4, #4 :: Qd 0x70605040 0x30201000  Qm (i32)0x00000010  fpscr 00000000
 vqshl.u16 d5, d4, #15 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshl.u16 d5, d4, #15 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshl.u16 d5, d4, #12 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshl.u16 d5, d4, #12 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshl.u16 d5, d4, #7 :: Qd 0xffff0100 0xffff0100  Qm (i32)0x80000002  fpscr 08000000
-vqshl.u16 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  fpscr 08000000
+vqshl.u16 d5, d4, #7 :: Qd 0xffffffff 0xffff8000  Qm (i32)0x80000002  fpscr 08000000
 vqshl.u8 d0, d1, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshl.u8 d0, d1, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshl.u8 d0, d1, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshl.u8 d31, d30, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff81  fpscr 08000000
-vqshl.u8 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.u8 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.u8 d5, d4, #0 :: Qd 0xffffff81 0xffffff81  Qm (i32)0xffffff81  fpscr 00000000
-vqshl.u8 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshl.u8 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshl.u8 d5, d4, #7 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x00000010  fpscr 08000000
-vqshl.u8 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
+vqshl.u8 d5, d4, #7 :: Qd 0xffffffff 0xffff8000  Qm (i32)0x00000010  fpscr 08000000
 vqshl.u8 d5, d4, #4 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x00000010  fpscr 08000000
-vqshl.u8 d5, d4, #4 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
+vqshl.u8 d5, d4, #4 :: Qd 0x70605040 0x30201000  Qm (i32)0x00000010  fpscr 00000000
 vqshl.u8 d5, d4, #3 :: Qd 0x00000080 0x00000080  Qm (i32)0x00000010  fpscr 00000000
-vqshl.u8 d5, d4, #3 :: Qd 0x98d8d0d8 0x90f8f0f8  Qm (i32)0x00000010  fpscr 00000000
+vqshl.u8 d5, d4, #3 :: Qd 0x38302820 0x18100800  Qm (i32)0x00000010  fpscr 00000000
 vqshl.u8 d5, d4, #2 :: Qd 0x00000040 0x00000040  Qm (i32)0x00000010  fpscr 00000000
-vqshl.u8 d5, d4, #2 :: Qd 0x4c6c686c 0x487c787c  Qm (i32)0x00000010  fpscr 00000000
+vqshl.u8 d5, d4, #2 :: Qd 0x1c181410 0x0c080400  Qm (i32)0x00000010  fpscr 00000000
 vqshl.u8 d5, d4, #1 :: Qd 0x00000020 0x00000020  Qm (i32)0x00000010  fpscr 00000000
-vqshl.u8 d5, d4, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000010  fpscr 00000000
+vqshl.u8 d5, d4, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000010  fpscr 00000000
 vqshl.u8 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
-vqshl.u8 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqshl.u8 d5, d4, #7 :: Qd 0xffffffff 0xffff8000  Qm (i32)0xffffffff  fpscr 08000000
 vqshl.u8 d5, d4, #5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
-vqshl.u8 d5, d4, #5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqshl.u8 d5, d4, #5 :: Qd 0xe0c0a080 0x60402000  Qm (i32)0xffffffff  fpscr 00000000
 vqshl.u8 d5, d4, #2 :: Qd 0xff000008 0xff000008  Qm (i32)0x80000002  fpscr 08000000
-vqshl.u8 d5, d4, #2 :: Qd 0x4c6c686c 0x487c787c  Qm (i32)0x80000002  fpscr 00000000
+vqshl.u8 d5, d4, #2 :: Qd 0x1c181410 0x0c080400  Qm (i32)0x80000002  fpscr 00000000
 vqshlu.s64 d0, d1, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshlu.s64 d0, d1, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshlu.s64 d0, d1, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshlu.s64 d31, d30, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff81  fpscr 08000000
-vqshlu.s64 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshlu.s64 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshlu.s64 d5, d4, #0 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff81  fpscr 08000000
-vqshlu.s64 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshlu.s64 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshlu.s64 d5, d4, #63 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshlu.s64 d5, d4, #63 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshlu.s64 d5, d4, #60 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
@@ -973,11 +973,11 @@
 vqshlu.s64 d5, d4, #7 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000002  fpscr 08000000
 vqshlu.s64 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  fpscr 08000000
 vqshlu.s32 d10, d11, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshlu.s32 d10, d11, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshlu.s32 d10, d11, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshlu.s32 d31, d30, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff81  fpscr 08000000
-vqshlu.s32 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshlu.s32 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshlu.s32 d5, d4, #0 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff81  fpscr 08000000
-vqshlu.s32 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshlu.s32 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshlu.s32 d5, d4, #31 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshlu.s32 d5, d4, #31 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshlu.s32 d25, d24, #28 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
@@ -995,11 +995,11 @@
 vqshlu.s32 d5, d4, #7 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000002  fpscr 08000000
 vqshlu.s32 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  fpscr 08000000
 vqshlu.s16 d9, d8, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshlu.s16 d9, d8, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshlu.s16 d9, d8, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshlu.s16 d31, d30, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff81  fpscr 08000000
-vqshlu.s16 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshlu.s16 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshlu.s16 d5, d4, #0 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff81  fpscr 08000000
-vqshlu.s16 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshlu.s16 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshlu.s16 d9, d8, #15 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00000010  fpscr 08000000
 vqshlu.s16 d9, d8, #15 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshlu.s16 d5, d4, #12 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00000010  fpscr 08000000
@@ -1009,378 +1009,378 @@
 vqshlu.s16 d5, d4, #10 :: Qd 0x00004000 0x00004000  Qm (i32)0x00000010  fpscr 00000000
 vqshlu.s16 d5, d4, #10 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
 vqshlu.s16 d5, d4, #4 :: Qd 0x00000100 0x00000100  Qm (i32)0x00000010  fpscr 00000000
-vqshlu.s16 d5, d4, #4 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
+vqshlu.s16 d5, d4, #4 :: Qd 0x70605040 0x30201000  Qm (i32)0x00000010  fpscr 00000000
 vqshlu.s16 d15, d14, #15 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 08000000
 vqshlu.s16 d15, d14, #15 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshlu.s16 d5, d4, #12 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 08000000
 vqshlu.s16 d5, d4, #12 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshlu.s16 d5, d4, #7 :: Qd 0x00000100 0x00000100  Qm (i32)0x80000002  fpscr 08000000
-vqshlu.s16 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000002  fpscr 08000000
+vqshlu.s16 d5, d4, #7 :: Qd 0xffffffff 0xffff8000  Qm (i32)0x80000002  fpscr 08000000
 vqshlu.s8 d0, d1, #1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  fpscr 00000000
-vqshlu.s8 d0, d1, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  fpscr 00000000
+vqshlu.s8 d0, d1, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  fpscr 00000000
 vqshlu.s8 d31, d30, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff81  fpscr 08000000
-vqshlu.s8 d31, d30, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  fpscr 00000000
+vqshlu.s8 d31, d30, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  fpscr 00000000
 vqshlu.s8 d5, d4, #0 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff81  fpscr 08000000
-vqshlu.s8 d5, d4, #0 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff81  fpscr 00000000
+vqshlu.s8 d5, d4, #0 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffff81  fpscr 00000000
 vqshlu.s8 d5, d4, #7 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x00000010  fpscr 08000000
-vqshlu.s8 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
+vqshlu.s8 d5, d4, #7 :: Qd 0xffffffff 0xffff8000  Qm (i32)0x00000010  fpscr 08000000
 vqshlu.s8 d5, d4, #4 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x00000010  fpscr 08000000
-vqshlu.s8 d5, d4, #4 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  fpscr 08000000
+vqshlu.s8 d5, d4, #4 :: Qd 0x70605040 0x30201000  Qm (i32)0x00000010  fpscr 00000000
 vqshlu.s8 d5, d4, #3 :: Qd 0x00000080 0x00000080  Qm (i32)0x00000010  fpscr 00000000
-vqshlu.s8 d5, d4, #3 :: Qd 0x98d8d0d8 0x90f8f0f8  Qm (i32)0x00000010  fpscr 00000000
+vqshlu.s8 d5, d4, #3 :: Qd 0x38302820 0x18100800  Qm (i32)0x00000010  fpscr 00000000
 vqshlu.s8 d5, d4, #2 :: Qd 0x00000040 0x00000040  Qm (i32)0x00000010  fpscr 00000000
-vqshlu.s8 d5, d4, #2 :: Qd 0x4c6c686c 0x487c787c  Qm (i32)0x00000010  fpscr 00000000
+vqshlu.s8 d5, d4, #2 :: Qd 0x1c181410 0x0c080400  Qm (i32)0x00000010  fpscr 00000000
 vqshlu.s8 d5, d4, #1 :: Qd 0x00000020 0x00000020  Qm (i32)0x00000010  fpscr 00000000
-vqshlu.s8 d5, d4, #1 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000010  fpscr 00000000
+vqshlu.s8 d5, d4, #1 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000010  fpscr 00000000
 vqshlu.s8 d5, d4, #7 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 08000000
-vqshlu.s8 d5, d4, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqshlu.s8 d5, d4, #7 :: Qd 0xffffffff 0xffff8000  Qm (i32)0xffffffff  fpscr 08000000
 vqshlu.s8 d5, d4, #5 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 08000000
-vqshlu.s8 d5, d4, #5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqshlu.s8 d5, d4, #5 :: Qd 0xe0c0a080 0x60402000  Qm (i32)0xffffffff  fpscr 00000000
 vqshlu.s8 d5, d4, #2 :: Qd 0x00000008 0x00000008  Qm (i32)0x80000002  fpscr 08000000
-vqshlu.s8 d5, d4, #2 :: Qd 0x4c6c686c 0x487c787c  Qm (i32)0x80000002  fpscr 00000000
+vqshlu.s8 d5, d4, #2 :: Qd 0x1c181410 0x0c080400  Qm (i32)0x80000002  fpscr 00000000
 ---- VQRSHL (register) ----
 vqrshl.s64 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
-vqrshl.s64 d0, d1, d2 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
+vqrshl.s64 d0, d1, d2 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
 vqrshl.s64 d3, d4, d5 :: Qd 0xffffff03 0xffffff02  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 00000000
-vqrshl.s64 d3, d4, d5 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 00000000
+vqrshl.s64 d3, d4, d5 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 00000000
 vqrshl.s64 d3, d4, d5 :: Qd 0xfffffff0 0x3ffffff0  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
-vqrshl.s64 d3, d4, d5 :: Qd 0x02636343 0x6243e3c4  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
+vqrshl.s64 d3, d4, d5 :: Qd 0x00e0c0a0 0x80604020  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
 vqrshl.s64 d0, d1, d2 :: Qd 0x00040000 0x00040000  Qm (i32)0x00000010  Qn (i32)0x0000000e  fpscr: 00000000
 vqrshl.s64 d0, d1, d2 :: Qd 0x7fffffff 0xffffffff  Qm (i32)0x00000010  Qn (i32)0x0000000e  fpscr: 08000000
 vqrshl.s64 d13, d14, d15 :: Qd 0xffffffff 0xfffffc00  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
-vqrshl.s64 d13, d14, d15 :: Qd 0x00000004 0xc6c686c5  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
+vqrshl.s64 d13, d14, d15 :: Qd 0x00000001 0xc1814101  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
 vqrshl.s64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
-vqrshl.s64 d7, d8, d2 :: Qd 0x00000000 0x00000001  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
+vqrshl.s64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
 vqrshl.s32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2  fpscr: 00000000
 vqrshl.s32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2  fpscr: 00000000
 vqrshl.s32 d2, d8, d4 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
-vqrshl.s32 d2, d8, d4 :: Qd 0x0131b1a2 0x0121f1e2  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
+vqrshl.s32 d2, d8, d4 :: Qd 0x00706050 0x00302010  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
 vqrshl.s32 d12, d11, d13 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
-vqrshl.s32 d12, d11, d13 :: Qd 0x00098d8d 0x00090f8f  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
+vqrshl.s32 d12, d11, d13 :: Qd 0x00038303 0x00018101  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
 vqrshl.s32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
-vqrshl.s32 d0, d1, d2 :: Qd 0x00263634 0x00243e3c  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
+vqrshl.s32 d0, d1, d2 :: Qd 0x000e0c0a 0x00060402  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
 vqrshl.s32 d9, d10, d11 :: Qd 0xc0000004 0xc0000004  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.s32 d9, d10, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.s32 d9, d10, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.s32 d13, d3, d5 :: Qd 0x40000000 0x40000000  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 00000000
-vqrshl.s32 d13, d3, d5 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 08000000
+vqrshl.s32 d13, d3, d5 :: Qd 0x38302820 0x18100800  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 00000000
 vqrshl.s16 d11, d10, d2 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
-vqrshl.s16 d11, d10, d2 :: Qd 0x098e0000 0x09100000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
+vqrshl.s16 d11, d10, d2 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
 vqrshl.s16 d3, d14, d7 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
-vqrshl.s16 d3, d14, d7 :: Qd 0x098e0343 0x091003c4  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
+vqrshl.s16 d3, d14, d7 :: Qd 0x038300a1 0x01810020  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
 vqrshl.s16 d0, d31, d2 :: Qd 0xc0000080 0xc0000080  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.s16 d0, d31, d2 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.s16 d0, d31, d2 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.s16 d1, d2, d3 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
-vqrshl.s16 d1, d2, d3 :: Qd 0x098e0000 0x09100000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
+vqrshl.s16 d1, d2, d3 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
 vqrshl.s16 d3, d4, d5 :: Qd 0xd0000000 0xd0000000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
-vqrshl.s16 d3, d4, d5 :: Qd 0x098e0001 0x09100001  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
+vqrshl.s16 d3, d4, d5 :: Qd 0x03830000 0x01810000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
 vqrshl.s16 d0, d15, d2 :: Qd 0x00007fff 0x00007fff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
-vqrshl.s16 d0, d15, d2 :: Qd 0x131b7fff 0x121f7fff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
+vqrshl.s16 d0, d15, d2 :: Qd 0x07067fff 0x03027fff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
 vqrshl.s8 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.s8 d2, d7, d11 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.s8 d2, d7, d11 :: Qd 0x04030302 0x02010100  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.s16 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.s16 d2, d7, d11 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.s16 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.s32 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.s32 d2, d7, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.s32 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.s8 d2, d7, d11 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.s8 d2, d7, d11 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.s8 d2, d7, d11 :: Qd 0x04030302 0x02010100  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.s16 d2, d7, d11 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.s16 d2, d7, d11 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.s16 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.s32 d2, d7, d11 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.s32 d2, d7, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.s32 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.s8 d2, d7, d11 :: Qd 0x000000ff 0x000000ff  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.s8 d2, d7, d11 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.s8 d2, d7, d11 :: Qd 0x04030302 0x02010100  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.s16 d2, d7, d11 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.s16 d2, d7, d11 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.s16 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.s32 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.s32 d2, d7, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.s32 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.s8 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
-vqrshl.s8 d2, d7, d11 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
+vqrshl.s8 d2, d7, d11 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
 vqrshl.s16 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
-vqrshl.s16 d2, d7, d11 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
+vqrshl.s16 d2, d7, d11 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
 vqrshl.s32 d2, d7, d31 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
-vqrshl.s32 d2, d7, d31 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
+vqrshl.s32 d2, d7, d31 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
 vqrshl.s8 d2, d7, d11 :: Qd 0xffffff80 0xffffff80  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
-vqrshl.s8 d2, d7, d11 :: Qd 0x131b1a7f 0x121f1e7f  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
+vqrshl.s8 d2, d7, d11 :: Qd 0x0706057f 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
 vqrshl.s8 d13, d1, d2 :: Qd 0xffffff80 0xffffff80  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
-vqrshl.s8 d13, d1, d2 :: Qd 0x131b1a7f 0x121f1e7f  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
+vqrshl.s8 d13, d1, d2 :: Qd 0x0706057f 0x03020100  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
 vqrshl.s8 d3, d7, d5 :: Qd 0x80000058 0x80000058  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 00000000
-vqrshl.s8 d3, d7, d5 :: Qd 0x131b1a7f 0x121f1e7f  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 08000000
+vqrshl.s8 d3, d7, d5 :: Qd 0x07060520 0x03020100  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 00000000
 vqrshl.s8 d10, d11, d12 :: Qd 0x00010000 0x00010000  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 00000000
-vqrshl.s8 d10, d11, d12 :: Qd 0x131b1a7f 0x121f1e7f  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 08000000
+vqrshl.s8 d10, d11, d12 :: Qd 0x0706057f 0x03020100  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 08000000
 vqrshl.s8 d6, d7, d8 :: Qd 0x40000000 0x40000000  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
-vqrshl.s8 d6, d7, d8 :: Qd 0x131b1a6c 0x121f1e7c  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
+vqrshl.s8 d6, d7, d8 :: Qd 0x07060510 0x03020100  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
 vqrshl.s8 d10, d11, d12 :: Qd 0x0000007f 0x0000007f  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
-vqrshl.s8 d10, d11, d12 :: Qd 0x131b1a7f 0x121f1e7f  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
+vqrshl.s8 d10, d11, d12 :: Qd 0x0706057f 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
 vqrshl.u64 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
-vqrshl.u64 d0, d1, d2 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
+vqrshl.u64 d0, d1, d2 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  Qn (i32)0x00000001  fpscr: 00000000
 vqrshl.u64 d3, d4, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 08000000
-vqrshl.u64 d3, d4, d5 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 00000000
+vqrshl.u64 d3, d4, d5 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  Qn (i32)0x00000001  fpscr: 00000000
 vqrshl.u64 d3, d4, d5 :: Qd 0x1ffffff0 0x3ffffff0  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
-vqrshl.u64 d3, d4, d5 :: Qd 0x02636343 0x6243e3c4  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
+vqrshl.u64 d3, d4, d5 :: Qd 0x00e0c0a0 0x80604020  Qm (i32)0xffffff81  Qn (i32)0xfffffffd  fpscr: 00000000
 vqrshl.u64 d0, d1, d2 :: Qd 0x00040000 0x00040000  Qm (i32)0x00000010  Qn (i32)0x0000000e  fpscr: 00000000
 vqrshl.u64 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000010  Qn (i32)0x0000000e  fpscr: 08000000
 vqrshl.u64 d13, d14, d15 :: Qd 0x0000003f 0xfffffc00  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
-vqrshl.u64 d13, d14, d15 :: Qd 0x00000004 0xc6c686c5  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
+vqrshl.u64 d13, d14, d15 :: Qd 0x00000001 0xc1814101  Qm (i32)0xffffffef  Qn (i32)0xffffffe6  fpscr: 00000000
 vqrshl.u64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
-vqrshl.u64 d7, d8, d2 :: Qd 0x00000000 0x00000001  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
+vqrshl.u64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4  fpscr: 00000000
 vqrshl.u32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2  fpscr: 00000000
 vqrshl.u32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2  fpscr: 00000000
 vqrshl.u32 d2, d8, d4 :: Qd 0x0fffffff 0x0fffffff  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
-vqrshl.u32 d2, d8, d4 :: Qd 0x0131b1a2 0x0121f1e2  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
+vqrshl.u32 d2, d8, d4 :: Qd 0x00706050 0x00302010  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc  fpscr: 00000000
 vqrshl.u32 d12, d11, d13 :: Qd 0x00800000 0x00800000  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
-vqrshl.u32 d12, d11, d13 :: Qd 0x00098d8d 0x00090f8f  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
+vqrshl.u32 d12, d11, d13 :: Qd 0x00038303 0x00018101  Qm (i32)0xffffff88  Qn (i32)0xfffffff7  fpscr: 00000000
 vqrshl.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
-vqrshl.u32 d0, d1, d2 :: Qd 0x00263634 0x00243e3c  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
+vqrshl.u32 d0, d1, d2 :: Qd 0x000e0c0a 0x00060402  Qm (i32)0x00000022  Qn (i32)0xfffffff9  fpscr: 00000000
 vqrshl.u32 d9, d10, d11 :: Qd 0x40000004 0x40000004  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.u32 d9, d10, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.u32 d9, d10, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000008  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.u32 d13, d3, d5 :: Qd 0x40000000 0x40000000  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 00000000
-vqrshl.u32 d13, d3, d5 :: Qd 0x98d8d0d8 0x90f8f0f8  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 00000000
+vqrshl.u32 d13, d3, d5 :: Qd 0x38302820 0x18100800  Qm (i32)0x08000000  Qn (i32)0x00000003  fpscr: 00000000
 vqrshl.u16 d11, d10, d2 :: Qd 0x40000000 0x40000000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
-vqrshl.u16 d11, d10, d2 :: Qd 0x098e0000 0x09100000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
+vqrshl.u16 d11, d10, d2 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000000  Qn (i32)0xffffffe1  fpscr: 00000000
 vqrshl.u16 d3, d14, d7 :: Qd 0x40000000 0x40000000  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
-vqrshl.u16 d3, d14, d7 :: Qd 0x098e0343 0x091003c4  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
+vqrshl.u16 d3, d14, d7 :: Qd 0x038300a1 0x01810020  Qm (i32)0x80000000  Qn (i32)0xfffffffd  fpscr: 00000000
 vqrshl.u16 d0, d31, d2 :: Qd 0x40000080 0x40000080  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.u16 d0, d31, d2 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.u16 d0, d31, d2 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000100  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.u16 d1, d2, d3 :: Qd 0x40000000 0x40000000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
-vqrshl.u16 d1, d2, d3 :: Qd 0x098e0000 0x09100000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
+vqrshl.u16 d1, d2, d3 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000100  Qn (i32)0xffffffe1  fpscr: 00000000
 vqrshl.u16 d3, d4, d5 :: Qd 0x50000000 0x50000000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
-vqrshl.u16 d3, d4, d5 :: Qd 0x098e0001 0x09100001  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
+vqrshl.u16 d3, d4, d5 :: Qd 0x03830000 0x01810000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3  fpscr: 00000000
 vqrshl.u16 d0, d15, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
-vqrshl.u16 d0, d15, d2 :: Qd 0x131bffff 0x121fffff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
+vqrshl.u16 d0, d15, d2 :: Qd 0x0706ffff 0x0302ffff  Qm (i32)0x00000001  Qn (i32)0x0000001e  fpscr: 08000000
 vqrshl.u8 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
-vqrshl.u8 d2, d7, d11 :: Qd 0x131b1aff 0x121f1eff  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
+vqrshl.u8 d2, d7, d11 :: Qd 0x070605ff 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000028  fpscr: 08000000
 vqrshl.u8 d2, d7, d11 :: Qd 0x80808080 0x80808080  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.u8 d2, d7, d11 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.u8 d2, d7, d11 :: Qd 0x04030302 0x02010100  Qm (i32)0xffffffff  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.u8 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.u8 d2, d7, d11 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.u8 d2, d7, d11 :: Qd 0x04030302 0x02010100  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.u16 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.u16 d2, d7, d11 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.u16 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.u32 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.u32 d2, d7, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.u32 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x0000000f  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.u8 d2, d7, d11 :: Qd 0x8080807f 0x8080807f  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.u8 d2, d7, d11 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.u8 d2, d7, d11 :: Qd 0x04030302 0x02010100  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.u16 d2, d7, d11 :: Qd 0x80007fff 0x80007fff  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.u16 d2, d7, d11 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.u16 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.u32 d2, d7, d11 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
-vqrshl.u32 d2, d7, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
+vqrshl.u32 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0xfffffffe  Qn (i32)0xffffffff  fpscr: 00000000
 vqrshl.u8 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
-vqrshl.u8 d2, d7, d11 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
+vqrshl.u8 d2, d7, d11 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
 vqrshl.u16 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
-vqrshl.u16 d2, d7, d11 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
+vqrshl.u16 d2, d7, d11 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
 vqrshl.u32 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
-vqrshl.u32 d2, d7, d11 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
+vqrshl.u32 d2, d7, d11 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000000  fpscr: 00000000
 vqrshl.u8 d13, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
-vqrshl.u8 d13, d1, d2 :: Qd 0x131b1aff 0x121f1eff  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
+vqrshl.u8 d13, d1, d2 :: Qd 0x070605ff 0x03020100  Qm (i32)0xfffffffc  Qn (i32)0x0000001e  fpscr: 08000000
 vqrshl.u8 d3, d7, d5 :: Qd 0x80000058 0x80000058  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 00000000
-vqrshl.u8 d3, d7, d5 :: Qd 0x131b1ad8 0x121f1ef8  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 00000000
+vqrshl.u8 d3, d7, d5 :: Qd 0x07060520 0x03020100  Qm (i32)0x8000000b  Qn (i32)0x00000003  fpscr: 00000000
 vqrshl.u8 d10, d11, d12 :: Qd 0x00010000 0x00010000  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 00000000
-vqrshl.u8 d10, d11, d12 :: Qd 0x131b1aff 0x121f1eff  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 08000000
+vqrshl.u8 d10, d11, d12 :: Qd 0x070605ff 0x03020100  Qm (i32)0x00010000  Qn (i32)0x00000010  fpscr: 08000000
 vqrshl.u8 d6, d7, d8 :: Qd 0x40000000 0x40000000  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
-vqrshl.u8 d6, d7, d8 :: Qd 0x131b1a6c 0x121f1e7c  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
+vqrshl.u8 d6, d7, d8 :: Qd 0x07060510 0x03020100  Qm (i32)0x40000000  Qn (i32)0x00000002  fpscr: 00000000
 vqrshl.u8 d10, d11, d12 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
-vqrshl.u8 d10, d11, d12 :: Qd 0x131b1aff 0x121f1eff  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
+vqrshl.u8 d10, d11, d12 :: Qd 0x070605ff 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 08000000
 ---- VRSHL (register) ----
 vrshl.s64 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  Qn (i32)0x00000001
-vrshl.s64 d0, d1, d2 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  Qn (i32)0x00000001
+vrshl.s64 d0, d1, d2 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  Qn (i32)0x00000001
 vrshl.s64 d3, d4, d5 :: Qd 0xffffff03 0xffffff02  Qm (i32)0xffffff81  Qn (i32)0x00000001
-vrshl.s64 d3, d4, d5 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  Qn (i32)0x00000001
+vrshl.s64 d3, d4, d5 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  Qn (i32)0x00000001
 vrshl.s64 d3, d4, d5 :: Qd 0xfffffff0 0x3ffffff0  Qm (i32)0xffffff81  Qn (i32)0xfffffffd
-vrshl.s64 d3, d4, d5 :: Qd 0x02636343 0x6243e3c4  Qm (i32)0xffffff81  Qn (i32)0xfffffffd
+vrshl.s64 d3, d4, d5 :: Qd 0x00e0c0a0 0x80604020  Qm (i32)0xffffff81  Qn (i32)0xfffffffd
 vrshl.s64 d0, d1, d2 :: Qd 0x00040000 0x00040000  Qm (i32)0x00000010  Qn (i32)0x0000000e
-vrshl.s64 d0, d1, d2 :: Qd 0xc686c487 0xc787c000  Qm (i32)0x00000010  Qn (i32)0x0000000e
+vrshl.s64 d0, d1, d2 :: Qd 0x814100c0 0x80400000  Qm (i32)0x00000010  Qn (i32)0x0000000e
 vrshl.s64 d13, d14, d15 :: Qd 0xffffffff 0xfffffc00  Qm (i32)0xffffffef  Qn (i32)0xffffffe6
-vrshl.s64 d13, d14, d15 :: Qd 0x00000004 0xc6c686c5  Qm (i32)0xffffffef  Qn (i32)0xffffffe6
+vrshl.s64 d13, d14, d15 :: Qd 0x00000001 0xc1814101  Qm (i32)0xffffffef  Qn (i32)0xffffffe6
 vrshl.s64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4
-vrshl.s64 d7, d8, d2 :: Qd 0x00000000 0x00000001  Qm (i32)0x00000018  Qn (i32)0xffffffc4
+vrshl.s64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4
 vrshl.s32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2
 vrshl.s32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2
 vrshl.s32 d2, d8, d4 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc
-vrshl.s32 d2, d8, d4 :: Qd 0x0131b1a2 0x0121f1e2  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc
+vrshl.s32 d2, d8, d4 :: Qd 0x00706050 0x00302010  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc
 vrshl.s32 d12, d11, d13 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff88  Qn (i32)0xfffffff7
-vrshl.s32 d12, d11, d13 :: Qd 0x00098d8d 0x00090f8f  Qm (i32)0xffffff88  Qn (i32)0xfffffff7
+vrshl.s32 d12, d11, d13 :: Qd 0x00038303 0x00018101  Qm (i32)0xffffff88  Qn (i32)0xfffffff7
 vrshl.s32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000022  Qn (i32)0xfffffff9
-vrshl.s32 d0, d1, d2 :: Qd 0x00263634 0x00243e3c  Qm (i32)0x00000022  Qn (i32)0xfffffff9
+vrshl.s32 d0, d1, d2 :: Qd 0x000e0c0a 0x00060402  Qm (i32)0x00000022  Qn (i32)0xfffffff9
 vrshl.s32 d9, d10, d11 :: Qd 0xc0000004 0xc0000004  Qm (i32)0x80000008  Qn (i32)0xffffffff
-vrshl.s32 d9, d10, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0x80000008  Qn (i32)0xffffffff
+vrshl.s32 d9, d10, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000008  Qn (i32)0xffffffff
 vrshl.s32 d13, d3, d5 :: Qd 0x40000000 0x40000000  Qm (i32)0x08000000  Qn (i32)0x00000003
-vrshl.s32 d13, d3, d5 :: Qd 0x98d8d0d8 0x90f8f0f8  Qm (i32)0x08000000  Qn (i32)0x00000003
+vrshl.s32 d13, d3, d5 :: Qd 0x38302820 0x18100800  Qm (i32)0x08000000  Qn (i32)0x00000003
 vrshl.s16 d11, d10, d2 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000000  Qn (i32)0xffffffe1
-vrshl.s16 d11, d10, d2 :: Qd 0x098e0000 0x09100000  Qm (i32)0x80000000  Qn (i32)0xffffffe1
+vrshl.s16 d11, d10, d2 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000000  Qn (i32)0xffffffe1
 vrshl.s16 d3, d14, d7 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000000  Qn (i32)0xfffffffd
-vrshl.s16 d3, d14, d7 :: Qd 0x098e0343 0x091003c4  Qm (i32)0x80000000  Qn (i32)0xfffffffd
+vrshl.s16 d3, d14, d7 :: Qd 0x038300a1 0x01810020  Qm (i32)0x80000000  Qn (i32)0xfffffffd
 vrshl.s16 d0, d11, d2 :: Qd 0xc0000080 0xc0000080  Qm (i32)0x80000100  Qn (i32)0xffffffff
-vrshl.s16 d0, d11, d2 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0x80000100  Qn (i32)0xffffffff
+vrshl.s16 d0, d11, d2 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000100  Qn (i32)0xffffffff
 vrshl.s16 d1, d2, d3 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000100  Qn (i32)0xffffffe1
-vrshl.s16 d1, d2, d3 :: Qd 0x098e0000 0x09100000  Qm (i32)0x80000100  Qn (i32)0xffffffe1
+vrshl.s16 d1, d2, d3 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000100  Qn (i32)0xffffffe1
 vrshl.s16 d3, d4, d5 :: Qd 0xd0000000 0xd0000000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3
-vrshl.s16 d3, d4, d5 :: Qd 0x098e0001 0x09100001  Qm (i32)0xa0000000  Qn (i32)0xfffffff3
+vrshl.s16 d3, d4, d5 :: Qd 0x03830000 0x01810000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3
 vrshl.s16 d0, d15, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000001  Qn (i32)0x0000001e
-vrshl.s16 d0, d15, d2 :: Qd 0x131b0000 0x121f0000  Qm (i32)0x00000001  Qn (i32)0x0000001e
+vrshl.s16 d0, d15, d2 :: Qd 0x07060000 0x03020000  Qm (i32)0x00000001  Qn (i32)0x0000001e
 vrshl.s8 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff
-vrshl.s8 d2, d7, d11 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff
+vrshl.s8 d2, d7, d11 :: Qd 0x04030302 0x02010100  Qm (i32)0x0000000f  Qn (i32)0xffffffff
 vrshl.s16 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff
-vrshl.s16 d2, d7, d11 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff
+vrshl.s16 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x0000000f  Qn (i32)0xffffffff
 vrshl.s32 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff
-vrshl.s32 d2, d7, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff
+vrshl.s32 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x0000000f  Qn (i32)0xffffffff
 vrshl.s8 d2, d7, d31 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  Qn (i32)0xffffffff
-vrshl.s8 d2, d7, d31 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0xffffffff  Qn (i32)0xffffffff
+vrshl.s8 d2, d7, d31 :: Qd 0x04030302 0x02010100  Qm (i32)0xffffffff  Qn (i32)0xffffffff
 vrshl.s16 d2, d7, d31 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  Qn (i32)0xffffffff
-vrshl.s16 d2, d7, d31 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0xffffffff  Qn (i32)0xffffffff
+vrshl.s16 d2, d7, d31 :: Qd 0x03830282 0x01810080  Qm (i32)0xffffffff  Qn (i32)0xffffffff
 vrshl.s32 d2, d7, d31 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  Qn (i32)0xffffffff
-vrshl.s32 d2, d7, d31 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0xffffffff  Qn (i32)0xffffffff
+vrshl.s32 d2, d7, d31 :: Qd 0x03830282 0x01810080  Qm (i32)0xffffffff  Qn (i32)0xffffffff
 vrshl.s8 d2, d7, d11 :: Qd 0x000000ff 0x000000ff  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
-vrshl.s8 d2, d7, d11 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
+vrshl.s8 d2, d7, d11 :: Qd 0x04030302 0x02010100  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
 vrshl.s16 d2, d7, d11 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
-vrshl.s16 d2, d7, d11 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
+vrshl.s16 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
 vrshl.s32 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
-vrshl.s32 d2, d7, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
+vrshl.s32 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
 vrshl.s8 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  Qn (i32)0x00000000
-vrshl.s8 d2, d7, d11 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff  Qn (i32)0x00000000
+vrshl.s8 d2, d7, d11 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000000
 vrshl.s16 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  Qn (i32)0x00000000
-vrshl.s16 d2, d7, d11 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff  Qn (i32)0x00000000
+vrshl.s16 d2, d7, d11 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000000
 vrshl.s32 d2, d7, d11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  Qn (i32)0x00000000
-vrshl.s32 d2, d7, d11 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff  Qn (i32)0x00000000
+vrshl.s32 d2, d7, d11 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000000
 vrshl.s8 d2, d7, d11 :: Qd 0xffffff00 0xffffff00  Qm (i32)0xffffffff  Qn (i32)0x00000028
-vrshl.s8 d2, d7, d11 :: Qd 0x131b1a00 0x121f1e00  Qm (i32)0xffffffff  Qn (i32)0x00000028
+vrshl.s8 d2, d7, d11 :: Qd 0x07060500 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000028
 vrshl.s8 d13, d1, d2 :: Qd 0xffffff00 0xffffff00  Qm (i32)0xfffffffc  Qn (i32)0x0000001e
-vrshl.s8 d13, d1, d2 :: Qd 0x131b1a00 0x121f1e00  Qm (i32)0xfffffffc  Qn (i32)0x0000001e
+vrshl.s8 d13, d1, d2 :: Qd 0x07060500 0x03020100  Qm (i32)0xfffffffc  Qn (i32)0x0000001e
 vrshl.s8 d3, d7, d5 :: Qd 0x80000058 0x80000058  Qm (i32)0x8000000b  Qn (i32)0x00000003
-vrshl.s8 d3, d7, d5 :: Qd 0x131b1ad8 0x121f1ef8  Qm (i32)0x8000000b  Qn (i32)0x00000003
+vrshl.s8 d3, d7, d5 :: Qd 0x07060520 0x03020100  Qm (i32)0x8000000b  Qn (i32)0x00000003
 vrshl.s8 d10, d11, d12 :: Qd 0x00010000 0x00010000  Qm (i32)0x00010000  Qn (i32)0x00000010
-vrshl.s8 d10, d11, d12 :: Qd 0x131b1a00 0x121f1e00  Qm (i32)0x00010000  Qn (i32)0x00000010
+vrshl.s8 d10, d11, d12 :: Qd 0x07060500 0x03020100  Qm (i32)0x00010000  Qn (i32)0x00000010
 vrshl.s8 d6, d7, d8 :: Qd 0x40000000 0x40000000  Qm (i32)0x40000000  Qn (i32)0x00000002
-vrshl.s8 d6, d7, d8 :: Qd 0x131b1a6c 0x121f1e7c  Qm (i32)0x40000000  Qn (i32)0x00000002
+vrshl.s8 d6, d7, d8 :: Qd 0x07060510 0x03020100  Qm (i32)0x40000000  Qn (i32)0x00000002
 vrshl.s8 d10, d11, d12 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078
-vrshl.s8 d10, d11, d12 :: Qd 0x131b1a00 0x121f1e00  Qm (i32)0x00000018  Qn (i32)0x00000078
+vrshl.s8 d10, d11, d12 :: Qd 0x07060500 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000078
 vrshl.u64 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000001  Qn (i32)0x00000001
-vrshl.u64 d0, d1, d2 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0x00000001  Qn (i32)0x00000001
+vrshl.u64 d0, d1, d2 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x00000001  Qn (i32)0x00000001
 vrshl.u64 d3, d4, d5 :: Qd 0xffffff03 0xffffff02  Qm (i32)0xffffff81  Qn (i32)0x00000001
-vrshl.u64 d3, d4, d5 :: Qd 0x26363436 0x243e3c3e  Qm (i32)0xffffff81  Qn (i32)0x00000001
+vrshl.u64 d3, d4, d5 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0xffffff81  Qn (i32)0x00000001
 vrshl.u64 d3, d4, d5 :: Qd 0x1ffffff0 0x3ffffff0  Qm (i32)0xffffff81  Qn (i32)0xfffffffd
-vrshl.u64 d3, d4, d5 :: Qd 0x02636343 0x6243e3c4  Qm (i32)0xffffff81  Qn (i32)0xfffffffd
+vrshl.u64 d3, d4, d5 :: Qd 0x00e0c0a0 0x80604020  Qm (i32)0xffffff81  Qn (i32)0xfffffffd
 vrshl.u64 d0, d1, d2 :: Qd 0x00040000 0x00040000  Qm (i32)0x00000010  Qn (i32)0x0000000e
-vrshl.u64 d0, d1, d2 :: Qd 0xc686c487 0xc787c000  Qm (i32)0x00000010  Qn (i32)0x0000000e
+vrshl.u64 d0, d1, d2 :: Qd 0x814100c0 0x80400000  Qm (i32)0x00000010  Qn (i32)0x0000000e
 vrshl.u64 d13, d14, d15 :: Qd 0x0000003f 0xfffffc00  Qm (i32)0xffffffef  Qn (i32)0xffffffe6
-vrshl.u64 d13, d14, d15 :: Qd 0x00000004 0xc6c686c5  Qm (i32)0xffffffef  Qn (i32)0xffffffe6
+vrshl.u64 d13, d14, d15 :: Qd 0x00000001 0xc1814101  Qm (i32)0xffffffef  Qn (i32)0xffffffe6
 vrshl.u64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4
-vrshl.u64 d7, d8, d2 :: Qd 0x00000000 0x00000001  Qm (i32)0x00000018  Qn (i32)0xffffffc4
+vrshl.u64 d7, d8, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0xffffffc4
 vrshl.u32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2
 vrshl.u32 d3, d4, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000007f  Qn (i32)0xffffffe2
 vrshl.u32 d2, d8, d4 :: Qd 0x0fffffff 0x0fffffff  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc
-vrshl.u32 d2, d8, d4 :: Qd 0x0131b1a2 0x0121f1e2  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc
+vrshl.u32 d2, d8, d4 :: Qd 0x00706050 0x00302010  Qm (i32)0xfffffff5  Qn (i32)0xfffffffc
 vrshl.u32 d12, d11, d13 :: Qd 0x00800000 0x00800000  Qm (i32)0xffffff88  Qn (i32)0xfffffff7
-vrshl.u32 d12, d11, d13 :: Qd 0x00098d8d 0x00090f8f  Qm (i32)0xffffff88  Qn (i32)0xfffffff7
+vrshl.u32 d12, d11, d13 :: Qd 0x00038303 0x00018101  Qm (i32)0xffffff88  Qn (i32)0xfffffff7
 vrshl.u32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000022  Qn (i32)0xfffffff9
-vrshl.u32 d0, d1, d2 :: Qd 0x00263634 0x00243e3c  Qm (i32)0x00000022  Qn (i32)0xfffffff9
+vrshl.u32 d0, d1, d2 :: Qd 0x000e0c0a 0x00060402  Qm (i32)0x00000022  Qn (i32)0xfffffff9
 vrshl.u32 d9, d10, d11 :: Qd 0x40000004 0x40000004  Qm (i32)0x80000008  Qn (i32)0xffffffff
-vrshl.u32 d9, d10, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0x80000008  Qn (i32)0xffffffff
+vrshl.u32 d9, d10, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000008  Qn (i32)0xffffffff
 vrshl.u32 d13, d3, d5 :: Qd 0x40000000 0x40000000  Qm (i32)0x08000000  Qn (i32)0x00000003
-vrshl.u32 d13, d3, d5 :: Qd 0x98d8d0d8 0x90f8f0f8  Qm (i32)0x08000000  Qn (i32)0x00000003
+vrshl.u32 d13, d3, d5 :: Qd 0x38302820 0x18100800  Qm (i32)0x08000000  Qn (i32)0x00000003
 vrshl.u16 d11, d10, d2 :: Qd 0x40000000 0x40000000  Qm (i32)0x80000000  Qn (i32)0xffffffe1
-vrshl.u16 d11, d10, d2 :: Qd 0x098e0000 0x09100000  Qm (i32)0x80000000  Qn (i32)0xffffffe1
+vrshl.u16 d11, d10, d2 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000000  Qn (i32)0xffffffe1
 vrshl.u16 d3, d14, d7 :: Qd 0x40000000 0x40000000  Qm (i32)0x80000000  Qn (i32)0xfffffffd
-vrshl.u16 d3, d14, d7 :: Qd 0x098e0343 0x091003c4  Qm (i32)0x80000000  Qn (i32)0xfffffffd
+vrshl.u16 d3, d14, d7 :: Qd 0x038300a1 0x01810020  Qm (i32)0x80000000  Qn (i32)0xfffffffd
 vrshl.u16 d0, d31, d2 :: Qd 0x40000080 0x40000080  Qm (i32)0x80000100  Qn (i32)0xffffffff
-vrshl.u16 d0, d31, d2 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0x80000100  Qn (i32)0xffffffff
+vrshl.u16 d0, d31, d2 :: Qd 0x03830282 0x01810080  Qm (i32)0x80000100  Qn (i32)0xffffffff
 vrshl.u16 d1, d2, d3 :: Qd 0x40000000 0x40000000  Qm (i32)0x80000100  Qn (i32)0xffffffe1
-vrshl.u16 d1, d2, d3 :: Qd 0x098e0000 0x09100000  Qm (i32)0x80000100  Qn (i32)0xffffffe1
+vrshl.u16 d1, d2, d3 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000100  Qn (i32)0xffffffe1
 vrshl.u16 d3, d4, d5 :: Qd 0x50000000 0x50000000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3
-vrshl.u16 d3, d4, d5 :: Qd 0x098e0001 0x09100001  Qm (i32)0xa0000000  Qn (i32)0xfffffff3
+vrshl.u16 d3, d4, d5 :: Qd 0x03830000 0x01810000  Qm (i32)0xa0000000  Qn (i32)0xfffffff3
 vrshl.u16 d0, d15, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000001  Qn (i32)0x0000001e
-vrshl.u16 d0, d15, d2 :: Qd 0x131b0000 0x121f0000  Qm (i32)0x00000001  Qn (i32)0x0000001e
+vrshl.u16 d0, d15, d2 :: Qd 0x07060000 0x03020000  Qm (i32)0x00000001  Qn (i32)0x0000001e
 vrshl.u8 d2, d7, d11 :: Qd 0xffffff00 0xffffff00  Qm (i32)0xffffffff  Qn (i32)0x00000028
-vrshl.u8 d2, d7, d11 :: Qd 0x131b1a00 0x121f1e00  Qm (i32)0xffffffff  Qn (i32)0x00000028
+vrshl.u8 d2, d7, d11 :: Qd 0x07060500 0x03020100  Qm (i32)0xffffffff  Qn (i32)0x00000028
 vrshl.u8 d2, d7, d11 :: Qd 0x80808080 0x80808080  Qm (i32)0xffffffff  Qn (i32)0xffffffff
-vrshl.u8 d2, d7, d11 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0xffffffff  Qn (i32)0xffffffff
+vrshl.u8 d2, d7, d11 :: Qd 0x04030302 0x02010100  Qm (i32)0xffffffff  Qn (i32)0xffffffff
 vrshl.u8 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff
-vrshl.u8 d2, d7, d11 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff
+vrshl.u8 d2, d7, d11 :: Qd 0x04030302 0x02010100  Qm (i32)0x0000000f  Qn (i32)0xffffffff
 vrshl.u16 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff
-vrshl.u16 d2, d7, d11 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff
+vrshl.u16 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x0000000f  Qn (i32)0xffffffff
 vrshl.u32 d2, d7, d11 :: Qd 0x00000008 0x00000008  Qm (i32)0x0000000f  Qn (i32)0xffffffff
-vrshl.u32 d2, d7, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0x0000000f  Qn (i32)0xffffffff
+vrshl.u32 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0x0000000f  Qn (i32)0xffffffff
 vrshl.u8 d2, d7, d11 :: Qd 0x80808080 0x80808080  Qm (i32)0xffffffff  Qn (i32)0xffffffff
-vrshl.u8 d2, d7, d11 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0xffffffff  Qn (i32)0xffffffff
+vrshl.u8 d2, d7, d11 :: Qd 0x04030302 0x02010100  Qm (i32)0xffffffff  Qn (i32)0xffffffff
 vrshl.u16 d2, d7, d11 :: Qd 0x80008000 0x80008000  Qm (i32)0xffffffff  Qn (i32)0xffffffff
-vrshl.u16 d2, d7, d11 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0xffffffff  Qn (i32)0xffffffff
+vrshl.u16 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0xffffffff  Qn (i32)0xffffffff
 vrshl.u32 d2, d7, d11 :: Qd 0x80000000 0x80000000  Qm (i32)0xffffffff  Qn (i32)0xffffffff
-vrshl.u32 d2, d7, d11 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0xffffffff  Qn (i32)0xffffffff
+vrshl.u32 d2, d7, d11 :: Qd 0x03830282 0x01810080  Qm (i32)0xffffffff  Qn (i32)0xffffffff
 vrshl.u8 d2, d7, d31 :: Qd 0x8080807f 0x8080807f  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
-vrshl.u8 d2, d7, d31 :: Qd 0x0a0e0d0e 0x09100f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
+vrshl.u8 d2, d7, d31 :: Qd 0x04030302 0x02010100  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
 vrshl.u16 d2, d7, d31 :: Qd 0x80007fff 0x80007fff  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
-vrshl.u16 d2, d7, d31 :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
+vrshl.u16 d2, d7, d31 :: Qd 0x03830282 0x01810080  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
 vrshl.u32 d2, d7, d31 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
-vrshl.u32 d2, d7, d31 :: Qd 0x098d8d0e 0x090f8f10  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
+vrshl.u32 d2, d7, d31 :: Qd 0x03830282 0x01810080  Qm (i32)0xfffffffe  Qn (i32)0xffffffff
 vrshl.u8 d13, d1, d2 :: Qd 0xffffff00 0xffffff00  Qm (i32)0xfffffffc  Qn (i32)0x0000001e
-vrshl.u8 d13, d1, d2 :: Qd 0x131b1a00 0x121f1e00  Qm (i32)0xfffffffc  Qn (i32)0x0000001e
+vrshl.u8 d13, d1, d2 :: Qd 0x07060500 0x03020100  Qm (i32)0xfffffffc  Qn (i32)0x0000001e
 vrshl.u8 d3, d7, d5 :: Qd 0x80000058 0x80000058  Qm (i32)0x8000000b  Qn (i32)0x00000003
-vrshl.u8 d3, d7, d5 :: Qd 0x131b1ad8 0x121f1ef8  Qm (i32)0x8000000b  Qn (i32)0x00000003
+vrshl.u8 d3, d7, d5 :: Qd 0x07060520 0x03020100  Qm (i32)0x8000000b  Qn (i32)0x00000003
 vrshl.u8 d10, d11, d12 :: Qd 0x00010000 0x00010000  Qm (i32)0x00010000  Qn (i32)0x00000010
-vrshl.u8 d10, d11, d12 :: Qd 0x131b1a00 0x121f1e00  Qm (i32)0x00010000  Qn (i32)0x00000010
+vrshl.u8 d10, d11, d12 :: Qd 0x07060500 0x03020100  Qm (i32)0x00010000  Qn (i32)0x00000010
 vrshl.u8 d6, d7, d8 :: Qd 0x40000000 0x40000000  Qm (i32)0x40000000  Qn (i32)0x00000002
-vrshl.u8 d6, d7, d8 :: Qd 0x131b1a6c 0x121f1e7c  Qm (i32)0x40000000  Qn (i32)0x00000002
+vrshl.u8 d6, d7, d8 :: Qd 0x07060510 0x03020100  Qm (i32)0x40000000  Qn (i32)0x00000002
 vrshl.u8 d10, d11, d12 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078
-vrshl.u8 d10, d11, d12 :: Qd 0x131b1a00 0x121f1e00  Qm (i32)0x00000018  Qn (i32)0x00000078
+vrshl.u8 d10, d11, d12 :: Qd 0x07060500 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VMAX (integer) ----
 vmax.s32 d0, d1, d2 :: Qd 0x00000079 0x00000079  Qm (i32)0x00000019  Qn (i32)0x00000079
-vmax.s32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000019  Qn (i32)0x00000079
+vmax.s32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000019  Qn (i32)0x00000079
 vmax.s32 d0, d1, d2 :: Qd 0x000000fa 0x000000fa  Qm (i32)0x000000fa  Qn (i32)0x00000079
-vmax.s32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x000000fa  Qn (i32)0x00000079
+vmax.s32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x000000fa  Qn (i32)0x00000079
 vmax.s32 d0, d1, d2 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c  Qn (i32)0x0000008c
-vmax.s32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x0000008c  Qn (i32)0x0000008c
+vmax.s32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vmax.s16 d0, d1, d2 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vmax.s16 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vmax.s16 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vmax.s8 d0, d1, d2 :: Qd 0x00000078 0x00000078  Qm (i32)0x00000078  Qn (i32)0x00000078
-vmax.s8 d0, d1, d2 :: Qd 0x131b1a78 0x121f1e78  Qm (i32)0x00000078  Qn (i32)0x00000078
+vmax.s8 d0, d1, d2 :: Qd 0x07060578 0x03020178  Qm (i32)0x00000078  Qn (i32)0x00000078
 vmax.s8 d5, d7, d5 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmax.s8 d5, d7, d5 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmax.s8 d5, d7, d5 :: Qd 0x07060504 0x03020102  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmax.s16 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmax.s16 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmax.s16 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmax.s32 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmax.s32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmax.s32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmax.s8 d5, d7, d5 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000003
-vmax.s8 d5, d7, d5 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vmax.s8 d5, d7, d5 :: Qd 0x07060504 0x03020103  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmax.s16 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000003
-vmax.s16 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vmax.s16 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmax.s32 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000003
-vmax.s32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vmax.s32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmax.s8 d5, d7, d5 :: Qd 0x80000004 0x80000004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vmax.s8 d5, d7, d5 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vmax.s8 d5, d7, d5 :: Qd 0x07060504 0x03020102  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmax.s16 d0, d1, d2 :: Qd 0x80000004 0x80000004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vmax.s16 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vmax.s16 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmax.s32 d0, d1, d2 :: Qd 0x80000004 0x80000004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vmax.s32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vmax.s32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmax.s32 d10, d11, d12 :: Qd 0x00000078 0x00000078  Qm (i32)0x00000018  Qn (i32)0x00000078
-vmax.s32 d10, d11, d12 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000018  Qn (i32)0x00000078
+vmax.s32 d10, d11, d12 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000078
 vmax.u32 d0, d1, d2 :: Qd 0x00000078 0x00000078  Qm (i32)0x00000019  Qn (i32)0x00000078
-vmax.u32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000019  Qn (i32)0x00000078
+vmax.u32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000019  Qn (i32)0x00000078
 vmax.u32 d0, d1, d2 :: Qd 0x000000fa 0x000000fa  Qm (i32)0x000000fa  Qn (i32)0x00000078
-vmax.u32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x000000fa  Qn (i32)0x00000078
+vmax.u32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x000000fa  Qn (i32)0x00000078
 vmax.u32 d0, d1, d2 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c  Qn (i32)0x0000008c
-vmax.u32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x0000008c  Qn (i32)0x0000008c
+vmax.u32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vmax.u16 d0, d1, d2 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vmax.u16 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vmax.u16 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vmax.u8 d0, d1, d2 :: Qd 0x00000078 0x00000078  Qm (i32)0x00000078  Qn (i32)0x00000078
-vmax.u8 d0, d1, d2 :: Qd 0x131b1a78 0x121f1e78  Qm (i32)0x00000078  Qn (i32)0x00000078
+vmax.u8 d0, d1, d2 :: Qd 0x07060578 0x03020178  Qm (i32)0x00000078  Qn (i32)0x00000078
 vmax.u8 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmax.u8 d0, d1, d2 :: Qd 0x801b1a1b 0x801f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmax.u8 d0, d1, d2 :: Qd 0x80060504 0x80020102  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmax.u16 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmax.u16 d0, d1, d2 :: Qd 0x80001a1b 0x80001e1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmax.u16 d0, d1, d2 :: Qd 0x80000504 0x80000100  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmax.u32 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmax.u32 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmax.u8 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000003
-vmax.u8 d0, d1, d2 :: Qd 0x801b1a1b 0x801f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vmax.u8 d0, d1, d2 :: Qd 0x80060504 0x80020103  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmax.u16 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000003
-vmax.u16 d0, d1, d2 :: Qd 0x80001a1b 0x80001e1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vmax.u16 d0, d1, d2 :: Qd 0x80000504 0x80000100  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmax.u32 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmax.u32 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmax.u8 d0, d1, d2 :: Qd 0x80000004 0x80000004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vmax.u8 d0, d1, d2 :: Qd 0x801b1a1b 0x801f1e1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vmax.u8 d0, d1, d2 :: Qd 0x80060504 0x80020102  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmax.u16 d0, d1, d2 :: Qd 0x80000004 0x80000004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vmax.u16 d0, d1, d2 :: Qd 0x80001a1b 0x80001e1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vmax.u16 d0, d1, d2 :: Qd 0x80000504 0x80000100  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmax.u32 d0, d1, d2 :: Qd 0x80000004 0x80000004  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmax.u32 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmax.u32 d10, d11, d12 :: Qd 0x00000078 0x00000078  Qm (i32)0x00000018  Qn (i32)0x00000078
-vmax.u32 d10, d11, d12 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000018  Qn (i32)0x00000078
+vmax.u32 d10, d11, d12 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VMIN (integer) ----
 vmin.s32 d0, d1, d2 :: Qd 0x00000019 0x00000019  Qm (i32)0x00000019  Qn (i32)0x00000079
 vmin.s32 d0, d1, d2 :: Qd 0x00000079 0x00000079  Qm (i32)0x00000019  Qn (i32)0x00000079
@@ -1393,19 +1393,19 @@
 vmin.s8 d0, d1, d2 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vmin.s8 d0, d1, d2 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vmin.s8 d5, d7, d5 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmin.s8 d5, d7, d5 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmin.s8 d5, d7, d5 :: Qd 0x80000002 0x80000000  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmin.s16 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmin.s16 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmin.s32 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmin.s32 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmin.s8 d5, d7, d5 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vmin.s8 d5, d7, d5 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000003
+vmin.s8 d5, d7, d5 :: Qd 0x80000003 0x80000000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmin.s16 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmin.s16 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmin.s32 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmin.s32 d0, d1, d2 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmin.s8 d5, d7, d5 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000004  Qn (i32)0x80000002
-vmin.s8 d5, d7, d5 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000004  Qn (i32)0x80000002
+vmin.s8 d5, d7, d5 :: Qd 0x80000002 0x80000000  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmin.s16 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmin.s16 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmin.s32 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000004  Qn (i32)0x80000002
@@ -1421,184 +1421,184 @@
 vmin.u16 d0, d1, d2 :: Qd 0x00000078 0x00000078  Qm (i32)0x00000078  Qn (i32)0x00000078
 vmin.u16 d0, d1, d2 :: Qd 0x00000078 0x00000078  Qm (i32)0x00000078  Qn (i32)0x00000078
 vmin.u8 d0, d1, d2 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c  Qn (i32)0x0000008c
-vmin.u8 d0, d1, d2 :: Qd 0x0000001b 0x0000001f  Qm (i32)0x0000008c  Qn (i32)0x0000008c
+vmin.u8 d0, d1, d2 :: Qd 0x00000004 0x00000000  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vmin.u8 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmin.u8 d0, d1, d2 :: Qd 0x13000002 0x12000002  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmin.u8 d0, d1, d2 :: Qd 0x07000002 0x03000000  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmin.u16 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmin.u16 d0, d1, d2 :: Qd 0x131b0002 0x121f0002  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmin.u16 d0, d1, d2 :: Qd 0x07060002 0x03020002  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmin.u32 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmin.u32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmin.u32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmin.u8 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vmin.u8 d0, d1, d2 :: Qd 0x13000003 0x12000003  Qm (i32)0x80000001  Qn (i32)0x80000003
+vmin.u8 d0, d1, d2 :: Qd 0x07000003 0x03000000  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmin.u16 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vmin.u16 d0, d1, d2 :: Qd 0x131b0003 0x121f0003  Qm (i32)0x80000001  Qn (i32)0x80000003
+vmin.u16 d0, d1, d2 :: Qd 0x07060003 0x03020003  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmin.u32 d0, d1, d2 :: Qd 0x80000001 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vmin.u32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vmin.u32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000001  Qn (i32)0x80000003
 vmin.u8 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000004  Qn (i32)0x80000002
-vmin.u8 d0, d1, d2 :: Qd 0x13000002 0x12000002  Qm (i32)0x80000004  Qn (i32)0x80000002
+vmin.u8 d0, d1, d2 :: Qd 0x07000002 0x03000000  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmin.u16 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000004  Qn (i32)0x80000002
-vmin.u16 d0, d1, d2 :: Qd 0x131b0002 0x121f0002  Qm (i32)0x80000004  Qn (i32)0x80000002
+vmin.u16 d0, d1, d2 :: Qd 0x07060002 0x03020002  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmin.u32 d0, d1, d2 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000004  Qn (i32)0x80000002
-vmin.u32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vmin.u32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000004  Qn (i32)0x80000002
 vmin.u32 d10, d11, d12 :: Qd 0x00000018 0x00000018  Qm (i32)0x00000018  Qn (i32)0x00000078
 vmin.u32 d10, d11, d12 :: Qd 0x00000078 0x00000078  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VABD ----
 vabd.s32 d0, d1, d2 :: Qd 0x0000005f 0x0000005f  Qm (i32)0x00000019  Qn (i32)0x00000078
-vabd.s32 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x00000019  Qn (i32)0x00000078
+vabd.s32 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x00000019  Qn (i32)0x00000078
 vabd.s32 d0, d1, d2 :: Qd 0x00000060 0x00000060  Qm (i32)0x00000019  Qn (i32)0x00000079
-vabd.s32 d0, d1, d2 :: Qd 0x131b19a2 0x121f1da6  Qm (i32)0x00000019  Qn (i32)0x00000079
+vabd.s32 d0, d1, d2 :: Qd 0x0706048b 0x03020087  Qm (i32)0x00000019  Qn (i32)0x00000079
 vabd.s32 d0, d1, d2 :: Qd 0x00000104 0x00000104  Qm (i32)0x0000008c  Qn (i32)0xffffff88
-vabd.s32 d0, d1, d2 :: Qd 0x131b1a93 0x121f1e97  Qm (i32)0x0000008c  Qn (i32)0xffffff88
+vabd.s32 d0, d1, d2 :: Qd 0x0706057c 0x03020178  Qm (i32)0x0000008c  Qn (i32)0xffffff88
 vabd.s16 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vabd.s16 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vabd.s16 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vabd.s8 d0, d1, d2 :: Qd 0x000000ec 0x000000ec  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vabd.s8 d0, d1, d2 :: Qd 0x131b1a5d 0x121f1e59  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vabd.s8 d0, d1, d2 :: Qd 0x07060574 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vabd.s8 d5, d7, d5 :: Qd 0x00000001 0x00000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vabd.s8 d5, d7, d5 :: Qd 0x931b1a19 0x921f1e1d  Qm (i32)0x80000001  Qn (i32)0x80000002
+vabd.s8 d5, d7, d5 :: Qd 0x87060502 0x83020102  Qm (i32)0x80000001  Qn (i32)0x80000002
 vabd.s8 d5, d7, d5 :: Qd 0x7f010101 0x7f010101  Qm (i32)0xffffff01  Qn (i32)0x80000002
-vabd.s8 d5, d7, d5 :: Qd 0x931b1a19 0x921f1e1d  Qm (i32)0xffffff01  Qn (i32)0x80000002
+vabd.s8 d5, d7, d5 :: Qd 0x87060502 0x83020102  Qm (i32)0xffffff01  Qn (i32)0x80000002
 vabd.s8 d5, d7, d5 :: Qd 0x7f010137 0x7f010137  Qm (i32)0x80000001  Qn (i32)0xffffff38
-vabd.s8 d5, d7, d5 :: Qd 0x141c1b1d 0x13201f19  Qm (i32)0x80000001  Qn (i32)0xffffff38
+vabd.s8 d5, d7, d5 :: Qd 0x08070634 0x04030238  Qm (i32)0x80000001  Qn (i32)0xffffff38
 vabd.s16 d0, d1, d2 :: Qd 0x00000001 0x00000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vabd.s16 d0, d1, d2 :: Qd 0x931b1a19 0x921f1e1d  Qm (i32)0x80000001  Qn (i32)0x80000002
+vabd.s16 d0, d1, d2 :: Qd 0x87060502 0x830200fe  Qm (i32)0x80000001  Qn (i32)0x80000002
 vabd.s32 d0, d1, d2 :: Qd 0x00000001 0x00000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vabd.s32 d0, d1, d2 :: Qd 0x931b1a19 0x921f1e1d  Qm (i32)0x80000001  Qn (i32)0x80000002
+vabd.s32 d0, d1, d2 :: Qd 0x87060502 0x830200fe  Qm (i32)0x80000001  Qn (i32)0x80000002
 vabd.s8 d5, d7, d5 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vabd.s8 d5, d7, d5 :: Qd 0x931b1a18 0x921f1e1c  Qm (i32)0x80000001  Qn (i32)0x80000003
+vabd.s8 d5, d7, d5 :: Qd 0x87060501 0x83020103  Qm (i32)0x80000001  Qn (i32)0x80000003
 vabd.s16 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vabd.s16 d0, d1, d2 :: Qd 0x931b1a18 0x921f1e1c  Qm (i32)0x80000001  Qn (i32)0x80000003
+vabd.s16 d0, d1, d2 :: Qd 0x87060501 0x830200fd  Qm (i32)0x80000001  Qn (i32)0x80000003
 vabd.s32 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vabd.s32 d0, d1, d2 :: Qd 0x931b1a18 0x921f1e1c  Qm (i32)0x80000001  Qn (i32)0x80000003
+vabd.s32 d0, d1, d2 :: Qd 0x87060501 0x830200fd  Qm (i32)0x80000001  Qn (i32)0x80000003
 vabd.s8 d5, d7, d5 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000004  Qn (i32)0x80000002
-vabd.s8 d5, d7, d5 :: Qd 0x931b1a19 0x921f1e1d  Qm (i32)0x80000004  Qn (i32)0x80000002
+vabd.s8 d5, d7, d5 :: Qd 0x87060502 0x83020102  Qm (i32)0x80000004  Qn (i32)0x80000002
 vabd.s16 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000004  Qn (i32)0x80000002
-vabd.s16 d0, d1, d2 :: Qd 0x931b1a19 0x921f1e1d  Qm (i32)0x80000004  Qn (i32)0x80000002
+vabd.s16 d0, d1, d2 :: Qd 0x87060502 0x830200fe  Qm (i32)0x80000004  Qn (i32)0x80000002
 vabd.s32 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000004  Qn (i32)0x80000002
-vabd.s32 d0, d1, d2 :: Qd 0x931b1a19 0x921f1e1d  Qm (i32)0x80000004  Qn (i32)0x80000002
+vabd.s32 d0, d1, d2 :: Qd 0x87060502 0x830200fe  Qm (i32)0x80000004  Qn (i32)0x80000002
 vabd.s32 d10, d11, d12 :: Qd 0x00000060 0x00000060  Qm (i32)0x00000018  Qn (i32)0x00000078
-vabd.s32 d10, d11, d12 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x00000018  Qn (i32)0x00000078
+vabd.s32 d10, d11, d12 :: Qd 0x0706048c 0x03020088  Qm (i32)0x00000018  Qn (i32)0x00000078
 vabd.u32 d0, d1, d2 :: Qd 0x0000005f 0x0000005f  Qm (i32)0x00000019  Qn (i32)0x00000078
-vabd.u32 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x00000019  Qn (i32)0x00000078
+vabd.u32 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x00000019  Qn (i32)0x00000078
 vabd.u32 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vabd.u32 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vabd.u32 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vabd.u16 d0, d1, d2 :: Qd 0xfffffefc 0xfffffefc  Qm (i32)0xffffff74  Qn (i32)0x00000078
-vabd.u16 d0, d1, d2 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0xffffff74  Qn (i32)0x00000078
+vabd.u16 d0, d1, d2 :: Qd 0x0706048c 0x03020088  Qm (i32)0xffffff74  Qn (i32)0x00000078
 vabd.u8 d0, d1, d2 :: Qd 0x00000014 0x00000014  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vabd.u8 d0, d1, d2 :: Qd 0x131b1a5d 0x121f1e59  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vabd.u8 d0, d1, d2 :: Qd 0x07060574 0x03020178  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vabd.u8 d5, d7, d5 :: Qd 0x7fffff01 0x7fffff01  Qm (i32)0xffffff01  Qn (i32)0x80000002
-vabd.u8 d5, d7, d5 :: Qd 0x6d1b1a19 0x6e1f1e1d  Qm (i32)0xffffff01  Qn (i32)0x80000002
+vabd.u8 d5, d7, d5 :: Qd 0x79060502 0x7d020102  Qm (i32)0xffffff01  Qn (i32)0x80000002
 vabd.u8 d5, d7, d5 :: Qd 0x7fffff37 0x7fffff37  Qm (i32)0x80000001  Qn (i32)0xffffff38
-vabd.u8 d5, d7, d5 :: Qd 0xece4e51d 0xede0e119  Qm (i32)0x80000001  Qn (i32)0xffffff38
+vabd.u8 d5, d7, d5 :: Qd 0xf8f9fa34 0xfcfdfe38  Qm (i32)0x80000001  Qn (i32)0xffffff38
 vabd.u8 d0, d1, d2 :: Qd 0x00000001 0x00000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vabd.u8 d0, d1, d2 :: Qd 0x6d1b1a19 0x6e1f1e1d  Qm (i32)0x80000001  Qn (i32)0x80000002
+vabd.u8 d0, d1, d2 :: Qd 0x79060502 0x7d020102  Qm (i32)0x80000001  Qn (i32)0x80000002
 vabd.u16 d0, d1, d2 :: Qd 0x00000001 0x00000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vabd.u16 d0, d1, d2 :: Qd 0x6ce51a19 0x6de11e1d  Qm (i32)0x80000001  Qn (i32)0x80000002
+vabd.u16 d0, d1, d2 :: Qd 0x78fa0502 0x7cfe00fe  Qm (i32)0x80000001  Qn (i32)0x80000002
 vabd.u32 d0, d1, d2 :: Qd 0x00000001 0x00000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vabd.u32 d0, d1, d2 :: Qd 0x6ce4e5e7 0x6de0e1e3  Qm (i32)0x80000001  Qn (i32)0x80000002
+vabd.u32 d0, d1, d2 :: Qd 0x78f9fafe 0x7cfdff02  Qm (i32)0x80000001  Qn (i32)0x80000002
 vabd.u8 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vabd.u8 d0, d1, d2 :: Qd 0x6d1b1a18 0x6e1f1e1c  Qm (i32)0x80000001  Qn (i32)0x80000003
+vabd.u8 d0, d1, d2 :: Qd 0x79060501 0x7d020103  Qm (i32)0x80000001  Qn (i32)0x80000003
 vabd.u16 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vabd.u16 d0, d1, d2 :: Qd 0x6ce51a18 0x6de11e1c  Qm (i32)0x80000001  Qn (i32)0x80000003
+vabd.u16 d0, d1, d2 :: Qd 0x78fa0501 0x7cfe00fd  Qm (i32)0x80000001  Qn (i32)0x80000003
 vabd.u32 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000001  Qn (i32)0x80000003
-vabd.u32 d0, d1, d2 :: Qd 0x6ce4e5e8 0x6de0e1e4  Qm (i32)0x80000001  Qn (i32)0x80000003
+vabd.u32 d0, d1, d2 :: Qd 0x78f9faff 0x7cfdff03  Qm (i32)0x80000001  Qn (i32)0x80000003
 vabd.u8 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000004  Qn (i32)0x80000002
-vabd.u8 d0, d1, d2 :: Qd 0x6d1b1a19 0x6e1f1e1d  Qm (i32)0x80000004  Qn (i32)0x80000002
+vabd.u8 d0, d1, d2 :: Qd 0x79060502 0x7d020102  Qm (i32)0x80000004  Qn (i32)0x80000002
 vabd.u16 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000004  Qn (i32)0x80000002
-vabd.u16 d0, d1, d2 :: Qd 0x6ce51a19 0x6de11e1d  Qm (i32)0x80000004  Qn (i32)0x80000002
+vabd.u16 d0, d1, d2 :: Qd 0x78fa0502 0x7cfe00fe  Qm (i32)0x80000004  Qn (i32)0x80000002
 vabd.u32 d0, d1, d2 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000004  Qn (i32)0x80000002
-vabd.u32 d0, d1, d2 :: Qd 0x6ce4e5e7 0x6de0e1e3  Qm (i32)0x80000004  Qn (i32)0x80000002
+vabd.u32 d0, d1, d2 :: Qd 0x78f9fafe 0x7cfdff02  Qm (i32)0x80000004  Qn (i32)0x80000002
 vabd.u32 d10, d11, d12 :: Qd 0x00000060 0x00000060  Qm (i32)0x00000018  Qn (i32)0x00000078
-vabd.u32 d10, d11, d12 :: Qd 0x131b19a3 0x121f1da7  Qm (i32)0x00000018  Qn (i32)0x00000078
+vabd.u32 d10, d11, d12 :: Qd 0x0706048c 0x03020088  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VABA ----
 vaba.s32 d0, d1, d2 :: Qd 0x555555b4 0x555555b4  Qm (i32)0x00000019  Qn (i32)0x00000078
-vaba.s32 d0, d1, d2 :: Qd 0x68706ef8 0x677472fc  Qm (i32)0x00000019  Qn (i32)0x00000078
+vaba.s32 d0, d1, d2 :: Qd 0x5c5b59e1 0x585755dd  Qm (i32)0x00000019  Qn (i32)0x00000078
 vaba.s32 d0, d1, d2 :: Qd 0x555555b5 0x555555b5  Qm (i32)0x00000019  Qn (i32)0x00000079
-vaba.s32 d0, d1, d2 :: Qd 0x68706ef7 0x677472fb  Qm (i32)0x00000019  Qn (i32)0x00000079
+vaba.s32 d0, d1, d2 :: Qd 0x5c5b59e0 0x585755dc  Qm (i32)0x00000019  Qn (i32)0x00000079
 vaba.s32 d0, d1, d2 :: Qd 0x55555569 0x55555569  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vaba.s32 d0, d1, d2 :: Qd 0x68706ef8 0x677472fc  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vaba.s32 d0, d1, d2 :: Qd 0x5c5b59e1 0x585755dd  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vaba.s16 d0, d1, d2 :: Qd 0x55555569 0x55555569  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vaba.s16 d0, d1, d2 :: Qd 0x68706ef8 0x677472fc  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vaba.s16 d0, d1, d2 :: Qd 0x5c5b59e1 0x585755dd  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vaba.s8 d0, d1, d2 :: Qd 0x55555541 0x55555541  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vaba.s8 d0, d1, d2 :: Qd 0x68706fb2 0x677473ae  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vaba.s8 d0, d1, d2 :: Qd 0x5c5b5ac9 0x585756cd  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vaba.s8 d5, d7, d5 :: Qd 0x80000003 0x80000003  Qm (i32)0x80000001  Qn (i32)0x80000002
-vaba.s8 d5, d7, d5 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vaba.s8 d5, d7, d5 :: Qd 0x07060504 0x03020104  Qm (i32)0x80000001  Qn (i32)0x80000002
 vaba.s8 d5, d7, d5 :: Qd 0xff010103 0xff010103  Qm (i32)0xffffff01  Qn (i32)0x80000002
-vaba.s8 d5, d7, d5 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffff01  Qn (i32)0x80000002
+vaba.s8 d5, d7, d5 :: Qd 0x07060504 0x03020104  Qm (i32)0xffffff01  Qn (i32)0x80000002
 vaba.s8 d5, d7, d5 :: Qd 0x7e00006f 0x7e00006f  Qm (i32)0x80000001  Qn (i32)0xffffff38
-vaba.s8 d5, d7, d5 :: Qd 0x131b1a55 0x121f1e51  Qm (i32)0x80000001  Qn (i32)0xffffff38
+vaba.s8 d5, d7, d5 :: Qd 0x0706056c 0x03020170  Qm (i32)0x80000001  Qn (i32)0xffffff38
 vaba.s16 d0, d1, d2 :: Qd 0x55555556 0x55555556  Qm (i32)0x80000001  Qn (i32)0x80000002
-vaba.s16 d0, d1, d2 :: Qd 0xe8706f6e 0xe7747372  Qm (i32)0x80000001  Qn (i32)0x80000002
+vaba.s16 d0, d1, d2 :: Qd 0xdc5b5a57 0xd8575653  Qm (i32)0x80000001  Qn (i32)0x80000002
 vaba.s32 d0, d1, d2 :: Qd 0x55555556 0x55555556  Qm (i32)0x80000001  Qn (i32)0x80000002
-vaba.s32 d0, d1, d2 :: Qd 0xe8706f6e 0xe7747372  Qm (i32)0x80000001  Qn (i32)0x80000002
+vaba.s32 d0, d1, d2 :: Qd 0xdc5b5a57 0xd8575653  Qm (i32)0x80000001  Qn (i32)0x80000002
 vaba.s8 d5, d7, d5 :: Qd 0x80000005 0x80000005  Qm (i32)0x80000001  Qn (i32)0x80000003
-vaba.s8 d5, d7, d5 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vaba.s8 d5, d7, d5 :: Qd 0x07060504 0x03020106  Qm (i32)0x80000001  Qn (i32)0x80000003
 vaba.s16 d0, d1, d2 :: Qd 0x55555557 0x55555557  Qm (i32)0x80000001  Qn (i32)0x80000003
-vaba.s16 d0, d1, d2 :: Qd 0xe8706f6d 0xe7747371  Qm (i32)0x80000001  Qn (i32)0x80000003
+vaba.s16 d0, d1, d2 :: Qd 0xdc5b5a56 0xd8575652  Qm (i32)0x80000001  Qn (i32)0x80000003
 vaba.s32 d0, d1, d2 :: Qd 0x55555557 0x55555557  Qm (i32)0x80000001  Qn (i32)0x80000003
-vaba.s32 d0, d1, d2 :: Qd 0xe8706f6d 0xe7747371  Qm (i32)0x80000001  Qn (i32)0x80000003
+vaba.s32 d0, d1, d2 :: Qd 0xdc5b5a56 0xd8575652  Qm (i32)0x80000001  Qn (i32)0x80000003
 vaba.s8 d5, d7, d5 :: Qd 0x80000004 0x80000004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vaba.s8 d5, d7, d5 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vaba.s8 d5, d7, d5 :: Qd 0x07060504 0x03020104  Qm (i32)0x80000004  Qn (i32)0x80000002
 vaba.s16 d0, d1, d2 :: Qd 0x55555557 0x55555557  Qm (i32)0x80000004  Qn (i32)0x80000002
-vaba.s16 d0, d1, d2 :: Qd 0xe8706f6e 0xe7747372  Qm (i32)0x80000004  Qn (i32)0x80000002
+vaba.s16 d0, d1, d2 :: Qd 0xdc5b5a57 0xd8575653  Qm (i32)0x80000004  Qn (i32)0x80000002
 vaba.s32 d0, d1, d2 :: Qd 0x55555557 0x55555557  Qm (i32)0x80000004  Qn (i32)0x80000002
-vaba.s32 d0, d1, d2 :: Qd 0xe8706f6e 0xe7747372  Qm (i32)0x80000004  Qn (i32)0x80000002
+vaba.s32 d0, d1, d2 :: Qd 0xdc5b5a57 0xd8575653  Qm (i32)0x80000004  Qn (i32)0x80000002
 vaba.s32 d10, d11, d12 :: Qd 0x555555b5 0x555555b5  Qm (i32)0x00000018  Qn (i32)0x00000078
-vaba.s32 d10, d11, d12 :: Qd 0x68706ef8 0x677472fc  Qm (i32)0x00000018  Qn (i32)0x00000078
+vaba.s32 d10, d11, d12 :: Qd 0x5c5b59e1 0x585755dd  Qm (i32)0x00000018  Qn (i32)0x00000078
 vaba.u32 d0, d1, d2 :: Qd 0x555555b4 0x555555b4  Qm (i32)0x00000019  Qn (i32)0x00000078
-vaba.u32 d0, d1, d2 :: Qd 0x68706ef8 0x677472fc  Qm (i32)0x00000019  Qn (i32)0x00000078
+vaba.u32 d0, d1, d2 :: Qd 0x5c5b59e1 0x585755dd  Qm (i32)0x00000019  Qn (i32)0x00000078
 vaba.u32 d0, d1, d2 :: Qd 0x55555569 0x55555569  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vaba.u32 d0, d1, d2 :: Qd 0x68706ef8 0x677472fc  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vaba.u32 d0, d1, d2 :: Qd 0x5c5b59e1 0x585755dd  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vaba.u16 d0, d1, d2 :: Qd 0x55555569 0x55555569  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vaba.u16 d0, d1, d2 :: Qd 0x68706ef8 0x677472fc  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vaba.u16 d0, d1, d2 :: Qd 0x5c5b59e1 0x585755dd  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vaba.u8 d0, d1, d2 :: Qd 0x55555569 0x55555569  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vaba.u8 d0, d1, d2 :: Qd 0x68706fb2 0x677473ae  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vaba.u8 d0, d1, d2 :: Qd 0x5c5b5ac9 0x585756cd  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vaba.u8 d5, d7, d5 :: Qd 0xffffff03 0xffffff03  Qm (i32)0xffffff01  Qn (i32)0x80000002
-vaba.u8 d5, d7, d5 :: Qd 0xed1b1a1b 0xee1f1e1f  Qm (i32)0xffffff01  Qn (i32)0x80000002
+vaba.u8 d5, d7, d5 :: Qd 0xf9060504 0xfd020104  Qm (i32)0xffffff01  Qn (i32)0x80000002
 vaba.u8 d5, d7, d5 :: Qd 0x7efefe6f 0x7efefe6f  Qm (i32)0x80000001  Qn (i32)0xffffff38
-vaba.u8 d5, d7, d5 :: Qd 0xebe3e455 0xecdfe051  Qm (i32)0x80000001  Qn (i32)0xffffff38
+vaba.u8 d5, d7, d5 :: Qd 0xf7f8f96c 0xfbfcfd70  Qm (i32)0x80000001  Qn (i32)0xffffff38
 vaba.u8 d0, d1, d2 :: Qd 0x55555556 0x55555556  Qm (i32)0x80000001  Qn (i32)0x80000002
-vaba.u8 d0, d1, d2 :: Qd 0xc2706f6e 0xc3747372  Qm (i32)0x80000001  Qn (i32)0x80000002
+vaba.u8 d0, d1, d2 :: Qd 0xce5b5a57 0xd2575657  Qm (i32)0x80000001  Qn (i32)0x80000002
 vaba.u16 d0, d1, d2 :: Qd 0x55555556 0x55555556  Qm (i32)0x80000001  Qn (i32)0x80000002
-vaba.u16 d0, d1, d2 :: Qd 0xc23a6f6e 0xc3367372  Qm (i32)0x80000001  Qn (i32)0x80000002
+vaba.u16 d0, d1, d2 :: Qd 0xce4f5a57 0xd2535653  Qm (i32)0x80000001  Qn (i32)0x80000002
 vaba.u32 d0, d1, d2 :: Qd 0x55555556 0x55555556  Qm (i32)0x80000001  Qn (i32)0x80000002
-vaba.u32 d0, d1, d2 :: Qd 0xc23a3b3c 0xc3363738  Qm (i32)0x80000001  Qn (i32)0x80000002
+vaba.u32 d0, d1, d2 :: Qd 0xce4f5053 0xd2535457  Qm (i32)0x80000001  Qn (i32)0x80000002
 vaba.u8 d0, d1, d2 :: Qd 0x55555557 0x55555557  Qm (i32)0x80000001  Qn (i32)0x80000003
-vaba.u8 d0, d1, d2 :: Qd 0xc2706f6d 0xc3747371  Qm (i32)0x80000001  Qn (i32)0x80000003
+vaba.u8 d0, d1, d2 :: Qd 0xce5b5a56 0xd2575658  Qm (i32)0x80000001  Qn (i32)0x80000003
 vaba.u16 d0, d1, d2 :: Qd 0x55555557 0x55555557  Qm (i32)0x80000001  Qn (i32)0x80000003
-vaba.u16 d0, d1, d2 :: Qd 0xc23a6f6d 0xc3367371  Qm (i32)0x80000001  Qn (i32)0x80000003
+vaba.u16 d0, d1, d2 :: Qd 0xce4f5a56 0xd2535652  Qm (i32)0x80000001  Qn (i32)0x80000003
 vaba.u32 d0, d1, d2 :: Qd 0x55555557 0x55555557  Qm (i32)0x80000001  Qn (i32)0x80000003
-vaba.u32 d0, d1, d2 :: Qd 0xc23a3b3d 0xc3363739  Qm (i32)0x80000001  Qn (i32)0x80000003
+vaba.u32 d0, d1, d2 :: Qd 0xce4f5054 0xd2535458  Qm (i32)0x80000001  Qn (i32)0x80000003
 vaba.u8 d0, d1, d2 :: Qd 0x55555557 0x55555557  Qm (i32)0x80000004  Qn (i32)0x80000002
-vaba.u8 d0, d1, d2 :: Qd 0xc2706f6e 0xc3747372  Qm (i32)0x80000004  Qn (i32)0x80000002
+vaba.u8 d0, d1, d2 :: Qd 0xce5b5a57 0xd2575657  Qm (i32)0x80000004  Qn (i32)0x80000002
 vaba.u16 d0, d1, d2 :: Qd 0x55555557 0x55555557  Qm (i32)0x80000004  Qn (i32)0x80000002
-vaba.u16 d0, d1, d2 :: Qd 0xc23a6f6e 0xc3367372  Qm (i32)0x80000004  Qn (i32)0x80000002
+vaba.u16 d0, d1, d2 :: Qd 0xce4f5a57 0xd2535653  Qm (i32)0x80000004  Qn (i32)0x80000002
 vaba.u32 d0, d1, d2 :: Qd 0x55555557 0x55555557  Qm (i32)0x80000004  Qn (i32)0x80000002
-vaba.u32 d0, d1, d2 :: Qd 0xc23a3b3c 0xc3363738  Qm (i32)0x80000004  Qn (i32)0x80000002
+vaba.u32 d0, d1, d2 :: Qd 0xce4f5053 0xd2535457  Qm (i32)0x80000004  Qn (i32)0x80000002
 vaba.u32 d10, d11, d12 :: Qd 0x555555b5 0x555555b5  Qm (i32)0x00000018  Qn (i32)0x00000078
-vaba.u32 d10, d11, d12 :: Qd 0x68706ef8 0x677472fc  Qm (i32)0x00000018  Qn (i32)0x00000078
+vaba.u32 d10, d11, d12 :: Qd 0x5c5b59e1 0x585755dd  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VTST ----
 vtst.32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000018  Qn (i32)0x00000078
-vtst.32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000018  Qn (i32)0x00000078
+vtst.32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078
 vtst.32 d3, d4, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vtst.32 d3, d4, d5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vtst.32 d3, d4, d5 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vtst.16 d6, d7, d8 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00000078  Qn (i32)0x00000078
-vtst.16 d6, d7, d8 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00000078  Qn (i32)0x00000078
+vtst.16 d6, d7, d8 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000078  Qn (i32)0x00000078
 vtst.8 d9, d10, d12 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vtst.8 d9, d10, d12 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vtst.8 d9, d10, d12 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vtst.8 d0, d1, d2 :: Qd 0xff000000 0xff000000  Qm (i32)0x80000001  Qn (i32)0x80000002
-vtst.8 d0, d1, d2 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x80000001  Qn (i32)0x80000002
+vtst.8 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000002
 vtst.16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00004001  Qn (i32)0x00004001
-vtst.16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00004001  Qn (i32)0x00004001
+vtst.16 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00004001  Qn (i32)0x00004001
 vtst.32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000002
-vtst.32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x80000001  Qn (i32)0x80000002
+vtst.32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000002
 vtst.8 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x00000002
-vtst.8 d0, d1, d2 :: Qd 0x000000ff 0x000000ff  Qm (i32)0x80000001  Qn (i32)0x00000002
+vtst.8 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x00000002
 vtst.16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00004001  Qn (i32)0x00004001
-vtst.16 d0, d1, d2 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x00004001  Qn (i32)0x00004001
+vtst.16 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00004001  Qn (i32)0x00004001
 vtst.32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000001  Qn (i32)0x80000002
-vtst.32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000001  Qn (i32)0x80000002
+vtst.32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000001  Qn (i32)0x80000002
 vtst.32 d10, d11, d12 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000018  Qn (i32)0x00000078
-vtst.32 d10, d11, d12 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00000018  Qn (i32)0x00000078
+vtst.32 d10, d11, d12 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VCEQ ----
 vceq.i32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078
 vceq.i32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078
@@ -1624,309 +1624,309 @@
 vceq.i32 d10, d11, d12 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VMLA ----
 vmla.i32 d0, d1, d2 :: Qd 0x55554a15 0x55554a15  Qm (i32)0xffffffe8  Qn (i32)0x00000078
-vmla.i32 d0, d1, d2 :: Qd 0x4a0991fd 0xd3eb73dd  Qm (i32)0xffffffe8  Qn (i32)0x00000078
+vmla.i32 d0, d1, d2 :: Qd 0xa027af35 0xbe45cd55  Qm (i32)0xffffffe8  Qn (i32)0x00000078
 vmla.i32 d6, d7, d8 :: Qd 0x555596f5 0x555596f5  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vmla.i32 d6, d7, d8 :: Qd 0x4a0991fd 0xd3eb73dd  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vmla.i32 d6, d7, d8 :: Qd 0xa027af35 0xbe45cd55  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vmla.i16 d9, d11, d12 :: Qd 0x5555bd55 0x5555bd55  Qm (i32)0x00000140  Qn (i32)0x00000120
-vmla.i16 d9, d11, d12 :: Qd 0x5555b3b5 0x55553835  Qm (i32)0x00000140  Qn (i32)0x00000120
+vmla.i16 d9, d11, d12 :: Qd 0x5555f9d5 0x55557555  Qm (i32)0x00000140  Qn (i32)0x00000120
 vmla.i8 d0, d1, d2 :: Qd 0x555555b5 0x555555b5  Qm (i32)0x0000008c  Qn (i32)0xffffff88
-vmla.i8 d0, d1, d2 :: Qd 0x423a3bad 0x433637cd  Qm (i32)0x0000008c  Qn (i32)0xffffff88
+vmla.i8 d0, d1, d2 :: Qd 0x4e4f5075 0x52535455  Qm (i32)0x0000008c  Qn (i32)0xffffff88
 vmla.i8 d10, d11, d12 :: Qd 0x5555559f 0x5555559f  Qm (i32)0x00000021  Qn (i32)0x0000000a
-vmla.i8 d10, d11, d12 :: Qd 0x55555563 0x5555558b  Qm (i32)0x00000021  Qn (i32)0x0000000a
+vmla.i8 d10, d11, d12 :: Qd 0x5555557d 0x55555555  Qm (i32)0x00000021  Qn (i32)0x0000000a
 vmla.i16 d4, d5, d6 :: Qd 0x5555f557 0x5555f557  Qm (i32)0x00004001  Qn (i32)0x00002002
-vmla.i16 d4, d5, d6 :: Qd 0x5555e98b 0x55557193  Qm (i32)0x00004001  Qn (i32)0x00002002
+vmla.i16 d4, d5, d6 :: Qd 0x5555df5d 0x55555755  Qm (i32)0x00004001  Qn (i32)0x00002002
 vmla.i32 d7, d8, d9 :: Qd 0xd5555557 0xd5555557  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmla.i32 d7, d8, d9 :: Qd 0xfb8b898b 0xf9939193  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmla.i32 d7, d8, d9 :: Qd 0x63615f5d 0x5b595755  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmla.i8 d10, d13, d12 :: Qd 0x5555559f 0x5555559f  Qm (i32)0x00000021  Qn (i32)0x0000000a
-vmla.i8 d10, d13, d12 :: Qd 0x55555563 0x5555558b  Qm (i32)0x00000021  Qn (i32)0x0000000a
+vmla.i8 d10, d13, d12 :: Qd 0x5555557d 0x55555555  Qm (i32)0x00000021  Qn (i32)0x0000000a
 vmla.i16 d4, d5, d6 :: Qd 0x55551751 0x55551751  Qm (i32)0x100000fe  Qn (i32)0x00002002
-vmla.i16 d4, d5, d6 :: Qd 0x5555e98b 0x55557193  Qm (i32)0x100000fe  Qn (i32)0x00002002
+vmla.i16 d4, d5, d6 :: Qd 0x5555df5d 0x55555755  Qm (i32)0x100000fe  Qn (i32)0x00002002
 vmla.i32 d7, d8, d9 :: Qd 0xd5555557 0xd5555557  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmla.i32 d7, d8, d9 :: Qd 0xfb8b898b 0xf9939193  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmla.i32 d7, d8, d9 :: Qd 0x63615f5d 0x5b595755  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmla.i32 d10, d11, d15 :: Qd 0x55554a15 0x55554a15  Qm (i32)0x00000018  Qn (i32)0xffffff88
-vmla.i32 d10, d11, d15 :: Qd 0x60a118ad 0xd6bf36cd  Qm (i32)0x00000018  Qn (i32)0xffffff88
+vmla.i32 d10, d11, d15 :: Qd 0x0a82fb75 0xec64dd55  Qm (i32)0x00000018  Qn (i32)0xffffff88
 ---- VMLS ----
 vmls.i32 d0, d1, d2 :: Qd 0x55556095 0x55556095  Qm (i32)0xffffffe8  Qn (i32)0x00000078
-vmls.i32 d0, d1, d2 :: Qd 0x60a118ad 0xd6bf36cd  Qm (i32)0xffffffe8  Qn (i32)0x00000078
+vmls.i32 d0, d1, d2 :: Qd 0x0a82fb75 0xec64dd55  Qm (i32)0xffffffe8  Qn (i32)0x00000078
 vmls.i32 d6, d7, d8 :: Qd 0x555596f5 0x555596f5  Qm (i32)0x0000008c  Qn (i32)0xffffff88
-vmls.i32 d6, d7, d8 :: Qd 0x4a0991fd 0xd3eb73dd  Qm (i32)0x0000008c  Qn (i32)0xffffff88
+vmls.i32 d6, d7, d8 :: Qd 0xa027af35 0xbe45cd55  Qm (i32)0x0000008c  Qn (i32)0xffffff88
 vmls.i16 d9, d11, d12 :: Qd 0x5555ed55 0x5555ed55  Qm (i32)0x00000140  Qn (i32)0x00000120
-vmls.i16 d9, d11, d12 :: Qd 0x5555f6f5 0x55557275  Qm (i32)0x00000140  Qn (i32)0x00000120
+vmls.i16 d9, d11, d12 :: Qd 0x5555b0d5 0x55553555  Qm (i32)0x00000140  Qn (i32)0x00000120
 vmls.i8 d0, d1, d2 :: Qd 0x555555b5 0x555555b5  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vmls.i8 d0, d1, d2 :: Qd 0x555555ad 0x555555cd  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vmls.i8 d0, d1, d2 :: Qd 0x55555575 0x55555555  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vmls.i8 d10, d11, d12 :: Qd 0x5555550b 0x5555550b  Qm (i32)0x00000021  Qn (i32)0x0000000a
-vmls.i8 d10, d11, d12 :: Qd 0x55555547 0x5555551f  Qm (i32)0x00000021  Qn (i32)0x0000000a
+vmls.i8 d10, d11, d12 :: Qd 0x5555552d 0x55555555  Qm (i32)0x00000021  Qn (i32)0x0000000a
 vmls.i16 d4, d5, d6 :: Qd 0x5555b553 0x5555b553  Qm (i32)0x00004001  Qn (i32)0x00002002
-vmls.i16 d4, d5, d6 :: Qd 0x5555c11f 0x55553917  Qm (i32)0x00004001  Qn (i32)0x00002002
+vmls.i16 d4, d5, d6 :: Qd 0x5555cb4d 0x55555355  Qm (i32)0x00004001  Qn (i32)0x00002002
 vmls.i32 d7, d8, d9 :: Qd 0xd5555553 0xd5555553  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmls.i32 d7, d8, d9 :: Qd 0xaf1f211f 0xb1171917  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmls.i32 d7, d8, d9 :: Qd 0x47494b4d 0x4f515355  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmls.i8 d10, d13, d12 :: Qd 0x5555550b 0x5555550b  Qm (i32)0x00000021  Qn (i32)0x0000000a
-vmls.i8 d10, d13, d12 :: Qd 0x55555547 0x5555551f  Qm (i32)0x00000021  Qn (i32)0x0000000a
+vmls.i8 d10, d13, d12 :: Qd 0x5555552d 0x55555555  Qm (i32)0x00000021  Qn (i32)0x0000000a
 vmls.i16 d4, d5, d6 :: Qd 0x55559359 0x55559359  Qm (i32)0x100000fe  Qn (i32)0x00002002
-vmls.i16 d4, d5, d6 :: Qd 0x5555c11f 0x55553917  Qm (i32)0x100000fe  Qn (i32)0x00002002
+vmls.i16 d4, d5, d6 :: Qd 0x5555cb4d 0x55555355  Qm (i32)0x100000fe  Qn (i32)0x00002002
 vmls.i32 d7, d8, d9 :: Qd 0xd5555553 0xd5555553  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmls.i32 d7, d8, d9 :: Qd 0xaf1f211f 0xb1171917  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmls.i32 d7, d8, d9 :: Qd 0x47494b4d 0x4f515355  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmls.i32 d10, d11, d15 :: Qd 0x55556095 0x55556095  Qm (i32)0xffffffe8  Qn (i32)0x00000078
-vmls.i32 d10, d11, d15 :: Qd 0x60a118ad 0xd6bf36cd  Qm (i32)0xffffffe8  Qn (i32)0x00000078
+vmls.i32 d10, d11, d15 :: Qd 0x0a82fb75 0xec64dd55  Qm (i32)0xffffffe8  Qn (i32)0x00000078
 ---- VMUL ----
 vmul.i32 d0, d1, d2 :: Qd 0x00000b40 0x00000b40  Qm (i32)0x00000018  Qn (i32)0x00000078
-vmul.i32 d0, d1, d2 :: Qd 0xf4b43ca8 0x7e961e88  Qm (i32)0x00000018  Qn (i32)0x00000078
+vmul.i32 d0, d1, d2 :: Qd 0x4ad259e0 0x68f07800  Qm (i32)0x00000018  Qn (i32)0x00000078
 vmul.i32 d6, d7, d8 :: Qd 0xffffbe60 0xffffbe60  Qm (i32)0x0000008c  Qn (i32)0xffffff88
-vmul.i32 d6, d7, d8 :: Qd 0x0b4bc358 0x8169e178  Qm (i32)0x0000008c  Qn (i32)0xffffff88
+vmul.i32 d6, d7, d8 :: Qd 0xb52da620 0x970f8800  Qm (i32)0x0000008c  Qn (i32)0xffffff88
 vmul.i16 d9, d11, d12 :: Qd 0x00006800 0x00006800  Qm (i32)0x00000140  Qn (i32)0x00000120
-vmul.i16 d9, d11, d12 :: Qd 0x00005e60 0x0000e2e0  Qm (i32)0x00000140  Qn (i32)0x00000120
+vmul.i16 d9, d11, d12 :: Qd 0x0000a480 0x00002000  Qm (i32)0x00000140  Qn (i32)0x00000120
 vmul.i8 d0, d1, d2 :: Qd 0x000000a0 0x000000a0  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vmul.i8 d0, d1, d2 :: Qd 0x000000a8 0x00000088  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vmul.i8 d0, d1, d2 :: Qd 0x000000e0 0x00000000  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vmul.i8 d10, d11, d12 :: Qd 0x0000004a 0x0000004a  Qm (i32)0x00000021  Qn (i32)0x0000000a
-vmul.i8 d10, d11, d12 :: Qd 0x0000000e 0x00000036  Qm (i32)0x00000021  Qn (i32)0x0000000a
+vmul.i8 d10, d11, d12 :: Qd 0x00000028 0x00000000  Qm (i32)0x00000021  Qn (i32)0x0000000a
 vmul.i16 d4, d5, d6 :: Qd 0x0000a002 0x0000a002  Qm (i32)0x00004001  Qn (i32)0x00002002
-vmul.i16 d4, d5, d6 :: Qd 0x00009436 0x00001c3e  Qm (i32)0x00004001  Qn (i32)0x00002002
+vmul.i16 d4, d5, d6 :: Qd 0x00008a08 0x00000200  Qm (i32)0x00004001  Qn (i32)0x00002002
 vmul.i32 d7, d8, d9 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmul.i32 d7, d8, d9 :: Qd 0xa6363436 0xa43e3c3e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmul.i32 d7, d8, d9 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmul.i8 d10, d11, d12 :: Qd 0x0000c00e 0x0000c00e  Qm (i32)0x0200feb2  Qn (i32)0x000020df
-vmul.i8 d10, d11, d12 :: Qd 0x00004085 0x0000c001  Qm (i32)0x0200feb2  Qn (i32)0x000020df
+vmul.i8 d10, d11, d12 :: Qd 0x0000a07c 0x00002000  Qm (i32)0x0200feb2  Qn (i32)0x000020df
 vmul.i16 d4, d5, d6 :: Qd 0x00008866 0x00008866  Qm (i32)0xffff9433  Qn (i32)0x00002002
-vmul.i16 d4, d5, d6 :: Qd 0x00009436 0x00001c3e  Qm (i32)0xffff9433  Qn (i32)0x00002002
+vmul.i16 d4, d5, d6 :: Qd 0x00008a08 0x00000200  Qm (i32)0xffff9433  Qn (i32)0x00002002
 vmul.i32 d7, d8, d9 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000000  Qn (i32)0x0000000c
-vmul.i32 d7, d8, d9 :: Qd 0xe5453944 0xd9756974  Qm (i32)0x80000000  Qn (i32)0x0000000c
+vmul.i32 d7, d8, d9 :: Qd 0x54483c30 0x24180c00  Qm (i32)0x80000000  Qn (i32)0x0000000c
 vmul.i8 d10, d13, d12 :: Qd 0x0000004a 0x0000004a  Qm (i32)0x00000021  Qn (i32)0x0000000a
-vmul.i8 d10, d13, d12 :: Qd 0x0000000e 0x00000036  Qm (i32)0x00000021  Qn (i32)0x0000000a
+vmul.i8 d10, d13, d12 :: Qd 0x00000028 0x00000000  Qm (i32)0x00000021  Qn (i32)0x0000000a
 vmul.i16 d4, d5, d6 :: Qd 0x0000c1fc 0x0000c1fc  Qm (i32)0x100000fe  Qn (i32)0x00002002
-vmul.i16 d4, d5, d6 :: Qd 0x00009436 0x00001c3e  Qm (i32)0x100000fe  Qn (i32)0x00002002
+vmul.i16 d4, d5, d6 :: Qd 0x00008a08 0x00000200  Qm (i32)0x100000fe  Qn (i32)0x00002002
 vmul.i32 d7, d8, d9 :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmul.i32 d7, d8, d9 :: Qd 0xa6363436 0xa43e3c3e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmul.i32 d7, d8, d9 :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmul.i32 d10, d11, d15 :: Qd 0x00000b40 0x00000b40  Qm (i32)0x00000018  Qn (i32)0x00000078
-vmul.i32 d10, d11, d15 :: Qd 0xf4b43ca8 0x7e961e88  Qm (i32)0x00000018  Qn (i32)0x00000078
+vmul.i32 d10, d11, d15 :: Qd 0x4ad259e0 0x68f07800  Qm (i32)0x00000018  Qn (i32)0x00000078
 vmul.p8 q0, q1, q2 :: Qd 0x00000005 0x00000005  Qm (i32)0x00000003  Qn (i32)0x00000003
-vmul.p8 q0, q1, q2 :: Qd 0x0000002d 0x00000021  Qm (i32)0x00000003  Qn (i32)0x00000003
+vmul.p8 q0, q1, q2 :: Qd 0x0000000c 0x00000000  Qm (i32)0x00000003  Qn (i32)0x00000003
 vmul.p8 q0, q1, q2 :: Qd 0x00000044 0x00000044  Qm (i32)0x0000000c  Qn (i8)0x0000000f
-vmul.p8 q0, q1, q2 :: Qd 0xe1999699 0xeea5aaa5  Qm (i32)0x0000000c  Qn (i8)0x0000000f
+vmul.p8 q0, q1, q2 :: Qd 0x2d22333c 0x111e0f00  Qm (i32)0x0000000c  Qn (i8)0x0000000f
 ---- VMUL (by scalar) ----
 vmul.i32 d0, d1, d4[0] :: Qd 0x00000b40 0x00000b40  Qm (i32)0x00000018  Qn (i32)0x00000078
-vmul.i32 d0, d1, d4[0] :: Qd 0xf4b43ca8 0x7e961e88  Qm (i32)0x00000018  Qn (i32)0x00000078
+vmul.i32 d0, d1, d4[0] :: Qd 0x4ad259e0 0x68f07800  Qm (i32)0x00000018  Qn (i32)0x00000078
 vmul.i32 d31, d8, d7[1] :: Qd 0xffffbe60 0xffffbe60  Qm (i32)0x0000008c  Qn (i32)0xffffff88
-vmul.i32 d31, d8, d7[1] :: Qd 0x0b4bc358 0x8169e178  Qm (i32)0x0000008c  Qn (i32)0xffffff88
+vmul.i32 d31, d8, d7[1] :: Qd 0xb52da620 0x970f8800  Qm (i32)0x0000008c  Qn (i32)0xffffff88
 vmul.i16 d30, d9, d7[3] :: Qd 0x00000000 0x00000000  Qm (i32)0x00000140  Qn (i32)0x00000120
 vmul.i16 d30, d9, d7[3] :: Qd 0x00000000 0x00000000  Qm (i32)0x00000140  Qn (i32)0x00000120
 vmul.i16 d4, d5, d6[2] :: Qd 0x0000a002 0x0000a002  Qm (i32)0x00004001  Qn (i32)0x00002002
-vmul.i16 d4, d5, d6[2] :: Qd 0x86369436 0x043e1c3e  Qm (i32)0x00004001  Qn (i32)0x00002002
+vmul.i16 d4, d5, d6[2] :: Qd 0xce0c8a08 0x46040200  Qm (i32)0x00004001  Qn (i32)0x00002002
 vmul.i32 d4, d8, d15[1] :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmul.i32 d4, d8, d15[1] :: Qd 0xa6363436 0xa43e3c3e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmul.i32 d4, d8, d15[1] :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmul.i16 d4, d5, d6[0] :: Qd 0xdffe8866 0xdffe8866  Qm (i32)0xffff9433  Qn (i32)0x00002002
-vmul.i16 d4, d5, d6[0] :: Qd 0x86369436 0x043e1c3e  Qm (i32)0xffff9433  Qn (i32)0x00002002
+vmul.i16 d4, d5, d6[0] :: Qd 0xce0c8a08 0x46040200  Qm (i32)0xffff9433  Qn (i32)0x00002002
 vmul.i32 d7, d8, d1[1] :: Qd 0x00000000 0x00000000  Qm (i32)0x80000000  Qn (i16)0x0000000c
-vmul.i32 d7, d8, d1[1] :: Qd 0x1e893944 0x42e96974  Qm (i32)0x80000000  Qn (i16)0x0000000c
+vmul.i32 d7, d8, d1[1] :: Qd 0x90783c30 0x30180c00  Qm (i32)0x80000000  Qn (i16)0x0000000c
 vmul.i16 d4, d5, d6[0] :: Qd 0x2000c1fc 0x2000c1fc  Qm (i32)0x100000fe  Qn (i32)0x00002002
-vmul.i16 d4, d5, d6[0] :: Qd 0x86369436 0x043e1c3e  Qm (i32)0x100000fe  Qn (i32)0x00002002
+vmul.i16 d4, d5, d6[0] :: Qd 0xce0c8a08 0x46040200  Qm (i32)0x100000fe  Qn (i32)0x00002002
 vmul.i32 d7, d8, d1[1] :: Qd 0x80000002 0x80000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmul.i32 d7, d8, d1[1] :: Qd 0xa6363436 0xa43e3c3e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmul.i32 d7, d8, d1[1] :: Qd 0x0e0c0a08 0x06040200  Qm (i32)0x80000001  Qn (i32)0x80000002
 ---- VMLA (by scalar) ----
 vmla.i32 d0, d1, d4[0] :: Qd 0x55556095 0x55556095  Qm (i32)0x00000018  Qn (i32)0x00000078
-vmla.i32 d0, d1, d4[0] :: Qd 0x4a0991fd 0xd3eb73dd  Qm (i32)0x00000018  Qn (i32)0x00000078
+vmla.i32 d0, d1, d4[0] :: Qd 0xa027af35 0xbe45cd55  Qm (i32)0x00000018  Qn (i32)0x00000078
 vmla.i32 d31, d8, d7[1] :: Qd 0x555513b5 0x555513b5  Qm (i32)0x0000008c  Qn (i32)0xffffff88
-vmla.i32 d31, d8, d7[1] :: Qd 0x60a118ad 0xd6bf36cd  Qm (i32)0x0000008c  Qn (i32)0xffffff88
+vmla.i32 d31, d8, d7[1] :: Qd 0x0a82fb75 0xec64dd55  Qm (i32)0x0000008c  Qn (i32)0xffffff88
 vmla.i16 d30, d9, d7[3] :: Qd 0x55555555 0x55555555  Qm (i32)0x00000140  Qn (i32)0x00000120
 vmla.i16 d30, d9, d7[3] :: Qd 0x55555555 0x55555555  Qm (i32)0x00000140  Qn (i32)0x00000120
 vmla.i16 d4, d5, d6[2] :: Qd 0x5555f557 0x5555f557  Qm (i32)0x00004001  Qn (i32)0x00002002
-vmla.i16 d4, d5, d6[2] :: Qd 0xdb8be98b 0x59937193  Qm (i32)0x00004001  Qn (i32)0x00002002
+vmla.i16 d4, d5, d6[2] :: Qd 0x2361df5d 0x9b595755  Qm (i32)0x00004001  Qn (i32)0x00002002
 vmla.i32 d4, d8, d15[1] :: Qd 0xd5555557 0xd5555557  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmla.i32 d4, d8, d15[1] :: Qd 0xfb8b898b 0xf9939193  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmla.i32 d4, d8, d15[1] :: Qd 0x63615f5d 0x5b595755  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmla.i16 d4, d5, d6[0] :: Qd 0x3553ddbb 0x3553ddbb  Qm (i32)0xffff9433  Qn (i32)0x00002002
-vmla.i16 d4, d5, d6[0] :: Qd 0xdb8be98b 0x59937193  Qm (i32)0xffff9433  Qn (i32)0x00002002
+vmla.i16 d4, d5, d6[0] :: Qd 0x2361df5d 0x9b595755  Qm (i32)0xffff9433  Qn (i32)0x00002002
 vmla.i32 d7, d8, d1[1] :: Qd 0x55555555 0x55555555  Qm (i32)0x80000000  Qn (i16)0x0000000c
-vmla.i32 d7, d8, d1[1] :: Qd 0x73de8e99 0x983ebec9  Qm (i32)0x80000000  Qn (i16)0x0000000c
+vmla.i32 d7, d8, d1[1] :: Qd 0xe5cd9185 0x856d6155  Qm (i32)0x80000000  Qn (i16)0x0000000c
 vmla.i16 d4, d5, d6[0] :: Qd 0x75551751 0x75551751  Qm (i32)0x100000fe  Qn (i32)0x00002002
-vmla.i16 d4, d5, d6[0] :: Qd 0xdb8be98b 0x59937193  Qm (i32)0x100000fe  Qn (i32)0x00002002
+vmla.i16 d4, d5, d6[0] :: Qd 0x2361df5d 0x9b595755  Qm (i32)0x100000fe  Qn (i32)0x00002002
 vmla.i32 d7, d8, d1[1] :: Qd 0xd5555557 0xd5555557  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmla.i32 d7, d8, d1[1] :: Qd 0xfb8b898b 0xf9939193  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmla.i32 d7, d8, d1[1] :: Qd 0x63615f5d 0x5b595755  Qm (i32)0x80000001  Qn (i32)0x80000002
 ---- VMLS (by scalar) ----
 vmls.i32 d0, d1, d4[0] :: Qd 0x5555557d 0x5555557d  Qm (i32)0x00000018  Qn (i32)0x00000078
 vmls.i32 d0, d1, d4[0] :: Qd 0x5555557d 0x5555557d  Qm (i32)0x00000018  Qn (i32)0x00000078
 vmls.i32 d31, d8, d7[1] :: Qd 0x555596f5 0x555596f5  Qm (i32)0x0000008c  Qn (i32)0xffffff88
-vmls.i32 d31, d8, d7[1] :: Qd 0x4a0991fd 0xd3eb73dd  Qm (i32)0x0000008c  Qn (i32)0xffffff88
+vmls.i32 d31, d8, d7[1] :: Qd 0xa027af35 0xbe45cd55  Qm (i32)0x0000008c  Qn (i32)0xffffff88
 vmls.i16 d30, d9, d7[3] :: Qd 0x55555555 0x55555555  Qm (i32)0x00000140  Qn (i32)0x00000120
 vmls.i16 d30, d9, d7[3] :: Qd 0x55555555 0x55555555  Qm (i32)0x00000140  Qn (i32)0x00000120
 vmls.i16 d4, d5, d6[2] :: Qd 0x5555b553 0x5555b553  Qm (i32)0x00004001  Qn (i32)0x00002002
-vmls.i16 d4, d5, d6[2] :: Qd 0xcf1fc11f 0x51173917  Qm (i32)0x00004001  Qn (i32)0x00002002
+vmls.i16 d4, d5, d6[2] :: Qd 0x8749cb4d 0x0f515355  Qm (i32)0x00004001  Qn (i32)0x00002002
 vmls.i32 d4, d8, d15[1] :: Qd 0xd5555553 0xd5555553  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmls.i32 d4, d8, d15[1] :: Qd 0xaf1f211f 0xb1171917  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmls.i32 d4, d8, d15[1] :: Qd 0x47494b4d 0x4f515355  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmls.i16 d4, d5, d6[0] :: Qd 0x7557ccef 0x7557ccef  Qm (i32)0xffff9433  Qn (i32)0x00002002
-vmls.i16 d4, d5, d6[0] :: Qd 0xcf1fc11f 0x51173917  Qm (i32)0xffff9433  Qn (i32)0x00002002
+vmls.i16 d4, d5, d6[0] :: Qd 0x8749cb4d 0x0f515355  Qm (i32)0xffff9433  Qn (i32)0x00002002
 vmls.i32 d7, d8, d1[1] :: Qd 0x55555555 0x55555555  Qm (i32)0x80000000  Qn (i16)0x0000000c
-vmls.i32 d7, d8, d1[1] :: Qd 0x36cc1c11 0x126bebe1  Qm (i32)0x80000000  Qn (i16)0x0000000c
+vmls.i32 d7, d8, d1[1] :: Qd 0xc4dd1925 0x253d4955  Qm (i32)0x80000000  Qn (i16)0x0000000c
 vmls.i16 d4, d5, d6[0] :: Qd 0x35559359 0x35559359  Qm (i32)0x100000fe  Qn (i32)0x00002002
-vmls.i16 d4, d5, d6[0] :: Qd 0xcf1fc11f 0x51173917  Qm (i32)0x100000fe  Qn (i32)0x00002002
+vmls.i16 d4, d5, d6[0] :: Qd 0x8749cb4d 0x0f515355  Qm (i32)0x100000fe  Qn (i32)0x00002002
 vmls.i32 d7, d8, d1[1] :: Qd 0xd5555553 0xd5555553  Qm (i32)0x80000001  Qn (i32)0x80000002
-vmls.i32 d7, d8, d1[1] :: Qd 0xaf1f211f 0xb1171917  Qm (i32)0x80000001  Qn (i32)0x80000002
+vmls.i32 d7, d8, d1[1] :: Qd 0x47494b4d 0x4f515355  Qm (i32)0x80000001  Qn (i32)0x80000002
 ---- VRSHR ----
 vrshr.s8 d0, d1, #0 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vrshr.s8 d0, d1, #0 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0xffffffff
+vrshr.s8 d0, d1, #0 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0xffffffff
 vrshr.s8 d0, d1, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff
-vrshr.s8 d0, d1, #1 :: Qd 0x0b0f0d0f 0x0a0e100e  Qm (i32)0xffffffff
+vrshr.s8 d0, d1, #1 :: Qd 0x08070706 0x06050504  Qm (i32)0xffffffff
 vrshr.s16 d3, d4, #2 :: Qd 0x0000ffe1 0x0000ffe1  Qm (i32)0xffffff84
-vrshr.s16 d3, d4, #2 :: Qd 0x05470647 0x050707c7  Qm (i32)0xffffff84
+vrshr.s16 d3, d4, #2 :: Qd 0x03c40343 0x02c30242  Qm (i32)0xffffff84
 vrshr.s32 d2, d5, #31 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff
 vrshr.s32 d2, d5, #31 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff
 vrshr.s8 d6, d7, #7 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000ffff
 vrshr.s8 d6, d7, #7 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000ffff
 vrshr.s16 d8, d9, #12 :: Qd 0x00000000 0x00000000  Qm (i32)0xfffffff6
-vrshr.s16 d8, d9, #12 :: Qd 0x00010002 0x00010002  Qm (i32)0xfffffff6
+vrshr.s16 d8, d9, #12 :: Qd 0x00010001 0x00010001  Qm (i32)0xfffffff6
 vrshr.s32 d10, d11, #5 :: Qd 0x00000140 0x00000140  Qm (i32)0x000027fa
-vrshr.s32 d10, d11, #5 :: Qd 0x00a8e8c9 0x00a0e0f9  Qm (i32)0x000027fa
+vrshr.s32 d10, d11, #5 :: Qd 0x00787068 0x00585048  Qm (i32)0x000027fa
 vrshr.u8 d12, d13, #1 :: Qd 0x80808080 0x80808080  Qm (i32)0xffffffff
-vrshr.u8 d12, d13, #1 :: Qd 0x0b0f0d0f 0x0a0e100e  Qm (i32)0xffffffff
+vrshr.u8 d12, d13, #1 :: Qd 0x08070706 0x06050504  Qm (i32)0xffffffff
 vrshr.u16 d14, d15, #11 :: Qd 0x00200020 0x00200020  Qm (i32)0xffffffff
-vrshr.u16 d14, d15, #11 :: Qd 0x00030003 0x00030004  Qm (i32)0xffffffff
+vrshr.u16 d14, d15, #11 :: Qd 0x00020002 0x00010001  Qm (i32)0xffffffff
 vrshr.u32 d10, d11, #9 :: Qd 0x00000002 0x00000002  Qm (i32)0x000003e8
-vrshr.u32 d10, d11, #9 :: Qd 0x000a8e8d 0x000a0e10  Qm (i32)0x000003e8
+vrshr.u32 d10, d11, #9 :: Qd 0x00078707 0x00058505  Qm (i32)0x000003e8
 vrshr.u8 d7, d13, #7 :: Qd 0x02020202 0x02020202  Qm (i32)0xffffffff
 vrshr.u8 d7, d13, #7 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff
 vrshr.u16 d8, d1, #5 :: Qd 0x0000055e 0x0000055e  Qm (i32)0x0000abcf
-vrshr.u16 d8, d1, #5 :: Qd 0x00a900c9 0x00a100f9  Qm (i32)0x0000abcf
+vrshr.u16 d8, d1, #5 :: Qd 0x00780068 0x00580048  Qm (i32)0x0000abcf
 vrshr.u32 d12, d3, #15 :: Qd 0x00020000 0x00020000  Qm (i32)0xfffffe50
-vrshr.u32 d12, d3, #15 :: Qd 0x00002a3a 0x00002838  Qm (i32)0xfffffe50
+vrshr.u32 d12, d3, #15 :: Qd 0x00001e1c 0x00001614  Qm (i32)0xfffffe50
 vrshr.u64 d0, d1, #42 :: Qd 0x00000000 0x00400000  Qm (i32)0xffffffff
-vrshr.u64 d0, d1, #42 :: Qd 0x00000000 0x00054746  Qm (i32)0xffffffff
+vrshr.u64 d0, d1, #42 :: Qd 0x00000000 0x0003c383  Qm (i32)0xffffffff
 vrshr.s64 d6, d7, #12 :: Qd 0x00000000 0xfac00001  Qm (i32)0x00000fac
-vrshr.s64 d6, d7, #12 :: Qd 0x000151d1 0x91d141c2  Qm (i32)0x00000fac
+vrshr.s64 d6, d7, #12 :: Qd 0x0000f0e0 0xd0c0b0a1  Qm (i32)0x00000fac
 vrshr.u64 d8, d4, #9 :: Qd 0x0000001a 0x7c00001a  Qm (i32)0x000034f8
-vrshr.u64 d8, d4, #9 :: Qd 0x000a8e8c 0x8e8a0e10  Qm (i32)0x000034f8
+vrshr.u64 d8, d4, #9 :: Qd 0x00078706 0x86058505  Qm (i32)0x000034f8
 vrshr.s64 d9, d12, #11 :: Qd 0x00000030 0x32c00030  Qm (i32)0x00018196
-vrshr.s64 d9, d12, #11 :: Qd 0x0002a3a3 0x23a28384  Qm (i32)0x00018196
+vrshr.s64 d9, d12, #11 :: Qd 0x0001e1c1 0xa1816141  Qm (i32)0x00018196
 ---- VRSRA ----
 vrsra.s8 d0, d1, #1 :: Qd 0x55555555 0x55555555  Qm (i32)0xffffffff
-vrsra.s8 d0, d1, #1 :: Qd 0x1e2a272a 0x1c2d2e2d  Qm (i32)0xffffffff
+vrsra.s8 d0, d1, #1 :: Qd 0x0f0d0c0a 0x09070604  Qm (i32)0xffffffff
 vrsra.s16 d3, d4, #2 :: Qd 0x55555536 0x55555536  Qm (i32)0xffffff84
-vrsra.s16 d3, d4, #2 :: Qd 0x18622062 0x172625e6  Qm (i32)0xffffff84
+vrsra.s16 d3, d4, #2 :: Qd 0x0aca0847 0x05c50342  Qm (i32)0xffffff84
 vrsra.s32 d2, d5, #31 :: Qd 0x55555555 0x55555555  Qm (i32)0xffffffff
-vrsra.s32 d2, d5, #31 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff
+vrsra.s32 d2, d5, #31 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff
 vrsra.s8 d6, d7, #7 :: Qd 0x55555555 0x55555555  Qm (i32)0x0000ffff
-vrsra.s8 d6, d7, #7 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x0000ffff
+vrsra.s8 d6, d7, #7 :: Qd 0x07060504 0x03020100  Qm (i32)0x0000ffff
 vrsra.s16 d8, d9, #12 :: Qd 0x55555555 0x55555555  Qm (i32)0xfffffff6
-vrsra.s16 d8, d9, #12 :: Qd 0x131c1a1d 0x12201e21  Qm (i32)0xfffffff6
+vrsra.s16 d8, d9, #12 :: Qd 0x07070505 0x03030101  Qm (i32)0xfffffff6
 vrsra.s32 d10, d11, #5 :: Qd 0x55555695 0x55555695  Qm (i32)0x000027fa
-vrsra.s32 d10, d11, #5 :: Qd 0x13c402e4 0x12bfff18  Qm (i32)0x000027fa
+vrsra.s32 d10, d11, #5 :: Qd 0x077e756c 0x035a5148  Qm (i32)0x000027fa
 vrsra.u8 d12, d13, #1 :: Qd 0xd5d5d5d5 0xd5d5d5d5  Qm (i32)0xffffffff
-vrsra.u8 d12, d13, #1 :: Qd 0x1e2a272a 0x1c2d2e2d  Qm (i32)0xffffffff
+vrsra.u8 d12, d13, #1 :: Qd 0x0f0d0c0a 0x09070604  Qm (i32)0xffffffff
 vrsra.u16 d14, d15, #11 :: Qd 0x55755575 0x55755575  Qm (i32)0xffffffff
-vrsra.u16 d14, d15, #11 :: Qd 0x131e1a1e 0x12221e23  Qm (i32)0xffffffff
+vrsra.u16 d14, d15, #11 :: Qd 0x07080506 0x03030101  Qm (i32)0xffffffff
 vrsra.u32 d10, d11, #9 :: Qd 0x55555557 0x55555557  Qm (i32)0x000003e8
-vrsra.u32 d10, d11, #9 :: Qd 0x1325a8a8 0x12292c2f  Qm (i32)0x000003e8
+vrsra.u32 d10, d11, #9 :: Qd 0x070d8c0b 0x03078605  Qm (i32)0x000003e8
 vrsra.u8 d7, d13, #7 :: Qd 0x57575757 0x57575757  Qm (i32)0xffffffff
-vrsra.u8 d7, d13, #7 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff
+vrsra.u8 d7, d13, #7 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff
 vrsra.u16 d8, d1, #5 :: Qd 0x55555ab3 0x55555ab3  Qm (i32)0x0000abcf
-vrsra.u16 d8, d1, #5 :: Qd 0x13c41ae4 0x12c01f18  Qm (i32)0x0000abcf
+vrsra.u16 d8, d1, #5 :: Qd 0x077e056c 0x035a0148  Qm (i32)0x0000abcf
 vrsra.u32 d12, d3, #15 :: Qd 0x55575555 0x55575555  Qm (i32)0xfffffe50
-vrsra.u32 d12, d3, #15 :: Qd 0x131b4455 0x121f4657  Qm (i32)0xfffffe50
+vrsra.u32 d12, d3, #15 :: Qd 0x07062320 0x03021714  Qm (i32)0xfffffe50
 vrsra.u64 d0, d1, #42 :: Qd 0x55555555 0x55955555  Qm (i32)0xffffffff
-vrsra.u64 d0, d1, #42 :: Qd 0x131b1a1b 0x12246565  Qm (i32)0xffffffff
+vrsra.u64 d0, d1, #42 :: Qd 0x07060504 0x0305c483  Qm (i32)0xffffffff
 vrsra.s64 d6, d7, #12 :: Qd 0x55555556 0x50155556  Qm (i32)0x00000fac
-vrsra.s64 d6, d7, #12 :: Qd 0x131c6bec 0xa3f05fe1  Qm (i32)0x00000fac
+vrsra.s64 d6, d7, #12 :: Qd 0x0706f5e4 0xd3c2b1a1  Qm (i32)0x00000fac
 vrsra.u64 d8, d4, #9 :: Qd 0x5555556f 0xd155556f  Qm (i32)0x000034f8
-vrsra.u64 d8, d4, #9 :: Qd 0x1325a8a7 0xa0a92c2f  Qm (i32)0x000034f8
+vrsra.u64 d8, d4, #9 :: Qd 0x070d8c0a 0x89078605  Qm (i32)0x000034f8
 vrsra.s64 d9, d12, #11 :: Qd 0x55555585 0x88155585  Qm (i32)0x00018196
-vrsra.s64 d9, d12, #11 :: Qd 0x131dbdbe 0x35c1a1a3  Qm (i32)0x00018196
+vrsra.s64 d9, d12, #11 :: Qd 0x0707e6c5 0xa4836241  Qm (i32)0x00018196
 ---- VSHR ----
 vshr.s8 d0, d1, #0 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vshr.s8 d0, d1, #0 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0xffffffff
+vshr.s8 d0, d1, #0 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0xffffffff
 vshr.s8 d0, d1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vshr.s8 d0, d1, #1 :: Qd 0x0a0e0c0e 0x0a0e0f0e  Qm (i32)0xffffffff
+vshr.s8 d0, d1, #1 :: Qd 0x07070606 0x05050404  Qm (i32)0xffffffff
 vshr.s16 d3, d4, #2 :: Qd 0xffffffe1 0xffffffe1  Qm (i32)0xffffff84
-vshr.s16 d3, d4, #2 :: Qd 0x05470647 0x050707c7  Qm (i32)0xffffff84
+vshr.s16 d3, d4, #2 :: Qd 0x03c30343 0x02c20242  Qm (i32)0xffffff84
 vshr.s32 d2, d5, #31 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
 vshr.s32 d2, d5, #31 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff
 vshr.s8 d6, d7, #7 :: Qd 0x0000ffff 0x0000ffff  Qm (i32)0x0000ffff
 vshr.s8 d6, d7, #7 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000ffff
 vshr.s16 d8, d9, #12 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffff6
-vshr.s16 d8, d9, #12 :: Qd 0x00010001 0x00010001  Qm (i32)0xfffffff6
+vshr.s16 d8, d9, #12 :: Qd 0x00000000 0x00000000  Qm (i32)0xfffffff6
 vshr.s32 d10, d11, #5 :: Qd 0x0000013f 0x0000013f  Qm (i32)0x000027fa
-vshr.s32 d10, d11, #5 :: Qd 0x00a8e8c8 0x00a0e0f8  Qm (i32)0x000027fa
+vshr.s32 d10, d11, #5 :: Qd 0x00787068 0x00585048  Qm (i32)0x000027fa
 vshr.u8 d12, d13, #1 :: Qd 0x7f7f7f7f 0x7f7f7f7f  Qm (i32)0xffffffff
-vshr.u8 d12, d13, #1 :: Qd 0x0a0e0c0e 0x0a0e0f0e  Qm (i32)0xffffffff
+vshr.u8 d12, d13, #1 :: Qd 0x07070606 0x05050404  Qm (i32)0xffffffff
 vshr.u16 d14, d15, #11 :: Qd 0x001f001f 0x001f001f  Qm (i32)0xffffffff
-vshr.u16 d14, d15, #11 :: Qd 0x00020003 0x00020003  Qm (i32)0xffffffff
+vshr.u16 d14, d15, #11 :: Qd 0x00010001 0x00010001  Qm (i32)0xffffffff
 vshr.u32 d10, d11, #9 :: Qd 0x00000001 0x00000001  Qm (i32)0x000003e8
-vshr.u32 d10, d11, #9 :: Qd 0x000a8e8c 0x000a0e0f  Qm (i32)0x000003e8
+vshr.u32 d10, d11, #9 :: Qd 0x00078706 0x00058504  Qm (i32)0x000003e8
 vshr.u8 d7, d13, #7 :: Qd 0x01010101 0x01010101  Qm (i32)0xffffffff
 vshr.u8 d7, d13, #7 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff
 vshr.u16 d8, d1, #5 :: Qd 0x0000055e 0x0000055e  Qm (i32)0x0000abcf
-vshr.u16 d8, d1, #5 :: Qd 0x00a800c8 0x00a000f8  Qm (i32)0x0000abcf
+vshr.u16 d8, d1, #5 :: Qd 0x00780068 0x00580048  Qm (i32)0x0000abcf
 vshr.u32 d12, d3, #15 :: Qd 0x0001ffff 0x0001ffff  Qm (i32)0xfffffe50
-vshr.u32 d12, d3, #15 :: Qd 0x00002a3a 0x00002838  Qm (i32)0xfffffe50
+vshr.u32 d12, d3, #15 :: Qd 0x00001e1c 0x00001614  Qm (i32)0xfffffe50
 vshr.u64 d0, d1, #42 :: Qd 0x00000000 0x003fffff  Qm (i32)0xffffffff
-vshr.u64 d0, d1, #42 :: Qd 0x00000000 0x00054746  Qm (i32)0xffffffff
+vshr.u64 d0, d1, #42 :: Qd 0x00000000 0x0003c383  Qm (i32)0xffffffff
 vshr.s64 d6, d7, #12 :: Qd 0x00000000 0xfac00000  Qm (i32)0x00000fac
-vshr.s64 d6, d7, #12 :: Qd 0x000151d1 0x91d141c1  Qm (i32)0x00000fac
+vshr.s64 d6, d7, #12 :: Qd 0x0000f0e0 0xd0c0b0a0  Qm (i32)0x00000fac
 vshr.u64 d8, d4, #9 :: Qd 0x0000001a 0x7c00001a  Qm (i32)0x000034f8
-vshr.u64 d8, d4, #9 :: Qd 0x000a8e8c 0x8e8a0e0f  Qm (i32)0x000034f8
+vshr.u64 d8, d4, #9 :: Qd 0x00078706 0x86058504  Qm (i32)0x000034f8
 vshr.s64 d9, d12, #11 :: Qd 0x00000030 0x32c00030  Qm (i32)0x00018196
-vshr.s64 d9, d12, #11 :: Qd 0x0002a3a3 0x23a28383  Qm (i32)0x00018196
+vshr.s64 d9, d12, #11 :: Qd 0x0001e1c1 0xa1816141  Qm (i32)0x00018196
 ---- VSRA ----
 vsra.s8 d0, d1, #1 :: Qd 0x54545454 0x54545454  Qm (i32)0xffffffff
-vsra.s8 d0, d1, #1 :: Qd 0x1d292629 0x1c2d2d2d  Qm (i32)0xffffffff
+vsra.s8 d0, d1, #1 :: Qd 0x0e0d0b0a 0x08070504  Qm (i32)0xffffffff
 vsra.s16 d3, d4, #2 :: Qd 0x55545536 0x55545536  Qm (i32)0xffffff84
-vsra.s16 d3, d4, #2 :: Qd 0x18622062 0x172625e6  Qm (i32)0xffffff84
+vsra.s16 d3, d4, #2 :: Qd 0x0ac90847 0x05c40342  Qm (i32)0xffffff84
 vsra.s32 d2, d5, #31 :: Qd 0x55555554 0x55555554  Qm (i32)0xffffffff
-vsra.s32 d2, d5, #31 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff
+vsra.s32 d2, d5, #31 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff
 vsra.s8 d6, d7, #7 :: Qd 0x55555454 0x55555454  Qm (i32)0x0000ffff
-vsra.s8 d6, d7, #7 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x0000ffff
+vsra.s8 d6, d7, #7 :: Qd 0x07060504 0x03020100  Qm (i32)0x0000ffff
 vsra.s16 d8, d9, #12 :: Qd 0x55545554 0x55545554  Qm (i32)0xfffffff6
-vsra.s16 d8, d9, #12 :: Qd 0x131c1a1c 0x12201e20  Qm (i32)0xfffffff6
+vsra.s16 d8, d9, #12 :: Qd 0x07060504 0x03020100  Qm (i32)0xfffffff6
 vsra.s32 d10, d11, #5 :: Qd 0x55555694 0x55555694  Qm (i32)0x000027fa
-vsra.s32 d10, d11, #5 :: Qd 0x13c402e3 0x12bfff17  Qm (i32)0x000027fa
+vsra.s32 d10, d11, #5 :: Qd 0x077e756c 0x035a5148  Qm (i32)0x000027fa
 vsra.u8 d12, d13, #1 :: Qd 0xd4d4d4d4 0xd4d4d4d4  Qm (i32)0xffffffff
-vsra.u8 d12, d13, #1 :: Qd 0x1d292629 0x1c2d2d2d  Qm (i32)0xffffffff
+vsra.u8 d12, d13, #1 :: Qd 0x0e0d0b0a 0x08070504  Qm (i32)0xffffffff
 vsra.u16 d14, d15, #11 :: Qd 0x55745574 0x55745574  Qm (i32)0xffffffff
-vsra.u16 d14, d15, #11 :: Qd 0x131d1a1e 0x12211e22  Qm (i32)0xffffffff
+vsra.u16 d14, d15, #11 :: Qd 0x07070505 0x03030101  Qm (i32)0xffffffff
 vsra.u32 d10, d11, #9 :: Qd 0x55555556 0x55555556  Qm (i32)0x000003e8
-vsra.u32 d10, d11, #9 :: Qd 0x1325a8a7 0x12292c2e  Qm (i32)0x000003e8
+vsra.u32 d10, d11, #9 :: Qd 0x070d8c0a 0x03078604  Qm (i32)0x000003e8
 vsra.u8 d7, d13, #7 :: Qd 0x56565656 0x56565656  Qm (i32)0xffffffff
-vsra.u8 d7, d13, #7 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xffffffff
+vsra.u8 d7, d13, #7 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff
 vsra.u16 d8, d1, #5 :: Qd 0x55555ab3 0x55555ab3  Qm (i32)0x0000abcf
-vsra.u16 d8, d1, #5 :: Qd 0x13c31ae3 0x12bf1f17  Qm (i32)0x0000abcf
+vsra.u16 d8, d1, #5 :: Qd 0x077e056c 0x035a0148  Qm (i32)0x0000abcf
 vsra.u32 d12, d3, #15 :: Qd 0x55575554 0x55575554  Qm (i32)0xfffffe50
-vsra.u32 d12, d3, #15 :: Qd 0x131b4455 0x121f4657  Qm (i32)0xfffffe50
+vsra.u32 d12, d3, #15 :: Qd 0x07062320 0x03021714  Qm (i32)0xfffffe50
 vsra.u64 d0, d1, #42 :: Qd 0x55555555 0x55955554  Qm (i32)0xffffffff
-vsra.u64 d0, d1, #42 :: Qd 0x131b1a1b 0x12246565  Qm (i32)0xffffffff
+vsra.u64 d0, d1, #42 :: Qd 0x07060504 0x0305c483  Qm (i32)0xffffffff
 vsra.s64 d6, d7, #12 :: Qd 0x55555556 0x50155555  Qm (i32)0x00000fac
-vsra.s64 d6, d7, #12 :: Qd 0x131c6bec 0xa3f05fe0  Qm (i32)0x00000fac
+vsra.s64 d6, d7, #12 :: Qd 0x0706f5e4 0xd3c2b1a0  Qm (i32)0x00000fac
 vsra.u64 d8, d4, #9 :: Qd 0x5555556f 0xd155556f  Qm (i32)0x000034f8
-vsra.u64 d8, d4, #9 :: Qd 0x1325a8a7 0xa0a92c2e  Qm (i32)0x000034f8
+vsra.u64 d8, d4, #9 :: Qd 0x070d8c0a 0x89078604  Qm (i32)0x000034f8
 vsra.s64 d9, d12, #11 :: Qd 0x55555585 0x88155585  Qm (i32)0x00018196
-vsra.s64 d9, d12, #11 :: Qd 0x131dbdbe 0x35c1a1a2  Qm (i32)0x00018196
+vsra.s64 d9, d12, #11 :: Qd 0x0707e6c5 0xa4836241  Qm (i32)0x00018196
 ---- VSRI ----
 vsri.16 d0, d1, #1 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0xffffffff
-vsri.16 d0, d1, #1 :: Qd 0x0a8e0c8e 0x0a0e0f8e  Qm (i32)0xffffffff
+vsri.16 d0, d1, #1 :: Qd 0x07870686 0x05850484  Qm (i32)0xffffffff
 vsri.16 d3, d4, #2 :: Qd 0x7fff7fe1 0x7fff7fe1  Qm (i32)0xffffff84
-vsri.16 d3, d4, #2 :: Qd 0x05470647 0x050707c7  Qm (i32)0xffffff84
+vsri.16 d3, d4, #2 :: Qd 0x03c30343 0x02c20242  Qm (i32)0xffffff84
 vsri.32 d2, d5, #31 :: Qd 0x55555555 0x55555555  Qm (i32)0xffffffff
-vsri.32 d2, d5, #31 :: Qd 0x131b1a1a 0x121f1e1e  Qm (i32)0xffffffff
+vsri.32 d2, d5, #31 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff
 vsri.8 d6, d7, #7 :: Qd 0x54545555 0x54545555  Qm (i32)0x0000ffff
-vsri.8 d6, d7, #7 :: Qd 0x121a1a1a 0x121e1e1e  Qm (i32)0x0000ffff
+vsri.8 d6, d7, #7 :: Qd 0x06060404 0x02020000  Qm (i32)0x0000ffff
 vsri.16 d8, d9, #12 :: Qd 0x555f555f 0x555f555f  Qm (i32)0xfffffff6
-vsri.16 d8, d9, #12 :: Qd 0x13111a11 0x12111e11  Qm (i32)0xfffffff6
+vsri.16 d8, d9, #12 :: Qd 0x07000500 0x03000100  Qm (i32)0xfffffff6
 vsri.32 d10, d11, #5 :: Qd 0x5000013f 0x5000013f  Qm (i32)0x000027fa
-vsri.32 d10, d11, #5 :: Qd 0x10a8e8c8 0x10a0e0f8  Qm (i32)0x000027fa
+vsri.32 d10, d11, #5 :: Qd 0x00787068 0x00585048  Qm (i32)0x000027fa
 vsri.8 d12, d13, #1 :: Qd 0x7f7f7f7f 0x7f7f7f7f  Qm (i32)0xffffffff
-vsri.8 d12, d13, #1 :: Qd 0x0a0e0c0e 0x0a0e0f0e  Qm (i32)0xffffffff
+vsri.8 d12, d13, #1 :: Qd 0x07070606 0x05050404  Qm (i32)0xffffffff
 vsri.16 d14, d15, #11 :: Qd 0x555f555f 0x555f555f  Qm (i32)0xffffffff
-vsri.16 d14, d15, #11 :: Qd 0x13021a03 0x12021e03  Qm (i32)0xffffffff
+vsri.16 d14, d15, #11 :: Qd 0x07010501 0x03010101  Qm (i32)0xffffffff
 vsri.32 d10, d11, #9 :: Qd 0x55000001 0x55000001  Qm (i32)0x000003e8
-vsri.32 d10, d11, #9 :: Qd 0x130a8e8c 0x120a0e0f  Qm (i32)0x000003e8
+vsri.32 d10, d11, #9 :: Qd 0x07078706 0x03058504  Qm (i32)0x000003e8
 vsri.8 d7, d13, #7 :: Qd 0x55555555 0x55555555  Qm (i32)0xffffffff
-vsri.8 d7, d13, #7 :: Qd 0x121a1a1a 0x121e1e1e  Qm (i32)0xffffffff
+vsri.8 d7, d13, #7 :: Qd 0x06060404 0x02020000  Qm (i32)0xffffffff
 vsri.16 d8, d1, #5 :: Qd 0x5000555e 0x5000555e  Qm (i32)0x0000abcf
-vsri.16 d8, d1, #5 :: Qd 0x10a818c8 0x10a018f8  Qm (i32)0x0000abcf
+vsri.16 d8, d1, #5 :: Qd 0x00780068 0x00580048  Qm (i32)0x0000abcf
 vsri.32 d12, d3, #15 :: Qd 0x5555ffff 0x5555ffff  Qm (i32)0xfffffe50
-vsri.32 d12, d3, #15 :: Qd 0x131a2a3a 0x121e2838  Qm (i32)0xfffffe50
+vsri.32 d12, d3, #15 :: Qd 0x07061e1c 0x03021614  Qm (i32)0xfffffe50
 vsri.64 d0, d1, #42 :: Qd 0x55555555 0x557fffff  Qm (i32)0xffffffff
-vsri.64 d0, d1, #42 :: Qd 0x131b1a1b 0x12054746  Qm (i32)0xffffffff
+vsri.64 d0, d1, #42 :: Qd 0x07060504 0x0303c383  Qm (i32)0xffffffff
 vsri.64 d6, d7, #12 :: Qd 0x55500000 0xfac00000  Qm (i32)0x00000fac
-vsri.64 d6, d7, #12 :: Qd 0x131151d1 0x91d141c1  Qm (i32)0x00000fac
+vsri.64 d6, d7, #12 :: Qd 0x0700f0e0 0xd0c0b0a0  Qm (i32)0x00000fac
 vsri.64 d8, d4, #9 :: Qd 0x5500001a 0x7c00001a  Qm (i32)0x000034f8
-vsri.64 d8, d4, #9 :: Qd 0x130a8e8c 0x8e8a0e0f  Qm (i32)0x000034f8
+vsri.64 d8, d4, #9 :: Qd 0x07078706 0x86058504  Qm (i32)0x000034f8
 vsri.64 d9, d12, #11 :: Qd 0x55400030 0x32c00030  Qm (i32)0x00018196
-vsri.64 d9, d12, #11 :: Qd 0x1302a3a3 0x23a28383  Qm (i32)0x00018196
+vsri.64 d9, d12, #11 :: Qd 0x0701e1c1 0xa1816141  Qm (i32)0x00018196
 ---- VMOV (ARM core register to scalar) ----
 vmov.32 d0[0], r5 :: Qd 0x55555555 0x0000000d  Qm 0x0000000d
 vmov.32 d1[1], r3 :: Qd 0x0000000c 0x55555555  Qm 0x0000000c
@@ -1969,876 +1969,876 @@
 vmov.s8 r2, d4[6] :: Rd 0xffffff81  Qm (i8)0x00000081
 vmov.s8 r2, d4[7] :: Rd 0xffffff83  Qm (i8)0x00000083
 ---- VLD1 (multiple single elements) ----
-vld1.8 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.16 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.32 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.64 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.8 {d9} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.16 {d17} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.32 {d31} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.64 {d14} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.8 {d0-d1} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 0
-vld1.16 {d0-d1} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 0
-vld1.32 {d5-d6} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 0
-vld1.64 {d30-d31} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 0
-vld1.8 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.16 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.32 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.64 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.8 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
-vld1.16 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
-vld1.32 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
-vld1.64 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
+vld1.8 {d0} :: Result 07060504'03020100 07060504'03020100 07060504'03020100 07060504'03020100  delta 0
+vld1.16 {d0} :: Result 07060504'03020100 07060504'03020100 07060504'03020100 07060504'03020100  delta 0
+vld1.32 {d0} :: Result 07060504'03020100 07060504'03020100 07060504'03020100 07060504'03020100  delta 0
+vld1.64 {d0} :: Result 07060504'03020100 07060504'03020100 07060504'03020100 07060504'03020100  delta 0
+vld1.8 {d9} :: Result 07060504'03020100 07060504'03020100 07060504'03020100 07060504'03020100  delta 0
+vld1.16 {d17} :: Result 07060504'03020100 07060504'03020100 07060504'03020100 07060504'03020100  delta 0
+vld1.32 {d31} :: Result 07060504'03020100 07060504'03020100 07060504'03020100 07060504'03020100  delta 0
+vld1.64 {d14} :: Result 07060504'03020100 07060504'03020100 07060504'03020100 07060504'03020100  delta 0
+vld1.8 {d0-d1} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 07060504'03020100 0f0e0d0c'0b0a0908  delta 0
+vld1.16 {d0-d1} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 07060504'03020100 0f0e0d0c'0b0a0908  delta 0
+vld1.32 {d5-d6} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 07060504'03020100 0f0e0d0c'0b0a0908  delta 0
+vld1.64 {d30-d31} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 07060504'03020100 0f0e0d0c'0b0a0908  delta 0
+vld1.8 {d0-d2} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 07060504'03020100  delta 0
+vld1.16 {d0-d2} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 07060504'03020100  delta 0
+vld1.32 {d0-d2} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 07060504'03020100  delta 0
+vld1.64 {d0-d2} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 07060504'03020100  delta 0
+vld1.8 {d0-d3} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 1f1e1d1c'1b1a1918  delta 0
+vld1.16 {d0-d3} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 1f1e1d1c'1b1a1918  delta 0
+vld1.32 {d0-d3} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 1f1e1d1c'1b1a1918  delta 0
+vld1.64 {d0-d3} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 1f1e1d1c'1b1a1918  delta 0
 ---- VLD1 (single element to one lane) ----
-vld1.32 {d0[0]} :: Result 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555  delta 0
-vld1.32 {d0[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f  delta 0
-vld1.16 {d1[0]} :: Result 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555  delta 0
-vld1.16 {d1[1]} :: Result 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555  delta 0
-vld1.16 {d1[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f  delta 0
-vld1.16 {d1[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555  delta 0
-vld1.8 {d0[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555  delta 0
-vld1.8 {d1[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555  delta 0
-vld1.8 {d0[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55  delta 0
-vld1.8 {d0[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f  delta 0
-vld1.8 {d20[3]} :: Result 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555  delta 0
-vld1.8 {d0[2]} :: Result 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555  delta 0
-vld1.8 {d17[1]} :: Result 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555  delta 0
-vld1.8 {d30[0]} :: Result 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555  delta 0
+vld1.32 {d0[0]} :: Result 55555555'03020100 55555555'03020100 55555555'03020100 55555555'03020100  delta 0
+vld1.32 {d0[1]} :: Result 03020100'55555555 03020100'55555555 03020100'55555555 03020100'55555555  delta 0
+vld1.16 {d1[0]} :: Result 55555555'55550100 55555555'55550100 55555555'55550100 55555555'55550100  delta 0
+vld1.16 {d1[1]} :: Result 55555555'01005555 55555555'01005555 55555555'01005555 55555555'01005555  delta 0
+vld1.16 {d1[2]} :: Result 55550100'55555555 55550100'55555555 55550100'55555555 55550100'55555555  delta 0
+vld1.16 {d1[3]} :: Result 01005555'55555555 01005555'55555555 01005555'55555555 01005555'55555555  delta 0
+vld1.8 {d0[7]} :: Result 00555555'55555555 00555555'55555555 00555555'55555555 00555555'55555555  delta 0
+vld1.8 {d1[6]} :: Result 55005555'55555555 55005555'55555555 55005555'55555555 55005555'55555555  delta 0
+vld1.8 {d0[5]} :: Result 55550055'55555555 55550055'55555555 55550055'55555555 55550055'55555555  delta 0
+vld1.8 {d0[4]} :: Result 55555500'55555555 55555500'55555555 55555500'55555555 55555500'55555555  delta 0
+vld1.8 {d20[3]} :: Result 55555555'00555555 55555555'00555555 55555555'00555555 55555555'00555555  delta 0
+vld1.8 {d0[2]} :: Result 55555555'55005555 55555555'55005555 55555555'55005555 55555555'55005555  delta 0
+vld1.8 {d17[1]} :: Result 55555555'55550055 55555555'55550055 55555555'55550055 55555555'55550055  delta 0
+vld1.8 {d30[0]} :: Result 55555555'55555500 55555555'55555500 55555555'55555500 55555555'55555500  delta 0
 ---- VLD1 (single element to all lanes) ----
-vld1.8 {d0[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f  delta 0
-vld1.16 {d0[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f  delta 0
-vld1.32 {d0[]} :: Result 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f  delta 0
-vld1.8 {d9[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f  delta 0
-vld1.16 {d17[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f  delta 0
-vld1.32 {d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f  delta 0
-vld1.8 {d0[],d1[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f  delta 0
-vld1.16 {d0[],d1[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f  delta 0
-vld1.32 {d5[],d6[]} :: Result 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f  delta 0
+vld1.8 {d0[]} :: Result 00000000'00000000 00000000'00000000 00000000'00000000 00000000'00000000  delta 0
+vld1.16 {d0[]} :: Result 01000100'01000100 01000100'01000100 01000100'01000100 01000100'01000100  delta 0
+vld1.32 {d0[]} :: Result 03020100'03020100 03020100'03020100 03020100'03020100 03020100'03020100  delta 0
+vld1.8 {d9[]} :: Result 00000000'00000000 00000000'00000000 00000000'00000000 00000000'00000000  delta 0
+vld1.16 {d17[]} :: Result 01000100'01000100 01000100'01000100 01000100'01000100 01000100'01000100  delta 0
+vld1.32 {d31[]} :: Result 03020100'03020100 03020100'03020100 03020100'03020100 03020100'03020100  delta 0
+vld1.8 {d0[],d1[]} :: Result 00000000'00000000 00000000'00000000 00000000'00000000 00000000'00000000  delta 0
+vld1.16 {d0[],d1[]} :: Result 01000100'01000100 01000100'01000100 01000100'01000100 01000100'01000100  delta 0
+vld1.32 {d5[],d6[]} :: Result 03020100'03020100 03020100'03020100 03020100'03020100 03020100'03020100  delta 0
 ---- VLD2 (multiple 2-elements) ----
-vld2.8 {d30-d31} :: Result 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f  delta 0
-vld2.16 {d0-d1} :: Result 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c  delta 0
-vld2.32 {d0-d1} :: Result 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d  delta 0
-vld2.8 {d10,d12} :: Result 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f  delta 0
-vld2.16 {d20,d22} :: Result 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c  delta 0
-vld2.32 {d0,d2} :: Result 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d  delta 0
-vld2.8 {d0-d3} :: Result 0x1b1b1f1f 0x1d1d1c1c 0x2c2b2f2f 0x2d2a2a2b 0x131a121e 0x1519141f 0x242b232e 0x262d252e  delta 0
-vld2.16 {d20-d23} :: Result 0x1a1b1e1f 0x191d1f1c 0x2b2b2e2f 0x2d2a2e2b 0x131b121f 0x151d141c 0x242c232f 0x262d252a  delta 0
-vld2.32 {d0-d3} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a  delta 0
+vld2.8 {d30-d31} :: Result 0e0c0a08'06040200 0f0d0b09'07050301 0e0c0a08'06040200 0f0d0b09'07050301  delta 0
+vld2.16 {d0-d1} :: Result 0d0c0908'05040100 0f0e0b0a'07060302 0d0c0908'05040100 0f0e0b0a'07060302  delta 0
+vld2.32 {d0-d1} :: Result 0b0a0908'03020100 0f0e0d0c'07060504 0b0a0908'03020100 0f0e0d0c'07060504  delta 0
+vld2.8 {d10,d12} :: Result 0e0c0a08'06040200 0f0d0b09'07050301 0e0c0a08'06040200 0f0d0b09'07050301  delta 0
+vld2.16 {d20,d22} :: Result 0d0c0908'05040100 0f0e0b0a'07060302 0d0c0908'05040100 0f0e0b0a'07060302  delta 0
+vld2.32 {d0,d2} :: Result 0b0a0908'03020100 0f0e0d0c'07060504 0b0a0908'03020100 0f0e0d0c'07060504  delta 0
+vld2.8 {d0-d3} :: Result 0e0c0a08'06040200 1e1c1a18'16141210 0f0d0b09'07050301 1f1d1b19'17151311  delta 0
+vld2.16 {d20-d23} :: Result 0d0c0908'05040100 1d1c1918'15141110 0f0e0b0a'07060302 1f1e1b1a'17161312  delta 0
+vld2.32 {d0-d3} :: Result 0b0a0908'03020100 1b1a1918'13121110 0f0e0d0c'07060504 1f1e1d1c'17161514  delta 0
 ---- VLD2 (single 2-element structure to one lane) ----
-vld2.32 {d0[0],d1[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555  delta 0
-vld2.32 {d0[1],d1[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b  delta 0
-vld2.32 {d0[0],d2[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555  delta 0
-vld2.32 {d0[1],d2[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b  delta 0
-vld2.16 {d1[0],d2[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555  delta 0
-vld2.16 {d1[1],d2[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555  delta 0
-vld2.16 {d1[2],d2[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f  delta 0
-vld2.16 {d1[3],d2[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555  delta 0
-vld2.16 {d1[0],d3[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555  delta 0
-vld2.16 {d1[1],d3[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555  delta 0
-vld2.16 {d1[2],d3[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f  delta 0
-vld2.16 {d1[3],d3[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555  delta 0
-vld2.8 {d0[7],d1[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555  delta 0
-vld2.8 {d1[6],d2[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555  delta 0
-vld2.8 {d0[5],d1[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55  delta 0
-vld2.8 {d0[4],d1[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551e  delta 0
-vld2.8 {d20[3],d21[3]} :: Result 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555  delta 0
-vld2.8 {d0[2],d1[2]} :: Result 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555  delta 0
-vld2.8 {d17[1],d18[1]} :: Result 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555  delta 0
-vld2.8 {d30[0],d31[0]} :: Result 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555  delta 0
+vld2.32 {d0[0],d1[0]} :: Result 55555555'03020100 55555555'07060504 55555555'03020100 55555555'07060504  delta 0
+vld2.32 {d0[1],d1[1]} :: Result 03020100'55555555 07060504'55555555 03020100'55555555 07060504'55555555  delta 0
+vld2.32 {d0[0],d2[0]} :: Result 55555555'03020100 55555555'07060504 55555555'03020100 55555555'07060504  delta 0
+vld2.32 {d0[1],d2[1]} :: Result 03020100'55555555 07060504'55555555 03020100'55555555 07060504'55555555  delta 0
+vld2.16 {d1[0],d2[0]} :: Result 55555555'55550100 55555555'55550302 55555555'55550100 55555555'55550302  delta 0
+vld2.16 {d1[1],d2[1]} :: Result 55555555'01005555 55555555'03025555 55555555'01005555 55555555'03025555  delta 0
+vld2.16 {d1[2],d2[2]} :: Result 55550100'55555555 55550302'55555555 55550100'55555555 55550302'55555555  delta 0
+vld2.16 {d1[3],d2[3]} :: Result 01005555'55555555 03025555'55555555 01005555'55555555 03025555'55555555  delta 0
+vld2.16 {d1[0],d3[0]} :: Result 55555555'55550100 55555555'55550302 55555555'55550100 55555555'55550302  delta 0
+vld2.16 {d1[1],d3[1]} :: Result 55555555'01005555 55555555'03025555 55555555'01005555 55555555'03025555  delta 0
+vld2.16 {d1[2],d3[2]} :: Result 55550100'55555555 55550302'55555555 55550100'55555555 55550302'55555555  delta 0
+vld2.16 {d1[3],d3[3]} :: Result 01005555'55555555 03025555'55555555 01005555'55555555 03025555'55555555  delta 0
+vld2.8 {d0[7],d1[7]} :: Result 00555555'55555555 01555555'55555555 00555555'55555555 01555555'55555555  delta 0
+vld2.8 {d1[6],d2[6]} :: Result 55005555'55555555 55015555'55555555 55005555'55555555 55015555'55555555  delta 0
+vld2.8 {d0[5],d1[5]} :: Result 55550055'55555555 55550155'55555555 55550055'55555555 55550155'55555555  delta 0
+vld2.8 {d0[4],d1[4]} :: Result 55555500'55555555 55555501'55555555 55555500'55555555 55555501'55555555  delta 0
+vld2.8 {d20[3],d21[3]} :: Result 55555555'00555555 55555555'01555555 55555555'00555555 55555555'01555555  delta 0
+vld2.8 {d0[2],d1[2]} :: Result 55555555'55005555 55555555'55015555 55555555'55005555 55555555'55015555  delta 0
+vld2.8 {d17[1],d18[1]} :: Result 55555555'55550055 55555555'55550155 55555555'55550055 55555555'55550155  delta 0
+vld2.8 {d30[0],d31[0]} :: Result 55555555'55555500 55555555'55555501 55555555'55555500 55555555'55555501  delta 0
 ---- VLD2 (2-elements to all lanes) ----
-vld2.8 {d0[],d1[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld2.16 {d0[],d1[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f  delta 0
-vld2.32 {d0[],d1[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b  delta 0
-vld2.8 {d9[],d11[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld2.16 {d17[],d18[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f  delta 0
-vld2.32 {d30[],d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b  delta 0
-vld2.8 {d0[],d2[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld2.16 {d0[],d2[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f  delta 0
-vld2.32 {d5[],d7[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b  delta 0
+vld2.8 {d0[],d1[]} :: Result 00000000'00000000 01010101'01010101 00000000'00000000 01010101'01010101  delta 0
+vld2.16 {d0[],d1[]} :: Result 01000100'01000100 03020302'03020302 01000100'01000100 03020302'03020302  delta 0
+vld2.32 {d0[],d1[]} :: Result 03020100'03020100 07060504'07060504 03020100'03020100 07060504'07060504  delta 0
+vld2.8 {d9[],d11[]} :: Result 00000000'00000000 01010101'01010101 00000000'00000000 01010101'01010101  delta 0
+vld2.16 {d17[],d18[]} :: Result 01000100'01000100 03020302'03020302 01000100'01000100 03020302'03020302  delta 0
+vld2.32 {d30[],d31[]} :: Result 03020100'03020100 07060504'07060504 03020100'03020100 07060504'07060504  delta 0
+vld2.8 {d0[],d2[]} :: Result 00000000'00000000 01010101'01010101 00000000'00000000 01010101'01010101  delta 0
+vld2.16 {d0[],d2[]} :: Result 01000100'01000100 03020302'03020302 01000100'01000100 03020302'03020302  delta 0
+vld2.32 {d5[],d7[]} :: Result 03020100'03020100 07060504'07060504 03020100'03020100 07060504'07060504  delta 0
 ---- VLD3 (multiple 3-elements) ----
-vld3.8 {d20-d22} :: Result 0x1f1b121f 0x2b2f151d 0x1c131b1e 0x2c232f19 0x141c1a1f 0x242b2e1d 0x1f1b121f 0x2b2f151d  delta 0
-vld3.16 {d0-d2} :: Result 0x131b1e1f 0x232f191d 0x1f1c121f 0x2b2b151d 0x141c1a1b 0x242c2e2f 0x131b1e1f 0x232f191d  delta 0
-vld3.32 {d0-d2} :: Result 0x121f1e1f 0x151d191d 0x131b1a1b 0x232f2e2f 0x141c1f1c 0x242c2b2b 0x121f1e1f 0x151d191d  delta 0
-vld3.8 {d0,d2,d4} :: Result 0x1f1b121f 0x2b2f151d 0x1c131b1e 0x2c232f19 0x141c1a1f 0x242b2e1d 0x1f1b121f 0x2b2f151d  delta 0
-vld3.16 {d20,d22,d24} :: Result 0x131b1e1f 0x232f191d 0x1f1c121f 0x2b2b151d 0x141c1a1b 0x242c2e2f 0x131b1e1f 0x232f191d  delta 0
-vld3.32 {d0,d2,d4} :: Result 0x121f1e1f 0x151d191d 0x131b1a1b 0x232f2e2f 0x141c1f1c 0x242c2b2b 0x121f1e1f 0x151d191d  delta 0
+vld3.8 {d20-d22} :: Result 15120f0c'09060300 1613100d'0a070401 1714110e'0b080502 15120f0c'09060300  delta 0
+vld3.16 {d0-d2} :: Result 13120d0c'07060100 15140f0e'09080302 17161110'0b0a0504 13120d0c'07060100  delta 0
+vld3.32 {d0-d2} :: Result 0f0e0d0c'03020100 13121110'07060504 17161514'0b0a0908 0f0e0d0c'03020100  delta 0
+vld3.8 {d0,d2,d4} :: Result 15120f0c'09060300 1613100d'0a070401 1714110e'0b080502 15120f0c'09060300  delta 0
+vld3.16 {d20,d22,d24} :: Result 13120d0c'07060100 15140f0e'09080302 17161110'0b0a0504 13120d0c'07060100  delta 0
+vld3.32 {d0,d2,d4} :: Result 0f0e0d0c'03020100 13121110'07060504 17161514'0b0a0908 0f0e0d0c'03020100  delta 0
 ---- VLD3 (single 3-element structure to one lane) ----
-vld3.32 {d0[0],d1[0],d2[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b 0x55555555  delta 0
-vld3.32 {d0[1],d1[1],d2[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b  delta 0
-vld3.32 {d0[0],d2[0],d4[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b 0x55555555  delta 0
-vld3.32 {d0[1],d2[1],d4[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b  delta 0
-vld3.16 {d1[0],d2[0],d3[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555121f 0x55555555  delta 0
-vld3.16 {d1[1],d2[1],d3[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x121f5555 0x55555555  delta 0
-vld3.16 {d1[2],d2[2],d3[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555121f  delta 0
-vld3.16 {d1[3],d2[3],d3[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x121f5555  delta 0
-vld3.16 {d1[0],d3[0],d5[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555  delta 0
-vld3.16 {d1[1],d3[1],d5[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555  delta 0
-vld3.16 {d1[2],d3[2],d5[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x5555121f 0x55555555 0x55551a1b  delta 0
-vld3.16 {d1[3],d3[3],d5[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555  delta 0
-vld3.8 {d0[7],d1[7],d2[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555  delta 0
-vld3.8 {d1[6],d2[6],d3[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555  delta 0
-vld3.8 {d0[5],d1[5],d2[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55  delta 0
-vld3.8 {d0[4],d1[4],d2[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551e  delta 0
-vld3.8 {d20[3],d21[3],d22[3]} :: Result 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555  delta 0
-vld3.8 {d0[2],d1[2],d2[2]} :: Result 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555  delta 0
-vld3.8 {d17[1],d18[1],d19[1]} :: Result 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555  delta 0
-vld3.8 {d29[0],d30[0],d31[0]} :: Result 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555  delta 0
+vld3.32 {d0[0],d1[0],d2[0]} :: Result 55555555'03020100 55555555'07060504 55555555'0b0a0908 55555555'07060504  delta 0
+vld3.32 {d0[1],d1[1],d2[1]} :: Result 03020100'55555555 07060504'55555555 0b0a0908'55555555 07060504'55555555  delta 0
+vld3.32 {d0[0],d2[0],d4[0]} :: Result 55555555'03020100 55555555'07060504 55555555'0b0a0908 55555555'07060504  delta 0
+vld3.32 {d0[1],d2[1],d4[1]} :: Result 03020100'55555555 07060504'55555555 0b0a0908'55555555 07060504'55555555  delta 0
+vld3.16 {d1[0],d2[0],d3[0]} :: Result 55555555'55550100 55555555'55550302 55555555'55550504 55555555'55550302  delta 0
+vld3.16 {d1[1],d2[1],d3[1]} :: Result 55555555'01005555 55555555'03025555 55555555'05045555 55555555'03025555  delta 0
+vld3.16 {d1[2],d2[2],d3[2]} :: Result 55550100'55555555 55550302'55555555 55550504'55555555 55550302'55555555  delta 0
+vld3.16 {d1[3],d2[3],d3[3]} :: Result 01005555'55555555 03025555'55555555 05045555'55555555 03025555'55555555  delta 0
+vld3.16 {d1[0],d3[0],d5[0]} :: Result 55555555'55550100 55555555'55550302 55555555'55550302 55555555'55550504  delta 0
+vld3.16 {d1[1],d3[1],d5[1]} :: Result 55555555'01005555 55555555'03025555 55555555'03025555 55555555'05045555  delta 0
+vld3.16 {d1[2],d3[2],d5[2]} :: Result 55550100'55555555 55550302'55555555 55550302'55555555 55550504'55555555  delta 0
+vld3.16 {d1[3],d3[3],d5[3]} :: Result 01005555'55555555 03025555'55555555 03025555'55555555 05045555'55555555  delta 0
+vld3.8 {d0[7],d1[7],d2[7]} :: Result 00555555'55555555 01555555'55555555 02555555'55555555 01555555'55555555  delta 0
+vld3.8 {d1[6],d2[6],d3[6]} :: Result 55005555'55555555 55015555'55555555 55025555'55555555 55015555'55555555  delta 0
+vld3.8 {d0[5],d1[5],d2[5]} :: Result 55550055'55555555 55550155'55555555 55550255'55555555 55550155'55555555  delta 0
+vld3.8 {d0[4],d1[4],d2[4]} :: Result 55555500'55555555 55555501'55555555 55555502'55555555 55555501'55555555  delta 0
+vld3.8 {d20[3],d21[3],d22[3]} :: Result 55555555'00555555 55555555'01555555 55555555'02555555 55555555'01555555  delta 0
+vld3.8 {d0[2],d1[2],d2[2]} :: Result 55555555'55005555 55555555'55015555 55555555'55025555 55555555'55015555  delta 0
+vld3.8 {d17[1],d18[1],d19[1]} :: Result 55555555'55550055 55555555'55550155 55555555'55550255 55555555'55550155  delta 0
+vld3.8 {d29[0],d30[0],d31[0]} :: Result 55555555'55555501 55555555'55555502 55555555'55555500 55555555'55555502  delta 0
 ---- VLD3 (3-elements to all lanes) ----
-vld3.8 {d0[],d1[],d2[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld3.16 {d0[],d1[],d2[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x121f121f 0x121f121f  delta 0
-vld3.32 {d0[],d1[],d2[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x131b1a1b 0x131b1a1b  delta 0
-vld3.8 {d9[],d11[],d13[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld3.16 {d17[],d18[],d19[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x121f121f 0x121f121f  delta 0
-vld3.32 {d29[],d30[],d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c  delta 0
-vld3.8 {d0[],d2[],d4[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld3.16 {d0[],d2[],d4[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x121f121f 0x121f121f  delta 0
-vld3.32 {d5[],d7[],d9[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x131b1a1b 0x131b1a1b  delta 0
+vld3.8 {d0[],d1[],d2[]} :: Result 00000000'00000000 01010101'01010101 02020202'02020202 01010101'01010101  delta 0
+vld3.16 {d0[],d1[],d2[]} :: Result 01000100'01000100 03020302'03020302 05040504'05040504 03020302'03020302  delta 0
+vld3.32 {d0[],d1[],d2[]} :: Result 03020100'03020100 07060504'07060504 0b0a0908'0b0a0908 07060504'07060504  delta 0
+vld3.8 {d9[],d11[],d13[]} :: Result 00000000'00000000 01010101'01010101 02020202'02020202 01010101'01010101  delta 0
+vld3.16 {d17[],d18[],d19[]} :: Result 01000100'01000100 03020302'03020302 05040504'05040504 03020302'03020302  delta 0
+vld3.32 {d29[],d30[],d31[]} :: Result 03020100'03020100 07060504'07060504 07060504'07060504 0b0a0908'0b0a0908  delta 0
+vld3.8 {d0[],d2[],d4[]} :: Result 00000000'00000000 01010101'01010101 02020202'02020202 01010101'01010101  delta 0
+vld3.16 {d0[],d2[],d4[]} :: Result 01000100'01000100 03020302'03020302 05040504'05040504 03020302'03020302  delta 0
+vld3.32 {d5[],d7[],d9[]} :: Result 03020100'03020100 07060504'07060504 0b0a0908'0b0a0908 07060504'07060504  delta 0
 ---- VLD4 (multiple 3-elements) ----
-vld4.8 {d0-d3} :: Result 0x1d1c1b1f 0x2a2b2b2f 0x191f1a1e 0x2d2e2b2e 0x1d1c1b1f 0x2d2a2c2f 0x15141312 0x26252423  delta 0
-vld4.16 {d20-d23} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 0
-vld4.32 {d0-d3} :: Result 0x121f1e1f 0x232f2e2f 0x131b1a1b 0x242c2b2b 0x141c1f1c 0x252a2e2b 0x151d191d 0x262d2d2a  delta 0
-vld4.8 {d0,d2,d4,d6} :: Result 0x1d1c1b1f 0x2a2b2b2f 0x191f1a1e 0x2d2e2b2e 0x1d1c1b1f 0x2d2a2c2f 0x15141312 0x26252423  delta 0
-vld4.16 {d1,d3,d5,d7} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 0
-vld4.32 {d20,d22,d24,d26} :: Result 0x121f1e1f 0x232f2e2f 0x131b1a1b 0x242c2b2b 0x141c1f1c 0x252a2e2b 0x151d191d 0x262d2d2a  delta 0
+vld4.8 {d0-d3} :: Result 1c181410'0c080400 1d191511'0d090501 1e1a1612'0e0a0602 1f1b1713'0f0b0703  delta 0
+vld4.16 {d20-d23} :: Result 19181110'09080100 1b1a1312'0b0a0302 1d1c1514'0d0c0504 1f1e1716'0f0e0706  delta 0
+vld4.32 {d0-d3} :: Result 13121110'03020100 17161514'07060504 1b1a1918'0b0a0908 1f1e1d1c'0f0e0d0c  delta 0
+vld4.8 {d0,d2,d4,d6} :: Result 1c181410'0c080400 1d191511'0d090501 1e1a1612'0e0a0602 1f1b1713'0f0b0703  delta 0
+vld4.16 {d1,d3,d5,d7} :: Result 19181110'09080100 1b1a1312'0b0a0302 1d1c1514'0d0c0504 1f1e1716'0f0e0706  delta 0
+vld4.32 {d20,d22,d24,d26} :: Result 13121110'03020100 17161514'07060504 1b1a1918'0b0a0908 1f1e1d1c'0f0e0d0c  delta 0
 ---- VLD4 (single 4-element structure to one lane) ----
-vld4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x151d191d 0x55555555  delta 0
-vld4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x55555555  delta 0
-vld4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x151d191d 0x55555555  delta 0
-vld4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x151d191d  delta 0
-vld4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b 0x55555555  delta 0
-vld4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555 0x55555555  delta 0
-vld4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b  delta 0
-vld4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555  delta 0
-vld4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b 0x55555555  delta 0
-vld4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555 0x55555555  delta 0
-vld4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b  delta 0
-vld4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555  delta 0
-vld4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x12555555  delta 0
-vld4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x55125555  delta 0
-vld4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551255  delta 0
-vld4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x55555512  delta 0
-vld4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x12555555 0x55555555  delta 0
-vld4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x55125555 0x55555555  delta 0
-vld4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551255 0x55555555  delta 0
-vld4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x55555512 0x55555555  delta 0
+vld4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 55555555'03020100 55555555'07060504 55555555'0b0a0908 55555555'0f0e0d0c  delta 0
+vld4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 03020100'55555555 07060504'55555555 0b0a0908'55555555 55555555'55555555  delta 0
+vld4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 55555555'03020100 55555555'07060504 55555555'0b0a0908 55555555'0f0e0d0c  delta 0
+vld4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 03020100'55555555 07060504'55555555 0b0a0908'55555555 0f0e0d0c'55555555  delta 0
+vld4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 55555555'55550100 55555555'55550302 55555555'55550504 55555555'55550706  delta 0
+vld4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 55555555'01005555 55555555'03025555 55555555'05045555 55555555'07065555  delta 0
+vld4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 55550100'55555555 55550302'55555555 55550504'55555555 55550706'55555555  delta 0
+vld4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 01005555'55555555 03025555'55555555 05045555'55555555 07065555'55555555  delta 0
+vld4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 55555555'55550100 55555555'55550302 55555555'55550504 55555555'55550706  delta 0
+vld4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 55555555'01005555 55555555'03025555 55555555'05045555 55555555'07065555  delta 0
+vld4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 55550100'55555555 55550302'55555555 55550504'55555555 55550706'55555555  delta 0
+vld4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 01005555'55555555 03025555'55555555 05045555'55555555 07065555'55555555  delta 0
+vld4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 00555555'55555555 01555555'55555555 02555555'55555555 03555555'55555555  delta 0
+vld4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 55005555'55555555 55015555'55555555 55025555'55555555 55035555'55555555  delta 0
+vld4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 55550055'55555555 55550155'55555555 55550255'55555555 55550355'55555555  delta 0
+vld4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 55555500'55555555 55555501'55555555 55555502'55555555 55555503'55555555  delta 0
+vld4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 55555555'00555555 55555555'01555555 55555555'02555555 55555555'03555555  delta 0
+vld4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 55555555'55005555 55555555'55015555 55555555'55025555 55555555'55035555  delta 0
+vld4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 55555555'55550055 55555555'55550155 55555555'55550255 55555555'55550355  delta 0
+vld4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 55555555'55555500 55555555'55555501 55555555'55555502 55555555'55555503  delta 0
 ---- VLD4 (4-elements to all lanes) ----
-vld4.8 {d0[],d1[],d2[],d3[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x12121212 0x12121212  delta 0
-vld4.16 {d0[],d1[],d2[],d3[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x131b131b 0x131b131b  delta 0
-vld4.32 {d0[],d1[],d2[],d3[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x151d191d 0x151d191d  delta 0
-vld4.8 {d9[],d11[],d13[],d15[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x12121212 0x12121212  delta 0
-vld4.16 {d17[],d18[],d19[],d20[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x131b131b 0x131b131b  delta 0
-vld4.32 {d28[],d29[],d30[],d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x151d191d 0x151d191d  delta 0
-vld4.8 {d0[],d2[],d4[],d6[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x12121212 0x12121212  delta 0
-vld4.16 {d0[],d2[],d4[],d6[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x131b131b 0x131b131b  delta 0
-vld4.32 {d5[],d7[],d9[],d11[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x151d191d 0x151d191d  delta 0
+vld4.8 {d0[],d1[],d2[],d3[]} :: Result 00000000'00000000 01010101'01010101 02020202'02020202 03030303'03030303  delta 0
+vld4.16 {d0[],d1[],d2[],d3[]} :: Result 01000100'01000100 03020302'03020302 05040504'05040504 07060706'07060706  delta 0
+vld4.32 {d0[],d1[],d2[],d3[]} :: Result 03020100'03020100 07060504'07060504 0b0a0908'0b0a0908 0f0e0d0c'0f0e0d0c  delta 0
+vld4.8 {d9[],d11[],d13[],d15[]} :: Result 00000000'00000000 01010101'01010101 02020202'02020202 03030303'03030303  delta 0
+vld4.16 {d17[],d18[],d19[],d20[]} :: Result 01000100'01000100 03020302'03020302 05040504'05040504 07060706'07060706  delta 0
+vld4.32 {d28[],d29[],d30[],d31[]} :: Result 03020100'03020100 07060504'07060504 0b0a0908'0b0a0908 0f0e0d0c'0f0e0d0c  delta 0
+vld4.8 {d0[],d2[],d4[],d6[]} :: Result 00000000'00000000 01010101'01010101 02020202'02020202 03030303'03030303  delta 0
+vld4.16 {d0[],d2[],d4[],d6[]} :: Result 01000100'01000100 03020302'03020302 05040504'05040504 07060706'07060706  delta 0
+vld4.32 {d5[],d7[],d9[],d11[]} :: Result 03020100'03020100 07060504'07060504 0b0a0908'0b0a0908 0f0e0d0c'0f0e0d0c  delta 0
 ---- VST1 (multiple single elements) ----
-vst1.8 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.16 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.32 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.64 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.8 {d9} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.16 {d17} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.32 {d31} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.64 {d14} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.8 {d0-d1} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.16 {d0-d1} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.32 {d5-d6} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.64 {d30-d31} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.8 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 0
-vst1.16 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 0
-vst1.32 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 0
-vst1.64 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 0
-vst1.8 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
-vst1.16 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
-vst1.32 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
-vst1.64 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
+vst1.8 {d0} :: Result 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.16 {d0} :: Result 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.32 {d0} :: Result 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.64 {d0} :: Result 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.8 {d9} :: Result 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.16 {d17} :: Result 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.32 {d31} :: Result 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.64 {d14} :: Result 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.8 {d0-d1} :: Result 17161514'13121110 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555  delta 0
+vst1.16 {d0-d1} :: Result 17161514'13121110 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555  delta 0
+vst1.32 {d5-d6} :: Result 17161514'13121110 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555  delta 0
+vst1.64 {d30-d31} :: Result 17161514'13121110 1f1e1d1c'1b1a1918 55555555'55555555 55555555'55555555  delta 0
+vst1.8 {d0-d2} :: Result 1f1e1d1c'1b1a1918 0f0e0d0c'0b0a0908 17161514'13121110 55555555'55555555  delta 0
+vst1.16 {d0-d2} :: Result 1f1e1d1c'1b1a1918 0f0e0d0c'0b0a0908 17161514'13121110 55555555'55555555  delta 0
+vst1.32 {d0-d2} :: Result 1f1e1d1c'1b1a1918 0f0e0d0c'0b0a0908 17161514'13121110 55555555'55555555  delta 0
+vst1.64 {d0-d2} :: Result 1f1e1d1c'1b1a1918 0f0e0d0c'0b0a0908 17161514'13121110 55555555'55555555  delta 0
+vst1.8 {d0-d3} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 1f1e1d1c'1b1a1918  delta 0
+vst1.16 {d0-d3} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 1f1e1d1c'1b1a1918  delta 0
+vst1.32 {d0-d3} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 1f1e1d1c'1b1a1918  delta 0
+vst1.64 {d0-d3} :: Result 07060504'03020100 0f0e0d0c'0b0a0908 17161514'13121110 1f1e1d1c'1b1a1918  delta 0
 ---- VST1 (single element from one lane) ----
-vst1.32 {d0[0]} :: Result 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.32 {d0[1]} :: Result 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.16 {d1[0]} :: Result 0x55552e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.16 {d1[1]} :: Result 0x5555252a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.16 {d1[2]} :: Result 0x55552d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.16 {d1[3]} :: Result 0x5555262d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.8 {d0[7]} :: Result 0x55555526 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.8 {d1[6]} :: Result 0x5555552d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.8 {d0[5]} :: Result 0x5555552d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.8 {d0[4]} :: Result 0x5555552a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.8 {d20[3]} :: Result 0x55555525 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.8 {d0[2]} :: Result 0x5555552a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.8 {d17[1]} :: Result 0x5555552e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.8 {d30[0]} :: Result 0x5555552b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
+vst1.32 {d0[0]} :: Result 55555555'1b1a1918 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.32 {d0[1]} :: Result 55555555'1f1e1d1c 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.16 {d1[0]} :: Result 55555555'55551918 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.16 {d1[1]} :: Result 55555555'55551b1a 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.16 {d1[2]} :: Result 55555555'55551d1c 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.16 {d1[3]} :: Result 55555555'55551f1e 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.8 {d0[7]} :: Result 55555555'5555551f 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.8 {d1[6]} :: Result 55555555'5555551e 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.8 {d0[5]} :: Result 55555555'5555551d 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.8 {d0[4]} :: Result 55555555'5555551c 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.8 {d20[3]} :: Result 55555555'5555551b 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.8 {d0[2]} :: Result 55555555'5555551a 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.8 {d17[1]} :: Result 55555555'55555519 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst1.8 {d30[0]} :: Result 55555555'55555518 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
 ---- VST2 (multiple 2-elements) ----
-vst2.8 {d30-d31} :: Result 0x2e2e2b2f 0x25232a2f 0x2d2b2a2b 0x26242d2c 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.16 {d0-d1} :: Result 0x2e2b2e2f 0x252a232f 0x2d2a2b2b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.32 {d0-d1} :: Result 0x232f2e2f 0x252a2e2b 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.8 {d10,d12} :: Result 0x2e2e2b2f 0x25232a2f 0x2d2b2a2b 0x26242d2c 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.16 {d20,d22} :: Result 0x2e2b2e2f 0x252a232f 0x2d2a2b2b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.32 {d0,d2} :: Result 0x232f2e2f 0x252a2e2b 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.8 {d0-d3} :: Result 0x2e1e2f1f 0x23122f1f 0x2b1a2b1b 0x24132c1b 0x2e1f2b1c 0x25142a1c 0x2d192a1d 0x26152d1d  delta 0
-vst2.16 {d20-d23} :: Result 0x2e2f1e1f 0x232f121f 0x2b2b1a1b 0x242c131b 0x2e2b1f1c 0x252a141c 0x2d2a191d 0x262d151d  delta 0
-vst2.32 {d0-d3} :: Result 0x121f1e1f 0x232f2e2f 0x131b1a1b 0x242c2b2b 0x141c1f1c 0x252a2e2b 0x151d191d 0x262d2d2a  delta 0
+vst2.8 {d30-d31} :: Result 1b131a12'19111810 1f171e16'1d151c14 55555555'55555555 55555555'55555555  delta 0
+vst2.16 {d0-d1} :: Result 1b1a1312'19181110 1f1e1716'1d1c1514 55555555'55555555 55555555'55555555  delta 0
+vst2.32 {d0-d1} :: Result 1b1a1918'13121110 1f1e1d1c'17161514 55555555'55555555 55555555'55555555  delta 0
+vst2.8 {d10,d12} :: Result 1b131a12'19111810 1f171e16'1d151c14 55555555'55555555 55555555'55555555  delta 0
+vst2.16 {d20,d22} :: Result 1b1a1312'19181110 1f1e1716'1d1c1514 55555555'55555555 55555555'55555555  delta 0
+vst2.32 {d0,d2} :: Result 1b1a1918'13121110 1f1e1d1c'17161514 55555555'55555555 55555555'55555555  delta 0
+vst2.8 {d0-d3} :: Result 13031202'11011000 17071606'15051404 1b0b1a0a'19091808 1f0f1e0e'1d0d1c0c  delta 0
+vst2.16 {d20-d23} :: Result 13120302'11100100 17160706'15140504 1b1a0b0a'19180908 1f1e0f0e'1d1c0d0c  delta 0
+vst2.32 {d0-d3} :: Result 13121110'03020100 17161514'07060504 1b1a1918'0b0a0908 1f1e1d1c'0f0e0d0c  delta 0
 ---- VST2 (single 2-element structure from one lane) ----
-vst2.32 {d0[0],d1[0]} :: Result 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.32 {d0[1],d1[1]} :: Result 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.32 {d0[0],d2[0]} :: Result 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.32 {d0[1],d2[1]} :: Result 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.16 {d1[0],d2[0]} :: Result 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.16 {d1[1],d2[1]} :: Result 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.16 {d1[2],d2[2]} :: Result 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.16 {d1[3],d2[3]} :: Result 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.16 {d1[0],d3[0]} :: Result 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.16 {d1[1],d3[1]} :: Result 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.16 {d1[2],d3[2]} :: Result 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.16 {d1[3],d3[3]} :: Result 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.8 {d0[7],d1[7]} :: Result 0x55552624 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.8 {d1[6],d2[6]} :: Result 0x55552d2c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.8 {d0[5],d1[5]} :: Result 0x55552d2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.8 {d0[4],d1[4]} :: Result 0x55552a2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.8 {d20[3],d21[3]} :: Result 0x55552523 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.8 {d0[2],d1[2]} :: Result 0x55552a2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.8 {d17[1],d18[1]} :: Result 0x55552e2e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.8 {d30[0],d31[0]} :: Result 0x55552b2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
+vst2.32 {d0[0],d1[0]} :: Result 1b1a1918'13121110 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.32 {d0[1],d1[1]} :: Result 1f1e1d1c'17161514 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.32 {d0[0],d2[0]} :: Result 1b1a1918'13121110 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.32 {d0[1],d2[1]} :: Result 1f1e1d1c'17161514 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.16 {d1[0],d2[0]} :: Result 55555555'19181110 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.16 {d1[1],d2[1]} :: Result 55555555'1b1a1312 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.16 {d1[2],d2[2]} :: Result 55555555'1d1c1514 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.16 {d1[3],d2[3]} :: Result 55555555'1f1e1716 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.16 {d1[0],d3[0]} :: Result 55555555'19181110 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.16 {d1[1],d3[1]} :: Result 55555555'1b1a1312 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.16 {d1[2],d3[2]} :: Result 55555555'1d1c1514 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.16 {d1[3],d3[3]} :: Result 55555555'1f1e1716 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.8 {d0[7],d1[7]} :: Result 55555555'55551f17 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.8 {d1[6],d2[6]} :: Result 55555555'55551e16 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.8 {d0[5],d1[5]} :: Result 55555555'55551d15 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.8 {d0[4],d1[4]} :: Result 55555555'55551c14 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.8 {d20[3],d21[3]} :: Result 55555555'55551b13 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.8 {d0[2],d1[2]} :: Result 55555555'55551a12 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.8 {d17[1],d18[1]} :: Result 55555555'55551911 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst2.8 {d30[0],d31[0]} :: Result 55555555'55551810 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
 ---- VST3 (multiple 3-elements) ----
-vst3.8 {d20-d22} :: Result 0x2e2f1c2b 0x1c2a2e1f 0x2314252f 0x2d2b1d2a 0x1d2d2b19 0x2415262c 0x55555555 0x55555555  delta 0
-vst3.16 {d0-d2} :: Result 0x1f1c2e2b 0x252a2e2f 0x232f141c 0x191d2d2a 0x262d2b2b 0x242c151d 0x55555555 0x55555555  delta 0
-vst3.32 {d0-d2} :: Result 0x252a2e2b 0x141c1f1c 0x232f2e2f 0x262d2d2a 0x151d191d 0x242c2b2b 0x55555555 0x55555555  delta 0
-vst3.8 {d0,d2,d4} :: Result 0x2e2f1c2b 0x1c2a2e1f 0x2314252f 0x2d2b1d2a 0x1d2d2b19 0x2415262c 0x55555555 0x55555555  delta 0
-vst3.16 {d20,d22,d24} :: Result 0x1f1c2e2b 0x252a2e2f 0x232f141c 0x191d2d2a 0x262d2b2b 0x242c151d 0x55555555 0x55555555  delta 0
-vst3.32 {d0,d2,d4} :: Result 0x252a2e2b 0x141c1f1c 0x232f2e2f 0x262d2d2a 0x151d191d 0x242c2b2b 0x55555555 0x55555555  delta 0
+vst3.8 {d20-d22} :: Result 0a1a1109'19100818 1d140c1c'130b1b12 170f1f16'0e1e150d 55555555'55555555  delta 0
+vst3.16 {d0-d2} :: Result 1b1a1110'09081918 0d0c1d1c'13120b0a 17160f0e'1f1e1514 55555555'55555555  delta 0
+vst3.32 {d0-d2} :: Result 0b0a0908'1b1a1918 1f1e1d1c'13121110 17161514'0f0e0d0c 55555555'55555555  delta 0
+vst3.8 {d0,d2,d4} :: Result 0a1a1109'19100818 1d140c1c'130b1b12 170f1f16'0e1e150d 55555555'55555555  delta 0
+vst3.16 {d20,d22,d24} :: Result 1b1a1110'09081918 0d0c1d1c'13120b0a 17160f0e'1f1e1514 55555555'55555555  delta 0
+vst3.32 {d0,d2,d4} :: Result 0b0a0908'1b1a1918 1f1e1d1c'13121110 17161514'0f0e0d0c 55555555'55555555  delta 0
 ---- VST3 (single 3-element structure from one lane) ----
-vst3.32 {d0[0],d1[0],d2[0]} :: Result 0x121f1e1f 0x252a2e2b 0x232f2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.32 {d0[1],d1[1],d2[1]} :: Result 0x131b1a1b 0x262d2d2a 0x242c2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.32 {d0[0],d2[0],d4[0]} :: Result 0x121f1e1f 0x252a2e2b 0x232f2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.32 {d0[1],d2[1],d4[1]} :: Result 0x131b1a1b 0x262d2d2a 0x242c2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.16 {d1[0],d2[0],d3[0]} :: Result 0x2e2b1e1f 0x55552e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.16 {d1[1],d2[1],d3[1]} :: Result 0x252a121f 0x5555232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.16 {d1[2],d2[2],d3[2]} :: Result 0x2d2a1a1b 0x55552b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.16 {d1[3],d2[3],d3[3]} :: Result 0x262d131b 0x5555242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.16 {d1[0],d3[0],d5[0]} :: Result 0x2e2f1e1f 0x55552e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.16 {d1[1],d3[1],d5[1]} :: Result 0x232f121f 0x5555252a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.16 {d1[2],d3[2],d5[2]} :: Result 0x2b2b1a1b 0x55552d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.16 {d1[3],d3[3],d5[3]} :: Result 0x242c131b 0x5555262d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.8 {d0[7],d1[7],d2[7]} :: Result 0x55242613 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.8 {d1[6],d2[6],d3[6]} :: Result 0x552c2d1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.8 {d0[5],d1[5],d2[5]} :: Result 0x552b2d1a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.8 {d0[4],d1[4],d2[4]} :: Result 0x552b2a1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.8 {d20[3],d21[3],d22[3]} :: Result 0x55232512 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.8 {d0[2],d1[2],d2[2]} :: Result 0x552f2a1f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.8 {d17[1],d18[1],d19[1]} :: Result 0x552e2e1e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.8 {d29[0],d30[0],d31[0]} :: Result 0x552b1f2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
+vst3.32 {d0[0],d1[0],d2[0]} :: Result 1b1a1918'03020100 55555555'13121110 55555555'55555555 55555555'55555555  delta 0
+vst3.32 {d0[1],d1[1],d2[1]} :: Result 1f1e1d1c'07060504 55555555'17161514 55555555'55555555 55555555'55555555  delta 0
+vst3.32 {d0[0],d2[0],d4[0]} :: Result 1b1a1918'03020100 55555555'13121110 55555555'55555555 55555555'55555555  delta 0
+vst3.32 {d0[1],d2[1],d4[1]} :: Result 1f1e1d1c'07060504 55555555'17161514 55555555'55555555 55555555'55555555  delta 0
+vst3.16 {d1[0],d2[0],d3[0]} :: Result 55551110'19180100 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.16 {d1[1],d2[1],d3[1]} :: Result 55551312'1b1a0302 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.16 {d1[2],d2[2],d3[2]} :: Result 55551514'1d1c0504 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.16 {d1[3],d2[3],d3[3]} :: Result 55551716'1f1e0706 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.16 {d1[0],d3[0],d5[0]} :: Result 55551918'11100100 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.16 {d1[1],d3[1],d5[1]} :: Result 55551b1a'13120302 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.16 {d1[2],d3[2],d5[2]} :: Result 55551d1c'15140504 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.16 {d1[3],d3[3],d5[3]} :: Result 55551f1e'17160706 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.8 {d0[7],d1[7],d2[7]} :: Result 55555555'55171f07 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.8 {d1[6],d2[6],d3[6]} :: Result 55555555'55161e06 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.8 {d0[5],d1[5],d2[5]} :: Result 55555555'55151d05 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.8 {d0[4],d1[4],d2[4]} :: Result 55555555'55141c04 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.8 {d20[3],d21[3],d22[3]} :: Result 55555555'55131b03 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.8 {d0[2],d1[2],d2[2]} :: Result 55555555'55121a02 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.8 {d17[1],d18[1],d19[1]} :: Result 55555555'55111901 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst3.8 {d29[0],d30[0],d31[0]} :: Result 55555555'55180010 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
 ---- VST4 (multiple 4-elements) ----
-vst4.8 {d0-d3} :: Result 0x2b2f1c1f 0x2e2e1f1e 0x2a2f1c1f 0x25231412 0x2a2b1d1b 0x2d2b191a 0x2d2c1d1b 0x26241513  delta 0
-vst4.16 {d20-d23} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 0
-vst4.32 {d0-d3} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a  delta 0
-vst4.8 {d0,d2,d4,d6} :: Result 0x2b2f1c1f 0x2e2e1f1e 0x2a2f1c1f 0x25231412 0x2a2b1d1b 0x2d2b191a 0x2d2c1d1b 0x26241513  delta 0
-vst4.16 {d1,d3,d5,d7} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 0
-vst4.32 {d20,d22,d24,d26} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a  delta 0
+vst4.8 {d0-d3} :: Result 19110901'18100800 1b130b03'1a120a02 1d150d05'1c140c04 1f170f07'1e160e06  delta 0
+vst4.16 {d20-d23} :: Result 19181110'09080100 1b1a1312'0b0a0302 1d1c1514'0d0c0504 1f1e1716'0f0e0706  delta 0
+vst4.32 {d0-d3} :: Result 0b0a0908'03020100 1b1a1918'13121110 0f0e0d0c'07060504 1f1e1d1c'17161514  delta 0
+vst4.8 {d0,d2,d4,d6} :: Result 19110901'18100800 1b130b03'1a120a02 1d150d05'1c140c04 1f170f07'1e160e06  delta 0
+vst4.16 {d1,d3,d5,d7} :: Result 19181110'09080100 1b1a1312'0b0a0302 1d1c1514'0d0c0504 1f1e1716'0f0e0706  delta 0
+vst4.32 {d20,d22,d24,d26} :: Result 0b0a0908'03020100 1b1a1918'13121110 0f0e0d0c'07060504 1f1e1d1c'17161514  delta 0
 ---- VST4 (single 4-element structure from one lane) ----
-vst4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 0x141c121f 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 0x191d1a1b 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 0x151d131b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 0x141c121f 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 0x191d1a1b 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 0x151d131b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 0x26241513 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 0x2d2c1d1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 0x2d2b191a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 0x2a2b1d1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 0x25231412 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 0x2a2f1c1f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 0x2e2e1f1e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 0x2b2f1c1f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
+vst4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 0b0a0908'03020100 1b1a1918'13121110 55555555'55555555 55555555'55555555  delta 0
+vst4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 0f0e0d0c'07060504 1f1e1d1c'17161514 55555555'55555555 55555555'55555555  delta 0
+vst4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 0b0a0908'03020100 1b1a1918'13121110 55555555'55555555 55555555'55555555  delta 0
+vst4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 0f0e0d0c'07060504 1f1e1d1c'17161514 55555555'55555555 55555555'55555555  delta 0
+vst4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 19181110'09080100 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 1b1a1312'0b0a0302 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 1d1c1514'0d0c0504 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 1f1e1716'0f0e0706 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 19181110'09080100 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 1b1a1312'0b0a0302 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 1d1c1514'0d0c0504 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 1f1e1716'0f0e0706 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 55555555'1f170f07 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 55555555'1e160e06 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 55555555'1d150d05 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 55555555'1c140c04 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 55555555'1b130b03 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 55555555'1a120a02 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 55555555'19110901 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
+vst4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 55555555'18100800 55555555'55555555 55555555'55555555 55555555'55555555  delta 0
 ---- VLD1 (multiple single elements) ----
-vld1.8 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 8
-vld1.16 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 8
-vld1.32 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 8
-vld1.64 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 8
-vld1.8 {d9} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 8
-vld1.16 {d17} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 8
-vld1.32 {d31} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 8
-vld1.64 {d14} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 8
-vld1.8 {d0-d1} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 16
-vld1.16 {d0-d1} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 16
-vld1.32 {d5-d6} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 16
-vld1.64 {d30-d31} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 16
-vld1.8 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 24
-vld1.16 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 24
-vld1.32 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 24
-vld1.64 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 24
-vld1.8 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 32
-vld1.16 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 32
-vld1.32 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 32
-vld1.64 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 32
+vld1.8 {d0} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 8
+vld1.16 {d0} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 8
+vld1.32 {d0} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 8
+vld1.64 {d0} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 8
+vld1.8 {d9} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 8
+vld1.16 {d17} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 8
+vld1.32 {d31} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 8
+vld1.64 {d14} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 8
+vld1.8 {d0-d1} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c  delta 16
+vld1.16 {d0-d1} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c  delta 16
+vld1.32 {d5-d6} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c  delta 16
+vld1.64 {d30-d31} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c  delta 16
+vld1.8 {d0-d2} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x03020100 0x07060504  delta 24
+vld1.16 {d0-d2} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x03020100 0x07060504  delta 24
+vld1.32 {d0-d2} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x03020100 0x07060504  delta 24
+vld1.64 {d0-d2} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x03020100 0x07060504  delta 24
+vld1.8 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 32
+vld1.16 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 32
+vld1.32 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 32
+vld1.64 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 32
 ---- VLD1 (single element to one lane) ----
-vld1.32 {d0[0]} :: Result 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555  delta 4
-vld1.32 {d0[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f  delta 4
-vld1.16 {d1[0]} :: Result 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555  delta 2
-vld1.16 {d1[1]} :: Result 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555  delta 2
-vld1.16 {d1[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f  delta 2
-vld1.16 {d1[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555  delta 2
-vld1.8 {d0[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555  delta 1
-vld1.8 {d1[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555  delta 1
-vld1.8 {d0[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55  delta 1
-vld1.8 {d0[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f  delta 1
-vld1.8 {d20[3]} :: Result 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555  delta 1
-vld1.8 {d0[2]} :: Result 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555  delta 1
-vld1.8 {d17[1]} :: Result 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555  delta 1
-vld1.8 {d30[0]} :: Result 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555  delta 1
+vld1.32 {d0[0]} :: Result 0x03020100 0x55555555 0x03020100 0x55555555 0x03020100 0x55555555 0x03020100 0x55555555  delta 4
+vld1.32 {d0[1]} :: Result 0x55555555 0x03020100 0x55555555 0x03020100 0x55555555 0x03020100 0x55555555 0x03020100  delta 4
+vld1.16 {d1[0]} :: Result 0x55550100 0x55555555 0x55550100 0x55555555 0x55550100 0x55555555 0x55550100 0x55555555  delta 2
+vld1.16 {d1[1]} :: Result 0x01005555 0x55555555 0x01005555 0x55555555 0x01005555 0x55555555 0x01005555 0x55555555  delta 2
+vld1.16 {d1[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550100 0x55555555 0x55550100 0x55555555 0x55550100  delta 2
+vld1.16 {d1[3]} :: Result 0x55555555 0x01005555 0x55555555 0x01005555 0x55555555 0x01005555 0x55555555 0x01005555  delta 2
+vld1.8 {d0[7]} :: Result 0x55555555 0x00555555 0x55555555 0x00555555 0x55555555 0x00555555 0x55555555 0x00555555  delta 1
+vld1.8 {d1[6]} :: Result 0x55555555 0x55005555 0x55555555 0x55005555 0x55555555 0x55005555 0x55555555 0x55005555  delta 1
+vld1.8 {d0[5]} :: Result 0x55555555 0x55550055 0x55555555 0x55550055 0x55555555 0x55550055 0x55555555 0x55550055  delta 1
+vld1.8 {d0[4]} :: Result 0x55555555 0x55555500 0x55555555 0x55555500 0x55555555 0x55555500 0x55555555 0x55555500  delta 1
+vld1.8 {d20[3]} :: Result 0x00555555 0x55555555 0x00555555 0x55555555 0x00555555 0x55555555 0x00555555 0x55555555  delta 1
+vld1.8 {d0[2]} :: Result 0x55005555 0x55555555 0x55005555 0x55555555 0x55005555 0x55555555 0x55005555 0x55555555  delta 1
+vld1.8 {d17[1]} :: Result 0x55550055 0x55555555 0x55550055 0x55555555 0x55550055 0x55555555 0x55550055 0x55555555  delta 1
+vld1.8 {d30[0]} :: Result 0x55555500 0x55555555 0x55555500 0x55555555 0x55555500 0x55555555 0x55555500 0x55555555  delta 1
 ---- VLD1 (single element to all lanes) ----
-vld1.8 {d0[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f  delta 1
-vld1.16 {d0[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f  delta 2
-vld1.32 {d0[]} :: Result 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f  delta 4
-vld1.8 {d9[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f  delta 1
-vld1.16 {d17[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f  delta 2
-vld1.32 {d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f  delta 4
-vld1.8 {d0[],d1[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f  delta 1
-vld1.16 {d0[],d1[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f  delta 2
-vld1.32 {d5[],d6[]} :: Result 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f  delta 4
+vld1.8 {d0[]} :: Result 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000  delta 1
+vld1.16 {d0[]} :: Result 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100  delta 2
+vld1.32 {d0[]} :: Result 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100  delta 4
+vld1.8 {d9[]} :: Result 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000  delta 1
+vld1.16 {d17[]} :: Result 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100  delta 2
+vld1.32 {d31[]} :: Result 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100  delta 4
+vld1.8 {d0[],d1[]} :: Result 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000  delta 1
+vld1.16 {d0[],d1[]} :: Result 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100  delta 2
+vld1.32 {d5[],d6[]} :: Result 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100  delta 4
 ---- VLD2 (multiple 2-elements) ----
-vld2.8 {d30-d31} :: Result 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f  delta 16
-vld2.16 {d0-d1} :: Result 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c  delta 16
-vld2.32 {d0-d1} :: Result 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d  delta 16
-vld2.8 {d10,d12} :: Result 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f  delta 16
-vld2.16 {d20,d22} :: Result 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c  delta 16
-vld2.32 {d0,d2} :: Result 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d  delta 16
-vld2.8 {d0-d3} :: Result 0x1b1b1f1f 0x1d1d1c1c 0x2c2b2f2f 0x2d2a2a2b 0x131a121e 0x1519141f 0x242b232e 0x262d252e  delta 32
-vld2.16 {d20-d23} :: Result 0x1a1b1e1f 0x191d1f1c 0x2b2b2e2f 0x2d2a2e2b 0x131b121f 0x151d141c 0x242c232f 0x262d252a  delta 32
-vld2.32 {d0-d3} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a  delta 32
+vld2.8 {d30-d31} :: Result 0x06040200 0x0e0c0a08 0x07050301 0x0f0d0b09 0x06040200 0x0e0c0a08 0x07050301 0x0f0d0b09  delta 16
+vld2.16 {d0-d1} :: Result 0x05040100 0x0d0c0908 0x07060302 0x0f0e0b0a 0x05040100 0x0d0c0908 0x07060302 0x0f0e0b0a  delta 16
+vld2.32 {d0-d1} :: Result 0x03020100 0x0b0a0908 0x07060504 0x0f0e0d0c 0x03020100 0x0b0a0908 0x07060504 0x0f0e0d0c  delta 16
+vld2.8 {d10,d12} :: Result 0x06040200 0x0e0c0a08 0x07050301 0x0f0d0b09 0x06040200 0x0e0c0a08 0x07050301 0x0f0d0b09  delta 16
+vld2.16 {d20,d22} :: Result 0x05040100 0x0d0c0908 0x07060302 0x0f0e0b0a 0x05040100 0x0d0c0908 0x07060302 0x0f0e0b0a  delta 16
+vld2.32 {d0,d2} :: Result 0x03020100 0x0b0a0908 0x07060504 0x0f0e0d0c 0x03020100 0x0b0a0908 0x07060504 0x0f0e0d0c  delta 16
+vld2.8 {d0-d3} :: Result 0x06040200 0x0e0c0a08 0x16141210 0x1e1c1a18 0x07050301 0x0f0d0b09 0x17151311 0x1f1d1b19  delta 32
+vld2.16 {d20-d23} :: Result 0x05040100 0x0d0c0908 0x15141110 0x1d1c1918 0x07060302 0x0f0e0b0a 0x17161312 0x1f1e1b1a  delta 32
+vld2.32 {d0-d3} :: Result 0x03020100 0x0b0a0908 0x13121110 0x1b1a1918 0x07060504 0x0f0e0d0c 0x17161514 0x1f1e1d1c  delta 32
 ---- VLD2 (single 2-element structure to one lane) ----
-vld2.32 {d0[0],d1[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555  delta 8
-vld2.32 {d0[1],d1[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b  delta 8
-vld2.32 {d0[0],d2[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555  delta 8
-vld2.32 {d0[1],d2[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b  delta 8
-vld2.16 {d1[0],d2[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555  delta 4
-vld2.16 {d1[1],d2[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555  delta 4
-vld2.16 {d1[2],d2[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f  delta 4
-vld2.16 {d1[3],d2[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555  delta 4
-vld2.16 {d1[0],d3[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555  delta 4
-vld2.16 {d1[1],d3[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555  delta 4
-vld2.16 {d1[2],d3[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f  delta 4
-vld2.16 {d1[3],d3[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555  delta 4
-vld2.8 {d0[7],d1[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555  delta 2
-vld2.8 {d1[6],d2[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555  delta 2
-vld2.8 {d0[5],d1[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55  delta 2
-vld2.8 {d0[4],d1[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551e  delta 2
-vld2.8 {d20[3],d21[3]} :: Result 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555  delta 2
-vld2.8 {d0[2],d1[2]} :: Result 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555  delta 2
-vld2.8 {d17[1],d18[1]} :: Result 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555  delta 2
-vld2.8 {d30[0],d31[0]} :: Result 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555  delta 2
+vld2.32 {d0[0],d1[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555  delta 8
+vld2.32 {d0[1],d1[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x03020100 0x55555555 0x07060504  delta 8
+vld2.32 {d0[0],d2[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555  delta 8
+vld2.32 {d0[1],d2[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x03020100 0x55555555 0x07060504  delta 8
+vld2.16 {d1[0],d2[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555  delta 4
+vld2.16 {d1[1],d2[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555  delta 4
+vld2.16 {d1[2],d2[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550100 0x55555555 0x55550302  delta 4
+vld2.16 {d1[3],d2[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x01005555 0x55555555 0x03025555  delta 4
+vld2.16 {d1[0],d3[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555  delta 4
+vld2.16 {d1[1],d3[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555  delta 4
+vld2.16 {d1[2],d3[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550100 0x55555555 0x55550302  delta 4
+vld2.16 {d1[3],d3[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x01005555 0x55555555 0x03025555  delta 4
+vld2.8 {d0[7],d1[7]} :: Result 0x55555555 0x00555555 0x55555555 0x01555555 0x55555555 0x00555555 0x55555555 0x01555555  delta 2
+vld2.8 {d1[6],d2[6]} :: Result 0x55555555 0x55005555 0x55555555 0x55015555 0x55555555 0x55005555 0x55555555 0x55015555  delta 2
+vld2.8 {d0[5],d1[5]} :: Result 0x55555555 0x55550055 0x55555555 0x55550155 0x55555555 0x55550055 0x55555555 0x55550155  delta 2
+vld2.8 {d0[4],d1[4]} :: Result 0x55555555 0x55555500 0x55555555 0x55555501 0x55555555 0x55555500 0x55555555 0x55555501  delta 2
+vld2.8 {d20[3],d21[3]} :: Result 0x00555555 0x55555555 0x01555555 0x55555555 0x00555555 0x55555555 0x01555555 0x55555555  delta 2
+vld2.8 {d0[2],d1[2]} :: Result 0x55005555 0x55555555 0x55015555 0x55555555 0x55005555 0x55555555 0x55015555 0x55555555  delta 2
+vld2.8 {d17[1],d18[1]} :: Result 0x55550055 0x55555555 0x55550155 0x55555555 0x55550055 0x55555555 0x55550155 0x55555555  delta 2
+vld2.8 {d30[0],d31[0]} :: Result 0x55555500 0x55555555 0x55555501 0x55555555 0x55555500 0x55555555 0x55555501 0x55555555  delta 2
 ---- VLD2 (2-elements to all lanes) ----
-vld2.8 {d0[],d1[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 2
-vld2.16 {d0[],d1[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f  delta 4
-vld2.32 {d0[],d1[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b  delta 8
-vld2.8 {d9[],d11[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 2
-vld2.16 {d17[],d18[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f  delta 4
-vld2.32 {d30[],d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b  delta 8
-vld2.8 {d0[],d2[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 2
-vld2.16 {d0[],d2[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f  delta 4
-vld2.32 {d5[],d7[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b  delta 8
+vld2.8 {d0[],d1[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x00000000 0x00000000 0x01010101 0x01010101  delta 2
+vld2.16 {d0[],d1[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x01000100 0x01000100 0x03020302 0x03020302  delta 4
+vld2.32 {d0[],d1[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x03020100 0x03020100 0x07060504 0x07060504  delta 8
+vld2.8 {d9[],d11[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x00000000 0x00000000 0x01010101 0x01010101  delta 2
+vld2.16 {d17[],d18[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x01000100 0x01000100 0x03020302 0x03020302  delta 4
+vld2.32 {d30[],d31[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x03020100 0x03020100 0x07060504 0x07060504  delta 8
+vld2.8 {d0[],d2[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x00000000 0x00000000 0x01010101 0x01010101  delta 2
+vld2.16 {d0[],d2[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x01000100 0x01000100 0x03020302 0x03020302  delta 4
+vld2.32 {d5[],d7[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x03020100 0x03020100 0x07060504 0x07060504  delta 8
 ---- VLD3 (multiple 3-elements) ----
-vld3.8 {d20-d22} :: Result 0x1f1b121f 0x2b2f151d 0x1c131b1e 0x2c232f19 0x141c1a1f 0x242b2e1d 0x1f1b121f 0x2b2f151d  delta 24
-vld3.16 {d0-d2} :: Result 0x131b1e1f 0x232f191d 0x1f1c121f 0x2b2b151d 0x141c1a1b 0x242c2e2f 0x131b1e1f 0x232f191d  delta 24
-vld3.32 {d0-d2} :: Result 0x121f1e1f 0x151d191d 0x131b1a1b 0x232f2e2f 0x141c1f1c 0x242c2b2b 0x121f1e1f 0x151d191d  delta 24
-vld3.8 {d0,d2,d4} :: Result 0x1f1b121f 0x2b2f151d 0x1c131b1e 0x2c232f19 0x141c1a1f 0x242b2e1d 0x1f1b121f 0x2b2f151d  delta 24
-vld3.16 {d20,d22,d24} :: Result 0x131b1e1f 0x232f191d 0x1f1c121f 0x2b2b151d 0x141c1a1b 0x242c2e2f 0x131b1e1f 0x232f191d  delta 24
-vld3.32 {d0,d2,d4} :: Result 0x121f1e1f 0x151d191d 0x131b1a1b 0x232f2e2f 0x141c1f1c 0x242c2b2b 0x121f1e1f 0x151d191d  delta 24
+vld3.8 {d20-d22} :: Result 0x09060300 0x15120f0c 0x0a070401 0x1613100d 0x0b080502 0x1714110e 0x09060300 0x15120f0c  delta 24
+vld3.16 {d0-d2} :: Result 0x07060100 0x13120d0c 0x09080302 0x15140f0e 0x0b0a0504 0x17161110 0x07060100 0x13120d0c  delta 24
+vld3.32 {d0-d2} :: Result 0x03020100 0x0f0e0d0c 0x07060504 0x13121110 0x0b0a0908 0x17161514 0x03020100 0x0f0e0d0c  delta 24
+vld3.8 {d0,d2,d4} :: Result 0x09060300 0x15120f0c 0x0a070401 0x1613100d 0x0b080502 0x1714110e 0x09060300 0x15120f0c  delta 24
+vld3.16 {d20,d22,d24} :: Result 0x07060100 0x13120d0c 0x09080302 0x15140f0e 0x0b0a0504 0x17161110 0x07060100 0x13120d0c  delta 24
+vld3.32 {d0,d2,d4} :: Result 0x03020100 0x0f0e0d0c 0x07060504 0x13121110 0x0b0a0908 0x17161514 0x03020100 0x0f0e0d0c  delta 24
 ---- VLD3 (single 3-element structure to one lane) ----
-vld3.32 {d0[0],d1[0],d2[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b 0x55555555  delta 12
-vld3.32 {d0[1],d1[1],d2[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b  delta 12
-vld3.32 {d0[0],d2[0],d4[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b 0x55555555  delta 12
-vld3.32 {d0[1],d2[1],d4[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b  delta 12
-vld3.16 {d1[0],d2[0],d3[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555121f 0x55555555  delta 6
-vld3.16 {d1[1],d2[1],d3[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x121f5555 0x55555555  delta 6
-vld3.16 {d1[2],d2[2],d3[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555121f  delta 6
-vld3.16 {d1[3],d2[3],d3[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x121f5555  delta 6
-vld3.16 {d1[0],d3[0],d5[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555  delta 6
-vld3.16 {d1[1],d3[1],d5[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555  delta 6
-vld3.16 {d1[2],d3[2],d5[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x5555121f 0x55555555 0x55551a1b  delta 6
-vld3.16 {d1[3],d3[3],d5[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555  delta 6
-vld3.8 {d0[7],d1[7],d2[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555  delta 3
-vld3.8 {d1[6],d2[6],d3[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555  delta 3
-vld3.8 {d0[5],d1[5],d2[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55  delta 3
-vld3.8 {d0[4],d1[4],d2[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551e  delta 3
-vld3.8 {d20[3],d21[3],d22[3]} :: Result 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555  delta 3
-vld3.8 {d0[2],d1[2],d2[2]} :: Result 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555  delta 3
-vld3.8 {d17[1],d18[1],d19[1]} :: Result 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555  delta 3
-vld3.8 {d29[0],d30[0],d31[0]} :: Result 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555  delta 3
+vld3.32 {d0[0],d1[0],d2[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x07060504 0x55555555  delta 12
+vld3.32 {d0[1],d1[1],d2[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x07060504  delta 12
+vld3.32 {d0[0],d2[0],d4[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x07060504 0x55555555  delta 12
+vld3.32 {d0[1],d2[1],d4[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x07060504  delta 12
+vld3.16 {d1[0],d2[0],d3[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550302 0x55555555  delta 6
+vld3.16 {d1[1],d2[1],d3[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x03025555 0x55555555  delta 6
+vld3.16 {d1[2],d2[2],d3[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550302  delta 6
+vld3.16 {d1[3],d2[3],d3[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x03025555  delta 6
+vld3.16 {d1[0],d3[0],d5[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555  delta 6
+vld3.16 {d1[1],d3[1],d5[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555  delta 6
+vld3.16 {d1[2],d3[2],d5[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550302 0x55555555 0x55550504  delta 6
+vld3.16 {d1[3],d3[3],d5[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x03025555 0x55555555 0x05045555  delta 6
+vld3.8 {d0[7],d1[7],d2[7]} :: Result 0x55555555 0x00555555 0x55555555 0x01555555 0x55555555 0x02555555 0x55555555 0x01555555  delta 3
+vld3.8 {d1[6],d2[6],d3[6]} :: Result 0x55555555 0x55005555 0x55555555 0x55015555 0x55555555 0x55025555 0x55555555 0x55015555  delta 3
+vld3.8 {d0[5],d1[5],d2[5]} :: Result 0x55555555 0x55550055 0x55555555 0x55550155 0x55555555 0x55550255 0x55555555 0x55550155  delta 3
+vld3.8 {d0[4],d1[4],d2[4]} :: Result 0x55555555 0x55555500 0x55555555 0x55555501 0x55555555 0x55555502 0x55555555 0x55555501  delta 3
+vld3.8 {d20[3],d21[3],d22[3]} :: Result 0x00555555 0x55555555 0x01555555 0x55555555 0x02555555 0x55555555 0x01555555 0x55555555  delta 3
+vld3.8 {d0[2],d1[2],d2[2]} :: Result 0x55005555 0x55555555 0x55015555 0x55555555 0x55025555 0x55555555 0x55015555 0x55555555  delta 3
+vld3.8 {d17[1],d18[1],d19[1]} :: Result 0x55550055 0x55555555 0x55550155 0x55555555 0x55550255 0x55555555 0x55550155 0x55555555  delta 3
+vld3.8 {d29[0],d30[0],d31[0]} :: Result 0x55555501 0x55555555 0x55555502 0x55555555 0x55555500 0x55555555 0x55555502 0x55555555  delta 3
 ---- VLD3 (3-elements to all lanes) ----
-vld3.8 {d0[],d1[],d2[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 3
-vld3.16 {d0[],d1[],d2[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x121f121f 0x121f121f  delta 6
-vld3.32 {d0[],d1[],d2[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x131b1a1b 0x131b1a1b  delta 12
-vld3.8 {d9[],d11[],d13[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 3
-vld3.16 {d17[],d18[],d19[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x121f121f 0x121f121f  delta 6
-vld3.32 {d29[],d30[],d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c  delta 12
-vld3.8 {d0[],d2[],d4[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 3
-vld3.16 {d0[],d2[],d4[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x121f121f 0x121f121f  delta 6
-vld3.32 {d5[],d7[],d9[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x131b1a1b 0x131b1a1b  delta 12
+vld3.8 {d0[],d1[],d2[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x01010101 0x01010101  delta 3
+vld3.16 {d0[],d1[],d2[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x03020302 0x03020302  delta 6
+vld3.32 {d0[],d1[],d2[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908 0x07060504 0x07060504  delta 12
+vld3.8 {d9[],d11[],d13[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x01010101 0x01010101  delta 3
+vld3.16 {d17[],d18[],d19[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x03020302 0x03020302  delta 6
+vld3.32 {d29[],d30[],d31[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908  delta 12
+vld3.8 {d0[],d2[],d4[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x01010101 0x01010101  delta 3
+vld3.16 {d0[],d2[],d4[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x03020302 0x03020302  delta 6
+vld3.32 {d5[],d7[],d9[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908 0x07060504 0x07060504  delta 12
 ---- VLD4 (multiple 3-elements) ----
-vld4.8 {d0-d3} :: Result 0x1d1c1b1f 0x2a2b2b2f 0x191f1a1e 0x2d2e2b2e 0x1d1c1b1f 0x2d2a2c2f 0x15141312 0x26252423  delta 32
-vld4.16 {d20-d23} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 32
-vld4.32 {d0-d3} :: Result 0x121f1e1f 0x232f2e2f 0x131b1a1b 0x242c2b2b 0x141c1f1c 0x252a2e2b 0x151d191d 0x262d2d2a  delta 32
-vld4.8 {d0,d2,d4,d6} :: Result 0x1d1c1b1f 0x2a2b2b2f 0x191f1a1e 0x2d2e2b2e 0x1d1c1b1f 0x2d2a2c2f 0x15141312 0x26252423  delta 32
-vld4.16 {d1,d3,d5,d7} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 32
-vld4.32 {d20,d22,d24,d26} :: Result 0x121f1e1f 0x232f2e2f 0x131b1a1b 0x242c2b2b 0x141c1f1c 0x252a2e2b 0x151d191d 0x262d2d2a  delta 32
+vld4.8 {d0-d3} :: Result 0x0c080400 0x1c181410 0x0d090501 0x1d191511 0x0e0a0602 0x1e1a1612 0x0f0b0703 0x1f1b1713  delta 32
+vld4.16 {d20-d23} :: Result 0x09080100 0x19181110 0x0b0a0302 0x1b1a1312 0x0d0c0504 0x1d1c1514 0x0f0e0706 0x1f1e1716  delta 32
+vld4.32 {d0-d3} :: Result 0x03020100 0x13121110 0x07060504 0x17161514 0x0b0a0908 0x1b1a1918 0x0f0e0d0c 0x1f1e1d1c  delta 32
+vld4.8 {d0,d2,d4,d6} :: Result 0x0c080400 0x1c181410 0x0d090501 0x1d191511 0x0e0a0602 0x1e1a1612 0x0f0b0703 0x1f1b1713  delta 32
+vld4.16 {d1,d3,d5,d7} :: Result 0x09080100 0x19181110 0x0b0a0302 0x1b1a1312 0x0d0c0504 0x1d1c1514 0x0f0e0706 0x1f1e1716  delta 32
+vld4.32 {d20,d22,d24,d26} :: Result 0x03020100 0x13121110 0x07060504 0x17161514 0x0b0a0908 0x1b1a1918 0x0f0e0d0c 0x1f1e1d1c  delta 32
 ---- VLD4 (single 4-element structure to one lane) ----
-vld4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x151d191d 0x55555555  delta 16
-vld4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x55555555  delta 16
-vld4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x151d191d 0x55555555  delta 16
-vld4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x151d191d  delta 16
-vld4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b 0x55555555  delta 8
-vld4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555 0x55555555  delta 8
-vld4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b  delta 8
-vld4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555  delta 8
-vld4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b 0x55555555  delta 8
-vld4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555 0x55555555  delta 8
-vld4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b  delta 8
-vld4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555  delta 8
-vld4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x12555555  delta 4
-vld4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x55125555  delta 4
-vld4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551255  delta 4
-vld4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x55555512  delta 4
-vld4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x12555555 0x55555555  delta 4
-vld4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x55125555 0x55555555  delta 4
-vld4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551255 0x55555555  delta 4
-vld4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x55555512 0x55555555  delta 4
+vld4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x0f0e0d0c 0x55555555  delta 16
+vld4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x55555555  delta 16
+vld4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x0f0e0d0c 0x55555555  delta 16
+vld4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x0f0e0d0c  delta 16
+vld4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550706 0x55555555  delta 8
+vld4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x07065555 0x55555555  delta 8
+vld4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550706  delta 8
+vld4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x07065555  delta 8
+vld4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550706 0x55555555  delta 8
+vld4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x07065555 0x55555555  delta 8
+vld4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550706  delta 8
+vld4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x07065555  delta 8
+vld4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 0x55555555 0x00555555 0x55555555 0x01555555 0x55555555 0x02555555 0x55555555 0x03555555  delta 4
+vld4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 0x55555555 0x55005555 0x55555555 0x55015555 0x55555555 0x55025555 0x55555555 0x55035555  delta 4
+vld4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 0x55555555 0x55550055 0x55555555 0x55550155 0x55555555 0x55550255 0x55555555 0x55550355  delta 4
+vld4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 0x55555555 0x55555500 0x55555555 0x55555501 0x55555555 0x55555502 0x55555555 0x55555503  delta 4
+vld4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 0x00555555 0x55555555 0x01555555 0x55555555 0x02555555 0x55555555 0x03555555 0x55555555  delta 4
+vld4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 0x55005555 0x55555555 0x55015555 0x55555555 0x55025555 0x55555555 0x55035555 0x55555555  delta 4
+vld4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 0x55550055 0x55555555 0x55550155 0x55555555 0x55550255 0x55555555 0x55550355 0x55555555  delta 4
+vld4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 0x55555500 0x55555555 0x55555501 0x55555555 0x55555502 0x55555555 0x55555503 0x55555555  delta 4
 ---- VLD4 (4-elements to all lanes) ----
-vld4.8 {d0[],d1[],d2[],d3[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x12121212 0x12121212  delta 4
-vld4.16 {d0[],d1[],d2[],d3[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x131b131b 0x131b131b  delta 8
-vld4.32 {d0[],d1[],d2[],d3[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x151d191d 0x151d191d  delta 16
-vld4.8 {d9[],d11[],d13[],d15[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x12121212 0x12121212  delta 4
-vld4.16 {d17[],d18[],d19[],d20[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x131b131b 0x131b131b  delta 8
-vld4.32 {d28[],d29[],d30[],d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x151d191d 0x151d191d  delta 16
-vld4.8 {d0[],d2[],d4[],d6[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x12121212 0x12121212  delta 4
-vld4.16 {d0[],d2[],d4[],d6[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x131b131b 0x131b131b  delta 8
-vld4.32 {d5[],d7[],d9[],d11[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x151d191d 0x151d191d  delta 16
+vld4.8 {d0[],d1[],d2[],d3[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x03030303 0x03030303  delta 4
+vld4.16 {d0[],d1[],d2[],d3[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x07060706 0x07060706  delta 8
+vld4.32 {d0[],d1[],d2[],d3[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908 0x0f0e0d0c 0x0f0e0d0c  delta 16
+vld4.8 {d9[],d11[],d13[],d15[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x03030303 0x03030303  delta 4
+vld4.16 {d17[],d18[],d19[],d20[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x07060706 0x07060706  delta 8
+vld4.32 {d28[],d29[],d30[],d31[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908 0x0f0e0d0c 0x0f0e0d0c  delta 16
+vld4.8 {d0[],d2[],d4[],d6[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x03030303 0x03030303  delta 4
+vld4.16 {d0[],d2[],d4[],d6[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x07060706 0x07060706  delta 8
+vld4.32 {d5[],d7[],d9[],d11[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908 0x0f0e0d0c 0x0f0e0d0c  delta 16
 ---- VST1 (multiple single elements) ----
-vst1.8 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst1.16 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst1.32 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst1.64 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst1.8 {d9} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst1.16 {d17} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst1.32 {d31} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst1.64 {d14} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst1.8 {d0-d1} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst1.16 {d0-d1} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst1.32 {d5-d6} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst1.64 {d30-d31} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst1.8 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 24
-vst1.16 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 24
-vst1.32 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 24
-vst1.64 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 24
-vst1.8 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 32
-vst1.16 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 32
-vst1.32 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 32
-vst1.64 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 32
+vst1.8 {d0} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst1.16 {d0} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst1.32 {d0} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst1.64 {d0} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst1.8 {d9} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst1.16 {d17} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst1.32 {d31} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst1.64 {d14} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst1.8 {d0-d1} :: Result 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst1.16 {d0-d1} :: Result 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst1.32 {d5-d6} :: Result 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst1.64 {d30-d31} :: Result 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst1.8 {d0-d2} :: Result 0x1b1a1918 0x1f1e1d1c 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x55555555 0x55555555  delta 24
+vst1.16 {d0-d2} :: Result 0x1b1a1918 0x1f1e1d1c 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x55555555 0x55555555  delta 24
+vst1.32 {d0-d2} :: Result 0x1b1a1918 0x1f1e1d1c 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x55555555 0x55555555  delta 24
+vst1.64 {d0-d2} :: Result 0x1b1a1918 0x1f1e1d1c 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x55555555 0x55555555  delta 24
+vst1.8 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 32
+vst1.16 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 32
+vst1.32 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 32
+vst1.64 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 32
 ---- VST1 (single element from one lane) ----
-vst1.32 {d0[0]} :: Result 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst1.32 {d0[1]} :: Result 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst1.16 {d1[0]} :: Result 0x55552e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
-vst1.16 {d1[1]} :: Result 0x5555252a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
-vst1.16 {d1[2]} :: Result 0x55552d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
-vst1.16 {d1[3]} :: Result 0x5555262d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
-vst1.8 {d0[7]} :: Result 0x55555526 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
-vst1.8 {d1[6]} :: Result 0x5555552d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
-vst1.8 {d0[5]} :: Result 0x5555552d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
-vst1.8 {d0[4]} :: Result 0x5555552a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
-vst1.8 {d20[3]} :: Result 0x55555525 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
-vst1.8 {d0[2]} :: Result 0x5555552a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
-vst1.8 {d17[1]} :: Result 0x5555552e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
-vst1.8 {d30[0]} :: Result 0x5555552b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
+vst1.32 {d0[0]} :: Result 0x1b1a1918 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst1.32 {d0[1]} :: Result 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst1.16 {d1[0]} :: Result 0x55551918 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst1.16 {d1[1]} :: Result 0x55551b1a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst1.16 {d1[2]} :: Result 0x55551d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst1.16 {d1[3]} :: Result 0x55551f1e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst1.8 {d0[7]} :: Result 0x5555551f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
+vst1.8 {d1[6]} :: Result 0x5555551e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
+vst1.8 {d0[5]} :: Result 0x5555551d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
+vst1.8 {d0[4]} :: Result 0x5555551c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
+vst1.8 {d20[3]} :: Result 0x5555551b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
+vst1.8 {d0[2]} :: Result 0x5555551a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
+vst1.8 {d17[1]} :: Result 0x55555519 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
+vst1.8 {d30[0]} :: Result 0x55555518 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 1
 ---- VST2 (multiple 2-elements) ----
-vst2.8 {d30-d31} :: Result 0x2e2e2b2f 0x25232a2f 0x2d2b2a2b 0x26242d2c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst2.16 {d0-d1} :: Result 0x2e2b2e2f 0x252a232f 0x2d2a2b2b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst2.32 {d0-d1} :: Result 0x232f2e2f 0x252a2e2b 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst2.8 {d10,d12} :: Result 0x2e2e2b2f 0x25232a2f 0x2d2b2a2b 0x26242d2c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst2.16 {d20,d22} :: Result 0x2e2b2e2f 0x252a232f 0x2d2a2b2b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst2.32 {d0,d2} :: Result 0x232f2e2f 0x252a2e2b 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst2.8 {d0-d3} :: Result 0x2e1e2f1f 0x23122f1f 0x2b1a2b1b 0x24132c1b 0x2e1f2b1c 0x25142a1c 0x2d192a1d 0x26152d1d  delta 32
-vst2.16 {d20-d23} :: Result 0x2e2f1e1f 0x232f121f 0x2b2b1a1b 0x242c131b 0x2e2b1f1c 0x252a141c 0x2d2a191d 0x262d151d  delta 32
-vst2.32 {d0-d3} :: Result 0x121f1e1f 0x232f2e2f 0x131b1a1b 0x242c2b2b 0x141c1f1c 0x252a2e2b 0x151d191d 0x262d2d2a  delta 32
+vst2.8 {d30-d31} :: Result 0x19111810 0x1b131a12 0x1d151c14 0x1f171e16 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst2.16 {d0-d1} :: Result 0x19181110 0x1b1a1312 0x1d1c1514 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst2.32 {d0-d1} :: Result 0x13121110 0x1b1a1918 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst2.8 {d10,d12} :: Result 0x19111810 0x1b131a12 0x1d151c14 0x1f171e16 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst2.16 {d20,d22} :: Result 0x19181110 0x1b1a1312 0x1d1c1514 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst2.32 {d0,d2} :: Result 0x13121110 0x1b1a1918 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst2.8 {d0-d3} :: Result 0x11011000 0x13031202 0x15051404 0x17071606 0x19091808 0x1b0b1a0a 0x1d0d1c0c 0x1f0f1e0e  delta 32
+vst2.16 {d20-d23} :: Result 0x11100100 0x13120302 0x15140504 0x17160706 0x19180908 0x1b1a0b0a 0x1d1c0d0c 0x1f1e0f0e  delta 32
+vst2.32 {d0-d3} :: Result 0x03020100 0x13121110 0x07060504 0x17161514 0x0b0a0908 0x1b1a1918 0x0f0e0d0c 0x1f1e1d1c  delta 32
 ---- VST2 (single 2-element structure from one lane) ----
-vst2.32 {d0[0],d1[0]} :: Result 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst2.32 {d0[1],d1[1]} :: Result 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst2.32 {d0[0],d2[0]} :: Result 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst2.32 {d0[1],d2[1]} :: Result 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst2.16 {d1[0],d2[0]} :: Result 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst2.16 {d1[1],d2[1]} :: Result 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst2.16 {d1[2],d2[2]} :: Result 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst2.16 {d1[3],d2[3]} :: Result 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst2.16 {d1[0],d3[0]} :: Result 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst2.16 {d1[1],d3[1]} :: Result 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst2.16 {d1[2],d3[2]} :: Result 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst2.16 {d1[3],d3[3]} :: Result 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst2.8 {d0[7],d1[7]} :: Result 0x55552624 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
-vst2.8 {d1[6],d2[6]} :: Result 0x55552d2c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
-vst2.8 {d0[5],d1[5]} :: Result 0x55552d2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
-vst2.8 {d0[4],d1[4]} :: Result 0x55552a2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
-vst2.8 {d20[3],d21[3]} :: Result 0x55552523 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
-vst2.8 {d0[2],d1[2]} :: Result 0x55552a2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
-vst2.8 {d17[1],d18[1]} :: Result 0x55552e2e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
-vst2.8 {d30[0],d31[0]} :: Result 0x55552b2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst2.32 {d0[0],d1[0]} :: Result 0x13121110 0x1b1a1918 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst2.32 {d0[1],d1[1]} :: Result 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst2.32 {d0[0],d2[0]} :: Result 0x13121110 0x1b1a1918 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst2.32 {d0[1],d2[1]} :: Result 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst2.16 {d1[0],d2[0]} :: Result 0x19181110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst2.16 {d1[1],d2[1]} :: Result 0x1b1a1312 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst2.16 {d1[2],d2[2]} :: Result 0x1d1c1514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst2.16 {d1[3],d2[3]} :: Result 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst2.16 {d1[0],d3[0]} :: Result 0x19181110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst2.16 {d1[1],d3[1]} :: Result 0x1b1a1312 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst2.16 {d1[2],d3[2]} :: Result 0x1d1c1514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst2.16 {d1[3],d3[3]} :: Result 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst2.8 {d0[7],d1[7]} :: Result 0x55551f17 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst2.8 {d1[6],d2[6]} :: Result 0x55551e16 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst2.8 {d0[5],d1[5]} :: Result 0x55551d15 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst2.8 {d0[4],d1[4]} :: Result 0x55551c14 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst2.8 {d20[3],d21[3]} :: Result 0x55551b13 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst2.8 {d0[2],d1[2]} :: Result 0x55551a12 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst2.8 {d17[1],d18[1]} :: Result 0x55551911 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
+vst2.8 {d30[0],d31[0]} :: Result 0x55551810 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 2
 ---- VST3 (multiple 3-elements) ----
-vst3.8 {d20-d22} :: Result 0x2e2f1c2b 0x1c2a2e1f 0x2314252f 0x2d2b1d2a 0x1d2d2b19 0x2415262c 0x55555555 0x55555555  delta 24
-vst3.16 {d0-d2} :: Result 0x1f1c2e2b 0x252a2e2f 0x232f141c 0x191d2d2a 0x262d2b2b 0x242c151d 0x55555555 0x55555555  delta 24
-vst3.32 {d0-d2} :: Result 0x252a2e2b 0x141c1f1c 0x232f2e2f 0x262d2d2a 0x151d191d 0x242c2b2b 0x55555555 0x55555555  delta 24
-vst3.8 {d0,d2,d4} :: Result 0x2e2f1c2b 0x1c2a2e1f 0x2314252f 0x2d2b1d2a 0x1d2d2b19 0x2415262c 0x55555555 0x55555555  delta 24
-vst3.16 {d20,d22,d24} :: Result 0x1f1c2e2b 0x252a2e2f 0x232f141c 0x191d2d2a 0x262d2b2b 0x242c151d 0x55555555 0x55555555  delta 24
-vst3.32 {d0,d2,d4} :: Result 0x252a2e2b 0x141c1f1c 0x232f2e2f 0x262d2d2a 0x151d191d 0x242c2b2b 0x55555555 0x55555555  delta 24
+vst3.8 {d20-d22} :: Result 0x19100818 0x0a1a1109 0x130b1b12 0x1d140c1c 0x0e1e150d 0x170f1f16 0x55555555 0x55555555  delta 24
+vst3.16 {d0-d2} :: Result 0x09081918 0x1b1a1110 0x13120b0a 0x0d0c1d1c 0x1f1e1514 0x17160f0e 0x55555555 0x55555555  delta 24
+vst3.32 {d0-d2} :: Result 0x1b1a1918 0x0b0a0908 0x13121110 0x1f1e1d1c 0x0f0e0d0c 0x17161514 0x55555555 0x55555555  delta 24
+vst3.8 {d0,d2,d4} :: Result 0x19100818 0x0a1a1109 0x130b1b12 0x1d140c1c 0x0e1e150d 0x170f1f16 0x55555555 0x55555555  delta 24
+vst3.16 {d20,d22,d24} :: Result 0x09081918 0x1b1a1110 0x13120b0a 0x0d0c1d1c 0x1f1e1514 0x17160f0e 0x55555555 0x55555555  delta 24
+vst3.32 {d0,d2,d4} :: Result 0x1b1a1918 0x0b0a0908 0x13121110 0x1f1e1d1c 0x0f0e0d0c 0x17161514 0x55555555 0x55555555  delta 24
 ---- VST3 (single 3-element structure from one lane) ----
-vst3.32 {d0[0],d1[0],d2[0]} :: Result 0x121f1e1f 0x252a2e2b 0x232f2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 12
-vst3.32 {d0[1],d1[1],d2[1]} :: Result 0x131b1a1b 0x262d2d2a 0x242c2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 12
-vst3.32 {d0[0],d2[0],d4[0]} :: Result 0x121f1e1f 0x252a2e2b 0x232f2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 12
-vst3.32 {d0[1],d2[1],d4[1]} :: Result 0x131b1a1b 0x262d2d2a 0x242c2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 12
-vst3.16 {d1[0],d2[0],d3[0]} :: Result 0x2e2b1e1f 0x55552e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
-vst3.16 {d1[1],d2[1],d3[1]} :: Result 0x252a121f 0x5555232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
-vst3.16 {d1[2],d2[2],d3[2]} :: Result 0x2d2a1a1b 0x55552b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
-vst3.16 {d1[3],d2[3],d3[3]} :: Result 0x262d131b 0x5555242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
-vst3.16 {d1[0],d3[0],d5[0]} :: Result 0x2e2f1e1f 0x55552e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
-vst3.16 {d1[1],d3[1],d5[1]} :: Result 0x232f121f 0x5555252a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
-vst3.16 {d1[2],d3[2],d5[2]} :: Result 0x2b2b1a1b 0x55552d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
-vst3.16 {d1[3],d3[3],d5[3]} :: Result 0x242c131b 0x5555262d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
-vst3.8 {d0[7],d1[7],d2[7]} :: Result 0x55242613 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
-vst3.8 {d1[6],d2[6],d3[6]} :: Result 0x552c2d1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
-vst3.8 {d0[5],d1[5],d2[5]} :: Result 0x552b2d1a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
-vst3.8 {d0[4],d1[4],d2[4]} :: Result 0x552b2a1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
-vst3.8 {d20[3],d21[3],d22[3]} :: Result 0x55232512 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
-vst3.8 {d0[2],d1[2],d2[2]} :: Result 0x552f2a1f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
-vst3.8 {d17[1],d18[1],d19[1]} :: Result 0x552e2e1e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
-vst3.8 {d29[0],d30[0],d31[0]} :: Result 0x552b1f2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
+vst3.32 {d0[0],d1[0],d2[0]} :: Result 0x03020100 0x1b1a1918 0x13121110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 12
+vst3.32 {d0[1],d1[1],d2[1]} :: Result 0x07060504 0x1f1e1d1c 0x17161514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 12
+vst3.32 {d0[0],d2[0],d4[0]} :: Result 0x03020100 0x1b1a1918 0x13121110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 12
+vst3.32 {d0[1],d2[1],d4[1]} :: Result 0x07060504 0x1f1e1d1c 0x17161514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 12
+vst3.16 {d1[0],d2[0],d3[0]} :: Result 0x19180100 0x55551110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
+vst3.16 {d1[1],d2[1],d3[1]} :: Result 0x1b1a0302 0x55551312 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
+vst3.16 {d1[2],d2[2],d3[2]} :: Result 0x1d1c0504 0x55551514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
+vst3.16 {d1[3],d2[3],d3[3]} :: Result 0x1f1e0706 0x55551716 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
+vst3.16 {d1[0],d3[0],d5[0]} :: Result 0x11100100 0x55551918 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
+vst3.16 {d1[1],d3[1],d5[1]} :: Result 0x13120302 0x55551b1a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
+vst3.16 {d1[2],d3[2],d5[2]} :: Result 0x15140504 0x55551d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
+vst3.16 {d1[3],d3[3],d5[3]} :: Result 0x17160706 0x55551f1e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 6
+vst3.8 {d0[7],d1[7],d2[7]} :: Result 0x55171f07 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
+vst3.8 {d1[6],d2[6],d3[6]} :: Result 0x55161e06 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
+vst3.8 {d0[5],d1[5],d2[5]} :: Result 0x55151d05 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
+vst3.8 {d0[4],d1[4],d2[4]} :: Result 0x55141c04 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
+vst3.8 {d20[3],d21[3],d22[3]} :: Result 0x55131b03 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
+vst3.8 {d0[2],d1[2],d2[2]} :: Result 0x55121a02 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
+vst3.8 {d17[1],d18[1],d19[1]} :: Result 0x55111901 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
+vst3.8 {d29[0],d30[0],d31[0]} :: Result 0x55180010 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 3
 ---- VST4 (multiple 4-elements) ----
-vst4.8 {d0-d3} :: Result 0x2b2f1c1f 0x2e2e1f1e 0x2a2f1c1f 0x25231412 0x2a2b1d1b 0x2d2b191a 0x2d2c1d1b 0x26241513  delta 32
-vst4.16 {d20-d23} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 32
-vst4.32 {d0-d3} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a  delta 32
-vst4.8 {d0,d2,d4,d6} :: Result 0x2b2f1c1f 0x2e2e1f1e 0x2a2f1c1f 0x25231412 0x2a2b1d1b 0x2d2b191a 0x2d2c1d1b 0x26241513  delta 32
-vst4.16 {d1,d3,d5,d7} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 32
-vst4.32 {d20,d22,d24,d26} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a  delta 32
+vst4.8 {d0-d3} :: Result 0x18100800 0x19110901 0x1a120a02 0x1b130b03 0x1c140c04 0x1d150d05 0x1e160e06 0x1f170f07  delta 32
+vst4.16 {d20-d23} :: Result 0x09080100 0x19181110 0x0b0a0302 0x1b1a1312 0x0d0c0504 0x1d1c1514 0x0f0e0706 0x1f1e1716  delta 32
+vst4.32 {d0-d3} :: Result 0x03020100 0x0b0a0908 0x13121110 0x1b1a1918 0x07060504 0x0f0e0d0c 0x17161514 0x1f1e1d1c  delta 32
+vst4.8 {d0,d2,d4,d6} :: Result 0x18100800 0x19110901 0x1a120a02 0x1b130b03 0x1c140c04 0x1d150d05 0x1e160e06 0x1f170f07  delta 32
+vst4.16 {d1,d3,d5,d7} :: Result 0x09080100 0x19181110 0x0b0a0302 0x1b1a1312 0x0d0c0504 0x1d1c1514 0x0f0e0706 0x1f1e1716  delta 32
+vst4.32 {d20,d22,d24,d26} :: Result 0x03020100 0x0b0a0908 0x13121110 0x1b1a1918 0x07060504 0x0f0e0d0c 0x17161514 0x1f1e1d1c  delta 32
 ---- VST4 (single 4-element structure from one lane) ----
-vst4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
-vst4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 0x141c121f 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 0x191d1a1b 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 0x151d131b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 0x141c121f 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 0x191d1a1b 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 0x151d131b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
-vst4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 0x26241513 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 0x2d2c1d1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 0x2d2b191a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 0x2a2b1d1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 0x25231412 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 0x2a2f1c1f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 0x2e2e1f1e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
-vst4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 0x2b2f1c1f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 0x03020100 0x0b0a0908 0x13121110 0x1b1a1918 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 0x07060504 0x0f0e0d0c 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 0x03020100 0x0b0a0908 0x13121110 0x1b1a1918 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 0x07060504 0x0f0e0d0c 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 16
+vst4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 0x09080100 0x19181110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 0x0b0a0302 0x1b1a1312 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 0x0d0c0504 0x1d1c1514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 0x0f0e0706 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 0x09080100 0x19181110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 0x0b0a0302 0x1b1a1312 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 0x0d0c0504 0x1d1c1514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 0x0f0e0706 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 8
+vst4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 0x1f170f07 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 0x1e160e06 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 0x1d150d05 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 0x1c140c04 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 0x1b130b03 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 0x1a120a02 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 0x19110901 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
+vst4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 0x18100800 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 4
 ---- VLD1 (multiple single elements) ----
-vld1.8 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.16 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.32 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.64 {d0} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.8 {d9} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.16 {d17} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.32 {d31} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.64 {d14} :: Result 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.8 {d0-d1} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 0
-vld1.16 {d0-d1} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 0
-vld1.32 {d5-d6} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 0
-vld1.64 {d30-d31} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d  delta 0
-vld1.8 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.16 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.32 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.64 {d0-d2} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x121f1e1f 0x131b1a1b  delta 0
-vld1.8 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
-vld1.16 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
-vld1.32 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
-vld1.64 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 0
+vld1.8 {d0} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 0
+vld1.16 {d0} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 0
+vld1.32 {d0} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 0
+vld1.64 {d0} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 0
+vld1.8 {d9} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 0
+vld1.16 {d17} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 0
+vld1.32 {d31} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 0
+vld1.64 {d14} :: Result 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504 0x03020100 0x07060504  delta 0
+vld1.8 {d0-d1} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c  delta 0
+vld1.16 {d0-d1} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c  delta 0
+vld1.32 {d5-d6} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c  delta 0
+vld1.64 {d30-d31} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c  delta 0
+vld1.8 {d0-d2} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x03020100 0x07060504  delta 0
+vld1.16 {d0-d2} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x03020100 0x07060504  delta 0
+vld1.32 {d0-d2} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x03020100 0x07060504  delta 0
+vld1.64 {d0-d2} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x03020100 0x07060504  delta 0
+vld1.8 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 0
+vld1.16 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 0
+vld1.32 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 0
+vld1.64 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 0
 ---- VLD1 (single element to one lane) ----
-vld1.32 {d0[0]} :: Result 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555  delta 0
-vld1.32 {d0[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f 0x55555555 0x121f1e1f  delta 0
-vld1.16 {d1[0]} :: Result 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555  delta 0
-vld1.16 {d1[1]} :: Result 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555  delta 0
-vld1.16 {d1[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f 0x55555555 0x55551e1f  delta 0
-vld1.16 {d1[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555 0x55555555 0x1e1f5555  delta 0
-vld1.8 {d0[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555  delta 0
-vld1.8 {d1[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555  delta 0
-vld1.8 {d0[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55  delta 0
-vld1.8 {d0[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f  delta 0
-vld1.8 {d20[3]} :: Result 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555 0x1f555555 0x55555555  delta 0
-vld1.8 {d0[2]} :: Result 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555 0x551f5555 0x55555555  delta 0
-vld1.8 {d17[1]} :: Result 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555 0x55551f55 0x55555555  delta 0
-vld1.8 {d30[0]} :: Result 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555  delta 0
+vld1.32 {d0[0]} :: Result 0x03020100 0x55555555 0x03020100 0x55555555 0x03020100 0x55555555 0x03020100 0x55555555  delta 0
+vld1.32 {d0[1]} :: Result 0x55555555 0x03020100 0x55555555 0x03020100 0x55555555 0x03020100 0x55555555 0x03020100  delta 0
+vld1.16 {d1[0]} :: Result 0x55550100 0x55555555 0x55550100 0x55555555 0x55550100 0x55555555 0x55550100 0x55555555  delta 0
+vld1.16 {d1[1]} :: Result 0x01005555 0x55555555 0x01005555 0x55555555 0x01005555 0x55555555 0x01005555 0x55555555  delta 0
+vld1.16 {d1[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550100 0x55555555 0x55550100 0x55555555 0x55550100  delta 0
+vld1.16 {d1[3]} :: Result 0x55555555 0x01005555 0x55555555 0x01005555 0x55555555 0x01005555 0x55555555 0x01005555  delta 0
+vld1.8 {d0[7]} :: Result 0x55555555 0x00555555 0x55555555 0x00555555 0x55555555 0x00555555 0x55555555 0x00555555  delta 0
+vld1.8 {d1[6]} :: Result 0x55555555 0x55005555 0x55555555 0x55005555 0x55555555 0x55005555 0x55555555 0x55005555  delta 0
+vld1.8 {d0[5]} :: Result 0x55555555 0x55550055 0x55555555 0x55550055 0x55555555 0x55550055 0x55555555 0x55550055  delta 0
+vld1.8 {d0[4]} :: Result 0x55555555 0x55555500 0x55555555 0x55555500 0x55555555 0x55555500 0x55555555 0x55555500  delta 0
+vld1.8 {d20[3]} :: Result 0x00555555 0x55555555 0x00555555 0x55555555 0x00555555 0x55555555 0x00555555 0x55555555  delta 0
+vld1.8 {d0[2]} :: Result 0x55005555 0x55555555 0x55005555 0x55555555 0x55005555 0x55555555 0x55005555 0x55555555  delta 0
+vld1.8 {d17[1]} :: Result 0x55550055 0x55555555 0x55550055 0x55555555 0x55550055 0x55555555 0x55550055 0x55555555  delta 0
+vld1.8 {d30[0]} :: Result 0x55555500 0x55555555 0x55555500 0x55555555 0x55555500 0x55555555 0x55555500 0x55555555  delta 0
 ---- VLD1 (single element to all lanes) ----
-vld1.8 {d0[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f  delta 0
-vld1.16 {d0[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f  delta 0
-vld1.32 {d0[]} :: Result 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f  delta 0
-vld1.8 {d9[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f  delta 0
-vld1.16 {d17[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f  delta 0
-vld1.32 {d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f  delta 0
-vld1.8 {d0[],d1[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f 0x1f1f1f1f  delta 0
-vld1.16 {d0[],d1[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f 0x1e1f1e1f  delta 0
-vld1.32 {d5[],d6[]} :: Result 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f 0x121f1e1f  delta 0
+vld1.8 {d0[]} :: Result 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000  delta 0
+vld1.16 {d0[]} :: Result 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100  delta 0
+vld1.32 {d0[]} :: Result 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100  delta 0
+vld1.8 {d9[]} :: Result 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000  delta 0
+vld1.16 {d17[]} :: Result 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100  delta 0
+vld1.32 {d31[]} :: Result 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100  delta 0
+vld1.8 {d0[],d1[]} :: Result 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000 0x00000000  delta 0
+vld1.16 {d0[],d1[]} :: Result 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100 0x01000100  delta 0
+vld1.32 {d5[],d6[]} :: Result 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100 0x03020100  delta 0
 ---- VLD2 (multiple 2-elements) ----
-vld2.8 {d30-d31} :: Result 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f  delta 0
-vld2.16 {d0-d1} :: Result 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c  delta 0
-vld2.32 {d0-d1} :: Result 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d  delta 0
-vld2.8 {d10,d12} :: Result 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f 0x1b1b1f1f 0x1d1d1c1c 0x131a121e 0x1519141f  delta 0
-vld2.16 {d20,d22} :: Result 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c 0x1a1b1e1f 0x191d1f1c 0x131b121f 0x151d141c  delta 0
-vld2.32 {d0,d2} :: Result 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d 0x121f1e1f 0x141c1f1c 0x131b1a1b 0x151d191d  delta 0
-vld2.8 {d0-d3} :: Result 0x1b1b1f1f 0x1d1d1c1c 0x2c2b2f2f 0x2d2a2a2b 0x131a121e 0x1519141f 0x242b232e 0x262d252e  delta 0
-vld2.16 {d20-d23} :: Result 0x1a1b1e1f 0x191d1f1c 0x2b2b2e2f 0x2d2a2e2b 0x131b121f 0x151d141c 0x242c232f 0x262d252a  delta 0
-vld2.32 {d0-d3} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a  delta 0
+vld2.8 {d30-d31} :: Result 0x06040200 0x0e0c0a08 0x07050301 0x0f0d0b09 0x06040200 0x0e0c0a08 0x07050301 0x0f0d0b09  delta 0
+vld2.16 {d0-d1} :: Result 0x05040100 0x0d0c0908 0x07060302 0x0f0e0b0a 0x05040100 0x0d0c0908 0x07060302 0x0f0e0b0a  delta 0
+vld2.32 {d0-d1} :: Result 0x03020100 0x0b0a0908 0x07060504 0x0f0e0d0c 0x03020100 0x0b0a0908 0x07060504 0x0f0e0d0c  delta 0
+vld2.8 {d10,d12} :: Result 0x06040200 0x0e0c0a08 0x07050301 0x0f0d0b09 0x06040200 0x0e0c0a08 0x07050301 0x0f0d0b09  delta 0
+vld2.16 {d20,d22} :: Result 0x05040100 0x0d0c0908 0x07060302 0x0f0e0b0a 0x05040100 0x0d0c0908 0x07060302 0x0f0e0b0a  delta 0
+vld2.32 {d0,d2} :: Result 0x03020100 0x0b0a0908 0x07060504 0x0f0e0d0c 0x03020100 0x0b0a0908 0x07060504 0x0f0e0d0c  delta 0
+vld2.8 {d0-d3} :: Result 0x06040200 0x0e0c0a08 0x16141210 0x1e1c1a18 0x07050301 0x0f0d0b09 0x17151311 0x1f1d1b19  delta 0
+vld2.16 {d20-d23} :: Result 0x05040100 0x0d0c0908 0x15141110 0x1d1c1918 0x07060302 0x0f0e0b0a 0x17161312 0x1f1e1b1a  delta 0
+vld2.32 {d0-d3} :: Result 0x03020100 0x0b0a0908 0x13121110 0x1b1a1918 0x07060504 0x0f0e0d0c 0x17161514 0x1f1e1d1c  delta 0
 ---- VLD2 (single 2-element structure to one lane) ----
-vld2.32 {d0[0],d1[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555  delta 0
-vld2.32 {d0[1],d1[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b  delta 0
-vld2.32 {d0[0],d2[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555  delta 0
-vld2.32 {d0[1],d2[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b  delta 0
-vld2.16 {d1[0],d2[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555  delta 0
-vld2.16 {d1[1],d2[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555  delta 0
-vld2.16 {d1[2],d2[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f  delta 0
-vld2.16 {d1[3],d2[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555  delta 0
-vld2.16 {d1[0],d3[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555  delta 0
-vld2.16 {d1[1],d3[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555  delta 0
-vld2.16 {d1[2],d3[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551e1f 0x55555555 0x5555121f  delta 0
-vld2.16 {d1[3],d3[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1e1f5555 0x55555555 0x121f5555  delta 0
-vld2.8 {d0[7],d1[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555  delta 0
-vld2.8 {d1[6],d2[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555  delta 0
-vld2.8 {d0[5],d1[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55  delta 0
-vld2.8 {d0[4],d1[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551e  delta 0
-vld2.8 {d20[3],d21[3]} :: Result 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555  delta 0
-vld2.8 {d0[2],d1[2]} :: Result 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555  delta 0
-vld2.8 {d17[1],d18[1]} :: Result 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555  delta 0
-vld2.8 {d30[0],d31[0]} :: Result 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555  delta 0
+vld2.32 {d0[0],d1[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555  delta 0
+vld2.32 {d0[1],d1[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x03020100 0x55555555 0x07060504  delta 0
+vld2.32 {d0[0],d2[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555  delta 0
+vld2.32 {d0[1],d2[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x03020100 0x55555555 0x07060504  delta 0
+vld2.16 {d1[0],d2[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555  delta 0
+vld2.16 {d1[1],d2[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555  delta 0
+vld2.16 {d1[2],d2[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550100 0x55555555 0x55550302  delta 0
+vld2.16 {d1[3],d2[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x01005555 0x55555555 0x03025555  delta 0
+vld2.16 {d1[0],d3[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555  delta 0
+vld2.16 {d1[1],d3[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555  delta 0
+vld2.16 {d1[2],d3[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550100 0x55555555 0x55550302  delta 0
+vld2.16 {d1[3],d3[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x01005555 0x55555555 0x03025555  delta 0
+vld2.8 {d0[7],d1[7]} :: Result 0x55555555 0x00555555 0x55555555 0x01555555 0x55555555 0x00555555 0x55555555 0x01555555  delta 0
+vld2.8 {d1[6],d2[6]} :: Result 0x55555555 0x55005555 0x55555555 0x55015555 0x55555555 0x55005555 0x55555555 0x55015555  delta 0
+vld2.8 {d0[5],d1[5]} :: Result 0x55555555 0x55550055 0x55555555 0x55550155 0x55555555 0x55550055 0x55555555 0x55550155  delta 0
+vld2.8 {d0[4],d1[4]} :: Result 0x55555555 0x55555500 0x55555555 0x55555501 0x55555555 0x55555500 0x55555555 0x55555501  delta 0
+vld2.8 {d20[3],d21[3]} :: Result 0x00555555 0x55555555 0x01555555 0x55555555 0x00555555 0x55555555 0x01555555 0x55555555  delta 0
+vld2.8 {d0[2],d1[2]} :: Result 0x55005555 0x55555555 0x55015555 0x55555555 0x55005555 0x55555555 0x55015555 0x55555555  delta 0
+vld2.8 {d17[1],d18[1]} :: Result 0x55550055 0x55555555 0x55550155 0x55555555 0x55550055 0x55555555 0x55550155 0x55555555  delta 0
+vld2.8 {d30[0],d31[0]} :: Result 0x55555500 0x55555555 0x55555501 0x55555555 0x55555500 0x55555555 0x55555501 0x55555555  delta 0
 ---- VLD2 (2-elements to all lanes) ----
-vld2.8 {d0[],d1[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld2.16 {d0[],d1[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f  delta 0
-vld2.32 {d0[],d1[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b  delta 0
-vld2.8 {d9[],d11[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld2.16 {d17[],d18[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f  delta 0
-vld2.32 {d30[],d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b  delta 0
-vld2.8 {d0[],d2[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld2.16 {d0[],d2[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f  delta 0
-vld2.32 {d5[],d7[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b  delta 0
+vld2.8 {d0[],d1[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x00000000 0x00000000 0x01010101 0x01010101  delta 0
+vld2.16 {d0[],d1[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x01000100 0x01000100 0x03020302 0x03020302  delta 0
+vld2.32 {d0[],d1[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x03020100 0x03020100 0x07060504 0x07060504  delta 0
+vld2.8 {d9[],d11[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x00000000 0x00000000 0x01010101 0x01010101  delta 0
+vld2.16 {d17[],d18[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x01000100 0x01000100 0x03020302 0x03020302  delta 0
+vld2.32 {d30[],d31[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x03020100 0x03020100 0x07060504 0x07060504  delta 0
+vld2.8 {d0[],d2[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x00000000 0x00000000 0x01010101 0x01010101  delta 0
+vld2.16 {d0[],d2[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x01000100 0x01000100 0x03020302 0x03020302  delta 0
+vld2.32 {d5[],d7[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x03020100 0x03020100 0x07060504 0x07060504  delta 0
 ---- VLD3 (multiple 3-elements) ----
-vld3.8 {d20-d22} :: Result 0x1f1b121f 0x2b2f151d 0x1c131b1e 0x2c232f19 0x141c1a1f 0x242b2e1d 0x1f1b121f 0x2b2f151d  delta 0
-vld3.16 {d0-d2} :: Result 0x131b1e1f 0x232f191d 0x1f1c121f 0x2b2b151d 0x141c1a1b 0x242c2e2f 0x131b1e1f 0x232f191d  delta 0
-vld3.32 {d0-d2} :: Result 0x121f1e1f 0x151d191d 0x131b1a1b 0x232f2e2f 0x141c1f1c 0x242c2b2b 0x121f1e1f 0x151d191d  delta 0
-vld3.8 {d0,d2,d4} :: Result 0x1f1b121f 0x2b2f151d 0x1c131b1e 0x2c232f19 0x141c1a1f 0x242b2e1d 0x1f1b121f 0x2b2f151d  delta 0
-vld3.16 {d20,d22,d24} :: Result 0x131b1e1f 0x232f191d 0x1f1c121f 0x2b2b151d 0x141c1a1b 0x242c2e2f 0x131b1e1f 0x232f191d  delta 0
-vld3.32 {d0,d2,d4} :: Result 0x121f1e1f 0x151d191d 0x131b1a1b 0x232f2e2f 0x141c1f1c 0x242c2b2b 0x121f1e1f 0x151d191d  delta 0
+vld3.8 {d20-d22} :: Result 0x09060300 0x15120f0c 0x0a070401 0x1613100d 0x0b080502 0x1714110e 0x09060300 0x15120f0c  delta 0
+vld3.16 {d0-d2} :: Result 0x07060100 0x13120d0c 0x09080302 0x15140f0e 0x0b0a0504 0x17161110 0x07060100 0x13120d0c  delta 0
+vld3.32 {d0-d2} :: Result 0x03020100 0x0f0e0d0c 0x07060504 0x13121110 0x0b0a0908 0x17161514 0x03020100 0x0f0e0d0c  delta 0
+vld3.8 {d0,d2,d4} :: Result 0x09060300 0x15120f0c 0x0a070401 0x1613100d 0x0b080502 0x1714110e 0x09060300 0x15120f0c  delta 0
+vld3.16 {d20,d22,d24} :: Result 0x07060100 0x13120d0c 0x09080302 0x15140f0e 0x0b0a0504 0x17161110 0x07060100 0x13120d0c  delta 0
+vld3.32 {d0,d2,d4} :: Result 0x03020100 0x0f0e0d0c 0x07060504 0x13121110 0x0b0a0908 0x17161514 0x03020100 0x0f0e0d0c  delta 0
 ---- VLD3 (single 3-element structure to one lane) ----
-vld3.32 {d0[0],d1[0],d2[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b 0x55555555  delta 0
-vld3.32 {d0[1],d1[1],d2[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b  delta 0
-vld3.32 {d0[0],d2[0],d4[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b 0x55555555  delta 0
-vld3.32 {d0[1],d2[1],d4[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x131b1a1b  delta 0
-vld3.16 {d1[0],d2[0],d3[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555121f 0x55555555  delta 0
-vld3.16 {d1[1],d2[1],d3[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x121f5555 0x55555555  delta 0
-vld3.16 {d1[2],d2[2],d3[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555121f  delta 0
-vld3.16 {d1[3],d2[3],d3[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x121f5555  delta 0
-vld3.16 {d1[0],d3[0],d5[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555  delta 0
-vld3.16 {d1[1],d3[1],d5[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555  delta 0
-vld3.16 {d1[2],d3[2],d5[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x5555121f 0x55555555 0x55551a1b  delta 0
-vld3.16 {d1[3],d3[3],d5[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555  delta 0
-vld3.8 {d0[7],d1[7],d2[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555  delta 0
-vld3.8 {d1[6],d2[6],d3[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555  delta 0
-vld3.8 {d0[5],d1[5],d2[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55  delta 0
-vld3.8 {d0[4],d1[4],d2[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551e  delta 0
-vld3.8 {d20[3],d21[3],d22[3]} :: Result 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555  delta 0
-vld3.8 {d0[2],d1[2],d2[2]} :: Result 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555  delta 0
-vld3.8 {d17[1],d18[1],d19[1]} :: Result 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555  delta 0
-vld3.8 {d29[0],d30[0],d31[0]} :: Result 0x5555551e 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555 0x5555551f 0x55555555  delta 0
+vld3.32 {d0[0],d1[0],d2[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x07060504 0x55555555  delta 0
+vld3.32 {d0[1],d1[1],d2[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x07060504  delta 0
+vld3.32 {d0[0],d2[0],d4[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x07060504 0x55555555  delta 0
+vld3.32 {d0[1],d2[1],d4[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x07060504  delta 0
+vld3.16 {d1[0],d2[0],d3[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550302 0x55555555  delta 0
+vld3.16 {d1[1],d2[1],d3[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x03025555 0x55555555  delta 0
+vld3.16 {d1[2],d2[2],d3[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550302  delta 0
+vld3.16 {d1[3],d2[3],d3[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x03025555  delta 0
+vld3.16 {d1[0],d3[0],d5[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555  delta 0
+vld3.16 {d1[1],d3[1],d5[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555  delta 0
+vld3.16 {d1[2],d3[2],d5[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550302 0x55555555 0x55550504  delta 0
+vld3.16 {d1[3],d3[3],d5[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x03025555 0x55555555 0x05045555  delta 0
+vld3.8 {d0[7],d1[7],d2[7]} :: Result 0x55555555 0x00555555 0x55555555 0x01555555 0x55555555 0x02555555 0x55555555 0x01555555  delta 0
+vld3.8 {d1[6],d2[6],d3[6]} :: Result 0x55555555 0x55005555 0x55555555 0x55015555 0x55555555 0x55025555 0x55555555 0x55015555  delta 0
+vld3.8 {d0[5],d1[5],d2[5]} :: Result 0x55555555 0x55550055 0x55555555 0x55550155 0x55555555 0x55550255 0x55555555 0x55550155  delta 0
+vld3.8 {d0[4],d1[4],d2[4]} :: Result 0x55555555 0x55555500 0x55555555 0x55555501 0x55555555 0x55555502 0x55555555 0x55555501  delta 0
+vld3.8 {d20[3],d21[3],d22[3]} :: Result 0x00555555 0x55555555 0x01555555 0x55555555 0x02555555 0x55555555 0x01555555 0x55555555  delta 0
+vld3.8 {d0[2],d1[2],d2[2]} :: Result 0x55005555 0x55555555 0x55015555 0x55555555 0x55025555 0x55555555 0x55015555 0x55555555  delta 0
+vld3.8 {d17[1],d18[1],d19[1]} :: Result 0x55550055 0x55555555 0x55550155 0x55555555 0x55550255 0x55555555 0x55550155 0x55555555  delta 0
+vld3.8 {d29[0],d30[0],d31[0]} :: Result 0x55555501 0x55555555 0x55555502 0x55555555 0x55555500 0x55555555 0x55555502 0x55555555  delta 0
 ---- VLD3 (3-elements to all lanes) ----
-vld3.8 {d0[],d1[],d2[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld3.16 {d0[],d1[],d2[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x121f121f 0x121f121f  delta 0
-vld3.32 {d0[],d1[],d2[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x131b1a1b 0x131b1a1b  delta 0
-vld3.8 {d9[],d11[],d13[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld3.16 {d17[],d18[],d19[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x121f121f 0x121f121f  delta 0
-vld3.32 {d29[],d30[],d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c  delta 0
-vld3.8 {d0[],d2[],d4[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e  delta 0
-vld3.16 {d0[],d2[],d4[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x121f121f 0x121f121f  delta 0
-vld3.32 {d5[],d7[],d9[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x131b1a1b 0x131b1a1b  delta 0
+vld3.8 {d0[],d1[],d2[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x01010101 0x01010101  delta 0
+vld3.16 {d0[],d1[],d2[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x03020302 0x03020302  delta 0
+vld3.32 {d0[],d1[],d2[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908 0x07060504 0x07060504  delta 0
+vld3.8 {d9[],d11[],d13[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x01010101 0x01010101  delta 0
+vld3.16 {d17[],d18[],d19[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x03020302 0x03020302  delta 0
+vld3.32 {d29[],d30[],d31[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908  delta 0
+vld3.8 {d0[],d2[],d4[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x01010101 0x01010101  delta 0
+vld3.16 {d0[],d2[],d4[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x03020302 0x03020302  delta 0
+vld3.32 {d5[],d7[],d9[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908 0x07060504 0x07060504  delta 0
 ---- VLD4 (multiple 3-elements) ----
-vld4.8 {d0-d3} :: Result 0x1d1c1b1f 0x2a2b2b2f 0x191f1a1e 0x2d2e2b2e 0x1d1c1b1f 0x2d2a2c2f 0x15141312 0x26252423  delta 0
-vld4.16 {d20-d23} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 0
-vld4.32 {d0-d3} :: Result 0x121f1e1f 0x232f2e2f 0x131b1a1b 0x242c2b2b 0x141c1f1c 0x252a2e2b 0x151d191d 0x262d2d2a  delta 0
-vld4.8 {d0,d2,d4,d6} :: Result 0x1d1c1b1f 0x2a2b2b2f 0x191f1a1e 0x2d2e2b2e 0x1d1c1b1f 0x2d2a2c2f 0x15141312 0x26252423  delta 0
-vld4.16 {d1,d3,d5,d7} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 0
-vld4.32 {d20,d22,d24,d26} :: Result 0x121f1e1f 0x232f2e2f 0x131b1a1b 0x242c2b2b 0x141c1f1c 0x252a2e2b 0x151d191d 0x262d2d2a  delta 0
+vld4.8 {d0-d3} :: Result 0x0c080400 0x1c181410 0x0d090501 0x1d191511 0x0e0a0602 0x1e1a1612 0x0f0b0703 0x1f1b1713  delta 0
+vld4.16 {d20-d23} :: Result 0x09080100 0x19181110 0x0b0a0302 0x1b1a1312 0x0d0c0504 0x1d1c1514 0x0f0e0706 0x1f1e1716  delta 0
+vld4.32 {d0-d3} :: Result 0x03020100 0x13121110 0x07060504 0x17161514 0x0b0a0908 0x1b1a1918 0x0f0e0d0c 0x1f1e1d1c  delta 0
+vld4.8 {d0,d2,d4,d6} :: Result 0x0c080400 0x1c181410 0x0d090501 0x1d191511 0x0e0a0602 0x1e1a1612 0x0f0b0703 0x1f1b1713  delta 0
+vld4.16 {d1,d3,d5,d7} :: Result 0x09080100 0x19181110 0x0b0a0302 0x1b1a1312 0x0d0c0504 0x1d1c1514 0x0f0e0706 0x1f1e1716  delta 0
+vld4.32 {d20,d22,d24,d26} :: Result 0x03020100 0x13121110 0x07060504 0x17161514 0x0b0a0908 0x1b1a1918 0x0f0e0d0c 0x1f1e1d1c  delta 0
 ---- VLD4 (single 4-element structure to one lane) ----
-vld4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x151d191d 0x55555555  delta 0
-vld4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x55555555  delta 0
-vld4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x151d191d 0x55555555  delta 0
-vld4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 0x55555555 0x121f1e1f 0x55555555 0x131b1a1b 0x55555555 0x141c1f1c 0x55555555 0x151d191d  delta 0
-vld4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b 0x55555555  delta 0
-vld4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555 0x55555555  delta 0
-vld4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b  delta 0
-vld4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555  delta 0
-vld4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b 0x55555555  delta 0
-vld4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555 0x55555555  delta 0
-vld4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 0x55555555 0x55551e1f 0x55555555 0x5555121f 0x55555555 0x55551a1b 0x55555555 0x5555131b  delta 0
-vld4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 0x55555555 0x1e1f5555 0x55555555 0x121f5555 0x55555555 0x1a1b5555 0x55555555 0x131b5555  delta 0
-vld4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 0x55555555 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x12555555  delta 0
-vld4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 0x55555555 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x55125555  delta 0
-vld4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 0x55555555 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551255  delta 0
-vld4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 0x55555555 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x55555512  delta 0
-vld4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 0x1f555555 0x55555555 0x1e555555 0x55555555 0x1f555555 0x55555555 0x12555555 0x55555555  delta 0
-vld4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 0x551f5555 0x55555555 0x551e5555 0x55555555 0x551f5555 0x55555555 0x55125555 0x55555555  delta 0
-vld4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 0x55551f55 0x55555555 0x55551e55 0x55555555 0x55551f55 0x55555555 0x55551255 0x55555555  delta 0
-vld4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 0x5555551f 0x55555555 0x5555551e 0x55555555 0x5555551f 0x55555555 0x55555512 0x55555555  delta 0
+vld4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x0f0e0d0c 0x55555555  delta 0
+vld4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x55555555  delta 0
+vld4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x0f0e0d0c 0x55555555  delta 0
+vld4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 0x55555555 0x03020100 0x55555555 0x07060504 0x55555555 0x0b0a0908 0x55555555 0x0f0e0d0c  delta 0
+vld4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550706 0x55555555  delta 0
+vld4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x07065555 0x55555555  delta 0
+vld4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550706  delta 0
+vld4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x07065555  delta 0
+vld4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550706 0x55555555  delta 0
+vld4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x07065555 0x55555555  delta 0
+vld4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 0x55555555 0x55550100 0x55555555 0x55550302 0x55555555 0x55550504 0x55555555 0x55550706  delta 0
+vld4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 0x55555555 0x01005555 0x55555555 0x03025555 0x55555555 0x05045555 0x55555555 0x07065555  delta 0
+vld4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 0x55555555 0x00555555 0x55555555 0x01555555 0x55555555 0x02555555 0x55555555 0x03555555  delta 0
+vld4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 0x55555555 0x55005555 0x55555555 0x55015555 0x55555555 0x55025555 0x55555555 0x55035555  delta 0
+vld4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 0x55555555 0x55550055 0x55555555 0x55550155 0x55555555 0x55550255 0x55555555 0x55550355  delta 0
+vld4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 0x55555555 0x55555500 0x55555555 0x55555501 0x55555555 0x55555502 0x55555555 0x55555503  delta 0
+vld4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 0x00555555 0x55555555 0x01555555 0x55555555 0x02555555 0x55555555 0x03555555 0x55555555  delta 0
+vld4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 0x55005555 0x55555555 0x55015555 0x55555555 0x55025555 0x55555555 0x55035555 0x55555555  delta 0
+vld4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 0x55550055 0x55555555 0x55550155 0x55555555 0x55550255 0x55555555 0x55550355 0x55555555  delta 0
+vld4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 0x55555500 0x55555555 0x55555501 0x55555555 0x55555502 0x55555555 0x55555503 0x55555555  delta 0
 ---- VLD4 (4-elements to all lanes) ----
-vld4.8 {d0[],d1[],d2[],d3[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x12121212 0x12121212  delta 0
-vld4.16 {d0[],d1[],d2[],d3[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x131b131b 0x131b131b  delta 0
-vld4.32 {d0[],d1[],d2[],d3[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x151d191d 0x151d191d  delta 0
-vld4.8 {d9[],d11[],d13[],d15[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x12121212 0x12121212  delta 0
-vld4.16 {d17[],d18[],d19[],d20[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x131b131b 0x131b131b  delta 0
-vld4.32 {d28[],d29[],d30[],d31[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x151d191d 0x151d191d  delta 0
-vld4.8 {d0[],d2[],d4[],d6[]} :: Result 0x1f1f1f1f 0x1f1f1f1f 0x1e1e1e1e 0x1e1e1e1e 0x1f1f1f1f 0x1f1f1f1f 0x12121212 0x12121212  delta 0
-vld4.16 {d0[],d2[],d4[],d6[]} :: Result 0x1e1f1e1f 0x1e1f1e1f 0x121f121f 0x121f121f 0x1a1b1a1b 0x1a1b1a1b 0x131b131b 0x131b131b  delta 0
-vld4.32 {d5[],d7[],d9[],d11[]} :: Result 0x121f1e1f 0x121f1e1f 0x131b1a1b 0x131b1a1b 0x141c1f1c 0x141c1f1c 0x151d191d 0x151d191d  delta 0
+vld4.8 {d0[],d1[],d2[],d3[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x03030303 0x03030303  delta 0
+vld4.16 {d0[],d1[],d2[],d3[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x07060706 0x07060706  delta 0
+vld4.32 {d0[],d1[],d2[],d3[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908 0x0f0e0d0c 0x0f0e0d0c  delta 0
+vld4.8 {d9[],d11[],d13[],d15[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x03030303 0x03030303  delta 0
+vld4.16 {d17[],d18[],d19[],d20[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x07060706 0x07060706  delta 0
+vld4.32 {d28[],d29[],d30[],d31[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908 0x0f0e0d0c 0x0f0e0d0c  delta 0
+vld4.8 {d0[],d2[],d4[],d6[]} :: Result 0x00000000 0x00000000 0x01010101 0x01010101 0x02020202 0x02020202 0x03030303 0x03030303  delta 0
+vld4.16 {d0[],d2[],d4[],d6[]} :: Result 0x01000100 0x01000100 0x03020302 0x03020302 0x05040504 0x05040504 0x07060706 0x07060706  delta 0
+vld4.32 {d5[],d7[],d9[],d11[]} :: Result 0x03020100 0x03020100 0x07060504 0x07060504 0x0b0a0908 0x0b0a0908 0x0f0e0d0c 0x0f0e0d0c  delta 0
 ---- VST1 (multiple single elements) ----
-vst1.8 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.16 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
-vst1.32 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.64 {d0} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
-vst1.8 {d9} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.16 {d17} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.32 {d31} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.64 {d14} :: Result 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.8 {d0-d1} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.16 {d0-d1} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.32 {d5-d6} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.64 {d30-d31} :: Result 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.8 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 13
-vst1.16 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 13
-vst1.32 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 13
-vst1.64 {d0-d2} :: Result 0x252a2e2b 0x262d2d2a 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x55555555 0x55555555  delta 13
-vst1.8 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 13
-vst1.16 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 13
-vst1.32 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 13
-vst1.64 {d0-d3} :: Result 0x121f1e1f 0x131b1a1b 0x141c1f1c 0x151d191d 0x232f2e2f 0x242c2b2b 0x252a2e2b 0x262d2d2a  delta 13
+vst1.8 {d0} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.16 {d0} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
+vst1.32 {d0} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
+vst1.64 {d0} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
+vst1.8 {d9} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.16 {d17} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.32 {d31} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.64 {d14} :: Result 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.8 {d0-d1} :: Result 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.16 {d0-d1} :: Result 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.32 {d5-d6} :: Result 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.64 {d30-d31} :: Result 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.8 {d0-d2} :: Result 0x1b1a1918 0x1f1e1d1c 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x55555555 0x55555555  delta 13
+vst1.16 {d0-d2} :: Result 0x1b1a1918 0x1f1e1d1c 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x55555555 0x55555555  delta 13
+vst1.32 {d0-d2} :: Result 0x1b1a1918 0x1f1e1d1c 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x55555555 0x55555555  delta 13
+vst1.64 {d0-d2} :: Result 0x1b1a1918 0x1f1e1d1c 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x55555555 0x55555555  delta 13
+vst1.8 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 13
+vst1.16 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 13
+vst1.32 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 13
+vst1.64 {d0-d3} :: Result 0x03020100 0x07060504 0x0b0a0908 0x0f0e0d0c 0x13121110 0x17161514 0x1b1a1918 0x1f1e1d1c  delta 13
 ---- VST1 (single element from one lane) ----
-vst1.32 {d0[0]} :: Result 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.32 {d0[1]} :: Result 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
-vst1.16 {d1[0]} :: Result 0x55552e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst1.16 {d1[1]} :: Result 0x5555252a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
-vst1.16 {d1[2]} :: Result 0x55552d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.16 {d1[3]} :: Result 0x5555262d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.8 {d0[7]} :: Result 0x55555526 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.8 {d1[6]} :: Result 0x5555552d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.8 {d0[5]} :: Result 0x5555552d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.8 {d0[4]} :: Result 0x5555552a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.8 {d20[3]} :: Result 0x55555525 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.8 {d0[2]} :: Result 0x5555552a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.8 {d17[1]} :: Result 0x5555552e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst1.8 {d30[0]} :: Result 0x5555552b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.32 {d0[0]} :: Result 0x1b1a1918 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.32 {d0[1]} :: Result 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
+vst1.16 {d1[0]} :: Result 0x55551918 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
+vst1.16 {d1[1]} :: Result 0x55551b1a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
+vst1.16 {d1[2]} :: Result 0x55551d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.16 {d1[3]} :: Result 0x55551f1e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.8 {d0[7]} :: Result 0x5555551f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.8 {d1[6]} :: Result 0x5555551e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.8 {d0[5]} :: Result 0x5555551d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.8 {d0[4]} :: Result 0x5555551c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.8 {d20[3]} :: Result 0x5555551b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.8 {d0[2]} :: Result 0x5555551a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.8 {d17[1]} :: Result 0x55555519 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst1.8 {d30[0]} :: Result 0x55555518 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
 ---- VST2 (multiple 2-elements) ----
-vst2.8 {d30-d31} :: Result 0x2e2e2b2f 0x25232a2f 0x2d2b2a2b 0x26242d2c 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.16 {d0-d1} :: Result 0x2e2b2e2f 0x252a232f 0x2d2a2b2b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
-vst2.32 {d0-d1} :: Result 0x232f2e2f 0x252a2e2b 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.8 {d10,d12} :: Result 0x2e2e2b2f 0x25232a2f 0x2d2b2a2b 0x26242d2c 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
-vst2.16 {d20,d22} :: Result 0x2e2b2e2f 0x252a232f 0x2d2a2b2b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.32 {d0,d2} :: Result 0x232f2e2f 0x252a2e2b 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.8 {d0-d3} :: Result 0x2e1e2f1f 0x23122f1f 0x2b1a2b1b 0x24132c1b 0x2e1f2b1c 0x25142a1c 0x2d192a1d 0x26152d1d  delta 13
-vst2.16 {d20-d23} :: Result 0x2e2f1e1f 0x232f121f 0x2b2b1a1b 0x242c131b 0x2e2b1f1c 0x252a141c 0x2d2a191d 0x262d151d  delta 13
-vst2.32 {d0-d3} :: Result 0x121f1e1f 0x232f2e2f 0x131b1a1b 0x242c2b2b 0x141c1f1c 0x252a2e2b 0x151d191d 0x262d2d2a  delta 13
+vst2.8 {d30-d31} :: Result 0x19111810 0x1b131a12 0x1d151c14 0x1f171e16 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.16 {d0-d1} :: Result 0x19181110 0x1b1a1312 0x1d1c1514 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
+vst2.32 {d0-d1} :: Result 0x13121110 0x1b1a1918 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
+vst2.8 {d10,d12} :: Result 0x19111810 0x1b131a12 0x1d151c14 0x1f171e16 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
+vst2.16 {d20,d22} :: Result 0x19181110 0x1b1a1312 0x1d1c1514 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.32 {d0,d2} :: Result 0x13121110 0x1b1a1918 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.8 {d0-d3} :: Result 0x11011000 0x13031202 0x15051404 0x17071606 0x19091808 0x1b0b1a0a 0x1d0d1c0c 0x1f0f1e0e  delta 13
+vst2.16 {d20-d23} :: Result 0x11100100 0x13120302 0x15140504 0x17160706 0x19180908 0x1b1a0b0a 0x1d1c0d0c 0x1f1e0f0e  delta 13
+vst2.32 {d0-d3} :: Result 0x03020100 0x13121110 0x07060504 0x17161514 0x0b0a0908 0x1b1a1918 0x0f0e0d0c 0x1f1e1d1c  delta 13
 ---- VST2 (single 2-element structure from one lane) ----
-vst2.32 {d0[0],d1[0]} :: Result 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.32 {d0[1],d1[1]} :: Result 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
-vst2.32 {d0[0],d2[0]} :: Result 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst2.32 {d0[1],d2[1]} :: Result 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
-vst2.16 {d1[0],d2[0]} :: Result 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.16 {d1[1],d2[1]} :: Result 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.16 {d1[2],d2[2]} :: Result 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.16 {d1[3],d2[3]} :: Result 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.16 {d1[0],d3[0]} :: Result 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.16 {d1[1],d3[1]} :: Result 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.16 {d1[2],d3[2]} :: Result 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.16 {d1[3],d3[3]} :: Result 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.8 {d0[7],d1[7]} :: Result 0x55552624 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.8 {d1[6],d2[6]} :: Result 0x55552d2c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.8 {d0[5],d1[5]} :: Result 0x55552d2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.8 {d0[4],d1[4]} :: Result 0x55552a2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.8 {d20[3],d21[3]} :: Result 0x55552523 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.8 {d0[2],d1[2]} :: Result 0x55552a2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.8 {d17[1],d18[1]} :: Result 0x55552e2e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst2.8 {d30[0],d31[0]} :: Result 0x55552b2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.32 {d0[0],d1[0]} :: Result 0x13121110 0x1b1a1918 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.32 {d0[1],d1[1]} :: Result 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
+vst2.32 {d0[0],d2[0]} :: Result 0x13121110 0x1b1a1918 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
+vst2.32 {d0[1],d2[1]} :: Result 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
+vst2.16 {d1[0],d2[0]} :: Result 0x19181110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.16 {d1[1],d2[1]} :: Result 0x1b1a1312 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.16 {d1[2],d2[2]} :: Result 0x1d1c1514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.16 {d1[3],d2[3]} :: Result 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.16 {d1[0],d3[0]} :: Result 0x19181110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.16 {d1[1],d3[1]} :: Result 0x1b1a1312 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.16 {d1[2],d3[2]} :: Result 0x1d1c1514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.16 {d1[3],d3[3]} :: Result 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.8 {d0[7],d1[7]} :: Result 0x55551f17 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.8 {d1[6],d2[6]} :: Result 0x55551e16 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.8 {d0[5],d1[5]} :: Result 0x55551d15 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.8 {d0[4],d1[4]} :: Result 0x55551c14 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.8 {d20[3],d21[3]} :: Result 0x55551b13 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.8 {d0[2],d1[2]} :: Result 0x55551a12 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.8 {d17[1],d18[1]} :: Result 0x55551911 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst2.8 {d30[0],d31[0]} :: Result 0x55551810 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
 ---- VST3 (multiple 3-elements) ----
-vst3.8 {d20-d22} :: Result 0x2e2f1c2b 0x1c2a2e1f 0x2314252f 0x2d2b1d2a 0x1d2d2b19 0x2415262c 0x55555555 0x55555555  delta 13
-vst3.16 {d0-d2} :: Result 0x1f1c2e2b 0x252a2e2f 0x232f141c 0x191d2d2a 0x262d2b2b 0x242c151d 0x55555555 0x55555555  delta 42
-vst3.32 {d0-d2} :: Result 0x252a2e2b 0x141c1f1c 0x232f2e2f 0x262d2d2a 0x151d191d 0x242c2b2b 0x55555555 0x55555555  delta 0
-vst3.8 {d0,d2,d4} :: Result 0x2e2f1c2b 0x1c2a2e1f 0x2314252f 0x2d2b1d2a 0x1d2d2b19 0x2415262c 0x55555555 0x55555555  delta -3
-vst3.16 {d20,d22,d24} :: Result 0x1f1c2e2b 0x252a2e2f 0x232f141c 0x191d2d2a 0x262d2b2b 0x242c151d 0x55555555 0x55555555  delta 13
-vst3.32 {d0,d2,d4} :: Result 0x252a2e2b 0x141c1f1c 0x232f2e2f 0x262d2d2a 0x151d191d 0x242c2b2b 0x55555555 0x55555555  delta 13
+vst3.8 {d20-d22} :: Result 0x19100818 0x0a1a1109 0x130b1b12 0x1d140c1c 0x0e1e150d 0x170f1f16 0x55555555 0x55555555  delta 13
+vst3.16 {d0-d2} :: Result 0x09081918 0x1b1a1110 0x13120b0a 0x0d0c1d1c 0x1f1e1514 0x17160f0e 0x55555555 0x55555555  delta 42
+vst3.32 {d0-d2} :: Result 0x1b1a1918 0x0b0a0908 0x13121110 0x1f1e1d1c 0x0f0e0d0c 0x17161514 0x55555555 0x55555555  delta 0
+vst3.8 {d0,d2,d4} :: Result 0x19100818 0x0a1a1109 0x130b1b12 0x1d140c1c 0x0e1e150d 0x170f1f16 0x55555555 0x55555555  delta -3
+vst3.16 {d20,d22,d24} :: Result 0x09081918 0x1b1a1110 0x13120b0a 0x0d0c1d1c 0x1f1e1514 0x17160f0e 0x55555555 0x55555555  delta 13
+vst3.32 {d0,d2,d4} :: Result 0x1b1a1918 0x0b0a0908 0x13121110 0x1f1e1d1c 0x0f0e0d0c 0x17161514 0x55555555 0x55555555  delta 13
 ---- VST3 (single 3-element structure from one lane) ----
-vst3.32 {d0[0],d1[0],d2[0]} :: Result 0x121f1e1f 0x252a2e2b 0x232f2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.32 {d0[1],d1[1],d2[1]} :: Result 0x131b1a1b 0x262d2d2a 0x242c2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
-vst3.32 {d0[0],d2[0],d4[0]} :: Result 0x121f1e1f 0x252a2e2b 0x232f2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst3.32 {d0[1],d2[1],d4[1]} :: Result 0x131b1a1b 0x262d2d2a 0x242c2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
-vst3.16 {d1[0],d2[0],d3[0]} :: Result 0x2e2b1e1f 0x55552e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.16 {d1[1],d2[1],d3[1]} :: Result 0x252a121f 0x5555232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.16 {d1[2],d2[2],d3[2]} :: Result 0x2d2a1a1b 0x55552b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.16 {d1[3],d2[3],d3[3]} :: Result 0x262d131b 0x5555242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.16 {d1[0],d3[0],d5[0]} :: Result 0x2e2f1e1f 0x55552e2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.16 {d1[1],d3[1],d5[1]} :: Result 0x232f121f 0x5555252a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.16 {d1[2],d3[2],d5[2]} :: Result 0x2b2b1a1b 0x55552d2a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.16 {d1[3],d3[3],d5[3]} :: Result 0x242c131b 0x5555262d 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.8 {d0[7],d1[7],d2[7]} :: Result 0x55242613 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.8 {d1[6],d2[6],d3[6]} :: Result 0x552c2d1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.8 {d0[5],d1[5],d2[5]} :: Result 0x552b2d1a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.8 {d0[4],d1[4],d2[4]} :: Result 0x552b2a1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.8 {d20[3],d21[3],d22[3]} :: Result 0x55232512 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.8 {d0[2],d1[2],d2[2]} :: Result 0x552f2a1f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.8 {d17[1],d18[1],d19[1]} :: Result 0x552e2e1e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst3.8 {d29[0],d30[0],d31[0]} :: Result 0x552b1f2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.32 {d0[0],d1[0],d2[0]} :: Result 0x03020100 0x1b1a1918 0x13121110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.32 {d0[1],d1[1],d2[1]} :: Result 0x07060504 0x1f1e1d1c 0x17161514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
+vst3.32 {d0[0],d2[0],d4[0]} :: Result 0x03020100 0x1b1a1918 0x13121110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
+vst3.32 {d0[1],d2[1],d4[1]} :: Result 0x07060504 0x1f1e1d1c 0x17161514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
+vst3.16 {d1[0],d2[0],d3[0]} :: Result 0x19180100 0x55551110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.16 {d1[1],d2[1],d3[1]} :: Result 0x1b1a0302 0x55551312 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.16 {d1[2],d2[2],d3[2]} :: Result 0x1d1c0504 0x55551514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.16 {d1[3],d2[3],d3[3]} :: Result 0x1f1e0706 0x55551716 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.16 {d1[0],d3[0],d5[0]} :: Result 0x11100100 0x55551918 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.16 {d1[1],d3[1],d5[1]} :: Result 0x13120302 0x55551b1a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.16 {d1[2],d3[2],d5[2]} :: Result 0x15140504 0x55551d1c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.16 {d1[3],d3[3],d5[3]} :: Result 0x17160706 0x55551f1e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.8 {d0[7],d1[7],d2[7]} :: Result 0x55171f07 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.8 {d1[6],d2[6],d3[6]} :: Result 0x55161e06 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.8 {d0[5],d1[5],d2[5]} :: Result 0x55151d05 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.8 {d0[4],d1[4],d2[4]} :: Result 0x55141c04 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.8 {d20[3],d21[3],d22[3]} :: Result 0x55131b03 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.8 {d0[2],d1[2],d2[2]} :: Result 0x55121a02 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.8 {d17[1],d18[1],d19[1]} :: Result 0x55111901 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst3.8 {d29[0],d30[0],d31[0]} :: Result 0x55180010 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
 ---- VST4 (multiple 4-elements) ----
-vst4.8 {d0-d3} :: Result 0x2b2f1c1f 0x2e2e1f1e 0x2a2f1c1f 0x25231412 0x2a2b1d1b 0x2d2b191a 0x2d2c1d1b 0x26241513  delta 13
-vst4.16 {d20-d23} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 42
-vst4.32 {d0-d3} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a  delta 0
-vst4.8 {d0,d2,d4,d6} :: Result 0x2b2f1c1f 0x2e2e1f1e 0x2a2f1c1f 0x25231412 0x2a2b1d1b 0x2d2b191a 0x2d2c1d1b 0x26241513  delta -3
-vst4.16 {d1,d3,d5,d7} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x141c121f 0x252a232f 0x191d1a1b 0x2d2a2b2b 0x151d131b 0x262d242c  delta 13
-vst4.32 {d20,d22,d24,d26} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a  delta 13
+vst4.8 {d0-d3} :: Result 0x18100800 0x19110901 0x1a120a02 0x1b130b03 0x1c140c04 0x1d150d05 0x1e160e06 0x1f170f07  delta 13
+vst4.16 {d20-d23} :: Result 0x09080100 0x19181110 0x0b0a0302 0x1b1a1312 0x0d0c0504 0x1d1c1514 0x0f0e0706 0x1f1e1716  delta 42
+vst4.32 {d0-d3} :: Result 0x03020100 0x0b0a0908 0x13121110 0x1b1a1918 0x07060504 0x0f0e0d0c 0x17161514 0x1f1e1d1c  delta 0
+vst4.8 {d0,d2,d4,d6} :: Result 0x18100800 0x19110901 0x1a120a02 0x1b130b03 0x1c140c04 0x1d150d05 0x1e160e06 0x1f170f07  delta -3
+vst4.16 {d1,d3,d5,d7} :: Result 0x09080100 0x19181110 0x0b0a0302 0x1b1a1312 0x0d0c0504 0x1d1c1514 0x0f0e0706 0x1f1e1716  delta 13
+vst4.32 {d20,d22,d24,d26} :: Result 0x03020100 0x0b0a0908 0x13121110 0x1b1a1918 0x07060504 0x0f0e0d0c 0x17161514 0x1f1e1d1c  delta 13
 ---- VST4 (single 4-element structure from one lane) ----
-vst4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
-vst4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 0x121f1e1f 0x141c1f1c 0x232f2e2f 0x252a2e2b 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
-vst4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 0x131b1a1b 0x151d191d 0x242c2b2b 0x262d2d2a 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
-vst4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 0x141c121f 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 0x191d1a1b 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 0x151d131b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 0x1f1c1e1f 0x2e2b2e2f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 0x141c121f 0x252a232f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 0x191d1a1b 0x2d2a2b2b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 0x151d131b 0x262d242c 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 0x26241513 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 0x2d2c1d1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 0x2d2b191a 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 0x2a2b1d1b 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 0x25231412 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 0x2a2f1c1f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 0x2e2e1f1e 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
-vst4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 0x2b2f1c1f 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.32 {d0[0],d1[0],d2[0],d3[0]} :: Result 0x03020100 0x0b0a0908 0x13121110 0x1b1a1918 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.32 {d0[1],d1[1],d2[1],d3[1]} :: Result 0x07060504 0x0f0e0d0c 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta 42
+vst4.32 {d0[0],d2[0],d4[0],d6[0]} :: Result 0x03020100 0x0b0a0908 0x13121110 0x1b1a1918 0x55555555 0x55555555 0x55555555 0x55555555  delta 0
+vst4.32 {d0[1],d2[1],d4[1],d6[1]} :: Result 0x07060504 0x0f0e0d0c 0x17161514 0x1f1e1d1c 0x55555555 0x55555555 0x55555555 0x55555555  delta -3
+vst4.16 {d1[0],d2[0],d3[0],d4[0]} :: Result 0x09080100 0x19181110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.16 {d1[1],d2[1],d3[1],d4[1]} :: Result 0x0b0a0302 0x1b1a1312 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.16 {d1[2],d2[2],d3[2],d4[2]} :: Result 0x0d0c0504 0x1d1c1514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.16 {d1[3],d2[3],d3[3],d4[3]} :: Result 0x0f0e0706 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.16 {d1[0],d3[0],d5[0],d7[0]} :: Result 0x09080100 0x19181110 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.16 {d1[1],d3[1],d5[1],d7[1]} :: Result 0x0b0a0302 0x1b1a1312 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.16 {d1[2],d3[2],d5[2],d7[2]} :: Result 0x0d0c0504 0x1d1c1514 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.16 {d1[3],d3[3],d5[3],d7[3]} :: Result 0x0f0e0706 0x1f1e1716 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.8 {d0[7],d1[7],d2[7],d3[7]} :: Result 0x1f170f07 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.8 {d1[6],d2[6],d3[6],d4[6]} :: Result 0x1e160e06 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.8 {d0[5],d1[5],d2[5],d3[5]} :: Result 0x1d150d05 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.8 {d0[4],d1[4],d2[4],d3[4]} :: Result 0x1c140c04 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.8 {d20[3],d21[3],d22[3],d23[3]} :: Result 0x1b130b03 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.8 {d0[2],d1[2],d2[2],d3[2]} :: Result 0x1a120a02 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.8 {d17[1],d18[1],d19[1],d20[1]} :: Result 0x19110901 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
+vst4.8 {d28[0],d29[0],d30[0],d31[0]} :: Result 0x18100800 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555 0x55555555  delta 13
 ---- VMOVN ----
 vmovn.i32 d0, q0 :: Qd 0x00240024 0x00320032  Qm (i32)0x00000032  Qn (i32)0x00000024
 vmovn.i32 d0, q0 :: Qd 0x00240024 0x55555555  Qm (i32)0x00000032  Qn (i32)0x00000024
 vmovn.i16 d7, q5 :: Qd 0x00240024 0x00320032  Qm (i32)0x00000032  Qn (i32)0x00000024
-vmovn.i16 d7, q5 :: Qd 0x00240024 0x1b1b1f1f  Qm (i32)0x00000032  Qn (i32)0x00000024
+vmovn.i16 d7, q5 :: Qd 0x00240024 0x06040200  Qm (i32)0x00000032  Qn (i32)0x00000024
 vmovn.i64 d31, q0 :: Qd 0x00000024 0x00000032  Qm (i32)0x00000032  Qn (i32)0x00000024
-vmovn.i64 d31, q0 :: Qd 0x00000024 0x121f1e1f  Qm (i32)0x00000032  Qn (i32)0x00000024
+vmovn.i64 d31, q0 :: Qd 0x00000024 0x03020100  Qm (i32)0x00000032  Qn (i32)0x00000024
 vmovn.i32 d0, q0 :: Qd 0xf0f0f0f0 0xffffffff  Qm (i8)0x000000ff  Qn (i8)0x000000f0
 vmovn.i32 d0, q0 :: Qd 0xf0f0f0f0 0x55555555  Qm (i8)0x000000ff  Qn (i8)0x000000f0
 vmovn.i16 d7, q5 :: Qd 0xefefefef 0xadadadad  Qm (i16)0x0000dead  Qn (i16)0x0000beef
-vmovn.i16 d7, q5 :: Qd 0xefefefef 0x1b1b1f1f  Qm (i16)0x0000dead  Qn (i16)0x0000beef
+vmovn.i16 d7, q5 :: Qd 0xefefefef 0x06040200  Qm (i16)0x0000dead  Qn (i16)0x0000beef
 vmovn.i64 d31, q0 :: Qd 0x24242424 0xff00fe0f  Qm (i32)0xff00fe0f  Qn (i8)0x00000024
-vmovn.i64 d31, q0 :: Qd 0x24242424 0x121f1e1f  Qm (i32)0xff00fe0f  Qn (i8)0x00000024
+vmovn.i64 d31, q0 :: Qd 0x24242424 0x03020100  Qm (i32)0xff00fe0f  Qn (i8)0x00000024
 ---- VQMOVN ----
 vqmovn.u32 d0, q0 :: Qd 0x00240024 0x00320032  Qm (i32)0x00000032  Qn (i32)0x00000024  fpscr: 00000000
 vqmovn.u32 d0, q0 :: Qd 0x00240024 0xffffffff  Qm (i32)0x00000032  Qn (i32)0x00000024  fpscr: 08000000
@@ -2891,168 +2891,168 @@
 vqmovun.s64 d31, q0 :: Qd 0x00000000 0xffffffff  Qm (i8)0x000000ff  Qn (i8)0x000000ff  fpscr: 08000000
 ---- VABS ----
 vabs.s32 d0, d1 :: Qd 0x00000073 0x00000073  Qm (i32)0x00000073
-vabs.s32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x00000073
+vabs.s32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x00000073
 vabs.s16 d15, d4 :: Qd 0x00000073 0x00000073  Qm (i32)0x00000073
-vabs.s16 d15, d4 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x00000073
+vabs.s16 d15, d4 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x00000073
 vabs.s8 d8, d7 :: Qd 0x00000073 0x00000073  Qm (i32)0x00000073
-vabs.s8 d8, d7 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x00000073
+vabs.s8 d8, d7 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x00000073
 vabs.s32 d0, d1 :: Qd 0x000000fe 0x000000fe  Qm (i32)0x000000fe
-vabs.s32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x000000fe
+vabs.s32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x000000fe
 vabs.s16 d31, d4 :: Qd 0x000000ef 0x000000ef  Qm (i32)0x000000ef
-vabs.s16 d31, d4 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x000000ef
+vabs.s16 d31, d4 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x000000ef
 vabs.s8 d8, d7 :: Qd 0x00000022 0x00000022  Qm (i32)0x000000de
-vabs.s8 d8, d7 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x000000de
+vabs.s8 d8, d7 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x000000de
 vabs.s32 d0, d1 :: Qd 0x01f501f6 0x01f501f6  Qm (i16)0x0000fe0a
-vabs.s32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i16)0x0000fe0a
+vabs.s32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i16)0x0000fe0a
 vabs.s16 d15, d4 :: Qd 0x10f510f5 0x10f510f5  Qm (i16)0x0000ef0b
-vabs.s16 d15, d4 :: Qd 0x151d191d 0x141c1f1c  Qm (i16)0x0000ef0b
+vabs.s16 d15, d4 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i16)0x0000ef0b
 vabs.s8 d8, d7 :: Qd 0x220c220c 0x220c220c  Qm (i16)0x0000de0c
-vabs.s8 d8, d7 :: Qd 0x151d191d 0x141c1f1c  Qm (i16)0x0000de0c
+vabs.s8 d8, d7 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i16)0x0000de0c
 ---- VQABS ----
 vqabs.s32 d0, d1 :: Qd 0x00000073 0x00000073  Qm (i32)0x00000073  fpscr 00000000
-vqabs.s32 d0, d1 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000073  fpscr 00000000
+vqabs.s32 d0, d1 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000073  fpscr 00000000
 vqabs.s32 d0, d1 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x80000000  fpscr 08000000
-vqabs.s32 d0, d1 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000000  fpscr 00000000
+vqabs.s32 d0, d1 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000000  fpscr 00000000
 vqabs.s16 d0, d1 :: Qd 0x7fff0000 0x7fff0000  Qm (i32)0x80000000  fpscr 08000000
-vqabs.s16 d0, d1 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000000  fpscr 00000000
+vqabs.s16 d0, d1 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000000  fpscr 00000000
 vqabs.s8 d0, d1 :: Qd 0x7f000000 0x7f000000  Qm (i32)0x80000000  fpscr 08000000
-vqabs.s8 d0, d1 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x80000000  fpscr 00000000
+vqabs.s8 d0, d1 :: Qd 0x07060504 0x03020100  Qm (i32)0x80000000  fpscr 00000000
 vqabs.s16 d15, d4 :: Qd 0x00000073 0x00000073  Qm (i32)0x00000073  fpscr 00000000
-vqabs.s16 d15, d4 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000073  fpscr 00000000
+vqabs.s16 d15, d4 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000073  fpscr 00000000
 vqabs.s8 d8, d7 :: Qd 0x00000073 0x00000073  Qm (i32)0x00000073  fpscr 00000000
-vqabs.s8 d8, d7 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000073  fpscr 00000000
+vqabs.s8 d8, d7 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000073  fpscr 00000000
 vqabs.s32 d0, d1 :: Qd 0x000000fe 0x000000fe  Qm (i32)0x000000fe  fpscr 00000000
-vqabs.s32 d0, d1 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x000000fe  fpscr 00000000
+vqabs.s32 d0, d1 :: Qd 0x07060504 0x03020100  Qm (i32)0x000000fe  fpscr 00000000
 vqabs.s16 d31, d4 :: Qd 0x000000ef 0x000000ef  Qm (i32)0x000000ef  fpscr 00000000
-vqabs.s16 d31, d4 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x000000ef  fpscr 00000000
+vqabs.s16 d31, d4 :: Qd 0x07060504 0x03020100  Qm (i32)0x000000ef  fpscr 00000000
 vqabs.s8 d8, d7 :: Qd 0x00000022 0x00000022  Qm (i32)0x000000de  fpscr 00000000
-vqabs.s8 d8, d7 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x000000de  fpscr 00000000
+vqabs.s8 d8, d7 :: Qd 0x07060504 0x03020100  Qm (i32)0x000000de  fpscr 00000000
 vqabs.s32 d0, d1 :: Qd 0x01f501f6 0x01f501f6  Qm (i16)0x0000fe0a  fpscr 00000000
-vqabs.s32 d0, d1 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i16)0x0000fe0a  fpscr 00000000
+vqabs.s32 d0, d1 :: Qd 0x07060504 0x03020100  Qm (i16)0x0000fe0a  fpscr 00000000
 vqabs.s16 d15, d4 :: Qd 0x10f510f5 0x10f510f5  Qm (i16)0x0000ef0b  fpscr 00000000
-vqabs.s16 d15, d4 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i16)0x0000ef0b  fpscr 00000000
+vqabs.s16 d15, d4 :: Qd 0x07060504 0x03020100  Qm (i16)0x0000ef0b  fpscr 00000000
 vqabs.s8 d8, d7 :: Qd 0x220c220c 0x220c220c  Qm (i16)0x0000de0c  fpscr 00000000
-vqabs.s8 d8, d7 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i16)0x0000de0c  fpscr 00000000
+vqabs.s8 d8, d7 :: Qd 0x07060504 0x03020100  Qm (i16)0x0000de0c  fpscr 00000000
 ---- VADDHN ----
 vaddhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
 vaddhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
 vaddhn.i16 d0, q1, q2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
-vaddhn.i16 d0, q1, q2 :: Qd 0x1519141f 0x131a121e  Qm (i32)0x00000073  Qn (i32)0x00000072
+vaddhn.i16 d0, q1, q2 :: Qd 0x0f0d0b09 0x07050301  Qm (i32)0x00000073  Qn (i32)0x00000072
 vaddhn.i32 d0, q1, q2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
-vaddhn.i32 d0, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i32)0x00000073  Qn (i32)0x00000072
+vaddhn.i32 d0, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i32)0x00000073  Qn (i32)0x00000072
 vaddhn.i64 d0, q1, q2 :: Qd 0x000000e5 0x000000e5  Qm (i32)0x00000073  Qn (i32)0x00000072
-vaddhn.i64 d0, q1, q2 :: Qd 0x151d198f 0x131b1a8d  Qm (i32)0x00000073  Qn (i32)0x00000072
+vaddhn.i64 d0, q1, q2 :: Qd 0x0f0e0d7e 0x07060576  Qm (i32)0x00000073  Qn (i32)0x00000072
 vaddhn.i16 d0, q15, q2 :: Qd 0xeff0eff0 0xeff0eff0  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vaddhn.i16 d0, q15, q2 :: Qd 0x151a1420 0x131b121f  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vaddhn.i16 d0, q15, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vaddhn.i32 d31, q1, q2 :: Qd 0xef73ef73 0xef73ef73  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vaddhn.i32 d31, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vaddhn.i32 d31, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vaddhn.i64 d0, q1, q8 :: Qd 0xef73f0e5 0xef73f0e5  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vaddhn.i64 d0, q1, q8 :: Qd 0x151d1a8f 0x131b1b8d  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vaddhn.i64 d0, q1, q8 :: Qd 0x0f0e0e7e 0x07060676  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vaddhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000073  Qn (i32)0x00000072
 vaddhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000073  Qn (i32)0x00000072
 vaddhn.i16 d0, q1, q2 :: Qd 0x73737373 0x73737373  Qm (i8)0x00000073  Qn (i32)0x00000072
-vaddhn.i16 d0, q1, q2 :: Qd 0x1519141f 0x131a121e  Qm (i8)0x00000073  Qn (i32)0x00000072
+vaddhn.i16 d0, q1, q2 :: Qd 0x0f0d0b09 0x07050301  Qm (i8)0x00000073  Qn (i32)0x00000072
 vaddhn.i32 d0, q1, q2 :: Qd 0x73737373 0x73737373  Qm (i8)0x00000073  Qn (i32)0x00000072
-vaddhn.i32 d0, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i8)0x00000073  Qn (i32)0x00000072
+vaddhn.i32 d0, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i8)0x00000073  Qn (i32)0x00000072
 vaddhn.i64 d0, q1, q2 :: Qd 0x737373e5 0x737373e5  Qm (i8)0x00000073  Qn (i32)0x00000072
-vaddhn.i64 d0, q1, q2 :: Qd 0x151d198f 0x131b1a8d  Qm (i8)0x00000073  Qn (i32)0x00000072
+vaddhn.i64 d0, q1, q2 :: Qd 0x0f0e0d7e 0x07060576  Qm (i8)0x00000073  Qn (i32)0x00000072
 ---- VRADDHN ----
 vraddhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
 vraddhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
 vraddhn.i16 d0, q1, q2 :: Qd 0x00010001 0x00010001  Qm (i32)0x00000073  Qn (i32)0x00000072
-vraddhn.i16 d0, q1, q2 :: Qd 0x151a1420 0x131b121f  Qm (i32)0x00000073  Qn (i32)0x00000072
+vraddhn.i16 d0, q1, q2 :: Qd 0x0f0d0b09 0x07050301  Qm (i32)0x00000073  Qn (i32)0x00000072
 vraddhn.i32 d0, q1, q2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
-vraddhn.i32 d0, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i32)0x00000073  Qn (i32)0x00000072
+vraddhn.i32 d0, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i32)0x00000073  Qn (i32)0x00000072
 vraddhn.i64 d0, q1, q2 :: Qd 0x000000e5 0x000000e5  Qm (i32)0x00000073  Qn (i32)0x00000072
-vraddhn.i64 d0, q1, q2 :: Qd 0x151d198f 0x131b1a8d  Qm (i32)0x00000073  Qn (i32)0x00000072
+vraddhn.i64 d0, q1, q2 :: Qd 0x0f0e0d7e 0x07060576  Qm (i32)0x00000073  Qn (i32)0x00000072
 vraddhn.i16 d0, q15, q2 :: Qd 0xeff1eff1 0xeff1eff1  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vraddhn.i16 d0, q15, q2 :: Qd 0x151b1421 0x131c1220  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vraddhn.i16 d0, q15, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vraddhn.i32 d31, q1, q2 :: Qd 0xef74ef74 0xef74ef74  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vraddhn.i32 d31, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vraddhn.i32 d31, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vraddhn.i64 d0, q1, q8 :: Qd 0xef73f0e6 0xef73f0e6  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vraddhn.i64 d0, q1, q8 :: Qd 0x151d1a8f 0x131b1b8d  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vraddhn.i64 d0, q1, q8 :: Qd 0x0f0e0e7e 0x07060676  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vraddhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000073  Qn (i32)0x00000072
 vraddhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000073  Qn (i32)0x00000072
 vraddhn.i16 d0, q1, q2 :: Qd 0x73747374 0x73747374  Qm (i8)0x00000073  Qn (i32)0x00000072
-vraddhn.i16 d0, q1, q2 :: Qd 0x151a1420 0x131b121f  Qm (i8)0x00000073  Qn (i32)0x00000072
+vraddhn.i16 d0, q1, q2 :: Qd 0x0f0d0b09 0x07050301  Qm (i8)0x00000073  Qn (i32)0x00000072
 vraddhn.i32 d0, q1, q2 :: Qd 0x73737373 0x73737373  Qm (i8)0x00000073  Qn (i32)0x00000072
-vraddhn.i32 d0, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i8)0x00000073  Qn (i32)0x00000072
+vraddhn.i32 d0, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i8)0x00000073  Qn (i32)0x00000072
 vraddhn.i64 d0, q1, q2 :: Qd 0x737373e5 0x737373e5  Qm (i8)0x00000073  Qn (i32)0x00000072
-vraddhn.i64 d0, q1, q2 :: Qd 0x151d198f 0x131b1a8d  Qm (i8)0x00000073  Qn (i32)0x00000072
+vraddhn.i64 d0, q1, q2 :: Qd 0x0f0e0d7e 0x07060576  Qm (i8)0x00000073  Qn (i32)0x00000072
 vraddhn.i16 d0, q15, q2 :: Qd 0xeff0eff0 0xeff0eff0  Qm (i16)0x0000ef73  Qn (i32)0x00000102
-vraddhn.i16 d0, q15, q2 :: Qd 0x151a1420 0x131b121f  Qm (i16)0x0000ef73  Qn (i32)0x00000102
+vraddhn.i16 d0, q15, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i16)0x0000ef73  Qn (i32)0x00000102
 vraddhn.i32 d31, q1, q2 :: Qd 0xef74ef74 0xef74ef74  Qm (i16)0x0000ef73  Qn (i32)0x00000102
-vraddhn.i32 d31, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i16)0x0000ef73  Qn (i32)0x00000102
+vraddhn.i32 d31, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i16)0x0000ef73  Qn (i32)0x00000102
 vraddhn.i64 d0, q1, q8 :: Qd 0xef73f076 0xef73f076  Qm (i16)0x0000ef73  Qn (i32)0x00000102
-vraddhn.i64 d0, q1, q8 :: Qd 0x151d1a1f 0x131b1b1d  Qm (i16)0x0000ef73  Qn (i32)0x00000102
+vraddhn.i64 d0, q1, q8 :: Qd 0x0f0e0e0e 0x07060606  Qm (i16)0x0000ef73  Qn (i32)0x00000102
 vraddhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000073  Qn (i32)0x00000002
 vraddhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000073  Qn (i32)0x00000002
 vraddhn.i16 d0, q1, q2 :: Qd 0x73737373 0x73737373  Qm (i8)0x00000073  Qn (i32)0x00000002
-vraddhn.i16 d0, q1, q2 :: Qd 0x1519141f 0x131a121e  Qm (i8)0x00000073  Qn (i32)0x00000002
+vraddhn.i16 d0, q1, q2 :: Qd 0x0f0d0b09 0x07050301  Qm (i8)0x00000073  Qn (i32)0x00000002
 vraddhn.i32 d0, q1, q2 :: Qd 0x73737373 0x73737373  Qm (i8)0x00000073  Qn (i32)0x00000002
-vraddhn.i32 d0, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i8)0x00000073  Qn (i32)0x00000002
+vraddhn.i32 d0, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i8)0x00000073  Qn (i32)0x00000002
 vraddhn.i64 d0, q1, q2 :: Qd 0x73737375 0x73737375  Qm (i8)0x00000073  Qn (i32)0x00000002
-vraddhn.i64 d0, q1, q2 :: Qd 0x151d191f 0x131b1a1d  Qm (i8)0x00000073  Qn (i32)0x00000002
+vraddhn.i64 d0, q1, q2 :: Qd 0x0f0e0d0e 0x07060506  Qm (i8)0x00000073  Qn (i32)0x00000002
 ---- VSUBHN ----
 vsubhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
 vsubhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
 vsubhn.i16 d0, q1, q2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
-vsubhn.i16 d0, q1, q2 :: Qd 0x1518141e 0x1319121d  Qm (i32)0x00000073  Qn (i32)0x00000072
+vsubhn.i16 d0, q1, q2 :: Qd 0x0f0c0b08 0x07040300  Qm (i32)0x00000073  Qn (i32)0x00000072
 vsubhn.i32 d0, q1, q2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
-vsubhn.i32 d0, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i32)0x00000073  Qn (i32)0x00000072
+vsubhn.i32 d0, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i32)0x00000073  Qn (i32)0x00000072
 vsubhn.i64 d0, q1, q2 :: Qd 0x00000001 0x00000001  Qm (i32)0x00000073  Qn (i32)0x00000072
-vsubhn.i64 d0, q1, q2 :: Qd 0x151d18ab 0x131b19a9  Qm (i32)0x00000073  Qn (i32)0x00000072
+vsubhn.i64 d0, q1, q2 :: Qd 0x0f0e0c9a 0x07060492  Qm (i32)0x00000073  Qn (i32)0x00000072
 vsubhn.i16 d0, q15, q2 :: Qd 0xefeeefee 0xefeeefee  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vsubhn.i16 d0, q15, q2 :: Qd 0x1517141d 0x1318121c  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vsubhn.i16 d0, q15, q2 :: Qd 0x0f0b0b07 0x070303ff  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vsubhn.i32 d31, q1, q2 :: Qd 0xef73ef73 0xef73ef73  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vsubhn.i32 d31, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vsubhn.i32 d31, q1, q2 :: Qd 0x0f0e0b0a 0x07060301  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vsubhn.i64 d0, q1, q8 :: Qd 0xef73ee01 0xef73ee01  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vsubhn.i64 d0, q1, q8 :: Qd 0x151d17ab 0x131b18a9  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vsubhn.i64 d0, q1, q8 :: Qd 0x0f0e0b9a 0x07060392  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vsubhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000073  Qn (i32)0x00000072
 vsubhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000073  Qn (i32)0x00000072
 vsubhn.i16 d0, q1, q2 :: Qd 0x73737373 0x73737373  Qm (i8)0x00000073  Qn (i32)0x00000072
-vsubhn.i16 d0, q1, q2 :: Qd 0x1518141e 0x1319121d  Qm (i8)0x00000073  Qn (i32)0x00000072
+vsubhn.i16 d0, q1, q2 :: Qd 0x0f0c0b08 0x07040300  Qm (i8)0x00000073  Qn (i32)0x00000072
 vsubhn.i32 d0, q1, q2 :: Qd 0x73737373 0x73737373  Qm (i8)0x00000073  Qn (i32)0x00000072
-vsubhn.i32 d0, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i8)0x00000073  Qn (i32)0x00000072
+vsubhn.i32 d0, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i8)0x00000073  Qn (i32)0x00000072
 vsubhn.i64 d0, q1, q2 :: Qd 0x73737301 0x73737301  Qm (i8)0x00000073  Qn (i32)0x00000072
-vsubhn.i64 d0, q1, q2 :: Qd 0x151d18ab 0x131b19a9  Qm (i8)0x00000073  Qn (i32)0x00000072
+vsubhn.i64 d0, q1, q2 :: Qd 0x0f0e0c9a 0x07060492  Qm (i8)0x00000073  Qn (i32)0x00000072
 ---- VRSUBHN ----
 vrsubhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
 vrsubhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
 vrsubhn.i16 d0, q1, q2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
-vrsubhn.i16 d0, q1, q2 :: Qd 0x1519141f 0x131a121e  Qm (i32)0x00000073  Qn (i32)0x00000072
+vrsubhn.i16 d0, q1, q2 :: Qd 0x0f0d0b09 0x07050301  Qm (i32)0x00000073  Qn (i32)0x00000072
 vrsubhn.i32 d0, q1, q2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000073  Qn (i32)0x00000072
-vrsubhn.i32 d0, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i32)0x00000073  Qn (i32)0x00000072
+vrsubhn.i32 d0, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i32)0x00000073  Qn (i32)0x00000072
 vrsubhn.i64 d0, q1, q2 :: Qd 0x00000001 0x00000001  Qm (i32)0x00000073  Qn (i32)0x00000072
-vrsubhn.i64 d0, q1, q2 :: Qd 0x151d18ab 0x131b19a9  Qm (i32)0x00000073  Qn (i32)0x00000072
+vrsubhn.i64 d0, q1, q2 :: Qd 0x0f0e0c9a 0x07060492  Qm (i32)0x00000073  Qn (i32)0x00000072
 vrsubhn.i16 d0, q15, q2 :: Qd 0xefeeefee 0xefeeefee  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vrsubhn.i16 d0, q15, q2 :: Qd 0x1518141e 0x1319121d  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vrsubhn.i16 d0, q15, q2 :: Qd 0x0f0c0b08 0x07040300  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vrsubhn.i32 d31, q1, q2 :: Qd 0xef74ef74 0xef74ef74  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vrsubhn.i32 d31, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vrsubhn.i32 d31, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vrsubhn.i64 d0, q1, q8 :: Qd 0xef73ee02 0xef73ee02  Qm (i16)0x0000ef73  Qn (i32)0x00000172
-vrsubhn.i64 d0, q1, q8 :: Qd 0x151d17ab 0x131b18a9  Qm (i16)0x0000ef73  Qn (i32)0x00000172
+vrsubhn.i64 d0, q1, q8 :: Qd 0x0f0e0b9a 0x07060392  Qm (i16)0x0000ef73  Qn (i32)0x00000172
 vrsubhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000073  Qn (i32)0x00000072
 vrsubhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000073  Qn (i32)0x00000072
 vrsubhn.i16 d0, q1, q2 :: Qd 0x73737373 0x73737373  Qm (i8)0x00000073  Qn (i32)0x00000072
-vrsubhn.i16 d0, q1, q2 :: Qd 0x1519141f 0x131a121e  Qm (i8)0x00000073  Qn (i32)0x00000072
+vrsubhn.i16 d0, q1, q2 :: Qd 0x0f0d0b09 0x07050301  Qm (i8)0x00000073  Qn (i32)0x00000072
 vrsubhn.i32 d0, q1, q2 :: Qd 0x73737373 0x73737373  Qm (i8)0x00000073  Qn (i32)0x00000072
-vrsubhn.i32 d0, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i8)0x00000073  Qn (i32)0x00000072
+vrsubhn.i32 d0, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i8)0x00000073  Qn (i32)0x00000072
 vrsubhn.i64 d0, q1, q2 :: Qd 0x73737301 0x73737301  Qm (i8)0x00000073  Qn (i32)0x00000072
-vrsubhn.i64 d0, q1, q2 :: Qd 0x151d18ab 0x131b19a9  Qm (i8)0x00000073  Qn (i32)0x00000072
+vrsubhn.i64 d0, q1, q2 :: Qd 0x0f0e0c9a 0x07060492  Qm (i8)0x00000073  Qn (i32)0x00000072
 vrsubhn.i16 d0, q15, q2 :: Qd 0xf0eff0ef 0xf0eff0ef  Qm (i16)0x0000ef93  Qn (i32)0x00000102
-vrsubhn.i16 d0, q15, q2 :: Qd 0x1518141e 0x1319121d  Qm (i16)0x0000ef93  Qn (i32)0x00000102
+vrsubhn.i16 d0, q15, q2 :: Qd 0x0f0c0b08 0x07040300  Qm (i16)0x0000ef93  Qn (i32)0x00000102
 vrsubhn.i32 d31, q1, q2 :: Qd 0xef94ef94 0xef94ef94  Qm (i16)0x0000ef93  Qn (i32)0x00000102
-vrsubhn.i32 d31, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i16)0x0000ef93  Qn (i32)0x00000102
+vrsubhn.i32 d31, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i16)0x0000ef93  Qn (i32)0x00000102
 vrsubhn.i64 d0, q1, q8 :: Qd 0xef93ee92 0xef93ee92  Qm (i16)0x0000ef93  Qn (i32)0x00000102
-vrsubhn.i64 d0, q1, q8 :: Qd 0x151d181b 0x131b1919  Qm (i16)0x0000ef93  Qn (i32)0x00000102
+vrsubhn.i64 d0, q1, q8 :: Qd 0x0f0e0c0a 0x07060402  Qm (i16)0x0000ef93  Qn (i32)0x00000102
 vrsubhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000093  Qn (i32)0x00000002
 vrsubhn.i32 d0, q1, q1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000093  Qn (i32)0x00000002
 vrsubhn.i16 d0, q1, q2 :: Qd 0x94949494 0x94949494  Qm (i8)0x00000093  Qn (i32)0x00000002
-vrsubhn.i16 d0, q1, q2 :: Qd 0x1519141f 0x131a121e  Qm (i8)0x00000093  Qn (i32)0x00000002
+vrsubhn.i16 d0, q1, q2 :: Qd 0x0f0d0b09 0x07050301  Qm (i8)0x00000093  Qn (i32)0x00000002
 vrsubhn.i32 d0, q1, q2 :: Qd 0x93949394 0x93949394  Qm (i8)0x00000093  Qn (i32)0x00000002
-vrsubhn.i32 d0, q1, q2 :: Qd 0x151d141c 0x131b121f  Qm (i8)0x00000093  Qn (i32)0x00000002
+vrsubhn.i32 d0, q1, q2 :: Qd 0x0f0e0b0a 0x07060302  Qm (i8)0x00000093  Qn (i32)0x00000002
 vrsubhn.i64 d0, q1, q2 :: Qd 0x93939392 0x93939392  Qm (i8)0x00000093  Qn (i32)0x00000002
-vrsubhn.i64 d0, q1, q2 :: Qd 0x151d191b 0x131b1a19  Qm (i8)0x00000093  Qn (i32)0x00000002
+vrsubhn.i64 d0, q1, q2 :: Qd 0x0f0e0d0a 0x07060502  Qm (i8)0x00000093  Qn (i32)0x00000002
 ---- VCEQ #0 ----
 vceq.i32 d0, d1, #0 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000021
 vceq.i32 d0, d1, #0 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000021
@@ -3156,413 +3156,413 @@
 vclt.s8 d10, d11, #0 :: Qd 0x00000000 0x00000000  Qm (i32)0x000000ae
 ---- VCNT ----
 vcnt.8 d0, d1 :: Qd 0x04050306 0x04050306  Qm (i32)0xac3d25eb
-vcnt.8 d0, d1 :: Qd 0x03040304 0x02030503  Qm (i32)0xac3d25eb
+vcnt.8 d0, d1 :: Qd 0x04030302 0x03020201  Qm (i32)0xac3d25eb
 vcnt.8 d11, d14 :: Qd 0x04050306 0x04050306  Qm (i32)0xac3d25eb
-vcnt.8 d11, d14 :: Qd 0x03040304 0x02030503  Qm (i32)0xac3d25eb
+vcnt.8 d11, d14 :: Qd 0x04030302 0x03020201  Qm (i32)0xac3d25eb
 vcnt.8 d6, d2 :: Qd 0x00020306 0x00020306  Qm (i32)0x000ad0eb
-vcnt.8 d6, d2 :: Qd 0x03040304 0x02030503  Qm (i32)0x000ad0eb
+vcnt.8 d6, d2 :: Qd 0x04030302 0x03020201  Qm (i32)0x000ad0eb
 ---- VCLS ----
 vcls.s8 d0, d1 :: Qd 0x07070701 0x07070701  Qm (i32)0x00000021
-vcls.s8 d0, d1 :: Qd 0x02020202 0x02020202  Qm (i32)0x00000021
+vcls.s8 d0, d1 :: Qd 0x03030303 0x03030303  Qm (i32)0x00000021
 vcls.s8 d30, d31 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000082
-vcls.s8 d30, d31 :: Qd 0x02020202 0x02020202  Qm (i8)0x00000082
+vcls.s8 d30, d31 :: Qd 0x03030303 0x03030303  Qm (i8)0x00000082
 vcls.s16 d0, d1 :: Qd 0x000f0009 0x000f0009  Qm (i32)0x00000021
-vcls.s16 d0, d1 :: Qd 0x00020002 0x00020002  Qm (i32)0x00000021
+vcls.s16 d0, d1 :: Qd 0x00030003 0x00030003  Qm (i32)0x00000021
 vcls.s16 d31, d30 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000082
-vcls.s16 d31, d30 :: Qd 0x00020002 0x00020002  Qm (i8)0x00000082
+vcls.s16 d31, d30 :: Qd 0x00030003 0x00030003  Qm (i8)0x00000082
 vcls.s32 d6, d1 :: Qd 0x00000019 0x00000019  Qm (i32)0x00000021
-vcls.s32 d6, d1 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000021
+vcls.s32 d6, d1 :: Qd 0x00000003 0x00000003  Qm (i32)0x00000021
 vcls.s32 d30, d5 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000082
-vcls.s32 d30, d5 :: Qd 0x00000002 0x00000002  Qm (i8)0x00000082
+vcls.s32 d30, d5 :: Qd 0x00000003 0x00000003  Qm (i8)0x00000082
 vcls.s8 d2, d4 :: Qd 0x07070707 0x07070707  Qm (i8)0x000000ff
-vcls.s8 d2, d4 :: Qd 0x02020202 0x02020202  Qm (i8)0x000000ff
+vcls.s8 d2, d4 :: Qd 0x03030303 0x03030303  Qm (i8)0x000000ff
 vcls.s16 d2, d4 :: Qd 0x000f000f 0x000f000f  Qm (i8)0x000000ff
-vcls.s16 d2, d4 :: Qd 0x00020002 0x00020002  Qm (i8)0x000000ff
+vcls.s16 d2, d4 :: Qd 0x00030003 0x00030003  Qm (i8)0x000000ff
 vcls.s32 d2, d4 :: Qd 0x0000001f 0x0000001f  Qm (i8)0x000000ff
-vcls.s32 d2, d4 :: Qd 0x00000002 0x00000002  Qm (i8)0x000000ff
+vcls.s32 d2, d4 :: Qd 0x00000003 0x00000003  Qm (i8)0x000000ff
 vcls.s8 d2, d4 :: Qd 0x07020702 0x07020702  Qm (i16)0x0000ffef
-vcls.s8 d2, d4 :: Qd 0x02020202 0x02020202  Qm (i16)0x0000ffef
+vcls.s8 d2, d4 :: Qd 0x03030303 0x03030303  Qm (i16)0x0000ffef
 vcls.s16 d2, d4 :: Qd 0x000a000a 0x000a000a  Qm (i16)0x0000ffef
-vcls.s16 d2, d4 :: Qd 0x00020002 0x00020002  Qm (i16)0x0000ffef
+vcls.s16 d2, d4 :: Qd 0x00030003 0x00030003  Qm (i16)0x0000ffef
 vcls.s32 d2, d4 :: Qd 0x0000000a 0x0000000a  Qm (i16)0x0000ffef
-vcls.s32 d2, d4 :: Qd 0x00000002 0x00000002  Qm (i16)0x0000ffef
+vcls.s32 d2, d4 :: Qd 0x00000003 0x00000003  Qm (i16)0x0000ffef
 vcls.s8 d2, d4 :: Qd 0x07070707 0x07070707  Qm (i8)0x00000000
-vcls.s8 d2, d4 :: Qd 0x02020202 0x02020202  Qm (i8)0x00000000
+vcls.s8 d2, d4 :: Qd 0x03030303 0x03030303  Qm (i8)0x00000000
 vcls.s16 d2, d4 :: Qd 0x000f000f 0x000f000f  Qm (i8)0x00000000
-vcls.s16 d2, d4 :: Qd 0x00020002 0x00020002  Qm (i8)0x00000000
+vcls.s16 d2, d4 :: Qd 0x00030003 0x00030003  Qm (i8)0x00000000
 vcls.s32 d2, d4 :: Qd 0x0000001f 0x0000001f  Qm (i8)0x00000000
-vcls.s32 d2, d4 :: Qd 0x00000002 0x00000002  Qm (i8)0x00000000
+vcls.s32 d2, d4 :: Qd 0x00000003 0x00000003  Qm (i8)0x00000000
 vcls.s8 d2, d4 :: Qd 0x07020702 0x07020702  Qm (i16)0x000000ef
-vcls.s8 d2, d4 :: Qd 0x02020202 0x02020202  Qm (i16)0x000000ef
+vcls.s8 d2, d4 :: Qd 0x03030303 0x03030303  Qm (i16)0x000000ef
 vcls.s16 d2, d4 :: Qd 0x00070007 0x00070007  Qm (i16)0x000000ef
-vcls.s16 d2, d4 :: Qd 0x00020002 0x00020002  Qm (i16)0x000000ef
+vcls.s16 d2, d4 :: Qd 0x00030003 0x00030003  Qm (i16)0x000000ef
 vcls.s32 d2, d4 :: Qd 0x00000007 0x00000007  Qm (i16)0x000000ef
-vcls.s32 d2, d4 :: Qd 0x00000002 0x00000002  Qm (i16)0x000000ef
+vcls.s32 d2, d4 :: Qd 0x00000003 0x00000003  Qm (i16)0x000000ef
 ---- VCLZ ----
 vclz.i8 d0, d1 :: Qd 0x08080802 0x08080802  Qm (i32)0x00000021
-vclz.i8 d0, d1 :: Qd 0x03030303 0x03030303  Qm (i32)0x00000021
+vclz.i8 d0, d1 :: Qd 0x04040404 0x04040404  Qm (i32)0x00000021
 vclz.i8 d30, d31 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000082
-vclz.i8 d30, d31 :: Qd 0x03030303 0x03030303  Qm (i8)0x00000082
+vclz.i8 d30, d31 :: Qd 0x04040404 0x04040404  Qm (i8)0x00000082
 vclz.i16 d0, d1 :: Qd 0x0010000a 0x0010000a  Qm (i32)0x00000021
-vclz.i16 d0, d1 :: Qd 0x00030003 0x00030003  Qm (i32)0x00000021
+vclz.i16 d0, d1 :: Qd 0x00040004 0x00040004  Qm (i32)0x00000021
 vclz.i16 d31, d30 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000082
-vclz.i16 d31, d30 :: Qd 0x00030003 0x00030003  Qm (i8)0x00000082
+vclz.i16 d31, d30 :: Qd 0x00040004 0x00040004  Qm (i8)0x00000082
 vclz.i32 d6, d1 :: Qd 0x0000001a 0x0000001a  Qm (i32)0x00000021
-vclz.i32 d6, d1 :: Qd 0x00000003 0x00000003  Qm (i32)0x00000021
+vclz.i32 d6, d1 :: Qd 0x00000004 0x00000004  Qm (i32)0x00000021
 vclz.i32 d30, d5 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000082
-vclz.i32 d30, d5 :: Qd 0x00000003 0x00000003  Qm (i8)0x00000082
+vclz.i32 d30, d5 :: Qd 0x00000004 0x00000004  Qm (i8)0x00000082
 vclz.i8 d2, d4 :: Qd 0x00000000 0x00000000  Qm (i8)0x000000ff
-vclz.i8 d2, d4 :: Qd 0x03030303 0x03030303  Qm (i8)0x000000ff
+vclz.i8 d2, d4 :: Qd 0x04040404 0x04040404  Qm (i8)0x000000ff
 vclz.i16 d2, d4 :: Qd 0x00000000 0x00000000  Qm (i8)0x000000ff
-vclz.i16 d2, d4 :: Qd 0x00030003 0x00030003  Qm (i8)0x000000ff
+vclz.i16 d2, d4 :: Qd 0x00040004 0x00040004  Qm (i8)0x000000ff
 vclz.i32 d2, d4 :: Qd 0x00000000 0x00000000  Qm (i8)0x000000ff
-vclz.i32 d2, d4 :: Qd 0x00000003 0x00000003  Qm (i8)0x000000ff
+vclz.i32 d2, d4 :: Qd 0x00000004 0x00000004  Qm (i8)0x000000ff
 vclz.i8 d2, d4 :: Qd 0x00000000 0x00000000  Qm (i16)0x0000ffef
-vclz.i8 d2, d4 :: Qd 0x03030303 0x03030303  Qm (i16)0x0000ffef
+vclz.i8 d2, d4 :: Qd 0x04040404 0x04040404  Qm (i16)0x0000ffef
 vclz.i16 d2, d4 :: Qd 0x00000000 0x00000000  Qm (i16)0x0000ffef
-vclz.i16 d2, d4 :: Qd 0x00030003 0x00030003  Qm (i16)0x0000ffef
+vclz.i16 d2, d4 :: Qd 0x00040004 0x00040004  Qm (i16)0x0000ffef
 vclz.i32 d2, d4 :: Qd 0x00000000 0x00000000  Qm (i16)0x0000ffef
-vclz.i32 d2, d4 :: Qd 0x00000003 0x00000003  Qm (i16)0x0000ffef
+vclz.i32 d2, d4 :: Qd 0x00000004 0x00000004  Qm (i16)0x0000ffef
 vclz.i8 d2, d4 :: Qd 0x08080808 0x08080808  Qm (i8)0x00000000
-vclz.i8 d2, d4 :: Qd 0x03030303 0x03030303  Qm (i8)0x00000000
+vclz.i8 d2, d4 :: Qd 0x04040404 0x04040404  Qm (i8)0x00000000
 vclz.i16 d2, d4 :: Qd 0x00100010 0x00100010  Qm (i8)0x00000000
-vclz.i16 d2, d4 :: Qd 0x00030003 0x00030003  Qm (i8)0x00000000
+vclz.i16 d2, d4 :: Qd 0x00040004 0x00040004  Qm (i8)0x00000000
 vclz.i32 d2, d4 :: Qd 0x00000020 0x00000020  Qm (i8)0x00000000
-vclz.i32 d2, d4 :: Qd 0x00000003 0x00000003  Qm (i8)0x00000000
+vclz.i32 d2, d4 :: Qd 0x00000004 0x00000004  Qm (i8)0x00000000
 vclz.i8 d2, d4 :: Qd 0x08000800 0x08000800  Qm (i16)0x000000ef
-vclz.i8 d2, d4 :: Qd 0x03030303 0x03030303  Qm (i16)0x000000ef
+vclz.i8 d2, d4 :: Qd 0x04040404 0x04040404  Qm (i16)0x000000ef
 vclz.i16 d2, d4 :: Qd 0x00080008 0x00080008  Qm (i16)0x000000ef
-vclz.i16 d2, d4 :: Qd 0x00030003 0x00030003  Qm (i16)0x000000ef
+vclz.i16 d2, d4 :: Qd 0x00040004 0x00040004  Qm (i16)0x000000ef
 vclz.i32 d2, d4 :: Qd 0x00000008 0x00000008  Qm (i16)0x000000ef
-vclz.i32 d2, d4 :: Qd 0x00000003 0x00000003  Qm (i16)0x000000ef
+vclz.i32 d2, d4 :: Qd 0x00000004 0x00000004  Qm (i16)0x000000ef
 ---- VSLI ----
 vsli.16 d0, d1, #1 :: Qd 0x0001000f 0x0001000f  Qm (i32)0x00000007
-vsli.16 d0, d1, #1 :: Qd 0x2a3b323b 0x28393e39  Qm (i32)0x00000007
+vsli.16 d0, d1, #1 :: Qd 0x1e1c1a18 0x16141210  Qm (i32)0x00000007
 vsli.16 d3, d4, #2 :: Qd 0xfffdfe11 0xfffdfe11  Qm (i32)0xffffff84
-vsli.16 d3, d4, #2 :: Qd 0x54776477 0x50737c73  Qm (i32)0xffffff84
+vsli.16 d3, d4, #2 :: Qd 0x3c3a3430 0x2c2a2420  Qm (i32)0xffffff84
 vsli.32 d2, d5, #31 :: Qd 0xd5555555 0xd5555555  Qm (i32)0xffffffff
-vsli.32 d2, d5, #31 :: Qd 0x931b1a1b 0x121f1e1f  Qm (i32)0xffffffff
+vsli.32 d2, d5, #31 :: Qd 0x07060504 0x03020100  Qm (i32)0xffffffff
 vsli.8 d6, d7, #7 :: Qd 0x5555d5d5 0x5555d5d5  Qm (i32)0x0000ffff
-vsli.8 d6, d7, #7 :: Qd 0x939b9a9b 0x121f9e1f  Qm (i32)0x0000ffff
+vsli.8 d6, d7, #7 :: Qd 0x87068504 0x83028100  Qm (i32)0x0000ffff
 vsli.16 d8, d9, #12 :: Qd 0xf5556555 0xf5556555  Qm (i32)0xfffffff6
-vsli.16 d8, d9, #12 :: Qd 0xd31bda1b 0xc21fce1f  Qm (i32)0xfffffff6
+vsli.16 d8, d9, #12 :: Qd 0xe706c504 0xa3028100  Qm (i32)0xfffffff6
 vsli.32 d10, d11, #5 :: Qd 0x0004ff55 0x0004ff55  Qm (i32)0x000027fa
-vsli.32 d10, d11, #5 :: Qd 0xa3a323bb 0x8383e39f  Qm (i32)0x000027fa
+vsli.32 d10, d11, #5 :: Qd 0xe1c1a184 0x61412100  Qm (i32)0x000027fa
 vsli.8 d12, d13, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vsli.8 d12, d13, #1 :: Qd 0x2b3b323b 0x28393e39  Qm (i32)0xffffffff
+vsli.8 d12, d13, #1 :: Qd 0x1f1c1b18 0x17141310  Qm (i32)0xffffffff
 vsli.16 d14, d15, #11 :: Qd 0xfd55fd55 0xfd55fd55  Qm (i32)0xffffffff
-vsli.16 d14, d15, #11 :: Qd 0xeb1bea1b 0xe21fe61f  Qm (i32)0xffffffff
+vsli.16 d14, d15, #11 :: Qd 0x77066504 0x53024100  Qm (i32)0xffffffff
 vsli.32 d10, d11, #9 :: Qd 0x0007d155 0x0007d155  Qm (i32)0x000003e8
-vsli.32 d10, d11, #9 :: Qd 0x3a323a1b 0x383e381f  Qm (i32)0x000003e8
+vsli.32 d10, d11, #9 :: Qd 0x1c1a1904 0x14121100  Qm (i32)0x000003e8
 vsli.8 d7, d13, #7 :: Qd 0xd5d5d5d5 0xd5d5d5d5  Qm (i32)0xffffffff
-vsli.8 d7, d13, #7 :: Qd 0x939b9a9b 0x121f9e1f  Qm (i32)0xffffffff
+vsli.8 d7, d13, #7 :: Qd 0x87068504 0x83028100  Qm (i32)0xffffffff
 vsli.16 d8, d1, #1 :: Qd 0x0001579f 0x0001579f  Qm (i32)0x0000abcf
-vsli.16 d8, d1, #1 :: Qd 0x2a3b323b 0x28393e39  Qm (i32)0x0000abcf
+vsli.16 d8, d1, #1 :: Qd 0x1e1c1a18 0x16141210  Qm (i32)0x0000abcf
 vsli.32 d12, d3, #15 :: Qd 0xff285555 0xff285555  Qm (i32)0xfffffe50
-vsli.32 d12, d3, #15 :: Qd 0x8c8e9a1b 0x0f8e1e1f  Qm (i32)0xfffffe50
+vsli.32 d12, d3, #15 :: Qd 0x06860504 0x04840100  Qm (i32)0xfffffe50
 vsli.64 d0, d1, #42 :: Qd 0xfffffd55 0x55555555  Qm (i32)0xffffffff
-vsli.64 d0, d1, #42 :: Qd 0x707c721b 0x121f1e1f  Qm (i32)0xffffffff
+vsli.64 d0, d1, #42 :: Qd 0x28242104 0x03020100  Qm (i32)0xffffffff
 vsli.64 d6, d7, #12 :: Qd 0x00fac000 0x00fac555  Qm (i32)0x00000fac
-vsli.64 d6, d7, #12 :: Qd 0xd191d141 0xc1f1ce1f  Qm (i32)0x00000fac
+vsli.64 d6, d7, #12 :: Qd 0xe0d0c0b0 0xa0908100  Qm (i32)0x00000fac
 vsli.64 d8, d4, #9 :: Qd 0x0069f000 0x0069f155  Qm (i32)0x000034f8
-vsli.64 d8, d4, #9 :: Qd 0x3a323a28 0x383e381f  Qm (i32)0x000034f8
+vsli.64 d8, d4, #9 :: Qd 0x1c1a1816 0x14121100  Qm (i32)0x000034f8
 vsli.64 d9, d12, #11 :: Qd 0x0c0cb000 0x0c0cb555  Qm (i32)0x00018196
-vsli.64 d9, d12, #11 :: Qd 0xe8c8e8a0 0xe0f8e61f  Qm (i32)0x00018196
+vsli.64 d9, d12, #11 :: Qd 0x70686058 0x50484100  Qm (i32)0x00018196
 ---- VPADD ----
 vpadd.i32 d0, d1, d2 :: Qd 0x000000f0 0x00000030  Qm (i32)0x00000018  Qn (i32)0x00000078
-vpadd.i32 d0, d1, d2 :: Qd 0x000000f0 0x253a383a  Qm (i32)0x00000018  Qn (i32)0x00000078
+vpadd.i32 d0, d1, d2 :: Qd 0x000000f0 0x0a080604  Qm (i32)0x00000018  Qn (i32)0x00000078
 vpadd.i32 d0, d1, d2 :: Qd 0x000000f0 0x00000118  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vpadd.i32 d0, d1, d2 :: Qd 0x000000f0 0x253a383a  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vpadd.i32 d0, d1, d2 :: Qd 0x000000f0 0x0a080604  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vpadd.i16 d0, d1, d2 :: Qd 0x00780078 0x008c008c  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vpadd.i16 d0, d1, d2 :: Qd 0x00780078 0x2d36303e  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vpadd.i16 d0, d1, d2 :: Qd 0x00780078 0x0c0a0402  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vpadd.i8 d0, d1, d2 :: Qd 0x00780078 0x008c008c  Qm (i32)0x0000008c  Qn (i32)0x00000078
-vpadd.i8 d0, d1, d2 :: Qd 0x00780078 0x2e35313d  Qm (i32)0x0000008c  Qn (i32)0x00000078
+vpadd.i8 d0, d1, d2 :: Qd 0x00780078 0x0d090501  Qm (i32)0x0000008c  Qn (i32)0x00000078
 vpadd.i8 d0, d1, d2 :: Qd 0x80028002 0x80018001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpadd.i8 d0, d1, d2 :: Qd 0x80028002 0x2e35313d  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpadd.i8 d0, d1, d2 :: Qd 0x80028002 0x0d090501  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpadd.i16 d0, d1, d2 :: Qd 0x80028002 0x80018001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpadd.i16 d0, d1, d2 :: Qd 0x80028002 0x2d36303e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpadd.i16 d0, d1, d2 :: Qd 0x80028002 0x0c0a0402  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpadd.i32 d0, d1, d2 :: Qd 0x00000004 0x00000002  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpadd.i32 d0, d1, d2 :: Qd 0x00000004 0x253a383a  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpadd.i32 d0, d1, d2 :: Qd 0x00000004 0x0a080604  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpadd.i32 d10, d11, d12 :: Qd 0x000000f0 0x00000030  Qm (i32)0x00000018  Qn (i32)0x00000078
-vpadd.i32 d10, d11, d12 :: Qd 0x000000f0 0x253a383a  Qm (i32)0x00000018  Qn (i32)0x00000078
+vpadd.i32 d10, d11, d12 :: Qd 0x000000f0 0x0a080604  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VPADDL ----
 vpaddl.u32 d0, d1 :: Qd 0x00000000 0x00000030  Qm (i32)0x00000018
-vpaddl.u32 d0, d1 :: Qd 0x00000000 0x29393839  Qm (i32)0x00000018
+vpaddl.u32 d0, d1 :: Qd 0x00000000 0x1a181614  Qm (i32)0x00000018
 vpaddl.u32 d0, d1 :: Qd 0x00000000 0x00000118  Qm (i32)0x0000008c
-vpaddl.u32 d0, d1 :: Qd 0x00000000 0x29393839  Qm (i32)0x0000008c
+vpaddl.u32 d0, d1 :: Qd 0x00000000 0x1a181614  Qm (i32)0x0000008c
 vpaddl.u16 d0, d1 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c
-vpaddl.u16 d0, d1 :: Qd 0x00002e3a 0x00003338  Qm (i32)0x0000008c
+vpaddl.u16 d0, d1 :: Qd 0x00001c1a 0x00001412  Qm (i32)0x0000008c
 vpaddl.u8 d0, d1 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c
-vpaddl.u8 d0, d1 :: Qd 0x00320036 0x0030003b  Qm (i32)0x0000008c
+vpaddl.u8 d0, d1 :: Qd 0x001d0019 0x00150011  Qm (i32)0x0000008c
 vpaddl.u8 d0, d1 :: Qd 0x00800001 0x00800001  Qm (i32)0x80000001
-vpaddl.u8 d0, d1 :: Qd 0x00320036 0x0030003b  Qm (i32)0x80000001
+vpaddl.u8 d0, d1 :: Qd 0x001d0019 0x00150011  Qm (i32)0x80000001
 vpaddl.u16 d0, d1 :: Qd 0x00008001 0x00008001  Qm (i32)0x80000001
-vpaddl.u16 d0, d1 :: Qd 0x00002e3a 0x00003338  Qm (i32)0x80000001
+vpaddl.u16 d0, d1 :: Qd 0x00001c1a 0x00001412  Qm (i32)0x80000001
 vpaddl.u32 d0, d1 :: Qd 0x00000001 0x00000002  Qm (i32)0x80000001
-vpaddl.u32 d0, d1 :: Qd 0x00000000 0x29393839  Qm (i32)0x80000001
+vpaddl.u32 d0, d1 :: Qd 0x00000000 0x1a181614  Qm (i32)0x80000001
 vpaddl.u32 d10, d11 :: Qd 0x00000000 0x00000030  Qm (i32)0x00000018
-vpaddl.u32 d10, d11 :: Qd 0x00000000 0x29393839  Qm (i32)0x00000018
+vpaddl.u32 d10, d11 :: Qd 0x00000000 0x1a181614  Qm (i32)0x00000018
 vpaddl.s32 d0, d1 :: Qd 0x00000000 0x00000030  Qm (i32)0x00000018
-vpaddl.s32 d0, d1 :: Qd 0x00000000 0x29393839  Qm (i32)0x00000018
+vpaddl.s32 d0, d1 :: Qd 0x00000000 0x1a181614  Qm (i32)0x00000018
 vpaddl.s32 d0, d1 :: Qd 0x00000000 0x00000118  Qm (i32)0x0000008c
-vpaddl.s32 d0, d1 :: Qd 0x00000000 0x29393839  Qm (i32)0x0000008c
+vpaddl.s32 d0, d1 :: Qd 0x00000000 0x1a181614  Qm (i32)0x0000008c
 vpaddl.s16 d0, d1 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c
-vpaddl.s16 d0, d1 :: Qd 0x00002e3a 0x00003338  Qm (i32)0x0000008c
+vpaddl.s16 d0, d1 :: Qd 0x00001c1a 0x00001412  Qm (i32)0x0000008c
 vpaddl.s8 d0, d1 :: Qd 0x0000ff8c 0x0000ff8c  Qm (i32)0x0000008c
-vpaddl.s8 d0, d1 :: Qd 0x00320036 0x0030003b  Qm (i32)0x0000008c
+vpaddl.s8 d0, d1 :: Qd 0x001d0019 0x00150011  Qm (i32)0x0000008c
 vpaddl.s8 d0, d1 :: Qd 0xff800001 0xff800001  Qm (i32)0x80000001
-vpaddl.s8 d0, d1 :: Qd 0x00320036 0x0030003b  Qm (i32)0x80000001
+vpaddl.s8 d0, d1 :: Qd 0x001d0019 0x00150011  Qm (i32)0x80000001
 vpaddl.s16 d0, d1 :: Qd 0xffff8001 0xffff8001  Qm (i32)0x80000001
-vpaddl.s16 d0, d1 :: Qd 0x00002e3a 0x00003338  Qm (i32)0x80000001
+vpaddl.s16 d0, d1 :: Qd 0x00001c1a 0x00001412  Qm (i32)0x80000001
 vpaddl.s32 d0, d1 :: Qd 0xffffffff 0x00000002  Qm (i32)0x80000001
-vpaddl.s32 d0, d1 :: Qd 0x00000000 0x29393839  Qm (i32)0x80000001
+vpaddl.s32 d0, d1 :: Qd 0x00000000 0x1a181614  Qm (i32)0x80000001
 vpaddl.s32 d10, d11 :: Qd 0x00000000 0x00000030  Qm (i32)0x00000018
-vpaddl.s32 d10, d11 :: Qd 0x00000000 0x29393839  Qm (i32)0x00000018
+vpaddl.s32 d10, d11 :: Qd 0x00000000 0x1a181614  Qm (i32)0x00000018
 ---- VPADAL ----
 vpadal.u32 d0, d1 :: Qd 0x55555555 0x55555585  Qm (i32)0x00000018
-vpadal.u32 d0, d1 :: Qd 0x131b1a1b 0x3b585658  Qm (i32)0x00000018
+vpadal.u32 d0, d1 :: Qd 0x07060504 0x1d1a1714  Qm (i32)0x00000018
 vpadal.u32 d0, d1 :: Qd 0x55555555 0x5555566d  Qm (i32)0x0000008c
-vpadal.u32 d0, d1 :: Qd 0x131b1a1b 0x3b585658  Qm (i32)0x0000008c
+vpadal.u32 d0, d1 :: Qd 0x07060504 0x1d1a1714  Qm (i32)0x0000008c
 vpadal.u16 d0, d1 :: Qd 0x555555e1 0x555555e1  Qm (i32)0x0000008c
-vpadal.u16 d0, d1 :: Qd 0x131b4855 0x121f5157  Qm (i32)0x0000008c
+vpadal.u16 d0, d1 :: Qd 0x0706211e 0x03021512  Qm (i32)0x0000008c
 vpadal.u8 d0, d1 :: Qd 0x566d566d 0x566d566d  Qm (i8)0x0000008c
-vpadal.u8 d0, d1 :: Qd 0x134d1a51 0x124f1e5a  Qm (i8)0x0000008c
+vpadal.u8 d0, d1 :: Qd 0x0723051d 0x03170111  Qm (i8)0x0000008c
 vpadal.u8 d0, d1 :: Qd 0x55d55556 0x55d55556  Qm (i32)0x80000001
-vpadal.u8 d0, d1 :: Qd 0x134d1a51 0x124f1e5a  Qm (i32)0x80000001
+vpadal.u8 d0, d1 :: Qd 0x0723051d 0x03170111  Qm (i32)0x80000001
 vpadal.u16 d0, d1 :: Qd 0x5555d556 0x5555d556  Qm (i32)0x80000001
-vpadal.u16 d0, d1 :: Qd 0x131b4855 0x121f5157  Qm (i32)0x80000001
+vpadal.u16 d0, d1 :: Qd 0x0706211e 0x03021512  Qm (i32)0x80000001
 vpadal.u32 d0, d1 :: Qd 0x55555556 0x55555557  Qm (i32)0x80000001
-vpadal.u32 d0, d1 :: Qd 0x131b1a1b 0x3b585658  Qm (i32)0x80000001
+vpadal.u32 d0, d1 :: Qd 0x07060504 0x1d1a1714  Qm (i32)0x80000001
 vpadal.u32 d10, d11 :: Qd 0x55555555 0x55555585  Qm (i32)0x00000018
-vpadal.u32 d10, d11 :: Qd 0x131b1a1b 0x3b585658  Qm (i32)0x00000018
+vpadal.u32 d10, d11 :: Qd 0x07060504 0x1d1a1714  Qm (i32)0x00000018
 vpadal.s32 d0, d1 :: Qd 0x55555555 0x55555585  Qm (i32)0x00000018
-vpadal.s32 d0, d1 :: Qd 0x131b1a1b 0x3b585658  Qm (i32)0x00000018
+vpadal.s32 d0, d1 :: Qd 0x07060504 0x1d1a1714  Qm (i32)0x00000018
 vpadal.s32 d0, d1 :: Qd 0x55555555 0x5555566d  Qm (i32)0x0000008c
-vpadal.s32 d0, d1 :: Qd 0x131b1a1b 0x3b585658  Qm (i32)0x0000008c
+vpadal.s32 d0, d1 :: Qd 0x07060504 0x1d1a1714  Qm (i32)0x0000008c
 vpadal.s16 d0, d1 :: Qd 0x555555e1 0x555555e1  Qm (i32)0x0000008c
-vpadal.s16 d0, d1 :: Qd 0x131b4855 0x121f5157  Qm (i32)0x0000008c
+vpadal.s16 d0, d1 :: Qd 0x0706211e 0x03021512  Qm (i32)0x0000008c
 vpadal.s8 d0, d1 :: Qd 0x546d546d 0x546d546d  Qm (i8)0x0000008c
-vpadal.s8 d0, d1 :: Qd 0x134d1a51 0x124f1e5a  Qm (i8)0x0000008c
+vpadal.s8 d0, d1 :: Qd 0x0723051d 0x03170111  Qm (i8)0x0000008c
 vpadal.s8 d0, d1 :: Qd 0x54d55556 0x54d55556  Qm (i32)0x80000001
-vpadal.s8 d0, d1 :: Qd 0x134d1a51 0x124f1e5a  Qm (i32)0x80000001
+vpadal.s8 d0, d1 :: Qd 0x0723051d 0x03170111  Qm (i32)0x80000001
 vpadal.s16 d0, d1 :: Qd 0x5554d556 0x5554d556  Qm (i32)0x80000001
-vpadal.s16 d0, d1 :: Qd 0x131b4855 0x121f5157  Qm (i32)0x80000001
+vpadal.s16 d0, d1 :: Qd 0x0706211e 0x03021512  Qm (i32)0x80000001
 vpadal.s32 d0, d1 :: Qd 0x55555554 0x55555557  Qm (i32)0x80000001
-vpadal.s32 d0, d1 :: Qd 0x131b1a1b 0x3b585658  Qm (i32)0x80000001
+vpadal.s32 d0, d1 :: Qd 0x07060504 0x1d1a1714  Qm (i32)0x80000001
 vpadal.s32 d10, d11 :: Qd 0x55555555 0x55555585  Qm (i32)0x00000018
-vpadal.s32 d10, d11 :: Qd 0x131b1a1b 0x3b585658  Qm (i32)0x00000018
+vpadal.s32 d10, d11 :: Qd 0x07060504 0x1d1a1714  Qm (i32)0x00000018
 ---- VZIP ----
-vzip.32 d0, d1 :: Qm 0x34343434 0x121f1e1f  Qn 0x34343434 0x131b1a1b  Qm (i8)0x00000012  Qn (i8)0x00000034
-vzip.32 d0, d1 :: Qm 0x34343434 0x121f1e1f  Qn 0x34343434 0x131b1a1b  Qm (i8)0x00000012  Qn (i8)0x00000034
-vzip.16 d1, d0 :: Qm 0x131b3434 0x1a1b3434  Qn 0x121f3434 0x1e1f3434  Qm (i8)0x00000012  Qn (i8)0x00000034
-vzip.16 d1, d0 :: Qm 0x131b3434 0x1a1b3434  Qn 0x121f3434 0x1e1f3434  Qm (i8)0x00000012  Qn (i8)0x00000034
-vzip.8 d10, d11 :: Qm 0x3412341f 0x341e341f  Qn 0x3413341b 0x341a341b  Qm (i8)0x00000012  Qn (i8)0x00000034
-vzip.8 d10, d11 :: Qm 0x3412341f 0x341e341f  Qn 0x3413341b 0x341a341b  Qm (i8)0x00000012  Qn (i8)0x00000034
-vzip.32 d0, d1 :: Qm 0x0a0b0c0d 0x121f1e1f  Qn 0x0a0b0c0d 0x131b1a1b  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vzip.32 d0, d1 :: Qm 0x0a0b0c0d 0x121f1e1f  Qn 0x0a0b0c0d 0x131b1a1b  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vzip.16 d1, d0 :: Qm 0x131b0a0b 0x1a1b0c0d  Qn 0x121f0a0b 0x1e1f0c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vzip.16 d1, d0 :: Qm 0x131b0a0b 0x1a1b0c0d  Qn 0x121f0a0b 0x1e1f0c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vzip.8 d30, d31 :: Qm 0x0a120b1f 0x0c1e0d1f  Qn 0x0a130b1b 0x0c1a0d1b  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vzip.8 d30, d31 :: Qm 0x0a120b1f 0x0c1e0d1f  Qn 0x0a130b1b 0x0c1a0d1b  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vzip.32 d0, d1 :: Qm 0x34343434 0x03020100  Qn 0x34343434 0x07060504  Qm (i8)0x00000012  Qn (i8)0x00000034
+vzip.32 d0, d1 :: Qm 0x34343434 0x03020100  Qn 0x34343434 0x07060504  Qm (i8)0x00000012  Qn (i8)0x00000034
+vzip.16 d1, d0 :: Qm 0x07063434 0x05043434  Qn 0x03023434 0x01003434  Qm (i8)0x00000012  Qn (i8)0x00000034
+vzip.16 d1, d0 :: Qm 0x07063434 0x05043434  Qn 0x03023434 0x01003434  Qm (i8)0x00000012  Qn (i8)0x00000034
+vzip.8 d10, d11 :: Qm 0x34033402 0x34013400  Qn 0x34073406 0x34053404  Qm (i8)0x00000012  Qn (i8)0x00000034
+vzip.8 d10, d11 :: Qm 0x34033402 0x34013400  Qn 0x34073406 0x34053404  Qm (i8)0x00000012  Qn (i8)0x00000034
+vzip.32 d0, d1 :: Qm 0x0a0b0c0d 0x03020100  Qn 0x0a0b0c0d 0x07060504  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vzip.32 d0, d1 :: Qm 0x0a0b0c0d 0x03020100  Qn 0x0a0b0c0d 0x07060504  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vzip.16 d1, d0 :: Qm 0x07060a0b 0x05040c0d  Qn 0x03020a0b 0x01000c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vzip.16 d1, d0 :: Qm 0x07060a0b 0x05040c0d  Qn 0x03020a0b 0x01000c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vzip.8 d30, d31 :: Qm 0x0a030b02 0x0c010d00  Qn 0x0a070b06 0x0c050d04  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vzip.8 d30, d31 :: Qm 0x0a030b02 0x0c010d00  Qn 0x0a070b06 0x0c050d04  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
 ---- VUZP ----
-vuzp.32 d0, d1 :: Qm 0x34343434 0x121f1e1f  Qn 0x34343434 0x131b1a1b  Qm (i8)0x00000012  Qn (i8)0x00000034
-vuzp.32 d0, d1 :: Qm 0x34343434 0x121f1e1f  Qn 0x34343434 0x131b1a1b  Qm (i8)0x00000012  Qn (i8)0x00000034
-vuzp.16 d1, d0 :: Qm 0x131b121f 0x34343434  Qn 0x1a1b1e1f 0x34343434  Qm (i8)0x00000012  Qn (i8)0x00000034
-vuzp.16 d1, d0 :: Qm 0x131b121f 0x34343434  Qn 0x1a1b1e1f 0x34343434  Qm (i8)0x00000012  Qn (i8)0x00000034
-vuzp.8 d10, d11 :: Qm 0x34343434 0x1b1b1f1f  Qn 0x34343434 0x131a121e  Qm (i8)0x00000012  Qn (i8)0x00000034
-vuzp.8 d10, d11 :: Qm 0x34343434 0x1b1b1f1f  Qn 0x34343434 0x131a121e  Qm (i8)0x00000012  Qn (i8)0x00000034
-vuzp.32 d0, d1 :: Qm 0x0a0b0c0d 0x121f1e1f  Qn 0x0a0b0c0d 0x131b1a1b  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vuzp.32 d0, d1 :: Qm 0x0a0b0c0d 0x121f1e1f  Qn 0x0a0b0c0d 0x131b1a1b  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vuzp.16 d1, d0 :: Qm 0x131b121f 0x0a0b0a0b  Qn 0x1a1b1e1f 0x0c0d0c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vuzp.16 d1, d0 :: Qm 0x131b121f 0x0a0b0a0b  Qn 0x1a1b1e1f 0x0c0d0c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vuzp.8 d30, d31 :: Qm 0x0b0d0b0d 0x1b1b1f1f  Qn 0x0a0c0a0c 0x131a121e  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vuzp.8 d30, d31 :: Qm 0x0b0d0b0d 0x1b1b1f1f  Qn 0x0a0c0a0c 0x131a121e  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vuzp.32 d0, d1 :: Qm 0x34343434 0x03020100  Qn 0x34343434 0x07060504  Qm (i8)0x00000012  Qn (i8)0x00000034
+vuzp.32 d0, d1 :: Qm 0x34343434 0x03020100  Qn 0x34343434 0x07060504  Qm (i8)0x00000012  Qn (i8)0x00000034
+vuzp.16 d1, d0 :: Qm 0x07060302 0x34343434  Qn 0x05040100 0x34343434  Qm (i8)0x00000012  Qn (i8)0x00000034
+vuzp.16 d1, d0 :: Qm 0x07060302 0x34343434  Qn 0x05040100 0x34343434  Qm (i8)0x00000012  Qn (i8)0x00000034
+vuzp.8 d10, d11 :: Qm 0x34343434 0x06040200  Qn 0x34343434 0x07050301  Qm (i8)0x00000012  Qn (i8)0x00000034
+vuzp.8 d10, d11 :: Qm 0x34343434 0x06040200  Qn 0x34343434 0x07050301  Qm (i8)0x00000012  Qn (i8)0x00000034
+vuzp.32 d0, d1 :: Qm 0x0a0b0c0d 0x03020100  Qn 0x0a0b0c0d 0x07060504  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vuzp.32 d0, d1 :: Qm 0x0a0b0c0d 0x03020100  Qn 0x0a0b0c0d 0x07060504  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vuzp.16 d1, d0 :: Qm 0x07060302 0x0a0b0a0b  Qn 0x05040100 0x0c0d0c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vuzp.16 d1, d0 :: Qm 0x07060302 0x0a0b0a0b  Qn 0x05040100 0x0c0d0c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vuzp.8 d30, d31 :: Qm 0x0b0d0b0d 0x06040200  Qn 0x0a0c0a0c 0x07050301  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vuzp.8 d30, d31 :: Qm 0x0b0d0b0d 0x06040200  Qn 0x0a0c0a0c 0x07050301  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
 ---- VTRN ----
-vtrn.32 d0, d1 :: Qm 0x34343434 0x121f1e1f  Qn 0x34343434 0x131b1a1b  Qm (i8)0x00000012  Qn (i8)0x00000034
-vtrn.32 d0, d1 :: Qm 0x34343434 0x121f1e1f  Qn 0x34343434 0x131b1a1b  Qm (i8)0x00000012  Qn (i8)0x00000034
-vtrn.16 d1, d0 :: Qm 0x131b3434 0x121f3434  Qn 0x1a1b3434 0x1e1f3434  Qm (i8)0x00000012  Qn (i8)0x00000034
-vtrn.16 d1, d0 :: Qm 0x131b3434 0x121f3434  Qn 0x1a1b3434 0x1e1f3434  Qm (i8)0x00000012  Qn (i8)0x00000034
-vtrn.8 d10, d11 :: Qm 0x341b341b 0x341f341f  Qn 0x3413341a 0x3412341e  Qm (i8)0x00000012  Qn (i8)0x00000034
-vtrn.8 d10, d11 :: Qm 0x341b341b 0x341f341f  Qn 0x3413341a 0x3412341e  Qm (i8)0x00000012  Qn (i8)0x00000034
-vtrn.32 d0, d1 :: Qm 0x0a0b0c0d 0x121f1e1f  Qn 0x0a0b0c0d 0x131b1a1b  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vtrn.32 d0, d1 :: Qm 0x0a0b0c0d 0x121f1e1f  Qn 0x0a0b0c0d 0x131b1a1b  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vtrn.16 d1, d0 :: Qm 0x131b0a0b 0x121f0a0b  Qn 0x1a1b0c0d 0x1e1f0c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vtrn.16 d1, d0 :: Qm 0x131b0a0b 0x121f0a0b  Qn 0x1a1b0c0d 0x1e1f0c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vtrn.8 d30, d31 :: Qm 0x0b1b0d1b 0x0b1f0d1f  Qn 0x0a130c1a 0x0a120c1e  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vtrn.8 d30, d31 :: Qm 0x0b1b0d1b 0x0b1f0d1f  Qn 0x0a130c1a 0x0a120c1e  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vtrn.32 d0, d1 :: Qm 0x34343434 0x03020100  Qn 0x34343434 0x07060504  Qm (i8)0x00000012  Qn (i8)0x00000034
+vtrn.32 d0, d1 :: Qm 0x34343434 0x03020100  Qn 0x34343434 0x07060504  Qm (i8)0x00000012  Qn (i8)0x00000034
+vtrn.16 d1, d0 :: Qm 0x07063434 0x03023434  Qn 0x05043434 0x01003434  Qm (i8)0x00000012  Qn (i8)0x00000034
+vtrn.16 d1, d0 :: Qm 0x07063434 0x03023434  Qn 0x05043434 0x01003434  Qm (i8)0x00000012  Qn (i8)0x00000034
+vtrn.8 d10, d11 :: Qm 0x34063404 0x34023400  Qn 0x34073405 0x34033401  Qm (i8)0x00000012  Qn (i8)0x00000034
+vtrn.8 d10, d11 :: Qm 0x34063404 0x34023400  Qn 0x34073405 0x34033401  Qm (i8)0x00000012  Qn (i8)0x00000034
+vtrn.32 d0, d1 :: Qm 0x0a0b0c0d 0x03020100  Qn 0x0a0b0c0d 0x07060504  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vtrn.32 d0, d1 :: Qm 0x0a0b0c0d 0x03020100  Qn 0x0a0b0c0d 0x07060504  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vtrn.16 d1, d0 :: Qm 0x07060a0b 0x03020a0b  Qn 0x05040c0d 0x01000c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vtrn.16 d1, d0 :: Qm 0x07060a0b 0x03020a0b  Qn 0x05040c0d 0x01000c0d  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vtrn.8 d30, d31 :: Qm 0x0b060d04 0x0b020d00  Qn 0x0a070c05 0x0a030c01  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vtrn.8 d30, d31 :: Qm 0x0b060d04 0x0b020d00  Qn 0x0a070c05 0x0a030c01  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
 ---- VSWP ----
-vswp d0, d1 :: Qm 0x34343434 0x34343434  Qn 0x131b1a1b 0x121f1e1f  Qm (i8)0x00000012  Qn (i8)0x00000034
-vswp d0, d1 :: Qm 0x34343434 0x34343434  Qn 0x131b1a1b 0x121f1e1f  Qm (i8)0x00000012  Qn (i8)0x00000034
-vswp d1, d0 :: Qm 0x34343434 0x34343434  Qn 0x131b1a1b 0x121f1e1f  Qm (i8)0x00000012  Qn (i8)0x00000034
-vswp d1, d0 :: Qm 0x34343434 0x34343434  Qn 0x131b1a1b 0x121f1e1f  Qm (i8)0x00000012  Qn (i8)0x00000034
-vswp d10, d11 :: Qm 0x34343434 0x34343434  Qn 0x131b1a1b 0x121f1e1f  Qm (i8)0x00000012  Qn (i8)0x00000034
-vswp d10, d11 :: Qm 0x34343434 0x34343434  Qn 0x131b1a1b 0x121f1e1f  Qm (i8)0x00000012  Qn (i8)0x00000034
-vswp d0, d1 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x131b1a1b 0x121f1e1f  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vswp d0, d1 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x131b1a1b 0x121f1e1f  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vswp d1, d0 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x131b1a1b 0x121f1e1f  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vswp d1, d0 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x131b1a1b 0x121f1e1f  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vswp d30, d31 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x131b1a1b 0x121f1e1f  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
-vswp d30, d31 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x131b1a1b 0x121f1e1f  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vswp d0, d1 :: Qm 0x34343434 0x34343434  Qn 0x07060504 0x03020100  Qm (i8)0x00000012  Qn (i8)0x00000034
+vswp d0, d1 :: Qm 0x34343434 0x34343434  Qn 0x07060504 0x03020100  Qm (i8)0x00000012  Qn (i8)0x00000034
+vswp d1, d0 :: Qm 0x34343434 0x34343434  Qn 0x07060504 0x03020100  Qm (i8)0x00000012  Qn (i8)0x00000034
+vswp d1, d0 :: Qm 0x34343434 0x34343434  Qn 0x07060504 0x03020100  Qm (i8)0x00000012  Qn (i8)0x00000034
+vswp d10, d11 :: Qm 0x34343434 0x34343434  Qn 0x07060504 0x03020100  Qm (i8)0x00000012  Qn (i8)0x00000034
+vswp d10, d11 :: Qm 0x34343434 0x34343434  Qn 0x07060504 0x03020100  Qm (i8)0x00000012  Qn (i8)0x00000034
+vswp d0, d1 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x07060504 0x03020100  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vswp d0, d1 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x07060504 0x03020100  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vswp d1, d0 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x07060504 0x03020100  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vswp d1, d0 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x07060504 0x03020100  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vswp d30, d31 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x07060504 0x03020100  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
+vswp d30, d31 :: Qm 0x0a0b0c0d 0x0a0b0c0d  Qn 0x07060504 0x03020100  Qm (i32)0x12345678  Qn (i32)0x0a0b0c0d
 ---- VSHRN ----
 vshrn.i16 d0, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vshrn.i16 d0, q1, #1 :: Qd 0x16959717 0x8e8e0e8e  Qm (i32)0xffffffff
+vshrn.i16 d0, q1, #1 :: Qd 0x8b8a8988 0x87868584  Qm (i32)0xffffffff
 vshrn.i16 d3, q4, #2 :: Qd 0xffe1ffe1 0xffe1ffe1  Qm (i32)0xffffff84
-vshrn.i16 d3, q4, #2 :: Qd 0x0bcacb8b 0x474707c7  Qm (i32)0xffffff84
+vshrn.i16 d3, q4, #2 :: Qd 0xc545c444 0xc343c242  Qm (i32)0xffffff84
 vshrn.i32 d2, q5, #10 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vshrn.i32 d2, q5, #10 :: Qd 0x0b0acbcb 0x47460707  Qm (i32)0xffffffff
+vshrn.i32 d2, q5, #10 :: Qd 0xc585c484 0xc383c282  Qm (i32)0xffffffff
 vshrn.i32 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x7fffffff
-vshrn.i32 d2, q5, #1 :: Qd 0x15959717 0x8c8e0f8e  Qm (i32)0x7fffffff
+vshrn.i32 d2, q5, #1 :: Qd 0x0a8a0888 0x06860484  Qm (i32)0x7fffffff
 vshrn.i64 d6, q7, #7 :: Qd 0xfe0001ff 0xfe0001ff  Qm (i32)0x0000ffff
-vshrn.i64 d6, q7, #7 :: Qd 0x56465e5c 0x3a28383e  Qm (i32)0x0000ffff
+vshrn.i64 d6, q7, #7 :: Qd 0x28262422 0x18161412  Qm (i32)0x0000ffff
 vshrn.i16 d8, q9, #8 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffff6
-vshrn.i16 d8, q9, #8 :: Qd 0x242b232e 0x1519141f  Qm (i32)0xfffffff6
+vshrn.i16 d8, q9, #8 :: Qd 0x17151311 0x0f0d0b09  Qm (i32)0xfffffff6
 vshrn.i32 d10, q11, #5 :: Qd 0x013f013f 0x013f013f  Qm (i32)0x000027fa
-vshrn.i32 d10, q11, #5 :: Qd 0x61597971 0xe8c8e0f8  Qm (i32)0x000027fa
+vshrn.i32 d10, q11, #5 :: Qd 0xb0a89088 0x70685048  Qm (i32)0x000027fa
 vshrn.i64 d12, q13, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vshrn.i64 d12, q13, #1 :: Qd 0x91979717 0x8a0e0f8e  Qm (i32)0xffffffff
+vshrn.i64 d12, q13, #1 :: Qd 0x09890888 0x05850484  Qm (i32)0xffffffff
 vshrn.i16 d14, q15, #6 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vshrn.i16 d14, q15, #6 :: Qd 0x90ac8cb8 0x5464507c  Qm (i32)0xffffffff
+vshrn.i16 d14, q15, #6 :: Qd 0x5c544c44 0x3c342c24  Qm (i32)0xffffffff
 vshrn.i32 d10, q11, #9 :: Qd 0x00010001 0x00010001  Qm (i32)0x000003e8
-vshrn.i32 d10, q11, #9 :: Qd 0x16159797 0x8e8c0e0f  Qm (i32)0x000003e8
+vshrn.i32 d10, q11, #9 :: Qd 0x8b0a8908 0x87068504  Qm (i32)0x000003e8
 vshrn.i64 d7, q13, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vshrn.i64 d7, q13, #7 :: Qd 0x56465e5c 0x3a28383e  Qm (i32)0xffffffff
+vshrn.i64 d7, q13, #7 :: Qd 0x28262422 0x18161412  Qm (i32)0xffffffff
 vshrn.i16 d8, q1, #1 :: Qd 0x00e700e7 0x00e700e7  Qm (i32)0x0000abcf
-vshrn.i16 d8, q1, #1 :: Qd 0x16959717 0x8e8e0e8e  Qm (i32)0x0000abcf
+vshrn.i16 d8, q1, #1 :: Qd 0x8b8a8988 0x87868584  Qm (i32)0x0000abcf
 vshrn.i32 d12, q3, #15 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffe50
-vshrn.i32 d12, q3, #15 :: Qd 0x4858465e 0x2a3a2838  Qm (i32)0xfffffe50
+vshrn.i32 d12, q3, #15 :: Qd 0x2e2c2624 0x1e1c1614  Qm (i32)0xfffffe50
 vshrn.i64 d0, q1, #22 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vshrn.i64 d0, q1, #22 :: Qd 0xb0acac8c 0x74647450  Qm (i32)0xffffffff
+vshrn.i64 d0, q1, #22 :: Qd 0x5854504c 0x3834302c  Qm (i32)0xffffffff
 vshrn.i64 d6, q7, #12 :: Qd 0xfac00000 0xfac00000  Qm (i32)0x00000fac
-vshrn.i64 d6, q7, #12 :: Qd 0xb2b232f2 0x91d141c1  Qm (i32)0x00000fac
+vshrn.i64 d6, q7, #12 :: Qd 0x51413121 0xd0c0b0a0  Qm (i32)0x00000fac
 vshrn.i64 d8, q4, #9 :: Qd 0x7c00001a 0x7c00001a  Qm (i32)0x000034f8
-vshrn.i64 d8, q4, #9 :: Qd 0x95919797 0x8e8a0e0f  Qm (i32)0x000034f8
+vshrn.i64 d8, q4, #9 :: Qd 0x8a098908 0x86058504  Qm (i32)0x000034f8
 vshrn.i64 d9, q12, #11 :: Qd 0x32c00030 0x32c00030  Qm (i32)0x00018196
-vshrn.i64 d9, q12, #11 :: Qd 0x656465e5 0x23a28383  Qm (i32)0x00018196
+vshrn.i64 d9, q12, #11 :: Qd 0xa2826242 0xa1816141  Qm (i32)0x00018196
 ---- VDUP ----
 vdup.8 d12, d2[0] :: Qd 0x57575757 0x57575757  Qm (i32)0x0abc4657
-vdup.8 d12, d2[0] :: Qd 0x1c1c1c1c 0x1c1c1c1c  Qm (i32)0x0abc4657
+vdup.8 d12, d2[0] :: Qd 0x08080808 0x08080808  Qm (i32)0x0abc4657
 vdup.8 d0, d3[2] :: Qd 0x07070707 0x07070707  Qm (i32)0x0007a1b3
-vdup.8 d0, d3[2] :: Qd 0x1c1c1c1c 0x1c1c1c1c  Qm (i32)0x0007a1b3
+vdup.8 d0, d3[2] :: Qd 0x0a0a0a0a 0x0a0a0a0a  Qm (i32)0x0007a1b3
 vdup.8 d1, d0[7] :: Qd 0x00000000 0x00000000  Qm (i32)0x00713aaa
-vdup.8 d1, d0[7] :: Qd 0x15151515 0x15151515  Qm (i32)0x00713aaa
+vdup.8 d1, d0[7] :: Qd 0x0f0f0f0f 0x0f0f0f0f  Qm (i32)0x00713aaa
 vdup.8 d10, d4[3] :: Qd 0x00000000 0x00000000  Qm (i32)0x000aa713
-vdup.8 d10, d4[3] :: Qd 0x14141414 0x14141414  Qm (i32)0x000aa713
+vdup.8 d10, d4[3] :: Qd 0x0b0b0b0b 0x0b0b0b0b  Qm (i32)0x000aa713
 vdup.8 d4, d28[4] :: Qd 0xc3c3c3c3 0xc3c3c3c3  Qm (i32)0x0007b1c3
-vdup.8 d4, d28[4] :: Qd 0x1d1d1d1d 0x1d1d1d1d  Qm (i32)0x0007b1c3
+vdup.8 d4, d28[4] :: Qd 0x0c0c0c0c 0x0c0c0c0c  Qm (i32)0x0007b1c3
 vdup.16 d17, d19[1] :: Qd 0x07130713 0x07130713  Qm (i32)0x0713ffff
-vdup.16 d17, d19[1] :: Qd 0x141c141c 0x141c141c  Qm (i32)0x0713ffff
+vdup.16 d17, d19[1] :: Qd 0x0b0a0b0a 0x0b0a0b0a  Qm (i32)0x0713ffff
 vdup.16 d15, d31[2] :: Qd 0x00fa00fa 0x00fa00fa  Qm (i32)0x007f00fa
-vdup.16 d15, d31[2] :: Qd 0x191d191d 0x191d191d  Qm (i32)0x007f00fa
+vdup.16 d15, d31[2] :: Qd 0x0d0c0d0c 0x0d0c0d0c  Qm (i32)0x007f00fa
 vdup.16 d6, d2[0] :: Qd 0xbcdebcde 0xbcdebcde  Qm (i32)0x0ffabcde
-vdup.16 d6, d2[0] :: Qd 0x1f1c1f1c 0x1f1c1f1c  Qm (i32)0x0ffabcde
+vdup.16 d6, d2[0] :: Qd 0x09080908 0x09080908  Qm (i32)0x0ffabcde
 vdup.16 d8, d22[3] :: Qd 0x00000000 0x00000000  Qm (i32)0x00000713
-vdup.16 d8, d22[3] :: Qd 0x151d151d 0x151d151d  Qm (i32)0x00000713
+vdup.16 d8, d22[3] :: Qd 0x0f0e0f0e 0x0f0e0f0e  Qm (i32)0x00000713
 vdup.16 d9, d2[0] :: Qd 0x07130713 0x07130713  Qm (i32)0x00000713
-vdup.16 d9, d2[0] :: Qd 0x1f1c1f1c 0x1f1c1f1c  Qm (i32)0x00000713
+vdup.16 d9, d2[0] :: Qd 0x09080908 0x09080908  Qm (i32)0x00000713
 vdup.32 d10, d17[1] :: Qd 0x00000713 0x00000713  Qm (i32)0x00000713
-vdup.32 d10, d17[1] :: Qd 0x151d191d 0x151d191d  Qm (i32)0x00000713
+vdup.32 d10, d17[1] :: Qd 0x0f0e0d0c 0x0f0e0d0c  Qm (i32)0x00000713
 vdup.32 d15, d11[0] :: Qd 0x00000003 0x00000003  Qm (i32)0x00000003
-vdup.32 d15, d11[0] :: Qd 0x141c1f1c 0x141c1f1c  Qm (i32)0x00000003
+vdup.32 d15, d11[0] :: Qd 0x0b0a0908 0x0b0a0908  Qm (i32)0x00000003
 vdup.32 d30, d29[1] :: Qd 0xf00000aa 0xf00000aa  Qm (i32)0xf00000aa
-vdup.32 d30, d29[1] :: Qd 0x151d191d 0x151d191d  Qm (i32)0xf00000aa
+vdup.32 d30, d29[1] :: Qd 0x0f0e0d0c 0x0f0e0d0c  Qm (i32)0xf00000aa
 vdup.32 d22, d0[1] :: Qd 0x0000000f 0x0000000f  Qm (i32)0x0000000f
-vdup.32 d22, d0[1] :: Qd 0x151d191d 0x151d191d  Qm (i32)0x0000000f
+vdup.32 d22, d0[1] :: Qd 0x0f0e0d0c 0x0f0e0d0c  Qm (i32)0x0000000f
 vdup.32 d13, d13[0] :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vdup.32 d13, d13[0] :: Qd 0x141c1f1c 0x141c1f1c  Qm (i32)0xffffffff
+vdup.32 d13, d13[0] :: Qd 0x0b0a0908 0x0b0a0908  Qm (i32)0xffffffff
 ---- VQDMULH ----
 vqdmulh.s32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqdmulh.s32 d0, d1, d2 :: Qd 0x00000011 0x00000010  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqdmulh.s32 d0, d1, d2 :: Qd 0x00000006 0x00000002  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqdmulh.s32 d6, d7, d8 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
-vqdmulh.s32 d6, d7, d8 :: Qd 0xffffffee 0xffffffef  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
+vqdmulh.s32 d6, d7, d8 :: Qd 0xfffffff9 0xfffffffd  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
 vqdmulh.s16 d9, d11, d12 :: Qd 0x00000002 0x00000002  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
-vqdmulh.s16 d9, d11, d12 :: Qd 0x0000003a 0x00000043  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
+vqdmulh.s16 d9, d11, d12 :: Qd 0x0000000b 0x00000002  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
 vqdmulh.s16 d4, d5, d6 :: Qd 0x00001001 0x00001001  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
-vqdmulh.s16 d4, d5, d6 :: Qd 0x00000687 0x00000788  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
+vqdmulh.s16 d4, d5, d6 :: Qd 0x00000141 0x00000040  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
 vqdmulh.s32 d7, d8, d9 :: Qd 0x7ffffffd 0x7ffffffd  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
-vqdmulh.s32 d7, d8, d9 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqdmulh.s32 d7, d8, d9 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqdmulh.s16 d4, d5, d6 :: Qd 0x0000e50b 0x0000e50b  Qm (i32)0xffff9433  Qn (i32)0x00002002  fpscr: 00000000
-vqdmulh.s16 d4, d5, d6 :: Qd 0x00000687 0x00000788  Qm (i32)0xffff9433  Qn (i32)0x00002002  fpscr: 00000000
+vqdmulh.s16 d4, d5, d6 :: Qd 0x00000141 0x00000040  Qm (i32)0xffff9433  Qn (i32)0x00002002  fpscr: 00000000
 vqdmulh.s32 d7, d8, d9 :: Qd 0xfffffff4 0xfffffff4  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
-vqdmulh.s32 d7, d8, d9 :: Qd 0x00000001 0x00000001  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
+vqdmulh.s32 d7, d8, d9 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
 vqdmulh.s16 d4, d5, d6 :: Qd 0x0000003f 0x0000003f  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
-vqdmulh.s16 d4, d5, d6 :: Qd 0x00000687 0x00000788  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
+vqdmulh.s16 d4, d5, d6 :: Qd 0x00000141 0x00000040  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
 vqdmulh.s32 d7, d8, d9 :: Qd 0x7ffffffd 0x7ffffffd  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
-vqdmulh.s32 d7, d8, d9 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqdmulh.s32 d7, d8, d9 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqdmulh.s32 d10, d11, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqdmulh.s32 d10, d11, d15 :: Qd 0x00000011 0x00000010  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqdmulh.s32 d10, d11, d15 :: Qd 0x00000006 0x00000002  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqdmulh.s32 d10, d30, d31 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 08000000
-vqdmulh.s32 d10, d30, d31 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
+vqdmulh.s32 d10, d30, d31 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
 vqdmulh.s16 d10, d30, d31 :: Qd 0x7fff0000 0x7fff0000  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 08000000
-vqdmulh.s16 d10, d30, d31 :: Qd 0xece50000 0xede10000  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
+vqdmulh.s16 d10, d30, d31 :: Qd 0xf8fa0000 0xfcfe0000  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
 vqdmulh.s32 d10, d30, d31 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
-vqdmulh.s32 d10, d30, d31 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
+vqdmulh.s32 d10, d30, d31 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
 vqdmulh.s16 d10, d30, d31 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
-vqdmulh.s16 d10, d30, d31 :: Qd 0x098d0000 0x090f0000  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
+vqdmulh.s16 d10, d30, d31 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
 ---- VQDMULH (by scalar) ----
 vqdmulh.s32 d0, d1, d6[0] :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqdmulh.s32 d0, d1, d6[0] :: Qd 0x00000011 0x00000010  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqdmulh.s32 d0, d1, d6[0] :: Qd 0x00000006 0x00000002  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqdmulh.s32 d6, d7, d1[1] :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
-vqdmulh.s32 d6, d7, d1[1] :: Qd 0xffffffee 0xffffffef  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
+vqdmulh.s32 d6, d7, d1[1] :: Qd 0xfffffff9 0xfffffffd  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
 vqdmulh.s16 d9, d11, d7[0] :: Qd 0x00000002 0x00000002  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
-vqdmulh.s16 d9, d11, d7[0] :: Qd 0x002a003a 0x00280043  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
+vqdmulh.s16 d9, d11, d7[0] :: Qd 0x000f000b 0x00060002  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
 vqdmulh.s16 d4, d5, d6[0] :: Qd 0x00001001 0x00001001  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
-vqdmulh.s16 d4, d5, d6[0] :: Qd 0x04c70687 0x04880788  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
+vqdmulh.s16 d4, d5, d6[0] :: Qd 0x01c10141 0x00c00040  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
 vqdmulh.s32 d7, d8, d9[1] :: Qd 0x7ffffffd 0x7ffffffd  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
-vqdmulh.s32 d7, d8, d9[1] :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqdmulh.s32 d7, d8, d9[1] :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqdmulh.s16 d4, d5, d6[1] :: Qd 0xffffe50b 0xffffe50b  Qm (i32)0xffff9433  Qn (i16)0x00002002  fpscr: 00000000
-vqdmulh.s16 d4, d5, d6[1] :: Qd 0x04c70687 0x04880788  Qm (i32)0xffff9433  Qn (i16)0x00002002  fpscr: 00000000
+vqdmulh.s16 d4, d5, d6[1] :: Qd 0x01c10141 0x00c00040  Qm (i32)0xffff9433  Qn (i16)0x00002002  fpscr: 00000000
 vqdmulh.s32 d7, d8, d9[0] :: Qd 0xfffffff4 0xfffffff4  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
-vqdmulh.s32 d7, d8, d9[0] :: Qd 0x00000001 0x00000001  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
+vqdmulh.s32 d7, d8, d9[0] :: Qd 0x00000000 0x00000000  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
 vqdmulh.s16 d4, d5, d6[2] :: Qd 0x0400003f 0x0400003f  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
-vqdmulh.s16 d4, d5, d6[2] :: Qd 0x04c70687 0x04880788  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
+vqdmulh.s16 d4, d5, d6[2] :: Qd 0x01c10141 0x00c00040  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
 vqdmulh.s32 d7, d8, d9[0] :: Qd 0x7ffffffd 0x7ffffffd  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
-vqdmulh.s32 d7, d8, d9[0] :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqdmulh.s32 d7, d8, d9[0] :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqdmulh.s32 d10, d31, d15[0] :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqdmulh.s32 d10, d31, d15[0] :: Qd 0x00000011 0x00000010  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqdmulh.s32 d10, d31, d15[0] :: Qd 0x00000006 0x00000002  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqdmulh.s32 d10, d14, d15[1] :: Qd 0xffffff88 0xffffff88  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
-vqdmulh.s32 d10, d14, d15[1] :: Qd 0x00000011 0x00000010  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
+vqdmulh.s32 d10, d14, d15[1] :: Qd 0x00000006 0x00000002  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
 vqdmulh.s16 d10, d14, d7[3] :: Qd 0x7fff0000 0x7fff0000  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 08000000
-vqdmulh.s16 d10, d14, d7[3] :: Qd 0xece5e5e5 0xede1e1e1  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
+vqdmulh.s16 d10, d14, d7[3] :: Qd 0xf8fafafc 0xfcfeff00  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
 vqdmulh.s32 d10, d14, d15[1] :: Qd 0xc0000000 0xc0000000  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
-vqdmulh.s32 d10, d14, d15[1] :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
+vqdmulh.s32 d10, d14, d15[1] :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
 vqdmulh.s16 d31, d14, d7[1] :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
-vqdmulh.s16 d31, d14, d7[1] :: Qd 0x098d0d0d 0x090f0f0f  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
+vqdmulh.s16 d31, d14, d7[1] :: Qd 0x03830282 0x01810080  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
 ---- VSHRN ----
 vshrn.i64 d2, q2, #1 :: Qd 0x855e232b 0x855e232b  Qm (i32)0x0abc4657
-vshrn.i64 d2, q2, #1 :: Qd 0x91979717 0x8a0e0f8e  Qm (i32)0x0abc4657
+vshrn.i64 d2, q2, #1 :: Qd 0x09890888 0x05850484  Qm (i32)0x0abc4657
 vshrn.i64 d3, q3, #0 :: Qd 0x0007a1b3 0x0007a1b3  Qm (i32)0x0007a1b3
-vshrn.i64 d3, q3, #0 :: Qd 0x232f2e2f 0x141c1f1c  Qm (i32)0x0007a1b3
+vshrn.i64 d3, q3, #0 :: Qd 0x13121110 0x0b0a0908  Qm (i32)0x0007a1b3
 vshrn.i64 d1, q0, #3 :: Qd 0x400e2755 0x400e2755  Qm (i32)0x00713aaa
-vshrn.i64 d1, q0, #3 :: Qd 0x6465e5c5 0xa28383e3  Qm (i32)0x00713aaa
+vshrn.i64 d1, q0, #3 :: Qd 0x82624222 0x81614121  Qm (i32)0x00713aaa
 vshrn.i64 d0, q4, #5 :: Qd 0x98005538 0x98005538  Qm (i32)0x000aa713
-vshrn.i64 d0, q4, #5 :: Qd 0x59197971 0xe8a0e0f8  Qm (i32)0x000aa713
+vshrn.i64 d0, q4, #5 :: Qd 0xa0989088 0x60585048  Qm (i32)0x000aa713
 vshrn.i64 d4, q8, #11 :: Qd 0x386000f6 0x386000f6  Qm (i32)0x0007b1c3
-vshrn.i64 d4, q8, #11 :: Qd 0x656465e5 0x23a28383  Qm (i32)0x0007b1c3
+vshrn.i64 d4, q8, #11 :: Qd 0xa2826242 0xa1816141  Qm (i32)0x0007b1c3
 vshrn.i16 d7, q12, #6 :: Qd 0x1cff1cff 0x1cff1cff  Qm (i32)0x0713ffff
-vshrn.i16 d7, q12, #6 :: Qd 0x90ac8cb8 0x5464507c  Qm (i32)0x0713ffff
+vshrn.i16 d7, q12, #6 :: Qd 0x5c544c44 0x3c342c24  Qm (i32)0x0713ffff
 vshrn.i16 d15, q11, #2 :: Qd 0x1f3e1f3e 0x1f3e1f3e  Qm (i32)0x007f00fa
-vshrn.i16 d15, q11, #2 :: Qd 0x0bcacb8b 0x474707c7  Qm (i32)0x007f00fa
+vshrn.i16 d15, q11, #2 :: Qd 0xc545c444 0xc343c242  Qm (i32)0x007f00fa
 vshrn.i16 d6, q2, #4 :: Qd 0x00ab00ab 0x00ab00ab  Qm (i32)0x000ffabc
-vshrn.i16 d6, q2, #4 :: Qd 0x42b232e2 0x519141f1  Qm (i32)0x000ffabc
+vshrn.i16 d6, q2, #4 :: Qd 0x71513111 0xf0d0b090  Qm (i32)0x000ffabc
 vshrn.i16 d8, q12, #3 :: Qd 0x00e200e2 0x00e200e2  Qm (i32)0x00000713
-vshrn.i16 d8, q12, #3 :: Qd 0x856565c5 0xa32383e3  Qm (i32)0x00000713
+vshrn.i16 d8, q12, #3 :: Qd 0xe2a26222 0xe1a16121  Qm (i32)0x00000713
 vshrn.i16 d9, q2, #7 :: Qd 0x000e000e 0x000e000e  Qm (i32)0x00000713
-vshrn.i16 d9, q2, #7 :: Qd 0x4856465c 0x2a32283e  Qm (i32)0x00000713
+vshrn.i16 d9, q2, #7 :: Qd 0x2e2a2622 0x1e1a1612  Qm (i32)0x00000713
 vshrn.i32 d10, q13, #2 :: Qd 0x01c401c4 0x01c401c4  Qm (i32)0x00000713
-vshrn.i32 d10, q13, #2 :: Qd 0x0acacb8b 0x464707c7  Qm (i32)0x00000713
+vshrn.i32 d10, q13, #2 :: Qd 0x85458444 0x83438242  Qm (i32)0x00000713
 vshrn.i32 d15, q11, #1 :: Qd 0x00010001 0x00010001  Qm (i32)0x00000003
-vshrn.i32 d15, q11, #1 :: Qd 0x15959717 0x8c8e0f8e  Qm (i32)0x00000003
+vshrn.i32 d15, q11, #1 :: Qd 0x0a8a0888 0x06860484  Qm (i32)0x00000003
 vshrn.i32 d10, q9, #5 :: Qd 0x00050005 0x00050005  Qm (i32)0xf00000aa
-vshrn.i32 d10, q9, #5 :: Qd 0x61597971 0xe8c8e0f8  Qm (i32)0xf00000aa
+vshrn.i32 d10, q9, #5 :: Qd 0xb0a89088 0x70685048  Qm (i32)0xf00000aa
 vshrn.i32 d12, q0, #6 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000000f
-vshrn.i32 d12, q0, #6 :: Qd 0xb0acbcb8 0x7464707c  Qm (i32)0x0000000f
+vshrn.i32 d12, q0, #6 :: Qd 0x58544844 0x38342824  Qm (i32)0x0000000f
 vshrn.i32 d13, q13, #2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff
-vshrn.i32 d13, q13, #2 :: Qd 0x0acacb8b 0x464707c7  Qm (i32)0xffffffff
+vshrn.i32 d13, q13, #2 :: Qd 0x85458444 0x83438242  Qm (i32)0xffffffff
 ---- VQSHRN ----
 vqshrn.s16 d0, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 00000000
 vqshrn.s16 d0, q1, #1 :: Qd 0x7f7f7f7f 0x7f7f7f7f  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.s16 d3, q4, #2 :: Qd 0xffe1ffe1 0xffe1ffe1  Qm (i32)0xffffff84  fpscr 00000000
-vqshrn.s16 d3, q4, #2 :: Qd 0x7f7f7f7f 0x7f7f7f7f  Qm (i32)0xffffff84  fpscr 08000000
+vqshrn.s16 d3, q4, #2 :: Qd 0x7f7f7f7f 0x7f7f7f40  Qm (i32)0xffffff84  fpscr 08000000
 vqshrn.s32 d2, q5, #10 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 00000000
 vqshrn.s32 d2, q5, #10 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.s32 d2, q5, #1 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x7fffffff  fpscr 08000000
@@ -3572,13 +3572,13 @@
 vqshrn.s64 d6, q7, #7 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqshrn.s64 d6, q7, #7 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqshrn.s16 d8, q9, #8 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffff6  fpscr 00000000
-vqshrn.s16 d8, q9, #8 :: Qd 0x1519141f 0x131a121e  Qm (i32)0xfffffff6  fpscr 00000000
+vqshrn.s16 d8, q9, #8 :: Qd 0x0f0d0b09 0x07050301  Qm (i32)0xfffffff6  fpscr 00000000
 vqshrn.s32 d10, q11, #5 :: Qd 0x013f013f 0x013f013f  Qm (i32)0x000027fa  fpscr 00000000
 vqshrn.s32 d10, q11, #5 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x000027fa  fpscr 08000000
 vqshrn.s64 d12, q13, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 00000000
 vqshrn.s64 d12, q13, #1 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.s16 d14, q15, #6 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 00000000
-vqshrn.s16 d14, q15, #6 :: Qd 0x5464507c 0x4c684878  Qm (i32)0xffffffff  fpscr 00000000
+vqshrn.s16 d14, q15, #6 :: Qd 0x3c342c24 0x1c140c04  Qm (i32)0xffffffff  fpscr 00000000
 vqshrn.s32 d10, q11, #9 :: Qd 0x00010001 0x00010001  Qm (i32)0x000003e8  fpscr 00000000
 vqshrn.s32 d10, q11, #9 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x000003e8  fpscr 08000000
 vqshrn.s64 d7, q13, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 00000000
@@ -3588,7 +3588,7 @@
 vqshrn.s32 d8, q1, #1 :: Qd 0x55e755e7 0x55e755e7  Qm (i32)0x0000abcf  fpscr 00000000
 vqshrn.s32 d8, q1, #1 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x0000abcf  fpscr 08000000
 vqshrn.s32 d12, q3, #15 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffe50  fpscr 00000000
-vqshrn.s32 d12, q3, #15 :: Qd 0x2a3a2838 0x2636243e  Qm (i32)0xfffffe50  fpscr 00000000
+vqshrn.s32 d12, q3, #15 :: Qd 0x1e1c1614 0x0e0c0604  Qm (i32)0xfffffe50  fpscr 00000000
 vqshrn.s64 d0, q1, #22 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 00000000
 vqshrn.s64 d0, q1, #22 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.s64 d6, q7, #12 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x00000fac  fpscr 08000000
@@ -3598,35 +3598,35 @@
 vqshrn.s64 d9, q12, #11 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x00018196  fpscr 08000000
 vqshrn.s64 d9, q12, #11 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x00018196  fpscr 08000000
 vqshrn.u16 d0, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
-vqshrn.u16 d0, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqshrn.u16 d0, q1, #1 :: Qd 0xffffffff 0xffffff80  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.u16 d3, q4, #2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff84  fpscr 08000000
-vqshrn.u16 d3, q4, #2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff84  fpscr 08000000
+vqshrn.u16 d3, q4, #2 :: Qd 0xffffffff 0xffffc040  Qm (i32)0xffffff84  fpscr 08000000
 vqshrn.u32 d2, q5, #10 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
-vqshrn.u32 d2, q5, #10 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqshrn.u32 d2, q5, #10 :: Qd 0xffffffff 0xffffc080  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.u32 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x7fffffff  fpscr 08000000
 vqshrn.u32 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x7fffffff  fpscr 08000000
 vqshrn.u16 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i16)0x00007fff  fpscr 08000000
-vqshrn.u16 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i16)0x00007fff  fpscr 08000000
+vqshrn.u16 d2, q5, #1 :: Qd 0xffffffff 0xffffff80  Qm (i16)0x00007fff  fpscr 08000000
 vqshrn.u64 d6, q7, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqshrn.u64 d6, q7, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqshrn.u16 d8, q9, #8 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffff6  fpscr 00000000
-vqshrn.u16 d8, q9, #8 :: Qd 0x1519141f 0x131a121e  Qm (i32)0xfffffff6  fpscr 00000000
+vqshrn.u16 d8, q9, #8 :: Qd 0x0f0d0b09 0x07050301  Qm (i32)0xfffffff6  fpscr 00000000
 vqshrn.u32 d10, q11, #5 :: Qd 0x013f013f 0x013f013f  Qm (i32)0x000027fa  fpscr 00000000
 vqshrn.u32 d10, q11, #5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x000027fa  fpscr 08000000
 vqshrn.u64 d12, q13, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.u64 d12, q13, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.u16 d14, q15, #6 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
-vqshrn.u16 d14, q15, #6 :: Qd 0x5464507c 0x4c684878  Qm (i32)0xffffffff  fpscr 00000000
+vqshrn.u16 d14, q15, #6 :: Qd 0x3c342c24 0x1c140c04  Qm (i32)0xffffffff  fpscr 00000000
 vqshrn.u32 d10, q11, #9 :: Qd 0x00010001 0x00010001  Qm (i32)0x000003e8  fpscr 00000000
 vqshrn.u32 d10, q11, #9 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x000003e8  fpscr 08000000
 vqshrn.u64 d7, q13, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.u64 d7, q13, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.u16 d8, q1, #1 :: Qd 0x00ff00ff 0x00ff00ff  Qm (i32)0x0000abcf  fpscr 08000000
-vqshrn.u16 d8, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000abcf  fpscr 08000000
+vqshrn.u16 d8, q1, #1 :: Qd 0xffffffff 0xffffff80  Qm (i32)0x0000abcf  fpscr 08000000
 vqshrn.u32 d8, q1, #1 :: Qd 0x55e755e7 0x55e755e7  Qm (i32)0x0000abcf  fpscr 00000000
 vqshrn.u32 d8, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000abcf  fpscr 08000000
 vqshrn.u32 d12, q3, #15 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffe50  fpscr 08000000
-vqshrn.u32 d12, q3, #15 :: Qd 0x2a3a2838 0x2636243e  Qm (i32)0xfffffe50  fpscr 00000000
+vqshrn.u32 d12, q3, #15 :: Qd 0x1e1c1614 0x0e0c0604  Qm (i32)0xfffffe50  fpscr 00000000
 vqshrn.u64 d0, q1, #22 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.u64 d0, q1, #22 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrn.u64 d6, q7, #12 :: Qd 0xfac00000 0xfac00000  Qm (i32)0x00000fac  fpscr 00000000
@@ -3637,35 +3637,35 @@
 vqshrn.u64 d9, q12, #11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00018196  fpscr 08000000
 ---- VQSHRUN ----
 vqshrun.s16 d0, q1, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 08000000
-vqshrun.s16 d0, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqshrun.s16 d0, q1, #1 :: Qd 0xffffffff 0xffffff80  Qm (i32)0xffffffff  fpscr 08000000
 vqshrun.s16 d3, q4, #2 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff84  fpscr 08000000
-vqshrun.s16 d3, q4, #2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff84  fpscr 08000000
+vqshrun.s16 d3, q4, #2 :: Qd 0xffffffff 0xffffc040  Qm (i32)0xffffff84  fpscr 08000000
 vqshrun.s32 d2, q5, #10 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 08000000
-vqshrun.s32 d2, q5, #10 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqshrun.s32 d2, q5, #10 :: Qd 0xffffffff 0xffffc080  Qm (i32)0xffffffff  fpscr 08000000
 vqshrun.s32 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x7fffffff  fpscr 08000000
 vqshrun.s32 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x7fffffff  fpscr 08000000
 vqshrun.s16 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i16)0x00007fff  fpscr 08000000
-vqshrun.s16 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i16)0x00007fff  fpscr 08000000
+vqshrun.s16 d2, q5, #1 :: Qd 0xffffffff 0xffffff80  Qm (i16)0x00007fff  fpscr 08000000
 vqshrun.s64 d6, q7, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqshrun.s64 d6, q7, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqshrun.s16 d8, q9, #8 :: Qd 0x00000000 0x00000000  Qm (i32)0xfffffff6  fpscr 08000000
-vqshrun.s16 d8, q9, #8 :: Qd 0x1519141f 0x131a121e  Qm (i32)0xfffffff6  fpscr 00000000
+vqshrun.s16 d8, q9, #8 :: Qd 0x0f0d0b09 0x07050301  Qm (i32)0xfffffff6  fpscr 00000000
 vqshrun.s32 d10, q11, #5 :: Qd 0x013f013f 0x013f013f  Qm (i32)0x000027fa  fpscr 00000000
 vqshrun.s32 d10, q11, #5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x000027fa  fpscr 08000000
 vqshrun.s64 d12, q13, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 08000000
 vqshrun.s64 d12, q13, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrun.s16 d14, q15, #6 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 08000000
-vqshrun.s16 d14, q15, #6 :: Qd 0x5464507c 0x4c684878  Qm (i32)0xffffffff  fpscr 00000000
+vqshrun.s16 d14, q15, #6 :: Qd 0x3c342c24 0x1c140c04  Qm (i32)0xffffffff  fpscr 00000000
 vqshrun.s32 d10, q11, #9 :: Qd 0x00010001 0x00010001  Qm (i32)0x000003e8  fpscr 00000000
 vqshrun.s32 d10, q11, #9 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x000003e8  fpscr 08000000
 vqshrun.s64 d7, q13, #7 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 08000000
 vqshrun.s64 d7, q13, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrun.s16 d8, q1, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000abcf  fpscr 08000000
-vqshrun.s16 d8, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000abcf  fpscr 08000000
+vqshrun.s16 d8, q1, #1 :: Qd 0xffffffff 0xffffff80  Qm (i32)0x0000abcf  fpscr 08000000
 vqshrun.s32 d8, q1, #1 :: Qd 0x55e755e7 0x55e755e7  Qm (i32)0x0000abcf  fpscr 00000000
 vqshrun.s32 d8, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000abcf  fpscr 08000000
 vqshrun.s32 d12, q3, #15 :: Qd 0x00000000 0x00000000  Qm (i32)0xfffffe50  fpscr 08000000
-vqshrun.s32 d12, q3, #15 :: Qd 0x2a3a2838 0x2636243e  Qm (i32)0xfffffe50  fpscr 00000000
+vqshrun.s32 d12, q3, #15 :: Qd 0x1e1c1614 0x0e0c0604  Qm (i32)0xfffffe50  fpscr 00000000
 vqshrun.s64 d0, q1, #22 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 08000000
 vqshrun.s64 d0, q1, #22 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqshrun.s64 d6, q7, #12 :: Qd 0xfac00000 0xfac00000  Qm (i32)0x00000fac  fpscr 00000000
@@ -3678,7 +3678,7 @@
 vqrshrn.s16 d0, q1, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
 vqrshrn.s16 d0, q1, #1 :: Qd 0x7f7f7f7f 0x7f7f7f7f  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.s16 d3, q4, #2 :: Qd 0x00e100e1 0x00e100e1  Qm (i32)0xffffff84  fpscr 00000000
-vqrshrn.s16 d3, q4, #2 :: Qd 0x7f7f7f7f 0x7f7f7f7f  Qm (i32)0xffffff84  fpscr 08000000
+vqrshrn.s16 d3, q4, #2 :: Qd 0x7f7f7f7f 0x7f7f7f40  Qm (i32)0xffffff84  fpscr 08000000
 vqrshrn.s32 d2, q5, #10 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
 vqrshrn.s32 d2, q5, #10 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.s32 d2, q5, #1 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x7fffffff  fpscr 08000000
@@ -3688,13 +3688,13 @@
 vqrshrn.s64 d6, q7, #7 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqrshrn.s64 d6, q7, #7 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqrshrn.s16 d8, q9, #8 :: Qd 0x00000000 0x00000000  Qm (i32)0xfffffff6  fpscr 00000000
-vqrshrn.s16 d8, q9, #8 :: Qd 0x1519141f 0x131a121e  Qm (i32)0xfffffff6  fpscr 00000000
+vqrshrn.s16 d8, q9, #8 :: Qd 0x0f0d0b09 0x07050301  Qm (i32)0xfffffff6  fpscr 00000000
 vqrshrn.s32 d10, q11, #5 :: Qd 0x01400140 0x01400140  Qm (i32)0x000027fa  fpscr 00000000
 vqrshrn.s32 d10, q11, #5 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x000027fa  fpscr 08000000
 vqrshrn.s64 d12, q13, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
 vqrshrn.s64 d12, q13, #1 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.s16 d14, q15, #6 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
-vqrshrn.s16 d14, q15, #6 :: Qd 0x5464507c 0x4c684878  Qm (i32)0xffffffff  fpscr 00000000
+vqrshrn.s16 d14, q15, #6 :: Qd 0x3c342c24 0x1c140c04  Qm (i32)0xffffffff  fpscr 00000000
 vqrshrn.s32 d10, q11, #9 :: Qd 0x00020002 0x00020002  Qm (i32)0x000003e8  fpscr 00000000
 vqrshrn.s32 d10, q11, #9 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x000003e8  fpscr 08000000
 vqrshrn.s64 d7, q13, #7 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
@@ -3704,7 +3704,7 @@
 vqrshrn.s32 d8, q1, #1 :: Qd 0x55e855e8 0x55e855e8  Qm (i32)0x0000abcf  fpscr 00000000
 vqrshrn.s32 d8, q1, #1 :: Qd 0x7fff7fff 0x7fff7fff  Qm (i32)0x0000abcf  fpscr 08000000
 vqrshrn.s32 d12, q3, #15 :: Qd 0x00000000 0x00000000  Qm (i32)0xfffffe50  fpscr 00000000
-vqrshrn.s32 d12, q3, #15 :: Qd 0x2a3a2838 0x2636243e  Qm (i32)0xfffffe50  fpscr 00000000
+vqrshrn.s32 d12, q3, #15 :: Qd 0x1e1c1614 0x0e0c0604  Qm (i32)0xfffffe50  fpscr 00000000
 vqrshrn.s64 d0, q1, #22 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
 vqrshrn.s64 d0, q1, #22 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.s64 d6, q7, #12 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x00000fac  fpscr 08000000
@@ -3714,35 +3714,35 @@
 vqrshrn.s64 d9, q12, #11 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x00018196  fpscr 08000000
 vqrshrn.s64 d9, q12, #11 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x00018196  fpscr 08000000
 vqrshrn.u16 d0, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
-vqrshrn.u16 d0, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqrshrn.u16 d0, q1, #1 :: Qd 0xffffffff 0xffffff80  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.u16 d3, q4, #2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff84  fpscr 08000000
-vqrshrn.u16 d3, q4, #2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff84  fpscr 08000000
+vqrshrn.u16 d3, q4, #2 :: Qd 0xffffffff 0xffffc140  Qm (i32)0xffffff84  fpscr 08000000
 vqrshrn.u32 d2, q5, #10 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
-vqrshrn.u32 d2, q5, #10 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqrshrn.u32 d2, q5, #10 :: Qd 0xffffffff 0xffffc080  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.u32 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x7fffffff  fpscr 08000000
 vqrshrn.u32 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x7fffffff  fpscr 08000000
 vqrshrn.u16 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i16)0x00007fff  fpscr 08000000
-vqrshrn.u16 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i16)0x00007fff  fpscr 08000000
+vqrshrn.u16 d2, q5, #1 :: Qd 0xffffffff 0xffffff80  Qm (i16)0x00007fff  fpscr 08000000
 vqrshrn.u64 d6, q7, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqrshrn.u64 d6, q7, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqrshrn.u16 d8, q9, #8 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffff6  fpscr 08000000
-vqrshrn.u16 d8, q9, #8 :: Qd 0x1519141f 0x131a121e  Qm (i32)0xfffffff6  fpscr 00000000
+vqrshrn.u16 d8, q9, #8 :: Qd 0x0f0d0b09 0x07050301  Qm (i32)0xfffffff6  fpscr 00000000
 vqrshrn.u32 d10, q11, #5 :: Qd 0x01400140 0x01400140  Qm (i32)0x000027fa  fpscr 00000000
 vqrshrn.u32 d10, q11, #5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x000027fa  fpscr 08000000
 vqrshrn.u64 d12, q13, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.u64 d12, q13, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.u16 d14, q15, #6 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
-vqrshrn.u16 d14, q15, #6 :: Qd 0x5464507c 0x4c684878  Qm (i32)0xffffffff  fpscr 00000000
+vqrshrn.u16 d14, q15, #6 :: Qd 0x3c342c24 0x1c140c04  Qm (i32)0xffffffff  fpscr 00000000
 vqrshrn.u32 d10, q11, #9 :: Qd 0x00020002 0x00020002  Qm (i32)0x000003e8  fpscr 00000000
 vqrshrn.u32 d10, q11, #9 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x000003e8  fpscr 08000000
 vqrshrn.u64 d7, q13, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.u64 d7, q13, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.u16 d8, q1, #1 :: Qd 0x00ff00ff 0x00ff00ff  Qm (i32)0x0000abcf  fpscr 08000000
-vqrshrn.u16 d8, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000abcf  fpscr 08000000
+vqrshrn.u16 d8, q1, #1 :: Qd 0xffffffff 0xffffff80  Qm (i32)0x0000abcf  fpscr 08000000
 vqrshrn.u32 d8, q1, #1 :: Qd 0x55e855e8 0x55e855e8  Qm (i32)0x0000abcf  fpscr 00000000
 vqrshrn.u32 d8, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000abcf  fpscr 08000000
 vqrshrn.u32 d12, q3, #15 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xfffffe50  fpscr 08000000
-vqrshrn.u32 d12, q3, #15 :: Qd 0x2a3a2838 0x2636243e  Qm (i32)0xfffffe50  fpscr 00000000
+vqrshrn.u32 d12, q3, #15 :: Qd 0x1e1c1614 0x0e0c0604  Qm (i32)0xfffffe50  fpscr 00000000
 vqrshrn.u64 d0, q1, #22 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.u64 d0, q1, #22 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrn.u64 d6, q7, #12 :: Qd 0xfac00001 0xfac00001  Qm (i32)0x00000fac  fpscr 00000000
@@ -3753,35 +3753,35 @@
 vqrshrn.u64 d9, q12, #11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00018196  fpscr 08000000
 ---- VQRSHRUN ----
 vqrshrun.s16 d0, q1, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
-vqrshrun.s16 d0, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqrshrun.s16 d0, q1, #1 :: Qd 0xffffffff 0xffffff80  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrun.s16 d3, q4, #2 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffff84  fpscr 08000000
-vqrshrun.s16 d3, q4, #2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffff84  fpscr 08000000
+vqrshrun.s16 d3, q4, #2 :: Qd 0xffffffff 0xffffc140  Qm (i32)0xffffff84  fpscr 08000000
 vqrshrun.s32 d2, q5, #10 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
-vqrshrun.s32 d2, q5, #10 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
+vqrshrun.s32 d2, q5, #10 :: Qd 0xffffffff 0xffffc080  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrun.s32 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x7fffffff  fpscr 08000000
 vqrshrun.s32 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x7fffffff  fpscr 08000000
 vqrshrun.s16 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i16)0x00007fff  fpscr 08000000
-vqrshrun.s16 d2, q5, #1 :: Qd 0xffffffff 0xffffffff  Qm (i16)0x00007fff  fpscr 08000000
+vqrshrun.s16 d2, q5, #1 :: Qd 0xffffffff 0xffffff80  Qm (i16)0x00007fff  fpscr 08000000
 vqrshrun.s64 d6, q7, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqrshrun.s64 d6, q7, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000ffff  fpscr 08000000
 vqrshrun.s16 d8, q9, #8 :: Qd 0x00000000 0x00000000  Qm (i32)0xfffffff6  fpscr 00000000
-vqrshrun.s16 d8, q9, #8 :: Qd 0x1519141f 0x131a121e  Qm (i32)0xfffffff6  fpscr 00000000
+vqrshrun.s16 d8, q9, #8 :: Qd 0x0f0d0b09 0x07050301  Qm (i32)0xfffffff6  fpscr 00000000
 vqrshrun.s32 d10, q11, #5 :: Qd 0x01400140 0x01400140  Qm (i32)0x000027fa  fpscr 00000000
 vqrshrun.s32 d10, q11, #5 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x000027fa  fpscr 08000000
 vqrshrun.s64 d12, q13, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
 vqrshrun.s64 d12, q13, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrun.s16 d14, q15, #6 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
-vqrshrun.s16 d14, q15, #6 :: Qd 0x5464507c 0x4c684878  Qm (i32)0xffffffff  fpscr 00000000
+vqrshrun.s16 d14, q15, #6 :: Qd 0x3c342c24 0x1c140c04  Qm (i32)0xffffffff  fpscr 00000000
 vqrshrun.s32 d10, q11, #9 :: Qd 0x00020002 0x00020002  Qm (i32)0x000003e8  fpscr 00000000
 vqrshrun.s32 d10, q11, #9 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x000003e8  fpscr 08000000
 vqrshrun.s64 d7, q13, #7 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
 vqrshrun.s64 d7, q13, #7 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrun.s16 d8, q1, #1 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000abcf  fpscr 08000000
-vqrshrun.s16 d8, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000abcf  fpscr 08000000
+vqrshrun.s16 d8, q1, #1 :: Qd 0xffffffff 0xffffff80  Qm (i32)0x0000abcf  fpscr 08000000
 vqrshrun.s32 d8, q1, #1 :: Qd 0x55e855e8 0x55e855e8  Qm (i32)0x0000abcf  fpscr 00000000
 vqrshrun.s32 d8, q1, #1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x0000abcf  fpscr 08000000
 vqrshrun.s32 d12, q3, #15 :: Qd 0x00000000 0x00000000  Qm (i32)0xfffffe50  fpscr 00000000
-vqrshrun.s32 d12, q3, #15 :: Qd 0x2a3a2838 0x2636243e  Qm (i32)0xfffffe50  fpscr 00000000
+vqrshrun.s32 d12, q3, #15 :: Qd 0x1e1c1614 0x0e0c0604  Qm (i32)0xfffffe50  fpscr 00000000
 vqrshrun.s64 d0, q1, #22 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff  fpscr 00000000
 vqrshrun.s64 d0, q1, #22 :: Qd 0xffffffff 0xffffffff  Qm (i32)0xffffffff  fpscr 08000000
 vqrshrun.s64 d6, q7, #12 :: Qd 0xfac00001 0xfac00001  Qm (i32)0x00000fac  fpscr 00000000
@@ -3792,141 +3792,141 @@
 vqrshrun.s64 d9, q12, #11 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x00018196  fpscr 08000000
 ---- VRSHRN ----
 vrshrn.i64 d2, q2, #1 :: Qd 0x855e232c 0x855e232c  Qm (i32)0x0abc4657
-vrshrn.i64 d2, q2, #1 :: Qd 0x91979718 0x8a0e0f8e  Qm (i32)0x0abc4657
+vrshrn.i64 d2, q2, #1 :: Qd 0x09890888 0x05850484  Qm (i32)0x0abc4657
 vrshrn.i64 d3, q3, #0 :: Qd 0x0007a1b3 0x0007a1b3  Qm (i32)0x0007a1b3
-vrshrn.i64 d3, q3, #0 :: Qd 0x232f2e2f 0x141c1f1c  Qm (i32)0x0007a1b3
+vrshrn.i64 d3, q3, #0 :: Qd 0x13121110 0x0b0a0908  Qm (i32)0x0007a1b3
 vrshrn.i64 d1, q0, #3 :: Qd 0x400e2755 0x400e2755  Qm (i32)0x00713aaa
-vrshrn.i64 d1, q0, #3 :: Qd 0x6465e5c6 0xa28383e4  Qm (i32)0x00713aaa
+vrshrn.i64 d1, q0, #3 :: Qd 0x82624222 0x81614121  Qm (i32)0x00713aaa
 vrshrn.i64 d0, q4, #5 :: Qd 0x98005539 0x98005539  Qm (i32)0x000aa713
-vrshrn.i64 d0, q4, #5 :: Qd 0x59197971 0xe8a0e0f9  Qm (i32)0x000aa713
+vrshrn.i64 d0, q4, #5 :: Qd 0xa0989089 0x60585048  Qm (i32)0x000aa713
 vrshrn.i64 d4, q8, #11 :: Qd 0x386000f6 0x386000f6  Qm (i32)0x0007b1c3
-vrshrn.i64 d4, q8, #11 :: Qd 0x656465e6 0x23a28384  Qm (i32)0x0007b1c3
+vrshrn.i64 d4, q8, #11 :: Qd 0xa2826242 0xa1816141  Qm (i32)0x0007b1c3
 vrshrn.i16 d7, q12, #6 :: Qd 0x1c001c00 0x1c001c00  Qm (i32)0x0713ffff
-vrshrn.i16 d7, q12, #6 :: Qd 0x91ad8db9 0x5464507c  Qm (i32)0x0713ffff
+vrshrn.i16 d7, q12, #6 :: Qd 0x5c544c44 0x3c342c24  Qm (i32)0x0713ffff
 vrshrn.i16 d15, q11, #2 :: Qd 0x203f203f 0x203f203f  Qm (i32)0x007f00fa
-vrshrn.i16 d15, q11, #2 :: Qd 0x0bcbcc8c 0x474707c7  Qm (i32)0x007f00fa
+vrshrn.i16 d15, q11, #2 :: Qd 0xc645c544 0xc443c342  Qm (i32)0x007f00fa
 vrshrn.i16 d6, q2, #4 :: Qd 0x01ac01ac 0x01ac01ac  Qm (i32)0x000ffabc
-vrshrn.i16 d6, q2, #4 :: Qd 0x43b333e3 0x529242f2  Qm (i32)0x000ffabc
+vrshrn.i16 d6, q2, #4 :: Qd 0x71513111 0xf1d1b191  Qm (i32)0x000ffabc
 vrshrn.i16 d8, q12, #3 :: Qd 0x00e200e2 0x00e200e2  Qm (i32)0x00000713
-vrshrn.i16 d8, q12, #3 :: Qd 0x866566c6 0xa42484e4  Qm (i32)0x00000713
+vrshrn.i16 d8, q12, #3 :: Qd 0xe3a36222 0xe2a26121  Qm (i32)0x00000713
 vrshrn.i16 d9, q2, #7 :: Qd 0x000e000e 0x000e000e  Qm (i32)0x00000713
-vrshrn.i16 d9, q2, #7 :: Qd 0x4856465c 0x2a32283e  Qm (i32)0x00000713
+vrshrn.i16 d9, q2, #7 :: Qd 0x2e2a2622 0x1e1a1612  Qm (i32)0x00000713
 vrshrn.i32 d10, q13, #2 :: Qd 0x01c501c5 0x01c501c5  Qm (i32)0x00000713
-vrshrn.i32 d10, q13, #2 :: Qd 0x0acbcb8c 0x464707c7  Qm (i32)0x00000713
+vrshrn.i32 d10, q13, #2 :: Qd 0x85458444 0x83438242  Qm (i32)0x00000713
 vrshrn.i32 d15, q11, #1 :: Qd 0x00020002 0x00020002  Qm (i32)0x00000003
-vrshrn.i32 d15, q11, #1 :: Qd 0x15969718 0x8c8f0f8e  Qm (i32)0x00000003
+vrshrn.i32 d15, q11, #1 :: Qd 0x0a8a0888 0x06860484  Qm (i32)0x00000003
 vrshrn.i32 d10, q9, #5 :: Qd 0x00050005 0x00050005  Qm (i32)0xf00000aa
-vrshrn.i32 d10, q9, #5 :: Qd 0x61597971 0xe8c9e0f9  Qm (i32)0xf00000aa
+vrshrn.i32 d10, q9, #5 :: Qd 0xb0a99089 0x70685048  Qm (i32)0xf00000aa
 vrshrn.i32 d12, q0, #6 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000000f
-vrshrn.i32 d12, q0, #6 :: Qd 0xb0adbcb9 0x7464707c  Qm (i32)0x0000000f
+vrshrn.i32 d12, q0, #6 :: Qd 0x58544844 0x38342824  Qm (i32)0x0000000f
 vrshrn.i32 d13, q13, #2 :: Qd 0x00000000 0x00000000  Qm (i32)0xffffffff
-vrshrn.i32 d13, q13, #2 :: Qd 0x0acbcb8c 0x464707c7  Qm (i32)0xffffffff
+vrshrn.i32 d13, q13, #2 :: Qd 0x85458444 0x83438242  Qm (i32)0xffffffff
 ---- VSHL (immediate) ----
 vshl.i64 d0, d1, #1 :: Qd 0x00000030 0x00000030  Qm (i32)0x00000018
-vshl.i64 d0, d1, #1 :: Qd 0x2a3a323a 0x28383e38  Qm (i32)0x00000018
+vshl.i64 d0, d1, #1 :: Qd 0x1e1c1a18 0x16141210  Qm (i32)0x00000018
 vshl.i64 d5, d2, #1 :: Qd 0x80000000 0x80000000  Qm (i32)0x40000000
-vshl.i64 d5, d2, #1 :: Qd 0x2a3a323a 0x28383e38  Qm (i32)0x40000000
+vshl.i64 d5, d2, #1 :: Qd 0x1e1c1a18 0x16141210  Qm (i32)0x40000000
 vshl.i64 d9, d12, #2 :: Qd 0x0000000a 0x00000008  Qm (i32)0x80000002
-vshl.i64 d9, d12, #2 :: Qd 0x54746474 0x50707c70  Qm (i32)0x80000002
+vshl.i64 d9, d12, #2 :: Qd 0x3c383430 0x2c282420  Qm (i32)0x80000002
 vshl.i64 d11, d2, #12 :: Qd 0xffffffff 0xfffff000  Qm (i32)0xffffffff
-vshl.i64 d11, d2, #12 :: Qd 0xd191d141 0xc1f1c000  Qm (i32)0xffffffff
+vshl.i64 d11, d2, #12 :: Qd 0xe0d0c0b0 0xa0908000  Qm (i32)0xffffffff
 vshl.i64 d15, d12, #63 :: Qd 0x80000000 0x00000000  Qm (i32)0x00000005
 vshl.i64 d15, d12, #63 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000005
 vshl.i64 d5, d12, #62 :: Qd 0x40000000 0x00000000  Qm (i32)0x80000001
 vshl.i64 d5, d12, #62 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001
 vshl.i32 d0, d1, #1 :: Qd 0x00000030 0x00000030  Qm (i32)0x00000018
-vshl.i32 d0, d1, #1 :: Qd 0x2a3a323a 0x28383e38  Qm (i32)0x00000018
+vshl.i32 d0, d1, #1 :: Qd 0x1e1c1a18 0x16141210  Qm (i32)0x00000018
 vshl.i32 d5, d2, #1 :: Qd 0x80000000 0x80000000  Qm (i32)0x40000000
-vshl.i32 d5, d2, #1 :: Qd 0x2a3a323a 0x28383e38  Qm (i32)0x40000000
+vshl.i32 d5, d2, #1 :: Qd 0x1e1c1a18 0x16141210  Qm (i32)0x40000000
 vshl.i32 d9, d12, #2 :: Qd 0x00000008 0x00000008  Qm (i32)0x80000002
-vshl.i32 d9, d12, #2 :: Qd 0x54746474 0x50707c70  Qm (i32)0x80000002
+vshl.i32 d9, d12, #2 :: Qd 0x3c383430 0x2c282420  Qm (i32)0x80000002
 vshl.i32 d11, d2, #12 :: Qd 0xfffff000 0xfffff000  Qm (i32)0xffffffff
-vshl.i32 d11, d2, #12 :: Qd 0xd191d000 0xc1f1c000  Qm (i32)0xffffffff
+vshl.i32 d11, d2, #12 :: Qd 0xe0d0c000 0xa0908000  Qm (i32)0xffffffff
 vshl.i32 d15, d12, #20 :: Qd 0x00500000 0x00500000  Qm (i32)0x00000005
-vshl.i32 d15, d12, #20 :: Qd 0x91d00000 0xf1c00000  Qm (i32)0x00000005
+vshl.i32 d15, d12, #20 :: Qd 0xd0c00000 0x90800000  Qm (i32)0x00000005
 vshl.i32 d5, d12, #30 :: Qd 0x40000000 0x40000000  Qm (i32)0x80000001
-vshl.i32 d5, d12, #30 :: Qd 0x40000000 0x00000000  Qm (i32)0x80000001
+vshl.i32 d5, d12, #30 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001
 vshl.i16 d0, d1, #1 :: Qd 0x00300030 0x00300030  Qm (i16)0x00000018
-vshl.i16 d0, d1, #1 :: Qd 0x2a3a323a 0x28383e38  Qm (i16)0x00000018
+vshl.i16 d0, d1, #1 :: Qd 0x1e1c1a18 0x16141210  Qm (i16)0x00000018
 vshl.i16 d5, d2, #1 :: Qd 0x80000000 0x80000000  Qm (i32)0x40000000
-vshl.i16 d5, d2, #1 :: Qd 0x2a3a323a 0x28383e38  Qm (i32)0x40000000
+vshl.i16 d5, d2, #1 :: Qd 0x1e1c1a18 0x16141210  Qm (i32)0x40000000
 vshl.i16 d9, d12, #2 :: Qd 0x00000008 0x00000008  Qm (i32)0x80000002
-vshl.i16 d9, d12, #2 :: Qd 0x54746474 0x50707c70  Qm (i32)0x80000002
+vshl.i16 d9, d12, #2 :: Qd 0x3c383430 0x2c282420  Qm (i32)0x80000002
 vshl.i16 d11, d2, #12 :: Qd 0xf000f000 0xf000f000  Qm (i16)0xffffffff
-vshl.i16 d11, d2, #12 :: Qd 0xd000d000 0xc000c000  Qm (i16)0xffffffff
+vshl.i16 d11, d2, #12 :: Qd 0xe000c000 0xa0008000  Qm (i16)0xffffffff
 vshl.i16 d15, d12, #3 :: Qd 0x00280028 0x00280028  Qm (i16)0x00000005
-vshl.i16 d15, d12, #3 :: Qd 0xa8e8c8e8 0xa0e0f8e0  Qm (i16)0x00000005
+vshl.i16 d15, d12, #3 :: Qd 0x78706860 0x58504840  Qm (i16)0x00000005
 vshl.i16 d5, d12, #14 :: Qd 0x00004000 0x00004000  Qm (i32)0x80000001
-vshl.i16 d5, d12, #14 :: Qd 0x40004000 0x00000000  Qm (i32)0x80000001
+vshl.i16 d5, d12, #14 :: Qd 0x80000000 0x80000000  Qm (i32)0x80000001
 vshl.i8 d0, d1, #1 :: Qd 0x30303030 0x30303030  Qm (i8)0x00000018
-vshl.i8 d0, d1, #1 :: Qd 0x2a3a323a 0x28383e38  Qm (i8)0x00000018
+vshl.i8 d0, d1, #1 :: Qd 0x1e1c1a18 0x16141210  Qm (i8)0x00000018
 vshl.i8 d5, d2, #1 :: Qd 0x80000000 0x80000000  Qm (i32)0x40000000
-vshl.i8 d5, d2, #1 :: Qd 0x2a3a323a 0x28383e38  Qm (i32)0x40000000
+vshl.i8 d5, d2, #1 :: Qd 0x1e1c1a18 0x16141210  Qm (i32)0x40000000
 vshl.i8 d9, d12, #2 :: Qd 0x00000008 0x00000008  Qm (i32)0x80000002
-vshl.i8 d9, d12, #2 :: Qd 0x54746474 0x50707c70  Qm (i32)0x80000002
+vshl.i8 d9, d12, #2 :: Qd 0x3c383430 0x2c282420  Qm (i32)0x80000002
 vshl.i8 d11, d2, #7 :: Qd 0x80808080 0x80808080  Qm (i8)0xffffffff
-vshl.i8 d11, d2, #7 :: Qd 0x80808080 0x00008000  Qm (i8)0xffffffff
+vshl.i8 d11, d2, #7 :: Qd 0x80008000 0x80008000  Qm (i8)0xffffffff
 vshl.i8 d15, d12, #3 :: Qd 0x28282828 0x28282828  Qm (i8)0x00000005
-vshl.i8 d15, d12, #3 :: Qd 0xa8e8c8e8 0xa0e0f8e0  Qm (i8)0x00000005
+vshl.i8 d15, d12, #3 :: Qd 0x78706860 0x58504840  Qm (i8)0x00000005
 vshl.i8 d5, d12, #6 :: Qd 0x00000040 0x00000040  Qm (i32)0x80000001
-vshl.i8 d5, d12, #6 :: Qd 0x40404040 0x0000c000  Qm (i32)0x80000001
+vshl.i8 d5, d12, #6 :: Qd 0xc0804000 0xc0804000  Qm (i32)0x80000001
 ---- VNEG ----
 vneg.s32 d0, d1 :: Qd 0xffffff8d 0xffffff8d  Qm (i32)0x00000073
-vneg.s32 d0, d1 :: Qd 0xeae2e6e3 0xebe3e0e4  Qm (i32)0x00000073
+vneg.s32 d0, d1 :: Qd 0xf0f1f2f4 0xf4f5f6f8  Qm (i32)0x00000073
 vneg.s16 d15, d4 :: Qd 0x0000ff8d 0x0000ff8d  Qm (i32)0x00000073
-vneg.s16 d15, d4 :: Qd 0xeae3e6e3 0xebe4e0e4  Qm (i32)0x00000073
+vneg.s16 d15, d4 :: Qd 0xf0f2f2f4 0xf4f6f6f8  Qm (i32)0x00000073
 vneg.s8 d8, d7 :: Qd 0x0000008d 0x0000008d  Qm (i32)0x00000073
-vneg.s8 d8, d7 :: Qd 0xebe3e7e3 0xece4e1e4  Qm (i32)0x00000073
+vneg.s8 d8, d7 :: Qd 0xf1f2f3f4 0xf5f6f7f8  Qm (i32)0x00000073
 vneg.s32 d0, d1 :: Qd 0xffffff02 0xffffff02  Qm (i32)0x000000fe
-vneg.s32 d0, d1 :: Qd 0xeae2e6e3 0xebe3e0e4  Qm (i32)0x000000fe
+vneg.s32 d0, d1 :: Qd 0xf0f1f2f4 0xf4f5f6f8  Qm (i32)0x000000fe
 vneg.s16 d31, d4 :: Qd 0x0000ff11 0x0000ff11  Qm (i32)0x000000ef
-vneg.s16 d31, d4 :: Qd 0xeae3e6e3 0xebe4e0e4  Qm (i32)0x000000ef
+vneg.s16 d31, d4 :: Qd 0xf0f2f2f4 0xf4f6f6f8  Qm (i32)0x000000ef
 vneg.s8 d8, d7 :: Qd 0x00000022 0x00000022  Qm (i32)0x000000de
-vneg.s8 d8, d7 :: Qd 0xebe3e7e3 0xece4e1e4  Qm (i32)0x000000de
+vneg.s8 d8, d7 :: Qd 0xf1f2f3f4 0xf5f6f7f8  Qm (i32)0x000000de
 vneg.s32 d0, d1 :: Qd 0x01f501f6 0x01f501f6  Qm (i16)0x0000fe0a
-vneg.s32 d0, d1 :: Qd 0xeae2e6e3 0xebe3e0e4  Qm (i16)0x0000fe0a
+vneg.s32 d0, d1 :: Qd 0xf0f1f2f4 0xf4f5f6f8  Qm (i16)0x0000fe0a
 vneg.s16 d15, d4 :: Qd 0x10f510f5 0x10f510f5  Qm (i16)0x0000ef0b
-vneg.s16 d15, d4 :: Qd 0xeae3e6e3 0xebe4e0e4  Qm (i16)0x0000ef0b
+vneg.s16 d15, d4 :: Qd 0xf0f2f2f4 0xf4f6f6f8  Qm (i16)0x0000ef0b
 vneg.s8 d8, d7 :: Qd 0x22f422f4 0x22f422f4  Qm (i16)0x0000de0c
-vneg.s8 d8, d7 :: Qd 0xebe3e7e3 0xece4e1e4  Qm (i16)0x0000de0c
+vneg.s8 d8, d7 :: Qd 0xf1f2f3f4 0xf5f6f7f8  Qm (i16)0x0000de0c
 ---- VQNEG ----
 vqneg.s32 d0, d1 :: Qd 0xffffff8d 0xffffff8d  Qm (i32)0x00000073  fpscr 00000000
-vqneg.s32 d0, d1 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x00000073  fpscr 00000000
+vqneg.s32 d0, d1 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x00000073  fpscr 00000000
 vqneg.s32 d0, d1 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x80000000  fpscr 08000000
-vqneg.s32 d0, d1 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x80000000  fpscr 00000000
+vqneg.s32 d0, d1 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x80000000  fpscr 00000000
 vqneg.s16 d0, d1 :: Qd 0x7fff0000 0x7fff0000  Qm (i32)0x80000000  fpscr 08000000
-vqneg.s16 d0, d1 :: Qd 0xece5e5e5 0xede1e1e1  Qm (i32)0x80000000  fpscr 00000000
+vqneg.s16 d0, d1 :: Qd 0xf8fafafc 0xfcfeff00  Qm (i32)0x80000000  fpscr 00000000
 vqneg.s8 d0, d1 :: Qd 0x7f000000 0x7f000000  Qm (i32)0x80000000  fpscr 08000000
-vqneg.s8 d0, d1 :: Qd 0xede5e6e5 0xeee1e2e1  Qm (i32)0x80000000  fpscr 00000000
+vqneg.s8 d0, d1 :: Qd 0xf9fafbfc 0xfdfeff00  Qm (i32)0x80000000  fpscr 00000000
 vqneg.s16 d15, d4 :: Qd 0x0000ff8d 0x0000ff8d  Qm (i32)0x00000073  fpscr 00000000
-vqneg.s16 d15, d4 :: Qd 0xece5e5e5 0xede1e1e1  Qm (i32)0x00000073  fpscr 00000000
+vqneg.s16 d15, d4 :: Qd 0xf8fafafc 0xfcfeff00  Qm (i32)0x00000073  fpscr 00000000
 vqneg.s8 d8, d7 :: Qd 0x0000008d 0x0000008d  Qm (i32)0x00000073  fpscr 00000000
-vqneg.s8 d8, d7 :: Qd 0xede5e6e5 0xeee1e2e1  Qm (i32)0x00000073  fpscr 00000000
+vqneg.s8 d8, d7 :: Qd 0xf9fafbfc 0xfdfeff00  Qm (i32)0x00000073  fpscr 00000000
 vqneg.s32 d0, d1 :: Qd 0xffffff02 0xffffff02  Qm (i32)0x000000fe  fpscr 00000000
-vqneg.s32 d0, d1 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x000000fe  fpscr 00000000
+vqneg.s32 d0, d1 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x000000fe  fpscr 00000000
 vqneg.s16 d31, d4 :: Qd 0x0000ff11 0x0000ff11  Qm (i32)0x000000ef  fpscr 00000000
-vqneg.s16 d31, d4 :: Qd 0xece5e5e5 0xede1e1e1  Qm (i32)0x000000ef  fpscr 00000000
+vqneg.s16 d31, d4 :: Qd 0xf8fafafc 0xfcfeff00  Qm (i32)0x000000ef  fpscr 00000000
 vqneg.s8 d8, d7 :: Qd 0x00000022 0x00000022  Qm (i32)0x000000de  fpscr 00000000
-vqneg.s8 d8, d7 :: Qd 0xede5e6e5 0xeee1e2e1  Qm (i32)0x000000de  fpscr 00000000
+vqneg.s8 d8, d7 :: Qd 0xf9fafbfc 0xfdfeff00  Qm (i32)0x000000de  fpscr 00000000
 vqneg.s32 d0, d1 :: Qd 0x01f501f6 0x01f501f6  Qm (i16)0x0000fe0a  fpscr 00000000
-vqneg.s32 d0, d1 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i16)0x0000fe0a  fpscr 00000000
+vqneg.s32 d0, d1 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i16)0x0000fe0a  fpscr 00000000
 vqneg.s16 d15, d4 :: Qd 0x10f510f5 0x10f510f5  Qm (i16)0x0000ef0b  fpscr 00000000
-vqneg.s16 d15, d4 :: Qd 0xece5e5e5 0xede1e1e1  Qm (i16)0x0000ef0b  fpscr 00000000
+vqneg.s16 d15, d4 :: Qd 0xf8fafafc 0xfcfeff00  Qm (i16)0x0000ef0b  fpscr 00000000
 vqneg.s8 d8, d7 :: Qd 0x22f422f4 0x22f422f4  Qm (i16)0x0000de0c  fpscr 00000000
-vqneg.s8 d8, d7 :: Qd 0xede5e6e5 0xeee1e2e1  Qm (i16)0x0000de0c  fpscr 00000000
+vqneg.s8 d8, d7 :: Qd 0xf9fafbfc 0xfdfeff00  Qm (i16)0x0000de0c  fpscr 00000000
 ---- VREV ----
 vrev64.8 d0, d1 :: Qd 0xddccbbaa 0xddccbbaa  Qm (i32)0xaabbccdd
-vrev64.8 d0, d1 :: Qd 0x1c1f1c14 0x1d191d15  Qm (i32)0xaabbccdd
+vrev64.8 d0, d1 :: Qd 0x08090a0b 0x0c0d0e0f  Qm (i32)0xaabbccdd
 vrev64.16 d10, d31 :: Qd 0xccddaabb 0xccddaabb  Qm (i32)0xaabbccdd
-vrev64.16 d10, d31 :: Qd 0x1f1c141c 0x191d151d  Qm (i32)0xaabbccdd
+vrev64.16 d10, d31 :: Qd 0x09080b0a 0x0d0c0f0e  Qm (i32)0xaabbccdd
 vrev64.32 d1, d14 :: Qd 0xaabbccdd 0xaabbccdd  Qm (i32)0xaabbccdd
-vrev64.32 d1, d14 :: Qd 0x141c1f1c 0x151d191d  Qm (i32)0xaabbccdd
+vrev64.32 d1, d14 :: Qd 0x0b0a0908 0x0f0e0d0c  Qm (i32)0xaabbccdd
 vrev32.8 d0, d1 :: Qd 0xddccbbaa 0xddccbbaa  Qm (i32)0xaabbccdd
-vrev32.8 d0, d1 :: Qd 0x1d191d15 0x1c1f1c14  Qm (i32)0xaabbccdd
+vrev32.8 d0, d1 :: Qd 0x0c0d0e0f 0x08090a0b  Qm (i32)0xaabbccdd
 vrev32.16 d30, d15 :: Qd 0xccddaabb 0xccddaabb  Qm (i32)0xaabbccdd
-vrev32.16 d30, d15 :: Qd 0x191d151d 0x1f1c141c  Qm (i32)0xaabbccdd
+vrev32.16 d30, d15 :: Qd 0x0d0c0f0e 0x09080b0a  Qm (i32)0xaabbccdd
 vrev16.8 d0, d1 :: Qd 0xbbaaddcc 0xbbaaddcc  Qm (i32)0xaabbccdd
-vrev16.8 d0, d1 :: Qd 0x1d151d19 0x1c141c1f  Qm (i32)0xaabbccdd
+vrev16.8 d0, d1 :: Qd 0x0e0f0c0d 0x0a0b0809  Qm (i32)0xaabbccdd
 ---- VTBL ----
 vtbl.8 d0, {d2}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0x12345678  Qn3 (i32)0x12345678  Qn4 (i32)0x12345678
 vtbl.8 d0, {d2}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0x12345678  Qn3 (i32)0x12345678  Qn4 (i32)0x12345678
@@ -3945,7 +3945,7 @@
 vtbl.8 d30, {d2}, d1 :: Qd 0x12005600 0x12005600  Qm (i32)0x07ed05ee  Qn1 (i32)0x12345678  Qn2 (i32)0x12345678  Qn3 (i32)0x12345678  Qn4 (i32)0x12345678
 vtbl.8 d30, {d2}, d1 :: Qd 0x12005600 0x12005600  Qm (i32)0x07ed05ee  Qn1 (i32)0x12345678  Qn2 (i32)0x12345678  Qn3 (i32)0x12345678  Qn4 (i32)0x12345678
 vtbl.8 d0, {d2-d3}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d0, {d2-d3}, d1 :: Qd 0x1c1c1c1c 0x1c1c1c1c  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d0, {d2-d3}, d1 :: Qd 0x08080808 0x08080808  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d1-d2}, d3 :: Qd 0xa2a2a2a2 0xa2a2a2a2  Qm (i8)0x0000000a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d1-d2}, d3 :: Qd 0xa2a2a2a2 0xa2a2a2a2  Qm (i8)0x0000000a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d30-d31}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
@@ -3955,73 +3955,73 @@
 vtbl.8 d0, {d22-d23}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d23}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d23}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d0, {d22-d23}, d1 :: Qd 0x1d1d1d1d 0x1d1d1d1d  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d0, {d22-d23}, d1 :: Qd 0x0c0c0c0c 0x0c0c0c0c  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d23}, d1 :: Qd 0xa2a2a2a2 0xa2a2a2a2  Qm (i8)0x0000000e  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d23}, d1 :: Qd 0xa2a2a2a2 0xa2a2a2a2  Qm (i8)0x0000000e  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d23}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d23}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d30, {d2-d3}, d31 :: Qd 0x12125656 0x12125656  Qm (i32)0x07030501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d30, {d2-d3}, d31 :: Qd 0x1514191f 0x1514191f  Qm (i32)0x07030501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d30, {d2-d3}, d31 :: Qd 0x0f0b0d09 0x0f0b0d09  Qm (i32)0x07030501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d30, {d2-d3}, d31 :: Qd 0xa4a25656 0xa4a25656  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d30, {d2-d3}, d31 :: Qd 0xa4a2191f 0xa4a2191f  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d30, {d2-d3}, d31 :: Qd 0xa4a20d09 0xa4a20d09  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d30, {d2-d3}, d31 :: Qd 0x12a2a256 0x12a2a256  Qm (i32)0x070e0e01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d30, {d2-d3}, d31 :: Qd 0x15a2a21f 0x15a2a21f  Qm (i32)0x070e0e01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d30, {d2-d3}, d31 :: Qd 0x0fa2a209 0x0fa2a209  Qm (i32)0x070e0e01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d30, {d2-d3}, d31 :: Qd 0xa300a156 0xa300a156  Qm (i32)0x0d130f01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d30, {d2-d3}, d31 :: Qd 0xa300a11f 0xa300a11f  Qm (i32)0x0d130f01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d30, {d2-d3}, d31 :: Qd 0xa300a109 0xa300a109  Qm (i32)0x0d130f01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d30, {d2-d3}, d31 :: Qd 0x12125600 0x12125600  Qm (i32)0x07030511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d30, {d2-d3}, d31 :: Qd 0x15141900 0x15141900  Qm (i32)0x07030511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d30, {d2-d3}, d31 :: Qd 0x0f0b0d00 0x0f0b0d00  Qm (i32)0x07030511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d2-d4}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d0, {d2-d4}, d1 :: Qd 0x1f1f1f1f 0x1f1f1f1f  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d0, {d2-d4}, d1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d1-d3}, d10 :: Qd 0xcccccccc 0xcccccccc  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d0, {d1-d3}, d10 :: Qd 0x1f1f1f1f 0x1f1f1f1f  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d0, {d1-d3}, d10 :: Qd 0x09090909 0x09090909  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d29-d31}, d1 :: Qd 0xcacacaca 0xcacacaca  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d0, {d29-d31}, d1 :: Qd 0x15151515 0x15151515  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d0, {d29-d31}, d1 :: Qd 0x0f0f0f0f 0x0f0f0f0f  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d24}, d1 :: Qd 0xa3a3a3a3 0xa3a3a3a3  Qm (i8)0x00000009  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d24}, d1 :: Qd 0xa3a3a3a3 0xa3a3a3a3  Qm (i8)0x00000009  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d24}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d24}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d24}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d0, {d22-d24}, d1 :: Qd 0x1b1b1b1b 0x1b1b1b1b  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d0, {d22-d24}, d1 :: Qd 0x04040404 0x04040404  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d24}, d1 :: Qd 0xcdcdcdcd 0xcdcdcdcd  Qm (i8)0x00000010  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d0, {d22-d24}, d1 :: Qd 0x1c1c1c1c 0x1c1c1c1c  Qm (i8)0x00000010  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d0, {d22-d24}, d1 :: Qd 0x08080808 0x08080808  Qm (i8)0x00000010  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d22-d24}, d1 :: Qd 0xcccccccc 0xcccccccc  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d0, {d22-d24}, d1 :: Qd 0x1f1f1f1f 0x1f1f1f1f  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d0, {d22-d24}, d1 :: Qd 0x09090909 0x09090909  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d30, {d2-d4}, d31 :: Qd 0xa212cc78 0xa212cc78  Qm (i32)0x0a031504  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d30, {d2-d4}, d31 :: Qd 0xa212191b 0xa212191b  Qm (i32)0x0a031504  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d30, {d2-d4}, d31 :: Qd 0xa2030d04 0xa2030d04  Qm (i32)0x0a031504  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d30, {d2-d4}, d31 :: Qd 0xa4a25656 0xa4a25656  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d30, {d2-d4}, d31 :: Qd 0xa4a21a1e 0xa4a21a1e  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d30, {d2-d4}, d31 :: Qd 0xa4a20501 0xa4a20501  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d30, {d2-d4}, d31 :: Qd 0xcaa200a1 0xcaa200a1  Qm (i32)0x170efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d30, {d2-d4}, d31 :: Qd 0x15a200a1 0x15a200a1  Qm (i32)0x170efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d30, {d2-d4}, d31 :: Qd 0x0fa200a1 0x0fa200a1  Qm (i32)0x170efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d30, {d2-d4}, d31 :: Qd 0xa3caa1cc 0xa3caa1cc  Qm (i32)0x0d130f11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d30, {d2-d4}, d31 :: Qd 0xa314a11f 0xa314a11f  Qm (i32)0x0d130f11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d30, {d2-d4}, d31 :: Qd 0xa30ba109 0xa30ba109  Qm (i32)0x0d130f11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d30, {d2-d4}, d31 :: Qd 0x12a1cccc 0x12a1cccc  Qm (i32)0x070f1511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbl.8 d30, {d2-d4}, d31 :: Qd 0x13a1191f 0x13a1191f  Qm (i32)0x070f1511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbl.8 d30, {d2-d4}, d31 :: Qd 0x07a10d09 0x07a10d09  Qm (i32)0x070f1511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbl.8 d0, {d2-d5}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbl.8 d0, {d2-d5}, d1 :: Qd 0x1f1f1f1f 0x1f1f1f1f  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbl.8 d0, {d2-d5}, d1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d0, {d1-d4}, d10 :: Qd 0xcccccccc 0xcccccccc  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbl.8 d0, {d1-d4}, d10 :: Qd 0x1f1f1f1f 0x1f1f1f1f  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbl.8 d0, {d1-d4}, d10 :: Qd 0x09090909 0x09090909  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d0, {d28-d31}, d1 :: Qd 0xcacacaca 0xcacacaca  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbl.8 d0, {d28-d31}, d1 :: Qd 0x15151515 0x15151515  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbl.8 d0, {d28-d31}, d1 :: Qd 0x0f0f0f0f 0x0f0f0f0f  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d0, {d22-d25}, d1 :: Qd 0xa3a3a3a3 0xa3a3a3a3  Qm (i8)0x00000009  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d0, {d22-d25}, d1 :: Qd 0xa3a3a3a3 0xa3a3a3a3  Qm (i8)0x00000009  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d0, {d22-d25}, d1 :: Qd 0xfdfdfdfd 0xfdfdfdfd  Qm (i8)0x0000001a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d0, {d22-d25}, d1 :: Qd 0xfdfdfdfd 0xfdfdfdfd  Qm (i8)0x0000001a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d0, {d22-d25}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbl.8 d0, {d22-d25}, d1 :: Qd 0x1b1b1b1b 0x1b1b1b1b  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbl.8 d0, {d22-d25}, d1 :: Qd 0x04040404 0x04040404  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d0, {d22-d25}, d1 :: Qd 0xcbcbcbcb 0xcbcbcbcb  Qm (i8)0x00000016  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbl.8 d0, {d22-d25}, d1 :: Qd 0x1d1d1d1d 0x1d1d1d1d  Qm (i8)0x00000016  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbl.8 d0, {d22-d25}, d1 :: Qd 0x0e0e0e0e 0x0e0e0e0e  Qm (i8)0x00000016  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d0, {d22-d25}, d1 :: Qd 0xfefefefe 0xfefefefe  Qm (i8)0x0000001f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d0, {d22-d25}, d1 :: Qd 0xfefefefe 0xfefefefe  Qm (i8)0x0000001f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d30, {d2-d5}, d31 :: Qd 0xfd12cc00 0xfd12cc00  Qm (i32)0x1a0315ff  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbl.8 d30, {d2-d5}, d31 :: Qd 0xfd121900 0xfd121900  Qm (i32)0x1a0315ff  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbl.8 d30, {d2-d5}, d31 :: Qd 0xfd030d00 0xfd030d00  Qm (i32)0x1a0315ff  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d30, {d2-d5}, d31 :: Qd 0xa4a25656 0xa4a25656  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbl.8 d30, {d2-d5}, d31 :: Qd 0xa4a21a1e 0xa4a21a1e  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbl.8 d30, {d2-d5}, d31 :: Qd 0xa4a20501 0xa4a20501  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d30, {d2-d5}, d31 :: Qd 0xcafd00a1 0xcafd00a1  Qm (i32)0x171efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbl.8 d30, {d2-d5}, d31 :: Qd 0x15fd00a1 0x15fd00a1  Qm (i32)0x171efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbl.8 d30, {d2-d5}, d31 :: Qd 0x0ffd00a1 0x0ffd00a1  Qm (i32)0x171efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d30, {d2-d5}, d31 :: Qd 0xfccaa1fd 0xfccaa1fd  Qm (i32)0x1d130f1a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbl.8 d30, {d2-d5}, d31 :: Qd 0xfc14a1fd 0xfc14a1fd  Qm (i32)0x1d130f1a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbl.8 d30, {d2-d5}, d31 :: Qd 0xfc0ba1fd 0xfc0ba1fd  Qm (i32)0x1d130f1a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbl.8 d30, {d2-d5}, d31 :: Qd 0xcacdfbcc 0xcacdfbcc  Qm (i32)0x17101c11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbl.8 d30, {d2-d5}, d31 :: Qd 0x151cfb1f 0x151cfb1f  Qm (i32)0x17101c11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbl.8 d30, {d2-d5}, d31 :: Qd 0x0f08fb09 0x0f08fb09  Qm (i32)0x17101c11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 ---- VTBX ----
 vtbx.8 d0, {d2}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0x12345678  Qn3 (i32)0x12345678  Qn4 (i32)0x12345678
 vtbx.8 d0, {d2}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0x12345678  Qn3 (i32)0x12345678  Qn4 (i32)0x12345678
@@ -4040,7 +4040,7 @@
 vtbx.8 d30, {d2}, d1 :: Qd 0x12555655 0x12555655  Qm (i32)0x07ed05ee  Qn1 (i32)0x12345678  Qn2 (i32)0x12345678  Qn3 (i32)0x12345678  Qn4 (i32)0x12345678
 vtbx.8 d30, {d2}, d1 :: Qd 0x12555655 0x12555655  Qm (i32)0x07ed05ee  Qn1 (i32)0x12345678  Qn2 (i32)0x12345678  Qn3 (i32)0x12345678  Qn4 (i32)0x12345678
 vtbx.8 d0, {d2-d3}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d0, {d2-d3}, d1 :: Qd 0x1c1c1c1c 0x1c1c1c1c  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d0, {d2-d3}, d1 :: Qd 0x08080808 0x08080808  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d1-d2}, d3 :: Qd 0xa2a2a2a2 0xa2a2a2a2  Qm (i8)0x0000000a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d1-d2}, d3 :: Qd 0xa2a2a2a2 0xa2a2a2a2  Qm (i8)0x0000000a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d30-d31}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
@@ -4050,253 +4050,253 @@
 vtbx.8 d0, {d22-d23}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d23}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d23}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d0, {d22-d23}, d1 :: Qd 0x1d1d1d1d 0x1d1d1d1d  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d0, {d22-d23}, d1 :: Qd 0x0c0c0c0c 0x0c0c0c0c  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d23}, d1 :: Qd 0xa2a2a2a2 0xa2a2a2a2  Qm (i8)0x0000000e  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d23}, d1 :: Qd 0xa2a2a2a2 0xa2a2a2a2  Qm (i8)0x0000000e  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d23}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d23}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d30, {d2-d3}, d31 :: Qd 0x12125656 0x12125656  Qm (i32)0x07030501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d30, {d2-d3}, d31 :: Qd 0x1514191f 0x1514191f  Qm (i32)0x07030501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d30, {d2-d3}, d31 :: Qd 0x0f0b0d09 0x0f0b0d09  Qm (i32)0x07030501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d30, {d2-d3}, d31 :: Qd 0xa4a25656 0xa4a25656  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d30, {d2-d3}, d31 :: Qd 0xa4a2191f 0xa4a2191f  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d30, {d2-d3}, d31 :: Qd 0xa4a20d09 0xa4a20d09  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d30, {d2-d3}, d31 :: Qd 0x12a2a256 0x12a2a256  Qm (i32)0x070e0e01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d30, {d2-d3}, d31 :: Qd 0x15a2a21f 0x15a2a21f  Qm (i32)0x070e0e01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d30, {d2-d3}, d31 :: Qd 0x0fa2a209 0x0fa2a209  Qm (i32)0x070e0e01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d30, {d2-d3}, d31 :: Qd 0xa355a156 0xa355a156  Qm (i32)0x0d130f01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d30, {d2-d3}, d31 :: Qd 0xa355a11f 0xa355a11f  Qm (i32)0x0d130f01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d30, {d2-d3}, d31 :: Qd 0xa355a109 0xa355a109  Qm (i32)0x0d130f01  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d30, {d2-d3}, d31 :: Qd 0x12125655 0x12125655  Qm (i32)0x07030511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d30, {d2-d3}, d31 :: Qd 0x15141955 0x15141955  Qm (i32)0x07030511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d30, {d2-d3}, d31 :: Qd 0x0f0b0d55 0x0f0b0d55  Qm (i32)0x07030511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0x12345678  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d2-d4}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d0, {d2-d4}, d1 :: Qd 0x1f1f1f1f 0x1f1f1f1f  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d0, {d2-d4}, d1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d1-d3}, d10 :: Qd 0xcccccccc 0xcccccccc  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d0, {d1-d3}, d10 :: Qd 0x1f1f1f1f 0x1f1f1f1f  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d0, {d1-d3}, d10 :: Qd 0x09090909 0x09090909  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d29-d31}, d1 :: Qd 0xcacacaca 0xcacacaca  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d0, {d29-d31}, d1 :: Qd 0x15151515 0x15151515  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d0, {d29-d31}, d1 :: Qd 0x0f0f0f0f 0x0f0f0f0f  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d24}, d1 :: Qd 0xa3a3a3a3 0xa3a3a3a3  Qm (i8)0x00000009  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d24}, d1 :: Qd 0xa3a3a3a3 0xa3a3a3a3  Qm (i8)0x00000009  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d24}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d24}, d1 :: Qd 0xa1a1a1a1 0xa1a1a1a1  Qm (i8)0x0000000f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d24}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d0, {d22-d24}, d1 :: Qd 0x1b1b1b1b 0x1b1b1b1b  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d0, {d22-d24}, d1 :: Qd 0x04040404 0x04040404  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d24}, d1 :: Qd 0xcdcdcdcd 0xcdcdcdcd  Qm (i8)0x00000010  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d0, {d22-d24}, d1 :: Qd 0x1c1c1c1c 0x1c1c1c1c  Qm (i8)0x00000010  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d0, {d22-d24}, d1 :: Qd 0x08080808 0x08080808  Qm (i8)0x00000010  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d22-d24}, d1 :: Qd 0xcccccccc 0xcccccccc  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d0, {d22-d24}, d1 :: Qd 0x1f1f1f1f 0x1f1f1f1f  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d0, {d22-d24}, d1 :: Qd 0x09090909 0x09090909  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d30, {d2-d4}, d31 :: Qd 0xa212cc78 0xa212cc78  Qm (i32)0x0a031504  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d30, {d2-d4}, d31 :: Qd 0xa212191b 0xa212191b  Qm (i32)0x0a031504  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d30, {d2-d4}, d31 :: Qd 0xa2030d04 0xa2030d04  Qm (i32)0x0a031504  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d30, {d2-d4}, d31 :: Qd 0xa4a25656 0xa4a25656  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d30, {d2-d4}, d31 :: Qd 0xa4a21a1e 0xa4a21a1e  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d30, {d2-d4}, d31 :: Qd 0xa4a20501 0xa4a20501  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d30, {d2-d4}, d31 :: Qd 0xcaa255a1 0xcaa255a1  Qm (i32)0x170efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d30, {d2-d4}, d31 :: Qd 0x15a255a1 0x15a255a1  Qm (i32)0x170efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d30, {d2-d4}, d31 :: Qd 0x0fa255a1 0x0fa255a1  Qm (i32)0x170efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d30, {d2-d4}, d31 :: Qd 0xa3caa1cc 0xa3caa1cc  Qm (i32)0x0d130f11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d30, {d2-d4}, d31 :: Qd 0xa314a11f 0xa314a11f  Qm (i32)0x0d130f11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d30, {d2-d4}, d31 :: Qd 0xa30ba109 0xa30ba109  Qm (i32)0x0d130f11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d30, {d2-d4}, d31 :: Qd 0x12a1cccc 0x12a1cccc  Qm (i32)0x070f1511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
-vtbx.8 d30, {d2-d4}, d31 :: Qd 0x13a1191f 0x13a1191f  Qm (i32)0x070f1511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
+vtbx.8 d30, {d2-d4}, d31 :: Qd 0x07a10d09 0x07a10d09  Qm (i32)0x070f1511  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xa1a2a3a4
 vtbx.8 d0, {d2-d5}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbx.8 d0, {d2-d5}, d1 :: Qd 0x1f1f1f1f 0x1f1f1f1f  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbx.8 d0, {d2-d5}, d1 :: Qd 0x00000000 0x00000000  Qm (i8)0x00000000  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d0, {d1-d4}, d10 :: Qd 0xcccccccc 0xcccccccc  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbx.8 d0, {d1-d4}, d10 :: Qd 0x1f1f1f1f 0x1f1f1f1f  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbx.8 d0, {d1-d4}, d10 :: Qd 0x09090909 0x09090909  Qm (i8)0x00000011  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d0, {d28-d31}, d1 :: Qd 0xcacacaca 0xcacacaca  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbx.8 d0, {d28-d31}, d1 :: Qd 0x15151515 0x15151515  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbx.8 d0, {d28-d31}, d1 :: Qd 0x0f0f0f0f 0x0f0f0f0f  Qm (i8)0x00000017  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d0, {d22-d25}, d1 :: Qd 0xa3a3a3a3 0xa3a3a3a3  Qm (i8)0x00000009  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d0, {d22-d25}, d1 :: Qd 0xa3a3a3a3 0xa3a3a3a3  Qm (i8)0x00000009  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d0, {d22-d25}, d1 :: Qd 0xfdfdfdfd 0xfdfdfdfd  Qm (i8)0x0000001a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d0, {d22-d25}, d1 :: Qd 0xfdfdfdfd 0xfdfdfdfd  Qm (i8)0x0000001a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d0, {d22-d25}, d1 :: Qd 0x78787878 0x78787878  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbx.8 d0, {d22-d25}, d1 :: Qd 0x1b1b1b1b 0x1b1b1b1b  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbx.8 d0, {d22-d25}, d1 :: Qd 0x04040404 0x04040404  Qm (i8)0x00000004  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d0, {d22-d25}, d1 :: Qd 0xcbcbcbcb 0xcbcbcbcb  Qm (i8)0x00000016  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbx.8 d0, {d22-d25}, d1 :: Qd 0x1d1d1d1d 0x1d1d1d1d  Qm (i8)0x00000016  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbx.8 d0, {d22-d25}, d1 :: Qd 0x0e0e0e0e 0x0e0e0e0e  Qm (i8)0x00000016  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d0, {d22-d25}, d1 :: Qd 0xfefefefe 0xfefefefe  Qm (i8)0x0000001f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d0, {d22-d25}, d1 :: Qd 0xfefefefe 0xfefefefe  Qm (i8)0x0000001f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d30, {d2-d5}, d31 :: Qd 0xfd12cc55 0xfd12cc55  Qm (i32)0x1a0315ff  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbx.8 d30, {d2-d5}, d31 :: Qd 0xfd121955 0xfd121955  Qm (i32)0x1a0315ff  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbx.8 d30, {d2-d5}, d31 :: Qd 0xfd030d55 0xfd030d55  Qm (i32)0x1a0315ff  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d30, {d2-d5}, d31 :: Qd 0xa4a25656 0xa4a25656  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbx.8 d30, {d2-d5}, d31 :: Qd 0xa4a21a1e 0xa4a21a1e  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbx.8 d30, {d2-d5}, d31 :: Qd 0xa4a20501 0xa4a20501  Qm (i32)0x0c0a0501  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d30, {d2-d5}, d31 :: Qd 0xcafd55a1 0xcafd55a1  Qm (i32)0x171efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbx.8 d30, {d2-d5}, d31 :: Qd 0x15fd55a1 0x15fd55a1  Qm (i32)0x171efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbx.8 d30, {d2-d5}, d31 :: Qd 0x0ffd55a1 0x0ffd55a1  Qm (i32)0x171efe0f  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d30, {d2-d5}, d31 :: Qd 0xfccaa1fd 0xfccaa1fd  Qm (i32)0x1d130f1a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbx.8 d30, {d2-d5}, d31 :: Qd 0xfc14a1fd 0xfc14a1fd  Qm (i32)0x1d130f1a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbx.8 d30, {d2-d5}, d31 :: Qd 0xfc0ba1fd 0xfc0ba1fd  Qm (i32)0x1d130f1a  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 vtbx.8 d30, {d2-d5}, d31 :: Qd 0xcacdfbcc 0xcacdfbcc  Qm (i32)0x17101c11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
-vtbx.8 d30, {d2-d5}, d31 :: Qd 0x151cfb1f 0x151cfb1f  Qm (i32)0x17101c11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
+vtbx.8 d30, {d2-d5}, d31 :: Qd 0x0f08fb09 0x0f08fb09  Qm (i32)0x17101c11  Qn1 (i32)0x12345678  Qn2 (i32)0xa1a2a3a4  Qn3 (i32)0xcacbcccd  Qn4 (i32)0xfefdfcfb
 ---- VPMAX (integer) ----
 vpmax.s32 d0, d1, d2 :: Qd 0x00000079 0x00000019  Qm (i32)0x00000019  Qn (i32)0x00000079
-vpmax.s32 d0, d1, d2 :: Qd 0x00000079 0x131b1a1b  Qm (i32)0x00000019  Qn (i32)0x00000079
+vpmax.s32 d0, d1, d2 :: Qd 0x00000079 0x07060504  Qm (i32)0x00000019  Qn (i32)0x00000079
 vpmax.s32 d0, d1, d2 :: Qd 0x00000079 0x000000fa  Qm (i32)0x000000fa  Qn (i32)0x00000079
-vpmax.s32 d0, d1, d2 :: Qd 0x00000079 0x131b1a1b  Qm (i32)0x000000fa  Qn (i32)0x00000079
+vpmax.s32 d0, d1, d2 :: Qd 0x00000079 0x07060504  Qm (i32)0x000000fa  Qn (i32)0x00000079
 vpmax.s32 d0, d1, d2 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c  Qn (i32)0x0000008c
-vpmax.s32 d0, d1, d2 :: Qd 0x0000008c 0x131b1a1b  Qm (i32)0x0000008c  Qn (i32)0x0000008c
+vpmax.s32 d0, d1, d2 :: Qd 0x0000008c 0x07060504  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vpmax.s16 d0, d1, d2 :: Qd 0x00780078 0x01400140  Qm (i32)0x01200140  Qn (i32)0x00000078
-vpmax.s16 d0, d1, d2 :: Qd 0x00780078 0x1a1b1e1f  Qm (i32)0x01200140  Qn (i32)0x00000078
+vpmax.s16 d0, d1, d2 :: Qd 0x00780078 0x07060302  Qm (i32)0x01200140  Qn (i32)0x00000078
 vpmax.s8 d0, d1, d2 :: Qd 0x00780078 0x00780078  Qm (i32)0x00000078  Qn (i32)0x00000078
-vpmax.s8 d0, d1, d2 :: Qd 0x00780078 0x1b1b1f1f  Qm (i32)0x00000078  Qn (i32)0x00000078
+vpmax.s8 d0, d1, d2 :: Qd 0x00780078 0x07050301  Qm (i32)0x00000078  Qn (i32)0x00000078
 vpmax.s8 d5, d7, d5 :: Qd 0x00020002 0x00010001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmax.s8 d5, d7, d5 :: Qd 0x00020002 0x1b1b1f1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmax.s8 d5, d7, d5 :: Qd 0x00020002 0x07050301  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmax.s16 d0, d1, d2 :: Qd 0x00020002 0x00010001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmax.s16 d0, d1, d2 :: Qd 0x00020002 0x1a1b1e1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmax.s16 d0, d1, d2 :: Qd 0x00020002 0x07060302  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmax.s32 d0, d1, d2 :: Qd 0x80000002 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmax.s32 d0, d1, d2 :: Qd 0x80000002 0x131b1a1b  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmax.s32 d0, d1, d2 :: Qd 0x80000002 0x07060504  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmax.s8 d5, d7, d5 :: Qd 0x00030003 0x00010001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmax.s8 d5, d7, d5 :: Qd 0x00030003 0x1b1b1f1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmax.s8 d5, d7, d5 :: Qd 0x00030003 0x07050301  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmax.s16 d0, d1, d2 :: Qd 0x00030003 0x00010001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmax.s16 d0, d1, d2 :: Qd 0x00030003 0x1a1b1e1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmax.s16 d0, d1, d2 :: Qd 0x00030003 0x07060302  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmax.s32 d0, d1, d2 :: Qd 0x80000003 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmax.s32 d0, d1, d2 :: Qd 0x80000003 0x131b1a1b  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmax.s32 d0, d1, d2 :: Qd 0x80000003 0x07060504  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmax.s8 d5, d7, d5 :: Qd 0x00020002 0x00040004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmax.s8 d5, d7, d5 :: Qd 0x00020002 0x1b1b1f1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmax.s8 d5, d7, d5 :: Qd 0x00020002 0x07050301  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmax.s16 d0, d1, d2 :: Qd 0x00020002 0x00040004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmax.s16 d0, d1, d2 :: Qd 0x00020002 0x1a1b1e1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmax.s16 d0, d1, d2 :: Qd 0x00020002 0x07060302  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmax.s32 d0, d1, d2 :: Qd 0x80000002 0x80000004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmax.s32 d0, d1, d2 :: Qd 0x80000002 0x131b1a1b  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmax.s32 d0, d1, d2 :: Qd 0x80000002 0x07060504  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmax.s32 d10, d11, d12 :: Qd 0x00000078 0x00000018  Qm (i32)0x00000018  Qn (i32)0x00000078
-vpmax.s32 d10, d11, d12 :: Qd 0x00000078 0x131b1a1b  Qm (i32)0x00000018  Qn (i32)0x00000078
+vpmax.s32 d10, d11, d12 :: Qd 0x00000078 0x07060504  Qm (i32)0x00000018  Qn (i32)0x00000078
 vpmax.u32 d0, d1, d2 :: Qd 0x00000078 0x00000019  Qm (i32)0x00000019  Qn (i32)0x00000078
-vpmax.u32 d0, d1, d2 :: Qd 0x00000078 0x131b1a1b  Qm (i32)0x00000019  Qn (i32)0x00000078
+vpmax.u32 d0, d1, d2 :: Qd 0x00000078 0x07060504  Qm (i32)0x00000019  Qn (i32)0x00000078
 vpmax.u32 d0, d1, d2 :: Qd 0x00000078 0x000000fa  Qm (i32)0x000000fa  Qn (i32)0x00000078
-vpmax.u32 d0, d1, d2 :: Qd 0x00000078 0x131b1a1b  Qm (i32)0x000000fa  Qn (i32)0x00000078
+vpmax.u32 d0, d1, d2 :: Qd 0x00000078 0x07060504  Qm (i32)0x000000fa  Qn (i32)0x00000078
 vpmax.u32 d0, d1, d2 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c  Qn (i32)0x0000008c
-vpmax.u32 d0, d1, d2 :: Qd 0x0000008c 0x131b1a1b  Qm (i32)0x0000008c  Qn (i32)0x0000008c
+vpmax.u32 d0, d1, d2 :: Qd 0x0000008c 0x07060504  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vpmax.u16 d0, d1, d2 :: Qd 0x00780078 0x01400140  Qm (i32)0x01200140  Qn (i32)0x00000078
-vpmax.u16 d0, d1, d2 :: Qd 0x00780078 0x1a1b1e1f  Qm (i32)0x01200140  Qn (i32)0x00000078
+vpmax.u16 d0, d1, d2 :: Qd 0x00780078 0x07060302  Qm (i32)0x01200140  Qn (i32)0x00000078
 vpmax.u8 d0, d1, d2 :: Qd 0x00780078 0x20212021  Qm (i32)0x01202120  Qn (i32)0x00000078
-vpmax.u8 d0, d1, d2 :: Qd 0x00780078 0x1b1b1f1f  Qm (i32)0x01202120  Qn (i32)0x00000078
+vpmax.u8 d0, d1, d2 :: Qd 0x00780078 0x07050301  Qm (i32)0x01202120  Qn (i32)0x00000078
 vpmax.u8 d0, d1, d2 :: Qd 0x80028002 0x80018001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmax.u8 d0, d1, d2 :: Qd 0x80028002 0x1b1b1f1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmax.u8 d0, d1, d2 :: Qd 0x80028002 0x07050301  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmax.u16 d0, d1, d2 :: Qd 0x80008000 0x80008000  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmax.u16 d0, d1, d2 :: Qd 0x80008000 0x1a1b1e1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmax.u16 d0, d1, d2 :: Qd 0x80008000 0x07060302  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmax.u32 d0, d1, d2 :: Qd 0x80000002 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmax.u32 d0, d1, d2 :: Qd 0x80000002 0x131b1a1b  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmax.u32 d0, d1, d2 :: Qd 0x80000002 0x07060504  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmax.u8 d0, d1, d2 :: Qd 0x80038003 0x80018001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmax.u8 d0, d1, d2 :: Qd 0x80038003 0x1b1b1f1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmax.u8 d0, d1, d2 :: Qd 0x80038003 0x07050301  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmax.u16 d0, d1, d2 :: Qd 0x80008000 0x80008000  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmax.u16 d0, d1, d2 :: Qd 0x80008000 0x1a1b1e1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmax.u16 d0, d1, d2 :: Qd 0x80008000 0x07060302  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmax.u32 d0, d1, d2 :: Qd 0x80000003 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmax.u32 d0, d1, d2 :: Qd 0x80000003 0x131b1a1b  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmax.u32 d0, d1, d2 :: Qd 0x80000003 0x07060504  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmax.u8 d0, d1, d2 :: Qd 0x80028002 0x80048004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmax.u8 d0, d1, d2 :: Qd 0x80028002 0x1b1b1f1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmax.u8 d0, d1, d2 :: Qd 0x80028002 0x07050301  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmax.u16 d0, d1, d2 :: Qd 0x80008000 0x80008000  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmax.u16 d0, d1, d2 :: Qd 0x80008000 0x1a1b1e1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmax.u16 d0, d1, d2 :: Qd 0x80008000 0x07060302  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmax.u32 d0, d1, d2 :: Qd 0x80000002 0x80000004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmax.u32 d0, d1, d2 :: Qd 0x80000002 0x131b1a1b  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmax.u32 d0, d1, d2 :: Qd 0x80000002 0x07060504  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmax.u32 d10, d11, d12 :: Qd 0x00000078 0x00000018  Qm (i32)0x00000018  Qn (i32)0x00000078
-vpmax.u32 d10, d11, d12 :: Qd 0x00000078 0x131b1a1b  Qm (i32)0x00000018  Qn (i32)0x00000078
+vpmax.u32 d10, d11, d12 :: Qd 0x00000078 0x07060504  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VPMIN (integer) ----
 vpmin.s32 d0, d1, d2 :: Qd 0x00000079 0x00000019  Qm (i32)0x00000019  Qn (i32)0x00000079
-vpmin.s32 d0, d1, d2 :: Qd 0x00000079 0x121f1e1f  Qm (i32)0x00000019  Qn (i32)0x00000079
+vpmin.s32 d0, d1, d2 :: Qd 0x00000079 0x03020100  Qm (i32)0x00000019  Qn (i32)0x00000079
 vpmin.s32 d0, d1, d2 :: Qd 0x00000079 0x000000fa  Qm (i32)0x000000fa  Qn (i32)0x00000079
-vpmin.s32 d0, d1, d2 :: Qd 0x00000079 0x121f1e1f  Qm (i32)0x000000fa  Qn (i32)0x00000079
+vpmin.s32 d0, d1, d2 :: Qd 0x00000079 0x03020100  Qm (i32)0x000000fa  Qn (i32)0x00000079
 vpmin.s32 d0, d1, d2 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c  Qn (i32)0x0000008c
-vpmin.s32 d0, d1, d2 :: Qd 0x0000008c 0x121f1e1f  Qm (i32)0x0000008c  Qn (i32)0x0000008c
+vpmin.s32 d0, d1, d2 :: Qd 0x0000008c 0x03020100  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vpmin.s16 d0, d1, d2 :: Qd 0x00000000 0x01200120  Qm (i32)0x01200140  Qn (i32)0x00000078
-vpmin.s16 d0, d1, d2 :: Qd 0x00000000 0x131b121f  Qm (i32)0x01200140  Qn (i32)0x00000078
+vpmin.s16 d0, d1, d2 :: Qd 0x00000000 0x05040100  Qm (i32)0x01200140  Qn (i32)0x00000078
 vpmin.s8 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000078  Qn (i32)0x00000078
-vpmin.s8 d0, d1, d2 :: Qd 0x00000000 0x131a121e  Qm (i32)0x00000078  Qn (i32)0x00000078
+vpmin.s8 d0, d1, d2 :: Qd 0x00000000 0x06040200  Qm (i32)0x00000078  Qn (i32)0x00000078
 vpmin.s8 d5, d7, d5 :: Qd 0x80008000 0x80008000  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmin.s8 d5, d7, d5 :: Qd 0x80008000 0x131a121e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmin.s8 d5, d7, d5 :: Qd 0x80008000 0x06040200  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmin.s16 d0, d1, d2 :: Qd 0x80008000 0x80008000  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmin.s16 d0, d1, d2 :: Qd 0x80008000 0x131b121f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmin.s16 d0, d1, d2 :: Qd 0x80008000 0x05040100  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmin.s32 d0, d1, d2 :: Qd 0x80000002 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmin.s32 d0, d1, d2 :: Qd 0x80000002 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmin.s32 d0, d1, d2 :: Qd 0x80000002 0x03020100  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmin.s8 d5, d7, d5 :: Qd 0x80008000 0x80008000  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmin.s8 d5, d7, d5 :: Qd 0x80008000 0x131a121e  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmin.s8 d5, d7, d5 :: Qd 0x80008000 0x06040200  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmin.s16 d0, d1, d2 :: Qd 0x80008000 0x80008000  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmin.s16 d0, d1, d2 :: Qd 0x80008000 0x131b121f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmin.s16 d0, d1, d2 :: Qd 0x80008000 0x05040100  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmin.s32 d0, d1, d2 :: Qd 0x80000003 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmin.s32 d0, d1, d2 :: Qd 0x80000003 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmin.s32 d0, d1, d2 :: Qd 0x80000003 0x03020100  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmin.s8 d5, d7, d5 :: Qd 0x80008000 0x80008000  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmin.s8 d5, d7, d5 :: Qd 0x80008000 0x131a121e  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmin.s8 d5, d7, d5 :: Qd 0x80008000 0x06040200  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmin.s16 d0, d1, d2 :: Qd 0x80008000 0x80008000  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmin.s16 d0, d1, d2 :: Qd 0x80008000 0x131b121f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmin.s16 d0, d1, d2 :: Qd 0x80008000 0x05040100  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmin.s32 d0, d1, d2 :: Qd 0x80000002 0x80000004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmin.s32 d0, d1, d2 :: Qd 0x80000002 0x121f1e1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmin.s32 d0, d1, d2 :: Qd 0x80000002 0x03020100  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmin.s32 d10, d11, d12 :: Qd 0x00000078 0x00000018  Qm (i32)0x00000018  Qn (i32)0x00000078
-vpmin.s32 d10, d11, d12 :: Qd 0x00000078 0x121f1e1f  Qm (i32)0x00000018  Qn (i32)0x00000078
+vpmin.s32 d10, d11, d12 :: Qd 0x00000078 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000078
 vpmin.u32 d0, d1, d2 :: Qd 0x00000078 0x00000019  Qm (i32)0x00000019  Qn (i32)0x00000078
-vpmin.u32 d0, d1, d2 :: Qd 0x00000078 0x121f1e1f  Qm (i32)0x00000019  Qn (i32)0x00000078
+vpmin.u32 d0, d1, d2 :: Qd 0x00000078 0x03020100  Qm (i32)0x00000019  Qn (i32)0x00000078
 vpmin.u32 d0, d1, d2 :: Qd 0x00000078 0x000000fa  Qm (i32)0x000000fa  Qn (i32)0x00000078
-vpmin.u32 d0, d1, d2 :: Qd 0x00000078 0x121f1e1f  Qm (i32)0x000000fa  Qn (i32)0x00000078
+vpmin.u32 d0, d1, d2 :: Qd 0x00000078 0x03020100  Qm (i32)0x000000fa  Qn (i32)0x00000078
 vpmin.u32 d0, d1, d2 :: Qd 0x0000008c 0x0000008c  Qm (i32)0x0000008c  Qn (i32)0x0000008c
-vpmin.u32 d0, d1, d2 :: Qd 0x0000008c 0x121f1e1f  Qm (i32)0x0000008c  Qn (i32)0x0000008c
+vpmin.u32 d0, d1, d2 :: Qd 0x0000008c 0x03020100  Qm (i32)0x0000008c  Qn (i32)0x0000008c
 vpmin.u16 d0, d1, d2 :: Qd 0x00000000 0x01200120  Qm (i32)0x01200140  Qn (i32)0x00000078
-vpmin.u16 d0, d1, d2 :: Qd 0x00000000 0x131b121f  Qm (i32)0x01200140  Qn (i32)0x00000078
+vpmin.u16 d0, d1, d2 :: Qd 0x00000000 0x05040100  Qm (i32)0x01200140  Qn (i32)0x00000078
 vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x01200120  Qm (i32)0x01202120  Qn (i32)0x00000078
-vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x131a121e  Qm (i32)0x01202120  Qn (i32)0x00000078
+vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x06040200  Qm (i32)0x01202120  Qn (i32)0x00000078
 vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x131a121e  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x06040200  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmin.u16 d0, d1, d2 :: Qd 0x00020002 0x00010001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmin.u16 d0, d1, d2 :: Qd 0x00020002 0x131b121f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmin.u16 d0, d1, d2 :: Qd 0x00020002 0x05040100  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmin.u32 d0, d1, d2 :: Qd 0x80000002 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000002
-vpmin.u32 d0, d1, d2 :: Qd 0x80000002 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000002
+vpmin.u32 d0, d1, d2 :: Qd 0x80000002 0x03020100  Qm (i32)0x80000001  Qn (i32)0x80000002
 vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x131a121e  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x06040200  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmin.u16 d0, d1, d2 :: Qd 0x00030003 0x00010001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmin.u16 d0, d1, d2 :: Qd 0x00030003 0x131b121f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmin.u16 d0, d1, d2 :: Qd 0x00030003 0x05040100  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmin.u32 d0, d1, d2 :: Qd 0x80000003 0x80000001  Qm (i32)0x80000001  Qn (i32)0x80000003
-vpmin.u32 d0, d1, d2 :: Qd 0x80000003 0x121f1e1f  Qm (i32)0x80000001  Qn (i32)0x80000003
+vpmin.u32 d0, d1, d2 :: Qd 0x80000003 0x03020100  Qm (i32)0x80000001  Qn (i32)0x80000003
 vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x131a121e  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmin.u8 d0, d1, d2 :: Qd 0x00000000 0x06040200  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmin.u16 d0, d1, d2 :: Qd 0x00020002 0x00040004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmin.u16 d0, d1, d2 :: Qd 0x00020002 0x131b121f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmin.u16 d0, d1, d2 :: Qd 0x00020002 0x05040100  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmin.u32 d0, d1, d2 :: Qd 0x80000002 0x80000004  Qm (i32)0x80000004  Qn (i32)0x80000002
-vpmin.u32 d0, d1, d2 :: Qd 0x80000002 0x121f1e1f  Qm (i32)0x80000004  Qn (i32)0x80000002
+vpmin.u32 d0, d1, d2 :: Qd 0x80000002 0x03020100  Qm (i32)0x80000004  Qn (i32)0x80000002
 vpmin.u32 d10, d11, d12 :: Qd 0x00000078 0x00000018  Qm (i32)0x00000018  Qn (i32)0x00000078
-vpmin.u32 d10, d11, d12 :: Qd 0x00000078 0x121f1e1f  Qm (i32)0x00000018  Qn (i32)0x00000078
+vpmin.u32 d10, d11, d12 :: Qd 0x00000078 0x03020100  Qm (i32)0x00000018  Qn (i32)0x00000078
 ---- VQRDMULH ----
 vqrdmulh.s32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqrdmulh.s32 d0, d1, d2 :: Qd 0x00000012 0x00000011  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqrdmulh.s32 d0, d1, d2 :: Qd 0x00000007 0x00000003  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqrdmulh.s32 d6, d7, d8 :: Qd 0x00000000 0x00000000  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
-vqrdmulh.s32 d6, d7, d8 :: Qd 0xffffffee 0xffffffef  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
+vqrdmulh.s32 d6, d7, d8 :: Qd 0xfffffff9 0xfffffffd  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
 vqrdmulh.s16 d9, d11, d12 :: Qd 0x00000003 0x00000003  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
-vqrdmulh.s16 d9, d11, d12 :: Qd 0x0000003b 0x00000044  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
+vqrdmulh.s16 d9, d11, d12 :: Qd 0x0000000b 0x00000002  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
 vqrdmulh.s16 d4, d5, d6 :: Qd 0x00001001 0x00001001  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
-vqrdmulh.s16 d4, d5, d6 :: Qd 0x00000687 0x00000788  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
+vqrdmulh.s16 d4, d5, d6 :: Qd 0x00000141 0x00000040  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
 vqrdmulh.s32 d7, d8, d9 :: Qd 0x7ffffffd 0x7ffffffd  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
-vqrdmulh.s32 d7, d8, d9 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqrdmulh.s32 d7, d8, d9 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqrdmulh.s16 d4, d5, d6 :: Qd 0x0000e50b 0x0000e50b  Qm (i32)0xffff9433  Qn (i32)0x00002002  fpscr: 00000000
-vqrdmulh.s16 d4, d5, d6 :: Qd 0x00000687 0x00000788  Qm (i32)0xffff9433  Qn (i32)0x00002002  fpscr: 00000000
+vqrdmulh.s16 d4, d5, d6 :: Qd 0x00000141 0x00000040  Qm (i32)0xffff9433  Qn (i32)0x00002002  fpscr: 00000000
 vqrdmulh.s32 d7, d8, d9 :: Qd 0xfffffff4 0xfffffff4  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
-vqrdmulh.s32 d7, d8, d9 :: Qd 0x00000002 0x00000002  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
+vqrdmulh.s32 d7, d8, d9 :: Qd 0x00000001 0x00000000  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
 vqrdmulh.s16 d4, d5, d6 :: Qd 0x00000040 0x00000040  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
-vqrdmulh.s16 d4, d5, d6 :: Qd 0x00000687 0x00000788  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
+vqrdmulh.s16 d4, d5, d6 :: Qd 0x00000141 0x00000040  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
 vqrdmulh.s32 d7, d8, d9 :: Qd 0x7ffffffd 0x7ffffffd  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
-vqrdmulh.s32 d7, d8, d9 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqrdmulh.s32 d7, d8, d9 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqrdmulh.s32 d10, d11, d15 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqrdmulh.s32 d10, d11, d15 :: Qd 0x00000012 0x00000011  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqrdmulh.s32 d10, d11, d15 :: Qd 0x00000007 0x00000003  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqrdmulh.s32 d10, d30, d31 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 08000000
-vqrdmulh.s32 d10, d30, d31 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
+vqrdmulh.s32 d10, d30, d31 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
 vqrdmulh.s16 d10, d30, d31 :: Qd 0x7fff0000 0x7fff0000  Qm (i32)0x80000000  Qn (i32)0x80000001  fpscr: 08000000
-vqrdmulh.s16 d10, d30, d31 :: Qd 0xece50000 0xede10000  Qm (i32)0x80000000  Qn (i32)0x80000001  fpscr: 00000000
+vqrdmulh.s16 d10, d30, d31 :: Qd 0xf8fa0000 0xfcfe0000  Qm (i32)0x80000000  Qn (i32)0x80000001  fpscr: 00000000
 vqrdmulh.s32 d10, d30, d31 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
-vqrdmulh.s32 d10, d30, d31 :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
+vqrdmulh.s32 d10, d30, d31 :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
 vqrdmulh.s16 d10, d30, d31 :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
-vqrdmulh.s16 d10, d30, d31 :: Qd 0x098e0000 0x09100000  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
+vqrdmulh.s16 d10, d30, d31 :: Qd 0x03830000 0x01810000  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
 ---- VQRDMULH (by scalar) ----
 vqrdmulh.s32 d0, d1, d6[0] :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqrdmulh.s32 d0, d1, d6[0] :: Qd 0x00000012 0x00000011  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqrdmulh.s32 d0, d1, d6[0] :: Qd 0x00000007 0x00000003  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqrdmulh.s32 d6, d7, d1[1] :: Qd 0x00000000 0x00000000  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
-vqrdmulh.s32 d6, d7, d1[1] :: Qd 0xffffffee 0xffffffef  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
+vqrdmulh.s32 d6, d7, d1[1] :: Qd 0xfffffff9 0xfffffffd  Qm (i32)0x0000008c  Qn (i32)0xffffff88  fpscr: 00000000
 vqrdmulh.s16 d9, d11, d7[0] :: Qd 0x00000003 0x00000003  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
-vqrdmulh.s16 d9, d11, d7[0] :: Qd 0x002b003b 0x00290044  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
+vqrdmulh.s16 d9, d11, d7[0] :: Qd 0x0010000b 0x00070002  Qm (i32)0x00000140  Qn (i32)0x00000120  fpscr: 00000000
 vqrdmulh.s16 d4, d5, d6[0] :: Qd 0x00001001 0x00001001  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
-vqrdmulh.s16 d4, d5, d6[0] :: Qd 0x04c70687 0x04880788  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
+vqrdmulh.s16 d4, d5, d6[0] :: Qd 0x01c20141 0x00c10040  Qm (i32)0x00004001  Qn (i32)0x00002002  fpscr: 00000000
 vqrdmulh.s32 d7, d8, d9[1] :: Qd 0x7ffffffd 0x7ffffffd  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
-vqrdmulh.s32 d7, d8, d9[1] :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqrdmulh.s32 d7, d8, d9[1] :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqrdmulh.s16 d4, d5, d6[1] :: Qd 0x0000e50b 0x0000e50b  Qm (i32)0xffff9433  Qn (i16)0x00002002  fpscr: 00000000
-vqrdmulh.s16 d4, d5, d6[1] :: Qd 0x04c70687 0x04880788  Qm (i32)0xffff9433  Qn (i16)0x00002002  fpscr: 00000000
+vqrdmulh.s16 d4, d5, d6[1] :: Qd 0x01c20141 0x00c10040  Qm (i32)0xffff9433  Qn (i16)0x00002002  fpscr: 00000000
 vqrdmulh.s32 d7, d8, d9[0] :: Qd 0xfffffff4 0xfffffff4  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
-vqrdmulh.s32 d7, d8, d9[0] :: Qd 0x00000002 0x00000002  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
+vqrdmulh.s32 d7, d8, d9[0] :: Qd 0x00000001 0x00000000  Qm (i32)0x80000000  Qn (i32)0x0000000c  fpscr: 00000000
 vqrdmulh.s16 d4, d5, d6[2] :: Qd 0x04000040 0x04000040  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
-vqrdmulh.s16 d4, d5, d6[2] :: Qd 0x04c70687 0x04880788  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
+vqrdmulh.s16 d4, d5, d6[2] :: Qd 0x01c20141 0x00c10040  Qm (i32)0x100000fe  Qn (i32)0x00002002  fpscr: 00000000
 vqrdmulh.s32 d7, d8, d9[0] :: Qd 0x7ffffffd 0x7ffffffd  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
-vqrdmulh.s32 d7, d8, d9[0] :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
+vqrdmulh.s32 d7, d8, d9[0] :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x80000001  Qn (i32)0x80000002  fpscr: 00000000
 vqrdmulh.s32 d10, d31, d15[0] :: Qd 0x00000000 0x00000000  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
-vqrdmulh.s32 d10, d31, d15[0] :: Qd 0x00000012 0x00000011  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
+vqrdmulh.s32 d10, d31, d15[0] :: Qd 0x00000007 0x00000003  Qm (i32)0x00000018  Qn (i32)0x00000078  fpscr: 00000000
 vqrdmulh.s32 d10, d14, d15[1] :: Qd 0xffffff88 0xffffff88  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
-vqrdmulh.s32 d10, d14, d15[1] :: Qd 0x00000012 0x00000011  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
+vqrdmulh.s32 d10, d14, d15[1] :: Qd 0x00000007 0x00000003  Qm (i32)0x80000000  Qn (i32)0x80000000  fpscr: 00000000
 vqrdmulh.s16 d10, d14, d7[3] :: Qd 0x7fff0000 0x7fff0000  Qm (i32)0x80000000  Qn (i32)0x80000001  fpscr: 08000000
-vqrdmulh.s16 d10, d14, d7[3] :: Qd 0xece5e5e5 0xede1e1e1  Qm (i32)0x80000000  Qn (i32)0x80000001  fpscr: 00000000
+vqrdmulh.s16 d10, d14, d7[3] :: Qd 0xf8fafafc 0xfcfeff00  Qm (i32)0x80000000  Qn (i32)0x80000001  fpscr: 00000000
 vqrdmulh.s32 d10, d14, d15[1] :: Qd 0xc0000000 0xc0000000  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
-vqrdmulh.s32 d10, d14, d15[1] :: Qd 0xece4e5e5 0xede0e1e1  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
+vqrdmulh.s32 d10, d14, d15[1] :: Qd 0xf8f9fafc 0xfcfdff00  Qm (i32)0x40000000  Qn (i32)0x80000000  fpscr: 00000000
 vqrdmulh.s16 d31, d14, d7[1] :: Qd 0xc0000000 0xc0000000  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
-vqrdmulh.s16 d31, d14, d7[1] :: Qd 0x098e0d0e 0x09100f10  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
+vqrdmulh.s16 d31, d14, d7[1] :: Qd 0x03830282 0x01810080  Qm (i32)0x80000000  Qn (i32)0x40000000  fpscr: 00000000
 ---- VADD (fp) ----
 vadd.f32 d0, d5, d2 :: Qd 0xc1b43ac6 0xc1b43ac6  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
 vadd.f32 d0, d5, d2 :: Qd 0xc2364659 0xc2364659  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
@@ -4343,7 +4343,7 @@
 vadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vadd.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
-vadd.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0x00000000
+vadd.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
 vadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
 vadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0xff800000
@@ -4353,7 +4353,7 @@
 vadd.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vadd.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vadd.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
-vadd.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x00000000
+vadd.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000000  Qn (i32)0x00000000
 vadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x00000000  Qn (i32)0x7f800000
 vadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x00000000  Qn (i32)0x7f800000
 vadd.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0x00000000  Qn (i32)0xff800000
@@ -4363,7 +4363,7 @@
 vadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vadd.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x00000000
-vadd.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0x00000000
+vadd.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
 vadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
 vadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0xff800000
@@ -4373,7 +4373,7 @@
 vadd.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vadd.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vadd.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x00000000
-vadd.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0x00000000
+vadd.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0xff800000  Qn (i32)0x00000000
 vadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0x7f800000
 vadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0xff800000  Qn (i32)0x7f800000
 vadd.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0xff800000
@@ -4424,7 +4424,7 @@
 vsub.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vsub.f32 d0, d1, d2 :: Qd 0xbf800000 0xbf800000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vsub.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
-vsub.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0x00000000
+vsub.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vsub.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
 vsub.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
 vsub.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0xff800000
@@ -4434,7 +4434,7 @@
 vsub.f32 d0, d1, d2 :: Qd 0xbf800000 0xbf800000  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vsub.f32 d0, d1, d2 :: Qd 0xbf800000 0xbf800000  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vsub.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
-vsub.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x00000000
+vsub.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000000  Qn (i32)0x00000000
 vsub.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0x00000000  Qn (i32)0x7f800000
 vsub.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0x00000000  Qn (i32)0x7f800000
 vsub.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x00000000  Qn (i32)0xff800000
@@ -4444,7 +4444,7 @@
 vsub.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vsub.f32 d0, d1, d2 :: Qd 0xbf800000 0xbf800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vsub.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x00000000
-vsub.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0x00000000
+vsub.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vsub.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
 vsub.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
 vsub.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0xff800000
@@ -4454,56 +4454,56 @@
 vsub.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vsub.f32 d0, d1, d2 :: Qd 0xbf800000 0xbf800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vsub.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x00000000
-vsub.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0x00000000
+vsub.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0xff800000  Qn (i32)0x00000000
 vsub.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x7f800000
 vsub.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x7f800000
 vsub.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0xff800000
 vsub.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0xff800000  Qn (i32)0xff800000
 ---- VMUL (fp) ----
 vmul.f32 d0, d5, d2 :: Qd 0xc4833ce4 0xc4833ce4  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
-vmul.f32 d0, d5, d2 :: Qd 0x95dcde5d 0x94e29647  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
+vmul.f32 d0, d5, d2 :: Qd 0x89bed8ca 0x85b920df  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
 vmul.f32 d3, d4, d5 :: Qd 0xcddf4321 0xcddf4321  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
-vmul.f32 d3, d4, d5 :: Qd 0x184bdfd0 0x17512718  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
+vmul.f32 d3, d4, d5 :: Qd 0x0c302998 0x082ae250  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
 vmul.f32 d10, d11, d2 :: Qd 0xcf050e7f 0xcf050e7f  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
-vmul.f32 d10, d11, d2 :: Qd 0x9ad8b90a 0x99de557a  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
+vmul.f32 d10, d11, d2 :: Qd 0x8ebb43ba 0x8ab5a74a  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
 vmul.f32 d9, d5, d7 :: Qd 0x4ec3063f 0x4ec3063f  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
-vmul.f32 d9, d5, d7 :: Qd 0x1a218c7d 0x1925bb3c  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
+vmul.f32 d9, d5, d7 :: Qd 0x0e0b9711 0x0a076853  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
 vmul.f32 d0, d5, d2 :: Qd 0x5029254c 0x5029254c  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
-vmul.f32 d0, d5, d2 :: Qd 0x9c131100 0x9b16dfc1  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
+vmul.f32 d0, d5, d2 :: Qd 0x8ffe270c 0x8bf68989  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
 vmul.f32 d3, d4, d5 :: Qd 0x46fc6000 0x46fc6000  Qm (i32)0x41c00000  Qn (i32)0x44a84000
-vmul.f32 d3, d4, d5 :: Qd 0x184bdfd0 0x17512718  Qm (i32)0x41c00000  Qn (i32)0x44a84000
+vmul.f32 d3, d4, d5 :: Qd 0x0c302998 0x082ae250  Qm (i32)0x41c00000  Qn (i32)0x44a84000
 vmul.f32 d10, d11, d2 :: Qd 0x4c4a89cd 0x4c4a89cd  Qm (i32)0x473e7300  Qn (i32)0x44882000
-vmul.f32 d10, d11, d2 :: Qd 0x1824f283 0x172937c8  Qm (i32)0x473e7300  Qn (i32)0x44882000
+vmul.f32 d10, d11, d2 :: Qd 0x0c0e86d6 0x080a4190  Qm (i32)0x473e7300  Qn (i32)0x44882000
 vmul.f32 d9, d5, d7 :: Qd 0x4db2c947 0x4db2c947  Qm (i32)0x43560000  Qn (i32)0x49d5e008
-vmul.f32 d9, d5, d7 :: Qd 0x1d819474 0x1c84ef4f  Qm (i32)0x43560000  Qn (i32)0x49d5e008
+vmul.f32 d9, d5, d7 :: Qd 0x115feeea 0x0d593934  Qm (i32)0x43560000  Qn (i32)0x49d5e008
 vmul.f32 d0, d11, d12 :: Qd 0x4ef90536 0x4ef90536  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
-vmul.f32 d0, d11, d12 :: Qd 0x195e2a0a 0x1863ea8b  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
+vmul.f32 d0, d11, d12 :: Qd 0x0d3ff762 0x093a36e1  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
 vmul.f32 d7, d1, d6 :: Qd 0x3dab1f7a 0x3dab1f7a  Qm (i32)0x42080079  Qn (i32)0x3b210e02
-vmul.f32 d7, d1, d6 :: Qd 0x0ec327cf 0x0dc8354d  Qm (i32)0x42080079  Qn (i32)0x3b210e02
+vmul.f32 d7, d1, d6 :: Qd 0x02a8a0fa 0x00000000  Qm (i32)0x42080079  Qn (i32)0x3b210e02
 vmul.f32 d0, d1, d2 :: Qd 0x488fe2c0 0x488fe2c0  Qm (i32)0x452c2000  Qn (i32)0x42d60000
-vmul.f32 d0, d1, d2 :: Qd 0x1681a7d3 0x1585032e  Qm (i32)0x452c2000  Qn (i32)0x42d60000
+vmul.f32 d0, d1, d2 :: Qd 0x0a601063 0x065959ac  Qm (i32)0x452c2000  Qn (i32)0x42d60000
 vmul.f32 d3, d4, d5 :: Qd 0x4993b8e3 0x4993b8e3  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
-vmul.f32 d3, d4, d5 :: Qd 0x1851b88c 0x17572694  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
+vmul.f32 d3, d4, d5 :: Qd 0x0c3536e2 0x082fc8da  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
 vmul.f32 d10, d11, d2 :: Qd 0x474f9afc 0x474f9afc  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
-vmul.f32 d10, d11, d2 :: Qd 0x1684143b 0x15877fa6  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
+vmul.f32 d10, d11, d2 :: Qd 0x0a64408b 0x065d69b4  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
 vmul.f32 d9, d5, d7 :: Qd 0x4a657ac0 0x4a657ac0  Qm (i32)0x45062000  Qn (i32)0x44db0000
-vmul.f32 d9, d5, d7 :: Qd 0x1884af55 0x17881ec5  Qm (i32)0x45062000  Qn (i32)0x44db0000
+vmul.f32 d9, d5, d7 :: Qd 0x0c654c95 0x085e6db6  Qm (i32)0x45062000  Qn (i32)0x44db0000
 vmul.f32 d0, d11, d12 :: Qd 0x489eee1e 0x489eee1e  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
-vmul.f32 d0, d11, d12 :: Qd 0x995b1d4f 0x9860c99a  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
+vmul.f32 d0, d11, d12 :: Qd 0x8d3d54c6 0x8937a87c  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
 vmul.f32 d7, d1, d6 :: Qd 0xc5500239 0xc5500239  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
-vmul.f32 d7, d1, d6 :: Qd 0x948d6cdc 0x9391163a  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
+vmul.f32 d7, d1, d6 :: Qd 0x8874675c 0x846d14a0  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
 vmul.f32 d0, d5, d2 :: Qd 0xc01c7d07 0xc01c7d07  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
-vmul.f32 d0, d5, d2 :: Qd 0x8f3627de 0x8e3adf32  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
+vmul.f32 d0, d5, d2 :: Qd 0x831d6563 0x80000000  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
 vmul.f32 d10, d13, d15 :: Qd 0x488666a6 0x488666a6  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
-vmul.f32 d10, d13, d15 :: Qd 0x97abd669 0x96b04959  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
+vmul.f32 d10, d13, d15 :: Qd 0x8b947af9 0x87900808  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
 vmul.f32 d10, d13, d15 :: Qd 0x4f115379 0x4f115379  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
-vmul.f32 d10, d13, d15 :: Qd 0x19a5c7d1 0x18aa129c  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
+vmul.f32 d10, d13, d15 :: Qd 0x0d8f3f25 0x098af45a  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
 vmul.f32 d0, d1, d2 :: Qd 0x5d6e81fd 0x5d6e81fd  Qm (i32)0x4e511724  Qn (i32)0x4e920233
-vmul.f32 d0, d1, d2 :: Qd 0x2230ec71 0x21358117  Qm (i32)0x4e511724  Qn (i32)0x4e920233
+vmul.f32 d0, d1, d2 :: Qd 0x1618e006 0x12144b60  Qm (i32)0x4e511724  Qn (i32)0x4e920233
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
-vmul.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
+vmul.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
@@ -4513,7 +4513,7 @@
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x00000000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x00000000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x3f800000
-vmul.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x3f800000
+vmul.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vmul.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x00000000  Qn (i32)0x7f800000
@@ -4523,7 +4523,7 @@
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
-vmul.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0x3f800000
+vmul.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
@@ -4533,7 +4533,7 @@
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
-vmul.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0x3f800000
+vmul.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vmul.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0xff800000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x7f800000
@@ -4542,9 +4542,9 @@
 vmul.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0xff800000
 ---- VMUL (fp by scalar) ----
 vmul.f32 d0, d1, d4[0] :: Qd 0x45340000 0x45340000  Qm (i32)0x41c00000  Qn (i32)0x42f00000
-vmul.f32 d0, d1, d4[0] :: Qd 0x16916879 0x15952c3d  Qm (i32)0x41c00000  Qn (i32)0x42f00000
+vmul.f32 d0, d1, d4[0] :: Qd 0x0a7b4968 0x0673c1e0  Qm (i32)0x41c00000  Qn (i32)0x42f00000
 vmul.f32 d31, d8, d7[1] :: Qd 0xc6834000 0xc6834000  Qm (i32)0x430c0000  Qn (i32)0xc2f00000
-vmul.f32 d31, d8, d7[1] :: Qd 0x96916879 0x95952c3d  Qm (i32)0x430c0000  Qn (i32)0xc2f00000
+vmul.f32 d31, d8, d7[1] :: Qd 0x8a7b4968 0x8673c1e0  Qm (i32)0x430c0000  Qn (i32)0xc2f00000
 vmul.f32 d4, d8, d15[1] :: Qd 0x00000000 0x00000000  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmul.f32 d4, d8, d15[1] :: Qd 0x80000000 0x80000000  Qm (i32)0x80000001  Qn (i32)0x80000002
 vmul.f32 d7, d8, d1[1] :: Qd 0x80000000 0x80000000  Qm (i32)0x80000000  Qn (i16)0x0000000c
@@ -4554,11 +4554,11 @@
 vmul.f32 d7, d8, d1[0] :: Qd 0x4479ffff 0x4479ffff  Qm (i32)0x64078678  Qn (i32)0x1fec1e4a
 vmul.f32 d7, d8, d1[0] :: Qd 0x00000000 0x00000000  Qm (i32)0x64078678  Qn (i32)0x1fec1e4a
 vmul.f32 d7, d24, d1[0] :: Qd 0x65a96816 0x65a96816  Qm (i32)0x5368d4a5  Qn (i32)0x51ba43b7
-vmul.f32 d7, d24, d1[0] :: Qd 0x2561b3fd 0x24678bf2  Qm (i32)0x5368d4a5  Qn (i32)0x51ba43b7
+vmul.f32 d7, d24, d1[0] :: Qd 0x19430630 0x153d2e3a  Qm (i32)0x5368d4a5  Qn (i32)0x51ba43b7
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
-vmul.f32 d0, d1, d2[0] :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
+vmul.f32 d0, d1, d2[0] :: Qd 0x07060504 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2[0] :: Qd 0x00000000 0x00000000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
@@ -4568,7 +4568,7 @@
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x00000000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x00000000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2[0] :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x3f800000
-vmul.f32 d0, d1, d2[0] :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x3f800000
+vmul.f32 d0, d1, d2[0] :: Qd 0x07060504 0x03020100  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vmul.f32 d0, d1, d2[0] :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2[0] :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x00000000  Qn (i32)0x7f800000
@@ -4578,7 +4578,7 @@
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
-vmul.f32 d0, d1, d2[0] :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0x3f800000
+vmul.f32 d0, d1, d2[0] :: Qd 0x07060504 0x03020100  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2[0] :: Qd 0x00000000 0x00000000  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
@@ -4588,7 +4588,7 @@
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0x7fc00000
 vmul.f32 d0, d1, d2[0] :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
-vmul.f32 d0, d1, d2[0] :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0x3f800000
+vmul.f32 d0, d1, d2[0] :: Qd 0x07060504 0x03020100  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vmul.f32 d0, d1, d2[0] :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2[0] :: Qd 0x00000000 0x00000000  Qm (i32)0xff800000  Qn (i32)0x00000000
 vmul.f32 d0, d1, d2[0] :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x7f800000
@@ -4910,85 +4910,85 @@
 vabd.f32 d0, d1, d2 :: Qd 0x4e920233 0x4e920233  Qm (i32)0x4e511724  Qn (i32)0x4e920233
 ---- VPADD (fp) ----
 vpadd.f32 d0, d5, d2 :: Qd 0xc2b64659 0x423851ec  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
-vpadd.f32 d0, d5, d2 :: Qd 0xc2b64659 0x1342e1a3  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
+vpadd.f32 d0, d5, d2 :: Qd 0xc2b64659 0x07068705  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
 vpadd.f32 d3, d4, d5 :: Qd 0x45284000 0xc929da0f  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
-vpadd.f32 d3, d4, d5 :: Qd 0x45284000 0x1342e1a3  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
+vpadd.f32 d3, d4, d5 :: Qd 0x45284000 0x07068705  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
 vpadd.f32 d10, d11, d2 :: Qd 0xc7b2da7a 0x47be7300  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
-vpadd.f32 d10, d11, d2 :: Qd 0xc7b2da7a 0x1342e1a3  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
+vpadd.f32 d10, d11, d2 :: Qd 0xc7b2da7a 0x07068705  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
 vpadd.f32 d9, d5, d7 :: Qd 0x47055200 0x483b3de1  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
-vpadd.f32 d9, d5, d7 :: Qd 0x47055200 0x1342e1a3  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
+vpadd.f32 d9, d5, d7 :: Qd 0x47055200 0x07068705  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
 vpadd.f32 d0, d5, d2 :: Qd 0xc8f2bcb1 0xc7b2633d  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
-vpadd.f32 d0, d5, d2 :: Qd 0xc8f2bcb1 0x1342e1a3  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
+vpadd.f32 d0, d5, d2 :: Qd 0xc8f2bcb1 0x07068705  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
 vpadd.f32 d3, d4, d5 :: Qd 0x45284000 0x42400000  Qm (i32)0x41c00000  Qn (i32)0x44a84000
-vpadd.f32 d3, d4, d5 :: Qd 0x45284000 0x1342e1a3  Qm (i32)0x41c00000  Qn (i32)0x44a84000
+vpadd.f32 d3, d4, d5 :: Qd 0x45284000 0x07068705  Qm (i32)0x41c00000  Qn (i32)0x44a84000
 vpadd.f32 d10, d11, d2 :: Qd 0x45082000 0x47be7300  Qm (i32)0x473e7300  Qn (i32)0x44882000
-vpadd.f32 d10, d11, d2 :: Qd 0x45082000 0x1342e1a3  Qm (i32)0x473e7300  Qn (i32)0x44882000
+vpadd.f32 d10, d11, d2 :: Qd 0x45082000 0x07068705  Qm (i32)0x473e7300  Qn (i32)0x44882000
 vpadd.f32 d9, d5, d7 :: Qd 0x4a55e008 0x43d60000  Qm (i32)0x43560000  Qn (i32)0x49d5e008
-vpadd.f32 d9, d5, d7 :: Qd 0x4a55e008 0x1342e1a3  Qm (i32)0x43560000  Qn (i32)0x49d5e008
+vpadd.f32 d9, d5, d7 :: Qd 0x4a55e008 0x07068705  Qm (i32)0x43560000  Qn (i32)0x49d5e008
 vpadd.f32 d0, d11, d12 :: Qd 0x46375812 0x492dd9f2  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
-vpadd.f32 d0, d11, d12 :: Qd 0x46375812 0x1342e1a3  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
+vpadd.f32 d0, d11, d12 :: Qd 0x46375812 0x07068705  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
 vpadd.f32 d7, d1, d6 :: Qd 0x3ba10e02 0x42880079  Qm (i32)0x42080079  Qn (i32)0x3b210e02
-vpadd.f32 d7, d1, d6 :: Qd 0x3ba10e02 0x1342e1a3  Qm (i32)0x42080079  Qn (i32)0x3b210e02
+vpadd.f32 d7, d1, d6 :: Qd 0x3ba10e02 0x07068705  Qm (i32)0x42080079  Qn (i32)0x3b210e02
 vpadd.f32 d0, d1, d2 :: Qd 0x43560000 0x45ac2000  Qm (i32)0x452c2000  Qn (i32)0x42d60000
-vpadd.f32 d0, d1, d2 :: Qd 0x43560000 0x1342e1a3  Qm (i32)0x452c2000  Qn (i32)0x42d60000
+vpadd.f32 d0, d1, d2 :: Qd 0x43560000 0x07068705  Qm (i32)0x452c2000  Qn (i32)0x42d60000
 vpadd.f32 d3, d4, d5 :: Qd 0x452d1333 0x44da8000  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
-vpadd.f32 d3, d4, d5 :: Qd 0x452d1333 0x1342e1a3  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
+vpadd.f32 d3, d4, d5 :: Qd 0x452d1333 0x07068705  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
 vpadd.f32 d10, d11, d2 :: Qd 0x435a0000 0x4473cb23  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
-vpadd.f32 d10, d11, d2 :: Qd 0x435a0000 0x1342e1a3  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
+vpadd.f32 d10, d11, d2 :: Qd 0x435a0000 0x07068705  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
 vpadd.f32 d9, d5, d7 :: Qd 0x455b0000 0x45862000  Qm (i32)0x45062000  Qn (i32)0x44db0000
-vpadd.f32 d9, d5, d7 :: Qd 0x455b0000 0x1342e1a3  Qm (i32)0x45062000  Qn (i32)0x44db0000
+vpadd.f32 d9, d5, d7 :: Qd 0x455b0000 0x07068705  Qm (i32)0x45062000  Qn (i32)0x44db0000
 vpadd.f32 d0, d11, d12 :: Qd 0xc634d3c3 0xc2e10000  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
-vpadd.f32 d0, d11, d12 :: Qd 0xc634d3c3 0x1342e1a3  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
+vpadd.f32 d0, d11, d12 :: Qd 0xc634d3c3 0x07068705  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
 vpadd.f32 d7, d1, d6 :: Qd 0xc1696d19 0x44641fde  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
-vpadd.f32 d7, d1, d6 :: Qd 0xc1696d19 0x1342e1a3  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
+vpadd.f32 d7, d1, d6 :: Qd 0xc1696d19 0x07068705  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
 vpadd.f32 d0, d5, d2 :: Qd 0xbc165394 0x44853f2b  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
-vpadd.f32 d0, d5, d2 :: Qd 0xbc165394 0x1342e1a3  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
+vpadd.f32 d0, d5, d2 :: Qd 0xbc165394 0x07068705  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
 vpadd.f32 d10, d13, d15 :: Qd 0xc48dcfae 0xc4729f73  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
-vpadd.f32 d10, d13, d15 :: Qd 0xc48dcfae 0x1342e1a3  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
+vpadd.f32 d10, d13, d15 :: Qd 0xc48dcfae 0x07068705  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
 vpadd.f32 d10, d13, d15 :: Qd 0x4688d008 0x4907f70e  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
-vpadd.f32 d10, d13, d15 :: Qd 0x4688d008 0x1342e1a3  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
+vpadd.f32 d10, d13, d15 :: Qd 0x4688d008 0x07068705  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
 vpadd.f32 d0, d1, d2 :: Qd 0x4f120233 0x4ed11724  Qm (i32)0x4e511724  Qn (i32)0x4e920233
-vpadd.f32 d0, d1, d2 :: Qd 0x4f120233 0x1342e1a3  Qm (i32)0x4e511724  Qn (i32)0x4e920233
+vpadd.f32 d0, d1, d2 :: Qd 0x4f120233 0x07068705  Qm (i32)0x4e511724  Qn (i32)0x4e920233
 vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
-vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x1342e1a3  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
+vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x07068705  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
 vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
-vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0x1342e1a3  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
+vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0x07068705  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
-vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0x1342e1a3  Qm (i32)0x7fc00000  Qn (i32)0x00000000
+vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0x07068705  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
-vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x1342e1a3  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
+vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x07068705  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
 vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0xff800000
-vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0x1342e1a3  Qm (i32)0x7fc00000  Qn (i32)0xff800000
+vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0x07068705  Qm (i32)0x7fc00000  Qn (i32)0xff800000
 vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x7fc00000
-vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x1342e1a3  Qm (i32)0x00000000  Qn (i32)0x7fc00000
+vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x07068705  Qm (i32)0x00000000  Qn (i32)0x7fc00000
 vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x3f800000
-vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0x1342e1a3  Qm (i32)0x00000000  Qn (i32)0x3f800000
+vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0x07068705  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
-vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0x1342e1a3  Qm (i32)0x00000000  Qn (i32)0x00000000
+vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0x07068705  Qm (i32)0x00000000  Qn (i32)0x00000000
 vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x7f800000
-vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x1342e1a3  Qm (i32)0x00000000  Qn (i32)0x7f800000
+vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x07068705  Qm (i32)0x00000000  Qn (i32)0x7f800000
 vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0x00000000  Qm (i32)0x00000000  Qn (i32)0xff800000
-vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0x1342e1a3  Qm (i32)0x00000000  Qn (i32)0xff800000
+vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0x07068705  Qm (i32)0x00000000  Qn (i32)0xff800000
 vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
-vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x1342e1a3  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
+vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x07068705  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
 vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
-vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0x1342e1a3  Qm (i32)0x7f800000  Qn (i32)0x3f800000
+vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0x07068705  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x00000000
-vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0x1342e1a3  Qm (i32)0x7f800000  Qn (i32)0x00000000
+vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0x07068705  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
-vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x1342e1a3  Qm (i32)0x7f800000  Qn (i32)0x7f800000
+vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x07068705  Qm (i32)0x7f800000  Qn (i32)0x7f800000
 vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0xff800000
-vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0x1342e1a3  Qm (i32)0x7f800000  Qn (i32)0xff800000
+vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0x07068705  Qm (i32)0x7f800000  Qn (i32)0xff800000
 vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x7fc00000
-vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x1342e1a3  Qm (i32)0xff800000  Qn (i32)0x7fc00000
+vpadd.f32 d0, d1, d2 :: Qd 0x7fc00000 0x07068705  Qm (i32)0xff800000  Qn (i32)0x7fc00000
 vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
-vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0x1342e1a3  Qm (i32)0xff800000  Qn (i32)0x3f800000
+vpadd.f32 d0, d1, d2 :: Qd 0x40000000 0x07068705  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x00000000
-vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0x1342e1a3  Qm (i32)0xff800000  Qn (i32)0x00000000
+vpadd.f32 d0, d1, d2 :: Qd 0x00000000 0x07068705  Qm (i32)0xff800000  Qn (i32)0x00000000
 vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x7f800000
-vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x1342e1a3  Qm (i32)0xff800000  Qn (i32)0x7f800000
+vpadd.f32 d0, d1, d2 :: Qd 0x7f800000 0x07068705  Qm (i32)0xff800000  Qn (i32)0x7f800000
 vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0xff800000
-vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0x1342e1a3  Qm (i32)0xff800000  Qn (i32)0xff800000
+vpadd.f32 d0, d1, d2 :: Qd 0xff800000 0x07068705  Qm (i32)0xff800000  Qn (i32)0xff800000
 ---- VCVT (integer <-> fp) ----
 vcvt.u32.f32 d0, d1 :: Qd 0x00000003 0x00000003  Qm (i32)0x404ccccd
 vcvt.u32.f32 d0, d1 :: Qd 0x00000000 0x00000000  Qm (i32)0x404ccccd
@@ -5019,23 +5019,23 @@
 vcvt.s32.f32 d12, d8 :: Qd 0xfffffff9 0xfffffff9  Qm (i32)0xc0fff800
 vcvt.s32.f32 d12, d8 :: Qd 0x00000000 0x00000000  Qm (i32)0xc0fff800
 vcvt.f32.u32 d0, d1 :: Qd 0x40e00000 0x40e00000  Qm (i32)0x00000007
-vcvt.f32.u32 d0, d1 :: Qd 0x4da8e8c9 0x4da0e0f9  Qm (i32)0x00000007
+vcvt.f32.u32 d0, d1 :: Qd 0x4d70e0d1 0x4d30a090  Qm (i32)0x00000007
 vcvt.f32.u32 d10, d11 :: Qd 0x4f000000 0x4f000000  Qm (i32)0x80000000
-vcvt.f32.u32 d10, d11 :: Qd 0x4da8e8c9 0x4da0e0f9  Qm (i32)0x80000000
+vcvt.f32.u32 d10, d11 :: Qd 0x4d70e0d1 0x4d30a090  Qm (i32)0x80000000
 vcvt.f32.u32 d0, d1 :: Qd 0x4f000000 0x4f000000  Qm (i32)0x80000001
-vcvt.f32.u32 d0, d1 :: Qd 0x4da8e8c9 0x4da0e0f9  Qm (i32)0x80000001
+vcvt.f32.u32 d0, d1 :: Qd 0x4d70e0d1 0x4d30a090  Qm (i32)0x80000001
 vcvt.f32.u32 d24, d26 :: Qd 0x4f000000 0x4f000000  Qm (i32)0x7fffffff
-vcvt.f32.u32 d24, d26 :: Qd 0x4da8e8c9 0x4da0e0f9  Qm (i32)0x7fffffff
+vcvt.f32.u32 d24, d26 :: Qd 0x4d70e0d1 0x4d30a090  Qm (i32)0x7fffffff
 vcvt.f32.u32 d0, d14 :: Qd 0x4e4282f4 0x4e4282f4  Qm (i32)0x30a0bcef
-vcvt.f32.u32 d0, d14 :: Qd 0x4da8e8c9 0x4da0e0f9  Qm (i32)0x30a0bcef
+vcvt.f32.u32 d0, d14 :: Qd 0x4d70e0d1 0x4d30a090  Qm (i32)0x30a0bcef
 vcvt.f32.s32 d0, d1 :: Qd 0x40e00000 0x40e00000  Qm (i32)0x00000007
-vcvt.f32.s32 d0, d1 :: Qd 0x4da8e8c9 0x4da0e0f9  Qm (i32)0x00000007
+vcvt.f32.s32 d0, d1 :: Qd 0x4d70e0d1 0x4d30a090  Qm (i32)0x00000007
 vcvt.f32.s32 d30, d31 :: Qd 0xcf000000 0xcf000000  Qm (i32)0x80000000
-vcvt.f32.s32 d30, d31 :: Qd 0x4da8e8c9 0x4da0e0f9  Qm (i32)0x80000000
+vcvt.f32.s32 d30, d31 :: Qd 0x4d70e0d1 0x4d30a090  Qm (i32)0x80000000
 vcvt.f32.s32 d0, d1 :: Qd 0xcf000000 0xcf000000  Qm (i32)0x80000001
-vcvt.f32.s32 d0, d1 :: Qd 0x4da8e8c9 0x4da0e0f9  Qm (i32)0x80000001
+vcvt.f32.s32 d0, d1 :: Qd 0x4d70e0d1 0x4d30a090  Qm (i32)0x80000001
 vcvt.f32.s32 d0, d1 :: Qd 0x4f000000 0x4f000000  Qm (i32)0x7fffffff
-vcvt.f32.s32 d0, d1 :: Qd 0x4da8e8c9 0x4da0e0f9  Qm (i32)0x7fffffff
+vcvt.f32.s32 d0, d1 :: Qd 0x4d70e0d1 0x4d30a090  Qm (i32)0x7fffffff
 vcvt.u32.f32 d0, d1 :: Qd 0x00000000 0x00000000  Qm (i32)0x7fc00000
 vcvt.u32.f32 d0, d1 :: Qd 0x00000000 0x00000000  Qm (i32)0x7fc00000
 vcvt.u32.f32 d0, d1 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000
@@ -5082,25 +5082,25 @@
 vcvt.s32.f32 d12, d8, #2 :: Qd 0xffffffe1 0xffffffe1  Qm (i32)0xc0fff800
 vcvt.s32.f32 d12, d8, #2 :: Qd 0x00000000 0x00000000  Qm (i32)0xc0fff800
 vcvt.f32.u32 d0, d1, #5 :: Qd 0x3e600000 0x3e600000  Qm (i32)0x00000007
-vcvt.f32.u32 d0, d1, #5 :: Qd 0x4b28e8c9 0x4b20e0f9  Qm (i32)0x00000007
+vcvt.f32.u32 d0, d1, #5 :: Qd 0x4af0e0d1 0x4ab0a090  Qm (i32)0x00000007
 vcvt.f32.u32 d10, d11, #9 :: Qd 0x4a800000 0x4a800000  Qm (i32)0x80000000
-vcvt.f32.u32 d10, d11, #9 :: Qd 0x4928e8c9 0x4920e0f9  Qm (i32)0x80000000
+vcvt.f32.u32 d10, d11, #9 :: Qd 0x48f0e0d1 0x48b0a090  Qm (i32)0x80000000
 vcvt.f32.u32 d0, d1, #4 :: Qd 0x4d000000 0x4d000000  Qm (i32)0x80000001
-vcvt.f32.u32 d0, d1, #4 :: Qd 0x4ba8e8c9 0x4ba0e0f9  Qm (i32)0x80000001
+vcvt.f32.u32 d0, d1, #4 :: Qd 0x4b70e0d1 0x4b30a090  Qm (i32)0x80000001
 vcvt.f32.u32 d24, d26, #6 :: Qd 0x4c000000 0x4c000000  Qm (i32)0x7fffffff
-vcvt.f32.u32 d24, d26, #6 :: Qd 0x4aa8e8c9 0x4aa0e0f9  Qm (i32)0x7fffffff
+vcvt.f32.u32 d24, d26, #6 :: Qd 0x4a70e0d1 0x4a30a090  Qm (i32)0x7fffffff
 vcvt.f32.u32 d0, d14, #5 :: Qd 0x4bc282f4 0x4bc282f4  Qm (i32)0x30a0bcef
-vcvt.f32.u32 d0, d14, #5 :: Qd 0x4b28e8c9 0x4b20e0f9  Qm (i32)0x30a0bcef
+vcvt.f32.u32 d0, d14, #5 :: Qd 0x4af0e0d1 0x4ab0a090  Qm (i32)0x30a0bcef
 vcvt.f32.s32 d0, d1, #12 :: Qd 0x3ae00000 0x3ae00000  Qm (i32)0x00000007
-vcvt.f32.s32 d0, d1, #12 :: Qd 0x47a8e8c9 0x47a0e0f9  Qm (i32)0x00000007
+vcvt.f32.s32 d0, d1, #12 :: Qd 0x4770e0d1 0x4730a090  Qm (i32)0x00000007
 vcvt.f32.s32 d30, d31, #8 :: Qd 0xcb000000 0xcb000000  Qm (i32)0x80000000
-vcvt.f32.s32 d30, d31, #8 :: Qd 0x49a8e8c9 0x49a0e0f9  Qm (i32)0x80000000
+vcvt.f32.s32 d30, d31, #8 :: Qd 0x4970e0d1 0x4930a090  Qm (i32)0x80000000
 vcvt.f32.s32 d0, d1, #1 :: Qd 0xce800000 0xce800000  Qm (i32)0x80000001
-vcvt.f32.s32 d0, d1, #1 :: Qd 0x4d28e8c9 0x4d20e0f9  Qm (i32)0x80000001
+vcvt.f32.s32 d0, d1, #1 :: Qd 0x4cf0e0d1 0x4cb0a090  Qm (i32)0x80000001
 vcvt.f32.s32 d0, d1, #6 :: Qd 0x4c000000 0x4c000000  Qm (i32)0x7fffffff
-vcvt.f32.s32 d0, d1, #6 :: Qd 0x4aa8e8c9 0x4aa0e0f9  Qm (i32)0x7fffffff
+vcvt.f32.s32 d0, d1, #6 :: Qd 0x4a70e0d1 0x4a30a090  Qm (i32)0x7fffffff
 vcvt.f32.s32 d0, d14, #2 :: Qd 0x4d4282f4 0x4d4282f4  Qm (i32)0x30a0bcef
-vcvt.f32.s32 d0, d14, #2 :: Qd 0x4ca8e8c9 0x4ca0e0f9  Qm (i32)0x30a0bcef
+vcvt.f32.s32 d0, d14, #2 :: Qd 0x4c70e0d1 0x4c30a090  Qm (i32)0x30a0bcef
 vcvt.u32.f32 d0, d1, #3 :: Qd 0x00000000 0x00000000  Qm (i32)0x7fc00000
 vcvt.u32.f32 d0, d1, #3 :: Qd 0x00000000 0x00000000  Qm (i32)0x7fc00000
 vcvt.u32.f32 d0, d1, #3 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000
@@ -5119,15 +5119,15 @@
 vcvt.s32.f32 d0, d1, #3 :: Qd 0x00000000 0x00000000  Qm (i32)0xff800000
 ---- VMAX (fp) ----
 vmax.f32 d0, d5, d2 :: Qd 0x41b851ec 0x41b851ec  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
-vmax.f32 d0, d5, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
+vmax.f32 d0, d5, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
 vmax.f32 d3, d4, d5 :: Qd 0x44a84000 0x44a84000  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
 vmax.f32 d3, d4, d5 :: Qd 0x44a84000 0x44a84000  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
 vmax.f32 d10, d11, d2 :: Qd 0x473e7300 0x473e7300  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
-vmax.f32 d10, d11, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
+vmax.f32 d10, d11, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
 vmax.f32 d9, d5, d7 :: Qd 0x47bb3de1 0x47bb3de1  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
 vmax.f32 d9, d5, d7 :: Qd 0x46855200 0x46855200  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
 vmax.f32 d0, d5, d2 :: Qd 0xc732633d 0xc732633d  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
-vmax.f32 d0, d5, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
+vmax.f32 d0, d5, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
 vmax.f32 d3, d4, d5 :: Qd 0x44a84003 0x44a84003  Qm (i32)0x41c70126  Qn (i32)0x44a84003
 vmax.f32 d3, d4, d5 :: Qd 0x44a84003 0x44a84003  Qm (i32)0x41c70126  Qn (i32)0x44a84003
 vmax.f32 d10, d11, d2 :: Qd 0x473e73b3 0x473e73b3  Qm (i32)0x473e73b3  Qn (i32)0x44882666
@@ -5147,27 +5147,27 @@
 vmax.f32 d9, d5, d7 :: Qd 0x45062000 0x45062000  Qm (i32)0x45062000  Qn (i32)0x44db0000
 vmax.f32 d9, d5, d7 :: Qd 0x44db0000 0x44db0000  Qm (i32)0x45062000  Qn (i32)0x44db0000
 vmax.f32 d0, d11, d12 :: Qd 0xc2610000 0xc2610000  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
-vmax.f32 d0, d11, d12 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
+vmax.f32 d0, d11, d12 :: Qd 0x07060504 0x03020100  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
 vmax.f32 d7, d1, d6 :: Qd 0x43e41fde 0x43e41fde  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
-vmax.f32 d7, d1, d6 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
+vmax.f32 d7, d1, d6 :: Qd 0x07060504 0x03020100  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
 vmax.f32 d0, d5, d2 :: Qd 0x44053f2b 0x44053f2b  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
-vmax.f32 d0, d5, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
+vmax.f32 d0, d5, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
 vmax.f32 d10, d13, d15 :: Qd 0xc3f29f73 0xc3f29f73  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
-vmax.f32 d10, d13, d15 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
+vmax.f32 d10, d13, d15 :: Qd 0x07060504 0x03020100  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
 vmax.f32 d10, d13, d15 :: Qd 0x4887f70e 0x4887f70e  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
 vmax.f32 d10, d13, d15 :: Qd 0x4608d008 0x4608d008  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
 vmax.f32 d0, d1, d2 :: Qd 0x4e920233 0x4e920233  Qm (i32)0x4e511724  Qn (i32)0x4e920233
 vmax.f32 d0, d1, d2 :: Qd 0x4e920233 0x4e920233  Qm (i32)0x4e511724  Qn (i32)0x4e920233
 vmax.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
-vmax.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x00000000
+vmax.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000000  Qn (i32)0x00000000
 vmax.f32 d0, d1, d2 :: Qd 0x3a800000 0x3a800000  Qm (i32)0x3a800000  Qn (i32)0xba800000
-vmax.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x3a800000  Qn (i32)0xba800000
+vmax.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x3a800000  Qn (i32)0xba800000
 vmax.f32 d0, d1, d2 :: Qd 0x3a800000 0x3a800000  Qm (i32)0xba800000  Qn (i32)0x3a800000
 vmax.f32 d0, d1, d2 :: Qd 0x3a800000 0x3a800000  Qm (i32)0xba800000  Qn (i32)0x3a800000
 vmax.f32 d0, d1, d2 :: Qd 0x45126004 0x45126004  Qm (i32)0x45126004  Qn (i32)0x45125ffc
 vmax.f32 d0, d1, d2 :: Qd 0x45125ffc 0x45125ffc  Qm (i32)0x45126004  Qn (i32)0x45125ffc
 vmax.f32 d0, d1, d2 :: Qd 0xc5125ffc 0xc5125ffc  Qm (i32)0xc5125ffc  Qn (i32)0xc5126004
-vmax.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xc5125ffc  Qn (i32)0xc5126004
+vmax.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0xc5125ffc  Qn (i32)0xc5126004
 vmax.f32 d0, d1, d2 :: Qd 0x47bff200 0x47bff200  Qm (i32)0x47ae5e00  Qn (i32)0x47bff200
 vmax.f32 d0, d1, d2 :: Qd 0x47bff200 0x47bff200  Qm (i32)0x47ae5e00  Qn (i32)0x47bff200
 vmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
@@ -5175,70 +5175,70 @@
 vmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
-vmax.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0x00000000
+vmax.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
 vmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
 vmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0xff800000
-vmax.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0xff800000
+vmax.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0xff800000
 vmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x00000000  Qn (i32)0x7fc00000
 vmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x00000000  Qn (i32)0x7fc00000
 vmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vmax.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
-vmax.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x00000000
+vmax.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000000  Qn (i32)0x00000000
 vmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x00000000  Qn (i32)0x7f800000
 vmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x00000000  Qn (i32)0x7f800000
 vmax.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0xff800000
-vmax.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0xff800000
+vmax.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000000  Qn (i32)0xff800000
 vmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
 vmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
 vmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x00000000
-vmax.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0x00000000
+vmax.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
 vmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
 vmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0xff800000
-vmax.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0xff800000
+vmax.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7f800000  Qn (i32)0xff800000
 vmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0x7fc00000
 vmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0x7fc00000
 vmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vmax.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0xff800000  Qn (i32)0x00000000
-vmax.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0x00000000
+vmax.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0xff800000  Qn (i32)0x00000000
 vmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0xff800000  Qn (i32)0x7f800000
 vmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0xff800000  Qn (i32)0x7f800000
 vmax.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0xff800000
-vmax.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0xff800000
+vmax.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0xff800000  Qn (i32)0xff800000
 ---- VMIN (fp) ----
 vmin.f32 d0, d5, d2 :: Qd 0xc2364659 0xc2364659  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
 vmin.f32 d0, d5, d2 :: Qd 0xc2364659 0xc2364659  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
 vmin.f32 d3, d4, d5 :: Qd 0xc8a9da0f 0xc8a9da0f  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
-vmin.f32 d3, d4, d5 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
+vmin.f32 d3, d4, d5 :: Qd 0x07060504 0x03020100  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
 vmin.f32 d10, d11, d2 :: Qd 0xc732da7a 0xc732da7a  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
 vmin.f32 d10, d11, d2 :: Qd 0xc732da7a 0xc732da7a  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
 vmin.f32 d9, d5, d7 :: Qd 0x46855200 0x46855200  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
-vmin.f32 d9, d5, d7 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
+vmin.f32 d9, d5, d7 :: Qd 0x07060504 0x03020100  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
 vmin.f32 d0, d5, d2 :: Qd 0xc872bcb1 0xc872bcb1  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
 vmin.f32 d0, d5, d2 :: Qd 0xc872bcb1 0xc872bcb1  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
 vmin.f32 d3, d4, d5 :: Qd 0x41c70126 0x41c70126  Qm (i32)0x41c70126  Qn (i32)0x44a84003
-vmin.f32 d3, d4, d5 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x41c70126  Qn (i32)0x44a84003
+vmin.f32 d3, d4, d5 :: Qd 0x07060504 0x03020100  Qm (i32)0x41c70126  Qn (i32)0x44a84003
 vmin.f32 d10, d11, d2 :: Qd 0x44882666 0x44882666  Qm (i32)0x473e73b3  Qn (i32)0x44882666
-vmin.f32 d10, d11, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x473e73b3  Qn (i32)0x44882666
+vmin.f32 d10, d11, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x473e73b3  Qn (i32)0x44882666
 vmin.f32 d9, d5, d7 :: Qd 0x43560000 0x43560000  Qm (i32)0x43560000  Qn (i32)0x49d5e008
-vmin.f32 d9, d5, d7 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x43560000  Qn (i32)0x49d5e008
+vmin.f32 d9, d5, d7 :: Qd 0x07060504 0x03020100  Qm (i32)0x43560000  Qn (i32)0x49d5e008
 vmin.f32 d0, d11, d12 :: Qd 0x45b75812 0x45b75812  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
-vmin.f32 d0, d11, d12 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
+vmin.f32 d0, d11, d12 :: Qd 0x07060504 0x03020100  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
 vmin.f32 d7, d1, d6 :: Qd 0x3b210e02 0x3b210e02  Qm (i32)0x42080079  Qn (i32)0x3b210e02
-vmin.f32 d7, d1, d6 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x42080079  Qn (i32)0x3b210e02
+vmin.f32 d7, d1, d6 :: Qd 0x07060504 0x03020100  Qm (i32)0x42080079  Qn (i32)0x3b210e02
 vmin.f32 d0, d1, d2 :: Qd 0x42d60000 0x42d60000  Qm (i32)0x452c2000  Qn (i32)0x42d60000
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x452c2000  Qn (i32)0x42d60000
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x452c2000  Qn (i32)0x42d60000
 vmin.f32 d3, d4, d5 :: Qd 0x445a8000 0x445a8000  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
-vmin.f32 d3, d4, d5 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
+vmin.f32 d3, d4, d5 :: Qd 0x07060504 0x03020100  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
 vmin.f32 d10, d11, d2 :: Qd 0x42da0000 0x42da0000  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
-vmin.f32 d10, d11, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
+vmin.f32 d10, d11, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
 vmin.f32 d9, d5, d7 :: Qd 0x44db0000 0x44db0000  Qm (i32)0x45062000  Qn (i32)0x44db0000
-vmin.f32 d9, d5, d7 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x45062000  Qn (i32)0x44db0000
+vmin.f32 d9, d5, d7 :: Qd 0x07060504 0x03020100  Qm (i32)0x45062000  Qn (i32)0x44db0000
 vmin.f32 d0, d11, d12 :: Qd 0xc5b4d3c3 0xc5b4d3c3  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
 vmin.f32 d0, d11, d12 :: Qd 0xc5b4d3c3 0xc5b4d3c3  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
 vmin.f32 d7, d1, d6 :: Qd 0xc0e96d19 0xc0e96d19  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
@@ -5248,247 +5248,247 @@
 vmin.f32 d10, d13, d15 :: Qd 0xc40dcfae 0xc40dcfae  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
 vmin.f32 d10, d13, d15 :: Qd 0xc40dcfae 0xc40dcfae  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
 vmin.f32 d10, d13, d15 :: Qd 0x4608d008 0x4608d008  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
-vmin.f32 d10, d13, d15 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
+vmin.f32 d10, d13, d15 :: Qd 0x07060504 0x03020100  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
 vmin.f32 d0, d1, d2 :: Qd 0x4e511724 0x4e511724  Qm (i32)0x4e511724  Qn (i32)0x4e920233
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x4e511724  Qn (i32)0x4e920233
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x4e511724  Qn (i32)0x4e920233
 vmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
 vmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
 vmin.f32 d0, d1, d2 :: Qd 0xba800000 0xba800000  Qm (i32)0x3a800000  Qn (i32)0xba800000
 vmin.f32 d0, d1, d2 :: Qd 0xba800000 0xba800000  Qm (i32)0x3a800000  Qn (i32)0xba800000
 vmin.f32 d0, d1, d2 :: Qd 0xba800000 0xba800000  Qm (i32)0xba800000  Qn (i32)0x3a800000
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xba800000  Qn (i32)0x3a800000
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0xba800000  Qn (i32)0x3a800000
 vmin.f32 d0, d1, d2 :: Qd 0x45125ffc 0x45125ffc  Qm (i32)0x45126004  Qn (i32)0x45125ffc
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x45126004  Qn (i32)0x45125ffc
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x45126004  Qn (i32)0x45125ffc
 vmin.f32 d0, d1, d2 :: Qd 0xc5126004 0xc5126004  Qm (i32)0xc5125ffc  Qn (i32)0xc5126004
 vmin.f32 d0, d1, d2 :: Qd 0xc5126004 0xc5126004  Qm (i32)0xc5125ffc  Qn (i32)0xc5126004
 vmin.f32 d0, d1, d2 :: Qd 0x47ae5e00 0x47ae5e00  Qm (i32)0x47ae5e00  Qn (i32)0x47bff200
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x47ae5e00  Qn (i32)0x47bff200
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x47ae5e00  Qn (i32)0x47bff200
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0xff800000
 vmin.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0x7fc00000  Qn (i32)0xff800000
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x00000000  Qn (i32)0x7fc00000
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x00000000  Qn (i32)0x7fc00000
 vmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x3f800000
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x3f800000
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
 vmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
 vmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x7f800000
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x7f800000
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x00000000  Qn (i32)0x7f800000
 vmin.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0x00000000  Qn (i32)0xff800000
 vmin.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0x00000000  Qn (i32)0xff800000
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
 vmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x3f800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0x3f800000
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0x7f800000
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0x7f800000  Qn (i32)0x7f800000
 vmin.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0x7f800000  Qn (i32)0xff800000
 vmin.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0x7f800000  Qn (i32)0xff800000
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0x7fc00000
 vmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000  Qn (i32)0x7fc00000
 vmin.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0x3f800000
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vmin.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x00000000
 vmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0xff800000  Qn (i32)0x00000000
 vmin.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x7f800000
-vmin.f32 d0, d1, d2 :: Qd 0x131b1a1b 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0x7f800000
+vmin.f32 d0, d1, d2 :: Qd 0x07060504 0x03020100  Qm (i32)0xff800000  Qn (i32)0x7f800000
 vmin.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0xff800000
 vmin.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0xff800000
 ---- VPMAX (fp) ----
 vpmax.f32 d0, d5, d2 :: Qd 0xc2364659 0x41b851ec  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
-vpmax.f32 d0, d5, d2 :: Qd 0xc2364659 0x131b1a1b  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
+vpmax.f32 d0, d5, d2 :: Qd 0xc2364659 0x07060504  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
 vpmax.f32 d3, d4, d5 :: Qd 0x44a84000 0xc8a9da0f  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
-vpmax.f32 d3, d4, d5 :: Qd 0x44a84000 0x131b1a1b  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
+vpmax.f32 d3, d4, d5 :: Qd 0x44a84000 0x07060504  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
 vpmax.f32 d10, d11, d2 :: Qd 0xc732da7a 0x473e7300  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
-vpmax.f32 d10, d11, d2 :: Qd 0xc732da7a 0x131b1a1b  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
+vpmax.f32 d10, d11, d2 :: Qd 0xc732da7a 0x07060504  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
 vpmax.f32 d9, d5, d7 :: Qd 0x46855200 0x47bb3de1  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
-vpmax.f32 d9, d5, d7 :: Qd 0x46855200 0x131b1a1b  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
+vpmax.f32 d9, d5, d7 :: Qd 0x46855200 0x07060504  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
 vpmax.f32 d0, d5, d2 :: Qd 0xc872bcb1 0xc732633d  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
-vpmax.f32 d0, d5, d2 :: Qd 0xc872bcb1 0x131b1a1b  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
+vpmax.f32 d0, d5, d2 :: Qd 0xc872bcb1 0x07060504  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
 vpmax.f32 d3, d4, d5 :: Qd 0x44a84003 0x41c70126  Qm (i32)0x41c70126  Qn (i32)0x44a84003
-vpmax.f32 d3, d4, d5 :: Qd 0x44a84003 0x131b1a1b  Qm (i32)0x41c70126  Qn (i32)0x44a84003
+vpmax.f32 d3, d4, d5 :: Qd 0x44a84003 0x07060504  Qm (i32)0x41c70126  Qn (i32)0x44a84003
 vpmax.f32 d10, d11, d2 :: Qd 0x44882666 0x473e73b3  Qm (i32)0x473e73b3  Qn (i32)0x44882666
-vpmax.f32 d10, d11, d2 :: Qd 0x44882666 0x131b1a1b  Qm (i32)0x473e73b3  Qn (i32)0x44882666
+vpmax.f32 d10, d11, d2 :: Qd 0x44882666 0x07060504  Qm (i32)0x473e73b3  Qn (i32)0x44882666
 vpmax.f32 d9, d5, d7 :: Qd 0x49d5e008 0x43560000  Qm (i32)0x43560000  Qn (i32)0x49d5e008
-vpmax.f32 d9, d5, d7 :: Qd 0x49d5e008 0x131b1a1b  Qm (i32)0x43560000  Qn (i32)0x49d5e008
+vpmax.f32 d9, d5, d7 :: Qd 0x49d5e008 0x07060504  Qm (i32)0x43560000  Qn (i32)0x49d5e008
 vpmax.f32 d0, d11, d12 :: Qd 0x45b75812 0x48add9f2  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
-vpmax.f32 d0, d11, d12 :: Qd 0x45b75812 0x131b1a1b  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
+vpmax.f32 d0, d11, d12 :: Qd 0x45b75812 0x07060504  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
 vpmax.f32 d7, d1, d6 :: Qd 0x3b210e02 0x42080079  Qm (i32)0x42080079  Qn (i32)0x3b210e02
-vpmax.f32 d7, d1, d6 :: Qd 0x3b210e02 0x131b1a1b  Qm (i32)0x42080079  Qn (i32)0x3b210e02
+vpmax.f32 d7, d1, d6 :: Qd 0x3b210e02 0x07060504  Qm (i32)0x42080079  Qn (i32)0x3b210e02
 vpmax.f32 d0, d1, d2 :: Qd 0x42d60000 0x452c2000  Qm (i32)0x452c2000  Qn (i32)0x42d60000
-vpmax.f32 d0, d1, d2 :: Qd 0x42d60000 0x131b1a1b  Qm (i32)0x452c2000  Qn (i32)0x42d60000
+vpmax.f32 d0, d1, d2 :: Qd 0x42d60000 0x07060504  Qm (i32)0x452c2000  Qn (i32)0x42d60000
 vpmax.f32 d3, d4, d5 :: Qd 0x44ad1333 0x445a8000  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
-vpmax.f32 d3, d4, d5 :: Qd 0x44ad1333 0x131b1a1b  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
+vpmax.f32 d3, d4, d5 :: Qd 0x44ad1333 0x07060504  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
 vpmax.f32 d10, d11, d2 :: Qd 0x42da0000 0x43f3cb23  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
-vpmax.f32 d10, d11, d2 :: Qd 0x42da0000 0x131b1a1b  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
+vpmax.f32 d10, d11, d2 :: Qd 0x42da0000 0x07060504  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
 vpmax.f32 d9, d5, d7 :: Qd 0x44db0000 0x45062000  Qm (i32)0x45062000  Qn (i32)0x44db0000
-vpmax.f32 d9, d5, d7 :: Qd 0x44db0000 0x131b1a1b  Qm (i32)0x45062000  Qn (i32)0x44db0000
+vpmax.f32 d9, d5, d7 :: Qd 0x44db0000 0x07060504  Qm (i32)0x45062000  Qn (i32)0x44db0000
 vpmax.f32 d0, d11, d12 :: Qd 0xc5b4d3c3 0xc2610000  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
-vpmax.f32 d0, d11, d12 :: Qd 0xc5b4d3c3 0x131b1a1b  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
+vpmax.f32 d0, d11, d12 :: Qd 0xc5b4d3c3 0x07060504  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
 vpmax.f32 d7, d1, d6 :: Qd 0xc0e96d19 0x43e41fde  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
-vpmax.f32 d7, d1, d6 :: Qd 0xc0e96d19 0x131b1a1b  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
+vpmax.f32 d7, d1, d6 :: Qd 0xc0e96d19 0x07060504  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
 vpmax.f32 d0, d5, d2 :: Qd 0xbb965394 0x44053f2b  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
-vpmax.f32 d0, d5, d2 :: Qd 0xbb965394 0x131b1a1b  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
+vpmax.f32 d0, d5, d2 :: Qd 0xbb965394 0x07060504  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
 vpmax.f32 d10, d13, d15 :: Qd 0xc40dcfae 0xc3f29f73  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
-vpmax.f32 d10, d13, d15 :: Qd 0xc40dcfae 0x131b1a1b  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
+vpmax.f32 d10, d13, d15 :: Qd 0xc40dcfae 0x07060504  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
 vpmax.f32 d10, d13, d15 :: Qd 0x4608d008 0x4887f70e  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
-vpmax.f32 d10, d13, d15 :: Qd 0x4608d008 0x131b1a1b  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
+vpmax.f32 d10, d13, d15 :: Qd 0x4608d008 0x07060504  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
 vpmax.f32 d0, d1, d2 :: Qd 0x4e920233 0x4e511724  Qm (i32)0x4e511724  Qn (i32)0x4e920233
-vpmax.f32 d0, d1, d2 :: Qd 0x4e920233 0x131b1a1b  Qm (i32)0x4e511724  Qn (i32)0x4e920233
+vpmax.f32 d0, d1, d2 :: Qd 0x4e920233 0x07060504  Qm (i32)0x4e511724  Qn (i32)0x4e920233
 vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
-vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x131b1a1b  Qm (i32)0x00000000  Qn (i32)0x00000000
+vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x07060504  Qm (i32)0x00000000  Qn (i32)0x00000000
 vpmax.f32 d0, d1, d2 :: Qd 0xba800000 0x3a800000  Qm (i32)0x3a800000  Qn (i32)0xba800000
-vpmax.f32 d0, d1, d2 :: Qd 0xba800000 0x131b1a1b  Qm (i32)0x3a800000  Qn (i32)0xba800000
+vpmax.f32 d0, d1, d2 :: Qd 0xba800000 0x07060504  Qm (i32)0x3a800000  Qn (i32)0xba800000
 vpmax.f32 d0, d1, d2 :: Qd 0x3a800000 0xba800000  Qm (i32)0xba800000  Qn (i32)0x3a800000
-vpmax.f32 d0, d1, d2 :: Qd 0x3a800000 0x131b1a1b  Qm (i32)0xba800000  Qn (i32)0x3a800000
+vpmax.f32 d0, d1, d2 :: Qd 0x3a800000 0x07060504  Qm (i32)0xba800000  Qn (i32)0x3a800000
 vpmax.f32 d0, d1, d2 :: Qd 0x45125ffc 0x45126004  Qm (i32)0x45126004  Qn (i32)0x45125ffc
-vpmax.f32 d0, d1, d2 :: Qd 0x45125ffc 0x131b1a1b  Qm (i32)0x45126004  Qn (i32)0x45125ffc
+vpmax.f32 d0, d1, d2 :: Qd 0x45125ffc 0x07060504  Qm (i32)0x45126004  Qn (i32)0x45125ffc
 vpmax.f32 d0, d1, d2 :: Qd 0xc5126004 0xc5125ffc  Qm (i32)0xc5125ffc  Qn (i32)0xc5126004
-vpmax.f32 d0, d1, d2 :: Qd 0xc5126004 0x131b1a1b  Qm (i32)0xc5125ffc  Qn (i32)0xc5126004
+vpmax.f32 d0, d1, d2 :: Qd 0xc5126004 0x07060504  Qm (i32)0xc5125ffc  Qn (i32)0xc5126004
 vpmax.f32 d0, d1, d2 :: Qd 0x47bff200 0x47ae5e00  Qm (i32)0x47ae5e00  Qn (i32)0x47bff200
-vpmax.f32 d0, d1, d2 :: Qd 0x47bff200 0x131b1a1b  Qm (i32)0x47ae5e00  Qn (i32)0x47bff200
+vpmax.f32 d0, d1, d2 :: Qd 0x47bff200 0x07060504  Qm (i32)0x47ae5e00  Qn (i32)0x47bff200
 vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
-vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x131b1a1b  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
+vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x07060504  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
 vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
-vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x131b1a1b  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
+vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x07060504  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
-vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x131b1a1b  Qm (i32)0x7fc00000  Qn (i32)0x00000000
+vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x07060504  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
-vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x131b1a1b  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
+vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x07060504  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
 vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0xff800000
-vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0x131b1a1b  Qm (i32)0x7fc00000  Qn (i32)0xff800000
+vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0x07060504  Qm (i32)0x7fc00000  Qn (i32)0xff800000
 vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x7fc00000
-vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x131b1a1b  Qm (i32)0x00000000  Qn (i32)0x7fc00000
+vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x07060504  Qm (i32)0x00000000  Qn (i32)0x7fc00000
 vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x3f800000
-vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x131b1a1b  Qm (i32)0x00000000  Qn (i32)0x3f800000
+vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x07060504  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
-vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x131b1a1b  Qm (i32)0x00000000  Qn (i32)0x00000000
+vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x07060504  Qm (i32)0x00000000  Qn (i32)0x00000000
 vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x7f800000
-vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x131b1a1b  Qm (i32)0x00000000  Qn (i32)0x7f800000
+vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x07060504  Qm (i32)0x00000000  Qn (i32)0x7f800000
 vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0x00000000  Qm (i32)0x00000000  Qn (i32)0xff800000
-vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0x131b1a1b  Qm (i32)0x00000000  Qn (i32)0xff800000
+vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0x07060504  Qm (i32)0x00000000  Qn (i32)0xff800000
 vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
-vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x131b1a1b  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
+vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x07060504  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
 vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
-vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x131b1a1b  Qm (i32)0x7f800000  Qn (i32)0x3f800000
+vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x07060504  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x00000000
-vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x131b1a1b  Qm (i32)0x7f800000  Qn (i32)0x00000000
+vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x07060504  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
-vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x131b1a1b  Qm (i32)0x7f800000  Qn (i32)0x7f800000
+vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x07060504  Qm (i32)0x7f800000  Qn (i32)0x7f800000
 vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0xff800000
-vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0x131b1a1b  Qm (i32)0x7f800000  Qn (i32)0xff800000
+vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0x07060504  Qm (i32)0x7f800000  Qn (i32)0xff800000
 vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x7fc00000
-vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x131b1a1b  Qm (i32)0xff800000  Qn (i32)0x7fc00000
+vpmax.f32 d0, d1, d2 :: Qd 0x7fc00000 0x07060504  Qm (i32)0xff800000  Qn (i32)0x7fc00000
 vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
-vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x131b1a1b  Qm (i32)0xff800000  Qn (i32)0x3f800000
+vpmax.f32 d0, d1, d2 :: Qd 0x3f800000 0x07060504  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x00000000
-vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x131b1a1b  Qm (i32)0xff800000  Qn (i32)0x00000000
+vpmax.f32 d0, d1, d2 :: Qd 0x00000000 0x07060504  Qm (i32)0xff800000  Qn (i32)0x00000000
 vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x7f800000
-vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x131b1a1b  Qm (i32)0xff800000  Qn (i32)0x7f800000
+vpmax.f32 d0, d1, d2 :: Qd 0x7f800000 0x07060504  Qm (i32)0xff800000  Qn (i32)0x7f800000
 vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0xff800000
-vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0x131b1a1b  Qm (i32)0xff800000  Qn (i32)0xff800000
+vpmax.f32 d0, d1, d2 :: Qd 0xff800000 0x07060504  Qm (i32)0xff800000  Qn (i32)0xff800000
 ---- VPMIN (fp) ----
 vpmin.f32 d0, d5, d2 :: Qd 0xc2364659 0x41b851ec  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
-vpmin.f32 d0, d5, d2 :: Qd 0xc2364659 0x121f1e1f  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
+vpmin.f32 d0, d5, d2 :: Qd 0xc2364659 0x03020100  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
 vpmin.f32 d3, d4, d5 :: Qd 0x44a84000 0xc8a9da0f  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
-vpmin.f32 d3, d4, d5 :: Qd 0x44a84000 0x121f1e1f  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
+vpmin.f32 d3, d4, d5 :: Qd 0x44a84000 0x03020100  Qm (i32)0xc8a9da0f  Qn (i32)0x44a84000
 vpmin.f32 d10, d11, d2 :: Qd 0xc732da7a 0x473e7300  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
-vpmin.f32 d10, d11, d2 :: Qd 0xc732da7a 0x121f1e1f  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
+vpmin.f32 d10, d11, d2 :: Qd 0xc732da7a 0x03020100  Qm (i32)0x473e7300  Qn (i32)0xc732da7a
 vpmin.f32 d9, d5, d7 :: Qd 0x46855200 0x47bb3de1  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
-vpmin.f32 d9, d5, d7 :: Qd 0x46855200 0x121f1e1f  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
+vpmin.f32 d9, d5, d7 :: Qd 0x46855200 0x03020100  Qm (i32)0x47bb3de1  Qn (i32)0x46855200
 vpmin.f32 d0, d5, d2 :: Qd 0xc872bcb1 0xc732633d  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
-vpmin.f32 d0, d5, d2 :: Qd 0xc872bcb1 0x121f1e1f  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
+vpmin.f32 d0, d5, d2 :: Qd 0xc872bcb1 0x03020100  Qm (i32)0xc732633d  Qn (i32)0xc872bcb1
 vpmin.f32 d3, d4, d5 :: Qd 0x44a84003 0x41c70126  Qm (i32)0x41c70126  Qn (i32)0x44a84003
-vpmin.f32 d3, d4, d5 :: Qd 0x44a84003 0x121f1e1f  Qm (i32)0x41c70126  Qn (i32)0x44a84003
+vpmin.f32 d3, d4, d5 :: Qd 0x44a84003 0x03020100  Qm (i32)0x41c70126  Qn (i32)0x44a84003
 vpmin.f32 d10, d11, d2 :: Qd 0x44882666 0x473e73b3  Qm (i32)0x473e73b3  Qn (i32)0x44882666
-vpmin.f32 d10, d11, d2 :: Qd 0x44882666 0x121f1e1f  Qm (i32)0x473e73b3  Qn (i32)0x44882666
+vpmin.f32 d10, d11, d2 :: Qd 0x44882666 0x03020100  Qm (i32)0x473e73b3  Qn (i32)0x44882666
 vpmin.f32 d9, d5, d7 :: Qd 0x49d5e008 0x43560000  Qm (i32)0x43560000  Qn (i32)0x49d5e008
-vpmin.f32 d9, d5, d7 :: Qd 0x49d5e008 0x121f1e1f  Qm (i32)0x43560000  Qn (i32)0x49d5e008
+vpmin.f32 d9, d5, d7 :: Qd 0x49d5e008 0x03020100  Qm (i32)0x43560000  Qn (i32)0x49d5e008
 vpmin.f32 d0, d11, d12 :: Qd 0x45b75812 0x48add9f2  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
-vpmin.f32 d0, d11, d12 :: Qd 0x45b75812 0x121f1e1f  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
+vpmin.f32 d0, d11, d12 :: Qd 0x45b75812 0x03020100  Qm (i32)0x48add9f2  Qn (i32)0x45b75812
 vpmin.f32 d7, d1, d6 :: Qd 0x3b210e02 0x42080079  Qm (i32)0x42080079  Qn (i32)0x3b210e02
-vpmin.f32 d7, d1, d6 :: Qd 0x3b210e02 0x121f1e1f  Qm (i32)0x42080079  Qn (i32)0x3b210e02
+vpmin.f32 d7, d1, d6 :: Qd 0x3b210e02 0x03020100  Qm (i32)0x42080079  Qn (i32)0x3b210e02
 vpmin.f32 d0, d1, d2 :: Qd 0x42d60000 0x452c2000  Qm (i32)0x452c2000  Qn (i32)0x42d60000
-vpmin.f32 d0, d1, d2 :: Qd 0x42d60000 0x121f1e1f  Qm (i32)0x452c2000  Qn (i32)0x42d60000
+vpmin.f32 d0, d1, d2 :: Qd 0x42d60000 0x03020100  Qm (i32)0x452c2000  Qn (i32)0x42d60000
 vpmin.f32 d3, d4, d5 :: Qd 0x44ad1333 0x445a8000  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
-vpmin.f32 d3, d4, d5 :: Qd 0x44ad1333 0x121f1e1f  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
+vpmin.f32 d3, d4, d5 :: Qd 0x44ad1333 0x03020100  Qm (i32)0x445a8000  Qn (i32)0x44ad1333
 vpmin.f32 d10, d11, d2 :: Qd 0x42da0000 0x43f3cb23  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
-vpmin.f32 d10, d11, d2 :: Qd 0x42da0000 0x121f1e1f  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
+vpmin.f32 d10, d11, d2 :: Qd 0x42da0000 0x03020100  Qm (i32)0x43f3cb23  Qn (i32)0x42da0000
 vpmin.f32 d9, d5, d7 :: Qd 0x44db0000 0x45062000  Qm (i32)0x45062000  Qn (i32)0x44db0000
-vpmin.f32 d9, d5, d7 :: Qd 0x44db0000 0x121f1e1f  Qm (i32)0x45062000  Qn (i32)0x44db0000
+vpmin.f32 d9, d5, d7 :: Qd 0x44db0000 0x03020100  Qm (i32)0x45062000  Qn (i32)0x44db0000
 vpmin.f32 d0, d11, d12 :: Qd 0xc5b4d3c3 0xc2610000  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
-vpmin.f32 d0, d11, d12 :: Qd 0xc5b4d3c3 0x121f1e1f  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
+vpmin.f32 d0, d11, d12 :: Qd 0xc5b4d3c3 0x03020100  Qm (i32)0xc2610000  Qn (i32)0xc5b4d3c3
 vpmin.f32 d7, d1, d6 :: Qd 0xc0e96d19 0x43e41fde  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
-vpmin.f32 d7, d1, d6 :: Qd 0xc0e96d19 0x121f1e1f  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
+vpmin.f32 d7, d1, d6 :: Qd 0xc0e96d19 0x03020100  Qm (i32)0x43e41fde  Qn (i32)0xc0e96d19
 vpmin.f32 d0, d5, d2 :: Qd 0xbb965394 0x44053f2b  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
-vpmin.f32 d0, d5, d2 :: Qd 0xbb965394 0x121f1e1f  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
+vpmin.f32 d0, d5, d2 :: Qd 0xbb965394 0x03020100  Qm (i32)0x44053f2b  Qn (i32)0xbb965394
 vpmin.f32 d10, d13, d15 :: Qd 0xc40dcfae 0xc3f29f73  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
-vpmin.f32 d10, d13, d15 :: Qd 0xc40dcfae 0x121f1e1f  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
+vpmin.f32 d10, d13, d15 :: Qd 0xc40dcfae 0x03020100  Qm (i32)0xc3f29f73  Qn (i32)0xc40dcfae
 vpmin.f32 d10, d13, d15 :: Qd 0x4608d008 0x4887f70e  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
-vpmin.f32 d10, d13, d15 :: Qd 0x4608d008 0x121f1e1f  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
+vpmin.f32 d10, d13, d15 :: Qd 0x4608d008 0x03020100  Qm (i32)0x4887f70e  Qn (i32)0x4608d008
 vpmin.f32 d0, d1, d2 :: Qd 0x4e920233 0x4e511724  Qm (i32)0x4e511724  Qn (i32)0x4e920233
-vpmin.f32 d0, d1, d2 :: Qd 0x4e920233 0x121f1e1f  Qm (i32)0x4e511724  Qn (i32)0x4e920233
+vpmin.f32 d0, d1, d2 :: Qd 0x4e920233 0x03020100  Qm (i32)0x4e511724  Qn (i32)0x4e920233
 vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
-vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x00000000
+vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x03020100  Qm (i32)0x00000000  Qn (i32)0x00000000
 vpmin.f32 d0, d1, d2 :: Qd 0xba800000 0x3a800000  Qm (i32)0x3a800000  Qn (i32)0xba800000
-vpmin.f32 d0, d1, d2 :: Qd 0xba800000 0x121f1e1f  Qm (i32)0x3a800000  Qn (i32)0xba800000
+vpmin.f32 d0, d1, d2 :: Qd 0xba800000 0x03020100  Qm (i32)0x3a800000  Qn (i32)0xba800000
 vpmin.f32 d0, d1, d2 :: Qd 0x3a800000 0xba800000  Qm (i32)0xba800000  Qn (i32)0x3a800000
-vpmin.f32 d0, d1, d2 :: Qd 0x3a800000 0x121f1e1f  Qm (i32)0xba800000  Qn (i32)0x3a800000
+vpmin.f32 d0, d1, d2 :: Qd 0x3a800000 0x03020100  Qm (i32)0xba800000  Qn (i32)0x3a800000
 vpmin.f32 d0, d1, d2 :: Qd 0x45125ffc 0x45126004  Qm (i32)0x45126004  Qn (i32)0x45125ffc
-vpmin.f32 d0, d1, d2 :: Qd 0x45125ffc 0x121f1e1f  Qm (i32)0x45126004  Qn (i32)0x45125ffc
+vpmin.f32 d0, d1, d2 :: Qd 0x45125ffc 0x03020100  Qm (i32)0x45126004  Qn (i32)0x45125ffc
 vpmin.f32 d0, d1, d2 :: Qd 0xc5126004 0xc5125ffc  Qm (i32)0xc5125ffc  Qn (i32)0xc5126004
-vpmin.f32 d0, d1, d2 :: Qd 0xc5126004 0x121f1e1f  Qm (i32)0xc5125ffc  Qn (i32)0xc5126004
+vpmin.f32 d0, d1, d2 :: Qd 0xc5126004 0x03020100  Qm (i32)0xc5125ffc  Qn (i32)0xc5126004
 vpmin.f32 d0, d1, d2 :: Qd 0x47bff200 0x47ae5e00  Qm (i32)0x47ae5e00  Qn (i32)0x47bff200
-vpmin.f32 d0, d1, d2 :: Qd 0x47bff200 0x121f1e1f  Qm (i32)0x47ae5e00  Qn (i32)0x47bff200
+vpmin.f32 d0, d1, d2 :: Qd 0x47bff200 0x03020100  Qm (i32)0x47ae5e00  Qn (i32)0x47bff200
 vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
-vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
+vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0x7fc00000
 vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
-vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
+vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0x3f800000
 vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x00000000
-vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0x00000000
+vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0x00000000
 vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
-vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
+vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0x7f800000
 vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0x7fc00000  Qm (i32)0x7fc00000  Qn (i32)0xff800000
-vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0x121f1e1f  Qm (i32)0x7fc00000  Qn (i32)0xff800000
+vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0x03020100  Qm (i32)0x7fc00000  Qn (i32)0xff800000
 vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x7fc00000
-vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x7fc00000
+vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x03020100  Qm (i32)0x00000000  Qn (i32)0x7fc00000
 vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x3f800000
-vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x3f800000
+vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x03020100  Qm (i32)0x00000000  Qn (i32)0x3f800000
 vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x00000000
-vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x00000000
+vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x03020100  Qm (i32)0x00000000  Qn (i32)0x00000000
 vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x00000000  Qm (i32)0x00000000  Qn (i32)0x7f800000
-vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0x7f800000
+vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x03020100  Qm (i32)0x00000000  Qn (i32)0x7f800000
 vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0x00000000  Qm (i32)0x00000000  Qn (i32)0xff800000
-vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0x121f1e1f  Qm (i32)0x00000000  Qn (i32)0xff800000
+vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0x03020100  Qm (i32)0x00000000  Qn (i32)0xff800000
 vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
-vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
+vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x03020100  Qm (i32)0x7f800000  Qn (i32)0x7fc00000
 vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x3f800000
-vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0x3f800000
+vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x03020100  Qm (i32)0x7f800000  Qn (i32)0x3f800000
 vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x00000000
-vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0x00000000
+vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x03020100  Qm (i32)0x7f800000  Qn (i32)0x00000000
 vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0x7f800000
-vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0x7f800000
+vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x03020100  Qm (i32)0x7f800000  Qn (i32)0x7f800000
 vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0x7f800000  Qm (i32)0x7f800000  Qn (i32)0xff800000
-vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0x121f1e1f  Qm (i32)0x7f800000  Qn (i32)0xff800000
+vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0x03020100  Qm (i32)0x7f800000  Qn (i32)0xff800000
 vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x7fc00000
-vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0x7fc00000
+vpmin.f32 d0, d1, d2 :: Qd 0x7fc00000 0x03020100  Qm (i32)0xff800000  Qn (i32)0x7fc00000
 vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x3f800000
-vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0x3f800000
+vpmin.f32 d0, d1, d2 :: Qd 0x3f800000 0x03020100  Qm (i32)0xff800000  Qn (i32)0x3f800000
 vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x00000000
-vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0x00000000
+vpmin.f32 d0, d1, d2 :: Qd 0x00000000 0x03020100  Qm (i32)0xff800000  Qn (i32)0x00000000
 vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0x7f800000
-vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0x7f800000
+vpmin.f32 d0, d1, d2 :: Qd 0x7f800000 0x03020100  Qm (i32)0xff800000  Qn (i32)0x7f800000
 vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0xff800000  Qm (i32)0xff800000  Qn (i32)0xff800000
-vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0x121f1e1f  Qm (i32)0xff800000  Qn (i32)0xff800000
+vpmin.f32 d0, d1, d2 :: Qd 0xff800000 0x03020100  Qm (i32)0xff800000  Qn (i32)0xff800000
 ---- VRECPE ----
 vrecpe.u32 d0, d1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x404ccccd
 vrecpe.u32 d0, d1 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x404ccccd
@@ -5513,41 +5513,41 @@
 vrecpe.u32 d15, d4 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x4f32d05e
 vrecpe.u32 d15, d4 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x4f32d05e
 vrecpe.f32 d15, d4 :: Qd 0xbfff8000 0xbfff8000  Qm (i32)0xbf000000
-vrecpe.f32 d15, d4 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0xbf000000
+vrecpe.f32 d15, d4 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0xbf000000
 vrecpe.f32 d15, d4 :: Qd 0xbe100000 0xbe100000  Qm (i32)0xc0e33333
-vrecpe.f32 d15, d4 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0xc0e33333
+vrecpe.f32 d15, d4 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0xc0e33333
 vrecpe.f32 d12, d8 :: Qd 0x3e000000 0x3e000000  Qm (i32)0x40fff800
-vrecpe.f32 d12, d8 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x40fff800
+vrecpe.f32 d12, d8 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x40fff800
 vrecpe.f32 d12, d8 :: Qd 0xbe000000 0xbe000000  Qm (i32)0xc0fff800
-vrecpe.f32 d12, d8 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0xc0fff800
+vrecpe.f32 d12, d8 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0xc0fff800
 vrecpe.f32 d0, d1 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x00000007
-vrecpe.f32 d0, d1 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x00000007
+vrecpe.f32 d0, d1 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x00000007
 vrecpe.f32 d10, d11 :: Qd 0xff800000 0xff800000  Qm (i32)0x80000000
-vrecpe.f32 d10, d11 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x80000000
+vrecpe.f32 d10, d11 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x80000000
 vrecpe.f32 d0, d1 :: Qd 0xff800000 0xff800000  Qm (i32)0x80000001
-vrecpe.f32 d0, d1 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x80000001
+vrecpe.f32 d0, d1 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x80000001
 vrecpe.f32 d0, d1 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fffffff
-vrecpe.f32 d0, d1 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x7fffffff
+vrecpe.f32 d0, d1 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x7fffffff
 vrecpe.f32 d0, d14 :: Qd 0x4e4c0000 0x4e4c0000  Qm (i32)0x30a0bcef
-vrecpe.f32 d0, d14 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x30a0bcef
+vrecpe.f32 d0, d14 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x30a0bcef
 vrecpe.f32 d0, d1 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x00000007
-vrecpe.f32 d0, d1 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x00000007
+vrecpe.f32 d0, d1 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x00000007
 vrecpe.f32 d10, d11 :: Qd 0xff800000 0xff800000  Qm (i32)0x80000000
-vrecpe.f32 d10, d11 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x80000000
+vrecpe.f32 d10, d11 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x80000000
 vrecpe.f32 d0, d1 :: Qd 0xff800000 0xff800000  Qm (i32)0x80000001
-vrecpe.f32 d0, d1 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x80000001
+vrecpe.f32 d0, d1 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x80000001
 vrecpe.f32 d0, d1 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fffffff
-vrecpe.f32 d0, d1 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x7fffffff
+vrecpe.f32 d0, d1 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x7fffffff
 vrecpe.f32 d0, d14 :: Qd 0x4e4c0000 0x4e4c0000  Qm (i32)0x30a0bcef
-vrecpe.f32 d0, d14 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x30a0bcef
+vrecpe.f32 d0, d14 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x30a0bcef
 vrecpe.f32 d0, d1 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000
-vrecpe.f32 d0, d1 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x7fc00000
+vrecpe.f32 d0, d1 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x7fc00000
 vrecpe.f32 d0, d1 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x00000000
-vrecpe.f32 d0, d1 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x00000000
+vrecpe.f32 d0, d1 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x00000000
 vrecpe.f32 d0, d1 :: Qd 0x00000000 0x00000000  Qm (i32)0x7f800000
-vrecpe.f32 d0, d1 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0x7f800000
+vrecpe.f32 d0, d1 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0x7f800000
 vrecpe.f32 d0, d1 :: Qd 0x80000000 0x80000000  Qm (i32)0xff800000
-vrecpe.f32 d0, d1 :: Qd 0x69d08000 0x6ad18000  Qm (i32)0xff800000
+vrecpe.f32 d0, d1 :: Qd 0x6fe68000 0x73ed0000  Qm (i32)0xff800000
 ---- VRECPS ----
 vrecps.f32 d0, d5, d2 :: Qd 0x44837ce4 0x44837ce4  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
 vrecps.f32 d0, d5, d2 :: Qd 0x40000000 0x40000000  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
@@ -5631,61 +5631,61 @@
 vrecps.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0xff800000  Qn (i32)0xff800000
 ---- VABS (fp) ----
 vabs.f32 d0, d1 :: Qd 0x404ccccd 0x404ccccd  Qm (i32)0x404ccccd
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x404ccccd
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x404ccccd
 vabs.f32 d10, d11 :: Qd 0x64cb49b4 0x64cb49b4  Qm (i32)0x64cb49b4
-vabs.f32 d10, d11 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x64cb49b4
+vabs.f32 d10, d11 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x64cb49b4
 vabs.f32 d15, d4 :: Qd 0x4f32d05e 0x4f32d05e  Qm (i32)0x4f32d05e
-vabs.f32 d15, d4 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x4f32d05e
+vabs.f32 d15, d4 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x4f32d05e
 vabs.f32 d15, d4 :: Qd 0x3f000000 0x3f000000  Qm (i32)0xbf000000
-vabs.f32 d15, d4 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0xbf000000
+vabs.f32 d15, d4 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0xbf000000
 vabs.f32 d15, d4 :: Qd 0x40e33333 0x40e33333  Qm (i32)0xc0e33333
-vabs.f32 d15, d4 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0xc0e33333
+vabs.f32 d15, d4 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0xc0e33333
 vabs.f32 d12, d8 :: Qd 0x40fff800 0x40fff800  Qm (i32)0x40fff800
-vabs.f32 d12, d8 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x40fff800
+vabs.f32 d12, d8 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x40fff800
 vabs.f32 d12, d8 :: Qd 0x40fff800 0x40fff800  Qm (i32)0xc0fff800
-vabs.f32 d12, d8 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0xc0fff800
+vabs.f32 d12, d8 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0xc0fff800
 vabs.f32 d0, d1 :: Qd 0x404ccccd 0x404ccccd  Qm (i32)0x404ccccd
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x404ccccd
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x404ccccd
 vabs.f32 d10, d11 :: Qd 0x64cb49b4 0x64cb49b4  Qm (i32)0x64cb49b4
-vabs.f32 d10, d11 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x64cb49b4
+vabs.f32 d10, d11 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x64cb49b4
 vabs.f32 d15, d4 :: Qd 0x4f32d05e 0x4f32d05e  Qm (i32)0x4f32d05e
-vabs.f32 d15, d4 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x4f32d05e
+vabs.f32 d15, d4 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x4f32d05e
 vabs.f32 d15, d4 :: Qd 0x3f000000 0x3f000000  Qm (i32)0xbf000000
-vabs.f32 d15, d4 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0xbf000000
+vabs.f32 d15, d4 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0xbf000000
 vabs.f32 d15, d4 :: Qd 0x40e33333 0x40e33333  Qm (i32)0xc0e33333
-vabs.f32 d15, d4 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0xc0e33333
+vabs.f32 d15, d4 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0xc0e33333
 vabs.f32 d12, d8 :: Qd 0x40fff800 0x40fff800  Qm (i32)0x40fff800
-vabs.f32 d12, d8 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x40fff800
+vabs.f32 d12, d8 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x40fff800
 vabs.f32 d12, d8 :: Qd 0x40fff800 0x40fff800  Qm (i32)0xc0fff800
-vabs.f32 d12, d8 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0xc0fff800
+vabs.f32 d12, d8 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0xc0fff800
 vabs.f32 d0, d1 :: Qd 0x00000007 0x00000007  Qm (i32)0x00000007
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x00000007
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x00000007
 vabs.f32 d10, d11 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000000
-vabs.f32 d10, d11 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x80000000
+vabs.f32 d10, d11 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x80000000
 vabs.f32 d0, d1 :: Qd 0x00000001 0x00000001  Qm (i32)0x80000001
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x80000001
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x80000001
 vabs.f32 d0, d1 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x7fffffff
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x7fffffff
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x7fffffff
 vabs.f32 d0, d14 :: Qd 0x30a0bcef 0x30a0bcef  Qm (i32)0x30a0bcef
-vabs.f32 d0, d14 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x30a0bcef
+vabs.f32 d0, d14 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x30a0bcef
 vabs.f32 d0, d1 :: Qd 0x00000007 0x00000007  Qm (i32)0x00000007
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x00000007
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x00000007
 vabs.f32 d10, d11 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000000
-vabs.f32 d10, d11 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x80000000
+vabs.f32 d10, d11 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x80000000
 vabs.f32 d0, d1 :: Qd 0x00000001 0x00000001  Qm (i32)0x80000001
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x80000001
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x80000001
 vabs.f32 d0, d1 :: Qd 0x7fffffff 0x7fffffff  Qm (i32)0x7fffffff
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x7fffffff
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x7fffffff
 vabs.f32 d0, d14 :: Qd 0x30a0bcef 0x30a0bcef  Qm (i32)0x30a0bcef
-vabs.f32 d0, d14 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x30a0bcef
+vabs.f32 d0, d14 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x30a0bcef
 vabs.f32 d0, d1 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x7fc00000
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x7fc00000
 vabs.f32 d0, d1 :: Qd 0x00000000 0x00000000  Qm (i32)0x00000000
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x00000000
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x00000000
 vabs.f32 d0, d1 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x7f800000
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0x7f800000
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0x7f800000
 vabs.f32 d0, d1 :: Qd 0x7f800000 0x7f800000  Qm (i32)0xff800000
-vabs.f32 d0, d1 :: Qd 0x151d191d 0x141c1f1c  Qm (i32)0xff800000
+vabs.f32 d0, d1 :: Qd 0x0f0e0d0c 0x0b0a0908  Qm (i32)0xff800000
 ---- VCGT (fp) ----
 vcgt.f32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x3f000000  Qn (i32)0xbf000000
 vcgt.f32 d0, d1, d2 :: Qd 0xffffffff 0xffffffff  Qm (i32)0x3f000000  Qn (i32)0xbf000000
@@ -6288,25 +6288,25 @@
 vcle.f32 d0, d1, #0 :: Qd 0x00000000 0x00000000  Qm (i32)0xff800000
 ---- VNEG (fp) ----
 vneg.f32 d0, d1 :: Qd 0x81000000 0x81000000  Qm (i32)0x01000000
-vneg.f32 d0, d1 :: Qd 0x951d191d 0x941c1f1c  Qm (i32)0x01000000
+vneg.f32 d0, d1 :: Qd 0x8f0e0d0c 0x8b0a0908  Qm (i32)0x01000000
 vneg.f32 d0, d1 :: Qd 0x80000001 0x80000001  Qm (i32)0x00000001
-vneg.f32 d0, d1 :: Qd 0x951d191d 0x941c1f1c  Qm (i32)0x00000001
+vneg.f32 d0, d1 :: Qd 0x8f0e0d0c 0x8b0a0908  Qm (i32)0x00000001
 vneg.f32 d2, d1 :: Qd 0x00000000 0x00000000  Qm (i32)0x80000000
-vneg.f32 d2, d1 :: Qd 0x951d191d 0x941c1f1c  Qm (i32)0x80000000
+vneg.f32 d2, d1 :: Qd 0x8f0e0d0c 0x8b0a0908  Qm (i32)0x80000000
 vneg.f32 d2, d1 :: Qd 0xc1b851ec 0xc1b851ec  Qm (i32)0x41b851ec
-vneg.f32 d2, d1 :: Qd 0x951d191d 0x941c1f1c  Qm (i32)0x41b851ec
+vneg.f32 d2, d1 :: Qd 0x8f0e0d0c 0x8b0a0908  Qm (i32)0x41b851ec
 vneg.f32 d2, d31 :: Qd 0x41b851ec 0x41b851ec  Qm (i32)0xc1b851ec
-vneg.f32 d2, d31 :: Qd 0x951d191d 0x941c1f1c  Qm (i32)0xc1b851ec
+vneg.f32 d2, d31 :: Qd 0x8f0e0d0c 0x8b0a0908  Qm (i32)0xc1b851ec
 vneg.f32 d30, d15 :: Qd 0x80000000 0x80000000  Qm (i32)0x00000000
-vneg.f32 d30, d15 :: Qd 0x951d191d 0x941c1f1c  Qm (i32)0x00000000
+vneg.f32 d30, d15 :: Qd 0x8f0e0d0c 0x8b0a0908  Qm (i32)0x00000000
 vneg.f32 d0, d1 :: Qd 0xffc00000 0xffc00000  Qm (i32)0x7fc00000
-vneg.f32 d0, d1 :: Qd 0x951d191d 0x941c1f1c  Qm (i32)0x7fc00000
+vneg.f32 d0, d1 :: Qd 0x8f0e0d0c 0x8b0a0908  Qm (i32)0x7fc00000
 vneg.f32 d0, d1 :: Qd 0x80000000 0x80000000  Qm (i32)0x00000000
-vneg.f32 d0, d1 :: Qd 0x951d191d 0x941c1f1c  Qm (i32)0x00000000
+vneg.f32 d0, d1 :: Qd 0x8f0e0d0c 0x8b0a0908  Qm (i32)0x00000000
 vneg.f32 d0, d1 :: Qd 0xff800000 0xff800000  Qm (i32)0x7f800000
-vneg.f32 d0, d1 :: Qd 0x951d191d 0x941c1f1c  Qm (i32)0x7f800000
+vneg.f32 d0, d1 :: Qd 0x8f0e0d0c 0x8b0a0908  Qm (i32)0x7f800000
 vneg.f32 d0, d1 :: Qd 0x7f800000 0x7f800000  Qm (i32)0xff800000
-vneg.f32 d0, d1 :: Qd 0x951d191d 0x941c1f1c  Qm (i32)0xff800000
+vneg.f32 d0, d1 :: Qd 0x8f0e0d0c 0x8b0a0908  Qm (i32)0xff800000
 ---- VRSQRTS ----
 vrsqrts.f32 d0, d5, d2 :: Qd 0x44039ce4 0x44039ce4  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
 vrsqrts.f32 d0, d5, d2 :: Qd 0x3fc00000 0x3fc00000  Qm (i32)0x41b851ec  Qn (i32)0xc2364659
@@ -6390,58 +6390,58 @@
 vrsqrts.f32 d0, d1, d2 :: Qd 0x7f800000 0x7f800000  Qm (i32)0xff800000  Qn (i32)0xff800000
 ---- VRSQRTE (fp) ----
 vrsqrte.f32 d0, d1 :: Qd 0x3f0f0000 0x3f0f0000  Qm (i32)0x404ccccd
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0x404ccccd
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x404ccccd
 vrsqrte.f32 d10, d11 :: Qd 0x2ccb0000 0x2ccb0000  Qm (i32)0x64cb49b4
-vrsqrte.f32 d10, d11 :: Qd 0x54a30000 0x55238000  Qm (i32)0x64cb49b4
+vrsqrte.f32 d10, d11 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x64cb49b4
 vrsqrte.f32 d15, d4 :: Qd 0x37998000 0x37998000  Qm (i32)0x4f32d05e
-vrsqrte.f32 d15, d4 :: Qd 0x54a30000 0x55238000  Qm (i32)0x4f32d05e
+vrsqrte.f32 d15, d4 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x4f32d05e
 vrsqrte.f32 d15, d4 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xbf000000
-vrsqrte.f32 d15, d4 :: Qd 0x54a30000 0x55238000  Qm (i32)0xbf000000
+vrsqrte.f32 d15, d4 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0xbf000000
 vrsqrte.f32 d15, d4 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xc0e33333
-vrsqrte.f32 d15, d4 :: Qd 0x54a30000 0x55238000  Qm (i32)0xc0e33333
+vrsqrte.f32 d15, d4 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0xc0e33333
 vrsqrte.f32 d12, d8 :: Qd 0x3eb50000 0x3eb50000  Qm (i32)0x40fff800
-vrsqrte.f32 d12, d8 :: Qd 0x54a30000 0x55238000  Qm (i32)0x40fff800
+vrsqrte.f32 d12, d8 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x40fff800
 vrsqrte.f32 d12, d8 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xc0fff800
-vrsqrte.f32 d12, d8 :: Qd 0x54a30000 0x55238000  Qm (i32)0xc0fff800
+vrsqrte.f32 d12, d8 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0xc0fff800
 vrsqrte.f32 d0, d1 :: Qd 0x3f0f0000 0x3f0f0000  Qm (i32)0x404ccccd
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0x404ccccd
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x404ccccd
 vrsqrte.f32 d10, d11 :: Qd 0x2ccb0000 0x2ccb0000  Qm (i32)0x64cb49b4
-vrsqrte.f32 d10, d11 :: Qd 0x54a30000 0x55238000  Qm (i32)0x64cb49b4
+vrsqrte.f32 d10, d11 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x64cb49b4
 vrsqrte.f32 d15, d4 :: Qd 0x37998000 0x37998000  Qm (i32)0x4f32d05e
-vrsqrte.f32 d15, d4 :: Qd 0x54a30000 0x55238000  Qm (i32)0x4f32d05e
+vrsqrte.f32 d15, d4 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x4f32d05e
 vrsqrte.f32 d15, d4 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xbf000000
-vrsqrte.f32 d15, d4 :: Qd 0x54a30000 0x55238000  Qm (i32)0xbf000000
+vrsqrte.f32 d15, d4 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0xbf000000
 vrsqrte.f32 d15, d4 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xc0e33333
-vrsqrte.f32 d15, d4 :: Qd 0x54a30000 0x55238000  Qm (i32)0xc0e33333
+vrsqrte.f32 d15, d4 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0xc0e33333
 vrsqrte.f32 d12, d8 :: Qd 0x3eb50000 0x3eb50000  Qm (i32)0x40fff800
-vrsqrte.f32 d12, d8 :: Qd 0x54a30000 0x55238000  Qm (i32)0x40fff800
+vrsqrte.f32 d12, d8 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x40fff800
 vrsqrte.f32 d12, d8 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xc0fff800
-vrsqrte.f32 d12, d8 :: Qd 0x54a30000 0x55238000  Qm (i32)0xc0fff800
+vrsqrte.f32 d12, d8 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0xc0fff800
 vrsqrte.f32 d0, d1 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x00000007
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0x00000007
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x00000007
 vrsqrte.f32 d10, d11 :: Qd 0xff800000 0xff800000  Qm (i32)0x80000000
-vrsqrte.f32 d10, d11 :: Qd 0x54a30000 0x55238000  Qm (i32)0x80000000
+vrsqrte.f32 d10, d11 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x80000000
 vrsqrte.f32 d0, d1 :: Qd 0xff800000 0xff800000  Qm (i32)0x80000001
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0x80000001
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x80000001
 vrsqrte.f32 d0, d1 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fffffff
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0x7fffffff
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x7fffffff
 vrsqrte.f32 d0, d14 :: Qd 0x46e48000 0x46e48000  Qm (i32)0x30a0bcef
-vrsqrte.f32 d0, d14 :: Qd 0x54a30000 0x55238000  Qm (i32)0x30a0bcef
+vrsqrte.f32 d0, d14 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x30a0bcef
 vrsqrte.f32 d0, d1 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x00000007
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0x00000007
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x00000007
 vrsqrte.f32 d10, d11 :: Qd 0xff800000 0xff800000  Qm (i32)0x80000000
-vrsqrte.f32 d10, d11 :: Qd 0x54a30000 0x55238000  Qm (i32)0x80000000
+vrsqrte.f32 d10, d11 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x80000000
 vrsqrte.f32 d0, d1 :: Qd 0xff800000 0xff800000  Qm (i32)0x80000001
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0x80000001
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x80000001
 vrsqrte.f32 d0, d1 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fffffff
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0x7fffffff
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x7fffffff
 vrsqrte.f32 d0, d14 :: Qd 0x46e48000 0x46e48000  Qm (i32)0x30a0bcef
-vrsqrte.f32 d0, d14 :: Qd 0x54a30000 0x55238000  Qm (i32)0x30a0bcef
+vrsqrte.f32 d0, d14 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x30a0bcef
 vrsqrte.f32 d0, d1 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0x7fc00000
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0x7fc00000
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x7fc00000
 vrsqrte.f32 d0, d1 :: Qd 0x7f800000 0x7f800000  Qm (i32)0x00000000
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0x00000000
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x00000000
 vrsqrte.f32 d0, d1 :: Qd 0x00000000 0x00000000  Qm (i32)0x7f800000
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0x7f800000
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0x7f800000
 vrsqrte.f32 d0, d1 :: Qd 0x7fc00000 0x7fc00000  Qm (i32)0xff800000
-vrsqrte.f32 d0, d1 :: Qd 0x54a30000 0x55238000  Qm (i32)0xff800000
+vrsqrte.f32 d0, d1 :: Qd 0x57ab8000 0x59ae0000  Qm (i32)0xff800000
diff --git a/none/tests/arm/v6intARM.c b/none/tests/arm/v6intARM.c
index 761485c..fa3e45d 100644
--- a/none/tests/arm/v6intARM.c
+++ b/none/tests/arm/v6intARM.c
@@ -914,5 +914,281 @@
         __asm__ __volatile__("nopne" ::: "memory","cc");
 	printf("------------ NOP (end) ------------\n");
 
+	printf("------------ SMMUL ------------\n");
+        TESTINST3("smmul   r0, r1, r2", 0, 0, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+
+        TESTINST3("smmulr  r0, r1, r2", 0, 0, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+
+	printf("------------ UMAAL ------------\n");
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
+
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0x27182846, 0x31415927, 0x14141356, 0x1773250A, 
+                       r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0x01415927, 0x74141356, 0x5773250A, 0xA7182846,
+                       r0, r1, r2, r3, 1);
+
+        printf("----------------- SMMLA{R} ----------------- \n");
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
+
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
+
 	return 0;
 }
diff --git a/none/tests/arm/v6intARM.stdout.exp b/none/tests/arm/v6intARM.stdout.exp
index 2dbd1ee..7f17e5a 100644
--- a/none/tests/arm/v6intARM.stdout.exp
+++ b/none/tests/arm/v6intARM.stdout.exp
@@ -799,3 +799,155 @@
 nopeq
 nopne
 ------------ NOP (end) ------------
+------------ SMMUL ------------
+smmul   r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x00000000     
+smmul   r0, r1, r2 :: rd 0x00000000 rm 0xffffffff, rn 0x00000000, carryin 0, cpsr 0x00000000     
+smmul   r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0xffffffff, carryin 0, cpsr 0x00000000     
+smmul   r0, r1, r2 :: rd 0x00000000 rm 0xffffffff, rn 0xffffffff, carryin 0, cpsr 0x00000000     
+smmul   r0, r1, r2 :: rd 0x3fffffff rm 0x7fffffff, rn 0x7fffffff, carryin 0, cpsr 0x00000000     
+smmul   r0, r1, r2 :: rd 0x00000000 rm 0x0000ffff, rn 0x0000ffff, carryin 0, cpsr 0x00000000     
+smmul   r0, r1, r2 :: rd 0x048e8c61 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000     
+smmul   r0, r1, r2 :: rd 0xfd764d51 rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00000000     
+smmul   r0, r1, r2 :: rd 0x0657af1f rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000     
+smmul   r0, r1, r2 :: rd 0xffe5afbd rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000     
+smmul   r0, r1, r2 :: rd 0xffc528bc rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000     
+smmulr  r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x00000000     
+smmulr  r0, r1, r2 :: rd 0x00000000 rm 0xffffffff, rn 0x00000000, carryin 0, cpsr 0x00000000     
+smmulr  r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0xffffffff, carryin 0, cpsr 0x00000000     
+smmulr  r0, r1, r2 :: rd 0x00000000 rm 0xffffffff, rn 0xffffffff, carryin 0, cpsr 0x00000000     
+smmulr  r0, r1, r2 :: rd 0x3fffffff rm 0x7fffffff, rn 0x7fffffff, carryin 0, cpsr 0x00000000     
+smmulr  r0, r1, r2 :: rd 0x00000001 rm 0x0000ffff, rn 0x0000ffff, carryin 0, cpsr 0x00000000     
+smmulr  r0, r1, r2 :: rd 0x048e8c61 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000     
+smmulr  r0, r1, r2 :: rd 0xfd764d52 rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00000000     
+smmulr  r0, r1, r2 :: rd 0x0657af1f rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000     
+smmulr  r0, r1, r2 :: rd 0xffe5afbd rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000     
+smmulr  r0, r1, r2 :: rd 0xffc528bd rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000     
+------------ UMAAL ------------
+umaal  r0, r1, r2, r3 :: rd 0x00000000 rd2 0x00000000, rm 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000     
+umaal  r0, r1, r2, r3 :: rd 0x00000001 rd2 0x00000000, rm 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000     
+umaal  r0, r1, r2, r3 :: rd 0x00000002 rd2 0x00000000, rm 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000     
+umaal  r0, r1, r2, r3 :: rd 0x00000000 rd2 0x00000001, rm 0x00000001 rs 0x00000001, carryin 0, cpsr 0x00000000     
+umaal  r0, r1, r2, r3 :: rd 0x00000000 rd2 0x00000000, rm 0x00000000 rs 0x00000001, carryin 0, cpsr 0x00000000     
+umaal  r0, r1, r2, r3 :: rd 0x00000000 rd2 0x00000000, rm 0x00000001 rs 0x00000000, carryin 0, cpsr 0x00000000     
+umaal  r0, r1, r2, r3 :: rd 0x00000001 rd2 0x00000000, rm 0x00000001 rs 0x00000001, carryin 0, cpsr 0x00000000     
+umaal  r0, r1, r2, r3 :: rd 0xfffe0001 rd2 0x00000000, rm 0x0000ffff rs 0x0000ffff, carryin 0, cpsr 0x00000000     
+umaal  r0, r1, r2, r3 :: rd 0x00000001 rd2 0xfffffffe, rm 0xffffffff rs 0xffffffff, carryin 0, cpsr 0x00000000     
+umaal  r0, r1, r2, r3 :: rd 0x718fb0c9 rd2 0x01d6d5a9, rm 0x14141356 rs 0x1773250a, carryin 0, cpsr 0x00000000     
+umaal  r0, r1, r2, r3 :: rd 0x5b8b1d39 rd2 0x39145db7, rm 0x5773250a rs 0xa7182846, carryin 1, cpsr 0x20000000   C 
+----------------- SMMLA{R} ----------------- 
+smmla  r0, r1, r2, r3 :: rd 0x3fff8000 rm 0x80008000, rn 0x80008000 rs 0x00000000, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x00008000 rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x0000001f rm 0x80008000, rn 0xffffffff rs 0x0000001f, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x0000014c rm 0x00640064, rn 0x00030003 rs 0x00000020, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x000000ff rm 0xffffffff, rn 0xfffc0001 rs 0x000000ff, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x000000e5 rm 0xfff70fff, rn 0x00030003 rs 0x00000100, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x6da42730 rm 0xb8035b5b, rn 0xce0ce1ed rs 0x5f986e68, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xaf1e71ac rm 0x35232047, rn 0x146275d8 rs 0xaae3433f, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x29fc00b8 rm 0xe7aa57b4, rn 0x1584bd74 rs 0x2c07a5b4, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x94c3ef90 rm 0x32fa0095, rn 0x36f26261 rs 0x89d2ef86, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xd37b24dd rm 0x8ed8287c, rn 0x02c90120 rs 0xd4b64d54, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x018e2425 rm 0xc53aaba9, rn 0x29300837 rs 0x0b02c58a, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xbc3fa1b0 rm 0x216158cb, rn 0x57a50a01 rs 0xb0d20777, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x8cfe5c98 rm 0x3e2e1bd7, rn 0x3cd6cd94 rs 0x7e376198, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xdb82bc46 rm 0xd5fe2dc4, rn 0xdd914bf7 rs 0xd5dc5407, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xf1d94578 rm 0xf87b961e, rn 0x1d66879f rs 0xf2b64835, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xb7fd61cb rm 0xd65db979, rn 0xc61b323b rs 0xae930a1a, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x17c6a65c rm 0x5ef1f1a8, rn 0xbf73f0a5 rs 0x2fb714c9, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x9352d577 rm 0x1ffe53d9, rn 0x815bb75b rs 0xa3268abe, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xf3cfaf6a rm 0xed2cbf78, rn 0xc6ffabb6 rs 0xef9e9fd9, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x3c1a7759 rm 0xeaa652c7, rn 0x137741f4 rs 0x3dba1164, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xf5d9df28 rm 0x3ada0280, rn 0x71fbde8b rs 0xdba5bd25, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x98a634ea rm 0xda4ba05b, rn 0x90f9833d rs 0x884c0ad8, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x7a6d391f rm 0xc00b821a, rn 0x7fa1d5a6 rs 0x9a4ff1b8, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x76f50363 rm 0xe1bb8606, rn 0x58293969 rs 0x81616d13, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x42f53181 rm 0x51f31d95, rn 0xa3cfd624 rs 0x6077fb1f, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x40f69a8a rm 0x0849a0c2, rn 0x0872f25a rs 0x40b094e2, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x90a0e4d5 rm 0x17913309, rn 0xf1e03d7e rs 0x91edc21d, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x3881a269 rm 0x5388b5cd, rn 0x86582032 rs 0x6034078d, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xd5d1dc2a rm 0x181c436b, rn 0x5de41558 rs 0xccfa1c7e, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x525596c2 rm 0x23ba1b46, rn 0x4437983c rs 0x48d06549, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xc625689f rm 0xa9085781, rn 0xc6b4ac58 rs 0xb2aead21, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x8d5833a2 rm 0xc2bdf597, rn 0xdde1e6a4 rs 0x852e3a72, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xe672c22e rm 0x157b0dea, rn 0xf0d5ff94 rs 0xe7b87e39, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xe6928627 rm 0x3edad6b6, rn 0x82aceb7a rs 0x0557c6fc, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xb7b6007d rm 0x6cc9bfa8, rn 0x7f808c15 rs 0x81874a02, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x525cf3ab rm 0x6b1422c7, rn 0x33921b00 rs 0x3ccad3f7, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x7c3548ed rm 0xd7ce1909, rn 0x3e435701 rs 0x85fbf196, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x68f699e4 rm 0xb4e16b6e, rn 0x6e13680a rs 0x89436f88, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x1b13790a rm 0x44858efc, rn 0x9002bc30 rs 0x390d2c2f, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x9ba7cdc7 rm 0xbea121ab, rn 0x953ff6ec rs 0x80657c40, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x2d1a1fe5 rm 0x6ffed89f, rn 0x3e8c49b7 rs 0x11bd07d1, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x10b5f061 rm 0x7795635d, rn 0x5e6e32dd rs 0xe4999bf2, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x1c4724dd rm 0xec0c2f30, rn 0x5736ed46 rs 0x231348c0, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x3659621b rm 0x4f9ddd1b, rn 0x95bca5d8 rs 0x5765b203, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x69a8c373 rm 0xc1553709, rn 0x0112b30a rs 0x69ec0212, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x8b6e102d rm 0x74bd0223, rn 0x03fa9bb5 rs 0x899d9192, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x82f9ba69 rm 0xf52e9fbf, rn 0xb4c510a7 rs 0x7fcbe5a9, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x09b3368c rm 0x64a365ef, rn 0x2dd01366 rs 0xf7b0b13e, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x5fa7fcb2 rm 0x5e4b1cbf, rn 0x44de5ca9 rs 0x464a21cc, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xf19d7636 rm 0x299da970, rn 0xe8108f1b rs 0xf5818cfb, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x92f66df2 rm 0xcd90d604, rn 0xaa5e9444 rs 0x8217b7df, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0x674d6686 rm 0xe60743c3, rn 0x7acb4de3 rs 0x73c29060, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xefc98235 rm 0x868e7c7d, rn 0x5f77532e rs 0x1d133d3d, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xff441be7 rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xec17ff2b rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, carryin 0, cpsr 0x00000000     
+smmla  r0, r1, r2, r3 :: rd 0xfd3dedd0 rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x3fff8000 rm 0x80008000, rn 0x80008000 rs 0x00000000, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x00008001 rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x0000001f rm 0x80008000, rn 0xffffffff rs 0x0000001f, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x0000014c rm 0x00640064, rn 0x00030003 rs 0x00000020, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x000000ff rm 0xffffffff, rn 0xfffc0001 rs 0x000000ff, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x000000e5 rm 0xfff70fff, rn 0x00030003 rs 0x00000100, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x6da42731 rm 0xb8035b5b, rn 0xce0ce1ed rs 0x5f986e68, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xaf1e71ad rm 0x35232047, rn 0x146275d8 rs 0xaae3433f, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x29fc00b9 rm 0xe7aa57b4, rn 0x1584bd74 rs 0x2c07a5b4, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x94c3ef91 rm 0x32fa0095, rn 0x36f26261 rs 0x89d2ef86, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xd37b24dd rm 0x8ed8287c, rn 0x02c90120 rs 0xd4b64d54, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x018e2425 rm 0xc53aaba9, rn 0x29300837 rs 0x0b02c58a, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xbc3fa1b0 rm 0x216158cb, rn 0x57a50a01 rs 0xb0d20777, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x8cfe5c99 rm 0x3e2e1bd7, rn 0x3cd6cd94 rs 0x7e376198, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xdb82bc46 rm 0xd5fe2dc4, rn 0xdd914bf7 rs 0xd5dc5407, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xf1d94579 rm 0xf87b961e, rn 0x1d66879f rs 0xf2b64835, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xb7fd61cc rm 0xd65db979, rn 0xc61b323b rs 0xae930a1a, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x17c6a65d rm 0x5ef1f1a8, rn 0xbf73f0a5 rs 0x2fb714c9, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x9352d577 rm 0x1ffe53d9, rn 0x815bb75b rs 0xa3268abe, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xf3cfaf6a rm 0xed2cbf78, rn 0xc6ffabb6 rs 0xef9e9fd9, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x3c1a7759 rm 0xeaa652c7, rn 0x137741f4 rs 0x3dba1164, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xf5d9df29 rm 0x3ada0280, rn 0x71fbde8b rs 0xdba5bd25, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x98a634eb rm 0xda4ba05b, rn 0x90f9833d rs 0x884c0ad8, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x7a6d3920 rm 0xc00b821a, rn 0x7fa1d5a6 rs 0x9a4ff1b8, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x76f50364 rm 0xe1bb8606, rn 0x58293969 rs 0x81616d13, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x42f53182 rm 0x51f31d95, rn 0xa3cfd624 rs 0x6077fb1f, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x40f69a8a rm 0x0849a0c2, rn 0x0872f25a rs 0x40b094e2, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x90a0e4d5 rm 0x17913309, rn 0xf1e03d7e rs 0x91edc21d, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x3881a269 rm 0x5388b5cd, rn 0x86582032 rs 0x6034078d, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xd5d1dc2b rm 0x181c436b, rn 0x5de41558 rs 0xccfa1c7e, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x525596c2 rm 0x23ba1b46, rn 0x4437983c rs 0x48d06549, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xc625689f rm 0xa9085781, rn 0xc6b4ac58 rs 0xb2aead21, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x8d5833a3 rm 0xc2bdf597, rn 0xdde1e6a4 rs 0x852e3a72, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xe672c22f rm 0x157b0dea, rn 0xf0d5ff94 rs 0xe7b87e39, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xe6928628 rm 0x3edad6b6, rn 0x82aceb7a rs 0x0557c6fc, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xb7b6007d rm 0x6cc9bfa8, rn 0x7f808c15 rs 0x81874a02, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x525cf3ac rm 0x6b1422c7, rn 0x33921b00 rs 0x3ccad3f7, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x7c3548ee rm 0xd7ce1909, rn 0x3e435701 rs 0x85fbf196, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x68f699e5 rm 0xb4e16b6e, rn 0x6e13680a rs 0x89436f88, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x1b13790b rm 0x44858efc, rn 0x9002bc30 rs 0x390d2c2f, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x9ba7cdc7 rm 0xbea121ab, rn 0x953ff6ec rs 0x80657c40, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x2d1a1fe6 rm 0x6ffed89f, rn 0x3e8c49b7 rs 0x11bd07d1, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x10b5f061 rm 0x7795635d, rn 0x5e6e32dd rs 0xe4999bf2, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x1c4724dd rm 0xec0c2f30, rn 0x5736ed46 rs 0x231348c0, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x3659621b rm 0x4f9ddd1b, rn 0x95bca5d8 rs 0x5765b203, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x69a8c373 rm 0xc1553709, rn 0x0112b30a rs 0x69ec0212, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x8b6e102d rm 0x74bd0223, rn 0x03fa9bb5 rs 0x899d9192, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x82f9ba69 rm 0xf52e9fbf, rn 0xb4c510a7 rs 0x7fcbe5a9, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x09b3368c rm 0x64a365ef, rn 0x2dd01366 rs 0xf7b0b13e, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x5fa7fcb3 rm 0x5e4b1cbf, rn 0x44de5ca9 rs 0x464a21cc, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xf19d7637 rm 0x299da970, rn 0xe8108f1b rs 0xf5818cfb, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x92f66df3 rm 0xcd90d604, rn 0xaa5e9444 rs 0x8217b7df, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0x674d6687 rm 0xe60743c3, rn 0x7acb4de3 rs 0x73c29060, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xefc98236 rm 0x868e7c7d, rn 0x5f77532e rs 0x1d133d3d, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xff441be8 rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xec17ff2c rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, carryin 0, cpsr 0x00000000     
+smmlar  r0, r1, r2, r3 :: rd 0xfd3dedd0 rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, carryin 0, cpsr 0x00000000     
diff --git a/none/tests/arm/v6intThumb.c b/none/tests/arm/v6intThumb.c
index c721d3a..b2bb3e6 100644
--- a/none/tests/arm/v6intThumb.c
+++ b/none/tests/arm/v6intThumb.c
@@ -5869,5 +5869,281 @@
    // plus whatever stuff we can throw in from the old ARM test program
    old_main();
 
+        printf("------------ SMMUL ------------\n");
+        TESTINST3("smmul   r0, r1, r2", 0, 0, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+        TESTINST3("smmul   r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+
+        TESTINST3("smmulr  r0, r1, r2", 0, 0, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0xffffffff, 0, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0, 0xffffffff, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0x7fffffff, 0x7fffffff, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0x0000ffff, 0x0000ffff, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+        TESTINST3("smmulr  r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+
+	printf("------------ UMAAL ------------\n");
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 0, 0, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 1, 0, 0, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 1, 1, 0, 0, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0xffffffff, 1, 1, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 0, 1, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 1, 0, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 1, 1, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 0xffff, 0xffff, r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0, 0, 0xffffffff, 0xffffffff, r0, r1, r2, r3, 0);
+
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0x27182846, 0x31415927, 0x14141356, 0x1773250A, 
+                       r0, r1, r2, r3, 0);
+	TESTINST4_2OUT("umaal  r0, r1, r2, r3", 0x01415927, 0x74141356, 0x5773250A, 0xA7182846,
+                       r0, r1, r2, r3, 1);
+
+        printf("----------------- SMMLA{R} ----------------- \n");
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
+        TESTINST4("smmla  r0, r1, r2, r3", 
+                  0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
+
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
+        TESTINST4("smmlar  r0, r1, r2, r3", 
+                  0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
+
    return 0;
 }
diff --git a/none/tests/arm/v6intThumb.stdout.exp b/none/tests/arm/v6intThumb.stdout.exp
index af2f795..16ea5e8 100644
--- a/none/tests/arm/v6intThumb.stdout.exp
+++ b/none/tests/arm/v6intThumb.stdout.exp
@@ -16767,19 +16767,19 @@
 movs r0, r1 :: rd 0x80000000 rm 0x80000000, c:v-in 0, cpsr 0x80000000 N   
 movs r0, #0 :: rd 0x00000000 rm 0x00000000, c:v-in 0, cpsr 0x40000000  Z  
 movs r0, #1 :: rd 0x00000001 rm 0x00000000, c:v-in 0, cpsr 0x00000000     
-movs r0, r1 :: rd 0x00000001 rm 0x00000001, c:v-in 1, cpsr 0x00000000     
-movs r0, r1 :: rd 0x00000000 rm 0x00000000, c:v-in 1, cpsr 0x40000000  Z  
-movs r0, r1 :: rd 0x80000000 rm 0x80000000, c:v-in 1, cpsr 0x80000000 N   
+movs r0, r1 :: rd 0x00000001 rm 0x00000001, c:v-in 1, cpsr 0x10000000    V
+movs r0, r1 :: rd 0x00000000 rm 0x00000000, c:v-in 1, cpsr 0x50000000  Z V
+movs r0, r1 :: rd 0x80000000 rm 0x80000000, c:v-in 1, cpsr 0x90000000 N  V
 movs r0, #0 :: rd 0x00000000 rm 0x00000000, c:v-in 1, cpsr 0x50000000  Z V
 movs r0, #1 :: rd 0x00000001 rm 0x00000000, c:v-in 1, cpsr 0x10000000    V
-movs r0, r1 :: rd 0x00000001 rm 0x00000001, c:v-in 2, cpsr 0x00000000     
-movs r0, r1 :: rd 0x00000000 rm 0x00000000, c:v-in 2, cpsr 0x40000000  Z  
-movs r0, r1 :: rd 0x80000000 rm 0x80000000, c:v-in 2, cpsr 0x80000000 N   
+movs r0, r1 :: rd 0x00000001 rm 0x00000001, c:v-in 2, cpsr 0x20000000   C 
+movs r0, r1 :: rd 0x00000000 rm 0x00000000, c:v-in 2, cpsr 0x60000000  ZC 
+movs r0, r1 :: rd 0x80000000 rm 0x80000000, c:v-in 2, cpsr 0xa0000000 N C 
 movs r0, #0 :: rd 0x00000000 rm 0x00000000, c:v-in 2, cpsr 0x60000000  ZC 
 movs r0, #1 :: rd 0x00000001 rm 0x00000000, c:v-in 2, cpsr 0x20000000   C 
-movs r0, r1 :: rd 0x00000001 rm 0x00000001, c:v-in 3, cpsr 0x00000000     
-movs r0, r1 :: rd 0x00000000 rm 0x00000000, c:v-in 3, cpsr 0x40000000  Z  
-movs r0, r1 :: rd 0x80000000 rm 0x80000000, c:v-in 3, cpsr 0x80000000 N   
+movs r0, r1 :: rd 0x00000001 rm 0x00000001, c:v-in 3, cpsr 0x30000000   CV
+movs r0, r1 :: rd 0x00000000 rm 0x00000000, c:v-in 3, cpsr 0x70000000  ZCV
+movs r0, r1 :: rd 0x80000000 rm 0x80000000, c:v-in 3, cpsr 0xb0000000 N CV
 movs r0, #0 :: rd 0x00000000 rm 0x00000000, c:v-in 3, cpsr 0x70000000  ZCV
 movs r0, #1 :: rd 0x00000001 rm 0x00000000, c:v-in 3, cpsr 0x30000000   CV
 MVN
@@ -17450,3 +17450,155 @@
 uxtah r0, r1, r2, ROR #16 :: rd 0x3141803f rm 0x31415927, rn 0x27189819, c:v-in 0, cpsr 0xc0000000 NZ  
 uxtah r0, r1, r2, ROR #8  :: rd 0x314171bf rm 0x31415927, rn 0x27189819, c:v-in 0, cpsr 0xc0000000 NZ  
 uxtah r0, r1, r2, ROR #0  :: rd 0x3141f140 rm 0x31415927, rn 0x27189819, c:v-in 0, cpsr 0xc0000000 NZ  
+------------ SMMUL ------------
+smmul   r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+smmul   r0, r1, r2 :: rd 0x00000000 rm 0xffffffff, rn 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+smmul   r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0xffffffff, c:v-in 0, cpsr 0xc0000000 NZ  
+smmul   r0, r1, r2 :: rd 0x00000000 rm 0xffffffff, rn 0xffffffff, c:v-in 0, cpsr 0xc0000000 NZ  
+smmul   r0, r1, r2 :: rd 0x3fffffff rm 0x7fffffff, rn 0x7fffffff, c:v-in 0, cpsr 0xc0000000 NZ  
+smmul   r0, r1, r2 :: rd 0x00000000 rm 0x0000ffff, rn 0x0000ffff, c:v-in 0, cpsr 0xc0000000 NZ  
+smmul   r0, r1, r2 :: rd 0x048e8c61 rm 0xe444dc25, rn 0xd5eef620, c:v-in 0, cpsr 0xc0000000 NZ  
+smmul   r0, r1, r2 :: rd 0xfd764d51 rm 0x06ea9b2a, rn 0xa2108661, c:v-in 0, cpsr 0xc0000000 NZ  
+smmul   r0, r1, r2 :: rd 0x0657af1f rm 0x448f3a5f, rn 0x17aecf57, c:v-in 0, cpsr 0xc0000000 NZ  
+smmul   r0, r1, r2 :: rd 0xffe5afbd rm 0x4b0c2337, rn 0xffa63d6c, c:v-in 0, cpsr 0xc0000000 NZ  
+smmul   r0, r1, r2 :: rd 0xffc528bc rm 0xf91d5f56, rn 0x088bc0f9, c:v-in 0, cpsr 0xc0000000 NZ  
+smmulr  r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+smmulr  r0, r1, r2 :: rd 0x00000000 rm 0xffffffff, rn 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+smmulr  r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0xffffffff, c:v-in 0, cpsr 0xc0000000 NZ  
+smmulr  r0, r1, r2 :: rd 0x00000000 rm 0xffffffff, rn 0xffffffff, c:v-in 0, cpsr 0xc0000000 NZ  
+smmulr  r0, r1, r2 :: rd 0x3fffffff rm 0x7fffffff, rn 0x7fffffff, c:v-in 0, cpsr 0xc0000000 NZ  
+smmulr  r0, r1, r2 :: rd 0x00000001 rm 0x0000ffff, rn 0x0000ffff, c:v-in 0, cpsr 0xc0000000 NZ  
+smmulr  r0, r1, r2 :: rd 0x048e8c61 rm 0xe444dc25, rn 0xd5eef620, c:v-in 0, cpsr 0xc0000000 NZ  
+smmulr  r0, r1, r2 :: rd 0xfd764d52 rm 0x06ea9b2a, rn 0xa2108661, c:v-in 0, cpsr 0xc0000000 NZ  
+smmulr  r0, r1, r2 :: rd 0x0657af1f rm 0x448f3a5f, rn 0x17aecf57, c:v-in 0, cpsr 0xc0000000 NZ  
+smmulr  r0, r1, r2 :: rd 0xffe5afbd rm 0x4b0c2337, rn 0xffa63d6c, c:v-in 0, cpsr 0xc0000000 NZ  
+smmulr  r0, r1, r2 :: rd 0xffc528bd rm 0xf91d5f56, rn 0x088bc0f9, c:v-in 0, cpsr 0xc0000000 NZ  
+------------ UMAAL ------------
+umaal  r0, r1, r2, r3 :: rd 0x00000000 rd2 0x00000000, rm 0x00000000 rs 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+umaal  r0, r1, r2, r3 :: rd 0x00000001 rd2 0x00000000, rm 0x00000000 rs 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+umaal  r0, r1, r2, r3 :: rd 0x00000002 rd2 0x00000000, rm 0x00000000 rs 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+umaal  r0, r1, r2, r3 :: rd 0x00000000 rd2 0x00000001, rm 0x00000001 rs 0x00000001, c:v-in 0, cpsr 0xc0000000 NZ  
+umaal  r0, r1, r2, r3 :: rd 0x00000000 rd2 0x00000000, rm 0x00000000 rs 0x00000001, c:v-in 0, cpsr 0xc0000000 NZ  
+umaal  r0, r1, r2, r3 :: rd 0x00000000 rd2 0x00000000, rm 0x00000001 rs 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+umaal  r0, r1, r2, r3 :: rd 0x00000001 rd2 0x00000000, rm 0x00000001 rs 0x00000001, c:v-in 0, cpsr 0xc0000000 NZ  
+umaal  r0, r1, r2, r3 :: rd 0xfffe0001 rd2 0x00000000, rm 0x0000ffff rs 0x0000ffff, c:v-in 0, cpsr 0xc0000000 NZ  
+umaal  r0, r1, r2, r3 :: rd 0x00000001 rd2 0xfffffffe, rm 0xffffffff rs 0xffffffff, c:v-in 0, cpsr 0xc0000000 NZ  
+umaal  r0, r1, r2, r3 :: rd 0x718fb0c9 rd2 0x01d6d5a9, rm 0x14141356 rs 0x1773250a, c:v-in 0, cpsr 0xc0000000 NZ  
+umaal  r0, r1, r2, r3 :: rd 0x5b8b1d39 rd2 0x39145db7, rm 0x5773250a rs 0xa7182846, c:v-in 1, cpsr 0xd0000000 NZ V
+----------------- SMMLA{R} ----------------- 
+smmla  r0, r1, r2, r3 :: rd 0x3fff8000 rm 0x80008000, rn 0x80008000 rs 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x00008000 rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x0000001f rm 0x80008000, rn 0xffffffff rs 0x0000001f, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x0000014c rm 0x00640064, rn 0x00030003 rs 0x00000020, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x000000ff rm 0xffffffff, rn 0xfffc0001 rs 0x000000ff, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x000000e5 rm 0xfff70fff, rn 0x00030003 rs 0x00000100, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x6da42730 rm 0xb8035b5b, rn 0xce0ce1ed rs 0x5f986e68, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xaf1e71ac rm 0x35232047, rn 0x146275d8 rs 0xaae3433f, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x29fc00b8 rm 0xe7aa57b4, rn 0x1584bd74 rs 0x2c07a5b4, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x94c3ef90 rm 0x32fa0095, rn 0x36f26261 rs 0x89d2ef86, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xd37b24dd rm 0x8ed8287c, rn 0x02c90120 rs 0xd4b64d54, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x018e2425 rm 0xc53aaba9, rn 0x29300837 rs 0x0b02c58a, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xbc3fa1b0 rm 0x216158cb, rn 0x57a50a01 rs 0xb0d20777, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x8cfe5c98 rm 0x3e2e1bd7, rn 0x3cd6cd94 rs 0x7e376198, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xdb82bc46 rm 0xd5fe2dc4, rn 0xdd914bf7 rs 0xd5dc5407, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xf1d94578 rm 0xf87b961e, rn 0x1d66879f rs 0xf2b64835, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xb7fd61cb rm 0xd65db979, rn 0xc61b323b rs 0xae930a1a, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x17c6a65c rm 0x5ef1f1a8, rn 0xbf73f0a5 rs 0x2fb714c9, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x9352d577 rm 0x1ffe53d9, rn 0x815bb75b rs 0xa3268abe, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xf3cfaf6a rm 0xed2cbf78, rn 0xc6ffabb6 rs 0xef9e9fd9, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x3c1a7759 rm 0xeaa652c7, rn 0x137741f4 rs 0x3dba1164, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xf5d9df28 rm 0x3ada0280, rn 0x71fbde8b rs 0xdba5bd25, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x98a634ea rm 0xda4ba05b, rn 0x90f9833d rs 0x884c0ad8, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x7a6d391f rm 0xc00b821a, rn 0x7fa1d5a6 rs 0x9a4ff1b8, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x76f50363 rm 0xe1bb8606, rn 0x58293969 rs 0x81616d13, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x42f53181 rm 0x51f31d95, rn 0xa3cfd624 rs 0x6077fb1f, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x40f69a8a rm 0x0849a0c2, rn 0x0872f25a rs 0x40b094e2, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x90a0e4d5 rm 0x17913309, rn 0xf1e03d7e rs 0x91edc21d, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x3881a269 rm 0x5388b5cd, rn 0x86582032 rs 0x6034078d, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xd5d1dc2a rm 0x181c436b, rn 0x5de41558 rs 0xccfa1c7e, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x525596c2 rm 0x23ba1b46, rn 0x4437983c rs 0x48d06549, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xc625689f rm 0xa9085781, rn 0xc6b4ac58 rs 0xb2aead21, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x8d5833a2 rm 0xc2bdf597, rn 0xdde1e6a4 rs 0x852e3a72, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xe672c22e rm 0x157b0dea, rn 0xf0d5ff94 rs 0xe7b87e39, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xe6928627 rm 0x3edad6b6, rn 0x82aceb7a rs 0x0557c6fc, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xb7b6007d rm 0x6cc9bfa8, rn 0x7f808c15 rs 0x81874a02, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x525cf3ab rm 0x6b1422c7, rn 0x33921b00 rs 0x3ccad3f7, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x7c3548ed rm 0xd7ce1909, rn 0x3e435701 rs 0x85fbf196, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x68f699e4 rm 0xb4e16b6e, rn 0x6e13680a rs 0x89436f88, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x1b13790a rm 0x44858efc, rn 0x9002bc30 rs 0x390d2c2f, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x9ba7cdc7 rm 0xbea121ab, rn 0x953ff6ec rs 0x80657c40, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x2d1a1fe5 rm 0x6ffed89f, rn 0x3e8c49b7 rs 0x11bd07d1, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x10b5f061 rm 0x7795635d, rn 0x5e6e32dd rs 0xe4999bf2, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x1c4724dd rm 0xec0c2f30, rn 0x5736ed46 rs 0x231348c0, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x3659621b rm 0x4f9ddd1b, rn 0x95bca5d8 rs 0x5765b203, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x69a8c373 rm 0xc1553709, rn 0x0112b30a rs 0x69ec0212, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x8b6e102d rm 0x74bd0223, rn 0x03fa9bb5 rs 0x899d9192, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x82f9ba69 rm 0xf52e9fbf, rn 0xb4c510a7 rs 0x7fcbe5a9, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x09b3368c rm 0x64a365ef, rn 0x2dd01366 rs 0xf7b0b13e, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x5fa7fcb2 rm 0x5e4b1cbf, rn 0x44de5ca9 rs 0x464a21cc, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xf19d7636 rm 0x299da970, rn 0xe8108f1b rs 0xf5818cfb, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x92f66df2 rm 0xcd90d604, rn 0xaa5e9444 rs 0x8217b7df, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0x674d6686 rm 0xe60743c3, rn 0x7acb4de3 rs 0x73c29060, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xefc98235 rm 0x868e7c7d, rn 0x5f77532e rs 0x1d133d3d, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xff441be7 rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xec17ff2b rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, c:v-in 0, cpsr 0xc0000000 NZ  
+smmla  r0, r1, r2, r3 :: rd 0xfd3dedd0 rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x3fff8000 rm 0x80008000, rn 0x80008000 rs 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x00008001 rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x0000001f rm 0x80008000, rn 0xffffffff rs 0x0000001f, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x0000014c rm 0x00640064, rn 0x00030003 rs 0x00000020, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x000000ff rm 0xffffffff, rn 0xfffc0001 rs 0x000000ff, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x000000e5 rm 0xfff70fff, rn 0x00030003 rs 0x00000100, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x6da42731 rm 0xb8035b5b, rn 0xce0ce1ed rs 0x5f986e68, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xaf1e71ad rm 0x35232047, rn 0x146275d8 rs 0xaae3433f, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x29fc00b9 rm 0xe7aa57b4, rn 0x1584bd74 rs 0x2c07a5b4, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x94c3ef91 rm 0x32fa0095, rn 0x36f26261 rs 0x89d2ef86, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xd37b24dd rm 0x8ed8287c, rn 0x02c90120 rs 0xd4b64d54, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x018e2425 rm 0xc53aaba9, rn 0x29300837 rs 0x0b02c58a, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xbc3fa1b0 rm 0x216158cb, rn 0x57a50a01 rs 0xb0d20777, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x8cfe5c99 rm 0x3e2e1bd7, rn 0x3cd6cd94 rs 0x7e376198, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xdb82bc46 rm 0xd5fe2dc4, rn 0xdd914bf7 rs 0xd5dc5407, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xf1d94579 rm 0xf87b961e, rn 0x1d66879f rs 0xf2b64835, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xb7fd61cc rm 0xd65db979, rn 0xc61b323b rs 0xae930a1a, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x17c6a65d rm 0x5ef1f1a8, rn 0xbf73f0a5 rs 0x2fb714c9, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x9352d577 rm 0x1ffe53d9, rn 0x815bb75b rs 0xa3268abe, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xf3cfaf6a rm 0xed2cbf78, rn 0xc6ffabb6 rs 0xef9e9fd9, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x3c1a7759 rm 0xeaa652c7, rn 0x137741f4 rs 0x3dba1164, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xf5d9df29 rm 0x3ada0280, rn 0x71fbde8b rs 0xdba5bd25, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x98a634eb rm 0xda4ba05b, rn 0x90f9833d rs 0x884c0ad8, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x7a6d3920 rm 0xc00b821a, rn 0x7fa1d5a6 rs 0x9a4ff1b8, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x76f50364 rm 0xe1bb8606, rn 0x58293969 rs 0x81616d13, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x42f53182 rm 0x51f31d95, rn 0xa3cfd624 rs 0x6077fb1f, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x40f69a8a rm 0x0849a0c2, rn 0x0872f25a rs 0x40b094e2, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x90a0e4d5 rm 0x17913309, rn 0xf1e03d7e rs 0x91edc21d, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x3881a269 rm 0x5388b5cd, rn 0x86582032 rs 0x6034078d, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xd5d1dc2b rm 0x181c436b, rn 0x5de41558 rs 0xccfa1c7e, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x525596c2 rm 0x23ba1b46, rn 0x4437983c rs 0x48d06549, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xc625689f rm 0xa9085781, rn 0xc6b4ac58 rs 0xb2aead21, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x8d5833a3 rm 0xc2bdf597, rn 0xdde1e6a4 rs 0x852e3a72, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xe672c22f rm 0x157b0dea, rn 0xf0d5ff94 rs 0xe7b87e39, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xe6928628 rm 0x3edad6b6, rn 0x82aceb7a rs 0x0557c6fc, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xb7b6007d rm 0x6cc9bfa8, rn 0x7f808c15 rs 0x81874a02, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x525cf3ac rm 0x6b1422c7, rn 0x33921b00 rs 0x3ccad3f7, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x7c3548ee rm 0xd7ce1909, rn 0x3e435701 rs 0x85fbf196, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x68f699e5 rm 0xb4e16b6e, rn 0x6e13680a rs 0x89436f88, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x1b13790b rm 0x44858efc, rn 0x9002bc30 rs 0x390d2c2f, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x9ba7cdc7 rm 0xbea121ab, rn 0x953ff6ec rs 0x80657c40, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x2d1a1fe6 rm 0x6ffed89f, rn 0x3e8c49b7 rs 0x11bd07d1, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x10b5f061 rm 0x7795635d, rn 0x5e6e32dd rs 0xe4999bf2, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x1c4724dd rm 0xec0c2f30, rn 0x5736ed46 rs 0x231348c0, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x3659621b rm 0x4f9ddd1b, rn 0x95bca5d8 rs 0x5765b203, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x69a8c373 rm 0xc1553709, rn 0x0112b30a rs 0x69ec0212, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x8b6e102d rm 0x74bd0223, rn 0x03fa9bb5 rs 0x899d9192, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x82f9ba69 rm 0xf52e9fbf, rn 0xb4c510a7 rs 0x7fcbe5a9, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x09b3368c rm 0x64a365ef, rn 0x2dd01366 rs 0xf7b0b13e, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x5fa7fcb3 rm 0x5e4b1cbf, rn 0x44de5ca9 rs 0x464a21cc, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xf19d7637 rm 0x299da970, rn 0xe8108f1b rs 0xf5818cfb, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x92f66df3 rm 0xcd90d604, rn 0xaa5e9444 rs 0x8217b7df, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0x674d6687 rm 0xe60743c3, rn 0x7acb4de3 rs 0x73c29060, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xefc98236 rm 0x868e7c7d, rn 0x5f77532e rs 0x1d133d3d, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xff441be8 rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xec17ff2c rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, c:v-in 0, cpsr 0xc0000000 NZ  
+smmlar  r0, r1, r2, r3 :: rd 0xfd3dedd0 rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, c:v-in 0, cpsr 0xc0000000 NZ  
diff --git a/none/tests/arm/v6media.c b/none/tests/arm/v6media.c
index af2ae8b..21490d1 100644
--- a/none/tests/arm/v6media.c
+++ b/none/tests/arm/v6media.c
@@ -2863,6 +2863,67 @@
 TESTINST3("uhadd8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
 TESTINST3("uhadd8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
 
+  printf("------------ UHADD16 -----------------------------------\n");
+  TESTINST3("uhadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+  TESTINST3("uhadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+  TESTINST3("uhadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+  TESTINST3("uhadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+  TESTINST3("uhadd16 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("uhadd16 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
+  TESTINST3("uhadd16 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("uhadd16 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("uhadd16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
   printf("----------------- SSAT ----------------- \n");
   TESTINST2("ssat  r0, #1,  r1, LSL #31", 0x80008000, r0, r1, 0);
   TESTINST2("ssat  r0, #6,  r1, LSL #24", 0x80008000, r0, r1, 0);
@@ -3005,6 +3066,79 @@
 TESTINST2("ssat  r0, #32, r1, ASR #32", 0xffc134df, r0, r1, 0);
 #endif
 
+  printf("----------------- SSAT16 sat_imm ----------------- \n");
+  TESTINST2("ssat16  r0, #1,  r1",  0b00000000000000000000000000000001, r0, r1, 0);
+  TESTINST2("ssat16  r0, #1,  r1",  0b00000000000000000000000000000000, r0, r1, 0);
+  TESTINST2("ssat16  r0, #1,  r1",  0b00000000000000001111111111111111, r0, r1, 0);
+  TESTINST2("ssat16  r0, #1,  r1",  0b00000000000000001111111111111110, r0, r1, 0);
+  TESTINST2("ssat16  r0, #4,  r1",  0b00000000000000000000000000000100, r0, r1, 0);
+  TESTINST2("ssat16  r0, #4,  r1",  0b00000000000000000000000000000011, r0, r1, 0);
+  TESTINST2("ssat16  r0, #4,  r1",  0b00000000000000001111111111111000, r0, r1, 0);
+  TESTINST2("ssat16  r0, #4,  r1",  0b00000000000000001111111111110111, r0, r1, 0);
+TESTINST2("ssat16  r0, #4,  r1",  0b00000000000001000000000000000000, r0, r1, 0);
+TESTINST2("ssat16  r0, #4,  r1",  0b00000000000000110000000000000000, r0, r1, 0);
+TESTINST2("ssat16  r0, #4,  r1",  0b11111111111110000000000000000000, r0, r1, 0);
+TESTINST2("ssat16  r0, #4,  r1",  0b11111111111101110000000000000000, r0, r1, 0);
+TESTINST2("ssat16  r0, #4,  r1",  0b11111111111101111111111111110111, r0, r1, 0);
+TESTINST2("ssat16  r0, #15, r1",  0b00000000000000000111111111111111, r0, r1, 0);
+TESTINST2("ssat16  r0, #16,  r1", 0x0123abcd, r0, r1, 0);
+TESTINST2("ssat16  r0, #1,  r1", 0xffcdabcd, r0, r1, 0);
+TESTINST2("ssat16  r0, #5,  r1", 0x0123feff, r0, r1, 0);
+TESTINST2("ssat16  r0, #8,  r1", 0x0123abcd, r0, r1, 0);
+TESTINST2("ssat16  r0, #11, r1", 0x11110000, r0, r1, 0);
+TESTINST2("ssat16  r0, #13, r1", 0x1111f111, r0, r1, 0);
+TESTINST2("ssat16  r0, #15, r1", 0x00001111, r0, r1, 0);
+TESTINST2("ssat16  r0, #16,  r1", 0xebbff82b, r0, r1, 0);
+TESTINST2("ssat16  r0, #1,  r1", 0xebbff82b, r0, r1, 0);
+TESTINST2("ssat16  r0, #3,  r1", 0x50c28082, r0, r1, 0);
+TESTINST2("ssat16  r0, #5,  r1", 0x17962e8f, r0, r1, 0);
+TESTINST2("ssat16  r0, #8,  r1", 0xc57243b7, r0, r1, 0);
+TESTINST2("ssat16  r0, #10, r1", 0xf20fb90f, r0, r1, 0);
+TESTINST2("ssat16  r0, #11, r1", 0xbb151055, r0, r1, 0);
+TESTINST2("ssat16  r0, #13, r1", 0x957440d2, r0, r1, 0);
+TESTINST2("ssat16  r0, #14, r1", 0x728b7771, r0, r1, 0);
+TESTINST2("ssat16  r0, #15, r1", 0xf13c20f3, r0, r1, 0);
+TESTINST2("ssat16  r0, #16,  r1", 0x86398371, r0, r1, 0);
+TESTINST2("ssat16  r0, #1,  r1", 0x03d0fb78, r0, r1, 0);
+TESTINST2("ssat16  r0, #3,  r1", 0xd0d49b7c, r0, r1, 0);
+TESTINST2("ssat16  r0, #5,  r1", 0x76354a58, r0, r1, 0);
+TESTINST2("ssat16  r0, #8,  r1", 0x9fa45fb7, r0, r1, 0);
+TESTINST2("ssat16  r0, #10, r1", 0x7572bdec, r0, r1, 0);
+TESTINST2("ssat16  r0, #11, r1", 0xfea59eb6, r0, r1, 0);
+TESTINST2("ssat16  r0, #13, r1", 0xf2669090, r0, r1, 0);
+TESTINST2("ssat16  r0, #14, r1", 0xbc1ff573, r0, r1, 0);
+TESTINST2("ssat16  r0, #15, r1", 0x7eb226ac, r0, r1, 0);
+TESTINST2("ssat16  r0, #16,  r1", 0x22b65db1, r0, r1, 0);
+TESTINST2("ssat16  r0, #1,  r1", 0x776c41c7, r0, r1, 0);
+TESTINST2("ssat16  r0, #3,  r1", 0xe50dd77c, r0, r1, 0);
+TESTINST2("ssat16  r0, #5,  r1", 0xd6f9a698, r0, r1, 0);
+TESTINST2("ssat16  r0, #8,  r1", 0xeda5110c, r0, r1, 0);
+TESTINST2("ssat16  r0, #10, r1", 0x0be36f70, r0, r1, 0);
+TESTINST2("ssat16  r0, #11, r1", 0xd759eb72, r0, r1, 0);
+TESTINST2("ssat16  r0, #13, r1", 0xd9c4b1f4, r0, r1, 0);
+TESTINST2("ssat16  r0, #14, r1", 0xa29eb320, r0, r1, 0);
+TESTINST2("ssat16  r0, #15, r1", 0xcf1e4487, r0, r1, 0);
+TESTINST2("ssat16  r0, #16,  r1", 0x2eb68500, r0, r1, 0);
+TESTINST2("ssat16  r0, #1,  r1", 0xcdb7ed11, r0, r1, 0);
+TESTINST2("ssat16  r0, #3,  r1", 0x2eaea305, r0, r1, 0);
+TESTINST2("ssat16  r0, #5,  r1", 0x6ebd04d9, r0, r1, 0);
+TESTINST2("ssat16  r0, #8,  r1", 0xa5ec1aa8, r0, r1, 0);
+TESTINST2("ssat16  r0, #10, r1", 0x72f33509, r0, r1, 0);
+TESTINST2("ssat16  r0, #11, r1", 0xa3e6f759, r0, r1, 0);
+TESTINST2("ssat16  r0, #13, r1", 0xfaceab39, r0, r1, 0);
+TESTINST2("ssat16  r0, #14, r1", 0x2738f0ff, r0, r1, 0);
+TESTINST2("ssat16  r0, #15, r1", 0xe79fd570, r0, r1, 0);
+TESTINST2("ssat16  r0, #16,  r1", 0x55ea3e4e, r0, r1, 0);
+TESTINST2("ssat16  r0, #1,  r1", 0x2b62ba5a, r0, r1, 0);
+TESTINST2("ssat16  r0, #3,  r1", 0x9b41bfb1, r0, r1, 0);
+TESTINST2("ssat16  r0, #5,  r1", 0x557c7ba2, r0, r1, 0);
+TESTINST2("ssat16  r0, #8,  r1", 0x2973c051, r0, r1, 0);
+TESTINST2("ssat16  r0, #10, r1", 0x6a228b19, r0, r1, 0);
+TESTINST2("ssat16  r0, #11, r1", 0x0cdafabe, r0, r1, 0);
+TESTINST2("ssat16  r0, #13, r1", 0x50865114, r0, r1, 0);
+TESTINST2("ssat16  r0, #14, r1", 0xd83b849b, r0, r1, 0);
+TESTINST2("ssat16  r0, #15, r1", 0xca5e5605, r0, r1, 0);
+
   printf("---------------- SADD8 ----------------- \n");
   TESTINST3("sadd8 r0, r1, r2", 0x00f7ffff, 0x00e800fd, r0, r1, r2, 0);
   TESTINST3("sadd8 r0, r1, r2", 0x00e800fd, 0x00f7ffff, r0, r1, r2, 0);
@@ -4073,8 +4207,953 @@
 TESTINST4("usada8  r0, r1, r2, r3", 
           0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
 
+  printf("---------------- QADD ---------------- \n");
+  TESTINST3("qadd r0, r1, r2", 0x00000000, 0x7fffffff, r0, r1, r2, 0);
+  TESTINST3("qadd r0, r1, r2", 0x00000001, 0x7fffffff, r0, r1, r2, 0);
+  TESTINST3("qadd r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("qadd r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("qadd r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
 
+  printf("---------------- QDADD ---------------- \n");
+  TESTINST3("qdadd r0, r1, r2", 0x00000000, 0x7fffffff, r0, r1, r2, 0);
+  TESTINST3("qdadd r0, r1, r2", 0x00000001, 0x7fffffff, r0, r1, r2, 0);
+  TESTINST3("qdadd r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("qdadd r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("qdadd r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
 
+  printf("---------------- QSUB ---------------- \n");
+  TESTINST3("qsub r0, r1, r2", 0x00000000, 0x7fffffff, r0, r1, r2, 0);
+  TESTINST3("qsub r0, r1, r2", 0x00000001, 0x7fffffff, r0, r1, r2, 0);
+  TESTINST3("qsub r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("qsub r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
+  TESTINST3("qsub r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+  TESTINST3("qsub r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+  TESTINST3("qsub r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+  TESTINST3("qsub r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("qsub r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+
+  printf("---------------- QDSUB ---------------- \n");
+  TESTINST3("qdsub r0, r1, r2", 0x00000000, 0x7fffffff, r0, r1, r2, 0);
+  TESTINST3("qdsub r0, r1, r2", 0x00000001, 0x7fffffff, r0, r1, r2, 0);
+  TESTINST3("qdsub r0, r1, r2", 0x00000000, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("qdsub r0, r1, r2", 0xffffffff, 0xffffffff, r0, r1, r2, 0);
+  TESTINST3("qdsub r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+  TESTINST3("qdsub r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+  TESTINST3("qdsub r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+  TESTINST3("qdsub r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xd83b849b, 0xca5e5605, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x0cdafabe, 0x50865114, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x2738f0ff, 0x6a228b19, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xfaceab39, 0x2973c051, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xa3e6f759, 0x557c7ba2, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x72f33509, 0x9b41bfb1, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xa5ec1aa8, 0x2b62ba5a, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x6ebd04d9, 0x55ea3e4e, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x2eaea305, 0xe79fd570, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x22b65db1, 0xcdb7ed11, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x776c41c7, 0x2eb68500, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xe50dd77c, 0xd6f9a698, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x0be36f70, 0xeda5110c, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xebbff82b, 0xd759eb72, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x50c28082, 0xd9c4b1f4, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x17962e8f, 0xa29eb320, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xc57243b7, 0xcf1e4487, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x7eb226ac, 0xf20fb90f, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xbce0f026, 0xbb151055, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xa5757252, 0x957440d2, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xf4a477c1, 0x728b7771, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x76723a21, 0xf13c20f3, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x74d01105, 0x86398371, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xc1273e2c, 0x03d0fb78, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xdd9b7653, 0xd0d49b7c, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xdde62fd1, 0x76354a58, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xc3fb4a96, 0x9fa45fb7, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xa1a10f56, 0x7572bdec, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x4b7d4fd9, 0xfea59eb6, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x9d0ddffc, 0xf2669090, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x4f82d17c, 0xbc1ff573, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x08215ca2, 0x345f67e6, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xf23595d0, 0x3f39d77e, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xf244c158, 0xfb2db55b, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x256bfdd6, 0x13aebedf, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xc02a0c05, 0x5b013000, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xee2fa46e, 0xed95b542, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x97a7da20, 0x60bb5ee8, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xa231d5e6, 0xd9000a64, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x10e1968a, 0x624f9467, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x0e089270, 0xa8c64d94, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x9e8e0185, 0x6b4f637a, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x3096f12e, 0x11f5f4b9, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xffc134df, 0x0b02eb0c, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xe444dc25, 0xd5eef620, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x06ea9b2a, 0xa2108661, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x448f3a5f, 0x17aecf57, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0x4b0c2337, 0xffa63d6c, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xf91d5f56, 0x088bc0f9, r0, r1, r2, 0);
+TESTINST3("qdsub r0, r1, r2", 0xf808434e, 0xefeab836, r0, r1, r2, 0);
+
+  printf("------------ UQSUB16 -----------------------------------\n");
+  TESTINST3("uqsub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+  TESTINST3("uqsub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+  TESTINST3("uqsub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+  TESTINST3("uqsub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+  TESTINST3("uqsub16 r0, r1, r2", 0x00000318, 0xff00ff09, r0, r1, r2, 0);
+  TESTINST3("uqsub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+  TESTINST3("uqsub16 r0, r1, r2", 0x00020318, 0xff07ff09, r0, r1, r2, 0);
+  TESTINST3("uqsub16 r0, r1, r2", 0xff07ff09, 0x00020318, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("uqsub16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
+  printf("------------ SHADD16 -----------------------------------\n");
+  TESTINST3("shadd16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+  TESTINST3("shadd16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+  TESTINST3("shadd16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+  TESTINST3("shadd16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+  TESTINST3("shadd16 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("shadd16 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
+  TESTINST3("shadd16 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("shadd16 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("shadd16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
+  printf("------------ UHSUB8 -----------------------------------\n");
+  TESTINST3("uhsub8 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+  TESTINST3("uhsub8 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+  TESTINST3("uhsub8 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+  TESTINST3("uhsub8 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+  TESTINST3("uhsub8 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("uhsub8 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
+  TESTINST3("uhsub8 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("uhsub8 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("uhsub8 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
+  printf("------------ UHSUB16 -----------------------------------\n");
+  TESTINST3("uhsub16 r0, r1, r2", 0x0009ffff, 0x00180003, r0, r1, r2, 0);
+  TESTINST3("uhsub16 r0, r1, r2", 0x00180003, 0x0009ffff, r0, r1, r2, 0);
+  TESTINST3("uhsub16 r0, r1, r2", 0x00030018, 0xffff0009, r0, r1, r2, 0);
+  TESTINST3("uhsub16 r0, r1, r2", 0xffff0009, 0x00030018, r0, r1, r2, 0);
+  TESTINST3("uhsub16 r0, r1, r2", 0x7fff7fff, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("uhsub16 r0, r1, r2", 0x7fff00ff, 0x80017f01, r0, r1, r2, 0);
+  TESTINST3("uhsub16 r0, r1, r2", 0x80008000, 0x00000000, r0, r1, r2, 0);
+  TESTINST3("uhsub16 r0, r1, r2", 0x80008000, 0xffffffff, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xb8035b5b, 0xce0ce1ed, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x146275d8, 0xaae3433f, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x2c07a5b4, 0x32fa0095, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x8ed8287c, 0x02c90120, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x29300837, 0x0b02c58a, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xb0d20777, 0x3e2e1bd7, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xd5fe2dc4, 0xdd914bf7, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x1d66879f, 0xf2b64835, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xae930a1a, 0x5ef1f1a8, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x1ffe53d9, 0x815bb75b, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x3dba1164, 0x3ada0280, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xda4ba05b, 0x90f9833d, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x81616d13, 0x51f31d95, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x0849a0c2, 0x0872f25a, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xf1e03d7e, 0x91edc21d, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x6034078d, 0x181c436b, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x3edad6b6, 0x82aceb7a, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x0557c6fc, 0x6cc9bfa8, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x7f808c15, 0x81874a02, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x6b1422c7, 0x33921b00, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x3ccad3f7, 0xd7ce1909, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x3e435701, 0x85fbf196, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xb4e16b6e, 0x6e13680a, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x89436f88, 0x44858efc, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x9002bc30, 0x390d2c2f, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xbea121ab, 0x953ff6ec, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x80657c40, 0x6ffed89f, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x7795635d, 0x5e6e32dd, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xe4999bf2, 0xec0c2f30, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x5736ed46, 0x231348c0, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x4f9ddd1b, 0x95bca5d8, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x5765b203, 0xc1553709, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x0112b30a, 0x69ec0212, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x74bd0223, 0x03fa9bb5, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x899d9192, 0xf52e9fbf, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x64a365ef, 0x2dd01366, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x44de5ca9, 0x464a21cc, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x299da970, 0xe8108f1b, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xf5818cfb, 0xcd90d604, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xaa5e9444, 0x8217b7df, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0xe60743c3, 0x7acb4de3, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x73c29060, 0x868e7c7d, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x5f77532e, 0x1d133d3d, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x4e5e0760, 0x8f6d3264, r0, r1, r2, 0);
+TESTINST3("uhsub16 r0, r1, r2", 0x21ba2fb3, 0xde99ac2f, r0, r1, r2, 0);
+
+  printf("----------------- SMLALBB ----------------- \n");
+  TESTINST4("smlalbb  r0, r1, r2, r3", 
+                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbb  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbb  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbb  r0, r1, r2, r3", 
+                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbb  r0, r1, r2, r3", 
+                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbb  r0, r1, r2, r3", 
+                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbb  r0, r1, r2, r3", 
+                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
+TESTINST4("smlalbb  r0, r1, r2, r3", 
+          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
+
+  printf("----------------- SMLALBT ----------------- \n");
+  TESTINST4("smlalbt  r0, r1, r2, r3", 
+                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbt  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbt  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbt  r0, r1, r2, r3", 
+                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbt  r0, r1, r2, r3", 
+                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbt  r0, r1, r2, r3", 
+                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+  TESTINST4("smlalbt  r0, r1, r2, r3", 
+                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
+TESTINST4("smlalbt  r0, r1, r2, r3", 
+          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
+
+  printf("----------------- SMLALTB ----------------- \n");
+  TESTINST4("smlaltb  r0, r1, r2, r3", 
+                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltb  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltb  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltb  r0, r1, r2, r3", 
+                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltb  r0, r1, r2, r3", 
+                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltb  r0, r1, r2, r3", 
+                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltb  r0, r1, r2, r3", 
+                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
+TESTINST4("smlaltb  r0, r1, r2, r3", 
+          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
+
+  printf("----------------- SMLALTT ----------------- \n");
+  TESTINST4("smlaltt  r0, r1, r2, r3", 
+                  0x80008000, 0x80008000, 0x00000000, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltt  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00000000, 0x00000000, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltt  r0, r1, r2, r3", 
+                  0x7fff7fff, 0x00010001, 0x00000001, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltt  r0, r1, r2, r3", 
+                  0x80008000, 0xffffffff, 0x0000001f, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltt  r0, r1, r2, r3", 
+                  0x00640064, 0x00030003, 0x00000020, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltt  r0, r1, r2, r3", 
+                  0xffffffff, 0xfffc0001, 0x000000ff, r0, r1, r2, r3, 0);
+  TESTINST4("smlaltt  r0, r1, r2, r3", 
+                  0xfff70fff, 0x00030003, 0x00000100, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xb8035b5b, 0xce0ce1ed, 0x5f986e68, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x35232047, 0x146275d8, 0xaae3433f, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xe7aa57b4, 0x1584bd74, 0x2c07a5b4, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x32fa0095, 0x36f26261, 0x89d2ef86, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x8ed8287c, 0x02c90120, 0xd4b64d54, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xc53aaba9, 0x29300837, 0x0b02c58a, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x216158cb, 0x57a50a01, 0xb0d20777, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x3e2e1bd7, 0x3cd6cd94, 0x7e376198, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xd5fe2dc4, 0xdd914bf7, 0xd5dc5407, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xf87b961e, 0x1d66879f, 0xf2b64835, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xd65db979, 0xc61b323b, 0xae930a1a, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x5ef1f1a8, 0xbf73f0a5, 0x2fb714c9, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x1ffe53d9, 0x815bb75b, 0xa3268abe, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xed2cbf78, 0xc6ffabb6, 0xef9e9fd9, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xeaa652c7, 0x137741f4, 0x3dba1164, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x3ada0280, 0x71fbde8b, 0xdba5bd25, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xda4ba05b, 0x90f9833d, 0x884c0ad8, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xc00b821a, 0x7fa1d5a6, 0x9a4ff1b8, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xe1bb8606, 0x58293969, 0x81616d13, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x51f31d95, 0xa3cfd624, 0x6077fb1f, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x0849a0c2, 0x0872f25a, 0x40b094e2, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x17913309, 0xf1e03d7e, 0x91edc21d, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x5388b5cd, 0x86582032, 0x6034078d, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x181c436b, 0x5de41558, 0xccfa1c7e, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x23ba1b46, 0x4437983c, 0x48d06549, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xa9085781, 0xc6b4ac58, 0xb2aead21, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xc2bdf597, 0xdde1e6a4, 0x852e3a72, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x157b0dea, 0xf0d5ff94, 0xe7b87e39, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x3edad6b6, 0x82aceb7a, 0x0557c6fc, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x6cc9bfa8, 0x7f808c15, 0x81874a02, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x6b1422c7, 0x33921b00, 0x3ccad3f7, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xd7ce1909, 0x3e435701, 0x85fbf196, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xb4e16b6e, 0x6e13680a, 0x89436f88, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x44858efc, 0x9002bc30, 0x390d2c2f, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xbea121ab, 0x953ff6ec, 0x80657c40, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x6ffed89f, 0x3e8c49b7, 0x11bd07d1, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x7795635d, 0x5e6e32dd, 0xe4999bf2, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xec0c2f30, 0x5736ed46, 0x231348c0, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x4f9ddd1b, 0x95bca5d8, 0x5765b203, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xc1553709, 0x0112b30a, 0x69ec0212, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x74bd0223, 0x03fa9bb5, 0x899d9192, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xf52e9fbf, 0xb4c510a7, 0x7fcbe5a9, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x64a365ef, 0x2dd01366, 0xf7b0b13e, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x5e4b1cbf, 0x44de5ca9, 0x464a21cc, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x299da970, 0xe8108f1b, 0xf5818cfb, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xcd90d604, 0xaa5e9444, 0x8217b7df, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xe60743c3, 0x7acb4de3, 0x73c29060, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x868e7c7d, 0x5f77532e, 0x1d133d3d, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0x4e5e0760, 0x8f6d3264, 0x21ba2fb3, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xde99ac2f, 0x0be36f70, 0xeda5110c, r0, r1, r2, r3, 0);
+TESTINST4("smlaltt  r0, r1, r2, r3", 
+          0xc57243b7, 0xcf1e4487, 0xf20fb90f, r0, r1, r2, r3, 0);
 
 /*
 TESTINST3("theinsn", 0xf7b0b13e, 0x5e4b1cbf, r0, r1, r2, 0);
diff --git a/none/tests/arm/v6media.stdout.exp b/none/tests/arm/v6media.stdout.exp
index 2e8e9d8..f51b313 100644
--- a/none/tests/arm/v6media.stdout.exp
+++ b/none/tests/arm/v6media.stdout.exp
@@ -2267,6 +2267,66 @@
 uhadd8 r0, r1, r2 :: rd 0x3e454835 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
 uhadd8 r0, r1, r2 :: rd 0x6e651c62 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000       ge[3:0]=0000
 uhadd8 r0, r1, r2 :: rd 0x7fa96d71 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+------------ UHADD16 -----------------------------------
+uhadd16 r0, r1, r2 :: rd 0x00108001 rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x00108001 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x80010010 rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x80010010 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x3fff3fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x80004000 rm 0x7fff00ff, rn 0x80017f01, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x40004000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xbfffbfff rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xc3079ea4 rm 0xb8035b5b, rn 0xce0ce1ed, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x5fa25c8b rm 0x146275d8, rn 0xaae3433f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x2f805324 rm 0x2c07a5b4, rn 0x32fa0095, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x48d014ce rm 0x8ed8287c, rn 0x02c90120, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x1a1966e0 rm 0x29300837, rn 0x0b02c58a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x778011a7 rm 0xb0d20777, rn 0x3e2e1bd7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xd9c73cdd rm 0xd5fe2dc4, rn 0xdd914bf7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x880e67ea rm 0x1d66879f, rn 0xf2b64835, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x86c27de1 rm 0xae930a1a, rn 0x5ef1f1a8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x50ac859a rm 0x1ffe53d9, rn 0x815bb75b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xdb4ea5c7 rm 0xc6ffabb6, rn 0xef9e9fd9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x3c4a09f2 rm 0x3dba1164, rn 0x3ada0280, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xb5a291cc rm 0xda4ba05b, rn 0x90f9833d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x8cf8e3af rm 0x7fa1d5a6, rn 0x9a4ff1b8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x69aa4554 rm 0x81616d13, rn 0x51f31d95, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x085dc98e rm 0x0849a0c2, rn 0x0872f25a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xc1e67fcd rm 0xf1e03d7e, rn 0x91edc21d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x3c28257c rm 0x6034078d, rn 0x181c436b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xec46bee6 rm 0xf0d5ff94, rn 0xe7b87e39, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x60c3e118 rm 0x3edad6b6, rn 0x82aceb7a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x3910c352 rm 0x0557c6fc, rn 0x6cc9bfa8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x80836b0b rm 0x7f808c15, rn 0x81874a02, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x4f531ee3 rm 0x6b1422c7, rn 0x33921b00, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x8a4c7680 rm 0x3ccad3f7, rn 0xd7ce1909, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x621fa44b rm 0x3e435701, rn 0x85fbf196, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x917a69bc rm 0xb4e16b6e, rn 0x6e13680a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x66e47f42 rm 0x89436f88, rn 0x44858efc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x6487742f rm 0x9002bc30, rn 0x390d2c2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xa9f08c4b rm 0xbea121ab, rn 0x953ff6ec, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x7831aa6f rm 0x80657c40, rn 0x6ffed89f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x282428c4 rm 0x3e8c49b7, rn 0x11bd07d1, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x6b014b1d rm 0x7795635d, rn 0x5e6e32dd, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xe8526591 rm 0xe4999bf2, rn 0xec0c2f30, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x3d249b03 rm 0x5736ed46, rn 0x231348c0, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x72acc179 rm 0x4f9ddd1b, rn 0x95bca5d8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x8c5d7486 rm 0x5765b203, rn 0xc1553709, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x357f5a8e rm 0x0112b30a, rn 0x69ec0212, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x3c5b4eec rm 0x74bd0223, rn 0x03fa9bb5, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xbf6598a8 rm 0x899d9192, rn 0xf52e9fbf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x9a487b28 rm 0xb4c510a7, rn 0x7fcbe5a9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x49393caa rm 0x64a365ef, rn 0x2dd01366, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xaafd66fe rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x45943f3a rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x88d69c45 rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xe188b17f rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x963aa611 rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0xb06948d3 rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x7d28866e rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x3e454835 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x6ee51ce2 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhadd16 r0, r1, r2 :: rd 0x80296df1 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
 ----------------- SSAT ----------------- 
 ssat  r0, #1,  r1, LSL #31 :: rd 0x00000000 rm 0x80008000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
 ssat  r0, #6,  r1, LSL #24 :: rd 0x00000000 rm 0x80008000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
@@ -2386,6 +2446,78 @@
 ssat  r0, #31, r1, ASR #1 :: rd 0xcf4700c2 rm 0x9e8e0185, carryin 0, cpsr 0x00000000       ge[3:0]=0000
 ssat  r0, #31, r1, ASR #1 :: rd 0x184b7897 rm 0x3096f12e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
 ssat  r0, #31, r1, ASR #1 :: rd 0xffe09a6f rm 0xffc134df, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+----------------- SSAT16 sat_imm ----------------- 
+ssat16  r0, #1,  r1 :: rd 0x00000000 rm 0x00000001, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #1,  r1 :: rd 0x00000000 rm 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #1,  r1 :: rd 0x0000ffff rm 0x0000ffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #1,  r1 :: rd 0x0000ffff rm 0x0000fffe, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #4,  r1 :: rd 0x00000004 rm 0x00000004, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #4,  r1 :: rd 0x00000003 rm 0x00000003, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #4,  r1 :: rd 0x0000fff8 rm 0x0000fff8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #4,  r1 :: rd 0x0000fff8 rm 0x0000fff7, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #4,  r1 :: rd 0x00040000 rm 0x00040000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #4,  r1 :: rd 0x00030000 rm 0x00030000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #4,  r1 :: rd 0xfff80000 rm 0xfff80000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #4,  r1 :: rd 0xfff80000 rm 0xfff70000, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #4,  r1 :: rd 0xfff8fff8 rm 0xfff7fff7, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #15, r1 :: rd 0x00003fff rm 0x00007fff, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #16,  r1 :: rd 0x0123abcd rm 0x0123abcd, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #1,  r1 :: rd 0xffffffff rm 0xffcdabcd, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #5,  r1 :: rd 0x000ffff0 rm 0x0123feff, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #8,  r1 :: rd 0x007fff80 rm 0x0123abcd, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #11, r1 :: rd 0x03ff0000 rm 0x11110000, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #13, r1 :: rd 0x0ffff111 rm 0x1111f111, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #15, r1 :: rd 0x00001111 rm 0x00001111, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #16,  r1 :: rd 0xebbff82b rm 0xebbff82b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #1,  r1 :: rd 0xffffffff rm 0xebbff82b, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #3,  r1 :: rd 0x0003fffc rm 0x50c28082, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #5,  r1 :: rd 0x000f000f rm 0x17962e8f, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #8,  r1 :: rd 0xff80007f rm 0xc57243b7, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #10, r1 :: rd 0xfe00fe00 rm 0xf20fb90f, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #11, r1 :: rd 0xfc0003ff rm 0xbb151055, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #13, r1 :: rd 0xf0000fff rm 0x957440d2, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #14, r1 :: rd 0x1fff1fff rm 0x728b7771, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #15, r1 :: rd 0xf13c20f3 rm 0xf13c20f3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #16,  r1 :: rd 0x86398371 rm 0x86398371, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #1,  r1 :: rd 0x0000ffff rm 0x03d0fb78, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #3,  r1 :: rd 0xfffcfffc rm 0xd0d49b7c, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #5,  r1 :: rd 0x000f000f rm 0x76354a58, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #8,  r1 :: rd 0xff80007f rm 0x9fa45fb7, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #10, r1 :: rd 0x01fffe00 rm 0x7572bdec, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #11, r1 :: rd 0xfea5fc00 rm 0xfea59eb6, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #13, r1 :: rd 0xf266f000 rm 0xf2669090, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #14, r1 :: rd 0xe000f573 rm 0xbc1ff573, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #15, r1 :: rd 0x3fff26ac rm 0x7eb226ac, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #16,  r1 :: rd 0x22b65db1 rm 0x22b65db1, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #1,  r1 :: rd 0x00000000 rm 0x776c41c7, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #3,  r1 :: rd 0xfffcfffc rm 0xe50dd77c, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #5,  r1 :: rd 0xfff0fff0 rm 0xd6f9a698, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #8,  r1 :: rd 0xff80007f rm 0xeda5110c, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #10, r1 :: rd 0x01ff01ff rm 0x0be36f70, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #11, r1 :: rd 0xfc00fc00 rm 0xd759eb72, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #13, r1 :: rd 0xf000f000 rm 0xd9c4b1f4, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #14, r1 :: rd 0xe000e000 rm 0xa29eb320, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #15, r1 :: rd 0xcf1e3fff rm 0xcf1e4487, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #16,  r1 :: rd 0x2eb68500 rm 0x2eb68500, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #1,  r1 :: rd 0xffffffff rm 0xcdb7ed11, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #3,  r1 :: rd 0x0003fffc rm 0x2eaea305, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #5,  r1 :: rd 0x000f000f rm 0x6ebd04d9, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #8,  r1 :: rd 0xff80007f rm 0xa5ec1aa8, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #10, r1 :: rd 0x01ff01ff rm 0x72f33509, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #11, r1 :: rd 0xfc00fc00 rm 0xa3e6f759, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #13, r1 :: rd 0xfacef000 rm 0xfaceab39, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #14, r1 :: rd 0x1ffff0ff rm 0x2738f0ff, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #15, r1 :: rd 0xe79fd570 rm 0xe79fd570, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #16,  r1 :: rd 0x55ea3e4e rm 0x55ea3e4e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+ssat16  r0, #1,  r1 :: rd 0x0000ffff rm 0x2b62ba5a, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #3,  r1 :: rd 0xfffcfffc rm 0x9b41bfb1, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #5,  r1 :: rd 0x000f000f rm 0x557c7ba2, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #8,  r1 :: rd 0x007fff80 rm 0x2973c051, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #10, r1 :: rd 0x01fffe00 rm 0x6a228b19, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #11, r1 :: rd 0x03fffc00 rm 0x0cdafabe, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #13, r1 :: rd 0x0fff0fff rm 0x50865114, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #14, r1 :: rd 0xe000e000 rm 0xd83b849b, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+ssat16  r0, #15, r1 :: rd 0xca5e3fff rm 0xca5e5605, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
 ---------------- SADD8 ----------------- 
 sadd8 r0, r1, r2 :: rd 0x00dffffc rm 0x00f7ffff, rn 0x00e800fd, carryin 0, cpsr 0x00080000       ge[3:0]=1000
 sadd8 r0, r1, r2 :: rd 0x00dffffc rm 0x00e800fd, rn 0x00f7ffff, carryin 0, cpsr 0x00080000       ge[3:0]=1000
@@ -3171,3 +3303,707 @@
 usada8  r0, r1, r2, r3 :: rd 0x21ba3032 rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
 usada8  r0, r1, r2, r3 :: rd 0xeda512a7 rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
 usada8  r0, r1, r2, r3 :: rd 0xf20fb99e rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+---------------- QADD ---------------- 
+qadd r0, r1, r2 :: rd 0x7fffffff rm 0x00000000, rn 0x7fffffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x7fffffff rm 0x00000001, rn 0x7fffffff, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xfffffffe rm 0xffffffff, rn 0xffffffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xa299daa0 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x5d614bd2 rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x7fffffff rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x24426b8a rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xf96372fb rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x0e34f4ba rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xd14ed502 rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x7fffffff rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x164e7875 rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xf06e4ac2 rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x7fffffff rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xbc077e14 rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xf988807c rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xc319e39d rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x2a873276 rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xba34e1af rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x9490883e rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x70c1dfbb rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x80000000 rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x80000000 rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x672fef32 rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x67ae5b14 rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xfb099476 rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xc4f839a4 rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xae7011cf rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x541b7a29 rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x80000000 rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x1713cd42 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x4a22ee8f rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x8f74708c rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x0ba2c6ef rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x3c80c488 rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x316f6d4e rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xed7276b3 rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x391abcb5 rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x1b2b3c05 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xdbc559b0 rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xf8633908 rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x80000000 rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x73312af1 rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xb6cee004 rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x09dd64ff rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x428ce5e7 rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x0ac41feb rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xba33d245 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xa8fb218b rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x5c3e09b6 rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x4ab260a3 rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0x01a9204f rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qadd r0, r1, r2 :: rd 0xe7f2fb84 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+---------------- QDADD ---------------- 
+qdadd r0, r1, r2 :: rd 0x7fffffff rm 0x00000000, rn 0x7fffffff, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x7fffffff rm 0x00000001, rn 0x7fffffff, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xfffffffd rm 0xffffffff, rn 0xffffffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x80000000 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x7fffffff rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x7fffffff rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x4db62bdb rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x23e6f758 rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xf2f33509 rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xfcb18f5c rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x7fffffff rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xfdee4de5 rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xbe2637d3 rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x7fffffff rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x930124ac rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xe72d9188 rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x9a73cf0f rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x044be46a rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x97962e8f rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x80000000 rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x62d198ca rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x80000000 rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x80000000 rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x74a477c0 rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x58ea7c07 rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xf4d01105 rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xc8c9351c rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x80000000 rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x5de62fd0 rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x80000000 rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x21a10f55 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x48c88d45 rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x81db011c rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xcf82d17c rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x70e02c6e rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x70a944cc rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xe8a02c0e rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x4cc97b94 rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x402a0c04 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xc95b0ef2 rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x17a7da1f rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x80000000 rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x7fffffff rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x8e089270 rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x1e8e0184 rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x5482daa0 rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x15c70af7 rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x9022c865 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x86ea9b2a rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x73ecd90d rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x4a589e0f rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0x0a34e148 rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdadd r0, r1, r2 :: rd 0xd7ddb3ba rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+---------------- QSUB ---------------- 
+qsub r0, r1, r2 :: rd 0x80000001 rm 0x00000000, rn 0x7fffffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x80000002 rm 0x00000001, rn 0x7fffffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x00000000 rm 0xffffffff, rn 0xffffffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xfff1fffc rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x000e0004 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x0004000f rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xfffbfff1 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x0ddd2e96 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xbc54a9aa rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xbd1665e6 rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xd15aeae8 rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x80000000 rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x7fffffff rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x80000000 rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x18d2c68b rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x470ecd95 rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x54fe70a0 rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x48b5bcc7 rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x0e1430e4 rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x1e3e5e64 rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x14660cb9 rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x76fdce8e rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x74f77b6f rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xf653ff30 rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x7fffffff rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x01cbdfd1 rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x10013180 rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x82190050 rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x7fffffff rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x7fffffff rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xbd5642b4 rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x0cc6dad7 rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x80000000 rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x2456eadf rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x80000000 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x4cd7b123 rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xaaa74f6c rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x7fffffff rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xd3c1f4bc rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xb2fbbe52 rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xf7170bfd rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x11bd3ef7 rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x80000000 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x0099ef2c rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x80000000 rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xc931cb82 rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xae920223 rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x654244dc rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x80000000 rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x1ea0fc75 rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xf4be49d3 rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x0e55e605 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x64da14c9 rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x2ce06b08 rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x4b65e5cb rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0xf0919e5d rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qsub r0, r1, r2 :: rd 0x081d8b18 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+---------------- QDSUB ---------------- 
+qdsub r0, r1, r2 :: rd 0x80000001 rm 0x00000000, rn 0x7fffffff, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x80000002 rm 0x00000001, rn 0x7fffffff, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x00000000 rm 0x00000000, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x00000001 rm 0xffffffff, rn 0xffffffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xffd9fff9 rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x00040005 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x00050006 rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xfff8ffd9 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x437ed891 rm 0xd83b849b, rn 0xca5e5605, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x8cdafabf rm 0x0cdafabe, rn 0x50865114, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xa738f100 rm 0x2738f0ff, rn 0x6a228b19, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xa7e72a97 rm 0xfaceab39, rn 0x2973c051, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x80000000 rm 0xa3e6f759, rn 0x557c7ba2, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x7fffffff rm 0x72f33509, rn 0x9b41bfb1, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x80000000 rm 0xa5ec1aa8, rn 0x2b62ba5a, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xeebd04da rm 0x6ebd04d9, rn 0x55ea3e4e, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x5f6ef825 rm 0x2eaea305, rn 0xe79fd570, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x7fffffff rm 0x22b65db1, rn 0xcdb7ed11, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x19ff37c7 rm 0x776c41c7, rn 0x2eb68500, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x371a8a4c rm 0xe50dd77c, rn 0xd6f9a698, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x30994d58 rm 0x0be36f70, rn 0xeda5110c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x3d0c2147 rm 0xebbff82b, rn 0xd759eb72, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x7fffffff rm 0x50c28082, rn 0xd9c4b1f4, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x7fffffff rm 0x17962e8f, rn 0xa29eb320, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x2735baa9 rm 0xc57243b7, rn 0xcf1e4487, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x7fffffff rm 0x7eb226ac, rn 0xf20fb90f, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x3ce0f026 rm 0xbce0f026, rn 0xbb151055, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x25757252 rm 0xa5757252, rn 0x957440d2, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x80000000 rm 0xf4a477c1, rn 0x728b7771, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x7fffffff rm 0x76723a21, rn 0xf13c20f3, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x7fffffff rm 0x74d01105, rn 0x86398371, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xb985473c rm 0xc1273e2c, rn 0x03d0fb78, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x3bf23f5b rm 0xdd9b7653, rn 0xd0d49b7c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x80000000 rm 0xdde62fd1, rn 0x76354a58, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x43fb4a96 rm 0xc3fb4a96, rn 0x9fa45fb7, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x80000000 rm 0xa1a10f56, rn 0x7572bdec, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x4e32126d rm 0x4b7d4fd9, rn 0xfea59eb6, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xb840bedc rm 0x9d0ddffc, rn 0xf2669090, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x7fffffff rm 0x4f82d17c, rn 0xbc1ff573, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x9f628cd6 rm 0x08215ca2, rn 0x345f67e6, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x80000000 rm 0xf23595d0, rn 0x3f39d77e, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xfbe956a2 rm 0xf244c158, rn 0xfb2db55b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xfe0e8018 rm 0x256bfdd6, rn 0x13aebedf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x80000000 rm 0xc02a0c05, rn 0x5b013000, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x130439ea rm 0xee2fa46e, rn 0xed95b542, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x80000000 rm 0x97a7da20, rn 0x60bb5ee8, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xf031c11e rm 0xa231d5e6, rn 0xd9000a64, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x90e1968b rm 0x10e1968a, rn 0x624f9467, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x7fffffff rm 0x0e089270, rn 0xa8c64d94, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x80000000 rm 0x9e8e0185, rn 0x6b4f637a, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x0cab07bc rm 0x3096f12e, rn 0x11f5f4b9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xe9bb5ec7 rm 0xffc134df, rn 0x0b02eb0c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x3866efe5 rm 0xe444dc25, rn 0xd5eef620, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x7fffffff rm 0x06ea9b2a, rn 0xa2108661, carryin 0, cpsr 0x08000000     Q ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x15319bb1 rm 0x448f3a5f, rn 0x17aecf57, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x4bbfa85f rm 0x4b0c2337, rn 0xffa63d6c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0xe805dd64 rm 0xf91d5f56, rn 0x088bc0f9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+qdsub r0, r1, r2 :: rd 0x1832d2e2 rm 0xf808434e, rn 0xefeab836, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+------------ UQSUB16 -----------------------------------
+uqsub16 r0, r1, r2 :: rd 0x0000fffc rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x000f0000 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x0000000f rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0xfffc0000 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0x00000318, rn 0xff00ff09, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0xfffc0000 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0x00020318, rn 0xff07ff09, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0xff05fbf1 rm 0xff07ff09, rn 0x00020318, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0xb8035b5b, rn 0xce0ce1ed, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00003299 rm 0x146275d8, rn 0xaae3433f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x0000a51f rm 0x2c07a5b4, rn 0x32fa0095, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x8c0f275c rm 0x8ed8287c, rn 0x02c90120, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x1e2e0000 rm 0x29300837, rn 0x0b02c58a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x72a40000 rm 0xb0d20777, rn 0x3e2e1bd7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0xd5fe2dc4, rn 0xdd914bf7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00003f6a rm 0x1d66879f, rn 0xf2b64835, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x4fa20000 rm 0xae930a1a, rn 0x5ef1f1a8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0x1ffe53d9, rn 0x815bb75b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000bdd rm 0xc6ffabb6, rn 0xef9e9fd9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x02e00ee4 rm 0x3dba1164, rn 0x3ada0280, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x49521d1e rm 0xda4ba05b, rn 0x90f9833d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0x7fa1d5a6, rn 0x9a4ff1b8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x2f6e4f7e rm 0x81616d13, rn 0x51f31d95, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0x0849a0c2, rn 0x0872f25a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x5ff30000 rm 0xf1e03d7e, rn 0x91edc21d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x48180000 rm 0x6034078d, rn 0x181c436b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x091d815b rm 0xf0d5ff94, rn 0xe7b87e39, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0x3edad6b6, rn 0x82aceb7a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000754 rm 0x0557c6fc, rn 0x6cc9bfa8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00004213 rm 0x7f808c15, rn 0x81874a02, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x378207c7 rm 0x6b1422c7, rn 0x33921b00, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x0000baee rm 0x3ccad3f7, rn 0xd7ce1909, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0x3e435701, rn 0x85fbf196, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x46ce0364 rm 0xb4e16b6e, rn 0x6e13680a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x44be0000 rm 0x89436f88, rn 0x44858efc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x56f59001 rm 0x9002bc30, rn 0x390d2c2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x29620000 rm 0xbea121ab, rn 0x953ff6ec, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x10670000 rm 0x80657c40, rn 0x6ffed89f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x2ccf41e6 rm 0x3e8c49b7, rn 0x11bd07d1, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x19273080 rm 0x7795635d, rn 0x5e6e32dd, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00006cc2 rm 0xe4999bf2, rn 0xec0c2f30, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x3423a486 rm 0x5736ed46, rn 0x231348c0, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00003743 rm 0x4f9ddd1b, rn 0x95bca5d8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00007afa rm 0x5765b203, rn 0xc1553709, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x0000b0f8 rm 0x0112b30a, rn 0x69ec0212, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x70c30000 rm 0x74bd0223, rn 0x03fa9bb5, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0x899d9192, rn 0xf52e9fbf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x34fa0000 rm 0xb4c510a7, rn 0x7fcbe5a9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x36d35289 rm 0x64a365ef, rn 0x2dd01366, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x9965947f rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00003add rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00001a55 rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x27f10000 rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x28470000 rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x6b3c0000 rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x000013e3 rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x426415f1 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uqsub16 r0, r1, r2 :: rd 0x00000000 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+------------ SHADD16 -----------------------------------
+shadd16 r0, r1, r2 :: rd 0x00100001 rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x00100001 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x00010010 rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x00010010 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x3fff3fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x00004000 rm 0x7fff00ff, rn 0x80017f01, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xc000c000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xbfffbfff rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xc3071ea4 rm 0xb8035b5b, rn 0xce0ce1ed, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xdfa25c8b rm 0x146275d8, rn 0xaae3433f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x2f80d324 rm 0x2c07a5b4, rn 0x32fa0095, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xc8d014ce rm 0x8ed8287c, rn 0x02c90120, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x1a19e6e0 rm 0x29300837, rn 0x0b02c58a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xf78011a7 rm 0xb0d20777, rn 0x3e2e1bd7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xd9c73cdd rm 0xd5fe2dc4, rn 0xdd914bf7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x080ee7ea rm 0x1d66879f, rn 0xf2b64835, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x06c2fde1 rm 0xae930a1a, rn 0x5ef1f1a8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xd0ac059a rm 0x1ffe53d9, rn 0x815bb75b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xdb4ea5c7 rm 0xc6ffabb6, rn 0xef9e9fd9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x3c4a09f2 rm 0x3dba1164, rn 0x3ada0280, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xb5a291cc rm 0xda4ba05b, rn 0x90f9833d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x0cf8e3af rm 0x7fa1d5a6, rn 0x9a4ff1b8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xe9aa4554 rm 0x81616d13, rn 0x51f31d95, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x085dc98e rm 0x0849a0c2, rn 0x0872f25a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xc1e6ffcd rm 0xf1e03d7e, rn 0x91edc21d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x3c28257c rm 0x6034078d, rn 0x181c436b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xec463ee6 rm 0xf0d5ff94, rn 0xe7b87e39, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xe0c3e118 rm 0x3edad6b6, rn 0x82aceb7a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x3910c352 rm 0x0557c6fc, rn 0x6cc9bfa8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x0083eb0b rm 0x7f808c15, rn 0x81874a02, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x4f531ee3 rm 0x6b1422c7, rn 0x33921b00, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x0a4cf680 rm 0x3ccad3f7, rn 0xd7ce1909, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xe21f244b rm 0x3e435701, rn 0x85fbf196, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x117a69bc rm 0xb4e16b6e, rn 0x6e13680a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xe6e4ff42 rm 0x89436f88, rn 0x44858efc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xe487f42f rm 0x9002bc30, rn 0x390d2c2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xa9f00c4b rm 0xbea121ab, rn 0x953ff6ec, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xf8312a6f rm 0x80657c40, rn 0x6ffed89f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x282428c4 rm 0x3e8c49b7, rn 0x11bd07d1, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x6b014b1d rm 0x7795635d, rn 0x5e6e32dd, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xe852e591 rm 0xe4999bf2, rn 0xec0c2f30, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x3d241b03 rm 0x5736ed46, rn 0x231348c0, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xf2acc179 rm 0x4f9ddd1b, rn 0x95bca5d8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x0c5df486 rm 0x5765b203, rn 0xc1553709, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x357fda8e rm 0x0112b30a, rn 0x69ec0212, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x3c5bceec rm 0x74bd0223, rn 0x03fa9bb5, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xbf6598a8 rm 0x899d9192, rn 0xf52e9fbf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x1a48fb28 rm 0xb4c510a7, rn 0x7fcbe5a9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x49393caa rm 0x64a365ef, rn 0x2dd01366, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x2afde6fe rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x45943f3a rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x08d69c45 rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xe188b17f rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x963aa611 rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x306948d3 rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xfd28066e rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x3e454835 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0xeee51ce2 rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+shadd16 r0, r1, r2 :: rd 0x0029edf1 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+------------ UHSUB8 -----------------------------------
+uhsub8 r0, r1, r2 :: rd 0x00f87f7e rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x00078082 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x80820007 rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x7f7e00f8 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x3f7f3f7f rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xff7fc07f rm 0x7fff00ff, rn 0x80017f01, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x40004000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xc080c080 rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xf5fbbdb7 rm 0xb8035b5b, rn 0xce0ce1ed, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xb5bf194c rm 0x146275d8, rn 0xaae3433f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xfd86520f rm 0x2c07a5b4, rn 0x32fa0095, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x4607132e rm 0x8ed8287c, rn 0x02c90120, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x0f17a1d6 rm 0x29300837, rn 0x0b02c58a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x3952f6d0 rm 0xb0d20777, rn 0x3e2e1bd7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xfc36f1e6 rm 0xd5fe2dc4, rn 0xdd914bf7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x95d81f35 rm 0x1d66879f, rn 0xf2b64835, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x28d18cb9 rm 0xae930a1a, rn 0x5ef1f1a8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xcf51ce3f rm 0x1ffe53d9, rn 0x815bb75b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xeb3006ee rm 0xc6ffabb6, rn 0xef9e9fd9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x01f007f2 rm 0x3dba1164, rn 0x3ada0280, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x25a90e0f rm 0xda4ba05b, rn 0x90f9833d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xf229f2f7 rm 0x7fa1d5a6, rn 0x9a4ff1b8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x18b728bf rm 0x81616d13, rn 0x51f31d95, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x00ebd734 rm 0x0849a0c2, rn 0x0872f25a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x30f9bd30 rm 0xf1e03d7e, rn 0x91edc21d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x240ce211 rm 0x6034078d, rn 0x181c436b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x040e402d rm 0xf0d5ff94, rn 0xe7b87e39, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xde17f51e rm 0x3edad6b6, rn 0x82aceb7a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xccc7032a rm 0x0557c6fc, rn 0x6cc9bfa8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xfffc2109 rm 0x7f808c15, rn 0x81874a02, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x1cc10363 rm 0x6b1422c7, rn 0x33921b00, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xb2fe5d77 rm 0x3ccad3f7, rn 0xd7ce1909, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xdca4b3b5 rm 0x3e435701, rn 0x85fbf196, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x23670132 rm 0xb4e16b6e, rn 0x6e13680a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x22dff0c6 rm 0x89436f88, rn 0x44858efc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x2bfa4800 rm 0x9002bc30, rn 0x390d2c2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x143195df rm 0xbea121ab, rn 0x953ff6ec, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x08b3d2d0 rm 0x80657c40, rn 0x6ffed89f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x16e721f3 rm 0x3e8c49b7, rn 0x11bd07d1, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x0c1318c0 rm 0x7795635d, rn 0x5e6e32dd, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xfc463661 rm 0xe4999bf2, rn 0xec0c2f30, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x1a1152c3 rm 0x5736ed46, rn 0x231348c0, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xddf01ca1 rm 0x4f9ddd1b, rn 0x95bca5d8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xcb083dfd rm 0x5765b203, rn 0xc1553709, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xcc9358fc rm 0x0112b30a, rn 0x69ec0212, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x38e1b3b7 rm 0x74bd0223, rn 0x03fa9bb5, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xca37f9e9 rm 0x899d9192, rn 0xf52e9fbf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x1afd95ff rm 0xb4c510a7, rn 0x7fcbe5a9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x1be92944 rm 0x64a365ef, rn 0x2dd01366, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x4c324abf rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xff4a1dee rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xa0460d2a rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x14f8db7b rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x1423eeb2 rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x369efbf0 rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xf61a0af1 rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0x21320bf8 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xdff8eafe rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub8 r0, r1, r2 :: rd 0xa110c142 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+------------ UHSUB16 -----------------------------------
+uhsub16 r0, r1, r2 :: rd 0xfff87ffe rm 0x0009ffff, rn 0x00180003, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x00078002 rm 0x00180003, rn 0x0009ffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x80020007 rm 0x00030018, rn 0xffff0009, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x7ffefff8 rm 0xffff0009, rn 0x00030018, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x3fff3fff rm 0x7fff7fff, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xffffc0ff rm 0x7fff00ff, rn 0x80017f01, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x40004000 rm 0x80008000, rn 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xc000c000 rm 0x80008000, rn 0xffffffff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xf4fbbcb7 rm 0xb8035b5b, rn 0xce0ce1ed, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xb4bf194c rm 0x146275d8, rn 0xaae3433f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xfc86528f rm 0x2c07a5b4, rn 0x32fa0095, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x460713ae rm 0x8ed8287c, rn 0x02c90120, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x0f17a156 rm 0x29300837, rn 0x0b02c58a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x3952f5d0 rm 0xb0d20777, rn 0x3e2e1bd7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xfc36f0e6 rm 0xd5fe2dc4, rn 0xdd914bf7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x95581fb5 rm 0x1d66879f, rn 0xf2b64835, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x27d18c39 rm 0xae930a1a, rn 0x5ef1f1a8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xcf51ce3f rm 0x1ffe53d9, rn 0x815bb75b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xebb005ee rm 0xc6ffabb6, rn 0xef9e9fd9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x01700772 rm 0x3dba1164, rn 0x3ada0280, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x24a90e8f rm 0xda4ba05b, rn 0x90f9833d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xf2a9f1f7 rm 0x7fa1d5a6, rn 0x9a4ff1b8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x17b727bf rm 0x81616d13, rn 0x51f31d95, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xffebd734 rm 0x0849a0c2, rn 0x0872f25a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x2ff9bdb0 rm 0xf1e03d7e, rn 0x91edc21d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x240ce211 rm 0x6034078d, rn 0x181c436b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x048e40ad rm 0xf0d5ff94, rn 0xe7b87e39, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xde17f59e rm 0x3edad6b6, rn 0x82aceb7a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xcc4703aa rm 0x0557c6fc, rn 0x6cc9bfa8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xfefc2109 rm 0x7f808c15, rn 0x81874a02, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x1bc103e3 rm 0x6b1422c7, rn 0x33921b00, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xb27e5d77 rm 0x3ccad3f7, rn 0xd7ce1909, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xdc24b2b5 rm 0x3e435701, rn 0x85fbf196, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x236701b2 rm 0xb4e16b6e, rn 0x6e13680a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x225ff046 rm 0x89436f88, rn 0x44858efc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x2b7a4800 rm 0x9002bc30, rn 0x390d2c2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x14b1955f rm 0xbea121ab, rn 0x953ff6ec, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x0833d1d0 rm 0x80657c40, rn 0x6ffed89f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x166720f3 rm 0x3e8c49b7, rn 0x11bd07d1, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x0c931840 rm 0x7795635d, rn 0x5e6e32dd, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xfc463661 rm 0xe4999bf2, rn 0xec0c2f30, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x1a115243 rm 0x5736ed46, rn 0x231348c0, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xdcf01ba1 rm 0x4f9ddd1b, rn 0x95bca5d8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xcb083d7d rm 0x5765b203, rn 0xc1553709, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xcb93587c rm 0x0112b30a, rn 0x69ec0212, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x3861b337 rm 0x74bd0223, rn 0x03fa9bb5, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xca37f8e9 rm 0x899d9192, rn 0xf52e9fbf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x1a7d957f rm 0xb4c510a7, rn 0x7fcbe5a9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x1b692944 rm 0x64a365ef, rn 0x2dd01366, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x4cb24a3f rm 0xf7b0b13e, rn 0x5e4b1cbf, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xff4a1d6e rm 0x44de5ca9, rn 0x464a21cc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xa0c60d2a rm 0x299da970, rn 0xe8108f1b, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x13f8db7b rm 0xf5818cfb, rn 0xcd90d604, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x1423ee32 rm 0xaa5e9444, rn 0x8217b7df, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x359efaf0 rm 0xe60743c3, rn 0x7acb4de3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xf69a09f1 rm 0x73c29060, rn 0x868e7c7d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0x21320af8 rm 0x5f77532e, rn 0x1d133d3d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xdf78ea7e rm 0x4e5e0760, rn 0x8f6d3264, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+uhsub16 r0, r1, r2 :: rd 0xa190c1c2 rm 0x21ba2fb3, rn 0xde99ac2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+----------------- SMLALBB ----------------- 
+smlalbb  r0, r1, r2, r3 :: rd 0x00000000 rm 0x80008000, rn 0x80008000 rs 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x00000001 rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xffffffe1 rm 0x80008000, rn 0xffffffff rs 0x0000001f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x00000060 rm 0x00640064, rn 0x00030003 rs 0x00000020, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x000000ff rm 0xffffffff, rn 0xfffc0001 rs 0x000000ff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x00000300 rm 0xfff70fff, rn 0x00030003 rs 0x00000100, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xf3079e48 rm 0xb8035b5b, rn 0xce0ce1ed rs 0x5f986e68, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x1ef48828 rm 0x35232047, rn 0x146275d8 rs 0xaae3433f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x1778f990 rm 0xe7aa57b4, rn 0x1584bd74 rs 0x2c07a5b4, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xf9ab0dc6 rm 0x32fa0095, rn 0x36f26261 rs 0x89d2ef86, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x0056fe80 rm 0x8ed8287c, rn 0x02c90120 rs 0xd4b64d54, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xfe1fc0a6 rm 0xc53aaba9, rn 0x29300837 rs 0x0b02c58a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x004aad77 rm 0x216158cb, rn 0x57a50a01 rs 0xb0d20777, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xecc723e0 rm 0x3e2e1bd7, rn 0x3cd6cd94 rs 0x7e376198, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x18ef1fc1 rm 0xd5fe2dc4, rn 0xdd914bf7 rs 0xd5dc5407, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xde0bcbeb rm 0xf87b961e, rn 0x1d66879f rs 0xf2b64835, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x01fb67fe rm 0xd65db979, rn 0xc61b323b rs 0xae930a1a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xfec0d58d rm 0x5ef1f1a8, rn 0xbf73f0a5 rs 0x2fb714c9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x2146238a rm 0x1ffe53d9, rn 0x815bb75b rs 0xa3268abe, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x1fa89746 rm 0xed2cbf78, rn 0xc6ffabb6 rs 0xef9e9fd9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x047af750 rm 0xeaa652c7, rn 0x137741f4 rs 0x3dba1164, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x08bcc917 rm 0x3ada0280, rn 0x71fbde8b rs 0xdba5bd25, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xfab71d78 rm 0xda4ba05b, rn 0x90f9833d rs 0x884c0ad8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x025cd550 rm 0xc00b821a, rn 0x7fa1d5a6 rs 0x9a4ff1b8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x1875f7cb rm 0xe1bb8606, rn 0x58293969 rs 0x81616d13, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x00cc3a5c rm 0x51f31d95, rn 0xa3cfd624 rs 0x6077fb1f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x05b5fb74 rm 0x0849a0c2, rn 0x0872f25a rs 0x40b094e2, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xf1227346 rm 0x17913309, rn 0xf1e03d7e rs 0x91edc21d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x00f3198a rm 0x5388b5cd, rn 0x86582032 rs 0x6034078d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x02602150 rm 0x181c436b, rn 0x5de41558 rs 0xccfa1c7e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xd6f2151c rm 0x23ba1b46, rn 0x4437983c rs 0x48d06549, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x1b14af58 rm 0xa9085781, rn 0xc6b4ac58 rs 0xb2aead21, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xfa35dd08 rm 0xc2bdf597, rn 0xdde1e6a4 rs 0x852e3a72, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xffcabff4 rm 0x157b0dea, rn 0xf0d5ff94 rs 0xe7b87e39, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x04922818 rm 0x3edad6b6, rn 0x82aceb7a rs 0x0557c6fc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xde7d2a2a rm 0x6cc9bfa8, rn 0x7f808c15 rs 0x81874a02, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xfb5b0d00 rm 0x6b1422c7, rn 0x33921b00 rs 0x3ccad3f7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xfb19eb96 rm 0xd7ce1909, rn 0x3e435701 rs 0x85fbf196, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x2d539b50 rm 0xb4e16b6e, rn 0x6e13680a rs 0x89436f88, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xf44bccd0 rm 0x44858efc, rn 0x9002bc30 rs 0x390d2c2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xfb980b00 rm 0xbea121ab, rn 0x953ff6ec rs 0x80657c40, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x02402f67 rm 0x6ffed89f, rn 0x3e8c49b7 rs 0x11bd07d1, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xec1ee3ea rm 0x7795635d, rn 0x5e6e32dd rs 0xe4999bf2, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xfaada480 rm 0xec0c2f30, rn 0x5736ed46 rs 0x231348c0, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x1b772188 rm 0x4f9ddd1b, rn 0x95bca5d8 rs 0x5765b203, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xff60aab4 rm 0xc1553709, rn 0x0112b30a rs 0x69ec0212, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x2b43523a rm 0x74bd0223, rn 0x03fa9bb5 rs 0x899d9192, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xfe49613f rm 0xf52e9fbf, rn 0xb4c510a7 rs 0x7fcbe5a9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xfa0838b4 rm 0x64a365ef, rn 0x2dd01366 rs 0xf7b0b13e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x0c3b9fac rm 0x5e4b1cbf, rn 0x44de5ca9 rs 0x464a21cc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x32b91379 rm 0x299da970, rn 0xe8108f1b rs 0xf5818cfb, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x1e5ac33c rm 0xcd90d604, rn 0xaa5e9444 rs 0x8217b7df, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xde09e520 rm 0xe60743c3, rn 0x7acb4de3 rs 0x73c29060, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x13e5c7f6 rm 0x868e7c7d, rn 0x5f77532e rs 0x1d133d3d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x096397ec rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0x076ba940 rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbb  r0, r1, r2, r3 :: rd 0xed0292e9 rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+----------------- SMLALBT ----------------- 
+smlalbt  r0, r1, r2, r3 :: rd 0x00000000 rm 0x80008000, rn 0x80008000 rs 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x00000000 rm 0x80008000, rn 0xffffffff rs 0x0000001f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x00000000 rm 0x00640064, rn 0x00030003 rs 0x00000020, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x00000000 rm 0xffffffff, rn 0xfffc0001 rs 0x000000ff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x00000000 rm 0xfff70fff, rn 0x00030003 rs 0x00000100, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xf4c517b8 rm 0xb8035b5b, rn 0xce0ce1ed rs 0x5f986e68, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xd8d1ee88 rm 0x35232047, rn 0x146275d8 rs 0xaae3433f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xf48e1e2c rm 0xe7aa57b4, rn 0x1584bd74 rs 0x2c07a5b4, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xd2959c92 rm 0x32fa0095, rn 0x36f26261 rs 0x89d2ef86, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xffcf4cc0 rm 0x8ed8287c, rn 0x02c90120 rs 0xd4b64d54, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x005a6d6e rm 0xc53aaba9, rn 0x29300837 rs 0x0b02c58a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xfce7e4d2 rm 0x216158cb, rn 0x57a50a01 rs 0xb0d20777, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xe72402cc rm 0x3e2e1bd7, rn 0x3cd6cd94 rs 0x7e376198, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xf37ecb44 rm 0xd5fe2dc4, rn 0xdd914bf7 rs 0xd5dc5407, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x063fb90a rm 0xf87b961e, rn 0x1d66879f rs 0xf2b64835, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xf005f1e1 rm 0xd65db979, rn 0xc61b323b rs 0xae930a1a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xfd2350f3 rm 0x5ef1f1a8, rn 0xbf73f0a5 rs 0x2fb714c9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x1a592882 rm 0x1ffe53d9, rn 0x815bb75b rs 0xa3268abe, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x0564e454 rm 0xed2cbf78, rn 0xc6ffabb6 rs 0xef9e9fd9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x0fe70f48 rm 0xeaa652c7, rn 0x137741f4 rs 0x3dba1164, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x04c05897 rm 0x3ada0280, rn 0x71fbde8b rs 0xdba5bd25, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x3a565e1c rm 0xda4ba05b, rn 0x90f9833d rs 0x884c0ad8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x10d2ca3a rm 0xc00b821a, rn 0x7fa1d5a6 rs 0x9a4ff1b8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xe39aa9c9 rm 0xe1bb8606, rn 0x58293969 rs 0x81616d13, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xf03a0abc rm 0x51f31d95, rn 0xa3cfd624 rs 0x6077fb1f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xfc8d1de0 rm 0x0849a0c2, rn 0x0872f25a rs 0x40b094e2, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xe58f4ba6 rm 0x17913309, rn 0xf1e03d7e rs 0x91edc21d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x0c194a28 rm 0x5388b5cd, rn 0x86582032 rs 0x6034078d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xfbbef7f0 rm 0x181c436b, rn 0x5de41558 rs 0xccfa1c7e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xe27c90c0 rm 0x23ba1b46, rn 0x4437983c rs 0x48d06549, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x194453d0 rm 0xa9085781, rn 0xc6b4ac58 rs 0xb2aead21, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x0c2aa578 rm 0xc2bdf597, rn 0xdde1e6a4 rs 0x852e3a72, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x000a3e60 rm 0x157b0dea, rn 0xf0d5ff94 rs 0xe7b87e39, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xff926876 rm 0x3edad6b6, rn 0x82aceb7a rs 0x0557c6fc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x39447413 rm 0x6cc9bfa8, rn 0x7f808c15 rs 0x81874a02, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x06694e00 rm 0x6b1422c7, rn 0x33921b00 rs 0x3ccad3f7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xd687d2fb rm 0xd7ce1909, rn 0x3e435701 rs 0x85fbf196, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xcfbe949e rm 0xb4e16b6e, rn 0x6e13680a rs 0x89436f88, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xf0e33e70 rm 0x44858efc, rn 0x9002bc30 rs 0x390d2c2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x04866b1c rm 0xbea121ab, rn 0x953ff6ec rs 0x80657c40, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x051b931b rm 0x6ffed89f, rn 0x3e8c49b7 rs 0x11bd07d1, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xfa8e3a15 rm 0x7795635d, rn 0x5e6e32dd rs 0xe4999bf2, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xfd6f2e32 rm 0xec0c2f30, rn 0x5736ed46 rs 0x231348c0, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xe138d638 rm 0x4f9ddd1b, rn 0x95bca5d8 rs 0x5765b203, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xe0282738 rm 0xc1553709, rn 0x0112b30a rs 0x69ec0212, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x2e615b01 rm 0x74bd0223, rn 0x03fa9bb5 rs 0x899d9192, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x08500d6d rm 0xf52e9fbf, rn 0xb4c510a7 rs 0x7fcbe5a9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xff5ec020 rm 0x64a365ef, rn 0x2dd01366 rs 0xf7b0b13e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x1970feda rm 0x5e4b1cbf, rn 0x44de5ca9 rs 0x464a21cc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x04a0f39b rm 0x299da970, rn 0xe8108f1b rs 0xf5818cfb, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x34fcda1c rm 0xcd90d604, rn 0xaa5e9444 rs 0x8217b7df, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x2337ff06 rm 0xe60743c3, rn 0x7acb4de3 rs 0x73c29060, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x0972626a rm 0x868e7c7d, rn 0x5f77532e rs 0x1d133d3d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0x06a380a8 rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xf8028330 rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlalbt  r0, r1, r2, r3 :: rd 0xfc44a1e9 rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+----------------- SMLALTB ----------------- 
+smlaltb  r0, r1, r2, r3 :: rd 0x00000000 rm 0x80008000, rn 0x80008000 rs 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x00000001 rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xffffffe1 rm 0x80008000, rn 0xffffffff rs 0x0000001f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x00000060 rm 0x00640064, rn 0x00030003 rs 0x00000020, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xfffffc04 rm 0xffffffff, rn 0xfffc0001 rs 0x000000ff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x00000300 rm 0xfff70fff, rn 0x00030003 rs 0x00000100, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xea74dce0 rm 0xb8035b5b, rn 0xce0ce1ed rs 0x5f986e68, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x055aaa1e rm 0x35232047, rn 0x146275d8 rs 0xaae3433f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xf86934d0 rm 0xe7aa57b4, rn 0x1584bd74 rs 0x2c07a5b4, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xfc76b0ac rm 0x32fa0095, rn 0x36f26261 rs 0x89d2ef86, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x00d75ef4 rm 0x8ed8287c, rn 0x02c90120 rs 0xd4b64d54, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xf69823e0 rm 0xc53aaba9, rn 0x29300837 rs 0x0b02c58a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x028e40b3 rm 0x216158cb, rn 0x57a50a01 rs 0xb0d20777, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x17313510 rm 0x3e2e1bd7, rn 0x3cd6cd94 rs 0x7e376198, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xf4b2a2f7 rm 0xd5fe2dc4, rn 0xdd914bf7 rs 0xd5dc5407, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x084ac61e rm 0xf87b961e, rn 0x1d66879f rs 0xf2b64835, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xfdb72cbe rm 0xd65db979, rn 0xc61b323b rs 0xae930a1a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xfac24d4b rm 0x5ef1f1a8, rn 0xbf73f0a5 rs 0x2fb714c9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x3a020f8a rm 0x1ffe53d9, rn 0x815bb75b rs 0xa3268abe, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x15690f27 rm 0xed2cbf78, rn 0xc6ffabb6 rs 0xef9e9fd9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x0152817c rm 0xeaa652c7, rn 0x137741f4 rs 0x3dba1164, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xe23bc847 rm 0x3ada0280, rn 0x71fbde8b rs 0xdba5bd25, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xfb4c0c18 rm 0xda4ba05b, rn 0x90f9833d rs 0x884c0ad8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xf8e14cb8 rm 0xc00b821a, rn 0x7fa1d5a6 rs 0x9a4ff1b8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x2590000b rm 0xe1bb8606, rn 0x58293969 rs 0x81616d13, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x01c1cb11 rm 0x51f31d95, rn 0xa3cfd624 rs 0x6077fb1f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xfc775ca4 rm 0x0849a0c2, rn 0x0872f25a rs 0x40b094e2, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x036a2660 rm 0x17913309, rn 0xf1e03d7e rs 0x91edc21d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xfc696678 rm 0x5388b5cd, rn 0x86582032 rs 0x6034078d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x0a732638 rm 0x181c436b, rn 0x5de41558 rs 0xccfa1c7e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x1afd26af rm 0x23ba1b46, rn 0x4437983c rs 0x48d06549, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x128c4134 rm 0xa9085781, rn 0xc6b4ac58 rs 0xb2aead21, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xf835c832 rm 0xc2bdf597, rn 0xdde1e6a4 rs 0x852e3a72, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xf885756d rm 0x157b0dea, rn 0xf0d5ff94 rs 0xe7b87e39, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x1be9a950 rm 0x3edad6b6, rn 0x82aceb7a rs 0x0557c6fc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x24dbff00 rm 0x6cc9bfa8, rn 0x7f808c15 rs 0x81874a02, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xf72117de rm 0x6b1422c7, rn 0x33921b00 rs 0x3ccad3f7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xfc7e8e42 rm 0xd7ce1909, rn 0x3e435701 rs 0x85fbf196, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x2ff4b718 rm 0xb4e16b6e, rn 0x6e13680a rs 0x89436f88, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xecabc85e rm 0x44858efc, rn 0x9002bc30 rs 0x390d2c2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xcc2fd3c0 rm 0xbea121ab, rn 0x953ff6ec rs 0x80657c40, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x01e8e44c rm 0x6ffed89f, rn 0x3e8c49b7 rs 0x11bd07d1, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xdb17ddfc rm 0x7795635d, rn 0x5e6e32dd rs 0xe4999bf2, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x18c89880 rm 0xec0c2f30, rn 0x5736ed46 rs 0x231348c0, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x205f7934 rm 0x4f9ddd1b, rn 0x95bca5d8 rs 0x5765b203, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x00023744 rm 0xc1553709, rn 0x0112b30a rs 0x69ec0212, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xfe48de94 rm 0x74bd0223, rn 0x03fa9bb5 rs 0x899d9192, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x07bd8f0d rm 0xf52e9fbf, rn 0xb4c510a7 rs 0x7fcbe5a9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xf1e7e860 rm 0x64a365ef, rn 0x2dd01366 rs 0xf7b0b13e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x09177ee8 rm 0x5e4b1cbf, rn 0x44de5ca9 rs 0x464a21cc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x0ac147b0 rm 0x299da970, rn 0xe8108f1b rs 0xf5818cfb, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x182099e2 rm 0xcd90d604, rn 0xaa5e9444 rs 0x8217b7df, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xca753c20 rm 0xe60743c3, rn 0x7acb4de3 rs 0x73c29060, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x16d61a5b rm 0x868e7c7d, rn 0x5f77532e rs 0x1d133d3d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0xeb064c37 rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x00caa1a4 rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltb  r0, r1, r2, r3 :: rd 0x0d8bd0c2 rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+----------------- SMLALTT ----------------- 
+smlaltt  r0, r1, r2, r3 :: rd 0x00000000 rm 0x80008000, rn 0x80008000 rs 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00000000 rs 0x00000000, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x00000000 rm 0x7fff7fff, rn 0x00010001 rs 0x00000001, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x00000000 rm 0x80008000, rn 0xffffffff rs 0x0000001f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x00000000 rm 0x00640064, rn 0x00030003 rs 0x00000020, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x00000000 rm 0xffffffff, rn 0xfffc0001 rs 0x000000ff, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x00000000 rm 0xfff70fff, rn 0x00030003 rs 0x00000100, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xed58cb20 rm 0xb8035b5b, rn 0xce0ce1ed rs 0x5f986e68, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xf93926e6 rm 0x35232047, rn 0x146275d8 rs 0xaae3433f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x03b3469c rm 0xe7aa57b4, rn 0x1584bd74 rs 0x2c07a5b4, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xe6a29484 rm 0x32fa0095, rn 0x36f26261 rs 0x89d2ef86, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xff876ee6 rm 0x8ed8287c, rn 0x02c90120 rs 0xd4b64d54, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x01c56260 rm 0xc53aaba9, rn 0x29300837 rs 0x0b02c58a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xe4e4555a rm 0x216158cb, rn 0x57a50a01 rs 0xb0d20777, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x1dfe65fa rm 0x3e2e1bd7, rn 0x3cd6cd94 rs 0x7e376198, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x05ab0d9c rm 0xd5fe2dc4, rn 0xdd914bf7 rs 0xd5dc5407, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xfe795284 rm 0xf87b961e, rn 0x1d66879f rs 0xf2b64835, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x126a1b81 rm 0xd65db979, rn 0xc61b323b rs 0xae930a1a, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xf3f7f835 rm 0x5ef1f1a8, rn 0xbf73f0a5 rs 0x2fb714c9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x2def2482 rm 0x1ffe53d9, rn 0x815bb75b rs 0xa3268abe, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x03a5e262 rm 0xed2cbf78, rn 0xc6ffabb6 rs 0xef9e9fd9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x04b17f76 rm 0xeaa652c7, rn 0x137741f4 rs 0x3dba1164, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xefd02fc7 rm 0x3ada0280, rn 0x71fbde8b rs 0xdba5bd25, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x33ea51ec rm 0xda4ba05b, rn 0x90f9833d rs 0x884c0ad8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xcd4d3caf rm 0xc00b821a, rn 0x7fa1d5a6 rs 0x9a4ff1b8, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xd4651089 rm 0xe1bb8606, rn 0x58293969 rs 0x81616d13, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xdd42c539 rm 0x51f31d95, rn 0xa3cfd624 rs 0x6077fb1f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x02224e60 rm 0x0849a0c2, rn 0x0872f25a rs 0x40b094e2, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x0612cc60 rm 0x17913309, rn 0xf1e03d7e rs 0x91edc21d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xd24849e0 rm 0x5388b5cd, rn 0x86582032 rs 0x6034078d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xed4960a8 rm 0x181c436b, rn 0x5de41558 rs 0xccfa1c7e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x1366e4b0 rm 0x23ba1b46, rn 0x4437983c rs 0x48d06549, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x114e3658 rm 0xa9085781, rn 0xc6b4ac58 rs 0xb2aead21, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x105ec36e rm 0xc2bdf597, rn 0xdde1e6a4 rs 0x852e3a72, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x01704c18 rm 0x157b0dea, rn 0xf0d5ff94 rs 0xe7b87e39, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xfd62c474 rm 0x3edad6b6, rn 0x82aceb7a rs 0x0557c6fc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xc102bc80 rm 0x6cc9bfa8, rn 0x7f808c15 rs 0x81874a02, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x0c3ee934 rm 0x6b1422c7, rn 0x33921b00 rs 0x3ccad3f7, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xe252dab1 rm 0xd7ce1909, rn 0x3e435701 rs 0x85fbf196, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xccf1f9f9 rm 0xb4e16b6e, rn 0x6e13680a rs 0x89436f88, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xe70ac21a rm 0x44858efc, rn 0x9002bc30 rs 0x390d2c2f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x353661db rm 0xbea121ab, rn 0x953ff6ec rs 0x80657c40, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x0455795c rm 0x6ffed89f, rn 0x3e8c49b7 rs 0x11bd07d1, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xf5e467be rm 0x7795635d, rn 0x5e6e32dd rs 0xe4999bf2, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x0bf2db02 rm 0xec0c2f30, rn 0x5736ed46 rs 0x231348c0, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xdbb8f72c rm 0x4f9ddd1b, rn 0x95bca5d8 rs 0x5765b203, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x00715e98 rm 0xc1553709, rn 0x0112b30a rs 0x69ec0212, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xfe293a52 rm 0x74bd0223, rn 0x03fa9bb5 rs 0x899d9192, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xda721337 rm 0xf52e9fbf, rn 0xb4c510a7 rs 0x7fcbe5a9, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xfe832f00 rm 0x64a365ef, rn 0x2dd01366 rs 0xf7b0b13e, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x12e89c2c rm 0x5e4b1cbf, rn 0x44de5ca9 rs 0x464a21cc, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x00fb4010 rm 0x299da970, rn 0xe8108f1b rs 0xf5818cfb, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x2a1e0a72 rm 0xcd90d604, rn 0xaa5e9444 rs 0x8217b7df, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x37863ed6 rm 0xe60743c3, rn 0x7acb4de3 rs 0x73c29060, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x0ad790d5 rm 0x868e7c7d, rn 0x5f77532e rs 0x1d133d3d, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xf12b4232 rm 0x4e5e0760, rn 0x8f6d3264 rs 0x21ba2fb3, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0xff25d04f rm 0xde99ac2f, rn 0x0be36f70 rs 0xeda5110c, carryin 0, cpsr 0x00000000       ge[3:0]=0000
+smlaltt  r0, r1, r2, r3 :: rd 0x02a97ec2 rm 0xc57243b7, rn 0xcf1e4487 rs 0xf20fb90f, carryin 0, cpsr 0x00000000       ge[3:0]=0000
diff --git a/none/tests/arm/vcvt_fixed_float_VFP.c b/none/tests/arm/vcvt_fixed_float_VFP.c
new file mode 100644
index 0000000..5d98864
--- /dev/null
+++ b/none/tests/arm/vcvt_fixed_float_VFP.c
@@ -0,0 +1,293 @@
+
+#include <stdio.h>
+#include <string.h>
+
+typedef  unsigned long long int  ULong;
+
+__attribute__((noinline)) float s32_to_f32_imm1(int x)
+{
+    float y;
+    __asm__ ("vcvt.f32.s32 %0, %1, #1" : "=w"(y) : "0"(x));
+    return y;
+}
+
+__attribute__((noinline)) float s32_to_f32_imm32(int x)
+{
+    float y;
+    __asm__ ("vcvt.f32.s32 %0, %1, #32" : "=w"(y) : "0"(x));
+    return y;
+}
+
+void try_s32_to_f32 ( int x )
+{
+  float f32 = s32_to_f32_imm32(x);
+  printf("s32_to_f32_imm32:  %11d  ->  %18.14e\n", x, (double)f32);
+  f32 = s32_to_f32_imm1(x);
+  printf("s32_to_f32_imm1:   %11d  ->  %18.14e\n", x, (double)f32);
+}
+
+
+
+__attribute__((noinline)) float u32_to_f32_imm1(int x)
+{
+    float y;
+    __asm__ ("vcvt.f32.u32 %0, %1, #1" : "=w"(y) : "0"(x));
+    return y;
+}
+
+__attribute__((noinline)) float u32_to_f32_imm32(int x)
+{
+    float y;
+    __asm__ ("vcvt.f32.u32 %0, %1, #32" : "=w"(y) : "0"(x));
+    return y;
+}
+
+void try_u32_to_f32 ( unsigned int x )
+{
+  float f32 = u32_to_f32_imm32(x);
+  printf("u32_to_f32_imm32:  %11u  ->  %18.14e\n", x, (double)f32);
+  f32 = u32_to_f32_imm1(x);
+  printf("u32_to_f32_imm1:   %11u  ->  %18.14e\n", x, (double)f32);
+}
+
+
+
+__attribute__((noinline)) double s32_to_f64_imm1(int x)
+{
+    double block[2];
+    memset(block, 0x55, sizeof(block));
+    __asm__ __volatile__(
+       "mov r8, %1"               "\n\t"
+       "vldr d14, [%0, #8]"       "\n\t" // d14 <- junk
+       "vmov s1, r8"              "\n\t"
+       "vcvt.f64.s32 d14,d14,#1"  "\n\t"
+       "vstr d14, [%0]"           "\n\t"
+       : : /*IN*/"r"(&block[0]), "r"(x) : /*TRASH*/"r8","s28","d14","memory"
+    );
+    return block[0];
+}
+
+__attribute__((noinline)) double s32_to_f64_imm32(int x)
+{
+    double block[2];
+    memset(block, 0x55, sizeof(block));
+    __asm__ __volatile__(
+       "mov r8, %1"                "\n\t"
+       "vldr d14, [%0, #8]"        "\n\t" // d14 <- junk
+       "vmov s28, r8"              "\n\t"
+       "vcvt.f64.s32 d14,d14,#32"  "\n\t"
+       "vstr d14, [%0]"            "\n\t"
+       : : /*IN*/"r"(&block[0]), "r"(x) : /*TRASH*/"r8","s28","d14","memory"
+    );
+    return block[0];
+}
+
+void try_s32_to_f64 ( int x )
+{
+  double f64 = s32_to_f64_imm32(x);
+  printf("s32_to_f64_imm32:  %11d  ->  %18.14e\n", x, f64);
+  f64 = s32_to_f64_imm1(x);
+  printf("s32_to_f64_imm1:   %11d  ->  %18.14e\n", x, f64);
+}
+
+
+
+__attribute__((noinline)) double u32_to_f64_imm1(int x)
+{
+    double block[2];
+    memset(block, 0x55, sizeof(block));
+    __asm__ __volatile__(
+       "mov r8, %1"               "\n\t"
+       "vldr d14, [%0, #8]"       "\n\t" // d14 <- junk
+       "vmov s28, r8"             "\n\t"
+       "vcvt.f64.u32 d14,d14,#1"  "\n\t"
+       "vstr d14, [%0]"           "\n\t"
+       : : /*IN*/"r"(&block[0]), "r"(x) : /*TRASH*/"r8","s28","d14","memory"
+    );
+    return block[0];
+}
+
+__attribute__((noinline)) double u32_to_f64_imm32(int x)
+{
+    double block[2];
+    memset(block, 0x55, sizeof(block));
+    __asm__ __volatile__(
+       "mov r8, %1"                "\n\t"
+       "vldr d14, [%0, #8]"        "\n\t" // d14 <- junk
+       "vmov s28, r8"              "\n\t"
+       "vcvt.f64.u32 d14,d14,#32"  "\n\t"
+       "vstr d14, [%0]"            "\n\t"
+       : : /*IN*/"r"(&block[0]), "r"(x) : /*TRASH*/"r8","s28","d14","memory"
+    );
+    return block[0];
+}
+
+void try_u32_to_f64 ( int x )
+{
+  double f64 = u32_to_f64_imm32(x);
+  printf("u32_to_f64_imm32:  %11d  ->  %18.14e\n", x, f64);
+  f64 = u32_to_f64_imm1(x);
+  printf("u32_to_f64_imm1:   %11d  ->  %18.14e\n", x, f64);
+}
+
+
+
+__attribute__((noinline)) ULong f64_to_s32_imm1 ( double d )
+{
+  double block[5];
+  memset(block, 0x55, sizeof(block));
+  block[1] = d;
+  __asm__ __volatile__(
+    "mov r8, %0"               "\n\t"
+    "vldr d14, [r8, #8]"       "\n\t"
+    "vcvt.s32.f64 d14,d14,#1"  "\n\t"
+    "vstr d14, [r8,#24]"       "\n\t"
+    : : /*IN*/"r"(&block[0]) : /*TRASH*/"d14","r8","memory"
+  );
+  return *(ULong*)(&block[3]);
+}
+
+__attribute__((noinline)) ULong f64_to_s32_imm32 ( double d )
+{
+  double block[5];
+  memset(block, 0x55, sizeof(block));
+  block[1] = d;
+  __asm__ __volatile__(
+    "mov r8, %0"                "\n\t"
+    "vldr d14, [r8, #8]"        "\n\t"
+    "vcvt.s32.f64 d14,d14,#32"  "\n\t"
+    "vstr d14, [r8,#24]"        "\n\t"
+    : : /*IN*/"r"(&block[0]) : /*TRASH*/"d14","r8","memory"
+  );
+  return *(ULong*)(&block[3]);
+}
+
+void try_f64_to_s32 ( double d )
+{
+  ULong res = f64_to_s32_imm32(d);
+  printf("f64_to_s32_imm32:  %18.14e  ->  0x%016llx\n", d, res);
+  res = f64_to_s32_imm1(d);
+  printf("f64_to_s32_imm1:   %18.14e  ->  0x%016llx\n", d, res);
+}
+
+
+
+__attribute__((noinline)) ULong f64_to_u32_imm1 ( double d )
+{
+  double block[5];
+  memset(block, 0x55, sizeof(block));
+  block[1] = d;
+  __asm__ __volatile__(
+    "mov r8, %0"               "\n\t"
+    "vldr d14, [r8, #8]"       "\n\t"
+    "vcvt.u32.f64 d14,d14,#1"  "\n\t"
+    "vstr d14, [r8,#24]"       "\n\t"
+    : : /*IN*/"r"(&block[0]) : /*TRASH*/"d14","r8","memory"
+  );
+  return *(ULong*)(&block[3]);
+}
+
+__attribute__((noinline)) ULong f64_to_u32_imm32 ( double d )
+{
+  double block[5];
+  memset(block, 0x55, sizeof(block));
+  block[1] = d;
+  __asm__ __volatile__(
+    "mov r8, %0"                "\n\t"
+    "vldr d14, [r8, #8]"        "\n\t"
+    "vcvt.u32.f64 d14,d14,#32"  "\n\t"
+    "vstr d14, [r8,#24]"        "\n\t"
+    : : /*IN*/"r"(&block[0]) : /*TRASH*/"d14","r8","memory"
+  );
+  return *(ULong*)(&block[3]);
+}
+
+void try_f64_to_u32 ( double d )
+{
+  ULong res = f64_to_u32_imm32(d);
+  printf("f64_to_u32_imm32:  %18.14e  ->  0x%016llx\n", d, res);
+  res = f64_to_u32_imm1(d);
+  printf("f64_to_u32_imm1:   %18.14e  ->  0x%016llx\n", d, res);
+}
+
+
+
+int main ( void  )
+{
+  int i;
+  double d;
+
+  try_s32_to_f32(0);
+  try_s32_to_f32(1);
+  for (i = 100; i < 200; i++) {
+     try_s32_to_f32(i);
+  }
+  try_s32_to_f32(0x7FFFFFFE);
+  try_s32_to_f32(0x7FFFFFFF);
+  try_s32_to_f32(0x80000000);
+  try_s32_to_f32(0x80000001);
+  try_s32_to_f32(0xFFFFFFFE);
+  try_s32_to_f32(0xFFFFFFFF);
+
+  printf("\n");
+
+  try_u32_to_f32(0);
+  try_u32_to_f32(1);
+  for (i = 100; i < 200; i++) {
+     try_u32_to_f32(i);
+  }
+  try_u32_to_f32(0x7FFFFFFE);
+  try_u32_to_f32(0x7FFFFFFF);
+  try_u32_to_f32(0x80000000);
+  try_u32_to_f32(0x80000001);
+  try_u32_to_f32(0xFFFFFFFE);
+  try_u32_to_f32(0xFFFFFFFF);
+
+  printf("\n");
+
+  try_s32_to_f64(0);
+  try_s32_to_f64(1);
+  for (i = 100; i < 200; i++) {
+     try_s32_to_f64(i);
+  }
+  try_s32_to_f64(0x7FFFFFFE);
+  try_s32_to_f64(0x7FFFFFFF);
+  try_s32_to_f64(0x80000000);
+  try_s32_to_f64(0x80000001);
+  try_s32_to_f64(0xFFFFFFFE);
+  try_s32_to_f64(0xFFFFFFFF);
+
+  printf("\n");
+
+  try_u32_to_f64(0);
+  try_u32_to_f64(1);
+  for (i = 100; i < 200; i++) {
+     try_u32_to_f64(i);
+  }
+  try_u32_to_f64(0x7FFFFFFE);
+  try_u32_to_f64(0x7FFFFFFF);
+  try_u32_to_f64(0x80000000);
+  try_u32_to_f64(0x80000001);
+  try_u32_to_f64(0xFFFFFFFE);
+  try_u32_to_f64(0xFFFFFFFF);
+
+  printf("\n");
+  try_f64_to_s32(0.0);
+  try_f64_to_s32(1.0);
+  try_f64_to_s32(-1.0);
+  try_f64_to_s32(0.0 / 0.0);
+  for (d = -100000.01; d < 100000.0; d += 10000.0) {
+     try_f64_to_s32(d);
+  }
+
+  printf("\n");
+  try_f64_to_u32(0.0);
+  try_f64_to_u32(1.0);
+  try_f64_to_u32(-1.0);
+  try_f64_to_u32(0.0 / 0.0);
+  for (d = -100000.01; d < 100000.0; d += 10000.0) {
+     try_f64_to_u32(d);
+  }
+
+  return 0;
+}
diff --git a/none/tests/arm/vcvt_fixed_float_VFP.stderr.exp b/none/tests/arm/vcvt_fixed_float_VFP.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/arm/vcvt_fixed_float_VFP.stderr.exp
diff --git a/none/tests/arm/vcvt_fixed_float_VFP.stdout.exp b/none/tests/arm/vcvt_fixed_float_VFP.stdout.exp
new file mode 100644
index 0000000..64e62af
--- /dev/null
+++ b/none/tests/arm/vcvt_fixed_float_VFP.stdout.exp
@@ -0,0 +1,969 @@
+s32_to_f32_imm32:            0  ->  0.00000000000000e+00
+s32_to_f32_imm1:             0  ->  0.00000000000000e+00
+s32_to_f32_imm32:            1  ->  2.32830643653870e-10
+s32_to_f32_imm1:             1  ->  5.00000000000000e-01
+s32_to_f32_imm32:          100  ->  2.32830643653870e-08
+s32_to_f32_imm1:           100  ->  5.00000000000000e+01
+s32_to_f32_imm32:          101  ->  2.35158950090408e-08
+s32_to_f32_imm1:           101  ->  5.05000000000000e+01
+s32_to_f32_imm32:          102  ->  2.37487256526947e-08
+s32_to_f32_imm1:           102  ->  5.10000000000000e+01
+s32_to_f32_imm32:          103  ->  2.39815562963486e-08
+s32_to_f32_imm1:           103  ->  5.15000000000000e+01
+s32_to_f32_imm32:          104  ->  2.42143869400024e-08
+s32_to_f32_imm1:           104  ->  5.20000000000000e+01
+s32_to_f32_imm32:          105  ->  2.44472175836563e-08
+s32_to_f32_imm1:           105  ->  5.25000000000000e+01
+s32_to_f32_imm32:          106  ->  2.46800482273102e-08
+s32_to_f32_imm1:           106  ->  5.30000000000000e+01
+s32_to_f32_imm32:          107  ->  2.49128788709641e-08
+s32_to_f32_imm1:           107  ->  5.35000000000000e+01
+s32_to_f32_imm32:          108  ->  2.51457095146179e-08
+s32_to_f32_imm1:           108  ->  5.40000000000000e+01
+s32_to_f32_imm32:          109  ->  2.53785401582718e-08
+s32_to_f32_imm1:           109  ->  5.45000000000000e+01
+s32_to_f32_imm32:          110  ->  2.56113708019257e-08
+s32_to_f32_imm1:           110  ->  5.50000000000000e+01
+s32_to_f32_imm32:          111  ->  2.58442014455795e-08
+s32_to_f32_imm1:           111  ->  5.55000000000000e+01
+s32_to_f32_imm32:          112  ->  2.60770320892334e-08
+s32_to_f32_imm1:           112  ->  5.60000000000000e+01
+s32_to_f32_imm32:          113  ->  2.63098627328873e-08
+s32_to_f32_imm1:           113  ->  5.65000000000000e+01
+s32_to_f32_imm32:          114  ->  2.65426933765411e-08
+s32_to_f32_imm1:           114  ->  5.70000000000000e+01
+s32_to_f32_imm32:          115  ->  2.67755240201950e-08
+s32_to_f32_imm1:           115  ->  5.75000000000000e+01
+s32_to_f32_imm32:          116  ->  2.70083546638489e-08
+s32_to_f32_imm1:           116  ->  5.80000000000000e+01
+s32_to_f32_imm32:          117  ->  2.72411853075027e-08
+s32_to_f32_imm1:           117  ->  5.85000000000000e+01
+s32_to_f32_imm32:          118  ->  2.74740159511566e-08
+s32_to_f32_imm1:           118  ->  5.90000000000000e+01
+s32_to_f32_imm32:          119  ->  2.77068465948105e-08
+s32_to_f32_imm1:           119  ->  5.95000000000000e+01
+s32_to_f32_imm32:          120  ->  2.79396772384644e-08
+s32_to_f32_imm1:           120  ->  6.00000000000000e+01
+s32_to_f32_imm32:          121  ->  2.81725078821182e-08
+s32_to_f32_imm1:           121  ->  6.05000000000000e+01
+s32_to_f32_imm32:          122  ->  2.84053385257721e-08
+s32_to_f32_imm1:           122  ->  6.10000000000000e+01
+s32_to_f32_imm32:          123  ->  2.86381691694260e-08
+s32_to_f32_imm1:           123  ->  6.15000000000000e+01
+s32_to_f32_imm32:          124  ->  2.88709998130798e-08
+s32_to_f32_imm1:           124  ->  6.20000000000000e+01
+s32_to_f32_imm32:          125  ->  2.91038304567337e-08
+s32_to_f32_imm1:           125  ->  6.25000000000000e+01
+s32_to_f32_imm32:          126  ->  2.93366611003876e-08
+s32_to_f32_imm1:           126  ->  6.30000000000000e+01
+s32_to_f32_imm32:          127  ->  2.95694917440414e-08
+s32_to_f32_imm1:           127  ->  6.35000000000000e+01
+s32_to_f32_imm32:          128  ->  2.98023223876953e-08
+s32_to_f32_imm1:           128  ->  6.40000000000000e+01
+s32_to_f32_imm32:          129  ->  3.00351530313492e-08
+s32_to_f32_imm1:           129  ->  6.45000000000000e+01
+s32_to_f32_imm32:          130  ->  3.02679836750031e-08
+s32_to_f32_imm1:           130  ->  6.50000000000000e+01
+s32_to_f32_imm32:          131  ->  3.05008143186569e-08
+s32_to_f32_imm1:           131  ->  6.55000000000000e+01
+s32_to_f32_imm32:          132  ->  3.07336449623108e-08
+s32_to_f32_imm1:           132  ->  6.60000000000000e+01
+s32_to_f32_imm32:          133  ->  3.09664756059647e-08
+s32_to_f32_imm1:           133  ->  6.65000000000000e+01
+s32_to_f32_imm32:          134  ->  3.11993062496185e-08
+s32_to_f32_imm1:           134  ->  6.70000000000000e+01
+s32_to_f32_imm32:          135  ->  3.14321368932724e-08
+s32_to_f32_imm1:           135  ->  6.75000000000000e+01
+s32_to_f32_imm32:          136  ->  3.16649675369263e-08
+s32_to_f32_imm1:           136  ->  6.80000000000000e+01
+s32_to_f32_imm32:          137  ->  3.18977981805801e-08
+s32_to_f32_imm1:           137  ->  6.85000000000000e+01
+s32_to_f32_imm32:          138  ->  3.21306288242340e-08
+s32_to_f32_imm1:           138  ->  6.90000000000000e+01
+s32_to_f32_imm32:          139  ->  3.23634594678879e-08
+s32_to_f32_imm1:           139  ->  6.95000000000000e+01
+s32_to_f32_imm32:          140  ->  3.25962901115417e-08
+s32_to_f32_imm1:           140  ->  7.00000000000000e+01
+s32_to_f32_imm32:          141  ->  3.28291207551956e-08
+s32_to_f32_imm1:           141  ->  7.05000000000000e+01
+s32_to_f32_imm32:          142  ->  3.30619513988495e-08
+s32_to_f32_imm1:           142  ->  7.10000000000000e+01
+s32_to_f32_imm32:          143  ->  3.32947820425034e-08
+s32_to_f32_imm1:           143  ->  7.15000000000000e+01
+s32_to_f32_imm32:          144  ->  3.35276126861572e-08
+s32_to_f32_imm1:           144  ->  7.20000000000000e+01
+s32_to_f32_imm32:          145  ->  3.37604433298111e-08
+s32_to_f32_imm1:           145  ->  7.25000000000000e+01
+s32_to_f32_imm32:          146  ->  3.39932739734650e-08
+s32_to_f32_imm1:           146  ->  7.30000000000000e+01
+s32_to_f32_imm32:          147  ->  3.42261046171188e-08
+s32_to_f32_imm1:           147  ->  7.35000000000000e+01
+s32_to_f32_imm32:          148  ->  3.44589352607727e-08
+s32_to_f32_imm1:           148  ->  7.40000000000000e+01
+s32_to_f32_imm32:          149  ->  3.46917659044266e-08
+s32_to_f32_imm1:           149  ->  7.45000000000000e+01
+s32_to_f32_imm32:          150  ->  3.49245965480804e-08
+s32_to_f32_imm1:           150  ->  7.50000000000000e+01
+s32_to_f32_imm32:          151  ->  3.51574271917343e-08
+s32_to_f32_imm1:           151  ->  7.55000000000000e+01
+s32_to_f32_imm32:          152  ->  3.53902578353882e-08
+s32_to_f32_imm1:           152  ->  7.60000000000000e+01
+s32_to_f32_imm32:          153  ->  3.56230884790421e-08
+s32_to_f32_imm1:           153  ->  7.65000000000000e+01
+s32_to_f32_imm32:          154  ->  3.58559191226959e-08
+s32_to_f32_imm1:           154  ->  7.70000000000000e+01
+s32_to_f32_imm32:          155  ->  3.60887497663498e-08
+s32_to_f32_imm1:           155  ->  7.75000000000000e+01
+s32_to_f32_imm32:          156  ->  3.63215804100037e-08
+s32_to_f32_imm1:           156  ->  7.80000000000000e+01
+s32_to_f32_imm32:          157  ->  3.65544110536575e-08
+s32_to_f32_imm1:           157  ->  7.85000000000000e+01
+s32_to_f32_imm32:          158  ->  3.67872416973114e-08
+s32_to_f32_imm1:           158  ->  7.90000000000000e+01
+s32_to_f32_imm32:          159  ->  3.70200723409653e-08
+s32_to_f32_imm1:           159  ->  7.95000000000000e+01
+s32_to_f32_imm32:          160  ->  3.72529029846191e-08
+s32_to_f32_imm1:           160  ->  8.00000000000000e+01
+s32_to_f32_imm32:          161  ->  3.74857336282730e-08
+s32_to_f32_imm1:           161  ->  8.05000000000000e+01
+s32_to_f32_imm32:          162  ->  3.77185642719269e-08
+s32_to_f32_imm1:           162  ->  8.10000000000000e+01
+s32_to_f32_imm32:          163  ->  3.79513949155807e-08
+s32_to_f32_imm1:           163  ->  8.15000000000000e+01
+s32_to_f32_imm32:          164  ->  3.81842255592346e-08
+s32_to_f32_imm1:           164  ->  8.20000000000000e+01
+s32_to_f32_imm32:          165  ->  3.84170562028885e-08
+s32_to_f32_imm1:           165  ->  8.25000000000000e+01
+s32_to_f32_imm32:          166  ->  3.86498868465424e-08
+s32_to_f32_imm1:           166  ->  8.30000000000000e+01
+s32_to_f32_imm32:          167  ->  3.88827174901962e-08
+s32_to_f32_imm1:           167  ->  8.35000000000000e+01
+s32_to_f32_imm32:          168  ->  3.91155481338501e-08
+s32_to_f32_imm1:           168  ->  8.40000000000000e+01
+s32_to_f32_imm32:          169  ->  3.93483787775040e-08
+s32_to_f32_imm1:           169  ->  8.45000000000000e+01
+s32_to_f32_imm32:          170  ->  3.95812094211578e-08
+s32_to_f32_imm1:           170  ->  8.50000000000000e+01
+s32_to_f32_imm32:          171  ->  3.98140400648117e-08
+s32_to_f32_imm1:           171  ->  8.55000000000000e+01
+s32_to_f32_imm32:          172  ->  4.00468707084656e-08
+s32_to_f32_imm1:           172  ->  8.60000000000000e+01
+s32_to_f32_imm32:          173  ->  4.02797013521194e-08
+s32_to_f32_imm1:           173  ->  8.65000000000000e+01
+s32_to_f32_imm32:          174  ->  4.05125319957733e-08
+s32_to_f32_imm1:           174  ->  8.70000000000000e+01
+s32_to_f32_imm32:          175  ->  4.07453626394272e-08
+s32_to_f32_imm1:           175  ->  8.75000000000000e+01
+s32_to_f32_imm32:          176  ->  4.09781932830811e-08
+s32_to_f32_imm1:           176  ->  8.80000000000000e+01
+s32_to_f32_imm32:          177  ->  4.12110239267349e-08
+s32_to_f32_imm1:           177  ->  8.85000000000000e+01
+s32_to_f32_imm32:          178  ->  4.14438545703888e-08
+s32_to_f32_imm1:           178  ->  8.90000000000000e+01
+s32_to_f32_imm32:          179  ->  4.16766852140427e-08
+s32_to_f32_imm1:           179  ->  8.95000000000000e+01
+s32_to_f32_imm32:          180  ->  4.19095158576965e-08
+s32_to_f32_imm1:           180  ->  9.00000000000000e+01
+s32_to_f32_imm32:          181  ->  4.21423465013504e-08
+s32_to_f32_imm1:           181  ->  9.05000000000000e+01
+s32_to_f32_imm32:          182  ->  4.23751771450043e-08
+s32_to_f32_imm1:           182  ->  9.10000000000000e+01
+s32_to_f32_imm32:          183  ->  4.26080077886581e-08
+s32_to_f32_imm1:           183  ->  9.15000000000000e+01
+s32_to_f32_imm32:          184  ->  4.28408384323120e-08
+s32_to_f32_imm1:           184  ->  9.20000000000000e+01
+s32_to_f32_imm32:          185  ->  4.30736690759659e-08
+s32_to_f32_imm1:           185  ->  9.25000000000000e+01
+s32_to_f32_imm32:          186  ->  4.33064997196198e-08
+s32_to_f32_imm1:           186  ->  9.30000000000000e+01
+s32_to_f32_imm32:          187  ->  4.35393303632736e-08
+s32_to_f32_imm1:           187  ->  9.35000000000000e+01
+s32_to_f32_imm32:          188  ->  4.37721610069275e-08
+s32_to_f32_imm1:           188  ->  9.40000000000000e+01
+s32_to_f32_imm32:          189  ->  4.40049916505814e-08
+s32_to_f32_imm1:           189  ->  9.45000000000000e+01
+s32_to_f32_imm32:          190  ->  4.42378222942352e-08
+s32_to_f32_imm1:           190  ->  9.50000000000000e+01
+s32_to_f32_imm32:          191  ->  4.44706529378891e-08
+s32_to_f32_imm1:           191  ->  9.55000000000000e+01
+s32_to_f32_imm32:          192  ->  4.47034835815430e-08
+s32_to_f32_imm1:           192  ->  9.60000000000000e+01
+s32_to_f32_imm32:          193  ->  4.49363142251968e-08
+s32_to_f32_imm1:           193  ->  9.65000000000000e+01
+s32_to_f32_imm32:          194  ->  4.51691448688507e-08
+s32_to_f32_imm1:           194  ->  9.70000000000000e+01
+s32_to_f32_imm32:          195  ->  4.54019755125046e-08
+s32_to_f32_imm1:           195  ->  9.75000000000000e+01
+s32_to_f32_imm32:          196  ->  4.56348061561584e-08
+s32_to_f32_imm1:           196  ->  9.80000000000000e+01
+s32_to_f32_imm32:          197  ->  4.58676367998123e-08
+s32_to_f32_imm1:           197  ->  9.85000000000000e+01
+s32_to_f32_imm32:          198  ->  4.61004674434662e-08
+s32_to_f32_imm1:           198  ->  9.90000000000000e+01
+s32_to_f32_imm32:          199  ->  4.63332980871201e-08
+s32_to_f32_imm1:           199  ->  9.95000000000000e+01
+s32_to_f32_imm32:   2147483646  ->  5.00000000000000e-01
+s32_to_f32_imm1:    2147483646  ->  1.07374182400000e+09
+s32_to_f32_imm32:   2147483647  ->  5.00000000000000e-01
+s32_to_f32_imm1:    2147483647  ->  1.07374182400000e+09
+s32_to_f32_imm32:  -2147483648  ->  -5.00000000000000e-01
+s32_to_f32_imm1:   -2147483648  ->  -1.07374182400000e+09
+s32_to_f32_imm32:  -2147483647  ->  -5.00000000000000e-01
+s32_to_f32_imm1:   -2147483647  ->  -1.07374182400000e+09
+s32_to_f32_imm32:           -2  ->  -4.65661287307739e-10
+s32_to_f32_imm1:            -2  ->  -1.00000000000000e+00
+s32_to_f32_imm32:           -1  ->  -2.32830643653870e-10
+s32_to_f32_imm1:            -1  ->  -5.00000000000000e-01
+
+u32_to_f32_imm32:            0  ->  0.00000000000000e+00
+u32_to_f32_imm1:             0  ->  0.00000000000000e+00
+u32_to_f32_imm32:            1  ->  2.32830643653870e-10
+u32_to_f32_imm1:             1  ->  5.00000000000000e-01
+u32_to_f32_imm32:          100  ->  2.32830643653870e-08
+u32_to_f32_imm1:           100  ->  5.00000000000000e+01
+u32_to_f32_imm32:          101  ->  2.35158950090408e-08
+u32_to_f32_imm1:           101  ->  5.05000000000000e+01
+u32_to_f32_imm32:          102  ->  2.37487256526947e-08
+u32_to_f32_imm1:           102  ->  5.10000000000000e+01
+u32_to_f32_imm32:          103  ->  2.39815562963486e-08
+u32_to_f32_imm1:           103  ->  5.15000000000000e+01
+u32_to_f32_imm32:          104  ->  2.42143869400024e-08
+u32_to_f32_imm1:           104  ->  5.20000000000000e+01
+u32_to_f32_imm32:          105  ->  2.44472175836563e-08
+u32_to_f32_imm1:           105  ->  5.25000000000000e+01
+u32_to_f32_imm32:          106  ->  2.46800482273102e-08
+u32_to_f32_imm1:           106  ->  5.30000000000000e+01
+u32_to_f32_imm32:          107  ->  2.49128788709641e-08
+u32_to_f32_imm1:           107  ->  5.35000000000000e+01
+u32_to_f32_imm32:          108  ->  2.51457095146179e-08
+u32_to_f32_imm1:           108  ->  5.40000000000000e+01
+u32_to_f32_imm32:          109  ->  2.53785401582718e-08
+u32_to_f32_imm1:           109  ->  5.45000000000000e+01
+u32_to_f32_imm32:          110  ->  2.56113708019257e-08
+u32_to_f32_imm1:           110  ->  5.50000000000000e+01
+u32_to_f32_imm32:          111  ->  2.58442014455795e-08
+u32_to_f32_imm1:           111  ->  5.55000000000000e+01
+u32_to_f32_imm32:          112  ->  2.60770320892334e-08
+u32_to_f32_imm1:           112  ->  5.60000000000000e+01
+u32_to_f32_imm32:          113  ->  2.63098627328873e-08
+u32_to_f32_imm1:           113  ->  5.65000000000000e+01
+u32_to_f32_imm32:          114  ->  2.65426933765411e-08
+u32_to_f32_imm1:           114  ->  5.70000000000000e+01
+u32_to_f32_imm32:          115  ->  2.67755240201950e-08
+u32_to_f32_imm1:           115  ->  5.75000000000000e+01
+u32_to_f32_imm32:          116  ->  2.70083546638489e-08
+u32_to_f32_imm1:           116  ->  5.80000000000000e+01
+u32_to_f32_imm32:          117  ->  2.72411853075027e-08
+u32_to_f32_imm1:           117  ->  5.85000000000000e+01
+u32_to_f32_imm32:          118  ->  2.74740159511566e-08
+u32_to_f32_imm1:           118  ->  5.90000000000000e+01
+u32_to_f32_imm32:          119  ->  2.77068465948105e-08
+u32_to_f32_imm1:           119  ->  5.95000000000000e+01
+u32_to_f32_imm32:          120  ->  2.79396772384644e-08
+u32_to_f32_imm1:           120  ->  6.00000000000000e+01
+u32_to_f32_imm32:          121  ->  2.81725078821182e-08
+u32_to_f32_imm1:           121  ->  6.05000000000000e+01
+u32_to_f32_imm32:          122  ->  2.84053385257721e-08
+u32_to_f32_imm1:           122  ->  6.10000000000000e+01
+u32_to_f32_imm32:          123  ->  2.86381691694260e-08
+u32_to_f32_imm1:           123  ->  6.15000000000000e+01
+u32_to_f32_imm32:          124  ->  2.88709998130798e-08
+u32_to_f32_imm1:           124  ->  6.20000000000000e+01
+u32_to_f32_imm32:          125  ->  2.91038304567337e-08
+u32_to_f32_imm1:           125  ->  6.25000000000000e+01
+u32_to_f32_imm32:          126  ->  2.93366611003876e-08
+u32_to_f32_imm1:           126  ->  6.30000000000000e+01
+u32_to_f32_imm32:          127  ->  2.95694917440414e-08
+u32_to_f32_imm1:           127  ->  6.35000000000000e+01
+u32_to_f32_imm32:          128  ->  2.98023223876953e-08
+u32_to_f32_imm1:           128  ->  6.40000000000000e+01
+u32_to_f32_imm32:          129  ->  3.00351530313492e-08
+u32_to_f32_imm1:           129  ->  6.45000000000000e+01
+u32_to_f32_imm32:          130  ->  3.02679836750031e-08
+u32_to_f32_imm1:           130  ->  6.50000000000000e+01
+u32_to_f32_imm32:          131  ->  3.05008143186569e-08
+u32_to_f32_imm1:           131  ->  6.55000000000000e+01
+u32_to_f32_imm32:          132  ->  3.07336449623108e-08
+u32_to_f32_imm1:           132  ->  6.60000000000000e+01
+u32_to_f32_imm32:          133  ->  3.09664756059647e-08
+u32_to_f32_imm1:           133  ->  6.65000000000000e+01
+u32_to_f32_imm32:          134  ->  3.11993062496185e-08
+u32_to_f32_imm1:           134  ->  6.70000000000000e+01
+u32_to_f32_imm32:          135  ->  3.14321368932724e-08
+u32_to_f32_imm1:           135  ->  6.75000000000000e+01
+u32_to_f32_imm32:          136  ->  3.16649675369263e-08
+u32_to_f32_imm1:           136  ->  6.80000000000000e+01
+u32_to_f32_imm32:          137  ->  3.18977981805801e-08
+u32_to_f32_imm1:           137  ->  6.85000000000000e+01
+u32_to_f32_imm32:          138  ->  3.21306288242340e-08
+u32_to_f32_imm1:           138  ->  6.90000000000000e+01
+u32_to_f32_imm32:          139  ->  3.23634594678879e-08
+u32_to_f32_imm1:           139  ->  6.95000000000000e+01
+u32_to_f32_imm32:          140  ->  3.25962901115417e-08
+u32_to_f32_imm1:           140  ->  7.00000000000000e+01
+u32_to_f32_imm32:          141  ->  3.28291207551956e-08
+u32_to_f32_imm1:           141  ->  7.05000000000000e+01
+u32_to_f32_imm32:          142  ->  3.30619513988495e-08
+u32_to_f32_imm1:           142  ->  7.10000000000000e+01
+u32_to_f32_imm32:          143  ->  3.32947820425034e-08
+u32_to_f32_imm1:           143  ->  7.15000000000000e+01
+u32_to_f32_imm32:          144  ->  3.35276126861572e-08
+u32_to_f32_imm1:           144  ->  7.20000000000000e+01
+u32_to_f32_imm32:          145  ->  3.37604433298111e-08
+u32_to_f32_imm1:           145  ->  7.25000000000000e+01
+u32_to_f32_imm32:          146  ->  3.39932739734650e-08
+u32_to_f32_imm1:           146  ->  7.30000000000000e+01
+u32_to_f32_imm32:          147  ->  3.42261046171188e-08
+u32_to_f32_imm1:           147  ->  7.35000000000000e+01
+u32_to_f32_imm32:          148  ->  3.44589352607727e-08
+u32_to_f32_imm1:           148  ->  7.40000000000000e+01
+u32_to_f32_imm32:          149  ->  3.46917659044266e-08
+u32_to_f32_imm1:           149  ->  7.45000000000000e+01
+u32_to_f32_imm32:          150  ->  3.49245965480804e-08
+u32_to_f32_imm1:           150  ->  7.50000000000000e+01
+u32_to_f32_imm32:          151  ->  3.51574271917343e-08
+u32_to_f32_imm1:           151  ->  7.55000000000000e+01
+u32_to_f32_imm32:          152  ->  3.53902578353882e-08
+u32_to_f32_imm1:           152  ->  7.60000000000000e+01
+u32_to_f32_imm32:          153  ->  3.56230884790421e-08
+u32_to_f32_imm1:           153  ->  7.65000000000000e+01
+u32_to_f32_imm32:          154  ->  3.58559191226959e-08
+u32_to_f32_imm1:           154  ->  7.70000000000000e+01
+u32_to_f32_imm32:          155  ->  3.60887497663498e-08
+u32_to_f32_imm1:           155  ->  7.75000000000000e+01
+u32_to_f32_imm32:          156  ->  3.63215804100037e-08
+u32_to_f32_imm1:           156  ->  7.80000000000000e+01
+u32_to_f32_imm32:          157  ->  3.65544110536575e-08
+u32_to_f32_imm1:           157  ->  7.85000000000000e+01
+u32_to_f32_imm32:          158  ->  3.67872416973114e-08
+u32_to_f32_imm1:           158  ->  7.90000000000000e+01
+u32_to_f32_imm32:          159  ->  3.70200723409653e-08
+u32_to_f32_imm1:           159  ->  7.95000000000000e+01
+u32_to_f32_imm32:          160  ->  3.72529029846191e-08
+u32_to_f32_imm1:           160  ->  8.00000000000000e+01
+u32_to_f32_imm32:          161  ->  3.74857336282730e-08
+u32_to_f32_imm1:           161  ->  8.05000000000000e+01
+u32_to_f32_imm32:          162  ->  3.77185642719269e-08
+u32_to_f32_imm1:           162  ->  8.10000000000000e+01
+u32_to_f32_imm32:          163  ->  3.79513949155807e-08
+u32_to_f32_imm1:           163  ->  8.15000000000000e+01
+u32_to_f32_imm32:          164  ->  3.81842255592346e-08
+u32_to_f32_imm1:           164  ->  8.20000000000000e+01
+u32_to_f32_imm32:          165  ->  3.84170562028885e-08
+u32_to_f32_imm1:           165  ->  8.25000000000000e+01
+u32_to_f32_imm32:          166  ->  3.86498868465424e-08
+u32_to_f32_imm1:           166  ->  8.30000000000000e+01
+u32_to_f32_imm32:          167  ->  3.88827174901962e-08
+u32_to_f32_imm1:           167  ->  8.35000000000000e+01
+u32_to_f32_imm32:          168  ->  3.91155481338501e-08
+u32_to_f32_imm1:           168  ->  8.40000000000000e+01
+u32_to_f32_imm32:          169  ->  3.93483787775040e-08
+u32_to_f32_imm1:           169  ->  8.45000000000000e+01
+u32_to_f32_imm32:          170  ->  3.95812094211578e-08
+u32_to_f32_imm1:           170  ->  8.50000000000000e+01
+u32_to_f32_imm32:          171  ->  3.98140400648117e-08
+u32_to_f32_imm1:           171  ->  8.55000000000000e+01
+u32_to_f32_imm32:          172  ->  4.00468707084656e-08
+u32_to_f32_imm1:           172  ->  8.60000000000000e+01
+u32_to_f32_imm32:          173  ->  4.02797013521194e-08
+u32_to_f32_imm1:           173  ->  8.65000000000000e+01
+u32_to_f32_imm32:          174  ->  4.05125319957733e-08
+u32_to_f32_imm1:           174  ->  8.70000000000000e+01
+u32_to_f32_imm32:          175  ->  4.07453626394272e-08
+u32_to_f32_imm1:           175  ->  8.75000000000000e+01
+u32_to_f32_imm32:          176  ->  4.09781932830811e-08
+u32_to_f32_imm1:           176  ->  8.80000000000000e+01
+u32_to_f32_imm32:          177  ->  4.12110239267349e-08
+u32_to_f32_imm1:           177  ->  8.85000000000000e+01
+u32_to_f32_imm32:          178  ->  4.14438545703888e-08
+u32_to_f32_imm1:           178  ->  8.90000000000000e+01
+u32_to_f32_imm32:          179  ->  4.16766852140427e-08
+u32_to_f32_imm1:           179  ->  8.95000000000000e+01
+u32_to_f32_imm32:          180  ->  4.19095158576965e-08
+u32_to_f32_imm1:           180  ->  9.00000000000000e+01
+u32_to_f32_imm32:          181  ->  4.21423465013504e-08
+u32_to_f32_imm1:           181  ->  9.05000000000000e+01
+u32_to_f32_imm32:          182  ->  4.23751771450043e-08
+u32_to_f32_imm1:           182  ->  9.10000000000000e+01
+u32_to_f32_imm32:          183  ->  4.26080077886581e-08
+u32_to_f32_imm1:           183  ->  9.15000000000000e+01
+u32_to_f32_imm32:          184  ->  4.28408384323120e-08
+u32_to_f32_imm1:           184  ->  9.20000000000000e+01
+u32_to_f32_imm32:          185  ->  4.30736690759659e-08
+u32_to_f32_imm1:           185  ->  9.25000000000000e+01
+u32_to_f32_imm32:          186  ->  4.33064997196198e-08
+u32_to_f32_imm1:           186  ->  9.30000000000000e+01
+u32_to_f32_imm32:          187  ->  4.35393303632736e-08
+u32_to_f32_imm1:           187  ->  9.35000000000000e+01
+u32_to_f32_imm32:          188  ->  4.37721610069275e-08
+u32_to_f32_imm1:           188  ->  9.40000000000000e+01
+u32_to_f32_imm32:          189  ->  4.40049916505814e-08
+u32_to_f32_imm1:           189  ->  9.45000000000000e+01
+u32_to_f32_imm32:          190  ->  4.42378222942352e-08
+u32_to_f32_imm1:           190  ->  9.50000000000000e+01
+u32_to_f32_imm32:          191  ->  4.44706529378891e-08
+u32_to_f32_imm1:           191  ->  9.55000000000000e+01
+u32_to_f32_imm32:          192  ->  4.47034835815430e-08
+u32_to_f32_imm1:           192  ->  9.60000000000000e+01
+u32_to_f32_imm32:          193  ->  4.49363142251968e-08
+u32_to_f32_imm1:           193  ->  9.65000000000000e+01
+u32_to_f32_imm32:          194  ->  4.51691448688507e-08
+u32_to_f32_imm1:           194  ->  9.70000000000000e+01
+u32_to_f32_imm32:          195  ->  4.54019755125046e-08
+u32_to_f32_imm1:           195  ->  9.75000000000000e+01
+u32_to_f32_imm32:          196  ->  4.56348061561584e-08
+u32_to_f32_imm1:           196  ->  9.80000000000000e+01
+u32_to_f32_imm32:          197  ->  4.58676367998123e-08
+u32_to_f32_imm1:           197  ->  9.85000000000000e+01
+u32_to_f32_imm32:          198  ->  4.61004674434662e-08
+u32_to_f32_imm1:           198  ->  9.90000000000000e+01
+u32_to_f32_imm32:          199  ->  4.63332980871201e-08
+u32_to_f32_imm1:           199  ->  9.95000000000000e+01
+u32_to_f32_imm32:   2147483646  ->  5.00000000000000e-01
+u32_to_f32_imm1:    2147483646  ->  1.07374182400000e+09
+u32_to_f32_imm32:   2147483647  ->  5.00000000000000e-01
+u32_to_f32_imm1:    2147483647  ->  1.07374182400000e+09
+u32_to_f32_imm32:   2147483648  ->  5.00000000000000e-01
+u32_to_f32_imm1:    2147483648  ->  1.07374182400000e+09
+u32_to_f32_imm32:   2147483649  ->  5.00000000000000e-01
+u32_to_f32_imm1:    2147483649  ->  1.07374182400000e+09
+u32_to_f32_imm32:   4294967294  ->  1.00000000000000e+00
+u32_to_f32_imm1:    4294967294  ->  2.14748364800000e+09
+u32_to_f32_imm32:   4294967295  ->  1.00000000000000e+00
+u32_to_f32_imm1:    4294967295  ->  2.14748364800000e+09
+
+s32_to_f64_imm32:            0  ->  0.00000000000000e+00
+s32_to_f64_imm1:             0  ->  7.15827882500000e+08
+s32_to_f64_imm32:            1  ->  2.32830643653870e-10
+s32_to_f64_imm1:             1  ->  7.15827882500000e+08
+s32_to_f64_imm32:          100  ->  2.32830643653870e-08
+s32_to_f64_imm1:           100  ->  7.15827882500000e+08
+s32_to_f64_imm32:          101  ->  2.35158950090408e-08
+s32_to_f64_imm1:           101  ->  7.15827882500000e+08
+s32_to_f64_imm32:          102  ->  2.37487256526947e-08
+s32_to_f64_imm1:           102  ->  7.15827882500000e+08
+s32_to_f64_imm32:          103  ->  2.39815562963486e-08
+s32_to_f64_imm1:           103  ->  7.15827882500000e+08
+s32_to_f64_imm32:          104  ->  2.42143869400024e-08
+s32_to_f64_imm1:           104  ->  7.15827882500000e+08
+s32_to_f64_imm32:          105  ->  2.44472175836563e-08
+s32_to_f64_imm1:           105  ->  7.15827882500000e+08
+s32_to_f64_imm32:          106  ->  2.46800482273102e-08
+s32_to_f64_imm1:           106  ->  7.15827882500000e+08
+s32_to_f64_imm32:          107  ->  2.49128788709641e-08
+s32_to_f64_imm1:           107  ->  7.15827882500000e+08
+s32_to_f64_imm32:          108  ->  2.51457095146179e-08
+s32_to_f64_imm1:           108  ->  7.15827882500000e+08
+s32_to_f64_imm32:          109  ->  2.53785401582718e-08
+s32_to_f64_imm1:           109  ->  7.15827882500000e+08
+s32_to_f64_imm32:          110  ->  2.56113708019257e-08
+s32_to_f64_imm1:           110  ->  7.15827882500000e+08
+s32_to_f64_imm32:          111  ->  2.58442014455795e-08
+s32_to_f64_imm1:           111  ->  7.15827882500000e+08
+s32_to_f64_imm32:          112  ->  2.60770320892334e-08
+s32_to_f64_imm1:           112  ->  7.15827882500000e+08
+s32_to_f64_imm32:          113  ->  2.63098627328873e-08
+s32_to_f64_imm1:           113  ->  7.15827882500000e+08
+s32_to_f64_imm32:          114  ->  2.65426933765411e-08
+s32_to_f64_imm1:           114  ->  7.15827882500000e+08
+s32_to_f64_imm32:          115  ->  2.67755240201950e-08
+s32_to_f64_imm1:           115  ->  7.15827882500000e+08
+s32_to_f64_imm32:          116  ->  2.70083546638489e-08
+s32_to_f64_imm1:           116  ->  7.15827882500000e+08
+s32_to_f64_imm32:          117  ->  2.72411853075027e-08
+s32_to_f64_imm1:           117  ->  7.15827882500000e+08
+s32_to_f64_imm32:          118  ->  2.74740159511566e-08
+s32_to_f64_imm1:           118  ->  7.15827882500000e+08
+s32_to_f64_imm32:          119  ->  2.77068465948105e-08
+s32_to_f64_imm1:           119  ->  7.15827882500000e+08
+s32_to_f64_imm32:          120  ->  2.79396772384644e-08
+s32_to_f64_imm1:           120  ->  7.15827882500000e+08
+s32_to_f64_imm32:          121  ->  2.81725078821182e-08
+s32_to_f64_imm1:           121  ->  7.15827882500000e+08
+s32_to_f64_imm32:          122  ->  2.84053385257721e-08
+s32_to_f64_imm1:           122  ->  7.15827882500000e+08
+s32_to_f64_imm32:          123  ->  2.86381691694260e-08
+s32_to_f64_imm1:           123  ->  7.15827882500000e+08
+s32_to_f64_imm32:          124  ->  2.88709998130798e-08
+s32_to_f64_imm1:           124  ->  7.15827882500000e+08
+s32_to_f64_imm32:          125  ->  2.91038304567337e-08
+s32_to_f64_imm1:           125  ->  7.15827882500000e+08
+s32_to_f64_imm32:          126  ->  2.93366611003876e-08
+s32_to_f64_imm1:           126  ->  7.15827882500000e+08
+s32_to_f64_imm32:          127  ->  2.95694917440414e-08
+s32_to_f64_imm1:           127  ->  7.15827882500000e+08
+s32_to_f64_imm32:          128  ->  2.98023223876953e-08
+s32_to_f64_imm1:           128  ->  7.15827882500000e+08
+s32_to_f64_imm32:          129  ->  3.00351530313492e-08
+s32_to_f64_imm1:           129  ->  7.15827882500000e+08
+s32_to_f64_imm32:          130  ->  3.02679836750031e-08
+s32_to_f64_imm1:           130  ->  7.15827882500000e+08
+s32_to_f64_imm32:          131  ->  3.05008143186569e-08
+s32_to_f64_imm1:           131  ->  7.15827882500000e+08
+s32_to_f64_imm32:          132  ->  3.07336449623108e-08
+s32_to_f64_imm1:           132  ->  7.15827882500000e+08
+s32_to_f64_imm32:          133  ->  3.09664756059647e-08
+s32_to_f64_imm1:           133  ->  7.15827882500000e+08
+s32_to_f64_imm32:          134  ->  3.11993062496185e-08
+s32_to_f64_imm1:           134  ->  7.15827882500000e+08
+s32_to_f64_imm32:          135  ->  3.14321368932724e-08
+s32_to_f64_imm1:           135  ->  7.15827882500000e+08
+s32_to_f64_imm32:          136  ->  3.16649675369263e-08
+s32_to_f64_imm1:           136  ->  7.15827882500000e+08
+s32_to_f64_imm32:          137  ->  3.18977981805801e-08
+s32_to_f64_imm1:           137  ->  7.15827882500000e+08
+s32_to_f64_imm32:          138  ->  3.21306288242340e-08
+s32_to_f64_imm1:           138  ->  7.15827882500000e+08
+s32_to_f64_imm32:          139  ->  3.23634594678879e-08
+s32_to_f64_imm1:           139  ->  7.15827882500000e+08
+s32_to_f64_imm32:          140  ->  3.25962901115417e-08
+s32_to_f64_imm1:           140  ->  7.15827882500000e+08
+s32_to_f64_imm32:          141  ->  3.28291207551956e-08
+s32_to_f64_imm1:           141  ->  7.15827882500000e+08
+s32_to_f64_imm32:          142  ->  3.30619513988495e-08
+s32_to_f64_imm1:           142  ->  7.15827882500000e+08
+s32_to_f64_imm32:          143  ->  3.32947820425034e-08
+s32_to_f64_imm1:           143  ->  7.15827882500000e+08
+s32_to_f64_imm32:          144  ->  3.35276126861572e-08
+s32_to_f64_imm1:           144  ->  7.15827882500000e+08
+s32_to_f64_imm32:          145  ->  3.37604433298111e-08
+s32_to_f64_imm1:           145  ->  7.15827882500000e+08
+s32_to_f64_imm32:          146  ->  3.39932739734650e-08
+s32_to_f64_imm1:           146  ->  7.15827882500000e+08
+s32_to_f64_imm32:          147  ->  3.42261046171188e-08
+s32_to_f64_imm1:           147  ->  7.15827882500000e+08
+s32_to_f64_imm32:          148  ->  3.44589352607727e-08
+s32_to_f64_imm1:           148  ->  7.15827882500000e+08
+s32_to_f64_imm32:          149  ->  3.46917659044266e-08
+s32_to_f64_imm1:           149  ->  7.15827882500000e+08
+s32_to_f64_imm32:          150  ->  3.49245965480804e-08
+s32_to_f64_imm1:           150  ->  7.15827882500000e+08
+s32_to_f64_imm32:          151  ->  3.51574271917343e-08
+s32_to_f64_imm1:           151  ->  7.15827882500000e+08
+s32_to_f64_imm32:          152  ->  3.53902578353882e-08
+s32_to_f64_imm1:           152  ->  7.15827882500000e+08
+s32_to_f64_imm32:          153  ->  3.56230884790421e-08
+s32_to_f64_imm1:           153  ->  7.15827882500000e+08
+s32_to_f64_imm32:          154  ->  3.58559191226959e-08
+s32_to_f64_imm1:           154  ->  7.15827882500000e+08
+s32_to_f64_imm32:          155  ->  3.60887497663498e-08
+s32_to_f64_imm1:           155  ->  7.15827882500000e+08
+s32_to_f64_imm32:          156  ->  3.63215804100037e-08
+s32_to_f64_imm1:           156  ->  7.15827882500000e+08
+s32_to_f64_imm32:          157  ->  3.65544110536575e-08
+s32_to_f64_imm1:           157  ->  7.15827882500000e+08
+s32_to_f64_imm32:          158  ->  3.67872416973114e-08
+s32_to_f64_imm1:           158  ->  7.15827882500000e+08
+s32_to_f64_imm32:          159  ->  3.70200723409653e-08
+s32_to_f64_imm1:           159  ->  7.15827882500000e+08
+s32_to_f64_imm32:          160  ->  3.72529029846191e-08
+s32_to_f64_imm1:           160  ->  7.15827882500000e+08
+s32_to_f64_imm32:          161  ->  3.74857336282730e-08
+s32_to_f64_imm1:           161  ->  7.15827882500000e+08
+s32_to_f64_imm32:          162  ->  3.77185642719269e-08
+s32_to_f64_imm1:           162  ->  7.15827882500000e+08
+s32_to_f64_imm32:          163  ->  3.79513949155807e-08
+s32_to_f64_imm1:           163  ->  7.15827882500000e+08
+s32_to_f64_imm32:          164  ->  3.81842255592346e-08
+s32_to_f64_imm1:           164  ->  7.15827882500000e+08
+s32_to_f64_imm32:          165  ->  3.84170562028885e-08
+s32_to_f64_imm1:           165  ->  7.15827882500000e+08
+s32_to_f64_imm32:          166  ->  3.86498868465424e-08
+s32_to_f64_imm1:           166  ->  7.15827882500000e+08
+s32_to_f64_imm32:          167  ->  3.88827174901962e-08
+s32_to_f64_imm1:           167  ->  7.15827882500000e+08
+s32_to_f64_imm32:          168  ->  3.91155481338501e-08
+s32_to_f64_imm1:           168  ->  7.15827882500000e+08
+s32_to_f64_imm32:          169  ->  3.93483787775040e-08
+s32_to_f64_imm1:           169  ->  7.15827882500000e+08
+s32_to_f64_imm32:          170  ->  3.95812094211578e-08
+s32_to_f64_imm1:           170  ->  7.15827882500000e+08
+s32_to_f64_imm32:          171  ->  3.98140400648117e-08
+s32_to_f64_imm1:           171  ->  7.15827882500000e+08
+s32_to_f64_imm32:          172  ->  4.00468707084656e-08
+s32_to_f64_imm1:           172  ->  7.15827882500000e+08
+s32_to_f64_imm32:          173  ->  4.02797013521194e-08
+s32_to_f64_imm1:           173  ->  7.15827882500000e+08
+s32_to_f64_imm32:          174  ->  4.05125319957733e-08
+s32_to_f64_imm1:           174  ->  7.15827882500000e+08
+s32_to_f64_imm32:          175  ->  4.07453626394272e-08
+s32_to_f64_imm1:           175  ->  7.15827882500000e+08
+s32_to_f64_imm32:          176  ->  4.09781932830811e-08
+s32_to_f64_imm1:           176  ->  7.15827882500000e+08
+s32_to_f64_imm32:          177  ->  4.12110239267349e-08
+s32_to_f64_imm1:           177  ->  7.15827882500000e+08
+s32_to_f64_imm32:          178  ->  4.14438545703888e-08
+s32_to_f64_imm1:           178  ->  7.15827882500000e+08
+s32_to_f64_imm32:          179  ->  4.16766852140427e-08
+s32_to_f64_imm1:           179  ->  7.15827882500000e+08
+s32_to_f64_imm32:          180  ->  4.19095158576965e-08
+s32_to_f64_imm1:           180  ->  7.15827882500000e+08
+s32_to_f64_imm32:          181  ->  4.21423465013504e-08
+s32_to_f64_imm1:           181  ->  7.15827882500000e+08
+s32_to_f64_imm32:          182  ->  4.23751771450043e-08
+s32_to_f64_imm1:           182  ->  7.15827882500000e+08
+s32_to_f64_imm32:          183  ->  4.26080077886581e-08
+s32_to_f64_imm1:           183  ->  7.15827882500000e+08
+s32_to_f64_imm32:          184  ->  4.28408384323120e-08
+s32_to_f64_imm1:           184  ->  7.15827882500000e+08
+s32_to_f64_imm32:          185  ->  4.30736690759659e-08
+s32_to_f64_imm1:           185  ->  7.15827882500000e+08
+s32_to_f64_imm32:          186  ->  4.33064997196198e-08
+s32_to_f64_imm1:           186  ->  7.15827882500000e+08
+s32_to_f64_imm32:          187  ->  4.35393303632736e-08
+s32_to_f64_imm1:           187  ->  7.15827882500000e+08
+s32_to_f64_imm32:          188  ->  4.37721610069275e-08
+s32_to_f64_imm1:           188  ->  7.15827882500000e+08
+s32_to_f64_imm32:          189  ->  4.40049916505814e-08
+s32_to_f64_imm1:           189  ->  7.15827882500000e+08
+s32_to_f64_imm32:          190  ->  4.42378222942352e-08
+s32_to_f64_imm1:           190  ->  7.15827882500000e+08
+s32_to_f64_imm32:          191  ->  4.44706529378891e-08
+s32_to_f64_imm1:           191  ->  7.15827882500000e+08
+s32_to_f64_imm32:          192  ->  4.47034835815430e-08
+s32_to_f64_imm1:           192  ->  7.15827882500000e+08
+s32_to_f64_imm32:          193  ->  4.49363142251968e-08
+s32_to_f64_imm1:           193  ->  7.15827882500000e+08
+s32_to_f64_imm32:          194  ->  4.51691448688507e-08
+s32_to_f64_imm1:           194  ->  7.15827882500000e+08
+s32_to_f64_imm32:          195  ->  4.54019755125046e-08
+s32_to_f64_imm1:           195  ->  7.15827882500000e+08
+s32_to_f64_imm32:          196  ->  4.56348061561584e-08
+s32_to_f64_imm1:           196  ->  7.15827882500000e+08
+s32_to_f64_imm32:          197  ->  4.58676367998123e-08
+s32_to_f64_imm1:           197  ->  7.15827882500000e+08
+s32_to_f64_imm32:          198  ->  4.61004674434662e-08
+s32_to_f64_imm1:           198  ->  7.15827882500000e+08
+s32_to_f64_imm32:          199  ->  4.63332980871201e-08
+s32_to_f64_imm1:           199  ->  7.15827882500000e+08
+s32_to_f64_imm32:   2147483646  ->  4.99999999534339e-01
+s32_to_f64_imm1:    2147483646  ->  7.15827882500000e+08
+s32_to_f64_imm32:   2147483647  ->  4.99999999767169e-01
+s32_to_f64_imm1:    2147483647  ->  7.15827882500000e+08
+s32_to_f64_imm32:  -2147483648  ->  -5.00000000000000e-01
+s32_to_f64_imm1:   -2147483648  ->  7.15827882500000e+08
+s32_to_f64_imm32:  -2147483647  ->  -4.99999999767169e-01
+s32_to_f64_imm1:   -2147483647  ->  7.15827882500000e+08
+s32_to_f64_imm32:           -2  ->  -4.65661287307739e-10
+s32_to_f64_imm1:            -2  ->  7.15827882500000e+08
+s32_to_f64_imm32:           -1  ->  -2.32830643653870e-10
+s32_to_f64_imm1:            -1  ->  7.15827882500000e+08
+
+u32_to_f64_imm32:            0  ->  0.00000000000000e+00
+u32_to_f64_imm1:             0  ->  0.00000000000000e+00
+u32_to_f64_imm32:            1  ->  2.32830643653870e-10
+u32_to_f64_imm1:             1  ->  5.00000000000000e-01
+u32_to_f64_imm32:          100  ->  2.32830643653870e-08
+u32_to_f64_imm1:           100  ->  5.00000000000000e+01
+u32_to_f64_imm32:          101  ->  2.35158950090408e-08
+u32_to_f64_imm1:           101  ->  5.05000000000000e+01
+u32_to_f64_imm32:          102  ->  2.37487256526947e-08
+u32_to_f64_imm1:           102  ->  5.10000000000000e+01
+u32_to_f64_imm32:          103  ->  2.39815562963486e-08
+u32_to_f64_imm1:           103  ->  5.15000000000000e+01
+u32_to_f64_imm32:          104  ->  2.42143869400024e-08
+u32_to_f64_imm1:           104  ->  5.20000000000000e+01
+u32_to_f64_imm32:          105  ->  2.44472175836563e-08
+u32_to_f64_imm1:           105  ->  5.25000000000000e+01
+u32_to_f64_imm32:          106  ->  2.46800482273102e-08
+u32_to_f64_imm1:           106  ->  5.30000000000000e+01
+u32_to_f64_imm32:          107  ->  2.49128788709641e-08
+u32_to_f64_imm1:           107  ->  5.35000000000000e+01
+u32_to_f64_imm32:          108  ->  2.51457095146179e-08
+u32_to_f64_imm1:           108  ->  5.40000000000000e+01
+u32_to_f64_imm32:          109  ->  2.53785401582718e-08
+u32_to_f64_imm1:           109  ->  5.45000000000000e+01
+u32_to_f64_imm32:          110  ->  2.56113708019257e-08
+u32_to_f64_imm1:           110  ->  5.50000000000000e+01
+u32_to_f64_imm32:          111  ->  2.58442014455795e-08
+u32_to_f64_imm1:           111  ->  5.55000000000000e+01
+u32_to_f64_imm32:          112  ->  2.60770320892334e-08
+u32_to_f64_imm1:           112  ->  5.60000000000000e+01
+u32_to_f64_imm32:          113  ->  2.63098627328873e-08
+u32_to_f64_imm1:           113  ->  5.65000000000000e+01
+u32_to_f64_imm32:          114  ->  2.65426933765411e-08
+u32_to_f64_imm1:           114  ->  5.70000000000000e+01
+u32_to_f64_imm32:          115  ->  2.67755240201950e-08
+u32_to_f64_imm1:           115  ->  5.75000000000000e+01
+u32_to_f64_imm32:          116  ->  2.70083546638489e-08
+u32_to_f64_imm1:           116  ->  5.80000000000000e+01
+u32_to_f64_imm32:          117  ->  2.72411853075027e-08
+u32_to_f64_imm1:           117  ->  5.85000000000000e+01
+u32_to_f64_imm32:          118  ->  2.74740159511566e-08
+u32_to_f64_imm1:           118  ->  5.90000000000000e+01
+u32_to_f64_imm32:          119  ->  2.77068465948105e-08
+u32_to_f64_imm1:           119  ->  5.95000000000000e+01
+u32_to_f64_imm32:          120  ->  2.79396772384644e-08
+u32_to_f64_imm1:           120  ->  6.00000000000000e+01
+u32_to_f64_imm32:          121  ->  2.81725078821182e-08
+u32_to_f64_imm1:           121  ->  6.05000000000000e+01
+u32_to_f64_imm32:          122  ->  2.84053385257721e-08
+u32_to_f64_imm1:           122  ->  6.10000000000000e+01
+u32_to_f64_imm32:          123  ->  2.86381691694260e-08
+u32_to_f64_imm1:           123  ->  6.15000000000000e+01
+u32_to_f64_imm32:          124  ->  2.88709998130798e-08
+u32_to_f64_imm1:           124  ->  6.20000000000000e+01
+u32_to_f64_imm32:          125  ->  2.91038304567337e-08
+u32_to_f64_imm1:           125  ->  6.25000000000000e+01
+u32_to_f64_imm32:          126  ->  2.93366611003876e-08
+u32_to_f64_imm1:           126  ->  6.30000000000000e+01
+u32_to_f64_imm32:          127  ->  2.95694917440414e-08
+u32_to_f64_imm1:           127  ->  6.35000000000000e+01
+u32_to_f64_imm32:          128  ->  2.98023223876953e-08
+u32_to_f64_imm1:           128  ->  6.40000000000000e+01
+u32_to_f64_imm32:          129  ->  3.00351530313492e-08
+u32_to_f64_imm1:           129  ->  6.45000000000000e+01
+u32_to_f64_imm32:          130  ->  3.02679836750031e-08
+u32_to_f64_imm1:           130  ->  6.50000000000000e+01
+u32_to_f64_imm32:          131  ->  3.05008143186569e-08
+u32_to_f64_imm1:           131  ->  6.55000000000000e+01
+u32_to_f64_imm32:          132  ->  3.07336449623108e-08
+u32_to_f64_imm1:           132  ->  6.60000000000000e+01
+u32_to_f64_imm32:          133  ->  3.09664756059647e-08
+u32_to_f64_imm1:           133  ->  6.65000000000000e+01
+u32_to_f64_imm32:          134  ->  3.11993062496185e-08
+u32_to_f64_imm1:           134  ->  6.70000000000000e+01
+u32_to_f64_imm32:          135  ->  3.14321368932724e-08
+u32_to_f64_imm1:           135  ->  6.75000000000000e+01
+u32_to_f64_imm32:          136  ->  3.16649675369263e-08
+u32_to_f64_imm1:           136  ->  6.80000000000000e+01
+u32_to_f64_imm32:          137  ->  3.18977981805801e-08
+u32_to_f64_imm1:           137  ->  6.85000000000000e+01
+u32_to_f64_imm32:          138  ->  3.21306288242340e-08
+u32_to_f64_imm1:           138  ->  6.90000000000000e+01
+u32_to_f64_imm32:          139  ->  3.23634594678879e-08
+u32_to_f64_imm1:           139  ->  6.95000000000000e+01
+u32_to_f64_imm32:          140  ->  3.25962901115417e-08
+u32_to_f64_imm1:           140  ->  7.00000000000000e+01
+u32_to_f64_imm32:          141  ->  3.28291207551956e-08
+u32_to_f64_imm1:           141  ->  7.05000000000000e+01
+u32_to_f64_imm32:          142  ->  3.30619513988495e-08
+u32_to_f64_imm1:           142  ->  7.10000000000000e+01
+u32_to_f64_imm32:          143  ->  3.32947820425034e-08
+u32_to_f64_imm1:           143  ->  7.15000000000000e+01
+u32_to_f64_imm32:          144  ->  3.35276126861572e-08
+u32_to_f64_imm1:           144  ->  7.20000000000000e+01
+u32_to_f64_imm32:          145  ->  3.37604433298111e-08
+u32_to_f64_imm1:           145  ->  7.25000000000000e+01
+u32_to_f64_imm32:          146  ->  3.39932739734650e-08
+u32_to_f64_imm1:           146  ->  7.30000000000000e+01
+u32_to_f64_imm32:          147  ->  3.42261046171188e-08
+u32_to_f64_imm1:           147  ->  7.35000000000000e+01
+u32_to_f64_imm32:          148  ->  3.44589352607727e-08
+u32_to_f64_imm1:           148  ->  7.40000000000000e+01
+u32_to_f64_imm32:          149  ->  3.46917659044266e-08
+u32_to_f64_imm1:           149  ->  7.45000000000000e+01
+u32_to_f64_imm32:          150  ->  3.49245965480804e-08
+u32_to_f64_imm1:           150  ->  7.50000000000000e+01
+u32_to_f64_imm32:          151  ->  3.51574271917343e-08
+u32_to_f64_imm1:           151  ->  7.55000000000000e+01
+u32_to_f64_imm32:          152  ->  3.53902578353882e-08
+u32_to_f64_imm1:           152  ->  7.60000000000000e+01
+u32_to_f64_imm32:          153  ->  3.56230884790421e-08
+u32_to_f64_imm1:           153  ->  7.65000000000000e+01
+u32_to_f64_imm32:          154  ->  3.58559191226959e-08
+u32_to_f64_imm1:           154  ->  7.70000000000000e+01
+u32_to_f64_imm32:          155  ->  3.60887497663498e-08
+u32_to_f64_imm1:           155  ->  7.75000000000000e+01
+u32_to_f64_imm32:          156  ->  3.63215804100037e-08
+u32_to_f64_imm1:           156  ->  7.80000000000000e+01
+u32_to_f64_imm32:          157  ->  3.65544110536575e-08
+u32_to_f64_imm1:           157  ->  7.85000000000000e+01
+u32_to_f64_imm32:          158  ->  3.67872416973114e-08
+u32_to_f64_imm1:           158  ->  7.90000000000000e+01
+u32_to_f64_imm32:          159  ->  3.70200723409653e-08
+u32_to_f64_imm1:           159  ->  7.95000000000000e+01
+u32_to_f64_imm32:          160  ->  3.72529029846191e-08
+u32_to_f64_imm1:           160  ->  8.00000000000000e+01
+u32_to_f64_imm32:          161  ->  3.74857336282730e-08
+u32_to_f64_imm1:           161  ->  8.05000000000000e+01
+u32_to_f64_imm32:          162  ->  3.77185642719269e-08
+u32_to_f64_imm1:           162  ->  8.10000000000000e+01
+u32_to_f64_imm32:          163  ->  3.79513949155807e-08
+u32_to_f64_imm1:           163  ->  8.15000000000000e+01
+u32_to_f64_imm32:          164  ->  3.81842255592346e-08
+u32_to_f64_imm1:           164  ->  8.20000000000000e+01
+u32_to_f64_imm32:          165  ->  3.84170562028885e-08
+u32_to_f64_imm1:           165  ->  8.25000000000000e+01
+u32_to_f64_imm32:          166  ->  3.86498868465424e-08
+u32_to_f64_imm1:           166  ->  8.30000000000000e+01
+u32_to_f64_imm32:          167  ->  3.88827174901962e-08
+u32_to_f64_imm1:           167  ->  8.35000000000000e+01
+u32_to_f64_imm32:          168  ->  3.91155481338501e-08
+u32_to_f64_imm1:           168  ->  8.40000000000000e+01
+u32_to_f64_imm32:          169  ->  3.93483787775040e-08
+u32_to_f64_imm1:           169  ->  8.45000000000000e+01
+u32_to_f64_imm32:          170  ->  3.95812094211578e-08
+u32_to_f64_imm1:           170  ->  8.50000000000000e+01
+u32_to_f64_imm32:          171  ->  3.98140400648117e-08
+u32_to_f64_imm1:           171  ->  8.55000000000000e+01
+u32_to_f64_imm32:          172  ->  4.00468707084656e-08
+u32_to_f64_imm1:           172  ->  8.60000000000000e+01
+u32_to_f64_imm32:          173  ->  4.02797013521194e-08
+u32_to_f64_imm1:           173  ->  8.65000000000000e+01
+u32_to_f64_imm32:          174  ->  4.05125319957733e-08
+u32_to_f64_imm1:           174  ->  8.70000000000000e+01
+u32_to_f64_imm32:          175  ->  4.07453626394272e-08
+u32_to_f64_imm1:           175  ->  8.75000000000000e+01
+u32_to_f64_imm32:          176  ->  4.09781932830811e-08
+u32_to_f64_imm1:           176  ->  8.80000000000000e+01
+u32_to_f64_imm32:          177  ->  4.12110239267349e-08
+u32_to_f64_imm1:           177  ->  8.85000000000000e+01
+u32_to_f64_imm32:          178  ->  4.14438545703888e-08
+u32_to_f64_imm1:           178  ->  8.90000000000000e+01
+u32_to_f64_imm32:          179  ->  4.16766852140427e-08
+u32_to_f64_imm1:           179  ->  8.95000000000000e+01
+u32_to_f64_imm32:          180  ->  4.19095158576965e-08
+u32_to_f64_imm1:           180  ->  9.00000000000000e+01
+u32_to_f64_imm32:          181  ->  4.21423465013504e-08
+u32_to_f64_imm1:           181  ->  9.05000000000000e+01
+u32_to_f64_imm32:          182  ->  4.23751771450043e-08
+u32_to_f64_imm1:           182  ->  9.10000000000000e+01
+u32_to_f64_imm32:          183  ->  4.26080077886581e-08
+u32_to_f64_imm1:           183  ->  9.15000000000000e+01
+u32_to_f64_imm32:          184  ->  4.28408384323120e-08
+u32_to_f64_imm1:           184  ->  9.20000000000000e+01
+u32_to_f64_imm32:          185  ->  4.30736690759659e-08
+u32_to_f64_imm1:           185  ->  9.25000000000000e+01
+u32_to_f64_imm32:          186  ->  4.33064997196198e-08
+u32_to_f64_imm1:           186  ->  9.30000000000000e+01
+u32_to_f64_imm32:          187  ->  4.35393303632736e-08
+u32_to_f64_imm1:           187  ->  9.35000000000000e+01
+u32_to_f64_imm32:          188  ->  4.37721610069275e-08
+u32_to_f64_imm1:           188  ->  9.40000000000000e+01
+u32_to_f64_imm32:          189  ->  4.40049916505814e-08
+u32_to_f64_imm1:           189  ->  9.45000000000000e+01
+u32_to_f64_imm32:          190  ->  4.42378222942352e-08
+u32_to_f64_imm1:           190  ->  9.50000000000000e+01
+u32_to_f64_imm32:          191  ->  4.44706529378891e-08
+u32_to_f64_imm1:           191  ->  9.55000000000000e+01
+u32_to_f64_imm32:          192  ->  4.47034835815430e-08
+u32_to_f64_imm1:           192  ->  9.60000000000000e+01
+u32_to_f64_imm32:          193  ->  4.49363142251968e-08
+u32_to_f64_imm1:           193  ->  9.65000000000000e+01
+u32_to_f64_imm32:          194  ->  4.51691448688507e-08
+u32_to_f64_imm1:           194  ->  9.70000000000000e+01
+u32_to_f64_imm32:          195  ->  4.54019755125046e-08
+u32_to_f64_imm1:           195  ->  9.75000000000000e+01
+u32_to_f64_imm32:          196  ->  4.56348061561584e-08
+u32_to_f64_imm1:           196  ->  9.80000000000000e+01
+u32_to_f64_imm32:          197  ->  4.58676367998123e-08
+u32_to_f64_imm1:           197  ->  9.85000000000000e+01
+u32_to_f64_imm32:          198  ->  4.61004674434662e-08
+u32_to_f64_imm1:           198  ->  9.90000000000000e+01
+u32_to_f64_imm32:          199  ->  4.63332980871201e-08
+u32_to_f64_imm1:           199  ->  9.95000000000000e+01
+u32_to_f64_imm32:   2147483646  ->  4.99999999534339e-01
+u32_to_f64_imm1:    2147483646  ->  1.07374182300000e+09
+u32_to_f64_imm32:   2147483647  ->  4.99999999767169e-01
+u32_to_f64_imm1:    2147483647  ->  1.07374182350000e+09
+u32_to_f64_imm32:  -2147483648  ->  5.00000000000000e-01
+u32_to_f64_imm1:   -2147483648  ->  1.07374182400000e+09
+u32_to_f64_imm32:  -2147483647  ->  5.00000000232831e-01
+u32_to_f64_imm1:   -2147483647  ->  1.07374182450000e+09
+u32_to_f64_imm32:           -2  ->  9.99999999534339e-01
+u32_to_f64_imm1:            -2  ->  2.14748364700000e+09
+u32_to_f64_imm32:           -1  ->  9.99999999767169e-01
+u32_to_f64_imm1:            -1  ->  2.14748364750000e+09
+
+f64_to_s32_imm32:  0.00000000000000e+00  ->  0x0000000000000000
+f64_to_s32_imm1:   0.00000000000000e+00  ->  0x0000000000000000
+f64_to_s32_imm32:  1.00000000000000e+00  ->  0x000000007fffffff
+f64_to_s32_imm1:   1.00000000000000e+00  ->  0x0000000000000002
+f64_to_s32_imm32:  -1.00000000000000e+00  ->  0xffffffff80000000
+f64_to_s32_imm1:   -1.00000000000000e+00  ->  0xfffffffffffffffe
+f64_to_s32_imm32:                 nan  ->  0x0000000000000000
+f64_to_s32_imm1:                  nan  ->  0x0000000000000000
+f64_to_s32_imm32:  -1.00000010000000e+05  ->  0xffffffff80000000
+f64_to_s32_imm1:   -1.00000010000000e+05  ->  0xfffffffffffcf2c0
+f64_to_s32_imm32:  -9.00000100000000e+04  ->  0xffffffff80000000
+f64_to_s32_imm1:   -9.00000100000000e+04  ->  0xfffffffffffd40e0
+f64_to_s32_imm32:  -8.00000100000000e+04  ->  0xffffffff80000000
+f64_to_s32_imm1:   -8.00000100000000e+04  ->  0xfffffffffffd8f00
+f64_to_s32_imm32:  -7.00000100000000e+04  ->  0xffffffff80000000
+f64_to_s32_imm1:   -7.00000100000000e+04  ->  0xfffffffffffddd20
+f64_to_s32_imm32:  -6.00000100000000e+04  ->  0xffffffff80000000
+f64_to_s32_imm1:   -6.00000100000000e+04  ->  0xfffffffffffe2b40
+f64_to_s32_imm32:  -5.00000100000000e+04  ->  0xffffffff80000000
+f64_to_s32_imm1:   -5.00000100000000e+04  ->  0xfffffffffffe7960
+f64_to_s32_imm32:  -4.00000100000000e+04  ->  0xffffffff80000000
+f64_to_s32_imm1:   -4.00000100000000e+04  ->  0xfffffffffffec780
+f64_to_s32_imm32:  -3.00000100000000e+04  ->  0xffffffff80000000
+f64_to_s32_imm1:   -3.00000100000000e+04  ->  0xffffffffffff15a0
+f64_to_s32_imm32:  -2.00000100000000e+04  ->  0xffffffff80000000
+f64_to_s32_imm1:   -2.00000100000000e+04  ->  0xffffffffffff63c0
+f64_to_s32_imm32:  -1.00000100000000e+04  ->  0xffffffff80000000
+f64_to_s32_imm1:   -1.00000100000000e+04  ->  0xffffffffffffb1e0
+f64_to_s32_imm32:  -9.99999999476131e-03  ->  0xfffffffffd70a3d8
+f64_to_s32_imm1:   -9.99999999476131e-03  ->  0x0000000000000000
+f64_to_s32_imm32:  9.99999000000001e+03  ->  0x000000007fffffff
+f64_to_s32_imm1:   9.99999000000001e+03  ->  0x0000000000004e1f
+f64_to_s32_imm32:  1.99999900000000e+04  ->  0x000000007fffffff
+f64_to_s32_imm1:   1.99999900000000e+04  ->  0x0000000000009c3f
+f64_to_s32_imm32:  2.99999900000000e+04  ->  0x000000007fffffff
+f64_to_s32_imm1:   2.99999900000000e+04  ->  0x000000000000ea5f
+f64_to_s32_imm32:  3.99999900000000e+04  ->  0x000000007fffffff
+f64_to_s32_imm1:   3.99999900000000e+04  ->  0x000000000001387f
+f64_to_s32_imm32:  4.99999900000000e+04  ->  0x000000007fffffff
+f64_to_s32_imm1:   4.99999900000000e+04  ->  0x000000000001869f
+f64_to_s32_imm32:  5.99999900000000e+04  ->  0x000000007fffffff
+f64_to_s32_imm1:   5.99999900000000e+04  ->  0x000000000001d4bf
+f64_to_s32_imm32:  6.99999900000000e+04  ->  0x000000007fffffff
+f64_to_s32_imm1:   6.99999900000000e+04  ->  0x00000000000222df
+f64_to_s32_imm32:  7.99999900000000e+04  ->  0x000000007fffffff
+f64_to_s32_imm1:   7.99999900000000e+04  ->  0x00000000000270ff
+f64_to_s32_imm32:  8.99999900000000e+04  ->  0x000000007fffffff
+f64_to_s32_imm1:   8.99999900000000e+04  ->  0x000000000002bf1f
+f64_to_s32_imm32:  9.99999900000000e+04  ->  0x000000007fffffff
+f64_to_s32_imm1:   9.99999900000000e+04  ->  0x0000000000030d3f
+
+f64_to_u32_imm32:  0.00000000000000e+00  ->  0x0000000000000000
+f64_to_u32_imm1:   0.00000000000000e+00  ->  0x0000000000000000
+f64_to_u32_imm32:  1.00000000000000e+00  ->  0x00000000ffffffff
+f64_to_u32_imm1:   1.00000000000000e+00  ->  0x0000000000000002
+f64_to_u32_imm32:  -1.00000000000000e+00  ->  0x0000000000000000
+f64_to_u32_imm1:   -1.00000000000000e+00  ->  0x0000000000000000
+f64_to_u32_imm32:                 nan  ->  0x0000000000000000
+f64_to_u32_imm1:                  nan  ->  0x0000000000000000
+f64_to_u32_imm32:  -1.00000010000000e+05  ->  0x0000000000000000
+f64_to_u32_imm1:   -1.00000010000000e+05  ->  0x0000000000000000
+f64_to_u32_imm32:  -9.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm1:   -9.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm32:  -8.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm1:   -8.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm32:  -7.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm1:   -7.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm32:  -6.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm1:   -6.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm32:  -5.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm1:   -5.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm32:  -4.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm1:   -4.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm32:  -3.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm1:   -3.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm32:  -2.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm1:   -2.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm32:  -1.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm1:   -1.00000100000000e+04  ->  0x0000000000000000
+f64_to_u32_imm32:  -9.99999999476131e-03  ->  0x0000000000000000
+f64_to_u32_imm1:   -9.99999999476131e-03  ->  0x0000000000000000
+f64_to_u32_imm32:  9.99999000000001e+03  ->  0x00000000ffffffff
+f64_to_u32_imm1:   9.99999000000001e+03  ->  0x0000000000004e1f
+f64_to_u32_imm32:  1.99999900000000e+04  ->  0x00000000ffffffff
+f64_to_u32_imm1:   1.99999900000000e+04  ->  0x0000000000009c3f
+f64_to_u32_imm32:  2.99999900000000e+04  ->  0x00000000ffffffff
+f64_to_u32_imm1:   2.99999900000000e+04  ->  0x000000000000ea5f
+f64_to_u32_imm32:  3.99999900000000e+04  ->  0x00000000ffffffff
+f64_to_u32_imm1:   3.99999900000000e+04  ->  0x000000000001387f
+f64_to_u32_imm32:  4.99999900000000e+04  ->  0x00000000ffffffff
+f64_to_u32_imm1:   4.99999900000000e+04  ->  0x000000000001869f
+f64_to_u32_imm32:  5.99999900000000e+04  ->  0x00000000ffffffff
+f64_to_u32_imm1:   5.99999900000000e+04  ->  0x000000000001d4bf
+f64_to_u32_imm32:  6.99999900000000e+04  ->  0x00000000ffffffff
+f64_to_u32_imm1:   6.99999900000000e+04  ->  0x00000000000222df
+f64_to_u32_imm32:  7.99999900000000e+04  ->  0x00000000ffffffff
+f64_to_u32_imm1:   7.99999900000000e+04  ->  0x00000000000270ff
+f64_to_u32_imm32:  8.99999900000000e+04  ->  0x00000000ffffffff
+f64_to_u32_imm1:   8.99999900000000e+04  ->  0x000000000002bf1f
+f64_to_u32_imm32:  9.99999900000000e+04  ->  0x00000000ffffffff
+f64_to_u32_imm1:   9.99999900000000e+04  ->  0x0000000000030d3f
diff --git a/none/tests/arm/vcvt_fixed_float_VFP.vgtest b/none/tests/arm/vcvt_fixed_float_VFP.vgtest
new file mode 100644
index 0000000..8490d60
--- /dev/null
+++ b/none/tests/arm/vcvt_fixed_float_VFP.vgtest
@@ -0,0 +1,2 @@
+prog: vcvt_fixed_float_VFP
+vgopts: -q
diff --git a/none/tests/arm/vfp.stdout.exp b/none/tests/arm/vfp.stdout.exp
index 1f6be32..c1530bb 100644
--- a/none/tests/arm/vfp.stdout.exp
+++ b/none/tests/arm/vfp.stdout.exp
@@ -169,22 +169,22 @@
 vnmla.f64 d0,  d5,  d2 :: Qd 0xfff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0xbff00000 00000000
 vnmla.f64 d10, d13, d15 :: Qd 0xfff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0x00000000 00000000
 vnmla.f64 d10, d13, d15 :: Qd 0xfff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0x7ff80000 00000000
-vnmla.f64 d20, d25, d22 :: Qd 0x409067a4 0x842fc4c9  Qm 0x40370a3d 70a3d70a  Qn 0xc046c8cb 295e9e1b
-vnmla.f64 d23, d24, d25 :: Qd 0x41bbe864 0x1f5b9999  Qm 0xc1153b41 e6666666  Qn 0x40950800 00000000
-vnmla.f64 d20, d31, d12 :: Qd 0x41e0a1cf 0xd2ac68f6  Qm 0x40e7ce60 00000000  Qn 0xc0e65b4f 3b645a1d
-vnmla.f64 d19, d25, d27 :: Qd 0xc1d860c7 0xf7191999  Qm 0x40f767bc 28f5c28f  Qn 0x40d0aa40 00000000
-vnmla.f64 d30, d15, d2 :: Qd 0xc20524a9 0x817fcbf4  Qm 0xc0e64c67 ae147ae1  Qn 0xc10e5796 147ae148
-vnmla.f64 d23, d24, d5 :: Qd 0xc0df8bff 0x7ffffe04  Qm 0x40380000 00000000  Qn 0x40950800 00000000
-vnmla.f64 d10, d11, d2 :: Qd 0xc1895139 0x97f00000  Qm 0x40e7ce60 00000000  Qn 0x40910400 00000000
-vnmla.f64 d29, d15, d7 :: Qd 0xc1b65928 0xd5fe0000  Qm 0x406ac000 00000000  Qn 0x413abc01 00000000
-vnmla.f64 d30, d11, d12 :: Qd 0xc1df20a6 0xd7bc2cb0  Qm 0x4115bb3e 3d70a3d7  Qn 0x40b6eb02 4dd2f1aa
-vnmla.f64 d27, d21, d6 :: Qd 0xbfb363ef 0x37b9be48  Qm 0x4041000f 12c27a63  Qn 0x3f6421c0 44284dfd
-vnmla.f64 d30, d31, d2 :: Qd 0xc111fc57 0xf7ffffe0  Qm 0x40a58400 00000000  Qn 0x405ac000 00000000
-vnmla.f64 d13, d24, d5 :: Qd 0xc132771c 0x6466665e  Qm 0x408b5000 00000000  Qn 0x4095a266 66666666
-vnmla.f64 d10, d11, d2 :: Qd 0xc0e9f35f 0x34bc6981  Qm 0x407e7964 5a1cac08  Qn 0x405b4000 00000000
+vnmla.f64 d20, d25, d22 :: Qd 0x40906794 0x842f8549  Qm 0x40370a3d 70a3d70a  Qn 0xc046c8cb 295e9e1b
+vnmla.f64 d23, d24, d25 :: Qd 0x41bbe864 0x1f579999  Qm 0xc1153b41 e6666666  Qn 0x40950800 00000000
+vnmla.f64 d20, d31, d12 :: Qd 0x41e0a1cf 0xd2abe8f6  Qm 0x40e7ce60 00000000  Qn 0xc0e65b4f 3b645a1d
+vnmla.f64 d19, d25, d27 :: Qd 0xc1d860c7 0xf71a1999  Qm 0x40f767bc 28f5c28f  Qn 0x40d0aa40 00000000
+vnmla.f64 d30, d15, d2 :: Qd 0xc20524a9 0x817febf4  Qm 0xc0e64c67 ae147ae1  Qn 0xc10e5796 147ae148
+vnmla.f64 d23, d24, d5 :: Qd 0xc0df8c00 0x800001fc  Qm 0x40380000 00000000  Qn 0x40950800 00000000
+vnmla.f64 d10, d11, d2 :: Qd 0xc1895139 0x98100000  Qm 0x40e7ce60 00000000  Qn 0x40910400 00000000
+vnmla.f64 d29, d15, d7 :: Qd 0xc1b65928 0xd6020000  Qm 0x406ac000 00000000  Qn 0x413abc01 00000000
+vnmla.f64 d30, d11, d12 :: Qd 0xc1df20a6 0xd7bd2cb0  Qm 0x4115bb3e 3d70a3d7  Qn 0x40b6eb02 4dd2f1aa
+vnmla.f64 d27, d21, d6 :: Qd 0xbfb763ef 0x4799be48  Qm 0x4041000f 12c27a63  Qn 0x3f6421c0 44284dfd
+vnmla.f64 d30, d31, d2 :: Qd 0xc111fc58 0x08000020  Qm 0x40a58400 00000000  Qn 0x405ac000 00000000
+vnmla.f64 d13, d24, d5 :: Qd 0xc132771c 0x6866666e  Qm 0x408b5000 00000000  Qn 0x4095a266 66666666
+vnmla.f64 d10, d11, d2 :: Qd 0xc0e9f35f 0xb4bc6b7d  Qm 0x407e7964 5a1cac08  Qn 0x405b4000 00000000
 vnmla.f64 d29, d25, d7 :: Qd 0x7ff00000 0x00000000  Qm 0xfff00000 00000000  Qn 0x409b6000 00000000
 vnmla.f64 d0,  d11, d12 :: Qd 0x7ff00000 0x00000000  Qm 0x7ff00000 00000000  Qn 0xc0b69a78 51eb851f
-vnmla.f64 d27, d21, d16 :: Qd 0x40aa004b 0x17cc0c5d  Qm 0x407c83fb b97f122f  Qn 0xc01d2da3 2101d847
+vnmla.f64 d27, d21, d16 :: Qd 0x40aa0043 0x17cbec9d  Qm 0x407c83fb b97f122f  Qn 0xc01d2da3 2101d847
 vnmla.f64 d0,  d5,  d2 :: Qd 0x7ff00000 0x00000000  Qm 0x7ff00000 00000000  Qn 0xfff00000 00000000
 vnmla.f64 d20, d13, d15 :: Qd 0xfff80000 0x00000000  Qm 0xfff00000 00000000  Qn 0x00000000 00000000
 vnmla.f64 d10, d23, d15 :: Qd 0xfff80000 0x00000000  Qm 0x7ff00000 00000000  Qn 0x00000000 00000000
@@ -213,103 +213,103 @@
 vnmla.f32 s20, s13, s15 :: Sd 0xffc00000 Sm (i32)0xff800000  Sn (i32)0x00000000
 vnmla.f32 s10, s23, s15 :: Sd 0xffc00000 Sm (i32)0x7f800000  Sn (i32)0x00000000
 ---- VMLS (fp) ----
-vmls.f64 d0,  d11, d12 :: Qd 0x7ff80000 0x00000000  Qm 0xfff00000 00000000  Qn 0x7ff80000 00000000
-vmls.f64 d7,  d1,  d6 :: Qd 0x7ff80000 0x00000000  Qm 0x7ff00000 00000000  Qn 0x7ff80000 00000000
-vmls.f64 d0,  d5,  d2 :: Qd 0x7ff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0xbff00000 00000000
-vmls.f64 d10, d13, d15 :: Qd 0x7ff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0x00000000 00000000
-vmls.f64 d10, d13, d15 :: Qd 0x7ff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0x7ff80000 00000000
-vmls.f64 d20, d25, d22 :: Qd 0xc09067a4 0x842fc4c9  Qm 0x40370a3d 70a3d70a  Qn 0xc046c8cb 295e9e1b
-vmls.f64 d23, d24, d25 :: Qd 0xc1bbe864 0x1f5b9999  Qm 0xc1153b41 e6666666  Qn 0x40950800 00000000
-vmls.f64 d20, d31, d12 :: Qd 0xc1e0a1cf 0xd2ac68f6  Qm 0x40e7ce60 00000000  Qn 0xc0e65b4f 3b645a1d
-vmls.f64 d19, d25, d27 :: Qd 0x41d860c7 0xf7191999  Qm 0x40f767bc 28f5c28f  Qn 0x40d0aa40 00000000
-vmls.f64 d30, d15, d2 :: Qd 0x420524a9 0x817fcbf4  Qm 0xc0e64c67 ae147ae1  Qn 0xc10e5796 147ae148
-vmls.f64 d23, d24, d5 :: Qd 0x40df8bff 0x7ffffe04  Qm 0x40380000 00000000  Qn 0x40950800 00000000
-vmls.f64 d10, d11, d2 :: Qd 0x41895139 0x97f00000  Qm 0x40e7ce60 00000000  Qn 0x40910400 00000000
-vmls.f64 d29, d15, d7 :: Qd 0x41b65928 0xd5fe0000  Qm 0x406ac000 00000000  Qn 0x413abc01 00000000
-vmls.f64 d30, d11, d12 :: Qd 0x41df20a6 0xd7bc2cb0  Qm 0x4115bb3e 3d70a3d7  Qn 0x40b6eb02 4dd2f1aa
-vmls.f64 d27, d21, d6 :: Qd 0x3fb363ef 0x37b9be48  Qm 0x4041000f 12c27a63  Qn 0x3f6421c0 44284dfd
-vmls.f64 d30, d31, d2 :: Qd 0x4111fc57 0xf7ffffe0  Qm 0x40a58400 00000000  Qn 0x405ac000 00000000
-vmls.f64 d13, d24, d5 :: Qd 0x4132771c 0x6466665e  Qm 0x408b5000 00000000  Qn 0x4095a266 66666666
-vmls.f64 d10, d11, d2 :: Qd 0x40e9f35f 0x34bc6981  Qm 0x407e7964 5a1cac08  Qn 0x405b4000 00000000
-vmls.f64 d29, d25, d7 :: Qd 0xfff00000 0x00000000  Qm 0xfff00000 00000000  Qn 0x409b6000 00000000
-vmls.f64 d0,  d11, d12 :: Qd 0xfff00000 0x00000000  Qm 0x7ff00000 00000000  Qn 0xc0b69a78 51eb851f
-vmls.f64 d27, d21, d16 :: Qd 0xc0aa004b 0x17cc0c5d  Qm 0x407c83fb b97f122f  Qn 0xc01d2da3 2101d847
-vmls.f64 d0,  d5,  d2 :: Qd 0xfff00000 0x00000000  Qm 0x7ff00000 00000000  Qn 0xfff00000 00000000
-vmls.f64 d20, d13, d15 :: Qd 0x7ff80000 0x00000000  Qm 0xfff00000 00000000  Qn 0x00000000 00000000
-vmls.f64 d10, d23, d15 :: Qd 0x7ff80000 0x00000000  Qm 0x7ff00000 00000000  Qn 0x00000000 00000000
-vmls.f32 s0,  s11, s12 :: Sd 0x7fc00000 Sm (i32)0xff800000  Sn (i32)0x7fc00000
-vmls.f32 s7,  s1,  s6 :: Sd 0x7fc00000 Sm (i32)0x7f800000  Sn (i32)0x7fc00000
-vmls.f32 s0,  s5,  s2 :: Sd 0x7fc00000 Sm (i32)0x7fc00000  Sn (i32)0xbf800000
-vmls.f32 s10, s13, s15 :: Sd 0x7fc00000 Sm (i32)0x7fc00000  Sn (i32)0x00000000
-vmls.f32 s10, s13, s15 :: Sd 0x7fc00000 Sm (i32)0x7fc00000  Sn (i32)0x7fc00000
-vmls.f32 s20, s25, s22 :: Sd 0xc4833ce4 Sm (i32)0x41b851ec  Sn (i32)0xc2364659
-vmls.f32 s23, s24, s25 :: Sd 0xcddf4321 Sm (i32)0xc8a9da0f  Sn (i32)0x44a84000
-vmls.f32 s20, s31, s12 :: Sd 0xcf050e7f Sm (i32)0x473e7300  Sn (i32)0xc732da7a
-vmls.f32 s19, s25, s27 :: Sd 0x4ec3063f Sm (i32)0x47bb3de1  Sn (i32)0x46855200
-vmls.f32 s30, s15, s2 :: Sd 0x5029254c Sm (i32)0xc732633d  Sn (i32)0xc872bcb1
-vmls.f32 s23, s24, s5 :: Sd 0x46fc6000 Sm (i32)0x41c00000  Sn (i32)0x44a84000
-vmls.f32 s10, s11, s2 :: Sd 0x4c4a89cd Sm (i32)0x473e7300  Sn (i32)0x44882000
-vmls.f32 s29, s15, s7 :: Sd 0x4db2c947 Sm (i32)0x43560000  Sn (i32)0x49d5e008
-vmls.f32 s30, s11, s12 :: Sd 0x4ef90536 Sm (i32)0x48add9f2  Sn (i32)0x45b75812
-vmls.f32 s27, s21, s6 :: Sd 0x3dab1f7a Sm (i32)0x42080079  Sn (i32)0x3b210e02
-vmls.f32 s30, s31, s2 :: Sd 0x488fe2c0 Sm (i32)0x452c2000  Sn (i32)0x42d60000
-vmls.f32 s13, s24, s5 :: Sd 0x4993b8e3 Sm (i32)0x445a8000  Sn (i32)0x44ad1333
-vmls.f32 s10, s11, s2 :: Sd 0x474f9afc Sm (i32)0x43f3cb23  Sn (i32)0x42da0000
-vmls.f32 s29, s25, s7 :: Sd 0xff800000 Sm (i32)0xff800000  Sn (i32)0x44db0000
-vmls.f32 s0,  s11, s12 :: Sd 0xff800000 Sm (i32)0x7f800000  Sn (i32)0xc5b4d3c3
-vmls.f32 s27, s21, s16 :: Sd 0xc5500239 Sm (i32)0x43e41fde  Sn (i32)0xc0e96d19
-vmls.f32 s0,  s5,  s2 :: Sd 0xff800000 Sm (i32)0x7f800000  Sn (i32)0xff800000
-vmls.f32 s20, s13, s15 :: Sd 0x7fc00000 Sm (i32)0xff800000  Sn (i32)0x00000000
-vmls.f32 s10, s23, s15 :: Sd 0x7fc00000 Sm (i32)0x7f800000  Sn (i32)0x00000000
+vmls.f64 d0,  d11, d12 :: Qd 0xfff80000 0x00000000  Qm 0xfff00000 00000000  Qn 0x7ff80000 00000000
+vmls.f64 d7,  d1,  d6 :: Qd 0xfff80000 0x00000000  Qm 0x7ff00000 00000000  Qn 0x7ff80000 00000000
+vmls.f64 d0,  d5,  d2 :: Qd 0xfff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0xbff00000 00000000
+vmls.f64 d10, d13, d15 :: Qd 0xfff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0x00000000 00000000
+vmls.f64 d10, d13, d15 :: Qd 0xfff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0x7ff80000 00000000
+vmls.f64 d20, d25, d22 :: Qd 0x409067a4 0x842fc4c9  Qm 0x40370a3d 70a3d70a  Qn 0xc046c8cb 295e9e1b
+vmls.f64 d23, d24, d25 :: Qd 0x41bbe864 0x1f5b9999  Qm 0xc1153b41 e6666666  Qn 0x40950800 00000000
+vmls.f64 d20, d31, d12 :: Qd 0x41e0a1cf 0xd2ac68f6  Qm 0x40e7ce60 00000000  Qn 0xc0e65b4f 3b645a1d
+vmls.f64 d19, d25, d27 :: Qd 0xc1d860c7 0xf7191999  Qm 0x40f767bc 28f5c28f  Qn 0x40d0aa40 00000000
+vmls.f64 d30, d15, d2 :: Qd 0xc20524a9 0x817fcbf4  Qm 0xc0e64c67 ae147ae1  Qn 0xc10e5796 147ae148
+vmls.f64 d23, d24, d5 :: Qd 0xc0df8bff 0x7ffffe04  Qm 0x40380000 00000000  Qn 0x40950800 00000000
+vmls.f64 d10, d11, d2 :: Qd 0xc1895139 0x97f00000  Qm 0x40e7ce60 00000000  Qn 0x40910400 00000000
+vmls.f64 d29, d15, d7 :: Qd 0xc1b65928 0xd5fe0000  Qm 0x406ac000 00000000  Qn 0x413abc01 00000000
+vmls.f64 d30, d11, d12 :: Qd 0xc1df20a6 0xd7bc2cb0  Qm 0x4115bb3e 3d70a3d7  Qn 0x40b6eb02 4dd2f1aa
+vmls.f64 d27, d21, d6 :: Qd 0xbfb363ef 0x37b9be48  Qm 0x4041000f 12c27a63  Qn 0x3f6421c0 44284dfd
+vmls.f64 d30, d31, d2 :: Qd 0xc111fc57 0xf7ffffe0  Qm 0x40a58400 00000000  Qn 0x405ac000 00000000
+vmls.f64 d13, d24, d5 :: Qd 0xc132771c 0x6466665e  Qm 0x408b5000 00000000  Qn 0x4095a266 66666666
+vmls.f64 d10, d11, d2 :: Qd 0xc0e9f35f 0x34bc6981  Qm 0x407e7964 5a1cac08  Qn 0x405b4000 00000000
+vmls.f64 d29, d25, d7 :: Qd 0x7ff00000 0x00000000  Qm 0xfff00000 00000000  Qn 0x409b6000 00000000
+vmls.f64 d0,  d11, d12 :: Qd 0x7ff00000 0x00000000  Qm 0x7ff00000 00000000  Qn 0xc0b69a78 51eb851f
+vmls.f64 d27, d21, d16 :: Qd 0x40aa004b 0x17cc0c5d  Qm 0x407c83fb b97f122f  Qn 0xc01d2da3 2101d847
+vmls.f64 d0,  d5,  d2 :: Qd 0x7ff00000 0x00000000  Qm 0x7ff00000 00000000  Qn 0xfff00000 00000000
+vmls.f64 d20, d13, d15 :: Qd 0xfff80000 0x00000000  Qm 0xfff00000 00000000  Qn 0x00000000 00000000
+vmls.f64 d10, d23, d15 :: Qd 0xfff80000 0x00000000  Qm 0x7ff00000 00000000  Qn 0x00000000 00000000
+vmls.f32 s0,  s11, s12 :: Sd 0xffc00000 Sm (i32)0xff800000  Sn (i32)0x7fc00000
+vmls.f32 s7,  s1,  s6 :: Sd 0xffc00000 Sm (i32)0x7f800000  Sn (i32)0x7fc00000
+vmls.f32 s0,  s5,  s2 :: Sd 0xffc00000 Sm (i32)0x7fc00000  Sn (i32)0xbf800000
+vmls.f32 s10, s13, s15 :: Sd 0xffc00000 Sm (i32)0x7fc00000  Sn (i32)0x00000000
+vmls.f32 s10, s13, s15 :: Sd 0xffc00000 Sm (i32)0x7fc00000  Sn (i32)0x7fc00000
+vmls.f32 s20, s25, s22 :: Sd 0x44833ce4 Sm (i32)0x41b851ec  Sn (i32)0xc2364659
+vmls.f32 s23, s24, s25 :: Sd 0x4ddf4321 Sm (i32)0xc8a9da0f  Sn (i32)0x44a84000
+vmls.f32 s20, s31, s12 :: Sd 0x4f050e7f Sm (i32)0x473e7300  Sn (i32)0xc732da7a
+vmls.f32 s19, s25, s27 :: Sd 0xcec3063f Sm (i32)0x47bb3de1  Sn (i32)0x46855200
+vmls.f32 s30, s15, s2 :: Sd 0xd029254c Sm (i32)0xc732633d  Sn (i32)0xc872bcb1
+vmls.f32 s23, s24, s5 :: Sd 0xc6fc6000 Sm (i32)0x41c00000  Sn (i32)0x44a84000
+vmls.f32 s10, s11, s2 :: Sd 0xcc4a89cd Sm (i32)0x473e7300  Sn (i32)0x44882000
+vmls.f32 s29, s15, s7 :: Sd 0xcdb2c947 Sm (i32)0x43560000  Sn (i32)0x49d5e008
+vmls.f32 s30, s11, s12 :: Sd 0xcef90536 Sm (i32)0x48add9f2  Sn (i32)0x45b75812
+vmls.f32 s27, s21, s6 :: Sd 0xbdab1f7a Sm (i32)0x42080079  Sn (i32)0x3b210e02
+vmls.f32 s30, s31, s2 :: Sd 0xc88fe2c0 Sm (i32)0x452c2000  Sn (i32)0x42d60000
+vmls.f32 s13, s24, s5 :: Sd 0xc993b8e3 Sm (i32)0x445a8000  Sn (i32)0x44ad1333
+vmls.f32 s10, s11, s2 :: Sd 0xc74f9afc Sm (i32)0x43f3cb23  Sn (i32)0x42da0000
+vmls.f32 s29, s25, s7 :: Sd 0x7f800000 Sm (i32)0xff800000  Sn (i32)0x44db0000
+vmls.f32 s0,  s11, s12 :: Sd 0x7f800000 Sm (i32)0x7f800000  Sn (i32)0xc5b4d3c3
+vmls.f32 s27, s21, s16 :: Sd 0x45500239 Sm (i32)0x43e41fde  Sn (i32)0xc0e96d19
+vmls.f32 s0,  s5,  s2 :: Sd 0x7f800000 Sm (i32)0x7f800000  Sn (i32)0xff800000
+vmls.f32 s20, s13, s15 :: Sd 0xffc00000 Sm (i32)0xff800000  Sn (i32)0x00000000
+vmls.f32 s10, s23, s15 :: Sd 0xffc00000 Sm (i32)0x7f800000  Sn (i32)0x00000000
 ---- VNMLS (fp) ----
-vnmls.f64 d0,  d11, d12 :: Qd 0xfff80000 0x00000000  Qm 0xfff00000 00000000  Qn 0x7ff80000 00000000
-vnmls.f64 d7,  d1,  d6 :: Qd 0xfff80000 0x00000000  Qm 0x7ff00000 00000000  Qn 0x7ff80000 00000000
-vnmls.f64 d0,  d5,  d2 :: Qd 0xfff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0xbff00000 00000000
-vnmls.f64 d10, d13, d15 :: Qd 0xfff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0x00000000 00000000
-vnmls.f64 d10, d13, d15 :: Qd 0xfff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0x7ff80000 00000000
-vnmls.f64 d20, d25, d22 :: Qd 0x40906794 0x842f8549  Qm 0x40370a3d 70a3d70a  Qn 0xc046c8cb 295e9e1b
-vnmls.f64 d23, d24, d25 :: Qd 0x41bbe864 0x1f579999  Qm 0xc1153b41 e6666666  Qn 0x40950800 00000000
-vnmls.f64 d20, d31, d12 :: Qd 0x41e0a1cf 0xd2abe8f6  Qm 0x40e7ce60 00000000  Qn 0xc0e65b4f 3b645a1d
-vnmls.f64 d19, d25, d27 :: Qd 0xc1d860c7 0xf71a1999  Qm 0x40f767bc 28f5c28f  Qn 0x40d0aa40 00000000
-vnmls.f64 d30, d15, d2 :: Qd 0xc20524a9 0x817febf4  Qm 0xc0e64c67 ae147ae1  Qn 0xc10e5796 147ae148
-vnmls.f64 d23, d24, d5 :: Qd 0xc0df8c00 0x800001fc  Qm 0x40380000 00000000  Qn 0x40950800 00000000
-vnmls.f64 d10, d11, d2 :: Qd 0xc1895139 0x98100000  Qm 0x40e7ce60 00000000  Qn 0x40910400 00000000
-vnmls.f64 d29, d15, d7 :: Qd 0xc1b65928 0xd6020000  Qm 0x406ac000 00000000  Qn 0x413abc01 00000000
-vnmls.f64 d30, d11, d12 :: Qd 0xc1df20a6 0xd7bd2cb0  Qm 0x4115bb3e 3d70a3d7  Qn 0x40b6eb02 4dd2f1aa
-vnmls.f64 d27, d21, d6 :: Qd 0xbfb763ef 0x4799be48  Qm 0x4041000f 12c27a63  Qn 0x3f6421c0 44284dfd
-vnmls.f64 d30, d31, d2 :: Qd 0xc111fc58 0x08000020  Qm 0x40a58400 00000000  Qn 0x405ac000 00000000
-vnmls.f64 d13, d24, d5 :: Qd 0xc132771c 0x6866666e  Qm 0x408b5000 00000000  Qn 0x4095a266 66666666
-vnmls.f64 d10, d11, d2 :: Qd 0xc0e9f35f 0xb4bc6b7d  Qm 0x407e7964 5a1cac08  Qn 0x405b4000 00000000
-vnmls.f64 d29, d25, d7 :: Qd 0x7ff00000 0x00000000  Qm 0xfff00000 00000000  Qn 0x409b6000 00000000
-vnmls.f64 d0,  d11, d12 :: Qd 0x7ff00000 0x00000000  Qm 0x7ff00000 00000000  Qn 0xc0b69a78 51eb851f
-vnmls.f64 d27, d21, d16 :: Qd 0x40aa0043 0x17cbec9d  Qm 0x407c83fb b97f122f  Qn 0xc01d2da3 2101d847
-vnmls.f64 d0,  d5,  d2 :: Qd 0x7ff00000 0x00000000  Qm 0x7ff00000 00000000  Qn 0xfff00000 00000000
-vnmls.f64 d20, d13, d15 :: Qd 0xfff80000 0x00000000  Qm 0xfff00000 00000000  Qn 0x00000000 00000000
-vnmls.f64 d10, d23, d15 :: Qd 0xfff80000 0x00000000  Qm 0x7ff00000 00000000  Qn 0x00000000 00000000
-vnmls.f32 s0,  s11, s12 :: Sd 0xffc00000 Sm (i32)0xff800000  Sn (i32)0x7fc00000
-vnmls.f32 s7,  s1,  s6 :: Sd 0xffc00000 Sm (i32)0x7f800000  Sn (i32)0x7fc00000
-vnmls.f32 s0,  s5,  s2 :: Sd 0xffc00000 Sm (i32)0x7fc00000  Sn (i32)0xbf800000
-vnmls.f32 s10, s13, s15 :: Sd 0xffc00000 Sm (i32)0x7fc00000  Sn (i32)0x00000000
-vnmls.f32 s10, s13, s15 :: Sd 0xffc00000 Sm (i32)0x7fc00000  Sn (i32)0x7fc00000
-vnmls.f32 s20, s25, s22 :: Sd 0x44833ce4 Sm (i32)0x41b851ec  Sn (i32)0xc2364659
-vnmls.f32 s23, s24, s25 :: Sd 0x4ddf4321 Sm (i32)0xc8a9da0f  Sn (i32)0x44a84000
-vnmls.f32 s20, s31, s12 :: Sd 0x4f050e7f Sm (i32)0x473e7300  Sn (i32)0xc732da7a
-vnmls.f32 s19, s25, s27 :: Sd 0xcec3063f Sm (i32)0x47bb3de1  Sn (i32)0x46855200
-vnmls.f32 s30, s15, s2 :: Sd 0xd029254c Sm (i32)0xc732633d  Sn (i32)0xc872bcb1
-vnmls.f32 s23, s24, s5 :: Sd 0xc6fc6000 Sm (i32)0x41c00000  Sn (i32)0x44a84000
-vnmls.f32 s10, s11, s2 :: Sd 0xcc4a89cd Sm (i32)0x473e7300  Sn (i32)0x44882000
-vnmls.f32 s29, s15, s7 :: Sd 0xcdb2c947 Sm (i32)0x43560000  Sn (i32)0x49d5e008
-vnmls.f32 s30, s11, s12 :: Sd 0xcef90536 Sm (i32)0x48add9f2  Sn (i32)0x45b75812
-vnmls.f32 s27, s21, s6 :: Sd 0xbdab1f7a Sm (i32)0x42080079  Sn (i32)0x3b210e02
-vnmls.f32 s30, s31, s2 :: Sd 0xc88fe2c0 Sm (i32)0x452c2000  Sn (i32)0x42d60000
-vnmls.f32 s13, s24, s5 :: Sd 0xc993b8e3 Sm (i32)0x445a8000  Sn (i32)0x44ad1333
-vnmls.f32 s10, s11, s2 :: Sd 0xc74f9afc Sm (i32)0x43f3cb23  Sn (i32)0x42da0000
-vnmls.f32 s29, s25, s7 :: Sd 0x7f800000 Sm (i32)0xff800000  Sn (i32)0x44db0000
-vnmls.f32 s0,  s11, s12 :: Sd 0x7f800000 Sm (i32)0x7f800000  Sn (i32)0xc5b4d3c3
-vnmls.f32 s27, s21, s16 :: Sd 0x45500239 Sm (i32)0x43e41fde  Sn (i32)0xc0e96d19
-vnmls.f32 s0,  s5,  s2 :: Sd 0x7f800000 Sm (i32)0x7f800000  Sn (i32)0xff800000
-vnmls.f32 s20, s13, s15 :: Sd 0xffc00000 Sm (i32)0xff800000  Sn (i32)0x00000000
-vnmls.f32 s10, s23, s15 :: Sd 0xffc00000 Sm (i32)0x7f800000  Sn (i32)0x00000000
+vnmls.f64 d0,  d11, d12 :: Qd 0x7ff80000 0x00000000  Qm 0xfff00000 00000000  Qn 0x7ff80000 00000000
+vnmls.f64 d7,  d1,  d6 :: Qd 0x7ff80000 0x00000000  Qm 0x7ff00000 00000000  Qn 0x7ff80000 00000000
+vnmls.f64 d0,  d5,  d2 :: Qd 0x7ff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0xbff00000 00000000
+vnmls.f64 d10, d13, d15 :: Qd 0x7ff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0x00000000 00000000
+vnmls.f64 d10, d13, d15 :: Qd 0x7ff80000 0x00000000  Qm 0x7ff80000 00000000  Qn 0x7ff80000 00000000
+vnmls.f64 d20, d25, d22 :: Qd 0xc09067a4 0x842fc4c9  Qm 0x40370a3d 70a3d70a  Qn 0xc046c8cb 295e9e1b
+vnmls.f64 d23, d24, d25 :: Qd 0xc1bbe864 0x1f5b9999  Qm 0xc1153b41 e6666666  Qn 0x40950800 00000000
+vnmls.f64 d20, d31, d12 :: Qd 0xc1e0a1cf 0xd2ac68f6  Qm 0x40e7ce60 00000000  Qn 0xc0e65b4f 3b645a1d
+vnmls.f64 d19, d25, d27 :: Qd 0x41d860c7 0xf7191999  Qm 0x40f767bc 28f5c28f  Qn 0x40d0aa40 00000000
+vnmls.f64 d30, d15, d2 :: Qd 0x420524a9 0x817fcbf4  Qm 0xc0e64c67 ae147ae1  Qn 0xc10e5796 147ae148
+vnmls.f64 d23, d24, d5 :: Qd 0x40df8bff 0x7ffffe04  Qm 0x40380000 00000000  Qn 0x40950800 00000000
+vnmls.f64 d10, d11, d2 :: Qd 0x41895139 0x97f00000  Qm 0x40e7ce60 00000000  Qn 0x40910400 00000000
+vnmls.f64 d29, d15, d7 :: Qd 0x41b65928 0xd5fe0000  Qm 0x406ac000 00000000  Qn 0x413abc01 00000000
+vnmls.f64 d30, d11, d12 :: Qd 0x41df20a6 0xd7bc2cb0  Qm 0x4115bb3e 3d70a3d7  Qn 0x40b6eb02 4dd2f1aa
+vnmls.f64 d27, d21, d6 :: Qd 0x3fb363ef 0x37b9be48  Qm 0x4041000f 12c27a63  Qn 0x3f6421c0 44284dfd
+vnmls.f64 d30, d31, d2 :: Qd 0x4111fc57 0xf7ffffe0  Qm 0x40a58400 00000000  Qn 0x405ac000 00000000
+vnmls.f64 d13, d24, d5 :: Qd 0x4132771c 0x6466665e  Qm 0x408b5000 00000000  Qn 0x4095a266 66666666
+vnmls.f64 d10, d11, d2 :: Qd 0x40e9f35f 0x34bc6981  Qm 0x407e7964 5a1cac08  Qn 0x405b4000 00000000
+vnmls.f64 d29, d25, d7 :: Qd 0xfff00000 0x00000000  Qm 0xfff00000 00000000  Qn 0x409b6000 00000000
+vnmls.f64 d0,  d11, d12 :: Qd 0xfff00000 0x00000000  Qm 0x7ff00000 00000000  Qn 0xc0b69a78 51eb851f
+vnmls.f64 d27, d21, d16 :: Qd 0xc0aa004b 0x17cc0c5d  Qm 0x407c83fb b97f122f  Qn 0xc01d2da3 2101d847
+vnmls.f64 d0,  d5,  d2 :: Qd 0xfff00000 0x00000000  Qm 0x7ff00000 00000000  Qn 0xfff00000 00000000
+vnmls.f64 d20, d13, d15 :: Qd 0x7ff80000 0x00000000  Qm 0xfff00000 00000000  Qn 0x00000000 00000000
+vnmls.f64 d10, d23, d15 :: Qd 0x7ff80000 0x00000000  Qm 0x7ff00000 00000000  Qn 0x00000000 00000000
+vnmls.f32 s0,  s11, s12 :: Sd 0x7fc00000 Sm (i32)0xff800000  Sn (i32)0x7fc00000
+vnmls.f32 s7,  s1,  s6 :: Sd 0x7fc00000 Sm (i32)0x7f800000  Sn (i32)0x7fc00000
+vnmls.f32 s0,  s5,  s2 :: Sd 0x7fc00000 Sm (i32)0x7fc00000  Sn (i32)0xbf800000
+vnmls.f32 s10, s13, s15 :: Sd 0x7fc00000 Sm (i32)0x7fc00000  Sn (i32)0x00000000
+vnmls.f32 s10, s13, s15 :: Sd 0x7fc00000 Sm (i32)0x7fc00000  Sn (i32)0x7fc00000
+vnmls.f32 s20, s25, s22 :: Sd 0xc4833ce4 Sm (i32)0x41b851ec  Sn (i32)0xc2364659
+vnmls.f32 s23, s24, s25 :: Sd 0xcddf4321 Sm (i32)0xc8a9da0f  Sn (i32)0x44a84000
+vnmls.f32 s20, s31, s12 :: Sd 0xcf050e7f Sm (i32)0x473e7300  Sn (i32)0xc732da7a
+vnmls.f32 s19, s25, s27 :: Sd 0x4ec3063f Sm (i32)0x47bb3de1  Sn (i32)0x46855200
+vnmls.f32 s30, s15, s2 :: Sd 0x5029254c Sm (i32)0xc732633d  Sn (i32)0xc872bcb1
+vnmls.f32 s23, s24, s5 :: Sd 0x46fc6000 Sm (i32)0x41c00000  Sn (i32)0x44a84000
+vnmls.f32 s10, s11, s2 :: Sd 0x4c4a89cd Sm (i32)0x473e7300  Sn (i32)0x44882000
+vnmls.f32 s29, s15, s7 :: Sd 0x4db2c947 Sm (i32)0x43560000  Sn (i32)0x49d5e008
+vnmls.f32 s30, s11, s12 :: Sd 0x4ef90536 Sm (i32)0x48add9f2  Sn (i32)0x45b75812
+vnmls.f32 s27, s21, s6 :: Sd 0x3dab1f7a Sm (i32)0x42080079  Sn (i32)0x3b210e02
+vnmls.f32 s30, s31, s2 :: Sd 0x488fe2c0 Sm (i32)0x452c2000  Sn (i32)0x42d60000
+vnmls.f32 s13, s24, s5 :: Sd 0x4993b8e3 Sm (i32)0x445a8000  Sn (i32)0x44ad1333
+vnmls.f32 s10, s11, s2 :: Sd 0x474f9afc Sm (i32)0x43f3cb23  Sn (i32)0x42da0000
+vnmls.f32 s29, s25, s7 :: Sd 0xff800000 Sm (i32)0xff800000  Sn (i32)0x44db0000
+vnmls.f32 s0,  s11, s12 :: Sd 0xff800000 Sm (i32)0x7f800000  Sn (i32)0xc5b4d3c3
+vnmls.f32 s27, s21, s16 :: Sd 0xc5500239 Sm (i32)0x43e41fde  Sn (i32)0xc0e96d19
+vnmls.f32 s0,  s5,  s2 :: Sd 0xff800000 Sm (i32)0x7f800000  Sn (i32)0xff800000
+vnmls.f32 s20, s13, s15 :: Sd 0x7fc00000 Sm (i32)0xff800000  Sn (i32)0x00000000
+vnmls.f32 s10, s23, s15 :: Sd 0x7fc00000 Sm (i32)0x7f800000  Sn (i32)0x00000000
 ---- VMUL (fp) ----
 vmul.f64 d0,  d11, d12 :: Qd 0x7ff80000 0x00000000  Qm 0xfff00000 00000000  Qn 0x7ff80000 00000000
 vmul.f64 d7,  d1,  d6 :: Qd 0x7ff80000 0x00000000  Qm 0x7ff00000 00000000  Qn 0x7ff80000 00000000
@@ -635,7 +635,7 @@
 vcvt.u32.f32 s15, s4 :: Sd 0xb2d05e00 Sm (i32)0x4f32d05e
 vcvt.u32.f32 s25, s24 :: Sd 0x00000000 Sm (i32)0xbf000000
 vcvt.u32.f32 s19, s21 :: Sd 0x00000000 Sm (i32)0xc0e33333
-vcvt.u32.f32 s12, s8 :: Sd 0x00000008 Sm (i32)0x40fff800
+vcvt.u32.f32 s12, s8 :: Sd 0x00000007 Sm (i32)0x40fff800
 vcvt.u32.f32 s12, s18 :: Sd 0x00000000 Sm (i32)0xc0fff800
 vcvt.u32.f32 s30, s1 :: Sd 0x00000000 Sm (i32)0x00000000
 vcvt.u32.f32 s11, s1 :: Sd 0xffffffff Sm (i32)0x7f800000
@@ -650,8 +650,8 @@
 vcvt.s32.f32 s15, s14 :: Sd 0x7fffffff Sm (i32)0x4f32d05e
 vcvt.s32.f32 s15, s24 :: Sd 0x00000000 Sm (i32)0xbf000000
 vcvt.s32.f32 s15, s29 :: Sd 0xfffffff9 Sm (i32)0xc0e33333
-vcvt.s32.f32 s12, s31 :: Sd 0x00000008 Sm (i32)0x40fff800
-vcvt.s32.f32 s1,  s8 :: Sd 0xfffffff8 Sm (i32)0xc0fff800
+vcvt.s32.f32 s12, s31 :: Sd 0x00000007 Sm (i32)0x40fff800
+vcvt.s32.f32 s1,  s8 :: Sd 0xfffffff9 Sm (i32)0xc0fff800
 vcvt.f32.u32 s30, s1 :: Sd 0x4e81c000 Sm (i32)0x40e00000
 vcvt.f32.u32 s10, s17 :: Sd 0x4f4f0000 Sm (i32)0xcf000000
 vcvt.f32.u32 s20, s1 :: Sd 0x4e9e0000 Sm (i32)0x4f000000
@@ -670,21 +670,21 @@
 vcvt.f32.s32 s0,  s17 :: Sd 0x4eff0000 Sm (i32)0x7f800000
 vcvt.f32.s32 s0,  s1 :: Sd 0xcb000000 Sm (i32)0xff800000
 vcvt.u32.f64 s0,  d1 :: Sd 0x00000003 Dm 0x40099999 9999999a
-vcvt.u32.f64 s13, d26 :: Sd 0x000000eb Dm 0x406d5147 ae147ae1
+vcvt.u32.f64 s13, d26 :: Sd 0x000000ea Dm 0x406d5147 ae147ae1
 vcvt.u32.f64 s29, d30 :: Sd 0x0000b4a5 Dm 0x40e694ab 0a3d70a4
 vcvt.u32.f64 s30, d21 :: Sd 0x00000000 Dm 0xc01fff00 00000000
 vcvt.u32.f64 s11, d8 :: Sd 0xffffffff Dm 0x7ff00000 00000000
 vcvt.u32.f64 s8,  d12 :: Sd 0x00000000 Dm 0xfff00000 00000000
 vcvt.u32.f64 s19, d7 :: Sd 0x00000000 Dm 0x7ff80000 00000000
-vcvt.u32.f64 s16, d16 :: Sd 0x0000004d Dm 0x40532ae1 47ae147b
+vcvt.u32.f64 s16, d16 :: Sd 0x0000004c Dm 0x40532ae1 47ae147b
 vcvt.s32.f64 s0,  d1 :: Sd 0x00000003 Dm 0x40099999 9999999a
-vcvt.s32.f64 s13, d26 :: Sd 0x000000eb Dm 0x406d5147 ae147ae1
+vcvt.s32.f64 s13, d26 :: Sd 0x000000ea Dm 0x406d5147 ae147ae1
 vcvt.s32.f64 s29, d30 :: Sd 0x0000b4a5 Dm 0x40e694ab 0a3d70a4
-vcvt.s32.f64 s30, d21 :: Sd 0xfffffff8 Dm 0xc01fff00 00000000
+vcvt.s32.f64 s30, d21 :: Sd 0xfffffff9 Dm 0xc01fff00 00000000
 vcvt.s32.f64 s11, d8 :: Sd 0x7fffffff Dm 0x7ff00000 00000000
 vcvt.s32.f64 s8,  d12 :: Sd 0x80000000 Dm 0xfff00000 00000000
 vcvt.s32.f64 s19, d7 :: Sd 0x00000000 Dm 0x7ff80000 00000000
-vcvt.s32.f64 s16, d16 :: Sd 0x0000004d Dm 0x40532ae1 47ae147b
+vcvt.s32.f64 s16, d16 :: Sd 0x0000004c Dm 0x40532ae1 47ae147b
 vcvt.f64.u32 d0,  s1 :: Dd 0xfe000000 41efffff Sm 0x404ccccd
 vcvt.f64.u32 d30, s21 :: Dd 0x5c200000 41e88483 Sm 0xc4241ae1
 vcvt.f64.u32 d16, s12 :: Dd 0x62400000 41d11660 Sm 0x44598189
diff --git a/none/tests/async-sigs.stderr.exp-mips32 b/none/tests/async-sigs.stderr.exp-mips32
new file mode 100644
index 0000000..d910ea9
--- /dev/null
+++ b/none/tests/async-sigs.stderr.exp-mips32
@@ -0,0 +1,8 @@
+testing: blocking=0 caught=11 fatal=10... PASSED
+testing: blocking=0 caught=11 fatal=1... PASSED
+testing: blocking=0 caught=16 fatal=10... PASSED
+testing: blocking=0 caught=16 fatal=1... PASSED
+testing: blocking=1 caught=11 fatal=10... PASSED
+testing: blocking=1 caught=11 fatal=1... PASSED
+testing: blocking=1 caught=16 fatal=10... PASSED
+testing: blocking=1 caught=16 fatal=1... PASSED
diff --git a/none/tests/cmdline1.stdout.exp b/none/tests/cmdline1.stdout.exp
index 369e999..4ba4633 100644
--- a/none/tests/cmdline1.stdout.exp
+++ b/none/tests/cmdline1.stdout.exp
@@ -47,10 +47,12 @@
     --max-stackframe=<number> assume stack switch for SP changes larger
                               than <number> bytes [2000000]
     --main-stacksize=<number> set size of main thread's stack (in bytes)
-                              [use current 'ulimit' value]
+                              [min(max(current 'ulimit' value,1MB),16MB)]
 
   user options for Valgrind tools that replace malloc:
-    --alignment=<number>      set minimum alignment of heap allocations [...]
+    --alignment=<number>      set minimum alignment of heap allocations [not used by this tool]
+    --redzone-size=<number>   set minimum size of redzones added before/after
+                              heap blocks (in bytes). [not used by this tool]
 
   uncommon user options for all Valgrind tools:
     --fullpath-after=         (with nothing after the '=')
@@ -59,6 +61,9 @@
                               part of the path after 'string'.  Allows removal
                               of path prefixes.  Use this flag multiple times
                               to specify a set of prefixes to remove.
+    --extra-debuginfo-path=path    absolute path to search for additional
+                              debug symbols, in addition to existing default
+                              well known search paths.
     --smc-check=none|stack|all|all-non-file [stack]
                               checks for self-modifying code: none, only for
                               code found in stacks, for all code, or for all
@@ -76,19 +81,27 @@
     --fair-sched=no|yes|try   schedule threads fairly on multicore systems [no]
     --kernel-variant=variant1,variant2,...  known variants: bproc [none]
                               handle non-standard kernel variants
+    --merge-recursive-frames=<number>  merge frames between identical
+           program counters in max <number> frames) [0]
     --show-emwarns=no|yes     show warnings about emulation limits? [no]
     --require-text-symbol=:sonamepattern:symbolpattern    abort run if the
                               stated shared object doesn't have the stated
                               text symbol.  Patterns can contain ? and *.
+    --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname
+              specify patterns for function wrapping or replacement.
+              To use a non-libc malloc library that is
+                  in the main exe:  --soname-synonyms=somalloc=NONE
+                  in libxyzzy.so:   --soname-synonyms=somalloc=libxyzzy.so
+    --sigill-diagnostics=yes|no  warn about illegal instructions? [yes]
 
   user options for Nulgrind:
     (none)
 
   Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
 
-  Nulgrind is Copyright (C) 2002-2011, and GNU GPL'd, by Nicholas Nethercote.
-  Valgrind is Copyright (C) 2000-2011, and GNU GPL'd, by Julian Seward et al.
-  LibVEX is Copyright (C) 2004-2011, and GNU GPL'd, by OpenWorks LLP et al.
+  Nulgrind is Copyright (C) 2002-2012, and GNU GPL'd, by Nicholas Nethercote.
+  Valgrind is Copyright (C) 2000-2012, and GNU GPL'd, by Julian Seward et al.
+  LibVEX is Copyright (C) 2004-2012, and GNU GPL'd, by OpenWorks LLP et al.
 
   Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
 
diff --git a/none/tests/cmdline2.stdout.exp b/none/tests/cmdline2.stdout.exp
index 5cf446c..2bb5a1a 100644
--- a/none/tests/cmdline2.stdout.exp
+++ b/none/tests/cmdline2.stdout.exp
@@ -47,10 +47,12 @@
     --max-stackframe=<number> assume stack switch for SP changes larger
                               than <number> bytes [2000000]
     --main-stacksize=<number> set size of main thread's stack (in bytes)
-                              [use current 'ulimit' value]
+                              [min(max(current 'ulimit' value,1MB),16MB)]
 
   user options for Valgrind tools that replace malloc:
-    --alignment=<number>      set minimum alignment of heap allocations [...]
+    --alignment=<number>      set minimum alignment of heap allocations [not used by this tool]
+    --redzone-size=<number>   set minimum size of redzones added before/after
+                              heap blocks (in bytes). [not used by this tool]
 
   uncommon user options for all Valgrind tools:
     --fullpath-after=         (with nothing after the '=')
@@ -59,6 +61,9 @@
                               part of the path after 'string'.  Allows removal
                               of path prefixes.  Use this flag multiple times
                               to specify a set of prefixes to remove.
+    --extra-debuginfo-path=path    absolute path to search for additional
+                              debug symbols, in addition to existing default
+                              well known search paths.
     --smc-check=none|stack|all|all-non-file [stack]
                               checks for self-modifying code: none, only for
                               code found in stacks, for all code, or for all
@@ -76,10 +81,18 @@
     --fair-sched=no|yes|try   schedule threads fairly on multicore systems [no]
     --kernel-variant=variant1,variant2,...  known variants: bproc [none]
                               handle non-standard kernel variants
+    --merge-recursive-frames=<number>  merge frames between identical
+           program counters in max <number> frames) [0]
     --show-emwarns=no|yes     show warnings about emulation limits? [no]
     --require-text-symbol=:sonamepattern:symbolpattern    abort run if the
                               stated shared object doesn't have the stated
                               text symbol.  Patterns can contain ? and *.
+    --soname-synonyms=syn1=pattern1,syn2=pattern2,... synonym soname
+              specify patterns for function wrapping or replacement.
+              To use a non-libc malloc library that is
+                  in the main exe:  --soname-synonyms=somalloc=NONE
+                  in libxyzzy.so:   --soname-synonyms=somalloc=libxyzzy.so
+    --sigill-diagnostics=yes|no  warn about illegal instructions? [yes]
 
   user options for Nulgrind:
     (none)
@@ -90,7 +103,10 @@
     --sanity-level=<number>   level of sanity checking to do [1]
     --trace-flags=<XXXXXXXX>   show generated code? (X = 0|1) [00000000]
     --profile-flags=<XXXXXXXX> ditto, but for profiling (X = 0|1) [00000000]
+    --profile-interval=<number> show profile every <number> event checks
+                                [0, meaning only at the end of the run]
     --trace-notbelow=<number> only show BBs above <number> [999999999]
+    --trace-notabove=<number> only show BBs below <number> [0]
     --trace-syscalls=no|yes   show all system calls? [no]
     --trace-signals=no|yes    show signal handling details? [no]
     --trace-symtab=no|yes     show symbol table details? [no]
@@ -102,6 +118,8 @@
     --trace-redir=no|yes      show redirection details? [no]
     --trace-sched=no|yes      show thread scheduler details? [no]
     --profile-heap=no|yes     profile Valgrind's own space use
+    --core-redzone-size=<number>  set minimum size of redzones added before/after
+                              heap blocks allocated for Valgrind internal use (in bytes) [4]
     --wait-for-gdb=yes|no     pause on startup to wait for gdb attach
     --sym-offsets=yes|no      show syms in form 'name+offset' ? [no]
     --command-line-only=no|yes  only use command line options [no]
@@ -109,7 +127,10 @@
   Vex options for all Valgrind tools:
     --vex-iropt-verbosity=<0..9>           [0]
     --vex-iropt-level=<0..2>               [2]
-    --vex-iropt-precise-memory-exns=no|yes [no]
+    --vex-iropt-register-updates=sp-at-mem-access
+                                |unwindregs-at-mem-access
+                                |allregs-at-mem-access
+                                |allregs-at-each-insn  [unwindregs-at-mem-access]
     --vex-iropt-unroll-thresh=<0..400>     [120]
     --vex-guest-max-insns=<1..100>         [50]
     --vex-guest-chase-thresh=<0..99>       [10]
@@ -123,7 +144,8 @@
        0000 0100   show selecting insns
        0000 0010   show after reg-alloc
        0000 0001   show final assembly
-      (Nb: you need --trace-notbelow with --trace-flags for full details)
+       0000 0000   show summary profile only
+      (Nb: you need --trace-notbelow and/or --trace-notabove            with --trace-flags for full details)
 
   debugging options for Valgrind tools that report errors
     --dump-error=<number>     show translation for basic block associated
@@ -137,9 +159,9 @@
 
   Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
 
-  Nulgrind is Copyright (C) 2002-2011, and GNU GPL'd, by Nicholas Nethercote.
-  Valgrind is Copyright (C) 2000-2011, and GNU GPL'd, by Julian Seward et al.
-  LibVEX is Copyright (C) 2004-2011, and GNU GPL'd, by OpenWorks LLP et al.
+  Nulgrind is Copyright (C) 2002-2012, and GNU GPL'd, by Nicholas Nethercote.
+  Valgrind is Copyright (C) 2000-2012, and GNU GPL'd, by Julian Seward et al.
+  LibVEX is Copyright (C) 2004-2012, and GNU GPL'd, by OpenWorks LLP et al.
 
   Bug reports, feedback, admiration, abuse, etc, to: www.valgrind.org.
 
diff --git a/none/tests/fdleak_cmsg.c b/none/tests/fdleak_cmsg.c
index 530932b..32387b2 100644
--- a/none/tests/fdleak_cmsg.c
+++ b/none/tests/fdleak_cmsg.c
@@ -52,7 +52,7 @@
 
    {
       int x;
-      int baddrsize = 0;
+      unsigned baddrsize = 0;
       struct sockaddr_un baddr;
       struct msghdr msg = {NULL, 0, NULL, 0, 0, 0, 0};
       struct cmsghdr *cmsg;
diff --git a/none/tests/ifunc.c b/none/tests/ifunc.c
new file mode 100644
index 0000000..523d923
--- /dev/null
+++ b/none/tests/ifunc.c
@@ -0,0 +1,21 @@
+/* This test made valgrind run in an infinite loop. See bugzilla #301204 */
+#include <stdio.h>
+
+static void mytest(int d)
+{
+    printf("%d\n", d);
+}
+
+static void (*resolve_test(void))(void)
+{
+    return (void (*)(void))&mytest;
+}
+
+void test(int d)
+    __attribute__((ifunc("resolve_test")));
+
+int main()
+{
+    test(5);
+    return 0;
+}
diff --git a/none/tests/ifunc.stderr.exp b/none/tests/ifunc.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/ifunc.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/ifunc.stdout.exp b/none/tests/ifunc.stdout.exp
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/none/tests/ifunc.stdout.exp
@@ -0,0 +1 @@
+5
diff --git a/none/tests/ifunc.vgtest b/none/tests/ifunc.vgtest
new file mode 100644
index 0000000..f9ddd3e
--- /dev/null
+++ b/none/tests/ifunc.vgtest
@@ -0,0 +1,2 @@
+prereq: test -e ifunc
+prog: ifunc
diff --git a/none/tests/mips32/FPUarithmetic.c b/none/tests/mips32/FPUarithmetic.c
new file mode 100644
index 0000000..3a76b3f
--- /dev/null
+++ b/none/tests/mips32/FPUarithmetic.c
@@ -0,0 +1,195 @@
+#include <stdio.h>
+
+typedef enum {
+   ABSS=0, ABSD,
+   ADDS, ADDD,
+   DIVS, DIVD,
+   MULS, MULD,
+   NEGS, NEGD,
+   SQRTS, SQRTD,
+   SUBS, SUBD,
+   RECIPS, RECIPD,
+   RSQRTS, RSQRTD
+} flt_art_op_t;
+
+const char *flt_art_op_names[] = {
+   "abs.s", "abs.d",
+   "add.s", "add.d",
+   "div.s", "div.d",
+   "mul.s", "mul.d",
+   "neg.s", "neg.d",
+   "sqrt.s", "sqrt.d",
+   "sub.s", "sub.d",
+   "recip.s", "recip.d",
+   "rsqrt.s", "rsqrt.d"
+};
+
+const double fs_d[] = {
+   0, 456.2489562, 3, -1,
+   1384.6, -7.2945676, 1000000000, -5786.47,
+   1752, 0.0024575, 0.00000001, -248562.76,
+   -45786.476, 456.2489562, 34.00046, 45786.476,
+   1752065, 107, -45667.24, -7.2945676,
+   -347856.475, 356047.56, -1.0, 23.04
+};
+
+const double ft_d[] = {
+   -45786.476, 456.2489562, 34.00046, 45786.476,
+   1752065, 107, -45667.24, -7.2945676,
+   -347856.475, 356047.56, -1.0, 23.04,
+   0, 456.2489562, 3, -1,
+   1384.6, -7.2945676, 1000000000, -5786.47,
+   1752, 0.0024575, 0.00000001, -248562.76
+};
+
+const float fs_f[] = {
+   0, 456.2489562, 3, -1,
+   1384.6, -7.2945676, 1000000000, -5786.47,
+   1752, 0.0024575, 0.00000001, -248562.76,
+   -45786.476, 456.2489562, 34.00046, 45786.476,
+   1752065, 107, -45667.24, -7.2945676,
+   -347856.475, 356047.56, -1.0, 23.04
+};
+
+const float ft_f[] = {
+   -45786.476, 456.2489562, 34.00046, 45786.476,
+   1752065, 107, -45667.24, -7.2945676,
+   -347856.475, 356047.56, -1.0, 23.04,
+   0, 456.2489562, 3, -1,
+   1384.6, -7.2945676, 1000000000, -5786.47,
+   1752, 0.0024575, 0.00000001, -248562.76
+};
+
+#define UNOPdd(op) \
+        fd_d = 0;  \
+        __asm__ volatile( \
+					op" %0, %1\n\t" \
+					: "=f"(fd_d) : "f"(fs_d[i]));
+
+#define UNOPff(op) \
+        fd_f = 0;  \
+        __asm__ volatile( \
+					op" %0, %1\n\t" \
+					: "=f"(fd_f) : "f"(fs_f[i]));
+
+#define BINOPf(op) \
+        fd_f = 0;  \
+        __asm__ volatile( \
+					op" %0, %1, %2\n\t" \
+					: "=f"(fd_f) : "f"(fs_f[i]) , "f"(ft_f[i]));
+
+#define BINOPd(op) \
+        fd_d = 0;  \
+        __asm__ volatile( \
+					op" %0, %1, %2\n\t" \
+					: "=f"(fd_d) : "f"(fs_d[i]) , "f"(ft_d[i]));
+
+int arithmeticOperations(flt_art_op_t op) 
+{
+   double fd_d = 0;
+   float fd_f = 0;
+   int i = 0;
+   for (i = 0; i < 24; i++)
+   {
+      switch(op) {
+         case ABSS:
+              UNOPff("abs.s");
+              printf("%s %f %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+              break;
+         case ABSD:
+              UNOPdd("abs.d");
+              printf("%s %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+              break;
+         case ADDS:
+              BINOPf("add.s");
+              printf("%s %f %f %f\n", flt_art_op_names[op], fd_f, fs_f[i], ft_f[i]);
+              break;
+         case ADDD:
+              BINOPd("add.d");
+              printf("%s %lf %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i], ft_d[i]);
+              break;
+         case DIVS:
+              BINOPf("div.s");
+              printf("%s %f %f %f\n", flt_art_op_names[op], fd_f, fs_f[i], ft_f[i]);
+              break;
+         case DIVD:
+              BINOPd("div.d");
+              printf("%s %lf %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i], ft_d[i]);
+              break;
+         case MULS:
+              BINOPf("mul.s");
+              printf("%s %f %f %f\n", flt_art_op_names[op], fd_f, fs_f[i], ft_f[i]);
+              break;
+         case MULD:
+              BINOPd("mul.d");
+              printf("%s %lf %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i], ft_d[i]);
+              break;
+         case NEGS:
+              UNOPff("neg.s");
+              printf("%s %f %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+              break;
+         case NEGD:
+              UNOPdd("neg.d");
+              printf("%s %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+              break;
+         case SQRTS:
+              UNOPff("sqrt.s");
+              printf("%s %f %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+              break;
+         case SQRTD:
+              UNOPdd("sqrt.d");
+              printf("%s %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+              break;
+         case SUBS:
+              BINOPf("sub.s");
+              printf("%s %f %f %f\n", flt_art_op_names[op], fd_f, fs_f[i], ft_f[i]);
+              break;
+         case SUBD:
+              BINOPd("sub.d");
+              printf("%s %lf %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i], ft_d[i]);
+              break;
+         case RECIPS:
+#if (__mips==32) && (__mips_isa_rev>=2)
+              UNOPff("recip.s");
+              printf("%s %f %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+#endif
+              break;
+         case RECIPD:
+#if (__mips==32) && (__mips_isa_rev>=2)
+              UNOPdd("recip.d");
+              printf("%s %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+#endif
+              break;
+         case RSQRTS:
+#if (__mips==32) && (__mips_isa_rev>=2)
+              UNOPff("rsqrt.s");
+              printf("%s %f %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+#endif
+              break;
+         case RSQRTD:
+#if (__mips==32) && (__mips_isa_rev>=2)
+              UNOPdd("rsqrt.d");
+              printf("%s %lf %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+#endif
+              break;
+		default:
+			printf("error\n");
+			break;
+		}
+   }
+   return 0;
+}
+
+int main()
+{
+   flt_art_op_t op;
+
+   printf("-------------------------- %s --------------------------\n",
+        "test FPU Arithmetic Operations");
+   for (op = ABSS; op <= RECIPD; op++) {
+      arithmeticOperations(op);
+   }
+
+   return 0;
+}
+
diff --git a/none/tests/mips32/FPUarithmetic.stderr.exp b/none/tests/mips32/FPUarithmetic.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips32/FPUarithmetic.stderr.exp
diff --git a/none/tests/mips32/FPUarithmetic.stdout.exp b/none/tests/mips32/FPUarithmetic.stdout.exp
new file mode 100644
index 0000000..0eac001
--- /dev/null
+++ b/none/tests/mips32/FPUarithmetic.stdout.exp
@@ -0,0 +1,385 @@
+-------------------------- test FPU Arithmetic Operations --------------------------
+abs.s 0.000000 0.000000
+abs.s 456.248962 456.248962
+abs.s 3.000000 3.000000
+abs.s 1.000000 -1.000000
+abs.s 1384.599976 1384.599976
+abs.s 7.294568 -7.294568
+abs.s 1000000000.000000 1000000000.000000
+abs.s 5786.470215 -5786.470215
+abs.s 1752.000000 1752.000000
+abs.s 0.002457 0.002457
+abs.s 0.000000 0.000000
+abs.s 248562.765625 -248562.765625
+abs.s 45786.476562 -45786.476562
+abs.s 456.248962 456.248962
+abs.s 34.000462 34.000462
+abs.s 45786.476562 45786.476562
+abs.s 1752065.000000 1752065.000000
+abs.s 107.000000 107.000000
+abs.s 45667.238281 -45667.238281
+abs.s 7.294568 -7.294568
+abs.s 347856.468750 -347856.468750
+abs.s 356047.562500 356047.562500
+abs.s 1.000000 -1.000000
+abs.s 23.040001 23.040001
+abs.d 0.000000 0.000000
+abs.d 456.248956 456.248956
+abs.d 3.000000 3.000000
+abs.d 1.000000 -1.000000
+abs.d 1384.600000 1384.600000
+abs.d 7.294568 -7.294568
+abs.d 1000000000.000000 1000000000.000000
+abs.d 5786.470000 -5786.470000
+abs.d 1752.000000 1752.000000
+abs.d 0.002458 0.002458
+abs.d 0.000000 0.000000
+abs.d 248562.760000 -248562.760000
+abs.d 45786.476000 -45786.476000
+abs.d 456.248956 456.248956
+abs.d 34.000460 34.000460
+abs.d 45786.476000 45786.476000
+abs.d 1752065.000000 1752065.000000
+abs.d 107.000000 107.000000
+abs.d 45667.240000 -45667.240000
+abs.d 7.294568 -7.294568
+abs.d 347856.475000 -347856.475000
+abs.d 356047.560000 356047.560000
+abs.d 1.000000 -1.000000
+abs.d 23.040000 23.040000
+add.s -45786.476562 0.000000 -45786.476562
+add.s 912.497925 456.248962 456.248962
+add.s 37.000462 3.000000 34.000462
+add.s 45785.476562 -1.000000 45786.476562
+add.s 1753449.625000 1384.599976 1752065.000000
+add.s 99.705429 -7.294568 107.000000
+add.s 999954304.000000 1000000000.000000 -45667.238281
+add.s -5793.764648 -5786.470215 -7.294568
+add.s -346104.468750 1752.000000 -347856.468750
+add.s 356047.562500 0.002457 356047.562500
+add.s -1.000000 0.000000 -1.000000
+add.s -248539.718750 -248562.765625 23.040001
+add.s -45786.476562 -45786.476562 0.000000
+add.s 912.497925 456.248962 456.248962
+add.s 37.000462 34.000462 3.000000
+add.s 45785.476562 45786.476562 -1.000000
+add.s 1753449.625000 1752065.000000 1384.599976
+add.s 99.705429 107.000000 -7.294568
+add.s 999954304.000000 -45667.238281 1000000000.000000
+add.s -5793.764648 -7.294568 -5786.470215
+add.s -346104.468750 -347856.468750 1752.000000
+add.s 356047.562500 356047.562500 0.002457
+add.s -1.000000 -1.000000 0.000000
+add.s -248539.718750 23.040001 -248562.765625
+add.d -45786.476000 0.000000 -45786.476000
+add.d 912.497912 456.248956 456.248956
+add.d 37.000460 3.000000 34.000460
+add.d 45785.476000 -1.000000 45786.476000
+add.d 1753449.600000 1384.600000 1752065.000000
+add.d 99.705432 -7.294568 107.000000
+add.d 999954332.760000 1000000000.000000 -45667.240000
+add.d -5793.764568 -5786.470000 -7.294568
+add.d -346104.475000 1752.000000 -347856.475000
+add.d 356047.562458 0.002458 356047.560000
+add.d -1.000000 0.000000 -1.000000
+add.d -248539.720000 -248562.760000 23.040000
+add.d -45786.476000 -45786.476000 0.000000
+add.d 912.497912 456.248956 456.248956
+add.d 37.000460 34.000460 3.000000
+add.d 45785.476000 45786.476000 -1.000000
+add.d 1753449.600000 1752065.000000 1384.600000
+add.d 99.705432 107.000000 -7.294568
+add.d 999954332.760000 -45667.240000 1000000000.000000
+add.d -5793.764568 -7.294568 -5786.470000
+add.d -346104.475000 -347856.475000 1752.000000
+add.d 356047.562458 356047.560000 0.002458
+add.d -1.000000 -1.000000 0.000000
+add.d -248539.720000 23.040000 -248562.760000
+div.s -0.000000 0.000000 -45786.476562
+div.s 1.000000 456.248962 456.248962
+div.s 0.088234 3.000000 34.000462
+div.s -0.000022 -1.000000 45786.476562
+div.s 0.000790 1384.599976 1752065.000000
+div.s -0.068174 -7.294568 107.000000
+div.s -21897.535156 1000000000.000000 -45667.238281
+div.s 793.257446 -5786.470215 -7.294568
+div.s -0.005037 1752.000000 -347856.468750
+div.s 0.000000 0.002457 356047.562500
+div.s -0.000000 0.000000 -1.000000
+div.s -10788.314453 -248562.765625 23.040001
+div.s -inf -45786.476562 0.000000
+div.s 1.000000 456.248962 456.248962
+div.s 11.333488 34.000462 3.000000
+div.s -45786.476562 45786.476562 -1.000000
+div.s 1265.394409 1752065.000000 1384.599976
+div.s -14.668450 107.000000 -7.294568
+div.s -0.000046 -45667.238281 1000000000.000000
+div.s 0.001261 -7.294568 -5786.470215
+div.s -198.548218 -347856.468750 1752.000000
+div.s 144882016.000000 356047.562500 0.002457
+div.s -100000000.000000 -1.000000 0.000000
+div.s -0.000093 23.040001 -248562.765625
+div.d -0.000000 0.000000 -45786.476000
+div.d 1.000000 456.248956 456.248956
+div.d 0.088234 3.000000 34.000460
+div.d -0.000022 -1.000000 45786.476000
+div.d 0.000790 1384.600000 1752065.000000
+div.d -0.068174 -7.294568 107.000000
+div.d -21897.535301 1000000000.000000 -45667.240000
+div.d 793.257437 -5786.470000 -7.294568
+div.d -0.005037 1752.000000 -347856.475000
+div.d 0.000000 0.002458 356047.560000
+div.d -0.000000 0.000000 -1.000000
+div.d -10788.314236 -248562.760000 23.040000
+div.d -inf -45786.476000 0.000000
+div.d 1.000000 456.248956 456.248956
+div.d 11.333487 34.000460 3.000000
+div.d -45786.476000 45786.476000 -1.000000
+div.d 1265.394338 1752065.000000 1384.600000
+div.d -14.668450 107.000000 -7.294568
+div.d -0.000046 -45667.240000 1000000000.000000
+div.d 0.001261 -7.294568 -5786.470000
+div.d -198.548216 -347856.475000 1752.000000
+div.d 144882018.311292 356047.560000 0.002458
+div.d -100000000.000000 -1.000000 0.000000
+div.d -0.000093 23.040000 -248562.760000
+mul.s -0.000000 0.000000 -45786.476562
+mul.s 208163.109375 456.248962 456.248962
+mul.s 102.001389 3.000000 34.000462
+mul.s -45786.476562 -1.000000 45786.476562
+mul.s 2425909248.000000 1384.599976 1752065.000000
+mul.s -780.518738 -7.294568 107.000000
+mul.s -45667238019072.000000 1000000000.000000 -45667.238281
+mul.s 42209.796875 -5786.470215 -7.294568
+mul.s -609444544.000000 1752.000000 -347856.468750
+mul.s 874.986877 0.002457 356047.562500
+mul.s -0.000000 0.000000 -1.000000
+mul.s -5726886.500000 -248562.765625 23.040001
+mul.s -0.000000 -45786.476562 0.000000
+mul.s 208163.109375 456.248962 456.248962
+mul.s 102.001389 34.000462 3.000000
+mul.s -45786.476562 45786.476562 -1.000000
+mul.s 2425909248.000000 1752065.000000 1384.599976
+mul.s -780.518738 107.000000 -7.294568
+mul.s -45667238019072.000000 -45667.238281 1000000000.000000
+mul.s 42209.796875 -7.294568 -5786.470215
+mul.s -609444544.000000 -347856.468750 1752.000000
+mul.s 874.986877 356047.562500 0.002457
+mul.s -0.000000 -1.000000 0.000000
+mul.s -5726886.500000 23.040001 -248562.765625
+mul.d -0.000000 0.000000 -45786.476000
+mul.d 208163.110034 456.248956 456.248956
+mul.d 102.001380 3.000000 34.000460
+mul.d -45786.476000 -1.000000 45786.476000
+mul.d 2425909199.000000 1384.600000 1752065.000000
+mul.d -780.518733 -7.294568 107.000000
+mul.d -45667240000000.000000 1000000000.000000 -45667.240000
+mul.d 42209.796580 -5786.470000 -7.294568
+mul.d -609444544.200000 1752.000000 -347856.475000
+mul.d 874.986879 0.002458 356047.560000
+mul.d -0.000000 0.000000 -1.000000
+mul.d -5726885.990400 -248562.760000 23.040000
+mul.d -0.000000 -45786.476000 0.000000
+mul.d 208163.110034 456.248956 456.248956
+mul.d 102.001380 34.000460 3.000000
+mul.d -45786.476000 45786.476000 -1.000000
+mul.d 2425909199.000000 1752065.000000 1384.600000
+mul.d -780.518733 107.000000 -7.294568
+mul.d -45667240000000.000000 -45667.240000 1000000000.000000
+mul.d 42209.796580 -7.294568 -5786.470000
+mul.d -609444544.200000 -347856.475000 1752.000000
+mul.d 874.986879 356047.560000 0.002458
+mul.d -0.000000 -1.000000 0.000000
+mul.d -5726885.990400 23.040000 -248562.760000
+neg.s -0.000000 0.000000
+neg.s -456.248962 456.248962
+neg.s -3.000000 3.000000
+neg.s 1.000000 -1.000000
+neg.s -1384.599976 1384.599976
+neg.s 7.294568 -7.294568
+neg.s -1000000000.000000 1000000000.000000
+neg.s 5786.470215 -5786.470215
+neg.s -1752.000000 1752.000000
+neg.s -0.002457 0.002457
+neg.s -0.000000 0.000000
+neg.s 248562.765625 -248562.765625
+neg.s 45786.476562 -45786.476562
+neg.s -456.248962 456.248962
+neg.s -34.000462 34.000462
+neg.s -45786.476562 45786.476562
+neg.s -1752065.000000 1752065.000000
+neg.s -107.000000 107.000000
+neg.s 45667.238281 -45667.238281
+neg.s 7.294568 -7.294568
+neg.s 347856.468750 -347856.468750
+neg.s -356047.562500 356047.562500
+neg.s 1.000000 -1.000000
+neg.s -23.040001 23.040001
+neg.d -0.000000 0.000000
+neg.d -456.248956 456.248956
+neg.d -3.000000 3.000000
+neg.d 1.000000 -1.000000
+neg.d -1384.600000 1384.600000
+neg.d 7.294568 -7.294568
+neg.d -1000000000.000000 1000000000.000000
+neg.d 5786.470000 -5786.470000
+neg.d -1752.000000 1752.000000
+neg.d -0.002458 0.002458
+neg.d -0.000000 0.000000
+neg.d 248562.760000 -248562.760000
+neg.d 45786.476000 -45786.476000
+neg.d -456.248956 456.248956
+neg.d -34.000460 34.000460
+neg.d -45786.476000 45786.476000
+neg.d -1752065.000000 1752065.000000
+neg.d -107.000000 107.000000
+neg.d 45667.240000 -45667.240000
+neg.d 7.294568 -7.294568
+neg.d 347856.475000 -347856.475000
+neg.d -356047.560000 356047.560000
+neg.d 1.000000 -1.000000
+neg.d -23.040000 23.040000
+sqrt.s 0.000000 0.000000
+sqrt.s 21.359985 456.248962
+sqrt.s 1.732051 3.000000
+sqrt.s nan -1.000000
+sqrt.s 37.210213 1384.599976
+sqrt.s nan -7.294568
+sqrt.s 31622.777344 1000000000.000000
+sqrt.s nan -5786.470215
+sqrt.s 41.856899 1752.000000
+sqrt.s 0.049573 0.002457
+sqrt.s 0.000100 0.000000
+sqrt.s nan -248562.765625
+sqrt.s nan -45786.476562
+sqrt.s 21.359985 456.248962
+sqrt.s 5.830991 34.000462
+sqrt.s 213.977753 45786.476562
+sqrt.s 1323.655884 1752065.000000
+sqrt.s 10.344080 107.000000
+sqrt.s nan -45667.238281
+sqrt.s nan -7.294568
+sqrt.s nan -347856.468750
+sqrt.s 596.697205 356047.562500
+sqrt.s nan -1.000000
+sqrt.s 4.800000 23.040001
+sqrt.d 0.000000 0.000000
+sqrt.d 21.359985 456.248956
+sqrt.d 1.732051 3.000000
+sqrt.d nan -1.000000
+sqrt.d 37.210214 1384.600000
+sqrt.d nan -7.294568
+sqrt.d 31622.776602 1000000000.000000
+sqrt.d nan -5786.470000
+sqrt.d 41.856899 1752.000000
+sqrt.d 0.049573 0.002458
+sqrt.d 0.000100 0.000000
+sqrt.d nan -248562.760000
+sqrt.d nan -45786.476000
+sqrt.d 21.359985 456.248956
+sqrt.d 5.830991 34.000460
+sqrt.d 213.977747 45786.476000
+sqrt.d 1323.655922 1752065.000000
+sqrt.d 10.344080 107.000000
+sqrt.d nan -45667.240000
+sqrt.d nan -7.294568
+sqrt.d nan -347856.475000
+sqrt.d 596.697210 356047.560000
+sqrt.d nan -1.000000
+sqrt.d 4.800000 23.040000
+sub.s 45786.476562 0.000000 -45786.476562
+sub.s 0.000000 456.248962 456.248962
+sub.s -31.000462 3.000000 34.000462
+sub.s -45787.476562 -1.000000 45786.476562
+sub.s -1750680.375000 1384.599976 1752065.000000
+sub.s -114.294571 -7.294568 107.000000
+sub.s 1000045696.000000 1000000000.000000 -45667.238281
+sub.s -5779.175781 -5786.470215 -7.294568
+sub.s 349608.468750 1752.000000 -347856.468750
+sub.s -356047.562500 0.002457 356047.562500
+sub.s 1.000000 0.000000 -1.000000
+sub.s -248585.812500 -248562.765625 23.040001
+sub.s -45786.476562 -45786.476562 0.000000
+sub.s 0.000000 456.248962 456.248962
+sub.s 31.000462 34.000462 3.000000
+sub.s 45787.476562 45786.476562 -1.000000
+sub.s 1750680.375000 1752065.000000 1384.599976
+sub.s 114.294571 107.000000 -7.294568
+sub.s -1000045696.000000 -45667.238281 1000000000.000000
+sub.s 5779.175781 -7.294568 -5786.470215
+sub.s -349608.468750 -347856.468750 1752.000000
+sub.s 356047.562500 356047.562500 0.002457
+sub.s -1.000000 -1.000000 0.000000
+sub.s 248585.812500 23.040001 -248562.765625
+sub.d 45786.476000 0.000000 -45786.476000
+sub.d 0.000000 456.248956 456.248956
+sub.d -31.000460 3.000000 34.000460
+sub.d -45787.476000 -1.000000 45786.476000
+sub.d -1750680.400000 1384.600000 1752065.000000
+sub.d -114.294568 -7.294568 107.000000
+sub.d 1000045667.240000 1000000000.000000 -45667.240000
+sub.d -5779.175432 -5786.470000 -7.294568
+sub.d 349608.475000 1752.000000 -347856.475000
+sub.d -356047.557542 0.002458 356047.560000
+sub.d 1.000000 0.000000 -1.000000
+sub.d -248585.800000 -248562.760000 23.040000
+sub.d -45786.476000 -45786.476000 0.000000
+sub.d 0.000000 456.248956 456.248956
+sub.d 31.000460 34.000460 3.000000
+sub.d 45787.476000 45786.476000 -1.000000
+sub.d 1750680.400000 1752065.000000 1384.600000
+sub.d 114.294568 107.000000 -7.294568
+sub.d -1000045667.240000 -45667.240000 1000000000.000000
+sub.d 5779.175432 -7.294568 -5786.470000
+sub.d -349608.475000 -347856.475000 1752.000000
+sub.d 356047.557542 356047.560000 0.002458
+sub.d -1.000000 -1.000000 0.000000
+sub.d 248585.800000 23.040000 -248562.760000
+recip.s inf 0.000000
+recip.s 0.002192 456.248962
+recip.s 0.333333 3.000000
+recip.s -1.000000 -1.000000
+recip.s 0.000722 1384.599976
+recip.s -0.137088 -7.294568
+recip.s 0.000000 1000000000.000000
+recip.s -0.000173 -5786.470215
+recip.s 0.000571 1752.000000
+recip.s 406.917603 0.002457
+recip.s 100000000.000000 0.000000
+recip.s -0.000004 -248562.765625
+recip.s -0.000022 -45786.476562
+recip.s 0.002192 456.248962
+recip.s 0.029411 34.000462
+recip.s 0.000022 45786.476562
+recip.s 0.000001 1752065.000000
+recip.s 0.009346 107.000000
+recip.s -0.000022 -45667.238281
+recip.s -0.137088 -7.294568
+recip.s -0.000003 -347856.468750
+recip.s 0.000003 356047.562500
+recip.s -1.000000 -1.000000
+recip.s 0.043403 23.040001
+recip.d inf 0.000000
+recip.d 0.002192 456.248956
+recip.d 0.333333 3.000000
+recip.d -1.000000 -1.000000
+recip.d 0.000722 1384.600000
+recip.d -0.137088 -7.294568
+recip.d 0.000000 1000000000.000000
+recip.d -0.000173 -5786.470000
+recip.d 0.000571 1752.000000
+recip.d 406.917599 0.002458
+recip.d 100000000.000000 0.000000
+recip.d -0.000004 -248562.760000
+recip.d -0.000022 -45786.476000
+recip.d 0.002192 456.248956
+recip.d 0.029411 34.000460
+recip.d 0.000022 45786.476000
+recip.d 0.000001 1752065.000000
+recip.d 0.009346 107.000000
+recip.d -0.000022 -45667.240000
+recip.d -0.137088 -7.294568
+recip.d -0.000003 -347856.475000
+recip.d 0.000003 356047.560000
+recip.d -1.000000 -1.000000
+recip.d 0.043403 23.040000
diff --git a/none/tests/mips32/FPUarithmetic.stdout.exp-mips32 b/none/tests/mips32/FPUarithmetic.stdout.exp-mips32
new file mode 100644
index 0000000..c33b2b2
--- /dev/null
+++ b/none/tests/mips32/FPUarithmetic.stdout.exp-mips32
@@ -0,0 +1,337 @@
+-------------------------- test FPU Arithmetic Operations --------------------------
+abs.s 0.000000 0.000000
+abs.s 456.248962 456.248962
+abs.s 3.000000 3.000000
+abs.s 1.000000 -1.000000
+abs.s 1384.599976 1384.599976
+abs.s 7.294568 -7.294568
+abs.s 1000000000.000000 1000000000.000000
+abs.s 5786.470215 -5786.470215
+abs.s 1752.000000 1752.000000
+abs.s 0.002457 0.002457
+abs.s 0.000000 0.000000
+abs.s 248562.765625 -248562.765625
+abs.s 45786.476562 -45786.476562
+abs.s 456.248962 456.248962
+abs.s 34.000462 34.000462
+abs.s 45786.476562 45786.476562
+abs.s 1752065.000000 1752065.000000
+abs.s 107.000000 107.000000
+abs.s 45667.238281 -45667.238281
+abs.s 7.294568 -7.294568
+abs.s 347856.468750 -347856.468750
+abs.s 356047.562500 356047.562500
+abs.s 1.000000 -1.000000
+abs.s 23.040001 23.040001
+abs.d 0.000000 0.000000
+abs.d 456.248956 456.248956
+abs.d 3.000000 3.000000
+abs.d 1.000000 -1.000000
+abs.d 1384.600000 1384.600000
+abs.d 7.294568 -7.294568
+abs.d 1000000000.000000 1000000000.000000
+abs.d 5786.470000 -5786.470000
+abs.d 1752.000000 1752.000000
+abs.d 0.002458 0.002458
+abs.d 0.000000 0.000000
+abs.d 248562.760000 -248562.760000
+abs.d 45786.476000 -45786.476000
+abs.d 456.248956 456.248956
+abs.d 34.000460 34.000460
+abs.d 45786.476000 45786.476000
+abs.d 1752065.000000 1752065.000000
+abs.d 107.000000 107.000000
+abs.d 45667.240000 -45667.240000
+abs.d 7.294568 -7.294568
+abs.d 347856.475000 -347856.475000
+abs.d 356047.560000 356047.560000
+abs.d 1.000000 -1.000000
+abs.d 23.040000 23.040000
+add.s -45786.476562 0.000000 -45786.476562
+add.s 912.497925 456.248962 456.248962
+add.s 37.000462 3.000000 34.000462
+add.s 45785.476562 -1.000000 45786.476562
+add.s 1753449.625000 1384.599976 1752065.000000
+add.s 99.705429 -7.294568 107.000000
+add.s 999954304.000000 1000000000.000000 -45667.238281
+add.s -5793.764648 -5786.470215 -7.294568
+add.s -346104.468750 1752.000000 -347856.468750
+add.s 356047.562500 0.002457 356047.562500
+add.s -1.000000 0.000000 -1.000000
+add.s -248539.718750 -248562.765625 23.040001
+add.s -45786.476562 -45786.476562 0.000000
+add.s 912.497925 456.248962 456.248962
+add.s 37.000462 34.000462 3.000000
+add.s 45785.476562 45786.476562 -1.000000
+add.s 1753449.625000 1752065.000000 1384.599976
+add.s 99.705429 107.000000 -7.294568
+add.s 999954304.000000 -45667.238281 1000000000.000000
+add.s -5793.764648 -7.294568 -5786.470215
+add.s -346104.468750 -347856.468750 1752.000000
+add.s 356047.562500 356047.562500 0.002457
+add.s -1.000000 -1.000000 0.000000
+add.s -248539.718750 23.040001 -248562.765625
+add.d -45786.476000 0.000000 -45786.476000
+add.d 912.497912 456.248956 456.248956
+add.d 37.000460 3.000000 34.000460
+add.d 45785.476000 -1.000000 45786.476000
+add.d 1753449.600000 1384.600000 1752065.000000
+add.d 99.705432 -7.294568 107.000000
+add.d 999954332.760000 1000000000.000000 -45667.240000
+add.d -5793.764568 -5786.470000 -7.294568
+add.d -346104.475000 1752.000000 -347856.475000
+add.d 356047.562458 0.002458 356047.560000
+add.d -1.000000 0.000000 -1.000000
+add.d -248539.720000 -248562.760000 23.040000
+add.d -45786.476000 -45786.476000 0.000000
+add.d 912.497912 456.248956 456.248956
+add.d 37.000460 34.000460 3.000000
+add.d 45785.476000 45786.476000 -1.000000
+add.d 1753449.600000 1752065.000000 1384.600000
+add.d 99.705432 107.000000 -7.294568
+add.d 999954332.760000 -45667.240000 1000000000.000000
+add.d -5793.764568 -7.294568 -5786.470000
+add.d -346104.475000 -347856.475000 1752.000000
+add.d 356047.562458 356047.560000 0.002458
+add.d -1.000000 -1.000000 0.000000
+add.d -248539.720000 23.040000 -248562.760000
+div.s -0.000000 0.000000 -45786.476562
+div.s 1.000000 456.248962 456.248962
+div.s 0.088234 3.000000 34.000462
+div.s -0.000022 -1.000000 45786.476562
+div.s 0.000790 1384.599976 1752065.000000
+div.s -0.068174 -7.294568 107.000000
+div.s -21897.535156 1000000000.000000 -45667.238281
+div.s 793.257446 -5786.470215 -7.294568
+div.s -0.005037 1752.000000 -347856.468750
+div.s 0.000000 0.002457 356047.562500
+div.s -0.000000 0.000000 -1.000000
+div.s -10788.314453 -248562.765625 23.040001
+div.s -inf -45786.476562 0.000000
+div.s 1.000000 456.248962 456.248962
+div.s 11.333488 34.000462 3.000000
+div.s -45786.476562 45786.476562 -1.000000
+div.s 1265.394409 1752065.000000 1384.599976
+div.s -14.668450 107.000000 -7.294568
+div.s -0.000046 -45667.238281 1000000000.000000
+div.s 0.001261 -7.294568 -5786.470215
+div.s -198.548218 -347856.468750 1752.000000
+div.s 144882016.000000 356047.562500 0.002457
+div.s -100000000.000000 -1.000000 0.000000
+div.s -0.000093 23.040001 -248562.765625
+div.d -0.000000 0.000000 -45786.476000
+div.d 1.000000 456.248956 456.248956
+div.d 0.088234 3.000000 34.000460
+div.d -0.000022 -1.000000 45786.476000
+div.d 0.000790 1384.600000 1752065.000000
+div.d -0.068174 -7.294568 107.000000
+div.d -21897.535301 1000000000.000000 -45667.240000
+div.d 793.257437 -5786.470000 -7.294568
+div.d -0.005037 1752.000000 -347856.475000
+div.d 0.000000 0.002458 356047.560000
+div.d -0.000000 0.000000 -1.000000
+div.d -10788.314236 -248562.760000 23.040000
+div.d -inf -45786.476000 0.000000
+div.d 1.000000 456.248956 456.248956
+div.d 11.333487 34.000460 3.000000
+div.d -45786.476000 45786.476000 -1.000000
+div.d 1265.394338 1752065.000000 1384.600000
+div.d -14.668450 107.000000 -7.294568
+div.d -0.000046 -45667.240000 1000000000.000000
+div.d 0.001261 -7.294568 -5786.470000
+div.d -198.548216 -347856.475000 1752.000000
+div.d 144882018.311292 356047.560000 0.002458
+div.d -100000000.000000 -1.000000 0.000000
+div.d -0.000093 23.040000 -248562.760000
+mul.s -0.000000 0.000000 -45786.476562
+mul.s 208163.109375 456.248962 456.248962
+mul.s 102.001389 3.000000 34.000462
+mul.s -45786.476562 -1.000000 45786.476562
+mul.s 2425909248.000000 1384.599976 1752065.000000
+mul.s -780.518738 -7.294568 107.000000
+mul.s -45667238019072.000000 1000000000.000000 -45667.238281
+mul.s 42209.796875 -5786.470215 -7.294568
+mul.s -609444544.000000 1752.000000 -347856.468750
+mul.s 874.986877 0.002457 356047.562500
+mul.s -0.000000 0.000000 -1.000000
+mul.s -5726886.500000 -248562.765625 23.040001
+mul.s -0.000000 -45786.476562 0.000000
+mul.s 208163.109375 456.248962 456.248962
+mul.s 102.001389 34.000462 3.000000
+mul.s -45786.476562 45786.476562 -1.000000
+mul.s 2425909248.000000 1752065.000000 1384.599976
+mul.s -780.518738 107.000000 -7.294568
+mul.s -45667238019072.000000 -45667.238281 1000000000.000000
+mul.s 42209.796875 -7.294568 -5786.470215
+mul.s -609444544.000000 -347856.468750 1752.000000
+mul.s 874.986877 356047.562500 0.002457
+mul.s -0.000000 -1.000000 0.000000
+mul.s -5726886.500000 23.040001 -248562.765625
+mul.d -0.000000 0.000000 -45786.476000
+mul.d 208163.110034 456.248956 456.248956
+mul.d 102.001380 3.000000 34.000460
+mul.d -45786.476000 -1.000000 45786.476000
+mul.d 2425909199.000000 1384.600000 1752065.000000
+mul.d -780.518733 -7.294568 107.000000
+mul.d -45667240000000.000000 1000000000.000000 -45667.240000
+mul.d 42209.796580 -5786.470000 -7.294568
+mul.d -609444544.200000 1752.000000 -347856.475000
+mul.d 874.986879 0.002458 356047.560000
+mul.d -0.000000 0.000000 -1.000000
+mul.d -5726885.990400 -248562.760000 23.040000
+mul.d -0.000000 -45786.476000 0.000000
+mul.d 208163.110034 456.248956 456.248956
+mul.d 102.001380 34.000460 3.000000
+mul.d -45786.476000 45786.476000 -1.000000
+mul.d 2425909199.000000 1752065.000000 1384.600000
+mul.d -780.518733 107.000000 -7.294568
+mul.d -45667240000000.000000 -45667.240000 1000000000.000000
+mul.d 42209.796580 -7.294568 -5786.470000
+mul.d -609444544.200000 -347856.475000 1752.000000
+mul.d 874.986879 356047.560000 0.002458
+mul.d -0.000000 -1.000000 0.000000
+mul.d -5726885.990400 23.040000 -248562.760000
+neg.s -0.000000 0.000000
+neg.s -456.248962 456.248962
+neg.s -3.000000 3.000000
+neg.s 1.000000 -1.000000
+neg.s -1384.599976 1384.599976
+neg.s 7.294568 -7.294568
+neg.s -1000000000.000000 1000000000.000000
+neg.s 5786.470215 -5786.470215
+neg.s -1752.000000 1752.000000
+neg.s -0.002457 0.002457
+neg.s -0.000000 0.000000
+neg.s 248562.765625 -248562.765625
+neg.s 45786.476562 -45786.476562
+neg.s -456.248962 456.248962
+neg.s -34.000462 34.000462
+neg.s -45786.476562 45786.476562
+neg.s -1752065.000000 1752065.000000
+neg.s -107.000000 107.000000
+neg.s 45667.238281 -45667.238281
+neg.s 7.294568 -7.294568
+neg.s 347856.468750 -347856.468750
+neg.s -356047.562500 356047.562500
+neg.s 1.000000 -1.000000
+neg.s -23.040001 23.040001
+neg.d -0.000000 0.000000
+neg.d -456.248956 456.248956
+neg.d -3.000000 3.000000
+neg.d 1.000000 -1.000000
+neg.d -1384.600000 1384.600000
+neg.d 7.294568 -7.294568
+neg.d -1000000000.000000 1000000000.000000
+neg.d 5786.470000 -5786.470000
+neg.d -1752.000000 1752.000000
+neg.d -0.002458 0.002458
+neg.d -0.000000 0.000000
+neg.d 248562.760000 -248562.760000
+neg.d 45786.476000 -45786.476000
+neg.d -456.248956 456.248956
+neg.d -34.000460 34.000460
+neg.d -45786.476000 45786.476000
+neg.d -1752065.000000 1752065.000000
+neg.d -107.000000 107.000000
+neg.d 45667.240000 -45667.240000
+neg.d 7.294568 -7.294568
+neg.d 347856.475000 -347856.475000
+neg.d -356047.560000 356047.560000
+neg.d 1.000000 -1.000000
+neg.d -23.040000 23.040000
+sqrt.s 0.000000 0.000000
+sqrt.s 21.359985 456.248962
+sqrt.s 1.732051 3.000000
+sqrt.s nan -1.000000
+sqrt.s 37.210213 1384.599976
+sqrt.s nan -7.294568
+sqrt.s 31622.777344 1000000000.000000
+sqrt.s nan -5786.470215
+sqrt.s 41.856899 1752.000000
+sqrt.s 0.049573 0.002457
+sqrt.s 0.000100 0.000000
+sqrt.s nan -248562.765625
+sqrt.s nan -45786.476562
+sqrt.s 21.359985 456.248962
+sqrt.s 5.830991 34.000462
+sqrt.s 213.977753 45786.476562
+sqrt.s 1323.655884 1752065.000000
+sqrt.s 10.344080 107.000000
+sqrt.s nan -45667.238281
+sqrt.s nan -7.294568
+sqrt.s nan -347856.468750
+sqrt.s 596.697205 356047.562500
+sqrt.s nan -1.000000
+sqrt.s 4.800000 23.040001
+sqrt.d 0.000000 0.000000
+sqrt.d 21.359985 456.248956
+sqrt.d 1.732051 3.000000
+sqrt.d nan -1.000000
+sqrt.d 37.210214 1384.600000
+sqrt.d nan -7.294568
+sqrt.d 31622.776602 1000000000.000000
+sqrt.d nan -5786.470000
+sqrt.d 41.856899 1752.000000
+sqrt.d 0.049573 0.002458
+sqrt.d 0.000100 0.000000
+sqrt.d nan -248562.760000
+sqrt.d nan -45786.476000
+sqrt.d 21.359985 456.248956
+sqrt.d 5.830991 34.000460
+sqrt.d 213.977747 45786.476000
+sqrt.d 1323.655922 1752065.000000
+sqrt.d 10.344080 107.000000
+sqrt.d nan -45667.240000
+sqrt.d nan -7.294568
+sqrt.d nan -347856.475000
+sqrt.d 596.697210 356047.560000
+sqrt.d nan -1.000000
+sqrt.d 4.800000 23.040000
+sub.s 45786.476562 0.000000 -45786.476562
+sub.s 0.000000 456.248962 456.248962
+sub.s -31.000462 3.000000 34.000462
+sub.s -45787.476562 -1.000000 45786.476562
+sub.s -1750680.375000 1384.599976 1752065.000000
+sub.s -114.294571 -7.294568 107.000000
+sub.s 1000045696.000000 1000000000.000000 -45667.238281
+sub.s -5779.175781 -5786.470215 -7.294568
+sub.s 349608.468750 1752.000000 -347856.468750
+sub.s -356047.562500 0.002457 356047.562500
+sub.s 1.000000 0.000000 -1.000000
+sub.s -248585.812500 -248562.765625 23.040001
+sub.s -45786.476562 -45786.476562 0.000000
+sub.s 0.000000 456.248962 456.248962
+sub.s 31.000462 34.000462 3.000000
+sub.s 45787.476562 45786.476562 -1.000000
+sub.s 1750680.375000 1752065.000000 1384.599976
+sub.s 114.294571 107.000000 -7.294568
+sub.s -1000045696.000000 -45667.238281 1000000000.000000
+sub.s 5779.175781 -7.294568 -5786.470215
+sub.s -349608.468750 -347856.468750 1752.000000
+sub.s 356047.562500 356047.562500 0.002457
+sub.s -1.000000 -1.000000 0.000000
+sub.s 248585.812500 23.040001 -248562.765625
+sub.d 45786.476000 0.000000 -45786.476000
+sub.d 0.000000 456.248956 456.248956
+sub.d -31.000460 3.000000 34.000460
+sub.d -45787.476000 -1.000000 45786.476000
+sub.d -1750680.400000 1384.600000 1752065.000000
+sub.d -114.294568 -7.294568 107.000000
+sub.d 1000045667.240000 1000000000.000000 -45667.240000
+sub.d -5779.175432 -5786.470000 -7.294568
+sub.d 349608.475000 1752.000000 -347856.475000
+sub.d -356047.557542 0.002458 356047.560000
+sub.d 1.000000 0.000000 -1.000000
+sub.d -248585.800000 -248562.760000 23.040000
+sub.d -45786.476000 -45786.476000 0.000000
+sub.d 0.000000 456.248956 456.248956
+sub.d 31.000460 34.000460 3.000000
+sub.d 45787.476000 45786.476000 -1.000000
+sub.d 1750680.400000 1752065.000000 1384.600000
+sub.d 114.294568 107.000000 -7.294568
+sub.d -1000045667.240000 -45667.240000 1000000000.000000
+sub.d 5779.175432 -7.294568 -5786.470000
+sub.d -349608.475000 -347856.475000 1752.000000
+sub.d 356047.557542 356047.560000 0.002458
+sub.d -1.000000 -1.000000 0.000000
+sub.d 248585.800000 23.040000 -248562.760000
diff --git a/none/tests/mips32/FPUarithmetic.vgtest b/none/tests/mips32/FPUarithmetic.vgtest
new file mode 100644
index 0000000..c33c448
--- /dev/null
+++ b/none/tests/mips32/FPUarithmetic.vgtest
@@ -0,0 +1,2 @@
+prog: FPUarithmetic
+vgopts: -q
diff --git a/none/tests/mips32/LoadStore.c b/none/tests/mips32/LoadStore.c
new file mode 100644
index 0000000..6b9280f
--- /dev/null
+++ b/none/tests/mips32/LoadStore.c
@@ -0,0 +1,353 @@
+#include <stdio.h>
+
+unsigned int mem[] = {
+   0x121f1e1f, 0, 3, -1,
+   0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a,
+   0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a,
+   0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+};
+
+unsigned int mem1[] = {
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+   0xffffffff, 0, 0, 0,
+   0, 0, 0, 0
+};
+
+unsigned int mem2[] = {
+0x0000e680, 0x00010700, 0x0000e7dc, 0x0000b0d0,
+0x2ab05fd0, 0x0000b6a0, 0x0000be80, 0x0000de10,
+0x0000df20, 0x2ab05fe0, 0x0000dfd0, 0x00010300
+};
+
+// sb $t0, 0($t1)
+#define TESTINST1(instruction, RTval, offset, RT, RS) \
+{ \
+    unsigned int out; \
+   __asm__ volatile( \
+     "move $" #RS", %1\n\t" \
+     "li $" #RT", " #RTval"\n\t" \
+     instruction "\n\t" \
+     "lw %0, "#offset"($"#RS")\n\t" \
+     : "=&r" (out) \
+	 : "r" (mem1), "r" (RTval) \
+	 : #RT, "cc", "memory" \
+	 ); \
+   printf("%s :: RTval: 0x%x, out: 0x%x\n", \
+          instruction, RTval, out); \
+   out = 0; \
+   __asm__ volatile( \
+     "move $" #RS", %1\n\t" \
+     "li $" #RT", " #RTval"\n\t" \
+     instruction "\n\t" \
+     "lw %0, "#offset"($"#RS")\n\t" \
+     : "=&r" (out) \
+	 : "r" (mem), "r" (RTval) \
+	 : #RT, "cc", "memory" \
+	 ); \
+   printf("%s :: RTval: 0x%x, out: 0x%x\n", \
+          instruction, RTval, out); \
+}
+
+// swl $t0, 3($t1)
+// swr $t0, 0($t1)
+#define TESTINSTsw(RTval, offset, RT, RS) \
+{ \
+    unsigned int out; \
+   __asm__ volatile( \
+     "move $" #RS", %1\n\t" \
+     "addiu $"#RS", $"#RS", "#offset"\n\t" \
+     "li $" #RT", " #RTval"\n\t" \
+     "swl $t0, 3($t1) \n\t" \
+     "swr $t0, 0($t1) \n\t" \
+     "lw %0, 0($"#RS")\n\t" \
+     : "=&r" (out) \
+	 : "r" (mem2), "r" (RTval) \
+	 : #RT, #RS, "cc", "memory" \
+	 ); \
+   printf("swl $t0, 3($t1)\nswr $t0, 0($t1)\n :: RTval: 0x%x, out: 0x%x\n", \
+          RTval, out); \
+}
+
+void ppMem(unsigned int* mem, int len)
+{
+   int i;
+   printf("MEM1:\n");
+   for (i = 0; i < len; i=i+4)
+   {
+      printf("0x%x, 0x%x, 0x%x, 0x%x\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+      mem[i] = 0;
+      mem[i+1] = 0;
+      mem[i+2] = 0;
+      mem[i+3] = 0;
+      if (i == 2) 
+      {
+         mem[i] = 0xffffffff;
+         mem[i+1] = 0;
+         mem[i+2] = 0;
+         mem[i+3] = 0;
+      }
+   }
+}
+
+void ppMem1(unsigned int* mem, int len)
+{
+   int i;
+   printf("MEM:\n");
+   for (i = 0; i < len; i=i+4)
+   {
+      printf("0x%x, 0x%x, 0x%x, 0x%x\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+   }
+   mem[0] = 0x121f1e1f;
+   mem[1] = 0;
+   mem[2] = 3;
+   mem[3] = -1;
+   mem[4] = 0x232f2e2f;
+   mem[5] = 0x242c2b2b;
+   mem[6] = 0x252a2e2b;
+   mem[7] = 0x262d2d2a;
+   mem[8] = 0x3f343f3e;
+   mem[9] = 0x3e353d3c;
+   mem[10] = 0x363a3c3b;
+   mem[11] = 0x3b373b3a;
+   mem[12] = 0x454f4e45;
+   mem[13] = 0x4e464d46;
+   mem[14] = 0x474d474c;
+   mem[15] = 0x4a484a4c;
+}
+
+void ppMem0(unsigned int* mem, int len)
+{
+   int i;
+   printf("MEM:\n");
+   for (i = 0; i < len; i=i+4)
+   {
+      printf("0x%x, 0x%x, 0x%x, 0x%x\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+   }
+
+   mem[0] = 0x0000e680;
+   mem[1] = 0x00010700;
+   mem[2] = 0x0000e7dc;
+   mem[3] = 0x0000b0d0;
+   mem[4] = 0x2ab05fd0;
+   mem[5] = 0x0000b6a0;
+   mem[6] = 0x0000be80;
+   mem[7] = 0x0000de10;
+   mem[8] = 0x0000df20;
+   mem[9] = 0x2ab05fe0;
+   mem[10] = 0x0000dfd0;
+   mem[11] = 0x00010300;
+}
+
+int main()
+{
+   printf("sb\n");
+   TESTINST1("sb $t0, 0($t1)", 0, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 0x7fffffff, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 0x80000000, 0, t0, t1);
+   TESTINST1("sb $t0, 2($t1)", 0x80000000, 2, t0, t1);
+   TESTINST1("sb $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("sb $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+   TESTINST1("sb $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("sb $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sb $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sb $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+   TESTINST1("sb $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+   TESTINST1("sb $t0, 40($t1)", 0x31415927, 40, t0, t1);
+   TESTINST1("sb $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+   TESTINST1("sb $t0, 48($t1)", 0x80000000, 48, t0, t1);
+   TESTINST1("sb $t0, 52($t1)", 655, 52, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("sh\n");
+   TESTINST1("sh $t0, 0($t1)", 0, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 0x7fffffff, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 0x80000000, 0, t0, t1);
+   TESTINST1("sh $t0, 2($t1)", 0x80000000, 2, t0, t1);
+   TESTINST1("sh $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("sh $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+   TESTINST1("sh $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("sh $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sh $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sh $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+   TESTINST1("sh $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+   TESTINST1("sh $t0, 40($t1)", 0x31415927, 40, t0, t1);
+   TESTINST1("sh $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+   TESTINST1("sh $t0, 48($t1)", 0x80000000, 48, t0, t1);
+   TESTINST1("sh $t0, 52($t1)", 655, 52, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("sw\n");
+   TESTINST1("sw $t0, 0($t1)", 0, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 0x7fffffff, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 0x80000000, 0, t0, t1);
+   TESTINST1("sw $t0, 2($t1)", 0x80000000, 2, t0, t1);
+   TESTINST1("sw $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("sw $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+   TESTINST1("sw $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("sw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sw $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+   TESTINST1("sw $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+   TESTINST1("sw $t0, 40($t1)", 0x31415927, 40, t0, t1);
+   TESTINST1("sw $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+   TESTINST1("sw $t0, 48($t1)", 0x80000000, 48, t0, t1);
+   TESTINST1("sw $t0, 52($t1)", 655, 52, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("swl\n");
+   TESTINST1("swl $t0, 0($t1)", 0, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 0x7fffffff, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 0x80000000, 0, t0, t1);
+   TESTINST1("swl $t0, 2($t1)", 0x80000000, 2, t0, t1);
+   TESTINST1("swl $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("swl $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+   TESTINST1("swl $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("swl $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("swl $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("swl $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+   TESTINST1("swl $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+   TESTINST1("swl $t0, 40($t1)", 0x31415927, 40, t0, t1);
+   TESTINST1("swl $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+   TESTINST1("swl $t0, 48($t1)", 0x80000000, 48, t0, t1);
+   TESTINST1("swl $t0, 52($t1)", 655, 52, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("swr\n");
+   TESTINST1("swr $t0, 0($t1)", 0, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 0x7fffffff, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 0x80000000, 0, t0, t1);
+   TESTINST1("swr $t0, 2($t1)", 0x80000000, 2, t0, t1);
+   TESTINST1("swr $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("swr $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+   TESTINST1("swr $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("swr $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("swr $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("swr $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+   TESTINST1("swr $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+   TESTINST1("swr $t0, 40($t1)", 0x31415927, 40, t0, t1);
+   TESTINST1("swr $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+   TESTINST1("swr $t0, 48($t1)", 0x80000000, 48, t0, t1);
+   TESTINST1("swr $t0, 52($t1)", 655, 52, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("ulw\n");
+   TESTINST1("ulw $t0, 0($t1)", 0, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 0x7fffffff, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 0x80000000, 0, t0, t1);
+   TESTINST1("ulw $t0, 2($t1)", 0x80000000, 2, t0, t1);
+   TESTINST1("ulw $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("ulw $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+   TESTINST1("ulw $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("ulw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("ulw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("ulw $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+   TESTINST1("ulw $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+   TESTINST1("ulw $t0, 40($t1)", 0x31415927, 40, t0, t1);
+   TESTINST1("ulw $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+   TESTINST1("ulw $t0, 48($t1)", 0x80000000, 48, t0, t1);
+   TESTINST1("ulw $t0, 52($t1)", 655, 52, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("usw\n");
+   TESTINST1("usw $t0, 0($t1)", 0, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 0x7fffffff, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 0x80000000, 0, t0, t1);
+   TESTINST1("usw $t0, 2($t1)", 0x80000000, 2, t0, t1);
+   TESTINST1("usw $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("usw $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+   TESTINST1("usw $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("usw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("usw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("usw $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+   TESTINST1("usw $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+   TESTINST1("usw $t0, 40($t1)", 0x31415927, 40, t0, t1);
+   TESTINST1("usw $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+   TESTINST1("usw $t0, 48($t1)", 0x80000000, 48, t0, t1);
+   TESTINST1("usw $t0, 52($t1)", 655, 52, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("swl $t0, 3($t0)\nswr $t0, 0($t0)\n");
+   TESTINSTsw(0x4853000, 0, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x4853000, 4, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x4863700, 8, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x48aedd0, 12, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x2aaee700, 16, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x2aaee7ff, 20, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x2aaeffff, 24, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x4863700, 28, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x2aaee700, 32, t0, t1);
+   ppMem0(mem2, 12);
+   return 0;
+}
diff --git a/none/tests/mips32/LoadStore.stderr.exp b/none/tests/mips32/LoadStore.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips32/LoadStore.stderr.exp
diff --git a/none/tests/mips32/LoadStore.stdout.exp b/none/tests/mips32/LoadStore.stdout.exp
new file mode 100644
index 0000000..a26c8c5
--- /dev/null
+++ b/none/tests/mips32/LoadStore.stdout.exp
@@ -0,0 +1,464 @@
+sb
+sb $t0, 0($t1) :: RTval: 0x0, out: 0x0
+sb $t0, 0($t1) :: RTval: 0x0, out: 0x121f1e00
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e27
+sb $t0, 0($t1) :: RTval: 0x7fffffff, out: 0xff
+sb $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x121f1eff
+sb $t0, 0($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0x80000000, out: 0x121f1e00
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x1200
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xff
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x300ff
+sb $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xff
+sb $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xffff00ff
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff00ff
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff00ff
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x12001e27
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x12001e00
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x8f
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x12001e8f
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x12001e71
+sb $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sb $t0, 0($t1) :: RTval: 0xf, out: 0x12001e0f
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x12001e01
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x12001e35
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0x12ff
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0x12ff
+sb $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sb $t0, 32($t1) :: RTval: 0xffffffff, out: 0x3f343fff
+sb $t0, 36($t1) :: RTval: 0xffffffff, out: 0xff
+sb $t0, 36($t1) :: RTval: 0xffffffff, out: 0x3e353dff
+sb $t0, 40($t1) :: RTval: 0x31415927, out: 0x27
+sb $t0, 40($t1) :: RTval: 0x31415927, out: 0x363a3c27
+sb $t0, 44($t1) :: RTval: 0x7fffffff, out: 0xff
+sb $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x3b373bff
+sb $t0, 48($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 48($t1) :: RTval: 0x80000000, out: 0x454f4e00
+sb $t0, 52($t1) :: RTval: 0x28f, out: 0x8f
+sb $t0, 52($t1) :: RTval: 0x28f, out: 0x4e464d8f
+MEM1:
+0xff0035, 0xff0000, 0xff00ff, 0x0
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xff, 0x27, 0xff
+0x0, 0x8f, 0x0, 0x0
+MEM:
+0x12ff1e35, 0xff0000, 0xff00ff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0x3f343fff, 0x3e353dff, 0x363a3c27, 0x3b373bff
+0x454f4e00, 0x4e464d8f, 0x474d474c, 0x4a484a4c
+sh
+sh $t0, 0($t1) :: RTval: 0x0, out: 0x0
+sh $t0, 0($t1) :: RTval: 0x0, out: 0x121f0000
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x5927
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f5927
+sh $t0, 0($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x121fffff
+sh $t0, 0($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 0($t1) :: RTval: 0x80000000, out: 0x121f0000
+sh $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x3ffff
+sh $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x5927
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x5927
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfd71
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfd71
+sh $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sh $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff
+sh $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffff
+sh $t0, 32($t1) :: RTval: 0xffffffff, out: 0x3f34ffff
+sh $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffff
+sh $t0, 36($t1) :: RTval: 0xffffffff, out: 0x3e35ffff
+sh $t0, 40($t1) :: RTval: 0x31415927, out: 0x5927
+sh $t0, 40($t1) :: RTval: 0x31415927, out: 0x363a5927
+sh $t0, 44($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x3b37ffff
+sh $t0, 48($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 48($t1) :: RTval: 0x80000000, out: 0x454f0000
+sh $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+sh $t0, 52($t1) :: RTval: 0x28f, out: 0x4e46028f
+MEM1:
+0xffff0035, 0xffff0000, 0xffffffff, 0x0
+0x0, 0x0, 0x0, 0x0
+0xffff, 0xffff, 0x5927, 0xffff
+0x0, 0x28f, 0x0, 0x0
+MEM:
+0xffff0035, 0xffff0000, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0x3f34ffff, 0x3e35ffff, 0x363a5927, 0x3b37ffff
+0x454f0000, 0x4e46028f, 0x474d474c, 0x4a484a4c
+sw
+sw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff0035, 0xffffffff, 0xffffffff, 0x7fff
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x0, 0x0
+MEM:
+0xffff0035, 0xffffffff, 0xffffffff, 0xffff7fff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x474d474c, 0x4a484a4c
+swl
+swl $t0, 0($t1) :: RTval: 0x0, out: 0x0
+swl $t0, 0($t1) :: RTval: 0x0, out: 0x121f1e00
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e31
+swl $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7f
+swl $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x121f1e7f
+swl $t0, 0($t1) :: RTval: 0x80000000, out: 0x80
+swl $t0, 0($t1) :: RTval: 0x80000000, out: 0x121f1e80
+swl $t0, 2($t1) :: RTval: 0x80000000, out: 0x80
+swl $t0, 2($t1) :: RTval: 0x80000000, out: 0x1280
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7f
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x3007f
+swl $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7f
+swl $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xffff007f
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0x7fffff
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0x7fffff
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x800031
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x12800031
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0x80000d
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0x1280000d
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x800000
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x12800000
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x8000ff
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x128000ff
+swl $t0, 0($t1) :: RTval: 0xf, out: 0x800000
+swl $t0, 0($t1) :: RTval: 0xf, out: 0x12800000
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x800000
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x12800000
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x800000
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x12800000
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff00ff
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff12ff
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff00ff
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff12ff
+swl $t0, 32($t1) :: RTval: 0xffffffff, out: 0xff
+swl $t0, 32($t1) :: RTval: 0xffffffff, out: 0x3f343fff
+swl $t0, 36($t1) :: RTval: 0xffffffff, out: 0xff
+swl $t0, 36($t1) :: RTval: 0xffffffff, out: 0x3e353dff
+swl $t0, 40($t1) :: RTval: 0x31415927, out: 0x31
+swl $t0, 40($t1) :: RTval: 0x31415927, out: 0x363a3c31
+swl $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7f
+swl $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x3b373b7f
+swl $t0, 48($t1) :: RTval: 0x80000000, out: 0x80
+swl $t0, 48($t1) :: RTval: 0x80000000, out: 0x454f4e80
+swl $t0, 52($t1) :: RTval: 0x28f, out: 0x0
+swl $t0, 52($t1) :: RTval: 0x28f, out: 0x4e464d00
+MEM1:
+0xffffff, 0x7fffff, 0x7fffff, 0x0
+0x0, 0x0, 0x0, 0x0
+0xff, 0xff, 0x31, 0x7f
+0x80, 0x0, 0x0, 0x0
+MEM:
+0x12ffffff, 0x7fffff, 0x7fffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0x3f343fff, 0x3e353dff, 0x363a3c31, 0x3b373b7f
+0x454f4e80, 0x4e464d00, 0x474d474c, 0x4a484a4c
+swr
+swr $t0, 0($t1) :: RTval: 0x0, out: 0x0
+swr $t0, 0($t1) :: RTval: 0x0, out: 0x0
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swr $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+swr $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+swr $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+swr $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+swr $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x3ffff
+swr $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xffff
+swr $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff
+swr $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+swr $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+swr $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+swr $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+swr $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+swr $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+swr $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+swr $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff0035, 0xffff0000, 0xffffffff, 0x0
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x0, 0x0
+MEM:
+0xffff0035, 0xffff0000, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x474d474c, 0x4a484a4c
+ulw
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x121f
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x30000
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x3
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x121f
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x121f
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x3f343f3e
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x3e353d3c
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x363a3c3b
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x3b373b3a
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x454f4e45
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x4e464d46
+MEM1:
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+MEM:
+0x121f1e1f, 0x0, 0x3, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a
+0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+usw
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff0035, 0xffffffff, 0xffffffff, 0x7fff
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x0, 0x0
+MEM:
+0xffff0035, 0xffffffff, 0xffffffff, 0xffff7fff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x474d474c, 0x4a484a4c
+swl $t0, 3($t0)
+swr $t0, 0($t0)
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0x4853000
+MEM:
+0x4853000, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0x4853000
+MEM:
+0xe680, 0x4853000, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0x4863700
+MEM:
+0xe680, 0x10700, 0x4863700, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x48aedd0, out: 0x48aedd0
+MEM:
+0xe680, 0x10700, 0xe7dc, 0x48aedd0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0x2aaee700
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2aaee700, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee7ff, out: 0x2aaee7ff
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0x2aaee7ff, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaeffff, out: 0x2aaeffff
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0x2aaeffff, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0x4863700
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0x4863700
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0x2aaee700
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0x2aaee700, 0x2ab05fe0, 0xdfd0, 0x10300
diff --git a/none/tests/mips32/LoadStore.stdout.exp-BE b/none/tests/mips32/LoadStore.stdout.exp-BE
new file mode 100644
index 0000000..61a5841
--- /dev/null
+++ b/none/tests/mips32/LoadStore.stdout.exp-BE
@@ -0,0 +1,464 @@
+sb
+sb $t0, 0($t1) :: RTval: 0x0, out: 0x0
+sb $t0, 0($t1) :: RTval: 0x0, out: 0x1f1e1f
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x271f1e1f
+sb $t0, 0($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 0($t1) :: RTval: 0x7fffffff, out: 0xff1f1e1f
+sb $t0, 0($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0x80000000, out: 0x1f1e1f
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x1f0000
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xff03ffff
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff00ff00
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff00ff03
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x271f001f
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x1f001f
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x8f000000
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x8f1f001f
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71000000
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x711f001f
+sb $t0, 0($t1) :: RTval: 0xf, out: 0xf000000
+sb $t0, 0($t1) :: RTval: 0xf, out: 0xf1f001f
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x1000000
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x11f001f
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x35000000
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x351f001f
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff000000
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff1f0000
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff000000
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff1f0000
+sb $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sb $t0, 32($t1) :: RTval: 0xffffffff, out: 0xff343f3e
+sb $t0, 36($t1) :: RTval: 0xffffffff, out: 0xff000000
+sb $t0, 36($t1) :: RTval: 0xffffffff, out: 0xff353d3c
+sb $t0, 40($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 40($t1) :: RTval: 0x31415927, out: 0x273a3c3b
+sb $t0, 44($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 44($t1) :: RTval: 0x7fffffff, out: 0xff373b3a
+sb $t0, 48($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 48($t1) :: RTval: 0x80000000, out: 0x4f4e45
+sb $t0, 52($t1) :: RTval: 0x28f, out: 0x8f000000
+sb $t0, 52($t1) :: RTval: 0x28f, out: 0x8f464d46
+MEM1:
+0x3500ff00, 0xff00, 0xff00ff00, 0x0
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xff000000, 0x27000000, 0xff000000
+0x0, 0x8f000000, 0x0, 0x0
+MEM:
+0x351fff1f, 0xff00, 0xff00ff03, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xff343f3e, 0xff353d3c, 0x273a3c3b, 0xff373b3a
+0x4f4e45, 0x8f464d46, 0x474d474c, 0x4a484a4c
+sh
+sh $t0, 0($t1) :: RTval: 0x0, out: 0x0
+sh $t0, 0($t1) :: RTval: 0x0, out: 0x1e1f
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x59270000
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x59271e1f
+sh $t0, 0($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 0($t1) :: RTval: 0x7fffffff, out: 0xffff1e1f
+sh $t0, 0($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 0($t1) :: RTval: 0x80000000, out: 0x1e1f
+sh $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x59270000
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x59270000
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x28f0000
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x28f0000
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfd710000
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfd710000
+sh $t0, 0($t1) :: RTval: 0xf, out: 0xf0000
+sh $t0, 0($t1) :: RTval: 0xf, out: 0xf0000
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x10000
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x10000
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x350000
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x350000
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff0000
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff0000
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff0000
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff0000
+sh $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffff0000
+sh $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffff3f3e
+sh $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffff0000
+sh $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffff3d3c
+sh $t0, 40($t1) :: RTval: 0x31415927, out: 0x59270000
+sh $t0, 40($t1) :: RTval: 0x31415927, out: 0x59273c3b
+sh $t0, 44($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 44($t1) :: RTval: 0x7fffffff, out: 0xffff3b3a
+sh $t0, 48($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 48($t1) :: RTval: 0x80000000, out: 0x4e45
+sh $t0, 52($t1) :: RTval: 0x28f, out: 0x28f0000
+sh $t0, 52($t1) :: RTval: 0x28f, out: 0x28f4d46
+MEM1:
+0x35ffff, 0xffff, 0xffffffff, 0x0
+0x0, 0x0, 0x0, 0x0
+0xffff0000, 0xffff0000, 0x59270000, 0xffff0000
+0x0, 0x28f0000, 0x0, 0x0
+MEM:
+0x35ffff, 0xffff, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffff3f3e, 0xffff3d3c, 0x59273c3b, 0xffff3b3a
+0x4e45, 0x28f4d46, 0x474d474c, 0x4a484a4c
+sw
+sw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff, 0xffff7fff, 0xffffffff, 0xffff0000
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x0, 0x0
+MEM:
+0xffff, 0xffff7fff, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x474d474c, 0x4a484a4c
+swl
+swl $t0, 0($t1) :: RTval: 0x0, out: 0x0
+swl $t0, 0($t1) :: RTval: 0x0, out: 0x0
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swl $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+swl $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+swl $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fff0000
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fff0000
+swl $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fff0000
+swl $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swl $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swl $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff0000
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff0000
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff0000
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff0000
+swl $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swl $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swl $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swl $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swl $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+swl $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+swl $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+swl $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+swl $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+swl $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff, 0x7fff, 0xffffffff, 0x0
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x0, 0x0
+MEM:
+0xffff, 0x7fff, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x474d474c, 0x4a484a4c
+swr
+swr $t0, 0($t1) :: RTval: 0x0, out: 0x0
+swr $t0, 0($t1) :: RTval: 0x0, out: 0x1f1e1f
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x27000000
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x271f1e1f
+swr $t0, 0($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 0($t1) :: RTval: 0x7fffffff, out: 0xff1f1e1f
+swr $t0, 0($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 0($t1) :: RTval: 0x80000000, out: 0x1f1e1f
+swr $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 2($t1) :: RTval: 0x80000000, out: 0x1f0000
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xff03ffff
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffff00
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffff03
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x27000000
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x2700001f
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0x1f
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x8f000000
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x8f00001f
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71000000
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x7100001f
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf000000
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf00001f
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x1000000
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x100001f
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x35000000
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x3500001f
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff1fffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff1fffff
+swr $t0, 32($t1) :: RTval: 0xffffffff, out: 0xff000000
+swr $t0, 32($t1) :: RTval: 0xffffffff, out: 0xff343f3e
+swr $t0, 36($t1) :: RTval: 0xffffffff, out: 0xff000000
+swr $t0, 36($t1) :: RTval: 0xffffffff, out: 0xff353d3c
+swr $t0, 40($t1) :: RTval: 0x31415927, out: 0x27000000
+swr $t0, 40($t1) :: RTval: 0x31415927, out: 0x273a3c3b
+swr $t0, 44($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 44($t1) :: RTval: 0x7fffffff, out: 0xff373b3a
+swr $t0, 48($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 48($t1) :: RTval: 0x80000000, out: 0x4f4e45
+swr $t0, 52($t1) :: RTval: 0x28f, out: 0x8f000000
+swr $t0, 52($t1) :: RTval: 0x28f, out: 0x8f464d46
+MEM1:
+0xffffff00, 0xffffff00, 0xffffff00, 0x0
+0x0, 0x0, 0x0, 0x0
+0xff000000, 0xff000000, 0x27000000, 0xff000000
+0x0, 0x8f000000, 0x0, 0x0
+MEM:
+0xffffff1f, 0xffffff00, 0xffffff03, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xff343f3e, 0xff353d3c, 0x273a3c3b, 0xff373b3a
+0x4f4e45, 0x8f464d46, 0x474d474c, 0x4a484a4c
+ulw
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x1e1f0000
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x3ffff
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x3
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x1e1f0000
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x1e1f0000
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x3f343f3e
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x3e353d3c
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x363a3c3b
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x3b373b3a
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x454f4e45
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x4e464d46
+MEM1:
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+MEM:
+0x121f1e1f, 0x0, 0x3, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a
+0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+usw
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff, 0xffff7fff, 0xffffffff, 0xffff0000
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x0, 0x0
+MEM:
+0xffff, 0xffff7fff, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x474d474c, 0x4a484a4c
+swl $t0, 3($t0)
+swr $t0, 0($t0)
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0xe604
+MEM:
+0xe604, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0x10704
+MEM:
+0xe680, 0x10704, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0xe704
+MEM:
+0xe680, 0x10700, 0xe704, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x48aedd0, out: 0xd000b004
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xd000b004
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0xb05f2a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0xb05f2a, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee7ff, out: 0xff00b62a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xff00b62a, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaeffff, out: 0xff00be2a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xff00be2a, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0xde04
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde04
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0xdf2a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf2a, 0x2ab05fe0, 0xdfd0, 0x10300
diff --git a/none/tests/mips32/LoadStore.vgtest b/none/tests/mips32/LoadStore.vgtest
new file mode 100644
index 0000000..9c18752
--- /dev/null
+++ b/none/tests/mips32/LoadStore.vgtest
@@ -0,0 +1,2 @@
+prog: LoadStore
+vgopts: -q
diff --git a/none/tests/mips32/LoadStore1.c b/none/tests/mips32/LoadStore1.c
new file mode 100644
index 0000000..334f213
--- /dev/null
+++ b/none/tests/mips32/LoadStore1.c
@@ -0,0 +1,354 @@
+#include <stdio.h>
+
+unsigned int mem[] = {
+   0x121f1e1f, 0, 3, -1,
+   0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a,
+   0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a,
+   0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+};
+
+unsigned int mem1[] = {
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+   0xffffffff, 0, 0, 0,
+   0, 0, 0, 0
+};
+
+unsigned int mem2[] = {
+0x0000e680, 0x00010700, 0x0000e7dc, 0x0000b0d0,
+0x2ab05fd0, 0x0000b6a0, 0x0000be80, 0x0000de10,
+0x0000df20, 0x2ab05fe0, 0x0000dfd0, 0x00010300
+};
+
+// sb $t0, 0($t1)
+#define TESTINST1(instruction, RTval, offset, RT, RS) \
+{ \
+    unsigned int out; \
+   __asm__ volatile( \
+     "move $" #RS", %1\n\t" \
+     "li $" #RT", " #RTval"\n\t" \
+     instruction "\n\t" \
+     "lw %0, "#offset"($"#RS")\n\t" \
+     : "=&r" (out) \
+	 : "r" (mem1), "r" (RTval) \
+	 : #RT, "cc", "memory" \
+	 ); \
+   printf("%s :: RTval: 0x%x, out: 0x%x\n", \
+          instruction, RTval, out); \
+   out = 0; \
+   __asm__ volatile( \
+     "move $" #RS", %1\n\t" \
+     "li $" #RT", " #RTval"\n\t" \
+     instruction "\n\t" \
+     "lw %0, "#offset"($"#RS")\n\t" \
+     : "=&r" (out) \
+	 : "r" (mem), "r" (RTval) \
+	 : #RT, "cc", "memory" \
+	 ); \
+   printf("%s :: RTval: 0x%x, out: 0x%x\n", \
+          instruction, RTval, out); \
+}
+
+// swl $t0, 3($t1)
+// swr $t0, 0($t1)
+#define TESTINSTsw(RTval, offset, RT, RS) \
+{ \
+    unsigned int out; \
+   __asm__ volatile( \
+     "move $" #RS", %1\n\t" \
+     "addiu $"#RS", $"#RS", "#offset"\n\t" \
+     "li $" #RT", " #RTval"\n\t" \
+     "swl $t0, 3($t1) \n\t" \
+     "swr $t0, 0($t1) \n\t" \
+     "lw %0, 0($"#RS")\n\t" \
+     : "=&r" (out) \
+	 : "r" (mem2), "r" (RTval) \
+	 : #RT, #RS, "cc", "memory" \
+	 ); \
+   printf("swl $t0, 3($t1)\nswr $t0, 0($t1)\n :: RTval: 0x%x, out: 0x%x\n", \
+          RTval, out); \
+}
+
+void ppMem(unsigned int* mem, int len)
+{
+   int i;
+   printf("MEM1:\n");
+   for (i = 0; i < len; i=i+4)
+   {
+      printf("0x%x, 0x%x, 0x%x, 0x%x\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+      mem[i] = 0;
+      mem[i+1] = 0;
+      mem[i+2] = 0;
+      mem[i+3] = 0;
+      if (i == 2) 
+      {
+         mem[i] = 0xffffffff;
+         mem[i+1] = 0;
+         mem[i+2] = 0;
+         mem[i+3] = 0;
+      }
+   }
+}
+
+void ppMem1(unsigned int* mem, int len)
+{
+   int i;
+   printf("MEM:\n");
+   for (i = 0; i < len; i=i+4)
+   {
+      printf("0x%x, 0x%x, 0x%x, 0x%x\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+   }
+   mem[0] = 0x121f1e1f;
+   mem[1] = 0;
+   mem[2] = 3;
+   mem[3] = -1;
+   mem[4] = 0x232f2e2f;
+   mem[5] = 0x242c2b2b;
+   mem[6] = 0x252a2e2b;
+   mem[7] = 0x262d2d2a;
+   mem[8] = 0x3f343f3e;
+   mem[9] = 0x3e353d3c;
+   mem[10] = 0x363a3c3b;
+   mem[11] = 0x3b373b3a;
+   mem[12] = 0x454f4e45;
+   mem[13] = 0x4e464d46;
+   mem[14] = 0x474d474c;
+   mem[15] = 0x4a484a4c;
+}
+
+void ppMem0(unsigned int* mem, int len)
+{
+   int i;
+   printf("MEM:\n");
+   for (i = 0; i < len; i=i+4)
+   {
+      printf("0x%x, 0x%x, 0x%x, 0x%x\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+   }
+
+   mem[0] = 0x0000e680;
+   mem[1] = 0x00010700;
+   mem[2] = 0x0000e7dc;
+   mem[3] = 0x0000b0d0;
+   mem[4] = 0x2ab05fd0;
+   mem[5] = 0x0000b6a0;
+   mem[6] = 0x0000be80;
+   mem[7] = 0x0000de10;
+   mem[8] = 0x0000df20;
+   mem[9] = 0x2ab05fe0;
+   mem[10] = 0x0000dfd0;
+   mem[11] = 0x00010300;
+}
+
+int main()
+{
+   printf("sb\n");
+   TESTINST1("sb $t0, 3($t1)", 0, 3, t0, t1);
+   TESTINST1("sb $t0, 5($t1)", 0x31415927, 5, t0, t1);
+   TESTINST1("sb $t0, 7($t1)", 0x7fffffff, 7, t0, t1);
+   TESTINST1("sb $t0, 1($t1)", 0x80000000, 1, t0, t1);
+   TESTINST1("sb $t0, 2($t1)", 0x80000000, 2, t0, t1);
+   TESTINST1("sb $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("sb $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+   TESTINST1("sb $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("sb $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("sb $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sb $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sb $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+   TESTINST1("sb $t0, 35($t1)", 0xffffffff, 35, t0, t1);
+   TESTINST1("sb $t0, 41($t1)", 0x31415927, 41, t0, t1);
+   TESTINST1("sb $t0, 42($t1)", 0x7fffffff, 42, t0, t1);
+   TESTINST1("sb $t0, 45($t1)", 0x80000000, 45, t0, t1);
+   TESTINST1("sb $t0, 51($t1)", 655, 51, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("sh\n");
+   TESTINST1("sh $t0, 1($t1)", 0, 1, t0, t1);
+   TESTINST1("sh $t0, 3($t1)", 0x31415927, 3, t0, t1);
+   TESTINST1("sh $t0, 5($t1)", 0x7fffffff, 5, t0, t1);
+   TESTINST1("sh $t0, 7($t1)", 0x80000000, 7, t0, t1);
+   TESTINST1("sh $t0, 9($t1)", 0x80000000, 9, t0, t1);
+   TESTINST1("sh $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("sh $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+   TESTINST1("sh $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("sh $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("sh $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sh $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sh $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+   TESTINST1("sh $t0, 35($t1)", 0xffffffff, 35, t0, t1);
+   TESTINST1("sh $t0, 41($t1)", 0x31415927, 41, t0, t1);
+   TESTINST1("sh $t0, 47($t1)", 0x7fffffff, 47, t0, t1);
+   TESTINST1("sh $t0, 49($t1)", 0x80000000, 49, t0, t1);
+   TESTINST1("sh $t0, 51($t1)", 655, 51, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("sw\n");
+   TESTINST1("sw $t0, 1($t1)", 0, 1, t0, t1);
+   TESTINST1("sw $t0, 3($t1)", 0x31415927, 3, t0, t1);
+   TESTINST1("sw $t0, 5($t1)", 0x7fffffff, 5, t0, t1);
+   TESTINST1("sw $t0, 7($t1)", 0x80000000, 7, t0, t1);
+   TESTINST1("sw $t0, 9($t1)", 0x80000000, 9, t0, t1);
+   TESTINST1("sw $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("sw $t0, 15($t1)", 0x7fffffff, 11, t0, t1);
+   TESTINST1("sw $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("sw $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("sw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("sw $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+   TESTINST1("sw $t0, 37($t1)", 0xffffffff, 37, t0, t1);
+   TESTINST1("sw $t0, 49($t1)", 0x31415927, 49, t0, t1);
+   TESTINST1("sw $t0, 41($t1)", 0x7fffffff, 41, t0, t1);
+   TESTINST1("sw $t0, 43($t1)", 0x80000000, 43, t0, t1);
+   TESTINST1("sw $t0, 51($t1)", 655, 51, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("swl\n");
+   TESTINST1("swl $t0, 1($t1)", 0, 1, t0, t1);
+   TESTINST1("swl $t0, 3($t1)", 0x31415927, 3, t0, t1);
+   TESTINST1("swl $t0, 5($t1)", 0x7fffffff, 5, t0, t1);
+   TESTINST1("swl $t0, 7($t1)", 0x80000000, 7, t0, t1);
+   TESTINST1("swl $t0, 9($t1)", 0x80000000, 9, t0, t1);
+   TESTINST1("swl $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("swl $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+   TESTINST1("swl $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("swl $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("swl $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("swl $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("swl $t0, 33($t1)", 0xffffffff, 33, t0, t1);
+   TESTINST1("swl $t0, 35($t1)", 0xffffffff, 35, t0, t1);
+   TESTINST1("swl $t0, 41($t1)", 0x31415927, 41, t0, t1);
+   TESTINST1("swl $t0, 45($t1)", 0x7fffffff, 45, t0, t1);
+   TESTINST1("swl $t0, 49($t1)", 0x80000000, 49, t0, t1);
+   TESTINST1("swl $t0, 51($t1)", 655, 51, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("swr\n");
+   TESTINST1("swr $t0, 1($t1)", 0, 1, t0, t1);
+   TESTINST1("swr $t0, 3($t1)", 0x31415927, 3, t0, t1);
+   TESTINST1("swr $t0, 5($t1)", 0x7fffffff, 5, t0, t1);
+   TESTINST1("swr $t0, 7($t1)", 0x80000000, 7, t0, t1);
+   TESTINST1("swr $t0, 9($t1)", 0x80000000, 9, t0, t1);
+   TESTINST1("swr $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("swr $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+   TESTINST1("swr $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("swr $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("swr $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("swr $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("swr $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+   TESTINST1("swr $t0, 33($t1)", 0xffffffff, 33, t0, t1);
+   TESTINST1("swr $t0, 45($t1)", 0x31415927, 45, t0, t1);
+   TESTINST1("swr $t0, 47($t1)", 0x7fffffff, 47, t0, t1);
+   TESTINST1("swr $t0, 49($t1)", 0x80000000, 49, t0, t1);
+   TESTINST1("swr $t0, 51($t1)", 655, 51, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("ulw\n");
+   TESTINST1("ulw $t0, 0($t1)", 0, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 0x7fffffff, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 0x80000000, 0, t0, t1);
+   TESTINST1("ulw $t0, 2($t1)", 0x80000000, 2, t0, t1);
+   TESTINST1("ulw $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("ulw $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+   TESTINST1("ulw $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("ulw $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("ulw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("ulw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("ulw $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+   TESTINST1("ulw $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+   TESTINST1("ulw $t0, 40($t1)", 0x31415927, 40, t0, t1);
+   TESTINST1("ulw $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+   TESTINST1("ulw $t0, 48($t1)", 0x80000000, 48, t0, t1);
+   TESTINST1("ulw $t0, 52($t1)", 655, 52, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("usw\n");
+   TESTINST1("usw $t0, 0($t1)", 0, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 0x7fffffff, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 0x80000000, 0, t0, t1);
+   TESTINST1("usw $t0, 2($t1)", 0x80000000, 2, t0, t1);
+   TESTINST1("usw $t0, 6($t1)", 0x7fffffff, 6, t0, t1);
+   TESTINST1("usw $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+   TESTINST1("usw $t0, 8($t1)", -1, 8, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 0x31415927, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 0x0dd00000, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 655, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", -655, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 15, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 1, 0, t0, t1);
+   TESTINST1("usw $t0, 0($t1)", 53, 0, t0, t1);
+   TESTINST1("usw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("usw $t0, 2($t1)", 0xffffffff, 2, t0, t1);
+   TESTINST1("usw $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+   TESTINST1("usw $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+   TESTINST1("usw $t0, 40($t1)", 0x31415927, 40, t0, t1);
+   TESTINST1("usw $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+   TESTINST1("usw $t0, 48($t1)", 0x80000000, 48, t0, t1);
+   TESTINST1("usw $t0, 52($t1)", 655, 52, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("swl $t0, 3($t0)\nswr $t0, 0($t0)\n");
+   TESTINSTsw(0x4853000, 0, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x4853000, 4, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x4863700, 8, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x48aedd0, 12, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x2aaee700, 16, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x2aaee7ff, 20, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x2aaeffff, 24, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x4863700, 28, t0, t1);
+   ppMem0(mem2, 12);
+   TESTINSTsw(0x2aaee700, 32, t0, t1);
+   ppMem0(mem2, 12);
+   return 0;
+}
+
diff --git a/none/tests/mips32/LoadStore1.stderr.exp b/none/tests/mips32/LoadStore1.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips32/LoadStore1.stderr.exp
diff --git a/none/tests/mips32/LoadStore1.stdout.exp b/none/tests/mips32/LoadStore1.stdout.exp
new file mode 100644
index 0000000..4e1c961
--- /dev/null
+++ b/none/tests/mips32/LoadStore1.stdout.exp
@@ -0,0 +1,464 @@
+sb
+sb $t0, 3($t1) :: RTval: 0x0, out: 0x0
+sb $t0, 3($t1) :: RTval: 0x0, out: 0x0
+sb $t0, 5($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 5($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 7($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 7($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 1($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 1($t1) :: RTval: 0x80000000, out: 0x1e0000
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x27
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x27
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sb $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff0000ff
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff0000ff
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x8f000000
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x8f000000
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71000000
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71000000
+sb $t0, 0($t1) :: RTval: 0xf, out: 0xf000000
+sb $t0, 0($t1) :: RTval: 0xf, out: 0xf000000
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x1000000
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x1000000
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x35000000
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x35000000
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff000027
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff000027
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff000027
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff000027
+sb $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sb $t0, 31($t1) :: RTval: 0xffffffff, out: 0xff3f343f
+sb $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff000000
+sb $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff3e353d
+sb $t0, 41($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 41($t1) :: RTval: 0x31415927, out: 0x273c3b3b
+sb $t0, 42($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 42($t1) :: RTval: 0x7fffffff, out: 0xff3b3b37
+sb $t0, 45($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 45($t1) :: RTval: 0x80000000, out: 0x3b3a45
+sb $t0, 51($t1) :: RTval: 0x28f, out: 0x8f000000
+sb $t0, 51($t1) :: RTval: 0x28f, out: 0x8f4e464d
+MEM1:
+0x3500ff00, 0x27ffff, 0xff0000ff, 0x0
+0x0, 0x0, 0x0, 0xff
+0xffffffff, 0x0, 0x27ff00, 0x0
+0x8f, 0x0, 0x0, 0x0
+MEM:
+0x3500ff00, 0x27ffff, 0xff0000ff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2dff
+0x3f343fff, 0x3e353d3c, 0x3627ff3b, 0x3b003b3a
+0x454f4e8f, 0x4e464d46, 0x474d474c, 0x4a484a4c
+sh
+sh $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sh $t0, 1($t1) :: RTval: 0x0, out: 0x1f00
+sh $t0, 3($t1) :: RTval: 0x31415927, out: 0x59270000
+sh $t0, 3($t1) :: RTval: 0x31415927, out: 0x59270000
+sh $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 9($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 9($t1) :: RTval: 0x80000000, out: 0x3ff
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffff00ff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffff00ff
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x59270059
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x59270059
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x59
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x59
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x28f0059
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x28f0059
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfd710059
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfd710059
+sh $t0, 0($t1) :: RTval: 0xf, out: 0xf0059
+sh $t0, 0($t1) :: RTval: 0xf, out: 0xf0059
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x10059
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x10059
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x350059
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x350059
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff27ff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff27ff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff27ff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff27ff
+sh $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffff0000
+sh $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffff343f
+sh $t0, 35($t1) :: RTval: 0xffffffff, out: 0xffff0000
+sh $t0, 35($t1) :: RTval: 0xffffffff, out: 0xffff353d
+sh $t0, 41($t1) :: RTval: 0x31415927, out: 0x59270000
+sh $t0, 41($t1) :: RTval: 0x31415927, out: 0x59273b3b
+sh $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xffff4f4e
+sh $t0, 49($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 49($t1) :: RTval: 0x80000000, out: 0x454e
+sh $t0, 51($t1) :: RTval: 0x28f, out: 0x28f0000
+sh $t0, 51($t1) :: RTval: 0x28f, out: 0x28f464d
+MEM1:
+0x35ffff, 0x27ffffff, 0xffff00ff, 0xff000000
+0x0, 0x0, 0x0, 0xff
+0xff0000ff, 0xff000000, 0x592700, 0xff
+0xff000002, 0x8f000000, 0x0, 0x0
+MEM:
+0x35ffff, 0x27ffffff, 0xffff00ff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2dff
+0xff343fff, 0xff353d3c, 0x3659273b, 0x3b373bff
+0xff000002, 0x8f464d46, 0x474d474c, 0x4a484a4c
+sw
+sw $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 3($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 3($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 9($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 9($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 15($t1) :: RTval: 0x7fffffff, out: 0x0
+sw $t0, 15($t1) :: RTval: 0x7fffffff, out: 0xffff
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 37($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 37($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 49($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 49($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 41($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 41($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 43($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 43($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 51($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 51($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff, 0xffff7fff, 0xffffffff, 0x7f
+0xffffff00, 0x0, 0x0, 0xff
+0xffffff00, 0xffffff, 0xff7fff80, 0x0
+0x314100, 0x28f00, 0x0, 0x0
+MEM:
+0xffff, 0xffff7fff, 0xffffffff, 0xffff7f
+0xffffff2f, 0x242c2b2b, 0x252a2e2b, 0x262d2dff
+0xffffff3e, 0x3effffff, 0xff7fff80, 0x3a
+0x45314100, 0x28f46, 0x474d474c, 0x4a484a4c
+swl
+swl $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swl $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swl $t0, 3($t1) :: RTval: 0x31415927, out: 0x31000000
+swl $t0, 3($t1) :: RTval: 0x31415927, out: 0x31000000
+swl $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffff00
+swl $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffff00
+swl $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 9($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 9($t1) :: RTval: 0x80000000, out: 0x800000ff
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fff0080
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fff0080
+swl $t0, 11($t1) :: RTval: 0x7fffffff, out: 0x7f000000
+swl $t0, 11($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swl $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swl $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff007f
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff007f
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff007f
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff007f
+swl $t0, 33($t1) :: RTval: 0xffffffff, out: 0xffffff00
+swl $t0, 33($t1) :: RTval: 0xffffffff, out: 0xffffff3e
+swl $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff000000
+swl $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff3e353d
+swl $t0, 41($t1) :: RTval: 0x31415927, out: 0x31415900
+swl $t0, 41($t1) :: RTval: 0x31415927, out: 0x3141593b
+swl $t0, 45($t1) :: RTval: 0x7fffffff, out: 0x7fffff00
+swl $t0, 45($t1) :: RTval: 0x7fffffff, out: 0x7fffff45
+swl $t0, 49($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 49($t1) :: RTval: 0x80000000, out: 0x8000004e
+swl $t0, 51($t1) :: RTval: 0x28f, out: 0x0
+swl $t0, 51($t1) :: RTval: 0x28f, out: 0x4e464d
+MEM1:
+0xffff, 0x7f7fff, 0xffffffff, 0x0
+0x0, 0x0, 0x0, 0x0
+0xffffff, 0x0, 0x314159, 0x7fffff
+0x800000, 0x0, 0x0, 0x0
+MEM:
+0xffff, 0x7f7fff, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0x3fffffff, 0x3e353d3c, 0x36314159, 0x3b7fffff
+0x45800000, 0x4e464d46, 0x474d474c, 0x4a484a4c
+swr
+swr $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swr $t0, 1($t1) :: RTval: 0x0, out: 0x1e1f00
+swr $t0, 3($t1) :: RTval: 0x31415927, out: 0x27000000
+swr $t0, 3($t1) :: RTval: 0x31415927, out: 0x27000000
+swr $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 9($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 9($t1) :: RTval: 0x80000000, out: 0x3ff
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x27415927
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x27415927
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0x415927
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0x415927
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x8f415927
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x8f415927
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71415927
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71415927
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf415927
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf415927
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x1415927
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x1415927
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x35415927
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x35415927
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff27ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff27ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff27ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff27ffff
+swr $t0, 31($t1) :: RTval: 0xffffffff, out: 0xff000000
+swr $t0, 31($t1) :: RTval: 0xffffffff, out: 0xff3f343f
+swr $t0, 33($t1) :: RTval: 0xffffffff, out: 0xff000000
+swr $t0, 33($t1) :: RTval: 0xffffffff, out: 0xff3f3e3e
+swr $t0, 45($t1) :: RTval: 0x31415927, out: 0x27000000
+swr $t0, 45($t1) :: RTval: 0x31415927, out: 0x273b3a45
+swr $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xff454f4e
+swr $t0, 49($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 49($t1) :: RTval: 0x80000000, out: 0x4e454e
+swr $t0, 51($t1) :: RTval: 0x28f, out: 0x8f000000
+swr $t0, 51($t1) :: RTval: 0x28f, out: 0x8f4e464d
+MEM1:
+0xffffff27, 0xffffff00, 0xffffffff, 0x0
+0x0, 0x0, 0x0, 0xffffffff
+0xffff0000, 0x0, 0x0, 0x7fffffff
+0x28f, 0x0, 0x0, 0x0
+MEM:
+0xffffff27, 0xffffff00, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0xffffffff
+0xffff3f3e, 0x3e353d3c, 0x363a3c3b, 0x7fffffff
+0x28f, 0x4e464d46, 0x474d474c, 0x4a484a4c
+ulw
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x1e1f0000
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x3ffff
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x3
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x1e1f0000
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x1e1f0000
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x3f343f3e
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x3e353d3c
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x363a3c3b
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x3b373b3a
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x454f4e45
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x4e464d46
+MEM1:
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+MEM:
+0x121f1e1f, 0x0, 0x3, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a
+0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+usw
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff, 0xffff7fff, 0xffffffff, 0xffff0000
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x0, 0x0
+MEM:
+0xffff, 0xffff7fff, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x474d474c, 0x4a484a4c
+swl $t0, 3($t0)
+swr $t0, 0($t0)
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0xe604
+MEM:
+0xe604, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0x10704
+MEM:
+0xe680, 0x10704, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0xe704
+MEM:
+0xe680, 0x10700, 0xe704, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x48aedd0, out: 0xd000b004
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xd000b004
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0xb05f2a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0xb05f2a, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee7ff, out: 0xff00b62a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xff00b62a, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaeffff, out: 0xff00be2a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xff00be2a, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0xde04
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde04
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0xdf2a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf2a, 0x2ab05fe0, 0xdfd0, 0x10300
diff --git a/none/tests/mips32/LoadStore1.stdout.exp-LE b/none/tests/mips32/LoadStore1.stdout.exp-LE
new file mode 100644
index 0000000..d9579b9
--- /dev/null
+++ b/none/tests/mips32/LoadStore1.stdout.exp-LE
@@ -0,0 +1,464 @@
+sb
+sb $t0, 3($t1) :: RTval: 0x0, out: 0x0
+sb $t0, 3($t1) :: RTval: 0x0, out: 0x0
+sb $t0, 5($t1) :: RTval: 0x31415927, out: 0x27
+sb $t0, 5($t1) :: RTval: 0x31415927, out: 0x3000027
+sb $t0, 7($t1) :: RTval: 0x7fffffff, out: 0xff
+sb $t0, 7($t1) :: RTval: 0x7fffffff, out: 0x3ff
+sb $t0, 1($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 1($t1) :: RTval: 0x80000000, out: 0x1f00
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x27000000
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x27000000
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x3ffff
+sb $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xff
+sb $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff0000ff
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff0000ff
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x8f
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x8f
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71
+sb $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sb $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0x270000ff
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0x270000ff
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0x270000ff
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0x270000ff
+sb $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sb $t0, 31($t1) :: RTval: 0xffffffff, out: 0x343f3eff
+sb $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff
+sb $t0, 35($t1) :: RTval: 0xffffffff, out: 0x353d3cff
+sb $t0, 41($t1) :: RTval: 0x31415927, out: 0x27
+sb $t0, 41($t1) :: RTval: 0x31415927, out: 0x3a363a27
+sb $t0, 42($t1) :: RTval: 0x7fffffff, out: 0xff
+sb $t0, 42($t1) :: RTval: 0x7fffffff, out: 0x3b3a36ff
+sb $t0, 45($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 45($t1) :: RTval: 0x80000000, out: 0x453b3700
+sb $t0, 51($t1) :: RTval: 0x28f, out: 0x8f
+sb $t0, 51($t1) :: RTval: 0x28f, out: 0x464d468f
+MEM1:
+0xff0035, 0xffff2700, 0xff0000ff, 0x0
+0x0, 0x0, 0x0, 0xff000000
+0xffffffff, 0x0, 0xff2700, 0x0
+0x8f000000, 0x0, 0x0, 0x0
+MEM:
+0xff0035, 0xffff2700, 0xff0000ff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0xff2d2d2a
+0xff343f3e, 0x3e353d3c, 0x36ff273b, 0x3b37003a
+0x8f4f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+sh
+sh $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sh $t0, 1($t1) :: RTval: 0x0, out: 0x120000
+sh $t0, 3($t1) :: RTval: 0x31415927, out: 0x5927
+sh $t0, 3($t1) :: RTval: 0x31415927, out: 0x5927
+sh $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x300ffff
+sh $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 9($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 9($t1) :: RTval: 0x80000000, out: 0xff000000
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x27005927
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x27005927
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x27000000
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x27000000
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x2700028f
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x2700028f
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x2700fd71
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x2700fd71
+sh $t0, 0($t1) :: RTval: 0xf, out: 0x2700000f
+sh $t0, 0($t1) :: RTval: 0xf, out: 0x2700000f
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x27000001
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x27000001
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x27000035
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x27000035
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff59ffff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff59ffff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff59ffff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff59ffff
+sh $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffff
+sh $t0, 31($t1) :: RTval: 0xffffffff, out: 0x343fffff
+sh $t0, 35($t1) :: RTval: 0xffffffff, out: 0xffff
+sh $t0, 35($t1) :: RTval: 0xffffffff, out: 0x353dffff
+sh $t0, 41($t1) :: RTval: 0x31415927, out: 0x5927
+sh $t0, 41($t1) :: RTval: 0x31415927, out: 0x3a365927
+sh $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 47($t1) :: RTval: 0x7fffffff, out: 0x4f4effff
+sh $t0, 49($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 49($t1) :: RTval: 0x80000000, out: 0x46450000
+sh $t0, 51($t1) :: RTval: 0x28f, out: 0x28f
+sh $t0, 51($t1) :: RTval: 0x28f, out: 0x464d028f
+MEM1:
+0xffff0035, 0xffffff59, 0xff00ffff, 0xff
+0x0, 0x0, 0x0, 0xff000000
+0xff0000ff, 0xff, 0x592700, 0xff000000
+0x8f0000ff, 0x2, 0x0, 0x0
+MEM:
+0xffff0035, 0xffffff59, 0xff00ffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0xff2d2d2a
+0xff343fff, 0x3e353dff, 0x3659273b, 0xff373b3a
+0x8f0000ff, 0x4e464d02, 0x474d474c, 0x4a484a4c
+sw
+sw $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 3($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 3($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 9($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 9($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 15($t1) :: RTval: 0x7fffffff, out: 0x8000
+sw $t0, 15($t1) :: RTval: 0x7fffffff, out: 0xffff8000
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 37($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 37($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 49($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 49($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 41($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 41($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 43($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 43($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 51($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 51($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff0035, 0xffffffff, 0xffffffff, 0xff000080
+0x7fffff, 0x0, 0x0, 0xff000000
+0xffffff, 0xffffff00, 0xffffff, 0x800000
+0x8f592700, 0x2, 0x0, 0x0
+MEM:
+0xffff0035, 0xffffffff, 0xffffffff, 0xffffff80
+0x237fffff, 0x242c2b2b, 0x252a2e2b, 0xff2d2d2a
+0x3fffffff, 0xffffff3c, 0xffffff, 0x3b800000
+0x8f592745, 0x4e000002, 0x474d474c, 0x4a484a4c
+swl
+swl $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swl $t0, 1($t1) :: RTval: 0x0, out: 0x121f00
+swl $t0, 3($t1) :: RTval: 0x31415927, out: 0x31
+swl $t0, 3($t1) :: RTval: 0x31415927, out: 0x31
+swl $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7f
+swl $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x300007f
+swl $t0, 7($t1) :: RTval: 0x80000000, out: 0x80
+swl $t0, 7($t1) :: RTval: 0x80000000, out: 0x380
+swl $t0, 9($t1) :: RTval: 0x80000000, out: 0x80
+swl $t0, 9($t1) :: RTval: 0x80000000, out: 0xff000080
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x8000807f
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x8000807f
+swl $t0, 11($t1) :: RTval: 0x7fffffff, out: 0x7f
+swl $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffff7f
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0x7fffffff
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0x7fffffff
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415931
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415931
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0x3141590d
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0x3141590d
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x314159ff
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x314159ff
+swl $t0, 0($t1) :: RTval: 0xf, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0xf, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x31415900
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff31ff
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff31ff
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff31ff
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff31ff
+swl $t0, 33($t1) :: RTval: 0xffffffff, out: 0xff
+swl $t0, 33($t1) :: RTval: 0xffffffff, out: 0x3c3f34ff
+swl $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff
+swl $t0, 35($t1) :: RTval: 0xffffffff, out: 0x353d3cff
+swl $t0, 41($t1) :: RTval: 0x31415927, out: 0x31
+swl $t0, 41($t1) :: RTval: 0x31415927, out: 0x3a363a31
+swl $t0, 45($t1) :: RTval: 0x7fffffff, out: 0x7f
+swl $t0, 45($t1) :: RTval: 0x7fffffff, out: 0x453b377f
+swl $t0, 49($t1) :: RTval: 0x80000000, out: 0x80
+swl $t0, 49($t1) :: RTval: 0x80000000, out: 0x46454f80
+swl $t0, 51($t1) :: RTval: 0x28f, out: 0x0
+swl $t0, 51($t1) :: RTval: 0x28f, out: 0x464d4600
+MEM1:
+0x31ffffff, 0x807fffff, 0x7fffffff, 0x0
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0x0, 0x3141, 0x7fff
+0x28f, 0x0, 0x0, 0x0
+MEM:
+0x31ffffff, 0x807fffff, 0x7fffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0x3e353d3c, 0x363a3141, 0x3b377fff
+0x28f, 0x4e464d46, 0x474d474c, 0x4a484a4c
+swr
+swr $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swr $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swr $t0, 3($t1) :: RTval: 0x31415927, out: 0x27
+swr $t0, 3($t1) :: RTval: 0x31415927, out: 0x27
+swr $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xffffff
+swr $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x3ffffff
+swr $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 7($t1) :: RTval: 0x80000000, out: 0x300
+swr $t0, 9($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 9($t1) :: RTval: 0x80000000, out: 0xff000000
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x3ffff
+swr $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xff
+swr $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+swr $t0, 31($t1) :: RTval: 0xffffffff, out: 0xff
+swr $t0, 31($t1) :: RTval: 0xffffffff, out: 0x343f3eff
+swr $t0, 33($t1) :: RTval: 0xffffffff, out: 0xffffff
+swr $t0, 33($t1) :: RTval: 0xffffffff, out: 0x3cffffff
+swr $t0, 45($t1) :: RTval: 0x31415927, out: 0x415927
+swr $t0, 45($t1) :: RTval: 0x31415927, out: 0x45415927
+swr $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xff
+swr $t0, 47($t1) :: RTval: 0x7fffffff, out: 0x4f4e45ff
+swr $t0, 49($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 49($t1) :: RTval: 0x80000000, out: 0x46000000
+swr $t0, 51($t1) :: RTval: 0x28f, out: 0x8f
+swr $t0, 51($t1) :: RTval: 0x28f, out: 0x464d468f
+MEM1:
+0xffff0035, 0xffffff00, 0xffffffff, 0x0
+0x0, 0x0, 0x0, 0xff000000
+0xffffff00, 0x0, 0x0, 0xff592700
+0x8f000000, 0x0, 0x0, 0x0
+MEM:
+0xffff0035, 0xffffff00, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0xff2d2d2a
+0xffffff3e, 0x3e353d3c, 0x363a3c3b, 0xff59273a
+0x8f000045, 0x4e464d46, 0x474d474c, 0x4a484a4c
+ulw
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x121f
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x30000
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x3
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x121f
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x121f
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x3f343f3e
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x3e353d3c
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x363a3c3b
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x3b373b3a
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x454f4e45
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x4e464d46
+MEM1:
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+MEM:
+0x121f1e1f, 0x0, 0x3, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a
+0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+usw
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff0035, 0xffffffff, 0xffffffff, 0x7fff
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x0, 0x0
+MEM:
+0xffff0035, 0xffffffff, 0xffffffff, 0xffff7fff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x474d474c, 0x4a484a4c
+swl $t0, 3($t0)
+swr $t0, 0($t0)
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0x4853000
+MEM:
+0x4853000, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0x4853000
+MEM:
+0xe680, 0x4853000, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0x4863700
+MEM:
+0xe680, 0x10700, 0x4863700, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x48aedd0, out: 0x48aedd0
+MEM:
+0xe680, 0x10700, 0xe7dc, 0x48aedd0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0x2aaee700
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2aaee700, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee7ff, out: 0x2aaee7ff
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0x2aaee7ff, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaeffff, out: 0x2aaeffff
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0x2aaeffff, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0x4863700
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0x4863700
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0x2aaee700
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0x2aaee700, 0x2ab05fe0, 0xdfd0, 0x10300
diff --git a/none/tests/mips32/LoadStore1.vgtest b/none/tests/mips32/LoadStore1.vgtest
new file mode 100644
index 0000000..0c9bce2
--- /dev/null
+++ b/none/tests/mips32/LoadStore1.vgtest
@@ -0,0 +1,2 @@
+prog: LoadStore1
+vgopts: -q
diff --git a/none/tests/mips32/MIPS32int.c b/none/tests/mips32/MIPS32int.c
new file mode 100644
index 0000000..d011a69
--- /dev/null
+++ b/none/tests/mips32/MIPS32int.c
@@ -0,0 +1,1794 @@
+#include <stdio.h>
+
+#define TESTINST1(instruction, RSval, RTval, RD, RS, RT) \
+{ \
+   unsigned int out; \
+   __asm__ volatile( \
+      "li   $" #RD ", 0\n\t"  \
+      "move $" #RS ", %1\n\t" \
+      "move $" #RT ", %2\n\t" \
+      instruction "\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval), "r" (RTval) \
+      : #RD, #RS, #RT, "cc", "memory" \
+        ); \
+        printf("%s :: rd 0x%08x rs 0x%08x, rt 0x%08x\n", \
+        instruction, out, RSval, RTval); \
+}
+
+#define TESTINST2(instruction, RSval, imm, RT, RS) \
+{ \
+   unsigned int out; \
+   __asm__ volatile( \
+      "move $" #RS ", %1\n\t" \
+      instruction "\n\t" \
+      "move %0, $" #RT "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval) \
+      : #RT, #RS, "cc", "memory" \
+        ); \
+        printf("%s :: rt 0x%08x rs 0x%08x, imm 0x%08x\n", \
+        instruction, out, RSval, imm); \
+}
+
+#define TESTINST3(instruction, RSval, RD, RS) \
+{ \
+   unsigned int out; \
+   __asm__ volatile( \
+      "move $" #RS ", %1\n\t" \
+      instruction "\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval) \
+      : #RD, #RS, "cc", "memory" \
+        ); \
+        printf("%s :: rd 0x%08x rs 0x%08x\n", \
+        instruction, out, RSval); \
+}
+
+#define TESTINST3a(instruction, RSval, RTval, RS, RT) \
+{ \
+   unsigned int HI; \
+   unsigned int LO; \
+   __asm__ volatile( \
+      "li $" #RS ", 0x0\n\t" \
+      "mthi $" #RS"\n\t" \
+      "mtlo $" #RS"\n\t" \
+      "move $" #RS ", %2\n\t" \
+      "move $" #RT ", %3\n\t" \
+      instruction "\n\t" \
+      "mfhi %0 \n\t" \
+      "mflo %1 \n\t" \
+      : "=&r" (HI), "=&r" (LO) \
+      : "r" (RSval), "r"(RTval) \
+      : #RS, #RT, "cc", "memory" \
+        ); \
+   printf("%s :: rs 0x%08x rt 0x%08x HI 0x%08x LO 0x%08x \n", \
+        instruction, RSval, RTval, HI, LO); \
+}
+
+#define TESTINST4(instruction, RTval, RSval, RT, RS, pos, size) \
+{ \
+   unsigned int out; \
+   __asm__ volatile( \
+      "move $" #RT ", %1\n\t" \
+      "move $" #RS ", %2\n\t" \
+      instruction "\n\t" \
+      "move %0, $" #RT "\n\t" \
+      : "=&r" (out) \
+      : "r" (RTval), "r" (RSval) \
+      : #RT, #RS, "cc", "memory" \
+        ); \
+        printf("%s :: rt 0x%08x rs 0x%08x, pos 0x%08x, size 0x%08x\n", \
+        instruction, out, RSval, pos, size); \
+}
+
+const unsigned int mem[] = {
+   0x121f1e1f, 0, 3, -1,
+   0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a,
+   0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a,
+   0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+};
+
+// load $t0, 0($t1)
+#define TESTINSN5LOAD(instruction, RTval, offset, RT) \
+{ \
+    unsigned int out; \
+   __asm__ volatile( \
+     "move $t1, %1\n\t" \
+     "li $t0, " #RTval"\n\t" \
+     instruction "\n\t" \
+     "move %0, $" #RT "\n\t" \
+     : "=&r" (out) \
+	 : "r" (mem), "r" (RTval) \
+	 : #RT, "cc", "memory" \
+	 ); \
+   printf("%s :: rt 0x%08x\n", \
+          instruction, out); \
+}
+
+#define TESTINSN_HILO(RSval) \
+{ \
+   unsigned int HI; \
+   unsigned int LO; \
+   __asm__ volatile( \
+      "move $t0, %2\n\t" \
+      "mthi $t0\n\t" \
+      "addiu $t0, $t0, 0xffff\n\t" \
+      "mtlo $t0\n\t" \
+      "mfhi %0\n\t" \
+      "mflo %1\n\t" \
+     : "=&r" (HI), "=&r" (LO) \
+	 : "r" (RSval)\
+	 : "cc", "memory" \
+	 ); \
+   printf("mfhi mflo :: HI: 0x%x, LO: 0x%x\n", \
+          HI, LO); \
+}
+
+int main(int argc, char **argv)
+{
+   printf("ADD\n");
+   TESTINST1("add $t0, $t1, $t2", 0, 0, t0, t1, t2);
+   TESTINST1("add $t0, $t1, $t2", 0, 1, t0, t1, t2);
+   TESTINST1("add $t0, $t1, $t2", 1, 0, t0, t1, t2);
+   TESTINST1("add $t0, $t1, $t2", 1, 1, t0, t1, t2);
+   TESTINST1("add $t0, $t1, $t2", 0, -1, t0, t1, t2);
+   TESTINST1("add $t0, $t1, $t2", 1, -1, t0, t1, t2);
+   TESTINST1("add $t0, $t1, $t2", 0x80000000, 0, t0, t1, t2);
+   TESTINST1("add $t0, $t1, $t2", 0x31415927, 0x27181728, t0, t1, t2);
+   TESTINST1("add $t0, $t1, $t2", 0x31415927, 0x97181728, t0, t1, t2);
+   TESTINST1("add $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("add $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("add $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+
+   printf("ADDI\n");
+   TESTINST2("addi $t0, $t1, 0", 0, 0, t0, t1);
+   TESTINST2("addi $t0, $t1, 1", 0, 1, t0, t1);
+   TESTINST2("addi $t0, $t1, 1", 1, 0, t0, t1);
+   TESTINST2("addi $t0, $t1, 1", 1, 1, t0, t1);
+   TESTINST2("addi $t0, $t1, -1", 0, -1, t0, t1);
+   TESTINST2("addi $t0, $t1, -1", 1, -1, t0, t1);
+   TESTINST2("addi $t0, $t1, 0", 0x80000000, 0, t0, t1);
+   TESTINST2("addi $t0, $t1, 0", -1,         0,          t0, t1);
+   TESTINST2("addi $t0, $t1, 0", 0x80000000, 0,          t0, t1);
+
+   printf("ADDIU\n");
+   TESTINST2("addiu $t0, $t1, 0", 0, 0, t0, t1);
+   TESTINST2("addiu $t0, $t1, 1", 0, 1, t0, t1);
+   TESTINST2("addiu $t0, $t1, 1", 1, 0, t0, t1);
+   TESTINST2("addiu $t0, $t1, 1", 1, 1, t0, t1);
+   TESTINST2("addiu $t0, $t1, -1", 0, -1, t0, t1);
+   TESTINST2("addiu $t0, $t1, -1", 1, -1, t0, t1);
+   TESTINST2("addiu $t0, $t1, 0", 0x80000000, 0, t0, t1);
+   TESTINST2("addiu $t0, $t1, 0", -1,         0,          t0, t1);
+   TESTINST2("addiu $t0, $t1, 0", 0x80000000, 0,          t0, t1);
+
+   printf("ADDU\n");
+   TESTINST1("addu $t0, $t1, $t2", 0, 0, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0, 1, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 1, 0, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 1, 1, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0, -1, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 1, -1, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0x31415927, 0x27181728, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0x31415927, 0x97181728, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0x80000000, 0x7fffffff, t0, t1, t2);
+   TESTINST1("addu $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+
+   printf("AND\n");
+   TESTINST1("and $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("and $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+
+   printf("ANDI\n");
+   TESTINST2("andi $t0, $t1, 1", 0, 1, t0, t1);
+   TESTINST2("andi $t0, $t1, 0", 1, 0, t0, t1);
+   TESTINST2("andi $t0, $t1, 1", 1, 1, t0, t1);
+   TESTINST2("andi $t0, $t1, 1", 0x7fffffff, 0, t0, t1);
+   TESTINST2("andi $t0, $t1, 0", 0x80000000, 0, t0, t1);
+   TESTINST2("andi $t0, $t1, 0x3145", 0xffffffff, 0x3145, t0, t1);
+
+   printf("CLO\n");
+   TESTINST3("clo  $t0, $t1", 0, t0, t1);
+   TESTINST3("clo  $t0, $t1", 1, t0, t1);
+   TESTINST3("clo  $t0, $t1", 0x10, t0, t1);
+   TESTINST3("clo  $t0, $t1", 0xffffffff, t0, t1);
+
+   printf("CLZ\n");
+   TESTINST3("clz  $t0, $t1", 0, t0, t1);
+   TESTINST3("clz  $t0, $t1", 1, t0, t1);
+   TESTINST3("clz  $t0, $t1", 0x10, t0, t1);
+   TESTINST3("clz  $t0, $t1", 0xffffffff, t0, t1);
+
+   printf("DIV\n");
+   TESTINST3a("div  $t0, $t1", 0x6, 0x2, t0, t1);
+   TESTINST3a("div  $t0, $t1", 0x7fffffff, 0x7fffffff, t0, t1);
+   TESTINST3a("div  $t0, $t1", 0xffffffff, 0x1, t0, t1);
+   TESTINST3a("div  $t0, $t1", 0x1, 0xffffffff, t0, t1);
+   TESTINST3a("div  $t0, $t1", 0x2, 0x6, t0, t1);
+
+   printf("DIVU\n");
+   TESTINST3a("divu  $t0, $t1", 0x6, 0x2, t0, t1);
+   TESTINST3a("divu  $t0, $t1", 0x7fffffff, 0x7fffffff, t0, t1);
+   TESTINST3a("divu  $t0, $t1", 0xffffffff, 0x1, t0, t1);
+   TESTINST3a("divu  $t0, $t1", 0x1, 0xffffffff, t0, t1);
+   TESTINST3a("divu  $t0, $t1", 0x2, 0x6, t0, t1);
+   TESTINST3a("divu  $t0, $t1", 0x0, 0x2, t0, t1);
+
+#if (__mips==32) && (__mips_isa_rev>=2)
+   printf("EXT\n");
+   TESTINST4("ext $t0, $t1, 0, 1",  0x0,        0x0,        t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0x0,        0xffffffff, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0x0,        0x98765432, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0x0,        0xff865421, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0xffffffff, 0x0,        t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0xffffffff, 0xffffffff, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0xffffffff, 0x98765432, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0xffffffff, 0xff865421, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0x98765432, 0x0,        t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0x98765432, 0xffffffff, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0x98765432, 0x98765432, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0x98765432, 0xff865421, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0xff865421, 0x0,        t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0xff865421, 0xffffffff, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0xff865421, 0x98765432, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 1",  0xff865421, 0xff865421, t0, t1, 0, 1);
+   TESTINST4("ext $t0, $t1, 0, 4",  0x0,        0x0,        t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0x0,        0xffffffff, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0x0,        0x98765432, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0x0,        0xff865421, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0xffffffff, 0x0,        t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0xffffffff, 0xffffffff, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0xffffffff, 0x98765432, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0xffffffff, 0xff865421, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0x98765432, 0x0,        t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0x98765432, 0xffffffff, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0x98765432, 0x98765432, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0x98765432, 0xff865421, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0xff865421, 0x0,        t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0xff865421, 0xffffffff, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0xff865421, 0x98765432, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 4",  0xff865421, 0xff865421, t0, t1, 0, 4);
+   TESTINST4("ext $t0, $t1, 0, 16", 0x0,        0x0,        t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0x0,        0xffffffff, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0x0,        0x98765432, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0x0,        0xff865421, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0xffffffff, 0x0,        t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0xffffffff, 0xffffffff, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0xffffffff, 0x98765432, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0xffffffff, 0xff865421, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0x98765432, 0x0,        t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0x98765432, 0xffffffff, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0x98765432, 0x98765432, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0x98765432, 0xff865421, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0xff865421, 0x0,        t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0xff865421, 0xffffffff, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0xff865421, 0x98765432, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 16", 0xff865421, 0xff865421, t0, t1, 0, 16);
+   TESTINST4("ext $t0, $t1, 0, 32", 0x0,        0x0,        t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0x0,        0xffffffff, t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0x0,        0x98765432, t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0x0,        0xff865421, t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0xffffffff, 0x0,        t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0xffffffff, 0xffffffff, t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0xffffffff, 0x98765432, t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0xffffffff, 0xff865421, t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0x98765432, 0x0,        t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0x98765432, 0xffffffff, t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0x98765432, 0x98765432, t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0x98765432, 0xff865421, t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0xff865421, 0x0,        t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0xff865421, 0xffffffff, t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0xff865421, 0x98765432, t0, t1, 0, 32);
+   TESTINST4("ext $t0, $t1, 0, 32", 0xff865421, 0xff865421, t0, t1, 0, 32);
+
+   TESTINST4("ext $t0, $t1, 4, 1",  0x0,        0x0,        t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0x0,        0xffffffff, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0x0,        0x98765432, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0x0,        0xff865421, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0xffffffff, 0x0,        t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0xffffffff, 0xffffffff, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0xffffffff, 0x98765432, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0xffffffff, 0xff865421, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0x98765432, 0x0,        t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0x98765432, 0xffffffff, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0x98765432, 0x98765432, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0x98765432, 0xff865421, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0xff865421, 0x0,        t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0xff865421, 0xffffffff, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0xff865421, 0x98765432, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 1",  0xff865421, 0xff865421, t0, t1, 4, 1);
+   TESTINST4("ext $t0, $t1, 4, 4",  0x0,        0x0,        t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0x0,        0xffffffff, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0x0,        0x98765432, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0x0,        0xff865421, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0xffffffff, 0x0,        t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0xffffffff, 0xffffffff, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0xffffffff, 0x98765432, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0xffffffff, 0xff865421, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0x98765432, 0x0,        t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0x98765432, 0xffffffff, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0x98765432, 0x98765432, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0x98765432, 0xff865421, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0xff865421, 0x0,        t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0xff865421, 0xffffffff, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0xff865421, 0x98765432, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 4",  0xff865421, 0xff865421, t0, t1, 4, 4);
+   TESTINST4("ext $t0, $t1, 4, 16", 0x0,        0x0,        t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0x0,        0xffffffff, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0x0,        0x98765432, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0x0,        0xff865421, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0xffffffff, 0x0,        t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0xffffffff, 0xffffffff, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0xffffffff, 0x98765432, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0xffffffff, 0xff865421, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0x98765432, 0x0,        t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0x98765432, 0xffffffff, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0x98765432, 0x98765432, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0x98765432, 0xff865421, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0xff865421, 0x0,        t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0xff865421, 0xffffffff, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0xff865421, 0x98765432, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 16", 0xff865421, 0xff865421, t0, t1, 4, 16);
+   TESTINST4("ext $t0, $t1, 4, 28", 0x0,        0x0,        t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0x0,        0xffffffff, t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0x0,        0x98765432, t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0x0,        0xff865421, t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0xffffffff, 0x0,        t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0xffffffff, 0xffffffff, t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0xffffffff, 0x98765432, t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0xffffffff, 0xff865421, t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0x98765432, 0x0,        t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0x98765432, 0xffffffff, t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0x98765432, 0x98765432, t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0x98765432, 0xff865421, t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0xff865421, 0x0,        t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0xff865421, 0xffffffff, t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0xff865421, 0x98765432, t0, t1, 4, 28);
+   TESTINST4("ext $t0, $t1, 4, 28", 0xff865421, 0xff865421, t0, t1, 4, 28);
+
+   TESTINST4("ext $t0, $t1, 16, 1",  0x0,        0x0,        t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0x0,        0xffffffff, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0x0,        0x98765432, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0x0,        0xff865421, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0xffffffff, 0x0,        t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0xffffffff, 0xffffffff, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0xffffffff, 0x98765432, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0xffffffff, 0xff865421, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0x98765432, 0x0,        t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0x98765432, 0xffffffff, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0x98765432, 0x98765432, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0x98765432, 0xff865421, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0xff865421, 0x0,        t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0xff865421, 0xffffffff, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0xff865421, 0x98765432, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 1",  0xff865421, 0xff865421, t0, t1, 1, 16);
+   TESTINST4("ext $t0, $t1, 16, 4",  0x0,        0x0,        t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0x0,        0xffffffff, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0x0,        0x98765432, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0x0,        0xff865421, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0xffffffff, 0x0,        t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0xffffffff, 0xffffffff, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0xffffffff, 0x98765432, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0xffffffff, 0xff865421, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0x98765432, 0x0,        t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0x98765432, 0xffffffff, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0x98765432, 0x98765432, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0x98765432, 0xff865421, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0xff865421, 0x0,        t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0xff865421, 0xffffffff, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0xff865421, 0x98765432, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 4",  0xff865421, 0xff865421, t0, t1, 16, 4);
+   TESTINST4("ext $t0, $t1, 16, 16", 0x0,        0x0,        t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0x0,        0xffffffff, t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0x0,        0x98765432, t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0x0,        0xff865421, t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0xffffffff, 0x0,        t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0xffffffff, 0xffffffff, t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0xffffffff, 0x98765432, t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0xffffffff, 0xff865421, t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0x98765432, 0x0,        t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0x98765432, 0xffffffff, t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0x98765432, 0x98765432, t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0x98765432, 0xff865421, t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0xff865421, 0x0,        t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0xff865421, 0xffffffff, t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0xff865421, 0x98765432, t0, t1, 16, 16);
+   TESTINST4("ext $t0, $t1, 16, 16", 0xff865421, 0xff865421, t0, t1, 16, 16);
+
+   TESTINST4("ext $t0, $t1, 31, 1", 0x0,        0x0,        t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0x0,        0xffffffff, t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0x0,        0x98765432, t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0x0,        0xff865421, t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0xffffffff, 0x0,        t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0xffffffff, 0xffffffff, t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0xffffffff, 0x98765432, t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0xffffffff, 0xff865421, t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0x98765432, 0x0,        t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0x98765432, 0xffffffff, t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0x98765432, 0x98765432, t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0x98765432, 0xff865421, t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0xff865421, 0x0,        t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0xff865421, 0xffffffff, t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0xff865421, 0x98765432, t0, t1, 31, 1);
+   TESTINST4("ext $t0, $t1, 31, 1", 0xff865421, 0xff865421, t0, t1, 31, 1);
+
+   printf("INS\n");
+   TESTINST4("ins $t0, $t1, 0, 1",  0x0,        0x0,        t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0x0,        0xffffffff, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0x0,        0x98765432, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0x0,        0xff865421, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0xffffffff, 0x0,        t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0xffffffff, 0xffffffff, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0xffffffff, 0x98765432, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0xffffffff, 0xff865421, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0x98765432, 0x0,        t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0x98765432, 0xffffffff, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0x98765432, 0x98765432, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0x98765432, 0xff865421, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0xff865421, 0x0,        t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0xff865421, 0xffffffff, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0xff865421, 0x98765432, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 1",  0xff865421, 0xff865421, t0, t1, 0, 1);
+   TESTINST4("ins $t0, $t1, 0, 4",  0x0,        0x0,        t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0x0,        0xffffffff, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0x0,        0x98765432, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0x0,        0xff865421, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0xffffffff, 0x0,        t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0xffffffff, 0xffffffff, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0xffffffff, 0x98765432, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0xffffffff, 0xff865421, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0x98765432, 0x0,        t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0x98765432, 0xffffffff, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0x98765432, 0x98765432, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0x98765432, 0xff865421, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0xff865421, 0x0,        t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0xff865421, 0xffffffff, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0xff865421, 0x98765432, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 4",  0xff865421, 0xff865421, t0, t1, 0, 4);
+   TESTINST4("ins $t0, $t1, 0, 16", 0x0,        0x0,        t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0x0,        0xffffffff, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0x0,        0x98765432, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0x0,        0xff865421, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0xffffffff, 0x0,        t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0xffffffff, 0xffffffff, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0xffffffff, 0x98765432, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0xffffffff, 0xff865421, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0x98765432, 0x0,        t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0x98765432, 0xffffffff, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0x98765432, 0x98765432, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0x98765432, 0xff865421, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0xff865421, 0x0,        t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0xff865421, 0xffffffff, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0xff865421, 0x98765432, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 16", 0xff865421, 0xff865421, t0, t1, 0, 16);
+   TESTINST4("ins $t0, $t1, 0, 32", 0x0,        0x0,        t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0x0,        0xffffffff, t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0x0,        0x98765432, t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0x0,        0xff865421, t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0xffffffff, 0x0,        t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0xffffffff, 0xffffffff, t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0xffffffff, 0x98765432, t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0xffffffff, 0xff865421, t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0x98765432, 0x0,        t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0x98765432, 0xffffffff, t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0x98765432, 0x98765432, t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0x98765432, 0xff865421, t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0xff865421, 0x0,        t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0xff865421, 0xffffffff, t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0xff865421, 0x98765432, t0, t1, 0, 32);
+   TESTINST4("ins $t0, $t1, 0, 32", 0xff865421, 0xff865421, t0, t1, 0, 32);
+
+   TESTINST4("ins $t0, $t1, 4, 1",  0x0,        0x0,        t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0x0,        0xffffffff, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0x0,        0x98765432, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0x0,        0xff865421, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0xffffffff, 0x0,        t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0xffffffff, 0xffffffff, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0xffffffff, 0x98765432, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0xffffffff, 0xff865421, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0x98765432, 0x0,        t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0x98765432, 0xffffffff, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0x98765432, 0x98765432, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0x98765432, 0xff865421, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0xff865421, 0x0,        t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0xff865421, 0xffffffff, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0xff865421, 0x98765432, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 1",  0xff865421, 0xff865421, t0, t1, 4, 1);
+   TESTINST4("ins $t0, $t1, 4, 4",  0x0,        0x0,        t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0x0,        0xffffffff, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0x0,        0x98765432, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0x0,        0xff865421, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0xffffffff, 0x0,        t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0xffffffff, 0xffffffff, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0xffffffff, 0x98765432, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0xffffffff, 0xff865421, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0x98765432, 0x0,        t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0x98765432, 0xffffffff, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0x98765432, 0x98765432, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0x98765432, 0xff865421, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0xff865421, 0x0,        t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0xff865421, 0xffffffff, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0xff865421, 0x98765432, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 4",  0xff865421, 0xff865421, t0, t1, 4, 4);
+   TESTINST4("ins $t0, $t1, 4, 16", 0x0,        0x0,        t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0x0,        0xffffffff, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0x0,        0x98765432, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0x0,        0xff865421, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0xffffffff, 0x0,        t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0xffffffff, 0xffffffff, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0xffffffff, 0x98765432, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0xffffffff, 0xff865421, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0x98765432, 0x0,        t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0x98765432, 0xffffffff, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0x98765432, 0x98765432, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0x98765432, 0xff865421, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0xff865421, 0x0,        t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0xff865421, 0xffffffff, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0xff865421, 0x98765432, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 16", 0xff865421, 0xff865421, t0, t1, 4, 16);
+   TESTINST4("ins $t0, $t1, 4, 28", 0x0,        0x0,        t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0x0,        0xffffffff, t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0x0,        0x98765432, t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0x0,        0xff865421, t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0xffffffff, 0x0,        t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0xffffffff, 0xffffffff, t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0xffffffff, 0x98765432, t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0xffffffff, 0xff865421, t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0x98765432, 0x0,        t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0x98765432, 0xffffffff, t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0x98765432, 0x98765432, t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0x98765432, 0xff865421, t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0xff865421, 0x0,        t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0xff865421, 0xffffffff, t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0xff865421, 0x98765432, t0, t1, 4, 28);
+   TESTINST4("ins $t0, $t1, 4, 28", 0xff865421, 0xff865421, t0, t1, 4, 28);
+
+   TESTINST4("ins $t0, $t1, 16, 1",  0x0,        0x0,        t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0x0,        0xffffffff, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0x0,        0x98765432, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0x0,        0xff865421, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0xffffffff, 0x0,        t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0xffffffff, 0xffffffff, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0xffffffff, 0x98765432, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0xffffffff, 0xff865421, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0x98765432, 0x0,        t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0x98765432, 0xffffffff, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0x98765432, 0x98765432, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0x98765432, 0xff865421, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0xff865421, 0x0,        t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0xff865421, 0xffffffff, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0xff865421, 0x98765432, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 1",  0xff865421, 0xff865421, t0, t1, 1, 16);
+   TESTINST4("ins $t0, $t1, 16, 4",  0x0,        0x0,        t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0x0,        0xffffffff, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0x0,        0x98765432, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0x0,        0xff865421, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0xffffffff, 0x0,        t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0xffffffff, 0xffffffff, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0xffffffff, 0x98765432, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0xffffffff, 0xff865421, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0x98765432, 0x0,        t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0x98765432, 0xffffffff, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0x98765432, 0x98765432, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0x98765432, 0xff865421, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0xff865421, 0x0,        t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0xff865421, 0xffffffff, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0xff865421, 0x98765432, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 4",  0xff865421, 0xff865421, t0, t1, 16, 4);
+   TESTINST4("ins $t0, $t1, 16, 16", 0x0,        0x0,        t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0x0,        0xffffffff, t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0x0,        0x98765432, t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0x0,        0xff865421, t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0xffffffff, 0x0,        t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0xffffffff, 0xffffffff, t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0xffffffff, 0x98765432, t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0xffffffff, 0xff865421, t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0x98765432, 0x0,        t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0x98765432, 0xffffffff, t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0x98765432, 0x98765432, t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0x98765432, 0xff865421, t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0xff865421, 0x0,        t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0xff865421, 0xffffffff, t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0xff865421, 0x98765432, t0, t1, 16, 16);
+   TESTINST4("ins $t0, $t1, 16, 16", 0xff865421, 0xff865421, t0, t1, 16, 16);
+
+   TESTINST4("ins $t0, $t1, 31, 1", 0x0,        0x0,        t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0x0,        0xffffffff, t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0x0,        0x98765432, t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0x0,        0xff865421, t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0xffffffff, 0x0,        t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0xffffffff, 0xffffffff, t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0xffffffff, 0x98765432, t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0xffffffff, 0xff865421, t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0x98765432, 0x0,        t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0x98765432, 0xffffffff, t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0x98765432, 0x98765432, t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0x98765432, 0xff865421, t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0xff865421, 0x0,        t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0xff865421, 0xffffffff, t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0xff865421, 0x98765432, t0, t1, 31, 1);
+   TESTINST4("ins $t0, $t1, 31, 1", 0xff865421, 0xff865421, t0, t1, 31, 1);
+#endif
+
+   printf("LB\n");
+   TESTINSN5LOAD("lb $t0, 0($t1)", 0, 0, t0);
+   TESTINSN5LOAD("lb $t0, 4($t1)", 0, 4, t0);
+   TESTINSN5LOAD("lb $t0, 8($t1)", 0, 8, t0);
+   TESTINSN5LOAD("lb $t0, 12($t1)", 0, 12, t0);
+   TESTINSN5LOAD("lb $t0, 16($t1)", 0, 16, t0);
+   TESTINSN5LOAD("lb $t0, 20($t1)", 0, 20, t0);
+   TESTINSN5LOAD("lb $t0, 24($t1)", 0, 24, t0);
+   TESTINSN5LOAD("lb $t0, 28($t1)", 0, 28, t0);
+   TESTINSN5LOAD("lb $t0, 32($t1)", 0, 32, t0);
+   TESTINSN5LOAD("lb $t0, 36($t1)", 0, 36, t0);
+   TESTINSN5LOAD("lb $t0, 40($t1)", 0, 40, t0);
+   TESTINSN5LOAD("lb $t0, 44($t1)", 0, 44, t0);
+   TESTINSN5LOAD("lb $t0, 48($t1)", 0, 48, t0);
+   TESTINSN5LOAD("lb $t0, 52($t1)", 0, 52, t0);
+   TESTINSN5LOAD("lb $t0, 56($t1)", 0, 56, t0);
+   TESTINSN5LOAD("lb $t0, 60($t1)", 0, 60, t0);
+   TESTINSN5LOAD("lb $t0, 64($t1)", 0, 64, t0);
+   TESTINSN5LOAD("lb $t0, 2($t1)", 0, 2, t0);
+   TESTINSN5LOAD("lb $t0, 6($t1)", 0, 6, t0);
+   TESTINSN5LOAD("lb $t0, 10($t1)", 0, 10, t0);
+   TESTINSN5LOAD("lb $t0, 14($t1)", 0, 14, t0);
+   TESTINSN5LOAD("lb $t0, 18($t1)", 0, 18, t0);
+   TESTINSN5LOAD("lb $t0, 22($t1)", 0, 22, t0);
+   TESTINSN5LOAD("lb $t0, 26($t1)", 0, 26, t0);
+   TESTINSN5LOAD("lb $t0, 30($t1)", 0, 30, t0);
+   TESTINSN5LOAD("lb $t0, 34($t1)", 0, 34, t0);
+   TESTINSN5LOAD("lb $t0, 38($t1)", 0, 38, t0);
+
+   printf("LBU\n");
+   TESTINSN5LOAD("lbu $t0, 0($t1)", 0, 0, t0);
+   TESTINSN5LOAD("lbu $t0, 4($t1)", 0, 4, t0);
+   TESTINSN5LOAD("lbu $t0, 8($t1)", 0, 8, t0);
+   TESTINSN5LOAD("lbu $t0, 12($t1)", 0, 12, t0);
+   TESTINSN5LOAD("lbu $t0, 16($t1)", 0, 16, t0);
+   TESTINSN5LOAD("lbu $t0, 20($t1)", 0, 20, t0);
+   TESTINSN5LOAD("lbu $t0, 24($t1)", 0, 24, t0);
+   TESTINSN5LOAD("lbu $t0, 28($t1)", 0, 28, t0);
+   TESTINSN5LOAD("lbu $t0, 32($t1)", 0, 32, t0);
+   TESTINSN5LOAD("lbu $t0, 36($t1)", 0, 36, t0);
+   TESTINSN5LOAD("lbu $t0, 40($t1)", 0, 40, t0);
+   TESTINSN5LOAD("lbu $t0, 44($t1)", 0, 44, t0);
+   TESTINSN5LOAD("lbu $t0, 48($t1)", 0, 48, t0);
+   TESTINSN5LOAD("lbu $t0, 52($t1)", 0, 52, t0);
+   TESTINSN5LOAD("lbu $t0, 56($t1)", 0, 56, t0);
+   TESTINSN5LOAD("lbu $t0, 60($t1)", 0, 60, t0);
+   TESTINSN5LOAD("lbu $t0, 64($t1)", 0, 64, t0);
+   TESTINSN5LOAD("lbu $t0, 2($t1)", 0, 2, t0);
+   TESTINSN5LOAD("lbu $t0, 6($t1)", 0, 6, t0);
+   TESTINSN5LOAD("lbu $t0, 10($t1)", 0, 10, t0);
+   TESTINSN5LOAD("lbu $t0, 14($t1)", 0, 14, t0);
+   TESTINSN5LOAD("lbu $t0, 18($t1)", 0, 18, t0);
+   TESTINSN5LOAD("lbu $t0, 22($t1)", 0, 22, t0);
+   TESTINSN5LOAD("lbu $t0, 26($t1)", 0, 26, t0);
+   TESTINSN5LOAD("lbu $t0, 30($t1)", 0, 30, t0);
+   TESTINSN5LOAD("lbu $t0, 34($t1)", 0, 34, t0);
+   TESTINSN5LOAD("lbu $t0, 38($t1)", 0, 38, t0);
+
+   printf("LH\n");
+   TESTINSN5LOAD("lh $t0, 0($t1)", 0, 0, t0);
+   TESTINSN5LOAD("lh $t0, 4($t1)", 0, 4, t0);
+   TESTINSN5LOAD("lh $t0, 8($t1)", 0, 8, t0);
+   TESTINSN5LOAD("lh $t0, 12($t1)", 0, 12, t0);
+   TESTINSN5LOAD("lh $t0, 16($t1)", 0, 16, t0);
+   TESTINSN5LOAD("lh $t0, 20($t1)", 0, 20, t0);
+   TESTINSN5LOAD("lh $t0, 24($t1)", 0, 24, t0);
+   TESTINSN5LOAD("lh $t0, 28($t1)", 0, 28, t0);
+   TESTINSN5LOAD("lh $t0, 32($t1)", 0, 32, t0);
+   TESTINSN5LOAD("lh $t0, 36($t1)", 0, 36, t0);
+   TESTINSN5LOAD("lh $t0, 40($t1)", 0, 40, t0);
+   TESTINSN5LOAD("lh $t0, 44($t1)", 0, 44, t0);
+   TESTINSN5LOAD("lh $t0, 48($t1)", 0, 48, t0);
+   TESTINSN5LOAD("lh $t0, 52($t1)", 0, 52, t0);
+   TESTINSN5LOAD("lh $t0, 56($t1)", 0, 56, t0);
+   TESTINSN5LOAD("lh $t0, 60($t1)", 0, 60, t0);
+   TESTINSN5LOAD("lh $t0, 64($t1)", 0, 64, t0);
+   TESTINSN5LOAD("lh $t0, 2($t1)", 0, 2, t0);
+   TESTINSN5LOAD("lh $t0, 6($t1)", 0, 6, t0);
+   TESTINSN5LOAD("lh $t0, 10($t1)", 0, 10, t0);
+   TESTINSN5LOAD("lh $t0, 14($t1)", 0, 14, t0);
+   TESTINSN5LOAD("lh $t0, 18($t1)", 0, 18, t0);
+   TESTINSN5LOAD("lh $t0, 22($t1)", 0, 22, t0);
+   TESTINSN5LOAD("lh $t0, 26($t1)", 0, 26, t0);
+   TESTINSN5LOAD("lh $t0, 30($t1)", 0, 30, t0);
+   TESTINSN5LOAD("lh $t0, 34($t1)", 0, 34, t0);
+   TESTINSN5LOAD("lh $t0, 38($t1)", 0, 38, t0);
+
+   printf("LHU\n");
+   TESTINSN5LOAD("lhu $t0, 0($t1)", 0, 0, t0);
+   TESTINSN5LOAD("lhu $t0, 4($t1)", 0, 4, t0);
+   TESTINSN5LOAD("lhu $t0, 8($t1)", 0, 8, t0);
+   TESTINSN5LOAD("lhu $t0, 12($t1)", 0, 12, t0);
+   TESTINSN5LOAD("lhu $t0, 16($t1)", 0, 16, t0);
+   TESTINSN5LOAD("lhu $t0, 20($t1)", 0, 20, t0);
+   TESTINSN5LOAD("lhu $t0, 24($t1)", 0, 24, t0);
+   TESTINSN5LOAD("lhu $t0, 28($t1)", 0, 28, t0);
+   TESTINSN5LOAD("lhu $t0, 32($t1)", 0, 32, t0);
+   TESTINSN5LOAD("lhu $t0, 36($t1)", 0, 36, t0);
+   TESTINSN5LOAD("lhu $t0, 40($t1)", 0, 40, t0);
+   TESTINSN5LOAD("lhu $t0, 44($t1)", 0, 44, t0);
+   TESTINSN5LOAD("lhu $t0, 48($t1)", 0, 48, t0);
+   TESTINSN5LOAD("lhu $t0, 52($t1)", 0, 52, t0);
+   TESTINSN5LOAD("lhu $t0, 56($t1)", 0, 56, t0);
+   TESTINSN5LOAD("lhu $t0, 60($t1)", 0, 60, t0);
+   TESTINSN5LOAD("lhu $t0, 64($t1)", 0, 64, t0);
+   TESTINSN5LOAD("lhu $t0, 2($t1)", 0, 2, t0);
+   TESTINSN5LOAD("lhu $t0, 6($t1)", 0, 6, t0);
+   TESTINSN5LOAD("lhu $t0, 10($t1)", 0, 10, t0);
+   TESTINSN5LOAD("lhu $t0, 14($t1)", 0, 14, t0);
+   TESTINSN5LOAD("lhu $t0, 18($t1)", 0, 18, t0);
+   TESTINSN5LOAD("lhu $t0, 22($t1)", 0, 22, t0);
+   TESTINSN5LOAD("lhu $t0, 26($t1)", 0, 26, t0);
+   TESTINSN5LOAD("lhu $t0, 30($t1)", 0, 30, t0);
+   TESTINSN5LOAD("lhu $t0, 34($t1)", 0, 34, t0);
+   TESTINSN5LOAD("lhu $t0, 38($t1)", 0, 38, t0);
+
+   printf("LUI\n");
+   TESTINST3("lui  $t0, 0xffff", 0xffff, t0, t1);
+   TESTINST3("lui  $t0, 0xff00", 0xff00, t0, t1);
+   TESTINST3("lui  $t0, 0xff", 0xff, t0, t1);
+   TESTINST3("lui  $t0, 0x0", 0x0, t0, t1);
+   TESTINST3("lui  $t0, 0x5", 0x5, t0, t1);
+   TESTINST3("lui  $t0, 0x387", 0x387, t0, t1);
+
+   printf("LW\n");
+   TESTINSN5LOAD("lw $t0, 0($t1)", 0, 0, t0);
+   TESTINSN5LOAD("lw $t0, 4($t1)", 0, 4, t0);
+   TESTINSN5LOAD("lw $t0, 8($t1)", 0, 8, t0);
+   TESTINSN5LOAD("lw $t0, 12($t1)", 0, 12, t0);
+   TESTINSN5LOAD("lw $t0, 16($t1)", 0, 16, t0);
+   TESTINSN5LOAD("lw $t0, 20($t1)", 0, 20, t0);
+   TESTINSN5LOAD("lw $t0, 24($t1)", 0, 24, t0);
+   TESTINSN5LOAD("lw $t0, 28($t1)", 0, 28, t0);
+   TESTINSN5LOAD("lw $t0, 32($t1)", 0, 32, t0);
+   TESTINSN5LOAD("lw $t0, 36($t1)", 0, 36, t0);
+   TESTINSN5LOAD("lw $t0, 40($t1)", 0, 40, t0);
+   TESTINSN5LOAD("lw $t0, 44($t1)", 0, 44, t0);
+   TESTINSN5LOAD("lw $t0, 48($t1)", 0, 48, t0);
+   TESTINSN5LOAD("lw $t0, 52($t1)", 0, 52, t0);
+   TESTINSN5LOAD("lw $t0, 56($t1)", 0, 56, t0);
+   TESTINSN5LOAD("lw $t0, 60($t1)", 0, 60, t0);
+   TESTINSN5LOAD("lw $t0, 64($t1)", 0, 64, t0);
+   TESTINSN5LOAD("lw $t0, 2($t1)", 0, 2, t0);
+   TESTINSN5LOAD("lw $t0, 6($t1)", 0, 6, t0);
+   TESTINSN5LOAD("lw $t0, 10($t1)", 0, 10, t0);
+   TESTINSN5LOAD("lw $t0, 14($t1)", 0, 14, t0);
+   TESTINSN5LOAD("lw $t0, 18($t1)", 0, 18, t0);
+   TESTINSN5LOAD("lw $t0, 22($t1)", 0, 22, t0);
+   TESTINSN5LOAD("lw $t0, 26($t1)", 0, 26, t0);
+   TESTINSN5LOAD("lw $t0, 30($t1)", 0, 30, t0);
+   TESTINSN5LOAD("lw $t0, 34($t1)", 0, 34, t0);
+   TESTINSN5LOAD("lw $t0, 38($t1)", 0, 38, t0);
+
+   printf("LWL\n");
+   TESTINSN5LOAD("lwl $t0, 0($t1)", 0, 0, t0);
+   TESTINSN5LOAD("lwl $t0, 4($t1)", 0, 4, t0);
+   TESTINSN5LOAD("lwl $t0, 8($t1)", 0, 8, t0);
+   TESTINSN5LOAD("lwl $t0, 12($t1)", 0, 12, t0);
+   TESTINSN5LOAD("lwl $t0, 16($t1)", 0, 16, t0);
+   TESTINSN5LOAD("lwl $t0, 20($t1)", 0, 20, t0);
+   TESTINSN5LOAD("lwl $t0, 24($t1)", 0, 24, t0);
+   TESTINSN5LOAD("lwl $t0, 28($t1)", 0, 28, t0);
+   TESTINSN5LOAD("lwl $t0, 32($t1)", 0, 32, t0);
+   TESTINSN5LOAD("lwl $t0, 36($t1)", 0, 36, t0);
+   TESTINSN5LOAD("lwl $t0, 40($t1)", 0, 40, t0);
+   TESTINSN5LOAD("lwl $t0, 44($t1)", 0, 44, t0);
+   TESTINSN5LOAD("lwl $t0, 48($t1)", 0, 48, t0);
+   TESTINSN5LOAD("lwl $t0, 52($t1)", 0, 52, t0);
+   TESTINSN5LOAD("lwl $t0, 56($t1)", 0, 56, t0);
+   TESTINSN5LOAD("lwl $t0, 60($t1)", 0, 60, t0);
+   TESTINSN5LOAD("lwl $t0, 64($t1)", 0, 64, t0);
+   TESTINSN5LOAD("lwl $t0, 2($t1)", 0, 2, t0);
+   TESTINSN5LOAD("lwl $t0, 6($t1)", 0, 6, t0);
+   TESTINSN5LOAD("lwl $t0, 10($t1)", 0, 10, t0);
+   TESTINSN5LOAD("lwl $t0, 14($t1)", 0, 14, t0);
+   TESTINSN5LOAD("lwl $t0, 18($t1)", 0, 18, t0);
+   TESTINSN5LOAD("lwl $t0, 22($t1)", 0, 22, t0);
+   TESTINSN5LOAD("lwl $t0, 26($t1)", 0, 26, t0);
+   TESTINSN5LOAD("lwl $t0, 30($t1)", 0, 30, t0);
+   TESTINSN5LOAD("lwl $t0, 34($t1)", 0, 34, t0);
+   TESTINSN5LOAD("lwl $t0, 38($t1)", 0, 38, t0);
+
+   printf("LWR\n");
+   TESTINSN5LOAD("lwr $t0, 0($t1)", 0, 0, t0);
+   TESTINSN5LOAD("lwr $t0, 4($t1)", 0, 4, t0);
+   TESTINSN5LOAD("lwr $t0, 8($t1)", 0, 8, t0);
+   TESTINSN5LOAD("lwr $t0, 12($t1)", 0, 12, t0);
+   TESTINSN5LOAD("lwr $t0, 16($t1)", 0, 16, t0);
+   TESTINSN5LOAD("lwr $t0, 20($t1)", 0, 20, t0);
+   TESTINSN5LOAD("lwr $t0, 24($t1)", 0, 24, t0);
+   TESTINSN5LOAD("lwr $t0, 28($t1)", 0, 28, t0);
+   TESTINSN5LOAD("lwr $t0, 32($t1)", 0, 32, t0);
+   TESTINSN5LOAD("lwr $t0, 36($t1)", 0, 36, t0);
+   TESTINSN5LOAD("lwr $t0, 40($t1)", 0, 40, t0);
+   TESTINSN5LOAD("lwr $t0, 44($t1)", 0, 44, t0);
+   TESTINSN5LOAD("lwr $t0, 48($t1)", 0, 48, t0);
+   TESTINSN5LOAD("lwr $t0, 52($t1)", 0, 52, t0);
+   TESTINSN5LOAD("lwr $t0, 56($t1)", 0, 56, t0);
+   TESTINSN5LOAD("lwr $t0, 60($t1)", 0, 60, t0);
+   TESTINSN5LOAD("lwr $t0, 64($t1)", 0, 64, t0);
+   TESTINSN5LOAD("lwr $t0, 2($t1)", 0, 2, t0);
+   TESTINSN5LOAD("lwr $t0, 6($t1)", 0, 6, t0);
+   TESTINSN5LOAD("lwr $t0, 10($t1)", 0, 10, t0);
+   TESTINSN5LOAD("lwr $t0, 14($t1)", 0, 14, t0);
+   TESTINSN5LOAD("lwr $t0, 18($t1)", 0, 18, t0);
+   TESTINSN5LOAD("lwr $t0, 22($t1)", 0, 22, t0);
+   TESTINSN5LOAD("lwr $t0, 26($t1)", 0, 26, t0);
+   TESTINSN5LOAD("lwr $t0, 30($t1)", 0, 30, t0);
+   TESTINSN5LOAD("lwr $t0, 34($t1)", 0, 34, t0);
+   TESTINSN5LOAD("lwr $t0, 38($t1)", 0, 38, t0);
+
+   printf("MADD\n");
+   TESTINST3a("madd  $t0, $t1", 0x6, 0x2, t0, t1);
+   TESTINST3a("madd  $t0, $t1", 0x55, 0x28, t0, t1);
+   TESTINST3a("madd  $t0, $t1", 0x18, 0xfff, t0, t1);
+   TESTINST3a("madd  $t0, $t1", 0x7fffffff, 0x7fffffff, t0, t1);
+   TESTINST3a("madd  $t0, $t1", 0xffffffff, 0x1, t0, t1);
+   TESTINST3a("madd  $t0, $t1", 0x1, 0xffffffff, t0, t1);
+   TESTINST3a("madd  $t0, $t1", 0x2, 0x6, t0, t1);
+   TESTINST3a("madd  $t0, $t1", 0x356, 0x555, t0, t1);
+
+   printf("MADDU\n");
+   TESTINST3a("maddu  $t0, $t1", 0x6, 0x2, t0, t1);
+   TESTINST3a("maddu  $t0, $t1", 0x55, 0x28, t0, t1);
+   TESTINST3a("maddu  $t0, $t1", 0x18, 0xfff, t0, t1);
+   TESTINST3a("maddu  $t0, $t1", 0x7fffffff, 0x7fffffff, t0, t1);
+   TESTINST3a("maddu  $t0, $t1", 0xffffffff, 0x1, t0, t1);
+   TESTINST3a("maddu  $t0, $t1", 0x1, 0xffffffff, t0, t1);
+   TESTINST3a("maddu  $t0, $t1", 0x2, 0x6, t0, t1);
+   TESTINST3a("maddu  $t0, $t1", 0x356, 0x555, t0, t1);
+
+   printf("MOVN\n");
+   TESTINST1("movn $t0, $t1, $t2", 0x31415927, 0,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x31415927, 1,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x80000000, 1,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x7fffffff, 1,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x80000000, 1,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x31415927, 0,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x80000000, 1,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x80000000, 1,          t0, t1, t2);
+   TESTINST1("movn $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+
+   printf("MOVZ\n");
+   TESTINST1("movz $t0, $t1, $t2", 0x31415927, 0,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x31415927, 1,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x80000000, 1,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x7fffffff, 1,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x80000000, 1,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x31415927, 0,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x80000000, 1,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x80000000, 1,          t0, t1, t2);
+   TESTINST1("movz $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+
+   printf("MSUB\n");
+   TESTINST3a("msub  $t0, $t1", 0x6, 0x2, t0, t1);
+   TESTINST3a("msub  $t0, $t1", 0x55, 0x28, t0, t1);
+   TESTINST3a("msub  $t0, $t1", 0x18, 0xfff, t0, t1);
+   TESTINST3a("msub  $t0, $t1", 0x7fffffff, 0x7fffffff, t0, t1);
+   TESTINST3a("msub  $t0, $t1", 0xffffffff, 0x1, t0, t1);
+   TESTINST3a("msub  $t0, $t1", 0x1, 0xffffffff, t0, t1);
+   TESTINST3a("msub  $t0, $t1", 0x2, 0x6, t0, t1);
+   TESTINST3a("msub  $t0, $t1", 0x356, 0x555, t0, t1);
+
+   printf("MSUBU\n");
+   TESTINST3a("msubu  $t0, $t1", 0x31415927, 0xffffffff, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x31415927, 0xee00ee00, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0,          255,        t0, t1);
+   TESTINST3a("msubu  $t0, $t1", -1,         0,          t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0,          1,          t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0,          0,          t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x80000000, -1,         t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x80000000, 0x80000000, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x7fffffff, 0,          t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x80000000, 0x80000000, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x7fffffff, 0x80000000, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x80000000, 0xff000000, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x7fffffff, 0x0dd00000, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x31415927, 0xffffffff, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x31415927, 0xee00ee00, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0,          255,        t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 1,          0,          t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0,          1,          t0, t1);
+   TESTINST3a("msubu  $t0, $t1", -1,         0,          t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0,          -1,         t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0,          0x80000000, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x80000000, 0,          t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x80000000, 0x80000000, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x7fffffff, 0x80000000, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x80000000, 0xff000000, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x7fffffff, 0x0dd00000, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0xffffffff, 0,          t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0,          0xffffffff, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0xffffffff, 0xffffffff, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x7fffffff, 0x7fffffff, t0, t1);
+   TESTINST3a("msubu  $t0, $t1", 0x0000ffff, 0x0000ffff, t0, t1);
+
+   printf("MUL\n");
+   TESTINST1("mul $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("mul $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+
+   printf("MULT\n");
+   TESTINST3a("mult  $t0, $t1", 0x31415927, 0xffffffff, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x31415927, 0xee00ee00, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0,          255,        t0, t1);
+   TESTINST3a("mult  $t0, $t1", -1,         0,          t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0,          1,          t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0,          0,          t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x80000000, -1,         t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x80000000, 0x80000000, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x7fffffff, 0,          t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x80000000, 0x80000000, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x7fffffff, 0x80000000, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x80000000, 0xff000000, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x7fffffff, 0x0dd00000, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x31415927, 0xffffffff, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x31415927, 0xee00ee00, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0,          255,        t0, t1);
+   TESTINST3a("mult  $t0, $t1", 1,          0,          t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0,          1,          t0, t1);
+   TESTINST3a("mult  $t0, $t1", -1,         0,          t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0,          -1,         t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0,          0x80000000, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x80000000, 0,          t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x80000000, 0x80000000, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x7fffffff, 0x80000000, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x80000000, 0xff000000, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x7fffffff, 0x0dd00000, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0xffffffff, 0,          t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0,          0xffffffff, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0xffffffff, 0xffffffff, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x7fffffff, 0x7fffffff, t0, t1);
+   TESTINST3a("mult  $t0, $t1", 0x0000ffff, 0x0000ffff, t0, t1);
+
+   printf("MULTU\n");
+   TESTINST3a("multu  $t0, $t1", 0x31415927, 0xffffffff, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x31415927, 0xee00ee00, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0,          255,        t0, t1);
+   TESTINST3a("multu  $t0, $t1", -1,         0,          t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0,          1,          t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0,          0,          t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x80000000, -1,         t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x80000000, 0x80000000, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x7fffffff, 0,          t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x80000000, 0x80000000, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x7fffffff, 0x80000000, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x80000000, 0xff000000, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x7fffffff, 0x0dd00000, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x31415927, 0xffffffff, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x31415927, 0xee00ee00, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0,          255,        t0, t1);
+   TESTINST3a("multu  $t0, $t1", 1,          0,          t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0,          1,          t0, t1);
+   TESTINST3a("multu  $t0, $t1", -1,         0,          t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0,          -1,         t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0,          0x80000000, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x80000000, 0,          t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x80000000, 0x80000000, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x7fffffff, 0x80000000, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x80000000, 0xff000000, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x7fffffff, 0x0dd00000, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0xffffffff, 0,          t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0,          0xffffffff, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0xffffffff, 0xffffffff, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x7fffffff, 0x7fffffff, t0, t1);
+   TESTINST3a("multu  $t0, $t1", 0x0000ffff, 0x0000ffff, t0, t1);
+
+   printf("NOR\n");
+   TESTINST1("nor $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("nor $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+
+#if (__mips==32) && (__mips_isa_rev>=2)
+   printf("WSBH\n");
+   TESTINST3("wsbh  $t0, $t1", 0x2, t0, t1);
+   TESTINST3("wsbh  $t0, $t1", 0x28, t0, t1);
+   TESTINST3("wsbh  $t0, $t1", -258, t0, t1);
+   TESTINST3("wsbh  $t0, $t1", 0x7fffffff, t0, t1);
+   TESTINST3("wsbh  $t0, $t1", -11, t0, t1);
+   TESTINST3("wsbh  $t0, $t1", 0xffffffff, t0, t1);
+   TESTINST3("wsbh  $t0, $t1", 0x16, t0, t1);
+   TESTINST3("wsbh  $t0, $t1", -1, t0, t1);
+#endif
+
+   printf("NOT\n");
+   TESTINST3("not  $t0, $t1", 0x2, t0, t1);
+   TESTINST3("not  $t0, $t1", 0x28, t0, t1);
+   TESTINST3("not  $t0, $t1", -258, t0, t1);
+   TESTINST3("not  $t0, $t1", 0x7fffffff, t0, t1);
+   TESTINST3("not  $t0, $t1", -11, t0, t1);
+   TESTINST3("not  $t0, $t1", 0xffffffff, t0, t1);
+   TESTINST3("not  $t0, $t1", 0x16, t0, t1);
+   TESTINST3("not  $t0, $t1", -1, t0, t1);
+
+   printf("NEGU\n");
+   TESTINST3("negu  $t0, $t1", 0x2, t0, t1);
+   TESTINST3("negu  $t0, $t1", 0x28, t0, t1);
+   TESTINST3("negu  $t0, $t1", -258, t0, t1);
+   TESTINST3("negu  $t0, $t1", 0x7fffffff, t0, t1);
+   TESTINST3("negu  $t0, $t1", -11, t0, t1);
+   TESTINST3("negu  $t0, $t1", 0xffffffff, t0, t1);
+   TESTINST3("negu  $t0, $t1", 0x16, t0, t1);
+   TESTINST3("negu  $t0, $t1", -1, t0, t1);
+
+   printf("OR\n");
+   TESTINST1("or $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("or $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+
+   printf("ORI\n");
+   TESTINST2("ori $t0, $t1, 0xffff", 0x31415927, 0xffff, t0, t1);
+   TESTINST2("ori $t0, $t1, 0xee00", 0x31415927, 0xee00, t0, t1);
+   TESTINST2("ori $t0, $t1, 255", 0,          255,        t0, t1);
+   TESTINST2("ori $t0, $t1, 0", -1,         0,          t0, t1);
+   TESTINST2("ori $t0, $t1, 1", 0,          1,          t0, t1);
+   TESTINST2("ori $t0, $t1, 0", 0,          0,          t0, t1);
+   TESTINST2("ori $t0, $t1, 0x8000", 0x80000000, 0x8000, t0, t1);
+   TESTINST2("ori $t0, $t1, 0", 0x7fffffff, 0,          t0, t1);
+   TESTINST2("ori $t0, $t1, 0x8000", 0x80000000, 0x8000, t0, t1);
+   TESTINST2("ori $t0, $t1, 0x8000", 0x7fffffff, 0x8000, t0, t1);
+   TESTINST2("ori $t0, $t1, 0xff00", 0x80000000, 0xff00, t0, t1);
+   TESTINST2("ori $t0, $t1, 0x0dd0", 0x7fffffff, 0x0dd0, t0, t1);
+   TESTINST2("ori $t0, $t1, 0xffff", 0x31415927, 0xffff, t0, t1);
+   TESTINST2("ori $t0, $t1, 0xee00", 0x31415927, 0xee00, t0, t1);
+   TESTINST2("ori $t0, $t1, 255", 0,          255,        t0, t1);
+   TESTINST2("ori $t0, $t1, 0", 1,          0,          t0, t1);
+   TESTINST2("ori $t0, $t1, 1", 0,          1,          t0, t1);
+   TESTINST2("ori $t0, $t1, 0", -1,         0,          t0, t1);
+   TESTINST2("ori $t0, $t1, 0x8000", 0,          0x8000, t0, t1);
+   TESTINST2("ori $t0, $t1, 0", 0x8000, 0,          t0, t1);
+   TESTINST2("ori $t0, $t1, 0x8000", 0x80000000, 0x8000, t0, t1);
+   TESTINST2("ori $t0, $t1, 0x8000", 0x7fffffff, 0x8000, t0, t1);
+   TESTINST2("ori $t0, $t1, 0xff00", 0x80000000, 0xff00, t0, t1);
+   TESTINST2("ori $t0, $t1, 0x0dd0", 0x7fffffff, 0x0dd0, t0, t1);
+   TESTINST2("ori $t0, $t1, 0", 0xffff, 0,          t0, t1);
+   TESTINST2("ori $t0, $t1, 0xffff", 0,          0xffff, t0, t1);
+   TESTINST2("ori $t0, $t1, 0xffff", 0xffffffff, 0xffff, t0, t1);
+   TESTINST2("ori $t0, $t1, 0x7fff", 0x7fffffff, 0x7fff, t0, t1);
+   TESTINST2("ori $t0, $t1, 0x0000", 0x0000ffff, 0x0000, t0, t1);
+
+#if (__mips==32) && (__mips_isa_rev>=2)
+   printf("ROTR\n");
+   TESTINST2("rotr $t0, $t1, 0x00000000", 0x31415927, 0x00000000, t0, t1);
+   TESTINST2("rotr $t0, $t1, 0x00000001", 0x31415927, 0x00000001, t0, t1);
+   TESTINST2("rotr $t0, $t1, 0x00000002", 0x31415927, 0x00000002, t0, t1);
+   TESTINST2("rotr $t0, $t1, 0x0000000F", 0x31415927, 0x0000000F, t0, t1);
+   TESTINST2("rotr $t0, $t1, 0x00000010", 0x31415927, 0x00000010, t0, t1);
+   TESTINST2("rotr $t0, $t1, 0x0000001F", 0x31415927, 0x0000001F, t0, t1);
+   TESTINST2("rotr $t0, $t1, 0x00000020", 0x31415927, 0x00000020, t0, t1);
+   TESTINST2("rotr $t0, $t1, 0x00000021", 0x31415927, 0x00000021, t0, t1);
+   TESTINST2("rotr $t0, $t1, 0x00000000", 0x00088000, 0x00000000, t0, t1);
+   TESTINST2("rotr $t0, $t1, 0x00000001", 0x00088000, 0x00000001, t0, t1);
+   TESTINST2("rotr $t0, $t1, 31", 0x00088000, 31, t0, t1);
+   TESTINST2("rotr $t0, $t1, 16", 0x00010000, 16, t0, t1);
+   TESTINST2("rotr $t0, $t1, 17", 0x00010000, 17, t0, t1);
+   TESTINST2("rotr $t0, $t1, 18", 0x00010000, 18, t0, t1);
+   TESTINST2("rotr $t0, $t1, 0", 0, 0, t0, t1);
+   TESTINST2("rotr $t0, $t1, 0xffff", 0xffff, 0xffff, t0, t1);
+#endif
+
+#if (__mips==32) && (__mips_isa_rev>=2)
+   printf("ROTRV\n");
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0x00000000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0x00000001, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0x00000002, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0x0000000F, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0x00000010, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0x0000001F, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0x00000020, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x31415927, 0x00000021, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x00088000, 0x00000000, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x00088000, 0x00000001, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x00088000, 31, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x00010000, 16, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x00010000, 17, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0x00010000, 18, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0, 0, t0, t1, t2);
+   TESTINST1("rotrv $t0, $t1, $t2", 0xffff, 0xffff, t0, t1, t2);
+
+   printf("SEB\n");
+   TESTINST3("seb  $t0, $t1", 0x2, t0, t1);
+   TESTINST3("seb  $t0, $t1", 0x28, t0, t1);
+   TESTINST3("seb  $t0, $t1", -258, t0, t1);
+   TESTINST3("seb  $t0, $t1", 0x7fffffff, t0, t1);
+   TESTINST3("seb  $t0, $t1", -11, t0, t1);
+   TESTINST3("seb  $t0, $t1", 0xffffffff, t0, t1);
+   TESTINST3("seb  $t0, $t1", 0x16, t0, t1);
+   TESTINST3("seb  $t0, $t1", -1, t0, t1);
+
+   printf("SEH\n");
+   TESTINST3("seh  $t0, $t1", 0x2, t0, t1);
+   TESTINST3("seh  $t0, $t1", 0x28, t0, t1);
+   TESTINST3("seh  $t0, $t1", -258, t0, t1);
+   TESTINST3("seh  $t0, $t1", 0x7fffffff, t0, t1);
+   TESTINST3("seh  $t0, $t1", -11, t0, t1);
+   TESTINST3("seh  $t0, $t1", 0xffffffff, t0, t1);
+   TESTINST3("seh  $t0, $t1", 0x16, t0, t1);
+   TESTINST3("seh  $t0, $t1", -1, t0, t1);
+#endif
+
+   printf("SLL\n");
+   TESTINST2("sll $t0, $t1, 0x00000000", 0x31415927, 0x00000000, t0, t1);
+   TESTINST2("sll $t0, $t1, 0x00000001", 0x31415927, 0x00000001, t0, t1);
+   TESTINST2("sll $t0, $t1, 0x00000002", 0x31415927, 0x00000002, t0, t1);
+   TESTINST2("sll $t0, $t1, 0x0000000F", 0x31415927, 0x0000000F, t0, t1);
+   TESTINST2("sll $t0, $t1, 0x00000010", 0x31415927, 0x00000010, t0, t1);
+   TESTINST2("sll $t0, $t1, 0x0000001F", 0x31415927, 0x0000001F, t0, t1);
+   TESTINST2("sll $t0, $t1, 0x00000009", 0x31415927, 0x00000009, t0, t1);
+   TESTINST2("sll $t0, $t1, 0x0000000A", 0x31415927, 0x0000000A, t0, t1);
+   TESTINST2("sll $t0, $t1, 0x00000000", 0x00088000, 0x00000000, t0, t1);
+   TESTINST2("sll $t0, $t1, 0x00000001", 0x00088000, 0x00000001, t0, t1);
+   TESTINST2("sll $t0, $t1, 31", 0x00088000, 31, t0, t1);
+   TESTINST2("sll $t0, $t1, 16", 0x00010000, 16, t0, t1);
+   TESTINST2("sll $t0, $t1, 17", 0x00010000, 17, t0, t1);
+   TESTINST2("sll $t0, $t1, 18", 0x00010000, 18, t0, t1);
+   TESTINST2("sll $t0, $t1, 0", 0, 0, t0, t1);
+
+   printf("SLLV\n");
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0x00000000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0x00000001, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0x00000002, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0x0000000F, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0x00000010, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0x0000001F, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0x00000020, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x31415927, 0x00000021, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x00088000, 0x00000000, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x00088000, 0x00000001, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x00088000, 31, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x00010000, 16, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x00010000, 17, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0x00010000, 18, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0, 0, t0, t1, t2);
+   TESTINST1("sllv $t0, $t1, $t2", 0xffff, 0xffff, t0, t1, t2);
+
+   printf("SLT\n");
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0x00000000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0x00000001, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0x00000002, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0x0000000F, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0x00000010, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0x0000001F, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0x00000020, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x31415927, 0x00000021, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x00088000, 0x00000000, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x00088000, 0x00000001, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x00088000, 31, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x00010000, 16, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x00010000, 17, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0x00010000, 18, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0, 0, t0, t1, t2);
+   TESTINST1("slt $t0, $t1, $t2", 0xffff, 0xffff, t0, t1, t2);
+
+   printf("SLTI\n");
+   TESTINST2("slti $t0, $t1, 0x00000000", 0x00000001, 0x31415927, t0, t1);
+   TESTINST2("slti $t0, $t1, 0x00000001", 0x31415927, 0x00000001, t0, t1);
+   TESTINST2("slti $t0, $t1, 0x00000002", 0x31415927, 0x00000002, t0, t1);
+   TESTINST2("slti $t0, $t1, 0x0000000F", 0x31415927, 0x0000000F, t0, t1);
+   TESTINST2("slti $t0, $t1, 0x00000010", 0x00000010, 0x00000010, t0, t1);
+   TESTINST2("slti $t0, $t1, 0x0000001F", 0x00000010, 0x31415927, t0, t1);
+   TESTINST2("slti $t0, $t1, 0x00000009", 0x31415927, 0x00000009, t0, t1);
+   TESTINST2("slti $t0, $t1, 0x0000000A", 0x31415927, 0x0000000A, t0, t1);
+   TESTINST2("slti $t0, $t1, 0x00000000", 0x00088000, 0x0000000A, t0, t1);
+   TESTINST2("slti $t0, $t1, 0x00000001", 0x00000000, 0x00000001, t0, t1);
+   TESTINST2("slti $t0, $t1, 31", 0x00088000, 31, t0, t1);
+   TESTINST2("slti $t0, $t1, 16", 0x00010000, 16, t0, t1);
+   TESTINST2("slti $t0, $t1, 17", 0x00010000, 17, t0, t1);
+   TESTINST2("slti $t0, $t1, 18", 0x00010000, 18, t0, t1);
+   TESTINST2("slti $t0, $t1, 0", 0, 0, t0, t1);
+
+   printf("SLTIU\n");
+   TESTINST2("sltiu $t0, $t1, 0x00000000", 0x00000001, 0x31415927, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 0x00000001", 0x31415927, 0x00000001, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 0x00000002", 0x31415927, 0x00000002, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 0x0000000F", 0x31415927, 0x0000000F, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 0x00000010", 0x00000010, 0x00000010, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 0x0000001F", 0x00000010, 0x31415927, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 0x00000009", 0x31415927, 0x00000009, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 0x0000000A", 0x31415927, 0x0000000A, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 0x00000000", 0x00088000, 0x0000000A, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 0x00000001", 0x00000000, 0x00000001, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 31", 0x00088000, 31, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 16", 0x00010000, 16, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 17", 0x00010000, 17, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 18", 0x00010000, 18, t0, t1);
+   TESTINST2("sltiu $t0, $t1, 0", 0, 0, t0, t1);
+
+   printf("SLTU\n");
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0x00000000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0x00000001, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0x00000002, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0x0000000F, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0x00000010, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0x0000001F, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0x00000020, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x31415927, 0x00000021, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x00088000, 0x00000000, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x00088000, 0x00000001, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x00088000, 31, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x00010000, 16, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x00010000, 17, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0x00010000, 18, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0, 0, t0, t1, t2);
+   TESTINST1("sltu $t0, $t1, $t2", 0xffff, 0xffff, t0, t1, t2);
+
+   printf("SRA\n");
+   TESTINST2("sra $t0, $t1, 0x00000000", 0x00000001, 0x31415927, t0, t1);
+   TESTINST2("sra $t0, $t1, 0x00000001", 0x31415927, 0x00000001, t0, t1);
+   TESTINST2("sra $t0, $t1, 0x00000002", 0x31415927, 0x00000002, t0, t1);
+   TESTINST2("sra $t0, $t1, 0x0000000F", 0x31415927, 0x0000000F, t0, t1);
+   TESTINST2("sra $t0, $t1, 0x00000010", 0x00000010, 0x00000010, t0, t1);
+   TESTINST2("sra $t0, $t1, 0x0000001F", 0x00000010, 0x31415927, t0, t1);
+   TESTINST2("sra $t0, $t1, 0x00000009", 0x31415927, 0x00000009, t0, t1);
+   TESTINST2("sra $t0, $t1, 0x0000000A", 0x31415927, 0x0000000A, t0, t1);
+   TESTINST2("sra $t0, $t1, 0x00000000", 0x00088000, 0x0000000A, t0, t1);
+   TESTINST2("sra $t0, $t1, 0x00000001", 0x00000000, 0x00000001, t0, t1);
+   TESTINST2("sra $t0, $t1, 31", 0x00088000, 31, t0, t1);
+   TESTINST2("sra $t0, $t1, 16", 0x00010000, 16, t0, t1);
+   TESTINST2("sra $t0, $t1, 17", 0x00010000, 17, t0, t1);
+   TESTINST2("sra $t0, $t1, 18", 0x00010000, 18, t0, t1);
+   TESTINST2("sra $t0, $t1, 0", 0, 0, t0, t1);
+
+   printf("SRAV\n");
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0x00000000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0x00000001, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0x00000002, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0x0000000F, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0x00000010, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0x0000001F, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0x00000020, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x31415927, 0x00000021, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x00088000, 0x00000000, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x00088000, 0x00000001, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x00088000, 31, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x00010000, 16, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x00010000, 17, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0x00010000, 18, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0, 0, t0, t1, t2);
+   TESTINST1("srav $t0, $t1, $t2", 0xffff, 0xffff, t0, t1, t2);
+
+   printf("SRL\n");
+   TESTINST2("srl $t0, $t1, 0x00000000", 0x00000001, 0x31415927, t0, t1);
+   TESTINST2("srl $t0, $t1, 0x00000001", 0x31415927, 0x00000001, t0, t1);
+   TESTINST2("srl $t0, $t1, 0x00000002", 0x31415927, 0x00000002, t0, t1);
+   TESTINST2("srl $t0, $t1, 0x0000000F", 0x31415927, 0x0000000F, t0, t1);
+   TESTINST2("srl $t0, $t1, 0x00000010", 0x00000010, 0x00000010, t0, t1);
+   TESTINST2("srl $t0, $t1, 0x0000001F", 0x00000010, 0x31415927, t0, t1);
+   TESTINST2("srl $t0, $t1, 0x00000009", 0x31415927, 0x00000009, t0, t1);
+   TESTINST2("srl $t0, $t1, 0x0000000A", 0x31415927, 0x0000000A, t0, t1);
+   TESTINST2("srl $t0, $t1, 0x00000000", 0x00088000, 0x0000000A, t0, t1);
+   TESTINST2("srl $t0, $t1, 0x00000001", 0x00000000, 0x00000001, t0, t1);
+   TESTINST2("srl $t0, $t1, 31", 0x00088000, 31, t0, t1);
+   TESTINST2("srl $t0, $t1, 16", 0x00010000, 16, t0, t1);
+   TESTINST2("srl $t0, $t1, 17", 0x00010000, 17, t0, t1);
+   TESTINST2("srl $t0, $t1, 18", 0x00010000, 18, t0, t1);
+   TESTINST2("srl $t0, $t1, 0", 0, 0, t0, t1);
+
+   printf("SRLV\n");
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0x00000000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0x00000001, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0x00000002, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0x0000000F, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0x00000010, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0x0000001F, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0x00000020, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x31415927, 0x00000021, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x00088000, 0x00000000, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x00088000, 0x00000001, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x00088000, 31, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x00010000, 16, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x00010000, 17, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0x00010000, 18, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0, 0, t0, t1, t2);
+   TESTINST1("srlv $t0, $t1, $t2", 0xffff, 0xffff, t0, t1, t2);
+
+   printf("SUBU\n");
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x00000001, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x00001110, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x00000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x00000001, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x00000002, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x0000000F, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x00000010, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x0000001F, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x00000020, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x00000021, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x00088000, 0x00000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x00088000, 0x00000001, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x00088000, 31, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x00010000, 16, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x00010000, 17, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x00010000, 18, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0, 0, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0xffff, 0xffff, t0, t1, t2);
+
+   printf("SUB\n");
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x27181728, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x31415927, 0x97181728, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x80000000, 0x7fffffff, t0, t1, t2);
+   TESTINST1("subu $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+
+   printf("XOR\n");
+   TESTINST1("xor $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0,          0,          t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x80000000, -1,         t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x7fffffff, 0,          t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x31415927, 0xffffffff, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x31415927, 0xee00ee00, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0,          255,        t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 1,          0,          t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0,          1,          t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", -1,         0,          t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0,          -1,         t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0,          0x80000000, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x80000000, 0,          t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x80000000, 0x80000000, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x7fffffff, 0x80000000, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x80000000, 0xff000000, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x7fffffff, 0x0dd00000, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0xffffffff, 0,          t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0,          0xffffffff, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0xffffffff, 0xffffffff, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x7fffffff, 0x7fffffff, t0, t1, t2);
+   TESTINST1("xor $t0, $t1, $t2", 0x0000ffff, 0x0000ffff, t0, t1, t2);
+
+   printf("XORI\n");
+   TESTINST2("xori $t0, $t1, 0xffff", 0x31415927, 0xffff, t0, t1);
+   TESTINST2("xori $t0, $t1, 0xee00", 0x31415927, 0xee00, t0, t1);
+   TESTINST2("xori $t0, $t1, 255", 0,          255,        t0, t1);
+   TESTINST2("xori $t0, $t1, 0", -1,         0,          t0, t1);
+   TESTINST2("xori $t0, $t1, 1", 0,          1,          t0, t1);
+   TESTINST2("xori $t0, $t1, 0", 0,          0,          t0, t1);
+   TESTINST2("xori $t0, $t1, 0x8000", 0x80000000, 0x8000, t0, t1);
+   TESTINST2("xori $t0, $t1, 0", 0x7fffffff, 0,          t0, t1);
+   TESTINST2("xori $t0, $t1, 0x8000", 0x80000000, 0x8000, t0, t1);
+   TESTINST2("xori $t0, $t1, 0x8000", 0x7fffffff, 0x8000, t0, t1);
+   TESTINST2("xori $t0, $t1, 0xff00", 0x80000000, 0xff00, t0, t1);
+   TESTINST2("xori $t0, $t1, 0x0dd0", 0x7fffffff, 0x0dd0, t0, t1);
+   TESTINST2("xori $t0, $t1, 0xffff", 0x31415927, 0xffff, t0, t1);
+   TESTINST2("xori $t0, $t1, 0xee00", 0x31415927, 0xee00, t0, t1);
+   TESTINST2("xori $t0, $t1, 255", 0,          255,        t0, t1);
+   TESTINST2("xori $t0, $t1, 0", 1,          0,          t0, t1);
+   TESTINST2("xori $t0, $t1, 1", 0,          1,          t0, t1);
+   TESTINST2("xori $t0, $t1, 0", -1,         0,          t0, t1);
+   TESTINST2("xori $t0, $t1, 0x8000", 0,          0x8000, t0, t1);
+   TESTINST2("xori $t0, $t1, 0", 0x8000, 0,          t0, t1);
+   TESTINST2("xori $t0, $t1, 0x8000", 0x80000000, 0x8000, t0, t1);
+   TESTINST2("xori $t0, $t1, 0x8000", 0x7fffffff, 0x8000, t0, t1);
+   TESTINST2("xori $t0, $t1, 0xff00", 0x80000000, 0xff00, t0, t1);
+   TESTINST2("xori $t0, $t1, 0x0dd0", 0x7fffffff, 0x0dd0, t0, t1);
+   TESTINST2("xori $t0, $t1, 0", 0xffff, 0,          t0, t1);
+   TESTINST2("xori $t0, $t1, 0xffff", 0,          0xffff, t0, t1);
+   TESTINST2("xori $t0, $t1, 0xffff", 0xffffffff, 0xffff, t0, t1);
+   TESTINST2("xori $t0, $t1, 0x7fff", 0x7fffffff, 0x7fff, t0, t1);
+   TESTINST2("xori $t0, $t1, 0x0000", 0x0000ffff, 0x0000, t0, t1);
+
+   printf("MFHI MFLO\n");
+   TESTINSN_HILO(0x31415927);
+   TESTINSN_HILO(0);
+   TESTINSN_HILO(-1);
+   TESTINSN_HILO(0xffffffff);
+   TESTINSN_HILO(0x8000);
+   TESTINSN_HILO(0x80000000);
+   TESTINSN_HILO(0x0000ffff);
+   TESTINSN_HILO(0x7fff);
+   TESTINSN_HILO(0x0dd0);
+   TESTINSN_HILO(0xff00);
+
+   return 0;
+}
diff --git a/none/tests/mips32/MIPS32int.stderr.exp b/none/tests/mips32/MIPS32int.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips32/MIPS32int.stderr.exp
diff --git a/none/tests/mips32/MIPS32int.stdout.exp b/none/tests/mips32/MIPS32int.stdout.exp
new file mode 100644
index 0000000..cfbae0d
--- /dev/null
+++ b/none/tests/mips32/MIPS32int.stdout.exp
@@ -0,0 +1,1593 @@
+ADD
+add $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+add $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x00000002 rs 0x00000001, rt 0x00000001
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+add $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0xffffffff
+add $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x5859704f rs 0x31415927, rt 0x27181728
+add $t0, $t1, $t2 :: rd 0xc859704f rs 0x31415927, rt 0x97181728
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+ADDI
+addi $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+addi $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+addi $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000000
+addi $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000001
+addi $t0, $t1, -1 :: rt 0xffffffff rs 0x00000000, imm 0xffffffff
+addi $t0, $t1, -1 :: rt 0x00000000 rs 0x00000001, imm 0xffffffff
+addi $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+addi $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+addi $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+ADDIU
+addiu $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+addiu $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+addiu $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000000
+addiu $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000001
+addiu $t0, $t1, -1 :: rt 0xffffffff rs 0x00000000, imm 0xffffffff
+addiu $t0, $t1, -1 :: rt 0x00000000 rs 0x00000001, imm 0xffffffff
+addiu $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+addiu $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+addiu $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+ADDU
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000002 rs 0x00000001, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x5859704f rs 0x31415927, rt 0x27181728
+addu $t0, $t1, $t2 :: rd 0xc859704f rs 0x31415927, rt 0x97181728
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0x7fffffff
+addu $t0, $t1, $t2 :: rd 0xfffffffe rs 0x7fffffff, rt 0x7fffffff
+AND
+and $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x20004800 rs 0x31415927, rt 0xee00ee00
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+and $t0, $t1, $t2 :: rd 0x0dd00000 rs 0x7fffffff, rt 0x0dd00000
+and $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x20004800 rs 0x31415927, rt 0xee00ee00
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+and $t0, $t1, $t2 :: rd 0x0dd00000 rs 0x7fffffff, rt 0x0dd00000
+ANDI
+andi $t0, $t1, 1 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+andi $t0, $t1, 0 :: rt 0x00000000 rs 0x00000001, imm 0x00000000
+andi $t0, $t1, 1 :: rt 0x00000001 rs 0x00000001, imm 0x00000001
+andi $t0, $t1, 1 :: rt 0x00000001 rs 0x7fffffff, imm 0x00000000
+andi $t0, $t1, 0 :: rt 0x00000000 rs 0x80000000, imm 0x00000000
+andi $t0, $t1, 0x3145 :: rt 0x00003145 rs 0xffffffff, imm 0x00003145
+CLO
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000000
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000001
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000010
+clo  $t0, $t1 :: rd 0x00000020 rs 0xffffffff
+CLZ
+clz  $t0, $t1 :: rd 0x00000020 rs 0x00000000
+clz  $t0, $t1 :: rd 0x0000001f rs 0x00000001
+clz  $t0, $t1 :: rd 0x0000001b rs 0x00000010
+clz  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+DIV
+div  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x00000003 
+div  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x00000000 LO 0x00000001 
+div  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+div  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0xffffffff 
+div  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000002 LO 0x00000000 
+DIVU
+divu  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x00000003 
+divu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x00000000 LO 0x00000001 
+divu  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+divu  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000001 LO 0x00000000 
+divu  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000002 LO 0x00000000 
+divu  $t0, $t1 :: rs 0x00000000 rt 0x00000002 HI 0x00000000 LO 0x00000000 
+EXT
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000002 rs 0x98765432, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000002 rs 0x98765432, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000002 rs 0x98765432, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000002 rs 0x98765432, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0x98765432, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0x98765432, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0x98765432, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0x98765432, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000003 rs 0x98765432, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000002 rs 0xff865421, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000003 rs 0x98765432, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000002 rs 0xff865421, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000003 rs 0x98765432, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000002 rs 0xff865421, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000003 rs 0x98765432, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000002 rs 0xff865421, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006543 rs 0x98765432, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006542 rs 0xff865421, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006543 rs 0x98765432, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006542 rs 0xff865421, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006543 rs 0x98765432, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006542 rs 0xff865421, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006543 rs 0x98765432, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006542 rs 0xff865421, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 28 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0fffffff rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x09876543 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0ff86542 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0fffffff rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x09876543 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0ff86542 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0fffffff rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x09876543 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0ff86542 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0fffffff rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x09876543 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0ff86542 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0x98765432, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0xff865421, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0x98765432, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0xff865421, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0x98765432, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0xff865421, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0x98765432, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0xff865421, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00009876 rs 0x98765432, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ff86 rs 0xff865421, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00009876 rs 0x98765432, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ff86 rs 0xff865421, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00009876 rs 0x98765432, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ff86 rs 0xff865421, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00009876 rs 0x98765432, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ff86 rs 0xff865421, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xff865421, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xff865421, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xff865421, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xff865421, pos 0x0000001f, size 0x00000001
+INS
+ins $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xfffffffe rs 0x00000000, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xfffffffe rs 0x98765432, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xffffffff rs 0xff865421, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x98765432 rs 0x00000000, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x98765433 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x98765433 rs 0xff865421, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xff865420 rs 0x00000000, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xff865421 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xff865420 rs 0x98765432, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x00000002 rs 0x98765432, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xfffffff0 rs 0x00000000, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xfffffff2 rs 0x98765432, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xfffffff1 rs 0xff865421, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x98765430 rs 0x00000000, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x9876543f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x98765431 rs 0xff865421, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xff865420 rs 0x00000000, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xff86542f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xff865422 rs 0x98765432, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x00005432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x00005421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xffff0000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xffff5432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xffff5421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x98760000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x9876ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x98765421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xff860000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xff86ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xff865432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x00000010 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x00000010 rs 0xff865421, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xffffffef rs 0x00000000, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xffffffff rs 0xffffffff, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xffffffef rs 0x98765432, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xffffffff rs 0xff865421, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x98765422 rs 0x00000000, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x98765432 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x98765422 rs 0x98765432, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x98765432 rs 0xff865421, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xff865421 rs 0x00000000, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xff865431 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xff865421 rs 0x98765432, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xff865431 rs 0xff865421, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x000000f0 rs 0xffffffff, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x00000020 rs 0x98765432, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x00000010 rs 0xff865421, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xffffff0f rs 0x00000000, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xffffffff rs 0xffffffff, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xffffff2f rs 0x98765432, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xffffff1f rs 0xff865421, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x98765402 rs 0x00000000, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x987654f2 rs 0xffffffff, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x98765422 rs 0x98765432, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x98765412 rs 0xff865421, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xff865401 rs 0x00000000, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xff8654f1 rs 0xffffffff, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xff865421 rs 0x98765432, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xff865411 rs 0xff865421, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x000ffff0 rs 0xffffffff, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x00054320 rs 0x98765432, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x00054210 rs 0xff865421, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xfff0000f rs 0x00000000, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xffffffff rs 0xffffffff, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xfff5432f rs 0x98765432, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xfff5421f rs 0xff865421, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x98700002 rs 0x00000000, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x987ffff2 rs 0xffffffff, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x98754322 rs 0x98765432, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x98754212 rs 0xff865421, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xff800001 rs 0x00000000, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xff8ffff1 rs 0xffffffff, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xff854321 rs 0x98765432, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xff854211 rs 0xff865421, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 28 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xfffffff0 rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x87654320 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xf8654210 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x0000000f rs 0x00000000, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xffffffff rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x8765432f rs 0x98765432, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xf865421f rs 0xff865421, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x00000002 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xfffffff2 rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x87654322 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xf8654212 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x00000001 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xfffffff1 rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x87654321 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xf8654211 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x00010000 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x00010000 rs 0xff865421, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xfffeffff rs 0x00000000, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xffffffff rs 0xffffffff, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xfffeffff rs 0x98765432, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xffffffff rs 0xff865421, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x98765432 rs 0x00000000, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x98775432 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x98765432 rs 0x98765432, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x98775432 rs 0xff865421, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xff865421 rs 0x00000000, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xff875421 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xff865421 rs 0x98765432, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xff875421 rs 0xff865421, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x000f0000 rs 0xffffffff, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x00020000 rs 0x98765432, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x00010000 rs 0xff865421, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xfff0ffff rs 0x00000000, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xffffffff rs 0xffffffff, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xfff2ffff rs 0x98765432, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xfff1ffff rs 0xff865421, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x98705432 rs 0x00000000, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x987f5432 rs 0xffffffff, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x98725432 rs 0x98765432, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x98715432 rs 0xff865421, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xff805421 rs 0x00000000, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xff8f5421 rs 0xffffffff, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xff825421 rs 0x98765432, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xff815421 rs 0xff865421, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0xffff0000 rs 0xffffffff, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54320000 rs 0x98765432, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54210000 rs 0xff865421, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x0000ffff rs 0x00000000, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0xffffffff rs 0xffffffff, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x5432ffff rs 0x98765432, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x5421ffff rs 0xff865421, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x00005432 rs 0x00000000, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0xffff5432 rs 0xffffffff, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54325432 rs 0x98765432, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54215432 rs 0xff865421, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x00005421 rs 0x00000000, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0xffff5421 rs 0xffffffff, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54325421 rs 0x98765432, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54215421 rs 0xff865421, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x80000000 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x80000000 rs 0xff865421, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x7fffffff rs 0x00000000, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0xffffffff rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x7fffffff rs 0x98765432, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0xffffffff rs 0xff865421, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x18765432 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x98765432 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x18765432 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x98765432 rs 0xff865421, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x7f865421 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0xff865421 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x7f865421 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0xff865421 rs 0xff865421, pos 0x0000001f, size 0x00000001
+LB
+lb $t0, 0($t1) :: rt 0x0000001f
+lb $t0, 4($t1) :: rt 0x00000000
+lb $t0, 8($t1) :: rt 0x00000003
+lb $t0, 12($t1) :: rt 0xffffffff
+lb $t0, 16($t1) :: rt 0x0000002f
+lb $t0, 20($t1) :: rt 0x0000002b
+lb $t0, 24($t1) :: rt 0x0000002b
+lb $t0, 28($t1) :: rt 0x0000002a
+lb $t0, 32($t1) :: rt 0x0000003e
+lb $t0, 36($t1) :: rt 0x0000003c
+lb $t0, 40($t1) :: rt 0x0000003b
+lb $t0, 44($t1) :: rt 0x0000003a
+lb $t0, 48($t1) :: rt 0x00000045
+lb $t0, 52($t1) :: rt 0x00000046
+lb $t0, 56($t1) :: rt 0x0000004c
+lb $t0, 60($t1) :: rt 0x0000004c
+lb $t0, 64($t1) :: rt 0x00000041
+lb $t0, 2($t1) :: rt 0x0000001f
+lb $t0, 6($t1) :: rt 0x00000000
+lb $t0, 10($t1) :: rt 0x00000000
+lb $t0, 14($t1) :: rt 0xffffffff
+lb $t0, 18($t1) :: rt 0x0000002f
+lb $t0, 22($t1) :: rt 0x0000002c
+lb $t0, 26($t1) :: rt 0x0000002a
+lb $t0, 30($t1) :: rt 0x0000002d
+lb $t0, 34($t1) :: rt 0x00000034
+lb $t0, 38($t1) :: rt 0x00000035
+LBU
+lbu $t0, 0($t1) :: rt 0x0000001f
+lbu $t0, 4($t1) :: rt 0x00000000
+lbu $t0, 8($t1) :: rt 0x00000003
+lbu $t0, 12($t1) :: rt 0x000000ff
+lbu $t0, 16($t1) :: rt 0x0000002f
+lbu $t0, 20($t1) :: rt 0x0000002b
+lbu $t0, 24($t1) :: rt 0x0000002b
+lbu $t0, 28($t1) :: rt 0x0000002a
+lbu $t0, 32($t1) :: rt 0x0000003e
+lbu $t0, 36($t1) :: rt 0x0000003c
+lbu $t0, 40($t1) :: rt 0x0000003b
+lbu $t0, 44($t1) :: rt 0x0000003a
+lbu $t0, 48($t1) :: rt 0x00000045
+lbu $t0, 52($t1) :: rt 0x00000046
+lbu $t0, 56($t1) :: rt 0x0000004c
+lbu $t0, 60($t1) :: rt 0x0000004c
+lbu $t0, 64($t1) :: rt 0x00000041
+lbu $t0, 2($t1) :: rt 0x0000001f
+lbu $t0, 6($t1) :: rt 0x00000000
+lbu $t0, 10($t1) :: rt 0x00000000
+lbu $t0, 14($t1) :: rt 0x000000ff
+lbu $t0, 18($t1) :: rt 0x0000002f
+lbu $t0, 22($t1) :: rt 0x0000002c
+lbu $t0, 26($t1) :: rt 0x0000002a
+lbu $t0, 30($t1) :: rt 0x0000002d
+lbu $t0, 34($t1) :: rt 0x00000034
+lbu $t0, 38($t1) :: rt 0x00000035
+LH
+lh $t0, 0($t1) :: rt 0x00001e1f
+lh $t0, 4($t1) :: rt 0x00000000
+lh $t0, 8($t1) :: rt 0x00000003
+lh $t0, 12($t1) :: rt 0xffffffff
+lh $t0, 16($t1) :: rt 0x00002e2f
+lh $t0, 20($t1) :: rt 0x00002b2b
+lh $t0, 24($t1) :: rt 0x00002e2b
+lh $t0, 28($t1) :: rt 0x00002d2a
+lh $t0, 32($t1) :: rt 0x00003f3e
+lh $t0, 36($t1) :: rt 0x00003d3c
+lh $t0, 40($t1) :: rt 0x00003c3b
+lh $t0, 44($t1) :: rt 0x00003b3a
+lh $t0, 48($t1) :: rt 0x00004e45
+lh $t0, 52($t1) :: rt 0x00004d46
+lh $t0, 56($t1) :: rt 0x0000474c
+lh $t0, 60($t1) :: rt 0x00004a4c
+lh $t0, 64($t1) :: rt 0x00004441
+lh $t0, 2($t1) :: rt 0x0000121f
+lh $t0, 6($t1) :: rt 0x00000000
+lh $t0, 10($t1) :: rt 0x00000000
+lh $t0, 14($t1) :: rt 0xffffffff
+lh $t0, 18($t1) :: rt 0x0000232f
+lh $t0, 22($t1) :: rt 0x0000242c
+lh $t0, 26($t1) :: rt 0x0000252a
+lh $t0, 30($t1) :: rt 0x0000262d
+lh $t0, 34($t1) :: rt 0x00003f34
+lh $t0, 38($t1) :: rt 0x00003e35
+LHU
+lhu $t0, 0($t1) :: rt 0x00001e1f
+lhu $t0, 4($t1) :: rt 0x00000000
+lhu $t0, 8($t1) :: rt 0x00000003
+lhu $t0, 12($t1) :: rt 0x0000ffff
+lhu $t0, 16($t1) :: rt 0x00002e2f
+lhu $t0, 20($t1) :: rt 0x00002b2b
+lhu $t0, 24($t1) :: rt 0x00002e2b
+lhu $t0, 28($t1) :: rt 0x00002d2a
+lhu $t0, 32($t1) :: rt 0x00003f3e
+lhu $t0, 36($t1) :: rt 0x00003d3c
+lhu $t0, 40($t1) :: rt 0x00003c3b
+lhu $t0, 44($t1) :: rt 0x00003b3a
+lhu $t0, 48($t1) :: rt 0x00004e45
+lhu $t0, 52($t1) :: rt 0x00004d46
+lhu $t0, 56($t1) :: rt 0x0000474c
+lhu $t0, 60($t1) :: rt 0x00004a4c
+lhu $t0, 64($t1) :: rt 0x00004441
+lhu $t0, 2($t1) :: rt 0x0000121f
+lhu $t0, 6($t1) :: rt 0x00000000
+lhu $t0, 10($t1) :: rt 0x00000000
+lhu $t0, 14($t1) :: rt 0x0000ffff
+lhu $t0, 18($t1) :: rt 0x0000232f
+lhu $t0, 22($t1) :: rt 0x0000242c
+lhu $t0, 26($t1) :: rt 0x0000252a
+lhu $t0, 30($t1) :: rt 0x0000262d
+lhu $t0, 34($t1) :: rt 0x00003f34
+lhu $t0, 38($t1) :: rt 0x00003e35
+LUI
+lui  $t0, 0xffff :: rd 0xffff0000 rs 0x0000ffff
+lui  $t0, 0xff00 :: rd 0xff000000 rs 0x0000ff00
+lui  $t0, 0xff :: rd 0x00ff0000 rs 0x000000ff
+lui  $t0, 0x0 :: rd 0x00000000 rs 0x00000000
+lui  $t0, 0x5 :: rd 0x00050000 rs 0x00000005
+lui  $t0, 0x387 :: rd 0x03870000 rs 0x00000387
+LW
+lw $t0, 0($t1) :: rt 0x121f1e1f
+lw $t0, 4($t1) :: rt 0x00000000
+lw $t0, 8($t1) :: rt 0x00000003
+lw $t0, 12($t1) :: rt 0xffffffff
+lw $t0, 16($t1) :: rt 0x232f2e2f
+lw $t0, 20($t1) :: rt 0x242c2b2b
+lw $t0, 24($t1) :: rt 0x252a2e2b
+lw $t0, 28($t1) :: rt 0x262d2d2a
+lw $t0, 32($t1) :: rt 0x3f343f3e
+lw $t0, 36($t1) :: rt 0x3e353d3c
+lw $t0, 40($t1) :: rt 0x363a3c3b
+lw $t0, 44($t1) :: rt 0x3b373b3a
+lw $t0, 48($t1) :: rt 0x454f4e45
+lw $t0, 52($t1) :: rt 0x4e464d46
+lw $t0, 56($t1) :: rt 0x474d474c
+lw $t0, 60($t1) :: rt 0x4a484a4c
+lw $t0, 64($t1) :: rt 0x00444441
+lw $t0, 2($t1) :: rt 0x0000121f
+lw $t0, 6($t1) :: rt 0x00030000
+lw $t0, 10($t1) :: rt 0xffff0000
+lw $t0, 14($t1) :: rt 0x2e2fffff
+lw $t0, 18($t1) :: rt 0x2b2b232f
+lw $t0, 22($t1) :: rt 0x2e2b242c
+lw $t0, 26($t1) :: rt 0x2d2a252a
+lw $t0, 30($t1) :: rt 0x3f3e262d
+lw $t0, 34($t1) :: rt 0x3d3c3f34
+lw $t0, 38($t1) :: rt 0x3c3b3e35
+LWL
+lwl $t0, 0($t1) :: rt 0x1f000000
+lwl $t0, 4($t1) :: rt 0x00000000
+lwl $t0, 8($t1) :: rt 0x03000000
+lwl $t0, 12($t1) :: rt 0xff000000
+lwl $t0, 16($t1) :: rt 0x2f000000
+lwl $t0, 20($t1) :: rt 0x2b000000
+lwl $t0, 24($t1) :: rt 0x2b000000
+lwl $t0, 28($t1) :: rt 0x2a000000
+lwl $t0, 32($t1) :: rt 0x3e000000
+lwl $t0, 36($t1) :: rt 0x3c000000
+lwl $t0, 40($t1) :: rt 0x3b000000
+lwl $t0, 44($t1) :: rt 0x3a000000
+lwl $t0, 48($t1) :: rt 0x45000000
+lwl $t0, 52($t1) :: rt 0x46000000
+lwl $t0, 56($t1) :: rt 0x4c000000
+lwl $t0, 60($t1) :: rt 0x4c000000
+lwl $t0, 64($t1) :: rt 0x41000000
+lwl $t0, 2($t1) :: rt 0x1f1e1f00
+lwl $t0, 6($t1) :: rt 0x00000000
+lwl $t0, 10($t1) :: rt 0x00000300
+lwl $t0, 14($t1) :: rt 0xffffff00
+lwl $t0, 18($t1) :: rt 0x2f2e2f00
+lwl $t0, 22($t1) :: rt 0x2c2b2b00
+lwl $t0, 26($t1) :: rt 0x2a2e2b00
+lwl $t0, 30($t1) :: rt 0x2d2d2a00
+lwl $t0, 34($t1) :: rt 0x343f3e00
+lwl $t0, 38($t1) :: rt 0x353d3c00
+LWR
+lwr $t0, 0($t1) :: rt 0x121f1e1f
+lwr $t0, 4($t1) :: rt 0x00000000
+lwr $t0, 8($t1) :: rt 0x00000003
+lwr $t0, 12($t1) :: rt 0xffffffff
+lwr $t0, 16($t1) :: rt 0x232f2e2f
+lwr $t0, 20($t1) :: rt 0x242c2b2b
+lwr $t0, 24($t1) :: rt 0x252a2e2b
+lwr $t0, 28($t1) :: rt 0x262d2d2a
+lwr $t0, 32($t1) :: rt 0x3f343f3e
+lwr $t0, 36($t1) :: rt 0x3e353d3c
+lwr $t0, 40($t1) :: rt 0x363a3c3b
+lwr $t0, 44($t1) :: rt 0x3b373b3a
+lwr $t0, 48($t1) :: rt 0x454f4e45
+lwr $t0, 52($t1) :: rt 0x4e464d46
+lwr $t0, 56($t1) :: rt 0x474d474c
+lwr $t0, 60($t1) :: rt 0x4a484a4c
+lwr $t0, 64($t1) :: rt 0x00444441
+lwr $t0, 2($t1) :: rt 0x0000121f
+lwr $t0, 6($t1) :: rt 0x00000000
+lwr $t0, 10($t1) :: rt 0x00000000
+lwr $t0, 14($t1) :: rt 0x0000ffff
+lwr $t0, 18($t1) :: rt 0x0000232f
+lwr $t0, 22($t1) :: rt 0x0000242c
+lwr $t0, 26($t1) :: rt 0x0000252a
+lwr $t0, 30($t1) :: rt 0x0000262d
+lwr $t0, 34($t1) :: rt 0x00003f34
+lwr $t0, 38($t1) :: rt 0x00003e35
+MADD
+madd  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c 
+madd  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48 
+madd  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0x00000000 LO 0x00017fe8 
+madd  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+madd  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0xffffffff LO 0xffffffff 
+madd  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0xffffffff LO 0xffffffff 
+madd  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000000 LO 0x0000000c 
+madd  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0x00000000 LO 0x0011c98e 
+MADDU
+maddu  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c 
+maddu  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48 
+maddu  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0x00000000 LO 0x00017fe8 
+maddu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+maddu  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+maddu  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0xffffffff 
+maddu  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000000 LO 0x0000000c 
+maddu  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0x00000000 LO 0x0011c98e 
+MOVN
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+MOVZ
+movz $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+movz $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+MSUB
+msub  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0xffffffff LO 0xfffffff4 
+msub  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0xffffffff LO 0xfffff2b8 
+msub  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0xffffffff LO 0xfffe8018 
+msub  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0xc0000000 LO 0xffffffff 
+msub  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0x00000001 
+msub  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0x00000001 
+msub  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0xffffffff LO 0xfffffff4 
+msub  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0xffffffff LO 0xffee3672 
+MSUBU
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xcebea6d9 LO 0x31415927 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xd2351152 LO 0xfd1dbe00 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x80000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x80800000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0xf9180000 LO 0x0dd00000 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xcebea6d9 LO 0x31415927 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xd2351152 LO 0xfd1dbe00 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x80800000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0xf9180000 LO 0x0dd00000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0x00000001 LO 0xffffffff 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0xc0000000 LO 0xffffffff 
+msubu  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0xffffffff LO 0x0001ffff 
+MUL
+mul $t0, $t1, $t2 :: rd 0xcebea6d9 rs 0x31415927, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x02e24200 rs 0x31415927, rt 0xee00ee00
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xff000000
+mul $t0, $t1, $t2 :: rd 0xf2300000 rs 0x7fffffff, rt 0x0dd00000
+mul $t0, $t1, $t2 :: rd 0xcebea6d9 rs 0x31415927, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x02e24200 rs 0x31415927, rt 0xee00ee00
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xff000000
+mul $t0, $t1, $t2 :: rd 0xf2300000 rs 0x7fffffff, rt 0x0dd00000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x7fffffff
+mul $t0, $t1, $t2 :: rd 0xfffe0001 rs 0x0000ffff, rt 0x0000ffff
+MULT
+mult  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xffffffff LO 0xcebea6d9 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xfc899586 LO 0x02e24200 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x00000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x00800000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xffffffff LO 0xcebea6d9 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xfc899586 LO 0x02e24200 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x00800000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0x00000000 LO 0x00000001 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+mult  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0x00000000 LO 0xfffe0001 
+MULTU
+multu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0x31415926 LO 0xcebea6d9 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0x2dcaeead LO 0x02e24200 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x7fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0x3fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x7f800000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0x31415926 LO 0xcebea6d9 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0x2dcaeead LO 0x02e24200 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0x3fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x7f800000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0xfffffffe LO 0x00000001 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+multu  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0x00000000 LO 0xfffe0001 
+NOR
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00be00d8 rs 0x31415927, rt 0xee00ee00
+nor $t0, $t1, $t2 :: rd 0xffffff00 rs 0x00000000, rt 0x000000ff
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000000, rt 0x00000001
+nor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00ffffff rs 0x80000000, rt 0xff000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x0dd00000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00be00d8 rs 0x31415927, rt 0xee00ee00
+nor $t0, $t1, $t2 :: rd 0xffffff00 rs 0x00000000, rt 0x000000ff
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000001, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000000, rt 0x00000001
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x00000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00ffffff rs 0x80000000, rt 0xff000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x0dd00000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x7fffffff
+nor $t0, $t1, $t2 :: rd 0xffff0000 rs 0x0000ffff, rt 0x0000ffff
+WSBH
+wsbh  $t0, $t1 :: rd 0x00000200 rs 0x00000002
+wsbh  $t0, $t1 :: rd 0x00002800 rs 0x00000028
+wsbh  $t0, $t1 :: rd 0xfffffefe rs 0xfffffefe
+wsbh  $t0, $t1 :: rd 0xff7fffff rs 0x7fffffff
+wsbh  $t0, $t1 :: rd 0xfffff5ff rs 0xfffffff5
+wsbh  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+wsbh  $t0, $t1 :: rd 0x00001600 rs 0x00000016
+wsbh  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+NOT
+not  $t0, $t1 :: rd 0xfffffffd rs 0x00000002
+not  $t0, $t1 :: rd 0xffffffd7 rs 0x00000028
+not  $t0, $t1 :: rd 0x00000101 rs 0xfffffefe
+not  $t0, $t1 :: rd 0x80000000 rs 0x7fffffff
+not  $t0, $t1 :: rd 0x0000000a rs 0xfffffff5
+not  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+not  $t0, $t1 :: rd 0xffffffe9 rs 0x00000016
+not  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+NEGU
+negu  $t0, $t1 :: rd 0xfffffffe rs 0x00000002
+negu  $t0, $t1 :: rd 0xffffffd8 rs 0x00000028
+negu  $t0, $t1 :: rd 0x00000102 rs 0xfffffefe
+negu  $t0, $t1 :: rd 0x80000001 rs 0x7fffffff
+negu  $t0, $t1 :: rd 0x0000000b rs 0xfffffff5
+negu  $t0, $t1 :: rd 0x00000001 rs 0xffffffff
+negu  $t0, $t1 :: rd 0xffffffea rs 0x00000016
+negu  $t0, $t1 :: rd 0x00000001 rs 0xffffffff
+OR
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x31415927, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xff41ff27 rs 0x31415927, rt 0xee00ee00
+or $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+or $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xff000000 rs 0x80000000, rt 0xff000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x31415927, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xff41ff27 rs 0x31415927, rt 0xee00ee00
+or $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xff000000 rs 0x80000000, rt 0xff000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x7fffffff
+or $t0, $t1, $t2 :: rd 0x0000ffff rs 0x0000ffff, rt 0x0000ffff
+ORI
+ori $t0, $t1, 0xffff :: rt 0x3141ffff rs 0x31415927, imm 0x0000ffff
+ori $t0, $t1, 0xee00 :: rt 0x3141ff27 rs 0x31415927, imm 0x0000ee00
+ori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+ori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+ori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+ori $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0x8000 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00008000
+ori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+ori $t0, $t1, 0x0dd0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000dd0
+ori $t0, $t1, 0xffff :: rt 0x3141ffff rs 0x31415927, imm 0x0000ffff
+ori $t0, $t1, 0xee00 :: rt 0x3141ff27 rs 0x31415927, imm 0x0000ee00
+ori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+ori $t0, $t1, 0 :: rt 0x00000001 rs 0x00000001, imm 0x00000000
+ori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+ori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x00008000 rs 0x00000000, imm 0x00008000
+ori $t0, $t1, 0 :: rt 0x00008000 rs 0x00008000, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0x8000 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00008000
+ori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+ori $t0, $t1, 0x0dd0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000dd0
+ori $t0, $t1, 0 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+ori $t0, $t1, 0xffff :: rt 0x0000ffff rs 0x00000000, imm 0x0000ffff
+ori $t0, $t1, 0xffff :: rt 0xffffffff rs 0xffffffff, imm 0x0000ffff
+ori $t0, $t1, 0x7fff :: rt 0x7fffffff rs 0x7fffffff, imm 0x00007fff
+ori $t0, $t1, 0x0000 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+ROTR
+rotr $t0, $t1, 0x00000000 :: rt 0x31415927 rs 0x31415927, imm 0x00000000
+rotr $t0, $t1, 0x00000001 :: rt 0x98a0ac93 rs 0x31415927, imm 0x00000001
+rotr $t0, $t1, 0x00000002 :: rt 0xcc505649 rs 0x31415927, imm 0x00000002
+rotr $t0, $t1, 0x0000000F :: rt 0xb24e6282 rs 0x31415927, imm 0x0000000f
+rotr $t0, $t1, 0x00000010 :: rt 0x59273141 rs 0x31415927, imm 0x00000010
+rotr $t0, $t1, 0x0000001F :: rt 0x6282b24e rs 0x31415927, imm 0x0000001f
+rotr $t0, $t1, 0x00000020 :: rt 0x31415927 rs 0x31415927, imm 0x00000020
+rotr $t0, $t1, 0x00000021 :: rt 0x98a0ac93 rs 0x31415927, imm 0x00000021
+rotr $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x00000000
+rotr $t0, $t1, 0x00000001 :: rt 0x00044000 rs 0x00088000, imm 0x00000001
+rotr $t0, $t1, 31 :: rt 0x00110000 rs 0x00088000, imm 0x0000001f
+rotr $t0, $t1, 16 :: rt 0x00000001 rs 0x00010000, imm 0x00000010
+rotr $t0, $t1, 17 :: rt 0x80000000 rs 0x00010000, imm 0x00000011
+rotr $t0, $t1, 18 :: rt 0x40000000 rs 0x00010000, imm 0x00000012
+rotr $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+rotr $t0, $t1, 0xffff :: rt 0x0001fffe rs 0x0000ffff, imm 0x0000ffff
+ROTRV
+rotrv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+rotrv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+rotrv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+rotrv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+rotrv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+rotrv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+rotrv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+rotrv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0xfffffffe rs 0x7fffffff, rt 0x7fffffff
+rotrv $t0, $t1, $t2 :: rd 0x0001fffe rs 0x0000ffff, rt 0x0000ffff
+rotrv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x98a0ac93 rs 0x31415927, rt 0x00000001
+rotrv $t0, $t1, $t2 :: rd 0xcc505649 rs 0x31415927, rt 0x00000002
+rotrv $t0, $t1, $t2 :: rd 0xb24e6282 rs 0x31415927, rt 0x0000000f
+rotrv $t0, $t1, $t2 :: rd 0x59273141 rs 0x31415927, rt 0x00000010
+rotrv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0x0000001f
+rotrv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+rotrv $t0, $t1, $t2 :: rd 0x98a0ac93 rs 0x31415927, rt 0x00000021
+rotrv $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00044000 rs 0x00088000, rt 0x00000001
+rotrv $t0, $t1, $t2 :: rd 0x00110000 rs 0x00088000, rt 0x0000001f
+rotrv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00010000, rt 0x00000010
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x00010000, rt 0x00000011
+rotrv $t0, $t1, $t2 :: rd 0x40000000 rs 0x00010000, rt 0x00000012
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x0001fffe rs 0x0000ffff, rt 0x0000ffff
+SEB
+seb  $t0, $t1 :: rd 0x00000002 rs 0x00000002
+seb  $t0, $t1 :: rd 0x00000028 rs 0x00000028
+seb  $t0, $t1 :: rd 0xfffffffe rs 0xfffffefe
+seb  $t0, $t1 :: rd 0xffffffff rs 0x7fffffff
+seb  $t0, $t1 :: rd 0xfffffff5 rs 0xfffffff5
+seb  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+seb  $t0, $t1 :: rd 0x00000016 rs 0x00000016
+seb  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+SEH
+seh  $t0, $t1 :: rd 0x00000002 rs 0x00000002
+seh  $t0, $t1 :: rd 0x00000028 rs 0x00000028
+seh  $t0, $t1 :: rd 0xfffffefe rs 0xfffffefe
+seh  $t0, $t1 :: rd 0xffffffff rs 0x7fffffff
+seh  $t0, $t1 :: rd 0xfffffff5 rs 0xfffffff5
+seh  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+seh  $t0, $t1 :: rd 0x00000016 rs 0x00000016
+seh  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+SLL
+sll $t0, $t1, 0x00000000 :: rt 0x31415927 rs 0x31415927, imm 0x00000000
+sll $t0, $t1, 0x00000001 :: rt 0x6282b24e rs 0x31415927, imm 0x00000001
+sll $t0, $t1, 0x00000002 :: rt 0xc505649c rs 0x31415927, imm 0x00000002
+sll $t0, $t1, 0x0000000F :: rt 0xac938000 rs 0x31415927, imm 0x0000000f
+sll $t0, $t1, 0x00000010 :: rt 0x59270000 rs 0x31415927, imm 0x00000010
+sll $t0, $t1, 0x0000001F :: rt 0x80000000 rs 0x31415927, imm 0x0000001f
+sll $t0, $t1, 0x00000009 :: rt 0x82b24e00 rs 0x31415927, imm 0x00000009
+sll $t0, $t1, 0x0000000A :: rt 0x05649c00 rs 0x31415927, imm 0x0000000a
+sll $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x00000000
+sll $t0, $t1, 0x00000001 :: rt 0x00110000 rs 0x00088000, imm 0x00000001
+sll $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sll $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+sll $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sll $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sll $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLLV
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+sllv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0xffffffff, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x7fffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x0000ffff, rt 0x0000ffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0xc505649c rs 0x31415927, rt 0x00000002
+sllv $t0, $t1, $t2 :: rd 0xac938000 rs 0x31415927, rt 0x0000000f
+sllv $t0, $t1, $t2 :: rd 0x59270000 rs 0x31415927, rt 0x00000010
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0x0000001f
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+sllv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0x00000021
+sllv $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00110000 rs 0x00088000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x0000ffff, rt 0x0000ffff
+SLT
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000002
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000000f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000010
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000020
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000021
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SLTI
+slti $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00000001, imm 0x31415927
+slti $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x31415927, imm 0x00000001
+slti $t0, $t1, 0x00000002 :: rt 0x00000000 rs 0x31415927, imm 0x00000002
+slti $t0, $t1, 0x0000000F :: rt 0x00000000 rs 0x31415927, imm 0x0000000f
+slti $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+slti $t0, $t1, 0x0000001F :: rt 0x00000001 rs 0x00000010, imm 0x31415927
+slti $t0, $t1, 0x00000009 :: rt 0x00000000 rs 0x31415927, imm 0x00000009
+slti $t0, $t1, 0x0000000A :: rt 0x00000000 rs 0x31415927, imm 0x0000000a
+slti $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00088000, imm 0x0000000a
+slti $t0, $t1, 0x00000001 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+slti $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+slti $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+slti $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+slti $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+slti $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLTIU
+sltiu $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00000001, imm 0x31415927
+sltiu $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x31415927, imm 0x00000001
+sltiu $t0, $t1, 0x00000002 :: rt 0x00000000 rs 0x31415927, imm 0x00000002
+sltiu $t0, $t1, 0x0000000F :: rt 0x00000000 rs 0x31415927, imm 0x0000000f
+sltiu $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+sltiu $t0, $t1, 0x0000001F :: rt 0x00000001 rs 0x00000010, imm 0x31415927
+sltiu $t0, $t1, 0x00000009 :: rt 0x00000000 rs 0x31415927, imm 0x00000009
+sltiu $t0, $t1, 0x0000000A :: rt 0x00000000 rs 0x31415927, imm 0x0000000a
+sltiu $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00088000, imm 0x0000000a
+sltiu $t0, $t1, 0x00000001 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+sltiu $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sltiu $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+sltiu $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sltiu $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sltiu $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLTU
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xee00ee00
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xee00ee00
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000002
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000000f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000010
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000020
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000021
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SRA
+sra $t0, $t1, 0x00000000 :: rt 0x00000001 rs 0x00000001, imm 0x31415927
+sra $t0, $t1, 0x00000001 :: rt 0x18a0ac93 rs 0x31415927, imm 0x00000001
+sra $t0, $t1, 0x00000002 :: rt 0x0c505649 rs 0x31415927, imm 0x00000002
+sra $t0, $t1, 0x0000000F :: rt 0x00006282 rs 0x31415927, imm 0x0000000f
+sra $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+sra $t0, $t1, 0x0000001F :: rt 0x00000000 rs 0x00000010, imm 0x31415927
+sra $t0, $t1, 0x00000009 :: rt 0x0018a0ac rs 0x31415927, imm 0x00000009
+sra $t0, $t1, 0x0000000A :: rt 0x000c5056 rs 0x31415927, imm 0x0000000a
+sra $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x0000000a
+sra $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+sra $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sra $t0, $t1, 16 :: rt 0x00000001 rs 0x00010000, imm 0x00000010
+sra $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sra $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sra $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SRAV
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srav $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x0c505649 rs 0x31415927, rt 0x00000002
+srav $t0, $t1, $t2 :: rd 0x00006282 rs 0x31415927, rt 0x0000000f
+srav $t0, $t1, $t2 :: rd 0x00003141 rs 0x31415927, rt 0x00000010
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+srav $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000021
+srav $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00044000 rs 0x00088000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+srav $t0, $t1, $t2 :: rd 0x00000001 rs 0x00010000, rt 0x00000010
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SRL
+srl $t0, $t1, 0x00000000 :: rt 0x00000001 rs 0x00000001, imm 0x31415927
+srl $t0, $t1, 0x00000001 :: rt 0x18a0ac93 rs 0x31415927, imm 0x00000001
+srl $t0, $t1, 0x00000002 :: rt 0x0c505649 rs 0x31415927, imm 0x00000002
+srl $t0, $t1, 0x0000000F :: rt 0x00006282 rs 0x31415927, imm 0x0000000f
+srl $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+srl $t0, $t1, 0x0000001F :: rt 0x00000000 rs 0x00000010, imm 0x31415927
+srl $t0, $t1, 0x00000009 :: rt 0x0018a0ac rs 0x31415927, imm 0x00000009
+srl $t0, $t1, 0x0000000A :: rt 0x000c5056 rs 0x31415927, imm 0x0000000a
+srl $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x0000000a
+srl $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+srl $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+srl $t0, $t1, 16 :: rt 0x00000001 rs 0x00010000, imm 0x00000010
+srl $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+srl $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+srl $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SRLV
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x0c505649 rs 0x31415927, rt 0x00000002
+srlv $t0, $t1, $t2 :: rd 0x00006282 rs 0x31415927, rt 0x0000000f
+srlv $t0, $t1, $t2 :: rd 0x00003141 rs 0x31415927, rt 0x00000010
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+srlv $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000021
+srlv $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00044000 rs 0x00088000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00010000, rt 0x00000010
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SUBU
+subu $t0, $t1, $t2 :: rd 0x31415926 rs 0x31415927, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x31414817 rs 0x31415927, rt 0x00001110
+subu $t0, $t1, $t2 :: rd 0xffffff01 rs 0x00000000, rt 0x000000ff
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x80000001 rs 0x80000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x81000000 rs 0x80000000, rt 0xff000000
+subu $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+subu $t0, $t1, $t2 :: rd 0x31415928 rs 0x31415927, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x43406b27 rs 0x31415927, rt 0xee00ee00
+subu $t0, $t1, $t2 :: rd 0xffffff01 rs 0x00000000, rt 0x000000ff
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x81000000 rs 0x80000000, rt 0xff000000
+subu $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+subu $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x31415926 rs 0x31415927, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x31415925 rs 0x31415927, rt 0x00000002
+subu $t0, $t1, $t2 :: rd 0x31415918 rs 0x31415927, rt 0x0000000f
+subu $t0, $t1, $t2 :: rd 0x31415917 rs 0x31415927, rt 0x00000010
+subu $t0, $t1, $t2 :: rd 0x31415908 rs 0x31415927, rt 0x0000001f
+subu $t0, $t1, $t2 :: rd 0x31415907 rs 0x31415927, rt 0x00000020
+subu $t0, $t1, $t2 :: rd 0x31415906 rs 0x31415927, rt 0x00000021
+subu $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00087fff rs 0x00088000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x00087fe1 rs 0x00088000, rt 0x0000001f
+subu $t0, $t1, $t2 :: rd 0x0000fff0 rs 0x00010000, rt 0x00000010
+subu $t0, $t1, $t2 :: rd 0x0000ffef rs 0x00010000, rt 0x00000011
+subu $t0, $t1, $t2 :: rd 0x0000ffee rs 0x00010000, rt 0x00000012
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SUB
+subu $t0, $t1, $t2 :: rd 0x31415928 rs 0x31415927, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x0a2941ff rs 0x31415927, rt 0x27181728
+subu $t0, $t1, $t2 :: rd 0x9a2941ff rs 0x31415927, rt 0x97181728
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+XOR
+xor $t0, $t1, $t2 :: rd 0xcebea6d8 rs 0x31415927, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0xdf41b727 rs 0x31415927, rt 0xee00ee00
+xor $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7f000000 rs 0x80000000, rt 0xff000000
+xor $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+xor $t0, $t1, $t2 :: rd 0xcebea6d8 rs 0x31415927, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0xdf41b727 rs 0x31415927, rt 0xee00ee00
+xor $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7f000000 rs 0x80000000, rt 0xff000000
+xor $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+XORI
+xori $t0, $t1, 0xffff :: rt 0x3141a6d8 rs 0x31415927, imm 0x0000ffff
+xori $t0, $t1, 0xee00 :: rt 0x3141b727 rs 0x31415927, imm 0x0000ee00
+xori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+xori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+xori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+xori $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0x8000 :: rt 0x7fff7fff rs 0x7fffffff, imm 0x00008000
+xori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+xori $t0, $t1, 0x0dd0 :: rt 0x7ffff22f rs 0x7fffffff, imm 0x00000dd0
+xori $t0, $t1, 0xffff :: rt 0x3141a6d8 rs 0x31415927, imm 0x0000ffff
+xori $t0, $t1, 0xee00 :: rt 0x3141b727 rs 0x31415927, imm 0x0000ee00
+xori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+xori $t0, $t1, 0 :: rt 0x00000001 rs 0x00000001, imm 0x00000000
+xori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+xori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x00008000 rs 0x00000000, imm 0x00008000
+xori $t0, $t1, 0 :: rt 0x00008000 rs 0x00008000, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0x8000 :: rt 0x7fff7fff rs 0x7fffffff, imm 0x00008000
+xori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+xori $t0, $t1, 0x0dd0 :: rt 0x7ffff22f rs 0x7fffffff, imm 0x00000dd0
+xori $t0, $t1, 0 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+xori $t0, $t1, 0xffff :: rt 0x0000ffff rs 0x00000000, imm 0x0000ffff
+xori $t0, $t1, 0xffff :: rt 0xffff0000 rs 0xffffffff, imm 0x0000ffff
+xori $t0, $t1, 0x7fff :: rt 0x7fff8000 rs 0x7fffffff, imm 0x00007fff
+xori $t0, $t1, 0x0000 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+MFHI MFLO
+mfhi mflo :: HI: 0x31415927, LO: 0x31415926
+mfhi mflo :: HI: 0x0, LO: 0xffffffff
+mfhi mflo :: HI: 0xffffffff, LO: 0xfffffffe
+mfhi mflo :: HI: 0xffffffff, LO: 0xfffffffe
+mfhi mflo :: HI: 0x8000, LO: 0x7fff
+mfhi mflo :: HI: 0x80000000, LO: 0x7fffffff
+mfhi mflo :: HI: 0xffff, LO: 0xfffe
+mfhi mflo :: HI: 0x7fff, LO: 0x7ffe
+mfhi mflo :: HI: 0xdd0, LO: 0xdcf
+mfhi mflo :: HI: 0xff00, LO: 0xfeff
diff --git a/none/tests/mips32/MIPS32int.stdout.exp-BE b/none/tests/mips32/MIPS32int.stdout.exp-BE
new file mode 100644
index 0000000..62261f9
--- /dev/null
+++ b/none/tests/mips32/MIPS32int.stdout.exp-BE
@@ -0,0 +1,1593 @@
+ADD
+add $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+add $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x00000002 rs 0x00000001, rt 0x00000001
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+add $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0xffffffff
+add $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x5859704f rs 0x31415927, rt 0x27181728
+add $t0, $t1, $t2 :: rd 0xc859704f rs 0x31415927, rt 0x97181728
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+ADDI
+addi $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+addi $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+addi $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000000
+addi $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000001
+addi $t0, $t1, -1 :: rt 0xffffffff rs 0x00000000, imm 0xffffffff
+addi $t0, $t1, -1 :: rt 0x00000000 rs 0x00000001, imm 0xffffffff
+addi $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+addi $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+addi $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+ADDIU
+addiu $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+addiu $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+addiu $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000000
+addiu $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000001
+addiu $t0, $t1, -1 :: rt 0xffffffff rs 0x00000000, imm 0xffffffff
+addiu $t0, $t1, -1 :: rt 0x00000000 rs 0x00000001, imm 0xffffffff
+addiu $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+addiu $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+addiu $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+ADDU
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000002 rs 0x00000001, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x5859704f rs 0x31415927, rt 0x27181728
+addu $t0, $t1, $t2 :: rd 0xc859704f rs 0x31415927, rt 0x97181728
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0x7fffffff
+addu $t0, $t1, $t2 :: rd 0xfffffffe rs 0x7fffffff, rt 0x7fffffff
+AND
+and $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x20004800 rs 0x31415927, rt 0xee00ee00
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+and $t0, $t1, $t2 :: rd 0x0dd00000 rs 0x7fffffff, rt 0x0dd00000
+and $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x20004800 rs 0x31415927, rt 0xee00ee00
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+and $t0, $t1, $t2 :: rd 0x0dd00000 rs 0x7fffffff, rt 0x0dd00000
+ANDI
+andi $t0, $t1, 1 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+andi $t0, $t1, 0 :: rt 0x00000000 rs 0x00000001, imm 0x00000000
+andi $t0, $t1, 1 :: rt 0x00000001 rs 0x00000001, imm 0x00000001
+andi $t0, $t1, 1 :: rt 0x00000001 rs 0x7fffffff, imm 0x00000000
+andi $t0, $t1, 0 :: rt 0x00000000 rs 0x80000000, imm 0x00000000
+andi $t0, $t1, 0x3145 :: rt 0x00003145 rs 0xffffffff, imm 0x00003145
+CLO
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000000
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000001
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000010
+clo  $t0, $t1 :: rd 0x00000020 rs 0xffffffff
+CLZ
+clz  $t0, $t1 :: rd 0x00000020 rs 0x00000000
+clz  $t0, $t1 :: rd 0x0000001f rs 0x00000001
+clz  $t0, $t1 :: rd 0x0000001b rs 0x00000010
+clz  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+DIV
+div  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x00000003 
+div  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x00000000 LO 0x00000001 
+div  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+div  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0xffffffff 
+div  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000002 LO 0x00000000 
+DIVU
+divu  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x00000003 
+divu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x00000000 LO 0x00000001 
+divu  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+divu  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000001 LO 0x00000000 
+divu  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000002 LO 0x00000000 
+divu  $t0, $t1 :: rs 0x00000000 rt 0x00000002 HI 0x00000000 LO 0x00000000 
+EXT
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000001
+ext $t0, $t1, 0, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000002 rs 0x98765432, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000002 rs 0x98765432, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000002 rs 0x98765432, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000002 rs 0x98765432, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 4 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000004
+ext $t0, $t1, 0, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 16 :: rt 0x00005421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ext $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0x98765432, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0x98765432, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0x98765432, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000001 rs 0x98765432, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000004, size 0x00000001
+ext $t0, $t1, 4, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000003 rs 0x98765432, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000002 rs 0xff865421, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000003 rs 0x98765432, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000002 rs 0xff865421, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000003 rs 0x98765432, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000002 rs 0xff865421, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000003 rs 0x98765432, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 4 :: rt 0x00000002 rs 0xff865421, pos 0x00000004, size 0x00000004
+ext $t0, $t1, 4, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006543 rs 0x98765432, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006542 rs 0xff865421, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006543 rs 0x98765432, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006542 rs 0xff865421, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006543 rs 0x98765432, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006542 rs 0xff865421, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006543 rs 0x98765432, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 16 :: rt 0x00006542 rs 0xff865421, pos 0x00000004, size 0x00000010
+ext $t0, $t1, 4, 28 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0fffffff rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x09876543 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0ff86542 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0fffffff rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x09876543 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0ff86542 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0fffffff rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x09876543 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0ff86542 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0fffffff rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x09876543 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 4, 28 :: rt 0x0ff86542 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 1 :: rt 0x00000000 rs 0xff865421, pos 0x00000001, size 0x00000010
+ext $t0, $t1, 16, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0x98765432, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0xff865421, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0x98765432, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0xff865421, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0x98765432, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0xff865421, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0x98765432, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 4 :: rt 0x00000006 rs 0xff865421, pos 0x00000010, size 0x00000004
+ext $t0, $t1, 16, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00009876 rs 0x98765432, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ff86 rs 0xff865421, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00009876 rs 0x98765432, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ff86 rs 0xff865421, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00009876 rs 0x98765432, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ff86 rs 0xff865421, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x00009876 rs 0x98765432, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 16, 16 :: rt 0x0000ff86 rs 0xff865421, pos 0x00000010, size 0x00000010
+ext $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xff865421, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xff865421, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xff865421, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ext $t0, $t1, 31, 1 :: rt 0x00000001 rs 0xff865421, pos 0x0000001f, size 0x00000001
+INS
+ins $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xfffffffe rs 0x00000000, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xfffffffe rs 0x98765432, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xffffffff rs 0xff865421, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x98765432 rs 0x00000000, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x98765433 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0x98765433 rs 0xff865421, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xff865420 rs 0x00000000, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xff865421 rs 0xffffffff, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xff865420 rs 0x98765432, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 1 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000001
+ins $t0, $t1, 0, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x0000000f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x00000002 rs 0x98765432, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x00000001 rs 0xff865421, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xfffffff0 rs 0x00000000, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xfffffff2 rs 0x98765432, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xfffffff1 rs 0xff865421, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x98765430 rs 0x00000000, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x9876543f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0x98765431 rs 0xff865421, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xff865420 rs 0x00000000, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xff86542f rs 0xffffffff, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xff865422 rs 0x98765432, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 4 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000004
+ins $t0, $t1, 0, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x0000ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x00005432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x00005421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xffff0000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xffff5432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xffff5421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x98760000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x9876ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0x98765421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xff860000 rs 0x00000000, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xff86ffff rs 0xffffffff, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xff865432 rs 0x98765432, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 16 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000010
+ins $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x00000000 rs 0x00000000, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xffffffff rs 0xffffffff, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0x98765432 rs 0x98765432, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 0, 32 :: rt 0xff865421 rs 0xff865421, pos 0x00000000, size 0x00000020
+ins $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x00000010 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x00000010 rs 0xff865421, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xffffffef rs 0x00000000, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xffffffff rs 0xffffffff, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xffffffef rs 0x98765432, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xffffffff rs 0xff865421, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x98765422 rs 0x00000000, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x98765432 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x98765422 rs 0x98765432, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0x98765432 rs 0xff865421, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xff865421 rs 0x00000000, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xff865431 rs 0xffffffff, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xff865421 rs 0x98765432, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 1 :: rt 0xff865431 rs 0xff865421, pos 0x00000004, size 0x00000001
+ins $t0, $t1, 4, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x000000f0 rs 0xffffffff, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x00000020 rs 0x98765432, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x00000010 rs 0xff865421, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xffffff0f rs 0x00000000, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xffffffff rs 0xffffffff, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xffffff2f rs 0x98765432, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xffffff1f rs 0xff865421, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x98765402 rs 0x00000000, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x987654f2 rs 0xffffffff, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x98765422 rs 0x98765432, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0x98765412 rs 0xff865421, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xff865401 rs 0x00000000, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xff8654f1 rs 0xffffffff, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xff865421 rs 0x98765432, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 4 :: rt 0xff865411 rs 0xff865421, pos 0x00000004, size 0x00000004
+ins $t0, $t1, 4, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x000ffff0 rs 0xffffffff, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x00054320 rs 0x98765432, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x00054210 rs 0xff865421, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xfff0000f rs 0x00000000, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xffffffff rs 0xffffffff, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xfff5432f rs 0x98765432, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xfff5421f rs 0xff865421, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x98700002 rs 0x00000000, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x987ffff2 rs 0xffffffff, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x98754322 rs 0x98765432, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0x98754212 rs 0xff865421, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xff800001 rs 0x00000000, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xff8ffff1 rs 0xffffffff, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xff854321 rs 0x98765432, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 16 :: rt 0xff854211 rs 0xff865421, pos 0x00000004, size 0x00000010
+ins $t0, $t1, 4, 28 :: rt 0x00000000 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xfffffff0 rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x87654320 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xf8654210 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x0000000f rs 0x00000000, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xffffffff rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x8765432f rs 0x98765432, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xf865421f rs 0xff865421, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x00000002 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xfffffff2 rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x87654322 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xf8654212 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x00000001 rs 0x00000000, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xfffffff1 rs 0xffffffff, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0x87654321 rs 0x98765432, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 4, 28 :: rt 0xf8654211 rs 0xff865421, pos 0x00000004, size 0x0000001c
+ins $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x00000000, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x00010000 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x00000000 rs 0x98765432, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x00010000 rs 0xff865421, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xfffeffff rs 0x00000000, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xffffffff rs 0xffffffff, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xfffeffff rs 0x98765432, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xffffffff rs 0xff865421, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x98765432 rs 0x00000000, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x98775432 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x98765432 rs 0x98765432, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0x98775432 rs 0xff865421, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xff865421 rs 0x00000000, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xff875421 rs 0xffffffff, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xff865421 rs 0x98765432, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 1 :: rt 0xff875421 rs 0xff865421, pos 0x00000001, size 0x00000010
+ins $t0, $t1, 16, 4 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x000f0000 rs 0xffffffff, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x00020000 rs 0x98765432, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x00010000 rs 0xff865421, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xfff0ffff rs 0x00000000, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xffffffff rs 0xffffffff, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xfff2ffff rs 0x98765432, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xfff1ffff rs 0xff865421, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x98705432 rs 0x00000000, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x987f5432 rs 0xffffffff, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x98725432 rs 0x98765432, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0x98715432 rs 0xff865421, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xff805421 rs 0x00000000, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xff8f5421 rs 0xffffffff, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xff825421 rs 0x98765432, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 4 :: rt 0xff815421 rs 0xff865421, pos 0x00000010, size 0x00000004
+ins $t0, $t1, 16, 16 :: rt 0x00000000 rs 0x00000000, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0xffff0000 rs 0xffffffff, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54320000 rs 0x98765432, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54210000 rs 0xff865421, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x0000ffff rs 0x00000000, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0xffffffff rs 0xffffffff, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x5432ffff rs 0x98765432, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x5421ffff rs 0xff865421, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x00005432 rs 0x00000000, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0xffff5432 rs 0xffffffff, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54325432 rs 0x98765432, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54215432 rs 0xff865421, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x00005421 rs 0x00000000, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0xffff5421 rs 0xffffffff, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54325421 rs 0x98765432, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 16, 16 :: rt 0x54215421 rs 0xff865421, pos 0x00000010, size 0x00000010
+ins $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x80000000 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x00000000 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x80000000 rs 0xff865421, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x7fffffff rs 0x00000000, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0xffffffff rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x7fffffff rs 0x98765432, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0xffffffff rs 0xff865421, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x18765432 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x98765432 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x18765432 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x98765432 rs 0xff865421, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x7f865421 rs 0x00000000, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0xff865421 rs 0xffffffff, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0x7f865421 rs 0x98765432, pos 0x0000001f, size 0x00000001
+ins $t0, $t1, 31, 1 :: rt 0xff865421 rs 0xff865421, pos 0x0000001f, size 0x00000001
+LB
+lb $t0, 0($t1) :: rt 0x00000012
+lb $t0, 4($t1) :: rt 0x00000000
+lb $t0, 8($t1) :: rt 0x00000000
+lb $t0, 12($t1) :: rt 0xffffffff
+lb $t0, 16($t1) :: rt 0x00000023
+lb $t0, 20($t1) :: rt 0x00000024
+lb $t0, 24($t1) :: rt 0x00000025
+lb $t0, 28($t1) :: rt 0x00000026
+lb $t0, 32($t1) :: rt 0x0000003f
+lb $t0, 36($t1) :: rt 0x0000003e
+lb $t0, 40($t1) :: rt 0x00000036
+lb $t0, 44($t1) :: rt 0x0000003b
+lb $t0, 48($t1) :: rt 0x00000045
+lb $t0, 52($t1) :: rt 0x0000004e
+lb $t0, 56($t1) :: rt 0x00000047
+lb $t0, 60($t1) :: rt 0x0000004a
+lb $t0, 64($t1) :: rt 0x00000041
+lb $t0, 2($t1) :: rt 0x0000001e
+lb $t0, 6($t1) :: rt 0x00000000
+lb $t0, 10($t1) :: rt 0x00000000
+lb $t0, 14($t1) :: rt 0xffffffff
+lb $t0, 18($t1) :: rt 0x0000002e
+lb $t0, 22($t1) :: rt 0x0000002b
+lb $t0, 26($t1) :: rt 0x0000002e
+lb $t0, 30($t1) :: rt 0x0000002d
+lb $t0, 34($t1) :: rt 0x0000003f
+lb $t0, 38($t1) :: rt 0x0000003d
+LBU
+lbu $t0, 0($t1) :: rt 0x00000012
+lbu $t0, 4($t1) :: rt 0x00000000
+lbu $t0, 8($t1) :: rt 0x00000000
+lbu $t0, 12($t1) :: rt 0x000000ff
+lbu $t0, 16($t1) :: rt 0x00000023
+lbu $t0, 20($t1) :: rt 0x00000024
+lbu $t0, 24($t1) :: rt 0x00000025
+lbu $t0, 28($t1) :: rt 0x00000026
+lbu $t0, 32($t1) :: rt 0x0000003f
+lbu $t0, 36($t1) :: rt 0x0000003e
+lbu $t0, 40($t1) :: rt 0x00000036
+lbu $t0, 44($t1) :: rt 0x0000003b
+lbu $t0, 48($t1) :: rt 0x00000045
+lbu $t0, 52($t1) :: rt 0x0000004e
+lbu $t0, 56($t1) :: rt 0x00000047
+lbu $t0, 60($t1) :: rt 0x0000004a
+lbu $t0, 64($t1) :: rt 0x00000041
+lbu $t0, 2($t1) :: rt 0x0000001e
+lbu $t0, 6($t1) :: rt 0x00000000
+lbu $t0, 10($t1) :: rt 0x00000000
+lbu $t0, 14($t1) :: rt 0x000000ff
+lbu $t0, 18($t1) :: rt 0x0000002e
+lbu $t0, 22($t1) :: rt 0x0000002b
+lbu $t0, 26($t1) :: rt 0x0000002e
+lbu $t0, 30($t1) :: rt 0x0000002d
+lbu $t0, 34($t1) :: rt 0x0000003f
+lbu $t0, 38($t1) :: rt 0x0000003d
+LH
+lh $t0, 0($t1) :: rt 0x0000121f
+lh $t0, 4($t1) :: rt 0x00000000
+lh $t0, 8($t1) :: rt 0x00000000
+lh $t0, 12($t1) :: rt 0xffffffff
+lh $t0, 16($t1) :: rt 0x0000232f
+lh $t0, 20($t1) :: rt 0x0000242c
+lh $t0, 24($t1) :: rt 0x0000252a
+lh $t0, 28($t1) :: rt 0x0000262d
+lh $t0, 32($t1) :: rt 0x00003f34
+lh $t0, 36($t1) :: rt 0x00003e35
+lh $t0, 40($t1) :: rt 0x0000363a
+lh $t0, 44($t1) :: rt 0x00003b37
+lh $t0, 48($t1) :: rt 0x0000454f
+lh $t0, 52($t1) :: rt 0x00004e46
+lh $t0, 56($t1) :: rt 0x0000474d
+lh $t0, 60($t1) :: rt 0x00004a48
+lh $t0, 64($t1) :: rt 0x00004144
+lh $t0, 2($t1) :: rt 0x00001e1f
+lh $t0, 6($t1) :: rt 0x00000000
+lh $t0, 10($t1) :: rt 0x00000003
+lh $t0, 14($t1) :: rt 0xffffffff
+lh $t0, 18($t1) :: rt 0x00002e2f
+lh $t0, 22($t1) :: rt 0x00002b2b
+lh $t0, 26($t1) :: rt 0x00002e2b
+lh $t0, 30($t1) :: rt 0x00002d2a
+lh $t0, 34($t1) :: rt 0x00003f3e
+lh $t0, 38($t1) :: rt 0x00003d3c
+LHU
+lhu $t0, 0($t1) :: rt 0x0000121f
+lhu $t0, 4($t1) :: rt 0x00000000
+lhu $t0, 8($t1) :: rt 0x00000000
+lhu $t0, 12($t1) :: rt 0x0000ffff
+lhu $t0, 16($t1) :: rt 0x0000232f
+lhu $t0, 20($t1) :: rt 0x0000242c
+lhu $t0, 24($t1) :: rt 0x0000252a
+lhu $t0, 28($t1) :: rt 0x0000262d
+lhu $t0, 32($t1) :: rt 0x00003f34
+lhu $t0, 36($t1) :: rt 0x00003e35
+lhu $t0, 40($t1) :: rt 0x0000363a
+lhu $t0, 44($t1) :: rt 0x00003b37
+lhu $t0, 48($t1) :: rt 0x0000454f
+lhu $t0, 52($t1) :: rt 0x00004e46
+lhu $t0, 56($t1) :: rt 0x0000474d
+lhu $t0, 60($t1) :: rt 0x00004a48
+lhu $t0, 64($t1) :: rt 0x00004144
+lhu $t0, 2($t1) :: rt 0x00001e1f
+lhu $t0, 6($t1) :: rt 0x00000000
+lhu $t0, 10($t1) :: rt 0x00000003
+lhu $t0, 14($t1) :: rt 0x0000ffff
+lhu $t0, 18($t1) :: rt 0x00002e2f
+lhu $t0, 22($t1) :: rt 0x00002b2b
+lhu $t0, 26($t1) :: rt 0x00002e2b
+lhu $t0, 30($t1) :: rt 0x00002d2a
+lhu $t0, 34($t1) :: rt 0x00003f3e
+lhu $t0, 38($t1) :: rt 0x00003d3c
+LUI
+lui  $t0, 0xffff :: rd 0xffff0000 rs 0x0000ffff
+lui  $t0, 0xff00 :: rd 0xff000000 rs 0x0000ff00
+lui  $t0, 0xff :: rd 0x00ff0000 rs 0x000000ff
+lui  $t0, 0x0 :: rd 0x00000000 rs 0x00000000
+lui  $t0, 0x5 :: rd 0x00050000 rs 0x00000005
+lui  $t0, 0x387 :: rd 0x03870000 rs 0x00000387
+LW
+lw $t0, 0($t1) :: rt 0x121f1e1f
+lw $t0, 4($t1) :: rt 0x00000000
+lw $t0, 8($t1) :: rt 0x00000003
+lw $t0, 12($t1) :: rt 0xffffffff
+lw $t0, 16($t1) :: rt 0x232f2e2f
+lw $t0, 20($t1) :: rt 0x242c2b2b
+lw $t0, 24($t1) :: rt 0x252a2e2b
+lw $t0, 28($t1) :: rt 0x262d2d2a
+lw $t0, 32($t1) :: rt 0x3f343f3e
+lw $t0, 36($t1) :: rt 0x3e353d3c
+lw $t0, 40($t1) :: rt 0x363a3c3b
+lw $t0, 44($t1) :: rt 0x3b373b3a
+lw $t0, 48($t1) :: rt 0x454f4e45
+lw $t0, 52($t1) :: rt 0x4e464d46
+lw $t0, 56($t1) :: rt 0x474d474c
+lw $t0, 60($t1) :: rt 0x4a484a4c
+lw $t0, 64($t1) :: rt 0x41444400
+lw $t0, 2($t1) :: rt 0x1e1f0000
+lw $t0, 6($t1) :: rt 0x00000000
+lw $t0, 10($t1) :: rt 0x0003ffff
+lw $t0, 14($t1) :: rt 0xffff232f
+lw $t0, 18($t1) :: rt 0x2e2f242c
+lw $t0, 22($t1) :: rt 0x2b2b252a
+lw $t0, 26($t1) :: rt 0x2e2b262d
+lw $t0, 30($t1) :: rt 0x2d2a3f34
+lw $t0, 34($t1) :: rt 0x3f3e3e35
+lw $t0, 38($t1) :: rt 0x3d3c363a
+LWL
+lwl $t0, 0($t1) :: rt 0x121f1e1f
+lwl $t0, 4($t1) :: rt 0x00000000
+lwl $t0, 8($t1) :: rt 0x00000003
+lwl $t0, 12($t1) :: rt 0xffffffff
+lwl $t0, 16($t1) :: rt 0x232f2e2f
+lwl $t0, 20($t1) :: rt 0x242c2b2b
+lwl $t0, 24($t1) :: rt 0x252a2e2b
+lwl $t0, 28($t1) :: rt 0x262d2d2a
+lwl $t0, 32($t1) :: rt 0x3f343f3e
+lwl $t0, 36($t1) :: rt 0x3e353d3c
+lwl $t0, 40($t1) :: rt 0x363a3c3b
+lwl $t0, 44($t1) :: rt 0x3b373b3a
+lwl $t0, 48($t1) :: rt 0x454f4e45
+lwl $t0, 52($t1) :: rt 0x4e464d46
+lwl $t0, 56($t1) :: rt 0x474d474c
+lwl $t0, 60($t1) :: rt 0x4a484a4c
+lwl $t0, 64($t1) :: rt 0x41444400
+lwl $t0, 2($t1) :: rt 0x1e1f0000
+lwl $t0, 6($t1) :: rt 0x00000000
+lwl $t0, 10($t1) :: rt 0x00030000
+lwl $t0, 14($t1) :: rt 0xffff0000
+lwl $t0, 18($t1) :: rt 0x2e2f0000
+lwl $t0, 22($t1) :: rt 0x2b2b0000
+lwl $t0, 26($t1) :: rt 0x2e2b0000
+lwl $t0, 30($t1) :: rt 0x2d2a0000
+lwl $t0, 34($t1) :: rt 0x3f3e0000
+lwl $t0, 38($t1) :: rt 0x3d3c0000
+LWR
+lwr $t0, 0($t1) :: rt 0x00000012
+lwr $t0, 4($t1) :: rt 0x00000000
+lwr $t0, 8($t1) :: rt 0x00000000
+lwr $t0, 12($t1) :: rt 0x000000ff
+lwr $t0, 16($t1) :: rt 0x00000023
+lwr $t0, 20($t1) :: rt 0x00000024
+lwr $t0, 24($t1) :: rt 0x00000025
+lwr $t0, 28($t1) :: rt 0x00000026
+lwr $t0, 32($t1) :: rt 0x0000003f
+lwr $t0, 36($t1) :: rt 0x0000003e
+lwr $t0, 40($t1) :: rt 0x00000036
+lwr $t0, 44($t1) :: rt 0x0000003b
+lwr $t0, 48($t1) :: rt 0x00000045
+lwr $t0, 52($t1) :: rt 0x0000004e
+lwr $t0, 56($t1) :: rt 0x00000047
+lwr $t0, 60($t1) :: rt 0x0000004a
+lwr $t0, 64($t1) :: rt 0x00000041
+lwr $t0, 2($t1) :: rt 0x00121f1e
+lwr $t0, 6($t1) :: rt 0x00000000
+lwr $t0, 10($t1) :: rt 0x00000000
+lwr $t0, 14($t1) :: rt 0x00ffffff
+lwr $t0, 18($t1) :: rt 0x00232f2e
+lwr $t0, 22($t1) :: rt 0x00242c2b
+lwr $t0, 26($t1) :: rt 0x00252a2e
+lwr $t0, 30($t1) :: rt 0x00262d2d
+lwr $t0, 34($t1) :: rt 0x003f343f
+lwr $t0, 38($t1) :: rt 0x003e353d
+MADD
+madd  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c 
+madd  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48 
+madd  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0x00000000 LO 0x00017fe8 
+madd  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+madd  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0xffffffff LO 0xffffffff 
+madd  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0xffffffff LO 0xffffffff 
+madd  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000000 LO 0x0000000c 
+madd  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0x00000000 LO 0x0011c98e 
+MADDU
+maddu  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c 
+maddu  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48 
+maddu  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0x00000000 LO 0x00017fe8 
+maddu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+maddu  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+maddu  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0xffffffff 
+maddu  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000000 LO 0x0000000c 
+maddu  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0x00000000 LO 0x0011c98e 
+MOVN
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+MOVZ
+movz $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+movz $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+MSUB
+msub  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0xffffffff LO 0xfffffff4 
+msub  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0xffffffff LO 0xfffff2b8 
+msub  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0xffffffff LO 0xfffe8018 
+msub  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0xc0000000 LO 0xffffffff 
+msub  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0x00000001 
+msub  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0x00000001 
+msub  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0xffffffff LO 0xfffffff4 
+msub  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0xffffffff LO 0xffee3672 
+MSUBU
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xcebea6d9 LO 0x31415927 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xd2351152 LO 0xfd1dbe00 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x80000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x80800000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0xf9180000 LO 0x0dd00000 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xcebea6d9 LO 0x31415927 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xd2351152 LO 0xfd1dbe00 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x80800000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0xf9180000 LO 0x0dd00000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0x00000001 LO 0xffffffff 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0xc0000000 LO 0xffffffff 
+msubu  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0xffffffff LO 0x0001ffff 
+MUL
+mul $t0, $t1, $t2 :: rd 0xcebea6d9 rs 0x31415927, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x02e24200 rs 0x31415927, rt 0xee00ee00
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xff000000
+mul $t0, $t1, $t2 :: rd 0xf2300000 rs 0x7fffffff, rt 0x0dd00000
+mul $t0, $t1, $t2 :: rd 0xcebea6d9 rs 0x31415927, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x02e24200 rs 0x31415927, rt 0xee00ee00
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xff000000
+mul $t0, $t1, $t2 :: rd 0xf2300000 rs 0x7fffffff, rt 0x0dd00000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x7fffffff
+mul $t0, $t1, $t2 :: rd 0xfffe0001 rs 0x0000ffff, rt 0x0000ffff
+MULT
+mult  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xffffffff LO 0xcebea6d9 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xfc899586 LO 0x02e24200 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x00000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x00800000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xffffffff LO 0xcebea6d9 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xfc899586 LO 0x02e24200 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x00800000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0x00000000 LO 0x00000001 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+mult  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0x00000000 LO 0xfffe0001 
+MULTU
+multu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0x31415926 LO 0xcebea6d9 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0x2dcaeead LO 0x02e24200 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x7fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0x3fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x7f800000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0x31415926 LO 0xcebea6d9 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0x2dcaeead LO 0x02e24200 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0x3fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x7f800000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0xfffffffe LO 0x00000001 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+multu  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0x00000000 LO 0xfffe0001 
+NOR
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00be00d8 rs 0x31415927, rt 0xee00ee00
+nor $t0, $t1, $t2 :: rd 0xffffff00 rs 0x00000000, rt 0x000000ff
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000000, rt 0x00000001
+nor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00ffffff rs 0x80000000, rt 0xff000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x0dd00000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00be00d8 rs 0x31415927, rt 0xee00ee00
+nor $t0, $t1, $t2 :: rd 0xffffff00 rs 0x00000000, rt 0x000000ff
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000001, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000000, rt 0x00000001
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x00000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00ffffff rs 0x80000000, rt 0xff000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x0dd00000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x7fffffff
+nor $t0, $t1, $t2 :: rd 0xffff0000 rs 0x0000ffff, rt 0x0000ffff
+WSBH
+wsbh  $t0, $t1 :: rd 0x00000200 rs 0x00000002
+wsbh  $t0, $t1 :: rd 0x00002800 rs 0x00000028
+wsbh  $t0, $t1 :: rd 0xfffffefe rs 0xfffffefe
+wsbh  $t0, $t1 :: rd 0xff7fffff rs 0x7fffffff
+wsbh  $t0, $t1 :: rd 0xfffff5ff rs 0xfffffff5
+wsbh  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+wsbh  $t0, $t1 :: rd 0x00001600 rs 0x00000016
+wsbh  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+NOT
+not  $t0, $t1 :: rd 0xfffffffd rs 0x00000002
+not  $t0, $t1 :: rd 0xffffffd7 rs 0x00000028
+not  $t0, $t1 :: rd 0x00000101 rs 0xfffffefe
+not  $t0, $t1 :: rd 0x80000000 rs 0x7fffffff
+not  $t0, $t1 :: rd 0x0000000a rs 0xfffffff5
+not  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+not  $t0, $t1 :: rd 0xffffffe9 rs 0x00000016
+not  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+NEGU
+negu  $t0, $t1 :: rd 0xfffffffe rs 0x00000002
+negu  $t0, $t1 :: rd 0xffffffd8 rs 0x00000028
+negu  $t0, $t1 :: rd 0x00000102 rs 0xfffffefe
+negu  $t0, $t1 :: rd 0x80000001 rs 0x7fffffff
+negu  $t0, $t1 :: rd 0x0000000b rs 0xfffffff5
+negu  $t0, $t1 :: rd 0x00000001 rs 0xffffffff
+negu  $t0, $t1 :: rd 0xffffffea rs 0x00000016
+negu  $t0, $t1 :: rd 0x00000001 rs 0xffffffff
+OR
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x31415927, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xff41ff27 rs 0x31415927, rt 0xee00ee00
+or $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+or $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xff000000 rs 0x80000000, rt 0xff000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x31415927, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xff41ff27 rs 0x31415927, rt 0xee00ee00
+or $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xff000000 rs 0x80000000, rt 0xff000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x7fffffff
+or $t0, $t1, $t2 :: rd 0x0000ffff rs 0x0000ffff, rt 0x0000ffff
+ORI
+ori $t0, $t1, 0xffff :: rt 0x3141ffff rs 0x31415927, imm 0x0000ffff
+ori $t0, $t1, 0xee00 :: rt 0x3141ff27 rs 0x31415927, imm 0x0000ee00
+ori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+ori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+ori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+ori $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0x8000 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00008000
+ori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+ori $t0, $t1, 0x0dd0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000dd0
+ori $t0, $t1, 0xffff :: rt 0x3141ffff rs 0x31415927, imm 0x0000ffff
+ori $t0, $t1, 0xee00 :: rt 0x3141ff27 rs 0x31415927, imm 0x0000ee00
+ori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+ori $t0, $t1, 0 :: rt 0x00000001 rs 0x00000001, imm 0x00000000
+ori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+ori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x00008000 rs 0x00000000, imm 0x00008000
+ori $t0, $t1, 0 :: rt 0x00008000 rs 0x00008000, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0x8000 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00008000
+ori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+ori $t0, $t1, 0x0dd0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000dd0
+ori $t0, $t1, 0 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+ori $t0, $t1, 0xffff :: rt 0x0000ffff rs 0x00000000, imm 0x0000ffff
+ori $t0, $t1, 0xffff :: rt 0xffffffff rs 0xffffffff, imm 0x0000ffff
+ori $t0, $t1, 0x7fff :: rt 0x7fffffff rs 0x7fffffff, imm 0x00007fff
+ori $t0, $t1, 0x0000 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+ROTR
+rotr $t0, $t1, 0x00000000 :: rt 0x31415927 rs 0x31415927, imm 0x00000000
+rotr $t0, $t1, 0x00000001 :: rt 0x98a0ac93 rs 0x31415927, imm 0x00000001
+rotr $t0, $t1, 0x00000002 :: rt 0xcc505649 rs 0x31415927, imm 0x00000002
+rotr $t0, $t1, 0x0000000F :: rt 0xb24e6282 rs 0x31415927, imm 0x0000000f
+rotr $t0, $t1, 0x00000010 :: rt 0x59273141 rs 0x31415927, imm 0x00000010
+rotr $t0, $t1, 0x0000001F :: rt 0x6282b24e rs 0x31415927, imm 0x0000001f
+rotr $t0, $t1, 0x00000020 :: rt 0x31415927 rs 0x31415927, imm 0x00000020
+rotr $t0, $t1, 0x00000021 :: rt 0x98a0ac93 rs 0x31415927, imm 0x00000021
+rotr $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x00000000
+rotr $t0, $t1, 0x00000001 :: rt 0x00044000 rs 0x00088000, imm 0x00000001
+rotr $t0, $t1, 31 :: rt 0x00110000 rs 0x00088000, imm 0x0000001f
+rotr $t0, $t1, 16 :: rt 0x00000001 rs 0x00010000, imm 0x00000010
+rotr $t0, $t1, 17 :: rt 0x80000000 rs 0x00010000, imm 0x00000011
+rotr $t0, $t1, 18 :: rt 0x40000000 rs 0x00010000, imm 0x00000012
+rotr $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+rotr $t0, $t1, 0xffff :: rt 0x0001fffe rs 0x0000ffff, imm 0x0000ffff
+ROTRV
+rotrv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+rotrv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+rotrv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+rotrv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+rotrv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+rotrv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+rotrv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+rotrv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+rotrv $t0, $t1, $t2 :: rd 0xfffffffe rs 0x7fffffff, rt 0x7fffffff
+rotrv $t0, $t1, $t2 :: rd 0x0001fffe rs 0x0000ffff, rt 0x0000ffff
+rotrv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x98a0ac93 rs 0x31415927, rt 0x00000001
+rotrv $t0, $t1, $t2 :: rd 0xcc505649 rs 0x31415927, rt 0x00000002
+rotrv $t0, $t1, $t2 :: rd 0xb24e6282 rs 0x31415927, rt 0x0000000f
+rotrv $t0, $t1, $t2 :: rd 0x59273141 rs 0x31415927, rt 0x00000010
+rotrv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0x0000001f
+rotrv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+rotrv $t0, $t1, $t2 :: rd 0x98a0ac93 rs 0x31415927, rt 0x00000021
+rotrv $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x00044000 rs 0x00088000, rt 0x00000001
+rotrv $t0, $t1, $t2 :: rd 0x00110000 rs 0x00088000, rt 0x0000001f
+rotrv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00010000, rt 0x00000010
+rotrv $t0, $t1, $t2 :: rd 0x80000000 rs 0x00010000, rt 0x00000011
+rotrv $t0, $t1, $t2 :: rd 0x40000000 rs 0x00010000, rt 0x00000012
+rotrv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+rotrv $t0, $t1, $t2 :: rd 0x0001fffe rs 0x0000ffff, rt 0x0000ffff
+SEB
+seb  $t0, $t1 :: rd 0x00000002 rs 0x00000002
+seb  $t0, $t1 :: rd 0x00000028 rs 0x00000028
+seb  $t0, $t1 :: rd 0xfffffffe rs 0xfffffefe
+seb  $t0, $t1 :: rd 0xffffffff rs 0x7fffffff
+seb  $t0, $t1 :: rd 0xfffffff5 rs 0xfffffff5
+seb  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+seb  $t0, $t1 :: rd 0x00000016 rs 0x00000016
+seb  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+SEH
+seh  $t0, $t1 :: rd 0x00000002 rs 0x00000002
+seh  $t0, $t1 :: rd 0x00000028 rs 0x00000028
+seh  $t0, $t1 :: rd 0xfffffefe rs 0xfffffefe
+seh  $t0, $t1 :: rd 0xffffffff rs 0x7fffffff
+seh  $t0, $t1 :: rd 0xfffffff5 rs 0xfffffff5
+seh  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+seh  $t0, $t1 :: rd 0x00000016 rs 0x00000016
+seh  $t0, $t1 :: rd 0xffffffff rs 0xffffffff
+SLL
+sll $t0, $t1, 0x00000000 :: rt 0x31415927 rs 0x31415927, imm 0x00000000
+sll $t0, $t1, 0x00000001 :: rt 0x6282b24e rs 0x31415927, imm 0x00000001
+sll $t0, $t1, 0x00000002 :: rt 0xc505649c rs 0x31415927, imm 0x00000002
+sll $t0, $t1, 0x0000000F :: rt 0xac938000 rs 0x31415927, imm 0x0000000f
+sll $t0, $t1, 0x00000010 :: rt 0x59270000 rs 0x31415927, imm 0x00000010
+sll $t0, $t1, 0x0000001F :: rt 0x80000000 rs 0x31415927, imm 0x0000001f
+sll $t0, $t1, 0x00000009 :: rt 0x82b24e00 rs 0x31415927, imm 0x00000009
+sll $t0, $t1, 0x0000000A :: rt 0x05649c00 rs 0x31415927, imm 0x0000000a
+sll $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x00000000
+sll $t0, $t1, 0x00000001 :: rt 0x00110000 rs 0x00088000, imm 0x00000001
+sll $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sll $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+sll $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sll $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sll $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLLV
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+sllv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0xffffffff, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x7fffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x0000ffff, rt 0x0000ffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0xc505649c rs 0x31415927, rt 0x00000002
+sllv $t0, $t1, $t2 :: rd 0xac938000 rs 0x31415927, rt 0x0000000f
+sllv $t0, $t1, $t2 :: rd 0x59270000 rs 0x31415927, rt 0x00000010
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0x0000001f
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+sllv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0x00000021
+sllv $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00110000 rs 0x00088000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x0000ffff, rt 0x0000ffff
+SLT
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000002
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000000f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000010
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000020
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000021
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SLTI
+slti $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00000001, imm 0x31415927
+slti $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x31415927, imm 0x00000001
+slti $t0, $t1, 0x00000002 :: rt 0x00000000 rs 0x31415927, imm 0x00000002
+slti $t0, $t1, 0x0000000F :: rt 0x00000000 rs 0x31415927, imm 0x0000000f
+slti $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+slti $t0, $t1, 0x0000001F :: rt 0x00000001 rs 0x00000010, imm 0x31415927
+slti $t0, $t1, 0x00000009 :: rt 0x00000000 rs 0x31415927, imm 0x00000009
+slti $t0, $t1, 0x0000000A :: rt 0x00000000 rs 0x31415927, imm 0x0000000a
+slti $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00088000, imm 0x0000000a
+slti $t0, $t1, 0x00000001 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+slti $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+slti $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+slti $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+slti $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+slti $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLTIU
+sltiu $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00000001, imm 0x31415927
+sltiu $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x31415927, imm 0x00000001
+sltiu $t0, $t1, 0x00000002 :: rt 0x00000000 rs 0x31415927, imm 0x00000002
+sltiu $t0, $t1, 0x0000000F :: rt 0x00000000 rs 0x31415927, imm 0x0000000f
+sltiu $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+sltiu $t0, $t1, 0x0000001F :: rt 0x00000001 rs 0x00000010, imm 0x31415927
+sltiu $t0, $t1, 0x00000009 :: rt 0x00000000 rs 0x31415927, imm 0x00000009
+sltiu $t0, $t1, 0x0000000A :: rt 0x00000000 rs 0x31415927, imm 0x0000000a
+sltiu $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00088000, imm 0x0000000a
+sltiu $t0, $t1, 0x00000001 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+sltiu $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sltiu $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+sltiu $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sltiu $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sltiu $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLTU
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xee00ee00
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xee00ee00
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000002
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000000f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000010
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000020
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000021
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SRA
+sra $t0, $t1, 0x00000000 :: rt 0x00000001 rs 0x00000001, imm 0x31415927
+sra $t0, $t1, 0x00000001 :: rt 0x18a0ac93 rs 0x31415927, imm 0x00000001
+sra $t0, $t1, 0x00000002 :: rt 0x0c505649 rs 0x31415927, imm 0x00000002
+sra $t0, $t1, 0x0000000F :: rt 0x00006282 rs 0x31415927, imm 0x0000000f
+sra $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+sra $t0, $t1, 0x0000001F :: rt 0x00000000 rs 0x00000010, imm 0x31415927
+sra $t0, $t1, 0x00000009 :: rt 0x0018a0ac rs 0x31415927, imm 0x00000009
+sra $t0, $t1, 0x0000000A :: rt 0x000c5056 rs 0x31415927, imm 0x0000000a
+sra $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x0000000a
+sra $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+sra $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sra $t0, $t1, 16 :: rt 0x00000001 rs 0x00010000, imm 0x00000010
+sra $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sra $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sra $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SRAV
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srav $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x0c505649 rs 0x31415927, rt 0x00000002
+srav $t0, $t1, $t2 :: rd 0x00006282 rs 0x31415927, rt 0x0000000f
+srav $t0, $t1, $t2 :: rd 0x00003141 rs 0x31415927, rt 0x00000010
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+srav $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000021
+srav $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00044000 rs 0x00088000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+srav $t0, $t1, $t2 :: rd 0x00000001 rs 0x00010000, rt 0x00000010
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SRL
+srl $t0, $t1, 0x00000000 :: rt 0x00000001 rs 0x00000001, imm 0x31415927
+srl $t0, $t1, 0x00000001 :: rt 0x18a0ac93 rs 0x31415927, imm 0x00000001
+srl $t0, $t1, 0x00000002 :: rt 0x0c505649 rs 0x31415927, imm 0x00000002
+srl $t0, $t1, 0x0000000F :: rt 0x00006282 rs 0x31415927, imm 0x0000000f
+srl $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+srl $t0, $t1, 0x0000001F :: rt 0x00000000 rs 0x00000010, imm 0x31415927
+srl $t0, $t1, 0x00000009 :: rt 0x0018a0ac rs 0x31415927, imm 0x00000009
+srl $t0, $t1, 0x0000000A :: rt 0x000c5056 rs 0x31415927, imm 0x0000000a
+srl $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x0000000a
+srl $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+srl $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+srl $t0, $t1, 16 :: rt 0x00000001 rs 0x00010000, imm 0x00000010
+srl $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+srl $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+srl $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SRLV
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x0c505649 rs 0x31415927, rt 0x00000002
+srlv $t0, $t1, $t2 :: rd 0x00006282 rs 0x31415927, rt 0x0000000f
+srlv $t0, $t1, $t2 :: rd 0x00003141 rs 0x31415927, rt 0x00000010
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+srlv $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000021
+srlv $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00044000 rs 0x00088000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00010000, rt 0x00000010
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SUBU
+subu $t0, $t1, $t2 :: rd 0x31415926 rs 0x31415927, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x31414817 rs 0x31415927, rt 0x00001110
+subu $t0, $t1, $t2 :: rd 0xffffff01 rs 0x00000000, rt 0x000000ff
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x80000001 rs 0x80000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x81000000 rs 0x80000000, rt 0xff000000
+subu $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+subu $t0, $t1, $t2 :: rd 0x31415928 rs 0x31415927, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x43406b27 rs 0x31415927, rt 0xee00ee00
+subu $t0, $t1, $t2 :: rd 0xffffff01 rs 0x00000000, rt 0x000000ff
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x81000000 rs 0x80000000, rt 0xff000000
+subu $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+subu $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x31415926 rs 0x31415927, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x31415925 rs 0x31415927, rt 0x00000002
+subu $t0, $t1, $t2 :: rd 0x31415918 rs 0x31415927, rt 0x0000000f
+subu $t0, $t1, $t2 :: rd 0x31415917 rs 0x31415927, rt 0x00000010
+subu $t0, $t1, $t2 :: rd 0x31415908 rs 0x31415927, rt 0x0000001f
+subu $t0, $t1, $t2 :: rd 0x31415907 rs 0x31415927, rt 0x00000020
+subu $t0, $t1, $t2 :: rd 0x31415906 rs 0x31415927, rt 0x00000021
+subu $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00087fff rs 0x00088000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x00087fe1 rs 0x00088000, rt 0x0000001f
+subu $t0, $t1, $t2 :: rd 0x0000fff0 rs 0x00010000, rt 0x00000010
+subu $t0, $t1, $t2 :: rd 0x0000ffef rs 0x00010000, rt 0x00000011
+subu $t0, $t1, $t2 :: rd 0x0000ffee rs 0x00010000, rt 0x00000012
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SUB
+subu $t0, $t1, $t2 :: rd 0x31415928 rs 0x31415927, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x0a2941ff rs 0x31415927, rt 0x27181728
+subu $t0, $t1, $t2 :: rd 0x9a2941ff rs 0x31415927, rt 0x97181728
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+XOR
+xor $t0, $t1, $t2 :: rd 0xcebea6d8 rs 0x31415927, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0xdf41b727 rs 0x31415927, rt 0xee00ee00
+xor $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7f000000 rs 0x80000000, rt 0xff000000
+xor $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+xor $t0, $t1, $t2 :: rd 0xcebea6d8 rs 0x31415927, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0xdf41b727 rs 0x31415927, rt 0xee00ee00
+xor $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7f000000 rs 0x80000000, rt 0xff000000
+xor $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+XORI
+xori $t0, $t1, 0xffff :: rt 0x3141a6d8 rs 0x31415927, imm 0x0000ffff
+xori $t0, $t1, 0xee00 :: rt 0x3141b727 rs 0x31415927, imm 0x0000ee00
+xori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+xori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+xori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+xori $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0x8000 :: rt 0x7fff7fff rs 0x7fffffff, imm 0x00008000
+xori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+xori $t0, $t1, 0x0dd0 :: rt 0x7ffff22f rs 0x7fffffff, imm 0x00000dd0
+xori $t0, $t1, 0xffff :: rt 0x3141a6d8 rs 0x31415927, imm 0x0000ffff
+xori $t0, $t1, 0xee00 :: rt 0x3141b727 rs 0x31415927, imm 0x0000ee00
+xori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+xori $t0, $t1, 0 :: rt 0x00000001 rs 0x00000001, imm 0x00000000
+xori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+xori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x00008000 rs 0x00000000, imm 0x00008000
+xori $t0, $t1, 0 :: rt 0x00008000 rs 0x00008000, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0x8000 :: rt 0x7fff7fff rs 0x7fffffff, imm 0x00008000
+xori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+xori $t0, $t1, 0x0dd0 :: rt 0x7ffff22f rs 0x7fffffff, imm 0x00000dd0
+xori $t0, $t1, 0 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+xori $t0, $t1, 0xffff :: rt 0x0000ffff rs 0x00000000, imm 0x0000ffff
+xori $t0, $t1, 0xffff :: rt 0xffff0000 rs 0xffffffff, imm 0x0000ffff
+xori $t0, $t1, 0x7fff :: rt 0x7fff8000 rs 0x7fffffff, imm 0x00007fff
+xori $t0, $t1, 0x0000 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+MFHI MFLO
+mfhi mflo :: HI: 0x31415927, LO: 0x31415926
+mfhi mflo :: HI: 0x0, LO: 0xffffffff
+mfhi mflo :: HI: 0xffffffff, LO: 0xfffffffe
+mfhi mflo :: HI: 0xffffffff, LO: 0xfffffffe
+mfhi mflo :: HI: 0x8000, LO: 0x7fff
+mfhi mflo :: HI: 0x80000000, LO: 0x7fffffff
+mfhi mflo :: HI: 0xffff, LO: 0xfffe
+mfhi mflo :: HI: 0x7fff, LO: 0x7ffe
+mfhi mflo :: HI: 0xdd0, LO: 0xdcf
+mfhi mflo :: HI: 0xff00, LO: 0xfeff
diff --git a/none/tests/mips32/MIPS32int.stdout.exp-mips32 b/none/tests/mips32/MIPS32int.stdout.exp-mips32
new file mode 100644
index 0000000..e7172e7
--- /dev/null
+++ b/none/tests/mips32/MIPS32int.stdout.exp-mips32
@@ -0,0 +1,1115 @@
+ADD
+add $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+add $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x00000002 rs 0x00000001, rt 0x00000001
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+add $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0xffffffff
+add $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x5859704f rs 0x31415927, rt 0x27181728
+add $t0, $t1, $t2 :: rd 0xc859704f rs 0x31415927, rt 0x97181728
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+add $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+add $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+ADDI
+addi $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+addi $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+addi $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000000
+addi $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000001
+addi $t0, $t1, -1 :: rt 0xffffffff rs 0x00000000, imm 0xffffffff
+addi $t0, $t1, -1 :: rt 0x00000000 rs 0x00000001, imm 0xffffffff
+addi $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+addi $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+addi $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+ADDIU
+addiu $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+addiu $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+addiu $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000000
+addiu $t0, $t1, 1 :: rt 0x00000002 rs 0x00000001, imm 0x00000001
+addiu $t0, $t1, -1 :: rt 0xffffffff rs 0x00000000, imm 0xffffffff
+addiu $t0, $t1, -1 :: rt 0x00000000 rs 0x00000001, imm 0xffffffff
+addiu $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+addiu $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+addiu $t0, $t1, 0 :: rt 0x80000000 rs 0x80000000, imm 0x00000000
+ADDU
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000002 rs 0x00000001, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x5859704f rs 0x31415927, rt 0x27181728
+addu $t0, $t1, $t2 :: rd 0xc859704f rs 0x31415927, rt 0x97181728
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+addu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+addu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+addu $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0x7fffffff
+addu $t0, $t1, $t2 :: rd 0xfffffffe rs 0x7fffffff, rt 0x7fffffff
+AND
+and $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x20004800 rs 0x31415927, rt 0xee00ee00
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+and $t0, $t1, $t2 :: rd 0x0dd00000 rs 0x7fffffff, rt 0x0dd00000
+and $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x20004800 rs 0x31415927, rt 0xee00ee00
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+and $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+and $t0, $t1, $t2 :: rd 0x0dd00000 rs 0x7fffffff, rt 0x0dd00000
+ANDI
+andi $t0, $t1, 1 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+andi $t0, $t1, 0 :: rt 0x00000000 rs 0x00000001, imm 0x00000000
+andi $t0, $t1, 1 :: rt 0x00000001 rs 0x00000001, imm 0x00000001
+andi $t0, $t1, 1 :: rt 0x00000001 rs 0x7fffffff, imm 0x00000000
+andi $t0, $t1, 0 :: rt 0x00000000 rs 0x80000000, imm 0x00000000
+andi $t0, $t1, 0x3145 :: rt 0x00003145 rs 0xffffffff, imm 0x00003145
+CLO
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000000
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000001
+clo  $t0, $t1 :: rd 0x00000000 rs 0x00000010
+clo  $t0, $t1 :: rd 0x00000020 rs 0xffffffff
+CLZ
+clz  $t0, $t1 :: rd 0x00000020 rs 0x00000000
+clz  $t0, $t1 :: rd 0x0000001f rs 0x00000001
+clz  $t0, $t1 :: rd 0x0000001b rs 0x00000010
+clz  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+DIV
+div  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x00000003 
+div  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x00000000 LO 0x00000001 
+div  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+div  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0xffffffff 
+div  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000002 LO 0x00000000 
+DIVU
+divu  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x00000003 
+divu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x00000000 LO 0x00000001 
+divu  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+divu  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000001 LO 0x00000000 
+divu  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000002 LO 0x00000000 
+divu  $t0, $t1 :: rs 0x00000000 rt 0x00000002 HI 0x00000000 LO 0x00000000 
+LB
+lb $t0, 0($t1) :: rt 0x0000001f
+lb $t0, 4($t1) :: rt 0x00000000
+lb $t0, 8($t1) :: rt 0x00000003
+lb $t0, 12($t1) :: rt 0xffffffff
+lb $t0, 16($t1) :: rt 0x0000002f
+lb $t0, 20($t1) :: rt 0x0000002b
+lb $t0, 24($t1) :: rt 0x0000002b
+lb $t0, 28($t1) :: rt 0x0000002a
+lb $t0, 32($t1) :: rt 0x0000003e
+lb $t0, 36($t1) :: rt 0x0000003c
+lb $t0, 40($t1) :: rt 0x0000003b
+lb $t0, 44($t1) :: rt 0x0000003a
+lb $t0, 48($t1) :: rt 0x00000045
+lb $t0, 52($t1) :: rt 0x00000046
+lb $t0, 56($t1) :: rt 0x0000004c
+lb $t0, 60($t1) :: rt 0x0000004c
+lb $t0, 64($t1) :: rt 0x00000041
+lb $t0, 2($t1) :: rt 0x0000001f
+lb $t0, 6($t1) :: rt 0x00000000
+lb $t0, 10($t1) :: rt 0x00000000
+lb $t0, 14($t1) :: rt 0xffffffff
+lb $t0, 18($t1) :: rt 0x0000002f
+lb $t0, 22($t1) :: rt 0x0000002c
+lb $t0, 26($t1) :: rt 0x0000002a
+lb $t0, 30($t1) :: rt 0x0000002d
+lb $t0, 34($t1) :: rt 0x00000034
+lb $t0, 38($t1) :: rt 0x00000035
+LBU
+lbu $t0, 0($t1) :: rt 0x0000001f
+lbu $t0, 4($t1) :: rt 0x00000000
+lbu $t0, 8($t1) :: rt 0x00000003
+lbu $t0, 12($t1) :: rt 0x000000ff
+lbu $t0, 16($t1) :: rt 0x0000002f
+lbu $t0, 20($t1) :: rt 0x0000002b
+lbu $t0, 24($t1) :: rt 0x0000002b
+lbu $t0, 28($t1) :: rt 0x0000002a
+lbu $t0, 32($t1) :: rt 0x0000003e
+lbu $t0, 36($t1) :: rt 0x0000003c
+lbu $t0, 40($t1) :: rt 0x0000003b
+lbu $t0, 44($t1) :: rt 0x0000003a
+lbu $t0, 48($t1) :: rt 0x00000045
+lbu $t0, 52($t1) :: rt 0x00000046
+lbu $t0, 56($t1) :: rt 0x0000004c
+lbu $t0, 60($t1) :: rt 0x0000004c
+lbu $t0, 64($t1) :: rt 0x00000041
+lbu $t0, 2($t1) :: rt 0x0000001f
+lbu $t0, 6($t1) :: rt 0x00000000
+lbu $t0, 10($t1) :: rt 0x00000000
+lbu $t0, 14($t1) :: rt 0x000000ff
+lbu $t0, 18($t1) :: rt 0x0000002f
+lbu $t0, 22($t1) :: rt 0x0000002c
+lbu $t0, 26($t1) :: rt 0x0000002a
+lbu $t0, 30($t1) :: rt 0x0000002d
+lbu $t0, 34($t1) :: rt 0x00000034
+lbu $t0, 38($t1) :: rt 0x00000035
+LH
+lh $t0, 0($t1) :: rt 0x00001e1f
+lh $t0, 4($t1) :: rt 0x00000000
+lh $t0, 8($t1) :: rt 0x00000003
+lh $t0, 12($t1) :: rt 0xffffffff
+lh $t0, 16($t1) :: rt 0x00002e2f
+lh $t0, 20($t1) :: rt 0x00002b2b
+lh $t0, 24($t1) :: rt 0x00002e2b
+lh $t0, 28($t1) :: rt 0x00002d2a
+lh $t0, 32($t1) :: rt 0x00003f3e
+lh $t0, 36($t1) :: rt 0x00003d3c
+lh $t0, 40($t1) :: rt 0x00003c3b
+lh $t0, 44($t1) :: rt 0x00003b3a
+lh $t0, 48($t1) :: rt 0x00004e45
+lh $t0, 52($t1) :: rt 0x00004d46
+lh $t0, 56($t1) :: rt 0x0000474c
+lh $t0, 60($t1) :: rt 0x00004a4c
+lh $t0, 64($t1) :: rt 0x00004441
+lh $t0, 2($t1) :: rt 0x0000121f
+lh $t0, 6($t1) :: rt 0x00000000
+lh $t0, 10($t1) :: rt 0x00000000
+lh $t0, 14($t1) :: rt 0xffffffff
+lh $t0, 18($t1) :: rt 0x0000232f
+lh $t0, 22($t1) :: rt 0x0000242c
+lh $t0, 26($t1) :: rt 0x0000252a
+lh $t0, 30($t1) :: rt 0x0000262d
+lh $t0, 34($t1) :: rt 0x00003f34
+lh $t0, 38($t1) :: rt 0x00003e35
+LHU
+lhu $t0, 0($t1) :: rt 0x00001e1f
+lhu $t0, 4($t1) :: rt 0x00000000
+lhu $t0, 8($t1) :: rt 0x00000003
+lhu $t0, 12($t1) :: rt 0x0000ffff
+lhu $t0, 16($t1) :: rt 0x00002e2f
+lhu $t0, 20($t1) :: rt 0x00002b2b
+lhu $t0, 24($t1) :: rt 0x00002e2b
+lhu $t0, 28($t1) :: rt 0x00002d2a
+lhu $t0, 32($t1) :: rt 0x00003f3e
+lhu $t0, 36($t1) :: rt 0x00003d3c
+lhu $t0, 40($t1) :: rt 0x00003c3b
+lhu $t0, 44($t1) :: rt 0x00003b3a
+lhu $t0, 48($t1) :: rt 0x00004e45
+lhu $t0, 52($t1) :: rt 0x00004d46
+lhu $t0, 56($t1) :: rt 0x0000474c
+lhu $t0, 60($t1) :: rt 0x00004a4c
+lhu $t0, 64($t1) :: rt 0x00004441
+lhu $t0, 2($t1) :: rt 0x0000121f
+lhu $t0, 6($t1) :: rt 0x00000000
+lhu $t0, 10($t1) :: rt 0x00000000
+lhu $t0, 14($t1) :: rt 0x0000ffff
+lhu $t0, 18($t1) :: rt 0x0000232f
+lhu $t0, 22($t1) :: rt 0x0000242c
+lhu $t0, 26($t1) :: rt 0x0000252a
+lhu $t0, 30($t1) :: rt 0x0000262d
+lhu $t0, 34($t1) :: rt 0x00003f34
+lhu $t0, 38($t1) :: rt 0x00003e35
+LUI
+lui  $t0, 0xffff :: rd 0xffff0000 rs 0x0000ffff
+lui  $t0, 0xff00 :: rd 0xff000000 rs 0x0000ff00
+lui  $t0, 0xff :: rd 0x00ff0000 rs 0x000000ff
+lui  $t0, 0x0 :: rd 0x00000000 rs 0x00000000
+lui  $t0, 0x5 :: rd 0x00050000 rs 0x00000005
+lui  $t0, 0x387 :: rd 0x03870000 rs 0x00000387
+LW
+lw $t0, 0($t1) :: rt 0x121f1e1f
+lw $t0, 4($t1) :: rt 0x00000000
+lw $t0, 8($t1) :: rt 0x00000003
+lw $t0, 12($t1) :: rt 0xffffffff
+lw $t0, 16($t1) :: rt 0x232f2e2f
+lw $t0, 20($t1) :: rt 0x242c2b2b
+lw $t0, 24($t1) :: rt 0x252a2e2b
+lw $t0, 28($t1) :: rt 0x262d2d2a
+lw $t0, 32($t1) :: rt 0x3f343f3e
+lw $t0, 36($t1) :: rt 0x3e353d3c
+lw $t0, 40($t1) :: rt 0x363a3c3b
+lw $t0, 44($t1) :: rt 0x3b373b3a
+lw $t0, 48($t1) :: rt 0x454f4e45
+lw $t0, 52($t1) :: rt 0x4e464d46
+lw $t0, 56($t1) :: rt 0x474d474c
+lw $t0, 60($t1) :: rt 0x4a484a4c
+lw $t0, 64($t1) :: rt 0x00444441
+lw $t0, 2($t1) :: rt 0x0000121f
+lw $t0, 6($t1) :: rt 0x00030000
+lw $t0, 10($t1) :: rt 0xffff0000
+lw $t0, 14($t1) :: rt 0x2e2fffff
+lw $t0, 18($t1) :: rt 0x2b2b232f
+lw $t0, 22($t1) :: rt 0x2e2b242c
+lw $t0, 26($t1) :: rt 0x2d2a252a
+lw $t0, 30($t1) :: rt 0x3f3e262d
+lw $t0, 34($t1) :: rt 0x3d3c3f34
+lw $t0, 38($t1) :: rt 0x3c3b3e35
+LWL
+lwl $t0, 0($t1) :: rt 0x1f000000
+lwl $t0, 4($t1) :: rt 0x00000000
+lwl $t0, 8($t1) :: rt 0x03000000
+lwl $t0, 12($t1) :: rt 0xff000000
+lwl $t0, 16($t1) :: rt 0x2f000000
+lwl $t0, 20($t1) :: rt 0x2b000000
+lwl $t0, 24($t1) :: rt 0x2b000000
+lwl $t0, 28($t1) :: rt 0x2a000000
+lwl $t0, 32($t1) :: rt 0x3e000000
+lwl $t0, 36($t1) :: rt 0x3c000000
+lwl $t0, 40($t1) :: rt 0x3b000000
+lwl $t0, 44($t1) :: rt 0x3a000000
+lwl $t0, 48($t1) :: rt 0x45000000
+lwl $t0, 52($t1) :: rt 0x46000000
+lwl $t0, 56($t1) :: rt 0x4c000000
+lwl $t0, 60($t1) :: rt 0x4c000000
+lwl $t0, 64($t1) :: rt 0x41000000
+lwl $t0, 2($t1) :: rt 0x1f1e1f00
+lwl $t0, 6($t1) :: rt 0x00000000
+lwl $t0, 10($t1) :: rt 0x00000300
+lwl $t0, 14($t1) :: rt 0xffffff00
+lwl $t0, 18($t1) :: rt 0x2f2e2f00
+lwl $t0, 22($t1) :: rt 0x2c2b2b00
+lwl $t0, 26($t1) :: rt 0x2a2e2b00
+lwl $t0, 30($t1) :: rt 0x2d2d2a00
+lwl $t0, 34($t1) :: rt 0x343f3e00
+lwl $t0, 38($t1) :: rt 0x353d3c00
+LWR
+lwr $t0, 0($t1) :: rt 0x121f1e1f
+lwr $t0, 4($t1) :: rt 0x00000000
+lwr $t0, 8($t1) :: rt 0x00000003
+lwr $t0, 12($t1) :: rt 0xffffffff
+lwr $t0, 16($t1) :: rt 0x232f2e2f
+lwr $t0, 20($t1) :: rt 0x242c2b2b
+lwr $t0, 24($t1) :: rt 0x252a2e2b
+lwr $t0, 28($t1) :: rt 0x262d2d2a
+lwr $t0, 32($t1) :: rt 0x3f343f3e
+lwr $t0, 36($t1) :: rt 0x3e353d3c
+lwr $t0, 40($t1) :: rt 0x363a3c3b
+lwr $t0, 44($t1) :: rt 0x3b373b3a
+lwr $t0, 48($t1) :: rt 0x454f4e45
+lwr $t0, 52($t1) :: rt 0x4e464d46
+lwr $t0, 56($t1) :: rt 0x474d474c
+lwr $t0, 60($t1) :: rt 0x4a484a4c
+lwr $t0, 64($t1) :: rt 0x00444441
+lwr $t0, 2($t1) :: rt 0x0000121f
+lwr $t0, 6($t1) :: rt 0x00000000
+lwr $t0, 10($t1) :: rt 0x00000000
+lwr $t0, 14($t1) :: rt 0x0000ffff
+lwr $t0, 18($t1) :: rt 0x0000232f
+lwr $t0, 22($t1) :: rt 0x0000242c
+lwr $t0, 26($t1) :: rt 0x0000252a
+lwr $t0, 30($t1) :: rt 0x0000262d
+lwr $t0, 34($t1) :: rt 0x00003f34
+lwr $t0, 38($t1) :: rt 0x00003e35
+MADD
+madd  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c 
+madd  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48 
+madd  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0x00000000 LO 0x00017fe8 
+madd  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+madd  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0xffffffff LO 0xffffffff 
+madd  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0xffffffff LO 0xffffffff 
+madd  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000000 LO 0x0000000c 
+madd  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0x00000000 LO 0x0011c98e 
+MADDU
+maddu  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0x00000000 LO 0x0000000c 
+maddu  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0x00000000 LO 0x00000d48 
+maddu  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0x00000000 LO 0x00017fe8 
+maddu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+maddu  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0xffffffff 
+maddu  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0xffffffff 
+maddu  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0x00000000 LO 0x0000000c 
+maddu  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0x00000000 LO 0x0011c98e 
+MOVN
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+movn $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+movn $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000001
+movn $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+MOVZ
+movz $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+movz $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+movz $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000001
+movz $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+MSUB
+msub  $t0, $t1 :: rs 0x00000006 rt 0x00000002 HI 0xffffffff LO 0xfffffff4 
+msub  $t0, $t1 :: rs 0x00000055 rt 0x00000028 HI 0xffffffff LO 0xfffff2b8 
+msub  $t0, $t1 :: rs 0x00000018 rt 0x00000fff HI 0xffffffff LO 0xfffe8018 
+msub  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0xc0000000 LO 0xffffffff 
+msub  $t0, $t1 :: rs 0xffffffff rt 0x00000001 HI 0x00000000 LO 0x00000001 
+msub  $t0, $t1 :: rs 0x00000001 rt 0xffffffff HI 0x00000000 LO 0x00000001 
+msub  $t0, $t1 :: rs 0x00000002 rt 0x00000006 HI 0xffffffff LO 0xfffffff4 
+msub  $t0, $t1 :: rs 0x00000356 rt 0x00000555 HI 0xffffffff LO 0xffee3672 
+MSUBU
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xcebea6d9 LO 0x31415927 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xd2351152 LO 0xfd1dbe00 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x80000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x80800000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0xf9180000 LO 0x0dd00000 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xcebea6d9 LO 0x31415927 
+msubu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xd2351152 LO 0xfd1dbe00 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0xc0000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+msubu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x80800000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0xf9180000 LO 0x0dd00000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+msubu  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0x00000001 LO 0xffffffff 
+msubu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0xc0000000 LO 0xffffffff 
+msubu  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0xffffffff LO 0x0001ffff 
+MUL
+mul $t0, $t1, $t2 :: rd 0xcebea6d9 rs 0x31415927, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x02e24200 rs 0x31415927, rt 0xee00ee00
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xff000000
+mul $t0, $t1, $t2 :: rd 0xf2300000 rs 0x7fffffff, rt 0x0dd00000
+mul $t0, $t1, $t2 :: rd 0xcebea6d9 rs 0x31415927, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x02e24200 rs 0x31415927, rt 0xee00ee00
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x80000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xff000000
+mul $t0, $t1, $t2 :: rd 0xf2300000 rs 0x7fffffff, rt 0x0dd00000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+mul $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+mul $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x7fffffff
+mul $t0, $t1, $t2 :: rd 0xfffe0001 rs 0x0000ffff, rt 0x0000ffff
+MULT
+mult  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xffffffff LO 0xcebea6d9 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xfc899586 LO 0x02e24200 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x00000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x00800000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0xffffffff LO 0xcebea6d9 
+mult  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0xfc899586 LO 0x02e24200 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0xc0000000 LO 0x80000000 
+mult  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x00800000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+mult  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0x00000000 LO 0x00000001 
+mult  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+mult  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0x00000000 LO 0xfffe0001 
+MULTU
+multu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0x31415926 LO 0xcebea6d9 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0x2dcaeead LO 0x02e24200 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xffffffff HI 0x7fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0x3fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x7f800000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xffffffff HI 0x31415926 LO 0xcebea6d9 
+multu  $t0, $t1 :: rs 0x31415927 rt 0xee00ee00 HI 0x2dcaeead LO 0x02e24200 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x000000ff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000001 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x00000001 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0x80000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0x80000000 HI 0x40000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x80000000 HI 0x3fffffff LO 0x80000000 
+multu  $t0, $t1 :: rs 0x80000000 rt 0xff000000 HI 0x7f800000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x0dd00000 HI 0x06e7ffff LO 0xf2300000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0x00000000 HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0x00000000 rt 0xffffffff HI 0x00000000 LO 0x00000000 
+multu  $t0, $t1 :: rs 0xffffffff rt 0xffffffff HI 0xfffffffe LO 0x00000001 
+multu  $t0, $t1 :: rs 0x7fffffff rt 0x7fffffff HI 0x3fffffff LO 0x00000001 
+multu  $t0, $t1 :: rs 0x0000ffff rt 0x0000ffff HI 0x00000000 LO 0xfffe0001 
+NOR
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00be00d8 rs 0x31415927, rt 0xee00ee00
+nor $t0, $t1, $t2 :: rd 0xffffff00 rs 0x00000000, rt 0x000000ff
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000000, rt 0x00000001
+nor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00ffffff rs 0x80000000, rt 0xff000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x0dd00000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00be00d8 rs 0x31415927, rt 0xee00ee00
+nor $t0, $t1, $t2 :: rd 0xffffff00 rs 0x00000000, rt 0x000000ff
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000001, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0xfffffffe rs 0x00000000, rt 0x00000001
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x00000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+nor $t0, $t1, $t2 :: rd 0x00ffffff rs 0x80000000, rt 0xff000000
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x0dd00000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+nor $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x7fffffff
+nor $t0, $t1, $t2 :: rd 0xffff0000 rs 0x0000ffff, rt 0x0000ffff
+NOT
+not  $t0, $t1 :: rd 0xfffffffd rs 0x00000002
+not  $t0, $t1 :: rd 0xffffffd7 rs 0x00000028
+not  $t0, $t1 :: rd 0x00000101 rs 0xfffffefe
+not  $t0, $t1 :: rd 0x80000000 rs 0x7fffffff
+not  $t0, $t1 :: rd 0x0000000a rs 0xfffffff5
+not  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+not  $t0, $t1 :: rd 0xffffffe9 rs 0x00000016
+not  $t0, $t1 :: rd 0x00000000 rs 0xffffffff
+NEGU
+negu  $t0, $t1 :: rd 0xfffffffe rs 0x00000002
+negu  $t0, $t1 :: rd 0xffffffd8 rs 0x00000028
+negu  $t0, $t1 :: rd 0x00000102 rs 0xfffffefe
+negu  $t0, $t1 :: rd 0x80000001 rs 0x7fffffff
+negu  $t0, $t1 :: rd 0x0000000b rs 0xfffffff5
+negu  $t0, $t1 :: rd 0x00000001 rs 0xffffffff
+negu  $t0, $t1 :: rd 0xffffffea rs 0x00000016
+negu  $t0, $t1 :: rd 0x00000001 rs 0xffffffff
+OR
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x31415927, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xff41ff27 rs 0x31415927, rt 0xee00ee00
+or $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+or $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xff000000 rs 0x80000000, rt 0xff000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x31415927, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xff41ff27 rs 0x31415927, rt 0xee00ee00
+or $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+or $t0, $t1, $t2 :: rd 0xff000000 rs 0x80000000, rt 0xff000000
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+or $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x7fffffff
+or $t0, $t1, $t2 :: rd 0x0000ffff rs 0x0000ffff, rt 0x0000ffff
+ORI
+ori $t0, $t1, 0xffff :: rt 0x3141ffff rs 0x31415927, imm 0x0000ffff
+ori $t0, $t1, 0xee00 :: rt 0x3141ff27 rs 0x31415927, imm 0x0000ee00
+ori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+ori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+ori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+ori $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0x8000 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00008000
+ori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+ori $t0, $t1, 0x0dd0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000dd0
+ori $t0, $t1, 0xffff :: rt 0x3141ffff rs 0x31415927, imm 0x0000ffff
+ori $t0, $t1, 0xee00 :: rt 0x3141ff27 rs 0x31415927, imm 0x0000ee00
+ori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+ori $t0, $t1, 0 :: rt 0x00000001 rs 0x00000001, imm 0x00000000
+ori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+ori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x00008000 rs 0x00000000, imm 0x00008000
+ori $t0, $t1, 0 :: rt 0x00008000 rs 0x00008000, imm 0x00000000
+ori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+ori $t0, $t1, 0x8000 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00008000
+ori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+ori $t0, $t1, 0x0dd0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000dd0
+ori $t0, $t1, 0 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+ori $t0, $t1, 0xffff :: rt 0x0000ffff rs 0x00000000, imm 0x0000ffff
+ori $t0, $t1, 0xffff :: rt 0xffffffff rs 0xffffffff, imm 0x0000ffff
+ori $t0, $t1, 0x7fff :: rt 0x7fffffff rs 0x7fffffff, imm 0x00007fff
+ori $t0, $t1, 0x0000 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+SLL
+sll $t0, $t1, 0x00000000 :: rt 0x31415927 rs 0x31415927, imm 0x00000000
+sll $t0, $t1, 0x00000001 :: rt 0x6282b24e rs 0x31415927, imm 0x00000001
+sll $t0, $t1, 0x00000002 :: rt 0xc505649c rs 0x31415927, imm 0x00000002
+sll $t0, $t1, 0x0000000F :: rt 0xac938000 rs 0x31415927, imm 0x0000000f
+sll $t0, $t1, 0x00000010 :: rt 0x59270000 rs 0x31415927, imm 0x00000010
+sll $t0, $t1, 0x0000001F :: rt 0x80000000 rs 0x31415927, imm 0x0000001f
+sll $t0, $t1, 0x00000009 :: rt 0x82b24e00 rs 0x31415927, imm 0x00000009
+sll $t0, $t1, 0x0000000A :: rt 0x05649c00 rs 0x31415927, imm 0x0000000a
+sll $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x00000000
+sll $t0, $t1, 0x00000001 :: rt 0x00110000 rs 0x00088000, imm 0x00000001
+sll $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sll $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+sll $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sll $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sll $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLLV
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+sllv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+sllv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+sllv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0xffffffff, rt 0xffffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x7fffffff, rt 0x7fffffff
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x0000ffff, rt 0x0000ffff
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0xc505649c rs 0x31415927, rt 0x00000002
+sllv $t0, $t1, $t2 :: rd 0xac938000 rs 0x31415927, rt 0x0000000f
+sllv $t0, $t1, $t2 :: rd 0x59270000 rs 0x31415927, rt 0x00000010
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x31415927, rt 0x0000001f
+sllv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+sllv $t0, $t1, $t2 :: rd 0x6282b24e rs 0x31415927, rt 0x00000021
+sllv $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x00110000 rs 0x00088000, rt 0x00000001
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+sllv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sllv $t0, $t1, $t2 :: rd 0x80000000 rs 0x0000ffff, rt 0x0000ffff
+SLT
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xee00ee00
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x80000000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+slt $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000002
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000000f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000010
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000020
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000021
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000001
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+slt $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SLTI
+slti $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00000001, imm 0x31415927
+slti $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x31415927, imm 0x00000001
+slti $t0, $t1, 0x00000002 :: rt 0x00000000 rs 0x31415927, imm 0x00000002
+slti $t0, $t1, 0x0000000F :: rt 0x00000000 rs 0x31415927, imm 0x0000000f
+slti $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+slti $t0, $t1, 0x0000001F :: rt 0x00000001 rs 0x00000010, imm 0x31415927
+slti $t0, $t1, 0x00000009 :: rt 0x00000000 rs 0x31415927, imm 0x00000009
+slti $t0, $t1, 0x0000000A :: rt 0x00000000 rs 0x31415927, imm 0x0000000a
+slti $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00088000, imm 0x0000000a
+slti $t0, $t1, 0x00000001 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+slti $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+slti $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+slti $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+slti $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+slti $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLTIU
+sltiu $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00000001, imm 0x31415927
+sltiu $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x31415927, imm 0x00000001
+sltiu $t0, $t1, 0x00000002 :: rt 0x00000000 rs 0x31415927, imm 0x00000002
+sltiu $t0, $t1, 0x0000000F :: rt 0x00000000 rs 0x31415927, imm 0x0000000f
+sltiu $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+sltiu $t0, $t1, 0x0000001F :: rt 0x00000001 rs 0x00000010, imm 0x31415927
+sltiu $t0, $t1, 0x00000009 :: rt 0x00000000 rs 0x31415927, imm 0x00000009
+sltiu $t0, $t1, 0x0000000A :: rt 0x00000000 rs 0x31415927, imm 0x0000000a
+sltiu $t0, $t1, 0x00000000 :: rt 0x00000000 rs 0x00088000, imm 0x0000000a
+sltiu $t0, $t1, 0x00000001 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+sltiu $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sltiu $t0, $t1, 16 :: rt 0x00000000 rs 0x00010000, imm 0x00000010
+sltiu $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sltiu $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sltiu $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SLTU
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xee00ee00
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x31415927, rt 0xee00ee00
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x000000ff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000001, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x7fffffff, rt 0x80000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xff000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x0dd00000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000002
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000000f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000010
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000020
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x00000021
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x00000001
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000010
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+sltu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SRA
+sra $t0, $t1, 0x00000000 :: rt 0x00000001 rs 0x00000001, imm 0x31415927
+sra $t0, $t1, 0x00000001 :: rt 0x18a0ac93 rs 0x31415927, imm 0x00000001
+sra $t0, $t1, 0x00000002 :: rt 0x0c505649 rs 0x31415927, imm 0x00000002
+sra $t0, $t1, 0x0000000F :: rt 0x00006282 rs 0x31415927, imm 0x0000000f
+sra $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+sra $t0, $t1, 0x0000001F :: rt 0x00000000 rs 0x00000010, imm 0x31415927
+sra $t0, $t1, 0x00000009 :: rt 0x0018a0ac rs 0x31415927, imm 0x00000009
+sra $t0, $t1, 0x0000000A :: rt 0x000c5056 rs 0x31415927, imm 0x0000000a
+sra $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x0000000a
+sra $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+sra $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+sra $t0, $t1, 16 :: rt 0x00000001 rs 0x00010000, imm 0x00000010
+sra $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+sra $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+sra $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SRAV
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0x80000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srav $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srav $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srav $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0xffffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x0c505649 rs 0x31415927, rt 0x00000002
+srav $t0, $t1, $t2 :: rd 0x00006282 rs 0x31415927, rt 0x0000000f
+srav $t0, $t1, $t2 :: rd 0x00003141 rs 0x31415927, rt 0x00000010
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+srav $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+srav $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000021
+srav $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00044000 rs 0x00088000, rt 0x00000001
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+srav $t0, $t1, $t2 :: rd 0x00000001 rs 0x00010000, rt 0x00000010
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srav $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SRL
+srl $t0, $t1, 0x00000000 :: rt 0x00000001 rs 0x00000001, imm 0x31415927
+srl $t0, $t1, 0x00000001 :: rt 0x18a0ac93 rs 0x31415927, imm 0x00000001
+srl $t0, $t1, 0x00000002 :: rt 0x0c505649 rs 0x31415927, imm 0x00000002
+srl $t0, $t1, 0x0000000F :: rt 0x00006282 rs 0x31415927, imm 0x0000000f
+srl $t0, $t1, 0x00000010 :: rt 0x00000000 rs 0x00000010, imm 0x00000010
+srl $t0, $t1, 0x0000001F :: rt 0x00000000 rs 0x00000010, imm 0x31415927
+srl $t0, $t1, 0x00000009 :: rt 0x0018a0ac rs 0x31415927, imm 0x00000009
+srl $t0, $t1, 0x0000000A :: rt 0x000c5056 rs 0x31415927, imm 0x0000000a
+srl $t0, $t1, 0x00000000 :: rt 0x00088000 rs 0x00088000, imm 0x0000000a
+srl $t0, $t1, 0x00000001 :: rt 0x00000000 rs 0x00000000, imm 0x00000001
+srl $t0, $t1, 31 :: rt 0x00000000 rs 0x00088000, imm 0x0000001f
+srl $t0, $t1, 16 :: rt 0x00000001 rs 0x00010000, imm 0x00000010
+srl $t0, $t1, 17 :: rt 0x00000000 rs 0x00010000, imm 0x00000011
+srl $t0, $t1, 18 :: rt 0x00000000 rs 0x00010000, imm 0x00000012
+srl $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+SRLV
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0xee00ee00
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x000000ff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x80000000
+srlv $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0xff000000
+srlv $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x0dd00000
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srlv $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0xffffffff, rt 0xffffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x0c505649 rs 0x31415927, rt 0x00000002
+srlv $t0, $t1, $t2 :: rd 0x00006282 rs 0x31415927, rt 0x0000000f
+srlv $t0, $t1, $t2 :: rd 0x00003141 rs 0x31415927, rt 0x00000010
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x31415927, rt 0x0000001f
+srlv $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000020
+srlv $t0, $t1, $t2 :: rd 0x18a0ac93 rs 0x31415927, rt 0x00000021
+srlv $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00044000 rs 0x00088000, rt 0x00000001
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00088000, rt 0x0000001f
+srlv $t0, $t1, $t2 :: rd 0x00000001 rs 0x00010000, rt 0x00000010
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000011
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00010000, rt 0x00000012
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+srlv $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SUBU
+subu $t0, $t1, $t2 :: rd 0x31415926 rs 0x31415927, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x31414817 rs 0x31415927, rt 0x00001110
+subu $t0, $t1, $t2 :: rd 0xffffff01 rs 0x00000000, rt 0x000000ff
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x80000001 rs 0x80000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x81000000 rs 0x80000000, rt 0xff000000
+subu $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+subu $t0, $t1, $t2 :: rd 0x31415928 rs 0x31415927, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x43406b27 rs 0x31415927, rt 0xee00ee00
+subu $t0, $t1, $t2 :: rd 0xffffff01 rs 0x00000000, rt 0x000000ff
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x81000000 rs 0x80000000, rt 0xff000000
+subu $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+subu $t0, $t1, $t2 :: rd 0x31415927 rs 0x31415927, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x31415926 rs 0x31415927, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x31415925 rs 0x31415927, rt 0x00000002
+subu $t0, $t1, $t2 :: rd 0x31415918 rs 0x31415927, rt 0x0000000f
+subu $t0, $t1, $t2 :: rd 0x31415917 rs 0x31415927, rt 0x00000010
+subu $t0, $t1, $t2 :: rd 0x31415908 rs 0x31415927, rt 0x0000001f
+subu $t0, $t1, $t2 :: rd 0x31415907 rs 0x31415927, rt 0x00000020
+subu $t0, $t1, $t2 :: rd 0x31415906 rs 0x31415927, rt 0x00000021
+subu $t0, $t1, $t2 :: rd 0x00088000 rs 0x00088000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00087fff rs 0x00088000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0x00087fe1 rs 0x00088000, rt 0x0000001f
+subu $t0, $t1, $t2 :: rd 0x0000fff0 rs 0x00010000, rt 0x00000010
+subu $t0, $t1, $t2 :: rd 0x0000ffef rs 0x00010000, rt 0x00000011
+subu $t0, $t1, $t2 :: rd 0x0000ffee rs 0x00010000, rt 0x00000012
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+SUB
+subu $t0, $t1, $t2 :: rd 0x31415928 rs 0x31415927, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x0a2941ff rs 0x31415927, rt 0x27181728
+subu $t0, $t1, $t2 :: rd 0x9a2941ff rs 0x31415927, rt 0x97181728
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0x00000001
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0xffffffff
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+subu $t0, $t1, $t2 :: rd 0x00000001 rs 0x80000000, rt 0x7fffffff
+subu $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+XOR
+xor $t0, $t1, $t2 :: rd 0xcebea6d8 rs 0x31415927, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0xdf41b727 rs 0x31415927, rt 0xee00ee00
+xor $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x00000000, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x80000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7fffffff rs 0x7fffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7f000000 rs 0x80000000, rt 0xff000000
+xor $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+xor $t0, $t1, $t2 :: rd 0xcebea6d8 rs 0x31415927, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0xdf41b727 rs 0x31415927, rt 0xee00ee00
+xor $t0, $t1, $t2 :: rd 0x000000ff rs 0x00000000, rt 0x000000ff
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000001, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000001 rs 0x00000000, rt 0x00000001
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x80000000 rs 0x00000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x80000000 rs 0x80000000, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x80000000, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x7fffffff, rt 0x80000000
+xor $t0, $t1, $t2 :: rd 0x7f000000 rs 0x80000000, rt 0xff000000
+xor $t0, $t1, $t2 :: rd 0x722fffff rs 0x7fffffff, rt 0x0dd00000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0xffffffff, rt 0x00000000
+xor $t0, $t1, $t2 :: rd 0xffffffff rs 0x00000000, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0xffffffff, rt 0xffffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x7fffffff, rt 0x7fffffff
+xor $t0, $t1, $t2 :: rd 0x00000000 rs 0x0000ffff, rt 0x0000ffff
+XORI
+xori $t0, $t1, 0xffff :: rt 0x3141a6d8 rs 0x31415927, imm 0x0000ffff
+xori $t0, $t1, 0xee00 :: rt 0x3141b727 rs 0x31415927, imm 0x0000ee00
+xori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+xori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+xori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+xori $t0, $t1, 0 :: rt 0x00000000 rs 0x00000000, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0 :: rt 0x7fffffff rs 0x7fffffff, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0x8000 :: rt 0x7fff7fff rs 0x7fffffff, imm 0x00008000
+xori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+xori $t0, $t1, 0x0dd0 :: rt 0x7ffff22f rs 0x7fffffff, imm 0x00000dd0
+xori $t0, $t1, 0xffff :: rt 0x3141a6d8 rs 0x31415927, imm 0x0000ffff
+xori $t0, $t1, 0xee00 :: rt 0x3141b727 rs 0x31415927, imm 0x0000ee00
+xori $t0, $t1, 255 :: rt 0x000000ff rs 0x00000000, imm 0x000000ff
+xori $t0, $t1, 0 :: rt 0x00000001 rs 0x00000001, imm 0x00000000
+xori $t0, $t1, 1 :: rt 0x00000001 rs 0x00000000, imm 0x00000001
+xori $t0, $t1, 0 :: rt 0xffffffff rs 0xffffffff, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x00008000 rs 0x00000000, imm 0x00008000
+xori $t0, $t1, 0 :: rt 0x00008000 rs 0x00008000, imm 0x00000000
+xori $t0, $t1, 0x8000 :: rt 0x80008000 rs 0x80000000, imm 0x00008000
+xori $t0, $t1, 0x8000 :: rt 0x7fff7fff rs 0x7fffffff, imm 0x00008000
+xori $t0, $t1, 0xff00 :: rt 0x8000ff00 rs 0x80000000, imm 0x0000ff00
+xori $t0, $t1, 0x0dd0 :: rt 0x7ffff22f rs 0x7fffffff, imm 0x00000dd0
+xori $t0, $t1, 0 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+xori $t0, $t1, 0xffff :: rt 0x0000ffff rs 0x00000000, imm 0x0000ffff
+xori $t0, $t1, 0xffff :: rt 0xffff0000 rs 0xffffffff, imm 0x0000ffff
+xori $t0, $t1, 0x7fff :: rt 0x7fff8000 rs 0x7fffffff, imm 0x00007fff
+xori $t0, $t1, 0x0000 :: rt 0x0000ffff rs 0x0000ffff, imm 0x00000000
+MFHI MFLO
+mfhi mflo :: HI: 0x31415927, LO: 0x31415926
+mfhi mflo :: HI: 0x0, LO: 0xffffffff
+mfhi mflo :: HI: 0xffffffff, LO: 0xfffffffe
+mfhi mflo :: HI: 0xffffffff, LO: 0xfffffffe
+mfhi mflo :: HI: 0x8000, LO: 0x7fff
+mfhi mflo :: HI: 0x80000000, LO: 0x7fffffff
+mfhi mflo :: HI: 0xffff, LO: 0xfffe
+mfhi mflo :: HI: 0x7fff, LO: 0x7ffe
+mfhi mflo :: HI: 0xdd0, LO: 0xdcf
+mfhi mflo :: HI: 0xff00, LO: 0xfeff
diff --git a/none/tests/mips32/MIPS32int.vgtest b/none/tests/mips32/MIPS32int.vgtest
new file mode 100644
index 0000000..a4781ae
--- /dev/null
+++ b/none/tests/mips32/MIPS32int.vgtest
@@ -0,0 +1,2 @@
+prog: MIPS32int
+vgopts: -q
diff --git a/none/tests/mips32/Makefile.am b/none/tests/mips32/Makefile.am
new file mode 100644
index 0000000..5d23ab6
--- /dev/null
+++ b/none/tests/mips32/Makefile.am
@@ -0,0 +1,42 @@
+
+include $(top_srcdir)/Makefile.tool-tests.am
+
+dist_noinst_SCRIPTS = filter_stderr
+
+EXTRA_DIST = \
+	block_size.stdout.exp block_size.stderr.exp block_size.vgtest \
+	branches.stdout.exp branches.stderr.exp branches.vgtest \
+	FPUarithmetic.stdout.exp FPUarithmetic.stdout.exp-mips32 \
+	FPUarithmetic.stderr.exp FPUarithmetic.vgtest \
+	LoadStore.stdout.exp LoadStore.stdout.exp-BE LoadStore.stderr.exp \
+	LoadStore.vgtest \
+	LoadStore1.stdout.exp LoadStore1.stdout.exp-LE LoadStore1.stderr.exp \
+	LoadStore1.vgtest \
+	MemCpyTest.stdout.exp MemCpyTest.stderr.exp MemCpyTest.vgtest \
+	MIPS32int.stdout.exp MIPS32int.stdout.exp-BE MIPS32int.stdout.exp-mips32 \
+	MIPS32int.stderr.exp MIPS32int.vgtest \
+	MoveIns.stdout.exp MoveIns.stdout.exp-BE MoveIns.stderr.exp MoveIns.vgtest \
+	round.stdout.exp round.stderr.exp round.vgtest \
+	vfp.stdout.exp vfp.stdout.exp-BE vfp.stdout.exp-mips32 vfp.stderr.exp \
+	vfp.vgtest \
+	SignalException.stderr.exp SignalException.vgtest
+
+check_PROGRAMS = \
+	allexec \
+	block_size \
+	branches \
+	FPUarithmetic \
+	LoadStore \
+	LoadStore1 \
+	MemCpyTest \
+	MIPS32int \
+	MoveIns \
+	round \
+	vfp \
+	SignalException
+
+AM_CFLAGS    += @FLAG_M32@
+AM_CXXFLAGS  += @FLAG_M32@
+AM_CCASFLAGS += @FLAG_M32@
+
+allexec_CFLAGS          = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
diff --git a/none/tests/mips32/MemCpyTest.c b/none/tests/mips32/MemCpyTest.c
new file mode 100644
index 0000000..7e1a60b
--- /dev/null
+++ b/none/tests/mips32/MemCpyTest.c
@@ -0,0 +1,57 @@
+#include <stdio.h>
+
+unsigned int mem1[] = {
+   0x0485b210, 0x0485b190, 0x0485b1b0, 0x0485b260,
+   0x0485b280, 0x0485b400, 0x0485b420, 0x0485b2f0,
+   0x0485b300, 0x0485b3c0, 0x0485b3d0, 0x0485b470,
+   0x0485b490, 0x048608b0, 0x048608a0, 0x048601f0,
+   0x0485f240, 0x0485f1b0, 0x04860020, 0x0485f4d0,
+   0x0485fb00, 0x048607b0, 0x04860470, 0x04860440,
+   0x048606c0, 0x048604b0, 0x048605b0, 0x0485ac10,
+   0x0485a570, 0x0485ac90, 0x0485ae60, 0x0485bc10,
+   0x0485ba70, 0x0485c384, 0x0485df30, 0x0485ac00,
+   0x04861560, 0x04861680, 0x04863700, 0x048617dc,
+   0x0485e0d0, 0x0485e6a0, 0x0485ee80, 0x04860e10,
+   0x04860f20, 0x04860fd0, 0x04863300, 0x04863378,
+   0x0487b000, 0x04863490, 0x04858648, 0x0485810c,
+   0x04868eb0, 0x00000001, 0x00000000, 0x00000000,
+   0x00000000, 0x0487b010, 0x0487b010, 0x0487b018,
+   0x0487b018, 0xffffffff, 0xffffffff, 0x00000000,
+   0x00000000, 0x04019280, 0x84024238, 0x048572d0,
+   0x04883000, 0x0487b2cc, 0x0487af24, 0x04873000,
+   0x04853000, 0x04863000, 0x0487b2d8, 0x0487d340,
+   0x048665b0, 0x0487b2dc, 0x0487b2d0, 0x0487b2e8,
+   0x0485c384, 0x0485df30, 0x04857eb0, 0x048589f8,
+   0x048587e0, 0x0487b2fc, 0x048579c0, 0x0487b2f0,
+   0x0487b2e4, 0x0487b2d4, 0x04863490, 0x04868ef0,
+   0x04858c2c, 0x0487b000, 0x048639a0, 0x0487b340,
+   0x04858d68, 0x04858648, 0x04858f18, 0x04857978
+};
+
+unsigned int mem2[100];
+
+int main () 
+{
+   int i, out;
+   for (i = 0; i < 100; i++)
+      mem2[i] = 0;
+
+   __asm__ volatile(
+           "move $s0, %1\n\t" // s0 addr mem1
+           "move $a2, %2\n\t" // a2 addr mem2
+           " li $v0, 0\n\t"   // v0 counter
+           " li $a1, 0x190\n\t"  // a1 mem len
+           " begin:\n\t"
+           "addu $v1, $s0, $v0\n\t"
+           "lw $a0, 0($v1)\n\t"
+           "addu $v1, $a2, $v0\n\t"
+           "addiu $v0, $v0, 4\n\t"
+           "sw $a0, 0($v1)\n\t"
+           "bne $v0, $a1, begin\n\t"
+     : "=&r" (out)
+	 : "r" (mem1), "r" (mem2)
+     : "s0", "a1", "a2", "v0", "v1", "cc", "memory"
+   );
+   for (i = 0; i < 100; i = i+4)
+      printf("0x%x, 0x%x, 0x%x, 0x%x\n", mem2[i], mem2[i+1], mem2[i+2], mem2[i+3]);
+}
diff --git a/none/tests/mips32/MemCpyTest.stderr.exp b/none/tests/mips32/MemCpyTest.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips32/MemCpyTest.stderr.exp
diff --git a/none/tests/mips32/MemCpyTest.stdout.exp b/none/tests/mips32/MemCpyTest.stdout.exp
new file mode 100644
index 0000000..5047888
--- /dev/null
+++ b/none/tests/mips32/MemCpyTest.stdout.exp
@@ -0,0 +1,25 @@
+0x485b210, 0x485b190, 0x485b1b0, 0x485b260
+0x485b280, 0x485b400, 0x485b420, 0x485b2f0
+0x485b300, 0x485b3c0, 0x485b3d0, 0x485b470
+0x485b490, 0x48608b0, 0x48608a0, 0x48601f0
+0x485f240, 0x485f1b0, 0x4860020, 0x485f4d0
+0x485fb00, 0x48607b0, 0x4860470, 0x4860440
+0x48606c0, 0x48604b0, 0x48605b0, 0x485ac10
+0x485a570, 0x485ac90, 0x485ae60, 0x485bc10
+0x485ba70, 0x485c384, 0x485df30, 0x485ac00
+0x4861560, 0x4861680, 0x4863700, 0x48617dc
+0x485e0d0, 0x485e6a0, 0x485ee80, 0x4860e10
+0x4860f20, 0x4860fd0, 0x4863300, 0x4863378
+0x487b000, 0x4863490, 0x4858648, 0x485810c
+0x4868eb0, 0x1, 0x0, 0x0
+0x0, 0x487b010, 0x487b010, 0x487b018
+0x487b018, 0xffffffff, 0xffffffff, 0x0
+0x0, 0x4019280, 0x84024238, 0x48572d0
+0x4883000, 0x487b2cc, 0x487af24, 0x4873000
+0x4853000, 0x4863000, 0x487b2d8, 0x487d340
+0x48665b0, 0x487b2dc, 0x487b2d0, 0x487b2e8
+0x485c384, 0x485df30, 0x4857eb0, 0x48589f8
+0x48587e0, 0x487b2fc, 0x48579c0, 0x487b2f0
+0x487b2e4, 0x487b2d4, 0x4863490, 0x4868ef0
+0x4858c2c, 0x487b000, 0x48639a0, 0x487b340
+0x4858d68, 0x4858648, 0x4858f18, 0x4857978
diff --git a/none/tests/mips32/MemCpyTest.vgtest b/none/tests/mips32/MemCpyTest.vgtest
new file mode 100644
index 0000000..9bbebfe
--- /dev/null
+++ b/none/tests/mips32/MemCpyTest.vgtest
@@ -0,0 +1,2 @@
+prog: MemCpyTest
+vgopts: -q
diff --git a/none/tests/mips32/MoveIns.c b/none/tests/mips32/MoveIns.c
new file mode 100644
index 0000000..53ec672
--- /dev/null
+++ b/none/tests/mips32/MoveIns.c
@@ -0,0 +1,606 @@
+#include <stdio.h>
+
+const float fs_f[] = {
+   0, 456.2489562, 3, -1,
+   1384.6, -7.2945676, 1000000000, -5786.47,
+   1752, 0.0024575, 0.00000001, -248562.76,
+   -45786.476, 456.2489562, 34.00046, 45786.476,
+   1752065, 107, -45667.24, -7.2945676,
+   -347856.475, 356047.56, -1.0, 23.04
+};
+
+unsigned int mem[] = {
+   0x4095A266, 0x66666666,
+   0xBFF00000, 0x00000000,
+   0x3FF00000, 0x00000000,
+   0x252a2e2b, 0x262d2d2a,
+   0xFFFFFFFF, 0xFFFFFFFF,
+   0x41D26580, 0xB487E5C9,
+   0x42026580, 0xB750E388,
+   0x3E45798E, 0xE2308C3A,
+   0x3FBF9ADD, 0x3746F65F
+};
+
+// mfc1 rt, fs
+#define TESTINSNMOVE(instruction, offset, FS, RT) \
+{ \
+    float out; \
+    int out1; \
+   __asm__ volatile( \
+     "move $t0, %2\n\t" \
+     "lwc1 $" #FS ", "#offset"($t0)\n\t" \
+     instruction "\n\t" \
+     "mov.s %0, $" #FS"\n\t" \
+     "move %1, $" #RT "\n\t" \
+     : "=&f" (out), "=&r" (out1) \
+	 : "r" (mem) \
+	 : #RT, "cc", "memory" \
+	 ); \
+   printf("%s :: fs %f, rt 0x%x\n", \
+          instruction, out, out1); \
+}
+
+// mfhc1 rt, fs
+#define TESTINSNMOVEd(instruction, offset, FS, RT) \
+{ \
+    double out; \
+    int out1; \
+   __asm__ volatile( \
+     "move $t0, %2\n\t" \
+     "ldc1 $" #FS ", "#offset"($t0)\n\t" \
+     instruction "\n\t" \
+     "mov.d %0, $" #FS"\n\t" \
+     "move %1, $" #RT "\n\t" \
+     : "=&f" (out), "=&r" (out1) \
+	 : "r" (mem) \
+	 : #RT, "cc", "memory" \
+	 ); \
+   printf("%s :: fs %lf, rt 0x%x\n", \
+          instruction, out, out1); \
+}
+
+// mtc1 rt, fs
+#define TESTINSNMOVEt(instruction, offset, FS, RT) \
+{ \
+    float out; \
+    int out1; \
+   __asm__ volatile( \
+     "move $t0, %2\n\t" \
+     "lw $" #RT ", "#offset"($t0)\n\t" \
+     instruction "\n\t" \
+     "mov.s %0, $" #FS"\n\t" \
+     "move %1, $" #RT "\n\t" \
+     : "=&f" (out), "=&r" (out1) \
+	 : "r" (mem) \
+	 : #RT, "cc", "memory" \
+	 ); \
+   printf("%s :: fs %f, rt 0x%x\n", \
+          instruction, out, out1); \
+}
+
+// mthc1 rt, fs
+#define TESTINSNMOVEtd(instruction, offset, FS, RT) \
+{ \
+    double out; \
+    int out1; \
+   __asm__ volatile( \
+     "move $t0, %2\n\t" \
+     "lw $" #RT ", "#offset"($t0)\n\t" \
+     instruction "\n\t" \
+     "mov.d %0, $" #FS"\n\t" \
+     "move %1, $" #RT "\n\t" \
+     : "=&f" (out), "=&r" (out1) \
+	 : "r" (mem) \
+	 : #RT, "cc", "memory" \
+	 ); \
+   printf("%s :: fs %lf, rt 0x%x\n", \
+          instruction, out, out1); \
+}
+
+// mov.s fd, fs
+#define TESTINSNMOVE1s(instruction, offset, FD, FS) \
+{ \
+    float out; \
+    int out1; \
+   __asm__ volatile( \
+     "move $t0, %2\n\t" \
+     "lwc1 $" #FS ", "#offset"($t0)\n\t" \
+     instruction "\n\t" \
+     "mov.s %0, $" #FD"\n\t" \
+     "mfc1 %1, $" #FD"\n\t" \
+     : "=&f" (out), "=&r" (out1) \
+	 : "r" (fs_f) \
+	 : "cc", "memory" \
+	 ); \
+   printf("%s :: fs %f, rt 0x%x\n", \
+          instruction, out, out1); \
+}
+
+// mov.d fd, fs
+#define TESTINSNMOVE1d(instruction, offset, FD, FS) \
+{ \
+    double out; \
+    int out1; \
+   __asm__ volatile( \
+     "move $t0, %2\n\t" \
+     "ldc1 $" #FS ", "#offset"($t0)\n\t" \
+     instruction "\n\t" \
+     "mov.d %0, $" #FD"\n\t" \
+     "mfc1 %1, $" #FD"\n\t" \
+     : "=&f" (out), "=&r" (out1) \
+	 : "r" (fs_f) \
+	 : "cc", "memory" \
+	 ); \
+   printf("%s ::fs %f, rt 0x%x\n", \
+          instruction, out, out1); \
+}
+
+// movf rd, rs
+#define TESTINSNMOVE2(instruction, RDval, RSval, RD, RS, cc) \
+{ \
+    int out; \
+   __asm__ volatile( \
+     "li $t0, 1\n\t" \
+     "move $t1, %3\n\t" \
+     "mtc1 $t0, $f0\n\t" \
+     "mtc1 $t1, $f2\n\t" \
+     "c.eq.s $f0, $f2\n\t" \
+     "move $" #RS ", %1\n\t" \
+     "move $" #RD ", %2\n\t" \
+     instruction "\n\t" \
+     "move %0, $" #RD "\n\t" \
+     : "=&r" (out) \
+	 : "r" (RSval), "r" (RDval), "r" (cc) \
+	 : "t0", "t1", #RD, #RS, "cc", "memory" \
+	 ); \
+   printf("%s :: out: 0x%x, RDval: 0x%x, RSval: 0x%x, cc: %d\n", \
+          instruction, out, RDval, RSval, cc); \
+}
+
+// movf.s fd, fs
+#define TESTINSNMOVE2s(instruction, FD, FS, cc, offset) \
+{ \
+   float out; \
+   __asm__ volatile( \
+     "li $t0, 1\n\t" \
+     "move $t1, %1\n\t" \
+     "mtc1 $t0, $f0\n\t" \
+     "mtc1 $t1, $f2\n\t" \
+     "c.eq.s $f0, $f2\n\t" \
+     "move $t0, %2\n\t" \
+     "lwc1 $" #FS ", "#offset"($t0)\n\t" \
+     instruction "\n\t" \
+     "mov.s %0, $" #FD"\n\t" \
+     : "=&f" (out) \
+	 : "r" (cc), "r" (fs_f) \
+	 : "t0", "t1", "cc", "memory" \
+	 ); \
+   printf("%s :: out: %f, cc: %d\n", \
+          instruction, out, cc); \
+}
+
+// movf.d fd, fs
+#define TESTINSNMOVE2d(instruction, FD, FS, cc, offset) \
+{ \
+   double out; \
+   int out1; \
+   int out2; \
+   __asm__ volatile( \
+     "li $t0, 1\n\t" \
+     "move $t1, %3\n\t" \
+     "mtc1 $t0, $f0\n\t" \
+     "mtc1 $t1, $f2\n\t" \
+     "c.eq.s $f0, $f2\n\t" \
+     "move $t0, %4\n\t" \
+     "ldc1 $" #FS ", "#offset"($t0)\n\t" \
+     instruction "\n\t" \
+     "mov.d %0, $" #FD"\n\t" \
+     "mfc1 %1, $f4\n\t" \
+     "mfc1 %2, $f5\n\t" \
+     : "=&f" (out), "=&r" (out1), "=&r" (out2) \
+	 : "r" (cc), "r" (mem) \
+	 : "t0", "t1", "cc", "memory" \
+	 ); \
+   printf("%s :: out: 0x%x 0x%x, cc: %d\n", \
+          instruction, out1, out2, cc); \
+}
+
+// movn.s fd, fs, rt
+#define TESTINSNMOVEN1s(instruction, offset, RTval, FD, FS, RT) \
+{ \
+    float out; \
+    int out1; \
+   __asm__ volatile( \
+     "move $" #RT ", %3\n\t" \
+     "move $t0, %2\n\t" \
+     "lwc1 $" #FS ", "#offset"($t0)\n\t" \
+     "mtc1 $0, $" #FD "\n\t" \
+     instruction "\n\t" \
+     "mov.s %0, $" #FD"\n\t" \
+     "mfc1 %1, $" #FD"\n\t" \
+     : "=&f" (out), "=&r" (out1) \
+	 : "r" (fs_f), "r" (RTval) \
+	 : #RT, "cc", "memory" \
+	 ); \
+   printf("%s :: fs rt 0x%x\n", \
+          instruction, out1); \
+}
+
+// movn.d fd, fs, rt
+#define TESTINSNMOVEN1d(instruction, offset, RTval, FD, FS, RT) \
+{ \
+    double out; \
+    int out1; \
+   __asm__ volatile( \
+     "move $" #RT ", %3\n\t" \
+     "move $t0, %2\n\t" \
+     "ldc1 $" #FS ", "#offset"($t0)\n\t" \
+     "mtc1 $0, $" #FD "\n\t" \
+     "mtc1 $0, $" #FD + 1"\n\t" \
+     instruction "\n\t" \
+     "mov.d %0, $" #FD"\n\t" \
+     "mfc1 %1, $" #FD"\n\t" \
+     : "=&f" (out), "=&r" (out1) \
+	 : "r" (fs_f), "r" (RTval) \
+	 : #RT, "cc", "memory" \
+	 ); \
+   printf("%s :: fs %lf, rt 0x%x\n", \
+          instruction, out, out1); \
+}
+
+int main()
+{
+   printf("MFC1\n");
+   TESTINSNMOVE("mfc1 $t1, $f0",  0, f0, t1);
+   TESTINSNMOVE("mfc1 $t2, $f1", 4, f1, t2);
+   TESTINSNMOVE("mfc1 $t3, $f2",  8, f2, t3);
+   TESTINSNMOVE("mfc1 $t4, $f3", 12, f3, t4);
+   TESTINSNMOVE("mfc1 $t5, $f4", 16, f4, t5);
+   TESTINSNMOVE("mfc1 $t6, $f5", 20, f5, t6);
+   TESTINSNMOVE("mfc1 $t7, $f6", 24, f6, t7);
+   TESTINSNMOVE("mfc1 $v0, $f7", 28, f7, v0);
+   TESTINSNMOVE("mfc1 $v1, $f8", 32, f8, v1);
+   TESTINSNMOVE("mfc1 $s0, $f9", 36, f9, s0);
+   TESTINSNMOVE("mfc1 $s1, $f10", 40, f10, s1);
+   TESTINSNMOVE("mfc1 $s2, $f11", 44, f11, s2);
+   TESTINSNMOVE("mfc1 $s3, $f12", 48, f12, s3);
+   TESTINSNMOVE("mfc1 $s4, $f13", 52, f13, s4);
+   TESTINSNMOVE("mfc1 $s5, $f14", 56, f14, s5);
+   TESTINSNMOVE("mfc1 $s6, $f15", 60, f15, s6);
+   TESTINSNMOVE("mfc1 $s7, $f16", 64, f16, s7);
+   TESTINSNMOVE("mfc1 $a0, $f17", 0, f17, a0);
+   TESTINSNMOVE("mfc1 $a1, $f18", 4, f18, a1);
+   TESTINSNMOVE("mfc1 $a2, $f19", 8, f19, a2);
+   TESTINSNMOVE("mfc1 $a3, $f20", 12, f20, a3);
+   TESTINSNMOVE("mfc1 $v0, $f21", 16, f21, v0);
+   TESTINSNMOVE("mfc1 $v1, $f22", 20, f22, v1);
+   TESTINSNMOVE("mfc1 $t8, $f23", 24, f23, t8);
+   TESTINSNMOVE("mfc1 $t9, $f24", 28, f24, t9);
+   TESTINSNMOVE("mfc1 $t1, $f25", 32, f25, t1);
+   TESTINSNMOVE("mfc1 $t2, $f26", 36, f26, t2);
+
+   printf("MTC1\n");
+   TESTINSNMOVEt("mtc1 $t1, $f0",  0, f0, t1);
+   TESTINSNMOVEt("mtc1 $t2, $f1", 4, f1, t2);
+   TESTINSNMOVEt("mtc1 $t3, $f2",  8, f2, t3);
+   TESTINSNMOVEt("mtc1 $t4, $f3", 12, f3, t4);
+   TESTINSNMOVEt("mtc1 $t5, $f4", 16, f4, t5);
+   TESTINSNMOVEt("mtc1 $t6, $f5", 20, f5, t6);
+   TESTINSNMOVEt("mtc1 $t7, $f6", 24, f6, t7);
+   TESTINSNMOVEt("mtc1 $v0, $f7", 28, f7, v0);
+   TESTINSNMOVEt("mtc1 $v1, $f8", 32, f8, v1);
+   TESTINSNMOVEt("mtc1 $s0, $f9", 36, f9, s0);
+   TESTINSNMOVEt("mtc1 $s1, $f10", 40, f10, s1);
+   TESTINSNMOVEt("mtc1 $s2, $f11", 44, f11, s2);
+   TESTINSNMOVEt("mtc1 $s3, $f12", 48, f12, s3);
+   TESTINSNMOVEt("mtc1 $s4, $f13", 52, f13, s4);
+   TESTINSNMOVEt("mtc1 $s5, $f14", 56, f14, s5);
+   TESTINSNMOVEt("mtc1 $s6, $f15", 60, f15, s6);
+   TESTINSNMOVEt("mtc1 $s7, $f16", 64, f16, s7);
+   TESTINSNMOVEt("mtc1 $a0, $f17", 2, f17, a0);
+   TESTINSNMOVEt("mtc1 $a1, $f18", 6, f18, a1);
+   TESTINSNMOVEt("mtc1 $a2, $f19", 10, f19, a2);
+   TESTINSNMOVEt("mtc1 $a3, $f20", 14, f20, a3);
+   TESTINSNMOVEt("mtc1 $v0, $f21", 18, f21, v0);
+   TESTINSNMOVEt("mtc1 $v1, $f22", 22, f22, v1);
+   TESTINSNMOVEt("mtc1 $t8, $f23", 26, f23, t8);
+   TESTINSNMOVEt("mtc1 $t9, $f24", 30, f24, t9);
+   TESTINSNMOVEt("mtc1 $t1, $f25", 34, f25, t1);
+   TESTINSNMOVEt("mtc1 $t2, $f26", 38, f26, t2);
+
+   printf("MOV.S\n");
+   TESTINSNMOVE1s("mov.s $f0, $f0",  0, f0, f0);
+   TESTINSNMOVE1s("mov.s $f0, $f1", 4, f0, f1);
+   TESTINSNMOVE1s("mov.s $f1, $f2",  8, f1, f2);
+   TESTINSNMOVE1s("mov.s $f2, $f3", 12, f2, f3);
+   TESTINSNMOVE1s("mov.s $f3, $f4", 16, f3, f4);
+   TESTINSNMOVE1s("mov.s $f4, $f5", 20, f4, f5);
+   TESTINSNMOVE1s("mov.s $f5, $f6", 24, f5, f6);
+   TESTINSNMOVE1s("mov.s $f6, $f7", 28, f6, f7);
+   TESTINSNMOVE1s("mov.s $f7, $f8", 32, f7, f8);
+   TESTINSNMOVE1s("mov.s $f8, $f9", 36, f8, f9);
+   TESTINSNMOVE1s("mov.s $f9, $f10", 40, f9, f10);
+   TESTINSNMOVE1s("mov.s $f10, $f11", 44, f10, f11);
+   TESTINSNMOVE1s("mov.s $f11, $f12", 48, f11, f12);
+   TESTINSNMOVE1s("mov.s $f12, $f13", 52, f12, f13);
+   TESTINSNMOVE1s("mov.s $f13, $f14", 56, f13, f14);
+   TESTINSNMOVE1s("mov.s $f14, $f15", 60, f14, f15);
+   TESTINSNMOVE1s("mov.s $f15, $f16", 64, f15, f16);
+   TESTINSNMOVE1s("mov.s $f16, $f17", 0, f16, f17);
+   TESTINSNMOVE1s("mov.s $f17, $f18", 4, f17, f18);
+   TESTINSNMOVE1s("mov.s $f18, $f19", 8, f18, f19);
+   TESTINSNMOVE1s("mov.s $f19, $f20", 12, f19, f20);
+   TESTINSNMOVE1s("mov.s $f20, $f21", 16, f20, f21);
+   TESTINSNMOVE1s("mov.s $f21, $f22", 20, f21, f22);
+   TESTINSNMOVE1s("mov.s $f22, $f23", 24, f22, f23);
+   TESTINSNMOVE1s("mov.s $f23, $f24", 28, f23, f24);
+   TESTINSNMOVE1s("mov.s $f24, $f25", 32, f24, f25);
+   TESTINSNMOVE1s("mov.s $f25, $f26", 36, f25, f26);
+
+   printf("MOV.D\n");
+   TESTINSNMOVE1d("mov.d $f0, $f0",  0, f0, f0);
+   TESTINSNMOVE1d("mov.d $f0, $f0", 8, f0, f0);
+   TESTINSNMOVE1d("mov.d $f0, $f2",  16, f0, f2);
+   TESTINSNMOVE1d("mov.d $f2, $f4", 24, f2, f4);
+   TESTINSNMOVE1d("mov.d $f2, $f4", 32, f2, f4);
+   TESTINSNMOVE1d("mov.d $f4, $f6", 40, f4, f6);
+   TESTINSNMOVE1d("mov.d $f4, $f6", 48, f4, f6);
+   TESTINSNMOVE1d("mov.d $f6, $f8", 56, f6, f8);
+   TESTINSNMOVE1d("mov.d $f6, $f8", 64, f6, f8);
+   TESTINSNMOVE1d("mov.d $f8, $f10", 0, f8, f10);
+   TESTINSNMOVE1d("mov.d $f8, $f10", 8, f8, f10);
+   TESTINSNMOVE1d("mov.d $f10, $f12", 16, f10, f12);
+   TESTINSNMOVE1d("mov.d $f10, $f12", 24, f10, f12);
+   TESTINSNMOVE1d("mov.d $f12, $f14", 32, f12, f14);
+   TESTINSNMOVE1d("mov.d $f12, $f14", 40, f12, f14);
+   TESTINSNMOVE1d("mov.d $f14, $f16", 48, f14, f16);
+   TESTINSNMOVE1d("mov.d $f14, $f16", 56, f14, f16);
+   TESTINSNMOVE1d("mov.d $f16, $f18", 64, f16, f18);
+   TESTINSNMOVE1d("mov.d $f16, $f18", 0, f16, f18);
+   TESTINSNMOVE1d("mov.d $f18, $f20", 8, f18, f20);
+   TESTINSNMOVE1d("mov.d $f18, $f20", 16, f18, f20);
+   TESTINSNMOVE1d("mov.d $f20, $f22", 24, f20, f22);
+   TESTINSNMOVE1d("mov.d $f20, $f22", 32, f20, f22);
+   TESTINSNMOVE1d("mov.d $f22, $f24", 40, f22, f24);
+   TESTINSNMOVE1d("mov.d $f22, $f24", 48, f22, f24);
+   TESTINSNMOVE1d("mov.d $f24, $f26", 56, f24, f26);
+   TESTINSNMOVE1d("mov.d $f24, $f26", 64, f24, f26);
+
+   printf("MOVF\n");
+   TESTINSNMOVE2("movf $t0, $t1, $fcc0",  0, 0xffffffff, t0, t1, 1);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc0",  0xffffffff, 0xffffffff, t0, t1, 0);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc0",  555, 0xffffffff, t0, t1, 1);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc0",  0, 5, t0, t1, 0);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc0",  0, -1, t0, t1, 1);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc0",  0xffffffff, 25, t0, t1, 0);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc0",  0xffffffff, 0, t0, t1, 1);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc0",  0xffffffff, 66, t0, t1, 0);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc4",  0, 0xffffffff, t0, t1, 1);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc4",  0xffffffff, 0xffffffff, t0, t1, 0);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc4",  555, 0xffffffff, t0, t1, 1);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc4",  0, 5, t0, t1, 0);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc4",  0, -1, t0, t1, 1);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc4",  0xffffffff, 25, t0, t1, 0);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc4",  0xffffffff, 0, t0, t1, 1);
+   TESTINSNMOVE2("movf $t0, $t1, $fcc4",  0xffffffff, 66, t0, t1, 0);
+
+   printf("MOVF.S\n");
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 0);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 4);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 8);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 12);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 16);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 20);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 24);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 28);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 32);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 36)
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 40)
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 44)
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 48)
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 52)
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 1, 56)
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 0);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 4);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 8);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 12);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 16);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 20);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 24);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 28);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 32);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 36);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 40);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 44);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 48);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 52);
+   TESTINSNMOVE2s("movf.s $f4, $f6, $fcc0", f4, f6, 0, 56);
+
+   printf("MOVF.D\n");
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 0);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 8);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 16);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 24);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 32);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 40);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 48);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 56);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 64);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 0)
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 8)
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 16)
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 24)
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 32)
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 1, 40)
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 48);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 56);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 64);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 0);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 8);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 16);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 24);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 32);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 40);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 48);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 56);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 64);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 0);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 8);
+   TESTINSNMOVE2d("movf.d $f4, $f6, $fcc0", f4, f6, 0, 16);
+
+   printf("MOVN.S\n");
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 0, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 4, 1, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 8, 0xffff, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 12, -1, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 16, 5, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 20, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 24, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 28, 5, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 32, 125487, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 36, 68, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 40, -122544, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 44, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 48, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 52, 0xffffffff, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 56, 0x80000000, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.s $f0, $f2, $t3", 60, 0x7fffffff, f0, f2, t3);
+
+   printf("MOVN.D\n");
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 0, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 4, 1, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 8, 0xffff, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 12, -1, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 16, 5, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 20, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 24, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 28, 5, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 32, 125487, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 36, 68, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 40, -122544, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 44, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 48, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 52, 0xffffffff, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 56, 0x80000000, f0, f2, t3);
+   TESTINSNMOVEN1s("movn.d $f0, $f2, $t3", 60, 0x7fffffff, f0, f2, t3);
+
+   printf("MOVT\n");
+   TESTINSNMOVE2("movt $t0, $t1, $fcc0",  0, 0xffffffff, t0, t1, 1);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc0",  0xffffffff, 0xffffffff, t0, t1, 0);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc0",  555, 0xffffffff, t0, t1, 1);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc0",  0, 5, t0, t1, 0);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc0",  0, -1, t0, t1, 1);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc0",  0xffffffff, 25, t0, t1, 0);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc0",  0xffffffff, 0, t0, t1, 1);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc0",  0xffffffff, 66, t0, t1, 0);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc4",  0, 0xffffffff, t0, t1, 1);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc4",  0xffffffff, 0xffffffff, t0, t1, 0);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc4",  555, 0xffffffff, t0, t1, 1);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc4",  0, 5, t0, t1, 0);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc4",  0, -1, t0, t1, 1);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc4",  0xffffffff, 25, t0, t1, 0);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc4",  0xffffffff, 0, t0, t1, 1);
+   TESTINSNMOVE2("movt $t0, $t1, $fcc4",  0xffffffff, 66, t0, t1, 0);
+
+   printf("MOVT.S\n");
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 0);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 4);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 8);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 12);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 16);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 20);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 24);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 28);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 32);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 36)
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 40)
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 44)
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 48)
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 52)
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 1, 56)
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 0);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 4);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 8);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 12);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 16);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 20);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 24);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 28);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 32);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 36);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 40);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 44);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 48);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 52);
+   TESTINSNMOVE2s("movt.s $f4, $f6, $fcc0", f4, f6, 0, 56);
+
+   printf("MOVT.D\n");
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 0);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 8);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 16);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 24);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 32);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 40);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 48);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 56);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 64);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 0)
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 8)
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 16)
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 24)
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 32)
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 1, 40)
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 48);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 56);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 64);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 0);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 8);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 16);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 24);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 32);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 40);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 48);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 56);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 64);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 0);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 8);
+   TESTINSNMOVE2d("movt.d $f4, $f6, $fcc0", f4, f6, 0, 16);
+
+   printf("MOVZ.S\n");
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 0, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 4, 1, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 8, 0xffff, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 12, -1, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 16, 5, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 20, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 24, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 24, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 28, 5, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 32, 125487, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 36, 68, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 40, -122544, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 44, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 48, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 52, 0xffffffff, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 56, 0x80000000, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.s $f0, $f2, $t3", 60, 0x7fffffff, f0, f2, t3);
+
+   printf("MOVZ.D\n");
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 0, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 4, 1, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 8, 0xffff, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 12, -1, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 16, 5, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 20, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 24, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 28, 5, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 32, 125487, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 36, 68, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 40, -122544, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 44, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 48, 0, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 52, 0xffffffff, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 56, 0x80000000, f0, f2, t3);
+   TESTINSNMOVEN1s("movz.d $f0, $f2, $t3", 60, 0x7fffffff, f0, f2, t3);
+   return 0;
+}
diff --git a/none/tests/mips32/MoveIns.stderr.exp b/none/tests/mips32/MoveIns.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips32/MoveIns.stderr.exp
diff --git a/none/tests/mips32/MoveIns.stdout.exp b/none/tests/mips32/MoveIns.stdout.exp
new file mode 100644
index 0000000..70306ee
--- /dev/null
+++ b/none/tests/mips32/MoveIns.stdout.exp
@@ -0,0 +1,339 @@
+MFC1
+mfc1 $t1, $f0 :: fs 4.676074, rt 0x4095a266
+mfc1 $t2, $f1 :: fs 272008302207532160516096.000000, rt 0x66666666
+mfc1 $t3, $f2 :: fs -1.875000, rt 0xbff00000
+mfc1 $t4, $f3 :: fs 0.000000, rt 0x0
+mfc1 $t5, $f4 :: fs 1.875000, rt 0x3ff00000
+mfc1 $t6, $f5 :: fs 0.000000, rt 0x0
+mfc1 $t7, $f6 :: fs 0.000000, rt 0x252a2e2b
+mfc1 $v0, $f7 :: fs 0.000000, rt 0x262d2d2a
+mfc1 $v1, $f8 :: fs nan, rt 0xffffffff
+mfc1 $s0, $f9 :: fs nan, rt 0xffffffff
+mfc1 $s1, $f10 :: fs 26.299561, rt 0x41d26580
+mfc1 $s2, $f11 :: fs -0.000000, rt 0xb487e5c9
+mfc1 $s3, $f12 :: fs 32.599121, rt 0x42026580
+mfc1 $s4, $f13 :: fs -0.000012, rt 0xb750e388
+mfc1 $s5, $f14 :: fs 0.192847, rt 0x3e45798e
+mfc1 $s6, $f15 :: fs -814182836421710053376.000000, rt 0xe2308c3a
+mfc1 $s7, $f16 :: fs 1.496914, rt 0x3fbf9add
+mfc1 $a0, $f17 :: fs 4.676074, rt 0x4095a266
+mfc1 $a1, $f18 :: fs 272008302207532160516096.000000, rt 0x66666666
+mfc1 $a2, $f19 :: fs -1.875000, rt 0xbff00000
+mfc1 $a3, $f20 :: fs 0.000000, rt 0x0
+mfc1 $v0, $f21 :: fs 1.875000, rt 0x3ff00000
+mfc1 $v1, $f22 :: fs 0.000000, rt 0x0
+mfc1 $t8, $f23 :: fs 0.000000, rt 0x252a2e2b
+mfc1 $t9, $f24 :: fs 0.000000, rt 0x262d2d2a
+mfc1 $t1, $f25 :: fs nan, rt 0xffffffff
+mfc1 $t2, $f26 :: fs nan, rt 0xffffffff
+MTC1
+mtc1 $t1, $f0 :: fs 4.676074, rt 0x4095a266
+mtc1 $t2, $f1 :: fs 272008302207532160516096.000000, rt 0x66666666
+mtc1 $t3, $f2 :: fs -1.875000, rt 0xbff00000
+mtc1 $t4, $f3 :: fs 0.000000, rt 0x0
+mtc1 $t5, $f4 :: fs 1.875000, rt 0x3ff00000
+mtc1 $t6, $f5 :: fs 0.000000, rt 0x0
+mtc1 $t7, $f6 :: fs 0.000000, rt 0x252a2e2b
+mtc1 $v0, $f7 :: fs 0.000000, rt 0x262d2d2a
+mtc1 $v1, $f8 :: fs nan, rt 0xffffffff
+mtc1 $s0, $f9 :: fs nan, rt 0xffffffff
+mtc1 $s1, $f10 :: fs 26.299561, rt 0x41d26580
+mtc1 $s2, $f11 :: fs -0.000000, rt 0xb487e5c9
+mtc1 $s3, $f12 :: fs 32.599121, rt 0x42026580
+mtc1 $s4, $f13 :: fs -0.000012, rt 0xb750e388
+mtc1 $s5, $f14 :: fs 0.192847, rt 0x3e45798e
+mtc1 $s6, $f15 :: fs -814182836421710053376.000000, rt 0xe2308c3a
+mtc1 $s7, $f16 :: fs 1.496914, rt 0x3fbf9add
+mtc1 $a0, $f17 :: fs 271833904815561865428992.000000, rt 0x66664095
+mtc1 $a1, $f18 :: fs 0.000000, rt 0x6666
+mtc1 $a2, $f19 :: fs 0.000000, rt 0xbff0
+mtc1 $a3, $f20 :: fs 0.000000, rt 0x0
+mtc1 $v0, $f21 :: fs 0.000000, rt 0x3ff0
+mtc1 $v1, $f22 :: fs 0.000000, rt 0x2e2b0000
+mtc1 $t8, $f23 :: fs 0.000000, rt 0x2d2a252a
+mtc1 $t9, $f24 :: fs nan, rt 0xffff262d
+mtc1 $t1, $f25 :: fs nan, rt 0xffffffff
+mtc1 $t2, $f26 :: fs 76148150529073774329856.000000, rt 0x6580ffff
+MOV.S
+mov.s $f0, $f0 :: fs 0.000000, rt 0x0
+mov.s $f0, $f1 :: fs 456.248962, rt 0x43e41fde
+mov.s $f1, $f2 :: fs 3.000000, rt 0x40400000
+mov.s $f2, $f3 :: fs -1.000000, rt 0xbf800000
+mov.s $f3, $f4 :: fs 1384.599976, rt 0x44ad1333
+mov.s $f4, $f5 :: fs -7.294568, rt 0xc0e96d19
+mov.s $f5, $f6 :: fs 1000000000.000000, rt 0x4e6e6b28
+mov.s $f6, $f7 :: fs -5786.470215, rt 0xc5b4d3c3
+mov.s $f7, $f8 :: fs 1752.000000, rt 0x44db0000
+mov.s $f8, $f9 :: fs 0.002457, rt 0x3b210e02
+mov.s $f9, $f10 :: fs 0.000000, rt 0x322bcc77
+mov.s $f10, $f11 :: fs -248562.765625, rt 0xc872bcb1
+mov.s $f11, $f12 :: fs -45786.476562, rt 0xc732da7a
+mov.s $f12, $f13 :: fs 456.248962, rt 0x43e41fde
+mov.s $f13, $f14 :: fs 34.000462, rt 0x42080079
+mov.s $f14, $f15 :: fs 45786.476562, rt 0x4732da7a
+mov.s $f15, $f16 :: fs 1752065.000000, rt 0x49d5e008
+mov.s $f16, $f17 :: fs 0.000000, rt 0x0
+mov.s $f17, $f18 :: fs 456.248962, rt 0x43e41fde
+mov.s $f18, $f19 :: fs 3.000000, rt 0x40400000
+mov.s $f19, $f20 :: fs -1.000000, rt 0xbf800000
+mov.s $f20, $f21 :: fs 1384.599976, rt 0x44ad1333
+mov.s $f21, $f22 :: fs -7.294568, rt 0xc0e96d19
+mov.s $f22, $f23 :: fs 1000000000.000000, rt 0x4e6e6b28
+mov.s $f23, $f24 :: fs -5786.470215, rt 0xc5b4d3c3
+mov.s $f24, $f25 :: fs 1752.000000, rt 0x44db0000
+mov.s $f25, $f26 :: fs 0.002457, rt 0x3b210e02
+MOV.D
+mov.d $f0, $f0 ::fs 11600973572943642624.000000, rt 0x0
+mov.d $f0, $f0 ::fs -0.007813, rt 0x40400000
+mov.d $f0, $f2 ::fs -52072.789633, rt 0x44ad1333
+mov.d $f2, $f4 ::fs -6445705852632282607665545216.000000, rt 0x4e6e6b28
+mov.d $f2, $f4 ::fs 0.000000, rt 0x44db0000
+mov.d $f4, $f6 ::fs -102014360350703794652958156923702465265664.000000, rt 0x322bcc77
+mov.d $f4, $f6 ::fs 11600980417357008896.000000, rt 0xc732da7a
+mov.d $f6, $f8 ::fs 97892595018733988536880335157198848.000000, rt 0x42080079
+mov.d $f6, $f8 ::fs 96757042599808.125000, rt 0x49d5e008
+mov.d $f8, $f10 ::fs 11600973572943642624.000000, rt 0x0
+mov.d $f8, $f10 ::fs -0.007813, rt 0x40400000
+mov.d $f10, $f12 ::fs -52072.789633, rt 0x44ad1333
+mov.d $f10, $f12 ::fs -6445705852632282607665545216.000000, rt 0x4e6e6b28
+mov.d $f12, $f14 ::fs 0.000000, rt 0x44db0000
+mov.d $f12, $f14 ::fs -102014360350703794652958156923702465265664.000000, rt 0x322bcc77
+mov.d $f14, $f16 ::fs 11600980417357008896.000000, rt 0xc732da7a
+mov.d $f14, $f16 ::fs 97892595018733988536880335157198848.000000, rt 0x42080079
+mov.d $f16, $f18 ::fs 96757042599808.125000, rt 0x49d5e008
+mov.d $f16, $f18 ::fs 11600973572943642624.000000, rt 0x0
+mov.d $f18, $f20 ::fs -0.007813, rt 0x40400000
+mov.d $f18, $f20 ::fs -52072.789633, rt 0x44ad1333
+mov.d $f20, $f22 ::fs -6445705852632282607665545216.000000, rt 0x4e6e6b28
+mov.d $f20, $f22 ::fs 0.000000, rt 0x44db0000
+mov.d $f22, $f24 ::fs -102014360350703794652958156923702465265664.000000, rt 0x322bcc77
+mov.d $f22, $f24 ::fs 11600980417357008896.000000, rt 0xc732da7a
+mov.d $f24, $f26 ::fs 97892595018733988536880335157198848.000000, rt 0x42080079
+mov.d $f24, $f26 ::fs 96757042599808.125000, rt 0x49d5e008
+MOVF
+movf $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0
+movf $t0, $t1, $fcc0 :: out: 0x22b, RDval: 0x22b, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc0 :: out: 0x5, RDval: 0x0, RSval: 0x5, cc: 0
+movf $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc0 :: out: 0x19, RDval: 0xffffffff, RSval: 0x19, cc: 0
+movf $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x0, cc: 1
+movf $t0, $t1, $fcc0 :: out: 0x42, RDval: 0xffffffff, RSval: 0x42, cc: 0
+movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0
+movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x22b, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc4 :: out: 0x5, RDval: 0x0, RSval: 0x5, cc: 0
+movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc4 :: out: 0x19, RDval: 0xffffffff, RSval: 0x19, cc: 0
+movf $t0, $t1, $fcc4 :: out: 0x0, RDval: 0xffffffff, RSval: 0x0, cc: 1
+movf $t0, $t1, $fcc4 :: out: 0x42, RDval: 0xffffffff, RSval: 0x42, cc: 0
+MOVF.S
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 3.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: -1.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 1384.599976, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: -7.294568, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 1000000000.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: -5786.470215, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 1752.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 0.002457, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: -248562.765625, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+MOVF.D
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0x43e41fde, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42026580 0xb750e388, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x3e45798e 0xe2308c3a, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x3fbf9add 0x3746f65f, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x4095a266 0x66666666, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x3ff00000 0x0, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x252a2e2b 0x262d2d2a, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x42026580 0xb750e388, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x3e45798e 0xe2308c3a, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x3fbf9add 0x3746f65f, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x4095a266 0x66666666, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x3ff00000 0x0, cc: 0
+MOVN.S
+movn.s $f0, $f2, $t3 :: fs rt 0x0
+movn.s $f0, $f2, $t3 :: fs rt 0x43e41fde
+movn.s $f0, $f2, $t3 :: fs rt 0x40400000
+movn.s $f0, $f2, $t3 :: fs rt 0xbf800000
+movn.s $f0, $f2, $t3 :: fs rt 0x44ad1333
+movn.s $f0, $f2, $t3 :: fs rt 0x0
+movn.s $f0, $f2, $t3 :: fs rt 0x0
+movn.s $f0, $f2, $t3 :: fs rt 0xc5b4d3c3
+movn.s $f0, $f2, $t3 :: fs rt 0x44db0000
+movn.s $f0, $f2, $t3 :: fs rt 0x3b210e02
+movn.s $f0, $f2, $t3 :: fs rt 0x322bcc77
+movn.s $f0, $f2, $t3 :: fs rt 0x0
+movn.s $f0, $f2, $t3 :: fs rt 0x0
+movn.s $f0, $f2, $t3 :: fs rt 0x43e41fde
+movn.s $f0, $f2, $t3 :: fs rt 0x42080079
+movn.s $f0, $f2, $t3 :: fs rt 0x4732da7a
+MOVN.D
+movn.d $f0, $f2, $t3 :: fs rt 0x0
+movn.d $f0, $f2, $t3 :: fs rt 0x43e41fde
+movn.d $f0, $f2, $t3 :: fs rt 0x40400000
+movn.d $f0, $f2, $t3 :: fs rt 0xbf800000
+movn.d $f0, $f2, $t3 :: fs rt 0x44ad1333
+movn.d $f0, $f2, $t3 :: fs rt 0x0
+movn.d $f0, $f2, $t3 :: fs rt 0x0
+movn.d $f0, $f2, $t3 :: fs rt 0xc5b4d3c3
+movn.d $f0, $f2, $t3 :: fs rt 0x44db0000
+movn.d $f0, $f2, $t3 :: fs rt 0x3b210e02
+movn.d $f0, $f2, $t3 :: fs rt 0x322bcc77
+movn.d $f0, $f2, $t3 :: fs rt 0x0
+movn.d $f0, $f2, $t3 :: fs rt 0x0
+movn.d $f0, $f2, $t3 :: fs rt 0x43e41fde
+movn.d $f0, $f2, $t3 :: fs rt 0x42080079
+movn.d $f0, $f2, $t3 :: fs rt 0x4732da7a
+MOVT
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x22b, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0x5, cc: 0
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x19, cc: 0
+movt $t0, $t1, $fcc0 :: out: 0x0, RDval: 0xffffffff, RSval: 0x0, cc: 1
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x42, cc: 0
+movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0
+movt $t0, $t1, $fcc4 :: out: 0x22b, RDval: 0x22b, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0x5, cc: 0
+movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x19, cc: 0
+movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x0, cc: 1
+movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x42, cc: 0
+MOVT.S
+movt.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 3.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: -1.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 1384.599976, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: -7.294568, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 1000000000.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: -5786.470215, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 1752.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 0.002457, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: -248562.765625, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+MOVT.D
+movt.d $f4, $f6, $fcc0 :: out: 0x4095a266 0x66666666, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x3ff00000 0x0, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x252a2e2b 0x262d2d2a, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x42026580 0xb750e388, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x3e45798e 0xe2308c3a, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x3fbf9add 0x3746f65f, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x4095a266 0x66666666, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0xbff00000 0x0, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x3ff00000 0x0, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x252a2e2b 0x262d2d2a, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0x41d26580 0xb487e5c9, cc: 0
+MOVZ.S
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0xc0e96d19
+movz.s $f0, $f2, $t3 :: fs rt 0x4e6e6b28
+movz.s $f0, $f2, $t3 :: fs rt 0x4e6e6b28
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0xc872bcb1
+movz.s $f0, $f2, $t3 :: fs rt 0xc732da7a
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+MOVZ.D
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0xc0e96d19
+movz.d $f0, $f2, $t3 :: fs rt 0x4e6e6b28
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0xc872bcb1
+movz.d $f0, $f2, $t3 :: fs rt 0xc732da7a
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
diff --git a/none/tests/mips32/MoveIns.stdout.exp-BE b/none/tests/mips32/MoveIns.stdout.exp-BE
new file mode 100644
index 0000000..2ff43c2
--- /dev/null
+++ b/none/tests/mips32/MoveIns.stdout.exp-BE
@@ -0,0 +1,339 @@
+MFC1
+mfc1 $t1, $f0 :: fs 4.676074, rt 0x4095a266
+mfc1 $t2, $f1 :: fs 272008302207532160516096.000000, rt 0x66666666
+mfc1 $t3, $f2 :: fs -1.875000, rt 0xbff00000
+mfc1 $t4, $f3 :: fs 0.000000, rt 0x0
+mfc1 $t5, $f4 :: fs 1.875000, rt 0x3ff00000
+mfc1 $t6, $f5 :: fs 0.000000, rt 0x0
+mfc1 $t7, $f6 :: fs 0.000000, rt 0x252a2e2b
+mfc1 $v0, $f7 :: fs 0.000000, rt 0x262d2d2a
+mfc1 $v1, $f8 :: fs nan, rt 0xffffffff
+mfc1 $s0, $f9 :: fs nan, rt 0xffffffff
+mfc1 $s1, $f10 :: fs 26.299561, rt 0x41d26580
+mfc1 $s2, $f11 :: fs -0.000000, rt 0xb487e5c9
+mfc1 $s3, $f12 :: fs 32.599121, rt 0x42026580
+mfc1 $s4, $f13 :: fs -0.000012, rt 0xb750e388
+mfc1 $s5, $f14 :: fs 0.192847, rt 0x3e45798e
+mfc1 $s6, $f15 :: fs -814182836421710053376.000000, rt 0xe2308c3a
+mfc1 $s7, $f16 :: fs 1.496914, rt 0x3fbf9add
+mfc1 $a0, $f17 :: fs 4.676074, rt 0x4095a266
+mfc1 $a1, $f18 :: fs 272008302207532160516096.000000, rt 0x66666666
+mfc1 $a2, $f19 :: fs -1.875000, rt 0xbff00000
+mfc1 $a3, $f20 :: fs 0.000000, rt 0x0
+mfc1 $v0, $f21 :: fs 1.875000, rt 0x3ff00000
+mfc1 $v1, $f22 :: fs 0.000000, rt 0x0
+mfc1 $t8, $f23 :: fs 0.000000, rt 0x252a2e2b
+mfc1 $t9, $f24 :: fs 0.000000, rt 0x262d2d2a
+mfc1 $t1, $f25 :: fs nan, rt 0xffffffff
+mfc1 $t2, $f26 :: fs nan, rt 0xffffffff
+MTC1
+mtc1 $t1, $f0 :: fs 4.676074, rt 0x4095a266
+mtc1 $t2, $f1 :: fs 272008302207532160516096.000000, rt 0x66666666
+mtc1 $t3, $f2 :: fs -1.875000, rt 0xbff00000
+mtc1 $t4, $f3 :: fs 0.000000, rt 0x0
+mtc1 $t5, $f4 :: fs 1.875000, rt 0x3ff00000
+mtc1 $t6, $f5 :: fs 0.000000, rt 0x0
+mtc1 $t7, $f6 :: fs 0.000000, rt 0x252a2e2b
+mtc1 $v0, $f7 :: fs 0.000000, rt 0x262d2d2a
+mtc1 $v1, $f8 :: fs nan, rt 0xffffffff
+mtc1 $s0, $f9 :: fs nan, rt 0xffffffff
+mtc1 $s1, $f10 :: fs 26.299561, rt 0x41d26580
+mtc1 $s2, $f11 :: fs -0.000000, rt 0xb487e5c9
+mtc1 $s3, $f12 :: fs 32.599121, rt 0x42026580
+mtc1 $s4, $f13 :: fs -0.000012, rt 0xb750e388
+mtc1 $s5, $f14 :: fs 0.192847, rt 0x3e45798e
+mtc1 $s6, $f15 :: fs -814182836421710053376.000000, rt 0xe2308c3a
+mtc1 $s7, $f16 :: fs 1.496914, rt 0x3fbf9add
+mtc1 $a0, $f17 :: fs -0.000000, rt 0xa2666666
+mtc1 $a1, $f18 :: fs 272421228250166506553344.000000, rt 0x6666bff0
+mtc1 $a2, $f19 :: fs 0.000000, rt 0x0
+mtc1 $a3, $f20 :: fs 0.000000, rt 0x3ff0
+mtc1 $v0, $f21 :: fs 0.000000, rt 0x0
+mtc1 $v1, $f22 :: fs 0.000000, rt 0x252a
+mtc1 $t8, $f23 :: fs 0.000000, rt 0x2e2b262d
+mtc1 $t9, $f24 :: fs 0.000000, rt 0x2d2affff
+mtc1 $t1, $f25 :: fs nan, rt 0xffffffff
+mtc1 $t2, $f26 :: fs nan, rt 0xffff41d2
+MOV.S
+mov.s $f0, $f0 :: fs 0.000000, rt 0x0
+mov.s $f0, $f1 :: fs 456.248962, rt 0x43e41fde
+mov.s $f1, $f2 :: fs 3.000000, rt 0x40400000
+mov.s $f2, $f3 :: fs -1.000000, rt 0xbf800000
+mov.s $f3, $f4 :: fs 1384.599976, rt 0x44ad1333
+mov.s $f4, $f5 :: fs -7.294568, rt 0xc0e96d19
+mov.s $f5, $f6 :: fs 1000000000.000000, rt 0x4e6e6b28
+mov.s $f6, $f7 :: fs -5786.470215, rt 0xc5b4d3c3
+mov.s $f7, $f8 :: fs 1752.000000, rt 0x44db0000
+mov.s $f8, $f9 :: fs 0.002457, rt 0x3b210e02
+mov.s $f9, $f10 :: fs 0.000000, rt 0x322bcc77
+mov.s $f10, $f11 :: fs -248562.765625, rt 0xc872bcb1
+mov.s $f11, $f12 :: fs -45786.476562, rt 0xc732da7a
+mov.s $f12, $f13 :: fs 456.248962, rt 0x43e41fde
+mov.s $f13, $f14 :: fs 34.000462, rt 0x42080079
+mov.s $f14, $f15 :: fs 45786.476562, rt 0x4732da7a
+mov.s $f15, $f16 :: fs 1752065.000000, rt 0x49d5e008
+mov.s $f16, $f17 :: fs 0.000000, rt 0x0
+mov.s $f17, $f18 :: fs 456.248962, rt 0x43e41fde
+mov.s $f18, $f19 :: fs 3.000000, rt 0x40400000
+mov.s $f19, $f20 :: fs -1.000000, rt 0xbf800000
+mov.s $f20, $f21 :: fs 1384.599976, rt 0x44ad1333
+mov.s $f21, $f22 :: fs -7.294568, rt 0xc0e96d19
+mov.s $f22, $f23 :: fs 1000000000.000000, rt 0x4e6e6b28
+mov.s $f23, $f24 :: fs -5786.470215, rt 0xc5b4d3c3
+mov.s $f24, $f25 :: fs 1752.000000, rt 0x44db0000
+mov.s $f25, $f26 :: fs 0.002457, rt 0x3b210e02
+MOV.D
+mov.d $f0, $f0 ::fs 0.000000, rt 0x43e41fde
+mov.d $f0, $f0 ::fs 32.000023, rt 0xbf800000
+mov.d $f0, $f2 ::fs 68651422688883217793024.000000, rt 0xc0e96d19
+mov.d $f2, $f4 ::fs 6560668703763947508025308754622564314214011401697745896073690307624960.000000, rt 0xc5b4d3c3
+mov.d $f2, $f4 ::fs 510015646723392374046720.000000, rt 0x3b210e02
+mov.d $f4, $f6 ::fs 0.000000, rt 0xc872bcb1
+mov.d $f4, $f6 ::fs -97892595594330935155564225983676416.000000, rt 0x43e41fde
+mov.d $f6, $f8 ::fs 12885895398.356678, rt 0x4732da7a
+mov.d $f6, $f8 ::fs 499539571012599806217935122808662584365932347392.000000, rt 0x42d60000
+mov.d $f8, $f10 ::fs 0.000000, rt 0x43e41fde
+mov.d $f8, $f10 ::fs 32.000023, rt 0xbf800000
+mov.d $f10, $f12 ::fs 68651422688883217793024.000000, rt 0xc0e96d19
+mov.d $f10, $f12 ::fs 6560668703763947508025308754622564314214011401697745896073690307624960.000000, rt 0xc5b4d3c3
+mov.d $f12, $f14 ::fs 510015646723392374046720.000000, rt 0x3b210e02
+mov.d $f12, $f14 ::fs 0.000000, rt 0xc872bcb1
+mov.d $f14, $f16 ::fs -97892595594330935155564225983676416.000000, rt 0x43e41fde
+mov.d $f14, $f16 ::fs 12885895398.356678, rt 0x4732da7a
+mov.d $f16, $f18 ::fs 499539571012599806217935122808662584365932347392.000000, rt 0x42d60000
+mov.d $f16, $f18 ::fs 0.000000, rt 0x43e41fde
+mov.d $f18, $f20 ::fs 32.000023, rt 0xbf800000
+mov.d $f18, $f20 ::fs 68651422688883217793024.000000, rt 0xc0e96d19
+mov.d $f20, $f22 ::fs 6560668703763947508025308754622564314214011401697745896073690307624960.000000, rt 0xc5b4d3c3
+mov.d $f20, $f22 ::fs 510015646723392374046720.000000, rt 0x3b210e02
+mov.d $f22, $f24 ::fs 0.000000, rt 0xc872bcb1
+mov.d $f22, $f24 ::fs -97892595594330935155564225983676416.000000, rt 0x43e41fde
+mov.d $f24, $f26 ::fs 12885895398.356678, rt 0x4732da7a
+mov.d $f24, $f26 ::fs 499539571012599806217935122808662584365932347392.000000, rt 0x42d60000
+MOVF
+movf $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0
+movf $t0, $t1, $fcc0 :: out: 0x22b, RDval: 0x22b, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc0 :: out: 0x5, RDval: 0x0, RSval: 0x5, cc: 0
+movf $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc0 :: out: 0x19, RDval: 0xffffffff, RSval: 0x19, cc: 0
+movf $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x0, cc: 1
+movf $t0, $t1, $fcc0 :: out: 0x42, RDval: 0xffffffff, RSval: 0x42, cc: 0
+movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0
+movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x22b, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc4 :: out: 0x5, RDval: 0x0, RSval: 0x5, cc: 0
+movf $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movf $t0, $t1, $fcc4 :: out: 0x19, RDval: 0xffffffff, RSval: 0x19, cc: 0
+movf $t0, $t1, $fcc4 :: out: 0x0, RDval: 0xffffffff, RSval: 0x0, cc: 1
+movf $t0, $t1, $fcc4 :: out: 0x42, RDval: 0xffffffff, RSval: 0x42, cc: 0
+MOVF.S
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movf.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 3.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: -1.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 1384.599976, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: -7.294568, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 1000000000.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: -5786.470215, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 1752.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 0.002457, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: -248562.765625, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 0
+movf.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+MOVF.D
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0x42080079 0xc732da7a, cc: 1
+movf.d $f4, $f6, $fcc0 :: out: 0xb750e388 0x42026580, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0xe2308c3a 0x3e45798e, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x3746f65f 0x3fbf9add, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x66666666 0x4095a266, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x0 0x3ff00000, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x262d2d2a 0x252a2e2b, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0xb750e388 0x42026580, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0xe2308c3a 0x3e45798e, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x3746f65f 0x3fbf9add, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x66666666 0x4095a266, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 0
+movf.d $f4, $f6, $fcc0 :: out: 0x0 0x3ff00000, cc: 0
+MOVN.S
+movn.s $f0, $f2, $t3 :: fs rt 0x0
+movn.s $f0, $f2, $t3 :: fs rt 0x43e41fde
+movn.s $f0, $f2, $t3 :: fs rt 0x40400000
+movn.s $f0, $f2, $t3 :: fs rt 0xbf800000
+movn.s $f0, $f2, $t3 :: fs rt 0x44ad1333
+movn.s $f0, $f2, $t3 :: fs rt 0x0
+movn.s $f0, $f2, $t3 :: fs rt 0x0
+movn.s $f0, $f2, $t3 :: fs rt 0xc5b4d3c3
+movn.s $f0, $f2, $t3 :: fs rt 0x44db0000
+movn.s $f0, $f2, $t3 :: fs rt 0x3b210e02
+movn.s $f0, $f2, $t3 :: fs rt 0x322bcc77
+movn.s $f0, $f2, $t3 :: fs rt 0x0
+movn.s $f0, $f2, $t3 :: fs rt 0x0
+movn.s $f0, $f2, $t3 :: fs rt 0x43e41fde
+movn.s $f0, $f2, $t3 :: fs rt 0x42080079
+movn.s $f0, $f2, $t3 :: fs rt 0x4732da7a
+MOVN.D
+movn.d $f0, $f2, $t3 :: fs rt 0x0
+movn.d $f0, $f2, $t3 :: fs rt 0x43e41fde
+movn.d $f0, $f2, $t3 :: fs rt 0x40400000
+movn.d $f0, $f2, $t3 :: fs rt 0xbf800000
+movn.d $f0, $f2, $t3 :: fs rt 0x44ad1333
+movn.d $f0, $f2, $t3 :: fs rt 0x0
+movn.d $f0, $f2, $t3 :: fs rt 0x0
+movn.d $f0, $f2, $t3 :: fs rt 0xc5b4d3c3
+movn.d $f0, $f2, $t3 :: fs rt 0x44db0000
+movn.d $f0, $f2, $t3 :: fs rt 0x3b210e02
+movn.d $f0, $f2, $t3 :: fs rt 0x322bcc77
+movn.d $f0, $f2, $t3 :: fs rt 0x0
+movn.d $f0, $f2, $t3 :: fs rt 0x0
+movn.d $f0, $f2, $t3 :: fs rt 0x43e41fde
+movn.d $f0, $f2, $t3 :: fs rt 0x42080079
+movn.d $f0, $f2, $t3 :: fs rt 0x4732da7a
+MOVT
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x22b, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc0 :: out: 0x0, RDval: 0x0, RSval: 0x5, cc: 0
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x19, cc: 0
+movt $t0, $t1, $fcc0 :: out: 0x0, RDval: 0xffffffff, RSval: 0x0, cc: 1
+movt $t0, $t1, $fcc0 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x42, cc: 0
+movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0xffffffff, cc: 0
+movt $t0, $t1, $fcc4 :: out: 0x22b, RDval: 0x22b, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0x5, cc: 0
+movt $t0, $t1, $fcc4 :: out: 0x0, RDval: 0x0, RSval: 0xffffffff, cc: 1
+movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x19, cc: 0
+movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x0, cc: 1
+movt $t0, $t1, $fcc4 :: out: 0xffffffff, RDval: 0xffffffff, RSval: 0x42, cc: 0
+MOVT.S
+movt.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 3.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: -1.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 1384.599976, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: -7.294568, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 1000000000.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: -5786.470215, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 1752.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 0.002457, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 0.000000, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: -248562.765625, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: -45786.476562, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 456.248962, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 1
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+movt.s $f4, $f6, $fcc0 :: out: 34.000462, cc: 0
+MOVT.D
+movt.d $f4, $f6, $fcc0 :: out: 0x66666666 0x4095a266, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x0 0x3ff00000, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x262d2d2a 0x252a2e2b, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0xb750e388 0x42026580, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0xe2308c3a 0x3e45798e, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x3746f65f 0x3fbf9add, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x66666666 0x4095a266, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x0 0xbff00000, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x0 0x3ff00000, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0x262d2d2a 0x252a2e2b, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0xffffffff 0xffffffff, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 1
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+movt.d $f4, $f6, $fcc0 :: out: 0xb487e5c9 0x41d26580, cc: 0
+MOVZ.S
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0xc0e96d19
+movz.s $f0, $f2, $t3 :: fs rt 0x4e6e6b28
+movz.s $f0, $f2, $t3 :: fs rt 0x4e6e6b28
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0xc872bcb1
+movz.s $f0, $f2, $t3 :: fs rt 0xc732da7a
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+movz.s $f0, $f2, $t3 :: fs rt 0x0
+MOVZ.D
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0xc0e96d19
+movz.d $f0, $f2, $t3 :: fs rt 0x4e6e6b28
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0xc872bcb1
+movz.d $f0, $f2, $t3 :: fs rt 0xc732da7a
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
+movz.d $f0, $f2, $t3 :: fs rt 0x0
diff --git a/none/tests/mips32/MoveIns.vgtest b/none/tests/mips32/MoveIns.vgtest
new file mode 100644
index 0000000..662bf4f
--- /dev/null
+++ b/none/tests/mips32/MoveIns.vgtest
@@ -0,0 +1,2 @@
+prog: MoveIns
+vgopts: -q
diff --git a/none/tests/mips32/SignalException.c b/none/tests/mips32/SignalException.c
new file mode 100644
index 0000000..08b03f6
--- /dev/null
+++ b/none/tests/mips32/SignalException.c
@@ -0,0 +1,104 @@
+/* 
+   Check that a fault signal handler gets the expected info
+ */
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <fcntl.h>
+#include <setjmp.h>
+#include <unistd.h>
+
+struct test {
+   void (*test)(void);
+   int sig;
+   int code;
+};
+
+static const struct test *curr_test;
+
+static jmp_buf escape;
+
+static int testsig(int sig, int want)
+{
+   if (sig != want) {
+      fprintf(stderr, "  FAIL: expected signal %d, not %d\n", want, sig);
+      return 0;
+   }
+   return 1;
+}
+
+static int testcode(int code, int want)
+{
+   if (code != want) {
+      fprintf(stderr, "  FAIL: expected si_code==%d, not %d\n", want, code);
+      return 0;
+   }
+   return 1;
+}
+
+static void handler(int sig, siginfo_t *si, void *uc)
+{
+   int ok = 1;
+
+   ok = ok && testsig(sig, curr_test->sig);
+   ok = ok && testcode(si->si_code, curr_test->code);
+
+   if (ok)
+      fprintf(stderr, "  PASS\n");
+
+   siglongjmp(escape, ok + 1);
+}
+
+static void test1(void)
+{
+   __asm__ volatile("li $t0, 0x80000000\n\t"
+                    "move $t1, $t0\n\t"
+                    "add $a0, $t0, $t1\n\t"
+                     : : : "t0", "t1", "a0", "cc", "memory");
+}
+
+static void test2()
+{
+   __asm__ volatile("li $t0, 0x7fffffff\n\t"
+                    "addi $a0, $t0, 0x7fff\n\t"
+                     : : : "t0", "a0", "cc", "memory");
+}
+
+static void test3(void)
+{
+   __asm__ volatile("li $t0, 0xffff0000\n\t"
+                    "li $t1, 0x7fffffff\n\t"
+                    "sub $a0, $t0, $t1\n\t"
+                     : : : "t0", "t1", "a0", "cc", "memory");
+}
+
+int main()
+{
+   int i;
+   static const int sigs[] = { SIGFPE };
+   struct sigaction sa;
+   sa.sa_sigaction = handler;
+   sa.sa_flags = SA_SIGINFO;
+   sigfillset(&sa.sa_mask);
+
+   for(i = 0; i < sizeof(sigs)/sizeof(*sigs); i++)
+      sigaction(sigs[i], &sa, NULL);
+
+   const struct test tests[] = {
+#define T(n, sig, code) { test##n, sig, code }
+      T(1, SIGFPE, FPE_INTOVF),
+      T(2, SIGFPE, FPE_INTOVF),
+      T(3, SIGFPE, FPE_INTOVF),
+#undef T
+   };
+
+   for(i = 0; i < sizeof(tests)/sizeof(*tests); i++) {
+      curr_test = &tests[i];
+      if (sigsetjmp(escape, 1) == 0) {
+         fprintf(stderr, "Test %d: ", i+1);
+         tests[i].test();
+         fprintf(stderr, "  FAIL: no fault, or handler returned\n");
+      }
+   }
+   return 0;
+}
diff --git a/none/tests/mips32/SignalException.stderr.exp b/none/tests/mips32/SignalException.stderr.exp
new file mode 100644
index 0000000..d9925b9
--- /dev/null
+++ b/none/tests/mips32/SignalException.stderr.exp
@@ -0,0 +1,3 @@
+Test 1:   PASS
+Test 2:   PASS
+Test 3:   PASS
diff --git a/none/tests/mips32/SignalException.vgtest b/none/tests/mips32/SignalException.vgtest
new file mode 100644
index 0000000..e98ef29
--- /dev/null
+++ b/none/tests/mips32/SignalException.vgtest
@@ -0,0 +1,2 @@
+prog: SignalException
+vgopts: -q
diff --git a/none/tests/mips32/allexec.c b/none/tests/mips32/allexec.c
new file mode 120000
index 0000000..6d6a9cf
--- /dev/null
+++ b/none/tests/mips32/allexec.c
@@ -0,0 +1 @@
+../allexec.c
\ No newline at end of file
diff --git a/none/tests/mips32/block_size.c b/none/tests/mips32/block_size.c
new file mode 100644
index 0000000..4b82196
--- /dev/null
+++ b/none/tests/mips32/block_size.c
@@ -0,0 +1,71 @@
+#include <stdio.h>
+
+__attribute__((noinline)) int test_block_size1 ()
+{
+   int result = 1;
+   __asm__ __volatile__(
+         ".set noreorder"      "\n\t"
+         ".set nomacro"        "\n\t"
+         "b begin1"            "\n\t"
+         "nop"                 "\n\t"
+         "begin1:"             "\n\t"
+         ".rept 56"            "\n\t"
+         ".word 0"             "\n\t"
+         ".endr"               "\n\t"
+         "li $4, 0"            "\n\t"
+         "j end1"              "\n\t"
+         "nop"                 "\n\t"
+         "b label1"            "\n\t"
+         "nop"                 "\n\t"
+         "label1:"             "\n\t"
+         "li $4, 1"            "\n\t"
+         "end1:"               "\n\t"
+         "move %0, $4"         "\n\t"
+         ".set reorder"        "\n\t"
+         ".set macro"          "\n\t"
+         : /*out*/ "=r" (result)
+         : /*in*/
+         : /*trash*/ "$4");
+   return result;
+}
+
+__attribute__((noinline)) int test_block_size2 ()
+{
+   int result = 1;
+   __asm__ __volatile__(
+         ".set noreorder"      "\n\t"
+         ".set nomacro"        "\n\t"
+         "b begin2"            "\n\t"
+         "nop"                 "\n\t"
+         "begin2:"             "\n\t"
+         ".rept 58"            "\n\t"
+         ".word 0"             "\n\t"
+         ".endr"               "\n\t"
+         "li $4, 1"            "\n\t"
+         "j end2"              "\n\t"
+         "li $4, 0"            "\n\t"
+         "end2:"               "\n\t"
+         "move %0, $4"         "\n\t"
+         ".set reorder"        "\n\t"
+         ".set macro"          "\n\t"
+         : /*out*/ "=r" (result)
+         : /*in*/
+         : /*trash*/ "$4");
+   return result;
+}
+
+int main ()
+{
+   /*******************TEST1*******************/
+   if (test_block_size1() == 0)
+      printf("test1 - PASS\n");
+   else
+      printf("test1 - FAIL\n");
+
+   /*******************TEST2*******************/
+   if (test_block_size2() == 0)
+      printf("test2 - PASS\n");
+   else
+      printf("test2 - FAIL\n");
+   return 0;
+}
diff --git a/none/tests/mips32/block_size.stderr.exp b/none/tests/mips32/block_size.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips32/block_size.stderr.exp
diff --git a/none/tests/mips32/block_size.stdout.exp b/none/tests/mips32/block_size.stdout.exp
new file mode 100644
index 0000000..3a48f4e
--- /dev/null
+++ b/none/tests/mips32/block_size.stdout.exp
@@ -0,0 +1,2 @@
+test1 - PASS
+test2 - PASS
diff --git a/none/tests/mips32/block_size.vgtest b/none/tests/mips32/block_size.vgtest
new file mode 100644
index 0000000..d8eefe5
--- /dev/null
+++ b/none/tests/mips32/block_size.vgtest
@@ -0,0 +1,2 @@
+prog: block_size
+vgopts: -q
diff --git a/none/tests/mips32/branches.c b/none/tests/mips32/branches.c
new file mode 100644
index 0000000..67ce285
--- /dev/null
+++ b/none/tests/mips32/branches.c
@@ -0,0 +1,701 @@
+#include <stdio.h>
+
+#define TESTINST1(RSval, RD) \
+{ \
+   unsigned int out = 0; \
+   __asm__ volatile( \
+      "move $" #RD ", %1\n\t" \
+      "b end"#RSval"\n\t" \
+      "nop\n\t" \
+      "addi $" #RD ", $" #RD", 5\n\t" \
+      "end"#RSval":\n\t" \
+      "addi $" #RD ", $" #RD", 1\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval) \
+      : #RD, "cc", "memory" \
+        ); \
+        printf("B :: %d, RSval: %d\n", \
+        out, RSval); \
+}
+
+#define TESTINST2(RSval, RD) \
+{ \
+   unsigned int out = 0; \
+   __asm__ volatile( \
+      "move $" #RD ", %1\n\t" \
+      "b end12"#RSval"\n\t" \
+      "addi $" #RD ", $" #RD", 3\n\t" \
+      "addi $" #RD ", $" #RD", 5\n\t" \
+      "end12"#RSval":\n\t" \
+      "addi $" #RD ", $" #RD", 3\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval) \
+      : #RD, "cc", "memory" \
+        ); \
+        printf("B :: %d, RSval: %d\n", \
+        out, RSval); \
+}
+
+#define TESTINST3(RSval, RD) \
+{ \
+   unsigned int out = 0; \
+   __asm__ volatile( \
+      "move $" #RD ", %1\n\t" \
+      "bal end21"#RSval"\n\t" \
+      "nop\n\t" \
+      "addi $" #RD ", $" #RD", 5\n\t" \
+      "b r_end"#RSval"\n\t" \
+      "nop\n\t" \
+      "end21"#RSval":\n\t" \
+      "addi $" #RD ", $" #RD", 1\n\t" \
+      "jr $ra\n\t"  \
+      "r_end"#RSval":\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval) \
+      : #RD, "cc", "memory" \
+        ); \
+        printf("B BAL JR :: %d, RSval: %d\n", \
+        out, RSval); \
+}
+
+#define TESTINST3j(RSval, RD) \
+{ \
+   unsigned int out = 0; \
+   __asm__ volatile( \
+      "move $" #RD ", %1\n\t" \
+      "la $t0, end31"#RSval"\n\t" \
+      "jal $t0\n\t" \
+      "nop\n\t" \
+      "addi $" #RD ", $" #RD", 5\n\t" \
+      "la $t0, r_end11"#RSval"\n\t" \
+      "j $t0\n\t" \
+      "nop\n\t" \
+      "end31"#RSval":\n\t" \
+      "addi $" #RD ", $" #RD", 1\n\t" \
+      "jr $ra\n\t"  \
+      "r_end11"#RSval":\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval) \
+      : #RD, "t0", "cc", "memory" \
+        ); \
+        printf("J JAL JR :: %d, RSval: %d\n", \
+        out, RSval); \
+}
+
+#define TESTINST3ja(RSval, RD) \
+{ \
+   unsigned int out = 0; \
+   __asm__ volatile( \
+      "move $" #RD ", %1\n\t" \
+      "la $t0, end41"#RSval"\n\t" \
+      "jalr $t1, $t0\n\t" \
+      "nop\n\t" \
+      "addi $" #RD ", $" #RD", 5\n\t" \
+      "la $t0, r_end21"#RSval"\n\t" \
+      "j $t0\n\t" \
+      "nop\n\t" \
+      "end41"#RSval":\n\t" \
+      "addi $" #RD ", $" #RD", 1\n\t" \
+      "jr $t1\n\t"  \
+      "r_end21"#RSval":\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval) \
+      : #RD, "t0", "t1", "cc", "memory" \
+        ); \
+        printf("J JALR JR :: %d, RSval: %d\n", \
+        out, RSval); \
+}
+
+#define TESTINST4(instruction, RDval, RSval, RTval, RD, RS, RT) \
+{ \
+   unsigned int out = 0; \
+   __asm__ volatile( \
+      "move $" #RS ", %1\n\t" \
+      "move $" #RT ", %2\n\t" \
+      "move $" #RD ", %3\n\t" \
+      instruction" $" #RS ", $" #RT ", end"instruction#RDval"\n\t" \
+      "nop\n\t" \
+      "addi $" #RD ", $" #RD", 5\n\t" \
+      "end"instruction#RDval":\n\t" \
+      "addi $" #RD ", $" #RD", 1\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval), "r" (RTval), "r" (RDval) \
+      : #RD, #RS, #RT, "cc", "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( \
+      "move $" #RS ", %1\n\t" \
+      "move $" #RD ", %2\n\t" \
+      instruction" $" #RS ", end"instruction#RDval"\n\t" \
+      "nop\n\t" \
+      "addi $" #RD ", $" #RD", 5\n\t" \
+      "end"instruction#RDval":\n\t" \
+      "addi $" #RD ", $" #RD", 1\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval), "r" (RDval) \
+      : #RD, #RS, "cc", "memory" \
+        ); \
+        printf(instruction" :: %d, RSval: %d\n", \
+        out, RSval); \
+}
+
+#define TESTINST6(instruction, RDval, RSval, RD, RS) \
+{ \
+   unsigned int out = 0; \
+   __asm__ volatile( \
+      "move $" #RD ", %2\n\t" \
+      "move $" #RS ", %1\n\t" \
+      instruction" $" #RS ", end21"instruction#RDval"\n\t" \
+      "nop\n\t" \
+      "addi $" #RD ", $" #RD", 5\n\t" \
+      "b r_end"instruction#RDval"\n\t" \
+      "nop\n\t" \
+      "end21"instruction#RDval":\n\t" \
+      "addi $" #RD ", $" #RD", 1\n\t" \
+      "jr $ra\n\t"  \
+      "r_end"instruction#RDval":\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval), "r" (RDval) \
+      : #RD, #RS, "cc", "memory" \
+        ); \
+        printf(instruction" :: %d, RSval: %d\n", \
+        out, RSval); \
+}
+
+#define TESTINST4l(instruction, RDval, RSval, RTval, RD, RS, RT) \
+{ \
+   unsigned int out = 0; \
+   __asm__ volatile( \
+      "move $" #RS ", %1\n\t" \
+      "move $" #RT ", %2\n\t" \
+      "move $" #RD ", %3\n\t" \
+      instruction" $" #RS ", $" #RT ", end"instruction#RDval"\n\t" \
+      "addi $" #RD ", $" #RD", 3\n\t" \
+      "addi $" #RD ", $" #RD", 5\n\t" \
+      "end"instruction#RDval":\n\t" \
+      "addi $" #RD ", $" #RD", 1\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval), "r" (RTval), "r" (RDval) \
+      : #RD, #RS, #RT, "cc", "memory" \
+        ); \
+        printf(instruction" :: %d, RSval: %d, RTval: %d\n", \
+        out, RSval, RTval); \
+}
+
+#define TESTINST5l(instruction, RDval, RSval, RD, RS) \
+{ \
+   unsigned int out = 0; \
+   __asm__ volatile( \
+      "move $" #RS ", %1\n\t" \
+      "move $" #RD ", %2\n\t" \
+      instruction" $" #RS ", end"instruction#RDval"\n\t" \
+      "addi $" #RD ", $" #RD", 3\n\t" \
+      "addi $" #RD ", $" #RD", 5\n\t" \
+      "end"instruction#RDval":\n\t" \
+      "addi $" #RD ", $" #RD", 1\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval), "r" (RDval) \
+      : #RD, #RS, "cc", "memory" \
+        ); \
+        printf(instruction" :: %d, RSval: %d\n", \
+        out, RSval); \
+}
+
+#define TESTINST6l(instruction, RDval, RSval, RD, RS) \
+{ \
+   unsigned int out = 0; \
+   __asm__ volatile( \
+      "move $" #RD ", %2\n\t" \
+      "move $" #RS ", %1\n\t" \
+      instruction" $" #RS ", end21"instruction#RDval"\n\t" \
+      "addi $" #RD ", $" #RD", 3\n\t" \
+      "addi $" #RD ", $" #RD", 5\n\t" \
+      "b r_end"instruction#RDval"\n\t" \
+      "nop\n\t" \
+      "end21"instruction#RDval":\n\t" \
+      "addi $" #RD ", $" #RD", 1\n\t" \
+      "jr $ra\n\t"  \
+      "r_end"instruction#RDval":\n\t" \
+      "move %0, $" #RD "\n\t" \
+      : "=&r" (out) \
+      : "r" (RSval), "r" (RDval) \
+      : #RD, #RS, "cc", "memory" \
+        ); \
+        printf(instruction" :: %d, RSval: %d\n", \
+        out, RSval); \
+}
+
+int main() 
+{
+   printf("b \n");
+   TESTINST1(0, v0);
+   TESTINST1(1, v1);
+   TESTINST1(2, a0);
+   TESTINST1(3, a1);
+   TESTINST1(4, a2);
+   TESTINST1(5, a3);
+   TESTINST1(6, t0);
+   TESTINST1(7, t1);
+   TESTINST1(8, t2);
+   TESTINST1(9, t3);
+   TESTINST1(10, t4);
+   TESTINST1(11, t5);
+   TESTINST1(12, t6);
+   TESTINST1(13, t7);
+   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("b \n");
+   TESTINST2(0, v0);
+   TESTINST2(1, v1);
+   TESTINST2(2, a0);
+   TESTINST2(3, a1);
+   TESTINST2(4, a2);
+   TESTINST2(5, a3);
+   TESTINST2(6, t0);
+   TESTINST2(7, t1);
+   TESTINST2(8, t2);
+   TESTINST2(9, t3);
+   TESTINST2(10, t4);
+   TESTINST2(11, t5);
+   TESTINST2(12, t6);
+   TESTINST2(13, t7);
+   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("b, bal, jr \n");
+   TESTINST3(0, v0);
+   TESTINST3(1, v1);
+   TESTINST3(2, a0);
+   TESTINST3(3, a1);
+   TESTINST3(4, a2);
+   TESTINST3(5, a3);
+   TESTINST3(6, t0);
+   TESTINST3(7, t1);
+   TESTINST3(8, t2);
+   TESTINST3(9, t3);
+   TESTINST3(10, t4);
+   TESTINST3(11, t5);
+   TESTINST3(12, t6);
+   TESTINST3(13, t7);
+   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("beq\n");
+   TESTINST4("beq", 0, 0, 1, v0, v1, a0);
+   TESTINST4("beq", 1, 1, 1, v1, a0, a1);
+   TESTINST4("beq", 2, 0xffffffff, 0xffffffff, a0, a1, a2);
+   TESTINST4("beq", 3, 0xffffffff, 0xfffffffe, a1, a2, a3);
+   TESTINST4("beq", 4, 0xfffffffe, 0xffffffff, a2, t0, t1);
+   TESTINST4("beq", 5, 0xffffffff, 0xffffffff, a3, t0, t1);
+   TESTINST4("beq", 6, 0x5, 0x5, t0, t1, t2);
+   TESTINST4("beq", 7, -3, -4, t1, t2, t3);
+   TESTINST4("beq", 8, 125, 125, t2, t3, t4);
+   TESTINST4("beq", 9, 0x80000000, 0x80000000, t3, t4, t5);
+   TESTINST4("beq", 10, 0xffffffff, 0x80000000, t4, t5, t6);
+   TESTINST4("beq", 11, 0x256, 0x256, t5, t6, t7);
+   TESTINST4("beq", 12, 0x55, 0x55, t6, t7, s0);
+   TESTINST4("beq", 13, 0xfff, 0xdd, s0, s1, s2);
+   TESTINST4("beq", 14, -1, 0x5, v0, t9, t8);
+   TESTINST4("beq", 15, -1, -1, t9, t8, a3);
+
+   printf("bne\n");
+   TESTINST4("bne", 0, 0, 1, v0, v1, a0);
+   TESTINST4("bne", 1, 1, 1, v1, a0, a1);
+   TESTINST4("bne", 2, 0xffffffff, 0xffffffff, a0, a1, a2);
+   TESTINST4("bne", 3, 0xffffffff, 0xfffffffe, a1, a2, a3);
+   TESTINST4("bne", 4, 0xfffffffe, 0xffffffff, a2, t0, t1);
+   TESTINST4("bne", 5, 0xffffffff, 0xffffffff, a3, t0, t1);
+   TESTINST4("bne", 6, 0x5, 0x5, t0, t1, t2);
+   TESTINST4("bne", 7, -3, -4, t1, t2, t3);
+   TESTINST4("bne", 8, 125, 125, t2, t3, t4);
+   TESTINST4("bne", 9, 0x80000000, 0x80000000, t3, t4, t5);
+   TESTINST4("bne", 10, 0xffffffff, 0x80000000, t4, t5, t6);
+   TESTINST4("bne", 11, 0x256, 0x256, t5, t6, t7);
+   TESTINST4("bne", 12, 0x55, 0x55, t6, t7, s0);
+   TESTINST4("bne", 13, 0xfff, 0xdd, s0, s1, s2);
+   TESTINST4("bne", 14, -1, 0x5, v0, t9, t8);
+   TESTINST4("bne", 15, -1, -1, t9, t8, a3);
+
+   printf("BEQZ\n");
+   TESTINST5("beqz", 0, 0, v0, v1);
+   TESTINST5("beqz", 1, 1, v1, a0);
+   TESTINST5("beqz", 2, 0xffffffff, a0, a1);
+   TESTINST5("beqz", 3, 0xffffffff, a1, a2);
+   TESTINST5("beqz", 4, 0xfffffffe, a2, t0);
+   TESTINST5("beqz", 5, 0xffffffff, a3, t0);
+   TESTINST5("beqz", 6, 0x5, t0, t1);
+   TESTINST5("beqz", 7, -3, t1, t2);
+   TESTINST5("beqz", 8, 125, t2, t3);
+   TESTINST5("beqz", 9, 0x80000000, t3, t4);
+   TESTINST5("beqz", 10, 0xffffffff, t4, t5);
+   TESTINST5("beqz", 11, 0x256, t5, t6);
+   TESTINST5("beqz", 12, 0x55, t6, t7);
+   TESTINST5("beqz", 13, 0xfff, s0, s1);
+   TESTINST5("beqz", 14, -1, v0, t9);
+   TESTINST5("beqz", 15, -1, t9, t8);
+
+   printf("BGEZ\n");
+   TESTINST5("bgez", 0, 0, v0, v1);
+   TESTINST5("bgez", 1, 1, v1, a0);
+   TESTINST5("bgez", 2, 0xffffffff, a0, a1);
+   TESTINST5("bgez", 3, 0xffffffff, a1, a2);
+   TESTINST5("bgez", 4, 0xfffffffe, a2, t0);
+   TESTINST5("bgez", 5, 0xffffffff, a3, t0);
+   TESTINST5("bgez", 6, 0x5, t0, t1);
+   TESTINST5("bgez", 7, -3, t1, t2);
+   TESTINST5("bgez", 8, 125, t2, t3);
+   TESTINST5("bgez", 9, 0x80000000, t3, t4);
+   TESTINST5("bgez", 10, 0xffffffff, t4, t5);
+   TESTINST5("bgez", 11, 0x256, t5, t6);
+   TESTINST5("bgez", 12, 0x55, t6, t7);
+   TESTINST5("bgez", 13, 0xfff, s0, s1);
+   TESTINST5("bgez", 14, -1, v0, t9);
+   TESTINST5("bgez", 15, -1, t9, t8);
+
+   printf("BGTZ\n");
+   TESTINST5("bgtz", 0, 0, v0, v1);
+   TESTINST5("bgtz", 1, 1, v1, a0);
+   TESTINST5("bgtz", 2, 0xffffffff, a0, a1);
+   TESTINST5("bgtz", 3, 0xffffffff, a1, a2);
+   TESTINST5("bgtz", 4, 0xfffffffe, a2, t0);
+   TESTINST5("bgtz", 5, 0xffffffff, a3, t0);
+   TESTINST5("bgtz", 6, 0x5, t0, t1);
+   TESTINST5("bgtz", 7, -3, t1, t2);
+   TESTINST5("bgtz", 8, 125, t2, t3);
+   TESTINST5("bgtz", 9, 0x80000000, t3, t4);
+   TESTINST5("bgtz", 10, 0xffffffff, t4, t5);
+   TESTINST5("bgtz", 11, 0x256, t5, t6);
+   TESTINST5("bgtz", 12, 0x55, t6, t7);
+   TESTINST5("bgtz", 13, 0xfff, s0, s1);
+   TESTINST5("bgtz", 14, -1, v0, t9);
+   TESTINST5("bgtz", 15, -1, t9, t8);
+
+   printf("BLEZ\n");
+   TESTINST5("blez", 0, 0, v0, v1);
+   TESTINST5("blez", 1, 1, v1, a0);
+   TESTINST5("blez", 2, 0xffffffff, a0, a1);
+   TESTINST5("blez", 3, 0xffffffff, a1, a2);
+   TESTINST5("blez", 4, 0xfffffffe, a2, t0);
+   TESTINST5("blez", 5, 0xffffffff, a3, t0);
+   TESTINST5("blez", 6, 0x5, t0, t1);
+   TESTINST5("blez", 7, -3, t1, t2);
+   TESTINST5("blez", 8, 125, t2, t3);
+   TESTINST5("blez", 9, 0x80000000, t3, t4);
+   TESTINST5("blez", 10, 0xffffffff, t4, t5);
+   TESTINST5("blez", 11, 0x256, t5, t6);
+   TESTINST5("blez", 12, 0x55, t6, t7);
+   TESTINST5("blez", 13, 0xfff, s0, s1);
+   TESTINST5("blez", 14, -1, v0, t9);
+   TESTINST5("blez", 15, -1, t9, t8);
+
+   printf("BLTZ\n");
+   TESTINST5("bltz", 0, 0, v0, v1);
+   TESTINST5("bltz", 1, 1, v1, a0);
+   TESTINST5("bltz", 2, 0xffffffff, a0, a1);
+   TESTINST5("bltz", 3, 0xffffffff, a1, a2);
+   TESTINST5("bltz", 4, 0xfffffffe, a2, t0);
+   TESTINST5("bltz", 5, 0xffffffff, a3, t0);
+   TESTINST5("bltz", 6, 0x5, t0, t1);
+   TESTINST5("bltz", 7, -3, t1, t2);
+   TESTINST5("bltz", 8, 125, t2, t3);
+   TESTINST5("bltz", 9, 0x80000000, t3, t4);
+   TESTINST5("bltz", 10, 0xffffffff, t4, t5);
+   TESTINST5("bltz", 11, 0x256, t5, t6);
+   TESTINST5("bltz", 12, 0x55, t6, t7);
+   TESTINST5("bltz", 13, 0xfff, s0, s1);
+   TESTINST5("bltz", 14, -1, v0, t9);
+   TESTINST5("bltz", 15, -1, t9, t8);
+
+   printf("BGEZAL\n");
+   TESTINST6("bgezal", 0, 0, v0, v1);
+   TESTINST6("bgezal", 1, 1, v1, a0);
+   TESTINST6("bgezal", 2, 0xffffffff, a0, a1);
+   TESTINST6("bgezal", 3, 0xffffffff, a1, a2);
+   TESTINST6("bgezal", 4, 0xfffffffe, a2, t0);
+   TESTINST6("bgezal", 5, 0xffffffff, a3, t0);
+   TESTINST6("bgezal", 6, 0x5, t0, t1);
+   TESTINST6("bgezal", 7, -3, t1, t2);
+   TESTINST6("bgezal", 8, 125, t2, t3);
+   TESTINST6("bgezal", 9, 0x80000000, t3, t4);
+   TESTINST6("bgezal", 10, 0xffffffff, t4, t5);
+   TESTINST6("bgezal", 11, 0x256, t5, t6);
+   TESTINST6("bgezal", 12, 0x55, t6, t7);
+   TESTINST6("bgezal", 13, 0xfff, s0, s1);
+   TESTINST6("bgezal", 14, -1, v0, t9);
+   TESTINST6("bgezal", 15, -1, t9, t8);
+
+   printf("BLTZAL\n");
+   TESTINST6("bltzal", 0, 0, v0, v1);
+   TESTINST6("bltzal", 1, 1, v1, a0);
+   TESTINST6("bltzal", 2, 0xffffffff, a0, a1);
+   TESTINST6("bltzal", 3, 0xffffffff, a1, a2);
+   TESTINST6("bltzal", 4, 0xfffffffe, a2, t0);
+   TESTINST6("bltzal", 5, 0xffffffff, a3, t0);
+   TESTINST6("bltzal", 6, 0x5, t0, t1);
+   TESTINST6("bltzal", 7, -3, t1, t2);
+   TESTINST6("bltzal", 8, 125, t2, t3);
+   TESTINST6("bltzal", 9, 0x80000000, t3, t4);
+   TESTINST6("bltzal", 10, 0xffffffff, t4, t5);
+   TESTINST6("bltzal", 11, 0x256, t5, t6);
+   TESTINST6("bltzal", 12, 0x55, t6, t7);
+   TESTINST6("bltzal", 13, 0xfff, s0, s1);
+   TESTINST6("bltzal", 14, -1, v0, t9);
+   TESTINST6("bltzal", 15, -1, t9, t8);
+
+   printf("BNEZ\n");
+   TESTINST5("bnez", 0, 0, v0, v1);
+   TESTINST5("bnez", 1, 1, v1, a0);
+   TESTINST5("bnez", 2, 0xffffffff, a0, a1);
+   TESTINST5("bnez", 3, 0xffffffff, a1, a2);
+   TESTINST5("bnez", 4, 0xfffffffe, a2, t0);
+   TESTINST5("bnez", 5, 0xffffffff, a3, t0);
+   TESTINST5("bnez", 6, 0x5, t0, t1);
+   TESTINST5("bnez", 7, -3, t1, t2);
+   TESTINST5("bnez", 8, 125, t2, t3);
+   TESTINST5("bnez", 9, 0x80000000, t3, t4);
+   TESTINST5("bnez", 10, 0xffffffff, t4, t5);
+   TESTINST5("bnez", 11, 0x256, t5, t6);
+   TESTINST5("bnez", 12, 0x55, t6, t7);
+   TESTINST5("bnez", 13, 0xfff, s0, s1);
+   TESTINST5("bnez", 14, -1, v0, t9);
+   TESTINST5("bnez", 15, -1, t9, t8);
+
+   printf("beql\n");
+   TESTINST4l("beql", 0, 0, 1, v0, v1, a0);
+   TESTINST4l("beql", 1, 1, 1, v1, a0, a1);
+   TESTINST4l("beql", 2, 0xffffffff, 0xffffffff, a0, a1, a2);
+   TESTINST4l("beql", 3, 0xffffffff, 0xfffffffe, a1, a2, a3);
+   TESTINST4l("beql", 4, 0xfffffffe, 0xffffffff, a2, t0, t1);
+   TESTINST4l("beql", 5, 0xffffffff, 0xffffffff, a3, t0, t1);
+   TESTINST4l("beql", 6, 0x5, 0x5, t0, t1, t2);
+   TESTINST4l("beql", 7, -3, -4, t1, t2, t3);
+   TESTINST4l("beql", 8, 125, 125, t2, t3, t4);
+   TESTINST4l("beql", 9, 0x80000000, 0x80000000, t3, t4, t5);
+   TESTINST4l("beql", 10, 0xffffffff, 0x80000000, t4, t5, t6);
+   TESTINST4l("beql", 11, 0x256, 0x256, t5, t6, t7);
+   TESTINST4l("beql", 12, 0x55, 0x55, t6, t7, s0);
+   TESTINST4l("beql", 13, 0xfff, 0xdd, s0, s1, s2);
+   TESTINST4l("beql", 14, -1, 0x5, v0, t9, t8);
+   TESTINST4l("beql", 15, -1, -1, t9, t8, a3);
+
+   printf("BGEZALL\n");
+   TESTINST5l("bgezall", 0, 0, v0, v1);
+   TESTINST5l("bgezall", 1, 1, v1, a0);
+   TESTINST5l("bgezall", 2, 0xffffffff, a0, a1);
+   TESTINST5l("bgezall", 3, 0xffffffff, a1, a2);
+   TESTINST5l("bgezall", 4, 0xfffffffe, a2, t0);
+   TESTINST5l("bgezall", 5, 0xffffffff, a3, t0);
+   TESTINST5l("bgezall", 6, 0x5, t0, t1);
+   TESTINST5l("bgezall", 7, -3, t1, t2);
+   TESTINST5l("bgezall", 8, 125, t2, t3);
+   TESTINST5l("bgezall", 9, 0x80000000, t3, t4);
+   TESTINST5l("bgezall", 10, 0xffffffff, t4, t5);
+   TESTINST5l("bgezall", 11, 0x256, t5, t6);
+   TESTINST5l("bgezall", 12, 0x55, t6, t7);
+   TESTINST5l("bgezall", 13, 0xfff, s0, s1);
+   TESTINST5l("bgezall", 14, -1, v0, t9);
+   TESTINST5l("bgezall", 15, -1, t9, t8);
+
+   printf("BGEZL\n");
+   TESTINST5l("bgezl", 0, 0, v0, v1);
+   TESTINST5l("bgezl", 1, 1, v1, a0);
+   TESTINST5l("bgezl", 2, 0xffffffff, a0, a1);
+   TESTINST5l("bgezl", 3, 0xffffffff, a1, a2);
+   TESTINST5l("bgezl", 4, 0xfffffffe, a2, t0);
+   TESTINST5l("bgezl", 5, 0xffffffff, a3, t0);
+   TESTINST5l("bgezl", 6, 0x5, t0, t1);
+   TESTINST5l("bgezl", 7, -3, t1, t2);
+   TESTINST5l("bgezl", 8, 125, t2, t3);
+   TESTINST5l("bgezl", 9, 0x80000000, t3, t4);
+   TESTINST5l("bgezl", 10, 0xffffffff, t4, t5);
+   TESTINST5l("bgezl", 11, 0x256, t5, t6);
+   TESTINST5l("bgezl", 12, 0x55, t6, t7);
+   TESTINST5l("bgezl", 13, 0xfff, s0, s1);
+   TESTINST5l("bgezl", 14, -1, v0, t9);
+   TESTINST5l("bgezl", 15, -1, t9, t8);
+
+   printf("BGTZL\n");
+   TESTINST5l("bgtzl", 0, 0, v0, v1);
+   TESTINST5l("bgtzl", 1, 1, v1, a0);
+   TESTINST5l("bgtzl", 2, 0xffffffff, a0, a1);
+   TESTINST5l("bgtzl", 3, 0xffffffff, a1, a2);
+   TESTINST5l("bgtzl", 4, 0xfffffffe, a2, t0);
+   TESTINST5l("bgtzl", 5, 0xffffffff, a3, t0);
+   TESTINST5l("bgtzl", 6, 0x5, t0, t1);
+   TESTINST5l("bgtzl", 7, -3, t1, t2);
+   TESTINST5l("bgtzl", 8, 125, t2, t3);
+   TESTINST5l("bgtzl", 9, 0x80000000, t3, t4);
+   TESTINST5l("bgtzl", 10, 0xffffffff, t4, t5);
+   TESTINST5l("bgtzl", 11, 0x256, t5, t6);
+   TESTINST5l("bgtzl", 12, 0x55, t6, t7);
+   TESTINST5l("bgtzl", 13, 0xfff, s0, s1);
+   TESTINST5l("bgtzl", 14, -1, v0, t9);
+   TESTINST5l("bgtzl", 15, -1, t9, t8);
+
+   printf("BLEZL\n");
+   TESTINST5l("blezl", 0, 0, v0, v1);
+   TESTINST5l("blezl", 1, 1, v1, a0);
+   TESTINST5l("blezl", 2, 0xffffffff, a0, a1);
+   TESTINST5l("blezl", 3, 0xffffffff, a1, a2);
+   TESTINST5l("blezl", 4, 0xfffffffe, a2, t0);
+   TESTINST5l("blezl", 5, 0xffffffff, a3, t0);
+   TESTINST5l("blezl", 6, 0x5, t0, t1);
+   TESTINST5l("blezl", 7, -3, t1, t2);
+   TESTINST5l("blezl", 8, 125, t2, t3);
+   TESTINST5l("blezl", 9, 0x80000000, t3, t4);
+   TESTINST5l("blezl", 10, 0xffffffff, t4, t5);
+   TESTINST5l("blezl", 11, 0x256, t5, t6);
+   TESTINST5l("blezl", 12, 0x55, t6, t7);
+   TESTINST5l("blezl", 13, 0xfff, s0, s1);
+   TESTINST5l("blezl", 14, -1, v0, t9);
+   TESTINST5l("blezl", 15, -1, t9, t8);
+
+   printf("BGEZALL\n");
+   TESTINST6l("bgezall", 0, 0, v0, v1);
+   TESTINST6l("bgezall", 1, 1, v1, a0);
+   TESTINST6l("bgezall", 2, 0xffffffff, a0, a1);
+   TESTINST6l("bgezall", 3, 0xffffffff, a1, a2);
+   TESTINST6l("bgezall", 4, 0xfffffffe, a2, t0);
+   TESTINST6l("bgezall", 5, 0xffffffff, a3, t0);
+   TESTINST6l("bgezall", 6, 0x5, t0, t1);
+   TESTINST6l("bgezall", 7, -3, t1, t2);
+   TESTINST6l("bgezall", 8, 125, t2, t3);
+   TESTINST6l("bgezall", 9, 0x80000000, t3, t4);
+   TESTINST6l("bgezall", 10, 0xffffffff, t4, t5);
+   TESTINST6l("bgezall", 11, 0x256, t5, t6);
+   TESTINST6l("bgezall", 12, 0x55, t6, t7);
+   TESTINST6l("bgezall", 13, 0xfff, s0, s1);
+   TESTINST6l("bgezall", 14, -1, v0, t9);
+   TESTINST6l("bgezall", 15, -1, t9, t8);
+
+   printf("BLTZL\n");
+   TESTINST5l("bltzl", 0, 0, v0, v1);
+   TESTINST5l("bltzl", 1, 1, v1, a0);
+   TESTINST5l("bltzl", 2, 0xffffffff, a0, a1);
+   TESTINST5l("bltzl", 3, 0xffffffff, a1, a2);
+   TESTINST5l("bltzl", 4, 0xfffffffe, a2, t0);
+   TESTINST5l("bltzl", 5, 0xffffffff, a3, t0);
+   TESTINST5l("bltzl", 6, 0x5, t0, t1);
+   TESTINST5l("bltzl", 7, -3, t1, t2);
+   TESTINST5l("bltzl", 8, 125, t2, t3);
+   TESTINST5l("bltzl", 9, 0x80000000, t3, t4);
+   TESTINST5l("bltzl", 10, 0xffffffff, t4, t5);
+   TESTINST5l("bltzl", 11, 0x256, t5, t6);
+   TESTINST5l("bltzl", 12, 0x55, t6, t7);
+   TESTINST5l("bltzl", 13, 0xfff, s0, s1);
+   TESTINST5l("bltzl", 14, -1, v0, t9);
+   TESTINST5l("bltzl", 15, -1, t9, t8);
+
+   printf("BNEL\n");
+   TESTINST4l("bnel", 0, 0, 1, v0, v1, a0);
+   TESTINST4l("bnel", 1, 1, 1, v1, a0, a1);
+   TESTINST4l("bnel", 2, 0xffffffff, 0xffffffff, a0, a1, a2);
+   TESTINST4l("bnel", 3, 0xffffffff, 0xfffffffe, a1, a2, a3);
+   TESTINST4l("bnel", 4, 0xfffffffe, 0xffffffff, a2, t0, t1);
+   TESTINST4l("bnel", 5, 0xffffffff, 0xffffffff, a3, t0, t1);
+   TESTINST4l("bnel", 6, 0x5, 0x5, t0, t1, t2);
+   TESTINST4l("bnel", 7, -3, -4, t1, t2, t3);
+   TESTINST4l("bnel", 8, 125, 125, t2, t3, t4);
+   TESTINST4l("bnel", 9, 0x80000000, 0x80000000, t3, t4, t5);
+   TESTINST4l("bnel", 10, 0xffffffff, 0x80000000, t4, t5, t6);
+   TESTINST4l("bnel", 11, 0x256, 0x256, t5, t6, t7);
+   TESTINST4l("bnel", 12, 0x55, 0x55, t6, t7, s0);
+   TESTINST4l("bnel", 13, 0xfff, 0xdd, s0, s1, s2);
+   TESTINST4l("bnel", 14, -1, 0x5, v0, t9, t8);
+   TESTINST4l("bnel", 15, -1, -1, t9, t8, a3);
+
+   printf("j, jal, jr \n");
+   TESTINST3j(0, v0);
+   TESTINST3j(1, v1);
+   TESTINST3j(2, a0);
+   TESTINST3j(3, a1);
+   TESTINST3j(4, a2);
+   TESTINST3j(5, a3);
+   TESTINST3j(6, a0);
+   TESTINST3j(7, t1);
+   TESTINST3j(8, t2);
+   TESTINST3j(9, t3);
+   TESTINST3j(10, t4);
+   TESTINST3j(11, t5);
+   TESTINST3j(12, t6);
+   TESTINST3j(13, t7);
+   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("j, jalr, jr \n");
+   TESTINST3ja(0, v0);
+   TESTINST3ja(1, v1);
+   TESTINST3ja(2, a0);
+   TESTINST3ja(3, a1);
+   TESTINST3ja(4, a2);
+   TESTINST3ja(5, a3);
+   TESTINST3ja(6, a0);
+   TESTINST3ja(7, a3);
+   TESTINST3ja(8, t2);
+   TESTINST3ja(9, t3);
+   TESTINST3ja(10, t4);
+   TESTINST3ja(11, t5);
+   TESTINST3ja(12, t6);
+   TESTINST3ja(13, t7);
+   TESTINST3ja(14, s0);
+   TESTINST3ja(15, s1);
+   TESTINST3ja(16, s2);
+   TESTINST3ja(17, s3);
+   TESTINST3ja(18, s4);
+   TESTINST3ja(19, s5);
+   TESTINST3ja(20, s6);
+   TESTINST3ja(21, s7);
+   TESTINST3ja(22, t8);
+   TESTINST3ja(23, t9);
+
+   return 0;
+}
diff --git a/none/tests/mips32/branches.stderr.exp b/none/tests/mips32/branches.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips32/branches.stderr.exp
diff --git a/none/tests/mips32/branches.stdout.exp b/none/tests/mips32/branches.stdout.exp
new file mode 100644
index 0000000..f22933b
--- /dev/null
+++ b/none/tests/mips32/branches.stdout.exp
@@ -0,0 +1,431 @@
+b 
+B :: 1, RSval: 0
+B :: 2, RSval: 1
+B :: 3, RSval: 2
+B :: 4, RSval: 3
+B :: 5, RSval: 4
+B :: 6, RSval: 5
+B :: 7, RSval: 6
+B :: 8, RSval: 7
+B :: 9, RSval: 8
+B :: 10, RSval: 9
+B :: 11, RSval: 10
+B :: 12, RSval: 11
+B :: 13, RSval: 12
+B :: 14, RSval: 13
+B :: 15, RSval: 14
+B :: 16, RSval: 15
+B :: 17, RSval: 16
+B :: 18, RSval: 17
+B :: 19, RSval: 18
+B :: 20, RSval: 19
+B :: 21, RSval: 20
+B :: 22, RSval: 21
+B :: 23, RSval: 22
+B :: 24, RSval: 23
+b 
+B :: 3, RSval: 0
+B :: 4, RSval: 1
+B :: 5, RSval: 2
+B :: 6, RSval: 3
+B :: 7, RSval: 4
+B :: 8, RSval: 5
+B :: 9, RSval: 6
+B :: 10, RSval: 7
+B :: 11, RSval: 8
+B :: 12, RSval: 9
+B :: 13, RSval: 10
+B :: 14, RSval: 11
+B :: 15, RSval: 12
+B :: 16, RSval: 13
+B :: 17, RSval: 14
+B :: 18, RSval: 15
+B :: 19, RSval: 16
+B :: 20, RSval: 17
+B :: 21, RSval: 18
+B :: 22, RSval: 19
+B :: 23, RSval: 20
+B :: 24, RSval: 21
+B :: 25, RSval: 22
+B :: 26, RSval: 23
+b, bal, jr 
+B BAL JR :: 6, RSval: 0
+B BAL JR :: 7, RSval: 1
+B BAL JR :: 8, RSval: 2
+B BAL JR :: 9, RSval: 3
+B BAL JR :: 10, RSval: 4
+B BAL JR :: 11, RSval: 5
+B BAL JR :: 12, RSval: 6
+B BAL JR :: 13, RSval: 7
+B BAL JR :: 14, RSval: 8
+B BAL JR :: 15, RSval: 9
+B BAL JR :: 16, RSval: 10
+B BAL JR :: 17, RSval: 11
+B BAL JR :: 18, RSval: 12
+B BAL JR :: 19, RSval: 13
+B BAL JR :: 20, RSval: 14
+B BAL JR :: 21, RSval: 15
+B BAL JR :: 22, RSval: 16
+B BAL JR :: 23, RSval: 17
+B BAL JR :: 24, RSval: 18
+B BAL JR :: 25, RSval: 19
+B BAL JR :: 26, RSval: 20
+B BAL JR :: 27, RSval: 21
+B BAL JR :: 28, RSval: 22
+B BAL JR :: 29, RSval: 23
+beq
+beq :: 6, RSval: 0, RTval: 1
+beq :: 2, RSval: 1, RTval: 1
+beq :: 3, RSval: -1, RTval: -1
+beq :: 9, RSval: -1, RTval: -2
+beq :: 10, RSval: -2, RTval: -1
+beq :: 6, RSval: -1, RTval: -1
+beq :: 7, RSval: 5, RTval: 5
+beq :: 13, RSval: -3, RTval: -4
+beq :: 9, RSval: 125, RTval: 125
+beq :: 10, RSval: -2147483648, RTval: -2147483648
+beq :: 16, RSval: -1, RTval: -2147483648
+beq :: 12, RSval: 598, RTval: 598
+beq :: 13, RSval: 85, RTval: 85
+beq :: 19, RSval: 4095, RTval: 221
+beq :: 20, RSval: -1, RTval: 5
+beq :: 16, RSval: -1, RTval: -1
+bne
+bne :: 1, RSval: 0, RTval: 1
+bne :: 7, RSval: 1, RTval: 1
+bne :: 8, RSval: -1, RTval: -1
+bne :: 4, RSval: -1, RTval: -2
+bne :: 5, RSval: -2, RTval: -1
+bne :: 11, RSval: -1, RTval: -1
+bne :: 12, RSval: 5, RTval: 5
+bne :: 8, RSval: -3, RTval: -4
+bne :: 14, RSval: 125, RTval: 125
+bne :: 15, RSval: -2147483648, RTval: -2147483648
+bne :: 11, RSval: -1, RTval: -2147483648
+bne :: 17, RSval: 598, RTval: 598
+bne :: 18, RSval: 85, RTval: 85
+bne :: 14, RSval: 4095, RTval: 221
+bne :: 15, RSval: -1, RTval: 5
+bne :: 21, RSval: -1, RTval: -1
+BEQZ
+beqz :: 1, RSval: 0
+beqz :: 7, RSval: 1
+beqz :: 8, RSval: -1
+beqz :: 9, RSval: -1
+beqz :: 10, RSval: -2
+beqz :: 11, RSval: -1
+beqz :: 12, RSval: 5
+beqz :: 13, RSval: -3
+beqz :: 14, RSval: 125
+beqz :: 15, RSval: -2147483648
+beqz :: 16, RSval: -1
+beqz :: 17, RSval: 598
+beqz :: 18, RSval: 85
+beqz :: 19, RSval: 4095
+beqz :: 20, RSval: -1
+beqz :: 21, RSval: -1
+BGEZ
+bgez :: 1, RSval: 0
+bgez :: 2, RSval: 1
+bgez :: 8, RSval: -1
+bgez :: 9, RSval: -1
+bgez :: 10, RSval: -2
+bgez :: 11, RSval: -1
+bgez :: 7, RSval: 5
+bgez :: 13, RSval: -3
+bgez :: 9, RSval: 125
+bgez :: 15, RSval: -2147483648
+bgez :: 16, RSval: -1
+bgez :: 12, RSval: 598
+bgez :: 13, RSval: 85
+bgez :: 14, RSval: 4095
+bgez :: 20, RSval: -1
+bgez :: 21, RSval: -1
+BGTZ
+bgtz :: 6, RSval: 0
+bgtz :: 2, RSval: 1
+bgtz :: 8, RSval: -1
+bgtz :: 9, RSval: -1
+bgtz :: 10, RSval: -2
+bgtz :: 11, RSval: -1
+bgtz :: 7, RSval: 5
+bgtz :: 13, RSval: -3
+bgtz :: 9, RSval: 125
+bgtz :: 15, RSval: -2147483648
+bgtz :: 16, RSval: -1
+bgtz :: 12, RSval: 598
+bgtz :: 13, RSval: 85
+bgtz :: 14, RSval: 4095
+bgtz :: 20, RSval: -1
+bgtz :: 21, RSval: -1
+BLEZ
+blez :: 1, RSval: 0
+blez :: 7, RSval: 1
+blez :: 3, RSval: -1
+blez :: 4, RSval: -1
+blez :: 5, RSval: -2
+blez :: 6, RSval: -1
+blez :: 12, RSval: 5
+blez :: 8, RSval: -3
+blez :: 14, RSval: 125
+blez :: 10, RSval: -2147483648
+blez :: 11, RSval: -1
+blez :: 17, RSval: 598
+blez :: 18, RSval: 85
+blez :: 19, RSval: 4095
+blez :: 15, RSval: -1
+blez :: 16, RSval: -1
+BLTZ
+bltz :: 6, RSval: 0
+bltz :: 7, RSval: 1
+bltz :: 3, RSval: -1
+bltz :: 4, RSval: -1
+bltz :: 5, RSval: -2
+bltz :: 6, RSval: -1
+bltz :: 12, RSval: 5
+bltz :: 8, RSval: -3
+bltz :: 14, RSval: 125
+bltz :: 10, RSval: -2147483648
+bltz :: 11, RSval: -1
+bltz :: 17, RSval: 598
+bltz :: 18, RSval: 85
+bltz :: 19, RSval: 4095
+bltz :: 15, RSval: -1
+bltz :: 16, RSval: -1
+BGEZAL
+bgezal :: 6, RSval: 0
+bgezal :: 7, RSval: 1
+bgezal :: 7, RSval: -1
+bgezal :: 8, RSval: -1
+bgezal :: 9, RSval: -2
+bgezal :: 10, RSval: -1
+bgezal :: 12, RSval: 5
+bgezal :: 12, RSval: -3
+bgezal :: 14, RSval: 125
+bgezal :: 14, RSval: -2147483648
+bgezal :: 15, RSval: -1
+bgezal :: 17, RSval: 598
+bgezal :: 18, RSval: 85
+bgezal :: 19, RSval: 4095
+bgezal :: 19, RSval: -1
+bgezal :: 20, RSval: -1
+BLTZAL
+bltzal :: 5, RSval: 0
+bltzal :: 6, RSval: 1
+bltzal :: 8, RSval: -1
+bltzal :: 9, RSval: -1
+bltzal :: 10, RSval: -2
+bltzal :: 11, RSval: -1
+bltzal :: 11, RSval: 5
+bltzal :: 13, RSval: -3
+bltzal :: 13, RSval: 125
+bltzal :: 15, RSval: -2147483648
+bltzal :: 16, RSval: -1
+bltzal :: 16, RSval: 598
+bltzal :: 17, RSval: 85
+bltzal :: 18, RSval: 4095
+bltzal :: 20, RSval: -1
+bltzal :: 21, RSval: -1
+BNEZ
+bnez :: 6, RSval: 0
+bnez :: 2, RSval: 1
+bnez :: 3, RSval: -1
+bnez :: 4, RSval: -1
+bnez :: 5, RSval: -2
+bnez :: 6, RSval: -1
+bnez :: 7, RSval: 5
+bnez :: 8, RSval: -3
+bnez :: 9, RSval: 125
+bnez :: 10, RSval: -2147483648
+bnez :: 11, RSval: -1
+bnez :: 12, RSval: 598
+bnez :: 13, RSval: 85
+bnez :: 14, RSval: 4095
+bnez :: 15, RSval: -1
+bnez :: 16, RSval: -1
+beql
+beql :: 9, RSval: 0, RTval: 1
+beql :: 2, RSval: 1, RTval: 1
+beql :: 3, RSval: -1, RTval: -1
+beql :: 12, RSval: -1, RTval: -2
+beql :: 13, RSval: -2, RTval: -1
+beql :: 6, RSval: -1, RTval: -1
+beql :: 7, RSval: 5, RTval: 5
+beql :: 16, RSval: -3, RTval: -4
+beql :: 9, RSval: 125, RTval: 125
+beql :: 10, RSval: -2147483648, RTval: -2147483648
+beql :: 19, RSval: -1, RTval: -2147483648
+beql :: 12, RSval: 598, RTval: 598
+beql :: 13, RSval: 85, RTval: 85
+beql :: 22, RSval: 4095, RTval: 221
+beql :: 23, RSval: -1, RTval: 5
+beql :: 16, RSval: -1, RTval: -1
+BGEZALL
+bgezall :: 1, RSval: 0
+bgezall :: 2, RSval: 1
+bgezall :: 11, RSval: -1
+bgezall :: 12, RSval: -1
+bgezall :: 13, RSval: -2
+bgezall :: 14, RSval: -1
+bgezall :: 7, RSval: 5
+bgezall :: 16, RSval: -3
+bgezall :: 9, RSval: 125
+bgezall :: 18, RSval: -2147483648
+bgezall :: 19, RSval: -1
+bgezall :: 12, RSval: 598
+bgezall :: 13, RSval: 85
+bgezall :: 14, RSval: 4095
+bgezall :: 23, RSval: -1
+bgezall :: 24, RSval: -1
+BGEZL
+bgezl :: 1, RSval: 0
+bgezl :: 2, RSval: 1
+bgezl :: 11, RSval: -1
+bgezl :: 12, RSval: -1
+bgezl :: 13, RSval: -2
+bgezl :: 14, RSval: -1
+bgezl :: 7, RSval: 5
+bgezl :: 16, RSval: -3
+bgezl :: 9, RSval: 125
+bgezl :: 18, RSval: -2147483648
+bgezl :: 19, RSval: -1
+bgezl :: 12, RSval: 598
+bgezl :: 13, RSval: 85
+bgezl :: 14, RSval: 4095
+bgezl :: 23, RSval: -1
+bgezl :: 24, RSval: -1
+BGTZL
+bgtzl :: 9, RSval: 0
+bgtzl :: 2, RSval: 1
+bgtzl :: 11, RSval: -1
+bgtzl :: 12, RSval: -1
+bgtzl :: 13, RSval: -2
+bgtzl :: 14, RSval: -1
+bgtzl :: 7, RSval: 5
+bgtzl :: 16, RSval: -3
+bgtzl :: 9, RSval: 125
+bgtzl :: 18, RSval: -2147483648
+bgtzl :: 19, RSval: -1
+bgtzl :: 12, RSval: 598
+bgtzl :: 13, RSval: 85
+bgtzl :: 14, RSval: 4095
+bgtzl :: 23, RSval: -1
+bgtzl :: 24, RSval: -1
+BLEZL
+blezl :: 1, RSval: 0
+blezl :: 10, RSval: 1
+blezl :: 3, RSval: -1
+blezl :: 4, RSval: -1
+blezl :: 5, RSval: -2
+blezl :: 6, RSval: -1
+blezl :: 15, RSval: 5
+blezl :: 8, RSval: -3
+blezl :: 17, RSval: 125
+blezl :: 10, RSval: -2147483648
+blezl :: 11, RSval: -1
+blezl :: 20, RSval: 598
+blezl :: 21, RSval: 85
+blezl :: 22, RSval: 4095
+blezl :: 15, RSval: -1
+blezl :: 16, RSval: -1
+BGEZALL
+bgezall :: 9, RSval: 0
+bgezall :: 10, RSval: 1
+bgezall :: 10, RSval: -1
+bgezall :: 11, RSval: -1
+bgezall :: 12, RSval: -2
+bgezall :: 13, RSval: -1
+bgezall :: 15, RSval: 5
+bgezall :: 15, RSval: -3
+bgezall :: 17, RSval: 125
+bgezall :: 17, RSval: -2147483648
+bgezall :: 18, RSval: -1
+bgezall :: 20, RSval: 598
+bgezall :: 21, RSval: 85
+bgezall :: 22, RSval: 4095
+bgezall :: 22, RSval: -1
+bgezall :: 23, RSval: -1
+BLTZL
+bltzl :: 9, RSval: 0
+bltzl :: 10, RSval: 1
+bltzl :: 3, RSval: -1
+bltzl :: 4, RSval: -1
+bltzl :: 5, RSval: -2
+bltzl :: 6, RSval: -1
+bltzl :: 15, RSval: 5
+bltzl :: 8, RSval: -3
+bltzl :: 17, RSval: 125
+bltzl :: 10, RSval: -2147483648
+bltzl :: 11, RSval: -1
+bltzl :: 20, RSval: 598
+bltzl :: 21, RSval: 85
+bltzl :: 22, RSval: 4095
+bltzl :: 15, RSval: -1
+bltzl :: 16, RSval: -1
+BNEL
+bnel :: 1, RSval: 0, RTval: 1
+bnel :: 10, RSval: 1, RTval: 1
+bnel :: 11, RSval: -1, RTval: -1
+bnel :: 4, RSval: -1, RTval: -2
+bnel :: 5, RSval: -2, RTval: -1
+bnel :: 14, RSval: -1, RTval: -1
+bnel :: 15, RSval: 5, RTval: 5
+bnel :: 8, RSval: -3, RTval: -4
+bnel :: 17, RSval: 125, RTval: 125
+bnel :: 18, RSval: -2147483648, RTval: -2147483648
+bnel :: 11, RSval: -1, RTval: -2147483648
+bnel :: 20, RSval: 598, RTval: 598
+bnel :: 21, RSval: 85, RTval: 85
+bnel :: 14, RSval: 4095, RTval: 221
+bnel :: 15, RSval: -1, RTval: 5
+bnel :: 24, RSval: -1, RTval: -1
+j, jal, jr 
+J JAL JR :: 6, RSval: 0
+J JAL JR :: 7, RSval: 1
+J JAL JR :: 8, RSval: 2
+J JAL JR :: 9, RSval: 3
+J JAL JR :: 10, RSval: 4
+J JAL JR :: 11, RSval: 5
+J JAL JR :: 12, RSval: 6
+J JAL JR :: 13, RSval: 7
+J JAL JR :: 14, RSval: 8
+J JAL JR :: 15, RSval: 9
+J JAL JR :: 16, RSval: 10
+J JAL JR :: 17, RSval: 11
+J JAL JR :: 18, RSval: 12
+J JAL JR :: 19, RSval: 13
+J JAL JR :: 20, RSval: 14
+J JAL JR :: 21, RSval: 15
+J JAL JR :: 22, RSval: 16
+J JAL JR :: 23, RSval: 17
+J JAL JR :: 24, RSval: 18
+J JAL JR :: 25, RSval: 19
+J JAL JR :: 26, RSval: 20
+J JAL JR :: 27, RSval: 21
+J JAL JR :: 28, RSval: 22
+J JAL JR :: 29, RSval: 23
+j, jalr, jr 
+J JALR JR :: 6, RSval: 0
+J JALR JR :: 7, RSval: 1
+J JALR JR :: 8, RSval: 2
+J JALR JR :: 9, RSval: 3
+J JALR JR :: 10, RSval: 4
+J JALR JR :: 11, RSval: 5
+J JALR JR :: 12, RSval: 6
+J JALR JR :: 13, RSval: 7
+J JALR JR :: 14, RSval: 8
+J JALR JR :: 15, RSval: 9
+J JALR JR :: 16, RSval: 10
+J JALR JR :: 17, RSval: 11
+J JALR JR :: 18, RSval: 12
+J JALR JR :: 19, RSval: 13
+J JALR JR :: 20, RSval: 14
+J JALR JR :: 21, RSval: 15
+J JALR JR :: 22, RSval: 16
+J JALR JR :: 23, RSval: 17
+J JALR JR :: 24, RSval: 18
+J JALR JR :: 25, RSval: 19
+J JALR JR :: 26, RSval: 20
+J JALR JR :: 27, RSval: 21
+J JALR JR :: 28, RSval: 22
+J JALR JR :: 29, RSval: 23
diff --git a/none/tests/mips32/branches.vgtest b/none/tests/mips32/branches.vgtest
new file mode 100644
index 0000000..24b9486
--- /dev/null
+++ b/none/tests/mips32/branches.vgtest
@@ -0,0 +1,2 @@
+prog: branches
+vgopts: -q
diff --git a/none/tests/mips32/filter_stderr b/none/tests/mips32/filter_stderr
new file mode 100755
index 0000000..616ce05
--- /dev/null
+++ b/none/tests/mips32/filter_stderr
@@ -0,0 +1,4 @@
+#! /bin/sh
+
+../filter_stderr
+
diff --git a/none/tests/mips32/round.c b/none/tests/mips32/round.c
new file mode 100644
index 0000000..270ea6d
--- /dev/null
+++ b/none/tests/mips32/round.c
@@ -0,0 +1,267 @@
+#include <stdio.h>
+
+typedef enum {
+   CEILWS=0, CEILWD,
+   FLOORWS, FLOORWD,
+   ROUNDWS, ROUNDWD,
+   TRUNCWS, TRUNCWD
+} flt_dir_op_t;
+
+typedef enum {
+   CVTDS, CVTDW,
+   CVTSD, CVTSW,
+   CVTWS, CVTWD
+} flt_round_op_t;
+
+typedef enum {
+   TO_NEAREST=0, TO_ZERO, TO_PLUS_INFINITY, TO_MINUS_INFINITY } round_mode_t;
+char *round_mode_name[] = { "near", "zero", "+inf", "-inf" };
+
+
+const char *flt_dir_op_names[] = {
+   "ceil.w.s", "ceil.w.d",
+   "floor.w.s", "floor.w.d",
+   "round.w.s", "round.w.d",
+   "trunc.w.s", "trunc.w.d"
+};
+
+const char *flt_round_op_names[] = {
+   "cvt.d.s", "cvt.d.w",
+   "cvt.s.d", "cvt.s.w",
+   "cvt.w.s", "cvt.w.d"
+};
+
+const double fs_d[] = {
+   0, 456.2489562, 3, -1,
+   1384.6, -7.2945676, 1000000000, -5786.47,
+   1752, 0.0024575, 0.00000001, -248562.76,
+   -45786.476, 456.2489562, 34.00046, 45786.476,
+   1752065, 107, -45667.24, -7.2945676,
+   -347856.475, 356047.56, -1.0, 23.04,
+};
+
+const float fs_f[] = {
+   0, 456.2489562, 3, -1,
+   1384.6, -7.2945676, 1000000000, -5786.47,
+   1752, 0.0024575, 0.00000001, -248562.76,
+   -45786.476, 456.2489562, 34.00046, 45786.476,
+   1752065, 107, -45667.24, -7.2945676,
+   -347856.475, 356047.56, -1.0, 23.04,
+};
+
+const int fs_w[] = {
+   0, 456, 3, -1,
+   0xffffffff, 356, 1000000000, -5786,
+   1752, 24575, 10, -248562,
+   -45786, 456, 34, 45786,
+   1752065, 107, -45667, -7,
+   -347856, 0x80000000, 0xFFFFFFF, 23,
+};
+
+#define BINOP(op) \
+        __asm__ volatile( \
+					op" %0, %1, %2\n\t" \
+					: "=f"(fd) : "f"(f) , "f"(fB));
+
+#define UNOPdd(op) \
+        fd_d = 0;  \
+        __asm__ volatile( \
+					op" %0, %1\n\t" \
+					: "=f"(fd_d) : "f"(fs_d[i]));
+
+#define UNOPff(op) \
+        fd_f = 0;  \
+        __asm__ volatile( \
+					op" %0, %1\n\t" \
+					: "=f"(fd_f) : "f"(fs_f[i]));
+
+#define UNOPfd(op) \
+        fd_d = 0;  \
+        __asm__ volatile( \
+					op" %0, %1\n\t" \
+					: "=f"(fd_d) : "f"(fs_f[i]));
+
+#define UNOPdf(op) \
+        fd_f = 0;  \
+        __asm__ volatile( \
+					op" %0, %1\n\t" \
+					: "=f"(fd_f) : "f"(fs_d[i]));
+
+#define UNOPfw(op) \
+        fd_w = 0;  \
+        __asm__ volatile( \
+					op" $f0, %1\n\t" \
+					"mfc1 %0, $f0\n\t" \
+					: "=r"(fd_w) : "f"(fs_f[i]) \
+					: "$f0");
+
+#define UNOPdw(op) \
+        fd_w = 0;  \
+        __asm__ volatile( \
+					op" $f0, %1\n\t" \
+					"mfc1 %0, $f0\n\t" \
+					: "=r"(fd_w) : "f"(fs_d[i]) \
+					: "$f0");
+
+#define UNOPwd(op) \
+        fd_d = 0;  \
+        __asm__ volatile( \
+                    "mtc1 %1, $f0\n\t" \
+					op" %0, $f0\n\t" \
+					: "=f"(fd_d) : "r"(fs_w[i]) \
+					: "$f0", "$f1");
+
+#define UNOPwf(op) \
+        fd_f = 0;  \
+        __asm__ volatile( \
+                    "mtc1 %1, $f0\n\t" \
+					op" %0, $f0\n\t" \
+					: "=f"(fd_f) : "r"(fs_w[i]) \
+					: "$f0");
+
+void set_rounding_mode(round_mode_t mode)
+{
+	switch(mode) {
+	case TO_NEAREST:
+		__asm__ volatile("cfc1 $t0, $31\n\t"
+		             "srl $t0, 2\n\t"
+		             "sll $t0, 2\n\t"
+		             "ctc1 $t0, $31\n\t");
+		             
+		break;
+	case TO_ZERO:
+		__asm__ volatile("cfc1 $t0, $31\n\t"
+		             "srl $t0, 2\n\t"
+		             "sll $t0, 2\n\t"
+		             "addiu $t0, 1\n\t"
+		             "ctc1 $t0, $31\n\t");
+		break;
+	case TO_PLUS_INFINITY:
+		__asm__ volatile("cfc1 $t0, $31\n\t"
+		             "srl $t0, 2\n\t"
+		             "sll $t0, 2\n\t"
+		             "addiu $t0, 2\n\t"
+		             "ctc1 $t0, $31\n\t");
+		break;
+	case TO_MINUS_INFINITY:
+		__asm__ volatile("cfc1 $t0, $31\n\t"
+		             "srl $t0, 2\n\t"
+		             "sll $t0, 2\n\t"
+		             "addiu $t0, 3\n\t"
+		             "ctc1 $t0, $31\n\t");
+		break;
+	}
+}
+
+int directedRoundingMode(flt_dir_op_t op) {
+   int fd_w = 0;
+   int i;
+   for (i = 0; i < 24; i++) {
+      switch(op) {
+         case CEILWS:
+              UNOPfw("ceil.w.s");
+              printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+              break;
+         case CEILWD:
+              UNOPdw("ceil.w.d");
+              printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+              break;
+         case FLOORWS:
+              UNOPfw("floor.w.s");
+              printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+              break;
+         case FLOORWD:
+              UNOPdw("floor.w.d");
+              printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+              break;
+         case ROUNDWS:
+              UNOPfw("round.w.s");
+              printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+              break;
+         case ROUNDWD:
+              UNOPdw("round.w.d");
+              printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+              break;
+         case TRUNCWS:
+              UNOPfw("trunc.w.s");
+              printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+              break;
+         case TRUNCWD:
+              UNOPdw("trunc.w.d");
+              printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+              break;
+        default:
+            printf("error\n");
+            break;
+        }
+    }
+   return 0;
+}
+
+int FCSRRoundingMode(flt_round_op_t op1) 
+{
+   double fd_d = 0;
+   float fd_f = 0;
+   int fd_w = 0;
+   int i;
+   round_mode_t rm;
+   for (rm = TO_NEAREST; rm <= TO_MINUS_INFINITY; rm ++)
+   { 
+      set_rounding_mode(rm);
+      printf("roundig mode: %s\n", round_mode_name[rm]);
+      for (i = 0; i < 24; i++)
+      {
+         set_rounding_mode(rm);
+         switch(op1) {
+            case CVTDS:
+                 UNOPfd("cvt.d.s");
+                 printf("%s %lf %lf\n", flt_round_op_names[op1], fd_d, fs_f[i]);
+                 break;
+            case CVTDW:
+                 UNOPwd("cvt.d.w");
+                 printf("%s %lf %d\n", flt_round_op_names[op1], fd_d, fs_w[i]);
+                 break;
+            case CVTSD:
+                 UNOPdf("cvt.s.d");
+                 printf("%s %f %lf\n", flt_round_op_names[op1], fd_f, fs_d[i]);
+                 break;
+            case CVTSW:
+                 UNOPwf("cvt.s.w");
+                 printf("%s %f %d\n", flt_round_op_names[op1], fd_f, fs_w[i]);
+                 break;
+            case CVTWS:
+                 UNOPfw("cvt.w.s");
+                 printf("%s %d %f\n", flt_round_op_names[op1], fd_w, fs_f[i]);
+                 break;
+            case CVTWD:
+                 UNOPdw("cvt.w.d");
+                 printf("%s %d %lf\n", flt_round_op_names[op1], fd_w, fs_d[i]);
+                 break;
+            default:
+                 printf("error\n");
+                 break;
+         }
+      }
+   }
+   return 0;
+}
+
+int main()
+{
+   flt_dir_op_t op;
+   flt_round_op_t op1;
+
+   printf("-------------------------- %s --------------------------\n",
+        "test FPU Conversion Operations Using a Directed Rounding Mode");
+   for (op = CEILWS; op <= TRUNCWD; op++) {
+      directedRoundingMode(op);
+   }
+   
+   printf("-------------------------- %s --------------------------\n",
+        "test FPU Conversion Operations Using the FCSR Rounding Mode");
+   for (op1 = CVTDS; op1 <= CVTWD; op1++) {
+      FCSRRoundingMode(op1);
+   }
+   return 0;
+}
+
diff --git a/none/tests/mips32/round.stderr.exp b/none/tests/mips32/round.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips32/round.stderr.exp
diff --git a/none/tests/mips32/round.stdout.exp b/none/tests/mips32/round.stdout.exp
new file mode 100644
index 0000000..0a3d655
--- /dev/null
+++ b/none/tests/mips32/round.stdout.exp
@@ -0,0 +1,794 @@
+-------------------------- test FPU Conversion Operations Using a Directed Rounding Mode --------------------------
+ceil.w.s 0 0.000000
+ceil.w.s 457 456.248962
+ceil.w.s 3 3.000000
+ceil.w.s -1 -1.000000
+ceil.w.s 1385 1384.599976
+ceil.w.s -7 -7.294568
+ceil.w.s 1000000000 1000000000.000000
+ceil.w.s -5786 -5786.470215
+ceil.w.s 1752 1752.000000
+ceil.w.s 1 0.002457
+ceil.w.s 1 0.000000
+ceil.w.s -248562 -248562.765625
+ceil.w.s -45786 -45786.476562
+ceil.w.s 457 456.248962
+ceil.w.s 35 34.000462
+ceil.w.s 45787 45786.476562
+ceil.w.s 1752065 1752065.000000
+ceil.w.s 107 107.000000
+ceil.w.s -45667 -45667.238281
+ceil.w.s -7 -7.294568
+ceil.w.s -347856 -347856.468750
+ceil.w.s 356048 356047.562500
+ceil.w.s -1 -1.000000
+ceil.w.s 24 23.040001
+ceil.w.d 0 0.000000
+ceil.w.d 457 456.248956
+ceil.w.d 3 3.000000
+ceil.w.d -1 -1.000000
+ceil.w.d 1385 1384.600000
+ceil.w.d -7 -7.294568
+ceil.w.d 1000000000 1000000000.000000
+ceil.w.d -5786 -5786.470000
+ceil.w.d 1752 1752.000000
+ceil.w.d 1 0.002458
+ceil.w.d 1 0.000000
+ceil.w.d -248562 -248562.760000
+ceil.w.d -45786 -45786.476000
+ceil.w.d 457 456.248956
+ceil.w.d 35 34.000460
+ceil.w.d 45787 45786.476000
+ceil.w.d 1752065 1752065.000000
+ceil.w.d 107 107.000000
+ceil.w.d -45667 -45667.240000
+ceil.w.d -7 -7.294568
+ceil.w.d -347856 -347856.475000
+ceil.w.d 356048 356047.560000
+ceil.w.d -1 -1.000000
+ceil.w.d 24 23.040000
+floor.w.s 0 0.000000
+floor.w.s 456 456.248962
+floor.w.s 3 3.000000
+floor.w.s -1 -1.000000
+floor.w.s 1384 1384.599976
+floor.w.s -8 -7.294568
+floor.w.s 1000000000 1000000000.000000
+floor.w.s -5787 -5786.470215
+floor.w.s 1752 1752.000000
+floor.w.s 0 0.002457
+floor.w.s 0 0.000000
+floor.w.s -248563 -248562.765625
+floor.w.s -45787 -45786.476562
+floor.w.s 456 456.248962
+floor.w.s 34 34.000462
+floor.w.s 45786 45786.476562
+floor.w.s 1752065 1752065.000000
+floor.w.s 107 107.000000
+floor.w.s -45668 -45667.238281
+floor.w.s -8 -7.294568
+floor.w.s -347857 -347856.468750
+floor.w.s 356047 356047.562500
+floor.w.s -1 -1.000000
+floor.w.s 23 23.040001
+floor.w.d 0 0.000000
+floor.w.d 456 456.248956
+floor.w.d 3 3.000000
+floor.w.d -1 -1.000000
+floor.w.d 1384 1384.600000
+floor.w.d -8 -7.294568
+floor.w.d 1000000000 1000000000.000000
+floor.w.d -5787 -5786.470000
+floor.w.d 1752 1752.000000
+floor.w.d 0 0.002458
+floor.w.d 0 0.000000
+floor.w.d -248563 -248562.760000
+floor.w.d -45787 -45786.476000
+floor.w.d 456 456.248956
+floor.w.d 34 34.000460
+floor.w.d 45786 45786.476000
+floor.w.d 1752065 1752065.000000
+floor.w.d 107 107.000000
+floor.w.d -45668 -45667.240000
+floor.w.d -8 -7.294568
+floor.w.d -347857 -347856.475000
+floor.w.d 356047 356047.560000
+floor.w.d -1 -1.000000
+floor.w.d 23 23.040000
+round.w.s 0 0.000000
+round.w.s 456 456.248962
+round.w.s 3 3.000000
+round.w.s -1 -1.000000
+round.w.s 1385 1384.599976
+round.w.s -7 -7.294568
+round.w.s 1000000000 1000000000.000000
+round.w.s -5786 -5786.470215
+round.w.s 1752 1752.000000
+round.w.s 0 0.002457
+round.w.s 0 0.000000
+round.w.s -248563 -248562.765625
+round.w.s -45786 -45786.476562
+round.w.s 456 456.248962
+round.w.s 34 34.000462
+round.w.s 45786 45786.476562
+round.w.s 1752065 1752065.000000
+round.w.s 107 107.000000
+round.w.s -45667 -45667.238281
+round.w.s -7 -7.294568
+round.w.s -347856 -347856.468750
+round.w.s 356048 356047.562500
+round.w.s -1 -1.000000
+round.w.s 23 23.040001
+round.w.d 0 0.000000
+round.w.d 456 456.248956
+round.w.d 3 3.000000
+round.w.d -1 -1.000000
+round.w.d 1385 1384.600000
+round.w.d -7 -7.294568
+round.w.d 1000000000 1000000000.000000
+round.w.d -5786 -5786.470000
+round.w.d 1752 1752.000000
+round.w.d 0 0.002458
+round.w.d 0 0.000000
+round.w.d -248563 -248562.760000
+round.w.d -45786 -45786.476000
+round.w.d 456 456.248956
+round.w.d 34 34.000460
+round.w.d 45786 45786.476000
+round.w.d 1752065 1752065.000000
+round.w.d 107 107.000000
+round.w.d -45667 -45667.240000
+round.w.d -7 -7.294568
+round.w.d -347856 -347856.475000
+round.w.d 356048 356047.560000
+round.w.d -1 -1.000000
+round.w.d 23 23.040000
+trunc.w.s 0 0.000000
+trunc.w.s 456 456.248962
+trunc.w.s 3 3.000000
+trunc.w.s -1 -1.000000
+trunc.w.s 1384 1384.599976
+trunc.w.s -7 -7.294568
+trunc.w.s 1000000000 1000000000.000000
+trunc.w.s -5786 -5786.470215
+trunc.w.s 1752 1752.000000
+trunc.w.s 0 0.002457
+trunc.w.s 0 0.000000
+trunc.w.s -248562 -248562.765625
+trunc.w.s -45786 -45786.476562
+trunc.w.s 456 456.248962
+trunc.w.s 34 34.000462
+trunc.w.s 45786 45786.476562
+trunc.w.s 1752065 1752065.000000
+trunc.w.s 107 107.000000
+trunc.w.s -45667 -45667.238281
+trunc.w.s -7 -7.294568
+trunc.w.s -347856 -347856.468750
+trunc.w.s 356047 356047.562500
+trunc.w.s -1 -1.000000
+trunc.w.s 23 23.040001
+trunc.w.d 0 0.000000
+trunc.w.d 456 456.248956
+trunc.w.d 3 3.000000
+trunc.w.d -1 -1.000000
+trunc.w.d 1384 1384.600000
+trunc.w.d -7 -7.294568
+trunc.w.d 1000000000 1000000000.000000
+trunc.w.d -5786 -5786.470000
+trunc.w.d 1752 1752.000000
+trunc.w.d 0 0.002458
+trunc.w.d 0 0.000000
+trunc.w.d -248562 -248562.760000
+trunc.w.d -45786 -45786.476000
+trunc.w.d 456 456.248956
+trunc.w.d 34 34.000460
+trunc.w.d 45786 45786.476000
+trunc.w.d 1752065 1752065.000000
+trunc.w.d 107 107.000000
+trunc.w.d -45667 -45667.240000
+trunc.w.d -7 -7.294568
+trunc.w.d -347856 -347856.475000
+trunc.w.d 356047 356047.560000
+trunc.w.d -1 -1.000000
+trunc.w.d 23 23.040000
+-------------------------- test FPU Conversion Operations Using the FCSR Rounding Mode --------------------------
+roundig mode: near
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.000000 0.000000
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: zero
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.000000 0.000000
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: +inf
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.000000 0.000000
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: -inf
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.000000 0.000000
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: near
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: zero
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: +inf
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: -inf
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: near
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.599976 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.470215 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002457 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.765625 -248562.760000
+cvt.s.d -45786.476562 -45786.476000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 34.000462 34.000460
+cvt.s.d 45786.476562 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.238281 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.468750 -347856.475000
+cvt.s.d 356047.562500 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.040001 23.040000
+roundig mode: zero
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.599976 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.469727 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002457 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.750000 -248562.760000
+cvt.s.d -45786.472656 -45786.476000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 34.000458 34.000460
+cvt.s.d 45786.472656 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.238281 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.468750 -347856.475000
+cvt.s.d 356047.531250 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.039999 23.040000
+roundig mode: +inf
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.600098 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.469727 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002458 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.750000 -248562.760000
+cvt.s.d -45786.472656 -45786.476000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 34.000462 34.000460
+cvt.s.d 45786.476562 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.238281 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.468750 -347856.475000
+cvt.s.d 356047.562500 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.040001 23.040000
+roundig mode: -inf
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.599976 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.470215 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002457 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.765625 -248562.760000
+cvt.s.d -45786.476562 -45786.476000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 34.000458 34.000460
+cvt.s.d 45786.472656 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.242188 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.500000 -347856.475000
+cvt.s.d 356047.531250 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.039999 23.040000
+roundig mode: near
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435456.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: zero
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435440.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: +inf
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435456.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: -inf
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435440.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: near
+cvt.w.s 0 0.000000
+cvt.w.s 456 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1385 1384.599976
+cvt.w.s -7 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5786 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 0 0.002457
+cvt.w.s 0 0.000000
+cvt.w.s -248563 -248562.765625
+cvt.w.s -45786 -45786.476562
+cvt.w.s 456 456.248962
+cvt.w.s 34 34.000462
+cvt.w.s 45786 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45667 -45667.238281
+cvt.w.s -7 -7.294568
+cvt.w.s -347856 -347856.468750
+cvt.w.s 356048 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 23 23.040001
+roundig mode: zero
+cvt.w.s 0 0.000000
+cvt.w.s 456 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1384 1384.599976
+cvt.w.s -7 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5786 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 0 0.002457
+cvt.w.s 0 0.000000
+cvt.w.s -248562 -248562.765625
+cvt.w.s -45786 -45786.476562
+cvt.w.s 456 456.248962
+cvt.w.s 34 34.000462
+cvt.w.s 45786 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45667 -45667.238281
+cvt.w.s -7 -7.294568
+cvt.w.s -347856 -347856.468750
+cvt.w.s 356047 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 23 23.040001
+roundig mode: +inf
+cvt.w.s 0 0.000000
+cvt.w.s 457 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1385 1384.599976
+cvt.w.s -7 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5786 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 1 0.002457
+cvt.w.s 1 0.000000
+cvt.w.s -248562 -248562.765625
+cvt.w.s -45786 -45786.476562
+cvt.w.s 457 456.248962
+cvt.w.s 35 34.000462
+cvt.w.s 45787 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45667 -45667.238281
+cvt.w.s -7 -7.294568
+cvt.w.s -347856 -347856.468750
+cvt.w.s 356048 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 24 23.040001
+roundig mode: -inf
+cvt.w.s 0 0.000000
+cvt.w.s 456 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1384 1384.599976
+cvt.w.s -8 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5787 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 0 0.002457
+cvt.w.s 0 0.000000
+cvt.w.s -248563 -248562.765625
+cvt.w.s -45787 -45786.476562
+cvt.w.s 456 456.248962
+cvt.w.s 34 34.000462
+cvt.w.s 45786 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45668 -45667.238281
+cvt.w.s -8 -7.294568
+cvt.w.s -347857 -347856.468750
+cvt.w.s 356047 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 23 23.040001
+roundig mode: near
+cvt.w.d 0 0.000000
+cvt.w.d 456 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1385 1384.600000
+cvt.w.d -7 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5786 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 0 0.002458
+cvt.w.d 0 0.000000
+cvt.w.d -248563 -248562.760000
+cvt.w.d -45786 -45786.476000
+cvt.w.d 456 456.248956
+cvt.w.d 34 34.000460
+cvt.w.d 45786 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45667 -45667.240000
+cvt.w.d -7 -7.294568
+cvt.w.d -347856 -347856.475000
+cvt.w.d 356048 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 23 23.040000
+roundig mode: zero
+cvt.w.d 0 0.000000
+cvt.w.d 456 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1384 1384.600000
+cvt.w.d -7 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5786 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 0 0.002458
+cvt.w.d 0 0.000000
+cvt.w.d -248562 -248562.760000
+cvt.w.d -45786 -45786.476000
+cvt.w.d 456 456.248956
+cvt.w.d 34 34.000460
+cvt.w.d 45786 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45667 -45667.240000
+cvt.w.d -7 -7.294568
+cvt.w.d -347856 -347856.475000
+cvt.w.d 356047 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 23 23.040000
+roundig mode: +inf
+cvt.w.d 0 0.000000
+cvt.w.d 457 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1385 1384.600000
+cvt.w.d -7 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5786 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 1 0.002458
+cvt.w.d 1 0.000000
+cvt.w.d -248562 -248562.760000
+cvt.w.d -45786 -45786.476000
+cvt.w.d 457 456.248956
+cvt.w.d 35 34.000460
+cvt.w.d 45787 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45667 -45667.240000
+cvt.w.d -7 -7.294568
+cvt.w.d -347856 -347856.475000
+cvt.w.d 356048 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 24 23.040000
+roundig mode: -inf
+cvt.w.d 0 0.000000
+cvt.w.d 456 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1384 1384.600000
+cvt.w.d -8 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5787 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 0 0.002458
+cvt.w.d 0 0.000000
+cvt.w.d -248563 -248562.760000
+cvt.w.d -45787 -45786.476000
+cvt.w.d 456 456.248956
+cvt.w.d 34 34.000460
+cvt.w.d 45786 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45668 -45667.240000
+cvt.w.d -8 -7.294568
+cvt.w.d -347857 -347856.475000
+cvt.w.d 356047 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 23 23.040000
diff --git a/none/tests/mips32/round.vgtest b/none/tests/mips32/round.vgtest
new file mode 100644
index 0000000..d5eb00e
--- /dev/null
+++ b/none/tests/mips32/round.vgtest
@@ -0,0 +1,2 @@
+prog: round
+vgopts: -q
diff --git a/none/tests/mips32/vfp.c b/none/tests/mips32/vfp.c
new file mode 100644
index 0000000..b18c49c
--- /dev/null
+++ b/none/tests/mips32/vfp.c
@@ -0,0 +1,411 @@
+#include <stdio.h>
+
+unsigned int mem[] = {
+   0x4095A266, 0x66666666,
+   0xBFF00000, 0x00000000,
+   0x3FF00000, 0x00000000,
+   0x252a2e2b, 0x262d2d2a,
+   0xFFFFFFFF, 0xFFFFFFFF,
+   0x41D26580, 0xB487E5C9,
+   0x42026580, 0xB750E388,
+   0x3E45798E, 0xE2308C3A,
+   0x3FBF9ADD, 0x3746F65F
+};
+
+float fs_f[] = {
+   0, 456.2489562, 3, -1,
+   1384.6, -7.2945676, 1000000000, -5786.47,
+   1752, 0.0024575, 0.00000001, -248562.76,
+   -45786.476, 456.2489562, 34.00046, 45786.476,
+   1752065, 107, -45667.24, -7.2945676,
+   -347856.475, 356047.56, -1.0, 23.04
+};
+
+double fs_d[] = {
+   0, 456.2489562, 3, -1,
+   1384.6, -7.2945676, 1000000000, -5786.47,
+   1752, 0.0024575, 0.00000001, -248562.76,
+   -45786.476, 456.2489562, 34.00046, 45786.476,
+   1752065, 107, -45667.24, -7.2945676,
+   -347856.475, 356047.56, -1.0, 23.04
+};
+
+double mem1[] = {
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+   0, 0, 0, 0
+};
+
+float mem1f[] = {
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+   0, 0, 0, 0
+};
+// ldc1 $f0, 0($t1)
+#define TESTINSN5LOAD(instruction, RTval, offset, RT) \
+{ \
+    double out; \
+    int out1; \
+    int out2; \
+   __asm__ volatile( \
+     "move $t1, %3\n\t" \
+     "li $t0, " #RTval"\n\t" \
+     instruction "\n\t" \
+     "mov.d %0, $" #RT "\n\t" \
+     "mfc1 %1, $" #RT "\n\t" \
+     "mfc1 %2, $f1\n\t" \
+     : "=&f" (out), "=&r" (out1), "=&r" (out2) \
+	 : "r" (mem), "r" (RTval) \
+	 : "cc", "memory" \
+	 ); \
+   printf("%s :: ft 0x%x%x\n", \
+          instruction, out1, out2); \
+}
+
+// lwc1 $f0, 0($t1)
+#define TESTINSN5LOADw(instruction, RTval, offset, RT) \
+{ \
+    double out; \
+    int out1; \
+   __asm__ volatile( \
+     "move $t1, %2\n\t" \
+     "li $t0, " #RTval"\n\t" \
+     instruction "\n\t" \
+     "mov.d %0, $" #RT "\n\t" \
+     "mfc1 %1, $" #RT "\n\t" \
+     : "=&f" (out), "=&r" (out1) \
+	 : "r" (mem), "r" (RTval) \
+	 : "cc", "memory" \
+	 ); \
+   printf("%s :: ft 0x%x\n", \
+          instruction, out1); \
+}
+
+// lwxc1 $f0, $a3($v0)
+#define TESTINSN6LOADw(instruction, indexVal, fd, index, base) \
+{ \
+    int out; \
+   __asm__ volatile( \
+     "move $" #base ", %1\n\t" \
+     "li $" #index ", " #indexVal"\n\t" \
+     instruction "\n\t" \
+     "mfc1 %0, $" #fd "\n\t" \
+     : "=&r" (out) \
+	 : "r" (mem) \
+	 : "cc", "memory" \
+	 ); \
+   printf("%s :: ft 0x%x\n", \
+          instruction, out); \
+}
+
+// ldxc1 $f0, $a3($v0)
+#define TESTINSN6LOADd(instruction, indexVal, fd, index, base) \
+{ \
+    int out; \
+    int out1; \
+    int out2; \
+   __asm__ volatile( \
+     "move $" #base ", %3\n\t" \
+     "li $" #index ", " #indexVal"\n\t" \
+     instruction "\n\t" \
+     "mov.d %0, $" #fd "\n\t" \
+     "mfc1 %1, $" #fd "\n\t" \
+     "mfc1 %2, $f1\n\t" \
+     : "=&f" (out), "=&r" (out1), "=&r" (out2) \
+	 : "r" (mem) \
+	 : "cc", "memory" \
+	 ); \
+   printf("%s :: ft 0x%x\n", \
+          instruction, out); \
+}
+// sdc1 $f0, 0($t0)
+#define TESTINST1(offset) \
+{ \
+    unsigned int out; \
+   __asm__ volatile( \
+     "move $t0, %1\n\t" \
+     "move $t1, %2\n\t" \
+     "ldc1 $f0, "#offset"($t1)\n\t" \
+     "sdc1 $f0, "#offset"($t0) \n\t" \
+     "lw %0, "#offset"($t0)\n\t" \
+     : "=&r" (out) \
+	 : "r" (mem1), "r" (fs_d) \
+	 : "t1", "t0", "cc", "memory" \
+	 ); \
+   printf("sdc1 $f0, 0($t0) :: out: 0x%x\n", \
+           out); \
+}
+
+// sdxc1 $f0, $t2($t0)
+#define TESTINST1a(offset) \
+{ \
+    unsigned int out; \
+    unsigned int out1; \
+   __asm__ volatile( \
+     "move $t0, %2\n\t" \
+     "move $t1, %3\n\t" \
+     "li $t2, "#offset"\n\t" \
+     "ldc1 $f0, "#offset"($t1)\n\t" \
+     "sdxc1 $f0, $t2($t0) \n\t" \
+     "lw %0, "#offset"($t0)\n\t" \
+     "addi $t0, $t0, 4 \n\t" \
+     "lw %1, "#offset"($t0)\n\t" \
+     : "=&r" (out), "=&r" (out1) \
+	 : "r" (mem1), "r" (fs_d) \
+	 : "t2", "t1", "t0", "cc", "memory" \
+	 ); \
+   printf("sdc1 $f0, #t2($t0) :: out: 0x%x : out1: 0x%x\n", \
+           out, out1); \
+}
+
+// swc1 $f0, 0($t0)
+#define TESTINST2(offset) \
+{ \
+    unsigned int out; \
+   __asm__ volatile( \
+     "move $t0, %1\n\t" \
+     "move $t1, %2\n\t" \
+     "lwc1 $f0, "#offset"($t1)\n\t" \
+     "swc1 $f0, "#offset"($t0) \n\t" \
+     "lw %0, "#offset"($t0)\n\t" \
+     : "=&r" (out) \
+	 : "r" (mem1f), "r" (fs_f) \
+	 : "t1", "t0", "cc", "memory" \
+	 ); \
+   printf("swc1 $f0, 0($t0) :: out: 0x%x\n", \
+           out); \
+}
+
+// SWXC1 $f0, $t2($t0)
+#define TESTINST2a(offset) \
+{ \
+    unsigned int out; \
+   __asm__ volatile( \
+     "move $t0, %1\n\t" \
+     "move $t1, %2\n\t" \
+     "li $t2, "#offset" \n\t" \
+     "lwc1 $f0, "#offset"($t1)\n\t" \
+     "swxc1 $f0, $t2($t0) \n\t" \
+     "lw %0, "#offset"($t0)\n\t" \
+     : "=&r" (out) \
+	 : "r" (mem1f), "r" (fs_f) \
+	 : "t2", "t1", "t0", "cc", "memory" \
+	 ); \
+   printf("swxc1 $f0, 0($t0) :: out: 0x%x\n", \
+           out); \
+}
+void ppMem(double *mem, int len)
+{
+   int i;
+   printf("MEM1:\n");
+   for (i = 0; i < len; i=i+4)
+   {
+      printf("%lf, %lf, %lf, %lf\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+      mem[i] = 0;
+      mem[i+1] = 0;
+      mem[i+2] = 0;
+      mem[i+3] = 0;
+   }
+}
+
+void ppMemF(float *mem, int len)
+{
+   int i;
+   printf("MEM1:\n");
+   for (i = 0; i < len; i=i+4)
+   {
+      printf("%lf, %lf, %lf, %lf\n", mem[i], mem[i+1], mem[i+2], mem[i+3]);
+      mem[i] = 0;
+      mem[i+1] = 0;
+      mem[i+2] = 0;
+      mem[i+3] = 0;
+   }
+}
+
+int main()
+{
+   printf("LDC1\n");
+   TESTINSN5LOAD("ldc1 $f0, 0($t1)", 0, 0, f0);
+   TESTINSN5LOAD("ldc1 $f0, 8($t1)", 0, 8, f0);
+   TESTINSN5LOAD("ldc1 $f0, 16($t1)", 0, 16, f0);
+   TESTINSN5LOAD("ldc1 $f0, 24($t1)", 0, 24, f0);
+   TESTINSN5LOAD("ldc1 $f0, 32($t1)", 0, 32, f0);
+   TESTINSN5LOAD("ldc1 $f0, 40($t1)", 0, 40, f0);
+   TESTINSN5LOAD("ldc1 $f0, 48($t1)", 0, 48, f0);
+   TESTINSN5LOAD("ldc1 $f0, 56($t1)", 0, 56, f0);
+   TESTINSN5LOAD("ldc1 $f0, 64($t1)", 0, 64, f0);
+   TESTINSN5LOAD("ldc1 $f0, 0($t1)", 0, 0, f0);
+   TESTINSN5LOAD("ldc1 $f0, 8($t1)", 0, 8, f0);
+   TESTINSN5LOAD("ldc1 $f0, 16($t1)", 0, 16, f0);
+   TESTINSN5LOAD("ldc1 $f0, 24($t1)", 0, 24, f0);
+   TESTINSN5LOAD("ldc1 $f0, 32($t1)", 0, 32, f0);
+   TESTINSN5LOAD("ldc1 $f0, 40($t1)", 0, 40, f0);
+   TESTINSN5LOAD("ldc1 $f0, 48($t1)", 0, 48, f0);
+   TESTINSN5LOAD("ldc1 $f0, 56($t1)", 0, 56, f0);
+   TESTINSN5LOAD("ldc1 $f0, 0($t1)", 0, 0, f0);
+   TESTINSN5LOAD("ldc1 $f0, 8($t1)", 0, 8, f0);
+   TESTINSN5LOAD("ldc1 $f0, 16($t1)", 0, 16, f0);
+   TESTINSN5LOAD("ldc1 $f0, 24($t1)", 0, 24, f0);
+   TESTINSN5LOAD("ldc1 $f0, 32($t1)", 0, 32, f0);
+   TESTINSN5LOAD("ldc1 $f0, 40($t1)", 0, 40, f0);
+   TESTINSN5LOAD("ldc1 $f0, 48($t1)", 0, 48, f0);
+   TESTINSN5LOAD("ldc1 $f0, 56($t1)", 0, 56, f0);
+   TESTINSN5LOAD("ldc1 $f0, 64($t1)", 0, 64, f0);
+   TESTINSN5LOAD("ldc1 $f0, 0($t1)", 0, 0, f0);
+
+   printf("LWC1\n");
+   TESTINSN5LOADw("lwc1 $f0, 0($t1)", 0, 0, f0);
+   TESTINSN5LOADw("lwc1 $f0, 4($t1)", 0, 4, f0);
+   TESTINSN5LOADw("lwc1 $f0, 8($t1)", 0, 8, f0);
+   TESTINSN5LOADw("lwc1 $f0, 12($t1)", 0, 12, f0);
+   TESTINSN5LOADw("lwc1 $f0, 16($t1)", 0, 16, f0);
+   TESTINSN5LOADw("lwc1 $f0, 20($t1)", 0, 20, f0);
+   TESTINSN5LOADw("lwc1 $f0, 24($t1)", 0, 24, f0);
+   TESTINSN5LOADw("lwc1 $f0, 28($t1)", 0, 28, f0);
+   TESTINSN5LOADw("lwc1 $f0, 32($t1)", 0, 32, f0);
+   TESTINSN5LOADw("lwc1 $f0, 36($t1)", 0, 36, f0);
+   TESTINSN5LOADw("lwc1 $f0, 40($t1)", 0, 40, f0);
+   TESTINSN5LOADw("lwc1 $f0, 44($t1)", 0, 44, f0);
+   TESTINSN5LOADw("lwc1 $f0, 48($t1)", 0, 48, f0);
+   TESTINSN5LOADw("lwc1 $f0, 52($t1)", 0, 52, f0);
+   TESTINSN5LOADw("lwc1 $f0, 56($t1)", 0, 56, f0);
+   TESTINSN5LOADw("lwc1 $f0, 60($t1)", 0, 60, f0);
+   TESTINSN5LOADw("lwc1 $f0, 64($t1)", 0, 64, f0);
+   TESTINSN5LOADw("lwc1 $f0, 0($t1)", 0, 0, f0);
+   TESTINSN5LOADw("lwc1 $f0, 8($t1)", 0, 8, f0);
+   TESTINSN5LOADw("lwc1 $f0, 16($t1)", 0, 16, f0);
+   TESTINSN5LOADw("lwc1 $f0, 24($t1)", 0, 24, f0);
+   TESTINSN5LOADw("lwc1 $f0, 32($t1)", 0, 32, f0);
+   TESTINSN5LOADw("lwc1 $f0, 40($t1)", 0, 40, f0);
+   TESTINSN5LOADw("lwc1 $f0, 48($t1)", 0, 48, f0);
+   TESTINSN5LOADw("lwc1 $f0, 56($t1)", 0, 56, f0);
+   TESTINSN5LOADw("lwc1 $f0, 64($t1)", 0, 64, f0);
+   TESTINSN5LOADw("lwc1 $f0, 0($t1)", 0, 0, f0);
+
+#if (__mips==32) && (__mips_isa_rev>=2)
+   printf("LWXC1\n");
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 4, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 12, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 20, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 28, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 36, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 40, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 44, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 48, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 52, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 56, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 60, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 64, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 4, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 12, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 20, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 28, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 36, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 40, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 44, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 48, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 52, f0, a3, v0);
+   TESTINSN6LOADw("lwxc1 $f0, $a3($v0)", 56, f0, a3, v0);
+
+   printf("LDXC1\n");
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 40, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 48, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 56, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 64, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 40, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 48, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 56, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 64, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 40, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 48, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 56, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 64, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 0, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 8, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 16, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 24, f0, a3, v0);
+   TESTINSN6LOADd("ldxc1 $f0, $a3($v0)", 32, f0, a3, v0);
+#endif
+
+   printf("SDC1\n");
+   TESTINST1(0);
+   TESTINST1(8);
+   TESTINST1(16);
+   TESTINST1(24);
+   TESTINST1(32);
+   TESTINST1(40);
+   TESTINST1(48);
+   TESTINST1(56);
+   TESTINST1(64);
+   ppMem(mem1, 16);
+
+#if (__mips==32) && (__mips_isa_rev>=2) 
+   printf("SDXC1\n");
+   TESTINST1a(0);
+   TESTINST1a(8);
+   TESTINST1a(16);
+   TESTINST1a(24);
+   TESTINST1a(32);
+   TESTINST1a(40);
+   TESTINST1a(48);
+   TESTINST1a(56);
+   TESTINST1a(64);
+   ppMem(mem1, 16);
+#endif
+
+   printf("SWC1\n");
+   TESTINST2(0);
+   TESTINST2(8);
+   TESTINST2(16);
+   TESTINST2(24);
+   TESTINST2(32);
+   TESTINST2(40);
+   TESTINST2(48);
+   TESTINST2(56);
+   TESTINST2(64);
+   ppMemF(mem1f, 16);
+
+#if (__mips==32) && (__mips_isa_rev>=2) 
+   printf("SWXC1\n");
+   TESTINST2a(0);
+   TESTINST2a(8);
+   TESTINST2a(16);
+   TESTINST2a(24);
+   TESTINST2a(32);
+   TESTINST2a(40);
+   TESTINST2a(48);
+   TESTINST2a(56);
+   TESTINST2a(64);
+   ppMemF(mem1f, 16);
+#endif
+
+   return 0;
+}
+
diff --git a/none/tests/mips32/vfp.stderr.exp b/none/tests/mips32/vfp.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips32/vfp.stderr.exp
diff --git a/none/tests/mips32/vfp.stdout.exp b/none/tests/mips32/vfp.stdout.exp
new file mode 100644
index 0000000..5e29c42
--- /dev/null
+++ b/none/tests/mips32/vfp.stdout.exp
@@ -0,0 +1,182 @@
+LDC1
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 64($t1) :: ft 0x3fbf9add3746f65f
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 64($t1) :: ft 0x3fbf9add3746f65f
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+LWC1
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+lwc1 $f0, 4($t1) :: ft 0x66666666
+lwc1 $f0, 8($t1) :: ft 0xbff00000
+lwc1 $f0, 12($t1) :: ft 0x0
+lwc1 $f0, 16($t1) :: ft 0x3ff00000
+lwc1 $f0, 20($t1) :: ft 0x0
+lwc1 $f0, 24($t1) :: ft 0x252a2e2b
+lwc1 $f0, 28($t1) :: ft 0x262d2d2a
+lwc1 $f0, 32($t1) :: ft 0xffffffff
+lwc1 $f0, 36($t1) :: ft 0xffffffff
+lwc1 $f0, 40($t1) :: ft 0x41d26580
+lwc1 $f0, 44($t1) :: ft 0xb487e5c9
+lwc1 $f0, 48($t1) :: ft 0x42026580
+lwc1 $f0, 52($t1) :: ft 0xb750e388
+lwc1 $f0, 56($t1) :: ft 0x3e45798e
+lwc1 $f0, 60($t1) :: ft 0xe2308c3a
+lwc1 $f0, 64($t1) :: ft 0x3fbf9add
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+lwc1 $f0, 8($t1) :: ft 0xbff00000
+lwc1 $f0, 16($t1) :: ft 0x3ff00000
+lwc1 $f0, 24($t1) :: ft 0x252a2e2b
+lwc1 $f0, 32($t1) :: ft 0xffffffff
+lwc1 $f0, 40($t1) :: ft 0x41d26580
+lwc1 $f0, 48($t1) :: ft 0x42026580
+lwc1 $f0, 56($t1) :: ft 0x3e45798e
+lwc1 $f0, 64($t1) :: ft 0x3fbf9add
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+LWXC1
+lwxc1 $f0, $a3($v0) :: ft 0x4095a266
+lwxc1 $f0, $a3($v0) :: ft 0x66666666
+lwxc1 $f0, $a3($v0) :: ft 0xbff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x3ff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+lwxc1 $f0, $a3($v0) :: ft 0x262d2d2a
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0x41d26580
+lwxc1 $f0, $a3($v0) :: ft 0xb487e5c9
+lwxc1 $f0, $a3($v0) :: ft 0x42026580
+lwxc1 $f0, $a3($v0) :: ft 0xb750e388
+lwxc1 $f0, $a3($v0) :: ft 0x3e45798e
+lwxc1 $f0, $a3($v0) :: ft 0xe2308c3a
+lwxc1 $f0, $a3($v0) :: ft 0x3fbf9add
+lwxc1 $f0, $a3($v0) :: ft 0x4095a266
+lwxc1 $f0, $a3($v0) :: ft 0x66666666
+lwxc1 $f0, $a3($v0) :: ft 0xbff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x3ff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+lwxc1 $f0, $a3($v0) :: ft 0x262d2d2a
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0x41d26580
+lwxc1 $f0, $a3($v0) :: ft 0xb487e5c9
+lwxc1 $f0, $a3($v0) :: ft 0x42026580
+lwxc1 $f0, $a3($v0) :: ft 0xb750e388
+lwxc1 $f0, $a3($v0) :: ft 0x3e45798e
+LDXC1
+ldxc1 $f0, $a3($v0) :: ft 0x4095a266
+ldxc1 $f0, $a3($v0) :: ft 0xbff00000
+ldxc1 $f0, $a3($v0) :: ft 0x3ff00000
+ldxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+ldxc1 $f0, $a3($v0) :: ft 0x41d26580
+ldxc1 $f0, $a3($v0) :: ft 0x42026580
+ldxc1 $f0, $a3($v0) :: ft 0x3e45798e
+ldxc1 $f0, $a3($v0) :: ft 0x3fbf9add
+ldxc1 $f0, $a3($v0) :: ft 0x4095a266
+ldxc1 $f0, $a3($v0) :: ft 0xbff00000
+ldxc1 $f0, $a3($v0) :: ft 0x3ff00000
+ldxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+ldxc1 $f0, $a3($v0) :: ft 0x41d26580
+ldxc1 $f0, $a3($v0) :: ft 0x42026580
+ldxc1 $f0, $a3($v0) :: ft 0x3e45798e
+ldxc1 $f0, $a3($v0) :: ft 0x3fbf9add
+ldxc1 $f0, $a3($v0) :: ft 0x4095a266
+ldxc1 $f0, $a3($v0) :: ft 0xbff00000
+ldxc1 $f0, $a3($v0) :: ft 0x3ff00000
+ldxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+ldxc1 $f0, $a3($v0) :: ft 0x41d26580
+ldxc1 $f0, $a3($v0) :: ft 0x42026580
+ldxc1 $f0, $a3($v0) :: ft 0x3e45798e
+ldxc1 $f0, $a3($v0) :: ft 0x3fbf9add
+ldxc1 $f0, $a3($v0) :: ft 0x4095a266
+ldxc1 $f0, $a3($v0) :: ft 0xbff00000
+ldxc1 $f0, $a3($v0) :: ft 0x3ff00000
+ldxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+SDC1
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0xb97f122f
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x66666666
+sdc1 $f0, 0($t0) :: out: 0x2101d847
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x51eb851f
+sdc1 $f0, 0($t0) :: out: 0x0
+MEM1:
+0.000000, 456.248956, 3.000000, -1.000000
+1384.600000, -7.294568, 1000000000.000000, -5786.470000
+1752.000000, 0.000000, 0.000000, 0.000000
+0.000000, 0.000000, 0.000000, 0.000000
+SDXC1
+sdc1 $f0, #t2($t0) :: out: 0x0 : out1: 0x0
+sdc1 $f0, #t2($t0) :: out: 0xb97f122f : out1: 0x407c83fb
+sdc1 $f0, #t2($t0) :: out: 0x0 : out1: 0x40080000
+sdc1 $f0, #t2($t0) :: out: 0x0 : out1: 0xbff00000
+sdc1 $f0, #t2($t0) :: out: 0x66666666 : out1: 0x4095a266
+sdc1 $f0, #t2($t0) :: out: 0x2101d847 : out1: 0xc01d2da3
+sdc1 $f0, #t2($t0) :: out: 0x0 : out1: 0x41cdcd65
+sdc1 $f0, #t2($t0) :: out: 0x51eb851f : out1: 0xc0b69a78
+sdc1 $f0, #t2($t0) :: out: 0x0 : out1: 0x409b6000
+MEM1:
+0.000000, 456.248956, 3.000000, -1.000000
+1384.600000, -7.294568, 1000000000.000000, -5786.470000
+1752.000000, 0.000000, 0.000000, 0.000000
+0.000000, 0.000000, 0.000000, 0.000000
+SWC1
+swc1 $f0, 0($t0) :: out: 0x0
+swc1 $f0, 0($t0) :: out: 0x40400000
+swc1 $f0, 0($t0) :: out: 0x44ad1333
+swc1 $f0, 0($t0) :: out: 0x4e6e6b28
+swc1 $f0, 0($t0) :: out: 0x44db0000
+swc1 $f0, 0($t0) :: out: 0x322bcc77
+swc1 $f0, 0($t0) :: out: 0xc732da7a
+swc1 $f0, 0($t0) :: out: 0x42080079
+swc1 $f0, 0($t0) :: out: 0x49d5e008
+MEM1:
+0.000000, 0.000000, 3.000000, 0.000000
+1384.599976, 0.000000, 1000000000.000000, 0.000000
+1752.000000, 0.000000, 0.000000, 0.000000
+-45786.476562, 0.000000, 34.000462, 0.000000
+SWXC1
+swxc1 $f0, 0($t0) :: out: 0x0
+swxc1 $f0, 0($t0) :: out: 0x40400000
+swxc1 $f0, 0($t0) :: out: 0x44ad1333
+swxc1 $f0, 0($t0) :: out: 0x4e6e6b28
+swxc1 $f0, 0($t0) :: out: 0x44db0000
+swxc1 $f0, 0($t0) :: out: 0x322bcc77
+swxc1 $f0, 0($t0) :: out: 0xc732da7a
+swxc1 $f0, 0($t0) :: out: 0x42080079
+swxc1 $f0, 0($t0) :: out: 0x49d5e008
+MEM1:
+0.000000, 0.000000, 3.000000, 0.000000
+1384.599976, 0.000000, 1000000000.000000, 0.000000
+1752.000000, 0.000000, 0.000000, 0.000000
+-45786.476562, 0.000000, 34.000462, 0.000000
diff --git a/none/tests/mips32/vfp.stdout.exp-BE b/none/tests/mips32/vfp.stdout.exp-BE
new file mode 100644
index 0000000..df2d01b
--- /dev/null
+++ b/none/tests/mips32/vfp.stdout.exp-BE
@@ -0,0 +1,182 @@
+LDC1
+ldc1 $f0, 0($t1) :: ft 0x666666664095a266
+ldc1 $f0, 8($t1) :: ft 0x0bff00000
+ldc1 $f0, 16($t1) :: ft 0x03ff00000
+ldc1 $f0, 24($t1) :: ft 0x262d2d2a252a2e2b
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0xb487e5c941d26580
+ldc1 $f0, 48($t1) :: ft 0xb750e38842026580
+ldc1 $f0, 56($t1) :: ft 0xe2308c3a3e45798e
+ldc1 $f0, 64($t1) :: ft 0x3746f65f3fbf9add
+ldc1 $f0, 0($t1) :: ft 0x666666664095a266
+ldc1 $f0, 8($t1) :: ft 0x0bff00000
+ldc1 $f0, 16($t1) :: ft 0x03ff00000
+ldc1 $f0, 24($t1) :: ft 0x262d2d2a252a2e2b
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0xb487e5c941d26580
+ldc1 $f0, 48($t1) :: ft 0xb750e38842026580
+ldc1 $f0, 56($t1) :: ft 0xe2308c3a3e45798e
+ldc1 $f0, 0($t1) :: ft 0x666666664095a266
+ldc1 $f0, 8($t1) :: ft 0x0bff00000
+ldc1 $f0, 16($t1) :: ft 0x03ff00000
+ldc1 $f0, 24($t1) :: ft 0x262d2d2a252a2e2b
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0xb487e5c941d26580
+ldc1 $f0, 48($t1) :: ft 0xb750e38842026580
+ldc1 $f0, 56($t1) :: ft 0xe2308c3a3e45798e
+ldc1 $f0, 64($t1) :: ft 0x3746f65f3fbf9add
+ldc1 $f0, 0($t1) :: ft 0x666666664095a266
+LWC1
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+lwc1 $f0, 4($t1) :: ft 0x66666666
+lwc1 $f0, 8($t1) :: ft 0xbff00000
+lwc1 $f0, 12($t1) :: ft 0x0
+lwc1 $f0, 16($t1) :: ft 0x3ff00000
+lwc1 $f0, 20($t1) :: ft 0x0
+lwc1 $f0, 24($t1) :: ft 0x252a2e2b
+lwc1 $f0, 28($t1) :: ft 0x262d2d2a
+lwc1 $f0, 32($t1) :: ft 0xffffffff
+lwc1 $f0, 36($t1) :: ft 0xffffffff
+lwc1 $f0, 40($t1) :: ft 0x41d26580
+lwc1 $f0, 44($t1) :: ft 0xb487e5c9
+lwc1 $f0, 48($t1) :: ft 0x42026580
+lwc1 $f0, 52($t1) :: ft 0xb750e388
+lwc1 $f0, 56($t1) :: ft 0x3e45798e
+lwc1 $f0, 60($t1) :: ft 0xe2308c3a
+lwc1 $f0, 64($t1) :: ft 0x3fbf9add
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+lwc1 $f0, 8($t1) :: ft 0xbff00000
+lwc1 $f0, 16($t1) :: ft 0x3ff00000
+lwc1 $f0, 24($t1) :: ft 0x252a2e2b
+lwc1 $f0, 32($t1) :: ft 0xffffffff
+lwc1 $f0, 40($t1) :: ft 0x41d26580
+lwc1 $f0, 48($t1) :: ft 0x42026580
+lwc1 $f0, 56($t1) :: ft 0x3e45798e
+lwc1 $f0, 64($t1) :: ft 0x3fbf9add
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+LWXC1
+lwxc1 $f0, $a3($v0) :: ft 0x4095a266
+lwxc1 $f0, $a3($v0) :: ft 0x66666666
+lwxc1 $f0, $a3($v0) :: ft 0xbff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x3ff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+lwxc1 $f0, $a3($v0) :: ft 0x262d2d2a
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0x41d26580
+lwxc1 $f0, $a3($v0) :: ft 0xb487e5c9
+lwxc1 $f0, $a3($v0) :: ft 0x42026580
+lwxc1 $f0, $a3($v0) :: ft 0xb750e388
+lwxc1 $f0, $a3($v0) :: ft 0x3e45798e
+lwxc1 $f0, $a3($v0) :: ft 0xe2308c3a
+lwxc1 $f0, $a3($v0) :: ft 0x3fbf9add
+lwxc1 $f0, $a3($v0) :: ft 0x4095a266
+lwxc1 $f0, $a3($v0) :: ft 0x66666666
+lwxc1 $f0, $a3($v0) :: ft 0xbff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x3ff00000
+lwxc1 $f0, $a3($v0) :: ft 0x0
+lwxc1 $f0, $a3($v0) :: ft 0x252a2e2b
+lwxc1 $f0, $a3($v0) :: ft 0x262d2d2a
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0xffffffff
+lwxc1 $f0, $a3($v0) :: ft 0x41d26580
+lwxc1 $f0, $a3($v0) :: ft 0xb487e5c9
+lwxc1 $f0, $a3($v0) :: ft 0x42026580
+lwxc1 $f0, $a3($v0) :: ft 0xb750e388
+lwxc1 $f0, $a3($v0) :: ft 0x3e45798e
+LDXC1
+ldxc1 $f0, $a3($v0) :: ft 0x66666666
+ldxc1 $f0, $a3($v0) :: ft 0x0
+ldxc1 $f0, $a3($v0) :: ft 0x0
+ldxc1 $f0, $a3($v0) :: ft 0x262d2d2a
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+ldxc1 $f0, $a3($v0) :: ft 0xb487e5c9
+ldxc1 $f0, $a3($v0) :: ft 0xb750e388
+ldxc1 $f0, $a3($v0) :: ft 0xe2308c3a
+ldxc1 $f0, $a3($v0) :: ft 0x3746f65f
+ldxc1 $f0, $a3($v0) :: ft 0x66666666
+ldxc1 $f0, $a3($v0) :: ft 0x0
+ldxc1 $f0, $a3($v0) :: ft 0x0
+ldxc1 $f0, $a3($v0) :: ft 0x262d2d2a
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+ldxc1 $f0, $a3($v0) :: ft 0xb487e5c9
+ldxc1 $f0, $a3($v0) :: ft 0xb750e388
+ldxc1 $f0, $a3($v0) :: ft 0xe2308c3a
+ldxc1 $f0, $a3($v0) :: ft 0x3746f65f
+ldxc1 $f0, $a3($v0) :: ft 0x66666666
+ldxc1 $f0, $a3($v0) :: ft 0x0
+ldxc1 $f0, $a3($v0) :: ft 0x0
+ldxc1 $f0, $a3($v0) :: ft 0x262d2d2a
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+ldxc1 $f0, $a3($v0) :: ft 0xb487e5c9
+ldxc1 $f0, $a3($v0) :: ft 0xb750e388
+ldxc1 $f0, $a3($v0) :: ft 0xe2308c3a
+ldxc1 $f0, $a3($v0) :: ft 0x3746f65f
+ldxc1 $f0, $a3($v0) :: ft 0x66666666
+ldxc1 $f0, $a3($v0) :: ft 0x0
+ldxc1 $f0, $a3($v0) :: ft 0x0
+ldxc1 $f0, $a3($v0) :: ft 0x262d2d2a
+ldxc1 $f0, $a3($v0) :: ft 0xffffffff
+SDC1
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x407c83fb
+sdc1 $f0, 0($t0) :: out: 0x40080000
+sdc1 $f0, 0($t0) :: out: 0xbff00000
+sdc1 $f0, 0($t0) :: out: 0x4095a266
+sdc1 $f0, 0($t0) :: out: 0xc01d2da3
+sdc1 $f0, 0($t0) :: out: 0x41cdcd65
+sdc1 $f0, 0($t0) :: out: 0xc0b69a78
+sdc1 $f0, 0($t0) :: out: 0x409b6000
+MEM1:
+0.000000, 456.248956, 3.000000, -1.000000
+1384.600000, -7.294568, 1000000000.000000, -5786.470000
+1752.000000, 0.000000, 0.000000, 0.000000
+0.000000, 0.000000, 0.000000, 0.000000
+SDXC1
+sdc1 $f0, #t2($t0) :: out: 0x0 : out1: 0x0
+sdc1 $f0, #t2($t0) :: out: 0x407c83fb : out1: 0xb97f122f
+sdc1 $f0, #t2($t0) :: out: 0x40080000 : out1: 0x0
+sdc1 $f0, #t2($t0) :: out: 0xbff00000 : out1: 0x0
+sdc1 $f0, #t2($t0) :: out: 0x4095a266 : out1: 0x66666666
+sdc1 $f0, #t2($t0) :: out: 0xc01d2da3 : out1: 0x2101d847
+sdc1 $f0, #t2($t0) :: out: 0x41cdcd65 : out1: 0x0
+sdc1 $f0, #t2($t0) :: out: 0xc0b69a78 : out1: 0x51eb851f
+sdc1 $f0, #t2($t0) :: out: 0x409b6000 : out1: 0x0
+MEM1:
+0.000000, 456.248956, 3.000000, -1.000000
+1384.600000, -7.294568, 1000000000.000000, -5786.470000
+1752.000000, 0.000000, 0.000000, 0.000000
+0.000000, 0.000000, 0.000000, 0.000000
+SWC1
+swc1 $f0, 0($t0) :: out: 0x0
+swc1 $f0, 0($t0) :: out: 0x40400000
+swc1 $f0, 0($t0) :: out: 0x44ad1333
+swc1 $f0, 0($t0) :: out: 0x4e6e6b28
+swc1 $f0, 0($t0) :: out: 0x44db0000
+swc1 $f0, 0($t0) :: out: 0x322bcc77
+swc1 $f0, 0($t0) :: out: 0xc732da7a
+swc1 $f0, 0($t0) :: out: 0x42080079
+swc1 $f0, 0($t0) :: out: 0x49d5e008
+MEM1:
+0.000000, 0.000000, 3.000000, 0.000000
+1384.599976, 0.000000, 1000000000.000000, 0.000000
+1752.000000, 0.000000, 0.000000, 0.000000
+-45786.476562, 0.000000, 34.000462, 0.000000
+SWXC1
+swxc1 $f0, 0($t0) :: out: 0x0
+swxc1 $f0, 0($t0) :: out: 0x40400000
+swxc1 $f0, 0($t0) :: out: 0x44ad1333
+swxc1 $f0, 0($t0) :: out: 0x4e6e6b28
+swxc1 $f0, 0($t0) :: out: 0x44db0000
+swxc1 $f0, 0($t0) :: out: 0x322bcc77
+swxc1 $f0, 0($t0) :: out: 0xc732da7a
+swxc1 $f0, 0($t0) :: out: 0x42080079
+swxc1 $f0, 0($t0) :: out: 0x49d5e008
+MEM1:
+0.000000, 0.000000, 3.000000, 0.000000
+1384.599976, 0.000000, 1000000000.000000, 0.000000
+1752.000000, 0.000000, 0.000000, 0.000000
+-45786.476562, 0.000000, 34.000462, 0.000000
diff --git a/none/tests/mips32/vfp.stdout.exp-mips32 b/none/tests/mips32/vfp.stdout.exp-mips32
new file mode 100644
index 0000000..1184a05
--- /dev/null
+++ b/none/tests/mips32/vfp.stdout.exp-mips32
@@ -0,0 +1,86 @@
+LDC1
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 64($t1) :: ft 0x3fbf9add3746f65f
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+ldc1 $f0, 8($t1) :: ft 0xbff000000
+ldc1 $f0, 16($t1) :: ft 0x3ff000000
+ldc1 $f0, 24($t1) :: ft 0x252a2e2b262d2d2a
+ldc1 $f0, 32($t1) :: ft 0xffffffffffffffff
+ldc1 $f0, 40($t1) :: ft 0x41d26580b487e5c9
+ldc1 $f0, 48($t1) :: ft 0x42026580b750e388
+ldc1 $f0, 56($t1) :: ft 0x3e45798ee2308c3a
+ldc1 $f0, 64($t1) :: ft 0x3fbf9add3746f65f
+ldc1 $f0, 0($t1) :: ft 0x4095a26666666666
+LWC1
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+lwc1 $f0, 4($t1) :: ft 0x66666666
+lwc1 $f0, 8($t1) :: ft 0xbff00000
+lwc1 $f0, 12($t1) :: ft 0x0
+lwc1 $f0, 16($t1) :: ft 0x3ff00000
+lwc1 $f0, 20($t1) :: ft 0x0
+lwc1 $f0, 24($t1) :: ft 0x252a2e2b
+lwc1 $f0, 28($t1) :: ft 0x262d2d2a
+lwc1 $f0, 32($t1) :: ft 0xffffffff
+lwc1 $f0, 36($t1) :: ft 0xffffffff
+lwc1 $f0, 40($t1) :: ft 0x41d26580
+lwc1 $f0, 44($t1) :: ft 0xb487e5c9
+lwc1 $f0, 48($t1) :: ft 0x42026580
+lwc1 $f0, 52($t1) :: ft 0xb750e388
+lwc1 $f0, 56($t1) :: ft 0x3e45798e
+lwc1 $f0, 60($t1) :: ft 0xe2308c3a
+lwc1 $f0, 64($t1) :: ft 0x3fbf9add
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+lwc1 $f0, 8($t1) :: ft 0xbff00000
+lwc1 $f0, 16($t1) :: ft 0x3ff00000
+lwc1 $f0, 24($t1) :: ft 0x252a2e2b
+lwc1 $f0, 32($t1) :: ft 0xffffffff
+lwc1 $f0, 40($t1) :: ft 0x41d26580
+lwc1 $f0, 48($t1) :: ft 0x42026580
+lwc1 $f0, 56($t1) :: ft 0x3e45798e
+lwc1 $f0, 64($t1) :: ft 0x3fbf9add
+lwc1 $f0, 0($t1) :: ft 0x4095a266
+SDC1
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0xb97f122f
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x66666666
+sdc1 $f0, 0($t0) :: out: 0x2101d847
+sdc1 $f0, 0($t0) :: out: 0x0
+sdc1 $f0, 0($t0) :: out: 0x51eb851f
+sdc1 $f0, 0($t0) :: out: 0x0
+MEM1:
+0.000000, 456.248956, 3.000000, -1.000000
+1384.600000, -7.294568, 1000000000.000000, -5786.470000
+1752.000000, 0.000000, 0.000000, 0.000000
+0.000000, 0.000000, 0.000000, 0.000000
+SWC1
+swc1 $f0, 0($t0) :: out: 0x0
+swc1 $f0, 0($t0) :: out: 0x40400000
+swc1 $f0, 0($t0) :: out: 0x44ad1333
+swc1 $f0, 0($t0) :: out: 0x4e6e6b28
+swc1 $f0, 0($t0) :: out: 0x44db0000
+swc1 $f0, 0($t0) :: out: 0x322bcc77
+swc1 $f0, 0($t0) :: out: 0xc732da7a
+swc1 $f0, 0($t0) :: out: 0x42080079
+swc1 $f0, 0($t0) :: out: 0x49d5e008
+MEM1:
+0.000000, 0.000000, 3.000000, 0.000000
+1384.599976, 0.000000, 1000000000.000000, 0.000000
+1752.000000, 0.000000, 0.000000, 0.000000
+-45786.476562, 0.000000, 34.000462, 0.000000
diff --git a/none/tests/mips32/vfp.vgtest b/none/tests/mips32/vfp.vgtest
new file mode 100644
index 0000000..fd3e759
--- /dev/null
+++ b/none/tests/mips32/vfp.vgtest
@@ -0,0 +1,2 @@
+prog: vfp
+vgopts: -q
diff --git a/none/tests/mips64/Makefile.am b/none/tests/mips64/Makefile.am
new file mode 100644
index 0000000..c65b716
--- /dev/null
+++ b/none/tests/mips64/Makefile.am
@@ -0,0 +1,67 @@
+
+include $(top_srcdir)/Makefile.tool-tests.am
+
+dist_noinst_SCRIPTS = filter_stderr
+
+EXTRA_DIST = \
+	arithmetic_instruction.stdout.exp-mips64 \
+	arithmetic_instruction.stdout.exp-mips64r2 arithmetic_instruction.stderr.exp \
+	arithmetic_instruction.vgtest \
+	branch_and_jump_instructions.stdout.exp \
+	branch_and_jump_instructions.stderr.exp branch_and_jump_instructions.vgtest \
+	branches.stdout.exp branches.stderr.exp branches.vgtest \
+	extract_insert_bit_field.stdout.exp-mips64 \
+	extract_insert_bit_field.stdout.exp-mips64r2 \
+	extract_insert_bit_field.stderr.exp extract_insert_bit_field.vgtest \
+	fpu_arithmetic.stdout.exp fpu_arithmetic.stderr.exp fpu_arithmetic.vgtest \
+	fpu_branches.stdout.exp fpu_branches.stderr.exp fpu_branches.vgtest \
+	fpu_control_word.stdout.exp fpu_control_word.stderr.exp \
+	fpu_control_word.vgtest \
+	fpu_load_store.stdout.exp-BE fpu_load_store.stdout.exp-LE \
+	fpu_load_store.stderr.exp fpu_load_store.vgtest \
+	load_store.stdout.exp-BE load_store.stdout.exp-LE load_store.stderr.exp \
+	load_store.vgtest \
+	load_store_multiple.stdout.exp-BE load_store_multiple.stdout.exp-LE \
+	load_store_multiple.stderr.exp load_store_multiple.vgtest \
+	load_store_unaligned.stdout.exp load_store_unaligned.stderr.exp \
+	load_store_unaligned.vgtest \
+	logical_instructions.stdout.exp logical_instructions.stderr.exp \
+	logical_instructions.vgtest \
+	move_instructions.stdout.exp-BE move_instructions.stdout.exp-LE \
+	move_instructions.stderr.exp move_instructions.vgtest \
+	rotate_swap.stdout.exp-mips64 rotate_swap.stdout.exp-mips64r2 \
+	rotate_swap.stderr.exp rotate_swap.vgtest \
+	round.stdout.exp round.stderr.exp round.vgtest \
+	shift_instructions.stdout.exp-mips64 shift_instructions.stdout.exp-mips64r2 \
+	shift_instructions.stderr.exp shift_instructions.vgtest \
+	test_block_size.stdout.exp test_block_size.stderr.exp \
+	test_block_size.vgtest \
+	unaligned_load.stdout.exp-BE unaligned_load.stdout.exp-LE \
+	unaligned_load.stderr.exp unaligned_load.vgtest
+
+check_PROGRAMS = \
+	allexec \
+	arithmetic_instruction \
+	branch_and_jump_instructions \
+	branches \
+	extract_insert_bit_field \
+	fpu_arithmetic \
+	fpu_branches \
+	fpu_control_word \
+	fpu_load_store \
+	load_store \
+	load_store_multiple \
+	load_store_unaligned \
+	logical_instructions \
+	move_instructions \
+	rotate_swap \
+	round \
+	shift_instructions \
+	test_block_size \
+	unaligned_load
+
+AM_CFLAGS    += @FLAG_M64@
+AM_CXXFLAGS  += @FLAG_M64@
+AM_CCASFLAGS += @FLAG_M64@
+
+allexec_CFLAGS          = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
diff --git a/none/tests/mips64/allexec.c b/none/tests/mips64/allexec.c
new file mode 120000
index 0000000..6d6a9cf
--- /dev/null
+++ b/none/tests/mips64/allexec.c
@@ -0,0 +1 @@
+../allexec.c
\ No newline at end of file
diff --git a/none/tests/mips64/arithmetic_instruction.c b/none/tests/mips64/arithmetic_instruction.c
new file mode 100644
index 0000000..b8a81e9
--- /dev/null
+++ b/none/tests/mips64/arithmetic_instruction.c
@@ -0,0 +1,360 @@
+#include <stdio.h>
+#include "const.h"
+#include "macro_int.h"
+
+typedef enum {
+   ADD=0,  ADDI,   ADDIU,  ADDU,
+   CLO,    CLZ,    DADD,   DADDI,
+   DADDIU, DADDU,  DCLO,   DCLZ,
+   DDIV,   DDIVU,  DIV,    DIVU,
+   DMULT,  DMULTU, DSUB,   DSUBU,
+   MADD,   MADDU,  MSUB,   MSUBU,
+   MUL,    MULT,   MULTU,  MOVN,
+   MOVZ,   SEB,    SEH,    SLT,
+   SLTI,   SLTIU,  SLTU,   SUB,
+   SUBU
+} arithmetic_op;
+
+int main()
+{
+   arithmetic_op op;
+   int i;
+   init_reg_val2();
+
+   for (op = ADD; op <= SUBU; op++) {
+      for (i = 0; i < N; i++) {
+         switch(op) {
+            case ADD:
+               /* If either GPR rt or GPR rs does not contain sign-extended
+                  32-bit values (bits 63..31 equal), then the result of the
+                  operation is UNPREDICTABLE. */
+               TEST1("add $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                          t0, t1, t2);
+               break;
+
+            case ADDI:
+               /* If GPR rs does not contain a sign-extended 32-bit
+                  value (bits 63..31 equal), then the result of the operation
+                  is UNPREDICTABLE. */
+               TEST2("addi $t0, $t1, 0xff",   reg_val1[i], 0xff,   t0, t1);
+               TEST2("addi $t2, $t3, 0xffff", reg_val1[i], 0xffff, t2, t3);
+               TEST2("addi $a0, $a1, 0x0",    reg_val1[i], 0x0,    a0, a1);
+               TEST2("addi $s0, $s1, 0x23",   reg_val1[i], 0x23,   s0, s1);
+               break;
+
+            case ADDIU:
+               /* If GPR rs does not contain a sign-extended 32-bit
+                  value (bits 63..31 equal), then the result of the operation
+                  is UNPREDICTABLE. */
+               TEST2("addiu $t0, $t1, 0xff",   reg_val1[i], 0xff,   t0, t1);
+               TEST2("addiu $t2, $t3, 0xffff", reg_val1[i], 0xffff, t2, t3);
+               TEST2("addiu $a0, $a1, 0x0",    reg_val1[i], 0x0,    a0, a1);
+               TEST2("addiu $s0, $s1, 0x23",   reg_val1[i], 0x23,   s0, s1);
+               break;
+
+            case ADDU:
+               /* If either GPR rt or GPR rs does not contain sign-extended
+                  32-bit values (bits 63..31 equal), then the result of the
+                  operation is UNPREDICTABLE. */
+               TEST1("addu $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                           t0, t1, t2);
+               break;
+
+            case CLO:
+               /* If GPR rs does not contain a sign-extended 32-bit
+                  value (bits 63..31 equal), then the results of the operation
+                  are UNPREDICTABLE. */
+               TEST3("clo $t0, $t1", reg_val1[i], t0, t1);
+               break;
+
+            case CLZ:
+               /* If GPR rs does not contain a sign-extended 32-bit
+                  value (bits 63..31 equal), then the results of the operation
+                  are UNPREDICTABLE. */
+               TEST3("clz $t0, $t1", reg_val1[i], t0, t1);
+               break;
+
+            case DADD:
+               /* If the addition results in 64-bit 2âs complement arithmetic
+                  overflow, then the destination register is not modified and
+                  an IntegerOverflow exception occurs. */
+               TEST1("dadd $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                           t0, t1, t2);
+               break;
+
+            case DADDI:
+               /* If the addition results in 64-bit 2âs complement arithmetic
+                  overflow, then the destination register is not modified and
+                  an Integer Overflow exception occurs. */
+               TEST2("daddi $t0, $t1, 0xff",   reg_val1[i], 0xff,   t0, t1);
+               TEST2("daddi $t2, $t3, 0xffff", reg_val1[i], 0xffff, t2, t3);
+               TEST2("daddi $a0, $a1, 0x0",    reg_val1[i], 0x0,    a0, a1);
+               TEST2("daddi $s0, $s1, 0x23",   reg_val1[i], 0x23,   s0, s1);
+               TEST2("daddi $t0, $t1, 0xff",   reg_val2[i], 0xff,   t0, t1);
+               TEST2("daddi $t2, $t3, 0xffff", reg_val2[i], 0xffff, t2, t3);
+               TEST2("daddi $a0, $a1, 0x0",    reg_val2[i], 0x0,    a0, a1);
+               TEST2("daddi $s0, $s1, 0x23",   reg_val2[i], 0x23,   s0, s1);
+               break;
+
+            case DADDIU:
+               /* No Integer Overflow exception occurs under any
+                  circumstances. */
+               TEST2("daddiu $t0, $t1, 0xff",   reg_val1[i], 0xff,   t0, t1);
+               TEST2("daddiu $t2, $t3, 0xffff", reg_val1[i], 0xffff, t2, t3);
+               TEST2("daddiu $a0, $a1, 0x0",    reg_val1[i], 0x0,    a0, a1);
+               TEST2("daddiu $s0, $s1, 0x23",   reg_val1[i], 0x23,   s0, s1);
+               TEST2("daddiu $t0, $t1, 0xff",   reg_val2[i], 0xff,   t0, t1);
+               TEST2("daddiu $t2, $t3, 0xffff", reg_val2[i], 0xffff, t2, t3);
+               TEST2("daddiu $a0, $a1, 0x0",    reg_val2[i], 0x0,    a0, a1);
+               TEST2("daddiu $s0, $s1, 0x23",   reg_val2[i], 0x23,   s0, s1);
+               break;
+
+            case DADDU:
+               /* No Integer Overflow exception occurs under any
+                  circumstances. */
+               TEST1("daddu $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                            t0, t1, t2);
+               TEST1("daddu $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                            s0, s1, s2);
+               break;
+
+            case DCLO:
+               /* No arithmetic exception occurs under any circumstances. */
+               TEST3("dclo $t0, $t1", reg_val1[i], t0, t1);
+               TEST3("dclo $v0, $v1", reg_val2[i], v0, v1);
+               break;
+
+            case DCLZ:
+               /* No arithmetic exception occurs under any circumstances. */
+               TEST3("dclz $t0, $t1", reg_val1[i], t0, t1);
+               TEST3("dclz $v0, $v1", reg_val2[i], v0, v1);
+               break;
+
+            case DDIV:
+               /* If the divisor in GPR rt is zero, the arithmetic result value
+                  is UNPREDICTABLE. */
+               if (reg_val1[N-i-1] != 0)
+                  TEST4("ddiv $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+
+               if (reg_val2[N-i-1] != 0)
+                  TEST4("ddiv $v0, $v1", reg_val2[i], reg_val2[N-i-1], v0, v1);
+
+               break;
+
+            case DDIVU:
+               /* If the divisor in GPR rt is zero, the arithmetic result value
+                  is UNPREDICTABLE. */
+               if (reg_val1[N-i-1] != 0)
+                  TEST4("ddivu $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+
+               if (reg_val2[N-i-1] != 0)
+                  TEST4("ddivu $v0, $v1", reg_val2[i], reg_val2[N-i-1], v0, v1);
+
+               break;
+
+            case DIV:
+               /* If either GPR rt or GPR rs does not contain sign-extended
+                  32-bit values (bits 63..31 equal), then the result of the
+                  operation is UNPREDICTABLE.
+                  If the divisor in GPR rt is zero, the arithmetic result
+                  value is UNPREDICTABLE. */
+               if (reg_val1[N-i-1] != 0)
+                  TEST4("div $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+
+               break;
+
+            case DIVU:
+               /* If either GPR rt or GPR rs does not contain sign-extended
+                  32-bit values (bits 63..31 equal), then the result of the
+                  operation is UNPREDICTABLE.
+                  If the divisor in GPR rt is zero, the arithmetic result
+                  value is UNPREDICTABLE. */
+               if (reg_val1[N-i-1] != 0)
+                  TEST4("divu $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+
+               break;
+
+            case DMULT:
+               /* No arithmetic exception occurs under any circumstances. */
+               TEST4("dmult $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+               TEST4("dmult $v0, $v1", reg_val2[i], reg_val2[N-i-1], v0, v1);
+               break;
+
+            case DMULTU:
+               /* No arithmetic exception occurs under any circumstances. */
+               TEST4("dmultu $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+               TEST4("dmultu $v0, $v1", reg_val2[i], reg_val2[N-i-1], v0, v1);
+               break;
+
+            case DSUB:
+               /* If the subtraction results in 64-bit 2âs complement
+                  arithmetic overflow, then the destination register is not
+                  modified and an Integer Overflow exception occurs. */
+               TEST1("dsub $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                           t0, t1, t2);
+               break;
+
+            case DSUBU:
+               /* No Integer Overflow exception occurs under any
+                  circumstances. */
+               TEST1("dsubu $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                            t0, t1, t2);
+               TEST1("dsubu $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                            s0, s1, s2);
+               break;
+
+            case MADD:
+               /* If GPRs rs or rt do not contain sign-extended 32-bit
+                  values (bits 63..31 equal), then the results of the operation
+                  are UNPREDICTABLE. */
+               TEST5("madd $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+               break;
+
+            case MADDU:
+               /* If GPRs rs or rt do not contain sign-extended 32-bit
+                  values (bits 63..31 equal), then the results of the operation
+                  are UNPREDICTABLE. */
+               TEST5("maddu $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+               break;
+
+            case MSUB:
+               /* If GPR rs or rt do not contain a sign-extended 32-bit
+                  value (bits 63..31 equal), then the results of the operation
+                  are UNPREDICTABLE. */
+               TEST5("msub $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+               break;
+
+            case MSUBU:
+               /* If GPRs rs or rt do not contain sign-extended 32-bit
+                  values (bits 63..31 equal), then the results of the operation
+                  are UNPREDICTABLE.
+                  This instruction does not provide the capability of writing
+                  directly to a target GPR. */
+               TEST5("msubu $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+               break;
+
+            case MUL:
+               /* On 64-bit processors, if either GPR rt or GPR rs does not
+                  contain sign-extended 32-bit values (bits 63..31 equal), then
+                  the result of the operation is UNPREDICTABLE. */
+               TEST1("mul $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                          t0, t1, t2);
+               break;
+
+            case MULT:
+               /* On 64-bit processors, if either GPR rt or GPR rs does not
+                  contain sign-extended 32-bit values (bits 63..31 equal), then
+                  the result of the operation is UNPREDICTABLE. */
+               TEST4("mult $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+               break;
+
+            case MULTU:
+               /* On 64-bit processors, if either GPR rt or GPR rs does not 
+                  contain sign-extended 32-bit values (bits 63..31 equal), then
+                  the result of the operation is UNPREDICTABLE. */
+               TEST4("multu $t0, $t1", reg_val1[i], reg_val1[N-i-1], t0, t1);
+               break;
+
+            case MOVN:
+               /* The arithmetic comparison does not cause an Integer Overflow
+                  exception. */
+               TEST1("movn $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                           t0, t1, t2);
+               TEST1("movn $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                           s0, s1, s2);
+               break;
+
+            case MOVZ:
+               /* The arithmetic comparison does not cause an Integer Overflow
+                  exception. */
+               TEST1("movz $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                           t0, t1, t2);
+               TEST1("movz $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                           s0, s1, s2);
+               break;
+
+            case SEB:
+#if (__mips==64) && (__mips_isa_rev>=2)
+               /* If GPR rt does not contain a sign-extended 32-bit
+                  value (bits 63..31 equal), then the result of the operation
+                  is UNPREDICTABLE. */
+               TEST3("seb $t0, $t1", reg_val1[i], t0, t1);
+#endif
+               break;
+
+            case SEH:
+#if (__mips==64) && (__mips_isa_rev>=2)
+               /* If GPR rt does not contain a sign-extended 32-bit
+                  value (bits 63..31 equal), then the result of the operation
+                  is UNPREDICTABLE. */
+               TEST3("seh $t0, $t1", reg_val1[i], t0, t1);
+#endif
+               break;
+
+            case SLT:
+               /* The arithmetic comparison does not cause an Integer Overflow
+                  exception. */
+               TEST1("slt $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                          t0, t1, t2);
+               break;
+
+            case SLTI:
+               /* The arithmetic comparison does not cause an Integer Overflow
+                  exception. */
+               TEST2("slti $t0, $t1, 0xff",   reg_val1[i], 0xff,   t0, t1);
+               TEST2("slti $t2, $t3, 0xffff", reg_val1[i], 0xffff, t2, t3);
+               TEST2("slti $a0, $a1, 0x0",    reg_val1[i], 0x0,    a0, a1);
+               TEST2("slti $s0, $s1, 0x23",   reg_val1[i], 0x23,   s0, s1);
+               TEST2("slti $t0, $t1, 0xff",   reg_val2[i], 0xff,   t0, t1);
+               TEST2("slti $t2, $t3, 0xffff", reg_val2[i], 0xffff, t2, t3);
+               TEST2("slti $a0, $a1, 0x0",    reg_val2[i], 0x0,    a0, a1);
+               TEST2("slti $s0, $s1, 0x23",   reg_val2[i], 0x23,   s0, s1);
+               break;
+
+            case SLTIU:
+               /* The arithmetic comparison does not cause an Integer Overflow
+                  exception. */
+               TEST2("sltiu $t0, $t1, 0xff",   reg_val1[i], 0xff,   t0, t1);
+               TEST2("sltiu $t2, $t3, 0xffff", reg_val1[i], 0xffff, t2, t3);
+               TEST2("sltiu $a0, $a1, 0x0",    reg_val1[i], 0x0,    a0, a1);
+               TEST2("sltiu $s0, $s1, 0x23",   reg_val1[i], 0x23,   s0, s1);
+               TEST2("sltiu $t0, $t1, 0xff",   reg_val2[i], 0xff,   t0, t1);
+               TEST2("sltiu $t2, $t3, 0xffff", reg_val2[i], 0xffff, t2, t3);
+               TEST2("sltiu $a0, $a1, 0x0",    reg_val2[i], 0x0,    a0, a1);
+               TEST2("sltiu $s0, $s1, 0x23",   reg_val2[i], 0x23,   s0, s1);
+               break;
+
+            case SLTU:
+               /* The arithmetic comparison does not cause an Integer Overflow
+                  exception. */
+               TEST1("sltu $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                           t0, t1, t2);
+               TEST1("sltu $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                           s0, s1, s2);
+               break;
+
+            case SUB:
+               /* On 64-bit processors, if either GPR rt or GPR rs does not
+                  contain sign-extended 32-bit values (bits 63..31 equal), then
+                  the result of the operation is UNPREDICTABLE. */
+               if (i < 8 || (i > 15 && i < 22))
+                  TEST1("sub $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                             t0, t1, t2);
+               break;
+
+            case SUBU:
+               /* On 64-bit processors, if either GPR rt or GPR rs does not
+                  contain sign-extended 32-bit values (bits 63..31 equal), then
+                  the result of the operation is UNPREDICTABLE. */
+               TEST1("subu $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                           t0, t1, t2);
+               break;
+
+            default:
+               printf("Error!\n");
+               break;
+         }
+      }
+   }
+   return 0;
+}
diff --git a/none/tests/mips64/arithmetic_instruction.stderr.exp b/none/tests/mips64/arithmetic_instruction.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/arithmetic_instruction.stderr.exp
diff --git a/none/tests/mips64/arithmetic_instruction.stdout.exp-mips64 b/none/tests/mips64/arithmetic_instruction.stdout.exp-mips64
new file mode 100644
index 0000000..8e3c6c6
--- /dev/null
+++ b/none/tests/mips64/arithmetic_instruction.stdout.exp-mips64
@@ -0,0 +1,20214 @@
+add $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x0, rt 0xffffffffb1f740b4
+add $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0x0, rt 0xffffffffb5365d03
+add $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0x9823b6e, rt 0xffffffffb8757bda
+add $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xd4326d9, rt 0xffffffffbcb4666d
+add $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0x130476dc, rt 0xffffffffa2f33668
+add $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+add $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0x1a864db2, rt 0xffffffffab710d06
+add $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0x1e475005, rt 0xffffffffafb010b1
+add $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0x2608edb8, rt 0xffffffff97ffad0c
+add $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+add $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+add $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+add $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+add $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0x31cd86d3, rt 0xffffffff803ac667
+add $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+add $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+add $t0, $t1, $t2 :: rd 0x49f87734, rs 0x4c11db70, rt 0xfffffffffde69bc4
+add $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+add $t0, $t1, $t2 :: rd 0x39f880c8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+add $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+add $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0x5f15adac, rt 0xffffffffeee2ed18
+add $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+add $t0, $t1, $t2 :: rd 0x3df86d38, rs 0x569796c2, rt 0xffffffffe760d676
+add $t0, $t1, $t2 :: rd 0x35f85736, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+add $t0, $t1, $t2 :: rd 0x4607ad44, rs 0x6a1936c8, rt 0xffffffffdbee767c
+add $t0, $t1, $t2 :: rd 0x4e07974a, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+add $t0, $t1, $t2 :: rd 0x36075ab8, rs 0x639b0da6, rt 0xffffffffd26c4d12
+add $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0x675a1011, rt 0xffffffffd6ad50a5
+add $t0, $t1, $t2 :: rd 0x420740b4, rs 0x791d4014, rt 0xffffffffc8ea00a0
+add $t0, $t1, $t2 :: rd 0x4a077aba, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+add $t0, $t1, $t2 :: rd 0x3207b748, rs 0x709f7b7a, rt 0xffffffffc1683bce
+add $t0, $t1, $t2 :: rd 0x3a078d46, rs 0x745e66cd, rt 0xffffffffc5a92679
+add $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0xffffffff9823b6e0, rt 0x29d4f654
+add $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+add $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+add $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0xffffffff95609039, rt 0x2497d08d
+add $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+add $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+add $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+add $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0xffffffff8664e6e5, rt 0x3793a651
+add $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+add $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xffffffffbaea46ef, rt 0xb1d065b
+add $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0xffffffffb7a96036, rt 0x65e2082
+add $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0xffffffffb3687d81, rt 0x29f3d35
+add $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+add $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0xffffffffa9ee3033, rt 0x18197087
+add $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0xffffffffa4ad16ea, rt 0x155a565e
+add $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+add $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0xffffffffd4326d90, rt 0x65c52d24
+add $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0xffffffffd0f37027, rt 0x61043093
+add $t0, $t1, $t2 :: rd 0x49f76d48, rs 0xffffffffddb056fe, rt 0x6c47164a
+add $t0, $t1, $t2 :: rd 0x41f75746, rs 0xffffffffd9714b49, rt 0x68860bfd
+add $t0, $t1, $t2 :: rd 0x3df77744, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+add $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0xffffffffc3f706fb, rt 0x7200464f
+add $t0, $t1, $t2 :: rd 0x4df780b8, rs 0xffffffffceb42022, rt 0x7f436096
+add $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0xffffffffca753d95, rt 0x7b827d21
+add $t0, $t1, $t2 :: rd 0x360840c4, rs 0xfffffffff23a8028, rt 0x43cdc09c
+add $t0, $t1, $t2 :: rd 0x3e087aca, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+add $t0, $t1, $t2 :: rd 0x4608b738, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+add $t0, $t1, $t2 :: rd 0x4e088d36, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+add $t0, $t1, $t2 :: rd 0x3208ad34, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+add $t0, $t1, $t2 :: rd 0x3a08973a, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+add $t0, $t1, $t2 :: rd 0x42085ac8, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+add $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+add $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0x34867077, rt 0xffffffff857130c3
+add $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0x30476dc0, rt 0xffffffff81b02d74
+add $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0x3d044b19, rt 0xffffffff8cf30bad
+add $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0x39c556ae, rt 0xffffffff8832161a
+add $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0x278206ab, rt 0xffffffff9675461f
+add $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0x23431b1c, rt 0xffffffff92b45ba8
+add $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+add $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0x2ac12072, rt 0xffffffff9b3660c6
+add $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+add $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+add $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+add $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+add $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0x18aeb13, rt 0xffffffffb07daba7
+add $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+add $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0x808d07d, rt 0xffffffffb9ff90c9
+add $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+add $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+add $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+add $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+add $t0, $t1, $t2 :: rd 0x39f85b48, rs 0x75d48dde, rt 0xffffffffc423cd6a
+add $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0x6b93dddb, rt 0xffffffffda649d6f
+add $t0, $t1, $t2 :: rd 0x4df84144, rs 0x6f52c06c, rt 0xffffffffdea580d8
+add $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+add $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+add $t0, $t1, $t2 :: rd 0x4e074cca, rs 0x5e9f46bf, rt 0xffffffffef68060b
+add $t0, $t1, $t2 :: rd 0x460776c4, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+add $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+add $t0, $t1, $t2 :: rd 0x36078138, rs 0x53dc6066, rt 0xffffffffe22b20d2
+add $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+add $t0, $t1, $t2 :: rd 0x42079b34, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+add $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+add $t0, $t1, $t2 :: rd 0x32076cc8, rs 0x40d816ba, rt 0xfffffffff12f560e
+add $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0xffffffffaca5c697, rt 0x1d528623
+add $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0xffffffffa864db20, rt 0x19939b94
+add $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+add $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+add $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+add $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xffffffffbb60adfc, rt 0xa97ed48
+add $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0xffffffffb6238b25, rt 0x7d4cb91
+add $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0xffffffffb2e29692, rt 0x315d626
+add $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+add $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x0, rt 0x3f9b762c
+add $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x0, rt 0x32d850f5
+add $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0xffffffff87ee0df6, rt 0x36194d42
+add $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0xffffffff99a95df3, rt 0x285e1d47
+add $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0xffffffff9d684044, rt 0x2c9f00f0
+add $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0xffffffff902b669d, rt 0x21dc2629
+add $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+add $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0xffffffffe0b41de7, rt 0x51435d53
+add $t0, $t1, $t2 :: rd 0x39f74134, rs 0xffffffffe4750050, rt 0x558240e4
+add $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0xffffffffe9362689, rt 0x58c1663d
+add $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+add $t0, $t1, $t2 :: rd 0x35f796ca, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+add $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0xfffffffff771768c, rt 0x46863638
+add $t0, $t1, $t2 :: rd 0x45f76136, rs 0xfffffffffa325055, rt 0x4bc510e1
+add $t0, $t1, $t2 :: rd 0x4df75b38, rs 0xfffffffffef34de2, rt 0x4f040d56
+add $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+add $t0, $t1, $t2 :: rd 0x36089b44, rs 0xffffffffc27dede8, rt 0x738aad5c
+add $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+add $t0, $t1, $t2 :: rd 0x46086cb8, rs 0xffffffffcbffd686, rt 0x7a089632
+add $t0, $t1, $t2 :: rd 0x3a084cba, rs 0xffffffffd5b88683, rt 0x644fc637
+add $t0, $t1, $t2 :: rd 0x320876b4, rs 0xffffffffd1799b34, rt 0x608edb80
+add $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+add $t0, $t1, $t2 :: rd 0x42088148, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+add $t0, $t1, $t2 :: rd 0x42088148, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+add $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+add $t0, $t1, $t2 :: rd 0x320876b4, rs 0x608edb80, rt 0xffffffffd1799b34
+add $t0, $t1, $t2 :: rd 0x3a084cba, rs 0x644fc637, rt 0xffffffffd5b88683
+add $t0, $t1, $t2 :: rd 0x46086cb8, rs 0x7a089632, rt 0xffffffffcbffd686
+add $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+add $t0, $t1, $t2 :: rd 0x36089b44, rs 0x738aad5c, rt 0xffffffffc27dede8
+add $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+add $t0, $t1, $t2 :: rd 0x4df75b38, rs 0x4f040d56, rt 0xfffffffffef34de2
+add $t0, $t1, $t2 :: rd 0x45f76136, rs 0x4bc510e1, rt 0xfffffffffa325055
+add $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0x46863638, rt 0xfffffffff771768c
+add $t0, $t1, $t2 :: rd 0x35f796ca, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+add $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+add $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0x58c1663d, rt 0xffffffffe9362689
+add $t0, $t1, $t2 :: rd 0x39f74134, rs 0x558240e4, rt 0xffffffffe4750050
+add $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0x51435d53, rt 0xffffffffe0b41de7
+add $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+add $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0x21dc2629, rt 0xffffffff902b669d
+add $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0x2c9f00f0, rt 0xffffffff9d684044
+add $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0x285e1d47, rt 0xffffffff99a95df3
+add $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0x36194d42, rt 0xffffffff87ee0df6
+add $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+add $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+add $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+add $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0x315d626, rt 0xffffffffb2e29692
+add $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0x7d4cb91, rt 0xffffffffb6238b25
+add $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xa97ed48, rt 0xffffffffbb60adfc
+add $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+add $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+add $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+add $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0x19939b94, rt 0xffffffffa864db20
+add $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0x1d528623, rt 0xffffffffaca5c697
+add $t0, $t1, $t2 :: rd 0x32076cc8, rs 0xfffffffff12f560e, rt 0x40d816ba
+add $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+add $t0, $t1, $t2 :: rd 0x42079b34, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+add $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+add $t0, $t1, $t2 :: rd 0x36078138, rs 0xffffffffe22b20d2, rt 0x53dc6066
+add $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+add $t0, $t1, $t2 :: rd 0x460776c4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+add $t0, $t1, $t2 :: rd 0x4e074cca, rs 0xffffffffef68060b, rt 0x5e9f46bf
+add $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+add $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+add $t0, $t1, $t2 :: rd 0x4df84144, rs 0xffffffffdea580d8, rt 0x6f52c06c
+add $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0xffffffffda649d6f, rt 0x6b93dddb
+add $t0, $t1, $t2 :: rd 0x39f85b48, rs 0xffffffffc423cd6a, rt 0x75d48dde
+add $t0, $t1, $t2 :: rd 0x71159069, rs 0x0, rt 0x71159069
+add $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+add $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x0, rt 0x7897ab07
+add $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+add $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0xffffffffb9ff90c9, rt 0x808d07d
+add $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+add $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0xffffffffb07daba7, rt 0x18aeb13
+add $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+add $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+add $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+add $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+add $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0xffffffff9b3660c6, rt 0x2ac12072
+add $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+add $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0xffffffff92b45ba8, rt 0x23431b1c
+add $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0xffffffff9675461f, rt 0x278206ab
+add $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0xffffffff8832161a, rt 0x39c556ae
+add $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+add $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0xffffffff81b02d74, rt 0x30476dc0
+add $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0xffffffff857130c3, rt 0x34867077
+add $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+add $t0, $t1, $t2 :: rd 0x42085ac8, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+add $t0, $t1, $t2 :: rd 0x3a08973a, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+add $t0, $t1, $t2 :: rd 0x3208ad34, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+add $t0, $t1, $t2 :: rd 0x4e088d36, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+add $t0, $t1, $t2 :: rd 0x4608b738, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+add $t0, $t1, $t2 :: rd 0x3e087aca, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+add $t0, $t1, $t2 :: rd 0x360840c4, rs 0x43cdc09c, rt 0xfffffffff23a8028
+add $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0x7b827d21, rt 0xffffffffca753d95
+add $t0, $t1, $t2 :: rd 0x4df780b8, rs 0x7f436096, rt 0xffffffffceb42022
+add $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0x7200464f, rt 0xffffffffc3f706fb
+add $t0, $t1, $t2 :: rd 0x3df77744, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+add $t0, $t1, $t2 :: rd 0x41f75746, rs 0x68860bfd, rt 0xffffffffd9714b49
+add $t0, $t1, $t2 :: rd 0x49f76d48, rs 0x6c47164a, rt 0xffffffffddb056fe
+add $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0x61043093, rt 0xffffffffd0f37027
+add $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0x65c52d24, rt 0xffffffffd4326d90
+add $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+add $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0x155a565e, rt 0xffffffffa4ad16ea
+add $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0x18197087, rt 0xffffffffa9ee3033
+add $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+add $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0x29f3d35, rt 0xffffffffb3687d81
+add $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0x65e2082, rt 0xffffffffb7a96036
+add $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+add $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+add $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0x3793a651, rt 0xffffffff8664e6e5
+add $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+add $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+add $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0x3ad08088, rt 0xffffffff8b27c03c
+add $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0x2497d08d, rt 0xffffffff95609039
+add $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+add $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+add $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0x29d4f654, rt 0xffffffff9823b6e0
+add $t0, $t1, $t2 :: rd 0x3a078d46, rs 0xffffffffc5a92679, rt 0x745e66cd
+add $t0, $t1, $t2 :: rd 0x3207b748, rs 0xffffffffc1683bce, rt 0x709f7b7a
+add $t0, $t1, $t2 :: rd 0x4a077aba, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+add $t0, $t1, $t2 :: rd 0x420740b4, rs 0xffffffffc8ea00a0, rt 0x791d4014
+add $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0xffffffffd6ad50a5, rt 0x675a1011
+add $t0, $t1, $t2 :: rd 0x36075ab8, rs 0xffffffffd26c4d12, rt 0x639b0da6
+add $t0, $t1, $t2 :: rd 0x4e07974a, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+add $t0, $t1, $t2 :: rd 0x4607ad44, rs 0xffffffffdbee767c, rt 0x6a1936c8
+add $t0, $t1, $t2 :: rd 0x35f85736, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+add $t0, $t1, $t2 :: rd 0x3df86d38, rs 0xffffffffe760d676, rt 0x569796c2
+add $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+add $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0xffffffffeee2ed18, rt 0x5f15adac
+add $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+add $t0, $t1, $t2 :: rd 0x39f880c8, rs 0xfffffffff464a0aa, rt 0x4593e01e
+add $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0xfffffffff9278673, rt 0x48d0c6c7
+add $t0, $t1, $t2 :: rd 0x49f87734, rs 0xfffffffffde69bc4, rt 0x4c11db70
+add $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+add $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+add $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0xffffffff803ac667, rt 0x31cd86d3
+add $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+add $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+add $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+add $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+add $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0xffffffff97ffad0c, rt 0x2608edb8
+add $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0xffffffffafb010b1, rt 0x1e475005
+add $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0xffffffffab710d06, rt 0x1a864db2
+add $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+add $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0xffffffffa2f33668, rt 0x130476dc
+add $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xffffffffbcb4666d, rt 0xd4326d9
+add $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0xffffffffb8757bda, rt 0x9823b6e
+add $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+add $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x9823c6d, rs 0x9823b6e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x9823b6d, rs 0x9823b6e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x9823b91, rs 0x9823b6e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xd4327d8, rs 0xd4326d9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xd4326d8, rs 0xd4326d9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xd4326fc, rs 0xd4326d9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x130477db, rs 0x130476dc, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x130476db, rs 0x130476dc, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x130476ff, rs 0x130476dc, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x17c56c6a, rs 0x17c56b6b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x17c56b6a, rs 0x17c56b6b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x17c56b8e, rs 0x17c56b6b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1a864eb1, rs 0x1a864db2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1a864db1, rs 0x1a864db2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1a864dd5, rs 0x1a864db2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1e475104, rs 0x1e475005, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1e475004, rs 0x1e475005, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1e475028, rs 0x1e475005, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2608eeb7, rs 0x2608edb8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2608edb7, rs 0x2608edb8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2608eddb, rs 0x2608edb8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x22c9f10e, rs 0x22c9f00f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x22c9f00e, rs 0x22c9f00f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x22c9f032, rs 0x22c9f00f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2f8ad7d5, rs 0x2f8ad6d6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2f8ad6d5, rs 0x2f8ad6d6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2f8ad6f9, rs 0x2f8ad6d6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2b4bcc60, rs 0x2b4bcb61, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2b4bcb60, rs 0x2b4bcb61, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2b4bcb84, rs 0x2b4bcb61, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x350c9c63, rs 0x350c9b64, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x350c9b63, rs 0x350c9b64, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x350c9b87, rs 0x350c9b64, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x31cd87d2, rs 0x31cd86d3, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x31cd86d2, rs 0x31cd86d3, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x31cd86f6, rs 0x31cd86d3, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3c8ea109, rs 0x3c8ea00a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3c8ea009, rs 0x3c8ea00a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3c8ea02d, rs 0x3c8ea00a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x384fbebc, rs 0x384fbdbd, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x384fbdbc, rs 0x384fbdbd, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x384fbde0, rs 0x384fbdbd, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4c11dc6f, rs 0x4c11db70, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4c11db6f, rs 0x4c11db70, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4c11db93, rs 0x4c11db70, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x48d0c7c6, rs 0x48d0c6c7, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x48d0c6c6, rs 0x48d0c6c7, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x48d0c6ea, rs 0x48d0c6c7, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4593e11d, rs 0x4593e01e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4593e01d, rs 0x4593e01e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4593e041, rs 0x4593e01e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4152fea8, rs 0x4152fda9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4152fda8, rs 0x4152fda9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4152fdcc, rs 0x4152fda9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5f15aeab, rs 0x5f15adac, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5f15adab, rs 0x5f15adac, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5f15adcf, rs 0x5f15adac, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5bd4b11a, rs 0x5bd4b01b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5bd4b01a, rs 0x5bd4b01b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5bd4b03e, rs 0x5bd4b01b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x569797c1, rs 0x569796c2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x569796c1, rs 0x569796c2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x569796e5, rs 0x569796c2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x52568c74, rs 0x52568b75, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x52568b74, rs 0x52568b75, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x52568b98, rs 0x52568b75, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6a1937c7, rs 0x6a1936c8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6a1936c7, rs 0x6a1936c8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6a1936eb, rs 0x6a1936c8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6ed82c7e, rs 0x6ed82b7f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6ed82b7e, rs 0x6ed82b7f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6ed82ba2, rs 0x6ed82b7f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x639b0ea5, rs 0x639b0da6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x639b0da5, rs 0x639b0da6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x639b0dc9, rs 0x639b0da6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x675a1110, rs 0x675a1011, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x675a1010, rs 0x675a1011, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x675a1034, rs 0x675a1011, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x791d4113, rs 0x791d4014, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x791d4013, rs 0x791d4014, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x791d4037, rs 0x791d4014, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7ddc5ea2, rs 0x7ddc5da3, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7ddc5da2, rs 0x7ddc5da3, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7ddc5dc6, rs 0x7ddc5da3, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x709f7c79, rs 0x709f7b7a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x709f7b79, rs 0x709f7b7a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x709f7b9d, rs 0x709f7b7a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x745e67cc, rs 0x745e66cd, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x745e66cc, rs 0x745e66cd, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x745e66f0, rs 0x745e66cd, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9823b7df, rs 0xffffffff9823b6e0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9823b6df, rs 0xffffffff9823b6e0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9823b703, rs 0xffffffff9823b6e0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9ce2ac56, rs 0xffffffff9ce2ab57, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9ce2ab56, rs 0xffffffff9ce2ab57, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9ce2ab7a, rs 0xffffffff9ce2ab57, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff91a18e8d, rs 0xffffffff91a18d8e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff91a18d8d, rs 0xffffffff91a18d8e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff91a18db1, rs 0xffffffff91a18d8e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff95609138, rs 0xffffffff95609039, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff95609038, rs 0xffffffff95609039, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9560905c, rs 0xffffffff95609039, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8b27c13b, rs 0xffffffff8b27c03c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8b27c03b, rs 0xffffffff8b27c03c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8b27c05f, rs 0xffffffff8b27c03c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8fe6de8a, rs 0xffffffff8fe6dd8b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8fe6dd8a, rs 0xffffffff8fe6dd8b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8fe6ddae, rs 0xffffffff8fe6dd8b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff82a5fc51, rs 0xffffffff82a5fb52, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff82a5fb51, rs 0xffffffff82a5fb52, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff82a5fb75, rs 0xffffffff82a5fb52, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8664e7e4, rs 0xffffffff8664e6e5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8664e6e4, rs 0xffffffff8664e6e5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8664e708, rs 0xffffffff8664e6e5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbe2b5c57, rs 0xffffffffbe2b5b58, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbe2b5b57, rs 0xffffffffbe2b5b58, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbe2b5b7b, rs 0xffffffffbe2b5b58, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbaea47ee, rs 0xffffffffbaea46ef, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbaea46ee, rs 0xffffffffbaea46ef, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbaea4712, rs 0xffffffffbaea46ef, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb7a96135, rs 0xffffffffb7a96036, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb7a96035, rs 0xffffffffb7a96036, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb7a96059, rs 0xffffffffb7a96036, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb3687e80, rs 0xffffffffb3687d81, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb3687d80, rs 0xffffffffb3687d81, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb3687da4, rs 0xffffffffb3687d81, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffad2f2e83, rs 0xffffffffad2f2d84, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffad2f2d83, rs 0xffffffffad2f2d84, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffad2f2da7, rs 0xffffffffad2f2d84, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa9ee3132, rs 0xffffffffa9ee3033, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa9ee3032, rs 0xffffffffa9ee3033, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa9ee3056, rs 0xffffffffa9ee3033, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa4ad17e9, rs 0xffffffffa4ad16ea, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa4ad16e9, rs 0xffffffffa4ad16ea, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa4ad170d, rs 0xffffffffa4ad16ea, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa06c0c5c, rs 0xffffffffa06c0b5d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa06c0b5c, rs 0xffffffffa06c0b5d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa06c0b80, rs 0xffffffffa06c0b5d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd4326e8f, rs 0xffffffffd4326d90, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd4326d8f, rs 0xffffffffd4326d90, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd4326db3, rs 0xffffffffd4326d90, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd0f37126, rs 0xffffffffd0f37027, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd0f37026, rs 0xffffffffd0f37027, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd0f3704a, rs 0xffffffffd0f37027, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffddb057fd, rs 0xffffffffddb056fe, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffddb056fd, rs 0xffffffffddb056fe, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffddb05721, rs 0xffffffffddb056fe, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd9714c48, rs 0xffffffffd9714b49, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd9714b48, rs 0xffffffffd9714b49, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd9714b6c, rs 0xffffffffd9714b49, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc7361c4b, rs 0xffffffffc7361b4c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc7361b4b, rs 0xffffffffc7361b4c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc7361b6f, rs 0xffffffffc7361b4c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc3f707fa, rs 0xffffffffc3f706fb, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc3f706fa, rs 0xffffffffc3f706fb, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc3f7071e, rs 0xffffffffc3f706fb, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffceb42121, rs 0xffffffffceb42022, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffceb42021, rs 0xffffffffceb42022, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffceb42045, rs 0xffffffffceb42022, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffca753e94, rs 0xffffffffca753d95, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffca753d94, rs 0xffffffffca753d95, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffca753db8, rs 0xffffffffca753d95, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff23a8127, rs 0xfffffffff23a8028, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff23a8027, rs 0xfffffffff23a8028, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff23a804b, rs 0xfffffffff23a8028, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff6fb9e9e, rs 0xfffffffff6fb9d9f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff6fb9d9e, rs 0xfffffffff6fb9d9f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff6fb9dc2, rs 0xfffffffff6fb9d9f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffffbb8bc45, rs 0xfffffffffbb8bb46, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffffbb8bb45, rs 0xfffffffffbb8bb46, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffffbb8bb69, rs 0xfffffffffbb8bb46, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffff79a7f0, rs 0xffffffffff79a6f1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffff79a6f0, rs 0xffffffffff79a6f1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffff79a714, rs 0xffffffffff79a6f1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe13ef7f3, rs 0xffffffffe13ef6f4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe13ef6f3, rs 0xffffffffe13ef6f4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe13ef717, rs 0xffffffffe13ef6f4, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe5ffec42, rs 0xffffffffe5ffeb43, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe5ffeb42, rs 0xffffffffe5ffeb43, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe5ffeb66, rs 0xffffffffe5ffeb43, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe8bcce99, rs 0xffffffffe8bccd9a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe8bccd99, rs 0xffffffffe8bccd9a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe8bccdbd, rs 0xffffffffe8bccd9a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffec7dd12c, rs 0xffffffffec7dd02d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffec7dd02c, rs 0xffffffffec7dd02d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffec7dd050, rs 0xffffffffec7dd02d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x34867176, rs 0x34867077, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x34867076, rs 0x34867077, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3486709a, rs 0x34867077, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x30476ebf, rs 0x30476dc0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x30476dbf, rs 0x30476dc0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x30476de3, rs 0x30476dc0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3d044c18, rs 0x3d044b19, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3d044b18, rs 0x3d044b19, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3d044b3c, rs 0x3d044b19, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x39c557ad, rs 0x39c556ae, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x39c556ad, rs 0x39c556ae, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x39c556d1, rs 0x39c556ae, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x278207aa, rs 0x278206ab, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x278206aa, rs 0x278206ab, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x278206ce, rs 0x278206ab, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x23431c1b, rs 0x23431b1c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x23431b1b, rs 0x23431b1c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23431b3f, rs 0x23431b1c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2e003ec4, rs 0x2e003dc5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2e003dc4, rs 0x2e003dc5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2e003de8, rs 0x2e003dc5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2ac12171, rs 0x2ac12072, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2ac12071, rs 0x2ac12072, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2ac12095, rs 0x2ac12072, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x128e9ece, rs 0x128e9dcf, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x128e9dce, rs 0x128e9dcf, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x128e9df2, rs 0x128e9dcf, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x164f8177, rs 0x164f8078, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x164f8077, rs 0x164f8078, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x164f809b, rs 0x164f8078, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1b0ca7a0, rs 0x1b0ca6a1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1b0ca6a0, rs 0x1b0ca6a1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1b0ca6c4, rs 0x1b0ca6a1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1fcdbc15, rs 0x1fcdbb16, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1fcdbb15, rs 0x1fcdbb16, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1fcdbb39, rs 0x1fcdbb16, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x18aec12, rs 0x18aeb13, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x18aeb12, rs 0x18aeb13, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x18aeb36, rs 0x18aeb13, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x54bf7a3, rs 0x54bf6a4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x54bf6a3, rs 0x54bf6a4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x54bf6c7, rs 0x54bf6a4, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x808d17c, rs 0x808d07d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x808d07c, rs 0x808d07d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x808d0a0, rs 0x808d07d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xcc9cec9, rs 0xcc9cdca, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xcc9cdc9, rs 0xcc9cdca, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xcc9cded, rs 0xcc9cdca, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7897ac06, rs 0x7897ab07, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7897ab06, rs 0x7897ab07, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7897ab2a, rs 0x7897ab07, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7c56b7af, rs 0x7c56b6b0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7c56b6af, rs 0x7c56b6b0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7c56b6d3, rs 0x7c56b6b0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x71159168, rs 0x71159069, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x71159068, rs 0x71159069, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7115908c, rs 0x71159069, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x75d48edd, rs 0x75d48dde, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x75d48ddd, rs 0x75d48dde, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x75d48e01, rs 0x75d48dde, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6b93deda, rs 0x6b93dddb, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6b93ddda, rs 0x6b93dddb, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6b93ddfe, rs 0x6b93dddb, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6f52c16b, rs 0x6f52c06c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6f52c06b, rs 0x6f52c06c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6f52c08f, rs 0x6f52c06c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6211e7b4, rs 0x6211e6b5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6211e6b4, rs 0x6211e6b5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6211e6d8, rs 0x6211e6b5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x66d0fc01, rs 0x66d0fb02, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x66d0fb01, rs 0x66d0fb02, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x66d0fb25, rs 0x66d0fb02, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5e9f47be, rs 0x5e9f46bf, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5e9f46be, rs 0x5e9f46bf, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5e9f46e2, rs 0x5e9f46bf, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5a5e5c07, rs 0x5a5e5b08, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5a5e5b07, rs 0x5a5e5b08, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5a5e5b2b, rs 0x5a5e5b08, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x571d7ed0, rs 0x571d7dd1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x571d7dd0, rs 0x571d7dd1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x571d7df4, rs 0x571d7dd1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x53dc6165, rs 0x53dc6066, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x53dc6065, rs 0x53dc6066, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x53dc6089, rs 0x53dc6066, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4d9b3162, rs 0x4d9b3063, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4d9b3062, rs 0x4d9b3063, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4d9b3086, rs 0x4d9b3063, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x495a2ed3, rs 0x495a2dd4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x495a2dd3, rs 0x495a2dd4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x495a2df7, rs 0x495a2dd4, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x44190c0c, rs 0x44190b0d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x44190b0c, rs 0x44190b0d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x44190b30, rs 0x44190b0d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x40d817b9, rs 0x40d816ba, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x40d816b9, rs 0x40d816ba, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x40d816dd, rs 0x40d816ba, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffaca5c796, rs 0xffffffffaca5c697, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffaca5c696, rs 0xffffffffaca5c697, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffaca5c6ba, rs 0xffffffffaca5c697, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa864dc1f, rs 0xffffffffa864db20, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa864db1f, rs 0xffffffffa864db20, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa864db43, rs 0xffffffffa864db20, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa527fef8, rs 0xffffffffa527fdf9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa527fdf8, rs 0xffffffffa527fdf9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa527fe1c, rs 0xffffffffa527fdf9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa1e6e14d, rs 0xffffffffa1e6e04e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa1e6e04d, rs 0xffffffffa1e6e04e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa1e6e071, rs 0xffffffffa1e6e04e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbfa1b14a, rs 0xffffffffbfa1b04b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbfa1b04a, rs 0xffffffffbfa1b04b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbfa1b06e, rs 0xffffffffbfa1b04b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbb60aefb, rs 0xffffffffbb60adfc, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbb60adfb, rs 0xffffffffbb60adfc, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbb60ae1f, rs 0xffffffffbb60adfc, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb6238c24, rs 0xffffffffb6238b25, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb6238b24, rs 0xffffffffb6238b25, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb6238b48, rs 0xffffffffb6238b25, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb2e29791, rs 0xffffffffb2e29692, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb2e29691, rs 0xffffffffb2e29692, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb2e296b5, rs 0xffffffffb2e29692, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8aad2c2e, rs 0xffffffff8aad2b2f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8aad2b2e, rs 0xffffffff8aad2b2f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8aad2b52, rs 0xffffffff8aad2b2f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff87ee0ef5, rs 0xffffffff87ee0df6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff87ee0df5, rs 0xffffffff87ee0df6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff87ee0e19, rs 0xffffffff87ee0df6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff99a95ef2, rs 0xffffffff99a95df3, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff99a95df2, rs 0xffffffff99a95df3, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff99a95e16, rs 0xffffffff99a95df3, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9d684143, rs 0xffffffff9d684044, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9d684043, rs 0xffffffff9d684044, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9d684067, rs 0xffffffff9d684044, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff902b679c, rs 0xffffffff902b669d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff902b669c, rs 0xffffffff902b669d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff902b66c0, rs 0xffffffff902b669d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff94ea7c29, rs 0xffffffff94ea7b2a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff94ea7b29, rs 0xffffffff94ea7b2a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff94ea7b4d, rs 0xffffffff94ea7b2a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe0b41ee6, rs 0xffffffffe0b41de7, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe0b41de6, rs 0xffffffffe0b41de7, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe0b41e0a, rs 0xffffffffe0b41de7, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe475014f, rs 0xffffffffe4750050, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe475004f, rs 0xffffffffe4750050, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe4750073, rs 0xffffffffe4750050, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe9362788, rs 0xffffffffe9362689, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe9362688, rs 0xffffffffe9362689, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe93626ac, rs 0xffffffffe9362689, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffedf73c3d, rs 0xffffffffedf73b3e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffedf73b3d, rs 0xffffffffedf73b3e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffedf73b61, rs 0xffffffffedf73b3e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff3b06c3a, rs 0xfffffffff3b06b3b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff3b06b3a, rs 0xfffffffff3b06b3b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff3b06b5e, rs 0xfffffffff3b06b3b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff771778b, rs 0xfffffffff771768c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff771768b, rs 0xfffffffff771768c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff77176af, rs 0xfffffffff771768c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffffa325154, rs 0xfffffffffa325055, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffffa325054, rs 0xfffffffffa325055, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffffa325078, rs 0xfffffffffa325055, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffffef34ee1, rs 0xfffffffffef34de2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffffef34de1, rs 0xfffffffffef34de2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffffef34e05, rs 0xfffffffffef34de2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc6bcf15e, rs 0xffffffffc6bcf05f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc6bcf05e, rs 0xffffffffc6bcf05f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc6bcf082, rs 0xffffffffc6bcf05f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc27deee7, rs 0xffffffffc27dede8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc27dede7, rs 0xffffffffc27dede8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc27dee0b, rs 0xffffffffc27dede8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffcf3ecc30, rs 0xffffffffcf3ecb31, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffcf3ecb30, rs 0xffffffffcf3ecb31, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffcf3ecb54, rs 0xffffffffcf3ecb31, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffcbffd785, rs 0xffffffffcbffd686, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffcbffd685, rs 0xffffffffcbffd686, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffcbffd6a9, rs 0xffffffffcbffd686, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd5b88782, rs 0xffffffffd5b88683, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd5b88682, rs 0xffffffffd5b88683, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd5b886a6, rs 0xffffffffd5b88683, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd1799c33, rs 0xffffffffd1799b34, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd1799b33, rs 0xffffffffd1799b34, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd1799b57, rs 0xffffffffd1799b34, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffdc3abeec, rs 0xffffffffdc3abded, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffdc3abdec, rs 0xffffffffdc3abded, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffdc3abe10, rs 0xffffffffdc3abded, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd8fba159, rs 0xffffffffd8fba05a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd8fba059, rs 0xffffffffd8fba05a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd8fba07d, rs 0xffffffffd8fba05a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x690ce1ed, rs 0x690ce0ee, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x690ce0ed, rs 0x690ce0ee, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x690ce111, rs 0x690ce0ee, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6dcdfe58, rs 0x6dcdfd59, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6dcdfd58, rs 0x6dcdfd59, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6dcdfd7c, rs 0x6dcdfd59, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x608edc7f, rs 0x608edb80, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x608edb7f, rs 0x608edb80, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x608edba3, rs 0x608edb80, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x644fc736, rs 0x644fc637, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x644fc636, rs 0x644fc637, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x644fc65a, rs 0x644fc637, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7a089731, rs 0x7a089632, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7a089631, rs 0x7a089632, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7a089655, rs 0x7a089632, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7ec98c84, rs 0x7ec98b85, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7ec98b84, rs 0x7ec98b85, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7ec98ba8, rs 0x7ec98b85, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x738aae5b, rs 0x738aad5c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x738aad5b, rs 0x738aad5c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x738aad7f, rs 0x738aad5c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x774bb1ea, rs 0x774bb0eb, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x774bb0ea, rs 0x774bb0eb, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x774bb10e, rs 0x774bb0eb, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4f040e55, rs 0x4f040d56, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4f040d55, rs 0x4f040d56, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4f040d79, rs 0x4f040d56, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4bc511e0, rs 0x4bc510e1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4bc510e0, rs 0x4bc510e1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4bc51104, rs 0x4bc510e1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x46863737, rs 0x46863638, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x46863637, rs 0x46863638, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4686365b, rs 0x46863638, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x42472c8e, rs 0x42472b8f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x42472b8e, rs 0x42472b8f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x42472bb2, rs 0x42472b8f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5c007c89, rs 0x5c007b8a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5c007b89, rs 0x5c007b8a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5c007bad, rs 0x5c007b8a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x58c1673c, rs 0x58c1663d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x58c1663c, rs 0x58c1663d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x58c16660, rs 0x58c1663d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x558241e3, rs 0x558240e4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x558240e3, rs 0x558240e4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x55824107, rs 0x558240e4, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x51435e52, rs 0x51435d53, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x51435d52, rs 0x51435d53, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x51435d76, rs 0x51435d53, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x251d3c9d, rs 0x251d3b9e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x251d3b9d, rs 0x251d3b9e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x251d3bc1, rs 0x251d3b9e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x21dc2728, rs 0x21dc2629, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x21dc2628, rs 0x21dc2629, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x21dc264c, rs 0x21dc2629, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2c9f01ef, rs 0x2c9f00f0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2c9f00ef, rs 0x2c9f00f0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2c9f0113, rs 0x2c9f00f0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x285e1e46, rs 0x285e1d47, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x285e1d46, rs 0x285e1d47, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x285e1d6a, rs 0x285e1d47, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x36194e41, rs 0x36194d42, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x36194d41, rs 0x36194d42, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x36194d65, rs 0x36194d42, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x32d851f4, rs 0x32d850f5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x32d850f4, rs 0x32d850f5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x32d85118, rs 0x32d850f5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3f9b772b, rs 0x3f9b762c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3f9b762b, rs 0x3f9b762c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3f9b764f, rs 0x3f9b762c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3b5a6c9a, rs 0x3b5a6b9b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3b5a6b9a, rs 0x3b5a6b9b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3b5a6bbe, rs 0x3b5a6b9b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x315d725, rs 0x315d626, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x315d625, rs 0x315d626, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x315d649, rs 0x315d626, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7d4cc90, rs 0x7d4cb91, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7d4cb90, rs 0x7d4cb91, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7d4cbb4, rs 0x7d4cb91, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xa97ee47, rs 0xa97ed48, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xa97ed47, rs 0xa97ed48, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xa97ed6b, rs 0xa97ed48, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xe56f1fe, rs 0xe56f0ff, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xe56f0fe, rs 0xe56f0ff, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xe56f122, rs 0xe56f0ff, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1011a1f9, rs 0x1011a0fa, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1011a0f9, rs 0x1011a0fa, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1011a11d, rs 0x1011a0fa, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x14d0be4c, rs 0x14d0bd4d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x14d0bd4c, rs 0x14d0bd4d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x14d0bd70, rs 0x14d0bd4d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x19939c93, rs 0x19939b94, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x19939b93, rs 0x19939b94, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x19939bb7, rs 0x19939b94, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1d528722, rs 0x1d528623, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1d528622, rs 0x1d528623, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1d528646, rs 0x1d528623, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff12f570d, rs 0xfffffffff12f560e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff12f560d, rs 0xfffffffff12f560e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff12f5631, rs 0xfffffffff12f560e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff5ee4cb8, rs 0xfffffffff5ee4bb9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff5ee4bb8, rs 0xfffffffff5ee4bb9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff5ee4bdc, rs 0xfffffffff5ee4bb9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff8ad6e5f, rs 0xfffffffff8ad6d60, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff8ad6d5f, rs 0xfffffffff8ad6d60, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff8ad6d83, rs 0xfffffffff8ad6d60, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffffc6c71d6, rs 0xfffffffffc6c70d7, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffffc6c70d6, rs 0xfffffffffc6c70d7, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffffc6c70fa, rs 0xfffffffffc6c70d7, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe22b21d1, rs 0xffffffffe22b20d2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe22b20d1, rs 0xffffffffe22b20d2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe22b20f5, rs 0xffffffffe22b20d2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe6ea3e64, rs 0xffffffffe6ea3d65, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe6ea3d64, rs 0xffffffffe6ea3d65, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe6ea3d88, rs 0xffffffffe6ea3d65, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffeba91cbb, rs 0xffffffffeba91bbc, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffeba91bbb, rs 0xffffffffeba91bbc, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffeba91bdf, rs 0xffffffffeba91bbc, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffef68070a, rs 0xffffffffef68060b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffef68060a, rs 0xffffffffef68060b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffef68062e, rs 0xffffffffef68060b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd727bcb5, rs 0xffffffffd727bbb6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd727bbb5, rs 0xffffffffd727bbb6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd727bbd9, rs 0xffffffffd727bbb6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd3e6a700, rs 0xffffffffd3e6a601, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd3e6a600, rs 0xffffffffd3e6a601, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd3e6a624, rs 0xffffffffd3e6a601, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffdea581d7, rs 0xffffffffdea580d8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffdea580d7, rs 0xffffffffdea580d8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffdea580fb, rs 0xffffffffdea580d8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffda649e6e, rs 0xffffffffda649d6f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffda649d6e, rs 0xffffffffda649d6f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffda649d92, rs 0xffffffffda649d6f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc423ce69, rs 0xffffffffc423cd6a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc423cd69, rs 0xffffffffc423cd6a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc423cd8d, rs 0xffffffffc423cd6a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffcda1f703, rs 0xffffffffcda1f604, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffcda1f603, rs 0xffffffffcda1f604, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffcda1f627, rs 0xffffffffcda1f604, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbd3e8e7d, rs 0xffffffffbd3e8d7e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbd3e8d7d, rs 0xffffffffbd3e8d7e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbd3e8da1, rs 0xffffffffbd3e8d7e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb9ff91c8, rs 0xffffffffb9ff90c9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb9ff90c8, rs 0xffffffffb9ff90c9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb9ff90ec, rs 0xffffffffb9ff90c9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb4bcb70f, rs 0xffffffffb4bcb610, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb4bcb60f, rs 0xffffffffb4bcb610, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb4bcb633, rs 0xffffffffb4bcb610, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb07daca6, rs 0xffffffffb07daba7, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb07daba6, rs 0xffffffffb07daba7, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb07dabca, rs 0xffffffffb07daba7, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffae3afca1, rs 0xffffffffae3afba2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffae3afba1, rs 0xffffffffae3afba2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffae3afbc5, rs 0xffffffffae3afba2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffaafbe714, rs 0xffffffffaafbe615, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffaafbe614, rs 0xffffffffaafbe615, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffaafbe638, rs 0xffffffffaafbe615, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa7b8c1cb, rs 0xffffffffa7b8c0cc, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa7b8c0cb, rs 0xffffffffa7b8c0cc, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa7b8c0ef, rs 0xffffffffa7b8c0cc, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa379de7a, rs 0xffffffffa379dd7b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa379dd7a, rs 0xffffffffa379dd7b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa379dd9e, rs 0xffffffffa379dd7b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9b3661c5, rs 0xffffffff9b3660c6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9b3660c5, rs 0xffffffff9b3660c6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9b3660e9, rs 0xffffffff9b3660c6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9ff77e70, rs 0xffffffff9ff77d71, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9ff77d70, rs 0xffffffff9ff77d71, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9ff77d94, rs 0xffffffff9ff77d71, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff92b45ca7, rs 0xffffffff92b45ba8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff92b45ba7, rs 0xffffffff92b45ba8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff92b45bcb, rs 0xffffffff92b45ba8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9675471e, rs 0xffffffff9675461f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9675461e, rs 0xffffffff9675461f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff96754642, rs 0xffffffff9675461f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff88321719, rs 0xffffffff8832161a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff88321619, rs 0xffffffff8832161a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8832163d, rs 0xffffffff8832161a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8cf30cac, rs 0xffffffff8cf30bad, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8cf30bac, rs 0xffffffff8cf30bad, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8cf30bd0, rs 0xffffffff8cf30bad, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff81b02e73, rs 0xffffffff81b02d74, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff81b02d73, rs 0xffffffff81b02d74, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff81b02d97, rs 0xffffffff81b02d74, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff857131c2, rs 0xffffffff857130c3, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff857130c2, rs 0xffffffff857130c3, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff857130e6, rs 0xffffffff857130c3, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5d8a9198, rs 0x5d8a9099, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5d8a9098, rs 0x5d8a9099, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5d8a90bc, rs 0x5d8a9099, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x594b8e2d, rs 0x594b8d2e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x594b8d2d, rs 0x594b8d2e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x594b8d51, rs 0x594b8d2e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5408acf6, rs 0x5408abf7, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5408abf6, rs 0x5408abf7, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5408ac1a, rs 0x5408abf7, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x50c9b73f, rs 0x50c9b640, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x50c9b63f, rs 0x50c9b640, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x50c9b663, rs 0x50c9b640, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4e8ee744, rs 0x4e8ee645, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4e8ee644, rs 0x4e8ee645, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4e8ee668, rs 0x4e8ee645, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4a4ffcf1, rs 0x4a4ffbf2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4a4ffbf1, rs 0x4a4ffbf2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4a4ffc15, rs 0x4a4ffbf2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x470cde2a, rs 0x470cdd2b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x470cdd2a, rs 0x470cdd2b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x470cdd4e, rs 0x470cdd2b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x43cdc19b, rs 0x43cdc09c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x43cdc09b, rs 0x43cdc09c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x43cdc0bf, rs 0x43cdc09c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7b827e20, rs 0x7b827d21, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7b827d20, rs 0x7b827d21, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7b827d44, rs 0x7b827d21, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7f436195, rs 0x7f436096, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7f436095, rs 0x7f436096, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7f4360b9, rs 0x7f436096, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7200474e, rs 0x7200464f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7200464e, rs 0x7200464f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x72004672, rs 0x7200464f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x76c15cf7, rs 0x76c15bf8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x76c15bf7, rs 0x76c15bf8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x76c15c1b, rs 0x76c15bf8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x68860cfc, rs 0x68860bfd, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x68860bfc, rs 0x68860bfd, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x68860c20, rs 0x68860bfd, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6c471749, rs 0x6c47164a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6c471649, rs 0x6c47164a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6c47166d, rs 0x6c47164a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x61043192, rs 0x61043093, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x61043092, rs 0x61043093, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x610430b6, rs 0x61043093, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x65c52e23, rs 0x65c52d24, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x65c52d23, rs 0x65c52d24, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x65c52d47, rs 0x65c52d24, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x119b4ce8, rs 0x119b4be9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x119b4be8, rs 0x119b4be9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x119b4c0c, rs 0x119b4be9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x155a575d, rs 0x155a565e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x155a565d, rs 0x155a565e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x155a5681, rs 0x155a565e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x18197186, rs 0x18197087, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x18197086, rs 0x18197087, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x181970aa, rs 0x18197087, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1cd86e2f, rs 0x1cd86d30, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1cd86d2f, rs 0x1cd86d30, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1cd86d53, rs 0x1cd86d30, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x29f3e34, rs 0x29f3d35, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x29f3d34, rs 0x29f3d35, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x29f3d58, rs 0x29f3d35, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x65e2181, rs 0x65e2082, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x65e2081, rs 0x65e2082, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x65e20a5, rs 0x65e2082, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xb1d075a, rs 0xb1d065b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xb1d065a, rs 0xb1d065b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xb1d067e, rs 0xb1d065b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfdc1ceb, rs 0xfdc1bec, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfdc1beb, rs 0xfdc1bec, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfdc1c0f, rs 0xfdc1bec, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3793a750, rs 0x3793a651, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3793a650, rs 0x3793a651, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3793a674, rs 0x3793a651, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3352bce5, rs 0x3352bbe6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3352bbe5, rs 0x3352bbe6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3352bc09, rs 0x3352bbe6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3e119e3e, rs 0x3e119d3f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3e119d3e, rs 0x3e119d3f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3e119d62, rs 0x3e119d3f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3ad08187, rs 0x3ad08088, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3ad08087, rs 0x3ad08088, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3ad080ab, rs 0x3ad08088, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2497d18c, rs 0x2497d08d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2497d08c, rs 0x2497d08d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2497d0b0, rs 0x2497d08d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2056ce39, rs 0x2056cd3a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2056cd39, rs 0x2056cd3a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2056cd5d, rs 0x2056cd3a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2d15ece2, rs 0x2d15ebe3, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2d15ebe2, rs 0x2d15ebe3, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2d15ec06, rs 0x2d15ebe3, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x29d4f753, rs 0x29d4f654, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x29d4f653, rs 0x29d4f654, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x29d4f677, rs 0x29d4f654, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc5a92778, rs 0xffffffffc5a92679, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc5a92678, rs 0xffffffffc5a92679, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc5a9269c, rs 0xffffffffc5a92679, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc1683ccd, rs 0xffffffffc1683bce, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc1683bcd, rs 0xffffffffc1683bce, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc1683bf1, rs 0xffffffffc1683bce, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffcc2b1e16, rs 0xffffffffcc2b1d17, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffcc2b1d16, rs 0xffffffffcc2b1d17, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffcc2b1d3a, rs 0xffffffffcc2b1d17, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc8ea019f, rs 0xffffffffc8ea00a0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc8ea009f, rs 0xffffffffc8ea00a0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc8ea00c3, rs 0xffffffffc8ea00a0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd6ad51a4, rs 0xffffffffd6ad50a5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd6ad50a4, rs 0xffffffffd6ad50a5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd6ad50c8, rs 0xffffffffd6ad50a5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd26c4e11, rs 0xffffffffd26c4d12, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd26c4d11, rs 0xffffffffd26c4d12, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd26c4d35, rs 0xffffffffd26c4d12, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffdf2f6cca, rs 0xffffffffdf2f6bcb, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffdf2f6bca, rs 0xffffffffdf2f6bcb, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffdf2f6bee, rs 0xffffffffdf2f6bcb, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffdbee777b, rs 0xffffffffdbee767c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffdbee767b, rs 0xffffffffdbee767c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffdbee769f, rs 0xffffffffdbee767c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe3a1ccc0, rs 0xffffffffe3a1cbc1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe3a1cbc0, rs 0xffffffffe3a1cbc1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe3a1cbe4, rs 0xffffffffe3a1cbc1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe760d775, rs 0xffffffffe760d676, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe760d675, rs 0xffffffffe760d676, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe760d699, rs 0xffffffffe760d676, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffea23f1ae, rs 0xffffffffea23f0af, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffea23f0ae, rs 0xffffffffea23f0af, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffea23f0d2, rs 0xffffffffea23f0af, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffeee2ee17, rs 0xffffffffeee2ed18, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffeee2ed17, rs 0xffffffffeee2ed18, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffeee2ed3b, rs 0xffffffffeee2ed18, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff0a5be1c, rs 0xfffffffff0a5bd1d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff0a5bd1c, rs 0xfffffffff0a5bd1d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff0a5bd40, rs 0xfffffffff0a5bd1d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff464a1a9, rs 0xfffffffff464a0aa, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff464a0a9, rs 0xfffffffff464a0aa, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff464a0cd, rs 0xfffffffff464a0aa, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff9278772, rs 0xfffffffff9278673, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff9278672, rs 0xfffffffff9278673, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff9278696, rs 0xfffffffff9278673, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffffde69cc3, rs 0xfffffffffde69bc4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffffde69bc3, rs 0xfffffffffde69bc4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffffde69be7, rs 0xfffffffffde69bc4, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff89b8fe08, rs 0xffffffff89b8fd09, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff89b8fd08, rs 0xffffffff89b8fd09, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff89b8fd2c, rs 0xffffffff89b8fd09, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8d79e1bd, rs 0xffffffff8d79e0be, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8d79e0bd, rs 0xffffffff8d79e0be, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8d79e0e1, rs 0xffffffff8d79e0be, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff803ac766, rs 0xffffffff803ac667, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff803ac666, rs 0xffffffff803ac667, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff803ac68a, rs 0xffffffff803ac667, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff84fbdccf, rs 0xffffffff84fbdbd0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff84fbdbcf, rs 0xffffffff84fbdbd0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff84fbdbf3, rs 0xffffffff84fbdbd0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9abc8cd4, rs 0xffffffff9abc8bd5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9abc8bd4, rs 0xffffffff9abc8bd5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9abc8bf8, rs 0xffffffff9abc8bd5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9e7d9761, rs 0xffffffff9e7d9662, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9e7d9661, rs 0xffffffff9e7d9662, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9e7d9685, rs 0xffffffff9e7d9662, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff933eb1ba, rs 0xffffffff933eb0bb, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff933eb0ba, rs 0xffffffff933eb0bb, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff933eb0de, rs 0xffffffff933eb0bb, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff97ffae0b, rs 0xffffffff97ffad0c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff97ffad0b, rs 0xffffffff97ffad0c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff97ffad2f, rs 0xffffffff97ffad0c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffafb011b0, rs 0xffffffffafb010b1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffafb010b0, rs 0xffffffffafb010b1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffafb010d4, rs 0xffffffffafb010b1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffab710e05, rs 0xffffffffab710d06, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffab710d05, rs 0xffffffffab710d06, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffab710d29, rs 0xffffffffab710d06, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa6322cde, rs 0xffffffffa6322bdf, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa6322bde, rs 0xffffffffa6322bdf, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa6322c02, rs 0xffffffffa6322bdf, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa2f33767, rs 0xffffffffa2f33668, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa2f33667, rs 0xffffffffa2f33668, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa2f3368b, rs 0xffffffffa2f33668, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbcb4676c, rs 0xffffffffbcb4666d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbcb4666c, rs 0xffffffffbcb4666d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbcb46690, rs 0xffffffffbcb4666d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb8757cd9, rs 0xffffffffb8757bda, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb8757bd9, rs 0xffffffffb8757bda, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb8757bfd, rs 0xffffffffb8757bda, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb5365e02, rs 0xffffffffb5365d03, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb5365d02, rs 0xffffffffb5365d03, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb5365d26, rs 0xffffffffb5365d03, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb1f741b3, rs 0xffffffffb1f740b4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb1f740b3, rs 0xffffffffb1f740b4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb1f740d7, rs 0xffffffffb1f740b4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x9823c6d, rs 0x9823b6e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x9823b6d, rs 0x9823b6e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x9823b91, rs 0x9823b6e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xd4327d8, rs 0xd4326d9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xd4326d8, rs 0xd4326d9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xd4326fc, rs 0xd4326d9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x130477db, rs 0x130476dc, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x130476db, rs 0x130476dc, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x130476ff, rs 0x130476dc, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x17c56c6a, rs 0x17c56b6b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x17c56b6a, rs 0x17c56b6b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x17c56b8e, rs 0x17c56b6b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1a864eb1, rs 0x1a864db2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1a864db1, rs 0x1a864db2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1a864dd5, rs 0x1a864db2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1e475104, rs 0x1e475005, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1e475004, rs 0x1e475005, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1e475028, rs 0x1e475005, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2608eeb7, rs 0x2608edb8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2608edb7, rs 0x2608edb8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2608eddb, rs 0x2608edb8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x22c9f10e, rs 0x22c9f00f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x22c9f00e, rs 0x22c9f00f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x22c9f032, rs 0x22c9f00f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2f8ad7d5, rs 0x2f8ad6d6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2f8ad6d5, rs 0x2f8ad6d6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2f8ad6f9, rs 0x2f8ad6d6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2b4bcc60, rs 0x2b4bcb61, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2b4bcb60, rs 0x2b4bcb61, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2b4bcb84, rs 0x2b4bcb61, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x350c9c63, rs 0x350c9b64, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x350c9b63, rs 0x350c9b64, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x350c9b87, rs 0x350c9b64, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x31cd87d2, rs 0x31cd86d3, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x31cd86d2, rs 0x31cd86d3, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x31cd86f6, rs 0x31cd86d3, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3c8ea109, rs 0x3c8ea00a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3c8ea009, rs 0x3c8ea00a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3c8ea02d, rs 0x3c8ea00a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x384fbebc, rs 0x384fbdbd, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x384fbdbc, rs 0x384fbdbd, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x384fbde0, rs 0x384fbdbd, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4c11dc6f, rs 0x4c11db70, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4c11db6f, rs 0x4c11db70, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4c11db93, rs 0x4c11db70, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x48d0c7c6, rs 0x48d0c6c7, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x48d0c6c6, rs 0x48d0c6c7, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x48d0c6ea, rs 0x48d0c6c7, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4593e11d, rs 0x4593e01e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4593e01d, rs 0x4593e01e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4593e041, rs 0x4593e01e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4152fea8, rs 0x4152fda9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4152fda8, rs 0x4152fda9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4152fdcc, rs 0x4152fda9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5f15aeab, rs 0x5f15adac, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5f15adab, rs 0x5f15adac, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5f15adcf, rs 0x5f15adac, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5bd4b11a, rs 0x5bd4b01b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5bd4b01a, rs 0x5bd4b01b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5bd4b03e, rs 0x5bd4b01b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x569797c1, rs 0x569796c2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x569796c1, rs 0x569796c2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x569796e5, rs 0x569796c2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x52568c74, rs 0x52568b75, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x52568b74, rs 0x52568b75, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x52568b98, rs 0x52568b75, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6a1937c7, rs 0x6a1936c8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6a1936c7, rs 0x6a1936c8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6a1936eb, rs 0x6a1936c8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6ed82c7e, rs 0x6ed82b7f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6ed82b7e, rs 0x6ed82b7f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6ed82ba2, rs 0x6ed82b7f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x639b0ea5, rs 0x639b0da6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x639b0da5, rs 0x639b0da6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x639b0dc9, rs 0x639b0da6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x675a1110, rs 0x675a1011, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x675a1010, rs 0x675a1011, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x675a1034, rs 0x675a1011, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x791d4113, rs 0x791d4014, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x791d4013, rs 0x791d4014, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x791d4037, rs 0x791d4014, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7ddc5ea2, rs 0x7ddc5da3, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7ddc5da2, rs 0x7ddc5da3, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7ddc5dc6, rs 0x7ddc5da3, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x709f7c79, rs 0x709f7b7a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x709f7b79, rs 0x709f7b7a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x709f7b9d, rs 0x709f7b7a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x745e67cc, rs 0x745e66cd, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x745e66cc, rs 0x745e66cd, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x745e66f0, rs 0x745e66cd, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9823b7df, rs 0xffffffff9823b6e0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9823b6df, rs 0xffffffff9823b6e0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9823b703, rs 0xffffffff9823b6e0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9ce2ac56, rs 0xffffffff9ce2ab57, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9ce2ab56, rs 0xffffffff9ce2ab57, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9ce2ab7a, rs 0xffffffff9ce2ab57, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff91a18e8d, rs 0xffffffff91a18d8e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff91a18d8d, rs 0xffffffff91a18d8e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff91a18db1, rs 0xffffffff91a18d8e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff95609138, rs 0xffffffff95609039, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff95609038, rs 0xffffffff95609039, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9560905c, rs 0xffffffff95609039, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8b27c13b, rs 0xffffffff8b27c03c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8b27c03b, rs 0xffffffff8b27c03c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8b27c05f, rs 0xffffffff8b27c03c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8fe6de8a, rs 0xffffffff8fe6dd8b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8fe6dd8a, rs 0xffffffff8fe6dd8b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8fe6ddae, rs 0xffffffff8fe6dd8b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff82a5fc51, rs 0xffffffff82a5fb52, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff82a5fb51, rs 0xffffffff82a5fb52, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff82a5fb75, rs 0xffffffff82a5fb52, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8664e7e4, rs 0xffffffff8664e6e5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8664e6e4, rs 0xffffffff8664e6e5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8664e708, rs 0xffffffff8664e6e5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbe2b5c57, rs 0xffffffffbe2b5b58, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbe2b5b57, rs 0xffffffffbe2b5b58, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbe2b5b7b, rs 0xffffffffbe2b5b58, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbaea47ee, rs 0xffffffffbaea46ef, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbaea46ee, rs 0xffffffffbaea46ef, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbaea4712, rs 0xffffffffbaea46ef, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb7a96135, rs 0xffffffffb7a96036, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb7a96035, rs 0xffffffffb7a96036, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb7a96059, rs 0xffffffffb7a96036, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb3687e80, rs 0xffffffffb3687d81, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb3687d80, rs 0xffffffffb3687d81, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb3687da4, rs 0xffffffffb3687d81, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffad2f2e83, rs 0xffffffffad2f2d84, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffad2f2d83, rs 0xffffffffad2f2d84, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffad2f2da7, rs 0xffffffffad2f2d84, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa9ee3132, rs 0xffffffffa9ee3033, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa9ee3032, rs 0xffffffffa9ee3033, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa9ee3056, rs 0xffffffffa9ee3033, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa4ad17e9, rs 0xffffffffa4ad16ea, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa4ad16e9, rs 0xffffffffa4ad16ea, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa4ad170d, rs 0xffffffffa4ad16ea, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa06c0c5c, rs 0xffffffffa06c0b5d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa06c0b5c, rs 0xffffffffa06c0b5d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa06c0b80, rs 0xffffffffa06c0b5d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd4326e8f, rs 0xffffffffd4326d90, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd4326d8f, rs 0xffffffffd4326d90, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd4326db3, rs 0xffffffffd4326d90, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd0f37126, rs 0xffffffffd0f37027, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd0f37026, rs 0xffffffffd0f37027, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd0f3704a, rs 0xffffffffd0f37027, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffddb057fd, rs 0xffffffffddb056fe, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffddb056fd, rs 0xffffffffddb056fe, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffddb05721, rs 0xffffffffddb056fe, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd9714c48, rs 0xffffffffd9714b49, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd9714b48, rs 0xffffffffd9714b49, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd9714b6c, rs 0xffffffffd9714b49, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc7361c4b, rs 0xffffffffc7361b4c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc7361b4b, rs 0xffffffffc7361b4c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc7361b6f, rs 0xffffffffc7361b4c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc3f707fa, rs 0xffffffffc3f706fb, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc3f706fa, rs 0xffffffffc3f706fb, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc3f7071e, rs 0xffffffffc3f706fb, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffceb42121, rs 0xffffffffceb42022, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffceb42021, rs 0xffffffffceb42022, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffceb42045, rs 0xffffffffceb42022, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffca753e94, rs 0xffffffffca753d95, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffca753d94, rs 0xffffffffca753d95, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffca753db8, rs 0xffffffffca753d95, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff23a8127, rs 0xfffffffff23a8028, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff23a8027, rs 0xfffffffff23a8028, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff23a804b, rs 0xfffffffff23a8028, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff6fb9e9e, rs 0xfffffffff6fb9d9f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff6fb9d9e, rs 0xfffffffff6fb9d9f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff6fb9dc2, rs 0xfffffffff6fb9d9f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffffbb8bc45, rs 0xfffffffffbb8bb46, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffffbb8bb45, rs 0xfffffffffbb8bb46, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffffbb8bb69, rs 0xfffffffffbb8bb46, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffff79a7f0, rs 0xffffffffff79a6f1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffff79a6f0, rs 0xffffffffff79a6f1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffff79a714, rs 0xffffffffff79a6f1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe13ef7f3, rs 0xffffffffe13ef6f4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe13ef6f3, rs 0xffffffffe13ef6f4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe13ef717, rs 0xffffffffe13ef6f4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe5ffec42, rs 0xffffffffe5ffeb43, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe5ffeb42, rs 0xffffffffe5ffeb43, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe5ffeb66, rs 0xffffffffe5ffeb43, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe8bcce99, rs 0xffffffffe8bccd9a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe8bccd99, rs 0xffffffffe8bccd9a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe8bccdbd, rs 0xffffffffe8bccd9a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffec7dd12c, rs 0xffffffffec7dd02d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffec7dd02c, rs 0xffffffffec7dd02d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffec7dd050, rs 0xffffffffec7dd02d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x34867176, rs 0x34867077, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x34867076, rs 0x34867077, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3486709a, rs 0x34867077, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x30476ebf, rs 0x30476dc0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x30476dbf, rs 0x30476dc0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x30476de3, rs 0x30476dc0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3d044c18, rs 0x3d044b19, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3d044b18, rs 0x3d044b19, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3d044b3c, rs 0x3d044b19, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x39c557ad, rs 0x39c556ae, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x39c556ad, rs 0x39c556ae, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x39c556d1, rs 0x39c556ae, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x278207aa, rs 0x278206ab, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x278206aa, rs 0x278206ab, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x278206ce, rs 0x278206ab, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x23431c1b, rs 0x23431b1c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x23431b1b, rs 0x23431b1c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23431b3f, rs 0x23431b1c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2e003ec4, rs 0x2e003dc5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2e003dc4, rs 0x2e003dc5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2e003de8, rs 0x2e003dc5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2ac12171, rs 0x2ac12072, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2ac12071, rs 0x2ac12072, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2ac12095, rs 0x2ac12072, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x128e9ece, rs 0x128e9dcf, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x128e9dce, rs 0x128e9dcf, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x128e9df2, rs 0x128e9dcf, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x164f8177, rs 0x164f8078, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x164f8077, rs 0x164f8078, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x164f809b, rs 0x164f8078, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1b0ca7a0, rs 0x1b0ca6a1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1b0ca6a0, rs 0x1b0ca6a1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1b0ca6c4, rs 0x1b0ca6a1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1fcdbc15, rs 0x1fcdbb16, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1fcdbb15, rs 0x1fcdbb16, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1fcdbb39, rs 0x1fcdbb16, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x18aec12, rs 0x18aeb13, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x18aeb12, rs 0x18aeb13, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x18aeb36, rs 0x18aeb13, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x54bf7a3, rs 0x54bf6a4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x54bf6a3, rs 0x54bf6a4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x54bf6c7, rs 0x54bf6a4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x808d17c, rs 0x808d07d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x808d07c, rs 0x808d07d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x808d0a0, rs 0x808d07d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xcc9cec9, rs 0xcc9cdca, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xcc9cdc9, rs 0xcc9cdca, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xcc9cded, rs 0xcc9cdca, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7897ac06, rs 0x7897ab07, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7897ab06, rs 0x7897ab07, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7897ab2a, rs 0x7897ab07, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7c56b7af, rs 0x7c56b6b0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7c56b6af, rs 0x7c56b6b0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7c56b6d3, rs 0x7c56b6b0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x71159168, rs 0x71159069, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x71159068, rs 0x71159069, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7115908c, rs 0x71159069, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x75d48edd, rs 0x75d48dde, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x75d48ddd, rs 0x75d48dde, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x75d48e01, rs 0x75d48dde, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6b93deda, rs 0x6b93dddb, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6b93ddda, rs 0x6b93dddb, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6b93ddfe, rs 0x6b93dddb, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6f52c16b, rs 0x6f52c06c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6f52c06b, rs 0x6f52c06c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6f52c08f, rs 0x6f52c06c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6211e7b4, rs 0x6211e6b5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6211e6b4, rs 0x6211e6b5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6211e6d8, rs 0x6211e6b5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x66d0fc01, rs 0x66d0fb02, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x66d0fb01, rs 0x66d0fb02, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x66d0fb25, rs 0x66d0fb02, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5e9f47be, rs 0x5e9f46bf, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5e9f46be, rs 0x5e9f46bf, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5e9f46e2, rs 0x5e9f46bf, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5a5e5c07, rs 0x5a5e5b08, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5a5e5b07, rs 0x5a5e5b08, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5a5e5b2b, rs 0x5a5e5b08, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x571d7ed0, rs 0x571d7dd1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x571d7dd0, rs 0x571d7dd1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x571d7df4, rs 0x571d7dd1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x53dc6165, rs 0x53dc6066, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x53dc6065, rs 0x53dc6066, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x53dc6089, rs 0x53dc6066, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4d9b3162, rs 0x4d9b3063, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4d9b3062, rs 0x4d9b3063, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4d9b3086, rs 0x4d9b3063, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x495a2ed3, rs 0x495a2dd4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x495a2dd3, rs 0x495a2dd4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x495a2df7, rs 0x495a2dd4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x44190c0c, rs 0x44190b0d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x44190b0c, rs 0x44190b0d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x44190b30, rs 0x44190b0d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x40d817b9, rs 0x40d816ba, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x40d816b9, rs 0x40d816ba, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x40d816dd, rs 0x40d816ba, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffaca5c796, rs 0xffffffffaca5c697, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffaca5c696, rs 0xffffffffaca5c697, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffaca5c6ba, rs 0xffffffffaca5c697, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa864dc1f, rs 0xffffffffa864db20, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa864db1f, rs 0xffffffffa864db20, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa864db43, rs 0xffffffffa864db20, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa527fef8, rs 0xffffffffa527fdf9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa527fdf8, rs 0xffffffffa527fdf9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa527fe1c, rs 0xffffffffa527fdf9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa1e6e14d, rs 0xffffffffa1e6e04e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa1e6e04d, rs 0xffffffffa1e6e04e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa1e6e071, rs 0xffffffffa1e6e04e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbfa1b14a, rs 0xffffffffbfa1b04b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbfa1b04a, rs 0xffffffffbfa1b04b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbfa1b06e, rs 0xffffffffbfa1b04b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbb60aefb, rs 0xffffffffbb60adfc, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbb60adfb, rs 0xffffffffbb60adfc, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbb60ae1f, rs 0xffffffffbb60adfc, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb6238c24, rs 0xffffffffb6238b25, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb6238b24, rs 0xffffffffb6238b25, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb6238b48, rs 0xffffffffb6238b25, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb2e29791, rs 0xffffffffb2e29692, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb2e29691, rs 0xffffffffb2e29692, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb2e296b5, rs 0xffffffffb2e29692, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8aad2c2e, rs 0xffffffff8aad2b2f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8aad2b2e, rs 0xffffffff8aad2b2f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8aad2b52, rs 0xffffffff8aad2b2f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff87ee0ef5, rs 0xffffffff87ee0df6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff87ee0df5, rs 0xffffffff87ee0df6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff87ee0e19, rs 0xffffffff87ee0df6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff99a95ef2, rs 0xffffffff99a95df3, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff99a95df2, rs 0xffffffff99a95df3, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff99a95e16, rs 0xffffffff99a95df3, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9d684143, rs 0xffffffff9d684044, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9d684043, rs 0xffffffff9d684044, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9d684067, rs 0xffffffff9d684044, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff902b679c, rs 0xffffffff902b669d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff902b669c, rs 0xffffffff902b669d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff902b66c0, rs 0xffffffff902b669d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff94ea7c29, rs 0xffffffff94ea7b2a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff94ea7b29, rs 0xffffffff94ea7b2a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff94ea7b4d, rs 0xffffffff94ea7b2a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe0b41ee6, rs 0xffffffffe0b41de7, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe0b41de6, rs 0xffffffffe0b41de7, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe0b41e0a, rs 0xffffffffe0b41de7, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe475014f, rs 0xffffffffe4750050, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe475004f, rs 0xffffffffe4750050, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe4750073, rs 0xffffffffe4750050, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe9362788, rs 0xffffffffe9362689, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe9362688, rs 0xffffffffe9362689, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe93626ac, rs 0xffffffffe9362689, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffedf73c3d, rs 0xffffffffedf73b3e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffedf73b3d, rs 0xffffffffedf73b3e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffedf73b61, rs 0xffffffffedf73b3e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff3b06c3a, rs 0xfffffffff3b06b3b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff3b06b3a, rs 0xfffffffff3b06b3b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff3b06b5e, rs 0xfffffffff3b06b3b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff771778b, rs 0xfffffffff771768c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff771768b, rs 0xfffffffff771768c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff77176af, rs 0xfffffffff771768c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffffa325154, rs 0xfffffffffa325055, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffffa325054, rs 0xfffffffffa325055, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffffa325078, rs 0xfffffffffa325055, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffffef34ee1, rs 0xfffffffffef34de2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffffef34de1, rs 0xfffffffffef34de2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffffef34e05, rs 0xfffffffffef34de2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc6bcf15e, rs 0xffffffffc6bcf05f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc6bcf05e, rs 0xffffffffc6bcf05f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc6bcf082, rs 0xffffffffc6bcf05f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc27deee7, rs 0xffffffffc27dede8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc27dede7, rs 0xffffffffc27dede8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc27dee0b, rs 0xffffffffc27dede8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffcf3ecc30, rs 0xffffffffcf3ecb31, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffcf3ecb30, rs 0xffffffffcf3ecb31, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffcf3ecb54, rs 0xffffffffcf3ecb31, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffcbffd785, rs 0xffffffffcbffd686, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffcbffd685, rs 0xffffffffcbffd686, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffcbffd6a9, rs 0xffffffffcbffd686, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd5b88782, rs 0xffffffffd5b88683, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd5b88682, rs 0xffffffffd5b88683, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd5b886a6, rs 0xffffffffd5b88683, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd1799c33, rs 0xffffffffd1799b34, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd1799b33, rs 0xffffffffd1799b34, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd1799b57, rs 0xffffffffd1799b34, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffdc3abeec, rs 0xffffffffdc3abded, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffdc3abdec, rs 0xffffffffdc3abded, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffdc3abe10, rs 0xffffffffdc3abded, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd8fba159, rs 0xffffffffd8fba05a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd8fba059, rs 0xffffffffd8fba05a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd8fba07d, rs 0xffffffffd8fba05a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x690ce1ed, rs 0x690ce0ee, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x690ce0ed, rs 0x690ce0ee, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x690ce111, rs 0x690ce0ee, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6dcdfe58, rs 0x6dcdfd59, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6dcdfd58, rs 0x6dcdfd59, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6dcdfd7c, rs 0x6dcdfd59, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x608edc7f, rs 0x608edb80, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x608edb7f, rs 0x608edb80, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x608edba3, rs 0x608edb80, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x644fc736, rs 0x644fc637, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x644fc636, rs 0x644fc637, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x644fc65a, rs 0x644fc637, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7a089731, rs 0x7a089632, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7a089631, rs 0x7a089632, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7a089655, rs 0x7a089632, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7ec98c84, rs 0x7ec98b85, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7ec98b84, rs 0x7ec98b85, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7ec98ba8, rs 0x7ec98b85, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x738aae5b, rs 0x738aad5c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x738aad5b, rs 0x738aad5c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x738aad7f, rs 0x738aad5c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x774bb1ea, rs 0x774bb0eb, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x774bb0ea, rs 0x774bb0eb, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x774bb10e, rs 0x774bb0eb, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4f040e55, rs 0x4f040d56, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4f040d55, rs 0x4f040d56, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4f040d79, rs 0x4f040d56, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4bc511e0, rs 0x4bc510e1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4bc510e0, rs 0x4bc510e1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4bc51104, rs 0x4bc510e1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x46863737, rs 0x46863638, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x46863637, rs 0x46863638, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4686365b, rs 0x46863638, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x42472c8e, rs 0x42472b8f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x42472b8e, rs 0x42472b8f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x42472bb2, rs 0x42472b8f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5c007c89, rs 0x5c007b8a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5c007b89, rs 0x5c007b8a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5c007bad, rs 0x5c007b8a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x58c1673c, rs 0x58c1663d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x58c1663c, rs 0x58c1663d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x58c16660, rs 0x58c1663d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x558241e3, rs 0x558240e4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x558240e3, rs 0x558240e4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x55824107, rs 0x558240e4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x51435e52, rs 0x51435d53, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x51435d52, rs 0x51435d53, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x51435d76, rs 0x51435d53, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x251d3c9d, rs 0x251d3b9e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x251d3b9d, rs 0x251d3b9e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x251d3bc1, rs 0x251d3b9e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x21dc2728, rs 0x21dc2629, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x21dc2628, rs 0x21dc2629, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x21dc264c, rs 0x21dc2629, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2c9f01ef, rs 0x2c9f00f0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2c9f00ef, rs 0x2c9f00f0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2c9f0113, rs 0x2c9f00f0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x285e1e46, rs 0x285e1d47, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x285e1d46, rs 0x285e1d47, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x285e1d6a, rs 0x285e1d47, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x36194e41, rs 0x36194d42, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x36194d41, rs 0x36194d42, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x36194d65, rs 0x36194d42, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x32d851f4, rs 0x32d850f5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x32d850f4, rs 0x32d850f5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x32d85118, rs 0x32d850f5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3f9b772b, rs 0x3f9b762c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3f9b762b, rs 0x3f9b762c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3f9b764f, rs 0x3f9b762c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3b5a6c9a, rs 0x3b5a6b9b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3b5a6b9a, rs 0x3b5a6b9b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3b5a6bbe, rs 0x3b5a6b9b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x315d725, rs 0x315d626, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x315d625, rs 0x315d626, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x315d649, rs 0x315d626, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7d4cc90, rs 0x7d4cb91, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7d4cb90, rs 0x7d4cb91, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7d4cbb4, rs 0x7d4cb91, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xa97ee47, rs 0xa97ed48, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xa97ed47, rs 0xa97ed48, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xa97ed6b, rs 0xa97ed48, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xe56f1fe, rs 0xe56f0ff, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xe56f0fe, rs 0xe56f0ff, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xe56f122, rs 0xe56f0ff, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1011a1f9, rs 0x1011a0fa, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1011a0f9, rs 0x1011a0fa, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1011a11d, rs 0x1011a0fa, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x14d0be4c, rs 0x14d0bd4d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x14d0bd4c, rs 0x14d0bd4d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x14d0bd70, rs 0x14d0bd4d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x19939c93, rs 0x19939b94, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x19939b93, rs 0x19939b94, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x19939bb7, rs 0x19939b94, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1d528722, rs 0x1d528623, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1d528622, rs 0x1d528623, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1d528646, rs 0x1d528623, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff12f570d, rs 0xfffffffff12f560e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff12f560d, rs 0xfffffffff12f560e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff12f5631, rs 0xfffffffff12f560e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff5ee4cb8, rs 0xfffffffff5ee4bb9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff5ee4bb8, rs 0xfffffffff5ee4bb9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff5ee4bdc, rs 0xfffffffff5ee4bb9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff8ad6e5f, rs 0xfffffffff8ad6d60, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff8ad6d5f, rs 0xfffffffff8ad6d60, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff8ad6d83, rs 0xfffffffff8ad6d60, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffffc6c71d6, rs 0xfffffffffc6c70d7, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffffc6c70d6, rs 0xfffffffffc6c70d7, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffffc6c70fa, rs 0xfffffffffc6c70d7, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe22b21d1, rs 0xffffffffe22b20d2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe22b20d1, rs 0xffffffffe22b20d2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe22b20f5, rs 0xffffffffe22b20d2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe6ea3e64, rs 0xffffffffe6ea3d65, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe6ea3d64, rs 0xffffffffe6ea3d65, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe6ea3d88, rs 0xffffffffe6ea3d65, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffeba91cbb, rs 0xffffffffeba91bbc, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffeba91bbb, rs 0xffffffffeba91bbc, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffeba91bdf, rs 0xffffffffeba91bbc, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffef68070a, rs 0xffffffffef68060b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffef68060a, rs 0xffffffffef68060b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffef68062e, rs 0xffffffffef68060b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd727bcb5, rs 0xffffffffd727bbb6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd727bbb5, rs 0xffffffffd727bbb6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd727bbd9, rs 0xffffffffd727bbb6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd3e6a700, rs 0xffffffffd3e6a601, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd3e6a600, rs 0xffffffffd3e6a601, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd3e6a624, rs 0xffffffffd3e6a601, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffdea581d7, rs 0xffffffffdea580d8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffdea580d7, rs 0xffffffffdea580d8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffdea580fb, rs 0xffffffffdea580d8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffda649e6e, rs 0xffffffffda649d6f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffda649d6e, rs 0xffffffffda649d6f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffda649d92, rs 0xffffffffda649d6f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc423ce69, rs 0xffffffffc423cd6a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc423cd69, rs 0xffffffffc423cd6a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc423cd8d, rs 0xffffffffc423cd6a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffcda1f703, rs 0xffffffffcda1f604, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffcda1f603, rs 0xffffffffcda1f604, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffcda1f627, rs 0xffffffffcda1f604, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbd3e8e7d, rs 0xffffffffbd3e8d7e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbd3e8d7d, rs 0xffffffffbd3e8d7e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbd3e8da1, rs 0xffffffffbd3e8d7e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb9ff91c8, rs 0xffffffffb9ff90c9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb9ff90c8, rs 0xffffffffb9ff90c9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb9ff90ec, rs 0xffffffffb9ff90c9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb4bcb70f, rs 0xffffffffb4bcb610, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb4bcb60f, rs 0xffffffffb4bcb610, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb4bcb633, rs 0xffffffffb4bcb610, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb07daca6, rs 0xffffffffb07daba7, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb07daba6, rs 0xffffffffb07daba7, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb07dabca, rs 0xffffffffb07daba7, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffae3afca1, rs 0xffffffffae3afba2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffae3afba1, rs 0xffffffffae3afba2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffae3afbc5, rs 0xffffffffae3afba2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffaafbe714, rs 0xffffffffaafbe615, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffaafbe614, rs 0xffffffffaafbe615, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffaafbe638, rs 0xffffffffaafbe615, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa7b8c1cb, rs 0xffffffffa7b8c0cc, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa7b8c0cb, rs 0xffffffffa7b8c0cc, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa7b8c0ef, rs 0xffffffffa7b8c0cc, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa379de7a, rs 0xffffffffa379dd7b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa379dd7a, rs 0xffffffffa379dd7b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa379dd9e, rs 0xffffffffa379dd7b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9b3661c5, rs 0xffffffff9b3660c6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9b3660c5, rs 0xffffffff9b3660c6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9b3660e9, rs 0xffffffff9b3660c6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9ff77e70, rs 0xffffffff9ff77d71, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9ff77d70, rs 0xffffffff9ff77d71, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9ff77d94, rs 0xffffffff9ff77d71, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff92b45ca7, rs 0xffffffff92b45ba8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff92b45ba7, rs 0xffffffff92b45ba8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff92b45bcb, rs 0xffffffff92b45ba8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9675471e, rs 0xffffffff9675461f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9675461e, rs 0xffffffff9675461f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff96754642, rs 0xffffffff9675461f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff88321719, rs 0xffffffff8832161a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff88321619, rs 0xffffffff8832161a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8832163d, rs 0xffffffff8832161a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8cf30cac, rs 0xffffffff8cf30bad, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8cf30bac, rs 0xffffffff8cf30bad, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8cf30bd0, rs 0xffffffff8cf30bad, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff81b02e73, rs 0xffffffff81b02d74, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff81b02d73, rs 0xffffffff81b02d74, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff81b02d97, rs 0xffffffff81b02d74, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff857131c2, rs 0xffffffff857130c3, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff857130c2, rs 0xffffffff857130c3, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff857130e6, rs 0xffffffff857130c3, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5d8a9198, rs 0x5d8a9099, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5d8a9098, rs 0x5d8a9099, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5d8a90bc, rs 0x5d8a9099, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x594b8e2d, rs 0x594b8d2e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x594b8d2d, rs 0x594b8d2e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x594b8d51, rs 0x594b8d2e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5408acf6, rs 0x5408abf7, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5408abf6, rs 0x5408abf7, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5408ac1a, rs 0x5408abf7, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x50c9b73f, rs 0x50c9b640, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x50c9b63f, rs 0x50c9b640, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x50c9b663, rs 0x50c9b640, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4e8ee744, rs 0x4e8ee645, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4e8ee644, rs 0x4e8ee645, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4e8ee668, rs 0x4e8ee645, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4a4ffcf1, rs 0x4a4ffbf2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4a4ffbf1, rs 0x4a4ffbf2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4a4ffc15, rs 0x4a4ffbf2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x470cde2a, rs 0x470cdd2b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x470cdd2a, rs 0x470cdd2b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x470cdd4e, rs 0x470cdd2b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x43cdc19b, rs 0x43cdc09c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x43cdc09b, rs 0x43cdc09c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x43cdc0bf, rs 0x43cdc09c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7b827e20, rs 0x7b827d21, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7b827d20, rs 0x7b827d21, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7b827d44, rs 0x7b827d21, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7f436195, rs 0x7f436096, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7f436095, rs 0x7f436096, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7f4360b9, rs 0x7f436096, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7200474e, rs 0x7200464f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7200464e, rs 0x7200464f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x72004672, rs 0x7200464f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x76c15cf7, rs 0x76c15bf8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x76c15bf7, rs 0x76c15bf8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x76c15c1b, rs 0x76c15bf8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x68860cfc, rs 0x68860bfd, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x68860bfc, rs 0x68860bfd, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x68860c20, rs 0x68860bfd, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6c471749, rs 0x6c47164a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6c471649, rs 0x6c47164a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6c47166d, rs 0x6c47164a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x61043192, rs 0x61043093, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x61043092, rs 0x61043093, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x610430b6, rs 0x61043093, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x65c52e23, rs 0x65c52d24, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x65c52d23, rs 0x65c52d24, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x65c52d47, rs 0x65c52d24, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x119b4ce8, rs 0x119b4be9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x119b4be8, rs 0x119b4be9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x119b4c0c, rs 0x119b4be9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x155a575d, rs 0x155a565e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x155a565d, rs 0x155a565e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x155a5681, rs 0x155a565e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x18197186, rs 0x18197087, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x18197086, rs 0x18197087, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x181970aa, rs 0x18197087, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1cd86e2f, rs 0x1cd86d30, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1cd86d2f, rs 0x1cd86d30, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1cd86d53, rs 0x1cd86d30, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x29f3e34, rs 0x29f3d35, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x29f3d34, rs 0x29f3d35, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x29f3d58, rs 0x29f3d35, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x65e2181, rs 0x65e2082, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x65e2081, rs 0x65e2082, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x65e20a5, rs 0x65e2082, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xb1d075a, rs 0xb1d065b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xb1d065a, rs 0xb1d065b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xb1d067e, rs 0xb1d065b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfdc1ceb, rs 0xfdc1bec, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfdc1beb, rs 0xfdc1bec, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfdc1c0f, rs 0xfdc1bec, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3793a750, rs 0x3793a651, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3793a650, rs 0x3793a651, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3793a674, rs 0x3793a651, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3352bce5, rs 0x3352bbe6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3352bbe5, rs 0x3352bbe6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3352bc09, rs 0x3352bbe6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3e119e3e, rs 0x3e119d3f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3e119d3e, rs 0x3e119d3f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3e119d62, rs 0x3e119d3f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3ad08187, rs 0x3ad08088, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3ad08087, rs 0x3ad08088, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3ad080ab, rs 0x3ad08088, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2497d18c, rs 0x2497d08d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2497d08c, rs 0x2497d08d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2497d0b0, rs 0x2497d08d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2056ce39, rs 0x2056cd3a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2056cd39, rs 0x2056cd3a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2056cd5d, rs 0x2056cd3a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2d15ece2, rs 0x2d15ebe3, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2d15ebe2, rs 0x2d15ebe3, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2d15ec06, rs 0x2d15ebe3, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x29d4f753, rs 0x29d4f654, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x29d4f653, rs 0x29d4f654, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x29d4f677, rs 0x29d4f654, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc5a92778, rs 0xffffffffc5a92679, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc5a92678, rs 0xffffffffc5a92679, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc5a9269c, rs 0xffffffffc5a92679, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc1683ccd, rs 0xffffffffc1683bce, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc1683bcd, rs 0xffffffffc1683bce, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc1683bf1, rs 0xffffffffc1683bce, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffcc2b1e16, rs 0xffffffffcc2b1d17, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffcc2b1d16, rs 0xffffffffcc2b1d17, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffcc2b1d3a, rs 0xffffffffcc2b1d17, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc8ea019f, rs 0xffffffffc8ea00a0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc8ea009f, rs 0xffffffffc8ea00a0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc8ea00c3, rs 0xffffffffc8ea00a0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd6ad51a4, rs 0xffffffffd6ad50a5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd6ad50a4, rs 0xffffffffd6ad50a5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd6ad50c8, rs 0xffffffffd6ad50a5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd26c4e11, rs 0xffffffffd26c4d12, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd26c4d11, rs 0xffffffffd26c4d12, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd26c4d35, rs 0xffffffffd26c4d12, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffdf2f6cca, rs 0xffffffffdf2f6bcb, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffdf2f6bca, rs 0xffffffffdf2f6bcb, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffdf2f6bee, rs 0xffffffffdf2f6bcb, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffdbee777b, rs 0xffffffffdbee767c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffdbee767b, rs 0xffffffffdbee767c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffdbee769f, rs 0xffffffffdbee767c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe3a1ccc0, rs 0xffffffffe3a1cbc1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe3a1cbc0, rs 0xffffffffe3a1cbc1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe3a1cbe4, rs 0xffffffffe3a1cbc1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe760d775, rs 0xffffffffe760d676, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe760d675, rs 0xffffffffe760d676, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe760d699, rs 0xffffffffe760d676, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffea23f1ae, rs 0xffffffffea23f0af, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffea23f0ae, rs 0xffffffffea23f0af, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffea23f0d2, rs 0xffffffffea23f0af, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffeee2ee17, rs 0xffffffffeee2ed18, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffeee2ed17, rs 0xffffffffeee2ed18, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffeee2ed3b, rs 0xffffffffeee2ed18, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff0a5be1c, rs 0xfffffffff0a5bd1d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff0a5bd1c, rs 0xfffffffff0a5bd1d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff0a5bd40, rs 0xfffffffff0a5bd1d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff464a1a9, rs 0xfffffffff464a0aa, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff464a0a9, rs 0xfffffffff464a0aa, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff464a0cd, rs 0xfffffffff464a0aa, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff9278772, rs 0xfffffffff9278673, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff9278672, rs 0xfffffffff9278673, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff9278696, rs 0xfffffffff9278673, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffffde69cc3, rs 0xfffffffffde69bc4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffffde69bc3, rs 0xfffffffffde69bc4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffffde69be7, rs 0xfffffffffde69bc4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff89b8fe08, rs 0xffffffff89b8fd09, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff89b8fd08, rs 0xffffffff89b8fd09, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff89b8fd2c, rs 0xffffffff89b8fd09, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8d79e1bd, rs 0xffffffff8d79e0be, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8d79e0bd, rs 0xffffffff8d79e0be, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8d79e0e1, rs 0xffffffff8d79e0be, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff803ac766, rs 0xffffffff803ac667, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff803ac666, rs 0xffffffff803ac667, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff803ac68a, rs 0xffffffff803ac667, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff84fbdccf, rs 0xffffffff84fbdbd0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff84fbdbcf, rs 0xffffffff84fbdbd0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff84fbdbf3, rs 0xffffffff84fbdbd0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9abc8cd4, rs 0xffffffff9abc8bd5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9abc8bd4, rs 0xffffffff9abc8bd5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9abc8bf8, rs 0xffffffff9abc8bd5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9e7d9761, rs 0xffffffff9e7d9662, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9e7d9661, rs 0xffffffff9e7d9662, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9e7d9685, rs 0xffffffff9e7d9662, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff933eb1ba, rs 0xffffffff933eb0bb, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff933eb0ba, rs 0xffffffff933eb0bb, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff933eb0de, rs 0xffffffff933eb0bb, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff97ffae0b, rs 0xffffffff97ffad0c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff97ffad0b, rs 0xffffffff97ffad0c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff97ffad2f, rs 0xffffffff97ffad0c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffafb011b0, rs 0xffffffffafb010b1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffafb010b0, rs 0xffffffffafb010b1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffafb010d4, rs 0xffffffffafb010b1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffab710e05, rs 0xffffffffab710d06, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffab710d05, rs 0xffffffffab710d06, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffab710d29, rs 0xffffffffab710d06, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa6322cde, rs 0xffffffffa6322bdf, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa6322bde, rs 0xffffffffa6322bdf, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa6322c02, rs 0xffffffffa6322bdf, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa2f33767, rs 0xffffffffa2f33668, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa2f33667, rs 0xffffffffa2f33668, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa2f3368b, rs 0xffffffffa2f33668, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbcb4676c, rs 0xffffffffbcb4666d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbcb4666c, rs 0xffffffffbcb4666d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbcb46690, rs 0xffffffffbcb4666d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb8757cd9, rs 0xffffffffb8757bda, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb8757bd9, rs 0xffffffffb8757bda, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb8757bfd, rs 0xffffffffb8757bda, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb5365e02, rs 0xffffffffb5365d03, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb5365d02, rs 0xffffffffb5365d03, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb5365d26, rs 0xffffffffb5365d03, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb1f741b3, rs 0xffffffffb1f740b4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb1f740b3, rs 0xffffffffb1f740b4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb1f740d7, rs 0xffffffffb1f740b4, imm 0x0023
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x0, rt 0xffffffffb1f740b4
+addu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0x0, rt 0xffffffffb5365d03
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0x9823b6e, rt 0xffffffffb8757bda
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xd4326d9, rt 0xffffffffbcb4666d
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0x130476dc, rt 0xffffffffa2f33668
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0x1a864db2, rt 0xffffffffab710d06
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0x1e475005, rt 0xffffffffafb010b1
+addu $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0x2608edb8, rt 0xffffffff97ffad0c
+addu $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+addu $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+addu $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+addu $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+addu $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0x31cd86d3, rt 0xffffffff803ac667
+addu $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+addu $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+addu $t0, $t1, $t2 :: rd 0x49f87734, rs 0x4c11db70, rt 0xfffffffffde69bc4
+addu $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+addu $t0, $t1, $t2 :: rd 0x39f880c8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+addu $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+addu $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0x5f15adac, rt 0xffffffffeee2ed18
+addu $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+addu $t0, $t1, $t2 :: rd 0x3df86d38, rs 0x569796c2, rt 0xffffffffe760d676
+addu $t0, $t1, $t2 :: rd 0x35f85736, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+addu $t0, $t1, $t2 :: rd 0x4607ad44, rs 0x6a1936c8, rt 0xffffffffdbee767c
+addu $t0, $t1, $t2 :: rd 0x4e07974a, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+addu $t0, $t1, $t2 :: rd 0x36075ab8, rs 0x639b0da6, rt 0xffffffffd26c4d12
+addu $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0x675a1011, rt 0xffffffffd6ad50a5
+addu $t0, $t1, $t2 :: rd 0x420740b4, rs 0x791d4014, rt 0xffffffffc8ea00a0
+addu $t0, $t1, $t2 :: rd 0x4a077aba, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+addu $t0, $t1, $t2 :: rd 0x3207b748, rs 0x709f7b7a, rt 0xffffffffc1683bce
+addu $t0, $t1, $t2 :: rd 0x3a078d46, rs 0x745e66cd, rt 0xffffffffc5a92679
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0xffffffff9823b6e0, rt 0x29d4f654
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0xffffffff95609039, rt 0x2497d08d
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0xffffffff8664e6e5, rt 0x3793a651
+addu $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+addu $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xffffffffbaea46ef, rt 0xb1d065b
+addu $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0xffffffffb7a96036, rt 0x65e2082
+addu $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0xffffffffb3687d81, rt 0x29f3d35
+addu $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+addu $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0xffffffffa9ee3033, rt 0x18197087
+addu $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0xffffffffa4ad16ea, rt 0x155a565e
+addu $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+addu $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0xffffffffd4326d90, rt 0x65c52d24
+addu $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0xffffffffd0f37027, rt 0x61043093
+addu $t0, $t1, $t2 :: rd 0x49f76d48, rs 0xffffffffddb056fe, rt 0x6c47164a
+addu $t0, $t1, $t2 :: rd 0x41f75746, rs 0xffffffffd9714b49, rt 0x68860bfd
+addu $t0, $t1, $t2 :: rd 0x3df77744, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+addu $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0xffffffffc3f706fb, rt 0x7200464f
+addu $t0, $t1, $t2 :: rd 0x4df780b8, rs 0xffffffffceb42022, rt 0x7f436096
+addu $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0xffffffffca753d95, rt 0x7b827d21
+addu $t0, $t1, $t2 :: rd 0x360840c4, rs 0xfffffffff23a8028, rt 0x43cdc09c
+addu $t0, $t1, $t2 :: rd 0x3e087aca, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+addu $t0, $t1, $t2 :: rd 0x4608b738, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+addu $t0, $t1, $t2 :: rd 0x4e088d36, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+addu $t0, $t1, $t2 :: rd 0x3208ad34, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+addu $t0, $t1, $t2 :: rd 0x3a08973a, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+addu $t0, $t1, $t2 :: rd 0x42085ac8, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+addu $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0x34867077, rt 0xffffffff857130c3
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0x30476dc0, rt 0xffffffff81b02d74
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0x3d044b19, rt 0xffffffff8cf30bad
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0x39c556ae, rt 0xffffffff8832161a
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0x278206ab, rt 0xffffffff9675461f
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0x23431b1c, rt 0xffffffff92b45ba8
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0x2ac12072, rt 0xffffffff9b3660c6
+addu $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+addu $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+addu $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+addu $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+addu $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0x18aeb13, rt 0xffffffffb07daba7
+addu $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+addu $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0x808d07d, rt 0xffffffffb9ff90c9
+addu $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+addu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+addu $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+addu $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+addu $t0, $t1, $t2 :: rd 0x39f85b48, rs 0x75d48dde, rt 0xffffffffc423cd6a
+addu $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0x6b93dddb, rt 0xffffffffda649d6f
+addu $t0, $t1, $t2 :: rd 0x4df84144, rs 0x6f52c06c, rt 0xffffffffdea580d8
+addu $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+addu $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+addu $t0, $t1, $t2 :: rd 0x4e074cca, rs 0x5e9f46bf, rt 0xffffffffef68060b
+addu $t0, $t1, $t2 :: rd 0x460776c4, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+addu $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+addu $t0, $t1, $t2 :: rd 0x36078138, rs 0x53dc6066, rt 0xffffffffe22b20d2
+addu $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+addu $t0, $t1, $t2 :: rd 0x42079b34, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+addu $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+addu $t0, $t1, $t2 :: rd 0x32076cc8, rs 0x40d816ba, rt 0xfffffffff12f560e
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0xffffffffaca5c697, rt 0x1d528623
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0xffffffffa864db20, rt 0x19939b94
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xffffffffbb60adfc, rt 0xa97ed48
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0xffffffffb6238b25, rt 0x7d4cb91
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0xffffffffb2e29692, rt 0x315d626
+addu $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+addu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x0, rt 0x3f9b762c
+addu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x0, rt 0x32d850f5
+addu $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0xffffffff87ee0df6, rt 0x36194d42
+addu $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0xffffffff99a95df3, rt 0x285e1d47
+addu $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0xffffffff9d684044, rt 0x2c9f00f0
+addu $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0xffffffff902b669d, rt 0x21dc2629
+addu $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+addu $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0xffffffffe0b41de7, rt 0x51435d53
+addu $t0, $t1, $t2 :: rd 0x39f74134, rs 0xffffffffe4750050, rt 0x558240e4
+addu $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0xffffffffe9362689, rt 0x58c1663d
+addu $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+addu $t0, $t1, $t2 :: rd 0x35f796ca, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+addu $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0xfffffffff771768c, rt 0x46863638
+addu $t0, $t1, $t2 :: rd 0x45f76136, rs 0xfffffffffa325055, rt 0x4bc510e1
+addu $t0, $t1, $t2 :: rd 0x4df75b38, rs 0xfffffffffef34de2, rt 0x4f040d56
+addu $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+addu $t0, $t1, $t2 :: rd 0x36089b44, rs 0xffffffffc27dede8, rt 0x738aad5c
+addu $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+addu $t0, $t1, $t2 :: rd 0x46086cb8, rs 0xffffffffcbffd686, rt 0x7a089632
+addu $t0, $t1, $t2 :: rd 0x3a084cba, rs 0xffffffffd5b88683, rt 0x644fc637
+addu $t0, $t1, $t2 :: rd 0x320876b4, rs 0xffffffffd1799b34, rt 0x608edb80
+addu $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+addu $t0, $t1, $t2 :: rd 0x42088148, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+addu $t0, $t1, $t2 :: rd 0x42088148, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+addu $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+addu $t0, $t1, $t2 :: rd 0x320876b4, rs 0x608edb80, rt 0xffffffffd1799b34
+addu $t0, $t1, $t2 :: rd 0x3a084cba, rs 0x644fc637, rt 0xffffffffd5b88683
+addu $t0, $t1, $t2 :: rd 0x46086cb8, rs 0x7a089632, rt 0xffffffffcbffd686
+addu $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+addu $t0, $t1, $t2 :: rd 0x36089b44, rs 0x738aad5c, rt 0xffffffffc27dede8
+addu $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+addu $t0, $t1, $t2 :: rd 0x4df75b38, rs 0x4f040d56, rt 0xfffffffffef34de2
+addu $t0, $t1, $t2 :: rd 0x45f76136, rs 0x4bc510e1, rt 0xfffffffffa325055
+addu $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0x46863638, rt 0xfffffffff771768c
+addu $t0, $t1, $t2 :: rd 0x35f796ca, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+addu $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+addu $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0x58c1663d, rt 0xffffffffe9362689
+addu $t0, $t1, $t2 :: rd 0x39f74134, rs 0x558240e4, rt 0xffffffffe4750050
+addu $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0x51435d53, rt 0xffffffffe0b41de7
+addu $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+addu $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0x21dc2629, rt 0xffffffff902b669d
+addu $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0x2c9f00f0, rt 0xffffffff9d684044
+addu $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0x285e1d47, rt 0xffffffff99a95df3
+addu $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0x36194d42, rt 0xffffffff87ee0df6
+addu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+addu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+addu $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0x315d626, rt 0xffffffffb2e29692
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0x7d4cb91, rt 0xffffffffb6238b25
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xa97ed48, rt 0xffffffffbb60adfc
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0x19939b94, rt 0xffffffffa864db20
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0x1d528623, rt 0xffffffffaca5c697
+addu $t0, $t1, $t2 :: rd 0x32076cc8, rs 0xfffffffff12f560e, rt 0x40d816ba
+addu $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+addu $t0, $t1, $t2 :: rd 0x42079b34, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+addu $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+addu $t0, $t1, $t2 :: rd 0x36078138, rs 0xffffffffe22b20d2, rt 0x53dc6066
+addu $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+addu $t0, $t1, $t2 :: rd 0x460776c4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+addu $t0, $t1, $t2 :: rd 0x4e074cca, rs 0xffffffffef68060b, rt 0x5e9f46bf
+addu $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+addu $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+addu $t0, $t1, $t2 :: rd 0x4df84144, rs 0xffffffffdea580d8, rt 0x6f52c06c
+addu $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0xffffffffda649d6f, rt 0x6b93dddb
+addu $t0, $t1, $t2 :: rd 0x39f85b48, rs 0xffffffffc423cd6a, rt 0x75d48dde
+addu $t0, $t1, $t2 :: rd 0x71159069, rs 0x0, rt 0x71159069
+addu $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+addu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x0, rt 0x7897ab07
+addu $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+addu $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0xffffffffb9ff90c9, rt 0x808d07d
+addu $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+addu $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0xffffffffb07daba7, rt 0x18aeb13
+addu $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+addu $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+addu $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+addu $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0xffffffff9b3660c6, rt 0x2ac12072
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0xffffffff92b45ba8, rt 0x23431b1c
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0xffffffff9675461f, rt 0x278206ab
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0xffffffff8832161a, rt 0x39c556ae
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0xffffffff81b02d74, rt 0x30476dc0
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0xffffffff857130c3, rt 0x34867077
+addu $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+addu $t0, $t1, $t2 :: rd 0x42085ac8, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+addu $t0, $t1, $t2 :: rd 0x3a08973a, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+addu $t0, $t1, $t2 :: rd 0x3208ad34, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+addu $t0, $t1, $t2 :: rd 0x4e088d36, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+addu $t0, $t1, $t2 :: rd 0x4608b738, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+addu $t0, $t1, $t2 :: rd 0x3e087aca, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+addu $t0, $t1, $t2 :: rd 0x360840c4, rs 0x43cdc09c, rt 0xfffffffff23a8028
+addu $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0x7b827d21, rt 0xffffffffca753d95
+addu $t0, $t1, $t2 :: rd 0x4df780b8, rs 0x7f436096, rt 0xffffffffceb42022
+addu $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0x7200464f, rt 0xffffffffc3f706fb
+addu $t0, $t1, $t2 :: rd 0x3df77744, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+addu $t0, $t1, $t2 :: rd 0x41f75746, rs 0x68860bfd, rt 0xffffffffd9714b49
+addu $t0, $t1, $t2 :: rd 0x49f76d48, rs 0x6c47164a, rt 0xffffffffddb056fe
+addu $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0x61043093, rt 0xffffffffd0f37027
+addu $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0x65c52d24, rt 0xffffffffd4326d90
+addu $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+addu $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0x155a565e, rt 0xffffffffa4ad16ea
+addu $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0x18197087, rt 0xffffffffa9ee3033
+addu $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+addu $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0x29f3d35, rt 0xffffffffb3687d81
+addu $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0x65e2082, rt 0xffffffffb7a96036
+addu $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+addu $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0x3793a651, rt 0xffffffff8664e6e5
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0x3ad08088, rt 0xffffffff8b27c03c
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0x2497d08d, rt 0xffffffff95609039
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0x29d4f654, rt 0xffffffff9823b6e0
+addu $t0, $t1, $t2 :: rd 0x3a078d46, rs 0xffffffffc5a92679, rt 0x745e66cd
+addu $t0, $t1, $t2 :: rd 0x3207b748, rs 0xffffffffc1683bce, rt 0x709f7b7a
+addu $t0, $t1, $t2 :: rd 0x4a077aba, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+addu $t0, $t1, $t2 :: rd 0x420740b4, rs 0xffffffffc8ea00a0, rt 0x791d4014
+addu $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0xffffffffd6ad50a5, rt 0x675a1011
+addu $t0, $t1, $t2 :: rd 0x36075ab8, rs 0xffffffffd26c4d12, rt 0x639b0da6
+addu $t0, $t1, $t2 :: rd 0x4e07974a, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+addu $t0, $t1, $t2 :: rd 0x4607ad44, rs 0xffffffffdbee767c, rt 0x6a1936c8
+addu $t0, $t1, $t2 :: rd 0x35f85736, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+addu $t0, $t1, $t2 :: rd 0x3df86d38, rs 0xffffffffe760d676, rt 0x569796c2
+addu $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+addu $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0xffffffffeee2ed18, rt 0x5f15adac
+addu $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+addu $t0, $t1, $t2 :: rd 0x39f880c8, rs 0xfffffffff464a0aa, rt 0x4593e01e
+addu $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0xfffffffff9278673, rt 0x48d0c6c7
+addu $t0, $t1, $t2 :: rd 0x49f87734, rs 0xfffffffffde69bc4, rt 0x4c11db70
+addu $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+addu $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+addu $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0xffffffff803ac667, rt 0x31cd86d3
+addu $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+addu $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+addu $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+addu $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+addu $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0xffffffff97ffad0c, rt 0x2608edb8
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0xffffffffafb010b1, rt 0x1e475005
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0xffffffffab710d06, rt 0x1a864db2
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0xffffffffa2f33668, rt 0x130476dc
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xffffffffbcb4666d, rt 0xd4326d9
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0xffffffffb8757bda, rt 0x9823b6e
+addu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x0, rs 0x9823b6e
+clo $t0, $t1 :: rd 0x0, rs 0xd4326d9
+clo $t0, $t1 :: rd 0x0, rs 0x130476dc
+clo $t0, $t1 :: rd 0x0, rs 0x17c56b6b
+clo $t0, $t1 :: rd 0x0, rs 0x1a864db2
+clo $t0, $t1 :: rd 0x0, rs 0x1e475005
+clo $t0, $t1 :: rd 0x0, rs 0x2608edb8
+clo $t0, $t1 :: rd 0x0, rs 0x22c9f00f
+clo $t0, $t1 :: rd 0x0, rs 0x2f8ad6d6
+clo $t0, $t1 :: rd 0x0, rs 0x2b4bcb61
+clo $t0, $t1 :: rd 0x0, rs 0x350c9b64
+clo $t0, $t1 :: rd 0x0, rs 0x31cd86d3
+clo $t0, $t1 :: rd 0x0, rs 0x3c8ea00a
+clo $t0, $t1 :: rd 0x0, rs 0x384fbdbd
+clo $t0, $t1 :: rd 0x0, rs 0x4c11db70
+clo $t0, $t1 :: rd 0x0, rs 0x48d0c6c7
+clo $t0, $t1 :: rd 0x0, rs 0x4593e01e
+clo $t0, $t1 :: rd 0x0, rs 0x4152fda9
+clo $t0, $t1 :: rd 0x0, rs 0x5f15adac
+clo $t0, $t1 :: rd 0x0, rs 0x5bd4b01b
+clo $t0, $t1 :: rd 0x0, rs 0x569796c2
+clo $t0, $t1 :: rd 0x0, rs 0x52568b75
+clo $t0, $t1 :: rd 0x0, rs 0x6a1936c8
+clo $t0, $t1 :: rd 0x0, rs 0x6ed82b7f
+clo $t0, $t1 :: rd 0x0, rs 0x639b0da6
+clo $t0, $t1 :: rd 0x0, rs 0x675a1011
+clo $t0, $t1 :: rd 0x0, rs 0x791d4014
+clo $t0, $t1 :: rd 0x0, rs 0x7ddc5da3
+clo $t0, $t1 :: rd 0x0, rs 0x709f7b7a
+clo $t0, $t1 :: rd 0x0, rs 0x745e66cd
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9823b6e0
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9ce2ab57
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff91a18d8e
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff95609039
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8b27c03c
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8fe6dd8b
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff82a5fb52
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8664e6e5
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbe2b5b58
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbaea46ef
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb7a96036
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb3687d81
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffad2f2d84
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa9ee3033
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa4ad16ea
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa06c0b5d
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd4326d90
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd0f37027
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffddb056fe
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd9714b49
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc7361b4c
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc3f706fb
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffceb42022
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffca753d95
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff23a8028
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff6fb9d9f
+clo $t0, $t1 :: rd 0x5, rs 0xfffffffffbb8bb46
+clo $t0, $t1 :: rd 0x8, rs 0xffffffffff79a6f1
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe13ef6f4
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe5ffeb43
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe8bccd9a
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffec7dd02d
+clo $t0, $t1 :: rd 0x0, rs 0x34867077
+clo $t0, $t1 :: rd 0x0, rs 0x30476dc0
+clo $t0, $t1 :: rd 0x0, rs 0x3d044b19
+clo $t0, $t1 :: rd 0x0, rs 0x39c556ae
+clo $t0, $t1 :: rd 0x0, rs 0x278206ab
+clo $t0, $t1 :: rd 0x0, rs 0x23431b1c
+clo $t0, $t1 :: rd 0x0, rs 0x2e003dc5
+clo $t0, $t1 :: rd 0x0, rs 0x2ac12072
+clo $t0, $t1 :: rd 0x0, rs 0x128e9dcf
+clo $t0, $t1 :: rd 0x0, rs 0x164f8078
+clo $t0, $t1 :: rd 0x0, rs 0x1b0ca6a1
+clo $t0, $t1 :: rd 0x0, rs 0x1fcdbb16
+clo $t0, $t1 :: rd 0x0, rs 0x18aeb13
+clo $t0, $t1 :: rd 0x0, rs 0x54bf6a4
+clo $t0, $t1 :: rd 0x0, rs 0x808d07d
+clo $t0, $t1 :: rd 0x0, rs 0xcc9cdca
+clo $t0, $t1 :: rd 0x0, rs 0x7897ab07
+clo $t0, $t1 :: rd 0x0, rs 0x7c56b6b0
+clo $t0, $t1 :: rd 0x0, rs 0x71159069
+clo $t0, $t1 :: rd 0x0, rs 0x75d48dde
+clo $t0, $t1 :: rd 0x0, rs 0x6b93dddb
+clo $t0, $t1 :: rd 0x0, rs 0x6f52c06c
+clo $t0, $t1 :: rd 0x0, rs 0x6211e6b5
+clo $t0, $t1 :: rd 0x0, rs 0x66d0fb02
+clo $t0, $t1 :: rd 0x0, rs 0x5e9f46bf
+clo $t0, $t1 :: rd 0x0, rs 0x5a5e5b08
+clo $t0, $t1 :: rd 0x0, rs 0x571d7dd1
+clo $t0, $t1 :: rd 0x0, rs 0x53dc6066
+clo $t0, $t1 :: rd 0x0, rs 0x4d9b3063
+clo $t0, $t1 :: rd 0x0, rs 0x495a2dd4
+clo $t0, $t1 :: rd 0x0, rs 0x44190b0d
+clo $t0, $t1 :: rd 0x0, rs 0x40d816ba
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffaca5c697
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa864db20
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa527fdf9
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa1e6e04e
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbfa1b04b
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbb60adfc
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb6238b25
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb2e29692
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8aad2b2f
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff87ee0df6
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff99a95df3
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9d684044
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff902b669d
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff94ea7b2a
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe0b41de7
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe4750050
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe9362689
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffedf73b3e
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff3b06b3b
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff771768c
+clo $t0, $t1 :: rd 0x5, rs 0xfffffffffa325055
+clo $t0, $t1 :: rd 0x7, rs 0xfffffffffef34de2
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc6bcf05f
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc27dede8
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffcf3ecb31
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffcbffd686
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd5b88683
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd1799b34
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffdc3abded
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd8fba05a
+clo $t0, $t1 :: rd 0x0, rs 0x690ce0ee
+clo $t0, $t1 :: rd 0x0, rs 0x6dcdfd59
+clo $t0, $t1 :: rd 0x0, rs 0x608edb80
+clo $t0, $t1 :: rd 0x0, rs 0x644fc637
+clo $t0, $t1 :: rd 0x0, rs 0x7a089632
+clo $t0, $t1 :: rd 0x0, rs 0x7ec98b85
+clo $t0, $t1 :: rd 0x0, rs 0x738aad5c
+clo $t0, $t1 :: rd 0x0, rs 0x774bb0eb
+clo $t0, $t1 :: rd 0x0, rs 0x4f040d56
+clo $t0, $t1 :: rd 0x0, rs 0x4bc510e1
+clo $t0, $t1 :: rd 0x0, rs 0x46863638
+clo $t0, $t1 :: rd 0x0, rs 0x42472b8f
+clo $t0, $t1 :: rd 0x0, rs 0x5c007b8a
+clo $t0, $t1 :: rd 0x0, rs 0x58c1663d
+clo $t0, $t1 :: rd 0x0, rs 0x558240e4
+clo $t0, $t1 :: rd 0x0, rs 0x51435d53
+clo $t0, $t1 :: rd 0x0, rs 0x251d3b9e
+clo $t0, $t1 :: rd 0x0, rs 0x21dc2629
+clo $t0, $t1 :: rd 0x0, rs 0x2c9f00f0
+clo $t0, $t1 :: rd 0x0, rs 0x285e1d47
+clo $t0, $t1 :: rd 0x0, rs 0x36194d42
+clo $t0, $t1 :: rd 0x0, rs 0x32d850f5
+clo $t0, $t1 :: rd 0x0, rs 0x3f9b762c
+clo $t0, $t1 :: rd 0x0, rs 0x3b5a6b9b
+clo $t0, $t1 :: rd 0x0, rs 0x315d626
+clo $t0, $t1 :: rd 0x0, rs 0x7d4cb91
+clo $t0, $t1 :: rd 0x0, rs 0xa97ed48
+clo $t0, $t1 :: rd 0x0, rs 0xe56f0ff
+clo $t0, $t1 :: rd 0x0, rs 0x1011a0fa
+clo $t0, $t1 :: rd 0x0, rs 0x14d0bd4d
+clo $t0, $t1 :: rd 0x0, rs 0x19939b94
+clo $t0, $t1 :: rd 0x0, rs 0x1d528623
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff12f560e
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff5ee4bb9
+clo $t0, $t1 :: rd 0x5, rs 0xfffffffff8ad6d60
+clo $t0, $t1 :: rd 0x6, rs 0xfffffffffc6c70d7
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe22b20d2
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe6ea3d65
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffeba91bbc
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffef68060b
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd727bbb6
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd3e6a601
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffdea580d8
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffda649d6f
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc423cd6a
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffcda1f604
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbd3e8d7e
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb9ff90c9
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb4bcb610
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb07daba7
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffae3afba2
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffaafbe615
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa7b8c0cc
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa379dd7b
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9b3660c6
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9ff77d71
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff92b45ba8
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9675461f
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8832161a
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8cf30bad
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff81b02d74
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff857130c3
+clo $t0, $t1 :: rd 0x0, rs 0x5d8a9099
+clo $t0, $t1 :: rd 0x0, rs 0x594b8d2e
+clo $t0, $t1 :: rd 0x0, rs 0x5408abf7
+clo $t0, $t1 :: rd 0x0, rs 0x50c9b640
+clo $t0, $t1 :: rd 0x0, rs 0x4e8ee645
+clo $t0, $t1 :: rd 0x0, rs 0x4a4ffbf2
+clo $t0, $t1 :: rd 0x0, rs 0x470cdd2b
+clo $t0, $t1 :: rd 0x0, rs 0x43cdc09c
+clo $t0, $t1 :: rd 0x0, rs 0x7b827d21
+clo $t0, $t1 :: rd 0x0, rs 0x7f436096
+clo $t0, $t1 :: rd 0x0, rs 0x7200464f
+clo $t0, $t1 :: rd 0x0, rs 0x76c15bf8
+clo $t0, $t1 :: rd 0x0, rs 0x68860bfd
+clo $t0, $t1 :: rd 0x0, rs 0x6c47164a
+clo $t0, $t1 :: rd 0x0, rs 0x61043093
+clo $t0, $t1 :: rd 0x0, rs 0x65c52d24
+clo $t0, $t1 :: rd 0x0, rs 0x119b4be9
+clo $t0, $t1 :: rd 0x0, rs 0x155a565e
+clo $t0, $t1 :: rd 0x0, rs 0x18197087
+clo $t0, $t1 :: rd 0x0, rs 0x1cd86d30
+clo $t0, $t1 :: rd 0x0, rs 0x29f3d35
+clo $t0, $t1 :: rd 0x0, rs 0x65e2082
+clo $t0, $t1 :: rd 0x0, rs 0xb1d065b
+clo $t0, $t1 :: rd 0x0, rs 0xfdc1bec
+clo $t0, $t1 :: rd 0x0, rs 0x3793a651
+clo $t0, $t1 :: rd 0x0, rs 0x3352bbe6
+clo $t0, $t1 :: rd 0x0, rs 0x3e119d3f
+clo $t0, $t1 :: rd 0x0, rs 0x3ad08088
+clo $t0, $t1 :: rd 0x0, rs 0x2497d08d
+clo $t0, $t1 :: rd 0x0, rs 0x2056cd3a
+clo $t0, $t1 :: rd 0x0, rs 0x2d15ebe3
+clo $t0, $t1 :: rd 0x0, rs 0x29d4f654
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc5a92679
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc1683bce
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffcc2b1d17
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc8ea00a0
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd6ad50a5
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd26c4d12
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffdf2f6bcb
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffdbee767c
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe3a1cbc1
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe760d676
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffea23f0af
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffeee2ed18
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff0a5bd1d
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff464a0aa
+clo $t0, $t1 :: rd 0x5, rs 0xfffffffff9278673
+clo $t0, $t1 :: rd 0x6, rs 0xfffffffffde69bc4
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff89b8fd09
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8d79e0be
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff803ac667
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff84fbdbd0
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9abc8bd5
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9e7d9662
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff933eb0bb
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff97ffad0c
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffafb010b1
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffab710d06
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa6322bdf
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa2f33668
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbcb4666d
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb8757bda
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb5365d03
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb1f740b4
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x4, rs 0x9823b6e
+clz $t0, $t1 :: rd 0x4, rs 0xd4326d9
+clz $t0, $t1 :: rd 0x3, rs 0x130476dc
+clz $t0, $t1 :: rd 0x3, rs 0x17c56b6b
+clz $t0, $t1 :: rd 0x3, rs 0x1a864db2
+clz $t0, $t1 :: rd 0x3, rs 0x1e475005
+clz $t0, $t1 :: rd 0x2, rs 0x2608edb8
+clz $t0, $t1 :: rd 0x2, rs 0x22c9f00f
+clz $t0, $t1 :: rd 0x2, rs 0x2f8ad6d6
+clz $t0, $t1 :: rd 0x2, rs 0x2b4bcb61
+clz $t0, $t1 :: rd 0x2, rs 0x350c9b64
+clz $t0, $t1 :: rd 0x2, rs 0x31cd86d3
+clz $t0, $t1 :: rd 0x2, rs 0x3c8ea00a
+clz $t0, $t1 :: rd 0x2, rs 0x384fbdbd
+clz $t0, $t1 :: rd 0x1, rs 0x4c11db70
+clz $t0, $t1 :: rd 0x1, rs 0x48d0c6c7
+clz $t0, $t1 :: rd 0x1, rs 0x4593e01e
+clz $t0, $t1 :: rd 0x1, rs 0x4152fda9
+clz $t0, $t1 :: rd 0x1, rs 0x5f15adac
+clz $t0, $t1 :: rd 0x1, rs 0x5bd4b01b
+clz $t0, $t1 :: rd 0x1, rs 0x569796c2
+clz $t0, $t1 :: rd 0x1, rs 0x52568b75
+clz $t0, $t1 :: rd 0x1, rs 0x6a1936c8
+clz $t0, $t1 :: rd 0x1, rs 0x6ed82b7f
+clz $t0, $t1 :: rd 0x1, rs 0x639b0da6
+clz $t0, $t1 :: rd 0x1, rs 0x675a1011
+clz $t0, $t1 :: rd 0x1, rs 0x791d4014
+clz $t0, $t1 :: rd 0x1, rs 0x7ddc5da3
+clz $t0, $t1 :: rd 0x1, rs 0x709f7b7a
+clz $t0, $t1 :: rd 0x1, rs 0x745e66cd
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9823b6e0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9ce2ab57
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff91a18d8e
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff95609039
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8b27c03c
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8fe6dd8b
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff82a5fb52
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8664e6e5
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbe2b5b58
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbaea46ef
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb7a96036
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb3687d81
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffad2f2d84
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa9ee3033
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa4ad16ea
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa06c0b5d
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd4326d90
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd0f37027
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffddb056fe
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd9714b49
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc7361b4c
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc3f706fb
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffceb42022
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffca753d95
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff23a8028
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff6fb9d9f
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffffbb8bb46
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffff79a6f1
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe13ef6f4
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe5ffeb43
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe8bccd9a
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffec7dd02d
+clz $t0, $t1 :: rd 0x2, rs 0x34867077
+clz $t0, $t1 :: rd 0x2, rs 0x30476dc0
+clz $t0, $t1 :: rd 0x2, rs 0x3d044b19
+clz $t0, $t1 :: rd 0x2, rs 0x39c556ae
+clz $t0, $t1 :: rd 0x2, rs 0x278206ab
+clz $t0, $t1 :: rd 0x2, rs 0x23431b1c
+clz $t0, $t1 :: rd 0x2, rs 0x2e003dc5
+clz $t0, $t1 :: rd 0x2, rs 0x2ac12072
+clz $t0, $t1 :: rd 0x3, rs 0x128e9dcf
+clz $t0, $t1 :: rd 0x3, rs 0x164f8078
+clz $t0, $t1 :: rd 0x3, rs 0x1b0ca6a1
+clz $t0, $t1 :: rd 0x3, rs 0x1fcdbb16
+clz $t0, $t1 :: rd 0x7, rs 0x18aeb13
+clz $t0, $t1 :: rd 0x5, rs 0x54bf6a4
+clz $t0, $t1 :: rd 0x4, rs 0x808d07d
+clz $t0, $t1 :: rd 0x4, rs 0xcc9cdca
+clz $t0, $t1 :: rd 0x1, rs 0x7897ab07
+clz $t0, $t1 :: rd 0x1, rs 0x7c56b6b0
+clz $t0, $t1 :: rd 0x1, rs 0x71159069
+clz $t0, $t1 :: rd 0x1, rs 0x75d48dde
+clz $t0, $t1 :: rd 0x1, rs 0x6b93dddb
+clz $t0, $t1 :: rd 0x1, rs 0x6f52c06c
+clz $t0, $t1 :: rd 0x1, rs 0x6211e6b5
+clz $t0, $t1 :: rd 0x1, rs 0x66d0fb02
+clz $t0, $t1 :: rd 0x1, rs 0x5e9f46bf
+clz $t0, $t1 :: rd 0x1, rs 0x5a5e5b08
+clz $t0, $t1 :: rd 0x1, rs 0x571d7dd1
+clz $t0, $t1 :: rd 0x1, rs 0x53dc6066
+clz $t0, $t1 :: rd 0x1, rs 0x4d9b3063
+clz $t0, $t1 :: rd 0x1, rs 0x495a2dd4
+clz $t0, $t1 :: rd 0x1, rs 0x44190b0d
+clz $t0, $t1 :: rd 0x1, rs 0x40d816ba
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffaca5c697
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa864db20
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa527fdf9
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa1e6e04e
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbfa1b04b
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbb60adfc
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb6238b25
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb2e29692
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8aad2b2f
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff87ee0df6
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff99a95df3
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9d684044
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff902b669d
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff94ea7b2a
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe0b41de7
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe4750050
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe9362689
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffedf73b3e
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff3b06b3b
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff771768c
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffffa325055
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffffef34de2
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc6bcf05f
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc27dede8
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffcf3ecb31
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffcbffd686
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd5b88683
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd1799b34
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffdc3abded
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd8fba05a
+clz $t0, $t1 :: rd 0x1, rs 0x690ce0ee
+clz $t0, $t1 :: rd 0x1, rs 0x6dcdfd59
+clz $t0, $t1 :: rd 0x1, rs 0x608edb80
+clz $t0, $t1 :: rd 0x1, rs 0x644fc637
+clz $t0, $t1 :: rd 0x1, rs 0x7a089632
+clz $t0, $t1 :: rd 0x1, rs 0x7ec98b85
+clz $t0, $t1 :: rd 0x1, rs 0x738aad5c
+clz $t0, $t1 :: rd 0x1, rs 0x774bb0eb
+clz $t0, $t1 :: rd 0x1, rs 0x4f040d56
+clz $t0, $t1 :: rd 0x1, rs 0x4bc510e1
+clz $t0, $t1 :: rd 0x1, rs 0x46863638
+clz $t0, $t1 :: rd 0x1, rs 0x42472b8f
+clz $t0, $t1 :: rd 0x1, rs 0x5c007b8a
+clz $t0, $t1 :: rd 0x1, rs 0x58c1663d
+clz $t0, $t1 :: rd 0x1, rs 0x558240e4
+clz $t0, $t1 :: rd 0x1, rs 0x51435d53
+clz $t0, $t1 :: rd 0x2, rs 0x251d3b9e
+clz $t0, $t1 :: rd 0x2, rs 0x21dc2629
+clz $t0, $t1 :: rd 0x2, rs 0x2c9f00f0
+clz $t0, $t1 :: rd 0x2, rs 0x285e1d47
+clz $t0, $t1 :: rd 0x2, rs 0x36194d42
+clz $t0, $t1 :: rd 0x2, rs 0x32d850f5
+clz $t0, $t1 :: rd 0x2, rs 0x3f9b762c
+clz $t0, $t1 :: rd 0x2, rs 0x3b5a6b9b
+clz $t0, $t1 :: rd 0x6, rs 0x315d626
+clz $t0, $t1 :: rd 0x5, rs 0x7d4cb91
+clz $t0, $t1 :: rd 0x4, rs 0xa97ed48
+clz $t0, $t1 :: rd 0x4, rs 0xe56f0ff
+clz $t0, $t1 :: rd 0x3, rs 0x1011a0fa
+clz $t0, $t1 :: rd 0x3, rs 0x14d0bd4d
+clz $t0, $t1 :: rd 0x3, rs 0x19939b94
+clz $t0, $t1 :: rd 0x3, rs 0x1d528623
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff12f560e
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff5ee4bb9
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff8ad6d60
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffffc6c70d7
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe22b20d2
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe6ea3d65
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffeba91bbc
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffef68060b
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd727bbb6
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd3e6a601
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffdea580d8
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffda649d6f
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc423cd6a
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffcda1f604
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbd3e8d7e
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb9ff90c9
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb4bcb610
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb07daba7
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffae3afba2
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffaafbe615
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa7b8c0cc
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa379dd7b
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9b3660c6
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9ff77d71
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff92b45ba8
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9675461f
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8832161a
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8cf30bad
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff81b02d74
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff857130c3
+clz $t0, $t1 :: rd 0x1, rs 0x5d8a9099
+clz $t0, $t1 :: rd 0x1, rs 0x594b8d2e
+clz $t0, $t1 :: rd 0x1, rs 0x5408abf7
+clz $t0, $t1 :: rd 0x1, rs 0x50c9b640
+clz $t0, $t1 :: rd 0x1, rs 0x4e8ee645
+clz $t0, $t1 :: rd 0x1, rs 0x4a4ffbf2
+clz $t0, $t1 :: rd 0x1, rs 0x470cdd2b
+clz $t0, $t1 :: rd 0x1, rs 0x43cdc09c
+clz $t0, $t1 :: rd 0x1, rs 0x7b827d21
+clz $t0, $t1 :: rd 0x1, rs 0x7f436096
+clz $t0, $t1 :: rd 0x1, rs 0x7200464f
+clz $t0, $t1 :: rd 0x1, rs 0x76c15bf8
+clz $t0, $t1 :: rd 0x1, rs 0x68860bfd
+clz $t0, $t1 :: rd 0x1, rs 0x6c47164a
+clz $t0, $t1 :: rd 0x1, rs 0x61043093
+clz $t0, $t1 :: rd 0x1, rs 0x65c52d24
+clz $t0, $t1 :: rd 0x3, rs 0x119b4be9
+clz $t0, $t1 :: rd 0x3, rs 0x155a565e
+clz $t0, $t1 :: rd 0x3, rs 0x18197087
+clz $t0, $t1 :: rd 0x3, rs 0x1cd86d30
+clz $t0, $t1 :: rd 0x6, rs 0x29f3d35
+clz $t0, $t1 :: rd 0x5, rs 0x65e2082
+clz $t0, $t1 :: rd 0x4, rs 0xb1d065b
+clz $t0, $t1 :: rd 0x4, rs 0xfdc1bec
+clz $t0, $t1 :: rd 0x2, rs 0x3793a651
+clz $t0, $t1 :: rd 0x2, rs 0x3352bbe6
+clz $t0, $t1 :: rd 0x2, rs 0x3e119d3f
+clz $t0, $t1 :: rd 0x2, rs 0x3ad08088
+clz $t0, $t1 :: rd 0x2, rs 0x2497d08d
+clz $t0, $t1 :: rd 0x2, rs 0x2056cd3a
+clz $t0, $t1 :: rd 0x2, rs 0x2d15ebe3
+clz $t0, $t1 :: rd 0x2, rs 0x29d4f654
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc5a92679
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc1683bce
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffcc2b1d17
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc8ea00a0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd6ad50a5
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd26c4d12
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffdf2f6bcb
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffdbee767c
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe3a1cbc1
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe760d676
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffea23f0af
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffeee2ed18
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff0a5bd1d
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff464a0aa
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff9278673
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffffde69bc4
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff89b8fd09
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8d79e0be
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff803ac667
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff84fbdbd0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9abc8bd5
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9e7d9662
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff933eb0bb
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff97ffad0c
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffafb010b1
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffab710d06
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa6322bdf
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa2f33668
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbcb4666d
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb8757bda
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb5365d03
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb1f740b4
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x0, rt 0xffffffffb1f740b4
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0x0, rt 0xffffffffb5365d03
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0x9823b6e, rt 0xffffffffb8757bda
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0x130476dc, rt 0xffffffffa2f33668
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0x1a864db2, rt 0xffffffffab710d06
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0x1e475005, rt 0xffffffffafb010b1
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dadd $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dadd $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dadd $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0x31cd86d3, rt 0xffffffff803ac667
+dadd $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dadd $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dadd $t0, $t1, $t2 :: rd 0x49f87734, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dadd $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dadd $t0, $t1, $t2 :: rd 0x39f880c8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dadd $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dadd $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dadd $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dadd $t0, $t1, $t2 :: rd 0x3df86d38, rs 0x569796c2, rt 0xffffffffe760d676
+dadd $t0, $t1, $t2 :: rd 0x35f85736, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dadd $t0, $t1, $t2 :: rd 0x4607ad44, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dadd $t0, $t1, $t2 :: rd 0x4e07974a, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dadd $t0, $t1, $t2 :: rd 0x36075ab8, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dadd $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dadd $t0, $t1, $t2 :: rd 0x420740b4, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dadd $t0, $t1, $t2 :: rd 0x4a077aba, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dadd $t0, $t1, $t2 :: rd 0x3207b748, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dadd $t0, $t1, $t2 :: rd 0x3a078d46, rs 0x745e66cd, rt 0xffffffffc5a92679
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0xffffffff95609039, rt 0x2497d08d
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0xffffffff8664e6e5, rt 0x3793a651
+dadd $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0xffffffffb7a96036, rt 0x65e2082
+dadd $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0xffffffffb3687d81, rt 0x29f3d35
+dadd $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dadd $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0xffffffffa9ee3033, rt 0x18197087
+dadd $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dadd $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0xffffffffd4326d90, rt 0x65c52d24
+dadd $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0xffffffffd0f37027, rt 0x61043093
+dadd $t0, $t1, $t2 :: rd 0x49f76d48, rs 0xffffffffddb056fe, rt 0x6c47164a
+dadd $t0, $t1, $t2 :: rd 0x41f75746, rs 0xffffffffd9714b49, rt 0x68860bfd
+dadd $t0, $t1, $t2 :: rd 0x3df77744, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dadd $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0xffffffffc3f706fb, rt 0x7200464f
+dadd $t0, $t1, $t2 :: rd 0x4df780b8, rs 0xffffffffceb42022, rt 0x7f436096
+dadd $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0xffffffffca753d95, rt 0x7b827d21
+dadd $t0, $t1, $t2 :: rd 0x360840c4, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dadd $t0, $t1, $t2 :: rd 0x3e087aca, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dadd $t0, $t1, $t2 :: rd 0x4608b738, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dadd $t0, $t1, $t2 :: rd 0x4e088d36, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dadd $t0, $t1, $t2 :: rd 0x3208ad34, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dadd $t0, $t1, $t2 :: rd 0x3a08973a, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dadd $t0, $t1, $t2 :: rd 0x42085ac8, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dadd $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0x34867077, rt 0xffffffff857130c3
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0x30476dc0, rt 0xffffffff81b02d74
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0x39c556ae, rt 0xffffffff8832161a
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0x278206ab, rt 0xffffffff9675461f
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dadd $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dadd $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dadd $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0x18aeb13, rt 0xffffffffb07daba7
+dadd $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dadd $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dadd $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dadd $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dadd $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dadd $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dadd $t0, $t1, $t2 :: rd 0x39f85b48, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dadd $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dadd $t0, $t1, $t2 :: rd 0x4df84144, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dadd $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dadd $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dadd $t0, $t1, $t2 :: rd 0x4e074cca, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dadd $t0, $t1, $t2 :: rd 0x460776c4, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dadd $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dadd $t0, $t1, $t2 :: rd 0x36078138, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dadd $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dadd $t0, $t1, $t2 :: rd 0x42079b34, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dadd $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dadd $t0, $t1, $t2 :: rd 0x32076cc8, rs 0x40d816ba, rt 0xfffffffff12f560e
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0xffffffffaca5c697, rt 0x1d528623
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0xffffffffa864db20, rt 0x19939b94
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0xffffffffb2e29692, rt 0x315d626
+dadd $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dadd $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x0, rt 0x3f9b762c
+dadd $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x0, rt 0x32d850f5
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0xffffffff87ee0df6, rt 0x36194d42
+dadd $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0xffffffff99a95df3, rt 0x285e1d47
+dadd $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0xffffffff902b669d, rt 0x21dc2629
+dadd $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dadd $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0xffffffffe0b41de7, rt 0x51435d53
+dadd $t0, $t1, $t2 :: rd 0x39f74134, rs 0xffffffffe4750050, rt 0x558240e4
+dadd $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0xffffffffe9362689, rt 0x58c1663d
+dadd $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dadd $t0, $t1, $t2 :: rd 0x35f796ca, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dadd $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0xfffffffff771768c, rt 0x46863638
+dadd $t0, $t1, $t2 :: rd 0x45f76136, rs 0xfffffffffa325055, rt 0x4bc510e1
+dadd $t0, $t1, $t2 :: rd 0x4df75b38, rs 0xfffffffffef34de2, rt 0x4f040d56
+dadd $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dadd $t0, $t1, $t2 :: rd 0x36089b44, rs 0xffffffffc27dede8, rt 0x738aad5c
+dadd $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dadd $t0, $t1, $t2 :: rd 0x46086cb8, rs 0xffffffffcbffd686, rt 0x7a089632
+dadd $t0, $t1, $t2 :: rd 0x3a084cba, rs 0xffffffffd5b88683, rt 0x644fc637
+dadd $t0, $t1, $t2 :: rd 0x320876b4, rs 0xffffffffd1799b34, rt 0x608edb80
+dadd $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dadd $t0, $t1, $t2 :: rd 0x42088148, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dadd $t0, $t1, $t2 :: rd 0x42088148, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dadd $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dadd $t0, $t1, $t2 :: rd 0x320876b4, rs 0x608edb80, rt 0xffffffffd1799b34
+dadd $t0, $t1, $t2 :: rd 0x3a084cba, rs 0x644fc637, rt 0xffffffffd5b88683
+dadd $t0, $t1, $t2 :: rd 0x46086cb8, rs 0x7a089632, rt 0xffffffffcbffd686
+dadd $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dadd $t0, $t1, $t2 :: rd 0x36089b44, rs 0x738aad5c, rt 0xffffffffc27dede8
+dadd $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dadd $t0, $t1, $t2 :: rd 0x4df75b38, rs 0x4f040d56, rt 0xfffffffffef34de2
+dadd $t0, $t1, $t2 :: rd 0x45f76136, rs 0x4bc510e1, rt 0xfffffffffa325055
+dadd $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0x46863638, rt 0xfffffffff771768c
+dadd $t0, $t1, $t2 :: rd 0x35f796ca, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dadd $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dadd $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0x58c1663d, rt 0xffffffffe9362689
+dadd $t0, $t1, $t2 :: rd 0x39f74134, rs 0x558240e4, rt 0xffffffffe4750050
+dadd $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0x51435d53, rt 0xffffffffe0b41de7
+dadd $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0x21dc2629, rt 0xffffffff902b669d
+dadd $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dadd $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0x285e1d47, rt 0xffffffff99a95df3
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0x36194d42, rt 0xffffffff87ee0df6
+dadd $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dadd $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dadd $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0x315d626, rt 0xffffffffb2e29692
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0x19939b94, rt 0xffffffffa864db20
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0x1d528623, rt 0xffffffffaca5c697
+dadd $t0, $t1, $t2 :: rd 0x32076cc8, rs 0xfffffffff12f560e, rt 0x40d816ba
+dadd $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dadd $t0, $t1, $t2 :: rd 0x42079b34, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dadd $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dadd $t0, $t1, $t2 :: rd 0x36078138, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dadd $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dadd $t0, $t1, $t2 :: rd 0x460776c4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dadd $t0, $t1, $t2 :: rd 0x4e074cca, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dadd $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dadd $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dadd $t0, $t1, $t2 :: rd 0x4df84144, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dadd $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dadd $t0, $t1, $t2 :: rd 0x39f85b48, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dadd $t0, $t1, $t2 :: rd 0x71159069, rs 0x0, rt 0x71159069
+dadd $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dadd $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x0, rt 0x7897ab07
+dadd $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dadd $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dadd $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dadd $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0xffffffffb07daba7, rt 0x18aeb13
+dadd $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dadd $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0xffffffff9675461f, rt 0x278206ab
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0xffffffff8832161a, rt 0x39c556ae
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0xffffffff81b02d74, rt 0x30476dc0
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0xffffffff857130c3, rt 0x34867077
+dadd $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dadd $t0, $t1, $t2 :: rd 0x42085ac8, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dadd $t0, $t1, $t2 :: rd 0x3a08973a, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dadd $t0, $t1, $t2 :: rd 0x3208ad34, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dadd $t0, $t1, $t2 :: rd 0x4e088d36, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dadd $t0, $t1, $t2 :: rd 0x4608b738, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dadd $t0, $t1, $t2 :: rd 0x3e087aca, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dadd $t0, $t1, $t2 :: rd 0x360840c4, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dadd $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0x7b827d21, rt 0xffffffffca753d95
+dadd $t0, $t1, $t2 :: rd 0x4df780b8, rs 0x7f436096, rt 0xffffffffceb42022
+dadd $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0x7200464f, rt 0xffffffffc3f706fb
+dadd $t0, $t1, $t2 :: rd 0x3df77744, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dadd $t0, $t1, $t2 :: rd 0x41f75746, rs 0x68860bfd, rt 0xffffffffd9714b49
+dadd $t0, $t1, $t2 :: rd 0x49f76d48, rs 0x6c47164a, rt 0xffffffffddb056fe
+dadd $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0x61043093, rt 0xffffffffd0f37027
+dadd $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0x65c52d24, rt 0xffffffffd4326d90
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dadd $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dadd $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0x18197087, rt 0xffffffffa9ee3033
+dadd $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dadd $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0x29f3d35, rt 0xffffffffb3687d81
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0x65e2082, rt 0xffffffffb7a96036
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dadd $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0x3793a651, rt 0xffffffff8664e6e5
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0x2497d08d, rt 0xffffffff95609039
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dadd $t0, $t1, $t2 :: rd 0x3a078d46, rs 0xffffffffc5a92679, rt 0x745e66cd
+dadd $t0, $t1, $t2 :: rd 0x3207b748, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dadd $t0, $t1, $t2 :: rd 0x4a077aba, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dadd $t0, $t1, $t2 :: rd 0x420740b4, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dadd $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dadd $t0, $t1, $t2 :: rd 0x36075ab8, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dadd $t0, $t1, $t2 :: rd 0x4e07974a, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dadd $t0, $t1, $t2 :: rd 0x4607ad44, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dadd $t0, $t1, $t2 :: rd 0x35f85736, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dadd $t0, $t1, $t2 :: rd 0x3df86d38, rs 0xffffffffe760d676, rt 0x569796c2
+dadd $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dadd $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dadd $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dadd $t0, $t1, $t2 :: rd 0x39f880c8, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dadd $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dadd $t0, $t1, $t2 :: rd 0x49f87734, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dadd $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dadd $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0xffffffff803ac667, rt 0x31cd86d3
+dadd $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dadd $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dadd $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0xffffffffafb010b1, rt 0x1e475005
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0xffffffffab710d06, rt 0x1a864db2
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0xffffffffa2f33668, rt 0x130476dc
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0xffffffffb8757bda, rt 0x9823b6e
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x12bd7a9, rs 0x12bd6aa, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x12bd6a9, rs 0x12bd6aa, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x12bd6cd, rs 0x12bd6aa, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7e876382d2ac12, rs 0x7e876382d2ab13, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7e876382d2ab12, rs 0x7e876382d2ab13, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7e876382d2ab36, rs 0x7e876382d2ab13, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9823c6d, rs 0x9823b6e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9823b6d, rs 0x9823b6e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9823b91, rs 0x9823b6e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x976d6e9ac31511f2, rs 0x976d6e9ac31510f3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x976d6e9ac31510f2, rs 0x976d6e9ac31510f3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x976d6e9ac3151116, rs 0x976d6e9ac31510f3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd4327d8, rs 0xd4326d9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd4326d8, rs 0xd4326d9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd4326fc, rs 0xd4326d9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb7746d775ad6a6fa, rs 0xb7746d775ad6a5fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb7746d775ad6a5fa, rs 0xb7746d775ad6a5fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb7746d775ad6a61e, rs 0xb7746d775ad6a5fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x130477db, rs 0x130476dc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x130476db, rs 0x130476dc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x130476ff, rs 0x130476dc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x42b0c0a28677b601, rs 0x42b0c0a28677b502, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x42b0c0a28677b501, rs 0x42b0c0a28677b502, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x42b0c0a28677b525, rs 0x42b0c0a28677b502, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x17c56c6a, rs 0x17c56b6b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x17c56b6a, rs 0x17c56b6b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x17c56b8e, rs 0x17c56b6b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2aa89d319e3c31ac, rs 0x2aa89d319e3c30ad, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2aa89d319e3c30ac, rs 0x2aa89d319e3c30ad, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2aa89d319e3c30d0, rs 0x2aa89d319e3c30ad, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1a864eb1, rs 0x1a864db2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1a864db1, rs 0x1a864db2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1a864dd5, rs 0x1a864db2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1f308ec377fb423c, rs 0x1f308ec377fb413d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1f308ec377fb413c, rs 0x1f308ec377fb413d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1f308ec377fb4160, rs 0x1f308ec377fb413d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1e475104, rs 0x1e475005, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1e475004, rs 0x1e475005, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1e475028, rs 0x1e475005, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7aa04213c760e5f6, rs 0x7aa04213c760e4f7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7aa04213c760e4f6, rs 0x7aa04213c760e4f7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7aa04213c760e51a, rs 0x7aa04213c760e4f7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2608eeb7, rs 0x2608edb8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2608edb7, rs 0x2608edb8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2608eddb, rs 0x2608edb8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9e705cc51ad8dd9f, rs 0x9e705cc51ad8dca0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9e705cc51ad8dc9f, rs 0x9e705cc51ad8dca0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9e705cc51ad8dcc3, rs 0x9e705cc51ad8dca0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x22c9f10e, rs 0x22c9f00f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x22c9f00e, rs 0x22c9f00f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x22c9f032, rs 0x22c9f00f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4b3dda869615a70c, rs 0x4b3dda869615a60d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4b3dda869615a60c, rs 0x4b3dda869615a60d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4b3dda869615a630, rs 0x4b3dda869615a60d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2f8ad7d5, rs 0x2f8ad6d6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2f8ad6d5, rs 0x2f8ad6d6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2f8ad6f9, rs 0x2f8ad6d6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5e7a4dd6353d51c, rs 0x5e7a4dd6353d41d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5e7a4dd6353d41c, rs 0x5e7a4dd6353d41d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5e7a4dd6353d440, rs 0x5e7a4dd6353d41d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2b4bcc60, rs 0x2b4bcb61, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2b4bcb60, rs 0x2b4bcb61, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2b4bcb84, rs 0x2b4bcb61, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3af35a9dc40bd512, rs 0x3af35a9dc40bd413, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3af35a9dc40bd412, rs 0x3af35a9dc40bd413, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3af35a9dc40bd436, rs 0x3af35a9dc40bd413, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x350c9c63, rs 0x350c9b64, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x350c9b63, rs 0x350c9b64, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x350c9b87, rs 0x350c9b64, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x47f505569a08a27f, rs 0x47f505569a08a180, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x47f505569a08a17f, rs 0x47f505569a08a180, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x47f505569a08a1a3, rs 0x47f505569a08a180, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x31cd87d2, rs 0x31cd86d3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x31cd86d2, rs 0x31cd86d3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x31cd86f6, rs 0x31cd86d3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9564b77fd6d2050e, rs 0x9564b77fd6d2040f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9564b77fd6d2040e, rs 0x9564b77fd6d2040f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9564b77fd6d20432, rs 0x9564b77fd6d2040f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3c8ea109, rs 0x3c8ea00a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3c8ea009, rs 0x3c8ea00a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3c8ea02d, rs 0x3c8ea00a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xcebc8279b2c76cbd, rs 0xcebc8279b2c76bbe, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xcebc8279b2c76bbd, rs 0xcebc8279b2c76bbe, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xcebc8279b2c76be1, rs 0xcebc8279b2c76bbe, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x384fbebc, rs 0x384fbdbd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x384fbdbc, rs 0x384fbdbd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x384fbde0, rs 0x384fbdbd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb5034c2f1f18e5c6, rs 0xb5034c2f1f18e4c7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb5034c2f1f18e4c6, rs 0xb5034c2f1f18e4c7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb5034c2f1f18e4ea, rs 0xb5034c2f1f18e4c7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4c11dc6f, rs 0x4c11db70, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4c11db6f, rs 0x4c11db70, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4c11db93, rs 0x4c11db70, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x94ff52fc81afa896, rs 0x94ff52fc81afa797, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x94ff52fc81afa796, rs 0x94ff52fc81afa797, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x94ff52fc81afa7ba, rs 0x94ff52fc81afa797, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x48d0c7c6, rs 0x48d0c6c7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x48d0c6c6, rs 0x48d0c6c7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x48d0c6ea, rs 0x48d0c6c7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x31d8d9166dfc51e9, rs 0x31d8d9166dfc50ea, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x31d8d9166dfc50e9, rs 0x31d8d9166dfc50ea, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x31d8d9166dfc510d, rs 0x31d8d9166dfc50ea, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4593e11d, rs 0x4593e01e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4593e01d, rs 0x4593e01e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4593e041, rs 0x4593e01e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x36549bd678e896b0, rs 0x36549bd678e895b1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x36549bd678e895b0, rs 0x36549bd678e895b1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x36549bd678e895d4, rs 0x36549bd678e895b1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4152fea8, rs 0x4152fda9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4152fda8, rs 0x4152fda9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4152fdcc, rs 0x4152fda9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x85e0a6319b63269a, rs 0x85e0a6319b63259b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x85e0a6319b63259a, rs 0x85e0a6319b63259b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x85e0a6319b6325be, rs 0x85e0a6319b63259b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5f15aeab, rs 0x5f15adac, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5f15adab, rs 0x5f15adac, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5f15adcf, rs 0x5f15adac, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x556b3ecaccf17bc4, rs 0x556b3ecaccf17ac5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x556b3ecaccf17ac4, rs 0x556b3ecaccf17ac5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x556b3ecaccf17ae8, rs 0x556b3ecaccf17ac5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5bd4b11a, rs 0x5bd4b01b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5bd4b01a, rs 0x5bd4b01b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5bd4b03e, rs 0x5bd4b01b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb42f5fc581eea1fa, rs 0xb42f5fc581eea0fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb42f5fc581eea0fa, rs 0xb42f5fc581eea0fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb42f5fc581eea11e, rs 0xb42f5fc581eea0fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x569797c1, rs 0x569796c2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x569796c1, rs 0x569796c2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x569796e5, rs 0x569796c2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x25b50fec14682e96, rs 0x25b50fec14682d97, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x25b50fec14682d96, rs 0x25b50fec14682d97, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x25b50fec14682dba, rs 0x25b50fec14682d97, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x52568c74, rs 0x52568b75, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x52568b74, rs 0x52568b75, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x52568b98, rs 0x52568b75, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfc93c5132cfb0979, rs 0xfc93c5132cfb087a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfc93c5132cfb0879, rs 0xfc93c5132cfb087a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfc93c5132cfb089d, rs 0xfc93c5132cfb087a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6a1937c7, rs 0x6a1936c8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6a1936c7, rs 0x6a1936c8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6a1936eb, rs 0x6a1936c8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3c2cd9a9cda20865, rs 0x3c2cd9a9cda20766, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3c2cd9a9cda20765, rs 0x3c2cd9a9cda20766, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3c2cd9a9cda20789, rs 0x3c2cd9a9cda20766, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6ed82c7e, rs 0x6ed82b7f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6ed82b7e, rs 0x6ed82b7f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6ed82ba2, rs 0x6ed82b7f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1791722a7d72db3d, rs 0x1791722a7d72da3e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1791722a7d72da3d, rs 0x1791722a7d72da3e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1791722a7d72da61, rs 0x1791722a7d72da3e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x639b0ea5, rs 0x639b0da6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x639b0da5, rs 0x639b0da6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x639b0dc9, rs 0x639b0da6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x87cc9d193ce25ac, rs 0x87cc9d193ce24ad, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x87cc9d193ce24ac, rs 0x87cc9d193ce24ad, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x87cc9d193ce24d0, rs 0x87cc9d193ce24ad, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x675a1110, rs 0x675a1011, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x675a1010, rs 0x675a1011, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x675a1034, rs 0x675a1011, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1d2a757038984fd1, rs 0x1d2a757038984ed2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1d2a757038984ed1, rs 0x1d2a757038984ed2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1d2a757038984ef5, rs 0x1d2a757038984ed2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x791d4113, rs 0x791d4014, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x791d4013, rs 0x791d4014, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x791d4037, rs 0x791d4014, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd0d070db710cd135, rs 0xd0d070db710cd036, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd0d070db710cd035, rs 0xd0d070db710cd036, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd0d070db710cd059, rs 0xd0d070db710cd036, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7ddc5ea2, rs 0x7ddc5da3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7ddc5da2, rs 0x7ddc5da3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7ddc5dc6, rs 0x7ddc5da3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x39c21c7d03415703, rs 0x39c21c7d03415604, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x39c21c7d03415603, rs 0x39c21c7d03415604, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x39c21c7d03415627, rs 0x39c21c7d03415604, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x709f7c79, rs 0x709f7b7a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x709f7b79, rs 0x709f7b7a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x709f7b9d, rs 0x709f7b7a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8e94b7af8ecc32cd, rs 0x8e94b7af8ecc31ce, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8e94b7af8ecc31cd, rs 0x8e94b7af8ecc31ce, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8e94b7af8ecc31f1, rs 0x8e94b7af8ecc31ce, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x745e67cc, rs 0x745e66cd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x745e66cc, rs 0x745e66cd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x745e66f0, rs 0x745e66cd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x24eb6a8d1ce7684e, rs 0x24eb6a8d1ce7674f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x24eb6a8d1ce7674e, rs 0x24eb6a8d1ce7674f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x24eb6a8d1ce76772, rs 0x24eb6a8d1ce7674f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9823b7df, rs 0xffffffff9823b6e0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9823b6df, rs 0xffffffff9823b6e0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9823b703, rs 0xffffffff9823b6e0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2f39454412d6e5a6, rs 0x2f39454412d6e4a7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2f39454412d6e4a6, rs 0x2f39454412d6e4a7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2f39454412d6e4ca, rs 0x2f39454412d6e4a7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9ce2ac56, rs 0xffffffff9ce2ab57, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9ce2ab56, rs 0xffffffff9ce2ab57, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9ce2ab7a, rs 0xffffffff9ce2ab57, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2608c2b756da4d53, rs 0x2608c2b756da4c54, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2608c2b756da4c53, rs 0x2608c2b756da4c54, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2608c2b756da4c77, rs 0x2608c2b756da4c54, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff91a18e8d, rs 0xffffffff91a18d8e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff91a18d8d, rs 0xffffffff91a18d8e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff91a18db1, rs 0xffffffff91a18d8e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x900102dac8d7262e, rs 0x900102dac8d7252f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x900102dac8d7252e, rs 0x900102dac8d7252f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x900102dac8d72552, rs 0x900102dac8d7252f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff95609138, rs 0xffffffff95609039, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff95609038, rs 0xffffffff95609039, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9560905c, rs 0xffffffff95609039, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc890d5f1f2efa5f6, rs 0xc890d5f1f2efa4f7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc890d5f1f2efa4f6, rs 0xc890d5f1f2efa4f7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc890d5f1f2efa51a, rs 0xc890d5f1f2efa4f7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8b27c13b, rs 0xffffffff8b27c03c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8b27c03b, rs 0xffffffff8b27c03c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8b27c05f, rs 0xffffffff8b27c03c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xed5005cbc8b0a313, rs 0xed5005cbc8b0a214, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xed5005cbc8b0a213, rs 0xed5005cbc8b0a214, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xed5005cbc8b0a237, rs 0xed5005cbc8b0a214, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8fe6de8a, rs 0xffffffff8fe6dd8b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8fe6dd8a, rs 0xffffffff8fe6dd8b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8fe6ddae, rs 0xffffffff8fe6dd8b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x314791895991146b, rs 0x314791895991136c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x314791895991136b, rs 0x314791895991136c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x314791895991138f, rs 0x314791895991136c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff82a5fc51, rs 0xffffffff82a5fb52, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff82a5fb51, rs 0xffffffff82a5fb52, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff82a5fb75, rs 0xffffffff82a5fb52, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc6eecff99a2fb7f2, rs 0xc6eecff99a2fb6f3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc6eecff99a2fb6f2, rs 0xc6eecff99a2fb6f3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc6eecff99a2fb716, rs 0xc6eecff99a2fb6f3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8664e7e4, rs 0xffffffff8664e6e5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8664e6e4, rs 0xffffffff8664e6e5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8664e708, rs 0xffffffff8664e6e5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa80952123889536f, rs 0xa809521238895270, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa80952123889526f, rs 0xa809521238895270, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa809521238895293, rs 0xa809521238895270, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbe2b5c57, rs 0xffffffffbe2b5b58, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbe2b5b57, rs 0xffffffffbe2b5b58, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbe2b5b7b, rs 0xffffffffbe2b5b58, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x87750a04ad76513f, rs 0x87750a04ad765040, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x87750a04ad76503f, rs 0x87750a04ad765040, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x87750a04ad765063, rs 0x87750a04ad765040, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbaea47ee, rs 0xffffffffbaea46ef, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbaea46ee, rs 0xffffffffbaea46ef, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbaea4712, rs 0xffffffffbaea46ef, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2c3de85e84bb5b82, rs 0x2c3de85e84bb5a83, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2c3de85e84bb5a82, rs 0x2c3de85e84bb5a83, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2c3de85e84bb5aa6, rs 0x2c3de85e84bb5a83, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb7a96135, rs 0xffffffffb7a96036, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb7a96035, rs 0xffffffffb7a96036, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb7a96059, rs 0xffffffffb7a96036, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xae6aff8fc506ab66, rs 0xae6aff8fc506aa67, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xae6aff8fc506aa66, rs 0xae6aff8fc506aa67, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xae6aff8fc506aa8a, rs 0xae6aff8fc506aa67, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb3687e80, rs 0xffffffffb3687d81, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb3687d80, rs 0xffffffffb3687d81, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb3687da4, rs 0xffffffffb3687d81, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc07112dd60ed5fe2, rs 0xc07112dd60ed5ee3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc07112dd60ed5ee2, rs 0xc07112dd60ed5ee3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc07112dd60ed5f06, rs 0xc07112dd60ed5ee3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffad2f2e83, rs 0xffffffffad2f2d84, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffad2f2d83, rs 0xffffffffad2f2d84, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffad2f2da7, rs 0xffffffffad2f2d84, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc4c770f630dccb59, rs 0xc4c770f630dcca5a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc4c770f630dcca59, rs 0xc4c770f630dcca5a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc4c770f630dcca7d, rs 0xc4c770f630dcca5a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa9ee3132, rs 0xffffffffa9ee3033, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa9ee3032, rs 0xffffffffa9ee3033, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa9ee3056, rs 0xffffffffa9ee3033, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xdfec2b2383cd5376, rs 0xdfec2b2383cd5277, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xdfec2b2383cd5276, rs 0xdfec2b2383cd5277, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xdfec2b2383cd529a, rs 0xdfec2b2383cd5277, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa4ad17e9, rs 0xffffffffa4ad16ea, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa4ad16e9, rs 0xffffffffa4ad16ea, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa4ad170d, rs 0xffffffffa4ad16ea, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd3adba260ff7da6a, rs 0xd3adba260ff7d96b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd3adba260ff7d96a, rs 0xd3adba260ff7d96b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd3adba260ff7d98e, rs 0xd3adba260ff7d96b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa06c0c5c, rs 0xffffffffa06c0b5d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa06c0b5c, rs 0xffffffffa06c0b5d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa06c0b80, rs 0xffffffffa06c0b5d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4ab4aa798418c10d, rs 0x4ab4aa798418c00e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4ab4aa798418c00d, rs 0x4ab4aa798418c00e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4ab4aa798418c031, rs 0x4ab4aa798418c00e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd4326e8f, rs 0xffffffffd4326d90, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd4326d8f, rs 0xffffffffd4326d90, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd4326db3, rs 0xffffffffd4326d90, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbb8c035e0de0f1b7, rs 0xbb8c035e0de0f0b8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbb8c035e0de0f0b7, rs 0xbb8c035e0de0f0b8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbb8c035e0de0f0db, rs 0xbb8c035e0de0f0b8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd0f37126, rs 0xffffffffd0f37027, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd0f37026, rs 0xffffffffd0f37027, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd0f3704a, rs 0xffffffffd0f37027, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x33b06f54a97fddf0, rs 0x33b06f54a97fdcf1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x33b06f54a97fdcf0, rs 0x33b06f54a97fdcf1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x33b06f54a97fdd14, rs 0x33b06f54a97fdcf1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffddb057fd, rs 0xffffffffddb056fe, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffddb056fd, rs 0xffffffffddb056fe, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffddb05721, rs 0xffffffffddb056fe, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x77433f373fd1c180, rs 0x77433f373fd1c081, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x77433f373fd1c080, rs 0x77433f373fd1c081, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x77433f373fd1c0a4, rs 0x77433f373fd1c081, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd9714c48, rs 0xffffffffd9714b49, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd9714b48, rs 0xffffffffd9714b49, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd9714b6c, rs 0xffffffffd9714b49, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xec91d993c92196e3, rs 0xec91d993c92195e4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xec91d993c92195e3, rs 0xec91d993c92195e4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xec91d993c9219607, rs 0xec91d993c92195e4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc7361c4b, rs 0xffffffffc7361b4c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc7361b4b, rs 0xffffffffc7361b4c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc7361b6f, rs 0xffffffffc7361b4c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x49fbf6a795b1a6aa, rs 0x49fbf6a795b1a5ab, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x49fbf6a795b1a5aa, rs 0x49fbf6a795b1a5ab, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x49fbf6a795b1a5ce, rs 0x49fbf6a795b1a5ab, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc3f707fa, rs 0xffffffffc3f706fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc3f706fa, rs 0xffffffffc3f706fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc3f7071e, rs 0xffffffffc3f706fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x19364378c7ce8e1d, rs 0x19364378c7ce8d1e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x19364378c7ce8d1d, rs 0x19364378c7ce8d1e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x19364378c7ce8d41, rs 0x19364378c7ce8d1e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffceb42121, rs 0xffffffffceb42022, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffceb42021, rs 0xffffffffceb42022, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffceb42045, rs 0xffffffffceb42022, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb99e8def2f384a06, rs 0xb99e8def2f384907, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb99e8def2f384906, rs 0xb99e8def2f384907, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb99e8def2f38492a, rs 0xb99e8def2f384907, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffca753e94, rs 0xffffffffca753d95, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffca753d94, rs 0xffffffffca753d95, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffca753db8, rs 0xffffffffca753d95, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x47eacdcd582b13fd, rs 0x47eacdcd582b12fe, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x47eacdcd582b12fd, rs 0x47eacdcd582b12fe, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x47eacdcd582b1321, rs 0x47eacdcd582b12fe, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff23a8127, rs 0xfffffffff23a8028, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff23a8027, rs 0xfffffffff23a8028, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff23a804b, rs 0xfffffffff23a8028, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd685884e76558d4e, rs 0xd685884e76558c4f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd685884e76558c4e, rs 0xd685884e76558c4f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd685884e76558c72, rs 0xd685884e76558c4f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff6fb9e9e, rs 0xfffffffff6fb9d9f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff6fb9d9e, rs 0xfffffffff6fb9d9f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff6fb9dc2, rs 0xfffffffff6fb9d9f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6168d62a34c196c6, rs 0x6168d62a34c195c7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6168d62a34c195c6, rs 0x6168d62a34c195c7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6168d62a34c195ea, rs 0x6168d62a34c195c7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffffbb8bc45, rs 0xfffffffffbb8bb46, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffffbb8bb45, rs 0xfffffffffbb8bb46, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffffbb8bb69, rs 0xfffffffffbb8bb46, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd30169894df47504, rs 0xd30169894df47405, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd30169894df47404, rs 0xd30169894df47405, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd30169894df47428, rs 0xd30169894df47405, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffff79a7f0, rs 0xffffffffff79a6f1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffff79a6f0, rs 0xffffffffff79a6f1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffff79a714, rs 0xffffffffff79a6f1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1ca190bf6cbb07da, rs 0x1ca190bf6cbb06db, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1ca190bf6cbb06da, rs 0x1ca190bf6cbb06db, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1ca190bf6cbb06fe, rs 0x1ca190bf6cbb06db, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe13ef7f3, rs 0xffffffffe13ef6f4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe13ef6f3, rs 0xffffffffe13ef6f4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe13ef717, rs 0xffffffffe13ef6f4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x58300f029cae3a39, rs 0x58300f029cae393a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x58300f029cae3939, rs 0x58300f029cae393a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x58300f029cae395d, rs 0x58300f029cae393a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe5ffec42, rs 0xffffffffe5ffeb43, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe5ffeb42, rs 0xffffffffe5ffeb43, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe5ffeb66, rs 0xffffffffe5ffeb43, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9a995fdbdc7ebd2c, rs 0x9a995fdbdc7ebc2d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9a995fdbdc7ebc2c, rs 0x9a995fdbdc7ebc2d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9a995fdbdc7ebc50, rs 0x9a995fdbdc7ebc2d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe8bcce99, rs 0xffffffffe8bccd9a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe8bccd99, rs 0xffffffffe8bccd9a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe8bccdbd, rs 0xffffffffe8bccd9a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8a96047be3405c47, rs 0x8a96047be3405b48, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8a96047be3405b47, rs 0x8a96047be3405b48, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8a96047be3405b6b, rs 0x8a96047be3405b48, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffec7dd12c, rs 0xffffffffec7dd02d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffec7dd02c, rs 0xffffffffec7dd02d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffec7dd050, rs 0xffffffffec7dd02d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x75bfafd2d519d421, rs 0x75bfafd2d519d322, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x75bfafd2d519d321, rs 0x75bfafd2d519d322, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x75bfafd2d519d345, rs 0x75bfafd2d519d322, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x34867176, rs 0x34867077, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x34867076, rs 0x34867077, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3486709a, rs 0x34867077, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xde230867a630f7ac, rs 0xde230867a630f6ad, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xde230867a630f6ac, rs 0xde230867a630f6ad, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xde230867a630f6d0, rs 0xde230867a630f6ad, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x30476ebf, rs 0x30476dc0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x30476dbf, rs 0x30476dc0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x30476de3, rs 0x30476dc0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2c0a0cf25610335f, rs 0x2c0a0cf256103260, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2c0a0cf25610325f, rs 0x2c0a0cf256103260, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2c0a0cf256103283, rs 0x2c0a0cf256103260, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3d044c18, rs 0x3d044b19, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3d044b18, rs 0x3d044b19, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3d044b3c, rs 0x3d044b19, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x94a90544249b19ee, rs 0x94a90544249b18ef, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x94a90544249b18ee, rs 0x94a90544249b18ef, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x94a90544249b1912, rs 0x94a90544249b18ef, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x39c557ad, rs 0x39c556ae, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x39c556ad, rs 0x39c556ae, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x39c556d1, rs 0x39c556ae, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf9519fb55b56fddd, rs 0xf9519fb55b56fcde, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf9519fb55b56fcdd, rs 0xf9519fb55b56fcde, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf9519fb55b56fd01, rs 0xf9519fb55b56fcde, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x278207aa, rs 0x278206ab, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x278206aa, rs 0x278206ab, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x278206ce, rs 0x278206ab, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x81daf8200468329a, rs 0x81daf8200468319b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x81daf8200468319a, rs 0x81daf8200468319b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x81daf820046831be, rs 0x81daf8200468319b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x23431c1b, rs 0x23431b1c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x23431b1b, rs 0x23431b1c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23431b3f, rs 0x23431b1c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8c61ca5a5725f3eb, rs 0x8c61ca5a5725f2ec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8c61ca5a5725f2eb, rs 0x8c61ca5a5725f2ec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8c61ca5a5725f30f, rs 0x8c61ca5a5725f2ec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2e003ec4, rs 0x2e003dc5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2e003dc4, rs 0x2e003dc5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2e003de8, rs 0x2e003dc5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8b95a6ddc25dc9be, rs 0x8b95a6ddc25dc8bf, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8b95a6ddc25dc8be, rs 0x8b95a6ddc25dc8bf, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8b95a6ddc25dc8e2, rs 0x8b95a6ddc25dc8bf, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2ac12171, rs 0x2ac12072, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2ac12071, rs 0x2ac12072, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2ac12095, rs 0x2ac12072, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x300ce751dac6172e, rs 0x300ce751dac6162f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x300ce751dac6162e, rs 0x300ce751dac6162f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x300ce751dac61652, rs 0x300ce751dac6162f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x128e9ece, rs 0x128e9dcf, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x128e9dce, rs 0x128e9dcf, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x128e9df2, rs 0x128e9dcf, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6778fdf3ba52a94f, rs 0x6778fdf3ba52a850, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6778fdf3ba52a84f, rs 0x6778fdf3ba52a850, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6778fdf3ba52a873, rs 0x6778fdf3ba52a850, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x164f8177, rs 0x164f8078, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x164f8077, rs 0x164f8078, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x164f809b, rs 0x164f8078, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xad00b1f7da78489e, rs 0xad00b1f7da78479f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xad00b1f7da78479e, rs 0xad00b1f7da78479f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xad00b1f7da7847c2, rs 0xad00b1f7da78479f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1b0ca7a0, rs 0x1b0ca6a1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1b0ca6a0, rs 0x1b0ca6a1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1b0ca6c4, rs 0x1b0ca6a1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8d44168a6b6da89, rs 0x8d44168a6b6d98a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8d44168a6b6d989, rs 0x8d44168a6b6d98a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8d44168a6b6d9ad, rs 0x8d44168a6b6d98a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1fcdbc15, rs 0x1fcdbb16, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1fcdbb15, rs 0x1fcdbb16, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1fcdbb39, rs 0x1fcdbb16, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf518381dce634512, rs 0xf518381dce634413, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf518381dce634412, rs 0xf518381dce634413, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf518381dce634436, rs 0xf518381dce634413, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x18aec12, rs 0x18aeb13, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x18aeb12, rs 0x18aeb13, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x18aeb36, rs 0x18aeb13, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe4627f3fe52560bf, rs 0xe4627f3fe5255fc0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe4627f3fe5255fbf, rs 0xe4627f3fe5255fc0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe4627f3fe5255fe3, rs 0xe4627f3fe5255fc0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x54bf7a3, rs 0x54bf6a4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x54bf6a3, rs 0x54bf6a4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x54bf6c7, rs 0x54bf6a4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xccd392e176322027, rs 0xccd392e176321f28, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xccd392e176321f27, rs 0xccd392e176321f28, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xccd392e176321f4b, rs 0xccd392e176321f28, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x808d17c, rs 0x808d07d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x808d07c, rs 0x808d07d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x808d0a0, rs 0x808d07d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x829464944018fe8e, rs 0x829464944018fd8f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x829464944018fd8e, rs 0x829464944018fd8f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x829464944018fdb2, rs 0x829464944018fd8f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xcc9cec9, rs 0xcc9cdca, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xcc9cdc9, rs 0xcc9cdca, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xcc9cded, rs 0xcc9cdca, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x15d3204052e8f1e4, rs 0x15d3204052e8f0e5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x15d3204052e8f0e4, rs 0x15d3204052e8f0e5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x15d3204052e8f108, rs 0x15d3204052e8f0e5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7897ac06, rs 0x7897ab07, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7897ab06, rs 0x7897ab07, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7897ab2a, rs 0x7897ab07, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7caf83d2880ff443, rs 0x7caf83d2880ff344, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7caf83d2880ff343, rs 0x7caf83d2880ff344, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7caf83d2880ff367, rs 0x7caf83d2880ff344, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7c56b7af, rs 0x7c56b6b0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7c56b6af, rs 0x7c56b6b0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7c56b6d3, rs 0x7c56b6b0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf156a04c747df0d6, rs 0xf156a04c747defd7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf156a04c747defd6, rs 0xf156a04c747defd7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf156a04c747deffa, rs 0xf156a04c747defd7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x71159168, rs 0x71159069, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x71159068, rs 0x71159069, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7115908c, rs 0x71159069, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x93e2601c0f31d80f, rs 0x93e2601c0f31d710, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x93e2601c0f31d70f, rs 0x93e2601c0f31d710, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x93e2601c0f31d733, rs 0x93e2601c0f31d710, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x75d48edd, rs 0x75d48dde, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x75d48ddd, rs 0x75d48dde, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x75d48e01, rs 0x75d48dde, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe1e1a679131cda32, rs 0xe1e1a679131cd933, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe1e1a679131cd932, rs 0xe1e1a679131cd933, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe1e1a679131cd956, rs 0xe1e1a679131cd933, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6b93deda, rs 0x6b93dddb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6b93ddda, rs 0x6b93dddb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6b93ddfe, rs 0x6b93dddb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x24296b75a76fa526, rs 0x24296b75a76fa427, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x24296b75a76fa426, rs 0x24296b75a76fa427, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x24296b75a76fa44a, rs 0x24296b75a76fa427, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6f52c16b, rs 0x6f52c06c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6f52c06b, rs 0x6f52c06c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6f52c08f, rs 0x6f52c06c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd296e2d2139ee669, rs 0xd296e2d2139ee56a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd296e2d2139ee569, rs 0xd296e2d2139ee56a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd296e2d2139ee58d, rs 0xd296e2d2139ee56a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6211e7b4, rs 0x6211e6b5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6211e6b4, rs 0x6211e6b5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6211e6d8, rs 0x6211e6b5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5a82447f6dc2a6bf, rs 0x5a82447f6dc2a5c0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5a82447f6dc2a5bf, rs 0x5a82447f6dc2a5c0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5a82447f6dc2a5e3, rs 0x5a82447f6dc2a5c0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x66d0fc01, rs 0x66d0fb02, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x66d0fb01, rs 0x66d0fb02, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x66d0fb25, rs 0x66d0fb02, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x76c89e80c07dc267, rs 0x76c89e80c07dc168, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x76c89e80c07dc167, rs 0x76c89e80c07dc168, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x76c89e80c07dc18b, rs 0x76c89e80c07dc168, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5e9f47be, rs 0x5e9f46bf, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5e9f46be, rs 0x5e9f46bf, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5e9f46e2, rs 0x5e9f46bf, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x70dc3454bfe358e, rs 0x70dc3454bfe348f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x70dc3454bfe348e, rs 0x70dc3454bfe348f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x70dc3454bfe34b2, rs 0x70dc3454bfe348f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5a5e5c07, rs 0x5a5e5b08, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5a5e5b07, rs 0x5a5e5b08, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5a5e5b2b, rs 0x5a5e5b08, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbddc7123dd6d251a, rs 0xbddc7123dd6d241b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbddc7123dd6d241a, rs 0xbddc7123dd6d241b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbddc7123dd6d243e, rs 0xbddc7123dd6d241b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x571d7ed0, rs 0x571d7dd1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x571d7dd0, rs 0x571d7dd1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x571d7df4, rs 0x571d7dd1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf62fb727a59fcfbd, rs 0xf62fb727a59fcebe, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf62fb727a59fcebd, rs 0xf62fb727a59fcebe, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf62fb727a59fcee1, rs 0xf62fb727a59fcebe, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x53dc6165, rs 0x53dc6066, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x53dc6065, rs 0x53dc6066, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x53dc6089, rs 0x53dc6066, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x109f27e90f9f47fa, rs 0x109f27e90f9f46fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x109f27e90f9f46fa, rs 0x109f27e90f9f46fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x109f27e90f9f471e, rs 0x109f27e90f9f46fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4d9b3162, rs 0x4d9b3063, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4d9b3062, rs 0x4d9b3063, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4d9b3086, rs 0x4d9b3063, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3f63daa9afd19ad6, rs 0x3f63daa9afd199d7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3f63daa9afd199d6, rs 0x3f63daa9afd199d7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3f63daa9afd199fa, rs 0x3f63daa9afd199d7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x495a2ed3, rs 0x495a2dd4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x495a2dd3, rs 0x495a2dd4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x495a2df7, rs 0x495a2dd4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xdbcb312ea3d485f1, rs 0xdbcb312ea3d484f2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xdbcb312ea3d484f1, rs 0xdbcb312ea3d484f2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xdbcb312ea3d48515, rs 0xdbcb312ea3d484f2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x44190c0c, rs 0x44190b0d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x44190b0c, rs 0x44190b0d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x44190b30, rs 0x44190b0d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1f353faada4fe5c5, rs 0x1f353faada4fe4c6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1f353faada4fe4c5, rs 0x1f353faada4fe4c6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1f353faada4fe4e9, rs 0x1f353faada4fe4c6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x40d817b9, rs 0x40d816ba, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x40d816b9, rs 0x40d816ba, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x40d816dd, rs 0x40d816ba, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8b086ee07150c35f, rs 0x8b086ee07150c260, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8b086ee07150c25f, rs 0x8b086ee07150c260, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8b086ee07150c283, rs 0x8b086ee07150c260, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffaca5c796, rs 0xffffffffaca5c697, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffaca5c696, rs 0xffffffffaca5c697, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffaca5c6ba, rs 0xffffffffaca5c697, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe54750d5d9258024, rs 0xe54750d5d9257f25, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe54750d5d9257f24, rs 0xe54750d5d9257f25, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe54750d5d9257f48, rs 0xe54750d5d9257f25, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa864dc1f, rs 0xffffffffa864db20, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa864db1f, rs 0xffffffffa864db20, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa864db43, rs 0xffffffffa864db20, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3d69625fe9a6dc5a, rs 0x3d69625fe9a6db5b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3d69625fe9a6db5a, rs 0x3d69625fe9a6db5b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3d69625fe9a6db7e, rs 0x3d69625fe9a6db5b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa527fef8, rs 0xffffffffa527fdf9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa527fdf8, rs 0xffffffffa527fdf9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa527fe1c, rs 0xffffffffa527fdf9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x70a3e0424340ad95, rs 0x70a3e0424340ac96, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x70a3e0424340ac95, rs 0x70a3e0424340ac96, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x70a3e0424340acb9, rs 0x70a3e0424340ac96, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa1e6e14d, rs 0xffffffffa1e6e04e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa1e6e04d, rs 0xffffffffa1e6e04e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa1e6e071, rs 0xffffffffa1e6e04e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc0478f036980181d, rs 0xc0478f036980171e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc0478f036980171d, rs 0xc0478f036980171e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc0478f0369801741, rs 0xc0478f036980171e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbfa1b14a, rs 0xffffffffbfa1b04b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbfa1b04a, rs 0xffffffffbfa1b04b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbfa1b06e, rs 0xffffffffbfa1b04b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3ce839a51cf92ae2, rs 0x3ce839a51cf929e3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3ce839a51cf929e2, rs 0x3ce839a51cf929e3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3ce839a51cf92a06, rs 0x3ce839a51cf929e3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbb60aefb, rs 0xffffffffbb60adfc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbb60adfb, rs 0xffffffffbb60adfc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbb60ae1f, rs 0xffffffffbb60adfc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe2fbfa895eb68a57, rs 0xe2fbfa895eb68958, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe2fbfa895eb68957, rs 0xe2fbfa895eb68958, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe2fbfa895eb6897b, rs 0xe2fbfa895eb68958, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb6238c24, rs 0xffffffffb6238b25, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb6238b24, rs 0xffffffffb6238b25, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb6238b48, rs 0xffffffffb6238b25, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd24bb05d76ed26b6, rs 0xd24bb05d76ed25b7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd24bb05d76ed25b6, rs 0xd24bb05d76ed25b7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd24bb05d76ed25da, rs 0xd24bb05d76ed25b7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb2e29791, rs 0xffffffffb2e29692, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb2e29691, rs 0xffffffffb2e29692, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb2e296b5, rs 0xffffffffb2e29692, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xeb9682c170313f0, rs 0xeb9682c170312f1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xeb9682c170312f0, rs 0xeb9682c170312f1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xeb9682c17031314, rs 0xeb9682c170312f1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8aad2c2e, rs 0xffffffff8aad2b2f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8aad2b2e, rs 0xffffffff8aad2b2f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8aad2b52, rs 0xffffffff8aad2b2f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x84785280dd301e0c, rs 0x84785280dd301d0d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x84785280dd301d0c, rs 0x84785280dd301d0d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x84785280dd301d30, rs 0x84785280dd301d0d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x179c77aa1f8fd7ee, rs 0x179c77aa1f8fd6ef, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x179c77aa1f8fd6ee, rs 0x179c77aa1f8fd6ef, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x179c77aa1f8fd712, rs 0x179c77aa1f8fd6ef, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x26444ced2998446c, rs 0x26444ced2998436d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x26444ced2998436c, rs 0x26444ced2998436d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x26444ced29984390, rs 0x26444ced2998436d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff87ee0ef5, rs 0xffffffff87ee0df6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff87ee0df5, rs 0xffffffff87ee0df6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff87ee0e19, rs 0xffffffff87ee0df6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7175c9dd58ca807, rs 0x7175c9dd58ca708, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7175c9dd58ca707, rs 0x7175c9dd58ca708, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7175c9dd58ca72b, rs 0x7175c9dd58ca708, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff99a95ef2, rs 0xffffffff99a95df3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff99a95df2, rs 0xffffffff99a95df3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff99a95e16, rs 0xffffffff99a95df3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x663d061055833386, rs 0x663d061055833287, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x663d061055833286, rs 0x663d061055833287, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x663d0610558332aa, rs 0x663d061055833287, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9d684143, rs 0xffffffff9d684044, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9d684043, rs 0xffffffff9d684044, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9d684067, rs 0xffffffff9d684044, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xab7dd0488951d78a, rs 0xab7dd0488951d68b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xab7dd0488951d68a, rs 0xab7dd0488951d68b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xab7dd0488951d6ae, rs 0xab7dd0488951d68b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff902b679c, rs 0xffffffff902b669d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff902b669c, rs 0xffffffff902b669d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff902b66c0, rs 0xffffffff902b669d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf69823670e82481a, rs 0xf69823670e82471b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf69823670e82471a, rs 0xf69823670e82471b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf69823670e82473e, rs 0xf69823670e82471b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff94ea7c29, rs 0xffffffff94ea7b2a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff94ea7b29, rs 0xffffffff94ea7b2a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff94ea7b4d, rs 0xffffffff94ea7b2a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x36886c59d98d27b1, rs 0x36886c59d98d26b2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x36886c59d98d26b1, rs 0x36886c59d98d26b2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x36886c59d98d26d5, rs 0x36886c59d98d26b2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe0b41ee6, rs 0xffffffffe0b41de7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe0b41de6, rs 0xffffffffe0b41de7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe0b41e0a, rs 0xffffffffe0b41de7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9ca4bdbd32be578, rs 0x9ca4bdbd32be479, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9ca4bdbd32be478, rs 0x9ca4bdbd32be479, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9ca4bdbd32be49c, rs 0x9ca4bdbd32be479, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe475014f, rs 0xffffffffe4750050, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe475004f, rs 0xffffffffe4750050, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe4750073, rs 0xffffffffe4750050, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfd5d7d1d9962e71e, rs 0xfd5d7d1d9962e61f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfd5d7d1d9962e61e, rs 0xfd5d7d1d9962e61f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfd5d7d1d9962e642, rs 0xfd5d7d1d9962e61f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe9362788, rs 0xffffffffe9362689, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe9362688, rs 0xffffffffe9362689, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe93626ac, rs 0xffffffffe9362689, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3f46553ecad375de, rs 0x3f46553ecad374df, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3f46553ecad374de, rs 0x3f46553ecad374df, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3f46553ecad37502, rs 0x3f46553ecad374df, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffedf73c3d, rs 0xffffffffedf73b3e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffedf73b3d, rs 0xffffffffedf73b3e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffedf73b61, rs 0xffffffffedf73b3e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2e9ab97d3eedf3a6, rs 0x2e9ab97d3eedf2a7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2e9ab97d3eedf2a6, rs 0x2e9ab97d3eedf2a7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2e9ab97d3eedf2ca, rs 0x2e9ab97d3eedf2a7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff3b06c3a, rs 0xfffffffff3b06b3b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff3b06b3a, rs 0xfffffffff3b06b3b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff3b06b5e, rs 0xfffffffff3b06b3b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x36a6f7fa3c0ca032, rs 0x36a6f7fa3c0c9f33, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x36a6f7fa3c0c9f32, rs 0x36a6f7fa3c0c9f33, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x36a6f7fa3c0c9f56, rs 0x36a6f7fa3c0c9f33, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff771778b, rs 0xfffffffff771768c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff771768b, rs 0xfffffffff771768c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff77176af, rs 0xfffffffff771768c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8bb938e3155ecadb, rs 0x8bb938e3155ec9dc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8bb938e3155ec9db, rs 0x8bb938e3155ec9dc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8bb938e3155ec9ff, rs 0x8bb938e3155ec9dc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffffa325154, rs 0xfffffffffa325055, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffffa325054, rs 0xfffffffffa325055, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffffa325078, rs 0xfffffffffa325055, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd2df25c419478305, rs 0xd2df25c419478206, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd2df25c419478205, rs 0xd2df25c419478206, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd2df25c419478229, rs 0xd2df25c419478206, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffffef34ee1, rs 0xfffffffffef34de2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffffef34de1, rs 0xfffffffffef34de2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffffef34e05, rs 0xfffffffffef34de2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbc65bf27eb321924, rs 0xbc65bf27eb321825, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbc65bf27eb321824, rs 0xbc65bf27eb321825, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbc65bf27eb321848, rs 0xbc65bf27eb321825, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc6bcf15e, rs 0xffffffffc6bcf05f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc6bcf05e, rs 0xffffffffc6bcf05f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc6bcf082, rs 0xffffffffc6bcf05f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa8b08fe67a8bc8d9, rs 0xa8b08fe67a8bc7da, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa8b08fe67a8bc7d9, rs 0xa8b08fe67a8bc7da, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa8b08fe67a8bc7fd, rs 0xa8b08fe67a8bc7da, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc27deee7, rs 0xffffffffc27dede8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc27dede7, rs 0xffffffffc27dede8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc27dee0b, rs 0xffffffffc27dede8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x852b5bcaf8dfcee7, rs 0x852b5bcaf8dfcde8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x852b5bcaf8dfcde7, rs 0x852b5bcaf8dfcde8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x852b5bcaf8dfce0b, rs 0x852b5bcaf8dfcde8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffcf3ecc30, rs 0xffffffffcf3ecb31, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffcf3ecb30, rs 0xffffffffcf3ecb31, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffcf3ecb54, rs 0xffffffffcf3ecb31, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x478909b59a99368, rs 0x478909b59a99269, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x478909b59a99268, rs 0x478909b59a99269, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x478909b59a9928c, rs 0x478909b59a99269, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffcbffd785, rs 0xffffffffcbffd686, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffcbffd685, rs 0xffffffffcbffd686, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffcbffd6a9, rs 0xffffffffcbffd686, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbfb31cc87857370e, rs 0xbfb31cc87857360f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbfb31cc87857360e, rs 0xbfb31cc87857360f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbfb31cc878573632, rs 0xbfb31cc87857360f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd5b88782, rs 0xffffffffd5b88683, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd5b88682, rs 0xffffffffd5b88683, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd5b886a6, rs 0xffffffffd5b88683, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb665ed5e7f89eaa1, rs 0xb665ed5e7f89e9a2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb665ed5e7f89e9a1, rs 0xb665ed5e7f89e9a2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb665ed5e7f89e9c5, rs 0xb665ed5e7f89e9a2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd1799c33, rs 0xffffffffd1799b34, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd1799b33, rs 0xffffffffd1799b34, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd1799b57, rs 0xffffffffd1799b34, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x15da9474b7a8d6e3, rs 0x15da9474b7a8d5e4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x15da9474b7a8d5e3, rs 0x15da9474b7a8d5e4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x15da9474b7a8d607, rs 0x15da9474b7a8d5e4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffdc3abeec, rs 0xffffffffdc3abded, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffdc3abdec, rs 0xffffffffdc3abded, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffdc3abe10, rs 0xffffffffdc3abded, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf6b3537d2af910cb, rs 0xf6b3537d2af90fcc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf6b3537d2af90fcb, rs 0xf6b3537d2af90fcc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf6b3537d2af90fef, rs 0xf6b3537d2af90fcc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd8fba159, rs 0xffffffffd8fba05a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd8fba059, rs 0xffffffffd8fba05a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd8fba07d, rs 0xffffffffd8fba05a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x223d7cfe2b961996, rs 0x223d7cfe2b961897, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x223d7cfe2b961896, rs 0x223d7cfe2b961897, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x223d7cfe2b9618ba, rs 0x223d7cfe2b961897, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x690ce1ed, rs 0x690ce0ee, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x690ce0ed, rs 0x690ce0ee, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x690ce111, rs 0x690ce0ee, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x420b34f533734b4a, rs 0x420b34f533734a4b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x420b34f533734a4a, rs 0x420b34f533734a4b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x420b34f533734a6e, rs 0x420b34f533734a4b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6dcdfe58, rs 0x6dcdfd59, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6dcdfd58, rs 0x6dcdfd59, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6dcdfd7c, rs 0x6dcdfd59, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x897c8c8ddd46b43b, rs 0x897c8c8ddd46b33c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x897c8c8ddd46b33b, rs 0x897c8c8ddd46b33c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x897c8c8ddd46b35f, rs 0x897c8c8ddd46b33c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x608edc7f, rs 0x608edb80, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x608edb7f, rs 0x608edb80, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x608edba3, rs 0x608edb80, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7a387445e392cdd8, rs 0x7a387445e392ccd9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7a387445e392ccd8, rs 0x7a387445e392ccd9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7a387445e392ccfc, rs 0x7a387445e392ccd9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x644fc736, rs 0x644fc637, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x644fc636, rs 0x644fc637, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x644fc65a, rs 0x644fc637, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x512f29b1d80001c8, rs 0x512f29b1d80000c9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x512f29b1d80000c8, rs 0x512f29b1d80000c9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x512f29b1d80000ec, rs 0x512f29b1d80000c9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7a089731, rs 0x7a089632, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7a089631, rs 0x7a089632, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7a089655, rs 0x7a089632, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xeaded5c53dad0309, rs 0xeaded5c53dad020a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xeaded5c53dad0209, rs 0xeaded5c53dad020a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xeaded5c53dad022d, rs 0xeaded5c53dad020a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7ec98c84, rs 0x7ec98b85, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7ec98b84, rs 0x7ec98b85, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7ec98ba8, rs 0x7ec98b85, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8a6229d731eea45a, rs 0x8a6229d731eea35b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8a6229d731eea35a, rs 0x8a6229d731eea35b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8a6229d731eea37e, rs 0x8a6229d731eea35b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x738aae5b, rs 0x738aad5c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x738aad5b, rs 0x738aad5c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x738aad7f, rs 0x738aad5c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2c3c3f9e48985748, rs 0x2c3c3f9e48985649, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2c3c3f9e48985648, rs 0x2c3c3f9e48985649, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2c3c3f9e4898566c, rs 0x2c3c3f9e48985649, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x774bb1ea, rs 0x774bb0eb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x774bb0ea, rs 0x774bb0eb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x774bb10e, rs 0x774bb0eb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7ff61e78dc9c0c76, rs 0x7ff61e78dc9c0b77, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7ff61e78dc9c0b76, rs 0x7ff61e78dc9c0b77, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7ff61e78dc9c0b9a, rs 0x7ff61e78dc9c0b77, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4f040e55, rs 0x4f040d56, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4f040d55, rs 0x4f040d56, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4f040d79, rs 0x4f040d56, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2299b0e01d5e69eb, rs 0x2299b0e01d5e68ec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2299b0e01d5e68eb, rs 0x2299b0e01d5e68ec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2299b0e01d5e690f, rs 0x2299b0e01d5e68ec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4bc511e0, rs 0x4bc510e1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4bc510e0, rs 0x4bc510e1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4bc51104, rs 0x4bc510e1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7c3b04673d0c6f24, rs 0x7c3b04673d0c6e25, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7c3b04673d0c6e24, rs 0x7c3b04673d0c6e25, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7c3b04673d0c6e48, rs 0x7c3b04673d0c6e25, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x46863737, rs 0x46863638, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x46863637, rs 0x46863638, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4686365b, rs 0x46863638, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x164e17c1e7fb6686, rs 0x164e17c1e7fb6587, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x164e17c1e7fb6586, rs 0x164e17c1e7fb6587, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x164e17c1e7fb65aa, rs 0x164e17c1e7fb6587, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x42472c8e, rs 0x42472b8f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x42472b8e, rs 0x42472b8f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x42472bb2, rs 0x42472b8f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfa4ca28b56d4960a, rs 0xfa4ca28b56d4950b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfa4ca28b56d4950a, rs 0xfa4ca28b56d4950b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfa4ca28b56d4952e, rs 0xfa4ca28b56d4950b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5c007c89, rs 0x5c007b8a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5c007b89, rs 0x5c007b8a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5c007bad, rs 0x5c007b8a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe5e9a314be7fa189, rs 0xe5e9a314be7fa08a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe5e9a314be7fa089, rs 0xe5e9a314be7fa08a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe5e9a314be7fa0ad, rs 0xe5e9a314be7fa08a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x58c1673c, rs 0x58c1663d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x58c1663c, rs 0x58c1663d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x58c16660, rs 0x58c1663d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf8be816415964ac4, rs 0xf8be8164159649c5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf8be8164159649c4, rs 0xf8be8164159649c5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf8be8164159649e8, rs 0xf8be8164159649c5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x558241e3, rs 0x558240e4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x558240e3, rs 0x558240e4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x55824107, rs 0x558240e4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7ca3259784e69c16, rs 0x7ca3259784e69b17, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7ca3259784e69b16, rs 0x7ca3259784e69b17, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7ca3259784e69b3a, rs 0x7ca3259784e69b17, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x51435e52, rs 0x51435d53, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x51435d52, rs 0x51435d53, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x51435d76, rs 0x51435d53, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfc8d543ca1f2505b, rs 0xfc8d543ca1f24f5c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfc8d543ca1f24f5b, rs 0xfc8d543ca1f24f5c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfc8d543ca1f24f7f, rs 0xfc8d543ca1f24f5c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x251d3c9d, rs 0x251d3b9e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x251d3b9d, rs 0x251d3b9e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x251d3bc1, rs 0x251d3b9e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4aeb6ca0e3459f35, rs 0x4aeb6ca0e3459e36, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4aeb6ca0e3459e35, rs 0x4aeb6ca0e3459e36, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4aeb6ca0e3459e59, rs 0x4aeb6ca0e3459e36, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x21dc2728, rs 0x21dc2629, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x21dc2628, rs 0x21dc2629, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x21dc264c, rs 0x21dc2629, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc532e18e187981f9, rs 0xc532e18e187980fa, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc532e18e187980f9, rs 0xc532e18e187980fa, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc532e18e1879811d, rs 0xc532e18e187980fa, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2c9f01ef, rs 0x2c9f00f0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2c9f00ef, rs 0x2c9f00f0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2c9f0113, rs 0x2c9f00f0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb3fdec294f287e1b, rs 0xb3fdec294f287d1c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb3fdec294f287d1b, rs 0xb3fdec294f287d1c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb3fdec294f287d3f, rs 0xb3fdec294f287d1c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x285e1e46, rs 0x285e1d47, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x285e1d46, rs 0x285e1d47, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x285e1d6a, rs 0x285e1d47, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb620660a49732c8f, rs 0xb620660a49732b90, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb620660a49732b8f, rs 0xb620660a49732b90, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb620660a49732bb3, rs 0xb620660a49732b90, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x36194e41, rs 0x36194d42, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x36194d41, rs 0x36194d42, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x36194d65, rs 0x36194d42, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x993138f16cfdea90, rs 0x993138f16cfde991, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x993138f16cfde990, rs 0x993138f16cfde991, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x993138f16cfde9b4, rs 0x993138f16cfde991, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x32d851f4, rs 0x32d850f5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x32d850f4, rs 0x32d850f5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x32d85118, rs 0x32d850f5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xde02d1337d5408b8, rs 0xde02d1337d5407b9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xde02d1337d5407b8, rs 0xde02d1337d5407b9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xde02d1337d5407dc, rs 0xde02d1337d5407b9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3f9b772b, rs 0x3f9b762c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3f9b762b, rs 0x3f9b762c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3f9b764f, rs 0x3f9b762c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x13a390e1e1dab259, rs 0x13a390e1e1dab15a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x13a390e1e1dab159, rs 0x13a390e1e1dab15a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x13a390e1e1dab17d, rs 0x13a390e1e1dab15a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3b5a6c9a, rs 0x3b5a6b9b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3b5a6b9a, rs 0x3b5a6b9b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3b5a6bbe, rs 0x3b5a6b9b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x743491a6828717c7, rs 0x743491a6828716c8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x743491a6828716c7, rs 0x743491a6828716c8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x743491a6828716eb, rs 0x743491a6828716c8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x315d725, rs 0x315d626, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x315d625, rs 0x315d626, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x315d649, rs 0x315d626, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8cff404aede293f1, rs 0x8cff404aede292f2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8cff404aede292f1, rs 0x8cff404aede292f2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8cff404aede29315, rs 0x8cff404aede292f2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7d4cc90, rs 0x7d4cb91, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7d4cb90, rs 0x7d4cb91, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7d4cbb4, rs 0x7d4cb91, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb9cec0db1f837735, rs 0xb9cec0db1f837636, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb9cec0db1f837635, rs 0xb9cec0db1f837636, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb9cec0db1f837659, rs 0xb9cec0db1f837636, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa97ee47, rs 0xa97ed48, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa97ed47, rs 0xa97ed48, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa97ed6b, rs 0xa97ed48, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2eaa5aa70509781b, rs 0x2eaa5aa70509771c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2eaa5aa70509771b, rs 0x2eaa5aa70509771c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2eaa5aa70509773f, rs 0x2eaa5aa70509771c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe56f1fe, rs 0xe56f0ff, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe56f0fe, rs 0xe56f0ff, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe56f122, rs 0xe56f0ff, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd327538e1875251a, rs 0xd327538e1875241b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd327538e1875241a, rs 0xd327538e1875241b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd327538e1875243e, rs 0xd327538e1875241b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1011a1f9, rs 0x1011a0fa, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1011a0f9, rs 0x1011a0fa, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1011a11d, rs 0x1011a0fa, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x42e9f8548b739c6a, rs 0x42e9f8548b739b6b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x42e9f8548b739b6a, rs 0x42e9f8548b739b6b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x42e9f8548b739b8e, rs 0x42e9f8548b739b6b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x14d0be4c, rs 0x14d0bd4d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x14d0bd4c, rs 0x14d0bd4d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x14d0bd70, rs 0x14d0bd4d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x78e4e50ceccbbb19, rs 0x78e4e50ceccbba1a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x78e4e50ceccbba19, rs 0x78e4e50ceccbba1a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x78e4e50ceccbba3d, rs 0x78e4e50ceccbba1a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x19939c93, rs 0x19939b94, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x19939b93, rs 0x19939b94, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x19939bb7, rs 0x19939b94, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf6b6fa3fcd9d28ca, rs 0xf6b6fa3fcd9d27cb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf6b6fa3fcd9d27ca, rs 0xf6b6fa3fcd9d27cb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf6b6fa3fcd9d27ee, rs 0xf6b6fa3fcd9d27cb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1d528722, rs 0x1d528623, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1d528622, rs 0x1d528623, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1d528646, rs 0x1d528623, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x73916483ae3e9522, rs 0x73916483ae3e9423, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x73916483ae3e9422, rs 0x73916483ae3e9423, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x73916483ae3e9446, rs 0x73916483ae3e9423, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff12f570d, rs 0xfffffffff12f560e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff12f560d, rs 0xfffffffff12f560e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff12f5631, rs 0xfffffffff12f560e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x276af70a0e128660, rs 0x276af70a0e128561, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x276af70a0e128560, rs 0x276af70a0e128561, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x276af70a0e128584, rs 0x276af70a0e128561, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff5ee4cb8, rs 0xfffffffff5ee4bb9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff5ee4bb8, rs 0xfffffffff5ee4bb9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff5ee4bdc, rs 0xfffffffff5ee4bb9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3045bf6b5e74c6d, rs 0x3045bf6b5e74b6e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3045bf6b5e74b6d, rs 0x3045bf6b5e74b6e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3045bf6b5e74b91, rs 0x3045bf6b5e74b6e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff8ad6e5f, rs 0xfffffffff8ad6d60, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff8ad6d5f, rs 0xfffffffff8ad6d60, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff8ad6d83, rs 0xfffffffff8ad6d60, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x20223f1308acd0a5, rs 0x20223f1308accfa6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x20223f1308accfa5, rs 0x20223f1308accfa6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x20223f1308accfc9, rs 0x20223f1308accfa6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffffc6c71d6, rs 0xfffffffffc6c70d7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffffc6c70d6, rs 0xfffffffffc6c70d7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffffc6c70fa, rs 0xfffffffffc6c70d7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf83c55743976b6f4, rs 0xf83c55743976b5f5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf83c55743976b5f4, rs 0xf83c55743976b5f5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf83c55743976b618, rs 0xf83c55743976b5f5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe22b21d1, rs 0xffffffffe22b20d2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe22b20d1, rs 0xffffffffe22b20d2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe22b20f5, rs 0xffffffffe22b20d2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1f9720f946923d3c, rs 0x1f9720f946923c3d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1f9720f946923c3c, rs 0x1f9720f946923c3d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1f9720f946923c60, rs 0x1f9720f946923c3d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe6ea3e64, rs 0xffffffffe6ea3d65, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe6ea3d64, rs 0xffffffffe6ea3d65, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe6ea3d88, rs 0xffffffffe6ea3d65, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x620d28506d2449dc, rs 0x620d28506d2448dd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x620d28506d2448dc, rs 0x620d28506d2448dd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x620d28506d244900, rs 0x620d28506d2448dd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffeba91cbb, rs 0xffffffffeba91bbc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffeba91bbb, rs 0xffffffffeba91bbc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffeba91bdf, rs 0xffffffffeba91bbc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x60a521e99ff4a831, rs 0x60a521e99ff4a732, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x60a521e99ff4a731, rs 0x60a521e99ff4a732, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x60a521e99ff4a755, rs 0x60a521e99ff4a732, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffef68070a, rs 0xffffffffef68060b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffef68060a, rs 0xffffffffef68060b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffef68062e, rs 0xffffffffef68060b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5a08f3ab5c68100a, rs 0x5a08f3ab5c680f0b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5a08f3ab5c680f0a, rs 0x5a08f3ab5c680f0b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5a08f3ab5c680f2e, rs 0x5a08f3ab5c680f0b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd727bcb5, rs 0xffffffffd727bbb6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd727bbb5, rs 0xffffffffd727bbb6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd727bbd9, rs 0xffffffffd727bbb6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc7a59be7800f3e25, rs 0xc7a59be7800f3d26, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc7a59be7800f3d25, rs 0xc7a59be7800f3d26, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc7a59be7800f3d49, rs 0xc7a59be7800f3d26, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd3e6a700, rs 0xffffffffd3e6a601, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd3e6a600, rs 0xffffffffd3e6a601, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd3e6a624, rs 0xffffffffd3e6a601, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1aecdf2982ca1c40, rs 0x1aecdf2982ca1b41, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1aecdf2982ca1b40, rs 0x1aecdf2982ca1b41, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1aecdf2982ca1b64, rs 0x1aecdf2982ca1b41, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffdea581d7, rs 0xffffffffdea580d8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffdea580d7, rs 0xffffffffdea580d8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffdea580fb, rs 0xffffffffdea580d8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2b8613a260d19ecc, rs 0x2b8613a260d19dcd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2b8613a260d19dcc, rs 0x2b8613a260d19dcd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2b8613a260d19df0, rs 0x2b8613a260d19dcd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffda649e6e, rs 0xffffffffda649d6f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffda649d6e, rs 0xffffffffda649d6f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffda649d92, rs 0xffffffffda649d6f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2518ac8b0e8bbf7e, rs 0x2518ac8b0e8bbe7f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2518ac8b0e8bbe7e, rs 0x2518ac8b0e8bbe7f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2518ac8b0e8bbea2, rs 0x2518ac8b0e8bbe7f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc423ce69, rs 0xffffffffc423cd6a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc423cd69, rs 0xffffffffc423cd6a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc423cd8d, rs 0xffffffffc423cd6a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x743e568d2fcf496a, rs 0x743e568d2fcf486b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x743e568d2fcf486a, rs 0x743e568d2fcf486b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x743e568d2fcf488e, rs 0x743e568d2fcf486b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x126f646f34c31827, rs 0x126f646f34c31728, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x126f646f34c31727, rs 0x126f646f34c31728, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x126f646f34c3174b, rs 0x126f646f34c31728, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffcda1f703, rs 0xffffffffcda1f604, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffcda1f603, rs 0xffffffffcda1f604, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffcda1f627, rs 0xffffffffcda1f604, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xaab0196156fc4e11, rs 0xaab0196156fc4d12, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xaab0196156fc4d11, rs 0xaab0196156fc4d12, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xaab0196156fc4d35, rs 0xaab0196156fc4d12, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7535cd338595d441, rs 0x7535cd338595d342, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7535cd338595d341, rs 0x7535cd338595d342, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7535cd338595d365, rs 0x7535cd338595d342, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbd3e8e7d, rs 0xffffffffbd3e8d7e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbd3e8d7d, rs 0xffffffffbd3e8d7e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbd3e8da1, rs 0xffffffffbd3e8d7e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xdfb254da422347eb, rs 0xdfb254da422346ec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xdfb254da422346eb, rs 0xdfb254da422346ec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xdfb254da4223470f, rs 0xdfb254da422346ec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb9ff91c8, rs 0xffffffffb9ff90c9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb9ff90c8, rs 0xffffffffb9ff90c9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb9ff90ec, rs 0xffffffffb9ff90c9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa86726c90081ac29, rs 0xa86726c90081ab2a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa86726c90081ab29, rs 0xa86726c90081ab2a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa86726c90081ab4d, rs 0xa86726c90081ab2a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb4bcb70f, rs 0xffffffffb4bcb610, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb4bcb60f, rs 0xffffffffb4bcb610, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb4bcb633, rs 0xffffffffb4bcb610, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9bfeffa1679d7537, rs 0x9bfeffa1679d7438, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9bfeffa1679d7437, rs 0x9bfeffa1679d7438, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9bfeffa1679d745b, rs 0x9bfeffa1679d7438, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb07daca6, rs 0xffffffffb07daba7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb07daba6, rs 0xffffffffb07daba7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb07dabca, rs 0xffffffffb07daba7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc7699826b7dee343, rs 0xc7699826b7dee244, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc7699826b7dee243, rs 0xc7699826b7dee244, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc7699826b7dee267, rs 0xc7699826b7dee244, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffae3afca1, rs 0xffffffffae3afba2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffae3afba1, rs 0xffffffffae3afba2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffae3afbc5, rs 0xffffffffae3afba2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3c07af97fba67149, rs 0x3c07af97fba6704a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3c07af97fba67049, rs 0x3c07af97fba6704a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3c07af97fba6706d, rs 0x3c07af97fba6704a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffaafbe714, rs 0xffffffffaafbe615, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffaafbe614, rs 0xffffffffaafbe615, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffaafbe638, rs 0xffffffffaafbe615, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x521364dc04c58cfd, rs 0x521364dc04c58bfe, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x521364dc04c58bfd, rs 0x521364dc04c58bfe, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x521364dc04c58c21, rs 0x521364dc04c58bfe, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa7b8c1cb, rs 0xffffffffa7b8c0cc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa7b8c0cb, rs 0xffffffffa7b8c0cc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa7b8c0ef, rs 0xffffffffa7b8c0cc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe0f7bb589ab7afbb, rs 0xe0f7bb589ab7aebc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe0f7bb589ab7aebb, rs 0xe0f7bb589ab7aebc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe0f7bb589ab7aedf, rs 0xe0f7bb589ab7aebc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa379de7a, rs 0xffffffffa379dd7b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa379dd7a, rs 0xffffffffa379dd7b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa379dd9e, rs 0xffffffffa379dd7b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe336c60cdeeb964c, rs 0xe336c60cdeeb954d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe336c60cdeeb954c, rs 0xe336c60cdeeb954d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe336c60cdeeb9570, rs 0xe336c60cdeeb954d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9b3661c5, rs 0xffffffff9b3660c6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9b3660c5, rs 0xffffffff9b3660c6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9b3660e9, rs 0xffffffff9b3660c6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd5b2120c6f52426d, rs 0xd5b2120c6f52416e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd5b2120c6f52416d, rs 0xd5b2120c6f52416e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd5b2120c6f524191, rs 0xd5b2120c6f52416e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9ff77e70, rs 0xffffffff9ff77d71, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9ff77d70, rs 0xffffffff9ff77d71, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9ff77d94, rs 0xffffffff9ff77d71, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x85a2d4ff7e628b33, rs 0x85a2d4ff7e628a34, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x85a2d4ff7e628a33, rs 0x85a2d4ff7e628a34, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x85a2d4ff7e628a57, rs 0x85a2d4ff7e628a34, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff92b45ca7, rs 0xffffffff92b45ba8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff92b45ba7, rs 0xffffffff92b45ba8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff92b45bcb, rs 0xffffffff92b45ba8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x986a2b654a4e7f06, rs 0x986a2b654a4e7e07, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x986a2b654a4e7e06, rs 0x986a2b654a4e7e07, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x986a2b654a4e7e2a, rs 0x986a2b654a4e7e07, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9675471e, rs 0xffffffff9675461f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9675461e, rs 0xffffffff9675461f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff96754642, rs 0xffffffff9675461f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa974eac43a489c54, rs 0xa974eac43a489b55, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa974eac43a489b54, rs 0xa974eac43a489b55, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa974eac43a489b78, rs 0xa974eac43a489b55, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff88321719, rs 0xffffffff8832161a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff88321619, rs 0xffffffff8832161a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8832163d, rs 0xffffffff8832161a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa388c16272f1f9f4, rs 0xa388c16272f1f8f5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa388c16272f1f8f4, rs 0xa388c16272f1f8f5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa388c16272f1f918, rs 0xa388c16272f1f8f5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8cf30cac, rs 0xffffffff8cf30bad, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8cf30bac, rs 0xffffffff8cf30bad, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8cf30bd0, rs 0xffffffff8cf30bad, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe8c11f45e7495fa8, rs 0xe8c11f45e7495ea9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe8c11f45e7495ea8, rs 0xe8c11f45e7495ea9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe8c11f45e7495ecc, rs 0xe8c11f45e7495ea9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff81b02e73, rs 0xffffffff81b02d74, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff81b02d73, rs 0xffffffff81b02d74, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff81b02d97, rs 0xffffffff81b02d74, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xadaa5a765cc1c9b3, rs 0xadaa5a765cc1c8b4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xadaa5a765cc1c8b3, rs 0xadaa5a765cc1c8b4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xadaa5a765cc1c8d7, rs 0xadaa5a765cc1c8b4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff857131c2, rs 0xffffffff857130c3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff857130c2, rs 0xffffffff857130c3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff857130e6, rs 0xffffffff857130c3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7ab4ce88dfa606bf, rs 0x7ab4ce88dfa605c0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7ab4ce88dfa605bf, rs 0x7ab4ce88dfa605c0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7ab4ce88dfa605e3, rs 0x7ab4ce88dfa605c0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5d8a9198, rs 0x5d8a9099, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5d8a9098, rs 0x5d8a9099, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5d8a90bc, rs 0x5d8a9099, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb42ad6e659a7b14e, rs 0xb42ad6e659a7b04f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb42ad6e659a7b04e, rs 0xb42ad6e659a7b04f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb42ad6e659a7b072, rs 0xb42ad6e659a7b04f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x594b8e2d, rs 0x594b8d2e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x594b8d2d, rs 0x594b8d2e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x594b8d51, rs 0x594b8d2e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4bf8485ab728932e, rs 0x4bf8485ab728922f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4bf8485ab728922e, rs 0x4bf8485ab728922f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4bf8485ab7289252, rs 0x4bf8485ab728922f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5408acf6, rs 0x5408abf7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5408abf6, rs 0x5408abf7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5408ac1a, rs 0x5408abf7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x76a3d60c3b66a8fa, rs 0x76a3d60c3b66a7fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x76a3d60c3b66a7fa, rs 0x76a3d60c3b66a7fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x76a3d60c3b66a81e, rs 0x76a3d60c3b66a7fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x50c9b73f, rs 0x50c9b640, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x50c9b63f, rs 0x50c9b640, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x50c9b663, rs 0x50c9b640, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x31e0c6affdc28fd9, rs 0x31e0c6affdc28eda, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x31e0c6affdc28ed9, rs 0x31e0c6affdc28eda, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x31e0c6affdc28efd, rs 0x31e0c6affdc28eda, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4e8ee744, rs 0x4e8ee645, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4e8ee644, rs 0x4e8ee645, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4e8ee668, rs 0x4e8ee645, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x53606bb4bf0c9a9c, rs 0x53606bb4bf0c999d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x53606bb4bf0c999c, rs 0x53606bb4bf0c999d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x53606bb4bf0c99c0, rs 0x53606bb4bf0c999d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4a4ffcf1, rs 0x4a4ffbf2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4a4ffbf1, rs 0x4a4ffbf2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4a4ffc15, rs 0x4a4ffbf2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x32fc12c81b791aef, rs 0x32fc12c81b7919f0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x32fc12c81b7919ef, rs 0x32fc12c81b7919f0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x32fc12c81b791a13, rs 0x32fc12c81b7919f0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x470cde2a, rs 0x470cdd2b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x470cdd2a, rs 0x470cdd2b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x470cdd4e, rs 0x470cdd2b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3ef88384c72efdd5, rs 0x3ef88384c72efcd6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3ef88384c72efcd5, rs 0x3ef88384c72efcd6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3ef88384c72efcf9, rs 0x3ef88384c72efcd6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x43cdc19b, rs 0x43cdc09c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x43cdc09b, rs 0x43cdc09c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x43cdc0bf, rs 0x43cdc09c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x38b1c7bb6a2a367f, rs 0x38b1c7bb6a2a3580, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x38b1c7bb6a2a357f, rs 0x38b1c7bb6a2a3580, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x38b1c7bb6a2a35a3, rs 0x38b1c7bb6a2a3580, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7b827e20, rs 0x7b827d21, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7b827d20, rs 0x7b827d21, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7b827d44, rs 0x7b827d21, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x15ebf6121dca78c8, rs 0x15ebf6121dca77c9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x15ebf6121dca77c8, rs 0x15ebf6121dca77c9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x15ebf6121dca77ec, rs 0x15ebf6121dca77c9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7f436195, rs 0x7f436096, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7f436095, rs 0x7f436096, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7f4360b9, rs 0x7f436096, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5eaacdd9fd9148ad, rs 0x5eaacdd9fd9147ae, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5eaacdd9fd9147ad, rs 0x5eaacdd9fd9147ae, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5eaacdd9fd9147d1, rs 0x5eaacdd9fd9147ae, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7200474e, rs 0x7200464f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7200464e, rs 0x7200464f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x72004672, rs 0x7200464f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbb8470f981e91216, rs 0xbb8470f981e91117, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbb8470f981e91116, rs 0xbb8470f981e91117, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbb8470f981e9113a, rs 0xbb8470f981e91117, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x76c15cf7, rs 0x76c15bf8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x76c15bf7, rs 0x76c15bf8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x76c15c1b, rs 0x76c15bf8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5d42aeac6a533df, rs 0x5d42aeac6a532e0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5d42aeac6a532df, rs 0x5d42aeac6a532e0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5d42aeac6a53303, rs 0x5d42aeac6a532e0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x68860cfc, rs 0x68860bfd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x68860bfc, rs 0x68860bfd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x68860c20, rs 0x68860bfd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x14abf36419fb9f62, rs 0x14abf36419fb9e63, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x14abf36419fb9e62, rs 0x14abf36419fb9e63, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x14abf36419fb9e86, rs 0x14abf36419fb9e63, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6c471749, rs 0x6c47164a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6c471649, rs 0x6c47164a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6c47166d, rs 0x6c47164a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x249d559aa8d72bab, rs 0x249d559aa8d72aac, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x249d559aa8d72aab, rs 0x249d559aa8d72aac, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x249d559aa8d72acf, rs 0x249d559aa8d72aac, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x61043192, rs 0x61043093, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x61043092, rs 0x61043093, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x610430b6, rs 0x61043093, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xcd6764f084b31eb, rs 0xcd6764f084b30ec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xcd6764f084b30eb, rs 0xcd6764f084b30ec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xcd6764f084b310f, rs 0xcd6764f084b30ec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x65c52e23, rs 0x65c52d24, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x65c52d23, rs 0x65c52d24, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x65c52d47, rs 0x65c52d24, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7f03ac07924690de, rs 0x7f03ac0792468fdf, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7f03ac0792468fde, rs 0x7f03ac0792468fdf, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7f03ac0792469002, rs 0x7f03ac0792468fdf, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x119b4ce8, rs 0x119b4be9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x119b4be8, rs 0x119b4be9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x119b4c0c, rs 0x119b4be9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7e35ce6d56e671f4, rs 0x7e35ce6d56e670f5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7e35ce6d56e670f4, rs 0x7e35ce6d56e670f5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7e35ce6d56e67118, rs 0x7e35ce6d56e670f5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x155a575d, rs 0x155a565e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x155a565d, rs 0x155a565e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x155a5681, rs 0x155a565e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x152828591a652810, rs 0x152828591a652711, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x152828591a652710, rs 0x152828591a652711, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x152828591a652734, rs 0x152828591a652711, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x18197186, rs 0x18197087, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x18197086, rs 0x18197087, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x181970aa, rs 0x18197087, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9e1c3283d215aafa, rs 0x9e1c3283d215a9fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9e1c3283d215a9fa, rs 0x9e1c3283d215a9fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9e1c3283d215aa1e, rs 0x9e1c3283d215a9fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1cd86e2f, rs 0x1cd86d30, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1cd86d2f, rs 0x1cd86d30, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1cd86d53, rs 0x1cd86d30, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8d95c049282a0516, rs 0x8d95c049282a0417, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8d95c049282a0416, rs 0x8d95c049282a0417, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8d95c049282a043a, rs 0x8d95c049282a0417, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x29f3e34, rs 0x29f3d35, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x29f3d34, rs 0x29f3d35, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x29f3d58, rs 0x29f3d35, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf2e7a490978059f2, rs 0xf2e7a490978058f3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf2e7a490978058f2, rs 0xf2e7a490978058f3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf2e7a49097805916, rs 0xf2e7a490978058f3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x65e2181, rs 0x65e2082, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x65e2081, rs 0x65e2082, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x65e20a5, rs 0x65e2082, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x775b4cca0975b2a9, rs 0x775b4cca0975b1aa, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x775b4cca0975b1a9, rs 0x775b4cca0975b1aa, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x775b4cca0975b1cd, rs 0x775b4cca0975b1aa, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb1d075a, rs 0xb1d065b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb1d065a, rs 0xb1d065b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb1d067e, rs 0xb1d065b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa2b84a63511111f, rs 0xa2b84a635111020, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa2b84a63511101f, rs 0xa2b84a635111020, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa2b84a635111043, rs 0xa2b84a635111020, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfdc1ceb, rs 0xfdc1bec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfdc1beb, rs 0xfdc1bec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfdc1c0f, rs 0xfdc1bec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x23fa0d3a7d88c6e, rs 0x23fa0d3a7d88b6f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x23fa0d3a7d88b6e, rs 0x23fa0d3a7d88b6f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23fa0d3a7d88b92, rs 0x23fa0d3a7d88b6f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3793a750, rs 0x3793a651, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3793a650, rs 0x3793a651, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3793a674, rs 0x3793a651, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa3d991b79941dfdc, rs 0xa3d991b79941dedd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa3d991b79941dedc, rs 0xa3d991b79941dedd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa3d991b79941df00, rs 0xa3d991b79941dedd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3352bce5, rs 0x3352bbe6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3352bbe5, rs 0x3352bbe6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3352bc09, rs 0x3352bbe6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x751cb4835a0d9607, rs 0x751cb4835a0d9508, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x751cb4835a0d9507, rs 0x751cb4835a0d9508, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x751cb4835a0d952b, rs 0x751cb4835a0d9508, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3e119e3e, rs 0x3e119d3f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3e119d3e, rs 0x3e119d3f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3e119d62, rs 0x3e119d3f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x949cad35625bb3d2, rs 0x949cad35625bb2d3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x949cad35625bb2d2, rs 0x949cad35625bb2d3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x949cad35625bb2f6, rs 0x949cad35625bb2d3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3ad08187, rs 0x3ad08088, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3ad08087, rs 0x3ad08088, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3ad080ab, rs 0x3ad08088, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7f567f35a6929838, rs 0x7f567f35a6929739, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7f567f35a6929738, rs 0x7f567f35a6929739, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7f567f35a692975c, rs 0x7f567f35a6929739, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2497d18c, rs 0x2497d08d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2497d08c, rs 0x2497d08d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2497d0b0, rs 0x2497d08d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x185b88e0db8d7e26, rs 0x185b88e0db8d7d27, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x185b88e0db8d7d26, rs 0x185b88e0db8d7d27, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x185b88e0db8d7d4a, rs 0x185b88e0db8d7d27, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2056ce39, rs 0x2056cd3a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2056cd39, rs 0x2056cd3a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2056cd5d, rs 0x2056cd3a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x255a4cd22fd61c90, rs 0x255a4cd22fd61b91, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x255a4cd22fd61b90, rs 0x255a4cd22fd61b91, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x255a4cd22fd61bb4, rs 0x255a4cd22fd61b91, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2d15ece2, rs 0x2d15ebe3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2d15ebe2, rs 0x2d15ebe3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2d15ec06, rs 0x2d15ebe3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1048d589a436407a, rs 0x1048d589a4363f7b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1048d589a4363f7a, rs 0x1048d589a4363f7b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1048d589a4363f9e, rs 0x1048d589a4363f7b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x29d4f753, rs 0x29d4f654, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x29d4f653, rs 0x29d4f654, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x29d4f677, rs 0x29d4f654, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6a6d5708f460588f, rs 0x6a6d5708f4605790, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6a6d5708f460578f, rs 0x6a6d5708f4605790, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6a6d5708f46057b3, rs 0x6a6d5708f4605790, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc5a92778, rs 0xffffffffc5a92679, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc5a92678, rs 0xffffffffc5a92679, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc5a9269c, rs 0xffffffffc5a92679, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd58ecbabde356a7e, rs 0xd58ecbabde35697f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd58ecbabde35697e, rs 0xd58ecbabde35697f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd58ecbabde3569a2, rs 0xd58ecbabde35697f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc1683ccd, rs 0xffffffffc1683bce, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc1683bcd, rs 0xffffffffc1683bce, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc1683bf1, rs 0xffffffffc1683bce, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x575548fd08c0a6f0, rs 0x575548fd08c0a5f1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x575548fd08c0a5f0, rs 0x575548fd08c0a5f1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x575548fd08c0a614, rs 0x575548fd08c0a5f1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffcc2b1e16, rs 0xffffffffcc2b1d17, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffcc2b1d16, rs 0xffffffffcc2b1d17, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffcc2b1d3a, rs 0xffffffffcc2b1d17, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8bb640fb8ed98eda, rs 0x8bb640fb8ed98ddb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8bb640fb8ed98dda, rs 0x8bb640fb8ed98ddb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8bb640fb8ed98dfe, rs 0x8bb640fb8ed98ddb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc8ea019f, rs 0xffffffffc8ea00a0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc8ea009f, rs 0xffffffffc8ea00a0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc8ea00c3, rs 0xffffffffc8ea00a0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbe00d51eabc579cb, rs 0xbe00d51eabc578cc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbe00d51eabc578cb, rs 0xbe00d51eabc578cc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbe00d51eabc578ef, rs 0xbe00d51eabc578cc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd6ad51a4, rs 0xffffffffd6ad50a5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd6ad50a4, rs 0xffffffffd6ad50a5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd6ad50c8, rs 0xffffffffd6ad50a5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2f7e224a1c170bb1, rs 0x2f7e224a1c170ab2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2f7e224a1c170ab1, rs 0x2f7e224a1c170ab2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2f7e224a1c170ad5, rs 0x2f7e224a1c170ab2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd26c4e11, rs 0xffffffffd26c4d12, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd26c4d11, rs 0xffffffffd26c4d12, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd26c4d35, rs 0xffffffffd26c4d12, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa978f12ca22257a6, rs 0xa978f12ca22256a7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa978f12ca22256a6, rs 0xa978f12ca22256a7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa978f12ca22256ca, rs 0xa978f12ca22256a7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffdf2f6cca, rs 0xffffffffdf2f6bcb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffdf2f6bca, rs 0xffffffffdf2f6bcb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffdf2f6bee, rs 0xffffffffdf2f6bcb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9950a93b811ee12e, rs 0x9950a93b811ee02f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9950a93b811ee02e, rs 0x9950a93b811ee02f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9950a93b811ee052, rs 0x9950a93b811ee02f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffdbee777b, rs 0xffffffffdbee767c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffdbee767b, rs 0xffffffffdbee767c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffdbee769f, rs 0xffffffffdbee767c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb44eea93c6796b0b, rs 0xb44eea93c6796a0c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb44eea93c6796a0b, rs 0xb44eea93c6796a0c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb44eea93c6796a2f, rs 0xb44eea93c6796a0c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe3a1ccc0, rs 0xffffffffe3a1cbc1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe3a1cbc0, rs 0xffffffffe3a1cbc1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe3a1cbe4, rs 0xffffffffe3a1cbc1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfe71fca06c0eb756, rs 0xfe71fca06c0eb657, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfe71fca06c0eb656, rs 0xfe71fca06c0eb657, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfe71fca06c0eb67a, rs 0xfe71fca06c0eb657, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe760d775, rs 0xffffffffe760d676, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe760d675, rs 0xffffffffe760d676, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe760d699, rs 0xffffffffe760d676, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4ed6393df818b056, rs 0x4ed6393df818af57, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4ed6393df818af56, rs 0x4ed6393df818af57, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4ed6393df818af7a, rs 0x4ed6393df818af57, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffea23f1ae, rs 0xffffffffea23f0af, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffea23f0ae, rs 0xffffffffea23f0af, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffea23f0d2, rs 0xffffffffea23f0af, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf22e902002367809, rs 0xf22e90200236770a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf22e902002367709, rs 0xf22e90200236770a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf22e90200236772d, rs 0xf22e90200236770a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffeee2ee17, rs 0xffffffffeee2ed18, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffeee2ed17, rs 0xffffffffeee2ed18, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffeee2ed3b, rs 0xffffffffeee2ed18, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x81efb6c7afd0c55c, rs 0x81efb6c7afd0c45d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x81efb6c7afd0c45c, rs 0x81efb6c7afd0c45d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x81efb6c7afd0c480, rs 0x81efb6c7afd0c45d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff0a5be1c, rs 0xfffffffff0a5bd1d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff0a5bd1c, rs 0xfffffffff0a5bd1d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff0a5bd40, rs 0xfffffffff0a5bd1d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xeed8f3518102325a, rs 0xeed8f3518102315b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xeed8f3518102315a, rs 0xeed8f3518102315b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xeed8f3518102317e, rs 0xeed8f3518102315b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff464a1a9, rs 0xfffffffff464a0aa, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff464a0a9, rs 0xfffffffff464a0aa, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff464a0cd, rs 0xfffffffff464a0aa, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xadafefb9995efe5d, rs 0xadafefb9995efd5e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xadafefb9995efd5d, rs 0xadafefb9995efd5e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xadafefb9995efd81, rs 0xadafefb9995efd5e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff9278772, rs 0xfffffffff9278673, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff9278672, rs 0xfffffffff9278673, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff9278696, rs 0xfffffffff9278673, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x34061933eb253185, rs 0x34061933eb253086, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x34061933eb253085, rs 0x34061933eb253086, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x34061933eb2530a9, rs 0x34061933eb253086, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffffde69cc3, rs 0xfffffffffde69bc4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffffde69bc3, rs 0xfffffffffde69bc4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffffde69be7, rs 0xfffffffffde69bc4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1748da264b4c53bb, rs 0x1748da264b4c52bc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1748da264b4c52bb, rs 0x1748da264b4c52bc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1748da264b4c52df, rs 0x1748da264b4c52bc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff89b8fe08, rs 0xffffffff89b8fd09, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff89b8fd08, rs 0xffffffff89b8fd09, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff89b8fd2c, rs 0xffffffff89b8fd09, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x34fdfc9a9302bf88, rs 0x34fdfc9a9302be89, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x34fdfc9a9302be88, rs 0x34fdfc9a9302be89, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x34fdfc9a9302beac, rs 0x34fdfc9a9302be89, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8d79e1bd, rs 0xffffffff8d79e0be, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8d79e0bd, rs 0xffffffff8d79e0be, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8d79e0e1, rs 0xffffffff8d79e0be, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd00278c3c521d27f, rs 0xd00278c3c521d180, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd00278c3c521d17f, rs 0xd00278c3c521d180, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd00278c3c521d1a3, rs 0xd00278c3c521d180, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff803ac766, rs 0xffffffff803ac667, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff803ac666, rs 0xffffffff803ac667, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff803ac68a, rs 0xffffffff803ac667, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe90944a4c1d37b5c, rs 0xe90944a4c1d37a5d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe90944a4c1d37a5c, rs 0xe90944a4c1d37a5d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe90944a4c1d37a80, rs 0xe90944a4c1d37a5d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff84fbdccf, rs 0xffffffff84fbdbd0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff84fbdbcf, rs 0xffffffff84fbdbd0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff84fbdbf3, rs 0xffffffff84fbdbd0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x65fd698fddef9938, rs 0x65fd698fddef9839, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x65fd698fddef9838, rs 0x65fd698fddef9839, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x65fd698fddef985c, rs 0x65fd698fddef9839, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9abc8cd4, rs 0xffffffff9abc8bd5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9abc8bd4, rs 0xffffffff9abc8bd5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9abc8bf8, rs 0xffffffff9abc8bd5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc49ee3ad81b5b051, rs 0xc49ee3ad81b5af52, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc49ee3ad81b5af51, rs 0xc49ee3ad81b5af52, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc49ee3ad81b5af75, rs 0xc49ee3ad81b5af52, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9e7d9761, rs 0xffffffff9e7d9662, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9e7d9661, rs 0xffffffff9e7d9662, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9e7d9685, rs 0xffffffff9e7d9662, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7aa941e8bdb264e8, rs 0x7aa941e8bdb263e9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7aa941e8bdb263e8, rs 0x7aa941e8bdb263e9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7aa941e8bdb2640c, rs 0x7aa941e8bdb263e9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff933eb1ba, rs 0xffffffff933eb0bb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff933eb0ba, rs 0xffffffff933eb0bb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff933eb0de, rs 0xffffffff933eb0bb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x372c209e42f3b68c, rs 0x372c209e42f3b58d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x372c209e42f3b58c, rs 0x372c209e42f3b58d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x372c209e42f3b5b0, rs 0x372c209e42f3b58d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff97ffae0b, rs 0xffffffff97ffad0c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff97ffad0b, rs 0xffffffff97ffad0c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff97ffad2f, rs 0xffffffff97ffad0c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x30f870b7e122a93a, rs 0x30f870b7e122a83b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x30f870b7e122a83a, rs 0x30f870b7e122a83b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x30f870b7e122a85e, rs 0x30f870b7e122a83b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffafb011b0, rs 0xffffffffafb010b1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffafb010b0, rs 0xffffffffafb010b1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffafb010d4, rs 0xffffffffafb010b1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9e02de4b678931eb, rs 0x9e02de4b678930ec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9e02de4b678930eb, rs 0x9e02de4b678930ec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9e02de4b6789310f, rs 0x9e02de4b678930ec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffab710e05, rs 0xffffffffab710d06, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffab710d05, rs 0xffffffffab710d06, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffab710d29, rs 0xffffffffab710d06, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xcd61a8639826641d, rs 0xcd61a8639826631e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xcd61a8639826631d, rs 0xcd61a8639826631e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xcd61a86398266341, rs 0xcd61a8639826631e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa6322cde, rs 0xffffffffa6322bdf, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa6322bde, rs 0xffffffffa6322bdf, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa6322c02, rs 0xffffffffa6322bdf, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xae87bc899a7bd4c9, rs 0xae87bc899a7bd3ca, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xae87bc899a7bd3c9, rs 0xae87bc899a7bd3ca, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xae87bc899a7bd3ed, rs 0xae87bc899a7bd3ca, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa2f33767, rs 0xffffffffa2f33668, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa2f33667, rs 0xffffffffa2f33668, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa2f3368b, rs 0xffffffffa2f33668, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x58ec644d6481b016, rs 0x58ec644d6481af17, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x58ec644d6481af16, rs 0x58ec644d6481af17, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x58ec644d6481af3a, rs 0x58ec644d6481af17, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbcb4676c, rs 0xffffffffbcb4666d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbcb4666c, rs 0xffffffffbcb4666d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbcb46690, rs 0xffffffffbcb4666d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x680cce5fb236b765, rs 0x680cce5fb236b666, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x680cce5fb236b665, rs 0x680cce5fb236b666, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x680cce5fb236b689, rs 0x680cce5fb236b666, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb8757cd9, rs 0xffffffffb8757bda, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb8757bd9, rs 0xffffffffb8757bda, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb8757bfd, rs 0xffffffffb8757bda, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3baa99471f6d4e74, rs 0x3baa99471f6d4d75, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3baa99471f6d4d74, rs 0x3baa99471f6d4d75, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3baa99471f6d4d98, rs 0x3baa99471f6d4d75, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb5365e02, rs 0xffffffffb5365d03, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb5365d02, rs 0xffffffffb5365d03, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb5365d26, rs 0xffffffffb5365d03, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x614d9b445f12246a, rs 0x614d9b445f12236b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x614d9b445f12236a, rs 0x614d9b445f12236b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x614d9b445f12238e, rs 0x614d9b445f12236b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb1f741b3, rs 0xffffffffb1f740b4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb1f740b3, rs 0xffffffffb1f740b4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb1f740d7, rs 0xffffffffb1f740b4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa2a6ec661ba84220, rs 0xa2a6ec661ba84121, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa2a6ec661ba84120, rs 0xa2a6ec661ba84121, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa2a6ec661ba84144, rs 0xa2a6ec661ba84121, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x12bd7a9, rs 0x12bd6aa, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x12bd6a9, rs 0x12bd6aa, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x12bd6cd, rs 0x12bd6aa, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7e876382d2ac12, rs 0x7e876382d2ab13, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7e876382d2ab12, rs 0x7e876382d2ab13, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7e876382d2ab36, rs 0x7e876382d2ab13, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9823c6d, rs 0x9823b6e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9823b6d, rs 0x9823b6e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9823b91, rs 0x9823b6e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x976d6e9ac31511f2, rs 0x976d6e9ac31510f3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x976d6e9ac31510f2, rs 0x976d6e9ac31510f3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x976d6e9ac3151116, rs 0x976d6e9ac31510f3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd4327d8, rs 0xd4326d9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd4326d8, rs 0xd4326d9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd4326fc, rs 0xd4326d9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb7746d775ad6a6fa, rs 0xb7746d775ad6a5fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb7746d775ad6a5fa, rs 0xb7746d775ad6a5fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb7746d775ad6a61e, rs 0xb7746d775ad6a5fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x130477db, rs 0x130476dc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x130476db, rs 0x130476dc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x130476ff, rs 0x130476dc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x42b0c0a28677b601, rs 0x42b0c0a28677b502, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x42b0c0a28677b501, rs 0x42b0c0a28677b502, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x42b0c0a28677b525, rs 0x42b0c0a28677b502, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x17c56c6a, rs 0x17c56b6b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x17c56b6a, rs 0x17c56b6b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x17c56b8e, rs 0x17c56b6b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2aa89d319e3c31ac, rs 0x2aa89d319e3c30ad, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2aa89d319e3c30ac, rs 0x2aa89d319e3c30ad, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2aa89d319e3c30d0, rs 0x2aa89d319e3c30ad, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1a864eb1, rs 0x1a864db2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1a864db1, rs 0x1a864db2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1a864dd5, rs 0x1a864db2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1f308ec377fb423c, rs 0x1f308ec377fb413d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1f308ec377fb413c, rs 0x1f308ec377fb413d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1f308ec377fb4160, rs 0x1f308ec377fb413d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1e475104, rs 0x1e475005, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1e475004, rs 0x1e475005, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1e475028, rs 0x1e475005, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7aa04213c760e5f6, rs 0x7aa04213c760e4f7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7aa04213c760e4f6, rs 0x7aa04213c760e4f7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7aa04213c760e51a, rs 0x7aa04213c760e4f7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2608eeb7, rs 0x2608edb8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2608edb7, rs 0x2608edb8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2608eddb, rs 0x2608edb8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9e705cc51ad8dd9f, rs 0x9e705cc51ad8dca0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9e705cc51ad8dc9f, rs 0x9e705cc51ad8dca0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9e705cc51ad8dcc3, rs 0x9e705cc51ad8dca0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x22c9f10e, rs 0x22c9f00f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x22c9f00e, rs 0x22c9f00f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x22c9f032, rs 0x22c9f00f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4b3dda869615a70c, rs 0x4b3dda869615a60d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4b3dda869615a60c, rs 0x4b3dda869615a60d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4b3dda869615a630, rs 0x4b3dda869615a60d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2f8ad7d5, rs 0x2f8ad6d6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2f8ad6d5, rs 0x2f8ad6d6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2f8ad6f9, rs 0x2f8ad6d6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5e7a4dd6353d51c, rs 0x5e7a4dd6353d41d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5e7a4dd6353d41c, rs 0x5e7a4dd6353d41d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5e7a4dd6353d440, rs 0x5e7a4dd6353d41d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2b4bcc60, rs 0x2b4bcb61, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2b4bcb60, rs 0x2b4bcb61, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2b4bcb84, rs 0x2b4bcb61, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3af35a9dc40bd512, rs 0x3af35a9dc40bd413, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3af35a9dc40bd412, rs 0x3af35a9dc40bd413, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3af35a9dc40bd436, rs 0x3af35a9dc40bd413, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x350c9c63, rs 0x350c9b64, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x350c9b63, rs 0x350c9b64, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x350c9b87, rs 0x350c9b64, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x47f505569a08a27f, rs 0x47f505569a08a180, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x47f505569a08a17f, rs 0x47f505569a08a180, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x47f505569a08a1a3, rs 0x47f505569a08a180, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x31cd87d2, rs 0x31cd86d3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x31cd86d2, rs 0x31cd86d3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x31cd86f6, rs 0x31cd86d3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9564b77fd6d2050e, rs 0x9564b77fd6d2040f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9564b77fd6d2040e, rs 0x9564b77fd6d2040f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9564b77fd6d20432, rs 0x9564b77fd6d2040f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3c8ea109, rs 0x3c8ea00a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3c8ea009, rs 0x3c8ea00a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3c8ea02d, rs 0x3c8ea00a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xcebc8279b2c76cbd, rs 0xcebc8279b2c76bbe, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xcebc8279b2c76bbd, rs 0xcebc8279b2c76bbe, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xcebc8279b2c76be1, rs 0xcebc8279b2c76bbe, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x384fbebc, rs 0x384fbdbd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x384fbdbc, rs 0x384fbdbd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x384fbde0, rs 0x384fbdbd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb5034c2f1f18e5c6, rs 0xb5034c2f1f18e4c7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb5034c2f1f18e4c6, rs 0xb5034c2f1f18e4c7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb5034c2f1f18e4ea, rs 0xb5034c2f1f18e4c7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4c11dc6f, rs 0x4c11db70, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4c11db6f, rs 0x4c11db70, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4c11db93, rs 0x4c11db70, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x94ff52fc81afa896, rs 0x94ff52fc81afa797, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x94ff52fc81afa796, rs 0x94ff52fc81afa797, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x94ff52fc81afa7ba, rs 0x94ff52fc81afa797, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x48d0c7c6, rs 0x48d0c6c7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x48d0c6c6, rs 0x48d0c6c7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x48d0c6ea, rs 0x48d0c6c7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x31d8d9166dfc51e9, rs 0x31d8d9166dfc50ea, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x31d8d9166dfc50e9, rs 0x31d8d9166dfc50ea, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x31d8d9166dfc510d, rs 0x31d8d9166dfc50ea, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4593e11d, rs 0x4593e01e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4593e01d, rs 0x4593e01e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4593e041, rs 0x4593e01e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x36549bd678e896b0, rs 0x36549bd678e895b1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x36549bd678e895b0, rs 0x36549bd678e895b1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x36549bd678e895d4, rs 0x36549bd678e895b1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4152fea8, rs 0x4152fda9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4152fda8, rs 0x4152fda9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4152fdcc, rs 0x4152fda9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x85e0a6319b63269a, rs 0x85e0a6319b63259b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x85e0a6319b63259a, rs 0x85e0a6319b63259b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x85e0a6319b6325be, rs 0x85e0a6319b63259b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5f15aeab, rs 0x5f15adac, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5f15adab, rs 0x5f15adac, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5f15adcf, rs 0x5f15adac, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x556b3ecaccf17bc4, rs 0x556b3ecaccf17ac5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x556b3ecaccf17ac4, rs 0x556b3ecaccf17ac5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x556b3ecaccf17ae8, rs 0x556b3ecaccf17ac5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5bd4b11a, rs 0x5bd4b01b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5bd4b01a, rs 0x5bd4b01b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5bd4b03e, rs 0x5bd4b01b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb42f5fc581eea1fa, rs 0xb42f5fc581eea0fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb42f5fc581eea0fa, rs 0xb42f5fc581eea0fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb42f5fc581eea11e, rs 0xb42f5fc581eea0fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x569797c1, rs 0x569796c2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x569796c1, rs 0x569796c2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x569796e5, rs 0x569796c2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x25b50fec14682e96, rs 0x25b50fec14682d97, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x25b50fec14682d96, rs 0x25b50fec14682d97, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x25b50fec14682dba, rs 0x25b50fec14682d97, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x52568c74, rs 0x52568b75, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x52568b74, rs 0x52568b75, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x52568b98, rs 0x52568b75, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfc93c5132cfb0979, rs 0xfc93c5132cfb087a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfc93c5132cfb0879, rs 0xfc93c5132cfb087a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfc93c5132cfb089d, rs 0xfc93c5132cfb087a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6a1937c7, rs 0x6a1936c8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6a1936c7, rs 0x6a1936c8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6a1936eb, rs 0x6a1936c8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3c2cd9a9cda20865, rs 0x3c2cd9a9cda20766, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3c2cd9a9cda20765, rs 0x3c2cd9a9cda20766, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3c2cd9a9cda20789, rs 0x3c2cd9a9cda20766, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6ed82c7e, rs 0x6ed82b7f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6ed82b7e, rs 0x6ed82b7f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6ed82ba2, rs 0x6ed82b7f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1791722a7d72db3d, rs 0x1791722a7d72da3e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1791722a7d72da3d, rs 0x1791722a7d72da3e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1791722a7d72da61, rs 0x1791722a7d72da3e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x639b0ea5, rs 0x639b0da6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x639b0da5, rs 0x639b0da6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x639b0dc9, rs 0x639b0da6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x87cc9d193ce25ac, rs 0x87cc9d193ce24ad, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x87cc9d193ce24ac, rs 0x87cc9d193ce24ad, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x87cc9d193ce24d0, rs 0x87cc9d193ce24ad, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x675a1110, rs 0x675a1011, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x675a1010, rs 0x675a1011, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x675a1034, rs 0x675a1011, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1d2a757038984fd1, rs 0x1d2a757038984ed2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1d2a757038984ed1, rs 0x1d2a757038984ed2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1d2a757038984ef5, rs 0x1d2a757038984ed2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x791d4113, rs 0x791d4014, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x791d4013, rs 0x791d4014, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x791d4037, rs 0x791d4014, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd0d070db710cd135, rs 0xd0d070db710cd036, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd0d070db710cd035, rs 0xd0d070db710cd036, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd0d070db710cd059, rs 0xd0d070db710cd036, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7ddc5ea2, rs 0x7ddc5da3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7ddc5da2, rs 0x7ddc5da3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7ddc5dc6, rs 0x7ddc5da3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x39c21c7d03415703, rs 0x39c21c7d03415604, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x39c21c7d03415603, rs 0x39c21c7d03415604, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x39c21c7d03415627, rs 0x39c21c7d03415604, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x709f7c79, rs 0x709f7b7a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x709f7b79, rs 0x709f7b7a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x709f7b9d, rs 0x709f7b7a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8e94b7af8ecc32cd, rs 0x8e94b7af8ecc31ce, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8e94b7af8ecc31cd, rs 0x8e94b7af8ecc31ce, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8e94b7af8ecc31f1, rs 0x8e94b7af8ecc31ce, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x745e67cc, rs 0x745e66cd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x745e66cc, rs 0x745e66cd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x745e66f0, rs 0x745e66cd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x24eb6a8d1ce7684e, rs 0x24eb6a8d1ce7674f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x24eb6a8d1ce7674e, rs 0x24eb6a8d1ce7674f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x24eb6a8d1ce76772, rs 0x24eb6a8d1ce7674f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9823b7df, rs 0xffffffff9823b6e0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9823b6df, rs 0xffffffff9823b6e0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9823b703, rs 0xffffffff9823b6e0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2f39454412d6e5a6, rs 0x2f39454412d6e4a7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2f39454412d6e4a6, rs 0x2f39454412d6e4a7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2f39454412d6e4ca, rs 0x2f39454412d6e4a7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9ce2ac56, rs 0xffffffff9ce2ab57, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9ce2ab56, rs 0xffffffff9ce2ab57, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9ce2ab7a, rs 0xffffffff9ce2ab57, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2608c2b756da4d53, rs 0x2608c2b756da4c54, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2608c2b756da4c53, rs 0x2608c2b756da4c54, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2608c2b756da4c77, rs 0x2608c2b756da4c54, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff91a18e8d, rs 0xffffffff91a18d8e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff91a18d8d, rs 0xffffffff91a18d8e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff91a18db1, rs 0xffffffff91a18d8e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x900102dac8d7262e, rs 0x900102dac8d7252f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x900102dac8d7252e, rs 0x900102dac8d7252f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x900102dac8d72552, rs 0x900102dac8d7252f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff95609138, rs 0xffffffff95609039, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff95609038, rs 0xffffffff95609039, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9560905c, rs 0xffffffff95609039, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc890d5f1f2efa5f6, rs 0xc890d5f1f2efa4f7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc890d5f1f2efa4f6, rs 0xc890d5f1f2efa4f7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc890d5f1f2efa51a, rs 0xc890d5f1f2efa4f7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8b27c13b, rs 0xffffffff8b27c03c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8b27c03b, rs 0xffffffff8b27c03c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8b27c05f, rs 0xffffffff8b27c03c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xed5005cbc8b0a313, rs 0xed5005cbc8b0a214, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xed5005cbc8b0a213, rs 0xed5005cbc8b0a214, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xed5005cbc8b0a237, rs 0xed5005cbc8b0a214, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8fe6de8a, rs 0xffffffff8fe6dd8b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8fe6dd8a, rs 0xffffffff8fe6dd8b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8fe6ddae, rs 0xffffffff8fe6dd8b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x314791895991146b, rs 0x314791895991136c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x314791895991136b, rs 0x314791895991136c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x314791895991138f, rs 0x314791895991136c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff82a5fc51, rs 0xffffffff82a5fb52, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff82a5fb51, rs 0xffffffff82a5fb52, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff82a5fb75, rs 0xffffffff82a5fb52, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc6eecff99a2fb7f2, rs 0xc6eecff99a2fb6f3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc6eecff99a2fb6f2, rs 0xc6eecff99a2fb6f3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc6eecff99a2fb716, rs 0xc6eecff99a2fb6f3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8664e7e4, rs 0xffffffff8664e6e5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8664e6e4, rs 0xffffffff8664e6e5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8664e708, rs 0xffffffff8664e6e5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa80952123889536f, rs 0xa809521238895270, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa80952123889526f, rs 0xa809521238895270, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa809521238895293, rs 0xa809521238895270, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbe2b5c57, rs 0xffffffffbe2b5b58, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbe2b5b57, rs 0xffffffffbe2b5b58, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbe2b5b7b, rs 0xffffffffbe2b5b58, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x87750a04ad76513f, rs 0x87750a04ad765040, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x87750a04ad76503f, rs 0x87750a04ad765040, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x87750a04ad765063, rs 0x87750a04ad765040, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbaea47ee, rs 0xffffffffbaea46ef, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbaea46ee, rs 0xffffffffbaea46ef, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbaea4712, rs 0xffffffffbaea46ef, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2c3de85e84bb5b82, rs 0x2c3de85e84bb5a83, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2c3de85e84bb5a82, rs 0x2c3de85e84bb5a83, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2c3de85e84bb5aa6, rs 0x2c3de85e84bb5a83, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb7a96135, rs 0xffffffffb7a96036, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb7a96035, rs 0xffffffffb7a96036, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb7a96059, rs 0xffffffffb7a96036, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xae6aff8fc506ab66, rs 0xae6aff8fc506aa67, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xae6aff8fc506aa66, rs 0xae6aff8fc506aa67, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xae6aff8fc506aa8a, rs 0xae6aff8fc506aa67, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb3687e80, rs 0xffffffffb3687d81, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb3687d80, rs 0xffffffffb3687d81, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb3687da4, rs 0xffffffffb3687d81, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc07112dd60ed5fe2, rs 0xc07112dd60ed5ee3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc07112dd60ed5ee2, rs 0xc07112dd60ed5ee3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc07112dd60ed5f06, rs 0xc07112dd60ed5ee3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffad2f2e83, rs 0xffffffffad2f2d84, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffad2f2d83, rs 0xffffffffad2f2d84, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffad2f2da7, rs 0xffffffffad2f2d84, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc4c770f630dccb59, rs 0xc4c770f630dcca5a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc4c770f630dcca59, rs 0xc4c770f630dcca5a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc4c770f630dcca7d, rs 0xc4c770f630dcca5a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa9ee3132, rs 0xffffffffa9ee3033, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa9ee3032, rs 0xffffffffa9ee3033, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa9ee3056, rs 0xffffffffa9ee3033, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xdfec2b2383cd5376, rs 0xdfec2b2383cd5277, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xdfec2b2383cd5276, rs 0xdfec2b2383cd5277, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xdfec2b2383cd529a, rs 0xdfec2b2383cd5277, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa4ad17e9, rs 0xffffffffa4ad16ea, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa4ad16e9, rs 0xffffffffa4ad16ea, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa4ad170d, rs 0xffffffffa4ad16ea, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd3adba260ff7da6a, rs 0xd3adba260ff7d96b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd3adba260ff7d96a, rs 0xd3adba260ff7d96b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd3adba260ff7d98e, rs 0xd3adba260ff7d96b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa06c0c5c, rs 0xffffffffa06c0b5d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa06c0b5c, rs 0xffffffffa06c0b5d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa06c0b80, rs 0xffffffffa06c0b5d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4ab4aa798418c10d, rs 0x4ab4aa798418c00e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4ab4aa798418c00d, rs 0x4ab4aa798418c00e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4ab4aa798418c031, rs 0x4ab4aa798418c00e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd4326e8f, rs 0xffffffffd4326d90, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd4326d8f, rs 0xffffffffd4326d90, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd4326db3, rs 0xffffffffd4326d90, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbb8c035e0de0f1b7, rs 0xbb8c035e0de0f0b8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbb8c035e0de0f0b7, rs 0xbb8c035e0de0f0b8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbb8c035e0de0f0db, rs 0xbb8c035e0de0f0b8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd0f37126, rs 0xffffffffd0f37027, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd0f37026, rs 0xffffffffd0f37027, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd0f3704a, rs 0xffffffffd0f37027, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x33b06f54a97fddf0, rs 0x33b06f54a97fdcf1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x33b06f54a97fdcf0, rs 0x33b06f54a97fdcf1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x33b06f54a97fdd14, rs 0x33b06f54a97fdcf1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffddb057fd, rs 0xffffffffddb056fe, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffddb056fd, rs 0xffffffffddb056fe, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffddb05721, rs 0xffffffffddb056fe, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x77433f373fd1c180, rs 0x77433f373fd1c081, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x77433f373fd1c080, rs 0x77433f373fd1c081, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x77433f373fd1c0a4, rs 0x77433f373fd1c081, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd9714c48, rs 0xffffffffd9714b49, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd9714b48, rs 0xffffffffd9714b49, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd9714b6c, rs 0xffffffffd9714b49, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xec91d993c92196e3, rs 0xec91d993c92195e4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xec91d993c92195e3, rs 0xec91d993c92195e4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xec91d993c9219607, rs 0xec91d993c92195e4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc7361c4b, rs 0xffffffffc7361b4c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc7361b4b, rs 0xffffffffc7361b4c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc7361b6f, rs 0xffffffffc7361b4c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x49fbf6a795b1a6aa, rs 0x49fbf6a795b1a5ab, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x49fbf6a795b1a5aa, rs 0x49fbf6a795b1a5ab, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x49fbf6a795b1a5ce, rs 0x49fbf6a795b1a5ab, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc3f707fa, rs 0xffffffffc3f706fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc3f706fa, rs 0xffffffffc3f706fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc3f7071e, rs 0xffffffffc3f706fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x19364378c7ce8e1d, rs 0x19364378c7ce8d1e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x19364378c7ce8d1d, rs 0x19364378c7ce8d1e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x19364378c7ce8d41, rs 0x19364378c7ce8d1e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffceb42121, rs 0xffffffffceb42022, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffceb42021, rs 0xffffffffceb42022, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffceb42045, rs 0xffffffffceb42022, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb99e8def2f384a06, rs 0xb99e8def2f384907, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb99e8def2f384906, rs 0xb99e8def2f384907, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb99e8def2f38492a, rs 0xb99e8def2f384907, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffca753e94, rs 0xffffffffca753d95, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffca753d94, rs 0xffffffffca753d95, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffca753db8, rs 0xffffffffca753d95, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x47eacdcd582b13fd, rs 0x47eacdcd582b12fe, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x47eacdcd582b12fd, rs 0x47eacdcd582b12fe, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x47eacdcd582b1321, rs 0x47eacdcd582b12fe, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff23a8127, rs 0xfffffffff23a8028, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff23a8027, rs 0xfffffffff23a8028, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff23a804b, rs 0xfffffffff23a8028, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd685884e76558d4e, rs 0xd685884e76558c4f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd685884e76558c4e, rs 0xd685884e76558c4f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd685884e76558c72, rs 0xd685884e76558c4f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff6fb9e9e, rs 0xfffffffff6fb9d9f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff6fb9d9e, rs 0xfffffffff6fb9d9f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff6fb9dc2, rs 0xfffffffff6fb9d9f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6168d62a34c196c6, rs 0x6168d62a34c195c7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6168d62a34c195c6, rs 0x6168d62a34c195c7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6168d62a34c195ea, rs 0x6168d62a34c195c7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffffbb8bc45, rs 0xfffffffffbb8bb46, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffffbb8bb45, rs 0xfffffffffbb8bb46, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffffbb8bb69, rs 0xfffffffffbb8bb46, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd30169894df47504, rs 0xd30169894df47405, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd30169894df47404, rs 0xd30169894df47405, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd30169894df47428, rs 0xd30169894df47405, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffff79a7f0, rs 0xffffffffff79a6f1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffff79a6f0, rs 0xffffffffff79a6f1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffff79a714, rs 0xffffffffff79a6f1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1ca190bf6cbb07da, rs 0x1ca190bf6cbb06db, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1ca190bf6cbb06da, rs 0x1ca190bf6cbb06db, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1ca190bf6cbb06fe, rs 0x1ca190bf6cbb06db, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe13ef7f3, rs 0xffffffffe13ef6f4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe13ef6f3, rs 0xffffffffe13ef6f4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe13ef717, rs 0xffffffffe13ef6f4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x58300f029cae3a39, rs 0x58300f029cae393a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x58300f029cae3939, rs 0x58300f029cae393a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x58300f029cae395d, rs 0x58300f029cae393a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe5ffec42, rs 0xffffffffe5ffeb43, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe5ffeb42, rs 0xffffffffe5ffeb43, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe5ffeb66, rs 0xffffffffe5ffeb43, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9a995fdbdc7ebd2c, rs 0x9a995fdbdc7ebc2d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9a995fdbdc7ebc2c, rs 0x9a995fdbdc7ebc2d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9a995fdbdc7ebc50, rs 0x9a995fdbdc7ebc2d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe8bcce99, rs 0xffffffffe8bccd9a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe8bccd99, rs 0xffffffffe8bccd9a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe8bccdbd, rs 0xffffffffe8bccd9a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8a96047be3405c47, rs 0x8a96047be3405b48, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8a96047be3405b47, rs 0x8a96047be3405b48, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8a96047be3405b6b, rs 0x8a96047be3405b48, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffec7dd12c, rs 0xffffffffec7dd02d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffec7dd02c, rs 0xffffffffec7dd02d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffec7dd050, rs 0xffffffffec7dd02d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x75bfafd2d519d421, rs 0x75bfafd2d519d322, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x75bfafd2d519d321, rs 0x75bfafd2d519d322, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x75bfafd2d519d345, rs 0x75bfafd2d519d322, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x34867176, rs 0x34867077, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x34867076, rs 0x34867077, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3486709a, rs 0x34867077, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xde230867a630f7ac, rs 0xde230867a630f6ad, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xde230867a630f6ac, rs 0xde230867a630f6ad, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xde230867a630f6d0, rs 0xde230867a630f6ad, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x30476ebf, rs 0x30476dc0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x30476dbf, rs 0x30476dc0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x30476de3, rs 0x30476dc0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2c0a0cf25610335f, rs 0x2c0a0cf256103260, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2c0a0cf25610325f, rs 0x2c0a0cf256103260, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2c0a0cf256103283, rs 0x2c0a0cf256103260, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3d044c18, rs 0x3d044b19, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3d044b18, rs 0x3d044b19, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3d044b3c, rs 0x3d044b19, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x94a90544249b19ee, rs 0x94a90544249b18ef, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x94a90544249b18ee, rs 0x94a90544249b18ef, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x94a90544249b1912, rs 0x94a90544249b18ef, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x39c557ad, rs 0x39c556ae, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x39c556ad, rs 0x39c556ae, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x39c556d1, rs 0x39c556ae, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf9519fb55b56fddd, rs 0xf9519fb55b56fcde, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf9519fb55b56fcdd, rs 0xf9519fb55b56fcde, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf9519fb55b56fd01, rs 0xf9519fb55b56fcde, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x278207aa, rs 0x278206ab, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x278206aa, rs 0x278206ab, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x278206ce, rs 0x278206ab, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x81daf8200468329a, rs 0x81daf8200468319b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x81daf8200468319a, rs 0x81daf8200468319b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x81daf820046831be, rs 0x81daf8200468319b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x23431c1b, rs 0x23431b1c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x23431b1b, rs 0x23431b1c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23431b3f, rs 0x23431b1c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8c61ca5a5725f3eb, rs 0x8c61ca5a5725f2ec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8c61ca5a5725f2eb, rs 0x8c61ca5a5725f2ec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8c61ca5a5725f30f, rs 0x8c61ca5a5725f2ec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2e003ec4, rs 0x2e003dc5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2e003dc4, rs 0x2e003dc5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2e003de8, rs 0x2e003dc5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8b95a6ddc25dc9be, rs 0x8b95a6ddc25dc8bf, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8b95a6ddc25dc8be, rs 0x8b95a6ddc25dc8bf, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8b95a6ddc25dc8e2, rs 0x8b95a6ddc25dc8bf, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2ac12171, rs 0x2ac12072, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2ac12071, rs 0x2ac12072, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2ac12095, rs 0x2ac12072, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x300ce751dac6172e, rs 0x300ce751dac6162f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x300ce751dac6162e, rs 0x300ce751dac6162f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x300ce751dac61652, rs 0x300ce751dac6162f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x128e9ece, rs 0x128e9dcf, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x128e9dce, rs 0x128e9dcf, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x128e9df2, rs 0x128e9dcf, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6778fdf3ba52a94f, rs 0x6778fdf3ba52a850, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6778fdf3ba52a84f, rs 0x6778fdf3ba52a850, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6778fdf3ba52a873, rs 0x6778fdf3ba52a850, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x164f8177, rs 0x164f8078, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x164f8077, rs 0x164f8078, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x164f809b, rs 0x164f8078, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xad00b1f7da78489e, rs 0xad00b1f7da78479f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xad00b1f7da78479e, rs 0xad00b1f7da78479f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xad00b1f7da7847c2, rs 0xad00b1f7da78479f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1b0ca7a0, rs 0x1b0ca6a1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1b0ca6a0, rs 0x1b0ca6a1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1b0ca6c4, rs 0x1b0ca6a1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8d44168a6b6da89, rs 0x8d44168a6b6d98a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8d44168a6b6d989, rs 0x8d44168a6b6d98a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8d44168a6b6d9ad, rs 0x8d44168a6b6d98a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1fcdbc15, rs 0x1fcdbb16, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1fcdbb15, rs 0x1fcdbb16, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1fcdbb39, rs 0x1fcdbb16, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf518381dce634512, rs 0xf518381dce634413, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf518381dce634412, rs 0xf518381dce634413, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf518381dce634436, rs 0xf518381dce634413, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x18aec12, rs 0x18aeb13, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x18aeb12, rs 0x18aeb13, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x18aeb36, rs 0x18aeb13, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe4627f3fe52560bf, rs 0xe4627f3fe5255fc0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe4627f3fe5255fbf, rs 0xe4627f3fe5255fc0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe4627f3fe5255fe3, rs 0xe4627f3fe5255fc0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x54bf7a3, rs 0x54bf6a4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x54bf6a3, rs 0x54bf6a4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x54bf6c7, rs 0x54bf6a4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xccd392e176322027, rs 0xccd392e176321f28, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xccd392e176321f27, rs 0xccd392e176321f28, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xccd392e176321f4b, rs 0xccd392e176321f28, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x808d17c, rs 0x808d07d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x808d07c, rs 0x808d07d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x808d0a0, rs 0x808d07d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x829464944018fe8e, rs 0x829464944018fd8f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x829464944018fd8e, rs 0x829464944018fd8f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x829464944018fdb2, rs 0x829464944018fd8f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xcc9cec9, rs 0xcc9cdca, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xcc9cdc9, rs 0xcc9cdca, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xcc9cded, rs 0xcc9cdca, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x15d3204052e8f1e4, rs 0x15d3204052e8f0e5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x15d3204052e8f0e4, rs 0x15d3204052e8f0e5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x15d3204052e8f108, rs 0x15d3204052e8f0e5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7897ac06, rs 0x7897ab07, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7897ab06, rs 0x7897ab07, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7897ab2a, rs 0x7897ab07, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7caf83d2880ff443, rs 0x7caf83d2880ff344, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7caf83d2880ff343, rs 0x7caf83d2880ff344, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7caf83d2880ff367, rs 0x7caf83d2880ff344, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7c56b7af, rs 0x7c56b6b0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7c56b6af, rs 0x7c56b6b0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7c56b6d3, rs 0x7c56b6b0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf156a04c747df0d6, rs 0xf156a04c747defd7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf156a04c747defd6, rs 0xf156a04c747defd7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf156a04c747deffa, rs 0xf156a04c747defd7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x71159168, rs 0x71159069, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x71159068, rs 0x71159069, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7115908c, rs 0x71159069, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x93e2601c0f31d80f, rs 0x93e2601c0f31d710, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x93e2601c0f31d70f, rs 0x93e2601c0f31d710, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x93e2601c0f31d733, rs 0x93e2601c0f31d710, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x75d48edd, rs 0x75d48dde, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x75d48ddd, rs 0x75d48dde, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x75d48e01, rs 0x75d48dde, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe1e1a679131cda32, rs 0xe1e1a679131cd933, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe1e1a679131cd932, rs 0xe1e1a679131cd933, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe1e1a679131cd956, rs 0xe1e1a679131cd933, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6b93deda, rs 0x6b93dddb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6b93ddda, rs 0x6b93dddb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6b93ddfe, rs 0x6b93dddb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x24296b75a76fa526, rs 0x24296b75a76fa427, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x24296b75a76fa426, rs 0x24296b75a76fa427, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x24296b75a76fa44a, rs 0x24296b75a76fa427, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6f52c16b, rs 0x6f52c06c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6f52c06b, rs 0x6f52c06c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6f52c08f, rs 0x6f52c06c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd296e2d2139ee669, rs 0xd296e2d2139ee56a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd296e2d2139ee569, rs 0xd296e2d2139ee56a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd296e2d2139ee58d, rs 0xd296e2d2139ee56a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6211e7b4, rs 0x6211e6b5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6211e6b4, rs 0x6211e6b5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6211e6d8, rs 0x6211e6b5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5a82447f6dc2a6bf, rs 0x5a82447f6dc2a5c0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5a82447f6dc2a5bf, rs 0x5a82447f6dc2a5c0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5a82447f6dc2a5e3, rs 0x5a82447f6dc2a5c0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x66d0fc01, rs 0x66d0fb02, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x66d0fb01, rs 0x66d0fb02, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x66d0fb25, rs 0x66d0fb02, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x76c89e80c07dc267, rs 0x76c89e80c07dc168, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x76c89e80c07dc167, rs 0x76c89e80c07dc168, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x76c89e80c07dc18b, rs 0x76c89e80c07dc168, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5e9f47be, rs 0x5e9f46bf, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5e9f46be, rs 0x5e9f46bf, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5e9f46e2, rs 0x5e9f46bf, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x70dc3454bfe358e, rs 0x70dc3454bfe348f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x70dc3454bfe348e, rs 0x70dc3454bfe348f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x70dc3454bfe34b2, rs 0x70dc3454bfe348f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5a5e5c07, rs 0x5a5e5b08, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5a5e5b07, rs 0x5a5e5b08, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5a5e5b2b, rs 0x5a5e5b08, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbddc7123dd6d251a, rs 0xbddc7123dd6d241b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbddc7123dd6d241a, rs 0xbddc7123dd6d241b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbddc7123dd6d243e, rs 0xbddc7123dd6d241b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x571d7ed0, rs 0x571d7dd1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x571d7dd0, rs 0x571d7dd1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x571d7df4, rs 0x571d7dd1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf62fb727a59fcfbd, rs 0xf62fb727a59fcebe, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf62fb727a59fcebd, rs 0xf62fb727a59fcebe, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf62fb727a59fcee1, rs 0xf62fb727a59fcebe, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x53dc6165, rs 0x53dc6066, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x53dc6065, rs 0x53dc6066, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x53dc6089, rs 0x53dc6066, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x109f27e90f9f47fa, rs 0x109f27e90f9f46fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x109f27e90f9f46fa, rs 0x109f27e90f9f46fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x109f27e90f9f471e, rs 0x109f27e90f9f46fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4d9b3162, rs 0x4d9b3063, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4d9b3062, rs 0x4d9b3063, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4d9b3086, rs 0x4d9b3063, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3f63daa9afd19ad6, rs 0x3f63daa9afd199d7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3f63daa9afd199d6, rs 0x3f63daa9afd199d7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3f63daa9afd199fa, rs 0x3f63daa9afd199d7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x495a2ed3, rs 0x495a2dd4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x495a2dd3, rs 0x495a2dd4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x495a2df7, rs 0x495a2dd4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xdbcb312ea3d485f1, rs 0xdbcb312ea3d484f2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xdbcb312ea3d484f1, rs 0xdbcb312ea3d484f2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xdbcb312ea3d48515, rs 0xdbcb312ea3d484f2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x44190c0c, rs 0x44190b0d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x44190b0c, rs 0x44190b0d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x44190b30, rs 0x44190b0d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1f353faada4fe5c5, rs 0x1f353faada4fe4c6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1f353faada4fe4c5, rs 0x1f353faada4fe4c6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1f353faada4fe4e9, rs 0x1f353faada4fe4c6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x40d817b9, rs 0x40d816ba, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x40d816b9, rs 0x40d816ba, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x40d816dd, rs 0x40d816ba, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8b086ee07150c35f, rs 0x8b086ee07150c260, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8b086ee07150c25f, rs 0x8b086ee07150c260, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8b086ee07150c283, rs 0x8b086ee07150c260, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffaca5c796, rs 0xffffffffaca5c697, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffaca5c696, rs 0xffffffffaca5c697, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffaca5c6ba, rs 0xffffffffaca5c697, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe54750d5d9258024, rs 0xe54750d5d9257f25, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe54750d5d9257f24, rs 0xe54750d5d9257f25, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe54750d5d9257f48, rs 0xe54750d5d9257f25, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa864dc1f, rs 0xffffffffa864db20, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa864db1f, rs 0xffffffffa864db20, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa864db43, rs 0xffffffffa864db20, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3d69625fe9a6dc5a, rs 0x3d69625fe9a6db5b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3d69625fe9a6db5a, rs 0x3d69625fe9a6db5b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3d69625fe9a6db7e, rs 0x3d69625fe9a6db5b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa527fef8, rs 0xffffffffa527fdf9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa527fdf8, rs 0xffffffffa527fdf9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa527fe1c, rs 0xffffffffa527fdf9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x70a3e0424340ad95, rs 0x70a3e0424340ac96, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x70a3e0424340ac95, rs 0x70a3e0424340ac96, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x70a3e0424340acb9, rs 0x70a3e0424340ac96, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa1e6e14d, rs 0xffffffffa1e6e04e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa1e6e04d, rs 0xffffffffa1e6e04e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa1e6e071, rs 0xffffffffa1e6e04e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc0478f036980181d, rs 0xc0478f036980171e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc0478f036980171d, rs 0xc0478f036980171e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc0478f0369801741, rs 0xc0478f036980171e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbfa1b14a, rs 0xffffffffbfa1b04b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbfa1b04a, rs 0xffffffffbfa1b04b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbfa1b06e, rs 0xffffffffbfa1b04b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3ce839a51cf92ae2, rs 0x3ce839a51cf929e3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3ce839a51cf929e2, rs 0x3ce839a51cf929e3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3ce839a51cf92a06, rs 0x3ce839a51cf929e3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbb60aefb, rs 0xffffffffbb60adfc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbb60adfb, rs 0xffffffffbb60adfc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbb60ae1f, rs 0xffffffffbb60adfc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe2fbfa895eb68a57, rs 0xe2fbfa895eb68958, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe2fbfa895eb68957, rs 0xe2fbfa895eb68958, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe2fbfa895eb6897b, rs 0xe2fbfa895eb68958, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb6238c24, rs 0xffffffffb6238b25, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb6238b24, rs 0xffffffffb6238b25, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb6238b48, rs 0xffffffffb6238b25, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd24bb05d76ed26b6, rs 0xd24bb05d76ed25b7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd24bb05d76ed25b6, rs 0xd24bb05d76ed25b7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd24bb05d76ed25da, rs 0xd24bb05d76ed25b7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb2e29791, rs 0xffffffffb2e29692, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb2e29691, rs 0xffffffffb2e29692, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb2e296b5, rs 0xffffffffb2e29692, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xeb9682c170313f0, rs 0xeb9682c170312f1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xeb9682c170312f0, rs 0xeb9682c170312f1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xeb9682c17031314, rs 0xeb9682c170312f1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8aad2c2e, rs 0xffffffff8aad2b2f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8aad2b2e, rs 0xffffffff8aad2b2f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8aad2b52, rs 0xffffffff8aad2b2f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x84785280dd301e0c, rs 0x84785280dd301d0d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x84785280dd301d0c, rs 0x84785280dd301d0d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x84785280dd301d30, rs 0x84785280dd301d0d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x179c77aa1f8fd7ee, rs 0x179c77aa1f8fd6ef, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x179c77aa1f8fd6ee, rs 0x179c77aa1f8fd6ef, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x179c77aa1f8fd712, rs 0x179c77aa1f8fd6ef, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x26444ced2998446c, rs 0x26444ced2998436d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x26444ced2998436c, rs 0x26444ced2998436d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x26444ced29984390, rs 0x26444ced2998436d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff87ee0ef5, rs 0xffffffff87ee0df6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff87ee0df5, rs 0xffffffff87ee0df6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff87ee0e19, rs 0xffffffff87ee0df6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7175c9dd58ca807, rs 0x7175c9dd58ca708, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7175c9dd58ca707, rs 0x7175c9dd58ca708, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7175c9dd58ca72b, rs 0x7175c9dd58ca708, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff99a95ef2, rs 0xffffffff99a95df3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff99a95df2, rs 0xffffffff99a95df3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff99a95e16, rs 0xffffffff99a95df3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x663d061055833386, rs 0x663d061055833287, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x663d061055833286, rs 0x663d061055833287, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x663d0610558332aa, rs 0x663d061055833287, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9d684143, rs 0xffffffff9d684044, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9d684043, rs 0xffffffff9d684044, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9d684067, rs 0xffffffff9d684044, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xab7dd0488951d78a, rs 0xab7dd0488951d68b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xab7dd0488951d68a, rs 0xab7dd0488951d68b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xab7dd0488951d6ae, rs 0xab7dd0488951d68b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff902b679c, rs 0xffffffff902b669d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff902b669c, rs 0xffffffff902b669d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff902b66c0, rs 0xffffffff902b669d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf69823670e82481a, rs 0xf69823670e82471b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf69823670e82471a, rs 0xf69823670e82471b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf69823670e82473e, rs 0xf69823670e82471b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff94ea7c29, rs 0xffffffff94ea7b2a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff94ea7b29, rs 0xffffffff94ea7b2a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff94ea7b4d, rs 0xffffffff94ea7b2a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x36886c59d98d27b1, rs 0x36886c59d98d26b2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x36886c59d98d26b1, rs 0x36886c59d98d26b2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x36886c59d98d26d5, rs 0x36886c59d98d26b2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe0b41ee6, rs 0xffffffffe0b41de7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe0b41de6, rs 0xffffffffe0b41de7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe0b41e0a, rs 0xffffffffe0b41de7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9ca4bdbd32be578, rs 0x9ca4bdbd32be479, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9ca4bdbd32be478, rs 0x9ca4bdbd32be479, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9ca4bdbd32be49c, rs 0x9ca4bdbd32be479, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe475014f, rs 0xffffffffe4750050, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe475004f, rs 0xffffffffe4750050, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe4750073, rs 0xffffffffe4750050, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfd5d7d1d9962e71e, rs 0xfd5d7d1d9962e61f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfd5d7d1d9962e61e, rs 0xfd5d7d1d9962e61f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfd5d7d1d9962e642, rs 0xfd5d7d1d9962e61f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe9362788, rs 0xffffffffe9362689, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe9362688, rs 0xffffffffe9362689, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe93626ac, rs 0xffffffffe9362689, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3f46553ecad375de, rs 0x3f46553ecad374df, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3f46553ecad374de, rs 0x3f46553ecad374df, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3f46553ecad37502, rs 0x3f46553ecad374df, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffedf73c3d, rs 0xffffffffedf73b3e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffedf73b3d, rs 0xffffffffedf73b3e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffedf73b61, rs 0xffffffffedf73b3e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2e9ab97d3eedf3a6, rs 0x2e9ab97d3eedf2a7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2e9ab97d3eedf2a6, rs 0x2e9ab97d3eedf2a7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2e9ab97d3eedf2ca, rs 0x2e9ab97d3eedf2a7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff3b06c3a, rs 0xfffffffff3b06b3b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff3b06b3a, rs 0xfffffffff3b06b3b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff3b06b5e, rs 0xfffffffff3b06b3b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x36a6f7fa3c0ca032, rs 0x36a6f7fa3c0c9f33, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x36a6f7fa3c0c9f32, rs 0x36a6f7fa3c0c9f33, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x36a6f7fa3c0c9f56, rs 0x36a6f7fa3c0c9f33, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff771778b, rs 0xfffffffff771768c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff771768b, rs 0xfffffffff771768c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff77176af, rs 0xfffffffff771768c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8bb938e3155ecadb, rs 0x8bb938e3155ec9dc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8bb938e3155ec9db, rs 0x8bb938e3155ec9dc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8bb938e3155ec9ff, rs 0x8bb938e3155ec9dc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffffa325154, rs 0xfffffffffa325055, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffffa325054, rs 0xfffffffffa325055, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffffa325078, rs 0xfffffffffa325055, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd2df25c419478305, rs 0xd2df25c419478206, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd2df25c419478205, rs 0xd2df25c419478206, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd2df25c419478229, rs 0xd2df25c419478206, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffffef34ee1, rs 0xfffffffffef34de2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffffef34de1, rs 0xfffffffffef34de2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffffef34e05, rs 0xfffffffffef34de2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbc65bf27eb321924, rs 0xbc65bf27eb321825, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbc65bf27eb321824, rs 0xbc65bf27eb321825, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbc65bf27eb321848, rs 0xbc65bf27eb321825, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc6bcf15e, rs 0xffffffffc6bcf05f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc6bcf05e, rs 0xffffffffc6bcf05f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc6bcf082, rs 0xffffffffc6bcf05f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa8b08fe67a8bc8d9, rs 0xa8b08fe67a8bc7da, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa8b08fe67a8bc7d9, rs 0xa8b08fe67a8bc7da, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa8b08fe67a8bc7fd, rs 0xa8b08fe67a8bc7da, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc27deee7, rs 0xffffffffc27dede8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc27dede7, rs 0xffffffffc27dede8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc27dee0b, rs 0xffffffffc27dede8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x852b5bcaf8dfcee7, rs 0x852b5bcaf8dfcde8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x852b5bcaf8dfcde7, rs 0x852b5bcaf8dfcde8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x852b5bcaf8dfce0b, rs 0x852b5bcaf8dfcde8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffcf3ecc30, rs 0xffffffffcf3ecb31, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffcf3ecb30, rs 0xffffffffcf3ecb31, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffcf3ecb54, rs 0xffffffffcf3ecb31, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x478909b59a99368, rs 0x478909b59a99269, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x478909b59a99268, rs 0x478909b59a99269, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x478909b59a9928c, rs 0x478909b59a99269, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffcbffd785, rs 0xffffffffcbffd686, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffcbffd685, rs 0xffffffffcbffd686, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffcbffd6a9, rs 0xffffffffcbffd686, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbfb31cc87857370e, rs 0xbfb31cc87857360f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbfb31cc87857360e, rs 0xbfb31cc87857360f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbfb31cc878573632, rs 0xbfb31cc87857360f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd5b88782, rs 0xffffffffd5b88683, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd5b88682, rs 0xffffffffd5b88683, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd5b886a6, rs 0xffffffffd5b88683, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb665ed5e7f89eaa1, rs 0xb665ed5e7f89e9a2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb665ed5e7f89e9a1, rs 0xb665ed5e7f89e9a2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb665ed5e7f89e9c5, rs 0xb665ed5e7f89e9a2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd1799c33, rs 0xffffffffd1799b34, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd1799b33, rs 0xffffffffd1799b34, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd1799b57, rs 0xffffffffd1799b34, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x15da9474b7a8d6e3, rs 0x15da9474b7a8d5e4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x15da9474b7a8d5e3, rs 0x15da9474b7a8d5e4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x15da9474b7a8d607, rs 0x15da9474b7a8d5e4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffdc3abeec, rs 0xffffffffdc3abded, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffdc3abdec, rs 0xffffffffdc3abded, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffdc3abe10, rs 0xffffffffdc3abded, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf6b3537d2af910cb, rs 0xf6b3537d2af90fcc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf6b3537d2af90fcb, rs 0xf6b3537d2af90fcc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf6b3537d2af90fef, rs 0xf6b3537d2af90fcc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd8fba159, rs 0xffffffffd8fba05a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd8fba059, rs 0xffffffffd8fba05a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd8fba07d, rs 0xffffffffd8fba05a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x223d7cfe2b961996, rs 0x223d7cfe2b961897, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x223d7cfe2b961896, rs 0x223d7cfe2b961897, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x223d7cfe2b9618ba, rs 0x223d7cfe2b961897, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x690ce1ed, rs 0x690ce0ee, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x690ce0ed, rs 0x690ce0ee, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x690ce111, rs 0x690ce0ee, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x420b34f533734b4a, rs 0x420b34f533734a4b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x420b34f533734a4a, rs 0x420b34f533734a4b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x420b34f533734a6e, rs 0x420b34f533734a4b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6dcdfe58, rs 0x6dcdfd59, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6dcdfd58, rs 0x6dcdfd59, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6dcdfd7c, rs 0x6dcdfd59, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x897c8c8ddd46b43b, rs 0x897c8c8ddd46b33c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x897c8c8ddd46b33b, rs 0x897c8c8ddd46b33c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x897c8c8ddd46b35f, rs 0x897c8c8ddd46b33c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x608edc7f, rs 0x608edb80, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x608edb7f, rs 0x608edb80, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x608edba3, rs 0x608edb80, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7a387445e392cdd8, rs 0x7a387445e392ccd9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7a387445e392ccd8, rs 0x7a387445e392ccd9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7a387445e392ccfc, rs 0x7a387445e392ccd9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x644fc736, rs 0x644fc637, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x644fc636, rs 0x644fc637, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x644fc65a, rs 0x644fc637, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x512f29b1d80001c8, rs 0x512f29b1d80000c9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x512f29b1d80000c8, rs 0x512f29b1d80000c9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x512f29b1d80000ec, rs 0x512f29b1d80000c9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7a089731, rs 0x7a089632, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7a089631, rs 0x7a089632, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7a089655, rs 0x7a089632, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xeaded5c53dad0309, rs 0xeaded5c53dad020a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xeaded5c53dad0209, rs 0xeaded5c53dad020a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xeaded5c53dad022d, rs 0xeaded5c53dad020a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7ec98c84, rs 0x7ec98b85, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7ec98b84, rs 0x7ec98b85, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7ec98ba8, rs 0x7ec98b85, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8a6229d731eea45a, rs 0x8a6229d731eea35b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8a6229d731eea35a, rs 0x8a6229d731eea35b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8a6229d731eea37e, rs 0x8a6229d731eea35b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x738aae5b, rs 0x738aad5c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x738aad5b, rs 0x738aad5c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x738aad7f, rs 0x738aad5c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2c3c3f9e48985748, rs 0x2c3c3f9e48985649, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2c3c3f9e48985648, rs 0x2c3c3f9e48985649, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2c3c3f9e4898566c, rs 0x2c3c3f9e48985649, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x774bb1ea, rs 0x774bb0eb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x774bb0ea, rs 0x774bb0eb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x774bb10e, rs 0x774bb0eb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7ff61e78dc9c0c76, rs 0x7ff61e78dc9c0b77, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7ff61e78dc9c0b76, rs 0x7ff61e78dc9c0b77, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7ff61e78dc9c0b9a, rs 0x7ff61e78dc9c0b77, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4f040e55, rs 0x4f040d56, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4f040d55, rs 0x4f040d56, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4f040d79, rs 0x4f040d56, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2299b0e01d5e69eb, rs 0x2299b0e01d5e68ec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2299b0e01d5e68eb, rs 0x2299b0e01d5e68ec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2299b0e01d5e690f, rs 0x2299b0e01d5e68ec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4bc511e0, rs 0x4bc510e1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4bc510e0, rs 0x4bc510e1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4bc51104, rs 0x4bc510e1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7c3b04673d0c6f24, rs 0x7c3b04673d0c6e25, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7c3b04673d0c6e24, rs 0x7c3b04673d0c6e25, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7c3b04673d0c6e48, rs 0x7c3b04673d0c6e25, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x46863737, rs 0x46863638, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x46863637, rs 0x46863638, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4686365b, rs 0x46863638, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x164e17c1e7fb6686, rs 0x164e17c1e7fb6587, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x164e17c1e7fb6586, rs 0x164e17c1e7fb6587, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x164e17c1e7fb65aa, rs 0x164e17c1e7fb6587, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x42472c8e, rs 0x42472b8f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x42472b8e, rs 0x42472b8f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x42472bb2, rs 0x42472b8f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfa4ca28b56d4960a, rs 0xfa4ca28b56d4950b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfa4ca28b56d4950a, rs 0xfa4ca28b56d4950b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfa4ca28b56d4952e, rs 0xfa4ca28b56d4950b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5c007c89, rs 0x5c007b8a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5c007b89, rs 0x5c007b8a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5c007bad, rs 0x5c007b8a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe5e9a314be7fa189, rs 0xe5e9a314be7fa08a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe5e9a314be7fa089, rs 0xe5e9a314be7fa08a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe5e9a314be7fa0ad, rs 0xe5e9a314be7fa08a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x58c1673c, rs 0x58c1663d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x58c1663c, rs 0x58c1663d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x58c16660, rs 0x58c1663d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf8be816415964ac4, rs 0xf8be8164159649c5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf8be8164159649c4, rs 0xf8be8164159649c5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf8be8164159649e8, rs 0xf8be8164159649c5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x558241e3, rs 0x558240e4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x558240e3, rs 0x558240e4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x55824107, rs 0x558240e4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7ca3259784e69c16, rs 0x7ca3259784e69b17, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7ca3259784e69b16, rs 0x7ca3259784e69b17, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7ca3259784e69b3a, rs 0x7ca3259784e69b17, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x51435e52, rs 0x51435d53, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x51435d52, rs 0x51435d53, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x51435d76, rs 0x51435d53, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfc8d543ca1f2505b, rs 0xfc8d543ca1f24f5c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfc8d543ca1f24f5b, rs 0xfc8d543ca1f24f5c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfc8d543ca1f24f7f, rs 0xfc8d543ca1f24f5c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x251d3c9d, rs 0x251d3b9e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x251d3b9d, rs 0x251d3b9e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x251d3bc1, rs 0x251d3b9e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4aeb6ca0e3459f35, rs 0x4aeb6ca0e3459e36, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4aeb6ca0e3459e35, rs 0x4aeb6ca0e3459e36, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4aeb6ca0e3459e59, rs 0x4aeb6ca0e3459e36, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x21dc2728, rs 0x21dc2629, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x21dc2628, rs 0x21dc2629, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x21dc264c, rs 0x21dc2629, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc532e18e187981f9, rs 0xc532e18e187980fa, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc532e18e187980f9, rs 0xc532e18e187980fa, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc532e18e1879811d, rs 0xc532e18e187980fa, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2c9f01ef, rs 0x2c9f00f0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2c9f00ef, rs 0x2c9f00f0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2c9f0113, rs 0x2c9f00f0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb3fdec294f287e1b, rs 0xb3fdec294f287d1c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb3fdec294f287d1b, rs 0xb3fdec294f287d1c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb3fdec294f287d3f, rs 0xb3fdec294f287d1c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x285e1e46, rs 0x285e1d47, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x285e1d46, rs 0x285e1d47, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x285e1d6a, rs 0x285e1d47, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb620660a49732c8f, rs 0xb620660a49732b90, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb620660a49732b8f, rs 0xb620660a49732b90, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb620660a49732bb3, rs 0xb620660a49732b90, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x36194e41, rs 0x36194d42, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x36194d41, rs 0x36194d42, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x36194d65, rs 0x36194d42, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x993138f16cfdea90, rs 0x993138f16cfde991, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x993138f16cfde990, rs 0x993138f16cfde991, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x993138f16cfde9b4, rs 0x993138f16cfde991, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x32d851f4, rs 0x32d850f5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x32d850f4, rs 0x32d850f5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x32d85118, rs 0x32d850f5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xde02d1337d5408b8, rs 0xde02d1337d5407b9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xde02d1337d5407b8, rs 0xde02d1337d5407b9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xde02d1337d5407dc, rs 0xde02d1337d5407b9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3f9b772b, rs 0x3f9b762c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3f9b762b, rs 0x3f9b762c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3f9b764f, rs 0x3f9b762c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x13a390e1e1dab259, rs 0x13a390e1e1dab15a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x13a390e1e1dab159, rs 0x13a390e1e1dab15a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x13a390e1e1dab17d, rs 0x13a390e1e1dab15a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3b5a6c9a, rs 0x3b5a6b9b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3b5a6b9a, rs 0x3b5a6b9b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3b5a6bbe, rs 0x3b5a6b9b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x743491a6828717c7, rs 0x743491a6828716c8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x743491a6828716c7, rs 0x743491a6828716c8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x743491a6828716eb, rs 0x743491a6828716c8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x315d725, rs 0x315d626, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x315d625, rs 0x315d626, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x315d649, rs 0x315d626, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8cff404aede293f1, rs 0x8cff404aede292f2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8cff404aede292f1, rs 0x8cff404aede292f2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8cff404aede29315, rs 0x8cff404aede292f2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7d4cc90, rs 0x7d4cb91, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7d4cb90, rs 0x7d4cb91, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7d4cbb4, rs 0x7d4cb91, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb9cec0db1f837735, rs 0xb9cec0db1f837636, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb9cec0db1f837635, rs 0xb9cec0db1f837636, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb9cec0db1f837659, rs 0xb9cec0db1f837636, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa97ee47, rs 0xa97ed48, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa97ed47, rs 0xa97ed48, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa97ed6b, rs 0xa97ed48, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2eaa5aa70509781b, rs 0x2eaa5aa70509771c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2eaa5aa70509771b, rs 0x2eaa5aa70509771c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2eaa5aa70509773f, rs 0x2eaa5aa70509771c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe56f1fe, rs 0xe56f0ff, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe56f0fe, rs 0xe56f0ff, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe56f122, rs 0xe56f0ff, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd327538e1875251a, rs 0xd327538e1875241b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd327538e1875241a, rs 0xd327538e1875241b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd327538e1875243e, rs 0xd327538e1875241b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1011a1f9, rs 0x1011a0fa, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1011a0f9, rs 0x1011a0fa, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1011a11d, rs 0x1011a0fa, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x42e9f8548b739c6a, rs 0x42e9f8548b739b6b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x42e9f8548b739b6a, rs 0x42e9f8548b739b6b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x42e9f8548b739b8e, rs 0x42e9f8548b739b6b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x14d0be4c, rs 0x14d0bd4d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x14d0bd4c, rs 0x14d0bd4d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x14d0bd70, rs 0x14d0bd4d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x78e4e50ceccbbb19, rs 0x78e4e50ceccbba1a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x78e4e50ceccbba19, rs 0x78e4e50ceccbba1a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x78e4e50ceccbba3d, rs 0x78e4e50ceccbba1a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x19939c93, rs 0x19939b94, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x19939b93, rs 0x19939b94, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x19939bb7, rs 0x19939b94, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf6b6fa3fcd9d28ca, rs 0xf6b6fa3fcd9d27cb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf6b6fa3fcd9d27ca, rs 0xf6b6fa3fcd9d27cb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf6b6fa3fcd9d27ee, rs 0xf6b6fa3fcd9d27cb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1d528722, rs 0x1d528623, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1d528622, rs 0x1d528623, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1d528646, rs 0x1d528623, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x73916483ae3e9522, rs 0x73916483ae3e9423, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x73916483ae3e9422, rs 0x73916483ae3e9423, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x73916483ae3e9446, rs 0x73916483ae3e9423, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff12f570d, rs 0xfffffffff12f560e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff12f560d, rs 0xfffffffff12f560e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff12f5631, rs 0xfffffffff12f560e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x276af70a0e128660, rs 0x276af70a0e128561, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x276af70a0e128560, rs 0x276af70a0e128561, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x276af70a0e128584, rs 0x276af70a0e128561, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff5ee4cb8, rs 0xfffffffff5ee4bb9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff5ee4bb8, rs 0xfffffffff5ee4bb9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff5ee4bdc, rs 0xfffffffff5ee4bb9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3045bf6b5e74c6d, rs 0x3045bf6b5e74b6e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3045bf6b5e74b6d, rs 0x3045bf6b5e74b6e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3045bf6b5e74b91, rs 0x3045bf6b5e74b6e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff8ad6e5f, rs 0xfffffffff8ad6d60, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff8ad6d5f, rs 0xfffffffff8ad6d60, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff8ad6d83, rs 0xfffffffff8ad6d60, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x20223f1308acd0a5, rs 0x20223f1308accfa6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x20223f1308accfa5, rs 0x20223f1308accfa6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x20223f1308accfc9, rs 0x20223f1308accfa6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffffc6c71d6, rs 0xfffffffffc6c70d7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffffc6c70d6, rs 0xfffffffffc6c70d7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffffc6c70fa, rs 0xfffffffffc6c70d7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf83c55743976b6f4, rs 0xf83c55743976b5f5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf83c55743976b5f4, rs 0xf83c55743976b5f5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf83c55743976b618, rs 0xf83c55743976b5f5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe22b21d1, rs 0xffffffffe22b20d2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe22b20d1, rs 0xffffffffe22b20d2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe22b20f5, rs 0xffffffffe22b20d2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1f9720f946923d3c, rs 0x1f9720f946923c3d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1f9720f946923c3c, rs 0x1f9720f946923c3d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1f9720f946923c60, rs 0x1f9720f946923c3d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe6ea3e64, rs 0xffffffffe6ea3d65, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe6ea3d64, rs 0xffffffffe6ea3d65, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe6ea3d88, rs 0xffffffffe6ea3d65, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x620d28506d2449dc, rs 0x620d28506d2448dd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x620d28506d2448dc, rs 0x620d28506d2448dd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x620d28506d244900, rs 0x620d28506d2448dd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffeba91cbb, rs 0xffffffffeba91bbc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffeba91bbb, rs 0xffffffffeba91bbc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffeba91bdf, rs 0xffffffffeba91bbc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x60a521e99ff4a831, rs 0x60a521e99ff4a732, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x60a521e99ff4a731, rs 0x60a521e99ff4a732, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x60a521e99ff4a755, rs 0x60a521e99ff4a732, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffef68070a, rs 0xffffffffef68060b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffef68060a, rs 0xffffffffef68060b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffef68062e, rs 0xffffffffef68060b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5a08f3ab5c68100a, rs 0x5a08f3ab5c680f0b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5a08f3ab5c680f0a, rs 0x5a08f3ab5c680f0b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5a08f3ab5c680f2e, rs 0x5a08f3ab5c680f0b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd727bcb5, rs 0xffffffffd727bbb6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd727bbb5, rs 0xffffffffd727bbb6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd727bbd9, rs 0xffffffffd727bbb6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc7a59be7800f3e25, rs 0xc7a59be7800f3d26, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc7a59be7800f3d25, rs 0xc7a59be7800f3d26, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc7a59be7800f3d49, rs 0xc7a59be7800f3d26, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd3e6a700, rs 0xffffffffd3e6a601, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd3e6a600, rs 0xffffffffd3e6a601, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd3e6a624, rs 0xffffffffd3e6a601, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1aecdf2982ca1c40, rs 0x1aecdf2982ca1b41, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1aecdf2982ca1b40, rs 0x1aecdf2982ca1b41, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1aecdf2982ca1b64, rs 0x1aecdf2982ca1b41, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffdea581d7, rs 0xffffffffdea580d8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffdea580d7, rs 0xffffffffdea580d8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffdea580fb, rs 0xffffffffdea580d8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2b8613a260d19ecc, rs 0x2b8613a260d19dcd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2b8613a260d19dcc, rs 0x2b8613a260d19dcd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2b8613a260d19df0, rs 0x2b8613a260d19dcd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffda649e6e, rs 0xffffffffda649d6f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffda649d6e, rs 0xffffffffda649d6f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffda649d92, rs 0xffffffffda649d6f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2518ac8b0e8bbf7e, rs 0x2518ac8b0e8bbe7f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2518ac8b0e8bbe7e, rs 0x2518ac8b0e8bbe7f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2518ac8b0e8bbea2, rs 0x2518ac8b0e8bbe7f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc423ce69, rs 0xffffffffc423cd6a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc423cd69, rs 0xffffffffc423cd6a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc423cd8d, rs 0xffffffffc423cd6a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x743e568d2fcf496a, rs 0x743e568d2fcf486b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x743e568d2fcf486a, rs 0x743e568d2fcf486b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x743e568d2fcf488e, rs 0x743e568d2fcf486b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x126f646f34c31827, rs 0x126f646f34c31728, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x126f646f34c31727, rs 0x126f646f34c31728, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x126f646f34c3174b, rs 0x126f646f34c31728, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffcda1f703, rs 0xffffffffcda1f604, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffcda1f603, rs 0xffffffffcda1f604, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffcda1f627, rs 0xffffffffcda1f604, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xaab0196156fc4e11, rs 0xaab0196156fc4d12, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xaab0196156fc4d11, rs 0xaab0196156fc4d12, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xaab0196156fc4d35, rs 0xaab0196156fc4d12, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7535cd338595d441, rs 0x7535cd338595d342, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7535cd338595d341, rs 0x7535cd338595d342, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7535cd338595d365, rs 0x7535cd338595d342, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbd3e8e7d, rs 0xffffffffbd3e8d7e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbd3e8d7d, rs 0xffffffffbd3e8d7e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbd3e8da1, rs 0xffffffffbd3e8d7e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xdfb254da422347eb, rs 0xdfb254da422346ec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xdfb254da422346eb, rs 0xdfb254da422346ec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xdfb254da4223470f, rs 0xdfb254da422346ec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb9ff91c8, rs 0xffffffffb9ff90c9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb9ff90c8, rs 0xffffffffb9ff90c9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb9ff90ec, rs 0xffffffffb9ff90c9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa86726c90081ac29, rs 0xa86726c90081ab2a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa86726c90081ab29, rs 0xa86726c90081ab2a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa86726c90081ab4d, rs 0xa86726c90081ab2a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb4bcb70f, rs 0xffffffffb4bcb610, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb4bcb60f, rs 0xffffffffb4bcb610, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb4bcb633, rs 0xffffffffb4bcb610, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9bfeffa1679d7537, rs 0x9bfeffa1679d7438, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9bfeffa1679d7437, rs 0x9bfeffa1679d7438, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9bfeffa1679d745b, rs 0x9bfeffa1679d7438, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb07daca6, rs 0xffffffffb07daba7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb07daba6, rs 0xffffffffb07daba7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb07dabca, rs 0xffffffffb07daba7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc7699826b7dee343, rs 0xc7699826b7dee244, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc7699826b7dee243, rs 0xc7699826b7dee244, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc7699826b7dee267, rs 0xc7699826b7dee244, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffae3afca1, rs 0xffffffffae3afba2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffae3afba1, rs 0xffffffffae3afba2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffae3afbc5, rs 0xffffffffae3afba2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3c07af97fba67149, rs 0x3c07af97fba6704a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3c07af97fba67049, rs 0x3c07af97fba6704a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3c07af97fba6706d, rs 0x3c07af97fba6704a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffaafbe714, rs 0xffffffffaafbe615, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffaafbe614, rs 0xffffffffaafbe615, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffaafbe638, rs 0xffffffffaafbe615, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x521364dc04c58cfd, rs 0x521364dc04c58bfe, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x521364dc04c58bfd, rs 0x521364dc04c58bfe, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x521364dc04c58c21, rs 0x521364dc04c58bfe, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa7b8c1cb, rs 0xffffffffa7b8c0cc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa7b8c0cb, rs 0xffffffffa7b8c0cc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa7b8c0ef, rs 0xffffffffa7b8c0cc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe0f7bb589ab7afbb, rs 0xe0f7bb589ab7aebc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe0f7bb589ab7aebb, rs 0xe0f7bb589ab7aebc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe0f7bb589ab7aedf, rs 0xe0f7bb589ab7aebc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa379de7a, rs 0xffffffffa379dd7b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa379dd7a, rs 0xffffffffa379dd7b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa379dd9e, rs 0xffffffffa379dd7b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe336c60cdeeb964c, rs 0xe336c60cdeeb954d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe336c60cdeeb954c, rs 0xe336c60cdeeb954d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe336c60cdeeb9570, rs 0xe336c60cdeeb954d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9b3661c5, rs 0xffffffff9b3660c6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9b3660c5, rs 0xffffffff9b3660c6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9b3660e9, rs 0xffffffff9b3660c6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd5b2120c6f52426d, rs 0xd5b2120c6f52416e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd5b2120c6f52416d, rs 0xd5b2120c6f52416e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd5b2120c6f524191, rs 0xd5b2120c6f52416e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9ff77e70, rs 0xffffffff9ff77d71, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9ff77d70, rs 0xffffffff9ff77d71, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9ff77d94, rs 0xffffffff9ff77d71, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x85a2d4ff7e628b33, rs 0x85a2d4ff7e628a34, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x85a2d4ff7e628a33, rs 0x85a2d4ff7e628a34, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x85a2d4ff7e628a57, rs 0x85a2d4ff7e628a34, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff92b45ca7, rs 0xffffffff92b45ba8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff92b45ba7, rs 0xffffffff92b45ba8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff92b45bcb, rs 0xffffffff92b45ba8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x986a2b654a4e7f06, rs 0x986a2b654a4e7e07, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x986a2b654a4e7e06, rs 0x986a2b654a4e7e07, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x986a2b654a4e7e2a, rs 0x986a2b654a4e7e07, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9675471e, rs 0xffffffff9675461f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9675461e, rs 0xffffffff9675461f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff96754642, rs 0xffffffff9675461f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa974eac43a489c54, rs 0xa974eac43a489b55, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa974eac43a489b54, rs 0xa974eac43a489b55, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa974eac43a489b78, rs 0xa974eac43a489b55, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff88321719, rs 0xffffffff8832161a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff88321619, rs 0xffffffff8832161a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8832163d, rs 0xffffffff8832161a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa388c16272f1f9f4, rs 0xa388c16272f1f8f5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa388c16272f1f8f4, rs 0xa388c16272f1f8f5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa388c16272f1f918, rs 0xa388c16272f1f8f5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8cf30cac, rs 0xffffffff8cf30bad, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8cf30bac, rs 0xffffffff8cf30bad, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8cf30bd0, rs 0xffffffff8cf30bad, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe8c11f45e7495fa8, rs 0xe8c11f45e7495ea9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe8c11f45e7495ea8, rs 0xe8c11f45e7495ea9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe8c11f45e7495ecc, rs 0xe8c11f45e7495ea9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff81b02e73, rs 0xffffffff81b02d74, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff81b02d73, rs 0xffffffff81b02d74, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff81b02d97, rs 0xffffffff81b02d74, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xadaa5a765cc1c9b3, rs 0xadaa5a765cc1c8b4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xadaa5a765cc1c8b3, rs 0xadaa5a765cc1c8b4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xadaa5a765cc1c8d7, rs 0xadaa5a765cc1c8b4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff857131c2, rs 0xffffffff857130c3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff857130c2, rs 0xffffffff857130c3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff857130e6, rs 0xffffffff857130c3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7ab4ce88dfa606bf, rs 0x7ab4ce88dfa605c0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7ab4ce88dfa605bf, rs 0x7ab4ce88dfa605c0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7ab4ce88dfa605e3, rs 0x7ab4ce88dfa605c0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5d8a9198, rs 0x5d8a9099, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5d8a9098, rs 0x5d8a9099, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5d8a90bc, rs 0x5d8a9099, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb42ad6e659a7b14e, rs 0xb42ad6e659a7b04f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb42ad6e659a7b04e, rs 0xb42ad6e659a7b04f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb42ad6e659a7b072, rs 0xb42ad6e659a7b04f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x594b8e2d, rs 0x594b8d2e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x594b8d2d, rs 0x594b8d2e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x594b8d51, rs 0x594b8d2e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4bf8485ab728932e, rs 0x4bf8485ab728922f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4bf8485ab728922e, rs 0x4bf8485ab728922f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4bf8485ab7289252, rs 0x4bf8485ab728922f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5408acf6, rs 0x5408abf7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5408abf6, rs 0x5408abf7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5408ac1a, rs 0x5408abf7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x76a3d60c3b66a8fa, rs 0x76a3d60c3b66a7fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x76a3d60c3b66a7fa, rs 0x76a3d60c3b66a7fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x76a3d60c3b66a81e, rs 0x76a3d60c3b66a7fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x50c9b73f, rs 0x50c9b640, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x50c9b63f, rs 0x50c9b640, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x50c9b663, rs 0x50c9b640, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x31e0c6affdc28fd9, rs 0x31e0c6affdc28eda, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x31e0c6affdc28ed9, rs 0x31e0c6affdc28eda, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x31e0c6affdc28efd, rs 0x31e0c6affdc28eda, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4e8ee744, rs 0x4e8ee645, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4e8ee644, rs 0x4e8ee645, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4e8ee668, rs 0x4e8ee645, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x53606bb4bf0c9a9c, rs 0x53606bb4bf0c999d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x53606bb4bf0c999c, rs 0x53606bb4bf0c999d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x53606bb4bf0c99c0, rs 0x53606bb4bf0c999d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4a4ffcf1, rs 0x4a4ffbf2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4a4ffbf1, rs 0x4a4ffbf2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4a4ffc15, rs 0x4a4ffbf2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x32fc12c81b791aef, rs 0x32fc12c81b7919f0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x32fc12c81b7919ef, rs 0x32fc12c81b7919f0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x32fc12c81b791a13, rs 0x32fc12c81b7919f0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x470cde2a, rs 0x470cdd2b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x470cdd2a, rs 0x470cdd2b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x470cdd4e, rs 0x470cdd2b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3ef88384c72efdd5, rs 0x3ef88384c72efcd6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3ef88384c72efcd5, rs 0x3ef88384c72efcd6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3ef88384c72efcf9, rs 0x3ef88384c72efcd6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x43cdc19b, rs 0x43cdc09c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x43cdc09b, rs 0x43cdc09c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x43cdc0bf, rs 0x43cdc09c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x38b1c7bb6a2a367f, rs 0x38b1c7bb6a2a3580, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x38b1c7bb6a2a357f, rs 0x38b1c7bb6a2a3580, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x38b1c7bb6a2a35a3, rs 0x38b1c7bb6a2a3580, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7b827e20, rs 0x7b827d21, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7b827d20, rs 0x7b827d21, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7b827d44, rs 0x7b827d21, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x15ebf6121dca78c8, rs 0x15ebf6121dca77c9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x15ebf6121dca77c8, rs 0x15ebf6121dca77c9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x15ebf6121dca77ec, rs 0x15ebf6121dca77c9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7f436195, rs 0x7f436096, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7f436095, rs 0x7f436096, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7f4360b9, rs 0x7f436096, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5eaacdd9fd9148ad, rs 0x5eaacdd9fd9147ae, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5eaacdd9fd9147ad, rs 0x5eaacdd9fd9147ae, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5eaacdd9fd9147d1, rs 0x5eaacdd9fd9147ae, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7200474e, rs 0x7200464f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7200464e, rs 0x7200464f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x72004672, rs 0x7200464f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbb8470f981e91216, rs 0xbb8470f981e91117, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbb8470f981e91116, rs 0xbb8470f981e91117, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbb8470f981e9113a, rs 0xbb8470f981e91117, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x76c15cf7, rs 0x76c15bf8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x76c15bf7, rs 0x76c15bf8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x76c15c1b, rs 0x76c15bf8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5d42aeac6a533df, rs 0x5d42aeac6a532e0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5d42aeac6a532df, rs 0x5d42aeac6a532e0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5d42aeac6a53303, rs 0x5d42aeac6a532e0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x68860cfc, rs 0x68860bfd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x68860bfc, rs 0x68860bfd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x68860c20, rs 0x68860bfd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x14abf36419fb9f62, rs 0x14abf36419fb9e63, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x14abf36419fb9e62, rs 0x14abf36419fb9e63, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x14abf36419fb9e86, rs 0x14abf36419fb9e63, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6c471749, rs 0x6c47164a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6c471649, rs 0x6c47164a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6c47166d, rs 0x6c47164a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x249d559aa8d72bab, rs 0x249d559aa8d72aac, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x249d559aa8d72aab, rs 0x249d559aa8d72aac, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x249d559aa8d72acf, rs 0x249d559aa8d72aac, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x61043192, rs 0x61043093, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x61043092, rs 0x61043093, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x610430b6, rs 0x61043093, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xcd6764f084b31eb, rs 0xcd6764f084b30ec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xcd6764f084b30eb, rs 0xcd6764f084b30ec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xcd6764f084b310f, rs 0xcd6764f084b30ec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x65c52e23, rs 0x65c52d24, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x65c52d23, rs 0x65c52d24, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x65c52d47, rs 0x65c52d24, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7f03ac07924690de, rs 0x7f03ac0792468fdf, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7f03ac0792468fde, rs 0x7f03ac0792468fdf, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7f03ac0792469002, rs 0x7f03ac0792468fdf, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x119b4ce8, rs 0x119b4be9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x119b4be8, rs 0x119b4be9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x119b4c0c, rs 0x119b4be9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7e35ce6d56e671f4, rs 0x7e35ce6d56e670f5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7e35ce6d56e670f4, rs 0x7e35ce6d56e670f5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7e35ce6d56e67118, rs 0x7e35ce6d56e670f5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x155a575d, rs 0x155a565e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x155a565d, rs 0x155a565e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x155a5681, rs 0x155a565e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x152828591a652810, rs 0x152828591a652711, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x152828591a652710, rs 0x152828591a652711, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x152828591a652734, rs 0x152828591a652711, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x18197186, rs 0x18197087, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x18197086, rs 0x18197087, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x181970aa, rs 0x18197087, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9e1c3283d215aafa, rs 0x9e1c3283d215a9fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9e1c3283d215a9fa, rs 0x9e1c3283d215a9fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9e1c3283d215aa1e, rs 0x9e1c3283d215a9fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1cd86e2f, rs 0x1cd86d30, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1cd86d2f, rs 0x1cd86d30, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1cd86d53, rs 0x1cd86d30, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8d95c049282a0516, rs 0x8d95c049282a0417, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8d95c049282a0416, rs 0x8d95c049282a0417, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8d95c049282a043a, rs 0x8d95c049282a0417, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x29f3e34, rs 0x29f3d35, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x29f3d34, rs 0x29f3d35, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x29f3d58, rs 0x29f3d35, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf2e7a490978059f2, rs 0xf2e7a490978058f3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf2e7a490978058f2, rs 0xf2e7a490978058f3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf2e7a49097805916, rs 0xf2e7a490978058f3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x65e2181, rs 0x65e2082, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x65e2081, rs 0x65e2082, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x65e20a5, rs 0x65e2082, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x775b4cca0975b2a9, rs 0x775b4cca0975b1aa, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x775b4cca0975b1a9, rs 0x775b4cca0975b1aa, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x775b4cca0975b1cd, rs 0x775b4cca0975b1aa, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb1d075a, rs 0xb1d065b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb1d065a, rs 0xb1d065b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb1d067e, rs 0xb1d065b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa2b84a63511111f, rs 0xa2b84a635111020, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa2b84a63511101f, rs 0xa2b84a635111020, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa2b84a635111043, rs 0xa2b84a635111020, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfdc1ceb, rs 0xfdc1bec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfdc1beb, rs 0xfdc1bec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfdc1c0f, rs 0xfdc1bec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x23fa0d3a7d88c6e, rs 0x23fa0d3a7d88b6f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x23fa0d3a7d88b6e, rs 0x23fa0d3a7d88b6f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23fa0d3a7d88b92, rs 0x23fa0d3a7d88b6f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3793a750, rs 0x3793a651, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3793a650, rs 0x3793a651, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3793a674, rs 0x3793a651, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa3d991b79941dfdc, rs 0xa3d991b79941dedd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa3d991b79941dedc, rs 0xa3d991b79941dedd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa3d991b79941df00, rs 0xa3d991b79941dedd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3352bce5, rs 0x3352bbe6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3352bbe5, rs 0x3352bbe6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3352bc09, rs 0x3352bbe6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x751cb4835a0d9607, rs 0x751cb4835a0d9508, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x751cb4835a0d9507, rs 0x751cb4835a0d9508, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x751cb4835a0d952b, rs 0x751cb4835a0d9508, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3e119e3e, rs 0x3e119d3f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3e119d3e, rs 0x3e119d3f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3e119d62, rs 0x3e119d3f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x949cad35625bb3d2, rs 0x949cad35625bb2d3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x949cad35625bb2d2, rs 0x949cad35625bb2d3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x949cad35625bb2f6, rs 0x949cad35625bb2d3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3ad08187, rs 0x3ad08088, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3ad08087, rs 0x3ad08088, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3ad080ab, rs 0x3ad08088, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7f567f35a6929838, rs 0x7f567f35a6929739, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7f567f35a6929738, rs 0x7f567f35a6929739, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7f567f35a692975c, rs 0x7f567f35a6929739, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2497d18c, rs 0x2497d08d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2497d08c, rs 0x2497d08d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2497d0b0, rs 0x2497d08d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x185b88e0db8d7e26, rs 0x185b88e0db8d7d27, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x185b88e0db8d7d26, rs 0x185b88e0db8d7d27, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x185b88e0db8d7d4a, rs 0x185b88e0db8d7d27, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2056ce39, rs 0x2056cd3a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2056cd39, rs 0x2056cd3a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2056cd5d, rs 0x2056cd3a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x255a4cd22fd61c90, rs 0x255a4cd22fd61b91, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x255a4cd22fd61b90, rs 0x255a4cd22fd61b91, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x255a4cd22fd61bb4, rs 0x255a4cd22fd61b91, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2d15ece2, rs 0x2d15ebe3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2d15ebe2, rs 0x2d15ebe3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2d15ec06, rs 0x2d15ebe3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1048d589a436407a, rs 0x1048d589a4363f7b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1048d589a4363f7a, rs 0x1048d589a4363f7b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1048d589a4363f9e, rs 0x1048d589a4363f7b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x29d4f753, rs 0x29d4f654, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x29d4f653, rs 0x29d4f654, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x29d4f677, rs 0x29d4f654, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6a6d5708f460588f, rs 0x6a6d5708f4605790, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6a6d5708f460578f, rs 0x6a6d5708f4605790, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6a6d5708f46057b3, rs 0x6a6d5708f4605790, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc5a92778, rs 0xffffffffc5a92679, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc5a92678, rs 0xffffffffc5a92679, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc5a9269c, rs 0xffffffffc5a92679, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd58ecbabde356a7e, rs 0xd58ecbabde35697f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd58ecbabde35697e, rs 0xd58ecbabde35697f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd58ecbabde3569a2, rs 0xd58ecbabde35697f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc1683ccd, rs 0xffffffffc1683bce, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc1683bcd, rs 0xffffffffc1683bce, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc1683bf1, rs 0xffffffffc1683bce, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x575548fd08c0a6f0, rs 0x575548fd08c0a5f1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x575548fd08c0a5f0, rs 0x575548fd08c0a5f1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x575548fd08c0a614, rs 0x575548fd08c0a5f1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffcc2b1e16, rs 0xffffffffcc2b1d17, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffcc2b1d16, rs 0xffffffffcc2b1d17, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffcc2b1d3a, rs 0xffffffffcc2b1d17, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8bb640fb8ed98eda, rs 0x8bb640fb8ed98ddb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8bb640fb8ed98dda, rs 0x8bb640fb8ed98ddb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8bb640fb8ed98dfe, rs 0x8bb640fb8ed98ddb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc8ea019f, rs 0xffffffffc8ea00a0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc8ea009f, rs 0xffffffffc8ea00a0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc8ea00c3, rs 0xffffffffc8ea00a0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbe00d51eabc579cb, rs 0xbe00d51eabc578cc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbe00d51eabc578cb, rs 0xbe00d51eabc578cc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbe00d51eabc578ef, rs 0xbe00d51eabc578cc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd6ad51a4, rs 0xffffffffd6ad50a5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd6ad50a4, rs 0xffffffffd6ad50a5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd6ad50c8, rs 0xffffffffd6ad50a5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2f7e224a1c170bb1, rs 0x2f7e224a1c170ab2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2f7e224a1c170ab1, rs 0x2f7e224a1c170ab2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2f7e224a1c170ad5, rs 0x2f7e224a1c170ab2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd26c4e11, rs 0xffffffffd26c4d12, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd26c4d11, rs 0xffffffffd26c4d12, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd26c4d35, rs 0xffffffffd26c4d12, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa978f12ca22257a6, rs 0xa978f12ca22256a7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa978f12ca22256a6, rs 0xa978f12ca22256a7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa978f12ca22256ca, rs 0xa978f12ca22256a7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffdf2f6cca, rs 0xffffffffdf2f6bcb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffdf2f6bca, rs 0xffffffffdf2f6bcb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffdf2f6bee, rs 0xffffffffdf2f6bcb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9950a93b811ee12e, rs 0x9950a93b811ee02f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9950a93b811ee02e, rs 0x9950a93b811ee02f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9950a93b811ee052, rs 0x9950a93b811ee02f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffdbee777b, rs 0xffffffffdbee767c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffdbee767b, rs 0xffffffffdbee767c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffdbee769f, rs 0xffffffffdbee767c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb44eea93c6796b0b, rs 0xb44eea93c6796a0c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb44eea93c6796a0b, rs 0xb44eea93c6796a0c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb44eea93c6796a2f, rs 0xb44eea93c6796a0c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe3a1ccc0, rs 0xffffffffe3a1cbc1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe3a1cbc0, rs 0xffffffffe3a1cbc1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe3a1cbe4, rs 0xffffffffe3a1cbc1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfe71fca06c0eb756, rs 0xfe71fca06c0eb657, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfe71fca06c0eb656, rs 0xfe71fca06c0eb657, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfe71fca06c0eb67a, rs 0xfe71fca06c0eb657, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe760d775, rs 0xffffffffe760d676, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe760d675, rs 0xffffffffe760d676, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe760d699, rs 0xffffffffe760d676, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4ed6393df818b056, rs 0x4ed6393df818af57, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4ed6393df818af56, rs 0x4ed6393df818af57, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4ed6393df818af7a, rs 0x4ed6393df818af57, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffea23f1ae, rs 0xffffffffea23f0af, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffea23f0ae, rs 0xffffffffea23f0af, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffea23f0d2, rs 0xffffffffea23f0af, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf22e902002367809, rs 0xf22e90200236770a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf22e902002367709, rs 0xf22e90200236770a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf22e90200236772d, rs 0xf22e90200236770a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffeee2ee17, rs 0xffffffffeee2ed18, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffeee2ed17, rs 0xffffffffeee2ed18, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffeee2ed3b, rs 0xffffffffeee2ed18, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x81efb6c7afd0c55c, rs 0x81efb6c7afd0c45d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x81efb6c7afd0c45c, rs 0x81efb6c7afd0c45d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x81efb6c7afd0c480, rs 0x81efb6c7afd0c45d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff0a5be1c, rs 0xfffffffff0a5bd1d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff0a5bd1c, rs 0xfffffffff0a5bd1d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff0a5bd40, rs 0xfffffffff0a5bd1d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xeed8f3518102325a, rs 0xeed8f3518102315b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xeed8f3518102315a, rs 0xeed8f3518102315b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xeed8f3518102317e, rs 0xeed8f3518102315b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff464a1a9, rs 0xfffffffff464a0aa, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff464a0a9, rs 0xfffffffff464a0aa, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff464a0cd, rs 0xfffffffff464a0aa, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xadafefb9995efe5d, rs 0xadafefb9995efd5e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xadafefb9995efd5d, rs 0xadafefb9995efd5e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xadafefb9995efd81, rs 0xadafefb9995efd5e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff9278772, rs 0xfffffffff9278673, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff9278672, rs 0xfffffffff9278673, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff9278696, rs 0xfffffffff9278673, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x34061933eb253185, rs 0x34061933eb253086, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x34061933eb253085, rs 0x34061933eb253086, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x34061933eb2530a9, rs 0x34061933eb253086, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffffde69cc3, rs 0xfffffffffde69bc4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffffde69bc3, rs 0xfffffffffde69bc4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffffde69be7, rs 0xfffffffffde69bc4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1748da264b4c53bb, rs 0x1748da264b4c52bc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1748da264b4c52bb, rs 0x1748da264b4c52bc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1748da264b4c52df, rs 0x1748da264b4c52bc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff89b8fe08, rs 0xffffffff89b8fd09, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff89b8fd08, rs 0xffffffff89b8fd09, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff89b8fd2c, rs 0xffffffff89b8fd09, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x34fdfc9a9302bf88, rs 0x34fdfc9a9302be89, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x34fdfc9a9302be88, rs 0x34fdfc9a9302be89, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x34fdfc9a9302beac, rs 0x34fdfc9a9302be89, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8d79e1bd, rs 0xffffffff8d79e0be, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8d79e0bd, rs 0xffffffff8d79e0be, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8d79e0e1, rs 0xffffffff8d79e0be, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd00278c3c521d27f, rs 0xd00278c3c521d180, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd00278c3c521d17f, rs 0xd00278c3c521d180, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd00278c3c521d1a3, rs 0xd00278c3c521d180, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff803ac766, rs 0xffffffff803ac667, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff803ac666, rs 0xffffffff803ac667, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff803ac68a, rs 0xffffffff803ac667, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe90944a4c1d37b5c, rs 0xe90944a4c1d37a5d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe90944a4c1d37a5c, rs 0xe90944a4c1d37a5d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe90944a4c1d37a80, rs 0xe90944a4c1d37a5d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff84fbdccf, rs 0xffffffff84fbdbd0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff84fbdbcf, rs 0xffffffff84fbdbd0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff84fbdbf3, rs 0xffffffff84fbdbd0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x65fd698fddef9938, rs 0x65fd698fddef9839, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x65fd698fddef9838, rs 0x65fd698fddef9839, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x65fd698fddef985c, rs 0x65fd698fddef9839, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9abc8cd4, rs 0xffffffff9abc8bd5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9abc8bd4, rs 0xffffffff9abc8bd5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9abc8bf8, rs 0xffffffff9abc8bd5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc49ee3ad81b5b051, rs 0xc49ee3ad81b5af52, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc49ee3ad81b5af51, rs 0xc49ee3ad81b5af52, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc49ee3ad81b5af75, rs 0xc49ee3ad81b5af52, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9e7d9761, rs 0xffffffff9e7d9662, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9e7d9661, rs 0xffffffff9e7d9662, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9e7d9685, rs 0xffffffff9e7d9662, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7aa941e8bdb264e8, rs 0x7aa941e8bdb263e9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7aa941e8bdb263e8, rs 0x7aa941e8bdb263e9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7aa941e8bdb2640c, rs 0x7aa941e8bdb263e9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff933eb1ba, rs 0xffffffff933eb0bb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff933eb0ba, rs 0xffffffff933eb0bb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff933eb0de, rs 0xffffffff933eb0bb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x372c209e42f3b68c, rs 0x372c209e42f3b58d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x372c209e42f3b58c, rs 0x372c209e42f3b58d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x372c209e42f3b5b0, rs 0x372c209e42f3b58d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff97ffae0b, rs 0xffffffff97ffad0c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff97ffad0b, rs 0xffffffff97ffad0c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff97ffad2f, rs 0xffffffff97ffad0c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x30f870b7e122a93a, rs 0x30f870b7e122a83b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x30f870b7e122a83a, rs 0x30f870b7e122a83b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x30f870b7e122a85e, rs 0x30f870b7e122a83b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffafb011b0, rs 0xffffffffafb010b1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffafb010b0, rs 0xffffffffafb010b1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffafb010d4, rs 0xffffffffafb010b1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9e02de4b678931eb, rs 0x9e02de4b678930ec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9e02de4b678930eb, rs 0x9e02de4b678930ec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9e02de4b6789310f, rs 0x9e02de4b678930ec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffab710e05, rs 0xffffffffab710d06, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffab710d05, rs 0xffffffffab710d06, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffab710d29, rs 0xffffffffab710d06, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xcd61a8639826641d, rs 0xcd61a8639826631e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xcd61a8639826631d, rs 0xcd61a8639826631e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xcd61a86398266341, rs 0xcd61a8639826631e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa6322cde, rs 0xffffffffa6322bdf, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa6322bde, rs 0xffffffffa6322bdf, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa6322c02, rs 0xffffffffa6322bdf, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xae87bc899a7bd4c9, rs 0xae87bc899a7bd3ca, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xae87bc899a7bd3c9, rs 0xae87bc899a7bd3ca, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xae87bc899a7bd3ed, rs 0xae87bc899a7bd3ca, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa2f33767, rs 0xffffffffa2f33668, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa2f33667, rs 0xffffffffa2f33668, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa2f3368b, rs 0xffffffffa2f33668, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x58ec644d6481b016, rs 0x58ec644d6481af17, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x58ec644d6481af16, rs 0x58ec644d6481af17, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x58ec644d6481af3a, rs 0x58ec644d6481af17, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbcb4676c, rs 0xffffffffbcb4666d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbcb4666c, rs 0xffffffffbcb4666d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbcb46690, rs 0xffffffffbcb4666d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x680cce5fb236b765, rs 0x680cce5fb236b666, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x680cce5fb236b665, rs 0x680cce5fb236b666, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x680cce5fb236b689, rs 0x680cce5fb236b666, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb8757cd9, rs 0xffffffffb8757bda, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb8757bd9, rs 0xffffffffb8757bda, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb8757bfd, rs 0xffffffffb8757bda, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3baa99471f6d4e74, rs 0x3baa99471f6d4d75, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3baa99471f6d4d74, rs 0x3baa99471f6d4d75, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3baa99471f6d4d98, rs 0x3baa99471f6d4d75, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb5365e02, rs 0xffffffffb5365d03, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb5365d02, rs 0xffffffffb5365d03, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb5365d26, rs 0xffffffffb5365d03, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x614d9b445f12246a, rs 0x614d9b445f12236b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x614d9b445f12236a, rs 0x614d9b445f12236b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x614d9b445f12238e, rs 0x614d9b445f12236b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb1f741b3, rs 0xffffffffb1f740b4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb1f740b3, rs 0xffffffffb1f740b4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb1f740d7, rs 0xffffffffb1f740b4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa2a6ec661ba84220, rs 0xa2a6ec661ba84121, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa2a6ec661ba84120, rs 0xa2a6ec661ba84121, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa2a6ec661ba84144, rs 0xa2a6ec661ba84121, imm 0x0023
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x0, rt 0xffffffffb1f740b4
+daddu $s0, $s1, $s2 :: rd 0xa2a6ec661cd417cb, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0x0, rt 0xffffffffb5365d03
+daddu $s0, $s1, $s2 :: rd 0x61cc22a7e1e4ce7e, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0x9823b6e, rt 0xffffffffb8757bda
+daddu $s0, $s1, $s2 :: rd 0xd31807e1e2825e68, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xd4326d9, rt 0xffffffffbcb4666d
+daddu $s0, $s1, $s2 :: rd 0x1f813bd70d0d5c61, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0x130476dc, rt 0xffffffffa2f33668
+daddu $s0, $s1, $s2 :: rd 0x9b9d24efeaf96419, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+daddu $s0, $s1, $s2 :: rd 0xd93059bb38b80477, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0x1a864db2, rt 0xffffffffab710d06
+daddu $s0, $s1, $s2 :: rd 0xec9237271021a45b, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0x1e475005, rt 0xffffffffafb010b1
+daddu $s0, $s1, $s2 :: rd 0x18a3205f2eea15e3, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0x2608edb8, rt 0xffffffff97ffad0c
+daddu $s0, $s1, $s2 :: rd 0xcf68cd7cfbfb84db, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+daddu $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+daddu $s0, $s1, $s2 :: rd 0x8269fb24d9095b9a, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+daddu $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+daddu $s0, $s1, $s2 :: rd 0x8090e6c621063806, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+daddu $s0, $s1, $s2 :: rd 0xff923e4b45c18365, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+daddu $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+daddu $s0, $s1, $s2 :: rd 0xadf26ee677f839b9, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0x31cd86d3, rt 0xffffffff803ac667
+daddu $s0, $s1, $s2 :: rd 0x7e6dfc2498a57e6c, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+daddu $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+daddu $s0, $s1, $s2 :: rd 0x9ebefb3d77e93d3e, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+daddu $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+daddu $s0, $s1, $s2 :: rd 0xea0148c9b21ba350, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+daddu $t0, $t1, $t2 :: rd 0x49f87734, rs 0x4c11db70, rt 0xfffffffffde69bc4
+daddu $s0, $s1, $s2 :: rd 0xac482d22ccfbfa53, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+daddu $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+daddu $s0, $s1, $s2 :: rd 0x65def24a59218170, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+daddu $t0, $t1, $t2 :: rd 0x39f880c8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+daddu $s0, $s1, $s2 :: rd 0xe4048b901247930f, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+daddu $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+daddu $s0, $s1, $s2 :: rd 0x74b999831c6556f6, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+daddu $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0x5f15adac, rt 0xffffffffeee2ed18
+daddu $s0, $s1, $s2 :: rd 0xd75af5927cc23f22, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+daddu $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+daddu $s0, $s1, $s2 :: rd 0xa65defe584251805, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+daddu $t0, $t1, $t2 :: rd 0x3df86d38, rs 0x569796c2, rt 0xffffffffe760d676
+daddu $s0, $s1, $s2 :: rd 0x748b492a0c80dcee, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+daddu $t0, $t1, $t2 :: rd 0x35f85736, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+daddu $s0, $s1, $s2 :: rd 0xfb05c1b39909bed1, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+daddu $t0, $t1, $t2 :: rd 0x4607ad44, rs 0x6a1936c8, rt 0xffffffffdbee767c
+daddu $s0, $s1, $s2 :: rd 0xf07bc43d941b7172, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+daddu $t0, $t1, $t2 :: rd 0x4e07974a, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+daddu $s0, $s1, $s2 :: rd 0xb0e21b65fe91ba6d, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+daddu $t0, $t1, $t2 :: rd 0x36075ab8, rs 0x639b0da6, rt 0xffffffffd26c4d12
+daddu $s0, $s1, $s2 :: rd 0xb1f5bafe35f07b54, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+daddu $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0x675a1011, rt 0xffffffffd6ad50a5
+daddu $s0, $s1, $s2 :: rd 0x4ca897ba54af5984, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+daddu $t0, $t1, $t2 :: rd 0x420740b4, rs 0x791d4014, rt 0xffffffffc8ea00a0
+daddu $s0, $s1, $s2 :: rd 0x8ed145fa1cd24902, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+daddu $t0, $t1, $t2 :: rd 0x4a077aba, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+daddu $s0, $s1, $s2 :: rd 0xc5785d78921ae3df, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+daddu $t0, $t1, $t2 :: rd 0x3207b748, rs 0x709f7b7a, rt 0xffffffffc1683bce
+daddu $s0, $s1, $s2 :: rd 0xe5ea00ac978cd7bf, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+daddu $t0, $t1, $t2 :: rd 0x3a078d46, rs 0x745e66cd, rt 0xffffffffc5a92679
+daddu $s0, $s1, $s2 :: rd 0xfa7a3638fb1cd0ce, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0xffffffff9823b6e0, rt 0x29d4f654
+daddu $s0, $s1, $s2 :: rd 0x99a69c4d07373c37, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+daddu $s0, $s1, $s2 :: rd 0x36519840fb108bcf, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+daddu $s0, $s1, $s2 :: rd 0xb55b4facf8ad40c0, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0xffffffff95609039, rt 0x2497d08d
+daddu $s0, $s1, $s2 :: rd 0xe0ec5ed2ce7d221e, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+daddu $s0, $s1, $s2 :: rd 0x6ca685016f43394d, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+daddu $s0, $s1, $s2 :: rd 0xc5e43ebebbecc63f, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+daddu $s0, $s1, $s2 :: rd 0x3c0b847cf43d4bfb, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0xffffffff8664e6e5, rt 0x3793a651
+daddu $s0, $s1, $s2 :: rd 0x4be2e3c9d1cb314d, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+daddu $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+daddu $s0, $s1, $s2 :: rd 0x89b4aad8554edbaf, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xffffffffbaea46ef, rt 0xb1d065b
+daddu $s0, $s1, $s2 :: rd 0x36696d04b9cc6aa3, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0xffffffffb7a96036, rt 0x65e2082
+daddu $s0, $s1, $s2 :: rd 0x25c64c59ce7c5c11, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+daddu $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0xffffffffb3687d81, rt 0x29f3d35
+daddu $s0, $s1, $s2 :: rd 0xb358b76df86db7d6, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+daddu $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+daddu $s0, $s1, $s2 :: rd 0x525d313f5906ce71, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+daddu $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0xffffffffa9ee3033, rt 0x18197087
+daddu $s0, $s1, $s2 :: rd 0x7e085da755e2fc72, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+daddu $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0xffffffffa4ad16ea, rt 0x155a565e
+daddu $s0, $s1, $s2 :: rd 0xe8d5e27f2a5d007c, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+daddu $s0, $s1, $s2 :: rd 0xc8ea78e6daff3103, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+daddu $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0xffffffffd4326d90, rt 0x65c52d24
+daddu $s0, $s1, $s2 :: rd 0x3a8faf65a0278097, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+daddu $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0xffffffffd0f37027, rt 0x61043093
+daddu $s0, $s1, $s2 :: rd 0x4086e5a3b1cb0ddd, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+daddu $t0, $t1, $t2 :: rd 0x49f76d48, rs 0xffffffffddb056fe, rt 0x6c47164a
+daddu $s0, $s1, $s2 :: rd 0x9be094d1e8a8eb2d, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+daddu $t0, $t1, $t2 :: rd 0x41f75746, rs 0xffffffffd9714b49, rt 0x68860bfd
+daddu $s0, $s1, $s2 :: rd 0x13dccf7e31d3447, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+daddu $t0, $t1, $t2 :: rd 0x3df77744, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+daddu $s0, $s1, $s2 :: rd 0x4fd021925c56d88b, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+daddu $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0xffffffffc3f706fb, rt 0x7200464f
+daddu $s0, $s1, $s2 :: rd 0xd4bab47249b79e35, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+daddu $t0, $t1, $t2 :: rd 0x4df780b8, rs 0xffffffffceb42022, rt 0x7f436096
+daddu $s0, $s1, $s2 :: rd 0x18495bc92cc990b5, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+daddu $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0xffffffffca753d95, rt 0x7b827d21
+daddu $s0, $s1, $s2 :: rd 0x5dd6c3df75f58ac7, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+daddu $t0, $t1, $t2 :: rd 0x360840c4, rs 0xfffffffff23a8028, rt 0x43cdc09c
+daddu $s0, $s1, $s2 :: rd 0xf375009e07fc1cf, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+daddu $t0, $t1, $t2 :: rd 0x3e087aca, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+daddu $s0, $s1, $s2 :: rd 0xa06159aefbf0929d, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+daddu $t0, $t1, $t2 :: rd 0x4608b738, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+daddu $s0, $s1, $s2 :: rd 0x5fd7c51696d8df5, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+daddu $t0, $t1, $t2 :: rd 0x4e088d36, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+daddu $s0, $s1, $s2 :: rd 0x7001fc742bc7a078, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+daddu $t0, $t1, $t2 :: rd 0x3208ad34, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+daddu $s0, $s1, $s2 :: rd 0x8a10d5b29a70c814, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+daddu $t0, $t1, $t2 :: rd 0x3a08973a, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+daddu $s0, $s1, $s2 :: rd 0x113d35e817e56428, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+daddu $t0, $t1, $t2 :: rd 0x42085ac8, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+daddu $s0, $s1, $s2 :: rd 0xd68e4cd69a68ed77, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+daddu $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+daddu $s0, $s1, $s2 :: rd 0x29ea86b92ec18371, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0x34867077, rt 0xffffffff857130c3
+daddu $s0, $s1, $s2 :: rd 0x58d7d6f085d6fc6d, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0x30476dc0, rt 0xffffffff81b02d74
+daddu $s0, $s1, $s2 :: rd 0xd9b46768b2d1fb14, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0x3d044b19, rt 0xffffffff8cf30bad
+daddu $s0, $s1, $s2 :: rd 0x7d6a248a0be47798, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0x39c556ae, rt 0xffffffff8832161a
+daddu $s0, $s1, $s2 :: rd 0x9cda6117ce48f5d3, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0x278206ab, rt 0xffffffff9675461f
+daddu $s0, $s1, $s2 :: rd 0x2b4fe2e43eb0ccf0, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0x23431b1c, rt 0xffffffff92b45ba8
+daddu $s0, $s1, $s2 :: rd 0x24cbf5bfa17470f3, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+daddu $s0, $s1, $s2 :: rd 0x11387bdd40c052f3, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0x2ac12072, rt 0xffffffff9b3660c6
+daddu $s0, $s1, $s2 :: rd 0x5bef95e4a18579d, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+daddu $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+daddu $s0, $s1, $s2 :: rd 0x4aafc400993e3d9d, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+daddu $s0, $s1, $s2 :: rd 0x8df86d50752ff65b, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+daddu $s0, $s1, $s2 :: rd 0x5ae7a644ab7c6588, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+daddu $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+daddu $s0, $s1, $s2 :: rd 0x311fe7b5ca09b45d, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+daddu $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0x18aeb13, rt 0xffffffffb07daba7
+daddu $s0, $s1, $s2 :: rd 0xabcc17669d044204, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+daddu $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+daddu $s0, $s1, $s2 :: rd 0x68d29282ddcf9360, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+daddu $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0x808d07d, rt 0xffffffffb9ff90c9
+daddu $s0, $s1, $s2 :: rd 0x2afb8b5d409aa8b9, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+daddu $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+daddu $s0, $s1, $s2 :: rd 0xf585751a950c37d1, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+daddu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0xf1e551060da5c686, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+daddu $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+daddu $s0, $s1, $s2 :: rd 0x9c06b9adcb7a3ce9, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+daddu $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0xa651c48b43f4ee38, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+daddu $t0, $t1, $t2 :: rd 0x39f85b48, rs 0x75d48dde, rt 0xffffffffc423cd6a
+daddu $s0, $s1, $s2 :: rd 0x561ffd0642ec219e, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+daddu $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0x6b93dddb, rt 0xffffffffda649d6f
+daddu $s0, $s1, $s2 :: rd 0x49421800b5fb62a6, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+daddu $t0, $t1, $t2 :: rd 0x4df84144, rs 0x6f52c06c, rt 0xffffffffdea580d8
+daddu $s0, $s1, $s2 :: rd 0xfe1cf67474708337, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+daddu $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+daddu $s0, $s1, $s2 :: rd 0x756f23a8f08cc101, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+daddu $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+daddu $s0, $s1, $s2 :: rd 0x3e6e3a68408cfe8e, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+daddu $t0, $t1, $t2 :: rd 0x4e074cca, rs 0x5e9f46bf, rt 0xffffffffef68060b
+daddu $s0, $s1, $s2 :: rd 0x6116b6f0a866439a, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+daddu $t0, $t1, $t2 :: rd 0x460776c4, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+daddu $s0, $s1, $s2 :: rd 0x1e81930d7d61cb4d, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+daddu $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+daddu $s0, $s1, $s2 :: rd 0x583cdf7812c4179b, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+daddu $t0, $t1, $t2 :: rd 0x36078138, rs 0x53dc6066, rt 0xffffffffe22b20d2
+daddu $s0, $s1, $s2 :: rd 0x303648e256318338, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+daddu $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+daddu $s0, $s1, $s2 :: rd 0x37a0301de9484fcc, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+daddu $t0, $t1, $t2 :: rd 0x42079b34, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+daddu $s0, $s1, $s2 :: rd 0xfbed7041ac815498, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+daddu $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+daddu $s0, $s1, $s2 :: rd 0x22399ba190373034, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+daddu $t0, $t1, $t2 :: rd 0x32076cc8, rs 0x40d816ba, rt 0xfffffffff12f560e
+daddu $s0, $s1, $s2 :: rd 0xb27365ea7f6347c1, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0xffffffffaca5c697, rt 0x1d528623
+daddu $s0, $s1, $s2 :: rd 0x58d8b55987641348, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0xffffffffa864db20, rt 0x19939b94
+daddu $s0, $s1, $s2 :: rd 0x34205c9fb7440326, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+daddu $s0, $s1, $s2 :: rd 0xe988c54f300c66b0, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+daddu $s0, $s1, $s2 :: rd 0x3318757f4f3b289, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+daddu $s0, $s1, $s2 :: rd 0x100f8d33356e4dfe, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xffffffffbb60adfc, rt 0xa97ed48
+daddu $s0, $s1, $s2 :: rd 0x11a6553063c00074, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0xffffffffb6238b25, rt 0x7d4cb91
+daddu $s0, $s1, $s2 :: rd 0x8c1a713896709bed, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0xffffffffb2e29692, rt 0x315d626
+daddu $s0, $s1, $s2 :: rd 0x9bb8a87704e5a5e3, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+daddu $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+daddu $s0, $s1, $s2 :: rd 0xf8ace4275fb733d5, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+daddu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x0, rt 0x3f9b762c
+daddu $s0, $s1, $s2 :: rd 0x2b40088c016a8849, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+daddu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x0, rt 0x32d850f5
+daddu $s0, $s1, $s2 :: rd 0x4471e20a6ec4b26, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0xffffffff87ee0df6, rt 0x36194d42
+daddu $s0, $s1, $s2 :: rd 0xa048958f428a9099, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+daddu $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0xffffffff99a95df3, rt 0x285e1d47
+daddu $s0, $s1, $s2 :: rd 0x1c5d6c1a9ef65e17, rs 0x663d061055833287, rt 0xb620660a49732b90
+daddu $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0xffffffff9d684044, rt 0x2c9f00f0
+daddu $s0, $s1, $s2 :: rd 0x5f7bbc71d87a53a7, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0xffffffff902b669d, rt 0x21dc2629
+daddu $s0, $s1, $s2 :: rd 0xbbcb04f526fbc815, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+daddu $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+daddu $s0, $s1, $s2 :: rd 0x8173d8fabcd2c4e8, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+daddu $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0xffffffffe0b41de7, rt 0x51435d53
+daddu $s0, $s1, $s2 :: rd 0x657a018751e33d5, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+daddu $t0, $t1, $t2 :: rd 0x39f74134, rs 0xffffffffe4750050, rt 0x558240e4
+daddu $s0, $s1, $s2 :: rd 0x7a00a2b51e498136, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+daddu $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0xffffffffe9362689, rt 0x58c1663d
+daddu $s0, $s1, $s2 :: rd 0x3804d6a2e069bea4, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+daddu $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+daddu $s0, $s1, $s2 :: rd 0x14845c91fd6d9331, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+daddu $t0, $t1, $t2 :: rd 0x35f796ca, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+daddu $s0, $s1, $s2 :: rd 0x30f39a8592e1343e, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+daddu $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0xfffffffff771768c, rt 0x46863638
+daddu $s0, $s1, $s2 :: rd 0xa20750a4fd5a2f63, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+daddu $t0, $t1, $t2 :: rd 0x45f76136, rs 0xfffffffffa325055, rt 0x4bc510e1
+daddu $s0, $s1, $s2 :: rd 0x4f1a2a2b5653f02b, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+daddu $t0, $t1, $t2 :: rd 0x4df75b38, rs 0xfffffffffef34de2, rt 0x4f040d56
+daddu $s0, $s1, $s2 :: rd 0xdeff700808908111, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+daddu $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+daddu $s0, $s1, $s2 :: rd 0x28a6ae5f5727d351, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+daddu $t0, $t1, $t2 :: rd 0x36089b44, rs 0xffffffffc27dede8, rt 0x738aad5c
+daddu $s0, $s1, $s2 :: rd 0xb1679b6941782431, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+daddu $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+daddu $s0, $s1, $s2 :: rd 0x8edaba728b9835c4, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+daddu $t0, $t1, $t2 :: rd 0x46086cb8, rs 0xffffffffcbffd686, rt 0x7a089632
+daddu $s0, $s1, $s2 :: rd 0xaa91f28db6043819, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+daddu $t0, $t1, $t2 :: rd 0x3a084cba, rs 0xffffffffd5b88683, rt 0x644fc637
+daddu $s0, $s1, $s2 :: rd 0x79517105789ea6b, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+daddu $t0, $t1, $t2 :: rd 0x320876b4, rs 0xffffffffd1799b34, rt 0x608edb80
+daddu $s0, $s1, $s2 :: rd 0x901308ba9b3ba2bd, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+daddu $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+daddu $s0, $s1, $s2 :: rd 0x802fe00b083fc308, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+daddu $t0, $t1, $t2 :: rd 0x42088148, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+daddu $s0, $s1, $s2 :: rd 0x6448b1f35f0962e2, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+daddu $t0, $t1, $t2 :: rd 0x42088148, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+daddu $s0, $s1, $s2 :: rd 0x6448b1f35f0962e2, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+daddu $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+daddu $s0, $s1, $s2 :: rd 0x802fe00b083fc308, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+daddu $t0, $t1, $t2 :: rd 0x320876b4, rs 0x608edb80, rt 0xffffffffd1799b34
+daddu $s0, $s1, $s2 :: rd 0x901308ba9b3ba2bd, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+daddu $t0, $t1, $t2 :: rd 0x3a084cba, rs 0x644fc637, rt 0xffffffffd5b88683
+daddu $s0, $s1, $s2 :: rd 0x79517105789ea6b, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+daddu $t0, $t1, $t2 :: rd 0x46086cb8, rs 0x7a089632, rt 0xffffffffcbffd686
+daddu $s0, $s1, $s2 :: rd 0xaa91f28db6043819, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+daddu $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+daddu $s0, $s1, $s2 :: rd 0x8edaba728b9835c4, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+daddu $t0, $t1, $t2 :: rd 0x36089b44, rs 0x738aad5c, rt 0xffffffffc27dede8
+daddu $s0, $s1, $s2 :: rd 0xb1679b6941782431, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+daddu $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+daddu $s0, $s1, $s2 :: rd 0x28a6ae5f5727d351, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+daddu $t0, $t1, $t2 :: rd 0x4df75b38, rs 0x4f040d56, rt 0xfffffffffef34de2
+daddu $s0, $s1, $s2 :: rd 0xdeff700808908111, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+daddu $t0, $t1, $t2 :: rd 0x45f76136, rs 0x4bc510e1, rt 0xfffffffffa325055
+daddu $s0, $s1, $s2 :: rd 0x4f1a2a2b5653f02b, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+daddu $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0x46863638, rt 0xfffffffff771768c
+daddu $s0, $s1, $s2 :: rd 0xa20750a4fd5a2f63, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+daddu $t0, $t1, $t2 :: rd 0x35f796ca, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+daddu $s0, $s1, $s2 :: rd 0x30f39a8592e1343e, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+daddu $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+daddu $s0, $s1, $s2 :: rd 0x14845c91fd6d9331, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+daddu $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0x58c1663d, rt 0xffffffffe9362689
+daddu $s0, $s1, $s2 :: rd 0x3804d6a2e069bea4, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+daddu $t0, $t1, $t2 :: rd 0x39f74134, rs 0x558240e4, rt 0xffffffffe4750050
+daddu $s0, $s1, $s2 :: rd 0x7a00a2b51e498136, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+daddu $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0x51435d53, rt 0xffffffffe0b41de7
+daddu $s0, $s1, $s2 :: rd 0x657a018751e33d5, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+daddu $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+daddu $s0, $s1, $s2 :: rd 0x8173d8fabcd2c4e8, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0x21dc2629, rt 0xffffffff902b669d
+daddu $s0, $s1, $s2 :: rd 0xbbcb04f526fbc815, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+daddu $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0x2c9f00f0, rt 0xffffffff9d684044
+daddu $s0, $s1, $s2 :: rd 0x5f7bbc71d87a53a7, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0x285e1d47, rt 0xffffffff99a95df3
+daddu $s0, $s1, $s2 :: rd 0x1c5d6c1a9ef65e17, rs 0xb620660a49732b90, rt 0x663d061055833287
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0x36194d42, rt 0xffffffff87ee0df6
+daddu $s0, $s1, $s2 :: rd 0xa048958f428a9099, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+daddu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0x4471e20a6ec4b26, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+daddu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0x2b40088c016a8849, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+daddu $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+daddu $s0, $s1, $s2 :: rd 0xf8ace4275fb733d5, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0x315d626, rt 0xffffffffb2e29692
+daddu $s0, $s1, $s2 :: rd 0x9bb8a87704e5a5e3, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0x7d4cb91, rt 0xffffffffb6238b25
+daddu $s0, $s1, $s2 :: rd 0x8c1a713896709bed, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xa97ed48, rt 0xffffffffbb60adfc
+daddu $s0, $s1, $s2 :: rd 0x11a6553063c00074, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+daddu $s0, $s1, $s2 :: rd 0x100f8d33356e4dfe, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+daddu $s0, $s1, $s2 :: rd 0x3318757f4f3b289, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+daddu $s0, $s1, $s2 :: rd 0xe988c54f300c66b0, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0x19939b94, rt 0xffffffffa864db20
+daddu $s0, $s1, $s2 :: rd 0x34205c9fb7440326, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0x1d528623, rt 0xffffffffaca5c697
+daddu $s0, $s1, $s2 :: rd 0x58d8b55987641348, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+daddu $t0, $t1, $t2 :: rd 0x32076cc8, rs 0xfffffffff12f560e, rt 0x40d816ba
+daddu $s0, $s1, $s2 :: rd 0xb27365ea7f6347c1, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+daddu $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+daddu $s0, $s1, $s2 :: rd 0x22399ba190373034, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+daddu $t0, $t1, $t2 :: rd 0x42079b34, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+daddu $s0, $s1, $s2 :: rd 0xfbed7041ac815498, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+daddu $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+daddu $s0, $s1, $s2 :: rd 0x37a0301de9484fcc, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+daddu $t0, $t1, $t2 :: rd 0x36078138, rs 0xffffffffe22b20d2, rt 0x53dc6066
+daddu $s0, $s1, $s2 :: rd 0x303648e256318338, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+daddu $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+daddu $s0, $s1, $s2 :: rd 0x583cdf7812c4179b, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+daddu $t0, $t1, $t2 :: rd 0x460776c4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+daddu $s0, $s1, $s2 :: rd 0x1e81930d7d61cb4d, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+daddu $t0, $t1, $t2 :: rd 0x4e074cca, rs 0xffffffffef68060b, rt 0x5e9f46bf
+daddu $s0, $s1, $s2 :: rd 0x6116b6f0a866439a, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+daddu $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+daddu $s0, $s1, $s2 :: rd 0x3e6e3a68408cfe8e, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+daddu $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+daddu $s0, $s1, $s2 :: rd 0x756f23a8f08cc101, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+daddu $t0, $t1, $t2 :: rd 0x4df84144, rs 0xffffffffdea580d8, rt 0x6f52c06c
+daddu $s0, $s1, $s2 :: rd 0xfe1cf67474708337, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+daddu $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0xffffffffda649d6f, rt 0x6b93dddb
+daddu $s0, $s1, $s2 :: rd 0x49421800b5fb62a6, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+daddu $t0, $t1, $t2 :: rd 0x39f85b48, rs 0xffffffffc423cd6a, rt 0x75d48dde
+daddu $s0, $s1, $s2 :: rd 0x561ffd0642ec219e, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+daddu $t0, $t1, $t2 :: rd 0x71159069, rs 0x0, rt 0x71159069
+daddu $s0, $s1, $s2 :: rd 0xa651c48b43f4ee38, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+daddu $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+daddu $s0, $s1, $s2 :: rd 0x9c06b9adcb7a3ce9, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+daddu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x0, rt 0x7897ab07
+daddu $s0, $s1, $s2 :: rd 0xf1e551060da5c686, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+daddu $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+daddu $s0, $s1, $s2 :: rd 0xf585751a950c37d1, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+daddu $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0xffffffffb9ff90c9, rt 0x808d07d
+daddu $s0, $s1, $s2 :: rd 0x2afb8b5d409aa8b9, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+daddu $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+daddu $s0, $s1, $s2 :: rd 0x68d29282ddcf9360, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+daddu $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0xffffffffb07daba7, rt 0x18aeb13
+daddu $s0, $s1, $s2 :: rd 0xabcc17669d044204, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+daddu $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+daddu $s0, $s1, $s2 :: rd 0x311fe7b5ca09b45d, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+daddu $s0, $s1, $s2 :: rd 0x5ae7a644ab7c6588, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+daddu $s0, $s1, $s2 :: rd 0x8df86d50752ff65b, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+daddu $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+daddu $s0, $s1, $s2 :: rd 0x4aafc400993e3d9d, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0xffffffff9b3660c6, rt 0x2ac12072
+daddu $s0, $s1, $s2 :: rd 0x5bef95e4a18579d, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+daddu $s0, $s1, $s2 :: rd 0x11387bdd40c052f3, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0xffffffff92b45ba8, rt 0x23431b1c
+daddu $s0, $s1, $s2 :: rd 0x24cbf5bfa17470f3, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0xffffffff9675461f, rt 0x278206ab
+daddu $s0, $s1, $s2 :: rd 0x2b4fe2e43eb0ccf0, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0xffffffff8832161a, rt 0x39c556ae
+daddu $s0, $s1, $s2 :: rd 0x9cda6117ce48f5d3, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+daddu $s0, $s1, $s2 :: rd 0x7d6a248a0be47798, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0xffffffff81b02d74, rt 0x30476dc0
+daddu $s0, $s1, $s2 :: rd 0xd9b46768b2d1fb14, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0xffffffff857130c3, rt 0x34867077
+daddu $s0, $s1, $s2 :: rd 0x58d7d6f085d6fc6d, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+daddu $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+daddu $s0, $s1, $s2 :: rd 0x29ea86b92ec18371, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+daddu $t0, $t1, $t2 :: rd 0x42085ac8, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+daddu $s0, $s1, $s2 :: rd 0xd68e4cd69a68ed77, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+daddu $t0, $t1, $t2 :: rd 0x3a08973a, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+daddu $s0, $s1, $s2 :: rd 0x113d35e817e56428, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+daddu $t0, $t1, $t2 :: rd 0x3208ad34, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+daddu $s0, $s1, $s2 :: rd 0x8a10d5b29a70c814, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+daddu $t0, $t1, $t2 :: rd 0x4e088d36, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+daddu $s0, $s1, $s2 :: rd 0x7001fc742bc7a078, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+daddu $t0, $t1, $t2 :: rd 0x4608b738, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+daddu $s0, $s1, $s2 :: rd 0x5fd7c51696d8df5, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+daddu $t0, $t1, $t2 :: rd 0x3e087aca, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+daddu $s0, $s1, $s2 :: rd 0xa06159aefbf0929d, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+daddu $t0, $t1, $t2 :: rd 0x360840c4, rs 0x43cdc09c, rt 0xfffffffff23a8028
+daddu $s0, $s1, $s2 :: rd 0xf375009e07fc1cf, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+daddu $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0x7b827d21, rt 0xffffffffca753d95
+daddu $s0, $s1, $s2 :: rd 0x5dd6c3df75f58ac7, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+daddu $t0, $t1, $t2 :: rd 0x4df780b8, rs 0x7f436096, rt 0xffffffffceb42022
+daddu $s0, $s1, $s2 :: rd 0x18495bc92cc990b5, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+daddu $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0x7200464f, rt 0xffffffffc3f706fb
+daddu $s0, $s1, $s2 :: rd 0xd4bab47249b79e35, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+daddu $t0, $t1, $t2 :: rd 0x3df77744, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+daddu $s0, $s1, $s2 :: rd 0x4fd021925c56d88b, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+daddu $t0, $t1, $t2 :: rd 0x41f75746, rs 0x68860bfd, rt 0xffffffffd9714b49
+daddu $s0, $s1, $s2 :: rd 0x13dccf7e31d3447, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+daddu $t0, $t1, $t2 :: rd 0x49f76d48, rs 0x6c47164a, rt 0xffffffffddb056fe
+daddu $s0, $s1, $s2 :: rd 0x9be094d1e8a8eb2d, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+daddu $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0x61043093, rt 0xffffffffd0f37027
+daddu $s0, $s1, $s2 :: rd 0x4086e5a3b1cb0ddd, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+daddu $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0x65c52d24, rt 0xffffffffd4326d90
+daddu $s0, $s1, $s2 :: rd 0x3a8faf65a0278097, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+daddu $s0, $s1, $s2 :: rd 0xc8ea78e6daff3103, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+daddu $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0x155a565e, rt 0xffffffffa4ad16ea
+daddu $s0, $s1, $s2 :: rd 0xe8d5e27f2a5d007c, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0x18197087, rt 0xffffffffa9ee3033
+daddu $s0, $s1, $s2 :: rd 0x7e085da755e2fc72, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+daddu $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+daddu $s0, $s1, $s2 :: rd 0x525d313f5906ce71, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+daddu $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0x29f3d35, rt 0xffffffffb3687d81
+daddu $s0, $s1, $s2 :: rd 0xb358b76df86db7d6, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0x65e2082, rt 0xffffffffb7a96036
+daddu $s0, $s1, $s2 :: rd 0x25c64c59ce7c5c11, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+daddu $s0, $s1, $s2 :: rd 0x36696d04b9cc6aa3, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+daddu $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+daddu $s0, $s1, $s2 :: rd 0x89b4aad8554edbaf, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0x3793a651, rt 0xffffffff8664e6e5
+daddu $s0, $s1, $s2 :: rd 0x4be2e3c9d1cb314d, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+daddu $s0, $s1, $s2 :: rd 0x3c0b847cf43d4bfb, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+daddu $s0, $s1, $s2 :: rd 0xc5e43ebebbecc63f, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0x3ad08088, rt 0xffffffff8b27c03c
+daddu $s0, $s1, $s2 :: rd 0x6ca685016f43394d, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0x2497d08d, rt 0xffffffff95609039
+daddu $s0, $s1, $s2 :: rd 0xe0ec5ed2ce7d221e, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+daddu $s0, $s1, $s2 :: rd 0xb55b4facf8ad40c0, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+daddu $s0, $s1, $s2 :: rd 0x36519840fb108bcf, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0x29d4f654, rt 0xffffffff9823b6e0
+daddu $s0, $s1, $s2 :: rd 0x99a69c4d07373c37, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+daddu $t0, $t1, $t2 :: rd 0x3a078d46, rs 0xffffffffc5a92679, rt 0x745e66cd
+daddu $s0, $s1, $s2 :: rd 0xfa7a3638fb1cd0ce, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+daddu $t0, $t1, $t2 :: rd 0x3207b748, rs 0xffffffffc1683bce, rt 0x709f7b7a
+daddu $s0, $s1, $s2 :: rd 0xe5ea00ac978cd7bf, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+daddu $t0, $t1, $t2 :: rd 0x4a077aba, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+daddu $s0, $s1, $s2 :: rd 0xc5785d78921ae3df, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+daddu $t0, $t1, $t2 :: rd 0x420740b4, rs 0xffffffffc8ea00a0, rt 0x791d4014
+daddu $s0, $s1, $s2 :: rd 0x8ed145fa1cd24902, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+daddu $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0xffffffffd6ad50a5, rt 0x675a1011
+daddu $s0, $s1, $s2 :: rd 0x4ca897ba54af5984, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+daddu $t0, $t1, $t2 :: rd 0x36075ab8, rs 0xffffffffd26c4d12, rt 0x639b0da6
+daddu $s0, $s1, $s2 :: rd 0xb1f5bafe35f07b54, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+daddu $t0, $t1, $t2 :: rd 0x4e07974a, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+daddu $s0, $s1, $s2 :: rd 0xb0e21b65fe91ba6d, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+daddu $t0, $t1, $t2 :: rd 0x4607ad44, rs 0xffffffffdbee767c, rt 0x6a1936c8
+daddu $s0, $s1, $s2 :: rd 0xf07bc43d941b7172, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+daddu $t0, $t1, $t2 :: rd 0x35f85736, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+daddu $s0, $s1, $s2 :: rd 0xfb05c1b39909bed1, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+daddu $t0, $t1, $t2 :: rd 0x3df86d38, rs 0xffffffffe760d676, rt 0x569796c2
+daddu $s0, $s1, $s2 :: rd 0x748b492a0c80dcee, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+daddu $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+daddu $s0, $s1, $s2 :: rd 0xa65defe584251805, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+daddu $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0xffffffffeee2ed18, rt 0x5f15adac
+daddu $s0, $s1, $s2 :: rd 0xd75af5927cc23f22, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+daddu $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+daddu $s0, $s1, $s2 :: rd 0x74b999831c6556f6, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+daddu $t0, $t1, $t2 :: rd 0x39f880c8, rs 0xfffffffff464a0aa, rt 0x4593e01e
+daddu $s0, $s1, $s2 :: rd 0xe4048b901247930f, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+daddu $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0xfffffffff9278673, rt 0x48d0c6c7
+daddu $s0, $s1, $s2 :: rd 0x65def24a59218170, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+daddu $t0, $t1, $t2 :: rd 0x49f87734, rs 0xfffffffffde69bc4, rt 0x4c11db70
+daddu $s0, $s1, $s2 :: rd 0xac482d22ccfbfa53, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+daddu $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+daddu $s0, $s1, $s2 :: rd 0xea0148c9b21ba350, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+daddu $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+daddu $s0, $s1, $s2 :: rd 0x9ebefb3d77e93d3e, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0xffffffff803ac667, rt 0x31cd86d3
+daddu $s0, $s1, $s2 :: rd 0x7e6dfc2498a57e6c, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+daddu $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+daddu $s0, $s1, $s2 :: rd 0xadf26ee677f839b9, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+daddu $s0, $s1, $s2 :: rd 0xff923e4b45c18365, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+daddu $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+daddu $s0, $s1, $s2 :: rd 0x8090e6c621063806, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+daddu $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+daddu $s0, $s1, $s2 :: rd 0x8269fb24d9095b9a, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0xffffffff97ffad0c, rt 0x2608edb8
+daddu $s0, $s1, $s2 :: rd 0xcf68cd7cfbfb84db, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0xffffffffafb010b1, rt 0x1e475005
+daddu $s0, $s1, $s2 :: rd 0x18a3205f2eea15e3, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0xffffffffab710d06, rt 0x1a864db2
+daddu $s0, $s1, $s2 :: rd 0xec9237271021a45b, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+daddu $s0, $s1, $s2 :: rd 0xd93059bb38b80477, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0xffffffffa2f33668, rt 0x130476dc
+daddu $s0, $s1, $s2 :: rd 0x9b9d24efeaf96419, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xffffffffbcb4666d, rt 0xd4326d9
+daddu $s0, $s1, $s2 :: rd 0x1f813bd70d0d5c61, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0xffffffffb8757bda, rt 0x9823b6e
+daddu $s0, $s1, $s2 :: rd 0xd31807e1e2825e68, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0x61cc22a7e1e4ce7e, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0xa2a6ec661cd417cb, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x12bd6aa
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x7e876382d2ab13
+dclo $t0, $t1 :: rd 0x0, rs 0x9823b6e
+dclo $v0, $v1 :: rd 0x1, rs 0x976d6e9ac31510f3
+dclo $t0, $t1 :: rd 0x0, rs 0xd4326d9
+dclo $v0, $v1 :: rd 0x1, rs 0xb7746d775ad6a5fb
+dclo $t0, $t1 :: rd 0x0, rs 0x130476dc
+dclo $v0, $v1 :: rd 0x0, rs 0x42b0c0a28677b502
+dclo $t0, $t1 :: rd 0x0, rs 0x17c56b6b
+dclo $v0, $v1 :: rd 0x0, rs 0x2aa89d319e3c30ad
+dclo $t0, $t1 :: rd 0x0, rs 0x1a864db2
+dclo $v0, $v1 :: rd 0x0, rs 0x1f308ec377fb413d
+dclo $t0, $t1 :: rd 0x0, rs 0x1e475005
+dclo $v0, $v1 :: rd 0x0, rs 0x7aa04213c760e4f7
+dclo $t0, $t1 :: rd 0x0, rs 0x2608edb8
+dclo $v0, $v1 :: rd 0x1, rs 0x9e705cc51ad8dca0
+dclo $t0, $t1 :: rd 0x0, rs 0x22c9f00f
+dclo $v0, $v1 :: rd 0x0, rs 0x4b3dda869615a60d
+dclo $t0, $t1 :: rd 0x0, rs 0x2f8ad6d6
+dclo $v0, $v1 :: rd 0x0, rs 0x5e7a4dd6353d41d
+dclo $t0, $t1 :: rd 0x0, rs 0x2b4bcb61
+dclo $v0, $v1 :: rd 0x0, rs 0x3af35a9dc40bd413
+dclo $t0, $t1 :: rd 0x0, rs 0x350c9b64
+dclo $v0, $v1 :: rd 0x0, rs 0x47f505569a08a180
+dclo $t0, $t1 :: rd 0x0, rs 0x31cd86d3
+dclo $v0, $v1 :: rd 0x1, rs 0x9564b77fd6d2040f
+dclo $t0, $t1 :: rd 0x0, rs 0x3c8ea00a
+dclo $v0, $v1 :: rd 0x2, rs 0xcebc8279b2c76bbe
+dclo $t0, $t1 :: rd 0x0, rs 0x384fbdbd
+dclo $v0, $v1 :: rd 0x1, rs 0xb5034c2f1f18e4c7
+dclo $t0, $t1 :: rd 0x0, rs 0x4c11db70
+dclo $v0, $v1 :: rd 0x1, rs 0x94ff52fc81afa797
+dclo $t0, $t1 :: rd 0x0, rs 0x48d0c6c7
+dclo $v0, $v1 :: rd 0x0, rs 0x31d8d9166dfc50ea
+dclo $t0, $t1 :: rd 0x0, rs 0x4593e01e
+dclo $v0, $v1 :: rd 0x0, rs 0x36549bd678e895b1
+dclo $t0, $t1 :: rd 0x0, rs 0x4152fda9
+dclo $v0, $v1 :: rd 0x1, rs 0x85e0a6319b63259b
+dclo $t0, $t1 :: rd 0x0, rs 0x5f15adac
+dclo $v0, $v1 :: rd 0x0, rs 0x556b3ecaccf17ac5
+dclo $t0, $t1 :: rd 0x0, rs 0x5bd4b01b
+dclo $v0, $v1 :: rd 0x1, rs 0xb42f5fc581eea0fb
+dclo $t0, $t1 :: rd 0x0, rs 0x569796c2
+dclo $v0, $v1 :: rd 0x0, rs 0x25b50fec14682d97
+dclo $t0, $t1 :: rd 0x0, rs 0x52568b75
+dclo $v0, $v1 :: rd 0x6, rs 0xfc93c5132cfb087a
+dclo $t0, $t1 :: rd 0x0, rs 0x6a1936c8
+dclo $v0, $v1 :: rd 0x0, rs 0x3c2cd9a9cda20766
+dclo $t0, $t1 :: rd 0x0, rs 0x6ed82b7f
+dclo $v0, $v1 :: rd 0x0, rs 0x1791722a7d72da3e
+dclo $t0, $t1 :: rd 0x0, rs 0x639b0da6
+dclo $v0, $v1 :: rd 0x0, rs 0x87cc9d193ce24ad
+dclo $t0, $t1 :: rd 0x0, rs 0x675a1011
+dclo $v0, $v1 :: rd 0x0, rs 0x1d2a757038984ed2
+dclo $t0, $t1 :: rd 0x0, rs 0x791d4014
+dclo $v0, $v1 :: rd 0x2, rs 0xd0d070db710cd036
+dclo $t0, $t1 :: rd 0x0, rs 0x7ddc5da3
+dclo $v0, $v1 :: rd 0x0, rs 0x39c21c7d03415604
+dclo $t0, $t1 :: rd 0x0, rs 0x709f7b7a
+dclo $v0, $v1 :: rd 0x1, rs 0x8e94b7af8ecc31ce
+dclo $t0, $t1 :: rd 0x0, rs 0x745e66cd
+dclo $v0, $v1 :: rd 0x0, rs 0x24eb6a8d1ce7674f
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9823b6e0
+dclo $v0, $v1 :: rd 0x0, rs 0x2f39454412d6e4a7
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9ce2ab57
+dclo $v0, $v1 :: rd 0x0, rs 0x2608c2b756da4c54
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff91a18d8e
+dclo $v0, $v1 :: rd 0x1, rs 0x900102dac8d7252f
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff95609039
+dclo $v0, $v1 :: rd 0x2, rs 0xc890d5f1f2efa4f7
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8b27c03c
+dclo $v0, $v1 :: rd 0x3, rs 0xed5005cbc8b0a214
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8fe6dd8b
+dclo $v0, $v1 :: rd 0x0, rs 0x314791895991136c
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff82a5fb52
+dclo $v0, $v1 :: rd 0x2, rs 0xc6eecff99a2fb6f3
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8664e6e5
+dclo $v0, $v1 :: rd 0x1, rs 0xa809521238895270
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbe2b5b58
+dclo $v0, $v1 :: rd 0x1, rs 0x87750a04ad765040
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbaea46ef
+dclo $v0, $v1 :: rd 0x0, rs 0x2c3de85e84bb5a83
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb7a96036
+dclo $v0, $v1 :: rd 0x1, rs 0xae6aff8fc506aa67
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb3687d81
+dclo $v0, $v1 :: rd 0x2, rs 0xc07112dd60ed5ee3
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffad2f2d84
+dclo $v0, $v1 :: rd 0x2, rs 0xc4c770f630dcca5a
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa9ee3033
+dclo $v0, $v1 :: rd 0x2, rs 0xdfec2b2383cd5277
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa4ad16ea
+dclo $v0, $v1 :: rd 0x2, rs 0xd3adba260ff7d96b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa06c0b5d
+dclo $v0, $v1 :: rd 0x0, rs 0x4ab4aa798418c00e
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd4326d90
+dclo $v0, $v1 :: rd 0x1, rs 0xbb8c035e0de0f0b8
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd0f37027
+dclo $v0, $v1 :: rd 0x0, rs 0x33b06f54a97fdcf1
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffddb056fe
+dclo $v0, $v1 :: rd 0x0, rs 0x77433f373fd1c081
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd9714b49
+dclo $v0, $v1 :: rd 0x3, rs 0xec91d993c92195e4
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc7361b4c
+dclo $v0, $v1 :: rd 0x0, rs 0x49fbf6a795b1a5ab
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc3f706fb
+dclo $v0, $v1 :: rd 0x0, rs 0x19364378c7ce8d1e
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffceb42022
+dclo $v0, $v1 :: rd 0x1, rs 0xb99e8def2f384907
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffca753d95
+dclo $v0, $v1 :: rd 0x0, rs 0x47eacdcd582b12fe
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff23a8028
+dclo $v0, $v1 :: rd 0x2, rs 0xd685884e76558c4f
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff6fb9d9f
+dclo $v0, $v1 :: rd 0x0, rs 0x6168d62a34c195c7
+dclo $t0, $t1 :: rd 0x25, rs 0xfffffffffbb8bb46
+dclo $v0, $v1 :: rd 0x2, rs 0xd30169894df47405
+dclo $t0, $t1 :: rd 0x28, rs 0xffffffffff79a6f1
+dclo $v0, $v1 :: rd 0x0, rs 0x1ca190bf6cbb06db
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe13ef6f4
+dclo $v0, $v1 :: rd 0x0, rs 0x58300f029cae393a
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe5ffeb43
+dclo $v0, $v1 :: rd 0x1, rs 0x9a995fdbdc7ebc2d
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe8bccd9a
+dclo $v0, $v1 :: rd 0x1, rs 0x8a96047be3405b48
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffec7dd02d
+dclo $v0, $v1 :: rd 0x0, rs 0x75bfafd2d519d322
+dclo $t0, $t1 :: rd 0x0, rs 0x34867077
+dclo $v0, $v1 :: rd 0x2, rs 0xde230867a630f6ad
+dclo $t0, $t1 :: rd 0x0, rs 0x30476dc0
+dclo $v0, $v1 :: rd 0x0, rs 0x2c0a0cf256103260
+dclo $t0, $t1 :: rd 0x0, rs 0x3d044b19
+dclo $v0, $v1 :: rd 0x1, rs 0x94a90544249b18ef
+dclo $t0, $t1 :: rd 0x0, rs 0x39c556ae
+dclo $v0, $v1 :: rd 0x5, rs 0xf9519fb55b56fcde
+dclo $t0, $t1 :: rd 0x0, rs 0x278206ab
+dclo $v0, $v1 :: rd 0x1, rs 0x81daf8200468319b
+dclo $t0, $t1 :: rd 0x0, rs 0x23431b1c
+dclo $v0, $v1 :: rd 0x1, rs 0x8c61ca5a5725f2ec
+dclo $t0, $t1 :: rd 0x0, rs 0x2e003dc5
+dclo $v0, $v1 :: rd 0x1, rs 0x8b95a6ddc25dc8bf
+dclo $t0, $t1 :: rd 0x0, rs 0x2ac12072
+dclo $v0, $v1 :: rd 0x0, rs 0x300ce751dac6162f
+dclo $t0, $t1 :: rd 0x0, rs 0x128e9dcf
+dclo $v0, $v1 :: rd 0x0, rs 0x6778fdf3ba52a850
+dclo $t0, $t1 :: rd 0x0, rs 0x164f8078
+dclo $v0, $v1 :: rd 0x1, rs 0xad00b1f7da78479f
+dclo $t0, $t1 :: rd 0x0, rs 0x1b0ca6a1
+dclo $v0, $v1 :: rd 0x0, rs 0x8d44168a6b6d98a
+dclo $t0, $t1 :: rd 0x0, rs 0x1fcdbb16
+dclo $v0, $v1 :: rd 0x4, rs 0xf518381dce634413
+dclo $t0, $t1 :: rd 0x0, rs 0x18aeb13
+dclo $v0, $v1 :: rd 0x3, rs 0xe4627f3fe5255fc0
+dclo $t0, $t1 :: rd 0x0, rs 0x54bf6a4
+dclo $v0, $v1 :: rd 0x2, rs 0xccd392e176321f28
+dclo $t0, $t1 :: rd 0x0, rs 0x808d07d
+dclo $v0, $v1 :: rd 0x1, rs 0x829464944018fd8f
+dclo $t0, $t1 :: rd 0x0, rs 0xcc9cdca
+dclo $v0, $v1 :: rd 0x0, rs 0x15d3204052e8f0e5
+dclo $t0, $t1 :: rd 0x0, rs 0x7897ab07
+dclo $v0, $v1 :: rd 0x0, rs 0x7caf83d2880ff344
+dclo $t0, $t1 :: rd 0x0, rs 0x7c56b6b0
+dclo $v0, $v1 :: rd 0x4, rs 0xf156a04c747defd7
+dclo $t0, $t1 :: rd 0x0, rs 0x71159069
+dclo $v0, $v1 :: rd 0x1, rs 0x93e2601c0f31d710
+dclo $t0, $t1 :: rd 0x0, rs 0x75d48dde
+dclo $v0, $v1 :: rd 0x3, rs 0xe1e1a679131cd933
+dclo $t0, $t1 :: rd 0x0, rs 0x6b93dddb
+dclo $v0, $v1 :: rd 0x0, rs 0x24296b75a76fa427
+dclo $t0, $t1 :: rd 0x0, rs 0x6f52c06c
+dclo $v0, $v1 :: rd 0x2, rs 0xd296e2d2139ee56a
+dclo $t0, $t1 :: rd 0x0, rs 0x6211e6b5
+dclo $v0, $v1 :: rd 0x0, rs 0x5a82447f6dc2a5c0
+dclo $t0, $t1 :: rd 0x0, rs 0x66d0fb02
+dclo $v0, $v1 :: rd 0x0, rs 0x76c89e80c07dc168
+dclo $t0, $t1 :: rd 0x0, rs 0x5e9f46bf
+dclo $v0, $v1 :: rd 0x0, rs 0x70dc3454bfe348f
+dclo $t0, $t1 :: rd 0x0, rs 0x5a5e5b08
+dclo $v0, $v1 :: rd 0x1, rs 0xbddc7123dd6d241b
+dclo $t0, $t1 :: rd 0x0, rs 0x571d7dd1
+dclo $v0, $v1 :: rd 0x4, rs 0xf62fb727a59fcebe
+dclo $t0, $t1 :: rd 0x0, rs 0x53dc6066
+dclo $v0, $v1 :: rd 0x0, rs 0x109f27e90f9f46fb
+dclo $t0, $t1 :: rd 0x0, rs 0x4d9b3063
+dclo $v0, $v1 :: rd 0x0, rs 0x3f63daa9afd199d7
+dclo $t0, $t1 :: rd 0x0, rs 0x495a2dd4
+dclo $v0, $v1 :: rd 0x2, rs 0xdbcb312ea3d484f2
+dclo $t0, $t1 :: rd 0x0, rs 0x44190b0d
+dclo $v0, $v1 :: rd 0x0, rs 0x1f353faada4fe4c6
+dclo $t0, $t1 :: rd 0x0, rs 0x40d816ba
+dclo $v0, $v1 :: rd 0x1, rs 0x8b086ee07150c260
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffaca5c697
+dclo $v0, $v1 :: rd 0x3, rs 0xe54750d5d9257f25
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa864db20
+dclo $v0, $v1 :: rd 0x0, rs 0x3d69625fe9a6db5b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa527fdf9
+dclo $v0, $v1 :: rd 0x0, rs 0x70a3e0424340ac96
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa1e6e04e
+dclo $v0, $v1 :: rd 0x2, rs 0xc0478f036980171e
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbfa1b04b
+dclo $v0, $v1 :: rd 0x0, rs 0x3ce839a51cf929e3
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbb60adfc
+dclo $v0, $v1 :: rd 0x3, rs 0xe2fbfa895eb68958
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb6238b25
+dclo $v0, $v1 :: rd 0x2, rs 0xd24bb05d76ed25b7
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb2e29692
+dclo $v0, $v1 :: rd 0x0, rs 0xeb9682c170312f1
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8aad2b2f
+dclo $v0, $v1 :: rd 0x1, rs 0x84785280dd301d0d
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x179c77aa1f8fd6ef
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x26444ced2998436d
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff87ee0df6
+dclo $v0, $v1 :: rd 0x0, rs 0x7175c9dd58ca708
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff99a95df3
+dclo $v0, $v1 :: rd 0x0, rs 0x663d061055833287
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9d684044
+dclo $v0, $v1 :: rd 0x1, rs 0xab7dd0488951d68b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff902b669d
+dclo $v0, $v1 :: rd 0x4, rs 0xf69823670e82471b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff94ea7b2a
+dclo $v0, $v1 :: rd 0x0, rs 0x36886c59d98d26b2
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe0b41de7
+dclo $v0, $v1 :: rd 0x0, rs 0x9ca4bdbd32be479
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe4750050
+dclo $v0, $v1 :: rd 0x6, rs 0xfd5d7d1d9962e61f
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe9362689
+dclo $v0, $v1 :: rd 0x0, rs 0x3f46553ecad374df
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffedf73b3e
+dclo $v0, $v1 :: rd 0x0, rs 0x2e9ab97d3eedf2a7
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff3b06b3b
+dclo $v0, $v1 :: rd 0x0, rs 0x36a6f7fa3c0c9f33
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff771768c
+dclo $v0, $v1 :: rd 0x1, rs 0x8bb938e3155ec9dc
+dclo $t0, $t1 :: rd 0x25, rs 0xfffffffffa325055
+dclo $v0, $v1 :: rd 0x2, rs 0xd2df25c419478206
+dclo $t0, $t1 :: rd 0x27, rs 0xfffffffffef34de2
+dclo $v0, $v1 :: rd 0x1, rs 0xbc65bf27eb321825
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc6bcf05f
+dclo $v0, $v1 :: rd 0x1, rs 0xa8b08fe67a8bc7da
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc27dede8
+dclo $v0, $v1 :: rd 0x1, rs 0x852b5bcaf8dfcde8
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffcf3ecb31
+dclo $v0, $v1 :: rd 0x0, rs 0x478909b59a99269
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffcbffd686
+dclo $v0, $v1 :: rd 0x1, rs 0xbfb31cc87857360f
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd5b88683
+dclo $v0, $v1 :: rd 0x1, rs 0xb665ed5e7f89e9a2
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd1799b34
+dclo $v0, $v1 :: rd 0x0, rs 0x15da9474b7a8d5e4
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffdc3abded
+dclo $v0, $v1 :: rd 0x4, rs 0xf6b3537d2af90fcc
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd8fba05a
+dclo $v0, $v1 :: rd 0x0, rs 0x223d7cfe2b961897
+dclo $t0, $t1 :: rd 0x0, rs 0x690ce0ee
+dclo $v0, $v1 :: rd 0x0, rs 0x420b34f533734a4b
+dclo $t0, $t1 :: rd 0x0, rs 0x6dcdfd59
+dclo $v0, $v1 :: rd 0x1, rs 0x897c8c8ddd46b33c
+dclo $t0, $t1 :: rd 0x0, rs 0x608edb80
+dclo $v0, $v1 :: rd 0x0, rs 0x7a387445e392ccd9
+dclo $t0, $t1 :: rd 0x0, rs 0x644fc637
+dclo $v0, $v1 :: rd 0x0, rs 0x512f29b1d80000c9
+dclo $t0, $t1 :: rd 0x0, rs 0x7a089632
+dclo $v0, $v1 :: rd 0x3, rs 0xeaded5c53dad020a
+dclo $t0, $t1 :: rd 0x0, rs 0x7ec98b85
+dclo $v0, $v1 :: rd 0x1, rs 0x8a6229d731eea35b
+dclo $t0, $t1 :: rd 0x0, rs 0x738aad5c
+dclo $v0, $v1 :: rd 0x0, rs 0x2c3c3f9e48985649
+dclo $t0, $t1 :: rd 0x0, rs 0x774bb0eb
+dclo $v0, $v1 :: rd 0x0, rs 0x7ff61e78dc9c0b77
+dclo $t0, $t1 :: rd 0x0, rs 0x4f040d56
+dclo $v0, $v1 :: rd 0x0, rs 0x2299b0e01d5e68ec
+dclo $t0, $t1 :: rd 0x0, rs 0x4bc510e1
+dclo $v0, $v1 :: rd 0x0, rs 0x7c3b04673d0c6e25
+dclo $t0, $t1 :: rd 0x0, rs 0x46863638
+dclo $v0, $v1 :: rd 0x0, rs 0x164e17c1e7fb6587
+dclo $t0, $t1 :: rd 0x0, rs 0x42472b8f
+dclo $v0, $v1 :: rd 0x5, rs 0xfa4ca28b56d4950b
+dclo $t0, $t1 :: rd 0x0, rs 0x5c007b8a
+dclo $v0, $v1 :: rd 0x3, rs 0xe5e9a314be7fa08a
+dclo $t0, $t1 :: rd 0x0, rs 0x58c1663d
+dclo $v0, $v1 :: rd 0x5, rs 0xf8be8164159649c5
+dclo $t0, $t1 :: rd 0x0, rs 0x558240e4
+dclo $v0, $v1 :: rd 0x0, rs 0x7ca3259784e69b17
+dclo $t0, $t1 :: rd 0x0, rs 0x51435d53
+dclo $v0, $v1 :: rd 0x6, rs 0xfc8d543ca1f24f5c
+dclo $t0, $t1 :: rd 0x0, rs 0x251d3b9e
+dclo $v0, $v1 :: rd 0x0, rs 0x4aeb6ca0e3459e36
+dclo $t0, $t1 :: rd 0x0, rs 0x21dc2629
+dclo $v0, $v1 :: rd 0x2, rs 0xc532e18e187980fa
+dclo $t0, $t1 :: rd 0x0, rs 0x2c9f00f0
+dclo $v0, $v1 :: rd 0x1, rs 0xb3fdec294f287d1c
+dclo $t0, $t1 :: rd 0x0, rs 0x285e1d47
+dclo $v0, $v1 :: rd 0x1, rs 0xb620660a49732b90
+dclo $t0, $t1 :: rd 0x0, rs 0x36194d42
+dclo $v0, $v1 :: rd 0x1, rs 0x993138f16cfde991
+dclo $t0, $t1 :: rd 0x0, rs 0x32d850f5
+dclo $v0, $v1 :: rd 0x2, rs 0xde02d1337d5407b9
+dclo $t0, $t1 :: rd 0x0, rs 0x3f9b762c
+dclo $v0, $v1 :: rd 0x0, rs 0x13a390e1e1dab15a
+dclo $t0, $t1 :: rd 0x0, rs 0x3b5a6b9b
+dclo $v0, $v1 :: rd 0x0, rs 0x743491a6828716c8
+dclo $t0, $t1 :: rd 0x0, rs 0x315d626
+dclo $v0, $v1 :: rd 0x1, rs 0x8cff404aede292f2
+dclo $t0, $t1 :: rd 0x0, rs 0x7d4cb91
+dclo $v0, $v1 :: rd 0x1, rs 0xb9cec0db1f837636
+dclo $t0, $t1 :: rd 0x0, rs 0xa97ed48
+dclo $v0, $v1 :: rd 0x0, rs 0x2eaa5aa70509771c
+dclo $t0, $t1 :: rd 0x0, rs 0xe56f0ff
+dclo $v0, $v1 :: rd 0x2, rs 0xd327538e1875241b
+dclo $t0, $t1 :: rd 0x0, rs 0x1011a0fa
+dclo $v0, $v1 :: rd 0x0, rs 0x42e9f8548b739b6b
+dclo $t0, $t1 :: rd 0x0, rs 0x14d0bd4d
+dclo $v0, $v1 :: rd 0x0, rs 0x78e4e50ceccbba1a
+dclo $t0, $t1 :: rd 0x0, rs 0x19939b94
+dclo $v0, $v1 :: rd 0x4, rs 0xf6b6fa3fcd9d27cb
+dclo $t0, $t1 :: rd 0x0, rs 0x1d528623
+dclo $v0, $v1 :: rd 0x0, rs 0x73916483ae3e9423
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff12f560e
+dclo $v0, $v1 :: rd 0x0, rs 0x276af70a0e128561
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff5ee4bb9
+dclo $v0, $v1 :: rd 0x0, rs 0x3045bf6b5e74b6e
+dclo $t0, $t1 :: rd 0x25, rs 0xfffffffff8ad6d60
+dclo $v0, $v1 :: rd 0x0, rs 0x20223f1308accfa6
+dclo $t0, $t1 :: rd 0x26, rs 0xfffffffffc6c70d7
+dclo $v0, $v1 :: rd 0x5, rs 0xf83c55743976b5f5
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe22b20d2
+dclo $v0, $v1 :: rd 0x0, rs 0x1f9720f946923c3d
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe6ea3d65
+dclo $v0, $v1 :: rd 0x0, rs 0x620d28506d2448dd
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffeba91bbc
+dclo $v0, $v1 :: rd 0x0, rs 0x60a521e99ff4a732
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffef68060b
+dclo $v0, $v1 :: rd 0x0, rs 0x5a08f3ab5c680f0b
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd727bbb6
+dclo $v0, $v1 :: rd 0x2, rs 0xc7a59be7800f3d26
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd3e6a601
+dclo $v0, $v1 :: rd 0x0, rs 0x1aecdf2982ca1b41
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffdea580d8
+dclo $v0, $v1 :: rd 0x0, rs 0x2b8613a260d19dcd
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffda649d6f
+dclo $v0, $v1 :: rd 0x0, rs 0x2518ac8b0e8bbe7f
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc423cd6a
+dclo $v0, $v1 :: rd 0x0, rs 0x743e568d2fcf486b
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x126f646f34c31728
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffcda1f604
+dclo $v0, $v1 :: rd 0x1, rs 0xaab0196156fc4d12
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x7535cd338595d342
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbd3e8d7e
+dclo $v0, $v1 :: rd 0x2, rs 0xdfb254da422346ec
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb9ff90c9
+dclo $v0, $v1 :: rd 0x1, rs 0xa86726c90081ab2a
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb4bcb610
+dclo $v0, $v1 :: rd 0x1, rs 0x9bfeffa1679d7438
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb07daba7
+dclo $v0, $v1 :: rd 0x2, rs 0xc7699826b7dee244
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffae3afba2
+dclo $v0, $v1 :: rd 0x0, rs 0x3c07af97fba6704a
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffaafbe615
+dclo $v0, $v1 :: rd 0x0, rs 0x521364dc04c58bfe
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa7b8c0cc
+dclo $v0, $v1 :: rd 0x3, rs 0xe0f7bb589ab7aebc
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa379dd7b
+dclo $v0, $v1 :: rd 0x3, rs 0xe336c60cdeeb954d
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9b3660c6
+dclo $v0, $v1 :: rd 0x2, rs 0xd5b2120c6f52416e
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9ff77d71
+dclo $v0, $v1 :: rd 0x1, rs 0x85a2d4ff7e628a34
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff92b45ba8
+dclo $v0, $v1 :: rd 0x1, rs 0x986a2b654a4e7e07
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9675461f
+dclo $v0, $v1 :: rd 0x1, rs 0xa974eac43a489b55
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8832161a
+dclo $v0, $v1 :: rd 0x1, rs 0xa388c16272f1f8f5
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8cf30bad
+dclo $v0, $v1 :: rd 0x3, rs 0xe8c11f45e7495ea9
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff81b02d74
+dclo $v0, $v1 :: rd 0x1, rs 0xadaa5a765cc1c8b4
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff857130c3
+dclo $v0, $v1 :: rd 0x0, rs 0x7ab4ce88dfa605c0
+dclo $t0, $t1 :: rd 0x0, rs 0x5d8a9099
+dclo $v0, $v1 :: rd 0x1, rs 0xb42ad6e659a7b04f
+dclo $t0, $t1 :: rd 0x0, rs 0x594b8d2e
+dclo $v0, $v1 :: rd 0x0, rs 0x4bf8485ab728922f
+dclo $t0, $t1 :: rd 0x0, rs 0x5408abf7
+dclo $v0, $v1 :: rd 0x0, rs 0x76a3d60c3b66a7fb
+dclo $t0, $t1 :: rd 0x0, rs 0x50c9b640
+dclo $v0, $v1 :: rd 0x0, rs 0x31e0c6affdc28eda
+dclo $t0, $t1 :: rd 0x0, rs 0x4e8ee645
+dclo $v0, $v1 :: rd 0x0, rs 0x53606bb4bf0c999d
+dclo $t0, $t1 :: rd 0x0, rs 0x4a4ffbf2
+dclo $v0, $v1 :: rd 0x0, rs 0x32fc12c81b7919f0
+dclo $t0, $t1 :: rd 0x0, rs 0x470cdd2b
+dclo $v0, $v1 :: rd 0x0, rs 0x3ef88384c72efcd6
+dclo $t0, $t1 :: rd 0x0, rs 0x43cdc09c
+dclo $v0, $v1 :: rd 0x0, rs 0x38b1c7bb6a2a3580
+dclo $t0, $t1 :: rd 0x0, rs 0x7b827d21
+dclo $v0, $v1 :: rd 0x0, rs 0x15ebf6121dca77c9
+dclo $t0, $t1 :: rd 0x0, rs 0x7f436096
+dclo $v0, $v1 :: rd 0x0, rs 0x5eaacdd9fd9147ae
+dclo $t0, $t1 :: rd 0x0, rs 0x7200464f
+dclo $v0, $v1 :: rd 0x1, rs 0xbb8470f981e91117
+dclo $t0, $t1 :: rd 0x0, rs 0x76c15bf8
+dclo $v0, $v1 :: rd 0x0, rs 0x5d42aeac6a532e0
+dclo $t0, $t1 :: rd 0x0, rs 0x68860bfd
+dclo $v0, $v1 :: rd 0x0, rs 0x14abf36419fb9e63
+dclo $t0, $t1 :: rd 0x0, rs 0x6c47164a
+dclo $v0, $v1 :: rd 0x0, rs 0x249d559aa8d72aac
+dclo $t0, $t1 :: rd 0x0, rs 0x61043093
+dclo $v0, $v1 :: rd 0x0, rs 0xcd6764f084b30ec
+dclo $t0, $t1 :: rd 0x0, rs 0x65c52d24
+dclo $v0, $v1 :: rd 0x0, rs 0x7f03ac0792468fdf
+dclo $t0, $t1 :: rd 0x0, rs 0x119b4be9
+dclo $v0, $v1 :: rd 0x0, rs 0x7e35ce6d56e670f5
+dclo $t0, $t1 :: rd 0x0, rs 0x155a565e
+dclo $v0, $v1 :: rd 0x0, rs 0x152828591a652711
+dclo $t0, $t1 :: rd 0x0, rs 0x18197087
+dclo $v0, $v1 :: rd 0x1, rs 0x9e1c3283d215a9fb
+dclo $t0, $t1 :: rd 0x0, rs 0x1cd86d30
+dclo $v0, $v1 :: rd 0x1, rs 0x8d95c049282a0417
+dclo $t0, $t1 :: rd 0x0, rs 0x29f3d35
+dclo $v0, $v1 :: rd 0x4, rs 0xf2e7a490978058f3
+dclo $t0, $t1 :: rd 0x0, rs 0x65e2082
+dclo $v0, $v1 :: rd 0x0, rs 0x775b4cca0975b1aa
+dclo $t0, $t1 :: rd 0x0, rs 0xb1d065b
+dclo $v0, $v1 :: rd 0x0, rs 0xa2b84a635111020
+dclo $t0, $t1 :: rd 0x0, rs 0xfdc1bec
+dclo $v0, $v1 :: rd 0x0, rs 0x23fa0d3a7d88b6f
+dclo $t0, $t1 :: rd 0x0, rs 0x3793a651
+dclo $v0, $v1 :: rd 0x1, rs 0xa3d991b79941dedd
+dclo $t0, $t1 :: rd 0x0, rs 0x3352bbe6
+dclo $v0, $v1 :: rd 0x0, rs 0x751cb4835a0d9508
+dclo $t0, $t1 :: rd 0x0, rs 0x3e119d3f
+dclo $v0, $v1 :: rd 0x1, rs 0x949cad35625bb2d3
+dclo $t0, $t1 :: rd 0x0, rs 0x3ad08088
+dclo $v0, $v1 :: rd 0x0, rs 0x7f567f35a6929739
+dclo $t0, $t1 :: rd 0x0, rs 0x2497d08d
+dclo $v0, $v1 :: rd 0x0, rs 0x185b88e0db8d7d27
+dclo $t0, $t1 :: rd 0x0, rs 0x2056cd3a
+dclo $v0, $v1 :: rd 0x0, rs 0x255a4cd22fd61b91
+dclo $t0, $t1 :: rd 0x0, rs 0x2d15ebe3
+dclo $v0, $v1 :: rd 0x0, rs 0x1048d589a4363f7b
+dclo $t0, $t1 :: rd 0x0, rs 0x29d4f654
+dclo $v0, $v1 :: rd 0x0, rs 0x6a6d5708f4605790
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc5a92679
+dclo $v0, $v1 :: rd 0x2, rs 0xd58ecbabde35697f
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc1683bce
+dclo $v0, $v1 :: rd 0x0, rs 0x575548fd08c0a5f1
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffcc2b1d17
+dclo $v0, $v1 :: rd 0x1, rs 0x8bb640fb8ed98ddb
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc8ea00a0
+dclo $v0, $v1 :: rd 0x1, rs 0xbe00d51eabc578cc
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd6ad50a5
+dclo $v0, $v1 :: rd 0x0, rs 0x2f7e224a1c170ab2
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd26c4d12
+dclo $v0, $v1 :: rd 0x1, rs 0xa978f12ca22256a7
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffdf2f6bcb
+dclo $v0, $v1 :: rd 0x1, rs 0x9950a93b811ee02f
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffdbee767c
+dclo $v0, $v1 :: rd 0x1, rs 0xb44eea93c6796a0c
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe3a1cbc1
+dclo $v0, $v1 :: rd 0x7, rs 0xfe71fca06c0eb657
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe760d676
+dclo $v0, $v1 :: rd 0x0, rs 0x4ed6393df818af57
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffea23f0af
+dclo $v0, $v1 :: rd 0x4, rs 0xf22e90200236770a
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffeee2ed18
+dclo $v0, $v1 :: rd 0x1, rs 0x81efb6c7afd0c45d
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff0a5bd1d
+dclo $v0, $v1 :: rd 0x3, rs 0xeed8f3518102315b
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff464a0aa
+dclo $v0, $v1 :: rd 0x1, rs 0xadafefb9995efd5e
+dclo $t0, $t1 :: rd 0x25, rs 0xfffffffff9278673
+dclo $v0, $v1 :: rd 0x0, rs 0x34061933eb253086
+dclo $t0, $t1 :: rd 0x26, rs 0xfffffffffde69bc4
+dclo $v0, $v1 :: rd 0x0, rs 0x1748da264b4c52bc
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff89b8fd09
+dclo $v0, $v1 :: rd 0x0, rs 0x34fdfc9a9302be89
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8d79e0be
+dclo $v0, $v1 :: rd 0x2, rs 0xd00278c3c521d180
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff803ac667
+dclo $v0, $v1 :: rd 0x3, rs 0xe90944a4c1d37a5d
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff84fbdbd0
+dclo $v0, $v1 :: rd 0x0, rs 0x65fd698fddef9839
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9abc8bd5
+dclo $v0, $v1 :: rd 0x2, rs 0xc49ee3ad81b5af52
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9e7d9662
+dclo $v0, $v1 :: rd 0x0, rs 0x7aa941e8bdb263e9
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff933eb0bb
+dclo $v0, $v1 :: rd 0x0, rs 0x372c209e42f3b58d
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff97ffad0c
+dclo $v0, $v1 :: rd 0x0, rs 0x30f870b7e122a83b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffafb010b1
+dclo $v0, $v1 :: rd 0x1, rs 0x9e02de4b678930ec
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffab710d06
+dclo $v0, $v1 :: rd 0x2, rs 0xcd61a8639826631e
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa6322bdf
+dclo $v0, $v1 :: rd 0x1, rs 0xae87bc899a7bd3ca
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa2f33668
+dclo $v0, $v1 :: rd 0x0, rs 0x58ec644d6481af17
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbcb4666d
+dclo $v0, $v1 :: rd 0x0, rs 0x680cce5fb236b666
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb8757bda
+dclo $v0, $v1 :: rd 0x0, rs 0x3baa99471f6d4d75
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb5365d03
+dclo $v0, $v1 :: rd 0x0, rs 0x614d9b445f12236b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb1f740b4
+dclo $v0, $v1 :: rd 0x1, rs 0xa2a6ec661ba84121
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x27, rs 0x12bd6aa
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x9, rs 0x7e876382d2ab13
+dclz $t0, $t1 :: rd 0x24, rs 0x9823b6e
+dclz $v0, $v1 :: rd 0x0, rs 0x976d6e9ac31510f3
+dclz $t0, $t1 :: rd 0x24, rs 0xd4326d9
+dclz $v0, $v1 :: rd 0x0, rs 0xb7746d775ad6a5fb
+dclz $t0, $t1 :: rd 0x23, rs 0x130476dc
+dclz $v0, $v1 :: rd 0x1, rs 0x42b0c0a28677b502
+dclz $t0, $t1 :: rd 0x23, rs 0x17c56b6b
+dclz $v0, $v1 :: rd 0x2, rs 0x2aa89d319e3c30ad
+dclz $t0, $t1 :: rd 0x23, rs 0x1a864db2
+dclz $v0, $v1 :: rd 0x3, rs 0x1f308ec377fb413d
+dclz $t0, $t1 :: rd 0x23, rs 0x1e475005
+dclz $v0, $v1 :: rd 0x1, rs 0x7aa04213c760e4f7
+dclz $t0, $t1 :: rd 0x22, rs 0x2608edb8
+dclz $v0, $v1 :: rd 0x0, rs 0x9e705cc51ad8dca0
+dclz $t0, $t1 :: rd 0x22, rs 0x22c9f00f
+dclz $v0, $v1 :: rd 0x1, rs 0x4b3dda869615a60d
+dclz $t0, $t1 :: rd 0x22, rs 0x2f8ad6d6
+dclz $v0, $v1 :: rd 0x5, rs 0x5e7a4dd6353d41d
+dclz $t0, $t1 :: rd 0x22, rs 0x2b4bcb61
+dclz $v0, $v1 :: rd 0x2, rs 0x3af35a9dc40bd413
+dclz $t0, $t1 :: rd 0x22, rs 0x350c9b64
+dclz $v0, $v1 :: rd 0x1, rs 0x47f505569a08a180
+dclz $t0, $t1 :: rd 0x22, rs 0x31cd86d3
+dclz $v0, $v1 :: rd 0x0, rs 0x9564b77fd6d2040f
+dclz $t0, $t1 :: rd 0x22, rs 0x3c8ea00a
+dclz $v0, $v1 :: rd 0x0, rs 0xcebc8279b2c76bbe
+dclz $t0, $t1 :: rd 0x22, rs 0x384fbdbd
+dclz $v0, $v1 :: rd 0x0, rs 0xb5034c2f1f18e4c7
+dclz $t0, $t1 :: rd 0x21, rs 0x4c11db70
+dclz $v0, $v1 :: rd 0x0, rs 0x94ff52fc81afa797
+dclz $t0, $t1 :: rd 0x21, rs 0x48d0c6c7
+dclz $v0, $v1 :: rd 0x2, rs 0x31d8d9166dfc50ea
+dclz $t0, $t1 :: rd 0x21, rs 0x4593e01e
+dclz $v0, $v1 :: rd 0x2, rs 0x36549bd678e895b1
+dclz $t0, $t1 :: rd 0x21, rs 0x4152fda9
+dclz $v0, $v1 :: rd 0x0, rs 0x85e0a6319b63259b
+dclz $t0, $t1 :: rd 0x21, rs 0x5f15adac
+dclz $v0, $v1 :: rd 0x1, rs 0x556b3ecaccf17ac5
+dclz $t0, $t1 :: rd 0x21, rs 0x5bd4b01b
+dclz $v0, $v1 :: rd 0x0, rs 0xb42f5fc581eea0fb
+dclz $t0, $t1 :: rd 0x21, rs 0x569796c2
+dclz $v0, $v1 :: rd 0x2, rs 0x25b50fec14682d97
+dclz $t0, $t1 :: rd 0x21, rs 0x52568b75
+dclz $v0, $v1 :: rd 0x0, rs 0xfc93c5132cfb087a
+dclz $t0, $t1 :: rd 0x21, rs 0x6a1936c8
+dclz $v0, $v1 :: rd 0x2, rs 0x3c2cd9a9cda20766
+dclz $t0, $t1 :: rd 0x21, rs 0x6ed82b7f
+dclz $v0, $v1 :: rd 0x3, rs 0x1791722a7d72da3e
+dclz $t0, $t1 :: rd 0x21, rs 0x639b0da6
+dclz $v0, $v1 :: rd 0x4, rs 0x87cc9d193ce24ad
+dclz $t0, $t1 :: rd 0x21, rs 0x675a1011
+dclz $v0, $v1 :: rd 0x3, rs 0x1d2a757038984ed2
+dclz $t0, $t1 :: rd 0x21, rs 0x791d4014
+dclz $v0, $v1 :: rd 0x0, rs 0xd0d070db710cd036
+dclz $t0, $t1 :: rd 0x21, rs 0x7ddc5da3
+dclz $v0, $v1 :: rd 0x2, rs 0x39c21c7d03415604
+dclz $t0, $t1 :: rd 0x21, rs 0x709f7b7a
+dclz $v0, $v1 :: rd 0x0, rs 0x8e94b7af8ecc31ce
+dclz $t0, $t1 :: rd 0x21, rs 0x745e66cd
+dclz $v0, $v1 :: rd 0x2, rs 0x24eb6a8d1ce7674f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9823b6e0
+dclz $v0, $v1 :: rd 0x2, rs 0x2f39454412d6e4a7
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9ce2ab57
+dclz $v0, $v1 :: rd 0x2, rs 0x2608c2b756da4c54
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff91a18d8e
+dclz $v0, $v1 :: rd 0x0, rs 0x900102dac8d7252f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff95609039
+dclz $v0, $v1 :: rd 0x0, rs 0xc890d5f1f2efa4f7
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8b27c03c
+dclz $v0, $v1 :: rd 0x0, rs 0xed5005cbc8b0a214
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8fe6dd8b
+dclz $v0, $v1 :: rd 0x2, rs 0x314791895991136c
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff82a5fb52
+dclz $v0, $v1 :: rd 0x0, rs 0xc6eecff99a2fb6f3
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8664e6e5
+dclz $v0, $v1 :: rd 0x0, rs 0xa809521238895270
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbe2b5b58
+dclz $v0, $v1 :: rd 0x0, rs 0x87750a04ad765040
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbaea46ef
+dclz $v0, $v1 :: rd 0x2, rs 0x2c3de85e84bb5a83
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb7a96036
+dclz $v0, $v1 :: rd 0x0, rs 0xae6aff8fc506aa67
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb3687d81
+dclz $v0, $v1 :: rd 0x0, rs 0xc07112dd60ed5ee3
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffad2f2d84
+dclz $v0, $v1 :: rd 0x0, rs 0xc4c770f630dcca5a
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa9ee3033
+dclz $v0, $v1 :: rd 0x0, rs 0xdfec2b2383cd5277
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa4ad16ea
+dclz $v0, $v1 :: rd 0x0, rs 0xd3adba260ff7d96b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa06c0b5d
+dclz $v0, $v1 :: rd 0x1, rs 0x4ab4aa798418c00e
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd4326d90
+dclz $v0, $v1 :: rd 0x0, rs 0xbb8c035e0de0f0b8
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd0f37027
+dclz $v0, $v1 :: rd 0x2, rs 0x33b06f54a97fdcf1
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffddb056fe
+dclz $v0, $v1 :: rd 0x1, rs 0x77433f373fd1c081
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd9714b49
+dclz $v0, $v1 :: rd 0x0, rs 0xec91d993c92195e4
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc7361b4c
+dclz $v0, $v1 :: rd 0x1, rs 0x49fbf6a795b1a5ab
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc3f706fb
+dclz $v0, $v1 :: rd 0x3, rs 0x19364378c7ce8d1e
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffceb42022
+dclz $v0, $v1 :: rd 0x0, rs 0xb99e8def2f384907
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffca753d95
+dclz $v0, $v1 :: rd 0x1, rs 0x47eacdcd582b12fe
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff23a8028
+dclz $v0, $v1 :: rd 0x0, rs 0xd685884e76558c4f
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff6fb9d9f
+dclz $v0, $v1 :: rd 0x1, rs 0x6168d62a34c195c7
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffffbb8bb46
+dclz $v0, $v1 :: rd 0x0, rs 0xd30169894df47405
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffff79a6f1
+dclz $v0, $v1 :: rd 0x3, rs 0x1ca190bf6cbb06db
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe13ef6f4
+dclz $v0, $v1 :: rd 0x1, rs 0x58300f029cae393a
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe5ffeb43
+dclz $v0, $v1 :: rd 0x0, rs 0x9a995fdbdc7ebc2d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe8bccd9a
+dclz $v0, $v1 :: rd 0x0, rs 0x8a96047be3405b48
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffec7dd02d
+dclz $v0, $v1 :: rd 0x1, rs 0x75bfafd2d519d322
+dclz $t0, $t1 :: rd 0x22, rs 0x34867077
+dclz $v0, $v1 :: rd 0x0, rs 0xde230867a630f6ad
+dclz $t0, $t1 :: rd 0x22, rs 0x30476dc0
+dclz $v0, $v1 :: rd 0x2, rs 0x2c0a0cf256103260
+dclz $t0, $t1 :: rd 0x22, rs 0x3d044b19
+dclz $v0, $v1 :: rd 0x0, rs 0x94a90544249b18ef
+dclz $t0, $t1 :: rd 0x22, rs 0x39c556ae
+dclz $v0, $v1 :: rd 0x0, rs 0xf9519fb55b56fcde
+dclz $t0, $t1 :: rd 0x22, rs 0x278206ab
+dclz $v0, $v1 :: rd 0x0, rs 0x81daf8200468319b
+dclz $t0, $t1 :: rd 0x22, rs 0x23431b1c
+dclz $v0, $v1 :: rd 0x0, rs 0x8c61ca5a5725f2ec
+dclz $t0, $t1 :: rd 0x22, rs 0x2e003dc5
+dclz $v0, $v1 :: rd 0x0, rs 0x8b95a6ddc25dc8bf
+dclz $t0, $t1 :: rd 0x22, rs 0x2ac12072
+dclz $v0, $v1 :: rd 0x2, rs 0x300ce751dac6162f
+dclz $t0, $t1 :: rd 0x23, rs 0x128e9dcf
+dclz $v0, $v1 :: rd 0x1, rs 0x6778fdf3ba52a850
+dclz $t0, $t1 :: rd 0x23, rs 0x164f8078
+dclz $v0, $v1 :: rd 0x0, rs 0xad00b1f7da78479f
+dclz $t0, $t1 :: rd 0x23, rs 0x1b0ca6a1
+dclz $v0, $v1 :: rd 0x4, rs 0x8d44168a6b6d98a
+dclz $t0, $t1 :: rd 0x23, rs 0x1fcdbb16
+dclz $v0, $v1 :: rd 0x0, rs 0xf518381dce634413
+dclz $t0, $t1 :: rd 0x27, rs 0x18aeb13
+dclz $v0, $v1 :: rd 0x0, rs 0xe4627f3fe5255fc0
+dclz $t0, $t1 :: rd 0x25, rs 0x54bf6a4
+dclz $v0, $v1 :: rd 0x0, rs 0xccd392e176321f28
+dclz $t0, $t1 :: rd 0x24, rs 0x808d07d
+dclz $v0, $v1 :: rd 0x0, rs 0x829464944018fd8f
+dclz $t0, $t1 :: rd 0x24, rs 0xcc9cdca
+dclz $v0, $v1 :: rd 0x3, rs 0x15d3204052e8f0e5
+dclz $t0, $t1 :: rd 0x21, rs 0x7897ab07
+dclz $v0, $v1 :: rd 0x1, rs 0x7caf83d2880ff344
+dclz $t0, $t1 :: rd 0x21, rs 0x7c56b6b0
+dclz $v0, $v1 :: rd 0x0, rs 0xf156a04c747defd7
+dclz $t0, $t1 :: rd 0x21, rs 0x71159069
+dclz $v0, $v1 :: rd 0x0, rs 0x93e2601c0f31d710
+dclz $t0, $t1 :: rd 0x21, rs 0x75d48dde
+dclz $v0, $v1 :: rd 0x0, rs 0xe1e1a679131cd933
+dclz $t0, $t1 :: rd 0x21, rs 0x6b93dddb
+dclz $v0, $v1 :: rd 0x2, rs 0x24296b75a76fa427
+dclz $t0, $t1 :: rd 0x21, rs 0x6f52c06c
+dclz $v0, $v1 :: rd 0x0, rs 0xd296e2d2139ee56a
+dclz $t0, $t1 :: rd 0x21, rs 0x6211e6b5
+dclz $v0, $v1 :: rd 0x1, rs 0x5a82447f6dc2a5c0
+dclz $t0, $t1 :: rd 0x21, rs 0x66d0fb02
+dclz $v0, $v1 :: rd 0x1, rs 0x76c89e80c07dc168
+dclz $t0, $t1 :: rd 0x21, rs 0x5e9f46bf
+dclz $v0, $v1 :: rd 0x5, rs 0x70dc3454bfe348f
+dclz $t0, $t1 :: rd 0x21, rs 0x5a5e5b08
+dclz $v0, $v1 :: rd 0x0, rs 0xbddc7123dd6d241b
+dclz $t0, $t1 :: rd 0x21, rs 0x571d7dd1
+dclz $v0, $v1 :: rd 0x0, rs 0xf62fb727a59fcebe
+dclz $t0, $t1 :: rd 0x21, rs 0x53dc6066
+dclz $v0, $v1 :: rd 0x3, rs 0x109f27e90f9f46fb
+dclz $t0, $t1 :: rd 0x21, rs 0x4d9b3063
+dclz $v0, $v1 :: rd 0x2, rs 0x3f63daa9afd199d7
+dclz $t0, $t1 :: rd 0x21, rs 0x495a2dd4
+dclz $v0, $v1 :: rd 0x0, rs 0xdbcb312ea3d484f2
+dclz $t0, $t1 :: rd 0x21, rs 0x44190b0d
+dclz $v0, $v1 :: rd 0x3, rs 0x1f353faada4fe4c6
+dclz $t0, $t1 :: rd 0x21, rs 0x40d816ba
+dclz $v0, $v1 :: rd 0x0, rs 0x8b086ee07150c260
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffaca5c697
+dclz $v0, $v1 :: rd 0x0, rs 0xe54750d5d9257f25
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa864db20
+dclz $v0, $v1 :: rd 0x2, rs 0x3d69625fe9a6db5b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa527fdf9
+dclz $v0, $v1 :: rd 0x1, rs 0x70a3e0424340ac96
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa1e6e04e
+dclz $v0, $v1 :: rd 0x0, rs 0xc0478f036980171e
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbfa1b04b
+dclz $v0, $v1 :: rd 0x2, rs 0x3ce839a51cf929e3
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbb60adfc
+dclz $v0, $v1 :: rd 0x0, rs 0xe2fbfa895eb68958
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb6238b25
+dclz $v0, $v1 :: rd 0x0, rs 0xd24bb05d76ed25b7
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb2e29692
+dclz $v0, $v1 :: rd 0x4, rs 0xeb9682c170312f1
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8aad2b2f
+dclz $v0, $v1 :: rd 0x0, rs 0x84785280dd301d0d
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x3, rs 0x179c77aa1f8fd6ef
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x2, rs 0x26444ced2998436d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff87ee0df6
+dclz $v0, $v1 :: rd 0x5, rs 0x7175c9dd58ca708
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff99a95df3
+dclz $v0, $v1 :: rd 0x1, rs 0x663d061055833287
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9d684044
+dclz $v0, $v1 :: rd 0x0, rs 0xab7dd0488951d68b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff902b669d
+dclz $v0, $v1 :: rd 0x0, rs 0xf69823670e82471b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff94ea7b2a
+dclz $v0, $v1 :: rd 0x2, rs 0x36886c59d98d26b2
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe0b41de7
+dclz $v0, $v1 :: rd 0x4, rs 0x9ca4bdbd32be479
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe4750050
+dclz $v0, $v1 :: rd 0x0, rs 0xfd5d7d1d9962e61f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe9362689
+dclz $v0, $v1 :: rd 0x2, rs 0x3f46553ecad374df
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffedf73b3e
+dclz $v0, $v1 :: rd 0x2, rs 0x2e9ab97d3eedf2a7
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff3b06b3b
+dclz $v0, $v1 :: rd 0x2, rs 0x36a6f7fa3c0c9f33
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff771768c
+dclz $v0, $v1 :: rd 0x0, rs 0x8bb938e3155ec9dc
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffffa325055
+dclz $v0, $v1 :: rd 0x0, rs 0xd2df25c419478206
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffffef34de2
+dclz $v0, $v1 :: rd 0x0, rs 0xbc65bf27eb321825
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc6bcf05f
+dclz $v0, $v1 :: rd 0x0, rs 0xa8b08fe67a8bc7da
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc27dede8
+dclz $v0, $v1 :: rd 0x0, rs 0x852b5bcaf8dfcde8
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffcf3ecb31
+dclz $v0, $v1 :: rd 0x5, rs 0x478909b59a99269
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffcbffd686
+dclz $v0, $v1 :: rd 0x0, rs 0xbfb31cc87857360f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd5b88683
+dclz $v0, $v1 :: rd 0x0, rs 0xb665ed5e7f89e9a2
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd1799b34
+dclz $v0, $v1 :: rd 0x3, rs 0x15da9474b7a8d5e4
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffdc3abded
+dclz $v0, $v1 :: rd 0x0, rs 0xf6b3537d2af90fcc
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd8fba05a
+dclz $v0, $v1 :: rd 0x2, rs 0x223d7cfe2b961897
+dclz $t0, $t1 :: rd 0x21, rs 0x690ce0ee
+dclz $v0, $v1 :: rd 0x1, rs 0x420b34f533734a4b
+dclz $t0, $t1 :: rd 0x21, rs 0x6dcdfd59
+dclz $v0, $v1 :: rd 0x0, rs 0x897c8c8ddd46b33c
+dclz $t0, $t1 :: rd 0x21, rs 0x608edb80
+dclz $v0, $v1 :: rd 0x1, rs 0x7a387445e392ccd9
+dclz $t0, $t1 :: rd 0x21, rs 0x644fc637
+dclz $v0, $v1 :: rd 0x1, rs 0x512f29b1d80000c9
+dclz $t0, $t1 :: rd 0x21, rs 0x7a089632
+dclz $v0, $v1 :: rd 0x0, rs 0xeaded5c53dad020a
+dclz $t0, $t1 :: rd 0x21, rs 0x7ec98b85
+dclz $v0, $v1 :: rd 0x0, rs 0x8a6229d731eea35b
+dclz $t0, $t1 :: rd 0x21, rs 0x738aad5c
+dclz $v0, $v1 :: rd 0x2, rs 0x2c3c3f9e48985649
+dclz $t0, $t1 :: rd 0x21, rs 0x774bb0eb
+dclz $v0, $v1 :: rd 0x1, rs 0x7ff61e78dc9c0b77
+dclz $t0, $t1 :: rd 0x21, rs 0x4f040d56
+dclz $v0, $v1 :: rd 0x2, rs 0x2299b0e01d5e68ec
+dclz $t0, $t1 :: rd 0x21, rs 0x4bc510e1
+dclz $v0, $v1 :: rd 0x1, rs 0x7c3b04673d0c6e25
+dclz $t0, $t1 :: rd 0x21, rs 0x46863638
+dclz $v0, $v1 :: rd 0x3, rs 0x164e17c1e7fb6587
+dclz $t0, $t1 :: rd 0x21, rs 0x42472b8f
+dclz $v0, $v1 :: rd 0x0, rs 0xfa4ca28b56d4950b
+dclz $t0, $t1 :: rd 0x21, rs 0x5c007b8a
+dclz $v0, $v1 :: rd 0x0, rs 0xe5e9a314be7fa08a
+dclz $t0, $t1 :: rd 0x21, rs 0x58c1663d
+dclz $v0, $v1 :: rd 0x0, rs 0xf8be8164159649c5
+dclz $t0, $t1 :: rd 0x21, rs 0x558240e4
+dclz $v0, $v1 :: rd 0x1, rs 0x7ca3259784e69b17
+dclz $t0, $t1 :: rd 0x21, rs 0x51435d53
+dclz $v0, $v1 :: rd 0x0, rs 0xfc8d543ca1f24f5c
+dclz $t0, $t1 :: rd 0x22, rs 0x251d3b9e
+dclz $v0, $v1 :: rd 0x1, rs 0x4aeb6ca0e3459e36
+dclz $t0, $t1 :: rd 0x22, rs 0x21dc2629
+dclz $v0, $v1 :: rd 0x0, rs 0xc532e18e187980fa
+dclz $t0, $t1 :: rd 0x22, rs 0x2c9f00f0
+dclz $v0, $v1 :: rd 0x0, rs 0xb3fdec294f287d1c
+dclz $t0, $t1 :: rd 0x22, rs 0x285e1d47
+dclz $v0, $v1 :: rd 0x0, rs 0xb620660a49732b90
+dclz $t0, $t1 :: rd 0x22, rs 0x36194d42
+dclz $v0, $v1 :: rd 0x0, rs 0x993138f16cfde991
+dclz $t0, $t1 :: rd 0x22, rs 0x32d850f5
+dclz $v0, $v1 :: rd 0x0, rs 0xde02d1337d5407b9
+dclz $t0, $t1 :: rd 0x22, rs 0x3f9b762c
+dclz $v0, $v1 :: rd 0x3, rs 0x13a390e1e1dab15a
+dclz $t0, $t1 :: rd 0x22, rs 0x3b5a6b9b
+dclz $v0, $v1 :: rd 0x1, rs 0x743491a6828716c8
+dclz $t0, $t1 :: rd 0x26, rs 0x315d626
+dclz $v0, $v1 :: rd 0x0, rs 0x8cff404aede292f2
+dclz $t0, $t1 :: rd 0x25, rs 0x7d4cb91
+dclz $v0, $v1 :: rd 0x0, rs 0xb9cec0db1f837636
+dclz $t0, $t1 :: rd 0x24, rs 0xa97ed48
+dclz $v0, $v1 :: rd 0x2, rs 0x2eaa5aa70509771c
+dclz $t0, $t1 :: rd 0x24, rs 0xe56f0ff
+dclz $v0, $v1 :: rd 0x0, rs 0xd327538e1875241b
+dclz $t0, $t1 :: rd 0x23, rs 0x1011a0fa
+dclz $v0, $v1 :: rd 0x1, rs 0x42e9f8548b739b6b
+dclz $t0, $t1 :: rd 0x23, rs 0x14d0bd4d
+dclz $v0, $v1 :: rd 0x1, rs 0x78e4e50ceccbba1a
+dclz $t0, $t1 :: rd 0x23, rs 0x19939b94
+dclz $v0, $v1 :: rd 0x0, rs 0xf6b6fa3fcd9d27cb
+dclz $t0, $t1 :: rd 0x23, rs 0x1d528623
+dclz $v0, $v1 :: rd 0x1, rs 0x73916483ae3e9423
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff12f560e
+dclz $v0, $v1 :: rd 0x2, rs 0x276af70a0e128561
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff5ee4bb9
+dclz $v0, $v1 :: rd 0x6, rs 0x3045bf6b5e74b6e
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff8ad6d60
+dclz $v0, $v1 :: rd 0x2, rs 0x20223f1308accfa6
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffffc6c70d7
+dclz $v0, $v1 :: rd 0x0, rs 0xf83c55743976b5f5
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe22b20d2
+dclz $v0, $v1 :: rd 0x3, rs 0x1f9720f946923c3d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe6ea3d65
+dclz $v0, $v1 :: rd 0x1, rs 0x620d28506d2448dd
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffeba91bbc
+dclz $v0, $v1 :: rd 0x1, rs 0x60a521e99ff4a732
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffef68060b
+dclz $v0, $v1 :: rd 0x1, rs 0x5a08f3ab5c680f0b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd727bbb6
+dclz $v0, $v1 :: rd 0x0, rs 0xc7a59be7800f3d26
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd3e6a601
+dclz $v0, $v1 :: rd 0x3, rs 0x1aecdf2982ca1b41
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffdea580d8
+dclz $v0, $v1 :: rd 0x2, rs 0x2b8613a260d19dcd
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffda649d6f
+dclz $v0, $v1 :: rd 0x2, rs 0x2518ac8b0e8bbe7f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc423cd6a
+dclz $v0, $v1 :: rd 0x1, rs 0x743e568d2fcf486b
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x3, rs 0x126f646f34c31728
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffcda1f604
+dclz $v0, $v1 :: rd 0x0, rs 0xaab0196156fc4d12
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x1, rs 0x7535cd338595d342
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbd3e8d7e
+dclz $v0, $v1 :: rd 0x0, rs 0xdfb254da422346ec
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb9ff90c9
+dclz $v0, $v1 :: rd 0x0, rs 0xa86726c90081ab2a
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb4bcb610
+dclz $v0, $v1 :: rd 0x0, rs 0x9bfeffa1679d7438
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb07daba7
+dclz $v0, $v1 :: rd 0x0, rs 0xc7699826b7dee244
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffae3afba2
+dclz $v0, $v1 :: rd 0x2, rs 0x3c07af97fba6704a
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffaafbe615
+dclz $v0, $v1 :: rd 0x1, rs 0x521364dc04c58bfe
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa7b8c0cc
+dclz $v0, $v1 :: rd 0x0, rs 0xe0f7bb589ab7aebc
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa379dd7b
+dclz $v0, $v1 :: rd 0x0, rs 0xe336c60cdeeb954d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9b3660c6
+dclz $v0, $v1 :: rd 0x0, rs 0xd5b2120c6f52416e
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9ff77d71
+dclz $v0, $v1 :: rd 0x0, rs 0x85a2d4ff7e628a34
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff92b45ba8
+dclz $v0, $v1 :: rd 0x0, rs 0x986a2b654a4e7e07
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9675461f
+dclz $v0, $v1 :: rd 0x0, rs 0xa974eac43a489b55
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8832161a
+dclz $v0, $v1 :: rd 0x0, rs 0xa388c16272f1f8f5
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8cf30bad
+dclz $v0, $v1 :: rd 0x0, rs 0xe8c11f45e7495ea9
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff81b02d74
+dclz $v0, $v1 :: rd 0x0, rs 0xadaa5a765cc1c8b4
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff857130c3
+dclz $v0, $v1 :: rd 0x1, rs 0x7ab4ce88dfa605c0
+dclz $t0, $t1 :: rd 0x21, rs 0x5d8a9099
+dclz $v0, $v1 :: rd 0x0, rs 0xb42ad6e659a7b04f
+dclz $t0, $t1 :: rd 0x21, rs 0x594b8d2e
+dclz $v0, $v1 :: rd 0x1, rs 0x4bf8485ab728922f
+dclz $t0, $t1 :: rd 0x21, rs 0x5408abf7
+dclz $v0, $v1 :: rd 0x1, rs 0x76a3d60c3b66a7fb
+dclz $t0, $t1 :: rd 0x21, rs 0x50c9b640
+dclz $v0, $v1 :: rd 0x2, rs 0x31e0c6affdc28eda
+dclz $t0, $t1 :: rd 0x21, rs 0x4e8ee645
+dclz $v0, $v1 :: rd 0x1, rs 0x53606bb4bf0c999d
+dclz $t0, $t1 :: rd 0x21, rs 0x4a4ffbf2
+dclz $v0, $v1 :: rd 0x2, rs 0x32fc12c81b7919f0
+dclz $t0, $t1 :: rd 0x21, rs 0x470cdd2b
+dclz $v0, $v1 :: rd 0x2, rs 0x3ef88384c72efcd6
+dclz $t0, $t1 :: rd 0x21, rs 0x43cdc09c
+dclz $v0, $v1 :: rd 0x2, rs 0x38b1c7bb6a2a3580
+dclz $t0, $t1 :: rd 0x21, rs 0x7b827d21
+dclz $v0, $v1 :: rd 0x3, rs 0x15ebf6121dca77c9
+dclz $t0, $t1 :: rd 0x21, rs 0x7f436096
+dclz $v0, $v1 :: rd 0x1, rs 0x5eaacdd9fd9147ae
+dclz $t0, $t1 :: rd 0x21, rs 0x7200464f
+dclz $v0, $v1 :: rd 0x0, rs 0xbb8470f981e91117
+dclz $t0, $t1 :: rd 0x21, rs 0x76c15bf8
+dclz $v0, $v1 :: rd 0x5, rs 0x5d42aeac6a532e0
+dclz $t0, $t1 :: rd 0x21, rs 0x68860bfd
+dclz $v0, $v1 :: rd 0x3, rs 0x14abf36419fb9e63
+dclz $t0, $t1 :: rd 0x21, rs 0x6c47164a
+dclz $v0, $v1 :: rd 0x2, rs 0x249d559aa8d72aac
+dclz $t0, $t1 :: rd 0x21, rs 0x61043093
+dclz $v0, $v1 :: rd 0x4, rs 0xcd6764f084b30ec
+dclz $t0, $t1 :: rd 0x21, rs 0x65c52d24
+dclz $v0, $v1 :: rd 0x1, rs 0x7f03ac0792468fdf
+dclz $t0, $t1 :: rd 0x23, rs 0x119b4be9
+dclz $v0, $v1 :: rd 0x1, rs 0x7e35ce6d56e670f5
+dclz $t0, $t1 :: rd 0x23, rs 0x155a565e
+dclz $v0, $v1 :: rd 0x3, rs 0x152828591a652711
+dclz $t0, $t1 :: rd 0x23, rs 0x18197087
+dclz $v0, $v1 :: rd 0x0, rs 0x9e1c3283d215a9fb
+dclz $t0, $t1 :: rd 0x23, rs 0x1cd86d30
+dclz $v0, $v1 :: rd 0x0, rs 0x8d95c049282a0417
+dclz $t0, $t1 :: rd 0x26, rs 0x29f3d35
+dclz $v0, $v1 :: rd 0x0, rs 0xf2e7a490978058f3
+dclz $t0, $t1 :: rd 0x25, rs 0x65e2082
+dclz $v0, $v1 :: rd 0x1, rs 0x775b4cca0975b1aa
+dclz $t0, $t1 :: rd 0x24, rs 0xb1d065b
+dclz $v0, $v1 :: rd 0x4, rs 0xa2b84a635111020
+dclz $t0, $t1 :: rd 0x24, rs 0xfdc1bec
+dclz $v0, $v1 :: rd 0x6, rs 0x23fa0d3a7d88b6f
+dclz $t0, $t1 :: rd 0x22, rs 0x3793a651
+dclz $v0, $v1 :: rd 0x0, rs 0xa3d991b79941dedd
+dclz $t0, $t1 :: rd 0x22, rs 0x3352bbe6
+dclz $v0, $v1 :: rd 0x1, rs 0x751cb4835a0d9508
+dclz $t0, $t1 :: rd 0x22, rs 0x3e119d3f
+dclz $v0, $v1 :: rd 0x0, rs 0x949cad35625bb2d3
+dclz $t0, $t1 :: rd 0x22, rs 0x3ad08088
+dclz $v0, $v1 :: rd 0x1, rs 0x7f567f35a6929739
+dclz $t0, $t1 :: rd 0x22, rs 0x2497d08d
+dclz $v0, $v1 :: rd 0x3, rs 0x185b88e0db8d7d27
+dclz $t0, $t1 :: rd 0x22, rs 0x2056cd3a
+dclz $v0, $v1 :: rd 0x2, rs 0x255a4cd22fd61b91
+dclz $t0, $t1 :: rd 0x22, rs 0x2d15ebe3
+dclz $v0, $v1 :: rd 0x3, rs 0x1048d589a4363f7b
+dclz $t0, $t1 :: rd 0x22, rs 0x29d4f654
+dclz $v0, $v1 :: rd 0x1, rs 0x6a6d5708f4605790
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc5a92679
+dclz $v0, $v1 :: rd 0x0, rs 0xd58ecbabde35697f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc1683bce
+dclz $v0, $v1 :: rd 0x1, rs 0x575548fd08c0a5f1
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffcc2b1d17
+dclz $v0, $v1 :: rd 0x0, rs 0x8bb640fb8ed98ddb
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc8ea00a0
+dclz $v0, $v1 :: rd 0x0, rs 0xbe00d51eabc578cc
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd6ad50a5
+dclz $v0, $v1 :: rd 0x2, rs 0x2f7e224a1c170ab2
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd26c4d12
+dclz $v0, $v1 :: rd 0x0, rs 0xa978f12ca22256a7
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffdf2f6bcb
+dclz $v0, $v1 :: rd 0x0, rs 0x9950a93b811ee02f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffdbee767c
+dclz $v0, $v1 :: rd 0x0, rs 0xb44eea93c6796a0c
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe3a1cbc1
+dclz $v0, $v1 :: rd 0x0, rs 0xfe71fca06c0eb657
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe760d676
+dclz $v0, $v1 :: rd 0x1, rs 0x4ed6393df818af57
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffea23f0af
+dclz $v0, $v1 :: rd 0x0, rs 0xf22e90200236770a
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffeee2ed18
+dclz $v0, $v1 :: rd 0x0, rs 0x81efb6c7afd0c45d
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff0a5bd1d
+dclz $v0, $v1 :: rd 0x0, rs 0xeed8f3518102315b
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff464a0aa
+dclz $v0, $v1 :: rd 0x0, rs 0xadafefb9995efd5e
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff9278673
+dclz $v0, $v1 :: rd 0x2, rs 0x34061933eb253086
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffffde69bc4
+dclz $v0, $v1 :: rd 0x3, rs 0x1748da264b4c52bc
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff89b8fd09
+dclz $v0, $v1 :: rd 0x2, rs 0x34fdfc9a9302be89
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8d79e0be
+dclz $v0, $v1 :: rd 0x0, rs 0xd00278c3c521d180
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff803ac667
+dclz $v0, $v1 :: rd 0x0, rs 0xe90944a4c1d37a5d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff84fbdbd0
+dclz $v0, $v1 :: rd 0x1, rs 0x65fd698fddef9839
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9abc8bd5
+dclz $v0, $v1 :: rd 0x0, rs 0xc49ee3ad81b5af52
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9e7d9662
+dclz $v0, $v1 :: rd 0x1, rs 0x7aa941e8bdb263e9
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff933eb0bb
+dclz $v0, $v1 :: rd 0x2, rs 0x372c209e42f3b58d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff97ffad0c
+dclz $v0, $v1 :: rd 0x2, rs 0x30f870b7e122a83b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffafb010b1
+dclz $v0, $v1 :: rd 0x0, rs 0x9e02de4b678930ec
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffab710d06
+dclz $v0, $v1 :: rd 0x0, rs 0xcd61a8639826631e
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa6322bdf
+dclz $v0, $v1 :: rd 0x0, rs 0xae87bc899a7bd3ca
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa2f33668
+dclz $v0, $v1 :: rd 0x1, rs 0x58ec644d6481af17
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbcb4666d
+dclz $v0, $v1 :: rd 0x1, rs 0x680cce5fb236b666
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb8757bda
+dclz $v0, $v1 :: rd 0x2, rs 0x3baa99471f6d4d75
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb5365d03
+dclz $v0, $v1 :: rd 0x1, rs 0x614d9b445f12236b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb1f740b4
+dclz $v0, $v1 :: rd 0x0, rs 0xa2a6ec661ba84121
+ddiv $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x12bd6aa, rt 0xa2a6ec661ba84121, HI 0x12bd6aa, LO 0x0
+ddiv $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x7e876382d2ab13, rt 0x614d9b445f12236b, HI 0x7e876382d2ab13, LO 0x0
+ddiv $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x9823b6e, LO 0x0
+ddiv $v0, $v1 :: rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75, HI 0xd31807e1e2825e68, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xd4326d9, LO 0x0
+ddiv $v0, $v1 :: rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666, HI 0xb7746d775ad6a5fb, LO 0x0
+ddiv $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x130476dc, LO 0x0
+ddiv $v0, $v1 :: rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17, HI 0x42b0c0a28677b502, LO 0x0
+ddiv $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x17c56b6b, LO 0x0
+ddiv $v0, $v1 :: rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca, HI 0x2aa89d319e3c30ad, LO 0x0
+ddiv $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x1a864db2, LO 0x0
+ddiv $v0, $v1 :: rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e, HI 0x1f308ec377fb413d, LO 0x0
+ddiv $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x1e475005, LO 0x0
+ddiv $v0, $v1 :: rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec, HI 0x18a3205f2eea15e3, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x2608edb8, LO 0x0
+ddiv $v0, $v1 :: rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b, HI 0xcf68cd7cfbfb84db, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x22c9f00f, LO 0x0
+ddiv $v0, $v1 :: rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d, HI 0x1411b9e85321f080, LO 0x1
+ddiv $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x2f8ad6d6, LO 0x0
+ddiv $v0, $v1 :: rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9, HI 0x5e7a4dd6353d41d, LO 0x0
+ddiv $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x2b4bcb61, LO 0x0
+ddiv $v0, $v1 :: rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52, HI 0x3af35a9dc40bd413, LO 0x0
+ddiv $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x350c9b64, LO 0x0
+ddiv $v0, $v1 :: rs 0x47f505569a08a180, rt 0x65fd698fddef9839, HI 0x47f505569a08a180, LO 0x0
+ddiv $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x31cd86d3, LO 0x0
+ddiv $v0, $v1 :: rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d, HI 0xf13fa4eccf841a9b, LO 0x4
+ddiv $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x3c8ea00a, LO 0x0
+ddiv $v0, $v1 :: rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180, HI 0xfeba09b5eda59a3e, LO 0x1
+ddiv $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x384fbdbd, LO 0x0
+ddiv $v0, $v1 :: rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89, HI 0xea0148c9b21ba350, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x7fc300, LO 0xffffffffffffffdc
+ddiv $v0, $v1 :: rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc, HI 0xf222bb95aee0f287, LO 0xfffffffffffffffc
+ddiv $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x45c0745, LO 0xfffffffffffffff6
+ddiv $v0, $v1 :: rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086, HI 0x31d8d9166dfc50ea, LO 0x0
+ddiv $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0xb8b0370, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e, HI 0x36549bd678e895b1, LO 0x0
+ddiv $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x3e9f21d, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b, HI 0xfdf1fef71453cc1e, LO 0x7
+ddiv $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x9844f24, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d, HI 0x556b3ecaccf17ac5, LO 0x0
+ddiv $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x46472d7, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a, HI 0xf9468f2576de4dc9, LO 0x5
+ddiv $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0xcba1a24, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x25b50fec14682d97, rt 0x4ed6393df818af57, HI 0x25b50fec14682d97, LO 0x0
+ddiv $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x199a22f7, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657, HI 0xffafcbd254dd9bcc, LO 0x2
+ddiv $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x21f623c0, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c, HI 0x3c2cd9a9cda20766, LO 0x0
+ddiv $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xc666ee0, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f, HI 0x1791722a7d72da3e, LO 0x0
+ddiv $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x873a7ca, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7, HI 0x87cc9d193ce24ad, LO 0x0
+ddiv $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x14b4b15b, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2, HI 0x1d2a757038984ed2, LO 0x0
+ddiv $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xaf14154, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc, HI 0xd0d070db710cd036, LO 0x0
+ddiv $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x163297d1, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb, HI 0x39c21c7d03415604, LO 0x0
+ddiv $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x3207b748, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1, HI 0xe5ea00ac978cd7bf, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x3a078d46, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f, HI 0x24eb6a8d1ce7674f, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffebcda388, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790, HI 0x2f39454412d6e4a7, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xfffffffff70e831d, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b, HI 0x57717a40e6dcd5e, LO 0x2
+ddiv $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xfffffffff2a5f53c, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91, HI 0xdab59c7f28835c51, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffffde903153, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27, HI 0xf947e7b3aa0a9f45, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffc5f840c4, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739, HI 0xed5005cbc8b0a214, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffcdf87aca, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0x314791895991136c, rt 0x949cad35625bb2d3, HI 0x314791895991136c, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffffe94b731e, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508, HI 0xc6eecff99a2fb6f3, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xfffffffff58c3387, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xa809521238895270, rt 0xa3d991b79941dedd, HI 0xa809521238895270, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xfffffffffd9bcb08, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f, HI 0xfea155d66d4b2e3b, LO 0xffffffffffffffcb
+ddiv $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xfffffffffd986d11, LO 0xfffffffffffffffa
+ddiv $v0, $v1 :: rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020, HI 0x38fd5c5b0771a03, LO 0x4
+ddiv $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xfffffffffdb4c5cc, LO 0xfffffffffffffff5
+ddiv $v0, $v1 :: rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa, HI 0xae6aff8fc506aa67, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffff726c82, LO 0xffffffffffffffe3
+ddiv $v0, $v1 :: rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3, HI 0xf4d2809b02ebfb17, LO 0x4
+ddiv $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffe6e007e4, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417, HI 0xc4c770f630dcca5a, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xfffffffff23a81c8, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb, HI 0xdfec2b2383cd5277, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xfffffffffa167062, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0xd3adba260ff7d96b, rt 0x152828591a652711, HI 0xfdfe0ad844c2278d, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xfffffffff87486ea, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5, HI 0x4ab4aa798418c00e, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffd4326d90, LO 0x0
+ddiv $v0, $v1 :: rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf, HI 0xbb8c035e0de0f0b8, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffd0f37027, LO 0x0
+ddiv $v0, $v1 :: rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec, HI 0x56961888531941, LO 0x4
+ddiv $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xffffffffddb056fe, LO 0x0
+ddiv $v0, $v1 :: rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac, HI 0x96b3e67454c407d, LO 0x3
+ddiv $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffffd9714b49, LO 0x0
+ddiv $v0, $v1 :: rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63, HI 0xec91d993c92195e4, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffc7361b4c, LO 0x0
+ddiv $v0, $v1 :: rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0, HI 0x409f3a645f3432b, LO 0xc
+ddiv $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffc3f706fb, LO 0x0
+ddiv $v0, $v1 :: rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117, HI 0x19364378c7ce8d1e, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffceb42022, LO 0x0
+ddiv $v0, $v1 :: rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae, HI 0xb99e8def2f384907, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffca753d95, LO 0x0
+ddiv $v0, $v1 :: rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9, HI 0x626eb96fecbaba3, LO 0x3
+ddiv $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xfffffffff23a8028, LO 0x0
+ddiv $v0, $v1 :: rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580, HI 0xd685884e76558c4f, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xfffffffff6fb9d9f, LO 0x0
+ddiv $v0, $v1 :: rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6, HI 0x227052a56d9298f1, LO 0x1
+ddiv $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xfffffffffbb8bb46, LO 0x0
+ddiv $v0, $v1 :: rs 0xd30169894df47405, rt 0x32fc12c81b7919f0, HI 0xd30169894df47405, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffff79a6f1, LO 0x0
+ddiv $v0, $v1 :: rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d, HI 0x1ca190bf6cbb06db, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffffe13ef6f4, LO 0x0
+ddiv $v0, $v1 :: rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda, HI 0x264f48529eebaa60, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffffe5ffeb43, LO 0x0
+ddiv $v0, $v1 :: rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb, HI 0x9a995fdbdc7ebc2d, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xffffffffe8bccd9a, LO 0x0
+ddiv $v0, $v1 :: rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f, HI 0xd68e4cd69a68ed77, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xffffffffec7dd02d, LO 0x0
+ddiv $v0, $v1 :: rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f, HI 0x29ea86b92ec18371, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x34867077, LO 0x0
+ddiv $v0, $v1 :: rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0, HI 0xde230867a630f6ad, LO 0x0
+ddiv $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x30476dc0, LO 0x0
+ddiv $v0, $v1 :: rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4, HI 0x2c0a0cf256103260, LO 0x0
+ddiv $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x3d044b19, LO 0x0
+ddiv $v0, $v1 :: rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9, HI 0xf1a4882c87759e4b, LO 0x4
+ddiv $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x39c556ae, LO 0x0
+ddiv $v0, $v1 :: rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5, HI 0xf9519fb55b56fcde, LO 0x0
+ddiv $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x278206ab, LO 0x0
+ddiv $v0, $v1 :: rs 0x81daf8200468319b, rt 0xa974eac43a489b55, HI 0xd8660d5bca1f9646, LO 0x1
+ddiv $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x23431b1c, LO 0x0
+ddiv $v0, $v1 :: rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07, HI 0xf3f79ef50cd774e5, LO 0x1
+ddiv $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x2e003dc5, LO 0x0
+ddiv $v0, $v1 :: rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34, HI 0x8b95a6ddc25dc8bf, LO 0x0
+ddiv $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x2ac12072, LO 0x0
+ddiv $v0, $v1 :: rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e, HI 0x5bef95e4a18579d, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x128e9dcf, LO 0x0
+ddiv $v0, $v1 :: rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d, HI 0x111d501a57156837, LO 0xfffffffffffffffd
+ddiv $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x164f8078, LO 0x0
+ddiv $v0, $v1 :: rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc, HI 0xeb113b46a508ea27, LO 0x2
+ddiv $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1b0ca6a1, LO 0x0
+ddiv $v0, $v1 :: rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe, HI 0x8d44168a6b6d98a, LO 0x0
+ddiv $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x1fcdbb16, LO 0x0
+ddiv $v0, $v1 :: rs 0xf518381dce634413, rt 0x3c07af97fba6704a, HI 0xf518381dce634413, LO 0x0
+ddiv $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x18aeb13, LO 0x0
+ddiv $v0, $v1 :: rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244, HI 0xe4627f3fe5255fc0, LO 0x0
+ddiv $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x54bf6a4, LO 0x0
+ddiv $v0, $v1 :: rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438, HI 0xccd392e176321f28, LO 0x0
+ddiv $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x808d07d, LO 0x0
+ddiv $v0, $v1 :: rs 0x829464944018fd8f, rt 0xa86726c90081ab2a, HI 0xda2d3dcb3f975265, LO 0x1
+ddiv $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xcc9cdca, LO 0x0
+ddiv $v0, $v1 :: rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec, HI 0x15d3204052e8f0e5, LO 0x0
+ddiv $v0, $v1 :: rs 0x7caf83d2880ff344, rt 0x7535cd338595d342, HI 0x779b69f027a2002, LO 0x1
+ddiv $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x179aa2b8, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12, HI 0xf156a04c747defd7, LO 0x0
+ddiv $v0, $v1 :: rs 0x93e2601c0f31d710, rt 0x126f646f34c31728, HI 0xf00f564817014ad8, LO 0xfffffffffffffffb
+ddiv $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x39f85b48, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b, HI 0xe1e1a679131cd933, LO 0x0
+ddiv $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x205d18b9, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f, HI 0x24296b75a76fa427, LO 0x0
+ddiv $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xb4342f4, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd, HI 0xfe1cf67474708337, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x9df32b7, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41, HI 0x9bba702e56453fd, LO 0x3
+ddiv $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x1520726e, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26, HI 0x613d64fc09c3bb4, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0xba764f6, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b, HI 0x70dc3454bfe348f, LO 0x0
+ddiv $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x902c9f8, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732, HI 0xbddc7123dd6d241b, LO 0x0
+ddiv $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0xbdc3600, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd, HI 0xf62fb727a59fcebe, LO 0x0
+ddiv $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x1832a20a, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d, HI 0x109f27e90f9f46fb, LO 0x0
+ddiv $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x2807206, LO 0xffffffffffffffeb
+ddiv $v0, $v1 :: rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5, HI 0x146864b7b87497f, LO 0xfffffffffffffff8
+ddiv $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x207394, LO 0xfffffffffffffff6
+ddiv $v0, $v1 :: rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6, HI 0xfbed7041ac815498, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x7aed163, LO 0xfffffffffffffffa
+ddiv $v0, $v1 :: rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e, HI 0x109a807bf46f27a, LO 0xa
+ddiv $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x5956ef2, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x8b086ee07150c260, rt 0x276af70a0e128561, HI 0xd9de5cf48d75cd22, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffe74ad2dd, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423, HI 0xe54750d5d9257f25, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xfffffffff51faddc, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb, HI 0x5b33fdebb55ca1d, LO 0xfffffffffffffffa
+ddiv $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xfffffffff86af32d, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a, HI 0x70a3e0424340ac96, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xfffffffff23f0530, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b, HI 0xc0478f036980171e, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xfffffffff8fd7447, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b, HI 0x100f8d33356e4dfe, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xfffffffffaf03dac, LO 0xfffffffffffffffa
+ddiv $v0, $v1 :: rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c, HI 0xe2fbfa895eb68958, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xfffffffffc9eb33e, LO 0xfffffffffffffff7
+ddiv $v0, $v1 :: rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636, HI 0xd24bb05d76ed25b7, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xfffffffffceeaa22, LO 0xffffffffffffffe8
+ddiv $v0, $v1 :: rs 0xeb9682c170312f1, rt 0x8cff404aede292f2, HI 0xeb9682c170312f1, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffc60796ca, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0x84785280dd301d0d, rt 0x743491a6828716c8, HI 0xf8ace4275fb733d5, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a, HI 0x3f8e6c83db52595, LO 0x1
+ddiv $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x26444ced2998436d, rt 0xde02d1337d5407b9, HI 0x4471e20a6ec4b26, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xfffffffff420a87a, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7175c9dd58ca708, rt 0x993138f16cfde991, HI 0x7175c9dd58ca708, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffea659881, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x663d061055833287, rt 0xb620660a49732b90, HI 0x1c5d6c1a9ef65e17, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xfffffffff6a64224, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c, HI 0xf77fe41f3a29596f, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xfffffffff5bfd918, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xf69823670e82471b, rt 0xc532e18e187980fa, HI 0xf69823670e82471b, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffffdf24f266, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36, HI 0x36886c59d98d26b2, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffffe0b41de7, LO 0x0
+ddiv $v0, $v1 :: rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c, HI 0x2e4f45517108331, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffffe4750050, LO 0x0
+ddiv $v0, $v1 :: rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17, HI 0xfd5d7d1d9962e61f, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xffffffffe9362689, LO 0x0
+ddiv $v0, $v1 :: rs 0x3f46553ecad374df, rt 0xf8be8164159649c5, HI 0x53a605f7785c307, LO 0xfffffffffffffff8
+ddiv $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xffffffffedf73b3e, LO 0x0
+ddiv $v0, $v1 :: rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a, HI 0x14845c91fd6d9331, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xfffffffff3b06b3b, LO 0x0
+ddiv $v0, $v1 :: rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b, HI 0x358aee04985dc96, LO 0xfffffffffffffff7
+ddiv $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xfffffffff771768c, LO 0x0
+ddiv $v0, $v1 :: rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587, HI 0xfb3fafac9d47c57f, LO 0xfffffffffffffffb
+ddiv $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xfffffffffa325055, LO 0x0
+ddiv $v0, $v1 :: rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25, HI 0xd2df25c419478206, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xfffffffffef34de2, LO 0x0
+ddiv $v0, $v1 :: rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec, HI 0xdeff700808908111, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffc6bcf05f, LO 0x0
+ddiv $v0, $v1 :: rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77, HI 0xa8b08fe67a8bc7da, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffc27dede8, LO 0x0
+ddiv $v0, $v1 :: rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649, HI 0xdda3db078a107a7a, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffcf3ecb31, LO 0x0
+ddiv $v0, $v1 :: rs 0x478909b59a99269, rt 0x8a6229d731eea35b, HI 0x478909b59a99269, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffcbffd686, LO 0x0
+ddiv $v0, $v1 :: rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a, HI 0xff169b78bf502ff1, LO 0x3
+ddiv $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffd5b88683, LO 0x0
+ddiv $v0, $v1 :: rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9, HI 0xb665ed5e7f89e9a2, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffd1799b34, LO 0x0
+ddiv $v0, $v1 :: rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9, HI 0x15da9474b7a8d5e4, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xffffffffdc3abded, LO 0x0
+ddiv $v0, $v1 :: rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c, HI 0xf6b3537d2af90fcc, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffd8fba05a, LO 0x0
+ddiv $v0, $v1 :: rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b, HI 0x223d7cfe2b961897, LO 0x0
+ddiv $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x1b0421a2, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897, HI 0x1fcdb7f707dd31b4, LO 0x1
+ddiv $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x27e3720, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc, HI 0xf914a2afd999f5ac, LO 0xc
+ddiv $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x38211e8, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4, HI 0xcf38dfe4d469f65, LO 0x5
+ddiv $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0xfc0d33d, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2, HI 0x79517105789ea6b, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x1208433e, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f, HI 0xeaded5c53dad020a, LO 0x0
+ddiv $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x1d4721e7, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x8a6229d731eea35b, rt 0x478909b59a99269, HI 0xfea0d99e4d278205, LO 0xffffffffffffffe6
+ddiv $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x36089b44, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8, HI 0x2c3c3f9e48985649, LO 0x0
+ddiv $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x4c591a9, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da, HI 0x28a6ae5f5727d351, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4bde8c, LO 0xffffffffffffffb5
+ddiv $v0, $v1 :: rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825, HI 0x2299b0e01d5e68ec, LO 0x0
+ddiv $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x532532, LO 0xfffffffffffffff3
+ddiv $v0, $v1 :: rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206, HI 0x21f94fef6f9b7231, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x211ea98, LO 0xfffffffffffffff8
+ddiv $v0, $v1 :: rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc, HI 0x164e17c1e7fb6587, LO 0x0
+ddiv $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x4b943b6, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33, HI 0xfa4ca28b56d4950b, LO 0x0
+ddiv $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x1d4a3c0, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7, HI 0xe5e9a314be7fa08a, LO 0x0
+ddiv $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x1463d9d8, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xf8be8164159649c5, rt 0x3f46553ecad374df, HI 0xf8be8164159649c5, LO 0x0
+ddiv $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x2e141d4, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f, HI 0xcd1e06ae0edac8, LO 0xffffffffffffffd1
+ddiv $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x12ab9921, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479, HI 0xfc8d543ca1f24f5c, LO 0x0
+ddiv $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x251d3b9e, LO 0x0
+ddiv $v0, $v1 :: rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2, HI 0x1463004709b87784, LO 0x1
+ddiv $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x21dc2629, LO 0x0
+ddiv $v0, $v1 :: rs 0xc532e18e187980fa, rt 0xf69823670e82471b, HI 0xfda20d23c16bd658, LO 0x6
+ddiv $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x2c9f00f0, LO 0x0
+ddiv $v0, $v1 :: rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b, HI 0xb3fdec294f287d1c, LO 0x0
+ddiv $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x285e1d47, LO 0x0
+ddiv $v0, $v1 :: rs 0xb620660a49732b90, rt 0x663d061055833287, HI 0xb620660a49732b90, LO 0x0
+ddiv $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x36194d42, LO 0x0
+ddiv $v0, $v1 :: rs 0x993138f16cfde991, rt 0x7175c9dd58ca708, HI 0xfc7849931aaf0c01, LO 0xfffffffffffffff2
+ddiv $v0, $v1 :: rs 0xde02d1337d5407b9, rt 0x26444ced2998436d, HI 0xde02d1337d5407b9, LO 0x0
+ddiv $v0, $v1 :: rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef, HI 0x13a390e1e1dab15a, LO 0x0
+ddiv $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x3b5a6b9b, LO 0x0
+ddiv $v0, $v1 :: rs 0x743491a6828716c8, rt 0x84785280dd301d0d, HI 0x743491a6828716c8, LO 0x0
+ddiv $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x315d626, LO 0x0
+ddiv $v0, $v1 :: rs 0x8cff404aede292f2, rt 0xeb9682c170312f1, HI 0xf411197f8ef81789, LO 0xfffffffffffffff9
+ddiv $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x7d4cb91, LO 0x0
+ddiv $v0, $v1 :: rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7, HI 0xe783107da896507f, LO 0x1
+ddiv $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xa97ed48, LO 0x0
+ddiv $v0, $v1 :: rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958, HI 0x11a6553063c00074, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xe56f0ff, LO 0x0
+ddiv $v0, $v1 :: rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3, HI 0xd327538e1875241b, LO 0x0
+ddiv $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1011a0fa, LO 0x0
+ddiv $v0, $v1 :: rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e, HI 0x3318757f4f3b289, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x14d0bd4d, LO 0x0
+ddiv $v0, $v1 :: rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96, HI 0x84104caa98b0d84, LO 0x1
+ddiv $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x19939b94, LO 0x0
+ddiv $v0, $v1 :: rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b, HI 0xf6b6fa3fcd9d27cb, LO 0x0
+ddiv $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x1d528623, LO 0x0
+ddiv $v0, $v1 :: rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25, HI 0x8aea7db12d490b7, LO 0xfffffffffffffffc
+ddiv $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xfffffffff12f560e, LO 0x0
+ddiv $v0, $v1 :: rs 0x276af70a0e128561, rt 0x8b086ee07150c260, HI 0x276af70a0e128561, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xfffffffff5ee4bb9, LO 0x0
+ddiv $v0, $v1 :: rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6, HI 0x3045bf6b5e74b6e, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xfffffffff8ad6d60, LO 0x0
+ddiv $v0, $v1 :: rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2, HI 0x20223f1308accfa6, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xfffffffffc6c70d7, LO 0x0
+ddiv $v0, $v1 :: rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7, HI 0xf83c55743976b5f5, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffffe22b20d2, LO 0x0
+ddiv $v0, $v1 :: rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb, HI 0xef7f91036f2f542, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffffe6ea3d65, LO 0x0
+ddiv $v0, $v1 :: rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe, HI 0x9ba98b53fc28d8b, LO 0xfffffffffffffff7
+ddiv $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xffffffffeba91bbc, LO 0x0
+ddiv $v0, $v1 :: rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b, HI 0x1e81930d7d61cb4d, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xffffffffef68060b, LO 0x0
+ddiv $v0, $v1 :: rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f, HI 0x563cc6bcc7d9857, LO 0xc
+ddiv $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffd727bbb6, LO 0x0
+ddiv $v0, $v1 :: rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168, HI 0xc7a59be7800f3d26, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffd3e6a601, LO 0x0
+ddiv $v0, $v1 :: rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0, HI 0x1aecdf2982ca1b41, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xffffffffdea580d8, LO 0x0
+ddiv $v0, $v1 :: rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a, HI 0x2b8613a260d19dcd, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xffffffffda649d6f, LO 0x0
+ddiv $v0, $v1 :: rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427, HI 0xef4115671c1a58, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffc423cd6a, LO 0x0
+ddiv $v0, $v1 :: rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933, HI 0x19e349f86925d404, LO 0xfffffffffffffffd
+ddiv $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x126f646f34c31728, rt 0x93e2601c0f31d710, HI 0x126f646f34c31728, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffcda1f604, LO 0x0
+ddiv $v0, $v1 :: rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7, HI 0xf3fef7e310869ddf, LO 0x5
+ddiv $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x7535cd338595d342, rt 0x7caf83d2880ff344, HI 0x7535cd338595d342, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xfffffffffd2f9270, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5, HI 0xf585751a950c37d1, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xfffffffffa4614b1, LO 0xfffffffffffffff8
+ddiv $v0, $v1 :: rs 0xa86726c90081ab2a, rt 0x829464944018fd8f, HI 0xa86726c90081ab2a, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xfffffffffee43308, LO 0xfffffffffffffff2
+ddiv $v0, $v1 :: rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28, HI 0xcf2b6cbff16b5510, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffff2a8070, LO 0xffffffffffffffcd
+ddiv $v0, $v1 :: rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0, HI 0xfea499a6ed9422c4, LO 0x2
+ddiv $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffedd671ce, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x3c07af97fba6704a, rt 0xf518381dce634413, HI 0x580c82d0396c4a9, LO 0xfffffffffffffffb
+ddiv $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xfffffffffc21d9f8, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a, HI 0x29d182e2857e624, LO 0x9
+ddiv $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffeaa74234, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f, HI 0xe0f7bb589ab7aebc, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffffedb454b7, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850, HI 0xe336c60cdeeb954d, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xfffffffff0b8a1aa, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f, HI 0xd5b2120c6f52416e, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xfffffffffbf7f8fb, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf, HI 0xfa0d2e21bc04c175, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xfffffffffc7dacfc, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec, HI 0x986a2b654a4e7e07, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffe5795375, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xa974eac43a489b55, rt 0x81daf8200468319b, HI 0xa974eac43a489b55, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xfffffffffbbcc376, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde, HI 0xfa63a52ccf8721af, LO 0xd
+ddiv $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffc9f756c6, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef, HI 0xe8c11f45e7495ea9, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffffe23f08f4, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260, HI 0xd9b46768b2d1fb14, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffffee7e11b1, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad, HI 0x151de7bfd238e9c7, LO 0xfffffffffffffffd
+ddiv $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0xf81d14d, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322, HI 0xb42ad6e659a7b04f, LO 0x0
+ddiv $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x1381f5fc, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48, HI 0x4bf8485ab728922f, LO 0x0
+ddiv $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x6086dc0, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d, HI 0x113d35e817e56428, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x1347a428, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a, HI 0x31e0c6affdc28eda, LO 0x0
+ddiv $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x5d108a, LO 0xffffffffffffff6b
+ddiv $v0, $v1 :: rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db, HI 0x1a1d4a35e5968be7, LO 0x2
+ddiv $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x1946b98, LO 0xffffffffffffffef
+ddiv $v0, $v1 :: rs 0x32fc12c81b7919f0, rt 0xd30169894df47405, HI 0x5fd7c51696d8df5, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x7ee2c84, LO 0xfffffffffffffff9
+ddiv $v0, $v1 :: rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7, HI 0x3ef88384c72efcd6, LO 0x0
+ddiv $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0xcb7c13c, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f, HI 0xf375009e07fc1cf, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x106cf84b, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe, HI 0x15ebf6121dca77c9, LO 0x0
+ddiv $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x1caba0da, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907, HI 0x18495bc92cc990b5, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x35f74d4a, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e, HI 0xedf0f7eb11862b53, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x52d9290, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab, HI 0x5d42aeac6a532e0, LO 0x0
+ddiv $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x1b68a28f, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4, HI 0x13dccf7e31d3447, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x5581b44, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081, HI 0x249d559aa8d72aac, LO 0x0
+ddiv $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x2eb10e1, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1, HI 0xcd6764f084b30ec, LO 0x0
+ddiv $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0xe2a0844, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8, HI 0x3a8faf65a0278097, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x119b4be9, LO 0x0
+ddiv $v0, $v1 :: rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e, HI 0x338123f3d2cdb0e7, LO 0x1
+ddiv $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x155a565e, LO 0x0
+ddiv $v0, $v1 :: rs 0x152828591a652711, rt 0xd3adba260ff7d96b, HI 0x152828591a652711, LO 0x0
+ddiv $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x18197087, LO 0x0
+ddiv $v0, $v1 :: rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277, HI 0xfe57b11946adb296, LO 0x3
+ddiv $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x1cd86d30, LO 0x0
+ddiv $v0, $v1 :: rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a, HI 0xc8ce4f52f74d39bd, LO 0x1
+ddiv $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x29f3d35, LO 0x0
+ddiv $v0, $v1 :: rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3, HI 0xf2e7a490978058f3, LO 0x0
+ddiv $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x65e2082, LO 0x0
+ddiv $v0, $v1 :: rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67, HI 0x25c64c59ce7c5c11, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xb1d065b, LO 0x0
+ddiv $v0, $v1 :: rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83, HI 0xa2b84a635111020, LO 0x0
+ddiv $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfdc1bec, LO 0x0
+ddiv $v0, $v1 :: rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040, HI 0x23fa0d3a7d88b6f, LO 0x0
+ddiv $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x3793a651, LO 0x0
+ddiv $v0, $v1 :: rs 0xa3d991b79941dedd, rt 0xa809521238895270, HI 0xfbd03fa560b88c6d, LO 0x1
+ddiv $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x3352bbe6, LO 0x0
+ddiv $v0, $v1 :: rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3, HI 0x2fa54768e6d02ee, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x3e119d3f, LO 0x0
+ddiv $v0, $v1 :: rs 0x949cad35625bb2d3, rt 0x314791895991136c, HI 0xf72bd048157dd9ab, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x3ad08088, LO 0x0
+ddiv $v0, $v1 :: rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214, HI 0xf36a1fc5ab663b1, LO 0xfffffffffffffffa
+ddiv $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x2497d08d, LO 0x0
+ddiv $v0, $v1 :: rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7, HI 0x185b88e0db8d7d27, LO 0x0
+ddiv $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2056cd3a, LO 0x0
+ddiv $v0, $v1 :: rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f, HI 0x255a4cd22fd61b91, LO 0x0
+ddiv $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x2d15ebe3, LO 0x0
+ddiv $v0, $v1 :: rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54, HI 0x1048d589a4363f7b, LO 0x0
+ddiv $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x29d4f654, LO 0x0
+ddiv $v0, $v1 :: rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7, HI 0xbfacc80ceb28e42, LO 0x2
+ddiv $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffc5a92679, LO 0x0
+ddiv $v0, $v1 :: rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f, HI 0xfa7a3638fb1cd0ce, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffc1683bce, LO 0x0
+ddiv $v0, $v1 :: rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce, HI 0x575548fd08c0a5f1, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffcc2b1d17, LO 0x0
+ddiv $v0, $v1 :: rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604, HI 0xff3a79f5955c39e3, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffc8ea00a0, LO 0x0
+ddiv $v0, $v1 :: rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036, HI 0xed3064433ab8a896, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffd6ad50a5, LO 0x0
+ddiv $v0, $v1 :: rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2, HI 0x1253acd9e37ebbe0, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffd26c4d12, LO 0x0
+ddiv $v0, $v1 :: rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad, HI 0xfe58d35c682fc569, LO 0xfffffffffffffff6
+ddiv $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xffffffffdf2f6bcb, LO 0x0
+ddiv $v0, $v1 :: rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e, HI 0xf79671e576ea4927, LO 0xfffffffffffffffc
+ddiv $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffffdbee767c, LO 0x0
+ddiv $v0, $v1 :: rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766, HI 0xf07bc43d941b7172, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffffe3a1cbc1, LO 0x0
+ddiv $v0, $v1 :: rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a, HI 0xfe71fca06c0eb657, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffffe760d676, LO 0x0
+ddiv $v0, $v1 :: rs 0x4ed6393df818af57, rt 0x25b50fec14682d97, HI 0x36c1965cf485429, LO 0x2
+ddiv $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xffffffffea23f0af, LO 0x0
+ddiv $v0, $v1 :: rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb, HI 0xf22e90200236770a, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xffffffffeee2ed18, LO 0x0
+ddiv $v0, $v1 :: rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5, HI 0xd75af5927cc23f22, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xfffffffff0a5bd1d, LO 0x0
+ddiv $v0, $v1 :: rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b, HI 0xeed8f3518102315b, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xfffffffff464a0aa, LO 0x0
+ddiv $v0, $v1 :: rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1, HI 0xe4048b901247930f, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xfffffffff9278673, LO 0x0
+ddiv $v0, $v1 :: rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea, HI 0x22d401d7d28df9c, LO 0x1
+ddiv $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xfffffffffde69bc4, LO 0x0
+ddiv $v0, $v1 :: rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797, HI 0x1748da264b4c52bc, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xfffffffffa587883, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7, HI 0x34fdfc9a9302be89, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffca0880c8, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe, HI 0xd00278c3c521d180, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffffe3d5d40d, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f, HI 0xe90944a4c1d37a5d, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffffef151298, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x65fd698fddef9839, rt 0x47f505569a08a180, HI 0x1e08643943e6f6b9, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xfffffffff1542297, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413, HI 0xff923e4b45c18365, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xfffffffffd93440e, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d, HI 0x490609cfb25d1a5, LO 0x14
+ddiv $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xfffffffffb9c80e8, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d, HI 0x372c209e42f3b58d, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffffe411887c, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0, HI 0x30f870b7e122a83b, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffec3eb0bb, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7, HI 0x9e02de4b678930ec, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xfffffffffb03f61c, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d, HI 0xec9237271021a45b, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffffed826e20, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad, HI 0xd93059bb38b80477, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffffef0511d8, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502, HI 0x163ba3aade09fa15, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffff0428aa, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb, HI 0x1f813bd70d0d5c61, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xfffffffffb051bdc, LO 0xfffffffffffffff9
+ddiv $v0, $v1 :: rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3, HI 0x3baa99471f6d4d75, LO 0x0
+ddiv $v0, $v1 :: rs 0x614d9b445f12236b, rt 0x7e876382d2ab13, HI 0x6df31435c728df, LO 0xc4
+ddiv $v0, $v1 :: rs 0xa2a6ec661ba84121, rt 0x12bd6aa, HI 0xffffffffff6cc803, LO 0xffffffb04cd8b053
+ddivu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x12bd6aa, rt 0xa2a6ec661ba84121, HI 0x12bd6aa, LO 0x0
+ddivu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x7e876382d2ab13, rt 0x614d9b445f12236b, HI 0x7e876382d2ab13, LO 0x0
+ddivu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x9823b6e, LO 0x0
+ddivu $v0, $v1 :: rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75, HI 0x20183c0c843a7609, LO 0x2
+ddivu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xd4326d9, LO 0x0
+ddivu $v0, $v1 :: rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666, HI 0x4f679f17a89fef95, LO 0x1
+ddivu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x130476dc, LO 0x0
+ddivu $v0, $v1 :: rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17, HI 0x42b0c0a28677b502, LO 0x0
+ddivu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x17c56b6b, LO 0x0
+ddivu $v0, $v1 :: rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca, HI 0x2aa89d319e3c30ad, LO 0x0
+ddivu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x1a864db2, LO 0x0
+ddivu $v0, $v1 :: rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e, HI 0x1f308ec377fb413d, LO 0x0
+ddivu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x1e475005, LO 0x0
+ddivu $v0, $v1 :: rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec, HI 0x7aa04213c760e4f7, LO 0x0
+ddivu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x2608edb8, LO 0x0
+ddivu $v0, $v1 :: rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b, HI 0xb870a9d7770e3ef, LO 0x3
+ddivu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x22c9f00f, LO 0x0
+ddivu $v0, $v1 :: rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d, HI 0x1411b9e85321f080, LO 0x1
+ddivu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x2f8ad6d6, LO 0x0
+ddivu $v0, $v1 :: rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9, HI 0x5e7a4dd6353d41d, LO 0x0
+ddivu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x2b4bcb61, LO 0x0
+ddivu $v0, $v1 :: rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52, HI 0x3af35a9dc40bd413, LO 0x0
+ddivu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x350c9b64, LO 0x0
+ddivu $v0, $v1 :: rs 0x47f505569a08a180, rt 0x65fd698fddef9839, HI 0x47f505569a08a180, LO 0x0
+ddivu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x31cd86d3, LO 0x0
+ddivu $v0, $v1 :: rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d, HI 0x9564b77fd6d2040f, LO 0x0
+ddivu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x3c8ea00a, LO 0x0
+ddivu $v0, $v1 :: rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180, HI 0xcebc8279b2c76bbe, LO 0x0
+ddivu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x384fbdbd, LO 0x0
+ddivu $v0, $v1 :: rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89, HI 0x1609565f6610a92c, LO 0x3
+ddivu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4c11db70, LO 0x0
+ddivu $v0, $v1 :: rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc, HI 0x94a3616bde5b72f, LO 0x6
+ddivu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x48d0c6c7, LO 0x0
+ddivu $v0, $v1 :: rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086, HI 0x31d8d9166dfc50ea, LO 0x0
+ddivu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x4593e01e, LO 0x0
+ddivu $v0, $v1 :: rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e, HI 0x36549bd678e895b1, LO 0x0
+ddivu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x4152fda9, LO 0x0
+ddivu $v0, $v1 :: rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b, HI 0x85e0a6319b63259b, LO 0x0
+ddivu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x5f15adac, LO 0x0
+ddivu $v0, $v1 :: rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d, HI 0x556b3ecaccf17ac5, LO 0x0
+ddivu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x5bd4b01b, LO 0x0
+ddivu $v0, $v1 :: rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a, HI 0xb42f5fc581eea0fb, LO 0x0
+ddivu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x569796c2, LO 0x0
+ddivu $v0, $v1 :: rs 0x25b50fec14682d97, rt 0x4ed6393df818af57, HI 0x25b50fec14682d97, LO 0x0
+ddivu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x52568b75, LO 0x0
+ddivu $v0, $v1 :: rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657, HI 0xfc93c5132cfb087a, LO 0x0
+ddivu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x6a1936c8, LO 0x0
+ddivu $v0, $v1 :: rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c, HI 0x3c2cd9a9cda20766, LO 0x0
+ddivu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x6ed82b7f, LO 0x0
+ddivu $v0, $v1 :: rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f, HI 0x1791722a7d72da3e, LO 0x0
+ddivu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x639b0da6, LO 0x0
+ddivu $v0, $v1 :: rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7, HI 0x87cc9d193ce24ad, LO 0x0
+ddivu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x675a1011, LO 0x0
+ddivu $v0, $v1 :: rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2, HI 0x1d2a757038984ed2, LO 0x0
+ddivu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x791d4014, LO 0x0
+ddivu $v0, $v1 :: rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc, HI 0x12cf9bbcc547576a, LO 0x1
+ddivu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x7ddc5da3, LO 0x0
+ddivu $v0, $v1 :: rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb, HI 0x39c21c7d03415604, LO 0x0
+ddivu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x709f7b7a, LO 0x0
+ddivu $v0, $v1 :: rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1, HI 0x373f6eb2860b8bdd, LO 0x1
+ddivu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x745e66cd, LO 0x0
+ddivu $v0, $v1 :: rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f, HI 0x24eb6a8d1ce7674f, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0x1131deb0, LO 0x61ea6e2dc
+ddivu $v0, $v1 :: rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790, HI 0x2f39454412d6e4a7, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0x11acb9fe, LO 0x5ad96ea93
+ddivu $v0, $v1 :: rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b, HI 0x57717a40e6dcd5e, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0x1166f1d6, LO 0x7ea86f08c
+ddivu $v0, $v1 :: rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91, HI 0x1ff21c643954d27c, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0x4364396, LO 0x6fef13def
+ddivu $v0, $v1 :: rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27, HI 0x5b48eeb1683bbbf, LO 0x8
+ddivu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xb7346f4, LO 0x45a48a599
+ddivu $v0, $v1 :: rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739, HI 0x6df98696221e0adb, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x1b15105a, LO 0x41fdc498f
+ddivu $v0, $v1 :: rs 0x314791895991136c, rt 0x949cad35625bb2d3, HI 0x314791895991136c, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xa73b6e2, LO 0x4fced8ae8
+ddivu $v0, $v1 :: rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508, HI 0x51d21b76402221eb, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x2e094246, LO 0x49b32afef
+ddivu $v0, $v1 :: rs 0xa809521238895270, rt 0xa3d991b79941dedd, HI 0x42fc05a9f477393, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0x7d139b8, LO 0x1024354cb8
+ddivu $v0, $v1 :: rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f, HI 0x8b586956b5a23c, LO 0x3c
+ddivu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0x50cdfdb, LO 0x170909697c
+ddivu $v0, $v1 :: rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020, HI 0x38fd5c5b0771a03, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0x2551f3a, LO 0x2833f800fe
+ddivu $v0, $v1 :: rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa, HI 0x370fb2c5bb90f8bd, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0x3db0ff, LO 0x61a26584ba
+ddivu $v0, $v1 :: rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3, HI 0xc07112dd60ed5ee3, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0x189522d4, LO 0x8dff907c9
+ddivu $v0, $v1 :: rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417, HI 0x3731b0ad08b2c643, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0x27046a, LO 0xa9f68252f
+ddivu $v0, $v1 :: rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb, HI 0x41cff89fb1b7a87c, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0x13c61b7c, LO 0xbfd3013f9
+ddivu $v0, $v1 :: rs 0xd3adba260ff7d96b, rt 0x152828591a652711, HI 0x1c26ab080452c1, LO 0xa
+ddivu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0x3ff9f96, LO 0xe8a3c1c2f
+ddivu $v0, $v1 :: rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5, HI 0x4ab4aa798418c00e, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x3f3bb63c, LO 0x283f5e22d
+ddivu $v0, $v1 :: rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf, HI 0x3c8857567b9a60d9, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0x15c91287, LO 0x2a383cfe0
+ddivu $v0, $v1 :: rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec, HI 0x56961888531941, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x5fce38b4, LO 0x25d423401
+ddivu $v0, $v1 :: rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac, HI 0x96b3e67454c407d, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0x62519026, LO 0x272ff3d9f
+ddivu $v0, $v1 :: rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63, HI 0x92e6446ab51c7a3, LO 0xb
+ddivu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x4e0fbbc4, LO 0x227db808f
+ddivu $v0, $v1 :: rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0, HI 0x409f3a645f3432b, LO 0xc
+ddivu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x30be54b6, LO 0x23edf2d2b
+ddivu $v0, $v1 :: rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117, HI 0x19364378c7ce8d1e, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x5c162470, LO 0x202f6dbeb
+ddivu $v0, $v1 :: rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae, HI 0x5af3c01531a70159, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x6d08f5fe, LO 0x2129d35b7
+ddivu $v0, $v1 :: rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9, HI 0x626eb96fecbaba3, LO 0x3
+ddivu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0x7a262c4, LO 0x3c68dfc7f
+ddivu $v0, $v1 :: rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580, HI 0x2c70311c37d6ebcf, LO 0x3
+ddivu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0x734d55e, LO 0x39a63b243
+ddivu $v0, $v1 :: rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6, HI 0x227052a56d9298f1, LO 0x1
+ddivu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0x2e1a365a, LO 0x371e5eba6
+ddivu $v0, $v1 :: rs 0xd30169894df47405, rt 0x32fc12c81b7919f0, HI 0x7111e68e0100c45, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0x2e87b201, LO 0x3423c2830
+ddivu $v0, $v1 :: rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d, HI 0x1ca190bf6cbb06db, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0x3b6bfd34, LO 0x32b35d0bf
+ddivu $v0, $v1 :: rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda, HI 0x264f48529eebaa60, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0x1ebbb288, LO 0x30be0405d
+ddivu $v0, $v1 :: rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb, HI 0x23f589cfa1181432, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0x2f751fe6, LO 0x2dded0536
+ddivu $v0, $v1 :: rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f, HI 0x3e9dbc212c17c919, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0x2d1169d8, LO 0x2bc9c4d1d
+ddivu $v0, $v1 :: rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f, HI 0x75bfafd2d519d322, LO 0x0
+ddivu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x34867077, LO 0x0
+ddivu $v0, $v1 :: rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0, HI 0x636e39dec68af0ed, LO 0x1
+ddivu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x30476dc0, LO 0x0
+ddivu $v0, $v1 :: rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4, HI 0x2c0a0cf256103260, LO 0x0
+ddivu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x3d044b19, LO 0x0
+ddivu $v0, $v1 :: rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9, HI 0x94a90544249b18ef, LO 0x0
+ddivu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x39c556ae, LO 0x0
+ddivu $v0, $v1 :: rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5, HI 0x55c8de52e86503e9, LO 0x1
+ddivu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x278206ab, LO 0x0
+ddivu $v0, $v1 :: rs 0x81daf8200468319b, rt 0xa974eac43a489b55, HI 0x81daf8200468319b, LO 0x0
+ddivu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x23431b1c, LO 0x0
+ddivu $v0, $v1 :: rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07, HI 0x8c61ca5a5725f2ec, LO 0x0
+ddivu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x2e003dc5, LO 0x0
+ddivu $v0, $v1 :: rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34, HI 0x5f2d1de43fb3e8b, LO 0x1
+ddivu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x2ac12072, LO 0x0
+ddivu $v0, $v1 :: rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e, HI 0x300ce751dac6162f, LO 0x0
+ddivu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x128e9dcf, LO 0x0
+ddivu $v0, $v1 :: rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d, HI 0x6778fdf3ba52a850, LO 0x0
+ddivu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x164f8078, LO 0x0
+ddivu $v0, $v1 :: rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc, HI 0xad00b1f7da78479f, LO 0x0
+ddivu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1b0ca6a1, LO 0x0
+ddivu $v0, $v1 :: rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe, HI 0x8d44168a6b6d98a, LO 0x0
+ddivu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x1fcdbb16, LO 0x0
+ddivu $v0, $v1 :: rs 0xf518381dce634413, rt 0x3c07af97fba6704a, HI 0x4f979bddfc982eb, LO 0x4
+ddivu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x18aeb13, LO 0x0
+ddivu $v0, $v1 :: rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244, HI 0x1cf8e7192d467d7c, LO 0x1
+ddivu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x54bf6a4, LO 0x0
+ddivu $v0, $v1 :: rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438, HI 0x30d493400e94aaf0, LO 0x1
+ddivu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x808d07d, LO 0x0
+ddivu $v0, $v1 :: rs 0x829464944018fd8f, rt 0xa86726c90081ab2a, HI 0x829464944018fd8f, LO 0x0
+ddivu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xcc9cdca, LO 0x0
+ddivu $v0, $v1 :: rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec, HI 0x15d3204052e8f0e5, LO 0x0
+ddivu $v0, $v1 :: rs 0x7caf83d2880ff344, rt 0x7535cd338595d342, HI 0x779b69f027a2002, LO 0x1
+ddivu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x7c56b6b0, LO 0x0
+ddivu $v0, $v1 :: rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12, HI 0x46a686eb1d81a2c5, LO 0x1
+ddivu $v0, $v1 :: rs 0x93e2601c0f31d710, rt 0x126f646f34c31728, HI 0x673ca269191dd0, LO 0x8
+ddivu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x75d48dde, LO 0x0
+ddivu $v0, $v1 :: rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b, HI 0x6da34febe34d90c8, LO 0x1
+ddivu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x6b93dddb, LO 0x0
+ddivu $v0, $v1 :: rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f, HI 0x24296b75a76fa427, LO 0x0
+ddivu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x6f52c06c, LO 0x0
+ddivu $v0, $v1 :: rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd, HI 0x247e944890586e36, LO 0x4
+ddivu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x6211e6b5, LO 0x0
+ddivu $v0, $v1 :: rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41, HI 0x9bba702e56453fd, LO 0x3
+ddivu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x66d0fb02, LO 0x0
+ddivu $v0, $v1 :: rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26, HI 0x76c89e80c07dc168, LO 0x0
+ddivu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x5e9f46bf, LO 0x0
+ddivu $v0, $v1 :: rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b, HI 0x70dc3454bfe348f, LO 0x0
+ddivu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x5a5e5b08, LO 0x0
+ddivu $v0, $v1 :: rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732, HI 0x5d374f3a3d787ce9, LO 0x1
+ddivu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x571d7dd1, LO 0x0
+ddivu $v0, $v1 :: rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd, HI 0x32156686cb573d04, LO 0x2
+ddivu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x53dc6066, LO 0x0
+ddivu $v0, $v1 :: rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d, HI 0x109f27e90f9f46fb, LO 0x0
+ddivu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4d9b3063, LO 0x0
+ddivu $v0, $v1 :: rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5, HI 0x3f63daa9afd199d7, LO 0x0
+ddivu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x495a2dd4, LO 0x0
+ddivu $v0, $v1 :: rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6, HI 0x1afdb6bc6fc7a70e, LO 0x6
+ddivu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x44190b0d, LO 0x0
+ddivu $v0, $v1 :: rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e, HI 0x109a807bf46f27a, LO 0xa
+ddivu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x40d816ba, LO 0x0
+ddivu $v0, $v1 :: rs 0x8b086ee07150c260, rt 0x276af70a0e128561, HI 0x14c789c24719323d, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0x163e94a4, LO 0x8bb0499f1
+ddivu $v0, $v1 :: rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423, HI 0x71b5ec522ae6eb02, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0x13bcdfe0, LO 0xa0257c690
+ddivu $v0, $v1 :: rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb, HI 0x3d69625fe9a6db5b, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0x343e206, LO 0xc4c709e3f
+ddivu $v0, $v1 :: rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a, HI 0x70a3e0424340ac96, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xdec5db4, LO 0xfee725d11
+ddivu $v0, $v1 :: rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b, HI 0x3a739e5a5298e048, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xb82c20d, LO 0x11da46b3c2
+ddivu $v0, $v1 :: rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b, HI 0x3ce839a51cf929e3, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0x14f6f84, LO 0x182a74b4b7
+ddivu $v0, $v1 :: rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c, HI 0x28528fed4a90ace8, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0x4883952, LO 0x20b08b2d23
+ddivu $v0, $v1 :: rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636, HI 0x187cef825769af81, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0x10b4b6a, LO 0x52f960c29c
+ddivu $v0, $v1 :: rs 0xeb9682c170312f1, rt 0x8cff404aede292f2, HI 0xeb9682c170312f1, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x59dde80, LO 0x4502b667d
+ddivu $v0, $v1 :: rs 0x84785280dd301d0d, rt 0x743491a6828716c8, HI 0x1043c0da5aa90645, LO 0x1
+ddivu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a, HI 0x3f8e6c83db52595, LO 0x1
+ddivu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x26444ced2998436d, rt 0xde02d1337d5407b9, HI 0x26444ced2998436d, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x11b942dc, LO 0x4bb69936d
+ddivu $v0, $v1 :: rs 0x7175c9dd58ca708, rt 0x993138f16cfde991, HI 0x7175c9dd58ca708, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0x1f5c1108, LO 0x6577a953d
+ddivu $v0, $v1 :: rs 0x663d061055833287, rt 0xb620660a49732b90, HI 0x663d061055833287, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xfbfccf4, LO 0x5bcb8d07b
+ddivu $v0, $v1 :: rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c, HI 0xab7dd0488951d68b, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xe34680e, LO 0x78f8065f7
+ddivu $v0, $v1 :: rs 0xf69823670e82471b, rt 0xc532e18e187980fa, HI 0x316541d8f608c621, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0x72a9d98, LO 0x6e5cb27e7
+ddivu $v0, $v1 :: rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36, HI 0x36886c59d98d26b2, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0x7b6976, LO 0x326776aab
+ddivu $v0, $v1 :: rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c, HI 0x9ca4bdbd32be479, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0x76bd7c, LO 0x2fe6c8c5d
+ddivu $v0, $v1 :: rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17, HI 0x41731ee8f95aff1, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0x2b675d25, LO 0x2e2636934
+ddivu $v0, $v1 :: rs 0x3f46553ecad374df, rt 0xf8be8164159649c5, HI 0x3f46553ecad374df, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0x5337d54e, LO 0x2c8554e98
+ddivu $v0, $v1 :: rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a, HI 0x2e9ab97d3eedf2a7, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0x25d28127, LO 0x3dccdfaac
+ddivu $v0, $v1 :: rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b, HI 0x36a6f7fa3c0c9f33, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0x176424d4, LO 0x3a144d111
+ddivu $v0, $v1 :: rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587, HI 0x5e4aa57a57a68b2, LO 0x6
+ddivu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0x5d70eff, LO 0x360ef8e16
+ddivu $v0, $v1 :: rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25, HI 0x56a4215cdc3b13e1, LO 0x1
+ddivu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0x2f1ed5f8, LO 0x33d6747df
+ddivu $v0, $v1 :: rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec, HI 0xf654ac7585a0b89, LO 0x5
+ddivu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x182219c6, LO 0x2255b958b
+ddivu $v0, $v1 :: rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77, HI 0x28ba716d9defbc63, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x2f9b6300, LO 0x23734d8d6
+ddivu $v0, $v1 :: rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649, HI 0x769cf01f16cb0d, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x1c100850, LO 0x204e5b2ad
+ddivu $v0, $v1 :: rs 0x478909b59a99269, rt 0x8a6229d731eea35b, HI 0x478909b59a99269, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x57c4e4fa, LO 0x219085db6
+ddivu $v0, $v1 :: rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a, HI 0xbfb31cc87857360f, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0x51876f0e, LO 0x28d52f9b3
+ddivu $v0, $v1 :: rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9, HI 0x140799facf89e810, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0x21efc634, LO 0x2a6b8a9a6
+ddivu $v0, $v1 :: rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9, HI 0x15da9474b7a8d5e4, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xb06becf, LO 0x254d77e4e
+ddivu $v0, $v1 :: rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c, HI 0x6d36c6ef4db25c90, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x5d83dfae, LO 0x26fda7dda
+ddivu $v0, $v1 :: rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b, HI 0x223d7cfe2b961897, LO 0x0
+ddivu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x690ce0ee, LO 0x0
+ddivu $v0, $v1 :: rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897, HI 0x1fcdb7f707dd31b4, LO 0x1
+ddivu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x6dcdfd59, LO 0x0
+ddivu $v0, $v1 :: rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc, HI 0x897c8c8ddd46b33c, LO 0x0
+ddivu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x608edb80, LO 0x0
+ddivu $v0, $v1 :: rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4, HI 0xcf38dfe4d469f65, LO 0x5
+ddivu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x644fc637, LO 0x0
+ddivu $v0, $v1 :: rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2, HI 0x512f29b1d80000c9, LO 0x0
+ddivu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x7a089632, LO 0x0
+ddivu $v0, $v1 :: rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f, HI 0x2b2bb8fcc555cbfb, LO 0x1
+ddivu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x7ec98b85, LO 0x0
+ddivu $v0, $v1 :: rs 0x8a6229d731eea35b, rt 0x478909b59a99269, HI 0x44137a2b00f7b0d, LO 0x1e
+ddivu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x738aad5c, LO 0x0
+ddivu $v0, $v1 :: rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8, HI 0x2c3c3f9e48985649, LO 0x0
+ddivu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x774bb0eb, LO 0x0
+ddivu $v0, $v1 :: rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da, HI 0x7ff61e78dc9c0b77, LO 0x0
+ddivu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4f040d56, LO 0x0
+ddivu $v0, $v1 :: rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825, HI 0x2299b0e01d5e68ec, LO 0x0
+ddivu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4bc510e1, LO 0x0
+ddivu $v0, $v1 :: rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206, HI 0x7c3b04673d0c6e25, LO 0x0
+ddivu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x46863638, LO 0x0
+ddivu $v0, $v1 :: rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc, HI 0x164e17c1e7fb6587, LO 0x0
+ddivu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x42472b8f, LO 0x0
+ddivu $v0, $v1 :: rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33, HI 0x1fb0c2a266a2183f, LO 0x4
+ddivu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x5c007b8a, LO 0x0
+ddivu $v0, $v1 :: rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7, HI 0x2b7ebd1fc2c7d5ee, LO 0x4
+ddivu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x58c1663d, LO 0x0
+ddivu $v0, $v1 :: rs 0xf8be8164159649c5, rt 0x3f46553ecad374df, HI 0x3aeb81a7b51beb28, LO 0x3
+ddivu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x558240e4, LO 0x0
+ddivu $v0, $v1 :: rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f, HI 0x7ca3259784e69b17, LO 0x0
+ddivu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x51435d53, LO 0x0
+ddivu $v0, $v1 :: rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479, HI 0x7cbebc502a8ff8b, LO 0x19
+ddivu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x251d3b9e, LO 0x0
+ddivu $v0, $v1 :: rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2, HI 0x1463004709b87784, LO 0x1
+ddivu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x21dc2629, LO 0x0
+ddivu $v0, $v1 :: rs 0xc532e18e187980fa, rt 0xf69823670e82471b, HI 0xc532e18e187980fa, LO 0x0
+ddivu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x2c9f00f0, LO 0x0
+ddivu $v0, $v1 :: rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b, HI 0x8801be0c5d6a691, LO 0x1
+ddivu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x285e1d47, LO 0x0
+ddivu $v0, $v1 :: rs 0xb620660a49732b90, rt 0x663d061055833287, HI 0x4fe35ff9f3eff909, LO 0x1
+ddivu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x36194d42, LO 0x0
+ddivu $v0, $v1 :: rs 0x993138f16cfde991, rt 0x7175c9dd58ca708, HI 0x4469ffee87435e9, LO 0x15
+ddivu $v0, $v1 :: rs 0xde02d1337d5407b9, rt 0x26444ced2998436d, HI 0x1ead5091ad5ab698, LO 0x5
+ddivu $v0, $v1 :: rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef, HI 0x13a390e1e1dab15a, LO 0x0
+ddivu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x3b5a6b9b, LO 0x0
+ddivu $v0, $v1 :: rs 0x743491a6828716c8, rt 0x84785280dd301d0d, HI 0x743491a6828716c8, LO 0x0
+ddivu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x315d626, LO 0x0
+ddivu $v0, $v1 :: rs 0x8cff404aede292f2, rt 0xeb9682c170312f1, HI 0x87a96be1ec6e879, LO 0x9
+ddivu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x7d4cb91, LO 0x0
+ddivu $v0, $v1 :: rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7, HI 0xb9cec0db1f837636, LO 0x0
+ddivu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xa97ed48, LO 0x0
+ddivu $v0, $v1 :: rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958, HI 0x2eaa5aa70509771c, LO 0x0
+ddivu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xe56f0ff, LO 0x0
+ddivu $v0, $v1 :: rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3, HI 0x1c6ea69ec189a672, LO 0x3
+ddivu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1011a0fa, LO 0x0
+ddivu $v0, $v1 :: rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e, HI 0x42e9f8548b739b6b, LO 0x0
+ddivu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x14d0bd4d, LO 0x0
+ddivu $v0, $v1 :: rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96, HI 0x84104caa98b0d84, LO 0x1
+ddivu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x19939b94, LO 0x0
+ddivu $v0, $v1 :: rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b, HI 0x11170c02701ba5f, LO 0x4
+ddivu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x1d528623, LO 0x0
+ddivu $v0, $v1 :: rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25, HI 0x73916483ae3e9423, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0x10c84354, LO 0x3f2ab9601
+ddivu $v0, $v1 :: rs 0x276af70a0e128561, rt 0x8b086ee07150c260, HI 0x276af70a0e128561, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0x1c377b7e, LO 0x3c2615667
+ddivu $v0, $v1 :: rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6, HI 0x3045bf6b5e74b6e, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xdf4fcc0, LO 0x37d712e88
+ddivu $v0, $v1 :: rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2, HI 0x20223f1308accfa6, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0x12000359, LO 0x34c77f1ea
+ddivu $v0, $v1 :: rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7, HI 0x3a10c5772a01e870, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0x2bbcef56, LO 0x30d7c2e4a
+ddivu $v0, $v1 :: rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb, HI 0xef7f91036f2f542, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0x2c44878b, LO 0x2f04a8cba
+ddivu $v0, $v1 :: rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe, HI 0x620d28506d2448dd, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0x3d0ee5d4, LO 0x2d53534dd
+ddivu $v0, $v1 :: rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b, HI 0x60a521e99ff4a732, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0x16217d8f, LO 0x2b49b7284
+ddivu $v0, $v1 :: rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f, HI 0x563cc6bcc7d9857, LO 0xc
+ddivu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0x6c82b48, LO 0x27d6891b7
+ddivu $v0, $v1 :: rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168, HI 0x50dcfd66bf917bbe, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0x149ff0b5, LO 0x29c42039c
+ddivu $v0, $v1 :: rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0, HI 0x1aecdf2982ca1b41, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x4157c6e4, LO 0x24cb33547
+ddivu $v0, $v1 :: rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a, HI 0x2b8613a260d19dcd, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x10435ea7, LO 0x261328ad8
+ddivu $v0, $v1 :: rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427, HI 0xef4115671c1a58, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xfac4682, LO 0x22c3093cc
+ddivu $v0, $v1 :: rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933, HI 0x743e568d2fcf486b, LO 0x0
+ddivu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x126f646f34c31728, rt 0x93e2601c0f31d710, HI 0x126f646f34c31728, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x22751a54, LO 0x20f138af1
+ddivu $v0, $v1 :: rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7, HI 0xaab0196156fc4d12, LO 0x0
+ddivu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x7535cd338595d342, rt 0x7caf83d2880ff344, HI 0x7535cd338595d342, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0x23928e0, LO 0x1404af8d23
+ddivu $v0, $v1 :: rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5, HI 0x57312570509ddfa, LO 0xa
+ddivu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0x5e1cc3b, LO 0x1fdce4ba26
+ddivu $v0, $v1 :: rs 0xa86726c90081ab2a, rt 0x829464944018fd8f, HI 0x25d2c234c068ad9b, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0x54364e0, LO 0x3054e9696c
+ddivu $v0, $v1 :: rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28, HI 0x9bfeffa1679d7438, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0x314b92, LO 0xa5f2c18537
+ddivu $v0, $v1 :: rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0, HI 0xc7699826b7dee244, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0x173693c4, LO 0x80ca517ad
+ddivu $v0, $v1 :: rs 0x3c07af97fba6704a, rt 0xf518381dce634413, HI 0x3c07af97fba6704a, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0x19ba745a, LO 0x976d326db
+ddivu $v0, $v1 :: rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a, HI 0x29d182e2857e624, LO 0x9
+ddivu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0x3c0cd04, LO 0xb7971a0f7
+ddivu $v0, $v1 :: rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f, HI 0x33f70960c03f671d, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0x32b621a, LO 0xdcb964fcf
+ddivu $v0, $v1 :: rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850, HI 0x1444ca256a4644ad, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xcba5ed6, LO 0x5fcd918b8
+ddivu $v0, $v1 :: rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f, HI 0x157e74c50439e8b2, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0x5381781, LO 0x590aa9d30
+ddivu $v0, $v1 :: rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf, HI 0x85a2d4ff7e628a34, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0x1c705b44, LO 0x74289a21f
+ddivu $v0, $v1 :: rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec, HI 0xc08610af3288b1b, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0x15a4db8b, LO 0x67ace8fbc
+ddivu $v0, $v1 :: rs 0xa974eac43a489b55, rt 0x81daf8200468319b, HI 0x2799f2a435e069ba, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x2f14e1e0, LO 0x46e69b1ab
+ddivu $v0, $v1 :: rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde, HI 0xa388c16272f1f8f5, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x18b81a21, LO 0x43210bb6c
+ddivu $v0, $v1 :: rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef, HI 0x54181a01c2ae45ba, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x26dc634, LO 0x54d71534b
+ddivu $v0, $v1 :: rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260, HI 0x298c339f5a913194, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x9f97017, LO 0x4dfb4fbb4
+ddivu $v0, $v1 :: rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad, HI 0x7ab4ce88dfa605c0, LO 0x0
+ddivu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x5d8a9099, LO 0x0
+ddivu $v0, $v1 :: rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322, HI 0x3e6b2713848ddd2d, LO 0x1
+ddivu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x594b8d2e, LO 0x0
+ddivu $v0, $v1 :: rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48, HI 0x4bf8485ab728922f, LO 0x0
+ddivu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x5408abf7, LO 0x0
+ddivu $v0, $v1 :: rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d, HI 0x76a3d60c3b66a7fb, LO 0x0
+ddivu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x50c9b640, LO 0x0
+ddivu $v0, $v1 :: rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a, HI 0x31e0c6affdc28eda, LO 0x0
+ddivu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4e8ee645, LO 0x0
+ddivu $v0, $v1 :: rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db, HI 0x1a1d4a35e5968be7, LO 0x2
+ddivu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x4a4ffbf2, LO 0x0
+ddivu $v0, $v1 :: rs 0x32fc12c81b7919f0, rt 0xd30169894df47405, HI 0x32fc12c81b7919f0, LO 0x0
+ddivu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x470cdd2b, LO 0x0
+ddivu $v0, $v1 :: rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7, HI 0x3ef88384c72efcd6, LO 0x0
+ddivu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x43cdc09c, LO 0x0
+ddivu $v0, $v1 :: rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f, HI 0x38b1c7bb6a2a3580, LO 0x0
+ddivu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x7b827d21, LO 0x0
+ddivu $v0, $v1 :: rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe, HI 0x15ebf6121dca77c9, LO 0x0
+ddivu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x7f436096, LO 0x0
+ddivu $v0, $v1 :: rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907, HI 0x5eaacdd9fd9147ae, LO 0x0
+ddivu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x7200464f, LO 0x0
+ddivu $v0, $v1 :: rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e, HI 0xb0898ac0b433545, LO 0x7
+ddivu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x76c15bf8, LO 0x0
+ddivu $v0, $v1 :: rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab, HI 0x5d42aeac6a532e0, LO 0x0
+ddivu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x68860bfd, LO 0x0
+ddivu $v0, $v1 :: rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4, HI 0x14abf36419fb9e63, LO 0x0
+ddivu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x6c47164a, LO 0x0
+ddivu $v0, $v1 :: rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081, HI 0x249d559aa8d72aac, LO 0x0
+ddivu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x61043093, LO 0x0
+ddivu $v0, $v1 :: rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1, HI 0xcd6764f084b30ec, LO 0x0
+ddivu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x65c52d24, LO 0x0
+ddivu $v0, $v1 :: rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8, HI 0x7f03ac0792468fdf, LO 0x0
+ddivu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x119b4be9, LO 0x0
+ddivu $v0, $v1 :: rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e, HI 0x338123f3d2cdb0e7, LO 0x1
+ddivu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x155a565e, LO 0x0
+ddivu $v0, $v1 :: rs 0x152828591a652711, rt 0xd3adba260ff7d96b, HI 0x152828591a652711, LO 0x0
+ddivu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x18197087, LO 0x0
+ddivu $v0, $v1 :: rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277, HI 0x9e1c3283d215a9fb, LO 0x0
+ddivu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x1cd86d30, LO 0x0
+ddivu $v0, $v1 :: rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a, HI 0x8d95c049282a0417, LO 0x0
+ddivu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x29f3d35, LO 0x0
+ddivu $v0, $v1 :: rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3, HI 0x327691b33692fa10, LO 0x1
+ddivu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x65e2082, LO 0x0
+ddivu $v0, $v1 :: rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67, HI 0x775b4cca0975b1aa, LO 0x0
+ddivu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xb1d065b, LO 0x0
+ddivu $v0, $v1 :: rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83, HI 0xa2b84a635111020, LO 0x0
+ddivu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfdc1bec, LO 0x0
+ddivu $v0, $v1 :: rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040, HI 0x23fa0d3a7d88b6f, LO 0x0
+ddivu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x3793a651, LO 0x0
+ddivu $v0, $v1 :: rs 0xa3d991b79941dedd, rt 0xa809521238895270, HI 0xa3d991b79941dedd, LO 0x0
+ddivu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x3352bbe6, LO 0x0
+ddivu $v0, $v1 :: rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3, HI 0x751cb4835a0d9508, LO 0x0
+ddivu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x3e119d3f, LO 0x0
+ddivu $v0, $v1 :: rs 0x949cad35625bb2d3, rt 0x314791895991136c, HI 0xc5f89955a8788f, LO 0x3
+ddivu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x3ad08088, LO 0x0
+ddivu $v0, $v1 :: rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214, HI 0x7f567f35a6929739, LO 0x0
+ddivu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x2497d08d, LO 0x0
+ddivu $v0, $v1 :: rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7, HI 0x185b88e0db8d7d27, LO 0x0
+ddivu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2056cd3a, LO 0x0
+ddivu $v0, $v1 :: rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f, HI 0x255a4cd22fd61b91, LO 0x0
+ddivu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x2d15ebe3, LO 0x0
+ddivu $v0, $v1 :: rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54, HI 0x1048d589a4363f7b, LO 0x0
+ddivu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x29d4f654, LO 0x0
+ddivu $v0, $v1 :: rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7, HI 0xbfacc80ceb28e42, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x23fba769, LO 0x2332cdb50
+ddivu $v0, $v1 :: rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f, HI 0x1cf5b6ea4db064f4, LO 0x5
+ddivu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x4e69806e, LO 0x245e7f770
+ddivu $v0, $v1 :: rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce, HI 0x575548fd08c0a5f1, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xd1e03ef, LO 0x208b3c4b8
+ddivu $v0, $v1 :: rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604, HI 0x183208018856e1d3, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x3a3714c8, LO 0x21d1bdefe
+ddivu $v0, $v1 :: rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036, HI 0xbe00d51eabc578cc, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0x1e44af4f, LO 0x27a1b21f6
+ddivu $v0, $v1 :: rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2, HI 0x1253acd9e37ebbe0, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0x1bb61ac4, LO 0x291f457dd
+ddivu $v0, $v1 :: rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad, HI 0x835f69ea9d59dd0, LO 0x13
+ddivu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x125decaf, LO 0x24f3e3ee4
+ddivu $v0, $v1 :: rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e, HI 0xbe7fc3c906dc2bb, LO 0x6
+ddivu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0x46cfcdac, LO 0x269b0b1aa
+ddivu $v0, $v1 :: rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766, HI 0x3bf537402b355b40, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0x363a8c42, LO 0x31bf024a3
+ddivu $v0, $v1 :: rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a, HI 0x1de378d3f13addd, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0x5e63a7a, LO 0x2f4d5dcbe
+ddivu $v0, $v1 :: rs 0x4ed6393df818af57, rt 0x25b50fec14682d97, HI 0x36c1965cf485429, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0x3c1cf1d9, LO 0x2c9a905e2
+ddivu $v0, $v1 :: rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb, HI 0x3dff305a8047d60f, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xe32ae34, LO 0x2b13cfe6b
+ddivu $v0, $v1 :: rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5, HI 0x2c8477fce2df4998, LO 0x1
+ddivu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0x226a5fbe, LO 0x3eb3e17c7
+ddivu $v0, $v1 :: rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b, HI 0x68f84d1fe59f0bc0, LO 0x1
+ddivu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0x2c375d02, LO 0x3ade96cec
+ddivu $v0, $v1 :: rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1, HI 0xab21c362ea53c4b, LO 0x3
+ddivu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0x16f62c41, LO 0x384071a3e
+ddivu $v0, $v1 :: rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea, HI 0x22d401d7d28df9c, LO 0x1
+ddivu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0x40f383f4, LO 0x35d866a6b
+ddivu $v0, $v1 :: rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797, HI 0x1748da264b4c52bc, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x16ba41a9, LO 0x48bcfeee0
+ddivu $v0, $v1 :: rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7, HI 0x34fdfc9a9302be89, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x3b5594f0, LO 0x43a37bdfb
+ddivu $v0, $v1 :: rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe, HI 0x145f64a125a65c2, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x2d1fa1bf, LO 0x523e8afb8
+ddivu $v0, $v1 :: rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f, HI 0x53a48d24eb01764e, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x24e9ce64, LO 0x4d3616353
+ddivu $v0, $v1 :: rs 0x65fd698fddef9839, rt 0x47f505569a08a180, HI 0x1e08643943e6f6b9, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xfd9869b, LO 0x5e9abb97a
+ddivu $v0, $v1 :: rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413, HI 0x13c4d3d435923319, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0x1ce3052a, LO 0x56279fcd4
+ddivu $v0, $v1 :: rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d, HI 0x490609cfb25d1a5, LO 0x14
+ddivu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0x10a54d31, LO 0x75bd2d9d6
+ddivu $v0, $v1 :: rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d, HI 0x372c209e42f3b58d, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0x11582f4, LO 0x6bb0cd4d5
+ddivu $v0, $v1 :: rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0, HI 0x30f870b7e122a83b, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0x2b5d4d4, LO 0x8746f7bf9
+ddivu $v0, $v1 :: rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7, HI 0x23629c37a0284bf5, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0x16526436, LO 0x9a6c2c6a8
+ddivu $v0, $v1 :: rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d, HI 0x123e4fcec842dbb0, LO 0x6
+ddivu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xcd22f3c, LO 0xac4f3f9a9
+ddivu $v0, $v1 :: rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad, HI 0x3e547c3218b1116, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xc090c50, LO 0xd7619a9aa
+ddivu $v0, $v1 :: rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502, HI 0x163ba3aade09fa15, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xd0f6feb, LO 0x134d858d52
+ddivu $v0, $v1 :: rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb, HI 0x680cce5fb236b666, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0x5049f78, LO 0x1aec335357
+ddivu $v0, $v1 :: rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3, HI 0x3baa99471f6d4d75, LO 0x0
+ddivu $v0, $v1 :: rs 0x614d9b445f12236b, rt 0x7e876382d2ab13, HI 0x6df31435c728df, LO 0xc4
+ddivu $v0, $v1 :: rs 0xa2a6ec661ba84121, rt 0x12bd6aa, HI 0x7d9b8f, LO 0x8adf0411a5
+div $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x9823b6e, LO 0x0
+div $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xd4326d9, LO 0x0
+div $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x130476dc, LO 0x0
+div $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x17c56b6b, LO 0x0
+div $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x1a864db2, LO 0x0
+div $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x1e475005, LO 0x0
+div $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x2608edb8, LO 0x0
+div $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x22c9f00f, LO 0x0
+div $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x2f8ad6d6, LO 0x0
+div $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x2b4bcb61, LO 0x0
+div $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x350c9b64, LO 0x0
+div $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x31cd86d3, LO 0x0
+div $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x3c8ea00a, LO 0x0
+div $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x384fbdbd, LO 0x0
+div $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x7fc300, LO 0xffffffffffffffdc
+div $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x45c0745, LO 0xfffffffffffffff6
+div $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0xb8b0370, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x3e9f21d, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x9844f24, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x46472d7, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0xcba1a24, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x199a22f7, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x21f623c0, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xc666ee0, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x873a7ca, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x14b4b15b, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xaf14154, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x163297d1, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x3207b748, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x3a078d46, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffebcda388, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xfffffffff70e831d, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xfffffffff2a5f53c, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffffde903153, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffc5f840c4, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffcdf87aca, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffffe94b731e, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xfffffffff58c3387, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xfffffffffd9bcb08, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xfffffffffd986d11, LO 0xfffffffffffffffa
+div $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xfffffffffdb4c5cc, LO 0xfffffffffffffff5
+div $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffff726c82, LO 0xffffffffffffffe3
+div $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffe6e007e4, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xfffffffff23a81c8, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xfffffffffa167062, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xfffffffff87486ea, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffd4326d90, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffd0f37027, LO 0x0
+div $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xffffffffddb056fe, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffffd9714b49, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffc7361b4c, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffc3f706fb, LO 0x0
+div $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffceb42022, LO 0x0
+div $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffca753d95, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xfffffffff23a8028, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xfffffffff6fb9d9f, LO 0x0
+div $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xfffffffffbb8bb46, LO 0x0
+div $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffff79a6f1, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffffe13ef6f4, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffffe5ffeb43, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xffffffffe8bccd9a, LO 0x0
+div $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xffffffffec7dd02d, LO 0x0
+div $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x34867077, LO 0x0
+div $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x30476dc0, LO 0x0
+div $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x3d044b19, LO 0x0
+div $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x39c556ae, LO 0x0
+div $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x278206ab, LO 0x0
+div $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x23431b1c, LO 0x0
+div $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x2e003dc5, LO 0x0
+div $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x2ac12072, LO 0x0
+div $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x128e9dcf, LO 0x0
+div $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x164f8078, LO 0x0
+div $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1b0ca6a1, LO 0x0
+div $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x1fcdbb16, LO 0x0
+div $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x18aeb13, LO 0x0
+div $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x54bf6a4, LO 0x0
+div $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x808d07d, LO 0x0
+div $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xcc9cdca, LO 0x0
+div $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x179aa2b8, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x39f85b48, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x205d18b9, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xb4342f4, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x9df32b7, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x1520726e, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0xba764f6, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x902c9f8, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0xbdc3600, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x1832a20a, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x2807206, LO 0xffffffffffffffeb
+div $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x207394, LO 0xfffffffffffffff6
+div $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x7aed163, LO 0xfffffffffffffffa
+div $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x5956ef2, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffe74ad2dd, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xfffffffff51faddc, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xfffffffff86af32d, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xfffffffff23f0530, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xfffffffff8fd7447, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xfffffffffaf03dac, LO 0xfffffffffffffffa
+div $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xfffffffffc9eb33e, LO 0xfffffffffffffff7
+div $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xfffffffffceeaa22, LO 0xffffffffffffffe8
+div $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffc60796ca, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xfffffffff420a87a, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffea659881, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xfffffffff6a64224, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xfffffffff5bfd918, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffffdf24f266, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffffe0b41de7, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffffe4750050, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xffffffffe9362689, LO 0x0
+div $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xffffffffedf73b3e, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xfffffffff3b06b3b, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xfffffffff771768c, LO 0x0
+div $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xfffffffffa325055, LO 0x0
+div $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xfffffffffef34de2, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffc6bcf05f, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffc27dede8, LO 0x0
+div $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffcf3ecb31, LO 0x0
+div $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffcbffd686, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffd5b88683, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffd1799b34, LO 0x0
+div $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xffffffffdc3abded, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffd8fba05a, LO 0x0
+div $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x1b0421a2, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x27e3720, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x38211e8, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0xfc0d33d, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x1208433e, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x1d4721e7, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x36089b44, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x4c591a9, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4bde8c, LO 0xffffffffffffffb5
+div $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x532532, LO 0xfffffffffffffff3
+div $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x211ea98, LO 0xfffffffffffffff8
+div $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x4b943b6, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x1d4a3c0, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x1463d9d8, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x2e141d4, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x12ab9921, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x251d3b9e, LO 0x0
+div $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x21dc2629, LO 0x0
+div $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x2c9f00f0, LO 0x0
+div $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x285e1d47, LO 0x0
+div $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x36194d42, LO 0x0
+div $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x3b5a6b9b, LO 0x0
+div $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x315d626, LO 0x0
+div $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x7d4cb91, LO 0x0
+div $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xa97ed48, LO 0x0
+div $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xe56f0ff, LO 0x0
+div $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1011a0fa, LO 0x0
+div $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x14d0bd4d, LO 0x0
+div $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x19939b94, LO 0x0
+div $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x1d528623, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xfffffffff12f560e, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xfffffffff5ee4bb9, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xfffffffff8ad6d60, LO 0x0
+div $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xfffffffffc6c70d7, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffffe22b20d2, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffffe6ea3d65, LO 0x0
+div $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xffffffffeba91bbc, LO 0x0
+div $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xffffffffef68060b, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffd727bbb6, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffd3e6a601, LO 0x0
+div $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xffffffffdea580d8, LO 0x0
+div $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xffffffffda649d6f, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffc423cd6a, LO 0x0
+div $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffcda1f604, LO 0x0
+div $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xfffffffffd2f9270, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xfffffffffa4614b1, LO 0xfffffffffffffff8
+div $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xfffffffffee43308, LO 0xfffffffffffffff2
+div $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffff2a8070, LO 0xffffffffffffffcd
+div $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffedd671ce, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xfffffffffc21d9f8, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffeaa74234, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffffedb454b7, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xfffffffff0b8a1aa, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xfffffffffbf7f8fb, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xfffffffffc7dacfc, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffe5795375, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xfffffffffbbcc376, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffc9f756c6, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffffe23f08f4, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffffee7e11b1, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0xf81d14d, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x1381f5fc, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x6086dc0, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x1347a428, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x5d108a, LO 0xffffffffffffff6b
+div $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x1946b98, LO 0xffffffffffffffef
+div $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x7ee2c84, LO 0xfffffffffffffff9
+div $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0xcb7c13c, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x106cf84b, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x1caba0da, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x35f74d4a, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x52d9290, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x1b68a28f, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x5581b44, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x2eb10e1, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0xe2a0844, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x119b4be9, LO 0x0
+div $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x155a565e, LO 0x0
+div $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x18197087, LO 0x0
+div $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x1cd86d30, LO 0x0
+div $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x29f3d35, LO 0x0
+div $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x65e2082, LO 0x0
+div $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xb1d065b, LO 0x0
+div $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfdc1bec, LO 0x0
+div $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x3793a651, LO 0x0
+div $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x3352bbe6, LO 0x0
+div $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x3e119d3f, LO 0x0
+div $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x3ad08088, LO 0x0
+div $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x2497d08d, LO 0x0
+div $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2056cd3a, LO 0x0
+div $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x2d15ebe3, LO 0x0
+div $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x29d4f654, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffc5a92679, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffc1683bce, LO 0x0
+div $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffcc2b1d17, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffc8ea00a0, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffd6ad50a5, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffd26c4d12, LO 0x0
+div $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xffffffffdf2f6bcb, LO 0x0
+div $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffffdbee767c, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffffe3a1cbc1, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffffe760d676, LO 0x0
+div $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xffffffffea23f0af, LO 0x0
+div $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xffffffffeee2ed18, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xfffffffff0a5bd1d, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xfffffffff464a0aa, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xfffffffff9278673, LO 0x0
+div $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xfffffffffde69bc4, LO 0x0
+div $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xfffffffffa587883, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffca0880c8, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffffe3d5d40d, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffffef151298, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xfffffffff1542297, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xfffffffffd93440e, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xfffffffffb9c80e8, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffffe411887c, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffec3eb0bb, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xfffffffffb03f61c, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffffed826e20, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffffef0511d8, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffff0428aa, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xfffffffffb051bdc, LO 0xfffffffffffffff9
+divu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x9823b6e, LO 0x0
+divu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xd4326d9, LO 0x0
+divu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x130476dc, LO 0x0
+divu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x17c56b6b, LO 0x0
+divu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x1a864db2, LO 0x0
+divu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x1e475005, LO 0x0
+divu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x2608edb8, LO 0x0
+divu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x22c9f00f, LO 0x0
+divu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x2f8ad6d6, LO 0x0
+divu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x2b4bcb61, LO 0x0
+divu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x350c9b64, LO 0x0
+divu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x31cd86d3, LO 0x0
+divu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x3c8ea00a, LO 0x0
+divu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x384fbdbd, LO 0x0
+divu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4c11db70, LO 0x0
+divu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x48d0c6c7, LO 0x0
+divu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x4593e01e, LO 0x0
+divu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x4152fda9, LO 0x0
+divu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x5f15adac, LO 0x0
+divu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x5bd4b01b, LO 0x0
+divu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x569796c2, LO 0x0
+divu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x52568b75, LO 0x0
+divu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x6a1936c8, LO 0x0
+divu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x6ed82b7f, LO 0x0
+divu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x639b0da6, LO 0x0
+divu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x675a1011, LO 0x0
+divu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x791d4014, LO 0x0
+divu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x7ddc5da3, LO 0x0
+divu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x709f7b7a, LO 0x0
+divu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x745e66cd, LO 0x0
+divu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0x1aa4d3e4, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0x15a0e7ae, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0x104658a6, LO 0x4
+divu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0x3014e05, LO 0x4
+divu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0x1586bf2c, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x13c3a30d, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0x1c008386, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x173d9a43, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xfb62834, LO 0xb
+divu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0x919e13f, LO 0x10
+divu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0x55dd1fe, LO 0x1c
+divu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0x11c3b6d, LO 0x44
+divu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0x1c9e64, LO 0x6
+divu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0x13c1c82, LO 0x7
+divu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xf34ba58, LO 0x7
+divu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0x1f6602c, LO 0x9
+divu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x8a81348, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xeeb0f01, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x5222a6a, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0x865334f, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x5074bf54, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x51f6c0ac, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x4f70bf8c, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x4ef2c074, LO 0x1
+divu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0x26d13e54, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0x21d5061e, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0x1cc8c770, LO 0x3
+divu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0x13ccf422, LO 0x3
+divu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0x3fab8a74, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0x3dee9355, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0x3625b33e, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0x3168aefb, LO 0x2
+divu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x34867077, LO 0x0
+divu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x30476dc0, LO 0x0
+divu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x3d044b19, LO 0x0
+divu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x39c556ae, LO 0x0
+divu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x278206ab, LO 0x0
+divu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x23431b1c, LO 0x0
+divu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x2e003dc5, LO 0x0
+divu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x2ac12072, LO 0x0
+divu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x128e9dcf, LO 0x0
+divu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x164f8078, LO 0x0
+divu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1b0ca6a1, LO 0x0
+divu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x1fcdbb16, LO 0x0
+divu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x18aeb13, LO 0x0
+divu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x54bf6a4, LO 0x0
+divu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x808d07d, LO 0x0
+divu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xcc9cdca, LO 0x0
+divu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x7c56b6b0, LO 0x0
+divu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x75d48dde, LO 0x0
+divu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x6b93dddb, LO 0x0
+divu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x6f52c06c, LO 0x0
+divu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x6211e6b5, LO 0x0
+divu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x66d0fb02, LO 0x0
+divu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x5e9f46bf, LO 0x0
+divu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x5a5e5b08, LO 0x0
+divu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x571d7dd1, LO 0x0
+divu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x53dc6066, LO 0x0
+divu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4d9b3063, LO 0x0
+divu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x495a2dd4, LO 0x0
+divu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x44190b0d, LO 0x0
+divu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x40d816ba, LO 0x0
+divu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0x1a0927e8, LO 0x5
+divu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xeef35a8, LO 0x6
+divu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0x1372d0de, LO 0x7
+divu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0x136968a, LO 0xa
+divu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0x5377358, LO 0xd
+divu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0x749ec34, LO 0x11
+divu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0x205411e, LO 0x17
+divu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0x305e81c, LO 0x39
+divu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x13f853f9, LO 0x2
+divu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x1bbb7372, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0x208f061e, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0x178b3d74, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0x8bacdf9, LO 0x4
+divu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0x758cb2, LO 0x4
+divu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0x3e2d6341, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0x39707e88, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0x37b35a0f, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0x35f6442a, LO 0x2
+divu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0x2cdae88e, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0x23ded3e4, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0x16e31db2, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0x11e725e0, LO 0x3
+divu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x4f713f74, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x4ef3408c, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x50753fac, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x51f74054, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xd18fa15, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0x105be434, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0x9ec33b, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x6e1de7e, LO 0x2
+divu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x690ce0ee, LO 0x0
+divu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x6dcdfd59, LO 0x0
+divu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x608edb80, LO 0x0
+divu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x644fc637, LO 0x0
+divu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x7a089632, LO 0x0
+divu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x7ec98b85, LO 0x0
+divu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x738aad5c, LO 0x0
+divu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x774bb0eb, LO 0x0
+divu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4f040d56, LO 0x0
+divu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4bc510e1, LO 0x0
+divu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x46863638, LO 0x0
+divu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x42472b8f, LO 0x0
+divu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x5c007b8a, LO 0x0
+divu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x58c1663d, LO 0x0
+divu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x558240e4, LO 0x0
+divu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x51435d53, LO 0x0
+divu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x251d3b9e, LO 0x0
+divu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x21dc2629, LO 0x0
+divu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x2c9f00f0, LO 0x0
+divu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x285e1d47, LO 0x0
+divu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x36194d42, LO 0x0
+divu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x3b5a6b9b, LO 0x0
+divu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x315d626, LO 0x0
+divu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x7d4cb91, LO 0x0
+divu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xa97ed48, LO 0x0
+divu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xe56f0ff, LO 0x0
+divu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1011a0fa, LO 0x0
+divu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x14d0bd4d, LO 0x0
+divu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x19939b94, LO 0x0
+divu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x1d528623, LO 0x0
+divu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0x2ea711e0, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0x29a32a92, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0x1c9ee3e4, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0x139adfae, LO 0x3
+divu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0x3a726006, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0x38af41c3, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0x36ec65ac, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0x3229788d, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0x985c5b2, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xfc2d897, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x0, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x33ce1b9, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0x4e4f3f8c, LO 0x1
+divu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x514b3f54, LO 0x1
+divu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xa354c72, LO 0xe
+divu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0x134d58e, LO 0x17
+divu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xa5f448, LO 0x22
+divu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xa0fd31, LO 0x72
+divu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xf365434, LO 0x5
+divu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0x8affe4f, LO 0x6
+divu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xb8c3d84, LO 0x7
+divu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xf04ef03, LO 0x8
+divu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0x1af2ff70, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0x15f6c422, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0x5a7ef38, LO 0x4
+divu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0x1fef321e, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x14a768be, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x12ea757b, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x212151f4, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x1c644fd5, LO 0x2
+divu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x5d8a9099, LO 0x0
+divu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x594b8d2e, LO 0x0
+divu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x5408abf7, LO 0x0
+divu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x50c9b640, LO 0x0
+divu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4e8ee645, LO 0x0
+divu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x4a4ffbf2, LO 0x0
+divu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x470cdd2b, LO 0x0
+divu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x43cdc09c, LO 0x0
+divu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x7b827d21, LO 0x0
+divu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x7f436096, LO 0x0
+divu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x7200464f, LO 0x0
+divu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x76c15bf8, LO 0x0
+divu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x68860bfd, LO 0x0
+divu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x6c47164a, LO 0x0
+divu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x61043093, LO 0x0
+divu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x65c52d24, LO 0x0
+divu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x119b4be9, LO 0x0
+divu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x155a565e, LO 0x0
+divu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x18197087, LO 0x0
+divu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x1cd86d30, LO 0x0
+divu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x29f3d35, LO 0x0
+divu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x65e2082, LO 0x0
+divu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xb1d065b, LO 0x0
+divu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfdc1bec, LO 0x0
+divu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x3793a651, LO 0x0
+divu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x3352bbe6, LO 0x0
+divu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x3e119d3f, LO 0x0
+divu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x3ad08088, LO 0x0
+divu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x2497d08d, LO 0x0
+divu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2056cd3a, LO 0x0
+divu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x2d15ebe3, LO 0x0
+divu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x29d4f654, LO 0x0
+divu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x514abfac, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x50c8c054, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0x4e4ebf74, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x4fccc08c, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0x7f93083, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xb3631c6, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x17f14cd, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0x7bc08ec, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0x3ef4b4d7, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0x3a31a8f2, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0x327a9079, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0x30b791c0, LO 0x2
+divu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0x2cacc422, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0x23a90050, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0x1eb5321e, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0x19b10974, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x1919818f, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x145ca0aa, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x1c9fb8c1, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x1ae2a508, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0x18d929b2, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xfdd11e0, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0x816f07f, LO 0x4
+divu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0x25e4e3e4, LO 0x3
+divu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0x184b8098, LO 0x5
+divu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xc4b3ada, LO 0x6
+divu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0x1791a75d, LO 0x6
+divu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xacf7f88, LO 0x8
+divu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0x308468f, LO 0xe
+divu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0x3cb12b0, LO 0x13
+dmult $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x12bd6aa, rt 0xa2a6ec661ba84121, HI 0xffffffffff92aaaf, LO 0xa7b8a47115b7d5ea
+dmult $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x7e876382d2ab13, rt 0x614d9b445f12236b, HI 0x3017a82b446008, LO 0xe93183d28fc719f1
+dmult $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0xffffffffffffffff, LO 0xfd57bc67e4ba75ac
+dmult $v0, $v1 :: rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75, HI 0xe7a0888c77592cc1, LO 0xe923a4d32330d60f
+dmult $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xffffffffffffffff, LO 0xfc83823413a60065
+dmult $v0, $v1 :: rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666, HI 0xe283ab72304992dd, LO 0x218872f754789402
+dmult $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0xffffffffffffffff, LO 0xf9166da2b5b6b160
+dmult $v0, $v1 :: rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17, HI 0x172a574aa8a55dea, LO 0x228b2726e77fa12e
+dmult $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0xffffffffffffffff, LO 0xf7a940de3ae98b35
+dmult $v0, $v1 :: rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca, HI 0xf26c9bfbc1e5cac6, LO 0x25d3435aecbbff82
+dmult $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0xffffffffffffffff, LO 0xf73d1ed5a2a9dc2c
+dmult $v0, $v1 :: rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e, HI 0xf9d53979272a6695, LO 0x893e92ed20ba3c26
+dmult $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0xffffffffffffffff, LO 0xf68042aed2bea375
+dmult $v0, $v1 :: rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec, HI 0xd110067009ad2b95, LO 0x15cd94f4e17063b4
+dmult $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0xffffffffffffffff, LO 0xf08c531a23587ca0
+dmult $v0, $v1 :: rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b, HI 0xed566349e916c471, LO 0x9c189c216e03d8e0
+dmult $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0xffffffffffffffff, LO 0xf13889b5ff2eaaf5
+dmult $v0, $v1 :: rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d, HI 0x1037422ab88bb7a1, LO 0xf85eab9ff0aaa629
+dmult $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0xffffffffffffffff, LO 0xede42c7a8785a1ec
+dmult $v0, $v1 :: rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9, HI 0x2d44c0286a6465d, LO 0x2ed33613b77d4565
+dmult $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0xffffffffffffffff, LO 0xeedfb046e2b9e2b5
+dmult $v0, $v1 :: rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52, HI 0xf2538d62b118d224, LO 0x36ff9b9e6631eb16
+dmult $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0xffffffffffffffff, LO 0xe68215a4ce38cd40
+dmult $v0, $v1 :: rs 0x47f505569a08a180, rt 0x65fd698fddef9839, HI 0x1caae5ed60cc00f1, LO 0xf01c93b7b24ff580
+dmult $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0xffffffffffffffff, LO 0xe724abc00bc670e5
+dmult $v0, $v1 :: rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d, HI 0x99017781bbe0f60, LO 0x17818f95c7979f73
+dmult $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0xffffffffffffffff, LO 0xe4e8c2aee49d876c
+dmult $v0, $v1 :: rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180, HI 0x93c2dc4e43efe3f, LO 0x9cee3b264c29fd00
+dmult $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0xffffffffffffffff, LO 0xe5fb9fc64e2974a5
+dmult $v0, $v1 :: rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89, HI 0xf07a45bdd4cd17fd, LO 0xb360cb922cac207f
+dmult $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0xffffffffffffffff, LO 0xff6050c1e428d1c0
+dmult $v0, $v1 :: rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc, HI 0xf6447d1571c37fe8, LO 0x594c3fa27e8170e4
+dmult $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0xffffffffffffffff, LO 0xfe0d889cd5267565
+dmult $v0, $v1 :: rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086, HI 0xa213c15ee0d91a0, LO 0xb21152b961103a7c
+dmult $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0xffffffffffffffff, LO 0xfcd86aecc3fd93ec
+dmult $v0, $v1 :: rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e, HI 0xee87e8305f97d14e, LO 0x6ceb01050154e3fe
+dmult $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0xffffffffffffffff, LO 0xfc151ae499998125
+dmult $v0, $v1 :: rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b, HI 0x82eb5ca1938f728, LO 0xfe33c6249ca70919
+dmult $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0xffffffffffffffff, LO 0xf9a4c2fd35a88420
+dmult $v0, $v1 :: rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d, HI 0xd5efc7f5e3557f77, LO 0xaad228d8c0c86d91
+dmult $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0xffffffffffffffff, LO 0xf8289d47ed2eb275
+dmult $v0, $v1 :: rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a, HI 0x4179e9793859b56, LO 0x79872214eb18f6ce
+dmult $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0xffffffffffffffff, LO 0xf7abf3aa38a5a96c
+dmult $v0, $v1 :: rs 0x25b50fec14682d97, rt 0x4ed6393df818af57, HI 0xb9cb8a3aecc32ff, LO 0xf5851d17b4b9b751
+dmult $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0xffffffffffffffff, LO 0xf6e03c2a2769ea35
+dmult $v0, $v1 :: rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657, HI 0x5524f280515c9, LO 0xc5715d0cb0029d76
+dmult $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0xffffffffffffffff, LO 0xf10d2fa10966b8e0
+dmult $v0, $v1 :: rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c, HI 0xee353c2fa40dfa1c, LO 0xc26981fb1dde94c8
+dmult $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xffffffffffffffff, LO 0xf1caaac0dce992b5
+dmult $v0, $v1 :: rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f, HI 0xf68be81913947ce7, LO 0x5eb5f14a58505162
+dmult $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0xffffffffffffffff, LO 0xee4446f29209e3ac
+dmult $v0, $v1 :: rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7, HI 0xfd2199e755d3517d, LO 0xc09f4eb104c60adb
+dmult $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0xffffffffffffffff, LO 0xef5131c8d38eaaf5
+dmult $v0, $v1 :: rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2, HI 0x5692a5d7cb1f044, LO 0xb33c753f59d90204
+dmult $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xffffffffffffffff, LO 0xe5f04f03e4900c80
+dmult $v0, $v1 :: rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc, HI 0xc2a1b9f3385569e, LO 0x851fae20635d3b08
+dmult $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0xffffffffffffffff, LO 0xe6846f4be3c8e0a5
+dmult $v0, $v1 :: rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb, HI 0xe5c367a4670f64de, LO 0xa9ed8fc0e6a8c96c
+dmult $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0xffffffffffffffff, LO 0xe4769bb6855a7a2c
+dmult $v0, $v1 :: rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1, HI 0xd94ec1775f940325, LO 0x6dbbb698d4d4a8ee
+dmult $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0xffffffffffffffff, LO 0xe57b221da23604e5
+dmult $v0, $v1 :: rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f, HI 0xf9e10d0edd351689, LO 0x24150b202586a731
+dmult $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffffffffff, LO 0xef0751ed8ef34180
+dmult $v0, $v1 :: rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790, HI 0x13a1e21ecb31a85a, LO 0x1c3e16e8b355ef0
+dmult $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffffffffffff, LO 0xee8b5b628969cb25
+dmult $v0, $v1 :: rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b, HI 0x26b5e5bf6167d90, LO 0xc865945c5d63585c
+dmult $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xffffffffffffffff, LO 0xf20ec57caaa8c82c
+dmult $v0, $v1 :: rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91, HI 0xefa8a428f8b1836a, LO 0xb6af89552912049f
+dmult $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffffffffffff, LO 0xf0c25960d0fcbf65
+dmult $v0, $v1 :: rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27, HI 0xfab9c1e6fca0d31c, LO 0xc4be1bb82f19bca1
+dmult $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffffffffff, LO 0xe527d72f95fc1fe0
+dmult $v0, $v1 :: rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739, HI 0xf6b46278d34d87da, LO 0x848f5b94655e274
+dmult $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffffffffff, LO 0xe4d233215fe9c435
+dmult $v0, $v1 :: rs 0x314791895991136c, rt 0x949cad35625bb2d3, HI 0xeb53f78e62035fc0, LO 0x8c43d5d8f1781a04
+dmult $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffffffffffff, LO 0xe6de8e3a75f8b1ac
+dmult $v0, $v1 :: rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508, HI 0xe5e4beee752186fe, LO 0xb05dba14f502698
+dmult $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xffffffffffffffff, LO 0xe5998a8abc248c75
+dmult $v0, $v1 :: rs 0xa809521238895270, rt 0xa3d991b79941dedd, HI 0x1fa9db042464f657, LO 0x426d71f4c2794ab0
+dmult $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xffffffffffffffff, LO 0xfbebf06e8a3a7d20
+dmult $v0, $v1 :: rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f, HI 0xfef0f426fd332da4, LO 0xf3b69123e9df8bc0
+dmult $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xffffffffffffffff, LO 0xfd003bdf3d03d0f5
+dmult $v0, $v1 :: rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020, HI 0x1c1f0665e30cabd, LO 0x642dcb3c6ec68060
+dmult $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xffffffffffffffff, LO 0xfe335f4307dd9b6c
+dmult $v0, $v1 :: rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa, HI 0xd9f6a45c0df9b9c8, LO 0x8dd86e01f2515f66
+dmult $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffffffffff, LO 0xff372c90ffa8b8b5
+dmult $v0, $v1 :: rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3, HI 0x3404e247488be33, LO 0x57d146cbf06f1979
+dmult $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffffffffff, LO 0xf6ab25766699bcc0
+dmult $v0, $v1 :: rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417, HI 0x1a77c3dacfa48de1, LO 0xaad0b66319c39616
+dmult $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xffffffffffffffff, LO 0xf7e5c6f24eacbae5
+dmult $v0, $v1 :: rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb, HI 0xc440efcbb61d844, LO 0x24416c37278369ad
+dmult $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xffffffffffffffff, LO 0xf861f8ebdd8505ec
+dmult $v0, $v1 :: rs 0xd3adba260ff7d96b, rt 0x152828591a652711, HI 0xfc564c6ded2b9ef8, LO 0xdb63f00676cbbd1b
+dmult $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xffffffffffffffff, LO 0xf96d31d4b7f996a5
+dmult $v0, $v1 :: rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5, HI 0x24d49f8c63a2d63c, LO 0x550458cd8049ed66
+dmult $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffffffffff, LO 0xee96284ed429b840
+dmult $v0, $v1 :: rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf, HI 0xde097a4fbef705af, LO 0xc184c2817fb87848
+dmult $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffffffffff, LO 0xee2b785f286cb665
+dmult $v0, $v1 :: rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec, HI 0x29792985127c28b, LO 0x3a626d907de7de2c
+dmult $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xffffffffffffffff, LO 0xf17cdd9e84e4f96c
+dmult $v0, $v1 :: rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac, HI 0x110ec102eaf560f9, LO 0xbf0b6bae9ed980ac
+dmult $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffffffffffff, LO 0xf041d614d3698a25
+dmult $v0, $v1 :: rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63, HI 0xfe6e57f2b9f56404, LO 0xa4ecceeabd0baf2c
+dmult $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffffffffff, LO 0xe5a80bf8d46a75a0
+dmult $v0, $v1 :: rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0, HI 0x1af3ce0b8e401f7, LO 0xc9aebcfb7035ba0
+dmult $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffffffffff, LO 0xe543f09ecb23c975
+dmult $v0, $v1 :: rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117, HI 0xf9416aeb8c841e6e, LO 0x87146767393babb2
+dmult $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffffffffff, LO 0xe77e627bf07d93ec
+dmult $v0, $v1 :: rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae, HI 0xe5f942d01d84a01f, LO 0x131cafa6fc7993c2
+dmult $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffffffffff, LO 0xe62b09f434d8b135
+dmult $v0, $v1 :: rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9, HI 0x6288c8d7c5fbd80, LO 0x207be7360211fb6e
+dmult $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xffffffffffffffff, LO 0xfc5a3e0693cc1860
+dmult $v0, $v1 :: rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580, HI 0xf6d067c7d76e8ad1, LO 0xfd0922919bc88280
+dmult $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xffffffffffffffff, LO 0xfd7f54b82fc9bcb5
+dmult $v0, $v1 :: rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6, HI 0x17f5f378dd1a6417, LO 0x794a99094405185a
+dmult $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xffffffffffffffff, LO 0xfec20fee1ad8aa2c
+dmult $v0, $v1 :: rs 0xd30169894df47405, rt 0x32fc12c81b7919f0, HI 0xf709f8b3a2147348, LO 0x97cef80551de41b0
+dmult $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffffffffff, LO 0xffd6c5df2f7484f5
+dmult $v0, $v1 :: rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d, HI 0x9532a9016812625, LO 0xec2f2b3f2d10174f
+dmult $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffffffffffff, LO 0xf64b71b738e33500
+dmult $v0, $v1 :: rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda, HI 0x112ea15e6e273dd4, LO 0xbe2f205dc00ee764
+dmult $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffffffffffff, LO 0xf77717ba3229bea5
+dmult $v0, $v1 :: rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb, HI 0xd101cd0ebe6ac7b9, LO 0x5539e96135f1db1f
+dmult $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xffffffffffffffff, LO 0xf7e2c5f69548c3ac
+dmult $v0, $v1 :: rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f, HI 0xdd28137539970e27, LO 0xc6f454f8281fd238
+dmult $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xffffffffffffffff, LO 0xf8df256dad8cbae5
+dmult $v0, $v1 :: rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f, HI 0xdd1ecc1871c24661, LO 0xb4ed4f5d114d877e
+dmult $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0xffffffffffffffff, LO 0xe6daa14faf04faa5
+dmult $v0, $v1 :: rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0, HI 0xefc4c75163de9d0e, LO 0x9a91008440b862c0
+dmult $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0xffffffffffffffff, LO 0xe82dca3ba2a87b00
+dmult $v0, $v1 :: rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4, HI 0xf1d60c09ec2a0323, LO 0x5bbc1a31a51e6b80
+dmult $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0xffffffffffffffff, LO 0xe493fbd45fdbd2e5
+dmult $v0, $v1 :: rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9, HI 0x9bf2dd1bd287aa6, LO 0x3afb8c91e2b237c7
+dmult $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0xffffffffffffffff, LO 0xe4f6cce63179c1ac
+dmult $v0, $v1 :: rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5, HI 0x269c74bedd0d21a, LO 0x61d6d8798351076
+dmult $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0xffffffffffffffff, LO 0xefb6427c94b890b5
+dmult $v0, $v1 :: rs 0x81daf8200468319b, rt 0xa974eac43a489b55, HI 0x2aa4f93702bda828, LO 0x264a46839e395177
+dmult $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0xffffffffffffffff, LO 0xf0f20229065cbe60
+dmult $v0, $v1 :: rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07, HI 0x2ec852afc4037ead, LO 0x347b00414b81cc74
+dmult $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0xffffffffffffffff, LO 0xeebe615e605774f5
+dmult $v0, $v1 :: rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34, HI 0x37a50caacab9a451, LO 0x966f22c7e461bccc
+dmult $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0xffffffffffffffff, LO 0xef2ae3195b95d82c
+dmult $v0, $v1 :: rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e, HI 0xf80f418154ee79f0, LO 0x38e17cfdc8cd7732
+dmult $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0xffffffffffffffff, LO 0xf94b06226c988575
+dmult $v0, $v1 :: rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d, HI 0xf45d6ecdbd7e7e8a, LO 0x2070b95708433010
+dmult $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0xffffffffffffffff, LO 0xf84e764805f45fa0
+dmult $v0, $v1 :: rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc, HI 0xa0f98af82e8d8ca, LO 0x725733b09abaac4
+dmult $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0xffffffffffffffff, LO 0xf7045dbcdf995135
+dmult $v0, $v1 :: rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe, HI 0x2d4a82ee04a297f, LO 0x59ab90e40bbc4ec
+dmult $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0xffffffffffffffff, LO 0xf5d76df22d9af5ec
+dmult $v0, $v1 :: rs 0xf518381dce634413, rt 0x3c07af97fba6704a, HI 0xfd7159559a1d0a46, LO 0xf6d78f3adbcbfd7e
+dmult $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0xffffffffffffffff, LO 0xff855867a4ec0a65
+dmult $v0, $v1 :: rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244, HI 0x61aada74586db85, LO 0x5edcd99f24f4ef00
+dmult $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0xffffffffffffffff, LO 0xfe715a54c6880240
+dmult $v0, $v1 :: rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438, HI 0x13fd8ddf43b91a95, LO 0xdbe8624ec49cf0c0
+dmult $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0xffffffffffffffff, LO 0xfdcd938045b50225
+dmult $v0, $v1 :: rs 0x829464944018fd8f, rt 0xa86726c90081ab2a, HI 0x2aea74210ecea5ba, LO 0x20072301fa871e76
+dmult $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xffffffffffffffff, LO 0xfcaa4f156a978b6c
+dmult $v0, $v1 :: rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec, HI 0xfd3efce0040ba11e, LO 0xdb40fcee19ebb11c
+dmult $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x7caf83d2880ff344, rt 0x7535cd338595d342, HI 0x39166b87275c77ea, LO 0x3b2ee7a32431c388
+dmult $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0xffffffffffffffff, LO 0xe78963a11997fac0
+dmult $v0, $v1 :: rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12, HI 0x4e2d04067eca310, LO 0x9aa71e6b63a2881e
+dmult $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x93e2601c0f31d710, rt 0x126f646f34c31728, HI 0xf836df7f1ba65102, LO 0xc905bc55eb4c0a80
+dmult $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0xffffffffffffffff, LO 0xe472a95b5cf783ec
+dmult $v0, $v1 :: rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b, HI 0xf252e9e65f911b03, LO 0xa4c0254617622051
+dmult $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0xffffffffffffffff, LO 0xf03254fc7bb880f5
+dmult $v0, $v1 :: rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f, HI 0x53d78c98cf93bd8, LO 0x68e7fb682f646159
+dmult $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xffffffffffffffff, LO 0xf17efacefba45b20
+dmult $v0, $v1 :: rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd, HI 0xf8478f9868667c5a, LO 0x39dc1e173479b7e2
+dmult $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0xffffffffffffffff, LO 0xef1b361f734944b5
+dmult $v0, $v1 :: rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41, HI 0x984f9f23d648880, LO 0xea251470af6755c0
+dmult $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0xffffffffffffffff, LO 0xef987d06ab3ae96c
+dmult $v0, $v1 :: rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26, HI 0xe5da2c5a608a6d18, LO 0x6ef1d9e4ded87d70
+dmult $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0xffffffffffffffff, LO 0xf9dddf3ddb188435
+dmult $v0, $v1 :: rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b, HI 0x27b15cb3ff9c506, LO 0x50a7861be718a325
+dmult $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0xffffffffffffffff, LO 0xf8d1f49cc12cb1e0
+dmult $v0, $v1 :: rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732, HI 0xe70800bf6e0bf340, LO 0xfef6ab79a09aaa46
+dmult $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0xffffffffffffffff, LO 0xf776b7122ca77075
+dmult $v0, $v1 :: rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd, HI 0xfc3dc2fdd9c2f16d, LO 0x8bb0e4aee5d2ea06
+dmult $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0xffffffffffffffff, LO 0xf63a4d7893f5d3ac
+dmult $v0, $v1 :: rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d, HI 0x20d15d9d7bc77c7, LO 0x1e5002942abcbdcf
+dmult $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0xffffffffffffffff, LO 0xfeea72ebf044f325
+dmult $v0, $v1 :: rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5, HI 0xfe13d1bae15ab55a, LO 0x6ff90bfe3d773dc3
+dmult $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0xffffffffffffffff, LO 0xfde6dfd93f987380
+dmult $v0, $v1 :: rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6, HI 0xfb748e36aca15c4f, LO 0xb09cbd9df5e5e2ec
+dmult $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0xffffffffffffffff, LO 0xfd524ff3436bcb65
+dmult $v0, $v1 :: rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e, HI 0x5e27ca00341af8, LO 0x563e1c7aa3044f14
+dmult $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0xffffffffffffffff, LO 0xfc3f54236999ba2c
+dmult $v0, $v1 :: rs 0x8b086ee07150c260, rt 0x276af70a0e128561, HI 0xedfd6982a5131add, LO 0x963937f8cf558660
+dmult $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffffffffff, LO 0xf673e8ec17fb30a5
+dmult $v0, $v1 :: rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423, HI 0xf3efdc36f68dad5b, LO 0xe7ad46354e97c60f
+dmult $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xffffffffffffffff, LO 0xf73f56125e5b0e80
+dmult $v0, $v1 :: rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb, HI 0xfdc5c71c69638ec9, LO 0xba7361081889ce29
+dmult $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xffffffffffffffff, LO 0xf89d0d2901d838e5
+dmult $v0, $v1 :: rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a, HI 0x353187db1204b656, LO 0x73222402f4e8833c
+dmult $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xffffffffffffffff, LO 0xfa17f32e2cd5cc2c
+dmult $v0, $v1 :: rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b, HI 0xef583630529e5afa, LO 0x450b6e3d5302d38a
+dmult $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xffffffffffffffff, LO 0xfc64fb5cca86eab5
+dmult $v0, $v1 :: rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b, HI 0xf554891fdb61c3b4, LO 0x3d25bb3484ea56f1
+dmult $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xffffffffffffffff, LO 0xfd290d37abe73ae0
+dmult $v0, $v1 :: rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c, HI 0xfab5f812b620460e, LO 0x6c7faf8ec1e6eda0
+dmult $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xffffffffffffffff, LO 0xfdbd9381971c26f5
+dmult $v0, $v1 :: rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636, HI 0xc88188fa49f9881, LO 0x1e75f00db0d4e9a
+dmult $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffffffffff, LO 0xff1213d8077a65ac
+dmult $v0, $v1 :: rs 0xeb9682c170312f1, rt 0x8cff404aede292f2, HI 0xf962ab2d72cf578c, LO 0x869681b7577759d2
+dmult $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffffffffff, LO 0xe4cc78845b6bca75
+dmult $v0, $v1 :: rs 0x84785280dd301d0d, rt 0x743491a6828716c8, HI 0xc7ed278af42b2222, LO 0x3fa9ce3cdbf0d028
+dmult $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a, HI 0x1cfb2deaa535496, LO 0x25da5615a2b2cf06
+dmult $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x26444ced2998436d, rt 0xde02d1337d5407b9, HI 0xfaeb59968f78f591, LO 0x35d27e1f91a4b4c5
+dmult $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xffffffffffffffff, LO 0xe6a058f4e698976c
+dmult $v0, $v1 :: rs 0x7175c9dd58ca708, rt 0x993138f16cfde991, HI 0xfd26f6c9058fe3a5, LO 0xf4157dc36b98e388
+dmult $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffffffffff, LO 0xefdcd72a44d79565
+dmult $v0, $v1 :: rs 0x663d061055833287, rt 0xb620660a49732b90, HI 0xe27f4ca07574e80b, LO 0xc32be2b54ee18f0
+dmult $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffffffffffff, LO 0xeed0ae6f2bf83fc0
+dmult $v0, $v1 :: rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c, HI 0x191755bb5f69c830, LO 0xc66e693d656d5634
+dmult $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xffffffffffffffff, LO 0xf1356cdaf41abd25
+dmult $v0, $v1 :: rs 0xf69823670e82471b, rt 0xc532e18e187980fa, HI 0x2291144a863d276, LO 0x7e60581d7289f05e
+dmult $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffffffffffff, LO 0xf079a96cf8dcb1ec
+dmult $v0, $v1 :: rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36, HI 0xff595b142c0ee3e, LO 0x11b762d445a2058c
+dmult $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffffffffffff, LO 0xf610c13133b79ce5
+dmult $v0, $v1 :: rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c, HI 0xffde3e750b460664, LO 0xbf9e93b482a9727c
+dmult $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffffffffffff, LO 0xf6ccd58970e84740
+dmult $v0, $v1 :: rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17, HI 0xfeb79abdf40079f9, LO 0x582b2e53651171c9
+dmult $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xffffffffffffffff, LO 0xf81965f84a8ac4a5
+dmult $v0, $v1 :: rs 0x3f46553ecad374df, rt 0xf8be8164159649c5, HI 0xfe34e3847c07c875, LO 0x66dcb7c126b6869b
+dmult $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xffffffffffffffff, LO 0xf984d09658bcb96c
+dmult $v0, $v1 :: rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a, HI 0xfb4036f2e83a7c7b, LO 0x76436107f6c62e06
+dmult $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xffffffffffffffff, LO 0xfcd00f7ab4ebcef5
+dmult $v0, $v1 :: rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b, HI 0xfec8727529000047, LO 0x9ba3fb53e56f8631
+dmult $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xffffffffffffffff, LO 0xfda489fe651b76a0
+dmult $v0, $v1 :: rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587, HI 0xf5de72886a68e52b, LO 0x7aae062019543f04
+dmult $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xffffffffffffffff, LO 0xfe4845dec3a6eab5
+dmult $v0, $v1 :: rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25, HI 0xea19aef1fa0cb3cc, LO 0x4e159f3e77c5ede
+dmult $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xffffffffffffffff, LO 0xffad10c7f638a3ec
+dmult $v0, $v1 :: rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec, HI 0xf6dced7d50c98514, LO 0x4e4d09da3a934a1c
+dmult $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffffffffff, LO 0xe550e583e986f735
+dmult $v0, $v1 :: rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77, HI 0xd45ba6a916a81435, LO 0xc671d28419684456
+dmult $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffffffffff, LO 0xe43d401a76174760
+dmult $v0, $v1 :: rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649, HI 0xeac68b6a1fdd8085, LO 0xf0e34077a8bda728
+dmult $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffffffffff, LO 0xe7da85bd6b6c2b75
+dmult $v0, $v1 :: rs 0x478909b59a99269, rt 0x8a6229d731eea35b, HI 0xfdf2243ad16dbbe0, LO 0xa393e92b0e1de653
+dmult $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffffffffff, LO 0xe7362db84fda6a2c
+dmult $v0, $v1 :: rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a, HI 0x54ea32837cb08c3, LO 0xdd77e0217cf73a96
+dmult $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffffffffff, LO 0xef6ee7c0511b3825
+dmult $v0, $v1 :: rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9, HI 0xe8a8b0d4ac174e0f, LO 0x5d273754d3487032
+dmult $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffffffffff, LO 0xee73a3c35b6b1600
+dmult $v0, $v1 :: rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9, HI 0xa6efc7d1baae354, LO 0x514d43b16096fe44
+dmult $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xffffffffffffffff, LO 0xf0a83a819de84065
+dmult $v0, $v1 :: rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c, HI 0x44e1df22c0ab755, LO 0xca5c1c7ba63357d0
+dmult $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffffffffff, LO 0xeffd3e485475d3ac
+dmult $v0, $v1 :: rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b, HI 0x8d559f32f467d59, LO 0xc722c6e648e9da3d
+dmult $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0xffffffffffffffff, LO 0xeffd3e485475d3ac
+dmult $v0, $v1 :: rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897, HI 0x8d559f32f467d59, LO 0xc722c6e648e9da3d
+dmult $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0xffffffffffffffff, LO 0xf0a83a819de84065
+dmult $v0, $v1 :: rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc, HI 0x44e1df22c0ab755, LO 0xca5c1c7ba63357d0
+dmult $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0xffffffffffffffff, LO 0xee73a3c35b6b1600
+dmult $v0, $v1 :: rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4, HI 0xa6efc7d1baae354, LO 0x514d43b16096fe44
+dmult $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0xffffffffffffffff, LO 0xef6ee7c0511b3825
+dmult $v0, $v1 :: rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2, HI 0xe8a8b0d4ac174e0f, LO 0x5d273754d3487032
+dmult $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0xffffffffffffffff, LO 0xe7362db84fda6a2c
+dmult $v0, $v1 :: rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f, HI 0x54ea32837cb08c3, LO 0xdd77e0217cf73a96
+dmult $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0xffffffffffffffff, LO 0xe7da85bd6b6c2b75
+dmult $v0, $v1 :: rs 0x8a6229d731eea35b, rt 0x478909b59a99269, HI 0xfdf2243ad16dbbe0, LO 0xa393e92b0e1de653
+dmult $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0xffffffffffffffff, LO 0xe43d401a76174760
+dmult $v0, $v1 :: rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8, HI 0xeac68b6a1fdd8085, LO 0xf0e34077a8bda728
+dmult $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0xffffffffffffffff, LO 0xe550e583e986f735
+dmult $v0, $v1 :: rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da, HI 0xd45ba6a916a81435, LO 0xc671d28419684456
+dmult $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0xffffffffffffffff, LO 0xffad10c7f638a3ec
+dmult $v0, $v1 :: rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825, HI 0xf6dced7d50c98514, LO 0x4e4d09da3a934a1c
+dmult $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0xffffffffffffffff, LO 0xfe4845dec3a6eab5
+dmult $v0, $v1 :: rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206, HI 0xea19aef1fa0cb3cc, LO 0x4e159f3e77c5ede
+dmult $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0xffffffffffffffff, LO 0xfda489fe651b76a0
+dmult $v0, $v1 :: rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc, HI 0xf5de72886a68e52b, LO 0x7aae062019543f04
+dmult $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0xffffffffffffffff, LO 0xfcd00f7ab4ebcef5
+dmult $v0, $v1 :: rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33, HI 0xfec8727529000047, LO 0x9ba3fb53e56f8631
+dmult $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0xffffffffffffffff, LO 0xf984d09658bcb96c
+dmult $v0, $v1 :: rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7, HI 0xfb4036f2e83a7c7b, LO 0x76436107f6c62e06
+dmult $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0xffffffffffffffff, LO 0xf81965f84a8ac4a5
+dmult $v0, $v1 :: rs 0xf8be8164159649c5, rt 0x3f46553ecad374df, HI 0xfe34e3847c07c875, LO 0x66dcb7c126b6869b
+dmult $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0xffffffffffffffff, LO 0xf6ccd58970e84740
+dmult $v0, $v1 :: rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f, HI 0xfeb79abdf40079f9, LO 0x582b2e53651171c9
+dmult $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0xffffffffffffffff, LO 0xf610c13133b79ce5
+dmult $v0, $v1 :: rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479, HI 0xffde3e750b460664, LO 0xbf9e93b482a9727c
+dmult $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0xffffffffffffffff, LO 0xf079a96cf8dcb1ec
+dmult $v0, $v1 :: rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2, HI 0xff595b142c0ee3e, LO 0x11b762d445a2058c
+dmult $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0xffffffffffffffff, LO 0xf1356cdaf41abd25
+dmult $v0, $v1 :: rs 0xc532e18e187980fa, rt 0xf69823670e82471b, HI 0x2291144a863d276, LO 0x7e60581d7289f05e
+dmult $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0xffffffffffffffff, LO 0xeed0ae6f2bf83fc0
+dmult $v0, $v1 :: rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b, HI 0x191755bb5f69c830, LO 0xc66e693d656d5634
+dmult $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0xffffffffffffffff, LO 0xefdcd72a44d79565
+dmult $v0, $v1 :: rs 0xb620660a49732b90, rt 0x663d061055833287, HI 0xe27f4ca07574e80b, LO 0xc32be2b54ee18f0
+dmult $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0xffffffffffffffff, LO 0xe6a058f4e698976c
+dmult $v0, $v1 :: rs 0x993138f16cfde991, rt 0x7175c9dd58ca708, HI 0xfd26f6c9058fe3a5, LO 0xf4157dc36b98e388
+dmult $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0xde02d1337d5407b9, rt 0x26444ced2998436d, HI 0xfaeb59968f78f591, LO 0x35d27e1f91a4b4c5
+dmult $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef, HI 0x1cfb2deaa535496, LO 0x25da5615a2b2cf06
+dmult $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0xffffffffffffffff, LO 0xe4cc78845b6bca75
+dmult $v0, $v1 :: rs 0x743491a6828716c8, rt 0x84785280dd301d0d, HI 0xc7ed278af42b2222, LO 0x3fa9ce3cdbf0d028
+dmult $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0xffffffffffffffff, LO 0xff1213d8077a65ac
+dmult $v0, $v1 :: rs 0x8cff404aede292f2, rt 0xeb9682c170312f1, HI 0xf962ab2d72cf578c, LO 0x869681b7577759d2
+dmult $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0xffffffffffffffff, LO 0xfdbd9381971c26f5
+dmult $v0, $v1 :: rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7, HI 0xc88188fa49f9881, LO 0x1e75f00db0d4e9a
+dmult $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xffffffffffffffff, LO 0xfd290d37abe73ae0
+dmult $v0, $v1 :: rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958, HI 0xfab5f812b620460e, LO 0x6c7faf8ec1e6eda0
+dmult $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xffffffffffffffff, LO 0xfc64fb5cca86eab5
+dmult $v0, $v1 :: rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3, HI 0xf554891fdb61c3b4, LO 0x3d25bb3484ea56f1
+dmult $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0xffffffffffffffff, LO 0xfa17f32e2cd5cc2c
+dmult $v0, $v1 :: rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e, HI 0xef583630529e5afa, LO 0x450b6e3d5302d38a
+dmult $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0xffffffffffffffff, LO 0xf89d0d2901d838e5
+dmult $v0, $v1 :: rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96, HI 0x353187db1204b656, LO 0x73222402f4e8833c
+dmult $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0xffffffffffffffff, LO 0xf73f56125e5b0e80
+dmult $v0, $v1 :: rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b, HI 0xfdc5c71c69638ec9, LO 0xba7361081889ce29
+dmult $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0xffffffffffffffff, LO 0xf673e8ec17fb30a5
+dmult $v0, $v1 :: rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25, HI 0xf3efdc36f68dad5b, LO 0xe7ad46354e97c60f
+dmult $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xffffffffffffffff, LO 0xfc3f54236999ba2c
+dmult $v0, $v1 :: rs 0x276af70a0e128561, rt 0x8b086ee07150c260, HI 0xedfd6982a5131add, LO 0x963937f8cf558660
+dmult $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xffffffffffffffff, LO 0xfd524ff3436bcb65
+dmult $v0, $v1 :: rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6, HI 0x5e27ca00341af8, LO 0x563e1c7aa3044f14
+dmult $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xffffffffffffffff, LO 0xfde6dfd93f987380
+dmult $v0, $v1 :: rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2, HI 0xfb748e36aca15c4f, LO 0xb09cbd9df5e5e2ec
+dmult $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xffffffffffffffff, LO 0xfeea72ebf044f325
+dmult $v0, $v1 :: rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7, HI 0xfe13d1bae15ab55a, LO 0x6ff90bfe3d773dc3
+dmult $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffffffffffff, LO 0xf63a4d7893f5d3ac
+dmult $v0, $v1 :: rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb, HI 0x20d15d9d7bc77c7, LO 0x1e5002942abcbdcf
+dmult $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffffffffffff, LO 0xf776b7122ca77075
+dmult $v0, $v1 :: rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe, HI 0xfc3dc2fdd9c2f16d, LO 0x8bb0e4aee5d2ea06
+dmult $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xffffffffffffffff, LO 0xf8d1f49cc12cb1e0
+dmult $v0, $v1 :: rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b, HI 0xe70800bf6e0bf340, LO 0xfef6ab79a09aaa46
+dmult $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xffffffffffffffff, LO 0xf9dddf3ddb188435
+dmult $v0, $v1 :: rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f, HI 0x27b15cb3ff9c506, LO 0x50a7861be718a325
+dmult $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffffffffff, LO 0xef987d06ab3ae96c
+dmult $v0, $v1 :: rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168, HI 0xe5da2c5a608a6d18, LO 0x6ef1d9e4ded87d70
+dmult $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffffffffff, LO 0xef1b361f734944b5
+dmult $v0, $v1 :: rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0, HI 0x984f9f23d648880, LO 0xea251470af6755c0
+dmult $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xffffffffffffffff, LO 0xf17efacefba45b20
+dmult $v0, $v1 :: rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a, HI 0xf8478f9868667c5a, LO 0x39dc1e173479b7e2
+dmult $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xffffffffffffffff, LO 0xf03254fc7bb880f5
+dmult $v0, $v1 :: rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427, HI 0x53d78c98cf93bd8, LO 0x68e7fb682f646159
+dmult $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffffffffff, LO 0xe472a95b5cf783ec
+dmult $v0, $v1 :: rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933, HI 0xf252e9e65f911b03, LO 0xa4c0254617622051
+dmult $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x126f646f34c31728, rt 0x93e2601c0f31d710, HI 0xf836df7f1ba65102, LO 0xc905bc55eb4c0a80
+dmult $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffffffffff, LO 0xe78963a11997fac0
+dmult $v0, $v1 :: rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7, HI 0x4e2d04067eca310, LO 0x9aa71e6b63a2881e
+dmult $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x7535cd338595d342, rt 0x7caf83d2880ff344, HI 0x39166b87275c77ea, LO 0x3b2ee7a32431c388
+dmult $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xffffffffffffffff, LO 0xfcaa4f156a978b6c
+dmult $v0, $v1 :: rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5, HI 0xfd3efce0040ba11e, LO 0xdb40fcee19ebb11c
+dmult $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xffffffffffffffff, LO 0xfdcd938045b50225
+dmult $v0, $v1 :: rs 0xa86726c90081ab2a, rt 0x829464944018fd8f, HI 0x2aea74210ecea5ba, LO 0x20072301fa871e76
+dmult $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xffffffffffffffff, LO 0xfe715a54c6880240
+dmult $v0, $v1 :: rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28, HI 0x13fd8ddf43b91a95, LO 0xdbe8624ec49cf0c0
+dmult $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffffffffff, LO 0xff855867a4ec0a65
+dmult $v0, $v1 :: rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0, HI 0x61aada74586db85, LO 0x5edcd99f24f4ef00
+dmult $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffffffffff, LO 0xf5d76df22d9af5ec
+dmult $v0, $v1 :: rs 0x3c07af97fba6704a, rt 0xf518381dce634413, HI 0xfd7159559a1d0a46, LO 0xf6d78f3adbcbfd7e
+dmult $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xffffffffffffffff, LO 0xf7045dbcdf995135
+dmult $v0, $v1 :: rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a, HI 0x2d4a82ee04a297f, LO 0x59ab90e40bbc4ec
+dmult $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffffffffff, LO 0xf84e764805f45fa0
+dmult $v0, $v1 :: rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f, HI 0xa0f98af82e8d8ca, LO 0x725733b09abaac4
+dmult $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffffffffffff, LO 0xf94b06226c988575
+dmult $v0, $v1 :: rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850, HI 0xf45d6ecdbd7e7e8a, LO 0x2070b95708433010
+dmult $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffffffffffff, LO 0xef2ae3195b95d82c
+dmult $v0, $v1 :: rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f, HI 0xf80f418154ee79f0, LO 0x38e17cfdc8cd7732
+dmult $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffffffffffff, LO 0xeebe615e605774f5
+dmult $v0, $v1 :: rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf, HI 0x37a50caacab9a451, LO 0x966f22c7e461bccc
+dmult $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xffffffffffffffff, LO 0xf0f20229065cbe60
+dmult $v0, $v1 :: rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec, HI 0x2ec852afc4037ead, LO 0x347b00414b81cc74
+dmult $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffffffffff, LO 0xefb6427c94b890b5
+dmult $v0, $v1 :: rs 0xa974eac43a489b55, rt 0x81daf8200468319b, HI 0x2aa4f93702bda828, LO 0x264a46839e395177
+dmult $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xffffffffffffffff, LO 0xe4f6cce63179c1ac
+dmult $v0, $v1 :: rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde, HI 0x269c74bedd0d21a, LO 0x61d6d8798351076
+dmult $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffffffffff, LO 0xe493fbd45fdbd2e5
+dmult $v0, $v1 :: rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef, HI 0x9bf2dd1bd287aa6, LO 0x3afb8c91e2b237c7
+dmult $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffffffffffff, LO 0xe82dca3ba2a87b00
+dmult $v0, $v1 :: rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260, HI 0xf1d60c09ec2a0323, LO 0x5bbc1a31a51e6b80
+dmult $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffffffffffff, LO 0xe6daa14faf04faa5
+dmult $v0, $v1 :: rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad, HI 0xefc4c75163de9d0e, LO 0x9a91008440b862c0
+dmult $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0xffffffffffffffff, LO 0xf8df256dad8cbae5
+dmult $v0, $v1 :: rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322, HI 0xdd1ecc1871c24661, LO 0xb4ed4f5d114d877e
+dmult $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0xffffffffffffffff, LO 0xf7e2c5f69548c3ac
+dmult $v0, $v1 :: rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48, HI 0xdd28137539970e27, LO 0xc6f454f8281fd238
+dmult $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0xffffffffffffffff, LO 0xf77717ba3229bea5
+dmult $v0, $v1 :: rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d, HI 0xd101cd0ebe6ac7b9, LO 0x5539e96135f1db1f
+dmult $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0xffffffffffffffff, LO 0xf64b71b738e33500
+dmult $v0, $v1 :: rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a, HI 0x112ea15e6e273dd4, LO 0xbe2f205dc00ee764
+dmult $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0xffffffffffffffff, LO 0xffd6c5df2f7484f5
+dmult $v0, $v1 :: rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db, HI 0x9532a9016812625, LO 0xec2f2b3f2d10174f
+dmult $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0xffffffffffffffff, LO 0xfec20fee1ad8aa2c
+dmult $v0, $v1 :: rs 0x32fc12c81b7919f0, rt 0xd30169894df47405, HI 0xf709f8b3a2147348, LO 0x97cef80551de41b0
+dmult $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0xffffffffffffffff, LO 0xfd7f54b82fc9bcb5
+dmult $v0, $v1 :: rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7, HI 0x17f5f378dd1a6417, LO 0x794a99094405185a
+dmult $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0xffffffffffffffff, LO 0xfc5a3e0693cc1860
+dmult $v0, $v1 :: rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f, HI 0xf6d067c7d76e8ad1, LO 0xfd0922919bc88280
+dmult $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0xffffffffffffffff, LO 0xe62b09f434d8b135
+dmult $v0, $v1 :: rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe, HI 0x6288c8d7c5fbd80, LO 0x207be7360211fb6e
+dmult $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0xffffffffffffffff, LO 0xe77e627bf07d93ec
+dmult $v0, $v1 :: rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907, HI 0xe5f942d01d84a01f, LO 0x131cafa6fc7993c2
+dmult $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0xffffffffffffffff, LO 0xe543f09ecb23c975
+dmult $v0, $v1 :: rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e, HI 0xf9416aeb8c841e6e, LO 0x87146767393babb2
+dmult $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0xffffffffffffffff, LO 0xe5a80bf8d46a75a0
+dmult $v0, $v1 :: rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab, HI 0x1af3ce0b8e401f7, LO 0xc9aebcfb7035ba0
+dmult $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0xffffffffffffffff, LO 0xf041d614d3698a25
+dmult $v0, $v1 :: rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4, HI 0xfe6e57f2b9f56404, LO 0xa4ecceeabd0baf2c
+dmult $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0xffffffffffffffff, LO 0xf17cdd9e84e4f96c
+dmult $v0, $v1 :: rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081, HI 0x110ec102eaf560f9, LO 0xbf0b6bae9ed980ac
+dmult $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0xffffffffffffffff, LO 0xee2b785f286cb665
+dmult $v0, $v1 :: rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1, HI 0x29792985127c28b, LO 0x3a626d907de7de2c
+dmult $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0xffffffffffffffff, LO 0xee96284ed429b840
+dmult $v0, $v1 :: rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8, HI 0xde097a4fbef705af, LO 0xc184c2817fb87848
+dmult $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0xffffffffffffffff, LO 0xf96d31d4b7f996a5
+dmult $v0, $v1 :: rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e, HI 0x24d49f8c63a2d63c, LO 0x550458cd8049ed66
+dmult $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0xffffffffffffffff, LO 0xf861f8ebdd8505ec
+dmult $v0, $v1 :: rs 0x152828591a652711, rt 0xd3adba260ff7d96b, HI 0xfc564c6ded2b9ef8, LO 0xdb63f00676cbbd1b
+dmult $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0xffffffffffffffff, LO 0xf7e5c6f24eacbae5
+dmult $v0, $v1 :: rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277, HI 0xc440efcbb61d844, LO 0x24416c37278369ad
+dmult $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0xffffffffffffffff, LO 0xf6ab25766699bcc0
+dmult $v0, $v1 :: rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a, HI 0x1a77c3dacfa48de1, LO 0xaad0b66319c39616
+dmult $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0xffffffffffffffff, LO 0xff372c90ffa8b8b5
+dmult $v0, $v1 :: rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3, HI 0x3404e247488be33, LO 0x57d146cbf06f1979
+dmult $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0xffffffffffffffff, LO 0xfe335f4307dd9b6c
+dmult $v0, $v1 :: rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67, HI 0xd9f6a45c0df9b9c8, LO 0x8dd86e01f2515f66
+dmult $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xffffffffffffffff, LO 0xfd003bdf3d03d0f5
+dmult $v0, $v1 :: rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83, HI 0x1c1f0665e30cabd, LO 0x642dcb3c6ec68060
+dmult $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xffffffffffffffff, LO 0xfbebf06e8a3a7d20
+dmult $v0, $v1 :: rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040, HI 0xfef0f426fd332da4, LO 0xf3b69123e9df8bc0
+dmult $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0xffffffffffffffff, LO 0xe5998a8abc248c75
+dmult $v0, $v1 :: rs 0xa3d991b79941dedd, rt 0xa809521238895270, HI 0x1fa9db042464f657, LO 0x426d71f4c2794ab0
+dmult $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0xffffffffffffffff, LO 0xe6de8e3a75f8b1ac
+dmult $v0, $v1 :: rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3, HI 0xe5e4beee752186fe, LO 0xb05dba14f502698
+dmult $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0xffffffffffffffff, LO 0xe4d233215fe9c435
+dmult $v0, $v1 :: rs 0x949cad35625bb2d3, rt 0x314791895991136c, HI 0xeb53f78e62035fc0, LO 0x8c43d5d8f1781a04
+dmult $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0xffffffffffffffff, LO 0xe527d72f95fc1fe0
+dmult $v0, $v1 :: rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214, HI 0xf6b46278d34d87da, LO 0x848f5b94655e274
+dmult $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0xffffffffffffffff, LO 0xf0c25960d0fcbf65
+dmult $v0, $v1 :: rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7, HI 0xfab9c1e6fca0d31c, LO 0xc4be1bb82f19bca1
+dmult $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0xffffffffffffffff, LO 0xf20ec57caaa8c82c
+dmult $v0, $v1 :: rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f, HI 0xefa8a428f8b1836a, LO 0xb6af89552912049f
+dmult $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0xffffffffffffffff, LO 0xee8b5b628969cb25
+dmult $v0, $v1 :: rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54, HI 0x26b5e5bf6167d90, LO 0xc865945c5d63585c
+dmult $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0xffffffffffffffff, LO 0xef0751ed8ef34180
+dmult $v0, $v1 :: rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7, HI 0x13a1e21ecb31a85a, LO 0x1c3e16e8b355ef0
+dmult $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffffffffff, LO 0xe57b221da23604e5
+dmult $v0, $v1 :: rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f, HI 0xf9e10d0edd351689, LO 0x24150b202586a731
+dmult $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffffffffff, LO 0xe4769bb6855a7a2c
+dmult $v0, $v1 :: rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce, HI 0xd94ec1775f940325, LO 0x6dbbb698d4d4a8ee
+dmult $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffffffffff, LO 0xe6846f4be3c8e0a5
+dmult $v0, $v1 :: rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604, HI 0xe5c367a4670f64de, LO 0xa9ed8fc0e6a8c96c
+dmult $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffffffffff, LO 0xe5f04f03e4900c80
+dmult $v0, $v1 :: rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036, HI 0xc2a1b9f3385569e, LO 0x851fae20635d3b08
+dmult $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffffffffff, LO 0xef5131c8d38eaaf5
+dmult $v0, $v1 :: rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2, HI 0x5692a5d7cb1f044, LO 0xb33c753f59d90204
+dmult $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffffffffff, LO 0xee4446f29209e3ac
+dmult $v0, $v1 :: rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad, HI 0xfd2199e755d3517d, LO 0xc09f4eb104c60adb
+dmult $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xffffffffffffffff, LO 0xf1caaac0dce992b5
+dmult $v0, $v1 :: rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e, HI 0xf68be81913947ce7, LO 0x5eb5f14a58505162
+dmult $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffffffffffff, LO 0xf10d2fa10966b8e0
+dmult $v0, $v1 :: rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766, HI 0xee353c2fa40dfa1c, LO 0xc26981fb1dde94c8
+dmult $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffffffffffff, LO 0xf6e03c2a2769ea35
+dmult $v0, $v1 :: rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a, HI 0x5524f280515c9, LO 0xc5715d0cb0029d76
+dmult $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffffffffffff, LO 0xf7abf3aa38a5a96c
+dmult $v0, $v1 :: rs 0x4ed6393df818af57, rt 0x25b50fec14682d97, HI 0xb9cb8a3aecc32ff, LO 0xf5851d17b4b9b751
+dmult $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xffffffffffffffff, LO 0xf8289d47ed2eb275
+dmult $v0, $v1 :: rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb, HI 0x4179e9793859b56, LO 0x79872214eb18f6ce
+dmult $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xffffffffffffffff, LO 0xf9a4c2fd35a88420
+dmult $v0, $v1 :: rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5, HI 0xd5efc7f5e3557f77, LO 0xaad228d8c0c86d91
+dmult $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xffffffffffffffff, LO 0xfc151ae499998125
+dmult $v0, $v1 :: rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b, HI 0x82eb5ca1938f728, LO 0xfe33c6249ca70919
+dmult $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xffffffffffffffff, LO 0xfcd86aecc3fd93ec
+dmult $v0, $v1 :: rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1, HI 0xee87e8305f97d14e, LO 0x6ceb01050154e3fe
+dmult $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xffffffffffffffff, LO 0xfe0d889cd5267565
+dmult $v0, $v1 :: rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea, HI 0xa213c15ee0d91a0, LO 0xb21152b961103a7c
+dmult $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xffffffffffffffff, LO 0xff6050c1e428d1c0
+dmult $v0, $v1 :: rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797, HI 0xf6447d1571c37fe8, LO 0x594c3fa27e8170e4
+dmult $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xffffffffffffffff, LO 0xe5fb9fc64e2974a5
+dmult $v0, $v1 :: rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7, HI 0xf07a45bdd4cd17fd, LO 0xb360cb922cac207f
+dmult $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffffffffff, LO 0xe4e8c2aee49d876c
+dmult $v0, $v1 :: rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe, HI 0x93c2dc4e43efe3f, LO 0x9cee3b264c29fd00
+dmult $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffffffffffff, LO 0xe724abc00bc670e5
+dmult $v0, $v1 :: rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f, HI 0x99017781bbe0f60, LO 0x17818f95c7979f73
+dmult $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffffffffffff, LO 0xe68215a4ce38cd40
+dmult $v0, $v1 :: rs 0x65fd698fddef9839, rt 0x47f505569a08a180, HI 0x1caae5ed60cc00f1, LO 0xf01c93b7b24ff580
+dmult $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffffffffffff, LO 0xeedfb046e2b9e2b5
+dmult $v0, $v1 :: rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413, HI 0xf2538d62b118d224, LO 0x36ff9b9e6631eb16
+dmult $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffffffffffff, LO 0xede42c7a8785a1ec
+dmult $v0, $v1 :: rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d, HI 0x2d44c0286a6465d, LO 0x2ed33613b77d4565
+dmult $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xffffffffffffffff, LO 0xf13889b5ff2eaaf5
+dmult $v0, $v1 :: rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d, HI 0x1037422ab88bb7a1, LO 0xf85eab9ff0aaa629
+dmult $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffffffffffff, LO 0xf08c531a23587ca0
+dmult $v0, $v1 :: rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0, HI 0xed566349e916c471, LO 0x9c189c216e03d8e0
+dmult $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffffffffff, LO 0xf68042aed2bea375
+dmult $v0, $v1 :: rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7, HI 0xd110067009ad2b95, LO 0x15cd94f4e17063b4
+dmult $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xffffffffffffffff, LO 0xf73d1ed5a2a9dc2c
+dmult $v0, $v1 :: rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d, HI 0xf9d53979272a6695, LO 0x893e92ed20ba3c26
+dmult $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffffffffffff, LO 0xf7a940de3ae98b35
+dmult $v0, $v1 :: rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad, HI 0xf26c9bfbc1e5cac6, LO 0x25d3435aecbbff82
+dmult $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffffffffffff, LO 0xf9166da2b5b6b160
+dmult $v0, $v1 :: rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502, HI 0x172a574aa8a55dea, LO 0x228b2726e77fa12e
+dmult $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffffffffff, LO 0xfc83823413a60065
+dmult $v0, $v1 :: rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb, HI 0xe283ab72304992dd, LO 0x218872f754789402
+dmult $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xffffffffffffffff, LO 0xfd57bc67e4ba75ac
+dmult $v0, $v1 :: rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3, HI 0xe7a0888c77592cc1, LO 0xe923a4d32330d60f
+dmult $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x614d9b445f12236b, rt 0x7e876382d2ab13, HI 0x3017a82b446008, LO 0xe93183d28fc719f1
+dmult $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0xa2a6ec661ba84121, rt 0x12bd6aa, HI 0xffffffffff92aaaf, LO 0xa7b8a47115b7d5ea
+dmultu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x12bd6aa, rt 0xa2a6ec661ba84121, HI 0xbe8159, LO 0xa7b8a47115b7d5ea
+dmultu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x7e876382d2ab13, rt 0x614d9b445f12236b, HI 0x3017a82b446008, LO 0xe93183d28fc719f1
+dmultu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x9823b6d, LO 0xfd57bc67e4ba75ac
+dmultu $v0, $v1 :: rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75, HI 0x234b21d396c67a36, LO 0xe923a4d32330d60f
+dmultu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xd4326d8, LO 0xfc83823413a60065
+dmultu $v0, $v1 :: rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666, HI 0x4a9079d1e2804943, LO 0x218872f754789402
+dmultu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x130476db, LO 0xf9166da2b5b6b160
+dmultu $v0, $v1 :: rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17, HI 0x172a574aa8a55dea, LO 0x228b2726e77fa12e
+dmultu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x17c56b6a, LO 0xf7a940de3ae98b35
+dmultu $v0, $v1 :: rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca, HI 0x1d15392d6021fb73, LO 0x25d3435aecbbff82
+dmultu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x1a864db1, LO 0xf73d1ed5a2a9dc2c
+dmultu $v0, $v1 :: rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e, HI 0x1905c83c9f25a7d2, LO 0x893e92ed20ba3c26
+dmultu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x1e475004, LO 0xf68042aed2bea375
+dmultu $v0, $v1 :: rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec, HI 0x4bb04883d10e108c, LO 0x15cd94f4e17063b4
+dmultu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x2608edb7, LO 0xf08c531a23587ca0
+dmultu $v0, $v1 :: rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b, HI 0x1e4ed401ca396cac, LO 0x9c189c216e03d8e0
+dmultu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x22c9f00e, LO 0xf13889b5ff2eaaf5
+dmultu $v0, $v1 :: rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d, HI 0x1037422ab88bb7a1, LO 0xf85eab9ff0aaa629
+dmultu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x2f8ad6d5, LO 0xede42c7a8785a1ec
+dmultu $v0, $v1 :: rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9, HI 0x2d44c0286a6465d, LO 0x2ed33613b77d4565
+dmultu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x2b4bcb60, LO 0xeedfb046e2b9e2b5
+dmultu $v0, $v1 :: rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52, HI 0x2d46e8007524a637, LO 0x36ff9b9e6631eb16
+dmultu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x350c9b63, LO 0xe68215a4ce38cd40
+dmultu $v0, $v1 :: rs 0x47f505569a08a180, rt 0x65fd698fddef9839, HI 0x1caae5ed60cc00f1, LO 0xf01c93b7b24ff580
+dmultu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x31cd86d2, LO 0xe724abc00bc670e5
+dmultu $v0, $v1 :: rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d, HI 0x87fe139cb4638dcc, LO 0x17818f95c7979f73
+dmultu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x3c8ea009, LO 0xe4e8c2aee49d876c
+dmultu $v0, $v1 :: rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180, HI 0xa7fb29025c283b7d, LO 0x9cee3b264c29fd00
+dmultu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x384fbdbc, LO 0xe5fb9fc64e2974a5
+dmultu $v0, $v1 :: rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89, HI 0x2578425867cfd686, LO 0xb360cb922cac207f
+dmultu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4c11db6f, LO 0xff6050c1e428d1c0
+dmultu $v0, $v1 :: rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc, HI 0xd8d573bbd0fd2a4, LO 0x594c3fa27e8170e4
+dmultu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x48d0c6c6, LO 0xfe0d889cd5267565
+dmultu $v0, $v1 :: rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086, HI 0xa213c15ee0d91a0, LO 0xb21152b961103a7c
+dmultu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x4593e01d, LO 0xfcd86aecc3fd93ec
+dmultu $v0, $v1 :: rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e, HI 0x24dc8406d88066ff, LO 0x6ceb01050154e3fe
+dmultu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x4152fda8, LO 0xfc151ae499998125
+dmultu $v0, $v1 :: rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b, HI 0x7ce84f4d359e4e1e, LO 0xfe33c6249ca70919
+dmultu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x5f15adab, LO 0xf9a4c2fd35a88420
+dmultu $v0, $v1 :: rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d, HI 0x2b5b06c0b046fa3c, LO 0xaad228d8c0c86d91
+dmultu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x5bd4b01a, LO 0xf8289d47ed2eb275
+dmultu $v0, $v1 :: rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a, HI 0xaa758e7d17aab35b, LO 0x79872214eb18f6ce
+dmultu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x569796c1, LO 0xf7abf3aa38a5a96c
+dmultu $v0, $v1 :: rs 0x25b50fec14682d97, rt 0x4ed6393df818af57, HI 0xb9cb8a3aecc32ff, LO 0xf5851d17b4b9b751
+dmultu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x52568b74, LO 0xf6e03c2a2769ea35
+dmultu $v0, $v1 :: rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657, HI 0xfb0b1402c10ed49a, LO 0xc5715d0cb0029d76
+dmultu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x6a1936c7, LO 0xf10d2fa10966b8e0
+dmultu $v0, $v1 :: rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c, HI 0x2a6215d971b00182, LO 0xc26981fb1dde94c8
+dmultu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x6ed82b7e, LO 0xf1caaac0dce992b5
+dmultu $v0, $v1 :: rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f, HI 0xe1d5a4391075725, LO 0x5eb5f14a58505162
+dmultu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x639b0da5, LO 0xee4446f29209e3ac
+dmultu $v0, $v1 :: rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7, HI 0x59e63b8e9a1762a, LO 0xc09f4eb104c60adb
+dmultu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x675a1010, LO 0xef5131c8d38eaaf5
+dmultu $v0, $v1 :: rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2, HI 0x5692a5d7cb1f044, LO 0xb33c753f59d90204
+dmultu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x791d4013, LO 0xe5f04f03e4900c80
+dmultu $v0, $v1 :: rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc, HI 0x9afb619950579fa0, LO 0x851fae20635d3b08
+dmultu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x7ddc5da2, LO 0xe6846f4be3c8e0a5
+dmultu $v0, $v1 :: rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb, HI 0x1f8584216a50bae2, LO 0xa9ed8fc0e6a8c96c
+dmultu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x709f7b79, LO 0xe4769bb6855a7a2c
+dmultu $v0, $v1 :: rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1, HI 0x30a40a746854a916, LO 0x6dbbb698d4d4a8ee
+dmultu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x745e66cc, LO 0xe57b221da23604e5
+dmultu $v0, $v1 :: rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f, HI 0x1ecc779bfa1c7dd8, LO 0x24150b202586a731
+dmultu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0x29d4f653, LO 0xef0751ed8ef34180
+dmultu $v0, $v1 :: rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790, HI 0x13a1e21ecb31a85a, LO 0x1c3e16e8b355ef0
+dmultu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0x2d15ebe2, LO 0xee8b5b628969cb25
+dmultu $v0, $v1 :: rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b, HI 0x26b5e5bf6167d90, LO 0xc865945c5d63585c
+dmultu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0x2056cd39, LO 0xf20ec57caaa8c82c
+dmultu $v0, $v1 :: rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91, HI 0x1502f0fb28879efb, LO 0xb6af89552912049f
+dmultu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0x2497d08c, LO 0xf0c25960d0fcbf65
+dmultu $v0, $v1 :: rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27, HI 0x13154ac7d82e5043, LO 0xc4be1bb82f19bca1
+dmultu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0x3ad08087, LO 0xe527d72f95fc1fe0
+dmultu $v0, $v1 :: rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739, HI 0x760ae1ae79e01f13, LO 0x848f5b94655e274
+dmultu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x3e119d3e, LO 0xe4d233215fe9c435
+dmultu $v0, $v1 :: rs 0x314791895991136c, rt 0x949cad35625bb2d3, HI 0x1c9b8917bb94732c, LO 0x8c43d5d8f1781a04
+dmultu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0x3352bbe5, LO 0xe6de8e3a75f8b1ac
+dmultu $v0, $v1 :: rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508, HI 0x5b017371cf2f1c06, LO 0xb05dba14f502698
+dmultu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x3793a650, LO 0xe5998a8abc248c75
+dmultu $v0, $v1 :: rs 0xa809521238895270, rt 0xa3d991b79941dedd, HI 0x6b8cbecdf63027a4, LO 0x426d71f4c2794ab0
+dmultu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xfdc1beb, LO 0xfbebf06e8a3a7d20
+dmultu $v0, $v1 :: rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f, HI 0x13094faa50bb913, LO 0xf3b69123e9df8bc0
+dmultu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xb1d065a, LO 0xfd003bdf3d03d0f5
+dmultu $v0, $v1 :: rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020, HI 0x1c1f0665e30cabd, LO 0x642dcb3c6ec68060
+dmultu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0x65e2081, LO 0xfe335f4307dd9b6c
+dmultu $v0, $v1 :: rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa, HI 0x5151f126176f6b72, LO 0x8dd86e01f2515f66
+dmultu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0x29f3d34, LO 0xff372c90ffa8b8b5
+dmultu $v0, $v1 :: rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3, HI 0xb69905926cf67609, LO 0x57d146cbf06f1979
+dmultu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0x1cd86d2f, LO 0xf6ab25766699bcc0
+dmultu $v0, $v1 :: rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417, HI 0x6cd4f51a28ab5c52, LO 0xaad0b66319c39616
+dmultu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0x18197086, LO 0xf7e5c6f24eacbae5
+dmultu $v0, $v1 :: rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb, HI 0x8a4c6ca41144d4b6, LO 0x24416c37278369ad
+dmultu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0x155a565d, LO 0xf861f8ebdd8505ec
+dmultu $v0, $v1 :: rs 0xd3adba260ff7d96b, rt 0x152828591a652711, HI 0x117e74c70790c609, LO 0xdb63f00676cbbd1b
+dmultu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0x119b4be8, LO 0xf96d31d4b7f996a5
+dmultu $v0, $v1 :: rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5, HI 0x24d49f8c63a2d63c, LO 0x550458cd8049ed66
+dmultu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x65c52d23, LO 0xee96284ed429b840
+dmultu $v0, $v1 :: rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf, HI 0x5d0d2657513d958e, LO 0xc184c2817fb87848
+dmultu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0x61043092, LO 0xee2b785f286cb665
+dmultu $v0, $v1 :: rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec, HI 0x29792985127c28b, LO 0x3a626d907de7de2c
+dmultu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x6c471649, LO 0xf17cdd9e84e4f96c
+dmultu $v0, $v1 :: rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac, HI 0x110ec102eaf560f9, LO 0xbf0b6bae9ed980ac
+dmultu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0x68860bfc, LO 0xf041d614d3698a25
+dmultu $v0, $v1 :: rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63, HI 0x131a4b56d3f10267, LO 0xa4ecceeabd0baf2c
+dmultu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x76c15bf7, LO 0xe5a80bf8d46a75a0
+dmultu $v0, $v1 :: rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0, HI 0x1af3ce0b8e401f7, LO 0xc9aebcfb7035ba0
+dmultu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x7200464e, LO 0xe543f09ecb23c975
+dmultu $v0, $v1 :: rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117, HI 0x1277ae645452ab8c, LO 0x87146767393babb2
+dmultu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x7f436095, LO 0xe77e627bf07d93ec
+dmultu $v0, $v1 :: rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae, HI 0x44a410aa1b15e7cd, LO 0x131cafa6fc7993c2
+dmultu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x7b827d20, LO 0xe62b09f434d8b135
+dmultu $v0, $v1 :: rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9, HI 0x6288c8d7c5fbd80, LO 0x207be7360211fb6e
+dmultu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0x43cdc09b, LO 0xfc5a3e0693cc1860
+dmultu $v0, $v1 :: rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580, HI 0x2f822f834198c051, LO 0xfd0922919bc88280
+dmultu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0x470cdd2a, LO 0xfd7f54b82fc9bcb5
+dmultu $v0, $v1 :: rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6, HI 0x17f5f378dd1a6417, LO 0x794a99094405185a
+dmultu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0x4a4ffbf1, LO 0xfec20fee1ad8aa2c
+dmultu $v0, $v1 :: rs 0xd30169894df47405, rt 0x32fc12c81b7919f0, HI 0x2a060b7bbd8d8d38, LO 0x97cef80551de41b0
+dmultu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0x4e8ee644, LO 0xffd6c5df2f7484f5
+dmultu $v0, $v1 :: rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d, HI 0x9532a9016812625, LO 0xec2f2b3f2d10174f
+dmultu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0x50c9b63f, LO 0xf64b71b738e33500
+dmultu $v0, $v1 :: rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda, HI 0x112ea15e6e273dd4, LO 0xbe2f205dc00ee764
+dmultu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0x5408abf6, LO 0xf77717ba3229bea5
+dmultu $v0, $v1 :: rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb, HI 0x47a5a31af9d16fb4, LO 0x5539e96135f1db1f
+dmultu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0x594b8d2d, LO 0xf7e2c5f69548c3ac
+dmultu $v0, $v1 :: rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f, HI 0x29205bcff0bfa056, LO 0xc6f454f8281fd238
+dmultu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0x5d8a9098, LO 0xf8df256dad8cbae5
+dmultu $v0, $v1 :: rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f, HI 0x52de7beb46dc1983, LO 0xb4ed4f5d114d877e
+dmultu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x34867076, LO 0xe6daa14faf04faa5
+dmultu $v0, $v1 :: rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0, HI 0x6a7995da4384a2ce, LO 0x9a91008440b862c0
+dmultu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x30476dbf, LO 0xe82dca3ba2a87b00
+dmultu $v0, $v1 :: rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4, HI 0x1de018fc423a3583, LO 0x5bbc1a31a51e6b80
+dmultu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x3d044b18, LO 0xe493fbd45fdbd2e5
+dmultu $v0, $v1 :: rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9, HI 0x8729525bc90cf23e, LO 0x3afb8c91e2b237c7
+dmultu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x39c556ad, LO 0xe4f6cce63179c1ac
+dmultu $v0, $v1 :: rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5, HI 0x9f442863bc19c7ed, LO 0x61d6d8798351076
+dmultu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x278206aa, LO 0xefb6427c94b890b5
+dmultu $v0, $v1 :: rs 0x81daf8200468319b, rt 0xa974eac43a489b55, HI 0x55f4dc1b416e7518, LO 0x264a46839e395177
+dmultu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x23431b1b, LO 0xf0f20229065cbe60
+dmultu $v0, $v1 :: rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07, HI 0x5394486f6577efa0, LO 0x347b00414b81cc74
+dmultu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x2e003dc4, LO 0xeebe615e605774f5
+dmultu $v0, $v1 :: rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34, HI 0x48dd88880b79f744, LO 0x966f22c7e461bccc
+dmultu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x2ac12071, LO 0xef2ae3195b95d82c
+dmultu $v0, $v1 :: rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e, HI 0x281c28d32fb4901f, LO 0x38e17cfdc8cd7732
+dmultu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x128e9dce, LO 0xf94b06226c988575
+dmultu $v0, $v1 :: rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d, HI 0x5bd66cc177d126da, LO 0x2070b95708433010
+dmultu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x164f8077, LO 0xf84e764805f45fa0
+dmultu $v0, $v1 :: rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc, HI 0x980805fff818cf25, LO 0x725733b09abaac4
+dmultu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1b0ca6a0, LO 0xf7045dbcdf995135
+dmultu $v0, $v1 :: rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe, HI 0x2d4a82ee04a297f, LO 0x59ab90e40bbc4ec
+dmultu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x1fcdbb15, LO 0xf5d76df22d9af5ec
+dmultu $v0, $v1 :: rs 0xf518381dce634413, rt 0x3c07af97fba6704a, HI 0x397908ed95c37a90, LO 0xf6d78f3adbcbfd7e
+dmultu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x18aeb12, LO 0xff855867a4ec0a65
+dmultu $v0, $v1 :: rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244, HI 0xb1e6c50de28b1d89, LO 0x5edcd99f24f4ef00
+dmultu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x54bf6a3, LO 0xfe715a54c6880240
+dmultu $v0, $v1 :: rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438, HI 0x7cd020622188adf5, LO 0xdbe8624ec49cf0c0
+dmultu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x808d07c, LO 0xfdcd938045b50225
+dmultu $v0, $v1 :: rs 0x829464944018fd8f, rt 0xa86726c90081ab2a, HI 0x55e5ff7e4f694e73, LO 0x20072301fa871e76
+dmultu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xcc9cdc9, LO 0xfcaa4f156a978b6c
+dmultu $v0, $v1 :: rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec, HI 0x13121d2056f49203, LO 0xdb40fcee19ebb11c
+dmultu $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x7caf83d2880ff344, rt 0x7535cd338595d342, HI 0x39166b87275c77ea, LO 0x3b2ee7a32431c388
+dmultu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x7c56b6af, LO 0xe78963a11997fac0
+dmultu $v0, $v1 :: rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12, HI 0xa0e989ee3366dff9, LO 0x9aa71e6b63a2881e
+dmultu $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x93e2601c0f31d710, rt 0x126f646f34c31728, HI 0xaa643ee5069682a, LO 0xc905bc55eb4c0a80
+dmultu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x75d48ddd, LO 0xe472a95b5cf783ec
+dmultu $v0, $v1 :: rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b, HI 0x669140738f60636e, LO 0xa4c0254617622051
+dmultu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x6b93ddda, LO 0xf03254fc7bb880f5
+dmultu $v0, $v1 :: rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f, HI 0x53d78c98cf93bd8, LO 0x68e7fb682f646159
+dmultu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x6f52c06b, LO 0xf17efacefba45b20
+dmultu $v0, $v1 :: rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd, HI 0x23cda33ac9381a27, LO 0x39dc1e173479b7e2
+dmultu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x6211e6b4, LO 0xef1b361f734944b5
+dmultu $v0, $v1 :: rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41, HI 0x984f9f23d648880, LO 0xea251470af6755c0
+dmultu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x66d0fb01, LO 0xef987d06ab3ae96c
+dmultu $v0, $v1 :: rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26, HI 0x5ca2cadb21082e80, LO 0x6ef1d9e4ded87d70
+dmultu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x5e9f46be, LO 0xf9dddf3ddb188435
+dmultu $v0, $v1 :: rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b, HI 0x27b15cb3ff9c506, LO 0x50a7861be718a325
+dmultu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x5a5e5b07, LO 0xf8d1f49cc12cb1e0
+dmultu $v0, $v1 :: rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732, HI 0x47ad22a90e009a72, LO 0xfef6ab79a09aaa46
+dmultu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x571d7dd0, LO 0xf776b7122ca77075
+dmultu $v0, $v1 :: rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd, HI 0x5e4aeb4e46e73a4a, LO 0x8bb0e4aee5d2ea06
+dmultu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x53dc6065, LO 0xf63a4d7893f5d3ac
+dmultu $v0, $v1 :: rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d, HI 0x20d15d9d7bc77c7, LO 0x1e5002942abcbdcf
+dmultu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4d9b3062, LO 0xfeea72ebf044f325
+dmultu $v0, $v1 :: rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5, HI 0x3d77ac64912c4f31, LO 0x6ff90bfe3d773dc3
+dmultu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x495a2dd3, LO 0xfde6dfd93f987380
+dmultu $v0, $v1 :: rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6, HI 0x1b96cd49b54e2bf5, LO 0xb09cbd9df5e5e2ec
+dmultu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x44190b0c, LO 0xfd524ff3436bcb65
+dmultu $v0, $v1 :: rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e, HI 0x5e27ca00341af8, LO 0x563e1c7aa3044f14
+dmultu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x40d816b9, LO 0xfc3f54236999ba2c
+dmultu $v0, $v1 :: rs 0x8b086ee07150c260, rt 0x276af70a0e128561, HI 0x1568608cb325a03e, LO 0x963937f8cf558660
+dmultu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0x1d528622, LO 0xf673e8ec17fb30a5
+dmultu $v0, $v1 :: rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423, HI 0x678140baa4cc417e, LO 0xe7ad46354e97c60f
+dmultu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0x19939b93, LO 0xf73f56125e5b0e80
+dmultu $v0, $v1 :: rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb, HI 0x3b2f297c530a6a24, LO 0xba7361081889ce29
+dmultu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0x14d0bd4c, LO 0xf89d0d2901d838e5
+dmultu $v0, $v1 :: rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a, HI 0x353187db1204b656, LO 0x73222402f4e8833c
+dmultu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0x1011a0f9, LO 0xfa17f32e2cd5cc2c
+dmultu $v0, $v1 :: rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b, HI 0x32422e84de11f665, LO 0x450b6e3d5302d38a
+dmultu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xe56f0fe, LO 0xfc64fb5cca86eab5
+dmultu $v0, $v1 :: rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b, HI 0x323cc2c4f85aed97, LO 0x3d25bb3484ea56f1
+dmultu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xa97ed47, LO 0xfd290d37abe73ae0
+dmultu $v0, $v1 :: rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c, HI 0x296052b9bb29bd2a, LO 0x6c7faf8ec1e6eda0
+dmultu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0x7d4cb90, LO 0xfdbd9381971c26f5
+dmultu $v0, $v1 :: rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636, HI 0x98a289c83b10346e, LO 0x1e75f00db0d4e9a
+dmultu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0x315d625, LO 0xff1213d8077a65ac
+dmultu $v0, $v1 :: rs 0xeb9682c170312f1, rt 0x8cff404aede292f2, HI 0x81c135989d26a7d, LO 0x869681b7577759d2
+dmultu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x3b5a6b9a, LO 0xe4cc78845b6bca75
+dmultu $v0, $v1 :: rs 0x84785280dd301d0d, rt 0x743491a6828716c8, HI 0x3c21b93176b238ea, LO 0x3fa9ce3cdbf0d028
+dmultu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a, HI 0x1cfb2deaa535496, LO 0x25da5615a2b2cf06
+dmultu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x26444ced2998436d, rt 0xde02d1337d5407b9, HI 0x212fa683b91138fe, LO 0x35d27e1f91a4b4c5
+dmultu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x36194d41, LO 0xe6a058f4e698976c
+dmultu $v0, $v1 :: rs 0x7175c9dd58ca708, rt 0x993138f16cfde991, HI 0x43e5366db1c8aad, LO 0xf4157dc36b98e388
+dmultu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0x285e1d46, LO 0xefdcd72a44d79565
+dmultu $v0, $v1 :: rs 0x663d061055833287, rt 0xb620660a49732b90, HI 0x48bc52b0caf81a92, LO 0xc32be2b54ee18f0
+dmultu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0x2c9f00ef, LO 0xeed0ae6f2bf83fc0
+dmultu $v0, $v1 :: rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c, HI 0x7893122d37e41bd7, LO 0xc66e693d656d5634
+dmultu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0x21dc2628, LO 0xf1356cdaf41abd25
+dmultu $v0, $v1 :: rs 0xf69823670e82471b, rt 0xc532e18e187980fa, HI 0xbdf41639cf5f9a8b, LO 0x7e60581d7289f05e
+dmultu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0x251d3b9d, LO 0xf079a96cf8dcb1ec
+dmultu $v0, $v1 :: rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36, HI 0xff595b142c0ee3e, LO 0x11b762d445a2058c
+dmultu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0x51435d52, LO 0xf610c13133b79ce5
+dmultu $v0, $v1 :: rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c, HI 0x9a88a50de71eadd, LO 0xbf9e93b482a9727c
+dmultu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0x558240e3, LO 0xf6ccd58970e84740
+dmultu $v0, $v1 :: rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17, HI 0x7b5ac05578e71510, LO 0x582b2e53651171c9
+dmultu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0x58c1663c, LO 0xf81965f84a8ac4a5
+dmultu $v0, $v1 :: rs 0x3f46553ecad374df, rt 0xf8be8164159649c5, HI 0x3d7b38c346db3d54, LO 0x66dcb7c126b6869b
+dmultu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0x5c007b89, LO 0xf984d09658bcb96c
+dmultu $v0, $v1 :: rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a, HI 0x29daf07027286f22, LO 0x76436107f6c62e06
+dmultu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0x42472b8e, LO 0xfcd00f7ab4ebcef5
+dmultu $v0, $v1 :: rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b, HI 0x356f6a6f650c9f7a, LO 0x9ba3fb53e56f8631
+dmultu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0x46863637, LO 0xfda489fe651b76a0
+dmultu $v0, $v1 :: rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587, HI 0xc2c8a4a52644ab2, LO 0x7aae062019543f04
+dmultu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0x4bc510e0, LO 0xfe4845dec3a6eab5
+dmultu $v0, $v1 :: rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25, HI 0x6654b359371921f1, LO 0x4e159f3e77c5ede
+dmultu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0x4f040d55, LO 0xffad10c7f638a3ec
+dmultu $v0, $v1 :: rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec, HI 0x19769e5d6e27ee00, LO 0x4e4d09da3a934a1c
+dmultu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x774bb0ea, LO 0xe550e583e986f735
+dmultu $v0, $v1 :: rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77, HI 0x5451c521f3441fac, LO 0xc671d28419684456
+dmultu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x738aad5b, LO 0xe43d401a76174760
+dmultu $v0, $v1 :: rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649, HI 0x1702cb086875d6ce, LO 0xf0e34077a8bda728
+dmultu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x7ec98b84, LO 0xe7da85bd6b6c2b75
+dmultu $v0, $v1 :: rs 0x478909b59a99269, rt 0x8a6229d731eea35b, HI 0x26ab4d62b174e49, LO 0xa393e92b0e1de653
+dmultu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x7a089631, LO 0xe7362db84fda6a2c
+dmultu $v0, $v1 :: rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a, HI 0xafe095b5edcf40dc, LO 0xdd77e0217cf73a96
+dmultu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0x644fc636, LO 0xef6ee7c0511b3825
+dmultu $v0, $v1 :: rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9, HI 0x39d7da8684174ed8, LO 0x5d273754d3487032
+dmultu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0x608edb7f, LO 0xee73a3c35b6b1600
+dmultu $v0, $v1 :: rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9, HI 0xa6efc7d1baae354, LO 0x514d43b16096fe44
+dmultu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0x6dcdfd58, LO 0xf0a83a819de84065
+dmultu $v0, $v1 :: rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c, HI 0x847dfdfd344a7a5d, LO 0xca5c1c7ba63357d0
+dmultu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x690ce0ed, LO 0xeffd3e485475d3ac
+dmultu $v0, $v1 :: rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b, HI 0x8d559f32f467d59, LO 0xc722c6e648e9da3d
+dmultu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x690ce0ed, LO 0xeffd3e485475d3ac
+dmultu $v0, $v1 :: rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897, HI 0x8d559f32f467d59, LO 0xc722c6e648e9da3d
+dmultu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x6dcdfd58, LO 0xf0a83a819de84065
+dmultu $v0, $v1 :: rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc, HI 0x847dfdfd344a7a5d, LO 0xca5c1c7ba63357d0
+dmultu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x608edb7f, LO 0xee73a3c35b6b1600
+dmultu $v0, $v1 :: rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4, HI 0xa6efc7d1baae354, LO 0x514d43b16096fe44
+dmultu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x644fc636, LO 0xef6ee7c0511b3825
+dmultu $v0, $v1 :: rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2, HI 0x39d7da8684174ed8, LO 0x5d273754d3487032
+dmultu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x7a089631, LO 0xe7362db84fda6a2c
+dmultu $v0, $v1 :: rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f, HI 0xafe095b5edcf40dc, LO 0xdd77e0217cf73a96
+dmultu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x7ec98b84, LO 0xe7da85bd6b6c2b75
+dmultu $v0, $v1 :: rs 0x8a6229d731eea35b, rt 0x478909b59a99269, HI 0x26ab4d62b174e49, LO 0xa393e92b0e1de653
+dmultu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x738aad5b, LO 0xe43d401a76174760
+dmultu $v0, $v1 :: rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8, HI 0x1702cb086875d6ce, LO 0xf0e34077a8bda728
+dmultu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x774bb0ea, LO 0xe550e583e986f735
+dmultu $v0, $v1 :: rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da, HI 0x5451c521f3441fac, LO 0xc671d28419684456
+dmultu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4f040d55, LO 0xffad10c7f638a3ec
+dmultu $v0, $v1 :: rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825, HI 0x19769e5d6e27ee00, LO 0x4e4d09da3a934a1c
+dmultu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4bc510e0, LO 0xfe4845dec3a6eab5
+dmultu $v0, $v1 :: rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206, HI 0x6654b359371921f1, LO 0x4e159f3e77c5ede
+dmultu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x46863637, LO 0xfda489fe651b76a0
+dmultu $v0, $v1 :: rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc, HI 0xc2c8a4a52644ab2, LO 0x7aae062019543f04
+dmultu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x42472b8e, LO 0xfcd00f7ab4ebcef5
+dmultu $v0, $v1 :: rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33, HI 0x356f6a6f650c9f7a, LO 0x9ba3fb53e56f8631
+dmultu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x5c007b89, LO 0xf984d09658bcb96c
+dmultu $v0, $v1 :: rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7, HI 0x29daf07027286f22, LO 0x76436107f6c62e06
+dmultu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x58c1663c, LO 0xf81965f84a8ac4a5
+dmultu $v0, $v1 :: rs 0xf8be8164159649c5, rt 0x3f46553ecad374df, HI 0x3d7b38c346db3d54, LO 0x66dcb7c126b6869b
+dmultu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x558240e3, LO 0xf6ccd58970e84740
+dmultu $v0, $v1 :: rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f, HI 0x7b5ac05578e71510, LO 0x582b2e53651171c9
+dmultu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x51435d52, LO 0xf610c13133b79ce5
+dmultu $v0, $v1 :: rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479, HI 0x9a88a50de71eadd, LO 0xbf9e93b482a9727c
+dmultu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x251d3b9d, LO 0xf079a96cf8dcb1ec
+dmultu $v0, $v1 :: rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2, HI 0xff595b142c0ee3e, LO 0x11b762d445a2058c
+dmultu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x21dc2628, LO 0xf1356cdaf41abd25
+dmultu $v0, $v1 :: rs 0xc532e18e187980fa, rt 0xf69823670e82471b, HI 0xbdf41639cf5f9a8b, LO 0x7e60581d7289f05e
+dmultu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x2c9f00ef, LO 0xeed0ae6f2bf83fc0
+dmultu $v0, $v1 :: rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b, HI 0x7893122d37e41bd7, LO 0xc66e693d656d5634
+dmultu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x285e1d46, LO 0xefdcd72a44d79565
+dmultu $v0, $v1 :: rs 0xb620660a49732b90, rt 0x663d061055833287, HI 0x48bc52b0caf81a92, LO 0xc32be2b54ee18f0
+dmultu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x36194d41, LO 0xe6a058f4e698976c
+dmultu $v0, $v1 :: rs 0x993138f16cfde991, rt 0x7175c9dd58ca708, HI 0x43e5366db1c8aad, LO 0xf4157dc36b98e388
+dmultu $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0xde02d1337d5407b9, rt 0x26444ced2998436d, HI 0x212fa683b91138fe, LO 0x35d27e1f91a4b4c5
+dmultu $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef, HI 0x1cfb2deaa535496, LO 0x25da5615a2b2cf06
+dmultu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x3b5a6b9a, LO 0xe4cc78845b6bca75
+dmultu $v0, $v1 :: rs 0x743491a6828716c8, rt 0x84785280dd301d0d, HI 0x3c21b93176b238ea, LO 0x3fa9ce3cdbf0d028
+dmultu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x315d625, LO 0xff1213d8077a65ac
+dmultu $v0, $v1 :: rs 0x8cff404aede292f2, rt 0xeb9682c170312f1, HI 0x81c135989d26a7d, LO 0x869681b7577759d2
+dmultu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x7d4cb90, LO 0xfdbd9381971c26f5
+dmultu $v0, $v1 :: rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7, HI 0x98a289c83b10346e, LO 0x1e75f00db0d4e9a
+dmultu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xa97ed47, LO 0xfd290d37abe73ae0
+dmultu $v0, $v1 :: rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958, HI 0x296052b9bb29bd2a, LO 0x6c7faf8ec1e6eda0
+dmultu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xe56f0fe, LO 0xfc64fb5cca86eab5
+dmultu $v0, $v1 :: rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3, HI 0x323cc2c4f85aed97, LO 0x3d25bb3484ea56f1
+dmultu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1011a0f9, LO 0xfa17f32e2cd5cc2c
+dmultu $v0, $v1 :: rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e, HI 0x32422e84de11f665, LO 0x450b6e3d5302d38a
+dmultu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x14d0bd4c, LO 0xf89d0d2901d838e5
+dmultu $v0, $v1 :: rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96, HI 0x353187db1204b656, LO 0x73222402f4e8833c
+dmultu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x19939b93, LO 0xf73f56125e5b0e80
+dmultu $v0, $v1 :: rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b, HI 0x3b2f297c530a6a24, LO 0xba7361081889ce29
+dmultu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x1d528622, LO 0xf673e8ec17fb30a5
+dmultu $v0, $v1 :: rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25, HI 0x678140baa4cc417e, LO 0xe7ad46354e97c60f
+dmultu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0x40d816b9, LO 0xfc3f54236999ba2c
+dmultu $v0, $v1 :: rs 0x276af70a0e128561, rt 0x8b086ee07150c260, HI 0x1568608cb325a03e, LO 0x963937f8cf558660
+dmultu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0x44190b0c, LO 0xfd524ff3436bcb65
+dmultu $v0, $v1 :: rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6, HI 0x5e27ca00341af8, LO 0x563e1c7aa3044f14
+dmultu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0x495a2dd3, LO 0xfde6dfd93f987380
+dmultu $v0, $v1 :: rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2, HI 0x1b96cd49b54e2bf5, LO 0xb09cbd9df5e5e2ec
+dmultu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0x4d9b3062, LO 0xfeea72ebf044f325
+dmultu $v0, $v1 :: rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7, HI 0x3d77ac64912c4f31, LO 0x6ff90bfe3d773dc3
+dmultu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0x53dc6065, LO 0xf63a4d7893f5d3ac
+dmultu $v0, $v1 :: rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb, HI 0x20d15d9d7bc77c7, LO 0x1e5002942abcbdcf
+dmultu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0x571d7dd0, LO 0xf776b7122ca77075
+dmultu $v0, $v1 :: rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe, HI 0x5e4aeb4e46e73a4a, LO 0x8bb0e4aee5d2ea06
+dmultu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0x5a5e5b07, LO 0xf8d1f49cc12cb1e0
+dmultu $v0, $v1 :: rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b, HI 0x47ad22a90e009a72, LO 0xfef6ab79a09aaa46
+dmultu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0x5e9f46be, LO 0xf9dddf3ddb188435
+dmultu $v0, $v1 :: rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f, HI 0x27b15cb3ff9c506, LO 0x50a7861be718a325
+dmultu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0x66d0fb01, LO 0xef987d06ab3ae96c
+dmultu $v0, $v1 :: rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168, HI 0x5ca2cadb21082e80, LO 0x6ef1d9e4ded87d70
+dmultu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0x6211e6b4, LO 0xef1b361f734944b5
+dmultu $v0, $v1 :: rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0, HI 0x984f9f23d648880, LO 0xea251470af6755c0
+dmultu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x6f52c06b, LO 0xf17efacefba45b20
+dmultu $v0, $v1 :: rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a, HI 0x23cda33ac9381a27, LO 0x39dc1e173479b7e2
+dmultu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x6b93ddda, LO 0xf03254fc7bb880f5
+dmultu $v0, $v1 :: rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427, HI 0x53d78c98cf93bd8, LO 0x68e7fb682f646159
+dmultu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0x75d48ddd, LO 0xe472a95b5cf783ec
+dmultu $v0, $v1 :: rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933, HI 0x669140738f60636e, LO 0xa4c0254617622051
+dmultu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x126f646f34c31728, rt 0x93e2601c0f31d710, HI 0xaa643ee5069682a, LO 0xc905bc55eb4c0a80
+dmultu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x7c56b6af, LO 0xe78963a11997fac0
+dmultu $v0, $v1 :: rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7, HI 0xa0e989ee3366dff9, LO 0x9aa71e6b63a2881e
+dmultu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x7535cd338595d342, rt 0x7caf83d2880ff344, HI 0x39166b87275c77ea, LO 0x3b2ee7a32431c388
+dmultu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xcc9cdc9, LO 0xfcaa4f156a978b6c
+dmultu $v0, $v1 :: rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5, HI 0x13121d2056f49203, LO 0xdb40fcee19ebb11c
+dmultu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0x808d07c, LO 0xfdcd938045b50225
+dmultu $v0, $v1 :: rs 0xa86726c90081ab2a, rt 0x829464944018fd8f, HI 0x55e5ff7e4f694e73, LO 0x20072301fa871e76
+dmultu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0x54bf6a3, LO 0xfe715a54c6880240
+dmultu $v0, $v1 :: rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28, HI 0x7cd020622188adf5, LO 0xdbe8624ec49cf0c0
+dmultu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0x18aeb12, LO 0xff855867a4ec0a65
+dmultu $v0, $v1 :: rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0, HI 0xb1e6c50de28b1d89, LO 0x5edcd99f24f4ef00
+dmultu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0x1fcdbb15, LO 0xf5d76df22d9af5ec
+dmultu $v0, $v1 :: rs 0x3c07af97fba6704a, rt 0xf518381dce634413, HI 0x397908ed95c37a90, LO 0xf6d78f3adbcbfd7e
+dmultu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0x1b0ca6a0, LO 0xf7045dbcdf995135
+dmultu $v0, $v1 :: rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a, HI 0x2d4a82ee04a297f, LO 0x59ab90e40bbc4ec
+dmultu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0x164f8077, LO 0xf84e764805f45fa0
+dmultu $v0, $v1 :: rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f, HI 0x980805fff818cf25, LO 0x725733b09abaac4
+dmultu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0x128e9dce, LO 0xf94b06226c988575
+dmultu $v0, $v1 :: rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850, HI 0x5bd66cc177d126da, LO 0x2070b95708433010
+dmultu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0x2ac12071, LO 0xef2ae3195b95d82c
+dmultu $v0, $v1 :: rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f, HI 0x281c28d32fb4901f, LO 0x38e17cfdc8cd7732
+dmultu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0x2e003dc4, LO 0xeebe615e605774f5
+dmultu $v0, $v1 :: rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf, HI 0x48dd88880b79f744, LO 0x966f22c7e461bccc
+dmultu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0x23431b1b, LO 0xf0f20229065cbe60
+dmultu $v0, $v1 :: rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec, HI 0x5394486f6577efa0, LO 0x347b00414b81cc74
+dmultu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0x278206aa, LO 0xefb6427c94b890b5
+dmultu $v0, $v1 :: rs 0xa974eac43a489b55, rt 0x81daf8200468319b, HI 0x55f4dc1b416e7518, LO 0x264a46839e395177
+dmultu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x39c556ad, LO 0xe4f6cce63179c1ac
+dmultu $v0, $v1 :: rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde, HI 0x9f442863bc19c7ed, LO 0x61d6d8798351076
+dmultu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x3d044b18, LO 0xe493fbd45fdbd2e5
+dmultu $v0, $v1 :: rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef, HI 0x8729525bc90cf23e, LO 0x3afb8c91e2b237c7
+dmultu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x30476dbf, LO 0xe82dca3ba2a87b00
+dmultu $v0, $v1 :: rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260, HI 0x1de018fc423a3583, LO 0x5bbc1a31a51e6b80
+dmultu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x34867076, LO 0xe6daa14faf04faa5
+dmultu $v0, $v1 :: rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad, HI 0x6a7995da4384a2ce, LO 0x9a91008440b862c0
+dmultu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x5d8a9098, LO 0xf8df256dad8cbae5
+dmultu $v0, $v1 :: rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322, HI 0x52de7beb46dc1983, LO 0xb4ed4f5d114d877e
+dmultu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x594b8d2d, LO 0xf7e2c5f69548c3ac
+dmultu $v0, $v1 :: rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48, HI 0x29205bcff0bfa056, LO 0xc6f454f8281fd238
+dmultu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x5408abf6, LO 0xf77717ba3229bea5
+dmultu $v0, $v1 :: rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d, HI 0x47a5a31af9d16fb4, LO 0x5539e96135f1db1f
+dmultu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x50c9b63f, LO 0xf64b71b738e33500
+dmultu $v0, $v1 :: rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a, HI 0x112ea15e6e273dd4, LO 0xbe2f205dc00ee764
+dmultu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4e8ee644, LO 0xffd6c5df2f7484f5
+dmultu $v0, $v1 :: rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db, HI 0x9532a9016812625, LO 0xec2f2b3f2d10174f
+dmultu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x4a4ffbf1, LO 0xfec20fee1ad8aa2c
+dmultu $v0, $v1 :: rs 0x32fc12c81b7919f0, rt 0xd30169894df47405, HI 0x2a060b7bbd8d8d38, LO 0x97cef80551de41b0
+dmultu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x470cdd2a, LO 0xfd7f54b82fc9bcb5
+dmultu $v0, $v1 :: rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7, HI 0x17f5f378dd1a6417, LO 0x794a99094405185a
+dmultu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x43cdc09b, LO 0xfc5a3e0693cc1860
+dmultu $v0, $v1 :: rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f, HI 0x2f822f834198c051, LO 0xfd0922919bc88280
+dmultu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x7b827d20, LO 0xe62b09f434d8b135
+dmultu $v0, $v1 :: rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe, HI 0x6288c8d7c5fbd80, LO 0x207be7360211fb6e
+dmultu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x7f436095, LO 0xe77e627bf07d93ec
+dmultu $v0, $v1 :: rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907, HI 0x44a410aa1b15e7cd, LO 0x131cafa6fc7993c2
+dmultu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x7200464e, LO 0xe543f09ecb23c975
+dmultu $v0, $v1 :: rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e, HI 0x1277ae645452ab8c, LO 0x87146767393babb2
+dmultu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x76c15bf7, LO 0xe5a80bf8d46a75a0
+dmultu $v0, $v1 :: rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab, HI 0x1af3ce0b8e401f7, LO 0xc9aebcfb7035ba0
+dmultu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x68860bfc, LO 0xf041d614d3698a25
+dmultu $v0, $v1 :: rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4, HI 0x131a4b56d3f10267, LO 0xa4ecceeabd0baf2c
+dmultu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x6c471649, LO 0xf17cdd9e84e4f96c
+dmultu $v0, $v1 :: rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081, HI 0x110ec102eaf560f9, LO 0xbf0b6bae9ed980ac
+dmultu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x61043092, LO 0xee2b785f286cb665
+dmultu $v0, $v1 :: rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1, HI 0x29792985127c28b, LO 0x3a626d907de7de2c
+dmultu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x65c52d23, LO 0xee96284ed429b840
+dmultu $v0, $v1 :: rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8, HI 0x5d0d2657513d958e, LO 0xc184c2817fb87848
+dmultu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x119b4be8, LO 0xf96d31d4b7f996a5
+dmultu $v0, $v1 :: rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e, HI 0x24d49f8c63a2d63c, LO 0x550458cd8049ed66
+dmultu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x155a565d, LO 0xf861f8ebdd8505ec
+dmultu $v0, $v1 :: rs 0x152828591a652711, rt 0xd3adba260ff7d96b, HI 0x117e74c70790c609, LO 0xdb63f00676cbbd1b
+dmultu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x18197086, LO 0xf7e5c6f24eacbae5
+dmultu $v0, $v1 :: rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277, HI 0x8a4c6ca41144d4b6, LO 0x24416c37278369ad
+dmultu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x1cd86d2f, LO 0xf6ab25766699bcc0
+dmultu $v0, $v1 :: rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a, HI 0x6cd4f51a28ab5c52, LO 0xaad0b66319c39616
+dmultu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x29f3d34, LO 0xff372c90ffa8b8b5
+dmultu $v0, $v1 :: rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3, HI 0xb69905926cf67609, LO 0x57d146cbf06f1979
+dmultu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x65e2081, LO 0xfe335f4307dd9b6c
+dmultu $v0, $v1 :: rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67, HI 0x5151f126176f6b72, LO 0x8dd86e01f2515f66
+dmultu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xb1d065a, LO 0xfd003bdf3d03d0f5
+dmultu $v0, $v1 :: rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83, HI 0x1c1f0665e30cabd, LO 0x642dcb3c6ec68060
+dmultu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfdc1beb, LO 0xfbebf06e8a3a7d20
+dmultu $v0, $v1 :: rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040, HI 0x13094faa50bb913, LO 0xf3b69123e9df8bc0
+dmultu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x3793a650, LO 0xe5998a8abc248c75
+dmultu $v0, $v1 :: rs 0xa3d991b79941dedd, rt 0xa809521238895270, HI 0x6b8cbecdf63027a4, LO 0x426d71f4c2794ab0
+dmultu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x3352bbe5, LO 0xe6de8e3a75f8b1ac
+dmultu $v0, $v1 :: rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3, HI 0x5b017371cf2f1c06, LO 0xb05dba14f502698
+dmultu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x3e119d3e, LO 0xe4d233215fe9c435
+dmultu $v0, $v1 :: rs 0x949cad35625bb2d3, rt 0x314791895991136c, HI 0x1c9b8917bb94732c, LO 0x8c43d5d8f1781a04
+dmultu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x3ad08087, LO 0xe527d72f95fc1fe0
+dmultu $v0, $v1 :: rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214, HI 0x760ae1ae79e01f13, LO 0x848f5b94655e274
+dmultu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x2497d08c, LO 0xf0c25960d0fcbf65
+dmultu $v0, $v1 :: rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7, HI 0x13154ac7d82e5043, LO 0xc4be1bb82f19bca1
+dmultu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2056cd39, LO 0xf20ec57caaa8c82c
+dmultu $v0, $v1 :: rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f, HI 0x1502f0fb28879efb, LO 0xb6af89552912049f
+dmultu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x2d15ebe2, LO 0xee8b5b628969cb25
+dmultu $v0, $v1 :: rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54, HI 0x26b5e5bf6167d90, LO 0xc865945c5d63585c
+dmultu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x29d4f653, LO 0xef0751ed8ef34180
+dmultu $v0, $v1 :: rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7, HI 0x13a1e21ecb31a85a, LO 0x1c3e16e8b355ef0
+dmultu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x745e66cc, LO 0xe57b221da23604e5
+dmultu $v0, $v1 :: rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f, HI 0x1ecc779bfa1c7dd8, LO 0x24150b202586a731
+dmultu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x709f7b79, LO 0xe4769bb6855a7a2c
+dmultu $v0, $v1 :: rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce, HI 0x30a40a746854a916, LO 0x6dbbb698d4d4a8ee
+dmultu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0x7ddc5da2, LO 0xe6846f4be3c8e0a5
+dmultu $v0, $v1 :: rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604, HI 0x1f8584216a50bae2, LO 0xa9ed8fc0e6a8c96c
+dmultu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x791d4013, LO 0xe5f04f03e4900c80
+dmultu $v0, $v1 :: rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036, HI 0x9afb619950579fa0, LO 0x851fae20635d3b08
+dmultu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0x675a1010, LO 0xef5131c8d38eaaf5
+dmultu $v0, $v1 :: rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2, HI 0x5692a5d7cb1f044, LO 0xb33c753f59d90204
+dmultu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0x639b0da5, LO 0xee4446f29209e3ac
+dmultu $v0, $v1 :: rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad, HI 0x59e63b8e9a1762a, LO 0xc09f4eb104c60adb
+dmultu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x6ed82b7e, LO 0xf1caaac0dce992b5
+dmultu $v0, $v1 :: rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e, HI 0xe1d5a4391075725, LO 0x5eb5f14a58505162
+dmultu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0x6a1936c7, LO 0xf10d2fa10966b8e0
+dmultu $v0, $v1 :: rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766, HI 0x2a6215d971b00182, LO 0xc26981fb1dde94c8
+dmultu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0x52568b74, LO 0xf6e03c2a2769ea35
+dmultu $v0, $v1 :: rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a, HI 0xfb0b1402c10ed49a, LO 0xc5715d0cb0029d76
+dmultu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0x569796c1, LO 0xf7abf3aa38a5a96c
+dmultu $v0, $v1 :: rs 0x4ed6393df818af57, rt 0x25b50fec14682d97, HI 0xb9cb8a3aecc32ff, LO 0xf5851d17b4b9b751
+dmultu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0x5bd4b01a, LO 0xf8289d47ed2eb275
+dmultu $v0, $v1 :: rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb, HI 0xaa758e7d17aab35b, LO 0x79872214eb18f6ce
+dmultu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0x5f15adab, LO 0xf9a4c2fd35a88420
+dmultu $v0, $v1 :: rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5, HI 0x2b5b06c0b046fa3c, LO 0xaad228d8c0c86d91
+dmultu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0x4152fda8, LO 0xfc151ae499998125
+dmultu $v0, $v1 :: rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b, HI 0x7ce84f4d359e4e1e, LO 0xfe33c6249ca70919
+dmultu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0x4593e01d, LO 0xfcd86aecc3fd93ec
+dmultu $v0, $v1 :: rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1, HI 0x24dc8406d88066ff, LO 0x6ceb01050154e3fe
+dmultu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0x48d0c6c6, LO 0xfe0d889cd5267565
+dmultu $v0, $v1 :: rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea, HI 0xa213c15ee0d91a0, LO 0xb21152b961103a7c
+dmultu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0x4c11db6f, LO 0xff6050c1e428d1c0
+dmultu $v0, $v1 :: rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797, HI 0xd8d573bbd0fd2a4, LO 0x594c3fa27e8170e4
+dmultu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x384fbdbc, LO 0xe5fb9fc64e2974a5
+dmultu $v0, $v1 :: rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7, HI 0x2578425867cfd686, LO 0xb360cb922cac207f
+dmultu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x3c8ea009, LO 0xe4e8c2aee49d876c
+dmultu $v0, $v1 :: rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe, HI 0xa7fb29025c283b7d, LO 0x9cee3b264c29fd00
+dmultu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x31cd86d2, LO 0xe724abc00bc670e5
+dmultu $v0, $v1 :: rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f, HI 0x87fe139cb4638dcc, LO 0x17818f95c7979f73
+dmultu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x350c9b63, LO 0xe68215a4ce38cd40
+dmultu $v0, $v1 :: rs 0x65fd698fddef9839, rt 0x47f505569a08a180, HI 0x1caae5ed60cc00f1, LO 0xf01c93b7b24ff580
+dmultu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0x2b4bcb60, LO 0xeedfb046e2b9e2b5
+dmultu $v0, $v1 :: rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413, HI 0x2d46e8007524a637, LO 0x36ff9b9e6631eb16
+dmultu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0x2f8ad6d5, LO 0xede42c7a8785a1ec
+dmultu $v0, $v1 :: rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d, HI 0x2d44c0286a6465d, LO 0x2ed33613b77d4565
+dmultu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0x22c9f00e, LO 0xf13889b5ff2eaaf5
+dmultu $v0, $v1 :: rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d, HI 0x1037422ab88bb7a1, LO 0xf85eab9ff0aaa629
+dmultu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0x2608edb7, LO 0xf08c531a23587ca0
+dmultu $v0, $v1 :: rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0, HI 0x1e4ed401ca396cac, LO 0x9c189c216e03d8e0
+dmultu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0x1e475004, LO 0xf68042aed2bea375
+dmultu $v0, $v1 :: rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7, HI 0x4bb04883d10e108c, LO 0x15cd94f4e17063b4
+dmultu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0x1a864db1, LO 0xf73d1ed5a2a9dc2c
+dmultu $v0, $v1 :: rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d, HI 0x1905c83c9f25a7d2, LO 0x893e92ed20ba3c26
+dmultu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0x17c56b6a, LO 0xf7a940de3ae98b35
+dmultu $v0, $v1 :: rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad, HI 0x1d15392d6021fb73, LO 0x25d3435aecbbff82
+dmultu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0x130476db, LO 0xf9166da2b5b6b160
+dmultu $v0, $v1 :: rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502, HI 0x172a574aa8a55dea, LO 0x228b2726e77fa12e
+dmultu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xd4326d8, LO 0xfc83823413a60065
+dmultu $v0, $v1 :: rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb, HI 0x4a9079d1e2804943, LO 0x218872f754789402
+dmultu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0x9823b6d, LO 0xfd57bc67e4ba75ac
+dmultu $v0, $v1 :: rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3, HI 0x234b21d396c67a36, LO 0xe923a4d32330d60f
+dmultu $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x614d9b445f12236b, rt 0x7e876382d2ab13, HI 0x3017a82b446008, LO 0xe93183d28fc719f1
+dmultu $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0xa2a6ec661ba84121, rt 0x12bd6aa, HI 0xbe8159, LO 0xa7b8a47115b7d5ea
+dsub $t0, $t1, $t2 :: rd 0x4e08bf4c, rs 0x0, rt 0xffffffffb1f740b4
+dsub $t0, $t1, $t2 :: rd 0x4ac9a2fd, rs 0x0, rt 0xffffffffb5365d03
+dsub $t0, $t1, $t2 :: rd 0x510cbf94, rs 0x9823b6e, rt 0xffffffffb8757bda
+dsub $t0, $t1, $t2 :: rd 0x508ec06c, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dsub $t0, $t1, $t2 :: rd 0x70114074, rs 0x130476dc, rt 0xffffffffa2f33668
+dsub $t0, $t1, $t2 :: rd 0x71933f8c, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dsub $t0, $t1, $t2 :: rd 0x6f1540ac, rs 0x1a864db2, rt 0xffffffffab710d06
+dsub $t0, $t1, $t2 :: rd 0x6e973f54, rs 0x1e475005, rt 0xffffffffafb010b1
+dsub $t0, $t1, $t2 :: rd 0x8e0940ac, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dsub $t0, $t1, $t2 :: rd 0x8f8b3f54, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dsub $t0, $t1, $t2 :: rd 0x910d4074, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dsub $t0, $t1, $t2 :: rd 0x908f3f8c, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dsub $t0, $t1, $t2 :: rd 0xb010bf94, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dsub $t0, $t1, $t2 :: rd 0xb192c06c, rs 0x31cd86d3, rt 0xffffffff803ac667
+dsub $t0, $t1, $t2 :: rd 0xaf14bf4c, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dsub $t0, $t1, $t2 :: rd 0xae96c0b4, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dsub $t0, $t1, $t2 :: rd 0x4e2b3fac, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dsub $t0, $t1, $t2 :: rd 0x4fa94054, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dsub $t0, $t1, $t2 :: rd 0x512f3f74, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dsub $t0, $t1, $t2 :: rd 0x50ad408c, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dsub $t0, $t1, $t2 :: rd 0x7032c094, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dsub $t0, $t1, $t2 :: rd 0x71b0bf6c, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dsub $t0, $t1, $t2 :: rd 0x6f36c04c, rs 0x569796c2, rt 0xffffffffe760d676
+dsub $t0, $t1, $t2 :: rd 0x6eb4bfb4, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dsub $t0, $t1, $t2 :: rd 0x8e2ac04c, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dsub $t0, $t1, $t2 :: rd 0x8fa8bfb4, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dsub $t0, $t1, $t2 :: rd 0x912ec094, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dsub $t0, $t1, $t2 :: rd 0x90acbf6c, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dsub $t0, $t1, $t2 :: rd 0xb0333f74, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dsub $t0, $t1, $t2 :: rd 0xb1b1408c, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dsub $t0, $t1, $t2 :: rd 0xaf373fac, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dsub $t0, $t1, $t2 :: rd 0xaeb54054, rs 0x745e66cd, rt 0xffffffffc5a92679
+dsub $t0, $t1, $t2 :: rd 0xffffffff6e4ec08c, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dsub $t0, $t1, $t2 :: rd 0xffffffff6fccbf74, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dsub $t0, $t1, $t2 :: rd 0xffffffff714ac054, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dsub $t0, $t1, $t2 :: rd 0xffffffff70c8bfac, rs 0xffffffff95609039, rt 0x2497d08d
+dsub $t0, $t1, $t2 :: rd 0xffffffff50573fb4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dsub $t0, $t1, $t2 :: rd 0xffffffff51d5404c, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dsub $t0, $t1, $t2 :: rd 0xffffffff4f533f6c, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dsub $t0, $t1, $t2 :: rd 0xffffffff4ed14094, rs 0xffffffff8664e6e5, rt 0x3793a651
+dsub $t0, $t1, $t2 :: rd 0xffffffffae4f3f6c, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dsub $t0, $t1, $t2 :: rd 0xffffffffafcd4094, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dsub $t0, $t1, $t2 :: rd 0xffffffffb14b3fb4, rs 0xffffffffb7a96036, rt 0x65e2082
+dsub $t0, $t1, $t2 :: rd 0xffffffffb0c9404c, rs 0xffffffffb3687d81, rt 0x29f3d35
+dsub $t0, $t1, $t2 :: rd 0xffffffff9056c054, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dsub $t0, $t1, $t2 :: rd 0xffffffff91d4bfac, rs 0xffffffffa9ee3033, rt 0x18197087
+dsub $t0, $t1, $t2 :: rd 0xffffffff8f52c08c, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dsub $t0, $t1, $t2 :: rd 0xffffffff8ed0bf74, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dsub $t0, $t1, $t2 :: rd 0xffffffff6e6d406c, rs 0xffffffffd4326d90, rt 0x65c52d24
+dsub $t0, $t1, $t2 :: rd 0xffffffff6fef3f94, rs 0xffffffffd0f37027, rt 0x61043093
+dsub $t0, $t1, $t2 :: rd 0xffffffff716940b4, rs 0xffffffffddb056fe, rt 0x6c47164a
+dsub $t0, $t1, $t2 :: rd 0xffffffff70eb3f4c, rs 0xffffffffd9714b49, rt 0x68860bfd
+dsub $t0, $t1, $t2 :: rd 0xffffffff5074bf54, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dsub $t0, $t1, $t2 :: rd 0xffffffff51f6c0ac, rs 0xffffffffc3f706fb, rt 0x7200464f
+dsub $t0, $t1, $t2 :: rd 0xffffffff4f70bf8c, rs 0xffffffffceb42022, rt 0x7f436096
+dsub $t0, $t1, $t2 :: rd 0xffffffff4ef2c074, rs 0xffffffffca753d95, rt 0x7b827d21
+dsub $t0, $t1, $t2 :: rd 0xffffffffae6cbf8c, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dsub $t0, $t1, $t2 :: rd 0xffffffffafeec074, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dsub $t0, $t1, $t2 :: rd 0xffffffffb168bf54, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dsub $t0, $t1, $t2 :: rd 0xffffffffb0eac0ac, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dsub $t0, $t1, $t2 :: rd 0xffffffff907540b4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dsub $t0, $t1, $t2 :: rd 0xffffffff91f73f4c, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dsub $t0, $t1, $t2 :: rd 0xffffffff8f71406c, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dsub $t0, $t1, $t2 :: rd 0xffffffff8ef33f94, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dsub $t0, $t1, $t2 :: rd 0xaf153fb4, rs 0x34867077, rt 0xffffffff857130c3
+dsub $t0, $t1, $t2 :: rd 0xae97404c, rs 0x30476dc0, rt 0xffffffff81b02d74
+dsub $t0, $t1, $t2 :: rd 0xb0113f6c, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dsub $t0, $t1, $t2 :: rd 0xb1934094, rs 0x39c556ae, rt 0xffffffff8832161a
+dsub $t0, $t1, $t2 :: rd 0x910cc08c, rs 0x278206ab, rt 0xffffffff9675461f
+dsub $t0, $t1, $t2 :: rd 0x908ebf74, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dsub $t0, $t1, $t2 :: rd 0x8e08c054, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dsub $t0, $t1, $t2 :: rd 0x8f8abfac, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dsub $t0, $t1, $t2 :: rd 0x6f14c054, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dsub $t0, $t1, $t2 :: rd 0x6e96bfac, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dsub $t0, $t1, $t2 :: rd 0x7010c08c, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dsub $t0, $t1, $t2 :: rd 0x7192bf74, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dsub $t0, $t1, $t2 :: rd 0x510d3f6c, rs 0x18aeb13, rt 0xffffffffb07daba7
+dsub $t0, $t1, $t2 :: rd 0x508f4094, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dsub $t0, $t1, $t2 :: rd 0x4e093fb4, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dsub $t0, $t1, $t2 :: rd 0x4f8b404c, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dsub $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dsub $t0, $t1, $t2 :: rd 0xaeb4c0ac, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dsub $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dsub $t0, $t1, $t2 :: rd 0xb1b0c074, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dsub $t0, $t1, $t2 :: rd 0x912f406c, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dsub $t0, $t1, $t2 :: rd 0x90ad3f94, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dsub $t0, $t1, $t2 :: rd 0x8e2b40b4, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dsub $t0, $t1, $t2 :: rd 0x8fa93f4c, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dsub $t0, $t1, $t2 :: rd 0x6f3740b4, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dsub $t0, $t1, $t2 :: rd 0x6eb53f4c, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dsub $t0, $t1, $t2 :: rd 0x7033406c, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dsub $t0, $t1, $t2 :: rd 0x71b13f94, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dsub $t0, $t1, $t2 :: rd 0x512ebf8c, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dsub $t0, $t1, $t2 :: rd 0x50acc074, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dsub $t0, $t1, $t2 :: rd 0x4e2abf54, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dsub $t0, $t1, $t2 :: rd 0x4fa8c0ac, rs 0x40d816ba, rt 0xfffffffff12f560e
+dsub $t0, $t1, $t2 :: rd 0xffffffff8f534074, rs 0xffffffffaca5c697, rt 0x1d528623
+dsub $t0, $t1, $t2 :: rd 0xffffffff8ed13f8c, rs 0xffffffffa864db20, rt 0x19939b94
+dsub $t0, $t1, $t2 :: rd 0xffffffff905740ac, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dsub $t0, $t1, $t2 :: rd 0xffffffff91d53f54, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dsub $t0, $t1, $t2 :: rd 0xffffffffb14abf4c, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dsub $t0, $t1, $t2 :: rd 0xffffffffb0c8c0b4, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dsub $t0, $t1, $t2 :: rd 0xffffffffae4ebf94, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dsub $t0, $t1, $t2 :: rd 0xffffffffafccc06c, rs 0xffffffffb2e29692, rt 0x315d626
+dsub $t0, $t1, $t2 :: rd 0xffffffff4f52bf94, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dsub $t0, $t1, $t2 :: rd 0xffffffffc06489d4, rs 0x0, rt 0x3f9b762c
+dsub $t0, $t1, $t2 :: rd 0xffffffffcd27af0b, rs 0x0, rt 0x32d850f5
+dsub $t0, $t1, $t2 :: rd 0xffffffff51d4c0b4, rs 0xffffffff87ee0df6, rt 0x36194d42
+dsub $t0, $t1, $t2 :: rd 0xffffffff714b40ac, rs 0xffffffff99a95df3, rt 0x285e1d47
+dsub $t0, $t1, $t2 :: rd 0xffffffff70c93f54, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dsub $t0, $t1, $t2 :: rd 0xffffffff6e4f4074, rs 0xffffffff902b669d, rt 0x21dc2629
+dsub $t0, $t1, $t2 :: rd 0xffffffff6fcd3f8c, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dsub $t0, $t1, $t2 :: rd 0xffffffff8f70c094, rs 0xffffffffe0b41de7, rt 0x51435d53
+dsub $t0, $t1, $t2 :: rd 0xffffffff8ef2bf6c, rs 0xffffffffe4750050, rt 0x558240e4
+dsub $t0, $t1, $t2 :: rd 0xffffffff9074c04c, rs 0xffffffffe9362689, rt 0x58c1663d
+dsub $t0, $t1, $t2 :: rd 0xffffffff91f6bfb4, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dsub $t0, $t1, $t2 :: rd 0xffffffffb1693fac, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dsub $t0, $t1, $t2 :: rd 0xffffffffb0eb4054, rs 0xfffffffff771768c, rt 0x46863638
+dsub $t0, $t1, $t2 :: rd 0xffffffffae6d3f74, rs 0xfffffffffa325055, rt 0x4bc510e1
+dsub $t0, $t1, $t2 :: rd 0xffffffffafef408c, rs 0xfffffffffef34de2, rt 0x4f040d56
+dsub $t0, $t1, $t2 :: rd 0xffffffff4f713f74, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dsub $t0, $t1, $t2 :: rd 0xffffffff4ef3408c, rs 0xffffffffc27dede8, rt 0x738aad5c
+dsub $t0, $t1, $t2 :: rd 0xffffffff50753fac, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dsub $t0, $t1, $t2 :: rd 0xffffffff51f74054, rs 0xffffffffcbffd686, rt 0x7a089632
+dsub $t0, $t1, $t2 :: rd 0xffffffff7168c04c, rs 0xffffffffd5b88683, rt 0x644fc637
+dsub $t0, $t1, $t2 :: rd 0xffffffff70eabfb4, rs 0xffffffffd1799b34, rt 0x608edb80
+dsub $t0, $t1, $t2 :: rd 0xffffffff6e6cc094, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dsub $t0, $t1, $t2 :: rd 0xffffffff6feebf6c, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dsub $t0, $t1, $t2 :: rd 0x90114094, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dsub $t0, $t1, $t2 :: rd 0x91933f6c, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dsub $t0, $t1, $t2 :: rd 0x8f15404c, rs 0x608edb80, rt 0xffffffffd1799b34
+dsub $t0, $t1, $t2 :: rd 0x8e973fb4, rs 0x644fc637, rt 0xffffffffd5b88683
+dsub $t0, $t1, $t2 :: rd 0xae08bfac, rs 0x7a089632, rt 0xffffffffcbffd686
+dsub $t0, $t1, $t2 :: rd 0xaf8ac054, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dsub $t0, $t1, $t2 :: rd 0xb10cbf74, rs 0x738aad5c, rt 0xffffffffc27dede8
+dsub $t0, $t1, $t2 :: rd 0xb08ec08c, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dsub $t0, $t1, $t2 :: rd 0x5010bf74, rs 0x4f040d56, rt 0xfffffffffef34de2
+dsub $t0, $t1, $t2 :: rd 0x5192c08c, rs 0x4bc510e1, rt 0xfffffffffa325055
+dsub $t0, $t1, $t2 :: rd 0x4f14bfac, rs 0x46863638, rt 0xfffffffff771768c
+dsub $t0, $t1, $t2 :: rd 0x4e96c054, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dsub $t0, $t1, $t2 :: rd 0x6e09404c, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dsub $t0, $t1, $t2 :: rd 0x6f8b3fb4, rs 0x58c1663d, rt 0xffffffffe9362689
+dsub $t0, $t1, $t2 :: rd 0x710d4094, rs 0x558240e4, rt 0xffffffffe4750050
+dsub $t0, $t1, $t2 :: rd 0x708f3f6c, rs 0x51435d53, rt 0xffffffffe0b41de7
+dsub $t0, $t1, $t2 :: rd 0x9032c074, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dsub $t0, $t1, $t2 :: rd 0x91b0bf8c, rs 0x21dc2629, rt 0xffffffff902b669d
+dsub $t0, $t1, $t2 :: rd 0x8f36c0ac, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dsub $t0, $t1, $t2 :: rd 0x8eb4bf54, rs 0x285e1d47, rt 0xffffffff99a95df3
+dsub $t0, $t1, $t2 :: rd 0xae2b3f4c, rs 0x36194d42, rt 0xffffffff87ee0df6
+dsub $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dsub $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dsub $t0, $t1, $t2 :: rd 0xb0ad406c, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dsub $t0, $t1, $t2 :: rd 0x50333f94, rs 0x315d626, rt 0xffffffffb2e29692
+dsub $t0, $t1, $t2 :: rd 0x51b1406c, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dsub $t0, $t1, $t2 :: rd 0x4f373f4c, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dsub $t0, $t1, $t2 :: rd 0x4eb540b4, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dsub $t0, $t1, $t2 :: rd 0x6e2ac0ac, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dsub $t0, $t1, $t2 :: rd 0x6fa8bf54, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dsub $t0, $t1, $t2 :: rd 0x712ec074, rs 0x19939b94, rt 0xffffffffa864db20
+dsub $t0, $t1, $t2 :: rd 0x70acbf8c, rs 0x1d528623, rt 0xffffffffaca5c697
+dsub $t0, $t1, $t2 :: rd 0xffffffffb0573f54, rs 0xfffffffff12f560e, rt 0x40d816ba
+dsub $t0, $t1, $t2 :: rd 0xffffffffb1d540ac, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dsub $t0, $t1, $t2 :: rd 0xffffffffaf533f8c, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dsub $t0, $t1, $t2 :: rd 0xffffffffaed14074, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dsub $t0, $t1, $t2 :: rd 0xffffffff8e4ec06c, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dsub $t0, $t1, $t2 :: rd 0xffffffff8fccbf94, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dsub $t0, $t1, $t2 :: rd 0xffffffff914ac0b4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dsub $t0, $t1, $t2 :: rd 0xffffffff90c8bf4c, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dsub $t0, $t1, $t2 :: rd 0xffffffff7056c0b4, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dsub $t0, $t1, $t2 :: rd 0xffffffff71d4bf4c, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dsub $t0, $t1, $t2 :: rd 0xffffffff6f52c06c, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dsub $t0, $t1, $t2 :: rd 0xffffffff6ed0bf94, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dsub $t0, $t1, $t2 :: rd 0xffffffff4e4f3f8c, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dsub $t0, $t1, $t2 :: rd 0xffffffff8eea6f97, rs 0x0, rt 0x71159069
+dsub $t0, $t1, $t2 :: rd 0xffffffff514b3f54, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dsub $t0, $t1, $t2 :: rd 0xffffffff876854f9, rs 0x0, rt 0x7897ab07
+dsub $t0, $t1, $t2 :: rd 0xffffffffb074bfb4, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dsub $t0, $t1, $t2 :: rd 0xffffffffb1f6c04c, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dsub $t0, $t1, $t2 :: rd 0xffffffffaf70bf6c, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dsub $t0, $t1, $t2 :: rd 0xffffffffaef2c094, rs 0xffffffffb07daba7, rt 0x18aeb13
+dsub $t0, $t1, $t2 :: rd 0xffffffff8e6d408c, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dsub $t0, $t1, $t2 :: rd 0xffffffff8fef3f74, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dsub $t0, $t1, $t2 :: rd 0xffffffff91694054, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dsub $t0, $t1, $t2 :: rd 0xffffffff90eb3fac, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dsub $t0, $t1, $t2 :: rd 0xffffffff70754054, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dsub $t0, $t1, $t2 :: rd 0xffffffff71f73fac, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dsub $t0, $t1, $t2 :: rd 0xffffffff6f71408c, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dsub $t0, $t1, $t2 :: rd 0xffffffff6ef33f74, rs 0xffffffff9675461f, rt 0x278206ab
+dsub $t0, $t1, $t2 :: rd 0xffffffff4e6cbf6c, rs 0xffffffff8832161a, rt 0x39c556ae
+dsub $t0, $t1, $t2 :: rd 0xffffffff4feec094, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dsub $t0, $t1, $t2 :: rd 0xffffffff5168bfb4, rs 0xffffffff81b02d74, rt 0x30476dc0
+dsub $t0, $t1, $t2 :: rd 0xffffffff50eac04c, rs 0xffffffff857130c3, rt 0x34867077
+dsub $t0, $t1, $t2 :: rd 0x710cc06c, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dsub $t0, $t1, $t2 :: rd 0x708ebf94, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dsub $t0, $t1, $t2 :: rd 0x6e08c0b4, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dsub $t0, $t1, $t2 :: rd 0x6f8abf4c, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dsub $t0, $t1, $t2 :: rd 0x4f153f54, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dsub $t0, $t1, $t2 :: rd 0x4e9740ac, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dsub $t0, $t1, $t2 :: rd 0x50113f8c, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dsub $t0, $t1, $t2 :: rd 0x51934074, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dsub $t0, $t1, $t2 :: rd 0xb10d3f8c, rs 0x7b827d21, rt 0xffffffffca753d95
+dsub $t0, $t1, $t2 :: rd 0xb08f4074, rs 0x7f436096, rt 0xffffffffceb42022
+dsub $t0, $t1, $t2 :: rd 0xae093f54, rs 0x7200464f, rt 0xffffffffc3f706fb
+dsub $t0, $t1, $t2 :: rd 0xaf8b40ac, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dsub $t0, $t1, $t2 :: rd 0x8f14c0b4, rs 0x68860bfd, rt 0xffffffffd9714b49
+dsub $t0, $t1, $t2 :: rd 0x8e96bf4c, rs 0x6c47164a, rt 0xffffffffddb056fe
+dsub $t0, $t1, $t2 :: rd 0x9010c06c, rs 0x61043093, rt 0xffffffffd0f37027
+dsub $t0, $t1, $t2 :: rd 0x9192bf94, rs 0x65c52d24, rt 0xffffffffd4326d90
+dsub $t0, $t1, $t2 :: rd 0x712f408c, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dsub $t0, $t1, $t2 :: rd 0x70ad3f74, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dsub $t0, $t1, $t2 :: rd 0x6e2b4054, rs 0x18197087, rt 0xffffffffa9ee3033
+dsub $t0, $t1, $t2 :: rd 0x6fa93fac, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dsub $t0, $t1, $t2 :: rd 0x4f36bfb4, rs 0x29f3d35, rt 0xffffffffb3687d81
+dsub $t0, $t1, $t2 :: rd 0x4eb4c04c, rs 0x65e2082, rt 0xffffffffb7a96036
+dsub $t0, $t1, $t2 :: rd 0x5032bf6c, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dsub $t0, $t1, $t2 :: rd 0x51b0c094, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dsub $t0, $t1, $t2 :: rd 0xb12ebf6c, rs 0x3793a651, rt 0xffffffff8664e6e5
+dsub $t0, $t1, $t2 :: rd 0xb0acc094, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dsub $t0, $t1, $t2 :: rd 0xae2abfb4, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dsub $t0, $t1, $t2 :: rd 0xafa8c04c, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dsub $t0, $t1, $t2 :: rd 0x8f374054, rs 0x2497d08d, rt 0xffffffff95609039
+dsub $t0, $t1, $t2 :: rd 0x8eb53fac, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dsub $t0, $t1, $t2 :: rd 0x9033408c, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dsub $t0, $t1, $t2 :: rd 0x91b13f74, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dsub $t0, $t1, $t2 :: rd 0xffffffff514abfac, rs 0xffffffffc5a92679, rt 0x745e66cd
+dsub $t0, $t1, $t2 :: rd 0xffffffff50c8c054, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dsub $t0, $t1, $t2 :: rd 0xffffffff4e4ebf74, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dsub $t0, $t1, $t2 :: rd 0xffffffff4fccc08c, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dsub $t0, $t1, $t2 :: rd 0xffffffff6f534094, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dsub $t0, $t1, $t2 :: rd 0xffffffff6ed13f6c, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dsub $t0, $t1, $t2 :: rd 0xffffffff7057404c, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dsub $t0, $t1, $t2 :: rd 0xffffffff71d53fb4, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dsub $t0, $t1, $t2 :: rd 0xffffffff914b404c, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dsub $t0, $t1, $t2 :: rd 0xffffffff90c93fb4, rs 0xffffffffe760d676, rt 0x569796c2
+dsub $t0, $t1, $t2 :: rd 0xffffffff8e4f4094, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dsub $t0, $t1, $t2 :: rd 0xffffffff8fcd3f6c, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dsub $t0, $t1, $t2 :: rd 0xffffffffaf52bf74, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dsub $t0, $t1, $t2 :: rd 0xffffffffaed0c08c, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dsub $t0, $t1, $t2 :: rd 0xffffffffb056bfac, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dsub $t0, $t1, $t2 :: rd 0xffffffffb1d4c054, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dsub $t0, $t1, $t2 :: rd 0xffffffff51693f4c, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dsub $t0, $t1, $t2 :: rd 0xffffffff50eb40b4, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dsub $t0, $t1, $t2 :: rd 0xffffffff4e6d3f94, rs 0xffffffff803ac667, rt 0x31cd86d3
+dsub $t0, $t1, $t2 :: rd 0xffffffff4fef406c, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dsub $t0, $t1, $t2 :: rd 0xffffffff6f70c074, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dsub $t0, $t1, $t2 :: rd 0xffffffff6ef2bf8c, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dsub $t0, $t1, $t2 :: rd 0xffffffff7074c0ac, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dsub $t0, $t1, $t2 :: rd 0xffffffff71f6bf54, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dsub $t0, $t1, $t2 :: rd 0xffffffff9168c0ac, rs 0xffffffffafb010b1, rt 0x1e475005
+dsub $t0, $t1, $t2 :: rd 0xffffffff90eabf54, rs 0xffffffffab710d06, rt 0x1a864db2
+dsub $t0, $t1, $t2 :: rd 0xffffffff8e6cc074, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dsub $t0, $t1, $t2 :: rd 0xffffffff8feebf8c, rs 0xffffffffa2f33668, rt 0x130476dc
+dsub $t0, $t1, $t2 :: rd 0xffffffffaf713f94, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dsub $t0, $t1, $t2 :: rd 0xffffffffaef3406c, rs 0xffffffffb8757bda, rt 0x9823b6e
+dsub $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dsub $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+dsubu $t0, $t1, $t2 :: rd 0x4e08bf4c, rs 0x0, rt 0xffffffffb1f740b4
+dsubu $s0, $s1, $s2 :: rd 0x5d591399e5839589, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+dsubu $t0, $t1, $t2 :: rd 0x4ac9a2fd, rs 0x0, rt 0xffffffffb5365d03
+dsubu $s0, $s1, $s2 :: rd 0x9f30ec1f23c087a8, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+dsubu $t0, $t1, $t2 :: rd 0x510cbf94, rs 0x9823b6e, rt 0xffffffffb8757bda
+dsubu $s0, $s1, $s2 :: rd 0x5bc2d553a3a7c37e, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+dsubu $t0, $t1, $t2 :: rd 0x508ec06c, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dsubu $s0, $s1, $s2 :: rd 0x4f679f17a89fef95, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+dsubu $t0, $t1, $t2 :: rd 0x70114074, rs 0x130476dc, rt 0xffffffffa2f33668
+dsubu $s0, $s1, $s2 :: rd 0xe9c45c5521f605eb, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+dsubu $t0, $t1, $t2 :: rd 0x71933f8c, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dsubu $s0, $s1, $s2 :: rd 0x7c20e0a803c05ce3, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+dsubu $t0, $t1, $t2 :: rd 0x6f1540ac, rs 0x1a864db2, rt 0xffffffffab710d06
+dsubu $s0, $s1, $s2 :: rd 0x51cee65fdfd4de1f, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+dsubu $t0, $t1, $t2 :: rd 0x6e973f54, rs 0x1e475005, rt 0xffffffffafb010b1
+dsubu $s0, $s1, $s2 :: rd 0xdc9d63c85fd7b40b, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+dsubu $t0, $t1, $t2 :: rd 0x8e0940ac, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dsubu $s0, $s1, $s2 :: rd 0x6d77ec0d39b63465, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+dsubu $t0, $t1, $t2 :: rd 0x8f8b3f54, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dsubu $s0, $s1, $s2 :: rd 0x1411b9e85321f080, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+dsubu $t0, $t1, $t2 :: rd 0x910d4074, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dsubu $s0, $s1, $s2 :: rd 0x8b3e62f4a5a17034, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+dsubu $t0, $t1, $t2 :: rd 0x908f3f8c, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dsubu $s0, $s1, $s2 :: rd 0x765476f0425624c1, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+dsubu $t0, $t1, $t2 :: rd 0xb010bf94, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dsubu $s0, $s1, $s2 :: rd 0xe1f79bc6bc190947, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+dsubu $t0, $t1, $t2 :: rd 0xb192c06c, rs 0x31cd86d3, rt 0xffffffff803ac667
+dsubu $s0, $s1, $s2 :: rd 0xac5b72db14fe89b2, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+dsubu $t0, $t1, $t2 :: rd 0xaf14bf4c, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dsubu $s0, $s1, $s2 :: rd 0xfeba09b5eda59a3e, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+dsubu $t0, $t1, $t2 :: rd 0xae96c0b4, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dsubu $s0, $s1, $s2 :: rd 0x80054f948c16263e, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+dsubu $t0, $t1, $t2 :: rd 0x4e2b3fac, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dsubu $s0, $s1, $s2 :: rd 0x7db678d6366354db, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+dsubu $t0, $t1, $t2 :: rd 0x4fa94054, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dsubu $s0, $s1, $s2 :: rd 0xfdd2bfe282d72064, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+dsubu $t0, $t1, $t2 :: rd 0x512f3f74, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dsubu $s0, $s1, $s2 :: rd 0x88a4ac1cdf899853, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+dsubu $t0, $t1, $t2 :: rd 0x50ad408c, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dsubu $s0, $s1, $s2 :: rd 0x9707b2e01a60f440, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+dsubu $t0, $t1, $t2 :: rd 0x7032c094, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dsubu $s0, $s1, $s2 :: rd 0xd37b88031d20b668, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+dsubu $t0, $t1, $t2 :: rd 0x71b0bf6c, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dsubu $s0, $s1, $s2 :: rd 0xc200cfa57fb829f1, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+dsubu $t0, $t1, $t2 :: rd 0x6f36c04c, rs 0x569796c2, rt 0xffffffffe760d676
+dsubu $s0, $s1, $s2 :: rd 0xd6ded6ae1c4f7e40, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+dsubu $t0, $t1, $t2 :: rd 0x6eb4bfb4, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dsubu $s0, $s1, $s2 :: rd 0xfe21c872c0ec5223, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+dsubu $t0, $t1, $t2 :: rd 0x8e2ac04c, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dsubu $s0, $s1, $s2 :: rd 0x87ddef1607289d5a, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+dsubu $t0, $t1, $t2 :: rd 0x8fa8bfb4, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dsubu $s0, $s1, $s2 :: rd 0x7e40c8eefc53fa0f, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+dsubu $t0, $t1, $t2 :: rd 0x912ec094, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dsubu $s0, $s1, $s2 :: rd 0x5f03d8a4f1abce06, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+dsubu $t0, $t1, $t2 :: rd 0x90acbf6c, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dsubu $s0, $s1, $s2 :: rd 0xedac53261c814420, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+dsubu $t0, $t1, $t2 :: rd 0xb0333f74, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dsubu $s0, $s1, $s2 :: rd 0x12cf9bbcc547576a, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+dsubu $t0, $t1, $t2 :: rd 0xb1b1408c, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dsubu $s0, $s1, $s2 :: rd 0xae0bdb817467c829, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+dsubu $t0, $t1, $t2 :: rd 0xaf373fac, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dsubu $s0, $s1, $s2 :: rd 0x373f6eb2860b8bdd, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+dsubu $t0, $t1, $t2 :: rd 0xaeb54054, rs 0x745e66cd, rt 0xffffffffc5a92679
+dsubu $s0, $s1, $s2 :: rd 0x4f5c9ee13eb1fdd0, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6e4ec08c, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dsubu $s0, $s1, $s2 :: rd 0xc4cbee3b1e768d17, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6fccbf74, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dsubu $s0, $s1, $s2 :: rd 0x15bfed2db2a40cd9, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+dsubu $t0, $t1, $t2 :: rd 0xffffffff714ac054, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dsubu $s0, $s1, $s2 :: rd 0x6aa6b6089901099e, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+dsubu $t0, $t1, $t2 :: rd 0xffffffff70c8bfac, rs 0xffffffff95609039, rt 0x2497d08d
+dsubu $s0, $s1, $s2 :: rd 0xb0354d11176227d0, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+dsubu $t0, $t1, $t2 :: rd 0xffffffff50573fb4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dsubu $s0, $s1, $s2 :: rd 0x6df98696221e0adb, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+dsubu $t0, $t1, $t2 :: rd 0xffffffff51d5404c, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dsubu $s0, $s1, $s2 :: rd 0x9caae453f7356099, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4f533f6c, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dsubu $s0, $s1, $s2 :: rd 0x51d21b76402221eb, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4ed14094, rs 0xffffffff8664e6e5, rt 0x3793a651
+dsubu $s0, $s1, $s2 :: rd 0x42fc05a9f477393, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+dsubu $t0, $t1, $t2 :: rd 0xffffffffae4f3f6c, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dsubu $s0, $s1, $s2 :: rd 0x85356931059dc4d1, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+dsubu $t0, $t1, $t2 :: rd 0xffffffffafcd4094, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dsubu $s0, $s1, $s2 :: rd 0x221263b84faa4a63, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb14b3fb4, rs 0xffffffffb7a96036, rt 0x65e2082
+dsubu $s0, $s1, $s2 :: rd 0x370fb2c5bb90f8bd, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb0c9404c, rs 0xffffffffb3687d81, rt 0x29f3d35
+dsubu $s0, $s1, $s2 :: rd 0xcd896e4cc96d05f0, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+dsubu $t0, $t1, $t2 :: rd 0xffffffff9056c054, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dsubu $s0, $s1, $s2 :: rd 0x3731b0ad08b2c643, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+dsubu $t0, $t1, $t2 :: rd 0xffffffff91d4bfac, rs 0xffffffffa9ee3033, rt 0x18197087
+dsubu $s0, $s1, $s2 :: rd 0x41cff89fb1b7a87c, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8f52c08c, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dsubu $s0, $s1, $s2 :: rd 0xbe8591ccf592b25a, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8ed0bf74, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dsubu $s0, $s1, $s2 :: rd 0xcc7edc0c2d324f19, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6e6d406c, rs 0xffffffffd4326d90, rt 0x65c52d24
+dsubu $s0, $s1, $s2 :: rd 0x3c8857567b9a60d9, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6fef3f94, rs 0xffffffffd0f37027, rt 0x61043093
+dsubu $s0, $s1, $s2 :: rd 0x26d9f905a134ac05, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+dsubu $t0, $t1, $t2 :: rd 0xffffffff716940b4, rs 0xffffffffddb056fe, rt 0x6c47164a
+dsubu $s0, $s1, $s2 :: rd 0x52a5e99c96fa95d5, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+dsubu $t0, $t1, $t2 :: rd 0xffffffff70eb3f4c, rs 0xffffffffd9714b49, rt 0x68860bfd
+dsubu $s0, $s1, $s2 :: rd 0xd7e5e62faf25f781, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+dsubu $t0, $t1, $t2 :: rd 0xffffffff5074bf54, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dsubu $s0, $s1, $s2 :: rd 0x4427cbbccf0c72cb, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+dsubu $t0, $t1, $t2 :: rd 0xffffffff51f6c0ac, rs 0xffffffffc3f706fb, rt 0x7200464f
+dsubu $s0, $s1, $s2 :: rd 0x5db1d27f45e57c07, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4f70bf8c, rs 0xffffffffceb42022, rt 0x7f436096
+dsubu $s0, $s1, $s2 :: rd 0x5af3c01531a70159, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4ef2c074, rs 0xffffffffca753d95, rt 0x7b827d21
+dsubu $s0, $s1, $s2 :: rd 0x31fed7bb3a609b35, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+dsubu $t0, $t1, $t2 :: rd 0xffffffffae6cbf8c, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dsubu $s0, $s1, $s2 :: rd 0x9dd3c0930c2b56cf, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+dsubu $t0, $t1, $t2 :: rd 0xffffffffafeec074, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dsubu $s0, $s1, $s2 :: rd 0x227052a56d9298f1, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb168bf54, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dsubu $s0, $s1, $s2 :: rd 0xa00556c1327b5a15, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb0eac0ac, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dsubu $s0, $s1, $s2 :: rd 0xc941250aadae6d3e, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+dsubu $t0, $t1, $t2 :: rd 0xffffffff907540b4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dsubu $s0, $s1, $s2 :: rd 0x264f48529eebaa60, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+dsubu $t0, $t1, $t2 :: rd 0xffffffff91f73f4c, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dsubu $s0, $s1, $s2 :: rd 0x23f589cfa1181432, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8f71406c, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dsubu $s0, $s1, $s2 :: rd 0x3e9dbc212c17c919, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8ef33f94, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dsubu $s0, $s1, $s2 :: rd 0xc194d8ec7b7222d3, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+dsubu $t0, $t1, $t2 :: rd 0xaf153fb4, rs 0x34867077, rt 0xffffffff857130c3
+dsubu $s0, $s1, $s2 :: rd 0x636e39dec68af0ed, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+dsubu $t0, $t1, $t2 :: rd 0xae97404c, rs 0x30476dc0, rt 0xffffffff81b02d74
+dsubu $s0, $s1, $s2 :: rd 0x7e5fb27bf94e69ac, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+dsubu $t0, $t1, $t2 :: rd 0xb0113f6c, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dsubu $s0, $s1, $s2 :: rd 0xabe7e5fe3d51ba46, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+dsubu $t0, $t1, $t2 :: rd 0xb1934094, rs 0x39c556ae, rt 0xffffffff8832161a
+dsubu $s0, $s1, $s2 :: rd 0x55c8de52e86503e9, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+dsubu $t0, $t1, $t2 :: rd 0x910cc08c, rs 0x278206ab, rt 0xffffffff9675461f
+dsubu $s0, $s1, $s2 :: rd 0xd8660d5bca1f9646, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+dsubu $t0, $t1, $t2 :: rd 0x908ebf74, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dsubu $s0, $s1, $s2 :: rd 0xf3f79ef50cd774e5, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+dsubu $t0, $t1, $t2 :: rd 0x8e08c054, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dsubu $s0, $s1, $s2 :: rd 0x5f2d1de43fb3e8b, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+dsubu $t0, $t1, $t2 :: rd 0x8f8abfac, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dsubu $s0, $s1, $s2 :: rd 0x5a5ad5456b73d4c1, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+dsubu $t0, $t1, $t2 :: rd 0x6f14c054, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dsubu $s0, $s1, $s2 :: rd 0x844237e6db671303, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+dsubu $t0, $t1, $t2 :: rd 0x6e96bfac, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dsubu $s0, $s1, $s2 :: rd 0xcc08f69f3fc098e3, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+dsubu $t0, $t1, $t2 :: rd 0x7010c08c, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dsubu $s0, $s1, $s2 :: rd 0xb6c0dc8ca1f14d8c, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+dsubu $t0, $t1, $t2 :: rd 0x7192bf74, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dsubu $s0, $s1, $s2 :: rd 0xb9108885d2bcd3c9, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+dsubu $t0, $t1, $t2 :: rd 0x510d3f6c, rs 0x18aeb13, rt 0xffffffffb07daba7
+dsubu $s0, $s1, $s2 :: rd 0x1cf8e7192d467d7c, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+dsubu $t0, $t1, $t2 :: rd 0x508f4094, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dsubu $s0, $s1, $s2 :: rd 0x30d493400e94aaf0, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+dsubu $t0, $t1, $t2 :: rd 0x4e093fb4, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dsubu $s0, $s1, $s2 :: rd 0xda2d3dcb3f975265, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+dsubu $t0, $t1, $t2 :: rd 0x4f8b404c, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dsubu $s0, $s1, $s2 :: rd 0x3620cb6610c5a9f9, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+dsubu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0x779b69f027a2002, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+dsubu $t0, $t1, $t2 :: rd 0xaeb4c0ac, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dsubu $s0, $s1, $s2 :: rd 0x46a686eb1d81a2c5, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+dsubu $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0x8172fbacda6ebfe8, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+dsubu $t0, $t1, $t2 :: rd 0xb1b0c074, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dsubu $s0, $s1, $s2 :: rd 0x6da34febe34d90c8, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+dsubu $t0, $t1, $t2 :: rd 0x912f406c, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dsubu $s0, $s1, $s2 :: rd 0xff10beea98e3e5a8, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+dsubu $t0, $t1, $t2 :: rd 0x90ad3f94, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dsubu $s0, $s1, $s2 :: rd 0xa710cf2fb2cd479d, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+dsubu $t0, $t1, $t2 :: rd 0x8e2b40b4, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dsubu $s0, $s1, $s2 :: rd 0x3f956555eaf88a7f, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+dsubu $t0, $t1, $t2 :: rd 0x8fa93f4c, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dsubu $s0, $s1, $s2 :: rd 0xaf230299406e8442, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+dsubu $t0, $t1, $t2 :: rd 0x6f3740b4, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dsubu $s0, $s1, $s2 :: rd 0xad04cf99ef962584, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+dsubu $t0, $t1, $t2 :: rd 0x6eb53f4c, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dsubu $s0, $s1, $s2 :: rd 0x5d374f3a3d787ce9, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+dsubu $t0, $t1, $t2 :: rd 0x7033406c, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dsubu $s0, $s1, $s2 :: rd 0x94228ed7387b85e1, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+dsubu $t0, $t1, $t2 :: rd 0x71b13f94, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dsubu $s0, $s1, $s2 :: rd 0xf10806efc90d0abe, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+dsubu $t0, $t1, $t2 :: rd 0x512ebf8c, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dsubu $s0, $s1, $s2 :: rd 0x47278535765ae3e2, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+dsubu $t0, $t1, $t2 :: rd 0x50acc074, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dsubu $s0, $s1, $s2 :: rd 0xbba8f21b9b27b54c, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+dsubu $t0, $t1, $t2 :: rd 0x4e2abf54, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dsubu $s0, $s1, $s2 :: rd 0x1c30e3b424689958, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+dsubu $t0, $t1, $t2 :: rd 0x4fa8c0ac, rs 0x40d816ba, rt 0xfffffffff12f560e
+dsubu $s0, $s1, $s2 :: rd 0x639d77d6633e3cff, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8f534074, rs 0xffffffffaca5c697, rt 0x1d528623
+dsubu $s0, $s1, $s2 :: rd 0x71b5ec522ae6eb02, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8ed13f8c, rs 0xffffffffa864db20, rt 0x19939b94
+dsubu $s0, $s1, $s2 :: rd 0x46b268201c09b390, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+dsubu $t0, $t1, $t2 :: rd 0xffffffff905740ac, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dsubu $s0, $s1, $s2 :: rd 0xf7befb355674f27c, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+dsubu $t0, $t1, $t2 :: rd 0xffffffff91d53f54, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dsubu $s0, $s1, $s2 :: rd 0x7d5d96aede0c7bb3, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb14abf4c, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dsubu $s0, $s1, $s2 :: rd 0x69c0e617048405c8, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb0c8c0b4, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dsubu $s0, $s1, $s2 :: rd 0xb4519fe259ad123c, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+dsubu $t0, $t1, $t2 :: rd 0xffffffffae4ebf94, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dsubu $s0, $s1, $s2 :: rd 0x187cef825769af81, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+dsubu $t0, $t1, $t2 :: rd 0xffffffffafccc06c, rs 0xffffffffb2e29692, rt 0x315d626
+dsubu $s0, $s1, $s2 :: rd 0x81ba27e129207fff, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4f52bf94, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dsubu $s0, $s1, $s2 :: rd 0x1043c0da5aa90645, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+dsubu $t0, $t1, $t2 :: rd 0xffffffffc06489d4, rs 0x0, rt 0x3f9b762c
+dsubu $s0, $s1, $s2 :: rd 0x3f8e6c83db52595, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+dsubu $t0, $t1, $t2 :: rd 0xffffffffcd27af0b, rs 0x0, rt 0x32d850f5
+dsubu $s0, $s1, $s2 :: rd 0x48417bb9ac443bb4, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+dsubu $t0, $t1, $t2 :: rd 0xffffffff51d4c0b4, rs 0xffffffff87ee0df6, rt 0x36194d42
+dsubu $s0, $s1, $s2 :: rd 0x6de623ac688ebd77, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+dsubu $t0, $t1, $t2 :: rd 0xffffffff714b40ac, rs 0xffffffff99a95df3, rt 0x285e1d47
+dsubu $s0, $s1, $s2 :: rd 0xb01ca0060c1006f7, rs 0x663d061055833287, rt 0xb620660a49732b90
+dsubu $t0, $t1, $t2 :: rd 0xffffffff70c93f54, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dsubu $s0, $s1, $s2 :: rd 0xf77fe41f3a29596f, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6e4f4074, rs 0xffffffff902b669d, rt 0x21dc2629
+dsubu $s0, $s1, $s2 :: rd 0x316541d8f608c621, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6fcd3f8c, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dsubu $s0, $s1, $s2 :: rd 0xeb9cffb8f647887c, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8f70c094, rs 0xffffffffe0b41de7, rt 0x51435d53
+dsubu $s0, $s1, $s2 :: rd 0xd3cf79f3139951d, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8ef2bf6c, rs 0xffffffffe4750050, rt 0x558240e4
+dsubu $s0, $s1, $s2 :: rd 0x80ba5786147c4b08, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+dsubu $t0, $t1, $t2 :: rd 0xffffffff9074c04c, rs 0xffffffffe9362689, rt 0x58c1663d
+dsubu $s0, $s1, $s2 :: rd 0x4687d3dab53d2b1a, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+dsubu $t0, $t1, $t2 :: rd 0xffffffff91f6bfb4, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dsubu $s0, $s1, $s2 :: rd 0x48b11668806e521d, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb1693fac, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dsubu $s0, $s1, $s2 :: rd 0x3c5a556ee5380a28, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb0eb4054, rs 0xfffffffff771768c, rt 0x46863638
+dsubu $s0, $s1, $s2 :: rd 0x756b21212d636455, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+dsubu $t0, $t1, $t2 :: rd 0xffffffffae6d3f74, rs 0xfffffffffa325055, rt 0x4bc510e1
+dsubu $s0, $s1, $s2 :: rd 0x56a4215cdc3b13e1, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+dsubu $t0, $t1, $t2 :: rd 0xffffffffafef408c, rs 0xfffffffffef34de2, rt 0x4f040d56
+dsubu $s0, $s1, $s2 :: rd 0x99cc0e47cdd3af39, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4f713f74, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dsubu $s0, $s1, $s2 :: rd 0x28ba716d9defbc63, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4ef3408c, rs 0xffffffffc27dede8, rt 0x738aad5c
+dsubu $s0, $s1, $s2 :: rd 0x58ef1c2cb047779f, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+dsubu $t0, $t1, $t2 :: rd 0xffffffff50753fac, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dsubu $s0, $s1, $s2 :: rd 0x7a1666c427baef0e, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+dsubu $t0, $t1, $t2 :: rd 0xffffffff51f74054, rs 0xffffffffcbffd686, rt 0x7a089632
+dsubu $s0, $s1, $s2 :: rd 0xd4d447033aaa3405, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+dsubu $t0, $t1, $t2 :: rd 0xffffffff7168c04c, rs 0xffffffffd5b88683, rt 0x644fc637
+dsubu $s0, $s1, $s2 :: rd 0x6536c3aca789e8d9, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+dsubu $t0, $t1, $t2 :: rd 0xffffffff70eabfb4, rs 0xffffffffd1799b34, rt 0x608edb80
+dsubu $s0, $s1, $s2 :: rd 0x9ba2202ed416090b, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6e6cc094, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dsubu $s0, $s1, $s2 :: rd 0x6d36c6ef4db25c90, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6feebf6c, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dsubu $s0, $s1, $s2 :: rd 0xe0324808f822ce4c, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+dsubu $t0, $t1, $t2 :: rd 0x90114094, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dsubu $s0, $s1, $s2 :: rd 0x1fcdb7f707dd31b4, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+dsubu $t0, $t1, $t2 :: rd 0x91933f6c, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dsubu $s0, $s1, $s2 :: rd 0x92c93910b24da370, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+dsubu $t0, $t1, $t2 :: rd 0x8f15404c, rs 0x608edb80, rt 0xffffffffd1799b34
+dsubu $s0, $s1, $s2 :: rd 0x645ddfd12be9f6f5, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+dsubu $t0, $t1, $t2 :: rd 0x8e973fb4, rs 0x644fc637, rt 0xffffffffd5b88683
+dsubu $s0, $s1, $s2 :: rd 0x9ac93c5358761727, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+dsubu $t0, $t1, $t2 :: rd 0xae08bfac, rs 0x7a089632, rt 0xffffffffcbffd686
+dsubu $s0, $s1, $s2 :: rd 0x2b2bb8fcc555cbfb, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+dsubu $t0, $t1, $t2 :: rd 0xaf8ac054, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dsubu $s0, $s1, $s2 :: rd 0x85e9993bd84510f2, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+dsubu $t0, $t1, $t2 :: rd 0xb10cbf74, rs 0x738aad5c, rt 0xffffffffc27dede8
+dsubu $s0, $s1, $s2 :: rd 0xa710e3d34fb88861, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+dsubu $t0, $t1, $t2 :: rd 0xb08ec08c, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dsubu $s0, $s1, $s2 :: rd 0xd7458e926210439d, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+dsubu $t0, $t1, $t2 :: rd 0x5010bf74, rs 0x4f040d56, rt 0xfffffffffef34de2
+dsubu $s0, $s1, $s2 :: rd 0x6633f1b8322c50c7, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+dsubu $t0, $t1, $t2 :: rd 0x5192c08c, rs 0x4bc510e1, rt 0xfffffffffa325055
+dsubu $s0, $s1, $s2 :: rd 0xa95bdea323c4ec1f, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+dsubu $t0, $t1, $t2 :: rd 0x4f14bfac, rs 0x46863638, rt 0xfffffffff771768c
+dsubu $s0, $s1, $s2 :: rd 0x8a94deded29c9bab, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+dsubu $t0, $t1, $t2 :: rd 0x4e96c054, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dsubu $s0, $s1, $s2 :: rd 0xc3a5aa911ac7f5d8, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+dsubu $t0, $t1, $t2 :: rd 0x6e09404c, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dsubu $s0, $s1, $s2 :: rd 0xb74ee9977f91ade3, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+dsubu $t0, $t1, $t2 :: rd 0x6f8b3fb4, rs 0x58c1663d, rt 0xffffffffe9362689
+dsubu $s0, $s1, $s2 :: rd 0xb9782c254ac2d4e6, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+dsubu $t0, $t1, $t2 :: rd 0x710d4094, rs 0x558240e4, rt 0xffffffffe4750050
+dsubu $s0, $s1, $s2 :: rd 0x7f45a879eb83b4f8, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+dsubu $t0, $t1, $t2 :: rd 0x708f3f6c, rs 0x51435d53, rt 0xffffffffe0b41de7
+dsubu $s0, $s1, $s2 :: rd 0xf2c30860cec66ae3, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+dsubu $t0, $t1, $t2 :: rd 0x9032c074, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dsubu $s0, $s1, $s2 :: rd 0x1463004709b87784, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+dsubu $t0, $t1, $t2 :: rd 0x91b0bf8c, rs 0x21dc2629, rt 0xffffffff902b669d
+dsubu $s0, $s1, $s2 :: rd 0xce9abe2709f739df, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+dsubu $t0, $t1, $t2 :: rd 0x8f36c0ac, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dsubu $s0, $s1, $s2 :: rd 0x8801be0c5d6a691, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+dsubu $t0, $t1, $t2 :: rd 0x8eb4bf54, rs 0x285e1d47, rt 0xffffffff99a95df3
+dsubu $s0, $s1, $s2 :: rd 0x4fe35ff9f3eff909, rs 0xb620660a49732b90, rt 0x663d061055833287
+dsubu $t0, $t1, $t2 :: rd 0xae2b3f4c, rs 0x36194d42, rt 0xffffffff87ee0df6
+dsubu $s0, $s1, $s2 :: rd 0x9219dc5397714289, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+dsubu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0xb7be844653bbc44c, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+dsubu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0xfc071937c24ada6b, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+dsubu $t0, $t1, $t2 :: rd 0xb0ad406c, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dsubu $s0, $s1, $s2 :: rd 0xefbc3f25a556f9bb, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+dsubu $t0, $t1, $t2 :: rd 0x50333f94, rs 0x315d626, rt 0xffffffffb2e29692
+dsubu $s0, $s1, $s2 :: rd 0x7e45d81ed6df8001, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+dsubu $t0, $t1, $t2 :: rd 0x51b1406c, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dsubu $s0, $s1, $s2 :: rd 0xe783107da896507f, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+dsubu $t0, $t1, $t2 :: rd 0x4f373f4c, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dsubu $s0, $s1, $s2 :: rd 0x4bae601da652edc4, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+dsubu $t0, $t1, $t2 :: rd 0x4eb540b4, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dsubu $s0, $s1, $s2 :: rd 0x963f19e8fb7bfa38, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+dsubu $t0, $t1, $t2 :: rd 0x6e2ac0ac, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dsubu $s0, $s1, $s2 :: rd 0x82a2695121f3844d, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+dsubu $t0, $t1, $t2 :: rd 0x6fa8bf54, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dsubu $s0, $s1, $s2 :: rd 0x84104caa98b0d84, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+dsubu $t0, $t1, $t2 :: rd 0x712ec074, rs 0x19939b94, rt 0xffffffffa864db20
+dsubu $s0, $s1, $s2 :: rd 0xb94d97dfe3f64c70, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+dsubu $t0, $t1, $t2 :: rd 0x70acbf8c, rs 0x1d528623, rt 0xffffffffaca5c697
+dsubu $s0, $s1, $s2 :: rd 0x8e4a13add51914fe, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb0573f54, rs 0xfffffffff12f560e, rt 0x40d816ba
+dsubu $s0, $s1, $s2 :: rd 0x9c6288299cc1c301, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb1d540ac, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dsubu $s0, $s1, $s2 :: rd 0xe3cf1c4bdb9766a8, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaf533f8c, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dsubu $s0, $s1, $s2 :: rd 0x44570de464d84ab4, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaed14074, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dsubu $s0, $s1, $s2 :: rd 0xb8d87aca89a51c1e, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8e4ec06c, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dsubu $s0, $s1, $s2 :: rd 0xef7f91036f2f542, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8fccbf94, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dsubu $s0, $s1, $s2 :: rd 0x6bdd7128c7847a1f, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+dsubu $t0, $t1, $t2 :: rd 0xffffffff914ac0b4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dsubu $s0, $s1, $s2 :: rd 0xa2c8b0c5c2878317, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+dsubu $t0, $t1, $t2 :: rd 0xffffffff90c8bf4c, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dsubu $s0, $s1, $s2 :: rd 0x52fb30661069da7c, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff7056c0b4, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dsubu $s0, $s1, $s2 :: rd 0x50dcfd66bf917bbe, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+dsubu $t0, $t1, $t2 :: rd 0xffffffff71d4bf4c, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dsubu $s0, $s1, $s2 :: rd 0xc06a9aaa15077581, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6f52c06c, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dsubu $s0, $s1, $s2 :: rd 0x58ef30d04d32b863, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6ed0bf94, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dsubu $s0, $s1, $s2 :: rd 0xef4115671c1a58, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4e4f3f8c, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dsubu $s0, $s1, $s2 :: rd 0x925cb0141cb26f38, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8eea6f97, rs 0x0, rt 0x71159069
+dsubu $s0, $s1, $s2 :: rd 0x7e8d045325914018, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+dsubu $t0, $t1, $t2 :: rd 0xffffffff514b3f54, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dsubu $s0, $s1, $s2 :: rd 0xb9597914e27e5d3b, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+dsubu $t0, $t1, $t2 :: rd 0xffffffff876854f9, rs 0x0, rt 0x7897ab07
+dsubu $s0, $s1, $s2 :: rd 0xf8864960fd85dffe, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb074bfb4, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dsubu $s0, $s1, $s2 :: rd 0xc9df3499ef3a5607, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb1f6c04c, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dsubu $s0, $s1, $s2 :: rd 0x25d2c234c068ad9b, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaf70bf6c, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dsubu $s0, $s1, $s2 :: rd 0xcf2b6cbff16b5510, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaef2c094, rs 0xffffffffb07daba7, rt 0x18aeb13
+dsubu $s0, $s1, $s2 :: rd 0xe30718e6d2b98284, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8e6d408c, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dsubu $s0, $s1, $s2 :: rd 0x46ef777a2d432c37, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8fef3f74, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dsubu $s0, $s1, $s2 :: rd 0x493f23735e0eb274, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+dsubu $t0, $t1, $t2 :: rd 0xffffffff91694054, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dsubu $s0, $s1, $s2 :: rd 0x33f70960c03f671d, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff90eb3fac, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dsubu $s0, $s1, $s2 :: rd 0x7bbdc8192498ecfd, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+dsubu $t0, $t1, $t2 :: rd 0xffffffff70754054, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dsubu $s0, $s1, $s2 :: rd 0xa5a52aba948c2b3f, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff71f73fac, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dsubu $s0, $s1, $s2 :: rd 0xfa0d2e21bc04c175, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6f71408c, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dsubu $s0, $s1, $s2 :: rd 0xc08610af3288b1b, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6ef33f74, rs 0xffffffff9675461f, rt 0x278206ab
+dsubu $s0, $s1, $s2 :: rd 0x2799f2a435e069ba, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4e6cbf6c, rs 0xffffffff8832161a, rt 0x39c556ae
+dsubu $s0, $s1, $s2 :: rd 0xaa3721ad179afc17, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4feec094, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dsubu $s0, $s1, $s2 :: rd 0x54181a01c2ae45ba, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+dsubu $t0, $t1, $t2 :: rd 0xffffffff5168bfb4, rs 0xffffffff81b02d74, rt 0x30476dc0
+dsubu $s0, $s1, $s2 :: rd 0x81a04d8406b19654, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+dsubu $t0, $t1, $t2 :: rd 0xffffffff50eac04c, rs 0xffffffff857130c3, rt 0x34867077
+dsubu $s0, $s1, $s2 :: rd 0x9c91c62139750f13, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+dsubu $t0, $t1, $t2 :: rd 0x710cc06c, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dsubu $s0, $s1, $s2 :: rd 0x3e6b2713848ddd2d, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+dsubu $t0, $t1, $t2 :: rd 0x708ebf94, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dsubu $s0, $s1, $s2 :: rd 0xc16243ded3e836e7, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+dsubu $t0, $t1, $t2 :: rd 0x6e08c0b4, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dsubu $s0, $s1, $s2 :: rd 0xdc0a76305ee7ebce, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+dsubu $t0, $t1, $t2 :: rd 0x6f8abf4c, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dsubu $s0, $s1, $s2 :: rd 0xd9b0b7ad611455a0, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+dsubu $t0, $t1, $t2 :: rd 0x4f153f54, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dsubu $s0, $s1, $s2 :: rd 0x36bedaf5525192c2, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+dsubu $t0, $t1, $t2 :: rd 0x4e9740ac, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dsubu $s0, $s1, $s2 :: rd 0x5ffaa93ecd84a5eb, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+dsubu $t0, $t1, $t2 :: rd 0x50113f8c, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dsubu $s0, $s1, $s2 :: rd 0xdd8fad5a926d670f, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+dsubu $t0, $t1, $t2 :: rd 0x51934074, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dsubu $s0, $s1, $s2 :: rd 0x622c3f6cf3d4a931, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+dsubu $t0, $t1, $t2 :: rd 0xb10d3f8c, rs 0x7b827d21, rt 0xffffffffca753d95
+dsubu $s0, $s1, $s2 :: rd 0xce012844c59f64cb, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+dsubu $t0, $t1, $t2 :: rd 0xb08f4074, rs 0x7f436096, rt 0xffffffffceb42022
+dsubu $s0, $s1, $s2 :: rd 0xa50c3feace58fea7, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+dsubu $t0, $t1, $t2 :: rd 0xae093f54, rs 0x7200464f, rt 0xffffffffc3f706fb
+dsubu $s0, $s1, $s2 :: rd 0xa24e2d80ba1a83f9, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+dsubu $t0, $t1, $t2 :: rd 0xaf8b40ac, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dsubu $s0, $s1, $s2 :: rd 0xbbd8344330f38d35, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+dsubu $t0, $t1, $t2 :: rd 0x8f14c0b4, rs 0x68860bfd, rt 0xffffffffd9714b49
+dsubu $s0, $s1, $s2 :: rd 0x281a19d050da087f, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+dsubu $t0, $t1, $t2 :: rd 0x8e96bf4c, rs 0x6c47164a, rt 0xffffffffddb056fe
+dsubu $s0, $s1, $s2 :: rd 0xad5a166369056a2b, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+dsubu $t0, $t1, $t2 :: rd 0x9010c06c, rs 0x61043093, rt 0xffffffffd0f37027
+dsubu $s0, $s1, $s2 :: rd 0xd92606fa5ecb53fb, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+dsubu $t0, $t1, $t2 :: rd 0x9192bf94, rs 0x65c52d24, rt 0xffffffffd4326d90
+dsubu $s0, $s1, $s2 :: rd 0xc377a8a984659f27, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+dsubu $t0, $t1, $t2 :: rd 0x712f408c, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dsubu $s0, $s1, $s2 :: rd 0x338123f3d2cdb0e7, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+dsubu $t0, $t1, $t2 :: rd 0x70ad3f74, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dsubu $s0, $s1, $s2 :: rd 0x417a6e330a6d4da6, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+dsubu $t0, $t1, $t2 :: rd 0x6e2b4054, rs 0x18197087, rt 0xffffffffa9ee3033
+dsubu $s0, $s1, $s2 :: rd 0xbe3007604e485784, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+dsubu $t0, $t1, $t2 :: rd 0x6fa93fac, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dsubu $s0, $s1, $s2 :: rd 0xc8ce4f52f74d39bd, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+dsubu $t0, $t1, $t2 :: rd 0x4f36bfb4, rs 0x29f3d35, rt 0xffffffffb3687d81
+dsubu $s0, $s1, $s2 :: rd 0x327691b33692fa10, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+dsubu $t0, $t1, $t2 :: rd 0x4eb4c04c, rs 0x65e2082, rt 0xffffffffb7a96036
+dsubu $s0, $s1, $s2 :: rd 0xc8f04d3a446f0743, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+dsubu $t0, $t1, $t2 :: rd 0x5032bf6c, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dsubu $s0, $s1, $s2 :: rd 0xdded9c47b055b59d, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+dsubu $t0, $t1, $t2 :: rd 0x51b0c094, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dsubu $s0, $s1, $s2 :: rd 0x7aca96cefa623b2f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+dsubu $t0, $t1, $t2 :: rd 0xb12ebf6c, rs 0x3793a651, rt 0xffffffff8664e6e5
+dsubu $s0, $s1, $s2 :: rd 0xfbd03fa560b88c6d, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+dsubu $t0, $t1, $t2 :: rd 0xb0acc094, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dsubu $s0, $s1, $s2 :: rd 0xae2de489bfddde15, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+dsubu $t0, $t1, $t2 :: rd 0xae2abfb4, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dsubu $s0, $s1, $s2 :: rd 0x63551bac08ca9f67, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+dsubu $t0, $t1, $t2 :: rd 0xafa8c04c, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dsubu $s0, $s1, $s2 :: rd 0x92067969dde1f525, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+dsubu $t0, $t1, $t2 :: rd 0x8f374054, rs 0x2497d08d, rt 0xffffffff95609039
+dsubu $s0, $s1, $s2 :: rd 0x4fcab2eee89dd830, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+dsubu $t0, $t1, $t2 :: rd 0x8eb53fac, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dsubu $s0, $s1, $s2 :: rd 0x955949f766fef662, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+dsubu $t0, $t1, $t2 :: rd 0x9033408c, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dsubu $s0, $s1, $s2 :: rd 0xea4012d24d5bf327, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+dsubu $t0, $t1, $t2 :: rd 0x91b13f74, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dsubu $s0, $s1, $s2 :: rd 0x3b3411c4e18972e9, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+dsubu $t0, $t1, $t2 :: rd 0xffffffff514abfac, rs 0xffffffffc5a92679, rt 0x745e66cd
+dsubu $s0, $s1, $s2 :: rd 0xb0a3611ec14e0230, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff50c8c054, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dsubu $s0, $s1, $s2 :: rd 0xc8c0914d79f47423, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4e4ebf74, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dsubu $s0, $s1, $s2 :: rd 0x51f4247e8b9837d7, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4fccc08c, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dsubu $s0, $s1, $s2 :: rd 0xed3064433ab8a896, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6f534094, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dsubu $s0, $s1, $s2 :: rd 0x1253acd9e37ebbe0, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6ed13f6c, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dsubu $s0, $s1, $s2 :: rd 0xa0fc275b0e5431fa, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+dsubu $t0, $t1, $t2 :: rd 0xffffffff7057404c, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dsubu $s0, $s1, $s2 :: rd 0x81bf371103ac05f1, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+dsubu $t0, $t1, $t2 :: rd 0xffffffff71d53fb4, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dsubu $s0, $s1, $s2 :: rd 0x782210e9f8d762a6, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+dsubu $t0, $t1, $t2 :: rd 0xffffffff914b404c, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dsubu $s0, $s1, $s2 :: rd 0x1de378d3f13addd, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+dsubu $t0, $t1, $t2 :: rd 0xffffffff90c93fb4, rs 0xffffffffe760d676, rt 0x569796c2
+dsubu $s0, $s1, $s2 :: rd 0x29212951e3b081c0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8e4f4094, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dsubu $s0, $s1, $s2 :: rd 0x3dff305a8047d60f, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8fcd3f6c, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dsubu $s0, $s1, $s2 :: rd 0x2c8477fce2df4998, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaf52bf74, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dsubu $s0, $s1, $s2 :: rd 0x68f84d1fe59f0bc0, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaed0c08c, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dsubu $s0, $s1, $s2 :: rd 0x775b53e3207667ad, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb056bfac, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dsubu $s0, $s1, $s2 :: rd 0x22d401d7d28df9c, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb1d4c054, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dsubu $s0, $s1, $s2 :: rd 0x82498729c99cab25, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+dsubu $t0, $t1, $t2 :: rd 0xffffffff51693f4c, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dsubu $s0, $s1, $s2 :: rd 0x7ffab06b73e9d9c2, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+dsubu $t0, $t1, $t2 :: rd 0xffffffff50eb40b4, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dsubu $s0, $s1, $s2 :: rd 0x145f64a125a65c2, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4e6d3f94, rs 0xffffffff803ac667, rt 0x31cd86d3
+dsubu $s0, $s1, $s2 :: rd 0x53a48d24eb01764e, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4fef406c, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dsubu $s0, $s1, $s2 :: rd 0x1e08643943e6f6b9, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6f70c074, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dsubu $s0, $s1, $s2 :: rd 0x89ab890fbda9db3f, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6ef2bf8c, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dsubu $s0, $s1, $s2 :: rd 0x74c19d0b5a5e8fcc, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+dsubu $t0, $t1, $t2 :: rd 0xffffffff7074c0ac, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dsubu $s0, $s1, $s2 :: rd 0xebee4617acde0f80, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+dsubu $t0, $t1, $t2 :: rd 0xffffffff71f6bf54, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dsubu $s0, $s1, $s2 :: rd 0x928813f2c649cb9b, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+dsubu $t0, $t1, $t2 :: rd 0xffffffff9168c0ac, rs 0xffffffffafb010b1, rt 0x1e475005
+dsubu $s0, $s1, $s2 :: rd 0x23629c37a0284bf5, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+dsubu $t0, $t1, $t2 :: rd 0xffffffff90eabf54, rs 0xffffffffab710d06, rt 0x1a864db2
+dsubu $s0, $s1, $s2 :: rd 0xae3119a0202b21e1, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8e6cc074, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dsubu $s0, $s1, $s2 :: rd 0x83df1f57fc3fa31d, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8feebf8c, rs 0xffffffffa2f33668, rt 0x130476dc
+dsubu $s0, $s1, $s2 :: rd 0x163ba3aade09fa15, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaf713f94, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dsubu $s0, $s1, $s2 :: rd 0xb09860e85760106b, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaef3406c, rs 0xffffffffb8757bda, rt 0x9823b6e
+dsubu $s0, $s1, $s2 :: rd 0xa43d2aac5c583c82, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0x60cf13e0dc3f7858, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0xa2a6ec661a7c6a77, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+madd $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0xffffffffb1f740b4
+madd $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0xffffffffb5365d03
+madd $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x6d9f7d6, LO 0xffffffff9d2ff186
+madd $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0x9c6a90d, LO 0xffffffffd05a66d2
+madd $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0xc1ae47f, LO 0x58a9e7c8
+madd $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0xf6eac49, LO 0xffffffffe11bb714
+madd $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x11c36c88, LO 0x4e1ae932
+madd $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x14c792b4, LO 0xffffffff826eb426
+madd $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x169540d2, LO 0xffffffffbb5829ac
+madd $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x140279c5, LO 0xffffffff926d5bb0
+madd $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x1d6f0351, LO 0x2603384e
+madd $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x1a2b7ba8, LO 0x7d766e8a
+madd $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x1b8eb109, LO 0x5334a910
+madd $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x18f23293, LO 0xffffffff8c01374c
+madd $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x217762b9, LO 0x7217682a
+madd $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x1e4b5d83, LO 0xffffffffd7e271ae
+madd $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4b722c32, LO 0xffffffffe20f6d84
+madd $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x46de4f64, LO 0xffffffffce4dfbd8
+madd $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x426c4b0b, LO 0xffffffffb8623496
+madd $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x3d68188e, LO 0xffffffff8a3f3e42
+madd $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x58ba70aa, LO 0x248b7138
+madd $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x53fd4d63, LO 0xffffffffd752a324
+madd $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x4e438a6d, LO 0x20067fe2
+madd $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x4936c7a0, LO 0xb0bb5f6
+madd $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x5b266669, LO 0xffffffffe5552f5c
+madd $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x60a2d640, LO 0xffffffffbc18fe80
+madd $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x51df5499, LO 0x647630be
+madd $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x56ab41da, LO 0xffffffffaa3bfb9a
+madd $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x5f0d8f18, LO 0xffffffffad7a0d20
+madd $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x6460ccef, LO 0xffffffffaff3fdbc
+madd $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x55161731, LO 0x46c2b5fa
+madd $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x59d988eb, LO 0x67df2b5e
+madd $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffff872b08cd, LO 0xffffffffb8c837d4
+madd $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffff8b6e06b9, LO 0xffffffffb67fb708
+madd $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xffffffff83b0530a, LO 0xffffffffcaff9566
+madd $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffff8622e999, LO 0xfffffffff5948ff2
+madd $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0x704f976b, LO 0xffffffffd0cca068
+madd $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x74b910ac, LO 0xffffffff9dfb6174
+madd $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0x6984898c, LO 0xffffffffa94b6d92
+madd $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x6bfe716f, LO 0xfffffffff3b832c6
+madd $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xffffffffba174bc6, LO 0xffffffff9a16990c
+madd $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xffffffffb7ea82ce, LO 0x4820d750
+madd $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xffffffffb5dcbf79, LO 0xe3bbbee
+madd $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffb29faa12, LO 0x247f5ea
+madd $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffa3da52fa, LO 0xffffffff837229f0
+madd $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xffffffffa1d3f725, LO 0x66c62b6c
+madd $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xffffffff9d0f0fd5, LO 0xfffffffff2df5c4a
+madd $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xffffffff99d93d31, LO 0xffffffffc994e28e
+madd $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffc2c895df, LO 0x39eee564
+madd $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffbf1ee886, LO 0xffffffff8970e6f8
+madd $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xffffffffcf2d349c, LO 0xfffffffff12c0fb6
+madd $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffffc9b3215e, LO 0x3bef9622
+madd $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffacde2745, LO 0x4b2bd198
+madd $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffa93af79a, LO 0x3d240fc4
+madd $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffb632829e, LO 0x6fc0f482
+madd $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffb0a04789, LO 0xffffffffb05b2e56
+madd $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xffffffffee94be2e, LO 0xffffffffd799d8fc
+madd $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xfffffffff47af257, LO 0x76d699e0
+madd $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xfffffffffa7acb34, LO 0x6528a61e
+madd $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffff506cd0, LO 0x7e036b3a
+madd $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffffd78a68ab, LO 0xffffffff89aceb40
+madd $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffffdd7702fd, LO 0xffffffff86326a9c
+madd $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xffffffffe09f9390, LO 0xffffffffee9450da
+madd $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xffffffffe55cf59b, LO 0xb174b7e
+madd $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x1b6111c7, LO 0x34762b68
+madd $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x187537fc, LO 0x2458a874
+madd $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x219846ed, LO 0xffffffffeccede92
+madd $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x1ebc2394, LO 0xffffffffb9abd7c6
+madd $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x17384928, LO 0x2b2dd6d4
+madd $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x14351d45, LO 0xffffffff99111a08
+madd $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x1cbe9f24, LO 0x4ef266
+madd $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x19ec038b, LO 0xfffffffff6cc38f2
+madd $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0xbd9a3f2, LO 0x101262f0
+madd $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0xe9df6c0, LO 0xffffffffadad206c
+madd $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1211045e, LO 0xffffffff8a95374a
+madd $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x15a52908, LO 0xffffffffdbd5f18e
+madd $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x110437b, LO 0x5569b60c
+madd $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x3bd50f9, LO 0x7b44b850
+madd $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x5d663fd, LO 0xffffffffffb492ee
+madd $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0x9741ce0, LO 0x27d618ea
+madd $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x7897ab07, LO 0x0
+madd $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x63e01a51, LO 0xffffffffe739f0c4
+madd $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x71159069, LO 0x0
+madd $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x5a47373a, LO 0x211b5156
+madd $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x5bc632d8, LO 0x561d1e64
+madd $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x60d1bb3b, LO 0xffffffffda49dbf8
+madd $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x512d1cd5, LO 0x472feab6
+madd $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x56697809, LO 0xffffffff8262a522
+madd $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x587d25fd, LO 0xffffffffca808a40
+madd $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x53304fa5, LO 0xffffffffacd5cd9c
+madd $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x4e9434e4, LO 0x1391adda
+madd $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x4a16addf, LO 0x7620f47e
+madd $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4c85a34f, LO 0xffffffffecb163fc
+madd $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x47410dae, LO 0x3845e0e0
+madd $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x416b5b01, LO 0x395a171e
+madd $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x3d176ade, LO 0x5ac9103a
+madd $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffa319af83, LO 0x354db6c8
+madd $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xffffffff9fa43132, LO 0x77eeaa14
+madd $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xffffffff9dc50b22, LO 0x16a8f632
+madd $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xffffffff9bfed37c, LO 0x3ce76d26
+madd $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xffffffffbc06aba7, LO 0xffffffffd8dddbb4
+madd $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xffffffffb889bb33, LO 0xffffffffb67f2828
+madd $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xffffffffb3e11ea6, LO 0xffffffff9ef0f286
+madd $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffb1f4aa6a, LO 0xa903bd2
+madd $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x6f79a3b3, LO 0xffffffff96c63610
+madd $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x3f9b762c
+madd $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x32d850f5
+madd $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x6e8e66eb, LO 0x1cb1e4ae
+madd $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffff8986351d, LO 0x6d35b2ac
+madd $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffff8c38eeb3, LO 0x589740b0
+madd $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xffffffff8160d378, LO 0x15f6e34e
+madd $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffff85642497, LO 0x1df9ed8a
+madd $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffffd6c4df18, LO 0xffffffff84fafa38
+madd $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffffdb41d5d9, LO 0xffffffffc66a8824
+madd $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xffffffffe14f8c81, LO 0xffffffffa34c2ae2
+madd $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xffffffffe77c0bd4, LO 0xffffffffb4bd34f6
+madd $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xfffffffff0807ab5, LO 0xfffffffff732fa84
+madd $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xfffffffff516008a, LO 0xffffffffaba1acd8
+madd $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xfffffffff87a9634, LO 0xf6bfb96
+madd $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xfffffffffea05eaa, LO 0x453cb142
+madd $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffac0dd5e3, LO 0x60d2a820
+madd $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffa6bb2e02, LO 0xffffffffe9a1f4bc
+madd $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffb71950ee, LO 0xffffffffea35b6fa
+madd $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffb336043e, LO 0xffffffffc9e3005e
+madd $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffc5276e43, LO 0xffffffffb56afe5c
+madd $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffbfed3ef7, LO 0xffffffffbbf9f180
+madd $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xffffffffcce2f86f, LO 0xbb63dbe
+madd $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffc8f8dea2, LO 0xffffffffbd82b49a
+madd $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x590a1f37, LO 0x2d717406
+madd $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x5e7637db, LO 0x7a22fe52
+madd $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x4f027f44, LO 0x2ce4b134
+madd $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x53beadf8, LO 0x26d3bea8
+madd $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x613ec3eb, LO 0x1bda40b2
+madd $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x66a41143, LO 0x3aaaf6a6
+madd $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x57c7ed77, LO 0x38953548
+madd $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x5c9c966f, LO 0xffffffffb043e794
+madd $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4eb11e1e, LO 0xfffffffff52bf1ce
+madd $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4a0d56c0, LO 0xffffffffbdd93b0a
+madd $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x442ac037, LO 0x5c8ced2c
+madd $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x3f173b0a, LO 0xffffffffa89c3a30
+madd $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x55854c21, LO 0x46b3f4aa
+madd $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x50dacc36, LO 0x33c0eb2e
+madd $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x4c4f166e, LO 0x555d4790
+madd $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x47541e85, LO 0x146bbacc
+madd $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x1596e50b, LO 0xffffffff8dc72d16
+madd $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x13119304, LO 0xffffffff844623c2
+madd $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x1b6faf5f, LO 0xffffffffc9608004
+madd $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x183af471, LO 0xffffffffde80f358
+madd $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x1cb9a637, LO 0x6e86a562
+madd $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x32d850f5, LO 0x0
+madd $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x3f9b762c, LO 0x0
+madd $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x2026e41f, LO 0xffffffffe618f5a4
+madd $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x227e9fe, LO 0xffffffffba5cfc3e
+madd $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x5925f13, LO 0x4d3fb21a
+madd $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0x7c0fa80, LO 0x6747e8dc
+madd $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xabbec5c, LO 0xffffffff8a289b00
+madd $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0xa299428, LO 0xffffffffcebcac7a
+madd $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0xd6dca76, LO 0xffffffffa70036de
+madd $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x10d2f1a7, LO 0x6bfe9a0
+madd $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x13c66f0f, LO 0xffffffffc4a0f73c
+madd $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xffffffffed6eaa31, LO 0xffffffffaa71d0e6
+madd $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xfffffffff3409bac, LO 0xffffffff8784d672
+madd $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xfffffffff6944d39, LO 0xffffffff88f2a154
+madd $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xfffffffffb56e3c3, LO 0x3de02388
+madd $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffffd8656e4a, LO 0xffffffffe7d23412
+madd $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffffde60f477, LO 0xffffffff83c4ee46
+madd $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xffffffffe47b1059, LO 0x1b8b0ce8
+madd $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xffffffffe945e549, LO 0x39b7caf4
+madd $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffc6c038bd, LO 0x120be46e
+madd $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffc301dc20, LO 0xffffffffd55b2b6a
+madd $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xffffffffd0247ba7, LO 0x6af71b8c
+madd $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xffffffffca96f26b, LO 0xffffffffe74c5ed0
+madd $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffa89676c5, LO 0xffffffffd2cc11ca
+madd $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x71159069
+madd $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffb52b59a5, LO 0xffffffff95eeb170
+madd $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x7897ab07
+madd $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xffffffffb9e8dc93, LO 0x77615936
+madd $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xffffffffb7cd2449, LO 0x4dbdd2a2
+madd $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xffffffffb32e1064, LO 0xffffffffcbd3f8e4
+madd $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffb003040e, LO 0xffffffffa676f578
+madd $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffa4126994, LO 0x4d68b102
+madd $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xffffffffa20043d1, LO 0xfffffffffaa5f7d6
+madd $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffa0073714, LO 0x1c43e018
+madd $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffff9cc4e39d, LO 0x7f272344
+madd $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffff8a6143df, LO 0xffffffff8656f89e
+madd $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffff8eb5decf, LO 0xffffffff8e57b2ba
+madd $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xffffffff83a65dd1, LO 0x299fd97c
+madd $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffff862b889b, LO 0xffffffffbc3a9760
+madd $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x6d28e300, LO 0x6b3f185a
+madd $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x71870781, LO 0xffffffff9ce01dfe
+madd $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x69ddf7af, LO 0xffffffffd2efe8c0
+madd $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x6c4bd212, LO 0xffffffffe38b6b1c
+madd $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x5669b607, LO 0xffffffff9a0a8b12
+madd $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x512e5325, LO 0x7e059146
+madd $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x4b7fc3b2, LO 0x1829a9e8
+madd $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x471527f8, LO 0x1a222bf4
+madd $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4e65ac25, LO 0x2eee2be6
+madd $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x49120be1, LO 0x16916572
+madd $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x448c31e4, LO 0x26c55a54
+madd $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x4027fea3, LO 0xffffffff86069888
+madd $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x61ad8715, LO 0xffffffffff4deeca
+madd $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x66c1c312, LO 0xffffffffbf31b40e
+madd $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x574436ee, LO 0xffffffff8f1ad070
+madd $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x5c6967f1, LO 0xffffffff9ba090ec
+madd $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x58c7e212, LO 0xffffffffacdad56e
+madd $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x5dc3f3e9, LO 0x6295506a
+madd $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x4f2fa8f2, LO 0xfffffffff960268c
+madd $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x545b5573, LO 0xffffffffa85c25d0
+madd $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0xb087dbe, LO 0x5865a202
+madd $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0xdbc4f4a, LO 0xffffffff82321cd6
+madd $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0xfff3779, LO 0xfffffffff89aeb18
+madd $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x138392a7, LO 0x13c8ea44
+madd $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x1d669c6, LO 0xffffffffb3113636
+madd $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x4917fc5, LO 0xffffffffbf86fba2
+madd $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0x81d423a, LO 0xfffffffff7ee17e4
+madd $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xbc80c5b, LO 0x4865d878
+madd $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x1d2d30dc, LO 0x4289735a
+madd $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x1a314a20, LO 0xfffffffff89eacfe
+madd $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x22e3d060, LO 0xffffffffefd0a1c0
+madd $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x1ff857b8, LO 0x2123e01c
+madd $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x155a29ee, LO 0x665d4f9e
+madd $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x126592b7, LO 0x3c4a55ba
+madd $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x1ba14746, LO 0x264c767c
+madd $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x18dc4842, LO 0x2716f860
+madd $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffab244897, LO 0x16946bb2
+madd $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffa5ded784, LO 0xfffffffff5f9f5a6
+madd $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffb2af8c63, LO 0x61a53e48
+madd $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffaeda4fa4, LO 0x5dad4c94
+madd $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffc5fe826e, LO 0x3ae8bb06
+madd $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffc0b09404, LO 0xfffffffff5a4f152
+madd $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xffffffffd0fa168c, LO 0x4bc1be34
+madd $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffffccfba61d, LO 0x737fefa8
+madd $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffffda8207eb, LO 0x79c075aa
+madd $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffffdf0cca20, LO 0xffffffff8f3d402e
+madd $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xffffffffe24c8df7, LO 0x49036290
+madd $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xffffffffe887b015, LO 0xffffffff94be31cc
+madd $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xffffffffecbad801, LO 0xffffffffdaec7ece
+madd $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xfffffffff13d0b97, LO 0x991740a
+madd $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xfffffffff7350f10, LO 0x1df73c2c
+madd $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xfffffffffd46ec86, LO 0x303aad30
+madd $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x6fb49ccf, LO 0xffffffff86793262
+madd $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x7262a36d, LO 0x212c2776
+madd $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x675f7227, LO 0x3d93f7b8
+madd $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x6b7df175, LO 0x34568a4
+madd $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffff899c3c1c, LO 0xe05ae16
+madd $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffff8c61c2dc, LO 0xffffffffb71078c2
+madd $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xffffffff84773a71, LO 0x21f89b04
+madd $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffff888c0026, LO 0x49616a58
+madd $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffa630535f, LO 0xfffffffff105f37a
+madd $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xffffffffa2ae2bdb, LO 0xffffffffbd3029de
+madd $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffff9ddb6cbd, LO 0x52aef6a0
+madd $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffff9c09a40a, LO 0xffffffffc8bb283c
+madd $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffb937e8a1, LO 0x20e9273e
+madd $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xffffffffb5cd3841, LO 0xffffffffee3cb11a
+madd $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0xffffffffb5365d03, LO 0x0
+madd $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0xffffffffb1f740b4, LO 0x0
+maddu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0xffffffffb1f740b4
+maddu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0xffffffffb5365d03
+maddu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x105c3344, LO 0xffffffff9d2ff186
+maddu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0x1709cfe6, LO 0xffffffffd05a66d2
+maddu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x1f1f5b5b, LO 0x58a9e7c8
+maddu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x273417b4, LO 0xffffffffe11bb714
+maddu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x2c49ba3a, LO 0x4e1ae932
+maddu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x330ee2b9, LO 0xffffffff826eb426
+maddu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x3c9e2e8a, LO 0xffffffffbb5829ac
+maddu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x36cc69d4, LO 0xffffffff926d5bb0
+maddu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x4cf9da27, LO 0x2603384e
+maddu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x45774709, LO 0x7d766e8a
+maddu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x509b4c6d, LO 0x5334a910
+maddu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x4abfb966, LO 0xffffffff8c01374c
+maddu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x5e0602c3, LO 0x7217682a
+maddu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x569b1b40, LO 0xffffffffd7e271ae
+maddu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0xffffffff978407a2, LO 0xffffffffe20f6d84
+maddu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0xffffffff8faf162b, LO 0xffffffffce4dfbd8
+maddu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0xffffffff88002b29, LO 0xffffffffb8623496
+maddu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x7ebb1637, LO 0xffffffff8a3f3e42
+maddu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0xffffffffb7d01e56, LO 0x248b7138
+maddu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0xffffffffafd1fd7e, LO 0xffffffffd752a324
+maddu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0xffffffffa4db212f, LO 0x20067fe2
+maddu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0xffffffff9b8d5315, LO 0xb0bb5f6
+maddu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0xffffffffc53f9d31, LO 0xffffffffe5552f5c
+maddu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xffffffffcf7b01bf, LO 0xffffffffbc18fe80
+maddu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0xffffffffb57a623f, LO 0x647630be
+maddu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0xffffffffbe0551eb, LO 0xffffffffaa3bfb9a
+maddu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xffffffffd82acf2c, LO 0xffffffffad7a0d20
+maddu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0xffffffffe23d2a92, LO 0xffffffffaff3fdbc
+maddu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0xffffffffc5b592ab, LO 0x46c2b5fa
+maddu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0xffffffffce37efb8, LO 0x67df2b5e
+maddu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffb0ffff21, LO 0xffffffffb8c837d4
+maddu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffffb883f29c, LO 0xffffffffb67fb708
+maddu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xffffffffa4072044, LO 0xffffffffcaff9566
+maddu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffffaababa26, LO 0xfffffffff5948ff2
+maddu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffab2017f3, LO 0xffffffffd0cca068
+maddu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffb2caadeb, LO 0xffffffff9dfb6174
+maddu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffff9cd74572, LO 0xffffffffa94b6d92
+maddu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xffffffffa39217c0, LO 0xfffffffff3b832c6
+maddu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xffffffffc9f367b2, LO 0xffffffff9a16990c
+maddu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xffffffffc3078929, LO 0x4820d750
+maddu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xffffffffbc3adffb, LO 0xe3bbbee
+maddu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffb53ee747, LO 0x247f5ea
+maddu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffc0b2c02a, LO 0xffffffff837229f0
+maddu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xffffffffb9ed67ac, LO 0x66c62b6c
+maddu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xffffffffb2696633, LO 0xfffffffff2df5c4a
+maddu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xffffffffab74891a, LO 0xffffffffc994e28e
+maddu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x288dc303, LO 0x39eee564
+maddu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0x20231919, LO 0xffffffff8970e6f8
+maddu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x3b744ae6, LO 0xfffffffff12c0fb6
+maddu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0x32392d5b, LO 0x3bef9622
+maddu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x239f833d, LO 0x4b2bd198
+maddu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x1b3b3de9, LO 0x3d240fc4
+maddu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x3575e334, LO 0x6fc0f482
+maddu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x2c22c4aa, LO 0xffffffffb05b2e56
+maddu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0x32627eca, LO 0xffffffffd799d8fc
+maddu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0x3b87cf82, LO 0x76d699e0
+maddu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0x44cac726, LO 0x6528a61e
+maddu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0x4ddf5315, LO 0x7e036b3a
+maddu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0x28541eeb, LO 0xffffffff89aceb40
+maddu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0x317faef4, LO 0xffffffff86326a9c
+maddu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0x39eb20be, LO 0xffffffffee9450da
+maddu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0x42e78634, LO 0xb174b7e
+maddu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x4fe7823e, LO 0x34762b68
+maddu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x48bca5bc, LO 0x2458a874
+maddu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x5e9c9206, LO 0xffffffffeccede92
+maddu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x58817a42, LO 0xffffffffb9abd7c6
+maddu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x3eba4fd3, LO 0x2b2dd6d4
+maddu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x37783861, LO 0xffffffff99111a08
+maddu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x4abedce9, LO 0x4ef266
+maddu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x44ad23fd, LO 0xfffffffff6cc38f2
+maddu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x1e6841c1, LO 0x101262f0
+maddu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x24ed7738, LO 0xffffffffadad206c
+maddu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x2d1daaff, LO 0xffffffff8a95374a
+maddu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x3572e41e, LO 0xffffffffdbd5f18e
+maddu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x29b2e8e, LO 0x5569b60c
+maddu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x909479d, LO 0x7b44b850
+maddu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0xddf347a, LO 0xffffffffffb492ee
+maddu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0x163deaaa, LO 0x27d618ea
+maddu $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x7897ab07, LO 0x0
+maddu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0xffffffffe036d101, LO 0xffffffffe739f0c4
+maddu $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x71159069, LO 0x0
+maddu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0xffffffffd01bc518, LO 0x211b5156
+maddu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0xffffffffc75a10b3, LO 0x561d1e64
+maddu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xffffffffd0247ba7, LO 0xffffffffda49dbf8
+maddu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0xffffffffb33f038a, LO 0x472feab6
+maddu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0xffffffffbd3a730b, LO 0xffffffff8262a522
+maddu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0xffffffffb71c6cbc, LO 0xffffffffca808a40
+maddu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0xffffffffad8eaaad, LO 0xffffffffacd5cd9c
+maddu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0xffffffffa5b1b2b5, LO 0x1391adda
+maddu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0xffffffff9df30e45, LO 0x7620f47e
+maddu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0xffffffff9a20d3b2, LO 0xffffffffecb163fc
+maddu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0xffffffff909b3b82, LO 0x3845e0e0
+maddu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0xffffffff8584660e, LO 0x395a171e
+maddu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x7def8198, LO 0x5ac9103a
+maddu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffc06c35a6, LO 0x354db6c8
+maddu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xffffffffb937ccc6, LO 0x77eeaa14
+maddu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xffffffffb295c86f, LO 0x16a8f632
+maddu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xffffffffac107476, LO 0x3ce76d26
+maddu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xffffffffca5d9ca6, LO 0xffffffffd8dddbb4
+maddu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xffffffffc321a87b, LO 0xffffffffb67f2828
+maddu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xffffffffbbb5ea37, LO 0xffffffff9ef0f286
+maddu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffb50a8090, LO 0xa903bd2
+maddu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffaad40f4e, LO 0xffffffff96c63610
+maddu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x3f9b762c
+maddu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x32d850f5
+maddu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xffffffffa4a7b42d, LO 0x1cb1e4ae
+maddu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffb1e45264, LO 0x6d35b2ac
+maddu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffffb8d7efa3, LO 0x589740b0
+maddu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xffffffffa33cf9a1, LO 0x15f6e34e
+maddu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffffaa816035, LO 0x1df9ed8a
+maddu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0x28083c6b, LO 0xffffffff84fafa38
+maddu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0x30c416bd, LO 0xffffffffc66a8824
+maddu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0x3a10f2be, LO 0xffffffffa34c2ae2
+maddu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0x437c875e, LO 0xffffffffb4bd34f6
+maddu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0x32c7a644, LO 0xfffffffff732fa84
+maddu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0x3b9c36c2, LO 0xffffffffaba1acd8
+maddu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0x443fa715, LO 0xf6bfb96
+maddu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0x4da46c00, LO 0x453cb142
+maddu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x235986ce, LO 0x60d2a820
+maddu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x1a45db5e, LO 0xffffffffe9a1f4bc
+maddu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x35e2dc73, LO 0xffffffffea35b6fa
+maddu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x2d3e9a70, LO 0xffffffffc9e3005e
+maddu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0x2977347a, LO 0xffffffffb56afe5c
+maddu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0x207c1a77, LO 0xffffffffbbf9f180
+maddu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0x3ab0f5c8, LO 0xbb63dbe
+maddu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x3205bf90, LO 0xffffffffbd82b49a
+maddu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0xffffffffc2170025, LO 0x2d717406
+maddu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0xffffffffcc443534, LO 0x7a22fe52
+maddu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0xffffffffaf915ac4, LO 0x2ce4b134
+maddu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0xffffffffb80e742f, LO 0x26d3bea8
+maddu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0xffffffffdb475a1d, LO 0x1bda40b2
+maddu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0xffffffffe56d9cc8, LO 0x3aaaf6a6
+maddu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0xffffffffcb529ad3, LO 0x38953548
+maddu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0xffffffffd3e8475a, LO 0xffffffffb043e794
+maddu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0xffffffff9db52b74, LO 0xfffffffff52bf1ce
+maddu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0xffffffff95d267a1, LO 0xffffffffbdd93b0a
+maddu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0xffffffff8ab0f66f, LO 0x5c8ced2c
+maddu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0xffffffff815e6699, LO 0xffffffffa89c3a30
+maddu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0xffffffffb185c7ab, LO 0x46b3f4aa
+maddu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0xffffffffa99c3273, LO 0x33c0eb2e
+maddu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0xffffffffa1d15752, LO 0x555d4790
+maddu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0xffffffff98977bd8, LO 0x146bbacc
+maddu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x3ab420a9, LO 0xffffffff8dc72d16
+maddu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x34edb92d, LO 0xffffffff844623c2
+maddu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x480eb04f, LO 0xffffffffc9608004
+maddu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x409911b8, LO 0xffffffffde80f358
+maddu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x52d2f379, LO 0x6e86a562
+maddu $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x32d850f5, LO 0x0
+maddu $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x3f9b762c, LO 0x0
+maddu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x5b814fba, LO 0xffffffffe618f5a4
+maddu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x53dc024, LO 0xffffffffba5cfc3e
+maddu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0xd672aa4, LO 0x4d3fb21a
+maddu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0x1258e7c8, LO 0x6747e8dc
+maddu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0x1912dd5b, LO 0xffffffff8a289b00
+maddu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1a3b3522, LO 0xffffffffcebcac7a
+maddu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x223e87c3, LO 0xffffffffa70036de
+maddu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x2a668d3b, LO 0x6bfe9a0
+maddu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x3118f532, LO 0xffffffffc4a0f73c
+maddu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0x2e46c0eb, LO 0xffffffffaa71d0e6
+maddu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0x3759a6b9, LO 0xffffffff8784d672
+maddu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0x3fee7b0d, LO 0xffffffff88f2a154
+maddu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0x48f21426, LO 0x3de02388
+maddu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0x2c41ceb0, LO 0xffffffffe7d23412
+maddu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0x357e7248, LO 0xffffffff83c4ee46
+maddu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0x3ed96b61, LO 0x1b8b0ce8
+maddu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0x47e52c08, LO 0x39b7caf4
+maddu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0x2d9133bf, LO 0x120be46e
+maddu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0x2513c2d5, LO 0xffffffffd55b2b6a
+maddu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x3f773c13, LO 0x6af71b8c
+maddu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x362ad046, LO 0xffffffffe74c5ed0
+maddu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0x1e6b04a3, LO 0xffffffffd2cc11ca
+maddu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x71159069
+maddu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x31821055, LO 0xffffffff95eeb170
+maddu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x7897ab07
+maddu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xffffffffc6b2aa5d, LO 0x77615936
+maddu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xffffffffbfd5f4c6, LO 0x4dbdd2a2
+maddu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xffffffffb87a0708, LO 0xffffffffcbd3f8e4
+maddu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffb18def21, LO 0xffffffffa676f578
+maddu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffc3e024aa, LO 0x4d68b102
+maddu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xffffffffbd0cea72, LO 0xfffffffffaa5f7d6
+maddu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffb656b78c, LO 0x1c43e018
+maddu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffffaf53816c, LO 0x7f272344
+maddu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffffb5226451, LO 0xffffffff8656f89e
+maddu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffffbcb61c94, LO 0xffffffff8e57b2ba
+maddu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xffffffffa6e978ed, LO 0x299fd97c
+maddu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffadad8f46, LO 0xffffffffbc3a9760
+maddu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xffffffffa6ee39ae, LO 0x6b3f185a
+maddu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffae8b529a, LO 0xffffffff9ce01dfe
+maddu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffff9a25656f, LO 0xffffffffd2efe8c0
+maddu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffffa0d24289, LO 0xffffffffe38b6b1c
+maddu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0xffffffffb3f446a0, LO 0xffffffff9a0a8b12
+maddu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0xffffffffaa79e053, LO 0x7e059146
+maddu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0xffffffff9f886fa9, LO 0x1829a9e8
+maddu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0xffffffff97dede38, LO 0x1a222bf4
+maddu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0xffffffff9cf4926a, LO 0x2eee2be6
+maddu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0xffffffff936207d3, LO 0x16916572
+maddu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0xffffffff8b990f0f, LO 0x26c55a54
+maddu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0xffffffff83f5bf3f, LO 0xffffffff86069888
+maddu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0xffffffffdd300436, LO 0xffffffffff4deeca
+maddu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0xffffffffe60523a8, LO 0xffffffffbf31b40e
+maddu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0xffffffffc9447d3d, LO 0xffffffff8f1ad070
+maddu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0xffffffffd32ac3e9, LO 0xffffffff9ba090ec
+maddu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0xffffffffc14dee0f, LO 0xffffffffacdad56e
+maddu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0xffffffffca0b0a33, LO 0x6295506a
+maddu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0xffffffffb033d985, LO 0xfffffffff960268c
+maddu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0xffffffffba208297, LO 0xffffffffa85c25d0
+maddu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x1ca3c9a7, LO 0x5865a202
+maddu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x2316a5a8, LO 0xffffffff82321cd6
+maddu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x2818a800, LO 0xfffffffff89aeb18
+maddu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x305bffd7, LO 0x13c8ea44
+maddu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x475a6fb, LO 0xffffffffb3113636
+maddu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0xaefa047, LO 0xffffffffbf86fba2
+maddu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0x133a4895, LO 0xfffffffff7ee17e4
+maddu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0x1ba42847, LO 0x4865d878
+maddu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x54c0d72d, LO 0x4289735a
+maddu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x4d840606, LO 0xfffffffff89eacfe
+maddu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x60f56d9f, LO 0xffffffffefd0a1c0
+maddu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x5ac8d840, LO 0x2123e01c
+maddu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x39f1fa7b, LO 0x665d4f9e
+maddu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x32bc5ff1, LO 0x3c4a55ba
+maddu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x48b73329, LO 0x264c767c
+maddu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x42b13e96, LO 0x2716f860
+maddu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x1f82af64, LO 0x16946bb2
+maddu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x167e52fe, LO 0xfffffffff5f9f5a6
+maddu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0x308bea06, LO 0x61a53e48
+maddu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x27f78fb8, LO 0x5dad4c94
+maddu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0x2d58927f, LO 0x3ae8bb06
+maddu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0x244ba1aa, LO 0xfffffffff5a4f152
+maddu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x3fd2420b, LO 0x4bc1be34
+maddu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0x3714dce5, LO 0x737fefa8
+maddu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0x2cd89360, LO 0x79c075aa
+maddu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0x35a460e2, LO 0xffffffff8f3d402e
+maddu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0x3e213e12, LO 0x49036290
+maddu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0x479d5dc1, LO 0xffffffff94be31cc
+maddu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0x2e0dd5aa, LO 0xffffffffdaec7ece
+maddu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0x36d0ebb5, LO 0x991740a
+maddu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0x4005d5d7, LO 0x1df73c2c
+maddu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0x4958c7f6, LO 0x303aad30
+maddu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xffffffffa8045a8c, LO 0xffffffff86793262
+maddu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffaef14377, LO 0x212c2776
+maddu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffff992cf8fa, LO 0x3d93f7b8
+maddu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffffa08a8cd9, LO 0x34568a4
+maddu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffffb4e8077d, LO 0xe05ae16
+maddu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffffbbec99b2, LO 0xffffffffb71078c2
+maddu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xffffffffa7412a80, LO 0x21f89b04
+maddu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffffae94edde, LO 0x49616a58
+maddu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffc477a364, LO 0xfffffffff105f37a
+maddu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xffffffffbd34798d, LO 0xffffffffbd3029de
+maddu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffffb5a0d828, LO 0x52aef6a0
+maddu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffffaf0e1ae6, LO 0xffffffffc8bb283c
+maddu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffc67b0f7a, LO 0x20e9273e
+maddu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xffffffffbf4f73af, LO 0xffffffffee3cb11a
+maddu $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0xffffffffb5365d03, LO 0x0
+maddu $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0xffffffffb1f740b4, LO 0x0
+msub $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0xffffffffb1f740b4
+msub $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0xffffffffb5365d03
+msub $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0xc2a7f06, LO 0xffffffffd3bb062e
+msub $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0x10bfa4a5, LO 0xffffffffa90e6608
+msub $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x19ee0939, LO 0xffffffffed3c8508
+msub $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x201c2a8d, LO 0x6b48a0aa
+msub $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x23492edd, LO 0x8c730da
+msub $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x27c70d56, LO 0xffffffffdcf16d3c
+msub $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x357c9a9e, LO 0x74a7306c
+msub $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x31916659, LO 0xffffffff941005c6
+msub $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x41a6aa5c, LO 0x16f7f476
+msub $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x3c6c1b1a, LO 0xffffffffb802a920
+msub $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x4e8a85bf, LO 0xffffffffb6c30e90
+msub $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x4aa8db13, LO 0x74745582
+msub $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x57a5dd5b, LO 0xffffffffa8dc5952
+msub $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x52541df7, LO 0x3b8f8864
+msub $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4cb18aaf, LO 0x19bdca04
+msub $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x4ac33e2b, LO 0x2401110e
+msub $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x48bb7532, LO 0x30670cbe
+msub $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x453de2c5, LO 0x570c3bf8
+msub $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x6570eaaf, LO 0xffffffffb93a68f8
+msub $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x63ac12d3, LO 0xfffffffffcf53e3a
+msub $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x5eeba318, LO 0xffffffffaebb2d0a
+msub $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x5b764f4b, LO 0xffffffffbc37e18c
+msub $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x790c0727, LO 0xffffffffd287bd9c
+msub $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x7d0d80bf, LO 0x245d916
+msub $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x7556c6b4, LO 0x40626966
+msub $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x7808de49, LO 0x31ea5b0
+msub $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xffffffff932cf110, LO 0xffffffffe459f420
+msub $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0xffffffff9757ee57, LO 0xffffffffe8623c72
+msub $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0xffffffff8c28dfc4, LO 0x3c0dc1a2
+msub $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0xffffffff8ee344b0, LO 0x23732194
+msub $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffa91c64f2, LO 0xffffffff9ae1b4d4
+msub $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffffae574ff4, LO 0xffffffffa3ac20be
+msub $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xffffffff9f92c811, LO 0x75ae050e
+msub $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffffa49e36d8, LO 0x539b1128
+msub $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffa5ffe90c, LO 0xffffffffa4d460a8
+msub $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffab14aa69, LO 0xffffffffde27d90a
+msub $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffff9bc76d17, LO 0xffffffffbd5a0a3a
+msub $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xffffffffa0cb5c5a, LO 0x7b6f19dc
+msub $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xffffffffc23f6ae9, LO 0xffffffff85a19ecc
+msub $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xffffffffbdea0b0f, LO 0xffffffffce193566
+msub $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xffffffffb97600f2, LO 0xfffffffffe808516
+msub $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffb43150f0, LO 0x2f68480
+msub $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffb684080d, LO 0xffffffffb63eb070
+msub $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xffffffffb2086940, LO 0xffffffffc96cb5a2
+msub $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xffffffffac4b1dfe, LO 0x37d55072
+msub $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xffffffffa6fed988, LO 0x59a1b544
+msub $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffe59c4541, LO 0xffffffff919b74e4
+msub $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffe2c7f7c8, LO 0x38977a2e
+msub $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xffffffffec33795f, LO 0xffffffffe7621cde
+msub $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffffe92f7534, LO 0xffffffff951c81d8
+msub $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffe18e0f53, LO 0xffffffffa256e658
+msub $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffdeb3165c, LO 0xffffffffa6dc7cda
+msub $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffe735bda6, LO 0xffffffff8ec5ccaa
+msub $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffe44a33a1, LO 0x46a9cbec
+msub $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xfffffffff5e04221, LO 0xffffffffb001a83c
+msub $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xfffffffff97c48e7, LO 0x17432076
+msub $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xfffffffffcf6ab58, LO 0x2f7751c6
+msub $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffffa2e112, LO 0x1f1a6150
+msub $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffffeaf3853d, LO 0x17e68140
+msub $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffffee88d389, LO 0x21deed52
+msub $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xfffffffff0da07a3, LO 0xffffffffc402c982
+msub $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xfffffffff39eaabf, LO 0xffffffffaffdd5b4
+msub $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x4dabcf27, LO 0xffffffffd66c361e
+msub $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x4819a384, LO 0xffffffffdf07b274
+msub $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x58704f45, LO 0x2d1738c8
+msub $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x54ce89c8, LO 0x56b8546e
+msub $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x37cbc42f, LO 0x1bcb56a
+msub $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x325118f3, LO 0xffffffff8c579d48
+msub $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x3f41dc67, LO 0x3fa0087c
+msub $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x3b963d59, LO 0x3fa0889a
+msub $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x194397ad, LO 0x36e15806
+msub $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x1e010a30, LO 0xffffffffa1c4612c
+msub $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x240848e4, LO 0xffffffffcb6294e0
+msub $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x29f64d24, LO 0xffffffff80a005b6
+msub $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x20592ac, LO 0xb91a142
+msub $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x6da9c4f, LO 0xffffffffee34b3d0
+msub $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0xa3b3cfd, LO 0x744a8ea4
+msub $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0x101f7eb5, LO 0x52a70212
+msub $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x7897ab07, LO 0x0
+msub $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0xffffffff94cd530f, LO 0xffffffffb409fb44
+msub $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x71159069, LO 0x0
+msub $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0xffffffff9161e483, LO 0x672c497e
+msub $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x7b6188df, LO 0x5eac1c7a
+msub $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x7dd3c59d, LO 0xffffffffe30125b8
+msub $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x72f6b096, LO 0x609d614c
+msub $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x77387dfc, LO 0x2becd24a
+msub $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x64c16782, LO 0x144f81d6
+msub $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x618c666c, LO 0x2a7c69dc
+msub $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x5fa6c6bf, LO 0xffffffffba42ccf0
+msub $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x5da212ee, LO 0x4e354d26
+msub $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4eb0bd78, LO 0xc277db2
+msub $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x4b734dfb, LO 0xffffffffb914f9e0
+msub $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x46c6bb1a, LO 0xffffffffb2828054
+msub $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x4498c297, LO 0xffffffff87959be2
+msub $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffb631ddab, LO 0x557557e
+msub $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xffffffffb125850d, LO 0xffffffffbb388d14
+msub $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xffffffffac8af0d0, LO 0x12f88468
+msub $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xffffffffa7ceed1f, LO 0xffffffffe33bd4ce
+msub $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xffffffffc33cb4ee, LO 0x43d0064a
+msub $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xffffffffbe37a0c4, LO 0x5eb0b268
+msub $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xffffffffb865f7a3, LO 0x70b8a49c
+msub $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffb3d082b9, LO 0xfffffffffb9b707a
+msub $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffa5e0b2aa, LO 0xffffffffdfeea126
+msub $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x3f9b762c
+msub $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x32d850f5
+msub $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xffffffffa14db501, LO 0x4f80b5d6
+msub $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffa9cc86c8, LO 0xffffffffe38687e2
+msub $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffffae9791d5, LO 0xa6c130
+msub $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xffffffff9ef5f9c2, LO 0x2dc16904
+msub $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffffa470d1bd, LO 0x2c4089b2
+msub $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffffeaa35cb6, LO 0x1d8bc06e
+msub $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffffeda82ac6, LO 0xffffffffe499f9a4
+msub $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xfffffffff11cc091, LO 0xe36a198
+msub $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xfffffffff4726aa8, LO 0x343c21e
+msub $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xfffffffff6e05bc0, LO 0xffffffff8d5b5c9a
+msub $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xfffffffff9ccec8d, LO 0xffffffffe16abf98
+msub $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xfffffffffbea0a76, LO 0xffffffff881e262c
+msub $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xffffffffff463d1a, LO 0x58cb696a
+msub $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffe16c0adb, LO 0xffffffff8dc4b9b6
+msub $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffde40adcd, LO 0xfffffffffd7365fc
+msub $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffe7644574, LO 0x135d6010
+msub $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffe4c9a8ce, LO 0x2a2e2c06
+msub $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffe6499ec3, LO 0x13348e12
+msub $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffe305f771, LO 0x523c580
+msub $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xffffffffeb92836b, LO 0xffffffffcfe5bcf4
+msub $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffe8fe6212, LO 0x14970d42
+msub $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x790fa2a6, LO 0xffffffff8485ccae
+msub $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x7d25c2d8, LO 0x3e527d88
+msub $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x721b37bd, LO 0x760e8534
+msub $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x74e0de77, LO 0xffffffff849d4e5e
+msub $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0xffffffff92d2687a, LO 0x7c256c5a
+msub $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0xffffffff96ef05c8, LO 0x63d29fbc
+msub $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0xffffffff8f4d6d42, LO 0x4c66a688
+msub $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0xffffffff91facb67, LO 0xffffffffdd35f92a
+msub $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4f56fc8f, LO 0x8baa9f6
+msub $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4d7ccb03, LO 0x368b65a0
+msub $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x48e1ac3a, LO 0xffffffff9255ffec
+msub $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x45771c15, LO 0x3ec49c46
+msub $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x627baaf4, LO 0xffffffff953a81d2
+msub $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x60a80045, LO 0xffffffff9eab61e4
+msub $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x5eb56b5b, LO 0x738cb910
+msub $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x5b329c22, LO 0xffffffffacfc8102
+msub $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x34a39231, LO 0xffffffff9c0dc93e
+msub $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x30a6b94e, LO 0xffffffff9c10a978
+msub $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x3dce5281, LO 0x71700084
+msub $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x3881461d, LO 0x54d1c88e
+msub $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x4f78f44d, LO 0xffffffffa155768a
+msub $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x32d850f5, LO 0x0
+msub $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x3f9b762c, LO 0x0
+msub $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x568df317, LO 0x2f4160ba
+msub $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x403c24e, LO 0xffffffffab6830e6
+msub $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0xa173810, LO 0x1f076430
+msub $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xd6ee011, LO 0xf79731c
+msub $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0x11f1f5a2, LO 0xfffffffff51ac596
+msub $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x15f9adcc, LO 0x75111422
+msub $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x1c33b024, LO 0xffffffffa34fc514
+msub $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x22544582, LO 0x4a09cca0
+msub $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x26de9d37, LO 0xffffffff94aa95f2
+msub $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xfffffffff4f001ea, LO 0xffffffffd73e5c8e
+msub $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xfffffffff89bfbc6, LO 0xad3fa8
+msub $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xfffffffffac68d87, LO 0x9c1ba54
+msub $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xfffffffffd81fdeb, LO 0x5d563d3e
+msub $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffffebf0d359, LO 0xffffffffbfe68cba
+msub $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffffef738653, LO 0x2a760d5c
+msub $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xfffffffff2d7271f, LO 0xffffffff9931a928
+msub $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xfffffffff58a26cd, LO 0xffffffff8386c28a
+msub $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffe78f3eaf, LO 0xffffffffbb961196
+msub $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffe4cb6fe1, LO 0xffffffffeec8a200
+msub $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xffffffffed268609, LO 0x73ae654c
+msub $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xffffffffea324872, LO 0xffffffffefdb5ce6
+msub $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffdfb1240f, LO 0x18dd09f2
+msub $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x71159069
+msub $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffe6189263, LO 0x62bebbf0
+msub $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x7897ab07
+msub $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xffffffffc0943e68, LO 0xffffffffa232425e
+msub $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xffffffffbc31fd48, LO 0xffffffffc253ce58
+msub $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xffffffffb64b5bbb, LO 0x3ec3f464
+msub $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffb0f8533f, LO 0x5c9ee0ae
+msub $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffb8638daf, LO 0xfffffffff232c52a
+msub $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xffffffffb3f78858, LO 0x3b73556c
+msub $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffaf6a4a84, LO 0x105b20d8
+msub $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffffaa2ed758, LO 0xffffffffa5f6185a
+msub $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffffac0b7dac, LO 0xffffffffcf2b4846
+msub $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffffb1391c12, LO 0xffffffffcda8c8d0
+msub $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xffffffffa1c2597f, LO 0x1ce65cbc
+msub $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffa6bf03a2, LO 0xffffffff92c975f6
+msub $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xffffffffa33b4934, LO 0x84b9502
+msub $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffa85f0fd8, LO 0xffffffffdd287834
+msub $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffff99826338, LO 0xffffffff8d9ef2c0
+msub $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffff9e968f73, LO 0xffffffff858175d2
+msub $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x64ab6b2c, LO 0x3ef11548
+msub $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x6168c738, LO 0x537409ee
+msub $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x5c91943d, LO 0xffffffffb3d62c9e
+msub $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x5a7e4489, LO 0xffffffffa85bc1f4
+msub $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4eb82066, LO 0xffffffffd00521fc
+msub $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x4b8dec04, LO 0xffffffffe0e0111a
+msub $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x498d8873, LO 0xffffffffc731e0ea
+msub $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x47738296, LO 0x5e6e67c8
+msub $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0xffffffff9557732d, LO 0xffffffff959c8c60
+msub $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0xffffffff97c4fe1a, LO 0xffffffffde368c36
+msub $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0xffffffff8cbc55b0, LO 0xfffffffff8d33d86
+msub $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0xffffffff91194fff, LO 0xfffffffff2cba5ac
+msub $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x784435e9, LO 0x607c124
+msub $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x7aca38ac, LO 0x58cb5d92
+msub $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x72d8b834, LO 0xffffffffa886b9c2
+msub $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x772f04d6, LO 0x8b550
+msub $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x182e1a14, LO 0xffffffffe87274b8
+msub $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x1cf85d72, LO 0xffffffffc72810fe
+msub $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x2033a995, LO 0x5b41754e
+msub $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x262d47ba, LO 0x469570c4
+msub $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x36810a4, LO 0xffffffffb3bfc4cc
+msub $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x82ac13f, LO 0xffffffffafcbc4ca
+msub $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xe1cca7c, LO 0x7de675fa
+msub $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0x13f02b7e, LO 0x33f0de38
+msub $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x51fa1bc6, LO 0xffffffffca405a70
+msub $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x4c742dac, LO 0xcad49a6
+msub $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x593f6a1e, LO 0x2ffd1956
+msub $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x55a8a958, LO 0xfffffffff52ba05c
+msub $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x33d5772c, LO 0xffffffffc463d0d4
+msub $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2e4807bd, LO 0xffffffffe6f8c562
+msub $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x3e8a9081, LO 0x1378e032
+msub $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x3acda467, LO 0x9307560
+msub $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffe02e045b, LO 0xffffffffd22861e8
+msub $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffdcf1a017, LO 0xffffffffeb45014e
+msub $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffe5a6adcb, LO 0xffffffff9a137cfe
+msub $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffe2f9b19c, LO 0xffffffff948d3394
+msub $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffe75c1edc, LO 0xffffffff93cb651c
+msub $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffe428061f, LO 0xffffffffd19129fa
+msub $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xffffffffed64c10a, LO 0xffffffff91ee98ca
+msub $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffffeae146db, LO 0x60b27de8
+msub $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffffecc18f97, LO 0x2aeca140
+msub $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffffefb4e2cc, LO 0x1df1ed56
+msub $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xfffffffff1fb5367, LO 0x6ea5fda6
+msub $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xfffffffff53e2a1b, LO 0x296d298c
+msub $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xfffffffff490a238, LO 0xffffffffa7b97c84
+msub $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xfffffffff78c35bd, LO 0xffffffff81964c32
+msub $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xfffffffffb19fdd6, LO 0x73aa5162
+msub $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xfffffffffe864b02, LO 0x67e909b0
+msub $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xffffffffa3bd5d42, LO 0xffffffffea264918
+msub $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffa8911e0f, LO 0x57f1189e
+msub $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffff99161aa7, LO 0x260715ee
+msub $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffff9e79c62b, LO 0x66d3ce24
+msub $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffffabdcdb8e, LO 0x4891e8ac
+msub $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffffb09969e7, LO 0xffffffffa80534ea
+msub $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xffffffffa2062705, LO 0x239b451a
+msub $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffffa77359f2, LO 0x2b07118
+msub $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffb92fce02, LO 0x4b88ac90
+msub $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xffffffffb433ee30, LO 0x77dc7186
+msub $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffffae88eb00, LO 0xffffffffdcdbe036
+msub $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffffa9dcc8c5, LO 0x5d4dc57c
+msub $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffc030e438, LO 0xfffffffff99d2674
+msub $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xffffffffbb1dbf72, LO 0x24c7c5c2
+msub $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0xffffffffb5365d03, LO 0x0
+msub $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0xffffffffb1f740b4, LO 0x0
+msubu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0xffffffffb1f740b4
+msubu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0xffffffffb5365d03
+msubu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x2a84398, LO 0xffffffffd3bb062e
+msubu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0x37c7dcc, LO 0xffffffffa90e6608
+msubu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x6e9925d, LO 0xffffffffed3c8508
+msubu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x856bf22, LO 0x6b48a0aa
+msubu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x8c2e12b, LO 0x8c730da
+msubu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x97fbd51, LO 0xffffffffdcf16d3c
+msubu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0xf73ace6, LO 0x74a7306c
+msubu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0xec7764a, LO 0xffffffff941005c6
+msubu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x121bd386, LO 0x16f7f476
+msubu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x11204fb9, LO 0xffffffffb802a920
+msubu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x197dea5b, LO 0xffffffffb6c30e90
+msubu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x18db5440, LO 0x74745582
+msubu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x1b173d51, LO 0xffffffffa8dc5952
+msubu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x1a04603a, LO 0x3b8f8864
+msubu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x9faf3f, LO 0x19bdca04
+msubu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x1f27764, LO 0x2401110e
+msubu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x3279514, LO 0x30670cbe
+msubu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x3eae51c, LO 0x570c3bf8
+msubu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x65b3d03, LO 0xffffffffb93a68f8
+msubu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x7d762b8, LO 0xfffffffffcf53e3a
+msubu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x8540c56, LO 0xffffffffaebb2d0a
+msubu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x91fc3d6, LO 0xffffffffbc37e18c
+msubu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0xef2d05f, LO 0xffffffffd287bd9c
+msubu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xe355540, LO 0x245d916
+msubu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x11bbb90e, LO 0x40626966
+msubu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x10aece38, LO 0x31ea5b0
+msubu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x1a0fb0fc, LO 0xffffffffe459f420
+msubu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x197b90b4, LO 0xffffffffe8623c72
+msubu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x1b89644a, LO 0x3c0dc1a2
+msubu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x1a84dde3, LO 0x23732194
+msubu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0x7f476e9e, LO 0xffffffff9ae1b4d4
+msubu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffff81416411, LO 0xffffffffa3ac20be
+msubu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0x7f3bfad7, LO 0x75ae050e
+msubu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffff8006664b, LO 0x539b1128
+msubu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0x6b2f6884, LO 0xffffffffa4d460a8
+msubu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x6d030d2a, LO 0xffffffffde27d90a
+msubu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0x6874b131, LO 0xffffffffbd5a0a3a
+msubu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x6937b609, LO 0x7b6f19dc
+msubu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xffffffffb2634efd, LO 0xffffffff85a19ecc
+msubu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xffffffffb2cd04b4, LO 0xffffffffce193566
+msubu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xffffffffb317e070, LO 0xfffffffffe808516
+msubu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffb19213bb, LO 0x2f68480
+msubu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffff99ab9add, LO 0xffffffffb63eb070
+msubu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xffffffff99eef8b9, LO 0xffffffffc96cb5a2
+msubu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xffffffff96f0c7a0, LO 0x37d55072
+msubu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xffffffff95638d9f, LO 0x59a1b544
+msubu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x7fd7181d, LO 0xffffffff919b74e4
+msubu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffff81c3c735, LO 0x38977a2e
+msubu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x7fec6315, LO 0xffffffffe7621cde
+msubu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffff80a96937, LO 0xffffffff951c81d8
+msubu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x6accb35b, LO 0xffffffffa256e658
+msubu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x6cb2d00d, LO 0xffffffffa6dc7cda
+msubu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x67f25d10, LO 0xffffffff8ec5ccaa
+msubu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x68c7b680, LO 0x46a9cbec
+msubu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xffffffffb2128185, LO 0xffffffffb001a83c
+msubu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xffffffffb26f6bbc, LO 0x17432076
+msubu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xffffffffb2a6af66, LO 0x2f7751c6
+msubu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffb113facd, LO 0x1f1a6150
+msubu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffff9a29cefd, LO 0x17e68140
+msubu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffff9a802792, LO 0x21deed52
+msubu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xffffffff978e7a75, LO 0xffffffffc402c982
+msubu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xffffffff96141a26, LO 0xffffffffaffdd5b4
+msubu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x19255eb0, LO 0xffffffffd66c361e
+msubu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x17d235c4, LO 0xffffffffdf07b274
+msubu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x1b6c042c, LO 0x2d1738c8
+msubu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x1b09331a, LO 0x56b8546e
+msubu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x1049bd84, LO 0x1bcb56a
+msubu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0xf0dfdd7, LO 0xffffffff8c579d48
+msubu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x11419ea2, LO 0x3fa0087c
+msubu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x10d51ce7, LO 0x3fa0889a
+msubu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x6b4f9de, LO 0x36e15806
+msubu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x7b189b8, LO 0xffffffffa1c4612c
+msubu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x8fba243, LO 0xffffffffcb6294e0
+msubu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0xa28920e, LO 0xffffffff80a005b6
+msubu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x7aa799, LO 0xb91a142
+msubu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x18ea5ab, LO 0xffffffffee34b3d0
+msubu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x2326c80, LO 0x744a8ea4
+msubu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0x355b0eb, LO 0x52a70212
+msubu $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x7897ab07, LO 0x0
+msubu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x18769c5f, LO 0xffffffffb409fb44
+msubu $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x71159069, LO 0x0
+msubu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x1b8d56a5, LO 0x672c497e
+msubu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0xfcdab04, LO 0x5eac1c7a
+msubu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xe810531, LO 0xffffffffe30125b8
+msubu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x10e4c9e1, LO 0x609d614c
+msubu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x106782fa, LO 0x2becd24a
+msubu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x62220c3, LO 0x144f81d6
+msubu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x72e0b64, LO 0x2a7c69dc
+msubu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x88948ee, LO 0xffffffffba42ccf0
+msubu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x9c5b288, LO 0x4e354d26
+msubu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x1158d15, LO 0xc277db2
+msubu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x2192027, LO 0xffffffffb914f9e0
+msubu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x2adb00d, LO 0xffffffffb2828054
+msubu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x3c0abdd, LO 0xffffffff87959be2
+msubu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffff98df5788, LO 0x557557e
+msubu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xffffffff9791e979, LO 0xffffffffbb388d14
+msubu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xffffffff97ba3383, LO 0x12f88468
+msubu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xffffffff97bd4c25, LO 0xffffffffe33bd4ce
+msubu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xffffffffb4e5c3ef, LO 0x43d0064a
+msubu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xffffffffb39fb37c, LO 0x5eb0b268
+msubu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xffffffffb0912c12, LO 0x70b8a49c
+msubu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffb0baac93, LO 0xfffffffffb9b707a
+msubu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x6a86470f, LO 0xffffffffdfeea126
+msubu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x3f9b762c
+msubu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x32d850f5
+msubu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x6b3467bf, LO 0x4f80b5d6
+msubu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffff816e6981, LO 0xffffffffe38687e2
+msubu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffff81f890e5, LO 0xa6c130
+msubu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0x7d19d399, LO 0x2dc16904
+msubu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0x7f53961f, LO 0x2c4089b2
+msubu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffff995fff63, LO 0x1d8bc06e
+msubu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffff9825e9e2, LO 0xffffffffe499f9a4
+msubu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xffffffff985b5a54, LO 0xe36a198
+msubu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xffffffff9871ef1e, LO 0x343c21e
+msubu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xffffffffb4993031, LO 0xffffffff8d5b5c9a
+msubu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xffffffffb346b655, LO 0xffffffffe16abf98
+msubu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xffffffffb024f995, LO 0xffffffff881e262c
+msubu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xffffffffb0422fc4, LO 0x58cb696a
+msubu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x6a2059f0, LO 0xffffffff8dc4b9b6
+msubu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x6ab60071, LO 0xfffffffffd7365fc
+msubu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x689ab9ef, LO 0x135d6010
+msubu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x6ac1129c, LO 0x2a2e2c06
+msubu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffff81f9d88c, LO 0x13348e12
+msubu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffff82771bf1, LO 0x523c580
+msubu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0x7dc48612, LO 0xffffffffcfe5bcf4
+msubu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x7ff18124, LO 0x14970d42
+msubu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x1002c1b8, LO 0xffffffff8485ccae
+msubu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0xf57c57f, LO 0x3e527d88
+msubu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x118c5c3d, LO 0x760e8534
+msubu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x10911840, LO 0xffffffff849d4e5e
+msubu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x18c9d248, LO 0x7c256c5a
+msubu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x18257a43, LO 0x63d29fbc
+msubu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x1bc2bfe6, LO 0x4c66a688
+msubu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x1aaf1a7c, LO 0xffffffffdd35f92a
+msubu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x52ef39, LO 0x8baa9f6
+msubu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x1b7ba22, LO 0x368b65a0
+msubu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x25b7602, LO 0xffffffff9255ffec
+msubu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x32ff086, LO 0x3ec49c46
+msubu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x67b2f6a, LO 0xffffffff953a81d2
+msubu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x7e69a08, LO 0xffffffff9eab61e4
+msubu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x9332a77, LO 0x738cb910
+msubu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x9ef3ecf, LO 0xffffffffacfc8102
+msubu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0xf865693, LO 0xffffffff9c0dc93e
+msubu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0xeca9325, LO 0xffffffff9c10a978
+msubu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x112f5191, LO 0x71700084
+msubu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x102328d6, LO 0x54d1c88e
+msubu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x195fa70b, LO 0xffffffffa155768a
+msubu $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x32d850f5, LO 0x0
+msubu $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x3f9b762c, LO 0x0
+msubu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x1b33877c, LO 0x2f4160ba
+msubu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0xedec28, LO 0xffffffffab6830e6
+msubu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x2426c7f, LO 0x1f076430
+msubu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0x2d6f2c9, LO 0xf79731c
+msubu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0x39b04a3, LO 0xfffffffff51ac596
+msubu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x5e80cd2, LO 0x75111422
+msubu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x762f2d7, LO 0xffffffffa34fc514
+msubu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x8c0a9ee, LO 0x4a09cca0
+msubu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x98c1714, LO 0xffffffff94aa95f2
+msubu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xffffffffb417eb30, LO 0xffffffffd73e5c8e
+msubu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xffffffffb482f0b9, LO 0xad3fa8
+msubu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xffffffffb16c5fb3, LO 0x9c1ba54
+msubu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xffffffffafe6cd88, LO 0x5d563d3e
+msubu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffff981472f3, LO 0xffffffffbfe68cba
+msubu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffff98560882, LO 0x2a760d5c
+msubu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xffffffff9878cc17, LO 0xffffffff9931a928
+msubu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xffffffff96eae00e, LO 0xffffffff8386c28a
+msubu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffff80be43ad, LO 0xffffffffbb961196
+msubu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffff82b9892c, LO 0xffffffffeec8a200
+msubu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x7dd3c59d, LO 0x73ae654c
+msubu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x7e9e6a97, LO 0xffffffffefdb5ce6
+msubu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0x69dc9631, LO 0x18dd09f2
+msubu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x71159069
+msubu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x69c1dbb3, LO 0x62bebbf0
+msubu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x7897ab07
+msubu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xffffffffb3ca709e, LO 0xffffffffa232425e
+msubu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xffffffffb4292ccb, LO 0xffffffffc253ce58
+msubu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xffffffffb0ff6517, LO 0x3ec3f464
+msubu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffaf6d682c, LO 0x5c9ee0ae
+msubu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffff9895d299, LO 0xfffffffff232c52a
+msubu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xffffffff98eae1b7, LO 0x3b73556c
+msubu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffff991aca0c, LO 0x105b20d8
+msubu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffff97a03989, LO 0xffffffffa5f6185a
+msubu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffff814a5d3a, LO 0xffffffffcf2b4846
+msubu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffff8338de4d, LO 0xffffffffcda8c8d0
+msubu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0x7e7f3e63, LO 0x1ce65cbc
+msubu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0x7f3cfcf7, LO 0xffffffff92c975f6
+msubu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x6975f286, LO 0x84b9502
+msubu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x6b5ac4bf, LO 0xffffffffdd287834
+msubu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x693af578, LO 0xffffffff8d9ef2c0
+msubu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x6a101efc, LO 0xffffffff858175d2
+msubu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x720da93, LO 0x3ef11548
+msubu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x81d3a0a, LO 0x537409ee
+msubu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x888e846, LO 0xffffffffb3d62c9e
+msubu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x9b48e49, LO 0xffffffffa85bc1f4
+msubu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x293a21, LO 0xffffffffd00521fc
+msubu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x13df012, LO 0xffffffffe0e0111a
+msubu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x280ab48, LO 0xffffffffc731e0ea
+msubu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x3a5c1fa, LO 0x5e6e67c8
+msubu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x19d4f60c, LO 0xffffffff959c8c60
+msubu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x18819d84, LO 0xffffffffde368c36
+msubu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x1abc0f61, LO 0xfffffffff8d33d86
+msubu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x1a57f407, LO 0xfffffffff2cba5ac
+msubu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0xfbe29ec, LO 0x607c124
+msubu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0xe832262, LO 0x58cb5d92
+msubu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x11d487a1, LO 0xffffffffa886b9c2
+msubu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x1169d7b2, LO 0x8b550
+msubu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x692ce2b, LO 0xffffffffe87274b8
+msubu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x79e0714, LO 0xffffffffc72810fe
+msubu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x81a390e, LO 0x5b41754e
+msubu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x954da8a, LO 0x469570c4
+msubu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0xc8d36f, LO 0xffffffffb3bfc4cc
+msubu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x1cca0bd, LO 0xffffffffafcbc4ca
+msubu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0x2ffc421, LO 0x7de675fa
+msubu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0x4140f92, LO 0x33f0de38
+msubu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x1a667575, LO 0xffffffffca405a70
+msubu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x192171c6, LO 0xcad49a6
+msubu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x1b2dccdf, LO 0x2ffd1956
+msubu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x1ad828d0, LO 0xfffffffff52ba05c
+msubu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0xf3da69f, LO 0xffffffffc463d0d4
+msubu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0xdf13a83, LO 0xffffffffe6f8c562
+msubu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x1174a49e, LO 0x1378e032
+msubu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x10f8ae13, LO 0x9307560
+msubu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x6bcf9d8e, LO 0xffffffffd22861e8
+msubu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x6c52249d, LO 0xffffffffeb45014e
+msubu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0x67ca5028, LO 0xffffffff9a137cfe
+msubu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x69dc7188, LO 0xffffffff948d3394
+msubu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffff80020ecb, LO 0xffffffff93cb651c
+msubu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffff808cf879, LO 0xffffffffd19129fa
+msubu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x7e8c958b, LO 0xffffffff91ee98ca
+msubu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffff80c81013, LO 0x60b27de8
+msubu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffff9a6b0422, LO 0x2aeca140
+msubu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffff991d4c0a, LO 0x1df1ed56
+msubu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xffffffff9626a34c, LO 0x6ea5fda6
+msubu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xffffffff96287c6f, LO 0x296d298c
+msubu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xffffffffb33da48f, LO 0xffffffffa7b97c84
+msubu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xffffffffb1f8559f, LO 0xffffffff81964c32
+msubu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xffffffffb249370f, LO 0x73aa5162
+msubu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xffffffffb2746f92, LO 0x67e909b0
+msubu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x6b6d9f85, LO 0xffffffffea264918
+msubu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x6c027e05, LO 0x57f1189e
+msubu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x674893d4, LO 0x260715ee
+msubu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x696d2ac7, LO 0x66d3ce24
+msubu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffff8091102d, LO 0x4891e8ac
+msubu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffff810e9311, LO 0xffffffffa80534ea
+msubu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0x7f3c36f6, LO 0x239b451a
+msubu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffff816a6c3a, LO 0x2b07118
+msubu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffff9ae87dfd, LO 0x4b88ac90
+msubu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xffffffff99ada07e, LO 0x77dc7186
+msubu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffff96c37f95, LO 0xffffffffdcdbe036
+msubu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffff96d851e9, LO 0x5d4dc57c
+msubu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffb2edbd5f, LO 0xfffffffff99d2674
+msubu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xffffffffb19b8404, LO 0x24c7c5c2
+msubu $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0xffffffffb5365d03, LO 0x0
+msubu $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0xffffffffb1f740b4, LO 0x0
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+mul $t0, $t1, $t2 :: rd 0xffffffffe4ba75ac, rs 0x9823b6e, rt 0xffffffffb8757bda
+mul $t0, $t1, $t2 :: rd 0x13a60065, rs 0xd4326d9, rt 0xffffffffbcb4666d
+mul $t0, $t1, $t2 :: rd 0xffffffffb5b6b160, rs 0x130476dc, rt 0xffffffffa2f33668
+mul $t0, $t1, $t2 :: rd 0x3ae98b35, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+mul $t0, $t1, $t2 :: rd 0xffffffffa2a9dc2c, rs 0x1a864db2, rt 0xffffffffab710d06
+mul $t0, $t1, $t2 :: rd 0xffffffffd2bea375, rs 0x1e475005, rt 0xffffffffafb010b1
+mul $t0, $t1, $t2 :: rd 0x23587ca0, rs 0x2608edb8, rt 0xffffffff97ffad0c
+mul $t0, $t1, $t2 :: rd 0xffffffffff2eaaf5, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+mul $t0, $t1, $t2 :: rd 0xffffffff8785a1ec, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+mul $t0, $t1, $t2 :: rd 0xffffffffe2b9e2b5, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+mul $t0, $t1, $t2 :: rd 0xffffffffce38cd40, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+mul $t0, $t1, $t2 :: rd 0xbc670e5, rs 0x31cd86d3, rt 0xffffffff803ac667
+mul $t0, $t1, $t2 :: rd 0xffffffffe49d876c, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+mul $t0, $t1, $t2 :: rd 0x4e2974a5, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+mul $t0, $t1, $t2 :: rd 0xffffffffe428d1c0, rs 0x4c11db70, rt 0xfffffffffde69bc4
+mul $t0, $t1, $t2 :: rd 0xffffffffd5267565, rs 0x48d0c6c7, rt 0xfffffffff9278673
+mul $t0, $t1, $t2 :: rd 0xffffffffc3fd93ec, rs 0x4593e01e, rt 0xfffffffff464a0aa
+mul $t0, $t1, $t2 :: rd 0xffffffff99998125, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+mul $t0, $t1, $t2 :: rd 0x35a88420, rs 0x5f15adac, rt 0xffffffffeee2ed18
+mul $t0, $t1, $t2 :: rd 0xffffffffed2eb275, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+mul $t0, $t1, $t2 :: rd 0x38a5a96c, rs 0x569796c2, rt 0xffffffffe760d676
+mul $t0, $t1, $t2 :: rd 0x2769ea35, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+mul $t0, $t1, $t2 :: rd 0x966b8e0, rs 0x6a1936c8, rt 0xffffffffdbee767c
+mul $t0, $t1, $t2 :: rd 0xffffffffdce992b5, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+mul $t0, $t1, $t2 :: rd 0xffffffff9209e3ac, rs 0x639b0da6, rt 0xffffffffd26c4d12
+mul $t0, $t1, $t2 :: rd 0xffffffffd38eaaf5, rs 0x675a1011, rt 0xffffffffd6ad50a5
+mul $t0, $t1, $t2 :: rd 0xffffffffe4900c80, rs 0x791d4014, rt 0xffffffffc8ea00a0
+mul $t0, $t1, $t2 :: rd 0xffffffffe3c8e0a5, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+mul $t0, $t1, $t2 :: rd 0xffffffff855a7a2c, rs 0x709f7b7a, rt 0xffffffffc1683bce
+mul $t0, $t1, $t2 :: rd 0xffffffffa23604e5, rs 0x745e66cd, rt 0xffffffffc5a92679
+mul $t0, $t1, $t2 :: rd 0xffffffff8ef34180, rs 0xffffffff9823b6e0, rt 0x29d4f654
+mul $t0, $t1, $t2 :: rd 0xffffffff8969cb25, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+mul $t0, $t1, $t2 :: rd 0xffffffffaaa8c82c, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+mul $t0, $t1, $t2 :: rd 0xffffffffd0fcbf65, rs 0xffffffff95609039, rt 0x2497d08d
+mul $t0, $t1, $t2 :: rd 0xffffffff95fc1fe0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+mul $t0, $t1, $t2 :: rd 0x5fe9c435, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+mul $t0, $t1, $t2 :: rd 0x75f8b1ac, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+mul $t0, $t1, $t2 :: rd 0xffffffffbc248c75, rs 0xffffffff8664e6e5, rt 0x3793a651
+mul $t0, $t1, $t2 :: rd 0xffffffff8a3a7d20, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+mul $t0, $t1, $t2 :: rd 0x3d03d0f5, rs 0xffffffffbaea46ef, rt 0xb1d065b
+mul $t0, $t1, $t2 :: rd 0x7dd9b6c, rs 0xffffffffb7a96036, rt 0x65e2082
+mul $t0, $t1, $t2 :: rd 0xffffffffffa8b8b5, rs 0xffffffffb3687d81, rt 0x29f3d35
+mul $t0, $t1, $t2 :: rd 0x6699bcc0, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+mul $t0, $t1, $t2 :: rd 0x4eacbae5, rs 0xffffffffa9ee3033, rt 0x18197087
+mul $t0, $t1, $t2 :: rd 0xffffffffdd8505ec, rs 0xffffffffa4ad16ea, rt 0x155a565e
+mul $t0, $t1, $t2 :: rd 0xffffffffb7f996a5, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+mul $t0, $t1, $t2 :: rd 0xffffffffd429b840, rs 0xffffffffd4326d90, rt 0x65c52d24
+mul $t0, $t1, $t2 :: rd 0x286cb665, rs 0xffffffffd0f37027, rt 0x61043093
+mul $t0, $t1, $t2 :: rd 0xffffffff84e4f96c, rs 0xffffffffddb056fe, rt 0x6c47164a
+mul $t0, $t1, $t2 :: rd 0xffffffffd3698a25, rs 0xffffffffd9714b49, rt 0x68860bfd
+mul $t0, $t1, $t2 :: rd 0xffffffffd46a75a0, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+mul $t0, $t1, $t2 :: rd 0xffffffffcb23c975, rs 0xffffffffc3f706fb, rt 0x7200464f
+mul $t0, $t1, $t2 :: rd 0xfffffffff07d93ec, rs 0xffffffffceb42022, rt 0x7f436096
+mul $t0, $t1, $t2 :: rd 0x34d8b135, rs 0xffffffffca753d95, rt 0x7b827d21
+mul $t0, $t1, $t2 :: rd 0xffffffff93cc1860, rs 0xfffffffff23a8028, rt 0x43cdc09c
+mul $t0, $t1, $t2 :: rd 0x2fc9bcb5, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+mul $t0, $t1, $t2 :: rd 0x1ad8aa2c, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+mul $t0, $t1, $t2 :: rd 0x2f7484f5, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+mul $t0, $t1, $t2 :: rd 0x38e33500, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+mul $t0, $t1, $t2 :: rd 0x3229bea5, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+mul $t0, $t1, $t2 :: rd 0xffffffff9548c3ac, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+mul $t0, $t1, $t2 :: rd 0xffffffffad8cbae5, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+mul $t0, $t1, $t2 :: rd 0xffffffffaf04faa5, rs 0x34867077, rt 0xffffffff857130c3
+mul $t0, $t1, $t2 :: rd 0xffffffffa2a87b00, rs 0x30476dc0, rt 0xffffffff81b02d74
+mul $t0, $t1, $t2 :: rd 0x5fdbd2e5, rs 0x3d044b19, rt 0xffffffff8cf30bad
+mul $t0, $t1, $t2 :: rd 0x3179c1ac, rs 0x39c556ae, rt 0xffffffff8832161a
+mul $t0, $t1, $t2 :: rd 0xffffffff94b890b5, rs 0x278206ab, rt 0xffffffff9675461f
+mul $t0, $t1, $t2 :: rd 0x65cbe60, rs 0x23431b1c, rt 0xffffffff92b45ba8
+mul $t0, $t1, $t2 :: rd 0x605774f5, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+mul $t0, $t1, $t2 :: rd 0x5b95d82c, rs 0x2ac12072, rt 0xffffffff9b3660c6
+mul $t0, $t1, $t2 :: rd 0x6c988575, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+mul $t0, $t1, $t2 :: rd 0x5f45fa0, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+mul $t0, $t1, $t2 :: rd 0xffffffffdf995135, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+mul $t0, $t1, $t2 :: rd 0x2d9af5ec, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+mul $t0, $t1, $t2 :: rd 0xffffffffa4ec0a65, rs 0x18aeb13, rt 0xffffffffb07daba7
+mul $t0, $t1, $t2 :: rd 0xffffffffc6880240, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+mul $t0, $t1, $t2 :: rd 0x45b50225, rs 0x808d07d, rt 0xffffffffb9ff90c9
+mul $t0, $t1, $t2 :: rd 0x6a978b6c, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x7897ab07, rt 0x0
+mul $t0, $t1, $t2 :: rd 0x1997fac0, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x71159069, rt 0x0
+mul $t0, $t1, $t2 :: rd 0x5cf783ec, rs 0x75d48dde, rt 0xffffffffc423cd6a
+mul $t0, $t1, $t2 :: rd 0x7bb880f5, rs 0x6b93dddb, rt 0xffffffffda649d6f
+mul $t0, $t1, $t2 :: rd 0xfffffffffba45b20, rs 0x6f52c06c, rt 0xffffffffdea580d8
+mul $t0, $t1, $t2 :: rd 0x734944b5, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+mul $t0, $t1, $t2 :: rd 0xffffffffab3ae96c, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+mul $t0, $t1, $t2 :: rd 0xffffffffdb188435, rs 0x5e9f46bf, rt 0xffffffffef68060b
+mul $t0, $t1, $t2 :: rd 0xffffffffc12cb1e0, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+mul $t0, $t1, $t2 :: rd 0x2ca77075, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+mul $t0, $t1, $t2 :: rd 0xffffffff93f5d3ac, rs 0x53dc6066, rt 0xffffffffe22b20d2
+mul $t0, $t1, $t2 :: rd 0xfffffffff044f325, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+mul $t0, $t1, $t2 :: rd 0x3f987380, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+mul $t0, $t1, $t2 :: rd 0x436bcb65, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+mul $t0, $t1, $t2 :: rd 0x6999ba2c, rs 0x40d816ba, rt 0xfffffffff12f560e
+mul $t0, $t1, $t2 :: rd 0x17fb30a5, rs 0xffffffffaca5c697, rt 0x1d528623
+mul $t0, $t1, $t2 :: rd 0x5e5b0e80, rs 0xffffffffa864db20, rt 0x19939b94
+mul $t0, $t1, $t2 :: rd 0x1d838e5, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+mul $t0, $t1, $t2 :: rd 0x2cd5cc2c, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+mul $t0, $t1, $t2 :: rd 0xffffffffca86eab5, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+mul $t0, $t1, $t2 :: rd 0xffffffffabe73ae0, rs 0xffffffffbb60adfc, rt 0xa97ed48
+mul $t0, $t1, $t2 :: rd 0xffffffff971c26f5, rs 0xffffffffb6238b25, rt 0x7d4cb91
+mul $t0, $t1, $t2 :: rd 0x77a65ac, rs 0xffffffffb2e29692, rt 0x315d626
+mul $t0, $t1, $t2 :: rd 0x5b6bca75, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+mul $t0, $t1, $t2 :: rd 0xffffffffe698976c, rs 0xffffffff87ee0df6, rt 0x36194d42
+mul $t0, $t1, $t2 :: rd 0x44d79565, rs 0xffffffff99a95df3, rt 0x285e1d47
+mul $t0, $t1, $t2 :: rd 0x2bf83fc0, rs 0xffffffff9d684044, rt 0x2c9f00f0
+mul $t0, $t1, $t2 :: rd 0xfffffffff41abd25, rs 0xffffffff902b669d, rt 0x21dc2629
+mul $t0, $t1, $t2 :: rd 0xfffffffff8dcb1ec, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+mul $t0, $t1, $t2 :: rd 0x33b79ce5, rs 0xffffffffe0b41de7, rt 0x51435d53
+mul $t0, $t1, $t2 :: rd 0x70e84740, rs 0xffffffffe4750050, rt 0x558240e4
+mul $t0, $t1, $t2 :: rd 0x4a8ac4a5, rs 0xffffffffe9362689, rt 0x58c1663d
+mul $t0, $t1, $t2 :: rd 0x58bcb96c, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+mul $t0, $t1, $t2 :: rd 0xffffffffb4ebcef5, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+mul $t0, $t1, $t2 :: rd 0x651b76a0, rs 0xfffffffff771768c, rt 0x46863638
+mul $t0, $t1, $t2 :: rd 0xffffffffc3a6eab5, rs 0xfffffffffa325055, rt 0x4bc510e1
+mul $t0, $t1, $t2 :: rd 0xfffffffff638a3ec, rs 0xfffffffffef34de2, rt 0x4f040d56
+mul $t0, $t1, $t2 :: rd 0xffffffffe986f735, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+mul $t0, $t1, $t2 :: rd 0x76174760, rs 0xffffffffc27dede8, rt 0x738aad5c
+mul $t0, $t1, $t2 :: rd 0x6b6c2b75, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+mul $t0, $t1, $t2 :: rd 0x4fda6a2c, rs 0xffffffffcbffd686, rt 0x7a089632
+mul $t0, $t1, $t2 :: rd 0x511b3825, rs 0xffffffffd5b88683, rt 0x644fc637
+mul $t0, $t1, $t2 :: rd 0x5b6b1600, rs 0xffffffffd1799b34, rt 0x608edb80
+mul $t0, $t1, $t2 :: rd 0xffffffff9de84065, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+mul $t0, $t1, $t2 :: rd 0x5475d3ac, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+mul $t0, $t1, $t2 :: rd 0x5475d3ac, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+mul $t0, $t1, $t2 :: rd 0xffffffff9de84065, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+mul $t0, $t1, $t2 :: rd 0x5b6b1600, rs 0x608edb80, rt 0xffffffffd1799b34
+mul $t0, $t1, $t2 :: rd 0x511b3825, rs 0x644fc637, rt 0xffffffffd5b88683
+mul $t0, $t1, $t2 :: rd 0x4fda6a2c, rs 0x7a089632, rt 0xffffffffcbffd686
+mul $t0, $t1, $t2 :: rd 0x6b6c2b75, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+mul $t0, $t1, $t2 :: rd 0x76174760, rs 0x738aad5c, rt 0xffffffffc27dede8
+mul $t0, $t1, $t2 :: rd 0xffffffffe986f735, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+mul $t0, $t1, $t2 :: rd 0xfffffffff638a3ec, rs 0x4f040d56, rt 0xfffffffffef34de2
+mul $t0, $t1, $t2 :: rd 0xffffffffc3a6eab5, rs 0x4bc510e1, rt 0xfffffffffa325055
+mul $t0, $t1, $t2 :: rd 0x651b76a0, rs 0x46863638, rt 0xfffffffff771768c
+mul $t0, $t1, $t2 :: rd 0xffffffffb4ebcef5, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+mul $t0, $t1, $t2 :: rd 0x58bcb96c, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+mul $t0, $t1, $t2 :: rd 0x4a8ac4a5, rs 0x58c1663d, rt 0xffffffffe9362689
+mul $t0, $t1, $t2 :: rd 0x70e84740, rs 0x558240e4, rt 0xffffffffe4750050
+mul $t0, $t1, $t2 :: rd 0x33b79ce5, rs 0x51435d53, rt 0xffffffffe0b41de7
+mul $t0, $t1, $t2 :: rd 0xfffffffff8dcb1ec, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+mul $t0, $t1, $t2 :: rd 0xfffffffff41abd25, rs 0x21dc2629, rt 0xffffffff902b669d
+mul $t0, $t1, $t2 :: rd 0x2bf83fc0, rs 0x2c9f00f0, rt 0xffffffff9d684044
+mul $t0, $t1, $t2 :: rd 0x44d79565, rs 0x285e1d47, rt 0xffffffff99a95df3
+mul $t0, $t1, $t2 :: rd 0xffffffffe698976c, rs 0x36194d42, rt 0xffffffff87ee0df6
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x32d850f5, rt 0x0
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x3f9b762c, rt 0x0
+mul $t0, $t1, $t2 :: rd 0x5b6bca75, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+mul $t0, $t1, $t2 :: rd 0x77a65ac, rs 0x315d626, rt 0xffffffffb2e29692
+mul $t0, $t1, $t2 :: rd 0xffffffff971c26f5, rs 0x7d4cb91, rt 0xffffffffb6238b25
+mul $t0, $t1, $t2 :: rd 0xffffffffabe73ae0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+mul $t0, $t1, $t2 :: rd 0xffffffffca86eab5, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+mul $t0, $t1, $t2 :: rd 0x2cd5cc2c, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+mul $t0, $t1, $t2 :: rd 0x1d838e5, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+mul $t0, $t1, $t2 :: rd 0x5e5b0e80, rs 0x19939b94, rt 0xffffffffa864db20
+mul $t0, $t1, $t2 :: rd 0x17fb30a5, rs 0x1d528623, rt 0xffffffffaca5c697
+mul $t0, $t1, $t2 :: rd 0x6999ba2c, rs 0xfffffffff12f560e, rt 0x40d816ba
+mul $t0, $t1, $t2 :: rd 0x436bcb65, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+mul $t0, $t1, $t2 :: rd 0x3f987380, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+mul $t0, $t1, $t2 :: rd 0xfffffffff044f325, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+mul $t0, $t1, $t2 :: rd 0xffffffff93f5d3ac, rs 0xffffffffe22b20d2, rt 0x53dc6066
+mul $t0, $t1, $t2 :: rd 0x2ca77075, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+mul $t0, $t1, $t2 :: rd 0xffffffffc12cb1e0, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+mul $t0, $t1, $t2 :: rd 0xffffffffdb188435, rs 0xffffffffef68060b, rt 0x5e9f46bf
+mul $t0, $t1, $t2 :: rd 0xffffffffab3ae96c, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+mul $t0, $t1, $t2 :: rd 0x734944b5, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+mul $t0, $t1, $t2 :: rd 0xfffffffffba45b20, rs 0xffffffffdea580d8, rt 0x6f52c06c
+mul $t0, $t1, $t2 :: rd 0x7bb880f5, rs 0xffffffffda649d6f, rt 0x6b93dddb
+mul $t0, $t1, $t2 :: rd 0x5cf783ec, rs 0xffffffffc423cd6a, rt 0x75d48dde
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+mul $t0, $t1, $t2 :: rd 0x1997fac0, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+mul $t0, $t1, $t2 :: rd 0x6a978b6c, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+mul $t0, $t1, $t2 :: rd 0x45b50225, rs 0xffffffffb9ff90c9, rt 0x808d07d
+mul $t0, $t1, $t2 :: rd 0xffffffffc6880240, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+mul $t0, $t1, $t2 :: rd 0xffffffffa4ec0a65, rs 0xffffffffb07daba7, rt 0x18aeb13
+mul $t0, $t1, $t2 :: rd 0x2d9af5ec, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+mul $t0, $t1, $t2 :: rd 0xffffffffdf995135, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+mul $t0, $t1, $t2 :: rd 0x5f45fa0, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+mul $t0, $t1, $t2 :: rd 0x6c988575, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+mul $t0, $t1, $t2 :: rd 0x5b95d82c, rs 0xffffffff9b3660c6, rt 0x2ac12072
+mul $t0, $t1, $t2 :: rd 0x605774f5, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+mul $t0, $t1, $t2 :: rd 0x65cbe60, rs 0xffffffff92b45ba8, rt 0x23431b1c
+mul $t0, $t1, $t2 :: rd 0xffffffff94b890b5, rs 0xffffffff9675461f, rt 0x278206ab
+mul $t0, $t1, $t2 :: rd 0x3179c1ac, rs 0xffffffff8832161a, rt 0x39c556ae
+mul $t0, $t1, $t2 :: rd 0x5fdbd2e5, rs 0xffffffff8cf30bad, rt 0x3d044b19
+mul $t0, $t1, $t2 :: rd 0xffffffffa2a87b00, rs 0xffffffff81b02d74, rt 0x30476dc0
+mul $t0, $t1, $t2 :: rd 0xffffffffaf04faa5, rs 0xffffffff857130c3, rt 0x34867077
+mul $t0, $t1, $t2 :: rd 0xffffffffad8cbae5, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+mul $t0, $t1, $t2 :: rd 0xffffffff9548c3ac, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+mul $t0, $t1, $t2 :: rd 0x3229bea5, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+mul $t0, $t1, $t2 :: rd 0x38e33500, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+mul $t0, $t1, $t2 :: rd 0x2f7484f5, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+mul $t0, $t1, $t2 :: rd 0x1ad8aa2c, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+mul $t0, $t1, $t2 :: rd 0x2fc9bcb5, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+mul $t0, $t1, $t2 :: rd 0xffffffff93cc1860, rs 0x43cdc09c, rt 0xfffffffff23a8028
+mul $t0, $t1, $t2 :: rd 0x34d8b135, rs 0x7b827d21, rt 0xffffffffca753d95
+mul $t0, $t1, $t2 :: rd 0xfffffffff07d93ec, rs 0x7f436096, rt 0xffffffffceb42022
+mul $t0, $t1, $t2 :: rd 0xffffffffcb23c975, rs 0x7200464f, rt 0xffffffffc3f706fb
+mul $t0, $t1, $t2 :: rd 0xffffffffd46a75a0, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+mul $t0, $t1, $t2 :: rd 0xffffffffd3698a25, rs 0x68860bfd, rt 0xffffffffd9714b49
+mul $t0, $t1, $t2 :: rd 0xffffffff84e4f96c, rs 0x6c47164a, rt 0xffffffffddb056fe
+mul $t0, $t1, $t2 :: rd 0x286cb665, rs 0x61043093, rt 0xffffffffd0f37027
+mul $t0, $t1, $t2 :: rd 0xffffffffd429b840, rs 0x65c52d24, rt 0xffffffffd4326d90
+mul $t0, $t1, $t2 :: rd 0xffffffffb7f996a5, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+mul $t0, $t1, $t2 :: rd 0xffffffffdd8505ec, rs 0x155a565e, rt 0xffffffffa4ad16ea
+mul $t0, $t1, $t2 :: rd 0x4eacbae5, rs 0x18197087, rt 0xffffffffa9ee3033
+mul $t0, $t1, $t2 :: rd 0x6699bcc0, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+mul $t0, $t1, $t2 :: rd 0xffffffffffa8b8b5, rs 0x29f3d35, rt 0xffffffffb3687d81
+mul $t0, $t1, $t2 :: rd 0x7dd9b6c, rs 0x65e2082, rt 0xffffffffb7a96036
+mul $t0, $t1, $t2 :: rd 0x3d03d0f5, rs 0xb1d065b, rt 0xffffffffbaea46ef
+mul $t0, $t1, $t2 :: rd 0xffffffff8a3a7d20, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+mul $t0, $t1, $t2 :: rd 0xffffffffbc248c75, rs 0x3793a651, rt 0xffffffff8664e6e5
+mul $t0, $t1, $t2 :: rd 0x75f8b1ac, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+mul $t0, $t1, $t2 :: rd 0x5fe9c435, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+mul $t0, $t1, $t2 :: rd 0xffffffff95fc1fe0, rs 0x3ad08088, rt 0xffffffff8b27c03c
+mul $t0, $t1, $t2 :: rd 0xffffffffd0fcbf65, rs 0x2497d08d, rt 0xffffffff95609039
+mul $t0, $t1, $t2 :: rd 0xffffffffaaa8c82c, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+mul $t0, $t1, $t2 :: rd 0xffffffff8969cb25, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+mul $t0, $t1, $t2 :: rd 0xffffffff8ef34180, rs 0x29d4f654, rt 0xffffffff9823b6e0
+mul $t0, $t1, $t2 :: rd 0xffffffffa23604e5, rs 0xffffffffc5a92679, rt 0x745e66cd
+mul $t0, $t1, $t2 :: rd 0xffffffff855a7a2c, rs 0xffffffffc1683bce, rt 0x709f7b7a
+mul $t0, $t1, $t2 :: rd 0xffffffffe3c8e0a5, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+mul $t0, $t1, $t2 :: rd 0xffffffffe4900c80, rs 0xffffffffc8ea00a0, rt 0x791d4014
+mul $t0, $t1, $t2 :: rd 0xffffffffd38eaaf5, rs 0xffffffffd6ad50a5, rt 0x675a1011
+mul $t0, $t1, $t2 :: rd 0xffffffff9209e3ac, rs 0xffffffffd26c4d12, rt 0x639b0da6
+mul $t0, $t1, $t2 :: rd 0xffffffffdce992b5, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+mul $t0, $t1, $t2 :: rd 0x966b8e0, rs 0xffffffffdbee767c, rt 0x6a1936c8
+mul $t0, $t1, $t2 :: rd 0x2769ea35, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+mul $t0, $t1, $t2 :: rd 0x38a5a96c, rs 0xffffffffe760d676, rt 0x569796c2
+mul $t0, $t1, $t2 :: rd 0xffffffffed2eb275, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+mul $t0, $t1, $t2 :: rd 0x35a88420, rs 0xffffffffeee2ed18, rt 0x5f15adac
+mul $t0, $t1, $t2 :: rd 0xffffffff99998125, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+mul $t0, $t1, $t2 :: rd 0xffffffffc3fd93ec, rs 0xfffffffff464a0aa, rt 0x4593e01e
+mul $t0, $t1, $t2 :: rd 0xffffffffd5267565, rs 0xfffffffff9278673, rt 0x48d0c6c7
+mul $t0, $t1, $t2 :: rd 0xffffffffe428d1c0, rs 0xfffffffffde69bc4, rt 0x4c11db70
+mul $t0, $t1, $t2 :: rd 0x4e2974a5, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+mul $t0, $t1, $t2 :: rd 0xffffffffe49d876c, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+mul $t0, $t1, $t2 :: rd 0xbc670e5, rs 0xffffffff803ac667, rt 0x31cd86d3
+mul $t0, $t1, $t2 :: rd 0xffffffffce38cd40, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+mul $t0, $t1, $t2 :: rd 0xffffffffe2b9e2b5, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+mul $t0, $t1, $t2 :: rd 0xffffffff8785a1ec, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+mul $t0, $t1, $t2 :: rd 0xffffffffff2eaaf5, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+mul $t0, $t1, $t2 :: rd 0x23587ca0, rs 0xffffffff97ffad0c, rt 0x2608edb8
+mul $t0, $t1, $t2 :: rd 0xffffffffd2bea375, rs 0xffffffffafb010b1, rt 0x1e475005
+mul $t0, $t1, $t2 :: rd 0xffffffffa2a9dc2c, rs 0xffffffffab710d06, rt 0x1a864db2
+mul $t0, $t1, $t2 :: rd 0x3ae98b35, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+mul $t0, $t1, $t2 :: rd 0xffffffffb5b6b160, rs 0xffffffffa2f33668, rt 0x130476dc
+mul $t0, $t1, $t2 :: rd 0x13a60065, rs 0xffffffffbcb4666d, rt 0xd4326d9
+mul $t0, $t1, $t2 :: rd 0xffffffffe4ba75ac, rs 0xffffffffb8757bda, rt 0x9823b6e
+mul $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb5365d03, rt 0x0
+mul $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb1f740b4, rt 0x0
+mult $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0xfffffffffd57bc67, LO 0xffffffffe4ba75ac
+mult $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xfffffffffc838234, LO 0x13a60065
+mult $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0xfffffffff9166da2, LO 0xffffffffb5b6b160
+mult $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0xfffffffff7a940de, LO 0x3ae98b35
+mult $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0xfffffffff73d1ed5, LO 0xffffffffa2a9dc2c
+mult $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0xfffffffff68042ae, LO 0xffffffffd2bea375
+mult $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0xfffffffff08c531a, LO 0x23587ca0
+mult $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0xfffffffff13889b5, LO 0xffffffffff2eaaf5
+mult $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0xffffffffede42c7a, LO 0xffffffff8785a1ec
+mult $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0xffffffffeedfb046, LO 0xffffffffe2b9e2b5
+mult $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0xffffffffe68215a4, LO 0xffffffffce38cd40
+mult $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0xffffffffe724abc0, LO 0xbc670e5
+mult $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0xffffffffe4e8c2ae, LO 0xffffffffe49d876c
+mult $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0xffffffffe5fb9fc6, LO 0x4e2974a5
+mult $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0xffffffffff6050c1, LO 0xffffffffe428d1c0
+mult $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0xfffffffffe0d889c, LO 0xffffffffd5267565
+mult $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0xfffffffffcd86aec, LO 0xffffffffc3fd93ec
+mult $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0xfffffffffc151ae4, LO 0xffffffff99998125
+mult $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0xfffffffff9a4c2fd, LO 0x35a88420
+mult $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0xfffffffff8289d47, LO 0xffffffffed2eb275
+mult $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0xfffffffff7abf3aa, LO 0x38a5a96c
+mult $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0xfffffffff6e03c2a, LO 0x2769ea35
+mult $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0xfffffffff10d2fa1, LO 0x966b8e0
+mult $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xfffffffff1caaac0, LO 0xffffffffdce992b5
+mult $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0xffffffffee4446f2, LO 0xffffffff9209e3ac
+mult $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0xffffffffef5131c8, LO 0xffffffffd38eaaf5
+mult $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xffffffffe5f04f03, LO 0xffffffffe4900c80
+mult $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0xffffffffe6846f4b, LO 0xffffffffe3c8e0a5
+mult $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0xffffffffe4769bb6, LO 0xffffffff855a7a2c
+mult $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0xffffffffe57b221d, LO 0xffffffffa23604e5
+mult $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffef0751ed, LO 0xffffffff8ef34180
+mult $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffffee8b5b62, LO 0xffffffff8969cb25
+mult $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xfffffffff20ec57c, LO 0xffffffffaaa8c82c
+mult $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xfffffffff0c25960, LO 0xffffffffd0fcbf65
+mult $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffe527d72f, LO 0xffffffff95fc1fe0
+mult $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffe4d23321, LO 0x5fe9c435
+mult $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffffe6de8e3a, LO 0x75f8b1ac
+mult $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xffffffffe5998a8a, LO 0xffffffffbc248c75
+mult $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xfffffffffbebf06e, LO 0xffffffff8a3a7d20
+mult $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xfffffffffd003bdf, LO 0x3d03d0f5
+mult $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xfffffffffe335f43, LO 0x7dd9b6c
+mult $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffff372c90, LO 0xffffffffffa8b8b5
+mult $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xfffffffff6ab2576, LO 0x6699bcc0
+mult $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xfffffffff7e5c6f2, LO 0x4eacbae5
+mult $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xfffffffff861f8eb, LO 0xffffffffdd8505ec
+mult $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xfffffffff96d31d4, LO 0xffffffffb7f996a5
+mult $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffee96284e, LO 0xffffffffd429b840
+mult $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffee2b785f, LO 0x286cb665
+mult $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xfffffffff17cdd9e, LO 0xffffffff84e4f96c
+mult $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xfffffffff041d614, LO 0xffffffffd3698a25
+mult $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffe5a80bf8, LO 0xffffffffd46a75a0
+mult $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffe543f09e, LO 0xffffffffcb23c975
+mult $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffe77e627b, LO 0xfffffffff07d93ec
+mult $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffe62b09f4, LO 0x34d8b135
+mult $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xfffffffffc5a3e06, LO 0xffffffff93cc1860
+mult $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xfffffffffd7f54b8, LO 0x2fc9bcb5
+mult $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xfffffffffec20fee, LO 0x1ad8aa2c
+mult $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffffd6c5df, LO 0x2f7484f5
+mult $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xfffffffff64b71b7, LO 0x38e33500
+mult $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xfffffffff77717ba, LO 0x3229bea5
+mult $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xfffffffff7e2c5f6, LO 0xffffffff9548c3ac
+mult $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xfffffffff8df256d, LO 0xffffffffad8cbae5
+mult $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0xffffffffe6daa14f, LO 0xffffffffaf04faa5
+mult $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0xffffffffe82dca3b, LO 0xffffffffa2a87b00
+mult $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0xffffffffe493fbd4, LO 0x5fdbd2e5
+mult $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0xffffffffe4f6cce6, LO 0x3179c1ac
+mult $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0xffffffffefb6427c, LO 0xffffffff94b890b5
+mult $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0xfffffffff0f20229, LO 0x65cbe60
+mult $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0xffffffffeebe615e, LO 0x605774f5
+mult $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0xffffffffef2ae319, LO 0x5b95d82c
+mult $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0xfffffffff94b0622, LO 0x6c988575
+mult $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0xfffffffff84e7648, LO 0x5f45fa0
+mult $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0xfffffffff7045dbc, LO 0xffffffffdf995135
+mult $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0xfffffffff5d76df2, LO 0x2d9af5ec
+mult $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0xffffffffff855867, LO 0xffffffffa4ec0a65
+mult $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0xfffffffffe715a54, LO 0xffffffffc6880240
+mult $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0xfffffffffdcd9380, LO 0x45b50225
+mult $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xfffffffffcaa4f15, LO 0x6a978b6c
+mult $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0xffffffffe78963a1, LO 0x1997fac0
+mult $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0xffffffffe472a95b, LO 0x5cf783ec
+mult $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0xfffffffff03254fc, LO 0x7bb880f5
+mult $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xfffffffff17eface, LO 0xfffffffffba45b20
+mult $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0xffffffffef1b361f, LO 0x734944b5
+mult $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0xffffffffef987d06, LO 0xffffffffab3ae96c
+mult $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0xfffffffff9dddf3d, LO 0xffffffffdb188435
+mult $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0xfffffffff8d1f49c, LO 0xffffffffc12cb1e0
+mult $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0xfffffffff776b712, LO 0x2ca77075
+mult $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0xfffffffff63a4d78, LO 0xffffffff93f5d3ac
+mult $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0xfffffffffeea72eb, LO 0xfffffffff044f325
+mult $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0xfffffffffde6dfd9, LO 0x3f987380
+mult $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0xfffffffffd524ff3, LO 0x436bcb65
+mult $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0xfffffffffc3f5423, LO 0x6999ba2c
+mult $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xfffffffff673e8ec, LO 0x17fb30a5
+mult $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xfffffffff73f5612, LO 0x5e5b0e80
+mult $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xfffffffff89d0d29, LO 0x1d838e5
+mult $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xfffffffffa17f32e, LO 0x2cd5cc2c
+mult $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xfffffffffc64fb5c, LO 0xffffffffca86eab5
+mult $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xfffffffffd290d37, LO 0xffffffffabe73ae0
+mult $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xfffffffffdbd9381, LO 0xffffffff971c26f5
+mult $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffff1213d8, LO 0x77a65ac
+mult $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffe4cc7884, LO 0x5b6bca75
+mult $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xffffffffe6a058f4, LO 0xffffffffe698976c
+mult $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffefdcd72a, LO 0x44d79565
+mult $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffffeed0ae6f, LO 0x2bf83fc0
+mult $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xfffffffff1356cda, LO 0xfffffffff41abd25
+mult $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xfffffffff079a96c, LO 0xfffffffff8dcb1ec
+mult $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xfffffffff610c131, LO 0x33b79ce5
+mult $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xfffffffff6ccd589, LO 0x70e84740
+mult $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xfffffffff81965f8, LO 0x4a8ac4a5
+mult $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xfffffffff984d096, LO 0x58bcb96c
+mult $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xfffffffffcd00f7a, LO 0xffffffffb4ebcef5
+mult $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xfffffffffda489fe, LO 0x651b76a0
+mult $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xfffffffffe4845de, LO 0xffffffffc3a6eab5
+mult $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xffffffffffad10c7, LO 0xfffffffff638a3ec
+mult $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffe550e583, LO 0xffffffffe986f735
+mult $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffe43d401a, LO 0x76174760
+mult $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffe7da85bd, LO 0x6b6c2b75
+mult $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffe7362db8, LO 0x4fda6a2c
+mult $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffef6ee7c0, LO 0x511b3825
+mult $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffee73a3c3, LO 0x5b6b1600
+mult $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xfffffffff0a83a81, LO 0xffffffff9de84065
+mult $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffeffd3e48, LO 0x5475d3ac
+mult $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0xffffffffeffd3e48, LO 0x5475d3ac
+mult $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0xfffffffff0a83a81, LO 0xffffffff9de84065
+mult $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0xffffffffee73a3c3, LO 0x5b6b1600
+mult $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0xffffffffef6ee7c0, LO 0x511b3825
+mult $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0xffffffffe7362db8, LO 0x4fda6a2c
+mult $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0xffffffffe7da85bd, LO 0x6b6c2b75
+mult $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0xffffffffe43d401a, LO 0x76174760
+mult $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0xffffffffe550e583, LO 0xffffffffe986f735
+mult $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0xffffffffffad10c7, LO 0xfffffffff638a3ec
+mult $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0xfffffffffe4845de, LO 0xffffffffc3a6eab5
+mult $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0xfffffffffda489fe, LO 0x651b76a0
+mult $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0xfffffffffcd00f7a, LO 0xffffffffb4ebcef5
+mult $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0xfffffffff984d096, LO 0x58bcb96c
+mult $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0xfffffffff81965f8, LO 0x4a8ac4a5
+mult $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0xfffffffff6ccd589, LO 0x70e84740
+mult $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0xfffffffff610c131, LO 0x33b79ce5
+mult $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0xfffffffff079a96c, LO 0xfffffffff8dcb1ec
+mult $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0xfffffffff1356cda, LO 0xfffffffff41abd25
+mult $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0xffffffffeed0ae6f, LO 0x2bf83fc0
+mult $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0xffffffffefdcd72a, LO 0x44d79565
+mult $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0xffffffffe6a058f4, LO 0xffffffffe698976c
+mult $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0xffffffffe4cc7884, LO 0x5b6bca75
+mult $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0xffffffffff1213d8, LO 0x77a65ac
+mult $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0xfffffffffdbd9381, LO 0xffffffff971c26f5
+mult $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xfffffffffd290d37, LO 0xffffffffabe73ae0
+mult $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xfffffffffc64fb5c, LO 0xffffffffca86eab5
+mult $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0xfffffffffa17f32e, LO 0x2cd5cc2c
+mult $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0xfffffffff89d0d29, LO 0x1d838e5
+mult $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0xfffffffff73f5612, LO 0x5e5b0e80
+mult $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0xfffffffff673e8ec, LO 0x17fb30a5
+mult $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xfffffffffc3f5423, LO 0x6999ba2c
+mult $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xfffffffffd524ff3, LO 0x436bcb65
+mult $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xfffffffffde6dfd9, LO 0x3f987380
+mult $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xfffffffffeea72eb, LO 0xfffffffff044f325
+mult $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xfffffffff63a4d78, LO 0xffffffff93f5d3ac
+mult $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xfffffffff776b712, LO 0x2ca77075
+mult $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xfffffffff8d1f49c, LO 0xffffffffc12cb1e0
+mult $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xfffffffff9dddf3d, LO 0xffffffffdb188435
+mult $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffef987d06, LO 0xffffffffab3ae96c
+mult $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffef1b361f, LO 0x734944b5
+mult $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xfffffffff17eface, LO 0xfffffffffba45b20
+mult $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xfffffffff03254fc, LO 0x7bb880f5
+mult $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffe472a95b, LO 0x5cf783ec
+mult $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffe78963a1, LO 0x1997fac0
+mult $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xfffffffffcaa4f15, LO 0x6a978b6c
+mult $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xfffffffffdcd9380, LO 0x45b50225
+mult $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xfffffffffe715a54, LO 0xffffffffc6880240
+mult $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffff855867, LO 0xffffffffa4ec0a65
+mult $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xfffffffff5d76df2, LO 0x2d9af5ec
+mult $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xfffffffff7045dbc, LO 0xffffffffdf995135
+mult $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xfffffffff84e7648, LO 0x5f45fa0
+mult $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xfffffffff94b0622, LO 0x6c988575
+mult $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffffef2ae319, LO 0x5b95d82c
+mult $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffffeebe615e, LO 0x605774f5
+mult $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xfffffffff0f20229, LO 0x65cbe60
+mult $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffefb6427c, LO 0xffffffff94b890b5
+mult $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xffffffffe4f6cce6, LO 0x3179c1ac
+mult $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffe493fbd4, LO 0x5fdbd2e5
+mult $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffffe82dca3b, LO 0xffffffffa2a87b00
+mult $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffffe6daa14f, LO 0xffffffffaf04faa5
+mult $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0xfffffffff8df256d, LO 0xffffffffad8cbae5
+mult $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0xfffffffff7e2c5f6, LO 0xffffffff9548c3ac
+mult $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0xfffffffff77717ba, LO 0x3229bea5
+mult $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0xfffffffff64b71b7, LO 0x38e33500
+mult $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0xffffffffffd6c5df, LO 0x2f7484f5
+mult $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0xfffffffffec20fee, LO 0x1ad8aa2c
+mult $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0xfffffffffd7f54b8, LO 0x2fc9bcb5
+mult $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0xfffffffffc5a3e06, LO 0xffffffff93cc1860
+mult $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0xffffffffe62b09f4, LO 0x34d8b135
+mult $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0xffffffffe77e627b, LO 0xfffffffff07d93ec
+mult $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0xffffffffe543f09e, LO 0xffffffffcb23c975
+mult $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0xffffffffe5a80bf8, LO 0xffffffffd46a75a0
+mult $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0xfffffffff041d614, LO 0xffffffffd3698a25
+mult $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0xfffffffff17cdd9e, LO 0xffffffff84e4f96c
+mult $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0xffffffffee2b785f, LO 0x286cb665
+mult $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0xffffffffee96284e, LO 0xffffffffd429b840
+mult $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0xfffffffff96d31d4, LO 0xffffffffb7f996a5
+mult $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0xfffffffff861f8eb, LO 0xffffffffdd8505ec
+mult $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0xfffffffff7e5c6f2, LO 0x4eacbae5
+mult $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0xfffffffff6ab2576, LO 0x6699bcc0
+mult $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0xffffffffff372c90, LO 0xffffffffffa8b8b5
+mult $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0xfffffffffe335f43, LO 0x7dd9b6c
+mult $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xfffffffffd003bdf, LO 0x3d03d0f5
+mult $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfffffffffbebf06e, LO 0xffffffff8a3a7d20
+mult $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0xffffffffe5998a8a, LO 0xffffffffbc248c75
+mult $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0xffffffffe6de8e3a, LO 0x75f8b1ac
+mult $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0xffffffffe4d23321, LO 0x5fe9c435
+mult $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0xffffffffe527d72f, LO 0xffffffff95fc1fe0
+mult $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0xfffffffff0c25960, LO 0xffffffffd0fcbf65
+mult $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0xfffffffff20ec57c, LO 0xffffffffaaa8c82c
+mult $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0xffffffffee8b5b62, LO 0xffffffff8969cb25
+mult $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0xffffffffef0751ed, LO 0xffffffff8ef34180
+mult $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffe57b221d, LO 0xffffffffa23604e5
+mult $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffe4769bb6, LO 0xffffffff855a7a2c
+mult $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffe6846f4b, LO 0xffffffffe3c8e0a5
+mult $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffe5f04f03, LO 0xffffffffe4900c80
+mult $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffef5131c8, LO 0xffffffffd38eaaf5
+mult $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffee4446f2, LO 0xffffffff9209e3ac
+mult $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xfffffffff1caaac0, LO 0xffffffffdce992b5
+mult $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xfffffffff10d2fa1, LO 0x966b8e0
+mult $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xfffffffff6e03c2a, LO 0x2769ea35
+mult $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xfffffffff7abf3aa, LO 0x38a5a96c
+mult $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xfffffffff8289d47, LO 0xffffffffed2eb275
+mult $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xfffffffff9a4c2fd, LO 0x35a88420
+mult $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xfffffffffc151ae4, LO 0xffffffff99998125
+mult $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xfffffffffcd86aec, LO 0xffffffffc3fd93ec
+mult $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xfffffffffe0d889c, LO 0xffffffffd5267565
+mult $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xffffffffff6050c1, LO 0xffffffffe428d1c0
+mult $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xffffffffe5fb9fc6, LO 0x4e2974a5
+mult $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffe4e8c2ae, LO 0xffffffffe49d876c
+mult $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffffe724abc0, LO 0xbc670e5
+mult $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffffe68215a4, LO 0xffffffffce38cd40
+mult $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffffeedfb046, LO 0xffffffffe2b9e2b5
+mult $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffffede42c7a, LO 0xffffffff8785a1ec
+mult $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xfffffffff13889b5, LO 0xffffffffff2eaaf5
+mult $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xfffffffff08c531a, LO 0x23587ca0
+mult $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xfffffffff68042ae, LO 0xffffffffd2bea375
+mult $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xfffffffff73d1ed5, LO 0xffffffffa2a9dc2c
+mult $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xfffffffff7a940de, LO 0x3ae98b35
+mult $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xfffffffff9166da2, LO 0xffffffffb5b6b160
+mult $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xfffffffffc838234, LO 0x13a60065
+mult $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xfffffffffd57bc67, LO 0xffffffffe4ba75ac
+mult $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x6d9f7d5, LO 0xffffffffe4ba75ac
+multu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0x9c6a90d, LO 0x13a60065
+multu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0xc1ae47e, LO 0xffffffffb5b6b160
+multu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0xf6eac49, LO 0x3ae98b35
+multu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x11c36c87, LO 0xffffffffa2a9dc2c
+multu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x14c792b3, LO 0xffffffffd2bea375
+multu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x169540d2, LO 0x23587ca0
+multu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x140279c4, LO 0xffffffffff2eaaf5
+multu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x1d6f0350, LO 0xffffffff8785a1ec
+multu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x1a2b7ba7, LO 0xffffffffe2b9e2b5
+multu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x1b8eb108, LO 0xffffffffce38cd40
+multu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x18f23293, LO 0xbc670e5
+multu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x217762b8, LO 0xffffffffe49d876c
+multu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x1e4b5d83, LO 0x4e2974a5
+multu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4b722c31, LO 0xffffffffe428d1c0
+multu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x46de4f63, LO 0xffffffffd5267565
+multu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x426c4b0a, LO 0xffffffffc3fd93ec
+multu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x3d68188d, LO 0xffffffff99998125
+multu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x58ba70a9, LO 0x35a88420
+multu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x53fd4d62, LO 0xffffffffed2eb275
+multu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x4e438a6c, LO 0x38a5a96c
+multu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x4936c79f, LO 0x2769ea35
+multu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x5b266669, LO 0x966b8e0
+multu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x60a2d63f, LO 0xffffffffdce992b5
+multu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x51df5498, LO 0xffffffff9209e3ac
+multu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x56ab41d9, LO 0xffffffffd38eaaf5
+multu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x5f0d8f17, LO 0xffffffffe4900c80
+multu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x6460ccee, LO 0xffffffffe3c8e0a5
+multu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x55161730, LO 0xffffffff855a7a2c
+multu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x59d988ea, LO 0xffffffffa23604e5
+multu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0x18dc4841, LO 0xffffffff8ef34180
+multu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0x1ba14745, LO 0xffffffff8969cb25
+multu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0x126592b6, LO 0xffffffffaaa8c82c
+multu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0x155a29ed, LO 0xffffffffd0fcbf65
+multu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0x1ff857b7, LO 0xffffffff95fc1fe0
+multu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x22e3d060, LO 0x5fe9c435
+multu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0x1a314a20, LO 0x75f8b1ac
+multu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x1d2d30db, LO 0xffffffffbc248c75
+multu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xbc80c5a, LO 0xffffffff8a3a7d20
+multu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0x81d423a, LO 0x3d03d0f5
+multu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0x4917fc5, LO 0x7dd9b6c
+multu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0x1d669c5, LO 0xffffffffffa8b8b5
+multu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0x138392a6, LO 0x6699bcc0
+multu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xfff3779, LO 0x4eacbae5
+multu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xdbc4f49, LO 0xffffffffdd8505ec
+multu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xb087dbd, LO 0xffffffffb7f996a5
+multu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x545b5572, LO 0xffffffffd429b840
+multu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0x4f2fa8f2, LO 0x286cb665
+multu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x5dc3f3e8, LO 0xffffffff84e4f96c
+multu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0x58c7e211, LO 0xffffffffd3698a25
+multu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x5c6967f0, LO 0xffffffffd46a75a0
+multu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x574436ed, LO 0xffffffffcb23c975
+multu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x66c1c311, LO 0xfffffffff07d93ec
+multu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x61ad8715, LO 0x34d8b135
+multu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0x4027fea2, LO 0xffffffff93cc1860
+multu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0x448c31e3, LO 0x2fc9bcb5
+multu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0x49120be0, LO 0x1ad8aa2c
+multu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0x4e65ac24, LO 0x2f7484f5
+multu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0x471527f7, LO 0x38e33500
+multu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0x4b7fc3b1, LO 0x3229bea5
+multu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0x512e5324, LO 0xffffffff9548c3ac
+multu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0x5669b606, LO 0xffffffffad8cbae5
+multu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x1b6111c6, LO 0xffffffffaf04faa5
+multu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x187537fb, LO 0xffffffffa2a87b00
+multu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x219846ed, LO 0x5fdbd2e5
+multu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x1ebc2394, LO 0x3179c1ac
+multu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x17384927, LO 0xffffffff94b890b5
+multu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x14351d45, LO 0x65cbe60
+multu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x1cbe9f23, LO 0x605774f5
+multu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x19ec038b, LO 0x5b95d82c
+multu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0xbd9a3f1, LO 0x6c988575
+multu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0xe9df6c0, LO 0x5f45fa0
+multu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1211045d, LO 0xffffffffdf995135
+multu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x15a52908, LO 0x2d9af5ec
+multu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x110437a, LO 0xffffffffa4ec0a65
+multu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x3bd50f8, LO 0xffffffffc6880240
+multu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x5d663fd, LO 0x45b50225
+multu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0x9741cdf, LO 0x6a978b6c
+multu $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x63e01a51, LO 0x1997fac0
+multu $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x5a473739, LO 0x5cf783ec
+multu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x5bc632d7, LO 0x7bb880f5
+multu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x60d1bb3a, LO 0xfffffffffba45b20
+multu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x512d1cd4, LO 0x734944b5
+multu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x56697808, LO 0xffffffffab3ae96c
+multu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x587d25fc, LO 0xffffffffdb188435
+multu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x53304fa4, LO 0xffffffffc12cb1e0
+multu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x4e9434e3, LO 0x2ca77075
+multu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x4a16adde, LO 0xffffffff93f5d3ac
+multu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4c85a34e, LO 0xfffffffff044f325
+multu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x47410dad, LO 0x3f987380
+multu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x416b5b00, LO 0x436bcb65
+multu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x3d176add, LO 0x6999ba2c
+multu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0x13c66f0f, LO 0x17fb30a5
+multu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0x10d2f1a6, LO 0x5e5b0e80
+multu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xd6dca76, LO 0x1d838e5
+multu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xa299428, LO 0x2cd5cc2c
+multu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xabbec5b, LO 0xffffffffca86eab5
+multu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0x7c0fa7f, LO 0xffffffffabe73ae0
+multu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0x5925f12, LO 0xffffffff971c26f5
+multu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0x227e9fe, LO 0x77a65ac
+multu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x2026e41f, LO 0x5b6bca75
+multu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x1cb9a636, LO 0xffffffffe698976c
+multu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0x183af471, LO 0x44d79565
+multu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0x1b6faf5f, LO 0x2bf83fc0
+multu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0x13119303, LO 0xfffffffff41abd25
+multu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0x1596e50a, LO 0xfffffffff8dcb1ec
+multu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0x47541e84, LO 0x33b79ce5
+multu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0x4c4f166d, LO 0x70e84740
+multu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0x50dacc35, LO 0x4a8ac4a5
+multu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0x55854c20, LO 0x58bcb96c
+multu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0x3f173b09, LO 0xffffffffb4ebcef5
+multu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0x442ac036, LO 0x651b76a0
+multu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0x4a0d56bf, LO 0xffffffffc3a6eab5
+multu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0x4eb11e1d, LO 0xfffffffff638a3ec
+multu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x5c9c966e, LO 0xffffffffe986f735
+multu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x57c7ed76, LO 0x76174760
+multu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x66a41142, LO 0x6b6c2b75
+multu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x613ec3ea, LO 0x4fda6a2c
+multu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0x53beadf7, LO 0x511b3825
+multu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0x4f027f43, LO 0x5b6b1600
+multu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0x5e7637da, LO 0xffffffff9de84065
+multu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x590a1f36, LO 0x5475d3ac
+multu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x590a1f36, LO 0x5475d3ac
+multu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x5e7637da, LO 0xffffffff9de84065
+multu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x4f027f43, LO 0x5b6b1600
+multu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x53beadf7, LO 0x511b3825
+multu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x613ec3ea, LO 0x4fda6a2c
+multu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x66a41142, LO 0x6b6c2b75
+multu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x57c7ed76, LO 0x76174760
+multu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x5c9c966e, LO 0xffffffffe986f735
+multu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4eb11e1d, LO 0xfffffffff638a3ec
+multu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4a0d56bf, LO 0xffffffffc3a6eab5
+multu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x442ac036, LO 0x651b76a0
+multu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x3f173b09, LO 0xffffffffb4ebcef5
+multu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x55854c20, LO 0x58bcb96c
+multu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x50dacc35, LO 0x4a8ac4a5
+multu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x4c4f166d, LO 0x70e84740
+multu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x47541e84, LO 0x33b79ce5
+multu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x1596e50a, LO 0xfffffffff8dcb1ec
+multu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x13119303, LO 0xfffffffff41abd25
+multu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x1b6faf5f, LO 0x2bf83fc0
+multu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x183af471, LO 0x44d79565
+multu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x1cb9a636, LO 0xffffffffe698976c
+multu $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x2026e41f, LO 0x5b6bca75
+multu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x227e9fe, LO 0x77a65ac
+multu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x5925f12, LO 0xffffffff971c26f5
+multu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0x7c0fa7f, LO 0xffffffffabe73ae0
+multu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xabbec5b, LO 0xffffffffca86eab5
+multu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0xa299428, LO 0x2cd5cc2c
+multu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0xd6dca76, LO 0x1d838e5
+multu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x10d2f1a6, LO 0x5e5b0e80
+multu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x13c66f0f, LO 0x17fb30a5
+multu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0x3d176add, LO 0x6999ba2c
+multu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0x416b5b00, LO 0x436bcb65
+multu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0x47410dad, LO 0x3f987380
+multu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0x4c85a34e, LO 0xfffffffff044f325
+multu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0x4a16adde, LO 0xffffffff93f5d3ac
+multu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0x4e9434e3, LO 0x2ca77075
+multu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0x53304fa4, LO 0xffffffffc12cb1e0
+multu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0x587d25fc, LO 0xffffffffdb188435
+multu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0x56697808, LO 0xffffffffab3ae96c
+multu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0x512d1cd4, LO 0x734944b5
+multu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x60d1bb3a, LO 0xfffffffffba45b20
+multu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x5bc632d7, LO 0x7bb880f5
+multu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0x5a473739, LO 0x5cf783ec
+multu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x63e01a51, LO 0x1997fac0
+multu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0x9741cdf, LO 0x6a978b6c
+multu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0x5d663fd, LO 0x45b50225
+multu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0x3bd50f8, LO 0xffffffffc6880240
+multu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0x110437a, LO 0xffffffffa4ec0a65
+multu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0x15a52908, LO 0x2d9af5ec
+multu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0x1211045d, LO 0xffffffffdf995135
+multu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xe9df6c0, LO 0x5f45fa0
+multu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xbd9a3f1, LO 0x6c988575
+multu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0x19ec038b, LO 0x5b95d82c
+multu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0x1cbe9f23, LO 0x605774f5
+multu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0x14351d45, LO 0x65cbe60
+multu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0x17384927, LO 0xffffffff94b890b5
+multu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x1ebc2394, LO 0x3179c1ac
+multu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x219846ed, LO 0x5fdbd2e5
+multu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x187537fb, LO 0xffffffffa2a87b00
+multu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x1b6111c6, LO 0xffffffffaf04faa5
+multu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x5669b606, LO 0xffffffffad8cbae5
+multu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x512e5324, LO 0xffffffff9548c3ac
+multu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x4b7fc3b1, LO 0x3229bea5
+multu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x471527f7, LO 0x38e33500
+multu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4e65ac24, LO 0x2f7484f5
+multu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x49120be0, LO 0x1ad8aa2c
+multu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x448c31e3, LO 0x2fc9bcb5
+multu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x4027fea2, LO 0xffffffff93cc1860
+multu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x61ad8715, LO 0x34d8b135
+multu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x66c1c311, LO 0xfffffffff07d93ec
+multu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x574436ed, LO 0xffffffffcb23c975
+multu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x5c6967f0, LO 0xffffffffd46a75a0
+multu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x58c7e211, LO 0xffffffffd3698a25
+multu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x5dc3f3e8, LO 0xffffffff84e4f96c
+multu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x4f2fa8f2, LO 0x286cb665
+multu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x545b5572, LO 0xffffffffd429b840
+multu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0xb087dbd, LO 0xffffffffb7f996a5
+multu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0xdbc4f49, LO 0xffffffffdd8505ec
+multu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0xfff3779, LO 0x4eacbae5
+multu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x138392a6, LO 0x6699bcc0
+multu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x1d669c5, LO 0xffffffffffa8b8b5
+multu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x4917fc5, LO 0x7dd9b6c
+multu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0x81d423a, LO 0x3d03d0f5
+multu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xbc80c5a, LO 0xffffffff8a3a7d20
+multu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x1d2d30db, LO 0xffffffffbc248c75
+multu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x1a314a20, LO 0x75f8b1ac
+multu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x22e3d060, LO 0x5fe9c435
+multu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x1ff857b7, LO 0xffffffff95fc1fe0
+multu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x155a29ed, LO 0xffffffffd0fcbf65
+multu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x126592b6, LO 0xffffffffaaa8c82c
+multu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x1ba14745, LO 0xffffffff8969cb25
+multu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x18dc4841, LO 0xffffffff8ef34180
+multu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x59d988ea, LO 0xffffffffa23604e5
+multu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x55161730, LO 0xffffffff855a7a2c
+multu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0x6460ccee, LO 0xffffffffe3c8e0a5
+multu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x5f0d8f17, LO 0xffffffffe4900c80
+multu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0x56ab41d9, LO 0xffffffffd38eaaf5
+multu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0x51df5498, LO 0xffffffff9209e3ac
+multu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x60a2d63f, LO 0xffffffffdce992b5
+multu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0x5b266669, LO 0x966b8e0
+multu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0x4936c79f, LO 0x2769ea35
+multu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0x4e438a6c, LO 0x38a5a96c
+multu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0x53fd4d62, LO 0xffffffffed2eb275
+multu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0x58ba70a9, LO 0x35a88420
+multu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0x3d68188d, LO 0xffffffff99998125
+multu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0x426c4b0a, LO 0xffffffffc3fd93ec
+multu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0x46de4f63, LO 0xffffffffd5267565
+multu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0x4b722c31, LO 0xffffffffe428d1c0
+multu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x1e4b5d83, LO 0x4e2974a5
+multu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x217762b8, LO 0xffffffffe49d876c
+multu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x18f23293, LO 0xbc670e5
+multu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x1b8eb108, LO 0xffffffffce38cd40
+multu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0x1a2b7ba7, LO 0xffffffffe2b9e2b5
+multu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0x1d6f0350, LO 0xffffffff8785a1ec
+multu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0x140279c4, LO 0xffffffffff2eaaf5
+multu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0x169540d2, LO 0x23587ca0
+multu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0x14c792b3, LO 0xffffffffd2bea375
+multu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0x11c36c87, LO 0xffffffffa2a9dc2c
+multu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xf6eac49, LO 0x3ae98b35
+multu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xc1ae47e, LO 0xffffffffb5b6b160
+multu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0x9c6a90d, LO 0x13a60065
+multu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0x6d9f7d5, LO 0xffffffffe4ba75ac
+multu $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0x0, LO 0x0
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+movn $s0, $s1, $s2 :: rd 0x12bd6aa, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+movn $s0, $s1, $s2 :: rd 0x7e876382d2ab13, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+movn $t0, $t1, $t2 :: rd 0x9823b6e, rs 0x9823b6e, rt 0xffffffffb8757bda
+movn $s0, $s1, $s2 :: rd 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+movn $t0, $t1, $t2 :: rd 0xd4326d9, rs 0xd4326d9, rt 0xffffffffbcb4666d
+movn $s0, $s1, $s2 :: rd 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+movn $t0, $t1, $t2 :: rd 0x130476dc, rs 0x130476dc, rt 0xffffffffa2f33668
+movn $s0, $s1, $s2 :: rd 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+movn $t0, $t1, $t2 :: rd 0x17c56b6b, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+movn $s0, $s1, $s2 :: rd 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+movn $t0, $t1, $t2 :: rd 0x1a864db2, rs 0x1a864db2, rt 0xffffffffab710d06
+movn $s0, $s1, $s2 :: rd 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+movn $t0, $t1, $t2 :: rd 0x1e475005, rs 0x1e475005, rt 0xffffffffafb010b1
+movn $s0, $s1, $s2 :: rd 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+movn $t0, $t1, $t2 :: rd 0x2608edb8, rs 0x2608edb8, rt 0xffffffff97ffad0c
+movn $s0, $s1, $s2 :: rd 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+movn $t0, $t1, $t2 :: rd 0x22c9f00f, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+movn $s0, $s1, $s2 :: rd 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+movn $t0, $t1, $t2 :: rd 0x2f8ad6d6, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+movn $s0, $s1, $s2 :: rd 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+movn $t0, $t1, $t2 :: rd 0x2b4bcb61, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+movn $s0, $s1, $s2 :: rd 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+movn $t0, $t1, $t2 :: rd 0x350c9b64, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+movn $s0, $s1, $s2 :: rd 0x47f505569a08a180, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+movn $t0, $t1, $t2 :: rd 0x31cd86d3, rs 0x31cd86d3, rt 0xffffffff803ac667
+movn $s0, $s1, $s2 :: rd 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+movn $t0, $t1, $t2 :: rd 0x3c8ea00a, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+movn $s0, $s1, $s2 :: rd 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+movn $t0, $t1, $t2 :: rd 0x384fbdbd, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+movn $s0, $s1, $s2 :: rd 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+movn $t0, $t1, $t2 :: rd 0x4c11db70, rs 0x4c11db70, rt 0xfffffffffde69bc4
+movn $s0, $s1, $s2 :: rd 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+movn $t0, $t1, $t2 :: rd 0x48d0c6c7, rs 0x48d0c6c7, rt 0xfffffffff9278673
+movn $s0, $s1, $s2 :: rd 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+movn $t0, $t1, $t2 :: rd 0x4593e01e, rs 0x4593e01e, rt 0xfffffffff464a0aa
+movn $s0, $s1, $s2 :: rd 0x36549bd678e895b1, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+movn $t0, $t1, $t2 :: rd 0x4152fda9, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+movn $s0, $s1, $s2 :: rd 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+movn $t0, $t1, $t2 :: rd 0x5f15adac, rs 0x5f15adac, rt 0xffffffffeee2ed18
+movn $s0, $s1, $s2 :: rd 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+movn $t0, $t1, $t2 :: rd 0x5bd4b01b, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+movn $s0, $s1, $s2 :: rd 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+movn $t0, $t1, $t2 :: rd 0x569796c2, rs 0x569796c2, rt 0xffffffffe760d676
+movn $s0, $s1, $s2 :: rd 0x25b50fec14682d97, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+movn $t0, $t1, $t2 :: rd 0x52568b75, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+movn $s0, $s1, $s2 :: rd 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+movn $t0, $t1, $t2 :: rd 0x6a1936c8, rs 0x6a1936c8, rt 0xffffffffdbee767c
+movn $s0, $s1, $s2 :: rd 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+movn $t0, $t1, $t2 :: rd 0x6ed82b7f, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+movn $s0, $s1, $s2 :: rd 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+movn $t0, $t1, $t2 :: rd 0x639b0da6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+movn $s0, $s1, $s2 :: rd 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+movn $t0, $t1, $t2 :: rd 0x675a1011, rs 0x675a1011, rt 0xffffffffd6ad50a5
+movn $s0, $s1, $s2 :: rd 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+movn $t0, $t1, $t2 :: rd 0x791d4014, rs 0x791d4014, rt 0xffffffffc8ea00a0
+movn $s0, $s1, $s2 :: rd 0xd0d070db710cd036, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+movn $t0, $t1, $t2 :: rd 0x7ddc5da3, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+movn $s0, $s1, $s2 :: rd 0x39c21c7d03415604, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+movn $t0, $t1, $t2 :: rd 0x709f7b7a, rs 0x709f7b7a, rt 0xffffffffc1683bce
+movn $s0, $s1, $s2 :: rd 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+movn $t0, $t1, $t2 :: rd 0x745e66cd, rs 0x745e66cd, rt 0xffffffffc5a92679
+movn $s0, $s1, $s2 :: rd 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+movn $t0, $t1, $t2 :: rd 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, rt 0x29d4f654
+movn $s0, $s1, $s2 :: rd 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+movn $t0, $t1, $t2 :: rd 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+movn $s0, $s1, $s2 :: rd 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+movn $t0, $t1, $t2 :: rd 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+movn $s0, $s1, $s2 :: rd 0x900102dac8d7252f, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+movn $t0, $t1, $t2 :: rd 0xffffffff95609039, rs 0xffffffff95609039, rt 0x2497d08d
+movn $s0, $s1, $s2 :: rd 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+movn $t0, $t1, $t2 :: rd 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, rt 0x3ad08088
+movn $s0, $s1, $s2 :: rd 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+movn $t0, $t1, $t2 :: rd 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+movn $s0, $s1, $s2 :: rd 0x314791895991136c, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+movn $t0, $t1, $t2 :: rd 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+movn $s0, $s1, $s2 :: rd 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+movn $t0, $t1, $t2 :: rd 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, rt 0x3793a651
+movn $s0, $s1, $s2 :: rd 0xa809521238895270, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+movn $t0, $t1, $t2 :: rd 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+movn $s0, $s1, $s2 :: rd 0x87750a04ad765040, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+movn $t0, $t1, $t2 :: rd 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, rt 0xb1d065b
+movn $s0, $s1, $s2 :: rd 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+movn $t0, $t1, $t2 :: rd 0xffffffffb7a96036, rs 0xffffffffb7a96036, rt 0x65e2082
+movn $s0, $s1, $s2 :: rd 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+movn $t0, $t1, $t2 :: rd 0xffffffffb3687d81, rs 0xffffffffb3687d81, rt 0x29f3d35
+movn $s0, $s1, $s2 :: rd 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+movn $t0, $t1, $t2 :: rd 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+movn $s0, $s1, $s2 :: rd 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+movn $t0, $t1, $t2 :: rd 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, rt 0x18197087
+movn $s0, $s1, $s2 :: rd 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+movn $t0, $t1, $t2 :: rd 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, rt 0x155a565e
+movn $s0, $s1, $s2 :: rd 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+movn $t0, $t1, $t2 :: rd 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+movn $s0, $s1, $s2 :: rd 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+movn $t0, $t1, $t2 :: rd 0xffffffffd4326d90, rs 0xffffffffd4326d90, rt 0x65c52d24
+movn $s0, $s1, $s2 :: rd 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+movn $t0, $t1, $t2 :: rd 0xffffffffd0f37027, rs 0xffffffffd0f37027, rt 0x61043093
+movn $s0, $s1, $s2 :: rd 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+movn $t0, $t1, $t2 :: rd 0xffffffffddb056fe, rs 0xffffffffddb056fe, rt 0x6c47164a
+movn $s0, $s1, $s2 :: rd 0x77433f373fd1c081, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+movn $t0, $t1, $t2 :: rd 0xffffffffd9714b49, rs 0xffffffffd9714b49, rt 0x68860bfd
+movn $s0, $s1, $s2 :: rd 0xec91d993c92195e4, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+movn $t0, $t1, $t2 :: rd 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+movn $s0, $s1, $s2 :: rd 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+movn $t0, $t1, $t2 :: rd 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, rt 0x7200464f
+movn $s0, $s1, $s2 :: rd 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+movn $t0, $t1, $t2 :: rd 0xffffffffceb42022, rs 0xffffffffceb42022, rt 0x7f436096
+movn $s0, $s1, $s2 :: rd 0xb99e8def2f384907, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+movn $t0, $t1, $t2 :: rd 0xffffffffca753d95, rs 0xffffffffca753d95, rt 0x7b827d21
+movn $s0, $s1, $s2 :: rd 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+movn $t0, $t1, $t2 :: rd 0xfffffffff23a8028, rs 0xfffffffff23a8028, rt 0x43cdc09c
+movn $s0, $s1, $s2 :: rd 0xd685884e76558c4f, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+movn $t0, $t1, $t2 :: rd 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+movn $s0, $s1, $s2 :: rd 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+movn $t0, $t1, $t2 :: rd 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+movn $s0, $s1, $s2 :: rd 0xd30169894df47405, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+movn $t0, $t1, $t2 :: rd 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+movn $s0, $s1, $s2 :: rd 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+movn $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+movn $s0, $s1, $s2 :: rd 0x58300f029cae393a, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+movn $t0, $t1, $t2 :: rd 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+movn $s0, $s1, $s2 :: rd 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+movn $t0, $t1, $t2 :: rd 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+movn $s0, $s1, $s2 :: rd 0x8a96047be3405b48, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+movn $t0, $t1, $t2 :: rd 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+movn $s0, $s1, $s2 :: rd 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+movn $t0, $t1, $t2 :: rd 0x34867077, rs 0x34867077, rt 0xffffffff857130c3
+movn $s0, $s1, $s2 :: rd 0xde230867a630f6ad, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+movn $t0, $t1, $t2 :: rd 0x30476dc0, rs 0x30476dc0, rt 0xffffffff81b02d74
+movn $s0, $s1, $s2 :: rd 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+movn $t0, $t1, $t2 :: rd 0x3d044b19, rs 0x3d044b19, rt 0xffffffff8cf30bad
+movn $s0, $s1, $s2 :: rd 0x94a90544249b18ef, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+movn $t0, $t1, $t2 :: rd 0x39c556ae, rs 0x39c556ae, rt 0xffffffff8832161a
+movn $s0, $s1, $s2 :: rd 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+movn $t0, $t1, $t2 :: rd 0x278206ab, rs 0x278206ab, rt 0xffffffff9675461f
+movn $s0, $s1, $s2 :: rd 0x81daf8200468319b, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+movn $t0, $t1, $t2 :: rd 0x23431b1c, rs 0x23431b1c, rt 0xffffffff92b45ba8
+movn $s0, $s1, $s2 :: rd 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+movn $t0, $t1, $t2 :: rd 0x2e003dc5, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+movn $s0, $s1, $s2 :: rd 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+movn $t0, $t1, $t2 :: rd 0x2ac12072, rs 0x2ac12072, rt 0xffffffff9b3660c6
+movn $s0, $s1, $s2 :: rd 0x300ce751dac6162f, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+movn $t0, $t1, $t2 :: rd 0x128e9dcf, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+movn $s0, $s1, $s2 :: rd 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+movn $t0, $t1, $t2 :: rd 0x164f8078, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+movn $s0, $s1, $s2 :: rd 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+movn $t0, $t1, $t2 :: rd 0x1b0ca6a1, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+movn $s0, $s1, $s2 :: rd 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+movn $t0, $t1, $t2 :: rd 0x1fcdbb16, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+movn $s0, $s1, $s2 :: rd 0xf518381dce634413, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+movn $t0, $t1, $t2 :: rd 0x18aeb13, rs 0x18aeb13, rt 0xffffffffb07daba7
+movn $s0, $s1, $s2 :: rd 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+movn $t0, $t1, $t2 :: rd 0x54bf6a4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+movn $s0, $s1, $s2 :: rd 0xccd392e176321f28, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+movn $t0, $t1, $t2 :: rd 0x808d07d, rs 0x808d07d, rt 0xffffffffb9ff90c9
+movn $s0, $s1, $s2 :: rd 0x829464944018fd8f, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+movn $t0, $t1, $t2 :: rd 0xcc9cdca, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+movn $s0, $s1, $s2 :: rd 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x7897ab07, rt 0x0
+movn $s0, $s1, $s2 :: rd 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+movn $t0, $t1, $t2 :: rd 0x7c56b6b0, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+movn $s0, $s1, $s2 :: rd 0xf156a04c747defd7, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x71159069, rt 0x0
+movn $s0, $s1, $s2 :: rd 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+movn $t0, $t1, $t2 :: rd 0x75d48dde, rs 0x75d48dde, rt 0xffffffffc423cd6a
+movn $s0, $s1, $s2 :: rd 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+movn $t0, $t1, $t2 :: rd 0x6b93dddb, rs 0x6b93dddb, rt 0xffffffffda649d6f
+movn $s0, $s1, $s2 :: rd 0x24296b75a76fa427, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+movn $t0, $t1, $t2 :: rd 0x6f52c06c, rs 0x6f52c06c, rt 0xffffffffdea580d8
+movn $s0, $s1, $s2 :: rd 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+movn $t0, $t1, $t2 :: rd 0x6211e6b5, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+movn $s0, $s1, $s2 :: rd 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+movn $t0, $t1, $t2 :: rd 0x66d0fb02, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+movn $s0, $s1, $s2 :: rd 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+movn $t0, $t1, $t2 :: rd 0x5e9f46bf, rs 0x5e9f46bf, rt 0xffffffffef68060b
+movn $s0, $s1, $s2 :: rd 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+movn $t0, $t1, $t2 :: rd 0x5a5e5b08, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+movn $s0, $s1, $s2 :: rd 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+movn $t0, $t1, $t2 :: rd 0x571d7dd1, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+movn $s0, $s1, $s2 :: rd 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+movn $t0, $t1, $t2 :: rd 0x53dc6066, rs 0x53dc6066, rt 0xffffffffe22b20d2
+movn $s0, $s1, $s2 :: rd 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+movn $t0, $t1, $t2 :: rd 0x4d9b3063, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+movn $s0, $s1, $s2 :: rd 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+movn $t0, $t1, $t2 :: rd 0x495a2dd4, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+movn $s0, $s1, $s2 :: rd 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+movn $t0, $t1, $t2 :: rd 0x44190b0d, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+movn $s0, $s1, $s2 :: rd 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+movn $t0, $t1, $t2 :: rd 0x40d816ba, rs 0x40d816ba, rt 0xfffffffff12f560e
+movn $s0, $s1, $s2 :: rd 0x8b086ee07150c260, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+movn $t0, $t1, $t2 :: rd 0xffffffffaca5c697, rs 0xffffffffaca5c697, rt 0x1d528623
+movn $s0, $s1, $s2 :: rd 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+movn $t0, $t1, $t2 :: rd 0xffffffffa864db20, rs 0xffffffffa864db20, rt 0x19939b94
+movn $s0, $s1, $s2 :: rd 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+movn $t0, $t1, $t2 :: rd 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+movn $s0, $s1, $s2 :: rd 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+movn $t0, $t1, $t2 :: rd 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+movn $s0, $s1, $s2 :: rd 0xc0478f036980171e, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+movn $t0, $t1, $t2 :: rd 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+movn $s0, $s1, $s2 :: rd 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+movn $t0, $t1, $t2 :: rd 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, rt 0xa97ed48
+movn $s0, $s1, $s2 :: rd 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+movn $t0, $t1, $t2 :: rd 0xffffffffb6238b25, rs 0xffffffffb6238b25, rt 0x7d4cb91
+movn $s0, $s1, $s2 :: rd 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+movn $t0, $t1, $t2 :: rd 0xffffffffb2e29692, rs 0xffffffffb2e29692, rt 0x315d626
+movn $s0, $s1, $s2 :: rd 0xeb9682c170312f1, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+movn $t0, $t1, $t2 :: rd 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+movn $s0, $s1, $s2 :: rd 0x84785280dd301d0d, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+movn $s0, $s1, $s2 :: rd 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+movn $s0, $s1, $s2 :: rd 0x26444ced2998436d, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+movn $t0, $t1, $t2 :: rd 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, rt 0x36194d42
+movn $s0, $s1, $s2 :: rd 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+movn $t0, $t1, $t2 :: rd 0xffffffff99a95df3, rs 0xffffffff99a95df3, rt 0x285e1d47
+movn $s0, $s1, $s2 :: rd 0x663d061055833287, rs 0x663d061055833287, rt 0xb620660a49732b90
+movn $t0, $t1, $t2 :: rd 0xffffffff9d684044, rs 0xffffffff9d684044, rt 0x2c9f00f0
+movn $s0, $s1, $s2 :: rd 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+movn $t0, $t1, $t2 :: rd 0xffffffff902b669d, rs 0xffffffff902b669d, rt 0x21dc2629
+movn $s0, $s1, $s2 :: rd 0xf69823670e82471b, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+movn $t0, $t1, $t2 :: rd 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+movn $s0, $s1, $s2 :: rd 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+movn $t0, $t1, $t2 :: rd 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, rt 0x51435d53
+movn $s0, $s1, $s2 :: rd 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+movn $t0, $t1, $t2 :: rd 0xffffffffe4750050, rs 0xffffffffe4750050, rt 0x558240e4
+movn $s0, $s1, $s2 :: rd 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+movn $t0, $t1, $t2 :: rd 0xffffffffe9362689, rs 0xffffffffe9362689, rt 0x58c1663d
+movn $s0, $s1, $s2 :: rd 0x3f46553ecad374df, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+movn $t0, $t1, $t2 :: rd 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+movn $s0, $s1, $s2 :: rd 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+movn $t0, $t1, $t2 :: rd 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+movn $s0, $s1, $s2 :: rd 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+movn $t0, $t1, $t2 :: rd 0xfffffffff771768c, rs 0xfffffffff771768c, rt 0x46863638
+movn $s0, $s1, $s2 :: rd 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+movn $t0, $t1, $t2 :: rd 0xfffffffffa325055, rs 0xfffffffffa325055, rt 0x4bc510e1
+movn $s0, $s1, $s2 :: rd 0xd2df25c419478206, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+movn $t0, $t1, $t2 :: rd 0xfffffffffef34de2, rs 0xfffffffffef34de2, rt 0x4f040d56
+movn $s0, $s1, $s2 :: rd 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+movn $t0, $t1, $t2 :: rd 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+movn $s0, $s1, $s2 :: rd 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+movn $t0, $t1, $t2 :: rd 0xffffffffc27dede8, rs 0xffffffffc27dede8, rt 0x738aad5c
+movn $s0, $s1, $s2 :: rd 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+movn $t0, $t1, $t2 :: rd 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+movn $s0, $s1, $s2 :: rd 0x478909b59a99269, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+movn $t0, $t1, $t2 :: rd 0xffffffffcbffd686, rs 0xffffffffcbffd686, rt 0x7a089632
+movn $s0, $s1, $s2 :: rd 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+movn $t0, $t1, $t2 :: rd 0xffffffffd5b88683, rs 0xffffffffd5b88683, rt 0x644fc637
+movn $s0, $s1, $s2 :: rd 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+movn $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+movn $s0, $s1, $s2 :: rd 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+movn $t0, $t1, $t2 :: rd 0xffffffffdc3abded, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+movn $s0, $s1, $s2 :: rd 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+movn $t0, $t1, $t2 :: rd 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+movn $s0, $s1, $s2 :: rd 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+movn $t0, $t1, $t2 :: rd 0x690ce0ee, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+movn $s0, $s1, $s2 :: rd 0x420b34f533734a4b, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+movn $t0, $t1, $t2 :: rd 0x6dcdfd59, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+movn $s0, $s1, $s2 :: rd 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+movn $t0, $t1, $t2 :: rd 0x608edb80, rs 0x608edb80, rt 0xffffffffd1799b34
+movn $s0, $s1, $s2 :: rd 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+movn $t0, $t1, $t2 :: rd 0x644fc637, rs 0x644fc637, rt 0xffffffffd5b88683
+movn $s0, $s1, $s2 :: rd 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+movn $t0, $t1, $t2 :: rd 0x7a089632, rs 0x7a089632, rt 0xffffffffcbffd686
+movn $s0, $s1, $s2 :: rd 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+movn $t0, $t1, $t2 :: rd 0x7ec98b85, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+movn $s0, $s1, $s2 :: rd 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+movn $t0, $t1, $t2 :: rd 0x738aad5c, rs 0x738aad5c, rt 0xffffffffc27dede8
+movn $s0, $s1, $s2 :: rd 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+movn $t0, $t1, $t2 :: rd 0x774bb0eb, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+movn $s0, $s1, $s2 :: rd 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+movn $t0, $t1, $t2 :: rd 0x4f040d56, rs 0x4f040d56, rt 0xfffffffffef34de2
+movn $s0, $s1, $s2 :: rd 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+movn $t0, $t1, $t2 :: rd 0x4bc510e1, rs 0x4bc510e1, rt 0xfffffffffa325055
+movn $s0, $s1, $s2 :: rd 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+movn $t0, $t1, $t2 :: rd 0x46863638, rs 0x46863638, rt 0xfffffffff771768c
+movn $s0, $s1, $s2 :: rd 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+movn $t0, $t1, $t2 :: rd 0x42472b8f, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+movn $s0, $s1, $s2 :: rd 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+movn $t0, $t1, $t2 :: rd 0x5c007b8a, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+movn $s0, $s1, $s2 :: rd 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+movn $t0, $t1, $t2 :: rd 0x58c1663d, rs 0x58c1663d, rt 0xffffffffe9362689
+movn $s0, $s1, $s2 :: rd 0xf8be8164159649c5, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+movn $t0, $t1, $t2 :: rd 0x558240e4, rs 0x558240e4, rt 0xffffffffe4750050
+movn $s0, $s1, $s2 :: rd 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+movn $t0, $t1, $t2 :: rd 0x51435d53, rs 0x51435d53, rt 0xffffffffe0b41de7
+movn $s0, $s1, $s2 :: rd 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+movn $t0, $t1, $t2 :: rd 0x251d3b9e, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+movn $s0, $s1, $s2 :: rd 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+movn $t0, $t1, $t2 :: rd 0x21dc2629, rs 0x21dc2629, rt 0xffffffff902b669d
+movn $s0, $s1, $s2 :: rd 0xc532e18e187980fa, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+movn $t0, $t1, $t2 :: rd 0x2c9f00f0, rs 0x2c9f00f0, rt 0xffffffff9d684044
+movn $s0, $s1, $s2 :: rd 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+movn $t0, $t1, $t2 :: rd 0x285e1d47, rs 0x285e1d47, rt 0xffffffff99a95df3
+movn $s0, $s1, $s2 :: rd 0xb620660a49732b90, rs 0xb620660a49732b90, rt 0x663d061055833287
+movn $t0, $t1, $t2 :: rd 0x36194d42, rs 0x36194d42, rt 0xffffffff87ee0df6
+movn $s0, $s1, $s2 :: rd 0x993138f16cfde991, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x32d850f5, rt 0x0
+movn $s0, $s1, $s2 :: rd 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x3f9b762c, rt 0x0
+movn $s0, $s1, $s2 :: rd 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+movn $t0, $t1, $t2 :: rd 0x3b5a6b9b, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+movn $s0, $s1, $s2 :: rd 0x743491a6828716c8, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+movn $t0, $t1, $t2 :: rd 0x315d626, rs 0x315d626, rt 0xffffffffb2e29692
+movn $s0, $s1, $s2 :: rd 0x8cff404aede292f2, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+movn $t0, $t1, $t2 :: rd 0x7d4cb91, rs 0x7d4cb91, rt 0xffffffffb6238b25
+movn $s0, $s1, $s2 :: rd 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+movn $t0, $t1, $t2 :: rd 0xa97ed48, rs 0xa97ed48, rt 0xffffffffbb60adfc
+movn $s0, $s1, $s2 :: rd 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+movn $t0, $t1, $t2 :: rd 0xe56f0ff, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+movn $s0, $s1, $s2 :: rd 0xd327538e1875241b, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+movn $t0, $t1, $t2 :: rd 0x1011a0fa, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+movn $s0, $s1, $s2 :: rd 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+movn $t0, $t1, $t2 :: rd 0x14d0bd4d, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+movn $s0, $s1, $s2 :: rd 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+movn $t0, $t1, $t2 :: rd 0x19939b94, rs 0x19939b94, rt 0xffffffffa864db20
+movn $s0, $s1, $s2 :: rd 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+movn $t0, $t1, $t2 :: rd 0x1d528623, rs 0x1d528623, rt 0xffffffffaca5c697
+movn $s0, $s1, $s2 :: rd 0x73916483ae3e9423, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+movn $t0, $t1, $t2 :: rd 0xfffffffff12f560e, rs 0xfffffffff12f560e, rt 0x40d816ba
+movn $s0, $s1, $s2 :: rd 0x276af70a0e128561, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+movn $t0, $t1, $t2 :: rd 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+movn $s0, $s1, $s2 :: rd 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+movn $t0, $t1, $t2 :: rd 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+movn $s0, $s1, $s2 :: rd 0x20223f1308accfa6, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+movn $t0, $t1, $t2 :: rd 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+movn $s0, $s1, $s2 :: rd 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+movn $t0, $t1, $t2 :: rd 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, rt 0x53dc6066
+movn $s0, $s1, $s2 :: rd 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+movn $t0, $t1, $t2 :: rd 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+movn $s0, $s1, $s2 :: rd 0x620d28506d2448dd, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+movn $t0, $t1, $t2 :: rd 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+movn $s0, $s1, $s2 :: rd 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+movn $t0, $t1, $t2 :: rd 0xffffffffef68060b, rs 0xffffffffef68060b, rt 0x5e9f46bf
+movn $s0, $s1, $s2 :: rd 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+movn $t0, $t1, $t2 :: rd 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+movn $s0, $s1, $s2 :: rd 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+movn $t0, $t1, $t2 :: rd 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+movn $s0, $s1, $s2 :: rd 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+movn $t0, $t1, $t2 :: rd 0xffffffffdea580d8, rs 0xffffffffdea580d8, rt 0x6f52c06c
+movn $s0, $s1, $s2 :: rd 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+movn $t0, $t1, $t2 :: rd 0xffffffffda649d6f, rs 0xffffffffda649d6f, rt 0x6b93dddb
+movn $s0, $s1, $s2 :: rd 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+movn $t0, $t1, $t2 :: rd 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, rt 0x75d48dde
+movn $s0, $s1, $s2 :: rd 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+movn $s0, $s1, $s2 :: rd 0x126f646f34c31728, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+movn $t0, $t1, $t2 :: rd 0xffffffffcda1f604, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+movn $s0, $s1, $s2 :: rd 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+movn $s0, $s1, $s2 :: rd 0x7535cd338595d342, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+movn $t0, $t1, $t2 :: rd 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+movn $s0, $s1, $s2 :: rd 0xdfb254da422346ec, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+movn $t0, $t1, $t2 :: rd 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, rt 0x808d07d
+movn $s0, $s1, $s2 :: rd 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+movn $t0, $t1, $t2 :: rd 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+movn $s0, $s1, $s2 :: rd 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+movn $t0, $t1, $t2 :: rd 0xffffffffb07daba7, rs 0xffffffffb07daba7, rt 0x18aeb13
+movn $s0, $s1, $s2 :: rd 0xc7699826b7dee244, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+movn $t0, $t1, $t2 :: rd 0xffffffffae3afba2, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+movn $s0, $s1, $s2 :: rd 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+movn $t0, $t1, $t2 :: rd 0xffffffffaafbe615, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+movn $s0, $s1, $s2 :: rd 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+movn $t0, $t1, $t2 :: rd 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+movn $s0, $s1, $s2 :: rd 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+movn $t0, $t1, $t2 :: rd 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+movn $s0, $s1, $s2 :: rd 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+movn $t0, $t1, $t2 :: rd 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, rt 0x2ac12072
+movn $s0, $s1, $s2 :: rd 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+movn $t0, $t1, $t2 :: rd 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+movn $s0, $s1, $s2 :: rd 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+movn $t0, $t1, $t2 :: rd 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, rt 0x23431b1c
+movn $s0, $s1, $s2 :: rd 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+movn $t0, $t1, $t2 :: rd 0xffffffff9675461f, rs 0xffffffff9675461f, rt 0x278206ab
+movn $s0, $s1, $s2 :: rd 0xa974eac43a489b55, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+movn $t0, $t1, $t2 :: rd 0xffffffff8832161a, rs 0xffffffff8832161a, rt 0x39c556ae
+movn $s0, $s1, $s2 :: rd 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+movn $t0, $t1, $t2 :: rd 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, rt 0x3d044b19
+movn $s0, $s1, $s2 :: rd 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+movn $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+movn $s0, $s1, $s2 :: rd 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+movn $t0, $t1, $t2 :: rd 0xffffffff857130c3, rs 0xffffffff857130c3, rt 0x34867077
+movn $s0, $s1, $s2 :: rd 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+movn $t0, $t1, $t2 :: rd 0x5d8a9099, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+movn $s0, $s1, $s2 :: rd 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+movn $t0, $t1, $t2 :: rd 0x594b8d2e, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+movn $s0, $s1, $s2 :: rd 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+movn $t0, $t1, $t2 :: rd 0x5408abf7, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+movn $s0, $s1, $s2 :: rd 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+movn $t0, $t1, $t2 :: rd 0x50c9b640, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+movn $s0, $s1, $s2 :: rd 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+movn $t0, $t1, $t2 :: rd 0x4e8ee645, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+movn $s0, $s1, $s2 :: rd 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+movn $t0, $t1, $t2 :: rd 0x4a4ffbf2, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+movn $s0, $s1, $s2 :: rd 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+movn $t0, $t1, $t2 :: rd 0x470cdd2b, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+movn $s0, $s1, $s2 :: rd 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+movn $t0, $t1, $t2 :: rd 0x43cdc09c, rs 0x43cdc09c, rt 0xfffffffff23a8028
+movn $s0, $s1, $s2 :: rd 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+movn $t0, $t1, $t2 :: rd 0x7b827d21, rs 0x7b827d21, rt 0xffffffffca753d95
+movn $s0, $s1, $s2 :: rd 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+movn $t0, $t1, $t2 :: rd 0x7f436096, rs 0x7f436096, rt 0xffffffffceb42022
+movn $s0, $s1, $s2 :: rd 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+movn $t0, $t1, $t2 :: rd 0x7200464f, rs 0x7200464f, rt 0xffffffffc3f706fb
+movn $s0, $s1, $s2 :: rd 0xbb8470f981e91117, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+movn $t0, $t1, $t2 :: rd 0x76c15bf8, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+movn $s0, $s1, $s2 :: rd 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+movn $t0, $t1, $t2 :: rd 0x68860bfd, rs 0x68860bfd, rt 0xffffffffd9714b49
+movn $s0, $s1, $s2 :: rd 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+movn $t0, $t1, $t2 :: rd 0x6c47164a, rs 0x6c47164a, rt 0xffffffffddb056fe
+movn $s0, $s1, $s2 :: rd 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+movn $t0, $t1, $t2 :: rd 0x61043093, rs 0x61043093, rt 0xffffffffd0f37027
+movn $s0, $s1, $s2 :: rd 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+movn $t0, $t1, $t2 :: rd 0x65c52d24, rs 0x65c52d24, rt 0xffffffffd4326d90
+movn $s0, $s1, $s2 :: rd 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+movn $t0, $t1, $t2 :: rd 0x119b4be9, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+movn $s0, $s1, $s2 :: rd 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+movn $t0, $t1, $t2 :: rd 0x155a565e, rs 0x155a565e, rt 0xffffffffa4ad16ea
+movn $s0, $s1, $s2 :: rd 0x152828591a652711, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+movn $t0, $t1, $t2 :: rd 0x18197087, rs 0x18197087, rt 0xffffffffa9ee3033
+movn $s0, $s1, $s2 :: rd 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+movn $t0, $t1, $t2 :: rd 0x1cd86d30, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+movn $s0, $s1, $s2 :: rd 0x8d95c049282a0417, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+movn $t0, $t1, $t2 :: rd 0x29f3d35, rs 0x29f3d35, rt 0xffffffffb3687d81
+movn $s0, $s1, $s2 :: rd 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+movn $t0, $t1, $t2 :: rd 0x65e2082, rs 0x65e2082, rt 0xffffffffb7a96036
+movn $s0, $s1, $s2 :: rd 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+movn $t0, $t1, $t2 :: rd 0xb1d065b, rs 0xb1d065b, rt 0xffffffffbaea46ef
+movn $s0, $s1, $s2 :: rd 0xa2b84a635111020, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+movn $t0, $t1, $t2 :: rd 0xfdc1bec, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+movn $s0, $s1, $s2 :: rd 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+movn $t0, $t1, $t2 :: rd 0x3793a651, rs 0x3793a651, rt 0xffffffff8664e6e5
+movn $s0, $s1, $s2 :: rd 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+movn $t0, $t1, $t2 :: rd 0x3352bbe6, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+movn $s0, $s1, $s2 :: rd 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+movn $t0, $t1, $t2 :: rd 0x3e119d3f, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+movn $s0, $s1, $s2 :: rd 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+movn $t0, $t1, $t2 :: rd 0x3ad08088, rs 0x3ad08088, rt 0xffffffff8b27c03c
+movn $s0, $s1, $s2 :: rd 0x7f567f35a6929739, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+movn $t0, $t1, $t2 :: rd 0x2497d08d, rs 0x2497d08d, rt 0xffffffff95609039
+movn $s0, $s1, $s2 :: rd 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+movn $t0, $t1, $t2 :: rd 0x2056cd3a, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+movn $s0, $s1, $s2 :: rd 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+movn $t0, $t1, $t2 :: rd 0x2d15ebe3, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+movn $s0, $s1, $s2 :: rd 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+movn $t0, $t1, $t2 :: rd 0x29d4f654, rs 0x29d4f654, rt 0xffffffff9823b6e0
+movn $s0, $s1, $s2 :: rd 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+movn $t0, $t1, $t2 :: rd 0xffffffffc5a92679, rs 0xffffffffc5a92679, rt 0x745e66cd
+movn $s0, $s1, $s2 :: rd 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+movn $t0, $t1, $t2 :: rd 0xffffffffc1683bce, rs 0xffffffffc1683bce, rt 0x709f7b7a
+movn $s0, $s1, $s2 :: rd 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+movn $t0, $t1, $t2 :: rd 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+movn $s0, $s1, $s2 :: rd 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+movn $t0, $t1, $t2 :: rd 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, rt 0x791d4014
+movn $s0, $s1, $s2 :: rd 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+movn $t0, $t1, $t2 :: rd 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, rt 0x675a1011
+movn $s0, $s1, $s2 :: rd 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+movn $t0, $t1, $t2 :: rd 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, rt 0x639b0da6
+movn $s0, $s1, $s2 :: rd 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+movn $t0, $t1, $t2 :: rd 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+movn $s0, $s1, $s2 :: rd 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+movn $t0, $t1, $t2 :: rd 0xffffffffdbee767c, rs 0xffffffffdbee767c, rt 0x6a1936c8
+movn $s0, $s1, $s2 :: rd 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+movn $t0, $t1, $t2 :: rd 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+movn $s0, $s1, $s2 :: rd 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+movn $t0, $t1, $t2 :: rd 0xffffffffe760d676, rs 0xffffffffe760d676, rt 0x569796c2
+movn $s0, $s1, $s2 :: rd 0x4ed6393df818af57, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+movn $t0, $t1, $t2 :: rd 0xffffffffea23f0af, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+movn $s0, $s1, $s2 :: rd 0xf22e90200236770a, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+movn $t0, $t1, $t2 :: rd 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, rt 0x5f15adac
+movn $s0, $s1, $s2 :: rd 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+movn $t0, $t1, $t2 :: rd 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+movn $s0, $s1, $s2 :: rd 0xeed8f3518102315b, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+movn $t0, $t1, $t2 :: rd 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, rt 0x4593e01e
+movn $s0, $s1, $s2 :: rd 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+movn $t0, $t1, $t2 :: rd 0xfffffffff9278673, rs 0xfffffffff9278673, rt 0x48d0c6c7
+movn $s0, $s1, $s2 :: rd 0x34061933eb253086, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+movn $t0, $t1, $t2 :: rd 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, rt 0x4c11db70
+movn $s0, $s1, $s2 :: rd 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+movn $t0, $t1, $t2 :: rd 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+movn $s0, $s1, $s2 :: rd 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+movn $t0, $t1, $t2 :: rd 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+movn $s0, $s1, $s2 :: rd 0xd00278c3c521d180, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+movn $t0, $t1, $t2 :: rd 0xffffffff803ac667, rs 0xffffffff803ac667, rt 0x31cd86d3
+movn $s0, $s1, $s2 :: rd 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+movn $t0, $t1, $t2 :: rd 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+movn $s0, $s1, $s2 :: rd 0x65fd698fddef9839, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+movn $t0, $t1, $t2 :: rd 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+movn $s0, $s1, $s2 :: rd 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+movn $t0, $t1, $t2 :: rd 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+movn $s0, $s1, $s2 :: rd 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+movn $t0, $t1, $t2 :: rd 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+movn $s0, $s1, $s2 :: rd 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+movn $t0, $t1, $t2 :: rd 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, rt 0x2608edb8
+movn $s0, $s1, $s2 :: rd 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+movn $t0, $t1, $t2 :: rd 0xffffffffafb010b1, rs 0xffffffffafb010b1, rt 0x1e475005
+movn $s0, $s1, $s2 :: rd 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+movn $t0, $t1, $t2 :: rd 0xffffffffab710d06, rs 0xffffffffab710d06, rt 0x1a864db2
+movn $s0, $s1, $s2 :: rd 0xcd61a8639826631e, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+movn $t0, $t1, $t2 :: rd 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+movn $s0, $s1, $s2 :: rd 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+movn $t0, $t1, $t2 :: rd 0xffffffffa2f33668, rs 0xffffffffa2f33668, rt 0x130476dc
+movn $s0, $s1, $s2 :: rd 0x58ec644d6481af17, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+movn $t0, $t1, $t2 :: rd 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, rt 0xd4326d9
+movn $s0, $s1, $s2 :: rd 0x680cce5fb236b666, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+movn $t0, $t1, $t2 :: rd 0xffffffffb8757bda, rs 0xffffffffb8757bda, rt 0x9823b6e
+movn $s0, $s1, $s2 :: rd 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+movn $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb5365d03, rt 0x0
+movn $s0, $s1, $s2 :: rd 0x614d9b445f12236b, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+movn $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb1f740b4, rt 0x0
+movn $s0, $s1, $s2 :: rd 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x9823b6e, rt 0xffffffffb8757bda
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xd4326d9, rt 0xffffffffbcb4666d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x130476dc, rt 0xffffffffa2f33668
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1a864db2, rt 0xffffffffab710d06
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1e475005, rt 0xffffffffafb010b1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2608edb8, rt 0xffffffff97ffad0c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x31cd86d3, rt 0xffffffff803ac667
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4c11db70, rt 0xfffffffffde69bc4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x48d0c6c7, rt 0xfffffffff9278673
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4593e01e, rt 0xfffffffff464a0aa
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5f15adac, rt 0xffffffffeee2ed18
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x569796c2, rt 0xffffffffe760d676
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6a1936c8, rt 0xffffffffdbee767c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x639b0da6, rt 0xffffffffd26c4d12
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x675a1011, rt 0xffffffffd6ad50a5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x791d4014, rt 0xffffffffc8ea00a0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x709f7b7a, rt 0xffffffffc1683bce
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x745e66cd, rt 0xffffffffc5a92679
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9823b6e0, rt 0x29d4f654
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff95609039, rt 0x2497d08d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8664e6e5, rt 0x3793a651
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbaea46ef, rt 0xb1d065b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb7a96036, rt 0x65e2082
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb3687d81, rt 0x29f3d35
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa9ee3033, rt 0x18197087
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa4ad16ea, rt 0x155a565e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd4326d90, rt 0x65c52d24
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd0f37027, rt 0x61043093
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffddb056fe, rt 0x6c47164a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd9714b49, rt 0x68860bfd
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc3f706fb, rt 0x7200464f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffceb42022, rt 0x7f436096
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffca753d95, rt 0x7b827d21
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff23a8028, rt 0x43cdc09c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x34867077, rt 0xffffffff857130c3
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x30476dc0, rt 0xffffffff81b02d74
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3d044b19, rt 0xffffffff8cf30bad
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x39c556ae, rt 0xffffffff8832161a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x23431b1c, rt 0xffffffff92b45ba8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2ac12072, rt 0xffffffff9b3660c6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x18aeb13, rt 0xffffffffb07daba7
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x808d07d, rt 0xffffffffb9ff90c9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+movz $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+movz $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x75d48dde, rt 0xffffffffc423cd6a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6b93dddb, rt 0xffffffffda649d6f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6f52c06c, rt 0xffffffffdea580d8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5e9f46bf, rt 0xffffffffef68060b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x53dc6066, rt 0xffffffffe22b20d2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x40d816ba, rt 0xfffffffff12f560e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffaca5c697, rt 0x1d528623
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa864db20, rt 0x19939b94
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbb60adfc, rt 0xa97ed48
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb6238b25, rt 0x7d4cb91
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb2e29692, rt 0x315d626
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff87ee0df6, rt 0x36194d42
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff99a95df3, rt 0x285e1d47
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x663d061055833287, rt 0xb620660a49732b90
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9d684044, rt 0x2c9f00f0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff902b669d, rt 0x21dc2629
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe0b41de7, rt 0x51435d53
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe4750050, rt 0x558240e4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe9362689, rt 0x58c1663d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff771768c, rt 0x46863638
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffa325055, rt 0x4bc510e1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffef34de2, rt 0x4f040d56
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc27dede8, rt 0x738aad5c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcbffd686, rt 0x7a089632
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd5b88683, rt 0x644fc637
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd1799b34, rt 0x608edb80
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x608edb80, rt 0xffffffffd1799b34
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x644fc637, rt 0xffffffffd5b88683
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7a089632, rt 0xffffffffcbffd686
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x738aad5c, rt 0xffffffffc27dede8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4f040d56, rt 0xfffffffffef34de2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4bc510e1, rt 0xfffffffffa325055
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x46863638, rt 0xfffffffff771768c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x58c1663d, rt 0xffffffffe9362689
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x558240e4, rt 0xffffffffe4750050
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x51435d53, rt 0xffffffffe0b41de7
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x21dc2629, rt 0xffffffff902b669d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2c9f00f0, rt 0xffffffff9d684044
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x285e1d47, rt 0xffffffff99a95df3
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb620660a49732b90, rt 0x663d061055833287
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x36194d42, rt 0xffffffff87ee0df6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+movz $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+movz $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x315d626, rt 0xffffffffb2e29692
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7d4cb91, rt 0xffffffffb6238b25
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x19939b94, rt 0xffffffffa864db20
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1d528623, rt 0xffffffffaca5c697
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff12f560e, rt 0x40d816ba
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe22b20d2, rt 0x53dc6066
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffef68060b, rt 0x5e9f46bf
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdea580d8, rt 0x6f52c06c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffda649d6f, rt 0x6b93dddb
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc423cd6a, rt 0x75d48dde
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb9ff90c9, rt 0x808d07d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb07daba7, rt 0x18aeb13
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9b3660c6, rt 0x2ac12072
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff92b45ba8, rt 0x23431b1c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9675461f, rt 0x278206ab
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8832161a, rt 0x39c556ae
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8cf30bad, rt 0x3d044b19
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff81b02d74, rt 0x30476dc0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff857130c3, rt 0x34867077
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7b827d21, rt 0xffffffffca753d95
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7f436096, rt 0xffffffffceb42022
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7200464f, rt 0xffffffffc3f706fb
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x68860bfd, rt 0xffffffffd9714b49
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6c47164a, rt 0xffffffffddb056fe
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x61043093, rt 0xffffffffd0f37027
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x65c52d24, rt 0xffffffffd4326d90
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x155a565e, rt 0xffffffffa4ad16ea
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x18197087, rt 0xffffffffa9ee3033
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x29f3d35, rt 0xffffffffb3687d81
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x65e2082, rt 0xffffffffb7a96036
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xb1d065b, rt 0xffffffffbaea46ef
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3793a651, rt 0xffffffff8664e6e5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3ad08088, rt 0xffffffff8b27c03c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2497d08d, rt 0xffffffff95609039
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x29d4f654, rt 0xffffffff9823b6e0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc5a92679, rt 0x745e66cd
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc1683bce, rt 0x709f7b7a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc8ea00a0, rt 0x791d4014
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd6ad50a5, rt 0x675a1011
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd26c4d12, rt 0x639b0da6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdbee767c, rt 0x6a1936c8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe760d676, rt 0x569796c2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffeee2ed18, rt 0x5f15adac
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff464a0aa, rt 0x4593e01e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff9278673, rt 0x48d0c6c7
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffde69bc4, rt 0x4c11db70
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff803ac667, rt 0x31cd86d3
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff97ffad0c, rt 0x2608edb8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffafb010b1, rt 0x1e475005
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffab710d06, rt 0x1a864db2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa2f33668, rt 0x130476dc
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbcb4666d, rt 0xd4326d9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb8757bda, rt 0x9823b6e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+movz $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+movz $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x9823b6e, rt 0xffffffffb8757bda
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xd4326d9, rt 0xffffffffbcb4666d
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x130476dc, rt 0xffffffffa2f33668
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1a864db2, rt 0xffffffffab710d06
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1e475005, rt 0xffffffffafb010b1
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2608edb8, rt 0xffffffff97ffad0c
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x31cd86d3, rt 0xffffffff803ac667
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4c11db70, rt 0xfffffffffde69bc4
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x48d0c6c7, rt 0xfffffffff9278673
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4593e01e, rt 0xfffffffff464a0aa
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5f15adac, rt 0xffffffffeee2ed18
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x569796c2, rt 0xffffffffe760d676
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6a1936c8, rt 0xffffffffdbee767c
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x639b0da6, rt 0xffffffffd26c4d12
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x675a1011, rt 0xffffffffd6ad50a5
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x791d4014, rt 0xffffffffc8ea00a0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x709f7b7a, rt 0xffffffffc1683bce
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x745e66cd, rt 0xffffffffc5a92679
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9823b6e0, rt 0x29d4f654
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff95609039, rt 0x2497d08d
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8b27c03c, rt 0x3ad08088
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8664e6e5, rt 0x3793a651
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbaea46ef, rt 0xb1d065b
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb7a96036, rt 0x65e2082
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb3687d81, rt 0x29f3d35
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa9ee3033, rt 0x18197087
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa4ad16ea, rt 0x155a565e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd4326d90, rt 0x65c52d24
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd0f37027, rt 0x61043093
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffddb056fe, rt 0x6c47164a
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd9714b49, rt 0x68860bfd
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc3f706fb, rt 0x7200464f
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffceb42022, rt 0x7f436096
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffca753d95, rt 0x7b827d21
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff23a8028, rt 0x43cdc09c
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x34867077, rt 0xffffffff857130c3
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x30476dc0, rt 0xffffffff81b02d74
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3d044b19, rt 0xffffffff8cf30bad
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x39c556ae, rt 0xffffffff8832161a
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x23431b1c, rt 0xffffffff92b45ba8
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2ac12072, rt 0xffffffff9b3660c6
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x18aeb13, rt 0xffffffffb07daba7
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x808d07d, rt 0xffffffffb9ff90c9
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7897ab07, rt 0x0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x71159069, rt 0x0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x75d48dde, rt 0xffffffffc423cd6a
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6b93dddb, rt 0xffffffffda649d6f
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6f52c06c, rt 0xffffffffdea580d8
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5e9f46bf, rt 0xffffffffef68060b
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x53dc6066, rt 0xffffffffe22b20d2
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x40d816ba, rt 0xfffffffff12f560e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffaca5c697, rt 0x1d528623
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa864db20, rt 0x19939b94
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbb60adfc, rt 0xa97ed48
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb6238b25, rt 0x7d4cb91
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb2e29692, rt 0x315d626
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+slt $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x3f9b762c
+slt $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x32d850f5
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff87ee0df6, rt 0x36194d42
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff99a95df3, rt 0x285e1d47
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9d684044, rt 0x2c9f00f0
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff902b669d, rt 0x21dc2629
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe0b41de7, rt 0x51435d53
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe4750050, rt 0x558240e4
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe9362689, rt 0x58c1663d
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff771768c, rt 0x46863638
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffffa325055, rt 0x4bc510e1
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffffef34de2, rt 0x4f040d56
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc27dede8, rt 0x738aad5c
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffcbffd686, rt 0x7a089632
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd5b88683, rt 0x644fc637
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd1799b34, rt 0x608edb80
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x608edb80, rt 0xffffffffd1799b34
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x644fc637, rt 0xffffffffd5b88683
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7a089632, rt 0xffffffffcbffd686
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x738aad5c, rt 0xffffffffc27dede8
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4f040d56, rt 0xfffffffffef34de2
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4bc510e1, rt 0xfffffffffa325055
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x46863638, rt 0xfffffffff771768c
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x58c1663d, rt 0xffffffffe9362689
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x558240e4, rt 0xffffffffe4750050
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x51435d53, rt 0xffffffffe0b41de7
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x21dc2629, rt 0xffffffff902b669d
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2c9f00f0, rt 0xffffffff9d684044
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x285e1d47, rt 0xffffffff99a95df3
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x36194d42, rt 0xffffffff87ee0df6
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x32d850f5, rt 0x0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3f9b762c, rt 0x0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x315d626, rt 0xffffffffb2e29692
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7d4cb91, rt 0xffffffffb6238b25
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x19939b94, rt 0xffffffffa864db20
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1d528623, rt 0xffffffffaca5c697
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff12f560e, rt 0x40d816ba
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe22b20d2, rt 0x53dc6066
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffef68060b, rt 0x5e9f46bf
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdea580d8, rt 0x6f52c06c
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffda649d6f, rt 0x6b93dddb
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc423cd6a, rt 0x75d48dde
+slt $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x71159069
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+slt $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x7897ab07
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb9ff90c9, rt 0x808d07d
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb07daba7, rt 0x18aeb13
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9b3660c6, rt 0x2ac12072
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff92b45ba8, rt 0x23431b1c
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9675461f, rt 0x278206ab
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8832161a, rt 0x39c556ae
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8cf30bad, rt 0x3d044b19
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff81b02d74, rt 0x30476dc0
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff857130c3, rt 0x34867077
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7b827d21, rt 0xffffffffca753d95
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7f436096, rt 0xffffffffceb42022
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7200464f, rt 0xffffffffc3f706fb
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x68860bfd, rt 0xffffffffd9714b49
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6c47164a, rt 0xffffffffddb056fe
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x61043093, rt 0xffffffffd0f37027
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x65c52d24, rt 0xffffffffd4326d90
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x155a565e, rt 0xffffffffa4ad16ea
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x18197087, rt 0xffffffffa9ee3033
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x29f3d35, rt 0xffffffffb3687d81
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x65e2082, rt 0xffffffffb7a96036
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xb1d065b, rt 0xffffffffbaea46ef
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3793a651, rt 0xffffffff8664e6e5
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3ad08088, rt 0xffffffff8b27c03c
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2497d08d, rt 0xffffffff95609039
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x29d4f654, rt 0xffffffff9823b6e0
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc5a92679, rt 0x745e66cd
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc1683bce, rt 0x709f7b7a
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc8ea00a0, rt 0x791d4014
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd6ad50a5, rt 0x675a1011
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd26c4d12, rt 0x639b0da6
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdbee767c, rt 0x6a1936c8
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe760d676, rt 0x569796c2
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffeee2ed18, rt 0x5f15adac
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff464a0aa, rt 0x4593e01e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff9278673, rt 0x48d0c6c7
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffffde69bc4, rt 0x4c11db70
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff803ac667, rt 0x31cd86d3
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff97ffad0c, rt 0x2608edb8
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffafb010b1, rt 0x1e475005
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffab710d06, rt 0x1a864db2
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa2f33668, rt 0x130476dc
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbcb4666d, rt 0xd4326d9
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb8757bda, rt 0x9823b6e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb5365d03, rt 0x0
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb1f740b4, rt 0x0
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x12bd6aa, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x12bd6aa, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x12bd6aa, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x12bd6aa, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7e876382d2ab13, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7e876382d2ab13, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7e876382d2ab13, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7e876382d2ab13, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x9823b6e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x9823b6e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x9823b6e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x9823b6e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xd4326d9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xd4326d9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xd4326d9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xd4326d9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x130476dc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x130476dc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x130476dc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x130476dc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x42b0c0a28677b502, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x17c56b6b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x17c56b6b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x17c56b6b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x17c56b6b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1a864db2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1a864db2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1a864db2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1a864db2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1f308ec377fb413d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1e475005, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1e475005, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1e475005, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1e475005, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2608edb8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2608edb8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2608edb8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2608edb8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x22c9f00f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x22c9f00f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x22c9f00f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x22c9f00f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4b3dda869615a60d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2f8ad6d6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2f8ad6d6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2b4bcb61, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2b4bcb61, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2b4bcb61, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2b4bcb61, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x350c9b64, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x350c9b64, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x350c9b64, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x350c9b64, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x47f505569a08a180, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x47f505569a08a180, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x47f505569a08a180, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x47f505569a08a180, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x31cd86d3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x31cd86d3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x31cd86d3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x31cd86d3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3c8ea00a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3c8ea00a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3c8ea00a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3c8ea00a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x384fbdbd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x384fbdbd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x384fbdbd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x384fbdbd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4c11db70, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4c11db70, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4c11db70, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4c11db70, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x94ff52fc81afa797, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x94ff52fc81afa797, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x94ff52fc81afa797, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x94ff52fc81afa797, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x48d0c6c7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x48d0c6c7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x48d0c6c7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x48d0c6c7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4593e01e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4593e01e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4593e01e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4593e01e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x36549bd678e895b1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x36549bd678e895b1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x36549bd678e895b1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x36549bd678e895b1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4152fda9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4152fda9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4152fda9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4152fda9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x85e0a6319b63259b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x85e0a6319b63259b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x85e0a6319b63259b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x85e0a6319b63259b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5f15adac, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5f15adac, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5f15adac, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5f15adac, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5bd4b01b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5bd4b01b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5bd4b01b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5bd4b01b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x569796c2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x569796c2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x569796c2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x569796c2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x25b50fec14682d97, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x25b50fec14682d97, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x25b50fec14682d97, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x25b50fec14682d97, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x52568b75, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x52568b75, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x52568b75, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x52568b75, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6a1936c8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6a1936c8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6a1936c8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6a1936c8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6ed82b7f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6ed82b7f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6ed82b7f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6ed82b7f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1791722a7d72da3e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x639b0da6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x639b0da6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x639b0da6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x639b0da6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x675a1011, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x675a1011, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x675a1011, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x675a1011, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1d2a757038984ed2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x791d4014, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x791d4014, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x791d4014, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x791d4014, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd0d070db710cd036, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd0d070db710cd036, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd0d070db710cd036, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd0d070db710cd036, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7ddc5da3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7ddc5da3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7ddc5da3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7ddc5da3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x39c21c7d03415604, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x39c21c7d03415604, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x39c21c7d03415604, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x39c21c7d03415604, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x709f7b7a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x709f7b7a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x709f7b7a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x709f7b7a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x745e66cd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x745e66cd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x745e66cd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x745e66cd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9823b6e0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9823b6e0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9823b6e0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9823b6e0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2608c2b756da4c54, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff91a18d8e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff91a18d8e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff91a18d8e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff91a18d8e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x900102dac8d7252f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x900102dac8d7252f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x900102dac8d7252f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x900102dac8d7252f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff95609039, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff95609039, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff95609039, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff95609039, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8b27c03c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8b27c03c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8b27c03c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8b27c03c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x314791895991136c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x314791895991136c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x314791895991136c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x314791895991136c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff82a5fb52, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff82a5fb52, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff82a5fb52, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff82a5fb52, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8664e6e5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8664e6e5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8664e6e5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8664e6e5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa809521238895270, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa809521238895270, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa809521238895270, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa809521238895270, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x87750a04ad765040, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x87750a04ad765040, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x87750a04ad765040, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x87750a04ad765040, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbaea46ef, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbaea46ef, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbaea46ef, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbaea46ef, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb7a96036, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb7a96036, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb7a96036, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb7a96036, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb3687d81, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb3687d81, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb3687d81, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb3687d81, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffad2f2d84, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffad2f2d84, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffad2f2d84, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffad2f2d84, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa9ee3033, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa9ee3033, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa9ee3033, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa9ee3033, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd4326d90, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd4326d90, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd4326d90, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd4326d90, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd0f37027, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd0f37027, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd0f37027, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd0f37027, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffddb056fe, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffddb056fe, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffddb056fe, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffddb056fe, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x77433f373fd1c081, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x77433f373fd1c081, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x77433f373fd1c081, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x77433f373fd1c081, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd9714b49, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd9714b49, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd9714b49, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd9714b49, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xec91d993c92195e4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xec91d993c92195e4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xec91d993c92195e4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xec91d993c92195e4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc7361b4c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc7361b4c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc7361b4c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc7361b4c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc3f706fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc3f706fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc3f706fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc3f706fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffceb42022, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffceb42022, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffceb42022, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffceb42022, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb99e8def2f384907, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb99e8def2f384907, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb99e8def2f384907, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb99e8def2f384907, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffca753d95, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffca753d95, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffca753d95, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffca753d95, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff23a8028, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff23a8028, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff23a8028, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff23a8028, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd685884e76558c4f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd685884e76558c4f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd685884e76558c4f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd685884e76558c4f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6168d62a34c195c7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd30169894df47405, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd30169894df47405, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd30169894df47405, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd30169894df47405, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffff79a6f1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffff79a6f1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffff79a6f1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffff79a6f1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x58300f029cae393a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x58300f029cae393a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x58300f029cae393a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x58300f029cae393a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8a96047be3405b48, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8a96047be3405b48, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8a96047be3405b48, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8a96047be3405b48, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffec7dd02d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffec7dd02d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffec7dd02d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffec7dd02d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x75bfafd2d519d322, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x34867077, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x34867077, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x34867077, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x34867077, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xde230867a630f6ad, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xde230867a630f6ad, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xde230867a630f6ad, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xde230867a630f6ad, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x30476dc0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x30476dc0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x30476dc0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x30476dc0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2c0a0cf256103260, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3d044b19, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3d044b19, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3d044b19, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3d044b19, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x94a90544249b18ef, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x94a90544249b18ef, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x94a90544249b18ef, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x94a90544249b18ef, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x39c556ae, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x39c556ae, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x39c556ae, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x39c556ae, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x278206ab, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x278206ab, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x278206ab, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x278206ab, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x81daf8200468319b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x81daf8200468319b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x81daf8200468319b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x81daf8200468319b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x23431b1c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x23431b1c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x23431b1c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x23431b1c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2e003dc5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2e003dc5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2e003dc5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2e003dc5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2ac12072, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2ac12072, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2ac12072, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2ac12072, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x300ce751dac6162f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x300ce751dac6162f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x300ce751dac6162f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x300ce751dac6162f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x128e9dcf, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x128e9dcf, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x128e9dcf, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x128e9dcf, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x164f8078, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x164f8078, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x164f8078, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x164f8078, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xad00b1f7da78479f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xad00b1f7da78479f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xad00b1f7da78479f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xad00b1f7da78479f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1b0ca6a1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1b0ca6a1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1fcdbb16, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1fcdbb16, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1fcdbb16, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1fcdbb16, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf518381dce634413, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf518381dce634413, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf518381dce634413, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf518381dce634413, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x18aeb13, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x18aeb13, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x18aeb13, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x18aeb13, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x54bf6a4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x54bf6a4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x54bf6a4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x54bf6a4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xccd392e176321f28, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xccd392e176321f28, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xccd392e176321f28, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xccd392e176321f28, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x808d07d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x808d07d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x808d07d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x808d07d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x829464944018fd8f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x829464944018fd8f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x829464944018fd8f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x829464944018fd8f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xcc9cdca, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xcc9cdca, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xcc9cdca, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xcc9cdca, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7897ab07, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7897ab07, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7897ab07, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7897ab07, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7caf83d2880ff344, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7c56b6b0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7c56b6b0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7c56b6b0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7c56b6b0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf156a04c747defd7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf156a04c747defd7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf156a04c747defd7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf156a04c747defd7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x71159069, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x71159069, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x71159069, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x71159069, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x93e2601c0f31d710, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x93e2601c0f31d710, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x93e2601c0f31d710, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x93e2601c0f31d710, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x75d48dde, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x75d48dde, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x75d48dde, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x75d48dde, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe1e1a679131cd933, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe1e1a679131cd933, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe1e1a679131cd933, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe1e1a679131cd933, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6b93dddb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6b93dddb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6b93dddb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6b93dddb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x24296b75a76fa427, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x24296b75a76fa427, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x24296b75a76fa427, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x24296b75a76fa427, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6f52c06c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6f52c06c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6f52c06c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6f52c06c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6211e6b5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6211e6b5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6211e6b5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6211e6b5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x66d0fb02, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x66d0fb02, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x66d0fb02, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x66d0fb02, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x76c89e80c07dc168, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5e9f46bf, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5e9f46bf, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5e9f46bf, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5e9f46bf, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x70dc3454bfe348f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5a5e5b08, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5a5e5b08, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5a5e5b08, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5a5e5b08, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x571d7dd1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x571d7dd1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x571d7dd1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x571d7dd1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x53dc6066, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x53dc6066, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x53dc6066, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x53dc6066, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4d9b3063, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4d9b3063, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4d9b3063, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4d9b3063, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x495a2dd4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x495a2dd4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x495a2dd4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x495a2dd4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x44190b0d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x44190b0d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x44190b0d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x44190b0d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x40d816ba, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x40d816ba, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x40d816ba, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x40d816ba, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8b086ee07150c260, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8b086ee07150c260, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8b086ee07150c260, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8b086ee07150c260, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffaca5c697, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffaca5c697, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffaca5c697, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffaca5c697, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe54750d5d9257f25, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe54750d5d9257f25, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe54750d5d9257f25, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe54750d5d9257f25, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa864db20, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa864db20, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa864db20, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa864db20, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa527fdf9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa527fdf9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa527fdf9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa527fdf9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x70a3e0424340ac96, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc0478f036980171e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc0478f036980171e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc0478f036980171e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc0478f036980171e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbb60adfc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbb60adfc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbb60adfc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbb60adfc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb6238b25, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb6238b25, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb6238b25, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb6238b25, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb2e29692, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb2e29692, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb2e29692, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb2e29692, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xeb9682c170312f1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xeb9682c170312f1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xeb9682c170312f1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xeb9682c170312f1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x84785280dd301d0d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x84785280dd301d0d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x84785280dd301d0d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x84785280dd301d0d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x26444ced2998436d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x26444ced2998436d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x26444ced2998436d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x26444ced2998436d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff87ee0df6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff87ee0df6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff87ee0df6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff87ee0df6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7175c9dd58ca708, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff99a95df3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff99a95df3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff99a95df3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff99a95df3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x663d061055833287, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x663d061055833287, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x663d061055833287, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x663d061055833287, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9d684044, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9d684044, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9d684044, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9d684044, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xab7dd0488951d68b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xab7dd0488951d68b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xab7dd0488951d68b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xab7dd0488951d68b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff902b669d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff902b669d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff902b669d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff902b669d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf69823670e82471b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf69823670e82471b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf69823670e82471b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf69823670e82471b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x36886c59d98d26b2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe0b41de7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe0b41de7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe0b41de7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe0b41de7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe4750050, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe4750050, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe4750050, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe4750050, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe9362689, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe9362689, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe9362689, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe9362689, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3f46553ecad374df, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3f46553ecad374df, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3f46553ecad374df, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3f46553ecad374df, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffedf73b3e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffedf73b3e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffedf73b3e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffedf73b3e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff771768c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff771768c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff771768c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff771768c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffffa325055, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffa325055, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffffa325055, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffffa325055, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd2df25c419478206, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd2df25c419478206, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd2df25c419478206, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd2df25c419478206, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffffef34de2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffef34de2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffffef34de2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffffef34de2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbc65bf27eb321825, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbc65bf27eb321825, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbc65bf27eb321825, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbc65bf27eb321825, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc27dede8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc27dede8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc27dede8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc27dede8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x478909b59a99269, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x478909b59a99269, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x478909b59a99269, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x478909b59a99269, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffcbffd686, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcbffd686, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffcbffd686, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffcbffd686, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbfb31cc87857360f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbfb31cc87857360f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbfb31cc87857360f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbfb31cc87857360f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd5b88683, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd5b88683, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd5b88683, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd5b88683, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd1799b34, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd1799b34, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd1799b34, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd1799b34, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffdc3abded, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdc3abded, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffdc3abded, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffdc3abded, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd8fba05a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd8fba05a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd8fba05a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd8fba05a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x223d7cfe2b961897, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x690ce0ee, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x690ce0ee, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x690ce0ee, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x690ce0ee, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x420b34f533734a4b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x420b34f533734a4b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x420b34f533734a4b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x420b34f533734a4b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6dcdfd59, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6dcdfd59, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6dcdfd59, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6dcdfd59, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x608edb80, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x608edb80, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x608edb80, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x608edb80, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7a387445e392ccd9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x644fc637, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x644fc637, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x644fc637, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x644fc637, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x512f29b1d80000c9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7a089632, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7a089632, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7a089632, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7a089632, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xeaded5c53dad020a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xeaded5c53dad020a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xeaded5c53dad020a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xeaded5c53dad020a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7ec98b85, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7ec98b85, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7ec98b85, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7ec98b85, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8a6229d731eea35b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8a6229d731eea35b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8a6229d731eea35b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8a6229d731eea35b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x738aad5c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x738aad5c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x738aad5c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x738aad5c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x774bb0eb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x774bb0eb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x774bb0eb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x774bb0eb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4f040d56, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4f040d56, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4f040d56, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4f040d56, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4bc510e1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4bc510e1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4bc510e1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4bc510e1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x46863638, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x46863638, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x46863638, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x46863638, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x42472b8f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x42472b8f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x42472b8f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x42472b8f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5c007b8a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5c007b8a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5c007b8a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5c007b8a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x58c1663d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x58c1663d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x58c1663d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x58c1663d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf8be8164159649c5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf8be8164159649c5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf8be8164159649c5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf8be8164159649c5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x558240e4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x558240e4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x558240e4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x558240e4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7ca3259784e69b17, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x51435d53, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x51435d53, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x51435d53, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x51435d53, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x251d3b9e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x251d3b9e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x251d3b9e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x251d3b9e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x21dc2629, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x21dc2629, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x21dc2629, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x21dc2629, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc532e18e187980fa, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc532e18e187980fa, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc532e18e187980fa, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc532e18e187980fa, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2c9f00f0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2c9f00f0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2c9f00f0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2c9f00f0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x285e1d47, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x285e1d47, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x285e1d47, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x285e1d47, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb620660a49732b90, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb620660a49732b90, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb620660a49732b90, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb620660a49732b90, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x36194d42, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x36194d42, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x36194d42, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x36194d42, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x993138f16cfde991, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x993138f16cfde991, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x993138f16cfde991, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x993138f16cfde991, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x32d850f5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x32d850f5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x32d850f5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x32d850f5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xde02d1337d5407b9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xde02d1337d5407b9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xde02d1337d5407b9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xde02d1337d5407b9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3f9b762c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3f9b762c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3f9b762c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3f9b762c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3b5a6b9b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3b5a6b9b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x743491a6828716c8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x743491a6828716c8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x743491a6828716c8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x743491a6828716c8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x315d626, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x315d626, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x315d626, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x315d626, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8cff404aede292f2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8cff404aede292f2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8cff404aede292f2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8cff404aede292f2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7d4cb91, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7d4cb91, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7d4cb91, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7d4cb91, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb9cec0db1f837636, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb9cec0db1f837636, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb9cec0db1f837636, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb9cec0db1f837636, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xa97ed48, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xa97ed48, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xa97ed48, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xa97ed48, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xe56f0ff, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xe56f0ff, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xe56f0ff, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xe56f0ff, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd327538e1875241b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd327538e1875241b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd327538e1875241b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd327538e1875241b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1011a0fa, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1011a0fa, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1011a0fa, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1011a0fa, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x14d0bd4d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x14d0bd4d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x14d0bd4d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x14d0bd4d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x19939b94, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x19939b94, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x19939b94, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x19939b94, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1d528623, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1d528623, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1d528623, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1d528623, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x73916483ae3e9423, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x73916483ae3e9423, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x73916483ae3e9423, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x73916483ae3e9423, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff12f560e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff12f560e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff12f560e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff12f560e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x276af70a0e128561, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x276af70a0e128561, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x276af70a0e128561, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x276af70a0e128561, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x20223f1308accfa6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x20223f1308accfa6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x20223f1308accfa6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x20223f1308accfa6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf83c55743976b5f5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf83c55743976b5f5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf83c55743976b5f5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf83c55743976b5f5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe22b20d2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe22b20d2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe22b20d2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe22b20d2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1f9720f946923c3d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x620d28506d2448dd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x620d28506d2448dd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x620d28506d2448dd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x620d28506d2448dd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffeba91bbc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffeba91bbc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffeba91bbc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffeba91bbc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x60a521e99ff4a732, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffef68060b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffef68060b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffef68060b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffef68060b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd727bbb6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd727bbb6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd727bbb6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd727bbb6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd3e6a601, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffdea580d8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdea580d8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffdea580d8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffdea580d8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffda649d6f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffda649d6f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffda649d6f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffda649d6f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc423cd6a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc423cd6a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc423cd6a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc423cd6a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x743e568d2fcf486b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x126f646f34c31728, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x126f646f34c31728, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x126f646f34c31728, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x126f646f34c31728, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffcda1f604, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcda1f604, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffcda1f604, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffcda1f604, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xaab0196156fc4d12, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xaab0196156fc4d12, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xaab0196156fc4d12, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xaab0196156fc4d12, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7535cd338595d342, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7535cd338595d342, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7535cd338595d342, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7535cd338595d342, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xdfb254da422346ec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xdfb254da422346ec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xdfb254da422346ec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xdfb254da422346ec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa86726c90081ab2a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa86726c90081ab2a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa86726c90081ab2a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa86726c90081ab2a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb4bcb610, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb4bcb610, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb4bcb610, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb4bcb610, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb07daba7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb07daba7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb07daba7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb07daba7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc7699826b7dee244, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc7699826b7dee244, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc7699826b7dee244, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc7699826b7dee244, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffae3afba2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffae3afba2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffae3afba2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffae3afba2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3c07af97fba6704a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffaafbe615, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffaafbe615, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffaafbe615, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffaafbe615, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x521364dc04c58bfe, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa379dd7b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa379dd7b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa379dd7b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa379dd7b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9b3660c6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9b3660c6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9b3660c6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9b3660c6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9ff77d71, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9ff77d71, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9ff77d71, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9ff77d71, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff92b45ba8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff92b45ba8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff92b45ba8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff92b45ba8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9675461f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9675461f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9675461f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9675461f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa974eac43a489b55, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa974eac43a489b55, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa974eac43a489b55, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa974eac43a489b55, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8832161a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8832161a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8832161a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8832161a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8cf30bad, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8cf30bad, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8cf30bad, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8cf30bad, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff81b02d74, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff81b02d74, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff81b02d74, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff81b02d74, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff857130c3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff857130c3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff857130c3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff857130c3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5d8a9099, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5d8a9099, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5d8a9099, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5d8a9099, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x594b8d2e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x594b8d2e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x594b8d2e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x594b8d2e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4bf8485ab728922f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5408abf7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5408abf7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5408abf7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5408abf7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x50c9b640, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x50c9b640, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x50c9b640, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x50c9b640, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4e8ee645, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4e8ee645, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4e8ee645, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4e8ee645, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4a4ffbf2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4a4ffbf2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x470cdd2b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x470cdd2b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x470cdd2b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x470cdd2b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x43cdc09c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x43cdc09c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x43cdc09c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x43cdc09c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7b827d21, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7b827d21, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7b827d21, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7b827d21, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7f436096, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7f436096, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7f436096, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7f436096, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7200464f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7200464f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7200464f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7200464f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbb8470f981e91117, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbb8470f981e91117, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbb8470f981e91117, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbb8470f981e91117, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x76c15bf8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x76c15bf8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x76c15bf8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x76c15bf8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x68860bfd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x68860bfd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x68860bfd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x68860bfd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x14abf36419fb9e63, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6c47164a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6c47164a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6c47164a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6c47164a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x249d559aa8d72aac, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x61043093, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x61043093, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x61043093, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x61043093, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xcd6764f084b30ec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x65c52d24, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x65c52d24, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x65c52d24, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x65c52d24, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x119b4be9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x119b4be9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x119b4be9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x119b4be9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x155a565e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x155a565e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x155a565e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x155a565e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x152828591a652711, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x152828591a652711, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x152828591a652711, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x152828591a652711, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x18197087, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x18197087, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x18197087, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x18197087, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1cd86d30, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1cd86d30, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1cd86d30, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1cd86d30, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8d95c049282a0417, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8d95c049282a0417, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8d95c049282a0417, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8d95c049282a0417, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x29f3d35, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x29f3d35, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x29f3d35, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x29f3d35, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf2e7a490978058f3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf2e7a490978058f3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf2e7a490978058f3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf2e7a490978058f3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x65e2082, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x65e2082, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x65e2082, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x65e2082, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xb1d065b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xb1d065b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xb1d065b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xb1d065b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xa2b84a635111020, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xa2b84a635111020, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xa2b84a635111020, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xa2b84a635111020, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xfdc1bec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xfdc1bec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xfdc1bec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xfdc1bec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3793a651, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3793a651, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3793a651, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3793a651, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa3d991b79941dedd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa3d991b79941dedd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa3d991b79941dedd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa3d991b79941dedd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3352bbe6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3352bbe6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3352bbe6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3352bbe6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x751cb4835a0d9508, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3e119d3f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3e119d3f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3e119d3f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3e119d3f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x949cad35625bb2d3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x949cad35625bb2d3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x949cad35625bb2d3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x949cad35625bb2d3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3ad08088, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3ad08088, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3ad08088, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3ad08088, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7f567f35a6929739, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7f567f35a6929739, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7f567f35a6929739, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7f567f35a6929739, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2497d08d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2497d08d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2497d08d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2497d08d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2056cd3a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2056cd3a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2056cd3a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2056cd3a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2d15ebe3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2d15ebe3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2d15ebe3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2d15ebe3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1048d589a4363f7b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x29d4f654, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x29d4f654, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x29d4f654, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x29d4f654, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6a6d5708f4605790, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc5a92679, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc5a92679, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc5a92679, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc5a92679, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd58ecbabde35697f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd58ecbabde35697f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd58ecbabde35697f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd58ecbabde35697f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc1683bce, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc1683bce, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc1683bce, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc1683bce, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd26c4d12, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd26c4d12, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd26c4d12, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd26c4d12, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa978f12ca22256a7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa978f12ca22256a7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa978f12ca22256a7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa978f12ca22256a7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9950a93b811ee02f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9950a93b811ee02f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9950a93b811ee02f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9950a93b811ee02f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffdbee767c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdbee767c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffdbee767c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffdbee767c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe760d676, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe760d676, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe760d676, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe760d676, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4ed6393df818af57, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4ed6393df818af57, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4ed6393df818af57, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4ed6393df818af57, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffea23f0af, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffea23f0af, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffea23f0af, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffea23f0af, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf22e90200236770a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf22e90200236770a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf22e90200236770a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf22e90200236770a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffeee2ed18, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffeee2ed18, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffeee2ed18, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffeee2ed18, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xeed8f3518102315b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xeed8f3518102315b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xeed8f3518102315b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xeed8f3518102315b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff464a0aa, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff464a0aa, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff464a0aa, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff464a0aa, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xadafefb9995efd5e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xadafefb9995efd5e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xadafefb9995efd5e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xadafefb9995efd5e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff9278673, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff9278673, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff9278673, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff9278673, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x34061933eb253086, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x34061933eb253086, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x34061933eb253086, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x34061933eb253086, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffffde69bc4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffde69bc4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffffde69bc4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffffde69bc4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1748da264b4c52bc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff89b8fd09, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff89b8fd09, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff89b8fd09, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff89b8fd09, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8d79e0be, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8d79e0be, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8d79e0be, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8d79e0be, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd00278c3c521d180, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd00278c3c521d180, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd00278c3c521d180, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd00278c3c521d180, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff803ac667, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff803ac667, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff803ac667, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff803ac667, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x65fd698fddef9839, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x65fd698fddef9839, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x65fd698fddef9839, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x65fd698fddef9839, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9e7d9662, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9e7d9662, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9e7d9662, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9e7d9662, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff933eb0bb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff933eb0bb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff933eb0bb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff933eb0bb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x372c209e42f3b58d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff97ffad0c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff97ffad0c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff97ffad0c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff97ffad0c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x30f870b7e122a83b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffafb010b1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffafb010b1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffafb010b1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffafb010b1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9e02de4b678930ec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9e02de4b678930ec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9e02de4b678930ec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9e02de4b678930ec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffab710d06, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffab710d06, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffab710d06, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffab710d06, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xcd61a8639826631e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xcd61a8639826631e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xcd61a8639826631e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xcd61a8639826631e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa6322bdf, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa6322bdf, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa6322bdf, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa6322bdf, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa2f33668, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa2f33668, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa2f33668, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa2f33668, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x58ec644d6481af17, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x58ec644d6481af17, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x58ec644d6481af17, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x58ec644d6481af17, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbcb4666d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbcb4666d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbcb4666d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbcb4666d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x680cce5fb236b666, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x680cce5fb236b666, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x680cce5fb236b666, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x680cce5fb236b666, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb8757bda, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb8757bda, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb8757bda, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb8757bda, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb5365d03, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb5365d03, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb5365d03, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb5365d03, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x614d9b445f12236b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x614d9b445f12236b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x614d9b445f12236b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x614d9b445f12236b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb1f740b4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb1f740b4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb1f740b4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb1f740b4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x12bd6aa, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x12bd6aa, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x12bd6aa, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x12bd6aa, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7e876382d2ab13, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7e876382d2ab13, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7e876382d2ab13, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7e876382d2ab13, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9823b6e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9823b6e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9823b6e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9823b6e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x976d6e9ac31510f3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x976d6e9ac31510f3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x976d6e9ac31510f3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd4326d9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd4326d9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd4326d9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd4326d9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb7746d775ad6a5fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb7746d775ad6a5fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb7746d775ad6a5fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x130476dc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x130476dc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x130476dc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x130476dc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x42b0c0a28677b502, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x17c56b6b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x17c56b6b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x17c56b6b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x17c56b6b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2aa89d319e3c30ad, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1a864db2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1a864db2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1a864db2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1a864db2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1f308ec377fb413d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1e475005, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1e475005, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1e475005, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1e475005, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7aa04213c760e4f7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2608edb8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2608edb8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2608edb8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2608edb8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9e705cc51ad8dca0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9e705cc51ad8dca0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9e705cc51ad8dca0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x22c9f00f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x22c9f00f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x22c9f00f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x22c9f00f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4b3dda869615a60d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2f8ad6d6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2f8ad6d6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5e7a4dd6353d41d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2b4bcb61, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2b4bcb61, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2b4bcb61, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2b4bcb61, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3af35a9dc40bd413, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x350c9b64, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x350c9b64, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x350c9b64, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x350c9b64, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x47f505569a08a180, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x47f505569a08a180, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x47f505569a08a180, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x47f505569a08a180, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x31cd86d3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x31cd86d3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x31cd86d3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x31cd86d3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9564b77fd6d2040f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9564b77fd6d2040f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9564b77fd6d2040f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3c8ea00a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3c8ea00a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3c8ea00a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3c8ea00a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xcebc8279b2c76bbe, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xcebc8279b2c76bbe, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xcebc8279b2c76bbe, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x384fbdbd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x384fbdbd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x384fbdbd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x384fbdbd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb5034c2f1f18e4c7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb5034c2f1f18e4c7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb5034c2f1f18e4c7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4c11db70, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4c11db70, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4c11db70, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4c11db70, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x94ff52fc81afa797, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x94ff52fc81afa797, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x94ff52fc81afa797, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x94ff52fc81afa797, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x48d0c6c7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x48d0c6c7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x48d0c6c7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x48d0c6c7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x31d8d9166dfc50ea, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4593e01e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4593e01e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4593e01e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4593e01e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x36549bd678e895b1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x36549bd678e895b1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x36549bd678e895b1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x36549bd678e895b1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4152fda9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4152fda9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4152fda9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4152fda9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x85e0a6319b63259b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x85e0a6319b63259b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x85e0a6319b63259b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x85e0a6319b63259b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5f15adac, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5f15adac, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5f15adac, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5f15adac, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x556b3ecaccf17ac5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5bd4b01b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5bd4b01b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5bd4b01b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5bd4b01b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb42f5fc581eea0fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb42f5fc581eea0fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb42f5fc581eea0fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x569796c2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x569796c2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x569796c2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x569796c2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x25b50fec14682d97, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x25b50fec14682d97, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x25b50fec14682d97, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x25b50fec14682d97, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x52568b75, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x52568b75, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x52568b75, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x52568b75, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfc93c5132cfb087a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfc93c5132cfb087a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfc93c5132cfb087a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6a1936c8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6a1936c8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6a1936c8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6a1936c8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3c2cd9a9cda20766, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6ed82b7f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6ed82b7f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6ed82b7f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6ed82b7f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1791722a7d72da3e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x639b0da6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x639b0da6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x639b0da6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x639b0da6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x87cc9d193ce24ad, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x675a1011, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x675a1011, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x675a1011, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x675a1011, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1d2a757038984ed2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x791d4014, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x791d4014, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x791d4014, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x791d4014, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd0d070db710cd036, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd0d070db710cd036, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd0d070db710cd036, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd0d070db710cd036, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7ddc5da3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7ddc5da3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7ddc5da3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7ddc5da3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x39c21c7d03415604, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x39c21c7d03415604, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x39c21c7d03415604, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x39c21c7d03415604, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x709f7b7a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x709f7b7a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x709f7b7a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x709f7b7a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8e94b7af8ecc31ce, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8e94b7af8ecc31ce, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8e94b7af8ecc31ce, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x745e66cd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x745e66cd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x745e66cd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x745e66cd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x24eb6a8d1ce7674f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9823b6e0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9823b6e0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9823b6e0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9823b6e0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2f39454412d6e4a7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9ce2ab57, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9ce2ab57, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9ce2ab57, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2608c2b756da4c54, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff91a18d8e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff91a18d8e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff91a18d8e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff91a18d8e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x900102dac8d7252f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x900102dac8d7252f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x900102dac8d7252f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x900102dac8d7252f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff95609039, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff95609039, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff95609039, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff95609039, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc890d5f1f2efa4f7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc890d5f1f2efa4f7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc890d5f1f2efa4f7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8b27c03c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8b27c03c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8b27c03c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8b27c03c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8fe6dd8b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8fe6dd8b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8fe6dd8b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x314791895991136c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x314791895991136c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x314791895991136c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x314791895991136c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff82a5fb52, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff82a5fb52, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff82a5fb52, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff82a5fb52, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc6eecff99a2fb6f3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc6eecff99a2fb6f3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc6eecff99a2fb6f3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8664e6e5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8664e6e5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8664e6e5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8664e6e5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa809521238895270, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa809521238895270, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa809521238895270, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa809521238895270, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x87750a04ad765040, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x87750a04ad765040, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x87750a04ad765040, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x87750a04ad765040, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbaea46ef, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbaea46ef, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbaea46ef, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbaea46ef, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2c3de85e84bb5a83, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb7a96036, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb7a96036, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb7a96036, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb7a96036, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xae6aff8fc506aa67, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xae6aff8fc506aa67, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xae6aff8fc506aa67, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb3687d81, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb3687d81, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb3687d81, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb3687d81, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc07112dd60ed5ee3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc07112dd60ed5ee3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc07112dd60ed5ee3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffad2f2d84, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc4c770f630dcca5a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc4c770f630dcca5a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc4c770f630dcca5a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa9ee3033, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa9ee3033, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa9ee3033, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa9ee3033, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xdfec2b2383cd5277, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xdfec2b2383cd5277, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xdfec2b2383cd5277, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa4ad16ea, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa4ad16ea, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa4ad16ea, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd3adba260ff7d96b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd3adba260ff7d96b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd3adba260ff7d96b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa06c0b5d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa06c0b5d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa06c0b5d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4ab4aa798418c00e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd4326d90, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd4326d90, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd4326d90, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd4326d90, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbb8c035e0de0f0b8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbb8c035e0de0f0b8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbb8c035e0de0f0b8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd0f37027, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd0f37027, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd0f37027, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd0f37027, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x33b06f54a97fdcf1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffddb056fe, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffddb056fe, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffddb056fe, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffddb056fe, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x77433f373fd1c081, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x77433f373fd1c081, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x77433f373fd1c081, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x77433f373fd1c081, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd9714b49, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd9714b49, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd9714b49, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd9714b49, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xec91d993c92195e4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xec91d993c92195e4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xec91d993c92195e4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xec91d993c92195e4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc7361b4c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x49fbf6a795b1a5ab, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc3f706fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc3f706fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc3f706fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc3f706fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x19364378c7ce8d1e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffceb42022, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffceb42022, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffceb42022, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffceb42022, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb99e8def2f384907, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb99e8def2f384907, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb99e8def2f384907, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb99e8def2f384907, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffca753d95, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffca753d95, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffca753d95, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffca753d95, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x47eacdcd582b12fe, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff23a8028, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff23a8028, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff23a8028, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff23a8028, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd685884e76558c4f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd685884e76558c4f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd685884e76558c4f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd685884e76558c4f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff6fb9d9f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff6fb9d9f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff6fb9d9f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6168d62a34c195c7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffffbb8bb46, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffbb8bb46, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffffbb8bb46, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd30169894df47405, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd30169894df47405, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd30169894df47405, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd30169894df47405, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffff79a6f1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffff79a6f1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffff79a6f1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffff79a6f1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1ca190bf6cbb06db, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe13ef6f4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe13ef6f4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe13ef6f4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x58300f029cae393a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x58300f029cae393a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x58300f029cae393a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x58300f029cae393a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe5ffeb43, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe5ffeb43, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe5ffeb43, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9a995fdbdc7ebc2d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9a995fdbdc7ebc2d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe8bccd9a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe8bccd9a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe8bccd9a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8a96047be3405b48, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8a96047be3405b48, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8a96047be3405b48, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8a96047be3405b48, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffec7dd02d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffec7dd02d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffec7dd02d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffec7dd02d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x75bfafd2d519d322, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x34867077, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x34867077, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x34867077, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x34867077, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xde230867a630f6ad, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xde230867a630f6ad, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xde230867a630f6ad, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xde230867a630f6ad, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x30476dc0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x30476dc0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x30476dc0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x30476dc0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2c0a0cf256103260, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3d044b19, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3d044b19, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3d044b19, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3d044b19, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x94a90544249b18ef, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x94a90544249b18ef, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x94a90544249b18ef, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x94a90544249b18ef, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x39c556ae, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x39c556ae, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x39c556ae, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x39c556ae, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf9519fb55b56fcde, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf9519fb55b56fcde, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf9519fb55b56fcde, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x278206ab, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x278206ab, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x278206ab, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x278206ab, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x81daf8200468319b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x81daf8200468319b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x81daf8200468319b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x81daf8200468319b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x23431b1c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x23431b1c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x23431b1c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x23431b1c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8c61ca5a5725f2ec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8c61ca5a5725f2ec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8c61ca5a5725f2ec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2e003dc5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2e003dc5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2e003dc5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2e003dc5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8b95a6ddc25dc8bf, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8b95a6ddc25dc8bf, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2ac12072, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2ac12072, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2ac12072, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2ac12072, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x300ce751dac6162f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x300ce751dac6162f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x300ce751dac6162f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x300ce751dac6162f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x128e9dcf, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x128e9dcf, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x128e9dcf, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x128e9dcf, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6778fdf3ba52a850, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x164f8078, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x164f8078, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x164f8078, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x164f8078, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xad00b1f7da78479f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xad00b1f7da78479f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xad00b1f7da78479f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xad00b1f7da78479f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1b0ca6a1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1b0ca6a1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8d44168a6b6d98a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1fcdbb16, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1fcdbb16, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1fcdbb16, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1fcdbb16, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf518381dce634413, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf518381dce634413, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf518381dce634413, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf518381dce634413, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x18aeb13, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x18aeb13, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x18aeb13, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x18aeb13, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x54bf6a4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x54bf6a4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x54bf6a4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x54bf6a4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xccd392e176321f28, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xccd392e176321f28, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xccd392e176321f28, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xccd392e176321f28, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x808d07d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x808d07d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x808d07d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x808d07d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x829464944018fd8f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x829464944018fd8f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x829464944018fd8f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x829464944018fd8f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xcc9cdca, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xcc9cdca, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xcc9cdca, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xcc9cdca, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x15d3204052e8f0e5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7897ab07, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7897ab07, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7897ab07, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7897ab07, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7caf83d2880ff344, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7c56b6b0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7c56b6b0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7c56b6b0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7c56b6b0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf156a04c747defd7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf156a04c747defd7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf156a04c747defd7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf156a04c747defd7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x71159069, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x71159069, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x71159069, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x71159069, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x93e2601c0f31d710, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x75d48dde, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x75d48dde, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x75d48dde, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x75d48dde, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe1e1a679131cd933, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe1e1a679131cd933, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe1e1a679131cd933, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe1e1a679131cd933, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6b93dddb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6b93dddb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6b93dddb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6b93dddb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x24296b75a76fa427, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x24296b75a76fa427, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x24296b75a76fa427, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x24296b75a76fa427, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6f52c06c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6f52c06c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6f52c06c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6f52c06c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd296e2d2139ee56a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd296e2d2139ee56a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd296e2d2139ee56a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6211e6b5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6211e6b5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6211e6b5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6211e6b5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5a82447f6dc2a5c0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x66d0fb02, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x66d0fb02, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x66d0fb02, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x66d0fb02, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x76c89e80c07dc168, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5e9f46bf, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5e9f46bf, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5e9f46bf, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5e9f46bf, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x70dc3454bfe348f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5a5e5b08, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5a5e5b08, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5a5e5b08, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5a5e5b08, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbddc7123dd6d241b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbddc7123dd6d241b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbddc7123dd6d241b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x571d7dd1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x571d7dd1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x571d7dd1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x571d7dd1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf62fb727a59fcebe, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf62fb727a59fcebe, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf62fb727a59fcebe, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x53dc6066, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x53dc6066, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x53dc6066, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x53dc6066, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x109f27e90f9f46fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4d9b3063, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4d9b3063, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4d9b3063, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4d9b3063, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3f63daa9afd199d7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x495a2dd4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x495a2dd4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x495a2dd4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x495a2dd4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xdbcb312ea3d484f2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xdbcb312ea3d484f2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xdbcb312ea3d484f2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x44190b0d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x44190b0d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x44190b0d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x44190b0d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1f353faada4fe4c6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x40d816ba, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x40d816ba, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x40d816ba, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x40d816ba, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8b086ee07150c260, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8b086ee07150c260, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8b086ee07150c260, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8b086ee07150c260, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffaca5c697, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffaca5c697, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffaca5c697, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffaca5c697, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe54750d5d9257f25, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe54750d5d9257f25, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe54750d5d9257f25, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe54750d5d9257f25, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa864db20, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa864db20, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa864db20, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa864db20, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3d69625fe9a6db5b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa527fdf9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa527fdf9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa527fdf9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa527fdf9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x70a3e0424340ac96, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa1e6e04e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa1e6e04e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa1e6e04e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc0478f036980171e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc0478f036980171e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc0478f036980171e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc0478f036980171e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbfa1b04b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbfa1b04b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbfa1b04b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3ce839a51cf929e3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbb60adfc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbb60adfc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbb60adfc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbb60adfc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb6238b25, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb6238b25, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb6238b25, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb6238b25, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd24bb05d76ed25b7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd24bb05d76ed25b7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd24bb05d76ed25b7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb2e29692, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb2e29692, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb2e29692, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb2e29692, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xeb9682c170312f1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xeb9682c170312f1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xeb9682c170312f1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xeb9682c170312f1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8aad2b2f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8aad2b2f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8aad2b2f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x84785280dd301d0d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x84785280dd301d0d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x84785280dd301d0d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x84785280dd301d0d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x179c77aa1f8fd6ef, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x26444ced2998436d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x26444ced2998436d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x26444ced2998436d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x26444ced2998436d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff87ee0df6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff87ee0df6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff87ee0df6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff87ee0df6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7175c9dd58ca708, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff99a95df3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff99a95df3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff99a95df3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff99a95df3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x663d061055833287, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x663d061055833287, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x663d061055833287, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x663d061055833287, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9d684044, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9d684044, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9d684044, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9d684044, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xab7dd0488951d68b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xab7dd0488951d68b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xab7dd0488951d68b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xab7dd0488951d68b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff902b669d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff902b669d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff902b669d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff902b669d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf69823670e82471b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf69823670e82471b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf69823670e82471b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf69823670e82471b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff94ea7b2a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff94ea7b2a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff94ea7b2a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x36886c59d98d26b2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe0b41de7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe0b41de7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe0b41de7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe0b41de7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9ca4bdbd32be479, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe4750050, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe4750050, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe4750050, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe4750050, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfd5d7d1d9962e61f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfd5d7d1d9962e61f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfd5d7d1d9962e61f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe9362689, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe9362689, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe9362689, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe9362689, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3f46553ecad374df, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3f46553ecad374df, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3f46553ecad374df, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3f46553ecad374df, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffedf73b3e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffedf73b3e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffedf73b3e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffedf73b3e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2e9ab97d3eedf2a7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff3b06b3b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff3b06b3b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff3b06b3b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x36a6f7fa3c0c9f33, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff771768c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff771768c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff771768c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff771768c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffffa325055, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffa325055, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffa325055, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffffa325055, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd2df25c419478206, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd2df25c419478206, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd2df25c419478206, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd2df25c419478206, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffffef34de2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffef34de2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffef34de2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffffef34de2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbc65bf27eb321825, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbc65bf27eb321825, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbc65bf27eb321825, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbc65bf27eb321825, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc6bcf05f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc6bcf05f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc6bcf05f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa8b08fe67a8bc7da, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa8b08fe67a8bc7da, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa8b08fe67a8bc7da, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc27dede8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc27dede8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc27dede8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc27dede8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x852b5bcaf8dfcde8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x852b5bcaf8dfcde8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x852b5bcaf8dfcde8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffcf3ecb31, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcf3ecb31, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffcf3ecb31, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x478909b59a99269, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x478909b59a99269, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x478909b59a99269, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x478909b59a99269, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffcbffd686, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcbffd686, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcbffd686, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffcbffd686, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbfb31cc87857360f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbfb31cc87857360f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbfb31cc87857360f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbfb31cc87857360f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd5b88683, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd5b88683, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd5b88683, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd5b88683, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb665ed5e7f89e9a2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb665ed5e7f89e9a2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb665ed5e7f89e9a2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd1799b34, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd1799b34, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd1799b34, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd1799b34, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x15da9474b7a8d5e4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffdc3abded, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdc3abded, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdc3abded, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffdc3abded, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd8fba05a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd8fba05a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd8fba05a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd8fba05a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x223d7cfe2b961897, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x690ce0ee, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x690ce0ee, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x690ce0ee, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x690ce0ee, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x420b34f533734a4b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x420b34f533734a4b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x420b34f533734a4b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x420b34f533734a4b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6dcdfd59, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6dcdfd59, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6dcdfd59, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6dcdfd59, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x897c8c8ddd46b33c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x897c8c8ddd46b33c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x897c8c8ddd46b33c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x608edb80, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x608edb80, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x608edb80, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x608edb80, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7a387445e392ccd9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x644fc637, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x644fc637, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x644fc637, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x644fc637, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x512f29b1d80000c9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7a089632, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7a089632, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7a089632, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7a089632, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xeaded5c53dad020a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xeaded5c53dad020a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xeaded5c53dad020a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xeaded5c53dad020a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7ec98b85, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7ec98b85, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7ec98b85, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7ec98b85, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8a6229d731eea35b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8a6229d731eea35b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8a6229d731eea35b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8a6229d731eea35b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x738aad5c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x738aad5c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x738aad5c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x738aad5c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2c3c3f9e48985649, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x774bb0eb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x774bb0eb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x774bb0eb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x774bb0eb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7ff61e78dc9c0b77, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4f040d56, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4f040d56, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4f040d56, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4f040d56, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2299b0e01d5e68ec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4bc510e1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4bc510e1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4bc510e1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4bc510e1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7c3b04673d0c6e25, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x46863638, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x46863638, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x46863638, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x46863638, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x164e17c1e7fb6587, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x42472b8f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x42472b8f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x42472b8f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x42472b8f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfa4ca28b56d4950b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfa4ca28b56d4950b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfa4ca28b56d4950b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5c007b8a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5c007b8a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5c007b8a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5c007b8a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe5e9a314be7fa08a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe5e9a314be7fa08a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe5e9a314be7fa08a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x58c1663d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x58c1663d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x58c1663d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x58c1663d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf8be8164159649c5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf8be8164159649c5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf8be8164159649c5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf8be8164159649c5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x558240e4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x558240e4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x558240e4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x558240e4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7ca3259784e69b17, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x51435d53, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x51435d53, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x51435d53, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x51435d53, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x251d3b9e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x251d3b9e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x251d3b9e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x251d3b9e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4aeb6ca0e3459e36, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x21dc2629, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x21dc2629, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x21dc2629, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x21dc2629, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc532e18e187980fa, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc532e18e187980fa, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc532e18e187980fa, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc532e18e187980fa, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2c9f00f0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2c9f00f0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2c9f00f0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2c9f00f0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x285e1d47, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x285e1d47, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x285e1d47, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x285e1d47, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb620660a49732b90, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb620660a49732b90, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb620660a49732b90, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb620660a49732b90, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x36194d42, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x36194d42, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x36194d42, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x36194d42, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x993138f16cfde991, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x993138f16cfde991, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x993138f16cfde991, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x993138f16cfde991, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x32d850f5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x32d850f5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x32d850f5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x32d850f5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xde02d1337d5407b9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xde02d1337d5407b9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xde02d1337d5407b9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xde02d1337d5407b9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3f9b762c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3f9b762c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3f9b762c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3f9b762c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x13a390e1e1dab15a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3b5a6b9b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3b5a6b9b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x743491a6828716c8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x743491a6828716c8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x743491a6828716c8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x743491a6828716c8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x315d626, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x315d626, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x315d626, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x315d626, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8cff404aede292f2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8cff404aede292f2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8cff404aede292f2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8cff404aede292f2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7d4cb91, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7d4cb91, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7d4cb91, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7d4cb91, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb9cec0db1f837636, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb9cec0db1f837636, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb9cec0db1f837636, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb9cec0db1f837636, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa97ed48, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa97ed48, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa97ed48, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa97ed48, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2eaa5aa70509771c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe56f0ff, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe56f0ff, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe56f0ff, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe56f0ff, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd327538e1875241b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd327538e1875241b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd327538e1875241b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd327538e1875241b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1011a0fa, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1011a0fa, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1011a0fa, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1011a0fa, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x42e9f8548b739b6b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x14d0bd4d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x14d0bd4d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x14d0bd4d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x14d0bd4d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x78e4e50ceccbba1a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x19939b94, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x19939b94, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x19939b94, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x19939b94, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf6b6fa3fcd9d27cb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf6b6fa3fcd9d27cb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1d528623, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1d528623, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1d528623, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1d528623, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x73916483ae3e9423, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x73916483ae3e9423, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x73916483ae3e9423, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x73916483ae3e9423, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff12f560e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff12f560e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff12f560e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff12f560e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x276af70a0e128561, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x276af70a0e128561, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x276af70a0e128561, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x276af70a0e128561, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff5ee4bb9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff5ee4bb9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff5ee4bb9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3045bf6b5e74b6e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff8ad6d60, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff8ad6d60, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff8ad6d60, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x20223f1308accfa6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x20223f1308accfa6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x20223f1308accfa6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x20223f1308accfa6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffffc6c70d7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffc6c70d7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffffc6c70d7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf83c55743976b5f5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf83c55743976b5f5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf83c55743976b5f5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf83c55743976b5f5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe22b20d2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe22b20d2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe22b20d2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe22b20d2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1f9720f946923c3d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe6ea3d65, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe6ea3d65, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe6ea3d65, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x620d28506d2448dd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x620d28506d2448dd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x620d28506d2448dd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x620d28506d2448dd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffeba91bbc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffeba91bbc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffeba91bbc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffeba91bbc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x60a521e99ff4a732, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffef68060b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffef68060b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffef68060b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffef68060b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5a08f3ab5c680f0b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd727bbb6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd727bbb6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd727bbb6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd727bbb6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc7a59be7800f3d26, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc7a59be7800f3d26, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc7a59be7800f3d26, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd3e6a601, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd3e6a601, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd3e6a601, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd3e6a601, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1aecdf2982ca1b41, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffdea580d8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdea580d8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdea580d8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffdea580d8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2b8613a260d19dcd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffda649d6f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffda649d6f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffda649d6f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffda649d6f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2518ac8b0e8bbe7f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc423cd6a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc423cd6a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc423cd6a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc423cd6a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x743e568d2fcf486b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x126f646f34c31728, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x126f646f34c31728, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x126f646f34c31728, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x126f646f34c31728, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffcda1f604, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcda1f604, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcda1f604, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffcda1f604, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xaab0196156fc4d12, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xaab0196156fc4d12, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xaab0196156fc4d12, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xaab0196156fc4d12, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7535cd338595d342, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7535cd338595d342, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7535cd338595d342, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7535cd338595d342, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbd3e8d7e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbd3e8d7e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbd3e8d7e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xdfb254da422346ec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xdfb254da422346ec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xdfb254da422346ec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xdfb254da422346ec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb9ff90c9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb9ff90c9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb9ff90c9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa86726c90081ab2a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa86726c90081ab2a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa86726c90081ab2a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa86726c90081ab2a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb4bcb610, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9bfeffa1679d7438, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9bfeffa1679d7438, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9bfeffa1679d7438, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb07daba7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb07daba7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb07daba7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb07daba7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc7699826b7dee244, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc7699826b7dee244, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc7699826b7dee244, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc7699826b7dee244, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffae3afba2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffae3afba2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffae3afba2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffae3afba2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3c07af97fba6704a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffaafbe615, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffaafbe615, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffaafbe615, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffaafbe615, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x521364dc04c58bfe, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe0f7bb589ab7aebc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe0f7bb589ab7aebc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe0f7bb589ab7aebc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa379dd7b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa379dd7b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa379dd7b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa379dd7b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe336c60cdeeb954d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe336c60cdeeb954d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe336c60cdeeb954d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9b3660c6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9b3660c6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9b3660c6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9b3660c6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd5b2120c6f52416e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd5b2120c6f52416e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd5b2120c6f52416e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9ff77d71, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9ff77d71, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9ff77d71, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9ff77d71, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x85a2d4ff7e628a34, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x85a2d4ff7e628a34, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x85a2d4ff7e628a34, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff92b45ba8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff92b45ba8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff92b45ba8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff92b45ba8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x986a2b654a4e7e07, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x986a2b654a4e7e07, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x986a2b654a4e7e07, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9675461f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9675461f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9675461f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9675461f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa974eac43a489b55, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa974eac43a489b55, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa974eac43a489b55, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa974eac43a489b55, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8832161a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8832161a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8832161a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8832161a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa388c16272f1f8f5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa388c16272f1f8f5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa388c16272f1f8f5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8cf30bad, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8cf30bad, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8cf30bad, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8cf30bad, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe8c11f45e7495ea9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe8c11f45e7495ea9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe8c11f45e7495ea9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff81b02d74, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff81b02d74, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff81b02d74, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff81b02d74, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xadaa5a765cc1c8b4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xadaa5a765cc1c8b4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xadaa5a765cc1c8b4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff857130c3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff857130c3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff857130c3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff857130c3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7ab4ce88dfa605c0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5d8a9099, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5d8a9099, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5d8a9099, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5d8a9099, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb42ad6e659a7b04f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb42ad6e659a7b04f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb42ad6e659a7b04f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x594b8d2e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x594b8d2e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x594b8d2e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x594b8d2e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4bf8485ab728922f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5408abf7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5408abf7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5408abf7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5408abf7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x76a3d60c3b66a7fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x50c9b640, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x50c9b640, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x50c9b640, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x50c9b640, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x31e0c6affdc28eda, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4e8ee645, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4e8ee645, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4e8ee645, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4e8ee645, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x53606bb4bf0c999d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4a4ffbf2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4a4ffbf2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x32fc12c81b7919f0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x470cdd2b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x470cdd2b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x470cdd2b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x470cdd2b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3ef88384c72efcd6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x43cdc09c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x43cdc09c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x43cdc09c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x43cdc09c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x38b1c7bb6a2a3580, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7b827d21, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7b827d21, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7b827d21, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7b827d21, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x15ebf6121dca77c9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7f436096, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7f436096, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7f436096, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7f436096, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5eaacdd9fd9147ae, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7200464f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7200464f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7200464f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7200464f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbb8470f981e91117, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbb8470f981e91117, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbb8470f981e91117, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbb8470f981e91117, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x76c15bf8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x76c15bf8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x76c15bf8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x76c15bf8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5d42aeac6a532e0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x68860bfd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x68860bfd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x68860bfd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x68860bfd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x14abf36419fb9e63, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6c47164a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6c47164a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6c47164a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6c47164a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x249d559aa8d72aac, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x61043093, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x61043093, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x61043093, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x61043093, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xcd6764f084b30ec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x65c52d24, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x65c52d24, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x65c52d24, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x65c52d24, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7f03ac0792468fdf, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x119b4be9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x119b4be9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x119b4be9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x119b4be9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7e35ce6d56e670f5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x155a565e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x155a565e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x155a565e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x155a565e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x152828591a652711, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x152828591a652711, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x152828591a652711, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x152828591a652711, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x18197087, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x18197087, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x18197087, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x18197087, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9e1c3283d215a9fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9e1c3283d215a9fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9e1c3283d215a9fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1cd86d30, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1cd86d30, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1cd86d30, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1cd86d30, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8d95c049282a0417, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8d95c049282a0417, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8d95c049282a0417, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8d95c049282a0417, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x29f3d35, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x29f3d35, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x29f3d35, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x29f3d35, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf2e7a490978058f3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf2e7a490978058f3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf2e7a490978058f3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf2e7a490978058f3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x65e2082, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x65e2082, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x65e2082, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x65e2082, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x775b4cca0975b1aa, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb1d065b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb1d065b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb1d065b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb1d065b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa2b84a635111020, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa2b84a635111020, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa2b84a635111020, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa2b84a635111020, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfdc1bec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfdc1bec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfdc1bec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfdc1bec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x23fa0d3a7d88b6f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3793a651, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3793a651, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3793a651, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3793a651, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa3d991b79941dedd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa3d991b79941dedd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa3d991b79941dedd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa3d991b79941dedd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3352bbe6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3352bbe6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3352bbe6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3352bbe6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x751cb4835a0d9508, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3e119d3f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3e119d3f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3e119d3f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3e119d3f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x949cad35625bb2d3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x949cad35625bb2d3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x949cad35625bb2d3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x949cad35625bb2d3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3ad08088, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3ad08088, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3ad08088, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3ad08088, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7f567f35a6929739, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7f567f35a6929739, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7f567f35a6929739, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7f567f35a6929739, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2497d08d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2497d08d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2497d08d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2497d08d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x185b88e0db8d7d27, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2056cd3a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2056cd3a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2056cd3a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2056cd3a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x255a4cd22fd61b91, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2d15ebe3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2d15ebe3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2d15ebe3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2d15ebe3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1048d589a4363f7b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x29d4f654, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x29d4f654, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x29d4f654, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x29d4f654, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6a6d5708f4605790, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc5a92679, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc5a92679, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc5a92679, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc5a92679, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd58ecbabde35697f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd58ecbabde35697f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd58ecbabde35697f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd58ecbabde35697f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc1683bce, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc1683bce, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc1683bce, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc1683bce, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x575548fd08c0a5f1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffcc2b1d17, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcc2b1d17, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffcc2b1d17, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8bb640fb8ed98ddb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8bb640fb8ed98ddb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8bb640fb8ed98ddb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc8ea00a0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc8ea00a0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc8ea00a0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd6ad50a5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd6ad50a5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd6ad50a5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2f7e224a1c170ab2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd26c4d12, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd26c4d12, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd26c4d12, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd26c4d12, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa978f12ca22256a7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa978f12ca22256a7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa978f12ca22256a7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa978f12ca22256a7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffdf2f6bcb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdf2f6bcb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffdf2f6bcb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9950a93b811ee02f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9950a93b811ee02f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9950a93b811ee02f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9950a93b811ee02f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffdbee767c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdbee767c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdbee767c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffdbee767c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe3a1cbc1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe3a1cbc1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe3a1cbc1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfe71fca06c0eb657, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfe71fca06c0eb657, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfe71fca06c0eb657, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe760d676, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe760d676, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe760d676, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe760d676, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4ed6393df818af57, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4ed6393df818af57, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4ed6393df818af57, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4ed6393df818af57, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffea23f0af, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffea23f0af, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffea23f0af, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffea23f0af, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf22e90200236770a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf22e90200236770a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf22e90200236770a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf22e90200236770a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffeee2ed18, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x81efb6c7afd0c45d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x81efb6c7afd0c45d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x81efb6c7afd0c45d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff0a5bd1d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff0a5bd1d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff0a5bd1d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xeed8f3518102315b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xeed8f3518102315b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xeed8f3518102315b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xeed8f3518102315b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff464a0aa, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff464a0aa, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff464a0aa, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff464a0aa, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xadafefb9995efd5e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xadafefb9995efd5e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xadafefb9995efd5e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xadafefb9995efd5e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff9278673, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff9278673, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff9278673, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff9278673, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x34061933eb253086, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x34061933eb253086, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x34061933eb253086, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x34061933eb253086, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffde69bc4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1748da264b4c52bc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff89b8fd09, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff89b8fd09, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff89b8fd09, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff89b8fd09, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x34fdfc9a9302be89, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8d79e0be, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8d79e0be, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8d79e0be, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8d79e0be, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd00278c3c521d180, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd00278c3c521d180, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd00278c3c521d180, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd00278c3c521d180, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff803ac667, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff803ac667, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff803ac667, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff803ac667, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe90944a4c1d37a5d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe90944a4c1d37a5d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe90944a4c1d37a5d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x65fd698fddef9839, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x65fd698fddef9839, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x65fd698fddef9839, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x65fd698fddef9839, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9abc8bd5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9abc8bd5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9abc8bd5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc49ee3ad81b5af52, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc49ee3ad81b5af52, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc49ee3ad81b5af52, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9e7d9662, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9e7d9662, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9e7d9662, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9e7d9662, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7aa941e8bdb263e9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff933eb0bb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff933eb0bb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff933eb0bb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff933eb0bb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x372c209e42f3b58d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff97ffad0c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x30f870b7e122a83b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffafb010b1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffafb010b1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffafb010b1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffafb010b1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9e02de4b678930ec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9e02de4b678930ec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9e02de4b678930ec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9e02de4b678930ec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffab710d06, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffab710d06, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffab710d06, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffab710d06, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xcd61a8639826631e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xcd61a8639826631e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xcd61a8639826631e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xcd61a8639826631e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa6322bdf, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa6322bdf, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa6322bdf, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa6322bdf, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xae87bc899a7bd3ca, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xae87bc899a7bd3ca, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xae87bc899a7bd3ca, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa2f33668, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa2f33668, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa2f33668, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa2f33668, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x58ec644d6481af17, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x58ec644d6481af17, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x58ec644d6481af17, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x58ec644d6481af17, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbcb4666d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbcb4666d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbcb4666d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbcb4666d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x680cce5fb236b666, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x680cce5fb236b666, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x680cce5fb236b666, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x680cce5fb236b666, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb8757bda, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb8757bda, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb8757bda, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb8757bda, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3baa99471f6d4d75, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb5365d03, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb5365d03, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb5365d03, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb5365d03, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x614d9b445f12236b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x614d9b445f12236b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x614d9b445f12236b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x614d9b445f12236b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb1f740b4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb1f740b4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb1f740b4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb1f740b4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa2a6ec661ba84121, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa2a6ec661ba84121, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa2a6ec661ba84121, imm 0x0023
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0xffffffffb1f740b4
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0xffffffffb5365d03
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x9823b6e, rt 0xffffffffb8757bda
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xd4326d9, rt 0xffffffffbcb4666d
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x130476dc, rt 0xffffffffa2f33668
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1a864db2, rt 0xffffffffab710d06
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1e475005, rt 0xffffffffafb010b1
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2608edb8, rt 0xffffffff97ffad0c
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x31cd86d3, rt 0xffffffff803ac667
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4c11db70, rt 0xfffffffffde69bc4
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x48d0c6c7, rt 0xfffffffff9278673
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4593e01e, rt 0xfffffffff464a0aa
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5f15adac, rt 0xffffffffeee2ed18
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x569796c2, rt 0xffffffffe760d676
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6a1936c8, rt 0xffffffffdbee767c
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x639b0da6, rt 0xffffffffd26c4d12
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x675a1011, rt 0xffffffffd6ad50a5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x791d4014, rt 0xffffffffc8ea00a0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x709f7b7a, rt 0xffffffffc1683bce
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x745e66cd, rt 0xffffffffc5a92679
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9823b6e0, rt 0x29d4f654
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff95609039, rt 0x2497d08d
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8664e6e5, rt 0x3793a651
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbaea46ef, rt 0xb1d065b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb7a96036, rt 0x65e2082
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb3687d81, rt 0x29f3d35
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa9ee3033, rt 0x18197087
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa4ad16ea, rt 0x155a565e
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd4326d90, rt 0x65c52d24
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd0f37027, rt 0x61043093
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffddb056fe, rt 0x6c47164a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd9714b49, rt 0x68860bfd
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc3f706fb, rt 0x7200464f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffceb42022, rt 0x7f436096
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffca753d95, rt 0x7b827d21
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff23a8028, rt 0x43cdc09c
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x34867077, rt 0xffffffff857130c3
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x30476dc0, rt 0xffffffff81b02d74
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3d044b19, rt 0xffffffff8cf30bad
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x39c556ae, rt 0xffffffff8832161a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x278206ab, rt 0xffffffff9675461f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x23431b1c, rt 0xffffffff92b45ba8
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2ac12072, rt 0xffffffff9b3660c6
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x18aeb13, rt 0xffffffffb07daba7
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x808d07d, rt 0xffffffffb9ff90c9
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0x7897ab07, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0x71159069, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x75d48dde, rt 0xffffffffc423cd6a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6b93dddb, rt 0xffffffffda649d6f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6f52c06c, rt 0xffffffffdea580d8
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5e9f46bf, rt 0xffffffffef68060b
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x53dc6066, rt 0xffffffffe22b20d2
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x40d816ba, rt 0xfffffffff12f560e
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffaca5c697, rt 0x1d528623
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa864db20, rt 0x19939b94
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbb60adfc, rt 0xa97ed48
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb6238b25, rt 0x7d4cb91
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb2e29692, rt 0x315d626
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x3f9b762c
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x32d850f5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff87ee0df6, rt 0x36194d42
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff99a95df3, rt 0x285e1d47
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x663d061055833287, rt 0xb620660a49732b90
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9d684044, rt 0x2c9f00f0
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff902b669d, rt 0x21dc2629
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe0b41de7, rt 0x51435d53
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe4750050, rt 0x558240e4
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe9362689, rt 0x58c1663d
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff771768c, rt 0x46863638
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffa325055, rt 0x4bc510e1
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffef34de2, rt 0x4f040d56
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc27dede8, rt 0x738aad5c
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcbffd686, rt 0x7a089632
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd5b88683, rt 0x644fc637
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd1799b34, rt 0x608edb80
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x608edb80, rt 0xffffffffd1799b34
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x644fc637, rt 0xffffffffd5b88683
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7a089632, rt 0xffffffffcbffd686
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x738aad5c, rt 0xffffffffc27dede8
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4f040d56, rt 0xfffffffffef34de2
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4bc510e1, rt 0xfffffffffa325055
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x46863638, rt 0xfffffffff771768c
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x58c1663d, rt 0xffffffffe9362689
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x558240e4, rt 0xffffffffe4750050
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x51435d53, rt 0xffffffffe0b41de7
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x21dc2629, rt 0xffffffff902b669d
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2c9f00f0, rt 0xffffffff9d684044
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x285e1d47, rt 0xffffffff99a95df3
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb620660a49732b90, rt 0x663d061055833287
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x36194d42, rt 0xffffffff87ee0df6
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0x32d850f5, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0x3f9b762c, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x315d626, rt 0xffffffffb2e29692
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7d4cb91, rt 0xffffffffb6238b25
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xa97ed48, rt 0xffffffffbb60adfc
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x19939b94, rt 0xffffffffa864db20
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1d528623, rt 0xffffffffaca5c697
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff12f560e, rt 0x40d816ba
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe22b20d2, rt 0x53dc6066
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffef68060b, rt 0x5e9f46bf
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdea580d8, rt 0x6f52c06c
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffda649d6f, rt 0x6b93dddb
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc423cd6a, rt 0x75d48dde
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x71159069
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x7897ab07
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb9ff90c9, rt 0x808d07d
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb07daba7, rt 0x18aeb13
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9b3660c6, rt 0x2ac12072
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff92b45ba8, rt 0x23431b1c
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9675461f, rt 0x278206ab
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8832161a, rt 0x39c556ae
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8cf30bad, rt 0x3d044b19
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff81b02d74, rt 0x30476dc0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff857130c3, rt 0x34867077
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x43cdc09c, rt 0xfffffffff23a8028
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7b827d21, rt 0xffffffffca753d95
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7f436096, rt 0xffffffffceb42022
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7200464f, rt 0xffffffffc3f706fb
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x68860bfd, rt 0xffffffffd9714b49
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6c47164a, rt 0xffffffffddb056fe
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x61043093, rt 0xffffffffd0f37027
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x65c52d24, rt 0xffffffffd4326d90
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x155a565e, rt 0xffffffffa4ad16ea
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x18197087, rt 0xffffffffa9ee3033
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x29f3d35, rt 0xffffffffb3687d81
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x65e2082, rt 0xffffffffb7a96036
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xb1d065b, rt 0xffffffffbaea46ef
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3793a651, rt 0xffffffff8664e6e5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3ad08088, rt 0xffffffff8b27c03c
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2497d08d, rt 0xffffffff95609039
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x29d4f654, rt 0xffffffff9823b6e0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc5a92679, rt 0x745e66cd
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc1683bce, rt 0x709f7b7a
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc8ea00a0, rt 0x791d4014
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd6ad50a5, rt 0x675a1011
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd26c4d12, rt 0x639b0da6
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdbee767c, rt 0x6a1936c8
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe760d676, rt 0x569796c2
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffeee2ed18, rt 0x5f15adac
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff464a0aa, rt 0x4593e01e
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff9278673, rt 0x48d0c6c7
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffde69bc4, rt 0x4c11db70
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff803ac667, rt 0x31cd86d3
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff97ffad0c, rt 0x2608edb8
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffafb010b1, rt 0x1e475005
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffab710d06, rt 0x1a864db2
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa2f33668, rt 0x130476dc
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbcb4666d, rt 0xd4326d9
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb8757bda, rt 0x9823b6e
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb5365d03, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb1f740b4, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+sub $t0, $t1, $t2 :: rd 0x4e08bf4c, rs 0x0, rt 0xffffffffb1f740b4
+sub $t0, $t1, $t2 :: rd 0x4ac9a2fd, rs 0x0, rt 0xffffffffb5365d03
+sub $t0, $t1, $t2 :: rd 0x510cbf94, rs 0x9823b6e, rt 0xffffffffb8757bda
+sub $t0, $t1, $t2 :: rd 0x508ec06c, rs 0xd4326d9, rt 0xffffffffbcb4666d
+sub $t0, $t1, $t2 :: rd 0x70114074, rs 0x130476dc, rt 0xffffffffa2f33668
+sub $t0, $t1, $t2 :: rd 0x71933f8c, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+sub $t0, $t1, $t2 :: rd 0x6f1540ac, rs 0x1a864db2, rt 0xffffffffab710d06
+sub $t0, $t1, $t2 :: rd 0x6e973f54, rs 0x1e475005, rt 0xffffffffafb010b1
+sub $t0, $t1, $t2 :: rd 0x4e2b3fac, rs 0x4c11db70, rt 0xfffffffffde69bc4
+sub $t0, $t1, $t2 :: rd 0x4fa94054, rs 0x48d0c6c7, rt 0xfffffffff9278673
+sub $t0, $t1, $t2 :: rd 0x512f3f74, rs 0x4593e01e, rt 0xfffffffff464a0aa
+sub $t0, $t1, $t2 :: rd 0x50ad408c, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+sub $t0, $t1, $t2 :: rd 0x7032c094, rs 0x5f15adac, rt 0xffffffffeee2ed18
+sub $t0, $t1, $t2 :: rd 0x71b0bf6c, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+subu $t0, $t1, $t2 :: rd 0x4e08bf4c, rs 0x0, rt 0xffffffffb1f740b4
+subu $t0, $t1, $t2 :: rd 0x4ac9a2fd, rs 0x0, rt 0xffffffffb5365d03
+subu $t0, $t1, $t2 :: rd 0x510cbf94, rs 0x9823b6e, rt 0xffffffffb8757bda
+subu $t0, $t1, $t2 :: rd 0x508ec06c, rs 0xd4326d9, rt 0xffffffffbcb4666d
+subu $t0, $t1, $t2 :: rd 0x70114074, rs 0x130476dc, rt 0xffffffffa2f33668
+subu $t0, $t1, $t2 :: rd 0x71933f8c, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+subu $t0, $t1, $t2 :: rd 0x6f1540ac, rs 0x1a864db2, rt 0xffffffffab710d06
+subu $t0, $t1, $t2 :: rd 0x6e973f54, rs 0x1e475005, rt 0xffffffffafb010b1
+subu $t0, $t1, $t2 :: rd 0xffffffff8e0940ac, rs 0x2608edb8, rt 0xffffffff97ffad0c
+subu $t0, $t1, $t2 :: rd 0xffffffff8f8b3f54, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+subu $t0, $t1, $t2 :: rd 0xffffffff910d4074, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+subu $t0, $t1, $t2 :: rd 0xffffffff908f3f8c, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+subu $t0, $t1, $t2 :: rd 0xffffffffb010bf94, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+subu $t0, $t1, $t2 :: rd 0xffffffffb192c06c, rs 0x31cd86d3, rt 0xffffffff803ac667
+subu $t0, $t1, $t2 :: rd 0xffffffffaf14bf4c, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+subu $t0, $t1, $t2 :: rd 0xffffffffae96c0b4, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+subu $t0, $t1, $t2 :: rd 0x4e2b3fac, rs 0x4c11db70, rt 0xfffffffffde69bc4
+subu $t0, $t1, $t2 :: rd 0x4fa94054, rs 0x48d0c6c7, rt 0xfffffffff9278673
+subu $t0, $t1, $t2 :: rd 0x512f3f74, rs 0x4593e01e, rt 0xfffffffff464a0aa
+subu $t0, $t1, $t2 :: rd 0x50ad408c, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+subu $t0, $t1, $t2 :: rd 0x7032c094, rs 0x5f15adac, rt 0xffffffffeee2ed18
+subu $t0, $t1, $t2 :: rd 0x71b0bf6c, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+subu $t0, $t1, $t2 :: rd 0x6f36c04c, rs 0x569796c2, rt 0xffffffffe760d676
+subu $t0, $t1, $t2 :: rd 0x6eb4bfb4, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+subu $t0, $t1, $t2 :: rd 0xffffffff8e2ac04c, rs 0x6a1936c8, rt 0xffffffffdbee767c
+subu $t0, $t1, $t2 :: rd 0xffffffff8fa8bfb4, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+subu $t0, $t1, $t2 :: rd 0xffffffff912ec094, rs 0x639b0da6, rt 0xffffffffd26c4d12
+subu $t0, $t1, $t2 :: rd 0xffffffff90acbf6c, rs 0x675a1011, rt 0xffffffffd6ad50a5
+subu $t0, $t1, $t2 :: rd 0xffffffffb0333f74, rs 0x791d4014, rt 0xffffffffc8ea00a0
+subu $t0, $t1, $t2 :: rd 0xffffffffb1b1408c, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+subu $t0, $t1, $t2 :: rd 0xffffffffaf373fac, rs 0x709f7b7a, rt 0xffffffffc1683bce
+subu $t0, $t1, $t2 :: rd 0xffffffffaeb54054, rs 0x745e66cd, rt 0xffffffffc5a92679
+subu $t0, $t1, $t2 :: rd 0x6e4ec08c, rs 0xffffffff9823b6e0, rt 0x29d4f654
+subu $t0, $t1, $t2 :: rd 0x6fccbf74, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+subu $t0, $t1, $t2 :: rd 0x714ac054, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+subu $t0, $t1, $t2 :: rd 0x70c8bfac, rs 0xffffffff95609039, rt 0x2497d08d
+subu $t0, $t1, $t2 :: rd 0x50573fb4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+subu $t0, $t1, $t2 :: rd 0x51d5404c, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+subu $t0, $t1, $t2 :: rd 0x4f533f6c, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+subu $t0, $t1, $t2 :: rd 0x4ed14094, rs 0xffffffff8664e6e5, rt 0x3793a651
+subu $t0, $t1, $t2 :: rd 0xffffffffae4f3f6c, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+subu $t0, $t1, $t2 :: rd 0xffffffffafcd4094, rs 0xffffffffbaea46ef, rt 0xb1d065b
+subu $t0, $t1, $t2 :: rd 0xffffffffb14b3fb4, rs 0xffffffffb7a96036, rt 0x65e2082
+subu $t0, $t1, $t2 :: rd 0xffffffffb0c9404c, rs 0xffffffffb3687d81, rt 0x29f3d35
+subu $t0, $t1, $t2 :: rd 0xffffffff9056c054, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+subu $t0, $t1, $t2 :: rd 0xffffffff91d4bfac, rs 0xffffffffa9ee3033, rt 0x18197087
+subu $t0, $t1, $t2 :: rd 0xffffffff8f52c08c, rs 0xffffffffa4ad16ea, rt 0x155a565e
+subu $t0, $t1, $t2 :: rd 0xffffffff8ed0bf74, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+subu $t0, $t1, $t2 :: rd 0x6e6d406c, rs 0xffffffffd4326d90, rt 0x65c52d24
+subu $t0, $t1, $t2 :: rd 0x6fef3f94, rs 0xffffffffd0f37027, rt 0x61043093
+subu $t0, $t1, $t2 :: rd 0x716940b4, rs 0xffffffffddb056fe, rt 0x6c47164a
+subu $t0, $t1, $t2 :: rd 0x70eb3f4c, rs 0xffffffffd9714b49, rt 0x68860bfd
+subu $t0, $t1, $t2 :: rd 0x5074bf54, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+subu $t0, $t1, $t2 :: rd 0x51f6c0ac, rs 0xffffffffc3f706fb, rt 0x7200464f
+subu $t0, $t1, $t2 :: rd 0x4f70bf8c, rs 0xffffffffceb42022, rt 0x7f436096
+subu $t0, $t1, $t2 :: rd 0x4ef2c074, rs 0xffffffffca753d95, rt 0x7b827d21
+subu $t0, $t1, $t2 :: rd 0xffffffffae6cbf8c, rs 0xfffffffff23a8028, rt 0x43cdc09c
+subu $t0, $t1, $t2 :: rd 0xffffffffafeec074, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+subu $t0, $t1, $t2 :: rd 0xffffffffb168bf54, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+subu $t0, $t1, $t2 :: rd 0xffffffffb0eac0ac, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+subu $t0, $t1, $t2 :: rd 0xffffffff907540b4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+subu $t0, $t1, $t2 :: rd 0xffffffff91f73f4c, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+subu $t0, $t1, $t2 :: rd 0xffffffff8f71406c, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+subu $t0, $t1, $t2 :: rd 0xffffffff8ef33f94, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+subu $t0, $t1, $t2 :: rd 0xffffffffaf153fb4, rs 0x34867077, rt 0xffffffff857130c3
+subu $t0, $t1, $t2 :: rd 0xffffffffae97404c, rs 0x30476dc0, rt 0xffffffff81b02d74
+subu $t0, $t1, $t2 :: rd 0xffffffffb0113f6c, rs 0x3d044b19, rt 0xffffffff8cf30bad
+subu $t0, $t1, $t2 :: rd 0xffffffffb1934094, rs 0x39c556ae, rt 0xffffffff8832161a
+subu $t0, $t1, $t2 :: rd 0xffffffff910cc08c, rs 0x278206ab, rt 0xffffffff9675461f
+subu $t0, $t1, $t2 :: rd 0xffffffff908ebf74, rs 0x23431b1c, rt 0xffffffff92b45ba8
+subu $t0, $t1, $t2 :: rd 0xffffffff8e08c054, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+subu $t0, $t1, $t2 :: rd 0xffffffff8f8abfac, rs 0x2ac12072, rt 0xffffffff9b3660c6
+subu $t0, $t1, $t2 :: rd 0x6f14c054, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+subu $t0, $t1, $t2 :: rd 0x6e96bfac, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+subu $t0, $t1, $t2 :: rd 0x7010c08c, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+subu $t0, $t1, $t2 :: rd 0x7192bf74, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+subu $t0, $t1, $t2 :: rd 0x510d3f6c, rs 0x18aeb13, rt 0xffffffffb07daba7
+subu $t0, $t1, $t2 :: rd 0x508f4094, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+subu $t0, $t1, $t2 :: rd 0x4e093fb4, rs 0x808d07d, rt 0xffffffffb9ff90c9
+subu $t0, $t1, $t2 :: rd 0x4f8b404c, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+subu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+subu $t0, $t1, $t2 :: rd 0xffffffffaeb4c0ac, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+subu $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+subu $t0, $t1, $t2 :: rd 0xffffffffb1b0c074, rs 0x75d48dde, rt 0xffffffffc423cd6a
+subu $t0, $t1, $t2 :: rd 0xffffffff912f406c, rs 0x6b93dddb, rt 0xffffffffda649d6f
+subu $t0, $t1, $t2 :: rd 0xffffffff90ad3f94, rs 0x6f52c06c, rt 0xffffffffdea580d8
+subu $t0, $t1, $t2 :: rd 0xffffffff8e2b40b4, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+subu $t0, $t1, $t2 :: rd 0xffffffff8fa93f4c, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+subu $t0, $t1, $t2 :: rd 0x6f3740b4, rs 0x5e9f46bf, rt 0xffffffffef68060b
+subu $t0, $t1, $t2 :: rd 0x6eb53f4c, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+subu $t0, $t1, $t2 :: rd 0x7033406c, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+subu $t0, $t1, $t2 :: rd 0x71b13f94, rs 0x53dc6066, rt 0xffffffffe22b20d2
+subu $t0, $t1, $t2 :: rd 0x512ebf8c, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+subu $t0, $t1, $t2 :: rd 0x50acc074, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+subu $t0, $t1, $t2 :: rd 0x4e2abf54, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+subu $t0, $t1, $t2 :: rd 0x4fa8c0ac, rs 0x40d816ba, rt 0xfffffffff12f560e
+subu $t0, $t1, $t2 :: rd 0xffffffff8f534074, rs 0xffffffffaca5c697, rt 0x1d528623
+subu $t0, $t1, $t2 :: rd 0xffffffff8ed13f8c, rs 0xffffffffa864db20, rt 0x19939b94
+subu $t0, $t1, $t2 :: rd 0xffffffff905740ac, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+subu $t0, $t1, $t2 :: rd 0xffffffff91d53f54, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+subu $t0, $t1, $t2 :: rd 0xffffffffb14abf4c, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+subu $t0, $t1, $t2 :: rd 0xffffffffb0c8c0b4, rs 0xffffffffbb60adfc, rt 0xa97ed48
+subu $t0, $t1, $t2 :: rd 0xffffffffae4ebf94, rs 0xffffffffb6238b25, rt 0x7d4cb91
+subu $t0, $t1, $t2 :: rd 0xffffffffafccc06c, rs 0xffffffffb2e29692, rt 0x315d626
+subu $t0, $t1, $t2 :: rd 0x4f52bf94, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+subu $t0, $t1, $t2 :: rd 0xffffffffc06489d4, rs 0x0, rt 0x3f9b762c
+subu $t0, $t1, $t2 :: rd 0xffffffffcd27af0b, rs 0x0, rt 0x32d850f5
+subu $t0, $t1, $t2 :: rd 0x51d4c0b4, rs 0xffffffff87ee0df6, rt 0x36194d42
+subu $t0, $t1, $t2 :: rd 0x714b40ac, rs 0xffffffff99a95df3, rt 0x285e1d47
+subu $t0, $t1, $t2 :: rd 0x70c93f54, rs 0xffffffff9d684044, rt 0x2c9f00f0
+subu $t0, $t1, $t2 :: rd 0x6e4f4074, rs 0xffffffff902b669d, rt 0x21dc2629
+subu $t0, $t1, $t2 :: rd 0x6fcd3f8c, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+subu $t0, $t1, $t2 :: rd 0xffffffff8f70c094, rs 0xffffffffe0b41de7, rt 0x51435d53
+subu $t0, $t1, $t2 :: rd 0xffffffff8ef2bf6c, rs 0xffffffffe4750050, rt 0x558240e4
+subu $t0, $t1, $t2 :: rd 0xffffffff9074c04c, rs 0xffffffffe9362689, rt 0x58c1663d
+subu $t0, $t1, $t2 :: rd 0xffffffff91f6bfb4, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+subu $t0, $t1, $t2 :: rd 0xffffffffb1693fac, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+subu $t0, $t1, $t2 :: rd 0xffffffffb0eb4054, rs 0xfffffffff771768c, rt 0x46863638
+subu $t0, $t1, $t2 :: rd 0xffffffffae6d3f74, rs 0xfffffffffa325055, rt 0x4bc510e1
+subu $t0, $t1, $t2 :: rd 0xffffffffafef408c, rs 0xfffffffffef34de2, rt 0x4f040d56
+subu $t0, $t1, $t2 :: rd 0x4f713f74, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+subu $t0, $t1, $t2 :: rd 0x4ef3408c, rs 0xffffffffc27dede8, rt 0x738aad5c
+subu $t0, $t1, $t2 :: rd 0x50753fac, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+subu $t0, $t1, $t2 :: rd 0x51f74054, rs 0xffffffffcbffd686, rt 0x7a089632
+subu $t0, $t1, $t2 :: rd 0x7168c04c, rs 0xffffffffd5b88683, rt 0x644fc637
+subu $t0, $t1, $t2 :: rd 0x70eabfb4, rs 0xffffffffd1799b34, rt 0x608edb80
+subu $t0, $t1, $t2 :: rd 0x6e6cc094, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+subu $t0, $t1, $t2 :: rd 0x6feebf6c, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+subu $t0, $t1, $t2 :: rd 0xffffffff90114094, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+subu $t0, $t1, $t2 :: rd 0xffffffff91933f6c, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+subu $t0, $t1, $t2 :: rd 0xffffffff8f15404c, rs 0x608edb80, rt 0xffffffffd1799b34
+subu $t0, $t1, $t2 :: rd 0xffffffff8e973fb4, rs 0x644fc637, rt 0xffffffffd5b88683
+subu $t0, $t1, $t2 :: rd 0xffffffffae08bfac, rs 0x7a089632, rt 0xffffffffcbffd686
+subu $t0, $t1, $t2 :: rd 0xffffffffaf8ac054, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+subu $t0, $t1, $t2 :: rd 0xffffffffb10cbf74, rs 0x738aad5c, rt 0xffffffffc27dede8
+subu $t0, $t1, $t2 :: rd 0xffffffffb08ec08c, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+subu $t0, $t1, $t2 :: rd 0x5010bf74, rs 0x4f040d56, rt 0xfffffffffef34de2
+subu $t0, $t1, $t2 :: rd 0x5192c08c, rs 0x4bc510e1, rt 0xfffffffffa325055
+subu $t0, $t1, $t2 :: rd 0x4f14bfac, rs 0x46863638, rt 0xfffffffff771768c
+subu $t0, $t1, $t2 :: rd 0x4e96c054, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+subu $t0, $t1, $t2 :: rd 0x6e09404c, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+subu $t0, $t1, $t2 :: rd 0x6f8b3fb4, rs 0x58c1663d, rt 0xffffffffe9362689
+subu $t0, $t1, $t2 :: rd 0x710d4094, rs 0x558240e4, rt 0xffffffffe4750050
+subu $t0, $t1, $t2 :: rd 0x708f3f6c, rs 0x51435d53, rt 0xffffffffe0b41de7
+subu $t0, $t1, $t2 :: rd 0xffffffff9032c074, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+subu $t0, $t1, $t2 :: rd 0xffffffff91b0bf8c, rs 0x21dc2629, rt 0xffffffff902b669d
+subu $t0, $t1, $t2 :: rd 0xffffffff8f36c0ac, rs 0x2c9f00f0, rt 0xffffffff9d684044
+subu $t0, $t1, $t2 :: rd 0xffffffff8eb4bf54, rs 0x285e1d47, rt 0xffffffff99a95df3
+subu $t0, $t1, $t2 :: rd 0xffffffffae2b3f4c, rs 0x36194d42, rt 0xffffffff87ee0df6
+subu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+subu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+subu $t0, $t1, $t2 :: rd 0xffffffffb0ad406c, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+subu $t0, $t1, $t2 :: rd 0x50333f94, rs 0x315d626, rt 0xffffffffb2e29692
+subu $t0, $t1, $t2 :: rd 0x51b1406c, rs 0x7d4cb91, rt 0xffffffffb6238b25
+subu $t0, $t1, $t2 :: rd 0x4f373f4c, rs 0xa97ed48, rt 0xffffffffbb60adfc
+subu $t0, $t1, $t2 :: rd 0x4eb540b4, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+subu $t0, $t1, $t2 :: rd 0x6e2ac0ac, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+subu $t0, $t1, $t2 :: rd 0x6fa8bf54, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+subu $t0, $t1, $t2 :: rd 0x712ec074, rs 0x19939b94, rt 0xffffffffa864db20
+subu $t0, $t1, $t2 :: rd 0x70acbf8c, rs 0x1d528623, rt 0xffffffffaca5c697
+subu $t0, $t1, $t2 :: rd 0xffffffffb0573f54, rs 0xfffffffff12f560e, rt 0x40d816ba
+subu $t0, $t1, $t2 :: rd 0xffffffffb1d540ac, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+subu $t0, $t1, $t2 :: rd 0xffffffffaf533f8c, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+subu $t0, $t1, $t2 :: rd 0xffffffffaed14074, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+subu $t0, $t1, $t2 :: rd 0xffffffff8e4ec06c, rs 0xffffffffe22b20d2, rt 0x53dc6066
+subu $t0, $t1, $t2 :: rd 0xffffffff8fccbf94, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+subu $t0, $t1, $t2 :: rd 0xffffffff914ac0b4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+subu $t0, $t1, $t2 :: rd 0xffffffff90c8bf4c, rs 0xffffffffef68060b, rt 0x5e9f46bf
+subu $t0, $t1, $t2 :: rd 0x7056c0b4, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+subu $t0, $t1, $t2 :: rd 0x71d4bf4c, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+subu $t0, $t1, $t2 :: rd 0x6f52c06c, rs 0xffffffffdea580d8, rt 0x6f52c06c
+subu $t0, $t1, $t2 :: rd 0x6ed0bf94, rs 0xffffffffda649d6f, rt 0x6b93dddb
+subu $t0, $t1, $t2 :: rd 0x4e4f3f8c, rs 0xffffffffc423cd6a, rt 0x75d48dde
+subu $t0, $t1, $t2 :: rd 0xffffffff8eea6f97, rs 0x0, rt 0x71159069
+subu $t0, $t1, $t2 :: rd 0x514b3f54, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+subu $t0, $t1, $t2 :: rd 0xffffffff876854f9, rs 0x0, rt 0x7897ab07
+subu $t0, $t1, $t2 :: rd 0xffffffffb074bfb4, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+subu $t0, $t1, $t2 :: rd 0xffffffffb1f6c04c, rs 0xffffffffb9ff90c9, rt 0x808d07d
+subu $t0, $t1, $t2 :: rd 0xffffffffaf70bf6c, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+subu $t0, $t1, $t2 :: rd 0xffffffffaef2c094, rs 0xffffffffb07daba7, rt 0x18aeb13
+subu $t0, $t1, $t2 :: rd 0xffffffff8e6d408c, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+subu $t0, $t1, $t2 :: rd 0xffffffff8fef3f74, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+subu $t0, $t1, $t2 :: rd 0xffffffff91694054, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+subu $t0, $t1, $t2 :: rd 0xffffffff90eb3fac, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+subu $t0, $t1, $t2 :: rd 0x70754054, rs 0xffffffff9b3660c6, rt 0x2ac12072
+subu $t0, $t1, $t2 :: rd 0x71f73fac, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+subu $t0, $t1, $t2 :: rd 0x6f71408c, rs 0xffffffff92b45ba8, rt 0x23431b1c
+subu $t0, $t1, $t2 :: rd 0x6ef33f74, rs 0xffffffff9675461f, rt 0x278206ab
+subu $t0, $t1, $t2 :: rd 0x4e6cbf6c, rs 0xffffffff8832161a, rt 0x39c556ae
+subu $t0, $t1, $t2 :: rd 0x4feec094, rs 0xffffffff8cf30bad, rt 0x3d044b19
+subu $t0, $t1, $t2 :: rd 0x5168bfb4, rs 0xffffffff81b02d74, rt 0x30476dc0
+subu $t0, $t1, $t2 :: rd 0x50eac04c, rs 0xffffffff857130c3, rt 0x34867077
+subu $t0, $t1, $t2 :: rd 0x710cc06c, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+subu $t0, $t1, $t2 :: rd 0x708ebf94, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+subu $t0, $t1, $t2 :: rd 0x6e08c0b4, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+subu $t0, $t1, $t2 :: rd 0x6f8abf4c, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+subu $t0, $t1, $t2 :: rd 0x4f153f54, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+subu $t0, $t1, $t2 :: rd 0x4e9740ac, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+subu $t0, $t1, $t2 :: rd 0x50113f8c, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+subu $t0, $t1, $t2 :: rd 0x51934074, rs 0x43cdc09c, rt 0xfffffffff23a8028
+subu $t0, $t1, $t2 :: rd 0xffffffffb10d3f8c, rs 0x7b827d21, rt 0xffffffffca753d95
+subu $t0, $t1, $t2 :: rd 0xffffffffb08f4074, rs 0x7f436096, rt 0xffffffffceb42022
+subu $t0, $t1, $t2 :: rd 0xffffffffae093f54, rs 0x7200464f, rt 0xffffffffc3f706fb
+subu $t0, $t1, $t2 :: rd 0xffffffffaf8b40ac, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+subu $t0, $t1, $t2 :: rd 0xffffffff8f14c0b4, rs 0x68860bfd, rt 0xffffffffd9714b49
+subu $t0, $t1, $t2 :: rd 0xffffffff8e96bf4c, rs 0x6c47164a, rt 0xffffffffddb056fe
+subu $t0, $t1, $t2 :: rd 0xffffffff9010c06c, rs 0x61043093, rt 0xffffffffd0f37027
+subu $t0, $t1, $t2 :: rd 0xffffffff9192bf94, rs 0x65c52d24, rt 0xffffffffd4326d90
+subu $t0, $t1, $t2 :: rd 0x712f408c, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+subu $t0, $t1, $t2 :: rd 0x70ad3f74, rs 0x155a565e, rt 0xffffffffa4ad16ea
+subu $t0, $t1, $t2 :: rd 0x6e2b4054, rs 0x18197087, rt 0xffffffffa9ee3033
+subu $t0, $t1, $t2 :: rd 0x6fa93fac, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+subu $t0, $t1, $t2 :: rd 0x4f36bfb4, rs 0x29f3d35, rt 0xffffffffb3687d81
+subu $t0, $t1, $t2 :: rd 0x4eb4c04c, rs 0x65e2082, rt 0xffffffffb7a96036
+subu $t0, $t1, $t2 :: rd 0x5032bf6c, rs 0xb1d065b, rt 0xffffffffbaea46ef
+subu $t0, $t1, $t2 :: rd 0x51b0c094, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+subu $t0, $t1, $t2 :: rd 0xffffffffb12ebf6c, rs 0x3793a651, rt 0xffffffff8664e6e5
+subu $t0, $t1, $t2 :: rd 0xffffffffb0acc094, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+subu $t0, $t1, $t2 :: rd 0xffffffffae2abfb4, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+subu $t0, $t1, $t2 :: rd 0xffffffffafa8c04c, rs 0x3ad08088, rt 0xffffffff8b27c03c
+subu $t0, $t1, $t2 :: rd 0xffffffff8f374054, rs 0x2497d08d, rt 0xffffffff95609039
+subu $t0, $t1, $t2 :: rd 0xffffffff8eb53fac, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+subu $t0, $t1, $t2 :: rd 0xffffffff9033408c, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+subu $t0, $t1, $t2 :: rd 0xffffffff91b13f74, rs 0x29d4f654, rt 0xffffffff9823b6e0
+subu $t0, $t1, $t2 :: rd 0x514abfac, rs 0xffffffffc5a92679, rt 0x745e66cd
+subu $t0, $t1, $t2 :: rd 0x50c8c054, rs 0xffffffffc1683bce, rt 0x709f7b7a
+subu $t0, $t1, $t2 :: rd 0x4e4ebf74, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+subu $t0, $t1, $t2 :: rd 0x4fccc08c, rs 0xffffffffc8ea00a0, rt 0x791d4014
+subu $t0, $t1, $t2 :: rd 0x6f534094, rs 0xffffffffd6ad50a5, rt 0x675a1011
+subu $t0, $t1, $t2 :: rd 0x6ed13f6c, rs 0xffffffffd26c4d12, rt 0x639b0da6
+subu $t0, $t1, $t2 :: rd 0x7057404c, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+subu $t0, $t1, $t2 :: rd 0x71d53fb4, rs 0xffffffffdbee767c, rt 0x6a1936c8
+subu $t0, $t1, $t2 :: rd 0xffffffff914b404c, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+subu $t0, $t1, $t2 :: rd 0xffffffff90c93fb4, rs 0xffffffffe760d676, rt 0x569796c2
+subu $t0, $t1, $t2 :: rd 0xffffffff8e4f4094, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+subu $t0, $t1, $t2 :: rd 0xffffffff8fcd3f6c, rs 0xffffffffeee2ed18, rt 0x5f15adac
+subu $t0, $t1, $t2 :: rd 0xffffffffaf52bf74, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+subu $t0, $t1, $t2 :: rd 0xffffffffaed0c08c, rs 0xfffffffff464a0aa, rt 0x4593e01e
+subu $t0, $t1, $t2 :: rd 0xffffffffb056bfac, rs 0xfffffffff9278673, rt 0x48d0c6c7
+subu $t0, $t1, $t2 :: rd 0xffffffffb1d4c054, rs 0xfffffffffde69bc4, rt 0x4c11db70
+subu $t0, $t1, $t2 :: rd 0x51693f4c, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+subu $t0, $t1, $t2 :: rd 0x50eb40b4, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+subu $t0, $t1, $t2 :: rd 0x4e6d3f94, rs 0xffffffff803ac667, rt 0x31cd86d3
+subu $t0, $t1, $t2 :: rd 0x4fef406c, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+subu $t0, $t1, $t2 :: rd 0x6f70c074, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+subu $t0, $t1, $t2 :: rd 0x6ef2bf8c, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+subu $t0, $t1, $t2 :: rd 0x7074c0ac, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+subu $t0, $t1, $t2 :: rd 0x71f6bf54, rs 0xffffffff97ffad0c, rt 0x2608edb8
+subu $t0, $t1, $t2 :: rd 0xffffffff9168c0ac, rs 0xffffffffafb010b1, rt 0x1e475005
+subu $t0, $t1, $t2 :: rd 0xffffffff90eabf54, rs 0xffffffffab710d06, rt 0x1a864db2
+subu $t0, $t1, $t2 :: rd 0xffffffff8e6cc074, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+subu $t0, $t1, $t2 :: rd 0xffffffff8feebf8c, rs 0xffffffffa2f33668, rt 0x130476dc
+subu $t0, $t1, $t2 :: rd 0xffffffffaf713f94, rs 0xffffffffbcb4666d, rt 0xd4326d9
+subu $t0, $t1, $t2 :: rd 0xffffffffaef3406c, rs 0xffffffffb8757bda, rt 0x9823b6e
+subu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+subu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
diff --git a/none/tests/mips64/arithmetic_instruction.stdout.exp-mips64r2 b/none/tests/mips64/arithmetic_instruction.stdout.exp-mips64r2
new file mode 100644
index 0000000..93a2e65
--- /dev/null
+++ b/none/tests/mips64/arithmetic_instruction.stdout.exp-mips64r2
@@ -0,0 +1,20726 @@
+add $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x0, rt 0xffffffffb1f740b4
+add $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0x0, rt 0xffffffffb5365d03
+add $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0x9823b6e, rt 0xffffffffb8757bda
+add $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xd4326d9, rt 0xffffffffbcb4666d
+add $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0x130476dc, rt 0xffffffffa2f33668
+add $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+add $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0x1a864db2, rt 0xffffffffab710d06
+add $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0x1e475005, rt 0xffffffffafb010b1
+add $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0x2608edb8, rt 0xffffffff97ffad0c
+add $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+add $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+add $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+add $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+add $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0x31cd86d3, rt 0xffffffff803ac667
+add $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+add $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+add $t0, $t1, $t2 :: rd 0x49f87734, rs 0x4c11db70, rt 0xfffffffffde69bc4
+add $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+add $t0, $t1, $t2 :: rd 0x39f880c8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+add $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+add $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0x5f15adac, rt 0xffffffffeee2ed18
+add $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+add $t0, $t1, $t2 :: rd 0x3df86d38, rs 0x569796c2, rt 0xffffffffe760d676
+add $t0, $t1, $t2 :: rd 0x35f85736, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+add $t0, $t1, $t2 :: rd 0x4607ad44, rs 0x6a1936c8, rt 0xffffffffdbee767c
+add $t0, $t1, $t2 :: rd 0x4e07974a, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+add $t0, $t1, $t2 :: rd 0x36075ab8, rs 0x639b0da6, rt 0xffffffffd26c4d12
+add $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0x675a1011, rt 0xffffffffd6ad50a5
+add $t0, $t1, $t2 :: rd 0x420740b4, rs 0x791d4014, rt 0xffffffffc8ea00a0
+add $t0, $t1, $t2 :: rd 0x4a077aba, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+add $t0, $t1, $t2 :: rd 0x3207b748, rs 0x709f7b7a, rt 0xffffffffc1683bce
+add $t0, $t1, $t2 :: rd 0x3a078d46, rs 0x745e66cd, rt 0xffffffffc5a92679
+add $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0xffffffff9823b6e0, rt 0x29d4f654
+add $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+add $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+add $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0xffffffff95609039, rt 0x2497d08d
+add $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+add $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+add $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+add $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0xffffffff8664e6e5, rt 0x3793a651
+add $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+add $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xffffffffbaea46ef, rt 0xb1d065b
+add $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0xffffffffb7a96036, rt 0x65e2082
+add $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0xffffffffb3687d81, rt 0x29f3d35
+add $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+add $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0xffffffffa9ee3033, rt 0x18197087
+add $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0xffffffffa4ad16ea, rt 0x155a565e
+add $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+add $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0xffffffffd4326d90, rt 0x65c52d24
+add $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0xffffffffd0f37027, rt 0x61043093
+add $t0, $t1, $t2 :: rd 0x49f76d48, rs 0xffffffffddb056fe, rt 0x6c47164a
+add $t0, $t1, $t2 :: rd 0x41f75746, rs 0xffffffffd9714b49, rt 0x68860bfd
+add $t0, $t1, $t2 :: rd 0x3df77744, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+add $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0xffffffffc3f706fb, rt 0x7200464f
+add $t0, $t1, $t2 :: rd 0x4df780b8, rs 0xffffffffceb42022, rt 0x7f436096
+add $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0xffffffffca753d95, rt 0x7b827d21
+add $t0, $t1, $t2 :: rd 0x360840c4, rs 0xfffffffff23a8028, rt 0x43cdc09c
+add $t0, $t1, $t2 :: rd 0x3e087aca, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+add $t0, $t1, $t2 :: rd 0x4608b738, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+add $t0, $t1, $t2 :: rd 0x4e088d36, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+add $t0, $t1, $t2 :: rd 0x3208ad34, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+add $t0, $t1, $t2 :: rd 0x3a08973a, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+add $t0, $t1, $t2 :: rd 0x42085ac8, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+add $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+add $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0x34867077, rt 0xffffffff857130c3
+add $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0x30476dc0, rt 0xffffffff81b02d74
+add $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0x3d044b19, rt 0xffffffff8cf30bad
+add $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0x39c556ae, rt 0xffffffff8832161a
+add $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0x278206ab, rt 0xffffffff9675461f
+add $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0x23431b1c, rt 0xffffffff92b45ba8
+add $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+add $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0x2ac12072, rt 0xffffffff9b3660c6
+add $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+add $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+add $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+add $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+add $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0x18aeb13, rt 0xffffffffb07daba7
+add $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+add $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0x808d07d, rt 0xffffffffb9ff90c9
+add $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+add $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+add $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+add $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+add $t0, $t1, $t2 :: rd 0x39f85b48, rs 0x75d48dde, rt 0xffffffffc423cd6a
+add $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0x6b93dddb, rt 0xffffffffda649d6f
+add $t0, $t1, $t2 :: rd 0x4df84144, rs 0x6f52c06c, rt 0xffffffffdea580d8
+add $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+add $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+add $t0, $t1, $t2 :: rd 0x4e074cca, rs 0x5e9f46bf, rt 0xffffffffef68060b
+add $t0, $t1, $t2 :: rd 0x460776c4, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+add $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+add $t0, $t1, $t2 :: rd 0x36078138, rs 0x53dc6066, rt 0xffffffffe22b20d2
+add $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+add $t0, $t1, $t2 :: rd 0x42079b34, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+add $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+add $t0, $t1, $t2 :: rd 0x32076cc8, rs 0x40d816ba, rt 0xfffffffff12f560e
+add $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0xffffffffaca5c697, rt 0x1d528623
+add $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0xffffffffa864db20, rt 0x19939b94
+add $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+add $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+add $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+add $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xffffffffbb60adfc, rt 0xa97ed48
+add $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0xffffffffb6238b25, rt 0x7d4cb91
+add $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0xffffffffb2e29692, rt 0x315d626
+add $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+add $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x0, rt 0x3f9b762c
+add $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x0, rt 0x32d850f5
+add $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0xffffffff87ee0df6, rt 0x36194d42
+add $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0xffffffff99a95df3, rt 0x285e1d47
+add $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0xffffffff9d684044, rt 0x2c9f00f0
+add $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0xffffffff902b669d, rt 0x21dc2629
+add $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+add $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0xffffffffe0b41de7, rt 0x51435d53
+add $t0, $t1, $t2 :: rd 0x39f74134, rs 0xffffffffe4750050, rt 0x558240e4
+add $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0xffffffffe9362689, rt 0x58c1663d
+add $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+add $t0, $t1, $t2 :: rd 0x35f796ca, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+add $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0xfffffffff771768c, rt 0x46863638
+add $t0, $t1, $t2 :: rd 0x45f76136, rs 0xfffffffffa325055, rt 0x4bc510e1
+add $t0, $t1, $t2 :: rd 0x4df75b38, rs 0xfffffffffef34de2, rt 0x4f040d56
+add $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+add $t0, $t1, $t2 :: rd 0x36089b44, rs 0xffffffffc27dede8, rt 0x738aad5c
+add $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+add $t0, $t1, $t2 :: rd 0x46086cb8, rs 0xffffffffcbffd686, rt 0x7a089632
+add $t0, $t1, $t2 :: rd 0x3a084cba, rs 0xffffffffd5b88683, rt 0x644fc637
+add $t0, $t1, $t2 :: rd 0x320876b4, rs 0xffffffffd1799b34, rt 0x608edb80
+add $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+add $t0, $t1, $t2 :: rd 0x42088148, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+add $t0, $t1, $t2 :: rd 0x42088148, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+add $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+add $t0, $t1, $t2 :: rd 0x320876b4, rs 0x608edb80, rt 0xffffffffd1799b34
+add $t0, $t1, $t2 :: rd 0x3a084cba, rs 0x644fc637, rt 0xffffffffd5b88683
+add $t0, $t1, $t2 :: rd 0x46086cb8, rs 0x7a089632, rt 0xffffffffcbffd686
+add $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+add $t0, $t1, $t2 :: rd 0x36089b44, rs 0x738aad5c, rt 0xffffffffc27dede8
+add $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+add $t0, $t1, $t2 :: rd 0x4df75b38, rs 0x4f040d56, rt 0xfffffffffef34de2
+add $t0, $t1, $t2 :: rd 0x45f76136, rs 0x4bc510e1, rt 0xfffffffffa325055
+add $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0x46863638, rt 0xfffffffff771768c
+add $t0, $t1, $t2 :: rd 0x35f796ca, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+add $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+add $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0x58c1663d, rt 0xffffffffe9362689
+add $t0, $t1, $t2 :: rd 0x39f74134, rs 0x558240e4, rt 0xffffffffe4750050
+add $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0x51435d53, rt 0xffffffffe0b41de7
+add $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+add $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0x21dc2629, rt 0xffffffff902b669d
+add $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0x2c9f00f0, rt 0xffffffff9d684044
+add $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0x285e1d47, rt 0xffffffff99a95df3
+add $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0x36194d42, rt 0xffffffff87ee0df6
+add $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+add $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+add $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+add $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0x315d626, rt 0xffffffffb2e29692
+add $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0x7d4cb91, rt 0xffffffffb6238b25
+add $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xa97ed48, rt 0xffffffffbb60adfc
+add $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+add $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+add $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+add $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0x19939b94, rt 0xffffffffa864db20
+add $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0x1d528623, rt 0xffffffffaca5c697
+add $t0, $t1, $t2 :: rd 0x32076cc8, rs 0xfffffffff12f560e, rt 0x40d816ba
+add $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+add $t0, $t1, $t2 :: rd 0x42079b34, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+add $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+add $t0, $t1, $t2 :: rd 0x36078138, rs 0xffffffffe22b20d2, rt 0x53dc6066
+add $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+add $t0, $t1, $t2 :: rd 0x460776c4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+add $t0, $t1, $t2 :: rd 0x4e074cca, rs 0xffffffffef68060b, rt 0x5e9f46bf
+add $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+add $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+add $t0, $t1, $t2 :: rd 0x4df84144, rs 0xffffffffdea580d8, rt 0x6f52c06c
+add $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0xffffffffda649d6f, rt 0x6b93dddb
+add $t0, $t1, $t2 :: rd 0x39f85b48, rs 0xffffffffc423cd6a, rt 0x75d48dde
+add $t0, $t1, $t2 :: rd 0x71159069, rs 0x0, rt 0x71159069
+add $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+add $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x0, rt 0x7897ab07
+add $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+add $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0xffffffffb9ff90c9, rt 0x808d07d
+add $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+add $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0xffffffffb07daba7, rt 0x18aeb13
+add $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+add $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+add $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+add $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+add $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0xffffffff9b3660c6, rt 0x2ac12072
+add $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+add $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0xffffffff92b45ba8, rt 0x23431b1c
+add $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0xffffffff9675461f, rt 0x278206ab
+add $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0xffffffff8832161a, rt 0x39c556ae
+add $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+add $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0xffffffff81b02d74, rt 0x30476dc0
+add $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0xffffffff857130c3, rt 0x34867077
+add $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+add $t0, $t1, $t2 :: rd 0x42085ac8, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+add $t0, $t1, $t2 :: rd 0x3a08973a, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+add $t0, $t1, $t2 :: rd 0x3208ad34, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+add $t0, $t1, $t2 :: rd 0x4e088d36, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+add $t0, $t1, $t2 :: rd 0x4608b738, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+add $t0, $t1, $t2 :: rd 0x3e087aca, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+add $t0, $t1, $t2 :: rd 0x360840c4, rs 0x43cdc09c, rt 0xfffffffff23a8028
+add $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0x7b827d21, rt 0xffffffffca753d95
+add $t0, $t1, $t2 :: rd 0x4df780b8, rs 0x7f436096, rt 0xffffffffceb42022
+add $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0x7200464f, rt 0xffffffffc3f706fb
+add $t0, $t1, $t2 :: rd 0x3df77744, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+add $t0, $t1, $t2 :: rd 0x41f75746, rs 0x68860bfd, rt 0xffffffffd9714b49
+add $t0, $t1, $t2 :: rd 0x49f76d48, rs 0x6c47164a, rt 0xffffffffddb056fe
+add $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0x61043093, rt 0xffffffffd0f37027
+add $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0x65c52d24, rt 0xffffffffd4326d90
+add $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+add $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0x155a565e, rt 0xffffffffa4ad16ea
+add $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0x18197087, rt 0xffffffffa9ee3033
+add $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+add $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0x29f3d35, rt 0xffffffffb3687d81
+add $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0x65e2082, rt 0xffffffffb7a96036
+add $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+add $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+add $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0x3793a651, rt 0xffffffff8664e6e5
+add $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+add $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+add $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0x3ad08088, rt 0xffffffff8b27c03c
+add $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0x2497d08d, rt 0xffffffff95609039
+add $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+add $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+add $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0x29d4f654, rt 0xffffffff9823b6e0
+add $t0, $t1, $t2 :: rd 0x3a078d46, rs 0xffffffffc5a92679, rt 0x745e66cd
+add $t0, $t1, $t2 :: rd 0x3207b748, rs 0xffffffffc1683bce, rt 0x709f7b7a
+add $t0, $t1, $t2 :: rd 0x4a077aba, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+add $t0, $t1, $t2 :: rd 0x420740b4, rs 0xffffffffc8ea00a0, rt 0x791d4014
+add $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0xffffffffd6ad50a5, rt 0x675a1011
+add $t0, $t1, $t2 :: rd 0x36075ab8, rs 0xffffffffd26c4d12, rt 0x639b0da6
+add $t0, $t1, $t2 :: rd 0x4e07974a, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+add $t0, $t1, $t2 :: rd 0x4607ad44, rs 0xffffffffdbee767c, rt 0x6a1936c8
+add $t0, $t1, $t2 :: rd 0x35f85736, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+add $t0, $t1, $t2 :: rd 0x3df86d38, rs 0xffffffffe760d676, rt 0x569796c2
+add $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+add $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0xffffffffeee2ed18, rt 0x5f15adac
+add $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+add $t0, $t1, $t2 :: rd 0x39f880c8, rs 0xfffffffff464a0aa, rt 0x4593e01e
+add $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0xfffffffff9278673, rt 0x48d0c6c7
+add $t0, $t1, $t2 :: rd 0x49f87734, rs 0xfffffffffde69bc4, rt 0x4c11db70
+add $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+add $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+add $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0xffffffff803ac667, rt 0x31cd86d3
+add $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+add $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+add $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+add $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+add $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0xffffffff97ffad0c, rt 0x2608edb8
+add $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0xffffffffafb010b1, rt 0x1e475005
+add $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0xffffffffab710d06, rt 0x1a864db2
+add $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+add $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0xffffffffa2f33668, rt 0x130476dc
+add $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xffffffffbcb4666d, rt 0xd4326d9
+add $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0xffffffffb8757bda, rt 0x9823b6e
+add $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+add $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x9823c6d, rs 0x9823b6e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x9823b6d, rs 0x9823b6e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x9823b91, rs 0x9823b6e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xd4327d8, rs 0xd4326d9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xd4326d8, rs 0xd4326d9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xd4326fc, rs 0xd4326d9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x130477db, rs 0x130476dc, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x130476db, rs 0x130476dc, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x130476ff, rs 0x130476dc, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x17c56c6a, rs 0x17c56b6b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x17c56b6a, rs 0x17c56b6b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x17c56b8e, rs 0x17c56b6b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1a864eb1, rs 0x1a864db2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1a864db1, rs 0x1a864db2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1a864dd5, rs 0x1a864db2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1e475104, rs 0x1e475005, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1e475004, rs 0x1e475005, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1e475028, rs 0x1e475005, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2608eeb7, rs 0x2608edb8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2608edb7, rs 0x2608edb8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2608eddb, rs 0x2608edb8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x22c9f10e, rs 0x22c9f00f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x22c9f00e, rs 0x22c9f00f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x22c9f032, rs 0x22c9f00f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2f8ad7d5, rs 0x2f8ad6d6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2f8ad6d5, rs 0x2f8ad6d6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2f8ad6f9, rs 0x2f8ad6d6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2b4bcc60, rs 0x2b4bcb61, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2b4bcb60, rs 0x2b4bcb61, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2b4bcb84, rs 0x2b4bcb61, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x350c9c63, rs 0x350c9b64, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x350c9b63, rs 0x350c9b64, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x350c9b87, rs 0x350c9b64, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x31cd87d2, rs 0x31cd86d3, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x31cd86d2, rs 0x31cd86d3, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x31cd86f6, rs 0x31cd86d3, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3c8ea109, rs 0x3c8ea00a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3c8ea009, rs 0x3c8ea00a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3c8ea02d, rs 0x3c8ea00a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x384fbebc, rs 0x384fbdbd, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x384fbdbc, rs 0x384fbdbd, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x384fbde0, rs 0x384fbdbd, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4c11dc6f, rs 0x4c11db70, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4c11db6f, rs 0x4c11db70, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4c11db93, rs 0x4c11db70, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x48d0c7c6, rs 0x48d0c6c7, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x48d0c6c6, rs 0x48d0c6c7, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x48d0c6ea, rs 0x48d0c6c7, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4593e11d, rs 0x4593e01e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4593e01d, rs 0x4593e01e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4593e041, rs 0x4593e01e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4152fea8, rs 0x4152fda9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4152fda8, rs 0x4152fda9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4152fdcc, rs 0x4152fda9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5f15aeab, rs 0x5f15adac, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5f15adab, rs 0x5f15adac, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5f15adcf, rs 0x5f15adac, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5bd4b11a, rs 0x5bd4b01b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5bd4b01a, rs 0x5bd4b01b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5bd4b03e, rs 0x5bd4b01b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x569797c1, rs 0x569796c2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x569796c1, rs 0x569796c2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x569796e5, rs 0x569796c2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x52568c74, rs 0x52568b75, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x52568b74, rs 0x52568b75, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x52568b98, rs 0x52568b75, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6a1937c7, rs 0x6a1936c8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6a1936c7, rs 0x6a1936c8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6a1936eb, rs 0x6a1936c8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6ed82c7e, rs 0x6ed82b7f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6ed82b7e, rs 0x6ed82b7f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6ed82ba2, rs 0x6ed82b7f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x639b0ea5, rs 0x639b0da6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x639b0da5, rs 0x639b0da6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x639b0dc9, rs 0x639b0da6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x675a1110, rs 0x675a1011, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x675a1010, rs 0x675a1011, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x675a1034, rs 0x675a1011, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x791d4113, rs 0x791d4014, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x791d4013, rs 0x791d4014, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x791d4037, rs 0x791d4014, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7ddc5ea2, rs 0x7ddc5da3, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7ddc5da2, rs 0x7ddc5da3, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7ddc5dc6, rs 0x7ddc5da3, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x709f7c79, rs 0x709f7b7a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x709f7b79, rs 0x709f7b7a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x709f7b9d, rs 0x709f7b7a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x745e67cc, rs 0x745e66cd, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x745e66cc, rs 0x745e66cd, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x745e66f0, rs 0x745e66cd, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9823b7df, rs 0xffffffff9823b6e0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9823b6df, rs 0xffffffff9823b6e0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9823b703, rs 0xffffffff9823b6e0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9ce2ac56, rs 0xffffffff9ce2ab57, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9ce2ab56, rs 0xffffffff9ce2ab57, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9ce2ab7a, rs 0xffffffff9ce2ab57, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff91a18e8d, rs 0xffffffff91a18d8e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff91a18d8d, rs 0xffffffff91a18d8e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff91a18db1, rs 0xffffffff91a18d8e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff95609138, rs 0xffffffff95609039, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff95609038, rs 0xffffffff95609039, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9560905c, rs 0xffffffff95609039, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8b27c13b, rs 0xffffffff8b27c03c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8b27c03b, rs 0xffffffff8b27c03c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8b27c05f, rs 0xffffffff8b27c03c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8fe6de8a, rs 0xffffffff8fe6dd8b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8fe6dd8a, rs 0xffffffff8fe6dd8b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8fe6ddae, rs 0xffffffff8fe6dd8b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff82a5fc51, rs 0xffffffff82a5fb52, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff82a5fb51, rs 0xffffffff82a5fb52, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff82a5fb75, rs 0xffffffff82a5fb52, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8664e7e4, rs 0xffffffff8664e6e5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8664e6e4, rs 0xffffffff8664e6e5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8664e708, rs 0xffffffff8664e6e5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbe2b5c57, rs 0xffffffffbe2b5b58, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbe2b5b57, rs 0xffffffffbe2b5b58, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbe2b5b7b, rs 0xffffffffbe2b5b58, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbaea47ee, rs 0xffffffffbaea46ef, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbaea46ee, rs 0xffffffffbaea46ef, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbaea4712, rs 0xffffffffbaea46ef, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb7a96135, rs 0xffffffffb7a96036, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb7a96035, rs 0xffffffffb7a96036, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb7a96059, rs 0xffffffffb7a96036, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb3687e80, rs 0xffffffffb3687d81, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb3687d80, rs 0xffffffffb3687d81, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb3687da4, rs 0xffffffffb3687d81, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffad2f2e83, rs 0xffffffffad2f2d84, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffad2f2d83, rs 0xffffffffad2f2d84, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffad2f2da7, rs 0xffffffffad2f2d84, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa9ee3132, rs 0xffffffffa9ee3033, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa9ee3032, rs 0xffffffffa9ee3033, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa9ee3056, rs 0xffffffffa9ee3033, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa4ad17e9, rs 0xffffffffa4ad16ea, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa4ad16e9, rs 0xffffffffa4ad16ea, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa4ad170d, rs 0xffffffffa4ad16ea, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa06c0c5c, rs 0xffffffffa06c0b5d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa06c0b5c, rs 0xffffffffa06c0b5d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa06c0b80, rs 0xffffffffa06c0b5d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd4326e8f, rs 0xffffffffd4326d90, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd4326d8f, rs 0xffffffffd4326d90, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd4326db3, rs 0xffffffffd4326d90, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd0f37126, rs 0xffffffffd0f37027, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd0f37026, rs 0xffffffffd0f37027, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd0f3704a, rs 0xffffffffd0f37027, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffddb057fd, rs 0xffffffffddb056fe, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffddb056fd, rs 0xffffffffddb056fe, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffddb05721, rs 0xffffffffddb056fe, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd9714c48, rs 0xffffffffd9714b49, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd9714b48, rs 0xffffffffd9714b49, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd9714b6c, rs 0xffffffffd9714b49, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc7361c4b, rs 0xffffffffc7361b4c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc7361b4b, rs 0xffffffffc7361b4c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc7361b6f, rs 0xffffffffc7361b4c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc3f707fa, rs 0xffffffffc3f706fb, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc3f706fa, rs 0xffffffffc3f706fb, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc3f7071e, rs 0xffffffffc3f706fb, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffceb42121, rs 0xffffffffceb42022, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffceb42021, rs 0xffffffffceb42022, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffceb42045, rs 0xffffffffceb42022, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffca753e94, rs 0xffffffffca753d95, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffca753d94, rs 0xffffffffca753d95, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffca753db8, rs 0xffffffffca753d95, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff23a8127, rs 0xfffffffff23a8028, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff23a8027, rs 0xfffffffff23a8028, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff23a804b, rs 0xfffffffff23a8028, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff6fb9e9e, rs 0xfffffffff6fb9d9f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff6fb9d9e, rs 0xfffffffff6fb9d9f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff6fb9dc2, rs 0xfffffffff6fb9d9f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffffbb8bc45, rs 0xfffffffffbb8bb46, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffffbb8bb45, rs 0xfffffffffbb8bb46, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffffbb8bb69, rs 0xfffffffffbb8bb46, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffff79a7f0, rs 0xffffffffff79a6f1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffff79a6f0, rs 0xffffffffff79a6f1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffff79a714, rs 0xffffffffff79a6f1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe13ef7f3, rs 0xffffffffe13ef6f4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe13ef6f3, rs 0xffffffffe13ef6f4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe13ef717, rs 0xffffffffe13ef6f4, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe5ffec42, rs 0xffffffffe5ffeb43, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe5ffeb42, rs 0xffffffffe5ffeb43, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe5ffeb66, rs 0xffffffffe5ffeb43, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe8bcce99, rs 0xffffffffe8bccd9a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe8bccd99, rs 0xffffffffe8bccd9a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe8bccdbd, rs 0xffffffffe8bccd9a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffec7dd12c, rs 0xffffffffec7dd02d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffec7dd02c, rs 0xffffffffec7dd02d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffec7dd050, rs 0xffffffffec7dd02d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x34867176, rs 0x34867077, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x34867076, rs 0x34867077, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3486709a, rs 0x34867077, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x30476ebf, rs 0x30476dc0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x30476dbf, rs 0x30476dc0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x30476de3, rs 0x30476dc0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3d044c18, rs 0x3d044b19, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3d044b18, rs 0x3d044b19, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3d044b3c, rs 0x3d044b19, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x39c557ad, rs 0x39c556ae, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x39c556ad, rs 0x39c556ae, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x39c556d1, rs 0x39c556ae, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x278207aa, rs 0x278206ab, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x278206aa, rs 0x278206ab, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x278206ce, rs 0x278206ab, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x23431c1b, rs 0x23431b1c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x23431b1b, rs 0x23431b1c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23431b3f, rs 0x23431b1c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2e003ec4, rs 0x2e003dc5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2e003dc4, rs 0x2e003dc5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2e003de8, rs 0x2e003dc5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2ac12171, rs 0x2ac12072, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2ac12071, rs 0x2ac12072, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2ac12095, rs 0x2ac12072, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x128e9ece, rs 0x128e9dcf, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x128e9dce, rs 0x128e9dcf, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x128e9df2, rs 0x128e9dcf, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x164f8177, rs 0x164f8078, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x164f8077, rs 0x164f8078, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x164f809b, rs 0x164f8078, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1b0ca7a0, rs 0x1b0ca6a1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1b0ca6a0, rs 0x1b0ca6a1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1b0ca6c4, rs 0x1b0ca6a1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1fcdbc15, rs 0x1fcdbb16, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1fcdbb15, rs 0x1fcdbb16, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1fcdbb39, rs 0x1fcdbb16, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x18aec12, rs 0x18aeb13, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x18aeb12, rs 0x18aeb13, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x18aeb36, rs 0x18aeb13, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x54bf7a3, rs 0x54bf6a4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x54bf6a3, rs 0x54bf6a4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x54bf6c7, rs 0x54bf6a4, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x808d17c, rs 0x808d07d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x808d07c, rs 0x808d07d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x808d0a0, rs 0x808d07d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xcc9cec9, rs 0xcc9cdca, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xcc9cdc9, rs 0xcc9cdca, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xcc9cded, rs 0xcc9cdca, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7897ac06, rs 0x7897ab07, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7897ab06, rs 0x7897ab07, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7897ab2a, rs 0x7897ab07, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7c56b7af, rs 0x7c56b6b0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7c56b6af, rs 0x7c56b6b0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7c56b6d3, rs 0x7c56b6b0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x71159168, rs 0x71159069, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x71159068, rs 0x71159069, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7115908c, rs 0x71159069, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x75d48edd, rs 0x75d48dde, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x75d48ddd, rs 0x75d48dde, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x75d48e01, rs 0x75d48dde, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6b93deda, rs 0x6b93dddb, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6b93ddda, rs 0x6b93dddb, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6b93ddfe, rs 0x6b93dddb, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6f52c16b, rs 0x6f52c06c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6f52c06b, rs 0x6f52c06c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6f52c08f, rs 0x6f52c06c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6211e7b4, rs 0x6211e6b5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6211e6b4, rs 0x6211e6b5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6211e6d8, rs 0x6211e6b5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x66d0fc01, rs 0x66d0fb02, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x66d0fb01, rs 0x66d0fb02, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x66d0fb25, rs 0x66d0fb02, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5e9f47be, rs 0x5e9f46bf, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5e9f46be, rs 0x5e9f46bf, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5e9f46e2, rs 0x5e9f46bf, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5a5e5c07, rs 0x5a5e5b08, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5a5e5b07, rs 0x5a5e5b08, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5a5e5b2b, rs 0x5a5e5b08, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x571d7ed0, rs 0x571d7dd1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x571d7dd0, rs 0x571d7dd1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x571d7df4, rs 0x571d7dd1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x53dc6165, rs 0x53dc6066, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x53dc6065, rs 0x53dc6066, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x53dc6089, rs 0x53dc6066, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4d9b3162, rs 0x4d9b3063, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4d9b3062, rs 0x4d9b3063, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4d9b3086, rs 0x4d9b3063, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x495a2ed3, rs 0x495a2dd4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x495a2dd3, rs 0x495a2dd4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x495a2df7, rs 0x495a2dd4, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x44190c0c, rs 0x44190b0d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x44190b0c, rs 0x44190b0d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x44190b30, rs 0x44190b0d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x40d817b9, rs 0x40d816ba, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x40d816b9, rs 0x40d816ba, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x40d816dd, rs 0x40d816ba, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffaca5c796, rs 0xffffffffaca5c697, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffaca5c696, rs 0xffffffffaca5c697, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffaca5c6ba, rs 0xffffffffaca5c697, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa864dc1f, rs 0xffffffffa864db20, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa864db1f, rs 0xffffffffa864db20, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa864db43, rs 0xffffffffa864db20, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa527fef8, rs 0xffffffffa527fdf9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa527fdf8, rs 0xffffffffa527fdf9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa527fe1c, rs 0xffffffffa527fdf9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa1e6e14d, rs 0xffffffffa1e6e04e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa1e6e04d, rs 0xffffffffa1e6e04e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa1e6e071, rs 0xffffffffa1e6e04e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbfa1b14a, rs 0xffffffffbfa1b04b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbfa1b04a, rs 0xffffffffbfa1b04b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbfa1b06e, rs 0xffffffffbfa1b04b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbb60aefb, rs 0xffffffffbb60adfc, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbb60adfb, rs 0xffffffffbb60adfc, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbb60ae1f, rs 0xffffffffbb60adfc, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb6238c24, rs 0xffffffffb6238b25, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb6238b24, rs 0xffffffffb6238b25, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb6238b48, rs 0xffffffffb6238b25, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb2e29791, rs 0xffffffffb2e29692, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb2e29691, rs 0xffffffffb2e29692, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb2e296b5, rs 0xffffffffb2e29692, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8aad2c2e, rs 0xffffffff8aad2b2f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8aad2b2e, rs 0xffffffff8aad2b2f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8aad2b52, rs 0xffffffff8aad2b2f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff87ee0ef5, rs 0xffffffff87ee0df6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff87ee0df5, rs 0xffffffff87ee0df6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff87ee0e19, rs 0xffffffff87ee0df6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff99a95ef2, rs 0xffffffff99a95df3, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff99a95df2, rs 0xffffffff99a95df3, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff99a95e16, rs 0xffffffff99a95df3, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9d684143, rs 0xffffffff9d684044, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9d684043, rs 0xffffffff9d684044, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9d684067, rs 0xffffffff9d684044, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff902b679c, rs 0xffffffff902b669d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff902b669c, rs 0xffffffff902b669d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff902b66c0, rs 0xffffffff902b669d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff94ea7c29, rs 0xffffffff94ea7b2a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff94ea7b29, rs 0xffffffff94ea7b2a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff94ea7b4d, rs 0xffffffff94ea7b2a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe0b41ee6, rs 0xffffffffe0b41de7, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe0b41de6, rs 0xffffffffe0b41de7, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe0b41e0a, rs 0xffffffffe0b41de7, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe475014f, rs 0xffffffffe4750050, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe475004f, rs 0xffffffffe4750050, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe4750073, rs 0xffffffffe4750050, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe9362788, rs 0xffffffffe9362689, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe9362688, rs 0xffffffffe9362689, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe93626ac, rs 0xffffffffe9362689, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffedf73c3d, rs 0xffffffffedf73b3e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffedf73b3d, rs 0xffffffffedf73b3e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffedf73b61, rs 0xffffffffedf73b3e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff3b06c3a, rs 0xfffffffff3b06b3b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff3b06b3a, rs 0xfffffffff3b06b3b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff3b06b5e, rs 0xfffffffff3b06b3b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff771778b, rs 0xfffffffff771768c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff771768b, rs 0xfffffffff771768c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff77176af, rs 0xfffffffff771768c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffffa325154, rs 0xfffffffffa325055, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffffa325054, rs 0xfffffffffa325055, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffffa325078, rs 0xfffffffffa325055, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffffef34ee1, rs 0xfffffffffef34de2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffffef34de1, rs 0xfffffffffef34de2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffffef34e05, rs 0xfffffffffef34de2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc6bcf15e, rs 0xffffffffc6bcf05f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc6bcf05e, rs 0xffffffffc6bcf05f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc6bcf082, rs 0xffffffffc6bcf05f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc27deee7, rs 0xffffffffc27dede8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc27dede7, rs 0xffffffffc27dede8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc27dee0b, rs 0xffffffffc27dede8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffcf3ecc30, rs 0xffffffffcf3ecb31, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffcf3ecb30, rs 0xffffffffcf3ecb31, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffcf3ecb54, rs 0xffffffffcf3ecb31, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffcbffd785, rs 0xffffffffcbffd686, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffcbffd685, rs 0xffffffffcbffd686, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffcbffd6a9, rs 0xffffffffcbffd686, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd5b88782, rs 0xffffffffd5b88683, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd5b88682, rs 0xffffffffd5b88683, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd5b886a6, rs 0xffffffffd5b88683, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd1799c33, rs 0xffffffffd1799b34, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd1799b33, rs 0xffffffffd1799b34, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd1799b57, rs 0xffffffffd1799b34, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffdc3abeec, rs 0xffffffffdc3abded, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffdc3abdec, rs 0xffffffffdc3abded, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffdc3abe10, rs 0xffffffffdc3abded, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd8fba159, rs 0xffffffffd8fba05a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd8fba059, rs 0xffffffffd8fba05a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd8fba07d, rs 0xffffffffd8fba05a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x690ce1ed, rs 0x690ce0ee, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x690ce0ed, rs 0x690ce0ee, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x690ce111, rs 0x690ce0ee, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6dcdfe58, rs 0x6dcdfd59, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6dcdfd58, rs 0x6dcdfd59, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6dcdfd7c, rs 0x6dcdfd59, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x608edc7f, rs 0x608edb80, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x608edb7f, rs 0x608edb80, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x608edba3, rs 0x608edb80, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x644fc736, rs 0x644fc637, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x644fc636, rs 0x644fc637, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x644fc65a, rs 0x644fc637, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7a089731, rs 0x7a089632, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7a089631, rs 0x7a089632, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7a089655, rs 0x7a089632, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7ec98c84, rs 0x7ec98b85, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7ec98b84, rs 0x7ec98b85, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7ec98ba8, rs 0x7ec98b85, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x738aae5b, rs 0x738aad5c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x738aad5b, rs 0x738aad5c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x738aad7f, rs 0x738aad5c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x774bb1ea, rs 0x774bb0eb, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x774bb0ea, rs 0x774bb0eb, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x774bb10e, rs 0x774bb0eb, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4f040e55, rs 0x4f040d56, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4f040d55, rs 0x4f040d56, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4f040d79, rs 0x4f040d56, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4bc511e0, rs 0x4bc510e1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4bc510e0, rs 0x4bc510e1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4bc51104, rs 0x4bc510e1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x46863737, rs 0x46863638, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x46863637, rs 0x46863638, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4686365b, rs 0x46863638, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x42472c8e, rs 0x42472b8f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x42472b8e, rs 0x42472b8f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x42472bb2, rs 0x42472b8f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5c007c89, rs 0x5c007b8a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5c007b89, rs 0x5c007b8a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5c007bad, rs 0x5c007b8a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x58c1673c, rs 0x58c1663d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x58c1663c, rs 0x58c1663d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x58c16660, rs 0x58c1663d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x558241e3, rs 0x558240e4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x558240e3, rs 0x558240e4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x55824107, rs 0x558240e4, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x51435e52, rs 0x51435d53, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x51435d52, rs 0x51435d53, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x51435d76, rs 0x51435d53, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x251d3c9d, rs 0x251d3b9e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x251d3b9d, rs 0x251d3b9e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x251d3bc1, rs 0x251d3b9e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x21dc2728, rs 0x21dc2629, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x21dc2628, rs 0x21dc2629, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x21dc264c, rs 0x21dc2629, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2c9f01ef, rs 0x2c9f00f0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2c9f00ef, rs 0x2c9f00f0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2c9f0113, rs 0x2c9f00f0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x285e1e46, rs 0x285e1d47, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x285e1d46, rs 0x285e1d47, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x285e1d6a, rs 0x285e1d47, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x36194e41, rs 0x36194d42, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x36194d41, rs 0x36194d42, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x36194d65, rs 0x36194d42, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x32d851f4, rs 0x32d850f5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x32d850f4, rs 0x32d850f5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x32d85118, rs 0x32d850f5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3f9b772b, rs 0x3f9b762c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3f9b762b, rs 0x3f9b762c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3f9b764f, rs 0x3f9b762c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3b5a6c9a, rs 0x3b5a6b9b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3b5a6b9a, rs 0x3b5a6b9b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3b5a6bbe, rs 0x3b5a6b9b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x315d725, rs 0x315d626, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x315d625, rs 0x315d626, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x315d649, rs 0x315d626, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7d4cc90, rs 0x7d4cb91, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7d4cb90, rs 0x7d4cb91, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7d4cbb4, rs 0x7d4cb91, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xa97ee47, rs 0xa97ed48, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xa97ed47, rs 0xa97ed48, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xa97ed6b, rs 0xa97ed48, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xe56f1fe, rs 0xe56f0ff, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xe56f0fe, rs 0xe56f0ff, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xe56f122, rs 0xe56f0ff, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1011a1f9, rs 0x1011a0fa, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1011a0f9, rs 0x1011a0fa, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1011a11d, rs 0x1011a0fa, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x14d0be4c, rs 0x14d0bd4d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x14d0bd4c, rs 0x14d0bd4d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x14d0bd70, rs 0x14d0bd4d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x19939c93, rs 0x19939b94, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x19939b93, rs 0x19939b94, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x19939bb7, rs 0x19939b94, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1d528722, rs 0x1d528623, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1d528622, rs 0x1d528623, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1d528646, rs 0x1d528623, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff12f570d, rs 0xfffffffff12f560e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff12f560d, rs 0xfffffffff12f560e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff12f5631, rs 0xfffffffff12f560e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff5ee4cb8, rs 0xfffffffff5ee4bb9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff5ee4bb8, rs 0xfffffffff5ee4bb9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff5ee4bdc, rs 0xfffffffff5ee4bb9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff8ad6e5f, rs 0xfffffffff8ad6d60, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff8ad6d5f, rs 0xfffffffff8ad6d60, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff8ad6d83, rs 0xfffffffff8ad6d60, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffffc6c71d6, rs 0xfffffffffc6c70d7, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffffc6c70d6, rs 0xfffffffffc6c70d7, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffffc6c70fa, rs 0xfffffffffc6c70d7, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe22b21d1, rs 0xffffffffe22b20d2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe22b20d1, rs 0xffffffffe22b20d2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe22b20f5, rs 0xffffffffe22b20d2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe6ea3e64, rs 0xffffffffe6ea3d65, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe6ea3d64, rs 0xffffffffe6ea3d65, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe6ea3d88, rs 0xffffffffe6ea3d65, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffeba91cbb, rs 0xffffffffeba91bbc, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffeba91bbb, rs 0xffffffffeba91bbc, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffeba91bdf, rs 0xffffffffeba91bbc, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffef68070a, rs 0xffffffffef68060b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffef68060a, rs 0xffffffffef68060b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffef68062e, rs 0xffffffffef68060b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd727bcb5, rs 0xffffffffd727bbb6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd727bbb5, rs 0xffffffffd727bbb6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd727bbd9, rs 0xffffffffd727bbb6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd3e6a700, rs 0xffffffffd3e6a601, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd3e6a600, rs 0xffffffffd3e6a601, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd3e6a624, rs 0xffffffffd3e6a601, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffdea581d7, rs 0xffffffffdea580d8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffdea580d7, rs 0xffffffffdea580d8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffdea580fb, rs 0xffffffffdea580d8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffda649e6e, rs 0xffffffffda649d6f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffda649d6e, rs 0xffffffffda649d6f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffda649d92, rs 0xffffffffda649d6f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc423ce69, rs 0xffffffffc423cd6a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc423cd69, rs 0xffffffffc423cd6a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc423cd8d, rs 0xffffffffc423cd6a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffcda1f703, rs 0xffffffffcda1f604, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffcda1f603, rs 0xffffffffcda1f604, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffcda1f627, rs 0xffffffffcda1f604, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbd3e8e7d, rs 0xffffffffbd3e8d7e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbd3e8d7d, rs 0xffffffffbd3e8d7e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbd3e8da1, rs 0xffffffffbd3e8d7e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb9ff91c8, rs 0xffffffffb9ff90c9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb9ff90c8, rs 0xffffffffb9ff90c9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb9ff90ec, rs 0xffffffffb9ff90c9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb4bcb70f, rs 0xffffffffb4bcb610, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb4bcb60f, rs 0xffffffffb4bcb610, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb4bcb633, rs 0xffffffffb4bcb610, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb07daca6, rs 0xffffffffb07daba7, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb07daba6, rs 0xffffffffb07daba7, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb07dabca, rs 0xffffffffb07daba7, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffae3afca1, rs 0xffffffffae3afba2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffae3afba1, rs 0xffffffffae3afba2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffae3afbc5, rs 0xffffffffae3afba2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffaafbe714, rs 0xffffffffaafbe615, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffaafbe614, rs 0xffffffffaafbe615, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffaafbe638, rs 0xffffffffaafbe615, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa7b8c1cb, rs 0xffffffffa7b8c0cc, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa7b8c0cb, rs 0xffffffffa7b8c0cc, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa7b8c0ef, rs 0xffffffffa7b8c0cc, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa379de7a, rs 0xffffffffa379dd7b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa379dd7a, rs 0xffffffffa379dd7b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa379dd9e, rs 0xffffffffa379dd7b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9b3661c5, rs 0xffffffff9b3660c6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9b3660c5, rs 0xffffffff9b3660c6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9b3660e9, rs 0xffffffff9b3660c6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9ff77e70, rs 0xffffffff9ff77d71, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9ff77d70, rs 0xffffffff9ff77d71, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9ff77d94, rs 0xffffffff9ff77d71, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff92b45ca7, rs 0xffffffff92b45ba8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff92b45ba7, rs 0xffffffff92b45ba8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff92b45bcb, rs 0xffffffff92b45ba8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9675471e, rs 0xffffffff9675461f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9675461e, rs 0xffffffff9675461f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff96754642, rs 0xffffffff9675461f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff88321719, rs 0xffffffff8832161a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff88321619, rs 0xffffffff8832161a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8832163d, rs 0xffffffff8832161a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8cf30cac, rs 0xffffffff8cf30bad, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8cf30bac, rs 0xffffffff8cf30bad, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8cf30bd0, rs 0xffffffff8cf30bad, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff81b02e73, rs 0xffffffff81b02d74, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff81b02d73, rs 0xffffffff81b02d74, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff81b02d97, rs 0xffffffff81b02d74, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff857131c2, rs 0xffffffff857130c3, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff857130c2, rs 0xffffffff857130c3, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff857130e6, rs 0xffffffff857130c3, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5d8a9198, rs 0x5d8a9099, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5d8a9098, rs 0x5d8a9099, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5d8a90bc, rs 0x5d8a9099, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x594b8e2d, rs 0x594b8d2e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x594b8d2d, rs 0x594b8d2e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x594b8d51, rs 0x594b8d2e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x5408acf6, rs 0x5408abf7, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x5408abf6, rs 0x5408abf7, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x5408ac1a, rs 0x5408abf7, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x50c9b73f, rs 0x50c9b640, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x50c9b63f, rs 0x50c9b640, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x50c9b663, rs 0x50c9b640, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4e8ee744, rs 0x4e8ee645, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4e8ee644, rs 0x4e8ee645, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4e8ee668, rs 0x4e8ee645, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x4a4ffcf1, rs 0x4a4ffbf2, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x4a4ffbf1, rs 0x4a4ffbf2, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x4a4ffc15, rs 0x4a4ffbf2, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x470cde2a, rs 0x470cdd2b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x470cdd2a, rs 0x470cdd2b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x470cdd4e, rs 0x470cdd2b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x43cdc19b, rs 0x43cdc09c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x43cdc09b, rs 0x43cdc09c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x43cdc0bf, rs 0x43cdc09c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7b827e20, rs 0x7b827d21, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7b827d20, rs 0x7b827d21, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7b827d44, rs 0x7b827d21, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7f436195, rs 0x7f436096, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7f436095, rs 0x7f436096, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x7f4360b9, rs 0x7f436096, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x7200474e, rs 0x7200464f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x7200464e, rs 0x7200464f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x72004672, rs 0x7200464f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x76c15cf7, rs 0x76c15bf8, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x76c15bf7, rs 0x76c15bf8, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x76c15c1b, rs 0x76c15bf8, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x68860cfc, rs 0x68860bfd, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x68860bfc, rs 0x68860bfd, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x68860c20, rs 0x68860bfd, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x6c471749, rs 0x6c47164a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x6c471649, rs 0x6c47164a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x6c47166d, rs 0x6c47164a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x61043192, rs 0x61043093, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x61043092, rs 0x61043093, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x610430b6, rs 0x61043093, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x65c52e23, rs 0x65c52d24, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x65c52d23, rs 0x65c52d24, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x65c52d47, rs 0x65c52d24, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x119b4ce8, rs 0x119b4be9, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x119b4be8, rs 0x119b4be9, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x119b4c0c, rs 0x119b4be9, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x155a575d, rs 0x155a565e, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x155a565d, rs 0x155a565e, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x155a5681, rs 0x155a565e, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x18197186, rs 0x18197087, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x18197086, rs 0x18197087, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x181970aa, rs 0x18197087, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x1cd86e2f, rs 0x1cd86d30, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x1cd86d2f, rs 0x1cd86d30, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x1cd86d53, rs 0x1cd86d30, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x29f3e34, rs 0x29f3d35, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x29f3d34, rs 0x29f3d35, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x29f3d58, rs 0x29f3d35, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x65e2181, rs 0x65e2082, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x65e2081, rs 0x65e2082, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x65e20a5, rs 0x65e2082, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xb1d075a, rs 0xb1d065b, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xb1d065a, rs 0xb1d065b, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xb1d067e, rs 0xb1d065b, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfdc1ceb, rs 0xfdc1bec, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfdc1beb, rs 0xfdc1bec, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfdc1c0f, rs 0xfdc1bec, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3793a750, rs 0x3793a651, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3793a650, rs 0x3793a651, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3793a674, rs 0x3793a651, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3352bce5, rs 0x3352bbe6, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3352bbe5, rs 0x3352bbe6, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3352bc09, rs 0x3352bbe6, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3e119e3e, rs 0x3e119d3f, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3e119d3e, rs 0x3e119d3f, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3e119d62, rs 0x3e119d3f, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x3ad08187, rs 0x3ad08088, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x3ad08087, rs 0x3ad08088, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x3ad080ab, rs 0x3ad08088, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2497d18c, rs 0x2497d08d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2497d08c, rs 0x2497d08d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2497d0b0, rs 0x2497d08d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2056ce39, rs 0x2056cd3a, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2056cd39, rs 0x2056cd3a, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2056cd5d, rs 0x2056cd3a, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x2d15ece2, rs 0x2d15ebe3, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x2d15ebe2, rs 0x2d15ebe3, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x2d15ec06, rs 0x2d15ebe3, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0x29d4f753, rs 0x29d4f654, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0x29d4f653, rs 0x29d4f654, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0x29d4f677, rs 0x29d4f654, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc5a92778, rs 0xffffffffc5a92679, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc5a92678, rs 0xffffffffc5a92679, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc5a9269c, rs 0xffffffffc5a92679, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc1683ccd, rs 0xffffffffc1683bce, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc1683bcd, rs 0xffffffffc1683bce, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc1683bf1, rs 0xffffffffc1683bce, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffcc2b1e16, rs 0xffffffffcc2b1d17, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffcc2b1d16, rs 0xffffffffcc2b1d17, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffcc2b1d3a, rs 0xffffffffcc2b1d17, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffc8ea019f, rs 0xffffffffc8ea00a0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffc8ea009f, rs 0xffffffffc8ea00a0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffc8ea00c3, rs 0xffffffffc8ea00a0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd6ad51a4, rs 0xffffffffd6ad50a5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd6ad50a4, rs 0xffffffffd6ad50a5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd6ad50c8, rs 0xffffffffd6ad50a5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffd26c4e11, rs 0xffffffffd26c4d12, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffd26c4d11, rs 0xffffffffd26c4d12, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffd26c4d35, rs 0xffffffffd26c4d12, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffdf2f6cca, rs 0xffffffffdf2f6bcb, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffdf2f6bca, rs 0xffffffffdf2f6bcb, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffdf2f6bee, rs 0xffffffffdf2f6bcb, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffdbee777b, rs 0xffffffffdbee767c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffdbee767b, rs 0xffffffffdbee767c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffdbee769f, rs 0xffffffffdbee767c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe3a1ccc0, rs 0xffffffffe3a1cbc1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe3a1cbc0, rs 0xffffffffe3a1cbc1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe3a1cbe4, rs 0xffffffffe3a1cbc1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffe760d775, rs 0xffffffffe760d676, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffe760d675, rs 0xffffffffe760d676, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffe760d699, rs 0xffffffffe760d676, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffea23f1ae, rs 0xffffffffea23f0af, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffea23f0ae, rs 0xffffffffea23f0af, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffea23f0d2, rs 0xffffffffea23f0af, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffeee2ee17, rs 0xffffffffeee2ed18, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffeee2ed17, rs 0xffffffffeee2ed18, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffeee2ed3b, rs 0xffffffffeee2ed18, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff0a5be1c, rs 0xfffffffff0a5bd1d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff0a5bd1c, rs 0xfffffffff0a5bd1d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff0a5bd40, rs 0xfffffffff0a5bd1d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff464a1a9, rs 0xfffffffff464a0aa, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff464a0a9, rs 0xfffffffff464a0aa, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff464a0cd, rs 0xfffffffff464a0aa, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffff9278772, rs 0xfffffffff9278673, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffff9278672, rs 0xfffffffff9278673, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffff9278696, rs 0xfffffffff9278673, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xfffffffffde69cc3, rs 0xfffffffffde69bc4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xfffffffffde69bc3, rs 0xfffffffffde69bc4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xfffffffffde69be7, rs 0xfffffffffde69bc4, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff89b8fe08, rs 0xffffffff89b8fd09, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff89b8fd08, rs 0xffffffff89b8fd09, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff89b8fd2c, rs 0xffffffff89b8fd09, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff8d79e1bd, rs 0xffffffff8d79e0be, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff8d79e0bd, rs 0xffffffff8d79e0be, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff8d79e0e1, rs 0xffffffff8d79e0be, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff803ac766, rs 0xffffffff803ac667, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff803ac666, rs 0xffffffff803ac667, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff803ac68a, rs 0xffffffff803ac667, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff84fbdccf, rs 0xffffffff84fbdbd0, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff84fbdbcf, rs 0xffffffff84fbdbd0, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff84fbdbf3, rs 0xffffffff84fbdbd0, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9abc8cd4, rs 0xffffffff9abc8bd5, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9abc8bd4, rs 0xffffffff9abc8bd5, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9abc8bf8, rs 0xffffffff9abc8bd5, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff9e7d9761, rs 0xffffffff9e7d9662, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff9e7d9661, rs 0xffffffff9e7d9662, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff9e7d9685, rs 0xffffffff9e7d9662, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff933eb1ba, rs 0xffffffff933eb0bb, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff933eb0ba, rs 0xffffffff933eb0bb, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff933eb0de, rs 0xffffffff933eb0bb, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffff97ffae0b, rs 0xffffffff97ffad0c, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffff97ffad0b, rs 0xffffffff97ffad0c, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffff97ffad2f, rs 0xffffffff97ffad0c, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffafb011b0, rs 0xffffffffafb010b1, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffafb010b0, rs 0xffffffffafb010b1, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffafb010d4, rs 0xffffffffafb010b1, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffab710e05, rs 0xffffffffab710d06, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffab710d05, rs 0xffffffffab710d06, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffab710d29, rs 0xffffffffab710d06, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa6322cde, rs 0xffffffffa6322bdf, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa6322bde, rs 0xffffffffa6322bdf, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa6322c02, rs 0xffffffffa6322bdf, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffa2f33767, rs 0xffffffffa2f33668, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffa2f33667, rs 0xffffffffa2f33668, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffa2f3368b, rs 0xffffffffa2f33668, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffbcb4676c, rs 0xffffffffbcb4666d, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffbcb4666c, rs 0xffffffffbcb4666d, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffbcb46690, rs 0xffffffffbcb4666d, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb8757cd9, rs 0xffffffffb8757bda, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb8757bd9, rs 0xffffffffb8757bda, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb8757bfd, rs 0xffffffffb8757bda, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb5365e02, rs 0xffffffffb5365d03, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb5365d02, rs 0xffffffffb5365d03, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb5365d26, rs 0xffffffffb5365d03, imm 0x0023
+addi $t0, $t1, 0xff :: rt 0xffffffffb1f741b3, rs 0xffffffffb1f740b4, imm 0x00ff
+addi $t2, $t3, 0xffff :: rt 0xffffffffb1f740b3, rs 0xffffffffb1f740b4, imm 0xffff
+addi $a0, $a1, 0x0 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+addi $s0, $s1, 0x23 :: rt 0xffffffffb1f740d7, rs 0xffffffffb1f740b4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x9823c6d, rs 0x9823b6e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x9823b6d, rs 0x9823b6e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x9823b91, rs 0x9823b6e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xd4327d8, rs 0xd4326d9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xd4326d8, rs 0xd4326d9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xd4326fc, rs 0xd4326d9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x130477db, rs 0x130476dc, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x130476db, rs 0x130476dc, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x130476ff, rs 0x130476dc, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x17c56c6a, rs 0x17c56b6b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x17c56b6a, rs 0x17c56b6b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x17c56b8e, rs 0x17c56b6b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1a864eb1, rs 0x1a864db2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1a864db1, rs 0x1a864db2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1a864dd5, rs 0x1a864db2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1e475104, rs 0x1e475005, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1e475004, rs 0x1e475005, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1e475028, rs 0x1e475005, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2608eeb7, rs 0x2608edb8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2608edb7, rs 0x2608edb8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2608eddb, rs 0x2608edb8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x22c9f10e, rs 0x22c9f00f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x22c9f00e, rs 0x22c9f00f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x22c9f032, rs 0x22c9f00f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2f8ad7d5, rs 0x2f8ad6d6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2f8ad6d5, rs 0x2f8ad6d6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2f8ad6f9, rs 0x2f8ad6d6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2b4bcc60, rs 0x2b4bcb61, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2b4bcb60, rs 0x2b4bcb61, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2b4bcb84, rs 0x2b4bcb61, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x350c9c63, rs 0x350c9b64, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x350c9b63, rs 0x350c9b64, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x350c9b87, rs 0x350c9b64, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x31cd87d2, rs 0x31cd86d3, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x31cd86d2, rs 0x31cd86d3, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x31cd86f6, rs 0x31cd86d3, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3c8ea109, rs 0x3c8ea00a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3c8ea009, rs 0x3c8ea00a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3c8ea02d, rs 0x3c8ea00a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x384fbebc, rs 0x384fbdbd, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x384fbdbc, rs 0x384fbdbd, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x384fbde0, rs 0x384fbdbd, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4c11dc6f, rs 0x4c11db70, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4c11db6f, rs 0x4c11db70, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4c11db93, rs 0x4c11db70, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x48d0c7c6, rs 0x48d0c6c7, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x48d0c6c6, rs 0x48d0c6c7, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x48d0c6ea, rs 0x48d0c6c7, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4593e11d, rs 0x4593e01e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4593e01d, rs 0x4593e01e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4593e041, rs 0x4593e01e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4152fea8, rs 0x4152fda9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4152fda8, rs 0x4152fda9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4152fdcc, rs 0x4152fda9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5f15aeab, rs 0x5f15adac, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5f15adab, rs 0x5f15adac, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5f15adcf, rs 0x5f15adac, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5bd4b11a, rs 0x5bd4b01b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5bd4b01a, rs 0x5bd4b01b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5bd4b03e, rs 0x5bd4b01b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x569797c1, rs 0x569796c2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x569796c1, rs 0x569796c2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x569796e5, rs 0x569796c2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x52568c74, rs 0x52568b75, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x52568b74, rs 0x52568b75, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x52568b98, rs 0x52568b75, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6a1937c7, rs 0x6a1936c8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6a1936c7, rs 0x6a1936c8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6a1936eb, rs 0x6a1936c8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6ed82c7e, rs 0x6ed82b7f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6ed82b7e, rs 0x6ed82b7f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6ed82ba2, rs 0x6ed82b7f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x639b0ea5, rs 0x639b0da6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x639b0da5, rs 0x639b0da6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x639b0dc9, rs 0x639b0da6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x675a1110, rs 0x675a1011, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x675a1010, rs 0x675a1011, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x675a1034, rs 0x675a1011, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x791d4113, rs 0x791d4014, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x791d4013, rs 0x791d4014, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x791d4037, rs 0x791d4014, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7ddc5ea2, rs 0x7ddc5da3, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7ddc5da2, rs 0x7ddc5da3, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7ddc5dc6, rs 0x7ddc5da3, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x709f7c79, rs 0x709f7b7a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x709f7b79, rs 0x709f7b7a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x709f7b9d, rs 0x709f7b7a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x745e67cc, rs 0x745e66cd, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x745e66cc, rs 0x745e66cd, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x745e66f0, rs 0x745e66cd, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9823b7df, rs 0xffffffff9823b6e0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9823b6df, rs 0xffffffff9823b6e0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9823b703, rs 0xffffffff9823b6e0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9ce2ac56, rs 0xffffffff9ce2ab57, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9ce2ab56, rs 0xffffffff9ce2ab57, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9ce2ab7a, rs 0xffffffff9ce2ab57, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff91a18e8d, rs 0xffffffff91a18d8e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff91a18d8d, rs 0xffffffff91a18d8e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff91a18db1, rs 0xffffffff91a18d8e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff95609138, rs 0xffffffff95609039, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff95609038, rs 0xffffffff95609039, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9560905c, rs 0xffffffff95609039, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8b27c13b, rs 0xffffffff8b27c03c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8b27c03b, rs 0xffffffff8b27c03c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8b27c05f, rs 0xffffffff8b27c03c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8fe6de8a, rs 0xffffffff8fe6dd8b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8fe6dd8a, rs 0xffffffff8fe6dd8b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8fe6ddae, rs 0xffffffff8fe6dd8b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff82a5fc51, rs 0xffffffff82a5fb52, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff82a5fb51, rs 0xffffffff82a5fb52, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff82a5fb75, rs 0xffffffff82a5fb52, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8664e7e4, rs 0xffffffff8664e6e5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8664e6e4, rs 0xffffffff8664e6e5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8664e708, rs 0xffffffff8664e6e5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbe2b5c57, rs 0xffffffffbe2b5b58, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbe2b5b57, rs 0xffffffffbe2b5b58, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbe2b5b7b, rs 0xffffffffbe2b5b58, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbaea47ee, rs 0xffffffffbaea46ef, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbaea46ee, rs 0xffffffffbaea46ef, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbaea4712, rs 0xffffffffbaea46ef, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb7a96135, rs 0xffffffffb7a96036, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb7a96035, rs 0xffffffffb7a96036, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb7a96059, rs 0xffffffffb7a96036, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb3687e80, rs 0xffffffffb3687d81, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb3687d80, rs 0xffffffffb3687d81, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb3687da4, rs 0xffffffffb3687d81, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffad2f2e83, rs 0xffffffffad2f2d84, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffad2f2d83, rs 0xffffffffad2f2d84, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffad2f2da7, rs 0xffffffffad2f2d84, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa9ee3132, rs 0xffffffffa9ee3033, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa9ee3032, rs 0xffffffffa9ee3033, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa9ee3056, rs 0xffffffffa9ee3033, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa4ad17e9, rs 0xffffffffa4ad16ea, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa4ad16e9, rs 0xffffffffa4ad16ea, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa4ad170d, rs 0xffffffffa4ad16ea, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa06c0c5c, rs 0xffffffffa06c0b5d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa06c0b5c, rs 0xffffffffa06c0b5d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa06c0b80, rs 0xffffffffa06c0b5d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd4326e8f, rs 0xffffffffd4326d90, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd4326d8f, rs 0xffffffffd4326d90, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd4326db3, rs 0xffffffffd4326d90, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd0f37126, rs 0xffffffffd0f37027, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd0f37026, rs 0xffffffffd0f37027, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd0f3704a, rs 0xffffffffd0f37027, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffddb057fd, rs 0xffffffffddb056fe, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffddb056fd, rs 0xffffffffddb056fe, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffddb05721, rs 0xffffffffddb056fe, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd9714c48, rs 0xffffffffd9714b49, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd9714b48, rs 0xffffffffd9714b49, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd9714b6c, rs 0xffffffffd9714b49, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc7361c4b, rs 0xffffffffc7361b4c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc7361b4b, rs 0xffffffffc7361b4c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc7361b6f, rs 0xffffffffc7361b4c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc3f707fa, rs 0xffffffffc3f706fb, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc3f706fa, rs 0xffffffffc3f706fb, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc3f7071e, rs 0xffffffffc3f706fb, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffceb42121, rs 0xffffffffceb42022, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffceb42021, rs 0xffffffffceb42022, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffceb42045, rs 0xffffffffceb42022, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffca753e94, rs 0xffffffffca753d95, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffca753d94, rs 0xffffffffca753d95, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffca753db8, rs 0xffffffffca753d95, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff23a8127, rs 0xfffffffff23a8028, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff23a8027, rs 0xfffffffff23a8028, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff23a804b, rs 0xfffffffff23a8028, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff6fb9e9e, rs 0xfffffffff6fb9d9f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff6fb9d9e, rs 0xfffffffff6fb9d9f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff6fb9dc2, rs 0xfffffffff6fb9d9f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffffbb8bc45, rs 0xfffffffffbb8bb46, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffffbb8bb45, rs 0xfffffffffbb8bb46, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffffbb8bb69, rs 0xfffffffffbb8bb46, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffff79a7f0, rs 0xffffffffff79a6f1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffff79a6f0, rs 0xffffffffff79a6f1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffff79a714, rs 0xffffffffff79a6f1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe13ef7f3, rs 0xffffffffe13ef6f4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe13ef6f3, rs 0xffffffffe13ef6f4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe13ef717, rs 0xffffffffe13ef6f4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe5ffec42, rs 0xffffffffe5ffeb43, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe5ffeb42, rs 0xffffffffe5ffeb43, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe5ffeb66, rs 0xffffffffe5ffeb43, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe8bcce99, rs 0xffffffffe8bccd9a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe8bccd99, rs 0xffffffffe8bccd9a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe8bccdbd, rs 0xffffffffe8bccd9a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffec7dd12c, rs 0xffffffffec7dd02d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffec7dd02c, rs 0xffffffffec7dd02d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffec7dd050, rs 0xffffffffec7dd02d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x34867176, rs 0x34867077, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x34867076, rs 0x34867077, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3486709a, rs 0x34867077, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x30476ebf, rs 0x30476dc0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x30476dbf, rs 0x30476dc0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x30476de3, rs 0x30476dc0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3d044c18, rs 0x3d044b19, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3d044b18, rs 0x3d044b19, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3d044b3c, rs 0x3d044b19, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x39c557ad, rs 0x39c556ae, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x39c556ad, rs 0x39c556ae, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x39c556d1, rs 0x39c556ae, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x278207aa, rs 0x278206ab, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x278206aa, rs 0x278206ab, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x278206ce, rs 0x278206ab, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x23431c1b, rs 0x23431b1c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x23431b1b, rs 0x23431b1c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23431b3f, rs 0x23431b1c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2e003ec4, rs 0x2e003dc5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2e003dc4, rs 0x2e003dc5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2e003de8, rs 0x2e003dc5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2ac12171, rs 0x2ac12072, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2ac12071, rs 0x2ac12072, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2ac12095, rs 0x2ac12072, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x128e9ece, rs 0x128e9dcf, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x128e9dce, rs 0x128e9dcf, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x128e9df2, rs 0x128e9dcf, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x164f8177, rs 0x164f8078, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x164f8077, rs 0x164f8078, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x164f809b, rs 0x164f8078, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1b0ca7a0, rs 0x1b0ca6a1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1b0ca6a0, rs 0x1b0ca6a1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1b0ca6c4, rs 0x1b0ca6a1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1fcdbc15, rs 0x1fcdbb16, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1fcdbb15, rs 0x1fcdbb16, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1fcdbb39, rs 0x1fcdbb16, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x18aec12, rs 0x18aeb13, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x18aeb12, rs 0x18aeb13, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x18aeb36, rs 0x18aeb13, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x54bf7a3, rs 0x54bf6a4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x54bf6a3, rs 0x54bf6a4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x54bf6c7, rs 0x54bf6a4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x808d17c, rs 0x808d07d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x808d07c, rs 0x808d07d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x808d0a0, rs 0x808d07d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xcc9cec9, rs 0xcc9cdca, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xcc9cdc9, rs 0xcc9cdca, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xcc9cded, rs 0xcc9cdca, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7897ac06, rs 0x7897ab07, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7897ab06, rs 0x7897ab07, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7897ab2a, rs 0x7897ab07, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7c56b7af, rs 0x7c56b6b0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7c56b6af, rs 0x7c56b6b0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7c56b6d3, rs 0x7c56b6b0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x71159168, rs 0x71159069, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x71159068, rs 0x71159069, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7115908c, rs 0x71159069, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x75d48edd, rs 0x75d48dde, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x75d48ddd, rs 0x75d48dde, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x75d48e01, rs 0x75d48dde, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6b93deda, rs 0x6b93dddb, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6b93ddda, rs 0x6b93dddb, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6b93ddfe, rs 0x6b93dddb, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6f52c16b, rs 0x6f52c06c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6f52c06b, rs 0x6f52c06c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6f52c08f, rs 0x6f52c06c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6211e7b4, rs 0x6211e6b5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6211e6b4, rs 0x6211e6b5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6211e6d8, rs 0x6211e6b5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x66d0fc01, rs 0x66d0fb02, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x66d0fb01, rs 0x66d0fb02, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x66d0fb25, rs 0x66d0fb02, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5e9f47be, rs 0x5e9f46bf, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5e9f46be, rs 0x5e9f46bf, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5e9f46e2, rs 0x5e9f46bf, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5a5e5c07, rs 0x5a5e5b08, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5a5e5b07, rs 0x5a5e5b08, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5a5e5b2b, rs 0x5a5e5b08, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x571d7ed0, rs 0x571d7dd1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x571d7dd0, rs 0x571d7dd1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x571d7df4, rs 0x571d7dd1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x53dc6165, rs 0x53dc6066, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x53dc6065, rs 0x53dc6066, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x53dc6089, rs 0x53dc6066, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4d9b3162, rs 0x4d9b3063, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4d9b3062, rs 0x4d9b3063, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4d9b3086, rs 0x4d9b3063, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x495a2ed3, rs 0x495a2dd4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x495a2dd3, rs 0x495a2dd4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x495a2df7, rs 0x495a2dd4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x44190c0c, rs 0x44190b0d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x44190b0c, rs 0x44190b0d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x44190b30, rs 0x44190b0d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x40d817b9, rs 0x40d816ba, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x40d816b9, rs 0x40d816ba, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x40d816dd, rs 0x40d816ba, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffaca5c796, rs 0xffffffffaca5c697, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffaca5c696, rs 0xffffffffaca5c697, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffaca5c6ba, rs 0xffffffffaca5c697, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa864dc1f, rs 0xffffffffa864db20, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa864db1f, rs 0xffffffffa864db20, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa864db43, rs 0xffffffffa864db20, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa527fef8, rs 0xffffffffa527fdf9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa527fdf8, rs 0xffffffffa527fdf9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa527fe1c, rs 0xffffffffa527fdf9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa1e6e14d, rs 0xffffffffa1e6e04e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa1e6e04d, rs 0xffffffffa1e6e04e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa1e6e071, rs 0xffffffffa1e6e04e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbfa1b14a, rs 0xffffffffbfa1b04b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbfa1b04a, rs 0xffffffffbfa1b04b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbfa1b06e, rs 0xffffffffbfa1b04b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbb60aefb, rs 0xffffffffbb60adfc, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbb60adfb, rs 0xffffffffbb60adfc, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbb60ae1f, rs 0xffffffffbb60adfc, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb6238c24, rs 0xffffffffb6238b25, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb6238b24, rs 0xffffffffb6238b25, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb6238b48, rs 0xffffffffb6238b25, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb2e29791, rs 0xffffffffb2e29692, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb2e29691, rs 0xffffffffb2e29692, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb2e296b5, rs 0xffffffffb2e29692, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8aad2c2e, rs 0xffffffff8aad2b2f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8aad2b2e, rs 0xffffffff8aad2b2f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8aad2b52, rs 0xffffffff8aad2b2f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff87ee0ef5, rs 0xffffffff87ee0df6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff87ee0df5, rs 0xffffffff87ee0df6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff87ee0e19, rs 0xffffffff87ee0df6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff99a95ef2, rs 0xffffffff99a95df3, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff99a95df2, rs 0xffffffff99a95df3, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff99a95e16, rs 0xffffffff99a95df3, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9d684143, rs 0xffffffff9d684044, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9d684043, rs 0xffffffff9d684044, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9d684067, rs 0xffffffff9d684044, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff902b679c, rs 0xffffffff902b669d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff902b669c, rs 0xffffffff902b669d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff902b66c0, rs 0xffffffff902b669d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff94ea7c29, rs 0xffffffff94ea7b2a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff94ea7b29, rs 0xffffffff94ea7b2a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff94ea7b4d, rs 0xffffffff94ea7b2a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe0b41ee6, rs 0xffffffffe0b41de7, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe0b41de6, rs 0xffffffffe0b41de7, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe0b41e0a, rs 0xffffffffe0b41de7, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe475014f, rs 0xffffffffe4750050, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe475004f, rs 0xffffffffe4750050, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe4750073, rs 0xffffffffe4750050, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe9362788, rs 0xffffffffe9362689, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe9362688, rs 0xffffffffe9362689, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe93626ac, rs 0xffffffffe9362689, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffedf73c3d, rs 0xffffffffedf73b3e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffedf73b3d, rs 0xffffffffedf73b3e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffedf73b61, rs 0xffffffffedf73b3e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff3b06c3a, rs 0xfffffffff3b06b3b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff3b06b3a, rs 0xfffffffff3b06b3b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff3b06b5e, rs 0xfffffffff3b06b3b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff771778b, rs 0xfffffffff771768c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff771768b, rs 0xfffffffff771768c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff77176af, rs 0xfffffffff771768c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffffa325154, rs 0xfffffffffa325055, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffffa325054, rs 0xfffffffffa325055, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffffa325078, rs 0xfffffffffa325055, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffffef34ee1, rs 0xfffffffffef34de2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffffef34de1, rs 0xfffffffffef34de2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffffef34e05, rs 0xfffffffffef34de2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc6bcf15e, rs 0xffffffffc6bcf05f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc6bcf05e, rs 0xffffffffc6bcf05f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc6bcf082, rs 0xffffffffc6bcf05f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc27deee7, rs 0xffffffffc27dede8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc27dede7, rs 0xffffffffc27dede8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc27dee0b, rs 0xffffffffc27dede8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffcf3ecc30, rs 0xffffffffcf3ecb31, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffcf3ecb30, rs 0xffffffffcf3ecb31, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffcf3ecb54, rs 0xffffffffcf3ecb31, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffcbffd785, rs 0xffffffffcbffd686, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffcbffd685, rs 0xffffffffcbffd686, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffcbffd6a9, rs 0xffffffffcbffd686, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd5b88782, rs 0xffffffffd5b88683, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd5b88682, rs 0xffffffffd5b88683, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd5b886a6, rs 0xffffffffd5b88683, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd1799c33, rs 0xffffffffd1799b34, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd1799b33, rs 0xffffffffd1799b34, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd1799b57, rs 0xffffffffd1799b34, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffdc3abeec, rs 0xffffffffdc3abded, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffdc3abdec, rs 0xffffffffdc3abded, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffdc3abe10, rs 0xffffffffdc3abded, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd8fba159, rs 0xffffffffd8fba05a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd8fba059, rs 0xffffffffd8fba05a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd8fba07d, rs 0xffffffffd8fba05a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x690ce1ed, rs 0x690ce0ee, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x690ce0ed, rs 0x690ce0ee, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x690ce111, rs 0x690ce0ee, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6dcdfe58, rs 0x6dcdfd59, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6dcdfd58, rs 0x6dcdfd59, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6dcdfd7c, rs 0x6dcdfd59, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x608edc7f, rs 0x608edb80, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x608edb7f, rs 0x608edb80, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x608edba3, rs 0x608edb80, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x644fc736, rs 0x644fc637, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x644fc636, rs 0x644fc637, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x644fc65a, rs 0x644fc637, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7a089731, rs 0x7a089632, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7a089631, rs 0x7a089632, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7a089655, rs 0x7a089632, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7ec98c84, rs 0x7ec98b85, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7ec98b84, rs 0x7ec98b85, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7ec98ba8, rs 0x7ec98b85, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x738aae5b, rs 0x738aad5c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x738aad5b, rs 0x738aad5c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x738aad7f, rs 0x738aad5c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x774bb1ea, rs 0x774bb0eb, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x774bb0ea, rs 0x774bb0eb, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x774bb10e, rs 0x774bb0eb, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4f040e55, rs 0x4f040d56, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4f040d55, rs 0x4f040d56, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4f040d79, rs 0x4f040d56, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4bc511e0, rs 0x4bc510e1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4bc510e0, rs 0x4bc510e1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4bc51104, rs 0x4bc510e1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x46863737, rs 0x46863638, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x46863637, rs 0x46863638, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4686365b, rs 0x46863638, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x42472c8e, rs 0x42472b8f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x42472b8e, rs 0x42472b8f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x42472bb2, rs 0x42472b8f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5c007c89, rs 0x5c007b8a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5c007b89, rs 0x5c007b8a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5c007bad, rs 0x5c007b8a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x58c1673c, rs 0x58c1663d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x58c1663c, rs 0x58c1663d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x58c16660, rs 0x58c1663d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x558241e3, rs 0x558240e4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x558240e3, rs 0x558240e4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x55824107, rs 0x558240e4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x51435e52, rs 0x51435d53, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x51435d52, rs 0x51435d53, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x51435d76, rs 0x51435d53, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x251d3c9d, rs 0x251d3b9e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x251d3b9d, rs 0x251d3b9e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x251d3bc1, rs 0x251d3b9e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x21dc2728, rs 0x21dc2629, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x21dc2628, rs 0x21dc2629, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x21dc264c, rs 0x21dc2629, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2c9f01ef, rs 0x2c9f00f0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2c9f00ef, rs 0x2c9f00f0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2c9f0113, rs 0x2c9f00f0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x285e1e46, rs 0x285e1d47, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x285e1d46, rs 0x285e1d47, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x285e1d6a, rs 0x285e1d47, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x36194e41, rs 0x36194d42, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x36194d41, rs 0x36194d42, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x36194d65, rs 0x36194d42, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x32d851f4, rs 0x32d850f5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x32d850f4, rs 0x32d850f5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x32d85118, rs 0x32d850f5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3f9b772b, rs 0x3f9b762c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3f9b762b, rs 0x3f9b762c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3f9b764f, rs 0x3f9b762c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3b5a6c9a, rs 0x3b5a6b9b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3b5a6b9a, rs 0x3b5a6b9b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3b5a6bbe, rs 0x3b5a6b9b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x315d725, rs 0x315d626, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x315d625, rs 0x315d626, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x315d649, rs 0x315d626, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7d4cc90, rs 0x7d4cb91, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7d4cb90, rs 0x7d4cb91, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7d4cbb4, rs 0x7d4cb91, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xa97ee47, rs 0xa97ed48, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xa97ed47, rs 0xa97ed48, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xa97ed6b, rs 0xa97ed48, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xe56f1fe, rs 0xe56f0ff, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xe56f0fe, rs 0xe56f0ff, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xe56f122, rs 0xe56f0ff, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1011a1f9, rs 0x1011a0fa, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1011a0f9, rs 0x1011a0fa, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1011a11d, rs 0x1011a0fa, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x14d0be4c, rs 0x14d0bd4d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x14d0bd4c, rs 0x14d0bd4d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x14d0bd70, rs 0x14d0bd4d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x19939c93, rs 0x19939b94, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x19939b93, rs 0x19939b94, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x19939bb7, rs 0x19939b94, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1d528722, rs 0x1d528623, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1d528622, rs 0x1d528623, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1d528646, rs 0x1d528623, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff12f570d, rs 0xfffffffff12f560e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff12f560d, rs 0xfffffffff12f560e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff12f5631, rs 0xfffffffff12f560e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff5ee4cb8, rs 0xfffffffff5ee4bb9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff5ee4bb8, rs 0xfffffffff5ee4bb9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff5ee4bdc, rs 0xfffffffff5ee4bb9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff8ad6e5f, rs 0xfffffffff8ad6d60, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff8ad6d5f, rs 0xfffffffff8ad6d60, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff8ad6d83, rs 0xfffffffff8ad6d60, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffffc6c71d6, rs 0xfffffffffc6c70d7, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffffc6c70d6, rs 0xfffffffffc6c70d7, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffffc6c70fa, rs 0xfffffffffc6c70d7, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe22b21d1, rs 0xffffffffe22b20d2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe22b20d1, rs 0xffffffffe22b20d2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe22b20f5, rs 0xffffffffe22b20d2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe6ea3e64, rs 0xffffffffe6ea3d65, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe6ea3d64, rs 0xffffffffe6ea3d65, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe6ea3d88, rs 0xffffffffe6ea3d65, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffeba91cbb, rs 0xffffffffeba91bbc, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffeba91bbb, rs 0xffffffffeba91bbc, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffeba91bdf, rs 0xffffffffeba91bbc, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffef68070a, rs 0xffffffffef68060b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffef68060a, rs 0xffffffffef68060b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffef68062e, rs 0xffffffffef68060b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd727bcb5, rs 0xffffffffd727bbb6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd727bbb5, rs 0xffffffffd727bbb6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd727bbd9, rs 0xffffffffd727bbb6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd3e6a700, rs 0xffffffffd3e6a601, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd3e6a600, rs 0xffffffffd3e6a601, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd3e6a624, rs 0xffffffffd3e6a601, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffdea581d7, rs 0xffffffffdea580d8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffdea580d7, rs 0xffffffffdea580d8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffdea580fb, rs 0xffffffffdea580d8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffda649e6e, rs 0xffffffffda649d6f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffda649d6e, rs 0xffffffffda649d6f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffda649d92, rs 0xffffffffda649d6f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc423ce69, rs 0xffffffffc423cd6a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc423cd69, rs 0xffffffffc423cd6a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc423cd8d, rs 0xffffffffc423cd6a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffcda1f703, rs 0xffffffffcda1f604, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffcda1f603, rs 0xffffffffcda1f604, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffcda1f627, rs 0xffffffffcda1f604, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbd3e8e7d, rs 0xffffffffbd3e8d7e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbd3e8d7d, rs 0xffffffffbd3e8d7e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbd3e8da1, rs 0xffffffffbd3e8d7e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb9ff91c8, rs 0xffffffffb9ff90c9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb9ff90c8, rs 0xffffffffb9ff90c9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb9ff90ec, rs 0xffffffffb9ff90c9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb4bcb70f, rs 0xffffffffb4bcb610, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb4bcb60f, rs 0xffffffffb4bcb610, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb4bcb633, rs 0xffffffffb4bcb610, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb07daca6, rs 0xffffffffb07daba7, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb07daba6, rs 0xffffffffb07daba7, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb07dabca, rs 0xffffffffb07daba7, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffae3afca1, rs 0xffffffffae3afba2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffae3afba1, rs 0xffffffffae3afba2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffae3afbc5, rs 0xffffffffae3afba2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffaafbe714, rs 0xffffffffaafbe615, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffaafbe614, rs 0xffffffffaafbe615, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffaafbe638, rs 0xffffffffaafbe615, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa7b8c1cb, rs 0xffffffffa7b8c0cc, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa7b8c0cb, rs 0xffffffffa7b8c0cc, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa7b8c0ef, rs 0xffffffffa7b8c0cc, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa379de7a, rs 0xffffffffa379dd7b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa379dd7a, rs 0xffffffffa379dd7b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa379dd9e, rs 0xffffffffa379dd7b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9b3661c5, rs 0xffffffff9b3660c6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9b3660c5, rs 0xffffffff9b3660c6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9b3660e9, rs 0xffffffff9b3660c6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9ff77e70, rs 0xffffffff9ff77d71, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9ff77d70, rs 0xffffffff9ff77d71, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9ff77d94, rs 0xffffffff9ff77d71, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff92b45ca7, rs 0xffffffff92b45ba8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff92b45ba7, rs 0xffffffff92b45ba8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff92b45bcb, rs 0xffffffff92b45ba8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9675471e, rs 0xffffffff9675461f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9675461e, rs 0xffffffff9675461f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff96754642, rs 0xffffffff9675461f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff88321719, rs 0xffffffff8832161a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff88321619, rs 0xffffffff8832161a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8832163d, rs 0xffffffff8832161a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8cf30cac, rs 0xffffffff8cf30bad, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8cf30bac, rs 0xffffffff8cf30bad, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8cf30bd0, rs 0xffffffff8cf30bad, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff81b02e73, rs 0xffffffff81b02d74, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff81b02d73, rs 0xffffffff81b02d74, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff81b02d97, rs 0xffffffff81b02d74, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff857131c2, rs 0xffffffff857130c3, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff857130c2, rs 0xffffffff857130c3, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff857130e6, rs 0xffffffff857130c3, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5d8a9198, rs 0x5d8a9099, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5d8a9098, rs 0x5d8a9099, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5d8a90bc, rs 0x5d8a9099, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x594b8e2d, rs 0x594b8d2e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x594b8d2d, rs 0x594b8d2e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x594b8d51, rs 0x594b8d2e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x5408acf6, rs 0x5408abf7, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x5408abf6, rs 0x5408abf7, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x5408ac1a, rs 0x5408abf7, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x50c9b73f, rs 0x50c9b640, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x50c9b63f, rs 0x50c9b640, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x50c9b663, rs 0x50c9b640, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4e8ee744, rs 0x4e8ee645, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4e8ee644, rs 0x4e8ee645, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4e8ee668, rs 0x4e8ee645, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x4a4ffcf1, rs 0x4a4ffbf2, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x4a4ffbf1, rs 0x4a4ffbf2, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x4a4ffc15, rs 0x4a4ffbf2, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x470cde2a, rs 0x470cdd2b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x470cdd2a, rs 0x470cdd2b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x470cdd4e, rs 0x470cdd2b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x43cdc19b, rs 0x43cdc09c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x43cdc09b, rs 0x43cdc09c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x43cdc0bf, rs 0x43cdc09c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7b827e20, rs 0x7b827d21, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7b827d20, rs 0x7b827d21, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7b827d44, rs 0x7b827d21, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7f436195, rs 0x7f436096, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7f436095, rs 0x7f436096, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x7f4360b9, rs 0x7f436096, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x7200474e, rs 0x7200464f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x7200464e, rs 0x7200464f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x72004672, rs 0x7200464f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x76c15cf7, rs 0x76c15bf8, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x76c15bf7, rs 0x76c15bf8, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x76c15c1b, rs 0x76c15bf8, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x68860cfc, rs 0x68860bfd, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x68860bfc, rs 0x68860bfd, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x68860c20, rs 0x68860bfd, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x6c471749, rs 0x6c47164a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x6c471649, rs 0x6c47164a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x6c47166d, rs 0x6c47164a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x61043192, rs 0x61043093, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x61043092, rs 0x61043093, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x610430b6, rs 0x61043093, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x65c52e23, rs 0x65c52d24, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x65c52d23, rs 0x65c52d24, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x65c52d47, rs 0x65c52d24, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x119b4ce8, rs 0x119b4be9, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x119b4be8, rs 0x119b4be9, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x119b4c0c, rs 0x119b4be9, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x155a575d, rs 0x155a565e, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x155a565d, rs 0x155a565e, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x155a5681, rs 0x155a565e, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x18197186, rs 0x18197087, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x18197086, rs 0x18197087, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x181970aa, rs 0x18197087, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x1cd86e2f, rs 0x1cd86d30, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x1cd86d2f, rs 0x1cd86d30, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x1cd86d53, rs 0x1cd86d30, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x29f3e34, rs 0x29f3d35, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x29f3d34, rs 0x29f3d35, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x29f3d58, rs 0x29f3d35, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x65e2181, rs 0x65e2082, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x65e2081, rs 0x65e2082, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x65e20a5, rs 0x65e2082, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xb1d075a, rs 0xb1d065b, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xb1d065a, rs 0xb1d065b, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xb1d067e, rs 0xb1d065b, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfdc1ceb, rs 0xfdc1bec, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfdc1beb, rs 0xfdc1bec, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfdc1c0f, rs 0xfdc1bec, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3793a750, rs 0x3793a651, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3793a650, rs 0x3793a651, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3793a674, rs 0x3793a651, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3352bce5, rs 0x3352bbe6, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3352bbe5, rs 0x3352bbe6, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3352bc09, rs 0x3352bbe6, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3e119e3e, rs 0x3e119d3f, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3e119d3e, rs 0x3e119d3f, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3e119d62, rs 0x3e119d3f, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x3ad08187, rs 0x3ad08088, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x3ad08087, rs 0x3ad08088, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x3ad080ab, rs 0x3ad08088, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2497d18c, rs 0x2497d08d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2497d08c, rs 0x2497d08d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2497d0b0, rs 0x2497d08d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2056ce39, rs 0x2056cd3a, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2056cd39, rs 0x2056cd3a, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2056cd5d, rs 0x2056cd3a, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x2d15ece2, rs 0x2d15ebe3, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x2d15ebe2, rs 0x2d15ebe3, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x2d15ec06, rs 0x2d15ebe3, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0x29d4f753, rs 0x29d4f654, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0x29d4f653, rs 0x29d4f654, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0x29d4f677, rs 0x29d4f654, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc5a92778, rs 0xffffffffc5a92679, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc5a92678, rs 0xffffffffc5a92679, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc5a9269c, rs 0xffffffffc5a92679, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc1683ccd, rs 0xffffffffc1683bce, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc1683bcd, rs 0xffffffffc1683bce, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc1683bf1, rs 0xffffffffc1683bce, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffcc2b1e16, rs 0xffffffffcc2b1d17, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffcc2b1d16, rs 0xffffffffcc2b1d17, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffcc2b1d3a, rs 0xffffffffcc2b1d17, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffc8ea019f, rs 0xffffffffc8ea00a0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffc8ea009f, rs 0xffffffffc8ea00a0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffc8ea00c3, rs 0xffffffffc8ea00a0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd6ad51a4, rs 0xffffffffd6ad50a5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd6ad50a4, rs 0xffffffffd6ad50a5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd6ad50c8, rs 0xffffffffd6ad50a5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffd26c4e11, rs 0xffffffffd26c4d12, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffd26c4d11, rs 0xffffffffd26c4d12, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffd26c4d35, rs 0xffffffffd26c4d12, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffdf2f6cca, rs 0xffffffffdf2f6bcb, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffdf2f6bca, rs 0xffffffffdf2f6bcb, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffdf2f6bee, rs 0xffffffffdf2f6bcb, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffdbee777b, rs 0xffffffffdbee767c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffdbee767b, rs 0xffffffffdbee767c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffdbee769f, rs 0xffffffffdbee767c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe3a1ccc0, rs 0xffffffffe3a1cbc1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe3a1cbc0, rs 0xffffffffe3a1cbc1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe3a1cbe4, rs 0xffffffffe3a1cbc1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffe760d775, rs 0xffffffffe760d676, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffe760d675, rs 0xffffffffe760d676, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffe760d699, rs 0xffffffffe760d676, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffea23f1ae, rs 0xffffffffea23f0af, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffea23f0ae, rs 0xffffffffea23f0af, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffea23f0d2, rs 0xffffffffea23f0af, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffeee2ee17, rs 0xffffffffeee2ed18, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffeee2ed17, rs 0xffffffffeee2ed18, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffeee2ed3b, rs 0xffffffffeee2ed18, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff0a5be1c, rs 0xfffffffff0a5bd1d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff0a5bd1c, rs 0xfffffffff0a5bd1d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff0a5bd40, rs 0xfffffffff0a5bd1d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff464a1a9, rs 0xfffffffff464a0aa, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff464a0a9, rs 0xfffffffff464a0aa, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff464a0cd, rs 0xfffffffff464a0aa, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffff9278772, rs 0xfffffffff9278673, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffff9278672, rs 0xfffffffff9278673, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffff9278696, rs 0xfffffffff9278673, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xfffffffffde69cc3, rs 0xfffffffffde69bc4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xfffffffffde69bc3, rs 0xfffffffffde69bc4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xfffffffffde69be7, rs 0xfffffffffde69bc4, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff89b8fe08, rs 0xffffffff89b8fd09, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff89b8fd08, rs 0xffffffff89b8fd09, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff89b8fd2c, rs 0xffffffff89b8fd09, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff8d79e1bd, rs 0xffffffff8d79e0be, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff8d79e0bd, rs 0xffffffff8d79e0be, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff8d79e0e1, rs 0xffffffff8d79e0be, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff803ac766, rs 0xffffffff803ac667, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff803ac666, rs 0xffffffff803ac667, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff803ac68a, rs 0xffffffff803ac667, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff84fbdccf, rs 0xffffffff84fbdbd0, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff84fbdbcf, rs 0xffffffff84fbdbd0, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff84fbdbf3, rs 0xffffffff84fbdbd0, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9abc8cd4, rs 0xffffffff9abc8bd5, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9abc8bd4, rs 0xffffffff9abc8bd5, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9abc8bf8, rs 0xffffffff9abc8bd5, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff9e7d9761, rs 0xffffffff9e7d9662, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff9e7d9661, rs 0xffffffff9e7d9662, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff9e7d9685, rs 0xffffffff9e7d9662, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff933eb1ba, rs 0xffffffff933eb0bb, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff933eb0ba, rs 0xffffffff933eb0bb, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff933eb0de, rs 0xffffffff933eb0bb, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffff97ffae0b, rs 0xffffffff97ffad0c, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffff97ffad0b, rs 0xffffffff97ffad0c, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffff97ffad2f, rs 0xffffffff97ffad0c, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffafb011b0, rs 0xffffffffafb010b1, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffafb010b0, rs 0xffffffffafb010b1, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffafb010d4, rs 0xffffffffafb010b1, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffab710e05, rs 0xffffffffab710d06, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffab710d05, rs 0xffffffffab710d06, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffab710d29, rs 0xffffffffab710d06, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa6322cde, rs 0xffffffffa6322bdf, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa6322bde, rs 0xffffffffa6322bdf, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa6322c02, rs 0xffffffffa6322bdf, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffa2f33767, rs 0xffffffffa2f33668, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffa2f33667, rs 0xffffffffa2f33668, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffa2f3368b, rs 0xffffffffa2f33668, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffbcb4676c, rs 0xffffffffbcb4666d, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffbcb4666c, rs 0xffffffffbcb4666d, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffbcb46690, rs 0xffffffffbcb4666d, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb8757cd9, rs 0xffffffffb8757bda, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb8757bd9, rs 0xffffffffb8757bda, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb8757bfd, rs 0xffffffffb8757bda, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb5365e02, rs 0xffffffffb5365d03, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb5365d02, rs 0xffffffffb5365d03, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb5365d26, rs 0xffffffffb5365d03, imm 0x0023
+addiu $t0, $t1, 0xff :: rt 0xffffffffb1f741b3, rs 0xffffffffb1f740b4, imm 0x00ff
+addiu $t2, $t3, 0xffff :: rt 0xffffffffb1f740b3, rs 0xffffffffb1f740b4, imm 0xffff
+addiu $a0, $a1, 0x0 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+addiu $s0, $s1, 0x23 :: rt 0xffffffffb1f740d7, rs 0xffffffffb1f740b4, imm 0x0023
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x0, rt 0xffffffffb1f740b4
+addu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0x0, rt 0xffffffffb5365d03
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0x9823b6e, rt 0xffffffffb8757bda
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xd4326d9, rt 0xffffffffbcb4666d
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0x130476dc, rt 0xffffffffa2f33668
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0x1a864db2, rt 0xffffffffab710d06
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0x1e475005, rt 0xffffffffafb010b1
+addu $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0x2608edb8, rt 0xffffffff97ffad0c
+addu $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+addu $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+addu $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+addu $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+addu $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0x31cd86d3, rt 0xffffffff803ac667
+addu $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+addu $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+addu $t0, $t1, $t2 :: rd 0x49f87734, rs 0x4c11db70, rt 0xfffffffffde69bc4
+addu $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+addu $t0, $t1, $t2 :: rd 0x39f880c8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+addu $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+addu $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0x5f15adac, rt 0xffffffffeee2ed18
+addu $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+addu $t0, $t1, $t2 :: rd 0x3df86d38, rs 0x569796c2, rt 0xffffffffe760d676
+addu $t0, $t1, $t2 :: rd 0x35f85736, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+addu $t0, $t1, $t2 :: rd 0x4607ad44, rs 0x6a1936c8, rt 0xffffffffdbee767c
+addu $t0, $t1, $t2 :: rd 0x4e07974a, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+addu $t0, $t1, $t2 :: rd 0x36075ab8, rs 0x639b0da6, rt 0xffffffffd26c4d12
+addu $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0x675a1011, rt 0xffffffffd6ad50a5
+addu $t0, $t1, $t2 :: rd 0x420740b4, rs 0x791d4014, rt 0xffffffffc8ea00a0
+addu $t0, $t1, $t2 :: rd 0x4a077aba, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+addu $t0, $t1, $t2 :: rd 0x3207b748, rs 0x709f7b7a, rt 0xffffffffc1683bce
+addu $t0, $t1, $t2 :: rd 0x3a078d46, rs 0x745e66cd, rt 0xffffffffc5a92679
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0xffffffff9823b6e0, rt 0x29d4f654
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0xffffffff95609039, rt 0x2497d08d
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0xffffffff8664e6e5, rt 0x3793a651
+addu $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+addu $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xffffffffbaea46ef, rt 0xb1d065b
+addu $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0xffffffffb7a96036, rt 0x65e2082
+addu $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0xffffffffb3687d81, rt 0x29f3d35
+addu $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+addu $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0xffffffffa9ee3033, rt 0x18197087
+addu $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0xffffffffa4ad16ea, rt 0x155a565e
+addu $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+addu $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0xffffffffd4326d90, rt 0x65c52d24
+addu $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0xffffffffd0f37027, rt 0x61043093
+addu $t0, $t1, $t2 :: rd 0x49f76d48, rs 0xffffffffddb056fe, rt 0x6c47164a
+addu $t0, $t1, $t2 :: rd 0x41f75746, rs 0xffffffffd9714b49, rt 0x68860bfd
+addu $t0, $t1, $t2 :: rd 0x3df77744, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+addu $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0xffffffffc3f706fb, rt 0x7200464f
+addu $t0, $t1, $t2 :: rd 0x4df780b8, rs 0xffffffffceb42022, rt 0x7f436096
+addu $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0xffffffffca753d95, rt 0x7b827d21
+addu $t0, $t1, $t2 :: rd 0x360840c4, rs 0xfffffffff23a8028, rt 0x43cdc09c
+addu $t0, $t1, $t2 :: rd 0x3e087aca, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+addu $t0, $t1, $t2 :: rd 0x4608b738, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+addu $t0, $t1, $t2 :: rd 0x4e088d36, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+addu $t0, $t1, $t2 :: rd 0x3208ad34, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+addu $t0, $t1, $t2 :: rd 0x3a08973a, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+addu $t0, $t1, $t2 :: rd 0x42085ac8, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+addu $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0x34867077, rt 0xffffffff857130c3
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0x30476dc0, rt 0xffffffff81b02d74
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0x3d044b19, rt 0xffffffff8cf30bad
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0x39c556ae, rt 0xffffffff8832161a
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0x278206ab, rt 0xffffffff9675461f
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0x23431b1c, rt 0xffffffff92b45ba8
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0x2ac12072, rt 0xffffffff9b3660c6
+addu $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+addu $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+addu $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+addu $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+addu $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0x18aeb13, rt 0xffffffffb07daba7
+addu $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+addu $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0x808d07d, rt 0xffffffffb9ff90c9
+addu $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+addu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+addu $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+addu $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+addu $t0, $t1, $t2 :: rd 0x39f85b48, rs 0x75d48dde, rt 0xffffffffc423cd6a
+addu $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0x6b93dddb, rt 0xffffffffda649d6f
+addu $t0, $t1, $t2 :: rd 0x4df84144, rs 0x6f52c06c, rt 0xffffffffdea580d8
+addu $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+addu $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+addu $t0, $t1, $t2 :: rd 0x4e074cca, rs 0x5e9f46bf, rt 0xffffffffef68060b
+addu $t0, $t1, $t2 :: rd 0x460776c4, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+addu $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+addu $t0, $t1, $t2 :: rd 0x36078138, rs 0x53dc6066, rt 0xffffffffe22b20d2
+addu $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+addu $t0, $t1, $t2 :: rd 0x42079b34, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+addu $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+addu $t0, $t1, $t2 :: rd 0x32076cc8, rs 0x40d816ba, rt 0xfffffffff12f560e
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0xffffffffaca5c697, rt 0x1d528623
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0xffffffffa864db20, rt 0x19939b94
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xffffffffbb60adfc, rt 0xa97ed48
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0xffffffffb6238b25, rt 0x7d4cb91
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0xffffffffb2e29692, rt 0x315d626
+addu $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+addu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x0, rt 0x3f9b762c
+addu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x0, rt 0x32d850f5
+addu $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0xffffffff87ee0df6, rt 0x36194d42
+addu $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0xffffffff99a95df3, rt 0x285e1d47
+addu $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0xffffffff9d684044, rt 0x2c9f00f0
+addu $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0xffffffff902b669d, rt 0x21dc2629
+addu $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+addu $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0xffffffffe0b41de7, rt 0x51435d53
+addu $t0, $t1, $t2 :: rd 0x39f74134, rs 0xffffffffe4750050, rt 0x558240e4
+addu $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0xffffffffe9362689, rt 0x58c1663d
+addu $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+addu $t0, $t1, $t2 :: rd 0x35f796ca, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+addu $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0xfffffffff771768c, rt 0x46863638
+addu $t0, $t1, $t2 :: rd 0x45f76136, rs 0xfffffffffa325055, rt 0x4bc510e1
+addu $t0, $t1, $t2 :: rd 0x4df75b38, rs 0xfffffffffef34de2, rt 0x4f040d56
+addu $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+addu $t0, $t1, $t2 :: rd 0x36089b44, rs 0xffffffffc27dede8, rt 0x738aad5c
+addu $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+addu $t0, $t1, $t2 :: rd 0x46086cb8, rs 0xffffffffcbffd686, rt 0x7a089632
+addu $t0, $t1, $t2 :: rd 0x3a084cba, rs 0xffffffffd5b88683, rt 0x644fc637
+addu $t0, $t1, $t2 :: rd 0x320876b4, rs 0xffffffffd1799b34, rt 0x608edb80
+addu $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+addu $t0, $t1, $t2 :: rd 0x42088148, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+addu $t0, $t1, $t2 :: rd 0x42088148, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+addu $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+addu $t0, $t1, $t2 :: rd 0x320876b4, rs 0x608edb80, rt 0xffffffffd1799b34
+addu $t0, $t1, $t2 :: rd 0x3a084cba, rs 0x644fc637, rt 0xffffffffd5b88683
+addu $t0, $t1, $t2 :: rd 0x46086cb8, rs 0x7a089632, rt 0xffffffffcbffd686
+addu $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+addu $t0, $t1, $t2 :: rd 0x36089b44, rs 0x738aad5c, rt 0xffffffffc27dede8
+addu $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+addu $t0, $t1, $t2 :: rd 0x4df75b38, rs 0x4f040d56, rt 0xfffffffffef34de2
+addu $t0, $t1, $t2 :: rd 0x45f76136, rs 0x4bc510e1, rt 0xfffffffffa325055
+addu $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0x46863638, rt 0xfffffffff771768c
+addu $t0, $t1, $t2 :: rd 0x35f796ca, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+addu $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+addu $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0x58c1663d, rt 0xffffffffe9362689
+addu $t0, $t1, $t2 :: rd 0x39f74134, rs 0x558240e4, rt 0xffffffffe4750050
+addu $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0x51435d53, rt 0xffffffffe0b41de7
+addu $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+addu $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0x21dc2629, rt 0xffffffff902b669d
+addu $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0x2c9f00f0, rt 0xffffffff9d684044
+addu $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0x285e1d47, rt 0xffffffff99a95df3
+addu $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0x36194d42, rt 0xffffffff87ee0df6
+addu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+addu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+addu $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0x315d626, rt 0xffffffffb2e29692
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0x7d4cb91, rt 0xffffffffb6238b25
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xa97ed48, rt 0xffffffffbb60adfc
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0x19939b94, rt 0xffffffffa864db20
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0x1d528623, rt 0xffffffffaca5c697
+addu $t0, $t1, $t2 :: rd 0x32076cc8, rs 0xfffffffff12f560e, rt 0x40d816ba
+addu $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+addu $t0, $t1, $t2 :: rd 0x42079b34, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+addu $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+addu $t0, $t1, $t2 :: rd 0x36078138, rs 0xffffffffe22b20d2, rt 0x53dc6066
+addu $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+addu $t0, $t1, $t2 :: rd 0x460776c4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+addu $t0, $t1, $t2 :: rd 0x4e074cca, rs 0xffffffffef68060b, rt 0x5e9f46bf
+addu $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+addu $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+addu $t0, $t1, $t2 :: rd 0x4df84144, rs 0xffffffffdea580d8, rt 0x6f52c06c
+addu $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0xffffffffda649d6f, rt 0x6b93dddb
+addu $t0, $t1, $t2 :: rd 0x39f85b48, rs 0xffffffffc423cd6a, rt 0x75d48dde
+addu $t0, $t1, $t2 :: rd 0x71159069, rs 0x0, rt 0x71159069
+addu $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+addu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x0, rt 0x7897ab07
+addu $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+addu $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0xffffffffb9ff90c9, rt 0x808d07d
+addu $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+addu $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0xffffffffb07daba7, rt 0x18aeb13
+addu $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+addu $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+addu $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+addu $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0xffffffff9b3660c6, rt 0x2ac12072
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0xffffffff92b45ba8, rt 0x23431b1c
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0xffffffff9675461f, rt 0x278206ab
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0xffffffff8832161a, rt 0x39c556ae
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0xffffffff81b02d74, rt 0x30476dc0
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0xffffffff857130c3, rt 0x34867077
+addu $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+addu $t0, $t1, $t2 :: rd 0x42085ac8, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+addu $t0, $t1, $t2 :: rd 0x3a08973a, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+addu $t0, $t1, $t2 :: rd 0x3208ad34, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+addu $t0, $t1, $t2 :: rd 0x4e088d36, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+addu $t0, $t1, $t2 :: rd 0x4608b738, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+addu $t0, $t1, $t2 :: rd 0x3e087aca, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+addu $t0, $t1, $t2 :: rd 0x360840c4, rs 0x43cdc09c, rt 0xfffffffff23a8028
+addu $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0x7b827d21, rt 0xffffffffca753d95
+addu $t0, $t1, $t2 :: rd 0x4df780b8, rs 0x7f436096, rt 0xffffffffceb42022
+addu $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0x7200464f, rt 0xffffffffc3f706fb
+addu $t0, $t1, $t2 :: rd 0x3df77744, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+addu $t0, $t1, $t2 :: rd 0x41f75746, rs 0x68860bfd, rt 0xffffffffd9714b49
+addu $t0, $t1, $t2 :: rd 0x49f76d48, rs 0x6c47164a, rt 0xffffffffddb056fe
+addu $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0x61043093, rt 0xffffffffd0f37027
+addu $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0x65c52d24, rt 0xffffffffd4326d90
+addu $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+addu $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0x155a565e, rt 0xffffffffa4ad16ea
+addu $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0x18197087, rt 0xffffffffa9ee3033
+addu $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+addu $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0x29f3d35, rt 0xffffffffb3687d81
+addu $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0x65e2082, rt 0xffffffffb7a96036
+addu $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+addu $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0x3793a651, rt 0xffffffff8664e6e5
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0x3ad08088, rt 0xffffffff8b27c03c
+addu $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0x2497d08d, rt 0xffffffff95609039
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0x29d4f654, rt 0xffffffff9823b6e0
+addu $t0, $t1, $t2 :: rd 0x3a078d46, rs 0xffffffffc5a92679, rt 0x745e66cd
+addu $t0, $t1, $t2 :: rd 0x3207b748, rs 0xffffffffc1683bce, rt 0x709f7b7a
+addu $t0, $t1, $t2 :: rd 0x4a077aba, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+addu $t0, $t1, $t2 :: rd 0x420740b4, rs 0xffffffffc8ea00a0, rt 0x791d4014
+addu $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0xffffffffd6ad50a5, rt 0x675a1011
+addu $t0, $t1, $t2 :: rd 0x36075ab8, rs 0xffffffffd26c4d12, rt 0x639b0da6
+addu $t0, $t1, $t2 :: rd 0x4e07974a, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+addu $t0, $t1, $t2 :: rd 0x4607ad44, rs 0xffffffffdbee767c, rt 0x6a1936c8
+addu $t0, $t1, $t2 :: rd 0x35f85736, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+addu $t0, $t1, $t2 :: rd 0x3df86d38, rs 0xffffffffe760d676, rt 0x569796c2
+addu $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+addu $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0xffffffffeee2ed18, rt 0x5f15adac
+addu $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+addu $t0, $t1, $t2 :: rd 0x39f880c8, rs 0xfffffffff464a0aa, rt 0x4593e01e
+addu $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0xfffffffff9278673, rt 0x48d0c6c7
+addu $t0, $t1, $t2 :: rd 0x49f87734, rs 0xfffffffffde69bc4, rt 0x4c11db70
+addu $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+addu $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+addu $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0xffffffff803ac667, rt 0x31cd86d3
+addu $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+addu $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+addu $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+addu $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+addu $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0xffffffff97ffad0c, rt 0x2608edb8
+addu $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0xffffffffafb010b1, rt 0x1e475005
+addu $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0xffffffffab710d06, rt 0x1a864db2
+addu $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+addu $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0xffffffffa2f33668, rt 0x130476dc
+addu $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xffffffffbcb4666d, rt 0xd4326d9
+addu $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0xffffffffb8757bda, rt 0x9823b6e
+addu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+addu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x0, rs 0x9823b6e
+clo $t0, $t1 :: rd 0x0, rs 0xd4326d9
+clo $t0, $t1 :: rd 0x0, rs 0x130476dc
+clo $t0, $t1 :: rd 0x0, rs 0x17c56b6b
+clo $t0, $t1 :: rd 0x0, rs 0x1a864db2
+clo $t0, $t1 :: rd 0x0, rs 0x1e475005
+clo $t0, $t1 :: rd 0x0, rs 0x2608edb8
+clo $t0, $t1 :: rd 0x0, rs 0x22c9f00f
+clo $t0, $t1 :: rd 0x0, rs 0x2f8ad6d6
+clo $t0, $t1 :: rd 0x0, rs 0x2b4bcb61
+clo $t0, $t1 :: rd 0x0, rs 0x350c9b64
+clo $t0, $t1 :: rd 0x0, rs 0x31cd86d3
+clo $t0, $t1 :: rd 0x0, rs 0x3c8ea00a
+clo $t0, $t1 :: rd 0x0, rs 0x384fbdbd
+clo $t0, $t1 :: rd 0x0, rs 0x4c11db70
+clo $t0, $t1 :: rd 0x0, rs 0x48d0c6c7
+clo $t0, $t1 :: rd 0x0, rs 0x4593e01e
+clo $t0, $t1 :: rd 0x0, rs 0x4152fda9
+clo $t0, $t1 :: rd 0x0, rs 0x5f15adac
+clo $t0, $t1 :: rd 0x0, rs 0x5bd4b01b
+clo $t0, $t1 :: rd 0x0, rs 0x569796c2
+clo $t0, $t1 :: rd 0x0, rs 0x52568b75
+clo $t0, $t1 :: rd 0x0, rs 0x6a1936c8
+clo $t0, $t1 :: rd 0x0, rs 0x6ed82b7f
+clo $t0, $t1 :: rd 0x0, rs 0x639b0da6
+clo $t0, $t1 :: rd 0x0, rs 0x675a1011
+clo $t0, $t1 :: rd 0x0, rs 0x791d4014
+clo $t0, $t1 :: rd 0x0, rs 0x7ddc5da3
+clo $t0, $t1 :: rd 0x0, rs 0x709f7b7a
+clo $t0, $t1 :: rd 0x0, rs 0x745e66cd
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9823b6e0
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9ce2ab57
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff91a18d8e
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff95609039
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8b27c03c
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8fe6dd8b
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff82a5fb52
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8664e6e5
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbe2b5b58
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbaea46ef
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb7a96036
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb3687d81
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffad2f2d84
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa9ee3033
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa4ad16ea
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa06c0b5d
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd4326d90
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd0f37027
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffddb056fe
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd9714b49
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc7361b4c
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc3f706fb
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffceb42022
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffca753d95
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff23a8028
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff6fb9d9f
+clo $t0, $t1 :: rd 0x5, rs 0xfffffffffbb8bb46
+clo $t0, $t1 :: rd 0x8, rs 0xffffffffff79a6f1
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe13ef6f4
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe5ffeb43
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe8bccd9a
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffec7dd02d
+clo $t0, $t1 :: rd 0x0, rs 0x34867077
+clo $t0, $t1 :: rd 0x0, rs 0x30476dc0
+clo $t0, $t1 :: rd 0x0, rs 0x3d044b19
+clo $t0, $t1 :: rd 0x0, rs 0x39c556ae
+clo $t0, $t1 :: rd 0x0, rs 0x278206ab
+clo $t0, $t1 :: rd 0x0, rs 0x23431b1c
+clo $t0, $t1 :: rd 0x0, rs 0x2e003dc5
+clo $t0, $t1 :: rd 0x0, rs 0x2ac12072
+clo $t0, $t1 :: rd 0x0, rs 0x128e9dcf
+clo $t0, $t1 :: rd 0x0, rs 0x164f8078
+clo $t0, $t1 :: rd 0x0, rs 0x1b0ca6a1
+clo $t0, $t1 :: rd 0x0, rs 0x1fcdbb16
+clo $t0, $t1 :: rd 0x0, rs 0x18aeb13
+clo $t0, $t1 :: rd 0x0, rs 0x54bf6a4
+clo $t0, $t1 :: rd 0x0, rs 0x808d07d
+clo $t0, $t1 :: rd 0x0, rs 0xcc9cdca
+clo $t0, $t1 :: rd 0x0, rs 0x7897ab07
+clo $t0, $t1 :: rd 0x0, rs 0x7c56b6b0
+clo $t0, $t1 :: rd 0x0, rs 0x71159069
+clo $t0, $t1 :: rd 0x0, rs 0x75d48dde
+clo $t0, $t1 :: rd 0x0, rs 0x6b93dddb
+clo $t0, $t1 :: rd 0x0, rs 0x6f52c06c
+clo $t0, $t1 :: rd 0x0, rs 0x6211e6b5
+clo $t0, $t1 :: rd 0x0, rs 0x66d0fb02
+clo $t0, $t1 :: rd 0x0, rs 0x5e9f46bf
+clo $t0, $t1 :: rd 0x0, rs 0x5a5e5b08
+clo $t0, $t1 :: rd 0x0, rs 0x571d7dd1
+clo $t0, $t1 :: rd 0x0, rs 0x53dc6066
+clo $t0, $t1 :: rd 0x0, rs 0x4d9b3063
+clo $t0, $t1 :: rd 0x0, rs 0x495a2dd4
+clo $t0, $t1 :: rd 0x0, rs 0x44190b0d
+clo $t0, $t1 :: rd 0x0, rs 0x40d816ba
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffaca5c697
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa864db20
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa527fdf9
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa1e6e04e
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbfa1b04b
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbb60adfc
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb6238b25
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb2e29692
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8aad2b2f
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff87ee0df6
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff99a95df3
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9d684044
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff902b669d
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff94ea7b2a
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe0b41de7
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe4750050
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe9362689
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffedf73b3e
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff3b06b3b
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff771768c
+clo $t0, $t1 :: rd 0x5, rs 0xfffffffffa325055
+clo $t0, $t1 :: rd 0x7, rs 0xfffffffffef34de2
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc6bcf05f
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc27dede8
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffcf3ecb31
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffcbffd686
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd5b88683
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd1799b34
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffdc3abded
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd8fba05a
+clo $t0, $t1 :: rd 0x0, rs 0x690ce0ee
+clo $t0, $t1 :: rd 0x0, rs 0x6dcdfd59
+clo $t0, $t1 :: rd 0x0, rs 0x608edb80
+clo $t0, $t1 :: rd 0x0, rs 0x644fc637
+clo $t0, $t1 :: rd 0x0, rs 0x7a089632
+clo $t0, $t1 :: rd 0x0, rs 0x7ec98b85
+clo $t0, $t1 :: rd 0x0, rs 0x738aad5c
+clo $t0, $t1 :: rd 0x0, rs 0x774bb0eb
+clo $t0, $t1 :: rd 0x0, rs 0x4f040d56
+clo $t0, $t1 :: rd 0x0, rs 0x4bc510e1
+clo $t0, $t1 :: rd 0x0, rs 0x46863638
+clo $t0, $t1 :: rd 0x0, rs 0x42472b8f
+clo $t0, $t1 :: rd 0x0, rs 0x5c007b8a
+clo $t0, $t1 :: rd 0x0, rs 0x58c1663d
+clo $t0, $t1 :: rd 0x0, rs 0x558240e4
+clo $t0, $t1 :: rd 0x0, rs 0x51435d53
+clo $t0, $t1 :: rd 0x0, rs 0x251d3b9e
+clo $t0, $t1 :: rd 0x0, rs 0x21dc2629
+clo $t0, $t1 :: rd 0x0, rs 0x2c9f00f0
+clo $t0, $t1 :: rd 0x0, rs 0x285e1d47
+clo $t0, $t1 :: rd 0x0, rs 0x36194d42
+clo $t0, $t1 :: rd 0x0, rs 0x32d850f5
+clo $t0, $t1 :: rd 0x0, rs 0x3f9b762c
+clo $t0, $t1 :: rd 0x0, rs 0x3b5a6b9b
+clo $t0, $t1 :: rd 0x0, rs 0x315d626
+clo $t0, $t1 :: rd 0x0, rs 0x7d4cb91
+clo $t0, $t1 :: rd 0x0, rs 0xa97ed48
+clo $t0, $t1 :: rd 0x0, rs 0xe56f0ff
+clo $t0, $t1 :: rd 0x0, rs 0x1011a0fa
+clo $t0, $t1 :: rd 0x0, rs 0x14d0bd4d
+clo $t0, $t1 :: rd 0x0, rs 0x19939b94
+clo $t0, $t1 :: rd 0x0, rs 0x1d528623
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff12f560e
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff5ee4bb9
+clo $t0, $t1 :: rd 0x5, rs 0xfffffffff8ad6d60
+clo $t0, $t1 :: rd 0x6, rs 0xfffffffffc6c70d7
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe22b20d2
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe6ea3d65
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffeba91bbc
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffef68060b
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd727bbb6
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd3e6a601
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffdea580d8
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffda649d6f
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc423cd6a
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffcda1f604
+clo $t0, $t1 :: rd 0x0, rs 0x0
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbd3e8d7e
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb9ff90c9
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb4bcb610
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb07daba7
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffae3afba2
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffaafbe615
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa7b8c0cc
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa379dd7b
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9b3660c6
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9ff77d71
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff92b45ba8
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9675461f
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8832161a
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8cf30bad
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff81b02d74
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff857130c3
+clo $t0, $t1 :: rd 0x0, rs 0x5d8a9099
+clo $t0, $t1 :: rd 0x0, rs 0x594b8d2e
+clo $t0, $t1 :: rd 0x0, rs 0x5408abf7
+clo $t0, $t1 :: rd 0x0, rs 0x50c9b640
+clo $t0, $t1 :: rd 0x0, rs 0x4e8ee645
+clo $t0, $t1 :: rd 0x0, rs 0x4a4ffbf2
+clo $t0, $t1 :: rd 0x0, rs 0x470cdd2b
+clo $t0, $t1 :: rd 0x0, rs 0x43cdc09c
+clo $t0, $t1 :: rd 0x0, rs 0x7b827d21
+clo $t0, $t1 :: rd 0x0, rs 0x7f436096
+clo $t0, $t1 :: rd 0x0, rs 0x7200464f
+clo $t0, $t1 :: rd 0x0, rs 0x76c15bf8
+clo $t0, $t1 :: rd 0x0, rs 0x68860bfd
+clo $t0, $t1 :: rd 0x0, rs 0x6c47164a
+clo $t0, $t1 :: rd 0x0, rs 0x61043093
+clo $t0, $t1 :: rd 0x0, rs 0x65c52d24
+clo $t0, $t1 :: rd 0x0, rs 0x119b4be9
+clo $t0, $t1 :: rd 0x0, rs 0x155a565e
+clo $t0, $t1 :: rd 0x0, rs 0x18197087
+clo $t0, $t1 :: rd 0x0, rs 0x1cd86d30
+clo $t0, $t1 :: rd 0x0, rs 0x29f3d35
+clo $t0, $t1 :: rd 0x0, rs 0x65e2082
+clo $t0, $t1 :: rd 0x0, rs 0xb1d065b
+clo $t0, $t1 :: rd 0x0, rs 0xfdc1bec
+clo $t0, $t1 :: rd 0x0, rs 0x3793a651
+clo $t0, $t1 :: rd 0x0, rs 0x3352bbe6
+clo $t0, $t1 :: rd 0x0, rs 0x3e119d3f
+clo $t0, $t1 :: rd 0x0, rs 0x3ad08088
+clo $t0, $t1 :: rd 0x0, rs 0x2497d08d
+clo $t0, $t1 :: rd 0x0, rs 0x2056cd3a
+clo $t0, $t1 :: rd 0x0, rs 0x2d15ebe3
+clo $t0, $t1 :: rd 0x0, rs 0x29d4f654
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc5a92679
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc1683bce
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffcc2b1d17
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffc8ea00a0
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd6ad50a5
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffd26c4d12
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffdf2f6bcb
+clo $t0, $t1 :: rd 0x2, rs 0xffffffffdbee767c
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe3a1cbc1
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffe760d676
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffea23f0af
+clo $t0, $t1 :: rd 0x3, rs 0xffffffffeee2ed18
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff0a5bd1d
+clo $t0, $t1 :: rd 0x4, rs 0xfffffffff464a0aa
+clo $t0, $t1 :: rd 0x5, rs 0xfffffffff9278673
+clo $t0, $t1 :: rd 0x6, rs 0xfffffffffde69bc4
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff89b8fd09
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff8d79e0be
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff803ac667
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff84fbdbd0
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9abc8bd5
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff9e7d9662
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff933eb0bb
+clo $t0, $t1 :: rd 0x1, rs 0xffffffff97ffad0c
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffafb010b1
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffab710d06
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa6322bdf
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffa2f33668
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffbcb4666d
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb8757bda
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb5365d03
+clo $t0, $t1 :: rd 0x1, rs 0xffffffffb1f740b4
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x4, rs 0x9823b6e
+clz $t0, $t1 :: rd 0x4, rs 0xd4326d9
+clz $t0, $t1 :: rd 0x3, rs 0x130476dc
+clz $t0, $t1 :: rd 0x3, rs 0x17c56b6b
+clz $t0, $t1 :: rd 0x3, rs 0x1a864db2
+clz $t0, $t1 :: rd 0x3, rs 0x1e475005
+clz $t0, $t1 :: rd 0x2, rs 0x2608edb8
+clz $t0, $t1 :: rd 0x2, rs 0x22c9f00f
+clz $t0, $t1 :: rd 0x2, rs 0x2f8ad6d6
+clz $t0, $t1 :: rd 0x2, rs 0x2b4bcb61
+clz $t0, $t1 :: rd 0x2, rs 0x350c9b64
+clz $t0, $t1 :: rd 0x2, rs 0x31cd86d3
+clz $t0, $t1 :: rd 0x2, rs 0x3c8ea00a
+clz $t0, $t1 :: rd 0x2, rs 0x384fbdbd
+clz $t0, $t1 :: rd 0x1, rs 0x4c11db70
+clz $t0, $t1 :: rd 0x1, rs 0x48d0c6c7
+clz $t0, $t1 :: rd 0x1, rs 0x4593e01e
+clz $t0, $t1 :: rd 0x1, rs 0x4152fda9
+clz $t0, $t1 :: rd 0x1, rs 0x5f15adac
+clz $t0, $t1 :: rd 0x1, rs 0x5bd4b01b
+clz $t0, $t1 :: rd 0x1, rs 0x569796c2
+clz $t0, $t1 :: rd 0x1, rs 0x52568b75
+clz $t0, $t1 :: rd 0x1, rs 0x6a1936c8
+clz $t0, $t1 :: rd 0x1, rs 0x6ed82b7f
+clz $t0, $t1 :: rd 0x1, rs 0x639b0da6
+clz $t0, $t1 :: rd 0x1, rs 0x675a1011
+clz $t0, $t1 :: rd 0x1, rs 0x791d4014
+clz $t0, $t1 :: rd 0x1, rs 0x7ddc5da3
+clz $t0, $t1 :: rd 0x1, rs 0x709f7b7a
+clz $t0, $t1 :: rd 0x1, rs 0x745e66cd
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9823b6e0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9ce2ab57
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff91a18d8e
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff95609039
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8b27c03c
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8fe6dd8b
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff82a5fb52
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8664e6e5
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbe2b5b58
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbaea46ef
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb7a96036
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb3687d81
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffad2f2d84
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa9ee3033
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa4ad16ea
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa06c0b5d
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd4326d90
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd0f37027
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffddb056fe
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd9714b49
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc7361b4c
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc3f706fb
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffceb42022
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffca753d95
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff23a8028
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff6fb9d9f
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffffbb8bb46
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffff79a6f1
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe13ef6f4
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe5ffeb43
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe8bccd9a
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffec7dd02d
+clz $t0, $t1 :: rd 0x2, rs 0x34867077
+clz $t0, $t1 :: rd 0x2, rs 0x30476dc0
+clz $t0, $t1 :: rd 0x2, rs 0x3d044b19
+clz $t0, $t1 :: rd 0x2, rs 0x39c556ae
+clz $t0, $t1 :: rd 0x2, rs 0x278206ab
+clz $t0, $t1 :: rd 0x2, rs 0x23431b1c
+clz $t0, $t1 :: rd 0x2, rs 0x2e003dc5
+clz $t0, $t1 :: rd 0x2, rs 0x2ac12072
+clz $t0, $t1 :: rd 0x3, rs 0x128e9dcf
+clz $t0, $t1 :: rd 0x3, rs 0x164f8078
+clz $t0, $t1 :: rd 0x3, rs 0x1b0ca6a1
+clz $t0, $t1 :: rd 0x3, rs 0x1fcdbb16
+clz $t0, $t1 :: rd 0x7, rs 0x18aeb13
+clz $t0, $t1 :: rd 0x5, rs 0x54bf6a4
+clz $t0, $t1 :: rd 0x4, rs 0x808d07d
+clz $t0, $t1 :: rd 0x4, rs 0xcc9cdca
+clz $t0, $t1 :: rd 0x1, rs 0x7897ab07
+clz $t0, $t1 :: rd 0x1, rs 0x7c56b6b0
+clz $t0, $t1 :: rd 0x1, rs 0x71159069
+clz $t0, $t1 :: rd 0x1, rs 0x75d48dde
+clz $t0, $t1 :: rd 0x1, rs 0x6b93dddb
+clz $t0, $t1 :: rd 0x1, rs 0x6f52c06c
+clz $t0, $t1 :: rd 0x1, rs 0x6211e6b5
+clz $t0, $t1 :: rd 0x1, rs 0x66d0fb02
+clz $t0, $t1 :: rd 0x1, rs 0x5e9f46bf
+clz $t0, $t1 :: rd 0x1, rs 0x5a5e5b08
+clz $t0, $t1 :: rd 0x1, rs 0x571d7dd1
+clz $t0, $t1 :: rd 0x1, rs 0x53dc6066
+clz $t0, $t1 :: rd 0x1, rs 0x4d9b3063
+clz $t0, $t1 :: rd 0x1, rs 0x495a2dd4
+clz $t0, $t1 :: rd 0x1, rs 0x44190b0d
+clz $t0, $t1 :: rd 0x1, rs 0x40d816ba
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffaca5c697
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa864db20
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa527fdf9
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa1e6e04e
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbfa1b04b
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbb60adfc
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb6238b25
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb2e29692
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8aad2b2f
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff87ee0df6
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff99a95df3
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9d684044
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff902b669d
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff94ea7b2a
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe0b41de7
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe4750050
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe9362689
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffedf73b3e
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff3b06b3b
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff771768c
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffffa325055
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffffef34de2
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc6bcf05f
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc27dede8
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffcf3ecb31
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffcbffd686
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd5b88683
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd1799b34
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffdc3abded
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd8fba05a
+clz $t0, $t1 :: rd 0x1, rs 0x690ce0ee
+clz $t0, $t1 :: rd 0x1, rs 0x6dcdfd59
+clz $t0, $t1 :: rd 0x1, rs 0x608edb80
+clz $t0, $t1 :: rd 0x1, rs 0x644fc637
+clz $t0, $t1 :: rd 0x1, rs 0x7a089632
+clz $t0, $t1 :: rd 0x1, rs 0x7ec98b85
+clz $t0, $t1 :: rd 0x1, rs 0x738aad5c
+clz $t0, $t1 :: rd 0x1, rs 0x774bb0eb
+clz $t0, $t1 :: rd 0x1, rs 0x4f040d56
+clz $t0, $t1 :: rd 0x1, rs 0x4bc510e1
+clz $t0, $t1 :: rd 0x1, rs 0x46863638
+clz $t0, $t1 :: rd 0x1, rs 0x42472b8f
+clz $t0, $t1 :: rd 0x1, rs 0x5c007b8a
+clz $t0, $t1 :: rd 0x1, rs 0x58c1663d
+clz $t0, $t1 :: rd 0x1, rs 0x558240e4
+clz $t0, $t1 :: rd 0x1, rs 0x51435d53
+clz $t0, $t1 :: rd 0x2, rs 0x251d3b9e
+clz $t0, $t1 :: rd 0x2, rs 0x21dc2629
+clz $t0, $t1 :: rd 0x2, rs 0x2c9f00f0
+clz $t0, $t1 :: rd 0x2, rs 0x285e1d47
+clz $t0, $t1 :: rd 0x2, rs 0x36194d42
+clz $t0, $t1 :: rd 0x2, rs 0x32d850f5
+clz $t0, $t1 :: rd 0x2, rs 0x3f9b762c
+clz $t0, $t1 :: rd 0x2, rs 0x3b5a6b9b
+clz $t0, $t1 :: rd 0x6, rs 0x315d626
+clz $t0, $t1 :: rd 0x5, rs 0x7d4cb91
+clz $t0, $t1 :: rd 0x4, rs 0xa97ed48
+clz $t0, $t1 :: rd 0x4, rs 0xe56f0ff
+clz $t0, $t1 :: rd 0x3, rs 0x1011a0fa
+clz $t0, $t1 :: rd 0x3, rs 0x14d0bd4d
+clz $t0, $t1 :: rd 0x3, rs 0x19939b94
+clz $t0, $t1 :: rd 0x3, rs 0x1d528623
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff12f560e
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff5ee4bb9
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff8ad6d60
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffffc6c70d7
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe22b20d2
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe6ea3d65
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffeba91bbc
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffef68060b
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd727bbb6
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd3e6a601
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffdea580d8
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffda649d6f
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc423cd6a
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffcda1f604
+clz $t0, $t1 :: rd 0x20, rs 0x0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbd3e8d7e
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb9ff90c9
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb4bcb610
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb07daba7
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffae3afba2
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffaafbe615
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa7b8c0cc
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa379dd7b
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9b3660c6
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9ff77d71
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff92b45ba8
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9675461f
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8832161a
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8cf30bad
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff81b02d74
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff857130c3
+clz $t0, $t1 :: rd 0x1, rs 0x5d8a9099
+clz $t0, $t1 :: rd 0x1, rs 0x594b8d2e
+clz $t0, $t1 :: rd 0x1, rs 0x5408abf7
+clz $t0, $t1 :: rd 0x1, rs 0x50c9b640
+clz $t0, $t1 :: rd 0x1, rs 0x4e8ee645
+clz $t0, $t1 :: rd 0x1, rs 0x4a4ffbf2
+clz $t0, $t1 :: rd 0x1, rs 0x470cdd2b
+clz $t0, $t1 :: rd 0x1, rs 0x43cdc09c
+clz $t0, $t1 :: rd 0x1, rs 0x7b827d21
+clz $t0, $t1 :: rd 0x1, rs 0x7f436096
+clz $t0, $t1 :: rd 0x1, rs 0x7200464f
+clz $t0, $t1 :: rd 0x1, rs 0x76c15bf8
+clz $t0, $t1 :: rd 0x1, rs 0x68860bfd
+clz $t0, $t1 :: rd 0x1, rs 0x6c47164a
+clz $t0, $t1 :: rd 0x1, rs 0x61043093
+clz $t0, $t1 :: rd 0x1, rs 0x65c52d24
+clz $t0, $t1 :: rd 0x3, rs 0x119b4be9
+clz $t0, $t1 :: rd 0x3, rs 0x155a565e
+clz $t0, $t1 :: rd 0x3, rs 0x18197087
+clz $t0, $t1 :: rd 0x3, rs 0x1cd86d30
+clz $t0, $t1 :: rd 0x6, rs 0x29f3d35
+clz $t0, $t1 :: rd 0x5, rs 0x65e2082
+clz $t0, $t1 :: rd 0x4, rs 0xb1d065b
+clz $t0, $t1 :: rd 0x4, rs 0xfdc1bec
+clz $t0, $t1 :: rd 0x2, rs 0x3793a651
+clz $t0, $t1 :: rd 0x2, rs 0x3352bbe6
+clz $t0, $t1 :: rd 0x2, rs 0x3e119d3f
+clz $t0, $t1 :: rd 0x2, rs 0x3ad08088
+clz $t0, $t1 :: rd 0x2, rs 0x2497d08d
+clz $t0, $t1 :: rd 0x2, rs 0x2056cd3a
+clz $t0, $t1 :: rd 0x2, rs 0x2d15ebe3
+clz $t0, $t1 :: rd 0x2, rs 0x29d4f654
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc5a92679
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc1683bce
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffcc2b1d17
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffc8ea00a0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd6ad50a5
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffd26c4d12
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffdf2f6bcb
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffdbee767c
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe3a1cbc1
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffe760d676
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffea23f0af
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffeee2ed18
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff0a5bd1d
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff464a0aa
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffff9278673
+clz $t0, $t1 :: rd 0x0, rs 0xfffffffffde69bc4
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff89b8fd09
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff8d79e0be
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff803ac667
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff84fbdbd0
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9abc8bd5
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff9e7d9662
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff933eb0bb
+clz $t0, $t1 :: rd 0x0, rs 0xffffffff97ffad0c
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffafb010b1
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffab710d06
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa6322bdf
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffa2f33668
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffbcb4666d
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb8757bda
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb5365d03
+clz $t0, $t1 :: rd 0x0, rs 0xffffffffb1f740b4
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x0, rt 0xffffffffb1f740b4
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0x0, rt 0xffffffffb5365d03
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0x9823b6e, rt 0xffffffffb8757bda
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0x130476dc, rt 0xffffffffa2f33668
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0x1a864db2, rt 0xffffffffab710d06
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0x1e475005, rt 0xffffffffafb010b1
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dadd $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dadd $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dadd $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0x31cd86d3, rt 0xffffffff803ac667
+dadd $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dadd $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dadd $t0, $t1, $t2 :: rd 0x49f87734, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dadd $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dadd $t0, $t1, $t2 :: rd 0x39f880c8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dadd $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dadd $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dadd $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dadd $t0, $t1, $t2 :: rd 0x3df86d38, rs 0x569796c2, rt 0xffffffffe760d676
+dadd $t0, $t1, $t2 :: rd 0x35f85736, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dadd $t0, $t1, $t2 :: rd 0x4607ad44, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dadd $t0, $t1, $t2 :: rd 0x4e07974a, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dadd $t0, $t1, $t2 :: rd 0x36075ab8, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dadd $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dadd $t0, $t1, $t2 :: rd 0x420740b4, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dadd $t0, $t1, $t2 :: rd 0x4a077aba, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dadd $t0, $t1, $t2 :: rd 0x3207b748, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dadd $t0, $t1, $t2 :: rd 0x3a078d46, rs 0x745e66cd, rt 0xffffffffc5a92679
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0xffffffff95609039, rt 0x2497d08d
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0xffffffff8664e6e5, rt 0x3793a651
+dadd $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0xffffffffb7a96036, rt 0x65e2082
+dadd $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0xffffffffb3687d81, rt 0x29f3d35
+dadd $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dadd $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0xffffffffa9ee3033, rt 0x18197087
+dadd $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dadd $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0xffffffffd4326d90, rt 0x65c52d24
+dadd $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0xffffffffd0f37027, rt 0x61043093
+dadd $t0, $t1, $t2 :: rd 0x49f76d48, rs 0xffffffffddb056fe, rt 0x6c47164a
+dadd $t0, $t1, $t2 :: rd 0x41f75746, rs 0xffffffffd9714b49, rt 0x68860bfd
+dadd $t0, $t1, $t2 :: rd 0x3df77744, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dadd $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0xffffffffc3f706fb, rt 0x7200464f
+dadd $t0, $t1, $t2 :: rd 0x4df780b8, rs 0xffffffffceb42022, rt 0x7f436096
+dadd $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0xffffffffca753d95, rt 0x7b827d21
+dadd $t0, $t1, $t2 :: rd 0x360840c4, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dadd $t0, $t1, $t2 :: rd 0x3e087aca, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dadd $t0, $t1, $t2 :: rd 0x4608b738, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dadd $t0, $t1, $t2 :: rd 0x4e088d36, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dadd $t0, $t1, $t2 :: rd 0x3208ad34, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dadd $t0, $t1, $t2 :: rd 0x3a08973a, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dadd $t0, $t1, $t2 :: rd 0x42085ac8, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dadd $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0x34867077, rt 0xffffffff857130c3
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0x30476dc0, rt 0xffffffff81b02d74
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0x39c556ae, rt 0xffffffff8832161a
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0x278206ab, rt 0xffffffff9675461f
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dadd $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dadd $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dadd $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0x18aeb13, rt 0xffffffffb07daba7
+dadd $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dadd $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dadd $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dadd $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dadd $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dadd $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dadd $t0, $t1, $t2 :: rd 0x39f85b48, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dadd $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dadd $t0, $t1, $t2 :: rd 0x4df84144, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dadd $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dadd $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dadd $t0, $t1, $t2 :: rd 0x4e074cca, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dadd $t0, $t1, $t2 :: rd 0x460776c4, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dadd $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dadd $t0, $t1, $t2 :: rd 0x36078138, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dadd $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dadd $t0, $t1, $t2 :: rd 0x42079b34, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dadd $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dadd $t0, $t1, $t2 :: rd 0x32076cc8, rs 0x40d816ba, rt 0xfffffffff12f560e
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0xffffffffaca5c697, rt 0x1d528623
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0xffffffffa864db20, rt 0x19939b94
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0xffffffffb2e29692, rt 0x315d626
+dadd $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dadd $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x0, rt 0x3f9b762c
+dadd $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x0, rt 0x32d850f5
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0xffffffff87ee0df6, rt 0x36194d42
+dadd $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0xffffffff99a95df3, rt 0x285e1d47
+dadd $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0xffffffff902b669d, rt 0x21dc2629
+dadd $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dadd $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0xffffffffe0b41de7, rt 0x51435d53
+dadd $t0, $t1, $t2 :: rd 0x39f74134, rs 0xffffffffe4750050, rt 0x558240e4
+dadd $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0xffffffffe9362689, rt 0x58c1663d
+dadd $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dadd $t0, $t1, $t2 :: rd 0x35f796ca, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dadd $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0xfffffffff771768c, rt 0x46863638
+dadd $t0, $t1, $t2 :: rd 0x45f76136, rs 0xfffffffffa325055, rt 0x4bc510e1
+dadd $t0, $t1, $t2 :: rd 0x4df75b38, rs 0xfffffffffef34de2, rt 0x4f040d56
+dadd $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dadd $t0, $t1, $t2 :: rd 0x36089b44, rs 0xffffffffc27dede8, rt 0x738aad5c
+dadd $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dadd $t0, $t1, $t2 :: rd 0x46086cb8, rs 0xffffffffcbffd686, rt 0x7a089632
+dadd $t0, $t1, $t2 :: rd 0x3a084cba, rs 0xffffffffd5b88683, rt 0x644fc637
+dadd $t0, $t1, $t2 :: rd 0x320876b4, rs 0xffffffffd1799b34, rt 0x608edb80
+dadd $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dadd $t0, $t1, $t2 :: rd 0x42088148, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dadd $t0, $t1, $t2 :: rd 0x42088148, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dadd $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dadd $t0, $t1, $t2 :: rd 0x320876b4, rs 0x608edb80, rt 0xffffffffd1799b34
+dadd $t0, $t1, $t2 :: rd 0x3a084cba, rs 0x644fc637, rt 0xffffffffd5b88683
+dadd $t0, $t1, $t2 :: rd 0x46086cb8, rs 0x7a089632, rt 0xffffffffcbffd686
+dadd $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dadd $t0, $t1, $t2 :: rd 0x36089b44, rs 0x738aad5c, rt 0xffffffffc27dede8
+dadd $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dadd $t0, $t1, $t2 :: rd 0x4df75b38, rs 0x4f040d56, rt 0xfffffffffef34de2
+dadd $t0, $t1, $t2 :: rd 0x45f76136, rs 0x4bc510e1, rt 0xfffffffffa325055
+dadd $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0x46863638, rt 0xfffffffff771768c
+dadd $t0, $t1, $t2 :: rd 0x35f796ca, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dadd $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dadd $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0x58c1663d, rt 0xffffffffe9362689
+dadd $t0, $t1, $t2 :: rd 0x39f74134, rs 0x558240e4, rt 0xffffffffe4750050
+dadd $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0x51435d53, rt 0xffffffffe0b41de7
+dadd $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0x21dc2629, rt 0xffffffff902b669d
+dadd $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dadd $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0x285e1d47, rt 0xffffffff99a95df3
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0x36194d42, rt 0xffffffff87ee0df6
+dadd $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dadd $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dadd $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0x315d626, rt 0xffffffffb2e29692
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0x19939b94, rt 0xffffffffa864db20
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0x1d528623, rt 0xffffffffaca5c697
+dadd $t0, $t1, $t2 :: rd 0x32076cc8, rs 0xfffffffff12f560e, rt 0x40d816ba
+dadd $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dadd $t0, $t1, $t2 :: rd 0x42079b34, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dadd $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dadd $t0, $t1, $t2 :: rd 0x36078138, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dadd $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dadd $t0, $t1, $t2 :: rd 0x460776c4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dadd $t0, $t1, $t2 :: rd 0x4e074cca, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dadd $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dadd $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dadd $t0, $t1, $t2 :: rd 0x4df84144, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dadd $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dadd $t0, $t1, $t2 :: rd 0x39f85b48, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dadd $t0, $t1, $t2 :: rd 0x71159069, rs 0x0, rt 0x71159069
+dadd $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dadd $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x0, rt 0x7897ab07
+dadd $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dadd $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dadd $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dadd $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0xffffffffb07daba7, rt 0x18aeb13
+dadd $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dadd $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0xffffffff9675461f, rt 0x278206ab
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0xffffffff8832161a, rt 0x39c556ae
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0xffffffff81b02d74, rt 0x30476dc0
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0xffffffff857130c3, rt 0x34867077
+dadd $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dadd $t0, $t1, $t2 :: rd 0x42085ac8, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dadd $t0, $t1, $t2 :: rd 0x3a08973a, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dadd $t0, $t1, $t2 :: rd 0x3208ad34, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dadd $t0, $t1, $t2 :: rd 0x4e088d36, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dadd $t0, $t1, $t2 :: rd 0x4608b738, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dadd $t0, $t1, $t2 :: rd 0x3e087aca, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dadd $t0, $t1, $t2 :: rd 0x360840c4, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dadd $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0x7b827d21, rt 0xffffffffca753d95
+dadd $t0, $t1, $t2 :: rd 0x4df780b8, rs 0x7f436096, rt 0xffffffffceb42022
+dadd $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0x7200464f, rt 0xffffffffc3f706fb
+dadd $t0, $t1, $t2 :: rd 0x3df77744, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dadd $t0, $t1, $t2 :: rd 0x41f75746, rs 0x68860bfd, rt 0xffffffffd9714b49
+dadd $t0, $t1, $t2 :: rd 0x49f76d48, rs 0x6c47164a, rt 0xffffffffddb056fe
+dadd $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0x61043093, rt 0xffffffffd0f37027
+dadd $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0x65c52d24, rt 0xffffffffd4326d90
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dadd $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dadd $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0x18197087, rt 0xffffffffa9ee3033
+dadd $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dadd $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0x29f3d35, rt 0xffffffffb3687d81
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0x65e2082, rt 0xffffffffb7a96036
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dadd $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0x3793a651, rt 0xffffffff8664e6e5
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dadd $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0x2497d08d, rt 0xffffffff95609039
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dadd $t0, $t1, $t2 :: rd 0x3a078d46, rs 0xffffffffc5a92679, rt 0x745e66cd
+dadd $t0, $t1, $t2 :: rd 0x3207b748, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dadd $t0, $t1, $t2 :: rd 0x4a077aba, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dadd $t0, $t1, $t2 :: rd 0x420740b4, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dadd $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dadd $t0, $t1, $t2 :: rd 0x36075ab8, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dadd $t0, $t1, $t2 :: rd 0x4e07974a, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dadd $t0, $t1, $t2 :: rd 0x4607ad44, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dadd $t0, $t1, $t2 :: rd 0x35f85736, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dadd $t0, $t1, $t2 :: rd 0x3df86d38, rs 0xffffffffe760d676, rt 0x569796c2
+dadd $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dadd $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dadd $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dadd $t0, $t1, $t2 :: rd 0x39f880c8, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dadd $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dadd $t0, $t1, $t2 :: rd 0x49f87734, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dadd $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dadd $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dadd $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0xffffffff803ac667, rt 0x31cd86d3
+dadd $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dadd $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dadd $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dadd $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dadd $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dadd $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0xffffffffafb010b1, rt 0x1e475005
+dadd $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0xffffffffab710d06, rt 0x1a864db2
+dadd $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0xffffffffa2f33668, rt 0x130476dc
+dadd $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dadd $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0xffffffffb8757bda, rt 0x9823b6e
+dadd $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dadd $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x12bd7a9, rs 0x12bd6aa, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x12bd6a9, rs 0x12bd6aa, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x12bd6cd, rs 0x12bd6aa, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7e876382d2ac12, rs 0x7e876382d2ab13, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7e876382d2ab12, rs 0x7e876382d2ab13, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7e876382d2ab36, rs 0x7e876382d2ab13, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9823c6d, rs 0x9823b6e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9823b6d, rs 0x9823b6e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9823b91, rs 0x9823b6e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x976d6e9ac31511f2, rs 0x976d6e9ac31510f3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x976d6e9ac31510f2, rs 0x976d6e9ac31510f3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x976d6e9ac3151116, rs 0x976d6e9ac31510f3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd4327d8, rs 0xd4326d9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd4326d8, rs 0xd4326d9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd4326fc, rs 0xd4326d9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb7746d775ad6a6fa, rs 0xb7746d775ad6a5fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb7746d775ad6a5fa, rs 0xb7746d775ad6a5fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb7746d775ad6a61e, rs 0xb7746d775ad6a5fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x130477db, rs 0x130476dc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x130476db, rs 0x130476dc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x130476ff, rs 0x130476dc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x42b0c0a28677b601, rs 0x42b0c0a28677b502, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x42b0c0a28677b501, rs 0x42b0c0a28677b502, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x42b0c0a28677b525, rs 0x42b0c0a28677b502, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x17c56c6a, rs 0x17c56b6b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x17c56b6a, rs 0x17c56b6b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x17c56b8e, rs 0x17c56b6b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2aa89d319e3c31ac, rs 0x2aa89d319e3c30ad, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2aa89d319e3c30ac, rs 0x2aa89d319e3c30ad, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2aa89d319e3c30d0, rs 0x2aa89d319e3c30ad, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1a864eb1, rs 0x1a864db2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1a864db1, rs 0x1a864db2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1a864dd5, rs 0x1a864db2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1f308ec377fb423c, rs 0x1f308ec377fb413d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1f308ec377fb413c, rs 0x1f308ec377fb413d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1f308ec377fb4160, rs 0x1f308ec377fb413d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1e475104, rs 0x1e475005, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1e475004, rs 0x1e475005, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1e475028, rs 0x1e475005, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7aa04213c760e5f6, rs 0x7aa04213c760e4f7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7aa04213c760e4f6, rs 0x7aa04213c760e4f7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7aa04213c760e51a, rs 0x7aa04213c760e4f7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2608eeb7, rs 0x2608edb8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2608edb7, rs 0x2608edb8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2608eddb, rs 0x2608edb8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9e705cc51ad8dd9f, rs 0x9e705cc51ad8dca0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9e705cc51ad8dc9f, rs 0x9e705cc51ad8dca0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9e705cc51ad8dcc3, rs 0x9e705cc51ad8dca0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x22c9f10e, rs 0x22c9f00f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x22c9f00e, rs 0x22c9f00f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x22c9f032, rs 0x22c9f00f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4b3dda869615a70c, rs 0x4b3dda869615a60d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4b3dda869615a60c, rs 0x4b3dda869615a60d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4b3dda869615a630, rs 0x4b3dda869615a60d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2f8ad7d5, rs 0x2f8ad6d6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2f8ad6d5, rs 0x2f8ad6d6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2f8ad6f9, rs 0x2f8ad6d6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5e7a4dd6353d51c, rs 0x5e7a4dd6353d41d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5e7a4dd6353d41c, rs 0x5e7a4dd6353d41d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5e7a4dd6353d440, rs 0x5e7a4dd6353d41d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2b4bcc60, rs 0x2b4bcb61, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2b4bcb60, rs 0x2b4bcb61, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2b4bcb84, rs 0x2b4bcb61, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3af35a9dc40bd512, rs 0x3af35a9dc40bd413, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3af35a9dc40bd412, rs 0x3af35a9dc40bd413, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3af35a9dc40bd436, rs 0x3af35a9dc40bd413, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x350c9c63, rs 0x350c9b64, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x350c9b63, rs 0x350c9b64, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x350c9b87, rs 0x350c9b64, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x47f505569a08a27f, rs 0x47f505569a08a180, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x47f505569a08a17f, rs 0x47f505569a08a180, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x47f505569a08a1a3, rs 0x47f505569a08a180, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x31cd87d2, rs 0x31cd86d3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x31cd86d2, rs 0x31cd86d3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x31cd86f6, rs 0x31cd86d3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9564b77fd6d2050e, rs 0x9564b77fd6d2040f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9564b77fd6d2040e, rs 0x9564b77fd6d2040f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9564b77fd6d20432, rs 0x9564b77fd6d2040f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3c8ea109, rs 0x3c8ea00a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3c8ea009, rs 0x3c8ea00a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3c8ea02d, rs 0x3c8ea00a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xcebc8279b2c76cbd, rs 0xcebc8279b2c76bbe, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xcebc8279b2c76bbd, rs 0xcebc8279b2c76bbe, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xcebc8279b2c76be1, rs 0xcebc8279b2c76bbe, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x384fbebc, rs 0x384fbdbd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x384fbdbc, rs 0x384fbdbd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x384fbde0, rs 0x384fbdbd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb5034c2f1f18e5c6, rs 0xb5034c2f1f18e4c7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb5034c2f1f18e4c6, rs 0xb5034c2f1f18e4c7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb5034c2f1f18e4ea, rs 0xb5034c2f1f18e4c7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4c11dc6f, rs 0x4c11db70, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4c11db6f, rs 0x4c11db70, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4c11db93, rs 0x4c11db70, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x94ff52fc81afa896, rs 0x94ff52fc81afa797, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x94ff52fc81afa796, rs 0x94ff52fc81afa797, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x94ff52fc81afa7ba, rs 0x94ff52fc81afa797, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x48d0c7c6, rs 0x48d0c6c7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x48d0c6c6, rs 0x48d0c6c7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x48d0c6ea, rs 0x48d0c6c7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x31d8d9166dfc51e9, rs 0x31d8d9166dfc50ea, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x31d8d9166dfc50e9, rs 0x31d8d9166dfc50ea, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x31d8d9166dfc510d, rs 0x31d8d9166dfc50ea, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4593e11d, rs 0x4593e01e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4593e01d, rs 0x4593e01e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4593e041, rs 0x4593e01e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x36549bd678e896b0, rs 0x36549bd678e895b1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x36549bd678e895b0, rs 0x36549bd678e895b1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x36549bd678e895d4, rs 0x36549bd678e895b1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4152fea8, rs 0x4152fda9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4152fda8, rs 0x4152fda9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4152fdcc, rs 0x4152fda9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x85e0a6319b63269a, rs 0x85e0a6319b63259b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x85e0a6319b63259a, rs 0x85e0a6319b63259b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x85e0a6319b6325be, rs 0x85e0a6319b63259b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5f15aeab, rs 0x5f15adac, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5f15adab, rs 0x5f15adac, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5f15adcf, rs 0x5f15adac, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x556b3ecaccf17bc4, rs 0x556b3ecaccf17ac5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x556b3ecaccf17ac4, rs 0x556b3ecaccf17ac5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x556b3ecaccf17ae8, rs 0x556b3ecaccf17ac5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5bd4b11a, rs 0x5bd4b01b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5bd4b01a, rs 0x5bd4b01b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5bd4b03e, rs 0x5bd4b01b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb42f5fc581eea1fa, rs 0xb42f5fc581eea0fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb42f5fc581eea0fa, rs 0xb42f5fc581eea0fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb42f5fc581eea11e, rs 0xb42f5fc581eea0fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x569797c1, rs 0x569796c2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x569796c1, rs 0x569796c2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x569796e5, rs 0x569796c2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x25b50fec14682e96, rs 0x25b50fec14682d97, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x25b50fec14682d96, rs 0x25b50fec14682d97, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x25b50fec14682dba, rs 0x25b50fec14682d97, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x52568c74, rs 0x52568b75, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x52568b74, rs 0x52568b75, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x52568b98, rs 0x52568b75, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfc93c5132cfb0979, rs 0xfc93c5132cfb087a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfc93c5132cfb0879, rs 0xfc93c5132cfb087a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfc93c5132cfb089d, rs 0xfc93c5132cfb087a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6a1937c7, rs 0x6a1936c8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6a1936c7, rs 0x6a1936c8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6a1936eb, rs 0x6a1936c8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3c2cd9a9cda20865, rs 0x3c2cd9a9cda20766, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3c2cd9a9cda20765, rs 0x3c2cd9a9cda20766, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3c2cd9a9cda20789, rs 0x3c2cd9a9cda20766, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6ed82c7e, rs 0x6ed82b7f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6ed82b7e, rs 0x6ed82b7f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6ed82ba2, rs 0x6ed82b7f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1791722a7d72db3d, rs 0x1791722a7d72da3e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1791722a7d72da3d, rs 0x1791722a7d72da3e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1791722a7d72da61, rs 0x1791722a7d72da3e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x639b0ea5, rs 0x639b0da6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x639b0da5, rs 0x639b0da6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x639b0dc9, rs 0x639b0da6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x87cc9d193ce25ac, rs 0x87cc9d193ce24ad, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x87cc9d193ce24ac, rs 0x87cc9d193ce24ad, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x87cc9d193ce24d0, rs 0x87cc9d193ce24ad, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x675a1110, rs 0x675a1011, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x675a1010, rs 0x675a1011, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x675a1034, rs 0x675a1011, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1d2a757038984fd1, rs 0x1d2a757038984ed2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1d2a757038984ed1, rs 0x1d2a757038984ed2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1d2a757038984ef5, rs 0x1d2a757038984ed2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x791d4113, rs 0x791d4014, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x791d4013, rs 0x791d4014, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x791d4037, rs 0x791d4014, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd0d070db710cd135, rs 0xd0d070db710cd036, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd0d070db710cd035, rs 0xd0d070db710cd036, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd0d070db710cd059, rs 0xd0d070db710cd036, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7ddc5ea2, rs 0x7ddc5da3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7ddc5da2, rs 0x7ddc5da3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7ddc5dc6, rs 0x7ddc5da3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x39c21c7d03415703, rs 0x39c21c7d03415604, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x39c21c7d03415603, rs 0x39c21c7d03415604, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x39c21c7d03415627, rs 0x39c21c7d03415604, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x709f7c79, rs 0x709f7b7a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x709f7b79, rs 0x709f7b7a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x709f7b9d, rs 0x709f7b7a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8e94b7af8ecc32cd, rs 0x8e94b7af8ecc31ce, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8e94b7af8ecc31cd, rs 0x8e94b7af8ecc31ce, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8e94b7af8ecc31f1, rs 0x8e94b7af8ecc31ce, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x745e67cc, rs 0x745e66cd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x745e66cc, rs 0x745e66cd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x745e66f0, rs 0x745e66cd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x24eb6a8d1ce7684e, rs 0x24eb6a8d1ce7674f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x24eb6a8d1ce7674e, rs 0x24eb6a8d1ce7674f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x24eb6a8d1ce76772, rs 0x24eb6a8d1ce7674f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9823b7df, rs 0xffffffff9823b6e0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9823b6df, rs 0xffffffff9823b6e0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9823b703, rs 0xffffffff9823b6e0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2f39454412d6e5a6, rs 0x2f39454412d6e4a7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2f39454412d6e4a6, rs 0x2f39454412d6e4a7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2f39454412d6e4ca, rs 0x2f39454412d6e4a7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9ce2ac56, rs 0xffffffff9ce2ab57, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9ce2ab56, rs 0xffffffff9ce2ab57, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9ce2ab7a, rs 0xffffffff9ce2ab57, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2608c2b756da4d53, rs 0x2608c2b756da4c54, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2608c2b756da4c53, rs 0x2608c2b756da4c54, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2608c2b756da4c77, rs 0x2608c2b756da4c54, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff91a18e8d, rs 0xffffffff91a18d8e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff91a18d8d, rs 0xffffffff91a18d8e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff91a18db1, rs 0xffffffff91a18d8e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x900102dac8d7262e, rs 0x900102dac8d7252f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x900102dac8d7252e, rs 0x900102dac8d7252f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x900102dac8d72552, rs 0x900102dac8d7252f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff95609138, rs 0xffffffff95609039, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff95609038, rs 0xffffffff95609039, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9560905c, rs 0xffffffff95609039, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc890d5f1f2efa5f6, rs 0xc890d5f1f2efa4f7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc890d5f1f2efa4f6, rs 0xc890d5f1f2efa4f7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc890d5f1f2efa51a, rs 0xc890d5f1f2efa4f7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8b27c13b, rs 0xffffffff8b27c03c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8b27c03b, rs 0xffffffff8b27c03c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8b27c05f, rs 0xffffffff8b27c03c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xed5005cbc8b0a313, rs 0xed5005cbc8b0a214, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xed5005cbc8b0a213, rs 0xed5005cbc8b0a214, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xed5005cbc8b0a237, rs 0xed5005cbc8b0a214, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8fe6de8a, rs 0xffffffff8fe6dd8b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8fe6dd8a, rs 0xffffffff8fe6dd8b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8fe6ddae, rs 0xffffffff8fe6dd8b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x314791895991146b, rs 0x314791895991136c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x314791895991136b, rs 0x314791895991136c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x314791895991138f, rs 0x314791895991136c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff82a5fc51, rs 0xffffffff82a5fb52, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff82a5fb51, rs 0xffffffff82a5fb52, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff82a5fb75, rs 0xffffffff82a5fb52, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc6eecff99a2fb7f2, rs 0xc6eecff99a2fb6f3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc6eecff99a2fb6f2, rs 0xc6eecff99a2fb6f3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc6eecff99a2fb716, rs 0xc6eecff99a2fb6f3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8664e7e4, rs 0xffffffff8664e6e5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8664e6e4, rs 0xffffffff8664e6e5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8664e708, rs 0xffffffff8664e6e5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa80952123889536f, rs 0xa809521238895270, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa80952123889526f, rs 0xa809521238895270, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa809521238895293, rs 0xa809521238895270, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbe2b5c57, rs 0xffffffffbe2b5b58, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbe2b5b57, rs 0xffffffffbe2b5b58, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbe2b5b7b, rs 0xffffffffbe2b5b58, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x87750a04ad76513f, rs 0x87750a04ad765040, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x87750a04ad76503f, rs 0x87750a04ad765040, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x87750a04ad765063, rs 0x87750a04ad765040, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbaea47ee, rs 0xffffffffbaea46ef, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbaea46ee, rs 0xffffffffbaea46ef, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbaea4712, rs 0xffffffffbaea46ef, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2c3de85e84bb5b82, rs 0x2c3de85e84bb5a83, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2c3de85e84bb5a82, rs 0x2c3de85e84bb5a83, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2c3de85e84bb5aa6, rs 0x2c3de85e84bb5a83, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb7a96135, rs 0xffffffffb7a96036, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb7a96035, rs 0xffffffffb7a96036, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb7a96059, rs 0xffffffffb7a96036, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xae6aff8fc506ab66, rs 0xae6aff8fc506aa67, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xae6aff8fc506aa66, rs 0xae6aff8fc506aa67, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xae6aff8fc506aa8a, rs 0xae6aff8fc506aa67, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb3687e80, rs 0xffffffffb3687d81, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb3687d80, rs 0xffffffffb3687d81, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb3687da4, rs 0xffffffffb3687d81, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc07112dd60ed5fe2, rs 0xc07112dd60ed5ee3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc07112dd60ed5ee2, rs 0xc07112dd60ed5ee3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc07112dd60ed5f06, rs 0xc07112dd60ed5ee3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffad2f2e83, rs 0xffffffffad2f2d84, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffad2f2d83, rs 0xffffffffad2f2d84, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffad2f2da7, rs 0xffffffffad2f2d84, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc4c770f630dccb59, rs 0xc4c770f630dcca5a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc4c770f630dcca59, rs 0xc4c770f630dcca5a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc4c770f630dcca7d, rs 0xc4c770f630dcca5a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa9ee3132, rs 0xffffffffa9ee3033, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa9ee3032, rs 0xffffffffa9ee3033, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa9ee3056, rs 0xffffffffa9ee3033, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xdfec2b2383cd5376, rs 0xdfec2b2383cd5277, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xdfec2b2383cd5276, rs 0xdfec2b2383cd5277, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xdfec2b2383cd529a, rs 0xdfec2b2383cd5277, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa4ad17e9, rs 0xffffffffa4ad16ea, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa4ad16e9, rs 0xffffffffa4ad16ea, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa4ad170d, rs 0xffffffffa4ad16ea, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd3adba260ff7da6a, rs 0xd3adba260ff7d96b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd3adba260ff7d96a, rs 0xd3adba260ff7d96b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd3adba260ff7d98e, rs 0xd3adba260ff7d96b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa06c0c5c, rs 0xffffffffa06c0b5d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa06c0b5c, rs 0xffffffffa06c0b5d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa06c0b80, rs 0xffffffffa06c0b5d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4ab4aa798418c10d, rs 0x4ab4aa798418c00e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4ab4aa798418c00d, rs 0x4ab4aa798418c00e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4ab4aa798418c031, rs 0x4ab4aa798418c00e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd4326e8f, rs 0xffffffffd4326d90, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd4326d8f, rs 0xffffffffd4326d90, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd4326db3, rs 0xffffffffd4326d90, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbb8c035e0de0f1b7, rs 0xbb8c035e0de0f0b8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbb8c035e0de0f0b7, rs 0xbb8c035e0de0f0b8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbb8c035e0de0f0db, rs 0xbb8c035e0de0f0b8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd0f37126, rs 0xffffffffd0f37027, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd0f37026, rs 0xffffffffd0f37027, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd0f3704a, rs 0xffffffffd0f37027, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x33b06f54a97fddf0, rs 0x33b06f54a97fdcf1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x33b06f54a97fdcf0, rs 0x33b06f54a97fdcf1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x33b06f54a97fdd14, rs 0x33b06f54a97fdcf1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffddb057fd, rs 0xffffffffddb056fe, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffddb056fd, rs 0xffffffffddb056fe, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffddb05721, rs 0xffffffffddb056fe, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x77433f373fd1c180, rs 0x77433f373fd1c081, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x77433f373fd1c080, rs 0x77433f373fd1c081, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x77433f373fd1c0a4, rs 0x77433f373fd1c081, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd9714c48, rs 0xffffffffd9714b49, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd9714b48, rs 0xffffffffd9714b49, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd9714b6c, rs 0xffffffffd9714b49, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xec91d993c92196e3, rs 0xec91d993c92195e4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xec91d993c92195e3, rs 0xec91d993c92195e4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xec91d993c9219607, rs 0xec91d993c92195e4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc7361c4b, rs 0xffffffffc7361b4c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc7361b4b, rs 0xffffffffc7361b4c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc7361b6f, rs 0xffffffffc7361b4c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x49fbf6a795b1a6aa, rs 0x49fbf6a795b1a5ab, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x49fbf6a795b1a5aa, rs 0x49fbf6a795b1a5ab, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x49fbf6a795b1a5ce, rs 0x49fbf6a795b1a5ab, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc3f707fa, rs 0xffffffffc3f706fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc3f706fa, rs 0xffffffffc3f706fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc3f7071e, rs 0xffffffffc3f706fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x19364378c7ce8e1d, rs 0x19364378c7ce8d1e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x19364378c7ce8d1d, rs 0x19364378c7ce8d1e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x19364378c7ce8d41, rs 0x19364378c7ce8d1e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffceb42121, rs 0xffffffffceb42022, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffceb42021, rs 0xffffffffceb42022, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffceb42045, rs 0xffffffffceb42022, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb99e8def2f384a06, rs 0xb99e8def2f384907, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb99e8def2f384906, rs 0xb99e8def2f384907, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb99e8def2f38492a, rs 0xb99e8def2f384907, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffca753e94, rs 0xffffffffca753d95, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffca753d94, rs 0xffffffffca753d95, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffca753db8, rs 0xffffffffca753d95, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x47eacdcd582b13fd, rs 0x47eacdcd582b12fe, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x47eacdcd582b12fd, rs 0x47eacdcd582b12fe, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x47eacdcd582b1321, rs 0x47eacdcd582b12fe, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff23a8127, rs 0xfffffffff23a8028, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff23a8027, rs 0xfffffffff23a8028, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff23a804b, rs 0xfffffffff23a8028, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd685884e76558d4e, rs 0xd685884e76558c4f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd685884e76558c4e, rs 0xd685884e76558c4f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd685884e76558c72, rs 0xd685884e76558c4f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff6fb9e9e, rs 0xfffffffff6fb9d9f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff6fb9d9e, rs 0xfffffffff6fb9d9f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff6fb9dc2, rs 0xfffffffff6fb9d9f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6168d62a34c196c6, rs 0x6168d62a34c195c7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6168d62a34c195c6, rs 0x6168d62a34c195c7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6168d62a34c195ea, rs 0x6168d62a34c195c7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffffbb8bc45, rs 0xfffffffffbb8bb46, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffffbb8bb45, rs 0xfffffffffbb8bb46, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffffbb8bb69, rs 0xfffffffffbb8bb46, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd30169894df47504, rs 0xd30169894df47405, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd30169894df47404, rs 0xd30169894df47405, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd30169894df47428, rs 0xd30169894df47405, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffff79a7f0, rs 0xffffffffff79a6f1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffff79a6f0, rs 0xffffffffff79a6f1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffff79a714, rs 0xffffffffff79a6f1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1ca190bf6cbb07da, rs 0x1ca190bf6cbb06db, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1ca190bf6cbb06da, rs 0x1ca190bf6cbb06db, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1ca190bf6cbb06fe, rs 0x1ca190bf6cbb06db, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe13ef7f3, rs 0xffffffffe13ef6f4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe13ef6f3, rs 0xffffffffe13ef6f4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe13ef717, rs 0xffffffffe13ef6f4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x58300f029cae3a39, rs 0x58300f029cae393a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x58300f029cae3939, rs 0x58300f029cae393a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x58300f029cae395d, rs 0x58300f029cae393a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe5ffec42, rs 0xffffffffe5ffeb43, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe5ffeb42, rs 0xffffffffe5ffeb43, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe5ffeb66, rs 0xffffffffe5ffeb43, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9a995fdbdc7ebd2c, rs 0x9a995fdbdc7ebc2d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9a995fdbdc7ebc2c, rs 0x9a995fdbdc7ebc2d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9a995fdbdc7ebc50, rs 0x9a995fdbdc7ebc2d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe8bcce99, rs 0xffffffffe8bccd9a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe8bccd99, rs 0xffffffffe8bccd9a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe8bccdbd, rs 0xffffffffe8bccd9a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8a96047be3405c47, rs 0x8a96047be3405b48, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8a96047be3405b47, rs 0x8a96047be3405b48, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8a96047be3405b6b, rs 0x8a96047be3405b48, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffec7dd12c, rs 0xffffffffec7dd02d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffec7dd02c, rs 0xffffffffec7dd02d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffec7dd050, rs 0xffffffffec7dd02d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x75bfafd2d519d421, rs 0x75bfafd2d519d322, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x75bfafd2d519d321, rs 0x75bfafd2d519d322, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x75bfafd2d519d345, rs 0x75bfafd2d519d322, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x34867176, rs 0x34867077, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x34867076, rs 0x34867077, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3486709a, rs 0x34867077, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xde230867a630f7ac, rs 0xde230867a630f6ad, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xde230867a630f6ac, rs 0xde230867a630f6ad, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xde230867a630f6d0, rs 0xde230867a630f6ad, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x30476ebf, rs 0x30476dc0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x30476dbf, rs 0x30476dc0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x30476de3, rs 0x30476dc0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2c0a0cf25610335f, rs 0x2c0a0cf256103260, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2c0a0cf25610325f, rs 0x2c0a0cf256103260, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2c0a0cf256103283, rs 0x2c0a0cf256103260, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3d044c18, rs 0x3d044b19, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3d044b18, rs 0x3d044b19, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3d044b3c, rs 0x3d044b19, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x94a90544249b19ee, rs 0x94a90544249b18ef, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x94a90544249b18ee, rs 0x94a90544249b18ef, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x94a90544249b1912, rs 0x94a90544249b18ef, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x39c557ad, rs 0x39c556ae, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x39c556ad, rs 0x39c556ae, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x39c556d1, rs 0x39c556ae, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf9519fb55b56fddd, rs 0xf9519fb55b56fcde, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf9519fb55b56fcdd, rs 0xf9519fb55b56fcde, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf9519fb55b56fd01, rs 0xf9519fb55b56fcde, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x278207aa, rs 0x278206ab, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x278206aa, rs 0x278206ab, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x278206ce, rs 0x278206ab, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x81daf8200468329a, rs 0x81daf8200468319b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x81daf8200468319a, rs 0x81daf8200468319b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x81daf820046831be, rs 0x81daf8200468319b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x23431c1b, rs 0x23431b1c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x23431b1b, rs 0x23431b1c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23431b3f, rs 0x23431b1c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8c61ca5a5725f3eb, rs 0x8c61ca5a5725f2ec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8c61ca5a5725f2eb, rs 0x8c61ca5a5725f2ec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8c61ca5a5725f30f, rs 0x8c61ca5a5725f2ec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2e003ec4, rs 0x2e003dc5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2e003dc4, rs 0x2e003dc5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2e003de8, rs 0x2e003dc5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8b95a6ddc25dc9be, rs 0x8b95a6ddc25dc8bf, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8b95a6ddc25dc8be, rs 0x8b95a6ddc25dc8bf, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8b95a6ddc25dc8e2, rs 0x8b95a6ddc25dc8bf, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2ac12171, rs 0x2ac12072, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2ac12071, rs 0x2ac12072, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2ac12095, rs 0x2ac12072, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x300ce751dac6172e, rs 0x300ce751dac6162f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x300ce751dac6162e, rs 0x300ce751dac6162f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x300ce751dac61652, rs 0x300ce751dac6162f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x128e9ece, rs 0x128e9dcf, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x128e9dce, rs 0x128e9dcf, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x128e9df2, rs 0x128e9dcf, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6778fdf3ba52a94f, rs 0x6778fdf3ba52a850, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6778fdf3ba52a84f, rs 0x6778fdf3ba52a850, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6778fdf3ba52a873, rs 0x6778fdf3ba52a850, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x164f8177, rs 0x164f8078, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x164f8077, rs 0x164f8078, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x164f809b, rs 0x164f8078, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xad00b1f7da78489e, rs 0xad00b1f7da78479f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xad00b1f7da78479e, rs 0xad00b1f7da78479f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xad00b1f7da7847c2, rs 0xad00b1f7da78479f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1b0ca7a0, rs 0x1b0ca6a1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1b0ca6a0, rs 0x1b0ca6a1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1b0ca6c4, rs 0x1b0ca6a1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8d44168a6b6da89, rs 0x8d44168a6b6d98a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8d44168a6b6d989, rs 0x8d44168a6b6d98a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8d44168a6b6d9ad, rs 0x8d44168a6b6d98a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1fcdbc15, rs 0x1fcdbb16, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1fcdbb15, rs 0x1fcdbb16, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1fcdbb39, rs 0x1fcdbb16, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf518381dce634512, rs 0xf518381dce634413, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf518381dce634412, rs 0xf518381dce634413, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf518381dce634436, rs 0xf518381dce634413, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x18aec12, rs 0x18aeb13, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x18aeb12, rs 0x18aeb13, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x18aeb36, rs 0x18aeb13, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe4627f3fe52560bf, rs 0xe4627f3fe5255fc0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe4627f3fe5255fbf, rs 0xe4627f3fe5255fc0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe4627f3fe5255fe3, rs 0xe4627f3fe5255fc0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x54bf7a3, rs 0x54bf6a4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x54bf6a3, rs 0x54bf6a4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x54bf6c7, rs 0x54bf6a4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xccd392e176322027, rs 0xccd392e176321f28, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xccd392e176321f27, rs 0xccd392e176321f28, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xccd392e176321f4b, rs 0xccd392e176321f28, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x808d17c, rs 0x808d07d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x808d07c, rs 0x808d07d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x808d0a0, rs 0x808d07d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x829464944018fe8e, rs 0x829464944018fd8f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x829464944018fd8e, rs 0x829464944018fd8f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x829464944018fdb2, rs 0x829464944018fd8f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xcc9cec9, rs 0xcc9cdca, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xcc9cdc9, rs 0xcc9cdca, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xcc9cded, rs 0xcc9cdca, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x15d3204052e8f1e4, rs 0x15d3204052e8f0e5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x15d3204052e8f0e4, rs 0x15d3204052e8f0e5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x15d3204052e8f108, rs 0x15d3204052e8f0e5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7897ac06, rs 0x7897ab07, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7897ab06, rs 0x7897ab07, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7897ab2a, rs 0x7897ab07, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7caf83d2880ff443, rs 0x7caf83d2880ff344, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7caf83d2880ff343, rs 0x7caf83d2880ff344, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7caf83d2880ff367, rs 0x7caf83d2880ff344, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7c56b7af, rs 0x7c56b6b0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7c56b6af, rs 0x7c56b6b0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7c56b6d3, rs 0x7c56b6b0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf156a04c747df0d6, rs 0xf156a04c747defd7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf156a04c747defd6, rs 0xf156a04c747defd7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf156a04c747deffa, rs 0xf156a04c747defd7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x71159168, rs 0x71159069, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x71159068, rs 0x71159069, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7115908c, rs 0x71159069, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x93e2601c0f31d80f, rs 0x93e2601c0f31d710, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x93e2601c0f31d70f, rs 0x93e2601c0f31d710, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x93e2601c0f31d733, rs 0x93e2601c0f31d710, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x75d48edd, rs 0x75d48dde, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x75d48ddd, rs 0x75d48dde, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x75d48e01, rs 0x75d48dde, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe1e1a679131cda32, rs 0xe1e1a679131cd933, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe1e1a679131cd932, rs 0xe1e1a679131cd933, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe1e1a679131cd956, rs 0xe1e1a679131cd933, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6b93deda, rs 0x6b93dddb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6b93ddda, rs 0x6b93dddb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6b93ddfe, rs 0x6b93dddb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x24296b75a76fa526, rs 0x24296b75a76fa427, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x24296b75a76fa426, rs 0x24296b75a76fa427, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x24296b75a76fa44a, rs 0x24296b75a76fa427, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6f52c16b, rs 0x6f52c06c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6f52c06b, rs 0x6f52c06c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6f52c08f, rs 0x6f52c06c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd296e2d2139ee669, rs 0xd296e2d2139ee56a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd296e2d2139ee569, rs 0xd296e2d2139ee56a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd296e2d2139ee58d, rs 0xd296e2d2139ee56a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6211e7b4, rs 0x6211e6b5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6211e6b4, rs 0x6211e6b5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6211e6d8, rs 0x6211e6b5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5a82447f6dc2a6bf, rs 0x5a82447f6dc2a5c0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5a82447f6dc2a5bf, rs 0x5a82447f6dc2a5c0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5a82447f6dc2a5e3, rs 0x5a82447f6dc2a5c0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x66d0fc01, rs 0x66d0fb02, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x66d0fb01, rs 0x66d0fb02, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x66d0fb25, rs 0x66d0fb02, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x76c89e80c07dc267, rs 0x76c89e80c07dc168, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x76c89e80c07dc167, rs 0x76c89e80c07dc168, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x76c89e80c07dc18b, rs 0x76c89e80c07dc168, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5e9f47be, rs 0x5e9f46bf, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5e9f46be, rs 0x5e9f46bf, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5e9f46e2, rs 0x5e9f46bf, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x70dc3454bfe358e, rs 0x70dc3454bfe348f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x70dc3454bfe348e, rs 0x70dc3454bfe348f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x70dc3454bfe34b2, rs 0x70dc3454bfe348f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5a5e5c07, rs 0x5a5e5b08, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5a5e5b07, rs 0x5a5e5b08, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5a5e5b2b, rs 0x5a5e5b08, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbddc7123dd6d251a, rs 0xbddc7123dd6d241b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbddc7123dd6d241a, rs 0xbddc7123dd6d241b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbddc7123dd6d243e, rs 0xbddc7123dd6d241b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x571d7ed0, rs 0x571d7dd1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x571d7dd0, rs 0x571d7dd1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x571d7df4, rs 0x571d7dd1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf62fb727a59fcfbd, rs 0xf62fb727a59fcebe, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf62fb727a59fcebd, rs 0xf62fb727a59fcebe, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf62fb727a59fcee1, rs 0xf62fb727a59fcebe, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x53dc6165, rs 0x53dc6066, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x53dc6065, rs 0x53dc6066, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x53dc6089, rs 0x53dc6066, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x109f27e90f9f47fa, rs 0x109f27e90f9f46fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x109f27e90f9f46fa, rs 0x109f27e90f9f46fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x109f27e90f9f471e, rs 0x109f27e90f9f46fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4d9b3162, rs 0x4d9b3063, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4d9b3062, rs 0x4d9b3063, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4d9b3086, rs 0x4d9b3063, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3f63daa9afd19ad6, rs 0x3f63daa9afd199d7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3f63daa9afd199d6, rs 0x3f63daa9afd199d7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3f63daa9afd199fa, rs 0x3f63daa9afd199d7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x495a2ed3, rs 0x495a2dd4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x495a2dd3, rs 0x495a2dd4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x495a2df7, rs 0x495a2dd4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xdbcb312ea3d485f1, rs 0xdbcb312ea3d484f2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xdbcb312ea3d484f1, rs 0xdbcb312ea3d484f2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xdbcb312ea3d48515, rs 0xdbcb312ea3d484f2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x44190c0c, rs 0x44190b0d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x44190b0c, rs 0x44190b0d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x44190b30, rs 0x44190b0d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1f353faada4fe5c5, rs 0x1f353faada4fe4c6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1f353faada4fe4c5, rs 0x1f353faada4fe4c6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1f353faada4fe4e9, rs 0x1f353faada4fe4c6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x40d817b9, rs 0x40d816ba, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x40d816b9, rs 0x40d816ba, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x40d816dd, rs 0x40d816ba, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8b086ee07150c35f, rs 0x8b086ee07150c260, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8b086ee07150c25f, rs 0x8b086ee07150c260, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8b086ee07150c283, rs 0x8b086ee07150c260, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffaca5c796, rs 0xffffffffaca5c697, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffaca5c696, rs 0xffffffffaca5c697, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffaca5c6ba, rs 0xffffffffaca5c697, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe54750d5d9258024, rs 0xe54750d5d9257f25, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe54750d5d9257f24, rs 0xe54750d5d9257f25, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe54750d5d9257f48, rs 0xe54750d5d9257f25, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa864dc1f, rs 0xffffffffa864db20, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa864db1f, rs 0xffffffffa864db20, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa864db43, rs 0xffffffffa864db20, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3d69625fe9a6dc5a, rs 0x3d69625fe9a6db5b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3d69625fe9a6db5a, rs 0x3d69625fe9a6db5b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3d69625fe9a6db7e, rs 0x3d69625fe9a6db5b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa527fef8, rs 0xffffffffa527fdf9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa527fdf8, rs 0xffffffffa527fdf9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa527fe1c, rs 0xffffffffa527fdf9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x70a3e0424340ad95, rs 0x70a3e0424340ac96, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x70a3e0424340ac95, rs 0x70a3e0424340ac96, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x70a3e0424340acb9, rs 0x70a3e0424340ac96, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa1e6e14d, rs 0xffffffffa1e6e04e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa1e6e04d, rs 0xffffffffa1e6e04e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa1e6e071, rs 0xffffffffa1e6e04e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc0478f036980181d, rs 0xc0478f036980171e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc0478f036980171d, rs 0xc0478f036980171e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc0478f0369801741, rs 0xc0478f036980171e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbfa1b14a, rs 0xffffffffbfa1b04b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbfa1b04a, rs 0xffffffffbfa1b04b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbfa1b06e, rs 0xffffffffbfa1b04b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3ce839a51cf92ae2, rs 0x3ce839a51cf929e3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3ce839a51cf929e2, rs 0x3ce839a51cf929e3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3ce839a51cf92a06, rs 0x3ce839a51cf929e3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbb60aefb, rs 0xffffffffbb60adfc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbb60adfb, rs 0xffffffffbb60adfc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbb60ae1f, rs 0xffffffffbb60adfc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe2fbfa895eb68a57, rs 0xe2fbfa895eb68958, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe2fbfa895eb68957, rs 0xe2fbfa895eb68958, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe2fbfa895eb6897b, rs 0xe2fbfa895eb68958, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb6238c24, rs 0xffffffffb6238b25, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb6238b24, rs 0xffffffffb6238b25, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb6238b48, rs 0xffffffffb6238b25, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd24bb05d76ed26b6, rs 0xd24bb05d76ed25b7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd24bb05d76ed25b6, rs 0xd24bb05d76ed25b7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd24bb05d76ed25da, rs 0xd24bb05d76ed25b7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb2e29791, rs 0xffffffffb2e29692, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb2e29691, rs 0xffffffffb2e29692, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb2e296b5, rs 0xffffffffb2e29692, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xeb9682c170313f0, rs 0xeb9682c170312f1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xeb9682c170312f0, rs 0xeb9682c170312f1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xeb9682c17031314, rs 0xeb9682c170312f1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8aad2c2e, rs 0xffffffff8aad2b2f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8aad2b2e, rs 0xffffffff8aad2b2f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8aad2b52, rs 0xffffffff8aad2b2f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x84785280dd301e0c, rs 0x84785280dd301d0d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x84785280dd301d0c, rs 0x84785280dd301d0d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x84785280dd301d30, rs 0x84785280dd301d0d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x179c77aa1f8fd7ee, rs 0x179c77aa1f8fd6ef, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x179c77aa1f8fd6ee, rs 0x179c77aa1f8fd6ef, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x179c77aa1f8fd712, rs 0x179c77aa1f8fd6ef, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x26444ced2998446c, rs 0x26444ced2998436d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x26444ced2998436c, rs 0x26444ced2998436d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x26444ced29984390, rs 0x26444ced2998436d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff87ee0ef5, rs 0xffffffff87ee0df6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff87ee0df5, rs 0xffffffff87ee0df6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff87ee0e19, rs 0xffffffff87ee0df6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7175c9dd58ca807, rs 0x7175c9dd58ca708, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7175c9dd58ca707, rs 0x7175c9dd58ca708, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7175c9dd58ca72b, rs 0x7175c9dd58ca708, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff99a95ef2, rs 0xffffffff99a95df3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff99a95df2, rs 0xffffffff99a95df3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff99a95e16, rs 0xffffffff99a95df3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x663d061055833386, rs 0x663d061055833287, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x663d061055833286, rs 0x663d061055833287, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x663d0610558332aa, rs 0x663d061055833287, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9d684143, rs 0xffffffff9d684044, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9d684043, rs 0xffffffff9d684044, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9d684067, rs 0xffffffff9d684044, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xab7dd0488951d78a, rs 0xab7dd0488951d68b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xab7dd0488951d68a, rs 0xab7dd0488951d68b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xab7dd0488951d6ae, rs 0xab7dd0488951d68b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff902b679c, rs 0xffffffff902b669d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff902b669c, rs 0xffffffff902b669d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff902b66c0, rs 0xffffffff902b669d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf69823670e82481a, rs 0xf69823670e82471b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf69823670e82471a, rs 0xf69823670e82471b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf69823670e82473e, rs 0xf69823670e82471b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff94ea7c29, rs 0xffffffff94ea7b2a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff94ea7b29, rs 0xffffffff94ea7b2a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff94ea7b4d, rs 0xffffffff94ea7b2a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x36886c59d98d27b1, rs 0x36886c59d98d26b2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x36886c59d98d26b1, rs 0x36886c59d98d26b2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x36886c59d98d26d5, rs 0x36886c59d98d26b2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe0b41ee6, rs 0xffffffffe0b41de7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe0b41de6, rs 0xffffffffe0b41de7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe0b41e0a, rs 0xffffffffe0b41de7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9ca4bdbd32be578, rs 0x9ca4bdbd32be479, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9ca4bdbd32be478, rs 0x9ca4bdbd32be479, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9ca4bdbd32be49c, rs 0x9ca4bdbd32be479, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe475014f, rs 0xffffffffe4750050, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe475004f, rs 0xffffffffe4750050, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe4750073, rs 0xffffffffe4750050, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfd5d7d1d9962e71e, rs 0xfd5d7d1d9962e61f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfd5d7d1d9962e61e, rs 0xfd5d7d1d9962e61f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfd5d7d1d9962e642, rs 0xfd5d7d1d9962e61f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe9362788, rs 0xffffffffe9362689, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe9362688, rs 0xffffffffe9362689, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe93626ac, rs 0xffffffffe9362689, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3f46553ecad375de, rs 0x3f46553ecad374df, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3f46553ecad374de, rs 0x3f46553ecad374df, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3f46553ecad37502, rs 0x3f46553ecad374df, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffedf73c3d, rs 0xffffffffedf73b3e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffedf73b3d, rs 0xffffffffedf73b3e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffedf73b61, rs 0xffffffffedf73b3e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2e9ab97d3eedf3a6, rs 0x2e9ab97d3eedf2a7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2e9ab97d3eedf2a6, rs 0x2e9ab97d3eedf2a7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2e9ab97d3eedf2ca, rs 0x2e9ab97d3eedf2a7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff3b06c3a, rs 0xfffffffff3b06b3b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff3b06b3a, rs 0xfffffffff3b06b3b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff3b06b5e, rs 0xfffffffff3b06b3b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x36a6f7fa3c0ca032, rs 0x36a6f7fa3c0c9f33, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x36a6f7fa3c0c9f32, rs 0x36a6f7fa3c0c9f33, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x36a6f7fa3c0c9f56, rs 0x36a6f7fa3c0c9f33, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff771778b, rs 0xfffffffff771768c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff771768b, rs 0xfffffffff771768c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff77176af, rs 0xfffffffff771768c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8bb938e3155ecadb, rs 0x8bb938e3155ec9dc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8bb938e3155ec9db, rs 0x8bb938e3155ec9dc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8bb938e3155ec9ff, rs 0x8bb938e3155ec9dc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffffa325154, rs 0xfffffffffa325055, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffffa325054, rs 0xfffffffffa325055, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffffa325078, rs 0xfffffffffa325055, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd2df25c419478305, rs 0xd2df25c419478206, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd2df25c419478205, rs 0xd2df25c419478206, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd2df25c419478229, rs 0xd2df25c419478206, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffffef34ee1, rs 0xfffffffffef34de2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffffef34de1, rs 0xfffffffffef34de2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffffef34e05, rs 0xfffffffffef34de2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbc65bf27eb321924, rs 0xbc65bf27eb321825, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbc65bf27eb321824, rs 0xbc65bf27eb321825, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbc65bf27eb321848, rs 0xbc65bf27eb321825, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc6bcf15e, rs 0xffffffffc6bcf05f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc6bcf05e, rs 0xffffffffc6bcf05f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc6bcf082, rs 0xffffffffc6bcf05f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa8b08fe67a8bc8d9, rs 0xa8b08fe67a8bc7da, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa8b08fe67a8bc7d9, rs 0xa8b08fe67a8bc7da, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa8b08fe67a8bc7fd, rs 0xa8b08fe67a8bc7da, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc27deee7, rs 0xffffffffc27dede8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc27dede7, rs 0xffffffffc27dede8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc27dee0b, rs 0xffffffffc27dede8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x852b5bcaf8dfcee7, rs 0x852b5bcaf8dfcde8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x852b5bcaf8dfcde7, rs 0x852b5bcaf8dfcde8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x852b5bcaf8dfce0b, rs 0x852b5bcaf8dfcde8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffcf3ecc30, rs 0xffffffffcf3ecb31, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffcf3ecb30, rs 0xffffffffcf3ecb31, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffcf3ecb54, rs 0xffffffffcf3ecb31, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x478909b59a99368, rs 0x478909b59a99269, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x478909b59a99268, rs 0x478909b59a99269, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x478909b59a9928c, rs 0x478909b59a99269, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffcbffd785, rs 0xffffffffcbffd686, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffcbffd685, rs 0xffffffffcbffd686, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffcbffd6a9, rs 0xffffffffcbffd686, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbfb31cc87857370e, rs 0xbfb31cc87857360f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbfb31cc87857360e, rs 0xbfb31cc87857360f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbfb31cc878573632, rs 0xbfb31cc87857360f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd5b88782, rs 0xffffffffd5b88683, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd5b88682, rs 0xffffffffd5b88683, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd5b886a6, rs 0xffffffffd5b88683, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb665ed5e7f89eaa1, rs 0xb665ed5e7f89e9a2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb665ed5e7f89e9a1, rs 0xb665ed5e7f89e9a2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb665ed5e7f89e9c5, rs 0xb665ed5e7f89e9a2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd1799c33, rs 0xffffffffd1799b34, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd1799b33, rs 0xffffffffd1799b34, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd1799b57, rs 0xffffffffd1799b34, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x15da9474b7a8d6e3, rs 0x15da9474b7a8d5e4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x15da9474b7a8d5e3, rs 0x15da9474b7a8d5e4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x15da9474b7a8d607, rs 0x15da9474b7a8d5e4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffdc3abeec, rs 0xffffffffdc3abded, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffdc3abdec, rs 0xffffffffdc3abded, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffdc3abe10, rs 0xffffffffdc3abded, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf6b3537d2af910cb, rs 0xf6b3537d2af90fcc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf6b3537d2af90fcb, rs 0xf6b3537d2af90fcc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf6b3537d2af90fef, rs 0xf6b3537d2af90fcc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd8fba159, rs 0xffffffffd8fba05a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd8fba059, rs 0xffffffffd8fba05a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd8fba07d, rs 0xffffffffd8fba05a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x223d7cfe2b961996, rs 0x223d7cfe2b961897, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x223d7cfe2b961896, rs 0x223d7cfe2b961897, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x223d7cfe2b9618ba, rs 0x223d7cfe2b961897, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x690ce1ed, rs 0x690ce0ee, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x690ce0ed, rs 0x690ce0ee, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x690ce111, rs 0x690ce0ee, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x420b34f533734b4a, rs 0x420b34f533734a4b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x420b34f533734a4a, rs 0x420b34f533734a4b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x420b34f533734a6e, rs 0x420b34f533734a4b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6dcdfe58, rs 0x6dcdfd59, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6dcdfd58, rs 0x6dcdfd59, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6dcdfd7c, rs 0x6dcdfd59, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x897c8c8ddd46b43b, rs 0x897c8c8ddd46b33c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x897c8c8ddd46b33b, rs 0x897c8c8ddd46b33c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x897c8c8ddd46b35f, rs 0x897c8c8ddd46b33c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x608edc7f, rs 0x608edb80, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x608edb7f, rs 0x608edb80, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x608edba3, rs 0x608edb80, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7a387445e392cdd8, rs 0x7a387445e392ccd9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7a387445e392ccd8, rs 0x7a387445e392ccd9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7a387445e392ccfc, rs 0x7a387445e392ccd9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x644fc736, rs 0x644fc637, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x644fc636, rs 0x644fc637, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x644fc65a, rs 0x644fc637, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x512f29b1d80001c8, rs 0x512f29b1d80000c9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x512f29b1d80000c8, rs 0x512f29b1d80000c9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x512f29b1d80000ec, rs 0x512f29b1d80000c9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7a089731, rs 0x7a089632, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7a089631, rs 0x7a089632, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7a089655, rs 0x7a089632, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xeaded5c53dad0309, rs 0xeaded5c53dad020a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xeaded5c53dad0209, rs 0xeaded5c53dad020a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xeaded5c53dad022d, rs 0xeaded5c53dad020a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7ec98c84, rs 0x7ec98b85, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7ec98b84, rs 0x7ec98b85, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7ec98ba8, rs 0x7ec98b85, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8a6229d731eea45a, rs 0x8a6229d731eea35b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8a6229d731eea35a, rs 0x8a6229d731eea35b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8a6229d731eea37e, rs 0x8a6229d731eea35b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x738aae5b, rs 0x738aad5c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x738aad5b, rs 0x738aad5c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x738aad7f, rs 0x738aad5c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2c3c3f9e48985748, rs 0x2c3c3f9e48985649, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2c3c3f9e48985648, rs 0x2c3c3f9e48985649, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2c3c3f9e4898566c, rs 0x2c3c3f9e48985649, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x774bb1ea, rs 0x774bb0eb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x774bb0ea, rs 0x774bb0eb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x774bb10e, rs 0x774bb0eb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7ff61e78dc9c0c76, rs 0x7ff61e78dc9c0b77, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7ff61e78dc9c0b76, rs 0x7ff61e78dc9c0b77, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7ff61e78dc9c0b9a, rs 0x7ff61e78dc9c0b77, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4f040e55, rs 0x4f040d56, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4f040d55, rs 0x4f040d56, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4f040d79, rs 0x4f040d56, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2299b0e01d5e69eb, rs 0x2299b0e01d5e68ec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2299b0e01d5e68eb, rs 0x2299b0e01d5e68ec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2299b0e01d5e690f, rs 0x2299b0e01d5e68ec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4bc511e0, rs 0x4bc510e1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4bc510e0, rs 0x4bc510e1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4bc51104, rs 0x4bc510e1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7c3b04673d0c6f24, rs 0x7c3b04673d0c6e25, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7c3b04673d0c6e24, rs 0x7c3b04673d0c6e25, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7c3b04673d0c6e48, rs 0x7c3b04673d0c6e25, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x46863737, rs 0x46863638, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x46863637, rs 0x46863638, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4686365b, rs 0x46863638, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x164e17c1e7fb6686, rs 0x164e17c1e7fb6587, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x164e17c1e7fb6586, rs 0x164e17c1e7fb6587, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x164e17c1e7fb65aa, rs 0x164e17c1e7fb6587, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x42472c8e, rs 0x42472b8f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x42472b8e, rs 0x42472b8f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x42472bb2, rs 0x42472b8f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfa4ca28b56d4960a, rs 0xfa4ca28b56d4950b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfa4ca28b56d4950a, rs 0xfa4ca28b56d4950b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfa4ca28b56d4952e, rs 0xfa4ca28b56d4950b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5c007c89, rs 0x5c007b8a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5c007b89, rs 0x5c007b8a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5c007bad, rs 0x5c007b8a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe5e9a314be7fa189, rs 0xe5e9a314be7fa08a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe5e9a314be7fa089, rs 0xe5e9a314be7fa08a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe5e9a314be7fa0ad, rs 0xe5e9a314be7fa08a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x58c1673c, rs 0x58c1663d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x58c1663c, rs 0x58c1663d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x58c16660, rs 0x58c1663d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf8be816415964ac4, rs 0xf8be8164159649c5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf8be8164159649c4, rs 0xf8be8164159649c5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf8be8164159649e8, rs 0xf8be8164159649c5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x558241e3, rs 0x558240e4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x558240e3, rs 0x558240e4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x55824107, rs 0x558240e4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7ca3259784e69c16, rs 0x7ca3259784e69b17, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7ca3259784e69b16, rs 0x7ca3259784e69b17, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7ca3259784e69b3a, rs 0x7ca3259784e69b17, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x51435e52, rs 0x51435d53, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x51435d52, rs 0x51435d53, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x51435d76, rs 0x51435d53, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfc8d543ca1f2505b, rs 0xfc8d543ca1f24f5c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfc8d543ca1f24f5b, rs 0xfc8d543ca1f24f5c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfc8d543ca1f24f7f, rs 0xfc8d543ca1f24f5c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x251d3c9d, rs 0x251d3b9e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x251d3b9d, rs 0x251d3b9e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x251d3bc1, rs 0x251d3b9e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4aeb6ca0e3459f35, rs 0x4aeb6ca0e3459e36, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4aeb6ca0e3459e35, rs 0x4aeb6ca0e3459e36, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4aeb6ca0e3459e59, rs 0x4aeb6ca0e3459e36, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x21dc2728, rs 0x21dc2629, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x21dc2628, rs 0x21dc2629, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x21dc264c, rs 0x21dc2629, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc532e18e187981f9, rs 0xc532e18e187980fa, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc532e18e187980f9, rs 0xc532e18e187980fa, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc532e18e1879811d, rs 0xc532e18e187980fa, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2c9f01ef, rs 0x2c9f00f0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2c9f00ef, rs 0x2c9f00f0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2c9f0113, rs 0x2c9f00f0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb3fdec294f287e1b, rs 0xb3fdec294f287d1c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb3fdec294f287d1b, rs 0xb3fdec294f287d1c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb3fdec294f287d3f, rs 0xb3fdec294f287d1c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x285e1e46, rs 0x285e1d47, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x285e1d46, rs 0x285e1d47, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x285e1d6a, rs 0x285e1d47, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb620660a49732c8f, rs 0xb620660a49732b90, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb620660a49732b8f, rs 0xb620660a49732b90, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb620660a49732bb3, rs 0xb620660a49732b90, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x36194e41, rs 0x36194d42, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x36194d41, rs 0x36194d42, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x36194d65, rs 0x36194d42, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x993138f16cfdea90, rs 0x993138f16cfde991, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x993138f16cfde990, rs 0x993138f16cfde991, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x993138f16cfde9b4, rs 0x993138f16cfde991, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x32d851f4, rs 0x32d850f5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x32d850f4, rs 0x32d850f5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x32d85118, rs 0x32d850f5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xde02d1337d5408b8, rs 0xde02d1337d5407b9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xde02d1337d5407b8, rs 0xde02d1337d5407b9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xde02d1337d5407dc, rs 0xde02d1337d5407b9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3f9b772b, rs 0x3f9b762c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3f9b762b, rs 0x3f9b762c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3f9b764f, rs 0x3f9b762c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x13a390e1e1dab259, rs 0x13a390e1e1dab15a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x13a390e1e1dab159, rs 0x13a390e1e1dab15a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x13a390e1e1dab17d, rs 0x13a390e1e1dab15a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3b5a6c9a, rs 0x3b5a6b9b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3b5a6b9a, rs 0x3b5a6b9b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3b5a6bbe, rs 0x3b5a6b9b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x743491a6828717c7, rs 0x743491a6828716c8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x743491a6828716c7, rs 0x743491a6828716c8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x743491a6828716eb, rs 0x743491a6828716c8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x315d725, rs 0x315d626, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x315d625, rs 0x315d626, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x315d649, rs 0x315d626, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8cff404aede293f1, rs 0x8cff404aede292f2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8cff404aede292f1, rs 0x8cff404aede292f2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8cff404aede29315, rs 0x8cff404aede292f2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7d4cc90, rs 0x7d4cb91, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7d4cb90, rs 0x7d4cb91, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7d4cbb4, rs 0x7d4cb91, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb9cec0db1f837735, rs 0xb9cec0db1f837636, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb9cec0db1f837635, rs 0xb9cec0db1f837636, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb9cec0db1f837659, rs 0xb9cec0db1f837636, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa97ee47, rs 0xa97ed48, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa97ed47, rs 0xa97ed48, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa97ed6b, rs 0xa97ed48, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2eaa5aa70509781b, rs 0x2eaa5aa70509771c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2eaa5aa70509771b, rs 0x2eaa5aa70509771c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2eaa5aa70509773f, rs 0x2eaa5aa70509771c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe56f1fe, rs 0xe56f0ff, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe56f0fe, rs 0xe56f0ff, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe56f122, rs 0xe56f0ff, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd327538e1875251a, rs 0xd327538e1875241b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd327538e1875241a, rs 0xd327538e1875241b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd327538e1875243e, rs 0xd327538e1875241b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1011a1f9, rs 0x1011a0fa, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1011a0f9, rs 0x1011a0fa, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1011a11d, rs 0x1011a0fa, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x42e9f8548b739c6a, rs 0x42e9f8548b739b6b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x42e9f8548b739b6a, rs 0x42e9f8548b739b6b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x42e9f8548b739b8e, rs 0x42e9f8548b739b6b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x14d0be4c, rs 0x14d0bd4d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x14d0bd4c, rs 0x14d0bd4d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x14d0bd70, rs 0x14d0bd4d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x78e4e50ceccbbb19, rs 0x78e4e50ceccbba1a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x78e4e50ceccbba19, rs 0x78e4e50ceccbba1a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x78e4e50ceccbba3d, rs 0x78e4e50ceccbba1a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x19939c93, rs 0x19939b94, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x19939b93, rs 0x19939b94, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x19939bb7, rs 0x19939b94, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf6b6fa3fcd9d28ca, rs 0xf6b6fa3fcd9d27cb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf6b6fa3fcd9d27ca, rs 0xf6b6fa3fcd9d27cb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf6b6fa3fcd9d27ee, rs 0xf6b6fa3fcd9d27cb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1d528722, rs 0x1d528623, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1d528622, rs 0x1d528623, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1d528646, rs 0x1d528623, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x73916483ae3e9522, rs 0x73916483ae3e9423, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x73916483ae3e9422, rs 0x73916483ae3e9423, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x73916483ae3e9446, rs 0x73916483ae3e9423, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff12f570d, rs 0xfffffffff12f560e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff12f560d, rs 0xfffffffff12f560e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff12f5631, rs 0xfffffffff12f560e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x276af70a0e128660, rs 0x276af70a0e128561, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x276af70a0e128560, rs 0x276af70a0e128561, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x276af70a0e128584, rs 0x276af70a0e128561, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff5ee4cb8, rs 0xfffffffff5ee4bb9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff5ee4bb8, rs 0xfffffffff5ee4bb9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff5ee4bdc, rs 0xfffffffff5ee4bb9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3045bf6b5e74c6d, rs 0x3045bf6b5e74b6e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3045bf6b5e74b6d, rs 0x3045bf6b5e74b6e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3045bf6b5e74b91, rs 0x3045bf6b5e74b6e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff8ad6e5f, rs 0xfffffffff8ad6d60, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff8ad6d5f, rs 0xfffffffff8ad6d60, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff8ad6d83, rs 0xfffffffff8ad6d60, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x20223f1308acd0a5, rs 0x20223f1308accfa6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x20223f1308accfa5, rs 0x20223f1308accfa6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x20223f1308accfc9, rs 0x20223f1308accfa6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffffc6c71d6, rs 0xfffffffffc6c70d7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffffc6c70d6, rs 0xfffffffffc6c70d7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffffc6c70fa, rs 0xfffffffffc6c70d7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf83c55743976b6f4, rs 0xf83c55743976b5f5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf83c55743976b5f4, rs 0xf83c55743976b5f5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf83c55743976b618, rs 0xf83c55743976b5f5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe22b21d1, rs 0xffffffffe22b20d2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe22b20d1, rs 0xffffffffe22b20d2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe22b20f5, rs 0xffffffffe22b20d2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1f9720f946923d3c, rs 0x1f9720f946923c3d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1f9720f946923c3c, rs 0x1f9720f946923c3d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1f9720f946923c60, rs 0x1f9720f946923c3d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe6ea3e64, rs 0xffffffffe6ea3d65, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe6ea3d64, rs 0xffffffffe6ea3d65, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe6ea3d88, rs 0xffffffffe6ea3d65, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x620d28506d2449dc, rs 0x620d28506d2448dd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x620d28506d2448dc, rs 0x620d28506d2448dd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x620d28506d244900, rs 0x620d28506d2448dd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffeba91cbb, rs 0xffffffffeba91bbc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffeba91bbb, rs 0xffffffffeba91bbc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffeba91bdf, rs 0xffffffffeba91bbc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x60a521e99ff4a831, rs 0x60a521e99ff4a732, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x60a521e99ff4a731, rs 0x60a521e99ff4a732, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x60a521e99ff4a755, rs 0x60a521e99ff4a732, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffef68070a, rs 0xffffffffef68060b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffef68060a, rs 0xffffffffef68060b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffef68062e, rs 0xffffffffef68060b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5a08f3ab5c68100a, rs 0x5a08f3ab5c680f0b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5a08f3ab5c680f0a, rs 0x5a08f3ab5c680f0b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5a08f3ab5c680f2e, rs 0x5a08f3ab5c680f0b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd727bcb5, rs 0xffffffffd727bbb6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd727bbb5, rs 0xffffffffd727bbb6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd727bbd9, rs 0xffffffffd727bbb6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc7a59be7800f3e25, rs 0xc7a59be7800f3d26, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc7a59be7800f3d25, rs 0xc7a59be7800f3d26, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc7a59be7800f3d49, rs 0xc7a59be7800f3d26, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd3e6a700, rs 0xffffffffd3e6a601, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd3e6a600, rs 0xffffffffd3e6a601, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd3e6a624, rs 0xffffffffd3e6a601, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1aecdf2982ca1c40, rs 0x1aecdf2982ca1b41, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1aecdf2982ca1b40, rs 0x1aecdf2982ca1b41, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1aecdf2982ca1b64, rs 0x1aecdf2982ca1b41, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffdea581d7, rs 0xffffffffdea580d8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffdea580d7, rs 0xffffffffdea580d8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffdea580fb, rs 0xffffffffdea580d8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2b8613a260d19ecc, rs 0x2b8613a260d19dcd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2b8613a260d19dcc, rs 0x2b8613a260d19dcd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2b8613a260d19df0, rs 0x2b8613a260d19dcd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffda649e6e, rs 0xffffffffda649d6f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffda649d6e, rs 0xffffffffda649d6f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffda649d92, rs 0xffffffffda649d6f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2518ac8b0e8bbf7e, rs 0x2518ac8b0e8bbe7f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2518ac8b0e8bbe7e, rs 0x2518ac8b0e8bbe7f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2518ac8b0e8bbea2, rs 0x2518ac8b0e8bbe7f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc423ce69, rs 0xffffffffc423cd6a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc423cd69, rs 0xffffffffc423cd6a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc423cd8d, rs 0xffffffffc423cd6a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x743e568d2fcf496a, rs 0x743e568d2fcf486b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x743e568d2fcf486a, rs 0x743e568d2fcf486b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x743e568d2fcf488e, rs 0x743e568d2fcf486b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x126f646f34c31827, rs 0x126f646f34c31728, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x126f646f34c31727, rs 0x126f646f34c31728, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x126f646f34c3174b, rs 0x126f646f34c31728, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffcda1f703, rs 0xffffffffcda1f604, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffcda1f603, rs 0xffffffffcda1f604, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffcda1f627, rs 0xffffffffcda1f604, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xaab0196156fc4e11, rs 0xaab0196156fc4d12, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xaab0196156fc4d11, rs 0xaab0196156fc4d12, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xaab0196156fc4d35, rs 0xaab0196156fc4d12, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7535cd338595d441, rs 0x7535cd338595d342, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7535cd338595d341, rs 0x7535cd338595d342, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7535cd338595d365, rs 0x7535cd338595d342, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbd3e8e7d, rs 0xffffffffbd3e8d7e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbd3e8d7d, rs 0xffffffffbd3e8d7e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbd3e8da1, rs 0xffffffffbd3e8d7e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xdfb254da422347eb, rs 0xdfb254da422346ec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xdfb254da422346eb, rs 0xdfb254da422346ec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xdfb254da4223470f, rs 0xdfb254da422346ec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb9ff91c8, rs 0xffffffffb9ff90c9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb9ff90c8, rs 0xffffffffb9ff90c9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb9ff90ec, rs 0xffffffffb9ff90c9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa86726c90081ac29, rs 0xa86726c90081ab2a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa86726c90081ab29, rs 0xa86726c90081ab2a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa86726c90081ab4d, rs 0xa86726c90081ab2a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb4bcb70f, rs 0xffffffffb4bcb610, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb4bcb60f, rs 0xffffffffb4bcb610, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb4bcb633, rs 0xffffffffb4bcb610, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9bfeffa1679d7537, rs 0x9bfeffa1679d7438, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9bfeffa1679d7437, rs 0x9bfeffa1679d7438, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9bfeffa1679d745b, rs 0x9bfeffa1679d7438, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb07daca6, rs 0xffffffffb07daba7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb07daba6, rs 0xffffffffb07daba7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb07dabca, rs 0xffffffffb07daba7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc7699826b7dee343, rs 0xc7699826b7dee244, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc7699826b7dee243, rs 0xc7699826b7dee244, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc7699826b7dee267, rs 0xc7699826b7dee244, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffae3afca1, rs 0xffffffffae3afba2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffae3afba1, rs 0xffffffffae3afba2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffae3afbc5, rs 0xffffffffae3afba2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3c07af97fba67149, rs 0x3c07af97fba6704a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3c07af97fba67049, rs 0x3c07af97fba6704a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3c07af97fba6706d, rs 0x3c07af97fba6704a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffaafbe714, rs 0xffffffffaafbe615, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffaafbe614, rs 0xffffffffaafbe615, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffaafbe638, rs 0xffffffffaafbe615, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x521364dc04c58cfd, rs 0x521364dc04c58bfe, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x521364dc04c58bfd, rs 0x521364dc04c58bfe, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x521364dc04c58c21, rs 0x521364dc04c58bfe, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa7b8c1cb, rs 0xffffffffa7b8c0cc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa7b8c0cb, rs 0xffffffffa7b8c0cc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa7b8c0ef, rs 0xffffffffa7b8c0cc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe0f7bb589ab7afbb, rs 0xe0f7bb589ab7aebc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe0f7bb589ab7aebb, rs 0xe0f7bb589ab7aebc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe0f7bb589ab7aedf, rs 0xe0f7bb589ab7aebc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa379de7a, rs 0xffffffffa379dd7b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa379dd7a, rs 0xffffffffa379dd7b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa379dd9e, rs 0xffffffffa379dd7b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe336c60cdeeb964c, rs 0xe336c60cdeeb954d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe336c60cdeeb954c, rs 0xe336c60cdeeb954d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe336c60cdeeb9570, rs 0xe336c60cdeeb954d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9b3661c5, rs 0xffffffff9b3660c6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9b3660c5, rs 0xffffffff9b3660c6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9b3660e9, rs 0xffffffff9b3660c6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd5b2120c6f52426d, rs 0xd5b2120c6f52416e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd5b2120c6f52416d, rs 0xd5b2120c6f52416e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd5b2120c6f524191, rs 0xd5b2120c6f52416e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9ff77e70, rs 0xffffffff9ff77d71, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9ff77d70, rs 0xffffffff9ff77d71, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9ff77d94, rs 0xffffffff9ff77d71, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x85a2d4ff7e628b33, rs 0x85a2d4ff7e628a34, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x85a2d4ff7e628a33, rs 0x85a2d4ff7e628a34, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x85a2d4ff7e628a57, rs 0x85a2d4ff7e628a34, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff92b45ca7, rs 0xffffffff92b45ba8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff92b45ba7, rs 0xffffffff92b45ba8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff92b45bcb, rs 0xffffffff92b45ba8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x986a2b654a4e7f06, rs 0x986a2b654a4e7e07, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x986a2b654a4e7e06, rs 0x986a2b654a4e7e07, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x986a2b654a4e7e2a, rs 0x986a2b654a4e7e07, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9675471e, rs 0xffffffff9675461f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9675461e, rs 0xffffffff9675461f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff96754642, rs 0xffffffff9675461f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa974eac43a489c54, rs 0xa974eac43a489b55, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa974eac43a489b54, rs 0xa974eac43a489b55, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa974eac43a489b78, rs 0xa974eac43a489b55, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff88321719, rs 0xffffffff8832161a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff88321619, rs 0xffffffff8832161a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8832163d, rs 0xffffffff8832161a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa388c16272f1f9f4, rs 0xa388c16272f1f8f5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa388c16272f1f8f4, rs 0xa388c16272f1f8f5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa388c16272f1f918, rs 0xa388c16272f1f8f5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8cf30cac, rs 0xffffffff8cf30bad, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8cf30bac, rs 0xffffffff8cf30bad, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8cf30bd0, rs 0xffffffff8cf30bad, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe8c11f45e7495fa8, rs 0xe8c11f45e7495ea9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe8c11f45e7495ea8, rs 0xe8c11f45e7495ea9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe8c11f45e7495ecc, rs 0xe8c11f45e7495ea9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff81b02e73, rs 0xffffffff81b02d74, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff81b02d73, rs 0xffffffff81b02d74, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff81b02d97, rs 0xffffffff81b02d74, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xadaa5a765cc1c9b3, rs 0xadaa5a765cc1c8b4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xadaa5a765cc1c8b3, rs 0xadaa5a765cc1c8b4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xadaa5a765cc1c8d7, rs 0xadaa5a765cc1c8b4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff857131c2, rs 0xffffffff857130c3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff857130c2, rs 0xffffffff857130c3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff857130e6, rs 0xffffffff857130c3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7ab4ce88dfa606bf, rs 0x7ab4ce88dfa605c0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7ab4ce88dfa605bf, rs 0x7ab4ce88dfa605c0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7ab4ce88dfa605e3, rs 0x7ab4ce88dfa605c0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5d8a9198, rs 0x5d8a9099, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5d8a9098, rs 0x5d8a9099, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5d8a90bc, rs 0x5d8a9099, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb42ad6e659a7b14e, rs 0xb42ad6e659a7b04f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb42ad6e659a7b04e, rs 0xb42ad6e659a7b04f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb42ad6e659a7b072, rs 0xb42ad6e659a7b04f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x594b8e2d, rs 0x594b8d2e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x594b8d2d, rs 0x594b8d2e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x594b8d51, rs 0x594b8d2e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4bf8485ab728932e, rs 0x4bf8485ab728922f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4bf8485ab728922e, rs 0x4bf8485ab728922f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4bf8485ab7289252, rs 0x4bf8485ab728922f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5408acf6, rs 0x5408abf7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5408abf6, rs 0x5408abf7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5408ac1a, rs 0x5408abf7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x76a3d60c3b66a8fa, rs 0x76a3d60c3b66a7fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x76a3d60c3b66a7fa, rs 0x76a3d60c3b66a7fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x76a3d60c3b66a81e, rs 0x76a3d60c3b66a7fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x50c9b73f, rs 0x50c9b640, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x50c9b63f, rs 0x50c9b640, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x50c9b663, rs 0x50c9b640, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x31e0c6affdc28fd9, rs 0x31e0c6affdc28eda, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x31e0c6affdc28ed9, rs 0x31e0c6affdc28eda, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x31e0c6affdc28efd, rs 0x31e0c6affdc28eda, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4e8ee744, rs 0x4e8ee645, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4e8ee644, rs 0x4e8ee645, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4e8ee668, rs 0x4e8ee645, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x53606bb4bf0c9a9c, rs 0x53606bb4bf0c999d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x53606bb4bf0c999c, rs 0x53606bb4bf0c999d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x53606bb4bf0c99c0, rs 0x53606bb4bf0c999d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4a4ffcf1, rs 0x4a4ffbf2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4a4ffbf1, rs 0x4a4ffbf2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4a4ffc15, rs 0x4a4ffbf2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x32fc12c81b791aef, rs 0x32fc12c81b7919f0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x32fc12c81b7919ef, rs 0x32fc12c81b7919f0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x32fc12c81b791a13, rs 0x32fc12c81b7919f0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x470cde2a, rs 0x470cdd2b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x470cdd2a, rs 0x470cdd2b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x470cdd4e, rs 0x470cdd2b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3ef88384c72efdd5, rs 0x3ef88384c72efcd6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3ef88384c72efcd5, rs 0x3ef88384c72efcd6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3ef88384c72efcf9, rs 0x3ef88384c72efcd6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x43cdc19b, rs 0x43cdc09c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x43cdc09b, rs 0x43cdc09c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x43cdc0bf, rs 0x43cdc09c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x38b1c7bb6a2a367f, rs 0x38b1c7bb6a2a3580, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x38b1c7bb6a2a357f, rs 0x38b1c7bb6a2a3580, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x38b1c7bb6a2a35a3, rs 0x38b1c7bb6a2a3580, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7b827e20, rs 0x7b827d21, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7b827d20, rs 0x7b827d21, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7b827d44, rs 0x7b827d21, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x15ebf6121dca78c8, rs 0x15ebf6121dca77c9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x15ebf6121dca77c8, rs 0x15ebf6121dca77c9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x15ebf6121dca77ec, rs 0x15ebf6121dca77c9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7f436195, rs 0x7f436096, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7f436095, rs 0x7f436096, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7f4360b9, rs 0x7f436096, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5eaacdd9fd9148ad, rs 0x5eaacdd9fd9147ae, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5eaacdd9fd9147ad, rs 0x5eaacdd9fd9147ae, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5eaacdd9fd9147d1, rs 0x5eaacdd9fd9147ae, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7200474e, rs 0x7200464f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7200464e, rs 0x7200464f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x72004672, rs 0x7200464f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbb8470f981e91216, rs 0xbb8470f981e91117, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbb8470f981e91116, rs 0xbb8470f981e91117, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbb8470f981e9113a, rs 0xbb8470f981e91117, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x76c15cf7, rs 0x76c15bf8, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x76c15bf7, rs 0x76c15bf8, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x76c15c1b, rs 0x76c15bf8, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x5d42aeac6a533df, rs 0x5d42aeac6a532e0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x5d42aeac6a532df, rs 0x5d42aeac6a532e0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x5d42aeac6a53303, rs 0x5d42aeac6a532e0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x68860cfc, rs 0x68860bfd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x68860bfc, rs 0x68860bfd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x68860c20, rs 0x68860bfd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x14abf36419fb9f62, rs 0x14abf36419fb9e63, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x14abf36419fb9e62, rs 0x14abf36419fb9e63, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x14abf36419fb9e86, rs 0x14abf36419fb9e63, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6c471749, rs 0x6c47164a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6c471649, rs 0x6c47164a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6c47166d, rs 0x6c47164a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x249d559aa8d72bab, rs 0x249d559aa8d72aac, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x249d559aa8d72aab, rs 0x249d559aa8d72aac, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x249d559aa8d72acf, rs 0x249d559aa8d72aac, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x61043192, rs 0x61043093, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x61043092, rs 0x61043093, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x610430b6, rs 0x61043093, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xcd6764f084b31eb, rs 0xcd6764f084b30ec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xcd6764f084b30eb, rs 0xcd6764f084b30ec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xcd6764f084b310f, rs 0xcd6764f084b30ec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x65c52e23, rs 0x65c52d24, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x65c52d23, rs 0x65c52d24, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x65c52d47, rs 0x65c52d24, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7f03ac07924690de, rs 0x7f03ac0792468fdf, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7f03ac0792468fde, rs 0x7f03ac0792468fdf, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7f03ac0792469002, rs 0x7f03ac0792468fdf, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x119b4ce8, rs 0x119b4be9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x119b4be8, rs 0x119b4be9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x119b4c0c, rs 0x119b4be9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7e35ce6d56e671f4, rs 0x7e35ce6d56e670f5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7e35ce6d56e670f4, rs 0x7e35ce6d56e670f5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7e35ce6d56e67118, rs 0x7e35ce6d56e670f5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x155a575d, rs 0x155a565e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x155a565d, rs 0x155a565e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x155a5681, rs 0x155a565e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x152828591a652810, rs 0x152828591a652711, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x152828591a652710, rs 0x152828591a652711, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x152828591a652734, rs 0x152828591a652711, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x18197186, rs 0x18197087, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x18197086, rs 0x18197087, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x181970aa, rs 0x18197087, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9e1c3283d215aafa, rs 0x9e1c3283d215a9fb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9e1c3283d215a9fa, rs 0x9e1c3283d215a9fb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9e1c3283d215aa1e, rs 0x9e1c3283d215a9fb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1cd86e2f, rs 0x1cd86d30, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1cd86d2f, rs 0x1cd86d30, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1cd86d53, rs 0x1cd86d30, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8d95c049282a0516, rs 0x8d95c049282a0417, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8d95c049282a0416, rs 0x8d95c049282a0417, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8d95c049282a043a, rs 0x8d95c049282a0417, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x29f3e34, rs 0x29f3d35, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x29f3d34, rs 0x29f3d35, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x29f3d58, rs 0x29f3d35, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf2e7a490978059f2, rs 0xf2e7a490978058f3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf2e7a490978058f2, rs 0xf2e7a490978058f3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf2e7a49097805916, rs 0xf2e7a490978058f3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x65e2181, rs 0x65e2082, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x65e2081, rs 0x65e2082, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x65e20a5, rs 0x65e2082, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x775b4cca0975b2a9, rs 0x775b4cca0975b1aa, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x775b4cca0975b1a9, rs 0x775b4cca0975b1aa, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x775b4cca0975b1cd, rs 0x775b4cca0975b1aa, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb1d075a, rs 0xb1d065b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb1d065a, rs 0xb1d065b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb1d067e, rs 0xb1d065b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa2b84a63511111f, rs 0xa2b84a635111020, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa2b84a63511101f, rs 0xa2b84a635111020, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa2b84a635111043, rs 0xa2b84a635111020, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfdc1ceb, rs 0xfdc1bec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfdc1beb, rs 0xfdc1bec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfdc1c0f, rs 0xfdc1bec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x23fa0d3a7d88c6e, rs 0x23fa0d3a7d88b6f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x23fa0d3a7d88b6e, rs 0x23fa0d3a7d88b6f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x23fa0d3a7d88b92, rs 0x23fa0d3a7d88b6f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3793a750, rs 0x3793a651, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3793a650, rs 0x3793a651, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3793a674, rs 0x3793a651, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa3d991b79941dfdc, rs 0xa3d991b79941dedd, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa3d991b79941dedc, rs 0xa3d991b79941dedd, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa3d991b79941df00, rs 0xa3d991b79941dedd, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3352bce5, rs 0x3352bbe6, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3352bbe5, rs 0x3352bbe6, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3352bc09, rs 0x3352bbe6, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x751cb4835a0d9607, rs 0x751cb4835a0d9508, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x751cb4835a0d9507, rs 0x751cb4835a0d9508, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x751cb4835a0d952b, rs 0x751cb4835a0d9508, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3e119e3e, rs 0x3e119d3f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3e119d3e, rs 0x3e119d3f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3e119d62, rs 0x3e119d3f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x949cad35625bb3d2, rs 0x949cad35625bb2d3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x949cad35625bb2d2, rs 0x949cad35625bb2d3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x949cad35625bb2f6, rs 0x949cad35625bb2d3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3ad08187, rs 0x3ad08088, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3ad08087, rs 0x3ad08088, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3ad080ab, rs 0x3ad08088, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7f567f35a6929838, rs 0x7f567f35a6929739, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7f567f35a6929738, rs 0x7f567f35a6929739, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7f567f35a692975c, rs 0x7f567f35a6929739, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2497d18c, rs 0x2497d08d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2497d08c, rs 0x2497d08d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2497d0b0, rs 0x2497d08d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x185b88e0db8d7e26, rs 0x185b88e0db8d7d27, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x185b88e0db8d7d26, rs 0x185b88e0db8d7d27, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x185b88e0db8d7d4a, rs 0x185b88e0db8d7d27, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2056ce39, rs 0x2056cd3a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2056cd39, rs 0x2056cd3a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2056cd5d, rs 0x2056cd3a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x255a4cd22fd61c90, rs 0x255a4cd22fd61b91, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x255a4cd22fd61b90, rs 0x255a4cd22fd61b91, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x255a4cd22fd61bb4, rs 0x255a4cd22fd61b91, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2d15ece2, rs 0x2d15ebe3, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2d15ebe2, rs 0x2d15ebe3, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2d15ec06, rs 0x2d15ebe3, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1048d589a436407a, rs 0x1048d589a4363f7b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1048d589a4363f7a, rs 0x1048d589a4363f7b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1048d589a4363f9e, rs 0x1048d589a4363f7b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x29d4f753, rs 0x29d4f654, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x29d4f653, rs 0x29d4f654, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x29d4f677, rs 0x29d4f654, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x6a6d5708f460588f, rs 0x6a6d5708f4605790, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x6a6d5708f460578f, rs 0x6a6d5708f4605790, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x6a6d5708f46057b3, rs 0x6a6d5708f4605790, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc5a92778, rs 0xffffffffc5a92679, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc5a92678, rs 0xffffffffc5a92679, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc5a9269c, rs 0xffffffffc5a92679, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd58ecbabde356a7e, rs 0xd58ecbabde35697f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd58ecbabde35697e, rs 0xd58ecbabde35697f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd58ecbabde3569a2, rs 0xd58ecbabde35697f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc1683ccd, rs 0xffffffffc1683bce, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc1683bcd, rs 0xffffffffc1683bce, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc1683bf1, rs 0xffffffffc1683bce, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x575548fd08c0a6f0, rs 0x575548fd08c0a5f1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x575548fd08c0a5f0, rs 0x575548fd08c0a5f1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x575548fd08c0a614, rs 0x575548fd08c0a5f1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffcc2b1e16, rs 0xffffffffcc2b1d17, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffcc2b1d16, rs 0xffffffffcc2b1d17, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffcc2b1d3a, rs 0xffffffffcc2b1d17, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x8bb640fb8ed98eda, rs 0x8bb640fb8ed98ddb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x8bb640fb8ed98dda, rs 0x8bb640fb8ed98ddb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x8bb640fb8ed98dfe, rs 0x8bb640fb8ed98ddb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffc8ea019f, rs 0xffffffffc8ea00a0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffc8ea009f, rs 0xffffffffc8ea00a0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffc8ea00c3, rs 0xffffffffc8ea00a0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xbe00d51eabc579cb, rs 0xbe00d51eabc578cc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xbe00d51eabc578cb, rs 0xbe00d51eabc578cc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xbe00d51eabc578ef, rs 0xbe00d51eabc578cc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd6ad51a4, rs 0xffffffffd6ad50a5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd6ad50a4, rs 0xffffffffd6ad50a5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd6ad50c8, rs 0xffffffffd6ad50a5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x2f7e224a1c170bb1, rs 0x2f7e224a1c170ab2, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x2f7e224a1c170ab1, rs 0x2f7e224a1c170ab2, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x2f7e224a1c170ad5, rs 0x2f7e224a1c170ab2, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffd26c4e11, rs 0xffffffffd26c4d12, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffd26c4d11, rs 0xffffffffd26c4d12, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffd26c4d35, rs 0xffffffffd26c4d12, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa978f12ca22257a6, rs 0xa978f12ca22256a7, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa978f12ca22256a6, rs 0xa978f12ca22256a7, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa978f12ca22256ca, rs 0xa978f12ca22256a7, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffdf2f6cca, rs 0xffffffffdf2f6bcb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffdf2f6bca, rs 0xffffffffdf2f6bcb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffdf2f6bee, rs 0xffffffffdf2f6bcb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9950a93b811ee12e, rs 0x9950a93b811ee02f, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9950a93b811ee02e, rs 0x9950a93b811ee02f, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9950a93b811ee052, rs 0x9950a93b811ee02f, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffdbee777b, rs 0xffffffffdbee767c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffdbee767b, rs 0xffffffffdbee767c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffdbee769f, rs 0xffffffffdbee767c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xb44eea93c6796b0b, rs 0xb44eea93c6796a0c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xb44eea93c6796a0b, rs 0xb44eea93c6796a0c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xb44eea93c6796a2f, rs 0xb44eea93c6796a0c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe3a1ccc0, rs 0xffffffffe3a1cbc1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe3a1cbc0, rs 0xffffffffe3a1cbc1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe3a1cbe4, rs 0xffffffffe3a1cbc1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfe71fca06c0eb756, rs 0xfe71fca06c0eb657, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfe71fca06c0eb656, rs 0xfe71fca06c0eb657, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfe71fca06c0eb67a, rs 0xfe71fca06c0eb657, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffe760d775, rs 0xffffffffe760d676, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffe760d675, rs 0xffffffffe760d676, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffe760d699, rs 0xffffffffe760d676, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x4ed6393df818b056, rs 0x4ed6393df818af57, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x4ed6393df818af56, rs 0x4ed6393df818af57, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x4ed6393df818af7a, rs 0x4ed6393df818af57, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffea23f1ae, rs 0xffffffffea23f0af, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffea23f0ae, rs 0xffffffffea23f0af, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffea23f0d2, rs 0xffffffffea23f0af, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xf22e902002367809, rs 0xf22e90200236770a, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xf22e902002367709, rs 0xf22e90200236770a, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xf22e90200236772d, rs 0xf22e90200236770a, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffeee2ee17, rs 0xffffffffeee2ed18, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffeee2ed17, rs 0xffffffffeee2ed18, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffeee2ed3b, rs 0xffffffffeee2ed18, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x81efb6c7afd0c55c, rs 0x81efb6c7afd0c45d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x81efb6c7afd0c45c, rs 0x81efb6c7afd0c45d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x81efb6c7afd0c480, rs 0x81efb6c7afd0c45d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff0a5be1c, rs 0xfffffffff0a5bd1d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff0a5bd1c, rs 0xfffffffff0a5bd1d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff0a5bd40, rs 0xfffffffff0a5bd1d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xeed8f3518102325a, rs 0xeed8f3518102315b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xeed8f3518102315a, rs 0xeed8f3518102315b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xeed8f3518102317e, rs 0xeed8f3518102315b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff464a1a9, rs 0xfffffffff464a0aa, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff464a0a9, rs 0xfffffffff464a0aa, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff464a0cd, rs 0xfffffffff464a0aa, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xadafefb9995efe5d, rs 0xadafefb9995efd5e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xadafefb9995efd5d, rs 0xadafefb9995efd5e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xadafefb9995efd81, rs 0xadafefb9995efd5e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffff9278772, rs 0xfffffffff9278673, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffff9278672, rs 0xfffffffff9278673, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffff9278696, rs 0xfffffffff9278673, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x34061933eb253185, rs 0x34061933eb253086, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x34061933eb253085, rs 0x34061933eb253086, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x34061933eb2530a9, rs 0x34061933eb253086, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xfffffffffde69cc3, rs 0xfffffffffde69bc4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xfffffffffde69bc3, rs 0xfffffffffde69bc4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xfffffffffde69be7, rs 0xfffffffffde69bc4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x1748da264b4c53bb, rs 0x1748da264b4c52bc, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x1748da264b4c52bb, rs 0x1748da264b4c52bc, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x1748da264b4c52df, rs 0x1748da264b4c52bc, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff89b8fe08, rs 0xffffffff89b8fd09, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff89b8fd08, rs 0xffffffff89b8fd09, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff89b8fd2c, rs 0xffffffff89b8fd09, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x34fdfc9a9302bf88, rs 0x34fdfc9a9302be89, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x34fdfc9a9302be88, rs 0x34fdfc9a9302be89, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x34fdfc9a9302beac, rs 0x34fdfc9a9302be89, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff8d79e1bd, rs 0xffffffff8d79e0be, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff8d79e0bd, rs 0xffffffff8d79e0be, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff8d79e0e1, rs 0xffffffff8d79e0be, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xd00278c3c521d27f, rs 0xd00278c3c521d180, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xd00278c3c521d17f, rs 0xd00278c3c521d180, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xd00278c3c521d1a3, rs 0xd00278c3c521d180, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff803ac766, rs 0xffffffff803ac667, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff803ac666, rs 0xffffffff803ac667, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff803ac68a, rs 0xffffffff803ac667, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xe90944a4c1d37b5c, rs 0xe90944a4c1d37a5d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xe90944a4c1d37a5c, rs 0xe90944a4c1d37a5d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xe90944a4c1d37a80, rs 0xe90944a4c1d37a5d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff84fbdccf, rs 0xffffffff84fbdbd0, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff84fbdbcf, rs 0xffffffff84fbdbd0, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff84fbdbf3, rs 0xffffffff84fbdbd0, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x65fd698fddef9938, rs 0x65fd698fddef9839, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x65fd698fddef9838, rs 0x65fd698fddef9839, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x65fd698fddef985c, rs 0x65fd698fddef9839, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9abc8cd4, rs 0xffffffff9abc8bd5, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9abc8bd4, rs 0xffffffff9abc8bd5, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9abc8bf8, rs 0xffffffff9abc8bd5, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xc49ee3ad81b5b051, rs 0xc49ee3ad81b5af52, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xc49ee3ad81b5af51, rs 0xc49ee3ad81b5af52, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xc49ee3ad81b5af75, rs 0xc49ee3ad81b5af52, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff9e7d9761, rs 0xffffffff9e7d9662, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff9e7d9661, rs 0xffffffff9e7d9662, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff9e7d9685, rs 0xffffffff9e7d9662, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x7aa941e8bdb264e8, rs 0x7aa941e8bdb263e9, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x7aa941e8bdb263e8, rs 0x7aa941e8bdb263e9, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x7aa941e8bdb2640c, rs 0x7aa941e8bdb263e9, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff933eb1ba, rs 0xffffffff933eb0bb, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff933eb0ba, rs 0xffffffff933eb0bb, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff933eb0de, rs 0xffffffff933eb0bb, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x372c209e42f3b68c, rs 0x372c209e42f3b58d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x372c209e42f3b58c, rs 0x372c209e42f3b58d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x372c209e42f3b5b0, rs 0x372c209e42f3b58d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffff97ffae0b, rs 0xffffffff97ffad0c, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffff97ffad0b, rs 0xffffffff97ffad0c, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffff97ffad2f, rs 0xffffffff97ffad0c, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x30f870b7e122a93a, rs 0x30f870b7e122a83b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x30f870b7e122a83a, rs 0x30f870b7e122a83b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x30f870b7e122a85e, rs 0x30f870b7e122a83b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffafb011b0, rs 0xffffffffafb010b1, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffafb010b0, rs 0xffffffffafb010b1, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffafb010d4, rs 0xffffffffafb010b1, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x9e02de4b678931eb, rs 0x9e02de4b678930ec, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x9e02de4b678930eb, rs 0x9e02de4b678930ec, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x9e02de4b6789310f, rs 0x9e02de4b678930ec, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffab710e05, rs 0xffffffffab710d06, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffab710d05, rs 0xffffffffab710d06, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffab710d29, rs 0xffffffffab710d06, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xcd61a8639826641d, rs 0xcd61a8639826631e, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xcd61a8639826631d, rs 0xcd61a8639826631e, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xcd61a86398266341, rs 0xcd61a8639826631e, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa6322cde, rs 0xffffffffa6322bdf, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa6322bde, rs 0xffffffffa6322bdf, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa6322c02, rs 0xffffffffa6322bdf, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xae87bc899a7bd4c9, rs 0xae87bc899a7bd3ca, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xae87bc899a7bd3c9, rs 0xae87bc899a7bd3ca, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xae87bc899a7bd3ed, rs 0xae87bc899a7bd3ca, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffa2f33767, rs 0xffffffffa2f33668, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffa2f33667, rs 0xffffffffa2f33668, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffa2f3368b, rs 0xffffffffa2f33668, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x58ec644d6481b016, rs 0x58ec644d6481af17, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x58ec644d6481af16, rs 0x58ec644d6481af17, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x58ec644d6481af3a, rs 0x58ec644d6481af17, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffbcb4676c, rs 0xffffffffbcb4666d, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffbcb4666c, rs 0xffffffffbcb4666d, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffbcb46690, rs 0xffffffffbcb4666d, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x680cce5fb236b765, rs 0x680cce5fb236b666, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x680cce5fb236b665, rs 0x680cce5fb236b666, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x680cce5fb236b689, rs 0x680cce5fb236b666, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb8757cd9, rs 0xffffffffb8757bda, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb8757bd9, rs 0xffffffffb8757bda, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb8757bfd, rs 0xffffffffb8757bda, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x3baa99471f6d4e74, rs 0x3baa99471f6d4d75, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x3baa99471f6d4d74, rs 0x3baa99471f6d4d75, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x3baa99471f6d4d98, rs 0x3baa99471f6d4d75, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb5365e02, rs 0xffffffffb5365d03, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb5365d02, rs 0xffffffffb5365d03, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb5365d26, rs 0xffffffffb5365d03, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0x614d9b445f12246a, rs 0x614d9b445f12236b, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0x614d9b445f12236a, rs 0x614d9b445f12236b, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0x614d9b445f12238e, rs 0x614d9b445f12236b, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xffffffffb1f741b3, rs 0xffffffffb1f740b4, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xffffffffb1f740b3, rs 0xffffffffb1f740b4, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xffffffffb1f740d7, rs 0xffffffffb1f740b4, imm 0x0023
+daddi $t0, $t1, 0xff :: rt 0xa2a6ec661ba84220, rs 0xa2a6ec661ba84121, imm 0x00ff
+daddi $t2, $t3, 0xffff :: rt 0xa2a6ec661ba84120, rs 0xa2a6ec661ba84121, imm 0xffff
+daddi $a0, $a1, 0x0 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+daddi $s0, $s1, 0x23 :: rt 0xa2a6ec661ba84144, rs 0xa2a6ec661ba84121, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x12bd7a9, rs 0x12bd6aa, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x12bd6a9, rs 0x12bd6aa, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x12bd6cd, rs 0x12bd6aa, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7e876382d2ac12, rs 0x7e876382d2ab13, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7e876382d2ab12, rs 0x7e876382d2ab13, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7e876382d2ab36, rs 0x7e876382d2ab13, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9823c6d, rs 0x9823b6e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9823b6d, rs 0x9823b6e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9823b91, rs 0x9823b6e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x976d6e9ac31511f2, rs 0x976d6e9ac31510f3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x976d6e9ac31510f2, rs 0x976d6e9ac31510f3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x976d6e9ac3151116, rs 0x976d6e9ac31510f3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd4327d8, rs 0xd4326d9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd4326d8, rs 0xd4326d9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd4326fc, rs 0xd4326d9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb7746d775ad6a6fa, rs 0xb7746d775ad6a5fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb7746d775ad6a5fa, rs 0xb7746d775ad6a5fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb7746d775ad6a61e, rs 0xb7746d775ad6a5fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x130477db, rs 0x130476dc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x130476db, rs 0x130476dc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x130476ff, rs 0x130476dc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x42b0c0a28677b601, rs 0x42b0c0a28677b502, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x42b0c0a28677b501, rs 0x42b0c0a28677b502, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x42b0c0a28677b525, rs 0x42b0c0a28677b502, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x17c56c6a, rs 0x17c56b6b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x17c56b6a, rs 0x17c56b6b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x17c56b8e, rs 0x17c56b6b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2aa89d319e3c31ac, rs 0x2aa89d319e3c30ad, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2aa89d319e3c30ac, rs 0x2aa89d319e3c30ad, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2aa89d319e3c30d0, rs 0x2aa89d319e3c30ad, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1a864eb1, rs 0x1a864db2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1a864db1, rs 0x1a864db2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1a864dd5, rs 0x1a864db2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1f308ec377fb423c, rs 0x1f308ec377fb413d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1f308ec377fb413c, rs 0x1f308ec377fb413d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1f308ec377fb4160, rs 0x1f308ec377fb413d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1e475104, rs 0x1e475005, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1e475004, rs 0x1e475005, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1e475028, rs 0x1e475005, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7aa04213c760e5f6, rs 0x7aa04213c760e4f7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7aa04213c760e4f6, rs 0x7aa04213c760e4f7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7aa04213c760e51a, rs 0x7aa04213c760e4f7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2608eeb7, rs 0x2608edb8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2608edb7, rs 0x2608edb8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2608eddb, rs 0x2608edb8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9e705cc51ad8dd9f, rs 0x9e705cc51ad8dca0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9e705cc51ad8dc9f, rs 0x9e705cc51ad8dca0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9e705cc51ad8dcc3, rs 0x9e705cc51ad8dca0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x22c9f10e, rs 0x22c9f00f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x22c9f00e, rs 0x22c9f00f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x22c9f032, rs 0x22c9f00f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4b3dda869615a70c, rs 0x4b3dda869615a60d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4b3dda869615a60c, rs 0x4b3dda869615a60d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4b3dda869615a630, rs 0x4b3dda869615a60d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2f8ad7d5, rs 0x2f8ad6d6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2f8ad6d5, rs 0x2f8ad6d6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2f8ad6f9, rs 0x2f8ad6d6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5e7a4dd6353d51c, rs 0x5e7a4dd6353d41d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5e7a4dd6353d41c, rs 0x5e7a4dd6353d41d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5e7a4dd6353d440, rs 0x5e7a4dd6353d41d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2b4bcc60, rs 0x2b4bcb61, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2b4bcb60, rs 0x2b4bcb61, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2b4bcb84, rs 0x2b4bcb61, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3af35a9dc40bd512, rs 0x3af35a9dc40bd413, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3af35a9dc40bd412, rs 0x3af35a9dc40bd413, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3af35a9dc40bd436, rs 0x3af35a9dc40bd413, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x350c9c63, rs 0x350c9b64, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x350c9b63, rs 0x350c9b64, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x350c9b87, rs 0x350c9b64, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x47f505569a08a27f, rs 0x47f505569a08a180, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x47f505569a08a17f, rs 0x47f505569a08a180, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x47f505569a08a1a3, rs 0x47f505569a08a180, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x31cd87d2, rs 0x31cd86d3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x31cd86d2, rs 0x31cd86d3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x31cd86f6, rs 0x31cd86d3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9564b77fd6d2050e, rs 0x9564b77fd6d2040f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9564b77fd6d2040e, rs 0x9564b77fd6d2040f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9564b77fd6d20432, rs 0x9564b77fd6d2040f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3c8ea109, rs 0x3c8ea00a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3c8ea009, rs 0x3c8ea00a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3c8ea02d, rs 0x3c8ea00a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xcebc8279b2c76cbd, rs 0xcebc8279b2c76bbe, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xcebc8279b2c76bbd, rs 0xcebc8279b2c76bbe, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xcebc8279b2c76be1, rs 0xcebc8279b2c76bbe, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x384fbebc, rs 0x384fbdbd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x384fbdbc, rs 0x384fbdbd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x384fbde0, rs 0x384fbdbd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb5034c2f1f18e5c6, rs 0xb5034c2f1f18e4c7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb5034c2f1f18e4c6, rs 0xb5034c2f1f18e4c7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb5034c2f1f18e4ea, rs 0xb5034c2f1f18e4c7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4c11dc6f, rs 0x4c11db70, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4c11db6f, rs 0x4c11db70, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4c11db93, rs 0x4c11db70, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x94ff52fc81afa896, rs 0x94ff52fc81afa797, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x94ff52fc81afa796, rs 0x94ff52fc81afa797, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x94ff52fc81afa7ba, rs 0x94ff52fc81afa797, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x48d0c7c6, rs 0x48d0c6c7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x48d0c6c6, rs 0x48d0c6c7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x48d0c6ea, rs 0x48d0c6c7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x31d8d9166dfc51e9, rs 0x31d8d9166dfc50ea, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x31d8d9166dfc50e9, rs 0x31d8d9166dfc50ea, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x31d8d9166dfc510d, rs 0x31d8d9166dfc50ea, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4593e11d, rs 0x4593e01e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4593e01d, rs 0x4593e01e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4593e041, rs 0x4593e01e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x36549bd678e896b0, rs 0x36549bd678e895b1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x36549bd678e895b0, rs 0x36549bd678e895b1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x36549bd678e895d4, rs 0x36549bd678e895b1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4152fea8, rs 0x4152fda9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4152fda8, rs 0x4152fda9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4152fdcc, rs 0x4152fda9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x85e0a6319b63269a, rs 0x85e0a6319b63259b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x85e0a6319b63259a, rs 0x85e0a6319b63259b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x85e0a6319b6325be, rs 0x85e0a6319b63259b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5f15aeab, rs 0x5f15adac, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5f15adab, rs 0x5f15adac, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5f15adcf, rs 0x5f15adac, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x556b3ecaccf17bc4, rs 0x556b3ecaccf17ac5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x556b3ecaccf17ac4, rs 0x556b3ecaccf17ac5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x556b3ecaccf17ae8, rs 0x556b3ecaccf17ac5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5bd4b11a, rs 0x5bd4b01b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5bd4b01a, rs 0x5bd4b01b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5bd4b03e, rs 0x5bd4b01b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb42f5fc581eea1fa, rs 0xb42f5fc581eea0fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb42f5fc581eea0fa, rs 0xb42f5fc581eea0fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb42f5fc581eea11e, rs 0xb42f5fc581eea0fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x569797c1, rs 0x569796c2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x569796c1, rs 0x569796c2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x569796e5, rs 0x569796c2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x25b50fec14682e96, rs 0x25b50fec14682d97, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x25b50fec14682d96, rs 0x25b50fec14682d97, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x25b50fec14682dba, rs 0x25b50fec14682d97, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x52568c74, rs 0x52568b75, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x52568b74, rs 0x52568b75, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x52568b98, rs 0x52568b75, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfc93c5132cfb0979, rs 0xfc93c5132cfb087a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfc93c5132cfb0879, rs 0xfc93c5132cfb087a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfc93c5132cfb089d, rs 0xfc93c5132cfb087a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6a1937c7, rs 0x6a1936c8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6a1936c7, rs 0x6a1936c8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6a1936eb, rs 0x6a1936c8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3c2cd9a9cda20865, rs 0x3c2cd9a9cda20766, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3c2cd9a9cda20765, rs 0x3c2cd9a9cda20766, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3c2cd9a9cda20789, rs 0x3c2cd9a9cda20766, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6ed82c7e, rs 0x6ed82b7f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6ed82b7e, rs 0x6ed82b7f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6ed82ba2, rs 0x6ed82b7f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1791722a7d72db3d, rs 0x1791722a7d72da3e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1791722a7d72da3d, rs 0x1791722a7d72da3e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1791722a7d72da61, rs 0x1791722a7d72da3e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x639b0ea5, rs 0x639b0da6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x639b0da5, rs 0x639b0da6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x639b0dc9, rs 0x639b0da6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x87cc9d193ce25ac, rs 0x87cc9d193ce24ad, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x87cc9d193ce24ac, rs 0x87cc9d193ce24ad, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x87cc9d193ce24d0, rs 0x87cc9d193ce24ad, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x675a1110, rs 0x675a1011, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x675a1010, rs 0x675a1011, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x675a1034, rs 0x675a1011, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1d2a757038984fd1, rs 0x1d2a757038984ed2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1d2a757038984ed1, rs 0x1d2a757038984ed2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1d2a757038984ef5, rs 0x1d2a757038984ed2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x791d4113, rs 0x791d4014, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x791d4013, rs 0x791d4014, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x791d4037, rs 0x791d4014, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd0d070db710cd135, rs 0xd0d070db710cd036, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd0d070db710cd035, rs 0xd0d070db710cd036, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd0d070db710cd059, rs 0xd0d070db710cd036, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7ddc5ea2, rs 0x7ddc5da3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7ddc5da2, rs 0x7ddc5da3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7ddc5dc6, rs 0x7ddc5da3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x39c21c7d03415703, rs 0x39c21c7d03415604, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x39c21c7d03415603, rs 0x39c21c7d03415604, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x39c21c7d03415627, rs 0x39c21c7d03415604, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x709f7c79, rs 0x709f7b7a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x709f7b79, rs 0x709f7b7a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x709f7b9d, rs 0x709f7b7a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8e94b7af8ecc32cd, rs 0x8e94b7af8ecc31ce, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8e94b7af8ecc31cd, rs 0x8e94b7af8ecc31ce, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8e94b7af8ecc31f1, rs 0x8e94b7af8ecc31ce, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x745e67cc, rs 0x745e66cd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x745e66cc, rs 0x745e66cd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x745e66f0, rs 0x745e66cd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x24eb6a8d1ce7684e, rs 0x24eb6a8d1ce7674f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x24eb6a8d1ce7674e, rs 0x24eb6a8d1ce7674f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x24eb6a8d1ce76772, rs 0x24eb6a8d1ce7674f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9823b7df, rs 0xffffffff9823b6e0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9823b6df, rs 0xffffffff9823b6e0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9823b703, rs 0xffffffff9823b6e0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2f39454412d6e5a6, rs 0x2f39454412d6e4a7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2f39454412d6e4a6, rs 0x2f39454412d6e4a7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2f39454412d6e4ca, rs 0x2f39454412d6e4a7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9ce2ac56, rs 0xffffffff9ce2ab57, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9ce2ab56, rs 0xffffffff9ce2ab57, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9ce2ab7a, rs 0xffffffff9ce2ab57, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2608c2b756da4d53, rs 0x2608c2b756da4c54, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2608c2b756da4c53, rs 0x2608c2b756da4c54, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2608c2b756da4c77, rs 0x2608c2b756da4c54, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff91a18e8d, rs 0xffffffff91a18d8e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff91a18d8d, rs 0xffffffff91a18d8e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff91a18db1, rs 0xffffffff91a18d8e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x900102dac8d7262e, rs 0x900102dac8d7252f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x900102dac8d7252e, rs 0x900102dac8d7252f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x900102dac8d72552, rs 0x900102dac8d7252f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff95609138, rs 0xffffffff95609039, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff95609038, rs 0xffffffff95609039, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9560905c, rs 0xffffffff95609039, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc890d5f1f2efa5f6, rs 0xc890d5f1f2efa4f7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc890d5f1f2efa4f6, rs 0xc890d5f1f2efa4f7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc890d5f1f2efa51a, rs 0xc890d5f1f2efa4f7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8b27c13b, rs 0xffffffff8b27c03c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8b27c03b, rs 0xffffffff8b27c03c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8b27c05f, rs 0xffffffff8b27c03c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xed5005cbc8b0a313, rs 0xed5005cbc8b0a214, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xed5005cbc8b0a213, rs 0xed5005cbc8b0a214, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xed5005cbc8b0a237, rs 0xed5005cbc8b0a214, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8fe6de8a, rs 0xffffffff8fe6dd8b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8fe6dd8a, rs 0xffffffff8fe6dd8b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8fe6ddae, rs 0xffffffff8fe6dd8b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x314791895991146b, rs 0x314791895991136c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x314791895991136b, rs 0x314791895991136c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x314791895991138f, rs 0x314791895991136c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff82a5fc51, rs 0xffffffff82a5fb52, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff82a5fb51, rs 0xffffffff82a5fb52, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff82a5fb75, rs 0xffffffff82a5fb52, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc6eecff99a2fb7f2, rs 0xc6eecff99a2fb6f3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc6eecff99a2fb6f2, rs 0xc6eecff99a2fb6f3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc6eecff99a2fb716, rs 0xc6eecff99a2fb6f3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8664e7e4, rs 0xffffffff8664e6e5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8664e6e4, rs 0xffffffff8664e6e5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8664e708, rs 0xffffffff8664e6e5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa80952123889536f, rs 0xa809521238895270, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa80952123889526f, rs 0xa809521238895270, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa809521238895293, rs 0xa809521238895270, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbe2b5c57, rs 0xffffffffbe2b5b58, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbe2b5b57, rs 0xffffffffbe2b5b58, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbe2b5b7b, rs 0xffffffffbe2b5b58, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x87750a04ad76513f, rs 0x87750a04ad765040, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x87750a04ad76503f, rs 0x87750a04ad765040, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x87750a04ad765063, rs 0x87750a04ad765040, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbaea47ee, rs 0xffffffffbaea46ef, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbaea46ee, rs 0xffffffffbaea46ef, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbaea4712, rs 0xffffffffbaea46ef, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2c3de85e84bb5b82, rs 0x2c3de85e84bb5a83, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2c3de85e84bb5a82, rs 0x2c3de85e84bb5a83, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2c3de85e84bb5aa6, rs 0x2c3de85e84bb5a83, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb7a96135, rs 0xffffffffb7a96036, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb7a96035, rs 0xffffffffb7a96036, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb7a96059, rs 0xffffffffb7a96036, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xae6aff8fc506ab66, rs 0xae6aff8fc506aa67, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xae6aff8fc506aa66, rs 0xae6aff8fc506aa67, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xae6aff8fc506aa8a, rs 0xae6aff8fc506aa67, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb3687e80, rs 0xffffffffb3687d81, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb3687d80, rs 0xffffffffb3687d81, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb3687da4, rs 0xffffffffb3687d81, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc07112dd60ed5fe2, rs 0xc07112dd60ed5ee3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc07112dd60ed5ee2, rs 0xc07112dd60ed5ee3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc07112dd60ed5f06, rs 0xc07112dd60ed5ee3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffad2f2e83, rs 0xffffffffad2f2d84, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffad2f2d83, rs 0xffffffffad2f2d84, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffad2f2da7, rs 0xffffffffad2f2d84, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc4c770f630dccb59, rs 0xc4c770f630dcca5a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc4c770f630dcca59, rs 0xc4c770f630dcca5a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc4c770f630dcca7d, rs 0xc4c770f630dcca5a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa9ee3132, rs 0xffffffffa9ee3033, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa9ee3032, rs 0xffffffffa9ee3033, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa9ee3056, rs 0xffffffffa9ee3033, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xdfec2b2383cd5376, rs 0xdfec2b2383cd5277, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xdfec2b2383cd5276, rs 0xdfec2b2383cd5277, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xdfec2b2383cd529a, rs 0xdfec2b2383cd5277, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa4ad17e9, rs 0xffffffffa4ad16ea, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa4ad16e9, rs 0xffffffffa4ad16ea, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa4ad170d, rs 0xffffffffa4ad16ea, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd3adba260ff7da6a, rs 0xd3adba260ff7d96b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd3adba260ff7d96a, rs 0xd3adba260ff7d96b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd3adba260ff7d98e, rs 0xd3adba260ff7d96b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa06c0c5c, rs 0xffffffffa06c0b5d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa06c0b5c, rs 0xffffffffa06c0b5d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa06c0b80, rs 0xffffffffa06c0b5d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4ab4aa798418c10d, rs 0x4ab4aa798418c00e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4ab4aa798418c00d, rs 0x4ab4aa798418c00e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4ab4aa798418c031, rs 0x4ab4aa798418c00e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd4326e8f, rs 0xffffffffd4326d90, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd4326d8f, rs 0xffffffffd4326d90, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd4326db3, rs 0xffffffffd4326d90, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbb8c035e0de0f1b7, rs 0xbb8c035e0de0f0b8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbb8c035e0de0f0b7, rs 0xbb8c035e0de0f0b8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbb8c035e0de0f0db, rs 0xbb8c035e0de0f0b8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd0f37126, rs 0xffffffffd0f37027, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd0f37026, rs 0xffffffffd0f37027, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd0f3704a, rs 0xffffffffd0f37027, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x33b06f54a97fddf0, rs 0x33b06f54a97fdcf1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x33b06f54a97fdcf0, rs 0x33b06f54a97fdcf1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x33b06f54a97fdd14, rs 0x33b06f54a97fdcf1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffddb057fd, rs 0xffffffffddb056fe, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffddb056fd, rs 0xffffffffddb056fe, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffddb05721, rs 0xffffffffddb056fe, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x77433f373fd1c180, rs 0x77433f373fd1c081, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x77433f373fd1c080, rs 0x77433f373fd1c081, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x77433f373fd1c0a4, rs 0x77433f373fd1c081, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd9714c48, rs 0xffffffffd9714b49, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd9714b48, rs 0xffffffffd9714b49, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd9714b6c, rs 0xffffffffd9714b49, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xec91d993c92196e3, rs 0xec91d993c92195e4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xec91d993c92195e3, rs 0xec91d993c92195e4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xec91d993c9219607, rs 0xec91d993c92195e4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc7361c4b, rs 0xffffffffc7361b4c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc7361b4b, rs 0xffffffffc7361b4c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc7361b6f, rs 0xffffffffc7361b4c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x49fbf6a795b1a6aa, rs 0x49fbf6a795b1a5ab, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x49fbf6a795b1a5aa, rs 0x49fbf6a795b1a5ab, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x49fbf6a795b1a5ce, rs 0x49fbf6a795b1a5ab, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc3f707fa, rs 0xffffffffc3f706fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc3f706fa, rs 0xffffffffc3f706fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc3f7071e, rs 0xffffffffc3f706fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x19364378c7ce8e1d, rs 0x19364378c7ce8d1e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x19364378c7ce8d1d, rs 0x19364378c7ce8d1e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x19364378c7ce8d41, rs 0x19364378c7ce8d1e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffceb42121, rs 0xffffffffceb42022, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffceb42021, rs 0xffffffffceb42022, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffceb42045, rs 0xffffffffceb42022, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb99e8def2f384a06, rs 0xb99e8def2f384907, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb99e8def2f384906, rs 0xb99e8def2f384907, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb99e8def2f38492a, rs 0xb99e8def2f384907, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffca753e94, rs 0xffffffffca753d95, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffca753d94, rs 0xffffffffca753d95, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffca753db8, rs 0xffffffffca753d95, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x47eacdcd582b13fd, rs 0x47eacdcd582b12fe, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x47eacdcd582b12fd, rs 0x47eacdcd582b12fe, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x47eacdcd582b1321, rs 0x47eacdcd582b12fe, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff23a8127, rs 0xfffffffff23a8028, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff23a8027, rs 0xfffffffff23a8028, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff23a804b, rs 0xfffffffff23a8028, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd685884e76558d4e, rs 0xd685884e76558c4f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd685884e76558c4e, rs 0xd685884e76558c4f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd685884e76558c72, rs 0xd685884e76558c4f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff6fb9e9e, rs 0xfffffffff6fb9d9f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff6fb9d9e, rs 0xfffffffff6fb9d9f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff6fb9dc2, rs 0xfffffffff6fb9d9f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6168d62a34c196c6, rs 0x6168d62a34c195c7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6168d62a34c195c6, rs 0x6168d62a34c195c7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6168d62a34c195ea, rs 0x6168d62a34c195c7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffffbb8bc45, rs 0xfffffffffbb8bb46, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffffbb8bb45, rs 0xfffffffffbb8bb46, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffffbb8bb69, rs 0xfffffffffbb8bb46, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd30169894df47504, rs 0xd30169894df47405, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd30169894df47404, rs 0xd30169894df47405, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd30169894df47428, rs 0xd30169894df47405, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffff79a7f0, rs 0xffffffffff79a6f1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffff79a6f0, rs 0xffffffffff79a6f1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffff79a714, rs 0xffffffffff79a6f1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1ca190bf6cbb07da, rs 0x1ca190bf6cbb06db, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1ca190bf6cbb06da, rs 0x1ca190bf6cbb06db, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1ca190bf6cbb06fe, rs 0x1ca190bf6cbb06db, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe13ef7f3, rs 0xffffffffe13ef6f4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe13ef6f3, rs 0xffffffffe13ef6f4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe13ef717, rs 0xffffffffe13ef6f4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x58300f029cae3a39, rs 0x58300f029cae393a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x58300f029cae3939, rs 0x58300f029cae393a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x58300f029cae395d, rs 0x58300f029cae393a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe5ffec42, rs 0xffffffffe5ffeb43, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe5ffeb42, rs 0xffffffffe5ffeb43, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe5ffeb66, rs 0xffffffffe5ffeb43, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9a995fdbdc7ebd2c, rs 0x9a995fdbdc7ebc2d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9a995fdbdc7ebc2c, rs 0x9a995fdbdc7ebc2d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9a995fdbdc7ebc50, rs 0x9a995fdbdc7ebc2d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe8bcce99, rs 0xffffffffe8bccd9a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe8bccd99, rs 0xffffffffe8bccd9a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe8bccdbd, rs 0xffffffffe8bccd9a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8a96047be3405c47, rs 0x8a96047be3405b48, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8a96047be3405b47, rs 0x8a96047be3405b48, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8a96047be3405b6b, rs 0x8a96047be3405b48, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffec7dd12c, rs 0xffffffffec7dd02d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffec7dd02c, rs 0xffffffffec7dd02d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffec7dd050, rs 0xffffffffec7dd02d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x75bfafd2d519d421, rs 0x75bfafd2d519d322, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x75bfafd2d519d321, rs 0x75bfafd2d519d322, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x75bfafd2d519d345, rs 0x75bfafd2d519d322, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x34867176, rs 0x34867077, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x34867076, rs 0x34867077, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3486709a, rs 0x34867077, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xde230867a630f7ac, rs 0xde230867a630f6ad, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xde230867a630f6ac, rs 0xde230867a630f6ad, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xde230867a630f6d0, rs 0xde230867a630f6ad, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x30476ebf, rs 0x30476dc0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x30476dbf, rs 0x30476dc0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x30476de3, rs 0x30476dc0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2c0a0cf25610335f, rs 0x2c0a0cf256103260, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2c0a0cf25610325f, rs 0x2c0a0cf256103260, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2c0a0cf256103283, rs 0x2c0a0cf256103260, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3d044c18, rs 0x3d044b19, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3d044b18, rs 0x3d044b19, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3d044b3c, rs 0x3d044b19, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x94a90544249b19ee, rs 0x94a90544249b18ef, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x94a90544249b18ee, rs 0x94a90544249b18ef, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x94a90544249b1912, rs 0x94a90544249b18ef, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x39c557ad, rs 0x39c556ae, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x39c556ad, rs 0x39c556ae, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x39c556d1, rs 0x39c556ae, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf9519fb55b56fddd, rs 0xf9519fb55b56fcde, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf9519fb55b56fcdd, rs 0xf9519fb55b56fcde, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf9519fb55b56fd01, rs 0xf9519fb55b56fcde, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x278207aa, rs 0x278206ab, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x278206aa, rs 0x278206ab, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x278206ce, rs 0x278206ab, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x81daf8200468329a, rs 0x81daf8200468319b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x81daf8200468319a, rs 0x81daf8200468319b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x81daf820046831be, rs 0x81daf8200468319b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x23431c1b, rs 0x23431b1c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x23431b1b, rs 0x23431b1c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23431b3f, rs 0x23431b1c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8c61ca5a5725f3eb, rs 0x8c61ca5a5725f2ec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8c61ca5a5725f2eb, rs 0x8c61ca5a5725f2ec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8c61ca5a5725f30f, rs 0x8c61ca5a5725f2ec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2e003ec4, rs 0x2e003dc5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2e003dc4, rs 0x2e003dc5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2e003de8, rs 0x2e003dc5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8b95a6ddc25dc9be, rs 0x8b95a6ddc25dc8bf, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8b95a6ddc25dc8be, rs 0x8b95a6ddc25dc8bf, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8b95a6ddc25dc8e2, rs 0x8b95a6ddc25dc8bf, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2ac12171, rs 0x2ac12072, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2ac12071, rs 0x2ac12072, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2ac12095, rs 0x2ac12072, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x300ce751dac6172e, rs 0x300ce751dac6162f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x300ce751dac6162e, rs 0x300ce751dac6162f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x300ce751dac61652, rs 0x300ce751dac6162f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x128e9ece, rs 0x128e9dcf, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x128e9dce, rs 0x128e9dcf, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x128e9df2, rs 0x128e9dcf, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6778fdf3ba52a94f, rs 0x6778fdf3ba52a850, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6778fdf3ba52a84f, rs 0x6778fdf3ba52a850, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6778fdf3ba52a873, rs 0x6778fdf3ba52a850, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x164f8177, rs 0x164f8078, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x164f8077, rs 0x164f8078, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x164f809b, rs 0x164f8078, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xad00b1f7da78489e, rs 0xad00b1f7da78479f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xad00b1f7da78479e, rs 0xad00b1f7da78479f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xad00b1f7da7847c2, rs 0xad00b1f7da78479f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1b0ca7a0, rs 0x1b0ca6a1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1b0ca6a0, rs 0x1b0ca6a1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1b0ca6c4, rs 0x1b0ca6a1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8d44168a6b6da89, rs 0x8d44168a6b6d98a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8d44168a6b6d989, rs 0x8d44168a6b6d98a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8d44168a6b6d9ad, rs 0x8d44168a6b6d98a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1fcdbc15, rs 0x1fcdbb16, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1fcdbb15, rs 0x1fcdbb16, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1fcdbb39, rs 0x1fcdbb16, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf518381dce634512, rs 0xf518381dce634413, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf518381dce634412, rs 0xf518381dce634413, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf518381dce634436, rs 0xf518381dce634413, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x18aec12, rs 0x18aeb13, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x18aeb12, rs 0x18aeb13, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x18aeb36, rs 0x18aeb13, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe4627f3fe52560bf, rs 0xe4627f3fe5255fc0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe4627f3fe5255fbf, rs 0xe4627f3fe5255fc0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe4627f3fe5255fe3, rs 0xe4627f3fe5255fc0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x54bf7a3, rs 0x54bf6a4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x54bf6a3, rs 0x54bf6a4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x54bf6c7, rs 0x54bf6a4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xccd392e176322027, rs 0xccd392e176321f28, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xccd392e176321f27, rs 0xccd392e176321f28, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xccd392e176321f4b, rs 0xccd392e176321f28, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x808d17c, rs 0x808d07d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x808d07c, rs 0x808d07d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x808d0a0, rs 0x808d07d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x829464944018fe8e, rs 0x829464944018fd8f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x829464944018fd8e, rs 0x829464944018fd8f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x829464944018fdb2, rs 0x829464944018fd8f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xcc9cec9, rs 0xcc9cdca, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xcc9cdc9, rs 0xcc9cdca, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xcc9cded, rs 0xcc9cdca, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x15d3204052e8f1e4, rs 0x15d3204052e8f0e5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x15d3204052e8f0e4, rs 0x15d3204052e8f0e5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x15d3204052e8f108, rs 0x15d3204052e8f0e5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7897ac06, rs 0x7897ab07, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7897ab06, rs 0x7897ab07, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7897ab2a, rs 0x7897ab07, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7caf83d2880ff443, rs 0x7caf83d2880ff344, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7caf83d2880ff343, rs 0x7caf83d2880ff344, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7caf83d2880ff367, rs 0x7caf83d2880ff344, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7c56b7af, rs 0x7c56b6b0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7c56b6af, rs 0x7c56b6b0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7c56b6d3, rs 0x7c56b6b0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf156a04c747df0d6, rs 0xf156a04c747defd7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf156a04c747defd6, rs 0xf156a04c747defd7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf156a04c747deffa, rs 0xf156a04c747defd7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x71159168, rs 0x71159069, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x71159068, rs 0x71159069, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7115908c, rs 0x71159069, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x93e2601c0f31d80f, rs 0x93e2601c0f31d710, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x93e2601c0f31d70f, rs 0x93e2601c0f31d710, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x93e2601c0f31d733, rs 0x93e2601c0f31d710, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x75d48edd, rs 0x75d48dde, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x75d48ddd, rs 0x75d48dde, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x75d48e01, rs 0x75d48dde, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe1e1a679131cda32, rs 0xe1e1a679131cd933, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe1e1a679131cd932, rs 0xe1e1a679131cd933, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe1e1a679131cd956, rs 0xe1e1a679131cd933, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6b93deda, rs 0x6b93dddb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6b93ddda, rs 0x6b93dddb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6b93ddfe, rs 0x6b93dddb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x24296b75a76fa526, rs 0x24296b75a76fa427, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x24296b75a76fa426, rs 0x24296b75a76fa427, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x24296b75a76fa44a, rs 0x24296b75a76fa427, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6f52c16b, rs 0x6f52c06c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6f52c06b, rs 0x6f52c06c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6f52c08f, rs 0x6f52c06c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd296e2d2139ee669, rs 0xd296e2d2139ee56a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd296e2d2139ee569, rs 0xd296e2d2139ee56a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd296e2d2139ee58d, rs 0xd296e2d2139ee56a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6211e7b4, rs 0x6211e6b5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6211e6b4, rs 0x6211e6b5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6211e6d8, rs 0x6211e6b5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5a82447f6dc2a6bf, rs 0x5a82447f6dc2a5c0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5a82447f6dc2a5bf, rs 0x5a82447f6dc2a5c0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5a82447f6dc2a5e3, rs 0x5a82447f6dc2a5c0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x66d0fc01, rs 0x66d0fb02, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x66d0fb01, rs 0x66d0fb02, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x66d0fb25, rs 0x66d0fb02, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x76c89e80c07dc267, rs 0x76c89e80c07dc168, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x76c89e80c07dc167, rs 0x76c89e80c07dc168, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x76c89e80c07dc18b, rs 0x76c89e80c07dc168, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5e9f47be, rs 0x5e9f46bf, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5e9f46be, rs 0x5e9f46bf, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5e9f46e2, rs 0x5e9f46bf, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x70dc3454bfe358e, rs 0x70dc3454bfe348f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x70dc3454bfe348e, rs 0x70dc3454bfe348f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x70dc3454bfe34b2, rs 0x70dc3454bfe348f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5a5e5c07, rs 0x5a5e5b08, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5a5e5b07, rs 0x5a5e5b08, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5a5e5b2b, rs 0x5a5e5b08, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbddc7123dd6d251a, rs 0xbddc7123dd6d241b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbddc7123dd6d241a, rs 0xbddc7123dd6d241b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbddc7123dd6d243e, rs 0xbddc7123dd6d241b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x571d7ed0, rs 0x571d7dd1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x571d7dd0, rs 0x571d7dd1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x571d7df4, rs 0x571d7dd1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf62fb727a59fcfbd, rs 0xf62fb727a59fcebe, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf62fb727a59fcebd, rs 0xf62fb727a59fcebe, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf62fb727a59fcee1, rs 0xf62fb727a59fcebe, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x53dc6165, rs 0x53dc6066, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x53dc6065, rs 0x53dc6066, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x53dc6089, rs 0x53dc6066, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x109f27e90f9f47fa, rs 0x109f27e90f9f46fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x109f27e90f9f46fa, rs 0x109f27e90f9f46fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x109f27e90f9f471e, rs 0x109f27e90f9f46fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4d9b3162, rs 0x4d9b3063, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4d9b3062, rs 0x4d9b3063, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4d9b3086, rs 0x4d9b3063, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3f63daa9afd19ad6, rs 0x3f63daa9afd199d7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3f63daa9afd199d6, rs 0x3f63daa9afd199d7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3f63daa9afd199fa, rs 0x3f63daa9afd199d7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x495a2ed3, rs 0x495a2dd4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x495a2dd3, rs 0x495a2dd4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x495a2df7, rs 0x495a2dd4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xdbcb312ea3d485f1, rs 0xdbcb312ea3d484f2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xdbcb312ea3d484f1, rs 0xdbcb312ea3d484f2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xdbcb312ea3d48515, rs 0xdbcb312ea3d484f2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x44190c0c, rs 0x44190b0d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x44190b0c, rs 0x44190b0d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x44190b30, rs 0x44190b0d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1f353faada4fe5c5, rs 0x1f353faada4fe4c6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1f353faada4fe4c5, rs 0x1f353faada4fe4c6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1f353faada4fe4e9, rs 0x1f353faada4fe4c6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x40d817b9, rs 0x40d816ba, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x40d816b9, rs 0x40d816ba, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x40d816dd, rs 0x40d816ba, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8b086ee07150c35f, rs 0x8b086ee07150c260, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8b086ee07150c25f, rs 0x8b086ee07150c260, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8b086ee07150c283, rs 0x8b086ee07150c260, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffaca5c796, rs 0xffffffffaca5c697, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffaca5c696, rs 0xffffffffaca5c697, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffaca5c6ba, rs 0xffffffffaca5c697, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe54750d5d9258024, rs 0xe54750d5d9257f25, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe54750d5d9257f24, rs 0xe54750d5d9257f25, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe54750d5d9257f48, rs 0xe54750d5d9257f25, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa864dc1f, rs 0xffffffffa864db20, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa864db1f, rs 0xffffffffa864db20, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa864db43, rs 0xffffffffa864db20, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3d69625fe9a6dc5a, rs 0x3d69625fe9a6db5b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3d69625fe9a6db5a, rs 0x3d69625fe9a6db5b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3d69625fe9a6db7e, rs 0x3d69625fe9a6db5b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa527fef8, rs 0xffffffffa527fdf9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa527fdf8, rs 0xffffffffa527fdf9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa527fe1c, rs 0xffffffffa527fdf9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x70a3e0424340ad95, rs 0x70a3e0424340ac96, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x70a3e0424340ac95, rs 0x70a3e0424340ac96, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x70a3e0424340acb9, rs 0x70a3e0424340ac96, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa1e6e14d, rs 0xffffffffa1e6e04e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa1e6e04d, rs 0xffffffffa1e6e04e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa1e6e071, rs 0xffffffffa1e6e04e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc0478f036980181d, rs 0xc0478f036980171e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc0478f036980171d, rs 0xc0478f036980171e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc0478f0369801741, rs 0xc0478f036980171e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbfa1b14a, rs 0xffffffffbfa1b04b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbfa1b04a, rs 0xffffffffbfa1b04b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbfa1b06e, rs 0xffffffffbfa1b04b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3ce839a51cf92ae2, rs 0x3ce839a51cf929e3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3ce839a51cf929e2, rs 0x3ce839a51cf929e3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3ce839a51cf92a06, rs 0x3ce839a51cf929e3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbb60aefb, rs 0xffffffffbb60adfc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbb60adfb, rs 0xffffffffbb60adfc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbb60ae1f, rs 0xffffffffbb60adfc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe2fbfa895eb68a57, rs 0xe2fbfa895eb68958, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe2fbfa895eb68957, rs 0xe2fbfa895eb68958, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe2fbfa895eb6897b, rs 0xe2fbfa895eb68958, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb6238c24, rs 0xffffffffb6238b25, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb6238b24, rs 0xffffffffb6238b25, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb6238b48, rs 0xffffffffb6238b25, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd24bb05d76ed26b6, rs 0xd24bb05d76ed25b7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd24bb05d76ed25b6, rs 0xd24bb05d76ed25b7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd24bb05d76ed25da, rs 0xd24bb05d76ed25b7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb2e29791, rs 0xffffffffb2e29692, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb2e29691, rs 0xffffffffb2e29692, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb2e296b5, rs 0xffffffffb2e29692, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xeb9682c170313f0, rs 0xeb9682c170312f1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xeb9682c170312f0, rs 0xeb9682c170312f1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xeb9682c17031314, rs 0xeb9682c170312f1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8aad2c2e, rs 0xffffffff8aad2b2f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8aad2b2e, rs 0xffffffff8aad2b2f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8aad2b52, rs 0xffffffff8aad2b2f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x84785280dd301e0c, rs 0x84785280dd301d0d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x84785280dd301d0c, rs 0x84785280dd301d0d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x84785280dd301d30, rs 0x84785280dd301d0d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x179c77aa1f8fd7ee, rs 0x179c77aa1f8fd6ef, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x179c77aa1f8fd6ee, rs 0x179c77aa1f8fd6ef, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x179c77aa1f8fd712, rs 0x179c77aa1f8fd6ef, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x26444ced2998446c, rs 0x26444ced2998436d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x26444ced2998436c, rs 0x26444ced2998436d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x26444ced29984390, rs 0x26444ced2998436d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff87ee0ef5, rs 0xffffffff87ee0df6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff87ee0df5, rs 0xffffffff87ee0df6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff87ee0e19, rs 0xffffffff87ee0df6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7175c9dd58ca807, rs 0x7175c9dd58ca708, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7175c9dd58ca707, rs 0x7175c9dd58ca708, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7175c9dd58ca72b, rs 0x7175c9dd58ca708, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff99a95ef2, rs 0xffffffff99a95df3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff99a95df2, rs 0xffffffff99a95df3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff99a95e16, rs 0xffffffff99a95df3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x663d061055833386, rs 0x663d061055833287, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x663d061055833286, rs 0x663d061055833287, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x663d0610558332aa, rs 0x663d061055833287, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9d684143, rs 0xffffffff9d684044, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9d684043, rs 0xffffffff9d684044, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9d684067, rs 0xffffffff9d684044, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xab7dd0488951d78a, rs 0xab7dd0488951d68b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xab7dd0488951d68a, rs 0xab7dd0488951d68b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xab7dd0488951d6ae, rs 0xab7dd0488951d68b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff902b679c, rs 0xffffffff902b669d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff902b669c, rs 0xffffffff902b669d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff902b66c0, rs 0xffffffff902b669d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf69823670e82481a, rs 0xf69823670e82471b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf69823670e82471a, rs 0xf69823670e82471b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf69823670e82473e, rs 0xf69823670e82471b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff94ea7c29, rs 0xffffffff94ea7b2a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff94ea7b29, rs 0xffffffff94ea7b2a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff94ea7b4d, rs 0xffffffff94ea7b2a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x36886c59d98d27b1, rs 0x36886c59d98d26b2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x36886c59d98d26b1, rs 0x36886c59d98d26b2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x36886c59d98d26d5, rs 0x36886c59d98d26b2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe0b41ee6, rs 0xffffffffe0b41de7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe0b41de6, rs 0xffffffffe0b41de7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe0b41e0a, rs 0xffffffffe0b41de7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9ca4bdbd32be578, rs 0x9ca4bdbd32be479, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9ca4bdbd32be478, rs 0x9ca4bdbd32be479, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9ca4bdbd32be49c, rs 0x9ca4bdbd32be479, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe475014f, rs 0xffffffffe4750050, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe475004f, rs 0xffffffffe4750050, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe4750073, rs 0xffffffffe4750050, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfd5d7d1d9962e71e, rs 0xfd5d7d1d9962e61f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfd5d7d1d9962e61e, rs 0xfd5d7d1d9962e61f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfd5d7d1d9962e642, rs 0xfd5d7d1d9962e61f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe9362788, rs 0xffffffffe9362689, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe9362688, rs 0xffffffffe9362689, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe93626ac, rs 0xffffffffe9362689, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3f46553ecad375de, rs 0x3f46553ecad374df, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3f46553ecad374de, rs 0x3f46553ecad374df, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3f46553ecad37502, rs 0x3f46553ecad374df, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffedf73c3d, rs 0xffffffffedf73b3e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffedf73b3d, rs 0xffffffffedf73b3e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffedf73b61, rs 0xffffffffedf73b3e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2e9ab97d3eedf3a6, rs 0x2e9ab97d3eedf2a7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2e9ab97d3eedf2a6, rs 0x2e9ab97d3eedf2a7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2e9ab97d3eedf2ca, rs 0x2e9ab97d3eedf2a7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff3b06c3a, rs 0xfffffffff3b06b3b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff3b06b3a, rs 0xfffffffff3b06b3b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff3b06b5e, rs 0xfffffffff3b06b3b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x36a6f7fa3c0ca032, rs 0x36a6f7fa3c0c9f33, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x36a6f7fa3c0c9f32, rs 0x36a6f7fa3c0c9f33, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x36a6f7fa3c0c9f56, rs 0x36a6f7fa3c0c9f33, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff771778b, rs 0xfffffffff771768c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff771768b, rs 0xfffffffff771768c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff77176af, rs 0xfffffffff771768c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8bb938e3155ecadb, rs 0x8bb938e3155ec9dc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8bb938e3155ec9db, rs 0x8bb938e3155ec9dc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8bb938e3155ec9ff, rs 0x8bb938e3155ec9dc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffffa325154, rs 0xfffffffffa325055, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffffa325054, rs 0xfffffffffa325055, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffffa325078, rs 0xfffffffffa325055, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd2df25c419478305, rs 0xd2df25c419478206, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd2df25c419478205, rs 0xd2df25c419478206, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd2df25c419478229, rs 0xd2df25c419478206, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffffef34ee1, rs 0xfffffffffef34de2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffffef34de1, rs 0xfffffffffef34de2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffffef34e05, rs 0xfffffffffef34de2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbc65bf27eb321924, rs 0xbc65bf27eb321825, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbc65bf27eb321824, rs 0xbc65bf27eb321825, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbc65bf27eb321848, rs 0xbc65bf27eb321825, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc6bcf15e, rs 0xffffffffc6bcf05f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc6bcf05e, rs 0xffffffffc6bcf05f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc6bcf082, rs 0xffffffffc6bcf05f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa8b08fe67a8bc8d9, rs 0xa8b08fe67a8bc7da, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa8b08fe67a8bc7d9, rs 0xa8b08fe67a8bc7da, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa8b08fe67a8bc7fd, rs 0xa8b08fe67a8bc7da, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc27deee7, rs 0xffffffffc27dede8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc27dede7, rs 0xffffffffc27dede8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc27dee0b, rs 0xffffffffc27dede8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x852b5bcaf8dfcee7, rs 0x852b5bcaf8dfcde8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x852b5bcaf8dfcde7, rs 0x852b5bcaf8dfcde8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x852b5bcaf8dfce0b, rs 0x852b5bcaf8dfcde8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffcf3ecc30, rs 0xffffffffcf3ecb31, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffcf3ecb30, rs 0xffffffffcf3ecb31, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffcf3ecb54, rs 0xffffffffcf3ecb31, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x478909b59a99368, rs 0x478909b59a99269, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x478909b59a99268, rs 0x478909b59a99269, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x478909b59a9928c, rs 0x478909b59a99269, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffcbffd785, rs 0xffffffffcbffd686, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffcbffd685, rs 0xffffffffcbffd686, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffcbffd6a9, rs 0xffffffffcbffd686, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbfb31cc87857370e, rs 0xbfb31cc87857360f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbfb31cc87857360e, rs 0xbfb31cc87857360f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbfb31cc878573632, rs 0xbfb31cc87857360f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd5b88782, rs 0xffffffffd5b88683, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd5b88682, rs 0xffffffffd5b88683, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd5b886a6, rs 0xffffffffd5b88683, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb665ed5e7f89eaa1, rs 0xb665ed5e7f89e9a2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb665ed5e7f89e9a1, rs 0xb665ed5e7f89e9a2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb665ed5e7f89e9c5, rs 0xb665ed5e7f89e9a2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd1799c33, rs 0xffffffffd1799b34, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd1799b33, rs 0xffffffffd1799b34, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd1799b57, rs 0xffffffffd1799b34, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x15da9474b7a8d6e3, rs 0x15da9474b7a8d5e4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x15da9474b7a8d5e3, rs 0x15da9474b7a8d5e4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x15da9474b7a8d607, rs 0x15da9474b7a8d5e4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffdc3abeec, rs 0xffffffffdc3abded, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffdc3abdec, rs 0xffffffffdc3abded, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffdc3abe10, rs 0xffffffffdc3abded, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf6b3537d2af910cb, rs 0xf6b3537d2af90fcc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf6b3537d2af90fcb, rs 0xf6b3537d2af90fcc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf6b3537d2af90fef, rs 0xf6b3537d2af90fcc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd8fba159, rs 0xffffffffd8fba05a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd8fba059, rs 0xffffffffd8fba05a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd8fba07d, rs 0xffffffffd8fba05a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x223d7cfe2b961996, rs 0x223d7cfe2b961897, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x223d7cfe2b961896, rs 0x223d7cfe2b961897, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x223d7cfe2b9618ba, rs 0x223d7cfe2b961897, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x690ce1ed, rs 0x690ce0ee, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x690ce0ed, rs 0x690ce0ee, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x690ce111, rs 0x690ce0ee, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x420b34f533734b4a, rs 0x420b34f533734a4b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x420b34f533734a4a, rs 0x420b34f533734a4b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x420b34f533734a6e, rs 0x420b34f533734a4b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6dcdfe58, rs 0x6dcdfd59, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6dcdfd58, rs 0x6dcdfd59, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6dcdfd7c, rs 0x6dcdfd59, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x897c8c8ddd46b43b, rs 0x897c8c8ddd46b33c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x897c8c8ddd46b33b, rs 0x897c8c8ddd46b33c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x897c8c8ddd46b35f, rs 0x897c8c8ddd46b33c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x608edc7f, rs 0x608edb80, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x608edb7f, rs 0x608edb80, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x608edba3, rs 0x608edb80, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7a387445e392cdd8, rs 0x7a387445e392ccd9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7a387445e392ccd8, rs 0x7a387445e392ccd9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7a387445e392ccfc, rs 0x7a387445e392ccd9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x644fc736, rs 0x644fc637, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x644fc636, rs 0x644fc637, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x644fc65a, rs 0x644fc637, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x512f29b1d80001c8, rs 0x512f29b1d80000c9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x512f29b1d80000c8, rs 0x512f29b1d80000c9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x512f29b1d80000ec, rs 0x512f29b1d80000c9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7a089731, rs 0x7a089632, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7a089631, rs 0x7a089632, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7a089655, rs 0x7a089632, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xeaded5c53dad0309, rs 0xeaded5c53dad020a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xeaded5c53dad0209, rs 0xeaded5c53dad020a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xeaded5c53dad022d, rs 0xeaded5c53dad020a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7ec98c84, rs 0x7ec98b85, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7ec98b84, rs 0x7ec98b85, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7ec98ba8, rs 0x7ec98b85, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8a6229d731eea45a, rs 0x8a6229d731eea35b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8a6229d731eea35a, rs 0x8a6229d731eea35b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8a6229d731eea37e, rs 0x8a6229d731eea35b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x738aae5b, rs 0x738aad5c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x738aad5b, rs 0x738aad5c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x738aad7f, rs 0x738aad5c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2c3c3f9e48985748, rs 0x2c3c3f9e48985649, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2c3c3f9e48985648, rs 0x2c3c3f9e48985649, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2c3c3f9e4898566c, rs 0x2c3c3f9e48985649, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x774bb1ea, rs 0x774bb0eb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x774bb0ea, rs 0x774bb0eb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x774bb10e, rs 0x774bb0eb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7ff61e78dc9c0c76, rs 0x7ff61e78dc9c0b77, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7ff61e78dc9c0b76, rs 0x7ff61e78dc9c0b77, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7ff61e78dc9c0b9a, rs 0x7ff61e78dc9c0b77, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4f040e55, rs 0x4f040d56, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4f040d55, rs 0x4f040d56, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4f040d79, rs 0x4f040d56, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2299b0e01d5e69eb, rs 0x2299b0e01d5e68ec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2299b0e01d5e68eb, rs 0x2299b0e01d5e68ec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2299b0e01d5e690f, rs 0x2299b0e01d5e68ec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4bc511e0, rs 0x4bc510e1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4bc510e0, rs 0x4bc510e1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4bc51104, rs 0x4bc510e1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7c3b04673d0c6f24, rs 0x7c3b04673d0c6e25, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7c3b04673d0c6e24, rs 0x7c3b04673d0c6e25, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7c3b04673d0c6e48, rs 0x7c3b04673d0c6e25, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x46863737, rs 0x46863638, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x46863637, rs 0x46863638, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4686365b, rs 0x46863638, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x164e17c1e7fb6686, rs 0x164e17c1e7fb6587, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x164e17c1e7fb6586, rs 0x164e17c1e7fb6587, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x164e17c1e7fb65aa, rs 0x164e17c1e7fb6587, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x42472c8e, rs 0x42472b8f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x42472b8e, rs 0x42472b8f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x42472bb2, rs 0x42472b8f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfa4ca28b56d4960a, rs 0xfa4ca28b56d4950b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfa4ca28b56d4950a, rs 0xfa4ca28b56d4950b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfa4ca28b56d4952e, rs 0xfa4ca28b56d4950b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5c007c89, rs 0x5c007b8a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5c007b89, rs 0x5c007b8a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5c007bad, rs 0x5c007b8a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe5e9a314be7fa189, rs 0xe5e9a314be7fa08a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe5e9a314be7fa089, rs 0xe5e9a314be7fa08a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe5e9a314be7fa0ad, rs 0xe5e9a314be7fa08a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x58c1673c, rs 0x58c1663d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x58c1663c, rs 0x58c1663d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x58c16660, rs 0x58c1663d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf8be816415964ac4, rs 0xf8be8164159649c5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf8be8164159649c4, rs 0xf8be8164159649c5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf8be8164159649e8, rs 0xf8be8164159649c5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x558241e3, rs 0x558240e4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x558240e3, rs 0x558240e4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x55824107, rs 0x558240e4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7ca3259784e69c16, rs 0x7ca3259784e69b17, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7ca3259784e69b16, rs 0x7ca3259784e69b17, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7ca3259784e69b3a, rs 0x7ca3259784e69b17, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x51435e52, rs 0x51435d53, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x51435d52, rs 0x51435d53, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x51435d76, rs 0x51435d53, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfc8d543ca1f2505b, rs 0xfc8d543ca1f24f5c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfc8d543ca1f24f5b, rs 0xfc8d543ca1f24f5c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfc8d543ca1f24f7f, rs 0xfc8d543ca1f24f5c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x251d3c9d, rs 0x251d3b9e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x251d3b9d, rs 0x251d3b9e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x251d3bc1, rs 0x251d3b9e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4aeb6ca0e3459f35, rs 0x4aeb6ca0e3459e36, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4aeb6ca0e3459e35, rs 0x4aeb6ca0e3459e36, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4aeb6ca0e3459e59, rs 0x4aeb6ca0e3459e36, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x21dc2728, rs 0x21dc2629, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x21dc2628, rs 0x21dc2629, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x21dc264c, rs 0x21dc2629, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc532e18e187981f9, rs 0xc532e18e187980fa, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc532e18e187980f9, rs 0xc532e18e187980fa, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc532e18e1879811d, rs 0xc532e18e187980fa, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2c9f01ef, rs 0x2c9f00f0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2c9f00ef, rs 0x2c9f00f0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2c9f0113, rs 0x2c9f00f0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb3fdec294f287e1b, rs 0xb3fdec294f287d1c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb3fdec294f287d1b, rs 0xb3fdec294f287d1c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb3fdec294f287d3f, rs 0xb3fdec294f287d1c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x285e1e46, rs 0x285e1d47, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x285e1d46, rs 0x285e1d47, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x285e1d6a, rs 0x285e1d47, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb620660a49732c8f, rs 0xb620660a49732b90, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb620660a49732b8f, rs 0xb620660a49732b90, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb620660a49732bb3, rs 0xb620660a49732b90, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x36194e41, rs 0x36194d42, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x36194d41, rs 0x36194d42, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x36194d65, rs 0x36194d42, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x993138f16cfdea90, rs 0x993138f16cfde991, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x993138f16cfde990, rs 0x993138f16cfde991, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x993138f16cfde9b4, rs 0x993138f16cfde991, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x32d851f4, rs 0x32d850f5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x32d850f4, rs 0x32d850f5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x32d85118, rs 0x32d850f5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xde02d1337d5408b8, rs 0xde02d1337d5407b9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xde02d1337d5407b8, rs 0xde02d1337d5407b9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xde02d1337d5407dc, rs 0xde02d1337d5407b9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3f9b772b, rs 0x3f9b762c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3f9b762b, rs 0x3f9b762c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3f9b764f, rs 0x3f9b762c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x13a390e1e1dab259, rs 0x13a390e1e1dab15a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x13a390e1e1dab159, rs 0x13a390e1e1dab15a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x13a390e1e1dab17d, rs 0x13a390e1e1dab15a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3b5a6c9a, rs 0x3b5a6b9b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3b5a6b9a, rs 0x3b5a6b9b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3b5a6bbe, rs 0x3b5a6b9b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x743491a6828717c7, rs 0x743491a6828716c8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x743491a6828716c7, rs 0x743491a6828716c8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x743491a6828716eb, rs 0x743491a6828716c8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x315d725, rs 0x315d626, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x315d625, rs 0x315d626, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x315d649, rs 0x315d626, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8cff404aede293f1, rs 0x8cff404aede292f2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8cff404aede292f1, rs 0x8cff404aede292f2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8cff404aede29315, rs 0x8cff404aede292f2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7d4cc90, rs 0x7d4cb91, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7d4cb90, rs 0x7d4cb91, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7d4cbb4, rs 0x7d4cb91, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb9cec0db1f837735, rs 0xb9cec0db1f837636, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb9cec0db1f837635, rs 0xb9cec0db1f837636, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb9cec0db1f837659, rs 0xb9cec0db1f837636, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa97ee47, rs 0xa97ed48, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa97ed47, rs 0xa97ed48, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa97ed6b, rs 0xa97ed48, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2eaa5aa70509781b, rs 0x2eaa5aa70509771c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2eaa5aa70509771b, rs 0x2eaa5aa70509771c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2eaa5aa70509773f, rs 0x2eaa5aa70509771c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe56f1fe, rs 0xe56f0ff, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe56f0fe, rs 0xe56f0ff, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe56f122, rs 0xe56f0ff, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd327538e1875251a, rs 0xd327538e1875241b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd327538e1875241a, rs 0xd327538e1875241b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd327538e1875243e, rs 0xd327538e1875241b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1011a1f9, rs 0x1011a0fa, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1011a0f9, rs 0x1011a0fa, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1011a11d, rs 0x1011a0fa, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x42e9f8548b739c6a, rs 0x42e9f8548b739b6b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x42e9f8548b739b6a, rs 0x42e9f8548b739b6b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x42e9f8548b739b8e, rs 0x42e9f8548b739b6b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x14d0be4c, rs 0x14d0bd4d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x14d0bd4c, rs 0x14d0bd4d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x14d0bd70, rs 0x14d0bd4d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x78e4e50ceccbbb19, rs 0x78e4e50ceccbba1a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x78e4e50ceccbba19, rs 0x78e4e50ceccbba1a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x78e4e50ceccbba3d, rs 0x78e4e50ceccbba1a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x19939c93, rs 0x19939b94, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x19939b93, rs 0x19939b94, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x19939bb7, rs 0x19939b94, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf6b6fa3fcd9d28ca, rs 0xf6b6fa3fcd9d27cb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf6b6fa3fcd9d27ca, rs 0xf6b6fa3fcd9d27cb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf6b6fa3fcd9d27ee, rs 0xf6b6fa3fcd9d27cb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1d528722, rs 0x1d528623, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1d528622, rs 0x1d528623, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1d528646, rs 0x1d528623, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x73916483ae3e9522, rs 0x73916483ae3e9423, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x73916483ae3e9422, rs 0x73916483ae3e9423, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x73916483ae3e9446, rs 0x73916483ae3e9423, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff12f570d, rs 0xfffffffff12f560e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff12f560d, rs 0xfffffffff12f560e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff12f5631, rs 0xfffffffff12f560e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x276af70a0e128660, rs 0x276af70a0e128561, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x276af70a0e128560, rs 0x276af70a0e128561, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x276af70a0e128584, rs 0x276af70a0e128561, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff5ee4cb8, rs 0xfffffffff5ee4bb9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff5ee4bb8, rs 0xfffffffff5ee4bb9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff5ee4bdc, rs 0xfffffffff5ee4bb9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3045bf6b5e74c6d, rs 0x3045bf6b5e74b6e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3045bf6b5e74b6d, rs 0x3045bf6b5e74b6e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3045bf6b5e74b91, rs 0x3045bf6b5e74b6e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff8ad6e5f, rs 0xfffffffff8ad6d60, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff8ad6d5f, rs 0xfffffffff8ad6d60, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff8ad6d83, rs 0xfffffffff8ad6d60, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x20223f1308acd0a5, rs 0x20223f1308accfa6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x20223f1308accfa5, rs 0x20223f1308accfa6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x20223f1308accfc9, rs 0x20223f1308accfa6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffffc6c71d6, rs 0xfffffffffc6c70d7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffffc6c70d6, rs 0xfffffffffc6c70d7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffffc6c70fa, rs 0xfffffffffc6c70d7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf83c55743976b6f4, rs 0xf83c55743976b5f5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf83c55743976b5f4, rs 0xf83c55743976b5f5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf83c55743976b618, rs 0xf83c55743976b5f5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe22b21d1, rs 0xffffffffe22b20d2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe22b20d1, rs 0xffffffffe22b20d2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe22b20f5, rs 0xffffffffe22b20d2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1f9720f946923d3c, rs 0x1f9720f946923c3d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1f9720f946923c3c, rs 0x1f9720f946923c3d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1f9720f946923c60, rs 0x1f9720f946923c3d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe6ea3e64, rs 0xffffffffe6ea3d65, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe6ea3d64, rs 0xffffffffe6ea3d65, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe6ea3d88, rs 0xffffffffe6ea3d65, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x620d28506d2449dc, rs 0x620d28506d2448dd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x620d28506d2448dc, rs 0x620d28506d2448dd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x620d28506d244900, rs 0x620d28506d2448dd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffeba91cbb, rs 0xffffffffeba91bbc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffeba91bbb, rs 0xffffffffeba91bbc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffeba91bdf, rs 0xffffffffeba91bbc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x60a521e99ff4a831, rs 0x60a521e99ff4a732, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x60a521e99ff4a731, rs 0x60a521e99ff4a732, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x60a521e99ff4a755, rs 0x60a521e99ff4a732, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffef68070a, rs 0xffffffffef68060b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffef68060a, rs 0xffffffffef68060b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffef68062e, rs 0xffffffffef68060b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5a08f3ab5c68100a, rs 0x5a08f3ab5c680f0b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5a08f3ab5c680f0a, rs 0x5a08f3ab5c680f0b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5a08f3ab5c680f2e, rs 0x5a08f3ab5c680f0b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd727bcb5, rs 0xffffffffd727bbb6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd727bbb5, rs 0xffffffffd727bbb6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd727bbd9, rs 0xffffffffd727bbb6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc7a59be7800f3e25, rs 0xc7a59be7800f3d26, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc7a59be7800f3d25, rs 0xc7a59be7800f3d26, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc7a59be7800f3d49, rs 0xc7a59be7800f3d26, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd3e6a700, rs 0xffffffffd3e6a601, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd3e6a600, rs 0xffffffffd3e6a601, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd3e6a624, rs 0xffffffffd3e6a601, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1aecdf2982ca1c40, rs 0x1aecdf2982ca1b41, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1aecdf2982ca1b40, rs 0x1aecdf2982ca1b41, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1aecdf2982ca1b64, rs 0x1aecdf2982ca1b41, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffdea581d7, rs 0xffffffffdea580d8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffdea580d7, rs 0xffffffffdea580d8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffdea580fb, rs 0xffffffffdea580d8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2b8613a260d19ecc, rs 0x2b8613a260d19dcd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2b8613a260d19dcc, rs 0x2b8613a260d19dcd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2b8613a260d19df0, rs 0x2b8613a260d19dcd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffda649e6e, rs 0xffffffffda649d6f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffda649d6e, rs 0xffffffffda649d6f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffda649d92, rs 0xffffffffda649d6f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2518ac8b0e8bbf7e, rs 0x2518ac8b0e8bbe7f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2518ac8b0e8bbe7e, rs 0x2518ac8b0e8bbe7f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2518ac8b0e8bbea2, rs 0x2518ac8b0e8bbe7f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc423ce69, rs 0xffffffffc423cd6a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc423cd69, rs 0xffffffffc423cd6a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc423cd8d, rs 0xffffffffc423cd6a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x743e568d2fcf496a, rs 0x743e568d2fcf486b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x743e568d2fcf486a, rs 0x743e568d2fcf486b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x743e568d2fcf488e, rs 0x743e568d2fcf486b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x126f646f34c31827, rs 0x126f646f34c31728, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x126f646f34c31727, rs 0x126f646f34c31728, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x126f646f34c3174b, rs 0x126f646f34c31728, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffcda1f703, rs 0xffffffffcda1f604, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffcda1f603, rs 0xffffffffcda1f604, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffcda1f627, rs 0xffffffffcda1f604, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xaab0196156fc4e11, rs 0xaab0196156fc4d12, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xaab0196156fc4d11, rs 0xaab0196156fc4d12, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xaab0196156fc4d35, rs 0xaab0196156fc4d12, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffffffffff, rs 0x0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7535cd338595d441, rs 0x7535cd338595d342, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7535cd338595d341, rs 0x7535cd338595d342, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7535cd338595d365, rs 0x7535cd338595d342, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbd3e8e7d, rs 0xffffffffbd3e8d7e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbd3e8d7d, rs 0xffffffffbd3e8d7e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbd3e8da1, rs 0xffffffffbd3e8d7e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xdfb254da422347eb, rs 0xdfb254da422346ec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xdfb254da422346eb, rs 0xdfb254da422346ec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xdfb254da4223470f, rs 0xdfb254da422346ec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb9ff91c8, rs 0xffffffffb9ff90c9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb9ff90c8, rs 0xffffffffb9ff90c9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb9ff90ec, rs 0xffffffffb9ff90c9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa86726c90081ac29, rs 0xa86726c90081ab2a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa86726c90081ab29, rs 0xa86726c90081ab2a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa86726c90081ab4d, rs 0xa86726c90081ab2a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb4bcb70f, rs 0xffffffffb4bcb610, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb4bcb60f, rs 0xffffffffb4bcb610, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb4bcb633, rs 0xffffffffb4bcb610, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9bfeffa1679d7537, rs 0x9bfeffa1679d7438, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9bfeffa1679d7437, rs 0x9bfeffa1679d7438, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9bfeffa1679d745b, rs 0x9bfeffa1679d7438, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb07daca6, rs 0xffffffffb07daba7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb07daba6, rs 0xffffffffb07daba7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb07dabca, rs 0xffffffffb07daba7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc7699826b7dee343, rs 0xc7699826b7dee244, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc7699826b7dee243, rs 0xc7699826b7dee244, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc7699826b7dee267, rs 0xc7699826b7dee244, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffae3afca1, rs 0xffffffffae3afba2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffae3afba1, rs 0xffffffffae3afba2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffae3afbc5, rs 0xffffffffae3afba2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3c07af97fba67149, rs 0x3c07af97fba6704a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3c07af97fba67049, rs 0x3c07af97fba6704a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3c07af97fba6706d, rs 0x3c07af97fba6704a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffaafbe714, rs 0xffffffffaafbe615, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffaafbe614, rs 0xffffffffaafbe615, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffaafbe638, rs 0xffffffffaafbe615, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x521364dc04c58cfd, rs 0x521364dc04c58bfe, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x521364dc04c58bfd, rs 0x521364dc04c58bfe, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x521364dc04c58c21, rs 0x521364dc04c58bfe, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa7b8c1cb, rs 0xffffffffa7b8c0cc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa7b8c0cb, rs 0xffffffffa7b8c0cc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa7b8c0ef, rs 0xffffffffa7b8c0cc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe0f7bb589ab7afbb, rs 0xe0f7bb589ab7aebc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe0f7bb589ab7aebb, rs 0xe0f7bb589ab7aebc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe0f7bb589ab7aedf, rs 0xe0f7bb589ab7aebc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa379de7a, rs 0xffffffffa379dd7b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa379dd7a, rs 0xffffffffa379dd7b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa379dd9e, rs 0xffffffffa379dd7b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe336c60cdeeb964c, rs 0xe336c60cdeeb954d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe336c60cdeeb954c, rs 0xe336c60cdeeb954d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe336c60cdeeb9570, rs 0xe336c60cdeeb954d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9b3661c5, rs 0xffffffff9b3660c6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9b3660c5, rs 0xffffffff9b3660c6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9b3660e9, rs 0xffffffff9b3660c6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd5b2120c6f52426d, rs 0xd5b2120c6f52416e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd5b2120c6f52416d, rs 0xd5b2120c6f52416e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd5b2120c6f524191, rs 0xd5b2120c6f52416e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9ff77e70, rs 0xffffffff9ff77d71, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9ff77d70, rs 0xffffffff9ff77d71, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9ff77d94, rs 0xffffffff9ff77d71, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x85a2d4ff7e628b33, rs 0x85a2d4ff7e628a34, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x85a2d4ff7e628a33, rs 0x85a2d4ff7e628a34, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x85a2d4ff7e628a57, rs 0x85a2d4ff7e628a34, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff92b45ca7, rs 0xffffffff92b45ba8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff92b45ba7, rs 0xffffffff92b45ba8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff92b45bcb, rs 0xffffffff92b45ba8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x986a2b654a4e7f06, rs 0x986a2b654a4e7e07, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x986a2b654a4e7e06, rs 0x986a2b654a4e7e07, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x986a2b654a4e7e2a, rs 0x986a2b654a4e7e07, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9675471e, rs 0xffffffff9675461f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9675461e, rs 0xffffffff9675461f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff96754642, rs 0xffffffff9675461f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa974eac43a489c54, rs 0xa974eac43a489b55, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa974eac43a489b54, rs 0xa974eac43a489b55, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa974eac43a489b78, rs 0xa974eac43a489b55, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff88321719, rs 0xffffffff8832161a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff88321619, rs 0xffffffff8832161a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8832163d, rs 0xffffffff8832161a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa388c16272f1f9f4, rs 0xa388c16272f1f8f5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa388c16272f1f8f4, rs 0xa388c16272f1f8f5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa388c16272f1f918, rs 0xa388c16272f1f8f5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8cf30cac, rs 0xffffffff8cf30bad, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8cf30bac, rs 0xffffffff8cf30bad, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8cf30bd0, rs 0xffffffff8cf30bad, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe8c11f45e7495fa8, rs 0xe8c11f45e7495ea9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe8c11f45e7495ea8, rs 0xe8c11f45e7495ea9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe8c11f45e7495ecc, rs 0xe8c11f45e7495ea9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff81b02e73, rs 0xffffffff81b02d74, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff81b02d73, rs 0xffffffff81b02d74, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff81b02d97, rs 0xffffffff81b02d74, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xadaa5a765cc1c9b3, rs 0xadaa5a765cc1c8b4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xadaa5a765cc1c8b3, rs 0xadaa5a765cc1c8b4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xadaa5a765cc1c8d7, rs 0xadaa5a765cc1c8b4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff857131c2, rs 0xffffffff857130c3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff857130c2, rs 0xffffffff857130c3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff857130e6, rs 0xffffffff857130c3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7ab4ce88dfa606bf, rs 0x7ab4ce88dfa605c0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7ab4ce88dfa605bf, rs 0x7ab4ce88dfa605c0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7ab4ce88dfa605e3, rs 0x7ab4ce88dfa605c0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5d8a9198, rs 0x5d8a9099, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5d8a9098, rs 0x5d8a9099, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5d8a90bc, rs 0x5d8a9099, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb42ad6e659a7b14e, rs 0xb42ad6e659a7b04f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb42ad6e659a7b04e, rs 0xb42ad6e659a7b04f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb42ad6e659a7b072, rs 0xb42ad6e659a7b04f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x594b8e2d, rs 0x594b8d2e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x594b8d2d, rs 0x594b8d2e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x594b8d51, rs 0x594b8d2e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4bf8485ab728932e, rs 0x4bf8485ab728922f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4bf8485ab728922e, rs 0x4bf8485ab728922f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4bf8485ab7289252, rs 0x4bf8485ab728922f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5408acf6, rs 0x5408abf7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5408abf6, rs 0x5408abf7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5408ac1a, rs 0x5408abf7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x76a3d60c3b66a8fa, rs 0x76a3d60c3b66a7fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x76a3d60c3b66a7fa, rs 0x76a3d60c3b66a7fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x76a3d60c3b66a81e, rs 0x76a3d60c3b66a7fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x50c9b73f, rs 0x50c9b640, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x50c9b63f, rs 0x50c9b640, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x50c9b663, rs 0x50c9b640, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x31e0c6affdc28fd9, rs 0x31e0c6affdc28eda, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x31e0c6affdc28ed9, rs 0x31e0c6affdc28eda, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x31e0c6affdc28efd, rs 0x31e0c6affdc28eda, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4e8ee744, rs 0x4e8ee645, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4e8ee644, rs 0x4e8ee645, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4e8ee668, rs 0x4e8ee645, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x53606bb4bf0c9a9c, rs 0x53606bb4bf0c999d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x53606bb4bf0c999c, rs 0x53606bb4bf0c999d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x53606bb4bf0c99c0, rs 0x53606bb4bf0c999d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4a4ffcf1, rs 0x4a4ffbf2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4a4ffbf1, rs 0x4a4ffbf2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4a4ffc15, rs 0x4a4ffbf2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x32fc12c81b791aef, rs 0x32fc12c81b7919f0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x32fc12c81b7919ef, rs 0x32fc12c81b7919f0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x32fc12c81b791a13, rs 0x32fc12c81b7919f0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x470cde2a, rs 0x470cdd2b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x470cdd2a, rs 0x470cdd2b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x470cdd4e, rs 0x470cdd2b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3ef88384c72efdd5, rs 0x3ef88384c72efcd6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3ef88384c72efcd5, rs 0x3ef88384c72efcd6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3ef88384c72efcf9, rs 0x3ef88384c72efcd6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x43cdc19b, rs 0x43cdc09c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x43cdc09b, rs 0x43cdc09c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x43cdc0bf, rs 0x43cdc09c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x38b1c7bb6a2a367f, rs 0x38b1c7bb6a2a3580, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x38b1c7bb6a2a357f, rs 0x38b1c7bb6a2a3580, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x38b1c7bb6a2a35a3, rs 0x38b1c7bb6a2a3580, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7b827e20, rs 0x7b827d21, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7b827d20, rs 0x7b827d21, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7b827d44, rs 0x7b827d21, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x15ebf6121dca78c8, rs 0x15ebf6121dca77c9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x15ebf6121dca77c8, rs 0x15ebf6121dca77c9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x15ebf6121dca77ec, rs 0x15ebf6121dca77c9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7f436195, rs 0x7f436096, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7f436095, rs 0x7f436096, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7f4360b9, rs 0x7f436096, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5eaacdd9fd9148ad, rs 0x5eaacdd9fd9147ae, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5eaacdd9fd9147ad, rs 0x5eaacdd9fd9147ae, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5eaacdd9fd9147d1, rs 0x5eaacdd9fd9147ae, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7200474e, rs 0x7200464f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7200464e, rs 0x7200464f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x72004672, rs 0x7200464f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbb8470f981e91216, rs 0xbb8470f981e91117, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbb8470f981e91116, rs 0xbb8470f981e91117, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbb8470f981e9113a, rs 0xbb8470f981e91117, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x76c15cf7, rs 0x76c15bf8, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x76c15bf7, rs 0x76c15bf8, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x76c15c1b, rs 0x76c15bf8, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x5d42aeac6a533df, rs 0x5d42aeac6a532e0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x5d42aeac6a532df, rs 0x5d42aeac6a532e0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x5d42aeac6a53303, rs 0x5d42aeac6a532e0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x68860cfc, rs 0x68860bfd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x68860bfc, rs 0x68860bfd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x68860c20, rs 0x68860bfd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x14abf36419fb9f62, rs 0x14abf36419fb9e63, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x14abf36419fb9e62, rs 0x14abf36419fb9e63, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x14abf36419fb9e86, rs 0x14abf36419fb9e63, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6c471749, rs 0x6c47164a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6c471649, rs 0x6c47164a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6c47166d, rs 0x6c47164a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x249d559aa8d72bab, rs 0x249d559aa8d72aac, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x249d559aa8d72aab, rs 0x249d559aa8d72aac, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x249d559aa8d72acf, rs 0x249d559aa8d72aac, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x61043192, rs 0x61043093, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x61043092, rs 0x61043093, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x610430b6, rs 0x61043093, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xcd6764f084b31eb, rs 0xcd6764f084b30ec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xcd6764f084b30eb, rs 0xcd6764f084b30ec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xcd6764f084b310f, rs 0xcd6764f084b30ec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x65c52e23, rs 0x65c52d24, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x65c52d23, rs 0x65c52d24, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x65c52d47, rs 0x65c52d24, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7f03ac07924690de, rs 0x7f03ac0792468fdf, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7f03ac0792468fde, rs 0x7f03ac0792468fdf, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7f03ac0792469002, rs 0x7f03ac0792468fdf, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x119b4ce8, rs 0x119b4be9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x119b4be8, rs 0x119b4be9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x119b4c0c, rs 0x119b4be9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7e35ce6d56e671f4, rs 0x7e35ce6d56e670f5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7e35ce6d56e670f4, rs 0x7e35ce6d56e670f5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7e35ce6d56e67118, rs 0x7e35ce6d56e670f5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x155a575d, rs 0x155a565e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x155a565d, rs 0x155a565e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x155a5681, rs 0x155a565e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x152828591a652810, rs 0x152828591a652711, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x152828591a652710, rs 0x152828591a652711, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x152828591a652734, rs 0x152828591a652711, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x18197186, rs 0x18197087, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x18197086, rs 0x18197087, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x181970aa, rs 0x18197087, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9e1c3283d215aafa, rs 0x9e1c3283d215a9fb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9e1c3283d215a9fa, rs 0x9e1c3283d215a9fb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9e1c3283d215aa1e, rs 0x9e1c3283d215a9fb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1cd86e2f, rs 0x1cd86d30, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1cd86d2f, rs 0x1cd86d30, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1cd86d53, rs 0x1cd86d30, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8d95c049282a0516, rs 0x8d95c049282a0417, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8d95c049282a0416, rs 0x8d95c049282a0417, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8d95c049282a043a, rs 0x8d95c049282a0417, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x29f3e34, rs 0x29f3d35, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x29f3d34, rs 0x29f3d35, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x29f3d58, rs 0x29f3d35, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf2e7a490978059f2, rs 0xf2e7a490978058f3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf2e7a490978058f2, rs 0xf2e7a490978058f3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf2e7a49097805916, rs 0xf2e7a490978058f3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x65e2181, rs 0x65e2082, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x65e2081, rs 0x65e2082, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x65e20a5, rs 0x65e2082, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x775b4cca0975b2a9, rs 0x775b4cca0975b1aa, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x775b4cca0975b1a9, rs 0x775b4cca0975b1aa, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x775b4cca0975b1cd, rs 0x775b4cca0975b1aa, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb1d075a, rs 0xb1d065b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb1d065a, rs 0xb1d065b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb1d067e, rs 0xb1d065b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa2b84a63511111f, rs 0xa2b84a635111020, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa2b84a63511101f, rs 0xa2b84a635111020, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa2b84a635111043, rs 0xa2b84a635111020, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfdc1ceb, rs 0xfdc1bec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfdc1beb, rs 0xfdc1bec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfdc1c0f, rs 0xfdc1bec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x23fa0d3a7d88c6e, rs 0x23fa0d3a7d88b6f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x23fa0d3a7d88b6e, rs 0x23fa0d3a7d88b6f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x23fa0d3a7d88b92, rs 0x23fa0d3a7d88b6f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3793a750, rs 0x3793a651, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3793a650, rs 0x3793a651, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3793a674, rs 0x3793a651, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa3d991b79941dfdc, rs 0xa3d991b79941dedd, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa3d991b79941dedc, rs 0xa3d991b79941dedd, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa3d991b79941df00, rs 0xa3d991b79941dedd, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3352bce5, rs 0x3352bbe6, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3352bbe5, rs 0x3352bbe6, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3352bc09, rs 0x3352bbe6, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x751cb4835a0d9607, rs 0x751cb4835a0d9508, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x751cb4835a0d9507, rs 0x751cb4835a0d9508, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x751cb4835a0d952b, rs 0x751cb4835a0d9508, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3e119e3e, rs 0x3e119d3f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3e119d3e, rs 0x3e119d3f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3e119d62, rs 0x3e119d3f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x949cad35625bb3d2, rs 0x949cad35625bb2d3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x949cad35625bb2d2, rs 0x949cad35625bb2d3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x949cad35625bb2f6, rs 0x949cad35625bb2d3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3ad08187, rs 0x3ad08088, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3ad08087, rs 0x3ad08088, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3ad080ab, rs 0x3ad08088, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7f567f35a6929838, rs 0x7f567f35a6929739, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7f567f35a6929738, rs 0x7f567f35a6929739, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7f567f35a692975c, rs 0x7f567f35a6929739, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2497d18c, rs 0x2497d08d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2497d08c, rs 0x2497d08d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2497d0b0, rs 0x2497d08d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x185b88e0db8d7e26, rs 0x185b88e0db8d7d27, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x185b88e0db8d7d26, rs 0x185b88e0db8d7d27, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x185b88e0db8d7d4a, rs 0x185b88e0db8d7d27, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2056ce39, rs 0x2056cd3a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2056cd39, rs 0x2056cd3a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2056cd5d, rs 0x2056cd3a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x255a4cd22fd61c90, rs 0x255a4cd22fd61b91, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x255a4cd22fd61b90, rs 0x255a4cd22fd61b91, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x255a4cd22fd61bb4, rs 0x255a4cd22fd61b91, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2d15ece2, rs 0x2d15ebe3, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2d15ebe2, rs 0x2d15ebe3, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2d15ec06, rs 0x2d15ebe3, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1048d589a436407a, rs 0x1048d589a4363f7b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1048d589a4363f7a, rs 0x1048d589a4363f7b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1048d589a4363f9e, rs 0x1048d589a4363f7b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x29d4f753, rs 0x29d4f654, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x29d4f653, rs 0x29d4f654, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x29d4f677, rs 0x29d4f654, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x6a6d5708f460588f, rs 0x6a6d5708f4605790, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x6a6d5708f460578f, rs 0x6a6d5708f4605790, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x6a6d5708f46057b3, rs 0x6a6d5708f4605790, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc5a92778, rs 0xffffffffc5a92679, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc5a92678, rs 0xffffffffc5a92679, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc5a9269c, rs 0xffffffffc5a92679, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd58ecbabde356a7e, rs 0xd58ecbabde35697f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd58ecbabde35697e, rs 0xd58ecbabde35697f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd58ecbabde3569a2, rs 0xd58ecbabde35697f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc1683ccd, rs 0xffffffffc1683bce, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc1683bcd, rs 0xffffffffc1683bce, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc1683bf1, rs 0xffffffffc1683bce, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x575548fd08c0a6f0, rs 0x575548fd08c0a5f1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x575548fd08c0a5f0, rs 0x575548fd08c0a5f1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x575548fd08c0a614, rs 0x575548fd08c0a5f1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffcc2b1e16, rs 0xffffffffcc2b1d17, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffcc2b1d16, rs 0xffffffffcc2b1d17, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffcc2b1d3a, rs 0xffffffffcc2b1d17, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x8bb640fb8ed98eda, rs 0x8bb640fb8ed98ddb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x8bb640fb8ed98dda, rs 0x8bb640fb8ed98ddb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x8bb640fb8ed98dfe, rs 0x8bb640fb8ed98ddb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffc8ea019f, rs 0xffffffffc8ea00a0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffc8ea009f, rs 0xffffffffc8ea00a0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffc8ea00c3, rs 0xffffffffc8ea00a0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xbe00d51eabc579cb, rs 0xbe00d51eabc578cc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xbe00d51eabc578cb, rs 0xbe00d51eabc578cc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xbe00d51eabc578ef, rs 0xbe00d51eabc578cc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd6ad51a4, rs 0xffffffffd6ad50a5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd6ad50a4, rs 0xffffffffd6ad50a5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd6ad50c8, rs 0xffffffffd6ad50a5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x2f7e224a1c170bb1, rs 0x2f7e224a1c170ab2, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x2f7e224a1c170ab1, rs 0x2f7e224a1c170ab2, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x2f7e224a1c170ad5, rs 0x2f7e224a1c170ab2, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffd26c4e11, rs 0xffffffffd26c4d12, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffd26c4d11, rs 0xffffffffd26c4d12, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffd26c4d35, rs 0xffffffffd26c4d12, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa978f12ca22257a6, rs 0xa978f12ca22256a7, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa978f12ca22256a6, rs 0xa978f12ca22256a7, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa978f12ca22256ca, rs 0xa978f12ca22256a7, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffdf2f6cca, rs 0xffffffffdf2f6bcb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffdf2f6bca, rs 0xffffffffdf2f6bcb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffdf2f6bee, rs 0xffffffffdf2f6bcb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9950a93b811ee12e, rs 0x9950a93b811ee02f, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9950a93b811ee02e, rs 0x9950a93b811ee02f, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9950a93b811ee052, rs 0x9950a93b811ee02f, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffdbee777b, rs 0xffffffffdbee767c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffdbee767b, rs 0xffffffffdbee767c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffdbee769f, rs 0xffffffffdbee767c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xb44eea93c6796b0b, rs 0xb44eea93c6796a0c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xb44eea93c6796a0b, rs 0xb44eea93c6796a0c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xb44eea93c6796a2f, rs 0xb44eea93c6796a0c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe3a1ccc0, rs 0xffffffffe3a1cbc1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe3a1cbc0, rs 0xffffffffe3a1cbc1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe3a1cbe4, rs 0xffffffffe3a1cbc1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfe71fca06c0eb756, rs 0xfe71fca06c0eb657, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfe71fca06c0eb656, rs 0xfe71fca06c0eb657, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfe71fca06c0eb67a, rs 0xfe71fca06c0eb657, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffe760d775, rs 0xffffffffe760d676, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffe760d675, rs 0xffffffffe760d676, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffe760d699, rs 0xffffffffe760d676, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x4ed6393df818b056, rs 0x4ed6393df818af57, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x4ed6393df818af56, rs 0x4ed6393df818af57, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x4ed6393df818af7a, rs 0x4ed6393df818af57, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffea23f1ae, rs 0xffffffffea23f0af, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffea23f0ae, rs 0xffffffffea23f0af, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffea23f0d2, rs 0xffffffffea23f0af, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xf22e902002367809, rs 0xf22e90200236770a, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xf22e902002367709, rs 0xf22e90200236770a, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xf22e90200236772d, rs 0xf22e90200236770a, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffeee2ee17, rs 0xffffffffeee2ed18, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffeee2ed17, rs 0xffffffffeee2ed18, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffeee2ed3b, rs 0xffffffffeee2ed18, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x81efb6c7afd0c55c, rs 0x81efb6c7afd0c45d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x81efb6c7afd0c45c, rs 0x81efb6c7afd0c45d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x81efb6c7afd0c480, rs 0x81efb6c7afd0c45d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff0a5be1c, rs 0xfffffffff0a5bd1d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff0a5bd1c, rs 0xfffffffff0a5bd1d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff0a5bd40, rs 0xfffffffff0a5bd1d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xeed8f3518102325a, rs 0xeed8f3518102315b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xeed8f3518102315a, rs 0xeed8f3518102315b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xeed8f3518102317e, rs 0xeed8f3518102315b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff464a1a9, rs 0xfffffffff464a0aa, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff464a0a9, rs 0xfffffffff464a0aa, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff464a0cd, rs 0xfffffffff464a0aa, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xadafefb9995efe5d, rs 0xadafefb9995efd5e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xadafefb9995efd5d, rs 0xadafefb9995efd5e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xadafefb9995efd81, rs 0xadafefb9995efd5e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffff9278772, rs 0xfffffffff9278673, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffff9278672, rs 0xfffffffff9278673, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffff9278696, rs 0xfffffffff9278673, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x34061933eb253185, rs 0x34061933eb253086, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x34061933eb253085, rs 0x34061933eb253086, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x34061933eb2530a9, rs 0x34061933eb253086, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xfffffffffde69cc3, rs 0xfffffffffde69bc4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xfffffffffde69bc3, rs 0xfffffffffde69bc4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xfffffffffde69be7, rs 0xfffffffffde69bc4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x1748da264b4c53bb, rs 0x1748da264b4c52bc, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x1748da264b4c52bb, rs 0x1748da264b4c52bc, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x1748da264b4c52df, rs 0x1748da264b4c52bc, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff89b8fe08, rs 0xffffffff89b8fd09, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff89b8fd08, rs 0xffffffff89b8fd09, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff89b8fd2c, rs 0xffffffff89b8fd09, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x34fdfc9a9302bf88, rs 0x34fdfc9a9302be89, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x34fdfc9a9302be88, rs 0x34fdfc9a9302be89, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x34fdfc9a9302beac, rs 0x34fdfc9a9302be89, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff8d79e1bd, rs 0xffffffff8d79e0be, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff8d79e0bd, rs 0xffffffff8d79e0be, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff8d79e0e1, rs 0xffffffff8d79e0be, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xd00278c3c521d27f, rs 0xd00278c3c521d180, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xd00278c3c521d17f, rs 0xd00278c3c521d180, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xd00278c3c521d1a3, rs 0xd00278c3c521d180, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff803ac766, rs 0xffffffff803ac667, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff803ac666, rs 0xffffffff803ac667, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff803ac68a, rs 0xffffffff803ac667, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xe90944a4c1d37b5c, rs 0xe90944a4c1d37a5d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xe90944a4c1d37a5c, rs 0xe90944a4c1d37a5d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xe90944a4c1d37a80, rs 0xe90944a4c1d37a5d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff84fbdccf, rs 0xffffffff84fbdbd0, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff84fbdbcf, rs 0xffffffff84fbdbd0, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff84fbdbf3, rs 0xffffffff84fbdbd0, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x65fd698fddef9938, rs 0x65fd698fddef9839, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x65fd698fddef9838, rs 0x65fd698fddef9839, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x65fd698fddef985c, rs 0x65fd698fddef9839, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9abc8cd4, rs 0xffffffff9abc8bd5, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9abc8bd4, rs 0xffffffff9abc8bd5, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9abc8bf8, rs 0xffffffff9abc8bd5, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xc49ee3ad81b5b051, rs 0xc49ee3ad81b5af52, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xc49ee3ad81b5af51, rs 0xc49ee3ad81b5af52, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xc49ee3ad81b5af75, rs 0xc49ee3ad81b5af52, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff9e7d9761, rs 0xffffffff9e7d9662, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff9e7d9661, rs 0xffffffff9e7d9662, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff9e7d9685, rs 0xffffffff9e7d9662, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x7aa941e8bdb264e8, rs 0x7aa941e8bdb263e9, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x7aa941e8bdb263e8, rs 0x7aa941e8bdb263e9, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x7aa941e8bdb2640c, rs 0x7aa941e8bdb263e9, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff933eb1ba, rs 0xffffffff933eb0bb, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff933eb0ba, rs 0xffffffff933eb0bb, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff933eb0de, rs 0xffffffff933eb0bb, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x372c209e42f3b68c, rs 0x372c209e42f3b58d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x372c209e42f3b58c, rs 0x372c209e42f3b58d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x372c209e42f3b5b0, rs 0x372c209e42f3b58d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffff97ffae0b, rs 0xffffffff97ffad0c, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffff97ffad0b, rs 0xffffffff97ffad0c, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffff97ffad2f, rs 0xffffffff97ffad0c, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x30f870b7e122a93a, rs 0x30f870b7e122a83b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x30f870b7e122a83a, rs 0x30f870b7e122a83b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x30f870b7e122a85e, rs 0x30f870b7e122a83b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffafb011b0, rs 0xffffffffafb010b1, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffafb010b0, rs 0xffffffffafb010b1, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffafb010d4, rs 0xffffffffafb010b1, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x9e02de4b678931eb, rs 0x9e02de4b678930ec, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x9e02de4b678930eb, rs 0x9e02de4b678930ec, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x9e02de4b6789310f, rs 0x9e02de4b678930ec, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffab710e05, rs 0xffffffffab710d06, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffab710d05, rs 0xffffffffab710d06, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffab710d29, rs 0xffffffffab710d06, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xcd61a8639826641d, rs 0xcd61a8639826631e, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xcd61a8639826631d, rs 0xcd61a8639826631e, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xcd61a86398266341, rs 0xcd61a8639826631e, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa6322cde, rs 0xffffffffa6322bdf, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa6322bde, rs 0xffffffffa6322bdf, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa6322c02, rs 0xffffffffa6322bdf, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xae87bc899a7bd4c9, rs 0xae87bc899a7bd3ca, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xae87bc899a7bd3c9, rs 0xae87bc899a7bd3ca, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xae87bc899a7bd3ed, rs 0xae87bc899a7bd3ca, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffa2f33767, rs 0xffffffffa2f33668, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffa2f33667, rs 0xffffffffa2f33668, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffa2f3368b, rs 0xffffffffa2f33668, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x58ec644d6481b016, rs 0x58ec644d6481af17, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x58ec644d6481af16, rs 0x58ec644d6481af17, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x58ec644d6481af3a, rs 0x58ec644d6481af17, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffbcb4676c, rs 0xffffffffbcb4666d, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffbcb4666c, rs 0xffffffffbcb4666d, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffbcb46690, rs 0xffffffffbcb4666d, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x680cce5fb236b765, rs 0x680cce5fb236b666, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x680cce5fb236b665, rs 0x680cce5fb236b666, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x680cce5fb236b689, rs 0x680cce5fb236b666, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb8757cd9, rs 0xffffffffb8757bda, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb8757bd9, rs 0xffffffffb8757bda, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb8757bfd, rs 0xffffffffb8757bda, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x3baa99471f6d4e74, rs 0x3baa99471f6d4d75, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x3baa99471f6d4d74, rs 0x3baa99471f6d4d75, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x3baa99471f6d4d98, rs 0x3baa99471f6d4d75, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb5365e02, rs 0xffffffffb5365d03, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb5365d02, rs 0xffffffffb5365d03, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb5365d26, rs 0xffffffffb5365d03, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0x614d9b445f12246a, rs 0x614d9b445f12236b, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0x614d9b445f12236a, rs 0x614d9b445f12236b, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0x614d9b445f12238e, rs 0x614d9b445f12236b, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xffffffffb1f741b3, rs 0xffffffffb1f740b4, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xffffffffb1f740b3, rs 0xffffffffb1f740b4, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xffffffffb1f740d7, rs 0xffffffffb1f740b4, imm 0x0023
+daddiu $t0, $t1, 0xff :: rt 0xa2a6ec661ba84220, rs 0xa2a6ec661ba84121, imm 0x00ff
+daddiu $t2, $t3, 0xffff :: rt 0xa2a6ec661ba84120, rs 0xa2a6ec661ba84121, imm 0xffff
+daddiu $a0, $a1, 0x0 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+daddiu $s0, $s1, 0x23 :: rt 0xa2a6ec661ba84144, rs 0xa2a6ec661ba84121, imm 0x0023
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x0, rt 0xffffffffb1f740b4
+daddu $s0, $s1, $s2 :: rd 0xa2a6ec661cd417cb, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0x0, rt 0xffffffffb5365d03
+daddu $s0, $s1, $s2 :: rd 0x61cc22a7e1e4ce7e, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0x9823b6e, rt 0xffffffffb8757bda
+daddu $s0, $s1, $s2 :: rd 0xd31807e1e2825e68, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xd4326d9, rt 0xffffffffbcb4666d
+daddu $s0, $s1, $s2 :: rd 0x1f813bd70d0d5c61, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0x130476dc, rt 0xffffffffa2f33668
+daddu $s0, $s1, $s2 :: rd 0x9b9d24efeaf96419, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+daddu $s0, $s1, $s2 :: rd 0xd93059bb38b80477, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0x1a864db2, rt 0xffffffffab710d06
+daddu $s0, $s1, $s2 :: rd 0xec9237271021a45b, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0x1e475005, rt 0xffffffffafb010b1
+daddu $s0, $s1, $s2 :: rd 0x18a3205f2eea15e3, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0x2608edb8, rt 0xffffffff97ffad0c
+daddu $s0, $s1, $s2 :: rd 0xcf68cd7cfbfb84db, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+daddu $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+daddu $s0, $s1, $s2 :: rd 0x8269fb24d9095b9a, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+daddu $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+daddu $s0, $s1, $s2 :: rd 0x8090e6c621063806, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+daddu $s0, $s1, $s2 :: rd 0xff923e4b45c18365, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+daddu $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+daddu $s0, $s1, $s2 :: rd 0xadf26ee677f839b9, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0x31cd86d3, rt 0xffffffff803ac667
+daddu $s0, $s1, $s2 :: rd 0x7e6dfc2498a57e6c, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+daddu $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+daddu $s0, $s1, $s2 :: rd 0x9ebefb3d77e93d3e, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+daddu $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+daddu $s0, $s1, $s2 :: rd 0xea0148c9b21ba350, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+daddu $t0, $t1, $t2 :: rd 0x49f87734, rs 0x4c11db70, rt 0xfffffffffde69bc4
+daddu $s0, $s1, $s2 :: rd 0xac482d22ccfbfa53, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+daddu $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+daddu $s0, $s1, $s2 :: rd 0x65def24a59218170, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+daddu $t0, $t1, $t2 :: rd 0x39f880c8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+daddu $s0, $s1, $s2 :: rd 0xe4048b901247930f, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+daddu $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+daddu $s0, $s1, $s2 :: rd 0x74b999831c6556f6, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+daddu $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0x5f15adac, rt 0xffffffffeee2ed18
+daddu $s0, $s1, $s2 :: rd 0xd75af5927cc23f22, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+daddu $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+daddu $s0, $s1, $s2 :: rd 0xa65defe584251805, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+daddu $t0, $t1, $t2 :: rd 0x3df86d38, rs 0x569796c2, rt 0xffffffffe760d676
+daddu $s0, $s1, $s2 :: rd 0x748b492a0c80dcee, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+daddu $t0, $t1, $t2 :: rd 0x35f85736, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+daddu $s0, $s1, $s2 :: rd 0xfb05c1b39909bed1, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+daddu $t0, $t1, $t2 :: rd 0x4607ad44, rs 0x6a1936c8, rt 0xffffffffdbee767c
+daddu $s0, $s1, $s2 :: rd 0xf07bc43d941b7172, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+daddu $t0, $t1, $t2 :: rd 0x4e07974a, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+daddu $s0, $s1, $s2 :: rd 0xb0e21b65fe91ba6d, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+daddu $t0, $t1, $t2 :: rd 0x36075ab8, rs 0x639b0da6, rt 0xffffffffd26c4d12
+daddu $s0, $s1, $s2 :: rd 0xb1f5bafe35f07b54, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+daddu $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0x675a1011, rt 0xffffffffd6ad50a5
+daddu $s0, $s1, $s2 :: rd 0x4ca897ba54af5984, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+daddu $t0, $t1, $t2 :: rd 0x420740b4, rs 0x791d4014, rt 0xffffffffc8ea00a0
+daddu $s0, $s1, $s2 :: rd 0x8ed145fa1cd24902, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+daddu $t0, $t1, $t2 :: rd 0x4a077aba, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+daddu $s0, $s1, $s2 :: rd 0xc5785d78921ae3df, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+daddu $t0, $t1, $t2 :: rd 0x3207b748, rs 0x709f7b7a, rt 0xffffffffc1683bce
+daddu $s0, $s1, $s2 :: rd 0xe5ea00ac978cd7bf, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+daddu $t0, $t1, $t2 :: rd 0x3a078d46, rs 0x745e66cd, rt 0xffffffffc5a92679
+daddu $s0, $s1, $s2 :: rd 0xfa7a3638fb1cd0ce, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0xffffffff9823b6e0, rt 0x29d4f654
+daddu $s0, $s1, $s2 :: rd 0x99a69c4d07373c37, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+daddu $s0, $s1, $s2 :: rd 0x36519840fb108bcf, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+daddu $s0, $s1, $s2 :: rd 0xb55b4facf8ad40c0, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0xffffffff95609039, rt 0x2497d08d
+daddu $s0, $s1, $s2 :: rd 0xe0ec5ed2ce7d221e, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+daddu $s0, $s1, $s2 :: rd 0x6ca685016f43394d, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+daddu $s0, $s1, $s2 :: rd 0xc5e43ebebbecc63f, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+daddu $s0, $s1, $s2 :: rd 0x3c0b847cf43d4bfb, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0xffffffff8664e6e5, rt 0x3793a651
+daddu $s0, $s1, $s2 :: rd 0x4be2e3c9d1cb314d, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+daddu $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+daddu $s0, $s1, $s2 :: rd 0x89b4aad8554edbaf, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xffffffffbaea46ef, rt 0xb1d065b
+daddu $s0, $s1, $s2 :: rd 0x36696d04b9cc6aa3, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0xffffffffb7a96036, rt 0x65e2082
+daddu $s0, $s1, $s2 :: rd 0x25c64c59ce7c5c11, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+daddu $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0xffffffffb3687d81, rt 0x29f3d35
+daddu $s0, $s1, $s2 :: rd 0xb358b76df86db7d6, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+daddu $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+daddu $s0, $s1, $s2 :: rd 0x525d313f5906ce71, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+daddu $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0xffffffffa9ee3033, rt 0x18197087
+daddu $s0, $s1, $s2 :: rd 0x7e085da755e2fc72, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+daddu $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0xffffffffa4ad16ea, rt 0x155a565e
+daddu $s0, $s1, $s2 :: rd 0xe8d5e27f2a5d007c, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+daddu $s0, $s1, $s2 :: rd 0xc8ea78e6daff3103, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+daddu $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0xffffffffd4326d90, rt 0x65c52d24
+daddu $s0, $s1, $s2 :: rd 0x3a8faf65a0278097, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+daddu $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0xffffffffd0f37027, rt 0x61043093
+daddu $s0, $s1, $s2 :: rd 0x4086e5a3b1cb0ddd, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+daddu $t0, $t1, $t2 :: rd 0x49f76d48, rs 0xffffffffddb056fe, rt 0x6c47164a
+daddu $s0, $s1, $s2 :: rd 0x9be094d1e8a8eb2d, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+daddu $t0, $t1, $t2 :: rd 0x41f75746, rs 0xffffffffd9714b49, rt 0x68860bfd
+daddu $s0, $s1, $s2 :: rd 0x13dccf7e31d3447, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+daddu $t0, $t1, $t2 :: rd 0x3df77744, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+daddu $s0, $s1, $s2 :: rd 0x4fd021925c56d88b, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+daddu $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0xffffffffc3f706fb, rt 0x7200464f
+daddu $s0, $s1, $s2 :: rd 0xd4bab47249b79e35, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+daddu $t0, $t1, $t2 :: rd 0x4df780b8, rs 0xffffffffceb42022, rt 0x7f436096
+daddu $s0, $s1, $s2 :: rd 0x18495bc92cc990b5, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+daddu $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0xffffffffca753d95, rt 0x7b827d21
+daddu $s0, $s1, $s2 :: rd 0x5dd6c3df75f58ac7, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+daddu $t0, $t1, $t2 :: rd 0x360840c4, rs 0xfffffffff23a8028, rt 0x43cdc09c
+daddu $s0, $s1, $s2 :: rd 0xf375009e07fc1cf, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+daddu $t0, $t1, $t2 :: rd 0x3e087aca, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+daddu $s0, $s1, $s2 :: rd 0xa06159aefbf0929d, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+daddu $t0, $t1, $t2 :: rd 0x4608b738, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+daddu $s0, $s1, $s2 :: rd 0x5fd7c51696d8df5, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+daddu $t0, $t1, $t2 :: rd 0x4e088d36, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+daddu $s0, $s1, $s2 :: rd 0x7001fc742bc7a078, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+daddu $t0, $t1, $t2 :: rd 0x3208ad34, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+daddu $s0, $s1, $s2 :: rd 0x8a10d5b29a70c814, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+daddu $t0, $t1, $t2 :: rd 0x3a08973a, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+daddu $s0, $s1, $s2 :: rd 0x113d35e817e56428, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+daddu $t0, $t1, $t2 :: rd 0x42085ac8, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+daddu $s0, $s1, $s2 :: rd 0xd68e4cd69a68ed77, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+daddu $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+daddu $s0, $s1, $s2 :: rd 0x29ea86b92ec18371, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0x34867077, rt 0xffffffff857130c3
+daddu $s0, $s1, $s2 :: rd 0x58d7d6f085d6fc6d, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0x30476dc0, rt 0xffffffff81b02d74
+daddu $s0, $s1, $s2 :: rd 0xd9b46768b2d1fb14, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0x3d044b19, rt 0xffffffff8cf30bad
+daddu $s0, $s1, $s2 :: rd 0x7d6a248a0be47798, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0x39c556ae, rt 0xffffffff8832161a
+daddu $s0, $s1, $s2 :: rd 0x9cda6117ce48f5d3, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0x278206ab, rt 0xffffffff9675461f
+daddu $s0, $s1, $s2 :: rd 0x2b4fe2e43eb0ccf0, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0x23431b1c, rt 0xffffffff92b45ba8
+daddu $s0, $s1, $s2 :: rd 0x24cbf5bfa17470f3, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+daddu $s0, $s1, $s2 :: rd 0x11387bdd40c052f3, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0x2ac12072, rt 0xffffffff9b3660c6
+daddu $s0, $s1, $s2 :: rd 0x5bef95e4a18579d, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+daddu $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+daddu $s0, $s1, $s2 :: rd 0x4aafc400993e3d9d, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+daddu $s0, $s1, $s2 :: rd 0x8df86d50752ff65b, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+daddu $s0, $s1, $s2 :: rd 0x5ae7a644ab7c6588, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+daddu $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+daddu $s0, $s1, $s2 :: rd 0x311fe7b5ca09b45d, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+daddu $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0x18aeb13, rt 0xffffffffb07daba7
+daddu $s0, $s1, $s2 :: rd 0xabcc17669d044204, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+daddu $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+daddu $s0, $s1, $s2 :: rd 0x68d29282ddcf9360, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+daddu $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0x808d07d, rt 0xffffffffb9ff90c9
+daddu $s0, $s1, $s2 :: rd 0x2afb8b5d409aa8b9, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+daddu $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+daddu $s0, $s1, $s2 :: rd 0xf585751a950c37d1, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+daddu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0xf1e551060da5c686, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+daddu $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+daddu $s0, $s1, $s2 :: rd 0x9c06b9adcb7a3ce9, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+daddu $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0xa651c48b43f4ee38, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+daddu $t0, $t1, $t2 :: rd 0x39f85b48, rs 0x75d48dde, rt 0xffffffffc423cd6a
+daddu $s0, $s1, $s2 :: rd 0x561ffd0642ec219e, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+daddu $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0x6b93dddb, rt 0xffffffffda649d6f
+daddu $s0, $s1, $s2 :: rd 0x49421800b5fb62a6, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+daddu $t0, $t1, $t2 :: rd 0x4df84144, rs 0x6f52c06c, rt 0xffffffffdea580d8
+daddu $s0, $s1, $s2 :: rd 0xfe1cf67474708337, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+daddu $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+daddu $s0, $s1, $s2 :: rd 0x756f23a8f08cc101, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+daddu $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+daddu $s0, $s1, $s2 :: rd 0x3e6e3a68408cfe8e, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+daddu $t0, $t1, $t2 :: rd 0x4e074cca, rs 0x5e9f46bf, rt 0xffffffffef68060b
+daddu $s0, $s1, $s2 :: rd 0x6116b6f0a866439a, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+daddu $t0, $t1, $t2 :: rd 0x460776c4, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+daddu $s0, $s1, $s2 :: rd 0x1e81930d7d61cb4d, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+daddu $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+daddu $s0, $s1, $s2 :: rd 0x583cdf7812c4179b, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+daddu $t0, $t1, $t2 :: rd 0x36078138, rs 0x53dc6066, rt 0xffffffffe22b20d2
+daddu $s0, $s1, $s2 :: rd 0x303648e256318338, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+daddu $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+daddu $s0, $s1, $s2 :: rd 0x37a0301de9484fcc, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+daddu $t0, $t1, $t2 :: rd 0x42079b34, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+daddu $s0, $s1, $s2 :: rd 0xfbed7041ac815498, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+daddu $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+daddu $s0, $s1, $s2 :: rd 0x22399ba190373034, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+daddu $t0, $t1, $t2 :: rd 0x32076cc8, rs 0x40d816ba, rt 0xfffffffff12f560e
+daddu $s0, $s1, $s2 :: rd 0xb27365ea7f6347c1, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0xffffffffaca5c697, rt 0x1d528623
+daddu $s0, $s1, $s2 :: rd 0x58d8b55987641348, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0xffffffffa864db20, rt 0x19939b94
+daddu $s0, $s1, $s2 :: rd 0x34205c9fb7440326, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+daddu $s0, $s1, $s2 :: rd 0xe988c54f300c66b0, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+daddu $s0, $s1, $s2 :: rd 0x3318757f4f3b289, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+daddu $s0, $s1, $s2 :: rd 0x100f8d33356e4dfe, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xffffffffbb60adfc, rt 0xa97ed48
+daddu $s0, $s1, $s2 :: rd 0x11a6553063c00074, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0xffffffffb6238b25, rt 0x7d4cb91
+daddu $s0, $s1, $s2 :: rd 0x8c1a713896709bed, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0xffffffffb2e29692, rt 0x315d626
+daddu $s0, $s1, $s2 :: rd 0x9bb8a87704e5a5e3, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+daddu $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+daddu $s0, $s1, $s2 :: rd 0xf8ace4275fb733d5, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+daddu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x0, rt 0x3f9b762c
+daddu $s0, $s1, $s2 :: rd 0x2b40088c016a8849, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+daddu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x0, rt 0x32d850f5
+daddu $s0, $s1, $s2 :: rd 0x4471e20a6ec4b26, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0xffffffff87ee0df6, rt 0x36194d42
+daddu $s0, $s1, $s2 :: rd 0xa048958f428a9099, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+daddu $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0xffffffff99a95df3, rt 0x285e1d47
+daddu $s0, $s1, $s2 :: rd 0x1c5d6c1a9ef65e17, rs 0x663d061055833287, rt 0xb620660a49732b90
+daddu $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0xffffffff9d684044, rt 0x2c9f00f0
+daddu $s0, $s1, $s2 :: rd 0x5f7bbc71d87a53a7, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0xffffffff902b669d, rt 0x21dc2629
+daddu $s0, $s1, $s2 :: rd 0xbbcb04f526fbc815, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+daddu $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+daddu $s0, $s1, $s2 :: rd 0x8173d8fabcd2c4e8, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+daddu $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0xffffffffe0b41de7, rt 0x51435d53
+daddu $s0, $s1, $s2 :: rd 0x657a018751e33d5, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+daddu $t0, $t1, $t2 :: rd 0x39f74134, rs 0xffffffffe4750050, rt 0x558240e4
+daddu $s0, $s1, $s2 :: rd 0x7a00a2b51e498136, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+daddu $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0xffffffffe9362689, rt 0x58c1663d
+daddu $s0, $s1, $s2 :: rd 0x3804d6a2e069bea4, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+daddu $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+daddu $s0, $s1, $s2 :: rd 0x14845c91fd6d9331, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+daddu $t0, $t1, $t2 :: rd 0x35f796ca, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+daddu $s0, $s1, $s2 :: rd 0x30f39a8592e1343e, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+daddu $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0xfffffffff771768c, rt 0x46863638
+daddu $s0, $s1, $s2 :: rd 0xa20750a4fd5a2f63, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+daddu $t0, $t1, $t2 :: rd 0x45f76136, rs 0xfffffffffa325055, rt 0x4bc510e1
+daddu $s0, $s1, $s2 :: rd 0x4f1a2a2b5653f02b, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+daddu $t0, $t1, $t2 :: rd 0x4df75b38, rs 0xfffffffffef34de2, rt 0x4f040d56
+daddu $s0, $s1, $s2 :: rd 0xdeff700808908111, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+daddu $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+daddu $s0, $s1, $s2 :: rd 0x28a6ae5f5727d351, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+daddu $t0, $t1, $t2 :: rd 0x36089b44, rs 0xffffffffc27dede8, rt 0x738aad5c
+daddu $s0, $s1, $s2 :: rd 0xb1679b6941782431, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+daddu $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+daddu $s0, $s1, $s2 :: rd 0x8edaba728b9835c4, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+daddu $t0, $t1, $t2 :: rd 0x46086cb8, rs 0xffffffffcbffd686, rt 0x7a089632
+daddu $s0, $s1, $s2 :: rd 0xaa91f28db6043819, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+daddu $t0, $t1, $t2 :: rd 0x3a084cba, rs 0xffffffffd5b88683, rt 0x644fc637
+daddu $s0, $s1, $s2 :: rd 0x79517105789ea6b, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+daddu $t0, $t1, $t2 :: rd 0x320876b4, rs 0xffffffffd1799b34, rt 0x608edb80
+daddu $s0, $s1, $s2 :: rd 0x901308ba9b3ba2bd, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+daddu $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+daddu $s0, $s1, $s2 :: rd 0x802fe00b083fc308, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+daddu $t0, $t1, $t2 :: rd 0x42088148, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+daddu $s0, $s1, $s2 :: rd 0x6448b1f35f0962e2, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+daddu $t0, $t1, $t2 :: rd 0x42088148, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+daddu $s0, $s1, $s2 :: rd 0x6448b1f35f0962e2, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+daddu $t0, $t1, $t2 :: rd 0x4a08bb46, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+daddu $s0, $s1, $s2 :: rd 0x802fe00b083fc308, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+daddu $t0, $t1, $t2 :: rd 0x320876b4, rs 0x608edb80, rt 0xffffffffd1799b34
+daddu $s0, $s1, $s2 :: rd 0x901308ba9b3ba2bd, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+daddu $t0, $t1, $t2 :: rd 0x3a084cba, rs 0x644fc637, rt 0xffffffffd5b88683
+daddu $s0, $s1, $s2 :: rd 0x79517105789ea6b, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+daddu $t0, $t1, $t2 :: rd 0x46086cb8, rs 0x7a089632, rt 0xffffffffcbffd686
+daddu $s0, $s1, $s2 :: rd 0xaa91f28db6043819, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+daddu $t0, $t1, $t2 :: rd 0x4e0856b6, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+daddu $s0, $s1, $s2 :: rd 0x8edaba728b9835c4, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+daddu $t0, $t1, $t2 :: rd 0x36089b44, rs 0x738aad5c, rt 0xffffffffc27dede8
+daddu $s0, $s1, $s2 :: rd 0xb1679b6941782431, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+daddu $t0, $t1, $t2 :: rd 0x3e08a14a, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+daddu $s0, $s1, $s2 :: rd 0x28a6ae5f5727d351, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+daddu $t0, $t1, $t2 :: rd 0x4df75b38, rs 0x4f040d56, rt 0xfffffffffef34de2
+daddu $s0, $s1, $s2 :: rd 0xdeff700808908111, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+daddu $t0, $t1, $t2 :: rd 0x45f76136, rs 0x4bc510e1, rt 0xfffffffffa325055
+daddu $s0, $s1, $s2 :: rd 0x4f1a2a2b5653f02b, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+daddu $t0, $t1, $t2 :: rd 0x3df7acc4, rs 0x46863638, rt 0xfffffffff771768c
+daddu $s0, $s1, $s2 :: rd 0xa20750a4fd5a2f63, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+daddu $t0, $t1, $t2 :: rd 0x35f796ca, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+daddu $s0, $s1, $s2 :: rd 0x30f39a8592e1343e, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+daddu $t0, $t1, $t2 :: rd 0x49f7b6c8, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+daddu $s0, $s1, $s2 :: rd 0x14845c91fd6d9331, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+daddu $t0, $t1, $t2 :: rd 0x41f78cc6, rs 0x58c1663d, rt 0xffffffffe9362689
+daddu $s0, $s1, $s2 :: rd 0x3804d6a2e069bea4, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+daddu $t0, $t1, $t2 :: rd 0x39f74134, rs 0x558240e4, rt 0xffffffffe4750050
+daddu $s0, $s1, $s2 :: rd 0x7a00a2b51e498136, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+daddu $t0, $t1, $t2 :: rd 0x31f77b3a, rs 0x51435d53, rt 0xffffffffe0b41de7
+daddu $s0, $s1, $s2 :: rd 0x657a018751e33d5, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+daddu $t0, $t1, $t2 :: rd 0xffffffffba07b6c8, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+daddu $s0, $s1, $s2 :: rd 0x8173d8fabcd2c4e8, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2078cc6, rs 0x21dc2629, rt 0xffffffff902b669d
+daddu $s0, $s1, $s2 :: rd 0xbbcb04f526fbc815, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+daddu $t0, $t1, $t2 :: rd 0xffffffffca074134, rs 0x2c9f00f0, rt 0xffffffff9d684044
+daddu $s0, $s1, $s2 :: rd 0x5f7bbc71d87a53a7, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc2077b3a, rs 0x285e1d47, rt 0xffffffff99a95df3
+daddu $s0, $s1, $s2 :: rd 0x1c5d6c1a9ef65e17, rs 0xb620660a49732b90, rt 0x663d061055833287
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe075b38, rs 0x36194d42, rt 0xffffffff87ee0df6
+daddu $s0, $s1, $s2 :: rd 0xa048958f428a9099, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+daddu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0x4471e20a6ec4b26, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+daddu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0x2b40088c016a8849, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+daddu $t0, $t1, $t2 :: rd 0xffffffffc60796ca, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+daddu $s0, $s1, $s2 :: rd 0xf8ace4275fb733d5, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f86cb8, rs 0x315d626, rt 0xffffffffb2e29692
+daddu $s0, $s1, $s2 :: rd 0x9bb8a87704e5a5e3, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf856b6, rs 0x7d4cb91, rt 0xffffffffb6238b25
+daddu $s0, $s1, $s2 :: rd 0x8c1a713896709bed, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f89b44, rs 0xa97ed48, rt 0xffffffffbb60adfc
+daddu $s0, $s1, $s2 :: rd 0x11a6553063c00074, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf8a14a, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+daddu $s0, $s1, $s2 :: rd 0x100f8d33356e4dfe, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f88148, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+daddu $s0, $s1, $s2 :: rd 0x3318757f4f3b289, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f8bb46, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+daddu $s0, $s1, $s2 :: rd 0xe988c54f300c66b0, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f876b4, rs 0x19939b94, rt 0xffffffffa864db20
+daddu $s0, $s1, $s2 :: rd 0x34205c9fb7440326, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f84cba, rs 0x1d528623, rt 0xffffffffaca5c697
+daddu $s0, $s1, $s2 :: rd 0x58d8b55987641348, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+daddu $t0, $t1, $t2 :: rd 0x32076cc8, rs 0xfffffffff12f560e, rt 0x40d816ba
+daddu $s0, $s1, $s2 :: rd 0xb27365ea7f6347c1, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+daddu $t0, $t1, $t2 :: rd 0x3a0756c6, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+daddu $s0, $s1, $s2 :: rd 0x22399ba190373034, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+daddu $t0, $t1, $t2 :: rd 0x42079b34, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+daddu $s0, $s1, $s2 :: rd 0xfbed7041ac815498, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+daddu $t0, $t1, $t2 :: rd 0x4a07a13a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+daddu $s0, $s1, $s2 :: rd 0x37a0301de9484fcc, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+daddu $t0, $t1, $t2 :: rd 0x36078138, rs 0xffffffffe22b20d2, rt 0x53dc6066
+daddu $s0, $s1, $s2 :: rd 0x303648e256318338, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+daddu $t0, $t1, $t2 :: rd 0x3e07bb36, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+daddu $s0, $s1, $s2 :: rd 0x583cdf7812c4179b, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+daddu $t0, $t1, $t2 :: rd 0x460776c4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+daddu $s0, $s1, $s2 :: rd 0x1e81930d7d61cb4d, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+daddu $t0, $t1, $t2 :: rd 0x4e074cca, rs 0xffffffffef68060b, rt 0x5e9f46bf
+daddu $s0, $s1, $s2 :: rd 0x6116b6f0a866439a, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+daddu $t0, $t1, $t2 :: rd 0x3df8b6b8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+daddu $s0, $s1, $s2 :: rd 0x3e6e3a68408cfe8e, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+daddu $t0, $t1, $t2 :: rd 0x35f88cb6, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+daddu $s0, $s1, $s2 :: rd 0x756f23a8f08cc101, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+daddu $t0, $t1, $t2 :: rd 0x4df84144, rs 0xffffffffdea580d8, rt 0x6f52c06c
+daddu $s0, $s1, $s2 :: rd 0xfe1cf67474708337, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+daddu $t0, $t1, $t2 :: rd 0x45f87b4a, rs 0xffffffffda649d6f, rt 0x6b93dddb
+daddu $s0, $s1, $s2 :: rd 0x49421800b5fb62a6, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+daddu $t0, $t1, $t2 :: rd 0x39f85b48, rs 0xffffffffc423cd6a, rt 0x75d48dde
+daddu $s0, $s1, $s2 :: rd 0x561ffd0642ec219e, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+daddu $t0, $t1, $t2 :: rd 0x71159069, rs 0x0, rt 0x71159069
+daddu $s0, $s1, $s2 :: rd 0xa651c48b43f4ee38, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+daddu $t0, $t1, $t2 :: rd 0x49f8acb4, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+daddu $s0, $s1, $s2 :: rd 0x9c06b9adcb7a3ce9, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+daddu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x0, rt 0x7897ab07
+daddu $s0, $s1, $s2 :: rd 0xf1e551060da5c686, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+daddu $t0, $t1, $t2 :: rd 0xffffffffca085b48, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+daddu $s0, $s1, $s2 :: rd 0xf585751a950c37d1, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+daddu $t0, $t1, $t2 :: rd 0xffffffffc2086146, rs 0xffffffffb9ff90c9, rt 0x808d07d
+daddu $s0, $s1, $s2 :: rd 0x2afb8b5d409aa8b9, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+daddu $t0, $t1, $t2 :: rd 0xffffffffba08acb4, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+daddu $s0, $s1, $s2 :: rd 0x68d29282ddcf9360, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+daddu $t0, $t1, $t2 :: rd 0xffffffffb20896ba, rs 0xffffffffb07daba7, rt 0x18aeb13
+daddu $s0, $s1, $s2 :: rd 0xabcc17669d044204, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+daddu $t0, $t1, $t2 :: rd 0xffffffffce08b6b8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+daddu $s0, $s1, $s2 :: rd 0x311fe7b5ca09b45d, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6088cb6, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+daddu $s0, $s1, $s2 :: rd 0x5ae7a644ab7c6588, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe084144, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+daddu $s0, $s1, $s2 :: rd 0x8df86d50752ff65b, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+daddu $t0, $t1, $t2 :: rd 0xffffffffb6087b4a, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+daddu $s0, $s1, $s2 :: rd 0x4aafc400993e3d9d, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f78138, rs 0xffffffff9b3660c6, rt 0x2ac12072
+daddu $s0, $s1, $s2 :: rd 0x5bef95e4a18579d, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf7bb36, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+daddu $s0, $s1, $s2 :: rd 0x11387bdd40c052f3, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f776c4, rs 0xffffffff92b45ba8, rt 0x23431b1c
+daddu $s0, $s1, $s2 :: rd 0x24cbf5bfa17470f3, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf74cca, rs 0xffffffff9675461f, rt 0x278206ab
+daddu $s0, $s1, $s2 :: rd 0x2b4fe2e43eb0ccf0, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f76cc8, rs 0xffffffff8832161a, rt 0x39c556ae
+daddu $s0, $s1, $s2 :: rd 0x9cda6117ce48f5d3, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f756c6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+daddu $s0, $s1, $s2 :: rd 0x7d6a248a0be47798, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f79b34, rs 0xffffffff81b02d74, rt 0x30476dc0
+daddu $s0, $s1, $s2 :: rd 0xd9b46768b2d1fb14, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f7a13a, rs 0xffffffff857130c3, rt 0x34867077
+daddu $s0, $s1, $s2 :: rd 0x58d7d6f085d6fc6d, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+daddu $t0, $t1, $t2 :: rd 0x4a0860c6, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+daddu $s0, $s1, $s2 :: rd 0x29ea86b92ec18371, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+daddu $t0, $t1, $t2 :: rd 0x42085ac8, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+daddu $s0, $s1, $s2 :: rd 0xd68e4cd69a68ed77, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+daddu $t0, $t1, $t2 :: rd 0x3a08973a, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+daddu $s0, $s1, $s2 :: rd 0x113d35e817e56428, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+daddu $t0, $t1, $t2 :: rd 0x3208ad34, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+daddu $s0, $s1, $s2 :: rd 0x8a10d5b29a70c814, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+daddu $t0, $t1, $t2 :: rd 0x4e088d36, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+daddu $s0, $s1, $s2 :: rd 0x7001fc742bc7a078, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+daddu $t0, $t1, $t2 :: rd 0x4608b738, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+daddu $s0, $s1, $s2 :: rd 0x5fd7c51696d8df5, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+daddu $t0, $t1, $t2 :: rd 0x3e087aca, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+daddu $s0, $s1, $s2 :: rd 0xa06159aefbf0929d, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+daddu $t0, $t1, $t2 :: rd 0x360840c4, rs 0x43cdc09c, rt 0xfffffffff23a8028
+daddu $s0, $s1, $s2 :: rd 0xf375009e07fc1cf, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+daddu $t0, $t1, $t2 :: rd 0x45f7bab6, rs 0x7b827d21, rt 0xffffffffca753d95
+daddu $s0, $s1, $s2 :: rd 0x5dd6c3df75f58ac7, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+daddu $t0, $t1, $t2 :: rd 0x4df780b8, rs 0x7f436096, rt 0xffffffffceb42022
+daddu $s0, $s1, $s2 :: rd 0x18495bc92cc990b5, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+daddu $t0, $t1, $t2 :: rd 0x35f74d4a, rs 0x7200464f, rt 0xffffffffc3f706fb
+daddu $s0, $s1, $s2 :: rd 0xd4bab47249b79e35, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+daddu $t0, $t1, $t2 :: rd 0x3df77744, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+daddu $s0, $s1, $s2 :: rd 0x4fd021925c56d88b, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+daddu $t0, $t1, $t2 :: rd 0x41f75746, rs 0x68860bfd, rt 0xffffffffd9714b49
+daddu $s0, $s1, $s2 :: rd 0x13dccf7e31d3447, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+daddu $t0, $t1, $t2 :: rd 0x49f76d48, rs 0x6c47164a, rt 0xffffffffddb056fe
+daddu $s0, $s1, $s2 :: rd 0x9be094d1e8a8eb2d, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+daddu $t0, $t1, $t2 :: rd 0x31f7a0ba, rs 0x61043093, rt 0xffffffffd0f37027
+daddu $s0, $s1, $s2 :: rd 0x4086e5a3b1cb0ddd, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+daddu $t0, $t1, $t2 :: rd 0x39f79ab4, rs 0x65c52d24, rt 0xffffffffd4326d90
+daddu $s0, $s1, $s2 :: rd 0x3a8faf65a0278097, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2075746, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+daddu $s0, $s1, $s2 :: rd 0xc8ea78e6daff3103, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+daddu $t0, $t1, $t2 :: rd 0xffffffffba076d48, rs 0x155a565e, rt 0xffffffffa4ad16ea
+daddu $s0, $s1, $s2 :: rd 0xe8d5e27f2a5d007c, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+daddu $t0, $t1, $t2 :: rd 0xffffffffc207a0ba, rs 0x18197087, rt 0xffffffffa9ee3033
+daddu $s0, $s1, $s2 :: rd 0x7e085da755e2fc72, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+daddu $t0, $t1, $t2 :: rd 0xffffffffca079ab4, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+daddu $s0, $s1, $s2 :: rd 0x525d313f5906ce71, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+daddu $t0, $t1, $t2 :: rd 0xffffffffb607bab6, rs 0x29f3d35, rt 0xffffffffb3687d81
+daddu $s0, $s1, $s2 :: rd 0xb358b76df86db7d6, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe0780b8, rs 0x65e2082, rt 0xffffffffb7a96036
+daddu $s0, $s1, $s2 :: rd 0x25c64c59ce7c5c11, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6074d4a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+daddu $s0, $s1, $s2 :: rd 0x36696d04b9cc6aa3, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+daddu $t0, $t1, $t2 :: rd 0xffffffffce077744, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+daddu $s0, $s1, $s2 :: rd 0x89b4aad8554edbaf, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf88d36, rs 0x3793a651, rt 0xffffffff8664e6e5
+daddu $s0, $s1, $s2 :: rd 0x4be2e3c9d1cb314d, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f8b738, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+daddu $s0, $s1, $s2 :: rd 0x3c0b847cf43d4bfb, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf87aca, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+daddu $s0, $s1, $s2 :: rd 0xc5e43ebebbecc63f, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f840c4, rs 0x3ad08088, rt 0xffffffff8b27c03c
+daddu $s0, $s1, $s2 :: rd 0x6ca685016f43394d, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+daddu $t0, $t1, $t2 :: rd 0xffffffffb9f860c6, rs 0x2497d08d, rt 0xffffffff95609039
+daddu $s0, $s1, $s2 :: rd 0xe0ec5ed2ce7d221e, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f85ac8, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+daddu $s0, $s1, $s2 :: rd 0xb55b4facf8ad40c0, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f8973a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+daddu $s0, $s1, $s2 :: rd 0x36519840fb108bcf, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f8ad34, rs 0x29d4f654, rt 0xffffffff9823b6e0
+daddu $s0, $s1, $s2 :: rd 0x99a69c4d07373c37, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+daddu $t0, $t1, $t2 :: rd 0x3a078d46, rs 0xffffffffc5a92679, rt 0x745e66cd
+daddu $s0, $s1, $s2 :: rd 0xfa7a3638fb1cd0ce, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+daddu $t0, $t1, $t2 :: rd 0x3207b748, rs 0xffffffffc1683bce, rt 0x709f7b7a
+daddu $s0, $s1, $s2 :: rd 0xe5ea00ac978cd7bf, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+daddu $t0, $t1, $t2 :: rd 0x4a077aba, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+daddu $s0, $s1, $s2 :: rd 0xc5785d78921ae3df, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+daddu $t0, $t1, $t2 :: rd 0x420740b4, rs 0xffffffffc8ea00a0, rt 0x791d4014
+daddu $s0, $s1, $s2 :: rd 0x8ed145fa1cd24902, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+daddu $t0, $t1, $t2 :: rd 0x3e0760b6, rs 0xffffffffd6ad50a5, rt 0x675a1011
+daddu $s0, $s1, $s2 :: rd 0x4ca897ba54af5984, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+daddu $t0, $t1, $t2 :: rd 0x36075ab8, rs 0xffffffffd26c4d12, rt 0x639b0da6
+daddu $s0, $s1, $s2 :: rd 0xb1f5bafe35f07b54, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+daddu $t0, $t1, $t2 :: rd 0x4e07974a, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+daddu $s0, $s1, $s2 :: rd 0xb0e21b65fe91ba6d, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+daddu $t0, $t1, $t2 :: rd 0x4607ad44, rs 0xffffffffdbee767c, rt 0x6a1936c8
+daddu $s0, $s1, $s2 :: rd 0xf07bc43d941b7172, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+daddu $t0, $t1, $t2 :: rd 0x35f85736, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+daddu $s0, $s1, $s2 :: rd 0xfb05c1b39909bed1, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+daddu $t0, $t1, $t2 :: rd 0x3df86d38, rs 0xffffffffe760d676, rt 0x569796c2
+daddu $s0, $s1, $s2 :: rd 0x748b492a0c80dcee, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+daddu $t0, $t1, $t2 :: rd 0x45f8a0ca, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+daddu $s0, $s1, $s2 :: rd 0xa65defe584251805, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+daddu $t0, $t1, $t2 :: rd 0x4df89ac4, rs 0xffffffffeee2ed18, rt 0x5f15adac
+daddu $s0, $s1, $s2 :: rd 0xd75af5927cc23f22, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+daddu $t0, $t1, $t2 :: rd 0x31f8bac6, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+daddu $s0, $s1, $s2 :: rd 0x74b999831c6556f6, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+daddu $t0, $t1, $t2 :: rd 0x39f880c8, rs 0xfffffffff464a0aa, rt 0x4593e01e
+daddu $s0, $s1, $s2 :: rd 0xe4048b901247930f, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+daddu $t0, $t1, $t2 :: rd 0x41f84d3a, rs 0xfffffffff9278673, rt 0x48d0c6c7
+daddu $s0, $s1, $s2 :: rd 0x65def24a59218170, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+daddu $t0, $t1, $t2 :: rd 0x49f87734, rs 0xfffffffffde69bc4, rt 0x4c11db70
+daddu $s0, $s1, $s2 :: rd 0xac482d22ccfbfa53, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+daddu $t0, $t1, $t2 :: rd 0xffffffffc208bac6, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+daddu $s0, $s1, $s2 :: rd 0xea0148c9b21ba350, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+daddu $t0, $t1, $t2 :: rd 0xffffffffca0880c8, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+daddu $s0, $s1, $s2 :: rd 0x9ebefb3d77e93d3e, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+daddu $t0, $t1, $t2 :: rd 0xffffffffb2084d3a, rs 0xffffffff803ac667, rt 0x31cd86d3
+daddu $s0, $s1, $s2 :: rd 0x7e6dfc2498a57e6c, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+daddu $t0, $t1, $t2 :: rd 0xffffffffba087734, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+daddu $s0, $s1, $s2 :: rd 0xadf26ee677f839b9, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+daddu $t0, $t1, $t2 :: rd 0xffffffffc6085736, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+daddu $s0, $s1, $s2 :: rd 0xff923e4b45c18365, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+daddu $t0, $t1, $t2 :: rd 0xffffffffce086d38, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+daddu $s0, $s1, $s2 :: rd 0x8090e6c621063806, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+daddu $t0, $t1, $t2 :: rd 0xffffffffb608a0ca, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+daddu $s0, $s1, $s2 :: rd 0x8269fb24d9095b9a, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+daddu $t0, $t1, $t2 :: rd 0xffffffffbe089ac4, rs 0xffffffff97ffad0c, rt 0x2608edb8
+daddu $s0, $s1, $s2 :: rd 0xcf68cd7cfbfb84db, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+daddu $t0, $t1, $t2 :: rd 0xffffffffcdf760b6, rs 0xffffffffafb010b1, rt 0x1e475005
+daddu $s0, $s1, $s2 :: rd 0x18a3205f2eea15e3, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+daddu $t0, $t1, $t2 :: rd 0xffffffffc5f75ab8, rs 0xffffffffab710d06, rt 0x1a864db2
+daddu $s0, $s1, $s2 :: rd 0xec9237271021a45b, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+daddu $t0, $t1, $t2 :: rd 0xffffffffbdf7974a, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+daddu $s0, $s1, $s2 :: rd 0xd93059bb38b80477, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5f7ad44, rs 0xffffffffa2f33668, rt 0x130476dc
+daddu $s0, $s1, $s2 :: rd 0x9b9d24efeaf96419, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+daddu $t0, $t1, $t2 :: rd 0xffffffffc9f78d46, rs 0xffffffffbcb4666d, rt 0xd4326d9
+daddu $s0, $s1, $s2 :: rd 0x1f813bd70d0d5c61, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+daddu $t0, $t1, $t2 :: rd 0xffffffffc1f7b748, rs 0xffffffffb8757bda, rt 0x9823b6e
+daddu $s0, $s1, $s2 :: rd 0xd31807e1e2825e68, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+daddu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0x61cc22a7e1e4ce7e, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+daddu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+daddu $s0, $s1, $s2 :: rd 0xa2a6ec661cd417cb, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x12bd6aa
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x7e876382d2ab13
+dclo $t0, $t1 :: rd 0x0, rs 0x9823b6e
+dclo $v0, $v1 :: rd 0x1, rs 0x976d6e9ac31510f3
+dclo $t0, $t1 :: rd 0x0, rs 0xd4326d9
+dclo $v0, $v1 :: rd 0x1, rs 0xb7746d775ad6a5fb
+dclo $t0, $t1 :: rd 0x0, rs 0x130476dc
+dclo $v0, $v1 :: rd 0x0, rs 0x42b0c0a28677b502
+dclo $t0, $t1 :: rd 0x0, rs 0x17c56b6b
+dclo $v0, $v1 :: rd 0x0, rs 0x2aa89d319e3c30ad
+dclo $t0, $t1 :: rd 0x0, rs 0x1a864db2
+dclo $v0, $v1 :: rd 0x0, rs 0x1f308ec377fb413d
+dclo $t0, $t1 :: rd 0x0, rs 0x1e475005
+dclo $v0, $v1 :: rd 0x0, rs 0x7aa04213c760e4f7
+dclo $t0, $t1 :: rd 0x0, rs 0x2608edb8
+dclo $v0, $v1 :: rd 0x1, rs 0x9e705cc51ad8dca0
+dclo $t0, $t1 :: rd 0x0, rs 0x22c9f00f
+dclo $v0, $v1 :: rd 0x0, rs 0x4b3dda869615a60d
+dclo $t0, $t1 :: rd 0x0, rs 0x2f8ad6d6
+dclo $v0, $v1 :: rd 0x0, rs 0x5e7a4dd6353d41d
+dclo $t0, $t1 :: rd 0x0, rs 0x2b4bcb61
+dclo $v0, $v1 :: rd 0x0, rs 0x3af35a9dc40bd413
+dclo $t0, $t1 :: rd 0x0, rs 0x350c9b64
+dclo $v0, $v1 :: rd 0x0, rs 0x47f505569a08a180
+dclo $t0, $t1 :: rd 0x0, rs 0x31cd86d3
+dclo $v0, $v1 :: rd 0x1, rs 0x9564b77fd6d2040f
+dclo $t0, $t1 :: rd 0x0, rs 0x3c8ea00a
+dclo $v0, $v1 :: rd 0x2, rs 0xcebc8279b2c76bbe
+dclo $t0, $t1 :: rd 0x0, rs 0x384fbdbd
+dclo $v0, $v1 :: rd 0x1, rs 0xb5034c2f1f18e4c7
+dclo $t0, $t1 :: rd 0x0, rs 0x4c11db70
+dclo $v0, $v1 :: rd 0x1, rs 0x94ff52fc81afa797
+dclo $t0, $t1 :: rd 0x0, rs 0x48d0c6c7
+dclo $v0, $v1 :: rd 0x0, rs 0x31d8d9166dfc50ea
+dclo $t0, $t1 :: rd 0x0, rs 0x4593e01e
+dclo $v0, $v1 :: rd 0x0, rs 0x36549bd678e895b1
+dclo $t0, $t1 :: rd 0x0, rs 0x4152fda9
+dclo $v0, $v1 :: rd 0x1, rs 0x85e0a6319b63259b
+dclo $t0, $t1 :: rd 0x0, rs 0x5f15adac
+dclo $v0, $v1 :: rd 0x0, rs 0x556b3ecaccf17ac5
+dclo $t0, $t1 :: rd 0x0, rs 0x5bd4b01b
+dclo $v0, $v1 :: rd 0x1, rs 0xb42f5fc581eea0fb
+dclo $t0, $t1 :: rd 0x0, rs 0x569796c2
+dclo $v0, $v1 :: rd 0x0, rs 0x25b50fec14682d97
+dclo $t0, $t1 :: rd 0x0, rs 0x52568b75
+dclo $v0, $v1 :: rd 0x6, rs 0xfc93c5132cfb087a
+dclo $t0, $t1 :: rd 0x0, rs 0x6a1936c8
+dclo $v0, $v1 :: rd 0x0, rs 0x3c2cd9a9cda20766
+dclo $t0, $t1 :: rd 0x0, rs 0x6ed82b7f
+dclo $v0, $v1 :: rd 0x0, rs 0x1791722a7d72da3e
+dclo $t0, $t1 :: rd 0x0, rs 0x639b0da6
+dclo $v0, $v1 :: rd 0x0, rs 0x87cc9d193ce24ad
+dclo $t0, $t1 :: rd 0x0, rs 0x675a1011
+dclo $v0, $v1 :: rd 0x0, rs 0x1d2a757038984ed2
+dclo $t0, $t1 :: rd 0x0, rs 0x791d4014
+dclo $v0, $v1 :: rd 0x2, rs 0xd0d070db710cd036
+dclo $t0, $t1 :: rd 0x0, rs 0x7ddc5da3
+dclo $v0, $v1 :: rd 0x0, rs 0x39c21c7d03415604
+dclo $t0, $t1 :: rd 0x0, rs 0x709f7b7a
+dclo $v0, $v1 :: rd 0x1, rs 0x8e94b7af8ecc31ce
+dclo $t0, $t1 :: rd 0x0, rs 0x745e66cd
+dclo $v0, $v1 :: rd 0x0, rs 0x24eb6a8d1ce7674f
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9823b6e0
+dclo $v0, $v1 :: rd 0x0, rs 0x2f39454412d6e4a7
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9ce2ab57
+dclo $v0, $v1 :: rd 0x0, rs 0x2608c2b756da4c54
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff91a18d8e
+dclo $v0, $v1 :: rd 0x1, rs 0x900102dac8d7252f
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff95609039
+dclo $v0, $v1 :: rd 0x2, rs 0xc890d5f1f2efa4f7
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8b27c03c
+dclo $v0, $v1 :: rd 0x3, rs 0xed5005cbc8b0a214
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8fe6dd8b
+dclo $v0, $v1 :: rd 0x0, rs 0x314791895991136c
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff82a5fb52
+dclo $v0, $v1 :: rd 0x2, rs 0xc6eecff99a2fb6f3
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8664e6e5
+dclo $v0, $v1 :: rd 0x1, rs 0xa809521238895270
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbe2b5b58
+dclo $v0, $v1 :: rd 0x1, rs 0x87750a04ad765040
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbaea46ef
+dclo $v0, $v1 :: rd 0x0, rs 0x2c3de85e84bb5a83
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb7a96036
+dclo $v0, $v1 :: rd 0x1, rs 0xae6aff8fc506aa67
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb3687d81
+dclo $v0, $v1 :: rd 0x2, rs 0xc07112dd60ed5ee3
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffad2f2d84
+dclo $v0, $v1 :: rd 0x2, rs 0xc4c770f630dcca5a
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa9ee3033
+dclo $v0, $v1 :: rd 0x2, rs 0xdfec2b2383cd5277
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa4ad16ea
+dclo $v0, $v1 :: rd 0x2, rs 0xd3adba260ff7d96b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa06c0b5d
+dclo $v0, $v1 :: rd 0x0, rs 0x4ab4aa798418c00e
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd4326d90
+dclo $v0, $v1 :: rd 0x1, rs 0xbb8c035e0de0f0b8
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd0f37027
+dclo $v0, $v1 :: rd 0x0, rs 0x33b06f54a97fdcf1
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffddb056fe
+dclo $v0, $v1 :: rd 0x0, rs 0x77433f373fd1c081
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd9714b49
+dclo $v0, $v1 :: rd 0x3, rs 0xec91d993c92195e4
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc7361b4c
+dclo $v0, $v1 :: rd 0x0, rs 0x49fbf6a795b1a5ab
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc3f706fb
+dclo $v0, $v1 :: rd 0x0, rs 0x19364378c7ce8d1e
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffceb42022
+dclo $v0, $v1 :: rd 0x1, rs 0xb99e8def2f384907
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffca753d95
+dclo $v0, $v1 :: rd 0x0, rs 0x47eacdcd582b12fe
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff23a8028
+dclo $v0, $v1 :: rd 0x2, rs 0xd685884e76558c4f
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff6fb9d9f
+dclo $v0, $v1 :: rd 0x0, rs 0x6168d62a34c195c7
+dclo $t0, $t1 :: rd 0x25, rs 0xfffffffffbb8bb46
+dclo $v0, $v1 :: rd 0x2, rs 0xd30169894df47405
+dclo $t0, $t1 :: rd 0x28, rs 0xffffffffff79a6f1
+dclo $v0, $v1 :: rd 0x0, rs 0x1ca190bf6cbb06db
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe13ef6f4
+dclo $v0, $v1 :: rd 0x0, rs 0x58300f029cae393a
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe5ffeb43
+dclo $v0, $v1 :: rd 0x1, rs 0x9a995fdbdc7ebc2d
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe8bccd9a
+dclo $v0, $v1 :: rd 0x1, rs 0x8a96047be3405b48
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffec7dd02d
+dclo $v0, $v1 :: rd 0x0, rs 0x75bfafd2d519d322
+dclo $t0, $t1 :: rd 0x0, rs 0x34867077
+dclo $v0, $v1 :: rd 0x2, rs 0xde230867a630f6ad
+dclo $t0, $t1 :: rd 0x0, rs 0x30476dc0
+dclo $v0, $v1 :: rd 0x0, rs 0x2c0a0cf256103260
+dclo $t0, $t1 :: rd 0x0, rs 0x3d044b19
+dclo $v0, $v1 :: rd 0x1, rs 0x94a90544249b18ef
+dclo $t0, $t1 :: rd 0x0, rs 0x39c556ae
+dclo $v0, $v1 :: rd 0x5, rs 0xf9519fb55b56fcde
+dclo $t0, $t1 :: rd 0x0, rs 0x278206ab
+dclo $v0, $v1 :: rd 0x1, rs 0x81daf8200468319b
+dclo $t0, $t1 :: rd 0x0, rs 0x23431b1c
+dclo $v0, $v1 :: rd 0x1, rs 0x8c61ca5a5725f2ec
+dclo $t0, $t1 :: rd 0x0, rs 0x2e003dc5
+dclo $v0, $v1 :: rd 0x1, rs 0x8b95a6ddc25dc8bf
+dclo $t0, $t1 :: rd 0x0, rs 0x2ac12072
+dclo $v0, $v1 :: rd 0x0, rs 0x300ce751dac6162f
+dclo $t0, $t1 :: rd 0x0, rs 0x128e9dcf
+dclo $v0, $v1 :: rd 0x0, rs 0x6778fdf3ba52a850
+dclo $t0, $t1 :: rd 0x0, rs 0x164f8078
+dclo $v0, $v1 :: rd 0x1, rs 0xad00b1f7da78479f
+dclo $t0, $t1 :: rd 0x0, rs 0x1b0ca6a1
+dclo $v0, $v1 :: rd 0x0, rs 0x8d44168a6b6d98a
+dclo $t0, $t1 :: rd 0x0, rs 0x1fcdbb16
+dclo $v0, $v1 :: rd 0x4, rs 0xf518381dce634413
+dclo $t0, $t1 :: rd 0x0, rs 0x18aeb13
+dclo $v0, $v1 :: rd 0x3, rs 0xe4627f3fe5255fc0
+dclo $t0, $t1 :: rd 0x0, rs 0x54bf6a4
+dclo $v0, $v1 :: rd 0x2, rs 0xccd392e176321f28
+dclo $t0, $t1 :: rd 0x0, rs 0x808d07d
+dclo $v0, $v1 :: rd 0x1, rs 0x829464944018fd8f
+dclo $t0, $t1 :: rd 0x0, rs 0xcc9cdca
+dclo $v0, $v1 :: rd 0x0, rs 0x15d3204052e8f0e5
+dclo $t0, $t1 :: rd 0x0, rs 0x7897ab07
+dclo $v0, $v1 :: rd 0x0, rs 0x7caf83d2880ff344
+dclo $t0, $t1 :: rd 0x0, rs 0x7c56b6b0
+dclo $v0, $v1 :: rd 0x4, rs 0xf156a04c747defd7
+dclo $t0, $t1 :: rd 0x0, rs 0x71159069
+dclo $v0, $v1 :: rd 0x1, rs 0x93e2601c0f31d710
+dclo $t0, $t1 :: rd 0x0, rs 0x75d48dde
+dclo $v0, $v1 :: rd 0x3, rs 0xe1e1a679131cd933
+dclo $t0, $t1 :: rd 0x0, rs 0x6b93dddb
+dclo $v0, $v1 :: rd 0x0, rs 0x24296b75a76fa427
+dclo $t0, $t1 :: rd 0x0, rs 0x6f52c06c
+dclo $v0, $v1 :: rd 0x2, rs 0xd296e2d2139ee56a
+dclo $t0, $t1 :: rd 0x0, rs 0x6211e6b5
+dclo $v0, $v1 :: rd 0x0, rs 0x5a82447f6dc2a5c0
+dclo $t0, $t1 :: rd 0x0, rs 0x66d0fb02
+dclo $v0, $v1 :: rd 0x0, rs 0x76c89e80c07dc168
+dclo $t0, $t1 :: rd 0x0, rs 0x5e9f46bf
+dclo $v0, $v1 :: rd 0x0, rs 0x70dc3454bfe348f
+dclo $t0, $t1 :: rd 0x0, rs 0x5a5e5b08
+dclo $v0, $v1 :: rd 0x1, rs 0xbddc7123dd6d241b
+dclo $t0, $t1 :: rd 0x0, rs 0x571d7dd1
+dclo $v0, $v1 :: rd 0x4, rs 0xf62fb727a59fcebe
+dclo $t0, $t1 :: rd 0x0, rs 0x53dc6066
+dclo $v0, $v1 :: rd 0x0, rs 0x109f27e90f9f46fb
+dclo $t0, $t1 :: rd 0x0, rs 0x4d9b3063
+dclo $v0, $v1 :: rd 0x0, rs 0x3f63daa9afd199d7
+dclo $t0, $t1 :: rd 0x0, rs 0x495a2dd4
+dclo $v0, $v1 :: rd 0x2, rs 0xdbcb312ea3d484f2
+dclo $t0, $t1 :: rd 0x0, rs 0x44190b0d
+dclo $v0, $v1 :: rd 0x0, rs 0x1f353faada4fe4c6
+dclo $t0, $t1 :: rd 0x0, rs 0x40d816ba
+dclo $v0, $v1 :: rd 0x1, rs 0x8b086ee07150c260
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffaca5c697
+dclo $v0, $v1 :: rd 0x3, rs 0xe54750d5d9257f25
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa864db20
+dclo $v0, $v1 :: rd 0x0, rs 0x3d69625fe9a6db5b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa527fdf9
+dclo $v0, $v1 :: rd 0x0, rs 0x70a3e0424340ac96
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa1e6e04e
+dclo $v0, $v1 :: rd 0x2, rs 0xc0478f036980171e
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbfa1b04b
+dclo $v0, $v1 :: rd 0x0, rs 0x3ce839a51cf929e3
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbb60adfc
+dclo $v0, $v1 :: rd 0x3, rs 0xe2fbfa895eb68958
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb6238b25
+dclo $v0, $v1 :: rd 0x2, rs 0xd24bb05d76ed25b7
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb2e29692
+dclo $v0, $v1 :: rd 0x0, rs 0xeb9682c170312f1
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8aad2b2f
+dclo $v0, $v1 :: rd 0x1, rs 0x84785280dd301d0d
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x179c77aa1f8fd6ef
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x26444ced2998436d
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff87ee0df6
+dclo $v0, $v1 :: rd 0x0, rs 0x7175c9dd58ca708
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff99a95df3
+dclo $v0, $v1 :: rd 0x0, rs 0x663d061055833287
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9d684044
+dclo $v0, $v1 :: rd 0x1, rs 0xab7dd0488951d68b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff902b669d
+dclo $v0, $v1 :: rd 0x4, rs 0xf69823670e82471b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff94ea7b2a
+dclo $v0, $v1 :: rd 0x0, rs 0x36886c59d98d26b2
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe0b41de7
+dclo $v0, $v1 :: rd 0x0, rs 0x9ca4bdbd32be479
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe4750050
+dclo $v0, $v1 :: rd 0x6, rs 0xfd5d7d1d9962e61f
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe9362689
+dclo $v0, $v1 :: rd 0x0, rs 0x3f46553ecad374df
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffedf73b3e
+dclo $v0, $v1 :: rd 0x0, rs 0x2e9ab97d3eedf2a7
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff3b06b3b
+dclo $v0, $v1 :: rd 0x0, rs 0x36a6f7fa3c0c9f33
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff771768c
+dclo $v0, $v1 :: rd 0x1, rs 0x8bb938e3155ec9dc
+dclo $t0, $t1 :: rd 0x25, rs 0xfffffffffa325055
+dclo $v0, $v1 :: rd 0x2, rs 0xd2df25c419478206
+dclo $t0, $t1 :: rd 0x27, rs 0xfffffffffef34de2
+dclo $v0, $v1 :: rd 0x1, rs 0xbc65bf27eb321825
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc6bcf05f
+dclo $v0, $v1 :: rd 0x1, rs 0xa8b08fe67a8bc7da
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc27dede8
+dclo $v0, $v1 :: rd 0x1, rs 0x852b5bcaf8dfcde8
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffcf3ecb31
+dclo $v0, $v1 :: rd 0x0, rs 0x478909b59a99269
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffcbffd686
+dclo $v0, $v1 :: rd 0x1, rs 0xbfb31cc87857360f
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd5b88683
+dclo $v0, $v1 :: rd 0x1, rs 0xb665ed5e7f89e9a2
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd1799b34
+dclo $v0, $v1 :: rd 0x0, rs 0x15da9474b7a8d5e4
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffdc3abded
+dclo $v0, $v1 :: rd 0x4, rs 0xf6b3537d2af90fcc
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd8fba05a
+dclo $v0, $v1 :: rd 0x0, rs 0x223d7cfe2b961897
+dclo $t0, $t1 :: rd 0x0, rs 0x690ce0ee
+dclo $v0, $v1 :: rd 0x0, rs 0x420b34f533734a4b
+dclo $t0, $t1 :: rd 0x0, rs 0x6dcdfd59
+dclo $v0, $v1 :: rd 0x1, rs 0x897c8c8ddd46b33c
+dclo $t0, $t1 :: rd 0x0, rs 0x608edb80
+dclo $v0, $v1 :: rd 0x0, rs 0x7a387445e392ccd9
+dclo $t0, $t1 :: rd 0x0, rs 0x644fc637
+dclo $v0, $v1 :: rd 0x0, rs 0x512f29b1d80000c9
+dclo $t0, $t1 :: rd 0x0, rs 0x7a089632
+dclo $v0, $v1 :: rd 0x3, rs 0xeaded5c53dad020a
+dclo $t0, $t1 :: rd 0x0, rs 0x7ec98b85
+dclo $v0, $v1 :: rd 0x1, rs 0x8a6229d731eea35b
+dclo $t0, $t1 :: rd 0x0, rs 0x738aad5c
+dclo $v0, $v1 :: rd 0x0, rs 0x2c3c3f9e48985649
+dclo $t0, $t1 :: rd 0x0, rs 0x774bb0eb
+dclo $v0, $v1 :: rd 0x0, rs 0x7ff61e78dc9c0b77
+dclo $t0, $t1 :: rd 0x0, rs 0x4f040d56
+dclo $v0, $v1 :: rd 0x0, rs 0x2299b0e01d5e68ec
+dclo $t0, $t1 :: rd 0x0, rs 0x4bc510e1
+dclo $v0, $v1 :: rd 0x0, rs 0x7c3b04673d0c6e25
+dclo $t0, $t1 :: rd 0x0, rs 0x46863638
+dclo $v0, $v1 :: rd 0x0, rs 0x164e17c1e7fb6587
+dclo $t0, $t1 :: rd 0x0, rs 0x42472b8f
+dclo $v0, $v1 :: rd 0x5, rs 0xfa4ca28b56d4950b
+dclo $t0, $t1 :: rd 0x0, rs 0x5c007b8a
+dclo $v0, $v1 :: rd 0x3, rs 0xe5e9a314be7fa08a
+dclo $t0, $t1 :: rd 0x0, rs 0x58c1663d
+dclo $v0, $v1 :: rd 0x5, rs 0xf8be8164159649c5
+dclo $t0, $t1 :: rd 0x0, rs 0x558240e4
+dclo $v0, $v1 :: rd 0x0, rs 0x7ca3259784e69b17
+dclo $t0, $t1 :: rd 0x0, rs 0x51435d53
+dclo $v0, $v1 :: rd 0x6, rs 0xfc8d543ca1f24f5c
+dclo $t0, $t1 :: rd 0x0, rs 0x251d3b9e
+dclo $v0, $v1 :: rd 0x0, rs 0x4aeb6ca0e3459e36
+dclo $t0, $t1 :: rd 0x0, rs 0x21dc2629
+dclo $v0, $v1 :: rd 0x2, rs 0xc532e18e187980fa
+dclo $t0, $t1 :: rd 0x0, rs 0x2c9f00f0
+dclo $v0, $v1 :: rd 0x1, rs 0xb3fdec294f287d1c
+dclo $t0, $t1 :: rd 0x0, rs 0x285e1d47
+dclo $v0, $v1 :: rd 0x1, rs 0xb620660a49732b90
+dclo $t0, $t1 :: rd 0x0, rs 0x36194d42
+dclo $v0, $v1 :: rd 0x1, rs 0x993138f16cfde991
+dclo $t0, $t1 :: rd 0x0, rs 0x32d850f5
+dclo $v0, $v1 :: rd 0x2, rs 0xde02d1337d5407b9
+dclo $t0, $t1 :: rd 0x0, rs 0x3f9b762c
+dclo $v0, $v1 :: rd 0x0, rs 0x13a390e1e1dab15a
+dclo $t0, $t1 :: rd 0x0, rs 0x3b5a6b9b
+dclo $v0, $v1 :: rd 0x0, rs 0x743491a6828716c8
+dclo $t0, $t1 :: rd 0x0, rs 0x315d626
+dclo $v0, $v1 :: rd 0x1, rs 0x8cff404aede292f2
+dclo $t0, $t1 :: rd 0x0, rs 0x7d4cb91
+dclo $v0, $v1 :: rd 0x1, rs 0xb9cec0db1f837636
+dclo $t0, $t1 :: rd 0x0, rs 0xa97ed48
+dclo $v0, $v1 :: rd 0x0, rs 0x2eaa5aa70509771c
+dclo $t0, $t1 :: rd 0x0, rs 0xe56f0ff
+dclo $v0, $v1 :: rd 0x2, rs 0xd327538e1875241b
+dclo $t0, $t1 :: rd 0x0, rs 0x1011a0fa
+dclo $v0, $v1 :: rd 0x0, rs 0x42e9f8548b739b6b
+dclo $t0, $t1 :: rd 0x0, rs 0x14d0bd4d
+dclo $v0, $v1 :: rd 0x0, rs 0x78e4e50ceccbba1a
+dclo $t0, $t1 :: rd 0x0, rs 0x19939b94
+dclo $v0, $v1 :: rd 0x4, rs 0xf6b6fa3fcd9d27cb
+dclo $t0, $t1 :: rd 0x0, rs 0x1d528623
+dclo $v0, $v1 :: rd 0x0, rs 0x73916483ae3e9423
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff12f560e
+dclo $v0, $v1 :: rd 0x0, rs 0x276af70a0e128561
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff5ee4bb9
+dclo $v0, $v1 :: rd 0x0, rs 0x3045bf6b5e74b6e
+dclo $t0, $t1 :: rd 0x25, rs 0xfffffffff8ad6d60
+dclo $v0, $v1 :: rd 0x0, rs 0x20223f1308accfa6
+dclo $t0, $t1 :: rd 0x26, rs 0xfffffffffc6c70d7
+dclo $v0, $v1 :: rd 0x5, rs 0xf83c55743976b5f5
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe22b20d2
+dclo $v0, $v1 :: rd 0x0, rs 0x1f9720f946923c3d
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe6ea3d65
+dclo $v0, $v1 :: rd 0x0, rs 0x620d28506d2448dd
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffeba91bbc
+dclo $v0, $v1 :: rd 0x0, rs 0x60a521e99ff4a732
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffef68060b
+dclo $v0, $v1 :: rd 0x0, rs 0x5a08f3ab5c680f0b
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd727bbb6
+dclo $v0, $v1 :: rd 0x2, rs 0xc7a59be7800f3d26
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd3e6a601
+dclo $v0, $v1 :: rd 0x0, rs 0x1aecdf2982ca1b41
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffdea580d8
+dclo $v0, $v1 :: rd 0x0, rs 0x2b8613a260d19dcd
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffda649d6f
+dclo $v0, $v1 :: rd 0x0, rs 0x2518ac8b0e8bbe7f
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc423cd6a
+dclo $v0, $v1 :: rd 0x0, rs 0x743e568d2fcf486b
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x126f646f34c31728
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffcda1f604
+dclo $v0, $v1 :: rd 0x1, rs 0xaab0196156fc4d12
+dclo $t0, $t1 :: rd 0x0, rs 0x0
+dclo $v0, $v1 :: rd 0x0, rs 0x7535cd338595d342
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbd3e8d7e
+dclo $v0, $v1 :: rd 0x2, rs 0xdfb254da422346ec
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb9ff90c9
+dclo $v0, $v1 :: rd 0x1, rs 0xa86726c90081ab2a
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb4bcb610
+dclo $v0, $v1 :: rd 0x1, rs 0x9bfeffa1679d7438
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb07daba7
+dclo $v0, $v1 :: rd 0x2, rs 0xc7699826b7dee244
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffae3afba2
+dclo $v0, $v1 :: rd 0x0, rs 0x3c07af97fba6704a
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffaafbe615
+dclo $v0, $v1 :: rd 0x0, rs 0x521364dc04c58bfe
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa7b8c0cc
+dclo $v0, $v1 :: rd 0x3, rs 0xe0f7bb589ab7aebc
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa379dd7b
+dclo $v0, $v1 :: rd 0x3, rs 0xe336c60cdeeb954d
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9b3660c6
+dclo $v0, $v1 :: rd 0x2, rs 0xd5b2120c6f52416e
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9ff77d71
+dclo $v0, $v1 :: rd 0x1, rs 0x85a2d4ff7e628a34
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff92b45ba8
+dclo $v0, $v1 :: rd 0x1, rs 0x986a2b654a4e7e07
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9675461f
+dclo $v0, $v1 :: rd 0x1, rs 0xa974eac43a489b55
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8832161a
+dclo $v0, $v1 :: rd 0x1, rs 0xa388c16272f1f8f5
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8cf30bad
+dclo $v0, $v1 :: rd 0x3, rs 0xe8c11f45e7495ea9
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff81b02d74
+dclo $v0, $v1 :: rd 0x1, rs 0xadaa5a765cc1c8b4
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff857130c3
+dclo $v0, $v1 :: rd 0x0, rs 0x7ab4ce88dfa605c0
+dclo $t0, $t1 :: rd 0x0, rs 0x5d8a9099
+dclo $v0, $v1 :: rd 0x1, rs 0xb42ad6e659a7b04f
+dclo $t0, $t1 :: rd 0x0, rs 0x594b8d2e
+dclo $v0, $v1 :: rd 0x0, rs 0x4bf8485ab728922f
+dclo $t0, $t1 :: rd 0x0, rs 0x5408abf7
+dclo $v0, $v1 :: rd 0x0, rs 0x76a3d60c3b66a7fb
+dclo $t0, $t1 :: rd 0x0, rs 0x50c9b640
+dclo $v0, $v1 :: rd 0x0, rs 0x31e0c6affdc28eda
+dclo $t0, $t1 :: rd 0x0, rs 0x4e8ee645
+dclo $v0, $v1 :: rd 0x0, rs 0x53606bb4bf0c999d
+dclo $t0, $t1 :: rd 0x0, rs 0x4a4ffbf2
+dclo $v0, $v1 :: rd 0x0, rs 0x32fc12c81b7919f0
+dclo $t0, $t1 :: rd 0x0, rs 0x470cdd2b
+dclo $v0, $v1 :: rd 0x0, rs 0x3ef88384c72efcd6
+dclo $t0, $t1 :: rd 0x0, rs 0x43cdc09c
+dclo $v0, $v1 :: rd 0x0, rs 0x38b1c7bb6a2a3580
+dclo $t0, $t1 :: rd 0x0, rs 0x7b827d21
+dclo $v0, $v1 :: rd 0x0, rs 0x15ebf6121dca77c9
+dclo $t0, $t1 :: rd 0x0, rs 0x7f436096
+dclo $v0, $v1 :: rd 0x0, rs 0x5eaacdd9fd9147ae
+dclo $t0, $t1 :: rd 0x0, rs 0x7200464f
+dclo $v0, $v1 :: rd 0x1, rs 0xbb8470f981e91117
+dclo $t0, $t1 :: rd 0x0, rs 0x76c15bf8
+dclo $v0, $v1 :: rd 0x0, rs 0x5d42aeac6a532e0
+dclo $t0, $t1 :: rd 0x0, rs 0x68860bfd
+dclo $v0, $v1 :: rd 0x0, rs 0x14abf36419fb9e63
+dclo $t0, $t1 :: rd 0x0, rs 0x6c47164a
+dclo $v0, $v1 :: rd 0x0, rs 0x249d559aa8d72aac
+dclo $t0, $t1 :: rd 0x0, rs 0x61043093
+dclo $v0, $v1 :: rd 0x0, rs 0xcd6764f084b30ec
+dclo $t0, $t1 :: rd 0x0, rs 0x65c52d24
+dclo $v0, $v1 :: rd 0x0, rs 0x7f03ac0792468fdf
+dclo $t0, $t1 :: rd 0x0, rs 0x119b4be9
+dclo $v0, $v1 :: rd 0x0, rs 0x7e35ce6d56e670f5
+dclo $t0, $t1 :: rd 0x0, rs 0x155a565e
+dclo $v0, $v1 :: rd 0x0, rs 0x152828591a652711
+dclo $t0, $t1 :: rd 0x0, rs 0x18197087
+dclo $v0, $v1 :: rd 0x1, rs 0x9e1c3283d215a9fb
+dclo $t0, $t1 :: rd 0x0, rs 0x1cd86d30
+dclo $v0, $v1 :: rd 0x1, rs 0x8d95c049282a0417
+dclo $t0, $t1 :: rd 0x0, rs 0x29f3d35
+dclo $v0, $v1 :: rd 0x4, rs 0xf2e7a490978058f3
+dclo $t0, $t1 :: rd 0x0, rs 0x65e2082
+dclo $v0, $v1 :: rd 0x0, rs 0x775b4cca0975b1aa
+dclo $t0, $t1 :: rd 0x0, rs 0xb1d065b
+dclo $v0, $v1 :: rd 0x0, rs 0xa2b84a635111020
+dclo $t0, $t1 :: rd 0x0, rs 0xfdc1bec
+dclo $v0, $v1 :: rd 0x0, rs 0x23fa0d3a7d88b6f
+dclo $t0, $t1 :: rd 0x0, rs 0x3793a651
+dclo $v0, $v1 :: rd 0x1, rs 0xa3d991b79941dedd
+dclo $t0, $t1 :: rd 0x0, rs 0x3352bbe6
+dclo $v0, $v1 :: rd 0x0, rs 0x751cb4835a0d9508
+dclo $t0, $t1 :: rd 0x0, rs 0x3e119d3f
+dclo $v0, $v1 :: rd 0x1, rs 0x949cad35625bb2d3
+dclo $t0, $t1 :: rd 0x0, rs 0x3ad08088
+dclo $v0, $v1 :: rd 0x0, rs 0x7f567f35a6929739
+dclo $t0, $t1 :: rd 0x0, rs 0x2497d08d
+dclo $v0, $v1 :: rd 0x0, rs 0x185b88e0db8d7d27
+dclo $t0, $t1 :: rd 0x0, rs 0x2056cd3a
+dclo $v0, $v1 :: rd 0x0, rs 0x255a4cd22fd61b91
+dclo $t0, $t1 :: rd 0x0, rs 0x2d15ebe3
+dclo $v0, $v1 :: rd 0x0, rs 0x1048d589a4363f7b
+dclo $t0, $t1 :: rd 0x0, rs 0x29d4f654
+dclo $v0, $v1 :: rd 0x0, rs 0x6a6d5708f4605790
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc5a92679
+dclo $v0, $v1 :: rd 0x2, rs 0xd58ecbabde35697f
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc1683bce
+dclo $v0, $v1 :: rd 0x0, rs 0x575548fd08c0a5f1
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffcc2b1d17
+dclo $v0, $v1 :: rd 0x1, rs 0x8bb640fb8ed98ddb
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffc8ea00a0
+dclo $v0, $v1 :: rd 0x1, rs 0xbe00d51eabc578cc
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd6ad50a5
+dclo $v0, $v1 :: rd 0x0, rs 0x2f7e224a1c170ab2
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffd26c4d12
+dclo $v0, $v1 :: rd 0x1, rs 0xa978f12ca22256a7
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffdf2f6bcb
+dclo $v0, $v1 :: rd 0x1, rs 0x9950a93b811ee02f
+dclo $t0, $t1 :: rd 0x22, rs 0xffffffffdbee767c
+dclo $v0, $v1 :: rd 0x1, rs 0xb44eea93c6796a0c
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe3a1cbc1
+dclo $v0, $v1 :: rd 0x7, rs 0xfe71fca06c0eb657
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffe760d676
+dclo $v0, $v1 :: rd 0x0, rs 0x4ed6393df818af57
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffea23f0af
+dclo $v0, $v1 :: rd 0x4, rs 0xf22e90200236770a
+dclo $t0, $t1 :: rd 0x23, rs 0xffffffffeee2ed18
+dclo $v0, $v1 :: rd 0x1, rs 0x81efb6c7afd0c45d
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff0a5bd1d
+dclo $v0, $v1 :: rd 0x3, rs 0xeed8f3518102315b
+dclo $t0, $t1 :: rd 0x24, rs 0xfffffffff464a0aa
+dclo $v0, $v1 :: rd 0x1, rs 0xadafefb9995efd5e
+dclo $t0, $t1 :: rd 0x25, rs 0xfffffffff9278673
+dclo $v0, $v1 :: rd 0x0, rs 0x34061933eb253086
+dclo $t0, $t1 :: rd 0x26, rs 0xfffffffffde69bc4
+dclo $v0, $v1 :: rd 0x0, rs 0x1748da264b4c52bc
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff89b8fd09
+dclo $v0, $v1 :: rd 0x0, rs 0x34fdfc9a9302be89
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff8d79e0be
+dclo $v0, $v1 :: rd 0x2, rs 0xd00278c3c521d180
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff803ac667
+dclo $v0, $v1 :: rd 0x3, rs 0xe90944a4c1d37a5d
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff84fbdbd0
+dclo $v0, $v1 :: rd 0x0, rs 0x65fd698fddef9839
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9abc8bd5
+dclo $v0, $v1 :: rd 0x2, rs 0xc49ee3ad81b5af52
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff9e7d9662
+dclo $v0, $v1 :: rd 0x0, rs 0x7aa941e8bdb263e9
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff933eb0bb
+dclo $v0, $v1 :: rd 0x0, rs 0x372c209e42f3b58d
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffff97ffad0c
+dclo $v0, $v1 :: rd 0x0, rs 0x30f870b7e122a83b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffafb010b1
+dclo $v0, $v1 :: rd 0x1, rs 0x9e02de4b678930ec
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffab710d06
+dclo $v0, $v1 :: rd 0x2, rs 0xcd61a8639826631e
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa6322bdf
+dclo $v0, $v1 :: rd 0x1, rs 0xae87bc899a7bd3ca
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffa2f33668
+dclo $v0, $v1 :: rd 0x0, rs 0x58ec644d6481af17
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffbcb4666d
+dclo $v0, $v1 :: rd 0x0, rs 0x680cce5fb236b666
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb8757bda
+dclo $v0, $v1 :: rd 0x0, rs 0x3baa99471f6d4d75
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb5365d03
+dclo $v0, $v1 :: rd 0x0, rs 0x614d9b445f12236b
+dclo $t0, $t1 :: rd 0x21, rs 0xffffffffb1f740b4
+dclo $v0, $v1 :: rd 0x1, rs 0xa2a6ec661ba84121
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x27, rs 0x12bd6aa
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x9, rs 0x7e876382d2ab13
+dclz $t0, $t1 :: rd 0x24, rs 0x9823b6e
+dclz $v0, $v1 :: rd 0x0, rs 0x976d6e9ac31510f3
+dclz $t0, $t1 :: rd 0x24, rs 0xd4326d9
+dclz $v0, $v1 :: rd 0x0, rs 0xb7746d775ad6a5fb
+dclz $t0, $t1 :: rd 0x23, rs 0x130476dc
+dclz $v0, $v1 :: rd 0x1, rs 0x42b0c0a28677b502
+dclz $t0, $t1 :: rd 0x23, rs 0x17c56b6b
+dclz $v0, $v1 :: rd 0x2, rs 0x2aa89d319e3c30ad
+dclz $t0, $t1 :: rd 0x23, rs 0x1a864db2
+dclz $v0, $v1 :: rd 0x3, rs 0x1f308ec377fb413d
+dclz $t0, $t1 :: rd 0x23, rs 0x1e475005
+dclz $v0, $v1 :: rd 0x1, rs 0x7aa04213c760e4f7
+dclz $t0, $t1 :: rd 0x22, rs 0x2608edb8
+dclz $v0, $v1 :: rd 0x0, rs 0x9e705cc51ad8dca0
+dclz $t0, $t1 :: rd 0x22, rs 0x22c9f00f
+dclz $v0, $v1 :: rd 0x1, rs 0x4b3dda869615a60d
+dclz $t0, $t1 :: rd 0x22, rs 0x2f8ad6d6
+dclz $v0, $v1 :: rd 0x5, rs 0x5e7a4dd6353d41d
+dclz $t0, $t1 :: rd 0x22, rs 0x2b4bcb61
+dclz $v0, $v1 :: rd 0x2, rs 0x3af35a9dc40bd413
+dclz $t0, $t1 :: rd 0x22, rs 0x350c9b64
+dclz $v0, $v1 :: rd 0x1, rs 0x47f505569a08a180
+dclz $t0, $t1 :: rd 0x22, rs 0x31cd86d3
+dclz $v0, $v1 :: rd 0x0, rs 0x9564b77fd6d2040f
+dclz $t0, $t1 :: rd 0x22, rs 0x3c8ea00a
+dclz $v0, $v1 :: rd 0x0, rs 0xcebc8279b2c76bbe
+dclz $t0, $t1 :: rd 0x22, rs 0x384fbdbd
+dclz $v0, $v1 :: rd 0x0, rs 0xb5034c2f1f18e4c7
+dclz $t0, $t1 :: rd 0x21, rs 0x4c11db70
+dclz $v0, $v1 :: rd 0x0, rs 0x94ff52fc81afa797
+dclz $t0, $t1 :: rd 0x21, rs 0x48d0c6c7
+dclz $v0, $v1 :: rd 0x2, rs 0x31d8d9166dfc50ea
+dclz $t0, $t1 :: rd 0x21, rs 0x4593e01e
+dclz $v0, $v1 :: rd 0x2, rs 0x36549bd678e895b1
+dclz $t0, $t1 :: rd 0x21, rs 0x4152fda9
+dclz $v0, $v1 :: rd 0x0, rs 0x85e0a6319b63259b
+dclz $t0, $t1 :: rd 0x21, rs 0x5f15adac
+dclz $v0, $v1 :: rd 0x1, rs 0x556b3ecaccf17ac5
+dclz $t0, $t1 :: rd 0x21, rs 0x5bd4b01b
+dclz $v0, $v1 :: rd 0x0, rs 0xb42f5fc581eea0fb
+dclz $t0, $t1 :: rd 0x21, rs 0x569796c2
+dclz $v0, $v1 :: rd 0x2, rs 0x25b50fec14682d97
+dclz $t0, $t1 :: rd 0x21, rs 0x52568b75
+dclz $v0, $v1 :: rd 0x0, rs 0xfc93c5132cfb087a
+dclz $t0, $t1 :: rd 0x21, rs 0x6a1936c8
+dclz $v0, $v1 :: rd 0x2, rs 0x3c2cd9a9cda20766
+dclz $t0, $t1 :: rd 0x21, rs 0x6ed82b7f
+dclz $v0, $v1 :: rd 0x3, rs 0x1791722a7d72da3e
+dclz $t0, $t1 :: rd 0x21, rs 0x639b0da6
+dclz $v0, $v1 :: rd 0x4, rs 0x87cc9d193ce24ad
+dclz $t0, $t1 :: rd 0x21, rs 0x675a1011
+dclz $v0, $v1 :: rd 0x3, rs 0x1d2a757038984ed2
+dclz $t0, $t1 :: rd 0x21, rs 0x791d4014
+dclz $v0, $v1 :: rd 0x0, rs 0xd0d070db710cd036
+dclz $t0, $t1 :: rd 0x21, rs 0x7ddc5da3
+dclz $v0, $v1 :: rd 0x2, rs 0x39c21c7d03415604
+dclz $t0, $t1 :: rd 0x21, rs 0x709f7b7a
+dclz $v0, $v1 :: rd 0x0, rs 0x8e94b7af8ecc31ce
+dclz $t0, $t1 :: rd 0x21, rs 0x745e66cd
+dclz $v0, $v1 :: rd 0x2, rs 0x24eb6a8d1ce7674f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9823b6e0
+dclz $v0, $v1 :: rd 0x2, rs 0x2f39454412d6e4a7
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9ce2ab57
+dclz $v0, $v1 :: rd 0x2, rs 0x2608c2b756da4c54
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff91a18d8e
+dclz $v0, $v1 :: rd 0x0, rs 0x900102dac8d7252f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff95609039
+dclz $v0, $v1 :: rd 0x0, rs 0xc890d5f1f2efa4f7
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8b27c03c
+dclz $v0, $v1 :: rd 0x0, rs 0xed5005cbc8b0a214
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8fe6dd8b
+dclz $v0, $v1 :: rd 0x2, rs 0x314791895991136c
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff82a5fb52
+dclz $v0, $v1 :: rd 0x0, rs 0xc6eecff99a2fb6f3
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8664e6e5
+dclz $v0, $v1 :: rd 0x0, rs 0xa809521238895270
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbe2b5b58
+dclz $v0, $v1 :: rd 0x0, rs 0x87750a04ad765040
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbaea46ef
+dclz $v0, $v1 :: rd 0x2, rs 0x2c3de85e84bb5a83
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb7a96036
+dclz $v0, $v1 :: rd 0x0, rs 0xae6aff8fc506aa67
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb3687d81
+dclz $v0, $v1 :: rd 0x0, rs 0xc07112dd60ed5ee3
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffad2f2d84
+dclz $v0, $v1 :: rd 0x0, rs 0xc4c770f630dcca5a
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa9ee3033
+dclz $v0, $v1 :: rd 0x0, rs 0xdfec2b2383cd5277
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa4ad16ea
+dclz $v0, $v1 :: rd 0x0, rs 0xd3adba260ff7d96b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa06c0b5d
+dclz $v0, $v1 :: rd 0x1, rs 0x4ab4aa798418c00e
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd4326d90
+dclz $v0, $v1 :: rd 0x0, rs 0xbb8c035e0de0f0b8
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd0f37027
+dclz $v0, $v1 :: rd 0x2, rs 0x33b06f54a97fdcf1
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffddb056fe
+dclz $v0, $v1 :: rd 0x1, rs 0x77433f373fd1c081
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd9714b49
+dclz $v0, $v1 :: rd 0x0, rs 0xec91d993c92195e4
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc7361b4c
+dclz $v0, $v1 :: rd 0x1, rs 0x49fbf6a795b1a5ab
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc3f706fb
+dclz $v0, $v1 :: rd 0x3, rs 0x19364378c7ce8d1e
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffceb42022
+dclz $v0, $v1 :: rd 0x0, rs 0xb99e8def2f384907
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffca753d95
+dclz $v0, $v1 :: rd 0x1, rs 0x47eacdcd582b12fe
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff23a8028
+dclz $v0, $v1 :: rd 0x0, rs 0xd685884e76558c4f
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff6fb9d9f
+dclz $v0, $v1 :: rd 0x1, rs 0x6168d62a34c195c7
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffffbb8bb46
+dclz $v0, $v1 :: rd 0x0, rs 0xd30169894df47405
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffff79a6f1
+dclz $v0, $v1 :: rd 0x3, rs 0x1ca190bf6cbb06db
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe13ef6f4
+dclz $v0, $v1 :: rd 0x1, rs 0x58300f029cae393a
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe5ffeb43
+dclz $v0, $v1 :: rd 0x0, rs 0x9a995fdbdc7ebc2d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe8bccd9a
+dclz $v0, $v1 :: rd 0x0, rs 0x8a96047be3405b48
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffec7dd02d
+dclz $v0, $v1 :: rd 0x1, rs 0x75bfafd2d519d322
+dclz $t0, $t1 :: rd 0x22, rs 0x34867077
+dclz $v0, $v1 :: rd 0x0, rs 0xde230867a630f6ad
+dclz $t0, $t1 :: rd 0x22, rs 0x30476dc0
+dclz $v0, $v1 :: rd 0x2, rs 0x2c0a0cf256103260
+dclz $t0, $t1 :: rd 0x22, rs 0x3d044b19
+dclz $v0, $v1 :: rd 0x0, rs 0x94a90544249b18ef
+dclz $t0, $t1 :: rd 0x22, rs 0x39c556ae
+dclz $v0, $v1 :: rd 0x0, rs 0xf9519fb55b56fcde
+dclz $t0, $t1 :: rd 0x22, rs 0x278206ab
+dclz $v0, $v1 :: rd 0x0, rs 0x81daf8200468319b
+dclz $t0, $t1 :: rd 0x22, rs 0x23431b1c
+dclz $v0, $v1 :: rd 0x0, rs 0x8c61ca5a5725f2ec
+dclz $t0, $t1 :: rd 0x22, rs 0x2e003dc5
+dclz $v0, $v1 :: rd 0x0, rs 0x8b95a6ddc25dc8bf
+dclz $t0, $t1 :: rd 0x22, rs 0x2ac12072
+dclz $v0, $v1 :: rd 0x2, rs 0x300ce751dac6162f
+dclz $t0, $t1 :: rd 0x23, rs 0x128e9dcf
+dclz $v0, $v1 :: rd 0x1, rs 0x6778fdf3ba52a850
+dclz $t0, $t1 :: rd 0x23, rs 0x164f8078
+dclz $v0, $v1 :: rd 0x0, rs 0xad00b1f7da78479f
+dclz $t0, $t1 :: rd 0x23, rs 0x1b0ca6a1
+dclz $v0, $v1 :: rd 0x4, rs 0x8d44168a6b6d98a
+dclz $t0, $t1 :: rd 0x23, rs 0x1fcdbb16
+dclz $v0, $v1 :: rd 0x0, rs 0xf518381dce634413
+dclz $t0, $t1 :: rd 0x27, rs 0x18aeb13
+dclz $v0, $v1 :: rd 0x0, rs 0xe4627f3fe5255fc0
+dclz $t0, $t1 :: rd 0x25, rs 0x54bf6a4
+dclz $v0, $v1 :: rd 0x0, rs 0xccd392e176321f28
+dclz $t0, $t1 :: rd 0x24, rs 0x808d07d
+dclz $v0, $v1 :: rd 0x0, rs 0x829464944018fd8f
+dclz $t0, $t1 :: rd 0x24, rs 0xcc9cdca
+dclz $v0, $v1 :: rd 0x3, rs 0x15d3204052e8f0e5
+dclz $t0, $t1 :: rd 0x21, rs 0x7897ab07
+dclz $v0, $v1 :: rd 0x1, rs 0x7caf83d2880ff344
+dclz $t0, $t1 :: rd 0x21, rs 0x7c56b6b0
+dclz $v0, $v1 :: rd 0x0, rs 0xf156a04c747defd7
+dclz $t0, $t1 :: rd 0x21, rs 0x71159069
+dclz $v0, $v1 :: rd 0x0, rs 0x93e2601c0f31d710
+dclz $t0, $t1 :: rd 0x21, rs 0x75d48dde
+dclz $v0, $v1 :: rd 0x0, rs 0xe1e1a679131cd933
+dclz $t0, $t1 :: rd 0x21, rs 0x6b93dddb
+dclz $v0, $v1 :: rd 0x2, rs 0x24296b75a76fa427
+dclz $t0, $t1 :: rd 0x21, rs 0x6f52c06c
+dclz $v0, $v1 :: rd 0x0, rs 0xd296e2d2139ee56a
+dclz $t0, $t1 :: rd 0x21, rs 0x6211e6b5
+dclz $v0, $v1 :: rd 0x1, rs 0x5a82447f6dc2a5c0
+dclz $t0, $t1 :: rd 0x21, rs 0x66d0fb02
+dclz $v0, $v1 :: rd 0x1, rs 0x76c89e80c07dc168
+dclz $t0, $t1 :: rd 0x21, rs 0x5e9f46bf
+dclz $v0, $v1 :: rd 0x5, rs 0x70dc3454bfe348f
+dclz $t0, $t1 :: rd 0x21, rs 0x5a5e5b08
+dclz $v0, $v1 :: rd 0x0, rs 0xbddc7123dd6d241b
+dclz $t0, $t1 :: rd 0x21, rs 0x571d7dd1
+dclz $v0, $v1 :: rd 0x0, rs 0xf62fb727a59fcebe
+dclz $t0, $t1 :: rd 0x21, rs 0x53dc6066
+dclz $v0, $v1 :: rd 0x3, rs 0x109f27e90f9f46fb
+dclz $t0, $t1 :: rd 0x21, rs 0x4d9b3063
+dclz $v0, $v1 :: rd 0x2, rs 0x3f63daa9afd199d7
+dclz $t0, $t1 :: rd 0x21, rs 0x495a2dd4
+dclz $v0, $v1 :: rd 0x0, rs 0xdbcb312ea3d484f2
+dclz $t0, $t1 :: rd 0x21, rs 0x44190b0d
+dclz $v0, $v1 :: rd 0x3, rs 0x1f353faada4fe4c6
+dclz $t0, $t1 :: rd 0x21, rs 0x40d816ba
+dclz $v0, $v1 :: rd 0x0, rs 0x8b086ee07150c260
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffaca5c697
+dclz $v0, $v1 :: rd 0x0, rs 0xe54750d5d9257f25
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa864db20
+dclz $v0, $v1 :: rd 0x2, rs 0x3d69625fe9a6db5b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa527fdf9
+dclz $v0, $v1 :: rd 0x1, rs 0x70a3e0424340ac96
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa1e6e04e
+dclz $v0, $v1 :: rd 0x0, rs 0xc0478f036980171e
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbfa1b04b
+dclz $v0, $v1 :: rd 0x2, rs 0x3ce839a51cf929e3
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbb60adfc
+dclz $v0, $v1 :: rd 0x0, rs 0xe2fbfa895eb68958
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb6238b25
+dclz $v0, $v1 :: rd 0x0, rs 0xd24bb05d76ed25b7
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb2e29692
+dclz $v0, $v1 :: rd 0x4, rs 0xeb9682c170312f1
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8aad2b2f
+dclz $v0, $v1 :: rd 0x0, rs 0x84785280dd301d0d
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x3, rs 0x179c77aa1f8fd6ef
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x2, rs 0x26444ced2998436d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff87ee0df6
+dclz $v0, $v1 :: rd 0x5, rs 0x7175c9dd58ca708
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff99a95df3
+dclz $v0, $v1 :: rd 0x1, rs 0x663d061055833287
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9d684044
+dclz $v0, $v1 :: rd 0x0, rs 0xab7dd0488951d68b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff902b669d
+dclz $v0, $v1 :: rd 0x0, rs 0xf69823670e82471b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff94ea7b2a
+dclz $v0, $v1 :: rd 0x2, rs 0x36886c59d98d26b2
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe0b41de7
+dclz $v0, $v1 :: rd 0x4, rs 0x9ca4bdbd32be479
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe4750050
+dclz $v0, $v1 :: rd 0x0, rs 0xfd5d7d1d9962e61f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe9362689
+dclz $v0, $v1 :: rd 0x2, rs 0x3f46553ecad374df
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffedf73b3e
+dclz $v0, $v1 :: rd 0x2, rs 0x2e9ab97d3eedf2a7
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff3b06b3b
+dclz $v0, $v1 :: rd 0x2, rs 0x36a6f7fa3c0c9f33
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff771768c
+dclz $v0, $v1 :: rd 0x0, rs 0x8bb938e3155ec9dc
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffffa325055
+dclz $v0, $v1 :: rd 0x0, rs 0xd2df25c419478206
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffffef34de2
+dclz $v0, $v1 :: rd 0x0, rs 0xbc65bf27eb321825
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc6bcf05f
+dclz $v0, $v1 :: rd 0x0, rs 0xa8b08fe67a8bc7da
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc27dede8
+dclz $v0, $v1 :: rd 0x0, rs 0x852b5bcaf8dfcde8
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffcf3ecb31
+dclz $v0, $v1 :: rd 0x5, rs 0x478909b59a99269
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffcbffd686
+dclz $v0, $v1 :: rd 0x0, rs 0xbfb31cc87857360f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd5b88683
+dclz $v0, $v1 :: rd 0x0, rs 0xb665ed5e7f89e9a2
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd1799b34
+dclz $v0, $v1 :: rd 0x3, rs 0x15da9474b7a8d5e4
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffdc3abded
+dclz $v0, $v1 :: rd 0x0, rs 0xf6b3537d2af90fcc
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd8fba05a
+dclz $v0, $v1 :: rd 0x2, rs 0x223d7cfe2b961897
+dclz $t0, $t1 :: rd 0x21, rs 0x690ce0ee
+dclz $v0, $v1 :: rd 0x1, rs 0x420b34f533734a4b
+dclz $t0, $t1 :: rd 0x21, rs 0x6dcdfd59
+dclz $v0, $v1 :: rd 0x0, rs 0x897c8c8ddd46b33c
+dclz $t0, $t1 :: rd 0x21, rs 0x608edb80
+dclz $v0, $v1 :: rd 0x1, rs 0x7a387445e392ccd9
+dclz $t0, $t1 :: rd 0x21, rs 0x644fc637
+dclz $v0, $v1 :: rd 0x1, rs 0x512f29b1d80000c9
+dclz $t0, $t1 :: rd 0x21, rs 0x7a089632
+dclz $v0, $v1 :: rd 0x0, rs 0xeaded5c53dad020a
+dclz $t0, $t1 :: rd 0x21, rs 0x7ec98b85
+dclz $v0, $v1 :: rd 0x0, rs 0x8a6229d731eea35b
+dclz $t0, $t1 :: rd 0x21, rs 0x738aad5c
+dclz $v0, $v1 :: rd 0x2, rs 0x2c3c3f9e48985649
+dclz $t0, $t1 :: rd 0x21, rs 0x774bb0eb
+dclz $v0, $v1 :: rd 0x1, rs 0x7ff61e78dc9c0b77
+dclz $t0, $t1 :: rd 0x21, rs 0x4f040d56
+dclz $v0, $v1 :: rd 0x2, rs 0x2299b0e01d5e68ec
+dclz $t0, $t1 :: rd 0x21, rs 0x4bc510e1
+dclz $v0, $v1 :: rd 0x1, rs 0x7c3b04673d0c6e25
+dclz $t0, $t1 :: rd 0x21, rs 0x46863638
+dclz $v0, $v1 :: rd 0x3, rs 0x164e17c1e7fb6587
+dclz $t0, $t1 :: rd 0x21, rs 0x42472b8f
+dclz $v0, $v1 :: rd 0x0, rs 0xfa4ca28b56d4950b
+dclz $t0, $t1 :: rd 0x21, rs 0x5c007b8a
+dclz $v0, $v1 :: rd 0x0, rs 0xe5e9a314be7fa08a
+dclz $t0, $t1 :: rd 0x21, rs 0x58c1663d
+dclz $v0, $v1 :: rd 0x0, rs 0xf8be8164159649c5
+dclz $t0, $t1 :: rd 0x21, rs 0x558240e4
+dclz $v0, $v1 :: rd 0x1, rs 0x7ca3259784e69b17
+dclz $t0, $t1 :: rd 0x21, rs 0x51435d53
+dclz $v0, $v1 :: rd 0x0, rs 0xfc8d543ca1f24f5c
+dclz $t0, $t1 :: rd 0x22, rs 0x251d3b9e
+dclz $v0, $v1 :: rd 0x1, rs 0x4aeb6ca0e3459e36
+dclz $t0, $t1 :: rd 0x22, rs 0x21dc2629
+dclz $v0, $v1 :: rd 0x0, rs 0xc532e18e187980fa
+dclz $t0, $t1 :: rd 0x22, rs 0x2c9f00f0
+dclz $v0, $v1 :: rd 0x0, rs 0xb3fdec294f287d1c
+dclz $t0, $t1 :: rd 0x22, rs 0x285e1d47
+dclz $v0, $v1 :: rd 0x0, rs 0xb620660a49732b90
+dclz $t0, $t1 :: rd 0x22, rs 0x36194d42
+dclz $v0, $v1 :: rd 0x0, rs 0x993138f16cfde991
+dclz $t0, $t1 :: rd 0x22, rs 0x32d850f5
+dclz $v0, $v1 :: rd 0x0, rs 0xde02d1337d5407b9
+dclz $t0, $t1 :: rd 0x22, rs 0x3f9b762c
+dclz $v0, $v1 :: rd 0x3, rs 0x13a390e1e1dab15a
+dclz $t0, $t1 :: rd 0x22, rs 0x3b5a6b9b
+dclz $v0, $v1 :: rd 0x1, rs 0x743491a6828716c8
+dclz $t0, $t1 :: rd 0x26, rs 0x315d626
+dclz $v0, $v1 :: rd 0x0, rs 0x8cff404aede292f2
+dclz $t0, $t1 :: rd 0x25, rs 0x7d4cb91
+dclz $v0, $v1 :: rd 0x0, rs 0xb9cec0db1f837636
+dclz $t0, $t1 :: rd 0x24, rs 0xa97ed48
+dclz $v0, $v1 :: rd 0x2, rs 0x2eaa5aa70509771c
+dclz $t0, $t1 :: rd 0x24, rs 0xe56f0ff
+dclz $v0, $v1 :: rd 0x0, rs 0xd327538e1875241b
+dclz $t0, $t1 :: rd 0x23, rs 0x1011a0fa
+dclz $v0, $v1 :: rd 0x1, rs 0x42e9f8548b739b6b
+dclz $t0, $t1 :: rd 0x23, rs 0x14d0bd4d
+dclz $v0, $v1 :: rd 0x1, rs 0x78e4e50ceccbba1a
+dclz $t0, $t1 :: rd 0x23, rs 0x19939b94
+dclz $v0, $v1 :: rd 0x0, rs 0xf6b6fa3fcd9d27cb
+dclz $t0, $t1 :: rd 0x23, rs 0x1d528623
+dclz $v0, $v1 :: rd 0x1, rs 0x73916483ae3e9423
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff12f560e
+dclz $v0, $v1 :: rd 0x2, rs 0x276af70a0e128561
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff5ee4bb9
+dclz $v0, $v1 :: rd 0x6, rs 0x3045bf6b5e74b6e
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff8ad6d60
+dclz $v0, $v1 :: rd 0x2, rs 0x20223f1308accfa6
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffffc6c70d7
+dclz $v0, $v1 :: rd 0x0, rs 0xf83c55743976b5f5
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe22b20d2
+dclz $v0, $v1 :: rd 0x3, rs 0x1f9720f946923c3d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe6ea3d65
+dclz $v0, $v1 :: rd 0x1, rs 0x620d28506d2448dd
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffeba91bbc
+dclz $v0, $v1 :: rd 0x1, rs 0x60a521e99ff4a732
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffef68060b
+dclz $v0, $v1 :: rd 0x1, rs 0x5a08f3ab5c680f0b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd727bbb6
+dclz $v0, $v1 :: rd 0x0, rs 0xc7a59be7800f3d26
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd3e6a601
+dclz $v0, $v1 :: rd 0x3, rs 0x1aecdf2982ca1b41
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffdea580d8
+dclz $v0, $v1 :: rd 0x2, rs 0x2b8613a260d19dcd
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffda649d6f
+dclz $v0, $v1 :: rd 0x2, rs 0x2518ac8b0e8bbe7f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc423cd6a
+dclz $v0, $v1 :: rd 0x1, rs 0x743e568d2fcf486b
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x3, rs 0x126f646f34c31728
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffcda1f604
+dclz $v0, $v1 :: rd 0x0, rs 0xaab0196156fc4d12
+dclz $t0, $t1 :: rd 0x40, rs 0x0
+dclz $v0, $v1 :: rd 0x1, rs 0x7535cd338595d342
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbd3e8d7e
+dclz $v0, $v1 :: rd 0x0, rs 0xdfb254da422346ec
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb9ff90c9
+dclz $v0, $v1 :: rd 0x0, rs 0xa86726c90081ab2a
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb4bcb610
+dclz $v0, $v1 :: rd 0x0, rs 0x9bfeffa1679d7438
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb07daba7
+dclz $v0, $v1 :: rd 0x0, rs 0xc7699826b7dee244
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffae3afba2
+dclz $v0, $v1 :: rd 0x2, rs 0x3c07af97fba6704a
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffaafbe615
+dclz $v0, $v1 :: rd 0x1, rs 0x521364dc04c58bfe
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa7b8c0cc
+dclz $v0, $v1 :: rd 0x0, rs 0xe0f7bb589ab7aebc
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa379dd7b
+dclz $v0, $v1 :: rd 0x0, rs 0xe336c60cdeeb954d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9b3660c6
+dclz $v0, $v1 :: rd 0x0, rs 0xd5b2120c6f52416e
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9ff77d71
+dclz $v0, $v1 :: rd 0x0, rs 0x85a2d4ff7e628a34
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff92b45ba8
+dclz $v0, $v1 :: rd 0x0, rs 0x986a2b654a4e7e07
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9675461f
+dclz $v0, $v1 :: rd 0x0, rs 0xa974eac43a489b55
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8832161a
+dclz $v0, $v1 :: rd 0x0, rs 0xa388c16272f1f8f5
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8cf30bad
+dclz $v0, $v1 :: rd 0x0, rs 0xe8c11f45e7495ea9
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff81b02d74
+dclz $v0, $v1 :: rd 0x0, rs 0xadaa5a765cc1c8b4
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff857130c3
+dclz $v0, $v1 :: rd 0x1, rs 0x7ab4ce88dfa605c0
+dclz $t0, $t1 :: rd 0x21, rs 0x5d8a9099
+dclz $v0, $v1 :: rd 0x0, rs 0xb42ad6e659a7b04f
+dclz $t0, $t1 :: rd 0x21, rs 0x594b8d2e
+dclz $v0, $v1 :: rd 0x1, rs 0x4bf8485ab728922f
+dclz $t0, $t1 :: rd 0x21, rs 0x5408abf7
+dclz $v0, $v1 :: rd 0x1, rs 0x76a3d60c3b66a7fb
+dclz $t0, $t1 :: rd 0x21, rs 0x50c9b640
+dclz $v0, $v1 :: rd 0x2, rs 0x31e0c6affdc28eda
+dclz $t0, $t1 :: rd 0x21, rs 0x4e8ee645
+dclz $v0, $v1 :: rd 0x1, rs 0x53606bb4bf0c999d
+dclz $t0, $t1 :: rd 0x21, rs 0x4a4ffbf2
+dclz $v0, $v1 :: rd 0x2, rs 0x32fc12c81b7919f0
+dclz $t0, $t1 :: rd 0x21, rs 0x470cdd2b
+dclz $v0, $v1 :: rd 0x2, rs 0x3ef88384c72efcd6
+dclz $t0, $t1 :: rd 0x21, rs 0x43cdc09c
+dclz $v0, $v1 :: rd 0x2, rs 0x38b1c7bb6a2a3580
+dclz $t0, $t1 :: rd 0x21, rs 0x7b827d21
+dclz $v0, $v1 :: rd 0x3, rs 0x15ebf6121dca77c9
+dclz $t0, $t1 :: rd 0x21, rs 0x7f436096
+dclz $v0, $v1 :: rd 0x1, rs 0x5eaacdd9fd9147ae
+dclz $t0, $t1 :: rd 0x21, rs 0x7200464f
+dclz $v0, $v1 :: rd 0x0, rs 0xbb8470f981e91117
+dclz $t0, $t1 :: rd 0x21, rs 0x76c15bf8
+dclz $v0, $v1 :: rd 0x5, rs 0x5d42aeac6a532e0
+dclz $t0, $t1 :: rd 0x21, rs 0x68860bfd
+dclz $v0, $v1 :: rd 0x3, rs 0x14abf36419fb9e63
+dclz $t0, $t1 :: rd 0x21, rs 0x6c47164a
+dclz $v0, $v1 :: rd 0x2, rs 0x249d559aa8d72aac
+dclz $t0, $t1 :: rd 0x21, rs 0x61043093
+dclz $v0, $v1 :: rd 0x4, rs 0xcd6764f084b30ec
+dclz $t0, $t1 :: rd 0x21, rs 0x65c52d24
+dclz $v0, $v1 :: rd 0x1, rs 0x7f03ac0792468fdf
+dclz $t0, $t1 :: rd 0x23, rs 0x119b4be9
+dclz $v0, $v1 :: rd 0x1, rs 0x7e35ce6d56e670f5
+dclz $t0, $t1 :: rd 0x23, rs 0x155a565e
+dclz $v0, $v1 :: rd 0x3, rs 0x152828591a652711
+dclz $t0, $t1 :: rd 0x23, rs 0x18197087
+dclz $v0, $v1 :: rd 0x0, rs 0x9e1c3283d215a9fb
+dclz $t0, $t1 :: rd 0x23, rs 0x1cd86d30
+dclz $v0, $v1 :: rd 0x0, rs 0x8d95c049282a0417
+dclz $t0, $t1 :: rd 0x26, rs 0x29f3d35
+dclz $v0, $v1 :: rd 0x0, rs 0xf2e7a490978058f3
+dclz $t0, $t1 :: rd 0x25, rs 0x65e2082
+dclz $v0, $v1 :: rd 0x1, rs 0x775b4cca0975b1aa
+dclz $t0, $t1 :: rd 0x24, rs 0xb1d065b
+dclz $v0, $v1 :: rd 0x4, rs 0xa2b84a635111020
+dclz $t0, $t1 :: rd 0x24, rs 0xfdc1bec
+dclz $v0, $v1 :: rd 0x6, rs 0x23fa0d3a7d88b6f
+dclz $t0, $t1 :: rd 0x22, rs 0x3793a651
+dclz $v0, $v1 :: rd 0x0, rs 0xa3d991b79941dedd
+dclz $t0, $t1 :: rd 0x22, rs 0x3352bbe6
+dclz $v0, $v1 :: rd 0x1, rs 0x751cb4835a0d9508
+dclz $t0, $t1 :: rd 0x22, rs 0x3e119d3f
+dclz $v0, $v1 :: rd 0x0, rs 0x949cad35625bb2d3
+dclz $t0, $t1 :: rd 0x22, rs 0x3ad08088
+dclz $v0, $v1 :: rd 0x1, rs 0x7f567f35a6929739
+dclz $t0, $t1 :: rd 0x22, rs 0x2497d08d
+dclz $v0, $v1 :: rd 0x3, rs 0x185b88e0db8d7d27
+dclz $t0, $t1 :: rd 0x22, rs 0x2056cd3a
+dclz $v0, $v1 :: rd 0x2, rs 0x255a4cd22fd61b91
+dclz $t0, $t1 :: rd 0x22, rs 0x2d15ebe3
+dclz $v0, $v1 :: rd 0x3, rs 0x1048d589a4363f7b
+dclz $t0, $t1 :: rd 0x22, rs 0x29d4f654
+dclz $v0, $v1 :: rd 0x1, rs 0x6a6d5708f4605790
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc5a92679
+dclz $v0, $v1 :: rd 0x0, rs 0xd58ecbabde35697f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc1683bce
+dclz $v0, $v1 :: rd 0x1, rs 0x575548fd08c0a5f1
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffcc2b1d17
+dclz $v0, $v1 :: rd 0x0, rs 0x8bb640fb8ed98ddb
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffc8ea00a0
+dclz $v0, $v1 :: rd 0x0, rs 0xbe00d51eabc578cc
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd6ad50a5
+dclz $v0, $v1 :: rd 0x2, rs 0x2f7e224a1c170ab2
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffd26c4d12
+dclz $v0, $v1 :: rd 0x0, rs 0xa978f12ca22256a7
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffdf2f6bcb
+dclz $v0, $v1 :: rd 0x0, rs 0x9950a93b811ee02f
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffdbee767c
+dclz $v0, $v1 :: rd 0x0, rs 0xb44eea93c6796a0c
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe3a1cbc1
+dclz $v0, $v1 :: rd 0x0, rs 0xfe71fca06c0eb657
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffe760d676
+dclz $v0, $v1 :: rd 0x1, rs 0x4ed6393df818af57
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffea23f0af
+dclz $v0, $v1 :: rd 0x0, rs 0xf22e90200236770a
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffeee2ed18
+dclz $v0, $v1 :: rd 0x0, rs 0x81efb6c7afd0c45d
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff0a5bd1d
+dclz $v0, $v1 :: rd 0x0, rs 0xeed8f3518102315b
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff464a0aa
+dclz $v0, $v1 :: rd 0x0, rs 0xadafefb9995efd5e
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffff9278673
+dclz $v0, $v1 :: rd 0x2, rs 0x34061933eb253086
+dclz $t0, $t1 :: rd 0x0, rs 0xfffffffffde69bc4
+dclz $v0, $v1 :: rd 0x3, rs 0x1748da264b4c52bc
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff89b8fd09
+dclz $v0, $v1 :: rd 0x2, rs 0x34fdfc9a9302be89
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff8d79e0be
+dclz $v0, $v1 :: rd 0x0, rs 0xd00278c3c521d180
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff803ac667
+dclz $v0, $v1 :: rd 0x0, rs 0xe90944a4c1d37a5d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff84fbdbd0
+dclz $v0, $v1 :: rd 0x1, rs 0x65fd698fddef9839
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9abc8bd5
+dclz $v0, $v1 :: rd 0x0, rs 0xc49ee3ad81b5af52
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff9e7d9662
+dclz $v0, $v1 :: rd 0x1, rs 0x7aa941e8bdb263e9
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff933eb0bb
+dclz $v0, $v1 :: rd 0x2, rs 0x372c209e42f3b58d
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffff97ffad0c
+dclz $v0, $v1 :: rd 0x2, rs 0x30f870b7e122a83b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffafb010b1
+dclz $v0, $v1 :: rd 0x0, rs 0x9e02de4b678930ec
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffab710d06
+dclz $v0, $v1 :: rd 0x0, rs 0xcd61a8639826631e
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa6322bdf
+dclz $v0, $v1 :: rd 0x0, rs 0xae87bc899a7bd3ca
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffa2f33668
+dclz $v0, $v1 :: rd 0x1, rs 0x58ec644d6481af17
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffbcb4666d
+dclz $v0, $v1 :: rd 0x1, rs 0x680cce5fb236b666
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb8757bda
+dclz $v0, $v1 :: rd 0x2, rs 0x3baa99471f6d4d75
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb5365d03
+dclz $v0, $v1 :: rd 0x1, rs 0x614d9b445f12236b
+dclz $t0, $t1 :: rd 0x0, rs 0xffffffffb1f740b4
+dclz $v0, $v1 :: rd 0x0, rs 0xa2a6ec661ba84121
+ddiv $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x12bd6aa, rt 0xa2a6ec661ba84121, HI 0x12bd6aa, LO 0x0
+ddiv $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x7e876382d2ab13, rt 0x614d9b445f12236b, HI 0x7e876382d2ab13, LO 0x0
+ddiv $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x9823b6e, LO 0x0
+ddiv $v0, $v1 :: rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75, HI 0xd31807e1e2825e68, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xd4326d9, LO 0x0
+ddiv $v0, $v1 :: rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666, HI 0xb7746d775ad6a5fb, LO 0x0
+ddiv $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x130476dc, LO 0x0
+ddiv $v0, $v1 :: rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17, HI 0x42b0c0a28677b502, LO 0x0
+ddiv $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x17c56b6b, LO 0x0
+ddiv $v0, $v1 :: rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca, HI 0x2aa89d319e3c30ad, LO 0x0
+ddiv $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x1a864db2, LO 0x0
+ddiv $v0, $v1 :: rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e, HI 0x1f308ec377fb413d, LO 0x0
+ddiv $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x1e475005, LO 0x0
+ddiv $v0, $v1 :: rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec, HI 0x18a3205f2eea15e3, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x2608edb8, LO 0x0
+ddiv $v0, $v1 :: rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b, HI 0xcf68cd7cfbfb84db, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x22c9f00f, LO 0x0
+ddiv $v0, $v1 :: rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d, HI 0x1411b9e85321f080, LO 0x1
+ddiv $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x2f8ad6d6, LO 0x0
+ddiv $v0, $v1 :: rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9, HI 0x5e7a4dd6353d41d, LO 0x0
+ddiv $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x2b4bcb61, LO 0x0
+ddiv $v0, $v1 :: rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52, HI 0x3af35a9dc40bd413, LO 0x0
+ddiv $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x350c9b64, LO 0x0
+ddiv $v0, $v1 :: rs 0x47f505569a08a180, rt 0x65fd698fddef9839, HI 0x47f505569a08a180, LO 0x0
+ddiv $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x31cd86d3, LO 0x0
+ddiv $v0, $v1 :: rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d, HI 0xf13fa4eccf841a9b, LO 0x4
+ddiv $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x3c8ea00a, LO 0x0
+ddiv $v0, $v1 :: rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180, HI 0xfeba09b5eda59a3e, LO 0x1
+ddiv $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x384fbdbd, LO 0x0
+ddiv $v0, $v1 :: rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89, HI 0xea0148c9b21ba350, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x7fc300, LO 0xffffffffffffffdc
+ddiv $v0, $v1 :: rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc, HI 0xf222bb95aee0f287, LO 0xfffffffffffffffc
+ddiv $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x45c0745, LO 0xfffffffffffffff6
+ddiv $v0, $v1 :: rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086, HI 0x31d8d9166dfc50ea, LO 0x0
+ddiv $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0xb8b0370, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e, HI 0x36549bd678e895b1, LO 0x0
+ddiv $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x3e9f21d, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b, HI 0xfdf1fef71453cc1e, LO 0x7
+ddiv $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x9844f24, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d, HI 0x556b3ecaccf17ac5, LO 0x0
+ddiv $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x46472d7, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a, HI 0xf9468f2576de4dc9, LO 0x5
+ddiv $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0xcba1a24, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x25b50fec14682d97, rt 0x4ed6393df818af57, HI 0x25b50fec14682d97, LO 0x0
+ddiv $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x199a22f7, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657, HI 0xffafcbd254dd9bcc, LO 0x2
+ddiv $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x21f623c0, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c, HI 0x3c2cd9a9cda20766, LO 0x0
+ddiv $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xc666ee0, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f, HI 0x1791722a7d72da3e, LO 0x0
+ddiv $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x873a7ca, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7, HI 0x87cc9d193ce24ad, LO 0x0
+ddiv $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x14b4b15b, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2, HI 0x1d2a757038984ed2, LO 0x0
+ddiv $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xaf14154, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc, HI 0xd0d070db710cd036, LO 0x0
+ddiv $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x163297d1, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb, HI 0x39c21c7d03415604, LO 0x0
+ddiv $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x3207b748, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1, HI 0xe5ea00ac978cd7bf, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x3a078d46, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f, HI 0x24eb6a8d1ce7674f, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffebcda388, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790, HI 0x2f39454412d6e4a7, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xfffffffff70e831d, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b, HI 0x57717a40e6dcd5e, LO 0x2
+ddiv $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xfffffffff2a5f53c, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91, HI 0xdab59c7f28835c51, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffffde903153, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27, HI 0xf947e7b3aa0a9f45, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffc5f840c4, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739, HI 0xed5005cbc8b0a214, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffcdf87aca, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0x314791895991136c, rt 0x949cad35625bb2d3, HI 0x314791895991136c, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffffe94b731e, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508, HI 0xc6eecff99a2fb6f3, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xfffffffff58c3387, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xa809521238895270, rt 0xa3d991b79941dedd, HI 0xa809521238895270, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xfffffffffd9bcb08, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f, HI 0xfea155d66d4b2e3b, LO 0xffffffffffffffcb
+ddiv $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xfffffffffd986d11, LO 0xfffffffffffffffa
+ddiv $v0, $v1 :: rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020, HI 0x38fd5c5b0771a03, LO 0x4
+ddiv $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xfffffffffdb4c5cc, LO 0xfffffffffffffff5
+ddiv $v0, $v1 :: rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa, HI 0xae6aff8fc506aa67, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffff726c82, LO 0xffffffffffffffe3
+ddiv $v0, $v1 :: rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3, HI 0xf4d2809b02ebfb17, LO 0x4
+ddiv $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffe6e007e4, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417, HI 0xc4c770f630dcca5a, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xfffffffff23a81c8, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb, HI 0xdfec2b2383cd5277, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xfffffffffa167062, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0xd3adba260ff7d96b, rt 0x152828591a652711, HI 0xfdfe0ad844c2278d, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xfffffffff87486ea, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5, HI 0x4ab4aa798418c00e, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffd4326d90, LO 0x0
+ddiv $v0, $v1 :: rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf, HI 0xbb8c035e0de0f0b8, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffd0f37027, LO 0x0
+ddiv $v0, $v1 :: rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec, HI 0x56961888531941, LO 0x4
+ddiv $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xffffffffddb056fe, LO 0x0
+ddiv $v0, $v1 :: rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac, HI 0x96b3e67454c407d, LO 0x3
+ddiv $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffffd9714b49, LO 0x0
+ddiv $v0, $v1 :: rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63, HI 0xec91d993c92195e4, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffc7361b4c, LO 0x0
+ddiv $v0, $v1 :: rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0, HI 0x409f3a645f3432b, LO 0xc
+ddiv $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffc3f706fb, LO 0x0
+ddiv $v0, $v1 :: rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117, HI 0x19364378c7ce8d1e, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffceb42022, LO 0x0
+ddiv $v0, $v1 :: rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae, HI 0xb99e8def2f384907, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffca753d95, LO 0x0
+ddiv $v0, $v1 :: rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9, HI 0x626eb96fecbaba3, LO 0x3
+ddiv $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xfffffffff23a8028, LO 0x0
+ddiv $v0, $v1 :: rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580, HI 0xd685884e76558c4f, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xfffffffff6fb9d9f, LO 0x0
+ddiv $v0, $v1 :: rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6, HI 0x227052a56d9298f1, LO 0x1
+ddiv $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xfffffffffbb8bb46, LO 0x0
+ddiv $v0, $v1 :: rs 0xd30169894df47405, rt 0x32fc12c81b7919f0, HI 0xd30169894df47405, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffff79a6f1, LO 0x0
+ddiv $v0, $v1 :: rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d, HI 0x1ca190bf6cbb06db, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffffe13ef6f4, LO 0x0
+ddiv $v0, $v1 :: rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda, HI 0x264f48529eebaa60, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffffe5ffeb43, LO 0x0
+ddiv $v0, $v1 :: rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb, HI 0x9a995fdbdc7ebc2d, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xffffffffe8bccd9a, LO 0x0
+ddiv $v0, $v1 :: rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f, HI 0xd68e4cd69a68ed77, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xffffffffec7dd02d, LO 0x0
+ddiv $v0, $v1 :: rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f, HI 0x29ea86b92ec18371, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x34867077, LO 0x0
+ddiv $v0, $v1 :: rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0, HI 0xde230867a630f6ad, LO 0x0
+ddiv $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x30476dc0, LO 0x0
+ddiv $v0, $v1 :: rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4, HI 0x2c0a0cf256103260, LO 0x0
+ddiv $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x3d044b19, LO 0x0
+ddiv $v0, $v1 :: rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9, HI 0xf1a4882c87759e4b, LO 0x4
+ddiv $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x39c556ae, LO 0x0
+ddiv $v0, $v1 :: rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5, HI 0xf9519fb55b56fcde, LO 0x0
+ddiv $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x278206ab, LO 0x0
+ddiv $v0, $v1 :: rs 0x81daf8200468319b, rt 0xa974eac43a489b55, HI 0xd8660d5bca1f9646, LO 0x1
+ddiv $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x23431b1c, LO 0x0
+ddiv $v0, $v1 :: rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07, HI 0xf3f79ef50cd774e5, LO 0x1
+ddiv $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x2e003dc5, LO 0x0
+ddiv $v0, $v1 :: rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34, HI 0x8b95a6ddc25dc8bf, LO 0x0
+ddiv $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x2ac12072, LO 0x0
+ddiv $v0, $v1 :: rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e, HI 0x5bef95e4a18579d, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x128e9dcf, LO 0x0
+ddiv $v0, $v1 :: rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d, HI 0x111d501a57156837, LO 0xfffffffffffffffd
+ddiv $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x164f8078, LO 0x0
+ddiv $v0, $v1 :: rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc, HI 0xeb113b46a508ea27, LO 0x2
+ddiv $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1b0ca6a1, LO 0x0
+ddiv $v0, $v1 :: rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe, HI 0x8d44168a6b6d98a, LO 0x0
+ddiv $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x1fcdbb16, LO 0x0
+ddiv $v0, $v1 :: rs 0xf518381dce634413, rt 0x3c07af97fba6704a, HI 0xf518381dce634413, LO 0x0
+ddiv $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x18aeb13, LO 0x0
+ddiv $v0, $v1 :: rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244, HI 0xe4627f3fe5255fc0, LO 0x0
+ddiv $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x54bf6a4, LO 0x0
+ddiv $v0, $v1 :: rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438, HI 0xccd392e176321f28, LO 0x0
+ddiv $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x808d07d, LO 0x0
+ddiv $v0, $v1 :: rs 0x829464944018fd8f, rt 0xa86726c90081ab2a, HI 0xda2d3dcb3f975265, LO 0x1
+ddiv $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xcc9cdca, LO 0x0
+ddiv $v0, $v1 :: rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec, HI 0x15d3204052e8f0e5, LO 0x0
+ddiv $v0, $v1 :: rs 0x7caf83d2880ff344, rt 0x7535cd338595d342, HI 0x779b69f027a2002, LO 0x1
+ddiv $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x179aa2b8, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12, HI 0xf156a04c747defd7, LO 0x0
+ddiv $v0, $v1 :: rs 0x93e2601c0f31d710, rt 0x126f646f34c31728, HI 0xf00f564817014ad8, LO 0xfffffffffffffffb
+ddiv $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x39f85b48, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b, HI 0xe1e1a679131cd933, LO 0x0
+ddiv $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x205d18b9, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f, HI 0x24296b75a76fa427, LO 0x0
+ddiv $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xb4342f4, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd, HI 0xfe1cf67474708337, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x9df32b7, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41, HI 0x9bba702e56453fd, LO 0x3
+ddiv $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x1520726e, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26, HI 0x613d64fc09c3bb4, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0xba764f6, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b, HI 0x70dc3454bfe348f, LO 0x0
+ddiv $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x902c9f8, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732, HI 0xbddc7123dd6d241b, LO 0x0
+ddiv $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0xbdc3600, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd, HI 0xf62fb727a59fcebe, LO 0x0
+ddiv $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x1832a20a, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d, HI 0x109f27e90f9f46fb, LO 0x0
+ddiv $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x2807206, LO 0xffffffffffffffeb
+ddiv $v0, $v1 :: rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5, HI 0x146864b7b87497f, LO 0xfffffffffffffff8
+ddiv $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x207394, LO 0xfffffffffffffff6
+ddiv $v0, $v1 :: rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6, HI 0xfbed7041ac815498, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x7aed163, LO 0xfffffffffffffffa
+ddiv $v0, $v1 :: rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e, HI 0x109a807bf46f27a, LO 0xa
+ddiv $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x5956ef2, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x8b086ee07150c260, rt 0x276af70a0e128561, HI 0xd9de5cf48d75cd22, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffe74ad2dd, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423, HI 0xe54750d5d9257f25, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xfffffffff51faddc, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb, HI 0x5b33fdebb55ca1d, LO 0xfffffffffffffffa
+ddiv $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xfffffffff86af32d, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a, HI 0x70a3e0424340ac96, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xfffffffff23f0530, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b, HI 0xc0478f036980171e, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xfffffffff8fd7447, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b, HI 0x100f8d33356e4dfe, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xfffffffffaf03dac, LO 0xfffffffffffffffa
+ddiv $v0, $v1 :: rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c, HI 0xe2fbfa895eb68958, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xfffffffffc9eb33e, LO 0xfffffffffffffff7
+ddiv $v0, $v1 :: rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636, HI 0xd24bb05d76ed25b7, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xfffffffffceeaa22, LO 0xffffffffffffffe8
+ddiv $v0, $v1 :: rs 0xeb9682c170312f1, rt 0x8cff404aede292f2, HI 0xeb9682c170312f1, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffc60796ca, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0x84785280dd301d0d, rt 0x743491a6828716c8, HI 0xf8ace4275fb733d5, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a, HI 0x3f8e6c83db52595, LO 0x1
+ddiv $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x26444ced2998436d, rt 0xde02d1337d5407b9, HI 0x4471e20a6ec4b26, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xfffffffff420a87a, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7175c9dd58ca708, rt 0x993138f16cfde991, HI 0x7175c9dd58ca708, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffea659881, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x663d061055833287, rt 0xb620660a49732b90, HI 0x1c5d6c1a9ef65e17, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xfffffffff6a64224, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c, HI 0xf77fe41f3a29596f, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xfffffffff5bfd918, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xf69823670e82471b, rt 0xc532e18e187980fa, HI 0xf69823670e82471b, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffffdf24f266, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36, HI 0x36886c59d98d26b2, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffffe0b41de7, LO 0x0
+ddiv $v0, $v1 :: rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c, HI 0x2e4f45517108331, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffffe4750050, LO 0x0
+ddiv $v0, $v1 :: rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17, HI 0xfd5d7d1d9962e61f, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xffffffffe9362689, LO 0x0
+ddiv $v0, $v1 :: rs 0x3f46553ecad374df, rt 0xf8be8164159649c5, HI 0x53a605f7785c307, LO 0xfffffffffffffff8
+ddiv $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xffffffffedf73b3e, LO 0x0
+ddiv $v0, $v1 :: rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a, HI 0x14845c91fd6d9331, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xfffffffff3b06b3b, LO 0x0
+ddiv $v0, $v1 :: rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b, HI 0x358aee04985dc96, LO 0xfffffffffffffff7
+ddiv $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xfffffffff771768c, LO 0x0
+ddiv $v0, $v1 :: rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587, HI 0xfb3fafac9d47c57f, LO 0xfffffffffffffffb
+ddiv $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xfffffffffa325055, LO 0x0
+ddiv $v0, $v1 :: rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25, HI 0xd2df25c419478206, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xfffffffffef34de2, LO 0x0
+ddiv $v0, $v1 :: rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec, HI 0xdeff700808908111, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffc6bcf05f, LO 0x0
+ddiv $v0, $v1 :: rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77, HI 0xa8b08fe67a8bc7da, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffc27dede8, LO 0x0
+ddiv $v0, $v1 :: rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649, HI 0xdda3db078a107a7a, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffcf3ecb31, LO 0x0
+ddiv $v0, $v1 :: rs 0x478909b59a99269, rt 0x8a6229d731eea35b, HI 0x478909b59a99269, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffcbffd686, LO 0x0
+ddiv $v0, $v1 :: rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a, HI 0xff169b78bf502ff1, LO 0x3
+ddiv $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffd5b88683, LO 0x0
+ddiv $v0, $v1 :: rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9, HI 0xb665ed5e7f89e9a2, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffd1799b34, LO 0x0
+ddiv $v0, $v1 :: rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9, HI 0x15da9474b7a8d5e4, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xffffffffdc3abded, LO 0x0
+ddiv $v0, $v1 :: rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c, HI 0xf6b3537d2af90fcc, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffd8fba05a, LO 0x0
+ddiv $v0, $v1 :: rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b, HI 0x223d7cfe2b961897, LO 0x0
+ddiv $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x1b0421a2, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897, HI 0x1fcdb7f707dd31b4, LO 0x1
+ddiv $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x27e3720, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc, HI 0xf914a2afd999f5ac, LO 0xc
+ddiv $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x38211e8, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4, HI 0xcf38dfe4d469f65, LO 0x5
+ddiv $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0xfc0d33d, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2, HI 0x79517105789ea6b, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x1208433e, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f, HI 0xeaded5c53dad020a, LO 0x0
+ddiv $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x1d4721e7, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x8a6229d731eea35b, rt 0x478909b59a99269, HI 0xfea0d99e4d278205, LO 0xffffffffffffffe6
+ddiv $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x36089b44, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8, HI 0x2c3c3f9e48985649, LO 0x0
+ddiv $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x4c591a9, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da, HI 0x28a6ae5f5727d351, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4bde8c, LO 0xffffffffffffffb5
+ddiv $v0, $v1 :: rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825, HI 0x2299b0e01d5e68ec, LO 0x0
+ddiv $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x532532, LO 0xfffffffffffffff3
+ddiv $v0, $v1 :: rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206, HI 0x21f94fef6f9b7231, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x211ea98, LO 0xfffffffffffffff8
+ddiv $v0, $v1 :: rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc, HI 0x164e17c1e7fb6587, LO 0x0
+ddiv $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x4b943b6, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33, HI 0xfa4ca28b56d4950b, LO 0x0
+ddiv $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x1d4a3c0, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7, HI 0xe5e9a314be7fa08a, LO 0x0
+ddiv $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x1463d9d8, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xf8be8164159649c5, rt 0x3f46553ecad374df, HI 0xf8be8164159649c5, LO 0x0
+ddiv $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x2e141d4, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f, HI 0xcd1e06ae0edac8, LO 0xffffffffffffffd1
+ddiv $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x12ab9921, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479, HI 0xfc8d543ca1f24f5c, LO 0x0
+ddiv $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x251d3b9e, LO 0x0
+ddiv $v0, $v1 :: rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2, HI 0x1463004709b87784, LO 0x1
+ddiv $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x21dc2629, LO 0x0
+ddiv $v0, $v1 :: rs 0xc532e18e187980fa, rt 0xf69823670e82471b, HI 0xfda20d23c16bd658, LO 0x6
+ddiv $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x2c9f00f0, LO 0x0
+ddiv $v0, $v1 :: rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b, HI 0xb3fdec294f287d1c, LO 0x0
+ddiv $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x285e1d47, LO 0x0
+ddiv $v0, $v1 :: rs 0xb620660a49732b90, rt 0x663d061055833287, HI 0xb620660a49732b90, LO 0x0
+ddiv $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x36194d42, LO 0x0
+ddiv $v0, $v1 :: rs 0x993138f16cfde991, rt 0x7175c9dd58ca708, HI 0xfc7849931aaf0c01, LO 0xfffffffffffffff2
+ddiv $v0, $v1 :: rs 0xde02d1337d5407b9, rt 0x26444ced2998436d, HI 0xde02d1337d5407b9, LO 0x0
+ddiv $v0, $v1 :: rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef, HI 0x13a390e1e1dab15a, LO 0x0
+ddiv $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x3b5a6b9b, LO 0x0
+ddiv $v0, $v1 :: rs 0x743491a6828716c8, rt 0x84785280dd301d0d, HI 0x743491a6828716c8, LO 0x0
+ddiv $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x315d626, LO 0x0
+ddiv $v0, $v1 :: rs 0x8cff404aede292f2, rt 0xeb9682c170312f1, HI 0xf411197f8ef81789, LO 0xfffffffffffffff9
+ddiv $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x7d4cb91, LO 0x0
+ddiv $v0, $v1 :: rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7, HI 0xe783107da896507f, LO 0x1
+ddiv $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xa97ed48, LO 0x0
+ddiv $v0, $v1 :: rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958, HI 0x11a6553063c00074, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xe56f0ff, LO 0x0
+ddiv $v0, $v1 :: rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3, HI 0xd327538e1875241b, LO 0x0
+ddiv $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1011a0fa, LO 0x0
+ddiv $v0, $v1 :: rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e, HI 0x3318757f4f3b289, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x14d0bd4d, LO 0x0
+ddiv $v0, $v1 :: rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96, HI 0x84104caa98b0d84, LO 0x1
+ddiv $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x19939b94, LO 0x0
+ddiv $v0, $v1 :: rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b, HI 0xf6b6fa3fcd9d27cb, LO 0x0
+ddiv $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x1d528623, LO 0x0
+ddiv $v0, $v1 :: rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25, HI 0x8aea7db12d490b7, LO 0xfffffffffffffffc
+ddiv $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xfffffffff12f560e, LO 0x0
+ddiv $v0, $v1 :: rs 0x276af70a0e128561, rt 0x8b086ee07150c260, HI 0x276af70a0e128561, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xfffffffff5ee4bb9, LO 0x0
+ddiv $v0, $v1 :: rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6, HI 0x3045bf6b5e74b6e, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xfffffffff8ad6d60, LO 0x0
+ddiv $v0, $v1 :: rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2, HI 0x20223f1308accfa6, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xfffffffffc6c70d7, LO 0x0
+ddiv $v0, $v1 :: rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7, HI 0xf83c55743976b5f5, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffffe22b20d2, LO 0x0
+ddiv $v0, $v1 :: rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb, HI 0xef7f91036f2f542, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffffe6ea3d65, LO 0x0
+ddiv $v0, $v1 :: rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe, HI 0x9ba98b53fc28d8b, LO 0xfffffffffffffff7
+ddiv $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xffffffffeba91bbc, LO 0x0
+ddiv $v0, $v1 :: rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b, HI 0x1e81930d7d61cb4d, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xffffffffef68060b, LO 0x0
+ddiv $v0, $v1 :: rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f, HI 0x563cc6bcc7d9857, LO 0xc
+ddiv $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffd727bbb6, LO 0x0
+ddiv $v0, $v1 :: rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168, HI 0xc7a59be7800f3d26, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffd3e6a601, LO 0x0
+ddiv $v0, $v1 :: rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0, HI 0x1aecdf2982ca1b41, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xffffffffdea580d8, LO 0x0
+ddiv $v0, $v1 :: rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a, HI 0x2b8613a260d19dcd, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xffffffffda649d6f, LO 0x0
+ddiv $v0, $v1 :: rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427, HI 0xef4115671c1a58, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffc423cd6a, LO 0x0
+ddiv $v0, $v1 :: rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933, HI 0x19e349f86925d404, LO 0xfffffffffffffffd
+ddiv $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x126f646f34c31728, rt 0x93e2601c0f31d710, HI 0x126f646f34c31728, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffcda1f604, LO 0x0
+ddiv $v0, $v1 :: rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7, HI 0xf3fef7e310869ddf, LO 0x5
+ddiv $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+ddiv $v0, $v1 :: rs 0x7535cd338595d342, rt 0x7caf83d2880ff344, HI 0x7535cd338595d342, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xfffffffffd2f9270, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5, HI 0xf585751a950c37d1, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xfffffffffa4614b1, LO 0xfffffffffffffff8
+ddiv $v0, $v1 :: rs 0xa86726c90081ab2a, rt 0x829464944018fd8f, HI 0xa86726c90081ab2a, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xfffffffffee43308, LO 0xfffffffffffffff2
+ddiv $v0, $v1 :: rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28, HI 0xcf2b6cbff16b5510, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffff2a8070, LO 0xffffffffffffffcd
+ddiv $v0, $v1 :: rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0, HI 0xfea499a6ed9422c4, LO 0x2
+ddiv $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffedd671ce, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x3c07af97fba6704a, rt 0xf518381dce634413, HI 0x580c82d0396c4a9, LO 0xfffffffffffffffb
+ddiv $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xfffffffffc21d9f8, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a, HI 0x29d182e2857e624, LO 0x9
+ddiv $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffeaa74234, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f, HI 0xe0f7bb589ab7aebc, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffffedb454b7, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850, HI 0xe336c60cdeeb954d, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xfffffffff0b8a1aa, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f, HI 0xd5b2120c6f52416e, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xfffffffffbf7f8fb, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf, HI 0xfa0d2e21bc04c175, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xfffffffffc7dacfc, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec, HI 0x986a2b654a4e7e07, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffe5795375, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xa974eac43a489b55, rt 0x81daf8200468319b, HI 0xa974eac43a489b55, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xfffffffffbbcc376, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde, HI 0xfa63a52ccf8721af, LO 0xd
+ddiv $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffc9f756c6, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef, HI 0xe8c11f45e7495ea9, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffffe23f08f4, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260, HI 0xd9b46768b2d1fb14, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffffee7e11b1, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad, HI 0x151de7bfd238e9c7, LO 0xfffffffffffffffd
+ddiv $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0xf81d14d, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322, HI 0xb42ad6e659a7b04f, LO 0x0
+ddiv $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x1381f5fc, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48, HI 0x4bf8485ab728922f, LO 0x0
+ddiv $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x6086dc0, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d, HI 0x113d35e817e56428, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x1347a428, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a, HI 0x31e0c6affdc28eda, LO 0x0
+ddiv $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x5d108a, LO 0xffffffffffffff6b
+ddiv $v0, $v1 :: rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db, HI 0x1a1d4a35e5968be7, LO 0x2
+ddiv $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x1946b98, LO 0xffffffffffffffef
+ddiv $v0, $v1 :: rs 0x32fc12c81b7919f0, rt 0xd30169894df47405, HI 0x5fd7c51696d8df5, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x7ee2c84, LO 0xfffffffffffffff9
+ddiv $v0, $v1 :: rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7, HI 0x3ef88384c72efcd6, LO 0x0
+ddiv $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0xcb7c13c, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f, HI 0xf375009e07fc1cf, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x106cf84b, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe, HI 0x15ebf6121dca77c9, LO 0x0
+ddiv $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x1caba0da, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907, HI 0x18495bc92cc990b5, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x35f74d4a, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e, HI 0xedf0f7eb11862b53, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x52d9290, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab, HI 0x5d42aeac6a532e0, LO 0x0
+ddiv $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x1b68a28f, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4, HI 0x13dccf7e31d3447, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x5581b44, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081, HI 0x249d559aa8d72aac, LO 0x0
+ddiv $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x2eb10e1, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1, HI 0xcd6764f084b30ec, LO 0x0
+ddiv $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0xe2a0844, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8, HI 0x3a8faf65a0278097, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x119b4be9, LO 0x0
+ddiv $v0, $v1 :: rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e, HI 0x338123f3d2cdb0e7, LO 0x1
+ddiv $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x155a565e, LO 0x0
+ddiv $v0, $v1 :: rs 0x152828591a652711, rt 0xd3adba260ff7d96b, HI 0x152828591a652711, LO 0x0
+ddiv $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x18197087, LO 0x0
+ddiv $v0, $v1 :: rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277, HI 0xfe57b11946adb296, LO 0x3
+ddiv $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x1cd86d30, LO 0x0
+ddiv $v0, $v1 :: rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a, HI 0xc8ce4f52f74d39bd, LO 0x1
+ddiv $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x29f3d35, LO 0x0
+ddiv $v0, $v1 :: rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3, HI 0xf2e7a490978058f3, LO 0x0
+ddiv $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x65e2082, LO 0x0
+ddiv $v0, $v1 :: rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67, HI 0x25c64c59ce7c5c11, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xb1d065b, LO 0x0
+ddiv $v0, $v1 :: rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83, HI 0xa2b84a635111020, LO 0x0
+ddiv $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfdc1bec, LO 0x0
+ddiv $v0, $v1 :: rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040, HI 0x23fa0d3a7d88b6f, LO 0x0
+ddiv $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x3793a651, LO 0x0
+ddiv $v0, $v1 :: rs 0xa3d991b79941dedd, rt 0xa809521238895270, HI 0xfbd03fa560b88c6d, LO 0x1
+ddiv $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x3352bbe6, LO 0x0
+ddiv $v0, $v1 :: rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3, HI 0x2fa54768e6d02ee, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x3e119d3f, LO 0x0
+ddiv $v0, $v1 :: rs 0x949cad35625bb2d3, rt 0x314791895991136c, HI 0xf72bd048157dd9ab, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x3ad08088, LO 0x0
+ddiv $v0, $v1 :: rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214, HI 0xf36a1fc5ab663b1, LO 0xfffffffffffffffa
+ddiv $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x2497d08d, LO 0x0
+ddiv $v0, $v1 :: rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7, HI 0x185b88e0db8d7d27, LO 0x0
+ddiv $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2056cd3a, LO 0x0
+ddiv $v0, $v1 :: rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f, HI 0x255a4cd22fd61b91, LO 0x0
+ddiv $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x2d15ebe3, LO 0x0
+ddiv $v0, $v1 :: rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54, HI 0x1048d589a4363f7b, LO 0x0
+ddiv $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x29d4f654, LO 0x0
+ddiv $v0, $v1 :: rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7, HI 0xbfacc80ceb28e42, LO 0x2
+ddiv $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffc5a92679, LO 0x0
+ddiv $v0, $v1 :: rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f, HI 0xfa7a3638fb1cd0ce, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffc1683bce, LO 0x0
+ddiv $v0, $v1 :: rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce, HI 0x575548fd08c0a5f1, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffcc2b1d17, LO 0x0
+ddiv $v0, $v1 :: rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604, HI 0xff3a79f5955c39e3, LO 0xfffffffffffffffe
+ddiv $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffc8ea00a0, LO 0x0
+ddiv $v0, $v1 :: rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036, HI 0xed3064433ab8a896, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffd6ad50a5, LO 0x0
+ddiv $v0, $v1 :: rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2, HI 0x1253acd9e37ebbe0, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffd26c4d12, LO 0x0
+ddiv $v0, $v1 :: rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad, HI 0xfe58d35c682fc569, LO 0xfffffffffffffff6
+ddiv $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xffffffffdf2f6bcb, LO 0x0
+ddiv $v0, $v1 :: rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e, HI 0xf79671e576ea4927, LO 0xfffffffffffffffc
+ddiv $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffffdbee767c, LO 0x0
+ddiv $v0, $v1 :: rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766, HI 0xf07bc43d941b7172, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffffe3a1cbc1, LO 0x0
+ddiv $v0, $v1 :: rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a, HI 0xfe71fca06c0eb657, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffffe760d676, LO 0x0
+ddiv $v0, $v1 :: rs 0x4ed6393df818af57, rt 0x25b50fec14682d97, HI 0x36c1965cf485429, LO 0x2
+ddiv $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xffffffffea23f0af, LO 0x0
+ddiv $v0, $v1 :: rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb, HI 0xf22e90200236770a, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xffffffffeee2ed18, LO 0x0
+ddiv $v0, $v1 :: rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5, HI 0xd75af5927cc23f22, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xfffffffff0a5bd1d, LO 0x0
+ddiv $v0, $v1 :: rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b, HI 0xeed8f3518102315b, LO 0x0
+ddiv $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xfffffffff464a0aa, LO 0x0
+ddiv $v0, $v1 :: rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1, HI 0xe4048b901247930f, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xfffffffff9278673, LO 0x0
+ddiv $v0, $v1 :: rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea, HI 0x22d401d7d28df9c, LO 0x1
+ddiv $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xfffffffffde69bc4, LO 0x0
+ddiv $v0, $v1 :: rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797, HI 0x1748da264b4c52bc, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xfffffffffa587883, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7, HI 0x34fdfc9a9302be89, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffca0880c8, LO 0xffffffffffffffff
+ddiv $v0, $v1 :: rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe, HI 0xd00278c3c521d180, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffffe3d5d40d, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f, HI 0xe90944a4c1d37a5d, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffffef151298, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x65fd698fddef9839, rt 0x47f505569a08a180, HI 0x1e08643943e6f6b9, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xfffffffff1542297, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413, HI 0xff923e4b45c18365, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xfffffffffd93440e, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d, HI 0x490609cfb25d1a5, LO 0x14
+ddiv $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xfffffffffb9c80e8, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d, HI 0x372c209e42f3b58d, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffffe411887c, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0, HI 0x30f870b7e122a83b, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffec3eb0bb, LO 0xfffffffffffffffe
+ddiv $v0, $v1 :: rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7, HI 0x9e02de4b678930ec, LO 0x0
+ddiv $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xfffffffffb03f61c, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d, HI 0xec9237271021a45b, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffffed826e20, LO 0xfffffffffffffffd
+ddiv $v0, $v1 :: rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad, HI 0xd93059bb38b80477, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffffef0511d8, LO 0xfffffffffffffffc
+ddiv $v0, $v1 :: rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502, HI 0x163ba3aade09fa15, LO 0x1
+ddiv $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffff0428aa, LO 0xfffffffffffffffb
+ddiv $v0, $v1 :: rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb, HI 0x1f813bd70d0d5c61, LO 0xffffffffffffffff
+ddiv $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xfffffffffb051bdc, LO 0xfffffffffffffff9
+ddiv $v0, $v1 :: rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3, HI 0x3baa99471f6d4d75, LO 0x0
+ddiv $v0, $v1 :: rs 0x614d9b445f12236b, rt 0x7e876382d2ab13, HI 0x6df31435c728df, LO 0xc4
+ddiv $v0, $v1 :: rs 0xa2a6ec661ba84121, rt 0x12bd6aa, HI 0xffffffffff6cc803, LO 0xffffffb04cd8b053
+ddivu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x12bd6aa, rt 0xa2a6ec661ba84121, HI 0x12bd6aa, LO 0x0
+ddivu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x7e876382d2ab13, rt 0x614d9b445f12236b, HI 0x7e876382d2ab13, LO 0x0
+ddivu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x9823b6e, LO 0x0
+ddivu $v0, $v1 :: rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75, HI 0x20183c0c843a7609, LO 0x2
+ddivu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xd4326d9, LO 0x0
+ddivu $v0, $v1 :: rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666, HI 0x4f679f17a89fef95, LO 0x1
+ddivu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x130476dc, LO 0x0
+ddivu $v0, $v1 :: rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17, HI 0x42b0c0a28677b502, LO 0x0
+ddivu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x17c56b6b, LO 0x0
+ddivu $v0, $v1 :: rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca, HI 0x2aa89d319e3c30ad, LO 0x0
+ddivu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x1a864db2, LO 0x0
+ddivu $v0, $v1 :: rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e, HI 0x1f308ec377fb413d, LO 0x0
+ddivu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x1e475005, LO 0x0
+ddivu $v0, $v1 :: rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec, HI 0x7aa04213c760e4f7, LO 0x0
+ddivu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x2608edb8, LO 0x0
+ddivu $v0, $v1 :: rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b, HI 0xb870a9d7770e3ef, LO 0x3
+ddivu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x22c9f00f, LO 0x0
+ddivu $v0, $v1 :: rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d, HI 0x1411b9e85321f080, LO 0x1
+ddivu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x2f8ad6d6, LO 0x0
+ddivu $v0, $v1 :: rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9, HI 0x5e7a4dd6353d41d, LO 0x0
+ddivu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x2b4bcb61, LO 0x0
+ddivu $v0, $v1 :: rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52, HI 0x3af35a9dc40bd413, LO 0x0
+ddivu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x350c9b64, LO 0x0
+ddivu $v0, $v1 :: rs 0x47f505569a08a180, rt 0x65fd698fddef9839, HI 0x47f505569a08a180, LO 0x0
+ddivu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x31cd86d3, LO 0x0
+ddivu $v0, $v1 :: rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d, HI 0x9564b77fd6d2040f, LO 0x0
+ddivu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x3c8ea00a, LO 0x0
+ddivu $v0, $v1 :: rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180, HI 0xcebc8279b2c76bbe, LO 0x0
+ddivu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x384fbdbd, LO 0x0
+ddivu $v0, $v1 :: rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89, HI 0x1609565f6610a92c, LO 0x3
+ddivu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4c11db70, LO 0x0
+ddivu $v0, $v1 :: rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc, HI 0x94a3616bde5b72f, LO 0x6
+ddivu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x48d0c6c7, LO 0x0
+ddivu $v0, $v1 :: rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086, HI 0x31d8d9166dfc50ea, LO 0x0
+ddivu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x4593e01e, LO 0x0
+ddivu $v0, $v1 :: rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e, HI 0x36549bd678e895b1, LO 0x0
+ddivu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x4152fda9, LO 0x0
+ddivu $v0, $v1 :: rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b, HI 0x85e0a6319b63259b, LO 0x0
+ddivu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x5f15adac, LO 0x0
+ddivu $v0, $v1 :: rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d, HI 0x556b3ecaccf17ac5, LO 0x0
+ddivu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x5bd4b01b, LO 0x0
+ddivu $v0, $v1 :: rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a, HI 0xb42f5fc581eea0fb, LO 0x0
+ddivu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x569796c2, LO 0x0
+ddivu $v0, $v1 :: rs 0x25b50fec14682d97, rt 0x4ed6393df818af57, HI 0x25b50fec14682d97, LO 0x0
+ddivu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x52568b75, LO 0x0
+ddivu $v0, $v1 :: rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657, HI 0xfc93c5132cfb087a, LO 0x0
+ddivu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x6a1936c8, LO 0x0
+ddivu $v0, $v1 :: rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c, HI 0x3c2cd9a9cda20766, LO 0x0
+ddivu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x6ed82b7f, LO 0x0
+ddivu $v0, $v1 :: rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f, HI 0x1791722a7d72da3e, LO 0x0
+ddivu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x639b0da6, LO 0x0
+ddivu $v0, $v1 :: rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7, HI 0x87cc9d193ce24ad, LO 0x0
+ddivu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x675a1011, LO 0x0
+ddivu $v0, $v1 :: rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2, HI 0x1d2a757038984ed2, LO 0x0
+ddivu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x791d4014, LO 0x0
+ddivu $v0, $v1 :: rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc, HI 0x12cf9bbcc547576a, LO 0x1
+ddivu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x7ddc5da3, LO 0x0
+ddivu $v0, $v1 :: rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb, HI 0x39c21c7d03415604, LO 0x0
+ddivu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x709f7b7a, LO 0x0
+ddivu $v0, $v1 :: rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1, HI 0x373f6eb2860b8bdd, LO 0x1
+ddivu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x745e66cd, LO 0x0
+ddivu $v0, $v1 :: rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f, HI 0x24eb6a8d1ce7674f, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0x1131deb0, LO 0x61ea6e2dc
+ddivu $v0, $v1 :: rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790, HI 0x2f39454412d6e4a7, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0x11acb9fe, LO 0x5ad96ea93
+ddivu $v0, $v1 :: rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b, HI 0x57717a40e6dcd5e, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0x1166f1d6, LO 0x7ea86f08c
+ddivu $v0, $v1 :: rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91, HI 0x1ff21c643954d27c, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0x4364396, LO 0x6fef13def
+ddivu $v0, $v1 :: rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27, HI 0x5b48eeb1683bbbf, LO 0x8
+ddivu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xb7346f4, LO 0x45a48a599
+ddivu $v0, $v1 :: rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739, HI 0x6df98696221e0adb, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x1b15105a, LO 0x41fdc498f
+ddivu $v0, $v1 :: rs 0x314791895991136c, rt 0x949cad35625bb2d3, HI 0x314791895991136c, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xa73b6e2, LO 0x4fced8ae8
+ddivu $v0, $v1 :: rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508, HI 0x51d21b76402221eb, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x2e094246, LO 0x49b32afef
+ddivu $v0, $v1 :: rs 0xa809521238895270, rt 0xa3d991b79941dedd, HI 0x42fc05a9f477393, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0x7d139b8, LO 0x1024354cb8
+ddivu $v0, $v1 :: rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f, HI 0x8b586956b5a23c, LO 0x3c
+ddivu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0x50cdfdb, LO 0x170909697c
+ddivu $v0, $v1 :: rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020, HI 0x38fd5c5b0771a03, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0x2551f3a, LO 0x2833f800fe
+ddivu $v0, $v1 :: rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa, HI 0x370fb2c5bb90f8bd, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0x3db0ff, LO 0x61a26584ba
+ddivu $v0, $v1 :: rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3, HI 0xc07112dd60ed5ee3, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0x189522d4, LO 0x8dff907c9
+ddivu $v0, $v1 :: rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417, HI 0x3731b0ad08b2c643, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0x27046a, LO 0xa9f68252f
+ddivu $v0, $v1 :: rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb, HI 0x41cff89fb1b7a87c, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0x13c61b7c, LO 0xbfd3013f9
+ddivu $v0, $v1 :: rs 0xd3adba260ff7d96b, rt 0x152828591a652711, HI 0x1c26ab080452c1, LO 0xa
+ddivu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0x3ff9f96, LO 0xe8a3c1c2f
+ddivu $v0, $v1 :: rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5, HI 0x4ab4aa798418c00e, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x3f3bb63c, LO 0x283f5e22d
+ddivu $v0, $v1 :: rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf, HI 0x3c8857567b9a60d9, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0x15c91287, LO 0x2a383cfe0
+ddivu $v0, $v1 :: rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec, HI 0x56961888531941, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x5fce38b4, LO 0x25d423401
+ddivu $v0, $v1 :: rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac, HI 0x96b3e67454c407d, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0x62519026, LO 0x272ff3d9f
+ddivu $v0, $v1 :: rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63, HI 0x92e6446ab51c7a3, LO 0xb
+ddivu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x4e0fbbc4, LO 0x227db808f
+ddivu $v0, $v1 :: rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0, HI 0x409f3a645f3432b, LO 0xc
+ddivu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x30be54b6, LO 0x23edf2d2b
+ddivu $v0, $v1 :: rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117, HI 0x19364378c7ce8d1e, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x5c162470, LO 0x202f6dbeb
+ddivu $v0, $v1 :: rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae, HI 0x5af3c01531a70159, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x6d08f5fe, LO 0x2129d35b7
+ddivu $v0, $v1 :: rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9, HI 0x626eb96fecbaba3, LO 0x3
+ddivu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0x7a262c4, LO 0x3c68dfc7f
+ddivu $v0, $v1 :: rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580, HI 0x2c70311c37d6ebcf, LO 0x3
+ddivu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0x734d55e, LO 0x39a63b243
+ddivu $v0, $v1 :: rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6, HI 0x227052a56d9298f1, LO 0x1
+ddivu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0x2e1a365a, LO 0x371e5eba6
+ddivu $v0, $v1 :: rs 0xd30169894df47405, rt 0x32fc12c81b7919f0, HI 0x7111e68e0100c45, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0x2e87b201, LO 0x3423c2830
+ddivu $v0, $v1 :: rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d, HI 0x1ca190bf6cbb06db, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0x3b6bfd34, LO 0x32b35d0bf
+ddivu $v0, $v1 :: rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda, HI 0x264f48529eebaa60, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0x1ebbb288, LO 0x30be0405d
+ddivu $v0, $v1 :: rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb, HI 0x23f589cfa1181432, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0x2f751fe6, LO 0x2dded0536
+ddivu $v0, $v1 :: rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f, HI 0x3e9dbc212c17c919, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0x2d1169d8, LO 0x2bc9c4d1d
+ddivu $v0, $v1 :: rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f, HI 0x75bfafd2d519d322, LO 0x0
+ddivu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x34867077, LO 0x0
+ddivu $v0, $v1 :: rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0, HI 0x636e39dec68af0ed, LO 0x1
+ddivu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x30476dc0, LO 0x0
+ddivu $v0, $v1 :: rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4, HI 0x2c0a0cf256103260, LO 0x0
+ddivu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x3d044b19, LO 0x0
+ddivu $v0, $v1 :: rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9, HI 0x94a90544249b18ef, LO 0x0
+ddivu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x39c556ae, LO 0x0
+ddivu $v0, $v1 :: rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5, HI 0x55c8de52e86503e9, LO 0x1
+ddivu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x278206ab, LO 0x0
+ddivu $v0, $v1 :: rs 0x81daf8200468319b, rt 0xa974eac43a489b55, HI 0x81daf8200468319b, LO 0x0
+ddivu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x23431b1c, LO 0x0
+ddivu $v0, $v1 :: rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07, HI 0x8c61ca5a5725f2ec, LO 0x0
+ddivu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x2e003dc5, LO 0x0
+ddivu $v0, $v1 :: rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34, HI 0x5f2d1de43fb3e8b, LO 0x1
+ddivu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x2ac12072, LO 0x0
+ddivu $v0, $v1 :: rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e, HI 0x300ce751dac6162f, LO 0x0
+ddivu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x128e9dcf, LO 0x0
+ddivu $v0, $v1 :: rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d, HI 0x6778fdf3ba52a850, LO 0x0
+ddivu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x164f8078, LO 0x0
+ddivu $v0, $v1 :: rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc, HI 0xad00b1f7da78479f, LO 0x0
+ddivu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1b0ca6a1, LO 0x0
+ddivu $v0, $v1 :: rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe, HI 0x8d44168a6b6d98a, LO 0x0
+ddivu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x1fcdbb16, LO 0x0
+ddivu $v0, $v1 :: rs 0xf518381dce634413, rt 0x3c07af97fba6704a, HI 0x4f979bddfc982eb, LO 0x4
+ddivu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x18aeb13, LO 0x0
+ddivu $v0, $v1 :: rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244, HI 0x1cf8e7192d467d7c, LO 0x1
+ddivu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x54bf6a4, LO 0x0
+ddivu $v0, $v1 :: rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438, HI 0x30d493400e94aaf0, LO 0x1
+ddivu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x808d07d, LO 0x0
+ddivu $v0, $v1 :: rs 0x829464944018fd8f, rt 0xa86726c90081ab2a, HI 0x829464944018fd8f, LO 0x0
+ddivu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xcc9cdca, LO 0x0
+ddivu $v0, $v1 :: rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec, HI 0x15d3204052e8f0e5, LO 0x0
+ddivu $v0, $v1 :: rs 0x7caf83d2880ff344, rt 0x7535cd338595d342, HI 0x779b69f027a2002, LO 0x1
+ddivu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x7c56b6b0, LO 0x0
+ddivu $v0, $v1 :: rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12, HI 0x46a686eb1d81a2c5, LO 0x1
+ddivu $v0, $v1 :: rs 0x93e2601c0f31d710, rt 0x126f646f34c31728, HI 0x673ca269191dd0, LO 0x8
+ddivu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x75d48dde, LO 0x0
+ddivu $v0, $v1 :: rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b, HI 0x6da34febe34d90c8, LO 0x1
+ddivu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x6b93dddb, LO 0x0
+ddivu $v0, $v1 :: rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f, HI 0x24296b75a76fa427, LO 0x0
+ddivu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x6f52c06c, LO 0x0
+ddivu $v0, $v1 :: rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd, HI 0x247e944890586e36, LO 0x4
+ddivu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x6211e6b5, LO 0x0
+ddivu $v0, $v1 :: rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41, HI 0x9bba702e56453fd, LO 0x3
+ddivu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x66d0fb02, LO 0x0
+ddivu $v0, $v1 :: rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26, HI 0x76c89e80c07dc168, LO 0x0
+ddivu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x5e9f46bf, LO 0x0
+ddivu $v0, $v1 :: rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b, HI 0x70dc3454bfe348f, LO 0x0
+ddivu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x5a5e5b08, LO 0x0
+ddivu $v0, $v1 :: rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732, HI 0x5d374f3a3d787ce9, LO 0x1
+ddivu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x571d7dd1, LO 0x0
+ddivu $v0, $v1 :: rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd, HI 0x32156686cb573d04, LO 0x2
+ddivu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x53dc6066, LO 0x0
+ddivu $v0, $v1 :: rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d, HI 0x109f27e90f9f46fb, LO 0x0
+ddivu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4d9b3063, LO 0x0
+ddivu $v0, $v1 :: rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5, HI 0x3f63daa9afd199d7, LO 0x0
+ddivu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x495a2dd4, LO 0x0
+ddivu $v0, $v1 :: rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6, HI 0x1afdb6bc6fc7a70e, LO 0x6
+ddivu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x44190b0d, LO 0x0
+ddivu $v0, $v1 :: rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e, HI 0x109a807bf46f27a, LO 0xa
+ddivu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x40d816ba, LO 0x0
+ddivu $v0, $v1 :: rs 0x8b086ee07150c260, rt 0x276af70a0e128561, HI 0x14c789c24719323d, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0x163e94a4, LO 0x8bb0499f1
+ddivu $v0, $v1 :: rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423, HI 0x71b5ec522ae6eb02, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0x13bcdfe0, LO 0xa0257c690
+ddivu $v0, $v1 :: rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb, HI 0x3d69625fe9a6db5b, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0x343e206, LO 0xc4c709e3f
+ddivu $v0, $v1 :: rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a, HI 0x70a3e0424340ac96, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xdec5db4, LO 0xfee725d11
+ddivu $v0, $v1 :: rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b, HI 0x3a739e5a5298e048, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xb82c20d, LO 0x11da46b3c2
+ddivu $v0, $v1 :: rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b, HI 0x3ce839a51cf929e3, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0x14f6f84, LO 0x182a74b4b7
+ddivu $v0, $v1 :: rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c, HI 0x28528fed4a90ace8, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0x4883952, LO 0x20b08b2d23
+ddivu $v0, $v1 :: rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636, HI 0x187cef825769af81, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0x10b4b6a, LO 0x52f960c29c
+ddivu $v0, $v1 :: rs 0xeb9682c170312f1, rt 0x8cff404aede292f2, HI 0xeb9682c170312f1, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x59dde80, LO 0x4502b667d
+ddivu $v0, $v1 :: rs 0x84785280dd301d0d, rt 0x743491a6828716c8, HI 0x1043c0da5aa90645, LO 0x1
+ddivu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a, HI 0x3f8e6c83db52595, LO 0x1
+ddivu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x26444ced2998436d, rt 0xde02d1337d5407b9, HI 0x26444ced2998436d, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x11b942dc, LO 0x4bb69936d
+ddivu $v0, $v1 :: rs 0x7175c9dd58ca708, rt 0x993138f16cfde991, HI 0x7175c9dd58ca708, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0x1f5c1108, LO 0x6577a953d
+ddivu $v0, $v1 :: rs 0x663d061055833287, rt 0xb620660a49732b90, HI 0x663d061055833287, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xfbfccf4, LO 0x5bcb8d07b
+ddivu $v0, $v1 :: rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c, HI 0xab7dd0488951d68b, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xe34680e, LO 0x78f8065f7
+ddivu $v0, $v1 :: rs 0xf69823670e82471b, rt 0xc532e18e187980fa, HI 0x316541d8f608c621, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0x72a9d98, LO 0x6e5cb27e7
+ddivu $v0, $v1 :: rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36, HI 0x36886c59d98d26b2, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0x7b6976, LO 0x326776aab
+ddivu $v0, $v1 :: rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c, HI 0x9ca4bdbd32be479, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0x76bd7c, LO 0x2fe6c8c5d
+ddivu $v0, $v1 :: rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17, HI 0x41731ee8f95aff1, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0x2b675d25, LO 0x2e2636934
+ddivu $v0, $v1 :: rs 0x3f46553ecad374df, rt 0xf8be8164159649c5, HI 0x3f46553ecad374df, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0x5337d54e, LO 0x2c8554e98
+ddivu $v0, $v1 :: rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a, HI 0x2e9ab97d3eedf2a7, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0x25d28127, LO 0x3dccdfaac
+ddivu $v0, $v1 :: rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b, HI 0x36a6f7fa3c0c9f33, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0x176424d4, LO 0x3a144d111
+ddivu $v0, $v1 :: rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587, HI 0x5e4aa57a57a68b2, LO 0x6
+ddivu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0x5d70eff, LO 0x360ef8e16
+ddivu $v0, $v1 :: rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25, HI 0x56a4215cdc3b13e1, LO 0x1
+ddivu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0x2f1ed5f8, LO 0x33d6747df
+ddivu $v0, $v1 :: rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec, HI 0xf654ac7585a0b89, LO 0x5
+ddivu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x182219c6, LO 0x2255b958b
+ddivu $v0, $v1 :: rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77, HI 0x28ba716d9defbc63, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x2f9b6300, LO 0x23734d8d6
+ddivu $v0, $v1 :: rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649, HI 0x769cf01f16cb0d, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x1c100850, LO 0x204e5b2ad
+ddivu $v0, $v1 :: rs 0x478909b59a99269, rt 0x8a6229d731eea35b, HI 0x478909b59a99269, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x57c4e4fa, LO 0x219085db6
+ddivu $v0, $v1 :: rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a, HI 0xbfb31cc87857360f, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0x51876f0e, LO 0x28d52f9b3
+ddivu $v0, $v1 :: rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9, HI 0x140799facf89e810, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0x21efc634, LO 0x2a6b8a9a6
+ddivu $v0, $v1 :: rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9, HI 0x15da9474b7a8d5e4, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xb06becf, LO 0x254d77e4e
+ddivu $v0, $v1 :: rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c, HI 0x6d36c6ef4db25c90, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x5d83dfae, LO 0x26fda7dda
+ddivu $v0, $v1 :: rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b, HI 0x223d7cfe2b961897, LO 0x0
+ddivu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x690ce0ee, LO 0x0
+ddivu $v0, $v1 :: rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897, HI 0x1fcdb7f707dd31b4, LO 0x1
+ddivu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x6dcdfd59, LO 0x0
+ddivu $v0, $v1 :: rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc, HI 0x897c8c8ddd46b33c, LO 0x0
+ddivu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x608edb80, LO 0x0
+ddivu $v0, $v1 :: rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4, HI 0xcf38dfe4d469f65, LO 0x5
+ddivu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x644fc637, LO 0x0
+ddivu $v0, $v1 :: rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2, HI 0x512f29b1d80000c9, LO 0x0
+ddivu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x7a089632, LO 0x0
+ddivu $v0, $v1 :: rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f, HI 0x2b2bb8fcc555cbfb, LO 0x1
+ddivu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x7ec98b85, LO 0x0
+ddivu $v0, $v1 :: rs 0x8a6229d731eea35b, rt 0x478909b59a99269, HI 0x44137a2b00f7b0d, LO 0x1e
+ddivu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x738aad5c, LO 0x0
+ddivu $v0, $v1 :: rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8, HI 0x2c3c3f9e48985649, LO 0x0
+ddivu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x774bb0eb, LO 0x0
+ddivu $v0, $v1 :: rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da, HI 0x7ff61e78dc9c0b77, LO 0x0
+ddivu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4f040d56, LO 0x0
+ddivu $v0, $v1 :: rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825, HI 0x2299b0e01d5e68ec, LO 0x0
+ddivu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4bc510e1, LO 0x0
+ddivu $v0, $v1 :: rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206, HI 0x7c3b04673d0c6e25, LO 0x0
+ddivu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x46863638, LO 0x0
+ddivu $v0, $v1 :: rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc, HI 0x164e17c1e7fb6587, LO 0x0
+ddivu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x42472b8f, LO 0x0
+ddivu $v0, $v1 :: rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33, HI 0x1fb0c2a266a2183f, LO 0x4
+ddivu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x5c007b8a, LO 0x0
+ddivu $v0, $v1 :: rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7, HI 0x2b7ebd1fc2c7d5ee, LO 0x4
+ddivu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x58c1663d, LO 0x0
+ddivu $v0, $v1 :: rs 0xf8be8164159649c5, rt 0x3f46553ecad374df, HI 0x3aeb81a7b51beb28, LO 0x3
+ddivu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x558240e4, LO 0x0
+ddivu $v0, $v1 :: rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f, HI 0x7ca3259784e69b17, LO 0x0
+ddivu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x51435d53, LO 0x0
+ddivu $v0, $v1 :: rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479, HI 0x7cbebc502a8ff8b, LO 0x19
+ddivu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x251d3b9e, LO 0x0
+ddivu $v0, $v1 :: rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2, HI 0x1463004709b87784, LO 0x1
+ddivu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x21dc2629, LO 0x0
+ddivu $v0, $v1 :: rs 0xc532e18e187980fa, rt 0xf69823670e82471b, HI 0xc532e18e187980fa, LO 0x0
+ddivu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x2c9f00f0, LO 0x0
+ddivu $v0, $v1 :: rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b, HI 0x8801be0c5d6a691, LO 0x1
+ddivu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x285e1d47, LO 0x0
+ddivu $v0, $v1 :: rs 0xb620660a49732b90, rt 0x663d061055833287, HI 0x4fe35ff9f3eff909, LO 0x1
+ddivu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x36194d42, LO 0x0
+ddivu $v0, $v1 :: rs 0x993138f16cfde991, rt 0x7175c9dd58ca708, HI 0x4469ffee87435e9, LO 0x15
+ddivu $v0, $v1 :: rs 0xde02d1337d5407b9, rt 0x26444ced2998436d, HI 0x1ead5091ad5ab698, LO 0x5
+ddivu $v0, $v1 :: rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef, HI 0x13a390e1e1dab15a, LO 0x0
+ddivu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x3b5a6b9b, LO 0x0
+ddivu $v0, $v1 :: rs 0x743491a6828716c8, rt 0x84785280dd301d0d, HI 0x743491a6828716c8, LO 0x0
+ddivu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x315d626, LO 0x0
+ddivu $v0, $v1 :: rs 0x8cff404aede292f2, rt 0xeb9682c170312f1, HI 0x87a96be1ec6e879, LO 0x9
+ddivu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x7d4cb91, LO 0x0
+ddivu $v0, $v1 :: rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7, HI 0xb9cec0db1f837636, LO 0x0
+ddivu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xa97ed48, LO 0x0
+ddivu $v0, $v1 :: rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958, HI 0x2eaa5aa70509771c, LO 0x0
+ddivu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xe56f0ff, LO 0x0
+ddivu $v0, $v1 :: rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3, HI 0x1c6ea69ec189a672, LO 0x3
+ddivu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1011a0fa, LO 0x0
+ddivu $v0, $v1 :: rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e, HI 0x42e9f8548b739b6b, LO 0x0
+ddivu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x14d0bd4d, LO 0x0
+ddivu $v0, $v1 :: rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96, HI 0x84104caa98b0d84, LO 0x1
+ddivu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x19939b94, LO 0x0
+ddivu $v0, $v1 :: rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b, HI 0x11170c02701ba5f, LO 0x4
+ddivu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x1d528623, LO 0x0
+ddivu $v0, $v1 :: rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25, HI 0x73916483ae3e9423, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0x10c84354, LO 0x3f2ab9601
+ddivu $v0, $v1 :: rs 0x276af70a0e128561, rt 0x8b086ee07150c260, HI 0x276af70a0e128561, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0x1c377b7e, LO 0x3c2615667
+ddivu $v0, $v1 :: rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6, HI 0x3045bf6b5e74b6e, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xdf4fcc0, LO 0x37d712e88
+ddivu $v0, $v1 :: rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2, HI 0x20223f1308accfa6, LO 0x0
+ddivu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0x12000359, LO 0x34c77f1ea
+ddivu $v0, $v1 :: rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7, HI 0x3a10c5772a01e870, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0x2bbcef56, LO 0x30d7c2e4a
+ddivu $v0, $v1 :: rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb, HI 0xef7f91036f2f542, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0x2c44878b, LO 0x2f04a8cba
+ddivu $v0, $v1 :: rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe, HI 0x620d28506d2448dd, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0x3d0ee5d4, LO 0x2d53534dd
+ddivu $v0, $v1 :: rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b, HI 0x60a521e99ff4a732, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0x16217d8f, LO 0x2b49b7284
+ddivu $v0, $v1 :: rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f, HI 0x563cc6bcc7d9857, LO 0xc
+ddivu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0x6c82b48, LO 0x27d6891b7
+ddivu $v0, $v1 :: rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168, HI 0x50dcfd66bf917bbe, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0x149ff0b5, LO 0x29c42039c
+ddivu $v0, $v1 :: rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0, HI 0x1aecdf2982ca1b41, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x4157c6e4, LO 0x24cb33547
+ddivu $v0, $v1 :: rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a, HI 0x2b8613a260d19dcd, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x10435ea7, LO 0x261328ad8
+ddivu $v0, $v1 :: rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427, HI 0xef4115671c1a58, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xfac4682, LO 0x22c3093cc
+ddivu $v0, $v1 :: rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933, HI 0x743e568d2fcf486b, LO 0x0
+ddivu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x126f646f34c31728, rt 0x93e2601c0f31d710, HI 0x126f646f34c31728, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x22751a54, LO 0x20f138af1
+ddivu $v0, $v1 :: rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7, HI 0xaab0196156fc4d12, LO 0x0
+ddivu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+ddivu $v0, $v1 :: rs 0x7535cd338595d342, rt 0x7caf83d2880ff344, HI 0x7535cd338595d342, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0x23928e0, LO 0x1404af8d23
+ddivu $v0, $v1 :: rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5, HI 0x57312570509ddfa, LO 0xa
+ddivu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0x5e1cc3b, LO 0x1fdce4ba26
+ddivu $v0, $v1 :: rs 0xa86726c90081ab2a, rt 0x829464944018fd8f, HI 0x25d2c234c068ad9b, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0x54364e0, LO 0x3054e9696c
+ddivu $v0, $v1 :: rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28, HI 0x9bfeffa1679d7438, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0x314b92, LO 0xa5f2c18537
+ddivu $v0, $v1 :: rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0, HI 0xc7699826b7dee244, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0x173693c4, LO 0x80ca517ad
+ddivu $v0, $v1 :: rs 0x3c07af97fba6704a, rt 0xf518381dce634413, HI 0x3c07af97fba6704a, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0x19ba745a, LO 0x976d326db
+ddivu $v0, $v1 :: rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a, HI 0x29d182e2857e624, LO 0x9
+ddivu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0x3c0cd04, LO 0xb7971a0f7
+ddivu $v0, $v1 :: rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f, HI 0x33f70960c03f671d, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0x32b621a, LO 0xdcb964fcf
+ddivu $v0, $v1 :: rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850, HI 0x1444ca256a4644ad, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xcba5ed6, LO 0x5fcd918b8
+ddivu $v0, $v1 :: rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f, HI 0x157e74c50439e8b2, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0x5381781, LO 0x590aa9d30
+ddivu $v0, $v1 :: rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf, HI 0x85a2d4ff7e628a34, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0x1c705b44, LO 0x74289a21f
+ddivu $v0, $v1 :: rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec, HI 0xc08610af3288b1b, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0x15a4db8b, LO 0x67ace8fbc
+ddivu $v0, $v1 :: rs 0xa974eac43a489b55, rt 0x81daf8200468319b, HI 0x2799f2a435e069ba, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x2f14e1e0, LO 0x46e69b1ab
+ddivu $v0, $v1 :: rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde, HI 0xa388c16272f1f8f5, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x18b81a21, LO 0x43210bb6c
+ddivu $v0, $v1 :: rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef, HI 0x54181a01c2ae45ba, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x26dc634, LO 0x54d71534b
+ddivu $v0, $v1 :: rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260, HI 0x298c339f5a913194, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x9f97017, LO 0x4dfb4fbb4
+ddivu $v0, $v1 :: rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad, HI 0x7ab4ce88dfa605c0, LO 0x0
+ddivu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x5d8a9099, LO 0x0
+ddivu $v0, $v1 :: rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322, HI 0x3e6b2713848ddd2d, LO 0x1
+ddivu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x594b8d2e, LO 0x0
+ddivu $v0, $v1 :: rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48, HI 0x4bf8485ab728922f, LO 0x0
+ddivu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x5408abf7, LO 0x0
+ddivu $v0, $v1 :: rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d, HI 0x76a3d60c3b66a7fb, LO 0x0
+ddivu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x50c9b640, LO 0x0
+ddivu $v0, $v1 :: rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a, HI 0x31e0c6affdc28eda, LO 0x0
+ddivu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4e8ee645, LO 0x0
+ddivu $v0, $v1 :: rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db, HI 0x1a1d4a35e5968be7, LO 0x2
+ddivu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x4a4ffbf2, LO 0x0
+ddivu $v0, $v1 :: rs 0x32fc12c81b7919f0, rt 0xd30169894df47405, HI 0x32fc12c81b7919f0, LO 0x0
+ddivu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x470cdd2b, LO 0x0
+ddivu $v0, $v1 :: rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7, HI 0x3ef88384c72efcd6, LO 0x0
+ddivu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x43cdc09c, LO 0x0
+ddivu $v0, $v1 :: rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f, HI 0x38b1c7bb6a2a3580, LO 0x0
+ddivu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x7b827d21, LO 0x0
+ddivu $v0, $v1 :: rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe, HI 0x15ebf6121dca77c9, LO 0x0
+ddivu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x7f436096, LO 0x0
+ddivu $v0, $v1 :: rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907, HI 0x5eaacdd9fd9147ae, LO 0x0
+ddivu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x7200464f, LO 0x0
+ddivu $v0, $v1 :: rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e, HI 0xb0898ac0b433545, LO 0x7
+ddivu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x76c15bf8, LO 0x0
+ddivu $v0, $v1 :: rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab, HI 0x5d42aeac6a532e0, LO 0x0
+ddivu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x68860bfd, LO 0x0
+ddivu $v0, $v1 :: rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4, HI 0x14abf36419fb9e63, LO 0x0
+ddivu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x6c47164a, LO 0x0
+ddivu $v0, $v1 :: rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081, HI 0x249d559aa8d72aac, LO 0x0
+ddivu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x61043093, LO 0x0
+ddivu $v0, $v1 :: rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1, HI 0xcd6764f084b30ec, LO 0x0
+ddivu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x65c52d24, LO 0x0
+ddivu $v0, $v1 :: rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8, HI 0x7f03ac0792468fdf, LO 0x0
+ddivu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x119b4be9, LO 0x0
+ddivu $v0, $v1 :: rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e, HI 0x338123f3d2cdb0e7, LO 0x1
+ddivu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x155a565e, LO 0x0
+ddivu $v0, $v1 :: rs 0x152828591a652711, rt 0xd3adba260ff7d96b, HI 0x152828591a652711, LO 0x0
+ddivu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x18197087, LO 0x0
+ddivu $v0, $v1 :: rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277, HI 0x9e1c3283d215a9fb, LO 0x0
+ddivu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x1cd86d30, LO 0x0
+ddivu $v0, $v1 :: rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a, HI 0x8d95c049282a0417, LO 0x0
+ddivu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x29f3d35, LO 0x0
+ddivu $v0, $v1 :: rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3, HI 0x327691b33692fa10, LO 0x1
+ddivu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x65e2082, LO 0x0
+ddivu $v0, $v1 :: rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67, HI 0x775b4cca0975b1aa, LO 0x0
+ddivu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xb1d065b, LO 0x0
+ddivu $v0, $v1 :: rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83, HI 0xa2b84a635111020, LO 0x0
+ddivu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfdc1bec, LO 0x0
+ddivu $v0, $v1 :: rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040, HI 0x23fa0d3a7d88b6f, LO 0x0
+ddivu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x3793a651, LO 0x0
+ddivu $v0, $v1 :: rs 0xa3d991b79941dedd, rt 0xa809521238895270, HI 0xa3d991b79941dedd, LO 0x0
+ddivu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x3352bbe6, LO 0x0
+ddivu $v0, $v1 :: rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3, HI 0x751cb4835a0d9508, LO 0x0
+ddivu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x3e119d3f, LO 0x0
+ddivu $v0, $v1 :: rs 0x949cad35625bb2d3, rt 0x314791895991136c, HI 0xc5f89955a8788f, LO 0x3
+ddivu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x3ad08088, LO 0x0
+ddivu $v0, $v1 :: rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214, HI 0x7f567f35a6929739, LO 0x0
+ddivu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x2497d08d, LO 0x0
+ddivu $v0, $v1 :: rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7, HI 0x185b88e0db8d7d27, LO 0x0
+ddivu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2056cd3a, LO 0x0
+ddivu $v0, $v1 :: rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f, HI 0x255a4cd22fd61b91, LO 0x0
+ddivu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x2d15ebe3, LO 0x0
+ddivu $v0, $v1 :: rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54, HI 0x1048d589a4363f7b, LO 0x0
+ddivu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x29d4f654, LO 0x0
+ddivu $v0, $v1 :: rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7, HI 0xbfacc80ceb28e42, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x23fba769, LO 0x2332cdb50
+ddivu $v0, $v1 :: rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f, HI 0x1cf5b6ea4db064f4, LO 0x5
+ddivu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x4e69806e, LO 0x245e7f770
+ddivu $v0, $v1 :: rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce, HI 0x575548fd08c0a5f1, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xd1e03ef, LO 0x208b3c4b8
+ddivu $v0, $v1 :: rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604, HI 0x183208018856e1d3, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x3a3714c8, LO 0x21d1bdefe
+ddivu $v0, $v1 :: rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036, HI 0xbe00d51eabc578cc, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0x1e44af4f, LO 0x27a1b21f6
+ddivu $v0, $v1 :: rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2, HI 0x1253acd9e37ebbe0, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0x1bb61ac4, LO 0x291f457dd
+ddivu $v0, $v1 :: rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad, HI 0x835f69ea9d59dd0, LO 0x13
+ddivu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x125decaf, LO 0x24f3e3ee4
+ddivu $v0, $v1 :: rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e, HI 0xbe7fc3c906dc2bb, LO 0x6
+ddivu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0x46cfcdac, LO 0x269b0b1aa
+ddivu $v0, $v1 :: rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766, HI 0x3bf537402b355b40, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0x363a8c42, LO 0x31bf024a3
+ddivu $v0, $v1 :: rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a, HI 0x1de378d3f13addd, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0x5e63a7a, LO 0x2f4d5dcbe
+ddivu $v0, $v1 :: rs 0x4ed6393df818af57, rt 0x25b50fec14682d97, HI 0x36c1965cf485429, LO 0x2
+ddivu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0x3c1cf1d9, LO 0x2c9a905e2
+ddivu $v0, $v1 :: rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb, HI 0x3dff305a8047d60f, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xe32ae34, LO 0x2b13cfe6b
+ddivu $v0, $v1 :: rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5, HI 0x2c8477fce2df4998, LO 0x1
+ddivu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0x226a5fbe, LO 0x3eb3e17c7
+ddivu $v0, $v1 :: rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b, HI 0x68f84d1fe59f0bc0, LO 0x1
+ddivu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0x2c375d02, LO 0x3ade96cec
+ddivu $v0, $v1 :: rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1, HI 0xab21c362ea53c4b, LO 0x3
+ddivu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0x16f62c41, LO 0x384071a3e
+ddivu $v0, $v1 :: rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea, HI 0x22d401d7d28df9c, LO 0x1
+ddivu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0x40f383f4, LO 0x35d866a6b
+ddivu $v0, $v1 :: rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797, HI 0x1748da264b4c52bc, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x16ba41a9, LO 0x48bcfeee0
+ddivu $v0, $v1 :: rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7, HI 0x34fdfc9a9302be89, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x3b5594f0, LO 0x43a37bdfb
+ddivu $v0, $v1 :: rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe, HI 0x145f64a125a65c2, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x2d1fa1bf, LO 0x523e8afb8
+ddivu $v0, $v1 :: rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f, HI 0x53a48d24eb01764e, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x24e9ce64, LO 0x4d3616353
+ddivu $v0, $v1 :: rs 0x65fd698fddef9839, rt 0x47f505569a08a180, HI 0x1e08643943e6f6b9, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xfd9869b, LO 0x5e9abb97a
+ddivu $v0, $v1 :: rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413, HI 0x13c4d3d435923319, LO 0x3
+ddivu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0x1ce3052a, LO 0x56279fcd4
+ddivu $v0, $v1 :: rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d, HI 0x490609cfb25d1a5, LO 0x14
+ddivu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0x10a54d31, LO 0x75bd2d9d6
+ddivu $v0, $v1 :: rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d, HI 0x372c209e42f3b58d, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0x11582f4, LO 0x6bb0cd4d5
+ddivu $v0, $v1 :: rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0, HI 0x30f870b7e122a83b, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0x2b5d4d4, LO 0x8746f7bf9
+ddivu $v0, $v1 :: rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7, HI 0x23629c37a0284bf5, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0x16526436, LO 0x9a6c2c6a8
+ddivu $v0, $v1 :: rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d, HI 0x123e4fcec842dbb0, LO 0x6
+ddivu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xcd22f3c, LO 0xac4f3f9a9
+ddivu $v0, $v1 :: rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad, HI 0x3e547c3218b1116, LO 0x4
+ddivu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xc090c50, LO 0xd7619a9aa
+ddivu $v0, $v1 :: rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502, HI 0x163ba3aade09fa15, LO 0x1
+ddivu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xd0f6feb, LO 0x134d858d52
+ddivu $v0, $v1 :: rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb, HI 0x680cce5fb236b666, LO 0x0
+ddivu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0x5049f78, LO 0x1aec335357
+ddivu $v0, $v1 :: rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3, HI 0x3baa99471f6d4d75, LO 0x0
+ddivu $v0, $v1 :: rs 0x614d9b445f12236b, rt 0x7e876382d2ab13, HI 0x6df31435c728df, LO 0xc4
+ddivu $v0, $v1 :: rs 0xa2a6ec661ba84121, rt 0x12bd6aa, HI 0x7d9b8f, LO 0x8adf0411a5
+div $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x9823b6e, LO 0x0
+div $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xd4326d9, LO 0x0
+div $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x130476dc, LO 0x0
+div $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x17c56b6b, LO 0x0
+div $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x1a864db2, LO 0x0
+div $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x1e475005, LO 0x0
+div $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x2608edb8, LO 0x0
+div $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x22c9f00f, LO 0x0
+div $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x2f8ad6d6, LO 0x0
+div $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x2b4bcb61, LO 0x0
+div $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x350c9b64, LO 0x0
+div $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x31cd86d3, LO 0x0
+div $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x3c8ea00a, LO 0x0
+div $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x384fbdbd, LO 0x0
+div $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x7fc300, LO 0xffffffffffffffdc
+div $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x45c0745, LO 0xfffffffffffffff6
+div $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0xb8b0370, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x3e9f21d, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x9844f24, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x46472d7, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0xcba1a24, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x199a22f7, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x21f623c0, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xc666ee0, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x873a7ca, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x14b4b15b, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xaf14154, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x163297d1, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x3207b748, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x3a078d46, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffebcda388, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xfffffffff70e831d, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xfffffffff2a5f53c, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffffde903153, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffc5f840c4, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffcdf87aca, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffffe94b731e, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xfffffffff58c3387, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xfffffffffd9bcb08, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xfffffffffd986d11, LO 0xfffffffffffffffa
+div $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xfffffffffdb4c5cc, LO 0xfffffffffffffff5
+div $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffff726c82, LO 0xffffffffffffffe3
+div $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffe6e007e4, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xfffffffff23a81c8, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xfffffffffa167062, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xfffffffff87486ea, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffd4326d90, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffd0f37027, LO 0x0
+div $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xffffffffddb056fe, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffffd9714b49, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffc7361b4c, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffc3f706fb, LO 0x0
+div $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffceb42022, LO 0x0
+div $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffca753d95, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xfffffffff23a8028, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xfffffffff6fb9d9f, LO 0x0
+div $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xfffffffffbb8bb46, LO 0x0
+div $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffff79a6f1, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffffe13ef6f4, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffffe5ffeb43, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xffffffffe8bccd9a, LO 0x0
+div $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xffffffffec7dd02d, LO 0x0
+div $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x34867077, LO 0x0
+div $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x30476dc0, LO 0x0
+div $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x3d044b19, LO 0x0
+div $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x39c556ae, LO 0x0
+div $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x278206ab, LO 0x0
+div $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x23431b1c, LO 0x0
+div $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x2e003dc5, LO 0x0
+div $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x2ac12072, LO 0x0
+div $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x128e9dcf, LO 0x0
+div $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x164f8078, LO 0x0
+div $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1b0ca6a1, LO 0x0
+div $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x1fcdbb16, LO 0x0
+div $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x18aeb13, LO 0x0
+div $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x54bf6a4, LO 0x0
+div $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x808d07d, LO 0x0
+div $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xcc9cdca, LO 0x0
+div $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x179aa2b8, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x39f85b48, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x205d18b9, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xb4342f4, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x9df32b7, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x1520726e, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0xba764f6, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x902c9f8, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0xbdc3600, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x1832a20a, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x2807206, LO 0xffffffffffffffeb
+div $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x207394, LO 0xfffffffffffffff6
+div $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x7aed163, LO 0xfffffffffffffffa
+div $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x5956ef2, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffe74ad2dd, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xfffffffff51faddc, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xfffffffff86af32d, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xfffffffff23f0530, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xfffffffff8fd7447, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xfffffffffaf03dac, LO 0xfffffffffffffffa
+div $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xfffffffffc9eb33e, LO 0xfffffffffffffff7
+div $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xfffffffffceeaa22, LO 0xffffffffffffffe8
+div $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffc60796ca, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xfffffffff420a87a, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffea659881, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xfffffffff6a64224, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xfffffffff5bfd918, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffffdf24f266, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffffe0b41de7, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffffe4750050, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xffffffffe9362689, LO 0x0
+div $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xffffffffedf73b3e, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xfffffffff3b06b3b, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xfffffffff771768c, LO 0x0
+div $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xfffffffffa325055, LO 0x0
+div $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xfffffffffef34de2, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffc6bcf05f, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffc27dede8, LO 0x0
+div $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffcf3ecb31, LO 0x0
+div $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffcbffd686, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffd5b88683, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffd1799b34, LO 0x0
+div $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xffffffffdc3abded, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffd8fba05a, LO 0x0
+div $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x1b0421a2, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x27e3720, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x38211e8, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0xfc0d33d, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x1208433e, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x1d4721e7, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x36089b44, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x4c591a9, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4bde8c, LO 0xffffffffffffffb5
+div $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x532532, LO 0xfffffffffffffff3
+div $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x211ea98, LO 0xfffffffffffffff8
+div $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x4b943b6, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x1d4a3c0, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x1463d9d8, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x2e141d4, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x12ab9921, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x251d3b9e, LO 0x0
+div $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x21dc2629, LO 0x0
+div $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x2c9f00f0, LO 0x0
+div $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x285e1d47, LO 0x0
+div $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x36194d42, LO 0x0
+div $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x3b5a6b9b, LO 0x0
+div $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x315d626, LO 0x0
+div $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x7d4cb91, LO 0x0
+div $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xa97ed48, LO 0x0
+div $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xe56f0ff, LO 0x0
+div $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1011a0fa, LO 0x0
+div $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x14d0bd4d, LO 0x0
+div $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x19939b94, LO 0x0
+div $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x1d528623, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xfffffffff12f560e, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xfffffffff5ee4bb9, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xfffffffff8ad6d60, LO 0x0
+div $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xfffffffffc6c70d7, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffffe22b20d2, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffffe6ea3d65, LO 0x0
+div $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xffffffffeba91bbc, LO 0x0
+div $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xffffffffef68060b, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffd727bbb6, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffd3e6a601, LO 0x0
+div $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xffffffffdea580d8, LO 0x0
+div $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xffffffffda649d6f, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffc423cd6a, LO 0x0
+div $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffcda1f604, LO 0x0
+div $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+div $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xfffffffffd2f9270, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xfffffffffa4614b1, LO 0xfffffffffffffff8
+div $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xfffffffffee43308, LO 0xfffffffffffffff2
+div $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffff2a8070, LO 0xffffffffffffffcd
+div $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffedd671ce, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xfffffffffc21d9f8, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffeaa74234, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffffedb454b7, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xfffffffff0b8a1aa, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xfffffffffbf7f8fb, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xfffffffffc7dacfc, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffe5795375, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xfffffffffbbcc376, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffc9f756c6, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffffe23f08f4, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffffee7e11b1, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0xf81d14d, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x1381f5fc, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x6086dc0, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x1347a428, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x5d108a, LO 0xffffffffffffff6b
+div $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x1946b98, LO 0xffffffffffffffef
+div $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x7ee2c84, LO 0xfffffffffffffff9
+div $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0xcb7c13c, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x106cf84b, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x1caba0da, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x35f74d4a, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x52d9290, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x1b68a28f, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x5581b44, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x2eb10e1, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0xe2a0844, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x119b4be9, LO 0x0
+div $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x155a565e, LO 0x0
+div $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x18197087, LO 0x0
+div $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x1cd86d30, LO 0x0
+div $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x29f3d35, LO 0x0
+div $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x65e2082, LO 0x0
+div $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xb1d065b, LO 0x0
+div $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfdc1bec, LO 0x0
+div $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x3793a651, LO 0x0
+div $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x3352bbe6, LO 0x0
+div $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x3e119d3f, LO 0x0
+div $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x3ad08088, LO 0x0
+div $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x2497d08d, LO 0x0
+div $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2056cd3a, LO 0x0
+div $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x2d15ebe3, LO 0x0
+div $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x29d4f654, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffc5a92679, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffc1683bce, LO 0x0
+div $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffcc2b1d17, LO 0x0
+div $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffc8ea00a0, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffd6ad50a5, LO 0x0
+div $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffd26c4d12, LO 0x0
+div $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xffffffffdf2f6bcb, LO 0x0
+div $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffffdbee767c, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffffe3a1cbc1, LO 0x0
+div $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffffe760d676, LO 0x0
+div $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xffffffffea23f0af, LO 0x0
+div $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xffffffffeee2ed18, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xfffffffff0a5bd1d, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xfffffffff464a0aa, LO 0x0
+div $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xfffffffff9278673, LO 0x0
+div $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xfffffffffde69bc4, LO 0x0
+div $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xfffffffffa587883, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffca0880c8, LO 0xffffffffffffffff
+div $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffffe3d5d40d, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffffef151298, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xfffffffff1542297, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xfffffffffd93440e, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xfffffffffb9c80e8, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffffe411887c, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffec3eb0bb, LO 0xfffffffffffffffe
+div $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xfffffffffb03f61c, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffffed826e20, LO 0xfffffffffffffffd
+div $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffffef0511d8, LO 0xfffffffffffffffc
+div $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffff0428aa, LO 0xfffffffffffffffb
+div $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xfffffffffb051bdc, LO 0xfffffffffffffff9
+divu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x9823b6e, LO 0x0
+divu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xd4326d9, LO 0x0
+divu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x130476dc, LO 0x0
+divu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x17c56b6b, LO 0x0
+divu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x1a864db2, LO 0x0
+divu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x1e475005, LO 0x0
+divu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x2608edb8, LO 0x0
+divu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x22c9f00f, LO 0x0
+divu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x2f8ad6d6, LO 0x0
+divu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x2b4bcb61, LO 0x0
+divu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x350c9b64, LO 0x0
+divu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x31cd86d3, LO 0x0
+divu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x3c8ea00a, LO 0x0
+divu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x384fbdbd, LO 0x0
+divu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4c11db70, LO 0x0
+divu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x48d0c6c7, LO 0x0
+divu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x4593e01e, LO 0x0
+divu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x4152fda9, LO 0x0
+divu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x5f15adac, LO 0x0
+divu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x5bd4b01b, LO 0x0
+divu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x569796c2, LO 0x0
+divu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x52568b75, LO 0x0
+divu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x6a1936c8, LO 0x0
+divu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x6ed82b7f, LO 0x0
+divu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x639b0da6, LO 0x0
+divu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x675a1011, LO 0x0
+divu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x791d4014, LO 0x0
+divu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x7ddc5da3, LO 0x0
+divu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x709f7b7a, LO 0x0
+divu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x745e66cd, LO 0x0
+divu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0x1aa4d3e4, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0x15a0e7ae, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0x104658a6, LO 0x4
+divu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0x3014e05, LO 0x4
+divu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0x1586bf2c, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x13c3a30d, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0x1c008386, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x173d9a43, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xfb62834, LO 0xb
+divu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0x919e13f, LO 0x10
+divu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0x55dd1fe, LO 0x1c
+divu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0x11c3b6d, LO 0x44
+divu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0x1c9e64, LO 0x6
+divu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0x13c1c82, LO 0x7
+divu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xf34ba58, LO 0x7
+divu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0x1f6602c, LO 0x9
+divu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x8a81348, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xeeb0f01, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x5222a6a, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0x865334f, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x5074bf54, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x51f6c0ac, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x4f70bf8c, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x4ef2c074, LO 0x1
+divu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0x26d13e54, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0x21d5061e, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0x1cc8c770, LO 0x3
+divu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0x13ccf422, LO 0x3
+divu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0x3fab8a74, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0x3dee9355, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0x3625b33e, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0x3168aefb, LO 0x2
+divu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x34867077, LO 0x0
+divu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x30476dc0, LO 0x0
+divu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x3d044b19, LO 0x0
+divu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x39c556ae, LO 0x0
+divu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x278206ab, LO 0x0
+divu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x23431b1c, LO 0x0
+divu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x2e003dc5, LO 0x0
+divu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x2ac12072, LO 0x0
+divu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x128e9dcf, LO 0x0
+divu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x164f8078, LO 0x0
+divu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1b0ca6a1, LO 0x0
+divu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x1fcdbb16, LO 0x0
+divu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x18aeb13, LO 0x0
+divu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x54bf6a4, LO 0x0
+divu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x808d07d, LO 0x0
+divu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xcc9cdca, LO 0x0
+divu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x7c56b6b0, LO 0x0
+divu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x75d48dde, LO 0x0
+divu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x6b93dddb, LO 0x0
+divu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x6f52c06c, LO 0x0
+divu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x6211e6b5, LO 0x0
+divu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x66d0fb02, LO 0x0
+divu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x5e9f46bf, LO 0x0
+divu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x5a5e5b08, LO 0x0
+divu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x571d7dd1, LO 0x0
+divu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x53dc6066, LO 0x0
+divu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4d9b3063, LO 0x0
+divu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x495a2dd4, LO 0x0
+divu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x44190b0d, LO 0x0
+divu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x40d816ba, LO 0x0
+divu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0x1a0927e8, LO 0x5
+divu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xeef35a8, LO 0x6
+divu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0x1372d0de, LO 0x7
+divu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0x136968a, LO 0xa
+divu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0x5377358, LO 0xd
+divu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0x749ec34, LO 0x11
+divu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0x205411e, LO 0x17
+divu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0x305e81c, LO 0x39
+divu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x13f853f9, LO 0x2
+divu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x1bbb7372, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0x208f061e, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0x178b3d74, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0x8bacdf9, LO 0x4
+divu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0x758cb2, LO 0x4
+divu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0x3e2d6341, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0x39707e88, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0x37b35a0f, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0x35f6442a, LO 0x2
+divu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0x2cdae88e, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0x23ded3e4, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0x16e31db2, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0x11e725e0, LO 0x3
+divu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x4f713f74, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x4ef3408c, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x50753fac, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x51f74054, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xd18fa15, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0x105be434, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0x9ec33b, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x6e1de7e, LO 0x2
+divu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x690ce0ee, LO 0x0
+divu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x6dcdfd59, LO 0x0
+divu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x608edb80, LO 0x0
+divu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x644fc637, LO 0x0
+divu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x7a089632, LO 0x0
+divu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x7ec98b85, LO 0x0
+divu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x738aad5c, LO 0x0
+divu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x774bb0eb, LO 0x0
+divu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4f040d56, LO 0x0
+divu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4bc510e1, LO 0x0
+divu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x46863638, LO 0x0
+divu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x42472b8f, LO 0x0
+divu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x5c007b8a, LO 0x0
+divu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x58c1663d, LO 0x0
+divu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x558240e4, LO 0x0
+divu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x51435d53, LO 0x0
+divu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x251d3b9e, LO 0x0
+divu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x21dc2629, LO 0x0
+divu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x2c9f00f0, LO 0x0
+divu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x285e1d47, LO 0x0
+divu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x36194d42, LO 0x0
+divu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x3b5a6b9b, LO 0x0
+divu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x315d626, LO 0x0
+divu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x7d4cb91, LO 0x0
+divu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xa97ed48, LO 0x0
+divu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xe56f0ff, LO 0x0
+divu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1011a0fa, LO 0x0
+divu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x14d0bd4d, LO 0x0
+divu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x19939b94, LO 0x0
+divu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x1d528623, LO 0x0
+divu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0x2ea711e0, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0x29a32a92, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0x1c9ee3e4, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0x139adfae, LO 0x3
+divu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0x3a726006, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0x38af41c3, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0x36ec65ac, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0x3229788d, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0x985c5b2, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xfc2d897, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x0, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x33ce1b9, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0x4e4f3f8c, LO 0x1
+divu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x514b3f54, LO 0x1
+divu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+divu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xa354c72, LO 0xe
+divu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0x134d58e, LO 0x17
+divu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xa5f448, LO 0x22
+divu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xa0fd31, LO 0x72
+divu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xf365434, LO 0x5
+divu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0x8affe4f, LO 0x6
+divu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xb8c3d84, LO 0x7
+divu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xf04ef03, LO 0x8
+divu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0x1af2ff70, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0x15f6c422, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0x5a7ef38, LO 0x4
+divu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0x1fef321e, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x14a768be, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x12ea757b, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x212151f4, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x1c644fd5, LO 0x2
+divu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x5d8a9099, LO 0x0
+divu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x594b8d2e, LO 0x0
+divu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x5408abf7, LO 0x0
+divu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x50c9b640, LO 0x0
+divu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4e8ee645, LO 0x0
+divu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x4a4ffbf2, LO 0x0
+divu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x470cdd2b, LO 0x0
+divu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x43cdc09c, LO 0x0
+divu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x7b827d21, LO 0x0
+divu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x7f436096, LO 0x0
+divu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x7200464f, LO 0x0
+divu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x76c15bf8, LO 0x0
+divu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x68860bfd, LO 0x0
+divu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x6c47164a, LO 0x0
+divu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x61043093, LO 0x0
+divu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x65c52d24, LO 0x0
+divu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x119b4be9, LO 0x0
+divu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x155a565e, LO 0x0
+divu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x18197087, LO 0x0
+divu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x1cd86d30, LO 0x0
+divu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x29f3d35, LO 0x0
+divu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x65e2082, LO 0x0
+divu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xb1d065b, LO 0x0
+divu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfdc1bec, LO 0x0
+divu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x3793a651, LO 0x0
+divu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x3352bbe6, LO 0x0
+divu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x3e119d3f, LO 0x0
+divu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x3ad08088, LO 0x0
+divu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x2497d08d, LO 0x0
+divu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2056cd3a, LO 0x0
+divu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x2d15ebe3, LO 0x0
+divu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x29d4f654, LO 0x0
+divu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x514abfac, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x50c8c054, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0x4e4ebf74, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x4fccc08c, LO 0x1
+divu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0x7f93083, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xb3631c6, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x17f14cd, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0x7bc08ec, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0x3ef4b4d7, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0x3a31a8f2, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0x327a9079, LO 0x2
+divu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0x30b791c0, LO 0x2
+divu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0x2cacc422, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0x23a90050, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0x1eb5321e, LO 0x3
+divu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0x19b10974, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x1919818f, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x145ca0aa, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x1c9fb8c1, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x1ae2a508, LO 0x2
+divu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0x18d929b2, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xfdd11e0, LO 0x3
+divu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0x816f07f, LO 0x4
+divu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0x25e4e3e4, LO 0x3
+divu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0x184b8098, LO 0x5
+divu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xc4b3ada, LO 0x6
+divu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0x1791a75d, LO 0x6
+divu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xacf7f88, LO 0x8
+divu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0x308468f, LO 0xe
+divu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0x3cb12b0, LO 0x13
+dmult $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x12bd6aa, rt 0xa2a6ec661ba84121, HI 0xffffffffff92aaaf, LO 0xa7b8a47115b7d5ea
+dmult $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x7e876382d2ab13, rt 0x614d9b445f12236b, HI 0x3017a82b446008, LO 0xe93183d28fc719f1
+dmult $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0xffffffffffffffff, LO 0xfd57bc67e4ba75ac
+dmult $v0, $v1 :: rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75, HI 0xe7a0888c77592cc1, LO 0xe923a4d32330d60f
+dmult $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xffffffffffffffff, LO 0xfc83823413a60065
+dmult $v0, $v1 :: rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666, HI 0xe283ab72304992dd, LO 0x218872f754789402
+dmult $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0xffffffffffffffff, LO 0xf9166da2b5b6b160
+dmult $v0, $v1 :: rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17, HI 0x172a574aa8a55dea, LO 0x228b2726e77fa12e
+dmult $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0xffffffffffffffff, LO 0xf7a940de3ae98b35
+dmult $v0, $v1 :: rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca, HI 0xf26c9bfbc1e5cac6, LO 0x25d3435aecbbff82
+dmult $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0xffffffffffffffff, LO 0xf73d1ed5a2a9dc2c
+dmult $v0, $v1 :: rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e, HI 0xf9d53979272a6695, LO 0x893e92ed20ba3c26
+dmult $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0xffffffffffffffff, LO 0xf68042aed2bea375
+dmult $v0, $v1 :: rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec, HI 0xd110067009ad2b95, LO 0x15cd94f4e17063b4
+dmult $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0xffffffffffffffff, LO 0xf08c531a23587ca0
+dmult $v0, $v1 :: rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b, HI 0xed566349e916c471, LO 0x9c189c216e03d8e0
+dmult $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0xffffffffffffffff, LO 0xf13889b5ff2eaaf5
+dmult $v0, $v1 :: rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d, HI 0x1037422ab88bb7a1, LO 0xf85eab9ff0aaa629
+dmult $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0xffffffffffffffff, LO 0xede42c7a8785a1ec
+dmult $v0, $v1 :: rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9, HI 0x2d44c0286a6465d, LO 0x2ed33613b77d4565
+dmult $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0xffffffffffffffff, LO 0xeedfb046e2b9e2b5
+dmult $v0, $v1 :: rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52, HI 0xf2538d62b118d224, LO 0x36ff9b9e6631eb16
+dmult $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0xffffffffffffffff, LO 0xe68215a4ce38cd40
+dmult $v0, $v1 :: rs 0x47f505569a08a180, rt 0x65fd698fddef9839, HI 0x1caae5ed60cc00f1, LO 0xf01c93b7b24ff580
+dmult $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0xffffffffffffffff, LO 0xe724abc00bc670e5
+dmult $v0, $v1 :: rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d, HI 0x99017781bbe0f60, LO 0x17818f95c7979f73
+dmult $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0xffffffffffffffff, LO 0xe4e8c2aee49d876c
+dmult $v0, $v1 :: rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180, HI 0x93c2dc4e43efe3f, LO 0x9cee3b264c29fd00
+dmult $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0xffffffffffffffff, LO 0xe5fb9fc64e2974a5
+dmult $v0, $v1 :: rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89, HI 0xf07a45bdd4cd17fd, LO 0xb360cb922cac207f
+dmult $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0xffffffffffffffff, LO 0xff6050c1e428d1c0
+dmult $v0, $v1 :: rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc, HI 0xf6447d1571c37fe8, LO 0x594c3fa27e8170e4
+dmult $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0xffffffffffffffff, LO 0xfe0d889cd5267565
+dmult $v0, $v1 :: rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086, HI 0xa213c15ee0d91a0, LO 0xb21152b961103a7c
+dmult $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0xffffffffffffffff, LO 0xfcd86aecc3fd93ec
+dmult $v0, $v1 :: rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e, HI 0xee87e8305f97d14e, LO 0x6ceb01050154e3fe
+dmult $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0xffffffffffffffff, LO 0xfc151ae499998125
+dmult $v0, $v1 :: rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b, HI 0x82eb5ca1938f728, LO 0xfe33c6249ca70919
+dmult $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0xffffffffffffffff, LO 0xf9a4c2fd35a88420
+dmult $v0, $v1 :: rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d, HI 0xd5efc7f5e3557f77, LO 0xaad228d8c0c86d91
+dmult $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0xffffffffffffffff, LO 0xf8289d47ed2eb275
+dmult $v0, $v1 :: rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a, HI 0x4179e9793859b56, LO 0x79872214eb18f6ce
+dmult $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0xffffffffffffffff, LO 0xf7abf3aa38a5a96c
+dmult $v0, $v1 :: rs 0x25b50fec14682d97, rt 0x4ed6393df818af57, HI 0xb9cb8a3aecc32ff, LO 0xf5851d17b4b9b751
+dmult $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0xffffffffffffffff, LO 0xf6e03c2a2769ea35
+dmult $v0, $v1 :: rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657, HI 0x5524f280515c9, LO 0xc5715d0cb0029d76
+dmult $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0xffffffffffffffff, LO 0xf10d2fa10966b8e0
+dmult $v0, $v1 :: rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c, HI 0xee353c2fa40dfa1c, LO 0xc26981fb1dde94c8
+dmult $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xffffffffffffffff, LO 0xf1caaac0dce992b5
+dmult $v0, $v1 :: rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f, HI 0xf68be81913947ce7, LO 0x5eb5f14a58505162
+dmult $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0xffffffffffffffff, LO 0xee4446f29209e3ac
+dmult $v0, $v1 :: rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7, HI 0xfd2199e755d3517d, LO 0xc09f4eb104c60adb
+dmult $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0xffffffffffffffff, LO 0xef5131c8d38eaaf5
+dmult $v0, $v1 :: rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2, HI 0x5692a5d7cb1f044, LO 0xb33c753f59d90204
+dmult $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xffffffffffffffff, LO 0xe5f04f03e4900c80
+dmult $v0, $v1 :: rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc, HI 0xc2a1b9f3385569e, LO 0x851fae20635d3b08
+dmult $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0xffffffffffffffff, LO 0xe6846f4be3c8e0a5
+dmult $v0, $v1 :: rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb, HI 0xe5c367a4670f64de, LO 0xa9ed8fc0e6a8c96c
+dmult $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0xffffffffffffffff, LO 0xe4769bb6855a7a2c
+dmult $v0, $v1 :: rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1, HI 0xd94ec1775f940325, LO 0x6dbbb698d4d4a8ee
+dmult $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0xffffffffffffffff, LO 0xe57b221da23604e5
+dmult $v0, $v1 :: rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f, HI 0xf9e10d0edd351689, LO 0x24150b202586a731
+dmult $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffffffffff, LO 0xef0751ed8ef34180
+dmult $v0, $v1 :: rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790, HI 0x13a1e21ecb31a85a, LO 0x1c3e16e8b355ef0
+dmult $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffffffffffff, LO 0xee8b5b628969cb25
+dmult $v0, $v1 :: rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b, HI 0x26b5e5bf6167d90, LO 0xc865945c5d63585c
+dmult $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xffffffffffffffff, LO 0xf20ec57caaa8c82c
+dmult $v0, $v1 :: rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91, HI 0xefa8a428f8b1836a, LO 0xb6af89552912049f
+dmult $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffffffffffff, LO 0xf0c25960d0fcbf65
+dmult $v0, $v1 :: rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27, HI 0xfab9c1e6fca0d31c, LO 0xc4be1bb82f19bca1
+dmult $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffffffffff, LO 0xe527d72f95fc1fe0
+dmult $v0, $v1 :: rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739, HI 0xf6b46278d34d87da, LO 0x848f5b94655e274
+dmult $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffffffffff, LO 0xe4d233215fe9c435
+dmult $v0, $v1 :: rs 0x314791895991136c, rt 0x949cad35625bb2d3, HI 0xeb53f78e62035fc0, LO 0x8c43d5d8f1781a04
+dmult $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffffffffffff, LO 0xe6de8e3a75f8b1ac
+dmult $v0, $v1 :: rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508, HI 0xe5e4beee752186fe, LO 0xb05dba14f502698
+dmult $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xffffffffffffffff, LO 0xe5998a8abc248c75
+dmult $v0, $v1 :: rs 0xa809521238895270, rt 0xa3d991b79941dedd, HI 0x1fa9db042464f657, LO 0x426d71f4c2794ab0
+dmult $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xffffffffffffffff, LO 0xfbebf06e8a3a7d20
+dmult $v0, $v1 :: rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f, HI 0xfef0f426fd332da4, LO 0xf3b69123e9df8bc0
+dmult $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xffffffffffffffff, LO 0xfd003bdf3d03d0f5
+dmult $v0, $v1 :: rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020, HI 0x1c1f0665e30cabd, LO 0x642dcb3c6ec68060
+dmult $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xffffffffffffffff, LO 0xfe335f4307dd9b6c
+dmult $v0, $v1 :: rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa, HI 0xd9f6a45c0df9b9c8, LO 0x8dd86e01f2515f66
+dmult $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffffffffff, LO 0xff372c90ffa8b8b5
+dmult $v0, $v1 :: rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3, HI 0x3404e247488be33, LO 0x57d146cbf06f1979
+dmult $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffffffffff, LO 0xf6ab25766699bcc0
+dmult $v0, $v1 :: rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417, HI 0x1a77c3dacfa48de1, LO 0xaad0b66319c39616
+dmult $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xffffffffffffffff, LO 0xf7e5c6f24eacbae5
+dmult $v0, $v1 :: rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb, HI 0xc440efcbb61d844, LO 0x24416c37278369ad
+dmult $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xffffffffffffffff, LO 0xf861f8ebdd8505ec
+dmult $v0, $v1 :: rs 0xd3adba260ff7d96b, rt 0x152828591a652711, HI 0xfc564c6ded2b9ef8, LO 0xdb63f00676cbbd1b
+dmult $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xffffffffffffffff, LO 0xf96d31d4b7f996a5
+dmult $v0, $v1 :: rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5, HI 0x24d49f8c63a2d63c, LO 0x550458cd8049ed66
+dmult $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffffffffff, LO 0xee96284ed429b840
+dmult $v0, $v1 :: rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf, HI 0xde097a4fbef705af, LO 0xc184c2817fb87848
+dmult $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffffffffff, LO 0xee2b785f286cb665
+dmult $v0, $v1 :: rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec, HI 0x29792985127c28b, LO 0x3a626d907de7de2c
+dmult $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xffffffffffffffff, LO 0xf17cdd9e84e4f96c
+dmult $v0, $v1 :: rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac, HI 0x110ec102eaf560f9, LO 0xbf0b6bae9ed980ac
+dmult $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffffffffffff, LO 0xf041d614d3698a25
+dmult $v0, $v1 :: rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63, HI 0xfe6e57f2b9f56404, LO 0xa4ecceeabd0baf2c
+dmult $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffffffffff, LO 0xe5a80bf8d46a75a0
+dmult $v0, $v1 :: rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0, HI 0x1af3ce0b8e401f7, LO 0xc9aebcfb7035ba0
+dmult $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffffffffff, LO 0xe543f09ecb23c975
+dmult $v0, $v1 :: rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117, HI 0xf9416aeb8c841e6e, LO 0x87146767393babb2
+dmult $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffffffffff, LO 0xe77e627bf07d93ec
+dmult $v0, $v1 :: rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae, HI 0xe5f942d01d84a01f, LO 0x131cafa6fc7993c2
+dmult $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffffffffff, LO 0xe62b09f434d8b135
+dmult $v0, $v1 :: rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9, HI 0x6288c8d7c5fbd80, LO 0x207be7360211fb6e
+dmult $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xffffffffffffffff, LO 0xfc5a3e0693cc1860
+dmult $v0, $v1 :: rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580, HI 0xf6d067c7d76e8ad1, LO 0xfd0922919bc88280
+dmult $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xffffffffffffffff, LO 0xfd7f54b82fc9bcb5
+dmult $v0, $v1 :: rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6, HI 0x17f5f378dd1a6417, LO 0x794a99094405185a
+dmult $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xffffffffffffffff, LO 0xfec20fee1ad8aa2c
+dmult $v0, $v1 :: rs 0xd30169894df47405, rt 0x32fc12c81b7919f0, HI 0xf709f8b3a2147348, LO 0x97cef80551de41b0
+dmult $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffffffffff, LO 0xffd6c5df2f7484f5
+dmult $v0, $v1 :: rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d, HI 0x9532a9016812625, LO 0xec2f2b3f2d10174f
+dmult $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffffffffffff, LO 0xf64b71b738e33500
+dmult $v0, $v1 :: rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda, HI 0x112ea15e6e273dd4, LO 0xbe2f205dc00ee764
+dmult $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffffffffffff, LO 0xf77717ba3229bea5
+dmult $v0, $v1 :: rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb, HI 0xd101cd0ebe6ac7b9, LO 0x5539e96135f1db1f
+dmult $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xffffffffffffffff, LO 0xf7e2c5f69548c3ac
+dmult $v0, $v1 :: rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f, HI 0xdd28137539970e27, LO 0xc6f454f8281fd238
+dmult $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xffffffffffffffff, LO 0xf8df256dad8cbae5
+dmult $v0, $v1 :: rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f, HI 0xdd1ecc1871c24661, LO 0xb4ed4f5d114d877e
+dmult $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0xffffffffffffffff, LO 0xe6daa14faf04faa5
+dmult $v0, $v1 :: rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0, HI 0xefc4c75163de9d0e, LO 0x9a91008440b862c0
+dmult $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0xffffffffffffffff, LO 0xe82dca3ba2a87b00
+dmult $v0, $v1 :: rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4, HI 0xf1d60c09ec2a0323, LO 0x5bbc1a31a51e6b80
+dmult $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0xffffffffffffffff, LO 0xe493fbd45fdbd2e5
+dmult $v0, $v1 :: rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9, HI 0x9bf2dd1bd287aa6, LO 0x3afb8c91e2b237c7
+dmult $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0xffffffffffffffff, LO 0xe4f6cce63179c1ac
+dmult $v0, $v1 :: rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5, HI 0x269c74bedd0d21a, LO 0x61d6d8798351076
+dmult $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0xffffffffffffffff, LO 0xefb6427c94b890b5
+dmult $v0, $v1 :: rs 0x81daf8200468319b, rt 0xa974eac43a489b55, HI 0x2aa4f93702bda828, LO 0x264a46839e395177
+dmult $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0xffffffffffffffff, LO 0xf0f20229065cbe60
+dmult $v0, $v1 :: rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07, HI 0x2ec852afc4037ead, LO 0x347b00414b81cc74
+dmult $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0xffffffffffffffff, LO 0xeebe615e605774f5
+dmult $v0, $v1 :: rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34, HI 0x37a50caacab9a451, LO 0x966f22c7e461bccc
+dmult $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0xffffffffffffffff, LO 0xef2ae3195b95d82c
+dmult $v0, $v1 :: rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e, HI 0xf80f418154ee79f0, LO 0x38e17cfdc8cd7732
+dmult $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0xffffffffffffffff, LO 0xf94b06226c988575
+dmult $v0, $v1 :: rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d, HI 0xf45d6ecdbd7e7e8a, LO 0x2070b95708433010
+dmult $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0xffffffffffffffff, LO 0xf84e764805f45fa0
+dmult $v0, $v1 :: rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc, HI 0xa0f98af82e8d8ca, LO 0x725733b09abaac4
+dmult $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0xffffffffffffffff, LO 0xf7045dbcdf995135
+dmult $v0, $v1 :: rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe, HI 0x2d4a82ee04a297f, LO 0x59ab90e40bbc4ec
+dmult $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0xffffffffffffffff, LO 0xf5d76df22d9af5ec
+dmult $v0, $v1 :: rs 0xf518381dce634413, rt 0x3c07af97fba6704a, HI 0xfd7159559a1d0a46, LO 0xf6d78f3adbcbfd7e
+dmult $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0xffffffffffffffff, LO 0xff855867a4ec0a65
+dmult $v0, $v1 :: rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244, HI 0x61aada74586db85, LO 0x5edcd99f24f4ef00
+dmult $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0xffffffffffffffff, LO 0xfe715a54c6880240
+dmult $v0, $v1 :: rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438, HI 0x13fd8ddf43b91a95, LO 0xdbe8624ec49cf0c0
+dmult $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0xffffffffffffffff, LO 0xfdcd938045b50225
+dmult $v0, $v1 :: rs 0x829464944018fd8f, rt 0xa86726c90081ab2a, HI 0x2aea74210ecea5ba, LO 0x20072301fa871e76
+dmult $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xffffffffffffffff, LO 0xfcaa4f156a978b6c
+dmult $v0, $v1 :: rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec, HI 0xfd3efce0040ba11e, LO 0xdb40fcee19ebb11c
+dmult $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x7caf83d2880ff344, rt 0x7535cd338595d342, HI 0x39166b87275c77ea, LO 0x3b2ee7a32431c388
+dmult $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0xffffffffffffffff, LO 0xe78963a11997fac0
+dmult $v0, $v1 :: rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12, HI 0x4e2d04067eca310, LO 0x9aa71e6b63a2881e
+dmult $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x93e2601c0f31d710, rt 0x126f646f34c31728, HI 0xf836df7f1ba65102, LO 0xc905bc55eb4c0a80
+dmult $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0xffffffffffffffff, LO 0xe472a95b5cf783ec
+dmult $v0, $v1 :: rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b, HI 0xf252e9e65f911b03, LO 0xa4c0254617622051
+dmult $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0xffffffffffffffff, LO 0xf03254fc7bb880f5
+dmult $v0, $v1 :: rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f, HI 0x53d78c98cf93bd8, LO 0x68e7fb682f646159
+dmult $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xffffffffffffffff, LO 0xf17efacefba45b20
+dmult $v0, $v1 :: rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd, HI 0xf8478f9868667c5a, LO 0x39dc1e173479b7e2
+dmult $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0xffffffffffffffff, LO 0xef1b361f734944b5
+dmult $v0, $v1 :: rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41, HI 0x984f9f23d648880, LO 0xea251470af6755c0
+dmult $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0xffffffffffffffff, LO 0xef987d06ab3ae96c
+dmult $v0, $v1 :: rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26, HI 0xe5da2c5a608a6d18, LO 0x6ef1d9e4ded87d70
+dmult $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0xffffffffffffffff, LO 0xf9dddf3ddb188435
+dmult $v0, $v1 :: rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b, HI 0x27b15cb3ff9c506, LO 0x50a7861be718a325
+dmult $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0xffffffffffffffff, LO 0xf8d1f49cc12cb1e0
+dmult $v0, $v1 :: rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732, HI 0xe70800bf6e0bf340, LO 0xfef6ab79a09aaa46
+dmult $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0xffffffffffffffff, LO 0xf776b7122ca77075
+dmult $v0, $v1 :: rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd, HI 0xfc3dc2fdd9c2f16d, LO 0x8bb0e4aee5d2ea06
+dmult $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0xffffffffffffffff, LO 0xf63a4d7893f5d3ac
+dmult $v0, $v1 :: rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d, HI 0x20d15d9d7bc77c7, LO 0x1e5002942abcbdcf
+dmult $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0xffffffffffffffff, LO 0xfeea72ebf044f325
+dmult $v0, $v1 :: rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5, HI 0xfe13d1bae15ab55a, LO 0x6ff90bfe3d773dc3
+dmult $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0xffffffffffffffff, LO 0xfde6dfd93f987380
+dmult $v0, $v1 :: rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6, HI 0xfb748e36aca15c4f, LO 0xb09cbd9df5e5e2ec
+dmult $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0xffffffffffffffff, LO 0xfd524ff3436bcb65
+dmult $v0, $v1 :: rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e, HI 0x5e27ca00341af8, LO 0x563e1c7aa3044f14
+dmult $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0xffffffffffffffff, LO 0xfc3f54236999ba2c
+dmult $v0, $v1 :: rs 0x8b086ee07150c260, rt 0x276af70a0e128561, HI 0xedfd6982a5131add, LO 0x963937f8cf558660
+dmult $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffffffffff, LO 0xf673e8ec17fb30a5
+dmult $v0, $v1 :: rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423, HI 0xf3efdc36f68dad5b, LO 0xe7ad46354e97c60f
+dmult $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xffffffffffffffff, LO 0xf73f56125e5b0e80
+dmult $v0, $v1 :: rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb, HI 0xfdc5c71c69638ec9, LO 0xba7361081889ce29
+dmult $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xffffffffffffffff, LO 0xf89d0d2901d838e5
+dmult $v0, $v1 :: rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a, HI 0x353187db1204b656, LO 0x73222402f4e8833c
+dmult $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xffffffffffffffff, LO 0xfa17f32e2cd5cc2c
+dmult $v0, $v1 :: rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b, HI 0xef583630529e5afa, LO 0x450b6e3d5302d38a
+dmult $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xffffffffffffffff, LO 0xfc64fb5cca86eab5
+dmult $v0, $v1 :: rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b, HI 0xf554891fdb61c3b4, LO 0x3d25bb3484ea56f1
+dmult $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xffffffffffffffff, LO 0xfd290d37abe73ae0
+dmult $v0, $v1 :: rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c, HI 0xfab5f812b620460e, LO 0x6c7faf8ec1e6eda0
+dmult $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xffffffffffffffff, LO 0xfdbd9381971c26f5
+dmult $v0, $v1 :: rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636, HI 0xc88188fa49f9881, LO 0x1e75f00db0d4e9a
+dmult $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffffffffff, LO 0xff1213d8077a65ac
+dmult $v0, $v1 :: rs 0xeb9682c170312f1, rt 0x8cff404aede292f2, HI 0xf962ab2d72cf578c, LO 0x869681b7577759d2
+dmult $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffffffffff, LO 0xe4cc78845b6bca75
+dmult $v0, $v1 :: rs 0x84785280dd301d0d, rt 0x743491a6828716c8, HI 0xc7ed278af42b2222, LO 0x3fa9ce3cdbf0d028
+dmult $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a, HI 0x1cfb2deaa535496, LO 0x25da5615a2b2cf06
+dmult $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x26444ced2998436d, rt 0xde02d1337d5407b9, HI 0xfaeb59968f78f591, LO 0x35d27e1f91a4b4c5
+dmult $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xffffffffffffffff, LO 0xe6a058f4e698976c
+dmult $v0, $v1 :: rs 0x7175c9dd58ca708, rt 0x993138f16cfde991, HI 0xfd26f6c9058fe3a5, LO 0xf4157dc36b98e388
+dmult $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffffffffff, LO 0xefdcd72a44d79565
+dmult $v0, $v1 :: rs 0x663d061055833287, rt 0xb620660a49732b90, HI 0xe27f4ca07574e80b, LO 0xc32be2b54ee18f0
+dmult $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffffffffffff, LO 0xeed0ae6f2bf83fc0
+dmult $v0, $v1 :: rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c, HI 0x191755bb5f69c830, LO 0xc66e693d656d5634
+dmult $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xffffffffffffffff, LO 0xf1356cdaf41abd25
+dmult $v0, $v1 :: rs 0xf69823670e82471b, rt 0xc532e18e187980fa, HI 0x2291144a863d276, LO 0x7e60581d7289f05e
+dmult $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffffffffffff, LO 0xf079a96cf8dcb1ec
+dmult $v0, $v1 :: rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36, HI 0xff595b142c0ee3e, LO 0x11b762d445a2058c
+dmult $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffffffffffff, LO 0xf610c13133b79ce5
+dmult $v0, $v1 :: rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c, HI 0xffde3e750b460664, LO 0xbf9e93b482a9727c
+dmult $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffffffffffff, LO 0xf6ccd58970e84740
+dmult $v0, $v1 :: rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17, HI 0xfeb79abdf40079f9, LO 0x582b2e53651171c9
+dmult $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xffffffffffffffff, LO 0xf81965f84a8ac4a5
+dmult $v0, $v1 :: rs 0x3f46553ecad374df, rt 0xf8be8164159649c5, HI 0xfe34e3847c07c875, LO 0x66dcb7c126b6869b
+dmult $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xffffffffffffffff, LO 0xf984d09658bcb96c
+dmult $v0, $v1 :: rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a, HI 0xfb4036f2e83a7c7b, LO 0x76436107f6c62e06
+dmult $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xffffffffffffffff, LO 0xfcd00f7ab4ebcef5
+dmult $v0, $v1 :: rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b, HI 0xfec8727529000047, LO 0x9ba3fb53e56f8631
+dmult $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xffffffffffffffff, LO 0xfda489fe651b76a0
+dmult $v0, $v1 :: rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587, HI 0xf5de72886a68e52b, LO 0x7aae062019543f04
+dmult $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xffffffffffffffff, LO 0xfe4845dec3a6eab5
+dmult $v0, $v1 :: rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25, HI 0xea19aef1fa0cb3cc, LO 0x4e159f3e77c5ede
+dmult $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xffffffffffffffff, LO 0xffad10c7f638a3ec
+dmult $v0, $v1 :: rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec, HI 0xf6dced7d50c98514, LO 0x4e4d09da3a934a1c
+dmult $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffffffffff, LO 0xe550e583e986f735
+dmult $v0, $v1 :: rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77, HI 0xd45ba6a916a81435, LO 0xc671d28419684456
+dmult $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffffffffff, LO 0xe43d401a76174760
+dmult $v0, $v1 :: rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649, HI 0xeac68b6a1fdd8085, LO 0xf0e34077a8bda728
+dmult $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffffffffff, LO 0xe7da85bd6b6c2b75
+dmult $v0, $v1 :: rs 0x478909b59a99269, rt 0x8a6229d731eea35b, HI 0xfdf2243ad16dbbe0, LO 0xa393e92b0e1de653
+dmult $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffffffffff, LO 0xe7362db84fda6a2c
+dmult $v0, $v1 :: rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a, HI 0x54ea32837cb08c3, LO 0xdd77e0217cf73a96
+dmult $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffffffffff, LO 0xef6ee7c0511b3825
+dmult $v0, $v1 :: rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9, HI 0xe8a8b0d4ac174e0f, LO 0x5d273754d3487032
+dmult $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffffffffff, LO 0xee73a3c35b6b1600
+dmult $v0, $v1 :: rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9, HI 0xa6efc7d1baae354, LO 0x514d43b16096fe44
+dmult $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xffffffffffffffff, LO 0xf0a83a819de84065
+dmult $v0, $v1 :: rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c, HI 0x44e1df22c0ab755, LO 0xca5c1c7ba63357d0
+dmult $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffffffffff, LO 0xeffd3e485475d3ac
+dmult $v0, $v1 :: rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b, HI 0x8d559f32f467d59, LO 0xc722c6e648e9da3d
+dmult $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0xffffffffffffffff, LO 0xeffd3e485475d3ac
+dmult $v0, $v1 :: rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897, HI 0x8d559f32f467d59, LO 0xc722c6e648e9da3d
+dmult $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0xffffffffffffffff, LO 0xf0a83a819de84065
+dmult $v0, $v1 :: rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc, HI 0x44e1df22c0ab755, LO 0xca5c1c7ba63357d0
+dmult $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0xffffffffffffffff, LO 0xee73a3c35b6b1600
+dmult $v0, $v1 :: rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4, HI 0xa6efc7d1baae354, LO 0x514d43b16096fe44
+dmult $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0xffffffffffffffff, LO 0xef6ee7c0511b3825
+dmult $v0, $v1 :: rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2, HI 0xe8a8b0d4ac174e0f, LO 0x5d273754d3487032
+dmult $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0xffffffffffffffff, LO 0xe7362db84fda6a2c
+dmult $v0, $v1 :: rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f, HI 0x54ea32837cb08c3, LO 0xdd77e0217cf73a96
+dmult $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0xffffffffffffffff, LO 0xe7da85bd6b6c2b75
+dmult $v0, $v1 :: rs 0x8a6229d731eea35b, rt 0x478909b59a99269, HI 0xfdf2243ad16dbbe0, LO 0xa393e92b0e1de653
+dmult $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0xffffffffffffffff, LO 0xe43d401a76174760
+dmult $v0, $v1 :: rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8, HI 0xeac68b6a1fdd8085, LO 0xf0e34077a8bda728
+dmult $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0xffffffffffffffff, LO 0xe550e583e986f735
+dmult $v0, $v1 :: rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da, HI 0xd45ba6a916a81435, LO 0xc671d28419684456
+dmult $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0xffffffffffffffff, LO 0xffad10c7f638a3ec
+dmult $v0, $v1 :: rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825, HI 0xf6dced7d50c98514, LO 0x4e4d09da3a934a1c
+dmult $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0xffffffffffffffff, LO 0xfe4845dec3a6eab5
+dmult $v0, $v1 :: rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206, HI 0xea19aef1fa0cb3cc, LO 0x4e159f3e77c5ede
+dmult $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0xffffffffffffffff, LO 0xfda489fe651b76a0
+dmult $v0, $v1 :: rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc, HI 0xf5de72886a68e52b, LO 0x7aae062019543f04
+dmult $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0xffffffffffffffff, LO 0xfcd00f7ab4ebcef5
+dmult $v0, $v1 :: rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33, HI 0xfec8727529000047, LO 0x9ba3fb53e56f8631
+dmult $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0xffffffffffffffff, LO 0xf984d09658bcb96c
+dmult $v0, $v1 :: rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7, HI 0xfb4036f2e83a7c7b, LO 0x76436107f6c62e06
+dmult $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0xffffffffffffffff, LO 0xf81965f84a8ac4a5
+dmult $v0, $v1 :: rs 0xf8be8164159649c5, rt 0x3f46553ecad374df, HI 0xfe34e3847c07c875, LO 0x66dcb7c126b6869b
+dmult $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0xffffffffffffffff, LO 0xf6ccd58970e84740
+dmult $v0, $v1 :: rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f, HI 0xfeb79abdf40079f9, LO 0x582b2e53651171c9
+dmult $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0xffffffffffffffff, LO 0xf610c13133b79ce5
+dmult $v0, $v1 :: rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479, HI 0xffde3e750b460664, LO 0xbf9e93b482a9727c
+dmult $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0xffffffffffffffff, LO 0xf079a96cf8dcb1ec
+dmult $v0, $v1 :: rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2, HI 0xff595b142c0ee3e, LO 0x11b762d445a2058c
+dmult $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0xffffffffffffffff, LO 0xf1356cdaf41abd25
+dmult $v0, $v1 :: rs 0xc532e18e187980fa, rt 0xf69823670e82471b, HI 0x2291144a863d276, LO 0x7e60581d7289f05e
+dmult $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0xffffffffffffffff, LO 0xeed0ae6f2bf83fc0
+dmult $v0, $v1 :: rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b, HI 0x191755bb5f69c830, LO 0xc66e693d656d5634
+dmult $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0xffffffffffffffff, LO 0xefdcd72a44d79565
+dmult $v0, $v1 :: rs 0xb620660a49732b90, rt 0x663d061055833287, HI 0xe27f4ca07574e80b, LO 0xc32be2b54ee18f0
+dmult $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0xffffffffffffffff, LO 0xe6a058f4e698976c
+dmult $v0, $v1 :: rs 0x993138f16cfde991, rt 0x7175c9dd58ca708, HI 0xfd26f6c9058fe3a5, LO 0xf4157dc36b98e388
+dmult $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0xde02d1337d5407b9, rt 0x26444ced2998436d, HI 0xfaeb59968f78f591, LO 0x35d27e1f91a4b4c5
+dmult $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef, HI 0x1cfb2deaa535496, LO 0x25da5615a2b2cf06
+dmult $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0xffffffffffffffff, LO 0xe4cc78845b6bca75
+dmult $v0, $v1 :: rs 0x743491a6828716c8, rt 0x84785280dd301d0d, HI 0xc7ed278af42b2222, LO 0x3fa9ce3cdbf0d028
+dmult $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0xffffffffffffffff, LO 0xff1213d8077a65ac
+dmult $v0, $v1 :: rs 0x8cff404aede292f2, rt 0xeb9682c170312f1, HI 0xf962ab2d72cf578c, LO 0x869681b7577759d2
+dmult $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0xffffffffffffffff, LO 0xfdbd9381971c26f5
+dmult $v0, $v1 :: rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7, HI 0xc88188fa49f9881, LO 0x1e75f00db0d4e9a
+dmult $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xffffffffffffffff, LO 0xfd290d37abe73ae0
+dmult $v0, $v1 :: rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958, HI 0xfab5f812b620460e, LO 0x6c7faf8ec1e6eda0
+dmult $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xffffffffffffffff, LO 0xfc64fb5cca86eab5
+dmult $v0, $v1 :: rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3, HI 0xf554891fdb61c3b4, LO 0x3d25bb3484ea56f1
+dmult $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0xffffffffffffffff, LO 0xfa17f32e2cd5cc2c
+dmult $v0, $v1 :: rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e, HI 0xef583630529e5afa, LO 0x450b6e3d5302d38a
+dmult $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0xffffffffffffffff, LO 0xf89d0d2901d838e5
+dmult $v0, $v1 :: rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96, HI 0x353187db1204b656, LO 0x73222402f4e8833c
+dmult $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0xffffffffffffffff, LO 0xf73f56125e5b0e80
+dmult $v0, $v1 :: rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b, HI 0xfdc5c71c69638ec9, LO 0xba7361081889ce29
+dmult $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0xffffffffffffffff, LO 0xf673e8ec17fb30a5
+dmult $v0, $v1 :: rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25, HI 0xf3efdc36f68dad5b, LO 0xe7ad46354e97c60f
+dmult $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xffffffffffffffff, LO 0xfc3f54236999ba2c
+dmult $v0, $v1 :: rs 0x276af70a0e128561, rt 0x8b086ee07150c260, HI 0xedfd6982a5131add, LO 0x963937f8cf558660
+dmult $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xffffffffffffffff, LO 0xfd524ff3436bcb65
+dmult $v0, $v1 :: rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6, HI 0x5e27ca00341af8, LO 0x563e1c7aa3044f14
+dmult $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xffffffffffffffff, LO 0xfde6dfd93f987380
+dmult $v0, $v1 :: rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2, HI 0xfb748e36aca15c4f, LO 0xb09cbd9df5e5e2ec
+dmult $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xffffffffffffffff, LO 0xfeea72ebf044f325
+dmult $v0, $v1 :: rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7, HI 0xfe13d1bae15ab55a, LO 0x6ff90bfe3d773dc3
+dmult $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffffffffffff, LO 0xf63a4d7893f5d3ac
+dmult $v0, $v1 :: rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb, HI 0x20d15d9d7bc77c7, LO 0x1e5002942abcbdcf
+dmult $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffffffffffff, LO 0xf776b7122ca77075
+dmult $v0, $v1 :: rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe, HI 0xfc3dc2fdd9c2f16d, LO 0x8bb0e4aee5d2ea06
+dmult $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xffffffffffffffff, LO 0xf8d1f49cc12cb1e0
+dmult $v0, $v1 :: rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b, HI 0xe70800bf6e0bf340, LO 0xfef6ab79a09aaa46
+dmult $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xffffffffffffffff, LO 0xf9dddf3ddb188435
+dmult $v0, $v1 :: rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f, HI 0x27b15cb3ff9c506, LO 0x50a7861be718a325
+dmult $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffffffffff, LO 0xef987d06ab3ae96c
+dmult $v0, $v1 :: rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168, HI 0xe5da2c5a608a6d18, LO 0x6ef1d9e4ded87d70
+dmult $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffffffffff, LO 0xef1b361f734944b5
+dmult $v0, $v1 :: rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0, HI 0x984f9f23d648880, LO 0xea251470af6755c0
+dmult $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xffffffffffffffff, LO 0xf17efacefba45b20
+dmult $v0, $v1 :: rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a, HI 0xf8478f9868667c5a, LO 0x39dc1e173479b7e2
+dmult $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xffffffffffffffff, LO 0xf03254fc7bb880f5
+dmult $v0, $v1 :: rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427, HI 0x53d78c98cf93bd8, LO 0x68e7fb682f646159
+dmult $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffffffffff, LO 0xe472a95b5cf783ec
+dmult $v0, $v1 :: rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933, HI 0xf252e9e65f911b03, LO 0xa4c0254617622051
+dmult $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x126f646f34c31728, rt 0x93e2601c0f31d710, HI 0xf836df7f1ba65102, LO 0xc905bc55eb4c0a80
+dmult $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffffffffff, LO 0xe78963a11997fac0
+dmult $v0, $v1 :: rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7, HI 0x4e2d04067eca310, LO 0x9aa71e6b63a2881e
+dmult $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x7535cd338595d342, rt 0x7caf83d2880ff344, HI 0x39166b87275c77ea, LO 0x3b2ee7a32431c388
+dmult $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xffffffffffffffff, LO 0xfcaa4f156a978b6c
+dmult $v0, $v1 :: rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5, HI 0xfd3efce0040ba11e, LO 0xdb40fcee19ebb11c
+dmult $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xffffffffffffffff, LO 0xfdcd938045b50225
+dmult $v0, $v1 :: rs 0xa86726c90081ab2a, rt 0x829464944018fd8f, HI 0x2aea74210ecea5ba, LO 0x20072301fa871e76
+dmult $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xffffffffffffffff, LO 0xfe715a54c6880240
+dmult $v0, $v1 :: rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28, HI 0x13fd8ddf43b91a95, LO 0xdbe8624ec49cf0c0
+dmult $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffffffffff, LO 0xff855867a4ec0a65
+dmult $v0, $v1 :: rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0, HI 0x61aada74586db85, LO 0x5edcd99f24f4ef00
+dmult $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffffffffff, LO 0xf5d76df22d9af5ec
+dmult $v0, $v1 :: rs 0x3c07af97fba6704a, rt 0xf518381dce634413, HI 0xfd7159559a1d0a46, LO 0xf6d78f3adbcbfd7e
+dmult $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xffffffffffffffff, LO 0xf7045dbcdf995135
+dmult $v0, $v1 :: rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a, HI 0x2d4a82ee04a297f, LO 0x59ab90e40bbc4ec
+dmult $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffffffffff, LO 0xf84e764805f45fa0
+dmult $v0, $v1 :: rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f, HI 0xa0f98af82e8d8ca, LO 0x725733b09abaac4
+dmult $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffffffffffff, LO 0xf94b06226c988575
+dmult $v0, $v1 :: rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850, HI 0xf45d6ecdbd7e7e8a, LO 0x2070b95708433010
+dmult $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffffffffffff, LO 0xef2ae3195b95d82c
+dmult $v0, $v1 :: rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f, HI 0xf80f418154ee79f0, LO 0x38e17cfdc8cd7732
+dmult $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffffffffffff, LO 0xeebe615e605774f5
+dmult $v0, $v1 :: rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf, HI 0x37a50caacab9a451, LO 0x966f22c7e461bccc
+dmult $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xffffffffffffffff, LO 0xf0f20229065cbe60
+dmult $v0, $v1 :: rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec, HI 0x2ec852afc4037ead, LO 0x347b00414b81cc74
+dmult $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffffffffff, LO 0xefb6427c94b890b5
+dmult $v0, $v1 :: rs 0xa974eac43a489b55, rt 0x81daf8200468319b, HI 0x2aa4f93702bda828, LO 0x264a46839e395177
+dmult $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xffffffffffffffff, LO 0xe4f6cce63179c1ac
+dmult $v0, $v1 :: rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde, HI 0x269c74bedd0d21a, LO 0x61d6d8798351076
+dmult $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffffffffff, LO 0xe493fbd45fdbd2e5
+dmult $v0, $v1 :: rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef, HI 0x9bf2dd1bd287aa6, LO 0x3afb8c91e2b237c7
+dmult $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffffffffffff, LO 0xe82dca3ba2a87b00
+dmult $v0, $v1 :: rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260, HI 0xf1d60c09ec2a0323, LO 0x5bbc1a31a51e6b80
+dmult $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffffffffffff, LO 0xe6daa14faf04faa5
+dmult $v0, $v1 :: rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad, HI 0xefc4c75163de9d0e, LO 0x9a91008440b862c0
+dmult $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0xffffffffffffffff, LO 0xf8df256dad8cbae5
+dmult $v0, $v1 :: rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322, HI 0xdd1ecc1871c24661, LO 0xb4ed4f5d114d877e
+dmult $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0xffffffffffffffff, LO 0xf7e2c5f69548c3ac
+dmult $v0, $v1 :: rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48, HI 0xdd28137539970e27, LO 0xc6f454f8281fd238
+dmult $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0xffffffffffffffff, LO 0xf77717ba3229bea5
+dmult $v0, $v1 :: rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d, HI 0xd101cd0ebe6ac7b9, LO 0x5539e96135f1db1f
+dmult $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0xffffffffffffffff, LO 0xf64b71b738e33500
+dmult $v0, $v1 :: rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a, HI 0x112ea15e6e273dd4, LO 0xbe2f205dc00ee764
+dmult $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0xffffffffffffffff, LO 0xffd6c5df2f7484f5
+dmult $v0, $v1 :: rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db, HI 0x9532a9016812625, LO 0xec2f2b3f2d10174f
+dmult $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0xffffffffffffffff, LO 0xfec20fee1ad8aa2c
+dmult $v0, $v1 :: rs 0x32fc12c81b7919f0, rt 0xd30169894df47405, HI 0xf709f8b3a2147348, LO 0x97cef80551de41b0
+dmult $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0xffffffffffffffff, LO 0xfd7f54b82fc9bcb5
+dmult $v0, $v1 :: rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7, HI 0x17f5f378dd1a6417, LO 0x794a99094405185a
+dmult $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0xffffffffffffffff, LO 0xfc5a3e0693cc1860
+dmult $v0, $v1 :: rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f, HI 0xf6d067c7d76e8ad1, LO 0xfd0922919bc88280
+dmult $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0xffffffffffffffff, LO 0xe62b09f434d8b135
+dmult $v0, $v1 :: rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe, HI 0x6288c8d7c5fbd80, LO 0x207be7360211fb6e
+dmult $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0xffffffffffffffff, LO 0xe77e627bf07d93ec
+dmult $v0, $v1 :: rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907, HI 0xe5f942d01d84a01f, LO 0x131cafa6fc7993c2
+dmult $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0xffffffffffffffff, LO 0xe543f09ecb23c975
+dmult $v0, $v1 :: rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e, HI 0xf9416aeb8c841e6e, LO 0x87146767393babb2
+dmult $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0xffffffffffffffff, LO 0xe5a80bf8d46a75a0
+dmult $v0, $v1 :: rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab, HI 0x1af3ce0b8e401f7, LO 0xc9aebcfb7035ba0
+dmult $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0xffffffffffffffff, LO 0xf041d614d3698a25
+dmult $v0, $v1 :: rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4, HI 0xfe6e57f2b9f56404, LO 0xa4ecceeabd0baf2c
+dmult $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0xffffffffffffffff, LO 0xf17cdd9e84e4f96c
+dmult $v0, $v1 :: rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081, HI 0x110ec102eaf560f9, LO 0xbf0b6bae9ed980ac
+dmult $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0xffffffffffffffff, LO 0xee2b785f286cb665
+dmult $v0, $v1 :: rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1, HI 0x29792985127c28b, LO 0x3a626d907de7de2c
+dmult $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0xffffffffffffffff, LO 0xee96284ed429b840
+dmult $v0, $v1 :: rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8, HI 0xde097a4fbef705af, LO 0xc184c2817fb87848
+dmult $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0xffffffffffffffff, LO 0xf96d31d4b7f996a5
+dmult $v0, $v1 :: rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e, HI 0x24d49f8c63a2d63c, LO 0x550458cd8049ed66
+dmult $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0xffffffffffffffff, LO 0xf861f8ebdd8505ec
+dmult $v0, $v1 :: rs 0x152828591a652711, rt 0xd3adba260ff7d96b, HI 0xfc564c6ded2b9ef8, LO 0xdb63f00676cbbd1b
+dmult $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0xffffffffffffffff, LO 0xf7e5c6f24eacbae5
+dmult $v0, $v1 :: rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277, HI 0xc440efcbb61d844, LO 0x24416c37278369ad
+dmult $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0xffffffffffffffff, LO 0xf6ab25766699bcc0
+dmult $v0, $v1 :: rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a, HI 0x1a77c3dacfa48de1, LO 0xaad0b66319c39616
+dmult $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0xffffffffffffffff, LO 0xff372c90ffa8b8b5
+dmult $v0, $v1 :: rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3, HI 0x3404e247488be33, LO 0x57d146cbf06f1979
+dmult $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0xffffffffffffffff, LO 0xfe335f4307dd9b6c
+dmult $v0, $v1 :: rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67, HI 0xd9f6a45c0df9b9c8, LO 0x8dd86e01f2515f66
+dmult $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xffffffffffffffff, LO 0xfd003bdf3d03d0f5
+dmult $v0, $v1 :: rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83, HI 0x1c1f0665e30cabd, LO 0x642dcb3c6ec68060
+dmult $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xffffffffffffffff, LO 0xfbebf06e8a3a7d20
+dmult $v0, $v1 :: rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040, HI 0xfef0f426fd332da4, LO 0xf3b69123e9df8bc0
+dmult $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0xffffffffffffffff, LO 0xe5998a8abc248c75
+dmult $v0, $v1 :: rs 0xa3d991b79941dedd, rt 0xa809521238895270, HI 0x1fa9db042464f657, LO 0x426d71f4c2794ab0
+dmult $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0xffffffffffffffff, LO 0xe6de8e3a75f8b1ac
+dmult $v0, $v1 :: rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3, HI 0xe5e4beee752186fe, LO 0xb05dba14f502698
+dmult $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0xffffffffffffffff, LO 0xe4d233215fe9c435
+dmult $v0, $v1 :: rs 0x949cad35625bb2d3, rt 0x314791895991136c, HI 0xeb53f78e62035fc0, LO 0x8c43d5d8f1781a04
+dmult $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0xffffffffffffffff, LO 0xe527d72f95fc1fe0
+dmult $v0, $v1 :: rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214, HI 0xf6b46278d34d87da, LO 0x848f5b94655e274
+dmult $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0xffffffffffffffff, LO 0xf0c25960d0fcbf65
+dmult $v0, $v1 :: rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7, HI 0xfab9c1e6fca0d31c, LO 0xc4be1bb82f19bca1
+dmult $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0xffffffffffffffff, LO 0xf20ec57caaa8c82c
+dmult $v0, $v1 :: rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f, HI 0xefa8a428f8b1836a, LO 0xb6af89552912049f
+dmult $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0xffffffffffffffff, LO 0xee8b5b628969cb25
+dmult $v0, $v1 :: rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54, HI 0x26b5e5bf6167d90, LO 0xc865945c5d63585c
+dmult $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0xffffffffffffffff, LO 0xef0751ed8ef34180
+dmult $v0, $v1 :: rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7, HI 0x13a1e21ecb31a85a, LO 0x1c3e16e8b355ef0
+dmult $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffffffffff, LO 0xe57b221da23604e5
+dmult $v0, $v1 :: rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f, HI 0xf9e10d0edd351689, LO 0x24150b202586a731
+dmult $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffffffffff, LO 0xe4769bb6855a7a2c
+dmult $v0, $v1 :: rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce, HI 0xd94ec1775f940325, LO 0x6dbbb698d4d4a8ee
+dmult $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffffffffff, LO 0xe6846f4be3c8e0a5
+dmult $v0, $v1 :: rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604, HI 0xe5c367a4670f64de, LO 0xa9ed8fc0e6a8c96c
+dmult $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffffffffff, LO 0xe5f04f03e4900c80
+dmult $v0, $v1 :: rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036, HI 0xc2a1b9f3385569e, LO 0x851fae20635d3b08
+dmult $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffffffffff, LO 0xef5131c8d38eaaf5
+dmult $v0, $v1 :: rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2, HI 0x5692a5d7cb1f044, LO 0xb33c753f59d90204
+dmult $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffffffffff, LO 0xee4446f29209e3ac
+dmult $v0, $v1 :: rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad, HI 0xfd2199e755d3517d, LO 0xc09f4eb104c60adb
+dmult $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xffffffffffffffff, LO 0xf1caaac0dce992b5
+dmult $v0, $v1 :: rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e, HI 0xf68be81913947ce7, LO 0x5eb5f14a58505162
+dmult $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffffffffffff, LO 0xf10d2fa10966b8e0
+dmult $v0, $v1 :: rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766, HI 0xee353c2fa40dfa1c, LO 0xc26981fb1dde94c8
+dmult $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffffffffffff, LO 0xf6e03c2a2769ea35
+dmult $v0, $v1 :: rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a, HI 0x5524f280515c9, LO 0xc5715d0cb0029d76
+dmult $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffffffffffff, LO 0xf7abf3aa38a5a96c
+dmult $v0, $v1 :: rs 0x4ed6393df818af57, rt 0x25b50fec14682d97, HI 0xb9cb8a3aecc32ff, LO 0xf5851d17b4b9b751
+dmult $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xffffffffffffffff, LO 0xf8289d47ed2eb275
+dmult $v0, $v1 :: rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb, HI 0x4179e9793859b56, LO 0x79872214eb18f6ce
+dmult $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xffffffffffffffff, LO 0xf9a4c2fd35a88420
+dmult $v0, $v1 :: rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5, HI 0xd5efc7f5e3557f77, LO 0xaad228d8c0c86d91
+dmult $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xffffffffffffffff, LO 0xfc151ae499998125
+dmult $v0, $v1 :: rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b, HI 0x82eb5ca1938f728, LO 0xfe33c6249ca70919
+dmult $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xffffffffffffffff, LO 0xfcd86aecc3fd93ec
+dmult $v0, $v1 :: rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1, HI 0xee87e8305f97d14e, LO 0x6ceb01050154e3fe
+dmult $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xffffffffffffffff, LO 0xfe0d889cd5267565
+dmult $v0, $v1 :: rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea, HI 0xa213c15ee0d91a0, LO 0xb21152b961103a7c
+dmult $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xffffffffffffffff, LO 0xff6050c1e428d1c0
+dmult $v0, $v1 :: rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797, HI 0xf6447d1571c37fe8, LO 0x594c3fa27e8170e4
+dmult $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xffffffffffffffff, LO 0xe5fb9fc64e2974a5
+dmult $v0, $v1 :: rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7, HI 0xf07a45bdd4cd17fd, LO 0xb360cb922cac207f
+dmult $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffffffffff, LO 0xe4e8c2aee49d876c
+dmult $v0, $v1 :: rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe, HI 0x93c2dc4e43efe3f, LO 0x9cee3b264c29fd00
+dmult $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffffffffffff, LO 0xe724abc00bc670e5
+dmult $v0, $v1 :: rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f, HI 0x99017781bbe0f60, LO 0x17818f95c7979f73
+dmult $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffffffffffff, LO 0xe68215a4ce38cd40
+dmult $v0, $v1 :: rs 0x65fd698fddef9839, rt 0x47f505569a08a180, HI 0x1caae5ed60cc00f1, LO 0xf01c93b7b24ff580
+dmult $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffffffffffff, LO 0xeedfb046e2b9e2b5
+dmult $v0, $v1 :: rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413, HI 0xf2538d62b118d224, LO 0x36ff9b9e6631eb16
+dmult $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffffffffffff, LO 0xede42c7a8785a1ec
+dmult $v0, $v1 :: rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d, HI 0x2d44c0286a6465d, LO 0x2ed33613b77d4565
+dmult $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xffffffffffffffff, LO 0xf13889b5ff2eaaf5
+dmult $v0, $v1 :: rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d, HI 0x1037422ab88bb7a1, LO 0xf85eab9ff0aaa629
+dmult $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffffffffffff, LO 0xf08c531a23587ca0
+dmult $v0, $v1 :: rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0, HI 0xed566349e916c471, LO 0x9c189c216e03d8e0
+dmult $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffffffffff, LO 0xf68042aed2bea375
+dmult $v0, $v1 :: rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7, HI 0xd110067009ad2b95, LO 0x15cd94f4e17063b4
+dmult $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xffffffffffffffff, LO 0xf73d1ed5a2a9dc2c
+dmult $v0, $v1 :: rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d, HI 0xf9d53979272a6695, LO 0x893e92ed20ba3c26
+dmult $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffffffffffff, LO 0xf7a940de3ae98b35
+dmult $v0, $v1 :: rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad, HI 0xf26c9bfbc1e5cac6, LO 0x25d3435aecbbff82
+dmult $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffffffffffff, LO 0xf9166da2b5b6b160
+dmult $v0, $v1 :: rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502, HI 0x172a574aa8a55dea, LO 0x228b2726e77fa12e
+dmult $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffffffffff, LO 0xfc83823413a60065
+dmult $v0, $v1 :: rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb, HI 0xe283ab72304992dd, LO 0x218872f754789402
+dmult $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xffffffffffffffff, LO 0xfd57bc67e4ba75ac
+dmult $v0, $v1 :: rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3, HI 0xe7a0888c77592cc1, LO 0xe923a4d32330d60f
+dmult $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0x614d9b445f12236b, rt 0x7e876382d2ab13, HI 0x3017a82b446008, LO 0xe93183d28fc719f1
+dmult $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0x0, LO 0x0
+dmult $v0, $v1 :: rs 0xa2a6ec661ba84121, rt 0x12bd6aa, HI 0xffffffffff92aaaf, LO 0xa7b8a47115b7d5ea
+dmultu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x12bd6aa, rt 0xa2a6ec661ba84121, HI 0xbe8159, LO 0xa7b8a47115b7d5ea
+dmultu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x7e876382d2ab13, rt 0x614d9b445f12236b, HI 0x3017a82b446008, LO 0xe93183d28fc719f1
+dmultu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x9823b6d, LO 0xfd57bc67e4ba75ac
+dmultu $v0, $v1 :: rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75, HI 0x234b21d396c67a36, LO 0xe923a4d32330d60f
+dmultu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xd4326d8, LO 0xfc83823413a60065
+dmultu $v0, $v1 :: rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666, HI 0x4a9079d1e2804943, LO 0x218872f754789402
+dmultu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x130476db, LO 0xf9166da2b5b6b160
+dmultu $v0, $v1 :: rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17, HI 0x172a574aa8a55dea, LO 0x228b2726e77fa12e
+dmultu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x17c56b6a, LO 0xf7a940de3ae98b35
+dmultu $v0, $v1 :: rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca, HI 0x1d15392d6021fb73, LO 0x25d3435aecbbff82
+dmultu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x1a864db1, LO 0xf73d1ed5a2a9dc2c
+dmultu $v0, $v1 :: rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e, HI 0x1905c83c9f25a7d2, LO 0x893e92ed20ba3c26
+dmultu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x1e475004, LO 0xf68042aed2bea375
+dmultu $v0, $v1 :: rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec, HI 0x4bb04883d10e108c, LO 0x15cd94f4e17063b4
+dmultu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x2608edb7, LO 0xf08c531a23587ca0
+dmultu $v0, $v1 :: rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b, HI 0x1e4ed401ca396cac, LO 0x9c189c216e03d8e0
+dmultu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x22c9f00e, LO 0xf13889b5ff2eaaf5
+dmultu $v0, $v1 :: rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d, HI 0x1037422ab88bb7a1, LO 0xf85eab9ff0aaa629
+dmultu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x2f8ad6d5, LO 0xede42c7a8785a1ec
+dmultu $v0, $v1 :: rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9, HI 0x2d44c0286a6465d, LO 0x2ed33613b77d4565
+dmultu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x2b4bcb60, LO 0xeedfb046e2b9e2b5
+dmultu $v0, $v1 :: rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52, HI 0x2d46e8007524a637, LO 0x36ff9b9e6631eb16
+dmultu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x350c9b63, LO 0xe68215a4ce38cd40
+dmultu $v0, $v1 :: rs 0x47f505569a08a180, rt 0x65fd698fddef9839, HI 0x1caae5ed60cc00f1, LO 0xf01c93b7b24ff580
+dmultu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x31cd86d2, LO 0xe724abc00bc670e5
+dmultu $v0, $v1 :: rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d, HI 0x87fe139cb4638dcc, LO 0x17818f95c7979f73
+dmultu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x3c8ea009, LO 0xe4e8c2aee49d876c
+dmultu $v0, $v1 :: rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180, HI 0xa7fb29025c283b7d, LO 0x9cee3b264c29fd00
+dmultu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x384fbdbc, LO 0xe5fb9fc64e2974a5
+dmultu $v0, $v1 :: rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89, HI 0x2578425867cfd686, LO 0xb360cb922cac207f
+dmultu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4c11db6f, LO 0xff6050c1e428d1c0
+dmultu $v0, $v1 :: rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc, HI 0xd8d573bbd0fd2a4, LO 0x594c3fa27e8170e4
+dmultu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x48d0c6c6, LO 0xfe0d889cd5267565
+dmultu $v0, $v1 :: rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086, HI 0xa213c15ee0d91a0, LO 0xb21152b961103a7c
+dmultu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x4593e01d, LO 0xfcd86aecc3fd93ec
+dmultu $v0, $v1 :: rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e, HI 0x24dc8406d88066ff, LO 0x6ceb01050154e3fe
+dmultu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x4152fda8, LO 0xfc151ae499998125
+dmultu $v0, $v1 :: rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b, HI 0x7ce84f4d359e4e1e, LO 0xfe33c6249ca70919
+dmultu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x5f15adab, LO 0xf9a4c2fd35a88420
+dmultu $v0, $v1 :: rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d, HI 0x2b5b06c0b046fa3c, LO 0xaad228d8c0c86d91
+dmultu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x5bd4b01a, LO 0xf8289d47ed2eb275
+dmultu $v0, $v1 :: rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a, HI 0xaa758e7d17aab35b, LO 0x79872214eb18f6ce
+dmultu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x569796c1, LO 0xf7abf3aa38a5a96c
+dmultu $v0, $v1 :: rs 0x25b50fec14682d97, rt 0x4ed6393df818af57, HI 0xb9cb8a3aecc32ff, LO 0xf5851d17b4b9b751
+dmultu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x52568b74, LO 0xf6e03c2a2769ea35
+dmultu $v0, $v1 :: rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657, HI 0xfb0b1402c10ed49a, LO 0xc5715d0cb0029d76
+dmultu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x6a1936c7, LO 0xf10d2fa10966b8e0
+dmultu $v0, $v1 :: rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c, HI 0x2a6215d971b00182, LO 0xc26981fb1dde94c8
+dmultu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x6ed82b7e, LO 0xf1caaac0dce992b5
+dmultu $v0, $v1 :: rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f, HI 0xe1d5a4391075725, LO 0x5eb5f14a58505162
+dmultu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x639b0da5, LO 0xee4446f29209e3ac
+dmultu $v0, $v1 :: rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7, HI 0x59e63b8e9a1762a, LO 0xc09f4eb104c60adb
+dmultu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x675a1010, LO 0xef5131c8d38eaaf5
+dmultu $v0, $v1 :: rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2, HI 0x5692a5d7cb1f044, LO 0xb33c753f59d90204
+dmultu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x791d4013, LO 0xe5f04f03e4900c80
+dmultu $v0, $v1 :: rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc, HI 0x9afb619950579fa0, LO 0x851fae20635d3b08
+dmultu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x7ddc5da2, LO 0xe6846f4be3c8e0a5
+dmultu $v0, $v1 :: rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb, HI 0x1f8584216a50bae2, LO 0xa9ed8fc0e6a8c96c
+dmultu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x709f7b79, LO 0xe4769bb6855a7a2c
+dmultu $v0, $v1 :: rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1, HI 0x30a40a746854a916, LO 0x6dbbb698d4d4a8ee
+dmultu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x745e66cc, LO 0xe57b221da23604e5
+dmultu $v0, $v1 :: rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f, HI 0x1ecc779bfa1c7dd8, LO 0x24150b202586a731
+dmultu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0x29d4f653, LO 0xef0751ed8ef34180
+dmultu $v0, $v1 :: rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790, HI 0x13a1e21ecb31a85a, LO 0x1c3e16e8b355ef0
+dmultu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0x2d15ebe2, LO 0xee8b5b628969cb25
+dmultu $v0, $v1 :: rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b, HI 0x26b5e5bf6167d90, LO 0xc865945c5d63585c
+dmultu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0x2056cd39, LO 0xf20ec57caaa8c82c
+dmultu $v0, $v1 :: rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91, HI 0x1502f0fb28879efb, LO 0xb6af89552912049f
+dmultu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0x2497d08c, LO 0xf0c25960d0fcbf65
+dmultu $v0, $v1 :: rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27, HI 0x13154ac7d82e5043, LO 0xc4be1bb82f19bca1
+dmultu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0x3ad08087, LO 0xe527d72f95fc1fe0
+dmultu $v0, $v1 :: rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739, HI 0x760ae1ae79e01f13, LO 0x848f5b94655e274
+dmultu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x3e119d3e, LO 0xe4d233215fe9c435
+dmultu $v0, $v1 :: rs 0x314791895991136c, rt 0x949cad35625bb2d3, HI 0x1c9b8917bb94732c, LO 0x8c43d5d8f1781a04
+dmultu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0x3352bbe5, LO 0xe6de8e3a75f8b1ac
+dmultu $v0, $v1 :: rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508, HI 0x5b017371cf2f1c06, LO 0xb05dba14f502698
+dmultu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x3793a650, LO 0xe5998a8abc248c75
+dmultu $v0, $v1 :: rs 0xa809521238895270, rt 0xa3d991b79941dedd, HI 0x6b8cbecdf63027a4, LO 0x426d71f4c2794ab0
+dmultu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xfdc1beb, LO 0xfbebf06e8a3a7d20
+dmultu $v0, $v1 :: rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f, HI 0x13094faa50bb913, LO 0xf3b69123e9df8bc0
+dmultu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xb1d065a, LO 0xfd003bdf3d03d0f5
+dmultu $v0, $v1 :: rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020, HI 0x1c1f0665e30cabd, LO 0x642dcb3c6ec68060
+dmultu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0x65e2081, LO 0xfe335f4307dd9b6c
+dmultu $v0, $v1 :: rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa, HI 0x5151f126176f6b72, LO 0x8dd86e01f2515f66
+dmultu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0x29f3d34, LO 0xff372c90ffa8b8b5
+dmultu $v0, $v1 :: rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3, HI 0xb69905926cf67609, LO 0x57d146cbf06f1979
+dmultu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0x1cd86d2f, LO 0xf6ab25766699bcc0
+dmultu $v0, $v1 :: rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417, HI 0x6cd4f51a28ab5c52, LO 0xaad0b66319c39616
+dmultu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0x18197086, LO 0xf7e5c6f24eacbae5
+dmultu $v0, $v1 :: rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb, HI 0x8a4c6ca41144d4b6, LO 0x24416c37278369ad
+dmultu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0x155a565d, LO 0xf861f8ebdd8505ec
+dmultu $v0, $v1 :: rs 0xd3adba260ff7d96b, rt 0x152828591a652711, HI 0x117e74c70790c609, LO 0xdb63f00676cbbd1b
+dmultu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0x119b4be8, LO 0xf96d31d4b7f996a5
+dmultu $v0, $v1 :: rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5, HI 0x24d49f8c63a2d63c, LO 0x550458cd8049ed66
+dmultu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x65c52d23, LO 0xee96284ed429b840
+dmultu $v0, $v1 :: rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf, HI 0x5d0d2657513d958e, LO 0xc184c2817fb87848
+dmultu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0x61043092, LO 0xee2b785f286cb665
+dmultu $v0, $v1 :: rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec, HI 0x29792985127c28b, LO 0x3a626d907de7de2c
+dmultu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x6c471649, LO 0xf17cdd9e84e4f96c
+dmultu $v0, $v1 :: rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac, HI 0x110ec102eaf560f9, LO 0xbf0b6bae9ed980ac
+dmultu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0x68860bfc, LO 0xf041d614d3698a25
+dmultu $v0, $v1 :: rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63, HI 0x131a4b56d3f10267, LO 0xa4ecceeabd0baf2c
+dmultu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x76c15bf7, LO 0xe5a80bf8d46a75a0
+dmultu $v0, $v1 :: rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0, HI 0x1af3ce0b8e401f7, LO 0xc9aebcfb7035ba0
+dmultu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x7200464e, LO 0xe543f09ecb23c975
+dmultu $v0, $v1 :: rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117, HI 0x1277ae645452ab8c, LO 0x87146767393babb2
+dmultu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x7f436095, LO 0xe77e627bf07d93ec
+dmultu $v0, $v1 :: rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae, HI 0x44a410aa1b15e7cd, LO 0x131cafa6fc7993c2
+dmultu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x7b827d20, LO 0xe62b09f434d8b135
+dmultu $v0, $v1 :: rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9, HI 0x6288c8d7c5fbd80, LO 0x207be7360211fb6e
+dmultu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0x43cdc09b, LO 0xfc5a3e0693cc1860
+dmultu $v0, $v1 :: rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580, HI 0x2f822f834198c051, LO 0xfd0922919bc88280
+dmultu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0x470cdd2a, LO 0xfd7f54b82fc9bcb5
+dmultu $v0, $v1 :: rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6, HI 0x17f5f378dd1a6417, LO 0x794a99094405185a
+dmultu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0x4a4ffbf1, LO 0xfec20fee1ad8aa2c
+dmultu $v0, $v1 :: rs 0xd30169894df47405, rt 0x32fc12c81b7919f0, HI 0x2a060b7bbd8d8d38, LO 0x97cef80551de41b0
+dmultu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0x4e8ee644, LO 0xffd6c5df2f7484f5
+dmultu $v0, $v1 :: rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d, HI 0x9532a9016812625, LO 0xec2f2b3f2d10174f
+dmultu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0x50c9b63f, LO 0xf64b71b738e33500
+dmultu $v0, $v1 :: rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda, HI 0x112ea15e6e273dd4, LO 0xbe2f205dc00ee764
+dmultu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0x5408abf6, LO 0xf77717ba3229bea5
+dmultu $v0, $v1 :: rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb, HI 0x47a5a31af9d16fb4, LO 0x5539e96135f1db1f
+dmultu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0x594b8d2d, LO 0xf7e2c5f69548c3ac
+dmultu $v0, $v1 :: rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f, HI 0x29205bcff0bfa056, LO 0xc6f454f8281fd238
+dmultu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0x5d8a9098, LO 0xf8df256dad8cbae5
+dmultu $v0, $v1 :: rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f, HI 0x52de7beb46dc1983, LO 0xb4ed4f5d114d877e
+dmultu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x34867076, LO 0xe6daa14faf04faa5
+dmultu $v0, $v1 :: rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0, HI 0x6a7995da4384a2ce, LO 0x9a91008440b862c0
+dmultu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x30476dbf, LO 0xe82dca3ba2a87b00
+dmultu $v0, $v1 :: rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4, HI 0x1de018fc423a3583, LO 0x5bbc1a31a51e6b80
+dmultu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x3d044b18, LO 0xe493fbd45fdbd2e5
+dmultu $v0, $v1 :: rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9, HI 0x8729525bc90cf23e, LO 0x3afb8c91e2b237c7
+dmultu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x39c556ad, LO 0xe4f6cce63179c1ac
+dmultu $v0, $v1 :: rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5, HI 0x9f442863bc19c7ed, LO 0x61d6d8798351076
+dmultu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x278206aa, LO 0xefb6427c94b890b5
+dmultu $v0, $v1 :: rs 0x81daf8200468319b, rt 0xa974eac43a489b55, HI 0x55f4dc1b416e7518, LO 0x264a46839e395177
+dmultu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x23431b1b, LO 0xf0f20229065cbe60
+dmultu $v0, $v1 :: rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07, HI 0x5394486f6577efa0, LO 0x347b00414b81cc74
+dmultu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x2e003dc4, LO 0xeebe615e605774f5
+dmultu $v0, $v1 :: rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34, HI 0x48dd88880b79f744, LO 0x966f22c7e461bccc
+dmultu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x2ac12071, LO 0xef2ae3195b95d82c
+dmultu $v0, $v1 :: rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e, HI 0x281c28d32fb4901f, LO 0x38e17cfdc8cd7732
+dmultu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x128e9dce, LO 0xf94b06226c988575
+dmultu $v0, $v1 :: rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d, HI 0x5bd66cc177d126da, LO 0x2070b95708433010
+dmultu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x164f8077, LO 0xf84e764805f45fa0
+dmultu $v0, $v1 :: rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc, HI 0x980805fff818cf25, LO 0x725733b09abaac4
+dmultu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1b0ca6a0, LO 0xf7045dbcdf995135
+dmultu $v0, $v1 :: rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe, HI 0x2d4a82ee04a297f, LO 0x59ab90e40bbc4ec
+dmultu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x1fcdbb15, LO 0xf5d76df22d9af5ec
+dmultu $v0, $v1 :: rs 0xf518381dce634413, rt 0x3c07af97fba6704a, HI 0x397908ed95c37a90, LO 0xf6d78f3adbcbfd7e
+dmultu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x18aeb12, LO 0xff855867a4ec0a65
+dmultu $v0, $v1 :: rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244, HI 0xb1e6c50de28b1d89, LO 0x5edcd99f24f4ef00
+dmultu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x54bf6a3, LO 0xfe715a54c6880240
+dmultu $v0, $v1 :: rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438, HI 0x7cd020622188adf5, LO 0xdbe8624ec49cf0c0
+dmultu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x808d07c, LO 0xfdcd938045b50225
+dmultu $v0, $v1 :: rs 0x829464944018fd8f, rt 0xa86726c90081ab2a, HI 0x55e5ff7e4f694e73, LO 0x20072301fa871e76
+dmultu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xcc9cdc9, LO 0xfcaa4f156a978b6c
+dmultu $v0, $v1 :: rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec, HI 0x13121d2056f49203, LO 0xdb40fcee19ebb11c
+dmultu $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x7caf83d2880ff344, rt 0x7535cd338595d342, HI 0x39166b87275c77ea, LO 0x3b2ee7a32431c388
+dmultu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x7c56b6af, LO 0xe78963a11997fac0
+dmultu $v0, $v1 :: rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12, HI 0xa0e989ee3366dff9, LO 0x9aa71e6b63a2881e
+dmultu $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x93e2601c0f31d710, rt 0x126f646f34c31728, HI 0xaa643ee5069682a, LO 0xc905bc55eb4c0a80
+dmultu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x75d48ddd, LO 0xe472a95b5cf783ec
+dmultu $v0, $v1 :: rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b, HI 0x669140738f60636e, LO 0xa4c0254617622051
+dmultu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x6b93ddda, LO 0xf03254fc7bb880f5
+dmultu $v0, $v1 :: rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f, HI 0x53d78c98cf93bd8, LO 0x68e7fb682f646159
+dmultu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x6f52c06b, LO 0xf17efacefba45b20
+dmultu $v0, $v1 :: rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd, HI 0x23cda33ac9381a27, LO 0x39dc1e173479b7e2
+dmultu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x6211e6b4, LO 0xef1b361f734944b5
+dmultu $v0, $v1 :: rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41, HI 0x984f9f23d648880, LO 0xea251470af6755c0
+dmultu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x66d0fb01, LO 0xef987d06ab3ae96c
+dmultu $v0, $v1 :: rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26, HI 0x5ca2cadb21082e80, LO 0x6ef1d9e4ded87d70
+dmultu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x5e9f46be, LO 0xf9dddf3ddb188435
+dmultu $v0, $v1 :: rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b, HI 0x27b15cb3ff9c506, LO 0x50a7861be718a325
+dmultu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x5a5e5b07, LO 0xf8d1f49cc12cb1e0
+dmultu $v0, $v1 :: rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732, HI 0x47ad22a90e009a72, LO 0xfef6ab79a09aaa46
+dmultu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x571d7dd0, LO 0xf776b7122ca77075
+dmultu $v0, $v1 :: rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd, HI 0x5e4aeb4e46e73a4a, LO 0x8bb0e4aee5d2ea06
+dmultu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x53dc6065, LO 0xf63a4d7893f5d3ac
+dmultu $v0, $v1 :: rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d, HI 0x20d15d9d7bc77c7, LO 0x1e5002942abcbdcf
+dmultu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4d9b3062, LO 0xfeea72ebf044f325
+dmultu $v0, $v1 :: rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5, HI 0x3d77ac64912c4f31, LO 0x6ff90bfe3d773dc3
+dmultu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x495a2dd3, LO 0xfde6dfd93f987380
+dmultu $v0, $v1 :: rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6, HI 0x1b96cd49b54e2bf5, LO 0xb09cbd9df5e5e2ec
+dmultu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x44190b0c, LO 0xfd524ff3436bcb65
+dmultu $v0, $v1 :: rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e, HI 0x5e27ca00341af8, LO 0x563e1c7aa3044f14
+dmultu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x40d816b9, LO 0xfc3f54236999ba2c
+dmultu $v0, $v1 :: rs 0x8b086ee07150c260, rt 0x276af70a0e128561, HI 0x1568608cb325a03e, LO 0x963937f8cf558660
+dmultu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0x1d528622, LO 0xf673e8ec17fb30a5
+dmultu $v0, $v1 :: rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423, HI 0x678140baa4cc417e, LO 0xe7ad46354e97c60f
+dmultu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0x19939b93, LO 0xf73f56125e5b0e80
+dmultu $v0, $v1 :: rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb, HI 0x3b2f297c530a6a24, LO 0xba7361081889ce29
+dmultu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0x14d0bd4c, LO 0xf89d0d2901d838e5
+dmultu $v0, $v1 :: rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a, HI 0x353187db1204b656, LO 0x73222402f4e8833c
+dmultu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0x1011a0f9, LO 0xfa17f32e2cd5cc2c
+dmultu $v0, $v1 :: rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b, HI 0x32422e84de11f665, LO 0x450b6e3d5302d38a
+dmultu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xe56f0fe, LO 0xfc64fb5cca86eab5
+dmultu $v0, $v1 :: rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b, HI 0x323cc2c4f85aed97, LO 0x3d25bb3484ea56f1
+dmultu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xa97ed47, LO 0xfd290d37abe73ae0
+dmultu $v0, $v1 :: rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c, HI 0x296052b9bb29bd2a, LO 0x6c7faf8ec1e6eda0
+dmultu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0x7d4cb90, LO 0xfdbd9381971c26f5
+dmultu $v0, $v1 :: rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636, HI 0x98a289c83b10346e, LO 0x1e75f00db0d4e9a
+dmultu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0x315d625, LO 0xff1213d8077a65ac
+dmultu $v0, $v1 :: rs 0xeb9682c170312f1, rt 0x8cff404aede292f2, HI 0x81c135989d26a7d, LO 0x869681b7577759d2
+dmultu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x3b5a6b9a, LO 0xe4cc78845b6bca75
+dmultu $v0, $v1 :: rs 0x84785280dd301d0d, rt 0x743491a6828716c8, HI 0x3c21b93176b238ea, LO 0x3fa9ce3cdbf0d028
+dmultu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a, HI 0x1cfb2deaa535496, LO 0x25da5615a2b2cf06
+dmultu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x26444ced2998436d, rt 0xde02d1337d5407b9, HI 0x212fa683b91138fe, LO 0x35d27e1f91a4b4c5
+dmultu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x36194d41, LO 0xe6a058f4e698976c
+dmultu $v0, $v1 :: rs 0x7175c9dd58ca708, rt 0x993138f16cfde991, HI 0x43e5366db1c8aad, LO 0xf4157dc36b98e388
+dmultu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0x285e1d46, LO 0xefdcd72a44d79565
+dmultu $v0, $v1 :: rs 0x663d061055833287, rt 0xb620660a49732b90, HI 0x48bc52b0caf81a92, LO 0xc32be2b54ee18f0
+dmultu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0x2c9f00ef, LO 0xeed0ae6f2bf83fc0
+dmultu $v0, $v1 :: rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c, HI 0x7893122d37e41bd7, LO 0xc66e693d656d5634
+dmultu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0x21dc2628, LO 0xf1356cdaf41abd25
+dmultu $v0, $v1 :: rs 0xf69823670e82471b, rt 0xc532e18e187980fa, HI 0xbdf41639cf5f9a8b, LO 0x7e60581d7289f05e
+dmultu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0x251d3b9d, LO 0xf079a96cf8dcb1ec
+dmultu $v0, $v1 :: rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36, HI 0xff595b142c0ee3e, LO 0x11b762d445a2058c
+dmultu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0x51435d52, LO 0xf610c13133b79ce5
+dmultu $v0, $v1 :: rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c, HI 0x9a88a50de71eadd, LO 0xbf9e93b482a9727c
+dmultu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0x558240e3, LO 0xf6ccd58970e84740
+dmultu $v0, $v1 :: rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17, HI 0x7b5ac05578e71510, LO 0x582b2e53651171c9
+dmultu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0x58c1663c, LO 0xf81965f84a8ac4a5
+dmultu $v0, $v1 :: rs 0x3f46553ecad374df, rt 0xf8be8164159649c5, HI 0x3d7b38c346db3d54, LO 0x66dcb7c126b6869b
+dmultu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0x5c007b89, LO 0xf984d09658bcb96c
+dmultu $v0, $v1 :: rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a, HI 0x29daf07027286f22, LO 0x76436107f6c62e06
+dmultu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0x42472b8e, LO 0xfcd00f7ab4ebcef5
+dmultu $v0, $v1 :: rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b, HI 0x356f6a6f650c9f7a, LO 0x9ba3fb53e56f8631
+dmultu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0x46863637, LO 0xfda489fe651b76a0
+dmultu $v0, $v1 :: rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587, HI 0xc2c8a4a52644ab2, LO 0x7aae062019543f04
+dmultu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0x4bc510e0, LO 0xfe4845dec3a6eab5
+dmultu $v0, $v1 :: rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25, HI 0x6654b359371921f1, LO 0x4e159f3e77c5ede
+dmultu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0x4f040d55, LO 0xffad10c7f638a3ec
+dmultu $v0, $v1 :: rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec, HI 0x19769e5d6e27ee00, LO 0x4e4d09da3a934a1c
+dmultu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x774bb0ea, LO 0xe550e583e986f735
+dmultu $v0, $v1 :: rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77, HI 0x5451c521f3441fac, LO 0xc671d28419684456
+dmultu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x738aad5b, LO 0xe43d401a76174760
+dmultu $v0, $v1 :: rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649, HI 0x1702cb086875d6ce, LO 0xf0e34077a8bda728
+dmultu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x7ec98b84, LO 0xe7da85bd6b6c2b75
+dmultu $v0, $v1 :: rs 0x478909b59a99269, rt 0x8a6229d731eea35b, HI 0x26ab4d62b174e49, LO 0xa393e92b0e1de653
+dmultu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x7a089631, LO 0xe7362db84fda6a2c
+dmultu $v0, $v1 :: rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a, HI 0xafe095b5edcf40dc, LO 0xdd77e0217cf73a96
+dmultu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0x644fc636, LO 0xef6ee7c0511b3825
+dmultu $v0, $v1 :: rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9, HI 0x39d7da8684174ed8, LO 0x5d273754d3487032
+dmultu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0x608edb7f, LO 0xee73a3c35b6b1600
+dmultu $v0, $v1 :: rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9, HI 0xa6efc7d1baae354, LO 0x514d43b16096fe44
+dmultu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0x6dcdfd58, LO 0xf0a83a819de84065
+dmultu $v0, $v1 :: rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c, HI 0x847dfdfd344a7a5d, LO 0xca5c1c7ba63357d0
+dmultu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x690ce0ed, LO 0xeffd3e485475d3ac
+dmultu $v0, $v1 :: rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b, HI 0x8d559f32f467d59, LO 0xc722c6e648e9da3d
+dmultu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x690ce0ed, LO 0xeffd3e485475d3ac
+dmultu $v0, $v1 :: rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897, HI 0x8d559f32f467d59, LO 0xc722c6e648e9da3d
+dmultu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x6dcdfd58, LO 0xf0a83a819de84065
+dmultu $v0, $v1 :: rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc, HI 0x847dfdfd344a7a5d, LO 0xca5c1c7ba63357d0
+dmultu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x608edb7f, LO 0xee73a3c35b6b1600
+dmultu $v0, $v1 :: rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4, HI 0xa6efc7d1baae354, LO 0x514d43b16096fe44
+dmultu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x644fc636, LO 0xef6ee7c0511b3825
+dmultu $v0, $v1 :: rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2, HI 0x39d7da8684174ed8, LO 0x5d273754d3487032
+dmultu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x7a089631, LO 0xe7362db84fda6a2c
+dmultu $v0, $v1 :: rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f, HI 0xafe095b5edcf40dc, LO 0xdd77e0217cf73a96
+dmultu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x7ec98b84, LO 0xe7da85bd6b6c2b75
+dmultu $v0, $v1 :: rs 0x8a6229d731eea35b, rt 0x478909b59a99269, HI 0x26ab4d62b174e49, LO 0xa393e92b0e1de653
+dmultu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x738aad5b, LO 0xe43d401a76174760
+dmultu $v0, $v1 :: rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8, HI 0x1702cb086875d6ce, LO 0xf0e34077a8bda728
+dmultu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x774bb0ea, LO 0xe550e583e986f735
+dmultu $v0, $v1 :: rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da, HI 0x5451c521f3441fac, LO 0xc671d28419684456
+dmultu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4f040d55, LO 0xffad10c7f638a3ec
+dmultu $v0, $v1 :: rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825, HI 0x19769e5d6e27ee00, LO 0x4e4d09da3a934a1c
+dmultu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4bc510e0, LO 0xfe4845dec3a6eab5
+dmultu $v0, $v1 :: rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206, HI 0x6654b359371921f1, LO 0x4e159f3e77c5ede
+dmultu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x46863637, LO 0xfda489fe651b76a0
+dmultu $v0, $v1 :: rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc, HI 0xc2c8a4a52644ab2, LO 0x7aae062019543f04
+dmultu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x42472b8e, LO 0xfcd00f7ab4ebcef5
+dmultu $v0, $v1 :: rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33, HI 0x356f6a6f650c9f7a, LO 0x9ba3fb53e56f8631
+dmultu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x5c007b89, LO 0xf984d09658bcb96c
+dmultu $v0, $v1 :: rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7, HI 0x29daf07027286f22, LO 0x76436107f6c62e06
+dmultu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x58c1663c, LO 0xf81965f84a8ac4a5
+dmultu $v0, $v1 :: rs 0xf8be8164159649c5, rt 0x3f46553ecad374df, HI 0x3d7b38c346db3d54, LO 0x66dcb7c126b6869b
+dmultu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x558240e3, LO 0xf6ccd58970e84740
+dmultu $v0, $v1 :: rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f, HI 0x7b5ac05578e71510, LO 0x582b2e53651171c9
+dmultu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x51435d52, LO 0xf610c13133b79ce5
+dmultu $v0, $v1 :: rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479, HI 0x9a88a50de71eadd, LO 0xbf9e93b482a9727c
+dmultu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x251d3b9d, LO 0xf079a96cf8dcb1ec
+dmultu $v0, $v1 :: rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2, HI 0xff595b142c0ee3e, LO 0x11b762d445a2058c
+dmultu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x21dc2628, LO 0xf1356cdaf41abd25
+dmultu $v0, $v1 :: rs 0xc532e18e187980fa, rt 0xf69823670e82471b, HI 0xbdf41639cf5f9a8b, LO 0x7e60581d7289f05e
+dmultu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x2c9f00ef, LO 0xeed0ae6f2bf83fc0
+dmultu $v0, $v1 :: rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b, HI 0x7893122d37e41bd7, LO 0xc66e693d656d5634
+dmultu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x285e1d46, LO 0xefdcd72a44d79565
+dmultu $v0, $v1 :: rs 0xb620660a49732b90, rt 0x663d061055833287, HI 0x48bc52b0caf81a92, LO 0xc32be2b54ee18f0
+dmultu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x36194d41, LO 0xe6a058f4e698976c
+dmultu $v0, $v1 :: rs 0x993138f16cfde991, rt 0x7175c9dd58ca708, HI 0x43e5366db1c8aad, LO 0xf4157dc36b98e388
+dmultu $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0xde02d1337d5407b9, rt 0x26444ced2998436d, HI 0x212fa683b91138fe, LO 0x35d27e1f91a4b4c5
+dmultu $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef, HI 0x1cfb2deaa535496, LO 0x25da5615a2b2cf06
+dmultu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x3b5a6b9a, LO 0xe4cc78845b6bca75
+dmultu $v0, $v1 :: rs 0x743491a6828716c8, rt 0x84785280dd301d0d, HI 0x3c21b93176b238ea, LO 0x3fa9ce3cdbf0d028
+dmultu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x315d625, LO 0xff1213d8077a65ac
+dmultu $v0, $v1 :: rs 0x8cff404aede292f2, rt 0xeb9682c170312f1, HI 0x81c135989d26a7d, LO 0x869681b7577759d2
+dmultu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x7d4cb90, LO 0xfdbd9381971c26f5
+dmultu $v0, $v1 :: rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7, HI 0x98a289c83b10346e, LO 0x1e75f00db0d4e9a
+dmultu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xa97ed47, LO 0xfd290d37abe73ae0
+dmultu $v0, $v1 :: rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958, HI 0x296052b9bb29bd2a, LO 0x6c7faf8ec1e6eda0
+dmultu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xe56f0fe, LO 0xfc64fb5cca86eab5
+dmultu $v0, $v1 :: rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3, HI 0x323cc2c4f85aed97, LO 0x3d25bb3484ea56f1
+dmultu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1011a0f9, LO 0xfa17f32e2cd5cc2c
+dmultu $v0, $v1 :: rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e, HI 0x32422e84de11f665, LO 0x450b6e3d5302d38a
+dmultu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x14d0bd4c, LO 0xf89d0d2901d838e5
+dmultu $v0, $v1 :: rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96, HI 0x353187db1204b656, LO 0x73222402f4e8833c
+dmultu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x19939b93, LO 0xf73f56125e5b0e80
+dmultu $v0, $v1 :: rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b, HI 0x3b2f297c530a6a24, LO 0xba7361081889ce29
+dmultu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x1d528622, LO 0xf673e8ec17fb30a5
+dmultu $v0, $v1 :: rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25, HI 0x678140baa4cc417e, LO 0xe7ad46354e97c60f
+dmultu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0x40d816b9, LO 0xfc3f54236999ba2c
+dmultu $v0, $v1 :: rs 0x276af70a0e128561, rt 0x8b086ee07150c260, HI 0x1568608cb325a03e, LO 0x963937f8cf558660
+dmultu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0x44190b0c, LO 0xfd524ff3436bcb65
+dmultu $v0, $v1 :: rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6, HI 0x5e27ca00341af8, LO 0x563e1c7aa3044f14
+dmultu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0x495a2dd3, LO 0xfde6dfd93f987380
+dmultu $v0, $v1 :: rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2, HI 0x1b96cd49b54e2bf5, LO 0xb09cbd9df5e5e2ec
+dmultu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0x4d9b3062, LO 0xfeea72ebf044f325
+dmultu $v0, $v1 :: rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7, HI 0x3d77ac64912c4f31, LO 0x6ff90bfe3d773dc3
+dmultu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0x53dc6065, LO 0xf63a4d7893f5d3ac
+dmultu $v0, $v1 :: rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb, HI 0x20d15d9d7bc77c7, LO 0x1e5002942abcbdcf
+dmultu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0x571d7dd0, LO 0xf776b7122ca77075
+dmultu $v0, $v1 :: rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe, HI 0x5e4aeb4e46e73a4a, LO 0x8bb0e4aee5d2ea06
+dmultu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0x5a5e5b07, LO 0xf8d1f49cc12cb1e0
+dmultu $v0, $v1 :: rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b, HI 0x47ad22a90e009a72, LO 0xfef6ab79a09aaa46
+dmultu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0x5e9f46be, LO 0xf9dddf3ddb188435
+dmultu $v0, $v1 :: rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f, HI 0x27b15cb3ff9c506, LO 0x50a7861be718a325
+dmultu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0x66d0fb01, LO 0xef987d06ab3ae96c
+dmultu $v0, $v1 :: rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168, HI 0x5ca2cadb21082e80, LO 0x6ef1d9e4ded87d70
+dmultu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0x6211e6b4, LO 0xef1b361f734944b5
+dmultu $v0, $v1 :: rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0, HI 0x984f9f23d648880, LO 0xea251470af6755c0
+dmultu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x6f52c06b, LO 0xf17efacefba45b20
+dmultu $v0, $v1 :: rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a, HI 0x23cda33ac9381a27, LO 0x39dc1e173479b7e2
+dmultu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x6b93ddda, LO 0xf03254fc7bb880f5
+dmultu $v0, $v1 :: rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427, HI 0x53d78c98cf93bd8, LO 0x68e7fb682f646159
+dmultu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0x75d48ddd, LO 0xe472a95b5cf783ec
+dmultu $v0, $v1 :: rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933, HI 0x669140738f60636e, LO 0xa4c0254617622051
+dmultu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x126f646f34c31728, rt 0x93e2601c0f31d710, HI 0xaa643ee5069682a, LO 0xc905bc55eb4c0a80
+dmultu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x7c56b6af, LO 0xe78963a11997fac0
+dmultu $v0, $v1 :: rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7, HI 0xa0e989ee3366dff9, LO 0x9aa71e6b63a2881e
+dmultu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x7535cd338595d342, rt 0x7caf83d2880ff344, HI 0x39166b87275c77ea, LO 0x3b2ee7a32431c388
+dmultu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xcc9cdc9, LO 0xfcaa4f156a978b6c
+dmultu $v0, $v1 :: rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5, HI 0x13121d2056f49203, LO 0xdb40fcee19ebb11c
+dmultu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0x808d07c, LO 0xfdcd938045b50225
+dmultu $v0, $v1 :: rs 0xa86726c90081ab2a, rt 0x829464944018fd8f, HI 0x55e5ff7e4f694e73, LO 0x20072301fa871e76
+dmultu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0x54bf6a3, LO 0xfe715a54c6880240
+dmultu $v0, $v1 :: rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28, HI 0x7cd020622188adf5, LO 0xdbe8624ec49cf0c0
+dmultu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0x18aeb12, LO 0xff855867a4ec0a65
+dmultu $v0, $v1 :: rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0, HI 0xb1e6c50de28b1d89, LO 0x5edcd99f24f4ef00
+dmultu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0x1fcdbb15, LO 0xf5d76df22d9af5ec
+dmultu $v0, $v1 :: rs 0x3c07af97fba6704a, rt 0xf518381dce634413, HI 0x397908ed95c37a90, LO 0xf6d78f3adbcbfd7e
+dmultu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0x1b0ca6a0, LO 0xf7045dbcdf995135
+dmultu $v0, $v1 :: rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a, HI 0x2d4a82ee04a297f, LO 0x59ab90e40bbc4ec
+dmultu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0x164f8077, LO 0xf84e764805f45fa0
+dmultu $v0, $v1 :: rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f, HI 0x980805fff818cf25, LO 0x725733b09abaac4
+dmultu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0x128e9dce, LO 0xf94b06226c988575
+dmultu $v0, $v1 :: rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850, HI 0x5bd66cc177d126da, LO 0x2070b95708433010
+dmultu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0x2ac12071, LO 0xef2ae3195b95d82c
+dmultu $v0, $v1 :: rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f, HI 0x281c28d32fb4901f, LO 0x38e17cfdc8cd7732
+dmultu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0x2e003dc4, LO 0xeebe615e605774f5
+dmultu $v0, $v1 :: rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf, HI 0x48dd88880b79f744, LO 0x966f22c7e461bccc
+dmultu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0x23431b1b, LO 0xf0f20229065cbe60
+dmultu $v0, $v1 :: rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec, HI 0x5394486f6577efa0, LO 0x347b00414b81cc74
+dmultu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0x278206aa, LO 0xefb6427c94b890b5
+dmultu $v0, $v1 :: rs 0xa974eac43a489b55, rt 0x81daf8200468319b, HI 0x55f4dc1b416e7518, LO 0x264a46839e395177
+dmultu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x39c556ad, LO 0xe4f6cce63179c1ac
+dmultu $v0, $v1 :: rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde, HI 0x9f442863bc19c7ed, LO 0x61d6d8798351076
+dmultu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x3d044b18, LO 0xe493fbd45fdbd2e5
+dmultu $v0, $v1 :: rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef, HI 0x8729525bc90cf23e, LO 0x3afb8c91e2b237c7
+dmultu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x30476dbf, LO 0xe82dca3ba2a87b00
+dmultu $v0, $v1 :: rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260, HI 0x1de018fc423a3583, LO 0x5bbc1a31a51e6b80
+dmultu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x34867076, LO 0xe6daa14faf04faa5
+dmultu $v0, $v1 :: rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad, HI 0x6a7995da4384a2ce, LO 0x9a91008440b862c0
+dmultu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x5d8a9098, LO 0xf8df256dad8cbae5
+dmultu $v0, $v1 :: rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322, HI 0x52de7beb46dc1983, LO 0xb4ed4f5d114d877e
+dmultu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x594b8d2d, LO 0xf7e2c5f69548c3ac
+dmultu $v0, $v1 :: rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48, HI 0x29205bcff0bfa056, LO 0xc6f454f8281fd238
+dmultu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x5408abf6, LO 0xf77717ba3229bea5
+dmultu $v0, $v1 :: rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d, HI 0x47a5a31af9d16fb4, LO 0x5539e96135f1db1f
+dmultu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x50c9b63f, LO 0xf64b71b738e33500
+dmultu $v0, $v1 :: rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a, HI 0x112ea15e6e273dd4, LO 0xbe2f205dc00ee764
+dmultu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4e8ee644, LO 0xffd6c5df2f7484f5
+dmultu $v0, $v1 :: rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db, HI 0x9532a9016812625, LO 0xec2f2b3f2d10174f
+dmultu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x4a4ffbf1, LO 0xfec20fee1ad8aa2c
+dmultu $v0, $v1 :: rs 0x32fc12c81b7919f0, rt 0xd30169894df47405, HI 0x2a060b7bbd8d8d38, LO 0x97cef80551de41b0
+dmultu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x470cdd2a, LO 0xfd7f54b82fc9bcb5
+dmultu $v0, $v1 :: rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7, HI 0x17f5f378dd1a6417, LO 0x794a99094405185a
+dmultu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x43cdc09b, LO 0xfc5a3e0693cc1860
+dmultu $v0, $v1 :: rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f, HI 0x2f822f834198c051, LO 0xfd0922919bc88280
+dmultu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x7b827d20, LO 0xe62b09f434d8b135
+dmultu $v0, $v1 :: rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe, HI 0x6288c8d7c5fbd80, LO 0x207be7360211fb6e
+dmultu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x7f436095, LO 0xe77e627bf07d93ec
+dmultu $v0, $v1 :: rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907, HI 0x44a410aa1b15e7cd, LO 0x131cafa6fc7993c2
+dmultu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x7200464e, LO 0xe543f09ecb23c975
+dmultu $v0, $v1 :: rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e, HI 0x1277ae645452ab8c, LO 0x87146767393babb2
+dmultu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x76c15bf7, LO 0xe5a80bf8d46a75a0
+dmultu $v0, $v1 :: rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab, HI 0x1af3ce0b8e401f7, LO 0xc9aebcfb7035ba0
+dmultu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x68860bfc, LO 0xf041d614d3698a25
+dmultu $v0, $v1 :: rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4, HI 0x131a4b56d3f10267, LO 0xa4ecceeabd0baf2c
+dmultu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x6c471649, LO 0xf17cdd9e84e4f96c
+dmultu $v0, $v1 :: rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081, HI 0x110ec102eaf560f9, LO 0xbf0b6bae9ed980ac
+dmultu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x61043092, LO 0xee2b785f286cb665
+dmultu $v0, $v1 :: rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1, HI 0x29792985127c28b, LO 0x3a626d907de7de2c
+dmultu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x65c52d23, LO 0xee96284ed429b840
+dmultu $v0, $v1 :: rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8, HI 0x5d0d2657513d958e, LO 0xc184c2817fb87848
+dmultu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x119b4be8, LO 0xf96d31d4b7f996a5
+dmultu $v0, $v1 :: rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e, HI 0x24d49f8c63a2d63c, LO 0x550458cd8049ed66
+dmultu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x155a565d, LO 0xf861f8ebdd8505ec
+dmultu $v0, $v1 :: rs 0x152828591a652711, rt 0xd3adba260ff7d96b, HI 0x117e74c70790c609, LO 0xdb63f00676cbbd1b
+dmultu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x18197086, LO 0xf7e5c6f24eacbae5
+dmultu $v0, $v1 :: rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277, HI 0x8a4c6ca41144d4b6, LO 0x24416c37278369ad
+dmultu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x1cd86d2f, LO 0xf6ab25766699bcc0
+dmultu $v0, $v1 :: rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a, HI 0x6cd4f51a28ab5c52, LO 0xaad0b66319c39616
+dmultu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x29f3d34, LO 0xff372c90ffa8b8b5
+dmultu $v0, $v1 :: rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3, HI 0xb69905926cf67609, LO 0x57d146cbf06f1979
+dmultu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x65e2081, LO 0xfe335f4307dd9b6c
+dmultu $v0, $v1 :: rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67, HI 0x5151f126176f6b72, LO 0x8dd86e01f2515f66
+dmultu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xb1d065a, LO 0xfd003bdf3d03d0f5
+dmultu $v0, $v1 :: rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83, HI 0x1c1f0665e30cabd, LO 0x642dcb3c6ec68060
+dmultu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfdc1beb, LO 0xfbebf06e8a3a7d20
+dmultu $v0, $v1 :: rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040, HI 0x13094faa50bb913, LO 0xf3b69123e9df8bc0
+dmultu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x3793a650, LO 0xe5998a8abc248c75
+dmultu $v0, $v1 :: rs 0xa3d991b79941dedd, rt 0xa809521238895270, HI 0x6b8cbecdf63027a4, LO 0x426d71f4c2794ab0
+dmultu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x3352bbe5, LO 0xe6de8e3a75f8b1ac
+dmultu $v0, $v1 :: rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3, HI 0x5b017371cf2f1c06, LO 0xb05dba14f502698
+dmultu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x3e119d3e, LO 0xe4d233215fe9c435
+dmultu $v0, $v1 :: rs 0x949cad35625bb2d3, rt 0x314791895991136c, HI 0x1c9b8917bb94732c, LO 0x8c43d5d8f1781a04
+dmultu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x3ad08087, LO 0xe527d72f95fc1fe0
+dmultu $v0, $v1 :: rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214, HI 0x760ae1ae79e01f13, LO 0x848f5b94655e274
+dmultu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x2497d08c, LO 0xf0c25960d0fcbf65
+dmultu $v0, $v1 :: rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7, HI 0x13154ac7d82e5043, LO 0xc4be1bb82f19bca1
+dmultu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2056cd39, LO 0xf20ec57caaa8c82c
+dmultu $v0, $v1 :: rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f, HI 0x1502f0fb28879efb, LO 0xb6af89552912049f
+dmultu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x2d15ebe2, LO 0xee8b5b628969cb25
+dmultu $v0, $v1 :: rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54, HI 0x26b5e5bf6167d90, LO 0xc865945c5d63585c
+dmultu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x29d4f653, LO 0xef0751ed8ef34180
+dmultu $v0, $v1 :: rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7, HI 0x13a1e21ecb31a85a, LO 0x1c3e16e8b355ef0
+dmultu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x745e66cc, LO 0xe57b221da23604e5
+dmultu $v0, $v1 :: rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f, HI 0x1ecc779bfa1c7dd8, LO 0x24150b202586a731
+dmultu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x709f7b79, LO 0xe4769bb6855a7a2c
+dmultu $v0, $v1 :: rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce, HI 0x30a40a746854a916, LO 0x6dbbb698d4d4a8ee
+dmultu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0x7ddc5da2, LO 0xe6846f4be3c8e0a5
+dmultu $v0, $v1 :: rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604, HI 0x1f8584216a50bae2, LO 0xa9ed8fc0e6a8c96c
+dmultu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x791d4013, LO 0xe5f04f03e4900c80
+dmultu $v0, $v1 :: rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036, HI 0x9afb619950579fa0, LO 0x851fae20635d3b08
+dmultu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0x675a1010, LO 0xef5131c8d38eaaf5
+dmultu $v0, $v1 :: rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2, HI 0x5692a5d7cb1f044, LO 0xb33c753f59d90204
+dmultu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0x639b0da5, LO 0xee4446f29209e3ac
+dmultu $v0, $v1 :: rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad, HI 0x59e63b8e9a1762a, LO 0xc09f4eb104c60adb
+dmultu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x6ed82b7e, LO 0xf1caaac0dce992b5
+dmultu $v0, $v1 :: rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e, HI 0xe1d5a4391075725, LO 0x5eb5f14a58505162
+dmultu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0x6a1936c7, LO 0xf10d2fa10966b8e0
+dmultu $v0, $v1 :: rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766, HI 0x2a6215d971b00182, LO 0xc26981fb1dde94c8
+dmultu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0x52568b74, LO 0xf6e03c2a2769ea35
+dmultu $v0, $v1 :: rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a, HI 0xfb0b1402c10ed49a, LO 0xc5715d0cb0029d76
+dmultu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0x569796c1, LO 0xf7abf3aa38a5a96c
+dmultu $v0, $v1 :: rs 0x4ed6393df818af57, rt 0x25b50fec14682d97, HI 0xb9cb8a3aecc32ff, LO 0xf5851d17b4b9b751
+dmultu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0x5bd4b01a, LO 0xf8289d47ed2eb275
+dmultu $v0, $v1 :: rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb, HI 0xaa758e7d17aab35b, LO 0x79872214eb18f6ce
+dmultu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0x5f15adab, LO 0xf9a4c2fd35a88420
+dmultu $v0, $v1 :: rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5, HI 0x2b5b06c0b046fa3c, LO 0xaad228d8c0c86d91
+dmultu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0x4152fda8, LO 0xfc151ae499998125
+dmultu $v0, $v1 :: rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b, HI 0x7ce84f4d359e4e1e, LO 0xfe33c6249ca70919
+dmultu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0x4593e01d, LO 0xfcd86aecc3fd93ec
+dmultu $v0, $v1 :: rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1, HI 0x24dc8406d88066ff, LO 0x6ceb01050154e3fe
+dmultu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0x48d0c6c6, LO 0xfe0d889cd5267565
+dmultu $v0, $v1 :: rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea, HI 0xa213c15ee0d91a0, LO 0xb21152b961103a7c
+dmultu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0x4c11db6f, LO 0xff6050c1e428d1c0
+dmultu $v0, $v1 :: rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797, HI 0xd8d573bbd0fd2a4, LO 0x594c3fa27e8170e4
+dmultu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x384fbdbc, LO 0xe5fb9fc64e2974a5
+dmultu $v0, $v1 :: rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7, HI 0x2578425867cfd686, LO 0xb360cb922cac207f
+dmultu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x3c8ea009, LO 0xe4e8c2aee49d876c
+dmultu $v0, $v1 :: rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe, HI 0xa7fb29025c283b7d, LO 0x9cee3b264c29fd00
+dmultu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x31cd86d2, LO 0xe724abc00bc670e5
+dmultu $v0, $v1 :: rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f, HI 0x87fe139cb4638dcc, LO 0x17818f95c7979f73
+dmultu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x350c9b63, LO 0xe68215a4ce38cd40
+dmultu $v0, $v1 :: rs 0x65fd698fddef9839, rt 0x47f505569a08a180, HI 0x1caae5ed60cc00f1, LO 0xf01c93b7b24ff580
+dmultu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0x2b4bcb60, LO 0xeedfb046e2b9e2b5
+dmultu $v0, $v1 :: rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413, HI 0x2d46e8007524a637, LO 0x36ff9b9e6631eb16
+dmultu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0x2f8ad6d5, LO 0xede42c7a8785a1ec
+dmultu $v0, $v1 :: rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d, HI 0x2d44c0286a6465d, LO 0x2ed33613b77d4565
+dmultu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0x22c9f00e, LO 0xf13889b5ff2eaaf5
+dmultu $v0, $v1 :: rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d, HI 0x1037422ab88bb7a1, LO 0xf85eab9ff0aaa629
+dmultu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0x2608edb7, LO 0xf08c531a23587ca0
+dmultu $v0, $v1 :: rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0, HI 0x1e4ed401ca396cac, LO 0x9c189c216e03d8e0
+dmultu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0x1e475004, LO 0xf68042aed2bea375
+dmultu $v0, $v1 :: rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7, HI 0x4bb04883d10e108c, LO 0x15cd94f4e17063b4
+dmultu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0x1a864db1, LO 0xf73d1ed5a2a9dc2c
+dmultu $v0, $v1 :: rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d, HI 0x1905c83c9f25a7d2, LO 0x893e92ed20ba3c26
+dmultu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0x17c56b6a, LO 0xf7a940de3ae98b35
+dmultu $v0, $v1 :: rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad, HI 0x1d15392d6021fb73, LO 0x25d3435aecbbff82
+dmultu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0x130476db, LO 0xf9166da2b5b6b160
+dmultu $v0, $v1 :: rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502, HI 0x172a574aa8a55dea, LO 0x228b2726e77fa12e
+dmultu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xd4326d8, LO 0xfc83823413a60065
+dmultu $v0, $v1 :: rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb, HI 0x4a9079d1e2804943, LO 0x218872f754789402
+dmultu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0x9823b6d, LO 0xfd57bc67e4ba75ac
+dmultu $v0, $v1 :: rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3, HI 0x234b21d396c67a36, LO 0xe923a4d32330d60f
+dmultu $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0x614d9b445f12236b, rt 0x7e876382d2ab13, HI 0x3017a82b446008, LO 0xe93183d28fc719f1
+dmultu $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0x0, LO 0x0
+dmultu $v0, $v1 :: rs 0xa2a6ec661ba84121, rt 0x12bd6aa, HI 0xbe8159, LO 0xa7b8a47115b7d5ea
+dsub $t0, $t1, $t2 :: rd 0x4e08bf4c, rs 0x0, rt 0xffffffffb1f740b4
+dsub $t0, $t1, $t2 :: rd 0x4ac9a2fd, rs 0x0, rt 0xffffffffb5365d03
+dsub $t0, $t1, $t2 :: rd 0x510cbf94, rs 0x9823b6e, rt 0xffffffffb8757bda
+dsub $t0, $t1, $t2 :: rd 0x508ec06c, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dsub $t0, $t1, $t2 :: rd 0x70114074, rs 0x130476dc, rt 0xffffffffa2f33668
+dsub $t0, $t1, $t2 :: rd 0x71933f8c, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dsub $t0, $t1, $t2 :: rd 0x6f1540ac, rs 0x1a864db2, rt 0xffffffffab710d06
+dsub $t0, $t1, $t2 :: rd 0x6e973f54, rs 0x1e475005, rt 0xffffffffafb010b1
+dsub $t0, $t1, $t2 :: rd 0x8e0940ac, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dsub $t0, $t1, $t2 :: rd 0x8f8b3f54, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dsub $t0, $t1, $t2 :: rd 0x910d4074, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dsub $t0, $t1, $t2 :: rd 0x908f3f8c, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dsub $t0, $t1, $t2 :: rd 0xb010bf94, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dsub $t0, $t1, $t2 :: rd 0xb192c06c, rs 0x31cd86d3, rt 0xffffffff803ac667
+dsub $t0, $t1, $t2 :: rd 0xaf14bf4c, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dsub $t0, $t1, $t2 :: rd 0xae96c0b4, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dsub $t0, $t1, $t2 :: rd 0x4e2b3fac, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dsub $t0, $t1, $t2 :: rd 0x4fa94054, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dsub $t0, $t1, $t2 :: rd 0x512f3f74, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dsub $t0, $t1, $t2 :: rd 0x50ad408c, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dsub $t0, $t1, $t2 :: rd 0x7032c094, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dsub $t0, $t1, $t2 :: rd 0x71b0bf6c, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dsub $t0, $t1, $t2 :: rd 0x6f36c04c, rs 0x569796c2, rt 0xffffffffe760d676
+dsub $t0, $t1, $t2 :: rd 0x6eb4bfb4, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dsub $t0, $t1, $t2 :: rd 0x8e2ac04c, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dsub $t0, $t1, $t2 :: rd 0x8fa8bfb4, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dsub $t0, $t1, $t2 :: rd 0x912ec094, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dsub $t0, $t1, $t2 :: rd 0x90acbf6c, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dsub $t0, $t1, $t2 :: rd 0xb0333f74, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dsub $t0, $t1, $t2 :: rd 0xb1b1408c, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dsub $t0, $t1, $t2 :: rd 0xaf373fac, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dsub $t0, $t1, $t2 :: rd 0xaeb54054, rs 0x745e66cd, rt 0xffffffffc5a92679
+dsub $t0, $t1, $t2 :: rd 0xffffffff6e4ec08c, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dsub $t0, $t1, $t2 :: rd 0xffffffff6fccbf74, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dsub $t0, $t1, $t2 :: rd 0xffffffff714ac054, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dsub $t0, $t1, $t2 :: rd 0xffffffff70c8bfac, rs 0xffffffff95609039, rt 0x2497d08d
+dsub $t0, $t1, $t2 :: rd 0xffffffff50573fb4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dsub $t0, $t1, $t2 :: rd 0xffffffff51d5404c, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dsub $t0, $t1, $t2 :: rd 0xffffffff4f533f6c, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dsub $t0, $t1, $t2 :: rd 0xffffffff4ed14094, rs 0xffffffff8664e6e5, rt 0x3793a651
+dsub $t0, $t1, $t2 :: rd 0xffffffffae4f3f6c, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dsub $t0, $t1, $t2 :: rd 0xffffffffafcd4094, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dsub $t0, $t1, $t2 :: rd 0xffffffffb14b3fb4, rs 0xffffffffb7a96036, rt 0x65e2082
+dsub $t0, $t1, $t2 :: rd 0xffffffffb0c9404c, rs 0xffffffffb3687d81, rt 0x29f3d35
+dsub $t0, $t1, $t2 :: rd 0xffffffff9056c054, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dsub $t0, $t1, $t2 :: rd 0xffffffff91d4bfac, rs 0xffffffffa9ee3033, rt 0x18197087
+dsub $t0, $t1, $t2 :: rd 0xffffffff8f52c08c, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dsub $t0, $t1, $t2 :: rd 0xffffffff8ed0bf74, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dsub $t0, $t1, $t2 :: rd 0xffffffff6e6d406c, rs 0xffffffffd4326d90, rt 0x65c52d24
+dsub $t0, $t1, $t2 :: rd 0xffffffff6fef3f94, rs 0xffffffffd0f37027, rt 0x61043093
+dsub $t0, $t1, $t2 :: rd 0xffffffff716940b4, rs 0xffffffffddb056fe, rt 0x6c47164a
+dsub $t0, $t1, $t2 :: rd 0xffffffff70eb3f4c, rs 0xffffffffd9714b49, rt 0x68860bfd
+dsub $t0, $t1, $t2 :: rd 0xffffffff5074bf54, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dsub $t0, $t1, $t2 :: rd 0xffffffff51f6c0ac, rs 0xffffffffc3f706fb, rt 0x7200464f
+dsub $t0, $t1, $t2 :: rd 0xffffffff4f70bf8c, rs 0xffffffffceb42022, rt 0x7f436096
+dsub $t0, $t1, $t2 :: rd 0xffffffff4ef2c074, rs 0xffffffffca753d95, rt 0x7b827d21
+dsub $t0, $t1, $t2 :: rd 0xffffffffae6cbf8c, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dsub $t0, $t1, $t2 :: rd 0xffffffffafeec074, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dsub $t0, $t1, $t2 :: rd 0xffffffffb168bf54, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dsub $t0, $t1, $t2 :: rd 0xffffffffb0eac0ac, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dsub $t0, $t1, $t2 :: rd 0xffffffff907540b4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dsub $t0, $t1, $t2 :: rd 0xffffffff91f73f4c, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dsub $t0, $t1, $t2 :: rd 0xffffffff8f71406c, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dsub $t0, $t1, $t2 :: rd 0xffffffff8ef33f94, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dsub $t0, $t1, $t2 :: rd 0xaf153fb4, rs 0x34867077, rt 0xffffffff857130c3
+dsub $t0, $t1, $t2 :: rd 0xae97404c, rs 0x30476dc0, rt 0xffffffff81b02d74
+dsub $t0, $t1, $t2 :: rd 0xb0113f6c, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dsub $t0, $t1, $t2 :: rd 0xb1934094, rs 0x39c556ae, rt 0xffffffff8832161a
+dsub $t0, $t1, $t2 :: rd 0x910cc08c, rs 0x278206ab, rt 0xffffffff9675461f
+dsub $t0, $t1, $t2 :: rd 0x908ebf74, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dsub $t0, $t1, $t2 :: rd 0x8e08c054, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dsub $t0, $t1, $t2 :: rd 0x8f8abfac, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dsub $t0, $t1, $t2 :: rd 0x6f14c054, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dsub $t0, $t1, $t2 :: rd 0x6e96bfac, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dsub $t0, $t1, $t2 :: rd 0x7010c08c, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dsub $t0, $t1, $t2 :: rd 0x7192bf74, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dsub $t0, $t1, $t2 :: rd 0x510d3f6c, rs 0x18aeb13, rt 0xffffffffb07daba7
+dsub $t0, $t1, $t2 :: rd 0x508f4094, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dsub $t0, $t1, $t2 :: rd 0x4e093fb4, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dsub $t0, $t1, $t2 :: rd 0x4f8b404c, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dsub $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dsub $t0, $t1, $t2 :: rd 0xaeb4c0ac, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dsub $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dsub $t0, $t1, $t2 :: rd 0xb1b0c074, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dsub $t0, $t1, $t2 :: rd 0x912f406c, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dsub $t0, $t1, $t2 :: rd 0x90ad3f94, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dsub $t0, $t1, $t2 :: rd 0x8e2b40b4, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dsub $t0, $t1, $t2 :: rd 0x8fa93f4c, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dsub $t0, $t1, $t2 :: rd 0x6f3740b4, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dsub $t0, $t1, $t2 :: rd 0x6eb53f4c, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dsub $t0, $t1, $t2 :: rd 0x7033406c, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dsub $t0, $t1, $t2 :: rd 0x71b13f94, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dsub $t0, $t1, $t2 :: rd 0x512ebf8c, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dsub $t0, $t1, $t2 :: rd 0x50acc074, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dsub $t0, $t1, $t2 :: rd 0x4e2abf54, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dsub $t0, $t1, $t2 :: rd 0x4fa8c0ac, rs 0x40d816ba, rt 0xfffffffff12f560e
+dsub $t0, $t1, $t2 :: rd 0xffffffff8f534074, rs 0xffffffffaca5c697, rt 0x1d528623
+dsub $t0, $t1, $t2 :: rd 0xffffffff8ed13f8c, rs 0xffffffffa864db20, rt 0x19939b94
+dsub $t0, $t1, $t2 :: rd 0xffffffff905740ac, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dsub $t0, $t1, $t2 :: rd 0xffffffff91d53f54, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dsub $t0, $t1, $t2 :: rd 0xffffffffb14abf4c, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dsub $t0, $t1, $t2 :: rd 0xffffffffb0c8c0b4, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dsub $t0, $t1, $t2 :: rd 0xffffffffae4ebf94, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dsub $t0, $t1, $t2 :: rd 0xffffffffafccc06c, rs 0xffffffffb2e29692, rt 0x315d626
+dsub $t0, $t1, $t2 :: rd 0xffffffff4f52bf94, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dsub $t0, $t1, $t2 :: rd 0xffffffffc06489d4, rs 0x0, rt 0x3f9b762c
+dsub $t0, $t1, $t2 :: rd 0xffffffffcd27af0b, rs 0x0, rt 0x32d850f5
+dsub $t0, $t1, $t2 :: rd 0xffffffff51d4c0b4, rs 0xffffffff87ee0df6, rt 0x36194d42
+dsub $t0, $t1, $t2 :: rd 0xffffffff714b40ac, rs 0xffffffff99a95df3, rt 0x285e1d47
+dsub $t0, $t1, $t2 :: rd 0xffffffff70c93f54, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dsub $t0, $t1, $t2 :: rd 0xffffffff6e4f4074, rs 0xffffffff902b669d, rt 0x21dc2629
+dsub $t0, $t1, $t2 :: rd 0xffffffff6fcd3f8c, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dsub $t0, $t1, $t2 :: rd 0xffffffff8f70c094, rs 0xffffffffe0b41de7, rt 0x51435d53
+dsub $t0, $t1, $t2 :: rd 0xffffffff8ef2bf6c, rs 0xffffffffe4750050, rt 0x558240e4
+dsub $t0, $t1, $t2 :: rd 0xffffffff9074c04c, rs 0xffffffffe9362689, rt 0x58c1663d
+dsub $t0, $t1, $t2 :: rd 0xffffffff91f6bfb4, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dsub $t0, $t1, $t2 :: rd 0xffffffffb1693fac, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dsub $t0, $t1, $t2 :: rd 0xffffffffb0eb4054, rs 0xfffffffff771768c, rt 0x46863638
+dsub $t0, $t1, $t2 :: rd 0xffffffffae6d3f74, rs 0xfffffffffa325055, rt 0x4bc510e1
+dsub $t0, $t1, $t2 :: rd 0xffffffffafef408c, rs 0xfffffffffef34de2, rt 0x4f040d56
+dsub $t0, $t1, $t2 :: rd 0xffffffff4f713f74, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dsub $t0, $t1, $t2 :: rd 0xffffffff4ef3408c, rs 0xffffffffc27dede8, rt 0x738aad5c
+dsub $t0, $t1, $t2 :: rd 0xffffffff50753fac, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dsub $t0, $t1, $t2 :: rd 0xffffffff51f74054, rs 0xffffffffcbffd686, rt 0x7a089632
+dsub $t0, $t1, $t2 :: rd 0xffffffff7168c04c, rs 0xffffffffd5b88683, rt 0x644fc637
+dsub $t0, $t1, $t2 :: rd 0xffffffff70eabfb4, rs 0xffffffffd1799b34, rt 0x608edb80
+dsub $t0, $t1, $t2 :: rd 0xffffffff6e6cc094, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dsub $t0, $t1, $t2 :: rd 0xffffffff6feebf6c, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dsub $t0, $t1, $t2 :: rd 0x90114094, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dsub $t0, $t1, $t2 :: rd 0x91933f6c, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dsub $t0, $t1, $t2 :: rd 0x8f15404c, rs 0x608edb80, rt 0xffffffffd1799b34
+dsub $t0, $t1, $t2 :: rd 0x8e973fb4, rs 0x644fc637, rt 0xffffffffd5b88683
+dsub $t0, $t1, $t2 :: rd 0xae08bfac, rs 0x7a089632, rt 0xffffffffcbffd686
+dsub $t0, $t1, $t2 :: rd 0xaf8ac054, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dsub $t0, $t1, $t2 :: rd 0xb10cbf74, rs 0x738aad5c, rt 0xffffffffc27dede8
+dsub $t0, $t1, $t2 :: rd 0xb08ec08c, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dsub $t0, $t1, $t2 :: rd 0x5010bf74, rs 0x4f040d56, rt 0xfffffffffef34de2
+dsub $t0, $t1, $t2 :: rd 0x5192c08c, rs 0x4bc510e1, rt 0xfffffffffa325055
+dsub $t0, $t1, $t2 :: rd 0x4f14bfac, rs 0x46863638, rt 0xfffffffff771768c
+dsub $t0, $t1, $t2 :: rd 0x4e96c054, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dsub $t0, $t1, $t2 :: rd 0x6e09404c, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dsub $t0, $t1, $t2 :: rd 0x6f8b3fb4, rs 0x58c1663d, rt 0xffffffffe9362689
+dsub $t0, $t1, $t2 :: rd 0x710d4094, rs 0x558240e4, rt 0xffffffffe4750050
+dsub $t0, $t1, $t2 :: rd 0x708f3f6c, rs 0x51435d53, rt 0xffffffffe0b41de7
+dsub $t0, $t1, $t2 :: rd 0x9032c074, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dsub $t0, $t1, $t2 :: rd 0x91b0bf8c, rs 0x21dc2629, rt 0xffffffff902b669d
+dsub $t0, $t1, $t2 :: rd 0x8f36c0ac, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dsub $t0, $t1, $t2 :: rd 0x8eb4bf54, rs 0x285e1d47, rt 0xffffffff99a95df3
+dsub $t0, $t1, $t2 :: rd 0xae2b3f4c, rs 0x36194d42, rt 0xffffffff87ee0df6
+dsub $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dsub $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dsub $t0, $t1, $t2 :: rd 0xb0ad406c, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dsub $t0, $t1, $t2 :: rd 0x50333f94, rs 0x315d626, rt 0xffffffffb2e29692
+dsub $t0, $t1, $t2 :: rd 0x51b1406c, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dsub $t0, $t1, $t2 :: rd 0x4f373f4c, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dsub $t0, $t1, $t2 :: rd 0x4eb540b4, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dsub $t0, $t1, $t2 :: rd 0x6e2ac0ac, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dsub $t0, $t1, $t2 :: rd 0x6fa8bf54, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dsub $t0, $t1, $t2 :: rd 0x712ec074, rs 0x19939b94, rt 0xffffffffa864db20
+dsub $t0, $t1, $t2 :: rd 0x70acbf8c, rs 0x1d528623, rt 0xffffffffaca5c697
+dsub $t0, $t1, $t2 :: rd 0xffffffffb0573f54, rs 0xfffffffff12f560e, rt 0x40d816ba
+dsub $t0, $t1, $t2 :: rd 0xffffffffb1d540ac, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dsub $t0, $t1, $t2 :: rd 0xffffffffaf533f8c, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dsub $t0, $t1, $t2 :: rd 0xffffffffaed14074, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dsub $t0, $t1, $t2 :: rd 0xffffffff8e4ec06c, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dsub $t0, $t1, $t2 :: rd 0xffffffff8fccbf94, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dsub $t0, $t1, $t2 :: rd 0xffffffff914ac0b4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dsub $t0, $t1, $t2 :: rd 0xffffffff90c8bf4c, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dsub $t0, $t1, $t2 :: rd 0xffffffff7056c0b4, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dsub $t0, $t1, $t2 :: rd 0xffffffff71d4bf4c, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dsub $t0, $t1, $t2 :: rd 0xffffffff6f52c06c, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dsub $t0, $t1, $t2 :: rd 0xffffffff6ed0bf94, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dsub $t0, $t1, $t2 :: rd 0xffffffff4e4f3f8c, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dsub $t0, $t1, $t2 :: rd 0xffffffff8eea6f97, rs 0x0, rt 0x71159069
+dsub $t0, $t1, $t2 :: rd 0xffffffff514b3f54, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dsub $t0, $t1, $t2 :: rd 0xffffffff876854f9, rs 0x0, rt 0x7897ab07
+dsub $t0, $t1, $t2 :: rd 0xffffffffb074bfb4, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dsub $t0, $t1, $t2 :: rd 0xffffffffb1f6c04c, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dsub $t0, $t1, $t2 :: rd 0xffffffffaf70bf6c, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dsub $t0, $t1, $t2 :: rd 0xffffffffaef2c094, rs 0xffffffffb07daba7, rt 0x18aeb13
+dsub $t0, $t1, $t2 :: rd 0xffffffff8e6d408c, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dsub $t0, $t1, $t2 :: rd 0xffffffff8fef3f74, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dsub $t0, $t1, $t2 :: rd 0xffffffff91694054, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dsub $t0, $t1, $t2 :: rd 0xffffffff90eb3fac, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dsub $t0, $t1, $t2 :: rd 0xffffffff70754054, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dsub $t0, $t1, $t2 :: rd 0xffffffff71f73fac, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dsub $t0, $t1, $t2 :: rd 0xffffffff6f71408c, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dsub $t0, $t1, $t2 :: rd 0xffffffff6ef33f74, rs 0xffffffff9675461f, rt 0x278206ab
+dsub $t0, $t1, $t2 :: rd 0xffffffff4e6cbf6c, rs 0xffffffff8832161a, rt 0x39c556ae
+dsub $t0, $t1, $t2 :: rd 0xffffffff4feec094, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dsub $t0, $t1, $t2 :: rd 0xffffffff5168bfb4, rs 0xffffffff81b02d74, rt 0x30476dc0
+dsub $t0, $t1, $t2 :: rd 0xffffffff50eac04c, rs 0xffffffff857130c3, rt 0x34867077
+dsub $t0, $t1, $t2 :: rd 0x710cc06c, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dsub $t0, $t1, $t2 :: rd 0x708ebf94, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dsub $t0, $t1, $t2 :: rd 0x6e08c0b4, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dsub $t0, $t1, $t2 :: rd 0x6f8abf4c, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dsub $t0, $t1, $t2 :: rd 0x4f153f54, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dsub $t0, $t1, $t2 :: rd 0x4e9740ac, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dsub $t0, $t1, $t2 :: rd 0x50113f8c, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dsub $t0, $t1, $t2 :: rd 0x51934074, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dsub $t0, $t1, $t2 :: rd 0xb10d3f8c, rs 0x7b827d21, rt 0xffffffffca753d95
+dsub $t0, $t1, $t2 :: rd 0xb08f4074, rs 0x7f436096, rt 0xffffffffceb42022
+dsub $t0, $t1, $t2 :: rd 0xae093f54, rs 0x7200464f, rt 0xffffffffc3f706fb
+dsub $t0, $t1, $t2 :: rd 0xaf8b40ac, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dsub $t0, $t1, $t2 :: rd 0x8f14c0b4, rs 0x68860bfd, rt 0xffffffffd9714b49
+dsub $t0, $t1, $t2 :: rd 0x8e96bf4c, rs 0x6c47164a, rt 0xffffffffddb056fe
+dsub $t0, $t1, $t2 :: rd 0x9010c06c, rs 0x61043093, rt 0xffffffffd0f37027
+dsub $t0, $t1, $t2 :: rd 0x9192bf94, rs 0x65c52d24, rt 0xffffffffd4326d90
+dsub $t0, $t1, $t2 :: rd 0x712f408c, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dsub $t0, $t1, $t2 :: rd 0x70ad3f74, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dsub $t0, $t1, $t2 :: rd 0x6e2b4054, rs 0x18197087, rt 0xffffffffa9ee3033
+dsub $t0, $t1, $t2 :: rd 0x6fa93fac, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dsub $t0, $t1, $t2 :: rd 0x4f36bfb4, rs 0x29f3d35, rt 0xffffffffb3687d81
+dsub $t0, $t1, $t2 :: rd 0x4eb4c04c, rs 0x65e2082, rt 0xffffffffb7a96036
+dsub $t0, $t1, $t2 :: rd 0x5032bf6c, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dsub $t0, $t1, $t2 :: rd 0x51b0c094, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dsub $t0, $t1, $t2 :: rd 0xb12ebf6c, rs 0x3793a651, rt 0xffffffff8664e6e5
+dsub $t0, $t1, $t2 :: rd 0xb0acc094, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dsub $t0, $t1, $t2 :: rd 0xae2abfb4, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dsub $t0, $t1, $t2 :: rd 0xafa8c04c, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dsub $t0, $t1, $t2 :: rd 0x8f374054, rs 0x2497d08d, rt 0xffffffff95609039
+dsub $t0, $t1, $t2 :: rd 0x8eb53fac, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dsub $t0, $t1, $t2 :: rd 0x9033408c, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dsub $t0, $t1, $t2 :: rd 0x91b13f74, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dsub $t0, $t1, $t2 :: rd 0xffffffff514abfac, rs 0xffffffffc5a92679, rt 0x745e66cd
+dsub $t0, $t1, $t2 :: rd 0xffffffff50c8c054, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dsub $t0, $t1, $t2 :: rd 0xffffffff4e4ebf74, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dsub $t0, $t1, $t2 :: rd 0xffffffff4fccc08c, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dsub $t0, $t1, $t2 :: rd 0xffffffff6f534094, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dsub $t0, $t1, $t2 :: rd 0xffffffff6ed13f6c, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dsub $t0, $t1, $t2 :: rd 0xffffffff7057404c, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dsub $t0, $t1, $t2 :: rd 0xffffffff71d53fb4, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dsub $t0, $t1, $t2 :: rd 0xffffffff914b404c, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dsub $t0, $t1, $t2 :: rd 0xffffffff90c93fb4, rs 0xffffffffe760d676, rt 0x569796c2
+dsub $t0, $t1, $t2 :: rd 0xffffffff8e4f4094, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dsub $t0, $t1, $t2 :: rd 0xffffffff8fcd3f6c, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dsub $t0, $t1, $t2 :: rd 0xffffffffaf52bf74, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dsub $t0, $t1, $t2 :: rd 0xffffffffaed0c08c, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dsub $t0, $t1, $t2 :: rd 0xffffffffb056bfac, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dsub $t0, $t1, $t2 :: rd 0xffffffffb1d4c054, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dsub $t0, $t1, $t2 :: rd 0xffffffff51693f4c, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dsub $t0, $t1, $t2 :: rd 0xffffffff50eb40b4, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dsub $t0, $t1, $t2 :: rd 0xffffffff4e6d3f94, rs 0xffffffff803ac667, rt 0x31cd86d3
+dsub $t0, $t1, $t2 :: rd 0xffffffff4fef406c, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dsub $t0, $t1, $t2 :: rd 0xffffffff6f70c074, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dsub $t0, $t1, $t2 :: rd 0xffffffff6ef2bf8c, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dsub $t0, $t1, $t2 :: rd 0xffffffff7074c0ac, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dsub $t0, $t1, $t2 :: rd 0xffffffff71f6bf54, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dsub $t0, $t1, $t2 :: rd 0xffffffff9168c0ac, rs 0xffffffffafb010b1, rt 0x1e475005
+dsub $t0, $t1, $t2 :: rd 0xffffffff90eabf54, rs 0xffffffffab710d06, rt 0x1a864db2
+dsub $t0, $t1, $t2 :: rd 0xffffffff8e6cc074, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dsub $t0, $t1, $t2 :: rd 0xffffffff8feebf8c, rs 0xffffffffa2f33668, rt 0x130476dc
+dsub $t0, $t1, $t2 :: rd 0xffffffffaf713f94, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dsub $t0, $t1, $t2 :: rd 0xffffffffaef3406c, rs 0xffffffffb8757bda, rt 0x9823b6e
+dsub $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dsub $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+dsubu $t0, $t1, $t2 :: rd 0x4e08bf4c, rs 0x0, rt 0xffffffffb1f740b4
+dsubu $s0, $s1, $s2 :: rd 0x5d591399e5839589, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+dsubu $t0, $t1, $t2 :: rd 0x4ac9a2fd, rs 0x0, rt 0xffffffffb5365d03
+dsubu $s0, $s1, $s2 :: rd 0x9f30ec1f23c087a8, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+dsubu $t0, $t1, $t2 :: rd 0x510cbf94, rs 0x9823b6e, rt 0xffffffffb8757bda
+dsubu $s0, $s1, $s2 :: rd 0x5bc2d553a3a7c37e, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+dsubu $t0, $t1, $t2 :: rd 0x508ec06c, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dsubu $s0, $s1, $s2 :: rd 0x4f679f17a89fef95, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+dsubu $t0, $t1, $t2 :: rd 0x70114074, rs 0x130476dc, rt 0xffffffffa2f33668
+dsubu $s0, $s1, $s2 :: rd 0xe9c45c5521f605eb, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+dsubu $t0, $t1, $t2 :: rd 0x71933f8c, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dsubu $s0, $s1, $s2 :: rd 0x7c20e0a803c05ce3, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+dsubu $t0, $t1, $t2 :: rd 0x6f1540ac, rs 0x1a864db2, rt 0xffffffffab710d06
+dsubu $s0, $s1, $s2 :: rd 0x51cee65fdfd4de1f, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+dsubu $t0, $t1, $t2 :: rd 0x6e973f54, rs 0x1e475005, rt 0xffffffffafb010b1
+dsubu $s0, $s1, $s2 :: rd 0xdc9d63c85fd7b40b, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+dsubu $t0, $t1, $t2 :: rd 0x8e0940ac, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dsubu $s0, $s1, $s2 :: rd 0x6d77ec0d39b63465, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+dsubu $t0, $t1, $t2 :: rd 0x8f8b3f54, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dsubu $s0, $s1, $s2 :: rd 0x1411b9e85321f080, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+dsubu $t0, $t1, $t2 :: rd 0x910d4074, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dsubu $s0, $s1, $s2 :: rd 0x8b3e62f4a5a17034, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+dsubu $t0, $t1, $t2 :: rd 0x908f3f8c, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dsubu $s0, $s1, $s2 :: rd 0x765476f0425624c1, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+dsubu $t0, $t1, $t2 :: rd 0xb010bf94, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dsubu $s0, $s1, $s2 :: rd 0xe1f79bc6bc190947, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+dsubu $t0, $t1, $t2 :: rd 0xb192c06c, rs 0x31cd86d3, rt 0xffffffff803ac667
+dsubu $s0, $s1, $s2 :: rd 0xac5b72db14fe89b2, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+dsubu $t0, $t1, $t2 :: rd 0xaf14bf4c, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dsubu $s0, $s1, $s2 :: rd 0xfeba09b5eda59a3e, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+dsubu $t0, $t1, $t2 :: rd 0xae96c0b4, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dsubu $s0, $s1, $s2 :: rd 0x80054f948c16263e, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+dsubu $t0, $t1, $t2 :: rd 0x4e2b3fac, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dsubu $s0, $s1, $s2 :: rd 0x7db678d6366354db, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+dsubu $t0, $t1, $t2 :: rd 0x4fa94054, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dsubu $s0, $s1, $s2 :: rd 0xfdd2bfe282d72064, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+dsubu $t0, $t1, $t2 :: rd 0x512f3f74, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dsubu $s0, $s1, $s2 :: rd 0x88a4ac1cdf899853, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+dsubu $t0, $t1, $t2 :: rd 0x50ad408c, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dsubu $s0, $s1, $s2 :: rd 0x9707b2e01a60f440, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+dsubu $t0, $t1, $t2 :: rd 0x7032c094, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dsubu $s0, $s1, $s2 :: rd 0xd37b88031d20b668, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+dsubu $t0, $t1, $t2 :: rd 0x71b0bf6c, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dsubu $s0, $s1, $s2 :: rd 0xc200cfa57fb829f1, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+dsubu $t0, $t1, $t2 :: rd 0x6f36c04c, rs 0x569796c2, rt 0xffffffffe760d676
+dsubu $s0, $s1, $s2 :: rd 0xd6ded6ae1c4f7e40, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+dsubu $t0, $t1, $t2 :: rd 0x6eb4bfb4, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dsubu $s0, $s1, $s2 :: rd 0xfe21c872c0ec5223, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+dsubu $t0, $t1, $t2 :: rd 0x8e2ac04c, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dsubu $s0, $s1, $s2 :: rd 0x87ddef1607289d5a, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+dsubu $t0, $t1, $t2 :: rd 0x8fa8bfb4, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dsubu $s0, $s1, $s2 :: rd 0x7e40c8eefc53fa0f, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+dsubu $t0, $t1, $t2 :: rd 0x912ec094, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dsubu $s0, $s1, $s2 :: rd 0x5f03d8a4f1abce06, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+dsubu $t0, $t1, $t2 :: rd 0x90acbf6c, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dsubu $s0, $s1, $s2 :: rd 0xedac53261c814420, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+dsubu $t0, $t1, $t2 :: rd 0xb0333f74, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dsubu $s0, $s1, $s2 :: rd 0x12cf9bbcc547576a, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+dsubu $t0, $t1, $t2 :: rd 0xb1b1408c, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dsubu $s0, $s1, $s2 :: rd 0xae0bdb817467c829, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+dsubu $t0, $t1, $t2 :: rd 0xaf373fac, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dsubu $s0, $s1, $s2 :: rd 0x373f6eb2860b8bdd, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+dsubu $t0, $t1, $t2 :: rd 0xaeb54054, rs 0x745e66cd, rt 0xffffffffc5a92679
+dsubu $s0, $s1, $s2 :: rd 0x4f5c9ee13eb1fdd0, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6e4ec08c, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dsubu $s0, $s1, $s2 :: rd 0xc4cbee3b1e768d17, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6fccbf74, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dsubu $s0, $s1, $s2 :: rd 0x15bfed2db2a40cd9, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+dsubu $t0, $t1, $t2 :: rd 0xffffffff714ac054, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dsubu $s0, $s1, $s2 :: rd 0x6aa6b6089901099e, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+dsubu $t0, $t1, $t2 :: rd 0xffffffff70c8bfac, rs 0xffffffff95609039, rt 0x2497d08d
+dsubu $s0, $s1, $s2 :: rd 0xb0354d11176227d0, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+dsubu $t0, $t1, $t2 :: rd 0xffffffff50573fb4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dsubu $s0, $s1, $s2 :: rd 0x6df98696221e0adb, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+dsubu $t0, $t1, $t2 :: rd 0xffffffff51d5404c, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dsubu $s0, $s1, $s2 :: rd 0x9caae453f7356099, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4f533f6c, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dsubu $s0, $s1, $s2 :: rd 0x51d21b76402221eb, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4ed14094, rs 0xffffffff8664e6e5, rt 0x3793a651
+dsubu $s0, $s1, $s2 :: rd 0x42fc05a9f477393, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+dsubu $t0, $t1, $t2 :: rd 0xffffffffae4f3f6c, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dsubu $s0, $s1, $s2 :: rd 0x85356931059dc4d1, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+dsubu $t0, $t1, $t2 :: rd 0xffffffffafcd4094, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dsubu $s0, $s1, $s2 :: rd 0x221263b84faa4a63, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb14b3fb4, rs 0xffffffffb7a96036, rt 0x65e2082
+dsubu $s0, $s1, $s2 :: rd 0x370fb2c5bb90f8bd, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb0c9404c, rs 0xffffffffb3687d81, rt 0x29f3d35
+dsubu $s0, $s1, $s2 :: rd 0xcd896e4cc96d05f0, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+dsubu $t0, $t1, $t2 :: rd 0xffffffff9056c054, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dsubu $s0, $s1, $s2 :: rd 0x3731b0ad08b2c643, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+dsubu $t0, $t1, $t2 :: rd 0xffffffff91d4bfac, rs 0xffffffffa9ee3033, rt 0x18197087
+dsubu $s0, $s1, $s2 :: rd 0x41cff89fb1b7a87c, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8f52c08c, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dsubu $s0, $s1, $s2 :: rd 0xbe8591ccf592b25a, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8ed0bf74, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dsubu $s0, $s1, $s2 :: rd 0xcc7edc0c2d324f19, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6e6d406c, rs 0xffffffffd4326d90, rt 0x65c52d24
+dsubu $s0, $s1, $s2 :: rd 0x3c8857567b9a60d9, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6fef3f94, rs 0xffffffffd0f37027, rt 0x61043093
+dsubu $s0, $s1, $s2 :: rd 0x26d9f905a134ac05, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+dsubu $t0, $t1, $t2 :: rd 0xffffffff716940b4, rs 0xffffffffddb056fe, rt 0x6c47164a
+dsubu $s0, $s1, $s2 :: rd 0x52a5e99c96fa95d5, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+dsubu $t0, $t1, $t2 :: rd 0xffffffff70eb3f4c, rs 0xffffffffd9714b49, rt 0x68860bfd
+dsubu $s0, $s1, $s2 :: rd 0xd7e5e62faf25f781, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+dsubu $t0, $t1, $t2 :: rd 0xffffffff5074bf54, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dsubu $s0, $s1, $s2 :: rd 0x4427cbbccf0c72cb, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+dsubu $t0, $t1, $t2 :: rd 0xffffffff51f6c0ac, rs 0xffffffffc3f706fb, rt 0x7200464f
+dsubu $s0, $s1, $s2 :: rd 0x5db1d27f45e57c07, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4f70bf8c, rs 0xffffffffceb42022, rt 0x7f436096
+dsubu $s0, $s1, $s2 :: rd 0x5af3c01531a70159, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4ef2c074, rs 0xffffffffca753d95, rt 0x7b827d21
+dsubu $s0, $s1, $s2 :: rd 0x31fed7bb3a609b35, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+dsubu $t0, $t1, $t2 :: rd 0xffffffffae6cbf8c, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dsubu $s0, $s1, $s2 :: rd 0x9dd3c0930c2b56cf, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+dsubu $t0, $t1, $t2 :: rd 0xffffffffafeec074, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dsubu $s0, $s1, $s2 :: rd 0x227052a56d9298f1, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb168bf54, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dsubu $s0, $s1, $s2 :: rd 0xa00556c1327b5a15, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb0eac0ac, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dsubu $s0, $s1, $s2 :: rd 0xc941250aadae6d3e, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+dsubu $t0, $t1, $t2 :: rd 0xffffffff907540b4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dsubu $s0, $s1, $s2 :: rd 0x264f48529eebaa60, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+dsubu $t0, $t1, $t2 :: rd 0xffffffff91f73f4c, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dsubu $s0, $s1, $s2 :: rd 0x23f589cfa1181432, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8f71406c, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dsubu $s0, $s1, $s2 :: rd 0x3e9dbc212c17c919, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8ef33f94, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dsubu $s0, $s1, $s2 :: rd 0xc194d8ec7b7222d3, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+dsubu $t0, $t1, $t2 :: rd 0xaf153fb4, rs 0x34867077, rt 0xffffffff857130c3
+dsubu $s0, $s1, $s2 :: rd 0x636e39dec68af0ed, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+dsubu $t0, $t1, $t2 :: rd 0xae97404c, rs 0x30476dc0, rt 0xffffffff81b02d74
+dsubu $s0, $s1, $s2 :: rd 0x7e5fb27bf94e69ac, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+dsubu $t0, $t1, $t2 :: rd 0xb0113f6c, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dsubu $s0, $s1, $s2 :: rd 0xabe7e5fe3d51ba46, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+dsubu $t0, $t1, $t2 :: rd 0xb1934094, rs 0x39c556ae, rt 0xffffffff8832161a
+dsubu $s0, $s1, $s2 :: rd 0x55c8de52e86503e9, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+dsubu $t0, $t1, $t2 :: rd 0x910cc08c, rs 0x278206ab, rt 0xffffffff9675461f
+dsubu $s0, $s1, $s2 :: rd 0xd8660d5bca1f9646, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+dsubu $t0, $t1, $t2 :: rd 0x908ebf74, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dsubu $s0, $s1, $s2 :: rd 0xf3f79ef50cd774e5, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+dsubu $t0, $t1, $t2 :: rd 0x8e08c054, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dsubu $s0, $s1, $s2 :: rd 0x5f2d1de43fb3e8b, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+dsubu $t0, $t1, $t2 :: rd 0x8f8abfac, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dsubu $s0, $s1, $s2 :: rd 0x5a5ad5456b73d4c1, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+dsubu $t0, $t1, $t2 :: rd 0x6f14c054, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dsubu $s0, $s1, $s2 :: rd 0x844237e6db671303, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+dsubu $t0, $t1, $t2 :: rd 0x6e96bfac, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dsubu $s0, $s1, $s2 :: rd 0xcc08f69f3fc098e3, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+dsubu $t0, $t1, $t2 :: rd 0x7010c08c, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dsubu $s0, $s1, $s2 :: rd 0xb6c0dc8ca1f14d8c, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+dsubu $t0, $t1, $t2 :: rd 0x7192bf74, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dsubu $s0, $s1, $s2 :: rd 0xb9108885d2bcd3c9, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+dsubu $t0, $t1, $t2 :: rd 0x510d3f6c, rs 0x18aeb13, rt 0xffffffffb07daba7
+dsubu $s0, $s1, $s2 :: rd 0x1cf8e7192d467d7c, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+dsubu $t0, $t1, $t2 :: rd 0x508f4094, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dsubu $s0, $s1, $s2 :: rd 0x30d493400e94aaf0, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+dsubu $t0, $t1, $t2 :: rd 0x4e093fb4, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dsubu $s0, $s1, $s2 :: rd 0xda2d3dcb3f975265, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+dsubu $t0, $t1, $t2 :: rd 0x4f8b404c, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dsubu $s0, $s1, $s2 :: rd 0x3620cb6610c5a9f9, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+dsubu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0x779b69f027a2002, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+dsubu $t0, $t1, $t2 :: rd 0xaeb4c0ac, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dsubu $s0, $s1, $s2 :: rd 0x46a686eb1d81a2c5, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+dsubu $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0x8172fbacda6ebfe8, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+dsubu $t0, $t1, $t2 :: rd 0xb1b0c074, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dsubu $s0, $s1, $s2 :: rd 0x6da34febe34d90c8, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+dsubu $t0, $t1, $t2 :: rd 0x912f406c, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dsubu $s0, $s1, $s2 :: rd 0xff10beea98e3e5a8, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+dsubu $t0, $t1, $t2 :: rd 0x90ad3f94, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dsubu $s0, $s1, $s2 :: rd 0xa710cf2fb2cd479d, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+dsubu $t0, $t1, $t2 :: rd 0x8e2b40b4, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dsubu $s0, $s1, $s2 :: rd 0x3f956555eaf88a7f, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+dsubu $t0, $t1, $t2 :: rd 0x8fa93f4c, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dsubu $s0, $s1, $s2 :: rd 0xaf230299406e8442, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+dsubu $t0, $t1, $t2 :: rd 0x6f3740b4, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dsubu $s0, $s1, $s2 :: rd 0xad04cf99ef962584, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+dsubu $t0, $t1, $t2 :: rd 0x6eb53f4c, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dsubu $s0, $s1, $s2 :: rd 0x5d374f3a3d787ce9, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+dsubu $t0, $t1, $t2 :: rd 0x7033406c, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dsubu $s0, $s1, $s2 :: rd 0x94228ed7387b85e1, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+dsubu $t0, $t1, $t2 :: rd 0x71b13f94, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dsubu $s0, $s1, $s2 :: rd 0xf10806efc90d0abe, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+dsubu $t0, $t1, $t2 :: rd 0x512ebf8c, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dsubu $s0, $s1, $s2 :: rd 0x47278535765ae3e2, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+dsubu $t0, $t1, $t2 :: rd 0x50acc074, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dsubu $s0, $s1, $s2 :: rd 0xbba8f21b9b27b54c, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+dsubu $t0, $t1, $t2 :: rd 0x4e2abf54, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dsubu $s0, $s1, $s2 :: rd 0x1c30e3b424689958, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+dsubu $t0, $t1, $t2 :: rd 0x4fa8c0ac, rs 0x40d816ba, rt 0xfffffffff12f560e
+dsubu $s0, $s1, $s2 :: rd 0x639d77d6633e3cff, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8f534074, rs 0xffffffffaca5c697, rt 0x1d528623
+dsubu $s0, $s1, $s2 :: rd 0x71b5ec522ae6eb02, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8ed13f8c, rs 0xffffffffa864db20, rt 0x19939b94
+dsubu $s0, $s1, $s2 :: rd 0x46b268201c09b390, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+dsubu $t0, $t1, $t2 :: rd 0xffffffff905740ac, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dsubu $s0, $s1, $s2 :: rd 0xf7befb355674f27c, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+dsubu $t0, $t1, $t2 :: rd 0xffffffff91d53f54, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dsubu $s0, $s1, $s2 :: rd 0x7d5d96aede0c7bb3, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb14abf4c, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dsubu $s0, $s1, $s2 :: rd 0x69c0e617048405c8, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb0c8c0b4, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dsubu $s0, $s1, $s2 :: rd 0xb4519fe259ad123c, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+dsubu $t0, $t1, $t2 :: rd 0xffffffffae4ebf94, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dsubu $s0, $s1, $s2 :: rd 0x187cef825769af81, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+dsubu $t0, $t1, $t2 :: rd 0xffffffffafccc06c, rs 0xffffffffb2e29692, rt 0x315d626
+dsubu $s0, $s1, $s2 :: rd 0x81ba27e129207fff, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4f52bf94, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dsubu $s0, $s1, $s2 :: rd 0x1043c0da5aa90645, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+dsubu $t0, $t1, $t2 :: rd 0xffffffffc06489d4, rs 0x0, rt 0x3f9b762c
+dsubu $s0, $s1, $s2 :: rd 0x3f8e6c83db52595, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+dsubu $t0, $t1, $t2 :: rd 0xffffffffcd27af0b, rs 0x0, rt 0x32d850f5
+dsubu $s0, $s1, $s2 :: rd 0x48417bb9ac443bb4, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+dsubu $t0, $t1, $t2 :: rd 0xffffffff51d4c0b4, rs 0xffffffff87ee0df6, rt 0x36194d42
+dsubu $s0, $s1, $s2 :: rd 0x6de623ac688ebd77, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+dsubu $t0, $t1, $t2 :: rd 0xffffffff714b40ac, rs 0xffffffff99a95df3, rt 0x285e1d47
+dsubu $s0, $s1, $s2 :: rd 0xb01ca0060c1006f7, rs 0x663d061055833287, rt 0xb620660a49732b90
+dsubu $t0, $t1, $t2 :: rd 0xffffffff70c93f54, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dsubu $s0, $s1, $s2 :: rd 0xf77fe41f3a29596f, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6e4f4074, rs 0xffffffff902b669d, rt 0x21dc2629
+dsubu $s0, $s1, $s2 :: rd 0x316541d8f608c621, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6fcd3f8c, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dsubu $s0, $s1, $s2 :: rd 0xeb9cffb8f647887c, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8f70c094, rs 0xffffffffe0b41de7, rt 0x51435d53
+dsubu $s0, $s1, $s2 :: rd 0xd3cf79f3139951d, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8ef2bf6c, rs 0xffffffffe4750050, rt 0x558240e4
+dsubu $s0, $s1, $s2 :: rd 0x80ba5786147c4b08, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+dsubu $t0, $t1, $t2 :: rd 0xffffffff9074c04c, rs 0xffffffffe9362689, rt 0x58c1663d
+dsubu $s0, $s1, $s2 :: rd 0x4687d3dab53d2b1a, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+dsubu $t0, $t1, $t2 :: rd 0xffffffff91f6bfb4, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dsubu $s0, $s1, $s2 :: rd 0x48b11668806e521d, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb1693fac, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dsubu $s0, $s1, $s2 :: rd 0x3c5a556ee5380a28, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb0eb4054, rs 0xfffffffff771768c, rt 0x46863638
+dsubu $s0, $s1, $s2 :: rd 0x756b21212d636455, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+dsubu $t0, $t1, $t2 :: rd 0xffffffffae6d3f74, rs 0xfffffffffa325055, rt 0x4bc510e1
+dsubu $s0, $s1, $s2 :: rd 0x56a4215cdc3b13e1, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+dsubu $t0, $t1, $t2 :: rd 0xffffffffafef408c, rs 0xfffffffffef34de2, rt 0x4f040d56
+dsubu $s0, $s1, $s2 :: rd 0x99cc0e47cdd3af39, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4f713f74, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dsubu $s0, $s1, $s2 :: rd 0x28ba716d9defbc63, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4ef3408c, rs 0xffffffffc27dede8, rt 0x738aad5c
+dsubu $s0, $s1, $s2 :: rd 0x58ef1c2cb047779f, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+dsubu $t0, $t1, $t2 :: rd 0xffffffff50753fac, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dsubu $s0, $s1, $s2 :: rd 0x7a1666c427baef0e, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+dsubu $t0, $t1, $t2 :: rd 0xffffffff51f74054, rs 0xffffffffcbffd686, rt 0x7a089632
+dsubu $s0, $s1, $s2 :: rd 0xd4d447033aaa3405, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+dsubu $t0, $t1, $t2 :: rd 0xffffffff7168c04c, rs 0xffffffffd5b88683, rt 0x644fc637
+dsubu $s0, $s1, $s2 :: rd 0x6536c3aca789e8d9, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+dsubu $t0, $t1, $t2 :: rd 0xffffffff70eabfb4, rs 0xffffffffd1799b34, rt 0x608edb80
+dsubu $s0, $s1, $s2 :: rd 0x9ba2202ed416090b, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6e6cc094, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dsubu $s0, $s1, $s2 :: rd 0x6d36c6ef4db25c90, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6feebf6c, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dsubu $s0, $s1, $s2 :: rd 0xe0324808f822ce4c, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+dsubu $t0, $t1, $t2 :: rd 0x90114094, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dsubu $s0, $s1, $s2 :: rd 0x1fcdb7f707dd31b4, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+dsubu $t0, $t1, $t2 :: rd 0x91933f6c, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dsubu $s0, $s1, $s2 :: rd 0x92c93910b24da370, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+dsubu $t0, $t1, $t2 :: rd 0x8f15404c, rs 0x608edb80, rt 0xffffffffd1799b34
+dsubu $s0, $s1, $s2 :: rd 0x645ddfd12be9f6f5, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+dsubu $t0, $t1, $t2 :: rd 0x8e973fb4, rs 0x644fc637, rt 0xffffffffd5b88683
+dsubu $s0, $s1, $s2 :: rd 0x9ac93c5358761727, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+dsubu $t0, $t1, $t2 :: rd 0xae08bfac, rs 0x7a089632, rt 0xffffffffcbffd686
+dsubu $s0, $s1, $s2 :: rd 0x2b2bb8fcc555cbfb, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+dsubu $t0, $t1, $t2 :: rd 0xaf8ac054, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dsubu $s0, $s1, $s2 :: rd 0x85e9993bd84510f2, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+dsubu $t0, $t1, $t2 :: rd 0xb10cbf74, rs 0x738aad5c, rt 0xffffffffc27dede8
+dsubu $s0, $s1, $s2 :: rd 0xa710e3d34fb88861, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+dsubu $t0, $t1, $t2 :: rd 0xb08ec08c, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dsubu $s0, $s1, $s2 :: rd 0xd7458e926210439d, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+dsubu $t0, $t1, $t2 :: rd 0x5010bf74, rs 0x4f040d56, rt 0xfffffffffef34de2
+dsubu $s0, $s1, $s2 :: rd 0x6633f1b8322c50c7, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+dsubu $t0, $t1, $t2 :: rd 0x5192c08c, rs 0x4bc510e1, rt 0xfffffffffa325055
+dsubu $s0, $s1, $s2 :: rd 0xa95bdea323c4ec1f, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+dsubu $t0, $t1, $t2 :: rd 0x4f14bfac, rs 0x46863638, rt 0xfffffffff771768c
+dsubu $s0, $s1, $s2 :: rd 0x8a94deded29c9bab, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+dsubu $t0, $t1, $t2 :: rd 0x4e96c054, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dsubu $s0, $s1, $s2 :: rd 0xc3a5aa911ac7f5d8, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+dsubu $t0, $t1, $t2 :: rd 0x6e09404c, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dsubu $s0, $s1, $s2 :: rd 0xb74ee9977f91ade3, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+dsubu $t0, $t1, $t2 :: rd 0x6f8b3fb4, rs 0x58c1663d, rt 0xffffffffe9362689
+dsubu $s0, $s1, $s2 :: rd 0xb9782c254ac2d4e6, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+dsubu $t0, $t1, $t2 :: rd 0x710d4094, rs 0x558240e4, rt 0xffffffffe4750050
+dsubu $s0, $s1, $s2 :: rd 0x7f45a879eb83b4f8, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+dsubu $t0, $t1, $t2 :: rd 0x708f3f6c, rs 0x51435d53, rt 0xffffffffe0b41de7
+dsubu $s0, $s1, $s2 :: rd 0xf2c30860cec66ae3, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+dsubu $t0, $t1, $t2 :: rd 0x9032c074, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dsubu $s0, $s1, $s2 :: rd 0x1463004709b87784, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+dsubu $t0, $t1, $t2 :: rd 0x91b0bf8c, rs 0x21dc2629, rt 0xffffffff902b669d
+dsubu $s0, $s1, $s2 :: rd 0xce9abe2709f739df, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+dsubu $t0, $t1, $t2 :: rd 0x8f36c0ac, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dsubu $s0, $s1, $s2 :: rd 0x8801be0c5d6a691, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+dsubu $t0, $t1, $t2 :: rd 0x8eb4bf54, rs 0x285e1d47, rt 0xffffffff99a95df3
+dsubu $s0, $s1, $s2 :: rd 0x4fe35ff9f3eff909, rs 0xb620660a49732b90, rt 0x663d061055833287
+dsubu $t0, $t1, $t2 :: rd 0xae2b3f4c, rs 0x36194d42, rt 0xffffffff87ee0df6
+dsubu $s0, $s1, $s2 :: rd 0x9219dc5397714289, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+dsubu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0xb7be844653bbc44c, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+dsubu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0xfc071937c24ada6b, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+dsubu $t0, $t1, $t2 :: rd 0xb0ad406c, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dsubu $s0, $s1, $s2 :: rd 0xefbc3f25a556f9bb, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+dsubu $t0, $t1, $t2 :: rd 0x50333f94, rs 0x315d626, rt 0xffffffffb2e29692
+dsubu $s0, $s1, $s2 :: rd 0x7e45d81ed6df8001, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+dsubu $t0, $t1, $t2 :: rd 0x51b1406c, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dsubu $s0, $s1, $s2 :: rd 0xe783107da896507f, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+dsubu $t0, $t1, $t2 :: rd 0x4f373f4c, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dsubu $s0, $s1, $s2 :: rd 0x4bae601da652edc4, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+dsubu $t0, $t1, $t2 :: rd 0x4eb540b4, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dsubu $s0, $s1, $s2 :: rd 0x963f19e8fb7bfa38, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+dsubu $t0, $t1, $t2 :: rd 0x6e2ac0ac, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dsubu $s0, $s1, $s2 :: rd 0x82a2695121f3844d, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+dsubu $t0, $t1, $t2 :: rd 0x6fa8bf54, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dsubu $s0, $s1, $s2 :: rd 0x84104caa98b0d84, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+dsubu $t0, $t1, $t2 :: rd 0x712ec074, rs 0x19939b94, rt 0xffffffffa864db20
+dsubu $s0, $s1, $s2 :: rd 0xb94d97dfe3f64c70, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+dsubu $t0, $t1, $t2 :: rd 0x70acbf8c, rs 0x1d528623, rt 0xffffffffaca5c697
+dsubu $s0, $s1, $s2 :: rd 0x8e4a13add51914fe, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb0573f54, rs 0xfffffffff12f560e, rt 0x40d816ba
+dsubu $s0, $s1, $s2 :: rd 0x9c6288299cc1c301, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb1d540ac, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dsubu $s0, $s1, $s2 :: rd 0xe3cf1c4bdb9766a8, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaf533f8c, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dsubu $s0, $s1, $s2 :: rd 0x44570de464d84ab4, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaed14074, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dsubu $s0, $s1, $s2 :: rd 0xb8d87aca89a51c1e, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8e4ec06c, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dsubu $s0, $s1, $s2 :: rd 0xef7f91036f2f542, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8fccbf94, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dsubu $s0, $s1, $s2 :: rd 0x6bdd7128c7847a1f, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+dsubu $t0, $t1, $t2 :: rd 0xffffffff914ac0b4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dsubu $s0, $s1, $s2 :: rd 0xa2c8b0c5c2878317, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+dsubu $t0, $t1, $t2 :: rd 0xffffffff90c8bf4c, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dsubu $s0, $s1, $s2 :: rd 0x52fb30661069da7c, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff7056c0b4, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dsubu $s0, $s1, $s2 :: rd 0x50dcfd66bf917bbe, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+dsubu $t0, $t1, $t2 :: rd 0xffffffff71d4bf4c, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dsubu $s0, $s1, $s2 :: rd 0xc06a9aaa15077581, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6f52c06c, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dsubu $s0, $s1, $s2 :: rd 0x58ef30d04d32b863, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6ed0bf94, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dsubu $s0, $s1, $s2 :: rd 0xef4115671c1a58, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4e4f3f8c, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dsubu $s0, $s1, $s2 :: rd 0x925cb0141cb26f38, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8eea6f97, rs 0x0, rt 0x71159069
+dsubu $s0, $s1, $s2 :: rd 0x7e8d045325914018, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+dsubu $t0, $t1, $t2 :: rd 0xffffffff514b3f54, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dsubu $s0, $s1, $s2 :: rd 0xb9597914e27e5d3b, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+dsubu $t0, $t1, $t2 :: rd 0xffffffff876854f9, rs 0x0, rt 0x7897ab07
+dsubu $s0, $s1, $s2 :: rd 0xf8864960fd85dffe, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb074bfb4, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dsubu $s0, $s1, $s2 :: rd 0xc9df3499ef3a5607, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb1f6c04c, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dsubu $s0, $s1, $s2 :: rd 0x25d2c234c068ad9b, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaf70bf6c, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dsubu $s0, $s1, $s2 :: rd 0xcf2b6cbff16b5510, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaef2c094, rs 0xffffffffb07daba7, rt 0x18aeb13
+dsubu $s0, $s1, $s2 :: rd 0xe30718e6d2b98284, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8e6d408c, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dsubu $s0, $s1, $s2 :: rd 0x46ef777a2d432c37, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8fef3f74, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dsubu $s0, $s1, $s2 :: rd 0x493f23735e0eb274, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+dsubu $t0, $t1, $t2 :: rd 0xffffffff91694054, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dsubu $s0, $s1, $s2 :: rd 0x33f70960c03f671d, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff90eb3fac, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dsubu $s0, $s1, $s2 :: rd 0x7bbdc8192498ecfd, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+dsubu $t0, $t1, $t2 :: rd 0xffffffff70754054, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dsubu $s0, $s1, $s2 :: rd 0xa5a52aba948c2b3f, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff71f73fac, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dsubu $s0, $s1, $s2 :: rd 0xfa0d2e21bc04c175, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6f71408c, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dsubu $s0, $s1, $s2 :: rd 0xc08610af3288b1b, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6ef33f74, rs 0xffffffff9675461f, rt 0x278206ab
+dsubu $s0, $s1, $s2 :: rd 0x2799f2a435e069ba, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4e6cbf6c, rs 0xffffffff8832161a, rt 0x39c556ae
+dsubu $s0, $s1, $s2 :: rd 0xaa3721ad179afc17, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4feec094, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dsubu $s0, $s1, $s2 :: rd 0x54181a01c2ae45ba, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+dsubu $t0, $t1, $t2 :: rd 0xffffffff5168bfb4, rs 0xffffffff81b02d74, rt 0x30476dc0
+dsubu $s0, $s1, $s2 :: rd 0x81a04d8406b19654, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+dsubu $t0, $t1, $t2 :: rd 0xffffffff50eac04c, rs 0xffffffff857130c3, rt 0x34867077
+dsubu $s0, $s1, $s2 :: rd 0x9c91c62139750f13, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+dsubu $t0, $t1, $t2 :: rd 0x710cc06c, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dsubu $s0, $s1, $s2 :: rd 0x3e6b2713848ddd2d, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+dsubu $t0, $t1, $t2 :: rd 0x708ebf94, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dsubu $s0, $s1, $s2 :: rd 0xc16243ded3e836e7, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+dsubu $t0, $t1, $t2 :: rd 0x6e08c0b4, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dsubu $s0, $s1, $s2 :: rd 0xdc0a76305ee7ebce, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+dsubu $t0, $t1, $t2 :: rd 0x6f8abf4c, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dsubu $s0, $s1, $s2 :: rd 0xd9b0b7ad611455a0, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+dsubu $t0, $t1, $t2 :: rd 0x4f153f54, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dsubu $s0, $s1, $s2 :: rd 0x36bedaf5525192c2, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+dsubu $t0, $t1, $t2 :: rd 0x4e9740ac, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dsubu $s0, $s1, $s2 :: rd 0x5ffaa93ecd84a5eb, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+dsubu $t0, $t1, $t2 :: rd 0x50113f8c, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dsubu $s0, $s1, $s2 :: rd 0xdd8fad5a926d670f, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+dsubu $t0, $t1, $t2 :: rd 0x51934074, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dsubu $s0, $s1, $s2 :: rd 0x622c3f6cf3d4a931, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+dsubu $t0, $t1, $t2 :: rd 0xb10d3f8c, rs 0x7b827d21, rt 0xffffffffca753d95
+dsubu $s0, $s1, $s2 :: rd 0xce012844c59f64cb, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+dsubu $t0, $t1, $t2 :: rd 0xb08f4074, rs 0x7f436096, rt 0xffffffffceb42022
+dsubu $s0, $s1, $s2 :: rd 0xa50c3feace58fea7, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+dsubu $t0, $t1, $t2 :: rd 0xae093f54, rs 0x7200464f, rt 0xffffffffc3f706fb
+dsubu $s0, $s1, $s2 :: rd 0xa24e2d80ba1a83f9, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+dsubu $t0, $t1, $t2 :: rd 0xaf8b40ac, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dsubu $s0, $s1, $s2 :: rd 0xbbd8344330f38d35, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+dsubu $t0, $t1, $t2 :: rd 0x8f14c0b4, rs 0x68860bfd, rt 0xffffffffd9714b49
+dsubu $s0, $s1, $s2 :: rd 0x281a19d050da087f, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+dsubu $t0, $t1, $t2 :: rd 0x8e96bf4c, rs 0x6c47164a, rt 0xffffffffddb056fe
+dsubu $s0, $s1, $s2 :: rd 0xad5a166369056a2b, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+dsubu $t0, $t1, $t2 :: rd 0x9010c06c, rs 0x61043093, rt 0xffffffffd0f37027
+dsubu $s0, $s1, $s2 :: rd 0xd92606fa5ecb53fb, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+dsubu $t0, $t1, $t2 :: rd 0x9192bf94, rs 0x65c52d24, rt 0xffffffffd4326d90
+dsubu $s0, $s1, $s2 :: rd 0xc377a8a984659f27, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+dsubu $t0, $t1, $t2 :: rd 0x712f408c, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dsubu $s0, $s1, $s2 :: rd 0x338123f3d2cdb0e7, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+dsubu $t0, $t1, $t2 :: rd 0x70ad3f74, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dsubu $s0, $s1, $s2 :: rd 0x417a6e330a6d4da6, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+dsubu $t0, $t1, $t2 :: rd 0x6e2b4054, rs 0x18197087, rt 0xffffffffa9ee3033
+dsubu $s0, $s1, $s2 :: rd 0xbe3007604e485784, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+dsubu $t0, $t1, $t2 :: rd 0x6fa93fac, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dsubu $s0, $s1, $s2 :: rd 0xc8ce4f52f74d39bd, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+dsubu $t0, $t1, $t2 :: rd 0x4f36bfb4, rs 0x29f3d35, rt 0xffffffffb3687d81
+dsubu $s0, $s1, $s2 :: rd 0x327691b33692fa10, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+dsubu $t0, $t1, $t2 :: rd 0x4eb4c04c, rs 0x65e2082, rt 0xffffffffb7a96036
+dsubu $s0, $s1, $s2 :: rd 0xc8f04d3a446f0743, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+dsubu $t0, $t1, $t2 :: rd 0x5032bf6c, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dsubu $s0, $s1, $s2 :: rd 0xdded9c47b055b59d, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+dsubu $t0, $t1, $t2 :: rd 0x51b0c094, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dsubu $s0, $s1, $s2 :: rd 0x7aca96cefa623b2f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+dsubu $t0, $t1, $t2 :: rd 0xb12ebf6c, rs 0x3793a651, rt 0xffffffff8664e6e5
+dsubu $s0, $s1, $s2 :: rd 0xfbd03fa560b88c6d, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+dsubu $t0, $t1, $t2 :: rd 0xb0acc094, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dsubu $s0, $s1, $s2 :: rd 0xae2de489bfddde15, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+dsubu $t0, $t1, $t2 :: rd 0xae2abfb4, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dsubu $s0, $s1, $s2 :: rd 0x63551bac08ca9f67, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+dsubu $t0, $t1, $t2 :: rd 0xafa8c04c, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dsubu $s0, $s1, $s2 :: rd 0x92067969dde1f525, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+dsubu $t0, $t1, $t2 :: rd 0x8f374054, rs 0x2497d08d, rt 0xffffffff95609039
+dsubu $s0, $s1, $s2 :: rd 0x4fcab2eee89dd830, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+dsubu $t0, $t1, $t2 :: rd 0x8eb53fac, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dsubu $s0, $s1, $s2 :: rd 0x955949f766fef662, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+dsubu $t0, $t1, $t2 :: rd 0x9033408c, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dsubu $s0, $s1, $s2 :: rd 0xea4012d24d5bf327, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+dsubu $t0, $t1, $t2 :: rd 0x91b13f74, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dsubu $s0, $s1, $s2 :: rd 0x3b3411c4e18972e9, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+dsubu $t0, $t1, $t2 :: rd 0xffffffff514abfac, rs 0xffffffffc5a92679, rt 0x745e66cd
+dsubu $s0, $s1, $s2 :: rd 0xb0a3611ec14e0230, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff50c8c054, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dsubu $s0, $s1, $s2 :: rd 0xc8c0914d79f47423, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4e4ebf74, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dsubu $s0, $s1, $s2 :: rd 0x51f4247e8b9837d7, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4fccc08c, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dsubu $s0, $s1, $s2 :: rd 0xed3064433ab8a896, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6f534094, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dsubu $s0, $s1, $s2 :: rd 0x1253acd9e37ebbe0, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6ed13f6c, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dsubu $s0, $s1, $s2 :: rd 0xa0fc275b0e5431fa, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+dsubu $t0, $t1, $t2 :: rd 0xffffffff7057404c, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dsubu $s0, $s1, $s2 :: rd 0x81bf371103ac05f1, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+dsubu $t0, $t1, $t2 :: rd 0xffffffff71d53fb4, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dsubu $s0, $s1, $s2 :: rd 0x782210e9f8d762a6, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+dsubu $t0, $t1, $t2 :: rd 0xffffffff914b404c, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dsubu $s0, $s1, $s2 :: rd 0x1de378d3f13addd, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+dsubu $t0, $t1, $t2 :: rd 0xffffffff90c93fb4, rs 0xffffffffe760d676, rt 0x569796c2
+dsubu $s0, $s1, $s2 :: rd 0x29212951e3b081c0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8e4f4094, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dsubu $s0, $s1, $s2 :: rd 0x3dff305a8047d60f, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8fcd3f6c, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dsubu $s0, $s1, $s2 :: rd 0x2c8477fce2df4998, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaf52bf74, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dsubu $s0, $s1, $s2 :: rd 0x68f84d1fe59f0bc0, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaed0c08c, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dsubu $s0, $s1, $s2 :: rd 0x775b53e3207667ad, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb056bfac, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dsubu $s0, $s1, $s2 :: rd 0x22d401d7d28df9c, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb1d4c054, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dsubu $s0, $s1, $s2 :: rd 0x82498729c99cab25, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+dsubu $t0, $t1, $t2 :: rd 0xffffffff51693f4c, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dsubu $s0, $s1, $s2 :: rd 0x7ffab06b73e9d9c2, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+dsubu $t0, $t1, $t2 :: rd 0xffffffff50eb40b4, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dsubu $s0, $s1, $s2 :: rd 0x145f64a125a65c2, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4e6d3f94, rs 0xffffffff803ac667, rt 0x31cd86d3
+dsubu $s0, $s1, $s2 :: rd 0x53a48d24eb01764e, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+dsubu $t0, $t1, $t2 :: rd 0xffffffff4fef406c, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dsubu $s0, $s1, $s2 :: rd 0x1e08643943e6f6b9, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6f70c074, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dsubu $s0, $s1, $s2 :: rd 0x89ab890fbda9db3f, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+dsubu $t0, $t1, $t2 :: rd 0xffffffff6ef2bf8c, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dsubu $s0, $s1, $s2 :: rd 0x74c19d0b5a5e8fcc, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+dsubu $t0, $t1, $t2 :: rd 0xffffffff7074c0ac, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dsubu $s0, $s1, $s2 :: rd 0xebee4617acde0f80, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+dsubu $t0, $t1, $t2 :: rd 0xffffffff71f6bf54, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dsubu $s0, $s1, $s2 :: rd 0x928813f2c649cb9b, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+dsubu $t0, $t1, $t2 :: rd 0xffffffff9168c0ac, rs 0xffffffffafb010b1, rt 0x1e475005
+dsubu $s0, $s1, $s2 :: rd 0x23629c37a0284bf5, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+dsubu $t0, $t1, $t2 :: rd 0xffffffff90eabf54, rs 0xffffffffab710d06, rt 0x1a864db2
+dsubu $s0, $s1, $s2 :: rd 0xae3119a0202b21e1, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8e6cc074, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dsubu $s0, $s1, $s2 :: rd 0x83df1f57fc3fa31d, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+dsubu $t0, $t1, $t2 :: rd 0xffffffff8feebf8c, rs 0xffffffffa2f33668, rt 0x130476dc
+dsubu $s0, $s1, $s2 :: rd 0x163ba3aade09fa15, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaf713f94, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dsubu $s0, $s1, $s2 :: rd 0xb09860e85760106b, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+dsubu $t0, $t1, $t2 :: rd 0xffffffffaef3406c, rs 0xffffffffb8757bda, rt 0x9823b6e
+dsubu $s0, $s1, $s2 :: rd 0xa43d2aac5c583c82, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0x60cf13e0dc3f7858, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+dsubu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+dsubu $s0, $s1, $s2 :: rd 0xa2a6ec661a7c6a77, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+madd $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0xffffffffb1f740b4
+madd $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0xffffffffb5365d03
+madd $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x6d9f7d6, LO 0xffffffff9d2ff186
+madd $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0x9c6a90d, LO 0xffffffffd05a66d2
+madd $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0xc1ae47f, LO 0x58a9e7c8
+madd $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0xf6eac49, LO 0xffffffffe11bb714
+madd $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x11c36c88, LO 0x4e1ae932
+madd $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x14c792b4, LO 0xffffffff826eb426
+madd $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x169540d2, LO 0xffffffffbb5829ac
+madd $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x140279c5, LO 0xffffffff926d5bb0
+madd $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x1d6f0351, LO 0x2603384e
+madd $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x1a2b7ba8, LO 0x7d766e8a
+madd $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x1b8eb109, LO 0x5334a910
+madd $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x18f23293, LO 0xffffffff8c01374c
+madd $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x217762b9, LO 0x7217682a
+madd $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x1e4b5d83, LO 0xffffffffd7e271ae
+madd $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4b722c32, LO 0xffffffffe20f6d84
+madd $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x46de4f64, LO 0xffffffffce4dfbd8
+madd $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x426c4b0b, LO 0xffffffffb8623496
+madd $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x3d68188e, LO 0xffffffff8a3f3e42
+madd $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x58ba70aa, LO 0x248b7138
+madd $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x53fd4d63, LO 0xffffffffd752a324
+madd $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x4e438a6d, LO 0x20067fe2
+madd $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x4936c7a0, LO 0xb0bb5f6
+madd $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x5b266669, LO 0xffffffffe5552f5c
+madd $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x60a2d640, LO 0xffffffffbc18fe80
+madd $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x51df5499, LO 0x647630be
+madd $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x56ab41da, LO 0xffffffffaa3bfb9a
+madd $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x5f0d8f18, LO 0xffffffffad7a0d20
+madd $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x6460ccef, LO 0xffffffffaff3fdbc
+madd $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x55161731, LO 0x46c2b5fa
+madd $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x59d988eb, LO 0x67df2b5e
+madd $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffff872b08cd, LO 0xffffffffb8c837d4
+madd $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffff8b6e06b9, LO 0xffffffffb67fb708
+madd $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xffffffff83b0530a, LO 0xffffffffcaff9566
+madd $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffff8622e999, LO 0xfffffffff5948ff2
+madd $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0x704f976b, LO 0xffffffffd0cca068
+madd $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x74b910ac, LO 0xffffffff9dfb6174
+madd $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0x6984898c, LO 0xffffffffa94b6d92
+madd $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x6bfe716f, LO 0xfffffffff3b832c6
+madd $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xffffffffba174bc6, LO 0xffffffff9a16990c
+madd $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xffffffffb7ea82ce, LO 0x4820d750
+madd $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xffffffffb5dcbf79, LO 0xe3bbbee
+madd $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffb29faa12, LO 0x247f5ea
+madd $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffa3da52fa, LO 0xffffffff837229f0
+madd $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xffffffffa1d3f725, LO 0x66c62b6c
+madd $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xffffffff9d0f0fd5, LO 0xfffffffff2df5c4a
+madd $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xffffffff99d93d31, LO 0xffffffffc994e28e
+madd $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffc2c895df, LO 0x39eee564
+madd $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffbf1ee886, LO 0xffffffff8970e6f8
+madd $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xffffffffcf2d349c, LO 0xfffffffff12c0fb6
+madd $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffffc9b3215e, LO 0x3bef9622
+madd $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffacde2745, LO 0x4b2bd198
+madd $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffa93af79a, LO 0x3d240fc4
+madd $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffb632829e, LO 0x6fc0f482
+madd $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffb0a04789, LO 0xffffffffb05b2e56
+madd $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xffffffffee94be2e, LO 0xffffffffd799d8fc
+madd $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xfffffffff47af257, LO 0x76d699e0
+madd $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xfffffffffa7acb34, LO 0x6528a61e
+madd $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffff506cd0, LO 0x7e036b3a
+madd $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffffd78a68ab, LO 0xffffffff89aceb40
+madd $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffffdd7702fd, LO 0xffffffff86326a9c
+madd $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xffffffffe09f9390, LO 0xffffffffee9450da
+madd $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xffffffffe55cf59b, LO 0xb174b7e
+madd $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x1b6111c7, LO 0x34762b68
+madd $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x187537fc, LO 0x2458a874
+madd $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x219846ed, LO 0xffffffffeccede92
+madd $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x1ebc2394, LO 0xffffffffb9abd7c6
+madd $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x17384928, LO 0x2b2dd6d4
+madd $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x14351d45, LO 0xffffffff99111a08
+madd $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x1cbe9f24, LO 0x4ef266
+madd $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x19ec038b, LO 0xfffffffff6cc38f2
+madd $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0xbd9a3f2, LO 0x101262f0
+madd $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0xe9df6c0, LO 0xffffffffadad206c
+madd $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1211045e, LO 0xffffffff8a95374a
+madd $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x15a52908, LO 0xffffffffdbd5f18e
+madd $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x110437b, LO 0x5569b60c
+madd $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x3bd50f9, LO 0x7b44b850
+madd $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x5d663fd, LO 0xffffffffffb492ee
+madd $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0x9741ce0, LO 0x27d618ea
+madd $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x7897ab07, LO 0x0
+madd $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x63e01a51, LO 0xffffffffe739f0c4
+madd $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x71159069, LO 0x0
+madd $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x5a47373a, LO 0x211b5156
+madd $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x5bc632d8, LO 0x561d1e64
+madd $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x60d1bb3b, LO 0xffffffffda49dbf8
+madd $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x512d1cd5, LO 0x472feab6
+madd $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x56697809, LO 0xffffffff8262a522
+madd $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x587d25fd, LO 0xffffffffca808a40
+madd $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x53304fa5, LO 0xffffffffacd5cd9c
+madd $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x4e9434e4, LO 0x1391adda
+madd $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x4a16addf, LO 0x7620f47e
+madd $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4c85a34f, LO 0xffffffffecb163fc
+madd $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x47410dae, LO 0x3845e0e0
+madd $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x416b5b01, LO 0x395a171e
+madd $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x3d176ade, LO 0x5ac9103a
+madd $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffa319af83, LO 0x354db6c8
+madd $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xffffffff9fa43132, LO 0x77eeaa14
+madd $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xffffffff9dc50b22, LO 0x16a8f632
+madd $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xffffffff9bfed37c, LO 0x3ce76d26
+madd $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xffffffffbc06aba7, LO 0xffffffffd8dddbb4
+madd $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xffffffffb889bb33, LO 0xffffffffb67f2828
+madd $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xffffffffb3e11ea6, LO 0xffffffff9ef0f286
+madd $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffb1f4aa6a, LO 0xa903bd2
+madd $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x6f79a3b3, LO 0xffffffff96c63610
+madd $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x3f9b762c
+madd $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x32d850f5
+madd $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x6e8e66eb, LO 0x1cb1e4ae
+madd $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffff8986351d, LO 0x6d35b2ac
+madd $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffff8c38eeb3, LO 0x589740b0
+madd $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xffffffff8160d378, LO 0x15f6e34e
+madd $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffff85642497, LO 0x1df9ed8a
+madd $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffffd6c4df18, LO 0xffffffff84fafa38
+madd $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffffdb41d5d9, LO 0xffffffffc66a8824
+madd $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xffffffffe14f8c81, LO 0xffffffffa34c2ae2
+madd $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xffffffffe77c0bd4, LO 0xffffffffb4bd34f6
+madd $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xfffffffff0807ab5, LO 0xfffffffff732fa84
+madd $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xfffffffff516008a, LO 0xffffffffaba1acd8
+madd $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xfffffffff87a9634, LO 0xf6bfb96
+madd $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xfffffffffea05eaa, LO 0x453cb142
+madd $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffac0dd5e3, LO 0x60d2a820
+madd $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffa6bb2e02, LO 0xffffffffe9a1f4bc
+madd $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffb71950ee, LO 0xffffffffea35b6fa
+madd $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffb336043e, LO 0xffffffffc9e3005e
+madd $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffc5276e43, LO 0xffffffffb56afe5c
+madd $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffbfed3ef7, LO 0xffffffffbbf9f180
+madd $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xffffffffcce2f86f, LO 0xbb63dbe
+madd $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffc8f8dea2, LO 0xffffffffbd82b49a
+madd $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x590a1f37, LO 0x2d717406
+madd $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x5e7637db, LO 0x7a22fe52
+madd $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x4f027f44, LO 0x2ce4b134
+madd $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x53beadf8, LO 0x26d3bea8
+madd $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x613ec3eb, LO 0x1bda40b2
+madd $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x66a41143, LO 0x3aaaf6a6
+madd $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x57c7ed77, LO 0x38953548
+madd $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x5c9c966f, LO 0xffffffffb043e794
+madd $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4eb11e1e, LO 0xfffffffff52bf1ce
+madd $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4a0d56c0, LO 0xffffffffbdd93b0a
+madd $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x442ac037, LO 0x5c8ced2c
+madd $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x3f173b0a, LO 0xffffffffa89c3a30
+madd $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x55854c21, LO 0x46b3f4aa
+madd $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x50dacc36, LO 0x33c0eb2e
+madd $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x4c4f166e, LO 0x555d4790
+madd $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x47541e85, LO 0x146bbacc
+madd $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x1596e50b, LO 0xffffffff8dc72d16
+madd $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x13119304, LO 0xffffffff844623c2
+madd $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x1b6faf5f, LO 0xffffffffc9608004
+madd $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x183af471, LO 0xffffffffde80f358
+madd $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x1cb9a637, LO 0x6e86a562
+madd $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x32d850f5, LO 0x0
+madd $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x3f9b762c, LO 0x0
+madd $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x2026e41f, LO 0xffffffffe618f5a4
+madd $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x227e9fe, LO 0xffffffffba5cfc3e
+madd $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x5925f13, LO 0x4d3fb21a
+madd $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0x7c0fa80, LO 0x6747e8dc
+madd $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xabbec5c, LO 0xffffffff8a289b00
+madd $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0xa299428, LO 0xffffffffcebcac7a
+madd $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0xd6dca76, LO 0xffffffffa70036de
+madd $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x10d2f1a7, LO 0x6bfe9a0
+madd $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x13c66f0f, LO 0xffffffffc4a0f73c
+madd $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xffffffffed6eaa31, LO 0xffffffffaa71d0e6
+madd $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xfffffffff3409bac, LO 0xffffffff8784d672
+madd $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xfffffffff6944d39, LO 0xffffffff88f2a154
+madd $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xfffffffffb56e3c3, LO 0x3de02388
+madd $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffffd8656e4a, LO 0xffffffffe7d23412
+madd $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffffde60f477, LO 0xffffffff83c4ee46
+madd $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xffffffffe47b1059, LO 0x1b8b0ce8
+madd $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xffffffffe945e549, LO 0x39b7caf4
+madd $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffc6c038bd, LO 0x120be46e
+madd $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffc301dc20, LO 0xffffffffd55b2b6a
+madd $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xffffffffd0247ba7, LO 0x6af71b8c
+madd $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xffffffffca96f26b, LO 0xffffffffe74c5ed0
+madd $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffa89676c5, LO 0xffffffffd2cc11ca
+madd $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x71159069
+madd $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffb52b59a5, LO 0xffffffff95eeb170
+madd $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x7897ab07
+madd $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xffffffffb9e8dc93, LO 0x77615936
+madd $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xffffffffb7cd2449, LO 0x4dbdd2a2
+madd $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xffffffffb32e1064, LO 0xffffffffcbd3f8e4
+madd $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffb003040e, LO 0xffffffffa676f578
+madd $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffa4126994, LO 0x4d68b102
+madd $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xffffffffa20043d1, LO 0xfffffffffaa5f7d6
+madd $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffa0073714, LO 0x1c43e018
+madd $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffff9cc4e39d, LO 0x7f272344
+madd $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffff8a6143df, LO 0xffffffff8656f89e
+madd $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffff8eb5decf, LO 0xffffffff8e57b2ba
+madd $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xffffffff83a65dd1, LO 0x299fd97c
+madd $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffff862b889b, LO 0xffffffffbc3a9760
+madd $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x6d28e300, LO 0x6b3f185a
+madd $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x71870781, LO 0xffffffff9ce01dfe
+madd $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x69ddf7af, LO 0xffffffffd2efe8c0
+madd $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x6c4bd212, LO 0xffffffffe38b6b1c
+madd $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x5669b607, LO 0xffffffff9a0a8b12
+madd $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x512e5325, LO 0x7e059146
+madd $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x4b7fc3b2, LO 0x1829a9e8
+madd $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x471527f8, LO 0x1a222bf4
+madd $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4e65ac25, LO 0x2eee2be6
+madd $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x49120be1, LO 0x16916572
+madd $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x448c31e4, LO 0x26c55a54
+madd $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x4027fea3, LO 0xffffffff86069888
+madd $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x61ad8715, LO 0xffffffffff4deeca
+madd $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x66c1c312, LO 0xffffffffbf31b40e
+madd $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x574436ee, LO 0xffffffff8f1ad070
+madd $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x5c6967f1, LO 0xffffffff9ba090ec
+madd $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x58c7e212, LO 0xffffffffacdad56e
+madd $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x5dc3f3e9, LO 0x6295506a
+madd $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x4f2fa8f2, LO 0xfffffffff960268c
+madd $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x545b5573, LO 0xffffffffa85c25d0
+madd $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0xb087dbe, LO 0x5865a202
+madd $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0xdbc4f4a, LO 0xffffffff82321cd6
+madd $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0xfff3779, LO 0xfffffffff89aeb18
+madd $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x138392a7, LO 0x13c8ea44
+madd $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x1d669c6, LO 0xffffffffb3113636
+madd $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x4917fc5, LO 0xffffffffbf86fba2
+madd $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0x81d423a, LO 0xfffffffff7ee17e4
+madd $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xbc80c5b, LO 0x4865d878
+madd $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x1d2d30dc, LO 0x4289735a
+madd $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x1a314a20, LO 0xfffffffff89eacfe
+madd $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x22e3d060, LO 0xffffffffefd0a1c0
+madd $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x1ff857b8, LO 0x2123e01c
+madd $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x155a29ee, LO 0x665d4f9e
+madd $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x126592b7, LO 0x3c4a55ba
+madd $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x1ba14746, LO 0x264c767c
+madd $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x18dc4842, LO 0x2716f860
+madd $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffab244897, LO 0x16946bb2
+madd $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffa5ded784, LO 0xfffffffff5f9f5a6
+madd $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffb2af8c63, LO 0x61a53e48
+madd $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffaeda4fa4, LO 0x5dad4c94
+madd $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffc5fe826e, LO 0x3ae8bb06
+madd $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffc0b09404, LO 0xfffffffff5a4f152
+madd $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xffffffffd0fa168c, LO 0x4bc1be34
+madd $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffffccfba61d, LO 0x737fefa8
+madd $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffffda8207eb, LO 0x79c075aa
+madd $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffffdf0cca20, LO 0xffffffff8f3d402e
+madd $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xffffffffe24c8df7, LO 0x49036290
+madd $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xffffffffe887b015, LO 0xffffffff94be31cc
+madd $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xffffffffecbad801, LO 0xffffffffdaec7ece
+madd $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xfffffffff13d0b97, LO 0x991740a
+madd $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xfffffffff7350f10, LO 0x1df73c2c
+madd $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xfffffffffd46ec86, LO 0x303aad30
+madd $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x6fb49ccf, LO 0xffffffff86793262
+madd $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x7262a36d, LO 0x212c2776
+madd $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x675f7227, LO 0x3d93f7b8
+madd $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x6b7df175, LO 0x34568a4
+madd $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffff899c3c1c, LO 0xe05ae16
+madd $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffff8c61c2dc, LO 0xffffffffb71078c2
+madd $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xffffffff84773a71, LO 0x21f89b04
+madd $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffff888c0026, LO 0x49616a58
+madd $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffa630535f, LO 0xfffffffff105f37a
+madd $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xffffffffa2ae2bdb, LO 0xffffffffbd3029de
+madd $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffff9ddb6cbd, LO 0x52aef6a0
+madd $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffff9c09a40a, LO 0xffffffffc8bb283c
+madd $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffb937e8a1, LO 0x20e9273e
+madd $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xffffffffb5cd3841, LO 0xffffffffee3cb11a
+madd $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0xffffffffb5365d03, LO 0x0
+madd $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0xffffffffb1f740b4, LO 0x0
+maddu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0xffffffffb1f740b4
+maddu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0xffffffffb5365d03
+maddu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x105c3344, LO 0xffffffff9d2ff186
+maddu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0x1709cfe6, LO 0xffffffffd05a66d2
+maddu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x1f1f5b5b, LO 0x58a9e7c8
+maddu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x273417b4, LO 0xffffffffe11bb714
+maddu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x2c49ba3a, LO 0x4e1ae932
+maddu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x330ee2b9, LO 0xffffffff826eb426
+maddu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x3c9e2e8a, LO 0xffffffffbb5829ac
+maddu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x36cc69d4, LO 0xffffffff926d5bb0
+maddu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x4cf9da27, LO 0x2603384e
+maddu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x45774709, LO 0x7d766e8a
+maddu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x509b4c6d, LO 0x5334a910
+maddu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x4abfb966, LO 0xffffffff8c01374c
+maddu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x5e0602c3, LO 0x7217682a
+maddu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x569b1b40, LO 0xffffffffd7e271ae
+maddu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0xffffffff978407a2, LO 0xffffffffe20f6d84
+maddu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0xffffffff8faf162b, LO 0xffffffffce4dfbd8
+maddu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0xffffffff88002b29, LO 0xffffffffb8623496
+maddu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x7ebb1637, LO 0xffffffff8a3f3e42
+maddu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0xffffffffb7d01e56, LO 0x248b7138
+maddu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0xffffffffafd1fd7e, LO 0xffffffffd752a324
+maddu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0xffffffffa4db212f, LO 0x20067fe2
+maddu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0xffffffff9b8d5315, LO 0xb0bb5f6
+maddu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0xffffffffc53f9d31, LO 0xffffffffe5552f5c
+maddu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xffffffffcf7b01bf, LO 0xffffffffbc18fe80
+maddu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0xffffffffb57a623f, LO 0x647630be
+maddu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0xffffffffbe0551eb, LO 0xffffffffaa3bfb9a
+maddu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xffffffffd82acf2c, LO 0xffffffffad7a0d20
+maddu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0xffffffffe23d2a92, LO 0xffffffffaff3fdbc
+maddu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0xffffffffc5b592ab, LO 0x46c2b5fa
+maddu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0xffffffffce37efb8, LO 0x67df2b5e
+maddu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffb0ffff21, LO 0xffffffffb8c837d4
+maddu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffffb883f29c, LO 0xffffffffb67fb708
+maddu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xffffffffa4072044, LO 0xffffffffcaff9566
+maddu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffffaababa26, LO 0xfffffffff5948ff2
+maddu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffab2017f3, LO 0xffffffffd0cca068
+maddu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffb2caadeb, LO 0xffffffff9dfb6174
+maddu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffff9cd74572, LO 0xffffffffa94b6d92
+maddu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xffffffffa39217c0, LO 0xfffffffff3b832c6
+maddu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xffffffffc9f367b2, LO 0xffffffff9a16990c
+maddu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xffffffffc3078929, LO 0x4820d750
+maddu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xffffffffbc3adffb, LO 0xe3bbbee
+maddu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffb53ee747, LO 0x247f5ea
+maddu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffc0b2c02a, LO 0xffffffff837229f0
+maddu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xffffffffb9ed67ac, LO 0x66c62b6c
+maddu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xffffffffb2696633, LO 0xfffffffff2df5c4a
+maddu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xffffffffab74891a, LO 0xffffffffc994e28e
+maddu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x288dc303, LO 0x39eee564
+maddu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0x20231919, LO 0xffffffff8970e6f8
+maddu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x3b744ae6, LO 0xfffffffff12c0fb6
+maddu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0x32392d5b, LO 0x3bef9622
+maddu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x239f833d, LO 0x4b2bd198
+maddu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x1b3b3de9, LO 0x3d240fc4
+maddu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x3575e334, LO 0x6fc0f482
+maddu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x2c22c4aa, LO 0xffffffffb05b2e56
+maddu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0x32627eca, LO 0xffffffffd799d8fc
+maddu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0x3b87cf82, LO 0x76d699e0
+maddu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0x44cac726, LO 0x6528a61e
+maddu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0x4ddf5315, LO 0x7e036b3a
+maddu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0x28541eeb, LO 0xffffffff89aceb40
+maddu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0x317faef4, LO 0xffffffff86326a9c
+maddu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0x39eb20be, LO 0xffffffffee9450da
+maddu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0x42e78634, LO 0xb174b7e
+maddu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x4fe7823e, LO 0x34762b68
+maddu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x48bca5bc, LO 0x2458a874
+maddu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x5e9c9206, LO 0xffffffffeccede92
+maddu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x58817a42, LO 0xffffffffb9abd7c6
+maddu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x3eba4fd3, LO 0x2b2dd6d4
+maddu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x37783861, LO 0xffffffff99111a08
+maddu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x4abedce9, LO 0x4ef266
+maddu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x44ad23fd, LO 0xfffffffff6cc38f2
+maddu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x1e6841c1, LO 0x101262f0
+maddu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x24ed7738, LO 0xffffffffadad206c
+maddu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x2d1daaff, LO 0xffffffff8a95374a
+maddu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x3572e41e, LO 0xffffffffdbd5f18e
+maddu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x29b2e8e, LO 0x5569b60c
+maddu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x909479d, LO 0x7b44b850
+maddu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0xddf347a, LO 0xffffffffffb492ee
+maddu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0x163deaaa, LO 0x27d618ea
+maddu $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x7897ab07, LO 0x0
+maddu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0xffffffffe036d101, LO 0xffffffffe739f0c4
+maddu $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x71159069, LO 0x0
+maddu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0xffffffffd01bc518, LO 0x211b5156
+maddu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0xffffffffc75a10b3, LO 0x561d1e64
+maddu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xffffffffd0247ba7, LO 0xffffffffda49dbf8
+maddu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0xffffffffb33f038a, LO 0x472feab6
+maddu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0xffffffffbd3a730b, LO 0xffffffff8262a522
+maddu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0xffffffffb71c6cbc, LO 0xffffffffca808a40
+maddu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0xffffffffad8eaaad, LO 0xffffffffacd5cd9c
+maddu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0xffffffffa5b1b2b5, LO 0x1391adda
+maddu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0xffffffff9df30e45, LO 0x7620f47e
+maddu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0xffffffff9a20d3b2, LO 0xffffffffecb163fc
+maddu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0xffffffff909b3b82, LO 0x3845e0e0
+maddu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0xffffffff8584660e, LO 0x395a171e
+maddu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x7def8198, LO 0x5ac9103a
+maddu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffc06c35a6, LO 0x354db6c8
+maddu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xffffffffb937ccc6, LO 0x77eeaa14
+maddu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xffffffffb295c86f, LO 0x16a8f632
+maddu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xffffffffac107476, LO 0x3ce76d26
+maddu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xffffffffca5d9ca6, LO 0xffffffffd8dddbb4
+maddu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xffffffffc321a87b, LO 0xffffffffb67f2828
+maddu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xffffffffbbb5ea37, LO 0xffffffff9ef0f286
+maddu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffb50a8090, LO 0xa903bd2
+maddu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffaad40f4e, LO 0xffffffff96c63610
+maddu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x3f9b762c
+maddu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x32d850f5
+maddu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xffffffffa4a7b42d, LO 0x1cb1e4ae
+maddu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffb1e45264, LO 0x6d35b2ac
+maddu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffffb8d7efa3, LO 0x589740b0
+maddu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xffffffffa33cf9a1, LO 0x15f6e34e
+maddu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffffaa816035, LO 0x1df9ed8a
+maddu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0x28083c6b, LO 0xffffffff84fafa38
+maddu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0x30c416bd, LO 0xffffffffc66a8824
+maddu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0x3a10f2be, LO 0xffffffffa34c2ae2
+maddu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0x437c875e, LO 0xffffffffb4bd34f6
+maddu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0x32c7a644, LO 0xfffffffff732fa84
+maddu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0x3b9c36c2, LO 0xffffffffaba1acd8
+maddu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0x443fa715, LO 0xf6bfb96
+maddu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0x4da46c00, LO 0x453cb142
+maddu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x235986ce, LO 0x60d2a820
+maddu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x1a45db5e, LO 0xffffffffe9a1f4bc
+maddu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x35e2dc73, LO 0xffffffffea35b6fa
+maddu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x2d3e9a70, LO 0xffffffffc9e3005e
+maddu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0x2977347a, LO 0xffffffffb56afe5c
+maddu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0x207c1a77, LO 0xffffffffbbf9f180
+maddu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0x3ab0f5c8, LO 0xbb63dbe
+maddu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x3205bf90, LO 0xffffffffbd82b49a
+maddu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0xffffffffc2170025, LO 0x2d717406
+maddu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0xffffffffcc443534, LO 0x7a22fe52
+maddu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0xffffffffaf915ac4, LO 0x2ce4b134
+maddu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0xffffffffb80e742f, LO 0x26d3bea8
+maddu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0xffffffffdb475a1d, LO 0x1bda40b2
+maddu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0xffffffffe56d9cc8, LO 0x3aaaf6a6
+maddu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0xffffffffcb529ad3, LO 0x38953548
+maddu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0xffffffffd3e8475a, LO 0xffffffffb043e794
+maddu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0xffffffff9db52b74, LO 0xfffffffff52bf1ce
+maddu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0xffffffff95d267a1, LO 0xffffffffbdd93b0a
+maddu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0xffffffff8ab0f66f, LO 0x5c8ced2c
+maddu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0xffffffff815e6699, LO 0xffffffffa89c3a30
+maddu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0xffffffffb185c7ab, LO 0x46b3f4aa
+maddu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0xffffffffa99c3273, LO 0x33c0eb2e
+maddu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0xffffffffa1d15752, LO 0x555d4790
+maddu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0xffffffff98977bd8, LO 0x146bbacc
+maddu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x3ab420a9, LO 0xffffffff8dc72d16
+maddu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x34edb92d, LO 0xffffffff844623c2
+maddu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x480eb04f, LO 0xffffffffc9608004
+maddu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x409911b8, LO 0xffffffffde80f358
+maddu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x52d2f379, LO 0x6e86a562
+maddu $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x32d850f5, LO 0x0
+maddu $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x3f9b762c, LO 0x0
+maddu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x5b814fba, LO 0xffffffffe618f5a4
+maddu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x53dc024, LO 0xffffffffba5cfc3e
+maddu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0xd672aa4, LO 0x4d3fb21a
+maddu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0x1258e7c8, LO 0x6747e8dc
+maddu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0x1912dd5b, LO 0xffffffff8a289b00
+maddu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x1a3b3522, LO 0xffffffffcebcac7a
+maddu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x223e87c3, LO 0xffffffffa70036de
+maddu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x2a668d3b, LO 0x6bfe9a0
+maddu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x3118f532, LO 0xffffffffc4a0f73c
+maddu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0x2e46c0eb, LO 0xffffffffaa71d0e6
+maddu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0x3759a6b9, LO 0xffffffff8784d672
+maddu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0x3fee7b0d, LO 0xffffffff88f2a154
+maddu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0x48f21426, LO 0x3de02388
+maddu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0x2c41ceb0, LO 0xffffffffe7d23412
+maddu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0x357e7248, LO 0xffffffff83c4ee46
+maddu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0x3ed96b61, LO 0x1b8b0ce8
+maddu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0x47e52c08, LO 0x39b7caf4
+maddu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0x2d9133bf, LO 0x120be46e
+maddu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0x2513c2d5, LO 0xffffffffd55b2b6a
+maddu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x3f773c13, LO 0x6af71b8c
+maddu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x362ad046, LO 0xffffffffe74c5ed0
+maddu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0x1e6b04a3, LO 0xffffffffd2cc11ca
+maddu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x71159069
+maddu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x31821055, LO 0xffffffff95eeb170
+maddu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x7897ab07
+maddu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xffffffffc6b2aa5d, LO 0x77615936
+maddu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xffffffffbfd5f4c6, LO 0x4dbdd2a2
+maddu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xffffffffb87a0708, LO 0xffffffffcbd3f8e4
+maddu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffb18def21, LO 0xffffffffa676f578
+maddu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffc3e024aa, LO 0x4d68b102
+maddu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xffffffffbd0cea72, LO 0xfffffffffaa5f7d6
+maddu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffb656b78c, LO 0x1c43e018
+maddu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffffaf53816c, LO 0x7f272344
+maddu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffffb5226451, LO 0xffffffff8656f89e
+maddu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffffbcb61c94, LO 0xffffffff8e57b2ba
+maddu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xffffffffa6e978ed, LO 0x299fd97c
+maddu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffadad8f46, LO 0xffffffffbc3a9760
+maddu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xffffffffa6ee39ae, LO 0x6b3f185a
+maddu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffae8b529a, LO 0xffffffff9ce01dfe
+maddu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffff9a25656f, LO 0xffffffffd2efe8c0
+maddu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffffa0d24289, LO 0xffffffffe38b6b1c
+maddu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0xffffffffb3f446a0, LO 0xffffffff9a0a8b12
+maddu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0xffffffffaa79e053, LO 0x7e059146
+maddu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0xffffffff9f886fa9, LO 0x1829a9e8
+maddu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0xffffffff97dede38, LO 0x1a222bf4
+maddu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0xffffffff9cf4926a, LO 0x2eee2be6
+maddu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0xffffffff936207d3, LO 0x16916572
+maddu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0xffffffff8b990f0f, LO 0x26c55a54
+maddu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0xffffffff83f5bf3f, LO 0xffffffff86069888
+maddu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0xffffffffdd300436, LO 0xffffffffff4deeca
+maddu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0xffffffffe60523a8, LO 0xffffffffbf31b40e
+maddu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0xffffffffc9447d3d, LO 0xffffffff8f1ad070
+maddu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0xffffffffd32ac3e9, LO 0xffffffff9ba090ec
+maddu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0xffffffffc14dee0f, LO 0xffffffffacdad56e
+maddu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0xffffffffca0b0a33, LO 0x6295506a
+maddu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0xffffffffb033d985, LO 0xfffffffff960268c
+maddu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0xffffffffba208297, LO 0xffffffffa85c25d0
+maddu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x1ca3c9a7, LO 0x5865a202
+maddu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x2316a5a8, LO 0xffffffff82321cd6
+maddu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x2818a800, LO 0xfffffffff89aeb18
+maddu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x305bffd7, LO 0x13c8ea44
+maddu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x475a6fb, LO 0xffffffffb3113636
+maddu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0xaefa047, LO 0xffffffffbf86fba2
+maddu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0x133a4895, LO 0xfffffffff7ee17e4
+maddu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0x1ba42847, LO 0x4865d878
+maddu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x54c0d72d, LO 0x4289735a
+maddu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x4d840606, LO 0xfffffffff89eacfe
+maddu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x60f56d9f, LO 0xffffffffefd0a1c0
+maddu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x5ac8d840, LO 0x2123e01c
+maddu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x39f1fa7b, LO 0x665d4f9e
+maddu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x32bc5ff1, LO 0x3c4a55ba
+maddu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x48b73329, LO 0x264c767c
+maddu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x42b13e96, LO 0x2716f860
+maddu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x1f82af64, LO 0x16946bb2
+maddu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x167e52fe, LO 0xfffffffff5f9f5a6
+maddu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0x308bea06, LO 0x61a53e48
+maddu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x27f78fb8, LO 0x5dad4c94
+maddu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0x2d58927f, LO 0x3ae8bb06
+maddu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0x244ba1aa, LO 0xfffffffff5a4f152
+maddu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x3fd2420b, LO 0x4bc1be34
+maddu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0x3714dce5, LO 0x737fefa8
+maddu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0x2cd89360, LO 0x79c075aa
+maddu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0x35a460e2, LO 0xffffffff8f3d402e
+maddu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0x3e213e12, LO 0x49036290
+maddu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0x479d5dc1, LO 0xffffffff94be31cc
+maddu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0x2e0dd5aa, LO 0xffffffffdaec7ece
+maddu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0x36d0ebb5, LO 0x991740a
+maddu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0x4005d5d7, LO 0x1df73c2c
+maddu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0x4958c7f6, LO 0x303aad30
+maddu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xffffffffa8045a8c, LO 0xffffffff86793262
+maddu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffaef14377, LO 0x212c2776
+maddu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffff992cf8fa, LO 0x3d93f7b8
+maddu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffffa08a8cd9, LO 0x34568a4
+maddu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffffb4e8077d, LO 0xe05ae16
+maddu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffffbbec99b2, LO 0xffffffffb71078c2
+maddu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xffffffffa7412a80, LO 0x21f89b04
+maddu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffffae94edde, LO 0x49616a58
+maddu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffc477a364, LO 0xfffffffff105f37a
+maddu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xffffffffbd34798d, LO 0xffffffffbd3029de
+maddu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffffb5a0d828, LO 0x52aef6a0
+maddu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffffaf0e1ae6, LO 0xffffffffc8bb283c
+maddu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffc67b0f7a, LO 0x20e9273e
+maddu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xffffffffbf4f73af, LO 0xffffffffee3cb11a
+maddu $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0xffffffffb5365d03, LO 0x0
+maddu $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0xffffffffb1f740b4, LO 0x0
+msub $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0xffffffffb1f740b4
+msub $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0xffffffffb5365d03
+msub $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0xc2a7f06, LO 0xffffffffd3bb062e
+msub $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0x10bfa4a5, LO 0xffffffffa90e6608
+msub $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x19ee0939, LO 0xffffffffed3c8508
+msub $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x201c2a8d, LO 0x6b48a0aa
+msub $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x23492edd, LO 0x8c730da
+msub $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x27c70d56, LO 0xffffffffdcf16d3c
+msub $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x357c9a9e, LO 0x74a7306c
+msub $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x31916659, LO 0xffffffff941005c6
+msub $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x41a6aa5c, LO 0x16f7f476
+msub $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x3c6c1b1a, LO 0xffffffffb802a920
+msub $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x4e8a85bf, LO 0xffffffffb6c30e90
+msub $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x4aa8db13, LO 0x74745582
+msub $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x57a5dd5b, LO 0xffffffffa8dc5952
+msub $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x52541df7, LO 0x3b8f8864
+msub $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4cb18aaf, LO 0x19bdca04
+msub $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x4ac33e2b, LO 0x2401110e
+msub $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x48bb7532, LO 0x30670cbe
+msub $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x453de2c5, LO 0x570c3bf8
+msub $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x6570eaaf, LO 0xffffffffb93a68f8
+msub $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x63ac12d3, LO 0xfffffffffcf53e3a
+msub $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x5eeba318, LO 0xffffffffaebb2d0a
+msub $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x5b764f4b, LO 0xffffffffbc37e18c
+msub $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x790c0727, LO 0xffffffffd287bd9c
+msub $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x7d0d80bf, LO 0x245d916
+msub $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x7556c6b4, LO 0x40626966
+msub $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x7808de49, LO 0x31ea5b0
+msub $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xffffffff932cf110, LO 0xffffffffe459f420
+msub $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0xffffffff9757ee57, LO 0xffffffffe8623c72
+msub $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0xffffffff8c28dfc4, LO 0x3c0dc1a2
+msub $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0xffffffff8ee344b0, LO 0x23732194
+msub $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffa91c64f2, LO 0xffffffff9ae1b4d4
+msub $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffffae574ff4, LO 0xffffffffa3ac20be
+msub $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xffffffff9f92c811, LO 0x75ae050e
+msub $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffffa49e36d8, LO 0x539b1128
+msub $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffa5ffe90c, LO 0xffffffffa4d460a8
+msub $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffab14aa69, LO 0xffffffffde27d90a
+msub $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffff9bc76d17, LO 0xffffffffbd5a0a3a
+msub $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xffffffffa0cb5c5a, LO 0x7b6f19dc
+msub $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xffffffffc23f6ae9, LO 0xffffffff85a19ecc
+msub $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xffffffffbdea0b0f, LO 0xffffffffce193566
+msub $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xffffffffb97600f2, LO 0xfffffffffe808516
+msub $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffb43150f0, LO 0x2f68480
+msub $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffffb684080d, LO 0xffffffffb63eb070
+msub $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xffffffffb2086940, LO 0xffffffffc96cb5a2
+msub $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xffffffffac4b1dfe, LO 0x37d55072
+msub $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xffffffffa6fed988, LO 0x59a1b544
+msub $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffe59c4541, LO 0xffffffff919b74e4
+msub $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffe2c7f7c8, LO 0x38977a2e
+msub $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xffffffffec33795f, LO 0xffffffffe7621cde
+msub $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffffe92f7534, LO 0xffffffff951c81d8
+msub $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffe18e0f53, LO 0xffffffffa256e658
+msub $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffdeb3165c, LO 0xffffffffa6dc7cda
+msub $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffe735bda6, LO 0xffffffff8ec5ccaa
+msub $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffe44a33a1, LO 0x46a9cbec
+msub $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xfffffffff5e04221, LO 0xffffffffb001a83c
+msub $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xfffffffff97c48e7, LO 0x17432076
+msub $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xfffffffffcf6ab58, LO 0x2f7751c6
+msub $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffffa2e112, LO 0x1f1a6150
+msub $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffffeaf3853d, LO 0x17e68140
+msub $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffffee88d389, LO 0x21deed52
+msub $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xfffffffff0da07a3, LO 0xffffffffc402c982
+msub $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xfffffffff39eaabf, LO 0xffffffffaffdd5b4
+msub $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x4dabcf27, LO 0xffffffffd66c361e
+msub $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x4819a384, LO 0xffffffffdf07b274
+msub $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x58704f45, LO 0x2d1738c8
+msub $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x54ce89c8, LO 0x56b8546e
+msub $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x37cbc42f, LO 0x1bcb56a
+msub $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x325118f3, LO 0xffffffff8c579d48
+msub $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x3f41dc67, LO 0x3fa0087c
+msub $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x3b963d59, LO 0x3fa0889a
+msub $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x194397ad, LO 0x36e15806
+msub $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x1e010a30, LO 0xffffffffa1c4612c
+msub $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x240848e4, LO 0xffffffffcb6294e0
+msub $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x29f64d24, LO 0xffffffff80a005b6
+msub $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x20592ac, LO 0xb91a142
+msub $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x6da9c4f, LO 0xffffffffee34b3d0
+msub $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0xa3b3cfd, LO 0x744a8ea4
+msub $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0x101f7eb5, LO 0x52a70212
+msub $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x7897ab07, LO 0x0
+msub $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0xffffffff94cd530f, LO 0xffffffffb409fb44
+msub $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x71159069, LO 0x0
+msub $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0xffffffff9161e483, LO 0x672c497e
+msub $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x7b6188df, LO 0x5eac1c7a
+msub $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x7dd3c59d, LO 0xffffffffe30125b8
+msub $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x72f6b096, LO 0x609d614c
+msub $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x77387dfc, LO 0x2becd24a
+msub $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x64c16782, LO 0x144f81d6
+msub $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x618c666c, LO 0x2a7c69dc
+msub $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x5fa6c6bf, LO 0xffffffffba42ccf0
+msub $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x5da212ee, LO 0x4e354d26
+msub $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4eb0bd78, LO 0xc277db2
+msub $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x4b734dfb, LO 0xffffffffb914f9e0
+msub $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x46c6bb1a, LO 0xffffffffb2828054
+msub $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x4498c297, LO 0xffffffff87959be2
+msub $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffffb631ddab, LO 0x557557e
+msub $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xffffffffb125850d, LO 0xffffffffbb388d14
+msub $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xffffffffac8af0d0, LO 0x12f88468
+msub $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xffffffffa7ceed1f, LO 0xffffffffe33bd4ce
+msub $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xffffffffc33cb4ee, LO 0x43d0064a
+msub $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xffffffffbe37a0c4, LO 0x5eb0b268
+msub $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xffffffffb865f7a3, LO 0x70b8a49c
+msub $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffb3d082b9, LO 0xfffffffffb9b707a
+msub $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffa5e0b2aa, LO 0xffffffffdfeea126
+msub $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x3f9b762c
+msub $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x32d850f5
+msub $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xffffffffa14db501, LO 0x4f80b5d6
+msub $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffa9cc86c8, LO 0xffffffffe38687e2
+msub $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffffae9791d5, LO 0xa6c130
+msub $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xffffffff9ef5f9c2, LO 0x2dc16904
+msub $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xffffffffa470d1bd, LO 0x2c4089b2
+msub $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffffeaa35cb6, LO 0x1d8bc06e
+msub $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffffeda82ac6, LO 0xffffffffe499f9a4
+msub $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xfffffffff11cc091, LO 0xe36a198
+msub $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xfffffffff4726aa8, LO 0x343c21e
+msub $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xfffffffff6e05bc0, LO 0xffffffff8d5b5c9a
+msub $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xfffffffff9ccec8d, LO 0xffffffffe16abf98
+msub $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xfffffffffbea0a76, LO 0xffffffff881e262c
+msub $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xffffffffff463d1a, LO 0x58cb696a
+msub $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffe16c0adb, LO 0xffffffff8dc4b9b6
+msub $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffde40adcd, LO 0xfffffffffd7365fc
+msub $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffe7644574, LO 0x135d6010
+msub $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffe4c9a8ce, LO 0x2a2e2c06
+msub $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffe6499ec3, LO 0x13348e12
+msub $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffe305f771, LO 0x523c580
+msub $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xffffffffeb92836b, LO 0xffffffffcfe5bcf4
+msub $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffe8fe6212, LO 0x14970d42
+msub $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x790fa2a6, LO 0xffffffff8485ccae
+msub $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x7d25c2d8, LO 0x3e527d88
+msub $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x721b37bd, LO 0x760e8534
+msub $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x74e0de77, LO 0xffffffff849d4e5e
+msub $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0xffffffff92d2687a, LO 0x7c256c5a
+msub $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0xffffffff96ef05c8, LO 0x63d29fbc
+msub $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0xffffffff8f4d6d42, LO 0x4c66a688
+msub $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0xffffffff91facb67, LO 0xffffffffdd35f92a
+msub $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4f56fc8f, LO 0x8baa9f6
+msub $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4d7ccb03, LO 0x368b65a0
+msub $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x48e1ac3a, LO 0xffffffff9255ffec
+msub $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x45771c15, LO 0x3ec49c46
+msub $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x627baaf4, LO 0xffffffff953a81d2
+msub $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x60a80045, LO 0xffffffff9eab61e4
+msub $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x5eb56b5b, LO 0x738cb910
+msub $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x5b329c22, LO 0xffffffffacfc8102
+msub $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x34a39231, LO 0xffffffff9c0dc93e
+msub $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x30a6b94e, LO 0xffffffff9c10a978
+msub $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x3dce5281, LO 0x71700084
+msub $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x3881461d, LO 0x54d1c88e
+msub $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x4f78f44d, LO 0xffffffffa155768a
+msub $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x32d850f5, LO 0x0
+msub $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x3f9b762c, LO 0x0
+msub $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x568df317, LO 0x2f4160ba
+msub $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x403c24e, LO 0xffffffffab6830e6
+msub $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0xa173810, LO 0x1f076430
+msub $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xd6ee011, LO 0xf79731c
+msub $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0x11f1f5a2, LO 0xfffffffff51ac596
+msub $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x15f9adcc, LO 0x75111422
+msub $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x1c33b024, LO 0xffffffffa34fc514
+msub $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x22544582, LO 0x4a09cca0
+msub $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x26de9d37, LO 0xffffffff94aa95f2
+msub $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xfffffffff4f001ea, LO 0xffffffffd73e5c8e
+msub $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xfffffffff89bfbc6, LO 0xad3fa8
+msub $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xfffffffffac68d87, LO 0x9c1ba54
+msub $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xfffffffffd81fdeb, LO 0x5d563d3e
+msub $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffffebf0d359, LO 0xffffffffbfe68cba
+msub $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffffef738653, LO 0x2a760d5c
+msub $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xfffffffff2d7271f, LO 0xffffffff9931a928
+msub $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xfffffffff58a26cd, LO 0xffffffff8386c28a
+msub $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffe78f3eaf, LO 0xffffffffbb961196
+msub $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffe4cb6fe1, LO 0xffffffffeec8a200
+msub $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xffffffffed268609, LO 0x73ae654c
+msub $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xffffffffea324872, LO 0xffffffffefdb5ce6
+msub $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffdfb1240f, LO 0x18dd09f2
+msub $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x71159069
+msub $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffe6189263, LO 0x62bebbf0
+msub $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x7897ab07
+msub $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xffffffffc0943e68, LO 0xffffffffa232425e
+msub $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xffffffffbc31fd48, LO 0xffffffffc253ce58
+msub $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xffffffffb64b5bbb, LO 0x3ec3f464
+msub $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffb0f8533f, LO 0x5c9ee0ae
+msub $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffffb8638daf, LO 0xfffffffff232c52a
+msub $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xffffffffb3f78858, LO 0x3b73556c
+msub $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffffaf6a4a84, LO 0x105b20d8
+msub $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffffaa2ed758, LO 0xffffffffa5f6185a
+msub $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffffac0b7dac, LO 0xffffffffcf2b4846
+msub $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffffb1391c12, LO 0xffffffffcda8c8d0
+msub $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xffffffffa1c2597f, LO 0x1ce65cbc
+msub $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffa6bf03a2, LO 0xffffffff92c975f6
+msub $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xffffffffa33b4934, LO 0x84b9502
+msub $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffa85f0fd8, LO 0xffffffffdd287834
+msub $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffff99826338, LO 0xffffffff8d9ef2c0
+msub $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffff9e968f73, LO 0xffffffff858175d2
+msub $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x64ab6b2c, LO 0x3ef11548
+msub $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x6168c738, LO 0x537409ee
+msub $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x5c91943d, LO 0xffffffffb3d62c9e
+msub $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x5a7e4489, LO 0xffffffffa85bc1f4
+msub $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4eb82066, LO 0xffffffffd00521fc
+msub $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x4b8dec04, LO 0xffffffffe0e0111a
+msub $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x498d8873, LO 0xffffffffc731e0ea
+msub $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x47738296, LO 0x5e6e67c8
+msub $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0xffffffff9557732d, LO 0xffffffff959c8c60
+msub $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0xffffffff97c4fe1a, LO 0xffffffffde368c36
+msub $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0xffffffff8cbc55b0, LO 0xfffffffff8d33d86
+msub $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0xffffffff91194fff, LO 0xfffffffff2cba5ac
+msub $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x784435e9, LO 0x607c124
+msub $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x7aca38ac, LO 0x58cb5d92
+msub $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x72d8b834, LO 0xffffffffa886b9c2
+msub $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x772f04d6, LO 0x8b550
+msub $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x182e1a14, LO 0xffffffffe87274b8
+msub $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x1cf85d72, LO 0xffffffffc72810fe
+msub $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x2033a995, LO 0x5b41754e
+msub $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x262d47ba, LO 0x469570c4
+msub $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x36810a4, LO 0xffffffffb3bfc4cc
+msub $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x82ac13f, LO 0xffffffffafcbc4ca
+msub $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xe1cca7c, LO 0x7de675fa
+msub $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0x13f02b7e, LO 0x33f0de38
+msub $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x51fa1bc6, LO 0xffffffffca405a70
+msub $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x4c742dac, LO 0xcad49a6
+msub $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x593f6a1e, LO 0x2ffd1956
+msub $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x55a8a958, LO 0xfffffffff52ba05c
+msub $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x33d5772c, LO 0xffffffffc463d0d4
+msub $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x2e4807bd, LO 0xffffffffe6f8c562
+msub $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x3e8a9081, LO 0x1378e032
+msub $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x3acda467, LO 0x9307560
+msub $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffe02e045b, LO 0xffffffffd22861e8
+msub $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffdcf1a017, LO 0xffffffffeb45014e
+msub $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffe5a6adcb, LO 0xffffffff9a137cfe
+msub $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffe2f9b19c, LO 0xffffffff948d3394
+msub $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffe75c1edc, LO 0xffffffff93cb651c
+msub $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffe428061f, LO 0xffffffffd19129fa
+msub $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xffffffffed64c10a, LO 0xffffffff91ee98ca
+msub $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffffeae146db, LO 0x60b27de8
+msub $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffffecc18f97, LO 0x2aeca140
+msub $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffffefb4e2cc, LO 0x1df1ed56
+msub $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xfffffffff1fb5367, LO 0x6ea5fda6
+msub $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xfffffffff53e2a1b, LO 0x296d298c
+msub $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xfffffffff490a238, LO 0xffffffffa7b97c84
+msub $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xfffffffff78c35bd, LO 0xffffffff81964c32
+msub $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xfffffffffb19fdd6, LO 0x73aa5162
+msub $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xfffffffffe864b02, LO 0x67e909b0
+msub $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xffffffffa3bd5d42, LO 0xffffffffea264918
+msub $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffa8911e0f, LO 0x57f1189e
+msub $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffff99161aa7, LO 0x260715ee
+msub $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffff9e79c62b, LO 0x66d3ce24
+msub $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffffabdcdb8e, LO 0x4891e8ac
+msub $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffffb09969e7, LO 0xffffffffa80534ea
+msub $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xffffffffa2062705, LO 0x239b451a
+msub $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffffa77359f2, LO 0x2b07118
+msub $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffffb92fce02, LO 0x4b88ac90
+msub $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xffffffffb433ee30, LO 0x77dc7186
+msub $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffffae88eb00, LO 0xffffffffdcdbe036
+msub $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffffa9dcc8c5, LO 0x5d4dc57c
+msub $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffc030e438, LO 0xfffffffff99d2674
+msub $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xffffffffbb1dbf72, LO 0x24c7c5c2
+msub $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0xffffffffb5365d03, LO 0x0
+msub $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0xffffffffb1f740b4, LO 0x0
+msubu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0xffffffffb1f740b4
+msubu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0xffffffffb5365d03
+msubu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x2a84398, LO 0xffffffffd3bb062e
+msubu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0x37c7dcc, LO 0xffffffffa90e6608
+msubu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0x6e9925d, LO 0xffffffffed3c8508
+msubu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0x856bf22, LO 0x6b48a0aa
+msubu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x8c2e12b, LO 0x8c730da
+msubu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x97fbd51, LO 0xffffffffdcf16d3c
+msubu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0xf73ace6, LO 0x74a7306c
+msubu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0xec7764a, LO 0xffffffff941005c6
+msubu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x121bd386, LO 0x16f7f476
+msubu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x11204fb9, LO 0xffffffffb802a920
+msubu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x197dea5b, LO 0xffffffffb6c30e90
+msubu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x18db5440, LO 0x74745582
+msubu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x1b173d51, LO 0xffffffffa8dc5952
+msubu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x1a04603a, LO 0x3b8f8864
+msubu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x9faf3f, LO 0x19bdca04
+msubu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x1f27764, LO 0x2401110e
+msubu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x3279514, LO 0x30670cbe
+msubu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x3eae51c, LO 0x570c3bf8
+msubu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x65b3d03, LO 0xffffffffb93a68f8
+msubu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x7d762b8, LO 0xfffffffffcf53e3a
+msubu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x8540c56, LO 0xffffffffaebb2d0a
+msubu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x91fc3d6, LO 0xffffffffbc37e18c
+msubu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0xef2d05f, LO 0xffffffffd287bd9c
+msubu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xe355540, LO 0x245d916
+msubu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x11bbb90e, LO 0x40626966
+msubu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x10aece38, LO 0x31ea5b0
+msubu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x1a0fb0fc, LO 0xffffffffe459f420
+msubu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x197b90b4, LO 0xffffffffe8623c72
+msubu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x1b89644a, LO 0x3c0dc1a2
+msubu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x1a84dde3, LO 0x23732194
+msubu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0x7f476e9e, LO 0xffffffff9ae1b4d4
+msubu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffff81416411, LO 0xffffffffa3ac20be
+msubu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0x7f3bfad7, LO 0x75ae050e
+msubu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xffffffff8006664b, LO 0x539b1128
+msubu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0x6b2f6884, LO 0xffffffffa4d460a8
+msubu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x6d030d2a, LO 0xffffffffde27d90a
+msubu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0x6874b131, LO 0xffffffffbd5a0a3a
+msubu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x6937b609, LO 0x7b6f19dc
+msubu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xffffffffb2634efd, LO 0xffffffff85a19ecc
+msubu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xffffffffb2cd04b4, LO 0xffffffffce193566
+msubu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xffffffffb317e070, LO 0xfffffffffe808516
+msubu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffb19213bb, LO 0x2f68480
+msubu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xffffffff99ab9add, LO 0xffffffffb63eb070
+msubu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xffffffff99eef8b9, LO 0xffffffffc96cb5a2
+msubu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xffffffff96f0c7a0, LO 0x37d55072
+msubu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xffffffff95638d9f, LO 0x59a1b544
+msubu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x7fd7181d, LO 0xffffffff919b74e4
+msubu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffff81c3c735, LO 0x38977a2e
+msubu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x7fec6315, LO 0xffffffffe7621cde
+msubu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xffffffff80a96937, LO 0xffffffff951c81d8
+msubu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x6accb35b, LO 0xffffffffa256e658
+msubu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x6cb2d00d, LO 0xffffffffa6dc7cda
+msubu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x67f25d10, LO 0xffffffff8ec5ccaa
+msubu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x68c7b680, LO 0x46a9cbec
+msubu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xffffffffb2128185, LO 0xffffffffb001a83c
+msubu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xffffffffb26f6bbc, LO 0x17432076
+msubu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xffffffffb2a6af66, LO 0x2f7751c6
+msubu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffb113facd, LO 0x1f1a6150
+msubu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xffffffff9a29cefd, LO 0x17e68140
+msubu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xffffffff9a802792, LO 0x21deed52
+msubu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xffffffff978e7a75, LO 0xffffffffc402c982
+msubu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xffffffff96141a26, LO 0xffffffffaffdd5b4
+msubu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x19255eb0, LO 0xffffffffd66c361e
+msubu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x17d235c4, LO 0xffffffffdf07b274
+msubu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x1b6c042c, LO 0x2d1738c8
+msubu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x1b09331a, LO 0x56b8546e
+msubu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x1049bd84, LO 0x1bcb56a
+msubu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0xf0dfdd7, LO 0xffffffff8c579d48
+msubu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x11419ea2, LO 0x3fa0087c
+msubu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x10d51ce7, LO 0x3fa0889a
+msubu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0x6b4f9de, LO 0x36e15806
+msubu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0x7b189b8, LO 0xffffffffa1c4612c
+msubu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x8fba243, LO 0xffffffffcb6294e0
+msubu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0xa28920e, LO 0xffffffff80a005b6
+msubu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x7aa799, LO 0xb91a142
+msubu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x18ea5ab, LO 0xffffffffee34b3d0
+msubu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x2326c80, LO 0x744a8ea4
+msubu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0x355b0eb, LO 0x52a70212
+msubu $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x7897ab07, LO 0x0
+msubu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x18769c5f, LO 0xffffffffb409fb44
+msubu $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x71159069, LO 0x0
+msubu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x1b8d56a5, LO 0x672c497e
+msubu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0xfcdab04, LO 0x5eac1c7a
+msubu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xe810531, LO 0xffffffffe30125b8
+msubu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x10e4c9e1, LO 0x609d614c
+msubu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x106782fa, LO 0x2becd24a
+msubu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x62220c3, LO 0x144f81d6
+msubu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x72e0b64, LO 0x2a7c69dc
+msubu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x88948ee, LO 0xffffffffba42ccf0
+msubu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x9c5b288, LO 0x4e354d26
+msubu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x1158d15, LO 0xc277db2
+msubu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x2192027, LO 0xffffffffb914f9e0
+msubu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x2adb00d, LO 0xffffffffb2828054
+msubu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x3c0abdd, LO 0xffffffff87959be2
+msubu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xffffffff98df5788, LO 0x557557e
+msubu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xffffffff9791e979, LO 0xffffffffbb388d14
+msubu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xffffffff97ba3383, LO 0x12f88468
+msubu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xffffffff97bd4c25, LO 0xffffffffe33bd4ce
+msubu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xffffffffb4e5c3ef, LO 0x43d0064a
+msubu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xffffffffb39fb37c, LO 0x5eb0b268
+msubu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xffffffffb0912c12, LO 0x70b8a49c
+msubu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffb0baac93, LO 0xfffffffffb9b707a
+msubu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x6a86470f, LO 0xffffffffdfeea126
+msubu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x3f9b762c
+msubu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x32d850f5
+msubu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x6b3467bf, LO 0x4f80b5d6
+msubu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffff816e6981, LO 0xffffffffe38687e2
+msubu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffff81f890e5, LO 0xa6c130
+msubu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0x7d19d399, LO 0x2dc16904
+msubu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0x7f53961f, LO 0x2c4089b2
+msubu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xffffffff995fff63, LO 0x1d8bc06e
+msubu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xffffffff9825e9e2, LO 0xffffffffe499f9a4
+msubu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xffffffff985b5a54, LO 0xe36a198
+msubu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xffffffff9871ef1e, LO 0x343c21e
+msubu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xffffffffb4993031, LO 0xffffffff8d5b5c9a
+msubu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xffffffffb346b655, LO 0xffffffffe16abf98
+msubu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xffffffffb024f995, LO 0xffffffff881e262c
+msubu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xffffffffb0422fc4, LO 0x58cb696a
+msubu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x6a2059f0, LO 0xffffffff8dc4b9b6
+msubu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x6ab60071, LO 0xfffffffffd7365fc
+msubu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x689ab9ef, LO 0x135d6010
+msubu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x6ac1129c, LO 0x2a2e2c06
+msubu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffff81f9d88c, LO 0x13348e12
+msubu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffff82771bf1, LO 0x523c580
+msubu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0x7dc48612, LO 0xffffffffcfe5bcf4
+msubu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x7ff18124, LO 0x14970d42
+msubu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x1002c1b8, LO 0xffffffff8485ccae
+msubu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0xf57c57f, LO 0x3e527d88
+msubu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x118c5c3d, LO 0x760e8534
+msubu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x10911840, LO 0xffffffff849d4e5e
+msubu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x18c9d248, LO 0x7c256c5a
+msubu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x18257a43, LO 0x63d29fbc
+msubu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x1bc2bfe6, LO 0x4c66a688
+msubu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x1aaf1a7c, LO 0xffffffffdd35f92a
+msubu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x52ef39, LO 0x8baa9f6
+msubu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x1b7ba22, LO 0x368b65a0
+msubu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x25b7602, LO 0xffffffff9255ffec
+msubu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x32ff086, LO 0x3ec49c46
+msubu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x67b2f6a, LO 0xffffffff953a81d2
+msubu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x7e69a08, LO 0xffffffff9eab61e4
+msubu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x9332a77, LO 0x738cb910
+msubu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x9ef3ecf, LO 0xffffffffacfc8102
+msubu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0xf865693, LO 0xffffffff9c0dc93e
+msubu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0xeca9325, LO 0xffffffff9c10a978
+msubu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x112f5191, LO 0x71700084
+msubu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x102328d6, LO 0x54d1c88e
+msubu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x195fa70b, LO 0xffffffffa155768a
+msubu $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x32d850f5, LO 0x0
+msubu $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x3f9b762c, LO 0x0
+msubu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x1b33877c, LO 0x2f4160ba
+msubu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0xedec28, LO 0xffffffffab6830e6
+msubu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x2426c7f, LO 0x1f076430
+msubu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0x2d6f2c9, LO 0xf79731c
+msubu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0x39b04a3, LO 0xfffffffff51ac596
+msubu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0x5e80cd2, LO 0x75111422
+msubu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0x762f2d7, LO 0xffffffffa34fc514
+msubu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x8c0a9ee, LO 0x4a09cca0
+msubu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x98c1714, LO 0xffffffff94aa95f2
+msubu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xffffffffb417eb30, LO 0xffffffffd73e5c8e
+msubu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xffffffffb482f0b9, LO 0xad3fa8
+msubu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xffffffffb16c5fb3, LO 0x9c1ba54
+msubu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xffffffffafe6cd88, LO 0x5d563d3e
+msubu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xffffffff981472f3, LO 0xffffffffbfe68cba
+msubu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xffffffff98560882, LO 0x2a760d5c
+msubu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xffffffff9878cc17, LO 0xffffffff9931a928
+msubu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xffffffff96eae00e, LO 0xffffffff8386c28a
+msubu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffff80be43ad, LO 0xffffffffbb961196
+msubu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffff82b9892c, LO 0xffffffffeec8a200
+msubu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x7dd3c59d, LO 0x73ae654c
+msubu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x7e9e6a97, LO 0xffffffffefdb5ce6
+msubu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0x69dc9631, LO 0x18dd09f2
+msubu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x71159069
+msubu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x69c1dbb3, LO 0x62bebbf0
+msubu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x7897ab07
+msubu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xffffffffb3ca709e, LO 0xffffffffa232425e
+msubu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xffffffffb4292ccb, LO 0xffffffffc253ce58
+msubu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xffffffffb0ff6517, LO 0x3ec3f464
+msubu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffaf6d682c, LO 0x5c9ee0ae
+msubu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xffffffff9895d299, LO 0xfffffffff232c52a
+msubu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xffffffff98eae1b7, LO 0x3b73556c
+msubu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xffffffff991aca0c, LO 0x105b20d8
+msubu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xffffffff97a03989, LO 0xffffffffa5f6185a
+msubu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffff814a5d3a, LO 0xffffffffcf2b4846
+msubu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffff8338de4d, LO 0xffffffffcda8c8d0
+msubu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0x7e7f3e63, LO 0x1ce65cbc
+msubu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0x7f3cfcf7, LO 0xffffffff92c975f6
+msubu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x6975f286, LO 0x84b9502
+msubu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x6b5ac4bf, LO 0xffffffffdd287834
+msubu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x693af578, LO 0xffffffff8d9ef2c0
+msubu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x6a101efc, LO 0xffffffff858175d2
+msubu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x720da93, LO 0x3ef11548
+msubu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x81d3a0a, LO 0x537409ee
+msubu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x888e846, LO 0xffffffffb3d62c9e
+msubu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x9b48e49, LO 0xffffffffa85bc1f4
+msubu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x293a21, LO 0xffffffffd00521fc
+msubu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x13df012, LO 0xffffffffe0e0111a
+msubu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x280ab48, LO 0xffffffffc731e0ea
+msubu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x3a5c1fa, LO 0x5e6e67c8
+msubu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x19d4f60c, LO 0xffffffff959c8c60
+msubu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x18819d84, LO 0xffffffffde368c36
+msubu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x1abc0f61, LO 0xfffffffff8d33d86
+msubu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x1a57f407, LO 0xfffffffff2cba5ac
+msubu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0xfbe29ec, LO 0x607c124
+msubu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0xe832262, LO 0x58cb5d92
+msubu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x11d487a1, LO 0xffffffffa886b9c2
+msubu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x1169d7b2, LO 0x8b550
+msubu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0x692ce2b, LO 0xffffffffe87274b8
+msubu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0x79e0714, LO 0xffffffffc72810fe
+msubu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0x81a390e, LO 0x5b41754e
+msubu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x954da8a, LO 0x469570c4
+msubu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0xc8d36f, LO 0xffffffffb3bfc4cc
+msubu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x1cca0bd, LO 0xffffffffafcbc4ca
+msubu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0x2ffc421, LO 0x7de675fa
+msubu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0x4140f92, LO 0x33f0de38
+msubu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x1a667575, LO 0xffffffffca405a70
+msubu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x192171c6, LO 0xcad49a6
+msubu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x1b2dccdf, LO 0x2ffd1956
+msubu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x1ad828d0, LO 0xfffffffff52ba05c
+msubu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0xf3da69f, LO 0xffffffffc463d0d4
+msubu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0xdf13a83, LO 0xffffffffe6f8c562
+msubu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x1174a49e, LO 0x1378e032
+msubu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x10f8ae13, LO 0x9307560
+msubu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x6bcf9d8e, LO 0xffffffffd22861e8
+msubu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x6c52249d, LO 0xffffffffeb45014e
+msubu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0x67ca5028, LO 0xffffffff9a137cfe
+msubu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x69dc7188, LO 0xffffffff948d3394
+msubu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffff80020ecb, LO 0xffffffff93cb651c
+msubu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffff808cf879, LO 0xffffffffd19129fa
+msubu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x7e8c958b, LO 0xffffffff91ee98ca
+msubu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xffffffff80c81013, LO 0x60b27de8
+msubu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xffffffff9a6b0422, LO 0x2aeca140
+msubu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xffffffff991d4c0a, LO 0x1df1ed56
+msubu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xffffffff9626a34c, LO 0x6ea5fda6
+msubu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xffffffff96287c6f, LO 0x296d298c
+msubu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xffffffffb33da48f, LO 0xffffffffa7b97c84
+msubu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xffffffffb1f8559f, LO 0xffffffff81964c32
+msubu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xffffffffb249370f, LO 0x73aa5162
+msubu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xffffffffb2746f92, LO 0x67e909b0
+msubu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x6b6d9f85, LO 0xffffffffea264918
+msubu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x6c027e05, LO 0x57f1189e
+msubu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x674893d4, LO 0x260715ee
+msubu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x696d2ac7, LO 0x66d3ce24
+msubu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffff8091102d, LO 0x4891e8ac
+msubu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffff810e9311, LO 0xffffffffa80534ea
+msubu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0x7f3c36f6, LO 0x239b451a
+msubu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xffffffff816a6c3a, LO 0x2b07118
+msubu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xffffffff9ae87dfd, LO 0x4b88ac90
+msubu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xffffffff99ada07e, LO 0x77dc7186
+msubu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xffffffff96c37f95, LO 0xffffffffdcdbe036
+msubu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xffffffff96d851e9, LO 0x5d4dc57c
+msubu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xffffffffb2edbd5f, LO 0xfffffffff99d2674
+msubu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xffffffffb19b8404, LO 0x24c7c5c2
+msubu $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0xffffffffb5365d03, LO 0x0
+msubu $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0xffffffffb1f740b4, LO 0x0
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+mul $t0, $t1, $t2 :: rd 0xffffffffe4ba75ac, rs 0x9823b6e, rt 0xffffffffb8757bda
+mul $t0, $t1, $t2 :: rd 0x13a60065, rs 0xd4326d9, rt 0xffffffffbcb4666d
+mul $t0, $t1, $t2 :: rd 0xffffffffb5b6b160, rs 0x130476dc, rt 0xffffffffa2f33668
+mul $t0, $t1, $t2 :: rd 0x3ae98b35, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+mul $t0, $t1, $t2 :: rd 0xffffffffa2a9dc2c, rs 0x1a864db2, rt 0xffffffffab710d06
+mul $t0, $t1, $t2 :: rd 0xffffffffd2bea375, rs 0x1e475005, rt 0xffffffffafb010b1
+mul $t0, $t1, $t2 :: rd 0x23587ca0, rs 0x2608edb8, rt 0xffffffff97ffad0c
+mul $t0, $t1, $t2 :: rd 0xffffffffff2eaaf5, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+mul $t0, $t1, $t2 :: rd 0xffffffff8785a1ec, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+mul $t0, $t1, $t2 :: rd 0xffffffffe2b9e2b5, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+mul $t0, $t1, $t2 :: rd 0xffffffffce38cd40, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+mul $t0, $t1, $t2 :: rd 0xbc670e5, rs 0x31cd86d3, rt 0xffffffff803ac667
+mul $t0, $t1, $t2 :: rd 0xffffffffe49d876c, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+mul $t0, $t1, $t2 :: rd 0x4e2974a5, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+mul $t0, $t1, $t2 :: rd 0xffffffffe428d1c0, rs 0x4c11db70, rt 0xfffffffffde69bc4
+mul $t0, $t1, $t2 :: rd 0xffffffffd5267565, rs 0x48d0c6c7, rt 0xfffffffff9278673
+mul $t0, $t1, $t2 :: rd 0xffffffffc3fd93ec, rs 0x4593e01e, rt 0xfffffffff464a0aa
+mul $t0, $t1, $t2 :: rd 0xffffffff99998125, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+mul $t0, $t1, $t2 :: rd 0x35a88420, rs 0x5f15adac, rt 0xffffffffeee2ed18
+mul $t0, $t1, $t2 :: rd 0xffffffffed2eb275, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+mul $t0, $t1, $t2 :: rd 0x38a5a96c, rs 0x569796c2, rt 0xffffffffe760d676
+mul $t0, $t1, $t2 :: rd 0x2769ea35, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+mul $t0, $t1, $t2 :: rd 0x966b8e0, rs 0x6a1936c8, rt 0xffffffffdbee767c
+mul $t0, $t1, $t2 :: rd 0xffffffffdce992b5, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+mul $t0, $t1, $t2 :: rd 0xffffffff9209e3ac, rs 0x639b0da6, rt 0xffffffffd26c4d12
+mul $t0, $t1, $t2 :: rd 0xffffffffd38eaaf5, rs 0x675a1011, rt 0xffffffffd6ad50a5
+mul $t0, $t1, $t2 :: rd 0xffffffffe4900c80, rs 0x791d4014, rt 0xffffffffc8ea00a0
+mul $t0, $t1, $t2 :: rd 0xffffffffe3c8e0a5, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+mul $t0, $t1, $t2 :: rd 0xffffffff855a7a2c, rs 0x709f7b7a, rt 0xffffffffc1683bce
+mul $t0, $t1, $t2 :: rd 0xffffffffa23604e5, rs 0x745e66cd, rt 0xffffffffc5a92679
+mul $t0, $t1, $t2 :: rd 0xffffffff8ef34180, rs 0xffffffff9823b6e0, rt 0x29d4f654
+mul $t0, $t1, $t2 :: rd 0xffffffff8969cb25, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+mul $t0, $t1, $t2 :: rd 0xffffffffaaa8c82c, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+mul $t0, $t1, $t2 :: rd 0xffffffffd0fcbf65, rs 0xffffffff95609039, rt 0x2497d08d
+mul $t0, $t1, $t2 :: rd 0xffffffff95fc1fe0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+mul $t0, $t1, $t2 :: rd 0x5fe9c435, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+mul $t0, $t1, $t2 :: rd 0x75f8b1ac, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+mul $t0, $t1, $t2 :: rd 0xffffffffbc248c75, rs 0xffffffff8664e6e5, rt 0x3793a651
+mul $t0, $t1, $t2 :: rd 0xffffffff8a3a7d20, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+mul $t0, $t1, $t2 :: rd 0x3d03d0f5, rs 0xffffffffbaea46ef, rt 0xb1d065b
+mul $t0, $t1, $t2 :: rd 0x7dd9b6c, rs 0xffffffffb7a96036, rt 0x65e2082
+mul $t0, $t1, $t2 :: rd 0xffffffffffa8b8b5, rs 0xffffffffb3687d81, rt 0x29f3d35
+mul $t0, $t1, $t2 :: rd 0x6699bcc0, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+mul $t0, $t1, $t2 :: rd 0x4eacbae5, rs 0xffffffffa9ee3033, rt 0x18197087
+mul $t0, $t1, $t2 :: rd 0xffffffffdd8505ec, rs 0xffffffffa4ad16ea, rt 0x155a565e
+mul $t0, $t1, $t2 :: rd 0xffffffffb7f996a5, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+mul $t0, $t1, $t2 :: rd 0xffffffffd429b840, rs 0xffffffffd4326d90, rt 0x65c52d24
+mul $t0, $t1, $t2 :: rd 0x286cb665, rs 0xffffffffd0f37027, rt 0x61043093
+mul $t0, $t1, $t2 :: rd 0xffffffff84e4f96c, rs 0xffffffffddb056fe, rt 0x6c47164a
+mul $t0, $t1, $t2 :: rd 0xffffffffd3698a25, rs 0xffffffffd9714b49, rt 0x68860bfd
+mul $t0, $t1, $t2 :: rd 0xffffffffd46a75a0, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+mul $t0, $t1, $t2 :: rd 0xffffffffcb23c975, rs 0xffffffffc3f706fb, rt 0x7200464f
+mul $t0, $t1, $t2 :: rd 0xfffffffff07d93ec, rs 0xffffffffceb42022, rt 0x7f436096
+mul $t0, $t1, $t2 :: rd 0x34d8b135, rs 0xffffffffca753d95, rt 0x7b827d21
+mul $t0, $t1, $t2 :: rd 0xffffffff93cc1860, rs 0xfffffffff23a8028, rt 0x43cdc09c
+mul $t0, $t1, $t2 :: rd 0x2fc9bcb5, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+mul $t0, $t1, $t2 :: rd 0x1ad8aa2c, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+mul $t0, $t1, $t2 :: rd 0x2f7484f5, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+mul $t0, $t1, $t2 :: rd 0x38e33500, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+mul $t0, $t1, $t2 :: rd 0x3229bea5, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+mul $t0, $t1, $t2 :: rd 0xffffffff9548c3ac, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+mul $t0, $t1, $t2 :: rd 0xffffffffad8cbae5, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+mul $t0, $t1, $t2 :: rd 0xffffffffaf04faa5, rs 0x34867077, rt 0xffffffff857130c3
+mul $t0, $t1, $t2 :: rd 0xffffffffa2a87b00, rs 0x30476dc0, rt 0xffffffff81b02d74
+mul $t0, $t1, $t2 :: rd 0x5fdbd2e5, rs 0x3d044b19, rt 0xffffffff8cf30bad
+mul $t0, $t1, $t2 :: rd 0x3179c1ac, rs 0x39c556ae, rt 0xffffffff8832161a
+mul $t0, $t1, $t2 :: rd 0xffffffff94b890b5, rs 0x278206ab, rt 0xffffffff9675461f
+mul $t0, $t1, $t2 :: rd 0x65cbe60, rs 0x23431b1c, rt 0xffffffff92b45ba8
+mul $t0, $t1, $t2 :: rd 0x605774f5, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+mul $t0, $t1, $t2 :: rd 0x5b95d82c, rs 0x2ac12072, rt 0xffffffff9b3660c6
+mul $t0, $t1, $t2 :: rd 0x6c988575, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+mul $t0, $t1, $t2 :: rd 0x5f45fa0, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+mul $t0, $t1, $t2 :: rd 0xffffffffdf995135, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+mul $t0, $t1, $t2 :: rd 0x2d9af5ec, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+mul $t0, $t1, $t2 :: rd 0xffffffffa4ec0a65, rs 0x18aeb13, rt 0xffffffffb07daba7
+mul $t0, $t1, $t2 :: rd 0xffffffffc6880240, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+mul $t0, $t1, $t2 :: rd 0x45b50225, rs 0x808d07d, rt 0xffffffffb9ff90c9
+mul $t0, $t1, $t2 :: rd 0x6a978b6c, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x7897ab07, rt 0x0
+mul $t0, $t1, $t2 :: rd 0x1997fac0, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x71159069, rt 0x0
+mul $t0, $t1, $t2 :: rd 0x5cf783ec, rs 0x75d48dde, rt 0xffffffffc423cd6a
+mul $t0, $t1, $t2 :: rd 0x7bb880f5, rs 0x6b93dddb, rt 0xffffffffda649d6f
+mul $t0, $t1, $t2 :: rd 0xfffffffffba45b20, rs 0x6f52c06c, rt 0xffffffffdea580d8
+mul $t0, $t1, $t2 :: rd 0x734944b5, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+mul $t0, $t1, $t2 :: rd 0xffffffffab3ae96c, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+mul $t0, $t1, $t2 :: rd 0xffffffffdb188435, rs 0x5e9f46bf, rt 0xffffffffef68060b
+mul $t0, $t1, $t2 :: rd 0xffffffffc12cb1e0, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+mul $t0, $t1, $t2 :: rd 0x2ca77075, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+mul $t0, $t1, $t2 :: rd 0xffffffff93f5d3ac, rs 0x53dc6066, rt 0xffffffffe22b20d2
+mul $t0, $t1, $t2 :: rd 0xfffffffff044f325, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+mul $t0, $t1, $t2 :: rd 0x3f987380, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+mul $t0, $t1, $t2 :: rd 0x436bcb65, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+mul $t0, $t1, $t2 :: rd 0x6999ba2c, rs 0x40d816ba, rt 0xfffffffff12f560e
+mul $t0, $t1, $t2 :: rd 0x17fb30a5, rs 0xffffffffaca5c697, rt 0x1d528623
+mul $t0, $t1, $t2 :: rd 0x5e5b0e80, rs 0xffffffffa864db20, rt 0x19939b94
+mul $t0, $t1, $t2 :: rd 0x1d838e5, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+mul $t0, $t1, $t2 :: rd 0x2cd5cc2c, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+mul $t0, $t1, $t2 :: rd 0xffffffffca86eab5, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+mul $t0, $t1, $t2 :: rd 0xffffffffabe73ae0, rs 0xffffffffbb60adfc, rt 0xa97ed48
+mul $t0, $t1, $t2 :: rd 0xffffffff971c26f5, rs 0xffffffffb6238b25, rt 0x7d4cb91
+mul $t0, $t1, $t2 :: rd 0x77a65ac, rs 0xffffffffb2e29692, rt 0x315d626
+mul $t0, $t1, $t2 :: rd 0x5b6bca75, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+mul $t0, $t1, $t2 :: rd 0xffffffffe698976c, rs 0xffffffff87ee0df6, rt 0x36194d42
+mul $t0, $t1, $t2 :: rd 0x44d79565, rs 0xffffffff99a95df3, rt 0x285e1d47
+mul $t0, $t1, $t2 :: rd 0x2bf83fc0, rs 0xffffffff9d684044, rt 0x2c9f00f0
+mul $t0, $t1, $t2 :: rd 0xfffffffff41abd25, rs 0xffffffff902b669d, rt 0x21dc2629
+mul $t0, $t1, $t2 :: rd 0xfffffffff8dcb1ec, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+mul $t0, $t1, $t2 :: rd 0x33b79ce5, rs 0xffffffffe0b41de7, rt 0x51435d53
+mul $t0, $t1, $t2 :: rd 0x70e84740, rs 0xffffffffe4750050, rt 0x558240e4
+mul $t0, $t1, $t2 :: rd 0x4a8ac4a5, rs 0xffffffffe9362689, rt 0x58c1663d
+mul $t0, $t1, $t2 :: rd 0x58bcb96c, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+mul $t0, $t1, $t2 :: rd 0xffffffffb4ebcef5, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+mul $t0, $t1, $t2 :: rd 0x651b76a0, rs 0xfffffffff771768c, rt 0x46863638
+mul $t0, $t1, $t2 :: rd 0xffffffffc3a6eab5, rs 0xfffffffffa325055, rt 0x4bc510e1
+mul $t0, $t1, $t2 :: rd 0xfffffffff638a3ec, rs 0xfffffffffef34de2, rt 0x4f040d56
+mul $t0, $t1, $t2 :: rd 0xffffffffe986f735, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+mul $t0, $t1, $t2 :: rd 0x76174760, rs 0xffffffffc27dede8, rt 0x738aad5c
+mul $t0, $t1, $t2 :: rd 0x6b6c2b75, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+mul $t0, $t1, $t2 :: rd 0x4fda6a2c, rs 0xffffffffcbffd686, rt 0x7a089632
+mul $t0, $t1, $t2 :: rd 0x511b3825, rs 0xffffffffd5b88683, rt 0x644fc637
+mul $t0, $t1, $t2 :: rd 0x5b6b1600, rs 0xffffffffd1799b34, rt 0x608edb80
+mul $t0, $t1, $t2 :: rd 0xffffffff9de84065, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+mul $t0, $t1, $t2 :: rd 0x5475d3ac, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+mul $t0, $t1, $t2 :: rd 0x5475d3ac, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+mul $t0, $t1, $t2 :: rd 0xffffffff9de84065, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+mul $t0, $t1, $t2 :: rd 0x5b6b1600, rs 0x608edb80, rt 0xffffffffd1799b34
+mul $t0, $t1, $t2 :: rd 0x511b3825, rs 0x644fc637, rt 0xffffffffd5b88683
+mul $t0, $t1, $t2 :: rd 0x4fda6a2c, rs 0x7a089632, rt 0xffffffffcbffd686
+mul $t0, $t1, $t2 :: rd 0x6b6c2b75, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+mul $t0, $t1, $t2 :: rd 0x76174760, rs 0x738aad5c, rt 0xffffffffc27dede8
+mul $t0, $t1, $t2 :: rd 0xffffffffe986f735, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+mul $t0, $t1, $t2 :: rd 0xfffffffff638a3ec, rs 0x4f040d56, rt 0xfffffffffef34de2
+mul $t0, $t1, $t2 :: rd 0xffffffffc3a6eab5, rs 0x4bc510e1, rt 0xfffffffffa325055
+mul $t0, $t1, $t2 :: rd 0x651b76a0, rs 0x46863638, rt 0xfffffffff771768c
+mul $t0, $t1, $t2 :: rd 0xffffffffb4ebcef5, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+mul $t0, $t1, $t2 :: rd 0x58bcb96c, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+mul $t0, $t1, $t2 :: rd 0x4a8ac4a5, rs 0x58c1663d, rt 0xffffffffe9362689
+mul $t0, $t1, $t2 :: rd 0x70e84740, rs 0x558240e4, rt 0xffffffffe4750050
+mul $t0, $t1, $t2 :: rd 0x33b79ce5, rs 0x51435d53, rt 0xffffffffe0b41de7
+mul $t0, $t1, $t2 :: rd 0xfffffffff8dcb1ec, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+mul $t0, $t1, $t2 :: rd 0xfffffffff41abd25, rs 0x21dc2629, rt 0xffffffff902b669d
+mul $t0, $t1, $t2 :: rd 0x2bf83fc0, rs 0x2c9f00f0, rt 0xffffffff9d684044
+mul $t0, $t1, $t2 :: rd 0x44d79565, rs 0x285e1d47, rt 0xffffffff99a95df3
+mul $t0, $t1, $t2 :: rd 0xffffffffe698976c, rs 0x36194d42, rt 0xffffffff87ee0df6
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x32d850f5, rt 0x0
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x3f9b762c, rt 0x0
+mul $t0, $t1, $t2 :: rd 0x5b6bca75, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+mul $t0, $t1, $t2 :: rd 0x77a65ac, rs 0x315d626, rt 0xffffffffb2e29692
+mul $t0, $t1, $t2 :: rd 0xffffffff971c26f5, rs 0x7d4cb91, rt 0xffffffffb6238b25
+mul $t0, $t1, $t2 :: rd 0xffffffffabe73ae0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+mul $t0, $t1, $t2 :: rd 0xffffffffca86eab5, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+mul $t0, $t1, $t2 :: rd 0x2cd5cc2c, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+mul $t0, $t1, $t2 :: rd 0x1d838e5, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+mul $t0, $t1, $t2 :: rd 0x5e5b0e80, rs 0x19939b94, rt 0xffffffffa864db20
+mul $t0, $t1, $t2 :: rd 0x17fb30a5, rs 0x1d528623, rt 0xffffffffaca5c697
+mul $t0, $t1, $t2 :: rd 0x6999ba2c, rs 0xfffffffff12f560e, rt 0x40d816ba
+mul $t0, $t1, $t2 :: rd 0x436bcb65, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+mul $t0, $t1, $t2 :: rd 0x3f987380, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+mul $t0, $t1, $t2 :: rd 0xfffffffff044f325, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+mul $t0, $t1, $t2 :: rd 0xffffffff93f5d3ac, rs 0xffffffffe22b20d2, rt 0x53dc6066
+mul $t0, $t1, $t2 :: rd 0x2ca77075, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+mul $t0, $t1, $t2 :: rd 0xffffffffc12cb1e0, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+mul $t0, $t1, $t2 :: rd 0xffffffffdb188435, rs 0xffffffffef68060b, rt 0x5e9f46bf
+mul $t0, $t1, $t2 :: rd 0xffffffffab3ae96c, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+mul $t0, $t1, $t2 :: rd 0x734944b5, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+mul $t0, $t1, $t2 :: rd 0xfffffffffba45b20, rs 0xffffffffdea580d8, rt 0x6f52c06c
+mul $t0, $t1, $t2 :: rd 0x7bb880f5, rs 0xffffffffda649d6f, rt 0x6b93dddb
+mul $t0, $t1, $t2 :: rd 0x5cf783ec, rs 0xffffffffc423cd6a, rt 0x75d48dde
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+mul $t0, $t1, $t2 :: rd 0x1997fac0, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+mul $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+mul $t0, $t1, $t2 :: rd 0x6a978b6c, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+mul $t0, $t1, $t2 :: rd 0x45b50225, rs 0xffffffffb9ff90c9, rt 0x808d07d
+mul $t0, $t1, $t2 :: rd 0xffffffffc6880240, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+mul $t0, $t1, $t2 :: rd 0xffffffffa4ec0a65, rs 0xffffffffb07daba7, rt 0x18aeb13
+mul $t0, $t1, $t2 :: rd 0x2d9af5ec, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+mul $t0, $t1, $t2 :: rd 0xffffffffdf995135, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+mul $t0, $t1, $t2 :: rd 0x5f45fa0, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+mul $t0, $t1, $t2 :: rd 0x6c988575, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+mul $t0, $t1, $t2 :: rd 0x5b95d82c, rs 0xffffffff9b3660c6, rt 0x2ac12072
+mul $t0, $t1, $t2 :: rd 0x605774f5, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+mul $t0, $t1, $t2 :: rd 0x65cbe60, rs 0xffffffff92b45ba8, rt 0x23431b1c
+mul $t0, $t1, $t2 :: rd 0xffffffff94b890b5, rs 0xffffffff9675461f, rt 0x278206ab
+mul $t0, $t1, $t2 :: rd 0x3179c1ac, rs 0xffffffff8832161a, rt 0x39c556ae
+mul $t0, $t1, $t2 :: rd 0x5fdbd2e5, rs 0xffffffff8cf30bad, rt 0x3d044b19
+mul $t0, $t1, $t2 :: rd 0xffffffffa2a87b00, rs 0xffffffff81b02d74, rt 0x30476dc0
+mul $t0, $t1, $t2 :: rd 0xffffffffaf04faa5, rs 0xffffffff857130c3, rt 0x34867077
+mul $t0, $t1, $t2 :: rd 0xffffffffad8cbae5, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+mul $t0, $t1, $t2 :: rd 0xffffffff9548c3ac, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+mul $t0, $t1, $t2 :: rd 0x3229bea5, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+mul $t0, $t1, $t2 :: rd 0x38e33500, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+mul $t0, $t1, $t2 :: rd 0x2f7484f5, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+mul $t0, $t1, $t2 :: rd 0x1ad8aa2c, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+mul $t0, $t1, $t2 :: rd 0x2fc9bcb5, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+mul $t0, $t1, $t2 :: rd 0xffffffff93cc1860, rs 0x43cdc09c, rt 0xfffffffff23a8028
+mul $t0, $t1, $t2 :: rd 0x34d8b135, rs 0x7b827d21, rt 0xffffffffca753d95
+mul $t0, $t1, $t2 :: rd 0xfffffffff07d93ec, rs 0x7f436096, rt 0xffffffffceb42022
+mul $t0, $t1, $t2 :: rd 0xffffffffcb23c975, rs 0x7200464f, rt 0xffffffffc3f706fb
+mul $t0, $t1, $t2 :: rd 0xffffffffd46a75a0, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+mul $t0, $t1, $t2 :: rd 0xffffffffd3698a25, rs 0x68860bfd, rt 0xffffffffd9714b49
+mul $t0, $t1, $t2 :: rd 0xffffffff84e4f96c, rs 0x6c47164a, rt 0xffffffffddb056fe
+mul $t0, $t1, $t2 :: rd 0x286cb665, rs 0x61043093, rt 0xffffffffd0f37027
+mul $t0, $t1, $t2 :: rd 0xffffffffd429b840, rs 0x65c52d24, rt 0xffffffffd4326d90
+mul $t0, $t1, $t2 :: rd 0xffffffffb7f996a5, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+mul $t0, $t1, $t2 :: rd 0xffffffffdd8505ec, rs 0x155a565e, rt 0xffffffffa4ad16ea
+mul $t0, $t1, $t2 :: rd 0x4eacbae5, rs 0x18197087, rt 0xffffffffa9ee3033
+mul $t0, $t1, $t2 :: rd 0x6699bcc0, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+mul $t0, $t1, $t2 :: rd 0xffffffffffa8b8b5, rs 0x29f3d35, rt 0xffffffffb3687d81
+mul $t0, $t1, $t2 :: rd 0x7dd9b6c, rs 0x65e2082, rt 0xffffffffb7a96036
+mul $t0, $t1, $t2 :: rd 0x3d03d0f5, rs 0xb1d065b, rt 0xffffffffbaea46ef
+mul $t0, $t1, $t2 :: rd 0xffffffff8a3a7d20, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+mul $t0, $t1, $t2 :: rd 0xffffffffbc248c75, rs 0x3793a651, rt 0xffffffff8664e6e5
+mul $t0, $t1, $t2 :: rd 0x75f8b1ac, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+mul $t0, $t1, $t2 :: rd 0x5fe9c435, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+mul $t0, $t1, $t2 :: rd 0xffffffff95fc1fe0, rs 0x3ad08088, rt 0xffffffff8b27c03c
+mul $t0, $t1, $t2 :: rd 0xffffffffd0fcbf65, rs 0x2497d08d, rt 0xffffffff95609039
+mul $t0, $t1, $t2 :: rd 0xffffffffaaa8c82c, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+mul $t0, $t1, $t2 :: rd 0xffffffff8969cb25, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+mul $t0, $t1, $t2 :: rd 0xffffffff8ef34180, rs 0x29d4f654, rt 0xffffffff9823b6e0
+mul $t0, $t1, $t2 :: rd 0xffffffffa23604e5, rs 0xffffffffc5a92679, rt 0x745e66cd
+mul $t0, $t1, $t2 :: rd 0xffffffff855a7a2c, rs 0xffffffffc1683bce, rt 0x709f7b7a
+mul $t0, $t1, $t2 :: rd 0xffffffffe3c8e0a5, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+mul $t0, $t1, $t2 :: rd 0xffffffffe4900c80, rs 0xffffffffc8ea00a0, rt 0x791d4014
+mul $t0, $t1, $t2 :: rd 0xffffffffd38eaaf5, rs 0xffffffffd6ad50a5, rt 0x675a1011
+mul $t0, $t1, $t2 :: rd 0xffffffff9209e3ac, rs 0xffffffffd26c4d12, rt 0x639b0da6
+mul $t0, $t1, $t2 :: rd 0xffffffffdce992b5, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+mul $t0, $t1, $t2 :: rd 0x966b8e0, rs 0xffffffffdbee767c, rt 0x6a1936c8
+mul $t0, $t1, $t2 :: rd 0x2769ea35, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+mul $t0, $t1, $t2 :: rd 0x38a5a96c, rs 0xffffffffe760d676, rt 0x569796c2
+mul $t0, $t1, $t2 :: rd 0xffffffffed2eb275, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+mul $t0, $t1, $t2 :: rd 0x35a88420, rs 0xffffffffeee2ed18, rt 0x5f15adac
+mul $t0, $t1, $t2 :: rd 0xffffffff99998125, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+mul $t0, $t1, $t2 :: rd 0xffffffffc3fd93ec, rs 0xfffffffff464a0aa, rt 0x4593e01e
+mul $t0, $t1, $t2 :: rd 0xffffffffd5267565, rs 0xfffffffff9278673, rt 0x48d0c6c7
+mul $t0, $t1, $t2 :: rd 0xffffffffe428d1c0, rs 0xfffffffffde69bc4, rt 0x4c11db70
+mul $t0, $t1, $t2 :: rd 0x4e2974a5, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+mul $t0, $t1, $t2 :: rd 0xffffffffe49d876c, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+mul $t0, $t1, $t2 :: rd 0xbc670e5, rs 0xffffffff803ac667, rt 0x31cd86d3
+mul $t0, $t1, $t2 :: rd 0xffffffffce38cd40, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+mul $t0, $t1, $t2 :: rd 0xffffffffe2b9e2b5, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+mul $t0, $t1, $t2 :: rd 0xffffffff8785a1ec, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+mul $t0, $t1, $t2 :: rd 0xffffffffff2eaaf5, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+mul $t0, $t1, $t2 :: rd 0x23587ca0, rs 0xffffffff97ffad0c, rt 0x2608edb8
+mul $t0, $t1, $t2 :: rd 0xffffffffd2bea375, rs 0xffffffffafb010b1, rt 0x1e475005
+mul $t0, $t1, $t2 :: rd 0xffffffffa2a9dc2c, rs 0xffffffffab710d06, rt 0x1a864db2
+mul $t0, $t1, $t2 :: rd 0x3ae98b35, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+mul $t0, $t1, $t2 :: rd 0xffffffffb5b6b160, rs 0xffffffffa2f33668, rt 0x130476dc
+mul $t0, $t1, $t2 :: rd 0x13a60065, rs 0xffffffffbcb4666d, rt 0xd4326d9
+mul $t0, $t1, $t2 :: rd 0xffffffffe4ba75ac, rs 0xffffffffb8757bda, rt 0x9823b6e
+mul $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb5365d03, rt 0x0
+mul $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb1f740b4, rt 0x0
+mult $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0xfffffffffd57bc67, LO 0xffffffffe4ba75ac
+mult $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0xfffffffffc838234, LO 0x13a60065
+mult $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0xfffffffff9166da2, LO 0xffffffffb5b6b160
+mult $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0xfffffffff7a940de, LO 0x3ae98b35
+mult $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0xfffffffff73d1ed5, LO 0xffffffffa2a9dc2c
+mult $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0xfffffffff68042ae, LO 0xffffffffd2bea375
+mult $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0xfffffffff08c531a, LO 0x23587ca0
+mult $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0xfffffffff13889b5, LO 0xffffffffff2eaaf5
+mult $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0xffffffffede42c7a, LO 0xffffffff8785a1ec
+mult $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0xffffffffeedfb046, LO 0xffffffffe2b9e2b5
+mult $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0xffffffffe68215a4, LO 0xffffffffce38cd40
+mult $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0xffffffffe724abc0, LO 0xbc670e5
+mult $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0xffffffffe4e8c2ae, LO 0xffffffffe49d876c
+mult $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0xffffffffe5fb9fc6, LO 0x4e2974a5
+mult $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0xffffffffff6050c1, LO 0xffffffffe428d1c0
+mult $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0xfffffffffe0d889c, LO 0xffffffffd5267565
+mult $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0xfffffffffcd86aec, LO 0xffffffffc3fd93ec
+mult $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0xfffffffffc151ae4, LO 0xffffffff99998125
+mult $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0xfffffffff9a4c2fd, LO 0x35a88420
+mult $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0xfffffffff8289d47, LO 0xffffffffed2eb275
+mult $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0xfffffffff7abf3aa, LO 0x38a5a96c
+mult $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0xfffffffff6e03c2a, LO 0x2769ea35
+mult $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0xfffffffff10d2fa1, LO 0x966b8e0
+mult $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0xfffffffff1caaac0, LO 0xffffffffdce992b5
+mult $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0xffffffffee4446f2, LO 0xffffffff9209e3ac
+mult $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0xffffffffef5131c8, LO 0xffffffffd38eaaf5
+mult $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0xffffffffe5f04f03, LO 0xffffffffe4900c80
+mult $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0xffffffffe6846f4b, LO 0xffffffffe3c8e0a5
+mult $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0xffffffffe4769bb6, LO 0xffffffff855a7a2c
+mult $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0xffffffffe57b221d, LO 0xffffffffa23604e5
+mult $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0xffffffffef0751ed, LO 0xffffffff8ef34180
+mult $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0xffffffffee8b5b62, LO 0xffffffff8969cb25
+mult $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0xfffffffff20ec57c, LO 0xffffffffaaa8c82c
+mult $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0xfffffffff0c25960, LO 0xffffffffd0fcbf65
+mult $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0xffffffffe527d72f, LO 0xffffffff95fc1fe0
+mult $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0xffffffffe4d23321, LO 0x5fe9c435
+mult $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0xffffffffe6de8e3a, LO 0x75f8b1ac
+mult $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0xffffffffe5998a8a, LO 0xffffffffbc248c75
+mult $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xfffffffffbebf06e, LO 0xffffffff8a3a7d20
+mult $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0xfffffffffd003bdf, LO 0x3d03d0f5
+mult $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0xfffffffffe335f43, LO 0x7dd9b6c
+mult $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0xffffffffff372c90, LO 0xffffffffffa8b8b5
+mult $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0xfffffffff6ab2576, LO 0x6699bcc0
+mult $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xfffffffff7e5c6f2, LO 0x4eacbae5
+mult $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xfffffffff861f8eb, LO 0xffffffffdd8505ec
+mult $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xfffffffff96d31d4, LO 0xffffffffb7f996a5
+mult $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0xffffffffee96284e, LO 0xffffffffd429b840
+mult $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0xffffffffee2b785f, LO 0x286cb665
+mult $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0xfffffffff17cdd9e, LO 0xffffffff84e4f96c
+mult $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0xfffffffff041d614, LO 0xffffffffd3698a25
+mult $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0xffffffffe5a80bf8, LO 0xffffffffd46a75a0
+mult $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0xffffffffe543f09e, LO 0xffffffffcb23c975
+mult $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0xffffffffe77e627b, LO 0xfffffffff07d93ec
+mult $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0xffffffffe62b09f4, LO 0x34d8b135
+mult $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0xfffffffffc5a3e06, LO 0xffffffff93cc1860
+mult $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0xfffffffffd7f54b8, LO 0x2fc9bcb5
+mult $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0xfffffffffec20fee, LO 0x1ad8aa2c
+mult $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0xffffffffffd6c5df, LO 0x2f7484f5
+mult $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0xfffffffff64b71b7, LO 0x38e33500
+mult $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0xfffffffff77717ba, LO 0x3229bea5
+mult $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0xfffffffff7e2c5f6, LO 0xffffffff9548c3ac
+mult $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0xfffffffff8df256d, LO 0xffffffffad8cbae5
+mult $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0xffffffffe6daa14f, LO 0xffffffffaf04faa5
+mult $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0xffffffffe82dca3b, LO 0xffffffffa2a87b00
+mult $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0xffffffffe493fbd4, LO 0x5fdbd2e5
+mult $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0xffffffffe4f6cce6, LO 0x3179c1ac
+mult $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0xffffffffefb6427c, LO 0xffffffff94b890b5
+mult $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0xfffffffff0f20229, LO 0x65cbe60
+mult $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0xffffffffeebe615e, LO 0x605774f5
+mult $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0xffffffffef2ae319, LO 0x5b95d82c
+mult $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0xfffffffff94b0622, LO 0x6c988575
+mult $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0xfffffffff84e7648, LO 0x5f45fa0
+mult $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0xfffffffff7045dbc, LO 0xffffffffdf995135
+mult $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0xfffffffff5d76df2, LO 0x2d9af5ec
+mult $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0xffffffffff855867, LO 0xffffffffa4ec0a65
+mult $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0xfffffffffe715a54, LO 0xffffffffc6880240
+mult $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0xfffffffffdcd9380, LO 0x45b50225
+mult $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0xfffffffffcaa4f15, LO 0x6a978b6c
+mult $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0xffffffffe78963a1, LO 0x1997fac0
+mult $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0xffffffffe472a95b, LO 0x5cf783ec
+mult $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0xfffffffff03254fc, LO 0x7bb880f5
+mult $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0xfffffffff17eface, LO 0xfffffffffba45b20
+mult $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0xffffffffef1b361f, LO 0x734944b5
+mult $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0xffffffffef987d06, LO 0xffffffffab3ae96c
+mult $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0xfffffffff9dddf3d, LO 0xffffffffdb188435
+mult $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0xfffffffff8d1f49c, LO 0xffffffffc12cb1e0
+mult $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0xfffffffff776b712, LO 0x2ca77075
+mult $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0xfffffffff63a4d78, LO 0xffffffff93f5d3ac
+mult $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0xfffffffffeea72eb, LO 0xfffffffff044f325
+mult $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0xfffffffffde6dfd9, LO 0x3f987380
+mult $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0xfffffffffd524ff3, LO 0x436bcb65
+mult $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0xfffffffffc3f5423, LO 0x6999ba2c
+mult $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0xfffffffff673e8ec, LO 0x17fb30a5
+mult $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0xfffffffff73f5612, LO 0x5e5b0e80
+mult $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xfffffffff89d0d29, LO 0x1d838e5
+mult $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xfffffffffa17f32e, LO 0x2cd5cc2c
+mult $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xfffffffffc64fb5c, LO 0xffffffffca86eab5
+mult $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0xfffffffffd290d37, LO 0xffffffffabe73ae0
+mult $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0xfffffffffdbd9381, LO 0xffffffff971c26f5
+mult $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0xffffffffff1213d8, LO 0x77a65ac
+mult $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0xffffffffe4cc7884, LO 0x5b6bca75
+mult $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0xffffffffe6a058f4, LO 0xffffffffe698976c
+mult $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0xffffffffefdcd72a, LO 0x44d79565
+mult $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0xffffffffeed0ae6f, LO 0x2bf83fc0
+mult $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0xfffffffff1356cda, LO 0xfffffffff41abd25
+mult $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0xfffffffff079a96c, LO 0xfffffffff8dcb1ec
+mult $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0xfffffffff610c131, LO 0x33b79ce5
+mult $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0xfffffffff6ccd589, LO 0x70e84740
+mult $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0xfffffffff81965f8, LO 0x4a8ac4a5
+mult $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0xfffffffff984d096, LO 0x58bcb96c
+mult $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0xfffffffffcd00f7a, LO 0xffffffffb4ebcef5
+mult $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0xfffffffffda489fe, LO 0x651b76a0
+mult $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0xfffffffffe4845de, LO 0xffffffffc3a6eab5
+mult $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0xffffffffffad10c7, LO 0xfffffffff638a3ec
+mult $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0xffffffffe550e583, LO 0xffffffffe986f735
+mult $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0xffffffffe43d401a, LO 0x76174760
+mult $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0xffffffffe7da85bd, LO 0x6b6c2b75
+mult $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0xffffffffe7362db8, LO 0x4fda6a2c
+mult $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0xffffffffef6ee7c0, LO 0x511b3825
+mult $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0xffffffffee73a3c3, LO 0x5b6b1600
+mult $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0xfffffffff0a83a81, LO 0xffffffff9de84065
+mult $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0xffffffffeffd3e48, LO 0x5475d3ac
+mult $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0xffffffffeffd3e48, LO 0x5475d3ac
+mult $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0xfffffffff0a83a81, LO 0xffffffff9de84065
+mult $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0xffffffffee73a3c3, LO 0x5b6b1600
+mult $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0xffffffffef6ee7c0, LO 0x511b3825
+mult $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0xffffffffe7362db8, LO 0x4fda6a2c
+mult $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0xffffffffe7da85bd, LO 0x6b6c2b75
+mult $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0xffffffffe43d401a, LO 0x76174760
+mult $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0xffffffffe550e583, LO 0xffffffffe986f735
+mult $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0xffffffffffad10c7, LO 0xfffffffff638a3ec
+mult $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0xfffffffffe4845de, LO 0xffffffffc3a6eab5
+mult $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0xfffffffffda489fe, LO 0x651b76a0
+mult $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0xfffffffffcd00f7a, LO 0xffffffffb4ebcef5
+mult $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0xfffffffff984d096, LO 0x58bcb96c
+mult $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0xfffffffff81965f8, LO 0x4a8ac4a5
+mult $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0xfffffffff6ccd589, LO 0x70e84740
+mult $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0xfffffffff610c131, LO 0x33b79ce5
+mult $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0xfffffffff079a96c, LO 0xfffffffff8dcb1ec
+mult $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0xfffffffff1356cda, LO 0xfffffffff41abd25
+mult $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0xffffffffeed0ae6f, LO 0x2bf83fc0
+mult $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0xffffffffefdcd72a, LO 0x44d79565
+mult $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0xffffffffe6a058f4, LO 0xffffffffe698976c
+mult $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0xffffffffe4cc7884, LO 0x5b6bca75
+mult $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0xffffffffff1213d8, LO 0x77a65ac
+mult $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0xfffffffffdbd9381, LO 0xffffffff971c26f5
+mult $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0xfffffffffd290d37, LO 0xffffffffabe73ae0
+mult $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xfffffffffc64fb5c, LO 0xffffffffca86eab5
+mult $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0xfffffffffa17f32e, LO 0x2cd5cc2c
+mult $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0xfffffffff89d0d29, LO 0x1d838e5
+mult $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0xfffffffff73f5612, LO 0x5e5b0e80
+mult $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0xfffffffff673e8ec, LO 0x17fb30a5
+mult $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0xfffffffffc3f5423, LO 0x6999ba2c
+mult $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0xfffffffffd524ff3, LO 0x436bcb65
+mult $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0xfffffffffde6dfd9, LO 0x3f987380
+mult $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0xfffffffffeea72eb, LO 0xfffffffff044f325
+mult $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0xfffffffff63a4d78, LO 0xffffffff93f5d3ac
+mult $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0xfffffffff776b712, LO 0x2ca77075
+mult $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0xfffffffff8d1f49c, LO 0xffffffffc12cb1e0
+mult $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0xfffffffff9dddf3d, LO 0xffffffffdb188435
+mult $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0xffffffffef987d06, LO 0xffffffffab3ae96c
+mult $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0xffffffffef1b361f, LO 0x734944b5
+mult $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0xfffffffff17eface, LO 0xfffffffffba45b20
+mult $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0xfffffffff03254fc, LO 0x7bb880f5
+mult $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0xffffffffe472a95b, LO 0x5cf783ec
+mult $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0xffffffffe78963a1, LO 0x1997fac0
+mult $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0xfffffffffcaa4f15, LO 0x6a978b6c
+mult $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0xfffffffffdcd9380, LO 0x45b50225
+mult $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0xfffffffffe715a54, LO 0xffffffffc6880240
+mult $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0xffffffffff855867, LO 0xffffffffa4ec0a65
+mult $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0xfffffffff5d76df2, LO 0x2d9af5ec
+mult $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0xfffffffff7045dbc, LO 0xffffffffdf995135
+mult $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xfffffffff84e7648, LO 0x5f45fa0
+mult $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xfffffffff94b0622, LO 0x6c988575
+mult $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0xffffffffef2ae319, LO 0x5b95d82c
+mult $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0xffffffffeebe615e, LO 0x605774f5
+mult $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0xfffffffff0f20229, LO 0x65cbe60
+mult $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0xffffffffefb6427c, LO 0xffffffff94b890b5
+mult $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0xffffffffe4f6cce6, LO 0x3179c1ac
+mult $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0xffffffffe493fbd4, LO 0x5fdbd2e5
+mult $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0xffffffffe82dca3b, LO 0xffffffffa2a87b00
+mult $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0xffffffffe6daa14f, LO 0xffffffffaf04faa5
+mult $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0xfffffffff8df256d, LO 0xffffffffad8cbae5
+mult $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0xfffffffff7e2c5f6, LO 0xffffffff9548c3ac
+mult $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0xfffffffff77717ba, LO 0x3229bea5
+mult $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0xfffffffff64b71b7, LO 0x38e33500
+mult $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0xffffffffffd6c5df, LO 0x2f7484f5
+mult $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0xfffffffffec20fee, LO 0x1ad8aa2c
+mult $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0xfffffffffd7f54b8, LO 0x2fc9bcb5
+mult $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0xfffffffffc5a3e06, LO 0xffffffff93cc1860
+mult $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0xffffffffe62b09f4, LO 0x34d8b135
+mult $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0xffffffffe77e627b, LO 0xfffffffff07d93ec
+mult $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0xffffffffe543f09e, LO 0xffffffffcb23c975
+mult $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0xffffffffe5a80bf8, LO 0xffffffffd46a75a0
+mult $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0xfffffffff041d614, LO 0xffffffffd3698a25
+mult $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0xfffffffff17cdd9e, LO 0xffffffff84e4f96c
+mult $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0xffffffffee2b785f, LO 0x286cb665
+mult $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0xffffffffee96284e, LO 0xffffffffd429b840
+mult $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0xfffffffff96d31d4, LO 0xffffffffb7f996a5
+mult $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0xfffffffff861f8eb, LO 0xffffffffdd8505ec
+mult $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0xfffffffff7e5c6f2, LO 0x4eacbae5
+mult $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0xfffffffff6ab2576, LO 0x6699bcc0
+mult $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0xffffffffff372c90, LO 0xffffffffffa8b8b5
+mult $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0xfffffffffe335f43, LO 0x7dd9b6c
+mult $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0xfffffffffd003bdf, LO 0x3d03d0f5
+mult $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xfffffffffbebf06e, LO 0xffffffff8a3a7d20
+mult $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0xffffffffe5998a8a, LO 0xffffffffbc248c75
+mult $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0xffffffffe6de8e3a, LO 0x75f8b1ac
+mult $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0xffffffffe4d23321, LO 0x5fe9c435
+mult $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0xffffffffe527d72f, LO 0xffffffff95fc1fe0
+mult $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0xfffffffff0c25960, LO 0xffffffffd0fcbf65
+mult $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0xfffffffff20ec57c, LO 0xffffffffaaa8c82c
+mult $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0xffffffffee8b5b62, LO 0xffffffff8969cb25
+mult $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0xffffffffef0751ed, LO 0xffffffff8ef34180
+mult $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0xffffffffe57b221d, LO 0xffffffffa23604e5
+mult $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0xffffffffe4769bb6, LO 0xffffffff855a7a2c
+mult $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0xffffffffe6846f4b, LO 0xffffffffe3c8e0a5
+mult $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0xffffffffe5f04f03, LO 0xffffffffe4900c80
+mult $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0xffffffffef5131c8, LO 0xffffffffd38eaaf5
+mult $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0xffffffffee4446f2, LO 0xffffffff9209e3ac
+mult $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0xfffffffff1caaac0, LO 0xffffffffdce992b5
+mult $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0xfffffffff10d2fa1, LO 0x966b8e0
+mult $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0xfffffffff6e03c2a, LO 0x2769ea35
+mult $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0xfffffffff7abf3aa, LO 0x38a5a96c
+mult $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0xfffffffff8289d47, LO 0xffffffffed2eb275
+mult $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0xfffffffff9a4c2fd, LO 0x35a88420
+mult $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0xfffffffffc151ae4, LO 0xffffffff99998125
+mult $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0xfffffffffcd86aec, LO 0xffffffffc3fd93ec
+mult $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0xfffffffffe0d889c, LO 0xffffffffd5267565
+mult $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0xffffffffff6050c1, LO 0xffffffffe428d1c0
+mult $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0xffffffffe5fb9fc6, LO 0x4e2974a5
+mult $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0xffffffffe4e8c2ae, LO 0xffffffffe49d876c
+mult $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0xffffffffe724abc0, LO 0xbc670e5
+mult $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0xffffffffe68215a4, LO 0xffffffffce38cd40
+mult $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0xffffffffeedfb046, LO 0xffffffffe2b9e2b5
+mult $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0xffffffffede42c7a, LO 0xffffffff8785a1ec
+mult $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0xfffffffff13889b5, LO 0xffffffffff2eaaf5
+mult $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0xfffffffff08c531a, LO 0x23587ca0
+mult $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0xfffffffff68042ae, LO 0xffffffffd2bea375
+mult $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0xfffffffff73d1ed5, LO 0xffffffffa2a9dc2c
+mult $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xfffffffff7a940de, LO 0x3ae98b35
+mult $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xfffffffff9166da2, LO 0xffffffffb5b6b160
+mult $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0xfffffffffc838234, LO 0x13a60065
+mult $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0xfffffffffd57bc67, LO 0xffffffffe4ba75ac
+mult $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0x0, LO 0x0
+mult $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x0, rt 0xffffffffb1f740b4, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x0, rt 0xffffffffb5365d03, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x9823b6e, rt 0xffffffffb8757bda, HI 0x6d9f7d5, LO 0xffffffffe4ba75ac
+multu $t0, $t1 :: rs 0xd4326d9, rt 0xffffffffbcb4666d, HI 0x9c6a90d, LO 0x13a60065
+multu $t0, $t1 :: rs 0x130476dc, rt 0xffffffffa2f33668, HI 0xc1ae47e, LO 0xffffffffb5b6b160
+multu $t0, $t1 :: rs 0x17c56b6b, rt 0xffffffffa6322bdf, HI 0xf6eac49, LO 0x3ae98b35
+multu $t0, $t1 :: rs 0x1a864db2, rt 0xffffffffab710d06, HI 0x11c36c87, LO 0xffffffffa2a9dc2c
+multu $t0, $t1 :: rs 0x1e475005, rt 0xffffffffafb010b1, HI 0x14c792b3, LO 0xffffffffd2bea375
+multu $t0, $t1 :: rs 0x2608edb8, rt 0xffffffff97ffad0c, HI 0x169540d2, LO 0x23587ca0
+multu $t0, $t1 :: rs 0x22c9f00f, rt 0xffffffff933eb0bb, HI 0x140279c4, LO 0xffffffffff2eaaf5
+multu $t0, $t1 :: rs 0x2f8ad6d6, rt 0xffffffff9e7d9662, HI 0x1d6f0350, LO 0xffffffff8785a1ec
+multu $t0, $t1 :: rs 0x2b4bcb61, rt 0xffffffff9abc8bd5, HI 0x1a2b7ba7, LO 0xffffffffe2b9e2b5
+multu $t0, $t1 :: rs 0x350c9b64, rt 0xffffffff84fbdbd0, HI 0x1b8eb108, LO 0xffffffffce38cd40
+multu $t0, $t1 :: rs 0x31cd86d3, rt 0xffffffff803ac667, HI 0x18f23293, LO 0xbc670e5
+multu $t0, $t1 :: rs 0x3c8ea00a, rt 0xffffffff8d79e0be, HI 0x217762b8, LO 0xffffffffe49d876c
+multu $t0, $t1 :: rs 0x384fbdbd, rt 0xffffffff89b8fd09, HI 0x1e4b5d83, LO 0x4e2974a5
+multu $t0, $t1 :: rs 0x4c11db70, rt 0xfffffffffde69bc4, HI 0x4b722c31, LO 0xffffffffe428d1c0
+multu $t0, $t1 :: rs 0x48d0c6c7, rt 0xfffffffff9278673, HI 0x46de4f63, LO 0xffffffffd5267565
+multu $t0, $t1 :: rs 0x4593e01e, rt 0xfffffffff464a0aa, HI 0x426c4b0a, LO 0xffffffffc3fd93ec
+multu $t0, $t1 :: rs 0x4152fda9, rt 0xfffffffff0a5bd1d, HI 0x3d68188d, LO 0xffffffff99998125
+multu $t0, $t1 :: rs 0x5f15adac, rt 0xffffffffeee2ed18, HI 0x58ba70a9, LO 0x35a88420
+multu $t0, $t1 :: rs 0x5bd4b01b, rt 0xffffffffea23f0af, HI 0x53fd4d62, LO 0xffffffffed2eb275
+multu $t0, $t1 :: rs 0x569796c2, rt 0xffffffffe760d676, HI 0x4e438a6c, LO 0x38a5a96c
+multu $t0, $t1 :: rs 0x52568b75, rt 0xffffffffe3a1cbc1, HI 0x4936c79f, LO 0x2769ea35
+multu $t0, $t1 :: rs 0x6a1936c8, rt 0xffffffffdbee767c, HI 0x5b266669, LO 0x966b8e0
+multu $t0, $t1 :: rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb, HI 0x60a2d63f, LO 0xffffffffdce992b5
+multu $t0, $t1 :: rs 0x639b0da6, rt 0xffffffffd26c4d12, HI 0x51df5498, LO 0xffffffff9209e3ac
+multu $t0, $t1 :: rs 0x675a1011, rt 0xffffffffd6ad50a5, HI 0x56ab41d9, LO 0xffffffffd38eaaf5
+multu $t0, $t1 :: rs 0x791d4014, rt 0xffffffffc8ea00a0, HI 0x5f0d8f17, LO 0xffffffffe4900c80
+multu $t0, $t1 :: rs 0x7ddc5da3, rt 0xffffffffcc2b1d17, HI 0x6460ccee, LO 0xffffffffe3c8e0a5
+multu $t0, $t1 :: rs 0x709f7b7a, rt 0xffffffffc1683bce, HI 0x55161730, LO 0xffffffff855a7a2c
+multu $t0, $t1 :: rs 0x745e66cd, rt 0xffffffffc5a92679, HI 0x59d988ea, LO 0xffffffffa23604e5
+multu $t0, $t1 :: rs 0xffffffff9823b6e0, rt 0x29d4f654, HI 0x18dc4841, LO 0xffffffff8ef34180
+multu $t0, $t1 :: rs 0xffffffff9ce2ab57, rt 0x2d15ebe3, HI 0x1ba14745, LO 0xffffffff8969cb25
+multu $t0, $t1 :: rs 0xffffffff91a18d8e, rt 0x2056cd3a, HI 0x126592b6, LO 0xffffffffaaa8c82c
+multu $t0, $t1 :: rs 0xffffffff95609039, rt 0x2497d08d, HI 0x155a29ed, LO 0xffffffffd0fcbf65
+multu $t0, $t1 :: rs 0xffffffff8b27c03c, rt 0x3ad08088, HI 0x1ff857b7, LO 0xffffffff95fc1fe0
+multu $t0, $t1 :: rs 0xffffffff8fe6dd8b, rt 0x3e119d3f, HI 0x22e3d060, LO 0x5fe9c435
+multu $t0, $t1 :: rs 0xffffffff82a5fb52, rt 0x3352bbe6, HI 0x1a314a20, LO 0x75f8b1ac
+multu $t0, $t1 :: rs 0xffffffff8664e6e5, rt 0x3793a651, HI 0x1d2d30db, LO 0xffffffffbc248c75
+multu $t0, $t1 :: rs 0xffffffffbe2b5b58, rt 0xfdc1bec, HI 0xbc80c5a, LO 0xffffffff8a3a7d20
+multu $t0, $t1 :: rs 0xffffffffbaea46ef, rt 0xb1d065b, HI 0x81d423a, LO 0x3d03d0f5
+multu $t0, $t1 :: rs 0xffffffffb7a96036, rt 0x65e2082, HI 0x4917fc5, LO 0x7dd9b6c
+multu $t0, $t1 :: rs 0xffffffffb3687d81, rt 0x29f3d35, HI 0x1d669c5, LO 0xffffffffffa8b8b5
+multu $t0, $t1 :: rs 0xffffffffad2f2d84, rt 0x1cd86d30, HI 0x138392a6, LO 0x6699bcc0
+multu $t0, $t1 :: rs 0xffffffffa9ee3033, rt 0x18197087, HI 0xfff3779, LO 0x4eacbae5
+multu $t0, $t1 :: rs 0xffffffffa4ad16ea, rt 0x155a565e, HI 0xdbc4f49, LO 0xffffffffdd8505ec
+multu $t0, $t1 :: rs 0xffffffffa06c0b5d, rt 0x119b4be9, HI 0xb087dbd, LO 0xffffffffb7f996a5
+multu $t0, $t1 :: rs 0xffffffffd4326d90, rt 0x65c52d24, HI 0x545b5572, LO 0xffffffffd429b840
+multu $t0, $t1 :: rs 0xffffffffd0f37027, rt 0x61043093, HI 0x4f2fa8f2, LO 0x286cb665
+multu $t0, $t1 :: rs 0xffffffffddb056fe, rt 0x6c47164a, HI 0x5dc3f3e8, LO 0xffffffff84e4f96c
+multu $t0, $t1 :: rs 0xffffffffd9714b49, rt 0x68860bfd, HI 0x58c7e211, LO 0xffffffffd3698a25
+multu $t0, $t1 :: rs 0xffffffffc7361b4c, rt 0x76c15bf8, HI 0x5c6967f0, LO 0xffffffffd46a75a0
+multu $t0, $t1 :: rs 0xffffffffc3f706fb, rt 0x7200464f, HI 0x574436ed, LO 0xffffffffcb23c975
+multu $t0, $t1 :: rs 0xffffffffceb42022, rt 0x7f436096, HI 0x66c1c311, LO 0xfffffffff07d93ec
+multu $t0, $t1 :: rs 0xffffffffca753d95, rt 0x7b827d21, HI 0x61ad8715, LO 0x34d8b135
+multu $t0, $t1 :: rs 0xfffffffff23a8028, rt 0x43cdc09c, HI 0x4027fea2, LO 0xffffffff93cc1860
+multu $t0, $t1 :: rs 0xfffffffff6fb9d9f, rt 0x470cdd2b, HI 0x448c31e3, LO 0x2fc9bcb5
+multu $t0, $t1 :: rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2, HI 0x49120be0, LO 0x1ad8aa2c
+multu $t0, $t1 :: rs 0xffffffffff79a6f1, rt 0x4e8ee645, HI 0x4e65ac24, LO 0x2f7484f5
+multu $t0, $t1 :: rs 0xffffffffe13ef6f4, rt 0x50c9b640, HI 0x471527f7, LO 0x38e33500
+multu $t0, $t1 :: rs 0xffffffffe5ffeb43, rt 0x5408abf7, HI 0x4b7fc3b1, LO 0x3229bea5
+multu $t0, $t1 :: rs 0xffffffffe8bccd9a, rt 0x594b8d2e, HI 0x512e5324, LO 0xffffffff9548c3ac
+multu $t0, $t1 :: rs 0xffffffffec7dd02d, rt 0x5d8a9099, HI 0x5669b606, LO 0xffffffffad8cbae5
+multu $t0, $t1 :: rs 0x34867077, rt 0xffffffff857130c3, HI 0x1b6111c6, LO 0xffffffffaf04faa5
+multu $t0, $t1 :: rs 0x30476dc0, rt 0xffffffff81b02d74, HI 0x187537fb, LO 0xffffffffa2a87b00
+multu $t0, $t1 :: rs 0x3d044b19, rt 0xffffffff8cf30bad, HI 0x219846ed, LO 0x5fdbd2e5
+multu $t0, $t1 :: rs 0x39c556ae, rt 0xffffffff8832161a, HI 0x1ebc2394, LO 0x3179c1ac
+multu $t0, $t1 :: rs 0x278206ab, rt 0xffffffff9675461f, HI 0x17384927, LO 0xffffffff94b890b5
+multu $t0, $t1 :: rs 0x23431b1c, rt 0xffffffff92b45ba8, HI 0x14351d45, LO 0x65cbe60
+multu $t0, $t1 :: rs 0x2e003dc5, rt 0xffffffff9ff77d71, HI 0x1cbe9f23, LO 0x605774f5
+multu $t0, $t1 :: rs 0x2ac12072, rt 0xffffffff9b3660c6, HI 0x19ec038b, LO 0x5b95d82c
+multu $t0, $t1 :: rs 0x128e9dcf, rt 0xffffffffa379dd7b, HI 0xbd9a3f1, LO 0x6c988575
+multu $t0, $t1 :: rs 0x164f8078, rt 0xffffffffa7b8c0cc, HI 0xe9df6c0, LO 0x5f45fa0
+multu $t0, $t1 :: rs 0x1b0ca6a1, rt 0xffffffffaafbe615, HI 0x1211045d, LO 0xffffffffdf995135
+multu $t0, $t1 :: rs 0x1fcdbb16, rt 0xffffffffae3afba2, HI 0x15a52908, LO 0x2d9af5ec
+multu $t0, $t1 :: rs 0x18aeb13, rt 0xffffffffb07daba7, HI 0x110437a, LO 0xffffffffa4ec0a65
+multu $t0, $t1 :: rs 0x54bf6a4, rt 0xffffffffb4bcb610, HI 0x3bd50f8, LO 0xffffffffc6880240
+multu $t0, $t1 :: rs 0x808d07d, rt 0xffffffffb9ff90c9, HI 0x5d663fd, LO 0x45b50225
+multu $t0, $t1 :: rs 0xcc9cdca, rt 0xffffffffbd3e8d7e, HI 0x9741cdf, LO 0x6a978b6c
+multu $t0, $t1 :: rs 0x7897ab07, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x7c56b6b0, rt 0xffffffffcda1f604, HI 0x63e01a51, LO 0x1997fac0
+multu $t0, $t1 :: rs 0x71159069, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x75d48dde, rt 0xffffffffc423cd6a, HI 0x5a473739, LO 0x5cf783ec
+multu $t0, $t1 :: rs 0x6b93dddb, rt 0xffffffffda649d6f, HI 0x5bc632d7, LO 0x7bb880f5
+multu $t0, $t1 :: rs 0x6f52c06c, rt 0xffffffffdea580d8, HI 0x60d1bb3a, LO 0xfffffffffba45b20
+multu $t0, $t1 :: rs 0x6211e6b5, rt 0xffffffffd3e6a601, HI 0x512d1cd4, LO 0x734944b5
+multu $t0, $t1 :: rs 0x66d0fb02, rt 0xffffffffd727bbb6, HI 0x56697808, LO 0xffffffffab3ae96c
+multu $t0, $t1 :: rs 0x5e9f46bf, rt 0xffffffffef68060b, HI 0x587d25fc, LO 0xffffffffdb188435
+multu $t0, $t1 :: rs 0x5a5e5b08, rt 0xffffffffeba91bbc, HI 0x53304fa4, LO 0xffffffffc12cb1e0
+multu $t0, $t1 :: rs 0x571d7dd1, rt 0xffffffffe6ea3d65, HI 0x4e9434e3, LO 0x2ca77075
+multu $t0, $t1 :: rs 0x53dc6066, rt 0xffffffffe22b20d2, HI 0x4a16adde, LO 0xffffffff93f5d3ac
+multu $t0, $t1 :: rs 0x4d9b3063, rt 0xfffffffffc6c70d7, HI 0x4c85a34e, LO 0xfffffffff044f325
+multu $t0, $t1 :: rs 0x495a2dd4, rt 0xfffffffff8ad6d60, HI 0x47410dad, LO 0x3f987380
+multu $t0, $t1 :: rs 0x44190b0d, rt 0xfffffffff5ee4bb9, HI 0x416b5b00, LO 0x436bcb65
+multu $t0, $t1 :: rs 0x40d816ba, rt 0xfffffffff12f560e, HI 0x3d176add, LO 0x6999ba2c
+multu $t0, $t1 :: rs 0xffffffffaca5c697, rt 0x1d528623, HI 0x13c66f0f, LO 0x17fb30a5
+multu $t0, $t1 :: rs 0xffffffffa864db20, rt 0x19939b94, HI 0x10d2f1a6, LO 0x5e5b0e80
+multu $t0, $t1 :: rs 0xffffffffa527fdf9, rt 0x14d0bd4d, HI 0xd6dca76, LO 0x1d838e5
+multu $t0, $t1 :: rs 0xffffffffa1e6e04e, rt 0x1011a0fa, HI 0xa299428, LO 0x2cd5cc2c
+multu $t0, $t1 :: rs 0xffffffffbfa1b04b, rt 0xe56f0ff, HI 0xabbec5b, LO 0xffffffffca86eab5
+multu $t0, $t1 :: rs 0xffffffffbb60adfc, rt 0xa97ed48, HI 0x7c0fa7f, LO 0xffffffffabe73ae0
+multu $t0, $t1 :: rs 0xffffffffb6238b25, rt 0x7d4cb91, HI 0x5925f12, LO 0xffffffff971c26f5
+multu $t0, $t1 :: rs 0xffffffffb2e29692, rt 0x315d626, HI 0x227e9fe, LO 0x77a65ac
+multu $t0, $t1 :: rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b, HI 0x2026e41f, LO 0x5b6bca75
+multu $t0, $t1 :: rs 0x0, rt 0x3f9b762c, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x0, rt 0x32d850f5, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0xffffffff87ee0df6, rt 0x36194d42, HI 0x1cb9a636, LO 0xffffffffe698976c
+multu $t0, $t1 :: rs 0xffffffff99a95df3, rt 0x285e1d47, HI 0x183af471, LO 0x44d79565
+multu $t0, $t1 :: rs 0xffffffff9d684044, rt 0x2c9f00f0, HI 0x1b6faf5f, LO 0x2bf83fc0
+multu $t0, $t1 :: rs 0xffffffff902b669d, rt 0x21dc2629, HI 0x13119303, LO 0xfffffffff41abd25
+multu $t0, $t1 :: rs 0xffffffff94ea7b2a, rt 0x251d3b9e, HI 0x1596e50a, LO 0xfffffffff8dcb1ec
+multu $t0, $t1 :: rs 0xffffffffe0b41de7, rt 0x51435d53, HI 0x47541e84, LO 0x33b79ce5
+multu $t0, $t1 :: rs 0xffffffffe4750050, rt 0x558240e4, HI 0x4c4f166d, LO 0x70e84740
+multu $t0, $t1 :: rs 0xffffffffe9362689, rt 0x58c1663d, HI 0x50dacc35, LO 0x4a8ac4a5
+multu $t0, $t1 :: rs 0xffffffffedf73b3e, rt 0x5c007b8a, HI 0x55854c20, LO 0x58bcb96c
+multu $t0, $t1 :: rs 0xfffffffff3b06b3b, rt 0x42472b8f, HI 0x3f173b09, LO 0xffffffffb4ebcef5
+multu $t0, $t1 :: rs 0xfffffffff771768c, rt 0x46863638, HI 0x442ac036, LO 0x651b76a0
+multu $t0, $t1 :: rs 0xfffffffffa325055, rt 0x4bc510e1, HI 0x4a0d56bf, LO 0xffffffffc3a6eab5
+multu $t0, $t1 :: rs 0xfffffffffef34de2, rt 0x4f040d56, HI 0x4eb11e1d, LO 0xfffffffff638a3ec
+multu $t0, $t1 :: rs 0xffffffffc6bcf05f, rt 0x774bb0eb, HI 0x5c9c966e, LO 0xffffffffe986f735
+multu $t0, $t1 :: rs 0xffffffffc27dede8, rt 0x738aad5c, HI 0x57c7ed76, LO 0x76174760
+multu $t0, $t1 :: rs 0xffffffffcf3ecb31, rt 0x7ec98b85, HI 0x66a41142, LO 0x6b6c2b75
+multu $t0, $t1 :: rs 0xffffffffcbffd686, rt 0x7a089632, HI 0x613ec3ea, LO 0x4fda6a2c
+multu $t0, $t1 :: rs 0xffffffffd5b88683, rt 0x644fc637, HI 0x53beadf7, LO 0x511b3825
+multu $t0, $t1 :: rs 0xffffffffd1799b34, rt 0x608edb80, HI 0x4f027f43, LO 0x5b6b1600
+multu $t0, $t1 :: rs 0xffffffffdc3abded, rt 0x6dcdfd59, HI 0x5e7637da, LO 0xffffffff9de84065
+multu $t0, $t1 :: rs 0xffffffffd8fba05a, rt 0x690ce0ee, HI 0x590a1f36, LO 0x5475d3ac
+multu $t0, $t1 :: rs 0x690ce0ee, rt 0xffffffffd8fba05a, HI 0x590a1f36, LO 0x5475d3ac
+multu $t0, $t1 :: rs 0x6dcdfd59, rt 0xffffffffdc3abded, HI 0x5e7637da, LO 0xffffffff9de84065
+multu $t0, $t1 :: rs 0x608edb80, rt 0xffffffffd1799b34, HI 0x4f027f43, LO 0x5b6b1600
+multu $t0, $t1 :: rs 0x644fc637, rt 0xffffffffd5b88683, HI 0x53beadf7, LO 0x511b3825
+multu $t0, $t1 :: rs 0x7a089632, rt 0xffffffffcbffd686, HI 0x613ec3ea, LO 0x4fda6a2c
+multu $t0, $t1 :: rs 0x7ec98b85, rt 0xffffffffcf3ecb31, HI 0x66a41142, LO 0x6b6c2b75
+multu $t0, $t1 :: rs 0x738aad5c, rt 0xffffffffc27dede8, HI 0x57c7ed76, LO 0x76174760
+multu $t0, $t1 :: rs 0x774bb0eb, rt 0xffffffffc6bcf05f, HI 0x5c9c966e, LO 0xffffffffe986f735
+multu $t0, $t1 :: rs 0x4f040d56, rt 0xfffffffffef34de2, HI 0x4eb11e1d, LO 0xfffffffff638a3ec
+multu $t0, $t1 :: rs 0x4bc510e1, rt 0xfffffffffa325055, HI 0x4a0d56bf, LO 0xffffffffc3a6eab5
+multu $t0, $t1 :: rs 0x46863638, rt 0xfffffffff771768c, HI 0x442ac036, LO 0x651b76a0
+multu $t0, $t1 :: rs 0x42472b8f, rt 0xfffffffff3b06b3b, HI 0x3f173b09, LO 0xffffffffb4ebcef5
+multu $t0, $t1 :: rs 0x5c007b8a, rt 0xffffffffedf73b3e, HI 0x55854c20, LO 0x58bcb96c
+multu $t0, $t1 :: rs 0x58c1663d, rt 0xffffffffe9362689, HI 0x50dacc35, LO 0x4a8ac4a5
+multu $t0, $t1 :: rs 0x558240e4, rt 0xffffffffe4750050, HI 0x4c4f166d, LO 0x70e84740
+multu $t0, $t1 :: rs 0x51435d53, rt 0xffffffffe0b41de7, HI 0x47541e84, LO 0x33b79ce5
+multu $t0, $t1 :: rs 0x251d3b9e, rt 0xffffffff94ea7b2a, HI 0x1596e50a, LO 0xfffffffff8dcb1ec
+multu $t0, $t1 :: rs 0x21dc2629, rt 0xffffffff902b669d, HI 0x13119303, LO 0xfffffffff41abd25
+multu $t0, $t1 :: rs 0x2c9f00f0, rt 0xffffffff9d684044, HI 0x1b6faf5f, LO 0x2bf83fc0
+multu $t0, $t1 :: rs 0x285e1d47, rt 0xffffffff99a95df3, HI 0x183af471, LO 0x44d79565
+multu $t0, $t1 :: rs 0x36194d42, rt 0xffffffff87ee0df6, HI 0x1cb9a636, LO 0xffffffffe698976c
+multu $t0, $t1 :: rs 0x32d850f5, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x3f9b762c, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f, HI 0x2026e41f, LO 0x5b6bca75
+multu $t0, $t1 :: rs 0x315d626, rt 0xffffffffb2e29692, HI 0x227e9fe, LO 0x77a65ac
+multu $t0, $t1 :: rs 0x7d4cb91, rt 0xffffffffb6238b25, HI 0x5925f12, LO 0xffffffff971c26f5
+multu $t0, $t1 :: rs 0xa97ed48, rt 0xffffffffbb60adfc, HI 0x7c0fa7f, LO 0xffffffffabe73ae0
+multu $t0, $t1 :: rs 0xe56f0ff, rt 0xffffffffbfa1b04b, HI 0xabbec5b, LO 0xffffffffca86eab5
+multu $t0, $t1 :: rs 0x1011a0fa, rt 0xffffffffa1e6e04e, HI 0xa299428, LO 0x2cd5cc2c
+multu $t0, $t1 :: rs 0x14d0bd4d, rt 0xffffffffa527fdf9, HI 0xd6dca76, LO 0x1d838e5
+multu $t0, $t1 :: rs 0x19939b94, rt 0xffffffffa864db20, HI 0x10d2f1a6, LO 0x5e5b0e80
+multu $t0, $t1 :: rs 0x1d528623, rt 0xffffffffaca5c697, HI 0x13c66f0f, LO 0x17fb30a5
+multu $t0, $t1 :: rs 0xfffffffff12f560e, rt 0x40d816ba, HI 0x3d176add, LO 0x6999ba2c
+multu $t0, $t1 :: rs 0xfffffffff5ee4bb9, rt 0x44190b0d, HI 0x416b5b00, LO 0x436bcb65
+multu $t0, $t1 :: rs 0xfffffffff8ad6d60, rt 0x495a2dd4, HI 0x47410dad, LO 0x3f987380
+multu $t0, $t1 :: rs 0xfffffffffc6c70d7, rt 0x4d9b3063, HI 0x4c85a34e, LO 0xfffffffff044f325
+multu $t0, $t1 :: rs 0xffffffffe22b20d2, rt 0x53dc6066, HI 0x4a16adde, LO 0xffffffff93f5d3ac
+multu $t0, $t1 :: rs 0xffffffffe6ea3d65, rt 0x571d7dd1, HI 0x4e9434e3, LO 0x2ca77075
+multu $t0, $t1 :: rs 0xffffffffeba91bbc, rt 0x5a5e5b08, HI 0x53304fa4, LO 0xffffffffc12cb1e0
+multu $t0, $t1 :: rs 0xffffffffef68060b, rt 0x5e9f46bf, HI 0x587d25fc, LO 0xffffffffdb188435
+multu $t0, $t1 :: rs 0xffffffffd727bbb6, rt 0x66d0fb02, HI 0x56697808, LO 0xffffffffab3ae96c
+multu $t0, $t1 :: rs 0xffffffffd3e6a601, rt 0x6211e6b5, HI 0x512d1cd4, LO 0x734944b5
+multu $t0, $t1 :: rs 0xffffffffdea580d8, rt 0x6f52c06c, HI 0x60d1bb3a, LO 0xfffffffffba45b20
+multu $t0, $t1 :: rs 0xffffffffda649d6f, rt 0x6b93dddb, HI 0x5bc632d7, LO 0x7bb880f5
+multu $t0, $t1 :: rs 0xffffffffc423cd6a, rt 0x75d48dde, HI 0x5a473739, LO 0x5cf783ec
+multu $t0, $t1 :: rs 0x0, rt 0x71159069, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0xffffffffcda1f604, rt 0x7c56b6b0, HI 0x63e01a51, LO 0x1997fac0
+multu $t0, $t1 :: rs 0x0, rt 0x7897ab07, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0xffffffffbd3e8d7e, rt 0xcc9cdca, HI 0x9741cdf, LO 0x6a978b6c
+multu $t0, $t1 :: rs 0xffffffffb9ff90c9, rt 0x808d07d, HI 0x5d663fd, LO 0x45b50225
+multu $t0, $t1 :: rs 0xffffffffb4bcb610, rt 0x54bf6a4, HI 0x3bd50f8, LO 0xffffffffc6880240
+multu $t0, $t1 :: rs 0xffffffffb07daba7, rt 0x18aeb13, HI 0x110437a, LO 0xffffffffa4ec0a65
+multu $t0, $t1 :: rs 0xffffffffae3afba2, rt 0x1fcdbb16, HI 0x15a52908, LO 0x2d9af5ec
+multu $t0, $t1 :: rs 0xffffffffaafbe615, rt 0x1b0ca6a1, HI 0x1211045d, LO 0xffffffffdf995135
+multu $t0, $t1 :: rs 0xffffffffa7b8c0cc, rt 0x164f8078, HI 0xe9df6c0, LO 0x5f45fa0
+multu $t0, $t1 :: rs 0xffffffffa379dd7b, rt 0x128e9dcf, HI 0xbd9a3f1, LO 0x6c988575
+multu $t0, $t1 :: rs 0xffffffff9b3660c6, rt 0x2ac12072, HI 0x19ec038b, LO 0x5b95d82c
+multu $t0, $t1 :: rs 0xffffffff9ff77d71, rt 0x2e003dc5, HI 0x1cbe9f23, LO 0x605774f5
+multu $t0, $t1 :: rs 0xffffffff92b45ba8, rt 0x23431b1c, HI 0x14351d45, LO 0x65cbe60
+multu $t0, $t1 :: rs 0xffffffff9675461f, rt 0x278206ab, HI 0x17384927, LO 0xffffffff94b890b5
+multu $t0, $t1 :: rs 0xffffffff8832161a, rt 0x39c556ae, HI 0x1ebc2394, LO 0x3179c1ac
+multu $t0, $t1 :: rs 0xffffffff8cf30bad, rt 0x3d044b19, HI 0x219846ed, LO 0x5fdbd2e5
+multu $t0, $t1 :: rs 0xffffffff81b02d74, rt 0x30476dc0, HI 0x187537fb, LO 0xffffffffa2a87b00
+multu $t0, $t1 :: rs 0xffffffff857130c3, rt 0x34867077, HI 0x1b6111c6, LO 0xffffffffaf04faa5
+multu $t0, $t1 :: rs 0x5d8a9099, rt 0xffffffffec7dd02d, HI 0x5669b606, LO 0xffffffffad8cbae5
+multu $t0, $t1 :: rs 0x594b8d2e, rt 0xffffffffe8bccd9a, HI 0x512e5324, LO 0xffffffff9548c3ac
+multu $t0, $t1 :: rs 0x5408abf7, rt 0xffffffffe5ffeb43, HI 0x4b7fc3b1, LO 0x3229bea5
+multu $t0, $t1 :: rs 0x50c9b640, rt 0xffffffffe13ef6f4, HI 0x471527f7, LO 0x38e33500
+multu $t0, $t1 :: rs 0x4e8ee645, rt 0xffffffffff79a6f1, HI 0x4e65ac24, LO 0x2f7484f5
+multu $t0, $t1 :: rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46, HI 0x49120be0, LO 0x1ad8aa2c
+multu $t0, $t1 :: rs 0x470cdd2b, rt 0xfffffffff6fb9d9f, HI 0x448c31e3, LO 0x2fc9bcb5
+multu $t0, $t1 :: rs 0x43cdc09c, rt 0xfffffffff23a8028, HI 0x4027fea2, LO 0xffffffff93cc1860
+multu $t0, $t1 :: rs 0x7b827d21, rt 0xffffffffca753d95, HI 0x61ad8715, LO 0x34d8b135
+multu $t0, $t1 :: rs 0x7f436096, rt 0xffffffffceb42022, HI 0x66c1c311, LO 0xfffffffff07d93ec
+multu $t0, $t1 :: rs 0x7200464f, rt 0xffffffffc3f706fb, HI 0x574436ed, LO 0xffffffffcb23c975
+multu $t0, $t1 :: rs 0x76c15bf8, rt 0xffffffffc7361b4c, HI 0x5c6967f0, LO 0xffffffffd46a75a0
+multu $t0, $t1 :: rs 0x68860bfd, rt 0xffffffffd9714b49, HI 0x58c7e211, LO 0xffffffffd3698a25
+multu $t0, $t1 :: rs 0x6c47164a, rt 0xffffffffddb056fe, HI 0x5dc3f3e8, LO 0xffffffff84e4f96c
+multu $t0, $t1 :: rs 0x61043093, rt 0xffffffffd0f37027, HI 0x4f2fa8f2, LO 0x286cb665
+multu $t0, $t1 :: rs 0x65c52d24, rt 0xffffffffd4326d90, HI 0x545b5572, LO 0xffffffffd429b840
+multu $t0, $t1 :: rs 0x119b4be9, rt 0xffffffffa06c0b5d, HI 0xb087dbd, LO 0xffffffffb7f996a5
+multu $t0, $t1 :: rs 0x155a565e, rt 0xffffffffa4ad16ea, HI 0xdbc4f49, LO 0xffffffffdd8505ec
+multu $t0, $t1 :: rs 0x18197087, rt 0xffffffffa9ee3033, HI 0xfff3779, LO 0x4eacbae5
+multu $t0, $t1 :: rs 0x1cd86d30, rt 0xffffffffad2f2d84, HI 0x138392a6, LO 0x6699bcc0
+multu $t0, $t1 :: rs 0x29f3d35, rt 0xffffffffb3687d81, HI 0x1d669c5, LO 0xffffffffffa8b8b5
+multu $t0, $t1 :: rs 0x65e2082, rt 0xffffffffb7a96036, HI 0x4917fc5, LO 0x7dd9b6c
+multu $t0, $t1 :: rs 0xb1d065b, rt 0xffffffffbaea46ef, HI 0x81d423a, LO 0x3d03d0f5
+multu $t0, $t1 :: rs 0xfdc1bec, rt 0xffffffffbe2b5b58, HI 0xbc80c5a, LO 0xffffffff8a3a7d20
+multu $t0, $t1 :: rs 0x3793a651, rt 0xffffffff8664e6e5, HI 0x1d2d30db, LO 0xffffffffbc248c75
+multu $t0, $t1 :: rs 0x3352bbe6, rt 0xffffffff82a5fb52, HI 0x1a314a20, LO 0x75f8b1ac
+multu $t0, $t1 :: rs 0x3e119d3f, rt 0xffffffff8fe6dd8b, HI 0x22e3d060, LO 0x5fe9c435
+multu $t0, $t1 :: rs 0x3ad08088, rt 0xffffffff8b27c03c, HI 0x1ff857b7, LO 0xffffffff95fc1fe0
+multu $t0, $t1 :: rs 0x2497d08d, rt 0xffffffff95609039, HI 0x155a29ed, LO 0xffffffffd0fcbf65
+multu $t0, $t1 :: rs 0x2056cd3a, rt 0xffffffff91a18d8e, HI 0x126592b6, LO 0xffffffffaaa8c82c
+multu $t0, $t1 :: rs 0x2d15ebe3, rt 0xffffffff9ce2ab57, HI 0x1ba14745, LO 0xffffffff8969cb25
+multu $t0, $t1 :: rs 0x29d4f654, rt 0xffffffff9823b6e0, HI 0x18dc4841, LO 0xffffffff8ef34180
+multu $t0, $t1 :: rs 0xffffffffc5a92679, rt 0x745e66cd, HI 0x59d988ea, LO 0xffffffffa23604e5
+multu $t0, $t1 :: rs 0xffffffffc1683bce, rt 0x709f7b7a, HI 0x55161730, LO 0xffffffff855a7a2c
+multu $t0, $t1 :: rs 0xffffffffcc2b1d17, rt 0x7ddc5da3, HI 0x6460ccee, LO 0xffffffffe3c8e0a5
+multu $t0, $t1 :: rs 0xffffffffc8ea00a0, rt 0x791d4014, HI 0x5f0d8f17, LO 0xffffffffe4900c80
+multu $t0, $t1 :: rs 0xffffffffd6ad50a5, rt 0x675a1011, HI 0x56ab41d9, LO 0xffffffffd38eaaf5
+multu $t0, $t1 :: rs 0xffffffffd26c4d12, rt 0x639b0da6, HI 0x51df5498, LO 0xffffffff9209e3ac
+multu $t0, $t1 :: rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f, HI 0x60a2d63f, LO 0xffffffffdce992b5
+multu $t0, $t1 :: rs 0xffffffffdbee767c, rt 0x6a1936c8, HI 0x5b266669, LO 0x966b8e0
+multu $t0, $t1 :: rs 0xffffffffe3a1cbc1, rt 0x52568b75, HI 0x4936c79f, LO 0x2769ea35
+multu $t0, $t1 :: rs 0xffffffffe760d676, rt 0x569796c2, HI 0x4e438a6c, LO 0x38a5a96c
+multu $t0, $t1 :: rs 0xffffffffea23f0af, rt 0x5bd4b01b, HI 0x53fd4d62, LO 0xffffffffed2eb275
+multu $t0, $t1 :: rs 0xffffffffeee2ed18, rt 0x5f15adac, HI 0x58ba70a9, LO 0x35a88420
+multu $t0, $t1 :: rs 0xfffffffff0a5bd1d, rt 0x4152fda9, HI 0x3d68188d, LO 0xffffffff99998125
+multu $t0, $t1 :: rs 0xfffffffff464a0aa, rt 0x4593e01e, HI 0x426c4b0a, LO 0xffffffffc3fd93ec
+multu $t0, $t1 :: rs 0xfffffffff9278673, rt 0x48d0c6c7, HI 0x46de4f63, LO 0xffffffffd5267565
+multu $t0, $t1 :: rs 0xfffffffffde69bc4, rt 0x4c11db70, HI 0x4b722c31, LO 0xffffffffe428d1c0
+multu $t0, $t1 :: rs 0xffffffff89b8fd09, rt 0x384fbdbd, HI 0x1e4b5d83, LO 0x4e2974a5
+multu $t0, $t1 :: rs 0xffffffff8d79e0be, rt 0x3c8ea00a, HI 0x217762b8, LO 0xffffffffe49d876c
+multu $t0, $t1 :: rs 0xffffffff803ac667, rt 0x31cd86d3, HI 0x18f23293, LO 0xbc670e5
+multu $t0, $t1 :: rs 0xffffffff84fbdbd0, rt 0x350c9b64, HI 0x1b8eb108, LO 0xffffffffce38cd40
+multu $t0, $t1 :: rs 0xffffffff9abc8bd5, rt 0x2b4bcb61, HI 0x1a2b7ba7, LO 0xffffffffe2b9e2b5
+multu $t0, $t1 :: rs 0xffffffff9e7d9662, rt 0x2f8ad6d6, HI 0x1d6f0350, LO 0xffffffff8785a1ec
+multu $t0, $t1 :: rs 0xffffffff933eb0bb, rt 0x22c9f00f, HI 0x140279c4, LO 0xffffffffff2eaaf5
+multu $t0, $t1 :: rs 0xffffffff97ffad0c, rt 0x2608edb8, HI 0x169540d2, LO 0x23587ca0
+multu $t0, $t1 :: rs 0xffffffffafb010b1, rt 0x1e475005, HI 0x14c792b3, LO 0xffffffffd2bea375
+multu $t0, $t1 :: rs 0xffffffffab710d06, rt 0x1a864db2, HI 0x11c36c87, LO 0xffffffffa2a9dc2c
+multu $t0, $t1 :: rs 0xffffffffa6322bdf, rt 0x17c56b6b, HI 0xf6eac49, LO 0x3ae98b35
+multu $t0, $t1 :: rs 0xffffffffa2f33668, rt 0x130476dc, HI 0xc1ae47e, LO 0xffffffffb5b6b160
+multu $t0, $t1 :: rs 0xffffffffbcb4666d, rt 0xd4326d9, HI 0x9c6a90d, LO 0x13a60065
+multu $t0, $t1 :: rs 0xffffffffb8757bda, rt 0x9823b6e, HI 0x6d9f7d5, LO 0xffffffffe4ba75ac
+multu $t0, $t1 :: rs 0xffffffffb5365d03, rt 0x0, HI 0x0, LO 0x0
+multu $t0, $t1 :: rs 0xffffffffb1f740b4, rt 0x0, HI 0x0, LO 0x0
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+movn $s0, $s1, $s2 :: rd 0x12bd6aa, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+movn $s0, $s1, $s2 :: rd 0x7e876382d2ab13, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+movn $t0, $t1, $t2 :: rd 0x9823b6e, rs 0x9823b6e, rt 0xffffffffb8757bda
+movn $s0, $s1, $s2 :: rd 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+movn $t0, $t1, $t2 :: rd 0xd4326d9, rs 0xd4326d9, rt 0xffffffffbcb4666d
+movn $s0, $s1, $s2 :: rd 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+movn $t0, $t1, $t2 :: rd 0x130476dc, rs 0x130476dc, rt 0xffffffffa2f33668
+movn $s0, $s1, $s2 :: rd 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+movn $t0, $t1, $t2 :: rd 0x17c56b6b, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+movn $s0, $s1, $s2 :: rd 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+movn $t0, $t1, $t2 :: rd 0x1a864db2, rs 0x1a864db2, rt 0xffffffffab710d06
+movn $s0, $s1, $s2 :: rd 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+movn $t0, $t1, $t2 :: rd 0x1e475005, rs 0x1e475005, rt 0xffffffffafb010b1
+movn $s0, $s1, $s2 :: rd 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+movn $t0, $t1, $t2 :: rd 0x2608edb8, rs 0x2608edb8, rt 0xffffffff97ffad0c
+movn $s0, $s1, $s2 :: rd 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+movn $t0, $t1, $t2 :: rd 0x22c9f00f, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+movn $s0, $s1, $s2 :: rd 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+movn $t0, $t1, $t2 :: rd 0x2f8ad6d6, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+movn $s0, $s1, $s2 :: rd 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+movn $t0, $t1, $t2 :: rd 0x2b4bcb61, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+movn $s0, $s1, $s2 :: rd 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+movn $t0, $t1, $t2 :: rd 0x350c9b64, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+movn $s0, $s1, $s2 :: rd 0x47f505569a08a180, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+movn $t0, $t1, $t2 :: rd 0x31cd86d3, rs 0x31cd86d3, rt 0xffffffff803ac667
+movn $s0, $s1, $s2 :: rd 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+movn $t0, $t1, $t2 :: rd 0x3c8ea00a, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+movn $s0, $s1, $s2 :: rd 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+movn $t0, $t1, $t2 :: rd 0x384fbdbd, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+movn $s0, $s1, $s2 :: rd 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+movn $t0, $t1, $t2 :: rd 0x4c11db70, rs 0x4c11db70, rt 0xfffffffffde69bc4
+movn $s0, $s1, $s2 :: rd 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+movn $t0, $t1, $t2 :: rd 0x48d0c6c7, rs 0x48d0c6c7, rt 0xfffffffff9278673
+movn $s0, $s1, $s2 :: rd 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+movn $t0, $t1, $t2 :: rd 0x4593e01e, rs 0x4593e01e, rt 0xfffffffff464a0aa
+movn $s0, $s1, $s2 :: rd 0x36549bd678e895b1, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+movn $t0, $t1, $t2 :: rd 0x4152fda9, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+movn $s0, $s1, $s2 :: rd 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+movn $t0, $t1, $t2 :: rd 0x5f15adac, rs 0x5f15adac, rt 0xffffffffeee2ed18
+movn $s0, $s1, $s2 :: rd 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+movn $t0, $t1, $t2 :: rd 0x5bd4b01b, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+movn $s0, $s1, $s2 :: rd 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+movn $t0, $t1, $t2 :: rd 0x569796c2, rs 0x569796c2, rt 0xffffffffe760d676
+movn $s0, $s1, $s2 :: rd 0x25b50fec14682d97, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+movn $t0, $t1, $t2 :: rd 0x52568b75, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+movn $s0, $s1, $s2 :: rd 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+movn $t0, $t1, $t2 :: rd 0x6a1936c8, rs 0x6a1936c8, rt 0xffffffffdbee767c
+movn $s0, $s1, $s2 :: rd 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+movn $t0, $t1, $t2 :: rd 0x6ed82b7f, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+movn $s0, $s1, $s2 :: rd 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+movn $t0, $t1, $t2 :: rd 0x639b0da6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+movn $s0, $s1, $s2 :: rd 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+movn $t0, $t1, $t2 :: rd 0x675a1011, rs 0x675a1011, rt 0xffffffffd6ad50a5
+movn $s0, $s1, $s2 :: rd 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+movn $t0, $t1, $t2 :: rd 0x791d4014, rs 0x791d4014, rt 0xffffffffc8ea00a0
+movn $s0, $s1, $s2 :: rd 0xd0d070db710cd036, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+movn $t0, $t1, $t2 :: rd 0x7ddc5da3, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+movn $s0, $s1, $s2 :: rd 0x39c21c7d03415604, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+movn $t0, $t1, $t2 :: rd 0x709f7b7a, rs 0x709f7b7a, rt 0xffffffffc1683bce
+movn $s0, $s1, $s2 :: rd 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+movn $t0, $t1, $t2 :: rd 0x745e66cd, rs 0x745e66cd, rt 0xffffffffc5a92679
+movn $s0, $s1, $s2 :: rd 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+movn $t0, $t1, $t2 :: rd 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, rt 0x29d4f654
+movn $s0, $s1, $s2 :: rd 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+movn $t0, $t1, $t2 :: rd 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+movn $s0, $s1, $s2 :: rd 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+movn $t0, $t1, $t2 :: rd 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+movn $s0, $s1, $s2 :: rd 0x900102dac8d7252f, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+movn $t0, $t1, $t2 :: rd 0xffffffff95609039, rs 0xffffffff95609039, rt 0x2497d08d
+movn $s0, $s1, $s2 :: rd 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+movn $t0, $t1, $t2 :: rd 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, rt 0x3ad08088
+movn $s0, $s1, $s2 :: rd 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+movn $t0, $t1, $t2 :: rd 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+movn $s0, $s1, $s2 :: rd 0x314791895991136c, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+movn $t0, $t1, $t2 :: rd 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+movn $s0, $s1, $s2 :: rd 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+movn $t0, $t1, $t2 :: rd 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, rt 0x3793a651
+movn $s0, $s1, $s2 :: rd 0xa809521238895270, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+movn $t0, $t1, $t2 :: rd 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+movn $s0, $s1, $s2 :: rd 0x87750a04ad765040, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+movn $t0, $t1, $t2 :: rd 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, rt 0xb1d065b
+movn $s0, $s1, $s2 :: rd 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+movn $t0, $t1, $t2 :: rd 0xffffffffb7a96036, rs 0xffffffffb7a96036, rt 0x65e2082
+movn $s0, $s1, $s2 :: rd 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+movn $t0, $t1, $t2 :: rd 0xffffffffb3687d81, rs 0xffffffffb3687d81, rt 0x29f3d35
+movn $s0, $s1, $s2 :: rd 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+movn $t0, $t1, $t2 :: rd 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+movn $s0, $s1, $s2 :: rd 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+movn $t0, $t1, $t2 :: rd 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, rt 0x18197087
+movn $s0, $s1, $s2 :: rd 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+movn $t0, $t1, $t2 :: rd 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, rt 0x155a565e
+movn $s0, $s1, $s2 :: rd 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+movn $t0, $t1, $t2 :: rd 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+movn $s0, $s1, $s2 :: rd 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+movn $t0, $t1, $t2 :: rd 0xffffffffd4326d90, rs 0xffffffffd4326d90, rt 0x65c52d24
+movn $s0, $s1, $s2 :: rd 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+movn $t0, $t1, $t2 :: rd 0xffffffffd0f37027, rs 0xffffffffd0f37027, rt 0x61043093
+movn $s0, $s1, $s2 :: rd 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+movn $t0, $t1, $t2 :: rd 0xffffffffddb056fe, rs 0xffffffffddb056fe, rt 0x6c47164a
+movn $s0, $s1, $s2 :: rd 0x77433f373fd1c081, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+movn $t0, $t1, $t2 :: rd 0xffffffffd9714b49, rs 0xffffffffd9714b49, rt 0x68860bfd
+movn $s0, $s1, $s2 :: rd 0xec91d993c92195e4, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+movn $t0, $t1, $t2 :: rd 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+movn $s0, $s1, $s2 :: rd 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+movn $t0, $t1, $t2 :: rd 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, rt 0x7200464f
+movn $s0, $s1, $s2 :: rd 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+movn $t0, $t1, $t2 :: rd 0xffffffffceb42022, rs 0xffffffffceb42022, rt 0x7f436096
+movn $s0, $s1, $s2 :: rd 0xb99e8def2f384907, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+movn $t0, $t1, $t2 :: rd 0xffffffffca753d95, rs 0xffffffffca753d95, rt 0x7b827d21
+movn $s0, $s1, $s2 :: rd 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+movn $t0, $t1, $t2 :: rd 0xfffffffff23a8028, rs 0xfffffffff23a8028, rt 0x43cdc09c
+movn $s0, $s1, $s2 :: rd 0xd685884e76558c4f, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+movn $t0, $t1, $t2 :: rd 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+movn $s0, $s1, $s2 :: rd 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+movn $t0, $t1, $t2 :: rd 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+movn $s0, $s1, $s2 :: rd 0xd30169894df47405, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+movn $t0, $t1, $t2 :: rd 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+movn $s0, $s1, $s2 :: rd 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+movn $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+movn $s0, $s1, $s2 :: rd 0x58300f029cae393a, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+movn $t0, $t1, $t2 :: rd 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+movn $s0, $s1, $s2 :: rd 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+movn $t0, $t1, $t2 :: rd 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+movn $s0, $s1, $s2 :: rd 0x8a96047be3405b48, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+movn $t0, $t1, $t2 :: rd 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+movn $s0, $s1, $s2 :: rd 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+movn $t0, $t1, $t2 :: rd 0x34867077, rs 0x34867077, rt 0xffffffff857130c3
+movn $s0, $s1, $s2 :: rd 0xde230867a630f6ad, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+movn $t0, $t1, $t2 :: rd 0x30476dc0, rs 0x30476dc0, rt 0xffffffff81b02d74
+movn $s0, $s1, $s2 :: rd 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+movn $t0, $t1, $t2 :: rd 0x3d044b19, rs 0x3d044b19, rt 0xffffffff8cf30bad
+movn $s0, $s1, $s2 :: rd 0x94a90544249b18ef, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+movn $t0, $t1, $t2 :: rd 0x39c556ae, rs 0x39c556ae, rt 0xffffffff8832161a
+movn $s0, $s1, $s2 :: rd 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+movn $t0, $t1, $t2 :: rd 0x278206ab, rs 0x278206ab, rt 0xffffffff9675461f
+movn $s0, $s1, $s2 :: rd 0x81daf8200468319b, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+movn $t0, $t1, $t2 :: rd 0x23431b1c, rs 0x23431b1c, rt 0xffffffff92b45ba8
+movn $s0, $s1, $s2 :: rd 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+movn $t0, $t1, $t2 :: rd 0x2e003dc5, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+movn $s0, $s1, $s2 :: rd 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+movn $t0, $t1, $t2 :: rd 0x2ac12072, rs 0x2ac12072, rt 0xffffffff9b3660c6
+movn $s0, $s1, $s2 :: rd 0x300ce751dac6162f, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+movn $t0, $t1, $t2 :: rd 0x128e9dcf, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+movn $s0, $s1, $s2 :: rd 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+movn $t0, $t1, $t2 :: rd 0x164f8078, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+movn $s0, $s1, $s2 :: rd 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+movn $t0, $t1, $t2 :: rd 0x1b0ca6a1, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+movn $s0, $s1, $s2 :: rd 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+movn $t0, $t1, $t2 :: rd 0x1fcdbb16, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+movn $s0, $s1, $s2 :: rd 0xf518381dce634413, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+movn $t0, $t1, $t2 :: rd 0x18aeb13, rs 0x18aeb13, rt 0xffffffffb07daba7
+movn $s0, $s1, $s2 :: rd 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+movn $t0, $t1, $t2 :: rd 0x54bf6a4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+movn $s0, $s1, $s2 :: rd 0xccd392e176321f28, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+movn $t0, $t1, $t2 :: rd 0x808d07d, rs 0x808d07d, rt 0xffffffffb9ff90c9
+movn $s0, $s1, $s2 :: rd 0x829464944018fd8f, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+movn $t0, $t1, $t2 :: rd 0xcc9cdca, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+movn $s0, $s1, $s2 :: rd 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x7897ab07, rt 0x0
+movn $s0, $s1, $s2 :: rd 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+movn $t0, $t1, $t2 :: rd 0x7c56b6b0, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+movn $s0, $s1, $s2 :: rd 0xf156a04c747defd7, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x71159069, rt 0x0
+movn $s0, $s1, $s2 :: rd 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+movn $t0, $t1, $t2 :: rd 0x75d48dde, rs 0x75d48dde, rt 0xffffffffc423cd6a
+movn $s0, $s1, $s2 :: rd 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+movn $t0, $t1, $t2 :: rd 0x6b93dddb, rs 0x6b93dddb, rt 0xffffffffda649d6f
+movn $s0, $s1, $s2 :: rd 0x24296b75a76fa427, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+movn $t0, $t1, $t2 :: rd 0x6f52c06c, rs 0x6f52c06c, rt 0xffffffffdea580d8
+movn $s0, $s1, $s2 :: rd 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+movn $t0, $t1, $t2 :: rd 0x6211e6b5, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+movn $s0, $s1, $s2 :: rd 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+movn $t0, $t1, $t2 :: rd 0x66d0fb02, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+movn $s0, $s1, $s2 :: rd 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+movn $t0, $t1, $t2 :: rd 0x5e9f46bf, rs 0x5e9f46bf, rt 0xffffffffef68060b
+movn $s0, $s1, $s2 :: rd 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+movn $t0, $t1, $t2 :: rd 0x5a5e5b08, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+movn $s0, $s1, $s2 :: rd 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+movn $t0, $t1, $t2 :: rd 0x571d7dd1, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+movn $s0, $s1, $s2 :: rd 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+movn $t0, $t1, $t2 :: rd 0x53dc6066, rs 0x53dc6066, rt 0xffffffffe22b20d2
+movn $s0, $s1, $s2 :: rd 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+movn $t0, $t1, $t2 :: rd 0x4d9b3063, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+movn $s0, $s1, $s2 :: rd 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+movn $t0, $t1, $t2 :: rd 0x495a2dd4, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+movn $s0, $s1, $s2 :: rd 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+movn $t0, $t1, $t2 :: rd 0x44190b0d, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+movn $s0, $s1, $s2 :: rd 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+movn $t0, $t1, $t2 :: rd 0x40d816ba, rs 0x40d816ba, rt 0xfffffffff12f560e
+movn $s0, $s1, $s2 :: rd 0x8b086ee07150c260, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+movn $t0, $t1, $t2 :: rd 0xffffffffaca5c697, rs 0xffffffffaca5c697, rt 0x1d528623
+movn $s0, $s1, $s2 :: rd 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+movn $t0, $t1, $t2 :: rd 0xffffffffa864db20, rs 0xffffffffa864db20, rt 0x19939b94
+movn $s0, $s1, $s2 :: rd 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+movn $t0, $t1, $t2 :: rd 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+movn $s0, $s1, $s2 :: rd 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+movn $t0, $t1, $t2 :: rd 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+movn $s0, $s1, $s2 :: rd 0xc0478f036980171e, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+movn $t0, $t1, $t2 :: rd 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+movn $s0, $s1, $s2 :: rd 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+movn $t0, $t1, $t2 :: rd 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, rt 0xa97ed48
+movn $s0, $s1, $s2 :: rd 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+movn $t0, $t1, $t2 :: rd 0xffffffffb6238b25, rs 0xffffffffb6238b25, rt 0x7d4cb91
+movn $s0, $s1, $s2 :: rd 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+movn $t0, $t1, $t2 :: rd 0xffffffffb2e29692, rs 0xffffffffb2e29692, rt 0x315d626
+movn $s0, $s1, $s2 :: rd 0xeb9682c170312f1, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+movn $t0, $t1, $t2 :: rd 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+movn $s0, $s1, $s2 :: rd 0x84785280dd301d0d, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+movn $s0, $s1, $s2 :: rd 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+movn $s0, $s1, $s2 :: rd 0x26444ced2998436d, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+movn $t0, $t1, $t2 :: rd 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, rt 0x36194d42
+movn $s0, $s1, $s2 :: rd 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+movn $t0, $t1, $t2 :: rd 0xffffffff99a95df3, rs 0xffffffff99a95df3, rt 0x285e1d47
+movn $s0, $s1, $s2 :: rd 0x663d061055833287, rs 0x663d061055833287, rt 0xb620660a49732b90
+movn $t0, $t1, $t2 :: rd 0xffffffff9d684044, rs 0xffffffff9d684044, rt 0x2c9f00f0
+movn $s0, $s1, $s2 :: rd 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+movn $t0, $t1, $t2 :: rd 0xffffffff902b669d, rs 0xffffffff902b669d, rt 0x21dc2629
+movn $s0, $s1, $s2 :: rd 0xf69823670e82471b, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+movn $t0, $t1, $t2 :: rd 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+movn $s0, $s1, $s2 :: rd 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+movn $t0, $t1, $t2 :: rd 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, rt 0x51435d53
+movn $s0, $s1, $s2 :: rd 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+movn $t0, $t1, $t2 :: rd 0xffffffffe4750050, rs 0xffffffffe4750050, rt 0x558240e4
+movn $s0, $s1, $s2 :: rd 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+movn $t0, $t1, $t2 :: rd 0xffffffffe9362689, rs 0xffffffffe9362689, rt 0x58c1663d
+movn $s0, $s1, $s2 :: rd 0x3f46553ecad374df, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+movn $t0, $t1, $t2 :: rd 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+movn $s0, $s1, $s2 :: rd 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+movn $t0, $t1, $t2 :: rd 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+movn $s0, $s1, $s2 :: rd 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+movn $t0, $t1, $t2 :: rd 0xfffffffff771768c, rs 0xfffffffff771768c, rt 0x46863638
+movn $s0, $s1, $s2 :: rd 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+movn $t0, $t1, $t2 :: rd 0xfffffffffa325055, rs 0xfffffffffa325055, rt 0x4bc510e1
+movn $s0, $s1, $s2 :: rd 0xd2df25c419478206, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+movn $t0, $t1, $t2 :: rd 0xfffffffffef34de2, rs 0xfffffffffef34de2, rt 0x4f040d56
+movn $s0, $s1, $s2 :: rd 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+movn $t0, $t1, $t2 :: rd 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+movn $s0, $s1, $s2 :: rd 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+movn $t0, $t1, $t2 :: rd 0xffffffffc27dede8, rs 0xffffffffc27dede8, rt 0x738aad5c
+movn $s0, $s1, $s2 :: rd 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+movn $t0, $t1, $t2 :: rd 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+movn $s0, $s1, $s2 :: rd 0x478909b59a99269, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+movn $t0, $t1, $t2 :: rd 0xffffffffcbffd686, rs 0xffffffffcbffd686, rt 0x7a089632
+movn $s0, $s1, $s2 :: rd 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+movn $t0, $t1, $t2 :: rd 0xffffffffd5b88683, rs 0xffffffffd5b88683, rt 0x644fc637
+movn $s0, $s1, $s2 :: rd 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+movn $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+movn $s0, $s1, $s2 :: rd 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+movn $t0, $t1, $t2 :: rd 0xffffffffdc3abded, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+movn $s0, $s1, $s2 :: rd 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+movn $t0, $t1, $t2 :: rd 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+movn $s0, $s1, $s2 :: rd 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+movn $t0, $t1, $t2 :: rd 0x690ce0ee, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+movn $s0, $s1, $s2 :: rd 0x420b34f533734a4b, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+movn $t0, $t1, $t2 :: rd 0x6dcdfd59, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+movn $s0, $s1, $s2 :: rd 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+movn $t0, $t1, $t2 :: rd 0x608edb80, rs 0x608edb80, rt 0xffffffffd1799b34
+movn $s0, $s1, $s2 :: rd 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+movn $t0, $t1, $t2 :: rd 0x644fc637, rs 0x644fc637, rt 0xffffffffd5b88683
+movn $s0, $s1, $s2 :: rd 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+movn $t0, $t1, $t2 :: rd 0x7a089632, rs 0x7a089632, rt 0xffffffffcbffd686
+movn $s0, $s1, $s2 :: rd 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+movn $t0, $t1, $t2 :: rd 0x7ec98b85, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+movn $s0, $s1, $s2 :: rd 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+movn $t0, $t1, $t2 :: rd 0x738aad5c, rs 0x738aad5c, rt 0xffffffffc27dede8
+movn $s0, $s1, $s2 :: rd 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+movn $t0, $t1, $t2 :: rd 0x774bb0eb, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+movn $s0, $s1, $s2 :: rd 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+movn $t0, $t1, $t2 :: rd 0x4f040d56, rs 0x4f040d56, rt 0xfffffffffef34de2
+movn $s0, $s1, $s2 :: rd 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+movn $t0, $t1, $t2 :: rd 0x4bc510e1, rs 0x4bc510e1, rt 0xfffffffffa325055
+movn $s0, $s1, $s2 :: rd 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+movn $t0, $t1, $t2 :: rd 0x46863638, rs 0x46863638, rt 0xfffffffff771768c
+movn $s0, $s1, $s2 :: rd 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+movn $t0, $t1, $t2 :: rd 0x42472b8f, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+movn $s0, $s1, $s2 :: rd 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+movn $t0, $t1, $t2 :: rd 0x5c007b8a, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+movn $s0, $s1, $s2 :: rd 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+movn $t0, $t1, $t2 :: rd 0x58c1663d, rs 0x58c1663d, rt 0xffffffffe9362689
+movn $s0, $s1, $s2 :: rd 0xf8be8164159649c5, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+movn $t0, $t1, $t2 :: rd 0x558240e4, rs 0x558240e4, rt 0xffffffffe4750050
+movn $s0, $s1, $s2 :: rd 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+movn $t0, $t1, $t2 :: rd 0x51435d53, rs 0x51435d53, rt 0xffffffffe0b41de7
+movn $s0, $s1, $s2 :: rd 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+movn $t0, $t1, $t2 :: rd 0x251d3b9e, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+movn $s0, $s1, $s2 :: rd 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+movn $t0, $t1, $t2 :: rd 0x21dc2629, rs 0x21dc2629, rt 0xffffffff902b669d
+movn $s0, $s1, $s2 :: rd 0xc532e18e187980fa, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+movn $t0, $t1, $t2 :: rd 0x2c9f00f0, rs 0x2c9f00f0, rt 0xffffffff9d684044
+movn $s0, $s1, $s2 :: rd 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+movn $t0, $t1, $t2 :: rd 0x285e1d47, rs 0x285e1d47, rt 0xffffffff99a95df3
+movn $s0, $s1, $s2 :: rd 0xb620660a49732b90, rs 0xb620660a49732b90, rt 0x663d061055833287
+movn $t0, $t1, $t2 :: rd 0x36194d42, rs 0x36194d42, rt 0xffffffff87ee0df6
+movn $s0, $s1, $s2 :: rd 0x993138f16cfde991, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x32d850f5, rt 0x0
+movn $s0, $s1, $s2 :: rd 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x3f9b762c, rt 0x0
+movn $s0, $s1, $s2 :: rd 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+movn $t0, $t1, $t2 :: rd 0x3b5a6b9b, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+movn $s0, $s1, $s2 :: rd 0x743491a6828716c8, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+movn $t0, $t1, $t2 :: rd 0x315d626, rs 0x315d626, rt 0xffffffffb2e29692
+movn $s0, $s1, $s2 :: rd 0x8cff404aede292f2, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+movn $t0, $t1, $t2 :: rd 0x7d4cb91, rs 0x7d4cb91, rt 0xffffffffb6238b25
+movn $s0, $s1, $s2 :: rd 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+movn $t0, $t1, $t2 :: rd 0xa97ed48, rs 0xa97ed48, rt 0xffffffffbb60adfc
+movn $s0, $s1, $s2 :: rd 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+movn $t0, $t1, $t2 :: rd 0xe56f0ff, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+movn $s0, $s1, $s2 :: rd 0xd327538e1875241b, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+movn $t0, $t1, $t2 :: rd 0x1011a0fa, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+movn $s0, $s1, $s2 :: rd 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+movn $t0, $t1, $t2 :: rd 0x14d0bd4d, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+movn $s0, $s1, $s2 :: rd 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+movn $t0, $t1, $t2 :: rd 0x19939b94, rs 0x19939b94, rt 0xffffffffa864db20
+movn $s0, $s1, $s2 :: rd 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+movn $t0, $t1, $t2 :: rd 0x1d528623, rs 0x1d528623, rt 0xffffffffaca5c697
+movn $s0, $s1, $s2 :: rd 0x73916483ae3e9423, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+movn $t0, $t1, $t2 :: rd 0xfffffffff12f560e, rs 0xfffffffff12f560e, rt 0x40d816ba
+movn $s0, $s1, $s2 :: rd 0x276af70a0e128561, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+movn $t0, $t1, $t2 :: rd 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+movn $s0, $s1, $s2 :: rd 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+movn $t0, $t1, $t2 :: rd 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+movn $s0, $s1, $s2 :: rd 0x20223f1308accfa6, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+movn $t0, $t1, $t2 :: rd 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+movn $s0, $s1, $s2 :: rd 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+movn $t0, $t1, $t2 :: rd 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, rt 0x53dc6066
+movn $s0, $s1, $s2 :: rd 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+movn $t0, $t1, $t2 :: rd 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+movn $s0, $s1, $s2 :: rd 0x620d28506d2448dd, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+movn $t0, $t1, $t2 :: rd 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+movn $s0, $s1, $s2 :: rd 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+movn $t0, $t1, $t2 :: rd 0xffffffffef68060b, rs 0xffffffffef68060b, rt 0x5e9f46bf
+movn $s0, $s1, $s2 :: rd 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+movn $t0, $t1, $t2 :: rd 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+movn $s0, $s1, $s2 :: rd 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+movn $t0, $t1, $t2 :: rd 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+movn $s0, $s1, $s2 :: rd 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+movn $t0, $t1, $t2 :: rd 0xffffffffdea580d8, rs 0xffffffffdea580d8, rt 0x6f52c06c
+movn $s0, $s1, $s2 :: rd 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+movn $t0, $t1, $t2 :: rd 0xffffffffda649d6f, rs 0xffffffffda649d6f, rt 0x6b93dddb
+movn $s0, $s1, $s2 :: rd 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+movn $t0, $t1, $t2 :: rd 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, rt 0x75d48dde
+movn $s0, $s1, $s2 :: rd 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+movn $s0, $s1, $s2 :: rd 0x126f646f34c31728, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+movn $t0, $t1, $t2 :: rd 0xffffffffcda1f604, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+movn $s0, $s1, $s2 :: rd 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+movn $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+movn $s0, $s1, $s2 :: rd 0x7535cd338595d342, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+movn $t0, $t1, $t2 :: rd 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+movn $s0, $s1, $s2 :: rd 0xdfb254da422346ec, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+movn $t0, $t1, $t2 :: rd 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, rt 0x808d07d
+movn $s0, $s1, $s2 :: rd 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+movn $t0, $t1, $t2 :: rd 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+movn $s0, $s1, $s2 :: rd 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+movn $t0, $t1, $t2 :: rd 0xffffffffb07daba7, rs 0xffffffffb07daba7, rt 0x18aeb13
+movn $s0, $s1, $s2 :: rd 0xc7699826b7dee244, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+movn $t0, $t1, $t2 :: rd 0xffffffffae3afba2, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+movn $s0, $s1, $s2 :: rd 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+movn $t0, $t1, $t2 :: rd 0xffffffffaafbe615, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+movn $s0, $s1, $s2 :: rd 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+movn $t0, $t1, $t2 :: rd 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+movn $s0, $s1, $s2 :: rd 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+movn $t0, $t1, $t2 :: rd 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+movn $s0, $s1, $s2 :: rd 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+movn $t0, $t1, $t2 :: rd 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, rt 0x2ac12072
+movn $s0, $s1, $s2 :: rd 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+movn $t0, $t1, $t2 :: rd 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+movn $s0, $s1, $s2 :: rd 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+movn $t0, $t1, $t2 :: rd 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, rt 0x23431b1c
+movn $s0, $s1, $s2 :: rd 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+movn $t0, $t1, $t2 :: rd 0xffffffff9675461f, rs 0xffffffff9675461f, rt 0x278206ab
+movn $s0, $s1, $s2 :: rd 0xa974eac43a489b55, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+movn $t0, $t1, $t2 :: rd 0xffffffff8832161a, rs 0xffffffff8832161a, rt 0x39c556ae
+movn $s0, $s1, $s2 :: rd 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+movn $t0, $t1, $t2 :: rd 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, rt 0x3d044b19
+movn $s0, $s1, $s2 :: rd 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+movn $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+movn $s0, $s1, $s2 :: rd 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+movn $t0, $t1, $t2 :: rd 0xffffffff857130c3, rs 0xffffffff857130c3, rt 0x34867077
+movn $s0, $s1, $s2 :: rd 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+movn $t0, $t1, $t2 :: rd 0x5d8a9099, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+movn $s0, $s1, $s2 :: rd 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+movn $t0, $t1, $t2 :: rd 0x594b8d2e, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+movn $s0, $s1, $s2 :: rd 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+movn $t0, $t1, $t2 :: rd 0x5408abf7, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+movn $s0, $s1, $s2 :: rd 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+movn $t0, $t1, $t2 :: rd 0x50c9b640, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+movn $s0, $s1, $s2 :: rd 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+movn $t0, $t1, $t2 :: rd 0x4e8ee645, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+movn $s0, $s1, $s2 :: rd 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+movn $t0, $t1, $t2 :: rd 0x4a4ffbf2, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+movn $s0, $s1, $s2 :: rd 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+movn $t0, $t1, $t2 :: rd 0x470cdd2b, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+movn $s0, $s1, $s2 :: rd 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+movn $t0, $t1, $t2 :: rd 0x43cdc09c, rs 0x43cdc09c, rt 0xfffffffff23a8028
+movn $s0, $s1, $s2 :: rd 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+movn $t0, $t1, $t2 :: rd 0x7b827d21, rs 0x7b827d21, rt 0xffffffffca753d95
+movn $s0, $s1, $s2 :: rd 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+movn $t0, $t1, $t2 :: rd 0x7f436096, rs 0x7f436096, rt 0xffffffffceb42022
+movn $s0, $s1, $s2 :: rd 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+movn $t0, $t1, $t2 :: rd 0x7200464f, rs 0x7200464f, rt 0xffffffffc3f706fb
+movn $s0, $s1, $s2 :: rd 0xbb8470f981e91117, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+movn $t0, $t1, $t2 :: rd 0x76c15bf8, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+movn $s0, $s1, $s2 :: rd 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+movn $t0, $t1, $t2 :: rd 0x68860bfd, rs 0x68860bfd, rt 0xffffffffd9714b49
+movn $s0, $s1, $s2 :: rd 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+movn $t0, $t1, $t2 :: rd 0x6c47164a, rs 0x6c47164a, rt 0xffffffffddb056fe
+movn $s0, $s1, $s2 :: rd 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+movn $t0, $t1, $t2 :: rd 0x61043093, rs 0x61043093, rt 0xffffffffd0f37027
+movn $s0, $s1, $s2 :: rd 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+movn $t0, $t1, $t2 :: rd 0x65c52d24, rs 0x65c52d24, rt 0xffffffffd4326d90
+movn $s0, $s1, $s2 :: rd 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+movn $t0, $t1, $t2 :: rd 0x119b4be9, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+movn $s0, $s1, $s2 :: rd 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+movn $t0, $t1, $t2 :: rd 0x155a565e, rs 0x155a565e, rt 0xffffffffa4ad16ea
+movn $s0, $s1, $s2 :: rd 0x152828591a652711, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+movn $t0, $t1, $t2 :: rd 0x18197087, rs 0x18197087, rt 0xffffffffa9ee3033
+movn $s0, $s1, $s2 :: rd 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+movn $t0, $t1, $t2 :: rd 0x1cd86d30, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+movn $s0, $s1, $s2 :: rd 0x8d95c049282a0417, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+movn $t0, $t1, $t2 :: rd 0x29f3d35, rs 0x29f3d35, rt 0xffffffffb3687d81
+movn $s0, $s1, $s2 :: rd 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+movn $t0, $t1, $t2 :: rd 0x65e2082, rs 0x65e2082, rt 0xffffffffb7a96036
+movn $s0, $s1, $s2 :: rd 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+movn $t0, $t1, $t2 :: rd 0xb1d065b, rs 0xb1d065b, rt 0xffffffffbaea46ef
+movn $s0, $s1, $s2 :: rd 0xa2b84a635111020, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+movn $t0, $t1, $t2 :: rd 0xfdc1bec, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+movn $s0, $s1, $s2 :: rd 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+movn $t0, $t1, $t2 :: rd 0x3793a651, rs 0x3793a651, rt 0xffffffff8664e6e5
+movn $s0, $s1, $s2 :: rd 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+movn $t0, $t1, $t2 :: rd 0x3352bbe6, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+movn $s0, $s1, $s2 :: rd 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+movn $t0, $t1, $t2 :: rd 0x3e119d3f, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+movn $s0, $s1, $s2 :: rd 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+movn $t0, $t1, $t2 :: rd 0x3ad08088, rs 0x3ad08088, rt 0xffffffff8b27c03c
+movn $s0, $s1, $s2 :: rd 0x7f567f35a6929739, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+movn $t0, $t1, $t2 :: rd 0x2497d08d, rs 0x2497d08d, rt 0xffffffff95609039
+movn $s0, $s1, $s2 :: rd 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+movn $t0, $t1, $t2 :: rd 0x2056cd3a, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+movn $s0, $s1, $s2 :: rd 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+movn $t0, $t1, $t2 :: rd 0x2d15ebe3, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+movn $s0, $s1, $s2 :: rd 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+movn $t0, $t1, $t2 :: rd 0x29d4f654, rs 0x29d4f654, rt 0xffffffff9823b6e0
+movn $s0, $s1, $s2 :: rd 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+movn $t0, $t1, $t2 :: rd 0xffffffffc5a92679, rs 0xffffffffc5a92679, rt 0x745e66cd
+movn $s0, $s1, $s2 :: rd 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+movn $t0, $t1, $t2 :: rd 0xffffffffc1683bce, rs 0xffffffffc1683bce, rt 0x709f7b7a
+movn $s0, $s1, $s2 :: rd 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+movn $t0, $t1, $t2 :: rd 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+movn $s0, $s1, $s2 :: rd 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+movn $t0, $t1, $t2 :: rd 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, rt 0x791d4014
+movn $s0, $s1, $s2 :: rd 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+movn $t0, $t1, $t2 :: rd 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, rt 0x675a1011
+movn $s0, $s1, $s2 :: rd 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+movn $t0, $t1, $t2 :: rd 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, rt 0x639b0da6
+movn $s0, $s1, $s2 :: rd 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+movn $t0, $t1, $t2 :: rd 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+movn $s0, $s1, $s2 :: rd 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+movn $t0, $t1, $t2 :: rd 0xffffffffdbee767c, rs 0xffffffffdbee767c, rt 0x6a1936c8
+movn $s0, $s1, $s2 :: rd 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+movn $t0, $t1, $t2 :: rd 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+movn $s0, $s1, $s2 :: rd 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+movn $t0, $t1, $t2 :: rd 0xffffffffe760d676, rs 0xffffffffe760d676, rt 0x569796c2
+movn $s0, $s1, $s2 :: rd 0x4ed6393df818af57, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+movn $t0, $t1, $t2 :: rd 0xffffffffea23f0af, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+movn $s0, $s1, $s2 :: rd 0xf22e90200236770a, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+movn $t0, $t1, $t2 :: rd 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, rt 0x5f15adac
+movn $s0, $s1, $s2 :: rd 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+movn $t0, $t1, $t2 :: rd 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+movn $s0, $s1, $s2 :: rd 0xeed8f3518102315b, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+movn $t0, $t1, $t2 :: rd 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, rt 0x4593e01e
+movn $s0, $s1, $s2 :: rd 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+movn $t0, $t1, $t2 :: rd 0xfffffffff9278673, rs 0xfffffffff9278673, rt 0x48d0c6c7
+movn $s0, $s1, $s2 :: rd 0x34061933eb253086, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+movn $t0, $t1, $t2 :: rd 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, rt 0x4c11db70
+movn $s0, $s1, $s2 :: rd 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+movn $t0, $t1, $t2 :: rd 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+movn $s0, $s1, $s2 :: rd 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+movn $t0, $t1, $t2 :: rd 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+movn $s0, $s1, $s2 :: rd 0xd00278c3c521d180, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+movn $t0, $t1, $t2 :: rd 0xffffffff803ac667, rs 0xffffffff803ac667, rt 0x31cd86d3
+movn $s0, $s1, $s2 :: rd 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+movn $t0, $t1, $t2 :: rd 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+movn $s0, $s1, $s2 :: rd 0x65fd698fddef9839, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+movn $t0, $t1, $t2 :: rd 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+movn $s0, $s1, $s2 :: rd 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+movn $t0, $t1, $t2 :: rd 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+movn $s0, $s1, $s2 :: rd 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+movn $t0, $t1, $t2 :: rd 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+movn $s0, $s1, $s2 :: rd 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+movn $t0, $t1, $t2 :: rd 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, rt 0x2608edb8
+movn $s0, $s1, $s2 :: rd 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+movn $t0, $t1, $t2 :: rd 0xffffffffafb010b1, rs 0xffffffffafb010b1, rt 0x1e475005
+movn $s0, $s1, $s2 :: rd 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+movn $t0, $t1, $t2 :: rd 0xffffffffab710d06, rs 0xffffffffab710d06, rt 0x1a864db2
+movn $s0, $s1, $s2 :: rd 0xcd61a8639826631e, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+movn $t0, $t1, $t2 :: rd 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+movn $s0, $s1, $s2 :: rd 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+movn $t0, $t1, $t2 :: rd 0xffffffffa2f33668, rs 0xffffffffa2f33668, rt 0x130476dc
+movn $s0, $s1, $s2 :: rd 0x58ec644d6481af17, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+movn $t0, $t1, $t2 :: rd 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, rt 0xd4326d9
+movn $s0, $s1, $s2 :: rd 0x680cce5fb236b666, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+movn $t0, $t1, $t2 :: rd 0xffffffffb8757bda, rs 0xffffffffb8757bda, rt 0x9823b6e
+movn $s0, $s1, $s2 :: rd 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+movn $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb5365d03, rt 0x0
+movn $s0, $s1, $s2 :: rd 0x614d9b445f12236b, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+movn $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb1f740b4, rt 0x0
+movn $s0, $s1, $s2 :: rd 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x9823b6e, rt 0xffffffffb8757bda
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xd4326d9, rt 0xffffffffbcb4666d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x130476dc, rt 0xffffffffa2f33668
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1a864db2, rt 0xffffffffab710d06
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1e475005, rt 0xffffffffafb010b1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2608edb8, rt 0xffffffff97ffad0c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x31cd86d3, rt 0xffffffff803ac667
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4c11db70, rt 0xfffffffffde69bc4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x48d0c6c7, rt 0xfffffffff9278673
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4593e01e, rt 0xfffffffff464a0aa
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5f15adac, rt 0xffffffffeee2ed18
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x569796c2, rt 0xffffffffe760d676
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6a1936c8, rt 0xffffffffdbee767c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x639b0da6, rt 0xffffffffd26c4d12
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x675a1011, rt 0xffffffffd6ad50a5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x791d4014, rt 0xffffffffc8ea00a0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x709f7b7a, rt 0xffffffffc1683bce
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x745e66cd, rt 0xffffffffc5a92679
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9823b6e0, rt 0x29d4f654
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff95609039, rt 0x2497d08d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8664e6e5, rt 0x3793a651
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbaea46ef, rt 0xb1d065b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb7a96036, rt 0x65e2082
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb3687d81, rt 0x29f3d35
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa9ee3033, rt 0x18197087
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa4ad16ea, rt 0x155a565e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd4326d90, rt 0x65c52d24
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd0f37027, rt 0x61043093
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffddb056fe, rt 0x6c47164a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd9714b49, rt 0x68860bfd
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc3f706fb, rt 0x7200464f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffceb42022, rt 0x7f436096
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffca753d95, rt 0x7b827d21
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff23a8028, rt 0x43cdc09c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x34867077, rt 0xffffffff857130c3
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x30476dc0, rt 0xffffffff81b02d74
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3d044b19, rt 0xffffffff8cf30bad
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x39c556ae, rt 0xffffffff8832161a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x23431b1c, rt 0xffffffff92b45ba8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2ac12072, rt 0xffffffff9b3660c6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x18aeb13, rt 0xffffffffb07daba7
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x808d07d, rt 0xffffffffb9ff90c9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+movz $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+movz $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x75d48dde, rt 0xffffffffc423cd6a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6b93dddb, rt 0xffffffffda649d6f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6f52c06c, rt 0xffffffffdea580d8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5e9f46bf, rt 0xffffffffef68060b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x53dc6066, rt 0xffffffffe22b20d2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x40d816ba, rt 0xfffffffff12f560e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffaca5c697, rt 0x1d528623
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa864db20, rt 0x19939b94
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbb60adfc, rt 0xa97ed48
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb6238b25, rt 0x7d4cb91
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb2e29692, rt 0x315d626
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff87ee0df6, rt 0x36194d42
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff99a95df3, rt 0x285e1d47
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x663d061055833287, rt 0xb620660a49732b90
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9d684044, rt 0x2c9f00f0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff902b669d, rt 0x21dc2629
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe0b41de7, rt 0x51435d53
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe4750050, rt 0x558240e4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe9362689, rt 0x58c1663d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff771768c, rt 0x46863638
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffa325055, rt 0x4bc510e1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffef34de2, rt 0x4f040d56
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc27dede8, rt 0x738aad5c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcbffd686, rt 0x7a089632
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd5b88683, rt 0x644fc637
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd1799b34, rt 0x608edb80
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x608edb80, rt 0xffffffffd1799b34
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x644fc637, rt 0xffffffffd5b88683
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7a089632, rt 0xffffffffcbffd686
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x738aad5c, rt 0xffffffffc27dede8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4f040d56, rt 0xfffffffffef34de2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4bc510e1, rt 0xfffffffffa325055
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x46863638, rt 0xfffffffff771768c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x58c1663d, rt 0xffffffffe9362689
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x558240e4, rt 0xffffffffe4750050
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x51435d53, rt 0xffffffffe0b41de7
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x21dc2629, rt 0xffffffff902b669d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2c9f00f0, rt 0xffffffff9d684044
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x285e1d47, rt 0xffffffff99a95df3
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb620660a49732b90, rt 0x663d061055833287
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x36194d42, rt 0xffffffff87ee0df6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+movz $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+movz $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x315d626, rt 0xffffffffb2e29692
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7d4cb91, rt 0xffffffffb6238b25
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x19939b94, rt 0xffffffffa864db20
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1d528623, rt 0xffffffffaca5c697
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff12f560e, rt 0x40d816ba
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe22b20d2, rt 0x53dc6066
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffef68060b, rt 0x5e9f46bf
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdea580d8, rt 0x6f52c06c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffda649d6f, rt 0x6b93dddb
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc423cd6a, rt 0x75d48dde
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb9ff90c9, rt 0x808d07d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb07daba7, rt 0x18aeb13
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9b3660c6, rt 0x2ac12072
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff92b45ba8, rt 0x23431b1c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9675461f, rt 0x278206ab
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8832161a, rt 0x39c556ae
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8cf30bad, rt 0x3d044b19
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff81b02d74, rt 0x30476dc0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff857130c3, rt 0x34867077
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7b827d21, rt 0xffffffffca753d95
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7f436096, rt 0xffffffffceb42022
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x7200464f, rt 0xffffffffc3f706fb
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x68860bfd, rt 0xffffffffd9714b49
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x6c47164a, rt 0xffffffffddb056fe
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x61043093, rt 0xffffffffd0f37027
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x65c52d24, rt 0xffffffffd4326d90
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x155a565e, rt 0xffffffffa4ad16ea
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x18197087, rt 0xffffffffa9ee3033
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x29f3d35, rt 0xffffffffb3687d81
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x65e2082, rt 0xffffffffb7a96036
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xb1d065b, rt 0xffffffffbaea46ef
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3793a651, rt 0xffffffff8664e6e5
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x3ad08088, rt 0xffffffff8b27c03c
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2497d08d, rt 0xffffffff95609039
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+movz $t0, $t1, $t2 :: rd 0x0, rs 0x29d4f654, rt 0xffffffff9823b6e0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc5a92679, rt 0x745e66cd
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc1683bce, rt 0x709f7b7a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc8ea00a0, rt 0x791d4014
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd6ad50a5, rt 0x675a1011
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd26c4d12, rt 0x639b0da6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdbee767c, rt 0x6a1936c8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe760d676, rt 0x569796c2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffeee2ed18, rt 0x5f15adac
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff464a0aa, rt 0x4593e01e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff9278673, rt 0x48d0c6c7
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffde69bc4, rt 0x4c11db70
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff803ac667, rt 0x31cd86d3
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff97ffad0c, rt 0x2608edb8
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffafb010b1, rt 0x1e475005
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffab710d06, rt 0x1a864db2
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa2f33668, rt 0x130476dc
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbcb4666d, rt 0xd4326d9
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+movz $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb8757bda, rt 0x9823b6e
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+movz $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+movz $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+movz $s0, $s1, $s2 :: rd 0x0, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+seb $t0, $t1 :: rd 0x0, rs 0x0
+seb $t0, $t1 :: rd 0x0, rs 0x0
+seb $t0, $t1 :: rd 0x6e, rs 0x9823b6e
+seb $t0, $t1 :: rd 0xffffffffffffffd9, rs 0xd4326d9
+seb $t0, $t1 :: rd 0xffffffffffffffdc, rs 0x130476dc
+seb $t0, $t1 :: rd 0x6b, rs 0x17c56b6b
+seb $t0, $t1 :: rd 0xffffffffffffffb2, rs 0x1a864db2
+seb $t0, $t1 :: rd 0x5, rs 0x1e475005
+seb $t0, $t1 :: rd 0xffffffffffffffb8, rs 0x2608edb8
+seb $t0, $t1 :: rd 0xf, rs 0x22c9f00f
+seb $t0, $t1 :: rd 0xffffffffffffffd6, rs 0x2f8ad6d6
+seb $t0, $t1 :: rd 0x61, rs 0x2b4bcb61
+seb $t0, $t1 :: rd 0x64, rs 0x350c9b64
+seb $t0, $t1 :: rd 0xffffffffffffffd3, rs 0x31cd86d3
+seb $t0, $t1 :: rd 0xa, rs 0x3c8ea00a
+seb $t0, $t1 :: rd 0xffffffffffffffbd, rs 0x384fbdbd
+seb $t0, $t1 :: rd 0x70, rs 0x4c11db70
+seb $t0, $t1 :: rd 0xffffffffffffffc7, rs 0x48d0c6c7
+seb $t0, $t1 :: rd 0x1e, rs 0x4593e01e
+seb $t0, $t1 :: rd 0xffffffffffffffa9, rs 0x4152fda9
+seb $t0, $t1 :: rd 0xffffffffffffffac, rs 0x5f15adac
+seb $t0, $t1 :: rd 0x1b, rs 0x5bd4b01b
+seb $t0, $t1 :: rd 0xffffffffffffffc2, rs 0x569796c2
+seb $t0, $t1 :: rd 0x75, rs 0x52568b75
+seb $t0, $t1 :: rd 0xffffffffffffffc8, rs 0x6a1936c8
+seb $t0, $t1 :: rd 0x7f, rs 0x6ed82b7f
+seb $t0, $t1 :: rd 0xffffffffffffffa6, rs 0x639b0da6
+seb $t0, $t1 :: rd 0x11, rs 0x675a1011
+seb $t0, $t1 :: rd 0x14, rs 0x791d4014
+seb $t0, $t1 :: rd 0xffffffffffffffa3, rs 0x7ddc5da3
+seb $t0, $t1 :: rd 0x7a, rs 0x709f7b7a
+seb $t0, $t1 :: rd 0xffffffffffffffcd, rs 0x745e66cd
+seb $t0, $t1 :: rd 0xffffffffffffffe0, rs 0xffffffff9823b6e0
+seb $t0, $t1 :: rd 0x57, rs 0xffffffff9ce2ab57
+seb $t0, $t1 :: rd 0xffffffffffffff8e, rs 0xffffffff91a18d8e
+seb $t0, $t1 :: rd 0x39, rs 0xffffffff95609039
+seb $t0, $t1 :: rd 0x3c, rs 0xffffffff8b27c03c
+seb $t0, $t1 :: rd 0xffffffffffffff8b, rs 0xffffffff8fe6dd8b
+seb $t0, $t1 :: rd 0x52, rs 0xffffffff82a5fb52
+seb $t0, $t1 :: rd 0xffffffffffffffe5, rs 0xffffffff8664e6e5
+seb $t0, $t1 :: rd 0x58, rs 0xffffffffbe2b5b58
+seb $t0, $t1 :: rd 0xffffffffffffffef, rs 0xffffffffbaea46ef
+seb $t0, $t1 :: rd 0x36, rs 0xffffffffb7a96036
+seb $t0, $t1 :: rd 0xffffffffffffff81, rs 0xffffffffb3687d81
+seb $t0, $t1 :: rd 0xffffffffffffff84, rs 0xffffffffad2f2d84
+seb $t0, $t1 :: rd 0x33, rs 0xffffffffa9ee3033
+seb $t0, $t1 :: rd 0xffffffffffffffea, rs 0xffffffffa4ad16ea
+seb $t0, $t1 :: rd 0x5d, rs 0xffffffffa06c0b5d
+seb $t0, $t1 :: rd 0xffffffffffffff90, rs 0xffffffffd4326d90
+seb $t0, $t1 :: rd 0x27, rs 0xffffffffd0f37027
+seb $t0, $t1 :: rd 0xfffffffffffffffe, rs 0xffffffffddb056fe
+seb $t0, $t1 :: rd 0x49, rs 0xffffffffd9714b49
+seb $t0, $t1 :: rd 0x4c, rs 0xffffffffc7361b4c
+seb $t0, $t1 :: rd 0xfffffffffffffffb, rs 0xffffffffc3f706fb
+seb $t0, $t1 :: rd 0x22, rs 0xffffffffceb42022
+seb $t0, $t1 :: rd 0xffffffffffffff95, rs 0xffffffffca753d95
+seb $t0, $t1 :: rd 0x28, rs 0xfffffffff23a8028
+seb $t0, $t1 :: rd 0xffffffffffffff9f, rs 0xfffffffff6fb9d9f
+seb $t0, $t1 :: rd 0x46, rs 0xfffffffffbb8bb46
+seb $t0, $t1 :: rd 0xfffffffffffffff1, rs 0xffffffffff79a6f1
+seb $t0, $t1 :: rd 0xfffffffffffffff4, rs 0xffffffffe13ef6f4
+seb $t0, $t1 :: rd 0x43, rs 0xffffffffe5ffeb43
+seb $t0, $t1 :: rd 0xffffffffffffff9a, rs 0xffffffffe8bccd9a
+seb $t0, $t1 :: rd 0x2d, rs 0xffffffffec7dd02d
+seb $t0, $t1 :: rd 0x77, rs 0x34867077
+seb $t0, $t1 :: rd 0xffffffffffffffc0, rs 0x30476dc0
+seb $t0, $t1 :: rd 0x19, rs 0x3d044b19
+seb $t0, $t1 :: rd 0xffffffffffffffae, rs 0x39c556ae
+seb $t0, $t1 :: rd 0xffffffffffffffab, rs 0x278206ab
+seb $t0, $t1 :: rd 0x1c, rs 0x23431b1c
+seb $t0, $t1 :: rd 0xffffffffffffffc5, rs 0x2e003dc5
+seb $t0, $t1 :: rd 0x72, rs 0x2ac12072
+seb $t0, $t1 :: rd 0xffffffffffffffcf, rs 0x128e9dcf
+seb $t0, $t1 :: rd 0x78, rs 0x164f8078
+seb $t0, $t1 :: rd 0xffffffffffffffa1, rs 0x1b0ca6a1
+seb $t0, $t1 :: rd 0x16, rs 0x1fcdbb16
+seb $t0, $t1 :: rd 0x13, rs 0x18aeb13
+seb $t0, $t1 :: rd 0xffffffffffffffa4, rs 0x54bf6a4
+seb $t0, $t1 :: rd 0x7d, rs 0x808d07d
+seb $t0, $t1 :: rd 0xffffffffffffffca, rs 0xcc9cdca
+seb $t0, $t1 :: rd 0x7, rs 0x7897ab07
+seb $t0, $t1 :: rd 0xffffffffffffffb0, rs 0x7c56b6b0
+seb $t0, $t1 :: rd 0x69, rs 0x71159069
+seb $t0, $t1 :: rd 0xffffffffffffffde, rs 0x75d48dde
+seb $t0, $t1 :: rd 0xffffffffffffffdb, rs 0x6b93dddb
+seb $t0, $t1 :: rd 0x6c, rs 0x6f52c06c
+seb $t0, $t1 :: rd 0xffffffffffffffb5, rs 0x6211e6b5
+seb $t0, $t1 :: rd 0x2, rs 0x66d0fb02
+seb $t0, $t1 :: rd 0xffffffffffffffbf, rs 0x5e9f46bf
+seb $t0, $t1 :: rd 0x8, rs 0x5a5e5b08
+seb $t0, $t1 :: rd 0xffffffffffffffd1, rs 0x571d7dd1
+seb $t0, $t1 :: rd 0x66, rs 0x53dc6066
+seb $t0, $t1 :: rd 0x63, rs 0x4d9b3063
+seb $t0, $t1 :: rd 0xffffffffffffffd4, rs 0x495a2dd4
+seb $t0, $t1 :: rd 0xd, rs 0x44190b0d
+seb $t0, $t1 :: rd 0xffffffffffffffba, rs 0x40d816ba
+seb $t0, $t1 :: rd 0xffffffffffffff97, rs 0xffffffffaca5c697
+seb $t0, $t1 :: rd 0x20, rs 0xffffffffa864db20
+seb $t0, $t1 :: rd 0xfffffffffffffff9, rs 0xffffffffa527fdf9
+seb $t0, $t1 :: rd 0x4e, rs 0xffffffffa1e6e04e
+seb $t0, $t1 :: rd 0x4b, rs 0xffffffffbfa1b04b
+seb $t0, $t1 :: rd 0xfffffffffffffffc, rs 0xffffffffbb60adfc
+seb $t0, $t1 :: rd 0x25, rs 0xffffffffb6238b25
+seb $t0, $t1 :: rd 0xffffffffffffff92, rs 0xffffffffb2e29692
+seb $t0, $t1 :: rd 0x2f, rs 0xffffffff8aad2b2f
+seb $t0, $t1 :: rd 0x0, rs 0x0
+seb $t0, $t1 :: rd 0x0, rs 0x0
+seb $t0, $t1 :: rd 0xfffffffffffffff6, rs 0xffffffff87ee0df6
+seb $t0, $t1 :: rd 0xfffffffffffffff3, rs 0xffffffff99a95df3
+seb $t0, $t1 :: rd 0x44, rs 0xffffffff9d684044
+seb $t0, $t1 :: rd 0xffffffffffffff9d, rs 0xffffffff902b669d
+seb $t0, $t1 :: rd 0x2a, rs 0xffffffff94ea7b2a
+seb $t0, $t1 :: rd 0xffffffffffffffe7, rs 0xffffffffe0b41de7
+seb $t0, $t1 :: rd 0x50, rs 0xffffffffe4750050
+seb $t0, $t1 :: rd 0xffffffffffffff89, rs 0xffffffffe9362689
+seb $t0, $t1 :: rd 0x3e, rs 0xffffffffedf73b3e
+seb $t0, $t1 :: rd 0x3b, rs 0xfffffffff3b06b3b
+seb $t0, $t1 :: rd 0xffffffffffffff8c, rs 0xfffffffff771768c
+seb $t0, $t1 :: rd 0x55, rs 0xfffffffffa325055
+seb $t0, $t1 :: rd 0xffffffffffffffe2, rs 0xfffffffffef34de2
+seb $t0, $t1 :: rd 0x5f, rs 0xffffffffc6bcf05f
+seb $t0, $t1 :: rd 0xffffffffffffffe8, rs 0xffffffffc27dede8
+seb $t0, $t1 :: rd 0x31, rs 0xffffffffcf3ecb31
+seb $t0, $t1 :: rd 0xffffffffffffff86, rs 0xffffffffcbffd686
+seb $t0, $t1 :: rd 0xffffffffffffff83, rs 0xffffffffd5b88683
+seb $t0, $t1 :: rd 0x34, rs 0xffffffffd1799b34
+seb $t0, $t1 :: rd 0xffffffffffffffed, rs 0xffffffffdc3abded
+seb $t0, $t1 :: rd 0x5a, rs 0xffffffffd8fba05a
+seb $t0, $t1 :: rd 0xffffffffffffffee, rs 0x690ce0ee
+seb $t0, $t1 :: rd 0x59, rs 0x6dcdfd59
+seb $t0, $t1 :: rd 0xffffffffffffff80, rs 0x608edb80
+seb $t0, $t1 :: rd 0x37, rs 0x644fc637
+seb $t0, $t1 :: rd 0x32, rs 0x7a089632
+seb $t0, $t1 :: rd 0xffffffffffffff85, rs 0x7ec98b85
+seb $t0, $t1 :: rd 0x5c, rs 0x738aad5c
+seb $t0, $t1 :: rd 0xffffffffffffffeb, rs 0x774bb0eb
+seb $t0, $t1 :: rd 0x56, rs 0x4f040d56
+seb $t0, $t1 :: rd 0xffffffffffffffe1, rs 0x4bc510e1
+seb $t0, $t1 :: rd 0x38, rs 0x46863638
+seb $t0, $t1 :: rd 0xffffffffffffff8f, rs 0x42472b8f
+seb $t0, $t1 :: rd 0xffffffffffffff8a, rs 0x5c007b8a
+seb $t0, $t1 :: rd 0x3d, rs 0x58c1663d
+seb $t0, $t1 :: rd 0xffffffffffffffe4, rs 0x558240e4
+seb $t0, $t1 :: rd 0x53, rs 0x51435d53
+seb $t0, $t1 :: rd 0xffffffffffffff9e, rs 0x251d3b9e
+seb $t0, $t1 :: rd 0x29, rs 0x21dc2629
+seb $t0, $t1 :: rd 0xfffffffffffffff0, rs 0x2c9f00f0
+seb $t0, $t1 :: rd 0x47, rs 0x285e1d47
+seb $t0, $t1 :: rd 0x42, rs 0x36194d42
+seb $t0, $t1 :: rd 0xfffffffffffffff5, rs 0x32d850f5
+seb $t0, $t1 :: rd 0x2c, rs 0x3f9b762c
+seb $t0, $t1 :: rd 0xffffffffffffff9b, rs 0x3b5a6b9b
+seb $t0, $t1 :: rd 0x26, rs 0x315d626
+seb $t0, $t1 :: rd 0xffffffffffffff91, rs 0x7d4cb91
+seb $t0, $t1 :: rd 0x48, rs 0xa97ed48
+seb $t0, $t1 :: rd 0xffffffffffffffff, rs 0xe56f0ff
+seb $t0, $t1 :: rd 0xfffffffffffffffa, rs 0x1011a0fa
+seb $t0, $t1 :: rd 0x4d, rs 0x14d0bd4d
+seb $t0, $t1 :: rd 0xffffffffffffff94, rs 0x19939b94
+seb $t0, $t1 :: rd 0x23, rs 0x1d528623
+seb $t0, $t1 :: rd 0xe, rs 0xfffffffff12f560e
+seb $t0, $t1 :: rd 0xffffffffffffffb9, rs 0xfffffffff5ee4bb9
+seb $t0, $t1 :: rd 0x60, rs 0xfffffffff8ad6d60
+seb $t0, $t1 :: rd 0xffffffffffffffd7, rs 0xfffffffffc6c70d7
+seb $t0, $t1 :: rd 0xffffffffffffffd2, rs 0xffffffffe22b20d2
+seb $t0, $t1 :: rd 0x65, rs 0xffffffffe6ea3d65
+seb $t0, $t1 :: rd 0xffffffffffffffbc, rs 0xffffffffeba91bbc
+seb $t0, $t1 :: rd 0xb, rs 0xffffffffef68060b
+seb $t0, $t1 :: rd 0xffffffffffffffb6, rs 0xffffffffd727bbb6
+seb $t0, $t1 :: rd 0x1, rs 0xffffffffd3e6a601
+seb $t0, $t1 :: rd 0xffffffffffffffd8, rs 0xffffffffdea580d8
+seb $t0, $t1 :: rd 0x6f, rs 0xffffffffda649d6f
+seb $t0, $t1 :: rd 0x6a, rs 0xffffffffc423cd6a
+seb $t0, $t1 :: rd 0x0, rs 0x0
+seb $t0, $t1 :: rd 0x4, rs 0xffffffffcda1f604
+seb $t0, $t1 :: rd 0x0, rs 0x0
+seb $t0, $t1 :: rd 0x7e, rs 0xffffffffbd3e8d7e
+seb $t0, $t1 :: rd 0xffffffffffffffc9, rs 0xffffffffb9ff90c9
+seb $t0, $t1 :: rd 0x10, rs 0xffffffffb4bcb610
+seb $t0, $t1 :: rd 0xffffffffffffffa7, rs 0xffffffffb07daba7
+seb $t0, $t1 :: rd 0xffffffffffffffa2, rs 0xffffffffae3afba2
+seb $t0, $t1 :: rd 0x15, rs 0xffffffffaafbe615
+seb $t0, $t1 :: rd 0xffffffffffffffcc, rs 0xffffffffa7b8c0cc
+seb $t0, $t1 :: rd 0x7b, rs 0xffffffffa379dd7b
+seb $t0, $t1 :: rd 0xffffffffffffffc6, rs 0xffffffff9b3660c6
+seb $t0, $t1 :: rd 0x71, rs 0xffffffff9ff77d71
+seb $t0, $t1 :: rd 0xffffffffffffffa8, rs 0xffffffff92b45ba8
+seb $t0, $t1 :: rd 0x1f, rs 0xffffffff9675461f
+seb $t0, $t1 :: rd 0x1a, rs 0xffffffff8832161a
+seb $t0, $t1 :: rd 0xffffffffffffffad, rs 0xffffffff8cf30bad
+seb $t0, $t1 :: rd 0x74, rs 0xffffffff81b02d74
+seb $t0, $t1 :: rd 0xffffffffffffffc3, rs 0xffffffff857130c3
+seb $t0, $t1 :: rd 0xffffffffffffff99, rs 0x5d8a9099
+seb $t0, $t1 :: rd 0x2e, rs 0x594b8d2e
+seb $t0, $t1 :: rd 0xfffffffffffffff7, rs 0x5408abf7
+seb $t0, $t1 :: rd 0x40, rs 0x50c9b640
+seb $t0, $t1 :: rd 0x45, rs 0x4e8ee645
+seb $t0, $t1 :: rd 0xfffffffffffffff2, rs 0x4a4ffbf2
+seb $t0, $t1 :: rd 0x2b, rs 0x470cdd2b
+seb $t0, $t1 :: rd 0xffffffffffffff9c, rs 0x43cdc09c
+seb $t0, $t1 :: rd 0x21, rs 0x7b827d21
+seb $t0, $t1 :: rd 0xffffffffffffff96, rs 0x7f436096
+seb $t0, $t1 :: rd 0x4f, rs 0x7200464f
+seb $t0, $t1 :: rd 0xfffffffffffffff8, rs 0x76c15bf8
+seb $t0, $t1 :: rd 0xfffffffffffffffd, rs 0x68860bfd
+seb $t0, $t1 :: rd 0x4a, rs 0x6c47164a
+seb $t0, $t1 :: rd 0xffffffffffffff93, rs 0x61043093
+seb $t0, $t1 :: rd 0x24, rs 0x65c52d24
+seb $t0, $t1 :: rd 0xffffffffffffffe9, rs 0x119b4be9
+seb $t0, $t1 :: rd 0x5e, rs 0x155a565e
+seb $t0, $t1 :: rd 0xffffffffffffff87, rs 0x18197087
+seb $t0, $t1 :: rd 0x30, rs 0x1cd86d30
+seb $t0, $t1 :: rd 0x35, rs 0x29f3d35
+seb $t0, $t1 :: rd 0xffffffffffffff82, rs 0x65e2082
+seb $t0, $t1 :: rd 0x5b, rs 0xb1d065b
+seb $t0, $t1 :: rd 0xffffffffffffffec, rs 0xfdc1bec
+seb $t0, $t1 :: rd 0x51, rs 0x3793a651
+seb $t0, $t1 :: rd 0xffffffffffffffe6, rs 0x3352bbe6
+seb $t0, $t1 :: rd 0x3f, rs 0x3e119d3f
+seb $t0, $t1 :: rd 0xffffffffffffff88, rs 0x3ad08088
+seb $t0, $t1 :: rd 0xffffffffffffff8d, rs 0x2497d08d
+seb $t0, $t1 :: rd 0x3a, rs 0x2056cd3a
+seb $t0, $t1 :: rd 0xffffffffffffffe3, rs 0x2d15ebe3
+seb $t0, $t1 :: rd 0x54, rs 0x29d4f654
+seb $t0, $t1 :: rd 0x79, rs 0xffffffffc5a92679
+seb $t0, $t1 :: rd 0xffffffffffffffce, rs 0xffffffffc1683bce
+seb $t0, $t1 :: rd 0x17, rs 0xffffffffcc2b1d17
+seb $t0, $t1 :: rd 0xffffffffffffffa0, rs 0xffffffffc8ea00a0
+seb $t0, $t1 :: rd 0xffffffffffffffa5, rs 0xffffffffd6ad50a5
+seb $t0, $t1 :: rd 0x12, rs 0xffffffffd26c4d12
+seb $t0, $t1 :: rd 0xffffffffffffffcb, rs 0xffffffffdf2f6bcb
+seb $t0, $t1 :: rd 0x7c, rs 0xffffffffdbee767c
+seb $t0, $t1 :: rd 0xffffffffffffffc1, rs 0xffffffffe3a1cbc1
+seb $t0, $t1 :: rd 0x76, rs 0xffffffffe760d676
+seb $t0, $t1 :: rd 0xffffffffffffffaf, rs 0xffffffffea23f0af
+seb $t0, $t1 :: rd 0x18, rs 0xffffffffeee2ed18
+seb $t0, $t1 :: rd 0x1d, rs 0xfffffffff0a5bd1d
+seb $t0, $t1 :: rd 0xffffffffffffffaa, rs 0xfffffffff464a0aa
+seb $t0, $t1 :: rd 0x73, rs 0xfffffffff9278673
+seb $t0, $t1 :: rd 0xffffffffffffffc4, rs 0xfffffffffde69bc4
+seb $t0, $t1 :: rd 0x9, rs 0xffffffff89b8fd09
+seb $t0, $t1 :: rd 0xffffffffffffffbe, rs 0xffffffff8d79e0be
+seb $t0, $t1 :: rd 0x67, rs 0xffffffff803ac667
+seb $t0, $t1 :: rd 0xffffffffffffffd0, rs 0xffffffff84fbdbd0
+seb $t0, $t1 :: rd 0xffffffffffffffd5, rs 0xffffffff9abc8bd5
+seb $t0, $t1 :: rd 0x62, rs 0xffffffff9e7d9662
+seb $t0, $t1 :: rd 0xffffffffffffffbb, rs 0xffffffff933eb0bb
+seb $t0, $t1 :: rd 0xc, rs 0xffffffff97ffad0c
+seb $t0, $t1 :: rd 0xffffffffffffffb1, rs 0xffffffffafb010b1
+seb $t0, $t1 :: rd 0x6, rs 0xffffffffab710d06
+seb $t0, $t1 :: rd 0xffffffffffffffdf, rs 0xffffffffa6322bdf
+seb $t0, $t1 :: rd 0x68, rs 0xffffffffa2f33668
+seb $t0, $t1 :: rd 0x6d, rs 0xffffffffbcb4666d
+seb $t0, $t1 :: rd 0xffffffffffffffda, rs 0xffffffffb8757bda
+seb $t0, $t1 :: rd 0x3, rs 0xffffffffb5365d03
+seb $t0, $t1 :: rd 0xffffffffffffffb4, rs 0xffffffffb1f740b4
+seh $t0, $t1 :: rd 0x0, rs 0x0
+seh $t0, $t1 :: rd 0x0, rs 0x0
+seh $t0, $t1 :: rd 0x3b6e, rs 0x9823b6e
+seh $t0, $t1 :: rd 0x26d9, rs 0xd4326d9
+seh $t0, $t1 :: rd 0x76dc, rs 0x130476dc
+seh $t0, $t1 :: rd 0x6b6b, rs 0x17c56b6b
+seh $t0, $t1 :: rd 0x4db2, rs 0x1a864db2
+seh $t0, $t1 :: rd 0x5005, rs 0x1e475005
+seh $t0, $t1 :: rd 0xffffffffffffedb8, rs 0x2608edb8
+seh $t0, $t1 :: rd 0xfffffffffffff00f, rs 0x22c9f00f
+seh $t0, $t1 :: rd 0xffffffffffffd6d6, rs 0x2f8ad6d6
+seh $t0, $t1 :: rd 0xffffffffffffcb61, rs 0x2b4bcb61
+seh $t0, $t1 :: rd 0xffffffffffff9b64, rs 0x350c9b64
+seh $t0, $t1 :: rd 0xffffffffffff86d3, rs 0x31cd86d3
+seh $t0, $t1 :: rd 0xffffffffffffa00a, rs 0x3c8ea00a
+seh $t0, $t1 :: rd 0xffffffffffffbdbd, rs 0x384fbdbd
+seh $t0, $t1 :: rd 0xffffffffffffdb70, rs 0x4c11db70
+seh $t0, $t1 :: rd 0xffffffffffffc6c7, rs 0x48d0c6c7
+seh $t0, $t1 :: rd 0xffffffffffffe01e, rs 0x4593e01e
+seh $t0, $t1 :: rd 0xfffffffffffffda9, rs 0x4152fda9
+seh $t0, $t1 :: rd 0xffffffffffffadac, rs 0x5f15adac
+seh $t0, $t1 :: rd 0xffffffffffffb01b, rs 0x5bd4b01b
+seh $t0, $t1 :: rd 0xffffffffffff96c2, rs 0x569796c2
+seh $t0, $t1 :: rd 0xffffffffffff8b75, rs 0x52568b75
+seh $t0, $t1 :: rd 0x36c8, rs 0x6a1936c8
+seh $t0, $t1 :: rd 0x2b7f, rs 0x6ed82b7f
+seh $t0, $t1 :: rd 0xda6, rs 0x639b0da6
+seh $t0, $t1 :: rd 0x1011, rs 0x675a1011
+seh $t0, $t1 :: rd 0x4014, rs 0x791d4014
+seh $t0, $t1 :: rd 0x5da3, rs 0x7ddc5da3
+seh $t0, $t1 :: rd 0x7b7a, rs 0x709f7b7a
+seh $t0, $t1 :: rd 0x66cd, rs 0x745e66cd
+seh $t0, $t1 :: rd 0xffffffffffffb6e0, rs 0xffffffff9823b6e0
+seh $t0, $t1 :: rd 0xffffffffffffab57, rs 0xffffffff9ce2ab57
+seh $t0, $t1 :: rd 0xffffffffffff8d8e, rs 0xffffffff91a18d8e
+seh $t0, $t1 :: rd 0xffffffffffff9039, rs 0xffffffff95609039
+seh $t0, $t1 :: rd 0xffffffffffffc03c, rs 0xffffffff8b27c03c
+seh $t0, $t1 :: rd 0xffffffffffffdd8b, rs 0xffffffff8fe6dd8b
+seh $t0, $t1 :: rd 0xfffffffffffffb52, rs 0xffffffff82a5fb52
+seh $t0, $t1 :: rd 0xffffffffffffe6e5, rs 0xffffffff8664e6e5
+seh $t0, $t1 :: rd 0x5b58, rs 0xffffffffbe2b5b58
+seh $t0, $t1 :: rd 0x46ef, rs 0xffffffffbaea46ef
+seh $t0, $t1 :: rd 0x6036, rs 0xffffffffb7a96036
+seh $t0, $t1 :: rd 0x7d81, rs 0xffffffffb3687d81
+seh $t0, $t1 :: rd 0x2d84, rs 0xffffffffad2f2d84
+seh $t0, $t1 :: rd 0x3033, rs 0xffffffffa9ee3033
+seh $t0, $t1 :: rd 0x16ea, rs 0xffffffffa4ad16ea
+seh $t0, $t1 :: rd 0xb5d, rs 0xffffffffa06c0b5d
+seh $t0, $t1 :: rd 0x6d90, rs 0xffffffffd4326d90
+seh $t0, $t1 :: rd 0x7027, rs 0xffffffffd0f37027
+seh $t0, $t1 :: rd 0x56fe, rs 0xffffffffddb056fe
+seh $t0, $t1 :: rd 0x4b49, rs 0xffffffffd9714b49
+seh $t0, $t1 :: rd 0x1b4c, rs 0xffffffffc7361b4c
+seh $t0, $t1 :: rd 0x6fb, rs 0xffffffffc3f706fb
+seh $t0, $t1 :: rd 0x2022, rs 0xffffffffceb42022
+seh $t0, $t1 :: rd 0x3d95, rs 0xffffffffca753d95
+seh $t0, $t1 :: rd 0xffffffffffff8028, rs 0xfffffffff23a8028
+seh $t0, $t1 :: rd 0xffffffffffff9d9f, rs 0xfffffffff6fb9d9f
+seh $t0, $t1 :: rd 0xffffffffffffbb46, rs 0xfffffffffbb8bb46
+seh $t0, $t1 :: rd 0xffffffffffffa6f1, rs 0xffffffffff79a6f1
+seh $t0, $t1 :: rd 0xfffffffffffff6f4, rs 0xffffffffe13ef6f4
+seh $t0, $t1 :: rd 0xffffffffffffeb43, rs 0xffffffffe5ffeb43
+seh $t0, $t1 :: rd 0xffffffffffffcd9a, rs 0xffffffffe8bccd9a
+seh $t0, $t1 :: rd 0xffffffffffffd02d, rs 0xffffffffec7dd02d
+seh $t0, $t1 :: rd 0x7077, rs 0x34867077
+seh $t0, $t1 :: rd 0x6dc0, rs 0x30476dc0
+seh $t0, $t1 :: rd 0x4b19, rs 0x3d044b19
+seh $t0, $t1 :: rd 0x56ae, rs 0x39c556ae
+seh $t0, $t1 :: rd 0x6ab, rs 0x278206ab
+seh $t0, $t1 :: rd 0x1b1c, rs 0x23431b1c
+seh $t0, $t1 :: rd 0x3dc5, rs 0x2e003dc5
+seh $t0, $t1 :: rd 0x2072, rs 0x2ac12072
+seh $t0, $t1 :: rd 0xffffffffffff9dcf, rs 0x128e9dcf
+seh $t0, $t1 :: rd 0xffffffffffff8078, rs 0x164f8078
+seh $t0, $t1 :: rd 0xffffffffffffa6a1, rs 0x1b0ca6a1
+seh $t0, $t1 :: rd 0xffffffffffffbb16, rs 0x1fcdbb16
+seh $t0, $t1 :: rd 0xffffffffffffeb13, rs 0x18aeb13
+seh $t0, $t1 :: rd 0xfffffffffffff6a4, rs 0x54bf6a4
+seh $t0, $t1 :: rd 0xffffffffffffd07d, rs 0x808d07d
+seh $t0, $t1 :: rd 0xffffffffffffcdca, rs 0xcc9cdca
+seh $t0, $t1 :: rd 0xffffffffffffab07, rs 0x7897ab07
+seh $t0, $t1 :: rd 0xffffffffffffb6b0, rs 0x7c56b6b0
+seh $t0, $t1 :: rd 0xffffffffffff9069, rs 0x71159069
+seh $t0, $t1 :: rd 0xffffffffffff8dde, rs 0x75d48dde
+seh $t0, $t1 :: rd 0xffffffffffffdddb, rs 0x6b93dddb
+seh $t0, $t1 :: rd 0xffffffffffffc06c, rs 0x6f52c06c
+seh $t0, $t1 :: rd 0xffffffffffffe6b5, rs 0x6211e6b5
+seh $t0, $t1 :: rd 0xfffffffffffffb02, rs 0x66d0fb02
+seh $t0, $t1 :: rd 0x46bf, rs 0x5e9f46bf
+seh $t0, $t1 :: rd 0x5b08, rs 0x5a5e5b08
+seh $t0, $t1 :: rd 0x7dd1, rs 0x571d7dd1
+seh $t0, $t1 :: rd 0x6066, rs 0x53dc6066
+seh $t0, $t1 :: rd 0x3063, rs 0x4d9b3063
+seh $t0, $t1 :: rd 0x2dd4, rs 0x495a2dd4
+seh $t0, $t1 :: rd 0xb0d, rs 0x44190b0d
+seh $t0, $t1 :: rd 0x16ba, rs 0x40d816ba
+seh $t0, $t1 :: rd 0xffffffffffffc697, rs 0xffffffffaca5c697
+seh $t0, $t1 :: rd 0xffffffffffffdb20, rs 0xffffffffa864db20
+seh $t0, $t1 :: rd 0xfffffffffffffdf9, rs 0xffffffffa527fdf9
+seh $t0, $t1 :: rd 0xffffffffffffe04e, rs 0xffffffffa1e6e04e
+seh $t0, $t1 :: rd 0xffffffffffffb04b, rs 0xffffffffbfa1b04b
+seh $t0, $t1 :: rd 0xffffffffffffadfc, rs 0xffffffffbb60adfc
+seh $t0, $t1 :: rd 0xffffffffffff8b25, rs 0xffffffffb6238b25
+seh $t0, $t1 :: rd 0xffffffffffff9692, rs 0xffffffffb2e29692
+seh $t0, $t1 :: rd 0x2b2f, rs 0xffffffff8aad2b2f
+seh $t0, $t1 :: rd 0x0, rs 0x0
+seh $t0, $t1 :: rd 0x0, rs 0x0
+seh $t0, $t1 :: rd 0xdf6, rs 0xffffffff87ee0df6
+seh $t0, $t1 :: rd 0x5df3, rs 0xffffffff99a95df3
+seh $t0, $t1 :: rd 0x4044, rs 0xffffffff9d684044
+seh $t0, $t1 :: rd 0x669d, rs 0xffffffff902b669d
+seh $t0, $t1 :: rd 0x7b2a, rs 0xffffffff94ea7b2a
+seh $t0, $t1 :: rd 0x1de7, rs 0xffffffffe0b41de7
+seh $t0, $t1 :: rd 0x50, rs 0xffffffffe4750050
+seh $t0, $t1 :: rd 0x2689, rs 0xffffffffe9362689
+seh $t0, $t1 :: rd 0x3b3e, rs 0xffffffffedf73b3e
+seh $t0, $t1 :: rd 0x6b3b, rs 0xfffffffff3b06b3b
+seh $t0, $t1 :: rd 0x768c, rs 0xfffffffff771768c
+seh $t0, $t1 :: rd 0x5055, rs 0xfffffffffa325055
+seh $t0, $t1 :: rd 0x4de2, rs 0xfffffffffef34de2
+seh $t0, $t1 :: rd 0xfffffffffffff05f, rs 0xffffffffc6bcf05f
+seh $t0, $t1 :: rd 0xffffffffffffede8, rs 0xffffffffc27dede8
+seh $t0, $t1 :: rd 0xffffffffffffcb31, rs 0xffffffffcf3ecb31
+seh $t0, $t1 :: rd 0xffffffffffffd686, rs 0xffffffffcbffd686
+seh $t0, $t1 :: rd 0xffffffffffff8683, rs 0xffffffffd5b88683
+seh $t0, $t1 :: rd 0xffffffffffff9b34, rs 0xffffffffd1799b34
+seh $t0, $t1 :: rd 0xffffffffffffbded, rs 0xffffffffdc3abded
+seh $t0, $t1 :: rd 0xffffffffffffa05a, rs 0xffffffffd8fba05a
+seh $t0, $t1 :: rd 0xffffffffffffe0ee, rs 0x690ce0ee
+seh $t0, $t1 :: rd 0xfffffffffffffd59, rs 0x6dcdfd59
+seh $t0, $t1 :: rd 0xffffffffffffdb80, rs 0x608edb80
+seh $t0, $t1 :: rd 0xffffffffffffc637, rs 0x644fc637
+seh $t0, $t1 :: rd 0xffffffffffff9632, rs 0x7a089632
+seh $t0, $t1 :: rd 0xffffffffffff8b85, rs 0x7ec98b85
+seh $t0, $t1 :: rd 0xffffffffffffad5c, rs 0x738aad5c
+seh $t0, $t1 :: rd 0xffffffffffffb0eb, rs 0x774bb0eb
+seh $t0, $t1 :: rd 0xd56, rs 0x4f040d56
+seh $t0, $t1 :: rd 0x10e1, rs 0x4bc510e1
+seh $t0, $t1 :: rd 0x3638, rs 0x46863638
+seh $t0, $t1 :: rd 0x2b8f, rs 0x42472b8f
+seh $t0, $t1 :: rd 0x7b8a, rs 0x5c007b8a
+seh $t0, $t1 :: rd 0x663d, rs 0x58c1663d
+seh $t0, $t1 :: rd 0x40e4, rs 0x558240e4
+seh $t0, $t1 :: rd 0x5d53, rs 0x51435d53
+seh $t0, $t1 :: rd 0x3b9e, rs 0x251d3b9e
+seh $t0, $t1 :: rd 0x2629, rs 0x21dc2629
+seh $t0, $t1 :: rd 0xf0, rs 0x2c9f00f0
+seh $t0, $t1 :: rd 0x1d47, rs 0x285e1d47
+seh $t0, $t1 :: rd 0x4d42, rs 0x36194d42
+seh $t0, $t1 :: rd 0x50f5, rs 0x32d850f5
+seh $t0, $t1 :: rd 0x762c, rs 0x3f9b762c
+seh $t0, $t1 :: rd 0x6b9b, rs 0x3b5a6b9b
+seh $t0, $t1 :: rd 0xffffffffffffd626, rs 0x315d626
+seh $t0, $t1 :: rd 0xffffffffffffcb91, rs 0x7d4cb91
+seh $t0, $t1 :: rd 0xffffffffffffed48, rs 0xa97ed48
+seh $t0, $t1 :: rd 0xfffffffffffff0ff, rs 0xe56f0ff
+seh $t0, $t1 :: rd 0xffffffffffffa0fa, rs 0x1011a0fa
+seh $t0, $t1 :: rd 0xffffffffffffbd4d, rs 0x14d0bd4d
+seh $t0, $t1 :: rd 0xffffffffffff9b94, rs 0x19939b94
+seh $t0, $t1 :: rd 0xffffffffffff8623, rs 0x1d528623
+seh $t0, $t1 :: rd 0x560e, rs 0xfffffffff12f560e
+seh $t0, $t1 :: rd 0x4bb9, rs 0xfffffffff5ee4bb9
+seh $t0, $t1 :: rd 0x6d60, rs 0xfffffffff8ad6d60
+seh $t0, $t1 :: rd 0x70d7, rs 0xfffffffffc6c70d7
+seh $t0, $t1 :: rd 0x20d2, rs 0xffffffffe22b20d2
+seh $t0, $t1 :: rd 0x3d65, rs 0xffffffffe6ea3d65
+seh $t0, $t1 :: rd 0x1bbc, rs 0xffffffffeba91bbc
+seh $t0, $t1 :: rd 0x60b, rs 0xffffffffef68060b
+seh $t0, $t1 :: rd 0xffffffffffffbbb6, rs 0xffffffffd727bbb6
+seh $t0, $t1 :: rd 0xffffffffffffa601, rs 0xffffffffd3e6a601
+seh $t0, $t1 :: rd 0xffffffffffff80d8, rs 0xffffffffdea580d8
+seh $t0, $t1 :: rd 0xffffffffffff9d6f, rs 0xffffffffda649d6f
+seh $t0, $t1 :: rd 0xffffffffffffcd6a, rs 0xffffffffc423cd6a
+seh $t0, $t1 :: rd 0x0, rs 0x0
+seh $t0, $t1 :: rd 0xfffffffffffff604, rs 0xffffffffcda1f604
+seh $t0, $t1 :: rd 0x0, rs 0x0
+seh $t0, $t1 :: rd 0xffffffffffff8d7e, rs 0xffffffffbd3e8d7e
+seh $t0, $t1 :: rd 0xffffffffffff90c9, rs 0xffffffffb9ff90c9
+seh $t0, $t1 :: rd 0xffffffffffffb610, rs 0xffffffffb4bcb610
+seh $t0, $t1 :: rd 0xffffffffffffaba7, rs 0xffffffffb07daba7
+seh $t0, $t1 :: rd 0xfffffffffffffba2, rs 0xffffffffae3afba2
+seh $t0, $t1 :: rd 0xffffffffffffe615, rs 0xffffffffaafbe615
+seh $t0, $t1 :: rd 0xffffffffffffc0cc, rs 0xffffffffa7b8c0cc
+seh $t0, $t1 :: rd 0xffffffffffffdd7b, rs 0xffffffffa379dd7b
+seh $t0, $t1 :: rd 0x60c6, rs 0xffffffff9b3660c6
+seh $t0, $t1 :: rd 0x7d71, rs 0xffffffff9ff77d71
+seh $t0, $t1 :: rd 0x5ba8, rs 0xffffffff92b45ba8
+seh $t0, $t1 :: rd 0x461f, rs 0xffffffff9675461f
+seh $t0, $t1 :: rd 0x161a, rs 0xffffffff8832161a
+seh $t0, $t1 :: rd 0xbad, rs 0xffffffff8cf30bad
+seh $t0, $t1 :: rd 0x2d74, rs 0xffffffff81b02d74
+seh $t0, $t1 :: rd 0x30c3, rs 0xffffffff857130c3
+seh $t0, $t1 :: rd 0xffffffffffff9099, rs 0x5d8a9099
+seh $t0, $t1 :: rd 0xffffffffffff8d2e, rs 0x594b8d2e
+seh $t0, $t1 :: rd 0xffffffffffffabf7, rs 0x5408abf7
+seh $t0, $t1 :: rd 0xffffffffffffb640, rs 0x50c9b640
+seh $t0, $t1 :: rd 0xffffffffffffe645, rs 0x4e8ee645
+seh $t0, $t1 :: rd 0xfffffffffffffbf2, rs 0x4a4ffbf2
+seh $t0, $t1 :: rd 0xffffffffffffdd2b, rs 0x470cdd2b
+seh $t0, $t1 :: rd 0xffffffffffffc09c, rs 0x43cdc09c
+seh $t0, $t1 :: rd 0x7d21, rs 0x7b827d21
+seh $t0, $t1 :: rd 0x6096, rs 0x7f436096
+seh $t0, $t1 :: rd 0x464f, rs 0x7200464f
+seh $t0, $t1 :: rd 0x5bf8, rs 0x76c15bf8
+seh $t0, $t1 :: rd 0xbfd, rs 0x68860bfd
+seh $t0, $t1 :: rd 0x164a, rs 0x6c47164a
+seh $t0, $t1 :: rd 0x3093, rs 0x61043093
+seh $t0, $t1 :: rd 0x2d24, rs 0x65c52d24
+seh $t0, $t1 :: rd 0x4be9, rs 0x119b4be9
+seh $t0, $t1 :: rd 0x565e, rs 0x155a565e
+seh $t0, $t1 :: rd 0x7087, rs 0x18197087
+seh $t0, $t1 :: rd 0x6d30, rs 0x1cd86d30
+seh $t0, $t1 :: rd 0x3d35, rs 0x29f3d35
+seh $t0, $t1 :: rd 0x2082, rs 0x65e2082
+seh $t0, $t1 :: rd 0x65b, rs 0xb1d065b
+seh $t0, $t1 :: rd 0x1bec, rs 0xfdc1bec
+seh $t0, $t1 :: rd 0xffffffffffffa651, rs 0x3793a651
+seh $t0, $t1 :: rd 0xffffffffffffbbe6, rs 0x3352bbe6
+seh $t0, $t1 :: rd 0xffffffffffff9d3f, rs 0x3e119d3f
+seh $t0, $t1 :: rd 0xffffffffffff8088, rs 0x3ad08088
+seh $t0, $t1 :: rd 0xffffffffffffd08d, rs 0x2497d08d
+seh $t0, $t1 :: rd 0xffffffffffffcd3a, rs 0x2056cd3a
+seh $t0, $t1 :: rd 0xffffffffffffebe3, rs 0x2d15ebe3
+seh $t0, $t1 :: rd 0xfffffffffffff654, rs 0x29d4f654
+seh $t0, $t1 :: rd 0x2679, rs 0xffffffffc5a92679
+seh $t0, $t1 :: rd 0x3bce, rs 0xffffffffc1683bce
+seh $t0, $t1 :: rd 0x1d17, rs 0xffffffffcc2b1d17
+seh $t0, $t1 :: rd 0xa0, rs 0xffffffffc8ea00a0
+seh $t0, $t1 :: rd 0x50a5, rs 0xffffffffd6ad50a5
+seh $t0, $t1 :: rd 0x4d12, rs 0xffffffffd26c4d12
+seh $t0, $t1 :: rd 0x6bcb, rs 0xffffffffdf2f6bcb
+seh $t0, $t1 :: rd 0x767c, rs 0xffffffffdbee767c
+seh $t0, $t1 :: rd 0xffffffffffffcbc1, rs 0xffffffffe3a1cbc1
+seh $t0, $t1 :: rd 0xffffffffffffd676, rs 0xffffffffe760d676
+seh $t0, $t1 :: rd 0xfffffffffffff0af, rs 0xffffffffea23f0af
+seh $t0, $t1 :: rd 0xffffffffffffed18, rs 0xffffffffeee2ed18
+seh $t0, $t1 :: rd 0xffffffffffffbd1d, rs 0xfffffffff0a5bd1d
+seh $t0, $t1 :: rd 0xffffffffffffa0aa, rs 0xfffffffff464a0aa
+seh $t0, $t1 :: rd 0xffffffffffff8673, rs 0xfffffffff9278673
+seh $t0, $t1 :: rd 0xffffffffffff9bc4, rs 0xfffffffffde69bc4
+seh $t0, $t1 :: rd 0xfffffffffffffd09, rs 0xffffffff89b8fd09
+seh $t0, $t1 :: rd 0xffffffffffffe0be, rs 0xffffffff8d79e0be
+seh $t0, $t1 :: rd 0xffffffffffffc667, rs 0xffffffff803ac667
+seh $t0, $t1 :: rd 0xffffffffffffdbd0, rs 0xffffffff84fbdbd0
+seh $t0, $t1 :: rd 0xffffffffffff8bd5, rs 0xffffffff9abc8bd5
+seh $t0, $t1 :: rd 0xffffffffffff9662, rs 0xffffffff9e7d9662
+seh $t0, $t1 :: rd 0xffffffffffffb0bb, rs 0xffffffff933eb0bb
+seh $t0, $t1 :: rd 0xffffffffffffad0c, rs 0xffffffff97ffad0c
+seh $t0, $t1 :: rd 0x10b1, rs 0xffffffffafb010b1
+seh $t0, $t1 :: rd 0xd06, rs 0xffffffffab710d06
+seh $t0, $t1 :: rd 0x2bdf, rs 0xffffffffa6322bdf
+seh $t0, $t1 :: rd 0x3668, rs 0xffffffffa2f33668
+seh $t0, $t1 :: rd 0x666d, rs 0xffffffffbcb4666d
+seh $t0, $t1 :: rd 0x7bda, rs 0xffffffffb8757bda
+seh $t0, $t1 :: rd 0x5d03, rs 0xffffffffb5365d03
+seh $t0, $t1 :: rd 0x40b4, rs 0xffffffffb1f740b4
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x9823b6e, rt 0xffffffffb8757bda
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xd4326d9, rt 0xffffffffbcb4666d
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x130476dc, rt 0xffffffffa2f33668
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1a864db2, rt 0xffffffffab710d06
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1e475005, rt 0xffffffffafb010b1
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2608edb8, rt 0xffffffff97ffad0c
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x31cd86d3, rt 0xffffffff803ac667
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4c11db70, rt 0xfffffffffde69bc4
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x48d0c6c7, rt 0xfffffffff9278673
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4593e01e, rt 0xfffffffff464a0aa
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5f15adac, rt 0xffffffffeee2ed18
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x569796c2, rt 0xffffffffe760d676
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6a1936c8, rt 0xffffffffdbee767c
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x639b0da6, rt 0xffffffffd26c4d12
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x675a1011, rt 0xffffffffd6ad50a5
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x791d4014, rt 0xffffffffc8ea00a0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x709f7b7a, rt 0xffffffffc1683bce
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x745e66cd, rt 0xffffffffc5a92679
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9823b6e0, rt 0x29d4f654
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff95609039, rt 0x2497d08d
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8b27c03c, rt 0x3ad08088
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8664e6e5, rt 0x3793a651
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbaea46ef, rt 0xb1d065b
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb7a96036, rt 0x65e2082
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb3687d81, rt 0x29f3d35
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa9ee3033, rt 0x18197087
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa4ad16ea, rt 0x155a565e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd4326d90, rt 0x65c52d24
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd0f37027, rt 0x61043093
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffddb056fe, rt 0x6c47164a
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd9714b49, rt 0x68860bfd
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc3f706fb, rt 0x7200464f
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffceb42022, rt 0x7f436096
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffca753d95, rt 0x7b827d21
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff23a8028, rt 0x43cdc09c
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x34867077, rt 0xffffffff857130c3
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x30476dc0, rt 0xffffffff81b02d74
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3d044b19, rt 0xffffffff8cf30bad
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x39c556ae, rt 0xffffffff8832161a
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x23431b1c, rt 0xffffffff92b45ba8
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2ac12072, rt 0xffffffff9b3660c6
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x18aeb13, rt 0xffffffffb07daba7
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x808d07d, rt 0xffffffffb9ff90c9
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7897ab07, rt 0x0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x71159069, rt 0x0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x75d48dde, rt 0xffffffffc423cd6a
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6b93dddb, rt 0xffffffffda649d6f
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6f52c06c, rt 0xffffffffdea580d8
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5e9f46bf, rt 0xffffffffef68060b
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x53dc6066, rt 0xffffffffe22b20d2
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x40d816ba, rt 0xfffffffff12f560e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffaca5c697, rt 0x1d528623
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa864db20, rt 0x19939b94
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbb60adfc, rt 0xa97ed48
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb6238b25, rt 0x7d4cb91
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb2e29692, rt 0x315d626
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+slt $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x3f9b762c
+slt $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x32d850f5
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff87ee0df6, rt 0x36194d42
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff99a95df3, rt 0x285e1d47
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9d684044, rt 0x2c9f00f0
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff902b669d, rt 0x21dc2629
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe0b41de7, rt 0x51435d53
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe4750050, rt 0x558240e4
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe9362689, rt 0x58c1663d
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff771768c, rt 0x46863638
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffffa325055, rt 0x4bc510e1
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffffef34de2, rt 0x4f040d56
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc27dede8, rt 0x738aad5c
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffcbffd686, rt 0x7a089632
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd5b88683, rt 0x644fc637
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd1799b34, rt 0x608edb80
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x608edb80, rt 0xffffffffd1799b34
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x644fc637, rt 0xffffffffd5b88683
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7a089632, rt 0xffffffffcbffd686
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x738aad5c, rt 0xffffffffc27dede8
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4f040d56, rt 0xfffffffffef34de2
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4bc510e1, rt 0xfffffffffa325055
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x46863638, rt 0xfffffffff771768c
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x58c1663d, rt 0xffffffffe9362689
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x558240e4, rt 0xffffffffe4750050
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x51435d53, rt 0xffffffffe0b41de7
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x21dc2629, rt 0xffffffff902b669d
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2c9f00f0, rt 0xffffffff9d684044
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x285e1d47, rt 0xffffffff99a95df3
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x36194d42, rt 0xffffffff87ee0df6
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x32d850f5, rt 0x0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3f9b762c, rt 0x0
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x315d626, rt 0xffffffffb2e29692
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7d4cb91, rt 0xffffffffb6238b25
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x19939b94, rt 0xffffffffa864db20
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1d528623, rt 0xffffffffaca5c697
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff12f560e, rt 0x40d816ba
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe22b20d2, rt 0x53dc6066
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffef68060b, rt 0x5e9f46bf
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdea580d8, rt 0x6f52c06c
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffda649d6f, rt 0x6b93dddb
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc423cd6a, rt 0x75d48dde
+slt $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x71159069
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+slt $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x7897ab07
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb9ff90c9, rt 0x808d07d
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb07daba7, rt 0x18aeb13
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9b3660c6, rt 0x2ac12072
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff92b45ba8, rt 0x23431b1c
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9675461f, rt 0x278206ab
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8832161a, rt 0x39c556ae
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8cf30bad, rt 0x3d044b19
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff81b02d74, rt 0x30476dc0
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff857130c3, rt 0x34867077
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7b827d21, rt 0xffffffffca753d95
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7f436096, rt 0xffffffffceb42022
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x7200464f, rt 0xffffffffc3f706fb
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x68860bfd, rt 0xffffffffd9714b49
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x6c47164a, rt 0xffffffffddb056fe
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x61043093, rt 0xffffffffd0f37027
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x65c52d24, rt 0xffffffffd4326d90
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x155a565e, rt 0xffffffffa4ad16ea
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x18197087, rt 0xffffffffa9ee3033
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x29f3d35, rt 0xffffffffb3687d81
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x65e2082, rt 0xffffffffb7a96036
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xb1d065b, rt 0xffffffffbaea46ef
+slt $t0, $t1, $t2 :: rd 0x0, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3793a651, rt 0xffffffff8664e6e5
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x3ad08088, rt 0xffffffff8b27c03c
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2497d08d, rt 0xffffffff95609039
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+slt $t0, $t1, $t2 :: rd 0x0, rs 0x29d4f654, rt 0xffffffff9823b6e0
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc5a92679, rt 0x745e66cd
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc1683bce, rt 0x709f7b7a
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffc8ea00a0, rt 0x791d4014
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd6ad50a5, rt 0x675a1011
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffd26c4d12, rt 0x639b0da6
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdbee767c, rt 0x6a1936c8
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffe760d676, rt 0x569796c2
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffeee2ed18, rt 0x5f15adac
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff464a0aa, rt 0x4593e01e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffff9278673, rt 0x48d0c6c7
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xfffffffffde69bc4, rt 0x4c11db70
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff803ac667, rt 0x31cd86d3
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff97ffad0c, rt 0x2608edb8
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffafb010b1, rt 0x1e475005
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffab710d06, rt 0x1a864db2
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffa2f33668, rt 0x130476dc
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbcb4666d, rt 0xd4326d9
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb8757bda, rt 0x9823b6e
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb5365d03, rt 0x0
+slt $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffb1f740b4, rt 0x0
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x12bd6aa, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x12bd6aa, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x12bd6aa, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x12bd6aa, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7e876382d2ab13, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7e876382d2ab13, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7e876382d2ab13, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7e876382d2ab13, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x9823b6e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x9823b6e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x9823b6e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x9823b6e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xd4326d9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xd4326d9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xd4326d9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xd4326d9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x130476dc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x130476dc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x130476dc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x130476dc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x42b0c0a28677b502, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x17c56b6b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x17c56b6b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x17c56b6b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x17c56b6b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1a864db2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1a864db2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1a864db2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1a864db2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1f308ec377fb413d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1e475005, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1e475005, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1e475005, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1e475005, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2608edb8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2608edb8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2608edb8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2608edb8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x22c9f00f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x22c9f00f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x22c9f00f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x22c9f00f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4b3dda869615a60d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2f8ad6d6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2f8ad6d6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2b4bcb61, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2b4bcb61, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2b4bcb61, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2b4bcb61, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x350c9b64, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x350c9b64, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x350c9b64, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x350c9b64, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x47f505569a08a180, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x47f505569a08a180, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x47f505569a08a180, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x47f505569a08a180, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x31cd86d3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x31cd86d3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x31cd86d3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x31cd86d3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3c8ea00a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3c8ea00a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3c8ea00a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3c8ea00a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x384fbdbd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x384fbdbd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x384fbdbd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x384fbdbd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4c11db70, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4c11db70, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4c11db70, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4c11db70, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x94ff52fc81afa797, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x94ff52fc81afa797, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x94ff52fc81afa797, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x94ff52fc81afa797, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x48d0c6c7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x48d0c6c7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x48d0c6c7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x48d0c6c7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4593e01e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4593e01e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4593e01e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4593e01e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x36549bd678e895b1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x36549bd678e895b1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x36549bd678e895b1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x36549bd678e895b1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4152fda9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4152fda9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4152fda9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4152fda9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x85e0a6319b63259b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x85e0a6319b63259b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x85e0a6319b63259b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x85e0a6319b63259b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5f15adac, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5f15adac, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5f15adac, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5f15adac, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5bd4b01b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5bd4b01b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5bd4b01b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5bd4b01b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x569796c2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x569796c2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x569796c2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x569796c2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x25b50fec14682d97, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x25b50fec14682d97, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x25b50fec14682d97, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x25b50fec14682d97, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x52568b75, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x52568b75, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x52568b75, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x52568b75, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6a1936c8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6a1936c8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6a1936c8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6a1936c8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6ed82b7f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6ed82b7f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6ed82b7f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6ed82b7f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1791722a7d72da3e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x639b0da6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x639b0da6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x639b0da6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x639b0da6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x675a1011, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x675a1011, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x675a1011, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x675a1011, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1d2a757038984ed2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x791d4014, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x791d4014, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x791d4014, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x791d4014, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd0d070db710cd036, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd0d070db710cd036, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd0d070db710cd036, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd0d070db710cd036, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7ddc5da3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7ddc5da3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7ddc5da3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7ddc5da3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x39c21c7d03415604, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x39c21c7d03415604, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x39c21c7d03415604, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x39c21c7d03415604, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x709f7b7a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x709f7b7a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x709f7b7a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x709f7b7a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x745e66cd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x745e66cd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x745e66cd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x745e66cd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9823b6e0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9823b6e0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9823b6e0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9823b6e0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2608c2b756da4c54, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff91a18d8e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff91a18d8e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff91a18d8e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff91a18d8e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x900102dac8d7252f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x900102dac8d7252f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x900102dac8d7252f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x900102dac8d7252f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff95609039, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff95609039, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff95609039, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff95609039, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8b27c03c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8b27c03c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8b27c03c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8b27c03c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x314791895991136c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x314791895991136c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x314791895991136c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x314791895991136c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff82a5fb52, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff82a5fb52, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff82a5fb52, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff82a5fb52, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8664e6e5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8664e6e5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8664e6e5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8664e6e5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa809521238895270, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa809521238895270, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa809521238895270, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa809521238895270, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x87750a04ad765040, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x87750a04ad765040, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x87750a04ad765040, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x87750a04ad765040, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbaea46ef, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbaea46ef, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbaea46ef, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbaea46ef, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb7a96036, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb7a96036, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb7a96036, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb7a96036, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb3687d81, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb3687d81, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb3687d81, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb3687d81, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffad2f2d84, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffad2f2d84, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffad2f2d84, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffad2f2d84, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa9ee3033, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa9ee3033, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa9ee3033, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa9ee3033, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd4326d90, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd4326d90, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd4326d90, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd4326d90, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd0f37027, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd0f37027, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd0f37027, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd0f37027, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffddb056fe, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffddb056fe, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffddb056fe, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffddb056fe, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x77433f373fd1c081, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x77433f373fd1c081, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x77433f373fd1c081, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x77433f373fd1c081, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd9714b49, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd9714b49, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd9714b49, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd9714b49, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xec91d993c92195e4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xec91d993c92195e4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xec91d993c92195e4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xec91d993c92195e4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc7361b4c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc7361b4c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc7361b4c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc7361b4c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc3f706fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc3f706fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc3f706fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc3f706fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffceb42022, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffceb42022, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffceb42022, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffceb42022, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb99e8def2f384907, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb99e8def2f384907, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb99e8def2f384907, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb99e8def2f384907, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffca753d95, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffca753d95, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffca753d95, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffca753d95, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff23a8028, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff23a8028, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff23a8028, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff23a8028, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd685884e76558c4f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd685884e76558c4f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd685884e76558c4f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd685884e76558c4f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6168d62a34c195c7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd30169894df47405, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd30169894df47405, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd30169894df47405, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd30169894df47405, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffff79a6f1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffff79a6f1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffff79a6f1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffff79a6f1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x58300f029cae393a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x58300f029cae393a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x58300f029cae393a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x58300f029cae393a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8a96047be3405b48, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8a96047be3405b48, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8a96047be3405b48, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8a96047be3405b48, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffec7dd02d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffec7dd02d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffec7dd02d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffec7dd02d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x75bfafd2d519d322, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x34867077, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x34867077, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x34867077, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x34867077, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xde230867a630f6ad, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xde230867a630f6ad, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xde230867a630f6ad, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xde230867a630f6ad, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x30476dc0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x30476dc0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x30476dc0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x30476dc0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2c0a0cf256103260, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3d044b19, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3d044b19, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3d044b19, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3d044b19, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x94a90544249b18ef, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x94a90544249b18ef, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x94a90544249b18ef, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x94a90544249b18ef, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x39c556ae, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x39c556ae, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x39c556ae, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x39c556ae, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x278206ab, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x278206ab, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x278206ab, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x278206ab, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x81daf8200468319b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x81daf8200468319b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x81daf8200468319b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x81daf8200468319b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x23431b1c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x23431b1c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x23431b1c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x23431b1c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2e003dc5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2e003dc5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2e003dc5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2e003dc5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2ac12072, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2ac12072, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2ac12072, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2ac12072, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x300ce751dac6162f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x300ce751dac6162f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x300ce751dac6162f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x300ce751dac6162f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x128e9dcf, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x128e9dcf, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x128e9dcf, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x128e9dcf, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x164f8078, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x164f8078, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x164f8078, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x164f8078, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xad00b1f7da78479f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xad00b1f7da78479f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xad00b1f7da78479f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xad00b1f7da78479f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1b0ca6a1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1b0ca6a1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1fcdbb16, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1fcdbb16, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1fcdbb16, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1fcdbb16, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf518381dce634413, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf518381dce634413, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf518381dce634413, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf518381dce634413, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x18aeb13, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x18aeb13, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x18aeb13, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x18aeb13, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x54bf6a4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x54bf6a4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x54bf6a4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x54bf6a4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xccd392e176321f28, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xccd392e176321f28, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xccd392e176321f28, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xccd392e176321f28, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x808d07d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x808d07d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x808d07d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x808d07d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x829464944018fd8f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x829464944018fd8f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x829464944018fd8f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x829464944018fd8f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xcc9cdca, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xcc9cdca, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xcc9cdca, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xcc9cdca, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7897ab07, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7897ab07, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7897ab07, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7897ab07, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7caf83d2880ff344, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7c56b6b0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7c56b6b0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7c56b6b0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7c56b6b0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf156a04c747defd7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf156a04c747defd7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf156a04c747defd7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf156a04c747defd7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x71159069, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x71159069, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x71159069, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x71159069, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x93e2601c0f31d710, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x93e2601c0f31d710, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x93e2601c0f31d710, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x93e2601c0f31d710, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x75d48dde, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x75d48dde, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x75d48dde, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x75d48dde, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe1e1a679131cd933, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe1e1a679131cd933, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe1e1a679131cd933, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe1e1a679131cd933, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6b93dddb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6b93dddb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6b93dddb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6b93dddb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x24296b75a76fa427, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x24296b75a76fa427, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x24296b75a76fa427, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x24296b75a76fa427, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6f52c06c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6f52c06c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6f52c06c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6f52c06c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6211e6b5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6211e6b5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6211e6b5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6211e6b5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x66d0fb02, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x66d0fb02, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x66d0fb02, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x66d0fb02, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x76c89e80c07dc168, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5e9f46bf, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5e9f46bf, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5e9f46bf, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5e9f46bf, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x70dc3454bfe348f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5a5e5b08, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5a5e5b08, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5a5e5b08, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5a5e5b08, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x571d7dd1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x571d7dd1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x571d7dd1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x571d7dd1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x53dc6066, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x53dc6066, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x53dc6066, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x53dc6066, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4d9b3063, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4d9b3063, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4d9b3063, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4d9b3063, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x495a2dd4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x495a2dd4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x495a2dd4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x495a2dd4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x44190b0d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x44190b0d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x44190b0d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x44190b0d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x40d816ba, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x40d816ba, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x40d816ba, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x40d816ba, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8b086ee07150c260, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8b086ee07150c260, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8b086ee07150c260, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8b086ee07150c260, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffaca5c697, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffaca5c697, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffaca5c697, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffaca5c697, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe54750d5d9257f25, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe54750d5d9257f25, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe54750d5d9257f25, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe54750d5d9257f25, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa864db20, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa864db20, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa864db20, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa864db20, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa527fdf9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa527fdf9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa527fdf9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa527fdf9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x70a3e0424340ac96, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc0478f036980171e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc0478f036980171e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc0478f036980171e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc0478f036980171e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbb60adfc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbb60adfc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbb60adfc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbb60adfc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb6238b25, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb6238b25, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb6238b25, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb6238b25, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb2e29692, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb2e29692, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb2e29692, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb2e29692, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xeb9682c170312f1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xeb9682c170312f1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xeb9682c170312f1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xeb9682c170312f1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x84785280dd301d0d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x84785280dd301d0d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x84785280dd301d0d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x84785280dd301d0d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x26444ced2998436d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x26444ced2998436d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x26444ced2998436d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x26444ced2998436d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff87ee0df6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff87ee0df6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff87ee0df6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff87ee0df6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7175c9dd58ca708, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff99a95df3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff99a95df3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff99a95df3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff99a95df3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x663d061055833287, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x663d061055833287, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x663d061055833287, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x663d061055833287, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9d684044, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9d684044, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9d684044, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9d684044, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xab7dd0488951d68b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xab7dd0488951d68b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xab7dd0488951d68b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xab7dd0488951d68b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff902b669d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff902b669d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff902b669d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff902b669d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf69823670e82471b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf69823670e82471b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf69823670e82471b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf69823670e82471b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x36886c59d98d26b2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe0b41de7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe0b41de7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe0b41de7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe0b41de7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe4750050, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe4750050, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe4750050, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe4750050, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe9362689, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe9362689, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe9362689, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe9362689, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3f46553ecad374df, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3f46553ecad374df, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3f46553ecad374df, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3f46553ecad374df, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffedf73b3e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffedf73b3e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffedf73b3e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffedf73b3e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff771768c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff771768c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff771768c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff771768c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffffa325055, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffa325055, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffffa325055, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffffa325055, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd2df25c419478206, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd2df25c419478206, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd2df25c419478206, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd2df25c419478206, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffffef34de2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffef34de2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffffef34de2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffffef34de2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbc65bf27eb321825, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbc65bf27eb321825, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbc65bf27eb321825, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbc65bf27eb321825, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc27dede8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc27dede8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc27dede8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc27dede8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x478909b59a99269, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x478909b59a99269, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x478909b59a99269, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x478909b59a99269, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffcbffd686, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcbffd686, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffcbffd686, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffcbffd686, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbfb31cc87857360f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbfb31cc87857360f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbfb31cc87857360f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbfb31cc87857360f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd5b88683, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd5b88683, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd5b88683, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd5b88683, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd1799b34, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd1799b34, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd1799b34, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd1799b34, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffdc3abded, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdc3abded, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffdc3abded, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffdc3abded, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd8fba05a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd8fba05a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd8fba05a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd8fba05a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x223d7cfe2b961897, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x690ce0ee, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x690ce0ee, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x690ce0ee, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x690ce0ee, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x420b34f533734a4b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x420b34f533734a4b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x420b34f533734a4b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x420b34f533734a4b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6dcdfd59, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6dcdfd59, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6dcdfd59, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6dcdfd59, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x608edb80, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x608edb80, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x608edb80, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x608edb80, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7a387445e392ccd9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x644fc637, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x644fc637, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x644fc637, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x644fc637, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x512f29b1d80000c9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7a089632, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7a089632, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7a089632, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7a089632, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xeaded5c53dad020a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xeaded5c53dad020a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xeaded5c53dad020a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xeaded5c53dad020a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7ec98b85, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7ec98b85, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7ec98b85, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7ec98b85, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8a6229d731eea35b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8a6229d731eea35b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8a6229d731eea35b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8a6229d731eea35b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x738aad5c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x738aad5c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x738aad5c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x738aad5c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x774bb0eb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x774bb0eb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x774bb0eb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x774bb0eb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4f040d56, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4f040d56, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4f040d56, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4f040d56, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4bc510e1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4bc510e1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4bc510e1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4bc510e1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x46863638, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x46863638, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x46863638, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x46863638, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x42472b8f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x42472b8f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x42472b8f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x42472b8f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5c007b8a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5c007b8a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5c007b8a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5c007b8a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x58c1663d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x58c1663d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x58c1663d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x58c1663d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf8be8164159649c5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf8be8164159649c5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf8be8164159649c5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf8be8164159649c5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x558240e4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x558240e4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x558240e4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x558240e4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7ca3259784e69b17, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x51435d53, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x51435d53, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x51435d53, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x51435d53, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x251d3b9e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x251d3b9e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x251d3b9e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x251d3b9e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x21dc2629, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x21dc2629, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x21dc2629, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x21dc2629, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc532e18e187980fa, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc532e18e187980fa, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc532e18e187980fa, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc532e18e187980fa, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2c9f00f0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2c9f00f0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2c9f00f0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2c9f00f0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x285e1d47, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x285e1d47, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x285e1d47, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x285e1d47, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb620660a49732b90, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb620660a49732b90, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb620660a49732b90, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb620660a49732b90, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x36194d42, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x36194d42, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x36194d42, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x36194d42, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x993138f16cfde991, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x993138f16cfde991, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x993138f16cfde991, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x993138f16cfde991, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x32d850f5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x32d850f5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x32d850f5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x32d850f5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xde02d1337d5407b9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xde02d1337d5407b9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xde02d1337d5407b9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xde02d1337d5407b9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3f9b762c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3f9b762c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3f9b762c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3f9b762c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3b5a6b9b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3b5a6b9b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x743491a6828716c8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x743491a6828716c8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x743491a6828716c8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x743491a6828716c8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x315d626, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x315d626, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x315d626, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x315d626, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8cff404aede292f2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8cff404aede292f2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8cff404aede292f2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8cff404aede292f2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7d4cb91, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7d4cb91, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7d4cb91, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7d4cb91, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb9cec0db1f837636, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb9cec0db1f837636, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb9cec0db1f837636, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb9cec0db1f837636, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xa97ed48, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xa97ed48, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xa97ed48, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xa97ed48, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xe56f0ff, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xe56f0ff, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xe56f0ff, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xe56f0ff, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd327538e1875241b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd327538e1875241b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd327538e1875241b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd327538e1875241b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1011a0fa, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1011a0fa, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1011a0fa, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1011a0fa, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x14d0bd4d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x14d0bd4d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x14d0bd4d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x14d0bd4d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x19939b94, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x19939b94, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x19939b94, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x19939b94, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1d528623, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1d528623, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1d528623, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1d528623, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x73916483ae3e9423, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x73916483ae3e9423, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x73916483ae3e9423, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x73916483ae3e9423, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff12f560e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff12f560e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff12f560e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff12f560e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x276af70a0e128561, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x276af70a0e128561, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x276af70a0e128561, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x276af70a0e128561, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x20223f1308accfa6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x20223f1308accfa6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x20223f1308accfa6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x20223f1308accfa6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf83c55743976b5f5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf83c55743976b5f5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf83c55743976b5f5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf83c55743976b5f5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe22b20d2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe22b20d2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe22b20d2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe22b20d2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1f9720f946923c3d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x620d28506d2448dd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x620d28506d2448dd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x620d28506d2448dd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x620d28506d2448dd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffeba91bbc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffeba91bbc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffeba91bbc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffeba91bbc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x60a521e99ff4a732, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffef68060b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffef68060b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffef68060b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffef68060b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd727bbb6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd727bbb6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd727bbb6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd727bbb6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd3e6a601, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffdea580d8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdea580d8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffdea580d8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffdea580d8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffda649d6f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffda649d6f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffda649d6f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffda649d6f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc423cd6a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc423cd6a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc423cd6a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc423cd6a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x743e568d2fcf486b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x126f646f34c31728, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x126f646f34c31728, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x126f646f34c31728, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x126f646f34c31728, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffcda1f604, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcda1f604, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffcda1f604, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffcda1f604, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xaab0196156fc4d12, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xaab0196156fc4d12, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xaab0196156fc4d12, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xaab0196156fc4d12, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7535cd338595d342, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7535cd338595d342, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7535cd338595d342, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7535cd338595d342, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xdfb254da422346ec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xdfb254da422346ec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xdfb254da422346ec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xdfb254da422346ec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa86726c90081ab2a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa86726c90081ab2a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa86726c90081ab2a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa86726c90081ab2a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb4bcb610, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb4bcb610, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb4bcb610, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb4bcb610, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb07daba7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb07daba7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb07daba7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb07daba7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc7699826b7dee244, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc7699826b7dee244, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc7699826b7dee244, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc7699826b7dee244, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffae3afba2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffae3afba2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffae3afba2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffae3afba2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3c07af97fba6704a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffaafbe615, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffaafbe615, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffaafbe615, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffaafbe615, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x521364dc04c58bfe, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa379dd7b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa379dd7b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa379dd7b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa379dd7b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9b3660c6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9b3660c6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9b3660c6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9b3660c6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9ff77d71, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9ff77d71, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9ff77d71, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9ff77d71, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff92b45ba8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff92b45ba8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff92b45ba8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff92b45ba8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9675461f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9675461f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9675461f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9675461f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa974eac43a489b55, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa974eac43a489b55, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa974eac43a489b55, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa974eac43a489b55, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8832161a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8832161a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8832161a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8832161a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8cf30bad, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8cf30bad, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8cf30bad, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8cf30bad, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff81b02d74, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff81b02d74, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff81b02d74, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff81b02d74, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff857130c3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff857130c3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff857130c3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff857130c3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5d8a9099, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5d8a9099, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5d8a9099, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5d8a9099, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x594b8d2e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x594b8d2e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x594b8d2e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x594b8d2e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4bf8485ab728922f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5408abf7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5408abf7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5408abf7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5408abf7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x50c9b640, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x50c9b640, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x50c9b640, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x50c9b640, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4e8ee645, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4e8ee645, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4e8ee645, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4e8ee645, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4a4ffbf2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4a4ffbf2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x470cdd2b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x470cdd2b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x470cdd2b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x470cdd2b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x43cdc09c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x43cdc09c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x43cdc09c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x43cdc09c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7b827d21, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7b827d21, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7b827d21, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7b827d21, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7f436096, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7f436096, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7f436096, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7f436096, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7200464f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7200464f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7200464f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7200464f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbb8470f981e91117, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbb8470f981e91117, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbb8470f981e91117, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbb8470f981e91117, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x76c15bf8, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x76c15bf8, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x76c15bf8, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x76c15bf8, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x68860bfd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x68860bfd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x68860bfd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x68860bfd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x14abf36419fb9e63, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6c47164a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6c47164a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6c47164a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6c47164a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x249d559aa8d72aac, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x61043093, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x61043093, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x61043093, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x61043093, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xcd6764f084b30ec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x65c52d24, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x65c52d24, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x65c52d24, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x65c52d24, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x119b4be9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x119b4be9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x119b4be9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x119b4be9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x155a565e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x155a565e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x155a565e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x155a565e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x152828591a652711, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x152828591a652711, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x152828591a652711, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x152828591a652711, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x18197087, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x18197087, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x18197087, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x18197087, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1cd86d30, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1cd86d30, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1cd86d30, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1cd86d30, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8d95c049282a0417, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8d95c049282a0417, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8d95c049282a0417, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8d95c049282a0417, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x29f3d35, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x29f3d35, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x29f3d35, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x29f3d35, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf2e7a490978058f3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf2e7a490978058f3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf2e7a490978058f3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf2e7a490978058f3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x65e2082, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x65e2082, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x65e2082, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x65e2082, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xb1d065b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xb1d065b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xb1d065b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xb1d065b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xa2b84a635111020, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xa2b84a635111020, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xa2b84a635111020, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xa2b84a635111020, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0xfdc1bec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0xfdc1bec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0xfdc1bec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0xfdc1bec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3793a651, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3793a651, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3793a651, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3793a651, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa3d991b79941dedd, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa3d991b79941dedd, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa3d991b79941dedd, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa3d991b79941dedd, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3352bbe6, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3352bbe6, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3352bbe6, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3352bbe6, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x751cb4835a0d9508, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3e119d3f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3e119d3f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3e119d3f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3e119d3f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x949cad35625bb2d3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x949cad35625bb2d3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x949cad35625bb2d3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x949cad35625bb2d3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3ad08088, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3ad08088, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3ad08088, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3ad08088, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7f567f35a6929739, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7f567f35a6929739, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7f567f35a6929739, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7f567f35a6929739, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2497d08d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2497d08d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2497d08d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2497d08d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2056cd3a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2056cd3a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2056cd3a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2056cd3a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2d15ebe3, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2d15ebe3, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2d15ebe3, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2d15ebe3, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1048d589a4363f7b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x29d4f654, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x29d4f654, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x29d4f654, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x29d4f654, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x6a6d5708f4605790, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc5a92679, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc5a92679, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc5a92679, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc5a92679, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd58ecbabde35697f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd58ecbabde35697f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd58ecbabde35697f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd58ecbabde35697f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc1683bce, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc1683bce, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc1683bce, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc1683bce, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd26c4d12, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd26c4d12, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffd26c4d12, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd26c4d12, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa978f12ca22256a7, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa978f12ca22256a7, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa978f12ca22256a7, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa978f12ca22256a7, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9950a93b811ee02f, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9950a93b811ee02f, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9950a93b811ee02f, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9950a93b811ee02f, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffdbee767c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdbee767c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffdbee767c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffdbee767c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffe760d676, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe760d676, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffe760d676, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe760d676, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x4ed6393df818af57, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x4ed6393df818af57, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x4ed6393df818af57, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x4ed6393df818af57, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffea23f0af, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffea23f0af, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffea23f0af, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffea23f0af, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xf22e90200236770a, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xf22e90200236770a, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xf22e90200236770a, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xf22e90200236770a, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffeee2ed18, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffeee2ed18, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffeee2ed18, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffeee2ed18, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xeed8f3518102315b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xeed8f3518102315b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xeed8f3518102315b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xeed8f3518102315b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff464a0aa, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff464a0aa, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff464a0aa, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff464a0aa, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xadafefb9995efd5e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xadafefb9995efd5e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xadafefb9995efd5e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xadafefb9995efd5e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffff9278673, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff9278673, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffff9278673, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff9278673, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x34061933eb253086, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x34061933eb253086, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x34061933eb253086, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x34061933eb253086, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xfffffffffde69bc4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffde69bc4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xfffffffffde69bc4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffffde69bc4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x1748da264b4c52bc, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff89b8fd09, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff89b8fd09, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff89b8fd09, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff89b8fd09, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff8d79e0be, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8d79e0be, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff8d79e0be, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff8d79e0be, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xd00278c3c521d180, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xd00278c3c521d180, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xd00278c3c521d180, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xd00278c3c521d180, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff803ac667, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff803ac667, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff803ac667, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff803ac667, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x65fd698fddef9839, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x65fd698fddef9839, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x65fd698fddef9839, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x65fd698fddef9839, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff9e7d9662, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9e7d9662, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff9e7d9662, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9e7d9662, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff933eb0bb, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff933eb0bb, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff933eb0bb, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff933eb0bb, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x372c209e42f3b58d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffff97ffad0c, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff97ffad0c, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffff97ffad0c, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff97ffad0c, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x30f870b7e122a83b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffafb010b1, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffafb010b1, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffafb010b1, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffafb010b1, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0x9e02de4b678930ec, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0x9e02de4b678930ec, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0x9e02de4b678930ec, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0x9e02de4b678930ec, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffab710d06, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffab710d06, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffab710d06, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffab710d06, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xcd61a8639826631e, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xcd61a8639826631e, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xcd61a8639826631e, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xcd61a8639826631e, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa6322bdf, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa6322bdf, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa6322bdf, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa6322bdf, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffa2f33668, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa2f33668, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffa2f33668, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa2f33668, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x58ec644d6481af17, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x58ec644d6481af17, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x58ec644d6481af17, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x58ec644d6481af17, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffbcb4666d, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbcb4666d, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffbcb4666d, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffbcb4666d, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x680cce5fb236b666, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x680cce5fb236b666, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x680cce5fb236b666, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x680cce5fb236b666, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb8757bda, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb8757bda, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb8757bda, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb8757bda, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb5365d03, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb5365d03, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb5365d03, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb5365d03, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x0, rs 0x614d9b445f12236b, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x0, rs 0x614d9b445f12236b, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x0, rs 0x614d9b445f12236b, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x0, rs 0x614d9b445f12236b, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffb1f740b4, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb1f740b4, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xffffffffb1f740b4, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb1f740b4, imm 0x0023
+slti $t0, $t1, 0xff :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0x00ff
+slti $t2, $t3, 0xffff :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0xffff
+slti $a0, $a1, 0x0 :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0x0000
+slti $s0, $s1, 0x23 :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x12bd6aa, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x12bd6aa, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x12bd6aa, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x12bd6aa, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7e876382d2ab13, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7e876382d2ab13, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7e876382d2ab13, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7e876382d2ab13, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9823b6e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9823b6e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9823b6e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9823b6e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x976d6e9ac31510f3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x976d6e9ac31510f3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x976d6e9ac31510f3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd4326d9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd4326d9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd4326d9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd4326d9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb7746d775ad6a5fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb7746d775ad6a5fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb7746d775ad6a5fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x130476dc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x130476dc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x130476dc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x130476dc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x42b0c0a28677b502, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x17c56b6b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x17c56b6b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x17c56b6b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x17c56b6b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2aa89d319e3c30ad, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1a864db2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1a864db2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1a864db2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1a864db2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1f308ec377fb413d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1e475005, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1e475005, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1e475005, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1e475005, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7aa04213c760e4f7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2608edb8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2608edb8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2608edb8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2608edb8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9e705cc51ad8dca0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9e705cc51ad8dca0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9e705cc51ad8dca0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x22c9f00f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x22c9f00f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x22c9f00f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x22c9f00f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4b3dda869615a60d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2f8ad6d6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2f8ad6d6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5e7a4dd6353d41d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2b4bcb61, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2b4bcb61, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2b4bcb61, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2b4bcb61, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3af35a9dc40bd413, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x350c9b64, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x350c9b64, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x350c9b64, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x350c9b64, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x47f505569a08a180, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x47f505569a08a180, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x47f505569a08a180, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x47f505569a08a180, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x31cd86d3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x31cd86d3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x31cd86d3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x31cd86d3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9564b77fd6d2040f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9564b77fd6d2040f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9564b77fd6d2040f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3c8ea00a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3c8ea00a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3c8ea00a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3c8ea00a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xcebc8279b2c76bbe, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xcebc8279b2c76bbe, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xcebc8279b2c76bbe, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x384fbdbd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x384fbdbd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x384fbdbd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x384fbdbd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb5034c2f1f18e4c7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb5034c2f1f18e4c7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb5034c2f1f18e4c7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4c11db70, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4c11db70, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4c11db70, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4c11db70, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x94ff52fc81afa797, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x94ff52fc81afa797, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x94ff52fc81afa797, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x94ff52fc81afa797, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x48d0c6c7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x48d0c6c7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x48d0c6c7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x48d0c6c7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x31d8d9166dfc50ea, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4593e01e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4593e01e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4593e01e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4593e01e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x36549bd678e895b1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x36549bd678e895b1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x36549bd678e895b1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x36549bd678e895b1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4152fda9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4152fda9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4152fda9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4152fda9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x85e0a6319b63259b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x85e0a6319b63259b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x85e0a6319b63259b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x85e0a6319b63259b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5f15adac, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5f15adac, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5f15adac, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5f15adac, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x556b3ecaccf17ac5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5bd4b01b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5bd4b01b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5bd4b01b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5bd4b01b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb42f5fc581eea0fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb42f5fc581eea0fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb42f5fc581eea0fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x569796c2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x569796c2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x569796c2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x569796c2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x25b50fec14682d97, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x25b50fec14682d97, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x25b50fec14682d97, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x25b50fec14682d97, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x52568b75, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x52568b75, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x52568b75, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x52568b75, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfc93c5132cfb087a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfc93c5132cfb087a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfc93c5132cfb087a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6a1936c8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6a1936c8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6a1936c8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6a1936c8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3c2cd9a9cda20766, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6ed82b7f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6ed82b7f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6ed82b7f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6ed82b7f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1791722a7d72da3e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x639b0da6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x639b0da6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x639b0da6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x639b0da6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x87cc9d193ce24ad, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x675a1011, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x675a1011, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x675a1011, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x675a1011, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1d2a757038984ed2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x791d4014, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x791d4014, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x791d4014, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x791d4014, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd0d070db710cd036, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd0d070db710cd036, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd0d070db710cd036, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd0d070db710cd036, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7ddc5da3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7ddc5da3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7ddc5da3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7ddc5da3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x39c21c7d03415604, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x39c21c7d03415604, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x39c21c7d03415604, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x39c21c7d03415604, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x709f7b7a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x709f7b7a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x709f7b7a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x709f7b7a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8e94b7af8ecc31ce, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8e94b7af8ecc31ce, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8e94b7af8ecc31ce, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x745e66cd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x745e66cd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x745e66cd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x745e66cd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x24eb6a8d1ce7674f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9823b6e0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9823b6e0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9823b6e0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9823b6e0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2f39454412d6e4a7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9ce2ab57, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9ce2ab57, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9ce2ab57, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2608c2b756da4c54, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff91a18d8e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff91a18d8e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff91a18d8e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff91a18d8e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x900102dac8d7252f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x900102dac8d7252f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x900102dac8d7252f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x900102dac8d7252f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff95609039, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff95609039, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff95609039, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff95609039, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc890d5f1f2efa4f7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc890d5f1f2efa4f7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc890d5f1f2efa4f7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8b27c03c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8b27c03c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8b27c03c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8b27c03c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8fe6dd8b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8fe6dd8b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8fe6dd8b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x314791895991136c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x314791895991136c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x314791895991136c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x314791895991136c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff82a5fb52, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff82a5fb52, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff82a5fb52, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff82a5fb52, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc6eecff99a2fb6f3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc6eecff99a2fb6f3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc6eecff99a2fb6f3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8664e6e5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8664e6e5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8664e6e5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8664e6e5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa809521238895270, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa809521238895270, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa809521238895270, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa809521238895270, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x87750a04ad765040, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x87750a04ad765040, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x87750a04ad765040, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x87750a04ad765040, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbaea46ef, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbaea46ef, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbaea46ef, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbaea46ef, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2c3de85e84bb5a83, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb7a96036, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb7a96036, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb7a96036, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb7a96036, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xae6aff8fc506aa67, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xae6aff8fc506aa67, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xae6aff8fc506aa67, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb3687d81, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb3687d81, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb3687d81, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb3687d81, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc07112dd60ed5ee3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc07112dd60ed5ee3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc07112dd60ed5ee3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffad2f2d84, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc4c770f630dcca5a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc4c770f630dcca5a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc4c770f630dcca5a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa9ee3033, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa9ee3033, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa9ee3033, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa9ee3033, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xdfec2b2383cd5277, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xdfec2b2383cd5277, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xdfec2b2383cd5277, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa4ad16ea, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa4ad16ea, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa4ad16ea, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd3adba260ff7d96b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd3adba260ff7d96b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd3adba260ff7d96b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa06c0b5d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa06c0b5d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa06c0b5d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4ab4aa798418c00e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd4326d90, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd4326d90, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd4326d90, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd4326d90, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbb8c035e0de0f0b8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbb8c035e0de0f0b8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbb8c035e0de0f0b8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd0f37027, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd0f37027, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd0f37027, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd0f37027, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x33b06f54a97fdcf1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffddb056fe, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffddb056fe, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffddb056fe, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffddb056fe, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x77433f373fd1c081, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x77433f373fd1c081, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x77433f373fd1c081, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x77433f373fd1c081, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd9714b49, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd9714b49, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd9714b49, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd9714b49, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xec91d993c92195e4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xec91d993c92195e4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xec91d993c92195e4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xec91d993c92195e4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc7361b4c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x49fbf6a795b1a5ab, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc3f706fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc3f706fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc3f706fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc3f706fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x19364378c7ce8d1e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffceb42022, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffceb42022, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffceb42022, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffceb42022, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb99e8def2f384907, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb99e8def2f384907, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb99e8def2f384907, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb99e8def2f384907, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffca753d95, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffca753d95, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffca753d95, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffca753d95, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x47eacdcd582b12fe, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff23a8028, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff23a8028, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff23a8028, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff23a8028, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd685884e76558c4f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd685884e76558c4f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd685884e76558c4f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd685884e76558c4f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff6fb9d9f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff6fb9d9f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff6fb9d9f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6168d62a34c195c7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffffbb8bb46, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffbb8bb46, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffffbb8bb46, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd30169894df47405, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd30169894df47405, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd30169894df47405, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd30169894df47405, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffff79a6f1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffff79a6f1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffff79a6f1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffff79a6f1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1ca190bf6cbb06db, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe13ef6f4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe13ef6f4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe13ef6f4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x58300f029cae393a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x58300f029cae393a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x58300f029cae393a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x58300f029cae393a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe5ffeb43, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe5ffeb43, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe5ffeb43, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9a995fdbdc7ebc2d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9a995fdbdc7ebc2d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe8bccd9a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe8bccd9a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe8bccd9a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8a96047be3405b48, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8a96047be3405b48, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8a96047be3405b48, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8a96047be3405b48, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffec7dd02d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffec7dd02d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffec7dd02d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffec7dd02d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x75bfafd2d519d322, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x34867077, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x34867077, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x34867077, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x34867077, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xde230867a630f6ad, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xde230867a630f6ad, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xde230867a630f6ad, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xde230867a630f6ad, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x30476dc0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x30476dc0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x30476dc0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x30476dc0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2c0a0cf256103260, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3d044b19, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3d044b19, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3d044b19, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3d044b19, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x94a90544249b18ef, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x94a90544249b18ef, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x94a90544249b18ef, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x94a90544249b18ef, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x39c556ae, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x39c556ae, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x39c556ae, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x39c556ae, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf9519fb55b56fcde, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf9519fb55b56fcde, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf9519fb55b56fcde, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x278206ab, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x278206ab, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x278206ab, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x278206ab, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x81daf8200468319b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x81daf8200468319b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x81daf8200468319b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x81daf8200468319b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x23431b1c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x23431b1c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x23431b1c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x23431b1c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8c61ca5a5725f2ec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8c61ca5a5725f2ec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8c61ca5a5725f2ec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2e003dc5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2e003dc5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2e003dc5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2e003dc5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8b95a6ddc25dc8bf, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8b95a6ddc25dc8bf, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2ac12072, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2ac12072, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2ac12072, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2ac12072, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x300ce751dac6162f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x300ce751dac6162f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x300ce751dac6162f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x300ce751dac6162f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x128e9dcf, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x128e9dcf, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x128e9dcf, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x128e9dcf, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6778fdf3ba52a850, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x164f8078, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x164f8078, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x164f8078, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x164f8078, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xad00b1f7da78479f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xad00b1f7da78479f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xad00b1f7da78479f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xad00b1f7da78479f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1b0ca6a1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1b0ca6a1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8d44168a6b6d98a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1fcdbb16, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1fcdbb16, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1fcdbb16, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1fcdbb16, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf518381dce634413, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf518381dce634413, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf518381dce634413, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf518381dce634413, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x18aeb13, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x18aeb13, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x18aeb13, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x18aeb13, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x54bf6a4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x54bf6a4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x54bf6a4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x54bf6a4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xccd392e176321f28, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xccd392e176321f28, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xccd392e176321f28, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xccd392e176321f28, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x808d07d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x808d07d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x808d07d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x808d07d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x829464944018fd8f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x829464944018fd8f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x829464944018fd8f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x829464944018fd8f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xcc9cdca, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xcc9cdca, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xcc9cdca, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xcc9cdca, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x15d3204052e8f0e5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7897ab07, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7897ab07, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7897ab07, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7897ab07, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7caf83d2880ff344, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7c56b6b0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7c56b6b0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7c56b6b0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7c56b6b0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf156a04c747defd7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf156a04c747defd7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf156a04c747defd7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf156a04c747defd7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x71159069, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x71159069, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x71159069, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x71159069, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x93e2601c0f31d710, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x75d48dde, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x75d48dde, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x75d48dde, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x75d48dde, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe1e1a679131cd933, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe1e1a679131cd933, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe1e1a679131cd933, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe1e1a679131cd933, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6b93dddb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6b93dddb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6b93dddb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6b93dddb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x24296b75a76fa427, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x24296b75a76fa427, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x24296b75a76fa427, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x24296b75a76fa427, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6f52c06c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6f52c06c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6f52c06c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6f52c06c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd296e2d2139ee56a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd296e2d2139ee56a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd296e2d2139ee56a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6211e6b5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6211e6b5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6211e6b5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6211e6b5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5a82447f6dc2a5c0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x66d0fb02, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x66d0fb02, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x66d0fb02, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x66d0fb02, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x76c89e80c07dc168, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5e9f46bf, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5e9f46bf, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5e9f46bf, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5e9f46bf, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x70dc3454bfe348f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5a5e5b08, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5a5e5b08, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5a5e5b08, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5a5e5b08, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbddc7123dd6d241b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbddc7123dd6d241b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbddc7123dd6d241b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x571d7dd1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x571d7dd1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x571d7dd1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x571d7dd1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf62fb727a59fcebe, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf62fb727a59fcebe, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf62fb727a59fcebe, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x53dc6066, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x53dc6066, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x53dc6066, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x53dc6066, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x109f27e90f9f46fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4d9b3063, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4d9b3063, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4d9b3063, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4d9b3063, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3f63daa9afd199d7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x495a2dd4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x495a2dd4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x495a2dd4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x495a2dd4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xdbcb312ea3d484f2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xdbcb312ea3d484f2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xdbcb312ea3d484f2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x44190b0d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x44190b0d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x44190b0d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x44190b0d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1f353faada4fe4c6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x40d816ba, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x40d816ba, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x40d816ba, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x40d816ba, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8b086ee07150c260, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8b086ee07150c260, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8b086ee07150c260, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8b086ee07150c260, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffaca5c697, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffaca5c697, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffaca5c697, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffaca5c697, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe54750d5d9257f25, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe54750d5d9257f25, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe54750d5d9257f25, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe54750d5d9257f25, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa864db20, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa864db20, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa864db20, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa864db20, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3d69625fe9a6db5b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa527fdf9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa527fdf9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa527fdf9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa527fdf9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x70a3e0424340ac96, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa1e6e04e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa1e6e04e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa1e6e04e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc0478f036980171e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc0478f036980171e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc0478f036980171e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc0478f036980171e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbfa1b04b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbfa1b04b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbfa1b04b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3ce839a51cf929e3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbb60adfc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbb60adfc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbb60adfc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbb60adfc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb6238b25, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb6238b25, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb6238b25, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb6238b25, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd24bb05d76ed25b7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd24bb05d76ed25b7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd24bb05d76ed25b7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb2e29692, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb2e29692, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb2e29692, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb2e29692, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xeb9682c170312f1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xeb9682c170312f1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xeb9682c170312f1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xeb9682c170312f1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8aad2b2f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8aad2b2f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8aad2b2f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x84785280dd301d0d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x84785280dd301d0d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x84785280dd301d0d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x84785280dd301d0d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x179c77aa1f8fd6ef, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x26444ced2998436d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x26444ced2998436d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x26444ced2998436d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x26444ced2998436d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff87ee0df6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff87ee0df6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff87ee0df6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff87ee0df6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7175c9dd58ca708, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff99a95df3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff99a95df3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff99a95df3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff99a95df3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x663d061055833287, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x663d061055833287, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x663d061055833287, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x663d061055833287, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9d684044, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9d684044, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9d684044, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9d684044, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xab7dd0488951d68b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xab7dd0488951d68b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xab7dd0488951d68b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xab7dd0488951d68b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff902b669d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff902b669d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff902b669d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff902b669d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf69823670e82471b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf69823670e82471b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf69823670e82471b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf69823670e82471b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff94ea7b2a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff94ea7b2a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff94ea7b2a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x36886c59d98d26b2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe0b41de7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe0b41de7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe0b41de7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe0b41de7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9ca4bdbd32be479, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe4750050, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe4750050, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe4750050, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe4750050, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfd5d7d1d9962e61f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfd5d7d1d9962e61f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfd5d7d1d9962e61f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe9362689, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe9362689, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe9362689, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe9362689, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3f46553ecad374df, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3f46553ecad374df, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3f46553ecad374df, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3f46553ecad374df, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffedf73b3e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffedf73b3e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffedf73b3e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffedf73b3e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2e9ab97d3eedf2a7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff3b06b3b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff3b06b3b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff3b06b3b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x36a6f7fa3c0c9f33, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff771768c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff771768c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff771768c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff771768c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffffa325055, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffa325055, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffa325055, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffffa325055, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd2df25c419478206, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd2df25c419478206, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd2df25c419478206, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd2df25c419478206, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffffef34de2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffef34de2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffef34de2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffffef34de2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbc65bf27eb321825, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbc65bf27eb321825, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbc65bf27eb321825, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbc65bf27eb321825, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc6bcf05f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc6bcf05f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc6bcf05f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa8b08fe67a8bc7da, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa8b08fe67a8bc7da, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa8b08fe67a8bc7da, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc27dede8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc27dede8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc27dede8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc27dede8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x852b5bcaf8dfcde8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x852b5bcaf8dfcde8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x852b5bcaf8dfcde8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffcf3ecb31, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcf3ecb31, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffcf3ecb31, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x478909b59a99269, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x478909b59a99269, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x478909b59a99269, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x478909b59a99269, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffcbffd686, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcbffd686, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcbffd686, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffcbffd686, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbfb31cc87857360f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbfb31cc87857360f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbfb31cc87857360f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbfb31cc87857360f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd5b88683, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd5b88683, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd5b88683, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd5b88683, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb665ed5e7f89e9a2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb665ed5e7f89e9a2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb665ed5e7f89e9a2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd1799b34, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd1799b34, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd1799b34, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd1799b34, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x15da9474b7a8d5e4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffdc3abded, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdc3abded, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdc3abded, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffdc3abded, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd8fba05a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd8fba05a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd8fba05a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd8fba05a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x223d7cfe2b961897, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x690ce0ee, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x690ce0ee, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x690ce0ee, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x690ce0ee, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x420b34f533734a4b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x420b34f533734a4b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x420b34f533734a4b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x420b34f533734a4b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6dcdfd59, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6dcdfd59, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6dcdfd59, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6dcdfd59, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x897c8c8ddd46b33c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x897c8c8ddd46b33c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x897c8c8ddd46b33c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x608edb80, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x608edb80, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x608edb80, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x608edb80, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7a387445e392ccd9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x644fc637, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x644fc637, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x644fc637, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x644fc637, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x512f29b1d80000c9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7a089632, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7a089632, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7a089632, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7a089632, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xeaded5c53dad020a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xeaded5c53dad020a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xeaded5c53dad020a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xeaded5c53dad020a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7ec98b85, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7ec98b85, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7ec98b85, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7ec98b85, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8a6229d731eea35b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8a6229d731eea35b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8a6229d731eea35b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8a6229d731eea35b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x738aad5c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x738aad5c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x738aad5c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x738aad5c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2c3c3f9e48985649, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x774bb0eb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x774bb0eb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x774bb0eb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x774bb0eb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7ff61e78dc9c0b77, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4f040d56, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4f040d56, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4f040d56, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4f040d56, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2299b0e01d5e68ec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4bc510e1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4bc510e1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4bc510e1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4bc510e1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7c3b04673d0c6e25, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x46863638, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x46863638, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x46863638, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x46863638, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x164e17c1e7fb6587, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x42472b8f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x42472b8f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x42472b8f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x42472b8f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfa4ca28b56d4950b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfa4ca28b56d4950b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfa4ca28b56d4950b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5c007b8a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5c007b8a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5c007b8a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5c007b8a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe5e9a314be7fa08a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe5e9a314be7fa08a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe5e9a314be7fa08a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x58c1663d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x58c1663d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x58c1663d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x58c1663d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf8be8164159649c5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf8be8164159649c5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf8be8164159649c5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf8be8164159649c5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x558240e4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x558240e4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x558240e4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x558240e4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7ca3259784e69b17, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x51435d53, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x51435d53, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x51435d53, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x51435d53, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x251d3b9e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x251d3b9e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x251d3b9e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x251d3b9e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4aeb6ca0e3459e36, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x21dc2629, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x21dc2629, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x21dc2629, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x21dc2629, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc532e18e187980fa, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc532e18e187980fa, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc532e18e187980fa, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc532e18e187980fa, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2c9f00f0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2c9f00f0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2c9f00f0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2c9f00f0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x285e1d47, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x285e1d47, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x285e1d47, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x285e1d47, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb620660a49732b90, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb620660a49732b90, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb620660a49732b90, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb620660a49732b90, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x36194d42, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x36194d42, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x36194d42, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x36194d42, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x993138f16cfde991, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x993138f16cfde991, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x993138f16cfde991, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x993138f16cfde991, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x32d850f5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x32d850f5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x32d850f5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x32d850f5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xde02d1337d5407b9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xde02d1337d5407b9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xde02d1337d5407b9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xde02d1337d5407b9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3f9b762c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3f9b762c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3f9b762c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3f9b762c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x13a390e1e1dab15a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3b5a6b9b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3b5a6b9b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x743491a6828716c8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x743491a6828716c8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x743491a6828716c8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x743491a6828716c8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x315d626, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x315d626, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x315d626, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x315d626, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8cff404aede292f2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8cff404aede292f2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8cff404aede292f2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8cff404aede292f2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7d4cb91, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7d4cb91, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7d4cb91, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7d4cb91, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb9cec0db1f837636, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb9cec0db1f837636, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb9cec0db1f837636, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb9cec0db1f837636, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa97ed48, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa97ed48, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa97ed48, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa97ed48, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2eaa5aa70509771c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe56f0ff, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe56f0ff, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe56f0ff, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe56f0ff, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd327538e1875241b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd327538e1875241b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd327538e1875241b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd327538e1875241b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1011a0fa, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1011a0fa, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1011a0fa, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1011a0fa, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x42e9f8548b739b6b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x14d0bd4d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x14d0bd4d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x14d0bd4d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x14d0bd4d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x78e4e50ceccbba1a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x19939b94, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x19939b94, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x19939b94, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x19939b94, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf6b6fa3fcd9d27cb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf6b6fa3fcd9d27cb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1d528623, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1d528623, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1d528623, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1d528623, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x73916483ae3e9423, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x73916483ae3e9423, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x73916483ae3e9423, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x73916483ae3e9423, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff12f560e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff12f560e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff12f560e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff12f560e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x276af70a0e128561, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x276af70a0e128561, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x276af70a0e128561, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x276af70a0e128561, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff5ee4bb9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff5ee4bb9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff5ee4bb9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3045bf6b5e74b6e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff8ad6d60, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff8ad6d60, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff8ad6d60, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x20223f1308accfa6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x20223f1308accfa6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x20223f1308accfa6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x20223f1308accfa6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffffc6c70d7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffc6c70d7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffffc6c70d7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf83c55743976b5f5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf83c55743976b5f5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf83c55743976b5f5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf83c55743976b5f5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe22b20d2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe22b20d2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe22b20d2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe22b20d2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1f9720f946923c3d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe6ea3d65, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe6ea3d65, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe6ea3d65, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x620d28506d2448dd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x620d28506d2448dd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x620d28506d2448dd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x620d28506d2448dd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffeba91bbc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffeba91bbc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffeba91bbc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffeba91bbc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x60a521e99ff4a732, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffef68060b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffef68060b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffef68060b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffef68060b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5a08f3ab5c680f0b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd727bbb6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd727bbb6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd727bbb6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd727bbb6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc7a59be7800f3d26, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc7a59be7800f3d26, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc7a59be7800f3d26, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd3e6a601, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd3e6a601, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd3e6a601, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd3e6a601, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1aecdf2982ca1b41, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffdea580d8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdea580d8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdea580d8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffdea580d8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2b8613a260d19dcd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffda649d6f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffda649d6f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffda649d6f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffda649d6f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2518ac8b0e8bbe7f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc423cd6a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc423cd6a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc423cd6a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc423cd6a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x743e568d2fcf486b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x126f646f34c31728, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x126f646f34c31728, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x126f646f34c31728, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x126f646f34c31728, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffcda1f604, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcda1f604, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcda1f604, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffcda1f604, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xaab0196156fc4d12, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xaab0196156fc4d12, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xaab0196156fc4d12, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xaab0196156fc4d12, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x1, rs 0x0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x1, rs 0x0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7535cd338595d342, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7535cd338595d342, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7535cd338595d342, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7535cd338595d342, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbd3e8d7e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbd3e8d7e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbd3e8d7e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xdfb254da422346ec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xdfb254da422346ec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xdfb254da422346ec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xdfb254da422346ec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb9ff90c9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb9ff90c9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb9ff90c9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa86726c90081ab2a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa86726c90081ab2a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa86726c90081ab2a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa86726c90081ab2a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb4bcb610, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9bfeffa1679d7438, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9bfeffa1679d7438, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9bfeffa1679d7438, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb07daba7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb07daba7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb07daba7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb07daba7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc7699826b7dee244, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc7699826b7dee244, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc7699826b7dee244, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc7699826b7dee244, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffae3afba2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffae3afba2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffae3afba2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffae3afba2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3c07af97fba6704a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffaafbe615, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffaafbe615, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffaafbe615, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffaafbe615, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x521364dc04c58bfe, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe0f7bb589ab7aebc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe0f7bb589ab7aebc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe0f7bb589ab7aebc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa379dd7b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa379dd7b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa379dd7b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa379dd7b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe336c60cdeeb954d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe336c60cdeeb954d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe336c60cdeeb954d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9b3660c6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9b3660c6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9b3660c6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9b3660c6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd5b2120c6f52416e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd5b2120c6f52416e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd5b2120c6f52416e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9ff77d71, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9ff77d71, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9ff77d71, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9ff77d71, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x85a2d4ff7e628a34, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x85a2d4ff7e628a34, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x85a2d4ff7e628a34, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff92b45ba8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff92b45ba8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff92b45ba8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff92b45ba8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x986a2b654a4e7e07, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x986a2b654a4e7e07, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x986a2b654a4e7e07, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9675461f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9675461f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9675461f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9675461f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa974eac43a489b55, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa974eac43a489b55, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa974eac43a489b55, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa974eac43a489b55, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8832161a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8832161a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8832161a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8832161a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa388c16272f1f8f5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa388c16272f1f8f5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa388c16272f1f8f5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8cf30bad, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8cf30bad, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8cf30bad, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8cf30bad, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe8c11f45e7495ea9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe8c11f45e7495ea9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe8c11f45e7495ea9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff81b02d74, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff81b02d74, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff81b02d74, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff81b02d74, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xadaa5a765cc1c8b4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xadaa5a765cc1c8b4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xadaa5a765cc1c8b4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff857130c3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff857130c3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff857130c3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff857130c3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7ab4ce88dfa605c0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5d8a9099, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5d8a9099, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5d8a9099, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5d8a9099, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb42ad6e659a7b04f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb42ad6e659a7b04f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb42ad6e659a7b04f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x594b8d2e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x594b8d2e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x594b8d2e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x594b8d2e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4bf8485ab728922f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5408abf7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5408abf7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5408abf7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5408abf7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x76a3d60c3b66a7fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x50c9b640, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x50c9b640, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x50c9b640, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x50c9b640, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x31e0c6affdc28eda, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4e8ee645, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4e8ee645, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4e8ee645, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4e8ee645, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x53606bb4bf0c999d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4a4ffbf2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4a4ffbf2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x32fc12c81b7919f0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x470cdd2b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x470cdd2b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x470cdd2b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x470cdd2b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3ef88384c72efcd6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x43cdc09c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x43cdc09c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x43cdc09c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x43cdc09c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x38b1c7bb6a2a3580, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7b827d21, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7b827d21, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7b827d21, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7b827d21, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x15ebf6121dca77c9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7f436096, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7f436096, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7f436096, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7f436096, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5eaacdd9fd9147ae, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7200464f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7200464f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7200464f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7200464f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbb8470f981e91117, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbb8470f981e91117, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbb8470f981e91117, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbb8470f981e91117, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x76c15bf8, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x76c15bf8, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x76c15bf8, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x76c15bf8, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x5d42aeac6a532e0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x68860bfd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x68860bfd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x68860bfd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x68860bfd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x14abf36419fb9e63, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6c47164a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6c47164a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6c47164a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6c47164a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x249d559aa8d72aac, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x61043093, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x61043093, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x61043093, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x61043093, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xcd6764f084b30ec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x65c52d24, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x65c52d24, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x65c52d24, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x65c52d24, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7f03ac0792468fdf, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x119b4be9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x119b4be9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x119b4be9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x119b4be9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7e35ce6d56e670f5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x155a565e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x155a565e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x155a565e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x155a565e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x152828591a652711, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x152828591a652711, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x152828591a652711, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x152828591a652711, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x18197087, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x18197087, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x18197087, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x18197087, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9e1c3283d215a9fb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9e1c3283d215a9fb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9e1c3283d215a9fb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1cd86d30, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1cd86d30, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1cd86d30, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1cd86d30, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8d95c049282a0417, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8d95c049282a0417, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8d95c049282a0417, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8d95c049282a0417, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x29f3d35, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x29f3d35, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x29f3d35, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x29f3d35, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf2e7a490978058f3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf2e7a490978058f3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf2e7a490978058f3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf2e7a490978058f3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x65e2082, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x65e2082, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x65e2082, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x65e2082, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x775b4cca0975b1aa, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb1d065b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb1d065b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb1d065b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb1d065b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa2b84a635111020, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa2b84a635111020, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa2b84a635111020, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa2b84a635111020, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfdc1bec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfdc1bec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfdc1bec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfdc1bec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x23fa0d3a7d88b6f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3793a651, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3793a651, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3793a651, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3793a651, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa3d991b79941dedd, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa3d991b79941dedd, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa3d991b79941dedd, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa3d991b79941dedd, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3352bbe6, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3352bbe6, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3352bbe6, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3352bbe6, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x751cb4835a0d9508, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3e119d3f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3e119d3f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3e119d3f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3e119d3f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x949cad35625bb2d3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x949cad35625bb2d3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x949cad35625bb2d3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x949cad35625bb2d3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3ad08088, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3ad08088, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3ad08088, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3ad08088, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7f567f35a6929739, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7f567f35a6929739, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7f567f35a6929739, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7f567f35a6929739, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2497d08d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2497d08d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2497d08d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2497d08d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x185b88e0db8d7d27, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2056cd3a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2056cd3a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2056cd3a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2056cd3a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x255a4cd22fd61b91, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2d15ebe3, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2d15ebe3, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2d15ebe3, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2d15ebe3, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1048d589a4363f7b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x29d4f654, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x29d4f654, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x29d4f654, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x29d4f654, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x6a6d5708f4605790, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc5a92679, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc5a92679, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc5a92679, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc5a92679, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd58ecbabde35697f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd58ecbabde35697f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd58ecbabde35697f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd58ecbabde35697f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc1683bce, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc1683bce, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc1683bce, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc1683bce, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x575548fd08c0a5f1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffcc2b1d17, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcc2b1d17, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffcc2b1d17, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x8bb640fb8ed98ddb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x8bb640fb8ed98ddb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x8bb640fb8ed98ddb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffc8ea00a0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc8ea00a0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc8ea00a0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd6ad50a5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd6ad50a5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd6ad50a5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x2f7e224a1c170ab2, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffd26c4d12, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffd26c4d12, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd26c4d12, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd26c4d12, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa978f12ca22256a7, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa978f12ca22256a7, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa978f12ca22256a7, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa978f12ca22256a7, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffdf2f6bcb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdf2f6bcb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffdf2f6bcb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9950a93b811ee02f, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9950a93b811ee02f, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9950a93b811ee02f, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9950a93b811ee02f, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffdbee767c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffdbee767c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdbee767c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffdbee767c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe3a1cbc1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe3a1cbc1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe3a1cbc1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfe71fca06c0eb657, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfe71fca06c0eb657, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfe71fca06c0eb657, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffe760d676, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffe760d676, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe760d676, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe760d676, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x4ed6393df818af57, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x4ed6393df818af57, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x4ed6393df818af57, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x4ed6393df818af57, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffea23f0af, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffea23f0af, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffea23f0af, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffea23f0af, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xf22e90200236770a, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xf22e90200236770a, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xf22e90200236770a, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xf22e90200236770a, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffeee2ed18, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x81efb6c7afd0c45d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x81efb6c7afd0c45d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x81efb6c7afd0c45d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff0a5bd1d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff0a5bd1d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff0a5bd1d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xeed8f3518102315b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xeed8f3518102315b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xeed8f3518102315b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xeed8f3518102315b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff464a0aa, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff464a0aa, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff464a0aa, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff464a0aa, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xadafefb9995efd5e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xadafefb9995efd5e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xadafefb9995efd5e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xadafefb9995efd5e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffff9278673, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffff9278673, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff9278673, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff9278673, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x34061933eb253086, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x34061933eb253086, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x34061933eb253086, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x34061933eb253086, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xfffffffffde69bc4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x1748da264b4c52bc, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff89b8fd09, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff89b8fd09, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff89b8fd09, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff89b8fd09, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x34fdfc9a9302be89, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff8d79e0be, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff8d79e0be, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8d79e0be, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff8d79e0be, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xd00278c3c521d180, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xd00278c3c521d180, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xd00278c3c521d180, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xd00278c3c521d180, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff803ac667, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff803ac667, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff803ac667, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff803ac667, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xe90944a4c1d37a5d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xe90944a4c1d37a5d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xe90944a4c1d37a5d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x65fd698fddef9839, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x65fd698fddef9839, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x65fd698fddef9839, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x65fd698fddef9839, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9abc8bd5, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9abc8bd5, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9abc8bd5, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xc49ee3ad81b5af52, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xc49ee3ad81b5af52, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xc49ee3ad81b5af52, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff9e7d9662, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff9e7d9662, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9e7d9662, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9e7d9662, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x7aa941e8bdb263e9, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff933eb0bb, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff933eb0bb, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff933eb0bb, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff933eb0bb, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x372c209e42f3b58d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffff97ffad0c, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x30f870b7e122a83b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffafb010b1, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffafb010b1, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffafb010b1, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffafb010b1, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x9e02de4b678930ec, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x9e02de4b678930ec, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x9e02de4b678930ec, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x9e02de4b678930ec, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffab710d06, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffab710d06, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffab710d06, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffab710d06, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xcd61a8639826631e, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xcd61a8639826631e, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xcd61a8639826631e, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xcd61a8639826631e, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa6322bdf, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa6322bdf, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa6322bdf, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa6322bdf, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xae87bc899a7bd3ca, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xae87bc899a7bd3ca, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xae87bc899a7bd3ca, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffa2f33668, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffa2f33668, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa2f33668, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa2f33668, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x58ec644d6481af17, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x58ec644d6481af17, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x58ec644d6481af17, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x58ec644d6481af17, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffbcb4666d, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffbcb4666d, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbcb4666d, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbcb4666d, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x680cce5fb236b666, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x680cce5fb236b666, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x680cce5fb236b666, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x680cce5fb236b666, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb8757bda, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb8757bda, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb8757bda, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb8757bda, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x3baa99471f6d4d75, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb5365d03, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb5365d03, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb5365d03, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb5365d03, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0x614d9b445f12236b, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0x614d9b445f12236b, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0x614d9b445f12236b, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0x614d9b445f12236b, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xffffffffb1f740b4, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xffffffffb1f740b4, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb1f740b4, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb1f740b4, imm 0x0023
+sltiu $t0, $t1, 0xff :: rt 0x0, rs 0xa2a6ec661ba84121, imm 0x00ff
+sltiu $t2, $t3, 0xffff :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0xffff
+sltiu $a0, $a1, 0x0 :: rt 0x0, rs 0xa2a6ec661ba84121, imm 0x0000
+sltiu $s0, $s1, 0x23 :: rt 0x0, rs 0xa2a6ec661ba84121, imm 0x0023
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0xffffffffb1f740b4
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0xffffffffb5365d03
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x9823b6e, rt 0xffffffffb8757bda
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xd4326d9, rt 0xffffffffbcb4666d
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x130476dc, rt 0xffffffffa2f33668
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1a864db2, rt 0xffffffffab710d06
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1e475005, rt 0xffffffffafb010b1
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2608edb8, rt 0xffffffff97ffad0c
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x31cd86d3, rt 0xffffffff803ac667
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4c11db70, rt 0xfffffffffde69bc4
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x48d0c6c7, rt 0xfffffffff9278673
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4593e01e, rt 0xfffffffff464a0aa
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5f15adac, rt 0xffffffffeee2ed18
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x569796c2, rt 0xffffffffe760d676
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6a1936c8, rt 0xffffffffdbee767c
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x639b0da6, rt 0xffffffffd26c4d12
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x675a1011, rt 0xffffffffd6ad50a5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x791d4014, rt 0xffffffffc8ea00a0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x709f7b7a, rt 0xffffffffc1683bce
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x745e66cd, rt 0xffffffffc5a92679
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9823b6e0, rt 0x29d4f654
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff95609039, rt 0x2497d08d
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8664e6e5, rt 0x3793a651
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbaea46ef, rt 0xb1d065b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb7a96036, rt 0x65e2082
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb3687d81, rt 0x29f3d35
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa9ee3033, rt 0x18197087
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa4ad16ea, rt 0x155a565e
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd4326d90, rt 0x65c52d24
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd0f37027, rt 0x61043093
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffddb056fe, rt 0x6c47164a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd9714b49, rt 0x68860bfd
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc3f706fb, rt 0x7200464f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffceb42022, rt 0x7f436096
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffca753d95, rt 0x7b827d21
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff23a8028, rt 0x43cdc09c
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x34867077, rt 0xffffffff857130c3
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x30476dc0, rt 0xffffffff81b02d74
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3d044b19, rt 0xffffffff8cf30bad
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x39c556ae, rt 0xffffffff8832161a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x278206ab, rt 0xffffffff9675461f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x23431b1c, rt 0xffffffff92b45ba8
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2ac12072, rt 0xffffffff9b3660c6
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x18aeb13, rt 0xffffffffb07daba7
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x808d07d, rt 0xffffffffb9ff90c9
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0x7897ab07, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0x71159069, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x75d48dde, rt 0xffffffffc423cd6a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6b93dddb, rt 0xffffffffda649d6f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6f52c06c, rt 0xffffffffdea580d8
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5e9f46bf, rt 0xffffffffef68060b
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x53dc6066, rt 0xffffffffe22b20d2
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x40d816ba, rt 0xfffffffff12f560e
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffaca5c697, rt 0x1d528623
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa864db20, rt 0x19939b94
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbb60adfc, rt 0xa97ed48
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb6238b25, rt 0x7d4cb91
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb2e29692, rt 0x315d626
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x3f9b762c
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x32d850f5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff87ee0df6, rt 0x36194d42
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff99a95df3, rt 0x285e1d47
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x663d061055833287, rt 0xb620660a49732b90
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9d684044, rt 0x2c9f00f0
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff902b669d, rt 0x21dc2629
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe0b41de7, rt 0x51435d53
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe4750050, rt 0x558240e4
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe9362689, rt 0x58c1663d
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff771768c, rt 0x46863638
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffa325055, rt 0x4bc510e1
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffef34de2, rt 0x4f040d56
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc27dede8, rt 0x738aad5c
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcbffd686, rt 0x7a089632
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd5b88683, rt 0x644fc637
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd1799b34, rt 0x608edb80
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x608edb80, rt 0xffffffffd1799b34
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x644fc637, rt 0xffffffffd5b88683
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7a089632, rt 0xffffffffcbffd686
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x738aad5c, rt 0xffffffffc27dede8
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4f040d56, rt 0xfffffffffef34de2
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4bc510e1, rt 0xfffffffffa325055
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x46863638, rt 0xfffffffff771768c
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x58c1663d, rt 0xffffffffe9362689
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x558240e4, rt 0xffffffffe4750050
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x51435d53, rt 0xffffffffe0b41de7
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x21dc2629, rt 0xffffffff902b669d
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2c9f00f0, rt 0xffffffff9d684044
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x285e1d47, rt 0xffffffff99a95df3
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb620660a49732b90, rt 0x663d061055833287
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x36194d42, rt 0xffffffff87ee0df6
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0x32d850f5, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0x3f9b762c, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x315d626, rt 0xffffffffb2e29692
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7d4cb91, rt 0xffffffffb6238b25
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xa97ed48, rt 0xffffffffbb60adfc
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x19939b94, rt 0xffffffffa864db20
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1d528623, rt 0xffffffffaca5c697
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff12f560e, rt 0x40d816ba
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe22b20d2, rt 0x53dc6066
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffef68060b, rt 0x5e9f46bf
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdea580d8, rt 0x6f52c06c
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffda649d6f, rt 0x6b93dddb
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc423cd6a, rt 0x75d48dde
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x71159069
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x0, rt 0x7897ab07
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb9ff90c9, rt 0x808d07d
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb07daba7, rt 0x18aeb13
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9b3660c6, rt 0x2ac12072
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff92b45ba8, rt 0x23431b1c
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9675461f, rt 0x278206ab
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8832161a, rt 0x39c556ae
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8cf30bad, rt 0x3d044b19
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff81b02d74, rt 0x30476dc0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff857130c3, rt 0x34867077
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x43cdc09c, rt 0xfffffffff23a8028
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7b827d21, rt 0xffffffffca753d95
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7f436096, rt 0xffffffffceb42022
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x7200464f, rt 0xffffffffc3f706fb
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x68860bfd, rt 0xffffffffd9714b49
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x6c47164a, rt 0xffffffffddb056fe
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x61043093, rt 0xffffffffd0f37027
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x65c52d24, rt 0xffffffffd4326d90
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x155a565e, rt 0xffffffffa4ad16ea
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x18197087, rt 0xffffffffa9ee3033
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x29f3d35, rt 0xffffffffb3687d81
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x65e2082, rt 0xffffffffb7a96036
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xb1d065b, rt 0xffffffffbaea46ef
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3793a651, rt 0xffffffff8664e6e5
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x3ad08088, rt 0xffffffff8b27c03c
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2497d08d, rt 0xffffffff95609039
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+sltu $t0, $t1, $t2 :: rd 0x1, rs 0x29d4f654, rt 0xffffffff9823b6e0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc5a92679, rt 0x745e66cd
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc1683bce, rt 0x709f7b7a
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffc8ea00a0, rt 0x791d4014
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd6ad50a5, rt 0x675a1011
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffd26c4d12, rt 0x639b0da6
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffdbee767c, rt 0x6a1936c8
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffe760d676, rt 0x569796c2
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffeee2ed18, rt 0x5f15adac
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff464a0aa, rt 0x4593e01e
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffff9278673, rt 0x48d0c6c7
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xfffffffffde69bc4, rt 0x4c11db70
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff803ac667, rt 0x31cd86d3
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffff97ffad0c, rt 0x2608edb8
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffafb010b1, rt 0x1e475005
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffab710d06, rt 0x1a864db2
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffa2f33668, rt 0x130476dc
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffbcb4666d, rt 0xd4326d9
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb8757bda, rt 0x9823b6e
+sltu $s0, $s1, $s2 :: rd 0x1, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb5365d03, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+sltu $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb1f740b4, rt 0x0
+sltu $s0, $s1, $s2 :: rd 0x0, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+sub $t0, $t1, $t2 :: rd 0x4e08bf4c, rs 0x0, rt 0xffffffffb1f740b4
+sub $t0, $t1, $t2 :: rd 0x4ac9a2fd, rs 0x0, rt 0xffffffffb5365d03
+sub $t0, $t1, $t2 :: rd 0x510cbf94, rs 0x9823b6e, rt 0xffffffffb8757bda
+sub $t0, $t1, $t2 :: rd 0x508ec06c, rs 0xd4326d9, rt 0xffffffffbcb4666d
+sub $t0, $t1, $t2 :: rd 0x70114074, rs 0x130476dc, rt 0xffffffffa2f33668
+sub $t0, $t1, $t2 :: rd 0x71933f8c, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+sub $t0, $t1, $t2 :: rd 0x6f1540ac, rs 0x1a864db2, rt 0xffffffffab710d06
+sub $t0, $t1, $t2 :: rd 0x6e973f54, rs 0x1e475005, rt 0xffffffffafb010b1
+sub $t0, $t1, $t2 :: rd 0x4e2b3fac, rs 0x4c11db70, rt 0xfffffffffde69bc4
+sub $t0, $t1, $t2 :: rd 0x4fa94054, rs 0x48d0c6c7, rt 0xfffffffff9278673
+sub $t0, $t1, $t2 :: rd 0x512f3f74, rs 0x4593e01e, rt 0xfffffffff464a0aa
+sub $t0, $t1, $t2 :: rd 0x50ad408c, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+sub $t0, $t1, $t2 :: rd 0x7032c094, rs 0x5f15adac, rt 0xffffffffeee2ed18
+sub $t0, $t1, $t2 :: rd 0x71b0bf6c, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+subu $t0, $t1, $t2 :: rd 0x4e08bf4c, rs 0x0, rt 0xffffffffb1f740b4
+subu $t0, $t1, $t2 :: rd 0x4ac9a2fd, rs 0x0, rt 0xffffffffb5365d03
+subu $t0, $t1, $t2 :: rd 0x510cbf94, rs 0x9823b6e, rt 0xffffffffb8757bda
+subu $t0, $t1, $t2 :: rd 0x508ec06c, rs 0xd4326d9, rt 0xffffffffbcb4666d
+subu $t0, $t1, $t2 :: rd 0x70114074, rs 0x130476dc, rt 0xffffffffa2f33668
+subu $t0, $t1, $t2 :: rd 0x71933f8c, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+subu $t0, $t1, $t2 :: rd 0x6f1540ac, rs 0x1a864db2, rt 0xffffffffab710d06
+subu $t0, $t1, $t2 :: rd 0x6e973f54, rs 0x1e475005, rt 0xffffffffafb010b1
+subu $t0, $t1, $t2 :: rd 0xffffffff8e0940ac, rs 0x2608edb8, rt 0xffffffff97ffad0c
+subu $t0, $t1, $t2 :: rd 0xffffffff8f8b3f54, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+subu $t0, $t1, $t2 :: rd 0xffffffff910d4074, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+subu $t0, $t1, $t2 :: rd 0xffffffff908f3f8c, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+subu $t0, $t1, $t2 :: rd 0xffffffffb010bf94, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+subu $t0, $t1, $t2 :: rd 0xffffffffb192c06c, rs 0x31cd86d3, rt 0xffffffff803ac667
+subu $t0, $t1, $t2 :: rd 0xffffffffaf14bf4c, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+subu $t0, $t1, $t2 :: rd 0xffffffffae96c0b4, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+subu $t0, $t1, $t2 :: rd 0x4e2b3fac, rs 0x4c11db70, rt 0xfffffffffde69bc4
+subu $t0, $t1, $t2 :: rd 0x4fa94054, rs 0x48d0c6c7, rt 0xfffffffff9278673
+subu $t0, $t1, $t2 :: rd 0x512f3f74, rs 0x4593e01e, rt 0xfffffffff464a0aa
+subu $t0, $t1, $t2 :: rd 0x50ad408c, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+subu $t0, $t1, $t2 :: rd 0x7032c094, rs 0x5f15adac, rt 0xffffffffeee2ed18
+subu $t0, $t1, $t2 :: rd 0x71b0bf6c, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+subu $t0, $t1, $t2 :: rd 0x6f36c04c, rs 0x569796c2, rt 0xffffffffe760d676
+subu $t0, $t1, $t2 :: rd 0x6eb4bfb4, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+subu $t0, $t1, $t2 :: rd 0xffffffff8e2ac04c, rs 0x6a1936c8, rt 0xffffffffdbee767c
+subu $t0, $t1, $t2 :: rd 0xffffffff8fa8bfb4, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+subu $t0, $t1, $t2 :: rd 0xffffffff912ec094, rs 0x639b0da6, rt 0xffffffffd26c4d12
+subu $t0, $t1, $t2 :: rd 0xffffffff90acbf6c, rs 0x675a1011, rt 0xffffffffd6ad50a5
+subu $t0, $t1, $t2 :: rd 0xffffffffb0333f74, rs 0x791d4014, rt 0xffffffffc8ea00a0
+subu $t0, $t1, $t2 :: rd 0xffffffffb1b1408c, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+subu $t0, $t1, $t2 :: rd 0xffffffffaf373fac, rs 0x709f7b7a, rt 0xffffffffc1683bce
+subu $t0, $t1, $t2 :: rd 0xffffffffaeb54054, rs 0x745e66cd, rt 0xffffffffc5a92679
+subu $t0, $t1, $t2 :: rd 0x6e4ec08c, rs 0xffffffff9823b6e0, rt 0x29d4f654
+subu $t0, $t1, $t2 :: rd 0x6fccbf74, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+subu $t0, $t1, $t2 :: rd 0x714ac054, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+subu $t0, $t1, $t2 :: rd 0x70c8bfac, rs 0xffffffff95609039, rt 0x2497d08d
+subu $t0, $t1, $t2 :: rd 0x50573fb4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+subu $t0, $t1, $t2 :: rd 0x51d5404c, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+subu $t0, $t1, $t2 :: rd 0x4f533f6c, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+subu $t0, $t1, $t2 :: rd 0x4ed14094, rs 0xffffffff8664e6e5, rt 0x3793a651
+subu $t0, $t1, $t2 :: rd 0xffffffffae4f3f6c, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+subu $t0, $t1, $t2 :: rd 0xffffffffafcd4094, rs 0xffffffffbaea46ef, rt 0xb1d065b
+subu $t0, $t1, $t2 :: rd 0xffffffffb14b3fb4, rs 0xffffffffb7a96036, rt 0x65e2082
+subu $t0, $t1, $t2 :: rd 0xffffffffb0c9404c, rs 0xffffffffb3687d81, rt 0x29f3d35
+subu $t0, $t1, $t2 :: rd 0xffffffff9056c054, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+subu $t0, $t1, $t2 :: rd 0xffffffff91d4bfac, rs 0xffffffffa9ee3033, rt 0x18197087
+subu $t0, $t1, $t2 :: rd 0xffffffff8f52c08c, rs 0xffffffffa4ad16ea, rt 0x155a565e
+subu $t0, $t1, $t2 :: rd 0xffffffff8ed0bf74, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+subu $t0, $t1, $t2 :: rd 0x6e6d406c, rs 0xffffffffd4326d90, rt 0x65c52d24
+subu $t0, $t1, $t2 :: rd 0x6fef3f94, rs 0xffffffffd0f37027, rt 0x61043093
+subu $t0, $t1, $t2 :: rd 0x716940b4, rs 0xffffffffddb056fe, rt 0x6c47164a
+subu $t0, $t1, $t2 :: rd 0x70eb3f4c, rs 0xffffffffd9714b49, rt 0x68860bfd
+subu $t0, $t1, $t2 :: rd 0x5074bf54, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+subu $t0, $t1, $t2 :: rd 0x51f6c0ac, rs 0xffffffffc3f706fb, rt 0x7200464f
+subu $t0, $t1, $t2 :: rd 0x4f70bf8c, rs 0xffffffffceb42022, rt 0x7f436096
+subu $t0, $t1, $t2 :: rd 0x4ef2c074, rs 0xffffffffca753d95, rt 0x7b827d21
+subu $t0, $t1, $t2 :: rd 0xffffffffae6cbf8c, rs 0xfffffffff23a8028, rt 0x43cdc09c
+subu $t0, $t1, $t2 :: rd 0xffffffffafeec074, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+subu $t0, $t1, $t2 :: rd 0xffffffffb168bf54, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+subu $t0, $t1, $t2 :: rd 0xffffffffb0eac0ac, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+subu $t0, $t1, $t2 :: rd 0xffffffff907540b4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+subu $t0, $t1, $t2 :: rd 0xffffffff91f73f4c, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+subu $t0, $t1, $t2 :: rd 0xffffffff8f71406c, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+subu $t0, $t1, $t2 :: rd 0xffffffff8ef33f94, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+subu $t0, $t1, $t2 :: rd 0xffffffffaf153fb4, rs 0x34867077, rt 0xffffffff857130c3
+subu $t0, $t1, $t2 :: rd 0xffffffffae97404c, rs 0x30476dc0, rt 0xffffffff81b02d74
+subu $t0, $t1, $t2 :: rd 0xffffffffb0113f6c, rs 0x3d044b19, rt 0xffffffff8cf30bad
+subu $t0, $t1, $t2 :: rd 0xffffffffb1934094, rs 0x39c556ae, rt 0xffffffff8832161a
+subu $t0, $t1, $t2 :: rd 0xffffffff910cc08c, rs 0x278206ab, rt 0xffffffff9675461f
+subu $t0, $t1, $t2 :: rd 0xffffffff908ebf74, rs 0x23431b1c, rt 0xffffffff92b45ba8
+subu $t0, $t1, $t2 :: rd 0xffffffff8e08c054, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+subu $t0, $t1, $t2 :: rd 0xffffffff8f8abfac, rs 0x2ac12072, rt 0xffffffff9b3660c6
+subu $t0, $t1, $t2 :: rd 0x6f14c054, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+subu $t0, $t1, $t2 :: rd 0x6e96bfac, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+subu $t0, $t1, $t2 :: rd 0x7010c08c, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+subu $t0, $t1, $t2 :: rd 0x7192bf74, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+subu $t0, $t1, $t2 :: rd 0x510d3f6c, rs 0x18aeb13, rt 0xffffffffb07daba7
+subu $t0, $t1, $t2 :: rd 0x508f4094, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+subu $t0, $t1, $t2 :: rd 0x4e093fb4, rs 0x808d07d, rt 0xffffffffb9ff90c9
+subu $t0, $t1, $t2 :: rd 0x4f8b404c, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+subu $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+subu $t0, $t1, $t2 :: rd 0xffffffffaeb4c0ac, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+subu $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+subu $t0, $t1, $t2 :: rd 0xffffffffb1b0c074, rs 0x75d48dde, rt 0xffffffffc423cd6a
+subu $t0, $t1, $t2 :: rd 0xffffffff912f406c, rs 0x6b93dddb, rt 0xffffffffda649d6f
+subu $t0, $t1, $t2 :: rd 0xffffffff90ad3f94, rs 0x6f52c06c, rt 0xffffffffdea580d8
+subu $t0, $t1, $t2 :: rd 0xffffffff8e2b40b4, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+subu $t0, $t1, $t2 :: rd 0xffffffff8fa93f4c, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+subu $t0, $t1, $t2 :: rd 0x6f3740b4, rs 0x5e9f46bf, rt 0xffffffffef68060b
+subu $t0, $t1, $t2 :: rd 0x6eb53f4c, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+subu $t0, $t1, $t2 :: rd 0x7033406c, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+subu $t0, $t1, $t2 :: rd 0x71b13f94, rs 0x53dc6066, rt 0xffffffffe22b20d2
+subu $t0, $t1, $t2 :: rd 0x512ebf8c, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+subu $t0, $t1, $t2 :: rd 0x50acc074, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+subu $t0, $t1, $t2 :: rd 0x4e2abf54, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+subu $t0, $t1, $t2 :: rd 0x4fa8c0ac, rs 0x40d816ba, rt 0xfffffffff12f560e
+subu $t0, $t1, $t2 :: rd 0xffffffff8f534074, rs 0xffffffffaca5c697, rt 0x1d528623
+subu $t0, $t1, $t2 :: rd 0xffffffff8ed13f8c, rs 0xffffffffa864db20, rt 0x19939b94
+subu $t0, $t1, $t2 :: rd 0xffffffff905740ac, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+subu $t0, $t1, $t2 :: rd 0xffffffff91d53f54, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+subu $t0, $t1, $t2 :: rd 0xffffffffb14abf4c, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+subu $t0, $t1, $t2 :: rd 0xffffffffb0c8c0b4, rs 0xffffffffbb60adfc, rt 0xa97ed48
+subu $t0, $t1, $t2 :: rd 0xffffffffae4ebf94, rs 0xffffffffb6238b25, rt 0x7d4cb91
+subu $t0, $t1, $t2 :: rd 0xffffffffafccc06c, rs 0xffffffffb2e29692, rt 0x315d626
+subu $t0, $t1, $t2 :: rd 0x4f52bf94, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+subu $t0, $t1, $t2 :: rd 0xffffffffc06489d4, rs 0x0, rt 0x3f9b762c
+subu $t0, $t1, $t2 :: rd 0xffffffffcd27af0b, rs 0x0, rt 0x32d850f5
+subu $t0, $t1, $t2 :: rd 0x51d4c0b4, rs 0xffffffff87ee0df6, rt 0x36194d42
+subu $t0, $t1, $t2 :: rd 0x714b40ac, rs 0xffffffff99a95df3, rt 0x285e1d47
+subu $t0, $t1, $t2 :: rd 0x70c93f54, rs 0xffffffff9d684044, rt 0x2c9f00f0
+subu $t0, $t1, $t2 :: rd 0x6e4f4074, rs 0xffffffff902b669d, rt 0x21dc2629
+subu $t0, $t1, $t2 :: rd 0x6fcd3f8c, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+subu $t0, $t1, $t2 :: rd 0xffffffff8f70c094, rs 0xffffffffe0b41de7, rt 0x51435d53
+subu $t0, $t1, $t2 :: rd 0xffffffff8ef2bf6c, rs 0xffffffffe4750050, rt 0x558240e4
+subu $t0, $t1, $t2 :: rd 0xffffffff9074c04c, rs 0xffffffffe9362689, rt 0x58c1663d
+subu $t0, $t1, $t2 :: rd 0xffffffff91f6bfb4, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+subu $t0, $t1, $t2 :: rd 0xffffffffb1693fac, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+subu $t0, $t1, $t2 :: rd 0xffffffffb0eb4054, rs 0xfffffffff771768c, rt 0x46863638
+subu $t0, $t1, $t2 :: rd 0xffffffffae6d3f74, rs 0xfffffffffa325055, rt 0x4bc510e1
+subu $t0, $t1, $t2 :: rd 0xffffffffafef408c, rs 0xfffffffffef34de2, rt 0x4f040d56
+subu $t0, $t1, $t2 :: rd 0x4f713f74, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+subu $t0, $t1, $t2 :: rd 0x4ef3408c, rs 0xffffffffc27dede8, rt 0x738aad5c
+subu $t0, $t1, $t2 :: rd 0x50753fac, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+subu $t0, $t1, $t2 :: rd 0x51f74054, rs 0xffffffffcbffd686, rt 0x7a089632
+subu $t0, $t1, $t2 :: rd 0x7168c04c, rs 0xffffffffd5b88683, rt 0x644fc637
+subu $t0, $t1, $t2 :: rd 0x70eabfb4, rs 0xffffffffd1799b34, rt 0x608edb80
+subu $t0, $t1, $t2 :: rd 0x6e6cc094, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+subu $t0, $t1, $t2 :: rd 0x6feebf6c, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+subu $t0, $t1, $t2 :: rd 0xffffffff90114094, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+subu $t0, $t1, $t2 :: rd 0xffffffff91933f6c, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+subu $t0, $t1, $t2 :: rd 0xffffffff8f15404c, rs 0x608edb80, rt 0xffffffffd1799b34
+subu $t0, $t1, $t2 :: rd 0xffffffff8e973fb4, rs 0x644fc637, rt 0xffffffffd5b88683
+subu $t0, $t1, $t2 :: rd 0xffffffffae08bfac, rs 0x7a089632, rt 0xffffffffcbffd686
+subu $t0, $t1, $t2 :: rd 0xffffffffaf8ac054, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+subu $t0, $t1, $t2 :: rd 0xffffffffb10cbf74, rs 0x738aad5c, rt 0xffffffffc27dede8
+subu $t0, $t1, $t2 :: rd 0xffffffffb08ec08c, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+subu $t0, $t1, $t2 :: rd 0x5010bf74, rs 0x4f040d56, rt 0xfffffffffef34de2
+subu $t0, $t1, $t2 :: rd 0x5192c08c, rs 0x4bc510e1, rt 0xfffffffffa325055
+subu $t0, $t1, $t2 :: rd 0x4f14bfac, rs 0x46863638, rt 0xfffffffff771768c
+subu $t0, $t1, $t2 :: rd 0x4e96c054, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+subu $t0, $t1, $t2 :: rd 0x6e09404c, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+subu $t0, $t1, $t2 :: rd 0x6f8b3fb4, rs 0x58c1663d, rt 0xffffffffe9362689
+subu $t0, $t1, $t2 :: rd 0x710d4094, rs 0x558240e4, rt 0xffffffffe4750050
+subu $t0, $t1, $t2 :: rd 0x708f3f6c, rs 0x51435d53, rt 0xffffffffe0b41de7
+subu $t0, $t1, $t2 :: rd 0xffffffff9032c074, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+subu $t0, $t1, $t2 :: rd 0xffffffff91b0bf8c, rs 0x21dc2629, rt 0xffffffff902b669d
+subu $t0, $t1, $t2 :: rd 0xffffffff8f36c0ac, rs 0x2c9f00f0, rt 0xffffffff9d684044
+subu $t0, $t1, $t2 :: rd 0xffffffff8eb4bf54, rs 0x285e1d47, rt 0xffffffff99a95df3
+subu $t0, $t1, $t2 :: rd 0xffffffffae2b3f4c, rs 0x36194d42, rt 0xffffffff87ee0df6
+subu $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+subu $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+subu $t0, $t1, $t2 :: rd 0xffffffffb0ad406c, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+subu $t0, $t1, $t2 :: rd 0x50333f94, rs 0x315d626, rt 0xffffffffb2e29692
+subu $t0, $t1, $t2 :: rd 0x51b1406c, rs 0x7d4cb91, rt 0xffffffffb6238b25
+subu $t0, $t1, $t2 :: rd 0x4f373f4c, rs 0xa97ed48, rt 0xffffffffbb60adfc
+subu $t0, $t1, $t2 :: rd 0x4eb540b4, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+subu $t0, $t1, $t2 :: rd 0x6e2ac0ac, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+subu $t0, $t1, $t2 :: rd 0x6fa8bf54, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+subu $t0, $t1, $t2 :: rd 0x712ec074, rs 0x19939b94, rt 0xffffffffa864db20
+subu $t0, $t1, $t2 :: rd 0x70acbf8c, rs 0x1d528623, rt 0xffffffffaca5c697
+subu $t0, $t1, $t2 :: rd 0xffffffffb0573f54, rs 0xfffffffff12f560e, rt 0x40d816ba
+subu $t0, $t1, $t2 :: rd 0xffffffffb1d540ac, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+subu $t0, $t1, $t2 :: rd 0xffffffffaf533f8c, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+subu $t0, $t1, $t2 :: rd 0xffffffffaed14074, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+subu $t0, $t1, $t2 :: rd 0xffffffff8e4ec06c, rs 0xffffffffe22b20d2, rt 0x53dc6066
+subu $t0, $t1, $t2 :: rd 0xffffffff8fccbf94, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+subu $t0, $t1, $t2 :: rd 0xffffffff914ac0b4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+subu $t0, $t1, $t2 :: rd 0xffffffff90c8bf4c, rs 0xffffffffef68060b, rt 0x5e9f46bf
+subu $t0, $t1, $t2 :: rd 0x7056c0b4, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+subu $t0, $t1, $t2 :: rd 0x71d4bf4c, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+subu $t0, $t1, $t2 :: rd 0x6f52c06c, rs 0xffffffffdea580d8, rt 0x6f52c06c
+subu $t0, $t1, $t2 :: rd 0x6ed0bf94, rs 0xffffffffda649d6f, rt 0x6b93dddb
+subu $t0, $t1, $t2 :: rd 0x4e4f3f8c, rs 0xffffffffc423cd6a, rt 0x75d48dde
+subu $t0, $t1, $t2 :: rd 0xffffffff8eea6f97, rs 0x0, rt 0x71159069
+subu $t0, $t1, $t2 :: rd 0x514b3f54, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+subu $t0, $t1, $t2 :: rd 0xffffffff876854f9, rs 0x0, rt 0x7897ab07
+subu $t0, $t1, $t2 :: rd 0xffffffffb074bfb4, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+subu $t0, $t1, $t2 :: rd 0xffffffffb1f6c04c, rs 0xffffffffb9ff90c9, rt 0x808d07d
+subu $t0, $t1, $t2 :: rd 0xffffffffaf70bf6c, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+subu $t0, $t1, $t2 :: rd 0xffffffffaef2c094, rs 0xffffffffb07daba7, rt 0x18aeb13
+subu $t0, $t1, $t2 :: rd 0xffffffff8e6d408c, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+subu $t0, $t1, $t2 :: rd 0xffffffff8fef3f74, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+subu $t0, $t1, $t2 :: rd 0xffffffff91694054, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+subu $t0, $t1, $t2 :: rd 0xffffffff90eb3fac, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+subu $t0, $t1, $t2 :: rd 0x70754054, rs 0xffffffff9b3660c6, rt 0x2ac12072
+subu $t0, $t1, $t2 :: rd 0x71f73fac, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+subu $t0, $t1, $t2 :: rd 0x6f71408c, rs 0xffffffff92b45ba8, rt 0x23431b1c
+subu $t0, $t1, $t2 :: rd 0x6ef33f74, rs 0xffffffff9675461f, rt 0x278206ab
+subu $t0, $t1, $t2 :: rd 0x4e6cbf6c, rs 0xffffffff8832161a, rt 0x39c556ae
+subu $t0, $t1, $t2 :: rd 0x4feec094, rs 0xffffffff8cf30bad, rt 0x3d044b19
+subu $t0, $t1, $t2 :: rd 0x5168bfb4, rs 0xffffffff81b02d74, rt 0x30476dc0
+subu $t0, $t1, $t2 :: rd 0x50eac04c, rs 0xffffffff857130c3, rt 0x34867077
+subu $t0, $t1, $t2 :: rd 0x710cc06c, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+subu $t0, $t1, $t2 :: rd 0x708ebf94, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+subu $t0, $t1, $t2 :: rd 0x6e08c0b4, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+subu $t0, $t1, $t2 :: rd 0x6f8abf4c, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+subu $t0, $t1, $t2 :: rd 0x4f153f54, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+subu $t0, $t1, $t2 :: rd 0x4e9740ac, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+subu $t0, $t1, $t2 :: rd 0x50113f8c, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+subu $t0, $t1, $t2 :: rd 0x51934074, rs 0x43cdc09c, rt 0xfffffffff23a8028
+subu $t0, $t1, $t2 :: rd 0xffffffffb10d3f8c, rs 0x7b827d21, rt 0xffffffffca753d95
+subu $t0, $t1, $t2 :: rd 0xffffffffb08f4074, rs 0x7f436096, rt 0xffffffffceb42022
+subu $t0, $t1, $t2 :: rd 0xffffffffae093f54, rs 0x7200464f, rt 0xffffffffc3f706fb
+subu $t0, $t1, $t2 :: rd 0xffffffffaf8b40ac, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+subu $t0, $t1, $t2 :: rd 0xffffffff8f14c0b4, rs 0x68860bfd, rt 0xffffffffd9714b49
+subu $t0, $t1, $t2 :: rd 0xffffffff8e96bf4c, rs 0x6c47164a, rt 0xffffffffddb056fe
+subu $t0, $t1, $t2 :: rd 0xffffffff9010c06c, rs 0x61043093, rt 0xffffffffd0f37027
+subu $t0, $t1, $t2 :: rd 0xffffffff9192bf94, rs 0x65c52d24, rt 0xffffffffd4326d90
+subu $t0, $t1, $t2 :: rd 0x712f408c, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+subu $t0, $t1, $t2 :: rd 0x70ad3f74, rs 0x155a565e, rt 0xffffffffa4ad16ea
+subu $t0, $t1, $t2 :: rd 0x6e2b4054, rs 0x18197087, rt 0xffffffffa9ee3033
+subu $t0, $t1, $t2 :: rd 0x6fa93fac, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+subu $t0, $t1, $t2 :: rd 0x4f36bfb4, rs 0x29f3d35, rt 0xffffffffb3687d81
+subu $t0, $t1, $t2 :: rd 0x4eb4c04c, rs 0x65e2082, rt 0xffffffffb7a96036
+subu $t0, $t1, $t2 :: rd 0x5032bf6c, rs 0xb1d065b, rt 0xffffffffbaea46ef
+subu $t0, $t1, $t2 :: rd 0x51b0c094, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+subu $t0, $t1, $t2 :: rd 0xffffffffb12ebf6c, rs 0x3793a651, rt 0xffffffff8664e6e5
+subu $t0, $t1, $t2 :: rd 0xffffffffb0acc094, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+subu $t0, $t1, $t2 :: rd 0xffffffffae2abfb4, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+subu $t0, $t1, $t2 :: rd 0xffffffffafa8c04c, rs 0x3ad08088, rt 0xffffffff8b27c03c
+subu $t0, $t1, $t2 :: rd 0xffffffff8f374054, rs 0x2497d08d, rt 0xffffffff95609039
+subu $t0, $t1, $t2 :: rd 0xffffffff8eb53fac, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+subu $t0, $t1, $t2 :: rd 0xffffffff9033408c, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+subu $t0, $t1, $t2 :: rd 0xffffffff91b13f74, rs 0x29d4f654, rt 0xffffffff9823b6e0
+subu $t0, $t1, $t2 :: rd 0x514abfac, rs 0xffffffffc5a92679, rt 0x745e66cd
+subu $t0, $t1, $t2 :: rd 0x50c8c054, rs 0xffffffffc1683bce, rt 0x709f7b7a
+subu $t0, $t1, $t2 :: rd 0x4e4ebf74, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+subu $t0, $t1, $t2 :: rd 0x4fccc08c, rs 0xffffffffc8ea00a0, rt 0x791d4014
+subu $t0, $t1, $t2 :: rd 0x6f534094, rs 0xffffffffd6ad50a5, rt 0x675a1011
+subu $t0, $t1, $t2 :: rd 0x6ed13f6c, rs 0xffffffffd26c4d12, rt 0x639b0da6
+subu $t0, $t1, $t2 :: rd 0x7057404c, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+subu $t0, $t1, $t2 :: rd 0x71d53fb4, rs 0xffffffffdbee767c, rt 0x6a1936c8
+subu $t0, $t1, $t2 :: rd 0xffffffff914b404c, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+subu $t0, $t1, $t2 :: rd 0xffffffff90c93fb4, rs 0xffffffffe760d676, rt 0x569796c2
+subu $t0, $t1, $t2 :: rd 0xffffffff8e4f4094, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+subu $t0, $t1, $t2 :: rd 0xffffffff8fcd3f6c, rs 0xffffffffeee2ed18, rt 0x5f15adac
+subu $t0, $t1, $t2 :: rd 0xffffffffaf52bf74, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+subu $t0, $t1, $t2 :: rd 0xffffffffaed0c08c, rs 0xfffffffff464a0aa, rt 0x4593e01e
+subu $t0, $t1, $t2 :: rd 0xffffffffb056bfac, rs 0xfffffffff9278673, rt 0x48d0c6c7
+subu $t0, $t1, $t2 :: rd 0xffffffffb1d4c054, rs 0xfffffffffde69bc4, rt 0x4c11db70
+subu $t0, $t1, $t2 :: rd 0x51693f4c, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+subu $t0, $t1, $t2 :: rd 0x50eb40b4, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+subu $t0, $t1, $t2 :: rd 0x4e6d3f94, rs 0xffffffff803ac667, rt 0x31cd86d3
+subu $t0, $t1, $t2 :: rd 0x4fef406c, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+subu $t0, $t1, $t2 :: rd 0x6f70c074, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+subu $t0, $t1, $t2 :: rd 0x6ef2bf8c, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+subu $t0, $t1, $t2 :: rd 0x7074c0ac, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+subu $t0, $t1, $t2 :: rd 0x71f6bf54, rs 0xffffffff97ffad0c, rt 0x2608edb8
+subu $t0, $t1, $t2 :: rd 0xffffffff9168c0ac, rs 0xffffffffafb010b1, rt 0x1e475005
+subu $t0, $t1, $t2 :: rd 0xffffffff90eabf54, rs 0xffffffffab710d06, rt 0x1a864db2
+subu $t0, $t1, $t2 :: rd 0xffffffff8e6cc074, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+subu $t0, $t1, $t2 :: rd 0xffffffff8feebf8c, rs 0xffffffffa2f33668, rt 0x130476dc
+subu $t0, $t1, $t2 :: rd 0xffffffffaf713f94, rs 0xffffffffbcb4666d, rt 0xd4326d9
+subu $t0, $t1, $t2 :: rd 0xffffffffaef3406c, rs 0xffffffffb8757bda, rt 0x9823b6e
+subu $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+subu $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
diff --git a/none/tests/mips64/arithmetic_instruction.vgtest b/none/tests/mips64/arithmetic_instruction.vgtest
new file mode 100644
index 0000000..50917e6
--- /dev/null
+++ b/none/tests/mips64/arithmetic_instruction.vgtest
@@ -0,0 +1,2 @@
+prog: arithmetic_instruction
+vgopts: -q
diff --git a/none/tests/mips64/branch_and_jump_instructions.c b/none/tests/mips64/branch_and_jump_instructions.c
new file mode 100644
index 0000000..f0e9790
--- /dev/null
+++ b/none/tests/mips64/branch_and_jump_instructions.c
@@ -0,0 +1,352 @@
+#include <stdio.h>
+#include "const.h"
+
+#define TEST1(RSval, RD)                   \
+{                                          \
+   unsigned long long out = 0;             \
+   __asm__ __volatile__(                   \
+      ".set  noreorder"          "\n\t"    \
+      "move  $"#RD", %1"         "\n\t"    \
+      "b end"#RD                 "\n\t"    \
+      "nop"                      "\n\t"    \
+      "daddi $"#RD", $"#RD", 5"  "\n\t"    \
+      "end"#RD":"                "\n\t"    \
+      "daddi $"#RD", $"#RD", 1"  "\n\t"    \
+      "move  %0,     $"#RD       "\n\t"    \
+      ".set  reorder"            "\n\t"    \
+      : "=r" (out)                         \
+      : "r" (RSval)                        \
+      : #RD                                \
+   );                                      \
+   printf("B :: 0x%llx, RSval: 0x%llx\n",  \
+          out, (long long) RSval);         \
+}
+
+#define TEST2(RSval, RD)                          \
+{                                                 \
+   unsigned long long out = 0;                    \
+   __asm__ __volatile__(                          \
+      ".set  noreorder"          "\n\t"           \
+      "move  $"#RD", %1"         "\n\t"           \
+      "bal   end1"#RD            "\n\t"           \
+      "nop"                      "\n\t"           \
+      "daddi $"#RD", $"#RD", 5"  "\n\t"           \
+      "b     r_end"#RD           "\n\t"           \
+      "nop"                      "\n\t"           \
+      "end1"#RD":"               "\n\t"           \
+      "daddi $"#RD", $"#RD", 1"  "\n\t"           \
+      "jr    $ra"                "\n\t"           \
+      "nop"                      "\n\t"           \
+      "r_end"#RD":"              "\n\t"           \
+      "move  %0,     $"#RD       "\n\t"           \
+      ".set  reorder"            "\n\t"           \
+      : "=r" (out)                                \
+      : "r" (RSval)                               \
+      : #RD, "ra"                                 \
+   );                                             \
+   printf("B BAL JR :: 0x%llx, RSval: 0x%llx\n",  \
+          out, (long long) RSval);                \
+}
+
+#define TEST2a(RSval, RD)                           \
+{                                                   \
+   unsigned long long out = 0;                      \
+   __asm__ __volatile__(                            \
+      ".set  noreorder"          "\n\t"             \
+      "move  $"#RD", %1"         "\n\t"             \
+      "bal   end12"#RD           "\n\t"             \
+      "nop"                      "\n\t"             \
+      "daddi $"#RD", $"#RD", 5"  "\n\t"             \
+      "move  $t9, $ra"           "\n\t"             \
+      "jr    $t9"                "\n\t"             \
+      "nop"                      "\n\t"             \
+      "daddi $"#RD", $"#RD", 1"  "\n\t"             \
+      "end12"#RD":"              "\n\t"             \
+      "daddi $"#RD", $"#RD", 1"  "\n\t"             \
+      "move  $t9, $ra"           "\n\t"             \
+      "jal   $t9"                "\n\t"             \
+      "nop"                      "\n\t"             \
+      "move  %0,     $"#RD       "\n\t"             \
+      ".set  reorder"            "\n\t"             \
+      : "=r" (out)                                  \
+      : "r" (RSval)                                 \
+      : #RD, "t9", "ra"                             \
+   );                                               \
+   printf("BAL JR JAL :: 0x%llx, RSval: 0x%llx\n",  \
+          out, (long long) RSval);                  \
+}
+
+#define TEST2b(RSval, RD)                           \
+{                                                   \
+   unsigned long long out = 0;                      \
+   __asm__ __volatile__(                            \
+      ".set  noreorder"          "\n\t"             \
+      "move  $"#RD", %1"         "\n\t"             \
+      "bal   end13"#RD           "\n\t"             \
+      "nop"                      "\n\t"             \
+      "daddi $"#RD", $"#RD", 5"  "\n\t"             \
+      "move  $t9,    $t0"        "\n\t"             \
+      "j     $t9"                "\n\t"             \
+      "nop"                      "\n\t"             \
+      "daddi $"#RD", $"#RD", 1"  "\n\t"             \
+      "end13"#RD":"              "\n\t"             \
+      "daddi $"#RD", $"#RD", 1"  "\n\t"             \
+      "move  $t9,    $ra"        "\n\t"             \
+      "jalr  $t0,    $t9"        "\n\t"             \
+      "nop"                      "\n\t"             \
+      "move  %0,     $"#RD       "\n\t"             \
+      ".set  reorder"            "\n\t"             \
+      : "=r" (out)                                  \
+      : "r" (RSval)                                 \
+      : #RD, "t0", "t9", "ra"                       \
+   );                                               \
+   printf("BAL JR JAL :: 0x%llx, RSval: 0x%llx\n",  \
+          out, (long long) RSval);                  \
+}
+
+#define TEST3(instruction, RDval, RSval, RTval, RD, RS, RT)              \
+{                                                                        \
+   unsigned long long out = 0;                                           \
+   __asm__ __volatile__(                                                 \
+      ".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"         \
+      "nop"                                               "\n\t"         \
+      "daddi       $"#RD", $"#RD", 5"                     "\n\t"         \
+      "end"instruction#RDval":"                           "\n\t"         \
+      "daddi       $"#RD", $"#RD", 1"                     "\n\t"         \
+      "move        %0,     $"#RD                          "\n\t"         \
+      ".set        reorder"                               "\n\t"         \
+      : "=r" (out)                                                       \
+      : "r" (RSval), "r" (RTval), "r" (RDval)                            \
+      : #RD, #RS, #RT                                                    \
+   );                                                                    \
+   printf(instruction" :: out: 0x%llx, RSval: 0x%llx, RTval: 0x%llx\n",  \
+          out, (long long) RSval, (long long) RTval);                    \
+}
+
+#define TEST4(instruction, RDval, RSval, RD, RS)          \
+{                                                         \
+   unsigned long long out = 0;                            \
+   __asm__ __volatile__(                                  \
+      ".set        noreorder"                     "\n\t"  \
+      "move        $"#RS", %1"                    "\n\t"  \
+      "move        $"#RD", %2"                    "\n\t"  \
+      instruction" $"#RS", end"instruction#RDval  "\n\t"  \
+      "nop"                                       "\n\t"  \
+      "daddi       $"#RD", $"#RD", 8"             "\n\t"  \
+      "end"instruction#RDval":"                   "\n\t"  \
+      "daddi       $"#RD", $"#RD", 1"             "\n\t"  \
+      "move        %0,     $"#RD                  "\n\t"  \
+      ".set        reorder"                       "\n\t"  \
+      : "=r" (out)                                        \
+      : "r" (RSval), "r" (RDval)                          \
+      : #RD, #RS                                          \
+   );                                                     \
+   printf(instruction" :: out: 0x%llx, RSval: 0x%llx\n",  \
+          out, (long long) RSval);                        \
+}
+
+#define TEST5(instruction, RDval, RSval, RD, RS)            \
+{                                                           \
+   unsigned long long out = 0;                              \
+   __asm__ __volatile__(                                    \
+      ".set        noreorder"                       "\n\t"  \
+      "move        $"#RD", %2"                      "\n\t"  \
+      "move        $"#RS", %1"                      "\n\t"  \
+      instruction" $"#RS", end21"instruction#RDval  "\n\t"  \
+      "nop"                                         "\n\t"  \
+      "daddi       $"#RD", $"#RD", 5"               "\n\t"  \
+      "b           r_end"instruction#RDval          "\n\t"  \
+      "nop"                                         "\n\t"  \
+      "end21"instruction#RDval":"                   "\n\t"  \
+      "daddi       $"#RD", $"#RD", 1"               "\n\t"  \
+      "jr          $ra"                             "\n\t"  \
+      "r_end"instruction#RDval":"                   "\n\t"  \
+      "move        %0,     $"#RD                    "\n\t"  \
+      ".set        reorder"                         "\n\t"  \
+      : "=r" (out)                                          \
+      : "r" (RSval), "r" (RDval)                            \
+      : #RD, #RS, "ra"                                      \
+   );                                                       \
+   printf(instruction" :: out: 0x%llx, RSval: 0x%llx\n",    \
+          out, (long long) RSval);                          \
+}
+
+int main()
+{
+   int i;
+   init_reg_val2();
+
+   printf("B \n");
+   for (i = 0; i < N; i++)
+      TEST1(reg_val1[i], t0);
+
+   printf("BAL \n");
+   for (i = 0; i < N; i++)
+      TEST2(reg_val1[i], t0);
+
+   printf("--- BEQ ---  if RSval == RTval then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TEST3("beq", 0,  0,          1,          2,  3,  4);
+   TEST3("beq", 1,  1,          1,          3,  4,  5);
+   TEST3("beq", 2,  0xffffffff, 0xffffffff, 4,  5,  6);
+   TEST3("beq", 3,  0xffffffff, 0xfffffffe, 5,  6,  7);
+   TEST3("beq", 4,  0xfffffffe, 0xffffffff, 6,  7,  8);
+   TEST3("beq", 5,  0xffffffff, 0xffffffff, 7,  8,  9);
+   TEST3("beq", 6,  0x5,        0x5,        8,  9,  10);
+   TEST3("beq", 7,  -3,         -4,         9,  10, 11);
+   TEST3("beq", 8,  125,        125,        10, 11, 12);
+   TEST3("beq", 9,  0x80000000, 0x80000000, 11, 12, 15);
+   TEST3("beq", 10, 0xffffffff, 0x80000000, 12, 13, 14);
+   TEST3("beq", 11, 0x256,      0x256,      13, 14, 15);
+   TEST3("beq", 12, 0x55,       0x55,       14, 15, 16);
+   TEST3("beq", 13, 0xfff,      0xdd,       15, 16, 17);
+   TEST3("beq", 14, -1,         0x5,        16, 17, 18);
+   TEST3("beq", 15, -1,         -1,         17, 18, 19);
+
+   printf("--- BGEZ ---  if RSval >= 0 then " \
+          "out = RDval + 1 else out = RDval + 9\n");
+   TEST4("bgez", 0,  0,          2,  3);
+   TEST4("bgez", 1,  1,          3,  4);
+   TEST4("bgez", 2,  0xffffffff, 4,  5);
+   TEST4("bgez", 3,  0xffffffff, 5,  6);
+   TEST4("bgez", 4,  0xfffffffe, 6,  7);
+   TEST4("bgez", 5,  0xffffffff, 7,  8);
+   TEST4("bgez", 6,  0x5,        8,  9);
+   TEST4("bgez", 7,  -3,         9,  10);
+   TEST4("bgez", 8,  125,        10, 11);
+   TEST4("bgez", 9,  0x80000000, 11, 12);
+   TEST4("bgez", 10, 0xffffffff, 12, 13);
+   TEST4("bgez", 11, 0x256,      13, 14);
+   TEST4("bgez", 12, 0x55,       14, 15);
+   TEST4("bgez", 13, 0xfff,      15, 16);
+   TEST4("bgez", 14, -1,         16, 17);
+   TEST4("bgez", 15, -1,         17, 18);
+
+   printf("--- BGEZAL ---  if RSval >= 0 then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TEST5("bgezal", 0,  0,          2,  3);
+   TEST5("bgezal", 1,  1,          3,  4);
+   TEST5("bgezal", 2,  0xffffffff, 4,  5);
+   TEST5("bgezal", 3,  0xffffffff, 5,  6);
+   TEST5("bgezal", 4,  0xfffffffe, 6,  7);
+   TEST5("bgezal", 5,  0xffffffff, 7,  8);
+   TEST5("bgezal", 6,  0x5,        8,  9);
+   TEST5("bgezal", 7,  -3,         9,  10);
+   TEST5("bgezal", 8,  125,        10, 11);
+   TEST5("bgezal", 9,  0x80000000, 11, 12);
+   TEST5("bgezal", 10, 0xffffffff, 12, 13);
+   TEST5("bgezal", 11, 0x256,      13, 14);
+   TEST5("bgezal", 12, 0x55,       14, 15);
+   TEST5("bgezal", 13, 0xfff,      15, 16);
+   TEST5("bgezal", 14, -1,         16, 17);
+   TEST5("bgezal", 15, -1,         17, 18);
+
+   printf("--- BGTZ ---  if RSval > 0 then " \
+          "out = RDval + 1 else out = RDval + 9\n");
+   TEST4("bgtz", 0,  0,          2,  3);
+   TEST4("bgtz", 1,  1,          3,  4);
+   TEST4("bgtz", 2,  0xffffffff, 4,  5);
+   TEST4("bgtz", 3,  0xffffffff, 5,  6);
+   TEST4("bgtz", 4,  0xfffffffe, 6,  7);
+   TEST4("bgtz", 5,  0xffffffff, 7,  8);
+   TEST4("bgtz", 6,  0x5,        8,  9);
+   TEST4("bgtz", 7,  -3,         9,  10);
+   TEST4("bgtz", 8,  125,        10, 11);
+   TEST4("bgtz", 9,  0x80000000, 11, 12);
+   TEST4("bgtz", 10, 0xffffffff, 12, 13);
+   TEST4("bgtz", 11, 0x256,      13, 14);
+   TEST4("bgtz", 12, 0x55,       14, 15);
+   TEST4("bgtz", 13, 0xfff,      15, 16);
+   TEST4("bgtz", 14, -1,         16, 17);
+   TEST4("bgtz", 15, -1,         17, 18);
+
+   printf("--- BLEZ ---  if RSval <= 0 then " \
+          "out = RDval + 1 else out = RDval + 9\n");
+   TEST4("blez", 0,  0,          2,  3);
+   TEST4("blez", 1,  1,          3,  4);
+   TEST4("blez", 2,  0xffffffff, 4,  5);
+   TEST4("blez", 3,  0xffffffff, 5,  6);
+   TEST4("blez", 4,  0xfffffffe, 6,  7);
+   TEST4("blez", 5,  0xffffffff, 7,  8);
+   TEST4("blez", 6,  0x5,        8,  9);
+   TEST4("blez", 7,  -3,         9,  10);
+   TEST4("blez", 8,  125,        10, 11);
+   TEST4("blez", 9,  0x80000000, 11, 12);
+   TEST4("blez", 10, 0xffffffff, 12, 13);
+   TEST4("blez", 11, 0x256,      13, 14);
+   TEST4("blez", 12, 0x55,       14, 15);
+   TEST4("blez", 13, 0xfff,      15, 16);
+   TEST4("blez", 14, -1,         16, 17);
+   TEST4("blez", 15, -1,         17, 18);
+
+   printf("--- BLTZ ---  if RSval < 0 then " \
+          "out = RDval + 1 else out = RDval + 9\n");
+   TEST4("bltz", 0,  0,          2,  3);
+   TEST4("bltz", 1,  1,          3,  4);
+   TEST4("bltz", 2,  0xffffffff, 4,  5);
+   TEST4("bltz", 3,  0xffffffff, 5,  6);
+   TEST4("bltz", 4,  0xfffffffe, 6,  7);
+   TEST4("bltz", 5,  0xffffffff, 7,  8);
+   TEST4("bltz", 6,  0x5,        8,  9);
+   TEST4("bltz", 7,  -3,         9,  10);
+   TEST4("bltz", 8,  125,        10, 11);
+   TEST4("bltz", 9,  0x80000000, 11, 12);
+   TEST4("bltz", 10, 0xffffffff, 12, 13);
+   TEST4("bltz", 11, 0x256,      13, 14);
+   TEST4("bltz", 12, 0x55,       14, 15);
+   TEST4("bltz", 13, 0xfff,      15, 16);
+   TEST4("bltz", 14, -1,         16, 17);
+   TEST4("bltz", 15, -1,         17, 18);
+
+   printf("--- BLTZAL ---  if RSval < 0 then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TEST5("bltzal", 0, 0,           2,  3);
+   TEST5("bltzal", 1, 1,           3,  4);
+   TEST5("bltzal", 2, 0xffffffff,  4,  5);
+   TEST5("bltzal", 3, 0xffffffff,  5,  6);
+   TEST5("bltzal", 4, 0xfffffffe,  6,  7);
+   TEST5("bltzal", 5, 0xffffffff,  7,  8);
+   TEST5("bltzal", 6, 0x5,         8,  9);
+   TEST5("bltzal", 7, -3,          9,  10);
+   TEST5("bltzal", 8, 125,         10, 11);
+   TEST5("bltzal", 9, 0x80000000,  11, 12);
+   TEST5("bltzal", 10, 0xffffffff, 12, 13);
+   TEST5("bltzal", 11, 0x256,      13, 14);
+   TEST5("bltzal", 12, 0x55,       14, 15);
+   TEST5("bltzal", 13, 0xfff,      15, 16);
+   TEST5("bltzal", 14, -1,         16, 17);
+   TEST5("bltzal", 15, -1,         17, 18);
+
+   printf("--- BNE ---  if RSval != RTval then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TEST3("bne", 0,  0,          1,          2,  3,  4);
+   TEST3("bne", 1,  1,          1,          3,  4,  5);
+   TEST3("bne", 2,  0xffffffff, 0xffffffff, 4,  5,  6);
+   TEST3("bne", 3,  0xffffffff, 0xfffffffe, 5,  6,  7);
+   TEST3("bne", 4,  0xfffffffe, 0xffffffff, 6,  7,  8);
+   TEST3("bne", 5,  0xffffffff, 0xffffffff, 7,  8,  9);
+   TEST3("bne", 6,  0x5,        0x5,        8,  9,  10);
+   TEST3("bne", 7,  -3,         -4,         9,  10, 11);
+   TEST3("bne", 8,  125,        125,        10, 11, 12);
+   TEST3("bne", 9,  0x80000000, 0x80000000, 11, 12, 15);
+   TEST3("bne", 10, 0xffffffff, 0x80000000, 12, 13, 14);
+   TEST3("bne", 11, 0x256,      0x256,      13, 14, 15);
+   TEST3("bne", 12, 0x55,       0x55,       14, 15, 16);
+   TEST3("bne", 13, 0xfff,      0xdd,       15, 16, 17);
+   TEST3("bne", 14, -1,         0x5,        16, 17, 18);
+   TEST3("bne", 15, -1,         -1,         17, 18, 19);
+
+   printf("JAL, JR \n");
+   for (i = 0; i < N; i++)
+      TEST2a(reg_val1[i], t0);
+
+   printf("J, JALR \n");
+   for (i = 0; i < N; i++)
+      TEST2b(reg_val1[i], t1);
+
+   return 0;
+}
diff --git a/none/tests/mips64/branch_and_jump_instructions.stderr.exp b/none/tests/mips64/branch_and_jump_instructions.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/branch_and_jump_instructions.stderr.exp
diff --git a/none/tests/mips64/branch_and_jump_instructions.stdout.exp b/none/tests/mips64/branch_and_jump_instructions.stdout.exp
new file mode 100644
index 0000000..5d03036
--- /dev/null
+++ b/none/tests/mips64/branch_and_jump_instructions.stdout.exp
@@ -0,0 +1,1164 @@
+B 
+B :: 0x1, RSval: 0x0
+B :: 0x1, RSval: 0x0
+B :: 0x9823b6f, RSval: 0x9823b6e
+B :: 0xd4326da, RSval: 0xd4326d9
+B :: 0x130476dd, RSval: 0x130476dc
+B :: 0x17c56b6c, RSval: 0x17c56b6b
+B :: 0x1a864db3, RSval: 0x1a864db2
+B :: 0x1e475006, RSval: 0x1e475005
+B :: 0x2608edb9, RSval: 0x2608edb8
+B :: 0x22c9f010, RSval: 0x22c9f00f
+B :: 0x2f8ad6d7, RSval: 0x2f8ad6d6
+B :: 0x2b4bcb62, RSval: 0x2b4bcb61
+B :: 0x350c9b65, RSval: 0x350c9b64
+B :: 0x31cd86d4, RSval: 0x31cd86d3
+B :: 0x3c8ea00b, RSval: 0x3c8ea00a
+B :: 0x384fbdbe, RSval: 0x384fbdbd
+B :: 0x4c11db71, RSval: 0x4c11db70
+B :: 0x48d0c6c8, RSval: 0x48d0c6c7
+B :: 0x4593e01f, RSval: 0x4593e01e
+B :: 0x4152fdaa, RSval: 0x4152fda9
+B :: 0x5f15adad, RSval: 0x5f15adac
+B :: 0x5bd4b01c, RSval: 0x5bd4b01b
+B :: 0x569796c3, RSval: 0x569796c2
+B :: 0x52568b76, RSval: 0x52568b75
+B :: 0x6a1936c9, RSval: 0x6a1936c8
+B :: 0x6ed82b80, RSval: 0x6ed82b7f
+B :: 0x639b0da7, RSval: 0x639b0da6
+B :: 0x675a1012, RSval: 0x675a1011
+B :: 0x791d4015, RSval: 0x791d4014
+B :: 0x7ddc5da4, RSval: 0x7ddc5da3
+B :: 0x709f7b7b, RSval: 0x709f7b7a
+B :: 0x745e66ce, RSval: 0x745e66cd
+B :: 0xffffffff9823b6e1, RSval: 0xffffffff9823b6e0
+B :: 0xffffffff9ce2ab58, RSval: 0xffffffff9ce2ab57
+B :: 0xffffffff91a18d8f, RSval: 0xffffffff91a18d8e
+B :: 0xffffffff9560903a, RSval: 0xffffffff95609039
+B :: 0xffffffff8b27c03d, RSval: 0xffffffff8b27c03c
+B :: 0xffffffff8fe6dd8c, RSval: 0xffffffff8fe6dd8b
+B :: 0xffffffff82a5fb53, RSval: 0xffffffff82a5fb52
+B :: 0xffffffff8664e6e6, RSval: 0xffffffff8664e6e5
+B :: 0xffffffffbe2b5b59, RSval: 0xffffffffbe2b5b58
+B :: 0xffffffffbaea46f0, RSval: 0xffffffffbaea46ef
+B :: 0xffffffffb7a96037, RSval: 0xffffffffb7a96036
+B :: 0xffffffffb3687d82, RSval: 0xffffffffb3687d81
+B :: 0xffffffffad2f2d85, RSval: 0xffffffffad2f2d84
+B :: 0xffffffffa9ee3034, RSval: 0xffffffffa9ee3033
+B :: 0xffffffffa4ad16eb, RSval: 0xffffffffa4ad16ea
+B :: 0xffffffffa06c0b5e, RSval: 0xffffffffa06c0b5d
+B :: 0xffffffffd4326d91, RSval: 0xffffffffd4326d90
+B :: 0xffffffffd0f37028, RSval: 0xffffffffd0f37027
+B :: 0xffffffffddb056ff, RSval: 0xffffffffddb056fe
+B :: 0xffffffffd9714b4a, RSval: 0xffffffffd9714b49
+B :: 0xffffffffc7361b4d, RSval: 0xffffffffc7361b4c
+B :: 0xffffffffc3f706fc, RSval: 0xffffffffc3f706fb
+B :: 0xffffffffceb42023, RSval: 0xffffffffceb42022
+B :: 0xffffffffca753d96, RSval: 0xffffffffca753d95
+B :: 0xfffffffff23a8029, RSval: 0xfffffffff23a8028
+B :: 0xfffffffff6fb9da0, RSval: 0xfffffffff6fb9d9f
+B :: 0xfffffffffbb8bb47, RSval: 0xfffffffffbb8bb46
+B :: 0xffffffffff79a6f2, RSval: 0xffffffffff79a6f1
+B :: 0xffffffffe13ef6f5, RSval: 0xffffffffe13ef6f4
+B :: 0xffffffffe5ffeb44, RSval: 0xffffffffe5ffeb43
+B :: 0xffffffffe8bccd9b, RSval: 0xffffffffe8bccd9a
+B :: 0xffffffffec7dd02e, RSval: 0xffffffffec7dd02d
+B :: 0x34867078, RSval: 0x34867077
+B :: 0x30476dc1, RSval: 0x30476dc0
+B :: 0x3d044b1a, RSval: 0x3d044b19
+B :: 0x39c556af, RSval: 0x39c556ae
+B :: 0x278206ac, RSval: 0x278206ab
+B :: 0x23431b1d, RSval: 0x23431b1c
+B :: 0x2e003dc6, RSval: 0x2e003dc5
+B :: 0x2ac12073, RSval: 0x2ac12072
+B :: 0x128e9dd0, RSval: 0x128e9dcf
+B :: 0x164f8079, RSval: 0x164f8078
+B :: 0x1b0ca6a2, RSval: 0x1b0ca6a1
+B :: 0x1fcdbb17, RSval: 0x1fcdbb16
+B :: 0x18aeb14, RSval: 0x18aeb13
+B :: 0x54bf6a5, RSval: 0x54bf6a4
+B :: 0x808d07e, RSval: 0x808d07d
+B :: 0xcc9cdcb, RSval: 0xcc9cdca
+B :: 0x7897ab08, RSval: 0x7897ab07
+B :: 0x7c56b6b1, RSval: 0x7c56b6b0
+B :: 0x7115906a, RSval: 0x71159069
+B :: 0x75d48ddf, RSval: 0x75d48dde
+B :: 0x6b93dddc, RSval: 0x6b93dddb
+B :: 0x6f52c06d, RSval: 0x6f52c06c
+B :: 0x6211e6b6, RSval: 0x6211e6b5
+B :: 0x66d0fb03, RSval: 0x66d0fb02
+B :: 0x5e9f46c0, RSval: 0x5e9f46bf
+B :: 0x5a5e5b09, RSval: 0x5a5e5b08
+B :: 0x571d7dd2, RSval: 0x571d7dd1
+B :: 0x53dc6067, RSval: 0x53dc6066
+B :: 0x4d9b3064, RSval: 0x4d9b3063
+B :: 0x495a2dd5, RSval: 0x495a2dd4
+B :: 0x44190b0e, RSval: 0x44190b0d
+B :: 0x40d816bb, RSval: 0x40d816ba
+B :: 0xffffffffaca5c698, RSval: 0xffffffffaca5c697
+B :: 0xffffffffa864db21, RSval: 0xffffffffa864db20
+B :: 0xffffffffa527fdfa, RSval: 0xffffffffa527fdf9
+B :: 0xffffffffa1e6e04f, RSval: 0xffffffffa1e6e04e
+B :: 0xffffffffbfa1b04c, RSval: 0xffffffffbfa1b04b
+B :: 0xffffffffbb60adfd, RSval: 0xffffffffbb60adfc
+B :: 0xffffffffb6238b26, RSval: 0xffffffffb6238b25
+B :: 0xffffffffb2e29693, RSval: 0xffffffffb2e29692
+B :: 0xffffffff8aad2b30, RSval: 0xffffffff8aad2b2f
+B :: 0x1, RSval: 0x0
+B :: 0x1, RSval: 0x0
+B :: 0xffffffff87ee0df7, RSval: 0xffffffff87ee0df6
+B :: 0xffffffff99a95df4, RSval: 0xffffffff99a95df3
+B :: 0xffffffff9d684045, RSval: 0xffffffff9d684044
+B :: 0xffffffff902b669e, RSval: 0xffffffff902b669d
+B :: 0xffffffff94ea7b2b, RSval: 0xffffffff94ea7b2a
+B :: 0xffffffffe0b41de8, RSval: 0xffffffffe0b41de7
+B :: 0xffffffffe4750051, RSval: 0xffffffffe4750050
+B :: 0xffffffffe936268a, RSval: 0xffffffffe9362689
+B :: 0xffffffffedf73b3f, RSval: 0xffffffffedf73b3e
+B :: 0xfffffffff3b06b3c, RSval: 0xfffffffff3b06b3b
+B :: 0xfffffffff771768d, RSval: 0xfffffffff771768c
+B :: 0xfffffffffa325056, RSval: 0xfffffffffa325055
+B :: 0xfffffffffef34de3, RSval: 0xfffffffffef34de2
+B :: 0xffffffffc6bcf060, RSval: 0xffffffffc6bcf05f
+B :: 0xffffffffc27dede9, RSval: 0xffffffffc27dede8
+B :: 0xffffffffcf3ecb32, RSval: 0xffffffffcf3ecb31
+B :: 0xffffffffcbffd687, RSval: 0xffffffffcbffd686
+B :: 0xffffffffd5b88684, RSval: 0xffffffffd5b88683
+B :: 0xffffffffd1799b35, RSval: 0xffffffffd1799b34
+B :: 0xffffffffdc3abdee, RSval: 0xffffffffdc3abded
+B :: 0xffffffffd8fba05b, RSval: 0xffffffffd8fba05a
+B :: 0x690ce0ef, RSval: 0x690ce0ee
+B :: 0x6dcdfd5a, RSval: 0x6dcdfd59
+B :: 0x608edb81, RSval: 0x608edb80
+B :: 0x644fc638, RSval: 0x644fc637
+B :: 0x7a089633, RSval: 0x7a089632
+B :: 0x7ec98b86, RSval: 0x7ec98b85
+B :: 0x738aad5d, RSval: 0x738aad5c
+B :: 0x774bb0ec, RSval: 0x774bb0eb
+B :: 0x4f040d57, RSval: 0x4f040d56
+B :: 0x4bc510e2, RSval: 0x4bc510e1
+B :: 0x46863639, RSval: 0x46863638
+B :: 0x42472b90, RSval: 0x42472b8f
+B :: 0x5c007b8b, RSval: 0x5c007b8a
+B :: 0x58c1663e, RSval: 0x58c1663d
+B :: 0x558240e5, RSval: 0x558240e4
+B :: 0x51435d54, RSval: 0x51435d53
+B :: 0x251d3b9f, RSval: 0x251d3b9e
+B :: 0x21dc262a, RSval: 0x21dc2629
+B :: 0x2c9f00f1, RSval: 0x2c9f00f0
+B :: 0x285e1d48, RSval: 0x285e1d47
+B :: 0x36194d43, RSval: 0x36194d42
+B :: 0x32d850f6, RSval: 0x32d850f5
+B :: 0x3f9b762d, RSval: 0x3f9b762c
+B :: 0x3b5a6b9c, RSval: 0x3b5a6b9b
+B :: 0x315d627, RSval: 0x315d626
+B :: 0x7d4cb92, RSval: 0x7d4cb91
+B :: 0xa97ed49, RSval: 0xa97ed48
+B :: 0xe56f100, RSval: 0xe56f0ff
+B :: 0x1011a0fb, RSval: 0x1011a0fa
+B :: 0x14d0bd4e, RSval: 0x14d0bd4d
+B :: 0x19939b95, RSval: 0x19939b94
+B :: 0x1d528624, RSval: 0x1d528623
+B :: 0xfffffffff12f560f, RSval: 0xfffffffff12f560e
+B :: 0xfffffffff5ee4bba, RSval: 0xfffffffff5ee4bb9
+B :: 0xfffffffff8ad6d61, RSval: 0xfffffffff8ad6d60
+B :: 0xfffffffffc6c70d8, RSval: 0xfffffffffc6c70d7
+B :: 0xffffffffe22b20d3, RSval: 0xffffffffe22b20d2
+B :: 0xffffffffe6ea3d66, RSval: 0xffffffffe6ea3d65
+B :: 0xffffffffeba91bbd, RSval: 0xffffffffeba91bbc
+B :: 0xffffffffef68060c, RSval: 0xffffffffef68060b
+B :: 0xffffffffd727bbb7, RSval: 0xffffffffd727bbb6
+B :: 0xffffffffd3e6a602, RSval: 0xffffffffd3e6a601
+B :: 0xffffffffdea580d9, RSval: 0xffffffffdea580d8
+B :: 0xffffffffda649d70, RSval: 0xffffffffda649d6f
+B :: 0xffffffffc423cd6b, RSval: 0xffffffffc423cd6a
+B :: 0x1, RSval: 0x0
+B :: 0xffffffffcda1f605, RSval: 0xffffffffcda1f604
+B :: 0x1, RSval: 0x0
+B :: 0xffffffffbd3e8d7f, RSval: 0xffffffffbd3e8d7e
+B :: 0xffffffffb9ff90ca, RSval: 0xffffffffb9ff90c9
+B :: 0xffffffffb4bcb611, RSval: 0xffffffffb4bcb610
+B :: 0xffffffffb07daba8, RSval: 0xffffffffb07daba7
+B :: 0xffffffffae3afba3, RSval: 0xffffffffae3afba2
+B :: 0xffffffffaafbe616, RSval: 0xffffffffaafbe615
+B :: 0xffffffffa7b8c0cd, RSval: 0xffffffffa7b8c0cc
+B :: 0xffffffffa379dd7c, RSval: 0xffffffffa379dd7b
+B :: 0xffffffff9b3660c7, RSval: 0xffffffff9b3660c6
+B :: 0xffffffff9ff77d72, RSval: 0xffffffff9ff77d71
+B :: 0xffffffff92b45ba9, RSval: 0xffffffff92b45ba8
+B :: 0xffffffff96754620, RSval: 0xffffffff9675461f
+B :: 0xffffffff8832161b, RSval: 0xffffffff8832161a
+B :: 0xffffffff8cf30bae, RSval: 0xffffffff8cf30bad
+B :: 0xffffffff81b02d75, RSval: 0xffffffff81b02d74
+B :: 0xffffffff857130c4, RSval: 0xffffffff857130c3
+B :: 0x5d8a909a, RSval: 0x5d8a9099
+B :: 0x594b8d2f, RSval: 0x594b8d2e
+B :: 0x5408abf8, RSval: 0x5408abf7
+B :: 0x50c9b641, RSval: 0x50c9b640
+B :: 0x4e8ee646, RSval: 0x4e8ee645
+B :: 0x4a4ffbf3, RSval: 0x4a4ffbf2
+B :: 0x470cdd2c, RSval: 0x470cdd2b
+B :: 0x43cdc09d, RSval: 0x43cdc09c
+B :: 0x7b827d22, RSval: 0x7b827d21
+B :: 0x7f436097, RSval: 0x7f436096
+B :: 0x72004650, RSval: 0x7200464f
+B :: 0x76c15bf9, RSval: 0x76c15bf8
+B :: 0x68860bfe, RSval: 0x68860bfd
+B :: 0x6c47164b, RSval: 0x6c47164a
+B :: 0x61043094, RSval: 0x61043093
+B :: 0x65c52d25, RSval: 0x65c52d24
+B :: 0x119b4bea, RSval: 0x119b4be9
+B :: 0x155a565f, RSval: 0x155a565e
+B :: 0x18197088, RSval: 0x18197087
+B :: 0x1cd86d31, RSval: 0x1cd86d30
+B :: 0x29f3d36, RSval: 0x29f3d35
+B :: 0x65e2083, RSval: 0x65e2082
+B :: 0xb1d065c, RSval: 0xb1d065b
+B :: 0xfdc1bed, RSval: 0xfdc1bec
+B :: 0x3793a652, RSval: 0x3793a651
+B :: 0x3352bbe7, RSval: 0x3352bbe6
+B :: 0x3e119d40, RSval: 0x3e119d3f
+B :: 0x3ad08089, RSval: 0x3ad08088
+B :: 0x2497d08e, RSval: 0x2497d08d
+B :: 0x2056cd3b, RSval: 0x2056cd3a
+B :: 0x2d15ebe4, RSval: 0x2d15ebe3
+B :: 0x29d4f655, RSval: 0x29d4f654
+B :: 0xffffffffc5a9267a, RSval: 0xffffffffc5a92679
+B :: 0xffffffffc1683bcf, RSval: 0xffffffffc1683bce
+B :: 0xffffffffcc2b1d18, RSval: 0xffffffffcc2b1d17
+B :: 0xffffffffc8ea00a1, RSval: 0xffffffffc8ea00a0
+B :: 0xffffffffd6ad50a6, RSval: 0xffffffffd6ad50a5
+B :: 0xffffffffd26c4d13, RSval: 0xffffffffd26c4d12
+B :: 0xffffffffdf2f6bcc, RSval: 0xffffffffdf2f6bcb
+B :: 0xffffffffdbee767d, RSval: 0xffffffffdbee767c
+B :: 0xffffffffe3a1cbc2, RSval: 0xffffffffe3a1cbc1
+B :: 0xffffffffe760d677, RSval: 0xffffffffe760d676
+B :: 0xffffffffea23f0b0, RSval: 0xffffffffea23f0af
+B :: 0xffffffffeee2ed19, RSval: 0xffffffffeee2ed18
+B :: 0xfffffffff0a5bd1e, RSval: 0xfffffffff0a5bd1d
+B :: 0xfffffffff464a0ab, RSval: 0xfffffffff464a0aa
+B :: 0xfffffffff9278674, RSval: 0xfffffffff9278673
+B :: 0xfffffffffde69bc5, RSval: 0xfffffffffde69bc4
+B :: 0xffffffff89b8fd0a, RSval: 0xffffffff89b8fd09
+B :: 0xffffffff8d79e0bf, RSval: 0xffffffff8d79e0be
+B :: 0xffffffff803ac668, RSval: 0xffffffff803ac667
+B :: 0xffffffff84fbdbd1, RSval: 0xffffffff84fbdbd0
+B :: 0xffffffff9abc8bd6, RSval: 0xffffffff9abc8bd5
+B :: 0xffffffff9e7d9663, RSval: 0xffffffff9e7d9662
+B :: 0xffffffff933eb0bc, RSval: 0xffffffff933eb0bb
+B :: 0xffffffff97ffad0d, RSval: 0xffffffff97ffad0c
+B :: 0xffffffffafb010b2, RSval: 0xffffffffafb010b1
+B :: 0xffffffffab710d07, RSval: 0xffffffffab710d06
+B :: 0xffffffffa6322be0, RSval: 0xffffffffa6322bdf
+B :: 0xffffffffa2f33669, RSval: 0xffffffffa2f33668
+B :: 0xffffffffbcb4666e, RSval: 0xffffffffbcb4666d
+B :: 0xffffffffb8757bdb, RSval: 0xffffffffb8757bda
+B :: 0xffffffffb5365d04, RSval: 0xffffffffb5365d03
+B :: 0xffffffffb1f740b5, RSval: 0xffffffffb1f740b4
+BAL 
+B BAL JR :: 0x6, RSval: 0x0
+B BAL JR :: 0x6, RSval: 0x0
+B BAL JR :: 0x9823b74, RSval: 0x9823b6e
+B BAL JR :: 0xd4326df, RSval: 0xd4326d9
+B BAL JR :: 0x130476e2, RSval: 0x130476dc
+B BAL JR :: 0x17c56b71, RSval: 0x17c56b6b
+B BAL JR :: 0x1a864db8, RSval: 0x1a864db2
+B BAL JR :: 0x1e47500b, RSval: 0x1e475005
+B BAL JR :: 0x2608edbe, RSval: 0x2608edb8
+B BAL JR :: 0x22c9f015, RSval: 0x22c9f00f
+B BAL JR :: 0x2f8ad6dc, RSval: 0x2f8ad6d6
+B BAL JR :: 0x2b4bcb67, RSval: 0x2b4bcb61
+B BAL JR :: 0x350c9b6a, RSval: 0x350c9b64
+B BAL JR :: 0x31cd86d9, RSval: 0x31cd86d3
+B BAL JR :: 0x3c8ea010, RSval: 0x3c8ea00a
+B BAL JR :: 0x384fbdc3, RSval: 0x384fbdbd
+B BAL JR :: 0x4c11db76, RSval: 0x4c11db70
+B BAL JR :: 0x48d0c6cd, RSval: 0x48d0c6c7
+B BAL JR :: 0x4593e024, RSval: 0x4593e01e
+B BAL JR :: 0x4152fdaf, RSval: 0x4152fda9
+B BAL JR :: 0x5f15adb2, RSval: 0x5f15adac
+B BAL JR :: 0x5bd4b021, RSval: 0x5bd4b01b
+B BAL JR :: 0x569796c8, RSval: 0x569796c2
+B BAL JR :: 0x52568b7b, RSval: 0x52568b75
+B BAL JR :: 0x6a1936ce, RSval: 0x6a1936c8
+B BAL JR :: 0x6ed82b85, RSval: 0x6ed82b7f
+B BAL JR :: 0x639b0dac, RSval: 0x639b0da6
+B BAL JR :: 0x675a1017, RSval: 0x675a1011
+B BAL JR :: 0x791d401a, RSval: 0x791d4014
+B BAL JR :: 0x7ddc5da9, RSval: 0x7ddc5da3
+B BAL JR :: 0x709f7b80, RSval: 0x709f7b7a
+B BAL JR :: 0x745e66d3, RSval: 0x745e66cd
+B BAL JR :: 0xffffffff9823b6e6, RSval: 0xffffffff9823b6e0
+B BAL JR :: 0xffffffff9ce2ab5d, RSval: 0xffffffff9ce2ab57
+B BAL JR :: 0xffffffff91a18d94, RSval: 0xffffffff91a18d8e
+B BAL JR :: 0xffffffff9560903f, RSval: 0xffffffff95609039
+B BAL JR :: 0xffffffff8b27c042, RSval: 0xffffffff8b27c03c
+B BAL JR :: 0xffffffff8fe6dd91, RSval: 0xffffffff8fe6dd8b
+B BAL JR :: 0xffffffff82a5fb58, RSval: 0xffffffff82a5fb52
+B BAL JR :: 0xffffffff8664e6eb, RSval: 0xffffffff8664e6e5
+B BAL JR :: 0xffffffffbe2b5b5e, RSval: 0xffffffffbe2b5b58
+B BAL JR :: 0xffffffffbaea46f5, RSval: 0xffffffffbaea46ef
+B BAL JR :: 0xffffffffb7a9603c, RSval: 0xffffffffb7a96036
+B BAL JR :: 0xffffffffb3687d87, RSval: 0xffffffffb3687d81
+B BAL JR :: 0xffffffffad2f2d8a, RSval: 0xffffffffad2f2d84
+B BAL JR :: 0xffffffffa9ee3039, RSval: 0xffffffffa9ee3033
+B BAL JR :: 0xffffffffa4ad16f0, RSval: 0xffffffffa4ad16ea
+B BAL JR :: 0xffffffffa06c0b63, RSval: 0xffffffffa06c0b5d
+B BAL JR :: 0xffffffffd4326d96, RSval: 0xffffffffd4326d90
+B BAL JR :: 0xffffffffd0f3702d, RSval: 0xffffffffd0f37027
+B BAL JR :: 0xffffffffddb05704, RSval: 0xffffffffddb056fe
+B BAL JR :: 0xffffffffd9714b4f, RSval: 0xffffffffd9714b49
+B BAL JR :: 0xffffffffc7361b52, RSval: 0xffffffffc7361b4c
+B BAL JR :: 0xffffffffc3f70701, RSval: 0xffffffffc3f706fb
+B BAL JR :: 0xffffffffceb42028, RSval: 0xffffffffceb42022
+B BAL JR :: 0xffffffffca753d9b, RSval: 0xffffffffca753d95
+B BAL JR :: 0xfffffffff23a802e, RSval: 0xfffffffff23a8028
+B BAL JR :: 0xfffffffff6fb9da5, RSval: 0xfffffffff6fb9d9f
+B BAL JR :: 0xfffffffffbb8bb4c, RSval: 0xfffffffffbb8bb46
+B BAL JR :: 0xffffffffff79a6f7, RSval: 0xffffffffff79a6f1
+B BAL JR :: 0xffffffffe13ef6fa, RSval: 0xffffffffe13ef6f4
+B BAL JR :: 0xffffffffe5ffeb49, RSval: 0xffffffffe5ffeb43
+B BAL JR :: 0xffffffffe8bccda0, RSval: 0xffffffffe8bccd9a
+B BAL JR :: 0xffffffffec7dd033, RSval: 0xffffffffec7dd02d
+B BAL JR :: 0x3486707d, RSval: 0x34867077
+B BAL JR :: 0x30476dc6, RSval: 0x30476dc0
+B BAL JR :: 0x3d044b1f, RSval: 0x3d044b19
+B BAL JR :: 0x39c556b4, RSval: 0x39c556ae
+B BAL JR :: 0x278206b1, RSval: 0x278206ab
+B BAL JR :: 0x23431b22, RSval: 0x23431b1c
+B BAL JR :: 0x2e003dcb, RSval: 0x2e003dc5
+B BAL JR :: 0x2ac12078, RSval: 0x2ac12072
+B BAL JR :: 0x128e9dd5, RSval: 0x128e9dcf
+B BAL JR :: 0x164f807e, RSval: 0x164f8078
+B BAL JR :: 0x1b0ca6a7, RSval: 0x1b0ca6a1
+B BAL JR :: 0x1fcdbb1c, RSval: 0x1fcdbb16
+B BAL JR :: 0x18aeb19, RSval: 0x18aeb13
+B BAL JR :: 0x54bf6aa, RSval: 0x54bf6a4
+B BAL JR :: 0x808d083, RSval: 0x808d07d
+B BAL JR :: 0xcc9cdd0, RSval: 0xcc9cdca
+B BAL JR :: 0x7897ab0d, RSval: 0x7897ab07
+B BAL JR :: 0x7c56b6b6, RSval: 0x7c56b6b0
+B BAL JR :: 0x7115906f, RSval: 0x71159069
+B BAL JR :: 0x75d48de4, RSval: 0x75d48dde
+B BAL JR :: 0x6b93dde1, RSval: 0x6b93dddb
+B BAL JR :: 0x6f52c072, RSval: 0x6f52c06c
+B BAL JR :: 0x6211e6bb, RSval: 0x6211e6b5
+B BAL JR :: 0x66d0fb08, RSval: 0x66d0fb02
+B BAL JR :: 0x5e9f46c5, RSval: 0x5e9f46bf
+B BAL JR :: 0x5a5e5b0e, RSval: 0x5a5e5b08
+B BAL JR :: 0x571d7dd7, RSval: 0x571d7dd1
+B BAL JR :: 0x53dc606c, RSval: 0x53dc6066
+B BAL JR :: 0x4d9b3069, RSval: 0x4d9b3063
+B BAL JR :: 0x495a2dda, RSval: 0x495a2dd4
+B BAL JR :: 0x44190b13, RSval: 0x44190b0d
+B BAL JR :: 0x40d816c0, RSval: 0x40d816ba
+B BAL JR :: 0xffffffffaca5c69d, RSval: 0xffffffffaca5c697
+B BAL JR :: 0xffffffffa864db26, RSval: 0xffffffffa864db20
+B BAL JR :: 0xffffffffa527fdff, RSval: 0xffffffffa527fdf9
+B BAL JR :: 0xffffffffa1e6e054, RSval: 0xffffffffa1e6e04e
+B BAL JR :: 0xffffffffbfa1b051, RSval: 0xffffffffbfa1b04b
+B BAL JR :: 0xffffffffbb60ae02, RSval: 0xffffffffbb60adfc
+B BAL JR :: 0xffffffffb6238b2b, RSval: 0xffffffffb6238b25
+B BAL JR :: 0xffffffffb2e29698, RSval: 0xffffffffb2e29692
+B BAL JR :: 0xffffffff8aad2b35, RSval: 0xffffffff8aad2b2f
+B BAL JR :: 0x6, RSval: 0x0
+B BAL JR :: 0x6, RSval: 0x0
+B BAL JR :: 0xffffffff87ee0dfc, RSval: 0xffffffff87ee0df6
+B BAL JR :: 0xffffffff99a95df9, RSval: 0xffffffff99a95df3
+B BAL JR :: 0xffffffff9d68404a, RSval: 0xffffffff9d684044
+B BAL JR :: 0xffffffff902b66a3, RSval: 0xffffffff902b669d
+B BAL JR :: 0xffffffff94ea7b30, RSval: 0xffffffff94ea7b2a
+B BAL JR :: 0xffffffffe0b41ded, RSval: 0xffffffffe0b41de7
+B BAL JR :: 0xffffffffe4750056, RSval: 0xffffffffe4750050
+B BAL JR :: 0xffffffffe936268f, RSval: 0xffffffffe9362689
+B BAL JR :: 0xffffffffedf73b44, RSval: 0xffffffffedf73b3e
+B BAL JR :: 0xfffffffff3b06b41, RSval: 0xfffffffff3b06b3b
+B BAL JR :: 0xfffffffff7717692, RSval: 0xfffffffff771768c
+B BAL JR :: 0xfffffffffa32505b, RSval: 0xfffffffffa325055
+B BAL JR :: 0xfffffffffef34de8, RSval: 0xfffffffffef34de2
+B BAL JR :: 0xffffffffc6bcf065, RSval: 0xffffffffc6bcf05f
+B BAL JR :: 0xffffffffc27dedee, RSval: 0xffffffffc27dede8
+B BAL JR :: 0xffffffffcf3ecb37, RSval: 0xffffffffcf3ecb31
+B BAL JR :: 0xffffffffcbffd68c, RSval: 0xffffffffcbffd686
+B BAL JR :: 0xffffffffd5b88689, RSval: 0xffffffffd5b88683
+B BAL JR :: 0xffffffffd1799b3a, RSval: 0xffffffffd1799b34
+B BAL JR :: 0xffffffffdc3abdf3, RSval: 0xffffffffdc3abded
+B BAL JR :: 0xffffffffd8fba060, RSval: 0xffffffffd8fba05a
+B BAL JR :: 0x690ce0f4, RSval: 0x690ce0ee
+B BAL JR :: 0x6dcdfd5f, RSval: 0x6dcdfd59
+B BAL JR :: 0x608edb86, RSval: 0x608edb80
+B BAL JR :: 0x644fc63d, RSval: 0x644fc637
+B BAL JR :: 0x7a089638, RSval: 0x7a089632
+B BAL JR :: 0x7ec98b8b, RSval: 0x7ec98b85
+B BAL JR :: 0x738aad62, RSval: 0x738aad5c
+B BAL JR :: 0x774bb0f1, RSval: 0x774bb0eb
+B BAL JR :: 0x4f040d5c, RSval: 0x4f040d56
+B BAL JR :: 0x4bc510e7, RSval: 0x4bc510e1
+B BAL JR :: 0x4686363e, RSval: 0x46863638
+B BAL JR :: 0x42472b95, RSval: 0x42472b8f
+B BAL JR :: 0x5c007b90, RSval: 0x5c007b8a
+B BAL JR :: 0x58c16643, RSval: 0x58c1663d
+B BAL JR :: 0x558240ea, RSval: 0x558240e4
+B BAL JR :: 0x51435d59, RSval: 0x51435d53
+B BAL JR :: 0x251d3ba4, RSval: 0x251d3b9e
+B BAL JR :: 0x21dc262f, RSval: 0x21dc2629
+B BAL JR :: 0x2c9f00f6, RSval: 0x2c9f00f0
+B BAL JR :: 0x285e1d4d, RSval: 0x285e1d47
+B BAL JR :: 0x36194d48, RSval: 0x36194d42
+B BAL JR :: 0x32d850fb, RSval: 0x32d850f5
+B BAL JR :: 0x3f9b7632, RSval: 0x3f9b762c
+B BAL JR :: 0x3b5a6ba1, RSval: 0x3b5a6b9b
+B BAL JR :: 0x315d62c, RSval: 0x315d626
+B BAL JR :: 0x7d4cb97, RSval: 0x7d4cb91
+B BAL JR :: 0xa97ed4e, RSval: 0xa97ed48
+B BAL JR :: 0xe56f105, RSval: 0xe56f0ff
+B BAL JR :: 0x1011a100, RSval: 0x1011a0fa
+B BAL JR :: 0x14d0bd53, RSval: 0x14d0bd4d
+B BAL JR :: 0x19939b9a, RSval: 0x19939b94
+B BAL JR :: 0x1d528629, RSval: 0x1d528623
+B BAL JR :: 0xfffffffff12f5614, RSval: 0xfffffffff12f560e
+B BAL JR :: 0xfffffffff5ee4bbf, RSval: 0xfffffffff5ee4bb9
+B BAL JR :: 0xfffffffff8ad6d66, RSval: 0xfffffffff8ad6d60
+B BAL JR :: 0xfffffffffc6c70dd, RSval: 0xfffffffffc6c70d7
+B BAL JR :: 0xffffffffe22b20d8, RSval: 0xffffffffe22b20d2
+B BAL JR :: 0xffffffffe6ea3d6b, RSval: 0xffffffffe6ea3d65
+B BAL JR :: 0xffffffffeba91bc2, RSval: 0xffffffffeba91bbc
+B BAL JR :: 0xffffffffef680611, RSval: 0xffffffffef68060b
+B BAL JR :: 0xffffffffd727bbbc, RSval: 0xffffffffd727bbb6
+B BAL JR :: 0xffffffffd3e6a607, RSval: 0xffffffffd3e6a601
+B BAL JR :: 0xffffffffdea580de, RSval: 0xffffffffdea580d8
+B BAL JR :: 0xffffffffda649d75, RSval: 0xffffffffda649d6f
+B BAL JR :: 0xffffffffc423cd70, RSval: 0xffffffffc423cd6a
+B BAL JR :: 0x6, RSval: 0x0
+B BAL JR :: 0xffffffffcda1f60a, RSval: 0xffffffffcda1f604
+B BAL JR :: 0x6, RSval: 0x0
+B BAL JR :: 0xffffffffbd3e8d84, RSval: 0xffffffffbd3e8d7e
+B BAL JR :: 0xffffffffb9ff90cf, RSval: 0xffffffffb9ff90c9
+B BAL JR :: 0xffffffffb4bcb616, RSval: 0xffffffffb4bcb610
+B BAL JR :: 0xffffffffb07dabad, RSval: 0xffffffffb07daba7
+B BAL JR :: 0xffffffffae3afba8, RSval: 0xffffffffae3afba2
+B BAL JR :: 0xffffffffaafbe61b, RSval: 0xffffffffaafbe615
+B BAL JR :: 0xffffffffa7b8c0d2, RSval: 0xffffffffa7b8c0cc
+B BAL JR :: 0xffffffffa379dd81, RSval: 0xffffffffa379dd7b
+B BAL JR :: 0xffffffff9b3660cc, RSval: 0xffffffff9b3660c6
+B BAL JR :: 0xffffffff9ff77d77, RSval: 0xffffffff9ff77d71
+B BAL JR :: 0xffffffff92b45bae, RSval: 0xffffffff92b45ba8
+B BAL JR :: 0xffffffff96754625, RSval: 0xffffffff9675461f
+B BAL JR :: 0xffffffff88321620, RSval: 0xffffffff8832161a
+B BAL JR :: 0xffffffff8cf30bb3, RSval: 0xffffffff8cf30bad
+B BAL JR :: 0xffffffff81b02d7a, RSval: 0xffffffff81b02d74
+B BAL JR :: 0xffffffff857130c9, RSval: 0xffffffff857130c3
+B BAL JR :: 0x5d8a909f, RSval: 0x5d8a9099
+B BAL JR :: 0x594b8d34, RSval: 0x594b8d2e
+B BAL JR :: 0x5408abfd, RSval: 0x5408abf7
+B BAL JR :: 0x50c9b646, RSval: 0x50c9b640
+B BAL JR :: 0x4e8ee64b, RSval: 0x4e8ee645
+B BAL JR :: 0x4a4ffbf8, RSval: 0x4a4ffbf2
+B BAL JR :: 0x470cdd31, RSval: 0x470cdd2b
+B BAL JR :: 0x43cdc0a2, RSval: 0x43cdc09c
+B BAL JR :: 0x7b827d27, RSval: 0x7b827d21
+B BAL JR :: 0x7f43609c, RSval: 0x7f436096
+B BAL JR :: 0x72004655, RSval: 0x7200464f
+B BAL JR :: 0x76c15bfe, RSval: 0x76c15bf8
+B BAL JR :: 0x68860c03, RSval: 0x68860bfd
+B BAL JR :: 0x6c471650, RSval: 0x6c47164a
+B BAL JR :: 0x61043099, RSval: 0x61043093
+B BAL JR :: 0x65c52d2a, RSval: 0x65c52d24
+B BAL JR :: 0x119b4bef, RSval: 0x119b4be9
+B BAL JR :: 0x155a5664, RSval: 0x155a565e
+B BAL JR :: 0x1819708d, RSval: 0x18197087
+B BAL JR :: 0x1cd86d36, RSval: 0x1cd86d30
+B BAL JR :: 0x29f3d3b, RSval: 0x29f3d35
+B BAL JR :: 0x65e2088, RSval: 0x65e2082
+B BAL JR :: 0xb1d0661, RSval: 0xb1d065b
+B BAL JR :: 0xfdc1bf2, RSval: 0xfdc1bec
+B BAL JR :: 0x3793a657, RSval: 0x3793a651
+B BAL JR :: 0x3352bbec, RSval: 0x3352bbe6
+B BAL JR :: 0x3e119d45, RSval: 0x3e119d3f
+B BAL JR :: 0x3ad0808e, RSval: 0x3ad08088
+B BAL JR :: 0x2497d093, RSval: 0x2497d08d
+B BAL JR :: 0x2056cd40, RSval: 0x2056cd3a
+B BAL JR :: 0x2d15ebe9, RSval: 0x2d15ebe3
+B BAL JR :: 0x29d4f65a, RSval: 0x29d4f654
+B BAL JR :: 0xffffffffc5a9267f, RSval: 0xffffffffc5a92679
+B BAL JR :: 0xffffffffc1683bd4, RSval: 0xffffffffc1683bce
+B BAL JR :: 0xffffffffcc2b1d1d, RSval: 0xffffffffcc2b1d17
+B BAL JR :: 0xffffffffc8ea00a6, RSval: 0xffffffffc8ea00a0
+B BAL JR :: 0xffffffffd6ad50ab, RSval: 0xffffffffd6ad50a5
+B BAL JR :: 0xffffffffd26c4d18, RSval: 0xffffffffd26c4d12
+B BAL JR :: 0xffffffffdf2f6bd1, RSval: 0xffffffffdf2f6bcb
+B BAL JR :: 0xffffffffdbee7682, RSval: 0xffffffffdbee767c
+B BAL JR :: 0xffffffffe3a1cbc7, RSval: 0xffffffffe3a1cbc1
+B BAL JR :: 0xffffffffe760d67c, RSval: 0xffffffffe760d676
+B BAL JR :: 0xffffffffea23f0b5, RSval: 0xffffffffea23f0af
+B BAL JR :: 0xffffffffeee2ed1e, RSval: 0xffffffffeee2ed18
+B BAL JR :: 0xfffffffff0a5bd23, RSval: 0xfffffffff0a5bd1d
+B BAL JR :: 0xfffffffff464a0b0, RSval: 0xfffffffff464a0aa
+B BAL JR :: 0xfffffffff9278679, RSval: 0xfffffffff9278673
+B BAL JR :: 0xfffffffffde69bca, RSval: 0xfffffffffde69bc4
+B BAL JR :: 0xffffffff89b8fd0f, RSval: 0xffffffff89b8fd09
+B BAL JR :: 0xffffffff8d79e0c4, RSval: 0xffffffff8d79e0be
+B BAL JR :: 0xffffffff803ac66d, RSval: 0xffffffff803ac667
+B BAL JR :: 0xffffffff84fbdbd6, RSval: 0xffffffff84fbdbd0
+B BAL JR :: 0xffffffff9abc8bdb, RSval: 0xffffffff9abc8bd5
+B BAL JR :: 0xffffffff9e7d9668, RSval: 0xffffffff9e7d9662
+B BAL JR :: 0xffffffff933eb0c1, RSval: 0xffffffff933eb0bb
+B BAL JR :: 0xffffffff97ffad12, RSval: 0xffffffff97ffad0c
+B BAL JR :: 0xffffffffafb010b7, RSval: 0xffffffffafb010b1
+B BAL JR :: 0xffffffffab710d0c, RSval: 0xffffffffab710d06
+B BAL JR :: 0xffffffffa6322be5, RSval: 0xffffffffa6322bdf
+B BAL JR :: 0xffffffffa2f3366e, RSval: 0xffffffffa2f33668
+B BAL JR :: 0xffffffffbcb46673, RSval: 0xffffffffbcb4666d
+B BAL JR :: 0xffffffffb8757be0, RSval: 0xffffffffb8757bda
+B BAL JR :: 0xffffffffb5365d09, RSval: 0xffffffffb5365d03
+B BAL JR :: 0xffffffffb1f740ba, RSval: 0xffffffffb1f740b4
+--- BEQ ---  if RSval == RTval then out = RDval + 1 else out = RDval + 6
+beq :: out: 0x6, RSval: 0x0, RTval: 0x1
+beq :: out: 0x2, RSval: 0x1, RTval: 0x1
+beq :: out: 0x3, RSval: 0xffffffff, RTval: 0xffffffff
+beq :: out: 0x9, RSval: 0xffffffff, RTval: 0xfffffffe
+beq :: out: 0xa, RSval: 0xfffffffe, RTval: 0xffffffff
+beq :: out: 0x6, RSval: 0xffffffff, RTval: 0xffffffff
+beq :: out: 0x7, RSval: 0x5, RTval: 0x5
+beq :: out: 0xd, RSval: 0xfffffffffffffffd, RTval: 0xfffffffffffffffc
+beq :: out: 0x9, RSval: 0x7d, RTval: 0x7d
+beq :: out: 0xa, RSval: 0x80000000, RTval: 0x80000000
+beq :: out: 0x10, RSval: 0xffffffff, RTval: 0x80000000
+beq :: out: 0xc, RSval: 0x256, RTval: 0x256
+beq :: out: 0xd, RSval: 0x55, RTval: 0x55
+beq :: out: 0x13, RSval: 0xfff, RTval: 0xdd
+beq :: out: 0x14, RSval: 0xffffffffffffffff, RTval: 0x5
+beq :: out: 0x10, RSval: 0xffffffffffffffff, RTval: 0xffffffffffffffff
+--- BGEZ ---  if RSval >= 0 then out = RDval + 1 else out = RDval + 9
+bgez :: out: 0x1, RSval: 0x0
+bgez :: out: 0x2, RSval: 0x1
+bgez :: out: 0xb, RSval: 0xffffffff
+bgez :: out: 0xc, RSval: 0xffffffff
+bgez :: out: 0xd, RSval: 0xfffffffe
+bgez :: out: 0xe, RSval: 0xffffffff
+bgez :: out: 0x7, RSval: 0x5
+bgez :: out: 0x10, RSval: 0xfffffffffffffffd
+bgez :: out: 0x9, RSval: 0x7d
+bgez :: out: 0x12, RSval: 0x80000000
+bgez :: out: 0x13, RSval: 0xffffffff
+bgez :: out: 0xc, RSval: 0x256
+bgez :: out: 0xd, RSval: 0x55
+bgez :: out: 0xe, RSval: 0xfff
+bgez :: out: 0x17, RSval: 0xffffffffffffffff
+bgez :: out: 0x18, RSval: 0xffffffffffffffff
+--- BGEZAL ---  if RSval >= 0 then out = RDval + 1 else out = RDval + 6
+bgezal :: out: 0x6, RSval: 0x0
+bgezal :: out: 0x7, RSval: 0x1
+bgezal :: out: 0x7, RSval: 0xffffffff
+bgezal :: out: 0x8, RSval: 0xffffffff
+bgezal :: out: 0x9, RSval: 0xfffffffe
+bgezal :: out: 0xa, RSval: 0xffffffff
+bgezal :: out: 0xc, RSval: 0x5
+bgezal :: out: 0xc, RSval: 0xfffffffffffffffd
+bgezal :: out: 0xe, RSval: 0x7d
+bgezal :: out: 0xe, RSval: 0x80000000
+bgezal :: out: 0xf, RSval: 0xffffffff
+bgezal :: out: 0x11, RSval: 0x256
+bgezal :: out: 0x12, RSval: 0x55
+bgezal :: out: 0x13, RSval: 0xfff
+bgezal :: out: 0x13, RSval: 0xffffffffffffffff
+bgezal :: out: 0x14, RSval: 0xffffffffffffffff
+--- BGTZ ---  if RSval > 0 then out = RDval + 1 else out = RDval + 9
+bgtz :: out: 0x9, RSval: 0x0
+bgtz :: out: 0x2, RSval: 0x1
+bgtz :: out: 0xb, RSval: 0xffffffff
+bgtz :: out: 0xc, RSval: 0xffffffff
+bgtz :: out: 0xd, RSval: 0xfffffffe
+bgtz :: out: 0xe, RSval: 0xffffffff
+bgtz :: out: 0x7, RSval: 0x5
+bgtz :: out: 0x10, RSval: 0xfffffffffffffffd
+bgtz :: out: 0x9, RSval: 0x7d
+bgtz :: out: 0x12, RSval: 0x80000000
+bgtz :: out: 0x13, RSval: 0xffffffff
+bgtz :: out: 0xc, RSval: 0x256
+bgtz :: out: 0xd, RSval: 0x55
+bgtz :: out: 0xe, RSval: 0xfff
+bgtz :: out: 0x17, RSval: 0xffffffffffffffff
+bgtz :: out: 0x18, RSval: 0xffffffffffffffff
+--- BLEZ ---  if RSval <= 0 then out = RDval + 1 else out = RDval + 9
+blez :: out: 0x1, RSval: 0x0
+blez :: out: 0xa, RSval: 0x1
+blez :: out: 0x3, RSval: 0xffffffff
+blez :: out: 0x4, RSval: 0xffffffff
+blez :: out: 0x5, RSval: 0xfffffffe
+blez :: out: 0x6, RSval: 0xffffffff
+blez :: out: 0xf, RSval: 0x5
+blez :: out: 0x8, RSval: 0xfffffffffffffffd
+blez :: out: 0x11, RSval: 0x7d
+blez :: out: 0xa, RSval: 0x80000000
+blez :: out: 0xb, RSval: 0xffffffff
+blez :: out: 0x14, RSval: 0x256
+blez :: out: 0x15, RSval: 0x55
+blez :: out: 0x16, RSval: 0xfff
+blez :: out: 0xf, RSval: 0xffffffffffffffff
+blez :: out: 0x10, RSval: 0xffffffffffffffff
+--- BLTZ ---  if RSval < 0 then out = RDval + 1 else out = RDval + 9
+bltz :: out: 0x9, RSval: 0x0
+bltz :: out: 0xa, RSval: 0x1
+bltz :: out: 0x3, RSval: 0xffffffff
+bltz :: out: 0x4, RSval: 0xffffffff
+bltz :: out: 0x5, RSval: 0xfffffffe
+bltz :: out: 0x6, RSval: 0xffffffff
+bltz :: out: 0xf, RSval: 0x5
+bltz :: out: 0x8, RSval: 0xfffffffffffffffd
+bltz :: out: 0x11, RSval: 0x7d
+bltz :: out: 0xa, RSval: 0x80000000
+bltz :: out: 0xb, RSval: 0xffffffff
+bltz :: out: 0x14, RSval: 0x256
+bltz :: out: 0x15, RSval: 0x55
+bltz :: out: 0x16, RSval: 0xfff
+bltz :: out: 0xf, RSval: 0xffffffffffffffff
+bltz :: out: 0x10, RSval: 0xffffffffffffffff
+--- BLTZAL ---  if RSval < 0 then out = RDval + 1 else out = RDval + 6
+bltzal :: out: 0x5, RSval: 0x0
+bltzal :: out: 0x6, RSval: 0x1
+bltzal :: out: 0x8, RSval: 0xffffffff
+bltzal :: out: 0x9, RSval: 0xffffffff
+bltzal :: out: 0xa, RSval: 0xfffffffe
+bltzal :: out: 0xb, RSval: 0xffffffff
+bltzal :: out: 0xb, RSval: 0x5
+bltzal :: out: 0xd, RSval: 0xfffffffffffffffd
+bltzal :: out: 0xd, RSval: 0x7d
+bltzal :: out: 0xf, RSval: 0x80000000
+bltzal :: out: 0x10, RSval: 0xffffffff
+bltzal :: out: 0x10, RSval: 0x256
+bltzal :: out: 0x11, RSval: 0x55
+bltzal :: out: 0x12, RSval: 0xfff
+bltzal :: out: 0x14, RSval: 0xffffffffffffffff
+bltzal :: out: 0x15, RSval: 0xffffffffffffffff
+--- BNE ---  if RSval != RTval then out = RDval + 1 else out = RDval + 6
+bne :: out: 0x1, RSval: 0x0, RTval: 0x1
+bne :: out: 0x7, RSval: 0x1, RTval: 0x1
+bne :: out: 0x8, RSval: 0xffffffff, RTval: 0xffffffff
+bne :: out: 0x4, RSval: 0xffffffff, RTval: 0xfffffffe
+bne :: out: 0x5, RSval: 0xfffffffe, RTval: 0xffffffff
+bne :: out: 0xb, RSval: 0xffffffff, RTval: 0xffffffff
+bne :: out: 0xc, RSval: 0x5, RTval: 0x5
+bne :: out: 0x8, RSval: 0xfffffffffffffffd, RTval: 0xfffffffffffffffc
+bne :: out: 0xe, RSval: 0x7d, RTval: 0x7d
+bne :: out: 0xf, RSval: 0x80000000, RTval: 0x80000000
+bne :: out: 0xb, RSval: 0xffffffff, RTval: 0x80000000
+bne :: out: 0x11, RSval: 0x256, RTval: 0x256
+bne :: out: 0x12, RSval: 0x55, RTval: 0x55
+bne :: out: 0xe, RSval: 0xfff, RTval: 0xdd
+bne :: out: 0xf, RSval: 0xffffffffffffffff, RTval: 0x5
+bne :: out: 0x15, RSval: 0xffffffffffffffff, RTval: 0xffffffffffffffff
+JAL, JR 
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0x9823b74, RSval: 0x9823b6e
+BAL JR JAL :: 0xd4326df, RSval: 0xd4326d9
+BAL JR JAL :: 0x130476e2, RSval: 0x130476dc
+BAL JR JAL :: 0x17c56b71, RSval: 0x17c56b6b
+BAL JR JAL :: 0x1a864db8, RSval: 0x1a864db2
+BAL JR JAL :: 0x1e47500b, RSval: 0x1e475005
+BAL JR JAL :: 0x2608edbe, RSval: 0x2608edb8
+BAL JR JAL :: 0x22c9f015, RSval: 0x22c9f00f
+BAL JR JAL :: 0x2f8ad6dc, RSval: 0x2f8ad6d6
+BAL JR JAL :: 0x2b4bcb67, RSval: 0x2b4bcb61
+BAL JR JAL :: 0x350c9b6a, RSval: 0x350c9b64
+BAL JR JAL :: 0x31cd86d9, RSval: 0x31cd86d3
+BAL JR JAL :: 0x3c8ea010, RSval: 0x3c8ea00a
+BAL JR JAL :: 0x384fbdc3, RSval: 0x384fbdbd
+BAL JR JAL :: 0x4c11db76, RSval: 0x4c11db70
+BAL JR JAL :: 0x48d0c6cd, RSval: 0x48d0c6c7
+BAL JR JAL :: 0x4593e024, RSval: 0x4593e01e
+BAL JR JAL :: 0x4152fdaf, RSval: 0x4152fda9
+BAL JR JAL :: 0x5f15adb2, RSval: 0x5f15adac
+BAL JR JAL :: 0x5bd4b021, RSval: 0x5bd4b01b
+BAL JR JAL :: 0x569796c8, RSval: 0x569796c2
+BAL JR JAL :: 0x52568b7b, RSval: 0x52568b75
+BAL JR JAL :: 0x6a1936ce, RSval: 0x6a1936c8
+BAL JR JAL :: 0x6ed82b85, RSval: 0x6ed82b7f
+BAL JR JAL :: 0x639b0dac, RSval: 0x639b0da6
+BAL JR JAL :: 0x675a1017, RSval: 0x675a1011
+BAL JR JAL :: 0x791d401a, RSval: 0x791d4014
+BAL JR JAL :: 0x7ddc5da9, RSval: 0x7ddc5da3
+BAL JR JAL :: 0x709f7b80, RSval: 0x709f7b7a
+BAL JR JAL :: 0x745e66d3, RSval: 0x745e66cd
+BAL JR JAL :: 0xffffffff9823b6e6, RSval: 0xffffffff9823b6e0
+BAL JR JAL :: 0xffffffff9ce2ab5d, RSval: 0xffffffff9ce2ab57
+BAL JR JAL :: 0xffffffff91a18d94, RSval: 0xffffffff91a18d8e
+BAL JR JAL :: 0xffffffff9560903f, RSval: 0xffffffff95609039
+BAL JR JAL :: 0xffffffff8b27c042, RSval: 0xffffffff8b27c03c
+BAL JR JAL :: 0xffffffff8fe6dd91, RSval: 0xffffffff8fe6dd8b
+BAL JR JAL :: 0xffffffff82a5fb58, RSval: 0xffffffff82a5fb52
+BAL JR JAL :: 0xffffffff8664e6eb, RSval: 0xffffffff8664e6e5
+BAL JR JAL :: 0xffffffffbe2b5b5e, RSval: 0xffffffffbe2b5b58
+BAL JR JAL :: 0xffffffffbaea46f5, RSval: 0xffffffffbaea46ef
+BAL JR JAL :: 0xffffffffb7a9603c, RSval: 0xffffffffb7a96036
+BAL JR JAL :: 0xffffffffb3687d87, RSval: 0xffffffffb3687d81
+BAL JR JAL :: 0xffffffffad2f2d8a, RSval: 0xffffffffad2f2d84
+BAL JR JAL :: 0xffffffffa9ee3039, RSval: 0xffffffffa9ee3033
+BAL JR JAL :: 0xffffffffa4ad16f0, RSval: 0xffffffffa4ad16ea
+BAL JR JAL :: 0xffffffffa06c0b63, RSval: 0xffffffffa06c0b5d
+BAL JR JAL :: 0xffffffffd4326d96, RSval: 0xffffffffd4326d90
+BAL JR JAL :: 0xffffffffd0f3702d, RSval: 0xffffffffd0f37027
+BAL JR JAL :: 0xffffffffddb05704, RSval: 0xffffffffddb056fe
+BAL JR JAL :: 0xffffffffd9714b4f, RSval: 0xffffffffd9714b49
+BAL JR JAL :: 0xffffffffc7361b52, RSval: 0xffffffffc7361b4c
+BAL JR JAL :: 0xffffffffc3f70701, RSval: 0xffffffffc3f706fb
+BAL JR JAL :: 0xffffffffceb42028, RSval: 0xffffffffceb42022
+BAL JR JAL :: 0xffffffffca753d9b, RSval: 0xffffffffca753d95
+BAL JR JAL :: 0xfffffffff23a802e, RSval: 0xfffffffff23a8028
+BAL JR JAL :: 0xfffffffff6fb9da5, RSval: 0xfffffffff6fb9d9f
+BAL JR JAL :: 0xfffffffffbb8bb4c, RSval: 0xfffffffffbb8bb46
+BAL JR JAL :: 0xffffffffff79a6f7, RSval: 0xffffffffff79a6f1
+BAL JR JAL :: 0xffffffffe13ef6fa, RSval: 0xffffffffe13ef6f4
+BAL JR JAL :: 0xffffffffe5ffeb49, RSval: 0xffffffffe5ffeb43
+BAL JR JAL :: 0xffffffffe8bccda0, RSval: 0xffffffffe8bccd9a
+BAL JR JAL :: 0xffffffffec7dd033, RSval: 0xffffffffec7dd02d
+BAL JR JAL :: 0x3486707d, RSval: 0x34867077
+BAL JR JAL :: 0x30476dc6, RSval: 0x30476dc0
+BAL JR JAL :: 0x3d044b1f, RSval: 0x3d044b19
+BAL JR JAL :: 0x39c556b4, RSval: 0x39c556ae
+BAL JR JAL :: 0x278206b1, RSval: 0x278206ab
+BAL JR JAL :: 0x23431b22, RSval: 0x23431b1c
+BAL JR JAL :: 0x2e003dcb, RSval: 0x2e003dc5
+BAL JR JAL :: 0x2ac12078, RSval: 0x2ac12072
+BAL JR JAL :: 0x128e9dd5, RSval: 0x128e9dcf
+BAL JR JAL :: 0x164f807e, RSval: 0x164f8078
+BAL JR JAL :: 0x1b0ca6a7, RSval: 0x1b0ca6a1
+BAL JR JAL :: 0x1fcdbb1c, RSval: 0x1fcdbb16
+BAL JR JAL :: 0x18aeb19, RSval: 0x18aeb13
+BAL JR JAL :: 0x54bf6aa, RSval: 0x54bf6a4
+BAL JR JAL :: 0x808d083, RSval: 0x808d07d
+BAL JR JAL :: 0xcc9cdd0, RSval: 0xcc9cdca
+BAL JR JAL :: 0x7897ab0d, RSval: 0x7897ab07
+BAL JR JAL :: 0x7c56b6b6, RSval: 0x7c56b6b0
+BAL JR JAL :: 0x7115906f, RSval: 0x71159069
+BAL JR JAL :: 0x75d48de4, RSval: 0x75d48dde
+BAL JR JAL :: 0x6b93dde1, RSval: 0x6b93dddb
+BAL JR JAL :: 0x6f52c072, RSval: 0x6f52c06c
+BAL JR JAL :: 0x6211e6bb, RSval: 0x6211e6b5
+BAL JR JAL :: 0x66d0fb08, RSval: 0x66d0fb02
+BAL JR JAL :: 0x5e9f46c5, RSval: 0x5e9f46bf
+BAL JR JAL :: 0x5a5e5b0e, RSval: 0x5a5e5b08
+BAL JR JAL :: 0x571d7dd7, RSval: 0x571d7dd1
+BAL JR JAL :: 0x53dc606c, RSval: 0x53dc6066
+BAL JR JAL :: 0x4d9b3069, RSval: 0x4d9b3063
+BAL JR JAL :: 0x495a2dda, RSval: 0x495a2dd4
+BAL JR JAL :: 0x44190b13, RSval: 0x44190b0d
+BAL JR JAL :: 0x40d816c0, RSval: 0x40d816ba
+BAL JR JAL :: 0xffffffffaca5c69d, RSval: 0xffffffffaca5c697
+BAL JR JAL :: 0xffffffffa864db26, RSval: 0xffffffffa864db20
+BAL JR JAL :: 0xffffffffa527fdff, RSval: 0xffffffffa527fdf9
+BAL JR JAL :: 0xffffffffa1e6e054, RSval: 0xffffffffa1e6e04e
+BAL JR JAL :: 0xffffffffbfa1b051, RSval: 0xffffffffbfa1b04b
+BAL JR JAL :: 0xffffffffbb60ae02, RSval: 0xffffffffbb60adfc
+BAL JR JAL :: 0xffffffffb6238b2b, RSval: 0xffffffffb6238b25
+BAL JR JAL :: 0xffffffffb2e29698, RSval: 0xffffffffb2e29692
+BAL JR JAL :: 0xffffffff8aad2b35, RSval: 0xffffffff8aad2b2f
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0xffffffff87ee0dfc, RSval: 0xffffffff87ee0df6
+BAL JR JAL :: 0xffffffff99a95df9, RSval: 0xffffffff99a95df3
+BAL JR JAL :: 0xffffffff9d68404a, RSval: 0xffffffff9d684044
+BAL JR JAL :: 0xffffffff902b66a3, RSval: 0xffffffff902b669d
+BAL JR JAL :: 0xffffffff94ea7b30, RSval: 0xffffffff94ea7b2a
+BAL JR JAL :: 0xffffffffe0b41ded, RSval: 0xffffffffe0b41de7
+BAL JR JAL :: 0xffffffffe4750056, RSval: 0xffffffffe4750050
+BAL JR JAL :: 0xffffffffe936268f, RSval: 0xffffffffe9362689
+BAL JR JAL :: 0xffffffffedf73b44, RSval: 0xffffffffedf73b3e
+BAL JR JAL :: 0xfffffffff3b06b41, RSval: 0xfffffffff3b06b3b
+BAL JR JAL :: 0xfffffffff7717692, RSval: 0xfffffffff771768c
+BAL JR JAL :: 0xfffffffffa32505b, RSval: 0xfffffffffa325055
+BAL JR JAL :: 0xfffffffffef34de8, RSval: 0xfffffffffef34de2
+BAL JR JAL :: 0xffffffffc6bcf065, RSval: 0xffffffffc6bcf05f
+BAL JR JAL :: 0xffffffffc27dedee, RSval: 0xffffffffc27dede8
+BAL JR JAL :: 0xffffffffcf3ecb37, RSval: 0xffffffffcf3ecb31
+BAL JR JAL :: 0xffffffffcbffd68c, RSval: 0xffffffffcbffd686
+BAL JR JAL :: 0xffffffffd5b88689, RSval: 0xffffffffd5b88683
+BAL JR JAL :: 0xffffffffd1799b3a, RSval: 0xffffffffd1799b34
+BAL JR JAL :: 0xffffffffdc3abdf3, RSval: 0xffffffffdc3abded
+BAL JR JAL :: 0xffffffffd8fba060, RSval: 0xffffffffd8fba05a
+BAL JR JAL :: 0x690ce0f4, RSval: 0x690ce0ee
+BAL JR JAL :: 0x6dcdfd5f, RSval: 0x6dcdfd59
+BAL JR JAL :: 0x608edb86, RSval: 0x608edb80
+BAL JR JAL :: 0x644fc63d, RSval: 0x644fc637
+BAL JR JAL :: 0x7a089638, RSval: 0x7a089632
+BAL JR JAL :: 0x7ec98b8b, RSval: 0x7ec98b85
+BAL JR JAL :: 0x738aad62, RSval: 0x738aad5c
+BAL JR JAL :: 0x774bb0f1, RSval: 0x774bb0eb
+BAL JR JAL :: 0x4f040d5c, RSval: 0x4f040d56
+BAL JR JAL :: 0x4bc510e7, RSval: 0x4bc510e1
+BAL JR JAL :: 0x4686363e, RSval: 0x46863638
+BAL JR JAL :: 0x42472b95, RSval: 0x42472b8f
+BAL JR JAL :: 0x5c007b90, RSval: 0x5c007b8a
+BAL JR JAL :: 0x58c16643, RSval: 0x58c1663d
+BAL JR JAL :: 0x558240ea, RSval: 0x558240e4
+BAL JR JAL :: 0x51435d59, RSval: 0x51435d53
+BAL JR JAL :: 0x251d3ba4, RSval: 0x251d3b9e
+BAL JR JAL :: 0x21dc262f, RSval: 0x21dc2629
+BAL JR JAL :: 0x2c9f00f6, RSval: 0x2c9f00f0
+BAL JR JAL :: 0x285e1d4d, RSval: 0x285e1d47
+BAL JR JAL :: 0x36194d48, RSval: 0x36194d42
+BAL JR JAL :: 0x32d850fb, RSval: 0x32d850f5
+BAL JR JAL :: 0x3f9b7632, RSval: 0x3f9b762c
+BAL JR JAL :: 0x3b5a6ba1, RSval: 0x3b5a6b9b
+BAL JR JAL :: 0x315d62c, RSval: 0x315d626
+BAL JR JAL :: 0x7d4cb97, RSval: 0x7d4cb91
+BAL JR JAL :: 0xa97ed4e, RSval: 0xa97ed48
+BAL JR JAL :: 0xe56f105, RSval: 0xe56f0ff
+BAL JR JAL :: 0x1011a100, RSval: 0x1011a0fa
+BAL JR JAL :: 0x14d0bd53, RSval: 0x14d0bd4d
+BAL JR JAL :: 0x19939b9a, RSval: 0x19939b94
+BAL JR JAL :: 0x1d528629, RSval: 0x1d528623
+BAL JR JAL :: 0xfffffffff12f5614, RSval: 0xfffffffff12f560e
+BAL JR JAL :: 0xfffffffff5ee4bbf, RSval: 0xfffffffff5ee4bb9
+BAL JR JAL :: 0xfffffffff8ad6d66, RSval: 0xfffffffff8ad6d60
+BAL JR JAL :: 0xfffffffffc6c70dd, RSval: 0xfffffffffc6c70d7
+BAL JR JAL :: 0xffffffffe22b20d8, RSval: 0xffffffffe22b20d2
+BAL JR JAL :: 0xffffffffe6ea3d6b, RSval: 0xffffffffe6ea3d65
+BAL JR JAL :: 0xffffffffeba91bc2, RSval: 0xffffffffeba91bbc
+BAL JR JAL :: 0xffffffffef680611, RSval: 0xffffffffef68060b
+BAL JR JAL :: 0xffffffffd727bbbc, RSval: 0xffffffffd727bbb6
+BAL JR JAL :: 0xffffffffd3e6a607, RSval: 0xffffffffd3e6a601
+BAL JR JAL :: 0xffffffffdea580de, RSval: 0xffffffffdea580d8
+BAL JR JAL :: 0xffffffffda649d75, RSval: 0xffffffffda649d6f
+BAL JR JAL :: 0xffffffffc423cd70, RSval: 0xffffffffc423cd6a
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0xffffffffcda1f60a, RSval: 0xffffffffcda1f604
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0xffffffffbd3e8d84, RSval: 0xffffffffbd3e8d7e
+BAL JR JAL :: 0xffffffffb9ff90cf, RSval: 0xffffffffb9ff90c9
+BAL JR JAL :: 0xffffffffb4bcb616, RSval: 0xffffffffb4bcb610
+BAL JR JAL :: 0xffffffffb07dabad, RSval: 0xffffffffb07daba7
+BAL JR JAL :: 0xffffffffae3afba8, RSval: 0xffffffffae3afba2
+BAL JR JAL :: 0xffffffffaafbe61b, RSval: 0xffffffffaafbe615
+BAL JR JAL :: 0xffffffffa7b8c0d2, RSval: 0xffffffffa7b8c0cc
+BAL JR JAL :: 0xffffffffa379dd81, RSval: 0xffffffffa379dd7b
+BAL JR JAL :: 0xffffffff9b3660cc, RSval: 0xffffffff9b3660c6
+BAL JR JAL :: 0xffffffff9ff77d77, RSval: 0xffffffff9ff77d71
+BAL JR JAL :: 0xffffffff92b45bae, RSval: 0xffffffff92b45ba8
+BAL JR JAL :: 0xffffffff96754625, RSval: 0xffffffff9675461f
+BAL JR JAL :: 0xffffffff88321620, RSval: 0xffffffff8832161a
+BAL JR JAL :: 0xffffffff8cf30bb3, RSval: 0xffffffff8cf30bad
+BAL JR JAL :: 0xffffffff81b02d7a, RSval: 0xffffffff81b02d74
+BAL JR JAL :: 0xffffffff857130c9, RSval: 0xffffffff857130c3
+BAL JR JAL :: 0x5d8a909f, RSval: 0x5d8a9099
+BAL JR JAL :: 0x594b8d34, RSval: 0x594b8d2e
+BAL JR JAL :: 0x5408abfd, RSval: 0x5408abf7
+BAL JR JAL :: 0x50c9b646, RSval: 0x50c9b640
+BAL JR JAL :: 0x4e8ee64b, RSval: 0x4e8ee645
+BAL JR JAL :: 0x4a4ffbf8, RSval: 0x4a4ffbf2
+BAL JR JAL :: 0x470cdd31, RSval: 0x470cdd2b
+BAL JR JAL :: 0x43cdc0a2, RSval: 0x43cdc09c
+BAL JR JAL :: 0x7b827d27, RSval: 0x7b827d21
+BAL JR JAL :: 0x7f43609c, RSval: 0x7f436096
+BAL JR JAL :: 0x72004655, RSval: 0x7200464f
+BAL JR JAL :: 0x76c15bfe, RSval: 0x76c15bf8
+BAL JR JAL :: 0x68860c03, RSval: 0x68860bfd
+BAL JR JAL :: 0x6c471650, RSval: 0x6c47164a
+BAL JR JAL :: 0x61043099, RSval: 0x61043093
+BAL JR JAL :: 0x65c52d2a, RSval: 0x65c52d24
+BAL JR JAL :: 0x119b4bef, RSval: 0x119b4be9
+BAL JR JAL :: 0x155a5664, RSval: 0x155a565e
+BAL JR JAL :: 0x1819708d, RSval: 0x18197087
+BAL JR JAL :: 0x1cd86d36, RSval: 0x1cd86d30
+BAL JR JAL :: 0x29f3d3b, RSval: 0x29f3d35
+BAL JR JAL :: 0x65e2088, RSval: 0x65e2082
+BAL JR JAL :: 0xb1d0661, RSval: 0xb1d065b
+BAL JR JAL :: 0xfdc1bf2, RSval: 0xfdc1bec
+BAL JR JAL :: 0x3793a657, RSval: 0x3793a651
+BAL JR JAL :: 0x3352bbec, RSval: 0x3352bbe6
+BAL JR JAL :: 0x3e119d45, RSval: 0x3e119d3f
+BAL JR JAL :: 0x3ad0808e, RSval: 0x3ad08088
+BAL JR JAL :: 0x2497d093, RSval: 0x2497d08d
+BAL JR JAL :: 0x2056cd40, RSval: 0x2056cd3a
+BAL JR JAL :: 0x2d15ebe9, RSval: 0x2d15ebe3
+BAL JR JAL :: 0x29d4f65a, RSval: 0x29d4f654
+BAL JR JAL :: 0xffffffffc5a9267f, RSval: 0xffffffffc5a92679
+BAL JR JAL :: 0xffffffffc1683bd4, RSval: 0xffffffffc1683bce
+BAL JR JAL :: 0xffffffffcc2b1d1d, RSval: 0xffffffffcc2b1d17
+BAL JR JAL :: 0xffffffffc8ea00a6, RSval: 0xffffffffc8ea00a0
+BAL JR JAL :: 0xffffffffd6ad50ab, RSval: 0xffffffffd6ad50a5
+BAL JR JAL :: 0xffffffffd26c4d18, RSval: 0xffffffffd26c4d12
+BAL JR JAL :: 0xffffffffdf2f6bd1, RSval: 0xffffffffdf2f6bcb
+BAL JR JAL :: 0xffffffffdbee7682, RSval: 0xffffffffdbee767c
+BAL JR JAL :: 0xffffffffe3a1cbc7, RSval: 0xffffffffe3a1cbc1
+BAL JR JAL :: 0xffffffffe760d67c, RSval: 0xffffffffe760d676
+BAL JR JAL :: 0xffffffffea23f0b5, RSval: 0xffffffffea23f0af
+BAL JR JAL :: 0xffffffffeee2ed1e, RSval: 0xffffffffeee2ed18
+BAL JR JAL :: 0xfffffffff0a5bd23, RSval: 0xfffffffff0a5bd1d
+BAL JR JAL :: 0xfffffffff464a0b0, RSval: 0xfffffffff464a0aa
+BAL JR JAL :: 0xfffffffff9278679, RSval: 0xfffffffff9278673
+BAL JR JAL :: 0xfffffffffde69bca, RSval: 0xfffffffffde69bc4
+BAL JR JAL :: 0xffffffff89b8fd0f, RSval: 0xffffffff89b8fd09
+BAL JR JAL :: 0xffffffff8d79e0c4, RSval: 0xffffffff8d79e0be
+BAL JR JAL :: 0xffffffff803ac66d, RSval: 0xffffffff803ac667
+BAL JR JAL :: 0xffffffff84fbdbd6, RSval: 0xffffffff84fbdbd0
+BAL JR JAL :: 0xffffffff9abc8bdb, RSval: 0xffffffff9abc8bd5
+BAL JR JAL :: 0xffffffff9e7d9668, RSval: 0xffffffff9e7d9662
+BAL JR JAL :: 0xffffffff933eb0c1, RSval: 0xffffffff933eb0bb
+BAL JR JAL :: 0xffffffff97ffad12, RSval: 0xffffffff97ffad0c
+BAL JR JAL :: 0xffffffffafb010b7, RSval: 0xffffffffafb010b1
+BAL JR JAL :: 0xffffffffab710d0c, RSval: 0xffffffffab710d06
+BAL JR JAL :: 0xffffffffa6322be5, RSval: 0xffffffffa6322bdf
+BAL JR JAL :: 0xffffffffa2f3366e, RSval: 0xffffffffa2f33668
+BAL JR JAL :: 0xffffffffbcb46673, RSval: 0xffffffffbcb4666d
+BAL JR JAL :: 0xffffffffb8757be0, RSval: 0xffffffffb8757bda
+BAL JR JAL :: 0xffffffffb5365d09, RSval: 0xffffffffb5365d03
+BAL JR JAL :: 0xffffffffb1f740ba, RSval: 0xffffffffb1f740b4
+J, JALR 
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0x9823b74, RSval: 0x9823b6e
+BAL JR JAL :: 0xd4326df, RSval: 0xd4326d9
+BAL JR JAL :: 0x130476e2, RSval: 0x130476dc
+BAL JR JAL :: 0x17c56b71, RSval: 0x17c56b6b
+BAL JR JAL :: 0x1a864db8, RSval: 0x1a864db2
+BAL JR JAL :: 0x1e47500b, RSval: 0x1e475005
+BAL JR JAL :: 0x2608edbe, RSval: 0x2608edb8
+BAL JR JAL :: 0x22c9f015, RSval: 0x22c9f00f
+BAL JR JAL :: 0x2f8ad6dc, RSval: 0x2f8ad6d6
+BAL JR JAL :: 0x2b4bcb67, RSval: 0x2b4bcb61
+BAL JR JAL :: 0x350c9b6a, RSval: 0x350c9b64
+BAL JR JAL :: 0x31cd86d9, RSval: 0x31cd86d3
+BAL JR JAL :: 0x3c8ea010, RSval: 0x3c8ea00a
+BAL JR JAL :: 0x384fbdc3, RSval: 0x384fbdbd
+BAL JR JAL :: 0x4c11db76, RSval: 0x4c11db70
+BAL JR JAL :: 0x48d0c6cd, RSval: 0x48d0c6c7
+BAL JR JAL :: 0x4593e024, RSval: 0x4593e01e
+BAL JR JAL :: 0x4152fdaf, RSval: 0x4152fda9
+BAL JR JAL :: 0x5f15adb2, RSval: 0x5f15adac
+BAL JR JAL :: 0x5bd4b021, RSval: 0x5bd4b01b
+BAL JR JAL :: 0x569796c8, RSval: 0x569796c2
+BAL JR JAL :: 0x52568b7b, RSval: 0x52568b75
+BAL JR JAL :: 0x6a1936ce, RSval: 0x6a1936c8
+BAL JR JAL :: 0x6ed82b85, RSval: 0x6ed82b7f
+BAL JR JAL :: 0x639b0dac, RSval: 0x639b0da6
+BAL JR JAL :: 0x675a1017, RSval: 0x675a1011
+BAL JR JAL :: 0x791d401a, RSval: 0x791d4014
+BAL JR JAL :: 0x7ddc5da9, RSval: 0x7ddc5da3
+BAL JR JAL :: 0x709f7b80, RSval: 0x709f7b7a
+BAL JR JAL :: 0x745e66d3, RSval: 0x745e66cd
+BAL JR JAL :: 0xffffffff9823b6e6, RSval: 0xffffffff9823b6e0
+BAL JR JAL :: 0xffffffff9ce2ab5d, RSval: 0xffffffff9ce2ab57
+BAL JR JAL :: 0xffffffff91a18d94, RSval: 0xffffffff91a18d8e
+BAL JR JAL :: 0xffffffff9560903f, RSval: 0xffffffff95609039
+BAL JR JAL :: 0xffffffff8b27c042, RSval: 0xffffffff8b27c03c
+BAL JR JAL :: 0xffffffff8fe6dd91, RSval: 0xffffffff8fe6dd8b
+BAL JR JAL :: 0xffffffff82a5fb58, RSval: 0xffffffff82a5fb52
+BAL JR JAL :: 0xffffffff8664e6eb, RSval: 0xffffffff8664e6e5
+BAL JR JAL :: 0xffffffffbe2b5b5e, RSval: 0xffffffffbe2b5b58
+BAL JR JAL :: 0xffffffffbaea46f5, RSval: 0xffffffffbaea46ef
+BAL JR JAL :: 0xffffffffb7a9603c, RSval: 0xffffffffb7a96036
+BAL JR JAL :: 0xffffffffb3687d87, RSval: 0xffffffffb3687d81
+BAL JR JAL :: 0xffffffffad2f2d8a, RSval: 0xffffffffad2f2d84
+BAL JR JAL :: 0xffffffffa9ee3039, RSval: 0xffffffffa9ee3033
+BAL JR JAL :: 0xffffffffa4ad16f0, RSval: 0xffffffffa4ad16ea
+BAL JR JAL :: 0xffffffffa06c0b63, RSval: 0xffffffffa06c0b5d
+BAL JR JAL :: 0xffffffffd4326d96, RSval: 0xffffffffd4326d90
+BAL JR JAL :: 0xffffffffd0f3702d, RSval: 0xffffffffd0f37027
+BAL JR JAL :: 0xffffffffddb05704, RSval: 0xffffffffddb056fe
+BAL JR JAL :: 0xffffffffd9714b4f, RSval: 0xffffffffd9714b49
+BAL JR JAL :: 0xffffffffc7361b52, RSval: 0xffffffffc7361b4c
+BAL JR JAL :: 0xffffffffc3f70701, RSval: 0xffffffffc3f706fb
+BAL JR JAL :: 0xffffffffceb42028, RSval: 0xffffffffceb42022
+BAL JR JAL :: 0xffffffffca753d9b, RSval: 0xffffffffca753d95
+BAL JR JAL :: 0xfffffffff23a802e, RSval: 0xfffffffff23a8028
+BAL JR JAL :: 0xfffffffff6fb9da5, RSval: 0xfffffffff6fb9d9f
+BAL JR JAL :: 0xfffffffffbb8bb4c, RSval: 0xfffffffffbb8bb46
+BAL JR JAL :: 0xffffffffff79a6f7, RSval: 0xffffffffff79a6f1
+BAL JR JAL :: 0xffffffffe13ef6fa, RSval: 0xffffffffe13ef6f4
+BAL JR JAL :: 0xffffffffe5ffeb49, RSval: 0xffffffffe5ffeb43
+BAL JR JAL :: 0xffffffffe8bccda0, RSval: 0xffffffffe8bccd9a
+BAL JR JAL :: 0xffffffffec7dd033, RSval: 0xffffffffec7dd02d
+BAL JR JAL :: 0x3486707d, RSval: 0x34867077
+BAL JR JAL :: 0x30476dc6, RSval: 0x30476dc0
+BAL JR JAL :: 0x3d044b1f, RSval: 0x3d044b19
+BAL JR JAL :: 0x39c556b4, RSval: 0x39c556ae
+BAL JR JAL :: 0x278206b1, RSval: 0x278206ab
+BAL JR JAL :: 0x23431b22, RSval: 0x23431b1c
+BAL JR JAL :: 0x2e003dcb, RSval: 0x2e003dc5
+BAL JR JAL :: 0x2ac12078, RSval: 0x2ac12072
+BAL JR JAL :: 0x128e9dd5, RSval: 0x128e9dcf
+BAL JR JAL :: 0x164f807e, RSval: 0x164f8078
+BAL JR JAL :: 0x1b0ca6a7, RSval: 0x1b0ca6a1
+BAL JR JAL :: 0x1fcdbb1c, RSval: 0x1fcdbb16
+BAL JR JAL :: 0x18aeb19, RSval: 0x18aeb13
+BAL JR JAL :: 0x54bf6aa, RSval: 0x54bf6a4
+BAL JR JAL :: 0x808d083, RSval: 0x808d07d
+BAL JR JAL :: 0xcc9cdd0, RSval: 0xcc9cdca
+BAL JR JAL :: 0x7897ab0d, RSval: 0x7897ab07
+BAL JR JAL :: 0x7c56b6b6, RSval: 0x7c56b6b0
+BAL JR JAL :: 0x7115906f, RSval: 0x71159069
+BAL JR JAL :: 0x75d48de4, RSval: 0x75d48dde
+BAL JR JAL :: 0x6b93dde1, RSval: 0x6b93dddb
+BAL JR JAL :: 0x6f52c072, RSval: 0x6f52c06c
+BAL JR JAL :: 0x6211e6bb, RSval: 0x6211e6b5
+BAL JR JAL :: 0x66d0fb08, RSval: 0x66d0fb02
+BAL JR JAL :: 0x5e9f46c5, RSval: 0x5e9f46bf
+BAL JR JAL :: 0x5a5e5b0e, RSval: 0x5a5e5b08
+BAL JR JAL :: 0x571d7dd7, RSval: 0x571d7dd1
+BAL JR JAL :: 0x53dc606c, RSval: 0x53dc6066
+BAL JR JAL :: 0x4d9b3069, RSval: 0x4d9b3063
+BAL JR JAL :: 0x495a2dda, RSval: 0x495a2dd4
+BAL JR JAL :: 0x44190b13, RSval: 0x44190b0d
+BAL JR JAL :: 0x40d816c0, RSval: 0x40d816ba
+BAL JR JAL :: 0xffffffffaca5c69d, RSval: 0xffffffffaca5c697
+BAL JR JAL :: 0xffffffffa864db26, RSval: 0xffffffffa864db20
+BAL JR JAL :: 0xffffffffa527fdff, RSval: 0xffffffffa527fdf9
+BAL JR JAL :: 0xffffffffa1e6e054, RSval: 0xffffffffa1e6e04e
+BAL JR JAL :: 0xffffffffbfa1b051, RSval: 0xffffffffbfa1b04b
+BAL JR JAL :: 0xffffffffbb60ae02, RSval: 0xffffffffbb60adfc
+BAL JR JAL :: 0xffffffffb6238b2b, RSval: 0xffffffffb6238b25
+BAL JR JAL :: 0xffffffffb2e29698, RSval: 0xffffffffb2e29692
+BAL JR JAL :: 0xffffffff8aad2b35, RSval: 0xffffffff8aad2b2f
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0xffffffff87ee0dfc, RSval: 0xffffffff87ee0df6
+BAL JR JAL :: 0xffffffff99a95df9, RSval: 0xffffffff99a95df3
+BAL JR JAL :: 0xffffffff9d68404a, RSval: 0xffffffff9d684044
+BAL JR JAL :: 0xffffffff902b66a3, RSval: 0xffffffff902b669d
+BAL JR JAL :: 0xffffffff94ea7b30, RSval: 0xffffffff94ea7b2a
+BAL JR JAL :: 0xffffffffe0b41ded, RSval: 0xffffffffe0b41de7
+BAL JR JAL :: 0xffffffffe4750056, RSval: 0xffffffffe4750050
+BAL JR JAL :: 0xffffffffe936268f, RSval: 0xffffffffe9362689
+BAL JR JAL :: 0xffffffffedf73b44, RSval: 0xffffffffedf73b3e
+BAL JR JAL :: 0xfffffffff3b06b41, RSval: 0xfffffffff3b06b3b
+BAL JR JAL :: 0xfffffffff7717692, RSval: 0xfffffffff771768c
+BAL JR JAL :: 0xfffffffffa32505b, RSval: 0xfffffffffa325055
+BAL JR JAL :: 0xfffffffffef34de8, RSval: 0xfffffffffef34de2
+BAL JR JAL :: 0xffffffffc6bcf065, RSval: 0xffffffffc6bcf05f
+BAL JR JAL :: 0xffffffffc27dedee, RSval: 0xffffffffc27dede8
+BAL JR JAL :: 0xffffffffcf3ecb37, RSval: 0xffffffffcf3ecb31
+BAL JR JAL :: 0xffffffffcbffd68c, RSval: 0xffffffffcbffd686
+BAL JR JAL :: 0xffffffffd5b88689, RSval: 0xffffffffd5b88683
+BAL JR JAL :: 0xffffffffd1799b3a, RSval: 0xffffffffd1799b34
+BAL JR JAL :: 0xffffffffdc3abdf3, RSval: 0xffffffffdc3abded
+BAL JR JAL :: 0xffffffffd8fba060, RSval: 0xffffffffd8fba05a
+BAL JR JAL :: 0x690ce0f4, RSval: 0x690ce0ee
+BAL JR JAL :: 0x6dcdfd5f, RSval: 0x6dcdfd59
+BAL JR JAL :: 0x608edb86, RSval: 0x608edb80
+BAL JR JAL :: 0x644fc63d, RSval: 0x644fc637
+BAL JR JAL :: 0x7a089638, RSval: 0x7a089632
+BAL JR JAL :: 0x7ec98b8b, RSval: 0x7ec98b85
+BAL JR JAL :: 0x738aad62, RSval: 0x738aad5c
+BAL JR JAL :: 0x774bb0f1, RSval: 0x774bb0eb
+BAL JR JAL :: 0x4f040d5c, RSval: 0x4f040d56
+BAL JR JAL :: 0x4bc510e7, RSval: 0x4bc510e1
+BAL JR JAL :: 0x4686363e, RSval: 0x46863638
+BAL JR JAL :: 0x42472b95, RSval: 0x42472b8f
+BAL JR JAL :: 0x5c007b90, RSval: 0x5c007b8a
+BAL JR JAL :: 0x58c16643, RSval: 0x58c1663d
+BAL JR JAL :: 0x558240ea, RSval: 0x558240e4
+BAL JR JAL :: 0x51435d59, RSval: 0x51435d53
+BAL JR JAL :: 0x251d3ba4, RSval: 0x251d3b9e
+BAL JR JAL :: 0x21dc262f, RSval: 0x21dc2629
+BAL JR JAL :: 0x2c9f00f6, RSval: 0x2c9f00f0
+BAL JR JAL :: 0x285e1d4d, RSval: 0x285e1d47
+BAL JR JAL :: 0x36194d48, RSval: 0x36194d42
+BAL JR JAL :: 0x32d850fb, RSval: 0x32d850f5
+BAL JR JAL :: 0x3f9b7632, RSval: 0x3f9b762c
+BAL JR JAL :: 0x3b5a6ba1, RSval: 0x3b5a6b9b
+BAL JR JAL :: 0x315d62c, RSval: 0x315d626
+BAL JR JAL :: 0x7d4cb97, RSval: 0x7d4cb91
+BAL JR JAL :: 0xa97ed4e, RSval: 0xa97ed48
+BAL JR JAL :: 0xe56f105, RSval: 0xe56f0ff
+BAL JR JAL :: 0x1011a100, RSval: 0x1011a0fa
+BAL JR JAL :: 0x14d0bd53, RSval: 0x14d0bd4d
+BAL JR JAL :: 0x19939b9a, RSval: 0x19939b94
+BAL JR JAL :: 0x1d528629, RSval: 0x1d528623
+BAL JR JAL :: 0xfffffffff12f5614, RSval: 0xfffffffff12f560e
+BAL JR JAL :: 0xfffffffff5ee4bbf, RSval: 0xfffffffff5ee4bb9
+BAL JR JAL :: 0xfffffffff8ad6d66, RSval: 0xfffffffff8ad6d60
+BAL JR JAL :: 0xfffffffffc6c70dd, RSval: 0xfffffffffc6c70d7
+BAL JR JAL :: 0xffffffffe22b20d8, RSval: 0xffffffffe22b20d2
+BAL JR JAL :: 0xffffffffe6ea3d6b, RSval: 0xffffffffe6ea3d65
+BAL JR JAL :: 0xffffffffeba91bc2, RSval: 0xffffffffeba91bbc
+BAL JR JAL :: 0xffffffffef680611, RSval: 0xffffffffef68060b
+BAL JR JAL :: 0xffffffffd727bbbc, RSval: 0xffffffffd727bbb6
+BAL JR JAL :: 0xffffffffd3e6a607, RSval: 0xffffffffd3e6a601
+BAL JR JAL :: 0xffffffffdea580de, RSval: 0xffffffffdea580d8
+BAL JR JAL :: 0xffffffffda649d75, RSval: 0xffffffffda649d6f
+BAL JR JAL :: 0xffffffffc423cd70, RSval: 0xffffffffc423cd6a
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0xffffffffcda1f60a, RSval: 0xffffffffcda1f604
+BAL JR JAL :: 0x6, RSval: 0x0
+BAL JR JAL :: 0xffffffffbd3e8d84, RSval: 0xffffffffbd3e8d7e
+BAL JR JAL :: 0xffffffffb9ff90cf, RSval: 0xffffffffb9ff90c9
+BAL JR JAL :: 0xffffffffb4bcb616, RSval: 0xffffffffb4bcb610
+BAL JR JAL :: 0xffffffffb07dabad, RSval: 0xffffffffb07daba7
+BAL JR JAL :: 0xffffffffae3afba8, RSval: 0xffffffffae3afba2
+BAL JR JAL :: 0xffffffffaafbe61b, RSval: 0xffffffffaafbe615
+BAL JR JAL :: 0xffffffffa7b8c0d2, RSval: 0xffffffffa7b8c0cc
+BAL JR JAL :: 0xffffffffa379dd81, RSval: 0xffffffffa379dd7b
+BAL JR JAL :: 0xffffffff9b3660cc, RSval: 0xffffffff9b3660c6
+BAL JR JAL :: 0xffffffff9ff77d77, RSval: 0xffffffff9ff77d71
+BAL JR JAL :: 0xffffffff92b45bae, RSval: 0xffffffff92b45ba8
+BAL JR JAL :: 0xffffffff96754625, RSval: 0xffffffff9675461f
+BAL JR JAL :: 0xffffffff88321620, RSval: 0xffffffff8832161a
+BAL JR JAL :: 0xffffffff8cf30bb3, RSval: 0xffffffff8cf30bad
+BAL JR JAL :: 0xffffffff81b02d7a, RSval: 0xffffffff81b02d74
+BAL JR JAL :: 0xffffffff857130c9, RSval: 0xffffffff857130c3
+BAL JR JAL :: 0x5d8a909f, RSval: 0x5d8a9099
+BAL JR JAL :: 0x594b8d34, RSval: 0x594b8d2e
+BAL JR JAL :: 0x5408abfd, RSval: 0x5408abf7
+BAL JR JAL :: 0x50c9b646, RSval: 0x50c9b640
+BAL JR JAL :: 0x4e8ee64b, RSval: 0x4e8ee645
+BAL JR JAL :: 0x4a4ffbf8, RSval: 0x4a4ffbf2
+BAL JR JAL :: 0x470cdd31, RSval: 0x470cdd2b
+BAL JR JAL :: 0x43cdc0a2, RSval: 0x43cdc09c
+BAL JR JAL :: 0x7b827d27, RSval: 0x7b827d21
+BAL JR JAL :: 0x7f43609c, RSval: 0x7f436096
+BAL JR JAL :: 0x72004655, RSval: 0x7200464f
+BAL JR JAL :: 0x76c15bfe, RSval: 0x76c15bf8
+BAL JR JAL :: 0x68860c03, RSval: 0x68860bfd
+BAL JR JAL :: 0x6c471650, RSval: 0x6c47164a
+BAL JR JAL :: 0x61043099, RSval: 0x61043093
+BAL JR JAL :: 0x65c52d2a, RSval: 0x65c52d24
+BAL JR JAL :: 0x119b4bef, RSval: 0x119b4be9
+BAL JR JAL :: 0x155a5664, RSval: 0x155a565e
+BAL JR JAL :: 0x1819708d, RSval: 0x18197087
+BAL JR JAL :: 0x1cd86d36, RSval: 0x1cd86d30
+BAL JR JAL :: 0x29f3d3b, RSval: 0x29f3d35
+BAL JR JAL :: 0x65e2088, RSval: 0x65e2082
+BAL JR JAL :: 0xb1d0661, RSval: 0xb1d065b
+BAL JR JAL :: 0xfdc1bf2, RSval: 0xfdc1bec
+BAL JR JAL :: 0x3793a657, RSval: 0x3793a651
+BAL JR JAL :: 0x3352bbec, RSval: 0x3352bbe6
+BAL JR JAL :: 0x3e119d45, RSval: 0x3e119d3f
+BAL JR JAL :: 0x3ad0808e, RSval: 0x3ad08088
+BAL JR JAL :: 0x2497d093, RSval: 0x2497d08d
+BAL JR JAL :: 0x2056cd40, RSval: 0x2056cd3a
+BAL JR JAL :: 0x2d15ebe9, RSval: 0x2d15ebe3
+BAL JR JAL :: 0x29d4f65a, RSval: 0x29d4f654
+BAL JR JAL :: 0xffffffffc5a9267f, RSval: 0xffffffffc5a92679
+BAL JR JAL :: 0xffffffffc1683bd4, RSval: 0xffffffffc1683bce
+BAL JR JAL :: 0xffffffffcc2b1d1d, RSval: 0xffffffffcc2b1d17
+BAL JR JAL :: 0xffffffffc8ea00a6, RSval: 0xffffffffc8ea00a0
+BAL JR JAL :: 0xffffffffd6ad50ab, RSval: 0xffffffffd6ad50a5
+BAL JR JAL :: 0xffffffffd26c4d18, RSval: 0xffffffffd26c4d12
+BAL JR JAL :: 0xffffffffdf2f6bd1, RSval: 0xffffffffdf2f6bcb
+BAL JR JAL :: 0xffffffffdbee7682, RSval: 0xffffffffdbee767c
+BAL JR JAL :: 0xffffffffe3a1cbc7, RSval: 0xffffffffe3a1cbc1
+BAL JR JAL :: 0xffffffffe760d67c, RSval: 0xffffffffe760d676
+BAL JR JAL :: 0xffffffffea23f0b5, RSval: 0xffffffffea23f0af
+BAL JR JAL :: 0xffffffffeee2ed1e, RSval: 0xffffffffeee2ed18
+BAL JR JAL :: 0xfffffffff0a5bd23, RSval: 0xfffffffff0a5bd1d
+BAL JR JAL :: 0xfffffffff464a0b0, RSval: 0xfffffffff464a0aa
+BAL JR JAL :: 0xfffffffff9278679, RSval: 0xfffffffff9278673
+BAL JR JAL :: 0xfffffffffde69bca, RSval: 0xfffffffffde69bc4
+BAL JR JAL :: 0xffffffff89b8fd0f, RSval: 0xffffffff89b8fd09
+BAL JR JAL :: 0xffffffff8d79e0c4, RSval: 0xffffffff8d79e0be
+BAL JR JAL :: 0xffffffff803ac66d, RSval: 0xffffffff803ac667
+BAL JR JAL :: 0xffffffff84fbdbd6, RSval: 0xffffffff84fbdbd0
+BAL JR JAL :: 0xffffffff9abc8bdb, RSval: 0xffffffff9abc8bd5
+BAL JR JAL :: 0xffffffff9e7d9668, RSval: 0xffffffff9e7d9662
+BAL JR JAL :: 0xffffffff933eb0c1, RSval: 0xffffffff933eb0bb
+BAL JR JAL :: 0xffffffff97ffad12, RSval: 0xffffffff97ffad0c
+BAL JR JAL :: 0xffffffffafb010b7, RSval: 0xffffffffafb010b1
+BAL JR JAL :: 0xffffffffab710d0c, RSval: 0xffffffffab710d06
+BAL JR JAL :: 0xffffffffa6322be5, RSval: 0xffffffffa6322bdf
+BAL JR JAL :: 0xffffffffa2f3366e, RSval: 0xffffffffa2f33668
+BAL JR JAL :: 0xffffffffbcb46673, RSval: 0xffffffffbcb4666d
+BAL JR JAL :: 0xffffffffb8757be0, RSval: 0xffffffffb8757bda
+BAL JR JAL :: 0xffffffffb5365d09, RSval: 0xffffffffb5365d03
+BAL JR JAL :: 0xffffffffb1f740ba, RSval: 0xffffffffb1f740b4
diff --git a/none/tests/mips64/branch_and_jump_instructions.vgtest b/none/tests/mips64/branch_and_jump_instructions.vgtest
new file mode 100644
index 0000000..44fb34f
--- /dev/null
+++ b/none/tests/mips64/branch_and_jump_instructions.vgtest
@@ -0,0 +1,2 @@
+prog: branch_and_jump_instructions
+vgopts: -q
diff --git a/none/tests/mips64/branches.c b/none/tests/mips64/branches.c
new file mode 100644
index 0000000..c121ee8
--- /dev/null
+++ b/none/tests/mips64/branches.c
@@ -0,0 +1,767 @@
+#include <stdio.h>
+
+#define TESTINST1(RSval, RD)            \
+{                                       \
+   unsigned int out = 0;                \
+   __asm__ __volatile__(                \
+      ".set noreorder"          "\n\t"  \
+      "move $"#RD", %1"         "\n\t"  \
+      "b    end"#RSval          "\n\t"  \
+      "nop"                     "\n\t"  \
+      "addi $"#RD", $"#RD", 5"  "\n\t"  \
+      "end"#RSval":"            "\n\t"  \
+      "addi $"#RD", $"#RD", 1"  "\n\t"  \
+      "move %0,     $"#RD       "\n\t"  \
+      ".set reorder"            "\n\t"  \
+      : "=r" (out)                      \
+      : "r" (RSval)                     \
+      : #RD                             \
+   );                                   \
+   printf("B :: %d, RSval: %d\n",       \
+          out, RSval);                  \
+}
+
+#define TESTINST2(RSval, RD)            \
+{                                       \
+   unsigned int out = 0;                \
+   __asm__ __volatile__(                \
+      ".set noreorder"          "\n\t"  \
+      "move $"#RD", %1"         "\n\t"  \
+      "b    end12"#RSval        "\n\t"  \
+      "addi $"#RD", $"#RD", 3"  "\n\t"  \
+      "addi $"#RD", $"#RD", 5"  "\n\t"  \
+      "end12"#RSval":"          "\n\t"  \
+      "addi $"#RD", $"#RD", 3"  "\n\t"  \
+      "move %0,     $"#RD       "\n\t"  \
+      ".set reorder"            "\n\t"  \
+      : "=r" (out)                      \
+      : "r" (RSval)                     \
+      : #RD                             \
+   );                                   \
+   printf("B :: %d, RSval: %d\n",       \
+          out, RSval);                  \
+}
+
+#define TESTINST3(RSval, RD)              \
+{                                         \
+   unsigned int out = 0;                  \
+   __asm__ __volatile__(                  \
+      ".set noreorder"          "\n\t"    \
+      "move $"#RD", %1"         "\n\t"    \
+      "bal  end21"#RSval        "\n\t"    \
+      "nop"                     "\n\t"    \
+      "addi $"#RD", $"#RD", 5"  "\n\t"    \
+      "b    r_end"#RSval        "\n\t"    \
+      "nop"                     "\n\t"    \
+      "addi $"#RD", $"#RD", 1"  "\n\t"    \
+      "end21"#RSval":"          "\n\t"    \
+      "addi $"#RD", $"#RD", 1"  "\n\t"    \
+      "jr   $ra"                "\n\t"    \
+      "nop"                     "\n\t"    \
+      "r_end"#RSval":"          "\n\t"    \
+      "move %0,     $"#RD       "\n\t"    \
+      ".set reorder"            "\n\t"    \
+      : "=r" (out)                        \
+      : "r" (RSval)                       \
+      : #RD, "ra"                         \
+   );                                     \
+   printf("B BAL JR :: %d, RSval: %d\n",  \
+          out, RSval);                    \
+}
+
+#define TESTINST3j(RSval, RD)               \
+{                                           \
+   unsigned int out = 0;                    \
+   __asm__ __volatile__(                    \
+      ".set noreorder"              "\n\t"  \
+      "move $"#RD", %1"             "\n\t"  \
+      "dla  $t9,    end31"#RSval    "\n\t"  \
+      "jal  $t9"                    "\n\t"  \
+      "nop"                         "\n\t"  \
+      "addi $"#RD", $"#RD", 5"      "\n\t"  \
+      "dla  $t9,    r_end11"#RSval  "\n\t"  \
+      "j    $t9"                    "\n\t"  \
+      "nop"                         "\n\t"  \
+      "end31"#RSval":"              "\n\t"  \
+      "addi $"#RD", $"#RD", 1"      "\n\t"  \
+      "jr   $ra"                    "\n\t"  \
+      "nop"                         "\n\t"  \
+      "r_end11"#RSval":"            "\n\t"  \
+      "move %0, $"#RD               "\n\t"  \
+      ".set reorder"                "\n\t"  \
+      : "=r" (out)                          \
+      : "r" (RSval)                         \
+      : #RD, "t9"                           \
+   );                                       \
+   printf("J JAL JR :: %d, RSval: %d\n",    \
+          out, RSval);                      \
+}
+
+#define TESTINST3ja(RSval, RD)             \
+{                                          \
+   unsigned int out = 0;                   \
+   __asm__ __volatile__(                   \
+      ".set noreorder"            "\n\t"   \
+      "move $"#RD", %1"           "\n\t"   \
+      "dla  $t9,    end41"#RSval  "\n\t"   \
+      "jalr $t0,    $t9"          "\n\t"   \
+      "nop"                       "\n\t"   \
+      "addi $"#RD", $"#RD", 5"    "\n\t"   \
+      "dla  $t9, r_end21"#RSval   "\n\t"   \
+      "j    $t9"                  "\n\t"   \
+      "nop"                       "\n\t"   \
+      "addi $"#RD", $"#RD", 1"    "\n\t"   \
+      "end41"#RSval":"            "\n\t"   \
+      "addi $"#RD", $"#RD", 1"    "\n\t"   \
+      "move $t9,    $t0"          "\n\t"   \
+      "jr   $t9"                  "\n\t"   \
+      "nop"                       "\n\t"   \
+      "r_end21"#RSval":"          "\n\t"   \
+      "move %0,     $"#RD         "\n\t"   \
+      ".set reorder"              "\n\t"   \
+      : "=r" (out)                         \
+      : "r" (RSval)                        \
+      : #RD, "t0", "t9"                    \
+   );                                      \
+   printf("J JALR JR :: %d, RSval: %d\n",  \
+          out, RSval);                     \
+}
+
+#define TESTINST4(instruction, RDval, RSval, RTval, RD, RS, RT)         \
+{                                                                       \
+   unsigned int out = 0;                                                \
+   __asm__ __volatile__(                                                \
+      ".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"        \
+      "nop"                                               "\n\t"        \
+      "addi        $"#RD", $"#RD", 5"                     "\n\t"        \
+      "end"instruction#RDval":"                           "\n\t"        \
+      "addi        $"#RD", $"#RD", 1"                     "\n\t"        \
+      "move        %0,     $" #RD                         "\n\t"        \
+      ".set reorder"                                      "\n\t"        \
+      : "=r" (out)                                                      \
+      : "r" (RSval), "r" (RTval), "r" (RDval)                           \
+      : #RD, #RS, #RT                                                   \
+   );                                                                   \
+   printf(instruction" :: out: %d, RDval: %d, RSval: %d, RTval: %d\n",  \
+          out, RDval, RSval, RTval);                                    \
+}
+
+#define TESTINST5(instruction, RDval, RSval, RD, RS)          \
+{                                                             \
+   unsigned int out = 0;                                      \
+   __asm__ __volatile__(                                      \
+      ".set        noreorder"                     "\n\t"      \
+      "move        $"#RS", %1"                    "\n\t"      \
+      "move        $"#RD", %2"                    "\n\t"      \
+      instruction" $"#RS", end"instruction#RDval  "\n\t"      \
+      "nop"                                       "\n\t"      \
+      "addi        $"#RD", $"#RD", 5"             "\n\t"      \
+      "end"instruction#RDval":"                   "\n\t"      \
+      "addi        $"#RD", $"#RD", 1"             "\n\t"      \
+      "move        %0,     $"#RD                  "\n\t"      \
+      ".set        reorder"                       "\n\t"      \
+      : "=r" (out)                                            \
+      : "r" (RSval), "r" (RDval)                              \
+      : #RD, #RS                                              \
+    );                                                        \
+    printf(instruction" :: out: %d, RDval: %d, RSval: %d\n",  \
+           out, RDval, RSval);                                \
+}
+
+#define TESTINST6(instruction, RDval, RSval, RD, RS)         \
+{                                                            \
+   unsigned int out = 0;                                     \
+   __asm__ __volatile__(                                     \
+      ".set        noreorder"                       "\n\t"   \
+      "move        $"#RD", %2"                      "\n\t"   \
+      "move        $"#RS", %1"                      "\n\t"   \
+      instruction" $"#RS", end21"instruction#RDval  "\n\t"   \
+      "nop"                                         "\n\t"   \
+      "addi        $"#RD", $"#RD", 5"               "\n\t"   \
+      "b           r_end"instruction#RDval          "\n\t"   \
+      "nop"                                         "\n\t"   \
+      "end21"instruction#RDval":"                   "\n\t"   \
+      "addi        $"#RD", $"#RD", 1"               "\n\t"   \
+      "jr          $ra"                             "\n\t"   \
+      "r_end"instruction#RDval":"                   "\n\t"   \
+      "move        %0, $"#RD                        "\n\t"   \
+      ".set        reorder"                         "\n\t"   \
+      : "=r" (out)                                           \
+      : "r" (RSval), "r" (RDval)                             \
+      : #RD, #RS, "ra"                                       \
+   );                                                        \
+   printf(instruction" :: out: %d, RDval: %d, RSval: %d\n",  \
+          out, RDval, RSval);                                \
+}
+
+#define TESTINST4l(instruction, RDval, RSval, RTval, RD, RS, RT)        \
+{                                                                       \
+   unsigned int out = 0;                                                \
+   __asm__ __volatile__(                                                \
+      ".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"        \
+      "addi        $"#RD", $"#RD", 3"                     "\n\t"        \
+      "addi        $"#RD", $"#RD", 5"                     "\n\t"        \
+      "end"instruction#RDval":"                           "\n\t"        \
+      "addi        $"#RD", $"#RD", 1"                     "\n\t"        \
+      "move        %0, $"#RD                              "\n\t"        \
+      ".set        reorder"                               "\n\t"        \
+      : "=r" (out)                                                      \
+      : "r" (RSval), "r" (RTval), "r" (RDval)                           \
+      : #RD, #RS, #RT                                                   \
+   );                                                                   \
+   printf(instruction" :: out: %d, RDval: %d, RSval: %d, RTval: %d\n",  \
+          out, RDval, RSval, RTval);                                    \
+}
+
+#define TESTINST5l(instruction, RDval, RSval, RD, RS)        \
+{                                                            \
+   unsigned int out = 0;                                     \
+   __asm__ __volatile__(                                     \
+      ".set        noreorder"                     "\n\t"     \
+      "move        $"#RS", %1"                    "\n\t"     \
+      "move        $"#RD", %2"                    "\n\t"     \
+      instruction" $"#RS", end"instruction#RDval  "\n\t"     \
+      "addi        $"#RD", $"#RD", 3"             "\n\t"     \
+      "addi        $"#RD", $"#RD", 5"             "\n\t"     \
+      "end"instruction#RDval":"                   "\n\t"     \
+      "addi        $"#RD", $"#RD", 1"             "\n\t"     \
+      "move        %0,     $"#RD                  "\n\t"     \
+      ".set        reorder"                       "\n\t"     \
+      : "=r" (out)                                           \
+      : "r" (RSval), "r" (RDval)                             \
+      : #RD, #RS                                             \
+   );                                                        \
+   printf(instruction" :: out: %d, RDval: %d, RSval: %d\n",  \
+          out, RDval, RSval);                                \
+}
+
+#define TESTINST6l(instruction, RDval, RSval, RD, RS)        \
+{                                                            \
+   unsigned int out = 0;                                     \
+   __asm__ __volatile__(                                     \
+      ".set        noreorder"                       "\n\t"   \
+      "move        $"#RD", %2"                      "\n\t"   \
+      "move        $"#RS", %1"                      "\n\t"   \
+      instruction" $"#RS", end21"instruction#RDval  "\n\t"   \
+      "addi        $"#RD", $"#RD", 3"               "\n\t"   \
+      "addi        $"#RD", $"#RD", 5"               "\n\t"   \
+      "b           r_end"instruction#RDval          "\n\t"   \
+      "nop"                                         "\n\t"   \
+      "end21"instruction#RDval":"                   "\n\t"   \
+      "addi        $"#RD", $"#RD", 1"               "\n\t"   \
+      "jr          $ra"                             "\n\t"   \
+      "nop"                                         "\n\t"   \
+      "r_end"instruction#RDval":"                   "\n\t"   \
+      "move        %0, $"#RD                        "\n\t"   \
+      ".set        reorder"                         "\n\t"   \
+      : "=r" (out)                                           \
+      : "r" (RSval), "r" (RDval)                             \
+      : #RD, #RS, "ra"                                       \
+   );                                                        \
+   printf(instruction" :: out: %d, RDval: %d, RSval: %d\n",  \
+          out, RDval, RSval);                                \
+}
+
+
+int main()
+{
+   printf("b\n");
+   TESTINST1(0,  2);
+   TESTINST1(1,  3);
+   TESTINST1(2,  4);
+   TESTINST1(3,  5);
+   TESTINST1(4,  6);
+   TESTINST1(5,  7);
+   TESTINST1(6,  8);
+   TESTINST1(7,  9);
+   TESTINST1(8,  10);
+   TESTINST1(9,  11);
+   TESTINST1(10, 12);
+   TESTINST1(11, 13);
+   TESTINST1(12, 14);
+   TESTINST1(13, 15);
+   TESTINST1(14, 16);
+   TESTINST1(15, 17);
+   TESTINST1(16, 18);
+   TESTINST1(17, 19);
+   TESTINST1(18, 20);
+   TESTINST1(19, 21);
+   TESTINST1(20, 22);
+   TESTINST1(21, 23);
+   TESTINST1(22, 24);
+   TESTINST1(23, 25);
+
+   printf("b\n");
+   TESTINST2(0,  2);
+   TESTINST2(1,  3);
+   TESTINST2(2,  4);
+   TESTINST2(3,  5);
+   TESTINST2(4,  6);
+   TESTINST2(5,  7);
+   TESTINST2(6,  8);
+   TESTINST2(7,  9);
+   TESTINST2(8,  10);
+   TESTINST2(9,  11);
+   TESTINST2(10, 12);
+   TESTINST2(11, 13);
+   TESTINST2(12, 14);
+   TESTINST2(13, 15);
+   TESTINST2(14, 16);
+   TESTINST2(15, 17);
+   TESTINST2(16, 18);
+   TESTINST2(17, 19);
+   TESTINST2(18, 20);
+   TESTINST2(19, 21);
+   TESTINST2(20, 22);
+   TESTINST2(21, 23);
+   TESTINST2(22, 24);
+   TESTINST2(23, 25);
+
+   printf("b, bal, jr\n");
+   TESTINST3(0,  2);
+   TESTINST3(1,  3);
+   TESTINST3(2,  4);
+   TESTINST3(3,  5);
+   TESTINST3(4,  6);
+   TESTINST3(5,  7);
+   TESTINST3(6,  8);
+   TESTINST3(7,  9);
+   TESTINST3(8,  10);
+   TESTINST3(9,  11);
+   TESTINST3(10, 12);
+   TESTINST3(11, 13);
+   TESTINST3(12, 14);
+   TESTINST3(13, 15);
+   TESTINST3(14, 16);
+   TESTINST3(15, 17);
+   TESTINST3(16, 18);
+   TESTINST3(17, 19);
+   TESTINST3(18, 20);
+   TESTINST3(19, 21);
+   TESTINST3(20, 22);
+   TESTINST3(21, 23);
+   TESTINST3(22, 24);
+   TESTINST3(23, 25);
+
+   printf("--- BEQ ---  if RSval == RTval then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TESTINST4("beq", 0,  0,          1,          2,  3 , 4);
+   TESTINST4("beq", 1,  1,          1,          3,  4,  5);
+   TESTINST4("beq", 2,  0xffffffff, 0xffffffff, 4,  5,  6);
+   TESTINST4("beq", 3,  0xffffffff, 0xfffffffe, 5,  6,  7);
+   TESTINST4("beq", 4,  0xfffffffe, 0xffffffff, 6,  8,  9);
+   TESTINST4("beq", 5,  0xffffffff, 0xffffffff, 7,  8,  9);
+   TESTINST4("beq", 6,  0x5,        0x5,        8,  9,  10);
+   TESTINST4("beq", 7,  -3,         -4,         9,  10, 11);
+   TESTINST4("beq", 8,  125,        125,        10, 11, 12);
+   TESTINST4("beq", 9,  0x80000000, 0x80000000, 11, 12, 13);
+   TESTINST4("beq", 10, 0xffffffff, 0x80000000, 12, 13, 14);
+   TESTINST4("beq", 11, 0x256,      0x256,      13, 14, 15);
+   TESTINST4("beq", 12, 0x55,       0x55,       14, 15, 16);
+   TESTINST4("beq", 13, 0xfff,      0xdd,       16, 17, 18);
+   TESTINST4("beq", 14, -1,         0x5,        2,  25, 24);
+   TESTINST4("beq", 15, -1,         -1,         25, 24, 7);
+
+   printf("--- BNE ---  if RSval != RTval then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TESTINST4("bne", 0,  0,          1,          2,  3,  4);
+   TESTINST4("bne", 1,  1,          1,          3,  4,  5);
+   TESTINST4("bne", 2,  0xffffffff, 0xffffffff, 4,  5,  6);
+   TESTINST4("bne", 3,  0xffffffff, 0xfffffffe, 5,  6,  7);
+   TESTINST4("bne", 4,  0xfffffffe, 0xffffffff, 6,  8,  9);
+   TESTINST4("bne", 5,  0xffffffff, 0xffffffff, 7,  8,  9);
+   TESTINST4("bne", 6,  0x5,        0x5,        8,  9,  10);
+   TESTINST4("bne", 7,  -3,         -4,         9,  10, 11);
+   TESTINST4("bne", 8,  125,        125,        10, 11, 12);
+   TESTINST4("bne", 9,  0x80000000, 0x80000000, 11, 12, 13);
+   TESTINST4("bne", 10, 0xffffffff, 0x80000000, 12, 13, 14);
+   TESTINST4("bne", 11, 0x256,      0x256,      13, 14, 15);
+   TESTINST4("bne", 12, 0x55,       0x55,       14, 15, 16);
+   TESTINST4("bne", 13, 0xfff,      0xdd,       16, 17, 18);
+   TESTINST4("bne", 14, -1,         0x5,        2,  25, 24);
+   TESTINST4("bne", 15, -1,         -1,         25, 24, 7);
+
+   printf("--- BEQZ ---  if RSval == 0 then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TESTINST5("beqz", 0,  0,          2,  3);
+   TESTINST5("beqz", 1,  1,          3,  4);
+   TESTINST5("beqz", 2,  0xffffffff, 4,  5);
+   TESTINST5("beqz", 3,  0xffffffff, 5,  6);
+   TESTINST5("beqz", 4,  0xfffffffe, 6,  8);
+   TESTINST5("beqz", 5,  0xffffffff, 7,  8);
+   TESTINST5("beqz", 6,  0x5,        8,  9);
+   TESTINST5("beqz", 7,  -3,         9,  10);
+   TESTINST5("beqz", 8,  125,        10, 11);
+   TESTINST5("beqz", 9,  0x80000000, 11, 12);
+   TESTINST5("beqz", 10, 0xffffffff, 12, 13);
+   TESTINST5("beqz", 11, 0x256,      13, 14);
+   TESTINST5("beqz", 12, 0x55,       14, 15);
+   TESTINST5("beqz", 13, 0xfff,      16, 17);
+   TESTINST5("beqz", 14, -1,         2,  25);
+   TESTINST5("beqz", 15, -1,         25, 24);
+
+   printf("--- BGEZ ---  if RSval >= 0 then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TESTINST5("bgez", 0,  0,          2,  3);
+   TESTINST5("bgez", 1,  1,          3,  4);
+   TESTINST5("bgez", 2,  0xffffffff, 4,  5);
+   TESTINST5("bgez", 3,  0xffffffff, 5,  6);
+   TESTINST5("bgez", 4,  0xfffffffe, 6,  8);
+   TESTINST5("bgez", 5,  0xffffffff, 7,  8);
+   TESTINST5("bgez", 6,  0x5,        8,  9);
+   TESTINST5("bgez", 7,  -3,         9,  10);
+   TESTINST5("bgez", 8,  125,        10, 11);
+   TESTINST5("bgez", 9,  0x80000000, 11, 12);
+   TESTINST5("bgez", 10, 0xffffffff, 12, 13);
+   TESTINST5("bgez", 11, 0x256,      13, 14);
+   TESTINST5("bgez", 12, 0x55,       14, 15);
+   TESTINST5("bgez", 13, 0xfff,      16, 17);
+   TESTINST5("bgez", 14, -1,         2,  25);
+   TESTINST5("bgez", 15, -1,         25, 24);
+
+   printf("--- BGTZ ---  if RSval > 0 then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TESTINST5("bgtz", 0,  0,          2,  3);
+   TESTINST5("bgtz", 1,  1,          3,  4);
+   TESTINST5("bgtz", 2,  0xffffffff, 4,  5);
+   TESTINST5("bgtz", 3,  0xffffffff, 5,  6);
+   TESTINST5("bgtz", 4,  0xfffffffe, 6,  8);
+   TESTINST5("bgtz", 5,  0xffffffff, 7,  8);
+   TESTINST5("bgtz", 6,  0x5,        8,  9);
+   TESTINST5("bgtz", 7,  -3,         9,  10);
+   TESTINST5("bgtz", 8,  125,        10, 11);
+   TESTINST5("bgtz", 9,  0x80000000, 11, 12);
+   TESTINST5("bgtz", 10, 0xffffffff, 12, 13);
+   TESTINST5("bgtz", 11, 0x256,      13, 14);
+   TESTINST5("bgtz", 12, 0x55,       14, 15);
+   TESTINST5("bgtz", 13, 0xfff,      16, 17);
+   TESTINST5("bgtz", 14, -1,         2,  25);
+   TESTINST5("bgtz", 15, -1,         25, 24);
+
+   printf("--- BLEZ ---  if RSval <= 0 then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TESTINST5("blez", 0,  0,          2,  3);
+   TESTINST5("blez", 1,  1,          3,  4);
+   TESTINST5("blez", 2,  0xffffffff, 4,  5);
+   TESTINST5("blez", 3,  0xffffffff, 5,  6);
+   TESTINST5("blez", 4,  0xfffffffe, 6,  8);
+   TESTINST5("blez", 5,  0xffffffff, 7,  8);
+   TESTINST5("blez", 6,  0x5,        8,  9);
+   TESTINST5("blez", 7,  -3,         9,  10);
+   TESTINST5("blez", 8,  125,        10, 11);
+   TESTINST5("blez", 9,  0x80000000, 11, 12);
+   TESTINST5("blez", 10, 0xffffffff, 12, 13);
+   TESTINST5("blez", 11, 0x256,      13, 14);
+   TESTINST5("blez", 12, 0x55,       14, 15);
+   TESTINST5("blez", 13, 0xfff,      16, 17);
+   TESTINST5("blez", 14, -1,         2,  25);
+   TESTINST5("blez", 15, -1,         25, 24);
+
+   printf("--- BLTZ ---  if RSval < 0 then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TESTINST5("bltz", 0,  0,          2,  3);
+   TESTINST5("bltz", 1,  1,          3,  4);
+   TESTINST5("bltz", 2,  0xffffffff, 4,  5);
+   TESTINST5("bltz", 3,  0xffffffff, 5,  6);
+   TESTINST5("bltz", 4,  0xfffffffe, 6,  8);
+   TESTINST5("bltz", 5,  0xffffffff, 7,  8);
+   TESTINST5("bltz", 6,  0x5,        8,  9);
+   TESTINST5("bltz", 7,  -3,         9,  10);
+   TESTINST5("bltz", 8,  125,        10, 11);
+   TESTINST5("bltz", 9,  0x80000000, 11, 12);
+   TESTINST5("bltz", 10, 0xffffffff, 12, 13);
+   TESTINST5("bltz", 11, 0x256,      13, 14);
+   TESTINST5("bltz", 12, 0x55,       14, 15);
+   TESTINST5("bltz", 13, 0xfff,      16, 17);
+   TESTINST5("bltz", 14, -1,         2,  25);
+   TESTINST5("bltz", 15, -1,         25, 24);
+
+   printf("--- BGEZAL ---  if RSval >= 0 then " \
+          "out = RDval + 6 else out = RDval + 5\n");
+   TESTINST6("bgezal", 0,  0,          2,  3);
+   TESTINST6("bgezal", 1,  1,          3,  4);
+   TESTINST6("bgezal", 2,  0xffffffff, 4,  5);
+   TESTINST6("bgezal", 3,  0xffffffff, 5,  6);
+   TESTINST6("bgezal", 4,  0xfffffffe, 6,  8);
+   TESTINST6("bgezal", 5,  0xffffffff, 7,  8);
+   TESTINST6("bgezal", 6,  0x5,        8,  9);
+   TESTINST6("bgezal", 7,  -3,         9,  10);
+   TESTINST6("bgezal", 8,  125,        10, 11);
+   TESTINST6("bgezal", 9,  0x80000000, 11, 12);
+   TESTINST6("bgezal", 10, 0xffffffff, 12, 13);
+   TESTINST6("bgezal", 11, 0x256,      13, 14);
+   TESTINST6("bgezal", 12, 0x55,       14, 15);
+   TESTINST6("bgezal", 13, 0xfff,      16, 17);
+   TESTINST6("bgezal", 14, -1,         2,  25);
+   TESTINST6("bgezal", 15, -1,         25, 24);
+
+   printf("--- BLTZAL ---  if RSval < 0 then " \
+          "out = RDval + 6 else out = RDval + 5\n");
+   TESTINST6("bltzal", 0,  0,          2,  3);
+   TESTINST6("bltzal", 1,  1,          3,  4);
+   TESTINST6("bltzal", 2,  0xffffffff, 4,  5);
+   TESTINST6("bltzal", 3,  0xffffffff, 5,  6);
+   TESTINST6("bltzal", 4,  0xfffffffe, 6,  8);
+   TESTINST6("bltzal", 5,  0xffffffff, 7,  8);
+   TESTINST6("bltzal", 6,  0x5,        8,  9);
+   TESTINST6("bltzal", 7,  -3,         9,  10);
+   TESTINST6("bltzal", 8,  125,        10, 11);
+   TESTINST6("bltzal", 9,  0x80000000, 11, 12);
+   TESTINST6("bltzal", 10, 0xffffffff, 12, 13);
+   TESTINST6("bltzal", 11, 0x256,      13, 14);
+   TESTINST6("bltzal", 12, 0x55,       14, 15);
+   TESTINST6("bltzal", 13, 0xfff,      16, 17);
+   TESTINST6("bltzal", 14, -1,         2,  25);
+   TESTINST6("bltzal", 15, -1,         25, 24);
+
+   printf("--- BNEZ ---  if RSval != 0 then " \
+          "out = RDval + 1 else out = RDval + 6\n");
+   TESTINST5("bnez", 0,  0,          2,  3);
+   TESTINST5("bnez", 1,  1,          3,  4);
+   TESTINST5("bnez", 2,  0xffffffff, 4,  5);
+   TESTINST5("bnez", 3,  0xffffffff, 5,  6);
+   TESTINST5("bnez", 4,  0xfffffffe, 6,  8);
+   TESTINST5("bnez", 5,  0xffffffff, 7,  8);
+   TESTINST5("bnez", 6,  0x5,        8,  9);
+   TESTINST5("bnez", 7,  -3,         9,  10);
+   TESTINST5("bnez", 8,  125,        10, 11);
+   TESTINST5("bnez", 9,  0x80000000, 11, 12);
+   TESTINST5("bnez", 10, 0xffffffff, 12, 13);
+   TESTINST5("bnez", 11, 0x256,      13, 14);
+   TESTINST5("bnez", 12, 0x55,       14, 15);
+   TESTINST5("bnez", 13, 0xfff,      16, 17);
+   TESTINST5("bnez", 14, -1,         2,  25);
+   TESTINST5("bnez", 15, -1,         25, 24);
+
+   printf("--- BEQL ---  if RSval == RTval then " \
+          "out = RDval + 4 else out = RDval + 6\n");
+   TESTINST4l("beql", 0,  0,          1,          2,  3,  4);
+   TESTINST4l("beql", 1,  1,          1,          3,  4,  5);
+   TESTINST4l("beql", 2,  0xffffffff, 0xffffffff, 4,  5,  6);
+   TESTINST4l("beql", 3,  0xffffffff, 0xfffffffe, 5,  6,  7);
+   TESTINST4l("beql", 4,  0xfffffffe, 0xffffffff, 6,  8,  9);
+   TESTINST4l("beql", 5,  0xffffffff, 0xffffffff, 7,  8,  9);
+   TESTINST4l("beql", 6,  0x5,        0x5,        8,  9,  10);
+   TESTINST4l("beql", 7,  -3,         -4,         9,  10, 11);
+   TESTINST4l("beql", 8,  125,        125,        10, 11, 12);
+   TESTINST4l("beql", 9,  0x80000000, 0x80000000, 11, 12, 13);
+   TESTINST4l("beql", 10, 0xffffffff, 0x80000000, 12, 13, 14);
+   TESTINST4l("beql", 11, 0x256,      0x256,      13, 14, 15);
+   TESTINST4l("beql", 12, 0x55,       0x55,       14, 15, 16);
+   TESTINST4l("beql", 13, 0xfff,      0xdd,       16, 17, 18);
+   TESTINST4l("beql", 14, -1,         0x5,        2,  25, 24);
+   TESTINST4l("beql", 15, -1,         -1,         25, 24, 7);
+
+   printf("--- BGEZALL ---  if RSval >= 0 then " \
+          "out = RDval + 4 else out = RDval + 6\n");
+   TESTINST5l("bgezall", 0,  0,          2,  3);
+   TESTINST5l("bgezall", 1,  1,          3,  4);
+   TESTINST5l("bgezall", 2,  0xffffffff, 4,  5);
+   TESTINST5l("bgezall", 3,  0xffffffff, 5,  6);
+   TESTINST5l("bgezall", 4,  0xfffffffe, 6,  8);
+   TESTINST5l("bgezall", 5,  0xffffffff, 7,  8);
+   TESTINST5l("bgezall", 6,  0x5,        8,  9);
+   TESTINST5l("bgezall", 7,  -3,         9,  10);
+   TESTINST5l("bgezall", 8,  125,        10, 11);
+   TESTINST5l("bgezall", 9,  0x80000000, 11, 12);
+   TESTINST5l("bgezall", 10, 0xffffffff, 12, 13);
+   TESTINST5l("bgezall", 11, 0x256,      13, 14);
+   TESTINST5l("bgezall", 12, 0x55,       14, 15);
+   TESTINST5l("bgezall", 13, 0xfff,      16, 17);
+   TESTINST5l("bgezall", 14, -1,         2,  25);
+   TESTINST5l("bgezall", 15, -1,         25, 24);
+
+   printf("--- BLTZALL ---  if RSval < 0 then " \
+          "out = RDval + 4 else out = RDval + 6\n");
+   TESTINST5l("bltzall", 0,  0,          2,  3);
+   TESTINST5l("bltzall", 1,  1,          3,  4);
+   TESTINST5l("bltzall", 2,  0xffffffff, 4,  5);
+   TESTINST5l("bltzall", 3,  0xffffffff, 5,  6);
+   TESTINST5l("bltzall", 4,  0xfffffffe, 6,  8);
+   TESTINST5l("bltzall", 5,  0xffffffff, 7,  8);
+   TESTINST5l("bltzall", 6,  0x5,        8,  9);
+   TESTINST5l("bltzall", 7,  -3,         9,  10);
+   TESTINST5l("bltzall", 8,  125,        10, 11);
+   TESTINST5l("bltzall", 9,  0x80000000, 11, 12);
+   TESTINST5l("bltzall", 10, 0xffffffff, 12, 13);
+   TESTINST5l("bltzall", 11, 0x256,      13, 14);
+   TESTINST5l("bltzall", 12, 0x55,       14, 15);
+   TESTINST5l("bltzall", 13, 0xfff,      16, 17);
+   TESTINST5l("bltzall", 14, -1,         2,  25);
+   TESTINST5l("bltzall", 15, -1,         25, 24);
+
+   printf("--- BGEZL ---  if RSval >= 0 then " \
+          "out = RDval + 4 else out = RDval + 6\n");
+   TESTINST5l("bgezl", 0,  0,          2,  3);
+   TESTINST5l("bgezl", 1,  1,          3,  4);
+   TESTINST5l("bgezl", 2,  0xffffffff, 4,  5);
+   TESTINST5l("bgezl", 3,  0xffffffff, 5,  6);
+   TESTINST5l("bgezl", 4,  0xfffffffe, 6,  8);
+   TESTINST5l("bgezl", 5,  0xffffffff, 7,  8);
+   TESTINST5l("bgezl", 6,  0x5,        8,  9);
+   TESTINST5l("bgezl", 7,  -3,         9,  10);
+   TESTINST5l("bgezl", 8,  125,        10, 11);
+   TESTINST5l("bgezl", 9,  0x80000000, 11, 12);
+   TESTINST5l("bgezl", 10, 0xffffffff, 12, 13);
+   TESTINST5l("bgezl", 11, 0x256,      13, 14);
+   TESTINST5l("bgezl", 12, 0x55,       14, 15);
+   TESTINST5l("bgezl", 13, 0xfff,      16, 17);
+   TESTINST5l("bgezl", 14, -1,         2,  25);
+   TESTINST5l("bgezl", 15, -1,         25, 24);
+
+   printf("--- BGTZL ---  if RSval > 0 then " \
+          "out = RDval + 4 else out = RDval + 6\n");
+   TESTINST5l("bgtzl", 0,  0,          2,  3);
+   TESTINST5l("bgtzl", 1,  1,          3,  4);
+   TESTINST5l("bgtzl", 2,  0xffffffff, 4,  5);
+   TESTINST5l("bgtzl", 3,  0xffffffff, 5,  6);
+   TESTINST5l("bgtzl", 4,  0xfffffffe, 6,  8);
+   TESTINST5l("bgtzl", 5,  0xffffffff, 7,  8);
+   TESTINST5l("bgtzl", 6,  0x5,        8,  9);
+   TESTINST5l("bgtzl", 7,  -3,         9,  10);
+   TESTINST5l("bgtzl", 8,  125,        10, 11);
+   TESTINST5l("bgtzl", 9,  0x80000000, 11, 12);
+   TESTINST5l("bgtzl", 10, 0xffffffff, 12, 13);
+   TESTINST5l("bgtzl", 11, 0x256,      13, 14);
+   TESTINST5l("bgtzl", 12, 0x55,       14, 15);
+   TESTINST5l("bgtzl", 13, 0xfff,      16, 17);
+   TESTINST5l("bgtzl", 14, -1,         2,  25);
+   TESTINST5l("bgtzl", 15, -1,         25, 24);
+
+   printf("--- BLEZL ---  if RSval <= 0 then " \
+          "out = RDval + 4 else out = RDval + 6\n");
+   TESTINST5l("blezl", 0,  0,          2,  3);
+   TESTINST5l("blezl", 1,  1,          3,  4);
+   TESTINST5l("blezl", 2,  0xffffffff, 4,  5);
+   TESTINST5l("blezl", 3,  0xffffffff, 5,  6);
+   TESTINST5l("blezl", 4,  0xfffffffe, 6,  8);
+   TESTINST5l("blezl", 5,  0xffffffff, 7,  8);
+   TESTINST5l("blezl", 6,  0x5,        8,  9);
+   TESTINST5l("blezl", 7,  -3,         9,  10);
+   TESTINST5l("blezl", 8,  125,        10, 11);
+   TESTINST5l("blezl", 9,  0x80000000, 11, 12);
+   TESTINST5l("blezl", 10, 0xffffffff, 12, 13);
+   TESTINST5l("blezl", 11, 0x256,      13, 14);
+   TESTINST5l("blezl", 12, 0x55,       14, 15);
+   TESTINST5l("blezl", 13, 0xfff,      16, 17);
+   TESTINST5l("blezl", 14, -1,         2,  25);
+   TESTINST5l("blezl", 15, -1,         25, 24);
+
+   printf("--- BGEZALL ---  if RSval >= 0 then " \
+          "out = RDval + 9 else out = RDval + 5\n");
+   TESTINST6l("bgezall", 0,  0,          2,  3);
+   TESTINST6l("bgezall", 1,  1,          3,  4);
+   TESTINST6l("bgezall", 2,  0xffffffff, 4,  5);
+   TESTINST6l("bgezall", 3,  0xffffffff, 5,  6);
+   TESTINST6l("bgezall", 4,  0xfffffffe, 6,  8);
+   TESTINST6l("bgezall", 5,  0xffffffff, 7,  8);
+   TESTINST6l("bgezall", 6,  0x5,        8,  9);
+   TESTINST6l("bgezall", 7,  -3,         9,  10);
+   TESTINST6l("bgezall", 8,  125,        10, 11);
+   TESTINST6l("bgezall", 9,  0x80000000, 11, 12);
+   TESTINST6l("bgezall", 10, 0xffffffff, 12, 13);
+   TESTINST6l("bgezall", 11, 0x256,      13, 14);
+   TESTINST6l("bgezall", 12, 0x55,       14, 15);
+   TESTINST6l("bgezall", 13, 0xfff,      16, 17);
+   TESTINST6l("bgezall", 14, -1,         2,  25);
+   TESTINST6l("bgezall", 15, -1,         25, 24);
+
+   printf("--- BLTZL ---  if RSval < 0 then " \
+          "out = RDval + 4 else out = RDval + 6\n");
+   TESTINST5l("bltzl", 0,  0,          2,  3);
+   TESTINST5l("bltzl", 1,  1,          3,  4);
+   TESTINST5l("bltzl", 2,  0xffffffff, 4,  5);
+   TESTINST5l("bltzl", 3,  0xffffffff, 5,  6);
+   TESTINST5l("bltzl", 4,  0xfffffffe, 6,  8);
+   TESTINST5l("bltzl", 5,  0xffffffff, 7,  8);
+   TESTINST5l("bltzl", 6,  0x5,        8,  9);
+   TESTINST5l("bltzl", 7,  -3,         9,  10);
+   TESTINST5l("bltzl", 8,  125,        10, 11);
+   TESTINST5l("bltzl", 9,  0x80000000, 11, 12);
+   TESTINST5l("bltzl", 10, 0xffffffff, 12, 13);
+   TESTINST5l("bltzl", 11, 0x256,      13, 14);
+   TESTINST5l("bltzl", 12, 0x55,       14, 15);
+   TESTINST5l("bltzl", 13, 0xfff,      16, 17);
+   TESTINST5l("bltzl", 14, -1,         2,  25);
+   TESTINST5l("bltzl", 15, -1,         25, 24);
+
+   printf("--- BNEL ---  if RSval != RTval then " \
+          "out = RDval + 4 else out = RDval + 5\n");
+   TESTINST4l("bnel", 0,  0,          1,          2,  3,  4);
+   TESTINST4l("bnel", 1,  1,          1,          3,  4,  5);
+   TESTINST4l("bnel", 2,  0xffffffff, 0xffffffff, 4,  5,  6);
+   TESTINST4l("bnel", 3,  0xffffffff, 0xfffffffe, 5,  6,  7);
+   TESTINST4l("bnel", 4,  0xfffffffe, 0xffffffff, 6,  8,  9);
+   TESTINST4l("bnel", 5,  0xffffffff, 0xffffffff, 7,  8,  9);
+   TESTINST4l("bnel", 6,  0x5,        0x5,        8,  9,  10);
+   TESTINST4l("bnel", 7,  -3,         -4,         9,  10, 11);
+   TESTINST4l("bnel", 8,  125,        125,        10, 11, 12);
+   TESTINST4l("bnel", 9,  0x80000000, 0x80000000, 11, 12, 13);
+   TESTINST4l("bnel", 10, 0xffffffff, 0x80000000, 12, 13, 14);
+   TESTINST4l("bnel", 11, 0x256,      0x256,      13, 14, 15);
+   TESTINST4l("bnel", 12, 0x55,       0x55,       14, 15, 16);
+   TESTINST4l("bnel", 13, 0xfff,      0xdd,       16, 17, 18);
+   TESTINST4l("bnel", 14, -1,         0x5,        2,  25, 24);
+   TESTINST4l("bnel", 15, -1,         -1,         25, 24, 7);
+
+   printf("j, jal, jr\n");
+   TESTINST3j(0,  2);
+   TESTINST3j(1,  3);
+   TESTINST3j(2,  4);
+   TESTINST3j(3,  5);
+   TESTINST3j(4,  6);
+   TESTINST3j(5,  7);
+   TESTINST3j(6,  4);
+   TESTINST3j(7,  9);
+   TESTINST3j(8,  10);
+   TESTINST3j(9,  11);
+   TESTINST3j(10, 12);
+   TESTINST3j(11, 13);
+   TESTINST3j(12, 14);
+   TESTINST3j(13, 15);
+   TESTINST3j(14, 16);
+   TESTINST3j(15, 17);
+   TESTINST3j(16, 18);
+   TESTINST3j(17, 19);
+   TESTINST3j(18, 20);
+   TESTINST3j(19, 21);
+   TESTINST3j(20, 22);
+   TESTINST3j(21, 23);
+   TESTINST3j(22, 24);
+   TESTINST3j(23, 24);
+
+   printf("j, jalr, jr\n");
+   TESTINST3ja(0,  2);
+   TESTINST3ja(1,  3);
+   TESTINST3ja(2,  4);
+   TESTINST3ja(3,  5);
+   TESTINST3ja(4,  6);
+   TESTINST3ja(5,  7);
+   TESTINST3ja(6,  4);
+   TESTINST3ja(7,  7);
+   TESTINST3ja(8,  10);
+   TESTINST3ja(9,  11);
+   TESTINST3ja(11, 13);
+   TESTINST3ja(12, 14);
+   TESTINST3ja(13, 15);
+   TESTINST3ja(14, 16);
+   TESTINST3ja(15, 17);
+   TESTINST3ja(16, 18);
+   TESTINST3ja(17, 19);
+   TESTINST3ja(18, 20);
+   TESTINST3ja(19, 21);
+   TESTINST3ja(20, 22);
+   TESTINST3ja(21, 23);
+   TESTINST3ja(22, 24);
+   TESTINST3ja(23, 24);
+
+   return 0;
+}
diff --git a/none/tests/mips64/branches.stderr.exp b/none/tests/mips64/branches.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/branches.stderr.exp
diff --git a/none/tests/mips64/branches.stdout.exp b/none/tests/mips64/branches.stdout.exp
new file mode 100644
index 0000000..c576424
--- /dev/null
+++ b/none/tests/mips64/branches.stdout.exp
@@ -0,0 +1,447 @@
+b
+B :: 1, RSval: 0
+B :: 2, RSval: 1
+B :: 3, RSval: 2
+B :: 4, RSval: 3
+B :: 5, RSval: 4
+B :: 6, RSval: 5
+B :: 7, RSval: 6
+B :: 8, RSval: 7
+B :: 9, RSval: 8
+B :: 10, RSval: 9
+B :: 11, RSval: 10
+B :: 12, RSval: 11
+B :: 13, RSval: 12
+B :: 14, RSval: 13
+B :: 15, RSval: 14
+B :: 16, RSval: 15
+B :: 17, RSval: 16
+B :: 18, RSval: 17
+B :: 19, RSval: 18
+B :: 20, RSval: 19
+B :: 21, RSval: 20
+B :: 22, RSval: 21
+B :: 23, RSval: 22
+B :: 24, RSval: 23
+b
+B :: 6, RSval: 0
+B :: 7, RSval: 1
+B :: 8, RSval: 2
+B :: 9, RSval: 3
+B :: 10, RSval: 4
+B :: 11, RSval: 5
+B :: 12, RSval: 6
+B :: 13, RSval: 7
+B :: 14, RSval: 8
+B :: 15, RSval: 9
+B :: 16, RSval: 10
+B :: 17, RSval: 11
+B :: 18, RSval: 12
+B :: 19, RSval: 13
+B :: 20, RSval: 14
+B :: 21, RSval: 15
+B :: 22, RSval: 16
+B :: 23, RSval: 17
+B :: 24, RSval: 18
+B :: 25, RSval: 19
+B :: 26, RSval: 20
+B :: 27, RSval: 21
+B :: 28, RSval: 22
+B :: 29, RSval: 23
+b, bal, jr
+B BAL JR :: 6, RSval: 0
+B BAL JR :: 7, RSval: 1
+B BAL JR :: 8, RSval: 2
+B BAL JR :: 9, RSval: 3
+B BAL JR :: 10, RSval: 4
+B BAL JR :: 11, RSval: 5
+B BAL JR :: 12, RSval: 6
+B BAL JR :: 13, RSval: 7
+B BAL JR :: 14, RSval: 8
+B BAL JR :: 15, RSval: 9
+B BAL JR :: 16, RSval: 10
+B BAL JR :: 17, RSval: 11
+B BAL JR :: 18, RSval: 12
+B BAL JR :: 19, RSval: 13
+B BAL JR :: 20, RSval: 14
+B BAL JR :: 21, RSval: 15
+B BAL JR :: 22, RSval: 16
+B BAL JR :: 23, RSval: 17
+B BAL JR :: 24, RSval: 18
+B BAL JR :: 25, RSval: 19
+B BAL JR :: 26, RSval: 20
+B BAL JR :: 27, RSval: 21
+B BAL JR :: 28, RSval: 22
+B BAL JR :: 29, RSval: 23
+--- BEQ ---  if RSval == RTval then out = RDval + 1 else out = RDval + 6
+beq :: out: 6, RDval: 0, RSval: 0, RTval: 1
+beq :: out: 2, RDval: 1, RSval: 1, RTval: 1
+beq :: out: 3, RDval: 2, RSval: -1, RTval: -1
+beq :: out: 9, RDval: 3, RSval: -1, RTval: -2
+beq :: out: 10, RDval: 4, RSval: -2, RTval: -1
+beq :: out: 6, RDval: 5, RSval: -1, RTval: -1
+beq :: out: 7, RDval: 6, RSval: 5, RTval: 5
+beq :: out: 13, RDval: 7, RSval: -3, RTval: -4
+beq :: out: 9, RDval: 8, RSval: 125, RTval: 125
+beq :: out: 10, RDval: 9, RSval: -2147483648, RTval: -2147483648
+beq :: out: 16, RDval: 10, RSval: -1, RTval: -2147483648
+beq :: out: 12, RDval: 11, RSval: 598, RTval: 598
+beq :: out: 13, RDval: 12, RSval: 85, RTval: 85
+beq :: out: 19, RDval: 13, RSval: 4095, RTval: 221
+beq :: out: 20, RDval: 14, RSval: -1, RTval: 5
+beq :: out: 16, RDval: 15, RSval: -1, RTval: -1
+--- BNE ---  if RSval != RTval then out = RDval + 1 else out = RDval + 6
+bne :: out: 1, RDval: 0, RSval: 0, RTval: 1
+bne :: out: 7, RDval: 1, RSval: 1, RTval: 1
+bne :: out: 8, RDval: 2, RSval: -1, RTval: -1
+bne :: out: 4, RDval: 3, RSval: -1, RTval: -2
+bne :: out: 5, RDval: 4, RSval: -2, RTval: -1
+bne :: out: 11, RDval: 5, RSval: -1, RTval: -1
+bne :: out: 12, RDval: 6, RSval: 5, RTval: 5
+bne :: out: 8, RDval: 7, RSval: -3, RTval: -4
+bne :: out: 14, RDval: 8, RSval: 125, RTval: 125
+bne :: out: 15, RDval: 9, RSval: -2147483648, RTval: -2147483648
+bne :: out: 11, RDval: 10, RSval: -1, RTval: -2147483648
+bne :: out: 17, RDval: 11, RSval: 598, RTval: 598
+bne :: out: 18, RDval: 12, RSval: 85, RTval: 85
+bne :: out: 14, RDval: 13, RSval: 4095, RTval: 221
+bne :: out: 15, RDval: 14, RSval: -1, RTval: 5
+bne :: out: 21, RDval: 15, RSval: -1, RTval: -1
+--- BEQZ ---  if RSval == 0 then out = RDval + 1 else out = RDval + 6
+beqz :: out: 1, RDval: 0, RSval: 0
+beqz :: out: 7, RDval: 1, RSval: 1
+beqz :: out: 8, RDval: 2, RSval: -1
+beqz :: out: 9, RDval: 3, RSval: -1
+beqz :: out: 10, RDval: 4, RSval: -2
+beqz :: out: 11, RDval: 5, RSval: -1
+beqz :: out: 12, RDval: 6, RSval: 5
+beqz :: out: 13, RDval: 7, RSval: -3
+beqz :: out: 14, RDval: 8, RSval: 125
+beqz :: out: 15, RDval: 9, RSval: -2147483648
+beqz :: out: 16, RDval: 10, RSval: -1
+beqz :: out: 17, RDval: 11, RSval: 598
+beqz :: out: 18, RDval: 12, RSval: 85
+beqz :: out: 19, RDval: 13, RSval: 4095
+beqz :: out: 20, RDval: 14, RSval: -1
+beqz :: out: 21, RDval: 15, RSval: -1
+--- BGEZ ---  if RSval >= 0 then out = RDval + 1 else out = RDval + 6
+bgez :: out: 1, RDval: 0, RSval: 0
+bgez :: out: 2, RDval: 1, RSval: 1
+bgez :: out: 8, RDval: 2, RSval: -1
+bgez :: out: 9, RDval: 3, RSval: -1
+bgez :: out: 10, RDval: 4, RSval: -2
+bgez :: out: 11, RDval: 5, RSval: -1
+bgez :: out: 7, RDval: 6, RSval: 5
+bgez :: out: 13, RDval: 7, RSval: -3
+bgez :: out: 9, RDval: 8, RSval: 125
+bgez :: out: 15, RDval: 9, RSval: -2147483648
+bgez :: out: 16, RDval: 10, RSval: -1
+bgez :: out: 12, RDval: 11, RSval: 598
+bgez :: out: 13, RDval: 12, RSval: 85
+bgez :: out: 14, RDval: 13, RSval: 4095
+bgez :: out: 20, RDval: 14, RSval: -1
+bgez :: out: 21, RDval: 15, RSval: -1
+--- BGTZ ---  if RSval > 0 then out = RDval + 1 else out = RDval + 6
+bgtz :: out: 6, RDval: 0, RSval: 0
+bgtz :: out: 2, RDval: 1, RSval: 1
+bgtz :: out: 8, RDval: 2, RSval: -1
+bgtz :: out: 9, RDval: 3, RSval: -1
+bgtz :: out: 10, RDval: 4, RSval: -2
+bgtz :: out: 11, RDval: 5, RSval: -1
+bgtz :: out: 7, RDval: 6, RSval: 5
+bgtz :: out: 13, RDval: 7, RSval: -3
+bgtz :: out: 9, RDval: 8, RSval: 125
+bgtz :: out: 15, RDval: 9, RSval: -2147483648
+bgtz :: out: 16, RDval: 10, RSval: -1
+bgtz :: out: 12, RDval: 11, RSval: 598
+bgtz :: out: 13, RDval: 12, RSval: 85
+bgtz :: out: 14, RDval: 13, RSval: 4095
+bgtz :: out: 20, RDval: 14, RSval: -1
+bgtz :: out: 21, RDval: 15, RSval: -1
+--- BLEZ ---  if RSval <= 0 then out = RDval + 1 else out = RDval + 6
+blez :: out: 1, RDval: 0, RSval: 0
+blez :: out: 7, RDval: 1, RSval: 1
+blez :: out: 3, RDval: 2, RSval: -1
+blez :: out: 4, RDval: 3, RSval: -1
+blez :: out: 5, RDval: 4, RSval: -2
+blez :: out: 6, RDval: 5, RSval: -1
+blez :: out: 12, RDval: 6, RSval: 5
+blez :: out: 8, RDval: 7, RSval: -3
+blez :: out: 14, RDval: 8, RSval: 125
+blez :: out: 10, RDval: 9, RSval: -2147483648
+blez :: out: 11, RDval: 10, RSval: -1
+blez :: out: 17, RDval: 11, RSval: 598
+blez :: out: 18, RDval: 12, RSval: 85
+blez :: out: 19, RDval: 13, RSval: 4095
+blez :: out: 15, RDval: 14, RSval: -1
+blez :: out: 16, RDval: 15, RSval: -1
+--- BLTZ ---  if RSval < 0 then out = RDval + 1 else out = RDval + 6
+bltz :: out: 6, RDval: 0, RSval: 0
+bltz :: out: 7, RDval: 1, RSval: 1
+bltz :: out: 3, RDval: 2, RSval: -1
+bltz :: out: 4, RDval: 3, RSval: -1
+bltz :: out: 5, RDval: 4, RSval: -2
+bltz :: out: 6, RDval: 5, RSval: -1
+bltz :: out: 12, RDval: 6, RSval: 5
+bltz :: out: 8, RDval: 7, RSval: -3
+bltz :: out: 14, RDval: 8, RSval: 125
+bltz :: out: 10, RDval: 9, RSval: -2147483648
+bltz :: out: 11, RDval: 10, RSval: -1
+bltz :: out: 17, RDval: 11, RSval: 598
+bltz :: out: 18, RDval: 12, RSval: 85
+bltz :: out: 19, RDval: 13, RSval: 4095
+bltz :: out: 15, RDval: 14, RSval: -1
+bltz :: out: 16, RDval: 15, RSval: -1
+--- BGEZAL ---  if RSval >= 0 then out = RDval + 6 else out = RDval + 5
+bgezal :: out: 6, RDval: 0, RSval: 0
+bgezal :: out: 7, RDval: 1, RSval: 1
+bgezal :: out: 7, RDval: 2, RSval: -1
+bgezal :: out: 8, RDval: 3, RSval: -1
+bgezal :: out: 9, RDval: 4, RSval: -2
+bgezal :: out: 10, RDval: 5, RSval: -1
+bgezal :: out: 12, RDval: 6, RSval: 5
+bgezal :: out: 12, RDval: 7, RSval: -3
+bgezal :: out: 14, RDval: 8, RSval: 125
+bgezal :: out: 14, RDval: 9, RSval: -2147483648
+bgezal :: out: 15, RDval: 10, RSval: -1
+bgezal :: out: 17, RDval: 11, RSval: 598
+bgezal :: out: 18, RDval: 12, RSval: 85
+bgezal :: out: 19, RDval: 13, RSval: 4095
+bgezal :: out: 19, RDval: 14, RSval: -1
+bgezal :: out: 20, RDval: 15, RSval: -1
+--- BLTZAL ---  if RSval < 0 then out = RDval + 6 else out = RDval + 5
+bltzal :: out: 5, RDval: 0, RSval: 0
+bltzal :: out: 6, RDval: 1, RSval: 1
+bltzal :: out: 8, RDval: 2, RSval: -1
+bltzal :: out: 9, RDval: 3, RSval: -1
+bltzal :: out: 10, RDval: 4, RSval: -2
+bltzal :: out: 11, RDval: 5, RSval: -1
+bltzal :: out: 11, RDval: 6, RSval: 5
+bltzal :: out: 13, RDval: 7, RSval: -3
+bltzal :: out: 13, RDval: 8, RSval: 125
+bltzal :: out: 15, RDval: 9, RSval: -2147483648
+bltzal :: out: 16, RDval: 10, RSval: -1
+bltzal :: out: 16, RDval: 11, RSval: 598
+bltzal :: out: 17, RDval: 12, RSval: 85
+bltzal :: out: 18, RDval: 13, RSval: 4095
+bltzal :: out: 20, RDval: 14, RSval: -1
+bltzal :: out: 21, RDval: 15, RSval: -1
+--- BNEZ ---  if RSval != 0 then out = RDval + 1 else out = RDval + 6
+bnez :: out: 6, RDval: 0, RSval: 0
+bnez :: out: 2, RDval: 1, RSval: 1
+bnez :: out: 3, RDval: 2, RSval: -1
+bnez :: out: 4, RDval: 3, RSval: -1
+bnez :: out: 5, RDval: 4, RSval: -2
+bnez :: out: 6, RDval: 5, RSval: -1
+bnez :: out: 7, RDval: 6, RSval: 5
+bnez :: out: 8, RDval: 7, RSval: -3
+bnez :: out: 9, RDval: 8, RSval: 125
+bnez :: out: 10, RDval: 9, RSval: -2147483648
+bnez :: out: 11, RDval: 10, RSval: -1
+bnez :: out: 12, RDval: 11, RSval: 598
+bnez :: out: 13, RDval: 12, RSval: 85
+bnez :: out: 14, RDval: 13, RSval: 4095
+bnez :: out: 15, RDval: 14, RSval: -1
+bnez :: out: 16, RDval: 15, RSval: -1
+--- BEQL ---  if RSval == RTval then out = RDval + 4 else out = RDval + 6
+beql :: out: 6, RDval: 0, RSval: 0, RTval: 1
+beql :: out: 5, RDval: 1, RSval: 1, RTval: 1
+beql :: out: 6, RDval: 2, RSval: -1, RTval: -1
+beql :: out: 9, RDval: 3, RSval: -1, RTval: -2
+beql :: out: 10, RDval: 4, RSval: -2, RTval: -1
+beql :: out: 9, RDval: 5, RSval: -1, RTval: -1
+beql :: out: 10, RDval: 6, RSval: 5, RTval: 5
+beql :: out: 13, RDval: 7, RSval: -3, RTval: -4
+beql :: out: 12, RDval: 8, RSval: 125, RTval: 125
+beql :: out: 13, RDval: 9, RSval: -2147483648, RTval: -2147483648
+beql :: out: 16, RDval: 10, RSval: -1, RTval: -2147483648
+beql :: out: 15, RDval: 11, RSval: 598, RTval: 598
+beql :: out: 16, RDval: 12, RSval: 85, RTval: 85
+beql :: out: 19, RDval: 13, RSval: 4095, RTval: 221
+beql :: out: 20, RDval: 14, RSval: -1, RTval: 5
+beql :: out: 19, RDval: 15, RSval: -1, RTval: -1
+--- BGEZALL ---  if RSval >= 0 then out = RDval + 4 else out = RDval + 6
+bgezall :: out: 4, RDval: 0, RSval: 0
+bgezall :: out: 5, RDval: 1, RSval: 1
+bgezall :: out: 8, RDval: 2, RSval: -1
+bgezall :: out: 9, RDval: 3, RSval: -1
+bgezall :: out: 10, RDval: 4, RSval: -2
+bgezall :: out: 11, RDval: 5, RSval: -1
+bgezall :: out: 10, RDval: 6, RSval: 5
+bgezall :: out: 13, RDval: 7, RSval: -3
+bgezall :: out: 12, RDval: 8, RSval: 125
+bgezall :: out: 15, RDval: 9, RSval: -2147483648
+bgezall :: out: 16, RDval: 10, RSval: -1
+bgezall :: out: 15, RDval: 11, RSval: 598
+bgezall :: out: 16, RDval: 12, RSval: 85
+bgezall :: out: 17, RDval: 13, RSval: 4095
+bgezall :: out: 20, RDval: 14, RSval: -1
+bgezall :: out: 21, RDval: 15, RSval: -1
+--- BLTZALL ---  if RSval < 0 then out = RDval + 4 else out = RDval + 6
+bltzall :: out: 6, RDval: 0, RSval: 0
+bltzall :: out: 7, RDval: 1, RSval: 1
+bltzall :: out: 6, RDval: 2, RSval: -1
+bltzall :: out: 7, RDval: 3, RSval: -1
+bltzall :: out: 8, RDval: 4, RSval: -2
+bltzall :: out: 9, RDval: 5, RSval: -1
+bltzall :: out: 12, RDval: 6, RSval: 5
+bltzall :: out: 11, RDval: 7, RSval: -3
+bltzall :: out: 14, RDval: 8, RSval: 125
+bltzall :: out: 13, RDval: 9, RSval: -2147483648
+bltzall :: out: 14, RDval: 10, RSval: -1
+bltzall :: out: 17, RDval: 11, RSval: 598
+bltzall :: out: 18, RDval: 12, RSval: 85
+bltzall :: out: 19, RDval: 13, RSval: 4095
+bltzall :: out: 18, RDval: 14, RSval: -1
+bltzall :: out: 19, RDval: 15, RSval: -1
+--- BGEZL ---  if RSval >= 0 then out = RDval + 4 else out = RDval + 6
+bgezl :: out: 4, RDval: 0, RSval: 0
+bgezl :: out: 5, RDval: 1, RSval: 1
+bgezl :: out: 8, RDval: 2, RSval: -1
+bgezl :: out: 9, RDval: 3, RSval: -1
+bgezl :: out: 10, RDval: 4, RSval: -2
+bgezl :: out: 11, RDval: 5, RSval: -1
+bgezl :: out: 10, RDval: 6, RSval: 5
+bgezl :: out: 13, RDval: 7, RSval: -3
+bgezl :: out: 12, RDval: 8, RSval: 125
+bgezl :: out: 15, RDval: 9, RSval: -2147483648
+bgezl :: out: 16, RDval: 10, RSval: -1
+bgezl :: out: 15, RDval: 11, RSval: 598
+bgezl :: out: 16, RDval: 12, RSval: 85
+bgezl :: out: 17, RDval: 13, RSval: 4095
+bgezl :: out: 20, RDval: 14, RSval: -1
+bgezl :: out: 21, RDval: 15, RSval: -1
+--- BGTZL ---  if RSval > 0 then out = RDval + 4 else out = RDval + 6
+bgtzl :: out: 6, RDval: 0, RSval: 0
+bgtzl :: out: 5, RDval: 1, RSval: 1
+bgtzl :: out: 8, RDval: 2, RSval: -1
+bgtzl :: out: 9, RDval: 3, RSval: -1
+bgtzl :: out: 10, RDval: 4, RSval: -2
+bgtzl :: out: 11, RDval: 5, RSval: -1
+bgtzl :: out: 10, RDval: 6, RSval: 5
+bgtzl :: out: 13, RDval: 7, RSval: -3
+bgtzl :: out: 12, RDval: 8, RSval: 125
+bgtzl :: out: 15, RDval: 9, RSval: -2147483648
+bgtzl :: out: 16, RDval: 10, RSval: -1
+bgtzl :: out: 15, RDval: 11, RSval: 598
+bgtzl :: out: 16, RDval: 12, RSval: 85
+bgtzl :: out: 17, RDval: 13, RSval: 4095
+bgtzl :: out: 20, RDval: 14, RSval: -1
+bgtzl :: out: 21, RDval: 15, RSval: -1
+--- BLEZL ---  if RSval <= 0 then out = RDval + 4 else out = RDval + 6
+blezl :: out: 4, RDval: 0, RSval: 0
+blezl :: out: 7, RDval: 1, RSval: 1
+blezl :: out: 6, RDval: 2, RSval: -1
+blezl :: out: 7, RDval: 3, RSval: -1
+blezl :: out: 8, RDval: 4, RSval: -2
+blezl :: out: 9, RDval: 5, RSval: -1
+blezl :: out: 12, RDval: 6, RSval: 5
+blezl :: out: 11, RDval: 7, RSval: -3
+blezl :: out: 14, RDval: 8, RSval: 125
+blezl :: out: 13, RDval: 9, RSval: -2147483648
+blezl :: out: 14, RDval: 10, RSval: -1
+blezl :: out: 17, RDval: 11, RSval: 598
+blezl :: out: 18, RDval: 12, RSval: 85
+blezl :: out: 19, RDval: 13, RSval: 4095
+blezl :: out: 18, RDval: 14, RSval: -1
+blezl :: out: 19, RDval: 15, RSval: -1
+--- BGEZALL ---  if RSval >= 0 then out = RDval + 9 else out = RDval + 5
+bgezall :: out: 9, RDval: 0, RSval: 0
+bgezall :: out: 10, RDval: 1, RSval: 1
+bgezall :: out: 7, RDval: 2, RSval: -1
+bgezall :: out: 8, RDval: 3, RSval: -1
+bgezall :: out: 9, RDval: 4, RSval: -2
+bgezall :: out: 10, RDval: 5, RSval: -1
+bgezall :: out: 15, RDval: 6, RSval: 5
+bgezall :: out: 12, RDval: 7, RSval: -3
+bgezall :: out: 17, RDval: 8, RSval: 125
+bgezall :: out: 14, RDval: 9, RSval: -2147483648
+bgezall :: out: 15, RDval: 10, RSval: -1
+bgezall :: out: 20, RDval: 11, RSval: 598
+bgezall :: out: 21, RDval: 12, RSval: 85
+bgezall :: out: 22, RDval: 13, RSval: 4095
+bgezall :: out: 19, RDval: 14, RSval: -1
+bgezall :: out: 20, RDval: 15, RSval: -1
+--- BLTZL ---  if RSval < 0 then out = RDval + 4 else out = RDval + 6
+bltzl :: out: 6, RDval: 0, RSval: 0
+bltzl :: out: 7, RDval: 1, RSval: 1
+bltzl :: out: 6, RDval: 2, RSval: -1
+bltzl :: out: 7, RDval: 3, RSval: -1
+bltzl :: out: 8, RDval: 4, RSval: -2
+bltzl :: out: 9, RDval: 5, RSval: -1
+bltzl :: out: 12, RDval: 6, RSval: 5
+bltzl :: out: 11, RDval: 7, RSval: -3
+bltzl :: out: 14, RDval: 8, RSval: 125
+bltzl :: out: 13, RDval: 9, RSval: -2147483648
+bltzl :: out: 14, RDval: 10, RSval: -1
+bltzl :: out: 17, RDval: 11, RSval: 598
+bltzl :: out: 18, RDval: 12, RSval: 85
+bltzl :: out: 19, RDval: 13, RSval: 4095
+bltzl :: out: 18, RDval: 14, RSval: -1
+bltzl :: out: 19, RDval: 15, RSval: -1
+--- BNEL ---  if RSval != RTval then out = RDval + 4 else out = RDval + 5
+bnel :: out: 4, RDval: 0, RSval: 0, RTval: 1
+bnel :: out: 7, RDval: 1, RSval: 1, RTval: 1
+bnel :: out: 8, RDval: 2, RSval: -1, RTval: -1
+bnel :: out: 7, RDval: 3, RSval: -1, RTval: -2
+bnel :: out: 8, RDval: 4, RSval: -2, RTval: -1
+bnel :: out: 11, RDval: 5, RSval: -1, RTval: -1
+bnel :: out: 12, RDval: 6, RSval: 5, RTval: 5
+bnel :: out: 11, RDval: 7, RSval: -3, RTval: -4
+bnel :: out: 14, RDval: 8, RSval: 125, RTval: 125
+bnel :: out: 15, RDval: 9, RSval: -2147483648, RTval: -2147483648
+bnel :: out: 14, RDval: 10, RSval: -1, RTval: -2147483648
+bnel :: out: 17, RDval: 11, RSval: 598, RTval: 598
+bnel :: out: 18, RDval: 12, RSval: 85, RTval: 85
+bnel :: out: 17, RDval: 13, RSval: 4095, RTval: 221
+bnel :: out: 18, RDval: 14, RSval: -1, RTval: 5
+bnel :: out: 21, RDval: 15, RSval: -1, RTval: -1
+j, jal, jr
+J JAL JR :: 6, RSval: 0
+J JAL JR :: 7, RSval: 1
+J JAL JR :: 8, RSval: 2
+J JAL JR :: 9, RSval: 3
+J JAL JR :: 10, RSval: 4
+J JAL JR :: 11, RSval: 5
+J JAL JR :: 12, RSval: 6
+J JAL JR :: 13, RSval: 7
+J JAL JR :: 14, RSval: 8
+J JAL JR :: 15, RSval: 9
+J JAL JR :: 16, RSval: 10
+J JAL JR :: 17, RSval: 11
+J JAL JR :: 18, RSval: 12
+J JAL JR :: 19, RSval: 13
+J JAL JR :: 20, RSval: 14
+J JAL JR :: 21, RSval: 15
+J JAL JR :: 22, RSval: 16
+J JAL JR :: 23, RSval: 17
+J JAL JR :: 24, RSval: 18
+J JAL JR :: 25, RSval: 19
+J JAL JR :: 26, RSval: 20
+J JAL JR :: 27, RSval: 21
+J JAL JR :: 28, RSval: 22
+J JAL JR :: 29, RSval: 23
+j, jalr, jr
+J JALR JR :: 6, RSval: 0
+J JALR JR :: 7, RSval: 1
+J JALR JR :: 8, RSval: 2
+J JALR JR :: 9, RSval: 3
+J JALR JR :: 10, RSval: 4
+J JALR JR :: 11, RSval: 5
+J JALR JR :: 12, RSval: 6
+J JALR JR :: 13, RSval: 7
+J JALR JR :: 14, RSval: 8
+J JALR JR :: 15, RSval: 9
+J JALR JR :: 17, RSval: 11
+J JALR JR :: 18, RSval: 12
+J JALR JR :: 19, RSval: 13
+J JALR JR :: 20, RSval: 14
+J JALR JR :: 21, RSval: 15
+J JALR JR :: 22, RSval: 16
+J JALR JR :: 23, RSval: 17
+J JALR JR :: 24, RSval: 18
+J JALR JR :: 25, RSval: 19
+J JALR JR :: 26, RSval: 20
+J JALR JR :: 27, RSval: 21
+J JALR JR :: 28, RSval: 22
+J JALR JR :: 29, RSval: 23
diff --git a/none/tests/mips64/branches.vgtest b/none/tests/mips64/branches.vgtest
new file mode 100644
index 0000000..24b9486
--- /dev/null
+++ b/none/tests/mips64/branches.vgtest
@@ -0,0 +1,2 @@
+prog: branches
+vgopts: -q
diff --git a/none/tests/mips64/const.h b/none/tests/mips64/const.h
new file mode 100644
index 0000000..d54893a
--- /dev/null
+++ b/none/tests/mips64/const.h
@@ -0,0 +1,167 @@
+#define N 256
+
+const int reg_val1[N] = {
+   0x00000000L, 0x00000000L, 0x09823b6eL, 0x0d4326d9L,
+   0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
+   0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
+   0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
+   0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
+   0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
+   0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
+   0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
+   0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
+   0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
+   0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
+   0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
+   0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
+   0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
+   0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
+   0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
+   0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
+   0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
+   0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
+   0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
+   0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
+   0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
+   0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
+   0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
+   0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
+   0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
+   0x8aad2b2fL, 0x00000000L, 0x00000000L, 0x87ee0df6L,
+   0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
+   0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
+   0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
+   0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
+   0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
+   0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
+   0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
+   0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
+   0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
+   0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
+   0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
+   0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
+   0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
+   0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
+   0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
+   0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
+   0xc423cd6aL, 0x00000000L, 0xcda1f604L, 0x00000000L,
+   0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
+   0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
+   0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
+   0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
+   0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
+   0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
+   0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
+   0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
+   0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
+   0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
+   0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
+   0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
+   0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
+   0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
+   0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
+   0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
+   0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
+   0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
+   0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
+   0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
+};
+
+unsigned long long reg_val2[N];
+
+void init_reg_val2()
+{
+   unsigned long c = 19650218UL;
+   int i;
+   reg_val2[0]= c & 0xffffffffUL;
+   for (i = 1; i < N; i++) {
+         reg_val2[i] = (1812433253UL * (reg_val2[i - 1] ^
+                        (reg_val2[i - 1] >> 30)) + i);
+   }
+}
+
+unsigned long long reg_val_zero[N];
+
+void init_reg_val_zero()
+{
+   int i;
+   for (i = 0; i < N; i++) {
+      reg_val_zero[i] = 0;
+   }
+}
+
+/* Floating point const. */
+#define MAX_ARR 24
+#define NaN 0.0/0.0
+
+const double fr_d[] = {
+   -34785666666.475, 356047.56,           -1.0,       23.04,
+   1752,             0.0024575,           0.00000001, -248562.76,
+   1384.6,           -7.2945676,          1000000000, -5786.47,
+   -347856.475,      356047.56,           -1.0,       23.04,
+   0,                45655555555.2489562, 3,          -1,
+   -45786.476,       4566666.2489562,     34.00046,   45786.476,
+};
+
+const double fs_d[] = {
+   0,           456.2489562, 3,          -1,
+   1384.6,      -7.2945676,  1000000000, -5786.47,
+   1752,        0.0024575,   0.00000001, -248562.76,
+   -45786.476,  456.2489562, 34.00046,   45786.476,
+   1752065,     107,         -45667.24,  -7.2945676,
+   -347856.475, 356047.56,   -1.0,       23.04
+};
+
+const double ft_d[] = {
+   -45786.476,  456.2489562, 34.00046,   45786.476,
+   1752065,     107,         -45667.24,  -7.2945676,
+   -347856.475, 356047.56,   -1.0,       23.04,
+   0,           456.2489562, 3,          -1,
+   1384.6,      -7.2945676,  1000000000, -5786.47,
+   1752,        0.0024575,   0.00000001, -248562.76
+};
+
+const float fr_f[] = {
+   -347856.475, 356047.56,   -1.0,       23.04,
+   1752,        0.0024575,   0.00000001, -248562.76,
+   1384.6,      -7.2945676,  1000000000, -5786.47,
+   -347856.475, 356047.56,   -1.0,       23.04,
+   0,           456.2489562, 3,          -1,
+   -45786.476,  456.2489562, 34.00046,   45786.476
+};
+
+const float fs_f[] = {
+   0,           456.2489562, 3,          -1,
+   1384.6,      -7.2945676,  1000000000, -5786.47,
+   1752,        0.0024575,   0.1234,     -248562.76,
+   -45786.476,  456.2489562, 34.00046,   45786.476,
+   1752065,     107,         -45667.24,  -7.2945676,
+   -347856.475, 356047.56,   -1.0,       23.04
+};
+
+const float ft_f[] = {
+   -45786.476,  456.2489562, 34.00046,   45786.476,
+   1752065,     107,         -45667.24,  -7.2945676,
+   -347856.475, 356047.56,   -1.0,       23.04,
+   0,           456.2489562, 3,          -1,
+   1384.6,      -7.2945676,  1000000000, -5786.47,
+   1752,        0.0024575,   0.00000001, -248562.76
+};
+
+const int fs_w[] = {
+   0,          456,        3,          -1,
+   0xffffffff, 356,        1000000000, -5786,
+   1752,       24575,      10,         -248562,
+   -45786,     456,        34,         45786,
+   1752065,    107,        -45667,     -7,
+   -347856,    0x80000000, 0xfffffff,  23,
+};
+
+const long fs_l[] = {
+   18,         25,         3,          -1,
+   0xffffffff, 356,        1000000,    -5786,
+   -1,         24575,      10,         -125458,
+   -486,       456,        34,         45786,
+   0,          1700000,   -45667,     -7,
+   -347856,    0x80000000, 0xfffffff,  23,
+};
\ No newline at end of file
diff --git a/none/tests/mips64/extract_insert_bit_field.c b/none/tests/mips64/extract_insert_bit_field.c
new file mode 100644
index 0000000..08707f8
--- /dev/null
+++ b/none/tests/mips64/extract_insert_bit_field.c
@@ -0,0 +1,1888 @@
+#include <stdio.h>
+
+#define TESTINST(instruction, in, in1, pos, size)                          \
+{                                                                          \
+   unsigned long long out;                                                 \
+   __asm__ __volatile__(                                                   \
+      "move        $t0, %2"                  "\n\t"                        \
+      "move        $t1, %1"                  "\n\t"                        \
+      instruction" $t0, $t1, "#pos", "#size  "\n\t"                        \
+      "move        %0,  $t0"                 "\n\t"                        \
+      : "=r" (out)                                                         \
+      : "r" (in), "r" (in1)                                                \
+      : "t0", "t1"                                                         \
+   );                                                                      \
+   printf("%s :: in 0x%llx, in1 0x%llx, out 0x%llx, pos: %d, size: %d\n",  \
+          instruction, (long long) in, (long long) in1, out, pos, size);   \
+}
+
+int main()
+{
+#if (__mips == 64) && (__mips_isa_rev >= 2)
+   printf("--- INS ---\n");
+   /* The values of pos and size must satisfy all of the following relations:
+      0 <= pos < 32
+      0 < size <= 32
+      0 < pos+size <= 32 */
+   TESTINST("ins", 0x0,                0x0,                0, 1);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 0, 1);
+   TESTINST("ins", 0x0,                0x98765432,         0, 1);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 0, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                0, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         0, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 0, 1);
+   TESTINST("ins", 0x98765432,         0x0,                0, 1);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 0, 1);
+   TESTINST("ins", 0x98765432,         0x98765432,         0, 1);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 0, 1);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                0, 1);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 0, 1);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         0, 1);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 0, 1);
+   TESTINST("ins", 0x0,                0x0,                0, 4);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 0, 4);
+   TESTINST("ins", 0x0,                0x98765432,         0, 4);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 0, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                0, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         0, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 0, 4);
+   TESTINST("ins", 0x98765432,         0x0,                0, 4);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 0, 4);
+   TESTINST("ins", 0x98765432,         0x98765432,         0, 4);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 0, 4);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                0, 4);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 0, 4);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         0, 4);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 0, 4);
+   TESTINST("ins", 0x0,                0x0,                0, 16);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 0, 16);
+   TESTINST("ins", 0x0,                0x98765432,         0, 16);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 0, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                0, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         0, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 0, 16);
+   TESTINST("ins", 0x98765432,         0x0,                0, 16);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 0, 16);
+   TESTINST("ins", 0x98765432,         0x98765432,         0, 16);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 0, 16);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                0, 16);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 0, 16);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         0, 16);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 0, 16);
+   TESTINST("ins", 0x0,                0x0,                0, 32);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 0, 32);
+   TESTINST("ins", 0x0,                0x98765432,         0, 32);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 0, 32);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                0, 32);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 32);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         0, 32);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 0, 32);
+   TESTINST("ins", 0x98765432,         0x0,                0, 32);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 0, 32);
+   TESTINST("ins", 0x98765432,         0x98765432,         0, 32);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 0, 32);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                0, 32);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 0, 32);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         0, 32);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 0, 32);
+
+   TESTINST("ins", 0x0,                0x0,                4, 1);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 4, 1);
+   TESTINST("ins", 0x0,                0x98765432,         4, 1);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 4, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                4, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         4, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 4, 1);
+   TESTINST("ins", 0x98765432,         0x0,                4, 1);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 4, 1);
+   TESTINST("ins", 0x98765432,         0x98765432,         4, 1);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 4, 1);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                4, 1);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 4, 1);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         4, 1);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 4, 1);
+   TESTINST("ins", 0x0,                0x0,                4, 4);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 4, 4);
+   TESTINST("ins", 0x0,                0x98765432,         4, 4);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 4, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                4, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         4, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 4, 4);
+   TESTINST("ins", 0x98765432,         0x0,                4, 4);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 4, 4);
+   TESTINST("ins", 0x98765432,         0x98765432,         4, 4);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 4, 4);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                4, 4);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 4, 4);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         4, 4);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 4, 4);
+   TESTINST("ins", 0x0,                0x0,                4, 16);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 4, 16);
+   TESTINST("ins", 0x0,                0x98765432,         4, 16);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 4, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                4, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         4, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 4, 16);
+   TESTINST("ins", 0x98765432,         0x0,                4, 16);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 4, 16);
+   TESTINST("ins", 0x98765432,         0x98765432,         4, 16);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 4, 16);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                4, 16);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 4, 16);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         4, 16);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 4, 16);
+   TESTINST("ins", 0x0,                0x0,                4, 28);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 4, 28);
+   TESTINST("ins", 0x0,                0x98765432,         4, 28);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 4, 28);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                4, 28);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 28);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         4, 28);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 4, 28);
+   TESTINST("ins", 0x98765432,         0x0,                4, 28);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 4, 28);
+   TESTINST("ins", 0x98765432,         0x98765432,         4, 28);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 4, 28);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                4, 28);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 4, 28);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         4, 28);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 4, 28);
+
+   TESTINST("ins", 0x0,                0x0,                16, 1);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 16, 1);
+   TESTINST("ins", 0x0,                0x98765432,         16, 1);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 16, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                16, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         16, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 16, 1);
+   TESTINST("ins", 0x98765432,         0x0,                16, 1);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 16, 1);
+   TESTINST("ins", 0x98765432,         0x98765432,         16, 1);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 16, 1);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                16, 1);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 16, 1);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         16, 1);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 16, 1);
+   TESTINST("ins", 0x0,                0x0,                16, 4);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 16, 4);
+   TESTINST("ins", 0x0,                0x98765432,         16, 4);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 16, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                16, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         16, 4);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 16, 4);
+   TESTINST("ins", 0x98765432,         0x0,                16, 4);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 16, 4);
+   TESTINST("ins", 0x98765432,         0x98765432,         16, 4);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 16, 4);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                16, 4);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 16, 4);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         16, 4);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 16, 4);
+   TESTINST("ins", 0x0,                0x0,                16, 16);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 16, 16);
+   TESTINST("ins", 0x0,                0x98765432,         16, 16);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 16, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                16, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         16, 16);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 16, 16);
+   TESTINST("ins", 0x98765432,         0x0,                16, 16);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 16, 16);
+   TESTINST("ins", 0x98765432,         0x98765432,         16, 16);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 16, 16);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                16, 16);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 16, 16);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         16, 16);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 16, 16);
+
+   TESTINST("ins", 0x0,                0x0,                31, 1);
+   TESTINST("ins", 0x0,                0xffffffffffffffff, 31, 1);
+   TESTINST("ins", 0x0,                0x98765432,         31, 1);
+   TESTINST("ins", 0x0,                0xffffffffff865421, 31, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0x0,                31, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffffffffff, 31, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0x98765432,         31, 1);
+   TESTINST("ins", 0xffffffffffffffff, 0xffffffffff865421, 31, 1);
+   TESTINST("ins", 0x98765432,         0x0,                31, 1);
+   TESTINST("ins", 0x98765432,         0xffffffffffffffff, 31, 1);
+   TESTINST("ins", 0x98765432,         0x98765432,         31, 1);
+   TESTINST("ins", 0x98765432,         0xffffffffff865421, 31, 1);
+   TESTINST("ins", 0xffffffffff865421, 0x0,                31, 1);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffffffffff, 31, 1);
+   TESTINST("ins", 0xffffffffff865421, 0x98765432,         31, 1);
+   TESTINST("ins", 0xffffffffff865421, 0xffffffffff865421, 31, 1);
+
+   printf("--- EXT ---\n");
+   /* The values of pos and size must satisfy all of the following relations:
+      0 <= pos < 32
+      0 < size <= 32
+      0 < pos+size <= 32 */
+   TESTINST("ext", 0x0,                0x0,                0, 1);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 0, 1);
+   TESTINST("ext", 0x0,                0x98765432,         0, 1);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 0, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                0, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         0, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 0, 1);
+   TESTINST("ext", 0x98765432,         0x0,                0, 1);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 0, 1);
+   TESTINST("ext", 0x98765432,         0x98765432,         0, 1);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 0, 1);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                0, 1);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 0, 1);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         0, 1);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 0, 1);
+   TESTINST("ext", 0x0,                0x0,                0, 4);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 0, 4);
+   TESTINST("ext", 0x0,                0x98765432,         0, 4);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 0, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                0, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         0, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 0, 4);
+   TESTINST("ext", 0x98765432,         0x0,                0, 4);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 0, 4);
+   TESTINST("ext", 0x98765432,         0x98765432,         0, 4);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 0, 4);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                0, 4);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 0, 4);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         0, 4);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 0, 4);
+   TESTINST("ext", 0x0,                0x0,                0, 16);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 0, 16);
+   TESTINST("ext", 0x0,                0x98765432,         0, 16);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 0, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                0, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         0, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 0, 16);
+   TESTINST("ext", 0x98765432,         0x0,                0, 16);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 0, 16);
+   TESTINST("ext", 0x98765432,         0x98765432,         0, 16);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 0, 16);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                0, 16);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 0, 16);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         0, 16);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 0, 16);
+   TESTINST("ext", 0x0,                0x0,                0, 32);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 0, 32);
+   TESTINST("ext", 0x0,                0x98765432,         0, 32);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 0, 32);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                0, 32);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 32);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         0, 32);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 0, 32);
+   TESTINST("ext", 0x98765432,         0x0,                0, 32);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 0, 32);
+   TESTINST("ext", 0x98765432,         0x98765432,         0, 32);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 0, 32);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                0, 32);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 0, 32);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         0, 32);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 0, 32);
+
+   TESTINST("ext", 0x0,                0x0,                4, 1);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 4, 1);
+   TESTINST("ext", 0x0,                0x98765432,         4, 1);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 4, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                4, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         4, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 4, 1);
+   TESTINST("ext", 0x98765432,         0x0,                4, 1);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 4, 1);
+   TESTINST("ext", 0x98765432,         0x98765432,         4, 1);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 4, 1);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                4, 1);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 4, 1);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         4, 1);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 4, 1);
+   TESTINST("ext", 0x0,                0x0,                4, 4);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 4, 4);
+   TESTINST("ext", 0x0,                0x98765432,         4, 4);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 4, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                4, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         4, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 4, 4);
+   TESTINST("ext", 0x98765432,         0x0,                4, 4);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 4, 4);
+   TESTINST("ext", 0x98765432,         0x98765432,         4, 4);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 4, 4);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                4, 4);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 4, 4);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         4, 4);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 4, 4);
+   TESTINST("ext", 0x0,                0x0,                4, 16);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 4, 16);
+   TESTINST("ext", 0x0,                0x98765432,         4, 16);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 4, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                4, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         4, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 4, 16);
+   TESTINST("ext", 0x98765432,         0x0,                4, 16);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 4, 16);
+   TESTINST("ext", 0x98765432,         0x98765432,         4, 16);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 4, 16);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                4, 16);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 4, 16);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         4, 16);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 4, 16);
+   TESTINST("ext", 0x0,                0x0,                4, 28);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 4, 28);
+   TESTINST("ext", 0x0,                0x98765432,         4, 28);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 4, 28);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                4, 28);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 28);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         4, 28);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 4, 28);
+   TESTINST("ext", 0x98765432,         0x0,                4, 28);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 4, 28);
+   TESTINST("ext", 0x98765432,         0x98765432,         4, 28);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 4, 28);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                4, 28);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 4, 28);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         4, 28);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 4, 28);
+
+   TESTINST("ext", 0x0,                0x0,                16, 1);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 16, 1);
+   TESTINST("ext", 0x0,                0x98765432,         16, 1);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 16, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                16, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         16, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 16, 1);
+   TESTINST("ext", 0x98765432,         0x0,                16, 1);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 16, 1);
+   TESTINST("ext", 0x98765432,         0x98765432,         16, 1);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 16, 1);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                16, 1);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 16, 1);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         16, 1);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 16, 1);
+   TESTINST("ext", 0x0,                0x0,                16, 4);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 16, 4);
+   TESTINST("ext", 0x0,                0x98765432,         16, 4);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 16, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                16, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         16, 4);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 16, 4);
+   TESTINST("ext", 0x98765432,         0x0,                16, 4);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 16, 4);
+   TESTINST("ext", 0x98765432,         0x98765432,         16, 4);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 16, 4);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                16, 4);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 16, 4);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         16, 4);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 16, 4);
+   TESTINST("ext", 0x0,                0x0,                16, 16);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 16, 16);
+   TESTINST("ext", 0x0,                0x98765432,         16, 16);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 16, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                16, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         16, 16);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 16, 16);
+   TESTINST("ext", 0x98765432,         0x0,                16, 16);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 16, 16);
+   TESTINST("ext", 0x98765432,         0x98765432,         16, 16);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 16, 16);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                16, 16);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 16, 16);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         16, 16);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 16, 16);
+
+   TESTINST("ext", 0x0,                0x0,                31, 1);
+   TESTINST("ext", 0x0,                0xffffffffffffffff, 31, 1);
+   TESTINST("ext", 0x0,                0x98765432,         31, 1);
+   TESTINST("ext", 0x0,                0xffffffffff865421, 31, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0x0,                31, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffffffffff, 31, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0x98765432,         31, 1);
+   TESTINST("ext", 0xffffffffffffffff, 0xffffffffff865421, 31, 1);
+   TESTINST("ext", 0x98765432,         0x0,                31, 1);
+   TESTINST("ext", 0x98765432,         0xffffffffffffffff, 31, 1);
+   TESTINST("ext", 0x98765432,         0x98765432,         31, 1);
+   TESTINST("ext", 0x98765432,         0xffffffffff865421, 31, 1);
+   TESTINST("ext", 0xffffffffff865421, 0x0,                31, 1);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffffffffff, 31, 1);
+   TESTINST("ext", 0xffffffffff865421, 0x98765432,         31, 1);
+   TESTINST("ext", 0xffffffffff865421, 0xffffffffff865421, 31, 1);
+
+   printf("--- DEXT ---\n");
+   /* The values of pos and size must satisfy all of the following relations:
+      0 <= pos < 32
+      0 < size <= 32
+      0 < pos+size <= 63 */
+   TESTINST("dext", 0x0,                0x0,                0, 1);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 0, 1);
+   TESTINST("dext", 0x0,                0x98765432,         0, 1);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 0, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                0, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         0, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 0, 1);
+   TESTINST("dext", 0x98765432,         0x0,                0, 1);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 0, 1);
+   TESTINST("dext", 0x98765432,         0x98765432,         0, 1);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 0, 1);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                0, 1);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 0, 1);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         0, 1);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 0, 1);
+   TESTINST("dext", 0x0,                0x0,                0, 4);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 0, 4);
+   TESTINST("dext", 0x0,                0x98765432,         0, 4);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 0, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                0, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         0, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 0, 4);
+   TESTINST("dext", 0x98765432,         0x0,                0, 4);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 0, 4);
+   TESTINST("dext", 0x98765432,         0x98765432,         0, 4);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 0, 4);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                0, 4);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 0, 4);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         0, 4);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 0, 4);
+   TESTINST("dext", 0x0,                0x0,                0, 16);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 0, 16);
+   TESTINST("dext", 0x0,                0x98765432,         0, 16);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 0, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                0, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         0, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 0, 16);
+   TESTINST("dext", 0x98765432,         0x0,                0, 16);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 0, 16);
+   TESTINST("dext", 0x98765432,         0x98765432,         0, 16);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 0, 16);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                0, 16);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 0, 16);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         0, 16);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 0, 16);
+   TESTINST("dext", 0x0,                0x0,                0, 32);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 0, 32);
+   TESTINST("dext", 0x0,                0x98765432,         0, 32);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 0, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                0, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 0, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         0, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 0, 32);
+   TESTINST("dext", 0x98765432,         0x0,                0, 32);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 0, 32);
+   TESTINST("dext", 0x98765432,         0x98765432,         0, 32);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 0, 32);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                0, 32);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 0, 32);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         0, 32);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 0, 32);
+
+   TESTINST("dext", 0x0,                0x0,                4, 1);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 4, 1);
+   TESTINST("dext", 0x0,                0x98765432,         4, 1);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 4, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                4, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         4, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 4, 1);
+   TESTINST("dext", 0x98765432,         0x0,                4, 1);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 4, 1);
+   TESTINST("dext", 0x98765432,         0x98765432,         4, 1);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 4, 1);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                4, 1);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 4, 1);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         4, 1);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 4, 1);
+   TESTINST("dext", 0x0,                0x0,                4, 4);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 4, 4);
+   TESTINST("dext", 0x0,                0x98765432,         4, 4);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 4, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                4, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         4, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 4, 4);
+   TESTINST("dext", 0x98765432,         0x0,                4, 4);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 4, 4);
+   TESTINST("dext", 0x98765432,         0x98765432,         4, 4);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 4, 4);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                4, 4);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 4, 4);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         4, 4);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 4, 4);
+   TESTINST("dext", 0x0,                0x0,                4, 16);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 4, 16);
+   TESTINST("dext", 0x0,                0x98765432,         4, 16);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 4, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                4, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         4, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 4, 16);
+   TESTINST("dext", 0x98765432,         0x0,                4, 16);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 4, 16);
+   TESTINST("dext", 0x98765432,         0x98765432,         4, 16);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 4, 16);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                4, 16);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 4, 16);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         4, 16);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 4, 16);
+   TESTINST("dext", 0x0,                0x0,                4, 32);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 4, 32);
+   TESTINST("dext", 0x0,                0x98765432,         4, 32);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 4, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                4, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 4, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         4, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 4, 32);
+   TESTINST("dext", 0x98765432,         0x0,                4, 32);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 4, 32);
+   TESTINST("dext", 0x98765432,         0x98765432,         4, 32);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 4, 32);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                4, 32);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 4, 32);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         4, 32);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 4, 32);
+
+   TESTINST("dext", 0x0,                0x0,                16, 1);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 16, 1);
+   TESTINST("dext", 0x0,                0x98765432,         16, 1);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 16, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                16, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         16, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 16, 1);
+   TESTINST("dext", 0x98765432,         0x0,                16, 1);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 16, 1);
+   TESTINST("dext", 0x98765432,         0x98765432,         16, 1);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 16, 1);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                16, 1);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 16, 1);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         16, 1);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 16, 1);
+   TESTINST("dext", 0x0,                0x0,                16, 4);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 16, 4);
+   TESTINST("dext", 0x0,                0x98765432,         16, 4);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 16, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                16, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         16, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 16, 4);
+   TESTINST("dext", 0x98765432,         0x0,                16, 4);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 16, 4);
+   TESTINST("dext", 0x98765432,         0x98765432,         16, 4);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 16, 4);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                16, 4);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 16, 4);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         16, 4);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 16, 4);
+   TESTINST("dext", 0x0,                0x0,                16, 16);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 16, 16);
+   TESTINST("dext", 0x0,                0x98765432,         16, 16);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 16, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                16, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         16, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 16, 16);
+   TESTINST("dext", 0x98765432,         0x0,                16, 16);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 16, 16);
+   TESTINST("dext", 0x98765432,         0x98765432,         16, 16);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 16, 16);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                16, 16);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 16, 16);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         16, 16);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 16, 16);
+   TESTINST("dext", 0x0,                0x0,                16, 32);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 16, 32);
+   TESTINST("dext", 0x0,                0x98765432,         16, 32);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 16, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                16, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 16, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         16, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 16, 32);
+   TESTINST("dext", 0x98765432,         0x0,                16, 32);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 16, 32);
+   TESTINST("dext", 0x98765432,         0x98765432,         16, 32);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 16, 32);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                16, 32);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 16, 32);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         16, 32);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 16, 32);
+
+   TESTINST("dext", 0x0,                0x0,                31, 1);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 31, 1);
+   TESTINST("dext", 0x0,                0x98765432,         31, 1);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 31, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                31, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 31, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         31, 1);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 31, 1);
+   TESTINST("dext", 0x98765432,         0x0,                31, 1);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 31, 1);
+   TESTINST("dext", 0x98765432,         0x98765432,         31, 1);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 31, 1);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                31, 1);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 31, 1);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         31, 1);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 31, 1);
+   TESTINST("dext", 0x0,                0x0,                31, 4);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 31, 4);
+   TESTINST("dext", 0x0,                0x98765432,         31, 4);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 31, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                31, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 31, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         31, 4);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 31, 4);
+   TESTINST("dext", 0x98765432,         0x0,                31, 4);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 31, 4);
+   TESTINST("dext", 0x98765432,         0x98765432,         31, 4);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 31, 4);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                31, 4);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 31, 4);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         31, 4);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 31, 4);
+   TESTINST("dext", 0x0,                0x0,                31, 16);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 31, 16);
+   TESTINST("dext", 0x0,                0x98765432,         31, 16);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 31, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                31, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 31, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         31, 16);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 31, 16);
+   TESTINST("dext", 0x98765432,         0x0,                31, 16);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 31, 16);
+   TESTINST("dext", 0x98765432,         0x98765432,         31, 16);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 31, 16);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                31, 16);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 31, 16);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         31, 16);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 31, 16);
+   TESTINST("dext", 0x0,                0x0,                31, 32);
+   TESTINST("dext", 0x0,                0xffffffffffffffff, 31, 32);
+   TESTINST("dext", 0x0,                0x98765432,         31, 32);
+   TESTINST("dext", 0x0,                0xffffffffff865421, 31, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0x0,                31, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffffffffff, 31, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0x98765432,         31, 32);
+   TESTINST("dext", 0xffffffffffffffff, 0xffffffffff865421, 31, 32);
+   TESTINST("dext", 0x98765432,         0x0,                31, 32);
+   TESTINST("dext", 0x98765432,         0xffffffffffffffff, 31, 32);
+   TESTINST("dext", 0x98765432,         0x98765432,         31, 32);
+   TESTINST("dext", 0x98765432,         0xffffffffff865421, 31, 32);
+   TESTINST("dext", 0xffffffffff865421, 0x0,                31, 32);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffffffffff, 31, 32);
+   TESTINST("dext", 0xffffffffff865421, 0x98765432,         31, 32);
+   TESTINST("dext", 0xffffffffff865421, 0xffffffffff865421, 31, 32);
+
+   TESTINST("dext", 0x2002ffffffffffff, 0xfffffffff0000fff, 4,  4);
+   TESTINST("dext", 0xffff0000ffffffff, 0xff0000ffffffffff, 8,  4);
+   TESTINST("dext", 0x2000ffffffffffff, 0xffff0000ffffffff, 16, 4);
+   TESTINST("dext", 0x2000ffffffddddff, 0xffffffffffff0008, 24, 2);
+   TESTINST("dext", 0x2000ffffffffeeee, 0xfffffff31415927f, 24, 4);
+   TESTINST("dext", 0x31415927ffffffff, 0x2000ffffffffffff, 9,  2);
+   TESTINST("dext", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 16, 4);
+   TESTINST("dext", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 16, 4);
+   TESTINST("dext", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 7,  4);
+   TESTINST("dext", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 5,  4);
+   TESTINST("dext", 0x2000ffffffffbbbb, 0xfffffffff0000fff, 3,  4);
+   TESTINST("dext", 0x2000ffffffffffff, 0xffff0000ffffffff, 16, 16);
+   TESTINST("dext", 0x7fffffffddddffff, 0xffffffffffff0008, 16, 32);
+   TESTINST("dext", 0x2000ffffffff2222, 0xfffffff31415927f, 2,  60);
+   TESTINST("dext", 0x2000ffffffffffff, 0x2000ffffffffffff, 16, 6);
+   TESTINST("dext", 0xfffffff31415927f, 0x2000ffffffff2222, 31, 32);
+   TESTINST("dext", 0xffffffffffff0008, 0x7fffffffddddffff, 8,  2);
+   TESTINST("dext", 0xffff0000ffffffff, 0x2000ffffffffffff, 16, 4);
+   TESTINST("dext", 0xff0000ffffffffff, 0,                  8,  4);
+   TESTINST("dext", 0xfffffffff0000fff, 0,                  16, 4);
+
+   printf("--- DEXTM ---\n");
+   /* The values of pos and size must satisfy all of the following relations:
+      0 <= pos < 32
+      32 < size <= 64
+      32 < pos+size <= 64 */
+   TESTINST("dextm", 0x0,                0x0,                0, 33);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 0, 33);
+   TESTINST("dextm", 0x0,                0x98765432,         0, 33);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 0, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                0, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         0, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 0, 33);
+   TESTINST("dextm", 0x98765432,         0x0,                0, 33);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 0, 33);
+   TESTINST("dextm", 0x98765432,         0x98765432,         0, 33);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 0, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                0, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 0, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         0, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 0, 33);
+   TESTINST("dextm", 0x0,                0x0,                0, 37);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 0, 37);
+   TESTINST("dextm", 0x0,                0x98765432,         0, 37);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 0, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                0, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         0, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 0, 37);
+   TESTINST("dextm", 0x98765432,         0x0,                0, 37);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 0, 37);
+   TESTINST("dextm", 0x98765432,         0x98765432,         0, 37);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 0, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                0, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 0, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         0, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 0, 37);
+   TESTINST("dextm", 0x0,                0x0,                0, 48);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 0, 48);
+   TESTINST("dextm", 0x0,                0x98765432,         0, 48);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 0, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                0, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         0, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 0, 48);
+   TESTINST("dextm", 0x98765432,         0x0,                0, 48);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 0, 48);
+   TESTINST("dextm", 0x98765432,         0x98765432,         0, 48);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 0, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                0, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 0, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         0, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 0, 48);
+   TESTINST("dextm", 0x0,                0x0,                0, 64);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 0, 64);
+   TESTINST("dextm", 0x0,                0x98765432,         0, 64);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 0, 64);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                0, 64);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 64);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         0, 64);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 0, 64);
+   TESTINST("dextm", 0x98765432,         0x0,                0, 64);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 0, 64);
+   TESTINST("dextm", 0x98765432,         0x98765432,         0, 64);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 0, 64);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                0, 64);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 0, 64);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         0, 64);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 0, 64);
+
+   TESTINST("dextm", 0x0,                0x0,                4, 33);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 4, 33);
+   TESTINST("dextm", 0x0,                0x98765432,         4, 33);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 4, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                4, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         4, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 4, 33);
+   TESTINST("dextm", 0x98765432,         0x0,                4, 33);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 4, 33);
+   TESTINST("dextm", 0x98765432,         0x98765432,         4, 33);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 4, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                4, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 4, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         4, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 4, 33);
+   TESTINST("dextm", 0x0,                0x0,                4, 37);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 4, 37);
+   TESTINST("dextm", 0x0,                0x98765432,         4, 37);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 4, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                4, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         4, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 4, 37);
+   TESTINST("dextm", 0x98765432,         0x0,                4, 37);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 4, 37);
+   TESTINST("dextm", 0x98765432,         0x98765432,         4, 37);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 4, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                4, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 4, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         4, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 4, 37);
+   TESTINST("dextm", 0x0,                0x0,                4, 48);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 4, 48);
+   TESTINST("dextm", 0x0,                0x98765432,         4, 48);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 4, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                4, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         4, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 4, 48);
+   TESTINST("dextm", 0x98765432,         0x0,                4, 48);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 4, 48);
+   TESTINST("dextm", 0x98765432,         0x98765432,         4, 48);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 4, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                4, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 4, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         4, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 4, 48);
+   TESTINST("dextm", 0x0,                0x0,                4, 60);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 4, 60);
+   TESTINST("dextm", 0x0,                0x98765432,         4, 60);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 4, 60);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                4, 60);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 60);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         4, 60);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 4, 60);
+   TESTINST("dextm", 0x98765432,         0x0,                4, 60);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 4, 60);
+   TESTINST("dextm", 0x98765432,         0x98765432,         4, 60);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 4, 60);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                4, 60);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 4, 60);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         4, 60);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 4, 60);
+
+   TESTINST("dextm", 0x0,                0x0,                16, 33);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 16, 33);
+   TESTINST("dextm", 0x0,                0x98765432,         16, 33);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 16, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                16, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         16, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 16, 33);
+   TESTINST("dextm", 0x98765432,         0x0,                16, 33);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 16, 33);
+   TESTINST("dextm", 0x98765432,         0x98765432,         16, 33);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 16, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                16, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 16, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         16, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 16, 33);
+   TESTINST("dextm", 0x0,                0x0,                16, 37);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 16, 37);
+   TESTINST("dextm", 0x0,                0x98765432,         16, 37);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 16, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                16, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         16, 37);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 16, 37);
+   TESTINST("dextm", 0x98765432,         0x0,                16, 37);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 16, 37);
+   TESTINST("dextm", 0x98765432,         0x98765432,         16, 37);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 16, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                16, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 16, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         16, 37);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 16, 37);
+   TESTINST("dextm", 0x0,                0x0,                16, 48);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 16, 48);
+   TESTINST("dextm", 0x0,                0x98765432,         16, 48);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 16, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                16, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         16, 48);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 16, 48);
+   TESTINST("dextm", 0x98765432,         0x0,                16, 48);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 16, 48);
+   TESTINST("dextm", 0x98765432,         0x98765432,         16, 48);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 16, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                16, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 16, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         16, 48);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 16, 48);
+
+   TESTINST("dextm", 0x0,                0x0,                31, 33);
+   TESTINST("dextm", 0x0,                0xffffffffffffffff, 31, 33);
+   TESTINST("dextm", 0x0,                0x98765432,         31, 33);
+   TESTINST("dextm", 0x0,                0xffffffffff865421, 31, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0x0,                31, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffffffffff, 31, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0x98765432,         31, 33);
+   TESTINST("dextm", 0xffffffffffffffff, 0xffffffffff865421, 31, 33);
+   TESTINST("dextm", 0x98765432,         0x0,                31, 33);
+   TESTINST("dextm", 0x98765432,         0xffffffffffffffff, 31, 33);
+   TESTINST("dextm", 0x98765432,         0x98765432,         31, 33);
+   TESTINST("dextm", 0x98765432,         0xffffffffff865421, 31, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0x0,                31, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffffffffff, 31, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0x98765432,         31, 33);
+   TESTINST("dextm", 0xffffffffff865421, 0xffffffffff865421, 31, 33);
+
+   TESTINST("dextm", 0x2002ffffffffffff, 0xfffffffff0000fff, 4,  35);
+   TESTINST("dextm", 0xffff0000ffffffff, 0xff0000ffffffffff, 8,  33);
+   TESTINST("dextm", 0x2000ffffffffffff, 0xffff0000ffffffff, 16, 34);
+   TESTINST("dextm", 0x2000ffffffddddff, 0xffffffffffff0008, 4,  46);
+   TESTINST("dextm", 0x2000ffffffffeeee, 0xfffffff31415927f, 3,  56);
+   TESTINST("dextm", 0x31415927ffffffff, 0x2000ffffffffffff, 0,  64);
+   TESTINST("dextm", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 16, 40);
+   TESTINST("dextm", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 16, 42);
+   TESTINST("dextm", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 7,  43);
+   TESTINST("dextm", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 5,  48);
+   TESTINST("dextm", 0x2000ffffffffbbbb, 0x2000ffffffffffff, 3,  52);
+   TESTINST("dextm", 0x2000ffffffffffff, 0xeeeeff33ff22ffff, 1,  54);
+   TESTINST("dextm", 0x7fffffffddddffff, 0x2000ffffffbbbbff, 2,  54);
+   TESTINST("dextm", 0x2000ffffffff2222, 0x2000ffffffffaaaa, 2,  48);
+   TESTINST("dextm", 0x2000ffffffffffff, 0x31415927ffffffff, 5,  53);
+   TESTINST("dextm", 0xfffffff31415927f, 0x2000ffffffffeeee, 2,  60);
+   TESTINST("dextm", 0xffffffffffff0008, 0x2000ffffffddddff, 3,  61);
+   TESTINST("dextm", 0xffff0000ffffffff, 0x2000ffffffffffff, 1,  62);
+   TESTINST("dextm", 0xff0000ffffffffff, 0,                  8,  38);
+   TESTINST("dextm", 0xfffffffff0000fff, 0,                  16, 39);
+
+   printf("--- DEXTU ---\n");
+   /* The values of pos and size must satisfy all of the following relations:
+      32 <= pos < 64
+      0 < size <= 32
+      32 < pos+size <= 64 */
+   TESTINST("dextu", 0x0,                0x0,                32, 1);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 32, 1);
+   TESTINST("dextu", 0x0,                0x98765432,         32, 1);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 32, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                32, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         32, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 32, 1);
+   TESTINST("dextu", 0x98765432,         0x0,                32, 1);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 32, 1);
+   TESTINST("dextu", 0x98765432,         0x98765432,         32, 1);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 32, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                32, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 32, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         32, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 32, 1);
+   TESTINST("dextu", 0x0,                0x0,                32, 4);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 32, 4);
+   TESTINST("dextu", 0x0,                0x98765432,         32, 4);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 32, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                32, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         32, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 32, 4);
+   TESTINST("dextu", 0x98765432,         0x0,                32, 4);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 32, 4);
+   TESTINST("dextu", 0x98765432,         0x98765432,         32, 4);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 32, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                32, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 32, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         32, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 32, 4);
+   TESTINST("dextu", 0x0,                0x0,                32, 16);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 32, 16);
+   TESTINST("dextu", 0x0,                0x98765432,         32, 16);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 32, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                32, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         32, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 32, 16);
+   TESTINST("dextu", 0x98765432,         0x0,                32, 16);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 32, 16);
+   TESTINST("dextu", 0x98765432,         0x98765432,         32, 16);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 32, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                32, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 32, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         32, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 32, 16);
+   TESTINST("dextu", 0x0,                0x0,                32, 32);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 32, 32);
+   TESTINST("dextu", 0x0,                0x98765432,         32, 32);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 32, 32);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                32, 32);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 32);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         32, 32);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 32, 32);
+   TESTINST("dextu", 0x98765432,         0x0,                32, 32);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 32, 32);
+   TESTINST("dextu", 0x98765432,         0x98765432,         32, 32);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 32, 32);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                32, 32);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 32, 32);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         32, 32);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 32, 32);
+
+   TESTINST("dextu", 0x0,                0x0,                36, 1);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 36, 1);
+   TESTINST("dextu", 0x0,                0x98765432,         36, 1);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 36, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                36, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         36, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 36, 1);
+   TESTINST("dextu", 0x98765432,         0x0,                36, 1);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 36, 1);
+   TESTINST("dextu", 0x98765432,         0x98765432,         36, 1);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 36, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                36, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 36, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         36, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 36, 1);
+   TESTINST("dextu", 0x0,                0x0,                36, 4);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 36, 4);
+   TESTINST("dextu", 0x0,                0x98765432,         36, 4);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 36, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                36, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         36, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 36, 4);
+   TESTINST("dextu", 0x98765432,         0x0,                36, 4);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 36, 4);
+   TESTINST("dextu", 0x98765432,         0x98765432,         36, 4);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 36, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                36, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 36, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         36, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 36, 4);
+   TESTINST("dextu", 0x0,                0x0,                36, 16);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 36, 16);
+   TESTINST("dextu", 0x0,                0x98765432,         36, 16);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 36, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                36, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         36, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 36, 16);
+   TESTINST("dextu", 0x98765432,         0x0,                36, 16);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 36, 16);
+   TESTINST("dextu", 0x98765432,         0x98765432,         36, 16);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 36, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                36, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 36, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         36, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 36, 16);
+   TESTINST("dextu", 0x0,                0x0,                36, 28);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 36, 28);
+   TESTINST("dextu", 0x0,                0x98765432,         36, 28);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 36, 28);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                36, 28);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 28);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         36, 28);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 36, 28);
+   TESTINST("dextu", 0x98765432,         0x0,                36, 28);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 36, 28);
+   TESTINST("dextu", 0x98765432,         0x98765432,         36, 28);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 36, 28);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                36, 28);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 36, 28);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         36, 28);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 36, 28);
+
+   TESTINST("dextu", 0x0,                0x0,                48, 1);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 48, 1);
+   TESTINST("dextu", 0x0,                0x98765432,         48, 1);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 48, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                48, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         48, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 48, 1);
+   TESTINST("dextu", 0x98765432,         0x0,                48, 1);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 48, 1);
+   TESTINST("dextu", 0x98765432,         0x98765432,         48, 1);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 48, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                48, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 48, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         48, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 48, 1);
+   TESTINST("dextu", 0x0,                0x0,                48, 4);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 48, 4);
+   TESTINST("dextu", 0x0,                0x98765432,         48, 4);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 48, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                48, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         48, 4);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 48, 4);
+   TESTINST("dextu", 0x98765432,         0x0,                48, 4);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 48, 4);
+   TESTINST("dextu", 0x98765432,         0x98765432,         48, 4);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 48, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                48, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 48, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         48, 4);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 48, 4);
+   TESTINST("dextu", 0x0,                0x0,                48, 16);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 48, 16);
+   TESTINST("dextu", 0x0,                0x98765432,         48, 16);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 48, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                48, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         48, 16);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 48, 16);
+   TESTINST("dextu", 0x98765432,         0x0,                48, 16);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 48, 16);
+   TESTINST("dextu", 0x98765432,         0x98765432,         48, 16);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 48, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                48, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 48, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         48, 16);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 48, 16);
+
+   TESTINST("dextu", 0x0,                0x0,                63, 1);
+   TESTINST("dextu", 0x0,                0xffffffffffffffff, 63, 1);
+   TESTINST("dextu", 0x0,                0x98765432,         63, 1);
+   TESTINST("dextu", 0x0,                0xffffffffff865421, 63, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0x0,                63, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffffffffff, 63, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0x98765432,         63, 1);
+   TESTINST("dextu", 0xffffffffffffffff, 0xffffffffff865421, 63, 1);
+   TESTINST("dextu", 0x98765432,         0x0,                63, 1);
+   TESTINST("dextu", 0x98765432,         0xffffffffffffffff, 63, 1);
+   TESTINST("dextu", 0x98765432,         0x98765432,         63, 1);
+   TESTINST("dextu", 0x98765432,         0xffffffffff865421, 63, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0x0,                63, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffffffffff, 63, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0x98765432,         63, 1);
+   TESTINST("dextu", 0xffffffffff865421, 0xffffffffff865421, 63, 1);
+
+   TESTINST("dextu", 0x2002ffffffffffff, 0xfffffffff0000fff, 33, 4);
+   TESTINST("dextu", 0xffff0000ffffffff, 0xff0000ffffffffff, 60, 4);
+   TESTINST("dextu", 0x2000ffffffffffff, 0xffff0000ffffffff, 54, 4);
+   TESTINST("dextu", 0x2000ffffffddddff, 0xffffffffffff0008, 56, 2);
+   TESTINST("dextu", 0x2000ffffffffeeee, 0xfffffff31415927f, 40, 4);
+   TESTINST("dextu", 0x31415927ffffffff, 0x2000ffffffffffff, 51, 2);
+   TESTINST("dextu", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 48, 4);
+   TESTINST("dextu", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 38, 4);
+   TESTINST("dextu", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 35, 4);
+   TESTINST("dextu", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 36, 4);
+   TESTINST("dextu", 0x2000ffffffffbbbb, 0x2000ffffffffffff, 45, 1);
+   TESTINST("dextu", 0x2000ffffffffffff, 0xeeeeff33ff22ffff, 46, 4);
+   TESTINST("dextu", 0x7fffffffddddffff, 0x2000ffffffbbbbff, 52, 4);
+   TESTINST("dextu", 0x2000ffffffff2222, 0x2000ffffffffaaaa, 40, 8);
+   TESTINST("dextu", 0x2000ffffffffffff, 0x31415927ffffffff, 39, 4);
+   TESTINST("dextu", 0xfffffff31415927f, 0x2000ffffffffeeee, 60, 4);
+   TESTINST("dextu", 0xffffffffffff0008, 0x2000ffffffddddff, 63, 1);
+   TESTINST("dextu", 0xffff0000ffffffff, 0x2000ffffffffffff, 50, 4);
+   TESTINST("dextu", 0xff0000ffffffffff, 0,                  36, 4);
+   TESTINST("dextu", 0xfffffffff0000fff, 0,                  46, 4);
+
+   printf("--- DINS ---\n");
+   /* The values of pos and size must satisfy all of the following relations:
+      0 <= pos < 32
+      0 < size <= 32
+      0 < pos+size <= 32 */
+   TESTINST("dins", 0x0,                0x0,                0, 1);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 0, 1);
+   TESTINST("dins", 0x0,                0x98765432,         0, 1);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 0, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                0, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         0, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 0, 1);
+   TESTINST("dins", 0x98765432,         0x0,                0, 1);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 0, 1);
+   TESTINST("dins", 0x98765432,         0x98765432,         0, 1);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 0, 1);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                0, 1);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 0, 1);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         0, 1);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 0, 1);
+   TESTINST("dins", 0x0,                0x0,                0, 4);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 0, 4);
+   TESTINST("dins", 0x0,                0x98765432,         0, 4);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 0, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                0, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         0, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 0, 4);
+   TESTINST("dins", 0x98765432,         0x0,                0, 4);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 0, 4);
+   TESTINST("dins", 0x98765432,         0x98765432,         0, 4);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 0, 4);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                0, 4);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 0, 4);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         0, 4);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 0, 4);
+   TESTINST("dins", 0x0,                0x0,                0, 16);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 0, 16);
+   TESTINST("dins", 0x0,                0x98765432,         0, 16);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 0, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                0, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         0, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 0, 16);
+   TESTINST("dins", 0x98765432,         0x0,                0, 16);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 0, 16);
+   TESTINST("dins", 0x98765432,         0x98765432,         0, 16);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 0, 16);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                0, 16);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 0, 16);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         0, 16);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 0, 16);
+   TESTINST("dins", 0x0,                0x0,                0, 32);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 0, 32);
+   TESTINST("dins", 0x0,                0x98765432,         0, 32);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 0, 32);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                0, 32);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 0, 32);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         0, 32);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 0, 32);
+   TESTINST("dins", 0x98765432,         0x0,                0, 32);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 0, 32);
+   TESTINST("dins", 0x98765432,         0x98765432,         0, 32);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 0, 32);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                0, 32);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 0, 32);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         0, 32);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 0, 32);
+
+   TESTINST("dins", 0x0,                0x0,                4, 1);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 4, 1);
+   TESTINST("dins", 0x0,                0x98765432,         4, 1);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 4, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                4, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         4, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 4, 1);
+   TESTINST("dins", 0x98765432,         0x0,                4, 1);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 4, 1);
+   TESTINST("dins", 0x98765432,         0x98765432,         4, 1);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 4, 1);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                4, 1);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 4, 1);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         4, 1);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 4, 1);
+   TESTINST("dins", 0x0,                0x0,                4, 4);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 4, 4);
+   TESTINST("dins", 0x0,                0x98765432,         4, 4);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 4, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                4, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         4, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 4, 4);
+   TESTINST("dins", 0x98765432,         0x0,                4, 4);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 4, 4);
+   TESTINST("dins", 0x98765432,         0x98765432,         4, 4);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 4, 4);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                4, 4);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 4, 4);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         4, 4);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 4, 4);
+   TESTINST("dins", 0x0,                0x0,                4, 16);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 4, 16);
+   TESTINST("dins", 0x0,                0x98765432,         4, 16);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 4, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                4, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         4, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 4, 16);
+   TESTINST("dins", 0x98765432,         0x0,                4, 16);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 4, 16);
+   TESTINST("dins", 0x98765432,         0x98765432,         4, 16);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 4, 16);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                4, 16);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 4, 16);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         4, 16);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 4, 16);
+   TESTINST("dins", 0x0,                0x0,                4, 28);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 4, 28);
+   TESTINST("dins", 0x0,                0x98765432,         4, 28);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 4, 28);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                4, 28);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 4, 28);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         4, 28);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 4, 28);
+   TESTINST("dins", 0x98765432,         0x0,                4, 28);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 4, 28);
+   TESTINST("dins", 0x98765432,         0x98765432,         4, 28);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 4, 28);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                4, 28);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 4, 28);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         4, 28);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 4, 28);
+
+   TESTINST("dins", 0x0,                0x0,                16, 1);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 16, 1);
+   TESTINST("dins", 0x0,                0x98765432,         16, 1);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 16, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                16, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         16, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 16, 1);
+   TESTINST("dins", 0x98765432,         0x0,                16, 1);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 16, 1);
+   TESTINST("dins", 0x98765432,         0x98765432,         16, 1);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 16, 1);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                16, 1);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 16, 1);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         16, 1);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 16, 1);
+   TESTINST("dins", 0x0,                0x0,                16, 4);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 16, 4);
+   TESTINST("dins", 0x0,                0x98765432,         16, 4);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 16, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                16, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         16, 4);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 16, 4);
+   TESTINST("dins", 0x98765432,         0x0,                16, 4);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 16, 4);
+   TESTINST("dins", 0x98765432,         0x98765432,         16, 4);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 16, 4);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                16, 4);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 16, 4);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         16, 4);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 16, 4);
+   TESTINST("dins", 0x0,                0x0,                16, 16);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 16, 16);
+   TESTINST("dins", 0x0,                0x98765432,         16, 16);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 16, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                16, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 16, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         16, 16);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 16, 16);
+   TESTINST("dins", 0x98765432,         0x0,                16, 16);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 16, 16);
+   TESTINST("dins", 0x98765432,         0x98765432,         16, 16);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 16, 16);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                16, 16);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 16, 16);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         16, 16);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 16, 16);
+
+   TESTINST("dins", 0x0,                0x0,                31, 1);
+   TESTINST("dins", 0x0,                0xffffffffffffffff, 31, 1);
+   TESTINST("dins", 0x0,                0x98765432,         31, 1);
+   TESTINST("dins", 0x0,                0xffffffffff865421, 31, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0x0,                31, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffffffffff, 31, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0x98765432,         31, 1);
+   TESTINST("dins", 0xffffffffffffffff, 0xffffffffff865421, 31, 1);
+   TESTINST("dins", 0x98765432,         0x0,                31, 1);
+   TESTINST("dins", 0x98765432,         0xffffffffffffffff, 31, 1);
+   TESTINST("dins", 0x98765432,         0x98765432,         31, 1);
+   TESTINST("dins", 0x98765432,         0xffffffffff865421, 31, 1);
+   TESTINST("dins", 0xffffffffff865421, 0x0,                31, 1);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffffffffff, 31, 1);
+   TESTINST("dins", 0xffffffffff865421, 0x98765432,         31, 1);
+   TESTINST("dins", 0xffffffffff865421, 0xffffffffff865421, 31, 1);
+
+   TESTINST("dins", 0x2002ffffffffffff, 0xfffffffff0000fff, 4,  4);
+   TESTINST("dins", 0xffff0000ffffffff, 0xff0000ffffffffff, 8,  4);
+   TESTINST("dins", 0x2000ffffffffffff, 0xffff0000ffffffff, 16, 4);
+   TESTINST("dins", 0x2000ffffffddddff, 0xffffffffffff0008, 24, 2);
+   TESTINST("dins", 0x2000ffffffffeeee, 0xfffffff31415927f, 24, 4);
+   TESTINST("dins", 0x31415927ffffffff, 0x2000ffffffffffff, 9,  2);
+   TESTINST("dins", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 16, 4);
+   TESTINST("dins", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 16, 4);
+   TESTINST("dins", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 7,  4);
+   TESTINST("dins", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 5,  4);
+   TESTINST("dins", 0x2000ffffffffbbbb, 0x2000ffffffffffff, 3,  4);
+   TESTINST("dins", 0x2000ffffffffffff, 0xeeeeff33ff22ffff, 16, 4);
+   TESTINST("dins", 0x7fffffffddddffff, 0x2000ffffffbbbbff, 16, 2);
+   TESTINST("dins", 0x2000ffffffff2222, 0x2000ffffffffaaaa, 2,  8);
+   TESTINST("dins", 0x2000ffffffffffff, 0x2000ffffffffeeee, 0,  32);
+   TESTINST("dins", 0xfffffff31415927f, 0x2000ffffffddddff, 16, 16);
+   TESTINST("dins", 0xffffffffffff0008, 0x2000ffffffddddff, 8,  2);
+   TESTINST("dins", 0xffff0000ffffffff, 0x2000ffffffffffff, 16, 4);
+   TESTINST("dins", 0xff0000ffffffffff, 0xffff0000ffffffff, 8,  4);
+   TESTINST("dins", 0xfffffffff0000fff, 0,                  0,  31);
+
+   printf("--- DINSM ---\n");
+   /* The values of pos and size must satisfy all of the following relations:
+      0 <= pos < 32
+      2 <= size <= 64
+      32 < pos+size <= 64 */
+   TESTINST("dinsm", 0x0,                0x0,                0, 33);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 0, 33);
+   TESTINST("dinsm", 0x0,                0x98765432,         0, 33);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 0, 33);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                0, 33);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 33);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         0, 33);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 0, 33);
+   TESTINST("dinsm", 0x98765432,         0x0,                0, 33);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 0, 33);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         0, 33);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 0, 33);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                0, 33);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 0, 33);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         0, 33);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 0, 33);
+   TESTINST("dinsm", 0x0,                0x0,                0, 37);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 0, 37);
+   TESTINST("dinsm", 0x0,                0x98765432,         0, 37);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 0, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                0, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         0, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 0, 37);
+   TESTINST("dinsm", 0x98765432,         0x0,                0, 37);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 0, 37);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         0, 37);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 0, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                0, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 0, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         0, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 0, 37);
+   TESTINST("dinsm", 0x0,                0x0,                0, 48);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 0, 48);
+   TESTINST("dinsm", 0x0,                0x98765432,         0, 48);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 0, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                0, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         0, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 0, 48);
+   TESTINST("dinsm", 0x98765432,         0x0,                0, 48);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 0, 48);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         0, 48);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 0, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                0, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 0, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         0, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 0, 48);
+   TESTINST("dinsm", 0x0,                0x0,                0, 64);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 0, 64);
+   TESTINST("dinsm", 0x0,                0x98765432,         0, 64);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 0, 64);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                0, 64);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 0, 64);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         0, 64);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 0, 64);
+   TESTINST("dinsm", 0x98765432,         0x0,                0, 64);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 0, 64);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         0, 64);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 0, 64);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                0, 64);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 0, 64);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         0, 64);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 0, 64);
+
+   TESTINST("dinsm", 0x0,                0x0,                4, 29);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 4, 29);
+   TESTINST("dinsm", 0x0,                0x98765432,         4, 29);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 4, 29);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                4, 29);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 29);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         4, 29);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 4, 29);
+   TESTINST("dinsm", 0x98765432,         0x0,                4, 29);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 4, 29);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         4, 29);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 4, 29);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                4, 29);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 4, 29);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         4, 29);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 4, 29);
+   TESTINST("dinsm", 0x0,                0x0,                4, 32);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 4, 32);
+   TESTINST("dinsm", 0x0,                0x98765432,         4, 32);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 4, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                4, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         4, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 4, 32);
+   TESTINST("dinsm", 0x98765432,         0x0,                4, 32);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 4, 32);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         4, 32);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 4, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                4, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 4, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         4, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 4, 32);
+   TESTINST("dinsm", 0x0,                0x0,                4, 37);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 4, 37);
+   TESTINST("dinsm", 0x0,                0x98765432,         4, 37);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 4, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                4, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         4, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 4, 37);
+   TESTINST("dinsm", 0x98765432,         0x0,                4, 37);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 4, 37);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         4, 37);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 4, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                4, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 4, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         4, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 4, 37);
+   TESTINST("dinsm", 0x0,                0x0,                4, 48);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 4, 48);
+   TESTINST("dinsm", 0x0,                0x98765432,         4, 48);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 4, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                4, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         4, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 4, 48);
+   TESTINST("dinsm", 0x98765432,         0x0,                4, 48);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 4, 48);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         4, 48);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 4, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                4, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 4, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         4, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 4, 48);
+   TESTINST("dinsm", 0x0,                0x0,                4, 60);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 4, 60);
+   TESTINST("dinsm", 0x0,                0x98765432,         4, 60);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 4, 60);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                4, 60);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 4, 60);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         4, 60);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 4, 60);
+   TESTINST("dinsm", 0x98765432,         0x0,                4, 60);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 4, 60);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         4, 60);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 4, 60);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                4, 60);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 4, 60);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         4, 60);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 4, 60);
+
+   TESTINST("dinsm", 0x0,                0x0,                16, 17);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 16, 17);
+   TESTINST("dinsm", 0x0,                0x98765432,         16, 17);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 16, 17);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                16, 17);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 17);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         16, 17);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 16, 17);
+   TESTINST("dinsm", 0x98765432,         0x0,                16, 17);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 16, 17);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         16, 17);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 16, 17);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                16, 17);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 16, 17);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         16, 17);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 16, 17);
+   TESTINST("dinsm", 0x0,                0x0,                16, 32);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 16, 32);
+   TESTINST("dinsm", 0x0,                0x98765432,         16, 32);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 16, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                16, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         16, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 16, 32);
+   TESTINST("dinsm", 0x98765432,         0x0,                16, 32);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 16, 32);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         16, 32);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 16, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                16, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 16, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         16, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 16, 32);
+   TESTINST("dinsm", 0x0,                0x0,                16, 37);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 16, 37);
+   TESTINST("dinsm", 0x0,                0x98765432,         16, 37);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 16, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                16, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         16, 37);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 16, 37);
+   TESTINST("dinsm", 0x98765432,         0x0,                16, 37);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 16, 37);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         16, 37);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 16, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                16, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 16, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         16, 37);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 16, 37);
+   TESTINST("dinsm", 0x0,                0x0,                16, 48);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 16, 48);
+   TESTINST("dinsm", 0x0,                0x98765432,         16, 48);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 16, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                16, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 16, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         16, 48);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 16, 48);
+   TESTINST("dinsm", 0x98765432,         0x0,                16, 48);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 16, 48);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         16, 48);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 16, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                16, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 16, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         16, 48);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 16, 48);
+
+   TESTINST("dinsm", 0x0,                0x0,                31, 2);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 31, 2);
+   TESTINST("dinsm", 0x0,                0x98765432,         31, 2);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 31, 2);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                31, 2);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 31, 2);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         31, 2);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 31, 2);
+   TESTINST("dinsm", 0x98765432,         0x0,                31, 2);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 31, 2);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         31, 2);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 31, 2);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                31, 2);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 31, 2);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         31, 2);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 31, 2);
+   TESTINST("dinsm", 0x0,                0x0,                31, 16);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 31, 16);
+   TESTINST("dinsm", 0x0,                0x98765432,         31, 16);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 31, 16);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                31, 16);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 31, 16);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         31, 16);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 31, 16);
+   TESTINST("dinsm", 0x98765432,         0x0,                31, 16);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 31, 16);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         31, 16);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 31, 16);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                31, 16);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 31, 16);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         31, 16);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 31, 16);
+   TESTINST("dinsm", 0x0,                0x0,                31, 32);
+   TESTINST("dinsm", 0x0,                0xffffffffffffffff, 31, 32);
+   TESTINST("dinsm", 0x0,                0x98765432,         31, 32);
+   TESTINST("dinsm", 0x0,                0xffffffffff865421, 31, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x0,                31, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffffffffff, 31, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0x98765432,         31, 32);
+   TESTINST("dinsm", 0xffffffffffffffff, 0xffffffffff865421, 31, 32);
+   TESTINST("dinsm", 0x98765432,         0x0,                31, 32);
+   TESTINST("dinsm", 0x98765432,         0xffffffffffffffff, 31, 32);
+   TESTINST("dinsm", 0x98765432,         0x98765432,         31, 32);
+   TESTINST("dinsm", 0x98765432,         0xffffffffff865421, 31, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0x0,                31, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffffffffff, 31, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0x98765432,         31, 32);
+   TESTINST("dinsm", 0xffffffffff865421, 0xffffffffff865421, 31, 32);
+
+   TESTINST("dinsm", 0x2002ffffffffffff, 0xfffffffff0000fff, 4,  35);
+   TESTINST("dinsm", 0xffff0000ffffffff, 0xff0000ffffffffff, 8,  33);
+   TESTINST("dinsm", 0x2000ffffffffffff, 0xffff0000ffffffff, 16, 34);
+   TESTINST("dinsm", 0x2000ffffffddddff, 0xffffffffffff0008, 4,  46);
+   TESTINST("dinsm", 0x2000ffffffffeeee, 0xfffffff31415927f, 3,  56);
+   TESTINST("dinsm", 0x31415927ffffffff, 0x2000ffffffffffff, 0,  64);
+   TESTINST("dinsm", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 16, 40);
+   TESTINST("dinsm", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 16, 42);
+   TESTINST("dinsm", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 7,  43);
+   TESTINST("dinsm", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 5,  48);
+   TESTINST("dinsm", 0x2000ffffffffbbbb, 0x2000ffffffffffff, 3,  52);
+   TESTINST("dinsm", 0x2000ffffffffffff, 0xeeeeff33ff22ffff, 1,  54);
+   TESTINST("dinsm", 0x7fffffffddddffff, 0x2000ffffffbbbbff, 2,  54);
+   TESTINST("dinsm", 0x2000ffffffff2222, 0x2000ffffffffaaaa, 2,  48);
+   TESTINST("dinsm", 0x2000ffffffffffff, 0x31415927ffffffff, 5,  53);
+   TESTINST("dinsm", 0xfffffff31415927f, 0x2000ffffffffeeee, 2,  60);
+   TESTINST("dinsm", 0xffffffffffff0008, 0x2000ffffffddddff, 3,  61);
+   TESTINST("dinsm", 0xffff0000ffffffff, 0x2000ffffffffffff, 1,  62);
+   TESTINST("dinsm", 0xff0000ffffffffff, 0,                  8,  38);
+   TESTINST("dinsm", 0xfffffffff0000fff, 0,                  16, 39);
+
+   printf("--- DINSU ---\n");
+   /* The values of pos and size must satisfy all of the following relations:
+      32 <= pos < 64
+      1 <= size <= 32
+      32 < pos+size <= 64 */
+   TESTINST("dinsu", 0x0,                0x0,                32, 1);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 32, 1);
+   TESTINST("dinsu", 0x0,                0x98765432,         32, 1);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 32, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                32, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         32, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 32, 1);
+   TESTINST("dinsu", 0x98765432,         0x0,                32, 1);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 32, 1);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         32, 1);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 32, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                32, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 32, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         32, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 32, 1);
+   TESTINST("dinsu", 0x0,                0x0,                32, 4);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 32, 4);
+   TESTINST("dinsu", 0x0,                0x98765432,         32, 4);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 32, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                32, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         32, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 32, 4);
+   TESTINST("dinsu", 0x98765432,         0x0,                32, 4);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 32, 4);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         32, 4);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 32, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                32, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 32, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         32, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 32, 4);
+   TESTINST("dinsu", 0x0,                0x0,                32, 16);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 32, 16);
+   TESTINST("dinsu", 0x0,                0x98765432,         32, 16);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 32, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                32, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         32, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 32, 16);
+   TESTINST("dinsu", 0x98765432,         0x0,                32, 16);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 32, 16);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         32, 16);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 32, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                32, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 32, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         32, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 32, 16);
+   TESTINST("dinsu", 0x0,                0x0,                32, 32);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 32, 32);
+   TESTINST("dinsu", 0x0,                0x98765432,         32, 32);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 32, 32);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                32, 32);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 32, 32);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         32, 32);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 32, 32);
+   TESTINST("dinsu", 0x98765432,         0x0,                32, 32);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 32, 32);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         32, 32);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 32, 32);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                32, 32);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 32, 32);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         32, 32);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 32, 32);
+
+   TESTINST("dinsu", 0x0,                0x0,                36, 1);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 36, 1);
+   TESTINST("dinsu", 0x0,                0x98765432,         36, 1);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 36, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                36, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         36, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 36, 1);
+   TESTINST("dinsu", 0x98765432,         0x0,                36, 1);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 36, 1);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         36, 1);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 36, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                36, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 36, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         36, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 36, 1);
+   TESTINST("dinsu", 0x0,                0x0,                36, 4);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 36, 4);
+   TESTINST("dinsu", 0x0,                0x98765432,         36, 4);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 36, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                36, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         36, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 36, 4);
+   TESTINST("dinsu", 0x98765432,         0x0,                36, 4);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 36, 4);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         36, 4);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 36, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                36, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 36, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         36, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 36, 4);
+   TESTINST("dinsu", 0x0,                0x0,                36, 16);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 36, 16);
+   TESTINST("dinsu", 0x0,                0x98765432,         36, 16);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 36, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                36, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         36, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 36, 16);
+   TESTINST("dinsu", 0x98765432,         0x0,                36, 16);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 36, 16);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         36, 16);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 36, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                36, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 36, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         36, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 36, 16);
+   TESTINST("dinsu", 0x0,                0x0,                36, 28);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 36, 28);
+   TESTINST("dinsu", 0x0,                0x98765432,         36, 28);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 36, 28);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                36, 28);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 36, 28);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         36, 28);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 36, 28);
+   TESTINST("dinsu", 0x98765432,         0x0,                36, 28);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 36, 28);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         36, 28);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 36, 28);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                36, 28);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 36, 28);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         36, 28);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 36, 28);
+
+   TESTINST("dinsu", 0x0,                0x0,                48, 1);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 48, 1);
+   TESTINST("dinsu", 0x0,                0x98765432,         48, 1);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 48, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                48, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         48, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 48, 1);
+   TESTINST("dinsu", 0x98765432,         0x0,                48, 1);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 48, 1);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         48, 1);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 48, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                48, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 48, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         48, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 48, 1);
+   TESTINST("dinsu", 0x0,                0x0,                48, 4);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 48, 4);
+   TESTINST("dinsu", 0x0,                0x98765432,         48, 4);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 48, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                48, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         48, 4);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 48, 4);
+   TESTINST("dinsu", 0x98765432,         0x0,                48, 4);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 48, 4);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         48, 4);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 48, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                48, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 48, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         48, 4);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 48, 4);
+   TESTINST("dinsu", 0x0,                0x0,                48, 16);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 48, 16);
+   TESTINST("dinsu", 0x0,                0x98765432,         48, 16);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 48, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                48, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 48, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         48, 16);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 48, 16);
+   TESTINST("dinsu", 0x98765432,         0x0,                48, 16);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 48, 16);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         48, 16);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 48, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                48, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 48, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         48, 16);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 48, 16);
+
+   TESTINST("dinsu", 0x0,                0x0,                63, 1);
+   TESTINST("dinsu", 0x0,                0xffffffffffffffff, 63, 1);
+   TESTINST("dinsu", 0x0,                0x98765432,         63, 1);
+   TESTINST("dinsu", 0x0,                0xffffffffff865421, 63, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x0,                63, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffffffffff, 63, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0x98765432,         63, 1);
+   TESTINST("dinsu", 0xffffffffffffffff, 0xffffffffff865421, 63, 1);
+   TESTINST("dinsu", 0x98765432,         0x0,                63, 1);
+   TESTINST("dinsu", 0x98765432,         0xffffffffffffffff, 63, 1);
+   TESTINST("dinsu", 0x98765432,         0x98765432,         63, 1);
+   TESTINST("dinsu", 0x98765432,         0xffffffffff865421, 63, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0x0,                63, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffffffffff, 63, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0x98765432,         63, 1);
+   TESTINST("dinsu", 0xffffffffff865421, 0xffffffffff865421, 63, 1);
+
+   TESTINST("dinsu", 0x2002ffffffffffff, 0xfffffffff0000fff, 33, 4);
+   TESTINST("dinsu", 0xffff0000ffffffff, 0xff0000ffffffffff, 60, 4);
+   TESTINST("dinsu", 0x2000ffffffffffff, 0xffff0000ffffffff, 54, 4);
+   TESTINST("dinsu", 0x2000ffffffddddff, 0xffffffffffff0008, 56, 2);
+   TESTINST("dinsu", 0x2000ffffffffeeee, 0xfffffff31415927f, 40, 4);
+   TESTINST("dinsu", 0x31415927ffffffff, 0x2000ffffffffffff, 51, 2);
+   TESTINST("dinsu", 0x2000ffffffffaaaa, 0x2000ffffffff2222, 48, 4);
+   TESTINST("dinsu", 0x2000ffffffbbbbff, 0x7fffffffddddffff, 38, 4);
+   TESTINST("dinsu", 0xeeeeff33ff22ffff, 0x2000ffffffffffff, 35, 4);
+   TESTINST("dinsu", 0x2000ffffffffffff, 0x2000ffffffffbbbb, 36, 4);
+   TESTINST("dinsu", 0x2000ffffffffbbbb, 0x2000ffffffffffff, 45, 1);
+   TESTINST("dinsu", 0x2000ffffffffffff, 0xeeeeff33ff22ffff, 46, 4);
+   TESTINST("dinsu", 0x7fffffffddddffff, 0x2000ffffffbbbbff, 52, 4);
+   TESTINST("dinsu", 0x2000ffffffff2222, 0x2000ffffffffaaaa, 40, 8);
+   TESTINST("dinsu", 0x2000ffffffffffff, 0x31415927ffffffff, 39, 4);
+   TESTINST("dinsu", 0xfffffff31415927f, 0x31415927ffffffff, 60, 4);
+   TESTINST("dinsu", 0xffffffffffff0008, 0x2000ffffffddddff, 63, 1);
+   TESTINST("dinsu", 0xffff0000ffffffff, 0x2000ffffffffffff, 50, 4);
+   TESTINST("dinsu", 0xff0000ffffffffff, 0,                  36, 4);
+   TESTINST("dinsu", 0xfffffffff0000fff, 0,                  46, 4);
+#else
+   printf("This test is testing mips64r2 instructions.\n");
+#endif
+
+   return 0;
+}
diff --git a/none/tests/mips64/extract_insert_bit_field.stderr.exp b/none/tests/mips64/extract_insert_bit_field.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/extract_insert_bit_field.stderr.exp
diff --git a/none/tests/mips64/extract_insert_bit_field.stdout.exp-mips64 b/none/tests/mips64/extract_insert_bit_field.stdout.exp-mips64
new file mode 100644
index 0000000..4ea1f29
--- /dev/null
+++ b/none/tests/mips64/extract_insert_bit_field.stdout.exp-mips64
@@ -0,0 +1 @@
+This test is testing mips64r2 instructions.
diff --git a/none/tests/mips64/extract_insert_bit_field.stdout.exp-mips64r2 b/none/tests/mips64/extract_insert_bit_field.stdout.exp-mips64r2
new file mode 100644
index 0000000..34d27ff
--- /dev/null
+++ b/none/tests/mips64/extract_insert_bit_field.stdout.exp-mips64r2
@@ -0,0 +1,1792 @@
+--- INS ---
+ins :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 1
+ins :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffffffffffe, pos: 0, size: 1
+ins :: in 0x0, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 1
+ins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff865420, pos: 0, size: 1
+ins :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 0, size: 1
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 1
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765433, pos: 0, size: 1
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 1
+ins :: in 0x98765432, in1 0x0, out 0x0, pos: 0, size: 1
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffffffffffe, pos: 0, size: 1
+ins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 1
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865420, pos: 0, size: 1
+ins :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 0, size: 1
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 1
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765433, pos: 0, size: 1
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 1
+ins :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 4
+ins :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffffffffff0, pos: 0, size: 4
+ins :: in 0x0, in1 0x98765432, out 0xffffffff98765430, pos: 0, size: 4
+ins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff865420, pos: 0, size: 4
+ins :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 0, size: 4
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 4
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff9876543f, pos: 0, size: 4
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff86542f, pos: 0, size: 4
+ins :: in 0x98765432, in1 0x0, out 0x2, pos: 0, size: 4
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffffffffff2, pos: 0, size: 4
+ins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 4
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865422, pos: 0, size: 4
+ins :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 0, size: 4
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffffffffff1, pos: 0, size: 4
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765431, pos: 0, size: 4
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 4
+ins :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 16
+ins :: in 0x0, in1 0xffffffffffffffff, out 0xffffffffffff0000, pos: 0, size: 16
+ins :: in 0x0, in1 0x98765432, out 0xffffffff98760000, pos: 0, size: 16
+ins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff860000, pos: 0, size: 16
+ins :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 0, size: 16
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 16
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff9876ffff, pos: 0, size: 16
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff86ffff, pos: 0, size: 16
+ins :: in 0x98765432, in1 0x0, out 0x5432, pos: 0, size: 16
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffffffff5432, pos: 0, size: 16
+ins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 16
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865432, pos: 0, size: 16
+ins :: in 0xffffffffff865421, in1 0x0, out 0x5421, pos: 0, size: 16
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffff5421, pos: 0, size: 16
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765421, pos: 0, size: 16
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 16
+ins :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 32
+ins :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 32
+ins :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 32
+ins :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 32
+ins :: in 0xffffffffffffffff, in1 0x0, out 0xffffffffffffffff, pos: 0, size: 32
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 32
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffffffff, pos: 0, size: 32
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffffffff, pos: 0, size: 32
+ins :: in 0x98765432, in1 0x0, out 0xffffffff98765432, pos: 0, size: 32
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff98765432, pos: 0, size: 32
+ins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 32
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff98765432, pos: 0, size: 32
+ins :: in 0xffffffffff865421, in1 0x0, out 0xffffffffff865421, pos: 0, size: 32
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffff865421, pos: 0, size: 32
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffffff865421, pos: 0, size: 32
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 32
+ins :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 1
+ins :: in 0x0, in1 0xffffffffffffffff, out 0xffffffffffffffef, pos: 4, size: 1
+ins :: in 0x0, in1 0x98765432, out 0xffffffff98765422, pos: 4, size: 1
+ins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 4, size: 1
+ins :: in 0xffffffffffffffff, in1 0x0, out 0x10, pos: 4, size: 1
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 1
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 4, size: 1
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865431, pos: 4, size: 1
+ins :: in 0x98765432, in1 0x0, out 0x0, pos: 4, size: 1
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffffffffffef, pos: 4, size: 1
+ins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765422, pos: 4, size: 1
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 4, size: 1
+ins :: in 0xffffffffff865421, in1 0x0, out 0x10, pos: 4, size: 1
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 1
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765432, pos: 4, size: 1
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865431, pos: 4, size: 1
+ins :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 4
+ins :: in 0x0, in1 0xffffffffffffffff, out 0xffffffffffffff0f, pos: 4, size: 4
+ins :: in 0x0, in1 0x98765432, out 0xffffffff98765402, pos: 4, size: 4
+ins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff865401, pos: 4, size: 4
+ins :: in 0xffffffffffffffff, in1 0x0, out 0xf0, pos: 4, size: 4
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 4
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff987654f2, pos: 4, size: 4
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff8654f1, pos: 4, size: 4
+ins :: in 0x98765432, in1 0x0, out 0x20, pos: 4, size: 4
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffffffffff2f, pos: 4, size: 4
+ins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765422, pos: 4, size: 4
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 4, size: 4
+ins :: in 0xffffffffff865421, in1 0x0, out 0x10, pos: 4, size: 4
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffff1f, pos: 4, size: 4
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765412, pos: 4, size: 4
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865411, pos: 4, size: 4
+ins :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 16
+ins :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffffff0000f, pos: 4, size: 16
+ins :: in 0x0, in1 0x98765432, out 0xffffffff98700002, pos: 4, size: 16
+ins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff800001, pos: 4, size: 16
+ins :: in 0xffffffffffffffff, in1 0x0, out 0xffff0, pos: 4, size: 16
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 16
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff987ffff2, pos: 4, size: 16
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff8ffff1, pos: 4, size: 16
+ins :: in 0x98765432, in1 0x0, out 0x54320, pos: 4, size: 16
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffffff5432f, pos: 4, size: 16
+ins :: in 0x98765432, in1 0x98765432, out 0xffffffff98754322, pos: 4, size: 16
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff854321, pos: 4, size: 16
+ins :: in 0xffffffffff865421, in1 0x0, out 0x54210, pos: 4, size: 16
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffffff5421f, pos: 4, size: 16
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98754212, pos: 4, size: 16
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff854211, pos: 4, size: 16
+ins :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 28
+ins :: in 0x0, in1 0xffffffffffffffff, out 0xf, pos: 4, size: 28
+ins :: in 0x0, in1 0x98765432, out 0x2, pos: 4, size: 28
+ins :: in 0x0, in1 0xffffffffff865421, out 0x1, pos: 4, size: 28
+ins :: in 0xffffffffffffffff, in1 0x0, out 0xfffffffffffffff0, pos: 4, size: 28
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 28
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xfffffffffffffff2, pos: 4, size: 28
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xfffffffffffffff1, pos: 4, size: 28
+ins :: in 0x98765432, in1 0x0, out 0xffffffff87654320, pos: 4, size: 28
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff8765432f, pos: 4, size: 28
+ins :: in 0x98765432, in1 0x98765432, out 0xffffffff87654322, pos: 4, size: 28
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff87654321, pos: 4, size: 28
+ins :: in 0xffffffffff865421, in1 0x0, out 0xfffffffff8654210, pos: 4, size: 28
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffff865421f, pos: 4, size: 28
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffffff8654212, pos: 4, size: 28
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffffff8654211, pos: 4, size: 28
+ins :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 1
+ins :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffffffeffff, pos: 16, size: 1
+ins :: in 0x0, in1 0x98765432, out 0xffffffff98765432, pos: 16, size: 1
+ins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 16, size: 1
+ins :: in 0xffffffffffffffff, in1 0x0, out 0x10000, pos: 16, size: 1
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 1
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98775432, pos: 16, size: 1
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff875421, pos: 16, size: 1
+ins :: in 0x98765432, in1 0x0, out 0x0, pos: 16, size: 1
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffffffeffff, pos: 16, size: 1
+ins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 16, size: 1
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 16, size: 1
+ins :: in 0xffffffffff865421, in1 0x0, out 0x10000, pos: 16, size: 1
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 1
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98775432, pos: 16, size: 1
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff875421, pos: 16, size: 1
+ins :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 4
+ins :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffffff0ffff, pos: 16, size: 4
+ins :: in 0x0, in1 0x98765432, out 0xffffffff98705432, pos: 16, size: 4
+ins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff805421, pos: 16, size: 4
+ins :: in 0xffffffffffffffff, in1 0x0, out 0xf0000, pos: 16, size: 4
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 4
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff987f5432, pos: 16, size: 4
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff8f5421, pos: 16, size: 4
+ins :: in 0x98765432, in1 0x0, out 0x20000, pos: 16, size: 4
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffffff2ffff, pos: 16, size: 4
+ins :: in 0x98765432, in1 0x98765432, out 0xffffffff98725432, pos: 16, size: 4
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff825421, pos: 16, size: 4
+ins :: in 0xffffffffff865421, in1 0x0, out 0x10000, pos: 16, size: 4
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffffff1ffff, pos: 16, size: 4
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98715432, pos: 16, size: 4
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff815421, pos: 16, size: 4
+ins :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 16
+ins :: in 0x0, in1 0xffffffffffffffff, out 0xffff, pos: 16, size: 16
+ins :: in 0x0, in1 0x98765432, out 0x5432, pos: 16, size: 16
+ins :: in 0x0, in1 0xffffffffff865421, out 0x5421, pos: 16, size: 16
+ins :: in 0xffffffffffffffff, in1 0x0, out 0xffffffffffff0000, pos: 16, size: 16
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 16
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffff5432, pos: 16, size: 16
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffff5421, pos: 16, size: 16
+ins :: in 0x98765432, in1 0x0, out 0x54320000, pos: 16, size: 16
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0x5432ffff, pos: 16, size: 16
+ins :: in 0x98765432, in1 0x98765432, out 0x54325432, pos: 16, size: 16
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0x54325421, pos: 16, size: 16
+ins :: in 0xffffffffff865421, in1 0x0, out 0x54210000, pos: 16, size: 16
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x5421ffff, pos: 16, size: 16
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0x54215432, pos: 16, size: 16
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x54215421, pos: 16, size: 16
+ins :: in 0x0, in1 0x0, out 0x0, pos: 31, size: 1
+ins :: in 0x0, in1 0xffffffffffffffff, out 0x7fffffff, pos: 31, size: 1
+ins :: in 0x0, in1 0x98765432, out 0x18765432, pos: 31, size: 1
+ins :: in 0x0, in1 0xffffffffff865421, out 0x7f865421, pos: 31, size: 1
+ins :: in 0xffffffffffffffff, in1 0x0, out 0xffffffff80000000, pos: 31, size: 1
+ins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 31, size: 1
+ins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 31, size: 1
+ins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 31, size: 1
+ins :: in 0x98765432, in1 0x0, out 0x0, pos: 31, size: 1
+ins :: in 0x98765432, in1 0xffffffffffffffff, out 0x7fffffff, pos: 31, size: 1
+ins :: in 0x98765432, in1 0x98765432, out 0x18765432, pos: 31, size: 1
+ins :: in 0x98765432, in1 0xffffffffff865421, out 0x7f865421, pos: 31, size: 1
+ins :: in 0xffffffffff865421, in1 0x0, out 0xffffffff80000000, pos: 31, size: 1
+ins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 31, size: 1
+ins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765432, pos: 31, size: 1
+ins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 31, size: 1
+--- EXT ---
+ext :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 1
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 1
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 1
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 1
+ext :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 0, size: 1
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 0, size: 1
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 0, size: 1
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 0, size: 1
+ext :: in 0x98765432, in1 0x0, out 0x0, pos: 0, size: 1
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 1
+ext :: in 0x98765432, in1 0x98765432, out 0x0, pos: 0, size: 1
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0x0, pos: 0, size: 1
+ext :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 0, size: 1
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1, pos: 0, size: 1
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0x1, pos: 0, size: 1
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1, pos: 0, size: 1
+ext :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 4
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 4
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 4
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 4
+ext :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 0, size: 4
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xf, pos: 0, size: 4
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0xf, pos: 0, size: 4
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xf, pos: 0, size: 4
+ext :: in 0x98765432, in1 0x0, out 0x2, pos: 0, size: 4
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0x2, pos: 0, size: 4
+ext :: in 0x98765432, in1 0x98765432, out 0x2, pos: 0, size: 4
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0x2, pos: 0, size: 4
+ext :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 0, size: 4
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1, pos: 0, size: 4
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0x1, pos: 0, size: 4
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1, pos: 0, size: 4
+ext :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 16
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 16
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 16
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 16
+ext :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 0, size: 16
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffff, pos: 0, size: 16
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffff, pos: 0, size: 16
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffff, pos: 0, size: 16
+ext :: in 0x98765432, in1 0x0, out 0x5432, pos: 0, size: 16
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0x5432, pos: 0, size: 16
+ext :: in 0x98765432, in1 0x98765432, out 0x5432, pos: 0, size: 16
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0x5432, pos: 0, size: 16
+ext :: in 0xffffffffff865421, in1 0x0, out 0x5421, pos: 0, size: 16
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x5421, pos: 0, size: 16
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0x5421, pos: 0, size: 16
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x5421, pos: 0, size: 16
+ext :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 32
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 32
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 32
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 32
+ext :: in 0xffffffffffffffff, in1 0x0, out 0xffffffffffffffff, pos: 0, size: 32
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 32
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffffffff, pos: 0, size: 32
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffffffff, pos: 0, size: 32
+ext :: in 0x98765432, in1 0x0, out 0xffffffff98765432, pos: 0, size: 32
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff98765432, pos: 0, size: 32
+ext :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 32
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff98765432, pos: 0, size: 32
+ext :: in 0xffffffffff865421, in1 0x0, out 0xffffffffff865421, pos: 0, size: 32
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffff865421, pos: 0, size: 32
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffffff865421, pos: 0, size: 32
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 32
+ext :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 1
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 1
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 1
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 1
+ext :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 4, size: 1
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 4, size: 1
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 4, size: 1
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 4, size: 1
+ext :: in 0x98765432, in1 0x0, out 0x1, pos: 4, size: 1
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0x1, pos: 4, size: 1
+ext :: in 0x98765432, in1 0x98765432, out 0x1, pos: 4, size: 1
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0x1, pos: 4, size: 1
+ext :: in 0xffffffffff865421, in1 0x0, out 0x0, pos: 4, size: 1
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 1
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0x0, pos: 4, size: 1
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x0, pos: 4, size: 1
+ext :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 4
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 4
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 4
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 4
+ext :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 4, size: 4
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xf, pos: 4, size: 4
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0xf, pos: 4, size: 4
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xf, pos: 4, size: 4
+ext :: in 0x98765432, in1 0x0, out 0x3, pos: 4, size: 4
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0x3, pos: 4, size: 4
+ext :: in 0x98765432, in1 0x98765432, out 0x3, pos: 4, size: 4
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0x3, pos: 4, size: 4
+ext :: in 0xffffffffff865421, in1 0x0, out 0x2, pos: 4, size: 4
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x2, pos: 4, size: 4
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0x2, pos: 4, size: 4
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x2, pos: 4, size: 4
+ext :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 16
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 16
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 16
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 16
+ext :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 4, size: 16
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffff, pos: 4, size: 16
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffff, pos: 4, size: 16
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffff, pos: 4, size: 16
+ext :: in 0x98765432, in1 0x0, out 0x6543, pos: 4, size: 16
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0x6543, pos: 4, size: 16
+ext :: in 0x98765432, in1 0x98765432, out 0x6543, pos: 4, size: 16
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0x6543, pos: 4, size: 16
+ext :: in 0xffffffffff865421, in1 0x0, out 0x6542, pos: 4, size: 16
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x6542, pos: 4, size: 16
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0x6542, pos: 4, size: 16
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x6542, pos: 4, size: 16
+ext :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 28
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 28
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 28
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 28
+ext :: in 0xffffffffffffffff, in1 0x0, out 0xfffffff, pos: 4, size: 28
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xfffffff, pos: 4, size: 28
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0xfffffff, pos: 4, size: 28
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xfffffff, pos: 4, size: 28
+ext :: in 0x98765432, in1 0x0, out 0x9876543, pos: 4, size: 28
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0x9876543, pos: 4, size: 28
+ext :: in 0x98765432, in1 0x98765432, out 0x9876543, pos: 4, size: 28
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0x9876543, pos: 4, size: 28
+ext :: in 0xffffffffff865421, in1 0x0, out 0xff86542, pos: 4, size: 28
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xff86542, pos: 4, size: 28
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0xff86542, pos: 4, size: 28
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xff86542, pos: 4, size: 28
+ext :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 1
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 1
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 16, size: 1
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 16, size: 1
+ext :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 16, size: 1
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 16, size: 1
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 16, size: 1
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 16, size: 1
+ext :: in 0x98765432, in1 0x0, out 0x0, pos: 16, size: 1
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 1
+ext :: in 0x98765432, in1 0x98765432, out 0x0, pos: 16, size: 1
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0x0, pos: 16, size: 1
+ext :: in 0xffffffffff865421, in1 0x0, out 0x0, pos: 16, size: 1
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 1
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0x0, pos: 16, size: 1
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x0, pos: 16, size: 1
+ext :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 4
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 4
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 16, size: 4
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 16, size: 4
+ext :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 16, size: 4
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xf, pos: 16, size: 4
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0xf, pos: 16, size: 4
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xf, pos: 16, size: 4
+ext :: in 0x98765432, in1 0x0, out 0x6, pos: 16, size: 4
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0x6, pos: 16, size: 4
+ext :: in 0x98765432, in1 0x98765432, out 0x6, pos: 16, size: 4
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0x6, pos: 16, size: 4
+ext :: in 0xffffffffff865421, in1 0x0, out 0x6, pos: 16, size: 4
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x6, pos: 16, size: 4
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0x6, pos: 16, size: 4
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x6, pos: 16, size: 4
+ext :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 16
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 16
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 16, size: 16
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 16, size: 16
+ext :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 16, size: 16
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffff, pos: 16, size: 16
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffff, pos: 16, size: 16
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffff, pos: 16, size: 16
+ext :: in 0x98765432, in1 0x0, out 0x9876, pos: 16, size: 16
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0x9876, pos: 16, size: 16
+ext :: in 0x98765432, in1 0x98765432, out 0x9876, pos: 16, size: 16
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0x9876, pos: 16, size: 16
+ext :: in 0xffffffffff865421, in1 0x0, out 0xff86, pos: 16, size: 16
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xff86, pos: 16, size: 16
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0xff86, pos: 16, size: 16
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xff86, pos: 16, size: 16
+ext :: in 0x0, in1 0x0, out 0x0, pos: 31, size: 1
+ext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 31, size: 1
+ext :: in 0x0, in1 0x98765432, out 0x0, pos: 31, size: 1
+ext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 31, size: 1
+ext :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 31, size: 1
+ext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 31, size: 1
+ext :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 31, size: 1
+ext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 31, size: 1
+ext :: in 0x98765432, in1 0x0, out 0x1, pos: 31, size: 1
+ext :: in 0x98765432, in1 0xffffffffffffffff, out 0x1, pos: 31, size: 1
+ext :: in 0x98765432, in1 0x98765432, out 0x1, pos: 31, size: 1
+ext :: in 0x98765432, in1 0xffffffffff865421, out 0x1, pos: 31, size: 1
+ext :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 31, size: 1
+ext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1, pos: 31, size: 1
+ext :: in 0xffffffffff865421, in1 0x98765432, out 0x1, pos: 31, size: 1
+ext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1, pos: 31, size: 1
+--- DEXT ---
+dext :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 1
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 1
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 1
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 1
+dext :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 0, size: 1
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 0, size: 1
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 0, size: 1
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 0, size: 1
+dext :: in 0x98765432, in1 0x0, out 0x0, pos: 0, size: 1
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 1
+dext :: in 0x98765432, in1 0x98765432, out 0x0, pos: 0, size: 1
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0x0, pos: 0, size: 1
+dext :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 0, size: 1
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1, pos: 0, size: 1
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0x1, pos: 0, size: 1
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1, pos: 0, size: 1
+dext :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 4
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 4
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 4
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 4
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 0, size: 4
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xf, pos: 0, size: 4
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xf, pos: 0, size: 4
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xf, pos: 0, size: 4
+dext :: in 0x98765432, in1 0x0, out 0x2, pos: 0, size: 4
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0x2, pos: 0, size: 4
+dext :: in 0x98765432, in1 0x98765432, out 0x2, pos: 0, size: 4
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0x2, pos: 0, size: 4
+dext :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 0, size: 4
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1, pos: 0, size: 4
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0x1, pos: 0, size: 4
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1, pos: 0, size: 4
+dext :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 16
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 16
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 16
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 16
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 0, size: 16
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffff, pos: 0, size: 16
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffff, pos: 0, size: 16
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffff, pos: 0, size: 16
+dext :: in 0x98765432, in1 0x0, out 0x5432, pos: 0, size: 16
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0x5432, pos: 0, size: 16
+dext :: in 0x98765432, in1 0x98765432, out 0x5432, pos: 0, size: 16
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0x5432, pos: 0, size: 16
+dext :: in 0xffffffffff865421, in1 0x0, out 0x5421, pos: 0, size: 16
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x5421, pos: 0, size: 16
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0x5421, pos: 0, size: 16
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x5421, pos: 0, size: 16
+dext :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 32
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 32
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 32
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 32
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xffffffff, pos: 0, size: 32
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffff, pos: 0, size: 32
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff, pos: 0, size: 32
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffff, pos: 0, size: 32
+dext :: in 0x98765432, in1 0x0, out 0x98765432, pos: 0, size: 32
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0x98765432, pos: 0, size: 32
+dext :: in 0x98765432, in1 0x98765432, out 0x98765432, pos: 0, size: 32
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0x98765432, pos: 0, size: 32
+dext :: in 0xffffffffff865421, in1 0x0, out 0xff865421, pos: 0, size: 32
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xff865421, pos: 0, size: 32
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0xff865421, pos: 0, size: 32
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xff865421, pos: 0, size: 32
+dext :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 1
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 1
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 1
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 1
+dext :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 4, size: 1
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 4, size: 1
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 4, size: 1
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 4, size: 1
+dext :: in 0x98765432, in1 0x0, out 0x1, pos: 4, size: 1
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0x1, pos: 4, size: 1
+dext :: in 0x98765432, in1 0x98765432, out 0x1, pos: 4, size: 1
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0x1, pos: 4, size: 1
+dext :: in 0xffffffffff865421, in1 0x0, out 0x0, pos: 4, size: 1
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 1
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0x0, pos: 4, size: 1
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x0, pos: 4, size: 1
+dext :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 4
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 4
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 4
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 4
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 4, size: 4
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xf, pos: 4, size: 4
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xf, pos: 4, size: 4
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xf, pos: 4, size: 4
+dext :: in 0x98765432, in1 0x0, out 0x3, pos: 4, size: 4
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0x3, pos: 4, size: 4
+dext :: in 0x98765432, in1 0x98765432, out 0x3, pos: 4, size: 4
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0x3, pos: 4, size: 4
+dext :: in 0xffffffffff865421, in1 0x0, out 0x2, pos: 4, size: 4
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x2, pos: 4, size: 4
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0x2, pos: 4, size: 4
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x2, pos: 4, size: 4
+dext :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 16
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 16
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 16
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 16
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 4, size: 16
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffff, pos: 4, size: 16
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffff, pos: 4, size: 16
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffff, pos: 4, size: 16
+dext :: in 0x98765432, in1 0x0, out 0x6543, pos: 4, size: 16
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0x6543, pos: 4, size: 16
+dext :: in 0x98765432, in1 0x98765432, out 0x6543, pos: 4, size: 16
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0x6543, pos: 4, size: 16
+dext :: in 0xffffffffff865421, in1 0x0, out 0x6542, pos: 4, size: 16
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x6542, pos: 4, size: 16
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0x6542, pos: 4, size: 16
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x6542, pos: 4, size: 16
+dext :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 32
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 32
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 32
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 32
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xffffffff, pos: 4, size: 32
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffff, pos: 4, size: 32
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff, pos: 4, size: 32
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffff, pos: 4, size: 32
+dext :: in 0x98765432, in1 0x0, out 0xf9876543, pos: 4, size: 32
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0xf9876543, pos: 4, size: 32
+dext :: in 0x98765432, in1 0x98765432, out 0xf9876543, pos: 4, size: 32
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0xf9876543, pos: 4, size: 32
+dext :: in 0xffffffffff865421, in1 0x0, out 0xfff86542, pos: 4, size: 32
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfff86542, pos: 4, size: 32
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0xfff86542, pos: 4, size: 32
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfff86542, pos: 4, size: 32
+dext :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 1
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 1
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 16, size: 1
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 16, size: 1
+dext :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 16, size: 1
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 16, size: 1
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 16, size: 1
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 16, size: 1
+dext :: in 0x98765432, in1 0x0, out 0x0, pos: 16, size: 1
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 1
+dext :: in 0x98765432, in1 0x98765432, out 0x0, pos: 16, size: 1
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0x0, pos: 16, size: 1
+dext :: in 0xffffffffff865421, in1 0x0, out 0x0, pos: 16, size: 1
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 1
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0x0, pos: 16, size: 1
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x0, pos: 16, size: 1
+dext :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 4
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 4
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 16, size: 4
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 16, size: 4
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 16, size: 4
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xf, pos: 16, size: 4
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xf, pos: 16, size: 4
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xf, pos: 16, size: 4
+dext :: in 0x98765432, in1 0x0, out 0x6, pos: 16, size: 4
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0x6, pos: 16, size: 4
+dext :: in 0x98765432, in1 0x98765432, out 0x6, pos: 16, size: 4
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0x6, pos: 16, size: 4
+dext :: in 0xffffffffff865421, in1 0x0, out 0x6, pos: 16, size: 4
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x6, pos: 16, size: 4
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0x6, pos: 16, size: 4
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x6, pos: 16, size: 4
+dext :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 16
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 16
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 16, size: 16
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 16, size: 16
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 16, size: 16
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffff, pos: 16, size: 16
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffff, pos: 16, size: 16
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffff, pos: 16, size: 16
+dext :: in 0x98765432, in1 0x0, out 0x9876, pos: 16, size: 16
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0x9876, pos: 16, size: 16
+dext :: in 0x98765432, in1 0x98765432, out 0x9876, pos: 16, size: 16
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0x9876, pos: 16, size: 16
+dext :: in 0xffffffffff865421, in1 0x0, out 0xff86, pos: 16, size: 16
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xff86, pos: 16, size: 16
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0xff86, pos: 16, size: 16
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xff86, pos: 16, size: 16
+dext :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 32
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 32
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 16, size: 32
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 16, size: 32
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xffffffff, pos: 16, size: 32
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffff, pos: 16, size: 32
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff, pos: 16, size: 32
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffff, pos: 16, size: 32
+dext :: in 0x98765432, in1 0x0, out 0xffff9876, pos: 16, size: 32
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0xffff9876, pos: 16, size: 32
+dext :: in 0x98765432, in1 0x98765432, out 0xffff9876, pos: 16, size: 32
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0xffff9876, pos: 16, size: 32
+dext :: in 0xffffffffff865421, in1 0x0, out 0xffffff86, pos: 16, size: 32
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffff86, pos: 16, size: 32
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0xffffff86, pos: 16, size: 32
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffff86, pos: 16, size: 32
+dext :: in 0x0, in1 0x0, out 0x0, pos: 31, size: 1
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 31, size: 1
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 31, size: 1
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 31, size: 1
+dext :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 31, size: 1
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 31, size: 1
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 31, size: 1
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 31, size: 1
+dext :: in 0x98765432, in1 0x0, out 0x1, pos: 31, size: 1
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0x1, pos: 31, size: 1
+dext :: in 0x98765432, in1 0x98765432, out 0x1, pos: 31, size: 1
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0x1, pos: 31, size: 1
+dext :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 31, size: 1
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1, pos: 31, size: 1
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0x1, pos: 31, size: 1
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1, pos: 31, size: 1
+dext :: in 0x0, in1 0x0, out 0x0, pos: 31, size: 4
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 31, size: 4
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 31, size: 4
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 31, size: 4
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 31, size: 4
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xf, pos: 31, size: 4
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xf, pos: 31, size: 4
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xf, pos: 31, size: 4
+dext :: in 0x98765432, in1 0x0, out 0xf, pos: 31, size: 4
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0xf, pos: 31, size: 4
+dext :: in 0x98765432, in1 0x98765432, out 0xf, pos: 31, size: 4
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0xf, pos: 31, size: 4
+dext :: in 0xffffffffff865421, in1 0x0, out 0xf, pos: 31, size: 4
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xf, pos: 31, size: 4
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0xf, pos: 31, size: 4
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xf, pos: 31, size: 4
+dext :: in 0x0, in1 0x0, out 0x0, pos: 31, size: 16
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 31, size: 16
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 31, size: 16
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 31, size: 16
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 31, size: 16
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffff, pos: 31, size: 16
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffff, pos: 31, size: 16
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffff, pos: 31, size: 16
+dext :: in 0x98765432, in1 0x0, out 0xffff, pos: 31, size: 16
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0xffff, pos: 31, size: 16
+dext :: in 0x98765432, in1 0x98765432, out 0xffff, pos: 31, size: 16
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0xffff, pos: 31, size: 16
+dext :: in 0xffffffffff865421, in1 0x0, out 0xffff, pos: 31, size: 16
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffff, pos: 31, size: 16
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0xffff, pos: 31, size: 16
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffff, pos: 31, size: 16
+dext :: in 0x0, in1 0x0, out 0x0, pos: 31, size: 32
+dext :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 31, size: 32
+dext :: in 0x0, in1 0x98765432, out 0x0, pos: 31, size: 32
+dext :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 31, size: 32
+dext :: in 0xffffffffffffffff, in1 0x0, out 0xffffffff, pos: 31, size: 32
+dext :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffff, pos: 31, size: 32
+dext :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff, pos: 31, size: 32
+dext :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffff, pos: 31, size: 32
+dext :: in 0x98765432, in1 0x0, out 0xffffffff, pos: 31, size: 32
+dext :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff, pos: 31, size: 32
+dext :: in 0x98765432, in1 0x98765432, out 0xffffffff, pos: 31, size: 32
+dext :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff, pos: 31, size: 32
+dext :: in 0xffffffffff865421, in1 0x0, out 0xffffffff, pos: 31, size: 32
+dext :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffff, pos: 31, size: 32
+dext :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff, pos: 31, size: 32
+dext :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffff, pos: 31, size: 32
+dext :: in 0x2002ffffffffffff, in1 0xfffffffff0000fff, out 0xf, pos: 4, size: 4
+dext :: in 0xffff0000ffffffff, in1 0xff0000ffffffffff, out 0xf, pos: 8, size: 4
+dext :: in 0x2000ffffffffffff, in1 0xffff0000ffffffff, out 0xf, pos: 16, size: 4
+dext :: in 0x2000ffffffddddff, in1 0xffffffffffff0008, out 0x3, pos: 24, size: 2
+dext :: in 0x2000ffffffffeeee, in1 0xfffffff31415927f, out 0xf, pos: 24, size: 4
+dext :: in 0x31415927ffffffff, in1 0x2000ffffffffffff, out 0x3, pos: 9, size: 2
+dext :: in 0x2000ffffffffaaaa, in1 0x2000ffffffff2222, out 0xf, pos: 16, size: 4
+dext :: in 0x2000ffffffbbbbff, in1 0x7fffffffddddffff, out 0xb, pos: 16, size: 4
+dext :: in 0xeeeeff33ff22ffff, in1 0x2000ffffffffffff, out 0xf, pos: 7, size: 4
+dext :: in 0x2000ffffffffffff, in1 0x2000ffffffffbbbb, out 0xf, pos: 5, size: 4
+dext :: in 0x2000ffffffffbbbb, in1 0xfffffffff0000fff, out 0x7, pos: 3, size: 4
+dext :: in 0x2000ffffffffffff, in1 0xffff0000ffffffff, out 0xffff, pos: 16, size: 16
+dext :: in 0x7fffffffddddffff, in1 0xffffffffffff0008, out 0xffffdddd, pos: 16, size: 32
+dext :: in 0x2000ffffffff2222, in1 0xfffffff31415927f, out 0x8003fffffffc888, pos: 2, size: 60
+dext :: in 0x2000ffffffffffff, in1 0x2000ffffffffffff, out 0x3f, pos: 16, size: 6
+dext :: in 0xfffffff31415927f, in1 0x2000ffffffff2222, out 0xffffffe6, pos: 31, size: 32
+dext :: in 0xffffffffffff0008, in1 0x7fffffffddddffff, out 0x0, pos: 8, size: 2
+dext :: in 0xffff0000ffffffff, in1 0x2000ffffffffffff, out 0xf, pos: 16, size: 4
+dext :: in 0xff0000ffffffffff, in1 0x0, out 0xf, pos: 8, size: 4
+dext :: in 0xfffffffff0000fff, in1 0x0, out 0x0, pos: 16, size: 4
+--- DEXTM ---
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 33
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 33
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 33
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 33
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0x1ffffffff, pos: 0, size: 33
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1ffffffff, pos: 0, size: 33
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0x1ffffffff, pos: 0, size: 33
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1ffffffff, pos: 0, size: 33
+dextm :: in 0x98765432, in1 0x0, out 0x198765432, pos: 0, size: 33
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0x198765432, pos: 0, size: 33
+dextm :: in 0x98765432, in1 0x98765432, out 0x198765432, pos: 0, size: 33
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0x198765432, pos: 0, size: 33
+dextm :: in 0xffffffffff865421, in1 0x0, out 0x1ff865421, pos: 0, size: 33
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1ff865421, pos: 0, size: 33
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0x1ff865421, pos: 0, size: 33
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1ff865421, pos: 0, size: 33
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 37
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 37
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 37
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 37
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0x1fffffffff, pos: 0, size: 37
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1fffffffff, pos: 0, size: 37
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0x1fffffffff, pos: 0, size: 37
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1fffffffff, pos: 0, size: 37
+dextm :: in 0x98765432, in1 0x0, out 0x1f98765432, pos: 0, size: 37
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0x1f98765432, pos: 0, size: 37
+dextm :: in 0x98765432, in1 0x98765432, out 0x1f98765432, pos: 0, size: 37
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0x1f98765432, pos: 0, size: 37
+dextm :: in 0xffffffffff865421, in1 0x0, out 0x1fff865421, pos: 0, size: 37
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1fff865421, pos: 0, size: 37
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0x1fff865421, pos: 0, size: 37
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1fff865421, pos: 0, size: 37
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 48
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 48
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 48
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 48
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0xffffffffffff, pos: 0, size: 48
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffff, pos: 0, size: 48
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffff, pos: 0, size: 48
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffff, pos: 0, size: 48
+dextm :: in 0x98765432, in1 0x0, out 0xffff98765432, pos: 0, size: 48
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffff98765432, pos: 0, size: 48
+dextm :: in 0x98765432, in1 0x98765432, out 0xffff98765432, pos: 0, size: 48
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0xffff98765432, pos: 0, size: 48
+dextm :: in 0xffffffffff865421, in1 0x0, out 0xffffff865421, pos: 0, size: 48
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffff865421, pos: 0, size: 48
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffff865421, pos: 0, size: 48
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffff865421, pos: 0, size: 48
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 64
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 64
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 64
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 64
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0xffffffffffffffff, pos: 0, size: 64
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 64
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffffffff, pos: 0, size: 64
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffffffff, pos: 0, size: 64
+dextm :: in 0x98765432, in1 0x0, out 0xffffffff98765432, pos: 0, size: 64
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff98765432, pos: 0, size: 64
+dextm :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 64
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff98765432, pos: 0, size: 64
+dextm :: in 0xffffffffff865421, in1 0x0, out 0xffffffffff865421, pos: 0, size: 64
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffff865421, pos: 0, size: 64
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffffff865421, pos: 0, size: 64
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 64
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 33
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 33
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 33
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 33
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0x1ffffffff, pos: 4, size: 33
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1ffffffff, pos: 4, size: 33
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0x1ffffffff, pos: 4, size: 33
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1ffffffff, pos: 4, size: 33
+dextm :: in 0x98765432, in1 0x0, out 0x1f9876543, pos: 4, size: 33
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0x1f9876543, pos: 4, size: 33
+dextm :: in 0x98765432, in1 0x98765432, out 0x1f9876543, pos: 4, size: 33
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0x1f9876543, pos: 4, size: 33
+dextm :: in 0xffffffffff865421, in1 0x0, out 0x1fff86542, pos: 4, size: 33
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1fff86542, pos: 4, size: 33
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0x1fff86542, pos: 4, size: 33
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1fff86542, pos: 4, size: 33
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 37
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 37
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 37
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 37
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0x1fffffffff, pos: 4, size: 37
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1fffffffff, pos: 4, size: 37
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0x1fffffffff, pos: 4, size: 37
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1fffffffff, pos: 4, size: 37
+dextm :: in 0x98765432, in1 0x0, out 0x1ff9876543, pos: 4, size: 37
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0x1ff9876543, pos: 4, size: 37
+dextm :: in 0x98765432, in1 0x98765432, out 0x1ff9876543, pos: 4, size: 37
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0x1ff9876543, pos: 4, size: 37
+dextm :: in 0xffffffffff865421, in1 0x0, out 0x1ffff86542, pos: 4, size: 37
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1ffff86542, pos: 4, size: 37
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0x1ffff86542, pos: 4, size: 37
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1ffff86542, pos: 4, size: 37
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 48
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 48
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 48
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 48
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0xffffffffffff, pos: 4, size: 48
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffff, pos: 4, size: 48
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffff, pos: 4, size: 48
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffff, pos: 4, size: 48
+dextm :: in 0x98765432, in1 0x0, out 0xfffff9876543, pos: 4, size: 48
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffff9876543, pos: 4, size: 48
+dextm :: in 0x98765432, in1 0x98765432, out 0xfffff9876543, pos: 4, size: 48
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0xfffff9876543, pos: 4, size: 48
+dextm :: in 0xffffffffff865421, in1 0x0, out 0xfffffff86542, pos: 4, size: 48
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffff86542, pos: 4, size: 48
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffff86542, pos: 4, size: 48
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffff86542, pos: 4, size: 48
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 60
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 4, size: 60
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 4, size: 60
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 4, size: 60
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0xfffffffffffffff, pos: 4, size: 60
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xfffffffffffffff, pos: 4, size: 60
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0xfffffffffffffff, pos: 4, size: 60
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xfffffffffffffff, pos: 4, size: 60
+dextm :: in 0x98765432, in1 0x0, out 0xffffffff9876543, pos: 4, size: 60
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff9876543, pos: 4, size: 60
+dextm :: in 0x98765432, in1 0x98765432, out 0xffffffff9876543, pos: 4, size: 60
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff9876543, pos: 4, size: 60
+dextm :: in 0xffffffffff865421, in1 0x0, out 0xffffffffff86542, pos: 4, size: 60
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffff86542, pos: 4, size: 60
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffffff86542, pos: 4, size: 60
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff86542, pos: 4, size: 60
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 33
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 33
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 16, size: 33
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 16, size: 33
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0x1ffffffff, pos: 16, size: 33
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1ffffffff, pos: 16, size: 33
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0x1ffffffff, pos: 16, size: 33
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1ffffffff, pos: 16, size: 33
+dextm :: in 0x98765432, in1 0x0, out 0x1ffff9876, pos: 16, size: 33
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0x1ffff9876, pos: 16, size: 33
+dextm :: in 0x98765432, in1 0x98765432, out 0x1ffff9876, pos: 16, size: 33
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0x1ffff9876, pos: 16, size: 33
+dextm :: in 0xffffffffff865421, in1 0x0, out 0x1ffffff86, pos: 16, size: 33
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1ffffff86, pos: 16, size: 33
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0x1ffffff86, pos: 16, size: 33
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1ffffff86, pos: 16, size: 33
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 37
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 37
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 16, size: 37
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 16, size: 37
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0x1fffffffff, pos: 16, size: 37
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1fffffffff, pos: 16, size: 37
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0x1fffffffff, pos: 16, size: 37
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1fffffffff, pos: 16, size: 37
+dextm :: in 0x98765432, in1 0x0, out 0x1fffff9876, pos: 16, size: 37
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0x1fffff9876, pos: 16, size: 37
+dextm :: in 0x98765432, in1 0x98765432, out 0x1fffff9876, pos: 16, size: 37
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0x1fffff9876, pos: 16, size: 37
+dextm :: in 0xffffffffff865421, in1 0x0, out 0x1fffffff86, pos: 16, size: 37
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1fffffff86, pos: 16, size: 37
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0x1fffffff86, pos: 16, size: 37
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1fffffff86, pos: 16, size: 37
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 48
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 16, size: 48
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 16, size: 48
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 16, size: 48
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0xffffffffffff, pos: 16, size: 48
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffff, pos: 16, size: 48
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffff, pos: 16, size: 48
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffff, pos: 16, size: 48
+dextm :: in 0x98765432, in1 0x0, out 0xffffffff9876, pos: 16, size: 48
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff9876, pos: 16, size: 48
+dextm :: in 0x98765432, in1 0x98765432, out 0xffffffff9876, pos: 16, size: 48
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff9876, pos: 16, size: 48
+dextm :: in 0xffffffffff865421, in1 0x0, out 0xffffffffff86, pos: 16, size: 48
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffff86, pos: 16, size: 48
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffffff86, pos: 16, size: 48
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff86, pos: 16, size: 48
+dextm :: in 0x0, in1 0x0, out 0x0, pos: 31, size: 33
+dextm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 31, size: 33
+dextm :: in 0x0, in1 0x98765432, out 0x0, pos: 31, size: 33
+dextm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 31, size: 33
+dextm :: in 0xffffffffffffffff, in1 0x0, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0xffffffffffffffff, in1 0x98765432, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0x98765432, in1 0x0, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0x98765432, in1 0xffffffffffffffff, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0x98765432, in1 0x98765432, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0x98765432, in1 0xffffffffff865421, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0xffffffffff865421, in1 0x0, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0xffffffffff865421, in1 0x98765432, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1ffffffff, pos: 31, size: 33
+dextm :: in 0x2002ffffffffffff, in1 0xfffffffff0000fff, out 0x7ffffffff, pos: 4, size: 35
+dextm :: in 0xffff0000ffffffff, in1 0xff0000ffffffffff, out 0xffffff, pos: 8, size: 33
+dextm :: in 0x2000ffffffffffff, in1 0xffff0000ffffffff, out 0xffffffff, pos: 16, size: 34
+dextm :: in 0x2000ffffffddddff, in1 0xffffffffffff0008, out 0xffffffddddf, pos: 4, size: 46
+dextm :: in 0x2000ffffffffeeee, in1 0xfffffff31415927f, out 0x1ffffffffddd, pos: 3, size: 56
+dextm :: in 0x31415927ffffffff, in1 0x2000ffffffffffff, out 0x31415927ffffffff, pos: 0, size: 64
+dextm :: in 0x2000ffffffffaaaa, in1 0x2000ffffffff2222, out 0xffffffff, pos: 16, size: 40
+dextm :: in 0x2000ffffffbbbbff, in1 0x7fffffffddddffff, out 0xffffffbb, pos: 16, size: 42
+dextm :: in 0xeeeeff33ff22ffff, in1 0x2000ffffffffffff, out 0x5fe67fe45ff, pos: 7, size: 43
+dextm :: in 0x2000ffffffffffff, in1 0x2000ffffffffbbbb, out 0x7ffffffffff, pos: 5, size: 48
+dextm :: in 0x2000ffffffffbbbb, in1 0x2000ffffffffffff, out 0x1ffffffff777, pos: 3, size: 52
+dextm :: in 0x2000ffffffffffff, in1 0xeeeeff33ff22ffff, out 0x7fffffffffff, pos: 1, size: 54
+dextm :: in 0x7fffffffddddffff, in1 0x2000ffffffbbbbff, out 0x3ffffff7777fff, pos: 2, size: 54
+dextm :: in 0x2000ffffffff2222, in1 0x2000ffffffffaaaa, out 0x3fffffffc888, pos: 2, size: 48
+dextm :: in 0x2000ffffffffffff, in1 0x31415927ffffffff, out 0x7ffffffffff, pos: 5, size: 53
+dextm :: in 0xfffffff31415927f, in1 0x2000ffffffffeeee, out 0xffffffcc505649f, pos: 2, size: 60
+dextm :: in 0xffffffffffff0008, in1 0x2000ffffffddddff, out 0x1fffffffffffe001, pos: 3, size: 61
+dextm :: in 0xffff0000ffffffff, in1 0x2000ffffffffffff, out 0x3fff80007fffffff, pos: 1, size: 62
+dextm :: in 0xff0000ffffffffff, in1 0x0, out 0xffffffff, pos: 8, size: 38
+dextm :: in 0xfffffffff0000fff, in1 0x0, out 0x7ffffff000, pos: 16, size: 39
+--- DEXTU ---
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 32, size: 1
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 32, size: 1
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 32, size: 1
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 32, size: 1
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 32, size: 1
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 32, size: 1
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 32, size: 1
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 32, size: 1
+dextu :: in 0x98765432, in1 0x0, out 0x1, pos: 32, size: 1
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0x1, pos: 32, size: 1
+dextu :: in 0x98765432, in1 0x98765432, out 0x1, pos: 32, size: 1
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0x1, pos: 32, size: 1
+dextu :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 32, size: 1
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1, pos: 32, size: 1
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0x1, pos: 32, size: 1
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1, pos: 32, size: 1
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 32, size: 4
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 32, size: 4
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 32, size: 4
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 32, size: 4
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 32, size: 4
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xf, pos: 32, size: 4
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0xf, pos: 32, size: 4
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xf, pos: 32, size: 4
+dextu :: in 0x98765432, in1 0x0, out 0xf, pos: 32, size: 4
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0xf, pos: 32, size: 4
+dextu :: in 0x98765432, in1 0x98765432, out 0xf, pos: 32, size: 4
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0xf, pos: 32, size: 4
+dextu :: in 0xffffffffff865421, in1 0x0, out 0xf, pos: 32, size: 4
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xf, pos: 32, size: 4
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0xf, pos: 32, size: 4
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xf, pos: 32, size: 4
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 32, size: 16
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 32, size: 16
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 32, size: 16
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 32, size: 16
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 32, size: 16
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffff, pos: 32, size: 16
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffff, pos: 32, size: 16
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffff, pos: 32, size: 16
+dextu :: in 0x98765432, in1 0x0, out 0xffff, pos: 32, size: 16
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0xffff, pos: 32, size: 16
+dextu :: in 0x98765432, in1 0x98765432, out 0xffff, pos: 32, size: 16
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0xffff, pos: 32, size: 16
+dextu :: in 0xffffffffff865421, in1 0x0, out 0xffff, pos: 32, size: 16
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffff, pos: 32, size: 16
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0xffff, pos: 32, size: 16
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffff, pos: 32, size: 16
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 32, size: 32
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 32, size: 32
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 32, size: 32
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 32, size: 32
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0x98765432, in1 0x0, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0x98765432, in1 0x98765432, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0xffffffffff865421, in1 0x0, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffff, pos: 32, size: 32
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 36, size: 1
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 36, size: 1
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 36, size: 1
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 36, size: 1
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 36, size: 1
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 36, size: 1
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 36, size: 1
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 36, size: 1
+dextu :: in 0x98765432, in1 0x0, out 0x1, pos: 36, size: 1
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0x1, pos: 36, size: 1
+dextu :: in 0x98765432, in1 0x98765432, out 0x1, pos: 36, size: 1
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0x1, pos: 36, size: 1
+dextu :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 36, size: 1
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1, pos: 36, size: 1
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0x1, pos: 36, size: 1
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1, pos: 36, size: 1
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 36, size: 4
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 36, size: 4
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 36, size: 4
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 36, size: 4
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 36, size: 4
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xf, pos: 36, size: 4
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0xf, pos: 36, size: 4
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xf, pos: 36, size: 4
+dextu :: in 0x98765432, in1 0x0, out 0xf, pos: 36, size: 4
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0xf, pos: 36, size: 4
+dextu :: in 0x98765432, in1 0x98765432, out 0xf, pos: 36, size: 4
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0xf, pos: 36, size: 4
+dextu :: in 0xffffffffff865421, in1 0x0, out 0xf, pos: 36, size: 4
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xf, pos: 36, size: 4
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0xf, pos: 36, size: 4
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xf, pos: 36, size: 4
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 36, size: 16
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 36, size: 16
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 36, size: 16
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 36, size: 16
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 36, size: 16
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffff, pos: 36, size: 16
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffff, pos: 36, size: 16
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffff, pos: 36, size: 16
+dextu :: in 0x98765432, in1 0x0, out 0xffff, pos: 36, size: 16
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0xffff, pos: 36, size: 16
+dextu :: in 0x98765432, in1 0x98765432, out 0xffff, pos: 36, size: 16
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0xffff, pos: 36, size: 16
+dextu :: in 0xffffffffff865421, in1 0x0, out 0xffff, pos: 36, size: 16
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffff, pos: 36, size: 16
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0xffff, pos: 36, size: 16
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffff, pos: 36, size: 16
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 36, size: 28
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 36, size: 28
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 36, size: 28
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 36, size: 28
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0x98765432, in1 0x0, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0x98765432, in1 0x98765432, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0xffffffffff865421, in1 0x0, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffff, pos: 36, size: 28
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 48, size: 1
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 48, size: 1
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 48, size: 1
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 48, size: 1
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 48, size: 1
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 48, size: 1
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 48, size: 1
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 48, size: 1
+dextu :: in 0x98765432, in1 0x0, out 0x1, pos: 48, size: 1
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0x1, pos: 48, size: 1
+dextu :: in 0x98765432, in1 0x98765432, out 0x1, pos: 48, size: 1
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0x1, pos: 48, size: 1
+dextu :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 48, size: 1
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1, pos: 48, size: 1
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0x1, pos: 48, size: 1
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1, pos: 48, size: 1
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 48, size: 4
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 48, size: 4
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 48, size: 4
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 48, size: 4
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 48, size: 4
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xf, pos: 48, size: 4
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0xf, pos: 48, size: 4
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xf, pos: 48, size: 4
+dextu :: in 0x98765432, in1 0x0, out 0xf, pos: 48, size: 4
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0xf, pos: 48, size: 4
+dextu :: in 0x98765432, in1 0x98765432, out 0xf, pos: 48, size: 4
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0xf, pos: 48, size: 4
+dextu :: in 0xffffffffff865421, in1 0x0, out 0xf, pos: 48, size: 4
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xf, pos: 48, size: 4
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0xf, pos: 48, size: 4
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xf, pos: 48, size: 4
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 48, size: 16
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 48, size: 16
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 48, size: 16
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 48, size: 16
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 48, size: 16
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffff, pos: 48, size: 16
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffff, pos: 48, size: 16
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffff, pos: 48, size: 16
+dextu :: in 0x98765432, in1 0x0, out 0xffff, pos: 48, size: 16
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0xffff, pos: 48, size: 16
+dextu :: in 0x98765432, in1 0x98765432, out 0xffff, pos: 48, size: 16
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0xffff, pos: 48, size: 16
+dextu :: in 0xffffffffff865421, in1 0x0, out 0xffff, pos: 48, size: 16
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffff, pos: 48, size: 16
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0xffff, pos: 48, size: 16
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffff, pos: 48, size: 16
+dextu :: in 0x0, in1 0x0, out 0x0, pos: 63, size: 1
+dextu :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 63, size: 1
+dextu :: in 0x0, in1 0x98765432, out 0x0, pos: 63, size: 1
+dextu :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 63, size: 1
+dextu :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 63, size: 1
+dextu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0x1, pos: 63, size: 1
+dextu :: in 0xffffffffffffffff, in1 0x98765432, out 0x1, pos: 63, size: 1
+dextu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0x1, pos: 63, size: 1
+dextu :: in 0x98765432, in1 0x0, out 0x1, pos: 63, size: 1
+dextu :: in 0x98765432, in1 0xffffffffffffffff, out 0x1, pos: 63, size: 1
+dextu :: in 0x98765432, in1 0x98765432, out 0x1, pos: 63, size: 1
+dextu :: in 0x98765432, in1 0xffffffffff865421, out 0x1, pos: 63, size: 1
+dextu :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 63, size: 1
+dextu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x1, pos: 63, size: 1
+dextu :: in 0xffffffffff865421, in1 0x98765432, out 0x1, pos: 63, size: 1
+dextu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x1, pos: 63, size: 1
+dextu :: in 0x2002ffffffffffff, in1 0xfffffffff0000fff, out 0xf, pos: 33, size: 4
+dextu :: in 0xffff0000ffffffff, in1 0xff0000ffffffffff, out 0xf, pos: 60, size: 4
+dextu :: in 0x2000ffffffffffff, in1 0xffff0000ffffffff, out 0x0, pos: 54, size: 4
+dextu :: in 0x2000ffffffddddff, in1 0xffffffffffff0008, out 0x0, pos: 56, size: 2
+dextu :: in 0x2000ffffffffeeee, in1 0xfffffff31415927f, out 0xf, pos: 40, size: 4
+dextu :: in 0x31415927ffffffff, in1 0x2000ffffffffffff, out 0x0, pos: 51, size: 2
+dextu :: in 0x2000ffffffffaaaa, in1 0x2000ffffffff2222, out 0x0, pos: 48, size: 4
+dextu :: in 0x2000ffffffbbbbff, in1 0x7fffffffddddffff, out 0xf, pos: 38, size: 4
+dextu :: in 0xeeeeff33ff22ffff, in1 0x2000ffffffffffff, out 0x6, pos: 35, size: 4
+dextu :: in 0x2000ffffffffffff, in1 0x2000ffffffffbbbb, out 0xf, pos: 36, size: 4
+dextu :: in 0x2000ffffffffbbbb, in1 0x2000ffffffffffff, out 0x1, pos: 45, size: 1
+dextu :: in 0x2000ffffffffffff, in1 0xeeeeff33ff22ffff, out 0x3, pos: 46, size: 4
+dextu :: in 0x7fffffffddddffff, in1 0x2000ffffffbbbbff, out 0xf, pos: 52, size: 4
+dextu :: in 0x2000ffffffff2222, in1 0x2000ffffffffaaaa, out 0xff, pos: 40, size: 8
+dextu :: in 0x2000ffffffffffff, in1 0x31415927ffffffff, out 0xf, pos: 39, size: 4
+dextu :: in 0xfffffff31415927f, in1 0x2000ffffffffeeee, out 0xf, pos: 60, size: 4
+dextu :: in 0xffffffffffff0008, in1 0x2000ffffffddddff, out 0x1, pos: 63, size: 1
+dextu :: in 0xffff0000ffffffff, in1 0x2000ffffffffffff, out 0xf, pos: 50, size: 4
+dextu :: in 0xff0000ffffffffff, in1 0x0, out 0xf, pos: 36, size: 4
+dextu :: in 0xfffffffff0000fff, in1 0x0, out 0xf, pos: 46, size: 4
+--- DINS ---
+dins :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 1
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffffffffffe, pos: 0, size: 1
+dins :: in 0x0, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 1
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff865420, pos: 0, size: 1
+dins :: in 0xffffffffffffffff, in1 0x0, out 0x1, pos: 0, size: 1
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 1
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765433, pos: 0, size: 1
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 1
+dins :: in 0x98765432, in1 0x0, out 0x0, pos: 0, size: 1
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffffffffffe, pos: 0, size: 1
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 1
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865420, pos: 0, size: 1
+dins :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 0, size: 1
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 1
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765433, pos: 0, size: 1
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 1
+dins :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 4
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffffffffff0, pos: 0, size: 4
+dins :: in 0x0, in1 0x98765432, out 0xffffffff98765430, pos: 0, size: 4
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff865420, pos: 0, size: 4
+dins :: in 0xffffffffffffffff, in1 0x0, out 0xf, pos: 0, size: 4
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 4
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff9876543f, pos: 0, size: 4
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff86542f, pos: 0, size: 4
+dins :: in 0x98765432, in1 0x0, out 0x2, pos: 0, size: 4
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffffffffff2, pos: 0, size: 4
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 4
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865422, pos: 0, size: 4
+dins :: in 0xffffffffff865421, in1 0x0, out 0x1, pos: 0, size: 4
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffffffffff1, pos: 0, size: 4
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765431, pos: 0, size: 4
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 4
+dins :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 16
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xffffffffffff0000, pos: 0, size: 16
+dins :: in 0x0, in1 0x98765432, out 0xffffffff98760000, pos: 0, size: 16
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff860000, pos: 0, size: 16
+dins :: in 0xffffffffffffffff, in1 0x0, out 0xffff, pos: 0, size: 16
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 16
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff9876ffff, pos: 0, size: 16
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff86ffff, pos: 0, size: 16
+dins :: in 0x98765432, in1 0x0, out 0x5432, pos: 0, size: 16
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffffffff5432, pos: 0, size: 16
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 16
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865432, pos: 0, size: 16
+dins :: in 0xffffffffff865421, in1 0x0, out 0x5421, pos: 0, size: 16
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffff5421, pos: 0, size: 16
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765421, pos: 0, size: 16
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 16
+dins :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 32
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xffffffff00000000, pos: 0, size: 32
+dins :: in 0x0, in1 0x98765432, out 0xffffffff00000000, pos: 0, size: 32
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffff00000000, pos: 0, size: 32
+dins :: in 0xffffffffffffffff, in1 0x0, out 0xffffffff, pos: 0, size: 32
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 32
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffffffff, pos: 0, size: 32
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffffffff, pos: 0, size: 32
+dins :: in 0x98765432, in1 0x0, out 0x98765432, pos: 0, size: 32
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff98765432, pos: 0, size: 32
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 32
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff98765432, pos: 0, size: 32
+dins :: in 0xffffffffff865421, in1 0x0, out 0xff865421, pos: 0, size: 32
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffff865421, pos: 0, size: 32
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffffff865421, pos: 0, size: 32
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 32
+dins :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 1
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xffffffffffffffef, pos: 4, size: 1
+dins :: in 0x0, in1 0x98765432, out 0xffffffff98765422, pos: 4, size: 1
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 4, size: 1
+dins :: in 0xffffffffffffffff, in1 0x0, out 0x10, pos: 4, size: 1
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 1
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 4, size: 1
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865431, pos: 4, size: 1
+dins :: in 0x98765432, in1 0x0, out 0x0, pos: 4, size: 1
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffffffffffef, pos: 4, size: 1
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765422, pos: 4, size: 1
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 4, size: 1
+dins :: in 0xffffffffff865421, in1 0x0, out 0x10, pos: 4, size: 1
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 1
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765432, pos: 4, size: 1
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865431, pos: 4, size: 1
+dins :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 4
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xffffffffffffff0f, pos: 4, size: 4
+dins :: in 0x0, in1 0x98765432, out 0xffffffff98765402, pos: 4, size: 4
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff865401, pos: 4, size: 4
+dins :: in 0xffffffffffffffff, in1 0x0, out 0xf0, pos: 4, size: 4
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 4
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff987654f2, pos: 4, size: 4
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff8654f1, pos: 4, size: 4
+dins :: in 0x98765432, in1 0x0, out 0x20, pos: 4, size: 4
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffffffffff2f, pos: 4, size: 4
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765422, pos: 4, size: 4
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 4, size: 4
+dins :: in 0xffffffffff865421, in1 0x0, out 0x10, pos: 4, size: 4
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffff1f, pos: 4, size: 4
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765412, pos: 4, size: 4
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865411, pos: 4, size: 4
+dins :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 16
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffffff0000f, pos: 4, size: 16
+dins :: in 0x0, in1 0x98765432, out 0xffffffff98700002, pos: 4, size: 16
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff800001, pos: 4, size: 16
+dins :: in 0xffffffffffffffff, in1 0x0, out 0xffff0, pos: 4, size: 16
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 16
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff987ffff2, pos: 4, size: 16
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff8ffff1, pos: 4, size: 16
+dins :: in 0x98765432, in1 0x0, out 0x54320, pos: 4, size: 16
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffffff5432f, pos: 4, size: 16
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff98754322, pos: 4, size: 16
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff854321, pos: 4, size: 16
+dins :: in 0xffffffffff865421, in1 0x0, out 0x54210, pos: 4, size: 16
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffffff5421f, pos: 4, size: 16
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98754212, pos: 4, size: 16
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff854211, pos: 4, size: 16
+dins :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 28
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xffffffff0000000f, pos: 4, size: 28
+dins :: in 0x0, in1 0x98765432, out 0xffffffff00000002, pos: 4, size: 28
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffff00000001, pos: 4, size: 28
+dins :: in 0xffffffffffffffff, in1 0x0, out 0xfffffff0, pos: 4, size: 28
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 28
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xfffffffffffffff2, pos: 4, size: 28
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xfffffffffffffff1, pos: 4, size: 28
+dins :: in 0x98765432, in1 0x0, out 0x87654320, pos: 4, size: 28
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff8765432f, pos: 4, size: 28
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff87654322, pos: 4, size: 28
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff87654321, pos: 4, size: 28
+dins :: in 0xffffffffff865421, in1 0x0, out 0xf8654210, pos: 4, size: 28
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffff865421f, pos: 4, size: 28
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffffff8654212, pos: 4, size: 28
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffffff8654211, pos: 4, size: 28
+dins :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 1
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffffffeffff, pos: 16, size: 1
+dins :: in 0x0, in1 0x98765432, out 0xffffffff98765432, pos: 16, size: 1
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 16, size: 1
+dins :: in 0xffffffffffffffff, in1 0x0, out 0x10000, pos: 16, size: 1
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 1
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98775432, pos: 16, size: 1
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff875421, pos: 16, size: 1
+dins :: in 0x98765432, in1 0x0, out 0x0, pos: 16, size: 1
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffffffeffff, pos: 16, size: 1
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 16, size: 1
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 16, size: 1
+dins :: in 0xffffffffff865421, in1 0x0, out 0x10000, pos: 16, size: 1
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 1
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98775432, pos: 16, size: 1
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff875421, pos: 16, size: 1
+dins :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 4
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffffff0ffff, pos: 16, size: 4
+dins :: in 0x0, in1 0x98765432, out 0xffffffff98705432, pos: 16, size: 4
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffffff805421, pos: 16, size: 4
+dins :: in 0xffffffffffffffff, in1 0x0, out 0xf0000, pos: 16, size: 4
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 4
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff987f5432, pos: 16, size: 4
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff8f5421, pos: 16, size: 4
+dins :: in 0x98765432, in1 0x0, out 0x20000, pos: 16, size: 4
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffffff2ffff, pos: 16, size: 4
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff98725432, pos: 16, size: 4
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffffff825421, pos: 16, size: 4
+dins :: in 0xffffffffff865421, in1 0x0, out 0x10000, pos: 16, size: 4
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffffff1ffff, pos: 16, size: 4
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98715432, pos: 16, size: 4
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff815421, pos: 16, size: 4
+dins :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 16
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xffffffff0000ffff, pos: 16, size: 16
+dins :: in 0x0, in1 0x98765432, out 0xffffffff00005432, pos: 16, size: 16
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffff00005421, pos: 16, size: 16
+dins :: in 0xffffffffffffffff, in1 0x0, out 0xffff0000, pos: 16, size: 16
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 16
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffff5432, pos: 16, size: 16
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffff5421, pos: 16, size: 16
+dins :: in 0x98765432, in1 0x0, out 0x54320000, pos: 16, size: 16
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff5432ffff, pos: 16, size: 16
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff54325432, pos: 16, size: 16
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff54325421, pos: 16, size: 16
+dins :: in 0xffffffffff865421, in1 0x0, out 0x54210000, pos: 16, size: 16
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffff5421ffff, pos: 16, size: 16
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff54215432, pos: 16, size: 16
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffff54215421, pos: 16, size: 16
+dins :: in 0x0, in1 0x0, out 0x0, pos: 31, size: 1
+dins :: in 0x0, in1 0xffffffffffffffff, out 0xffffffff7fffffff, pos: 31, size: 1
+dins :: in 0x0, in1 0x98765432, out 0xffffffff18765432, pos: 31, size: 1
+dins :: in 0x0, in1 0xffffffffff865421, out 0xffffffff7f865421, pos: 31, size: 1
+dins :: in 0xffffffffffffffff, in1 0x0, out 0x80000000, pos: 31, size: 1
+dins :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 31, size: 1
+dins :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 31, size: 1
+dins :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 31, size: 1
+dins :: in 0x98765432, in1 0x0, out 0x0, pos: 31, size: 1
+dins :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff7fffffff, pos: 31, size: 1
+dins :: in 0x98765432, in1 0x98765432, out 0xffffffff18765432, pos: 31, size: 1
+dins :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff7f865421, pos: 31, size: 1
+dins :: in 0xffffffffff865421, in1 0x0, out 0x80000000, pos: 31, size: 1
+dins :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 31, size: 1
+dins :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765432, pos: 31, size: 1
+dins :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 31, size: 1
+dins :: in 0x2002ffffffffffff, in1 0xfffffffff0000fff, out 0xfffffffff0000fff, pos: 4, size: 4
+dins :: in 0xffff0000ffffffff, in1 0xff0000ffffffffff, out 0xff0000ffffffffff, pos: 8, size: 4
+dins :: in 0x2000ffffffffffff, in1 0xffff0000ffffffff, out 0xffff0000ffffffff, pos: 16, size: 4
+dins :: in 0x2000ffffffddddff, in1 0xffffffffffff0008, out 0xffffffffffff0008, pos: 24, size: 2
+dins :: in 0x2000ffffffffeeee, in1 0xfffffff31415927f, out 0xfffffff31e15927f, pos: 24, size: 4
+dins :: in 0x31415927ffffffff, in1 0x2000ffffffffffff, out 0x2000ffffffffffff, pos: 9, size: 2
+dins :: in 0x2000ffffffffaaaa, in1 0x2000ffffffff2222, out 0x2000fffffffa2222, pos: 16, size: 4
+dins :: in 0x2000ffffffbbbbff, in1 0x7fffffffddddffff, out 0x7fffffffdddfffff, pos: 16, size: 4
+dins :: in 0xeeeeff33ff22ffff, in1 0x2000ffffffffffff, out 0x2000ffffffffffff, pos: 7, size: 4
+dins :: in 0x2000ffffffffffff, in1 0x2000ffffffffbbbb, out 0x2000ffffffffbbfb, pos: 5, size: 4
+dins :: in 0x2000ffffffffbbbb, in1 0x2000ffffffffffff, out 0x2000ffffffffffdf, pos: 3, size: 4
+dins :: in 0x2000ffffffffffff, in1 0xeeeeff33ff22ffff, out 0xeeeeff33ff2fffff, pos: 16, size: 4
+dins :: in 0x7fffffffddddffff, in1 0x2000ffffffbbbbff, out 0x2000ffffffbbbbff, pos: 16, size: 2
+dins :: in 0x2000ffffffff2222, in1 0x2000ffffffffaaaa, out 0x2000ffffffffa88a, pos: 2, size: 8
+dins :: in 0x2000ffffffffffff, in1 0x2000ffffffffeeee, out 0x2000ffffffffffff, pos: 0, size: 32
+dins :: in 0xfffffff31415927f, in1 0x2000ffffffddddff, out 0x2000ffff927fddff, pos: 16, size: 16
+dins :: in 0xffffffffffff0008, in1 0x2000ffffffddddff, out 0x2000ffffffdddcff, pos: 8, size: 2
+dins :: in 0xffff0000ffffffff, in1 0x2000ffffffffffff, out 0x2000ffffffffffff, pos: 16, size: 4
+dins :: in 0xff0000ffffffffff, in1 0xffff0000ffffffff, out 0xffff0000ffffffff, pos: 8, size: 4
+dins :: in 0xfffffffff0000fff, in1 0x0, out 0x70000fff, pos: 0, size: 31
+--- DINSM ---
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 33
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffe00000000, pos: 0, size: 33
+dinsm :: in 0x0, in1 0x98765432, out 0xfffffffe00000000, pos: 0, size: 33
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xfffffffe00000000, pos: 0, size: 33
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0x1ffffffff, pos: 0, size: 33
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 33
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffffffff, pos: 0, size: 33
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffffffff, pos: 0, size: 33
+dinsm :: in 0x98765432, in1 0x0, out 0x198765432, pos: 0, size: 33
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff98765432, pos: 0, size: 33
+dinsm :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 33
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff98765432, pos: 0, size: 33
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0x1ff865421, pos: 0, size: 33
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffff865421, pos: 0, size: 33
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffffff865421, pos: 0, size: 33
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 33
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 37
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xffffffe000000000, pos: 0, size: 37
+dinsm :: in 0x0, in1 0x98765432, out 0xffffffe000000000, pos: 0, size: 37
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xffffffe000000000, pos: 0, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0x1fffffffff, pos: 0, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffffffff, pos: 0, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffffffff, pos: 0, size: 37
+dinsm :: in 0x98765432, in1 0x0, out 0x1f98765432, pos: 0, size: 37
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff98765432, pos: 0, size: 37
+dinsm :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 37
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff98765432, pos: 0, size: 37
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0x1fff865421, pos: 0, size: 37
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffff865421, pos: 0, size: 37
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffffff865421, pos: 0, size: 37
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 37
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 48
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xffff000000000000, pos: 0, size: 48
+dinsm :: in 0x0, in1 0x98765432, out 0xffff000000000000, pos: 0, size: 48
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xffff000000000000, pos: 0, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0xffffffffffff, pos: 0, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffffffff, pos: 0, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffffffff, pos: 0, size: 48
+dinsm :: in 0x98765432, in1 0x0, out 0xffff98765432, pos: 0, size: 48
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff98765432, pos: 0, size: 48
+dinsm :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 48
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff98765432, pos: 0, size: 48
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0xffffff865421, pos: 0, size: 48
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffff865421, pos: 0, size: 48
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffffff865421, pos: 0, size: 48
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 48
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 0, size: 64
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0x0, pos: 0, size: 64
+dinsm :: in 0x0, in1 0x98765432, out 0x0, pos: 0, size: 64
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0x0, pos: 0, size: 64
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0xffffffffffffffff, pos: 0, size: 64
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 0, size: 64
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffffffff, pos: 0, size: 64
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffffffff, pos: 0, size: 64
+dinsm :: in 0x98765432, in1 0x0, out 0xffffffff98765432, pos: 0, size: 64
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff98765432, pos: 0, size: 64
+dinsm :: in 0x98765432, in1 0x98765432, out 0xffffffff98765432, pos: 0, size: 64
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff98765432, pos: 0, size: 64
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0xffffffffff865421, pos: 0, size: 64
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffff865421, pos: 0, size: 64
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffffff865421, pos: 0, size: 64
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 0, size: 64
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 29
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffe0000000f, pos: 4, size: 29
+dinsm :: in 0x0, in1 0x98765432, out 0xfffffffe00000002, pos: 4, size: 29
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xfffffffe00000001, pos: 4, size: 29
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0x1fffffff0, pos: 4, size: 29
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 29
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xfffffffffffffff2, pos: 4, size: 29
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xfffffffffffffff1, pos: 4, size: 29
+dinsm :: in 0x98765432, in1 0x0, out 0x187654320, pos: 4, size: 29
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff8765432f, pos: 4, size: 29
+dinsm :: in 0x98765432, in1 0x98765432, out 0xffffffff87654322, pos: 4, size: 29
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff87654321, pos: 4, size: 29
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0x1f8654210, pos: 4, size: 29
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffff865421f, pos: 4, size: 29
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffffff8654212, pos: 4, size: 29
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffffff8654211, pos: 4, size: 29
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 32
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xfffffff00000000f, pos: 4, size: 32
+dinsm :: in 0x0, in1 0x98765432, out 0xfffffff000000002, pos: 4, size: 32
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xfffffff000000001, pos: 4, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0xffffffff0, pos: 4, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xfffffffffffffff2, pos: 4, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xfffffffffffffff1, pos: 4, size: 32
+dinsm :: in 0x98765432, in1 0x0, out 0x987654320, pos: 4, size: 32
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffff98765432f, pos: 4, size: 32
+dinsm :: in 0x98765432, in1 0x98765432, out 0xfffffff987654322, pos: 4, size: 32
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xfffffff987654321, pos: 4, size: 32
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0xff8654210, pos: 4, size: 32
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffff865421f, pos: 4, size: 32
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffffff8654212, pos: 4, size: 32
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffffff8654211, pos: 4, size: 32
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 37
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xfffffe000000000f, pos: 4, size: 37
+dinsm :: in 0x0, in1 0x98765432, out 0xfffffe0000000002, pos: 4, size: 37
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xfffffe0000000001, pos: 4, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0x1fffffffff0, pos: 4, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xfffffffffffffff2, pos: 4, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xfffffffffffffff1, pos: 4, size: 37
+dinsm :: in 0x98765432, in1 0x0, out 0x1f987654320, pos: 4, size: 37
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffff98765432f, pos: 4, size: 37
+dinsm :: in 0x98765432, in1 0x98765432, out 0xfffffff987654322, pos: 4, size: 37
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xfffffff987654321, pos: 4, size: 37
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0x1fff8654210, pos: 4, size: 37
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffff865421f, pos: 4, size: 37
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffffff8654212, pos: 4, size: 37
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffffff8654211, pos: 4, size: 37
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 48
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xfff000000000000f, pos: 4, size: 48
+dinsm :: in 0x0, in1 0x98765432, out 0xfff0000000000002, pos: 4, size: 48
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xfff0000000000001, pos: 4, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0xffffffffffff0, pos: 4, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xfffffffffffffff2, pos: 4, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xfffffffffffffff1, pos: 4, size: 48
+dinsm :: in 0x98765432, in1 0x0, out 0xffff987654320, pos: 4, size: 48
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffff98765432f, pos: 4, size: 48
+dinsm :: in 0x98765432, in1 0x98765432, out 0xfffffff987654322, pos: 4, size: 48
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xfffffff987654321, pos: 4, size: 48
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0xffffff8654210, pos: 4, size: 48
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffff865421f, pos: 4, size: 48
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffffff8654212, pos: 4, size: 48
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffffff8654211, pos: 4, size: 48
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 4, size: 60
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xf, pos: 4, size: 60
+dinsm :: in 0x0, in1 0x98765432, out 0x2, pos: 4, size: 60
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0x1, pos: 4, size: 60
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0xfffffffffffffff0, pos: 4, size: 60
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 4, size: 60
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xfffffffffffffff2, pos: 4, size: 60
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xfffffffffffffff1, pos: 4, size: 60
+dinsm :: in 0x98765432, in1 0x0, out 0xfffffff987654320, pos: 4, size: 60
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffff98765432f, pos: 4, size: 60
+dinsm :: in 0x98765432, in1 0x98765432, out 0xfffffff987654322, pos: 4, size: 60
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xfffffff987654321, pos: 4, size: 60
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0xfffffffff8654210, pos: 4, size: 60
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffff865421f, pos: 4, size: 60
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffffff8654212, pos: 4, size: 60
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffffff8654211, pos: 4, size: 60
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 17
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffe0000ffff, pos: 16, size: 17
+dinsm :: in 0x0, in1 0x98765432, out 0xfffffffe00005432, pos: 16, size: 17
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xfffffffe00005421, pos: 16, size: 17
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0x1ffff0000, pos: 16, size: 17
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 17
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffff5432, pos: 16, size: 17
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffff5421, pos: 16, size: 17
+dinsm :: in 0x98765432, in1 0x0, out 0x54320000, pos: 16, size: 17
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffe5432ffff, pos: 16, size: 17
+dinsm :: in 0x98765432, in1 0x98765432, out 0xfffffffe54325432, pos: 16, size: 17
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xfffffffe54325421, pos: 16, size: 17
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0x54210000, pos: 16, size: 17
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffe5421ffff, pos: 16, size: 17
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffffe54215432, pos: 16, size: 17
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffffe54215421, pos: 16, size: 17
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 32
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xffff00000000ffff, pos: 16, size: 32
+dinsm :: in 0x0, in1 0x98765432, out 0xffff000000005432, pos: 16, size: 32
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xffff000000005421, pos: 16, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0xffffffff0000, pos: 16, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffff5432, pos: 16, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffff5421, pos: 16, size: 32
+dinsm :: in 0x98765432, in1 0x0, out 0x987654320000, pos: 16, size: 32
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffff98765432ffff, pos: 16, size: 32
+dinsm :: in 0x98765432, in1 0x98765432, out 0xffff987654325432, pos: 16, size: 32
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xffff987654325421, pos: 16, size: 32
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0xff8654210000, pos: 16, size: 32
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffff865421ffff, pos: 16, size: 32
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffff8654215432, pos: 16, size: 32
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffff8654215421, pos: 16, size: 32
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 37
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xffe000000000ffff, pos: 16, size: 37
+dinsm :: in 0x0, in1 0x98765432, out 0xffe0000000005432, pos: 16, size: 37
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xffe0000000005421, pos: 16, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0x1fffffffff0000, pos: 16, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffff5432, pos: 16, size: 37
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffff5421, pos: 16, size: 37
+dinsm :: in 0x98765432, in1 0x0, out 0x1f987654320000, pos: 16, size: 37
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffff98765432ffff, pos: 16, size: 37
+dinsm :: in 0x98765432, in1 0x98765432, out 0xffff987654325432, pos: 16, size: 37
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xffff987654325421, pos: 16, size: 37
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0x1fff8654210000, pos: 16, size: 37
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffff865421ffff, pos: 16, size: 37
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffff8654215432, pos: 16, size: 37
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffff8654215421, pos: 16, size: 37
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 16, size: 48
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xffff, pos: 16, size: 48
+dinsm :: in 0x0, in1 0x98765432, out 0x5432, pos: 16, size: 48
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0x5421, pos: 16, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0xffffffffffff0000, pos: 16, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 16, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffffffff5432, pos: 16, size: 48
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffffff5421, pos: 16, size: 48
+dinsm :: in 0x98765432, in1 0x0, out 0xffff987654320000, pos: 16, size: 48
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffff98765432ffff, pos: 16, size: 48
+dinsm :: in 0x98765432, in1 0x98765432, out 0xffff987654325432, pos: 16, size: 48
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xffff987654325421, pos: 16, size: 48
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0xffffff8654210000, pos: 16, size: 48
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffff865421ffff, pos: 16, size: 48
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffff8654215432, pos: 16, size: 48
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffff8654215421, pos: 16, size: 48
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 31, size: 2
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffe7fffffff, pos: 31, size: 2
+dinsm :: in 0x0, in1 0x98765432, out 0xfffffffe18765432, pos: 31, size: 2
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xfffffffe7f865421, pos: 31, size: 2
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0x180000000, pos: 31, size: 2
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 31, size: 2
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 31, size: 2
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 31, size: 2
+dinsm :: in 0x98765432, in1 0x0, out 0x100000000, pos: 31, size: 2
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffff7fffffff, pos: 31, size: 2
+dinsm :: in 0x98765432, in1 0x98765432, out 0xffffffff18765432, pos: 31, size: 2
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffff7f865421, pos: 31, size: 2
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0x80000000, pos: 31, size: 2
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffffeffffffff, pos: 31, size: 2
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffffe98765432, pos: 31, size: 2
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffffeff865421, pos: 31, size: 2
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 31, size: 16
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0xffff80007fffffff, pos: 31, size: 16
+dinsm :: in 0x0, in1 0x98765432, out 0xffff800018765432, pos: 31, size: 16
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0xffff80007f865421, pos: 31, size: 16
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0x7fff80000000, pos: 31, size: 16
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 31, size: 16
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 31, size: 16
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 31, size: 16
+dinsm :: in 0x98765432, in1 0x0, out 0x2a1900000000, pos: 31, size: 16
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffaa197fffffff, pos: 31, size: 16
+dinsm :: in 0x98765432, in1 0x98765432, out 0xffffaa1918765432, pos: 31, size: 16
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xffffaa197f865421, pos: 31, size: 16
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0x2a1080000000, pos: 31, size: 16
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffaa10ffffffff, pos: 31, size: 16
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xffffaa1098765432, pos: 31, size: 16
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffaa10ff865421, pos: 31, size: 16
+dinsm :: in 0x0, in1 0x0, out 0x0, pos: 31, size: 32
+dinsm :: in 0x0, in1 0xffffffffffffffff, out 0x800000007fffffff, pos: 31, size: 32
+dinsm :: in 0x0, in1 0x98765432, out 0x8000000018765432, pos: 31, size: 32
+dinsm :: in 0x0, in1 0xffffffffff865421, out 0x800000007f865421, pos: 31, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0x0, out 0x7fffffff80000000, pos: 31, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 31, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 31, size: 32
+dinsm :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 31, size: 32
+dinsm :: in 0x98765432, in1 0x0, out 0x4c3b2a1900000000, pos: 31, size: 32
+dinsm :: in 0x98765432, in1 0xffffffffffffffff, out 0xcc3b2a197fffffff, pos: 31, size: 32
+dinsm :: in 0x98765432, in1 0x98765432, out 0xcc3b2a1918765432, pos: 31, size: 32
+dinsm :: in 0x98765432, in1 0xffffffffff865421, out 0xcc3b2a197f865421, pos: 31, size: 32
+dinsm :: in 0xffffffffff865421, in1 0x0, out 0x7fc32a1080000000, pos: 31, size: 32
+dinsm :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffc32a10ffffffff, pos: 31, size: 32
+dinsm :: in 0xffffffffff865421, in1 0x98765432, out 0xffc32a1098765432, pos: 31, size: 32
+dinsm :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffc32a10ff865421, pos: 31, size: 32
+dinsm :: in 0x2002ffffffffffff, in1 0xfffffffff0000fff, out 0xffffffffffffffff, pos: 4, size: 35
+dinsm :: in 0xffff0000ffffffff, in1 0xff0000ffffffffff, out 0xff0000ffffffffff, pos: 8, size: 33
+dinsm :: in 0x2000ffffffffffff, in1 0xffff0000ffffffff, out 0xffffffffffffffff, pos: 16, size: 34
+dinsm :: in 0x2000ffffffddddff, in1 0xffffffffffff0008, out 0xfffffffffddddff8, pos: 4, size: 46
+dinsm :: in 0x2000ffffffffeeee, in1 0xfffffff31415927f, out 0xf807ffffffff7777, pos: 3, size: 56
+dinsm :: in 0x31415927ffffffff, in1 0x2000ffffffffffff, out 0x31415927ffffffff, pos: 0, size: 64
+dinsm :: in 0x2000ffffffffaaaa, in1 0x2000ffffffff2222, out 0x20ffffffaaaa2222, pos: 16, size: 40
+dinsm :: in 0x2000ffffffbbbbff, in1 0x7fffffffddddffff, out 0x7fffffbbbbffffff, pos: 16, size: 42
+dinsm :: in 0xeeeeff33ff22ffff, in1 0x2000ffffffffffff, out 0x200399ff917fffff, pos: 7, size: 43
+dinsm :: in 0x2000ffffffffffff, in1 0x2000ffffffffbbbb, out 0x201ffffffffffffb, pos: 5, size: 48
+dinsm :: in 0x2000ffffffffbbbb, in1 0x2000ffffffffffff, out 0x2007fffffffddddf, pos: 3, size: 52
+dinsm :: in 0x2000ffffffffffff, in1 0xeeeeff33ff22ffff, out 0xee81ffffffffffff, pos: 1, size: 54
+dinsm :: in 0x7fffffffddddffff, in1 0x2000ffffffbbbbff, out 0x20ffffff7777ffff, pos: 2, size: 54
+dinsm :: in 0x2000ffffffff2222, in1 0x2000ffffffffaaaa, out 0x2003fffffffc888a, pos: 2, size: 48
+dinsm :: in 0x2000ffffffffffff, in1 0x31415927ffffffff, out 0x301fffffffffffff, pos: 5, size: 53
+dinsm :: in 0xfffffff31415927f, in1 0x2000ffffffffeeee, out 0x3fffffcc505649fe, pos: 2, size: 60
+dinsm :: in 0xffffffffffff0008, in1 0x2000ffffffddddff, out 0xfffffffffff80047, pos: 3, size: 61
+dinsm :: in 0xffff0000ffffffff, in1 0x2000ffffffffffff, out 0x7ffe0001ffffffff, pos: 1, size: 62
+dinsm :: in 0xff0000ffffffffff, in1 0x0, out 0x3fffffffff00, pos: 8, size: 38
+dinsm :: in 0xfffffffff0000fff, in1 0x0, out 0x7ff0000fff0000, pos: 16, size: 39
+--- DINSU ---
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 32, size: 1
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffeffffffff, pos: 32, size: 1
+dinsu :: in 0x0, in1 0x98765432, out 0xfffffffe98765432, pos: 32, size: 1
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0xfffffffeff865421, pos: 32, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0x100000000, pos: 32, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 32, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 32, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 32, size: 1
+dinsu :: in 0x98765432, in1 0x0, out 0x0, pos: 32, size: 1
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffffeffffffff, pos: 32, size: 1
+dinsu :: in 0x98765432, in1 0x98765432, out 0xfffffffe98765432, pos: 32, size: 1
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0xfffffffeff865421, pos: 32, size: 1
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0x100000000, pos: 32, size: 1
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 32, size: 1
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765432, pos: 32, size: 1
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 32, size: 1
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 32, size: 4
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0xfffffff0ffffffff, pos: 32, size: 4
+dinsu :: in 0x0, in1 0x98765432, out 0xfffffff098765432, pos: 32, size: 4
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0xfffffff0ff865421, pos: 32, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0xf00000000, pos: 32, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 32, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 32, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 32, size: 4
+dinsu :: in 0x98765432, in1 0x0, out 0x200000000, pos: 32, size: 4
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffffff2ffffffff, pos: 32, size: 4
+dinsu :: in 0x98765432, in1 0x98765432, out 0xfffffff298765432, pos: 32, size: 4
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0xfffffff2ff865421, pos: 32, size: 4
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0x100000000, pos: 32, size: 4
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfffffff1ffffffff, pos: 32, size: 4
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0xfffffff198765432, pos: 32, size: 4
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfffffff1ff865421, pos: 32, size: 4
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 32, size: 16
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0xffff0000ffffffff, pos: 32, size: 16
+dinsu :: in 0x0, in1 0x98765432, out 0xffff000098765432, pos: 32, size: 16
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0xffff0000ff865421, pos: 32, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0xffff00000000, pos: 32, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 32, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 32, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 32, size: 16
+dinsu :: in 0x98765432, in1 0x0, out 0x543200000000, pos: 32, size: 16
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0xffff5432ffffffff, pos: 32, size: 16
+dinsu :: in 0x98765432, in1 0x98765432, out 0xffff543298765432, pos: 32, size: 16
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0xffff5432ff865421, pos: 32, size: 16
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0x542100000000, pos: 32, size: 16
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffff5421ffffffff, pos: 32, size: 16
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0xffff542198765432, pos: 32, size: 16
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffff5421ff865421, pos: 32, size: 16
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 32, size: 32
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0xffffffff, pos: 32, size: 32
+dinsu :: in 0x0, in1 0x98765432, out 0x98765432, pos: 32, size: 32
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0xff865421, pos: 32, size: 32
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0xffffffff00000000, pos: 32, size: 32
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 32, size: 32
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 32, size: 32
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 32, size: 32
+dinsu :: in 0x98765432, in1 0x0, out 0x9876543200000000, pos: 32, size: 32
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0x98765432ffffffff, pos: 32, size: 32
+dinsu :: in 0x98765432, in1 0x98765432, out 0x9876543298765432, pos: 32, size: 32
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0x98765432ff865421, pos: 32, size: 32
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0xff86542100000000, pos: 32, size: 32
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xff865421ffffffff, pos: 32, size: 32
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0xff86542198765432, pos: 32, size: 32
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xff865421ff865421, pos: 32, size: 32
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 36, size: 1
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0xffffffefffffffff, pos: 36, size: 1
+dinsu :: in 0x0, in1 0x98765432, out 0xffffffef98765432, pos: 36, size: 1
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0xffffffefff865421, pos: 36, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0x1000000000, pos: 36, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 36, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 36, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 36, size: 1
+dinsu :: in 0x98765432, in1 0x0, out 0x0, pos: 36, size: 1
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffffefffffffff, pos: 36, size: 1
+dinsu :: in 0x98765432, in1 0x98765432, out 0xffffffef98765432, pos: 36, size: 1
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0xffffffefff865421, pos: 36, size: 1
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0x1000000000, pos: 36, size: 1
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 36, size: 1
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765432, pos: 36, size: 1
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 36, size: 1
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 36, size: 4
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0xffffff0fffffffff, pos: 36, size: 4
+dinsu :: in 0x0, in1 0x98765432, out 0xffffff0f98765432, pos: 36, size: 4
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0xffffff0fff865421, pos: 36, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0xf000000000, pos: 36, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 36, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 36, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 36, size: 4
+dinsu :: in 0x98765432, in1 0x0, out 0x2000000000, pos: 36, size: 4
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0xffffff2fffffffff, pos: 36, size: 4
+dinsu :: in 0x98765432, in1 0x98765432, out 0xffffff2f98765432, pos: 36, size: 4
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0xffffff2fff865421, pos: 36, size: 4
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0x1000000000, pos: 36, size: 4
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffff1fffffffff, pos: 36, size: 4
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0xffffff1f98765432, pos: 36, size: 4
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffff1fff865421, pos: 36, size: 4
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 36, size: 16
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0xfff0000fffffffff, pos: 36, size: 16
+dinsu :: in 0x0, in1 0x98765432, out 0xfff0000f98765432, pos: 36, size: 16
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0xfff0000fff865421, pos: 36, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0xffff000000000, pos: 36, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 36, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 36, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 36, size: 16
+dinsu :: in 0x98765432, in1 0x0, out 0x5432000000000, pos: 36, size: 16
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0xfff5432fffffffff, pos: 36, size: 16
+dinsu :: in 0x98765432, in1 0x98765432, out 0xfff5432f98765432, pos: 36, size: 16
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0xfff5432fff865421, pos: 36, size: 16
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0x5421000000000, pos: 36, size: 16
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfff5421fffffffff, pos: 36, size: 16
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0xfff5421f98765432, pos: 36, size: 16
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfff5421fff865421, pos: 36, size: 16
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 36, size: 28
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0xfffffffff, pos: 36, size: 28
+dinsu :: in 0x0, in1 0x98765432, out 0xf98765432, pos: 36, size: 28
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0xfff865421, pos: 36, size: 28
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0xfffffff000000000, pos: 36, size: 28
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 36, size: 28
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 36, size: 28
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 36, size: 28
+dinsu :: in 0x98765432, in1 0x0, out 0x8765432000000000, pos: 36, size: 28
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0x8765432fffffffff, pos: 36, size: 28
+dinsu :: in 0x98765432, in1 0x98765432, out 0x8765432f98765432, pos: 36, size: 28
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0x8765432fff865421, pos: 36, size: 28
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0xf865421000000000, pos: 36, size: 28
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xf865421fffffffff, pos: 36, size: 28
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0xf865421f98765432, pos: 36, size: 28
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xf865421fff865421, pos: 36, size: 28
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 48, size: 1
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0xfffeffffffffffff, pos: 48, size: 1
+dinsu :: in 0x0, in1 0x98765432, out 0xfffeffff98765432, pos: 48, size: 1
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0xfffeffffff865421, pos: 48, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0x1000000000000, pos: 48, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 48, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 48, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 48, size: 1
+dinsu :: in 0x98765432, in1 0x0, out 0x0, pos: 48, size: 1
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0xfffeffffffffffff, pos: 48, size: 1
+dinsu :: in 0x98765432, in1 0x98765432, out 0xfffeffff98765432, pos: 48, size: 1
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0xfffeffffff865421, pos: 48, size: 1
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0x1000000000000, pos: 48, size: 1
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 48, size: 1
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765432, pos: 48, size: 1
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 48, size: 1
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 48, size: 4
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0xfff0ffffffffffff, pos: 48, size: 4
+dinsu :: in 0x0, in1 0x98765432, out 0xfff0ffff98765432, pos: 48, size: 4
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0xfff0ffffff865421, pos: 48, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0xf000000000000, pos: 48, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 48, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 48, size: 4
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 48, size: 4
+dinsu :: in 0x98765432, in1 0x0, out 0x2000000000000, pos: 48, size: 4
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0xfff2ffffffffffff, pos: 48, size: 4
+dinsu :: in 0x98765432, in1 0x98765432, out 0xfff2ffff98765432, pos: 48, size: 4
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0xfff2ffffff865421, pos: 48, size: 4
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0x1000000000000, pos: 48, size: 4
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xfff1ffffffffffff, pos: 48, size: 4
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0xfff1ffff98765432, pos: 48, size: 4
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xfff1ffffff865421, pos: 48, size: 4
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 48, size: 16
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0xffffffffffff, pos: 48, size: 16
+dinsu :: in 0x0, in1 0x98765432, out 0xffff98765432, pos: 48, size: 16
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0xffffff865421, pos: 48, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0xffff000000000000, pos: 48, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 48, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 48, size: 16
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 48, size: 16
+dinsu :: in 0x98765432, in1 0x0, out 0x5432000000000000, pos: 48, size: 16
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0x5432ffffffffffff, pos: 48, size: 16
+dinsu :: in 0x98765432, in1 0x98765432, out 0x5432ffff98765432, pos: 48, size: 16
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0x5432ffffff865421, pos: 48, size: 16
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0x5421000000000000, pos: 48, size: 16
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0x5421ffffffffffff, pos: 48, size: 16
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0x5421ffff98765432, pos: 48, size: 16
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0x5421ffffff865421, pos: 48, size: 16
+dinsu :: in 0x0, in1 0x0, out 0x0, pos: 63, size: 1
+dinsu :: in 0x0, in1 0xffffffffffffffff, out 0x7fffffffffffffff, pos: 63, size: 1
+dinsu :: in 0x0, in1 0x98765432, out 0x7fffffff98765432, pos: 63, size: 1
+dinsu :: in 0x0, in1 0xffffffffff865421, out 0x7fffffffff865421, pos: 63, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0x0, out 0x8000000000000000, pos: 63, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 63, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0x98765432, out 0xffffffff98765432, pos: 63, size: 1
+dinsu :: in 0xffffffffffffffff, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 63, size: 1
+dinsu :: in 0x98765432, in1 0x0, out 0x0, pos: 63, size: 1
+dinsu :: in 0x98765432, in1 0xffffffffffffffff, out 0x7fffffffffffffff, pos: 63, size: 1
+dinsu :: in 0x98765432, in1 0x98765432, out 0x7fffffff98765432, pos: 63, size: 1
+dinsu :: in 0x98765432, in1 0xffffffffff865421, out 0x7fffffffff865421, pos: 63, size: 1
+dinsu :: in 0xffffffffff865421, in1 0x0, out 0x8000000000000000, pos: 63, size: 1
+dinsu :: in 0xffffffffff865421, in1 0xffffffffffffffff, out 0xffffffffffffffff, pos: 63, size: 1
+dinsu :: in 0xffffffffff865421, in1 0x98765432, out 0xffffffff98765432, pos: 63, size: 1
+dinsu :: in 0xffffffffff865421, in1 0xffffffffff865421, out 0xffffffffff865421, pos: 63, size: 1
+dinsu :: in 0x2002ffffffffffff, in1 0xfffffffff0000fff, out 0xfffffffff0000fff, pos: 33, size: 4
+dinsu :: in 0xffff0000ffffffff, in1 0xff0000ffffffffff, out 0xff0000ffffffffff, pos: 60, size: 4
+dinsu :: in 0x2000ffffffffffff, in1 0xffff0000ffffffff, out 0xffff0000ffffffff, pos: 54, size: 4
+dinsu :: in 0x2000ffffffddddff, in1 0xffffffffffff0008, out 0xffffffffffff0008, pos: 56, size: 2
+dinsu :: in 0x2000ffffffffeeee, in1 0xfffffff31415927f, out 0xfffffef31415927f, pos: 40, size: 4
+dinsu :: in 0x31415927ffffffff, in1 0x2000ffffffffffff, out 0x2018ffffffffffff, pos: 51, size: 2
+dinsu :: in 0x2000ffffffffaaaa, in1 0x2000ffffffff2222, out 0x200affffffff2222, pos: 48, size: 4
+dinsu :: in 0x2000ffffffbbbbff, in1 0x7fffffffddddffff, out 0x7fffffffddddffff, pos: 38, size: 4
+dinsu :: in 0xeeeeff33ff22ffff, in1 0x2000ffffffffffff, out 0x2000ffffffffffff, pos: 35, size: 4
+dinsu :: in 0x2000ffffffffffff, in1 0x2000ffffffffbbbb, out 0x2000ffffffffbbbb, pos: 36, size: 4
+dinsu :: in 0x2000ffffffffbbbb, in1 0x2000ffffffffffff, out 0x2000ffffffffffff, pos: 45, size: 1
+dinsu :: in 0x2000ffffffffffff, in1 0xeeeeff33ff22ffff, out 0xeeefff33ff22ffff, pos: 46, size: 4
+dinsu :: in 0x7fffffffddddffff, in1 0x2000ffffffbbbbff, out 0x20f0ffffffbbbbff, pos: 52, size: 4
+dinsu :: in 0x2000ffffffff2222, in1 0x2000ffffffffaaaa, out 0x200022ffffffaaaa, pos: 40, size: 8
+dinsu :: in 0x2000ffffffffffff, in1 0x31415927ffffffff, out 0x31415fa7ffffffff, pos: 39, size: 4
+dinsu :: in 0xfffffff31415927f, in1 0x31415927ffffffff, out 0xf1415927ffffffff, pos: 60, size: 4
+dinsu :: in 0xffffffffffff0008, in1 0x2000ffffffddddff, out 0x2000ffffffddddff, pos: 63, size: 1
+dinsu :: in 0xffff0000ffffffff, in1 0x2000ffffffffffff, out 0x203cffffffffffff, pos: 50, size: 4
+dinsu :: in 0xff0000ffffffffff, in1 0x0, out 0xf000000000, pos: 36, size: 4
+dinsu :: in 0xfffffffff0000fff, in1 0x0, out 0x3c00000000000, pos: 46, size: 4
diff --git a/none/tests/mips64/extract_insert_bit_field.vgtest b/none/tests/mips64/extract_insert_bit_field.vgtest
new file mode 100644
index 0000000..c39a8b7
--- /dev/null
+++ b/none/tests/mips64/extract_insert_bit_field.vgtest
@@ -0,0 +1,2 @@
+prog: extract_insert_bit_field
+vgopts: -q
diff --git a/none/tests/mips64/filter_stderr b/none/tests/mips64/filter_stderr
new file mode 100755
index 0000000..616ce05
--- /dev/null
+++ b/none/tests/mips64/filter_stderr
@@ -0,0 +1,4 @@
+#! /bin/sh
+
+../filter_stderr
+
diff --git a/none/tests/mips64/fpu_arithmetic.c b/none/tests/mips64/fpu_arithmetic.c
new file mode 100644
index 0000000..6b84210
--- /dev/null
+++ b/none/tests/mips64/fpu_arithmetic.c
@@ -0,0 +1,160 @@
+#include <stdio.h>
+#include "rounding_mode.h"
+#include "macro_fpu.h"
+
+int arithmeticOperations(flt_art_op_t op) 
+{
+   double fd_d = 0;
+   float fd_f = 0;
+   int i = 0;
+   round_mode_t rm;
+   for (rm = TO_NEAREST; rm <= TO_MINUS_INFINITY; rm ++) {
+      set_rounding_mode(rm);
+      printf("roundig mode: %s\n", round_mode_name[rm]);
+      for (i = 0; i < MAX_ARR; i++) {
+         switch(op) {
+            case ABSS:
+               UNOPff("abs.s");
+               printf("%s %.6g %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+               break;
+            case ABSD:
+               UNOPdd("abs.d");
+               printf("%s %.13g %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+               break;
+            case ADDS:
+               BINOPf("add.s");
+               printf("%s %.6g %f %f\n",
+                      flt_art_op_names[op], fd_f, fs_f[i], ft_f[i]);
+               break;
+            case ADDD:
+               BINOPd("add.d");
+               printf("%s %.13g %lf %lf\n",
+                      flt_art_op_names[op], fd_d, fs_d[i], ft_d[i]);
+               break;
+            case DIVS:
+               BINOPf("div.s");
+               printf("%s %.6g %f %f\n",
+                      flt_art_op_names[op], fd_f, fs_f[i], ft_f[i]);
+               break;
+            case DIVD:
+               BINOPd("div.d");
+               printf("%s %.13g %lf %lf\n",
+                      flt_art_op_names[op], fd_d, fs_d[i], ft_d[i]);
+               break;
+            case MULS:
+               BINOPf("mul.s");
+               printf("%s %.6g %f %f\n",
+                      flt_art_op_names[op], fd_f, fs_f[i], ft_f[i]);
+               break;
+            case MULD:
+               BINOPd("mul.d");
+               printf("%s %.13g %lf %lf\n",
+                      flt_art_op_names[op], fd_d, fs_d[i], ft_d[i]);
+               break;
+            case NEGS:
+               UNOPff("neg.s");
+               printf("%s %.6g %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+               break;
+            case NEGD:
+               UNOPdd("neg.d");
+               printf("%s %.13g %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+               break;
+            case SQRTS:
+               UNOPff("sqrt.s");
+               printf("%s %.6g %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+               break;
+            case SQRTD:
+               UNOPdd("sqrt.d");
+               printf("%s %.13g %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+               break;
+            case SUBS:
+               BINOPf("sub.s");
+               printf("%s %.6g %f %f\n",
+                      flt_art_op_names[op], fd_f, fs_f[i], ft_f[i]);
+               break;
+            case SUBD:
+               BINOPd("sub.d");
+               printf("%s %.13g %lf %lf\n",
+                      flt_art_op_names[op], fd_d, fs_d[i], ft_d[i]);
+               break;
+            case RECIPS:
+               UNOPff("recip.s");
+               printf("%s %.6g %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+               break;
+            case RECIPD:
+               UNOPdd("recip.d");
+               printf("%s %.13g %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+               break;
+            case RSQRTS:
+               if (fs_f[i] >= 0) {
+                  UNOPff("rsqrt.s");
+                  printf("%s %.6g %f\n", flt_art_op_names[op], fd_f, fs_f[i]);
+               }
+               break;
+            case RSQRTD:
+               if (fs_d[i] >= 0) {
+                  UNOPdd("rsqrt.d");
+                  printf("%s %.13g %lf\n", flt_art_op_names[op], fd_d, fs_d[i]);
+               }
+               break;
+            case MSUBS:
+               TRIOPf("msub.s");
+               printf("%s %.6g %f %f %f\n",
+                      flt_art_op_names[op], fd_f, fr_f[i], fs_f[i], ft_f[i]);
+               break;
+            case MSUBD:
+               TRIOPd("msub.d");
+               printf("%s %.13g %lf %lf %lf\n",
+                      flt_art_op_names[op], fd_d, fr_d[i], fs_d[i], ft_d[i]);
+               break;
+            case MADDS:
+               TRIOPf("madd.s");
+               printf("%s %.6g %f %f %f\n",
+                      flt_art_op_names[op], fd_f, fr_f[i], fs_f[i], ft_f[i]);
+               break;
+            case MADDD:
+               TRIOPd("madd.d");
+               printf("%s %.13g %lf %lf %lf\n",
+                      flt_art_op_names[op], fd_d, fr_d[i], fs_d[i], ft_d[i]);
+               break;
+            case NMADDS:
+               TRIOPf("nmadd.s");
+               printf("%s %.6g %f %f %f\n",
+                      flt_art_op_names[op], fd_f, fr_f[i], fs_f[i], ft_f[i]);
+               break;
+            case NMADDD:
+               TRIOPd("nmadd.d");
+               printf("%s %.13g %lf %lf %lf\n",
+                      flt_art_op_names[op], fd_d, fr_d[i], fs_d[i], ft_d[i]);
+               break;
+            case NMSUBS:
+               TRIOPf("nmsub.s");
+               printf("%s %.6g %f %f %f\n",
+                      flt_art_op_names[op], fd_f, fr_f[i], fs_f[i], ft_f[i]);
+               break;
+            case NMSUBD:
+               TRIOPd("nmsub.d");
+               printf("%s %.13g %lf %lf %lf\n",
+                      flt_art_op_names[op], fd_d, fr_d[i], fs_d[i], ft_d[i]);
+               break;
+            default:
+               printf("error\n");
+               break;
+         }
+      }
+   }
+   return 0;
+}
+
+int main()
+{
+   flt_art_op_t op;
+
+   printf("-------------------------- %s --------------------------\n",
+        "test FPU Arithmetic Operations");
+   for (op = ABSS; op <= NMSUBD; op++) {
+      arithmeticOperations(op);
+   }
+
+   return 0;
+}
diff --git a/none/tests/mips64/fpu_arithmetic.stderr.exp b/none/tests/mips64/fpu_arithmetic.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/fpu_arithmetic.stderr.exp
diff --git a/none/tests/mips64/fpu_arithmetic.stdout.exp b/none/tests/mips64/fpu_arithmetic.stdout.exp
new file mode 100644
index 0000000..f572784
--- /dev/null
+++ b/none/tests/mips64/fpu_arithmetic.stdout.exp
@@ -0,0 +1,2529 @@
+-------------------------- test FPU Arithmetic Operations --------------------------
+roundig mode: near
+abs.s 0 0.000000
+abs.s 456.249 456.248962
+abs.s 3 3.000000
+abs.s 1 -1.000000
+abs.s 1384.6 1384.599976
+abs.s 7.29457 -7.294568
+abs.s 1e+09 1000000000.000000
+abs.s 5786.47 -5786.470215
+abs.s 1752 1752.000000
+abs.s 0.0024575 0.002457
+abs.s 0.1234 0.123400
+abs.s 248563 -248562.765625
+abs.s 45786.5 -45786.476562
+abs.s 456.249 456.248962
+abs.s 34.0005 34.000462
+abs.s 45786.5 45786.476562
+abs.s 1.75206e+06 1752065.000000
+abs.s 107 107.000000
+abs.s 45667.2 -45667.238281
+abs.s 7.29457 -7.294568
+abs.s 347856 -347856.468750
+abs.s 356048 356047.562500
+abs.s 1 -1.000000
+abs.s 23.04 23.040001
+roundig mode: zero
+abs.s 0 0.000000
+abs.s 456.249 456.248962
+abs.s 3 3.000000
+abs.s 1 -1.000000
+abs.s 1384.6 1384.599976
+abs.s 7.29457 -7.294568
+abs.s 1e+09 1000000000.000000
+abs.s 5786.47 -5786.470215
+abs.s 1752 1752.000000
+abs.s 0.0024575 0.002457
+abs.s 0.1234 0.123400
+abs.s 248563 -248562.765625
+abs.s 45786.5 -45786.476562
+abs.s 456.249 456.248962
+abs.s 34.0005 34.000462
+abs.s 45786.5 45786.476562
+abs.s 1.75206e+06 1752065.000000
+abs.s 107 107.000000
+abs.s 45667.2 -45667.238281
+abs.s 7.29457 -7.294568
+abs.s 347856 -347856.468750
+abs.s 356048 356047.562500
+abs.s 1 -1.000000
+abs.s 23.04 23.040001
+roundig mode: +inf
+abs.s 0 0.000000
+abs.s 456.249 456.248962
+abs.s 3 3.000000
+abs.s 1 -1.000000
+abs.s 1384.6 1384.599976
+abs.s 7.29457 -7.294568
+abs.s 1e+09 1000000000.000000
+abs.s 5786.47 -5786.470215
+abs.s 1752 1752.000000
+abs.s 0.0024575 0.002457
+abs.s 0.1234 0.123400
+abs.s 248563 -248562.765625
+abs.s 45786.5 -45786.476562
+abs.s 456.249 456.248962
+abs.s 34.0005 34.000462
+abs.s 45786.5 45786.476562
+abs.s 1.75206e+06 1752065.000000
+abs.s 107 107.000000
+abs.s 45667.2 -45667.238281
+abs.s 7.29457 -7.294568
+abs.s 347856 -347856.468750
+abs.s 356048 356047.562500
+abs.s 1 -1.000000
+abs.s 23.04 23.040001
+roundig mode: -inf
+abs.s 0 0.000000
+abs.s 456.249 456.248962
+abs.s 3 3.000000
+abs.s 1 -1.000000
+abs.s 1384.6 1384.599976
+abs.s 7.29457 -7.294568
+abs.s 1e+09 1000000000.000000
+abs.s 5786.47 -5786.470215
+abs.s 1752 1752.000000
+abs.s 0.0024575 0.002457
+abs.s 0.1234 0.123400
+abs.s 248563 -248562.765625
+abs.s 45786.5 -45786.476562
+abs.s 456.249 456.248962
+abs.s 34.0005 34.000462
+abs.s 45786.5 45786.476562
+abs.s 1.75206e+06 1752065.000000
+abs.s 107 107.000000
+abs.s 45667.2 -45667.238281
+abs.s 7.29457 -7.294568
+abs.s 347856 -347856.468750
+abs.s 356048 356047.562500
+abs.s 1 -1.000000
+abs.s 23.04 23.040001
+roundig mode: near
+abs.d 0 0.000000
+abs.d 456.2489562 456.248956
+abs.d 3 3.000000
+abs.d 1 -1.000000
+abs.d 1384.6 1384.600000
+abs.d 7.2945676 -7.294568
+abs.d 1000000000 1000000000.000000
+abs.d 5786.47 -5786.470000
+abs.d 1752 1752.000000
+abs.d 0.0024575 0.002458
+abs.d 1e-08 0.000000
+abs.d 248562.76 -248562.760000
+abs.d 45786.476 -45786.476000
+abs.d 456.2489562 456.248956
+abs.d 34.00046 34.000460
+abs.d 45786.476 45786.476000
+abs.d 1752065 1752065.000000
+abs.d 107 107.000000
+abs.d 45667.24 -45667.240000
+abs.d 7.2945676 -7.294568
+abs.d 347856.475 -347856.475000
+abs.d 356047.56 356047.560000
+abs.d 1 -1.000000
+abs.d 23.04 23.040000
+roundig mode: zero
+abs.d 0 0.000000
+abs.d 456.2489562 456.248956
+abs.d 3 3.000000
+abs.d 1 -1.000000
+abs.d 1384.6 1384.600000
+abs.d 7.2945676 -7.294568
+abs.d 1000000000 1000000000.000000
+abs.d 5786.47 -5786.470000
+abs.d 1752 1752.000000
+abs.d 0.0024575 0.002458
+abs.d 1e-08 0.000000
+abs.d 248562.76 -248562.760000
+abs.d 45786.476 -45786.476000
+abs.d 456.2489562 456.248956
+abs.d 34.00046 34.000460
+abs.d 45786.476 45786.476000
+abs.d 1752065 1752065.000000
+abs.d 107 107.000000
+abs.d 45667.24 -45667.240000
+abs.d 7.2945676 -7.294568
+abs.d 347856.475 -347856.475000
+abs.d 356047.56 356047.560000
+abs.d 1 -1.000000
+abs.d 23.04 23.040000
+roundig mode: +inf
+abs.d 0 0.000000
+abs.d 456.2489562 456.248956
+abs.d 3 3.000000
+abs.d 1 -1.000000
+abs.d 1384.6 1384.600000
+abs.d 7.2945676 -7.294568
+abs.d 1000000000 1000000000.000000
+abs.d 5786.47 -5786.470000
+abs.d 1752 1752.000000
+abs.d 0.0024575 0.002458
+abs.d 1e-08 0.000000
+abs.d 248562.76 -248562.760000
+abs.d 45786.476 -45786.476000
+abs.d 456.2489562 456.248956
+abs.d 34.00046 34.000460
+abs.d 45786.476 45786.476000
+abs.d 1752065 1752065.000000
+abs.d 107 107.000000
+abs.d 45667.24 -45667.240000
+abs.d 7.2945676 -7.294568
+abs.d 347856.475 -347856.475000
+abs.d 356047.56 356047.560000
+abs.d 1 -1.000000
+abs.d 23.04 23.040000
+roundig mode: -inf
+abs.d 0 0.000000
+abs.d 456.2489562 456.248956
+abs.d 3 3.000000
+abs.d 1 -1.000000
+abs.d 1384.6 1384.600000
+abs.d 7.2945676 -7.294568
+abs.d 1000000000 1000000000.000000
+abs.d 5786.47 -5786.470000
+abs.d 1752 1752.000000
+abs.d 0.0024575 0.002458
+abs.d 1e-08 0.000000
+abs.d 248562.76 -248562.760000
+abs.d 45786.476 -45786.476000
+abs.d 456.2489562 456.248956
+abs.d 34.00046 34.000460
+abs.d 45786.476 45786.476000
+abs.d 1752065 1752065.000000
+abs.d 107 107.000000
+abs.d 45667.24 -45667.240000
+abs.d 7.2945676 -7.294568
+abs.d 347856.475 -347856.475000
+abs.d 356047.56 356047.560000
+abs.d 1 -1.000000
+abs.d 23.04 23.040000
+roundig mode: near
+add.s -45786.5 0.000000 -45786.476562
+add.s 912.498 456.248962 456.248962
+add.s 37.0005 3.000000 34.000462
+add.s 45785.5 -1.000000 45786.476562
+add.s 1.75345e+06 1384.599976 1752065.000000
+add.s 99.7054 -7.294568 107.000000
+add.s 9.99954e+08 1000000000.000000 -45667.238281
+add.s -5793.76 -5786.470215 -7.294568
+add.s -346104 1752.000000 -347856.468750
+add.s 356048 0.002457 356047.562500
+add.s -0.8766 0.123400 -1.000000
+add.s -248540 -248562.765625 23.040001
+add.s -45786.5 -45786.476562 0.000000
+add.s 912.498 456.248962 456.248962
+add.s 37.0005 34.000462 3.000000
+add.s 45785.5 45786.476562 -1.000000
+add.s 1.75345e+06 1752065.000000 1384.599976
+add.s 99.7054 107.000000 -7.294568
+add.s 9.99954e+08 -45667.238281 1000000000.000000
+add.s -5793.76 -7.294568 -5786.470215
+add.s -346104 -347856.468750 1752.000000
+add.s 356048 356047.562500 0.002457
+add.s -1 -1.000000 0.000000
+add.s -248540 23.040001 -248562.765625
+roundig mode: zero
+add.s -45786.5 0.000000 -45786.476562
+add.s 912.498 456.248962 456.248962
+add.s 37.0005 3.000000 34.000462
+add.s 45785.5 -1.000000 45786.476562
+add.s 1.75345e+06 1384.599976 1752065.000000
+add.s 99.7054 -7.294568 107.000000
+add.s 9.99954e+08 1000000000.000000 -45667.238281
+add.s -5793.76 -5786.470215 -7.294568
+add.s -346104 1752.000000 -347856.468750
+add.s 356048 0.002457 356047.562500
+add.s -0.8766 0.123400 -1.000000
+add.s -248540 -248562.765625 23.040001
+add.s -45786.5 -45786.476562 0.000000
+add.s 912.498 456.248962 456.248962
+add.s 37.0005 34.000462 3.000000
+add.s 45785.5 45786.476562 -1.000000
+add.s 1.75345e+06 1752065.000000 1384.599976
+add.s 99.7054 107.000000 -7.294568
+add.s 9.99954e+08 -45667.238281 1000000000.000000
+add.s -5793.76 -7.294568 -5786.470215
+add.s -346104 -347856.468750 1752.000000
+add.s 356048 356047.562500 0.002457
+add.s -1 -1.000000 0.000000
+add.s -248540 23.040001 -248562.765625
+roundig mode: +inf
+add.s -45786.5 0.000000 -45786.476562
+add.s 912.498 456.248962 456.248962
+add.s 37.0005 3.000000 34.000462
+add.s 45785.5 -1.000000 45786.476562
+add.s 1.75345e+06 1384.599976 1752065.000000
+add.s 99.7054 -7.294568 107.000000
+add.s 9.99954e+08 1000000000.000000 -45667.238281
+add.s -5793.76 -5786.470215 -7.294568
+add.s -346104 1752.000000 -347856.468750
+add.s 356048 0.002457 356047.562500
+add.s -0.8766 0.123400 -1.000000
+add.s -248540 -248562.765625 23.040001
+add.s -45786.5 -45786.476562 0.000000
+add.s 912.498 456.248962 456.248962
+add.s 37.0005 34.000462 3.000000
+add.s 45785.5 45786.476562 -1.000000
+add.s 1.75345e+06 1752065.000000 1384.599976
+add.s 99.7054 107.000000 -7.294568
+add.s 9.99954e+08 -45667.238281 1000000000.000000
+add.s -5793.76 -7.294568 -5786.470215
+add.s -346104 -347856.468750 1752.000000
+add.s 356048 356047.562500 0.002457
+add.s -1 -1.000000 0.000000
+add.s -248540 23.040001 -248562.765625
+roundig mode: -inf
+add.s -45786.5 0.000000 -45786.476562
+add.s 912.498 456.248962 456.248962
+add.s 37.0005 3.000000 34.000462
+add.s 45785.5 -1.000000 45786.476562
+add.s 1.75345e+06 1384.599976 1752065.000000
+add.s 99.7054 -7.294568 107.000000
+add.s 9.99954e+08 1000000000.000000 -45667.238281
+add.s -5793.77 -5786.470215 -7.294568
+add.s -346104 1752.000000 -347856.468750
+add.s 356048 0.002457 356047.562500
+add.s -0.8766 0.123400 -1.000000
+add.s -248540 -248562.765625 23.040001
+add.s -45786.5 -45786.476562 0.000000
+add.s 912.498 456.248962 456.248962
+add.s 37.0005 34.000462 3.000000
+add.s 45785.5 45786.476562 -1.000000
+add.s 1.75345e+06 1752065.000000 1384.599976
+add.s 99.7054 107.000000 -7.294568
+add.s 9.99954e+08 -45667.238281 1000000000.000000
+add.s -5793.77 -7.294568 -5786.470215
+add.s -346104 -347856.468750 1752.000000
+add.s 356048 356047.562500 0.002457
+add.s -1 -1.000000 0.000000
+add.s -248540 23.040001 -248562.765625
+roundig mode: near
+add.d -45786.476 0.000000 -45786.476000
+add.d 912.4979124 456.248956 456.248956
+add.d 37.00046 3.000000 34.000460
+add.d 45785.476 -1.000000 45786.476000
+add.d 1753449.6 1384.600000 1752065.000000
+add.d 99.7054324 -7.294568 107.000000
+add.d 999954332.76 1000000000.000000 -45667.240000
+add.d -5793.7645676 -5786.470000 -7.294568
+add.d -346104.475 1752.000000 -347856.475000
+add.d 356047.5624575 0.002458 356047.560000
+add.d -0.99999999 0.000000 -1.000000
+add.d -248539.72 -248562.760000 23.040000
+add.d -45786.476 -45786.476000 0.000000
+add.d 912.4979124 456.248956 456.248956
+add.d 37.00046 34.000460 3.000000
+add.d 45785.476 45786.476000 -1.000000
+add.d 1753449.6 1752065.000000 1384.600000
+add.d 99.7054324 107.000000 -7.294568
+add.d 999954332.76 -45667.240000 1000000000.000000
+add.d -5793.7645676 -7.294568 -5786.470000
+add.d -346104.475 -347856.475000 1752.000000
+add.d 356047.5624575 356047.560000 0.002458
+add.d -0.99999999 -1.000000 0.000000
+add.d -248539.72 23.040000 -248562.760000
+roundig mode: zero
+add.d -45786.476 0.000000 -45786.476000
+add.d 912.4979124 456.248956 456.248956
+add.d 37.00046 3.000000 34.000460
+add.d 45785.476 -1.000000 45786.476000
+add.d 1753449.6 1384.600000 1752065.000000
+add.d 99.7054324 -7.294568 107.000000
+add.d 999954332.76 1000000000.000000 -45667.240000
+add.d -5793.7645676 -5786.470000 -7.294568
+add.d -346104.475 1752.000000 -347856.475000
+add.d 356047.5624575 0.002458 356047.560000
+add.d -0.99999999 0.000000 -1.000000
+add.d -248539.72 -248562.760000 23.040000
+add.d -45786.476 -45786.476000 0.000000
+add.d 912.4979124 456.248956 456.248956
+add.d 37.00046 34.000460 3.000000
+add.d 45785.476 45786.476000 -1.000000
+add.d 1753449.6 1752065.000000 1384.600000
+add.d 99.7054324 107.000000 -7.294568
+add.d 999954332.76 -45667.240000 1000000000.000000
+add.d -5793.7645676 -7.294568 -5786.470000
+add.d -346104.475 -347856.475000 1752.000000
+add.d 356047.5624575 356047.560000 0.002458
+add.d -0.99999999 -1.000000 0.000000
+add.d -248539.72 23.040000 -248562.760000
+roundig mode: +inf
+add.d -45786.476 0.000000 -45786.476000
+add.d 912.4979124 456.248956 456.248956
+add.d 37.00046 3.000000 34.000460
+add.d 45785.476 -1.000000 45786.476000
+add.d 1753449.6 1384.600000 1752065.000000
+add.d 99.7054324 -7.294568 107.000000
+add.d 999954332.76 1000000000.000000 -45667.240000
+add.d -5793.7645676 -5786.470000 -7.294568
+add.d -346104.475 1752.000000 -347856.475000
+add.d 356047.5624575 0.002458 356047.560000
+add.d -0.99999999 0.000000 -1.000000
+add.d -248539.72 -248562.760000 23.040000
+add.d -45786.476 -45786.476000 0.000000
+add.d 912.4979124 456.248956 456.248956
+add.d 37.00046 34.000460 3.000000
+add.d 45785.476 45786.476000 -1.000000
+add.d 1753449.6 1752065.000000 1384.600000
+add.d 99.7054324 107.000000 -7.294568
+add.d 999954332.76 -45667.240000 1000000000.000000
+add.d -5793.7645676 -7.294568 -5786.470000
+add.d -346104.475 -347856.475000 1752.000000
+add.d 356047.5624575 356047.560000 0.002458
+add.d -0.99999999 -1.000000 0.000000
+add.d -248539.72 23.040000 -248562.760000
+roundig mode: -inf
+add.d -45786.476 0.000000 -45786.476000
+add.d 912.4979124 456.248956 456.248956
+add.d 37.00046 3.000000 34.000460
+add.d 45785.476 -1.000000 45786.476000
+add.d 1753449.6 1384.600000 1752065.000000
+add.d 99.7054324 -7.294568 107.000000
+add.d 999954332.76 1000000000.000000 -45667.240000
+add.d -5793.7645676 -5786.470000 -7.294568
+add.d -346104.475 1752.000000 -347856.475000
+add.d 356047.5624575 0.002458 356047.560000
+add.d -0.99999999 0.000000 -1.000000
+add.d -248539.72 -248562.760000 23.040000
+add.d -45786.476 -45786.476000 0.000000
+add.d 912.4979124 456.248956 456.248956
+add.d 37.00046 34.000460 3.000000
+add.d 45785.476 45786.476000 -1.000000
+add.d 1753449.6 1752065.000000 1384.600000
+add.d 99.7054324 107.000000 -7.294568
+add.d 999954332.76 -45667.240000 1000000000.000000
+add.d -5793.7645676 -7.294568 -5786.470000
+add.d -346104.475 -347856.475000 1752.000000
+add.d 356047.5624575 356047.560000 0.002458
+add.d -0.99999999 -1.000000 0.000000
+add.d -248539.72 23.040000 -248562.760000
+roundig mode: near
+div.s -0 0.000000 -45786.476562
+div.s 1 456.248962 456.248962
+div.s 0.0882341 3.000000 34.000462
+div.s -2.18405e-05 -1.000000 45786.476562
+div.s 0.000790267 1384.599976 1752065.000000
+div.s -0.0681735 -7.294568 107.000000
+div.s -21897.5 1000000000.000000 -45667.238281
+div.s 793.257 -5786.470215 -7.294568
+div.s -0.00503656 1752.000000 -347856.468750
+div.s 6.90217e-09 0.002457 356047.562500
+div.s -0.1234 0.123400 -1.000000
+div.s -10788.3 -248562.765625 23.040001
+div.s -inf -45786.476562 0.000000
+div.s 1 456.248962 456.248962
+div.s 11.3335 34.000462 3.000000
+div.s -45786.5 45786.476562 -1.000000
+div.s 1265.39 1752065.000000 1384.599976
+div.s -14.6685 107.000000 -7.294568
+div.s -4.56672e-05 -45667.238281 1000000000.000000
+div.s 0.00126062 -7.294568 -5786.470215
+div.s -198.548 -347856.468750 1752.000000
+div.s 1.44882e+08 356047.562500 0.002457
+div.s -1e+08 -1.000000 0.000000
+div.s -9.26929e-05 23.040001 -248562.765625
+roundig mode: zero
+div.s -0 0.000000 -45786.476562
+div.s 1 456.248962 456.248962
+div.s 0.0882341 3.000000 34.000462
+div.s -2.18405e-05 -1.000000 45786.476562
+div.s 0.000790267 1384.599976 1752065.000000
+div.s -0.0681735 -7.294568 107.000000
+div.s -21897.5 1000000000.000000 -45667.238281
+div.s 793.257 -5786.470215 -7.294568
+div.s -0.00503656 1752.000000 -347856.468750
+div.s 6.90217e-09 0.002457 356047.562500
+div.s -0.1234 0.123400 -1.000000
+div.s -10788.3 -248562.765625 23.040001
+div.s -inf -45786.476562 0.000000
+div.s 1 456.248962 456.248962
+div.s 11.3335 34.000462 3.000000
+div.s -45786.5 45786.476562 -1.000000
+div.s 1265.39 1752065.000000 1384.599976
+div.s -14.6684 107.000000 -7.294568
+div.s -4.56672e-05 -45667.238281 1000000000.000000
+div.s 0.00126062 -7.294568 -5786.470215
+div.s -198.548 -347856.468750 1752.000000
+div.s 1.44882e+08 356047.562500 0.002457
+div.s -1e+08 -1.000000 0.000000
+div.s -9.26929e-05 23.040001 -248562.765625
+roundig mode: +inf
+div.s -0 0.000000 -45786.476562
+div.s 1 456.248962 456.248962
+div.s 0.0882341 3.000000 34.000462
+div.s -2.18405e-05 -1.000000 45786.476562
+div.s 0.000790267 1384.599976 1752065.000000
+div.s -0.0681735 -7.294568 107.000000
+div.s -21897.5 1000000000.000000 -45667.238281
+div.s 793.258 -5786.470215 -7.294568
+div.s -0.00503656 1752.000000 -347856.468750
+div.s 6.90217e-09 0.002457 356047.562500
+div.s -0.1234 0.123400 -1.000000
+div.s -10788.3 -248562.765625 23.040001
+div.s -inf -45786.476562 0.000000
+div.s 1 456.248962 456.248962
+div.s 11.3335 34.000462 3.000000
+div.s -45786.5 45786.476562 -1.000000
+div.s 1265.39 1752065.000000 1384.599976
+div.s -14.6684 107.000000 -7.294568
+div.s -4.56672e-05 -45667.238281 1000000000.000000
+div.s 0.00126062 -7.294568 -5786.470215
+div.s -198.548 -347856.468750 1752.000000
+div.s 1.44882e+08 356047.562500 0.002457
+div.s -1e+08 -1.000000 0.000000
+div.s -9.26929e-05 23.040001 -248562.765625
+roundig mode: -inf
+div.s -0 0.000000 -45786.476562
+div.s 1 456.248962 456.248962
+div.s 0.0882341 3.000000 34.000462
+div.s -2.18405e-05 -1.000000 45786.476562
+div.s 0.000790267 1384.599976 1752065.000000
+div.s -0.0681735 -7.294568 107.000000
+div.s -21897.5 1000000000.000000 -45667.238281
+div.s 793.257 -5786.470215 -7.294568
+div.s -0.00503656 1752.000000 -347856.468750
+div.s 6.90217e-09 0.002457 356047.562500
+div.s -0.1234 0.123400 -1.000000
+div.s -10788.3 -248562.765625 23.040001
+div.s -inf -45786.476562 0.000000
+div.s 1 456.248962 456.248962
+div.s 11.3335 34.000462 3.000000
+div.s -45786.5 45786.476562 -1.000000
+div.s 1265.39 1752065.000000 1384.599976
+div.s -14.6685 107.000000 -7.294568
+div.s -4.56672e-05 -45667.238281 1000000000.000000
+div.s 0.00126062 -7.294568 -5786.470215
+div.s -198.548 -347856.468750 1752.000000
+div.s 1.44882e+08 356047.562500 0.002457
+div.s -1e+08 -1.000000 0.000000
+div.s -9.26929e-05 23.040001 -248562.765625
+roundig mode: near
+div.d -0 0.000000 -45786.476000
+div.d 1 456.248956 456.248956
+div.d 0.08823410036217 3.000000 34.000460
+div.d -2.184051028518e-05 -1.000000 45786.476000
+div.d 0.0007902674843684 1384.600000 1752065.000000
+div.d -0.06817352897196 -7.294568 107.000000
+div.d -21897.53530102 1000000000.000000 -45667.240000
+div.d 793.2574372194 -5786.470000 -7.294568
+div.d -0.00503655997779 1752.000000 -347856.475000
+div.d 6.902167789045e-09 0.002458 356047.560000
+div.d -1e-08 0.000000 -1.000000
+div.d -10788.31423611 -248562.760000 23.040000
+div.d -inf -45786.476000 0.000000
+div.d 1 456.248956 456.248956
+div.d 11.33348666667 34.000460 3.000000
+div.d -45786.476 45786.476000 -1.000000
+div.d 1265.394337715 1752065.000000 1384.600000
+div.d -14.66844998462 107.000000 -7.294568
+div.d -4.566724e-05 -45667.240000 1000000000.000000
+div.d 0.001260624802341 -7.294568 -5786.470000
+div.d -198.5482163242 -347856.475000 1752.000000
+div.d 144882018.3113 356047.560000 0.002458
+div.d -100000000 -1.000000 0.000000
+div.d -9.269288770369e-05 23.040000 -248562.760000
+roundig mode: zero
+div.d -0 0.000000 -45786.476000
+div.d 1 456.248956 456.248956
+div.d 0.08823410036217 3.000000 34.000460
+div.d -2.184051028518e-05 -1.000000 45786.476000
+div.d 0.0007902674843684 1384.600000 1752065.000000
+div.d -0.06817352897196 -7.294568 107.000000
+div.d -21897.53530102 1000000000.000000 -45667.240000
+div.d 793.2574372194 -5786.470000 -7.294568
+div.d -0.00503655997779 1752.000000 -347856.475000
+div.d 6.902167789045e-09 0.002458 356047.560000
+div.d -1e-08 0.000000 -1.000000
+div.d -10788.31423611 -248562.760000 23.040000
+div.d -inf -45786.476000 0.000000
+div.d 1 456.248956 456.248956
+div.d 11.33348666667 34.000460 3.000000
+div.d -45786.476 45786.476000 -1.000000
+div.d 1265.394337715 1752065.000000 1384.600000
+div.d -14.66844998462 107.000000 -7.294568
+div.d -4.566724e-05 -45667.240000 1000000000.000000
+div.d 0.001260624802341 -7.294568 -5786.470000
+div.d -198.5482163242 -347856.475000 1752.000000
+div.d 144882018.3113 356047.560000 0.002458
+div.d -100000000 -1.000000 0.000000
+div.d -9.269288770369e-05 23.040000 -248562.760000
+roundig mode: +inf
+div.d -0 0.000000 -45786.476000
+div.d 1 456.248956 456.248956
+div.d 0.08823410036217 3.000000 34.000460
+div.d -2.184051028518e-05 -1.000000 45786.476000
+div.d 0.0007902674843684 1384.600000 1752065.000000
+div.d -0.06817352897196 -7.294568 107.000000
+div.d -21897.53530102 1000000000.000000 -45667.240000
+div.d 793.2574372194 -5786.470000 -7.294568
+div.d -0.00503655997779 1752.000000 -347856.475000
+div.d 6.902167789045e-09 0.002458 356047.560000
+div.d -1e-08 0.000000 -1.000000
+div.d -10788.31423611 -248562.760000 23.040000
+div.d -inf -45786.476000 0.000000
+div.d 1 456.248956 456.248956
+div.d 11.33348666667 34.000460 3.000000
+div.d -45786.476 45786.476000 -1.000000
+div.d 1265.394337715 1752065.000000 1384.600000
+div.d -14.66844998462 107.000000 -7.294568
+div.d -4.566724e-05 -45667.240000 1000000000.000000
+div.d 0.001260624802341 -7.294568 -5786.470000
+div.d -198.5482163242 -347856.475000 1752.000000
+div.d 144882018.3113 356047.560000 0.002458
+div.d -100000000 -1.000000 0.000000
+div.d -9.269288770369e-05 23.040000 -248562.760000
+roundig mode: -inf
+div.d -0 0.000000 -45786.476000
+div.d 1 456.248956 456.248956
+div.d 0.08823410036217 3.000000 34.000460
+div.d -2.184051028518e-05 -1.000000 45786.476000
+div.d 0.0007902674843684 1384.600000 1752065.000000
+div.d -0.06817352897196 -7.294568 107.000000
+div.d -21897.53530102 1000000000.000000 -45667.240000
+div.d 793.2574372194 -5786.470000 -7.294568
+div.d -0.00503655997779 1752.000000 -347856.475000
+div.d 6.902167789045e-09 0.002458 356047.560000
+div.d -1e-08 0.000000 -1.000000
+div.d -10788.31423611 -248562.760000 23.040000
+div.d -inf -45786.476000 0.000000
+div.d 1 456.248956 456.248956
+div.d 11.33348666667 34.000460 3.000000
+div.d -45786.476 45786.476000 -1.000000
+div.d 1265.394337715 1752065.000000 1384.600000
+div.d -14.66844998462 107.000000 -7.294568
+div.d -4.566724e-05 -45667.240000 1000000000.000000
+div.d 0.001260624802341 -7.294568 -5786.470000
+div.d -198.5482163242 -347856.475000 1752.000000
+div.d 144882018.3113 356047.560000 0.002458
+div.d -100000000 -1.000000 0.000000
+div.d -9.269288770369e-05 23.040000 -248562.760000
+roundig mode: near
+mul.s -0 0.000000 -45786.476562
+mul.s 208163 456.248962 456.248962
+mul.s 102.001 3.000000 34.000462
+mul.s -45786.5 -1.000000 45786.476562
+mul.s 2.42591e+09 1384.599976 1752065.000000
+mul.s -780.519 -7.294568 107.000000
+mul.s -4.56672e+13 1000000000.000000 -45667.238281
+mul.s 42209.8 -5786.470215 -7.294568
+mul.s -6.09445e+08 1752.000000 -347856.468750
+mul.s 874.987 0.002457 356047.562500
+mul.s -0.1234 0.123400 -1.000000
+mul.s -5.72689e+06 -248562.765625 23.040001
+mul.s -0 -45786.476562 0.000000
+mul.s 208163 456.248962 456.248962
+mul.s 102.001 34.000462 3.000000
+mul.s -45786.5 45786.476562 -1.000000
+mul.s 2.42591e+09 1752065.000000 1384.599976
+mul.s -780.519 107.000000 -7.294568
+mul.s -4.56672e+13 -45667.238281 1000000000.000000
+mul.s 42209.8 -7.294568 -5786.470215
+mul.s -6.09445e+08 -347856.468750 1752.000000
+mul.s 874.987 356047.562500 0.002457
+mul.s -1e-08 -1.000000 0.000000
+mul.s -5.72689e+06 23.040001 -248562.765625
+roundig mode: zero
+mul.s -0 0.000000 -45786.476562
+mul.s 208163 456.248962 456.248962
+mul.s 102.001 3.000000 34.000462
+mul.s -45786.5 -1.000000 45786.476562
+mul.s 2.42591e+09 1384.599976 1752065.000000
+mul.s -780.519 -7.294568 107.000000
+mul.s -4.56672e+13 1000000000.000000 -45667.238281
+mul.s 42209.8 -5786.470215 -7.294568
+mul.s -6.09444e+08 1752.000000 -347856.468750
+mul.s 874.987 0.002457 356047.562500
+mul.s -0.1234 0.123400 -1.000000
+mul.s -5.72689e+06 -248562.765625 23.040001
+mul.s -0 -45786.476562 0.000000
+mul.s 208163 456.248962 456.248962
+mul.s 102.001 34.000462 3.000000
+mul.s -45786.5 45786.476562 -1.000000
+mul.s 2.42591e+09 1752065.000000 1384.599976
+mul.s -780.519 107.000000 -7.294568
+mul.s -4.56672e+13 -45667.238281 1000000000.000000
+mul.s 42209.8 -7.294568 -5786.470215
+mul.s -6.09444e+08 -347856.468750 1752.000000
+mul.s 874.987 356047.562500 0.002457
+mul.s -1e-08 -1.000000 0.000000
+mul.s -5.72689e+06 23.040001 -248562.765625
+roundig mode: +inf
+mul.s -0 0.000000 -45786.476562
+mul.s 208163 456.248962 456.248962
+mul.s 102.001 3.000000 34.000462
+mul.s -45786.5 -1.000000 45786.476562
+mul.s 2.42591e+09 1384.599976 1752065.000000
+mul.s -780.519 -7.294568 107.000000
+mul.s -4.56672e+13 1000000000.000000 -45667.238281
+mul.s 42209.8 -5786.470215 -7.294568
+mul.s -6.09444e+08 1752.000000 -347856.468750
+mul.s 874.987 0.002457 356047.562500
+mul.s -0.1234 0.123400 -1.000000
+mul.s -5.72689e+06 -248562.765625 23.040001
+mul.s -0 -45786.476562 0.000000
+mul.s 208163 456.248962 456.248962
+mul.s 102.001 34.000462 3.000000
+mul.s -45786.5 45786.476562 -1.000000
+mul.s 2.42591e+09 1752065.000000 1384.599976
+mul.s -780.519 107.000000 -7.294568
+mul.s -4.56672e+13 -45667.238281 1000000000.000000
+mul.s 42209.8 -7.294568 -5786.470215
+mul.s -6.09444e+08 -347856.468750 1752.000000
+mul.s 874.987 356047.562500 0.002457
+mul.s -1e-08 -1.000000 0.000000
+mul.s -5.72689e+06 23.040001 -248562.765625
+roundig mode: -inf
+mul.s -0 0.000000 -45786.476562
+mul.s 208163 456.248962 456.248962
+mul.s 102.001 3.000000 34.000462
+mul.s -45786.5 -1.000000 45786.476562
+mul.s 2.42591e+09 1384.599976 1752065.000000
+mul.s -780.519 -7.294568 107.000000
+mul.s -4.56672e+13 1000000000.000000 -45667.238281
+mul.s 42209.8 -5786.470215 -7.294568
+mul.s -6.09445e+08 1752.000000 -347856.468750
+mul.s 874.987 0.002457 356047.562500
+mul.s -0.1234 0.123400 -1.000000
+mul.s -5.72689e+06 -248562.765625 23.040001
+mul.s -0 -45786.476562 0.000000
+mul.s 208163 456.248962 456.248962
+mul.s 102.001 34.000462 3.000000
+mul.s -45786.5 45786.476562 -1.000000
+mul.s 2.42591e+09 1752065.000000 1384.599976
+mul.s -780.519 107.000000 -7.294568
+mul.s -4.56672e+13 -45667.238281 1000000000.000000
+mul.s 42209.8 -7.294568 -5786.470215
+mul.s -6.09445e+08 -347856.468750 1752.000000
+mul.s 874.987 356047.562500 0.002457
+mul.s -1e-08 -1.000000 0.000000
+mul.s -5.72689e+06 23.040001 -248562.765625
+roundig mode: near
+mul.d -0 0.000000 -45786.476000
+mul.d 208163.1100336 456.248956 456.248956
+mul.d 102.00138 3.000000 34.000460
+mul.d -45786.476 -1.000000 45786.476000
+mul.d 2425909199 1384.600000 1752065.000000
+mul.d -780.5187332 -7.294568 107.000000
+mul.d -4.566724e+13 1000000000.000000 -45667.240000
+mul.d 42209.79658037 -5786.470000 -7.294568
+mul.d -609444544.2 1752.000000 -347856.475000
+mul.d 874.9868787 0.002458 356047.560000
+mul.d -1e-08 0.000000 -1.000000
+mul.d -5726885.9904 -248562.760000 23.040000
+mul.d -0 -45786.476000 0.000000
+mul.d 208163.1100336 456.248956 456.248956
+mul.d 102.00138 34.000460 3.000000
+mul.d -45786.476 45786.476000 -1.000000
+mul.d 2425909199 1752065.000000 1384.600000
+mul.d -780.5187332 107.000000 -7.294568
+mul.d -4.566724e+13 -45667.240000 1000000000.000000
+mul.d 42209.79658037 -7.294568 -5786.470000
+mul.d -609444544.2 -347856.475000 1752.000000
+mul.d 874.9868787 356047.560000 0.002458
+mul.d -1e-08 -1.000000 0.000000
+mul.d -5726885.9904 23.040000 -248562.760000
+roundig mode: zero
+mul.d -0 0.000000 -45786.476000
+mul.d 208163.1100336 456.248956 456.248956
+mul.d 102.00138 3.000000 34.000460
+mul.d -45786.476 -1.000000 45786.476000
+mul.d 2425909199 1384.600000 1752065.000000
+mul.d -780.5187332 -7.294568 107.000000
+mul.d -4.566724e+13 1000000000.000000 -45667.240000
+mul.d 42209.79658037 -5786.470000 -7.294568
+mul.d -609444544.2 1752.000000 -347856.475000
+mul.d 874.9868787 0.002458 356047.560000
+mul.d -1e-08 0.000000 -1.000000
+mul.d -5726885.9904 -248562.760000 23.040000
+mul.d -0 -45786.476000 0.000000
+mul.d 208163.1100336 456.248956 456.248956
+mul.d 102.00138 34.000460 3.000000
+mul.d -45786.476 45786.476000 -1.000000
+mul.d 2425909199 1752065.000000 1384.600000
+mul.d -780.5187332 107.000000 -7.294568
+mul.d -4.566724e+13 -45667.240000 1000000000.000000
+mul.d 42209.79658037 -7.294568 -5786.470000
+mul.d -609444544.2 -347856.475000 1752.000000
+mul.d 874.9868787 356047.560000 0.002458
+mul.d -1e-08 -1.000000 0.000000
+mul.d -5726885.9904 23.040000 -248562.760000
+roundig mode: +inf
+mul.d -0 0.000000 -45786.476000
+mul.d 208163.1100336 456.248956 456.248956
+mul.d 102.00138 3.000000 34.000460
+mul.d -45786.476 -1.000000 45786.476000
+mul.d 2425909199 1384.600000 1752065.000000
+mul.d -780.5187332 -7.294568 107.000000
+mul.d -4.566724e+13 1000000000.000000 -45667.240000
+mul.d 42209.79658037 -5786.470000 -7.294568
+mul.d -609444544.2 1752.000000 -347856.475000
+mul.d 874.9868787 0.002458 356047.560000
+mul.d -1e-08 0.000000 -1.000000
+mul.d -5726885.9904 -248562.760000 23.040000
+mul.d -0 -45786.476000 0.000000
+mul.d 208163.1100336 456.248956 456.248956
+mul.d 102.00138 34.000460 3.000000
+mul.d -45786.476 45786.476000 -1.000000
+mul.d 2425909199 1752065.000000 1384.600000
+mul.d -780.5187332 107.000000 -7.294568
+mul.d -4.566724e+13 -45667.240000 1000000000.000000
+mul.d 42209.79658037 -7.294568 -5786.470000
+mul.d -609444544.2 -347856.475000 1752.000000
+mul.d 874.9868787 356047.560000 0.002458
+mul.d -1e-08 -1.000000 0.000000
+mul.d -5726885.9904 23.040000 -248562.760000
+roundig mode: -inf
+mul.d -0 0.000000 -45786.476000
+mul.d 208163.1100336 456.248956 456.248956
+mul.d 102.00138 3.000000 34.000460
+mul.d -45786.476 -1.000000 45786.476000
+mul.d 2425909199 1384.600000 1752065.000000
+mul.d -780.5187332 -7.294568 107.000000
+mul.d -4.566724e+13 1000000000.000000 -45667.240000
+mul.d 42209.79658037 -5786.470000 -7.294568
+mul.d -609444544.2 1752.000000 -347856.475000
+mul.d 874.9868787 0.002458 356047.560000
+mul.d -1e-08 0.000000 -1.000000
+mul.d -5726885.9904 -248562.760000 23.040000
+mul.d -0 -45786.476000 0.000000
+mul.d 208163.1100336 456.248956 456.248956
+mul.d 102.00138 34.000460 3.000000
+mul.d -45786.476 45786.476000 -1.000000
+mul.d 2425909199 1752065.000000 1384.600000
+mul.d -780.5187332 107.000000 -7.294568
+mul.d -4.566724e+13 -45667.240000 1000000000.000000
+mul.d 42209.79658037 -7.294568 -5786.470000
+mul.d -609444544.2 -347856.475000 1752.000000
+mul.d 874.9868787 356047.560000 0.002458
+mul.d -1e-08 -1.000000 0.000000
+mul.d -5726885.9904 23.040000 -248562.760000
+roundig mode: near
+neg.s -0 0.000000
+neg.s -456.249 456.248962
+neg.s -3 3.000000
+neg.s 1 -1.000000
+neg.s -1384.6 1384.599976
+neg.s 7.29457 -7.294568
+neg.s -1e+09 1000000000.000000
+neg.s 5786.47 -5786.470215
+neg.s -1752 1752.000000
+neg.s -0.0024575 0.002457
+neg.s -0.1234 0.123400
+neg.s 248563 -248562.765625
+neg.s 45786.5 -45786.476562
+neg.s -456.249 456.248962
+neg.s -34.0005 34.000462
+neg.s -45786.5 45786.476562
+neg.s -1.75206e+06 1752065.000000
+neg.s -107 107.000000
+neg.s 45667.2 -45667.238281
+neg.s 7.29457 -7.294568
+neg.s 347856 -347856.468750
+neg.s -356048 356047.562500
+neg.s 1 -1.000000
+neg.s -23.04 23.040001
+roundig mode: zero
+neg.s -0 0.000000
+neg.s -456.249 456.248962
+neg.s -3 3.000000
+neg.s 1 -1.000000
+neg.s -1384.6 1384.599976
+neg.s 7.29457 -7.294568
+neg.s -1e+09 1000000000.000000
+neg.s 5786.47 -5786.470215
+neg.s -1752 1752.000000
+neg.s -0.0024575 0.002457
+neg.s -0.1234 0.123400
+neg.s 248563 -248562.765625
+neg.s 45786.5 -45786.476562
+neg.s -456.249 456.248962
+neg.s -34.0005 34.000462
+neg.s -45786.5 45786.476562
+neg.s -1.75206e+06 1752065.000000
+neg.s -107 107.000000
+neg.s 45667.2 -45667.238281
+neg.s 7.29457 -7.294568
+neg.s 347856 -347856.468750
+neg.s -356048 356047.562500
+neg.s 1 -1.000000
+neg.s -23.04 23.040001
+roundig mode: +inf
+neg.s -0 0.000000
+neg.s -456.249 456.248962
+neg.s -3 3.000000
+neg.s 1 -1.000000
+neg.s -1384.6 1384.599976
+neg.s 7.29457 -7.294568
+neg.s -1e+09 1000000000.000000
+neg.s 5786.47 -5786.470215
+neg.s -1752 1752.000000
+neg.s -0.0024575 0.002457
+neg.s -0.1234 0.123400
+neg.s 248563 -248562.765625
+neg.s 45786.5 -45786.476562
+neg.s -456.249 456.248962
+neg.s -34.0005 34.000462
+neg.s -45786.5 45786.476562
+neg.s -1.75206e+06 1752065.000000
+neg.s -107 107.000000
+neg.s 45667.2 -45667.238281
+neg.s 7.29457 -7.294568
+neg.s 347856 -347856.468750
+neg.s -356048 356047.562500
+neg.s 1 -1.000000
+neg.s -23.04 23.040001
+roundig mode: -inf
+neg.s -0 0.000000
+neg.s -456.249 456.248962
+neg.s -3 3.000000
+neg.s 1 -1.000000
+neg.s -1384.6 1384.599976
+neg.s 7.29457 -7.294568
+neg.s -1e+09 1000000000.000000
+neg.s 5786.47 -5786.470215
+neg.s -1752 1752.000000
+neg.s -0.0024575 0.002457
+neg.s -0.1234 0.123400
+neg.s 248563 -248562.765625
+neg.s 45786.5 -45786.476562
+neg.s -456.249 456.248962
+neg.s -34.0005 34.000462
+neg.s -45786.5 45786.476562
+neg.s -1.75206e+06 1752065.000000
+neg.s -107 107.000000
+neg.s 45667.2 -45667.238281
+neg.s 7.29457 -7.294568
+neg.s 347856 -347856.468750
+neg.s -356048 356047.562500
+neg.s 1 -1.000000
+neg.s -23.04 23.040001
+roundig mode: near
+neg.d -0 0.000000
+neg.d -456.2489562 456.248956
+neg.d -3 3.000000
+neg.d 1 -1.000000
+neg.d -1384.6 1384.600000
+neg.d 7.2945676 -7.294568
+neg.d -1000000000 1000000000.000000
+neg.d 5786.47 -5786.470000
+neg.d -1752 1752.000000
+neg.d -0.0024575 0.002458
+neg.d -1e-08 0.000000
+neg.d 248562.76 -248562.760000
+neg.d 45786.476 -45786.476000
+neg.d -456.2489562 456.248956
+neg.d -34.00046 34.000460
+neg.d -45786.476 45786.476000
+neg.d -1752065 1752065.000000
+neg.d -107 107.000000
+neg.d 45667.24 -45667.240000
+neg.d 7.2945676 -7.294568
+neg.d 347856.475 -347856.475000
+neg.d -356047.56 356047.560000
+neg.d 1 -1.000000
+neg.d -23.04 23.040000
+roundig mode: zero
+neg.d -0 0.000000
+neg.d -456.2489562 456.248956
+neg.d -3 3.000000
+neg.d 1 -1.000000
+neg.d -1384.6 1384.600000
+neg.d 7.2945676 -7.294568
+neg.d -1000000000 1000000000.000000
+neg.d 5786.47 -5786.470000
+neg.d -1752 1752.000000
+neg.d -0.0024575 0.002458
+neg.d -1e-08 0.000000
+neg.d 248562.76 -248562.760000
+neg.d 45786.476 -45786.476000
+neg.d -456.2489562 456.248956
+neg.d -34.00046 34.000460
+neg.d -45786.476 45786.476000
+neg.d -1752065 1752065.000000
+neg.d -107 107.000000
+neg.d 45667.24 -45667.240000
+neg.d 7.2945676 -7.294568
+neg.d 347856.475 -347856.475000
+neg.d -356047.56 356047.560000
+neg.d 1 -1.000000
+neg.d -23.04 23.040000
+roundig mode: +inf
+neg.d -0 0.000000
+neg.d -456.2489562 456.248956
+neg.d -3 3.000000
+neg.d 1 -1.000000
+neg.d -1384.6 1384.600000
+neg.d 7.2945676 -7.294568
+neg.d -1000000000 1000000000.000000
+neg.d 5786.47 -5786.470000
+neg.d -1752 1752.000000
+neg.d -0.0024575 0.002458
+neg.d -1e-08 0.000000
+neg.d 248562.76 -248562.760000
+neg.d 45786.476 -45786.476000
+neg.d -456.2489562 456.248956
+neg.d -34.00046 34.000460
+neg.d -45786.476 45786.476000
+neg.d -1752065 1752065.000000
+neg.d -107 107.000000
+neg.d 45667.24 -45667.240000
+neg.d 7.2945676 -7.294568
+neg.d 347856.475 -347856.475000
+neg.d -356047.56 356047.560000
+neg.d 1 -1.000000
+neg.d -23.04 23.040000
+roundig mode: -inf
+neg.d -0 0.000000
+neg.d -456.2489562 456.248956
+neg.d -3 3.000000
+neg.d 1 -1.000000
+neg.d -1384.6 1384.600000
+neg.d 7.2945676 -7.294568
+neg.d -1000000000 1000000000.000000
+neg.d 5786.47 -5786.470000
+neg.d -1752 1752.000000
+neg.d -0.0024575 0.002458
+neg.d -1e-08 0.000000
+neg.d 248562.76 -248562.760000
+neg.d 45786.476 -45786.476000
+neg.d -456.2489562 456.248956
+neg.d -34.00046 34.000460
+neg.d -45786.476 45786.476000
+neg.d -1752065 1752065.000000
+neg.d -107 107.000000
+neg.d 45667.24 -45667.240000
+neg.d 7.2945676 -7.294568
+neg.d 347856.475 -347856.475000
+neg.d -356047.56 356047.560000
+neg.d 1 -1.000000
+neg.d -23.04 23.040000
+roundig mode: near
+sqrt.s 0 0.000000
+sqrt.s 21.36 456.248962
+sqrt.s 1.73205 3.000000
+sqrt.s nan -1.000000
+sqrt.s 37.2102 1384.599976
+sqrt.s nan -7.294568
+sqrt.s 31622.8 1000000000.000000
+sqrt.s nan -5786.470215
+sqrt.s 41.8569 1752.000000
+sqrt.s 0.0495732 0.002457
+sqrt.s 0.351283 0.123400
+sqrt.s nan -248562.765625
+sqrt.s nan -45786.476562
+sqrt.s 21.36 456.248962
+sqrt.s 5.83099 34.000462
+sqrt.s 213.978 45786.476562
+sqrt.s 1323.66 1752065.000000
+sqrt.s 10.3441 107.000000
+sqrt.s nan -45667.238281
+sqrt.s nan -7.294568
+sqrt.s nan -347856.468750
+sqrt.s 596.697 356047.562500
+sqrt.s nan -1.000000
+sqrt.s 4.8 23.040001
+roundig mode: zero
+sqrt.s 0 0.000000
+sqrt.s 21.36 456.248962
+sqrt.s 1.73205 3.000000
+sqrt.s nan -1.000000
+sqrt.s 37.2102 1384.599976
+sqrt.s nan -7.294568
+sqrt.s 31622.8 1000000000.000000
+sqrt.s nan -5786.470215
+sqrt.s 41.8569 1752.000000
+sqrt.s 0.0495732 0.002457
+sqrt.s 0.351283 0.123400
+sqrt.s nan -248562.765625
+sqrt.s nan -45786.476562
+sqrt.s 21.36 456.248962
+sqrt.s 5.83099 34.000462
+sqrt.s 213.978 45786.476562
+sqrt.s 1323.66 1752065.000000
+sqrt.s 10.3441 107.000000
+sqrt.s nan -45667.238281
+sqrt.s nan -7.294568
+sqrt.s nan -347856.468750
+sqrt.s 596.697 356047.562500
+sqrt.s nan -1.000000
+sqrt.s 4.8 23.040001
+roundig mode: +inf
+sqrt.s 0 0.000000
+sqrt.s 21.36 456.248962
+sqrt.s 1.73205 3.000000
+sqrt.s nan -1.000000
+sqrt.s 37.2102 1384.599976
+sqrt.s nan -7.294568
+sqrt.s 31622.8 1000000000.000000
+sqrt.s nan -5786.470215
+sqrt.s 41.8569 1752.000000
+sqrt.s 0.0495732 0.002457
+sqrt.s 0.351283 0.123400
+sqrt.s nan -248562.765625
+sqrt.s nan -45786.476562
+sqrt.s 21.36 456.248962
+sqrt.s 5.83099 34.000462
+sqrt.s 213.978 45786.476562
+sqrt.s 1323.66 1752065.000000
+sqrt.s 10.3441 107.000000
+sqrt.s nan -45667.238281
+sqrt.s nan -7.294568
+sqrt.s nan -347856.468750
+sqrt.s 596.697 356047.562500
+sqrt.s nan -1.000000
+sqrt.s 4.8 23.040001
+roundig mode: -inf
+sqrt.s 0 0.000000
+sqrt.s 21.36 456.248962
+sqrt.s 1.73205 3.000000
+sqrt.s nan -1.000000
+sqrt.s 37.2102 1384.599976
+sqrt.s nan -7.294568
+sqrt.s 31622.8 1000000000.000000
+sqrt.s nan -5786.470215
+sqrt.s 41.8569 1752.000000
+sqrt.s 0.0495732 0.002457
+sqrt.s 0.351283 0.123400
+sqrt.s nan -248562.765625
+sqrt.s nan -45786.476562
+sqrt.s 21.36 456.248962
+sqrt.s 5.83099 34.000462
+sqrt.s 213.978 45786.476562
+sqrt.s 1323.66 1752065.000000
+sqrt.s 10.3441 107.000000
+sqrt.s nan -45667.238281
+sqrt.s nan -7.294568
+sqrt.s nan -347856.468750
+sqrt.s 596.697 356047.562500
+sqrt.s nan -1.000000
+sqrt.s 4.8 23.040001
+roundig mode: near
+sqrt.d 0 0.000000
+sqrt.d 21.35998492977 456.248956
+sqrt.d 1.732050807569 3.000000
+sqrt.d nan -1.000000
+sqrt.d 37.21021365163 1384.600000
+sqrt.d nan -7.294568
+sqrt.d 31622.77660168 1000000000.000000
+sqrt.d nan -5786.470000
+sqrt.d 41.85689907291 1752.000000
+sqrt.d 0.04957317823178 0.002458
+sqrt.d 0.0001 0.000000
+sqrt.d nan -248562.760000
+sqrt.d nan -45786.476000
+sqrt.d 21.35998492977 456.248956
+sqrt.d 5.830991339386 34.000460
+sqrt.d 213.9777465065 45786.476000
+sqrt.d 1323.655922058 1752065.000000
+sqrt.d 10.34408043279 107.000000
+sqrt.d nan -45667.240000
+sqrt.d nan -7.294568
+sqrt.d nan -347856.475000
+sqrt.d 596.6972096466 356047.560000
+sqrt.d nan -1.000000
+sqrt.d 4.8 23.040000
+roundig mode: zero
+sqrt.d 0 0.000000
+sqrt.d 21.35998492977 456.248956
+sqrt.d 1.732050807569 3.000000
+sqrt.d nan -1.000000
+sqrt.d 37.21021365163 1384.600000
+sqrt.d nan -7.294568
+sqrt.d 31622.77660168 1000000000.000000
+sqrt.d nan -5786.470000
+sqrt.d 41.85689907291 1752.000000
+sqrt.d 0.04957317823178 0.002458
+sqrt.d 0.0001 0.000000
+sqrt.d nan -248562.760000
+sqrt.d nan -45786.476000
+sqrt.d 21.35998492977 456.248956
+sqrt.d 5.830991339386 34.000460
+sqrt.d 213.9777465065 45786.476000
+sqrt.d 1323.655922058 1752065.000000
+sqrt.d 10.34408043279 107.000000
+sqrt.d nan -45667.240000
+sqrt.d nan -7.294568
+sqrt.d nan -347856.475000
+sqrt.d 596.6972096466 356047.560000
+sqrt.d nan -1.000000
+sqrt.d 4.8 23.040000
+roundig mode: +inf
+sqrt.d 0 0.000000
+sqrt.d 21.35998492977 456.248956
+sqrt.d 1.732050807569 3.000000
+sqrt.d nan -1.000000
+sqrt.d 37.21021365163 1384.600000
+sqrt.d nan -7.294568
+sqrt.d 31622.77660168 1000000000.000000
+sqrt.d nan -5786.470000
+sqrt.d 41.85689907291 1752.000000
+sqrt.d 0.04957317823178 0.002458
+sqrt.d 0.0001 0.000000
+sqrt.d nan -248562.760000
+sqrt.d nan -45786.476000
+sqrt.d 21.35998492977 456.248956
+sqrt.d 5.830991339386 34.000460
+sqrt.d 213.9777465065 45786.476000
+sqrt.d 1323.655922058 1752065.000000
+sqrt.d 10.34408043279 107.000000
+sqrt.d nan -45667.240000
+sqrt.d nan -7.294568
+sqrt.d nan -347856.475000
+sqrt.d 596.6972096466 356047.560000
+sqrt.d nan -1.000000
+sqrt.d 4.8 23.040000
+roundig mode: -inf
+sqrt.d 0 0.000000
+sqrt.d 21.35998492977 456.248956
+sqrt.d 1.732050807569 3.000000
+sqrt.d nan -1.000000
+sqrt.d 37.21021365163 1384.600000
+sqrt.d nan -7.294568
+sqrt.d 31622.77660168 1000000000.000000
+sqrt.d nan -5786.470000
+sqrt.d 41.85689907291 1752.000000
+sqrt.d 0.04957317823178 0.002458
+sqrt.d 0.0001 0.000000
+sqrt.d nan -248562.760000
+sqrt.d nan -45786.476000
+sqrt.d 21.35998492977 456.248956
+sqrt.d 5.830991339386 34.000460
+sqrt.d 213.9777465065 45786.476000
+sqrt.d 1323.655922058 1752065.000000
+sqrt.d 10.34408043279 107.000000
+sqrt.d nan -45667.240000
+sqrt.d nan -7.294568
+sqrt.d nan -347856.475000
+sqrt.d 596.6972096466 356047.560000
+sqrt.d nan -1.000000
+sqrt.d 4.8 23.040000
+roundig mode: near
+sub.s 45786.5 0.000000 -45786.476562
+sub.s 0 456.248962 456.248962
+sub.s -31.0005 3.000000 34.000462
+sub.s -45787.5 -1.000000 45786.476562
+sub.s -1.75068e+06 1384.599976 1752065.000000
+sub.s -114.295 -7.294568 107.000000
+sub.s 1.00005e+09 1000000000.000000 -45667.238281
+sub.s -5779.18 -5786.470215 -7.294568
+sub.s 349608 1752.000000 -347856.468750
+sub.s -356048 0.002457 356047.562500
+sub.s 1.1234 0.123400 -1.000000
+sub.s -248586 -248562.765625 23.040001
+sub.s -45786.5 -45786.476562 0.000000
+sub.s 0 456.248962 456.248962
+sub.s 31.0005 34.000462 3.000000
+sub.s 45787.5 45786.476562 -1.000000
+sub.s 1.75068e+06 1752065.000000 1384.599976
+sub.s 114.295 107.000000 -7.294568
+sub.s -1.00005e+09 -45667.238281 1000000000.000000
+sub.s 5779.18 -7.294568 -5786.470215
+sub.s -349608 -347856.468750 1752.000000
+sub.s 356048 356047.562500 0.002457
+sub.s -1 -1.000000 0.000000
+sub.s 248586 23.040001 -248562.765625
+roundig mode: zero
+sub.s 45786.5 0.000000 -45786.476562
+sub.s 0 456.248962 456.248962
+sub.s -31.0005 3.000000 34.000462
+sub.s -45787.5 -1.000000 45786.476562
+sub.s -1.75068e+06 1384.599976 1752065.000000
+sub.s -114.295 -7.294568 107.000000
+sub.s 1.00005e+09 1000000000.000000 -45667.238281
+sub.s -5779.18 -5786.470215 -7.294568
+sub.s 349608 1752.000000 -347856.468750
+sub.s -356048 0.002457 356047.562500
+sub.s 1.1234 0.123400 -1.000000
+sub.s -248586 -248562.765625 23.040001
+sub.s -45786.5 -45786.476562 0.000000
+sub.s 0 456.248962 456.248962
+sub.s 31.0005 34.000462 3.000000
+sub.s 45787.5 45786.476562 -1.000000
+sub.s 1.75068e+06 1752065.000000 1384.599976
+sub.s 114.295 107.000000 -7.294568
+sub.s -1.00005e+09 -45667.238281 1000000000.000000
+sub.s 5779.18 -7.294568 -5786.470215
+sub.s -349608 -347856.468750 1752.000000
+sub.s 356048 356047.562500 0.002457
+sub.s -1 -1.000000 0.000000
+sub.s 248586 23.040001 -248562.765625
+roundig mode: +inf
+sub.s 45786.5 0.000000 -45786.476562
+sub.s 0 456.248962 456.248962
+sub.s -31.0005 3.000000 34.000462
+sub.s -45787.5 -1.000000 45786.476562
+sub.s -1.75068e+06 1384.599976 1752065.000000
+sub.s -114.295 -7.294568 107.000000
+sub.s 1.00005e+09 1000000000.000000 -45667.238281
+sub.s -5779.18 -5786.470215 -7.294568
+sub.s 349608 1752.000000 -347856.468750
+sub.s -356048 0.002457 356047.562500
+sub.s 1.1234 0.123400 -1.000000
+sub.s -248586 -248562.765625 23.040001
+sub.s -45786.5 -45786.476562 0.000000
+sub.s 0 456.248962 456.248962
+sub.s 31.0005 34.000462 3.000000
+sub.s 45787.5 45786.476562 -1.000000
+sub.s 1.75068e+06 1752065.000000 1384.599976
+sub.s 114.295 107.000000 -7.294568
+sub.s -1.00005e+09 -45667.238281 1000000000.000000
+sub.s 5779.18 -7.294568 -5786.470215
+sub.s -349608 -347856.468750 1752.000000
+sub.s 356048 356047.562500 0.002457
+sub.s -1 -1.000000 0.000000
+sub.s 248586 23.040001 -248562.765625
+roundig mode: -inf
+sub.s 45786.5 0.000000 -45786.476562
+sub.s -0 456.248962 456.248962
+sub.s -31.0005 3.000000 34.000462
+sub.s -45787.5 -1.000000 45786.476562
+sub.s -1.75068e+06 1384.599976 1752065.000000
+sub.s -114.295 -7.294568 107.000000
+sub.s 1.00005e+09 1000000000.000000 -45667.238281
+sub.s -5779.18 -5786.470215 -7.294568
+sub.s 349608 1752.000000 -347856.468750
+sub.s -356048 0.002457 356047.562500
+sub.s 1.1234 0.123400 -1.000000
+sub.s -248586 -248562.765625 23.040001
+sub.s -45786.5 -45786.476562 0.000000
+sub.s -0 456.248962 456.248962
+sub.s 31.0005 34.000462 3.000000
+sub.s 45787.5 45786.476562 -1.000000
+sub.s 1.75068e+06 1752065.000000 1384.599976
+sub.s 114.295 107.000000 -7.294568
+sub.s -1.00005e+09 -45667.238281 1000000000.000000
+sub.s 5779.18 -7.294568 -5786.470215
+sub.s -349608 -347856.468750 1752.000000
+sub.s 356048 356047.562500 0.002457
+sub.s -1 -1.000000 0.000000
+sub.s 248586 23.040001 -248562.765625
+roundig mode: near
+sub.d 45786.476 0.000000 -45786.476000
+sub.d 0 456.248956 456.248956
+sub.d -31.00046 3.000000 34.000460
+sub.d -45787.476 -1.000000 45786.476000
+sub.d -1750680.4 1384.600000 1752065.000000
+sub.d -114.2945676 -7.294568 107.000000
+sub.d 1000045667.24 1000000000.000000 -45667.240000
+sub.d -5779.1754324 -5786.470000 -7.294568
+sub.d 349608.475 1752.000000 -347856.475000
+sub.d -356047.5575425 0.002458 356047.560000
+sub.d 1.00000001 0.000000 -1.000000
+sub.d -248585.8 -248562.760000 23.040000
+sub.d -45786.476 -45786.476000 0.000000
+sub.d 0 456.248956 456.248956
+sub.d 31.00046 34.000460 3.000000
+sub.d 45787.476 45786.476000 -1.000000
+sub.d 1750680.4 1752065.000000 1384.600000
+sub.d 114.2945676 107.000000 -7.294568
+sub.d -1000045667.24 -45667.240000 1000000000.000000
+sub.d 5779.1754324 -7.294568 -5786.470000
+sub.d -349608.475 -347856.475000 1752.000000
+sub.d 356047.5575425 356047.560000 0.002458
+sub.d -1.00000001 -1.000000 0.000000
+sub.d 248585.8 23.040000 -248562.760000
+roundig mode: zero
+sub.d 45786.476 0.000000 -45786.476000
+sub.d 0 456.248956 456.248956
+sub.d -31.00046 3.000000 34.000460
+sub.d -45787.476 -1.000000 45786.476000
+sub.d -1750680.4 1384.600000 1752065.000000
+sub.d -114.2945676 -7.294568 107.000000
+sub.d 1000045667.24 1000000000.000000 -45667.240000
+sub.d -5779.1754324 -5786.470000 -7.294568
+sub.d 349608.475 1752.000000 -347856.475000
+sub.d -356047.5575425 0.002458 356047.560000
+sub.d 1.00000001 0.000000 -1.000000
+sub.d -248585.8 -248562.760000 23.040000
+sub.d -45786.476 -45786.476000 0.000000
+sub.d 0 456.248956 456.248956
+sub.d 31.00046 34.000460 3.000000
+sub.d 45787.476 45786.476000 -1.000000
+sub.d 1750680.4 1752065.000000 1384.600000
+sub.d 114.2945676 107.000000 -7.294568
+sub.d -1000045667.24 -45667.240000 1000000000.000000
+sub.d 5779.1754324 -7.294568 -5786.470000
+sub.d -349608.475 -347856.475000 1752.000000
+sub.d 356047.5575425 356047.560000 0.002458
+sub.d -1.00000001 -1.000000 0.000000
+sub.d 248585.8 23.040000 -248562.760000
+roundig mode: +inf
+sub.d 45786.476 0.000000 -45786.476000
+sub.d 0 456.248956 456.248956
+sub.d -31.00046 3.000000 34.000460
+sub.d -45787.476 -1.000000 45786.476000
+sub.d -1750680.4 1384.600000 1752065.000000
+sub.d -114.2945676 -7.294568 107.000000
+sub.d 1000045667.24 1000000000.000000 -45667.240000
+sub.d -5779.1754324 -5786.470000 -7.294568
+sub.d 349608.475 1752.000000 -347856.475000
+sub.d -356047.5575425 0.002458 356047.560000
+sub.d 1.00000001 0.000000 -1.000000
+sub.d -248585.8 -248562.760000 23.040000
+sub.d -45786.476 -45786.476000 0.000000
+sub.d 0 456.248956 456.248956
+sub.d 31.00046 34.000460 3.000000
+sub.d 45787.476 45786.476000 -1.000000
+sub.d 1750680.4 1752065.000000 1384.600000
+sub.d 114.2945676 107.000000 -7.294568
+sub.d -1000045667.24 -45667.240000 1000000000.000000
+sub.d 5779.1754324 -7.294568 -5786.470000
+sub.d -349608.475 -347856.475000 1752.000000
+sub.d 356047.5575425 356047.560000 0.002458
+sub.d -1.00000001 -1.000000 0.000000
+sub.d 248585.8 23.040000 -248562.760000
+roundig mode: -inf
+sub.d 45786.476 0.000000 -45786.476000
+sub.d -0 456.248956 456.248956
+sub.d -31.00046 3.000000 34.000460
+sub.d -45787.476 -1.000000 45786.476000
+sub.d -1750680.4 1384.600000 1752065.000000
+sub.d -114.2945676 -7.294568 107.000000
+sub.d 1000045667.24 1000000000.000000 -45667.240000
+sub.d -5779.1754324 -5786.470000 -7.294568
+sub.d 349608.475 1752.000000 -347856.475000
+sub.d -356047.5575425 0.002458 356047.560000
+sub.d 1.00000001 0.000000 -1.000000
+sub.d -248585.8 -248562.760000 23.040000
+sub.d -45786.476 -45786.476000 0.000000
+sub.d -0 456.248956 456.248956
+sub.d 31.00046 34.000460 3.000000
+sub.d 45787.476 45786.476000 -1.000000
+sub.d 1750680.4 1752065.000000 1384.600000
+sub.d 114.2945676 107.000000 -7.294568
+sub.d -1000045667.24 -45667.240000 1000000000.000000
+sub.d 5779.1754324 -7.294568 -5786.470000
+sub.d -349608.475 -347856.475000 1752.000000
+sub.d 356047.5575425 356047.560000 0.002458
+sub.d -1.00000001 -1.000000 0.000000
+sub.d 248585.8 23.040000 -248562.760000
+roundig mode: near
+recip.s inf 0.000000
+recip.s 0.00219179 456.248962
+recip.s 0.333333 3.000000
+recip.s -1 -1.000000
+recip.s 0.00072223 1384.599976
+recip.s -0.137088 -7.294568
+recip.s 1e-09 1000000000.000000
+recip.s -0.000172817 -5786.470215
+recip.s 0.000570776 1752.000000
+recip.s 406.918 0.002457
+recip.s 8.10373 0.123400
+recip.s -4.02313e-06 -248562.765625
+recip.s -2.18405e-05 -45786.476562
+recip.s 0.00219179 456.248962
+recip.s 0.0294114 34.000462
+recip.s 2.18405e-05 45786.476562
+recip.s 5.70755e-07 1752065.000000
+recip.s 0.00934579 107.000000
+recip.s -2.18975e-05 -45667.238281
+recip.s -0.137088 -7.294568
+recip.s -2.87475e-06 -347856.468750
+recip.s 2.80861e-06 356047.562500
+recip.s -1 -1.000000
+recip.s 0.0434028 23.040001
+roundig mode: zero
+recip.s inf 0.000000
+recip.s 0.00219179 456.248962
+recip.s 0.333333 3.000000
+recip.s -1 -1.000000
+recip.s 0.00072223 1384.599976
+recip.s -0.137088 -7.294568
+recip.s 1e-09 1000000000.000000
+recip.s -0.000172817 -5786.470215
+recip.s 0.000570776 1752.000000
+recip.s 406.918 0.002457
+recip.s 8.10373 0.123400
+recip.s -4.02313e-06 -248562.765625
+recip.s -2.18405e-05 -45786.476562
+recip.s 0.00219179 456.248962
+recip.s 0.0294114 34.000462
+recip.s 2.18405e-05 45786.476562
+recip.s 5.70755e-07 1752065.000000
+recip.s 0.00934579 107.000000
+recip.s -2.18975e-05 -45667.238281
+recip.s -0.137088 -7.294568
+recip.s -2.87475e-06 -347856.468750
+recip.s 2.80861e-06 356047.562500
+recip.s -1 -1.000000
+recip.s 0.0434028 23.040001
+roundig mode: +inf
+recip.s inf 0.000000
+recip.s 0.00219179 456.248962
+recip.s 0.333333 3.000000
+recip.s -1 -1.000000
+recip.s 0.00072223 1384.599976
+recip.s -0.137088 -7.294568
+recip.s 1e-09 1000000000.000000
+recip.s -0.000172817 -5786.470215
+recip.s 0.000570776 1752.000000
+recip.s 406.918 0.002457
+recip.s 8.10373 0.123400
+recip.s -4.02313e-06 -248562.765625
+recip.s -2.18405e-05 -45786.476562
+recip.s 0.00219179 456.248962
+recip.s 0.0294114 34.000462
+recip.s 2.18405e-05 45786.476562
+recip.s 5.70755e-07 1752065.000000
+recip.s 0.0093458 107.000000
+recip.s -2.18975e-05 -45667.238281
+recip.s -0.137088 -7.294568
+recip.s -2.87475e-06 -347856.468750
+recip.s 2.80861e-06 356047.562500
+recip.s -1 -1.000000
+recip.s 0.0434028 23.040001
+roundig mode: -inf
+recip.s inf 0.000000
+recip.s 0.00219179 456.248962
+recip.s 0.333333 3.000000
+recip.s -1 -1.000000
+recip.s 0.00072223 1384.599976
+recip.s -0.137088 -7.294568
+recip.s 1e-09 1000000000.000000
+recip.s -0.000172817 -5786.470215
+recip.s 0.000570776 1752.000000
+recip.s 406.918 0.002457
+recip.s 8.10373 0.123400
+recip.s -4.02313e-06 -248562.765625
+recip.s -2.18405e-05 -45786.476562
+recip.s 0.00219179 456.248962
+recip.s 0.0294114 34.000462
+recip.s 2.18405e-05 45786.476562
+recip.s 5.70755e-07 1752065.000000
+recip.s 0.00934579 107.000000
+recip.s -2.18975e-05 -45667.238281
+recip.s -0.137088 -7.294568
+recip.s -2.87475e-06 -347856.468750
+recip.s 2.80861e-06 356047.562500
+recip.s -1 -1.000000
+recip.s 0.0434028 23.040001
+roundig mode: near
+recip.d inf 0.000000
+recip.d 0.002191785836243 456.248956
+recip.d 0.3333333333333 3.000000
+recip.d -1 -1.000000
+recip.d 0.0007222302470027 1384.600000
+recip.d -0.1370883176132 -7.294568
+recip.d 1e-09 1000000000.000000
+recip.d -0.0001728169332944 -5786.470000
+recip.d 0.0005707762557078 1752.000000
+recip.d 406.9175991862 0.002458
+recip.d 100000000 0.000000
+recip.d -4.023128806584e-06 -248562.760000
+recip.d -2.184051028518e-05 -45786.476000
+recip.d 0.002191785836243 456.248956
+recip.d 0.02941136678739 34.000460
+recip.d 2.184051028518e-05 45786.476000
+recip.d 5.707550804337e-07 1752065.000000
+recip.d 0.009345794392523 107.000000
+recip.d -2.189753530102e-05 -45667.240000
+recip.d -0.1370883176132 -7.294568
+recip.d -2.87474884577e-06 -347856.475000
+recip.d 2.808613545898e-06 356047.560000
+recip.d -1 -1.000000
+recip.d 0.04340277777778 23.040000
+roundig mode: zero
+recip.d inf 0.000000
+recip.d 0.002191785836243 456.248956
+recip.d 0.3333333333333 3.000000
+recip.d -1 -1.000000
+recip.d 0.0007222302470027 1384.600000
+recip.d -0.1370883176132 -7.294568
+recip.d 1e-09 1000000000.000000
+recip.d -0.0001728169332944 -5786.470000
+recip.d 0.0005707762557078 1752.000000
+recip.d 406.9175991862 0.002458
+recip.d 100000000 0.000000
+recip.d -4.023128806584e-06 -248562.760000
+recip.d -2.184051028518e-05 -45786.476000
+recip.d 0.002191785836243 456.248956
+recip.d 0.02941136678739 34.000460
+recip.d 2.184051028518e-05 45786.476000
+recip.d 5.707550804337e-07 1752065.000000
+recip.d 0.009345794392523 107.000000
+recip.d -2.189753530102e-05 -45667.240000
+recip.d -0.1370883176132 -7.294568
+recip.d -2.87474884577e-06 -347856.475000
+recip.d 2.808613545898e-06 356047.560000
+recip.d -1 -1.000000
+recip.d 0.04340277777778 23.040000
+roundig mode: +inf
+recip.d inf 0.000000
+recip.d 0.002191785836243 456.248956
+recip.d 0.3333333333333 3.000000
+recip.d -1 -1.000000
+recip.d 0.0007222302470027 1384.600000
+recip.d -0.1370883176132 -7.294568
+recip.d 1e-09 1000000000.000000
+recip.d -0.0001728169332944 -5786.470000
+recip.d 0.0005707762557078 1752.000000
+recip.d 406.9175991862 0.002458
+recip.d 100000000 0.000000
+recip.d -4.023128806584e-06 -248562.760000
+recip.d -2.184051028518e-05 -45786.476000
+recip.d 0.002191785836243 456.248956
+recip.d 0.02941136678739 34.000460
+recip.d 2.184051028518e-05 45786.476000
+recip.d 5.707550804337e-07 1752065.000000
+recip.d 0.009345794392523 107.000000
+recip.d -2.189753530102e-05 -45667.240000
+recip.d -0.1370883176132 -7.294568
+recip.d -2.87474884577e-06 -347856.475000
+recip.d 2.808613545898e-06 356047.560000
+recip.d -1 -1.000000
+recip.d 0.04340277777778 23.040000
+roundig mode: -inf
+recip.d inf 0.000000
+recip.d 0.002191785836243 456.248956
+recip.d 0.3333333333333 3.000000
+recip.d -1 -1.000000
+recip.d 0.0007222302470027 1384.600000
+recip.d -0.1370883176132 -7.294568
+recip.d 1e-09 1000000000.000000
+recip.d -0.0001728169332944 -5786.470000
+recip.d 0.0005707762557078 1752.000000
+recip.d 406.9175991862 0.002458
+recip.d 100000000 0.000000
+recip.d -4.023128806584e-06 -248562.760000
+recip.d -2.184051028518e-05 -45786.476000
+recip.d 0.002191785836243 456.248956
+recip.d 0.02941136678739 34.000460
+recip.d 2.184051028518e-05 45786.476000
+recip.d 5.707550804337e-07 1752065.000000
+recip.d 0.009345794392523 107.000000
+recip.d -2.189753530102e-05 -45667.240000
+recip.d -0.1370883176132 -7.294568
+recip.d -2.87474884577e-06 -347856.475000
+recip.d 2.808613545898e-06 356047.560000
+recip.d -1 -1.000000
+recip.d 0.04340277777778 23.040000
+roundig mode: near
+rsqrt.s inf 0.000000
+rsqrt.s 0.0468165 456.248962
+rsqrt.s 0.57735 3.000000
+rsqrt.s 0.0268743 1384.599976
+rsqrt.s 3.16228e-05 1000000000.000000
+rsqrt.s 0.0238909 1752.000000
+rsqrt.s 20.1722 0.002457
+rsqrt.s 2.8467 0.123400
+rsqrt.s 0.0468165 456.248962
+rsqrt.s 0.171497 34.000462
+rsqrt.s 0.00467338 45786.476562
+rsqrt.s 0.000755483 1752065.000000
+rsqrt.s 0.0966737 107.000000
+rsqrt.s 0.00167589 356047.562500
+rsqrt.s 0.208333 23.040001
+roundig mode: zero
+rsqrt.s inf 0.000000
+rsqrt.s 0.0468165 456.248962
+rsqrt.s 0.57735 3.000000
+rsqrt.s 0.0268743 1384.599976
+rsqrt.s 3.16228e-05 1000000000.000000
+rsqrt.s 0.0238909 1752.000000
+rsqrt.s 20.1722 0.002457
+rsqrt.s 2.8467 0.123400
+rsqrt.s 0.0468165 456.248962
+rsqrt.s 0.171497 34.000462
+rsqrt.s 0.00467338 45786.476562
+rsqrt.s 0.000755483 1752065.000000
+rsqrt.s 0.0966737 107.000000
+rsqrt.s 0.00167589 356047.562500
+rsqrt.s 0.208333 23.040001
+roundig mode: +inf
+rsqrt.s inf 0.000000
+rsqrt.s 0.0468165 456.248962
+rsqrt.s 0.57735 3.000000
+rsqrt.s 0.0268743 1384.599976
+rsqrt.s 3.16228e-05 1000000000.000000
+rsqrt.s 0.0238909 1752.000000
+rsqrt.s 20.1722 0.002457
+rsqrt.s 2.8467 0.123400
+rsqrt.s 0.0468165 456.248962
+rsqrt.s 0.171497 34.000462
+rsqrt.s 0.00467338 45786.476562
+rsqrt.s 0.000755483 1752065.000000
+rsqrt.s 0.0966736 107.000000
+rsqrt.s 0.00167589 356047.562500
+rsqrt.s 0.208333 23.040001
+roundig mode: -inf
+rsqrt.s inf 0.000000
+rsqrt.s 0.0468165 456.248962
+rsqrt.s 0.57735 3.000000
+rsqrt.s 0.0268743 1384.599976
+rsqrt.s 3.16228e-05 1000000000.000000
+rsqrt.s 0.0238909 1752.000000
+rsqrt.s 20.1722 0.002457
+rsqrt.s 2.8467 0.123400
+rsqrt.s 0.0468165 456.248962
+rsqrt.s 0.171497 34.000462
+rsqrt.s 0.00467338 45786.476562
+rsqrt.s 0.000755483 1752065.000000
+rsqrt.s 0.0966737 107.000000
+rsqrt.s 0.00167589 356047.562500
+rsqrt.s 0.208333 23.040001
+roundig mode: near
+rsqrt.d inf 0.000000
+rsqrt.d 0.04681651243144 456.248956
+rsqrt.d 0.5773502691896 3.000000
+rsqrt.d 0.02687434179664 1384.600000
+rsqrt.d 3.162277660168e-05 1000000000.000000
+rsqrt.d 0.02389092412837 1752.000000
+rsqrt.d 20.1721986701 0.002458
+rsqrt.d 10000 0.000000
+rsqrt.d 0.04681651243144 456.248956
+rsqrt.d 0.1714974250168 34.000460
+rsqrt.d 0.004673383173374 45786.476000
+rsqrt.d 0.0007554833422609 1752065.000000
+rsqrt.d 0.09667364890457 107.000000
+rsqrt.d 0.001675891865813 356047.560000
+rsqrt.d 0.2083333333333 23.040000
+roundig mode: zero
+rsqrt.d inf 0.000000
+rsqrt.d 0.04681651243144 456.248956
+rsqrt.d 0.5773502691896 3.000000
+rsqrt.d 0.02687434179664 1384.600000
+rsqrt.d 3.162277660168e-05 1000000000.000000
+rsqrt.d 0.02389092412837 1752.000000
+rsqrt.d 20.1721986701 0.002458
+rsqrt.d 10000 0.000000
+rsqrt.d 0.04681651243144 456.248956
+rsqrt.d 0.1714974250168 34.000460
+rsqrt.d 0.004673383173374 45786.476000
+rsqrt.d 0.0007554833422609 1752065.000000
+rsqrt.d 0.09667364890457 107.000000
+rsqrt.d 0.001675891865813 356047.560000
+rsqrt.d 0.2083333333333 23.040000
+roundig mode: +inf
+rsqrt.d inf 0.000000
+rsqrt.d 0.04681651243144 456.248956
+rsqrt.d 0.5773502691896 3.000000
+rsqrt.d 0.02687434179664 1384.600000
+rsqrt.d 3.162277660168e-05 1000000000.000000
+rsqrt.d 0.02389092412837 1752.000000
+rsqrt.d 20.1721986701 0.002458
+rsqrt.d 10000 0.000000
+rsqrt.d 0.04681651243144 456.248956
+rsqrt.d 0.1714974250168 34.000460
+rsqrt.d 0.004673383173374 45786.476000
+rsqrt.d 0.0007554833422609 1752065.000000
+rsqrt.d 0.09667364890457 107.000000
+rsqrt.d 0.001675891865813 356047.560000
+rsqrt.d 0.2083333333333 23.040000
+roundig mode: -inf
+rsqrt.d inf 0.000000
+rsqrt.d 0.04681651243144 456.248956
+rsqrt.d 0.5773502691896 3.000000
+rsqrt.d 0.02687434179664 1384.600000
+rsqrt.d 3.162277660168e-05 1000000000.000000
+rsqrt.d 0.02389092412837 1752.000000
+rsqrt.d 20.1721986701 0.002458
+rsqrt.d 10000 0.000000
+rsqrt.d 0.04681651243144 456.248956
+rsqrt.d 0.1714974250168 34.000460
+rsqrt.d 0.004673383173374 45786.476000
+rsqrt.d 0.0007554833422609 1752065.000000
+rsqrt.d 0.09667364890457 107.000000
+rsqrt.d 0.001675891865813 356047.560000
+rsqrt.d 0.2083333333333 23.040000
+roundig mode: near
+msub.s 347856 -347856.468750 0.000000 -45786.476562
+msub.s -147884 356047.562500 456.248962 456.248962
+msub.s 103.001 -1.000000 3.000000 34.000462
+msub.s -45809.5 23.040001 -1.000000 45786.476562
+msub.s 2.42591e+09 1752.000000 1384.599976 1752065.000000
+msub.s -780.521 0.002457 -7.294568 107.000000
+msub.s -4.56672e+13 0.000000 1000000000.000000 -45667.238281
+msub.s 290773 -248562.765625 -5786.470215 -7.294568
+msub.s -6.09446e+08 1384.599976 1752.000000 -347856.468750
+msub.s 882.281 -7.294568 0.002457 356047.562500
+msub.s -1e+09 1000000000.000000 0.123400 -1.000000
+msub.s -5.7211e+06 -5786.470215 -248562.765625 23.040001
+msub.s 347856 -347856.468750 -45786.476562 0.000000
+msub.s -147884 356047.562500 456.248962 456.248962
+msub.s 103.001 -1.000000 34.000462 3.000000
+msub.s -45809.5 23.040001 45786.476562 -1.000000
+msub.s 2.42591e+09 0.000000 1752065.000000 1384.599976
+msub.s -1236.77 456.248962 107.000000 -7.294568
+msub.s -4.56672e+13 3.000000 -45667.238281 1000000000.000000
+msub.s 42210.8 -1.000000 -7.294568 -5786.470215
+msub.s -6.09399e+08 -45786.476562 -347856.468750 1752.000000
+msub.s 418.738 456.248962 356047.562500 0.002457
+msub.s -34.0005 34.000462 -1.000000 0.000000
+msub.s -5.77267e+06 45786.476562 23.040001 -248562.765625
+roundig mode: zero
+msub.s 347856 -347856.468750 0.000000 -45786.476562
+msub.s -147884 356047.562500 456.248962 456.248962
+msub.s 103.001 -1.000000 3.000000 34.000462
+msub.s -45809.5 23.040001 -1.000000 45786.476562
+msub.s 2.42591e+09 1752.000000 1384.599976 1752065.000000
+msub.s -780.521 0.002457 -7.294568 107.000000
+msub.s -4.56672e+13 0.000000 1000000000.000000 -45667.238281
+msub.s 290773 -248562.765625 -5786.470215 -7.294568
+msub.s -6.09446e+08 1384.599976 1752.000000 -347856.468750
+msub.s 882.281 -7.294568 0.002457 356047.562500
+msub.s -1e+09 1000000000.000000 0.123400 -1.000000
+msub.s -5.7211e+06 -5786.470215 -248562.765625 23.040001
+msub.s 347856 -347856.468750 -45786.476562 0.000000
+msub.s -147884 356047.562500 456.248962 456.248962
+msub.s 103.001 -1.000000 34.000462 3.000000
+msub.s -45809.5 23.040001 45786.476562 -1.000000
+msub.s 2.42591e+09 0.000000 1752065.000000 1384.599976
+msub.s -1236.77 456.248962 107.000000 -7.294568
+msub.s -4.56672e+13 3.000000 -45667.238281 1000000000.000000
+msub.s 42210.8 -1.000000 -7.294568 -5786.470215
+msub.s -6.09399e+08 -45786.476562 -347856.468750 1752.000000
+msub.s 418.738 456.248962 356047.562500 0.002457
+msub.s -34.0005 34.000462 -1.000000 0.000000
+msub.s -5.77267e+06 45786.476562 23.040001 -248562.765625
+roundig mode: +inf
+msub.s 347856 -347856.468750 0.000000 -45786.476562
+msub.s -147884 356047.562500 456.248962 456.248962
+msub.s 103.001 -1.000000 3.000000 34.000462
+msub.s -45809.5 23.040001 -1.000000 45786.476562
+msub.s 2.42591e+09 1752.000000 1384.599976 1752065.000000
+msub.s -780.521 0.002457 -7.294568 107.000000
+msub.s -4.56672e+13 0.000000 1000000000.000000 -45667.238281
+msub.s 290773 -248562.765625 -5786.470215 -7.294568
+msub.s -6.09446e+08 1384.599976 1752.000000 -347856.468750
+msub.s 882.281 -7.294568 0.002457 356047.562500
+msub.s -1e+09 1000000000.000000 0.123400 -1.000000
+msub.s -5.7211e+06 -5786.470215 -248562.765625 23.040001
+msub.s 347856 -347856.468750 -45786.476562 0.000000
+msub.s -147884 356047.562500 456.248962 456.248962
+msub.s 103.001 -1.000000 34.000462 3.000000
+msub.s -45809.5 23.040001 45786.476562 -1.000000
+msub.s 2.42591e+09 0.000000 1752065.000000 1384.599976
+msub.s -1236.77 456.248962 107.000000 -7.294568
+msub.s -4.56672e+13 3.000000 -45667.238281 1000000000.000000
+msub.s 42210.8 -1.000000 -7.294568 -5786.470215
+msub.s -6.09399e+08 -45786.476562 -347856.468750 1752.000000
+msub.s 418.738 456.248962 356047.562500 0.002457
+msub.s -34.0005 34.000462 -1.000000 0.000000
+msub.s -5.77267e+06 45786.476562 23.040001 -248562.765625
+roundig mode: -inf
+msub.s 347856 -347856.468750 0.000000 -45786.476562
+msub.s -147884 356047.562500 456.248962 456.248962
+msub.s 103.001 -1.000000 3.000000 34.000462
+msub.s -45809.5 23.040001 -1.000000 45786.476562
+msub.s 2.42591e+09 1752.000000 1384.599976 1752065.000000
+msub.s -780.521 0.002457 -7.294568 107.000000
+msub.s -4.56672e+13 0.000000 1000000000.000000 -45667.238281
+msub.s 290773 -248562.765625 -5786.470215 -7.294568
+msub.s -6.09446e+08 1384.599976 1752.000000 -347856.468750
+msub.s 882.281 -7.294568 0.002457 356047.562500
+msub.s -1e+09 1000000000.000000 0.123400 -1.000000
+msub.s -5.7211e+06 -5786.470215 -248562.765625 23.040001
+msub.s 347856 -347856.468750 -45786.476562 0.000000
+msub.s -147884 356047.562500 456.248962 456.248962
+msub.s 103.001 -1.000000 34.000462 3.000000
+msub.s -45809.5 23.040001 45786.476562 -1.000000
+msub.s 2.42591e+09 0.000000 1752065.000000 1384.599976
+msub.s -1236.77 456.248962 107.000000 -7.294568
+msub.s -4.56672e+13 3.000000 -45667.238281 1000000000.000000
+msub.s 42210.8 -1.000000 -7.294568 -5786.470215
+msub.s -6.09399e+08 -45786.476562 -347856.468750 1752.000000
+msub.s 418.738 456.248962 356047.562500 0.002457
+msub.s -34.0005 34.000462 -1.000000 0.000000
+msub.s -5.77267e+06 45786.476562 23.040001 -248562.765625
+roundig mode: near
+msub.d 34785666666.47 -34785666666.474998 0.000000 -45786.476000
+msub.d -147884.4499664 356047.560000 456.248956 456.248956
+msub.d 103.00138 -1.000000 3.000000 34.000460
+msub.d -45809.516 23.040000 -1.000000 45786.476000
+msub.d 2425907447 1752.000000 1384.600000 1752065.000000
+msub.d -780.5211907 0.002458 -7.294568 107.000000
+msub.d -4.566724e+13 0.000000 1000000000.000000 -45667.240000
+msub.d 290772.5565804 -248562.760000 -5786.470000 -7.294568
+msub.d -609445928.8 1384.600000 1752.000000 -347856.475000
+msub.d 882.2814463 -7.294568 0.002458 356047.560000
+msub.d -1000000000 1000000000.000000 0.000000 -1.000000
+msub.d -5721099.5204 -5786.470000 -248562.760000 23.040000
+msub.d 347856.475 -347856.475000 -45786.476000 0.000000
+msub.d -147884.4499664 356047.560000 456.248956 456.248956
+msub.d 103.00138 -1.000000 34.000460 3.000000
+msub.d -45809.516 23.040000 45786.476000 -1.000000
+msub.d 2425909199 0.000000 1752065.000000 1384.600000
+msub.d -45655556335.77 45655555555.248955 107.000000 -7.294568
+msub.d -4.566724e+13 3.000000 -45667.240000 1000000000.000000
+msub.d 42210.79658037 -1.000000 -7.294568 -5786.470000
+msub.d -609398757.724 -45786.476000 -347856.475000 1752.000000
+msub.d -4565791.262078 4566666.248956 356047.560000 0.002458
+msub.d -34.00046001 34.000460 -1.000000 0.000000
+msub.d -5772672.4664 45786.476000 23.040000 -248562.760000
+roundig mode: zero
+msub.d 34785666666.47 -34785666666.474998 0.000000 -45786.476000
+msub.d -147884.4499664 356047.560000 456.248956 456.248956
+msub.d 103.00138 -1.000000 3.000000 34.000460
+msub.d -45809.516 23.040000 -1.000000 45786.476000
+msub.d 2425907447 1752.000000 1384.600000 1752065.000000
+msub.d -780.5211907 0.002458 -7.294568 107.000000
+msub.d -4.566724e+13 0.000000 1000000000.000000 -45667.240000
+msub.d 290772.5565804 -248562.760000 -5786.470000 -7.294568
+msub.d -609445928.8 1384.600000 1752.000000 -347856.475000
+msub.d 882.2814463 -7.294568 0.002458 356047.560000
+msub.d -1000000000 1000000000.000000 0.000000 -1.000000
+msub.d -5721099.5204 -5786.470000 -248562.760000 23.040000
+msub.d 347856.475 -347856.475000 -45786.476000 0.000000
+msub.d -147884.4499664 356047.560000 456.248956 456.248956
+msub.d 103.00138 -1.000000 34.000460 3.000000
+msub.d -45809.516 23.040000 45786.476000 -1.000000
+msub.d 2425909199 0.000000 1752065.000000 1384.600000
+msub.d -45655556335.77 45655555555.248955 107.000000 -7.294568
+msub.d -4.566724e+13 3.000000 -45667.240000 1000000000.000000
+msub.d 42210.79658037 -1.000000 -7.294568 -5786.470000
+msub.d -609398757.724 -45786.476000 -347856.475000 1752.000000
+msub.d -4565791.262077 4566666.248956 356047.560000 0.002458
+msub.d -34.00046001 34.000460 -1.000000 0.000000
+msub.d -5772672.4664 45786.476000 23.040000 -248562.760000
+roundig mode: +inf
+msub.d 34785666666.47 -34785666666.474998 0.000000 -45786.476000
+msub.d -147884.4499664 356047.560000 456.248956 456.248956
+msub.d 103.00138 -1.000000 3.000000 34.000460
+msub.d -45809.516 23.040000 -1.000000 45786.476000
+msub.d 2425907447 1752.000000 1384.600000 1752065.000000
+msub.d -780.5211907 0.002458 -7.294568 107.000000
+msub.d -4.566724e+13 0.000000 1000000000.000000 -45667.240000
+msub.d 290772.5565804 -248562.760000 -5786.470000 -7.294568
+msub.d -609445928.8 1384.600000 1752.000000 -347856.475000
+msub.d 882.2814463 -7.294568 0.002458 356047.560000
+msub.d -1000000000 1000000000.000000 0.000000 -1.000000
+msub.d -5721099.5204 -5786.470000 -248562.760000 23.040000
+msub.d 347856.475 -347856.475000 -45786.476000 0.000000
+msub.d -147884.4499664 356047.560000 456.248956 456.248956
+msub.d 103.00138 -1.000000 34.000460 3.000000
+msub.d -45809.516 23.040000 45786.476000 -1.000000
+msub.d 2425909199 0.000000 1752065.000000 1384.600000
+msub.d -45655556335.77 45655555555.248955 107.000000 -7.294568
+msub.d -4.566724e+13 3.000000 -45667.240000 1000000000.000000
+msub.d 42210.79658037 -1.000000 -7.294568 -5786.470000
+msub.d -609398757.724 -45786.476000 -347856.475000 1752.000000
+msub.d -4565791.262077 4566666.248956 356047.560000 0.002458
+msub.d -34.00046001 34.000460 -1.000000 0.000000
+msub.d -5772672.4664 45786.476000 23.040000 -248562.760000
+roundig mode: -inf
+msub.d 34785666666.47 -34785666666.474998 0.000000 -45786.476000
+msub.d -147884.4499664 356047.560000 456.248956 456.248956
+msub.d 103.00138 -1.000000 3.000000 34.000460
+msub.d -45809.516 23.040000 -1.000000 45786.476000
+msub.d 2425907447 1752.000000 1384.600000 1752065.000000
+msub.d -780.5211907 0.002458 -7.294568 107.000000
+msub.d -4.566724e+13 0.000000 1000000000.000000 -45667.240000
+msub.d 290772.5565804 -248562.760000 -5786.470000 -7.294568
+msub.d -609445928.8 1384.600000 1752.000000 -347856.475000
+msub.d 882.2814463 -7.294568 0.002458 356047.560000
+msub.d -1000000000 1000000000.000000 0.000000 -1.000000
+msub.d -5721099.5204 -5786.470000 -248562.760000 23.040000
+msub.d 347856.475 -347856.475000 -45786.476000 0.000000
+msub.d -147884.4499664 356047.560000 456.248956 456.248956
+msub.d 103.00138 -1.000000 34.000460 3.000000
+msub.d -45809.516 23.040000 45786.476000 -1.000000
+msub.d 2425909199 0.000000 1752065.000000 1384.600000
+msub.d -45655556335.77 45655555555.248955 107.000000 -7.294568
+msub.d -4.566724e+13 3.000000 -45667.240000 1000000000.000000
+msub.d 42210.79658037 -1.000000 -7.294568 -5786.470000
+msub.d -609398757.724 -45786.476000 -347856.475000 1752.000000
+msub.d -4565791.262078 4566666.248956 356047.560000 0.002458
+msub.d -34.00046001 34.000460 -1.000000 0.000000
+msub.d -5772672.4664 45786.476000 23.040000 -248562.760000
+roundig mode: near
+madd.s -347856 -347856.468750 0.000000 -45786.476562
+madd.s 564211 356047.562500 456.248962 456.248962
+madd.s 101.001 -1.000000 3.000000 34.000462
+madd.s -45763.4 23.040001 -1.000000 45786.476562
+madd.s 2.42591e+09 1752.000000 1384.599976 1752065.000000
+madd.s -780.516 0.002457 -7.294568 107.000000
+madd.s -4.56672e+13 0.000000 1000000000.000000 -45667.238281
+madd.s -206353 -248562.765625 -5786.470215 -7.294568
+madd.s -6.09443e+08 1384.599976 1752.000000 -347856.468750
+madd.s 867.692 -7.294568 0.002457 356047.562500
+madd.s 1e+09 1000000000.000000 0.123400 -1.000000
+madd.s -5.73267e+06 -5786.470215 -248562.765625 23.040001
+madd.s -347856 -347856.468750 -45786.476562 0.000000
+madd.s 564211 356047.562500 456.248962 456.248962
+madd.s 101.001 -1.000000 34.000462 3.000000
+madd.s -45763.4 23.040001 45786.476562 -1.000000
+madd.s 2.42591e+09 0.000000 1752065.000000 1384.599976
+madd.s -324.27 456.248962 107.000000 -7.294568
+madd.s -4.56672e+13 3.000000 -45667.238281 1000000000.000000
+madd.s 42208.8 -1.000000 -7.294568 -5786.470215
+madd.s -6.0949e+08 -45786.476562 -347856.468750 1752.000000
+madd.s 1331.24 456.248962 356047.562500 0.002457
+madd.s 34.0005 34.000462 -1.000000 0.000000
+madd.s -5.6811e+06 45786.476562 23.040001 -248562.765625
+roundig mode: zero
+madd.s -347856 -347856.468750 0.000000 -45786.476562
+madd.s 564211 356047.562500 456.248962 456.248962
+madd.s 101.001 -1.000000 3.000000 34.000462
+madd.s -45763.4 23.040001 -1.000000 45786.476562
+madd.s 2.42591e+09 1752.000000 1384.599976 1752065.000000
+madd.s -780.516 0.002457 -7.294568 107.000000
+madd.s -4.56672e+13 0.000000 1000000000.000000 -45667.238281
+madd.s -206353 -248562.765625 -5786.470215 -7.294568
+madd.s -6.09443e+08 1384.599976 1752.000000 -347856.468750
+madd.s 867.692 -7.294568 0.002457 356047.562500
+madd.s 1e+09 1000000000.000000 0.123400 -1.000000
+madd.s -5.73267e+06 -5786.470215 -248562.765625 23.040001
+madd.s -347856 -347856.468750 -45786.476562 0.000000
+madd.s 564211 356047.562500 456.248962 456.248962
+madd.s 101.001 -1.000000 34.000462 3.000000
+madd.s -45763.4 23.040001 45786.476562 -1.000000
+madd.s 2.42591e+09 0.000000 1752065.000000 1384.599976
+madd.s -324.27 456.248962 107.000000 -7.294568
+madd.s -4.56672e+13 3.000000 -45667.238281 1000000000.000000
+madd.s 42208.8 -1.000000 -7.294568 -5786.470215
+madd.s -6.0949e+08 -45786.476562 -347856.468750 1752.000000
+madd.s 1331.24 456.248962 356047.562500 0.002457
+madd.s 34.0005 34.000462 -1.000000 0.000000
+madd.s -5.6811e+06 45786.476562 23.040001 -248562.765625
+roundig mode: +inf
+madd.s -347856 -347856.468750 0.000000 -45786.476562
+madd.s 564211 356047.562500 456.248962 456.248962
+madd.s 101.001 -1.000000 3.000000 34.000462
+madd.s -45763.4 23.040001 -1.000000 45786.476562
+madd.s 2.42591e+09 1752.000000 1384.599976 1752065.000000
+madd.s -780.516 0.002457 -7.294568 107.000000
+madd.s -4.56672e+13 0.000000 1000000000.000000 -45667.238281
+madd.s -206353 -248562.765625 -5786.470215 -7.294568
+madd.s -6.09443e+08 1384.599976 1752.000000 -347856.468750
+madd.s 867.692 -7.294568 0.002457 356047.562500
+madd.s 1e+09 1000000000.000000 0.123400 -1.000000
+madd.s -5.73267e+06 -5786.470215 -248562.765625 23.040001
+madd.s -347856 -347856.468750 -45786.476562 0.000000
+madd.s 564211 356047.562500 456.248962 456.248962
+madd.s 101.001 -1.000000 34.000462 3.000000
+madd.s -45763.4 23.040001 45786.476562 -1.000000
+madd.s 2.42591e+09 0.000000 1752065.000000 1384.599976
+madd.s -324.27 456.248962 107.000000 -7.294568
+madd.s -4.56672e+13 3.000000 -45667.238281 1000000000.000000
+madd.s 42208.8 -1.000000 -7.294568 -5786.470215
+madd.s -6.0949e+08 -45786.476562 -347856.468750 1752.000000
+madd.s 1331.24 456.248962 356047.562500 0.002457
+madd.s 34.0005 34.000462 -1.000000 0.000000
+madd.s -5.6811e+06 45786.476562 23.040001 -248562.765625
+roundig mode: -inf
+madd.s -347856 -347856.468750 0.000000 -45786.476562
+madd.s 564211 356047.562500 456.248962 456.248962
+madd.s 101.001 -1.000000 3.000000 34.000462
+madd.s -45763.4 23.040001 -1.000000 45786.476562
+madd.s 2.42591e+09 1752.000000 1384.599976 1752065.000000
+madd.s -780.516 0.002457 -7.294568 107.000000
+madd.s -4.56672e+13 0.000000 1000000000.000000 -45667.238281
+madd.s -206353 -248562.765625 -5786.470215 -7.294568
+madd.s -6.09443e+08 1384.599976 1752.000000 -347856.468750
+madd.s 867.692 -7.294568 0.002457 356047.562500
+madd.s 1e+09 1000000000.000000 0.123400 -1.000000
+madd.s -5.73267e+06 -5786.470215 -248562.765625 23.040001
+madd.s -347856 -347856.468750 -45786.476562 0.000000
+madd.s 564211 356047.562500 456.248962 456.248962
+madd.s 101.001 -1.000000 34.000462 3.000000
+madd.s -45763.4 23.040001 45786.476562 -1.000000
+madd.s 2.42591e+09 0.000000 1752065.000000 1384.599976
+madd.s -324.27 456.248962 107.000000 -7.294568
+madd.s -4.56672e+13 3.000000 -45667.238281 1000000000.000000
+madd.s 42208.8 -1.000000 -7.294568 -5786.470215
+madd.s -6.0949e+08 -45786.476562 -347856.468750 1752.000000
+madd.s 1331.24 456.248962 356047.562500 0.002457
+madd.s 34.0005 34.000462 -1.000000 0.000000
+madd.s -5.6811e+06 45786.476562 23.040001 -248562.765625
+roundig mode: near
+madd.d -34785666666.47 -34785666666.474998 0.000000 -45786.476000
+madd.d 564210.6700336 356047.560000 456.248956 456.248956
+madd.d 101.00138 -1.000000 3.000000 34.000460
+madd.d -45763.436 23.040000 -1.000000 45786.476000
+madd.d 2425910951 1752.000000 1384.600000 1752065.000000
+madd.d -780.5162757 0.002458 -7.294568 107.000000
+madd.d -4.566724e+13 0.000000 1000000000.000000 -45667.240000
+madd.d -206352.9634196 -248562.760000 -5786.470000 -7.294568
+madd.d -609443159.6 1384.600000 1752.000000 -347856.475000
+madd.d 867.6923111 -7.294568 0.002458 356047.560000
+madd.d 1000000000 1000000000.000000 0.000000 -1.000000
+madd.d -5732672.4604 -5786.470000 -248562.760000 23.040000
+madd.d -347856.475 -347856.475000 -45786.476000 0.000000
+madd.d 564210.6700336 356047.560000 456.248956 456.248956
+madd.d 101.00138 -1.000000 34.000460 3.000000
+madd.d -45763.436 23.040000 45786.476000 -1.000000
+madd.d 2425909199 0.000000 1752065.000000 1384.600000
+madd.d 45655554774.73 45655555555.248955 107.000000 -7.294568
+madd.d -4.566724e+13 3.000000 -45667.240000 1000000000.000000
+madd.d 42208.79658037 -1.000000 -7.294568 -5786.470000
+madd.d -609490330.676 -45786.476000 -347856.475000 1752.000000
+madd.d 4567541.235835 4566666.248956 356047.560000 0.002458
+madd.d 34.00045999 34.000460 -1.000000 0.000000
+madd.d -5681099.5144 45786.476000 23.040000 -248562.760000
+roundig mode: zero
+madd.d -34785666666.47 -34785666666.474998 0.000000 -45786.476000
+madd.d 564210.6700336 356047.560000 456.248956 456.248956
+madd.d 101.00138 -1.000000 3.000000 34.000460
+madd.d -45763.436 23.040000 -1.000000 45786.476000
+madd.d 2425910951 1752.000000 1384.600000 1752065.000000
+madd.d -780.5162757 0.002458 -7.294568 107.000000
+madd.d -4.566724e+13 0.000000 1000000000.000000 -45667.240000
+madd.d -206352.9634196 -248562.760000 -5786.470000 -7.294568
+madd.d -609443159.6 1384.600000 1752.000000 -347856.475000
+madd.d 867.6923111 -7.294568 0.002458 356047.560000
+madd.d 1000000000 1000000000.000000 0.000000 -1.000000
+madd.d -5732672.4604 -5786.470000 -248562.760000 23.040000
+madd.d -347856.475 -347856.475000 -45786.476000 0.000000
+madd.d 564210.6700336 356047.560000 456.248956 456.248956
+madd.d 101.00138 -1.000000 34.000460 3.000000
+madd.d -45763.436 23.040000 45786.476000 -1.000000
+madd.d 2425909199 0.000000 1752065.000000 1384.600000
+madd.d 45655554774.73 45655555555.248955 107.000000 -7.294568
+madd.d -4.566724e+13 3.000000 -45667.240000 1000000000.000000
+madd.d 42208.79658037 -1.000000 -7.294568 -5786.470000
+madd.d -609490330.676 -45786.476000 -347856.475000 1752.000000
+madd.d 4567541.235835 4566666.248956 356047.560000 0.002458
+madd.d 34.00045999 34.000460 -1.000000 0.000000
+madd.d -5681099.5144 45786.476000 23.040000 -248562.760000
+roundig mode: +inf
+madd.d -34785666666.47 -34785666666.474998 0.000000 -45786.476000
+madd.d 564210.6700336 356047.560000 456.248956 456.248956
+madd.d 101.00138 -1.000000 3.000000 34.000460
+madd.d -45763.436 23.040000 -1.000000 45786.476000
+madd.d 2425910951 1752.000000 1384.600000 1752065.000000
+madd.d -780.5162757 0.002458 -7.294568 107.000000
+madd.d -4.566724e+13 0.000000 1000000000.000000 -45667.240000
+madd.d -206352.9634196 -248562.760000 -5786.470000 -7.294568
+madd.d -609443159.6 1384.600000 1752.000000 -347856.475000
+madd.d 867.6923111 -7.294568 0.002458 356047.560000
+madd.d 1000000000 1000000000.000000 0.000000 -1.000000
+madd.d -5732672.4604 -5786.470000 -248562.760000 23.040000
+madd.d -347856.475 -347856.475000 -45786.476000 0.000000
+madd.d 564210.6700336 356047.560000 456.248956 456.248956
+madd.d 101.00138 -1.000000 34.000460 3.000000
+madd.d -45763.436 23.040000 45786.476000 -1.000000
+madd.d 2425909199 0.000000 1752065.000000 1384.600000
+madd.d 45655554774.73 45655555555.248955 107.000000 -7.294568
+madd.d -4.566724e+13 3.000000 -45667.240000 1000000000.000000
+madd.d 42208.79658037 -1.000000 -7.294568 -5786.470000
+madd.d -609490330.676 -45786.476000 -347856.475000 1752.000000
+madd.d 4567541.235835 4566666.248956 356047.560000 0.002458
+madd.d 34.00045999 34.000460 -1.000000 0.000000
+madd.d -5681099.5144 45786.476000 23.040000 -248562.760000
+roundig mode: -inf
+madd.d -34785666666.47 -34785666666.474998 0.000000 -45786.476000
+madd.d 564210.6700336 356047.560000 456.248956 456.248956
+madd.d 101.00138 -1.000000 3.000000 34.000460
+madd.d -45763.436 23.040000 -1.000000 45786.476000
+madd.d 2425910951 1752.000000 1384.600000 1752065.000000
+madd.d -780.5162757 0.002458 -7.294568 107.000000
+madd.d -4.566724e+13 0.000000 1000000000.000000 -45667.240000
+madd.d -206352.9634196 -248562.760000 -5786.470000 -7.294568
+madd.d -609443159.6 1384.600000 1752.000000 -347856.475000
+madd.d 867.6923111 -7.294568 0.002458 356047.560000
+madd.d 1000000000 1000000000.000000 0.000000 -1.000000
+madd.d -5732672.4604 -5786.470000 -248562.760000 23.040000
+madd.d -347856.475 -347856.475000 -45786.476000 0.000000
+madd.d 564210.6700336 356047.560000 456.248956 456.248956
+madd.d 101.00138 -1.000000 34.000460 3.000000
+madd.d -45763.436 23.040000 45786.476000 -1.000000
+madd.d 2425909199 0.000000 1752065.000000 1384.600000
+madd.d 45655554774.73 45655555555.248955 107.000000 -7.294568
+madd.d -4.566724e+13 3.000000 -45667.240000 1000000000.000000
+madd.d 42208.79658037 -1.000000 -7.294568 -5786.470000
+madd.d -609490330.676 -45786.476000 -347856.475000 1752.000000
+madd.d 4567541.235835 4566666.248956 356047.560000 0.002458
+madd.d 34.00045999 34.000460 -1.000000 0.000000
+madd.d -5681099.5144 45786.476000 23.040000 -248562.760000
+roundig mode: near
+nmadd.s 347856 -347856.468750 0.000000 -45786.476562
+nmadd.s -564211 356047.562500 456.248962 456.248962
+nmadd.s -101.001 -1.000000 3.000000 34.000462
+nmadd.s 45763.4 23.040001 -1.000000 45786.476562
+nmadd.s -2.42591e+09 1752.000000 1384.599976 1752065.000000
+nmadd.s 780.516 0.002457 -7.294568 107.000000
+nmadd.s 4.56672e+13 0.000000 1000000000.000000 -45667.238281
+nmadd.s 206353 -248562.765625 -5786.470215 -7.294568
+nmadd.s 6.09443e+08 1384.599976 1752.000000 -347856.468750
+nmadd.s -867.692 -7.294568 0.002457 356047.562500
+nmadd.s -1e+09 1000000000.000000 0.123400 -1.000000
+nmadd.s 5.73267e+06 -5786.470215 -248562.765625 23.040001
+nmadd.s 347856 -347856.468750 -45786.476562 0.000000
+nmadd.s -564211 356047.562500 456.248962 456.248962
+nmadd.s -101.001 -1.000000 34.000462 3.000000
+nmadd.s 45763.4 23.040001 45786.476562 -1.000000
+nmadd.s -2.42591e+09 0.000000 1752065.000000 1384.599976
+nmadd.s 324.27 456.248962 107.000000 -7.294568
+nmadd.s 4.56672e+13 3.000000 -45667.238281 1000000000.000000
+nmadd.s -42208.8 -1.000000 -7.294568 -5786.470215
+nmadd.s 6.0949e+08 -45786.476562 -347856.468750 1752.000000
+nmadd.s -1331.24 456.248962 356047.562500 0.002457
+nmadd.s -34.0005 34.000462 -1.000000 0.000000
+nmadd.s 5.6811e+06 45786.476562 23.040001 -248562.765625
+roundig mode: zero
+nmadd.s 347856 -347856.468750 0.000000 -45786.476562
+nmadd.s -564211 356047.562500 456.248962 456.248962
+nmadd.s -101.001 -1.000000 3.000000 34.000462
+nmadd.s 45763.4 23.040001 -1.000000 45786.476562
+nmadd.s -2.42591e+09 1752.000000 1384.599976 1752065.000000
+nmadd.s 780.516 0.002457 -7.294568 107.000000
+nmadd.s 4.56672e+13 0.000000 1000000000.000000 -45667.238281
+nmadd.s 206353 -248562.765625 -5786.470215 -7.294568
+nmadd.s 6.09443e+08 1384.599976 1752.000000 -347856.468750
+nmadd.s -867.692 -7.294568 0.002457 356047.562500
+nmadd.s -1e+09 1000000000.000000 0.123400 -1.000000
+nmadd.s 5.73267e+06 -5786.470215 -248562.765625 23.040001
+nmadd.s 347856 -347856.468750 -45786.476562 0.000000
+nmadd.s -564211 356047.562500 456.248962 456.248962
+nmadd.s -101.001 -1.000000 34.000462 3.000000
+nmadd.s 45763.4 23.040001 45786.476562 -1.000000
+nmadd.s -2.42591e+09 0.000000 1752065.000000 1384.599976
+nmadd.s 324.27 456.248962 107.000000 -7.294568
+nmadd.s 4.56672e+13 3.000000 -45667.238281 1000000000.000000
+nmadd.s -42208.8 -1.000000 -7.294568 -5786.470215
+nmadd.s 6.0949e+08 -45786.476562 -347856.468750 1752.000000
+nmadd.s -1331.24 456.248962 356047.562500 0.002457
+nmadd.s -34.0005 34.000462 -1.000000 0.000000
+nmadd.s 5.6811e+06 45786.476562 23.040001 -248562.765625
+roundig mode: +inf
+nmadd.s 347856 -347856.468750 0.000000 -45786.476562
+nmadd.s -564211 356047.562500 456.248962 456.248962
+nmadd.s -101.001 -1.000000 3.000000 34.000462
+nmadd.s 45763.4 23.040001 -1.000000 45786.476562
+nmadd.s -2.42591e+09 1752.000000 1384.599976 1752065.000000
+nmadd.s 780.516 0.002457 -7.294568 107.000000
+nmadd.s 4.56672e+13 0.000000 1000000000.000000 -45667.238281
+nmadd.s 206353 -248562.765625 -5786.470215 -7.294568
+nmadd.s 6.09443e+08 1384.599976 1752.000000 -347856.468750
+nmadd.s -867.692 -7.294568 0.002457 356047.562500
+nmadd.s -1e+09 1000000000.000000 0.123400 -1.000000
+nmadd.s 5.73267e+06 -5786.470215 -248562.765625 23.040001
+nmadd.s 347856 -347856.468750 -45786.476562 0.000000
+nmadd.s -564211 356047.562500 456.248962 456.248962
+nmadd.s -101.001 -1.000000 34.000462 3.000000
+nmadd.s 45763.4 23.040001 45786.476562 -1.000000
+nmadd.s -2.42591e+09 0.000000 1752065.000000 1384.599976
+nmadd.s 324.27 456.248962 107.000000 -7.294568
+nmadd.s 4.56672e+13 3.000000 -45667.238281 1000000000.000000
+nmadd.s -42208.8 -1.000000 -7.294568 -5786.470215
+nmadd.s 6.0949e+08 -45786.476562 -347856.468750 1752.000000
+nmadd.s -1331.24 456.248962 356047.562500 0.002457
+nmadd.s -34.0005 34.000462 -1.000000 0.000000
+nmadd.s 5.6811e+06 45786.476562 23.040001 -248562.765625
+roundig mode: -inf
+nmadd.s 347856 -347856.468750 0.000000 -45786.476562
+nmadd.s -564211 356047.562500 456.248962 456.248962
+nmadd.s -101.001 -1.000000 3.000000 34.000462
+nmadd.s 45763.4 23.040001 -1.000000 45786.476562
+nmadd.s -2.42591e+09 1752.000000 1384.599976 1752065.000000
+nmadd.s 780.516 0.002457 -7.294568 107.000000
+nmadd.s 4.56672e+13 0.000000 1000000000.000000 -45667.238281
+nmadd.s 206353 -248562.765625 -5786.470215 -7.294568
+nmadd.s 6.09443e+08 1384.599976 1752.000000 -347856.468750
+nmadd.s -867.692 -7.294568 0.002457 356047.562500
+nmadd.s -1e+09 1000000000.000000 0.123400 -1.000000
+nmadd.s 5.73267e+06 -5786.470215 -248562.765625 23.040001
+nmadd.s 347856 -347856.468750 -45786.476562 0.000000
+nmadd.s -564211 356047.562500 456.248962 456.248962
+nmadd.s -101.001 -1.000000 34.000462 3.000000
+nmadd.s 45763.4 23.040001 45786.476562 -1.000000
+nmadd.s -2.42591e+09 0.000000 1752065.000000 1384.599976
+nmadd.s 324.27 456.248962 107.000000 -7.294568
+nmadd.s 4.56672e+13 3.000000 -45667.238281 1000000000.000000
+nmadd.s -42208.8 -1.000000 -7.294568 -5786.470215
+nmadd.s 6.0949e+08 -45786.476562 -347856.468750 1752.000000
+nmadd.s -1331.24 456.248962 356047.562500 0.002457
+nmadd.s -34.0005 34.000462 -1.000000 0.000000
+nmadd.s 5.6811e+06 45786.476562 23.040001 -248562.765625
+roundig mode: near
+nmadd.d 34785666666.47 -34785666666.474998 0.000000 -45786.476000
+nmadd.d -564210.6700336 356047.560000 456.248956 456.248956
+nmadd.d -101.00138 -1.000000 3.000000 34.000460
+nmadd.d 45763.436 23.040000 -1.000000 45786.476000
+nmadd.d -2425910951 1752.000000 1384.600000 1752065.000000
+nmadd.d 780.5162757 0.002458 -7.294568 107.000000
+nmadd.d 4.566724e+13 0.000000 1000000000.000000 -45667.240000
+nmadd.d 206352.9634196 -248562.760000 -5786.470000 -7.294568
+nmadd.d 609443159.6 1384.600000 1752.000000 -347856.475000
+nmadd.d -867.6923111 -7.294568 0.002458 356047.560000
+nmadd.d -1000000000 1000000000.000000 0.000000 -1.000000
+nmadd.d 5732672.4604 -5786.470000 -248562.760000 23.040000
+nmadd.d 347856.475 -347856.475000 -45786.476000 0.000000
+nmadd.d -564210.6700336 356047.560000 456.248956 456.248956
+nmadd.d -101.00138 -1.000000 34.000460 3.000000
+nmadd.d 45763.436 23.040000 45786.476000 -1.000000
+nmadd.d -2425909199 0.000000 1752065.000000 1384.600000
+nmadd.d -45655554774.73 45655555555.248955 107.000000 -7.294568
+nmadd.d 4.566724e+13 3.000000 -45667.240000 1000000000.000000
+nmadd.d -42208.79658037 -1.000000 -7.294568 -5786.470000
+nmadd.d 609490330.676 -45786.476000 -347856.475000 1752.000000
+nmadd.d -4567541.235835 4566666.248956 356047.560000 0.002458
+nmadd.d -34.00045999 34.000460 -1.000000 0.000000
+nmadd.d 5681099.5144 45786.476000 23.040000 -248562.760000
+roundig mode: zero
+nmadd.d 34785666666.47 -34785666666.474998 0.000000 -45786.476000
+nmadd.d -564210.6700336 356047.560000 456.248956 456.248956
+nmadd.d -101.00138 -1.000000 3.000000 34.000460
+nmadd.d 45763.436 23.040000 -1.000000 45786.476000
+nmadd.d -2425910951 1752.000000 1384.600000 1752065.000000
+nmadd.d 780.5162757 0.002458 -7.294568 107.000000
+nmadd.d 4.566724e+13 0.000000 1000000000.000000 -45667.240000
+nmadd.d 206352.9634196 -248562.760000 -5786.470000 -7.294568
+nmadd.d 609443159.6 1384.600000 1752.000000 -347856.475000
+nmadd.d -867.6923111 -7.294568 0.002458 356047.560000
+nmadd.d -1000000000 1000000000.000000 0.000000 -1.000000
+nmadd.d 5732672.4604 -5786.470000 -248562.760000 23.040000
+nmadd.d 347856.475 -347856.475000 -45786.476000 0.000000
+nmadd.d -564210.6700336 356047.560000 456.248956 456.248956
+nmadd.d -101.00138 -1.000000 34.000460 3.000000
+nmadd.d 45763.436 23.040000 45786.476000 -1.000000
+nmadd.d -2425909199 0.000000 1752065.000000 1384.600000
+nmadd.d -45655554774.73 45655555555.248955 107.000000 -7.294568
+nmadd.d 4.566724e+13 3.000000 -45667.240000 1000000000.000000
+nmadd.d -42208.79658037 -1.000000 -7.294568 -5786.470000
+nmadd.d 609490330.676 -45786.476000 -347856.475000 1752.000000
+nmadd.d -4567541.235835 4566666.248956 356047.560000 0.002458
+nmadd.d -34.00045999 34.000460 -1.000000 0.000000
+nmadd.d 5681099.5144 45786.476000 23.040000 -248562.760000
+roundig mode: +inf
+nmadd.d 34785666666.47 -34785666666.474998 0.000000 -45786.476000
+nmadd.d -564210.6700336 356047.560000 456.248956 456.248956
+nmadd.d -101.00138 -1.000000 3.000000 34.000460
+nmadd.d 45763.436 23.040000 -1.000000 45786.476000
+nmadd.d -2425910951 1752.000000 1384.600000 1752065.000000
+nmadd.d 780.5162757 0.002458 -7.294568 107.000000
+nmadd.d 4.566724e+13 0.000000 1000000000.000000 -45667.240000
+nmadd.d 206352.9634196 -248562.760000 -5786.470000 -7.294568
+nmadd.d 609443159.6 1384.600000 1752.000000 -347856.475000
+nmadd.d -867.6923111 -7.294568 0.002458 356047.560000
+nmadd.d -1000000000 1000000000.000000 0.000000 -1.000000
+nmadd.d 5732672.4604 -5786.470000 -248562.760000 23.040000
+nmadd.d 347856.475 -347856.475000 -45786.476000 0.000000
+nmadd.d -564210.6700336 356047.560000 456.248956 456.248956
+nmadd.d -101.00138 -1.000000 34.000460 3.000000
+nmadd.d 45763.436 23.040000 45786.476000 -1.000000
+nmadd.d -2425909199 0.000000 1752065.000000 1384.600000
+nmadd.d -45655554774.73 45655555555.248955 107.000000 -7.294568
+nmadd.d 4.566724e+13 3.000000 -45667.240000 1000000000.000000
+nmadd.d -42208.79658037 -1.000000 -7.294568 -5786.470000
+nmadd.d 609490330.676 -45786.476000 -347856.475000 1752.000000
+nmadd.d -4567541.235835 4566666.248956 356047.560000 0.002458
+nmadd.d -34.00045999 34.000460 -1.000000 0.000000
+nmadd.d 5681099.5144 45786.476000 23.040000 -248562.760000
+roundig mode: -inf
+nmadd.d 34785666666.47 -34785666666.474998 0.000000 -45786.476000
+nmadd.d -564210.6700336 356047.560000 456.248956 456.248956
+nmadd.d -101.00138 -1.000000 3.000000 34.000460
+nmadd.d 45763.436 23.040000 -1.000000 45786.476000
+nmadd.d -2425910951 1752.000000 1384.600000 1752065.000000
+nmadd.d 780.5162757 0.002458 -7.294568 107.000000
+nmadd.d 4.566724e+13 0.000000 1000000000.000000 -45667.240000
+nmadd.d 206352.9634196 -248562.760000 -5786.470000 -7.294568
+nmadd.d 609443159.6 1384.600000 1752.000000 -347856.475000
+nmadd.d -867.6923111 -7.294568 0.002458 356047.560000
+nmadd.d -1000000000 1000000000.000000 0.000000 -1.000000
+nmadd.d 5732672.4604 -5786.470000 -248562.760000 23.040000
+nmadd.d 347856.475 -347856.475000 -45786.476000 0.000000
+nmadd.d -564210.6700336 356047.560000 456.248956 456.248956
+nmadd.d -101.00138 -1.000000 34.000460 3.000000
+nmadd.d 45763.436 23.040000 45786.476000 -1.000000
+nmadd.d -2425909199 0.000000 1752065.000000 1384.600000
+nmadd.d -45655554774.73 45655555555.248955 107.000000 -7.294568
+nmadd.d 4.566724e+13 3.000000 -45667.240000 1000000000.000000
+nmadd.d -42208.79658037 -1.000000 -7.294568 -5786.470000
+nmadd.d 609490330.676 -45786.476000 -347856.475000 1752.000000
+nmadd.d -4567541.235835 4566666.248956 356047.560000 0.002458
+nmadd.d -34.00045999 34.000460 -1.000000 0.000000
+nmadd.d 5681099.5144 45786.476000 23.040000 -248562.760000
+roundig mode: near
+nmsub.s -347856 -347856.468750 0.000000 -45786.476562
+nmsub.s 147884 356047.562500 456.248962 456.248962
+nmsub.s -103.001 -1.000000 3.000000 34.000462
+nmsub.s 45809.5 23.040001 -1.000000 45786.476562
+nmsub.s -2.42591e+09 1752.000000 1384.599976 1752065.000000
+nmsub.s 780.521 0.002457 -7.294568 107.000000
+nmsub.s 4.56672e+13 0.000000 1000000000.000000 -45667.238281
+nmsub.s -290773 -248562.765625 -5786.470215 -7.294568
+nmsub.s 6.09446e+08 1384.599976 1752.000000 -347856.468750
+nmsub.s -882.281 -7.294568 0.002457 356047.562500
+nmsub.s 1e+09 1000000000.000000 0.123400 -1.000000
+nmsub.s 5.7211e+06 -5786.470215 -248562.765625 23.040001
+nmsub.s -347856 -347856.468750 -45786.476562 0.000000
+nmsub.s 147884 356047.562500 456.248962 456.248962
+nmsub.s -103.001 -1.000000 34.000462 3.000000
+nmsub.s 45809.5 23.040001 45786.476562 -1.000000
+nmsub.s -2.42591e+09 0.000000 1752065.000000 1384.599976
+nmsub.s 1236.77 456.248962 107.000000 -7.294568
+nmsub.s 4.56672e+13 3.000000 -45667.238281 1000000000.000000
+nmsub.s -42210.8 -1.000000 -7.294568 -5786.470215
+nmsub.s 6.09399e+08 -45786.476562 -347856.468750 1752.000000
+nmsub.s -418.738 456.248962 356047.562500 0.002457
+nmsub.s 34.0005 34.000462 -1.000000 0.000000
+nmsub.s 5.77267e+06 45786.476562 23.040001 -248562.765625
+roundig mode: zero
+nmsub.s -347856 -347856.468750 0.000000 -45786.476562
+nmsub.s 147884 356047.562500 456.248962 456.248962
+nmsub.s -103.001 -1.000000 3.000000 34.000462
+nmsub.s 45809.5 23.040001 -1.000000 45786.476562
+nmsub.s -2.42591e+09 1752.000000 1384.599976 1752065.000000
+nmsub.s 780.521 0.002457 -7.294568 107.000000
+nmsub.s 4.56672e+13 0.000000 1000000000.000000 -45667.238281
+nmsub.s -290773 -248562.765625 -5786.470215 -7.294568
+nmsub.s 6.09446e+08 1384.599976 1752.000000 -347856.468750
+nmsub.s -882.281 -7.294568 0.002457 356047.562500
+nmsub.s 1e+09 1000000000.000000 0.123400 -1.000000
+nmsub.s 5.7211e+06 -5786.470215 -248562.765625 23.040001
+nmsub.s -347856 -347856.468750 -45786.476562 0.000000
+nmsub.s 147884 356047.562500 456.248962 456.248962
+nmsub.s -103.001 -1.000000 34.000462 3.000000
+nmsub.s 45809.5 23.040001 45786.476562 -1.000000
+nmsub.s -2.42591e+09 0.000000 1752065.000000 1384.599976
+nmsub.s 1236.77 456.248962 107.000000 -7.294568
+nmsub.s 4.56672e+13 3.000000 -45667.238281 1000000000.000000
+nmsub.s -42210.8 -1.000000 -7.294568 -5786.470215
+nmsub.s 6.09399e+08 -45786.476562 -347856.468750 1752.000000
+nmsub.s -418.738 456.248962 356047.562500 0.002457
+nmsub.s 34.0005 34.000462 -1.000000 0.000000
+nmsub.s 5.77267e+06 45786.476562 23.040001 -248562.765625
+roundig mode: +inf
+nmsub.s -347856 -347856.468750 0.000000 -45786.476562
+nmsub.s 147884 356047.562500 456.248962 456.248962
+nmsub.s -103.001 -1.000000 3.000000 34.000462
+nmsub.s 45809.5 23.040001 -1.000000 45786.476562
+nmsub.s -2.42591e+09 1752.000000 1384.599976 1752065.000000
+nmsub.s 780.521 0.002457 -7.294568 107.000000
+nmsub.s 4.56672e+13 0.000000 1000000000.000000 -45667.238281
+nmsub.s -290773 -248562.765625 -5786.470215 -7.294568
+nmsub.s 6.09446e+08 1384.599976 1752.000000 -347856.468750
+nmsub.s -882.281 -7.294568 0.002457 356047.562500
+nmsub.s 1e+09 1000000000.000000 0.123400 -1.000000
+nmsub.s 5.7211e+06 -5786.470215 -248562.765625 23.040001
+nmsub.s -347856 -347856.468750 -45786.476562 0.000000
+nmsub.s 147884 356047.562500 456.248962 456.248962
+nmsub.s -103.001 -1.000000 34.000462 3.000000
+nmsub.s 45809.5 23.040001 45786.476562 -1.000000
+nmsub.s -2.42591e+09 0.000000 1752065.000000 1384.599976
+nmsub.s 1236.77 456.248962 107.000000 -7.294568
+nmsub.s 4.56672e+13 3.000000 -45667.238281 1000000000.000000
+nmsub.s -42210.8 -1.000000 -7.294568 -5786.470215
+nmsub.s 6.09399e+08 -45786.476562 -347856.468750 1752.000000
+nmsub.s -418.738 456.248962 356047.562500 0.002457
+nmsub.s 34.0005 34.000462 -1.000000 0.000000
+nmsub.s 5.77267e+06 45786.476562 23.040001 -248562.765625
+roundig mode: -inf
+nmsub.s -347856 -347856.468750 0.000000 -45786.476562
+nmsub.s 147884 356047.562500 456.248962 456.248962
+nmsub.s -103.001 -1.000000 3.000000 34.000462
+nmsub.s 45809.5 23.040001 -1.000000 45786.476562
+nmsub.s -2.42591e+09 1752.000000 1384.599976 1752065.000000
+nmsub.s 780.521 0.002457 -7.294568 107.000000
+nmsub.s 4.56672e+13 0.000000 1000000000.000000 -45667.238281
+nmsub.s -290773 -248562.765625 -5786.470215 -7.294568
+nmsub.s 6.09446e+08 1384.599976 1752.000000 -347856.468750
+nmsub.s -882.281 -7.294568 0.002457 356047.562500
+nmsub.s 1e+09 1000000000.000000 0.123400 -1.000000
+nmsub.s 5.7211e+06 -5786.470215 -248562.765625 23.040001
+nmsub.s -347856 -347856.468750 -45786.476562 0.000000
+nmsub.s 147884 356047.562500 456.248962 456.248962
+nmsub.s -103.001 -1.000000 34.000462 3.000000
+nmsub.s 45809.5 23.040001 45786.476562 -1.000000
+nmsub.s -2.42591e+09 0.000000 1752065.000000 1384.599976
+nmsub.s 1236.77 456.248962 107.000000 -7.294568
+nmsub.s 4.56672e+13 3.000000 -45667.238281 1000000000.000000
+nmsub.s -42210.8 -1.000000 -7.294568 -5786.470215
+nmsub.s 6.09399e+08 -45786.476562 -347856.468750 1752.000000
+nmsub.s -418.738 456.248962 356047.562500 0.002457
+nmsub.s 34.0005 34.000462 -1.000000 0.000000
+nmsub.s 5.77267e+06 45786.476562 23.040001 -248562.765625
+roundig mode: near
+nmsub.d -34785666666.47 -34785666666.474998 0.000000 -45786.476000
+nmsub.d 147884.4499664 356047.560000 456.248956 456.248956
+nmsub.d -103.00138 -1.000000 3.000000 34.000460
+nmsub.d 45809.516 23.040000 -1.000000 45786.476000
+nmsub.d -2425907447 1752.000000 1384.600000 1752065.000000
+nmsub.d 780.5211907 0.002458 -7.294568 107.000000
+nmsub.d 4.566724e+13 0.000000 1000000000.000000 -45667.240000
+nmsub.d -290772.5565804 -248562.760000 -5786.470000 -7.294568
+nmsub.d 609445928.8 1384.600000 1752.000000 -347856.475000
+nmsub.d -882.2814463 -7.294568 0.002458 356047.560000
+nmsub.d 1000000000 1000000000.000000 0.000000 -1.000000
+nmsub.d 5721099.5204 -5786.470000 -248562.760000 23.040000
+nmsub.d -347856.475 -347856.475000 -45786.476000 0.000000
+nmsub.d 147884.4499664 356047.560000 456.248956 456.248956
+nmsub.d -103.00138 -1.000000 34.000460 3.000000
+nmsub.d 45809.516 23.040000 45786.476000 -1.000000
+nmsub.d -2425909199 0.000000 1752065.000000 1384.600000
+nmsub.d 45655556335.77 45655555555.248955 107.000000 -7.294568
+nmsub.d 4.566724e+13 3.000000 -45667.240000 1000000000.000000
+nmsub.d -42210.79658037 -1.000000 -7.294568 -5786.470000
+nmsub.d 609398757.724 -45786.476000 -347856.475000 1752.000000
+nmsub.d 4565791.262078 4566666.248956 356047.560000 0.002458
+nmsub.d 34.00046001 34.000460 -1.000000 0.000000
+nmsub.d 5772672.4664 45786.476000 23.040000 -248562.760000
+roundig mode: zero
+nmsub.d -34785666666.47 -34785666666.474998 0.000000 -45786.476000
+nmsub.d 147884.4499664 356047.560000 456.248956 456.248956
+nmsub.d -103.00138 -1.000000 3.000000 34.000460
+nmsub.d 45809.516 23.040000 -1.000000 45786.476000
+nmsub.d -2425907447 1752.000000 1384.600000 1752065.000000
+nmsub.d 780.5211907 0.002458 -7.294568 107.000000
+nmsub.d 4.566724e+13 0.000000 1000000000.000000 -45667.240000
+nmsub.d -290772.5565804 -248562.760000 -5786.470000 -7.294568
+nmsub.d 609445928.8 1384.600000 1752.000000 -347856.475000
+nmsub.d -882.2814463 -7.294568 0.002458 356047.560000
+nmsub.d 1000000000 1000000000.000000 0.000000 -1.000000
+nmsub.d 5721099.5204 -5786.470000 -248562.760000 23.040000
+nmsub.d -347856.475 -347856.475000 -45786.476000 0.000000
+nmsub.d 147884.4499664 356047.560000 456.248956 456.248956
+nmsub.d -103.00138 -1.000000 34.000460 3.000000
+nmsub.d 45809.516 23.040000 45786.476000 -1.000000
+nmsub.d -2425909199 0.000000 1752065.000000 1384.600000
+nmsub.d 45655556335.77 45655555555.248955 107.000000 -7.294568
+nmsub.d 4.566724e+13 3.000000 -45667.240000 1000000000.000000
+nmsub.d -42210.79658037 -1.000000 -7.294568 -5786.470000
+nmsub.d 609398757.724 -45786.476000 -347856.475000 1752.000000
+nmsub.d 4565791.262077 4566666.248956 356047.560000 0.002458
+nmsub.d 34.00046001 34.000460 -1.000000 0.000000
+nmsub.d 5772672.4664 45786.476000 23.040000 -248562.760000
+roundig mode: +inf
+nmsub.d -34785666666.47 -34785666666.474998 0.000000 -45786.476000
+nmsub.d 147884.4499664 356047.560000 456.248956 456.248956
+nmsub.d -103.00138 -1.000000 3.000000 34.000460
+nmsub.d 45809.516 23.040000 -1.000000 45786.476000
+nmsub.d -2425907447 1752.000000 1384.600000 1752065.000000
+nmsub.d 780.5211907 0.002458 -7.294568 107.000000
+nmsub.d 4.566724e+13 0.000000 1000000000.000000 -45667.240000
+nmsub.d -290772.5565804 -248562.760000 -5786.470000 -7.294568
+nmsub.d 609445928.8 1384.600000 1752.000000 -347856.475000
+nmsub.d -882.2814463 -7.294568 0.002458 356047.560000
+nmsub.d 1000000000 1000000000.000000 0.000000 -1.000000
+nmsub.d 5721099.5204 -5786.470000 -248562.760000 23.040000
+nmsub.d -347856.475 -347856.475000 -45786.476000 0.000000
+nmsub.d 147884.4499664 356047.560000 456.248956 456.248956
+nmsub.d -103.00138 -1.000000 34.000460 3.000000
+nmsub.d 45809.516 23.040000 45786.476000 -1.000000
+nmsub.d -2425909199 0.000000 1752065.000000 1384.600000
+nmsub.d 45655556335.77 45655555555.248955 107.000000 -7.294568
+nmsub.d 4.566724e+13 3.000000 -45667.240000 1000000000.000000
+nmsub.d -42210.79658037 -1.000000 -7.294568 -5786.470000
+nmsub.d 609398757.724 -45786.476000 -347856.475000 1752.000000
+nmsub.d 4565791.262077 4566666.248956 356047.560000 0.002458
+nmsub.d 34.00046001 34.000460 -1.000000 0.000000
+nmsub.d 5772672.4664 45786.476000 23.040000 -248562.760000
+roundig mode: -inf
+nmsub.d -34785666666.47 -34785666666.474998 0.000000 -45786.476000
+nmsub.d 147884.4499664 356047.560000 456.248956 456.248956
+nmsub.d -103.00138 -1.000000 3.000000 34.000460
+nmsub.d 45809.516 23.040000 -1.000000 45786.476000
+nmsub.d -2425907447 1752.000000 1384.600000 1752065.000000
+nmsub.d 780.5211907 0.002458 -7.294568 107.000000
+nmsub.d 4.566724e+13 0.000000 1000000000.000000 -45667.240000
+nmsub.d -290772.5565804 -248562.760000 -5786.470000 -7.294568
+nmsub.d 609445928.8 1384.600000 1752.000000 -347856.475000
+nmsub.d -882.2814463 -7.294568 0.002458 356047.560000
+nmsub.d 1000000000 1000000000.000000 0.000000 -1.000000
+nmsub.d 5721099.5204 -5786.470000 -248562.760000 23.040000
+nmsub.d -347856.475 -347856.475000 -45786.476000 0.000000
+nmsub.d 147884.4499664 356047.560000 456.248956 456.248956
+nmsub.d -103.00138 -1.000000 34.000460 3.000000
+nmsub.d 45809.516 23.040000 45786.476000 -1.000000
+nmsub.d -2425909199 0.000000 1752065.000000 1384.600000
+nmsub.d 45655556335.77 45655555555.248955 107.000000 -7.294568
+nmsub.d 4.566724e+13 3.000000 -45667.240000 1000000000.000000
+nmsub.d -42210.79658037 -1.000000 -7.294568 -5786.470000
+nmsub.d 609398757.724 -45786.476000 -347856.475000 1752.000000
+nmsub.d 4565791.262078 4566666.248956 356047.560000 0.002458
+nmsub.d 34.00046001 34.000460 -1.000000 0.000000
+nmsub.d 5772672.4664 45786.476000 23.040000 -248562.760000
diff --git a/none/tests/mips64/fpu_arithmetic.vgtest b/none/tests/mips64/fpu_arithmetic.vgtest
new file mode 100644
index 0000000..0f15783
--- /dev/null
+++ b/none/tests/mips64/fpu_arithmetic.vgtest
@@ -0,0 +1,2 @@
+prog: fpu_arithmetic
+vgopts: -q
diff --git a/none/tests/mips64/fpu_branches.c b/none/tests/mips64/fpu_branches.c
new file mode 100644
index 0000000..5642735
--- /dev/null
+++ b/none/tests/mips64/fpu_branches.c
@@ -0,0 +1,149 @@
+#include <stdio.h>
+#include "macro_fpu.h"
+
+int main()
+{
+   int i = 0;
+
+   printf("--- BC1F ---  if fs == ft then " \
+          "out = ft else out = fs + ft\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST1s("bc1f", i);
+      TESTINST1d("bc1f", i);
+   }
+
+   printf("--- BC1T ---  if fs != ft then " \
+          "out = fs + ft else out = ft\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST1s("bc1t", i);
+      TESTINST1d("bc1t", i);
+   }
+
+   printf("--- BC1FL ---  if fs == ft then " \
+          "out = ft else out = fs + ft\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST2s("bc1fl", i);
+      TESTINST2d("bc1fl", i);
+   }
+
+   printf("--- BC1TL ---  if fs != ft then " \
+          "out = ft else out = fs + ft\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST2s("bc1tl", i);
+      TESTINST2d("bc1tl", i);
+   }
+
+   printf("--- C.F.S/D ---  if false then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.f.s", i);
+      TESTINST_CONDd("c.f.d", i);
+   }
+
+   printf("--- C.UN.S/D ---  if unordered(fs, ft) then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.un.s", i);
+      TESTINST_CONDd("c.un.d", i);
+   }
+
+   printf("--- C.EQ.S/D ---  if fs == ft then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.eq.s", i);
+      TESTINST_CONDd("c.eq.d", i);
+   }
+
+   printf("--- C.UEQ.S/D ---  if (unordered(fs, ft) or (fs == ft)) then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.ueq.s", i);
+      TESTINST_CONDd("c.ueq.d", i);
+   }
+
+   printf("--- C.OLT.S/D ---  if (ordered(fs, ft) or (fs < ft)) then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.olt.s", i);
+      TESTINST_CONDd("c.olt.d", i);
+   }
+
+   printf("--- C.ULT.S/D ---  if (unordered(fs, ft) or (fs < ft)) then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.ult.s", i);
+      TESTINST_CONDd("c.ult.d", i);
+   }
+
+   printf("--- C.OLE.S/D ---  if (ordered(fs, ft) or (fs <= ft)) then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.ole.s", i);
+      TESTINST_CONDd("c.ole.d", i);
+   }
+
+   printf("--- C.ULE.S/D ---  if (unordered(fs, ft) or (fs <= ft)) then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.ule.s", i);
+      TESTINST_CONDd("c.ule.d", i);
+   }
+
+   printf("--- C.SF.S/D ---  if signaling false then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.sf.s", i);
+      TESTINST_CONDd("c.sf.d", i);
+   }
+
+   printf("--- C.NGLE.S/D --- if not ((fs > ft) or (fs <= ft)) then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.ngle.s", i);
+      TESTINST_CONDd("c.ngle.d", i);
+   }
+
+   printf("--- C.SEQ.S/D ---  if signaling equal then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.seq.s", i);
+      TESTINST_CONDd("c.seq.d", i);
+   }
+
+   printf("--- C.NGL.S/D ---  if not ((fs > ft) or (fs < ft)) then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.ngl.s", i);
+      TESTINST_CONDd("c.ngl.d", i);
+   }
+
+   printf("--- C.LT.S/D ---  if fs < ft then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.lt.s", i);
+      TESTINST_CONDd("c.lt.d", i);
+   }
+
+   printf("--- C.NGE.S/D ---  if not (fs >= ft) then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.nge.s", i);
+      TESTINST_CONDd("c.nge.d", i);
+   }
+
+   printf("--- C.LE.S/D ---  if fs <= ft then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.le.s", i);
+      TESTINST_CONDd("c.le.d", i);
+   }
+
+   printf("--- C.NGT.S/D ---  if not (fs > ft) then " \
+          "out = fs + ft else out = fs\n");
+   for (i = 0; i < MAX_ARR; i++) {
+      TESTINST_CONDs("c.ngt.s", i);
+      TESTINST_CONDd("c.ngt.d", i);
+   }
+   return 0;
+}
+
diff --git a/none/tests/mips64/fpu_branches.stderr.exp b/none/tests/mips64/fpu_branches.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/fpu_branches.stderr.exp
diff --git a/none/tests/mips64/fpu_branches.stdout.exp b/none/tests/mips64/fpu_branches.stdout.exp
new file mode 100644
index 0000000..e0df9b1
--- /dev/null
+++ b/none/tests/mips64/fpu_branches.stdout.exp
@@ -0,0 +1,980 @@
+--- BC1F ---  if fs == ft then out = ft else out = fs + ft
+bc1f, c.eq.s   out=-45786.476562, fs=0.000000, ft=-45786.476562
+bc1f, c.eq.d   out=-45786.476000, fs=0.000000, ft=-45786.476000
+bc1f, c.eq.s   out=912.497925, fs=456.248962, ft=456.248962
+bc1f, c.eq.d   out=912.497912, fs=456.248956, ft=456.248956
+bc1f, c.eq.s   out=34.000462, fs=3.000000, ft=34.000462
+bc1f, c.eq.d   out=34.000460, fs=3.000000, ft=34.000460
+bc1f, c.eq.s   out=45786.476562, fs=-1.000000, ft=45786.476562
+bc1f, c.eq.d   out=45786.476000, fs=-1.000000, ft=45786.476000
+bc1f, c.eq.s   out=1752065.000000, fs=1384.599976, ft=1752065.000000
+bc1f, c.eq.d   out=1752065.000000, fs=1384.600000, ft=1752065.000000
+bc1f, c.eq.s   out=107.000000, fs=-7.294568, ft=107.000000
+bc1f, c.eq.d   out=107.000000, fs=-7.294568, ft=107.000000
+bc1f, c.eq.s   out=-45667.238281, fs=1000000000.000000, ft=-45667.238281
+bc1f, c.eq.d   out=-45667.240000, fs=1000000000.000000, ft=-45667.240000
+bc1f, c.eq.s   out=-7.294568, fs=-5786.470215, ft=-7.294568
+bc1f, c.eq.d   out=-7.294568, fs=-5786.470000, ft=-7.294568
+bc1f, c.eq.s   out=-347856.468750, fs=1752.000000, ft=-347856.468750
+bc1f, c.eq.d   out=-347856.475000, fs=1752.000000, ft=-347856.475000
+bc1f, c.eq.s   out=356047.562500, fs=0.002457, ft=356047.562500
+bc1f, c.eq.d   out=356047.560000, fs=0.002458, ft=356047.560000
+bc1f, c.eq.s   out=-1.000000, fs=0.123400, ft=-1.000000
+bc1f, c.eq.d   out=-1.000000, fs=0.000000, ft=-1.000000
+bc1f, c.eq.s   out=23.040001, fs=-248562.765625, ft=23.040001
+bc1f, c.eq.d   out=23.040000, fs=-248562.760000, ft=23.040000
+bc1f, c.eq.s   out=0.000000, fs=-45786.476562, ft=0.000000
+bc1f, c.eq.d   out=0.000000, fs=-45786.476000, ft=0.000000
+bc1f, c.eq.s   out=912.497925, fs=456.248962, ft=456.248962
+bc1f, c.eq.d   out=912.497912, fs=456.248956, ft=456.248956
+bc1f, c.eq.s   out=3.000000, fs=34.000462, ft=3.000000
+bc1f, c.eq.d   out=3.000000, fs=34.000460, ft=3.000000
+bc1f, c.eq.s   out=-1.000000, fs=45786.476562, ft=-1.000000
+bc1f, c.eq.d   out=-1.000000, fs=45786.476000, ft=-1.000000
+bc1f, c.eq.s   out=1384.599976, fs=1752065.000000, ft=1384.599976
+bc1f, c.eq.d   out=1384.600000, fs=1752065.000000, ft=1384.600000
+bc1f, c.eq.s   out=-7.294568, fs=107.000000, ft=-7.294568
+bc1f, c.eq.d   out=-7.294568, fs=107.000000, ft=-7.294568
+bc1f, c.eq.s   out=1000000000.000000, fs=-45667.238281, ft=1000000000.000000
+bc1f, c.eq.d   out=1000000000.000000, fs=-45667.240000, ft=1000000000.000000
+bc1f, c.eq.s   out=-5786.470215, fs=-7.294568, ft=-5786.470215
+bc1f, c.eq.d   out=-5786.470000, fs=-7.294568, ft=-5786.470000
+bc1f, c.eq.s   out=1752.000000, fs=-347856.468750, ft=1752.000000
+bc1f, c.eq.d   out=1752.000000, fs=-347856.475000, ft=1752.000000
+bc1f, c.eq.s   out=0.002457, fs=356047.562500, ft=0.002457
+bc1f, c.eq.d   out=0.002458, fs=356047.560000, ft=0.002458
+bc1f, c.eq.s   out=0.000000, fs=-1.000000, ft=0.000000
+bc1f, c.eq.d   out=0.000000, fs=-1.000000, ft=0.000000
+bc1f, c.eq.s   out=-248562.765625, fs=23.040001, ft=-248562.765625
+bc1f, c.eq.d   out=-248562.760000, fs=23.040000, ft=-248562.760000
+--- BC1T ---  if fs != ft then out = fs + ft else out = ft
+bc1t, c.eq.s   out=-45786.476562, fs=0.000000, ft=-45786.476562
+bc1t, c.eq.d   out=-45786.476000, fs=0.000000, ft=-45786.476000
+bc1t, c.eq.s   out=456.248962, fs=456.248962, ft=456.248962
+bc1t, c.eq.d   out=456.248956, fs=456.248956, ft=456.248956
+bc1t, c.eq.s   out=37.000462, fs=3.000000, ft=34.000462
+bc1t, c.eq.d   out=37.000460, fs=3.000000, ft=34.000460
+bc1t, c.eq.s   out=45785.476562, fs=-1.000000, ft=45786.476562
+bc1t, c.eq.d   out=45785.476000, fs=-1.000000, ft=45786.476000
+bc1t, c.eq.s   out=1753449.625000, fs=1384.599976, ft=1752065.000000
+bc1t, c.eq.d   out=1753449.600000, fs=1384.600000, ft=1752065.000000
+bc1t, c.eq.s   out=99.705429, fs=-7.294568, ft=107.000000
+bc1t, c.eq.d   out=99.705432, fs=-7.294568, ft=107.000000
+bc1t, c.eq.s   out=999954304.000000, fs=1000000000.000000, ft=-45667.238281
+bc1t, c.eq.d   out=999954332.760000, fs=1000000000.000000, ft=-45667.240000
+bc1t, c.eq.s   out=-5793.764648, fs=-5786.470215, ft=-7.294568
+bc1t, c.eq.d   out=-5793.764568, fs=-5786.470000, ft=-7.294568
+bc1t, c.eq.s   out=-346104.468750, fs=1752.000000, ft=-347856.468750
+bc1t, c.eq.d   out=-346104.475000, fs=1752.000000, ft=-347856.475000
+bc1t, c.eq.s   out=356047.562500, fs=0.002457, ft=356047.562500
+bc1t, c.eq.d   out=356047.562458, fs=0.002458, ft=356047.560000
+bc1t, c.eq.s   out=-0.876600, fs=0.123400, ft=-1.000000
+bc1t, c.eq.d   out=-1.000000, fs=0.000000, ft=-1.000000
+bc1t, c.eq.s   out=-248539.718750, fs=-248562.765625, ft=23.040001
+bc1t, c.eq.d   out=-248539.720000, fs=-248562.760000, ft=23.040000
+bc1t, c.eq.s   out=-45786.476562, fs=-45786.476562, ft=0.000000
+bc1t, c.eq.d   out=-45786.476000, fs=-45786.476000, ft=0.000000
+bc1t, c.eq.s   out=456.248962, fs=456.248962, ft=456.248962
+bc1t, c.eq.d   out=456.248956, fs=456.248956, ft=456.248956
+bc1t, c.eq.s   out=37.000462, fs=34.000462, ft=3.000000
+bc1t, c.eq.d   out=37.000460, fs=34.000460, ft=3.000000
+bc1t, c.eq.s   out=45785.476562, fs=45786.476562, ft=-1.000000
+bc1t, c.eq.d   out=45785.476000, fs=45786.476000, ft=-1.000000
+bc1t, c.eq.s   out=1753449.625000, fs=1752065.000000, ft=1384.599976
+bc1t, c.eq.d   out=1753449.600000, fs=1752065.000000, ft=1384.600000
+bc1t, c.eq.s   out=99.705429, fs=107.000000, ft=-7.294568
+bc1t, c.eq.d   out=99.705432, fs=107.000000, ft=-7.294568
+bc1t, c.eq.s   out=999954304.000000, fs=-45667.238281, ft=1000000000.000000
+bc1t, c.eq.d   out=999954332.760000, fs=-45667.240000, ft=1000000000.000000
+bc1t, c.eq.s   out=-5793.764648, fs=-7.294568, ft=-5786.470215
+bc1t, c.eq.d   out=-5793.764568, fs=-7.294568, ft=-5786.470000
+bc1t, c.eq.s   out=-346104.468750, fs=-347856.468750, ft=1752.000000
+bc1t, c.eq.d   out=-346104.475000, fs=-347856.475000, ft=1752.000000
+bc1t, c.eq.s   out=356047.562500, fs=356047.562500, ft=0.002457
+bc1t, c.eq.d   out=356047.562458, fs=356047.560000, ft=0.002458
+bc1t, c.eq.s   out=-1.000000, fs=-1.000000, ft=0.000000
+bc1t, c.eq.d   out=-1.000000, fs=-1.000000, ft=0.000000
+bc1t, c.eq.s   out=-248539.718750, fs=23.040001, ft=-248562.765625
+bc1t, c.eq.d   out=-248539.720000, fs=23.040000, ft=-248562.760000
+--- BC1FL ---  if fs == ft then out = ft else out = fs + ft
+bc1fl, c.eq.s   out=-45786.476562, fs=0.000000, ft=-45786.476562
+bc1fl, c.eq.d   out=-45786.476000, fs=0.000000, ft=-45786.476000
+bc1fl, c.eq.s   out=456.248962, fs=456.248962, ft=456.248962
+bc1fl, c.eq.d   out=456.248956, fs=456.248956, ft=456.248956
+bc1fl, c.eq.s   out=37.000462, fs=3.000000, ft=34.000462
+bc1fl, c.eq.d   out=37.000460, fs=3.000000, ft=34.000460
+bc1fl, c.eq.s   out=45785.476562, fs=-1.000000, ft=45786.476562
+bc1fl, c.eq.d   out=45785.476000, fs=-1.000000, ft=45786.476000
+bc1fl, c.eq.s   out=1753449.625000, fs=1384.599976, ft=1752065.000000
+bc1fl, c.eq.d   out=1753449.600000, fs=1384.600000, ft=1752065.000000
+bc1fl, c.eq.s   out=99.705429, fs=-7.294568, ft=107.000000
+bc1fl, c.eq.d   out=99.705432, fs=-7.294568, ft=107.000000
+bc1fl, c.eq.s   out=999954304.000000, fs=1000000000.000000, ft=-45667.238281
+bc1fl, c.eq.d   out=999954332.760000, fs=1000000000.000000, ft=-45667.240000
+bc1fl, c.eq.s   out=-5793.764648, fs=-5786.470215, ft=-7.294568
+bc1fl, c.eq.d   out=-5793.764568, fs=-5786.470000, ft=-7.294568
+bc1fl, c.eq.s   out=-346104.468750, fs=1752.000000, ft=-347856.468750
+bc1fl, c.eq.d   out=-346104.475000, fs=1752.000000, ft=-347856.475000
+bc1fl, c.eq.s   out=356047.562500, fs=0.002457, ft=356047.562500
+bc1fl, c.eq.d   out=356047.562458, fs=0.002458, ft=356047.560000
+bc1fl, c.eq.s   out=-0.876600, fs=0.123400, ft=-1.000000
+bc1fl, c.eq.d   out=-1.000000, fs=0.000000, ft=-1.000000
+bc1fl, c.eq.s   out=-248539.718750, fs=-248562.765625, ft=23.040001
+bc1fl, c.eq.d   out=-248539.720000, fs=-248562.760000, ft=23.040000
+bc1fl, c.eq.s   out=-45786.476562, fs=-45786.476562, ft=0.000000
+bc1fl, c.eq.d   out=-45786.476000, fs=-45786.476000, ft=0.000000
+bc1fl, c.eq.s   out=456.248962, fs=456.248962, ft=456.248962
+bc1fl, c.eq.d   out=456.248956, fs=456.248956, ft=456.248956
+bc1fl, c.eq.s   out=37.000462, fs=34.000462, ft=3.000000
+bc1fl, c.eq.d   out=37.000460, fs=34.000460, ft=3.000000
+bc1fl, c.eq.s   out=45785.476562, fs=45786.476562, ft=-1.000000
+bc1fl, c.eq.d   out=45785.476000, fs=45786.476000, ft=-1.000000
+bc1fl, c.eq.s   out=1753449.625000, fs=1752065.000000, ft=1384.599976
+bc1fl, c.eq.d   out=1753449.600000, fs=1752065.000000, ft=1384.600000
+bc1fl, c.eq.s   out=99.705429, fs=107.000000, ft=-7.294568
+bc1fl, c.eq.d   out=99.705432, fs=107.000000, ft=-7.294568
+bc1fl, c.eq.s   out=999954304.000000, fs=-45667.238281, ft=1000000000.000000
+bc1fl, c.eq.d   out=999954332.760000, fs=-45667.240000, ft=1000000000.000000
+bc1fl, c.eq.s   out=-5793.764648, fs=-7.294568, ft=-5786.470215
+bc1fl, c.eq.d   out=-5793.764568, fs=-7.294568, ft=-5786.470000
+bc1fl, c.eq.s   out=-346104.468750, fs=-347856.468750, ft=1752.000000
+bc1fl, c.eq.d   out=-346104.475000, fs=-347856.475000, ft=1752.000000
+bc1fl, c.eq.s   out=356047.562500, fs=356047.562500, ft=0.002457
+bc1fl, c.eq.d   out=356047.562458, fs=356047.560000, ft=0.002458
+bc1fl, c.eq.s   out=-1.000000, fs=-1.000000, ft=0.000000
+bc1fl, c.eq.d   out=-1.000000, fs=-1.000000, ft=0.000000
+bc1fl, c.eq.s   out=-248539.718750, fs=23.040001, ft=-248562.765625
+bc1fl, c.eq.d   out=-248539.720000, fs=23.040000, ft=-248562.760000
+--- BC1TL ---  if fs != ft then out = ft else out = fs + ft
+bc1tl, c.eq.s   out=-45786.476562, fs=0.000000, ft=-45786.476562
+bc1tl, c.eq.d   out=-45786.476000, fs=0.000000, ft=-45786.476000
+bc1tl, c.eq.s   out=912.497925, fs=456.248962, ft=456.248962
+bc1tl, c.eq.d   out=912.497912, fs=456.248956, ft=456.248956
+bc1tl, c.eq.s   out=34.000462, fs=3.000000, ft=34.000462
+bc1tl, c.eq.d   out=34.000460, fs=3.000000, ft=34.000460
+bc1tl, c.eq.s   out=45786.476562, fs=-1.000000, ft=45786.476562
+bc1tl, c.eq.d   out=45786.476000, fs=-1.000000, ft=45786.476000
+bc1tl, c.eq.s   out=1752065.000000, fs=1384.599976, ft=1752065.000000
+bc1tl, c.eq.d   out=1752065.000000, fs=1384.600000, ft=1752065.000000
+bc1tl, c.eq.s   out=107.000000, fs=-7.294568, ft=107.000000
+bc1tl, c.eq.d   out=107.000000, fs=-7.294568, ft=107.000000
+bc1tl, c.eq.s   out=-45667.238281, fs=1000000000.000000, ft=-45667.238281
+bc1tl, c.eq.d   out=-45667.240000, fs=1000000000.000000, ft=-45667.240000
+bc1tl, c.eq.s   out=-7.294568, fs=-5786.470215, ft=-7.294568
+bc1tl, c.eq.d   out=-7.294568, fs=-5786.470000, ft=-7.294568
+bc1tl, c.eq.s   out=-347856.468750, fs=1752.000000, ft=-347856.468750
+bc1tl, c.eq.d   out=-347856.475000, fs=1752.000000, ft=-347856.475000
+bc1tl, c.eq.s   out=356047.562500, fs=0.002457, ft=356047.562500
+bc1tl, c.eq.d   out=356047.560000, fs=0.002458, ft=356047.560000
+bc1tl, c.eq.s   out=-1.000000, fs=0.123400, ft=-1.000000
+bc1tl, c.eq.d   out=-1.000000, fs=0.000000, ft=-1.000000
+bc1tl, c.eq.s   out=23.040001, fs=-248562.765625, ft=23.040001
+bc1tl, c.eq.d   out=23.040000, fs=-248562.760000, ft=23.040000
+bc1tl, c.eq.s   out=0.000000, fs=-45786.476562, ft=0.000000
+bc1tl, c.eq.d   out=0.000000, fs=-45786.476000, ft=0.000000
+bc1tl, c.eq.s   out=912.497925, fs=456.248962, ft=456.248962
+bc1tl, c.eq.d   out=912.497912, fs=456.248956, ft=456.248956
+bc1tl, c.eq.s   out=3.000000, fs=34.000462, ft=3.000000
+bc1tl, c.eq.d   out=3.000000, fs=34.000460, ft=3.000000
+bc1tl, c.eq.s   out=-1.000000, fs=45786.476562, ft=-1.000000
+bc1tl, c.eq.d   out=-1.000000, fs=45786.476000, ft=-1.000000
+bc1tl, c.eq.s   out=1384.599976, fs=1752065.000000, ft=1384.599976
+bc1tl, c.eq.d   out=1384.600000, fs=1752065.000000, ft=1384.600000
+bc1tl, c.eq.s   out=-7.294568, fs=107.000000, ft=-7.294568
+bc1tl, c.eq.d   out=-7.294568, fs=107.000000, ft=-7.294568
+bc1tl, c.eq.s   out=1000000000.000000, fs=-45667.238281, ft=1000000000.000000
+bc1tl, c.eq.d   out=1000000000.000000, fs=-45667.240000, ft=1000000000.000000
+bc1tl, c.eq.s   out=-5786.470215, fs=-7.294568, ft=-5786.470215
+bc1tl, c.eq.d   out=-5786.470000, fs=-7.294568, ft=-5786.470000
+bc1tl, c.eq.s   out=1752.000000, fs=-347856.468750, ft=1752.000000
+bc1tl, c.eq.d   out=1752.000000, fs=-347856.475000, ft=1752.000000
+bc1tl, c.eq.s   out=0.002457, fs=356047.562500, ft=0.002457
+bc1tl, c.eq.d   out=0.002458, fs=356047.560000, ft=0.002458
+bc1tl, c.eq.s   out=0.000000, fs=-1.000000, ft=0.000000
+bc1tl, c.eq.d   out=0.000000, fs=-1.000000, ft=0.000000
+bc1tl, c.eq.s   out=-248562.765625, fs=23.040001, ft=-248562.765625
+bc1tl, c.eq.d   out=-248562.760000, fs=23.040000, ft=-248562.760000
+--- C.F.S/D ---  if false then out = fs + ft else out = fs
+c.f.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.f.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.f.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.f.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.f.s, bc1f   out=3.000000, fs=3.000000, ft=34.000462
+c.f.d, bc1f   out=3.000000, fs=3.000000, ft=34.000460
+c.f.s, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476562
+c.f.d, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476000
+c.f.s, bc1f   out=1384.599976, fs=1384.599976, ft=1752065.000000
+c.f.d, bc1f   out=1384.600000, fs=1384.600000, ft=1752065.000000
+c.f.s, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.f.d, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.f.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.f.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.f.s, bc1f   out=-5786.470215, fs=-5786.470215, ft=-7.294568
+c.f.d, bc1f   out=-5786.470000, fs=-5786.470000, ft=-7.294568
+c.f.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.f.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.f.s, bc1f   out=0.002457, fs=0.002457, ft=356047.562500
+c.f.d, bc1f   out=0.002458, fs=0.002458, ft=356047.560000
+c.f.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.f.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.f.s, bc1f   out=-248562.765625, fs=-248562.765625, ft=23.040001
+c.f.d, bc1f   out=-248562.760000, fs=-248562.760000, ft=23.040000
+c.f.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.f.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.f.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.f.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.f.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.f.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.f.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.f.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.f.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.f.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.f.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.f.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.f.s, bc1f   out=-45667.238281, fs=-45667.238281, ft=1000000000.000000
+c.f.d, bc1f   out=-45667.240000, fs=-45667.240000, ft=1000000000.000000
+c.f.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.f.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.f.s, bc1f   out=-347856.468750, fs=-347856.468750, ft=1752.000000
+c.f.d, bc1f   out=-347856.475000, fs=-347856.475000, ft=1752.000000
+c.f.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.f.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.f.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.f.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.f.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.f.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.UN.S/D ---  if unordered(fs, ft) then out = fs + ft else out = fs
+c.un.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.un.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.un.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.un.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.un.s, bc1f   out=3.000000, fs=3.000000, ft=34.000462
+c.un.d, bc1f   out=3.000000, fs=3.000000, ft=34.000460
+c.un.s, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476562
+c.un.d, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476000
+c.un.s, bc1f   out=1384.599976, fs=1384.599976, ft=1752065.000000
+c.un.d, bc1f   out=1384.600000, fs=1384.600000, ft=1752065.000000
+c.un.s, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.un.d, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.un.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.un.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.un.s, bc1f   out=-5786.470215, fs=-5786.470215, ft=-7.294568
+c.un.d, bc1f   out=-5786.470000, fs=-5786.470000, ft=-7.294568
+c.un.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.un.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.un.s, bc1f   out=0.002457, fs=0.002457, ft=356047.562500
+c.un.d, bc1f   out=0.002458, fs=0.002458, ft=356047.560000
+c.un.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.un.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.un.s, bc1f   out=-248562.765625, fs=-248562.765625, ft=23.040001
+c.un.d, bc1f   out=-248562.760000, fs=-248562.760000, ft=23.040000
+c.un.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.un.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.un.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.un.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.un.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.un.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.un.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.un.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.un.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.un.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.un.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.un.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.un.s, bc1f   out=-45667.238281, fs=-45667.238281, ft=1000000000.000000
+c.un.d, bc1f   out=-45667.240000, fs=-45667.240000, ft=1000000000.000000
+c.un.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.un.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.un.s, bc1f   out=-347856.468750, fs=-347856.468750, ft=1752.000000
+c.un.d, bc1f   out=-347856.475000, fs=-347856.475000, ft=1752.000000
+c.un.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.un.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.un.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.un.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.un.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.un.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.EQ.S/D ---  if fs == ft then out = fs + ft else out = fs
+c.eq.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.eq.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.eq.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.eq.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.eq.s, bc1f   out=3.000000, fs=3.000000, ft=34.000462
+c.eq.d, bc1f   out=3.000000, fs=3.000000, ft=34.000460
+c.eq.s, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476562
+c.eq.d, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476000
+c.eq.s, bc1f   out=1384.599976, fs=1384.599976, ft=1752065.000000
+c.eq.d, bc1f   out=1384.600000, fs=1384.600000, ft=1752065.000000
+c.eq.s, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.eq.d, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.eq.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.eq.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.eq.s, bc1f   out=-5786.470215, fs=-5786.470215, ft=-7.294568
+c.eq.d, bc1f   out=-5786.470000, fs=-5786.470000, ft=-7.294568
+c.eq.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.eq.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.eq.s, bc1f   out=0.002457, fs=0.002457, ft=356047.562500
+c.eq.d, bc1f   out=0.002458, fs=0.002458, ft=356047.560000
+c.eq.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.eq.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.eq.s, bc1f   out=-248562.765625, fs=-248562.765625, ft=23.040001
+c.eq.d, bc1f   out=-248562.760000, fs=-248562.760000, ft=23.040000
+c.eq.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.eq.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.eq.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.eq.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.eq.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.eq.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.eq.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.eq.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.eq.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.eq.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.eq.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.eq.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.eq.s, bc1f   out=-45667.238281, fs=-45667.238281, ft=1000000000.000000
+c.eq.d, bc1f   out=-45667.240000, fs=-45667.240000, ft=1000000000.000000
+c.eq.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.eq.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.eq.s, bc1f   out=-347856.468750, fs=-347856.468750, ft=1752.000000
+c.eq.d, bc1f   out=-347856.475000, fs=-347856.475000, ft=1752.000000
+c.eq.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.eq.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.eq.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.eq.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.eq.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.eq.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.UEQ.S/D ---  if (unordered(fs, ft) or (fs == ft)) then out = fs + ft else out = fs
+c.ueq.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.ueq.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.ueq.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.ueq.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.ueq.s, bc1f   out=3.000000, fs=3.000000, ft=34.000462
+c.ueq.d, bc1f   out=3.000000, fs=3.000000, ft=34.000460
+c.ueq.s, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476562
+c.ueq.d, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476000
+c.ueq.s, bc1f   out=1384.599976, fs=1384.599976, ft=1752065.000000
+c.ueq.d, bc1f   out=1384.600000, fs=1384.600000, ft=1752065.000000
+c.ueq.s, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.ueq.d, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.ueq.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.ueq.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.ueq.s, bc1f   out=-5786.470215, fs=-5786.470215, ft=-7.294568
+c.ueq.d, bc1f   out=-5786.470000, fs=-5786.470000, ft=-7.294568
+c.ueq.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.ueq.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.ueq.s, bc1f   out=0.002457, fs=0.002457, ft=356047.562500
+c.ueq.d, bc1f   out=0.002458, fs=0.002458, ft=356047.560000
+c.ueq.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.ueq.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.ueq.s, bc1f   out=-248562.765625, fs=-248562.765625, ft=23.040001
+c.ueq.d, bc1f   out=-248562.760000, fs=-248562.760000, ft=23.040000
+c.ueq.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.ueq.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.ueq.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.ueq.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.ueq.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.ueq.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.ueq.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.ueq.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.ueq.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.ueq.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.ueq.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ueq.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ueq.s, bc1f   out=-45667.238281, fs=-45667.238281, ft=1000000000.000000
+c.ueq.d, bc1f   out=-45667.240000, fs=-45667.240000, ft=1000000000.000000
+c.ueq.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.ueq.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.ueq.s, bc1f   out=-347856.468750, fs=-347856.468750, ft=1752.000000
+c.ueq.d, bc1f   out=-347856.475000, fs=-347856.475000, ft=1752.000000
+c.ueq.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.ueq.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.ueq.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ueq.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ueq.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.ueq.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.OLT.S/D ---  if (ordered(fs, ft) or (fs < ft)) then out = fs + ft else out = fs
+c.olt.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.olt.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.olt.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.olt.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.olt.s, bc1f   out=37.000462, fs=3.000000, ft=34.000462
+c.olt.d, bc1f   out=37.000460, fs=3.000000, ft=34.000460
+c.olt.s, bc1f   out=45785.476562, fs=-1.000000, ft=45786.476562
+c.olt.d, bc1f   out=45785.476000, fs=-1.000000, ft=45786.476000
+c.olt.s, bc1f   out=1753449.625000, fs=1384.599976, ft=1752065.000000
+c.olt.d, bc1f   out=1753449.600000, fs=1384.600000, ft=1752065.000000
+c.olt.s, bc1f   out=99.705429, fs=-7.294568, ft=107.000000
+c.olt.d, bc1f   out=99.705432, fs=-7.294568, ft=107.000000
+c.olt.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.olt.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.olt.s, bc1f   out=-5793.764648, fs=-5786.470215, ft=-7.294568
+c.olt.d, bc1f   out=-5793.764568, fs=-5786.470000, ft=-7.294568
+c.olt.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.olt.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.olt.s, bc1f   out=356047.562500, fs=0.002457, ft=356047.562500
+c.olt.d, bc1f   out=356047.562458, fs=0.002458, ft=356047.560000
+c.olt.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.olt.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.olt.s, bc1f   out=-248539.718750, fs=-248562.765625, ft=23.040001
+c.olt.d, bc1f   out=-248539.720000, fs=-248562.760000, ft=23.040000
+c.olt.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.olt.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.olt.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.olt.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.olt.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.olt.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.olt.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.olt.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.olt.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.olt.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.olt.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.olt.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.olt.s, bc1f   out=999954304.000000, fs=-45667.238281, ft=1000000000.000000
+c.olt.d, bc1f   out=999954332.760000, fs=-45667.240000, ft=1000000000.000000
+c.olt.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.olt.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.olt.s, bc1f   out=-346104.468750, fs=-347856.468750, ft=1752.000000
+c.olt.d, bc1f   out=-346104.475000, fs=-347856.475000, ft=1752.000000
+c.olt.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.olt.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.olt.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.olt.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.olt.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.olt.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.ULT.S/D ---  if (unordered(fs, ft) or (fs < ft)) then out = fs + ft else out = fs
+c.ult.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.ult.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.ult.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.ult.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.ult.s, bc1f   out=37.000462, fs=3.000000, ft=34.000462
+c.ult.d, bc1f   out=37.000460, fs=3.000000, ft=34.000460
+c.ult.s, bc1f   out=45785.476562, fs=-1.000000, ft=45786.476562
+c.ult.d, bc1f   out=45785.476000, fs=-1.000000, ft=45786.476000
+c.ult.s, bc1f   out=1753449.625000, fs=1384.599976, ft=1752065.000000
+c.ult.d, bc1f   out=1753449.600000, fs=1384.600000, ft=1752065.000000
+c.ult.s, bc1f   out=99.705429, fs=-7.294568, ft=107.000000
+c.ult.d, bc1f   out=99.705432, fs=-7.294568, ft=107.000000
+c.ult.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.ult.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.ult.s, bc1f   out=-5793.764648, fs=-5786.470215, ft=-7.294568
+c.ult.d, bc1f   out=-5793.764568, fs=-5786.470000, ft=-7.294568
+c.ult.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.ult.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.ult.s, bc1f   out=356047.562500, fs=0.002457, ft=356047.562500
+c.ult.d, bc1f   out=356047.562458, fs=0.002458, ft=356047.560000
+c.ult.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.ult.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.ult.s, bc1f   out=-248539.718750, fs=-248562.765625, ft=23.040001
+c.ult.d, bc1f   out=-248539.720000, fs=-248562.760000, ft=23.040000
+c.ult.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.ult.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.ult.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.ult.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.ult.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.ult.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.ult.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.ult.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.ult.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.ult.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.ult.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ult.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ult.s, bc1f   out=999954304.000000, fs=-45667.238281, ft=1000000000.000000
+c.ult.d, bc1f   out=999954332.760000, fs=-45667.240000, ft=1000000000.000000
+c.ult.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.ult.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.ult.s, bc1f   out=-346104.468750, fs=-347856.468750, ft=1752.000000
+c.ult.d, bc1f   out=-346104.475000, fs=-347856.475000, ft=1752.000000
+c.ult.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.ult.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.ult.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ult.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ult.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.ult.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.OLE.S/D ---  if (ordered(fs, ft) or (fs <= ft)) then out = fs + ft else out = fs
+c.ole.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.ole.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.ole.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.ole.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.ole.s, bc1f   out=37.000462, fs=3.000000, ft=34.000462
+c.ole.d, bc1f   out=37.000460, fs=3.000000, ft=34.000460
+c.ole.s, bc1f   out=45785.476562, fs=-1.000000, ft=45786.476562
+c.ole.d, bc1f   out=45785.476000, fs=-1.000000, ft=45786.476000
+c.ole.s, bc1f   out=1753449.625000, fs=1384.599976, ft=1752065.000000
+c.ole.d, bc1f   out=1753449.600000, fs=1384.600000, ft=1752065.000000
+c.ole.s, bc1f   out=99.705429, fs=-7.294568, ft=107.000000
+c.ole.d, bc1f   out=99.705432, fs=-7.294568, ft=107.000000
+c.ole.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.ole.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.ole.s, bc1f   out=-5793.764648, fs=-5786.470215, ft=-7.294568
+c.ole.d, bc1f   out=-5793.764568, fs=-5786.470000, ft=-7.294568
+c.ole.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.ole.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.ole.s, bc1f   out=356047.562500, fs=0.002457, ft=356047.562500
+c.ole.d, bc1f   out=356047.562458, fs=0.002458, ft=356047.560000
+c.ole.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.ole.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.ole.s, bc1f   out=-248539.718750, fs=-248562.765625, ft=23.040001
+c.ole.d, bc1f   out=-248539.720000, fs=-248562.760000, ft=23.040000
+c.ole.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.ole.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.ole.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.ole.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.ole.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.ole.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.ole.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.ole.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.ole.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.ole.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.ole.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ole.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ole.s, bc1f   out=999954304.000000, fs=-45667.238281, ft=1000000000.000000
+c.ole.d, bc1f   out=999954332.760000, fs=-45667.240000, ft=1000000000.000000
+c.ole.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.ole.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.ole.s, bc1f   out=-346104.468750, fs=-347856.468750, ft=1752.000000
+c.ole.d, bc1f   out=-346104.475000, fs=-347856.475000, ft=1752.000000
+c.ole.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.ole.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.ole.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ole.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ole.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.ole.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.ULE.S/D ---  if (unordered(fs, ft) or (fs <= ft)) then out = fs + ft else out = fs
+c.ule.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.ule.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.ule.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.ule.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.ule.s, bc1f   out=37.000462, fs=3.000000, ft=34.000462
+c.ule.d, bc1f   out=37.000460, fs=3.000000, ft=34.000460
+c.ule.s, bc1f   out=45785.476562, fs=-1.000000, ft=45786.476562
+c.ule.d, bc1f   out=45785.476000, fs=-1.000000, ft=45786.476000
+c.ule.s, bc1f   out=1753449.625000, fs=1384.599976, ft=1752065.000000
+c.ule.d, bc1f   out=1753449.600000, fs=1384.600000, ft=1752065.000000
+c.ule.s, bc1f   out=99.705429, fs=-7.294568, ft=107.000000
+c.ule.d, bc1f   out=99.705432, fs=-7.294568, ft=107.000000
+c.ule.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.ule.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.ule.s, bc1f   out=-5793.764648, fs=-5786.470215, ft=-7.294568
+c.ule.d, bc1f   out=-5793.764568, fs=-5786.470000, ft=-7.294568
+c.ule.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.ule.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.ule.s, bc1f   out=356047.562500, fs=0.002457, ft=356047.562500
+c.ule.d, bc1f   out=356047.562458, fs=0.002458, ft=356047.560000
+c.ule.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.ule.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.ule.s, bc1f   out=-248539.718750, fs=-248562.765625, ft=23.040001
+c.ule.d, bc1f   out=-248539.720000, fs=-248562.760000, ft=23.040000
+c.ule.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.ule.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.ule.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.ule.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.ule.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.ule.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.ule.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.ule.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.ule.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.ule.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.ule.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ule.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ule.s, bc1f   out=999954304.000000, fs=-45667.238281, ft=1000000000.000000
+c.ule.d, bc1f   out=999954332.760000, fs=-45667.240000, ft=1000000000.000000
+c.ule.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.ule.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.ule.s, bc1f   out=-346104.468750, fs=-347856.468750, ft=1752.000000
+c.ule.d, bc1f   out=-346104.475000, fs=-347856.475000, ft=1752.000000
+c.ule.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.ule.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.ule.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ule.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ule.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.ule.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.SF.S/D ---  if signaling false then out = fs + ft else out = fs
+c.sf.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.sf.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.sf.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.sf.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.sf.s, bc1f   out=3.000000, fs=3.000000, ft=34.000462
+c.sf.d, bc1f   out=3.000000, fs=3.000000, ft=34.000460
+c.sf.s, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476562
+c.sf.d, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476000
+c.sf.s, bc1f   out=1384.599976, fs=1384.599976, ft=1752065.000000
+c.sf.d, bc1f   out=1384.600000, fs=1384.600000, ft=1752065.000000
+c.sf.s, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.sf.d, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.sf.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.sf.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.sf.s, bc1f   out=-5786.470215, fs=-5786.470215, ft=-7.294568
+c.sf.d, bc1f   out=-5786.470000, fs=-5786.470000, ft=-7.294568
+c.sf.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.sf.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.sf.s, bc1f   out=0.002457, fs=0.002457, ft=356047.562500
+c.sf.d, bc1f   out=0.002458, fs=0.002458, ft=356047.560000
+c.sf.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.sf.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.sf.s, bc1f   out=-248562.765625, fs=-248562.765625, ft=23.040001
+c.sf.d, bc1f   out=-248562.760000, fs=-248562.760000, ft=23.040000
+c.sf.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.sf.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.sf.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.sf.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.sf.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.sf.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.sf.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.sf.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.sf.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.sf.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.sf.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.sf.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.sf.s, bc1f   out=-45667.238281, fs=-45667.238281, ft=1000000000.000000
+c.sf.d, bc1f   out=-45667.240000, fs=-45667.240000, ft=1000000000.000000
+c.sf.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.sf.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.sf.s, bc1f   out=-347856.468750, fs=-347856.468750, ft=1752.000000
+c.sf.d, bc1f   out=-347856.475000, fs=-347856.475000, ft=1752.000000
+c.sf.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.sf.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.sf.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.sf.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.sf.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.sf.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.NGLE.S/D --- if not ((fs > ft) or (fs <= ft)) then out = fs + ft else out = fs
+c.ngle.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.ngle.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.ngle.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.ngle.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.ngle.s, bc1f   out=3.000000, fs=3.000000, ft=34.000462
+c.ngle.d, bc1f   out=3.000000, fs=3.000000, ft=34.000460
+c.ngle.s, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476562
+c.ngle.d, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476000
+c.ngle.s, bc1f   out=1384.599976, fs=1384.599976, ft=1752065.000000
+c.ngle.d, bc1f   out=1384.600000, fs=1384.600000, ft=1752065.000000
+c.ngle.s, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.ngle.d, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.ngle.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.ngle.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.ngle.s, bc1f   out=-5786.470215, fs=-5786.470215, ft=-7.294568
+c.ngle.d, bc1f   out=-5786.470000, fs=-5786.470000, ft=-7.294568
+c.ngle.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.ngle.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.ngle.s, bc1f   out=0.002457, fs=0.002457, ft=356047.562500
+c.ngle.d, bc1f   out=0.002458, fs=0.002458, ft=356047.560000
+c.ngle.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.ngle.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.ngle.s, bc1f   out=-248562.765625, fs=-248562.765625, ft=23.040001
+c.ngle.d, bc1f   out=-248562.760000, fs=-248562.760000, ft=23.040000
+c.ngle.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.ngle.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.ngle.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.ngle.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.ngle.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.ngle.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.ngle.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.ngle.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.ngle.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.ngle.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.ngle.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ngle.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ngle.s, bc1f   out=-45667.238281, fs=-45667.238281, ft=1000000000.000000
+c.ngle.d, bc1f   out=-45667.240000, fs=-45667.240000, ft=1000000000.000000
+c.ngle.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.ngle.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.ngle.s, bc1f   out=-347856.468750, fs=-347856.468750, ft=1752.000000
+c.ngle.d, bc1f   out=-347856.475000, fs=-347856.475000, ft=1752.000000
+c.ngle.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.ngle.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.ngle.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ngle.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ngle.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.ngle.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.SEQ.S/D ---  if signaling equal then out = fs + ft else out = fs
+c.seq.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.seq.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.seq.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.seq.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.seq.s, bc1f   out=3.000000, fs=3.000000, ft=34.000462
+c.seq.d, bc1f   out=3.000000, fs=3.000000, ft=34.000460
+c.seq.s, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476562
+c.seq.d, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476000
+c.seq.s, bc1f   out=1384.599976, fs=1384.599976, ft=1752065.000000
+c.seq.d, bc1f   out=1384.600000, fs=1384.600000, ft=1752065.000000
+c.seq.s, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.seq.d, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.seq.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.seq.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.seq.s, bc1f   out=-5786.470215, fs=-5786.470215, ft=-7.294568
+c.seq.d, bc1f   out=-5786.470000, fs=-5786.470000, ft=-7.294568
+c.seq.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.seq.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.seq.s, bc1f   out=0.002457, fs=0.002457, ft=356047.562500
+c.seq.d, bc1f   out=0.002458, fs=0.002458, ft=356047.560000
+c.seq.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.seq.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.seq.s, bc1f   out=-248562.765625, fs=-248562.765625, ft=23.040001
+c.seq.d, bc1f   out=-248562.760000, fs=-248562.760000, ft=23.040000
+c.seq.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.seq.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.seq.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.seq.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.seq.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.seq.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.seq.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.seq.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.seq.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.seq.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.seq.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.seq.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.seq.s, bc1f   out=-45667.238281, fs=-45667.238281, ft=1000000000.000000
+c.seq.d, bc1f   out=-45667.240000, fs=-45667.240000, ft=1000000000.000000
+c.seq.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.seq.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.seq.s, bc1f   out=-347856.468750, fs=-347856.468750, ft=1752.000000
+c.seq.d, bc1f   out=-347856.475000, fs=-347856.475000, ft=1752.000000
+c.seq.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.seq.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.seq.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.seq.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.seq.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.seq.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.NGL.S/D ---  if not ((fs > ft) or (fs < ft)) then out = fs + ft else out = fs
+c.ngl.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.ngl.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.ngl.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.ngl.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.ngl.s, bc1f   out=3.000000, fs=3.000000, ft=34.000462
+c.ngl.d, bc1f   out=3.000000, fs=3.000000, ft=34.000460
+c.ngl.s, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476562
+c.ngl.d, bc1f   out=-1.000000, fs=-1.000000, ft=45786.476000
+c.ngl.s, bc1f   out=1384.599976, fs=1384.599976, ft=1752065.000000
+c.ngl.d, bc1f   out=1384.600000, fs=1384.600000, ft=1752065.000000
+c.ngl.s, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.ngl.d, bc1f   out=-7.294568, fs=-7.294568, ft=107.000000
+c.ngl.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.ngl.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.ngl.s, bc1f   out=-5786.470215, fs=-5786.470215, ft=-7.294568
+c.ngl.d, bc1f   out=-5786.470000, fs=-5786.470000, ft=-7.294568
+c.ngl.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.ngl.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.ngl.s, bc1f   out=0.002457, fs=0.002457, ft=356047.562500
+c.ngl.d, bc1f   out=0.002458, fs=0.002458, ft=356047.560000
+c.ngl.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.ngl.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.ngl.s, bc1f   out=-248562.765625, fs=-248562.765625, ft=23.040001
+c.ngl.d, bc1f   out=-248562.760000, fs=-248562.760000, ft=23.040000
+c.ngl.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.ngl.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.ngl.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.ngl.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.ngl.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.ngl.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.ngl.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.ngl.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.ngl.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.ngl.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.ngl.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ngl.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ngl.s, bc1f   out=-45667.238281, fs=-45667.238281, ft=1000000000.000000
+c.ngl.d, bc1f   out=-45667.240000, fs=-45667.240000, ft=1000000000.000000
+c.ngl.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.ngl.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.ngl.s, bc1f   out=-347856.468750, fs=-347856.468750, ft=1752.000000
+c.ngl.d, bc1f   out=-347856.475000, fs=-347856.475000, ft=1752.000000
+c.ngl.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.ngl.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.ngl.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ngl.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ngl.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.ngl.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.LT.S/D ---  if fs < ft then out = fs + ft else out = fs
+c.lt.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.lt.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.lt.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.lt.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.lt.s, bc1f   out=37.000462, fs=3.000000, ft=34.000462
+c.lt.d, bc1f   out=37.000460, fs=3.000000, ft=34.000460
+c.lt.s, bc1f   out=45785.476562, fs=-1.000000, ft=45786.476562
+c.lt.d, bc1f   out=45785.476000, fs=-1.000000, ft=45786.476000
+c.lt.s, bc1f   out=1753449.625000, fs=1384.599976, ft=1752065.000000
+c.lt.d, bc1f   out=1753449.600000, fs=1384.600000, ft=1752065.000000
+c.lt.s, bc1f   out=99.705429, fs=-7.294568, ft=107.000000
+c.lt.d, bc1f   out=99.705432, fs=-7.294568, ft=107.000000
+c.lt.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.lt.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.lt.s, bc1f   out=-5793.764648, fs=-5786.470215, ft=-7.294568
+c.lt.d, bc1f   out=-5793.764568, fs=-5786.470000, ft=-7.294568
+c.lt.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.lt.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.lt.s, bc1f   out=356047.562500, fs=0.002457, ft=356047.562500
+c.lt.d, bc1f   out=356047.562458, fs=0.002458, ft=356047.560000
+c.lt.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.lt.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.lt.s, bc1f   out=-248539.718750, fs=-248562.765625, ft=23.040001
+c.lt.d, bc1f   out=-248539.720000, fs=-248562.760000, ft=23.040000
+c.lt.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.lt.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.lt.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.lt.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.lt.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.lt.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.lt.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.lt.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.lt.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.lt.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.lt.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.lt.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.lt.s, bc1f   out=999954304.000000, fs=-45667.238281, ft=1000000000.000000
+c.lt.d, bc1f   out=999954332.760000, fs=-45667.240000, ft=1000000000.000000
+c.lt.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.lt.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.lt.s, bc1f   out=-346104.468750, fs=-347856.468750, ft=1752.000000
+c.lt.d, bc1f   out=-346104.475000, fs=-347856.475000, ft=1752.000000
+c.lt.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.lt.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.lt.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.lt.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.lt.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.lt.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.NGE.S/D ---  if not (fs >= ft) then out = fs + ft else out = fs
+c.nge.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.nge.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.nge.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.nge.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.nge.s, bc1f   out=37.000462, fs=3.000000, ft=34.000462
+c.nge.d, bc1f   out=37.000460, fs=3.000000, ft=34.000460
+c.nge.s, bc1f   out=45785.476562, fs=-1.000000, ft=45786.476562
+c.nge.d, bc1f   out=45785.476000, fs=-1.000000, ft=45786.476000
+c.nge.s, bc1f   out=1753449.625000, fs=1384.599976, ft=1752065.000000
+c.nge.d, bc1f   out=1753449.600000, fs=1384.600000, ft=1752065.000000
+c.nge.s, bc1f   out=99.705429, fs=-7.294568, ft=107.000000
+c.nge.d, bc1f   out=99.705432, fs=-7.294568, ft=107.000000
+c.nge.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.nge.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.nge.s, bc1f   out=-5793.764648, fs=-5786.470215, ft=-7.294568
+c.nge.d, bc1f   out=-5793.764568, fs=-5786.470000, ft=-7.294568
+c.nge.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.nge.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.nge.s, bc1f   out=356047.562500, fs=0.002457, ft=356047.562500
+c.nge.d, bc1f   out=356047.562458, fs=0.002458, ft=356047.560000
+c.nge.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.nge.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.nge.s, bc1f   out=-248539.718750, fs=-248562.765625, ft=23.040001
+c.nge.d, bc1f   out=-248539.720000, fs=-248562.760000, ft=23.040000
+c.nge.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.nge.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.nge.s, bc1f   out=456.248962, fs=456.248962, ft=456.248962
+c.nge.d, bc1f   out=456.248956, fs=456.248956, ft=456.248956
+c.nge.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.nge.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.nge.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.nge.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.nge.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.nge.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.nge.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.nge.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.nge.s, bc1f   out=999954304.000000, fs=-45667.238281, ft=1000000000.000000
+c.nge.d, bc1f   out=999954332.760000, fs=-45667.240000, ft=1000000000.000000
+c.nge.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.nge.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.nge.s, bc1f   out=-346104.468750, fs=-347856.468750, ft=1752.000000
+c.nge.d, bc1f   out=-346104.475000, fs=-347856.475000, ft=1752.000000
+c.nge.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.nge.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.nge.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.nge.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.nge.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.nge.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.LE.S/D ---  if fs <= ft then out = fs + ft else out = fs
+c.le.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.le.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.le.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.le.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.le.s, bc1f   out=37.000462, fs=3.000000, ft=34.000462
+c.le.d, bc1f   out=37.000460, fs=3.000000, ft=34.000460
+c.le.s, bc1f   out=45785.476562, fs=-1.000000, ft=45786.476562
+c.le.d, bc1f   out=45785.476000, fs=-1.000000, ft=45786.476000
+c.le.s, bc1f   out=1753449.625000, fs=1384.599976, ft=1752065.000000
+c.le.d, bc1f   out=1753449.600000, fs=1384.600000, ft=1752065.000000
+c.le.s, bc1f   out=99.705429, fs=-7.294568, ft=107.000000
+c.le.d, bc1f   out=99.705432, fs=-7.294568, ft=107.000000
+c.le.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.le.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.le.s, bc1f   out=-5793.764648, fs=-5786.470215, ft=-7.294568
+c.le.d, bc1f   out=-5793.764568, fs=-5786.470000, ft=-7.294568
+c.le.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.le.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.le.s, bc1f   out=356047.562500, fs=0.002457, ft=356047.562500
+c.le.d, bc1f   out=356047.562458, fs=0.002458, ft=356047.560000
+c.le.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.le.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.le.s, bc1f   out=-248539.718750, fs=-248562.765625, ft=23.040001
+c.le.d, bc1f   out=-248539.720000, fs=-248562.760000, ft=23.040000
+c.le.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.le.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.le.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.le.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.le.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.le.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.le.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.le.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.le.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.le.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.le.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.le.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.le.s, bc1f   out=999954304.000000, fs=-45667.238281, ft=1000000000.000000
+c.le.d, bc1f   out=999954332.760000, fs=-45667.240000, ft=1000000000.000000
+c.le.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.le.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.le.s, bc1f   out=-346104.468750, fs=-347856.468750, ft=1752.000000
+c.le.d, bc1f   out=-346104.475000, fs=-347856.475000, ft=1752.000000
+c.le.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.le.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.le.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.le.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.le.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.le.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
+--- C.NGT.S/D ---  if not (fs > ft) then out = fs + ft else out = fs
+c.ngt.s, bc1f   out=0.000000, fs=0.000000, ft=-45786.476562
+c.ngt.d, bc1f   out=0.000000, fs=0.000000, ft=-45786.476000
+c.ngt.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.ngt.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.ngt.s, bc1f   out=37.000462, fs=3.000000, ft=34.000462
+c.ngt.d, bc1f   out=37.000460, fs=3.000000, ft=34.000460
+c.ngt.s, bc1f   out=45785.476562, fs=-1.000000, ft=45786.476562
+c.ngt.d, bc1f   out=45785.476000, fs=-1.000000, ft=45786.476000
+c.ngt.s, bc1f   out=1753449.625000, fs=1384.599976, ft=1752065.000000
+c.ngt.d, bc1f   out=1753449.600000, fs=1384.600000, ft=1752065.000000
+c.ngt.s, bc1f   out=99.705429, fs=-7.294568, ft=107.000000
+c.ngt.d, bc1f   out=99.705432, fs=-7.294568, ft=107.000000
+c.ngt.s, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.238281
+c.ngt.d, bc1f   out=1000000000.000000, fs=1000000000.000000, ft=-45667.240000
+c.ngt.s, bc1f   out=-5793.764648, fs=-5786.470215, ft=-7.294568
+c.ngt.d, bc1f   out=-5793.764568, fs=-5786.470000, ft=-7.294568
+c.ngt.s, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.468750
+c.ngt.d, bc1f   out=1752.000000, fs=1752.000000, ft=-347856.475000
+c.ngt.s, bc1f   out=356047.562500, fs=0.002457, ft=356047.562500
+c.ngt.d, bc1f   out=356047.562458, fs=0.002458, ft=356047.560000
+c.ngt.s, bc1f   out=0.123400, fs=0.123400, ft=-1.000000
+c.ngt.d, bc1f   out=0.000000, fs=0.000000, ft=-1.000000
+c.ngt.s, bc1f   out=-248539.718750, fs=-248562.765625, ft=23.040001
+c.ngt.d, bc1f   out=-248539.720000, fs=-248562.760000, ft=23.040000
+c.ngt.s, bc1f   out=-45786.476562, fs=-45786.476562, ft=0.000000
+c.ngt.d, bc1f   out=-45786.476000, fs=-45786.476000, ft=0.000000
+c.ngt.s, bc1f   out=912.497925, fs=456.248962, ft=456.248962
+c.ngt.d, bc1f   out=912.497912, fs=456.248956, ft=456.248956
+c.ngt.s, bc1f   out=34.000462, fs=34.000462, ft=3.000000
+c.ngt.d, bc1f   out=34.000460, fs=34.000460, ft=3.000000
+c.ngt.s, bc1f   out=45786.476562, fs=45786.476562, ft=-1.000000
+c.ngt.d, bc1f   out=45786.476000, fs=45786.476000, ft=-1.000000
+c.ngt.s, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.599976
+c.ngt.d, bc1f   out=1752065.000000, fs=1752065.000000, ft=1384.600000
+c.ngt.s, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ngt.d, bc1f   out=107.000000, fs=107.000000, ft=-7.294568
+c.ngt.s, bc1f   out=999954304.000000, fs=-45667.238281, ft=1000000000.000000
+c.ngt.d, bc1f   out=999954332.760000, fs=-45667.240000, ft=1000000000.000000
+c.ngt.s, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470215
+c.ngt.d, bc1f   out=-7.294568, fs=-7.294568, ft=-5786.470000
+c.ngt.s, bc1f   out=-346104.468750, fs=-347856.468750, ft=1752.000000
+c.ngt.d, bc1f   out=-346104.475000, fs=-347856.475000, ft=1752.000000
+c.ngt.s, bc1f   out=356047.562500, fs=356047.562500, ft=0.002457
+c.ngt.d, bc1f   out=356047.560000, fs=356047.560000, ft=0.002458
+c.ngt.s, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ngt.d, bc1f   out=-1.000000, fs=-1.000000, ft=0.000000
+c.ngt.s, bc1f   out=23.040001, fs=23.040001, ft=-248562.765625
+c.ngt.d, bc1f   out=23.040000, fs=23.040000, ft=-248562.760000
diff --git a/none/tests/mips64/fpu_branches.vgtest b/none/tests/mips64/fpu_branches.vgtest
new file mode 100644
index 0000000..2066512
--- /dev/null
+++ b/none/tests/mips64/fpu_branches.vgtest
@@ -0,0 +1,2 @@
+prog: fpu_branches
+vgopts: -q
diff --git a/none/tests/mips64/fpu_control_word.c b/none/tests/mips64/fpu_control_word.c
new file mode 100644
index 0000000..4a46621
--- /dev/null
+++ b/none/tests/mips64/fpu_control_word.c
@@ -0,0 +1,27 @@
+#include <stdio.h>
+
+#define TESTINST_CFC1_CTC1(N)          \
+{                                      \
+   unsigned int out = 0;               \
+   __asm__ __volatile__(               \
+      "move $t0, %1"   "\n\t"          \
+      "ctc1 $t0, $31"  "\n\t"          \
+      "cfc1 $t1, $31"  "\n\t"          \
+      "move %0,  $t1"  "\n\t"          \
+      : "=r" (out)                     \
+      : "r" (N)                        \
+      : "t0", "t1"                     \
+   );                                  \
+   printf("out=%d, in=%d\n", out, N);  \
+}
+
+int main()
+{
+   int i;
+   printf("--- CTC1, CFC1 ---\n");
+   for (i = 0; i < 1024; i++) {
+      TESTINST_CFC1_CTC1(i);
+   }
+
+   return 0;
+}
diff --git a/none/tests/mips64/fpu_control_word.stderr.exp b/none/tests/mips64/fpu_control_word.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/fpu_control_word.stderr.exp
diff --git a/none/tests/mips64/fpu_control_word.stdout.exp b/none/tests/mips64/fpu_control_word.stdout.exp
new file mode 100644
index 0000000..54f5eb0
--- /dev/null
+++ b/none/tests/mips64/fpu_control_word.stdout.exp
@@ -0,0 +1,1025 @@
+--- CTC1, CFC1 ---
+out=0, in=0
+out=1, in=1
+out=2, in=2
+out=3, in=3
+out=4, in=4
+out=5, in=5
+out=6, in=6
+out=7, in=7
+out=8, in=8
+out=9, in=9
+out=10, in=10
+out=11, in=11
+out=12, in=12
+out=13, in=13
+out=14, in=14
+out=15, in=15
+out=16, in=16
+out=17, in=17
+out=18, in=18
+out=19, in=19
+out=20, in=20
+out=21, in=21
+out=22, in=22
+out=23, in=23
+out=24, in=24
+out=25, in=25
+out=26, in=26
+out=27, in=27
+out=28, in=28
+out=29, in=29
+out=30, in=30
+out=31, in=31
+out=32, in=32
+out=33, in=33
+out=34, in=34
+out=35, in=35
+out=36, in=36
+out=37, in=37
+out=38, in=38
+out=39, in=39
+out=40, in=40
+out=41, in=41
+out=42, in=42
+out=43, in=43
+out=44, in=44
+out=45, in=45
+out=46, in=46
+out=47, in=47
+out=48, in=48
+out=49, in=49
+out=50, in=50
+out=51, in=51
+out=52, in=52
+out=53, in=53
+out=54, in=54
+out=55, in=55
+out=56, in=56
+out=57, in=57
+out=58, in=58
+out=59, in=59
+out=60, in=60
+out=61, in=61
+out=62, in=62
+out=63, in=63
+out=64, in=64
+out=65, in=65
+out=66, in=66
+out=67, in=67
+out=68, in=68
+out=69, in=69
+out=70, in=70
+out=71, in=71
+out=72, in=72
+out=73, in=73
+out=74, in=74
+out=75, in=75
+out=76, in=76
+out=77, in=77
+out=78, in=78
+out=79, in=79
+out=80, in=80
+out=81, in=81
+out=82, in=82
+out=83, in=83
+out=84, in=84
+out=85, in=85
+out=86, in=86
+out=87, in=87
+out=88, in=88
+out=89, in=89
+out=90, in=90
+out=91, in=91
+out=92, in=92
+out=93, in=93
+out=94, in=94
+out=95, in=95
+out=96, in=96
+out=97, in=97
+out=98, in=98
+out=99, in=99
+out=100, in=100
+out=101, in=101
+out=102, in=102
+out=103, in=103
+out=104, in=104
+out=105, in=105
+out=106, in=106
+out=107, in=107
+out=108, in=108
+out=109, in=109
+out=110, in=110
+out=111, in=111
+out=112, in=112
+out=113, in=113
+out=114, in=114
+out=115, in=115
+out=116, in=116
+out=117, in=117
+out=118, in=118
+out=119, in=119
+out=120, in=120
+out=121, in=121
+out=122, in=122
+out=123, in=123
+out=124, in=124
+out=125, in=125
+out=126, in=126
+out=127, in=127
+out=128, in=128
+out=129, in=129
+out=130, in=130
+out=131, in=131
+out=132, in=132
+out=133, in=133
+out=134, in=134
+out=135, in=135
+out=136, in=136
+out=137, in=137
+out=138, in=138
+out=139, in=139
+out=140, in=140
+out=141, in=141
+out=142, in=142
+out=143, in=143
+out=144, in=144
+out=145, in=145
+out=146, in=146
+out=147, in=147
+out=148, in=148
+out=149, in=149
+out=150, in=150
+out=151, in=151
+out=152, in=152
+out=153, in=153
+out=154, in=154
+out=155, in=155
+out=156, in=156
+out=157, in=157
+out=158, in=158
+out=159, in=159
+out=160, in=160
+out=161, in=161
+out=162, in=162
+out=163, in=163
+out=164, in=164
+out=165, in=165
+out=166, in=166
+out=167, in=167
+out=168, in=168
+out=169, in=169
+out=170, in=170
+out=171, in=171
+out=172, in=172
+out=173, in=173
+out=174, in=174
+out=175, in=175
+out=176, in=176
+out=177, in=177
+out=178, in=178
+out=179, in=179
+out=180, in=180
+out=181, in=181
+out=182, in=182
+out=183, in=183
+out=184, in=184
+out=185, in=185
+out=186, in=186
+out=187, in=187
+out=188, in=188
+out=189, in=189
+out=190, in=190
+out=191, in=191
+out=192, in=192
+out=193, in=193
+out=194, in=194
+out=195, in=195
+out=196, in=196
+out=197, in=197
+out=198, in=198
+out=199, in=199
+out=200, in=200
+out=201, in=201
+out=202, in=202
+out=203, in=203
+out=204, in=204
+out=205, in=205
+out=206, in=206
+out=207, in=207
+out=208, in=208
+out=209, in=209
+out=210, in=210
+out=211, in=211
+out=212, in=212
+out=213, in=213
+out=214, in=214
+out=215, in=215
+out=216, in=216
+out=217, in=217
+out=218, in=218
+out=219, in=219
+out=220, in=220
+out=221, in=221
+out=222, in=222
+out=223, in=223
+out=224, in=224
+out=225, in=225
+out=226, in=226
+out=227, in=227
+out=228, in=228
+out=229, in=229
+out=230, in=230
+out=231, in=231
+out=232, in=232
+out=233, in=233
+out=234, in=234
+out=235, in=235
+out=236, in=236
+out=237, in=237
+out=238, in=238
+out=239, in=239
+out=240, in=240
+out=241, in=241
+out=242, in=242
+out=243, in=243
+out=244, in=244
+out=245, in=245
+out=246, in=246
+out=247, in=247
+out=248, in=248
+out=249, in=249
+out=250, in=250
+out=251, in=251
+out=252, in=252
+out=253, in=253
+out=254, in=254
+out=255, in=255
+out=256, in=256
+out=257, in=257
+out=258, in=258
+out=259, in=259
+out=260, in=260
+out=261, in=261
+out=262, in=262
+out=263, in=263
+out=264, in=264
+out=265, in=265
+out=266, in=266
+out=267, in=267
+out=268, in=268
+out=269, in=269
+out=270, in=270
+out=271, in=271
+out=272, in=272
+out=273, in=273
+out=274, in=274
+out=275, in=275
+out=276, in=276
+out=277, in=277
+out=278, in=278
+out=279, in=279
+out=280, in=280
+out=281, in=281
+out=282, in=282
+out=283, in=283
+out=284, in=284
+out=285, in=285
+out=286, in=286
+out=287, in=287
+out=288, in=288
+out=289, in=289
+out=290, in=290
+out=291, in=291
+out=292, in=292
+out=293, in=293
+out=294, in=294
+out=295, in=295
+out=296, in=296
+out=297, in=297
+out=298, in=298
+out=299, in=299
+out=300, in=300
+out=301, in=301
+out=302, in=302
+out=303, in=303
+out=304, in=304
+out=305, in=305
+out=306, in=306
+out=307, in=307
+out=308, in=308
+out=309, in=309
+out=310, in=310
+out=311, in=311
+out=312, in=312
+out=313, in=313
+out=314, in=314
+out=315, in=315
+out=316, in=316
+out=317, in=317
+out=318, in=318
+out=319, in=319
+out=320, in=320
+out=321, in=321
+out=322, in=322
+out=323, in=323
+out=324, in=324
+out=325, in=325
+out=326, in=326
+out=327, in=327
+out=328, in=328
+out=329, in=329
+out=330, in=330
+out=331, in=331
+out=332, in=332
+out=333, in=333
+out=334, in=334
+out=335, in=335
+out=336, in=336
+out=337, in=337
+out=338, in=338
+out=339, in=339
+out=340, in=340
+out=341, in=341
+out=342, in=342
+out=343, in=343
+out=344, in=344
+out=345, in=345
+out=346, in=346
+out=347, in=347
+out=348, in=348
+out=349, in=349
+out=350, in=350
+out=351, in=351
+out=352, in=352
+out=353, in=353
+out=354, in=354
+out=355, in=355
+out=356, in=356
+out=357, in=357
+out=358, in=358
+out=359, in=359
+out=360, in=360
+out=361, in=361
+out=362, in=362
+out=363, in=363
+out=364, in=364
+out=365, in=365
+out=366, in=366
+out=367, in=367
+out=368, in=368
+out=369, in=369
+out=370, in=370
+out=371, in=371
+out=372, in=372
+out=373, in=373
+out=374, in=374
+out=375, in=375
+out=376, in=376
+out=377, in=377
+out=378, in=378
+out=379, in=379
+out=380, in=380
+out=381, in=381
+out=382, in=382
+out=383, in=383
+out=384, in=384
+out=385, in=385
+out=386, in=386
+out=387, in=387
+out=388, in=388
+out=389, in=389
+out=390, in=390
+out=391, in=391
+out=392, in=392
+out=393, in=393
+out=394, in=394
+out=395, in=395
+out=396, in=396
+out=397, in=397
+out=398, in=398
+out=399, in=399
+out=400, in=400
+out=401, in=401
+out=402, in=402
+out=403, in=403
+out=404, in=404
+out=405, in=405
+out=406, in=406
+out=407, in=407
+out=408, in=408
+out=409, in=409
+out=410, in=410
+out=411, in=411
+out=412, in=412
+out=413, in=413
+out=414, in=414
+out=415, in=415
+out=416, in=416
+out=417, in=417
+out=418, in=418
+out=419, in=419
+out=420, in=420
+out=421, in=421
+out=422, in=422
+out=423, in=423
+out=424, in=424
+out=425, in=425
+out=426, in=426
+out=427, in=427
+out=428, in=428
+out=429, in=429
+out=430, in=430
+out=431, in=431
+out=432, in=432
+out=433, in=433
+out=434, in=434
+out=435, in=435
+out=436, in=436
+out=437, in=437
+out=438, in=438
+out=439, in=439
+out=440, in=440
+out=441, in=441
+out=442, in=442
+out=443, in=443
+out=444, in=444
+out=445, in=445
+out=446, in=446
+out=447, in=447
+out=448, in=448
+out=449, in=449
+out=450, in=450
+out=451, in=451
+out=452, in=452
+out=453, in=453
+out=454, in=454
+out=455, in=455
+out=456, in=456
+out=457, in=457
+out=458, in=458
+out=459, in=459
+out=460, in=460
+out=461, in=461
+out=462, in=462
+out=463, in=463
+out=464, in=464
+out=465, in=465
+out=466, in=466
+out=467, in=467
+out=468, in=468
+out=469, in=469
+out=470, in=470
+out=471, in=471
+out=472, in=472
+out=473, in=473
+out=474, in=474
+out=475, in=475
+out=476, in=476
+out=477, in=477
+out=478, in=478
+out=479, in=479
+out=480, in=480
+out=481, in=481
+out=482, in=482
+out=483, in=483
+out=484, in=484
+out=485, in=485
+out=486, in=486
+out=487, in=487
+out=488, in=488
+out=489, in=489
+out=490, in=490
+out=491, in=491
+out=492, in=492
+out=493, in=493
+out=494, in=494
+out=495, in=495
+out=496, in=496
+out=497, in=497
+out=498, in=498
+out=499, in=499
+out=500, in=500
+out=501, in=501
+out=502, in=502
+out=503, in=503
+out=504, in=504
+out=505, in=505
+out=506, in=506
+out=507, in=507
+out=508, in=508
+out=509, in=509
+out=510, in=510
+out=511, in=511
+out=512, in=512
+out=513, in=513
+out=514, in=514
+out=515, in=515
+out=516, in=516
+out=517, in=517
+out=518, in=518
+out=519, in=519
+out=520, in=520
+out=521, in=521
+out=522, in=522
+out=523, in=523
+out=524, in=524
+out=525, in=525
+out=526, in=526
+out=527, in=527
+out=528, in=528
+out=529, in=529
+out=530, in=530
+out=531, in=531
+out=532, in=532
+out=533, in=533
+out=534, in=534
+out=535, in=535
+out=536, in=536
+out=537, in=537
+out=538, in=538
+out=539, in=539
+out=540, in=540
+out=541, in=541
+out=542, in=542
+out=543, in=543
+out=544, in=544
+out=545, in=545
+out=546, in=546
+out=547, in=547
+out=548, in=548
+out=549, in=549
+out=550, in=550
+out=551, in=551
+out=552, in=552
+out=553, in=553
+out=554, in=554
+out=555, in=555
+out=556, in=556
+out=557, in=557
+out=558, in=558
+out=559, in=559
+out=560, in=560
+out=561, in=561
+out=562, in=562
+out=563, in=563
+out=564, in=564
+out=565, in=565
+out=566, in=566
+out=567, in=567
+out=568, in=568
+out=569, in=569
+out=570, in=570
+out=571, in=571
+out=572, in=572
+out=573, in=573
+out=574, in=574
+out=575, in=575
+out=576, in=576
+out=577, in=577
+out=578, in=578
+out=579, in=579
+out=580, in=580
+out=581, in=581
+out=582, in=582
+out=583, in=583
+out=584, in=584
+out=585, in=585
+out=586, in=586
+out=587, in=587
+out=588, in=588
+out=589, in=589
+out=590, in=590
+out=591, in=591
+out=592, in=592
+out=593, in=593
+out=594, in=594
+out=595, in=595
+out=596, in=596
+out=597, in=597
+out=598, in=598
+out=599, in=599
+out=600, in=600
+out=601, in=601
+out=602, in=602
+out=603, in=603
+out=604, in=604
+out=605, in=605
+out=606, in=606
+out=607, in=607
+out=608, in=608
+out=609, in=609
+out=610, in=610
+out=611, in=611
+out=612, in=612
+out=613, in=613
+out=614, in=614
+out=615, in=615
+out=616, in=616
+out=617, in=617
+out=618, in=618
+out=619, in=619
+out=620, in=620
+out=621, in=621
+out=622, in=622
+out=623, in=623
+out=624, in=624
+out=625, in=625
+out=626, in=626
+out=627, in=627
+out=628, in=628
+out=629, in=629
+out=630, in=630
+out=631, in=631
+out=632, in=632
+out=633, in=633
+out=634, in=634
+out=635, in=635
+out=636, in=636
+out=637, in=637
+out=638, in=638
+out=639, in=639
+out=640, in=640
+out=641, in=641
+out=642, in=642
+out=643, in=643
+out=644, in=644
+out=645, in=645
+out=646, in=646
+out=647, in=647
+out=648, in=648
+out=649, in=649
+out=650, in=650
+out=651, in=651
+out=652, in=652
+out=653, in=653
+out=654, in=654
+out=655, in=655
+out=656, in=656
+out=657, in=657
+out=658, in=658
+out=659, in=659
+out=660, in=660
+out=661, in=661
+out=662, in=662
+out=663, in=663
+out=664, in=664
+out=665, in=665
+out=666, in=666
+out=667, in=667
+out=668, in=668
+out=669, in=669
+out=670, in=670
+out=671, in=671
+out=672, in=672
+out=673, in=673
+out=674, in=674
+out=675, in=675
+out=676, in=676
+out=677, in=677
+out=678, in=678
+out=679, in=679
+out=680, in=680
+out=681, in=681
+out=682, in=682
+out=683, in=683
+out=684, in=684
+out=685, in=685
+out=686, in=686
+out=687, in=687
+out=688, in=688
+out=689, in=689
+out=690, in=690
+out=691, in=691
+out=692, in=692
+out=693, in=693
+out=694, in=694
+out=695, in=695
+out=696, in=696
+out=697, in=697
+out=698, in=698
+out=699, in=699
+out=700, in=700
+out=701, in=701
+out=702, in=702
+out=703, in=703
+out=704, in=704
+out=705, in=705
+out=706, in=706
+out=707, in=707
+out=708, in=708
+out=709, in=709
+out=710, in=710
+out=711, in=711
+out=712, in=712
+out=713, in=713
+out=714, in=714
+out=715, in=715
+out=716, in=716
+out=717, in=717
+out=718, in=718
+out=719, in=719
+out=720, in=720
+out=721, in=721
+out=722, in=722
+out=723, in=723
+out=724, in=724
+out=725, in=725
+out=726, in=726
+out=727, in=727
+out=728, in=728
+out=729, in=729
+out=730, in=730
+out=731, in=731
+out=732, in=732
+out=733, in=733
+out=734, in=734
+out=735, in=735
+out=736, in=736
+out=737, in=737
+out=738, in=738
+out=739, in=739
+out=740, in=740
+out=741, in=741
+out=742, in=742
+out=743, in=743
+out=744, in=744
+out=745, in=745
+out=746, in=746
+out=747, in=747
+out=748, in=748
+out=749, in=749
+out=750, in=750
+out=751, in=751
+out=752, in=752
+out=753, in=753
+out=754, in=754
+out=755, in=755
+out=756, in=756
+out=757, in=757
+out=758, in=758
+out=759, in=759
+out=760, in=760
+out=761, in=761
+out=762, in=762
+out=763, in=763
+out=764, in=764
+out=765, in=765
+out=766, in=766
+out=767, in=767
+out=768, in=768
+out=769, in=769
+out=770, in=770
+out=771, in=771
+out=772, in=772
+out=773, in=773
+out=774, in=774
+out=775, in=775
+out=776, in=776
+out=777, in=777
+out=778, in=778
+out=779, in=779
+out=780, in=780
+out=781, in=781
+out=782, in=782
+out=783, in=783
+out=784, in=784
+out=785, in=785
+out=786, in=786
+out=787, in=787
+out=788, in=788
+out=789, in=789
+out=790, in=790
+out=791, in=791
+out=792, in=792
+out=793, in=793
+out=794, in=794
+out=795, in=795
+out=796, in=796
+out=797, in=797
+out=798, in=798
+out=799, in=799
+out=800, in=800
+out=801, in=801
+out=802, in=802
+out=803, in=803
+out=804, in=804
+out=805, in=805
+out=806, in=806
+out=807, in=807
+out=808, in=808
+out=809, in=809
+out=810, in=810
+out=811, in=811
+out=812, in=812
+out=813, in=813
+out=814, in=814
+out=815, in=815
+out=816, in=816
+out=817, in=817
+out=818, in=818
+out=819, in=819
+out=820, in=820
+out=821, in=821
+out=822, in=822
+out=823, in=823
+out=824, in=824
+out=825, in=825
+out=826, in=826
+out=827, in=827
+out=828, in=828
+out=829, in=829
+out=830, in=830
+out=831, in=831
+out=832, in=832
+out=833, in=833
+out=834, in=834
+out=835, in=835
+out=836, in=836
+out=837, in=837
+out=838, in=838
+out=839, in=839
+out=840, in=840
+out=841, in=841
+out=842, in=842
+out=843, in=843
+out=844, in=844
+out=845, in=845
+out=846, in=846
+out=847, in=847
+out=848, in=848
+out=849, in=849
+out=850, in=850
+out=851, in=851
+out=852, in=852
+out=853, in=853
+out=854, in=854
+out=855, in=855
+out=856, in=856
+out=857, in=857
+out=858, in=858
+out=859, in=859
+out=860, in=860
+out=861, in=861
+out=862, in=862
+out=863, in=863
+out=864, in=864
+out=865, in=865
+out=866, in=866
+out=867, in=867
+out=868, in=868
+out=869, in=869
+out=870, in=870
+out=871, in=871
+out=872, in=872
+out=873, in=873
+out=874, in=874
+out=875, in=875
+out=876, in=876
+out=877, in=877
+out=878, in=878
+out=879, in=879
+out=880, in=880
+out=881, in=881
+out=882, in=882
+out=883, in=883
+out=884, in=884
+out=885, in=885
+out=886, in=886
+out=887, in=887
+out=888, in=888
+out=889, in=889
+out=890, in=890
+out=891, in=891
+out=892, in=892
+out=893, in=893
+out=894, in=894
+out=895, in=895
+out=896, in=896
+out=897, in=897
+out=898, in=898
+out=899, in=899
+out=900, in=900
+out=901, in=901
+out=902, in=902
+out=903, in=903
+out=904, in=904
+out=905, in=905
+out=906, in=906
+out=907, in=907
+out=908, in=908
+out=909, in=909
+out=910, in=910
+out=911, in=911
+out=912, in=912
+out=913, in=913
+out=914, in=914
+out=915, in=915
+out=916, in=916
+out=917, in=917
+out=918, in=918
+out=919, in=919
+out=920, in=920
+out=921, in=921
+out=922, in=922
+out=923, in=923
+out=924, in=924
+out=925, in=925
+out=926, in=926
+out=927, in=927
+out=928, in=928
+out=929, in=929
+out=930, in=930
+out=931, in=931
+out=932, in=932
+out=933, in=933
+out=934, in=934
+out=935, in=935
+out=936, in=936
+out=937, in=937
+out=938, in=938
+out=939, in=939
+out=940, in=940
+out=941, in=941
+out=942, in=942
+out=943, in=943
+out=944, in=944
+out=945, in=945
+out=946, in=946
+out=947, in=947
+out=948, in=948
+out=949, in=949
+out=950, in=950
+out=951, in=951
+out=952, in=952
+out=953, in=953
+out=954, in=954
+out=955, in=955
+out=956, in=956
+out=957, in=957
+out=958, in=958
+out=959, in=959
+out=960, in=960
+out=961, in=961
+out=962, in=962
+out=963, in=963
+out=964, in=964
+out=965, in=965
+out=966, in=966
+out=967, in=967
+out=968, in=968
+out=969, in=969
+out=970, in=970
+out=971, in=971
+out=972, in=972
+out=973, in=973
+out=974, in=974
+out=975, in=975
+out=976, in=976
+out=977, in=977
+out=978, in=978
+out=979, in=979
+out=980, in=980
+out=981, in=981
+out=982, in=982
+out=983, in=983
+out=984, in=984
+out=985, in=985
+out=986, in=986
+out=987, in=987
+out=988, in=988
+out=989, in=989
+out=990, in=990
+out=991, in=991
+out=992, in=992
+out=993, in=993
+out=994, in=994
+out=995, in=995
+out=996, in=996
+out=997, in=997
+out=998, in=998
+out=999, in=999
+out=1000, in=1000
+out=1001, in=1001
+out=1002, in=1002
+out=1003, in=1003
+out=1004, in=1004
+out=1005, in=1005
+out=1006, in=1006
+out=1007, in=1007
+out=1008, in=1008
+out=1009, in=1009
+out=1010, in=1010
+out=1011, in=1011
+out=1012, in=1012
+out=1013, in=1013
+out=1014, in=1014
+out=1015, in=1015
+out=1016, in=1016
+out=1017, in=1017
+out=1018, in=1018
+out=1019, in=1019
+out=1020, in=1020
+out=1021, in=1021
+out=1022, in=1022
+out=1023, in=1023
diff --git a/none/tests/mips64/fpu_control_word.vgtest b/none/tests/mips64/fpu_control_word.vgtest
new file mode 100644
index 0000000..060906c
--- /dev/null
+++ b/none/tests/mips64/fpu_control_word.vgtest
@@ -0,0 +1,2 @@
+prog: fpu_control_word
+vgopts: -q
diff --git a/none/tests/mips64/fpu_load_store.c b/none/tests/mips64/fpu_load_store.c
new file mode 100644
index 0000000..c056c4f
--- /dev/null
+++ b/none/tests/mips64/fpu_load_store.c
@@ -0,0 +1,69 @@
+#include <stdio.h>
+#include "macro_load_store.h"
+
+int main()
+{
+   int i;
+   int s1 = sizeof(int);
+   int s2 = sizeof(unsigned long long);
+   init_reg_val2();
+   /**********************************************************************/
+   /*-------------------------------LOAD---------------------------------*/
+   /**********************************************************************/
+   printf("--- LDC1 ---\n");
+   for (i = 0; i < N*s1; i = i+8)
+      TEST3("ldc1", i, reg_val1);
+
+   for (i = 0; i < N*s2; i = i+8)
+      TEST3("ldc1", i, reg_val2);
+
+   printf("--- LDXC1 ---\n");
+   for (i = 0; i < N*s1; i = i+8)
+      TEST5("ldxc1", i, reg_val1);
+
+   for (i = 0; i < N*s2; i = i+8)
+      TEST5("ldxc1", i, reg_val2);
+
+   printf("--- LWC1 ---\n");
+   for (i = 0; i < N*s1; i = i+4)
+      TEST3w("lwc1", i, reg_val1);
+
+   for (i = 0; i < N*s2; i = i+4)
+      TEST3w("lwc1", i, reg_val2);
+
+   printf("--- LWXC1 ---\n");
+   for (i = 0; i < N*s1; i = i+4)
+      TEST5w("lwxc1", i, reg_val1);
+
+   for (i = 0; i < N*s2; i = i+4)
+      TEST5w("lwxc1", i, reg_val2);
+
+   /**********************************************************************/
+   /*-------------------------------STORE--------------------------------*/
+   /**********************************************************************/
+   init_reg_val_zero();
+   printf("--- SDC1 ---\n");
+   for (i = 0; i < N*s1; i = i+8) {
+      TEST4("sdc1", i);
+   }
+
+   init_reg_val_zero();
+   printf("--- SWC1 ---\n");
+   for (i = 0; i < N*s1; i = i+4) {
+      TEST4("swc1", i);
+   }
+
+   init_reg_val_zero();
+   printf("--- SDXC1 ---\n");
+   for (i = 0; i < N*s1; i = i+8) {
+      TEST6("sdxc1", i);
+   }
+
+   init_reg_val_zero();
+   printf("--- SWXC1 ---\n");
+   for (i = 0; i < N*s1; i = i+4) {
+      TEST6("swxc1", i);
+   }
+
+   return 0;
+}
diff --git a/none/tests/mips64/fpu_load_store.stderr.exp b/none/tests/mips64/fpu_load_store.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/fpu_load_store.stderr.exp
diff --git a/none/tests/mips64/fpu_load_store.stdout.exp-BE b/none/tests/mips64/fpu_load_store.stdout.exp-BE
new file mode 100644
index 0000000..cddc9d2
--- /dev/null
+++ b/none/tests/mips64/fpu_load_store.stdout.exp-BE
@@ -0,0 +1,3080 @@
+--- LDC1 ---
+ldc1 :: offset: 0x0, out: 0x0
+ldc1 :: offset: 0x8, out: 0x9823b6e0d4326d9
+ldc1 :: offset: 0x10, out: 0x130476dc17c56b6b
+ldc1 :: offset: 0x18, out: 0x1a864db21e475005
+ldc1 :: offset: 0x20, out: 0x2608edb822c9f00f
+ldc1 :: offset: 0x28, out: 0x2f8ad6d62b4bcb61
+ldc1 :: offset: 0x30, out: 0x350c9b6431cd86d3
+ldc1 :: offset: 0x38, out: 0x3c8ea00a384fbdbd
+ldc1 :: offset: 0x40, out: 0x4c11db7048d0c6c7
+ldc1 :: offset: 0x48, out: 0x4593e01e4152fda9
+ldc1 :: offset: 0x50, out: 0x5f15adac5bd4b01b
+ldc1 :: offset: 0x58, out: 0x569796c252568b75
+ldc1 :: offset: 0x60, out: 0x6a1936c86ed82b7f
+ldc1 :: offset: 0x68, out: 0x639b0da6675a1011
+ldc1 :: offset: 0x70, out: 0x791d40147ddc5da3
+ldc1 :: offset: 0x78, out: 0x709f7b7a745e66cd
+ldc1 :: offset: 0x80, out: 0x9823b6e09ce2ab57
+ldc1 :: offset: 0x88, out: 0x91a18d8e95609039
+ldc1 :: offset: 0x90, out: 0x8b27c03c8fe6dd8b
+ldc1 :: offset: 0x98, out: 0x82a5fb528664e6e5
+ldc1 :: offset: 0xa0, out: 0xbe2b5b58baea46ef
+ldc1 :: offset: 0xa8, out: 0xb7a96036b3687d81
+ldc1 :: offset: 0xb0, out: 0xad2f2d84a9ee3033
+ldc1 :: offset: 0xb8, out: 0xa4ad16eaa06c0b5d
+ldc1 :: offset: 0xc0, out: 0xd4326d90d0f37027
+ldc1 :: offset: 0xc8, out: 0xddb056fed9714b49
+ldc1 :: offset: 0xd0, out: 0xc7361b4cc3f706fb
+ldc1 :: offset: 0xd8, out: 0xceb42022ca753d95
+ldc1 :: offset: 0xe0, out: 0xf23a8028f6fb9d9f
+ldc1 :: offset: 0xe8, out: 0xfbb8bb46ff79a6f1
+ldc1 :: offset: 0xf0, out: 0xe13ef6f4e5ffeb43
+ldc1 :: offset: 0xf8, out: 0xe8bccd9aec7dd02d
+ldc1 :: offset: 0x100, out: 0x3486707730476dc0
+ldc1 :: offset: 0x108, out: 0x3d044b1939c556ae
+ldc1 :: offset: 0x110, out: 0x278206ab23431b1c
+ldc1 :: offset: 0x118, out: 0x2e003dc52ac12072
+ldc1 :: offset: 0x120, out: 0x128e9dcf164f8078
+ldc1 :: offset: 0x128, out: 0x1b0ca6a11fcdbb16
+ldc1 :: offset: 0x130, out: 0x18aeb13054bf6a4
+ldc1 :: offset: 0x138, out: 0x808d07d0cc9cdca
+ldc1 :: offset: 0x140, out: 0x7897ab077c56b6b0
+ldc1 :: offset: 0x148, out: 0x7115906975d48dde
+ldc1 :: offset: 0x150, out: 0x6b93dddb6f52c06c
+ldc1 :: offset: 0x158, out: 0x6211e6b566d0fb02
+ldc1 :: offset: 0x160, out: 0x5e9f46bf5a5e5b08
+ldc1 :: offset: 0x168, out: 0x571d7dd153dc6066
+ldc1 :: offset: 0x170, out: 0x4d9b3063495a2dd4
+ldc1 :: offset: 0x178, out: 0x44190b0d40d816ba
+ldc1 :: offset: 0x180, out: 0xaca5c697a864db20
+ldc1 :: offset: 0x188, out: 0xa527fdf9a1e6e04e
+ldc1 :: offset: 0x190, out: 0xbfa1b04bbb60adfc
+ldc1 :: offset: 0x198, out: 0xb6238b25b2e29692
+ldc1 :: offset: 0x1a0, out: 0x8aad2b2f00000000
+ldc1 :: offset: 0x1a8, out: 0x87ee0df6
+ldc1 :: offset: 0x1b0, out: 0x99a95df39d684044
+ldc1 :: offset: 0x1b8, out: 0x902b669d94ea7b2a
+ldc1 :: offset: 0x1c0, out: 0xe0b41de7e4750050
+ldc1 :: offset: 0x1c8, out: 0xe9362689edf73b3e
+ldc1 :: offset: 0x1d0, out: 0xf3b06b3bf771768c
+ldc1 :: offset: 0x1d8, out: 0xfa325055fef34de2
+ldc1 :: offset: 0x1e0, out: 0xc6bcf05fc27dede8
+ldc1 :: offset: 0x1e8, out: 0xcf3ecb31cbffd686
+ldc1 :: offset: 0x1f0, out: 0xd5b88683d1799b34
+ldc1 :: offset: 0x1f8, out: 0xdc3abdedd8fba05a
+ldc1 :: offset: 0x200, out: 0x690ce0ee6dcdfd59
+ldc1 :: offset: 0x208, out: 0x608edb80644fc637
+ldc1 :: offset: 0x210, out: 0x7a0896327ec98b85
+ldc1 :: offset: 0x218, out: 0x738aad5c774bb0eb
+ldc1 :: offset: 0x220, out: 0x4f040d564bc510e1
+ldc1 :: offset: 0x228, out: 0x4686363842472b8f
+ldc1 :: offset: 0x230, out: 0x5c007b8a58c1663d
+ldc1 :: offset: 0x238, out: 0x558240e451435d53
+ldc1 :: offset: 0x240, out: 0x251d3b9e21dc2629
+ldc1 :: offset: 0x248, out: 0x2c9f00f0285e1d47
+ldc1 :: offset: 0x250, out: 0x36194d4232d850f5
+ldc1 :: offset: 0x258, out: 0x3f9b762c3b5a6b9b
+ldc1 :: offset: 0x260, out: 0x315d62607d4cb91
+ldc1 :: offset: 0x268, out: 0xa97ed480e56f0ff
+ldc1 :: offset: 0x270, out: 0x1011a0fa14d0bd4d
+ldc1 :: offset: 0x278, out: 0x19939b941d528623
+ldc1 :: offset: 0x280, out: 0xf12f560ef5ee4bb9
+ldc1 :: offset: 0x288, out: 0xf8ad6d60fc6c70d7
+ldc1 :: offset: 0x290, out: 0xe22b20d2e6ea3d65
+ldc1 :: offset: 0x298, out: 0xeba91bbcef68060b
+ldc1 :: offset: 0x2a0, out: 0xd727bbb6d3e6a601
+ldc1 :: offset: 0x2a8, out: 0xdea580d8da649d6f
+ldc1 :: offset: 0x2b0, out: 0xc423cd6a00000000
+ldc1 :: offset: 0x2b8, out: 0xcda1f60400000000
+ldc1 :: offset: 0x2c0, out: 0xbd3e8d7eb9ff90c9
+ldc1 :: offset: 0x2c8, out: 0xb4bcb610b07daba7
+ldc1 :: offset: 0x2d0, out: 0xae3afba2aafbe615
+ldc1 :: offset: 0x2d8, out: 0xa7b8c0cca379dd7b
+ldc1 :: offset: 0x2e0, out: 0x9b3660c69ff77d71
+ldc1 :: offset: 0x2e8, out: 0x92b45ba89675461f
+ldc1 :: offset: 0x2f0, out: 0x8832161a8cf30bad
+ldc1 :: offset: 0x2f8, out: 0x81b02d74857130c3
+ldc1 :: offset: 0x300, out: 0x5d8a9099594b8d2e
+ldc1 :: offset: 0x308, out: 0x5408abf750c9b640
+ldc1 :: offset: 0x310, out: 0x4e8ee6454a4ffbf2
+ldc1 :: offset: 0x318, out: 0x470cdd2b43cdc09c
+ldc1 :: offset: 0x320, out: 0x7b827d217f436096
+ldc1 :: offset: 0x328, out: 0x7200464f76c15bf8
+ldc1 :: offset: 0x330, out: 0x68860bfd6c47164a
+ldc1 :: offset: 0x338, out: 0x6104309365c52d24
+ldc1 :: offset: 0x340, out: 0x119b4be9155a565e
+ldc1 :: offset: 0x348, out: 0x181970871cd86d30
+ldc1 :: offset: 0x350, out: 0x29f3d35065e2082
+ldc1 :: offset: 0x358, out: 0xb1d065b0fdc1bec
+ldc1 :: offset: 0x360, out: 0x3793a6513352bbe6
+ldc1 :: offset: 0x368, out: 0x3e119d3f3ad08088
+ldc1 :: offset: 0x370, out: 0x2497d08d2056cd3a
+ldc1 :: offset: 0x378, out: 0x2d15ebe329d4f654
+ldc1 :: offset: 0x380, out: 0xc5a92679c1683bce
+ldc1 :: offset: 0x388, out: 0xcc2b1d17c8ea00a0
+ldc1 :: offset: 0x390, out: 0xd6ad50a5d26c4d12
+ldc1 :: offset: 0x398, out: 0xdf2f6bcbdbee767c
+ldc1 :: offset: 0x3a0, out: 0xe3a1cbc1e760d676
+ldc1 :: offset: 0x3a8, out: 0xea23f0afeee2ed18
+ldc1 :: offset: 0x3b0, out: 0xf0a5bd1df464a0aa
+ldc1 :: offset: 0x3b8, out: 0xf9278673fde69bc4
+ldc1 :: offset: 0x3c0, out: 0x89b8fd098d79e0be
+ldc1 :: offset: 0x3c8, out: 0x803ac66784fbdbd0
+ldc1 :: offset: 0x3d0, out: 0x9abc8bd59e7d9662
+ldc1 :: offset: 0x3d8, out: 0x933eb0bb97ffad0c
+ldc1 :: offset: 0x3e0, out: 0xafb010b1ab710d06
+ldc1 :: offset: 0x3e8, out: 0xa6322bdfa2f33668
+ldc1 :: offset: 0x3f0, out: 0xbcb4666db8757bda
+ldc1 :: offset: 0x3f8, out: 0xb5365d03b1f740b4
+ldc1 :: offset: 0x0, out: 0x12bd6aa
+ldc1 :: offset: 0x8, out: 0x7e876382d2ab13
+ldc1 :: offset: 0x10, out: 0x976d6e9ac31510f3
+ldc1 :: offset: 0x18, out: 0xb7746d775ad6a5fb
+ldc1 :: offset: 0x20, out: 0x42b0c0a28677b502
+ldc1 :: offset: 0x28, out: 0x2aa89d319e3c30ad
+ldc1 :: offset: 0x30, out: 0x1f308ec377fb413d
+ldc1 :: offset: 0x38, out: 0x7aa04213c760e4f7
+ldc1 :: offset: 0x40, out: 0x9e705cc51ad8dca0
+ldc1 :: offset: 0x48, out: 0x4b3dda869615a60d
+ldc1 :: offset: 0x50, out: 0x5e7a4dd6353d41d
+ldc1 :: offset: 0x58, out: 0x3af35a9dc40bd413
+ldc1 :: offset: 0x60, out: 0x47f505569a08a180
+ldc1 :: offset: 0x68, out: 0x9564b77fd6d2040f
+ldc1 :: offset: 0x70, out: 0xcebc8279b2c76bbe
+ldc1 :: offset: 0x78, out: 0xb5034c2f1f18e4c7
+ldc1 :: offset: 0x80, out: 0x94ff52fc81afa797
+ldc1 :: offset: 0x88, out: 0x31d8d9166dfc50ea
+ldc1 :: offset: 0x90, out: 0x36549bd678e895b1
+ldc1 :: offset: 0x98, out: 0x85e0a6319b63259b
+ldc1 :: offset: 0xa0, out: 0x556b3ecaccf17ac5
+ldc1 :: offset: 0xa8, out: 0xb42f5fc581eea0fb
+ldc1 :: offset: 0xb0, out: 0x25b50fec14682d97
+ldc1 :: offset: 0xb8, out: 0xfc93c5132cfb087a
+ldc1 :: offset: 0xc0, out: 0x3c2cd9a9cda20766
+ldc1 :: offset: 0xc8, out: 0x1791722a7d72da3e
+ldc1 :: offset: 0xd0, out: 0x87cc9d193ce24ad
+ldc1 :: offset: 0xd8, out: 0x1d2a757038984ed2
+ldc1 :: offset: 0xe0, out: 0xd0d070db710cd036
+ldc1 :: offset: 0xe8, out: 0x39c21c7d03415604
+ldc1 :: offset: 0xf0, out: 0x8e94b7af8ecc31ce
+ldc1 :: offset: 0xf8, out: 0x24eb6a8d1ce7674f
+ldc1 :: offset: 0x100, out: 0x2f39454412d6e4a7
+ldc1 :: offset: 0x108, out: 0x2608c2b756da4c54
+ldc1 :: offset: 0x110, out: 0x900102dac8d7252f
+ldc1 :: offset: 0x118, out: 0xc890d5f1f2efa4f7
+ldc1 :: offset: 0x120, out: 0xed5005cbc8b0a214
+ldc1 :: offset: 0x128, out: 0x314791895991136c
+ldc1 :: offset: 0x130, out: 0xc6eecff99a2fb6f3
+ldc1 :: offset: 0x138, out: 0xa809521238895270
+ldc1 :: offset: 0x140, out: 0x87750a04ad765040
+ldc1 :: offset: 0x148, out: 0x2c3de85e84bb5a83
+ldc1 :: offset: 0x150, out: 0xae6aff8fc506aa67
+ldc1 :: offset: 0x158, out: 0xc07112dd60ed5ee3
+ldc1 :: offset: 0x160, out: 0xc4c770f630dcca5a
+ldc1 :: offset: 0x168, out: 0xdfec2b2383cd5277
+ldc1 :: offset: 0x170, out: 0xd3adba260ff7d96b
+ldc1 :: offset: 0x178, out: 0x4ab4aa798418c00e
+ldc1 :: offset: 0x180, out: 0xbb8c035e0de0f0b8
+ldc1 :: offset: 0x188, out: 0x33b06f54a97fdcf1
+ldc1 :: offset: 0x190, out: 0x77433f373fd1c081
+ldc1 :: offset: 0x198, out: 0xec91d993c92195e4
+ldc1 :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab
+ldc1 :: offset: 0x1a8, out: 0x19364378c7ce8d1e
+ldc1 :: offset: 0x1b0, out: 0xb99e8def2f384907
+ldc1 :: offset: 0x1b8, out: 0x47eacdcd582b12fe
+ldc1 :: offset: 0x1c0, out: 0xd685884e76558c4f
+ldc1 :: offset: 0x1c8, out: 0x6168d62a34c195c7
+ldc1 :: offset: 0x1d0, out: 0xd30169894df47405
+ldc1 :: offset: 0x1d8, out: 0x1ca190bf6cbb06db
+ldc1 :: offset: 0x1e0, out: 0x58300f029cae393a
+ldc1 :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d
+ldc1 :: offset: 0x1f0, out: 0x8a96047be3405b48
+ldc1 :: offset: 0x1f8, out: 0x75bfafd2d519d322
+ldc1 :: offset: 0x200, out: 0xde230867a630f6ad
+ldc1 :: offset: 0x208, out: 0x2c0a0cf256103260
+ldc1 :: offset: 0x210, out: 0x94a90544249b18ef
+ldc1 :: offset: 0x218, out: 0xf9519fb55b56fcde
+ldc1 :: offset: 0x220, out: 0x81daf8200468319b
+ldc1 :: offset: 0x228, out: 0x8c61ca5a5725f2ec
+ldc1 :: offset: 0x230, out: 0x8b95a6ddc25dc8bf
+ldc1 :: offset: 0x238, out: 0x300ce751dac6162f
+ldc1 :: offset: 0x240, out: 0x6778fdf3ba52a850
+ldc1 :: offset: 0x248, out: 0xad00b1f7da78479f
+ldc1 :: offset: 0x250, out: 0x8d44168a6b6d98a
+ldc1 :: offset: 0x258, out: 0xf518381dce634413
+ldc1 :: offset: 0x260, out: 0xe4627f3fe5255fc0
+ldc1 :: offset: 0x268, out: 0xccd392e176321f28
+ldc1 :: offset: 0x270, out: 0x829464944018fd8f
+ldc1 :: offset: 0x278, out: 0x15d3204052e8f0e5
+ldc1 :: offset: 0x280, out: 0x7caf83d2880ff344
+ldc1 :: offset: 0x288, out: 0xf156a04c747defd7
+ldc1 :: offset: 0x290, out: 0x93e2601c0f31d710
+ldc1 :: offset: 0x298, out: 0xe1e1a679131cd933
+ldc1 :: offset: 0x2a0, out: 0x24296b75a76fa427
+ldc1 :: offset: 0x2a8, out: 0xd296e2d2139ee56a
+ldc1 :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0
+ldc1 :: offset: 0x2b8, out: 0x76c89e80c07dc168
+ldc1 :: offset: 0x2c0, out: 0x70dc3454bfe348f
+ldc1 :: offset: 0x2c8, out: 0xbddc7123dd6d241b
+ldc1 :: offset: 0x2d0, out: 0xf62fb727a59fcebe
+ldc1 :: offset: 0x2d8, out: 0x109f27e90f9f46fb
+ldc1 :: offset: 0x2e0, out: 0x3f63daa9afd199d7
+ldc1 :: offset: 0x2e8, out: 0xdbcb312ea3d484f2
+ldc1 :: offset: 0x2f0, out: 0x1f353faada4fe4c6
+ldc1 :: offset: 0x2f8, out: 0x8b086ee07150c260
+ldc1 :: offset: 0x300, out: 0xe54750d5d9257f25
+ldc1 :: offset: 0x308, out: 0x3d69625fe9a6db5b
+ldc1 :: offset: 0x310, out: 0x70a3e0424340ac96
+ldc1 :: offset: 0x318, out: 0xc0478f036980171e
+ldc1 :: offset: 0x320, out: 0x3ce839a51cf929e3
+ldc1 :: offset: 0x328, out: 0xe2fbfa895eb68958
+ldc1 :: offset: 0x330, out: 0xd24bb05d76ed25b7
+ldc1 :: offset: 0x338, out: 0xeb9682c170312f1
+ldc1 :: offset: 0x340, out: 0x84785280dd301d0d
+ldc1 :: offset: 0x348, out: 0x179c77aa1f8fd6ef
+ldc1 :: offset: 0x350, out: 0x26444ced2998436d
+ldc1 :: offset: 0x358, out: 0x7175c9dd58ca708
+ldc1 :: offset: 0x360, out: 0x663d061055833287
+ldc1 :: offset: 0x368, out: 0xab7dd0488951d68b
+ldc1 :: offset: 0x370, out: 0xf69823670e82471b
+ldc1 :: offset: 0x378, out: 0x36886c59d98d26b2
+ldc1 :: offset: 0x380, out: 0x9ca4bdbd32be479
+ldc1 :: offset: 0x388, out: 0xfd5d7d1d9962e61f
+ldc1 :: offset: 0x390, out: 0x3f46553ecad374df
+ldc1 :: offset: 0x398, out: 0x2e9ab97d3eedf2a7
+ldc1 :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33
+ldc1 :: offset: 0x3a8, out: 0x8bb938e3155ec9dc
+ldc1 :: offset: 0x3b0, out: 0xd2df25c419478206
+ldc1 :: offset: 0x3b8, out: 0xbc65bf27eb321825
+ldc1 :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da
+ldc1 :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8
+ldc1 :: offset: 0x3d0, out: 0x478909b59a99269
+ldc1 :: offset: 0x3d8, out: 0xbfb31cc87857360f
+ldc1 :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2
+ldc1 :: offset: 0x3e8, out: 0x15da9474b7a8d5e4
+ldc1 :: offset: 0x3f0, out: 0xf6b3537d2af90fcc
+ldc1 :: offset: 0x3f8, out: 0x223d7cfe2b961897
+ldc1 :: offset: 0x400, out: 0x420b34f533734a4b
+ldc1 :: offset: 0x408, out: 0x897c8c8ddd46b33c
+ldc1 :: offset: 0x410, out: 0x7a387445e392ccd9
+ldc1 :: offset: 0x418, out: 0x512f29b1d80000c9
+ldc1 :: offset: 0x420, out: 0xeaded5c53dad020a
+ldc1 :: offset: 0x428, out: 0x8a6229d731eea35b
+ldc1 :: offset: 0x430, out: 0x2c3c3f9e48985649
+ldc1 :: offset: 0x438, out: 0x7ff61e78dc9c0b77
+ldc1 :: offset: 0x440, out: 0x2299b0e01d5e68ec
+ldc1 :: offset: 0x448, out: 0x7c3b04673d0c6e25
+ldc1 :: offset: 0x450, out: 0x164e17c1e7fb6587
+ldc1 :: offset: 0x458, out: 0xfa4ca28b56d4950b
+ldc1 :: offset: 0x460, out: 0xe5e9a314be7fa08a
+ldc1 :: offset: 0x468, out: 0xf8be8164159649c5
+ldc1 :: offset: 0x470, out: 0x7ca3259784e69b17
+ldc1 :: offset: 0x478, out: 0xfc8d543ca1f24f5c
+ldc1 :: offset: 0x480, out: 0x4aeb6ca0e3459e36
+ldc1 :: offset: 0x488, out: 0xc532e18e187980fa
+ldc1 :: offset: 0x490, out: 0xb3fdec294f287d1c
+ldc1 :: offset: 0x498, out: 0xb620660a49732b90
+ldc1 :: offset: 0x4a0, out: 0x993138f16cfde991
+ldc1 :: offset: 0x4a8, out: 0xde02d1337d5407b9
+ldc1 :: offset: 0x4b0, out: 0x13a390e1e1dab15a
+ldc1 :: offset: 0x4b8, out: 0x743491a6828716c8
+ldc1 :: offset: 0x4c0, out: 0x8cff404aede292f2
+ldc1 :: offset: 0x4c8, out: 0xb9cec0db1f837636
+ldc1 :: offset: 0x4d0, out: 0x2eaa5aa70509771c
+ldc1 :: offset: 0x4d8, out: 0xd327538e1875241b
+ldc1 :: offset: 0x4e0, out: 0x42e9f8548b739b6b
+ldc1 :: offset: 0x4e8, out: 0x78e4e50ceccbba1a
+ldc1 :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb
+ldc1 :: offset: 0x4f8, out: 0x73916483ae3e9423
+ldc1 :: offset: 0x500, out: 0x276af70a0e128561
+ldc1 :: offset: 0x508, out: 0x3045bf6b5e74b6e
+ldc1 :: offset: 0x510, out: 0x20223f1308accfa6
+ldc1 :: offset: 0x518, out: 0xf83c55743976b5f5
+ldc1 :: offset: 0x520, out: 0x1f9720f946923c3d
+ldc1 :: offset: 0x528, out: 0x620d28506d2448dd
+ldc1 :: offset: 0x530, out: 0x60a521e99ff4a732
+ldc1 :: offset: 0x538, out: 0x5a08f3ab5c680f0b
+ldc1 :: offset: 0x540, out: 0xc7a59be7800f3d26
+ldc1 :: offset: 0x548, out: 0x1aecdf2982ca1b41
+ldc1 :: offset: 0x550, out: 0x2b8613a260d19dcd
+ldc1 :: offset: 0x558, out: 0x2518ac8b0e8bbe7f
+ldc1 :: offset: 0x560, out: 0x743e568d2fcf486b
+ldc1 :: offset: 0x568, out: 0x126f646f34c31728
+ldc1 :: offset: 0x570, out: 0xaab0196156fc4d12
+ldc1 :: offset: 0x578, out: 0x7535cd338595d342
+ldc1 :: offset: 0x580, out: 0xdfb254da422346ec
+ldc1 :: offset: 0x588, out: 0xa86726c90081ab2a
+ldc1 :: offset: 0x590, out: 0x9bfeffa1679d7438
+ldc1 :: offset: 0x598, out: 0xc7699826b7dee244
+ldc1 :: offset: 0x5a0, out: 0x3c07af97fba6704a
+ldc1 :: offset: 0x5a8, out: 0x521364dc04c58bfe
+ldc1 :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc
+ldc1 :: offset: 0x5b8, out: 0xe336c60cdeeb954d
+ldc1 :: offset: 0x5c0, out: 0xd5b2120c6f52416e
+ldc1 :: offset: 0x5c8, out: 0x85a2d4ff7e628a34
+ldc1 :: offset: 0x5d0, out: 0x986a2b654a4e7e07
+ldc1 :: offset: 0x5d8, out: 0xa974eac43a489b55
+ldc1 :: offset: 0x5e0, out: 0xa388c16272f1f8f5
+ldc1 :: offset: 0x5e8, out: 0xe8c11f45e7495ea9
+ldc1 :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4
+ldc1 :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0
+ldc1 :: offset: 0x600, out: 0xb42ad6e659a7b04f
+ldc1 :: offset: 0x608, out: 0x4bf8485ab728922f
+ldc1 :: offset: 0x610, out: 0x76a3d60c3b66a7fb
+ldc1 :: offset: 0x618, out: 0x31e0c6affdc28eda
+ldc1 :: offset: 0x620, out: 0x53606bb4bf0c999d
+ldc1 :: offset: 0x628, out: 0x32fc12c81b7919f0
+ldc1 :: offset: 0x630, out: 0x3ef88384c72efcd6
+ldc1 :: offset: 0x638, out: 0x38b1c7bb6a2a3580
+ldc1 :: offset: 0x640, out: 0x15ebf6121dca77c9
+ldc1 :: offset: 0x648, out: 0x5eaacdd9fd9147ae
+ldc1 :: offset: 0x650, out: 0xbb8470f981e91117
+ldc1 :: offset: 0x658, out: 0x5d42aeac6a532e0
+ldc1 :: offset: 0x660, out: 0x14abf36419fb9e63
+ldc1 :: offset: 0x668, out: 0x249d559aa8d72aac
+ldc1 :: offset: 0x670, out: 0xcd6764f084b30ec
+ldc1 :: offset: 0x678, out: 0x7f03ac0792468fdf
+ldc1 :: offset: 0x680, out: 0x7e35ce6d56e670f5
+ldc1 :: offset: 0x688, out: 0x152828591a652711
+ldc1 :: offset: 0x690, out: 0x9e1c3283d215a9fb
+ldc1 :: offset: 0x698, out: 0x8d95c049282a0417
+ldc1 :: offset: 0x6a0, out: 0xf2e7a490978058f3
+ldc1 :: offset: 0x6a8, out: 0x775b4cca0975b1aa
+ldc1 :: offset: 0x6b0, out: 0xa2b84a635111020
+ldc1 :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f
+ldc1 :: offset: 0x6c0, out: 0xa3d991b79941dedd
+ldc1 :: offset: 0x6c8, out: 0x751cb4835a0d9508
+ldc1 :: offset: 0x6d0, out: 0x949cad35625bb2d3
+ldc1 :: offset: 0x6d8, out: 0x7f567f35a6929739
+ldc1 :: offset: 0x6e0, out: 0x185b88e0db8d7d27
+ldc1 :: offset: 0x6e8, out: 0x255a4cd22fd61b91
+ldc1 :: offset: 0x6f0, out: 0x1048d589a4363f7b
+ldc1 :: offset: 0x6f8, out: 0x6a6d5708f4605790
+ldc1 :: offset: 0x700, out: 0xd58ecbabde35697f
+ldc1 :: offset: 0x708, out: 0x575548fd08c0a5f1
+ldc1 :: offset: 0x710, out: 0x8bb640fb8ed98ddb
+ldc1 :: offset: 0x718, out: 0xbe00d51eabc578cc
+ldc1 :: offset: 0x720, out: 0x2f7e224a1c170ab2
+ldc1 :: offset: 0x728, out: 0xa978f12ca22256a7
+ldc1 :: offset: 0x730, out: 0x9950a93b811ee02f
+ldc1 :: offset: 0x738, out: 0xb44eea93c6796a0c
+ldc1 :: offset: 0x740, out: 0xfe71fca06c0eb657
+ldc1 :: offset: 0x748, out: 0x4ed6393df818af57
+ldc1 :: offset: 0x750, out: 0xf22e90200236770a
+ldc1 :: offset: 0x758, out: 0x81efb6c7afd0c45d
+ldc1 :: offset: 0x760, out: 0xeed8f3518102315b
+ldc1 :: offset: 0x768, out: 0xadafefb9995efd5e
+ldc1 :: offset: 0x770, out: 0x34061933eb253086
+ldc1 :: offset: 0x778, out: 0x1748da264b4c52bc
+ldc1 :: offset: 0x780, out: 0x34fdfc9a9302be89
+ldc1 :: offset: 0x788, out: 0xd00278c3c521d180
+ldc1 :: offset: 0x790, out: 0xe90944a4c1d37a5d
+ldc1 :: offset: 0x798, out: 0x65fd698fddef9839
+ldc1 :: offset: 0x7a0, out: 0xc49ee3ad81b5af52
+ldc1 :: offset: 0x7a8, out: 0x7aa941e8bdb263e9
+ldc1 :: offset: 0x7b0, out: 0x372c209e42f3b58d
+ldc1 :: offset: 0x7b8, out: 0x30f870b7e122a83b
+ldc1 :: offset: 0x7c0, out: 0x9e02de4b678930ec
+ldc1 :: offset: 0x7c8, out: 0xcd61a8639826631e
+ldc1 :: offset: 0x7d0, out: 0xae87bc899a7bd3ca
+ldc1 :: offset: 0x7d8, out: 0x58ec644d6481af17
+ldc1 :: offset: 0x7e0, out: 0x680cce5fb236b666
+ldc1 :: offset: 0x7e8, out: 0x3baa99471f6d4d75
+ldc1 :: offset: 0x7f0, out: 0x614d9b445f12236b
+ldc1 :: offset: 0x7f8, out: 0xa2a6ec661ba84121
+--- LDXC1 ---
+ldxc1 :: offset: 0x0, out: 0x0
+ldxc1 :: offset: 0x8, out: 0x9823b6e0d4326d9
+ldxc1 :: offset: 0x10, out: 0x130476dc17c56b6b
+ldxc1 :: offset: 0x18, out: 0x1a864db21e475005
+ldxc1 :: offset: 0x20, out: 0x2608edb822c9f00f
+ldxc1 :: offset: 0x28, out: 0x2f8ad6d62b4bcb61
+ldxc1 :: offset: 0x30, out: 0x350c9b6431cd86d3
+ldxc1 :: offset: 0x38, out: 0x3c8ea00a384fbdbd
+ldxc1 :: offset: 0x40, out: 0x4c11db7048d0c6c7
+ldxc1 :: offset: 0x48, out: 0x4593e01e4152fda9
+ldxc1 :: offset: 0x50, out: 0x5f15adac5bd4b01b
+ldxc1 :: offset: 0x58, out: 0x569796c252568b75
+ldxc1 :: offset: 0x60, out: 0x6a1936c86ed82b7f
+ldxc1 :: offset: 0x68, out: 0x639b0da6675a1011
+ldxc1 :: offset: 0x70, out: 0x791d40147ddc5da3
+ldxc1 :: offset: 0x78, out: 0x709f7b7a745e66cd
+ldxc1 :: offset: 0x80, out: 0x9823b6e09ce2ab57
+ldxc1 :: offset: 0x88, out: 0x91a18d8e95609039
+ldxc1 :: offset: 0x90, out: 0x8b27c03c8fe6dd8b
+ldxc1 :: offset: 0x98, out: 0x82a5fb528664e6e5
+ldxc1 :: offset: 0xa0, out: 0xbe2b5b58baea46ef
+ldxc1 :: offset: 0xa8, out: 0xb7a96036b3687d81
+ldxc1 :: offset: 0xb0, out: 0xad2f2d84a9ee3033
+ldxc1 :: offset: 0xb8, out: 0xa4ad16eaa06c0b5d
+ldxc1 :: offset: 0xc0, out: 0xd4326d90d0f37027
+ldxc1 :: offset: 0xc8, out: 0xddb056fed9714b49
+ldxc1 :: offset: 0xd0, out: 0xc7361b4cc3f706fb
+ldxc1 :: offset: 0xd8, out: 0xceb42022ca753d95
+ldxc1 :: offset: 0xe0, out: 0xf23a8028f6fb9d9f
+ldxc1 :: offset: 0xe8, out: 0xfbb8bb46ff79a6f1
+ldxc1 :: offset: 0xf0, out: 0xe13ef6f4e5ffeb43
+ldxc1 :: offset: 0xf8, out: 0xe8bccd9aec7dd02d
+ldxc1 :: offset: 0x100, out: 0x3486707730476dc0
+ldxc1 :: offset: 0x108, out: 0x3d044b1939c556ae
+ldxc1 :: offset: 0x110, out: 0x278206ab23431b1c
+ldxc1 :: offset: 0x118, out: 0x2e003dc52ac12072
+ldxc1 :: offset: 0x120, out: 0x128e9dcf164f8078
+ldxc1 :: offset: 0x128, out: 0x1b0ca6a11fcdbb16
+ldxc1 :: offset: 0x130, out: 0x18aeb13054bf6a4
+ldxc1 :: offset: 0x138, out: 0x808d07d0cc9cdca
+ldxc1 :: offset: 0x140, out: 0x7897ab077c56b6b0
+ldxc1 :: offset: 0x148, out: 0x7115906975d48dde
+ldxc1 :: offset: 0x150, out: 0x6b93dddb6f52c06c
+ldxc1 :: offset: 0x158, out: 0x6211e6b566d0fb02
+ldxc1 :: offset: 0x160, out: 0x5e9f46bf5a5e5b08
+ldxc1 :: offset: 0x168, out: 0x571d7dd153dc6066
+ldxc1 :: offset: 0x170, out: 0x4d9b3063495a2dd4
+ldxc1 :: offset: 0x178, out: 0x44190b0d40d816ba
+ldxc1 :: offset: 0x180, out: 0xaca5c697a864db20
+ldxc1 :: offset: 0x188, out: 0xa527fdf9a1e6e04e
+ldxc1 :: offset: 0x190, out: 0xbfa1b04bbb60adfc
+ldxc1 :: offset: 0x198, out: 0xb6238b25b2e29692
+ldxc1 :: offset: 0x1a0, out: 0x8aad2b2f00000000
+ldxc1 :: offset: 0x1a8, out: 0x87ee0df6
+ldxc1 :: offset: 0x1b0, out: 0x99a95df39d684044
+ldxc1 :: offset: 0x1b8, out: 0x902b669d94ea7b2a
+ldxc1 :: offset: 0x1c0, out: 0xe0b41de7e4750050
+ldxc1 :: offset: 0x1c8, out: 0xe9362689edf73b3e
+ldxc1 :: offset: 0x1d0, out: 0xf3b06b3bf771768c
+ldxc1 :: offset: 0x1d8, out: 0xfa325055fef34de2
+ldxc1 :: offset: 0x1e0, out: 0xc6bcf05fc27dede8
+ldxc1 :: offset: 0x1e8, out: 0xcf3ecb31cbffd686
+ldxc1 :: offset: 0x1f0, out: 0xd5b88683d1799b34
+ldxc1 :: offset: 0x1f8, out: 0xdc3abdedd8fba05a
+ldxc1 :: offset: 0x200, out: 0x690ce0ee6dcdfd59
+ldxc1 :: offset: 0x208, out: 0x608edb80644fc637
+ldxc1 :: offset: 0x210, out: 0x7a0896327ec98b85
+ldxc1 :: offset: 0x218, out: 0x738aad5c774bb0eb
+ldxc1 :: offset: 0x220, out: 0x4f040d564bc510e1
+ldxc1 :: offset: 0x228, out: 0x4686363842472b8f
+ldxc1 :: offset: 0x230, out: 0x5c007b8a58c1663d
+ldxc1 :: offset: 0x238, out: 0x558240e451435d53
+ldxc1 :: offset: 0x240, out: 0x251d3b9e21dc2629
+ldxc1 :: offset: 0x248, out: 0x2c9f00f0285e1d47
+ldxc1 :: offset: 0x250, out: 0x36194d4232d850f5
+ldxc1 :: offset: 0x258, out: 0x3f9b762c3b5a6b9b
+ldxc1 :: offset: 0x260, out: 0x315d62607d4cb91
+ldxc1 :: offset: 0x268, out: 0xa97ed480e56f0ff
+ldxc1 :: offset: 0x270, out: 0x1011a0fa14d0bd4d
+ldxc1 :: offset: 0x278, out: 0x19939b941d528623
+ldxc1 :: offset: 0x280, out: 0xf12f560ef5ee4bb9
+ldxc1 :: offset: 0x288, out: 0xf8ad6d60fc6c70d7
+ldxc1 :: offset: 0x290, out: 0xe22b20d2e6ea3d65
+ldxc1 :: offset: 0x298, out: 0xeba91bbcef68060b
+ldxc1 :: offset: 0x2a0, out: 0xd727bbb6d3e6a601
+ldxc1 :: offset: 0x2a8, out: 0xdea580d8da649d6f
+ldxc1 :: offset: 0x2b0, out: 0xc423cd6a00000000
+ldxc1 :: offset: 0x2b8, out: 0xcda1f60400000000
+ldxc1 :: offset: 0x2c0, out: 0xbd3e8d7eb9ff90c9
+ldxc1 :: offset: 0x2c8, out: 0xb4bcb610b07daba7
+ldxc1 :: offset: 0x2d0, out: 0xae3afba2aafbe615
+ldxc1 :: offset: 0x2d8, out: 0xa7b8c0cca379dd7b
+ldxc1 :: offset: 0x2e0, out: 0x9b3660c69ff77d71
+ldxc1 :: offset: 0x2e8, out: 0x92b45ba89675461f
+ldxc1 :: offset: 0x2f0, out: 0x8832161a8cf30bad
+ldxc1 :: offset: 0x2f8, out: 0x81b02d74857130c3
+ldxc1 :: offset: 0x300, out: 0x5d8a9099594b8d2e
+ldxc1 :: offset: 0x308, out: 0x5408abf750c9b640
+ldxc1 :: offset: 0x310, out: 0x4e8ee6454a4ffbf2
+ldxc1 :: offset: 0x318, out: 0x470cdd2b43cdc09c
+ldxc1 :: offset: 0x320, out: 0x7b827d217f436096
+ldxc1 :: offset: 0x328, out: 0x7200464f76c15bf8
+ldxc1 :: offset: 0x330, out: 0x68860bfd6c47164a
+ldxc1 :: offset: 0x338, out: 0x6104309365c52d24
+ldxc1 :: offset: 0x340, out: 0x119b4be9155a565e
+ldxc1 :: offset: 0x348, out: 0x181970871cd86d30
+ldxc1 :: offset: 0x350, out: 0x29f3d35065e2082
+ldxc1 :: offset: 0x358, out: 0xb1d065b0fdc1bec
+ldxc1 :: offset: 0x360, out: 0x3793a6513352bbe6
+ldxc1 :: offset: 0x368, out: 0x3e119d3f3ad08088
+ldxc1 :: offset: 0x370, out: 0x2497d08d2056cd3a
+ldxc1 :: offset: 0x378, out: 0x2d15ebe329d4f654
+ldxc1 :: offset: 0x380, out: 0xc5a92679c1683bce
+ldxc1 :: offset: 0x388, out: 0xcc2b1d17c8ea00a0
+ldxc1 :: offset: 0x390, out: 0xd6ad50a5d26c4d12
+ldxc1 :: offset: 0x398, out: 0xdf2f6bcbdbee767c
+ldxc1 :: offset: 0x3a0, out: 0xe3a1cbc1e760d676
+ldxc1 :: offset: 0x3a8, out: 0xea23f0afeee2ed18
+ldxc1 :: offset: 0x3b0, out: 0xf0a5bd1df464a0aa
+ldxc1 :: offset: 0x3b8, out: 0xf9278673fde69bc4
+ldxc1 :: offset: 0x3c0, out: 0x89b8fd098d79e0be
+ldxc1 :: offset: 0x3c8, out: 0x803ac66784fbdbd0
+ldxc1 :: offset: 0x3d0, out: 0x9abc8bd59e7d9662
+ldxc1 :: offset: 0x3d8, out: 0x933eb0bb97ffad0c
+ldxc1 :: offset: 0x3e0, out: 0xafb010b1ab710d06
+ldxc1 :: offset: 0x3e8, out: 0xa6322bdfa2f33668
+ldxc1 :: offset: 0x3f0, out: 0xbcb4666db8757bda
+ldxc1 :: offset: 0x3f8, out: 0xb5365d03b1f740b4
+ldxc1 :: offset: 0x0, out: 0x12bd6aa
+ldxc1 :: offset: 0x8, out: 0x7e876382d2ab13
+ldxc1 :: offset: 0x10, out: 0x976d6e9ac31510f3
+ldxc1 :: offset: 0x18, out: 0xb7746d775ad6a5fb
+ldxc1 :: offset: 0x20, out: 0x42b0c0a28677b502
+ldxc1 :: offset: 0x28, out: 0x2aa89d319e3c30ad
+ldxc1 :: offset: 0x30, out: 0x1f308ec377fb413d
+ldxc1 :: offset: 0x38, out: 0x7aa04213c760e4f7
+ldxc1 :: offset: 0x40, out: 0x9e705cc51ad8dca0
+ldxc1 :: offset: 0x48, out: 0x4b3dda869615a60d
+ldxc1 :: offset: 0x50, out: 0x5e7a4dd6353d41d
+ldxc1 :: offset: 0x58, out: 0x3af35a9dc40bd413
+ldxc1 :: offset: 0x60, out: 0x47f505569a08a180
+ldxc1 :: offset: 0x68, out: 0x9564b77fd6d2040f
+ldxc1 :: offset: 0x70, out: 0xcebc8279b2c76bbe
+ldxc1 :: offset: 0x78, out: 0xb5034c2f1f18e4c7
+ldxc1 :: offset: 0x80, out: 0x94ff52fc81afa797
+ldxc1 :: offset: 0x88, out: 0x31d8d9166dfc50ea
+ldxc1 :: offset: 0x90, out: 0x36549bd678e895b1
+ldxc1 :: offset: 0x98, out: 0x85e0a6319b63259b
+ldxc1 :: offset: 0xa0, out: 0x556b3ecaccf17ac5
+ldxc1 :: offset: 0xa8, out: 0xb42f5fc581eea0fb
+ldxc1 :: offset: 0xb0, out: 0x25b50fec14682d97
+ldxc1 :: offset: 0xb8, out: 0xfc93c5132cfb087a
+ldxc1 :: offset: 0xc0, out: 0x3c2cd9a9cda20766
+ldxc1 :: offset: 0xc8, out: 0x1791722a7d72da3e
+ldxc1 :: offset: 0xd0, out: 0x87cc9d193ce24ad
+ldxc1 :: offset: 0xd8, out: 0x1d2a757038984ed2
+ldxc1 :: offset: 0xe0, out: 0xd0d070db710cd036
+ldxc1 :: offset: 0xe8, out: 0x39c21c7d03415604
+ldxc1 :: offset: 0xf0, out: 0x8e94b7af8ecc31ce
+ldxc1 :: offset: 0xf8, out: 0x24eb6a8d1ce7674f
+ldxc1 :: offset: 0x100, out: 0x2f39454412d6e4a7
+ldxc1 :: offset: 0x108, out: 0x2608c2b756da4c54
+ldxc1 :: offset: 0x110, out: 0x900102dac8d7252f
+ldxc1 :: offset: 0x118, out: 0xc890d5f1f2efa4f7
+ldxc1 :: offset: 0x120, out: 0xed5005cbc8b0a214
+ldxc1 :: offset: 0x128, out: 0x314791895991136c
+ldxc1 :: offset: 0x130, out: 0xc6eecff99a2fb6f3
+ldxc1 :: offset: 0x138, out: 0xa809521238895270
+ldxc1 :: offset: 0x140, out: 0x87750a04ad765040
+ldxc1 :: offset: 0x148, out: 0x2c3de85e84bb5a83
+ldxc1 :: offset: 0x150, out: 0xae6aff8fc506aa67
+ldxc1 :: offset: 0x158, out: 0xc07112dd60ed5ee3
+ldxc1 :: offset: 0x160, out: 0xc4c770f630dcca5a
+ldxc1 :: offset: 0x168, out: 0xdfec2b2383cd5277
+ldxc1 :: offset: 0x170, out: 0xd3adba260ff7d96b
+ldxc1 :: offset: 0x178, out: 0x4ab4aa798418c00e
+ldxc1 :: offset: 0x180, out: 0xbb8c035e0de0f0b8
+ldxc1 :: offset: 0x188, out: 0x33b06f54a97fdcf1
+ldxc1 :: offset: 0x190, out: 0x77433f373fd1c081
+ldxc1 :: offset: 0x198, out: 0xec91d993c92195e4
+ldxc1 :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab
+ldxc1 :: offset: 0x1a8, out: 0x19364378c7ce8d1e
+ldxc1 :: offset: 0x1b0, out: 0xb99e8def2f384907
+ldxc1 :: offset: 0x1b8, out: 0x47eacdcd582b12fe
+ldxc1 :: offset: 0x1c0, out: 0xd685884e76558c4f
+ldxc1 :: offset: 0x1c8, out: 0x6168d62a34c195c7
+ldxc1 :: offset: 0x1d0, out: 0xd30169894df47405
+ldxc1 :: offset: 0x1d8, out: 0x1ca190bf6cbb06db
+ldxc1 :: offset: 0x1e0, out: 0x58300f029cae393a
+ldxc1 :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d
+ldxc1 :: offset: 0x1f0, out: 0x8a96047be3405b48
+ldxc1 :: offset: 0x1f8, out: 0x75bfafd2d519d322
+ldxc1 :: offset: 0x200, out: 0xde230867a630f6ad
+ldxc1 :: offset: 0x208, out: 0x2c0a0cf256103260
+ldxc1 :: offset: 0x210, out: 0x94a90544249b18ef
+ldxc1 :: offset: 0x218, out: 0xf9519fb55b56fcde
+ldxc1 :: offset: 0x220, out: 0x81daf8200468319b
+ldxc1 :: offset: 0x228, out: 0x8c61ca5a5725f2ec
+ldxc1 :: offset: 0x230, out: 0x8b95a6ddc25dc8bf
+ldxc1 :: offset: 0x238, out: 0x300ce751dac6162f
+ldxc1 :: offset: 0x240, out: 0x6778fdf3ba52a850
+ldxc1 :: offset: 0x248, out: 0xad00b1f7da78479f
+ldxc1 :: offset: 0x250, out: 0x8d44168a6b6d98a
+ldxc1 :: offset: 0x258, out: 0xf518381dce634413
+ldxc1 :: offset: 0x260, out: 0xe4627f3fe5255fc0
+ldxc1 :: offset: 0x268, out: 0xccd392e176321f28
+ldxc1 :: offset: 0x270, out: 0x829464944018fd8f
+ldxc1 :: offset: 0x278, out: 0x15d3204052e8f0e5
+ldxc1 :: offset: 0x280, out: 0x7caf83d2880ff344
+ldxc1 :: offset: 0x288, out: 0xf156a04c747defd7
+ldxc1 :: offset: 0x290, out: 0x93e2601c0f31d710
+ldxc1 :: offset: 0x298, out: 0xe1e1a679131cd933
+ldxc1 :: offset: 0x2a0, out: 0x24296b75a76fa427
+ldxc1 :: offset: 0x2a8, out: 0xd296e2d2139ee56a
+ldxc1 :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0
+ldxc1 :: offset: 0x2b8, out: 0x76c89e80c07dc168
+ldxc1 :: offset: 0x2c0, out: 0x70dc3454bfe348f
+ldxc1 :: offset: 0x2c8, out: 0xbddc7123dd6d241b
+ldxc1 :: offset: 0x2d0, out: 0xf62fb727a59fcebe
+ldxc1 :: offset: 0x2d8, out: 0x109f27e90f9f46fb
+ldxc1 :: offset: 0x2e0, out: 0x3f63daa9afd199d7
+ldxc1 :: offset: 0x2e8, out: 0xdbcb312ea3d484f2
+ldxc1 :: offset: 0x2f0, out: 0x1f353faada4fe4c6
+ldxc1 :: offset: 0x2f8, out: 0x8b086ee07150c260
+ldxc1 :: offset: 0x300, out: 0xe54750d5d9257f25
+ldxc1 :: offset: 0x308, out: 0x3d69625fe9a6db5b
+ldxc1 :: offset: 0x310, out: 0x70a3e0424340ac96
+ldxc1 :: offset: 0x318, out: 0xc0478f036980171e
+ldxc1 :: offset: 0x320, out: 0x3ce839a51cf929e3
+ldxc1 :: offset: 0x328, out: 0xe2fbfa895eb68958
+ldxc1 :: offset: 0x330, out: 0xd24bb05d76ed25b7
+ldxc1 :: offset: 0x338, out: 0xeb9682c170312f1
+ldxc1 :: offset: 0x340, out: 0x84785280dd301d0d
+ldxc1 :: offset: 0x348, out: 0x179c77aa1f8fd6ef
+ldxc1 :: offset: 0x350, out: 0x26444ced2998436d
+ldxc1 :: offset: 0x358, out: 0x7175c9dd58ca708
+ldxc1 :: offset: 0x360, out: 0x663d061055833287
+ldxc1 :: offset: 0x368, out: 0xab7dd0488951d68b
+ldxc1 :: offset: 0x370, out: 0xf69823670e82471b
+ldxc1 :: offset: 0x378, out: 0x36886c59d98d26b2
+ldxc1 :: offset: 0x380, out: 0x9ca4bdbd32be479
+ldxc1 :: offset: 0x388, out: 0xfd5d7d1d9962e61f
+ldxc1 :: offset: 0x390, out: 0x3f46553ecad374df
+ldxc1 :: offset: 0x398, out: 0x2e9ab97d3eedf2a7
+ldxc1 :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33
+ldxc1 :: offset: 0x3a8, out: 0x8bb938e3155ec9dc
+ldxc1 :: offset: 0x3b0, out: 0xd2df25c419478206
+ldxc1 :: offset: 0x3b8, out: 0xbc65bf27eb321825
+ldxc1 :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da
+ldxc1 :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8
+ldxc1 :: offset: 0x3d0, out: 0x478909b59a99269
+ldxc1 :: offset: 0x3d8, out: 0xbfb31cc87857360f
+ldxc1 :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2
+ldxc1 :: offset: 0x3e8, out: 0x15da9474b7a8d5e4
+ldxc1 :: offset: 0x3f0, out: 0xf6b3537d2af90fcc
+ldxc1 :: offset: 0x3f8, out: 0x223d7cfe2b961897
+ldxc1 :: offset: 0x400, out: 0x420b34f533734a4b
+ldxc1 :: offset: 0x408, out: 0x897c8c8ddd46b33c
+ldxc1 :: offset: 0x410, out: 0x7a387445e392ccd9
+ldxc1 :: offset: 0x418, out: 0x512f29b1d80000c9
+ldxc1 :: offset: 0x420, out: 0xeaded5c53dad020a
+ldxc1 :: offset: 0x428, out: 0x8a6229d731eea35b
+ldxc1 :: offset: 0x430, out: 0x2c3c3f9e48985649
+ldxc1 :: offset: 0x438, out: 0x7ff61e78dc9c0b77
+ldxc1 :: offset: 0x440, out: 0x2299b0e01d5e68ec
+ldxc1 :: offset: 0x448, out: 0x7c3b04673d0c6e25
+ldxc1 :: offset: 0x450, out: 0x164e17c1e7fb6587
+ldxc1 :: offset: 0x458, out: 0xfa4ca28b56d4950b
+ldxc1 :: offset: 0x460, out: 0xe5e9a314be7fa08a
+ldxc1 :: offset: 0x468, out: 0xf8be8164159649c5
+ldxc1 :: offset: 0x470, out: 0x7ca3259784e69b17
+ldxc1 :: offset: 0x478, out: 0xfc8d543ca1f24f5c
+ldxc1 :: offset: 0x480, out: 0x4aeb6ca0e3459e36
+ldxc1 :: offset: 0x488, out: 0xc532e18e187980fa
+ldxc1 :: offset: 0x490, out: 0xb3fdec294f287d1c
+ldxc1 :: offset: 0x498, out: 0xb620660a49732b90
+ldxc1 :: offset: 0x4a0, out: 0x993138f16cfde991
+ldxc1 :: offset: 0x4a8, out: 0xde02d1337d5407b9
+ldxc1 :: offset: 0x4b0, out: 0x13a390e1e1dab15a
+ldxc1 :: offset: 0x4b8, out: 0x743491a6828716c8
+ldxc1 :: offset: 0x4c0, out: 0x8cff404aede292f2
+ldxc1 :: offset: 0x4c8, out: 0xb9cec0db1f837636
+ldxc1 :: offset: 0x4d0, out: 0x2eaa5aa70509771c
+ldxc1 :: offset: 0x4d8, out: 0xd327538e1875241b
+ldxc1 :: offset: 0x4e0, out: 0x42e9f8548b739b6b
+ldxc1 :: offset: 0x4e8, out: 0x78e4e50ceccbba1a
+ldxc1 :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb
+ldxc1 :: offset: 0x4f8, out: 0x73916483ae3e9423
+ldxc1 :: offset: 0x500, out: 0x276af70a0e128561
+ldxc1 :: offset: 0x508, out: 0x3045bf6b5e74b6e
+ldxc1 :: offset: 0x510, out: 0x20223f1308accfa6
+ldxc1 :: offset: 0x518, out: 0xf83c55743976b5f5
+ldxc1 :: offset: 0x520, out: 0x1f9720f946923c3d
+ldxc1 :: offset: 0x528, out: 0x620d28506d2448dd
+ldxc1 :: offset: 0x530, out: 0x60a521e99ff4a732
+ldxc1 :: offset: 0x538, out: 0x5a08f3ab5c680f0b
+ldxc1 :: offset: 0x540, out: 0xc7a59be7800f3d26
+ldxc1 :: offset: 0x548, out: 0x1aecdf2982ca1b41
+ldxc1 :: offset: 0x550, out: 0x2b8613a260d19dcd
+ldxc1 :: offset: 0x558, out: 0x2518ac8b0e8bbe7f
+ldxc1 :: offset: 0x560, out: 0x743e568d2fcf486b
+ldxc1 :: offset: 0x568, out: 0x126f646f34c31728
+ldxc1 :: offset: 0x570, out: 0xaab0196156fc4d12
+ldxc1 :: offset: 0x578, out: 0x7535cd338595d342
+ldxc1 :: offset: 0x580, out: 0xdfb254da422346ec
+ldxc1 :: offset: 0x588, out: 0xa86726c90081ab2a
+ldxc1 :: offset: 0x590, out: 0x9bfeffa1679d7438
+ldxc1 :: offset: 0x598, out: 0xc7699826b7dee244
+ldxc1 :: offset: 0x5a0, out: 0x3c07af97fba6704a
+ldxc1 :: offset: 0x5a8, out: 0x521364dc04c58bfe
+ldxc1 :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc
+ldxc1 :: offset: 0x5b8, out: 0xe336c60cdeeb954d
+ldxc1 :: offset: 0x5c0, out: 0xd5b2120c6f52416e
+ldxc1 :: offset: 0x5c8, out: 0x85a2d4ff7e628a34
+ldxc1 :: offset: 0x5d0, out: 0x986a2b654a4e7e07
+ldxc1 :: offset: 0x5d8, out: 0xa974eac43a489b55
+ldxc1 :: offset: 0x5e0, out: 0xa388c16272f1f8f5
+ldxc1 :: offset: 0x5e8, out: 0xe8c11f45e7495ea9
+ldxc1 :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4
+ldxc1 :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0
+ldxc1 :: offset: 0x600, out: 0xb42ad6e659a7b04f
+ldxc1 :: offset: 0x608, out: 0x4bf8485ab728922f
+ldxc1 :: offset: 0x610, out: 0x76a3d60c3b66a7fb
+ldxc1 :: offset: 0x618, out: 0x31e0c6affdc28eda
+ldxc1 :: offset: 0x620, out: 0x53606bb4bf0c999d
+ldxc1 :: offset: 0x628, out: 0x32fc12c81b7919f0
+ldxc1 :: offset: 0x630, out: 0x3ef88384c72efcd6
+ldxc1 :: offset: 0x638, out: 0x38b1c7bb6a2a3580
+ldxc1 :: offset: 0x640, out: 0x15ebf6121dca77c9
+ldxc1 :: offset: 0x648, out: 0x5eaacdd9fd9147ae
+ldxc1 :: offset: 0x650, out: 0xbb8470f981e91117
+ldxc1 :: offset: 0x658, out: 0x5d42aeac6a532e0
+ldxc1 :: offset: 0x660, out: 0x14abf36419fb9e63
+ldxc1 :: offset: 0x668, out: 0x249d559aa8d72aac
+ldxc1 :: offset: 0x670, out: 0xcd6764f084b30ec
+ldxc1 :: offset: 0x678, out: 0x7f03ac0792468fdf
+ldxc1 :: offset: 0x680, out: 0x7e35ce6d56e670f5
+ldxc1 :: offset: 0x688, out: 0x152828591a652711
+ldxc1 :: offset: 0x690, out: 0x9e1c3283d215a9fb
+ldxc1 :: offset: 0x698, out: 0x8d95c049282a0417
+ldxc1 :: offset: 0x6a0, out: 0xf2e7a490978058f3
+ldxc1 :: offset: 0x6a8, out: 0x775b4cca0975b1aa
+ldxc1 :: offset: 0x6b0, out: 0xa2b84a635111020
+ldxc1 :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f
+ldxc1 :: offset: 0x6c0, out: 0xa3d991b79941dedd
+ldxc1 :: offset: 0x6c8, out: 0x751cb4835a0d9508
+ldxc1 :: offset: 0x6d0, out: 0x949cad35625bb2d3
+ldxc1 :: offset: 0x6d8, out: 0x7f567f35a6929739
+ldxc1 :: offset: 0x6e0, out: 0x185b88e0db8d7d27
+ldxc1 :: offset: 0x6e8, out: 0x255a4cd22fd61b91
+ldxc1 :: offset: 0x6f0, out: 0x1048d589a4363f7b
+ldxc1 :: offset: 0x6f8, out: 0x6a6d5708f4605790
+ldxc1 :: offset: 0x700, out: 0xd58ecbabde35697f
+ldxc1 :: offset: 0x708, out: 0x575548fd08c0a5f1
+ldxc1 :: offset: 0x710, out: 0x8bb640fb8ed98ddb
+ldxc1 :: offset: 0x718, out: 0xbe00d51eabc578cc
+ldxc1 :: offset: 0x720, out: 0x2f7e224a1c170ab2
+ldxc1 :: offset: 0x728, out: 0xa978f12ca22256a7
+ldxc1 :: offset: 0x730, out: 0x9950a93b811ee02f
+ldxc1 :: offset: 0x738, out: 0xb44eea93c6796a0c
+ldxc1 :: offset: 0x740, out: 0xfe71fca06c0eb657
+ldxc1 :: offset: 0x748, out: 0x4ed6393df818af57
+ldxc1 :: offset: 0x750, out: 0xf22e90200236770a
+ldxc1 :: offset: 0x758, out: 0x81efb6c7afd0c45d
+ldxc1 :: offset: 0x760, out: 0xeed8f3518102315b
+ldxc1 :: offset: 0x768, out: 0xadafefb9995efd5e
+ldxc1 :: offset: 0x770, out: 0x34061933eb253086
+ldxc1 :: offset: 0x778, out: 0x1748da264b4c52bc
+ldxc1 :: offset: 0x780, out: 0x34fdfc9a9302be89
+ldxc1 :: offset: 0x788, out: 0xd00278c3c521d180
+ldxc1 :: offset: 0x790, out: 0xe90944a4c1d37a5d
+ldxc1 :: offset: 0x798, out: 0x65fd698fddef9839
+ldxc1 :: offset: 0x7a0, out: 0xc49ee3ad81b5af52
+ldxc1 :: offset: 0x7a8, out: 0x7aa941e8bdb263e9
+ldxc1 :: offset: 0x7b0, out: 0x372c209e42f3b58d
+ldxc1 :: offset: 0x7b8, out: 0x30f870b7e122a83b
+ldxc1 :: offset: 0x7c0, out: 0x9e02de4b678930ec
+ldxc1 :: offset: 0x7c8, out: 0xcd61a8639826631e
+ldxc1 :: offset: 0x7d0, out: 0xae87bc899a7bd3ca
+ldxc1 :: offset: 0x7d8, out: 0x58ec644d6481af17
+ldxc1 :: offset: 0x7e0, out: 0x680cce5fb236b666
+ldxc1 :: offset: 0x7e8, out: 0x3baa99471f6d4d75
+ldxc1 :: offset: 0x7f0, out: 0x614d9b445f12236b
+ldxc1 :: offset: 0x7f8, out: 0xa2a6ec661ba84121
+--- LWC1 ---
+lwc1 :: offset: 0x0, out: 0x0
+lwc1 :: offset: 0x4, out: 0x0
+lwc1 :: offset: 0x8, out: 0x9823b6e
+lwc1 :: offset: 0xc, out: 0xd4326d9
+lwc1 :: offset: 0x10, out: 0x130476dc
+lwc1 :: offset: 0x14, out: 0x17c56b6b
+lwc1 :: offset: 0x18, out: 0x1a864db2
+lwc1 :: offset: 0x1c, out: 0x1e475005
+lwc1 :: offset: 0x20, out: 0x2608edb8
+lwc1 :: offset: 0x24, out: 0x22c9f00f
+lwc1 :: offset: 0x28, out: 0x2f8ad6d6
+lwc1 :: offset: 0x2c, out: 0x2b4bcb61
+lwc1 :: offset: 0x30, out: 0x350c9b64
+lwc1 :: offset: 0x34, out: 0x31cd86d3
+lwc1 :: offset: 0x38, out: 0x3c8ea00a
+lwc1 :: offset: 0x3c, out: 0x384fbdbd
+lwc1 :: offset: 0x40, out: 0x4c11db70
+lwc1 :: offset: 0x44, out: 0x48d0c6c7
+lwc1 :: offset: 0x48, out: 0x4593e01e
+lwc1 :: offset: 0x4c, out: 0x4152fda9
+lwc1 :: offset: 0x50, out: 0x5f15adac
+lwc1 :: offset: 0x54, out: 0x5bd4b01b
+lwc1 :: offset: 0x58, out: 0x569796c2
+lwc1 :: offset: 0x5c, out: 0x52568b75
+lwc1 :: offset: 0x60, out: 0x6a1936c8
+lwc1 :: offset: 0x64, out: 0x6ed82b7f
+lwc1 :: offset: 0x68, out: 0x639b0da6
+lwc1 :: offset: 0x6c, out: 0x675a1011
+lwc1 :: offset: 0x70, out: 0x791d4014
+lwc1 :: offset: 0x74, out: 0x7ddc5da3
+lwc1 :: offset: 0x78, out: 0x709f7b7a
+lwc1 :: offset: 0x7c, out: 0x745e66cd
+lwc1 :: offset: 0x80, out: 0x9823b6e0
+lwc1 :: offset: 0x84, out: 0x9ce2ab57
+lwc1 :: offset: 0x88, out: 0x91a18d8e
+lwc1 :: offset: 0x8c, out: 0x95609039
+lwc1 :: offset: 0x90, out: 0x8b27c03c
+lwc1 :: offset: 0x94, out: 0x8fe6dd8b
+lwc1 :: offset: 0x98, out: 0x82a5fb52
+lwc1 :: offset: 0x9c, out: 0x8664e6e5
+lwc1 :: offset: 0xa0, out: 0xbe2b5b58
+lwc1 :: offset: 0xa4, out: 0xbaea46ef
+lwc1 :: offset: 0xa8, out: 0xb7a96036
+lwc1 :: offset: 0xac, out: 0xb3687d81
+lwc1 :: offset: 0xb0, out: 0xad2f2d84
+lwc1 :: offset: 0xb4, out: 0xa9ee3033
+lwc1 :: offset: 0xb8, out: 0xa4ad16ea
+lwc1 :: offset: 0xbc, out: 0xa06c0b5d
+lwc1 :: offset: 0xc0, out: 0xd4326d90
+lwc1 :: offset: 0xc4, out: 0xd0f37027
+lwc1 :: offset: 0xc8, out: 0xddb056fe
+lwc1 :: offset: 0xcc, out: 0xd9714b49
+lwc1 :: offset: 0xd0, out: 0xc7361b4c
+lwc1 :: offset: 0xd4, out: 0xc3f706fb
+lwc1 :: offset: 0xd8, out: 0xceb42022
+lwc1 :: offset: 0xdc, out: 0xca753d95
+lwc1 :: offset: 0xe0, out: 0xf23a8028
+lwc1 :: offset: 0xe4, out: 0xf6fb9d9f
+lwc1 :: offset: 0xe8, out: 0xfbb8bb46
+lwc1 :: offset: 0xec, out: 0xff79a6f1
+lwc1 :: offset: 0xf0, out: 0xe13ef6f4
+lwc1 :: offset: 0xf4, out: 0xe5ffeb43
+lwc1 :: offset: 0xf8, out: 0xe8bccd9a
+lwc1 :: offset: 0xfc, out: 0xec7dd02d
+lwc1 :: offset: 0x100, out: 0x34867077
+lwc1 :: offset: 0x104, out: 0x30476dc0
+lwc1 :: offset: 0x108, out: 0x3d044b19
+lwc1 :: offset: 0x10c, out: 0x39c556ae
+lwc1 :: offset: 0x110, out: 0x278206ab
+lwc1 :: offset: 0x114, out: 0x23431b1c
+lwc1 :: offset: 0x118, out: 0x2e003dc5
+lwc1 :: offset: 0x11c, out: 0x2ac12072
+lwc1 :: offset: 0x120, out: 0x128e9dcf
+lwc1 :: offset: 0x124, out: 0x164f8078
+lwc1 :: offset: 0x128, out: 0x1b0ca6a1
+lwc1 :: offset: 0x12c, out: 0x1fcdbb16
+lwc1 :: offset: 0x130, out: 0x18aeb13
+lwc1 :: offset: 0x134, out: 0x54bf6a4
+lwc1 :: offset: 0x138, out: 0x808d07d
+lwc1 :: offset: 0x13c, out: 0xcc9cdca
+lwc1 :: offset: 0x140, out: 0x7897ab07
+lwc1 :: offset: 0x144, out: 0x7c56b6b0
+lwc1 :: offset: 0x148, out: 0x71159069
+lwc1 :: offset: 0x14c, out: 0x75d48dde
+lwc1 :: offset: 0x150, out: 0x6b93dddb
+lwc1 :: offset: 0x154, out: 0x6f52c06c
+lwc1 :: offset: 0x158, out: 0x6211e6b5
+lwc1 :: offset: 0x15c, out: 0x66d0fb02
+lwc1 :: offset: 0x160, out: 0x5e9f46bf
+lwc1 :: offset: 0x164, out: 0x5a5e5b08
+lwc1 :: offset: 0x168, out: 0x571d7dd1
+lwc1 :: offset: 0x16c, out: 0x53dc6066
+lwc1 :: offset: 0x170, out: 0x4d9b3063
+lwc1 :: offset: 0x174, out: 0x495a2dd4
+lwc1 :: offset: 0x178, out: 0x44190b0d
+lwc1 :: offset: 0x17c, out: 0x40d816ba
+lwc1 :: offset: 0x180, out: 0xaca5c697
+lwc1 :: offset: 0x184, out: 0xa864db20
+lwc1 :: offset: 0x188, out: 0xa527fdf9
+lwc1 :: offset: 0x18c, out: 0xa1e6e04e
+lwc1 :: offset: 0x190, out: 0xbfa1b04b
+lwc1 :: offset: 0x194, out: 0xbb60adfc
+lwc1 :: offset: 0x198, out: 0xb6238b25
+lwc1 :: offset: 0x19c, out: 0xb2e29692
+lwc1 :: offset: 0x1a0, out: 0x8aad2b2f
+lwc1 :: offset: 0x1a4, out: 0x0
+lwc1 :: offset: 0x1a8, out: 0x0
+lwc1 :: offset: 0x1ac, out: 0x87ee0df6
+lwc1 :: offset: 0x1b0, out: 0x99a95df3
+lwc1 :: offset: 0x1b4, out: 0x9d684044
+lwc1 :: offset: 0x1b8, out: 0x902b669d
+lwc1 :: offset: 0x1bc, out: 0x94ea7b2a
+lwc1 :: offset: 0x1c0, out: 0xe0b41de7
+lwc1 :: offset: 0x1c4, out: 0xe4750050
+lwc1 :: offset: 0x1c8, out: 0xe9362689
+lwc1 :: offset: 0x1cc, out: 0xedf73b3e
+lwc1 :: offset: 0x1d0, out: 0xf3b06b3b
+lwc1 :: offset: 0x1d4, out: 0xf771768c
+lwc1 :: offset: 0x1d8, out: 0xfa325055
+lwc1 :: offset: 0x1dc, out: 0xfef34de2
+lwc1 :: offset: 0x1e0, out: 0xc6bcf05f
+lwc1 :: offset: 0x1e4, out: 0xc27dede8
+lwc1 :: offset: 0x1e8, out: 0xcf3ecb31
+lwc1 :: offset: 0x1ec, out: 0xcbffd686
+lwc1 :: offset: 0x1f0, out: 0xd5b88683
+lwc1 :: offset: 0x1f4, out: 0xd1799b34
+lwc1 :: offset: 0x1f8, out: 0xdc3abded
+lwc1 :: offset: 0x1fc, out: 0xd8fba05a
+lwc1 :: offset: 0x200, out: 0x690ce0ee
+lwc1 :: offset: 0x204, out: 0x6dcdfd59
+lwc1 :: offset: 0x208, out: 0x608edb80
+lwc1 :: offset: 0x20c, out: 0x644fc637
+lwc1 :: offset: 0x210, out: 0x7a089632
+lwc1 :: offset: 0x214, out: 0x7ec98b85
+lwc1 :: offset: 0x218, out: 0x738aad5c
+lwc1 :: offset: 0x21c, out: 0x774bb0eb
+lwc1 :: offset: 0x220, out: 0x4f040d56
+lwc1 :: offset: 0x224, out: 0x4bc510e1
+lwc1 :: offset: 0x228, out: 0x46863638
+lwc1 :: offset: 0x22c, out: 0x42472b8f
+lwc1 :: offset: 0x230, out: 0x5c007b8a
+lwc1 :: offset: 0x234, out: 0x58c1663d
+lwc1 :: offset: 0x238, out: 0x558240e4
+lwc1 :: offset: 0x23c, out: 0x51435d53
+lwc1 :: offset: 0x240, out: 0x251d3b9e
+lwc1 :: offset: 0x244, out: 0x21dc2629
+lwc1 :: offset: 0x248, out: 0x2c9f00f0
+lwc1 :: offset: 0x24c, out: 0x285e1d47
+lwc1 :: offset: 0x250, out: 0x36194d42
+lwc1 :: offset: 0x254, out: 0x32d850f5
+lwc1 :: offset: 0x258, out: 0x3f9b762c
+lwc1 :: offset: 0x25c, out: 0x3b5a6b9b
+lwc1 :: offset: 0x260, out: 0x315d626
+lwc1 :: offset: 0x264, out: 0x7d4cb91
+lwc1 :: offset: 0x268, out: 0xa97ed48
+lwc1 :: offset: 0x26c, out: 0xe56f0ff
+lwc1 :: offset: 0x270, out: 0x1011a0fa
+lwc1 :: offset: 0x274, out: 0x14d0bd4d
+lwc1 :: offset: 0x278, out: 0x19939b94
+lwc1 :: offset: 0x27c, out: 0x1d528623
+lwc1 :: offset: 0x280, out: 0xf12f560e
+lwc1 :: offset: 0x284, out: 0xf5ee4bb9
+lwc1 :: offset: 0x288, out: 0xf8ad6d60
+lwc1 :: offset: 0x28c, out: 0xfc6c70d7
+lwc1 :: offset: 0x290, out: 0xe22b20d2
+lwc1 :: offset: 0x294, out: 0xe6ea3d65
+lwc1 :: offset: 0x298, out: 0xeba91bbc
+lwc1 :: offset: 0x29c, out: 0xef68060b
+lwc1 :: offset: 0x2a0, out: 0xd727bbb6
+lwc1 :: offset: 0x2a4, out: 0xd3e6a601
+lwc1 :: offset: 0x2a8, out: 0xdea580d8
+lwc1 :: offset: 0x2ac, out: 0xda649d6f
+lwc1 :: offset: 0x2b0, out: 0xc423cd6a
+lwc1 :: offset: 0x2b4, out: 0x0
+lwc1 :: offset: 0x2b8, out: 0xcda1f604
+lwc1 :: offset: 0x2bc, out: 0x0
+lwc1 :: offset: 0x2c0, out: 0xbd3e8d7e
+lwc1 :: offset: 0x2c4, out: 0xb9ff90c9
+lwc1 :: offset: 0x2c8, out: 0xb4bcb610
+lwc1 :: offset: 0x2cc, out: 0xb07daba7
+lwc1 :: offset: 0x2d0, out: 0xae3afba2
+lwc1 :: offset: 0x2d4, out: 0xaafbe615
+lwc1 :: offset: 0x2d8, out: 0xa7b8c0cc
+lwc1 :: offset: 0x2dc, out: 0xa379dd7b
+lwc1 :: offset: 0x2e0, out: 0x9b3660c6
+lwc1 :: offset: 0x2e4, out: 0x9ff77d71
+lwc1 :: offset: 0x2e8, out: 0x92b45ba8
+lwc1 :: offset: 0x2ec, out: 0x9675461f
+lwc1 :: offset: 0x2f0, out: 0x8832161a
+lwc1 :: offset: 0x2f4, out: 0x8cf30bad
+lwc1 :: offset: 0x2f8, out: 0x81b02d74
+lwc1 :: offset: 0x2fc, out: 0x857130c3
+lwc1 :: offset: 0x300, out: 0x5d8a9099
+lwc1 :: offset: 0x304, out: 0x594b8d2e
+lwc1 :: offset: 0x308, out: 0x5408abf7
+lwc1 :: offset: 0x30c, out: 0x50c9b640
+lwc1 :: offset: 0x310, out: 0x4e8ee645
+lwc1 :: offset: 0x314, out: 0x4a4ffbf2
+lwc1 :: offset: 0x318, out: 0x470cdd2b
+lwc1 :: offset: 0x31c, out: 0x43cdc09c
+lwc1 :: offset: 0x320, out: 0x7b827d21
+lwc1 :: offset: 0x324, out: 0x7f436096
+lwc1 :: offset: 0x328, out: 0x7200464f
+lwc1 :: offset: 0x32c, out: 0x76c15bf8
+lwc1 :: offset: 0x330, out: 0x68860bfd
+lwc1 :: offset: 0x334, out: 0x6c47164a
+lwc1 :: offset: 0x338, out: 0x61043093
+lwc1 :: offset: 0x33c, out: 0x65c52d24
+lwc1 :: offset: 0x340, out: 0x119b4be9
+lwc1 :: offset: 0x344, out: 0x155a565e
+lwc1 :: offset: 0x348, out: 0x18197087
+lwc1 :: offset: 0x34c, out: 0x1cd86d30
+lwc1 :: offset: 0x350, out: 0x29f3d35
+lwc1 :: offset: 0x354, out: 0x65e2082
+lwc1 :: offset: 0x358, out: 0xb1d065b
+lwc1 :: offset: 0x35c, out: 0xfdc1bec
+lwc1 :: offset: 0x360, out: 0x3793a651
+lwc1 :: offset: 0x364, out: 0x3352bbe6
+lwc1 :: offset: 0x368, out: 0x3e119d3f
+lwc1 :: offset: 0x36c, out: 0x3ad08088
+lwc1 :: offset: 0x370, out: 0x2497d08d
+lwc1 :: offset: 0x374, out: 0x2056cd3a
+lwc1 :: offset: 0x378, out: 0x2d15ebe3
+lwc1 :: offset: 0x37c, out: 0x29d4f654
+lwc1 :: offset: 0x380, out: 0xc5a92679
+lwc1 :: offset: 0x384, out: 0xc1683bce
+lwc1 :: offset: 0x388, out: 0xcc2b1d17
+lwc1 :: offset: 0x38c, out: 0xc8ea00a0
+lwc1 :: offset: 0x390, out: 0xd6ad50a5
+lwc1 :: offset: 0x394, out: 0xd26c4d12
+lwc1 :: offset: 0x398, out: 0xdf2f6bcb
+lwc1 :: offset: 0x39c, out: 0xdbee767c
+lwc1 :: offset: 0x3a0, out: 0xe3a1cbc1
+lwc1 :: offset: 0x3a4, out: 0xe760d676
+lwc1 :: offset: 0x3a8, out: 0xea23f0af
+lwc1 :: offset: 0x3ac, out: 0xeee2ed18
+lwc1 :: offset: 0x3b0, out: 0xf0a5bd1d
+lwc1 :: offset: 0x3b4, out: 0xf464a0aa
+lwc1 :: offset: 0x3b8, out: 0xf9278673
+lwc1 :: offset: 0x3bc, out: 0xfde69bc4
+lwc1 :: offset: 0x3c0, out: 0x89b8fd09
+lwc1 :: offset: 0x3c4, out: 0x8d79e0be
+lwc1 :: offset: 0x3c8, out: 0x803ac667
+lwc1 :: offset: 0x3cc, out: 0x84fbdbd0
+lwc1 :: offset: 0x3d0, out: 0x9abc8bd5
+lwc1 :: offset: 0x3d4, out: 0x9e7d9662
+lwc1 :: offset: 0x3d8, out: 0x933eb0bb
+lwc1 :: offset: 0x3dc, out: 0x97ffad0c
+lwc1 :: offset: 0x3e0, out: 0xafb010b1
+lwc1 :: offset: 0x3e4, out: 0xab710d06
+lwc1 :: offset: 0x3e8, out: 0xa6322bdf
+lwc1 :: offset: 0x3ec, out: 0xa2f33668
+lwc1 :: offset: 0x3f0, out: 0xbcb4666d
+lwc1 :: offset: 0x3f4, out: 0xb8757bda
+lwc1 :: offset: 0x3f8, out: 0xb5365d03
+lwc1 :: offset: 0x3fc, out: 0xb1f740b4
+lwc1 :: offset: 0x0, out: 0x0
+lwc1 :: offset: 0x4, out: 0x12bd6aa
+lwc1 :: offset: 0x8, out: 0x7e8763
+lwc1 :: offset: 0xc, out: 0x82d2ab13
+lwc1 :: offset: 0x10, out: 0x976d6e9a
+lwc1 :: offset: 0x14, out: 0xc31510f3
+lwc1 :: offset: 0x18, out: 0xb7746d77
+lwc1 :: offset: 0x1c, out: 0x5ad6a5fb
+lwc1 :: offset: 0x20, out: 0x42b0c0a2
+lwc1 :: offset: 0x24, out: 0x8677b502
+lwc1 :: offset: 0x28, out: 0x2aa89d31
+lwc1 :: offset: 0x2c, out: 0x9e3c30ad
+lwc1 :: offset: 0x30, out: 0x1f308ec3
+lwc1 :: offset: 0x34, out: 0x77fb413d
+lwc1 :: offset: 0x38, out: 0x7aa04213
+lwc1 :: offset: 0x3c, out: 0xc760e4f7
+lwc1 :: offset: 0x40, out: 0x9e705cc5
+lwc1 :: offset: 0x44, out: 0x1ad8dca0
+lwc1 :: offset: 0x48, out: 0x4b3dda86
+lwc1 :: offset: 0x4c, out: 0x9615a60d
+lwc1 :: offset: 0x50, out: 0x5e7a4dd
+lwc1 :: offset: 0x54, out: 0x6353d41d
+lwc1 :: offset: 0x58, out: 0x3af35a9d
+lwc1 :: offset: 0x5c, out: 0xc40bd413
+lwc1 :: offset: 0x60, out: 0x47f50556
+lwc1 :: offset: 0x64, out: 0x9a08a180
+lwc1 :: offset: 0x68, out: 0x9564b77f
+lwc1 :: offset: 0x6c, out: 0xd6d2040f
+lwc1 :: offset: 0x70, out: 0xcebc8279
+lwc1 :: offset: 0x74, out: 0xb2c76bbe
+lwc1 :: offset: 0x78, out: 0xb5034c2f
+lwc1 :: offset: 0x7c, out: 0x1f18e4c7
+lwc1 :: offset: 0x80, out: 0x94ff52fc
+lwc1 :: offset: 0x84, out: 0x81afa797
+lwc1 :: offset: 0x88, out: 0x31d8d916
+lwc1 :: offset: 0x8c, out: 0x6dfc50ea
+lwc1 :: offset: 0x90, out: 0x36549bd6
+lwc1 :: offset: 0x94, out: 0x78e895b1
+lwc1 :: offset: 0x98, out: 0x85e0a631
+lwc1 :: offset: 0x9c, out: 0x9b63259b
+lwc1 :: offset: 0xa0, out: 0x556b3eca
+lwc1 :: offset: 0xa4, out: 0xccf17ac5
+lwc1 :: offset: 0xa8, out: 0xb42f5fc5
+lwc1 :: offset: 0xac, out: 0x81eea0fb
+lwc1 :: offset: 0xb0, out: 0x25b50fec
+lwc1 :: offset: 0xb4, out: 0x14682d97
+lwc1 :: offset: 0xb8, out: 0xfc93c513
+lwc1 :: offset: 0xbc, out: 0x2cfb087a
+lwc1 :: offset: 0xc0, out: 0x3c2cd9a9
+lwc1 :: offset: 0xc4, out: 0xcda20766
+lwc1 :: offset: 0xc8, out: 0x1791722a
+lwc1 :: offset: 0xcc, out: 0x7d72da3e
+lwc1 :: offset: 0xd0, out: 0x87cc9d1
+lwc1 :: offset: 0xd4, out: 0x93ce24ad
+lwc1 :: offset: 0xd8, out: 0x1d2a7570
+lwc1 :: offset: 0xdc, out: 0x38984ed2
+lwc1 :: offset: 0xe0, out: 0xd0d070db
+lwc1 :: offset: 0xe4, out: 0x710cd036
+lwc1 :: offset: 0xe8, out: 0x39c21c7d
+lwc1 :: offset: 0xec, out: 0x3415604
+lwc1 :: offset: 0xf0, out: 0x8e94b7af
+lwc1 :: offset: 0xf4, out: 0x8ecc31ce
+lwc1 :: offset: 0xf8, out: 0x24eb6a8d
+lwc1 :: offset: 0xfc, out: 0x1ce7674f
+lwc1 :: offset: 0x100, out: 0x2f394544
+lwc1 :: offset: 0x104, out: 0x12d6e4a7
+lwc1 :: offset: 0x108, out: 0x2608c2b7
+lwc1 :: offset: 0x10c, out: 0x56da4c54
+lwc1 :: offset: 0x110, out: 0x900102da
+lwc1 :: offset: 0x114, out: 0xc8d7252f
+lwc1 :: offset: 0x118, out: 0xc890d5f1
+lwc1 :: offset: 0x11c, out: 0xf2efa4f7
+lwc1 :: offset: 0x120, out: 0xed5005cb
+lwc1 :: offset: 0x124, out: 0xc8b0a214
+lwc1 :: offset: 0x128, out: 0x31479189
+lwc1 :: offset: 0x12c, out: 0x5991136c
+lwc1 :: offset: 0x130, out: 0xc6eecff9
+lwc1 :: offset: 0x134, out: 0x9a2fb6f3
+lwc1 :: offset: 0x138, out: 0xa8095212
+lwc1 :: offset: 0x13c, out: 0x38895270
+lwc1 :: offset: 0x140, out: 0x87750a04
+lwc1 :: offset: 0x144, out: 0xad765040
+lwc1 :: offset: 0x148, out: 0x2c3de85e
+lwc1 :: offset: 0x14c, out: 0x84bb5a83
+lwc1 :: offset: 0x150, out: 0xae6aff8f
+lwc1 :: offset: 0x154, out: 0xc506aa67
+lwc1 :: offset: 0x158, out: 0xc07112dd
+lwc1 :: offset: 0x15c, out: 0x60ed5ee3
+lwc1 :: offset: 0x160, out: 0xc4c770f6
+lwc1 :: offset: 0x164, out: 0x30dcca5a
+lwc1 :: offset: 0x168, out: 0xdfec2b23
+lwc1 :: offset: 0x16c, out: 0x83cd5277
+lwc1 :: offset: 0x170, out: 0xd3adba26
+lwc1 :: offset: 0x174, out: 0xff7d96b
+lwc1 :: offset: 0x178, out: 0x4ab4aa79
+lwc1 :: offset: 0x17c, out: 0x8418c00e
+lwc1 :: offset: 0x180, out: 0xbb8c035e
+lwc1 :: offset: 0x184, out: 0xde0f0b8
+lwc1 :: offset: 0x188, out: 0x33b06f54
+lwc1 :: offset: 0x18c, out: 0xa97fdcf1
+lwc1 :: offset: 0x190, out: 0x77433f37
+lwc1 :: offset: 0x194, out: 0x3fd1c081
+lwc1 :: offset: 0x198, out: 0xec91d993
+lwc1 :: offset: 0x19c, out: 0xc92195e4
+lwc1 :: offset: 0x1a0, out: 0x49fbf6a7
+lwc1 :: offset: 0x1a4, out: 0x95b1a5ab
+lwc1 :: offset: 0x1a8, out: 0x19364378
+lwc1 :: offset: 0x1ac, out: 0xc7ce8d1e
+lwc1 :: offset: 0x1b0, out: 0xb99e8def
+lwc1 :: offset: 0x1b4, out: 0x2f384907
+lwc1 :: offset: 0x1b8, out: 0x47eacdcd
+lwc1 :: offset: 0x1bc, out: 0x582b12fe
+lwc1 :: offset: 0x1c0, out: 0xd685884e
+lwc1 :: offset: 0x1c4, out: 0x76558c4f
+lwc1 :: offset: 0x1c8, out: 0x6168d62a
+lwc1 :: offset: 0x1cc, out: 0x34c195c7
+lwc1 :: offset: 0x1d0, out: 0xd3016989
+lwc1 :: offset: 0x1d4, out: 0x4df47405
+lwc1 :: offset: 0x1d8, out: 0x1ca190bf
+lwc1 :: offset: 0x1dc, out: 0x6cbb06db
+lwc1 :: offset: 0x1e0, out: 0x58300f02
+lwc1 :: offset: 0x1e4, out: 0x9cae393a
+lwc1 :: offset: 0x1e8, out: 0x9a995fdb
+lwc1 :: offset: 0x1ec, out: 0xdc7ebc2d
+lwc1 :: offset: 0x1f0, out: 0x8a96047b
+lwc1 :: offset: 0x1f4, out: 0xe3405b48
+lwc1 :: offset: 0x1f8, out: 0x75bfafd2
+lwc1 :: offset: 0x1fc, out: 0xd519d322
+lwc1 :: offset: 0x200, out: 0xde230867
+lwc1 :: offset: 0x204, out: 0xa630f6ad
+lwc1 :: offset: 0x208, out: 0x2c0a0cf2
+lwc1 :: offset: 0x20c, out: 0x56103260
+lwc1 :: offset: 0x210, out: 0x94a90544
+lwc1 :: offset: 0x214, out: 0x249b18ef
+lwc1 :: offset: 0x218, out: 0xf9519fb5
+lwc1 :: offset: 0x21c, out: 0x5b56fcde
+lwc1 :: offset: 0x220, out: 0x81daf820
+lwc1 :: offset: 0x224, out: 0x468319b
+lwc1 :: offset: 0x228, out: 0x8c61ca5a
+lwc1 :: offset: 0x22c, out: 0x5725f2ec
+lwc1 :: offset: 0x230, out: 0x8b95a6dd
+lwc1 :: offset: 0x234, out: 0xc25dc8bf
+lwc1 :: offset: 0x238, out: 0x300ce751
+lwc1 :: offset: 0x23c, out: 0xdac6162f
+lwc1 :: offset: 0x240, out: 0x6778fdf3
+lwc1 :: offset: 0x244, out: 0xba52a850
+lwc1 :: offset: 0x248, out: 0xad00b1f7
+lwc1 :: offset: 0x24c, out: 0xda78479f
+lwc1 :: offset: 0x250, out: 0x8d44168
+lwc1 :: offset: 0x254, out: 0xa6b6d98a
+lwc1 :: offset: 0x258, out: 0xf518381d
+lwc1 :: offset: 0x25c, out: 0xce634413
+lwc1 :: offset: 0x260, out: 0xe4627f3f
+lwc1 :: offset: 0x264, out: 0xe5255fc0
+lwc1 :: offset: 0x268, out: 0xccd392e1
+lwc1 :: offset: 0x26c, out: 0x76321f28
+lwc1 :: offset: 0x270, out: 0x82946494
+lwc1 :: offset: 0x274, out: 0x4018fd8f
+lwc1 :: offset: 0x278, out: 0x15d32040
+lwc1 :: offset: 0x27c, out: 0x52e8f0e5
+lwc1 :: offset: 0x280, out: 0x7caf83d2
+lwc1 :: offset: 0x284, out: 0x880ff344
+lwc1 :: offset: 0x288, out: 0xf156a04c
+lwc1 :: offset: 0x28c, out: 0x747defd7
+lwc1 :: offset: 0x290, out: 0x93e2601c
+lwc1 :: offset: 0x294, out: 0xf31d710
+lwc1 :: offset: 0x298, out: 0xe1e1a679
+lwc1 :: offset: 0x29c, out: 0x131cd933
+lwc1 :: offset: 0x2a0, out: 0x24296b75
+lwc1 :: offset: 0x2a4, out: 0xa76fa427
+lwc1 :: offset: 0x2a8, out: 0xd296e2d2
+lwc1 :: offset: 0x2ac, out: 0x139ee56a
+lwc1 :: offset: 0x2b0, out: 0x5a82447f
+lwc1 :: offset: 0x2b4, out: 0x6dc2a5c0
+lwc1 :: offset: 0x2b8, out: 0x76c89e80
+lwc1 :: offset: 0x2bc, out: 0xc07dc168
+lwc1 :: offset: 0x2c0, out: 0x70dc345
+lwc1 :: offset: 0x2c4, out: 0x4bfe348f
+lwc1 :: offset: 0x2c8, out: 0xbddc7123
+lwc1 :: offset: 0x2cc, out: 0xdd6d241b
+lwc1 :: offset: 0x2d0, out: 0xf62fb727
+lwc1 :: offset: 0x2d4, out: 0xa59fcebe
+lwc1 :: offset: 0x2d8, out: 0x109f27e9
+lwc1 :: offset: 0x2dc, out: 0xf9f46fb
+lwc1 :: offset: 0x2e0, out: 0x3f63daa9
+lwc1 :: offset: 0x2e4, out: 0xafd199d7
+lwc1 :: offset: 0x2e8, out: 0xdbcb312e
+lwc1 :: offset: 0x2ec, out: 0xa3d484f2
+lwc1 :: offset: 0x2f0, out: 0x1f353faa
+lwc1 :: offset: 0x2f4, out: 0xda4fe4c6
+lwc1 :: offset: 0x2f8, out: 0x8b086ee0
+lwc1 :: offset: 0x2fc, out: 0x7150c260
+lwc1 :: offset: 0x300, out: 0xe54750d5
+lwc1 :: offset: 0x304, out: 0xd9257f25
+lwc1 :: offset: 0x308, out: 0x3d69625f
+lwc1 :: offset: 0x30c, out: 0xe9a6db5b
+lwc1 :: offset: 0x310, out: 0x70a3e042
+lwc1 :: offset: 0x314, out: 0x4340ac96
+lwc1 :: offset: 0x318, out: 0xc0478f03
+lwc1 :: offset: 0x31c, out: 0x6980171e
+lwc1 :: offset: 0x320, out: 0x3ce839a5
+lwc1 :: offset: 0x324, out: 0x1cf929e3
+lwc1 :: offset: 0x328, out: 0xe2fbfa89
+lwc1 :: offset: 0x32c, out: 0x5eb68958
+lwc1 :: offset: 0x330, out: 0xd24bb05d
+lwc1 :: offset: 0x334, out: 0x76ed25b7
+lwc1 :: offset: 0x338, out: 0xeb9682c
+lwc1 :: offset: 0x33c, out: 0x170312f1
+lwc1 :: offset: 0x340, out: 0x84785280
+lwc1 :: offset: 0x344, out: 0xdd301d0d
+lwc1 :: offset: 0x348, out: 0x179c77aa
+lwc1 :: offset: 0x34c, out: 0x1f8fd6ef
+lwc1 :: offset: 0x350, out: 0x26444ced
+lwc1 :: offset: 0x354, out: 0x2998436d
+lwc1 :: offset: 0x358, out: 0x7175c9d
+lwc1 :: offset: 0x35c, out: 0xd58ca708
+lwc1 :: offset: 0x360, out: 0x663d0610
+lwc1 :: offset: 0x364, out: 0x55833287
+lwc1 :: offset: 0x368, out: 0xab7dd048
+lwc1 :: offset: 0x36c, out: 0x8951d68b
+lwc1 :: offset: 0x370, out: 0xf6982367
+lwc1 :: offset: 0x374, out: 0xe82471b
+lwc1 :: offset: 0x378, out: 0x36886c59
+lwc1 :: offset: 0x37c, out: 0xd98d26b2
+lwc1 :: offset: 0x380, out: 0x9ca4bdb
+lwc1 :: offset: 0x384, out: 0xd32be479
+lwc1 :: offset: 0x388, out: 0xfd5d7d1d
+lwc1 :: offset: 0x38c, out: 0x9962e61f
+lwc1 :: offset: 0x390, out: 0x3f46553e
+lwc1 :: offset: 0x394, out: 0xcad374df
+lwc1 :: offset: 0x398, out: 0x2e9ab97d
+lwc1 :: offset: 0x39c, out: 0x3eedf2a7
+lwc1 :: offset: 0x3a0, out: 0x36a6f7fa
+lwc1 :: offset: 0x3a4, out: 0x3c0c9f33
+lwc1 :: offset: 0x3a8, out: 0x8bb938e3
+lwc1 :: offset: 0x3ac, out: 0x155ec9dc
+lwc1 :: offset: 0x3b0, out: 0xd2df25c4
+lwc1 :: offset: 0x3b4, out: 0x19478206
+lwc1 :: offset: 0x3b8, out: 0xbc65bf27
+lwc1 :: offset: 0x3bc, out: 0xeb321825
+lwc1 :: offset: 0x3c0, out: 0xa8b08fe6
+lwc1 :: offset: 0x3c4, out: 0x7a8bc7da
+lwc1 :: offset: 0x3c8, out: 0x852b5bca
+lwc1 :: offset: 0x3cc, out: 0xf8dfcde8
+lwc1 :: offset: 0x3d0, out: 0x478909b
+lwc1 :: offset: 0x3d4, out: 0x59a99269
+lwc1 :: offset: 0x3d8, out: 0xbfb31cc8
+lwc1 :: offset: 0x3dc, out: 0x7857360f
+lwc1 :: offset: 0x3e0, out: 0xb665ed5e
+lwc1 :: offset: 0x3e4, out: 0x7f89e9a2
+lwc1 :: offset: 0x3e8, out: 0x15da9474
+lwc1 :: offset: 0x3ec, out: 0xb7a8d5e4
+lwc1 :: offset: 0x3f0, out: 0xf6b3537d
+lwc1 :: offset: 0x3f4, out: 0x2af90fcc
+lwc1 :: offset: 0x3f8, out: 0x223d7cfe
+lwc1 :: offset: 0x3fc, out: 0x2b961897
+lwc1 :: offset: 0x400, out: 0x420b34f5
+lwc1 :: offset: 0x404, out: 0x33734a4b
+lwc1 :: offset: 0x408, out: 0x897c8c8d
+lwc1 :: offset: 0x40c, out: 0xdd46b33c
+lwc1 :: offset: 0x410, out: 0x7a387445
+lwc1 :: offset: 0x414, out: 0xe392ccd9
+lwc1 :: offset: 0x418, out: 0x512f29b1
+lwc1 :: offset: 0x41c, out: 0xd80000c9
+lwc1 :: offset: 0x420, out: 0xeaded5c5
+lwc1 :: offset: 0x424, out: 0x3dad020a
+lwc1 :: offset: 0x428, out: 0x8a6229d7
+lwc1 :: offset: 0x42c, out: 0x31eea35b
+lwc1 :: offset: 0x430, out: 0x2c3c3f9e
+lwc1 :: offset: 0x434, out: 0x48985649
+lwc1 :: offset: 0x438, out: 0x7ff61e78
+lwc1 :: offset: 0x43c, out: 0xdc9c0b77
+lwc1 :: offset: 0x440, out: 0x2299b0e0
+lwc1 :: offset: 0x444, out: 0x1d5e68ec
+lwc1 :: offset: 0x448, out: 0x7c3b0467
+lwc1 :: offset: 0x44c, out: 0x3d0c6e25
+lwc1 :: offset: 0x450, out: 0x164e17c1
+lwc1 :: offset: 0x454, out: 0xe7fb6587
+lwc1 :: offset: 0x458, out: 0xfa4ca28b
+lwc1 :: offset: 0x45c, out: 0x56d4950b
+lwc1 :: offset: 0x460, out: 0xe5e9a314
+lwc1 :: offset: 0x464, out: 0xbe7fa08a
+lwc1 :: offset: 0x468, out: 0xf8be8164
+lwc1 :: offset: 0x46c, out: 0x159649c5
+lwc1 :: offset: 0x470, out: 0x7ca32597
+lwc1 :: offset: 0x474, out: 0x84e69b17
+lwc1 :: offset: 0x478, out: 0xfc8d543c
+lwc1 :: offset: 0x47c, out: 0xa1f24f5c
+lwc1 :: offset: 0x480, out: 0x4aeb6ca0
+lwc1 :: offset: 0x484, out: 0xe3459e36
+lwc1 :: offset: 0x488, out: 0xc532e18e
+lwc1 :: offset: 0x48c, out: 0x187980fa
+lwc1 :: offset: 0x490, out: 0xb3fdec29
+lwc1 :: offset: 0x494, out: 0x4f287d1c
+lwc1 :: offset: 0x498, out: 0xb620660a
+lwc1 :: offset: 0x49c, out: 0x49732b90
+lwc1 :: offset: 0x4a0, out: 0x993138f1
+lwc1 :: offset: 0x4a4, out: 0x6cfde991
+lwc1 :: offset: 0x4a8, out: 0xde02d133
+lwc1 :: offset: 0x4ac, out: 0x7d5407b9
+lwc1 :: offset: 0x4b0, out: 0x13a390e1
+lwc1 :: offset: 0x4b4, out: 0xe1dab15a
+lwc1 :: offset: 0x4b8, out: 0x743491a6
+lwc1 :: offset: 0x4bc, out: 0x828716c8
+lwc1 :: offset: 0x4c0, out: 0x8cff404a
+lwc1 :: offset: 0x4c4, out: 0xede292f2
+lwc1 :: offset: 0x4c8, out: 0xb9cec0db
+lwc1 :: offset: 0x4cc, out: 0x1f837636
+lwc1 :: offset: 0x4d0, out: 0x2eaa5aa7
+lwc1 :: offset: 0x4d4, out: 0x509771c
+lwc1 :: offset: 0x4d8, out: 0xd327538e
+lwc1 :: offset: 0x4dc, out: 0x1875241b
+lwc1 :: offset: 0x4e0, out: 0x42e9f854
+lwc1 :: offset: 0x4e4, out: 0x8b739b6b
+lwc1 :: offset: 0x4e8, out: 0x78e4e50c
+lwc1 :: offset: 0x4ec, out: 0xeccbba1a
+lwc1 :: offset: 0x4f0, out: 0xf6b6fa3f
+lwc1 :: offset: 0x4f4, out: 0xcd9d27cb
+lwc1 :: offset: 0x4f8, out: 0x73916483
+lwc1 :: offset: 0x4fc, out: 0xae3e9423
+lwc1 :: offset: 0x500, out: 0x276af70a
+lwc1 :: offset: 0x504, out: 0xe128561
+lwc1 :: offset: 0x508, out: 0x3045bf6
+lwc1 :: offset: 0x50c, out: 0xb5e74b6e
+lwc1 :: offset: 0x510, out: 0x20223f13
+lwc1 :: offset: 0x514, out: 0x8accfa6
+lwc1 :: offset: 0x518, out: 0xf83c5574
+lwc1 :: offset: 0x51c, out: 0x3976b5f5
+lwc1 :: offset: 0x520, out: 0x1f9720f9
+lwc1 :: offset: 0x524, out: 0x46923c3d
+lwc1 :: offset: 0x528, out: 0x620d2850
+lwc1 :: offset: 0x52c, out: 0x6d2448dd
+lwc1 :: offset: 0x530, out: 0x60a521e9
+lwc1 :: offset: 0x534, out: 0x9ff4a732
+lwc1 :: offset: 0x538, out: 0x5a08f3ab
+lwc1 :: offset: 0x53c, out: 0x5c680f0b
+lwc1 :: offset: 0x540, out: 0xc7a59be7
+lwc1 :: offset: 0x544, out: 0x800f3d26
+lwc1 :: offset: 0x548, out: 0x1aecdf29
+lwc1 :: offset: 0x54c, out: 0x82ca1b41
+lwc1 :: offset: 0x550, out: 0x2b8613a2
+lwc1 :: offset: 0x554, out: 0x60d19dcd
+lwc1 :: offset: 0x558, out: 0x2518ac8b
+lwc1 :: offset: 0x55c, out: 0xe8bbe7f
+lwc1 :: offset: 0x560, out: 0x743e568d
+lwc1 :: offset: 0x564, out: 0x2fcf486b
+lwc1 :: offset: 0x568, out: 0x126f646f
+lwc1 :: offset: 0x56c, out: 0x34c31728
+lwc1 :: offset: 0x570, out: 0xaab01961
+lwc1 :: offset: 0x574, out: 0x56fc4d12
+lwc1 :: offset: 0x578, out: 0x7535cd33
+lwc1 :: offset: 0x57c, out: 0x8595d342
+lwc1 :: offset: 0x580, out: 0xdfb254da
+lwc1 :: offset: 0x584, out: 0x422346ec
+lwc1 :: offset: 0x588, out: 0xa86726c9
+lwc1 :: offset: 0x58c, out: 0x81ab2a
+lwc1 :: offset: 0x590, out: 0x9bfeffa1
+lwc1 :: offset: 0x594, out: 0x679d7438
+lwc1 :: offset: 0x598, out: 0xc7699826
+lwc1 :: offset: 0x59c, out: 0xb7dee244
+lwc1 :: offset: 0x5a0, out: 0x3c07af97
+lwc1 :: offset: 0x5a4, out: 0xfba6704a
+lwc1 :: offset: 0x5a8, out: 0x521364dc
+lwc1 :: offset: 0x5ac, out: 0x4c58bfe
+lwc1 :: offset: 0x5b0, out: 0xe0f7bb58
+lwc1 :: offset: 0x5b4, out: 0x9ab7aebc
+lwc1 :: offset: 0x5b8, out: 0xe336c60c
+lwc1 :: offset: 0x5bc, out: 0xdeeb954d
+lwc1 :: offset: 0x5c0, out: 0xd5b2120c
+lwc1 :: offset: 0x5c4, out: 0x6f52416e
+lwc1 :: offset: 0x5c8, out: 0x85a2d4ff
+lwc1 :: offset: 0x5cc, out: 0x7e628a34
+lwc1 :: offset: 0x5d0, out: 0x986a2b65
+lwc1 :: offset: 0x5d4, out: 0x4a4e7e07
+lwc1 :: offset: 0x5d8, out: 0xa974eac4
+lwc1 :: offset: 0x5dc, out: 0x3a489b55
+lwc1 :: offset: 0x5e0, out: 0xa388c162
+lwc1 :: offset: 0x5e4, out: 0x72f1f8f5
+lwc1 :: offset: 0x5e8, out: 0xe8c11f45
+lwc1 :: offset: 0x5ec, out: 0xe7495ea9
+lwc1 :: offset: 0x5f0, out: 0xadaa5a76
+lwc1 :: offset: 0x5f4, out: 0x5cc1c8b4
+lwc1 :: offset: 0x5f8, out: 0x7ab4ce88
+lwc1 :: offset: 0x5fc, out: 0xdfa605c0
+lwc1 :: offset: 0x600, out: 0xb42ad6e6
+lwc1 :: offset: 0x604, out: 0x59a7b04f
+lwc1 :: offset: 0x608, out: 0x4bf8485a
+lwc1 :: offset: 0x60c, out: 0xb728922f
+lwc1 :: offset: 0x610, out: 0x76a3d60c
+lwc1 :: offset: 0x614, out: 0x3b66a7fb
+lwc1 :: offset: 0x618, out: 0x31e0c6af
+lwc1 :: offset: 0x61c, out: 0xfdc28eda
+lwc1 :: offset: 0x620, out: 0x53606bb4
+lwc1 :: offset: 0x624, out: 0xbf0c999d
+lwc1 :: offset: 0x628, out: 0x32fc12c8
+lwc1 :: offset: 0x62c, out: 0x1b7919f0
+lwc1 :: offset: 0x630, out: 0x3ef88384
+lwc1 :: offset: 0x634, out: 0xc72efcd6
+lwc1 :: offset: 0x638, out: 0x38b1c7bb
+lwc1 :: offset: 0x63c, out: 0x6a2a3580
+lwc1 :: offset: 0x640, out: 0x15ebf612
+lwc1 :: offset: 0x644, out: 0x1dca77c9
+lwc1 :: offset: 0x648, out: 0x5eaacdd9
+lwc1 :: offset: 0x64c, out: 0xfd9147ae
+lwc1 :: offset: 0x650, out: 0xbb8470f9
+lwc1 :: offset: 0x654, out: 0x81e91117
+lwc1 :: offset: 0x658, out: 0x5d42aea
+lwc1 :: offset: 0x65c, out: 0xc6a532e0
+lwc1 :: offset: 0x660, out: 0x14abf364
+lwc1 :: offset: 0x664, out: 0x19fb9e63
+lwc1 :: offset: 0x668, out: 0x249d559a
+lwc1 :: offset: 0x66c, out: 0xa8d72aac
+lwc1 :: offset: 0x670, out: 0xcd6764f
+lwc1 :: offset: 0x674, out: 0x84b30ec
+lwc1 :: offset: 0x678, out: 0x7f03ac07
+lwc1 :: offset: 0x67c, out: 0x92468fdf
+lwc1 :: offset: 0x680, out: 0x7e35ce6d
+lwc1 :: offset: 0x684, out: 0x56e670f5
+lwc1 :: offset: 0x688, out: 0x15282859
+lwc1 :: offset: 0x68c, out: 0x1a652711
+lwc1 :: offset: 0x690, out: 0x9e1c3283
+lwc1 :: offset: 0x694, out: 0xd215a9fb
+lwc1 :: offset: 0x698, out: 0x8d95c049
+lwc1 :: offset: 0x69c, out: 0x282a0417
+lwc1 :: offset: 0x6a0, out: 0xf2e7a490
+lwc1 :: offset: 0x6a4, out: 0x978058f3
+lwc1 :: offset: 0x6a8, out: 0x775b4cca
+lwc1 :: offset: 0x6ac, out: 0x975b1aa
+lwc1 :: offset: 0x6b0, out: 0xa2b84a6
+lwc1 :: offset: 0x6b4, out: 0x35111020
+lwc1 :: offset: 0x6b8, out: 0x23fa0d3
+lwc1 :: offset: 0x6bc, out: 0xa7d88b6f
+lwc1 :: offset: 0x6c0, out: 0xa3d991b7
+lwc1 :: offset: 0x6c4, out: 0x9941dedd
+lwc1 :: offset: 0x6c8, out: 0x751cb483
+lwc1 :: offset: 0x6cc, out: 0x5a0d9508
+lwc1 :: offset: 0x6d0, out: 0x949cad35
+lwc1 :: offset: 0x6d4, out: 0x625bb2d3
+lwc1 :: offset: 0x6d8, out: 0x7f567f35
+lwc1 :: offset: 0x6dc, out: 0xa6929739
+lwc1 :: offset: 0x6e0, out: 0x185b88e0
+lwc1 :: offset: 0x6e4, out: 0xdb8d7d27
+lwc1 :: offset: 0x6e8, out: 0x255a4cd2
+lwc1 :: offset: 0x6ec, out: 0x2fd61b91
+lwc1 :: offset: 0x6f0, out: 0x1048d589
+lwc1 :: offset: 0x6f4, out: 0xa4363f7b
+lwc1 :: offset: 0x6f8, out: 0x6a6d5708
+lwc1 :: offset: 0x6fc, out: 0xf4605790
+lwc1 :: offset: 0x700, out: 0xd58ecbab
+lwc1 :: offset: 0x704, out: 0xde35697f
+lwc1 :: offset: 0x708, out: 0x575548fd
+lwc1 :: offset: 0x70c, out: 0x8c0a5f1
+lwc1 :: offset: 0x710, out: 0x8bb640fb
+lwc1 :: offset: 0x714, out: 0x8ed98ddb
+lwc1 :: offset: 0x718, out: 0xbe00d51e
+lwc1 :: offset: 0x71c, out: 0xabc578cc
+lwc1 :: offset: 0x720, out: 0x2f7e224a
+lwc1 :: offset: 0x724, out: 0x1c170ab2
+lwc1 :: offset: 0x728, out: 0xa978f12c
+lwc1 :: offset: 0x72c, out: 0xa22256a7
+lwc1 :: offset: 0x730, out: 0x9950a93b
+lwc1 :: offset: 0x734, out: 0x811ee02f
+lwc1 :: offset: 0x738, out: 0xb44eea93
+lwc1 :: offset: 0x73c, out: 0xc6796a0c
+lwc1 :: offset: 0x740, out: 0xfe71fca0
+lwc1 :: offset: 0x744, out: 0x6c0eb657
+lwc1 :: offset: 0x748, out: 0x4ed6393d
+lwc1 :: offset: 0x74c, out: 0xf818af57
+lwc1 :: offset: 0x750, out: 0xf22e9020
+lwc1 :: offset: 0x754, out: 0x236770a
+lwc1 :: offset: 0x758, out: 0x81efb6c7
+lwc1 :: offset: 0x75c, out: 0xafd0c45d
+lwc1 :: offset: 0x760, out: 0xeed8f351
+lwc1 :: offset: 0x764, out: 0x8102315b
+lwc1 :: offset: 0x768, out: 0xadafefb9
+lwc1 :: offset: 0x76c, out: 0x995efd5e
+lwc1 :: offset: 0x770, out: 0x34061933
+lwc1 :: offset: 0x774, out: 0xeb253086
+lwc1 :: offset: 0x778, out: 0x1748da26
+lwc1 :: offset: 0x77c, out: 0x4b4c52bc
+lwc1 :: offset: 0x780, out: 0x34fdfc9a
+lwc1 :: offset: 0x784, out: 0x9302be89
+lwc1 :: offset: 0x788, out: 0xd00278c3
+lwc1 :: offset: 0x78c, out: 0xc521d180
+lwc1 :: offset: 0x790, out: 0xe90944a4
+lwc1 :: offset: 0x794, out: 0xc1d37a5d
+lwc1 :: offset: 0x798, out: 0x65fd698f
+lwc1 :: offset: 0x79c, out: 0xddef9839
+lwc1 :: offset: 0x7a0, out: 0xc49ee3ad
+lwc1 :: offset: 0x7a4, out: 0x81b5af52
+lwc1 :: offset: 0x7a8, out: 0x7aa941e8
+lwc1 :: offset: 0x7ac, out: 0xbdb263e9
+lwc1 :: offset: 0x7b0, out: 0x372c209e
+lwc1 :: offset: 0x7b4, out: 0x42f3b58d
+lwc1 :: offset: 0x7b8, out: 0x30f870b7
+lwc1 :: offset: 0x7bc, out: 0xe122a83b
+lwc1 :: offset: 0x7c0, out: 0x9e02de4b
+lwc1 :: offset: 0x7c4, out: 0x678930ec
+lwc1 :: offset: 0x7c8, out: 0xcd61a863
+lwc1 :: offset: 0x7cc, out: 0x9826631e
+lwc1 :: offset: 0x7d0, out: 0xae87bc89
+lwc1 :: offset: 0x7d4, out: 0x9a7bd3ca
+lwc1 :: offset: 0x7d8, out: 0x58ec644d
+lwc1 :: offset: 0x7dc, out: 0x6481af17
+lwc1 :: offset: 0x7e0, out: 0x680cce5f
+lwc1 :: offset: 0x7e4, out: 0xb236b666
+lwc1 :: offset: 0x7e8, out: 0x3baa9947
+lwc1 :: offset: 0x7ec, out: 0x1f6d4d75
+lwc1 :: offset: 0x7f0, out: 0x614d9b44
+lwc1 :: offset: 0x7f4, out: 0x5f12236b
+lwc1 :: offset: 0x7f8, out: 0xa2a6ec66
+lwc1 :: offset: 0x7fc, out: 0x1ba84121
+--- LWXC1 ---
+lwxc1 :: offset: 0x0, out: 0x0
+lwxc1 :: offset: 0x4, out: 0x0
+lwxc1 :: offset: 0x8, out: 0x9823b6e
+lwxc1 :: offset: 0xc, out: 0xd4326d9
+lwxc1 :: offset: 0x10, out: 0x130476dc
+lwxc1 :: offset: 0x14, out: 0x17c56b6b
+lwxc1 :: offset: 0x18, out: 0x1a864db2
+lwxc1 :: offset: 0x1c, out: 0x1e475005
+lwxc1 :: offset: 0x20, out: 0x2608edb8
+lwxc1 :: offset: 0x24, out: 0x22c9f00f
+lwxc1 :: offset: 0x28, out: 0x2f8ad6d6
+lwxc1 :: offset: 0x2c, out: 0x2b4bcb61
+lwxc1 :: offset: 0x30, out: 0x350c9b64
+lwxc1 :: offset: 0x34, out: 0x31cd86d3
+lwxc1 :: offset: 0x38, out: 0x3c8ea00a
+lwxc1 :: offset: 0x3c, out: 0x384fbdbd
+lwxc1 :: offset: 0x40, out: 0x4c11db70
+lwxc1 :: offset: 0x44, out: 0x48d0c6c7
+lwxc1 :: offset: 0x48, out: 0x4593e01e
+lwxc1 :: offset: 0x4c, out: 0x4152fda9
+lwxc1 :: offset: 0x50, out: 0x5f15adac
+lwxc1 :: offset: 0x54, out: 0x5bd4b01b
+lwxc1 :: offset: 0x58, out: 0x569796c2
+lwxc1 :: offset: 0x5c, out: 0x52568b75
+lwxc1 :: offset: 0x60, out: 0x6a1936c8
+lwxc1 :: offset: 0x64, out: 0x6ed82b7f
+lwxc1 :: offset: 0x68, out: 0x639b0da6
+lwxc1 :: offset: 0x6c, out: 0x675a1011
+lwxc1 :: offset: 0x70, out: 0x791d4014
+lwxc1 :: offset: 0x74, out: 0x7ddc5da3
+lwxc1 :: offset: 0x78, out: 0x709f7b7a
+lwxc1 :: offset: 0x7c, out: 0x745e66cd
+lwxc1 :: offset: 0x80, out: 0x9823b6e0
+lwxc1 :: offset: 0x84, out: 0x9ce2ab57
+lwxc1 :: offset: 0x88, out: 0x91a18d8e
+lwxc1 :: offset: 0x8c, out: 0x95609039
+lwxc1 :: offset: 0x90, out: 0x8b27c03c
+lwxc1 :: offset: 0x94, out: 0x8fe6dd8b
+lwxc1 :: offset: 0x98, out: 0x82a5fb52
+lwxc1 :: offset: 0x9c, out: 0x8664e6e5
+lwxc1 :: offset: 0xa0, out: 0xbe2b5b58
+lwxc1 :: offset: 0xa4, out: 0xbaea46ef
+lwxc1 :: offset: 0xa8, out: 0xb7a96036
+lwxc1 :: offset: 0xac, out: 0xb3687d81
+lwxc1 :: offset: 0xb0, out: 0xad2f2d84
+lwxc1 :: offset: 0xb4, out: 0xa9ee3033
+lwxc1 :: offset: 0xb8, out: 0xa4ad16ea
+lwxc1 :: offset: 0xbc, out: 0xa06c0b5d
+lwxc1 :: offset: 0xc0, out: 0xd4326d90
+lwxc1 :: offset: 0xc4, out: 0xd0f37027
+lwxc1 :: offset: 0xc8, out: 0xddb056fe
+lwxc1 :: offset: 0xcc, out: 0xd9714b49
+lwxc1 :: offset: 0xd0, out: 0xc7361b4c
+lwxc1 :: offset: 0xd4, out: 0xc3f706fb
+lwxc1 :: offset: 0xd8, out: 0xceb42022
+lwxc1 :: offset: 0xdc, out: 0xca753d95
+lwxc1 :: offset: 0xe0, out: 0xf23a8028
+lwxc1 :: offset: 0xe4, out: 0xf6fb9d9f
+lwxc1 :: offset: 0xe8, out: 0xfbb8bb46
+lwxc1 :: offset: 0xec, out: 0xff79a6f1
+lwxc1 :: offset: 0xf0, out: 0xe13ef6f4
+lwxc1 :: offset: 0xf4, out: 0xe5ffeb43
+lwxc1 :: offset: 0xf8, out: 0xe8bccd9a
+lwxc1 :: offset: 0xfc, out: 0xec7dd02d
+lwxc1 :: offset: 0x100, out: 0x34867077
+lwxc1 :: offset: 0x104, out: 0x30476dc0
+lwxc1 :: offset: 0x108, out: 0x3d044b19
+lwxc1 :: offset: 0x10c, out: 0x39c556ae
+lwxc1 :: offset: 0x110, out: 0x278206ab
+lwxc1 :: offset: 0x114, out: 0x23431b1c
+lwxc1 :: offset: 0x118, out: 0x2e003dc5
+lwxc1 :: offset: 0x11c, out: 0x2ac12072
+lwxc1 :: offset: 0x120, out: 0x128e9dcf
+lwxc1 :: offset: 0x124, out: 0x164f8078
+lwxc1 :: offset: 0x128, out: 0x1b0ca6a1
+lwxc1 :: offset: 0x12c, out: 0x1fcdbb16
+lwxc1 :: offset: 0x130, out: 0x18aeb13
+lwxc1 :: offset: 0x134, out: 0x54bf6a4
+lwxc1 :: offset: 0x138, out: 0x808d07d
+lwxc1 :: offset: 0x13c, out: 0xcc9cdca
+lwxc1 :: offset: 0x140, out: 0x7897ab07
+lwxc1 :: offset: 0x144, out: 0x7c56b6b0
+lwxc1 :: offset: 0x148, out: 0x71159069
+lwxc1 :: offset: 0x14c, out: 0x75d48dde
+lwxc1 :: offset: 0x150, out: 0x6b93dddb
+lwxc1 :: offset: 0x154, out: 0x6f52c06c
+lwxc1 :: offset: 0x158, out: 0x6211e6b5
+lwxc1 :: offset: 0x15c, out: 0x66d0fb02
+lwxc1 :: offset: 0x160, out: 0x5e9f46bf
+lwxc1 :: offset: 0x164, out: 0x5a5e5b08
+lwxc1 :: offset: 0x168, out: 0x571d7dd1
+lwxc1 :: offset: 0x16c, out: 0x53dc6066
+lwxc1 :: offset: 0x170, out: 0x4d9b3063
+lwxc1 :: offset: 0x174, out: 0x495a2dd4
+lwxc1 :: offset: 0x178, out: 0x44190b0d
+lwxc1 :: offset: 0x17c, out: 0x40d816ba
+lwxc1 :: offset: 0x180, out: 0xaca5c697
+lwxc1 :: offset: 0x184, out: 0xa864db20
+lwxc1 :: offset: 0x188, out: 0xa527fdf9
+lwxc1 :: offset: 0x18c, out: 0xa1e6e04e
+lwxc1 :: offset: 0x190, out: 0xbfa1b04b
+lwxc1 :: offset: 0x194, out: 0xbb60adfc
+lwxc1 :: offset: 0x198, out: 0xb6238b25
+lwxc1 :: offset: 0x19c, out: 0xb2e29692
+lwxc1 :: offset: 0x1a0, out: 0x8aad2b2f
+lwxc1 :: offset: 0x1a4, out: 0x0
+lwxc1 :: offset: 0x1a8, out: 0x0
+lwxc1 :: offset: 0x1ac, out: 0x87ee0df6
+lwxc1 :: offset: 0x1b0, out: 0x99a95df3
+lwxc1 :: offset: 0x1b4, out: 0x9d684044
+lwxc1 :: offset: 0x1b8, out: 0x902b669d
+lwxc1 :: offset: 0x1bc, out: 0x94ea7b2a
+lwxc1 :: offset: 0x1c0, out: 0xe0b41de7
+lwxc1 :: offset: 0x1c4, out: 0xe4750050
+lwxc1 :: offset: 0x1c8, out: 0xe9362689
+lwxc1 :: offset: 0x1cc, out: 0xedf73b3e
+lwxc1 :: offset: 0x1d0, out: 0xf3b06b3b
+lwxc1 :: offset: 0x1d4, out: 0xf771768c
+lwxc1 :: offset: 0x1d8, out: 0xfa325055
+lwxc1 :: offset: 0x1dc, out: 0xfef34de2
+lwxc1 :: offset: 0x1e0, out: 0xc6bcf05f
+lwxc1 :: offset: 0x1e4, out: 0xc27dede8
+lwxc1 :: offset: 0x1e8, out: 0xcf3ecb31
+lwxc1 :: offset: 0x1ec, out: 0xcbffd686
+lwxc1 :: offset: 0x1f0, out: 0xd5b88683
+lwxc1 :: offset: 0x1f4, out: 0xd1799b34
+lwxc1 :: offset: 0x1f8, out: 0xdc3abded
+lwxc1 :: offset: 0x1fc, out: 0xd8fba05a
+lwxc1 :: offset: 0x200, out: 0x690ce0ee
+lwxc1 :: offset: 0x204, out: 0x6dcdfd59
+lwxc1 :: offset: 0x208, out: 0x608edb80
+lwxc1 :: offset: 0x20c, out: 0x644fc637
+lwxc1 :: offset: 0x210, out: 0x7a089632
+lwxc1 :: offset: 0x214, out: 0x7ec98b85
+lwxc1 :: offset: 0x218, out: 0x738aad5c
+lwxc1 :: offset: 0x21c, out: 0x774bb0eb
+lwxc1 :: offset: 0x220, out: 0x4f040d56
+lwxc1 :: offset: 0x224, out: 0x4bc510e1
+lwxc1 :: offset: 0x228, out: 0x46863638
+lwxc1 :: offset: 0x22c, out: 0x42472b8f
+lwxc1 :: offset: 0x230, out: 0x5c007b8a
+lwxc1 :: offset: 0x234, out: 0x58c1663d
+lwxc1 :: offset: 0x238, out: 0x558240e4
+lwxc1 :: offset: 0x23c, out: 0x51435d53
+lwxc1 :: offset: 0x240, out: 0x251d3b9e
+lwxc1 :: offset: 0x244, out: 0x21dc2629
+lwxc1 :: offset: 0x248, out: 0x2c9f00f0
+lwxc1 :: offset: 0x24c, out: 0x285e1d47
+lwxc1 :: offset: 0x250, out: 0x36194d42
+lwxc1 :: offset: 0x254, out: 0x32d850f5
+lwxc1 :: offset: 0x258, out: 0x3f9b762c
+lwxc1 :: offset: 0x25c, out: 0x3b5a6b9b
+lwxc1 :: offset: 0x260, out: 0x315d626
+lwxc1 :: offset: 0x264, out: 0x7d4cb91
+lwxc1 :: offset: 0x268, out: 0xa97ed48
+lwxc1 :: offset: 0x26c, out: 0xe56f0ff
+lwxc1 :: offset: 0x270, out: 0x1011a0fa
+lwxc1 :: offset: 0x274, out: 0x14d0bd4d
+lwxc1 :: offset: 0x278, out: 0x19939b94
+lwxc1 :: offset: 0x27c, out: 0x1d528623
+lwxc1 :: offset: 0x280, out: 0xf12f560e
+lwxc1 :: offset: 0x284, out: 0xf5ee4bb9
+lwxc1 :: offset: 0x288, out: 0xf8ad6d60
+lwxc1 :: offset: 0x28c, out: 0xfc6c70d7
+lwxc1 :: offset: 0x290, out: 0xe22b20d2
+lwxc1 :: offset: 0x294, out: 0xe6ea3d65
+lwxc1 :: offset: 0x298, out: 0xeba91bbc
+lwxc1 :: offset: 0x29c, out: 0xef68060b
+lwxc1 :: offset: 0x2a0, out: 0xd727bbb6
+lwxc1 :: offset: 0x2a4, out: 0xd3e6a601
+lwxc1 :: offset: 0x2a8, out: 0xdea580d8
+lwxc1 :: offset: 0x2ac, out: 0xda649d6f
+lwxc1 :: offset: 0x2b0, out: 0xc423cd6a
+lwxc1 :: offset: 0x2b4, out: 0x0
+lwxc1 :: offset: 0x2b8, out: 0xcda1f604
+lwxc1 :: offset: 0x2bc, out: 0x0
+lwxc1 :: offset: 0x2c0, out: 0xbd3e8d7e
+lwxc1 :: offset: 0x2c4, out: 0xb9ff90c9
+lwxc1 :: offset: 0x2c8, out: 0xb4bcb610
+lwxc1 :: offset: 0x2cc, out: 0xb07daba7
+lwxc1 :: offset: 0x2d0, out: 0xae3afba2
+lwxc1 :: offset: 0x2d4, out: 0xaafbe615
+lwxc1 :: offset: 0x2d8, out: 0xa7b8c0cc
+lwxc1 :: offset: 0x2dc, out: 0xa379dd7b
+lwxc1 :: offset: 0x2e0, out: 0x9b3660c6
+lwxc1 :: offset: 0x2e4, out: 0x9ff77d71
+lwxc1 :: offset: 0x2e8, out: 0x92b45ba8
+lwxc1 :: offset: 0x2ec, out: 0x9675461f
+lwxc1 :: offset: 0x2f0, out: 0x8832161a
+lwxc1 :: offset: 0x2f4, out: 0x8cf30bad
+lwxc1 :: offset: 0x2f8, out: 0x81b02d74
+lwxc1 :: offset: 0x2fc, out: 0x857130c3
+lwxc1 :: offset: 0x300, out: 0x5d8a9099
+lwxc1 :: offset: 0x304, out: 0x594b8d2e
+lwxc1 :: offset: 0x308, out: 0x5408abf7
+lwxc1 :: offset: 0x30c, out: 0x50c9b640
+lwxc1 :: offset: 0x310, out: 0x4e8ee645
+lwxc1 :: offset: 0x314, out: 0x4a4ffbf2
+lwxc1 :: offset: 0x318, out: 0x470cdd2b
+lwxc1 :: offset: 0x31c, out: 0x43cdc09c
+lwxc1 :: offset: 0x320, out: 0x7b827d21
+lwxc1 :: offset: 0x324, out: 0x7f436096
+lwxc1 :: offset: 0x328, out: 0x7200464f
+lwxc1 :: offset: 0x32c, out: 0x76c15bf8
+lwxc1 :: offset: 0x330, out: 0x68860bfd
+lwxc1 :: offset: 0x334, out: 0x6c47164a
+lwxc1 :: offset: 0x338, out: 0x61043093
+lwxc1 :: offset: 0x33c, out: 0x65c52d24
+lwxc1 :: offset: 0x340, out: 0x119b4be9
+lwxc1 :: offset: 0x344, out: 0x155a565e
+lwxc1 :: offset: 0x348, out: 0x18197087
+lwxc1 :: offset: 0x34c, out: 0x1cd86d30
+lwxc1 :: offset: 0x350, out: 0x29f3d35
+lwxc1 :: offset: 0x354, out: 0x65e2082
+lwxc1 :: offset: 0x358, out: 0xb1d065b
+lwxc1 :: offset: 0x35c, out: 0xfdc1bec
+lwxc1 :: offset: 0x360, out: 0x3793a651
+lwxc1 :: offset: 0x364, out: 0x3352bbe6
+lwxc1 :: offset: 0x368, out: 0x3e119d3f
+lwxc1 :: offset: 0x36c, out: 0x3ad08088
+lwxc1 :: offset: 0x370, out: 0x2497d08d
+lwxc1 :: offset: 0x374, out: 0x2056cd3a
+lwxc1 :: offset: 0x378, out: 0x2d15ebe3
+lwxc1 :: offset: 0x37c, out: 0x29d4f654
+lwxc1 :: offset: 0x380, out: 0xc5a92679
+lwxc1 :: offset: 0x384, out: 0xc1683bce
+lwxc1 :: offset: 0x388, out: 0xcc2b1d17
+lwxc1 :: offset: 0x38c, out: 0xc8ea00a0
+lwxc1 :: offset: 0x390, out: 0xd6ad50a5
+lwxc1 :: offset: 0x394, out: 0xd26c4d12
+lwxc1 :: offset: 0x398, out: 0xdf2f6bcb
+lwxc1 :: offset: 0x39c, out: 0xdbee767c
+lwxc1 :: offset: 0x3a0, out: 0xe3a1cbc1
+lwxc1 :: offset: 0x3a4, out: 0xe760d676
+lwxc1 :: offset: 0x3a8, out: 0xea23f0af
+lwxc1 :: offset: 0x3ac, out: 0xeee2ed18
+lwxc1 :: offset: 0x3b0, out: 0xf0a5bd1d
+lwxc1 :: offset: 0x3b4, out: 0xf464a0aa
+lwxc1 :: offset: 0x3b8, out: 0xf9278673
+lwxc1 :: offset: 0x3bc, out: 0xfde69bc4
+lwxc1 :: offset: 0x3c0, out: 0x89b8fd09
+lwxc1 :: offset: 0x3c4, out: 0x8d79e0be
+lwxc1 :: offset: 0x3c8, out: 0x803ac667
+lwxc1 :: offset: 0x3cc, out: 0x84fbdbd0
+lwxc1 :: offset: 0x3d0, out: 0x9abc8bd5
+lwxc1 :: offset: 0x3d4, out: 0x9e7d9662
+lwxc1 :: offset: 0x3d8, out: 0x933eb0bb
+lwxc1 :: offset: 0x3dc, out: 0x97ffad0c
+lwxc1 :: offset: 0x3e0, out: 0xafb010b1
+lwxc1 :: offset: 0x3e4, out: 0xab710d06
+lwxc1 :: offset: 0x3e8, out: 0xa6322bdf
+lwxc1 :: offset: 0x3ec, out: 0xa2f33668
+lwxc1 :: offset: 0x3f0, out: 0xbcb4666d
+lwxc1 :: offset: 0x3f4, out: 0xb8757bda
+lwxc1 :: offset: 0x3f8, out: 0xb5365d03
+lwxc1 :: offset: 0x3fc, out: 0xb1f740b4
+lwxc1 :: offset: 0x0, out: 0x0
+lwxc1 :: offset: 0x4, out: 0x12bd6aa
+lwxc1 :: offset: 0x8, out: 0x7e8763
+lwxc1 :: offset: 0xc, out: 0x82d2ab13
+lwxc1 :: offset: 0x10, out: 0x976d6e9a
+lwxc1 :: offset: 0x14, out: 0xc31510f3
+lwxc1 :: offset: 0x18, out: 0xb7746d77
+lwxc1 :: offset: 0x1c, out: 0x5ad6a5fb
+lwxc1 :: offset: 0x20, out: 0x42b0c0a2
+lwxc1 :: offset: 0x24, out: 0x8677b502
+lwxc1 :: offset: 0x28, out: 0x2aa89d31
+lwxc1 :: offset: 0x2c, out: 0x9e3c30ad
+lwxc1 :: offset: 0x30, out: 0x1f308ec3
+lwxc1 :: offset: 0x34, out: 0x77fb413d
+lwxc1 :: offset: 0x38, out: 0x7aa04213
+lwxc1 :: offset: 0x3c, out: 0xc760e4f7
+lwxc1 :: offset: 0x40, out: 0x9e705cc5
+lwxc1 :: offset: 0x44, out: 0x1ad8dca0
+lwxc1 :: offset: 0x48, out: 0x4b3dda86
+lwxc1 :: offset: 0x4c, out: 0x9615a60d
+lwxc1 :: offset: 0x50, out: 0x5e7a4dd
+lwxc1 :: offset: 0x54, out: 0x6353d41d
+lwxc1 :: offset: 0x58, out: 0x3af35a9d
+lwxc1 :: offset: 0x5c, out: 0xc40bd413
+lwxc1 :: offset: 0x60, out: 0x47f50556
+lwxc1 :: offset: 0x64, out: 0x9a08a180
+lwxc1 :: offset: 0x68, out: 0x9564b77f
+lwxc1 :: offset: 0x6c, out: 0xd6d2040f
+lwxc1 :: offset: 0x70, out: 0xcebc8279
+lwxc1 :: offset: 0x74, out: 0xb2c76bbe
+lwxc1 :: offset: 0x78, out: 0xb5034c2f
+lwxc1 :: offset: 0x7c, out: 0x1f18e4c7
+lwxc1 :: offset: 0x80, out: 0x94ff52fc
+lwxc1 :: offset: 0x84, out: 0x81afa797
+lwxc1 :: offset: 0x88, out: 0x31d8d916
+lwxc1 :: offset: 0x8c, out: 0x6dfc50ea
+lwxc1 :: offset: 0x90, out: 0x36549bd6
+lwxc1 :: offset: 0x94, out: 0x78e895b1
+lwxc1 :: offset: 0x98, out: 0x85e0a631
+lwxc1 :: offset: 0x9c, out: 0x9b63259b
+lwxc1 :: offset: 0xa0, out: 0x556b3eca
+lwxc1 :: offset: 0xa4, out: 0xccf17ac5
+lwxc1 :: offset: 0xa8, out: 0xb42f5fc5
+lwxc1 :: offset: 0xac, out: 0x81eea0fb
+lwxc1 :: offset: 0xb0, out: 0x25b50fec
+lwxc1 :: offset: 0xb4, out: 0x14682d97
+lwxc1 :: offset: 0xb8, out: 0xfc93c513
+lwxc1 :: offset: 0xbc, out: 0x2cfb087a
+lwxc1 :: offset: 0xc0, out: 0x3c2cd9a9
+lwxc1 :: offset: 0xc4, out: 0xcda20766
+lwxc1 :: offset: 0xc8, out: 0x1791722a
+lwxc1 :: offset: 0xcc, out: 0x7d72da3e
+lwxc1 :: offset: 0xd0, out: 0x87cc9d1
+lwxc1 :: offset: 0xd4, out: 0x93ce24ad
+lwxc1 :: offset: 0xd8, out: 0x1d2a7570
+lwxc1 :: offset: 0xdc, out: 0x38984ed2
+lwxc1 :: offset: 0xe0, out: 0xd0d070db
+lwxc1 :: offset: 0xe4, out: 0x710cd036
+lwxc1 :: offset: 0xe8, out: 0x39c21c7d
+lwxc1 :: offset: 0xec, out: 0x3415604
+lwxc1 :: offset: 0xf0, out: 0x8e94b7af
+lwxc1 :: offset: 0xf4, out: 0x8ecc31ce
+lwxc1 :: offset: 0xf8, out: 0x24eb6a8d
+lwxc1 :: offset: 0xfc, out: 0x1ce7674f
+lwxc1 :: offset: 0x100, out: 0x2f394544
+lwxc1 :: offset: 0x104, out: 0x12d6e4a7
+lwxc1 :: offset: 0x108, out: 0x2608c2b7
+lwxc1 :: offset: 0x10c, out: 0x56da4c54
+lwxc1 :: offset: 0x110, out: 0x900102da
+lwxc1 :: offset: 0x114, out: 0xc8d7252f
+lwxc1 :: offset: 0x118, out: 0xc890d5f1
+lwxc1 :: offset: 0x11c, out: 0xf2efa4f7
+lwxc1 :: offset: 0x120, out: 0xed5005cb
+lwxc1 :: offset: 0x124, out: 0xc8b0a214
+lwxc1 :: offset: 0x128, out: 0x31479189
+lwxc1 :: offset: 0x12c, out: 0x5991136c
+lwxc1 :: offset: 0x130, out: 0xc6eecff9
+lwxc1 :: offset: 0x134, out: 0x9a2fb6f3
+lwxc1 :: offset: 0x138, out: 0xa8095212
+lwxc1 :: offset: 0x13c, out: 0x38895270
+lwxc1 :: offset: 0x140, out: 0x87750a04
+lwxc1 :: offset: 0x144, out: 0xad765040
+lwxc1 :: offset: 0x148, out: 0x2c3de85e
+lwxc1 :: offset: 0x14c, out: 0x84bb5a83
+lwxc1 :: offset: 0x150, out: 0xae6aff8f
+lwxc1 :: offset: 0x154, out: 0xc506aa67
+lwxc1 :: offset: 0x158, out: 0xc07112dd
+lwxc1 :: offset: 0x15c, out: 0x60ed5ee3
+lwxc1 :: offset: 0x160, out: 0xc4c770f6
+lwxc1 :: offset: 0x164, out: 0x30dcca5a
+lwxc1 :: offset: 0x168, out: 0xdfec2b23
+lwxc1 :: offset: 0x16c, out: 0x83cd5277
+lwxc1 :: offset: 0x170, out: 0xd3adba26
+lwxc1 :: offset: 0x174, out: 0xff7d96b
+lwxc1 :: offset: 0x178, out: 0x4ab4aa79
+lwxc1 :: offset: 0x17c, out: 0x8418c00e
+lwxc1 :: offset: 0x180, out: 0xbb8c035e
+lwxc1 :: offset: 0x184, out: 0xde0f0b8
+lwxc1 :: offset: 0x188, out: 0x33b06f54
+lwxc1 :: offset: 0x18c, out: 0xa97fdcf1
+lwxc1 :: offset: 0x190, out: 0x77433f37
+lwxc1 :: offset: 0x194, out: 0x3fd1c081
+lwxc1 :: offset: 0x198, out: 0xec91d993
+lwxc1 :: offset: 0x19c, out: 0xc92195e4
+lwxc1 :: offset: 0x1a0, out: 0x49fbf6a7
+lwxc1 :: offset: 0x1a4, out: 0x95b1a5ab
+lwxc1 :: offset: 0x1a8, out: 0x19364378
+lwxc1 :: offset: 0x1ac, out: 0xc7ce8d1e
+lwxc1 :: offset: 0x1b0, out: 0xb99e8def
+lwxc1 :: offset: 0x1b4, out: 0x2f384907
+lwxc1 :: offset: 0x1b8, out: 0x47eacdcd
+lwxc1 :: offset: 0x1bc, out: 0x582b12fe
+lwxc1 :: offset: 0x1c0, out: 0xd685884e
+lwxc1 :: offset: 0x1c4, out: 0x76558c4f
+lwxc1 :: offset: 0x1c8, out: 0x6168d62a
+lwxc1 :: offset: 0x1cc, out: 0x34c195c7
+lwxc1 :: offset: 0x1d0, out: 0xd3016989
+lwxc1 :: offset: 0x1d4, out: 0x4df47405
+lwxc1 :: offset: 0x1d8, out: 0x1ca190bf
+lwxc1 :: offset: 0x1dc, out: 0x6cbb06db
+lwxc1 :: offset: 0x1e0, out: 0x58300f02
+lwxc1 :: offset: 0x1e4, out: 0x9cae393a
+lwxc1 :: offset: 0x1e8, out: 0x9a995fdb
+lwxc1 :: offset: 0x1ec, out: 0xdc7ebc2d
+lwxc1 :: offset: 0x1f0, out: 0x8a96047b
+lwxc1 :: offset: 0x1f4, out: 0xe3405b48
+lwxc1 :: offset: 0x1f8, out: 0x75bfafd2
+lwxc1 :: offset: 0x1fc, out: 0xd519d322
+lwxc1 :: offset: 0x200, out: 0xde230867
+lwxc1 :: offset: 0x204, out: 0xa630f6ad
+lwxc1 :: offset: 0x208, out: 0x2c0a0cf2
+lwxc1 :: offset: 0x20c, out: 0x56103260
+lwxc1 :: offset: 0x210, out: 0x94a90544
+lwxc1 :: offset: 0x214, out: 0x249b18ef
+lwxc1 :: offset: 0x218, out: 0xf9519fb5
+lwxc1 :: offset: 0x21c, out: 0x5b56fcde
+lwxc1 :: offset: 0x220, out: 0x81daf820
+lwxc1 :: offset: 0x224, out: 0x468319b
+lwxc1 :: offset: 0x228, out: 0x8c61ca5a
+lwxc1 :: offset: 0x22c, out: 0x5725f2ec
+lwxc1 :: offset: 0x230, out: 0x8b95a6dd
+lwxc1 :: offset: 0x234, out: 0xc25dc8bf
+lwxc1 :: offset: 0x238, out: 0x300ce751
+lwxc1 :: offset: 0x23c, out: 0xdac6162f
+lwxc1 :: offset: 0x240, out: 0x6778fdf3
+lwxc1 :: offset: 0x244, out: 0xba52a850
+lwxc1 :: offset: 0x248, out: 0xad00b1f7
+lwxc1 :: offset: 0x24c, out: 0xda78479f
+lwxc1 :: offset: 0x250, out: 0x8d44168
+lwxc1 :: offset: 0x254, out: 0xa6b6d98a
+lwxc1 :: offset: 0x258, out: 0xf518381d
+lwxc1 :: offset: 0x25c, out: 0xce634413
+lwxc1 :: offset: 0x260, out: 0xe4627f3f
+lwxc1 :: offset: 0x264, out: 0xe5255fc0
+lwxc1 :: offset: 0x268, out: 0xccd392e1
+lwxc1 :: offset: 0x26c, out: 0x76321f28
+lwxc1 :: offset: 0x270, out: 0x82946494
+lwxc1 :: offset: 0x274, out: 0x4018fd8f
+lwxc1 :: offset: 0x278, out: 0x15d32040
+lwxc1 :: offset: 0x27c, out: 0x52e8f0e5
+lwxc1 :: offset: 0x280, out: 0x7caf83d2
+lwxc1 :: offset: 0x284, out: 0x880ff344
+lwxc1 :: offset: 0x288, out: 0xf156a04c
+lwxc1 :: offset: 0x28c, out: 0x747defd7
+lwxc1 :: offset: 0x290, out: 0x93e2601c
+lwxc1 :: offset: 0x294, out: 0xf31d710
+lwxc1 :: offset: 0x298, out: 0xe1e1a679
+lwxc1 :: offset: 0x29c, out: 0x131cd933
+lwxc1 :: offset: 0x2a0, out: 0x24296b75
+lwxc1 :: offset: 0x2a4, out: 0xa76fa427
+lwxc1 :: offset: 0x2a8, out: 0xd296e2d2
+lwxc1 :: offset: 0x2ac, out: 0x139ee56a
+lwxc1 :: offset: 0x2b0, out: 0x5a82447f
+lwxc1 :: offset: 0x2b4, out: 0x6dc2a5c0
+lwxc1 :: offset: 0x2b8, out: 0x76c89e80
+lwxc1 :: offset: 0x2bc, out: 0xc07dc168
+lwxc1 :: offset: 0x2c0, out: 0x70dc345
+lwxc1 :: offset: 0x2c4, out: 0x4bfe348f
+lwxc1 :: offset: 0x2c8, out: 0xbddc7123
+lwxc1 :: offset: 0x2cc, out: 0xdd6d241b
+lwxc1 :: offset: 0x2d0, out: 0xf62fb727
+lwxc1 :: offset: 0x2d4, out: 0xa59fcebe
+lwxc1 :: offset: 0x2d8, out: 0x109f27e9
+lwxc1 :: offset: 0x2dc, out: 0xf9f46fb
+lwxc1 :: offset: 0x2e0, out: 0x3f63daa9
+lwxc1 :: offset: 0x2e4, out: 0xafd199d7
+lwxc1 :: offset: 0x2e8, out: 0xdbcb312e
+lwxc1 :: offset: 0x2ec, out: 0xa3d484f2
+lwxc1 :: offset: 0x2f0, out: 0x1f353faa
+lwxc1 :: offset: 0x2f4, out: 0xda4fe4c6
+lwxc1 :: offset: 0x2f8, out: 0x8b086ee0
+lwxc1 :: offset: 0x2fc, out: 0x7150c260
+lwxc1 :: offset: 0x300, out: 0xe54750d5
+lwxc1 :: offset: 0x304, out: 0xd9257f25
+lwxc1 :: offset: 0x308, out: 0x3d69625f
+lwxc1 :: offset: 0x30c, out: 0xe9a6db5b
+lwxc1 :: offset: 0x310, out: 0x70a3e042
+lwxc1 :: offset: 0x314, out: 0x4340ac96
+lwxc1 :: offset: 0x318, out: 0xc0478f03
+lwxc1 :: offset: 0x31c, out: 0x6980171e
+lwxc1 :: offset: 0x320, out: 0x3ce839a5
+lwxc1 :: offset: 0x324, out: 0x1cf929e3
+lwxc1 :: offset: 0x328, out: 0xe2fbfa89
+lwxc1 :: offset: 0x32c, out: 0x5eb68958
+lwxc1 :: offset: 0x330, out: 0xd24bb05d
+lwxc1 :: offset: 0x334, out: 0x76ed25b7
+lwxc1 :: offset: 0x338, out: 0xeb9682c
+lwxc1 :: offset: 0x33c, out: 0x170312f1
+lwxc1 :: offset: 0x340, out: 0x84785280
+lwxc1 :: offset: 0x344, out: 0xdd301d0d
+lwxc1 :: offset: 0x348, out: 0x179c77aa
+lwxc1 :: offset: 0x34c, out: 0x1f8fd6ef
+lwxc1 :: offset: 0x350, out: 0x26444ced
+lwxc1 :: offset: 0x354, out: 0x2998436d
+lwxc1 :: offset: 0x358, out: 0x7175c9d
+lwxc1 :: offset: 0x35c, out: 0xd58ca708
+lwxc1 :: offset: 0x360, out: 0x663d0610
+lwxc1 :: offset: 0x364, out: 0x55833287
+lwxc1 :: offset: 0x368, out: 0xab7dd048
+lwxc1 :: offset: 0x36c, out: 0x8951d68b
+lwxc1 :: offset: 0x370, out: 0xf6982367
+lwxc1 :: offset: 0x374, out: 0xe82471b
+lwxc1 :: offset: 0x378, out: 0x36886c59
+lwxc1 :: offset: 0x37c, out: 0xd98d26b2
+lwxc1 :: offset: 0x380, out: 0x9ca4bdb
+lwxc1 :: offset: 0x384, out: 0xd32be479
+lwxc1 :: offset: 0x388, out: 0xfd5d7d1d
+lwxc1 :: offset: 0x38c, out: 0x9962e61f
+lwxc1 :: offset: 0x390, out: 0x3f46553e
+lwxc1 :: offset: 0x394, out: 0xcad374df
+lwxc1 :: offset: 0x398, out: 0x2e9ab97d
+lwxc1 :: offset: 0x39c, out: 0x3eedf2a7
+lwxc1 :: offset: 0x3a0, out: 0x36a6f7fa
+lwxc1 :: offset: 0x3a4, out: 0x3c0c9f33
+lwxc1 :: offset: 0x3a8, out: 0x8bb938e3
+lwxc1 :: offset: 0x3ac, out: 0x155ec9dc
+lwxc1 :: offset: 0x3b0, out: 0xd2df25c4
+lwxc1 :: offset: 0x3b4, out: 0x19478206
+lwxc1 :: offset: 0x3b8, out: 0xbc65bf27
+lwxc1 :: offset: 0x3bc, out: 0xeb321825
+lwxc1 :: offset: 0x3c0, out: 0xa8b08fe6
+lwxc1 :: offset: 0x3c4, out: 0x7a8bc7da
+lwxc1 :: offset: 0x3c8, out: 0x852b5bca
+lwxc1 :: offset: 0x3cc, out: 0xf8dfcde8
+lwxc1 :: offset: 0x3d0, out: 0x478909b
+lwxc1 :: offset: 0x3d4, out: 0x59a99269
+lwxc1 :: offset: 0x3d8, out: 0xbfb31cc8
+lwxc1 :: offset: 0x3dc, out: 0x7857360f
+lwxc1 :: offset: 0x3e0, out: 0xb665ed5e
+lwxc1 :: offset: 0x3e4, out: 0x7f89e9a2
+lwxc1 :: offset: 0x3e8, out: 0x15da9474
+lwxc1 :: offset: 0x3ec, out: 0xb7a8d5e4
+lwxc1 :: offset: 0x3f0, out: 0xf6b3537d
+lwxc1 :: offset: 0x3f4, out: 0x2af90fcc
+lwxc1 :: offset: 0x3f8, out: 0x223d7cfe
+lwxc1 :: offset: 0x3fc, out: 0x2b961897
+lwxc1 :: offset: 0x400, out: 0x420b34f5
+lwxc1 :: offset: 0x404, out: 0x33734a4b
+lwxc1 :: offset: 0x408, out: 0x897c8c8d
+lwxc1 :: offset: 0x40c, out: 0xdd46b33c
+lwxc1 :: offset: 0x410, out: 0x7a387445
+lwxc1 :: offset: 0x414, out: 0xe392ccd9
+lwxc1 :: offset: 0x418, out: 0x512f29b1
+lwxc1 :: offset: 0x41c, out: 0xd80000c9
+lwxc1 :: offset: 0x420, out: 0xeaded5c5
+lwxc1 :: offset: 0x424, out: 0x3dad020a
+lwxc1 :: offset: 0x428, out: 0x8a6229d7
+lwxc1 :: offset: 0x42c, out: 0x31eea35b
+lwxc1 :: offset: 0x430, out: 0x2c3c3f9e
+lwxc1 :: offset: 0x434, out: 0x48985649
+lwxc1 :: offset: 0x438, out: 0x7ff61e78
+lwxc1 :: offset: 0x43c, out: 0xdc9c0b77
+lwxc1 :: offset: 0x440, out: 0x2299b0e0
+lwxc1 :: offset: 0x444, out: 0x1d5e68ec
+lwxc1 :: offset: 0x448, out: 0x7c3b0467
+lwxc1 :: offset: 0x44c, out: 0x3d0c6e25
+lwxc1 :: offset: 0x450, out: 0x164e17c1
+lwxc1 :: offset: 0x454, out: 0xe7fb6587
+lwxc1 :: offset: 0x458, out: 0xfa4ca28b
+lwxc1 :: offset: 0x45c, out: 0x56d4950b
+lwxc1 :: offset: 0x460, out: 0xe5e9a314
+lwxc1 :: offset: 0x464, out: 0xbe7fa08a
+lwxc1 :: offset: 0x468, out: 0xf8be8164
+lwxc1 :: offset: 0x46c, out: 0x159649c5
+lwxc1 :: offset: 0x470, out: 0x7ca32597
+lwxc1 :: offset: 0x474, out: 0x84e69b17
+lwxc1 :: offset: 0x478, out: 0xfc8d543c
+lwxc1 :: offset: 0x47c, out: 0xa1f24f5c
+lwxc1 :: offset: 0x480, out: 0x4aeb6ca0
+lwxc1 :: offset: 0x484, out: 0xe3459e36
+lwxc1 :: offset: 0x488, out: 0xc532e18e
+lwxc1 :: offset: 0x48c, out: 0x187980fa
+lwxc1 :: offset: 0x490, out: 0xb3fdec29
+lwxc1 :: offset: 0x494, out: 0x4f287d1c
+lwxc1 :: offset: 0x498, out: 0xb620660a
+lwxc1 :: offset: 0x49c, out: 0x49732b90
+lwxc1 :: offset: 0x4a0, out: 0x993138f1
+lwxc1 :: offset: 0x4a4, out: 0x6cfde991
+lwxc1 :: offset: 0x4a8, out: 0xde02d133
+lwxc1 :: offset: 0x4ac, out: 0x7d5407b9
+lwxc1 :: offset: 0x4b0, out: 0x13a390e1
+lwxc1 :: offset: 0x4b4, out: 0xe1dab15a
+lwxc1 :: offset: 0x4b8, out: 0x743491a6
+lwxc1 :: offset: 0x4bc, out: 0x828716c8
+lwxc1 :: offset: 0x4c0, out: 0x8cff404a
+lwxc1 :: offset: 0x4c4, out: 0xede292f2
+lwxc1 :: offset: 0x4c8, out: 0xb9cec0db
+lwxc1 :: offset: 0x4cc, out: 0x1f837636
+lwxc1 :: offset: 0x4d0, out: 0x2eaa5aa7
+lwxc1 :: offset: 0x4d4, out: 0x509771c
+lwxc1 :: offset: 0x4d8, out: 0xd327538e
+lwxc1 :: offset: 0x4dc, out: 0x1875241b
+lwxc1 :: offset: 0x4e0, out: 0x42e9f854
+lwxc1 :: offset: 0x4e4, out: 0x8b739b6b
+lwxc1 :: offset: 0x4e8, out: 0x78e4e50c
+lwxc1 :: offset: 0x4ec, out: 0xeccbba1a
+lwxc1 :: offset: 0x4f0, out: 0xf6b6fa3f
+lwxc1 :: offset: 0x4f4, out: 0xcd9d27cb
+lwxc1 :: offset: 0x4f8, out: 0x73916483
+lwxc1 :: offset: 0x4fc, out: 0xae3e9423
+lwxc1 :: offset: 0x500, out: 0x276af70a
+lwxc1 :: offset: 0x504, out: 0xe128561
+lwxc1 :: offset: 0x508, out: 0x3045bf6
+lwxc1 :: offset: 0x50c, out: 0xb5e74b6e
+lwxc1 :: offset: 0x510, out: 0x20223f13
+lwxc1 :: offset: 0x514, out: 0x8accfa6
+lwxc1 :: offset: 0x518, out: 0xf83c5574
+lwxc1 :: offset: 0x51c, out: 0x3976b5f5
+lwxc1 :: offset: 0x520, out: 0x1f9720f9
+lwxc1 :: offset: 0x524, out: 0x46923c3d
+lwxc1 :: offset: 0x528, out: 0x620d2850
+lwxc1 :: offset: 0x52c, out: 0x6d2448dd
+lwxc1 :: offset: 0x530, out: 0x60a521e9
+lwxc1 :: offset: 0x534, out: 0x9ff4a732
+lwxc1 :: offset: 0x538, out: 0x5a08f3ab
+lwxc1 :: offset: 0x53c, out: 0x5c680f0b
+lwxc1 :: offset: 0x540, out: 0xc7a59be7
+lwxc1 :: offset: 0x544, out: 0x800f3d26
+lwxc1 :: offset: 0x548, out: 0x1aecdf29
+lwxc1 :: offset: 0x54c, out: 0x82ca1b41
+lwxc1 :: offset: 0x550, out: 0x2b8613a2
+lwxc1 :: offset: 0x554, out: 0x60d19dcd
+lwxc1 :: offset: 0x558, out: 0x2518ac8b
+lwxc1 :: offset: 0x55c, out: 0xe8bbe7f
+lwxc1 :: offset: 0x560, out: 0x743e568d
+lwxc1 :: offset: 0x564, out: 0x2fcf486b
+lwxc1 :: offset: 0x568, out: 0x126f646f
+lwxc1 :: offset: 0x56c, out: 0x34c31728
+lwxc1 :: offset: 0x570, out: 0xaab01961
+lwxc1 :: offset: 0x574, out: 0x56fc4d12
+lwxc1 :: offset: 0x578, out: 0x7535cd33
+lwxc1 :: offset: 0x57c, out: 0x8595d342
+lwxc1 :: offset: 0x580, out: 0xdfb254da
+lwxc1 :: offset: 0x584, out: 0x422346ec
+lwxc1 :: offset: 0x588, out: 0xa86726c9
+lwxc1 :: offset: 0x58c, out: 0x81ab2a
+lwxc1 :: offset: 0x590, out: 0x9bfeffa1
+lwxc1 :: offset: 0x594, out: 0x679d7438
+lwxc1 :: offset: 0x598, out: 0xc7699826
+lwxc1 :: offset: 0x59c, out: 0xb7dee244
+lwxc1 :: offset: 0x5a0, out: 0x3c07af97
+lwxc1 :: offset: 0x5a4, out: 0xfba6704a
+lwxc1 :: offset: 0x5a8, out: 0x521364dc
+lwxc1 :: offset: 0x5ac, out: 0x4c58bfe
+lwxc1 :: offset: 0x5b0, out: 0xe0f7bb58
+lwxc1 :: offset: 0x5b4, out: 0x9ab7aebc
+lwxc1 :: offset: 0x5b8, out: 0xe336c60c
+lwxc1 :: offset: 0x5bc, out: 0xdeeb954d
+lwxc1 :: offset: 0x5c0, out: 0xd5b2120c
+lwxc1 :: offset: 0x5c4, out: 0x6f52416e
+lwxc1 :: offset: 0x5c8, out: 0x85a2d4ff
+lwxc1 :: offset: 0x5cc, out: 0x7e628a34
+lwxc1 :: offset: 0x5d0, out: 0x986a2b65
+lwxc1 :: offset: 0x5d4, out: 0x4a4e7e07
+lwxc1 :: offset: 0x5d8, out: 0xa974eac4
+lwxc1 :: offset: 0x5dc, out: 0x3a489b55
+lwxc1 :: offset: 0x5e0, out: 0xa388c162
+lwxc1 :: offset: 0x5e4, out: 0x72f1f8f5
+lwxc1 :: offset: 0x5e8, out: 0xe8c11f45
+lwxc1 :: offset: 0x5ec, out: 0xe7495ea9
+lwxc1 :: offset: 0x5f0, out: 0xadaa5a76
+lwxc1 :: offset: 0x5f4, out: 0x5cc1c8b4
+lwxc1 :: offset: 0x5f8, out: 0x7ab4ce88
+lwxc1 :: offset: 0x5fc, out: 0xdfa605c0
+lwxc1 :: offset: 0x600, out: 0xb42ad6e6
+lwxc1 :: offset: 0x604, out: 0x59a7b04f
+lwxc1 :: offset: 0x608, out: 0x4bf8485a
+lwxc1 :: offset: 0x60c, out: 0xb728922f
+lwxc1 :: offset: 0x610, out: 0x76a3d60c
+lwxc1 :: offset: 0x614, out: 0x3b66a7fb
+lwxc1 :: offset: 0x618, out: 0x31e0c6af
+lwxc1 :: offset: 0x61c, out: 0xfdc28eda
+lwxc1 :: offset: 0x620, out: 0x53606bb4
+lwxc1 :: offset: 0x624, out: 0xbf0c999d
+lwxc1 :: offset: 0x628, out: 0x32fc12c8
+lwxc1 :: offset: 0x62c, out: 0x1b7919f0
+lwxc1 :: offset: 0x630, out: 0x3ef88384
+lwxc1 :: offset: 0x634, out: 0xc72efcd6
+lwxc1 :: offset: 0x638, out: 0x38b1c7bb
+lwxc1 :: offset: 0x63c, out: 0x6a2a3580
+lwxc1 :: offset: 0x640, out: 0x15ebf612
+lwxc1 :: offset: 0x644, out: 0x1dca77c9
+lwxc1 :: offset: 0x648, out: 0x5eaacdd9
+lwxc1 :: offset: 0x64c, out: 0xfd9147ae
+lwxc1 :: offset: 0x650, out: 0xbb8470f9
+lwxc1 :: offset: 0x654, out: 0x81e91117
+lwxc1 :: offset: 0x658, out: 0x5d42aea
+lwxc1 :: offset: 0x65c, out: 0xc6a532e0
+lwxc1 :: offset: 0x660, out: 0x14abf364
+lwxc1 :: offset: 0x664, out: 0x19fb9e63
+lwxc1 :: offset: 0x668, out: 0x249d559a
+lwxc1 :: offset: 0x66c, out: 0xa8d72aac
+lwxc1 :: offset: 0x670, out: 0xcd6764f
+lwxc1 :: offset: 0x674, out: 0x84b30ec
+lwxc1 :: offset: 0x678, out: 0x7f03ac07
+lwxc1 :: offset: 0x67c, out: 0x92468fdf
+lwxc1 :: offset: 0x680, out: 0x7e35ce6d
+lwxc1 :: offset: 0x684, out: 0x56e670f5
+lwxc1 :: offset: 0x688, out: 0x15282859
+lwxc1 :: offset: 0x68c, out: 0x1a652711
+lwxc1 :: offset: 0x690, out: 0x9e1c3283
+lwxc1 :: offset: 0x694, out: 0xd215a9fb
+lwxc1 :: offset: 0x698, out: 0x8d95c049
+lwxc1 :: offset: 0x69c, out: 0x282a0417
+lwxc1 :: offset: 0x6a0, out: 0xf2e7a490
+lwxc1 :: offset: 0x6a4, out: 0x978058f3
+lwxc1 :: offset: 0x6a8, out: 0x775b4cca
+lwxc1 :: offset: 0x6ac, out: 0x975b1aa
+lwxc1 :: offset: 0x6b0, out: 0xa2b84a6
+lwxc1 :: offset: 0x6b4, out: 0x35111020
+lwxc1 :: offset: 0x6b8, out: 0x23fa0d3
+lwxc1 :: offset: 0x6bc, out: 0xa7d88b6f
+lwxc1 :: offset: 0x6c0, out: 0xa3d991b7
+lwxc1 :: offset: 0x6c4, out: 0x9941dedd
+lwxc1 :: offset: 0x6c8, out: 0x751cb483
+lwxc1 :: offset: 0x6cc, out: 0x5a0d9508
+lwxc1 :: offset: 0x6d0, out: 0x949cad35
+lwxc1 :: offset: 0x6d4, out: 0x625bb2d3
+lwxc1 :: offset: 0x6d8, out: 0x7f567f35
+lwxc1 :: offset: 0x6dc, out: 0xa6929739
+lwxc1 :: offset: 0x6e0, out: 0x185b88e0
+lwxc1 :: offset: 0x6e4, out: 0xdb8d7d27
+lwxc1 :: offset: 0x6e8, out: 0x255a4cd2
+lwxc1 :: offset: 0x6ec, out: 0x2fd61b91
+lwxc1 :: offset: 0x6f0, out: 0x1048d589
+lwxc1 :: offset: 0x6f4, out: 0xa4363f7b
+lwxc1 :: offset: 0x6f8, out: 0x6a6d5708
+lwxc1 :: offset: 0x6fc, out: 0xf4605790
+lwxc1 :: offset: 0x700, out: 0xd58ecbab
+lwxc1 :: offset: 0x704, out: 0xde35697f
+lwxc1 :: offset: 0x708, out: 0x575548fd
+lwxc1 :: offset: 0x70c, out: 0x8c0a5f1
+lwxc1 :: offset: 0x710, out: 0x8bb640fb
+lwxc1 :: offset: 0x714, out: 0x8ed98ddb
+lwxc1 :: offset: 0x718, out: 0xbe00d51e
+lwxc1 :: offset: 0x71c, out: 0xabc578cc
+lwxc1 :: offset: 0x720, out: 0x2f7e224a
+lwxc1 :: offset: 0x724, out: 0x1c170ab2
+lwxc1 :: offset: 0x728, out: 0xa978f12c
+lwxc1 :: offset: 0x72c, out: 0xa22256a7
+lwxc1 :: offset: 0x730, out: 0x9950a93b
+lwxc1 :: offset: 0x734, out: 0x811ee02f
+lwxc1 :: offset: 0x738, out: 0xb44eea93
+lwxc1 :: offset: 0x73c, out: 0xc6796a0c
+lwxc1 :: offset: 0x740, out: 0xfe71fca0
+lwxc1 :: offset: 0x744, out: 0x6c0eb657
+lwxc1 :: offset: 0x748, out: 0x4ed6393d
+lwxc1 :: offset: 0x74c, out: 0xf818af57
+lwxc1 :: offset: 0x750, out: 0xf22e9020
+lwxc1 :: offset: 0x754, out: 0x236770a
+lwxc1 :: offset: 0x758, out: 0x81efb6c7
+lwxc1 :: offset: 0x75c, out: 0xafd0c45d
+lwxc1 :: offset: 0x760, out: 0xeed8f351
+lwxc1 :: offset: 0x764, out: 0x8102315b
+lwxc1 :: offset: 0x768, out: 0xadafefb9
+lwxc1 :: offset: 0x76c, out: 0x995efd5e
+lwxc1 :: offset: 0x770, out: 0x34061933
+lwxc1 :: offset: 0x774, out: 0xeb253086
+lwxc1 :: offset: 0x778, out: 0x1748da26
+lwxc1 :: offset: 0x77c, out: 0x4b4c52bc
+lwxc1 :: offset: 0x780, out: 0x34fdfc9a
+lwxc1 :: offset: 0x784, out: 0x9302be89
+lwxc1 :: offset: 0x788, out: 0xd00278c3
+lwxc1 :: offset: 0x78c, out: 0xc521d180
+lwxc1 :: offset: 0x790, out: 0xe90944a4
+lwxc1 :: offset: 0x794, out: 0xc1d37a5d
+lwxc1 :: offset: 0x798, out: 0x65fd698f
+lwxc1 :: offset: 0x79c, out: 0xddef9839
+lwxc1 :: offset: 0x7a0, out: 0xc49ee3ad
+lwxc1 :: offset: 0x7a4, out: 0x81b5af52
+lwxc1 :: offset: 0x7a8, out: 0x7aa941e8
+lwxc1 :: offset: 0x7ac, out: 0xbdb263e9
+lwxc1 :: offset: 0x7b0, out: 0x372c209e
+lwxc1 :: offset: 0x7b4, out: 0x42f3b58d
+lwxc1 :: offset: 0x7b8, out: 0x30f870b7
+lwxc1 :: offset: 0x7bc, out: 0xe122a83b
+lwxc1 :: offset: 0x7c0, out: 0x9e02de4b
+lwxc1 :: offset: 0x7c4, out: 0x678930ec
+lwxc1 :: offset: 0x7c8, out: 0xcd61a863
+lwxc1 :: offset: 0x7cc, out: 0x9826631e
+lwxc1 :: offset: 0x7d0, out: 0xae87bc89
+lwxc1 :: offset: 0x7d4, out: 0x9a7bd3ca
+lwxc1 :: offset: 0x7d8, out: 0x58ec644d
+lwxc1 :: offset: 0x7dc, out: 0x6481af17
+lwxc1 :: offset: 0x7e0, out: 0x680cce5f
+lwxc1 :: offset: 0x7e4, out: 0xb236b666
+lwxc1 :: offset: 0x7e8, out: 0x3baa9947
+lwxc1 :: offset: 0x7ec, out: 0x1f6d4d75
+lwxc1 :: offset: 0x7f0, out: 0x614d9b44
+lwxc1 :: offset: 0x7f4, out: 0x5f12236b
+lwxc1 :: offset: 0x7f8, out: 0xa2a6ec66
+lwxc1 :: offset: 0x7fc, out: 0x1ba84121
+--- SDC1 ---
+sdc1 :: offset: 0x0, out: 0x0
+sdc1 :: offset: 0x8, out: 0x9823b6e0d4326d9
+sdc1 :: offset: 0x10, out: 0x130476dc17c56b6b
+sdc1 :: offset: 0x18, out: 0x1a864db21e475005
+sdc1 :: offset: 0x20, out: 0x2608edb822c9f00f
+sdc1 :: offset: 0x28, out: 0x2f8ad6d62b4bcb61
+sdc1 :: offset: 0x30, out: 0x350c9b6431cd86d3
+sdc1 :: offset: 0x38, out: 0x3c8ea00a384fbdbd
+sdc1 :: offset: 0x40, out: 0x4c11db7048d0c6c7
+sdc1 :: offset: 0x48, out: 0x4593e01e4152fda9
+sdc1 :: offset: 0x50, out: 0x5f15adac5bd4b01b
+sdc1 :: offset: 0x58, out: 0x569796c252568b75
+sdc1 :: offset: 0x60, out: 0x6a1936c86ed82b7f
+sdc1 :: offset: 0x68, out: 0x639b0da6675a1011
+sdc1 :: offset: 0x70, out: 0x791d40147ddc5da3
+sdc1 :: offset: 0x78, out: 0x709f7b7a745e66cd
+sdc1 :: offset: 0x80, out: 0x9823b6e09ce2ab57
+sdc1 :: offset: 0x88, out: 0x91a18d8e95609039
+sdc1 :: offset: 0x90, out: 0x8b27c03c8fe6dd8b
+sdc1 :: offset: 0x98, out: 0x82a5fb528664e6e5
+sdc1 :: offset: 0xa0, out: 0xbe2b5b58baea46ef
+sdc1 :: offset: 0xa8, out: 0xb7a96036b3687d81
+sdc1 :: offset: 0xb0, out: 0xad2f2d84a9ee3033
+sdc1 :: offset: 0xb8, out: 0xa4ad16eaa06c0b5d
+sdc1 :: offset: 0xc0, out: 0xd4326d90d0f37027
+sdc1 :: offset: 0xc8, out: 0xddb056fed9714b49
+sdc1 :: offset: 0xd0, out: 0xc7361b4cc3f706fb
+sdc1 :: offset: 0xd8, out: 0xceb42022ca753d95
+sdc1 :: offset: 0xe0, out: 0xf23a8028f6fb9d9f
+sdc1 :: offset: 0xe8, out: 0xfbb8bb46ff79a6f1
+sdc1 :: offset: 0xf0, out: 0xe13ef6f4e5ffeb43
+sdc1 :: offset: 0xf8, out: 0xe8bccd9aec7dd02d
+sdc1 :: offset: 0x100, out: 0x3486707730476dc0
+sdc1 :: offset: 0x108, out: 0x3d044b1939c556ae
+sdc1 :: offset: 0x110, out: 0x278206ab23431b1c
+sdc1 :: offset: 0x118, out: 0x2e003dc52ac12072
+sdc1 :: offset: 0x120, out: 0x128e9dcf164f8078
+sdc1 :: offset: 0x128, out: 0x1b0ca6a11fcdbb16
+sdc1 :: offset: 0x130, out: 0x18aeb13054bf6a4
+sdc1 :: offset: 0x138, out: 0x808d07d0cc9cdca
+sdc1 :: offset: 0x140, out: 0x7897ab077c56b6b0
+sdc1 :: offset: 0x148, out: 0x7115906975d48dde
+sdc1 :: offset: 0x150, out: 0x6b93dddb6f52c06c
+sdc1 :: offset: 0x158, out: 0x6211e6b566d0fb02
+sdc1 :: offset: 0x160, out: 0x5e9f46bf5a5e5b08
+sdc1 :: offset: 0x168, out: 0x571d7dd153dc6066
+sdc1 :: offset: 0x170, out: 0x4d9b3063495a2dd4
+sdc1 :: offset: 0x178, out: 0x44190b0d40d816ba
+sdc1 :: offset: 0x180, out: 0xaca5c697a864db20
+sdc1 :: offset: 0x188, out: 0xa527fdf9a1e6e04e
+sdc1 :: offset: 0x190, out: 0xbfa1b04bbb60adfc
+sdc1 :: offset: 0x198, out: 0xb6238b25b2e29692
+sdc1 :: offset: 0x1a0, out: 0x8aad2b2f00000000
+sdc1 :: offset: 0x1a8, out: 0x87ee0df6
+sdc1 :: offset: 0x1b0, out: 0x99a95df39d684044
+sdc1 :: offset: 0x1b8, out: 0x902b669d94ea7b2a
+sdc1 :: offset: 0x1c0, out: 0xe0b41de7e4750050
+sdc1 :: offset: 0x1c8, out: 0xe9362689edf73b3e
+sdc1 :: offset: 0x1d0, out: 0xf3b06b3bf771768c
+sdc1 :: offset: 0x1d8, out: 0xfa325055fef34de2
+sdc1 :: offset: 0x1e0, out: 0xc6bcf05fc27dede8
+sdc1 :: offset: 0x1e8, out: 0xcf3ecb31cbffd686
+sdc1 :: offset: 0x1f0, out: 0xd5b88683d1799b34
+sdc1 :: offset: 0x1f8, out: 0xdc3abdedd8fba05a
+sdc1 :: offset: 0x200, out: 0x690ce0ee6dcdfd59
+sdc1 :: offset: 0x208, out: 0x608edb80644fc637
+sdc1 :: offset: 0x210, out: 0x7a0896327ec98b85
+sdc1 :: offset: 0x218, out: 0x738aad5c774bb0eb
+sdc1 :: offset: 0x220, out: 0x4f040d564bc510e1
+sdc1 :: offset: 0x228, out: 0x4686363842472b8f
+sdc1 :: offset: 0x230, out: 0x5c007b8a58c1663d
+sdc1 :: offset: 0x238, out: 0x558240e451435d53
+sdc1 :: offset: 0x240, out: 0x251d3b9e21dc2629
+sdc1 :: offset: 0x248, out: 0x2c9f00f0285e1d47
+sdc1 :: offset: 0x250, out: 0x36194d4232d850f5
+sdc1 :: offset: 0x258, out: 0x3f9b762c3b5a6b9b
+sdc1 :: offset: 0x260, out: 0x315d62607d4cb91
+sdc1 :: offset: 0x268, out: 0xa97ed480e56f0ff
+sdc1 :: offset: 0x270, out: 0x1011a0fa14d0bd4d
+sdc1 :: offset: 0x278, out: 0x19939b941d528623
+sdc1 :: offset: 0x280, out: 0xf12f560ef5ee4bb9
+sdc1 :: offset: 0x288, out: 0xf8ad6d60fc6c70d7
+sdc1 :: offset: 0x290, out: 0xe22b20d2e6ea3d65
+sdc1 :: offset: 0x298, out: 0xeba91bbcef68060b
+sdc1 :: offset: 0x2a0, out: 0xd727bbb6d3e6a601
+sdc1 :: offset: 0x2a8, out: 0xdea580d8da649d6f
+sdc1 :: offset: 0x2b0, out: 0xc423cd6a00000000
+sdc1 :: offset: 0x2b8, out: 0xcda1f60400000000
+sdc1 :: offset: 0x2c0, out: 0xbd3e8d7eb9ff90c9
+sdc1 :: offset: 0x2c8, out: 0xb4bcb610b07daba7
+sdc1 :: offset: 0x2d0, out: 0xae3afba2aafbe615
+sdc1 :: offset: 0x2d8, out: 0xa7b8c0cca379dd7b
+sdc1 :: offset: 0x2e0, out: 0x9b3660c69ff77d71
+sdc1 :: offset: 0x2e8, out: 0x92b45ba89675461f
+sdc1 :: offset: 0x2f0, out: 0x8832161a8cf30bad
+sdc1 :: offset: 0x2f8, out: 0x81b02d74857130c3
+sdc1 :: offset: 0x300, out: 0x5d8a9099594b8d2e
+sdc1 :: offset: 0x308, out: 0x5408abf750c9b640
+sdc1 :: offset: 0x310, out: 0x4e8ee6454a4ffbf2
+sdc1 :: offset: 0x318, out: 0x470cdd2b43cdc09c
+sdc1 :: offset: 0x320, out: 0x7b827d217f436096
+sdc1 :: offset: 0x328, out: 0x7200464f76c15bf8
+sdc1 :: offset: 0x330, out: 0x68860bfd6c47164a
+sdc1 :: offset: 0x338, out: 0x6104309365c52d24
+sdc1 :: offset: 0x340, out: 0x119b4be9155a565e
+sdc1 :: offset: 0x348, out: 0x181970871cd86d30
+sdc1 :: offset: 0x350, out: 0x29f3d35065e2082
+sdc1 :: offset: 0x358, out: 0xb1d065b0fdc1bec
+sdc1 :: offset: 0x360, out: 0x3793a6513352bbe6
+sdc1 :: offset: 0x368, out: 0x3e119d3f3ad08088
+sdc1 :: offset: 0x370, out: 0x2497d08d2056cd3a
+sdc1 :: offset: 0x378, out: 0x2d15ebe329d4f654
+sdc1 :: offset: 0x380, out: 0xc5a92679c1683bce
+sdc1 :: offset: 0x388, out: 0xcc2b1d17c8ea00a0
+sdc1 :: offset: 0x390, out: 0xd6ad50a5d26c4d12
+sdc1 :: offset: 0x398, out: 0xdf2f6bcbdbee767c
+sdc1 :: offset: 0x3a0, out: 0xe3a1cbc1e760d676
+sdc1 :: offset: 0x3a8, out: 0xea23f0afeee2ed18
+sdc1 :: offset: 0x3b0, out: 0xf0a5bd1df464a0aa
+sdc1 :: offset: 0x3b8, out: 0xf9278673fde69bc4
+sdc1 :: offset: 0x3c0, out: 0x89b8fd098d79e0be
+sdc1 :: offset: 0x3c8, out: 0x803ac66784fbdbd0
+sdc1 :: offset: 0x3d0, out: 0x9abc8bd59e7d9662
+sdc1 :: offset: 0x3d8, out: 0x933eb0bb97ffad0c
+sdc1 :: offset: 0x3e0, out: 0xafb010b1ab710d06
+sdc1 :: offset: 0x3e8, out: 0xa6322bdfa2f33668
+sdc1 :: offset: 0x3f0, out: 0xbcb4666db8757bda
+sdc1 :: offset: 0x3f8, out: 0xb5365d03b1f740b4
+--- SWC1 ---
+swc1 :: offset: 0x0, out: 0x0
+swc1 :: offset: 0x4, out: 0x9823b6e00000000
+swc1 :: offset: 0x8, out: 0xd4326d900000000
+swc1 :: offset: 0xc, out: 0x130476dc00000000
+swc1 :: offset: 0x10, out: 0x17c56b6b00000000
+swc1 :: offset: 0x14, out: 0x1a864db200000000
+swc1 :: offset: 0x18, out: 0x1e47500500000000
+swc1 :: offset: 0x1c, out: 0x2608edb800000000
+swc1 :: offset: 0x20, out: 0x22c9f00f00000000
+swc1 :: offset: 0x24, out: 0x2f8ad6d600000000
+swc1 :: offset: 0x28, out: 0x2b4bcb6100000000
+swc1 :: offset: 0x2c, out: 0x350c9b6400000000
+swc1 :: offset: 0x30, out: 0x31cd86d300000000
+swc1 :: offset: 0x34, out: 0x3c8ea00a00000000
+swc1 :: offset: 0x38, out: 0x384fbdbd00000000
+swc1 :: offset: 0x3c, out: 0x4c11db7000000000
+swc1 :: offset: 0x40, out: 0x48d0c6c700000000
+swc1 :: offset: 0x44, out: 0x4593e01e00000000
+swc1 :: offset: 0x48, out: 0x4152fda900000000
+swc1 :: offset: 0x4c, out: 0x5f15adac00000000
+swc1 :: offset: 0x50, out: 0x5bd4b01b00000000
+swc1 :: offset: 0x54, out: 0x569796c200000000
+swc1 :: offset: 0x58, out: 0x52568b7500000000
+swc1 :: offset: 0x5c, out: 0x6a1936c800000000
+swc1 :: offset: 0x60, out: 0x6ed82b7f00000000
+swc1 :: offset: 0x64, out: 0x639b0da600000000
+swc1 :: offset: 0x68, out: 0x675a101100000000
+swc1 :: offset: 0x6c, out: 0x791d401400000000
+swc1 :: offset: 0x70, out: 0x7ddc5da300000000
+swc1 :: offset: 0x74, out: 0x709f7b7a00000000
+swc1 :: offset: 0x78, out: 0x745e66cd00000000
+swc1 :: offset: 0x7c, out: 0x9823b6e000000000
+swc1 :: offset: 0x80, out: 0x9ce2ab5700000000
+swc1 :: offset: 0x84, out: 0x91a18d8e00000000
+swc1 :: offset: 0x88, out: 0x9560903900000000
+swc1 :: offset: 0x8c, out: 0x8b27c03c00000000
+swc1 :: offset: 0x90, out: 0x8fe6dd8b00000000
+swc1 :: offset: 0x94, out: 0x82a5fb5200000000
+swc1 :: offset: 0x98, out: 0x8664e6e500000000
+swc1 :: offset: 0x9c, out: 0xbe2b5b5800000000
+swc1 :: offset: 0xa0, out: 0xbaea46ef00000000
+swc1 :: offset: 0xa4, out: 0xb7a9603600000000
+swc1 :: offset: 0xa8, out: 0xb3687d8100000000
+swc1 :: offset: 0xac, out: 0xad2f2d8400000000
+swc1 :: offset: 0xb0, out: 0xa9ee303300000000
+swc1 :: offset: 0xb4, out: 0xa4ad16ea00000000
+swc1 :: offset: 0xb8, out: 0xa06c0b5d00000000
+swc1 :: offset: 0xbc, out: 0xd4326d9000000000
+swc1 :: offset: 0xc0, out: 0xd0f3702700000000
+swc1 :: offset: 0xc4, out: 0xddb056fe00000000
+swc1 :: offset: 0xc8, out: 0xd9714b4900000000
+swc1 :: offset: 0xcc, out: 0xc7361b4c00000000
+swc1 :: offset: 0xd0, out: 0xc3f706fb00000000
+swc1 :: offset: 0xd4, out: 0xceb4202200000000
+swc1 :: offset: 0xd8, out: 0xca753d9500000000
+swc1 :: offset: 0xdc, out: 0xf23a802800000000
+swc1 :: offset: 0xe0, out: 0xf6fb9d9f00000000
+swc1 :: offset: 0xe4, out: 0xfbb8bb4600000000
+swc1 :: offset: 0xe8, out: 0xff79a6f100000000
+swc1 :: offset: 0xec, out: 0xe13ef6f400000000
+swc1 :: offset: 0xf0, out: 0xe5ffeb4300000000
+swc1 :: offset: 0xf4, out: 0xe8bccd9a00000000
+swc1 :: offset: 0xf8, out: 0xec7dd02d00000000
+swc1 :: offset: 0xfc, out: 0x3486707700000000
+swc1 :: offset: 0x100, out: 0x30476dc000000000
+swc1 :: offset: 0x104, out: 0x3d044b1900000000
+swc1 :: offset: 0x108, out: 0x39c556ae00000000
+swc1 :: offset: 0x10c, out: 0x278206ab00000000
+swc1 :: offset: 0x110, out: 0x23431b1c00000000
+swc1 :: offset: 0x114, out: 0x2e003dc500000000
+swc1 :: offset: 0x118, out: 0x2ac1207200000000
+swc1 :: offset: 0x11c, out: 0x128e9dcf00000000
+swc1 :: offset: 0x120, out: 0x164f807800000000
+swc1 :: offset: 0x124, out: 0x1b0ca6a100000000
+swc1 :: offset: 0x128, out: 0x1fcdbb1600000000
+swc1 :: offset: 0x12c, out: 0x18aeb1300000000
+swc1 :: offset: 0x130, out: 0x54bf6a400000000
+swc1 :: offset: 0x134, out: 0x808d07d00000000
+swc1 :: offset: 0x138, out: 0xcc9cdca00000000
+swc1 :: offset: 0x13c, out: 0x7897ab0700000000
+swc1 :: offset: 0x140, out: 0x7c56b6b000000000
+swc1 :: offset: 0x144, out: 0x7115906900000000
+swc1 :: offset: 0x148, out: 0x75d48dde00000000
+swc1 :: offset: 0x14c, out: 0x6b93dddb00000000
+swc1 :: offset: 0x150, out: 0x6f52c06c00000000
+swc1 :: offset: 0x154, out: 0x6211e6b500000000
+swc1 :: offset: 0x158, out: 0x66d0fb0200000000
+swc1 :: offset: 0x15c, out: 0x5e9f46bf00000000
+swc1 :: offset: 0x160, out: 0x5a5e5b0800000000
+swc1 :: offset: 0x164, out: 0x571d7dd100000000
+swc1 :: offset: 0x168, out: 0x53dc606600000000
+swc1 :: offset: 0x16c, out: 0x4d9b306300000000
+swc1 :: offset: 0x170, out: 0x495a2dd400000000
+swc1 :: offset: 0x174, out: 0x44190b0d00000000
+swc1 :: offset: 0x178, out: 0x40d816ba00000000
+swc1 :: offset: 0x17c, out: 0xaca5c69700000000
+swc1 :: offset: 0x180, out: 0xa864db2000000000
+swc1 :: offset: 0x184, out: 0xa527fdf900000000
+swc1 :: offset: 0x188, out: 0xa1e6e04e00000000
+swc1 :: offset: 0x18c, out: 0xbfa1b04b00000000
+swc1 :: offset: 0x190, out: 0xbb60adfc00000000
+swc1 :: offset: 0x194, out: 0xb6238b2500000000
+swc1 :: offset: 0x198, out: 0xb2e2969200000000
+swc1 :: offset: 0x19c, out: 0x8aad2b2f00000000
+swc1 :: offset: 0x1a0, out: 0x0
+swc1 :: offset: 0x1a4, out: 0x0
+swc1 :: offset: 0x1a8, out: 0x87ee0df600000000
+swc1 :: offset: 0x1ac, out: 0x99a95df300000000
+swc1 :: offset: 0x1b0, out: 0x9d68404400000000
+swc1 :: offset: 0x1b4, out: 0x902b669d00000000
+swc1 :: offset: 0x1b8, out: 0x94ea7b2a00000000
+swc1 :: offset: 0x1bc, out: 0xe0b41de700000000
+swc1 :: offset: 0x1c0, out: 0xe475005000000000
+swc1 :: offset: 0x1c4, out: 0xe936268900000000
+swc1 :: offset: 0x1c8, out: 0xedf73b3e00000000
+swc1 :: offset: 0x1cc, out: 0xf3b06b3b00000000
+swc1 :: offset: 0x1d0, out: 0xf771768c00000000
+swc1 :: offset: 0x1d4, out: 0xfa32505500000000
+swc1 :: offset: 0x1d8, out: 0xfef34de200000000
+swc1 :: offset: 0x1dc, out: 0xc6bcf05f00000000
+swc1 :: offset: 0x1e0, out: 0xc27dede800000000
+swc1 :: offset: 0x1e4, out: 0xcf3ecb3100000000
+swc1 :: offset: 0x1e8, out: 0xcbffd68600000000
+swc1 :: offset: 0x1ec, out: 0xd5b8868300000000
+swc1 :: offset: 0x1f0, out: 0xd1799b3400000000
+swc1 :: offset: 0x1f4, out: 0xdc3abded00000000
+swc1 :: offset: 0x1f8, out: 0xd8fba05a00000000
+swc1 :: offset: 0x1fc, out: 0x690ce0ee00000000
+swc1 :: offset: 0x200, out: 0x6dcdfd5900000000
+swc1 :: offset: 0x204, out: 0x608edb8000000000
+swc1 :: offset: 0x208, out: 0x644fc63700000000
+swc1 :: offset: 0x20c, out: 0x7a08963200000000
+swc1 :: offset: 0x210, out: 0x7ec98b8500000000
+swc1 :: offset: 0x214, out: 0x738aad5c00000000
+swc1 :: offset: 0x218, out: 0x774bb0eb00000000
+swc1 :: offset: 0x21c, out: 0x4f040d5600000000
+swc1 :: offset: 0x220, out: 0x4bc510e100000000
+swc1 :: offset: 0x224, out: 0x4686363800000000
+swc1 :: offset: 0x228, out: 0x42472b8f00000000
+swc1 :: offset: 0x22c, out: 0x5c007b8a00000000
+swc1 :: offset: 0x230, out: 0x58c1663d00000000
+swc1 :: offset: 0x234, out: 0x558240e400000000
+swc1 :: offset: 0x238, out: 0x51435d5300000000
+swc1 :: offset: 0x23c, out: 0x251d3b9e00000000
+swc1 :: offset: 0x240, out: 0x21dc262900000000
+swc1 :: offset: 0x244, out: 0x2c9f00f000000000
+swc1 :: offset: 0x248, out: 0x285e1d4700000000
+swc1 :: offset: 0x24c, out: 0x36194d4200000000
+swc1 :: offset: 0x250, out: 0x32d850f500000000
+swc1 :: offset: 0x254, out: 0x3f9b762c00000000
+swc1 :: offset: 0x258, out: 0x3b5a6b9b00000000
+swc1 :: offset: 0x25c, out: 0x315d62600000000
+swc1 :: offset: 0x260, out: 0x7d4cb9100000000
+swc1 :: offset: 0x264, out: 0xa97ed4800000000
+swc1 :: offset: 0x268, out: 0xe56f0ff00000000
+swc1 :: offset: 0x26c, out: 0x1011a0fa00000000
+swc1 :: offset: 0x270, out: 0x14d0bd4d00000000
+swc1 :: offset: 0x274, out: 0x19939b9400000000
+swc1 :: offset: 0x278, out: 0x1d52862300000000
+swc1 :: offset: 0x27c, out: 0xf12f560e00000000
+swc1 :: offset: 0x280, out: 0xf5ee4bb900000000
+swc1 :: offset: 0x284, out: 0xf8ad6d6000000000
+swc1 :: offset: 0x288, out: 0xfc6c70d700000000
+swc1 :: offset: 0x28c, out: 0xe22b20d200000000
+swc1 :: offset: 0x290, out: 0xe6ea3d6500000000
+swc1 :: offset: 0x294, out: 0xeba91bbc00000000
+swc1 :: offset: 0x298, out: 0xef68060b00000000
+swc1 :: offset: 0x29c, out: 0xd727bbb600000000
+swc1 :: offset: 0x2a0, out: 0xd3e6a60100000000
+swc1 :: offset: 0x2a4, out: 0xdea580d800000000
+swc1 :: offset: 0x2a8, out: 0xda649d6f00000000
+swc1 :: offset: 0x2ac, out: 0xc423cd6a00000000
+swc1 :: offset: 0x2b0, out: 0x0
+swc1 :: offset: 0x2b4, out: 0xcda1f60400000000
+swc1 :: offset: 0x2b8, out: 0x0
+swc1 :: offset: 0x2bc, out: 0xbd3e8d7e00000000
+swc1 :: offset: 0x2c0, out: 0xb9ff90c900000000
+swc1 :: offset: 0x2c4, out: 0xb4bcb61000000000
+swc1 :: offset: 0x2c8, out: 0xb07daba700000000
+swc1 :: offset: 0x2cc, out: 0xae3afba200000000
+swc1 :: offset: 0x2d0, out: 0xaafbe61500000000
+swc1 :: offset: 0x2d4, out: 0xa7b8c0cc00000000
+swc1 :: offset: 0x2d8, out: 0xa379dd7b00000000
+swc1 :: offset: 0x2dc, out: 0x9b3660c600000000
+swc1 :: offset: 0x2e0, out: 0x9ff77d7100000000
+swc1 :: offset: 0x2e4, out: 0x92b45ba800000000
+swc1 :: offset: 0x2e8, out: 0x9675461f00000000
+swc1 :: offset: 0x2ec, out: 0x8832161a00000000
+swc1 :: offset: 0x2f0, out: 0x8cf30bad00000000
+swc1 :: offset: 0x2f4, out: 0x81b02d7400000000
+swc1 :: offset: 0x2f8, out: 0x857130c300000000
+swc1 :: offset: 0x2fc, out: 0x5d8a909900000000
+swc1 :: offset: 0x300, out: 0x594b8d2e00000000
+swc1 :: offset: 0x304, out: 0x5408abf700000000
+swc1 :: offset: 0x308, out: 0x50c9b64000000000
+swc1 :: offset: 0x30c, out: 0x4e8ee64500000000
+swc1 :: offset: 0x310, out: 0x4a4ffbf200000000
+swc1 :: offset: 0x314, out: 0x470cdd2b00000000
+swc1 :: offset: 0x318, out: 0x43cdc09c00000000
+swc1 :: offset: 0x31c, out: 0x7b827d2100000000
+swc1 :: offset: 0x320, out: 0x7f43609600000000
+swc1 :: offset: 0x324, out: 0x7200464f00000000
+swc1 :: offset: 0x328, out: 0x76c15bf800000000
+swc1 :: offset: 0x32c, out: 0x68860bfd00000000
+swc1 :: offset: 0x330, out: 0x6c47164a00000000
+swc1 :: offset: 0x334, out: 0x6104309300000000
+swc1 :: offset: 0x338, out: 0x65c52d2400000000
+swc1 :: offset: 0x33c, out: 0x119b4be900000000
+swc1 :: offset: 0x340, out: 0x155a565e00000000
+swc1 :: offset: 0x344, out: 0x1819708700000000
+swc1 :: offset: 0x348, out: 0x1cd86d3000000000
+swc1 :: offset: 0x34c, out: 0x29f3d3500000000
+swc1 :: offset: 0x350, out: 0x65e208200000000
+swc1 :: offset: 0x354, out: 0xb1d065b00000000
+swc1 :: offset: 0x358, out: 0xfdc1bec00000000
+swc1 :: offset: 0x35c, out: 0x3793a65100000000
+swc1 :: offset: 0x360, out: 0x3352bbe600000000
+swc1 :: offset: 0x364, out: 0x3e119d3f00000000
+swc1 :: offset: 0x368, out: 0x3ad0808800000000
+swc1 :: offset: 0x36c, out: 0x2497d08d00000000
+swc1 :: offset: 0x370, out: 0x2056cd3a00000000
+swc1 :: offset: 0x374, out: 0x2d15ebe300000000
+swc1 :: offset: 0x378, out: 0x29d4f65400000000
+swc1 :: offset: 0x37c, out: 0xc5a9267900000000
+swc1 :: offset: 0x380, out: 0xc1683bce00000000
+swc1 :: offset: 0x384, out: 0xcc2b1d1700000000
+swc1 :: offset: 0x388, out: 0xc8ea00a000000000
+swc1 :: offset: 0x38c, out: 0xd6ad50a500000000
+swc1 :: offset: 0x390, out: 0xd26c4d1200000000
+swc1 :: offset: 0x394, out: 0xdf2f6bcb00000000
+swc1 :: offset: 0x398, out: 0xdbee767c00000000
+swc1 :: offset: 0x39c, out: 0xe3a1cbc100000000
+swc1 :: offset: 0x3a0, out: 0xe760d67600000000
+swc1 :: offset: 0x3a4, out: 0xea23f0af00000000
+swc1 :: offset: 0x3a8, out: 0xeee2ed1800000000
+swc1 :: offset: 0x3ac, out: 0xf0a5bd1d00000000
+swc1 :: offset: 0x3b0, out: 0xf464a0aa00000000
+swc1 :: offset: 0x3b4, out: 0xf927867300000000
+swc1 :: offset: 0x3b8, out: 0xfde69bc400000000
+swc1 :: offset: 0x3bc, out: 0x89b8fd0900000000
+swc1 :: offset: 0x3c0, out: 0x8d79e0be00000000
+swc1 :: offset: 0x3c4, out: 0x803ac66700000000
+swc1 :: offset: 0x3c8, out: 0x84fbdbd000000000
+swc1 :: offset: 0x3cc, out: 0x9abc8bd500000000
+swc1 :: offset: 0x3d0, out: 0x9e7d966200000000
+swc1 :: offset: 0x3d4, out: 0x933eb0bb00000000
+swc1 :: offset: 0x3d8, out: 0x97ffad0c00000000
+swc1 :: offset: 0x3dc, out: 0xafb010b100000000
+swc1 :: offset: 0x3e0, out: 0xab710d0600000000
+swc1 :: offset: 0x3e4, out: 0xa6322bdf00000000
+swc1 :: offset: 0x3e8, out: 0xa2f3366800000000
+swc1 :: offset: 0x3ec, out: 0xbcb4666d00000000
+swc1 :: offset: 0x3f0, out: 0xb8757bda00000000
+swc1 :: offset: 0x3f4, out: 0xb5365d0300000000
+swc1 :: offset: 0x3f8, out: 0xb1f740b400000000
+swc1 :: offset: 0x3fc, out: 0xc22032c600000000
+--- SDXC1 ---
+sdxc1 :: offset: 0x0, out: 0x12bd6aa
+sdxc1 :: offset: 0x8, out: 0x0
+sdxc1 :: offset: 0x10, out: 0x7e876382d2ab13
+sdxc1 :: offset: 0x18, out: 0x0
+sdxc1 :: offset: 0x20, out: 0x976d6e9ac31510f3
+sdxc1 :: offset: 0x28, out: 0x0
+sdxc1 :: offset: 0x30, out: 0xb7746d775ad6a5fb
+sdxc1 :: offset: 0x38, out: 0x0
+sdxc1 :: offset: 0x40, out: 0x42b0c0a28677b502
+sdxc1 :: offset: 0x48, out: 0x0
+sdxc1 :: offset: 0x50, out: 0x2aa89d319e3c30ad
+sdxc1 :: offset: 0x58, out: 0x0
+sdxc1 :: offset: 0x60, out: 0x1f308ec377fb413d
+sdxc1 :: offset: 0x68, out: 0x0
+sdxc1 :: offset: 0x70, out: 0x7aa04213c760e4f7
+sdxc1 :: offset: 0x78, out: 0x0
+sdxc1 :: offset: 0x80, out: 0x9e705cc51ad8dca0
+sdxc1 :: offset: 0x88, out: 0x0
+sdxc1 :: offset: 0x90, out: 0x4b3dda869615a60d
+sdxc1 :: offset: 0x98, out: 0x0
+sdxc1 :: offset: 0xa0, out: 0x5e7a4dd6353d41d
+sdxc1 :: offset: 0xa8, out: 0x0
+sdxc1 :: offset: 0xb0, out: 0x3af35a9dc40bd413
+sdxc1 :: offset: 0xb8, out: 0x0
+sdxc1 :: offset: 0xc0, out: 0x47f505569a08a180
+sdxc1 :: offset: 0xc8, out: 0x0
+sdxc1 :: offset: 0xd0, out: 0x9564b77fd6d2040f
+sdxc1 :: offset: 0xd8, out: 0x0
+sdxc1 :: offset: 0xe0, out: 0xcebc8279b2c76bbe
+sdxc1 :: offset: 0xe8, out: 0x0
+sdxc1 :: offset: 0xf0, out: 0xb5034c2f1f18e4c7
+sdxc1 :: offset: 0xf8, out: 0x0
+sdxc1 :: offset: 0x100, out: 0x94ff52fc81afa797
+sdxc1 :: offset: 0x108, out: 0x0
+sdxc1 :: offset: 0x110, out: 0x31d8d9166dfc50ea
+sdxc1 :: offset: 0x118, out: 0x0
+sdxc1 :: offset: 0x120, out: 0x36549bd678e895b1
+sdxc1 :: offset: 0x128, out: 0x0
+sdxc1 :: offset: 0x130, out: 0x85e0a6319b63259b
+sdxc1 :: offset: 0x138, out: 0x0
+sdxc1 :: offset: 0x140, out: 0x556b3ecaccf17ac5
+sdxc1 :: offset: 0x148, out: 0x0
+sdxc1 :: offset: 0x150, out: 0xb42f5fc581eea0fb
+sdxc1 :: offset: 0x158, out: 0x0
+sdxc1 :: offset: 0x160, out: 0x25b50fec14682d97
+sdxc1 :: offset: 0x168, out: 0x0
+sdxc1 :: offset: 0x170, out: 0xfc93c5132cfb087a
+sdxc1 :: offset: 0x178, out: 0x0
+sdxc1 :: offset: 0x180, out: 0x3c2cd9a9cda20766
+sdxc1 :: offset: 0x188, out: 0x0
+sdxc1 :: offset: 0x190, out: 0x1791722a7d72da3e
+sdxc1 :: offset: 0x198, out: 0x0
+sdxc1 :: offset: 0x1a0, out: 0x87cc9d193ce24ad
+sdxc1 :: offset: 0x1a8, out: 0x0
+sdxc1 :: offset: 0x1b0, out: 0x1d2a757038984ed2
+sdxc1 :: offset: 0x1b8, out: 0x0
+sdxc1 :: offset: 0x1c0, out: 0xd0d070db710cd036
+sdxc1 :: offset: 0x1c8, out: 0x0
+sdxc1 :: offset: 0x1d0, out: 0x39c21c7d03415604
+sdxc1 :: offset: 0x1d8, out: 0x0
+sdxc1 :: offset: 0x1e0, out: 0x8e94b7af8ecc31ce
+sdxc1 :: offset: 0x1e8, out: 0x0
+sdxc1 :: offset: 0x1f0, out: 0x24eb6a8d1ce7674f
+sdxc1 :: offset: 0x1f8, out: 0x0
+sdxc1 :: offset: 0x200, out: 0x2f39454412d6e4a7
+sdxc1 :: offset: 0x208, out: 0x0
+sdxc1 :: offset: 0x210, out: 0x2608c2b756da4c54
+sdxc1 :: offset: 0x218, out: 0x0
+sdxc1 :: offset: 0x220, out: 0x900102dac8d7252f
+sdxc1 :: offset: 0x228, out: 0x0
+sdxc1 :: offset: 0x230, out: 0xc890d5f1f2efa4f7
+sdxc1 :: offset: 0x238, out: 0x0
+sdxc1 :: offset: 0x240, out: 0xed5005cbc8b0a214
+sdxc1 :: offset: 0x248, out: 0x0
+sdxc1 :: offset: 0x250, out: 0x314791895991136c
+sdxc1 :: offset: 0x258, out: 0x0
+sdxc1 :: offset: 0x260, out: 0xc6eecff99a2fb6f3
+sdxc1 :: offset: 0x268, out: 0x0
+sdxc1 :: offset: 0x270, out: 0xa809521238895270
+sdxc1 :: offset: 0x278, out: 0x0
+sdxc1 :: offset: 0x280, out: 0x87750a04ad765040
+sdxc1 :: offset: 0x288, out: 0x0
+sdxc1 :: offset: 0x290, out: 0x2c3de85e84bb5a83
+sdxc1 :: offset: 0x298, out: 0x0
+sdxc1 :: offset: 0x2a0, out: 0xae6aff8fc506aa67
+sdxc1 :: offset: 0x2a8, out: 0x0
+sdxc1 :: offset: 0x2b0, out: 0xc07112dd60ed5ee3
+sdxc1 :: offset: 0x2b8, out: 0x0
+sdxc1 :: offset: 0x2c0, out: 0xc4c770f630dcca5a
+sdxc1 :: offset: 0x2c8, out: 0x0
+sdxc1 :: offset: 0x2d0, out: 0xdfec2b2383cd5277
+sdxc1 :: offset: 0x2d8, out: 0x0
+sdxc1 :: offset: 0x2e0, out: 0xd3adba260ff7d96b
+sdxc1 :: offset: 0x2e8, out: 0x0
+sdxc1 :: offset: 0x2f0, out: 0x4ab4aa798418c00e
+sdxc1 :: offset: 0x2f8, out: 0x0
+sdxc1 :: offset: 0x300, out: 0xbb8c035e0de0f0b8
+sdxc1 :: offset: 0x308, out: 0x0
+sdxc1 :: offset: 0x310, out: 0x33b06f54a97fdcf1
+sdxc1 :: offset: 0x318, out: 0x0
+sdxc1 :: offset: 0x320, out: 0x77433f373fd1c081
+sdxc1 :: offset: 0x328, out: 0x0
+sdxc1 :: offset: 0x330, out: 0xec91d993c92195e4
+sdxc1 :: offset: 0x338, out: 0x0
+sdxc1 :: offset: 0x340, out: 0x49fbf6a795b1a5ab
+sdxc1 :: offset: 0x348, out: 0x0
+sdxc1 :: offset: 0x350, out: 0x19364378c7ce8d1e
+sdxc1 :: offset: 0x358, out: 0x0
+sdxc1 :: offset: 0x360, out: 0xb99e8def2f384907
+sdxc1 :: offset: 0x368, out: 0x0
+sdxc1 :: offset: 0x370, out: 0x47eacdcd582b12fe
+sdxc1 :: offset: 0x378, out: 0x0
+sdxc1 :: offset: 0x380, out: 0xd685884e76558c4f
+sdxc1 :: offset: 0x388, out: 0x0
+sdxc1 :: offset: 0x390, out: 0x6168d62a34c195c7
+sdxc1 :: offset: 0x398, out: 0x0
+sdxc1 :: offset: 0x3a0, out: 0xd30169894df47405
+sdxc1 :: offset: 0x3a8, out: 0x0
+sdxc1 :: offset: 0x3b0, out: 0x1ca190bf6cbb06db
+sdxc1 :: offset: 0x3b8, out: 0x0
+sdxc1 :: offset: 0x3c0, out: 0x58300f029cae393a
+sdxc1 :: offset: 0x3c8, out: 0x0
+sdxc1 :: offset: 0x3d0, out: 0x9a995fdbdc7ebc2d
+sdxc1 :: offset: 0x3d8, out: 0x0
+sdxc1 :: offset: 0x3e0, out: 0x8a96047be3405b48
+sdxc1 :: offset: 0x3e8, out: 0x0
+sdxc1 :: offset: 0x3f0, out: 0x75bfafd2d519d322
+sdxc1 :: offset: 0x3f8, out: 0x0
+--- SWXC1 ---
+swxc1 :: offset: 0x0, out: 0x12bd6aa00000000
+swxc1 :: offset: 0x4, out: 0x7e8763
+swxc1 :: offset: 0x8, out: 0x7e876300000000
+swxc1 :: offset: 0xc, out: 0x82d2ab13
+swxc1 :: offset: 0x10, out: 0x82d2ab1300000000
+swxc1 :: offset: 0x14, out: 0x976d6e9a
+swxc1 :: offset: 0x18, out: 0x976d6e9a00000000
+swxc1 :: offset: 0x1c, out: 0xc31510f3
+swxc1 :: offset: 0x20, out: 0xc31510f300000000
+swxc1 :: offset: 0x24, out: 0xb7746d77
+swxc1 :: offset: 0x28, out: 0xb7746d7700000000
+swxc1 :: offset: 0x2c, out: 0x5ad6a5fb
+swxc1 :: offset: 0x30, out: 0x5ad6a5fb00000000
+swxc1 :: offset: 0x34, out: 0x42b0c0a2
+swxc1 :: offset: 0x38, out: 0x42b0c0a200000000
+swxc1 :: offset: 0x3c, out: 0x8677b502
+swxc1 :: offset: 0x40, out: 0x8677b50200000000
+swxc1 :: offset: 0x44, out: 0x2aa89d31
+swxc1 :: offset: 0x48, out: 0x2aa89d3100000000
+swxc1 :: offset: 0x4c, out: 0x9e3c30ad
+swxc1 :: offset: 0x50, out: 0x9e3c30ad00000000
+swxc1 :: offset: 0x54, out: 0x1f308ec3
+swxc1 :: offset: 0x58, out: 0x1f308ec300000000
+swxc1 :: offset: 0x5c, out: 0x77fb413d
+swxc1 :: offset: 0x60, out: 0x77fb413d00000000
+swxc1 :: offset: 0x64, out: 0x7aa04213
+swxc1 :: offset: 0x68, out: 0x7aa0421300000000
+swxc1 :: offset: 0x6c, out: 0xc760e4f7
+swxc1 :: offset: 0x70, out: 0xc760e4f700000000
+swxc1 :: offset: 0x74, out: 0x9e705cc5
+swxc1 :: offset: 0x78, out: 0x9e705cc500000000
+swxc1 :: offset: 0x7c, out: 0x1ad8dca0
+swxc1 :: offset: 0x80, out: 0x1ad8dca000000000
+swxc1 :: offset: 0x84, out: 0x4b3dda86
+swxc1 :: offset: 0x88, out: 0x4b3dda8600000000
+swxc1 :: offset: 0x8c, out: 0x9615a60d
+swxc1 :: offset: 0x90, out: 0x9615a60d00000000
+swxc1 :: offset: 0x94, out: 0x5e7a4dd
+swxc1 :: offset: 0x98, out: 0x5e7a4dd00000000
+swxc1 :: offset: 0x9c, out: 0x6353d41d
+swxc1 :: offset: 0xa0, out: 0x6353d41d00000000
+swxc1 :: offset: 0xa4, out: 0x3af35a9d
+swxc1 :: offset: 0xa8, out: 0x3af35a9d00000000
+swxc1 :: offset: 0xac, out: 0xc40bd413
+swxc1 :: offset: 0xb0, out: 0xc40bd41300000000
+swxc1 :: offset: 0xb4, out: 0x47f50556
+swxc1 :: offset: 0xb8, out: 0x47f5055600000000
+swxc1 :: offset: 0xbc, out: 0x9a08a180
+swxc1 :: offset: 0xc0, out: 0x9a08a18000000000
+swxc1 :: offset: 0xc4, out: 0x9564b77f
+swxc1 :: offset: 0xc8, out: 0x9564b77f00000000
+swxc1 :: offset: 0xcc, out: 0xd6d2040f
+swxc1 :: offset: 0xd0, out: 0xd6d2040f00000000
+swxc1 :: offset: 0xd4, out: 0xcebc8279
+swxc1 :: offset: 0xd8, out: 0xcebc827900000000
+swxc1 :: offset: 0xdc, out: 0xb2c76bbe
+swxc1 :: offset: 0xe0, out: 0xb2c76bbe00000000
+swxc1 :: offset: 0xe4, out: 0xb5034c2f
+swxc1 :: offset: 0xe8, out: 0xb5034c2f00000000
+swxc1 :: offset: 0xec, out: 0x1f18e4c7
+swxc1 :: offset: 0xf0, out: 0x1f18e4c700000000
+swxc1 :: offset: 0xf4, out: 0x94ff52fc
+swxc1 :: offset: 0xf8, out: 0x94ff52fc00000000
+swxc1 :: offset: 0xfc, out: 0x81afa797
+swxc1 :: offset: 0x100, out: 0x81afa79700000000
+swxc1 :: offset: 0x104, out: 0x31d8d916
+swxc1 :: offset: 0x108, out: 0x31d8d91600000000
+swxc1 :: offset: 0x10c, out: 0x6dfc50ea
+swxc1 :: offset: 0x110, out: 0x6dfc50ea00000000
+swxc1 :: offset: 0x114, out: 0x36549bd6
+swxc1 :: offset: 0x118, out: 0x36549bd600000000
+swxc1 :: offset: 0x11c, out: 0x78e895b1
+swxc1 :: offset: 0x120, out: 0x78e895b100000000
+swxc1 :: offset: 0x124, out: 0x85e0a631
+swxc1 :: offset: 0x128, out: 0x85e0a63100000000
+swxc1 :: offset: 0x12c, out: 0x9b63259b
+swxc1 :: offset: 0x130, out: 0x9b63259b00000000
+swxc1 :: offset: 0x134, out: 0x556b3eca
+swxc1 :: offset: 0x138, out: 0x556b3eca00000000
+swxc1 :: offset: 0x13c, out: 0xccf17ac5
+swxc1 :: offset: 0x140, out: 0xccf17ac500000000
+swxc1 :: offset: 0x144, out: 0xb42f5fc5
+swxc1 :: offset: 0x148, out: 0xb42f5fc500000000
+swxc1 :: offset: 0x14c, out: 0x81eea0fb
+swxc1 :: offset: 0x150, out: 0x81eea0fb00000000
+swxc1 :: offset: 0x154, out: 0x25b50fec
+swxc1 :: offset: 0x158, out: 0x25b50fec00000000
+swxc1 :: offset: 0x15c, out: 0x14682d97
+swxc1 :: offset: 0x160, out: 0x14682d9700000000
+swxc1 :: offset: 0x164, out: 0xfc93c513
+swxc1 :: offset: 0x168, out: 0xfc93c51300000000
+swxc1 :: offset: 0x16c, out: 0x2cfb087a
+swxc1 :: offset: 0x170, out: 0x2cfb087a00000000
+swxc1 :: offset: 0x174, out: 0x3c2cd9a9
+swxc1 :: offset: 0x178, out: 0x3c2cd9a900000000
+swxc1 :: offset: 0x17c, out: 0xcda20766
+swxc1 :: offset: 0x180, out: 0xcda2076600000000
+swxc1 :: offset: 0x184, out: 0x1791722a
+swxc1 :: offset: 0x188, out: 0x1791722a00000000
+swxc1 :: offset: 0x18c, out: 0x7d72da3e
+swxc1 :: offset: 0x190, out: 0x7d72da3e00000000
+swxc1 :: offset: 0x194, out: 0x87cc9d1
+swxc1 :: offset: 0x198, out: 0x87cc9d100000000
+swxc1 :: offset: 0x19c, out: 0x93ce24ad
+swxc1 :: offset: 0x1a0, out: 0x93ce24ad00000000
+swxc1 :: offset: 0x1a4, out: 0x1d2a7570
+swxc1 :: offset: 0x1a8, out: 0x1d2a757000000000
+swxc1 :: offset: 0x1ac, out: 0x38984ed2
+swxc1 :: offset: 0x1b0, out: 0x38984ed200000000
+swxc1 :: offset: 0x1b4, out: 0xd0d070db
+swxc1 :: offset: 0x1b8, out: 0xd0d070db00000000
+swxc1 :: offset: 0x1bc, out: 0x710cd036
+swxc1 :: offset: 0x1c0, out: 0x710cd03600000000
+swxc1 :: offset: 0x1c4, out: 0x39c21c7d
+swxc1 :: offset: 0x1c8, out: 0x39c21c7d00000000
+swxc1 :: offset: 0x1cc, out: 0x3415604
+swxc1 :: offset: 0x1d0, out: 0x341560400000000
+swxc1 :: offset: 0x1d4, out: 0x8e94b7af
+swxc1 :: offset: 0x1d8, out: 0x8e94b7af00000000
+swxc1 :: offset: 0x1dc, out: 0x8ecc31ce
+swxc1 :: offset: 0x1e0, out: 0x8ecc31ce00000000
+swxc1 :: offset: 0x1e4, out: 0x24eb6a8d
+swxc1 :: offset: 0x1e8, out: 0x24eb6a8d00000000
+swxc1 :: offset: 0x1ec, out: 0x1ce7674f
+swxc1 :: offset: 0x1f0, out: 0x1ce7674f00000000
+swxc1 :: offset: 0x1f4, out: 0x2f394544
+swxc1 :: offset: 0x1f8, out: 0x2f39454400000000
+swxc1 :: offset: 0x1fc, out: 0x12d6e4a7
+swxc1 :: offset: 0x200, out: 0x12d6e4a700000000
+swxc1 :: offset: 0x204, out: 0x2608c2b7
+swxc1 :: offset: 0x208, out: 0x2608c2b700000000
+swxc1 :: offset: 0x20c, out: 0x56da4c54
+swxc1 :: offset: 0x210, out: 0x56da4c5400000000
+swxc1 :: offset: 0x214, out: 0x900102da
+swxc1 :: offset: 0x218, out: 0x900102da00000000
+swxc1 :: offset: 0x21c, out: 0xc8d7252f
+swxc1 :: offset: 0x220, out: 0xc8d7252f00000000
+swxc1 :: offset: 0x224, out: 0xc890d5f1
+swxc1 :: offset: 0x228, out: 0xc890d5f100000000
+swxc1 :: offset: 0x22c, out: 0xf2efa4f7
+swxc1 :: offset: 0x230, out: 0xf2efa4f700000000
+swxc1 :: offset: 0x234, out: 0xed5005cb
+swxc1 :: offset: 0x238, out: 0xed5005cb00000000
+swxc1 :: offset: 0x23c, out: 0xc8b0a214
+swxc1 :: offset: 0x240, out: 0xc8b0a21400000000
+swxc1 :: offset: 0x244, out: 0x31479189
+swxc1 :: offset: 0x248, out: 0x3147918900000000
+swxc1 :: offset: 0x24c, out: 0x5991136c
+swxc1 :: offset: 0x250, out: 0x5991136c00000000
+swxc1 :: offset: 0x254, out: 0xc6eecff9
+swxc1 :: offset: 0x258, out: 0xc6eecff900000000
+swxc1 :: offset: 0x25c, out: 0x9a2fb6f3
+swxc1 :: offset: 0x260, out: 0x9a2fb6f300000000
+swxc1 :: offset: 0x264, out: 0xa8095212
+swxc1 :: offset: 0x268, out: 0xa809521200000000
+swxc1 :: offset: 0x26c, out: 0x38895270
+swxc1 :: offset: 0x270, out: 0x3889527000000000
+swxc1 :: offset: 0x274, out: 0x87750a04
+swxc1 :: offset: 0x278, out: 0x87750a0400000000
+swxc1 :: offset: 0x27c, out: 0xad765040
+swxc1 :: offset: 0x280, out: 0xad76504000000000
+swxc1 :: offset: 0x284, out: 0x2c3de85e
+swxc1 :: offset: 0x288, out: 0x2c3de85e00000000
+swxc1 :: offset: 0x28c, out: 0x84bb5a83
+swxc1 :: offset: 0x290, out: 0x84bb5a8300000000
+swxc1 :: offset: 0x294, out: 0xae6aff8f
+swxc1 :: offset: 0x298, out: 0xae6aff8f00000000
+swxc1 :: offset: 0x29c, out: 0xc506aa67
+swxc1 :: offset: 0x2a0, out: 0xc506aa6700000000
+swxc1 :: offset: 0x2a4, out: 0xc07112dd
+swxc1 :: offset: 0x2a8, out: 0xc07112dd00000000
+swxc1 :: offset: 0x2ac, out: 0x60ed5ee3
+swxc1 :: offset: 0x2b0, out: 0x60ed5ee300000000
+swxc1 :: offset: 0x2b4, out: 0xc4c770f6
+swxc1 :: offset: 0x2b8, out: 0xc4c770f600000000
+swxc1 :: offset: 0x2bc, out: 0x30dcca5a
+swxc1 :: offset: 0x2c0, out: 0x30dcca5a00000000
+swxc1 :: offset: 0x2c4, out: 0xdfec2b23
+swxc1 :: offset: 0x2c8, out: 0xdfec2b2300000000
+swxc1 :: offset: 0x2cc, out: 0x83cd5277
+swxc1 :: offset: 0x2d0, out: 0x83cd527700000000
+swxc1 :: offset: 0x2d4, out: 0xd3adba26
+swxc1 :: offset: 0x2d8, out: 0xd3adba2600000000
+swxc1 :: offset: 0x2dc, out: 0xff7d96b
+swxc1 :: offset: 0x2e0, out: 0xff7d96b00000000
+swxc1 :: offset: 0x2e4, out: 0x4ab4aa79
+swxc1 :: offset: 0x2e8, out: 0x4ab4aa7900000000
+swxc1 :: offset: 0x2ec, out: 0x8418c00e
+swxc1 :: offset: 0x2f0, out: 0x8418c00e00000000
+swxc1 :: offset: 0x2f4, out: 0xbb8c035e
+swxc1 :: offset: 0x2f8, out: 0xbb8c035e00000000
+swxc1 :: offset: 0x2fc, out: 0xde0f0b8
+swxc1 :: offset: 0x300, out: 0xde0f0b800000000
+swxc1 :: offset: 0x304, out: 0x33b06f54
+swxc1 :: offset: 0x308, out: 0x33b06f5400000000
+swxc1 :: offset: 0x30c, out: 0xa97fdcf1
+swxc1 :: offset: 0x310, out: 0xa97fdcf100000000
+swxc1 :: offset: 0x314, out: 0x77433f37
+swxc1 :: offset: 0x318, out: 0x77433f3700000000
+swxc1 :: offset: 0x31c, out: 0x3fd1c081
+swxc1 :: offset: 0x320, out: 0x3fd1c08100000000
+swxc1 :: offset: 0x324, out: 0xec91d993
+swxc1 :: offset: 0x328, out: 0xec91d99300000000
+swxc1 :: offset: 0x32c, out: 0xc92195e4
+swxc1 :: offset: 0x330, out: 0xc92195e400000000
+swxc1 :: offset: 0x334, out: 0x49fbf6a7
+swxc1 :: offset: 0x338, out: 0x49fbf6a700000000
+swxc1 :: offset: 0x33c, out: 0x95b1a5ab
+swxc1 :: offset: 0x340, out: 0x95b1a5ab00000000
+swxc1 :: offset: 0x344, out: 0x19364378
+swxc1 :: offset: 0x348, out: 0x1936437800000000
+swxc1 :: offset: 0x34c, out: 0xc7ce8d1e
+swxc1 :: offset: 0x350, out: 0xc7ce8d1e00000000
+swxc1 :: offset: 0x354, out: 0xb99e8def
+swxc1 :: offset: 0x358, out: 0xb99e8def00000000
+swxc1 :: offset: 0x35c, out: 0x2f384907
+swxc1 :: offset: 0x360, out: 0x2f38490700000000
+swxc1 :: offset: 0x364, out: 0x47eacdcd
+swxc1 :: offset: 0x368, out: 0x47eacdcd00000000
+swxc1 :: offset: 0x36c, out: 0x582b12fe
+swxc1 :: offset: 0x370, out: 0x582b12fe00000000
+swxc1 :: offset: 0x374, out: 0xd685884e
+swxc1 :: offset: 0x378, out: 0xd685884e00000000
+swxc1 :: offset: 0x37c, out: 0x76558c4f
+swxc1 :: offset: 0x380, out: 0x76558c4f00000000
+swxc1 :: offset: 0x384, out: 0x6168d62a
+swxc1 :: offset: 0x388, out: 0x6168d62a00000000
+swxc1 :: offset: 0x38c, out: 0x34c195c7
+swxc1 :: offset: 0x390, out: 0x34c195c700000000
+swxc1 :: offset: 0x394, out: 0xd3016989
+swxc1 :: offset: 0x398, out: 0xd301698900000000
+swxc1 :: offset: 0x39c, out: 0x4df47405
+swxc1 :: offset: 0x3a0, out: 0x4df4740500000000
+swxc1 :: offset: 0x3a4, out: 0x1ca190bf
+swxc1 :: offset: 0x3a8, out: 0x1ca190bf00000000
+swxc1 :: offset: 0x3ac, out: 0x6cbb06db
+swxc1 :: offset: 0x3b0, out: 0x6cbb06db00000000
+swxc1 :: offset: 0x3b4, out: 0x58300f02
+swxc1 :: offset: 0x3b8, out: 0x58300f0200000000
+swxc1 :: offset: 0x3bc, out: 0x9cae393a
+swxc1 :: offset: 0x3c0, out: 0x9cae393a00000000
+swxc1 :: offset: 0x3c4, out: 0x9a995fdb
+swxc1 :: offset: 0x3c8, out: 0x9a995fdb00000000
+swxc1 :: offset: 0x3cc, out: 0xdc7ebc2d
+swxc1 :: offset: 0x3d0, out: 0xdc7ebc2d00000000
+swxc1 :: offset: 0x3d4, out: 0x8a96047b
+swxc1 :: offset: 0x3d8, out: 0x8a96047b00000000
+swxc1 :: offset: 0x3dc, out: 0xe3405b48
+swxc1 :: offset: 0x3e0, out: 0xe3405b4800000000
+swxc1 :: offset: 0x3e4, out: 0x75bfafd2
+swxc1 :: offset: 0x3e8, out: 0x75bfafd200000000
+swxc1 :: offset: 0x3ec, out: 0xd519d322
+swxc1 :: offset: 0x3f0, out: 0xd519d32200000000
+swxc1 :: offset: 0x3f4, out: 0xde230867
+swxc1 :: offset: 0x3f8, out: 0xde23086700000000
+swxc1 :: offset: 0x3fc, out: 0xa630f6ad
diff --git a/none/tests/mips64/fpu_load_store.stdout.exp-LE b/none/tests/mips64/fpu_load_store.stdout.exp-LE
new file mode 100644
index 0000000..80c18e8
--- /dev/null
+++ b/none/tests/mips64/fpu_load_store.stdout.exp-LE
@@ -0,0 +1,3080 @@
+--- LDC1 ---
+ldc1 :: offset: 0x0, out: 0x0
+ldc1 :: offset: 0x8, out: 0xd4326d909823b6e
+ldc1 :: offset: 0x10, out: 0x17c56b6b130476dc
+ldc1 :: offset: 0x18, out: 0x1e4750051a864db2
+ldc1 :: offset: 0x20, out: 0x22c9f00f2608edb8
+ldc1 :: offset: 0x28, out: 0x2b4bcb612f8ad6d6
+ldc1 :: offset: 0x30, out: 0x31cd86d3350c9b64
+ldc1 :: offset: 0x38, out: 0x384fbdbd3c8ea00a
+ldc1 :: offset: 0x40, out: 0x48d0c6c74c11db70
+ldc1 :: offset: 0x48, out: 0x4152fda94593e01e
+ldc1 :: offset: 0x50, out: 0x5bd4b01b5f15adac
+ldc1 :: offset: 0x58, out: 0x52568b75569796c2
+ldc1 :: offset: 0x60, out: 0x6ed82b7f6a1936c8
+ldc1 :: offset: 0x68, out: 0x675a1011639b0da6
+ldc1 :: offset: 0x70, out: 0x7ddc5da3791d4014
+ldc1 :: offset: 0x78, out: 0x745e66cd709f7b7a
+ldc1 :: offset: 0x80, out: 0x9ce2ab579823b6e0
+ldc1 :: offset: 0x88, out: 0x9560903991a18d8e
+ldc1 :: offset: 0x90, out: 0x8fe6dd8b8b27c03c
+ldc1 :: offset: 0x98, out: 0x8664e6e582a5fb52
+ldc1 :: offset: 0xa0, out: 0xbaea46efbe2b5b58
+ldc1 :: offset: 0xa8, out: 0xb3687d81b7a96036
+ldc1 :: offset: 0xb0, out: 0xa9ee3033ad2f2d84
+ldc1 :: offset: 0xb8, out: 0xa06c0b5da4ad16ea
+ldc1 :: offset: 0xc0, out: 0xd0f37027d4326d90
+ldc1 :: offset: 0xc8, out: 0xd9714b49ddb056fe
+ldc1 :: offset: 0xd0, out: 0xc3f706fbc7361b4c
+ldc1 :: offset: 0xd8, out: 0xca753d95ceb42022
+ldc1 :: offset: 0xe0, out: 0xf6fb9d9ff23a8028
+ldc1 :: offset: 0xe8, out: 0xff79a6f1fbb8bb46
+ldc1 :: offset: 0xf0, out: 0xe5ffeb43e13ef6f4
+ldc1 :: offset: 0xf8, out: 0xec7dd02de8bccd9a
+ldc1 :: offset: 0x100, out: 0x30476dc034867077
+ldc1 :: offset: 0x108, out: 0x39c556ae3d044b19
+ldc1 :: offset: 0x110, out: 0x23431b1c278206ab
+ldc1 :: offset: 0x118, out: 0x2ac120722e003dc5
+ldc1 :: offset: 0x120, out: 0x164f8078128e9dcf
+ldc1 :: offset: 0x128, out: 0x1fcdbb161b0ca6a1
+ldc1 :: offset: 0x130, out: 0x54bf6a4018aeb13
+ldc1 :: offset: 0x138, out: 0xcc9cdca0808d07d
+ldc1 :: offset: 0x140, out: 0x7c56b6b07897ab07
+ldc1 :: offset: 0x148, out: 0x75d48dde71159069
+ldc1 :: offset: 0x150, out: 0x6f52c06c6b93dddb
+ldc1 :: offset: 0x158, out: 0x66d0fb026211e6b5
+ldc1 :: offset: 0x160, out: 0x5a5e5b085e9f46bf
+ldc1 :: offset: 0x168, out: 0x53dc6066571d7dd1
+ldc1 :: offset: 0x170, out: 0x495a2dd44d9b3063
+ldc1 :: offset: 0x178, out: 0x40d816ba44190b0d
+ldc1 :: offset: 0x180, out: 0xa864db20aca5c697
+ldc1 :: offset: 0x188, out: 0xa1e6e04ea527fdf9
+ldc1 :: offset: 0x190, out: 0xbb60adfcbfa1b04b
+ldc1 :: offset: 0x198, out: 0xb2e29692b6238b25
+ldc1 :: offset: 0x1a0, out: 0x8aad2b2f
+ldc1 :: offset: 0x1a8, out: 0x87ee0df600000000
+ldc1 :: offset: 0x1b0, out: 0x9d68404499a95df3
+ldc1 :: offset: 0x1b8, out: 0x94ea7b2a902b669d
+ldc1 :: offset: 0x1c0, out: 0xe4750050e0b41de7
+ldc1 :: offset: 0x1c8, out: 0xedf73b3ee9362689
+ldc1 :: offset: 0x1d0, out: 0xf771768cf3b06b3b
+ldc1 :: offset: 0x1d8, out: 0xfef34de2fa325055
+ldc1 :: offset: 0x1e0, out: 0xc27dede8c6bcf05f
+ldc1 :: offset: 0x1e8, out: 0xcbffd686cf3ecb31
+ldc1 :: offset: 0x1f0, out: 0xd1799b34d5b88683
+ldc1 :: offset: 0x1f8, out: 0xd8fba05adc3abded
+ldc1 :: offset: 0x200, out: 0x6dcdfd59690ce0ee
+ldc1 :: offset: 0x208, out: 0x644fc637608edb80
+ldc1 :: offset: 0x210, out: 0x7ec98b857a089632
+ldc1 :: offset: 0x218, out: 0x774bb0eb738aad5c
+ldc1 :: offset: 0x220, out: 0x4bc510e14f040d56
+ldc1 :: offset: 0x228, out: 0x42472b8f46863638
+ldc1 :: offset: 0x230, out: 0x58c1663d5c007b8a
+ldc1 :: offset: 0x238, out: 0x51435d53558240e4
+ldc1 :: offset: 0x240, out: 0x21dc2629251d3b9e
+ldc1 :: offset: 0x248, out: 0x285e1d472c9f00f0
+ldc1 :: offset: 0x250, out: 0x32d850f536194d42
+ldc1 :: offset: 0x258, out: 0x3b5a6b9b3f9b762c
+ldc1 :: offset: 0x260, out: 0x7d4cb910315d626
+ldc1 :: offset: 0x268, out: 0xe56f0ff0a97ed48
+ldc1 :: offset: 0x270, out: 0x14d0bd4d1011a0fa
+ldc1 :: offset: 0x278, out: 0x1d52862319939b94
+ldc1 :: offset: 0x280, out: 0xf5ee4bb9f12f560e
+ldc1 :: offset: 0x288, out: 0xfc6c70d7f8ad6d60
+ldc1 :: offset: 0x290, out: 0xe6ea3d65e22b20d2
+ldc1 :: offset: 0x298, out: 0xef68060beba91bbc
+ldc1 :: offset: 0x2a0, out: 0xd3e6a601d727bbb6
+ldc1 :: offset: 0x2a8, out: 0xda649d6fdea580d8
+ldc1 :: offset: 0x2b0, out: 0xc423cd6a
+ldc1 :: offset: 0x2b8, out: 0xcda1f604
+ldc1 :: offset: 0x2c0, out: 0xb9ff90c9bd3e8d7e
+ldc1 :: offset: 0x2c8, out: 0xb07daba7b4bcb610
+ldc1 :: offset: 0x2d0, out: 0xaafbe615ae3afba2
+ldc1 :: offset: 0x2d8, out: 0xa379dd7ba7b8c0cc
+ldc1 :: offset: 0x2e0, out: 0x9ff77d719b3660c6
+ldc1 :: offset: 0x2e8, out: 0x9675461f92b45ba8
+ldc1 :: offset: 0x2f0, out: 0x8cf30bad8832161a
+ldc1 :: offset: 0x2f8, out: 0x857130c381b02d74
+ldc1 :: offset: 0x300, out: 0x594b8d2e5d8a9099
+ldc1 :: offset: 0x308, out: 0x50c9b6405408abf7
+ldc1 :: offset: 0x310, out: 0x4a4ffbf24e8ee645
+ldc1 :: offset: 0x318, out: 0x43cdc09c470cdd2b
+ldc1 :: offset: 0x320, out: 0x7f4360967b827d21
+ldc1 :: offset: 0x328, out: 0x76c15bf87200464f
+ldc1 :: offset: 0x330, out: 0x6c47164a68860bfd
+ldc1 :: offset: 0x338, out: 0x65c52d2461043093
+ldc1 :: offset: 0x340, out: 0x155a565e119b4be9
+ldc1 :: offset: 0x348, out: 0x1cd86d3018197087
+ldc1 :: offset: 0x350, out: 0x65e2082029f3d35
+ldc1 :: offset: 0x358, out: 0xfdc1bec0b1d065b
+ldc1 :: offset: 0x360, out: 0x3352bbe63793a651
+ldc1 :: offset: 0x368, out: 0x3ad080883e119d3f
+ldc1 :: offset: 0x370, out: 0x2056cd3a2497d08d
+ldc1 :: offset: 0x378, out: 0x29d4f6542d15ebe3
+ldc1 :: offset: 0x380, out: 0xc1683bcec5a92679
+ldc1 :: offset: 0x388, out: 0xc8ea00a0cc2b1d17
+ldc1 :: offset: 0x390, out: 0xd26c4d12d6ad50a5
+ldc1 :: offset: 0x398, out: 0xdbee767cdf2f6bcb
+ldc1 :: offset: 0x3a0, out: 0xe760d676e3a1cbc1
+ldc1 :: offset: 0x3a8, out: 0xeee2ed18ea23f0af
+ldc1 :: offset: 0x3b0, out: 0xf464a0aaf0a5bd1d
+ldc1 :: offset: 0x3b8, out: 0xfde69bc4f9278673
+ldc1 :: offset: 0x3c0, out: 0x8d79e0be89b8fd09
+ldc1 :: offset: 0x3c8, out: 0x84fbdbd0803ac667
+ldc1 :: offset: 0x3d0, out: 0x9e7d96629abc8bd5
+ldc1 :: offset: 0x3d8, out: 0x97ffad0c933eb0bb
+ldc1 :: offset: 0x3e0, out: 0xab710d06afb010b1
+ldc1 :: offset: 0x3e8, out: 0xa2f33668a6322bdf
+ldc1 :: offset: 0x3f0, out: 0xb8757bdabcb4666d
+ldc1 :: offset: 0x3f8, out: 0xb1f740b4b5365d03
+ldc1 :: offset: 0x0, out: 0x12bd6aa
+ldc1 :: offset: 0x8, out: 0x7e876382d2ab13
+ldc1 :: offset: 0x10, out: 0x976d6e9ac31510f3
+ldc1 :: offset: 0x18, out: 0xb7746d775ad6a5fb
+ldc1 :: offset: 0x20, out: 0x42b0c0a28677b502
+ldc1 :: offset: 0x28, out: 0x2aa89d319e3c30ad
+ldc1 :: offset: 0x30, out: 0x1f308ec377fb413d
+ldc1 :: offset: 0x38, out: 0x7aa04213c760e4f7
+ldc1 :: offset: 0x40, out: 0x9e705cc51ad8dca0
+ldc1 :: offset: 0x48, out: 0x4b3dda869615a60d
+ldc1 :: offset: 0x50, out: 0x5e7a4dd6353d41d
+ldc1 :: offset: 0x58, out: 0x3af35a9dc40bd413
+ldc1 :: offset: 0x60, out: 0x47f505569a08a180
+ldc1 :: offset: 0x68, out: 0x9564b77fd6d2040f
+ldc1 :: offset: 0x70, out: 0xcebc8279b2c76bbe
+ldc1 :: offset: 0x78, out: 0xb5034c2f1f18e4c7
+ldc1 :: offset: 0x80, out: 0x94ff52fc81afa797
+ldc1 :: offset: 0x88, out: 0x31d8d9166dfc50ea
+ldc1 :: offset: 0x90, out: 0x36549bd678e895b1
+ldc1 :: offset: 0x98, out: 0x85e0a6319b63259b
+ldc1 :: offset: 0xa0, out: 0x556b3ecaccf17ac5
+ldc1 :: offset: 0xa8, out: 0xb42f5fc581eea0fb
+ldc1 :: offset: 0xb0, out: 0x25b50fec14682d97
+ldc1 :: offset: 0xb8, out: 0xfc93c5132cfb087a
+ldc1 :: offset: 0xc0, out: 0x3c2cd9a9cda20766
+ldc1 :: offset: 0xc8, out: 0x1791722a7d72da3e
+ldc1 :: offset: 0xd0, out: 0x87cc9d193ce24ad
+ldc1 :: offset: 0xd8, out: 0x1d2a757038984ed2
+ldc1 :: offset: 0xe0, out: 0xd0d070db710cd036
+ldc1 :: offset: 0xe8, out: 0x39c21c7d03415604
+ldc1 :: offset: 0xf0, out: 0x8e94b7af8ecc31ce
+ldc1 :: offset: 0xf8, out: 0x24eb6a8d1ce7674f
+ldc1 :: offset: 0x100, out: 0x2f39454412d6e4a7
+ldc1 :: offset: 0x108, out: 0x2608c2b756da4c54
+ldc1 :: offset: 0x110, out: 0x900102dac8d7252f
+ldc1 :: offset: 0x118, out: 0xc890d5f1f2efa4f7
+ldc1 :: offset: 0x120, out: 0xed5005cbc8b0a214
+ldc1 :: offset: 0x128, out: 0x314791895991136c
+ldc1 :: offset: 0x130, out: 0xc6eecff99a2fb6f3
+ldc1 :: offset: 0x138, out: 0xa809521238895270
+ldc1 :: offset: 0x140, out: 0x87750a04ad765040
+ldc1 :: offset: 0x148, out: 0x2c3de85e84bb5a83
+ldc1 :: offset: 0x150, out: 0xae6aff8fc506aa67
+ldc1 :: offset: 0x158, out: 0xc07112dd60ed5ee3
+ldc1 :: offset: 0x160, out: 0xc4c770f630dcca5a
+ldc1 :: offset: 0x168, out: 0xdfec2b2383cd5277
+ldc1 :: offset: 0x170, out: 0xd3adba260ff7d96b
+ldc1 :: offset: 0x178, out: 0x4ab4aa798418c00e
+ldc1 :: offset: 0x180, out: 0xbb8c035e0de0f0b8
+ldc1 :: offset: 0x188, out: 0x33b06f54a97fdcf1
+ldc1 :: offset: 0x190, out: 0x77433f373fd1c081
+ldc1 :: offset: 0x198, out: 0xec91d993c92195e4
+ldc1 :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab
+ldc1 :: offset: 0x1a8, out: 0x19364378c7ce8d1e
+ldc1 :: offset: 0x1b0, out: 0xb99e8def2f384907
+ldc1 :: offset: 0x1b8, out: 0x47eacdcd582b12fe
+ldc1 :: offset: 0x1c0, out: 0xd685884e76558c4f
+ldc1 :: offset: 0x1c8, out: 0x6168d62a34c195c7
+ldc1 :: offset: 0x1d0, out: 0xd30169894df47405
+ldc1 :: offset: 0x1d8, out: 0x1ca190bf6cbb06db
+ldc1 :: offset: 0x1e0, out: 0x58300f029cae393a
+ldc1 :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d
+ldc1 :: offset: 0x1f0, out: 0x8a96047be3405b48
+ldc1 :: offset: 0x1f8, out: 0x75bfafd2d519d322
+ldc1 :: offset: 0x200, out: 0xde230867a630f6ad
+ldc1 :: offset: 0x208, out: 0x2c0a0cf256103260
+ldc1 :: offset: 0x210, out: 0x94a90544249b18ef
+ldc1 :: offset: 0x218, out: 0xf9519fb55b56fcde
+ldc1 :: offset: 0x220, out: 0x81daf8200468319b
+ldc1 :: offset: 0x228, out: 0x8c61ca5a5725f2ec
+ldc1 :: offset: 0x230, out: 0x8b95a6ddc25dc8bf
+ldc1 :: offset: 0x238, out: 0x300ce751dac6162f
+ldc1 :: offset: 0x240, out: 0x6778fdf3ba52a850
+ldc1 :: offset: 0x248, out: 0xad00b1f7da78479f
+ldc1 :: offset: 0x250, out: 0x8d44168a6b6d98a
+ldc1 :: offset: 0x258, out: 0xf518381dce634413
+ldc1 :: offset: 0x260, out: 0xe4627f3fe5255fc0
+ldc1 :: offset: 0x268, out: 0xccd392e176321f28
+ldc1 :: offset: 0x270, out: 0x829464944018fd8f
+ldc1 :: offset: 0x278, out: 0x15d3204052e8f0e5
+ldc1 :: offset: 0x280, out: 0x7caf83d2880ff344
+ldc1 :: offset: 0x288, out: 0xf156a04c747defd7
+ldc1 :: offset: 0x290, out: 0x93e2601c0f31d710
+ldc1 :: offset: 0x298, out: 0xe1e1a679131cd933
+ldc1 :: offset: 0x2a0, out: 0x24296b75a76fa427
+ldc1 :: offset: 0x2a8, out: 0xd296e2d2139ee56a
+ldc1 :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0
+ldc1 :: offset: 0x2b8, out: 0x76c89e80c07dc168
+ldc1 :: offset: 0x2c0, out: 0x70dc3454bfe348f
+ldc1 :: offset: 0x2c8, out: 0xbddc7123dd6d241b
+ldc1 :: offset: 0x2d0, out: 0xf62fb727a59fcebe
+ldc1 :: offset: 0x2d8, out: 0x109f27e90f9f46fb
+ldc1 :: offset: 0x2e0, out: 0x3f63daa9afd199d7
+ldc1 :: offset: 0x2e8, out: 0xdbcb312ea3d484f2
+ldc1 :: offset: 0x2f0, out: 0x1f353faada4fe4c6
+ldc1 :: offset: 0x2f8, out: 0x8b086ee07150c260
+ldc1 :: offset: 0x300, out: 0xe54750d5d9257f25
+ldc1 :: offset: 0x308, out: 0x3d69625fe9a6db5b
+ldc1 :: offset: 0x310, out: 0x70a3e0424340ac96
+ldc1 :: offset: 0x318, out: 0xc0478f036980171e
+ldc1 :: offset: 0x320, out: 0x3ce839a51cf929e3
+ldc1 :: offset: 0x328, out: 0xe2fbfa895eb68958
+ldc1 :: offset: 0x330, out: 0xd24bb05d76ed25b7
+ldc1 :: offset: 0x338, out: 0xeb9682c170312f1
+ldc1 :: offset: 0x340, out: 0x84785280dd301d0d
+ldc1 :: offset: 0x348, out: 0x179c77aa1f8fd6ef
+ldc1 :: offset: 0x350, out: 0x26444ced2998436d
+ldc1 :: offset: 0x358, out: 0x7175c9dd58ca708
+ldc1 :: offset: 0x360, out: 0x663d061055833287
+ldc1 :: offset: 0x368, out: 0xab7dd0488951d68b
+ldc1 :: offset: 0x370, out: 0xf69823670e82471b
+ldc1 :: offset: 0x378, out: 0x36886c59d98d26b2
+ldc1 :: offset: 0x380, out: 0x9ca4bdbd32be479
+ldc1 :: offset: 0x388, out: 0xfd5d7d1d9962e61f
+ldc1 :: offset: 0x390, out: 0x3f46553ecad374df
+ldc1 :: offset: 0x398, out: 0x2e9ab97d3eedf2a7
+ldc1 :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33
+ldc1 :: offset: 0x3a8, out: 0x8bb938e3155ec9dc
+ldc1 :: offset: 0x3b0, out: 0xd2df25c419478206
+ldc1 :: offset: 0x3b8, out: 0xbc65bf27eb321825
+ldc1 :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da
+ldc1 :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8
+ldc1 :: offset: 0x3d0, out: 0x478909b59a99269
+ldc1 :: offset: 0x3d8, out: 0xbfb31cc87857360f
+ldc1 :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2
+ldc1 :: offset: 0x3e8, out: 0x15da9474b7a8d5e4
+ldc1 :: offset: 0x3f0, out: 0xf6b3537d2af90fcc
+ldc1 :: offset: 0x3f8, out: 0x223d7cfe2b961897
+ldc1 :: offset: 0x400, out: 0x420b34f533734a4b
+ldc1 :: offset: 0x408, out: 0x897c8c8ddd46b33c
+ldc1 :: offset: 0x410, out: 0x7a387445e392ccd9
+ldc1 :: offset: 0x418, out: 0x512f29b1d80000c9
+ldc1 :: offset: 0x420, out: 0xeaded5c53dad020a
+ldc1 :: offset: 0x428, out: 0x8a6229d731eea35b
+ldc1 :: offset: 0x430, out: 0x2c3c3f9e48985649
+ldc1 :: offset: 0x438, out: 0x7ff61e78dc9c0b77
+ldc1 :: offset: 0x440, out: 0x2299b0e01d5e68ec
+ldc1 :: offset: 0x448, out: 0x7c3b04673d0c6e25
+ldc1 :: offset: 0x450, out: 0x164e17c1e7fb6587
+ldc1 :: offset: 0x458, out: 0xfa4ca28b56d4950b
+ldc1 :: offset: 0x460, out: 0xe5e9a314be7fa08a
+ldc1 :: offset: 0x468, out: 0xf8be8164159649c5
+ldc1 :: offset: 0x470, out: 0x7ca3259784e69b17
+ldc1 :: offset: 0x478, out: 0xfc8d543ca1f24f5c
+ldc1 :: offset: 0x480, out: 0x4aeb6ca0e3459e36
+ldc1 :: offset: 0x488, out: 0xc532e18e187980fa
+ldc1 :: offset: 0x490, out: 0xb3fdec294f287d1c
+ldc1 :: offset: 0x498, out: 0xb620660a49732b90
+ldc1 :: offset: 0x4a0, out: 0x993138f16cfde991
+ldc1 :: offset: 0x4a8, out: 0xde02d1337d5407b9
+ldc1 :: offset: 0x4b0, out: 0x13a390e1e1dab15a
+ldc1 :: offset: 0x4b8, out: 0x743491a6828716c8
+ldc1 :: offset: 0x4c0, out: 0x8cff404aede292f2
+ldc1 :: offset: 0x4c8, out: 0xb9cec0db1f837636
+ldc1 :: offset: 0x4d0, out: 0x2eaa5aa70509771c
+ldc1 :: offset: 0x4d8, out: 0xd327538e1875241b
+ldc1 :: offset: 0x4e0, out: 0x42e9f8548b739b6b
+ldc1 :: offset: 0x4e8, out: 0x78e4e50ceccbba1a
+ldc1 :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb
+ldc1 :: offset: 0x4f8, out: 0x73916483ae3e9423
+ldc1 :: offset: 0x500, out: 0x276af70a0e128561
+ldc1 :: offset: 0x508, out: 0x3045bf6b5e74b6e
+ldc1 :: offset: 0x510, out: 0x20223f1308accfa6
+ldc1 :: offset: 0x518, out: 0xf83c55743976b5f5
+ldc1 :: offset: 0x520, out: 0x1f9720f946923c3d
+ldc1 :: offset: 0x528, out: 0x620d28506d2448dd
+ldc1 :: offset: 0x530, out: 0x60a521e99ff4a732
+ldc1 :: offset: 0x538, out: 0x5a08f3ab5c680f0b
+ldc1 :: offset: 0x540, out: 0xc7a59be7800f3d26
+ldc1 :: offset: 0x548, out: 0x1aecdf2982ca1b41
+ldc1 :: offset: 0x550, out: 0x2b8613a260d19dcd
+ldc1 :: offset: 0x558, out: 0x2518ac8b0e8bbe7f
+ldc1 :: offset: 0x560, out: 0x743e568d2fcf486b
+ldc1 :: offset: 0x568, out: 0x126f646f34c31728
+ldc1 :: offset: 0x570, out: 0xaab0196156fc4d12
+ldc1 :: offset: 0x578, out: 0x7535cd338595d342
+ldc1 :: offset: 0x580, out: 0xdfb254da422346ec
+ldc1 :: offset: 0x588, out: 0xa86726c90081ab2a
+ldc1 :: offset: 0x590, out: 0x9bfeffa1679d7438
+ldc1 :: offset: 0x598, out: 0xc7699826b7dee244
+ldc1 :: offset: 0x5a0, out: 0x3c07af97fba6704a
+ldc1 :: offset: 0x5a8, out: 0x521364dc04c58bfe
+ldc1 :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc
+ldc1 :: offset: 0x5b8, out: 0xe336c60cdeeb954d
+ldc1 :: offset: 0x5c0, out: 0xd5b2120c6f52416e
+ldc1 :: offset: 0x5c8, out: 0x85a2d4ff7e628a34
+ldc1 :: offset: 0x5d0, out: 0x986a2b654a4e7e07
+ldc1 :: offset: 0x5d8, out: 0xa974eac43a489b55
+ldc1 :: offset: 0x5e0, out: 0xa388c16272f1f8f5
+ldc1 :: offset: 0x5e8, out: 0xe8c11f45e7495ea9
+ldc1 :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4
+ldc1 :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0
+ldc1 :: offset: 0x600, out: 0xb42ad6e659a7b04f
+ldc1 :: offset: 0x608, out: 0x4bf8485ab728922f
+ldc1 :: offset: 0x610, out: 0x76a3d60c3b66a7fb
+ldc1 :: offset: 0x618, out: 0x31e0c6affdc28eda
+ldc1 :: offset: 0x620, out: 0x53606bb4bf0c999d
+ldc1 :: offset: 0x628, out: 0x32fc12c81b7919f0
+ldc1 :: offset: 0x630, out: 0x3ef88384c72efcd6
+ldc1 :: offset: 0x638, out: 0x38b1c7bb6a2a3580
+ldc1 :: offset: 0x640, out: 0x15ebf6121dca77c9
+ldc1 :: offset: 0x648, out: 0x5eaacdd9fd9147ae
+ldc1 :: offset: 0x650, out: 0xbb8470f981e91117
+ldc1 :: offset: 0x658, out: 0x5d42aeac6a532e0
+ldc1 :: offset: 0x660, out: 0x14abf36419fb9e63
+ldc1 :: offset: 0x668, out: 0x249d559aa8d72aac
+ldc1 :: offset: 0x670, out: 0xcd6764f084b30ec
+ldc1 :: offset: 0x678, out: 0x7f03ac0792468fdf
+ldc1 :: offset: 0x680, out: 0x7e35ce6d56e670f5
+ldc1 :: offset: 0x688, out: 0x152828591a652711
+ldc1 :: offset: 0x690, out: 0x9e1c3283d215a9fb
+ldc1 :: offset: 0x698, out: 0x8d95c049282a0417
+ldc1 :: offset: 0x6a0, out: 0xf2e7a490978058f3
+ldc1 :: offset: 0x6a8, out: 0x775b4cca0975b1aa
+ldc1 :: offset: 0x6b0, out: 0xa2b84a635111020
+ldc1 :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f
+ldc1 :: offset: 0x6c0, out: 0xa3d991b79941dedd
+ldc1 :: offset: 0x6c8, out: 0x751cb4835a0d9508
+ldc1 :: offset: 0x6d0, out: 0x949cad35625bb2d3
+ldc1 :: offset: 0x6d8, out: 0x7f567f35a6929739
+ldc1 :: offset: 0x6e0, out: 0x185b88e0db8d7d27
+ldc1 :: offset: 0x6e8, out: 0x255a4cd22fd61b91
+ldc1 :: offset: 0x6f0, out: 0x1048d589a4363f7b
+ldc1 :: offset: 0x6f8, out: 0x6a6d5708f4605790
+ldc1 :: offset: 0x700, out: 0xd58ecbabde35697f
+ldc1 :: offset: 0x708, out: 0x575548fd08c0a5f1
+ldc1 :: offset: 0x710, out: 0x8bb640fb8ed98ddb
+ldc1 :: offset: 0x718, out: 0xbe00d51eabc578cc
+ldc1 :: offset: 0x720, out: 0x2f7e224a1c170ab2
+ldc1 :: offset: 0x728, out: 0xa978f12ca22256a7
+ldc1 :: offset: 0x730, out: 0x9950a93b811ee02f
+ldc1 :: offset: 0x738, out: 0xb44eea93c6796a0c
+ldc1 :: offset: 0x740, out: 0xfe71fca06c0eb657
+ldc1 :: offset: 0x748, out: 0x4ed6393df818af57
+ldc1 :: offset: 0x750, out: 0xf22e90200236770a
+ldc1 :: offset: 0x758, out: 0x81efb6c7afd0c45d
+ldc1 :: offset: 0x760, out: 0xeed8f3518102315b
+ldc1 :: offset: 0x768, out: 0xadafefb9995efd5e
+ldc1 :: offset: 0x770, out: 0x34061933eb253086
+ldc1 :: offset: 0x778, out: 0x1748da264b4c52bc
+ldc1 :: offset: 0x780, out: 0x34fdfc9a9302be89
+ldc1 :: offset: 0x788, out: 0xd00278c3c521d180
+ldc1 :: offset: 0x790, out: 0xe90944a4c1d37a5d
+ldc1 :: offset: 0x798, out: 0x65fd698fddef9839
+ldc1 :: offset: 0x7a0, out: 0xc49ee3ad81b5af52
+ldc1 :: offset: 0x7a8, out: 0x7aa941e8bdb263e9
+ldc1 :: offset: 0x7b0, out: 0x372c209e42f3b58d
+ldc1 :: offset: 0x7b8, out: 0x30f870b7e122a83b
+ldc1 :: offset: 0x7c0, out: 0x9e02de4b678930ec
+ldc1 :: offset: 0x7c8, out: 0xcd61a8639826631e
+ldc1 :: offset: 0x7d0, out: 0xae87bc899a7bd3ca
+ldc1 :: offset: 0x7d8, out: 0x58ec644d6481af17
+ldc1 :: offset: 0x7e0, out: 0x680cce5fb236b666
+ldc1 :: offset: 0x7e8, out: 0x3baa99471f6d4d75
+ldc1 :: offset: 0x7f0, out: 0x614d9b445f12236b
+ldc1 :: offset: 0x7f8, out: 0xa2a6ec661ba84121
+--- LDXC1 ---
+ldxc1 :: offset: 0x0, out: 0x0
+ldxc1 :: offset: 0x8, out: 0xd4326d909823b6e
+ldxc1 :: offset: 0x10, out: 0x17c56b6b130476dc
+ldxc1 :: offset: 0x18, out: 0x1e4750051a864db2
+ldxc1 :: offset: 0x20, out: 0x22c9f00f2608edb8
+ldxc1 :: offset: 0x28, out: 0x2b4bcb612f8ad6d6
+ldxc1 :: offset: 0x30, out: 0x31cd86d3350c9b64
+ldxc1 :: offset: 0x38, out: 0x384fbdbd3c8ea00a
+ldxc1 :: offset: 0x40, out: 0x48d0c6c74c11db70
+ldxc1 :: offset: 0x48, out: 0x4152fda94593e01e
+ldxc1 :: offset: 0x50, out: 0x5bd4b01b5f15adac
+ldxc1 :: offset: 0x58, out: 0x52568b75569796c2
+ldxc1 :: offset: 0x60, out: 0x6ed82b7f6a1936c8
+ldxc1 :: offset: 0x68, out: 0x675a1011639b0da6
+ldxc1 :: offset: 0x70, out: 0x7ddc5da3791d4014
+ldxc1 :: offset: 0x78, out: 0x745e66cd709f7b7a
+ldxc1 :: offset: 0x80, out: 0x9ce2ab579823b6e0
+ldxc1 :: offset: 0x88, out: 0x9560903991a18d8e
+ldxc1 :: offset: 0x90, out: 0x8fe6dd8b8b27c03c
+ldxc1 :: offset: 0x98, out: 0x8664e6e582a5fb52
+ldxc1 :: offset: 0xa0, out: 0xbaea46efbe2b5b58
+ldxc1 :: offset: 0xa8, out: 0xb3687d81b7a96036
+ldxc1 :: offset: 0xb0, out: 0xa9ee3033ad2f2d84
+ldxc1 :: offset: 0xb8, out: 0xa06c0b5da4ad16ea
+ldxc1 :: offset: 0xc0, out: 0xd0f37027d4326d90
+ldxc1 :: offset: 0xc8, out: 0xd9714b49ddb056fe
+ldxc1 :: offset: 0xd0, out: 0xc3f706fbc7361b4c
+ldxc1 :: offset: 0xd8, out: 0xca753d95ceb42022
+ldxc1 :: offset: 0xe0, out: 0xf6fb9d9ff23a8028
+ldxc1 :: offset: 0xe8, out: 0xff79a6f1fbb8bb46
+ldxc1 :: offset: 0xf0, out: 0xe5ffeb43e13ef6f4
+ldxc1 :: offset: 0xf8, out: 0xec7dd02de8bccd9a
+ldxc1 :: offset: 0x100, out: 0x30476dc034867077
+ldxc1 :: offset: 0x108, out: 0x39c556ae3d044b19
+ldxc1 :: offset: 0x110, out: 0x23431b1c278206ab
+ldxc1 :: offset: 0x118, out: 0x2ac120722e003dc5
+ldxc1 :: offset: 0x120, out: 0x164f8078128e9dcf
+ldxc1 :: offset: 0x128, out: 0x1fcdbb161b0ca6a1
+ldxc1 :: offset: 0x130, out: 0x54bf6a4018aeb13
+ldxc1 :: offset: 0x138, out: 0xcc9cdca0808d07d
+ldxc1 :: offset: 0x140, out: 0x7c56b6b07897ab07
+ldxc1 :: offset: 0x148, out: 0x75d48dde71159069
+ldxc1 :: offset: 0x150, out: 0x6f52c06c6b93dddb
+ldxc1 :: offset: 0x158, out: 0x66d0fb026211e6b5
+ldxc1 :: offset: 0x160, out: 0x5a5e5b085e9f46bf
+ldxc1 :: offset: 0x168, out: 0x53dc6066571d7dd1
+ldxc1 :: offset: 0x170, out: 0x495a2dd44d9b3063
+ldxc1 :: offset: 0x178, out: 0x40d816ba44190b0d
+ldxc1 :: offset: 0x180, out: 0xa864db20aca5c697
+ldxc1 :: offset: 0x188, out: 0xa1e6e04ea527fdf9
+ldxc1 :: offset: 0x190, out: 0xbb60adfcbfa1b04b
+ldxc1 :: offset: 0x198, out: 0xb2e29692b6238b25
+ldxc1 :: offset: 0x1a0, out: 0x8aad2b2f
+ldxc1 :: offset: 0x1a8, out: 0x87ee0df600000000
+ldxc1 :: offset: 0x1b0, out: 0x9d68404499a95df3
+ldxc1 :: offset: 0x1b8, out: 0x94ea7b2a902b669d
+ldxc1 :: offset: 0x1c0, out: 0xe4750050e0b41de7
+ldxc1 :: offset: 0x1c8, out: 0xedf73b3ee9362689
+ldxc1 :: offset: 0x1d0, out: 0xf771768cf3b06b3b
+ldxc1 :: offset: 0x1d8, out: 0xfef34de2fa325055
+ldxc1 :: offset: 0x1e0, out: 0xc27dede8c6bcf05f
+ldxc1 :: offset: 0x1e8, out: 0xcbffd686cf3ecb31
+ldxc1 :: offset: 0x1f0, out: 0xd1799b34d5b88683
+ldxc1 :: offset: 0x1f8, out: 0xd8fba05adc3abded
+ldxc1 :: offset: 0x200, out: 0x6dcdfd59690ce0ee
+ldxc1 :: offset: 0x208, out: 0x644fc637608edb80
+ldxc1 :: offset: 0x210, out: 0x7ec98b857a089632
+ldxc1 :: offset: 0x218, out: 0x774bb0eb738aad5c
+ldxc1 :: offset: 0x220, out: 0x4bc510e14f040d56
+ldxc1 :: offset: 0x228, out: 0x42472b8f46863638
+ldxc1 :: offset: 0x230, out: 0x58c1663d5c007b8a
+ldxc1 :: offset: 0x238, out: 0x51435d53558240e4
+ldxc1 :: offset: 0x240, out: 0x21dc2629251d3b9e
+ldxc1 :: offset: 0x248, out: 0x285e1d472c9f00f0
+ldxc1 :: offset: 0x250, out: 0x32d850f536194d42
+ldxc1 :: offset: 0x258, out: 0x3b5a6b9b3f9b762c
+ldxc1 :: offset: 0x260, out: 0x7d4cb910315d626
+ldxc1 :: offset: 0x268, out: 0xe56f0ff0a97ed48
+ldxc1 :: offset: 0x270, out: 0x14d0bd4d1011a0fa
+ldxc1 :: offset: 0x278, out: 0x1d52862319939b94
+ldxc1 :: offset: 0x280, out: 0xf5ee4bb9f12f560e
+ldxc1 :: offset: 0x288, out: 0xfc6c70d7f8ad6d60
+ldxc1 :: offset: 0x290, out: 0xe6ea3d65e22b20d2
+ldxc1 :: offset: 0x298, out: 0xef68060beba91bbc
+ldxc1 :: offset: 0x2a0, out: 0xd3e6a601d727bbb6
+ldxc1 :: offset: 0x2a8, out: 0xda649d6fdea580d8
+ldxc1 :: offset: 0x2b0, out: 0xc423cd6a
+ldxc1 :: offset: 0x2b8, out: 0xcda1f604
+ldxc1 :: offset: 0x2c0, out: 0xb9ff90c9bd3e8d7e
+ldxc1 :: offset: 0x2c8, out: 0xb07daba7b4bcb610
+ldxc1 :: offset: 0x2d0, out: 0xaafbe615ae3afba2
+ldxc1 :: offset: 0x2d8, out: 0xa379dd7ba7b8c0cc
+ldxc1 :: offset: 0x2e0, out: 0x9ff77d719b3660c6
+ldxc1 :: offset: 0x2e8, out: 0x9675461f92b45ba8
+ldxc1 :: offset: 0x2f0, out: 0x8cf30bad8832161a
+ldxc1 :: offset: 0x2f8, out: 0x857130c381b02d74
+ldxc1 :: offset: 0x300, out: 0x594b8d2e5d8a9099
+ldxc1 :: offset: 0x308, out: 0x50c9b6405408abf7
+ldxc1 :: offset: 0x310, out: 0x4a4ffbf24e8ee645
+ldxc1 :: offset: 0x318, out: 0x43cdc09c470cdd2b
+ldxc1 :: offset: 0x320, out: 0x7f4360967b827d21
+ldxc1 :: offset: 0x328, out: 0x76c15bf87200464f
+ldxc1 :: offset: 0x330, out: 0x6c47164a68860bfd
+ldxc1 :: offset: 0x338, out: 0x65c52d2461043093
+ldxc1 :: offset: 0x340, out: 0x155a565e119b4be9
+ldxc1 :: offset: 0x348, out: 0x1cd86d3018197087
+ldxc1 :: offset: 0x350, out: 0x65e2082029f3d35
+ldxc1 :: offset: 0x358, out: 0xfdc1bec0b1d065b
+ldxc1 :: offset: 0x360, out: 0x3352bbe63793a651
+ldxc1 :: offset: 0x368, out: 0x3ad080883e119d3f
+ldxc1 :: offset: 0x370, out: 0x2056cd3a2497d08d
+ldxc1 :: offset: 0x378, out: 0x29d4f6542d15ebe3
+ldxc1 :: offset: 0x380, out: 0xc1683bcec5a92679
+ldxc1 :: offset: 0x388, out: 0xc8ea00a0cc2b1d17
+ldxc1 :: offset: 0x390, out: 0xd26c4d12d6ad50a5
+ldxc1 :: offset: 0x398, out: 0xdbee767cdf2f6bcb
+ldxc1 :: offset: 0x3a0, out: 0xe760d676e3a1cbc1
+ldxc1 :: offset: 0x3a8, out: 0xeee2ed18ea23f0af
+ldxc1 :: offset: 0x3b0, out: 0xf464a0aaf0a5bd1d
+ldxc1 :: offset: 0x3b8, out: 0xfde69bc4f9278673
+ldxc1 :: offset: 0x3c0, out: 0x8d79e0be89b8fd09
+ldxc1 :: offset: 0x3c8, out: 0x84fbdbd0803ac667
+ldxc1 :: offset: 0x3d0, out: 0x9e7d96629abc8bd5
+ldxc1 :: offset: 0x3d8, out: 0x97ffad0c933eb0bb
+ldxc1 :: offset: 0x3e0, out: 0xab710d06afb010b1
+ldxc1 :: offset: 0x3e8, out: 0xa2f33668a6322bdf
+ldxc1 :: offset: 0x3f0, out: 0xb8757bdabcb4666d
+ldxc1 :: offset: 0x3f8, out: 0xb1f740b4b5365d03
+ldxc1 :: offset: 0x0, out: 0x12bd6aa
+ldxc1 :: offset: 0x8, out: 0x7e876382d2ab13
+ldxc1 :: offset: 0x10, out: 0x976d6e9ac31510f3
+ldxc1 :: offset: 0x18, out: 0xb7746d775ad6a5fb
+ldxc1 :: offset: 0x20, out: 0x42b0c0a28677b502
+ldxc1 :: offset: 0x28, out: 0x2aa89d319e3c30ad
+ldxc1 :: offset: 0x30, out: 0x1f308ec377fb413d
+ldxc1 :: offset: 0x38, out: 0x7aa04213c760e4f7
+ldxc1 :: offset: 0x40, out: 0x9e705cc51ad8dca0
+ldxc1 :: offset: 0x48, out: 0x4b3dda869615a60d
+ldxc1 :: offset: 0x50, out: 0x5e7a4dd6353d41d
+ldxc1 :: offset: 0x58, out: 0x3af35a9dc40bd413
+ldxc1 :: offset: 0x60, out: 0x47f505569a08a180
+ldxc1 :: offset: 0x68, out: 0x9564b77fd6d2040f
+ldxc1 :: offset: 0x70, out: 0xcebc8279b2c76bbe
+ldxc1 :: offset: 0x78, out: 0xb5034c2f1f18e4c7
+ldxc1 :: offset: 0x80, out: 0x94ff52fc81afa797
+ldxc1 :: offset: 0x88, out: 0x31d8d9166dfc50ea
+ldxc1 :: offset: 0x90, out: 0x36549bd678e895b1
+ldxc1 :: offset: 0x98, out: 0x85e0a6319b63259b
+ldxc1 :: offset: 0xa0, out: 0x556b3ecaccf17ac5
+ldxc1 :: offset: 0xa8, out: 0xb42f5fc581eea0fb
+ldxc1 :: offset: 0xb0, out: 0x25b50fec14682d97
+ldxc1 :: offset: 0xb8, out: 0xfc93c5132cfb087a
+ldxc1 :: offset: 0xc0, out: 0x3c2cd9a9cda20766
+ldxc1 :: offset: 0xc8, out: 0x1791722a7d72da3e
+ldxc1 :: offset: 0xd0, out: 0x87cc9d193ce24ad
+ldxc1 :: offset: 0xd8, out: 0x1d2a757038984ed2
+ldxc1 :: offset: 0xe0, out: 0xd0d070db710cd036
+ldxc1 :: offset: 0xe8, out: 0x39c21c7d03415604
+ldxc1 :: offset: 0xf0, out: 0x8e94b7af8ecc31ce
+ldxc1 :: offset: 0xf8, out: 0x24eb6a8d1ce7674f
+ldxc1 :: offset: 0x100, out: 0x2f39454412d6e4a7
+ldxc1 :: offset: 0x108, out: 0x2608c2b756da4c54
+ldxc1 :: offset: 0x110, out: 0x900102dac8d7252f
+ldxc1 :: offset: 0x118, out: 0xc890d5f1f2efa4f7
+ldxc1 :: offset: 0x120, out: 0xed5005cbc8b0a214
+ldxc1 :: offset: 0x128, out: 0x314791895991136c
+ldxc1 :: offset: 0x130, out: 0xc6eecff99a2fb6f3
+ldxc1 :: offset: 0x138, out: 0xa809521238895270
+ldxc1 :: offset: 0x140, out: 0x87750a04ad765040
+ldxc1 :: offset: 0x148, out: 0x2c3de85e84bb5a83
+ldxc1 :: offset: 0x150, out: 0xae6aff8fc506aa67
+ldxc1 :: offset: 0x158, out: 0xc07112dd60ed5ee3
+ldxc1 :: offset: 0x160, out: 0xc4c770f630dcca5a
+ldxc1 :: offset: 0x168, out: 0xdfec2b2383cd5277
+ldxc1 :: offset: 0x170, out: 0xd3adba260ff7d96b
+ldxc1 :: offset: 0x178, out: 0x4ab4aa798418c00e
+ldxc1 :: offset: 0x180, out: 0xbb8c035e0de0f0b8
+ldxc1 :: offset: 0x188, out: 0x33b06f54a97fdcf1
+ldxc1 :: offset: 0x190, out: 0x77433f373fd1c081
+ldxc1 :: offset: 0x198, out: 0xec91d993c92195e4
+ldxc1 :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab
+ldxc1 :: offset: 0x1a8, out: 0x19364378c7ce8d1e
+ldxc1 :: offset: 0x1b0, out: 0xb99e8def2f384907
+ldxc1 :: offset: 0x1b8, out: 0x47eacdcd582b12fe
+ldxc1 :: offset: 0x1c0, out: 0xd685884e76558c4f
+ldxc1 :: offset: 0x1c8, out: 0x6168d62a34c195c7
+ldxc1 :: offset: 0x1d0, out: 0xd30169894df47405
+ldxc1 :: offset: 0x1d8, out: 0x1ca190bf6cbb06db
+ldxc1 :: offset: 0x1e0, out: 0x58300f029cae393a
+ldxc1 :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d
+ldxc1 :: offset: 0x1f0, out: 0x8a96047be3405b48
+ldxc1 :: offset: 0x1f8, out: 0x75bfafd2d519d322
+ldxc1 :: offset: 0x200, out: 0xde230867a630f6ad
+ldxc1 :: offset: 0x208, out: 0x2c0a0cf256103260
+ldxc1 :: offset: 0x210, out: 0x94a90544249b18ef
+ldxc1 :: offset: 0x218, out: 0xf9519fb55b56fcde
+ldxc1 :: offset: 0x220, out: 0x81daf8200468319b
+ldxc1 :: offset: 0x228, out: 0x8c61ca5a5725f2ec
+ldxc1 :: offset: 0x230, out: 0x8b95a6ddc25dc8bf
+ldxc1 :: offset: 0x238, out: 0x300ce751dac6162f
+ldxc1 :: offset: 0x240, out: 0x6778fdf3ba52a850
+ldxc1 :: offset: 0x248, out: 0xad00b1f7da78479f
+ldxc1 :: offset: 0x250, out: 0x8d44168a6b6d98a
+ldxc1 :: offset: 0x258, out: 0xf518381dce634413
+ldxc1 :: offset: 0x260, out: 0xe4627f3fe5255fc0
+ldxc1 :: offset: 0x268, out: 0xccd392e176321f28
+ldxc1 :: offset: 0x270, out: 0x829464944018fd8f
+ldxc1 :: offset: 0x278, out: 0x15d3204052e8f0e5
+ldxc1 :: offset: 0x280, out: 0x7caf83d2880ff344
+ldxc1 :: offset: 0x288, out: 0xf156a04c747defd7
+ldxc1 :: offset: 0x290, out: 0x93e2601c0f31d710
+ldxc1 :: offset: 0x298, out: 0xe1e1a679131cd933
+ldxc1 :: offset: 0x2a0, out: 0x24296b75a76fa427
+ldxc1 :: offset: 0x2a8, out: 0xd296e2d2139ee56a
+ldxc1 :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0
+ldxc1 :: offset: 0x2b8, out: 0x76c89e80c07dc168
+ldxc1 :: offset: 0x2c0, out: 0x70dc3454bfe348f
+ldxc1 :: offset: 0x2c8, out: 0xbddc7123dd6d241b
+ldxc1 :: offset: 0x2d0, out: 0xf62fb727a59fcebe
+ldxc1 :: offset: 0x2d8, out: 0x109f27e90f9f46fb
+ldxc1 :: offset: 0x2e0, out: 0x3f63daa9afd199d7
+ldxc1 :: offset: 0x2e8, out: 0xdbcb312ea3d484f2
+ldxc1 :: offset: 0x2f0, out: 0x1f353faada4fe4c6
+ldxc1 :: offset: 0x2f8, out: 0x8b086ee07150c260
+ldxc1 :: offset: 0x300, out: 0xe54750d5d9257f25
+ldxc1 :: offset: 0x308, out: 0x3d69625fe9a6db5b
+ldxc1 :: offset: 0x310, out: 0x70a3e0424340ac96
+ldxc1 :: offset: 0x318, out: 0xc0478f036980171e
+ldxc1 :: offset: 0x320, out: 0x3ce839a51cf929e3
+ldxc1 :: offset: 0x328, out: 0xe2fbfa895eb68958
+ldxc1 :: offset: 0x330, out: 0xd24bb05d76ed25b7
+ldxc1 :: offset: 0x338, out: 0xeb9682c170312f1
+ldxc1 :: offset: 0x340, out: 0x84785280dd301d0d
+ldxc1 :: offset: 0x348, out: 0x179c77aa1f8fd6ef
+ldxc1 :: offset: 0x350, out: 0x26444ced2998436d
+ldxc1 :: offset: 0x358, out: 0x7175c9dd58ca708
+ldxc1 :: offset: 0x360, out: 0x663d061055833287
+ldxc1 :: offset: 0x368, out: 0xab7dd0488951d68b
+ldxc1 :: offset: 0x370, out: 0xf69823670e82471b
+ldxc1 :: offset: 0x378, out: 0x36886c59d98d26b2
+ldxc1 :: offset: 0x380, out: 0x9ca4bdbd32be479
+ldxc1 :: offset: 0x388, out: 0xfd5d7d1d9962e61f
+ldxc1 :: offset: 0x390, out: 0x3f46553ecad374df
+ldxc1 :: offset: 0x398, out: 0x2e9ab97d3eedf2a7
+ldxc1 :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33
+ldxc1 :: offset: 0x3a8, out: 0x8bb938e3155ec9dc
+ldxc1 :: offset: 0x3b0, out: 0xd2df25c419478206
+ldxc1 :: offset: 0x3b8, out: 0xbc65bf27eb321825
+ldxc1 :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da
+ldxc1 :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8
+ldxc1 :: offset: 0x3d0, out: 0x478909b59a99269
+ldxc1 :: offset: 0x3d8, out: 0xbfb31cc87857360f
+ldxc1 :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2
+ldxc1 :: offset: 0x3e8, out: 0x15da9474b7a8d5e4
+ldxc1 :: offset: 0x3f0, out: 0xf6b3537d2af90fcc
+ldxc1 :: offset: 0x3f8, out: 0x223d7cfe2b961897
+ldxc1 :: offset: 0x400, out: 0x420b34f533734a4b
+ldxc1 :: offset: 0x408, out: 0x897c8c8ddd46b33c
+ldxc1 :: offset: 0x410, out: 0x7a387445e392ccd9
+ldxc1 :: offset: 0x418, out: 0x512f29b1d80000c9
+ldxc1 :: offset: 0x420, out: 0xeaded5c53dad020a
+ldxc1 :: offset: 0x428, out: 0x8a6229d731eea35b
+ldxc1 :: offset: 0x430, out: 0x2c3c3f9e48985649
+ldxc1 :: offset: 0x438, out: 0x7ff61e78dc9c0b77
+ldxc1 :: offset: 0x440, out: 0x2299b0e01d5e68ec
+ldxc1 :: offset: 0x448, out: 0x7c3b04673d0c6e25
+ldxc1 :: offset: 0x450, out: 0x164e17c1e7fb6587
+ldxc1 :: offset: 0x458, out: 0xfa4ca28b56d4950b
+ldxc1 :: offset: 0x460, out: 0xe5e9a314be7fa08a
+ldxc1 :: offset: 0x468, out: 0xf8be8164159649c5
+ldxc1 :: offset: 0x470, out: 0x7ca3259784e69b17
+ldxc1 :: offset: 0x478, out: 0xfc8d543ca1f24f5c
+ldxc1 :: offset: 0x480, out: 0x4aeb6ca0e3459e36
+ldxc1 :: offset: 0x488, out: 0xc532e18e187980fa
+ldxc1 :: offset: 0x490, out: 0xb3fdec294f287d1c
+ldxc1 :: offset: 0x498, out: 0xb620660a49732b90
+ldxc1 :: offset: 0x4a0, out: 0x993138f16cfde991
+ldxc1 :: offset: 0x4a8, out: 0xde02d1337d5407b9
+ldxc1 :: offset: 0x4b0, out: 0x13a390e1e1dab15a
+ldxc1 :: offset: 0x4b8, out: 0x743491a6828716c8
+ldxc1 :: offset: 0x4c0, out: 0x8cff404aede292f2
+ldxc1 :: offset: 0x4c8, out: 0xb9cec0db1f837636
+ldxc1 :: offset: 0x4d0, out: 0x2eaa5aa70509771c
+ldxc1 :: offset: 0x4d8, out: 0xd327538e1875241b
+ldxc1 :: offset: 0x4e0, out: 0x42e9f8548b739b6b
+ldxc1 :: offset: 0x4e8, out: 0x78e4e50ceccbba1a
+ldxc1 :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb
+ldxc1 :: offset: 0x4f8, out: 0x73916483ae3e9423
+ldxc1 :: offset: 0x500, out: 0x276af70a0e128561
+ldxc1 :: offset: 0x508, out: 0x3045bf6b5e74b6e
+ldxc1 :: offset: 0x510, out: 0x20223f1308accfa6
+ldxc1 :: offset: 0x518, out: 0xf83c55743976b5f5
+ldxc1 :: offset: 0x520, out: 0x1f9720f946923c3d
+ldxc1 :: offset: 0x528, out: 0x620d28506d2448dd
+ldxc1 :: offset: 0x530, out: 0x60a521e99ff4a732
+ldxc1 :: offset: 0x538, out: 0x5a08f3ab5c680f0b
+ldxc1 :: offset: 0x540, out: 0xc7a59be7800f3d26
+ldxc1 :: offset: 0x548, out: 0x1aecdf2982ca1b41
+ldxc1 :: offset: 0x550, out: 0x2b8613a260d19dcd
+ldxc1 :: offset: 0x558, out: 0x2518ac8b0e8bbe7f
+ldxc1 :: offset: 0x560, out: 0x743e568d2fcf486b
+ldxc1 :: offset: 0x568, out: 0x126f646f34c31728
+ldxc1 :: offset: 0x570, out: 0xaab0196156fc4d12
+ldxc1 :: offset: 0x578, out: 0x7535cd338595d342
+ldxc1 :: offset: 0x580, out: 0xdfb254da422346ec
+ldxc1 :: offset: 0x588, out: 0xa86726c90081ab2a
+ldxc1 :: offset: 0x590, out: 0x9bfeffa1679d7438
+ldxc1 :: offset: 0x598, out: 0xc7699826b7dee244
+ldxc1 :: offset: 0x5a0, out: 0x3c07af97fba6704a
+ldxc1 :: offset: 0x5a8, out: 0x521364dc04c58bfe
+ldxc1 :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc
+ldxc1 :: offset: 0x5b8, out: 0xe336c60cdeeb954d
+ldxc1 :: offset: 0x5c0, out: 0xd5b2120c6f52416e
+ldxc1 :: offset: 0x5c8, out: 0x85a2d4ff7e628a34
+ldxc1 :: offset: 0x5d0, out: 0x986a2b654a4e7e07
+ldxc1 :: offset: 0x5d8, out: 0xa974eac43a489b55
+ldxc1 :: offset: 0x5e0, out: 0xa388c16272f1f8f5
+ldxc1 :: offset: 0x5e8, out: 0xe8c11f45e7495ea9
+ldxc1 :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4
+ldxc1 :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0
+ldxc1 :: offset: 0x600, out: 0xb42ad6e659a7b04f
+ldxc1 :: offset: 0x608, out: 0x4bf8485ab728922f
+ldxc1 :: offset: 0x610, out: 0x76a3d60c3b66a7fb
+ldxc1 :: offset: 0x618, out: 0x31e0c6affdc28eda
+ldxc1 :: offset: 0x620, out: 0x53606bb4bf0c999d
+ldxc1 :: offset: 0x628, out: 0x32fc12c81b7919f0
+ldxc1 :: offset: 0x630, out: 0x3ef88384c72efcd6
+ldxc1 :: offset: 0x638, out: 0x38b1c7bb6a2a3580
+ldxc1 :: offset: 0x640, out: 0x15ebf6121dca77c9
+ldxc1 :: offset: 0x648, out: 0x5eaacdd9fd9147ae
+ldxc1 :: offset: 0x650, out: 0xbb8470f981e91117
+ldxc1 :: offset: 0x658, out: 0x5d42aeac6a532e0
+ldxc1 :: offset: 0x660, out: 0x14abf36419fb9e63
+ldxc1 :: offset: 0x668, out: 0x249d559aa8d72aac
+ldxc1 :: offset: 0x670, out: 0xcd6764f084b30ec
+ldxc1 :: offset: 0x678, out: 0x7f03ac0792468fdf
+ldxc1 :: offset: 0x680, out: 0x7e35ce6d56e670f5
+ldxc1 :: offset: 0x688, out: 0x152828591a652711
+ldxc1 :: offset: 0x690, out: 0x9e1c3283d215a9fb
+ldxc1 :: offset: 0x698, out: 0x8d95c049282a0417
+ldxc1 :: offset: 0x6a0, out: 0xf2e7a490978058f3
+ldxc1 :: offset: 0x6a8, out: 0x775b4cca0975b1aa
+ldxc1 :: offset: 0x6b0, out: 0xa2b84a635111020
+ldxc1 :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f
+ldxc1 :: offset: 0x6c0, out: 0xa3d991b79941dedd
+ldxc1 :: offset: 0x6c8, out: 0x751cb4835a0d9508
+ldxc1 :: offset: 0x6d0, out: 0x949cad35625bb2d3
+ldxc1 :: offset: 0x6d8, out: 0x7f567f35a6929739
+ldxc1 :: offset: 0x6e0, out: 0x185b88e0db8d7d27
+ldxc1 :: offset: 0x6e8, out: 0x255a4cd22fd61b91
+ldxc1 :: offset: 0x6f0, out: 0x1048d589a4363f7b
+ldxc1 :: offset: 0x6f8, out: 0x6a6d5708f4605790
+ldxc1 :: offset: 0x700, out: 0xd58ecbabde35697f
+ldxc1 :: offset: 0x708, out: 0x575548fd08c0a5f1
+ldxc1 :: offset: 0x710, out: 0x8bb640fb8ed98ddb
+ldxc1 :: offset: 0x718, out: 0xbe00d51eabc578cc
+ldxc1 :: offset: 0x720, out: 0x2f7e224a1c170ab2
+ldxc1 :: offset: 0x728, out: 0xa978f12ca22256a7
+ldxc1 :: offset: 0x730, out: 0x9950a93b811ee02f
+ldxc1 :: offset: 0x738, out: 0xb44eea93c6796a0c
+ldxc1 :: offset: 0x740, out: 0xfe71fca06c0eb657
+ldxc1 :: offset: 0x748, out: 0x4ed6393df818af57
+ldxc1 :: offset: 0x750, out: 0xf22e90200236770a
+ldxc1 :: offset: 0x758, out: 0x81efb6c7afd0c45d
+ldxc1 :: offset: 0x760, out: 0xeed8f3518102315b
+ldxc1 :: offset: 0x768, out: 0xadafefb9995efd5e
+ldxc1 :: offset: 0x770, out: 0x34061933eb253086
+ldxc1 :: offset: 0x778, out: 0x1748da264b4c52bc
+ldxc1 :: offset: 0x780, out: 0x34fdfc9a9302be89
+ldxc1 :: offset: 0x788, out: 0xd00278c3c521d180
+ldxc1 :: offset: 0x790, out: 0xe90944a4c1d37a5d
+ldxc1 :: offset: 0x798, out: 0x65fd698fddef9839
+ldxc1 :: offset: 0x7a0, out: 0xc49ee3ad81b5af52
+ldxc1 :: offset: 0x7a8, out: 0x7aa941e8bdb263e9
+ldxc1 :: offset: 0x7b0, out: 0x372c209e42f3b58d
+ldxc1 :: offset: 0x7b8, out: 0x30f870b7e122a83b
+ldxc1 :: offset: 0x7c0, out: 0x9e02de4b678930ec
+ldxc1 :: offset: 0x7c8, out: 0xcd61a8639826631e
+ldxc1 :: offset: 0x7d0, out: 0xae87bc899a7bd3ca
+ldxc1 :: offset: 0x7d8, out: 0x58ec644d6481af17
+ldxc1 :: offset: 0x7e0, out: 0x680cce5fb236b666
+ldxc1 :: offset: 0x7e8, out: 0x3baa99471f6d4d75
+ldxc1 :: offset: 0x7f0, out: 0x614d9b445f12236b
+ldxc1 :: offset: 0x7f8, out: 0xa2a6ec661ba84121
+--- LWC1 ---
+lwc1 :: offset: 0x0, out: 0x0
+lwc1 :: offset: 0x4, out: 0x0
+lwc1 :: offset: 0x8, out: 0x9823b6e
+lwc1 :: offset: 0xc, out: 0xd4326d9
+lwc1 :: offset: 0x10, out: 0x130476dc
+lwc1 :: offset: 0x14, out: 0x17c56b6b
+lwc1 :: offset: 0x18, out: 0x1a864db2
+lwc1 :: offset: 0x1c, out: 0x1e475005
+lwc1 :: offset: 0x20, out: 0x2608edb8
+lwc1 :: offset: 0x24, out: 0x22c9f00f
+lwc1 :: offset: 0x28, out: 0x2f8ad6d6
+lwc1 :: offset: 0x2c, out: 0x2b4bcb61
+lwc1 :: offset: 0x30, out: 0x350c9b64
+lwc1 :: offset: 0x34, out: 0x31cd86d3
+lwc1 :: offset: 0x38, out: 0x3c8ea00a
+lwc1 :: offset: 0x3c, out: 0x384fbdbd
+lwc1 :: offset: 0x40, out: 0x4c11db70
+lwc1 :: offset: 0x44, out: 0x48d0c6c7
+lwc1 :: offset: 0x48, out: 0x4593e01e
+lwc1 :: offset: 0x4c, out: 0x4152fda9
+lwc1 :: offset: 0x50, out: 0x5f15adac
+lwc1 :: offset: 0x54, out: 0x5bd4b01b
+lwc1 :: offset: 0x58, out: 0x569796c2
+lwc1 :: offset: 0x5c, out: 0x52568b75
+lwc1 :: offset: 0x60, out: 0x6a1936c8
+lwc1 :: offset: 0x64, out: 0x6ed82b7f
+lwc1 :: offset: 0x68, out: 0x639b0da6
+lwc1 :: offset: 0x6c, out: 0x675a1011
+lwc1 :: offset: 0x70, out: 0x791d4014
+lwc1 :: offset: 0x74, out: 0x7ddc5da3
+lwc1 :: offset: 0x78, out: 0x709f7b7a
+lwc1 :: offset: 0x7c, out: 0x745e66cd
+lwc1 :: offset: 0x80, out: 0x9823b6e0
+lwc1 :: offset: 0x84, out: 0x9ce2ab57
+lwc1 :: offset: 0x88, out: 0x91a18d8e
+lwc1 :: offset: 0x8c, out: 0x95609039
+lwc1 :: offset: 0x90, out: 0x8b27c03c
+lwc1 :: offset: 0x94, out: 0x8fe6dd8b
+lwc1 :: offset: 0x98, out: 0x82a5fb52
+lwc1 :: offset: 0x9c, out: 0x8664e6e5
+lwc1 :: offset: 0xa0, out: 0xbe2b5b58
+lwc1 :: offset: 0xa4, out: 0xbaea46ef
+lwc1 :: offset: 0xa8, out: 0xb7a96036
+lwc1 :: offset: 0xac, out: 0xb3687d81
+lwc1 :: offset: 0xb0, out: 0xad2f2d84
+lwc1 :: offset: 0xb4, out: 0xa9ee3033
+lwc1 :: offset: 0xb8, out: 0xa4ad16ea
+lwc1 :: offset: 0xbc, out: 0xa06c0b5d
+lwc1 :: offset: 0xc0, out: 0xd4326d90
+lwc1 :: offset: 0xc4, out: 0xd0f37027
+lwc1 :: offset: 0xc8, out: 0xddb056fe
+lwc1 :: offset: 0xcc, out: 0xd9714b49
+lwc1 :: offset: 0xd0, out: 0xc7361b4c
+lwc1 :: offset: 0xd4, out: 0xc3f706fb
+lwc1 :: offset: 0xd8, out: 0xceb42022
+lwc1 :: offset: 0xdc, out: 0xca753d95
+lwc1 :: offset: 0xe0, out: 0xf23a8028
+lwc1 :: offset: 0xe4, out: 0xf6fb9d9f
+lwc1 :: offset: 0xe8, out: 0xfbb8bb46
+lwc1 :: offset: 0xec, out: 0xff79a6f1
+lwc1 :: offset: 0xf0, out: 0xe13ef6f4
+lwc1 :: offset: 0xf4, out: 0xe5ffeb43
+lwc1 :: offset: 0xf8, out: 0xe8bccd9a
+lwc1 :: offset: 0xfc, out: 0xec7dd02d
+lwc1 :: offset: 0x100, out: 0x34867077
+lwc1 :: offset: 0x104, out: 0x30476dc0
+lwc1 :: offset: 0x108, out: 0x3d044b19
+lwc1 :: offset: 0x10c, out: 0x39c556ae
+lwc1 :: offset: 0x110, out: 0x278206ab
+lwc1 :: offset: 0x114, out: 0x23431b1c
+lwc1 :: offset: 0x118, out: 0x2e003dc5
+lwc1 :: offset: 0x11c, out: 0x2ac12072
+lwc1 :: offset: 0x120, out: 0x128e9dcf
+lwc1 :: offset: 0x124, out: 0x164f8078
+lwc1 :: offset: 0x128, out: 0x1b0ca6a1
+lwc1 :: offset: 0x12c, out: 0x1fcdbb16
+lwc1 :: offset: 0x130, out: 0x18aeb13
+lwc1 :: offset: 0x134, out: 0x54bf6a4
+lwc1 :: offset: 0x138, out: 0x808d07d
+lwc1 :: offset: 0x13c, out: 0xcc9cdca
+lwc1 :: offset: 0x140, out: 0x7897ab07
+lwc1 :: offset: 0x144, out: 0x7c56b6b0
+lwc1 :: offset: 0x148, out: 0x71159069
+lwc1 :: offset: 0x14c, out: 0x75d48dde
+lwc1 :: offset: 0x150, out: 0x6b93dddb
+lwc1 :: offset: 0x154, out: 0x6f52c06c
+lwc1 :: offset: 0x158, out: 0x6211e6b5
+lwc1 :: offset: 0x15c, out: 0x66d0fb02
+lwc1 :: offset: 0x160, out: 0x5e9f46bf
+lwc1 :: offset: 0x164, out: 0x5a5e5b08
+lwc1 :: offset: 0x168, out: 0x571d7dd1
+lwc1 :: offset: 0x16c, out: 0x53dc6066
+lwc1 :: offset: 0x170, out: 0x4d9b3063
+lwc1 :: offset: 0x174, out: 0x495a2dd4
+lwc1 :: offset: 0x178, out: 0x44190b0d
+lwc1 :: offset: 0x17c, out: 0x40d816ba
+lwc1 :: offset: 0x180, out: 0xaca5c697
+lwc1 :: offset: 0x184, out: 0xa864db20
+lwc1 :: offset: 0x188, out: 0xa527fdf9
+lwc1 :: offset: 0x18c, out: 0xa1e6e04e
+lwc1 :: offset: 0x190, out: 0xbfa1b04b
+lwc1 :: offset: 0x194, out: 0xbb60adfc
+lwc1 :: offset: 0x198, out: 0xb6238b25
+lwc1 :: offset: 0x19c, out: 0xb2e29692
+lwc1 :: offset: 0x1a0, out: 0x8aad2b2f
+lwc1 :: offset: 0x1a4, out: 0x0
+lwc1 :: offset: 0x1a8, out: 0x0
+lwc1 :: offset: 0x1ac, out: 0x87ee0df6
+lwc1 :: offset: 0x1b0, out: 0x99a95df3
+lwc1 :: offset: 0x1b4, out: 0x9d684044
+lwc1 :: offset: 0x1b8, out: 0x902b669d
+lwc1 :: offset: 0x1bc, out: 0x94ea7b2a
+lwc1 :: offset: 0x1c0, out: 0xe0b41de7
+lwc1 :: offset: 0x1c4, out: 0xe4750050
+lwc1 :: offset: 0x1c8, out: 0xe9362689
+lwc1 :: offset: 0x1cc, out: 0xedf73b3e
+lwc1 :: offset: 0x1d0, out: 0xf3b06b3b
+lwc1 :: offset: 0x1d4, out: 0xf771768c
+lwc1 :: offset: 0x1d8, out: 0xfa325055
+lwc1 :: offset: 0x1dc, out: 0xfef34de2
+lwc1 :: offset: 0x1e0, out: 0xc6bcf05f
+lwc1 :: offset: 0x1e4, out: 0xc27dede8
+lwc1 :: offset: 0x1e8, out: 0xcf3ecb31
+lwc1 :: offset: 0x1ec, out: 0xcbffd686
+lwc1 :: offset: 0x1f0, out: 0xd5b88683
+lwc1 :: offset: 0x1f4, out: 0xd1799b34
+lwc1 :: offset: 0x1f8, out: 0xdc3abded
+lwc1 :: offset: 0x1fc, out: 0xd8fba05a
+lwc1 :: offset: 0x200, out: 0x690ce0ee
+lwc1 :: offset: 0x204, out: 0x6dcdfd59
+lwc1 :: offset: 0x208, out: 0x608edb80
+lwc1 :: offset: 0x20c, out: 0x644fc637
+lwc1 :: offset: 0x210, out: 0x7a089632
+lwc1 :: offset: 0x214, out: 0x7ec98b85
+lwc1 :: offset: 0x218, out: 0x738aad5c
+lwc1 :: offset: 0x21c, out: 0x774bb0eb
+lwc1 :: offset: 0x220, out: 0x4f040d56
+lwc1 :: offset: 0x224, out: 0x4bc510e1
+lwc1 :: offset: 0x228, out: 0x46863638
+lwc1 :: offset: 0x22c, out: 0x42472b8f
+lwc1 :: offset: 0x230, out: 0x5c007b8a
+lwc1 :: offset: 0x234, out: 0x58c1663d
+lwc1 :: offset: 0x238, out: 0x558240e4
+lwc1 :: offset: 0x23c, out: 0x51435d53
+lwc1 :: offset: 0x240, out: 0x251d3b9e
+lwc1 :: offset: 0x244, out: 0x21dc2629
+lwc1 :: offset: 0x248, out: 0x2c9f00f0
+lwc1 :: offset: 0x24c, out: 0x285e1d47
+lwc1 :: offset: 0x250, out: 0x36194d42
+lwc1 :: offset: 0x254, out: 0x32d850f5
+lwc1 :: offset: 0x258, out: 0x3f9b762c
+lwc1 :: offset: 0x25c, out: 0x3b5a6b9b
+lwc1 :: offset: 0x260, out: 0x315d626
+lwc1 :: offset: 0x264, out: 0x7d4cb91
+lwc1 :: offset: 0x268, out: 0xa97ed48
+lwc1 :: offset: 0x26c, out: 0xe56f0ff
+lwc1 :: offset: 0x270, out: 0x1011a0fa
+lwc1 :: offset: 0x274, out: 0x14d0bd4d
+lwc1 :: offset: 0x278, out: 0x19939b94
+lwc1 :: offset: 0x27c, out: 0x1d528623
+lwc1 :: offset: 0x280, out: 0xf12f560e
+lwc1 :: offset: 0x284, out: 0xf5ee4bb9
+lwc1 :: offset: 0x288, out: 0xf8ad6d60
+lwc1 :: offset: 0x28c, out: 0xfc6c70d7
+lwc1 :: offset: 0x290, out: 0xe22b20d2
+lwc1 :: offset: 0x294, out: 0xe6ea3d65
+lwc1 :: offset: 0x298, out: 0xeba91bbc
+lwc1 :: offset: 0x29c, out: 0xef68060b
+lwc1 :: offset: 0x2a0, out: 0xd727bbb6
+lwc1 :: offset: 0x2a4, out: 0xd3e6a601
+lwc1 :: offset: 0x2a8, out: 0xdea580d8
+lwc1 :: offset: 0x2ac, out: 0xda649d6f
+lwc1 :: offset: 0x2b0, out: 0xc423cd6a
+lwc1 :: offset: 0x2b4, out: 0x0
+lwc1 :: offset: 0x2b8, out: 0xcda1f604
+lwc1 :: offset: 0x2bc, out: 0x0
+lwc1 :: offset: 0x2c0, out: 0xbd3e8d7e
+lwc1 :: offset: 0x2c4, out: 0xb9ff90c9
+lwc1 :: offset: 0x2c8, out: 0xb4bcb610
+lwc1 :: offset: 0x2cc, out: 0xb07daba7
+lwc1 :: offset: 0x2d0, out: 0xae3afba2
+lwc1 :: offset: 0x2d4, out: 0xaafbe615
+lwc1 :: offset: 0x2d8, out: 0xa7b8c0cc
+lwc1 :: offset: 0x2dc, out: 0xa379dd7b
+lwc1 :: offset: 0x2e0, out: 0x9b3660c6
+lwc1 :: offset: 0x2e4, out: 0x9ff77d71
+lwc1 :: offset: 0x2e8, out: 0x92b45ba8
+lwc1 :: offset: 0x2ec, out: 0x9675461f
+lwc1 :: offset: 0x2f0, out: 0x8832161a
+lwc1 :: offset: 0x2f4, out: 0x8cf30bad
+lwc1 :: offset: 0x2f8, out: 0x81b02d74
+lwc1 :: offset: 0x2fc, out: 0x857130c3
+lwc1 :: offset: 0x300, out: 0x5d8a9099
+lwc1 :: offset: 0x304, out: 0x594b8d2e
+lwc1 :: offset: 0x308, out: 0x5408abf7
+lwc1 :: offset: 0x30c, out: 0x50c9b640
+lwc1 :: offset: 0x310, out: 0x4e8ee645
+lwc1 :: offset: 0x314, out: 0x4a4ffbf2
+lwc1 :: offset: 0x318, out: 0x470cdd2b
+lwc1 :: offset: 0x31c, out: 0x43cdc09c
+lwc1 :: offset: 0x320, out: 0x7b827d21
+lwc1 :: offset: 0x324, out: 0x7f436096
+lwc1 :: offset: 0x328, out: 0x7200464f
+lwc1 :: offset: 0x32c, out: 0x76c15bf8
+lwc1 :: offset: 0x330, out: 0x68860bfd
+lwc1 :: offset: 0x334, out: 0x6c47164a
+lwc1 :: offset: 0x338, out: 0x61043093
+lwc1 :: offset: 0x33c, out: 0x65c52d24
+lwc1 :: offset: 0x340, out: 0x119b4be9
+lwc1 :: offset: 0x344, out: 0x155a565e
+lwc1 :: offset: 0x348, out: 0x18197087
+lwc1 :: offset: 0x34c, out: 0x1cd86d30
+lwc1 :: offset: 0x350, out: 0x29f3d35
+lwc1 :: offset: 0x354, out: 0x65e2082
+lwc1 :: offset: 0x358, out: 0xb1d065b
+lwc1 :: offset: 0x35c, out: 0xfdc1bec
+lwc1 :: offset: 0x360, out: 0x3793a651
+lwc1 :: offset: 0x364, out: 0x3352bbe6
+lwc1 :: offset: 0x368, out: 0x3e119d3f
+lwc1 :: offset: 0x36c, out: 0x3ad08088
+lwc1 :: offset: 0x370, out: 0x2497d08d
+lwc1 :: offset: 0x374, out: 0x2056cd3a
+lwc1 :: offset: 0x378, out: 0x2d15ebe3
+lwc1 :: offset: 0x37c, out: 0x29d4f654
+lwc1 :: offset: 0x380, out: 0xc5a92679
+lwc1 :: offset: 0x384, out: 0xc1683bce
+lwc1 :: offset: 0x388, out: 0xcc2b1d17
+lwc1 :: offset: 0x38c, out: 0xc8ea00a0
+lwc1 :: offset: 0x390, out: 0xd6ad50a5
+lwc1 :: offset: 0x394, out: 0xd26c4d12
+lwc1 :: offset: 0x398, out: 0xdf2f6bcb
+lwc1 :: offset: 0x39c, out: 0xdbee767c
+lwc1 :: offset: 0x3a0, out: 0xe3a1cbc1
+lwc1 :: offset: 0x3a4, out: 0xe760d676
+lwc1 :: offset: 0x3a8, out: 0xea23f0af
+lwc1 :: offset: 0x3ac, out: 0xeee2ed18
+lwc1 :: offset: 0x3b0, out: 0xf0a5bd1d
+lwc1 :: offset: 0x3b4, out: 0xf464a0aa
+lwc1 :: offset: 0x3b8, out: 0xf9278673
+lwc1 :: offset: 0x3bc, out: 0xfde69bc4
+lwc1 :: offset: 0x3c0, out: 0x89b8fd09
+lwc1 :: offset: 0x3c4, out: 0x8d79e0be
+lwc1 :: offset: 0x3c8, out: 0x803ac667
+lwc1 :: offset: 0x3cc, out: 0x84fbdbd0
+lwc1 :: offset: 0x3d0, out: 0x9abc8bd5
+lwc1 :: offset: 0x3d4, out: 0x9e7d9662
+lwc1 :: offset: 0x3d8, out: 0x933eb0bb
+lwc1 :: offset: 0x3dc, out: 0x97ffad0c
+lwc1 :: offset: 0x3e0, out: 0xafb010b1
+lwc1 :: offset: 0x3e4, out: 0xab710d06
+lwc1 :: offset: 0x3e8, out: 0xa6322bdf
+lwc1 :: offset: 0x3ec, out: 0xa2f33668
+lwc1 :: offset: 0x3f0, out: 0xbcb4666d
+lwc1 :: offset: 0x3f4, out: 0xb8757bda
+lwc1 :: offset: 0x3f8, out: 0xb5365d03
+lwc1 :: offset: 0x3fc, out: 0xb1f740b4
+lwc1 :: offset: 0x0, out: 0x12bd6aa
+lwc1 :: offset: 0x4, out: 0x0
+lwc1 :: offset: 0x8, out: 0x82d2ab13
+lwc1 :: offset: 0xc, out: 0x7e8763
+lwc1 :: offset: 0x10, out: 0xc31510f3
+lwc1 :: offset: 0x14, out: 0x976d6e9a
+lwc1 :: offset: 0x18, out: 0x5ad6a5fb
+lwc1 :: offset: 0x1c, out: 0xb7746d77
+lwc1 :: offset: 0x20, out: 0x8677b502
+lwc1 :: offset: 0x24, out: 0x42b0c0a2
+lwc1 :: offset: 0x28, out: 0x9e3c30ad
+lwc1 :: offset: 0x2c, out: 0x2aa89d31
+lwc1 :: offset: 0x30, out: 0x77fb413d
+lwc1 :: offset: 0x34, out: 0x1f308ec3
+lwc1 :: offset: 0x38, out: 0xc760e4f7
+lwc1 :: offset: 0x3c, out: 0x7aa04213
+lwc1 :: offset: 0x40, out: 0x1ad8dca0
+lwc1 :: offset: 0x44, out: 0x9e705cc5
+lwc1 :: offset: 0x48, out: 0x9615a60d
+lwc1 :: offset: 0x4c, out: 0x4b3dda86
+lwc1 :: offset: 0x50, out: 0x6353d41d
+lwc1 :: offset: 0x54, out: 0x5e7a4dd
+lwc1 :: offset: 0x58, out: 0xc40bd413
+lwc1 :: offset: 0x5c, out: 0x3af35a9d
+lwc1 :: offset: 0x60, out: 0x9a08a180
+lwc1 :: offset: 0x64, out: 0x47f50556
+lwc1 :: offset: 0x68, out: 0xd6d2040f
+lwc1 :: offset: 0x6c, out: 0x9564b77f
+lwc1 :: offset: 0x70, out: 0xb2c76bbe
+lwc1 :: offset: 0x74, out: 0xcebc8279
+lwc1 :: offset: 0x78, out: 0x1f18e4c7
+lwc1 :: offset: 0x7c, out: 0xb5034c2f
+lwc1 :: offset: 0x80, out: 0x81afa797
+lwc1 :: offset: 0x84, out: 0x94ff52fc
+lwc1 :: offset: 0x88, out: 0x6dfc50ea
+lwc1 :: offset: 0x8c, out: 0x31d8d916
+lwc1 :: offset: 0x90, out: 0x78e895b1
+lwc1 :: offset: 0x94, out: 0x36549bd6
+lwc1 :: offset: 0x98, out: 0x9b63259b
+lwc1 :: offset: 0x9c, out: 0x85e0a631
+lwc1 :: offset: 0xa0, out: 0xccf17ac5
+lwc1 :: offset: 0xa4, out: 0x556b3eca
+lwc1 :: offset: 0xa8, out: 0x81eea0fb
+lwc1 :: offset: 0xac, out: 0xb42f5fc5
+lwc1 :: offset: 0xb0, out: 0x14682d97
+lwc1 :: offset: 0xb4, out: 0x25b50fec
+lwc1 :: offset: 0xb8, out: 0x2cfb087a
+lwc1 :: offset: 0xbc, out: 0xfc93c513
+lwc1 :: offset: 0xc0, out: 0xcda20766
+lwc1 :: offset: 0xc4, out: 0x3c2cd9a9
+lwc1 :: offset: 0xc8, out: 0x7d72da3e
+lwc1 :: offset: 0xcc, out: 0x1791722a
+lwc1 :: offset: 0xd0, out: 0x93ce24ad
+lwc1 :: offset: 0xd4, out: 0x87cc9d1
+lwc1 :: offset: 0xd8, out: 0x38984ed2
+lwc1 :: offset: 0xdc, out: 0x1d2a7570
+lwc1 :: offset: 0xe0, out: 0x710cd036
+lwc1 :: offset: 0xe4, out: 0xd0d070db
+lwc1 :: offset: 0xe8, out: 0x3415604
+lwc1 :: offset: 0xec, out: 0x39c21c7d
+lwc1 :: offset: 0xf0, out: 0x8ecc31ce
+lwc1 :: offset: 0xf4, out: 0x8e94b7af
+lwc1 :: offset: 0xf8, out: 0x1ce7674f
+lwc1 :: offset: 0xfc, out: 0x24eb6a8d
+lwc1 :: offset: 0x100, out: 0x12d6e4a7
+lwc1 :: offset: 0x104, out: 0x2f394544
+lwc1 :: offset: 0x108, out: 0x56da4c54
+lwc1 :: offset: 0x10c, out: 0x2608c2b7
+lwc1 :: offset: 0x110, out: 0xc8d7252f
+lwc1 :: offset: 0x114, out: 0x900102da
+lwc1 :: offset: 0x118, out: 0xf2efa4f7
+lwc1 :: offset: 0x11c, out: 0xc890d5f1
+lwc1 :: offset: 0x120, out: 0xc8b0a214
+lwc1 :: offset: 0x124, out: 0xed5005cb
+lwc1 :: offset: 0x128, out: 0x5991136c
+lwc1 :: offset: 0x12c, out: 0x31479189
+lwc1 :: offset: 0x130, out: 0x9a2fb6f3
+lwc1 :: offset: 0x134, out: 0xc6eecff9
+lwc1 :: offset: 0x138, out: 0x38895270
+lwc1 :: offset: 0x13c, out: 0xa8095212
+lwc1 :: offset: 0x140, out: 0xad765040
+lwc1 :: offset: 0x144, out: 0x87750a04
+lwc1 :: offset: 0x148, out: 0x84bb5a83
+lwc1 :: offset: 0x14c, out: 0x2c3de85e
+lwc1 :: offset: 0x150, out: 0xc506aa67
+lwc1 :: offset: 0x154, out: 0xae6aff8f
+lwc1 :: offset: 0x158, out: 0x60ed5ee3
+lwc1 :: offset: 0x15c, out: 0xc07112dd
+lwc1 :: offset: 0x160, out: 0x30dcca5a
+lwc1 :: offset: 0x164, out: 0xc4c770f6
+lwc1 :: offset: 0x168, out: 0x83cd5277
+lwc1 :: offset: 0x16c, out: 0xdfec2b23
+lwc1 :: offset: 0x170, out: 0xff7d96b
+lwc1 :: offset: 0x174, out: 0xd3adba26
+lwc1 :: offset: 0x178, out: 0x8418c00e
+lwc1 :: offset: 0x17c, out: 0x4ab4aa79
+lwc1 :: offset: 0x180, out: 0xde0f0b8
+lwc1 :: offset: 0x184, out: 0xbb8c035e
+lwc1 :: offset: 0x188, out: 0xa97fdcf1
+lwc1 :: offset: 0x18c, out: 0x33b06f54
+lwc1 :: offset: 0x190, out: 0x3fd1c081
+lwc1 :: offset: 0x194, out: 0x77433f37
+lwc1 :: offset: 0x198, out: 0xc92195e4
+lwc1 :: offset: 0x19c, out: 0xec91d993
+lwc1 :: offset: 0x1a0, out: 0x95b1a5ab
+lwc1 :: offset: 0x1a4, out: 0x49fbf6a7
+lwc1 :: offset: 0x1a8, out: 0xc7ce8d1e
+lwc1 :: offset: 0x1ac, out: 0x19364378
+lwc1 :: offset: 0x1b0, out: 0x2f384907
+lwc1 :: offset: 0x1b4, out: 0xb99e8def
+lwc1 :: offset: 0x1b8, out: 0x582b12fe
+lwc1 :: offset: 0x1bc, out: 0x47eacdcd
+lwc1 :: offset: 0x1c0, out: 0x76558c4f
+lwc1 :: offset: 0x1c4, out: 0xd685884e
+lwc1 :: offset: 0x1c8, out: 0x34c195c7
+lwc1 :: offset: 0x1cc, out: 0x6168d62a
+lwc1 :: offset: 0x1d0, out: 0x4df47405
+lwc1 :: offset: 0x1d4, out: 0xd3016989
+lwc1 :: offset: 0x1d8, out: 0x6cbb06db
+lwc1 :: offset: 0x1dc, out: 0x1ca190bf
+lwc1 :: offset: 0x1e0, out: 0x9cae393a
+lwc1 :: offset: 0x1e4, out: 0x58300f02
+lwc1 :: offset: 0x1e8, out: 0xdc7ebc2d
+lwc1 :: offset: 0x1ec, out: 0x9a995fdb
+lwc1 :: offset: 0x1f0, out: 0xe3405b48
+lwc1 :: offset: 0x1f4, out: 0x8a96047b
+lwc1 :: offset: 0x1f8, out: 0xd519d322
+lwc1 :: offset: 0x1fc, out: 0x75bfafd2
+lwc1 :: offset: 0x200, out: 0xa630f6ad
+lwc1 :: offset: 0x204, out: 0xde230867
+lwc1 :: offset: 0x208, out: 0x56103260
+lwc1 :: offset: 0x20c, out: 0x2c0a0cf2
+lwc1 :: offset: 0x210, out: 0x249b18ef
+lwc1 :: offset: 0x214, out: 0x94a90544
+lwc1 :: offset: 0x218, out: 0x5b56fcde
+lwc1 :: offset: 0x21c, out: 0xf9519fb5
+lwc1 :: offset: 0x220, out: 0x468319b
+lwc1 :: offset: 0x224, out: 0x81daf820
+lwc1 :: offset: 0x228, out: 0x5725f2ec
+lwc1 :: offset: 0x22c, out: 0x8c61ca5a
+lwc1 :: offset: 0x230, out: 0xc25dc8bf
+lwc1 :: offset: 0x234, out: 0x8b95a6dd
+lwc1 :: offset: 0x238, out: 0xdac6162f
+lwc1 :: offset: 0x23c, out: 0x300ce751
+lwc1 :: offset: 0x240, out: 0xba52a850
+lwc1 :: offset: 0x244, out: 0x6778fdf3
+lwc1 :: offset: 0x248, out: 0xda78479f
+lwc1 :: offset: 0x24c, out: 0xad00b1f7
+lwc1 :: offset: 0x250, out: 0xa6b6d98a
+lwc1 :: offset: 0x254, out: 0x8d44168
+lwc1 :: offset: 0x258, out: 0xce634413
+lwc1 :: offset: 0x25c, out: 0xf518381d
+lwc1 :: offset: 0x260, out: 0xe5255fc0
+lwc1 :: offset: 0x264, out: 0xe4627f3f
+lwc1 :: offset: 0x268, out: 0x76321f28
+lwc1 :: offset: 0x26c, out: 0xccd392e1
+lwc1 :: offset: 0x270, out: 0x4018fd8f
+lwc1 :: offset: 0x274, out: 0x82946494
+lwc1 :: offset: 0x278, out: 0x52e8f0e5
+lwc1 :: offset: 0x27c, out: 0x15d32040
+lwc1 :: offset: 0x280, out: 0x880ff344
+lwc1 :: offset: 0x284, out: 0x7caf83d2
+lwc1 :: offset: 0x288, out: 0x747defd7
+lwc1 :: offset: 0x28c, out: 0xf156a04c
+lwc1 :: offset: 0x290, out: 0xf31d710
+lwc1 :: offset: 0x294, out: 0x93e2601c
+lwc1 :: offset: 0x298, out: 0x131cd933
+lwc1 :: offset: 0x29c, out: 0xe1e1a679
+lwc1 :: offset: 0x2a0, out: 0xa76fa427
+lwc1 :: offset: 0x2a4, out: 0x24296b75
+lwc1 :: offset: 0x2a8, out: 0x139ee56a
+lwc1 :: offset: 0x2ac, out: 0xd296e2d2
+lwc1 :: offset: 0x2b0, out: 0x6dc2a5c0
+lwc1 :: offset: 0x2b4, out: 0x5a82447f
+lwc1 :: offset: 0x2b8, out: 0xc07dc168
+lwc1 :: offset: 0x2bc, out: 0x76c89e80
+lwc1 :: offset: 0x2c0, out: 0x4bfe348f
+lwc1 :: offset: 0x2c4, out: 0x70dc345
+lwc1 :: offset: 0x2c8, out: 0xdd6d241b
+lwc1 :: offset: 0x2cc, out: 0xbddc7123
+lwc1 :: offset: 0x2d0, out: 0xa59fcebe
+lwc1 :: offset: 0x2d4, out: 0xf62fb727
+lwc1 :: offset: 0x2d8, out: 0xf9f46fb
+lwc1 :: offset: 0x2dc, out: 0x109f27e9
+lwc1 :: offset: 0x2e0, out: 0xafd199d7
+lwc1 :: offset: 0x2e4, out: 0x3f63daa9
+lwc1 :: offset: 0x2e8, out: 0xa3d484f2
+lwc1 :: offset: 0x2ec, out: 0xdbcb312e
+lwc1 :: offset: 0x2f0, out: 0xda4fe4c6
+lwc1 :: offset: 0x2f4, out: 0x1f353faa
+lwc1 :: offset: 0x2f8, out: 0x7150c260
+lwc1 :: offset: 0x2fc, out: 0x8b086ee0
+lwc1 :: offset: 0x300, out: 0xd9257f25
+lwc1 :: offset: 0x304, out: 0xe54750d5
+lwc1 :: offset: 0x308, out: 0xe9a6db5b
+lwc1 :: offset: 0x30c, out: 0x3d69625f
+lwc1 :: offset: 0x310, out: 0x4340ac96
+lwc1 :: offset: 0x314, out: 0x70a3e042
+lwc1 :: offset: 0x318, out: 0x6980171e
+lwc1 :: offset: 0x31c, out: 0xc0478f03
+lwc1 :: offset: 0x320, out: 0x1cf929e3
+lwc1 :: offset: 0x324, out: 0x3ce839a5
+lwc1 :: offset: 0x328, out: 0x5eb68958
+lwc1 :: offset: 0x32c, out: 0xe2fbfa89
+lwc1 :: offset: 0x330, out: 0x76ed25b7
+lwc1 :: offset: 0x334, out: 0xd24bb05d
+lwc1 :: offset: 0x338, out: 0x170312f1
+lwc1 :: offset: 0x33c, out: 0xeb9682c
+lwc1 :: offset: 0x340, out: 0xdd301d0d
+lwc1 :: offset: 0x344, out: 0x84785280
+lwc1 :: offset: 0x348, out: 0x1f8fd6ef
+lwc1 :: offset: 0x34c, out: 0x179c77aa
+lwc1 :: offset: 0x350, out: 0x2998436d
+lwc1 :: offset: 0x354, out: 0x26444ced
+lwc1 :: offset: 0x358, out: 0xd58ca708
+lwc1 :: offset: 0x35c, out: 0x7175c9d
+lwc1 :: offset: 0x360, out: 0x55833287
+lwc1 :: offset: 0x364, out: 0x663d0610
+lwc1 :: offset: 0x368, out: 0x8951d68b
+lwc1 :: offset: 0x36c, out: 0xab7dd048
+lwc1 :: offset: 0x370, out: 0xe82471b
+lwc1 :: offset: 0x374, out: 0xf6982367
+lwc1 :: offset: 0x378, out: 0xd98d26b2
+lwc1 :: offset: 0x37c, out: 0x36886c59
+lwc1 :: offset: 0x380, out: 0xd32be479
+lwc1 :: offset: 0x384, out: 0x9ca4bdb
+lwc1 :: offset: 0x388, out: 0x9962e61f
+lwc1 :: offset: 0x38c, out: 0xfd5d7d1d
+lwc1 :: offset: 0x390, out: 0xcad374df
+lwc1 :: offset: 0x394, out: 0x3f46553e
+lwc1 :: offset: 0x398, out: 0x3eedf2a7
+lwc1 :: offset: 0x39c, out: 0x2e9ab97d
+lwc1 :: offset: 0x3a0, out: 0x3c0c9f33
+lwc1 :: offset: 0x3a4, out: 0x36a6f7fa
+lwc1 :: offset: 0x3a8, out: 0x155ec9dc
+lwc1 :: offset: 0x3ac, out: 0x8bb938e3
+lwc1 :: offset: 0x3b0, out: 0x19478206
+lwc1 :: offset: 0x3b4, out: 0xd2df25c4
+lwc1 :: offset: 0x3b8, out: 0xeb321825
+lwc1 :: offset: 0x3bc, out: 0xbc65bf27
+lwc1 :: offset: 0x3c0, out: 0x7a8bc7da
+lwc1 :: offset: 0x3c4, out: 0xa8b08fe6
+lwc1 :: offset: 0x3c8, out: 0xf8dfcde8
+lwc1 :: offset: 0x3cc, out: 0x852b5bca
+lwc1 :: offset: 0x3d0, out: 0x59a99269
+lwc1 :: offset: 0x3d4, out: 0x478909b
+lwc1 :: offset: 0x3d8, out: 0x7857360f
+lwc1 :: offset: 0x3dc, out: 0xbfb31cc8
+lwc1 :: offset: 0x3e0, out: 0x7f89e9a2
+lwc1 :: offset: 0x3e4, out: 0xb665ed5e
+lwc1 :: offset: 0x3e8, out: 0xb7a8d5e4
+lwc1 :: offset: 0x3ec, out: 0x15da9474
+lwc1 :: offset: 0x3f0, out: 0x2af90fcc
+lwc1 :: offset: 0x3f4, out: 0xf6b3537d
+lwc1 :: offset: 0x3f8, out: 0x2b961897
+lwc1 :: offset: 0x3fc, out: 0x223d7cfe
+lwc1 :: offset: 0x400, out: 0x33734a4b
+lwc1 :: offset: 0x404, out: 0x420b34f5
+lwc1 :: offset: 0x408, out: 0xdd46b33c
+lwc1 :: offset: 0x40c, out: 0x897c8c8d
+lwc1 :: offset: 0x410, out: 0xe392ccd9
+lwc1 :: offset: 0x414, out: 0x7a387445
+lwc1 :: offset: 0x418, out: 0xd80000c9
+lwc1 :: offset: 0x41c, out: 0x512f29b1
+lwc1 :: offset: 0x420, out: 0x3dad020a
+lwc1 :: offset: 0x424, out: 0xeaded5c5
+lwc1 :: offset: 0x428, out: 0x31eea35b
+lwc1 :: offset: 0x42c, out: 0x8a6229d7
+lwc1 :: offset: 0x430, out: 0x48985649
+lwc1 :: offset: 0x434, out: 0x2c3c3f9e
+lwc1 :: offset: 0x438, out: 0xdc9c0b77
+lwc1 :: offset: 0x43c, out: 0x7ff61e78
+lwc1 :: offset: 0x440, out: 0x1d5e68ec
+lwc1 :: offset: 0x444, out: 0x2299b0e0
+lwc1 :: offset: 0x448, out: 0x3d0c6e25
+lwc1 :: offset: 0x44c, out: 0x7c3b0467
+lwc1 :: offset: 0x450, out: 0xe7fb6587
+lwc1 :: offset: 0x454, out: 0x164e17c1
+lwc1 :: offset: 0x458, out: 0x56d4950b
+lwc1 :: offset: 0x45c, out: 0xfa4ca28b
+lwc1 :: offset: 0x460, out: 0xbe7fa08a
+lwc1 :: offset: 0x464, out: 0xe5e9a314
+lwc1 :: offset: 0x468, out: 0x159649c5
+lwc1 :: offset: 0x46c, out: 0xf8be8164
+lwc1 :: offset: 0x470, out: 0x84e69b17
+lwc1 :: offset: 0x474, out: 0x7ca32597
+lwc1 :: offset: 0x478, out: 0xa1f24f5c
+lwc1 :: offset: 0x47c, out: 0xfc8d543c
+lwc1 :: offset: 0x480, out: 0xe3459e36
+lwc1 :: offset: 0x484, out: 0x4aeb6ca0
+lwc1 :: offset: 0x488, out: 0x187980fa
+lwc1 :: offset: 0x48c, out: 0xc532e18e
+lwc1 :: offset: 0x490, out: 0x4f287d1c
+lwc1 :: offset: 0x494, out: 0xb3fdec29
+lwc1 :: offset: 0x498, out: 0x49732b90
+lwc1 :: offset: 0x49c, out: 0xb620660a
+lwc1 :: offset: 0x4a0, out: 0x6cfde991
+lwc1 :: offset: 0x4a4, out: 0x993138f1
+lwc1 :: offset: 0x4a8, out: 0x7d5407b9
+lwc1 :: offset: 0x4ac, out: 0xde02d133
+lwc1 :: offset: 0x4b0, out: 0xe1dab15a
+lwc1 :: offset: 0x4b4, out: 0x13a390e1
+lwc1 :: offset: 0x4b8, out: 0x828716c8
+lwc1 :: offset: 0x4bc, out: 0x743491a6
+lwc1 :: offset: 0x4c0, out: 0xede292f2
+lwc1 :: offset: 0x4c4, out: 0x8cff404a
+lwc1 :: offset: 0x4c8, out: 0x1f837636
+lwc1 :: offset: 0x4cc, out: 0xb9cec0db
+lwc1 :: offset: 0x4d0, out: 0x509771c
+lwc1 :: offset: 0x4d4, out: 0x2eaa5aa7
+lwc1 :: offset: 0x4d8, out: 0x1875241b
+lwc1 :: offset: 0x4dc, out: 0xd327538e
+lwc1 :: offset: 0x4e0, out: 0x8b739b6b
+lwc1 :: offset: 0x4e4, out: 0x42e9f854
+lwc1 :: offset: 0x4e8, out: 0xeccbba1a
+lwc1 :: offset: 0x4ec, out: 0x78e4e50c
+lwc1 :: offset: 0x4f0, out: 0xcd9d27cb
+lwc1 :: offset: 0x4f4, out: 0xf6b6fa3f
+lwc1 :: offset: 0x4f8, out: 0xae3e9423
+lwc1 :: offset: 0x4fc, out: 0x73916483
+lwc1 :: offset: 0x500, out: 0xe128561
+lwc1 :: offset: 0x504, out: 0x276af70a
+lwc1 :: offset: 0x508, out: 0xb5e74b6e
+lwc1 :: offset: 0x50c, out: 0x3045bf6
+lwc1 :: offset: 0x510, out: 0x8accfa6
+lwc1 :: offset: 0x514, out: 0x20223f13
+lwc1 :: offset: 0x518, out: 0x3976b5f5
+lwc1 :: offset: 0x51c, out: 0xf83c5574
+lwc1 :: offset: 0x520, out: 0x46923c3d
+lwc1 :: offset: 0x524, out: 0x1f9720f9
+lwc1 :: offset: 0x528, out: 0x6d2448dd
+lwc1 :: offset: 0x52c, out: 0x620d2850
+lwc1 :: offset: 0x530, out: 0x9ff4a732
+lwc1 :: offset: 0x534, out: 0x60a521e9
+lwc1 :: offset: 0x538, out: 0x5c680f0b
+lwc1 :: offset: 0x53c, out: 0x5a08f3ab
+lwc1 :: offset: 0x540, out: 0x800f3d26
+lwc1 :: offset: 0x544, out: 0xc7a59be7
+lwc1 :: offset: 0x548, out: 0x82ca1b41
+lwc1 :: offset: 0x54c, out: 0x1aecdf29
+lwc1 :: offset: 0x550, out: 0x60d19dcd
+lwc1 :: offset: 0x554, out: 0x2b8613a2
+lwc1 :: offset: 0x558, out: 0xe8bbe7f
+lwc1 :: offset: 0x55c, out: 0x2518ac8b
+lwc1 :: offset: 0x560, out: 0x2fcf486b
+lwc1 :: offset: 0x564, out: 0x743e568d
+lwc1 :: offset: 0x568, out: 0x34c31728
+lwc1 :: offset: 0x56c, out: 0x126f646f
+lwc1 :: offset: 0x570, out: 0x56fc4d12
+lwc1 :: offset: 0x574, out: 0xaab01961
+lwc1 :: offset: 0x578, out: 0x8595d342
+lwc1 :: offset: 0x57c, out: 0x7535cd33
+lwc1 :: offset: 0x580, out: 0x422346ec
+lwc1 :: offset: 0x584, out: 0xdfb254da
+lwc1 :: offset: 0x588, out: 0x81ab2a
+lwc1 :: offset: 0x58c, out: 0xa86726c9
+lwc1 :: offset: 0x590, out: 0x679d7438
+lwc1 :: offset: 0x594, out: 0x9bfeffa1
+lwc1 :: offset: 0x598, out: 0xb7dee244
+lwc1 :: offset: 0x59c, out: 0xc7699826
+lwc1 :: offset: 0x5a0, out: 0xfba6704a
+lwc1 :: offset: 0x5a4, out: 0x3c07af97
+lwc1 :: offset: 0x5a8, out: 0x4c58bfe
+lwc1 :: offset: 0x5ac, out: 0x521364dc
+lwc1 :: offset: 0x5b0, out: 0x9ab7aebc
+lwc1 :: offset: 0x5b4, out: 0xe0f7bb58
+lwc1 :: offset: 0x5b8, out: 0xdeeb954d
+lwc1 :: offset: 0x5bc, out: 0xe336c60c
+lwc1 :: offset: 0x5c0, out: 0x6f52416e
+lwc1 :: offset: 0x5c4, out: 0xd5b2120c
+lwc1 :: offset: 0x5c8, out: 0x7e628a34
+lwc1 :: offset: 0x5cc, out: 0x85a2d4ff
+lwc1 :: offset: 0x5d0, out: 0x4a4e7e07
+lwc1 :: offset: 0x5d4, out: 0x986a2b65
+lwc1 :: offset: 0x5d8, out: 0x3a489b55
+lwc1 :: offset: 0x5dc, out: 0xa974eac4
+lwc1 :: offset: 0x5e0, out: 0x72f1f8f5
+lwc1 :: offset: 0x5e4, out: 0xa388c162
+lwc1 :: offset: 0x5e8, out: 0xe7495ea9
+lwc1 :: offset: 0x5ec, out: 0xe8c11f45
+lwc1 :: offset: 0x5f0, out: 0x5cc1c8b4
+lwc1 :: offset: 0x5f4, out: 0xadaa5a76
+lwc1 :: offset: 0x5f8, out: 0xdfa605c0
+lwc1 :: offset: 0x5fc, out: 0x7ab4ce88
+lwc1 :: offset: 0x600, out: 0x59a7b04f
+lwc1 :: offset: 0x604, out: 0xb42ad6e6
+lwc1 :: offset: 0x608, out: 0xb728922f
+lwc1 :: offset: 0x60c, out: 0x4bf8485a
+lwc1 :: offset: 0x610, out: 0x3b66a7fb
+lwc1 :: offset: 0x614, out: 0x76a3d60c
+lwc1 :: offset: 0x618, out: 0xfdc28eda
+lwc1 :: offset: 0x61c, out: 0x31e0c6af
+lwc1 :: offset: 0x620, out: 0xbf0c999d
+lwc1 :: offset: 0x624, out: 0x53606bb4
+lwc1 :: offset: 0x628, out: 0x1b7919f0
+lwc1 :: offset: 0x62c, out: 0x32fc12c8
+lwc1 :: offset: 0x630, out: 0xc72efcd6
+lwc1 :: offset: 0x634, out: 0x3ef88384
+lwc1 :: offset: 0x638, out: 0x6a2a3580
+lwc1 :: offset: 0x63c, out: 0x38b1c7bb
+lwc1 :: offset: 0x640, out: 0x1dca77c9
+lwc1 :: offset: 0x644, out: 0x15ebf612
+lwc1 :: offset: 0x648, out: 0xfd9147ae
+lwc1 :: offset: 0x64c, out: 0x5eaacdd9
+lwc1 :: offset: 0x650, out: 0x81e91117
+lwc1 :: offset: 0x654, out: 0xbb8470f9
+lwc1 :: offset: 0x658, out: 0xc6a532e0
+lwc1 :: offset: 0x65c, out: 0x5d42aea
+lwc1 :: offset: 0x660, out: 0x19fb9e63
+lwc1 :: offset: 0x664, out: 0x14abf364
+lwc1 :: offset: 0x668, out: 0xa8d72aac
+lwc1 :: offset: 0x66c, out: 0x249d559a
+lwc1 :: offset: 0x670, out: 0x84b30ec
+lwc1 :: offset: 0x674, out: 0xcd6764f
+lwc1 :: offset: 0x678, out: 0x92468fdf
+lwc1 :: offset: 0x67c, out: 0x7f03ac07
+lwc1 :: offset: 0x680, out: 0x56e670f5
+lwc1 :: offset: 0x684, out: 0x7e35ce6d
+lwc1 :: offset: 0x688, out: 0x1a652711
+lwc1 :: offset: 0x68c, out: 0x15282859
+lwc1 :: offset: 0x690, out: 0xd215a9fb
+lwc1 :: offset: 0x694, out: 0x9e1c3283
+lwc1 :: offset: 0x698, out: 0x282a0417
+lwc1 :: offset: 0x69c, out: 0x8d95c049
+lwc1 :: offset: 0x6a0, out: 0x978058f3
+lwc1 :: offset: 0x6a4, out: 0xf2e7a490
+lwc1 :: offset: 0x6a8, out: 0x975b1aa
+lwc1 :: offset: 0x6ac, out: 0x775b4cca
+lwc1 :: offset: 0x6b0, out: 0x35111020
+lwc1 :: offset: 0x6b4, out: 0xa2b84a6
+lwc1 :: offset: 0x6b8, out: 0xa7d88b6f
+lwc1 :: offset: 0x6bc, out: 0x23fa0d3
+lwc1 :: offset: 0x6c0, out: 0x9941dedd
+lwc1 :: offset: 0x6c4, out: 0xa3d991b7
+lwc1 :: offset: 0x6c8, out: 0x5a0d9508
+lwc1 :: offset: 0x6cc, out: 0x751cb483
+lwc1 :: offset: 0x6d0, out: 0x625bb2d3
+lwc1 :: offset: 0x6d4, out: 0x949cad35
+lwc1 :: offset: 0x6d8, out: 0xa6929739
+lwc1 :: offset: 0x6dc, out: 0x7f567f35
+lwc1 :: offset: 0x6e0, out: 0xdb8d7d27
+lwc1 :: offset: 0x6e4, out: 0x185b88e0
+lwc1 :: offset: 0x6e8, out: 0x2fd61b91
+lwc1 :: offset: 0x6ec, out: 0x255a4cd2
+lwc1 :: offset: 0x6f0, out: 0xa4363f7b
+lwc1 :: offset: 0x6f4, out: 0x1048d589
+lwc1 :: offset: 0x6f8, out: 0xf4605790
+lwc1 :: offset: 0x6fc, out: 0x6a6d5708
+lwc1 :: offset: 0x700, out: 0xde35697f
+lwc1 :: offset: 0x704, out: 0xd58ecbab
+lwc1 :: offset: 0x708, out: 0x8c0a5f1
+lwc1 :: offset: 0x70c, out: 0x575548fd
+lwc1 :: offset: 0x710, out: 0x8ed98ddb
+lwc1 :: offset: 0x714, out: 0x8bb640fb
+lwc1 :: offset: 0x718, out: 0xabc578cc
+lwc1 :: offset: 0x71c, out: 0xbe00d51e
+lwc1 :: offset: 0x720, out: 0x1c170ab2
+lwc1 :: offset: 0x724, out: 0x2f7e224a
+lwc1 :: offset: 0x728, out: 0xa22256a7
+lwc1 :: offset: 0x72c, out: 0xa978f12c
+lwc1 :: offset: 0x730, out: 0x811ee02f
+lwc1 :: offset: 0x734, out: 0x9950a93b
+lwc1 :: offset: 0x738, out: 0xc6796a0c
+lwc1 :: offset: 0x73c, out: 0xb44eea93
+lwc1 :: offset: 0x740, out: 0x6c0eb657
+lwc1 :: offset: 0x744, out: 0xfe71fca0
+lwc1 :: offset: 0x748, out: 0xf818af57
+lwc1 :: offset: 0x74c, out: 0x4ed6393d
+lwc1 :: offset: 0x750, out: 0x236770a
+lwc1 :: offset: 0x754, out: 0xf22e9020
+lwc1 :: offset: 0x758, out: 0xafd0c45d
+lwc1 :: offset: 0x75c, out: 0x81efb6c7
+lwc1 :: offset: 0x760, out: 0x8102315b
+lwc1 :: offset: 0x764, out: 0xeed8f351
+lwc1 :: offset: 0x768, out: 0x995efd5e
+lwc1 :: offset: 0x76c, out: 0xadafefb9
+lwc1 :: offset: 0x770, out: 0xeb253086
+lwc1 :: offset: 0x774, out: 0x34061933
+lwc1 :: offset: 0x778, out: 0x4b4c52bc
+lwc1 :: offset: 0x77c, out: 0x1748da26
+lwc1 :: offset: 0x780, out: 0x9302be89
+lwc1 :: offset: 0x784, out: 0x34fdfc9a
+lwc1 :: offset: 0x788, out: 0xc521d180
+lwc1 :: offset: 0x78c, out: 0xd00278c3
+lwc1 :: offset: 0x790, out: 0xc1d37a5d
+lwc1 :: offset: 0x794, out: 0xe90944a4
+lwc1 :: offset: 0x798, out: 0xddef9839
+lwc1 :: offset: 0x79c, out: 0x65fd698f
+lwc1 :: offset: 0x7a0, out: 0x81b5af52
+lwc1 :: offset: 0x7a4, out: 0xc49ee3ad
+lwc1 :: offset: 0x7a8, out: 0xbdb263e9
+lwc1 :: offset: 0x7ac, out: 0x7aa941e8
+lwc1 :: offset: 0x7b0, out: 0x42f3b58d
+lwc1 :: offset: 0x7b4, out: 0x372c209e
+lwc1 :: offset: 0x7b8, out: 0xe122a83b
+lwc1 :: offset: 0x7bc, out: 0x30f870b7
+lwc1 :: offset: 0x7c0, out: 0x678930ec
+lwc1 :: offset: 0x7c4, out: 0x9e02de4b
+lwc1 :: offset: 0x7c8, out: 0x9826631e
+lwc1 :: offset: 0x7cc, out: 0xcd61a863
+lwc1 :: offset: 0x7d0, out: 0x9a7bd3ca
+lwc1 :: offset: 0x7d4, out: 0xae87bc89
+lwc1 :: offset: 0x7d8, out: 0x6481af17
+lwc1 :: offset: 0x7dc, out: 0x58ec644d
+lwc1 :: offset: 0x7e0, out: 0xb236b666
+lwc1 :: offset: 0x7e4, out: 0x680cce5f
+lwc1 :: offset: 0x7e8, out: 0x1f6d4d75
+lwc1 :: offset: 0x7ec, out: 0x3baa9947
+lwc1 :: offset: 0x7f0, out: 0x5f12236b
+lwc1 :: offset: 0x7f4, out: 0x614d9b44
+lwc1 :: offset: 0x7f8, out: 0x1ba84121
+lwc1 :: offset: 0x7fc, out: 0xa2a6ec66
+--- LWXC1 ---
+lwxc1 :: offset: 0x0, out: 0x0
+lwxc1 :: offset: 0x4, out: 0x0
+lwxc1 :: offset: 0x8, out: 0x9823b6e
+lwxc1 :: offset: 0xc, out: 0xd4326d9
+lwxc1 :: offset: 0x10, out: 0x130476dc
+lwxc1 :: offset: 0x14, out: 0x17c56b6b
+lwxc1 :: offset: 0x18, out: 0x1a864db2
+lwxc1 :: offset: 0x1c, out: 0x1e475005
+lwxc1 :: offset: 0x20, out: 0x2608edb8
+lwxc1 :: offset: 0x24, out: 0x22c9f00f
+lwxc1 :: offset: 0x28, out: 0x2f8ad6d6
+lwxc1 :: offset: 0x2c, out: 0x2b4bcb61
+lwxc1 :: offset: 0x30, out: 0x350c9b64
+lwxc1 :: offset: 0x34, out: 0x31cd86d3
+lwxc1 :: offset: 0x38, out: 0x3c8ea00a
+lwxc1 :: offset: 0x3c, out: 0x384fbdbd
+lwxc1 :: offset: 0x40, out: 0x4c11db70
+lwxc1 :: offset: 0x44, out: 0x48d0c6c7
+lwxc1 :: offset: 0x48, out: 0x4593e01e
+lwxc1 :: offset: 0x4c, out: 0x4152fda9
+lwxc1 :: offset: 0x50, out: 0x5f15adac
+lwxc1 :: offset: 0x54, out: 0x5bd4b01b
+lwxc1 :: offset: 0x58, out: 0x569796c2
+lwxc1 :: offset: 0x5c, out: 0x52568b75
+lwxc1 :: offset: 0x60, out: 0x6a1936c8
+lwxc1 :: offset: 0x64, out: 0x6ed82b7f
+lwxc1 :: offset: 0x68, out: 0x639b0da6
+lwxc1 :: offset: 0x6c, out: 0x675a1011
+lwxc1 :: offset: 0x70, out: 0x791d4014
+lwxc1 :: offset: 0x74, out: 0x7ddc5da3
+lwxc1 :: offset: 0x78, out: 0x709f7b7a
+lwxc1 :: offset: 0x7c, out: 0x745e66cd
+lwxc1 :: offset: 0x80, out: 0x9823b6e0
+lwxc1 :: offset: 0x84, out: 0x9ce2ab57
+lwxc1 :: offset: 0x88, out: 0x91a18d8e
+lwxc1 :: offset: 0x8c, out: 0x95609039
+lwxc1 :: offset: 0x90, out: 0x8b27c03c
+lwxc1 :: offset: 0x94, out: 0x8fe6dd8b
+lwxc1 :: offset: 0x98, out: 0x82a5fb52
+lwxc1 :: offset: 0x9c, out: 0x8664e6e5
+lwxc1 :: offset: 0xa0, out: 0xbe2b5b58
+lwxc1 :: offset: 0xa4, out: 0xbaea46ef
+lwxc1 :: offset: 0xa8, out: 0xb7a96036
+lwxc1 :: offset: 0xac, out: 0xb3687d81
+lwxc1 :: offset: 0xb0, out: 0xad2f2d84
+lwxc1 :: offset: 0xb4, out: 0xa9ee3033
+lwxc1 :: offset: 0xb8, out: 0xa4ad16ea
+lwxc1 :: offset: 0xbc, out: 0xa06c0b5d
+lwxc1 :: offset: 0xc0, out: 0xd4326d90
+lwxc1 :: offset: 0xc4, out: 0xd0f37027
+lwxc1 :: offset: 0xc8, out: 0xddb056fe
+lwxc1 :: offset: 0xcc, out: 0xd9714b49
+lwxc1 :: offset: 0xd0, out: 0xc7361b4c
+lwxc1 :: offset: 0xd4, out: 0xc3f706fb
+lwxc1 :: offset: 0xd8, out: 0xceb42022
+lwxc1 :: offset: 0xdc, out: 0xca753d95
+lwxc1 :: offset: 0xe0, out: 0xf23a8028
+lwxc1 :: offset: 0xe4, out: 0xf6fb9d9f
+lwxc1 :: offset: 0xe8, out: 0xfbb8bb46
+lwxc1 :: offset: 0xec, out: 0xff79a6f1
+lwxc1 :: offset: 0xf0, out: 0xe13ef6f4
+lwxc1 :: offset: 0xf4, out: 0xe5ffeb43
+lwxc1 :: offset: 0xf8, out: 0xe8bccd9a
+lwxc1 :: offset: 0xfc, out: 0xec7dd02d
+lwxc1 :: offset: 0x100, out: 0x34867077
+lwxc1 :: offset: 0x104, out: 0x30476dc0
+lwxc1 :: offset: 0x108, out: 0x3d044b19
+lwxc1 :: offset: 0x10c, out: 0x39c556ae
+lwxc1 :: offset: 0x110, out: 0x278206ab
+lwxc1 :: offset: 0x114, out: 0x23431b1c
+lwxc1 :: offset: 0x118, out: 0x2e003dc5
+lwxc1 :: offset: 0x11c, out: 0x2ac12072
+lwxc1 :: offset: 0x120, out: 0x128e9dcf
+lwxc1 :: offset: 0x124, out: 0x164f8078
+lwxc1 :: offset: 0x128, out: 0x1b0ca6a1
+lwxc1 :: offset: 0x12c, out: 0x1fcdbb16
+lwxc1 :: offset: 0x130, out: 0x18aeb13
+lwxc1 :: offset: 0x134, out: 0x54bf6a4
+lwxc1 :: offset: 0x138, out: 0x808d07d
+lwxc1 :: offset: 0x13c, out: 0xcc9cdca
+lwxc1 :: offset: 0x140, out: 0x7897ab07
+lwxc1 :: offset: 0x144, out: 0x7c56b6b0
+lwxc1 :: offset: 0x148, out: 0x71159069
+lwxc1 :: offset: 0x14c, out: 0x75d48dde
+lwxc1 :: offset: 0x150, out: 0x6b93dddb
+lwxc1 :: offset: 0x154, out: 0x6f52c06c
+lwxc1 :: offset: 0x158, out: 0x6211e6b5
+lwxc1 :: offset: 0x15c, out: 0x66d0fb02
+lwxc1 :: offset: 0x160, out: 0x5e9f46bf
+lwxc1 :: offset: 0x164, out: 0x5a5e5b08
+lwxc1 :: offset: 0x168, out: 0x571d7dd1
+lwxc1 :: offset: 0x16c, out: 0x53dc6066
+lwxc1 :: offset: 0x170, out: 0x4d9b3063
+lwxc1 :: offset: 0x174, out: 0x495a2dd4
+lwxc1 :: offset: 0x178, out: 0x44190b0d
+lwxc1 :: offset: 0x17c, out: 0x40d816ba
+lwxc1 :: offset: 0x180, out: 0xaca5c697
+lwxc1 :: offset: 0x184, out: 0xa864db20
+lwxc1 :: offset: 0x188, out: 0xa527fdf9
+lwxc1 :: offset: 0x18c, out: 0xa1e6e04e
+lwxc1 :: offset: 0x190, out: 0xbfa1b04b
+lwxc1 :: offset: 0x194, out: 0xbb60adfc
+lwxc1 :: offset: 0x198, out: 0xb6238b25
+lwxc1 :: offset: 0x19c, out: 0xb2e29692
+lwxc1 :: offset: 0x1a0, out: 0x8aad2b2f
+lwxc1 :: offset: 0x1a4, out: 0x0
+lwxc1 :: offset: 0x1a8, out: 0x0
+lwxc1 :: offset: 0x1ac, out: 0x87ee0df6
+lwxc1 :: offset: 0x1b0, out: 0x99a95df3
+lwxc1 :: offset: 0x1b4, out: 0x9d684044
+lwxc1 :: offset: 0x1b8, out: 0x902b669d
+lwxc1 :: offset: 0x1bc, out: 0x94ea7b2a
+lwxc1 :: offset: 0x1c0, out: 0xe0b41de7
+lwxc1 :: offset: 0x1c4, out: 0xe4750050
+lwxc1 :: offset: 0x1c8, out: 0xe9362689
+lwxc1 :: offset: 0x1cc, out: 0xedf73b3e
+lwxc1 :: offset: 0x1d0, out: 0xf3b06b3b
+lwxc1 :: offset: 0x1d4, out: 0xf771768c
+lwxc1 :: offset: 0x1d8, out: 0xfa325055
+lwxc1 :: offset: 0x1dc, out: 0xfef34de2
+lwxc1 :: offset: 0x1e0, out: 0xc6bcf05f
+lwxc1 :: offset: 0x1e4, out: 0xc27dede8
+lwxc1 :: offset: 0x1e8, out: 0xcf3ecb31
+lwxc1 :: offset: 0x1ec, out: 0xcbffd686
+lwxc1 :: offset: 0x1f0, out: 0xd5b88683
+lwxc1 :: offset: 0x1f4, out: 0xd1799b34
+lwxc1 :: offset: 0x1f8, out: 0xdc3abded
+lwxc1 :: offset: 0x1fc, out: 0xd8fba05a
+lwxc1 :: offset: 0x200, out: 0x690ce0ee
+lwxc1 :: offset: 0x204, out: 0x6dcdfd59
+lwxc1 :: offset: 0x208, out: 0x608edb80
+lwxc1 :: offset: 0x20c, out: 0x644fc637
+lwxc1 :: offset: 0x210, out: 0x7a089632
+lwxc1 :: offset: 0x214, out: 0x7ec98b85
+lwxc1 :: offset: 0x218, out: 0x738aad5c
+lwxc1 :: offset: 0x21c, out: 0x774bb0eb
+lwxc1 :: offset: 0x220, out: 0x4f040d56
+lwxc1 :: offset: 0x224, out: 0x4bc510e1
+lwxc1 :: offset: 0x228, out: 0x46863638
+lwxc1 :: offset: 0x22c, out: 0x42472b8f
+lwxc1 :: offset: 0x230, out: 0x5c007b8a
+lwxc1 :: offset: 0x234, out: 0x58c1663d
+lwxc1 :: offset: 0x238, out: 0x558240e4
+lwxc1 :: offset: 0x23c, out: 0x51435d53
+lwxc1 :: offset: 0x240, out: 0x251d3b9e
+lwxc1 :: offset: 0x244, out: 0x21dc2629
+lwxc1 :: offset: 0x248, out: 0x2c9f00f0
+lwxc1 :: offset: 0x24c, out: 0x285e1d47
+lwxc1 :: offset: 0x250, out: 0x36194d42
+lwxc1 :: offset: 0x254, out: 0x32d850f5
+lwxc1 :: offset: 0x258, out: 0x3f9b762c
+lwxc1 :: offset: 0x25c, out: 0x3b5a6b9b
+lwxc1 :: offset: 0x260, out: 0x315d626
+lwxc1 :: offset: 0x264, out: 0x7d4cb91
+lwxc1 :: offset: 0x268, out: 0xa97ed48
+lwxc1 :: offset: 0x26c, out: 0xe56f0ff
+lwxc1 :: offset: 0x270, out: 0x1011a0fa
+lwxc1 :: offset: 0x274, out: 0x14d0bd4d
+lwxc1 :: offset: 0x278, out: 0x19939b94
+lwxc1 :: offset: 0x27c, out: 0x1d528623
+lwxc1 :: offset: 0x280, out: 0xf12f560e
+lwxc1 :: offset: 0x284, out: 0xf5ee4bb9
+lwxc1 :: offset: 0x288, out: 0xf8ad6d60
+lwxc1 :: offset: 0x28c, out: 0xfc6c70d7
+lwxc1 :: offset: 0x290, out: 0xe22b20d2
+lwxc1 :: offset: 0x294, out: 0xe6ea3d65
+lwxc1 :: offset: 0x298, out: 0xeba91bbc
+lwxc1 :: offset: 0x29c, out: 0xef68060b
+lwxc1 :: offset: 0x2a0, out: 0xd727bbb6
+lwxc1 :: offset: 0x2a4, out: 0xd3e6a601
+lwxc1 :: offset: 0x2a8, out: 0xdea580d8
+lwxc1 :: offset: 0x2ac, out: 0xda649d6f
+lwxc1 :: offset: 0x2b0, out: 0xc423cd6a
+lwxc1 :: offset: 0x2b4, out: 0x0
+lwxc1 :: offset: 0x2b8, out: 0xcda1f604
+lwxc1 :: offset: 0x2bc, out: 0x0
+lwxc1 :: offset: 0x2c0, out: 0xbd3e8d7e
+lwxc1 :: offset: 0x2c4, out: 0xb9ff90c9
+lwxc1 :: offset: 0x2c8, out: 0xb4bcb610
+lwxc1 :: offset: 0x2cc, out: 0xb07daba7
+lwxc1 :: offset: 0x2d0, out: 0xae3afba2
+lwxc1 :: offset: 0x2d4, out: 0xaafbe615
+lwxc1 :: offset: 0x2d8, out: 0xa7b8c0cc
+lwxc1 :: offset: 0x2dc, out: 0xa379dd7b
+lwxc1 :: offset: 0x2e0, out: 0x9b3660c6
+lwxc1 :: offset: 0x2e4, out: 0x9ff77d71
+lwxc1 :: offset: 0x2e8, out: 0x92b45ba8
+lwxc1 :: offset: 0x2ec, out: 0x9675461f
+lwxc1 :: offset: 0x2f0, out: 0x8832161a
+lwxc1 :: offset: 0x2f4, out: 0x8cf30bad
+lwxc1 :: offset: 0x2f8, out: 0x81b02d74
+lwxc1 :: offset: 0x2fc, out: 0x857130c3
+lwxc1 :: offset: 0x300, out: 0x5d8a9099
+lwxc1 :: offset: 0x304, out: 0x594b8d2e
+lwxc1 :: offset: 0x308, out: 0x5408abf7
+lwxc1 :: offset: 0x30c, out: 0x50c9b640
+lwxc1 :: offset: 0x310, out: 0x4e8ee645
+lwxc1 :: offset: 0x314, out: 0x4a4ffbf2
+lwxc1 :: offset: 0x318, out: 0x470cdd2b
+lwxc1 :: offset: 0x31c, out: 0x43cdc09c
+lwxc1 :: offset: 0x320, out: 0x7b827d21
+lwxc1 :: offset: 0x324, out: 0x7f436096
+lwxc1 :: offset: 0x328, out: 0x7200464f
+lwxc1 :: offset: 0x32c, out: 0x76c15bf8
+lwxc1 :: offset: 0x330, out: 0x68860bfd
+lwxc1 :: offset: 0x334, out: 0x6c47164a
+lwxc1 :: offset: 0x338, out: 0x61043093
+lwxc1 :: offset: 0x33c, out: 0x65c52d24
+lwxc1 :: offset: 0x340, out: 0x119b4be9
+lwxc1 :: offset: 0x344, out: 0x155a565e
+lwxc1 :: offset: 0x348, out: 0x18197087
+lwxc1 :: offset: 0x34c, out: 0x1cd86d30
+lwxc1 :: offset: 0x350, out: 0x29f3d35
+lwxc1 :: offset: 0x354, out: 0x65e2082
+lwxc1 :: offset: 0x358, out: 0xb1d065b
+lwxc1 :: offset: 0x35c, out: 0xfdc1bec
+lwxc1 :: offset: 0x360, out: 0x3793a651
+lwxc1 :: offset: 0x364, out: 0x3352bbe6
+lwxc1 :: offset: 0x368, out: 0x3e119d3f
+lwxc1 :: offset: 0x36c, out: 0x3ad08088
+lwxc1 :: offset: 0x370, out: 0x2497d08d
+lwxc1 :: offset: 0x374, out: 0x2056cd3a
+lwxc1 :: offset: 0x378, out: 0x2d15ebe3
+lwxc1 :: offset: 0x37c, out: 0x29d4f654
+lwxc1 :: offset: 0x380, out: 0xc5a92679
+lwxc1 :: offset: 0x384, out: 0xc1683bce
+lwxc1 :: offset: 0x388, out: 0xcc2b1d17
+lwxc1 :: offset: 0x38c, out: 0xc8ea00a0
+lwxc1 :: offset: 0x390, out: 0xd6ad50a5
+lwxc1 :: offset: 0x394, out: 0xd26c4d12
+lwxc1 :: offset: 0x398, out: 0xdf2f6bcb
+lwxc1 :: offset: 0x39c, out: 0xdbee767c
+lwxc1 :: offset: 0x3a0, out: 0xe3a1cbc1
+lwxc1 :: offset: 0x3a4, out: 0xe760d676
+lwxc1 :: offset: 0x3a8, out: 0xea23f0af
+lwxc1 :: offset: 0x3ac, out: 0xeee2ed18
+lwxc1 :: offset: 0x3b0, out: 0xf0a5bd1d
+lwxc1 :: offset: 0x3b4, out: 0xf464a0aa
+lwxc1 :: offset: 0x3b8, out: 0xf9278673
+lwxc1 :: offset: 0x3bc, out: 0xfde69bc4
+lwxc1 :: offset: 0x3c0, out: 0x89b8fd09
+lwxc1 :: offset: 0x3c4, out: 0x8d79e0be
+lwxc1 :: offset: 0x3c8, out: 0x803ac667
+lwxc1 :: offset: 0x3cc, out: 0x84fbdbd0
+lwxc1 :: offset: 0x3d0, out: 0x9abc8bd5
+lwxc1 :: offset: 0x3d4, out: 0x9e7d9662
+lwxc1 :: offset: 0x3d8, out: 0x933eb0bb
+lwxc1 :: offset: 0x3dc, out: 0x97ffad0c
+lwxc1 :: offset: 0x3e0, out: 0xafb010b1
+lwxc1 :: offset: 0x3e4, out: 0xab710d06
+lwxc1 :: offset: 0x3e8, out: 0xa6322bdf
+lwxc1 :: offset: 0x3ec, out: 0xa2f33668
+lwxc1 :: offset: 0x3f0, out: 0xbcb4666d
+lwxc1 :: offset: 0x3f4, out: 0xb8757bda
+lwxc1 :: offset: 0x3f8, out: 0xb5365d03
+lwxc1 :: offset: 0x3fc, out: 0xb1f740b4
+lwxc1 :: offset: 0x0, out: 0x12bd6aa
+lwxc1 :: offset: 0x4, out: 0x0
+lwxc1 :: offset: 0x8, out: 0x82d2ab13
+lwxc1 :: offset: 0xc, out: 0x7e8763
+lwxc1 :: offset: 0x10, out: 0xc31510f3
+lwxc1 :: offset: 0x14, out: 0x976d6e9a
+lwxc1 :: offset: 0x18, out: 0x5ad6a5fb
+lwxc1 :: offset: 0x1c, out: 0xb7746d77
+lwxc1 :: offset: 0x20, out: 0x8677b502
+lwxc1 :: offset: 0x24, out: 0x42b0c0a2
+lwxc1 :: offset: 0x28, out: 0x9e3c30ad
+lwxc1 :: offset: 0x2c, out: 0x2aa89d31
+lwxc1 :: offset: 0x30, out: 0x77fb413d
+lwxc1 :: offset: 0x34, out: 0x1f308ec3
+lwxc1 :: offset: 0x38, out: 0xc760e4f7
+lwxc1 :: offset: 0x3c, out: 0x7aa04213
+lwxc1 :: offset: 0x40, out: 0x1ad8dca0
+lwxc1 :: offset: 0x44, out: 0x9e705cc5
+lwxc1 :: offset: 0x48, out: 0x9615a60d
+lwxc1 :: offset: 0x4c, out: 0x4b3dda86
+lwxc1 :: offset: 0x50, out: 0x6353d41d
+lwxc1 :: offset: 0x54, out: 0x5e7a4dd
+lwxc1 :: offset: 0x58, out: 0xc40bd413
+lwxc1 :: offset: 0x5c, out: 0x3af35a9d
+lwxc1 :: offset: 0x60, out: 0x9a08a180
+lwxc1 :: offset: 0x64, out: 0x47f50556
+lwxc1 :: offset: 0x68, out: 0xd6d2040f
+lwxc1 :: offset: 0x6c, out: 0x9564b77f
+lwxc1 :: offset: 0x70, out: 0xb2c76bbe
+lwxc1 :: offset: 0x74, out: 0xcebc8279
+lwxc1 :: offset: 0x78, out: 0x1f18e4c7
+lwxc1 :: offset: 0x7c, out: 0xb5034c2f
+lwxc1 :: offset: 0x80, out: 0x81afa797
+lwxc1 :: offset: 0x84, out: 0x94ff52fc
+lwxc1 :: offset: 0x88, out: 0x6dfc50ea
+lwxc1 :: offset: 0x8c, out: 0x31d8d916
+lwxc1 :: offset: 0x90, out: 0x78e895b1
+lwxc1 :: offset: 0x94, out: 0x36549bd6
+lwxc1 :: offset: 0x98, out: 0x9b63259b
+lwxc1 :: offset: 0x9c, out: 0x85e0a631
+lwxc1 :: offset: 0xa0, out: 0xccf17ac5
+lwxc1 :: offset: 0xa4, out: 0x556b3eca
+lwxc1 :: offset: 0xa8, out: 0x81eea0fb
+lwxc1 :: offset: 0xac, out: 0xb42f5fc5
+lwxc1 :: offset: 0xb0, out: 0x14682d97
+lwxc1 :: offset: 0xb4, out: 0x25b50fec
+lwxc1 :: offset: 0xb8, out: 0x2cfb087a
+lwxc1 :: offset: 0xbc, out: 0xfc93c513
+lwxc1 :: offset: 0xc0, out: 0xcda20766
+lwxc1 :: offset: 0xc4, out: 0x3c2cd9a9
+lwxc1 :: offset: 0xc8, out: 0x7d72da3e
+lwxc1 :: offset: 0xcc, out: 0x1791722a
+lwxc1 :: offset: 0xd0, out: 0x93ce24ad
+lwxc1 :: offset: 0xd4, out: 0x87cc9d1
+lwxc1 :: offset: 0xd8, out: 0x38984ed2
+lwxc1 :: offset: 0xdc, out: 0x1d2a7570
+lwxc1 :: offset: 0xe0, out: 0x710cd036
+lwxc1 :: offset: 0xe4, out: 0xd0d070db
+lwxc1 :: offset: 0xe8, out: 0x3415604
+lwxc1 :: offset: 0xec, out: 0x39c21c7d
+lwxc1 :: offset: 0xf0, out: 0x8ecc31ce
+lwxc1 :: offset: 0xf4, out: 0x8e94b7af
+lwxc1 :: offset: 0xf8, out: 0x1ce7674f
+lwxc1 :: offset: 0xfc, out: 0x24eb6a8d
+lwxc1 :: offset: 0x100, out: 0x12d6e4a7
+lwxc1 :: offset: 0x104, out: 0x2f394544
+lwxc1 :: offset: 0x108, out: 0x56da4c54
+lwxc1 :: offset: 0x10c, out: 0x2608c2b7
+lwxc1 :: offset: 0x110, out: 0xc8d7252f
+lwxc1 :: offset: 0x114, out: 0x900102da
+lwxc1 :: offset: 0x118, out: 0xf2efa4f7
+lwxc1 :: offset: 0x11c, out: 0xc890d5f1
+lwxc1 :: offset: 0x120, out: 0xc8b0a214
+lwxc1 :: offset: 0x124, out: 0xed5005cb
+lwxc1 :: offset: 0x128, out: 0x5991136c
+lwxc1 :: offset: 0x12c, out: 0x31479189
+lwxc1 :: offset: 0x130, out: 0x9a2fb6f3
+lwxc1 :: offset: 0x134, out: 0xc6eecff9
+lwxc1 :: offset: 0x138, out: 0x38895270
+lwxc1 :: offset: 0x13c, out: 0xa8095212
+lwxc1 :: offset: 0x140, out: 0xad765040
+lwxc1 :: offset: 0x144, out: 0x87750a04
+lwxc1 :: offset: 0x148, out: 0x84bb5a83
+lwxc1 :: offset: 0x14c, out: 0x2c3de85e
+lwxc1 :: offset: 0x150, out: 0xc506aa67
+lwxc1 :: offset: 0x154, out: 0xae6aff8f
+lwxc1 :: offset: 0x158, out: 0x60ed5ee3
+lwxc1 :: offset: 0x15c, out: 0xc07112dd
+lwxc1 :: offset: 0x160, out: 0x30dcca5a
+lwxc1 :: offset: 0x164, out: 0xc4c770f6
+lwxc1 :: offset: 0x168, out: 0x83cd5277
+lwxc1 :: offset: 0x16c, out: 0xdfec2b23
+lwxc1 :: offset: 0x170, out: 0xff7d96b
+lwxc1 :: offset: 0x174, out: 0xd3adba26
+lwxc1 :: offset: 0x178, out: 0x8418c00e
+lwxc1 :: offset: 0x17c, out: 0x4ab4aa79
+lwxc1 :: offset: 0x180, out: 0xde0f0b8
+lwxc1 :: offset: 0x184, out: 0xbb8c035e
+lwxc1 :: offset: 0x188, out: 0xa97fdcf1
+lwxc1 :: offset: 0x18c, out: 0x33b06f54
+lwxc1 :: offset: 0x190, out: 0x3fd1c081
+lwxc1 :: offset: 0x194, out: 0x77433f37
+lwxc1 :: offset: 0x198, out: 0xc92195e4
+lwxc1 :: offset: 0x19c, out: 0xec91d993
+lwxc1 :: offset: 0x1a0, out: 0x95b1a5ab
+lwxc1 :: offset: 0x1a4, out: 0x49fbf6a7
+lwxc1 :: offset: 0x1a8, out: 0xc7ce8d1e
+lwxc1 :: offset: 0x1ac, out: 0x19364378
+lwxc1 :: offset: 0x1b0, out: 0x2f384907
+lwxc1 :: offset: 0x1b4, out: 0xb99e8def
+lwxc1 :: offset: 0x1b8, out: 0x582b12fe
+lwxc1 :: offset: 0x1bc, out: 0x47eacdcd
+lwxc1 :: offset: 0x1c0, out: 0x76558c4f
+lwxc1 :: offset: 0x1c4, out: 0xd685884e
+lwxc1 :: offset: 0x1c8, out: 0x34c195c7
+lwxc1 :: offset: 0x1cc, out: 0x6168d62a
+lwxc1 :: offset: 0x1d0, out: 0x4df47405
+lwxc1 :: offset: 0x1d4, out: 0xd3016989
+lwxc1 :: offset: 0x1d8, out: 0x6cbb06db
+lwxc1 :: offset: 0x1dc, out: 0x1ca190bf
+lwxc1 :: offset: 0x1e0, out: 0x9cae393a
+lwxc1 :: offset: 0x1e4, out: 0x58300f02
+lwxc1 :: offset: 0x1e8, out: 0xdc7ebc2d
+lwxc1 :: offset: 0x1ec, out: 0x9a995fdb
+lwxc1 :: offset: 0x1f0, out: 0xe3405b48
+lwxc1 :: offset: 0x1f4, out: 0x8a96047b
+lwxc1 :: offset: 0x1f8, out: 0xd519d322
+lwxc1 :: offset: 0x1fc, out: 0x75bfafd2
+lwxc1 :: offset: 0x200, out: 0xa630f6ad
+lwxc1 :: offset: 0x204, out: 0xde230867
+lwxc1 :: offset: 0x208, out: 0x56103260
+lwxc1 :: offset: 0x20c, out: 0x2c0a0cf2
+lwxc1 :: offset: 0x210, out: 0x249b18ef
+lwxc1 :: offset: 0x214, out: 0x94a90544
+lwxc1 :: offset: 0x218, out: 0x5b56fcde
+lwxc1 :: offset: 0x21c, out: 0xf9519fb5
+lwxc1 :: offset: 0x220, out: 0x468319b
+lwxc1 :: offset: 0x224, out: 0x81daf820
+lwxc1 :: offset: 0x228, out: 0x5725f2ec
+lwxc1 :: offset: 0x22c, out: 0x8c61ca5a
+lwxc1 :: offset: 0x230, out: 0xc25dc8bf
+lwxc1 :: offset: 0x234, out: 0x8b95a6dd
+lwxc1 :: offset: 0x238, out: 0xdac6162f
+lwxc1 :: offset: 0x23c, out: 0x300ce751
+lwxc1 :: offset: 0x240, out: 0xba52a850
+lwxc1 :: offset: 0x244, out: 0x6778fdf3
+lwxc1 :: offset: 0x248, out: 0xda78479f
+lwxc1 :: offset: 0x24c, out: 0xad00b1f7
+lwxc1 :: offset: 0x250, out: 0xa6b6d98a
+lwxc1 :: offset: 0x254, out: 0x8d44168
+lwxc1 :: offset: 0x258, out: 0xce634413
+lwxc1 :: offset: 0x25c, out: 0xf518381d
+lwxc1 :: offset: 0x260, out: 0xe5255fc0
+lwxc1 :: offset: 0x264, out: 0xe4627f3f
+lwxc1 :: offset: 0x268, out: 0x76321f28
+lwxc1 :: offset: 0x26c, out: 0xccd392e1
+lwxc1 :: offset: 0x270, out: 0x4018fd8f
+lwxc1 :: offset: 0x274, out: 0x82946494
+lwxc1 :: offset: 0x278, out: 0x52e8f0e5
+lwxc1 :: offset: 0x27c, out: 0x15d32040
+lwxc1 :: offset: 0x280, out: 0x880ff344
+lwxc1 :: offset: 0x284, out: 0x7caf83d2
+lwxc1 :: offset: 0x288, out: 0x747defd7
+lwxc1 :: offset: 0x28c, out: 0xf156a04c
+lwxc1 :: offset: 0x290, out: 0xf31d710
+lwxc1 :: offset: 0x294, out: 0x93e2601c
+lwxc1 :: offset: 0x298, out: 0x131cd933
+lwxc1 :: offset: 0x29c, out: 0xe1e1a679
+lwxc1 :: offset: 0x2a0, out: 0xa76fa427
+lwxc1 :: offset: 0x2a4, out: 0x24296b75
+lwxc1 :: offset: 0x2a8, out: 0x139ee56a
+lwxc1 :: offset: 0x2ac, out: 0xd296e2d2
+lwxc1 :: offset: 0x2b0, out: 0x6dc2a5c0
+lwxc1 :: offset: 0x2b4, out: 0x5a82447f
+lwxc1 :: offset: 0x2b8, out: 0xc07dc168
+lwxc1 :: offset: 0x2bc, out: 0x76c89e80
+lwxc1 :: offset: 0x2c0, out: 0x4bfe348f
+lwxc1 :: offset: 0x2c4, out: 0x70dc345
+lwxc1 :: offset: 0x2c8, out: 0xdd6d241b
+lwxc1 :: offset: 0x2cc, out: 0xbddc7123
+lwxc1 :: offset: 0x2d0, out: 0xa59fcebe
+lwxc1 :: offset: 0x2d4, out: 0xf62fb727
+lwxc1 :: offset: 0x2d8, out: 0xf9f46fb
+lwxc1 :: offset: 0x2dc, out: 0x109f27e9
+lwxc1 :: offset: 0x2e0, out: 0xafd199d7
+lwxc1 :: offset: 0x2e4, out: 0x3f63daa9
+lwxc1 :: offset: 0x2e8, out: 0xa3d484f2
+lwxc1 :: offset: 0x2ec, out: 0xdbcb312e
+lwxc1 :: offset: 0x2f0, out: 0xda4fe4c6
+lwxc1 :: offset: 0x2f4, out: 0x1f353faa
+lwxc1 :: offset: 0x2f8, out: 0x7150c260
+lwxc1 :: offset: 0x2fc, out: 0x8b086ee0
+lwxc1 :: offset: 0x300, out: 0xd9257f25
+lwxc1 :: offset: 0x304, out: 0xe54750d5
+lwxc1 :: offset: 0x308, out: 0xe9a6db5b
+lwxc1 :: offset: 0x30c, out: 0x3d69625f
+lwxc1 :: offset: 0x310, out: 0x4340ac96
+lwxc1 :: offset: 0x314, out: 0x70a3e042
+lwxc1 :: offset: 0x318, out: 0x6980171e
+lwxc1 :: offset: 0x31c, out: 0xc0478f03
+lwxc1 :: offset: 0x320, out: 0x1cf929e3
+lwxc1 :: offset: 0x324, out: 0x3ce839a5
+lwxc1 :: offset: 0x328, out: 0x5eb68958
+lwxc1 :: offset: 0x32c, out: 0xe2fbfa89
+lwxc1 :: offset: 0x330, out: 0x76ed25b7
+lwxc1 :: offset: 0x334, out: 0xd24bb05d
+lwxc1 :: offset: 0x338, out: 0x170312f1
+lwxc1 :: offset: 0x33c, out: 0xeb9682c
+lwxc1 :: offset: 0x340, out: 0xdd301d0d
+lwxc1 :: offset: 0x344, out: 0x84785280
+lwxc1 :: offset: 0x348, out: 0x1f8fd6ef
+lwxc1 :: offset: 0x34c, out: 0x179c77aa
+lwxc1 :: offset: 0x350, out: 0x2998436d
+lwxc1 :: offset: 0x354, out: 0x26444ced
+lwxc1 :: offset: 0x358, out: 0xd58ca708
+lwxc1 :: offset: 0x35c, out: 0x7175c9d
+lwxc1 :: offset: 0x360, out: 0x55833287
+lwxc1 :: offset: 0x364, out: 0x663d0610
+lwxc1 :: offset: 0x368, out: 0x8951d68b
+lwxc1 :: offset: 0x36c, out: 0xab7dd048
+lwxc1 :: offset: 0x370, out: 0xe82471b
+lwxc1 :: offset: 0x374, out: 0xf6982367
+lwxc1 :: offset: 0x378, out: 0xd98d26b2
+lwxc1 :: offset: 0x37c, out: 0x36886c59
+lwxc1 :: offset: 0x380, out: 0xd32be479
+lwxc1 :: offset: 0x384, out: 0x9ca4bdb
+lwxc1 :: offset: 0x388, out: 0x9962e61f
+lwxc1 :: offset: 0x38c, out: 0xfd5d7d1d
+lwxc1 :: offset: 0x390, out: 0xcad374df
+lwxc1 :: offset: 0x394, out: 0x3f46553e
+lwxc1 :: offset: 0x398, out: 0x3eedf2a7
+lwxc1 :: offset: 0x39c, out: 0x2e9ab97d
+lwxc1 :: offset: 0x3a0, out: 0x3c0c9f33
+lwxc1 :: offset: 0x3a4, out: 0x36a6f7fa
+lwxc1 :: offset: 0x3a8, out: 0x155ec9dc
+lwxc1 :: offset: 0x3ac, out: 0x8bb938e3
+lwxc1 :: offset: 0x3b0, out: 0x19478206
+lwxc1 :: offset: 0x3b4, out: 0xd2df25c4
+lwxc1 :: offset: 0x3b8, out: 0xeb321825
+lwxc1 :: offset: 0x3bc, out: 0xbc65bf27
+lwxc1 :: offset: 0x3c0, out: 0x7a8bc7da
+lwxc1 :: offset: 0x3c4, out: 0xa8b08fe6
+lwxc1 :: offset: 0x3c8, out: 0xf8dfcde8
+lwxc1 :: offset: 0x3cc, out: 0x852b5bca
+lwxc1 :: offset: 0x3d0, out: 0x59a99269
+lwxc1 :: offset: 0x3d4, out: 0x478909b
+lwxc1 :: offset: 0x3d8, out: 0x7857360f
+lwxc1 :: offset: 0x3dc, out: 0xbfb31cc8
+lwxc1 :: offset: 0x3e0, out: 0x7f89e9a2
+lwxc1 :: offset: 0x3e4, out: 0xb665ed5e
+lwxc1 :: offset: 0x3e8, out: 0xb7a8d5e4
+lwxc1 :: offset: 0x3ec, out: 0x15da9474
+lwxc1 :: offset: 0x3f0, out: 0x2af90fcc
+lwxc1 :: offset: 0x3f4, out: 0xf6b3537d
+lwxc1 :: offset: 0x3f8, out: 0x2b961897
+lwxc1 :: offset: 0x3fc, out: 0x223d7cfe
+lwxc1 :: offset: 0x400, out: 0x33734a4b
+lwxc1 :: offset: 0x404, out: 0x420b34f5
+lwxc1 :: offset: 0x408, out: 0xdd46b33c
+lwxc1 :: offset: 0x40c, out: 0x897c8c8d
+lwxc1 :: offset: 0x410, out: 0xe392ccd9
+lwxc1 :: offset: 0x414, out: 0x7a387445
+lwxc1 :: offset: 0x418, out: 0xd80000c9
+lwxc1 :: offset: 0x41c, out: 0x512f29b1
+lwxc1 :: offset: 0x420, out: 0x3dad020a
+lwxc1 :: offset: 0x424, out: 0xeaded5c5
+lwxc1 :: offset: 0x428, out: 0x31eea35b
+lwxc1 :: offset: 0x42c, out: 0x8a6229d7
+lwxc1 :: offset: 0x430, out: 0x48985649
+lwxc1 :: offset: 0x434, out: 0x2c3c3f9e
+lwxc1 :: offset: 0x438, out: 0xdc9c0b77
+lwxc1 :: offset: 0x43c, out: 0x7ff61e78
+lwxc1 :: offset: 0x440, out: 0x1d5e68ec
+lwxc1 :: offset: 0x444, out: 0x2299b0e0
+lwxc1 :: offset: 0x448, out: 0x3d0c6e25
+lwxc1 :: offset: 0x44c, out: 0x7c3b0467
+lwxc1 :: offset: 0x450, out: 0xe7fb6587
+lwxc1 :: offset: 0x454, out: 0x164e17c1
+lwxc1 :: offset: 0x458, out: 0x56d4950b
+lwxc1 :: offset: 0x45c, out: 0xfa4ca28b
+lwxc1 :: offset: 0x460, out: 0xbe7fa08a
+lwxc1 :: offset: 0x464, out: 0xe5e9a314
+lwxc1 :: offset: 0x468, out: 0x159649c5
+lwxc1 :: offset: 0x46c, out: 0xf8be8164
+lwxc1 :: offset: 0x470, out: 0x84e69b17
+lwxc1 :: offset: 0x474, out: 0x7ca32597
+lwxc1 :: offset: 0x478, out: 0xa1f24f5c
+lwxc1 :: offset: 0x47c, out: 0xfc8d543c
+lwxc1 :: offset: 0x480, out: 0xe3459e36
+lwxc1 :: offset: 0x484, out: 0x4aeb6ca0
+lwxc1 :: offset: 0x488, out: 0x187980fa
+lwxc1 :: offset: 0x48c, out: 0xc532e18e
+lwxc1 :: offset: 0x490, out: 0x4f287d1c
+lwxc1 :: offset: 0x494, out: 0xb3fdec29
+lwxc1 :: offset: 0x498, out: 0x49732b90
+lwxc1 :: offset: 0x49c, out: 0xb620660a
+lwxc1 :: offset: 0x4a0, out: 0x6cfde991
+lwxc1 :: offset: 0x4a4, out: 0x993138f1
+lwxc1 :: offset: 0x4a8, out: 0x7d5407b9
+lwxc1 :: offset: 0x4ac, out: 0xde02d133
+lwxc1 :: offset: 0x4b0, out: 0xe1dab15a
+lwxc1 :: offset: 0x4b4, out: 0x13a390e1
+lwxc1 :: offset: 0x4b8, out: 0x828716c8
+lwxc1 :: offset: 0x4bc, out: 0x743491a6
+lwxc1 :: offset: 0x4c0, out: 0xede292f2
+lwxc1 :: offset: 0x4c4, out: 0x8cff404a
+lwxc1 :: offset: 0x4c8, out: 0x1f837636
+lwxc1 :: offset: 0x4cc, out: 0xb9cec0db
+lwxc1 :: offset: 0x4d0, out: 0x509771c
+lwxc1 :: offset: 0x4d4, out: 0x2eaa5aa7
+lwxc1 :: offset: 0x4d8, out: 0x1875241b
+lwxc1 :: offset: 0x4dc, out: 0xd327538e
+lwxc1 :: offset: 0x4e0, out: 0x8b739b6b
+lwxc1 :: offset: 0x4e4, out: 0x42e9f854
+lwxc1 :: offset: 0x4e8, out: 0xeccbba1a
+lwxc1 :: offset: 0x4ec, out: 0x78e4e50c
+lwxc1 :: offset: 0x4f0, out: 0xcd9d27cb
+lwxc1 :: offset: 0x4f4, out: 0xf6b6fa3f
+lwxc1 :: offset: 0x4f8, out: 0xae3e9423
+lwxc1 :: offset: 0x4fc, out: 0x73916483
+lwxc1 :: offset: 0x500, out: 0xe128561
+lwxc1 :: offset: 0x504, out: 0x276af70a
+lwxc1 :: offset: 0x508, out: 0xb5e74b6e
+lwxc1 :: offset: 0x50c, out: 0x3045bf6
+lwxc1 :: offset: 0x510, out: 0x8accfa6
+lwxc1 :: offset: 0x514, out: 0x20223f13
+lwxc1 :: offset: 0x518, out: 0x3976b5f5
+lwxc1 :: offset: 0x51c, out: 0xf83c5574
+lwxc1 :: offset: 0x520, out: 0x46923c3d
+lwxc1 :: offset: 0x524, out: 0x1f9720f9
+lwxc1 :: offset: 0x528, out: 0x6d2448dd
+lwxc1 :: offset: 0x52c, out: 0x620d2850
+lwxc1 :: offset: 0x530, out: 0x9ff4a732
+lwxc1 :: offset: 0x534, out: 0x60a521e9
+lwxc1 :: offset: 0x538, out: 0x5c680f0b
+lwxc1 :: offset: 0x53c, out: 0x5a08f3ab
+lwxc1 :: offset: 0x540, out: 0x800f3d26
+lwxc1 :: offset: 0x544, out: 0xc7a59be7
+lwxc1 :: offset: 0x548, out: 0x82ca1b41
+lwxc1 :: offset: 0x54c, out: 0x1aecdf29
+lwxc1 :: offset: 0x550, out: 0x60d19dcd
+lwxc1 :: offset: 0x554, out: 0x2b8613a2
+lwxc1 :: offset: 0x558, out: 0xe8bbe7f
+lwxc1 :: offset: 0x55c, out: 0x2518ac8b
+lwxc1 :: offset: 0x560, out: 0x2fcf486b
+lwxc1 :: offset: 0x564, out: 0x743e568d
+lwxc1 :: offset: 0x568, out: 0x34c31728
+lwxc1 :: offset: 0x56c, out: 0x126f646f
+lwxc1 :: offset: 0x570, out: 0x56fc4d12
+lwxc1 :: offset: 0x574, out: 0xaab01961
+lwxc1 :: offset: 0x578, out: 0x8595d342
+lwxc1 :: offset: 0x57c, out: 0x7535cd33
+lwxc1 :: offset: 0x580, out: 0x422346ec
+lwxc1 :: offset: 0x584, out: 0xdfb254da
+lwxc1 :: offset: 0x588, out: 0x81ab2a
+lwxc1 :: offset: 0x58c, out: 0xa86726c9
+lwxc1 :: offset: 0x590, out: 0x679d7438
+lwxc1 :: offset: 0x594, out: 0x9bfeffa1
+lwxc1 :: offset: 0x598, out: 0xb7dee244
+lwxc1 :: offset: 0x59c, out: 0xc7699826
+lwxc1 :: offset: 0x5a0, out: 0xfba6704a
+lwxc1 :: offset: 0x5a4, out: 0x3c07af97
+lwxc1 :: offset: 0x5a8, out: 0x4c58bfe
+lwxc1 :: offset: 0x5ac, out: 0x521364dc
+lwxc1 :: offset: 0x5b0, out: 0x9ab7aebc
+lwxc1 :: offset: 0x5b4, out: 0xe0f7bb58
+lwxc1 :: offset: 0x5b8, out: 0xdeeb954d
+lwxc1 :: offset: 0x5bc, out: 0xe336c60c
+lwxc1 :: offset: 0x5c0, out: 0x6f52416e
+lwxc1 :: offset: 0x5c4, out: 0xd5b2120c
+lwxc1 :: offset: 0x5c8, out: 0x7e628a34
+lwxc1 :: offset: 0x5cc, out: 0x85a2d4ff
+lwxc1 :: offset: 0x5d0, out: 0x4a4e7e07
+lwxc1 :: offset: 0x5d4, out: 0x986a2b65
+lwxc1 :: offset: 0x5d8, out: 0x3a489b55
+lwxc1 :: offset: 0x5dc, out: 0xa974eac4
+lwxc1 :: offset: 0x5e0, out: 0x72f1f8f5
+lwxc1 :: offset: 0x5e4, out: 0xa388c162
+lwxc1 :: offset: 0x5e8, out: 0xe7495ea9
+lwxc1 :: offset: 0x5ec, out: 0xe8c11f45
+lwxc1 :: offset: 0x5f0, out: 0x5cc1c8b4
+lwxc1 :: offset: 0x5f4, out: 0xadaa5a76
+lwxc1 :: offset: 0x5f8, out: 0xdfa605c0
+lwxc1 :: offset: 0x5fc, out: 0x7ab4ce88
+lwxc1 :: offset: 0x600, out: 0x59a7b04f
+lwxc1 :: offset: 0x604, out: 0xb42ad6e6
+lwxc1 :: offset: 0x608, out: 0xb728922f
+lwxc1 :: offset: 0x60c, out: 0x4bf8485a
+lwxc1 :: offset: 0x610, out: 0x3b66a7fb
+lwxc1 :: offset: 0x614, out: 0x76a3d60c
+lwxc1 :: offset: 0x618, out: 0xfdc28eda
+lwxc1 :: offset: 0x61c, out: 0x31e0c6af
+lwxc1 :: offset: 0x620, out: 0xbf0c999d
+lwxc1 :: offset: 0x624, out: 0x53606bb4
+lwxc1 :: offset: 0x628, out: 0x1b7919f0
+lwxc1 :: offset: 0x62c, out: 0x32fc12c8
+lwxc1 :: offset: 0x630, out: 0xc72efcd6
+lwxc1 :: offset: 0x634, out: 0x3ef88384
+lwxc1 :: offset: 0x638, out: 0x6a2a3580
+lwxc1 :: offset: 0x63c, out: 0x38b1c7bb
+lwxc1 :: offset: 0x640, out: 0x1dca77c9
+lwxc1 :: offset: 0x644, out: 0x15ebf612
+lwxc1 :: offset: 0x648, out: 0xfd9147ae
+lwxc1 :: offset: 0x64c, out: 0x5eaacdd9
+lwxc1 :: offset: 0x650, out: 0x81e91117
+lwxc1 :: offset: 0x654, out: 0xbb8470f9
+lwxc1 :: offset: 0x658, out: 0xc6a532e0
+lwxc1 :: offset: 0x65c, out: 0x5d42aea
+lwxc1 :: offset: 0x660, out: 0x19fb9e63
+lwxc1 :: offset: 0x664, out: 0x14abf364
+lwxc1 :: offset: 0x668, out: 0xa8d72aac
+lwxc1 :: offset: 0x66c, out: 0x249d559a
+lwxc1 :: offset: 0x670, out: 0x84b30ec
+lwxc1 :: offset: 0x674, out: 0xcd6764f
+lwxc1 :: offset: 0x678, out: 0x92468fdf
+lwxc1 :: offset: 0x67c, out: 0x7f03ac07
+lwxc1 :: offset: 0x680, out: 0x56e670f5
+lwxc1 :: offset: 0x684, out: 0x7e35ce6d
+lwxc1 :: offset: 0x688, out: 0x1a652711
+lwxc1 :: offset: 0x68c, out: 0x15282859
+lwxc1 :: offset: 0x690, out: 0xd215a9fb
+lwxc1 :: offset: 0x694, out: 0x9e1c3283
+lwxc1 :: offset: 0x698, out: 0x282a0417
+lwxc1 :: offset: 0x69c, out: 0x8d95c049
+lwxc1 :: offset: 0x6a0, out: 0x978058f3
+lwxc1 :: offset: 0x6a4, out: 0xf2e7a490
+lwxc1 :: offset: 0x6a8, out: 0x975b1aa
+lwxc1 :: offset: 0x6ac, out: 0x775b4cca
+lwxc1 :: offset: 0x6b0, out: 0x35111020
+lwxc1 :: offset: 0x6b4, out: 0xa2b84a6
+lwxc1 :: offset: 0x6b8, out: 0xa7d88b6f
+lwxc1 :: offset: 0x6bc, out: 0x23fa0d3
+lwxc1 :: offset: 0x6c0, out: 0x9941dedd
+lwxc1 :: offset: 0x6c4, out: 0xa3d991b7
+lwxc1 :: offset: 0x6c8, out: 0x5a0d9508
+lwxc1 :: offset: 0x6cc, out: 0x751cb483
+lwxc1 :: offset: 0x6d0, out: 0x625bb2d3
+lwxc1 :: offset: 0x6d4, out: 0x949cad35
+lwxc1 :: offset: 0x6d8, out: 0xa6929739
+lwxc1 :: offset: 0x6dc, out: 0x7f567f35
+lwxc1 :: offset: 0x6e0, out: 0xdb8d7d27
+lwxc1 :: offset: 0x6e4, out: 0x185b88e0
+lwxc1 :: offset: 0x6e8, out: 0x2fd61b91
+lwxc1 :: offset: 0x6ec, out: 0x255a4cd2
+lwxc1 :: offset: 0x6f0, out: 0xa4363f7b
+lwxc1 :: offset: 0x6f4, out: 0x1048d589
+lwxc1 :: offset: 0x6f8, out: 0xf4605790
+lwxc1 :: offset: 0x6fc, out: 0x6a6d5708
+lwxc1 :: offset: 0x700, out: 0xde35697f
+lwxc1 :: offset: 0x704, out: 0xd58ecbab
+lwxc1 :: offset: 0x708, out: 0x8c0a5f1
+lwxc1 :: offset: 0x70c, out: 0x575548fd
+lwxc1 :: offset: 0x710, out: 0x8ed98ddb
+lwxc1 :: offset: 0x714, out: 0x8bb640fb
+lwxc1 :: offset: 0x718, out: 0xabc578cc
+lwxc1 :: offset: 0x71c, out: 0xbe00d51e
+lwxc1 :: offset: 0x720, out: 0x1c170ab2
+lwxc1 :: offset: 0x724, out: 0x2f7e224a
+lwxc1 :: offset: 0x728, out: 0xa22256a7
+lwxc1 :: offset: 0x72c, out: 0xa978f12c
+lwxc1 :: offset: 0x730, out: 0x811ee02f
+lwxc1 :: offset: 0x734, out: 0x9950a93b
+lwxc1 :: offset: 0x738, out: 0xc6796a0c
+lwxc1 :: offset: 0x73c, out: 0xb44eea93
+lwxc1 :: offset: 0x740, out: 0x6c0eb657
+lwxc1 :: offset: 0x744, out: 0xfe71fca0
+lwxc1 :: offset: 0x748, out: 0xf818af57
+lwxc1 :: offset: 0x74c, out: 0x4ed6393d
+lwxc1 :: offset: 0x750, out: 0x236770a
+lwxc1 :: offset: 0x754, out: 0xf22e9020
+lwxc1 :: offset: 0x758, out: 0xafd0c45d
+lwxc1 :: offset: 0x75c, out: 0x81efb6c7
+lwxc1 :: offset: 0x760, out: 0x8102315b
+lwxc1 :: offset: 0x764, out: 0xeed8f351
+lwxc1 :: offset: 0x768, out: 0x995efd5e
+lwxc1 :: offset: 0x76c, out: 0xadafefb9
+lwxc1 :: offset: 0x770, out: 0xeb253086
+lwxc1 :: offset: 0x774, out: 0x34061933
+lwxc1 :: offset: 0x778, out: 0x4b4c52bc
+lwxc1 :: offset: 0x77c, out: 0x1748da26
+lwxc1 :: offset: 0x780, out: 0x9302be89
+lwxc1 :: offset: 0x784, out: 0x34fdfc9a
+lwxc1 :: offset: 0x788, out: 0xc521d180
+lwxc1 :: offset: 0x78c, out: 0xd00278c3
+lwxc1 :: offset: 0x790, out: 0xc1d37a5d
+lwxc1 :: offset: 0x794, out: 0xe90944a4
+lwxc1 :: offset: 0x798, out: 0xddef9839
+lwxc1 :: offset: 0x79c, out: 0x65fd698f
+lwxc1 :: offset: 0x7a0, out: 0x81b5af52
+lwxc1 :: offset: 0x7a4, out: 0xc49ee3ad
+lwxc1 :: offset: 0x7a8, out: 0xbdb263e9
+lwxc1 :: offset: 0x7ac, out: 0x7aa941e8
+lwxc1 :: offset: 0x7b0, out: 0x42f3b58d
+lwxc1 :: offset: 0x7b4, out: 0x372c209e
+lwxc1 :: offset: 0x7b8, out: 0xe122a83b
+lwxc1 :: offset: 0x7bc, out: 0x30f870b7
+lwxc1 :: offset: 0x7c0, out: 0x678930ec
+lwxc1 :: offset: 0x7c4, out: 0x9e02de4b
+lwxc1 :: offset: 0x7c8, out: 0x9826631e
+lwxc1 :: offset: 0x7cc, out: 0xcd61a863
+lwxc1 :: offset: 0x7d0, out: 0x9a7bd3ca
+lwxc1 :: offset: 0x7d4, out: 0xae87bc89
+lwxc1 :: offset: 0x7d8, out: 0x6481af17
+lwxc1 :: offset: 0x7dc, out: 0x58ec644d
+lwxc1 :: offset: 0x7e0, out: 0xb236b666
+lwxc1 :: offset: 0x7e4, out: 0x680cce5f
+lwxc1 :: offset: 0x7e8, out: 0x1f6d4d75
+lwxc1 :: offset: 0x7ec, out: 0x3baa9947
+lwxc1 :: offset: 0x7f0, out: 0x5f12236b
+lwxc1 :: offset: 0x7f4, out: 0x614d9b44
+lwxc1 :: offset: 0x7f8, out: 0x1ba84121
+lwxc1 :: offset: 0x7fc, out: 0xa2a6ec66
+--- SDC1 ---
+sdc1 :: offset: 0x0, out: 0x0
+sdc1 :: offset: 0x8, out: 0xd4326d909823b6e
+sdc1 :: offset: 0x10, out: 0x17c56b6b130476dc
+sdc1 :: offset: 0x18, out: 0x1e4750051a864db2
+sdc1 :: offset: 0x20, out: 0x22c9f00f2608edb8
+sdc1 :: offset: 0x28, out: 0x2b4bcb612f8ad6d6
+sdc1 :: offset: 0x30, out: 0x31cd86d3350c9b64
+sdc1 :: offset: 0x38, out: 0x384fbdbd3c8ea00a
+sdc1 :: offset: 0x40, out: 0x48d0c6c74c11db70
+sdc1 :: offset: 0x48, out: 0x4152fda94593e01e
+sdc1 :: offset: 0x50, out: 0x5bd4b01b5f15adac
+sdc1 :: offset: 0x58, out: 0x52568b75569796c2
+sdc1 :: offset: 0x60, out: 0x6ed82b7f6a1936c8
+sdc1 :: offset: 0x68, out: 0x675a1011639b0da6
+sdc1 :: offset: 0x70, out: 0x7ddc5da3791d4014
+sdc1 :: offset: 0x78, out: 0x745e66cd709f7b7a
+sdc1 :: offset: 0x80, out: 0x9ce2ab579823b6e0
+sdc1 :: offset: 0x88, out: 0x9560903991a18d8e
+sdc1 :: offset: 0x90, out: 0x8fe6dd8b8b27c03c
+sdc1 :: offset: 0x98, out: 0x8664e6e582a5fb52
+sdc1 :: offset: 0xa0, out: 0xbaea46efbe2b5b58
+sdc1 :: offset: 0xa8, out: 0xb3687d81b7a96036
+sdc1 :: offset: 0xb0, out: 0xa9ee3033ad2f2d84
+sdc1 :: offset: 0xb8, out: 0xa06c0b5da4ad16ea
+sdc1 :: offset: 0xc0, out: 0xd0f37027d4326d90
+sdc1 :: offset: 0xc8, out: 0xd9714b49ddb056fe
+sdc1 :: offset: 0xd0, out: 0xc3f706fbc7361b4c
+sdc1 :: offset: 0xd8, out: 0xca753d95ceb42022
+sdc1 :: offset: 0xe0, out: 0xf6fb9d9ff23a8028
+sdc1 :: offset: 0xe8, out: 0xff79a6f1fbb8bb46
+sdc1 :: offset: 0xf0, out: 0xe5ffeb43e13ef6f4
+sdc1 :: offset: 0xf8, out: 0xec7dd02de8bccd9a
+sdc1 :: offset: 0x100, out: 0x30476dc034867077
+sdc1 :: offset: 0x108, out: 0x39c556ae3d044b19
+sdc1 :: offset: 0x110, out: 0x23431b1c278206ab
+sdc1 :: offset: 0x118, out: 0x2ac120722e003dc5
+sdc1 :: offset: 0x120, out: 0x164f8078128e9dcf
+sdc1 :: offset: 0x128, out: 0x1fcdbb161b0ca6a1
+sdc1 :: offset: 0x130, out: 0x54bf6a4018aeb13
+sdc1 :: offset: 0x138, out: 0xcc9cdca0808d07d
+sdc1 :: offset: 0x140, out: 0x7c56b6b07897ab07
+sdc1 :: offset: 0x148, out: 0x75d48dde71159069
+sdc1 :: offset: 0x150, out: 0x6f52c06c6b93dddb
+sdc1 :: offset: 0x158, out: 0x66d0fb026211e6b5
+sdc1 :: offset: 0x160, out: 0x5a5e5b085e9f46bf
+sdc1 :: offset: 0x168, out: 0x53dc6066571d7dd1
+sdc1 :: offset: 0x170, out: 0x495a2dd44d9b3063
+sdc1 :: offset: 0x178, out: 0x40d816ba44190b0d
+sdc1 :: offset: 0x180, out: 0xa864db20aca5c697
+sdc1 :: offset: 0x188, out: 0xa1e6e04ea527fdf9
+sdc1 :: offset: 0x190, out: 0xbb60adfcbfa1b04b
+sdc1 :: offset: 0x198, out: 0xb2e29692b6238b25
+sdc1 :: offset: 0x1a0, out: 0x8aad2b2f
+sdc1 :: offset: 0x1a8, out: 0x87ee0df600000000
+sdc1 :: offset: 0x1b0, out: 0x9d68404499a95df3
+sdc1 :: offset: 0x1b8, out: 0x94ea7b2a902b669d
+sdc1 :: offset: 0x1c0, out: 0xe4750050e0b41de7
+sdc1 :: offset: 0x1c8, out: 0xedf73b3ee9362689
+sdc1 :: offset: 0x1d0, out: 0xf771768cf3b06b3b
+sdc1 :: offset: 0x1d8, out: 0xfef34de2fa325055
+sdc1 :: offset: 0x1e0, out: 0xc27dede8c6bcf05f
+sdc1 :: offset: 0x1e8, out: 0xcbffd686cf3ecb31
+sdc1 :: offset: 0x1f0, out: 0xd1799b34d5b88683
+sdc1 :: offset: 0x1f8, out: 0xd8fba05adc3abded
+sdc1 :: offset: 0x200, out: 0x6dcdfd59690ce0ee
+sdc1 :: offset: 0x208, out: 0x644fc637608edb80
+sdc1 :: offset: 0x210, out: 0x7ec98b857a089632
+sdc1 :: offset: 0x218, out: 0x774bb0eb738aad5c
+sdc1 :: offset: 0x220, out: 0x4bc510e14f040d56
+sdc1 :: offset: 0x228, out: 0x42472b8f46863638
+sdc1 :: offset: 0x230, out: 0x58c1663d5c007b8a
+sdc1 :: offset: 0x238, out: 0x51435d53558240e4
+sdc1 :: offset: 0x240, out: 0x21dc2629251d3b9e
+sdc1 :: offset: 0x248, out: 0x285e1d472c9f00f0
+sdc1 :: offset: 0x250, out: 0x32d850f536194d42
+sdc1 :: offset: 0x258, out: 0x3b5a6b9b3f9b762c
+sdc1 :: offset: 0x260, out: 0x7d4cb910315d626
+sdc1 :: offset: 0x268, out: 0xe56f0ff0a97ed48
+sdc1 :: offset: 0x270, out: 0x14d0bd4d1011a0fa
+sdc1 :: offset: 0x278, out: 0x1d52862319939b94
+sdc1 :: offset: 0x280, out: 0xf5ee4bb9f12f560e
+sdc1 :: offset: 0x288, out: 0xfc6c70d7f8ad6d60
+sdc1 :: offset: 0x290, out: 0xe6ea3d65e22b20d2
+sdc1 :: offset: 0x298, out: 0xef68060beba91bbc
+sdc1 :: offset: 0x2a0, out: 0xd3e6a601d727bbb6
+sdc1 :: offset: 0x2a8, out: 0xda649d6fdea580d8
+sdc1 :: offset: 0x2b0, out: 0xc423cd6a
+sdc1 :: offset: 0x2b8, out: 0xcda1f604
+sdc1 :: offset: 0x2c0, out: 0xb9ff90c9bd3e8d7e
+sdc1 :: offset: 0x2c8, out: 0xb07daba7b4bcb610
+sdc1 :: offset: 0x2d0, out: 0xaafbe615ae3afba2
+sdc1 :: offset: 0x2d8, out: 0xa379dd7ba7b8c0cc
+sdc1 :: offset: 0x2e0, out: 0x9ff77d719b3660c6
+sdc1 :: offset: 0x2e8, out: 0x9675461f92b45ba8
+sdc1 :: offset: 0x2f0, out: 0x8cf30bad8832161a
+sdc1 :: offset: 0x2f8, out: 0x857130c381b02d74
+sdc1 :: offset: 0x300, out: 0x594b8d2e5d8a9099
+sdc1 :: offset: 0x308, out: 0x50c9b6405408abf7
+sdc1 :: offset: 0x310, out: 0x4a4ffbf24e8ee645
+sdc1 :: offset: 0x318, out: 0x43cdc09c470cdd2b
+sdc1 :: offset: 0x320, out: 0x7f4360967b827d21
+sdc1 :: offset: 0x328, out: 0x76c15bf87200464f
+sdc1 :: offset: 0x330, out: 0x6c47164a68860bfd
+sdc1 :: offset: 0x338, out: 0x65c52d2461043093
+sdc1 :: offset: 0x340, out: 0x155a565e119b4be9
+sdc1 :: offset: 0x348, out: 0x1cd86d3018197087
+sdc1 :: offset: 0x350, out: 0x65e2082029f3d35
+sdc1 :: offset: 0x358, out: 0xfdc1bec0b1d065b
+sdc1 :: offset: 0x360, out: 0x3352bbe63793a651
+sdc1 :: offset: 0x368, out: 0x3ad080883e119d3f
+sdc1 :: offset: 0x370, out: 0x2056cd3a2497d08d
+sdc1 :: offset: 0x378, out: 0x29d4f6542d15ebe3
+sdc1 :: offset: 0x380, out: 0xc1683bcec5a92679
+sdc1 :: offset: 0x388, out: 0xc8ea00a0cc2b1d17
+sdc1 :: offset: 0x390, out: 0xd26c4d12d6ad50a5
+sdc1 :: offset: 0x398, out: 0xdbee767cdf2f6bcb
+sdc1 :: offset: 0x3a0, out: 0xe760d676e3a1cbc1
+sdc1 :: offset: 0x3a8, out: 0xeee2ed18ea23f0af
+sdc1 :: offset: 0x3b0, out: 0xf464a0aaf0a5bd1d
+sdc1 :: offset: 0x3b8, out: 0xfde69bc4f9278673
+sdc1 :: offset: 0x3c0, out: 0x8d79e0be89b8fd09
+sdc1 :: offset: 0x3c8, out: 0x84fbdbd0803ac667
+sdc1 :: offset: 0x3d0, out: 0x9e7d96629abc8bd5
+sdc1 :: offset: 0x3d8, out: 0x97ffad0c933eb0bb
+sdc1 :: offset: 0x3e0, out: 0xab710d06afb010b1
+sdc1 :: offset: 0x3e8, out: 0xa2f33668a6322bdf
+sdc1 :: offset: 0x3f0, out: 0xb8757bdabcb4666d
+sdc1 :: offset: 0x3f8, out: 0xb1f740b4b5365d03
+--- SWC1 ---
+swc1 :: offset: 0x0, out: 0x0
+swc1 :: offset: 0x4, out: 0x0
+swc1 :: offset: 0x8, out: 0x9823b6e
+swc1 :: offset: 0xc, out: 0xd4326d9
+swc1 :: offset: 0x10, out: 0x130476dc
+swc1 :: offset: 0x14, out: 0x17c56b6b
+swc1 :: offset: 0x18, out: 0x1a864db2
+swc1 :: offset: 0x1c, out: 0x1e475005
+swc1 :: offset: 0x20, out: 0x2608edb8
+swc1 :: offset: 0x24, out: 0x22c9f00f
+swc1 :: offset: 0x28, out: 0x2f8ad6d6
+swc1 :: offset: 0x2c, out: 0x2b4bcb61
+swc1 :: offset: 0x30, out: 0x350c9b64
+swc1 :: offset: 0x34, out: 0x31cd86d3
+swc1 :: offset: 0x38, out: 0x3c8ea00a
+swc1 :: offset: 0x3c, out: 0x384fbdbd
+swc1 :: offset: 0x40, out: 0x4c11db70
+swc1 :: offset: 0x44, out: 0x48d0c6c7
+swc1 :: offset: 0x48, out: 0x4593e01e
+swc1 :: offset: 0x4c, out: 0x4152fda9
+swc1 :: offset: 0x50, out: 0x5f15adac
+swc1 :: offset: 0x54, out: 0x5bd4b01b
+swc1 :: offset: 0x58, out: 0x569796c2
+swc1 :: offset: 0x5c, out: 0x52568b75
+swc1 :: offset: 0x60, out: 0x6a1936c8
+swc1 :: offset: 0x64, out: 0x6ed82b7f
+swc1 :: offset: 0x68, out: 0x639b0da6
+swc1 :: offset: 0x6c, out: 0x675a1011
+swc1 :: offset: 0x70, out: 0x791d4014
+swc1 :: offset: 0x74, out: 0x7ddc5da3
+swc1 :: offset: 0x78, out: 0x709f7b7a
+swc1 :: offset: 0x7c, out: 0x745e66cd
+swc1 :: offset: 0x80, out: 0x9823b6e0
+swc1 :: offset: 0x84, out: 0x9ce2ab57
+swc1 :: offset: 0x88, out: 0x91a18d8e
+swc1 :: offset: 0x8c, out: 0x95609039
+swc1 :: offset: 0x90, out: 0x8b27c03c
+swc1 :: offset: 0x94, out: 0x8fe6dd8b
+swc1 :: offset: 0x98, out: 0x82a5fb52
+swc1 :: offset: 0x9c, out: 0x8664e6e5
+swc1 :: offset: 0xa0, out: 0xbe2b5b58
+swc1 :: offset: 0xa4, out: 0xbaea46ef
+swc1 :: offset: 0xa8, out: 0xb7a96036
+swc1 :: offset: 0xac, out: 0xb3687d81
+swc1 :: offset: 0xb0, out: 0xad2f2d84
+swc1 :: offset: 0xb4, out: 0xa9ee3033
+swc1 :: offset: 0xb8, out: 0xa4ad16ea
+swc1 :: offset: 0xbc, out: 0xa06c0b5d
+swc1 :: offset: 0xc0, out: 0xd4326d90
+swc1 :: offset: 0xc4, out: 0xd0f37027
+swc1 :: offset: 0xc8, out: 0xddb056fe
+swc1 :: offset: 0xcc, out: 0xd9714b49
+swc1 :: offset: 0xd0, out: 0xc7361b4c
+swc1 :: offset: 0xd4, out: 0xc3f706fb
+swc1 :: offset: 0xd8, out: 0xceb42022
+swc1 :: offset: 0xdc, out: 0xca753d95
+swc1 :: offset: 0xe0, out: 0xf23a8028
+swc1 :: offset: 0xe4, out: 0xf6fb9d9f
+swc1 :: offset: 0xe8, out: 0xfbb8bb46
+swc1 :: offset: 0xec, out: 0xff79a6f1
+swc1 :: offset: 0xf0, out: 0xe13ef6f4
+swc1 :: offset: 0xf4, out: 0xe5ffeb43
+swc1 :: offset: 0xf8, out: 0xe8bccd9a
+swc1 :: offset: 0xfc, out: 0xec7dd02d
+swc1 :: offset: 0x100, out: 0x34867077
+swc1 :: offset: 0x104, out: 0x30476dc0
+swc1 :: offset: 0x108, out: 0x3d044b19
+swc1 :: offset: 0x10c, out: 0x39c556ae
+swc1 :: offset: 0x110, out: 0x278206ab
+swc1 :: offset: 0x114, out: 0x23431b1c
+swc1 :: offset: 0x118, out: 0x2e003dc5
+swc1 :: offset: 0x11c, out: 0x2ac12072
+swc1 :: offset: 0x120, out: 0x128e9dcf
+swc1 :: offset: 0x124, out: 0x164f8078
+swc1 :: offset: 0x128, out: 0x1b0ca6a1
+swc1 :: offset: 0x12c, out: 0x1fcdbb16
+swc1 :: offset: 0x130, out: 0x18aeb13
+swc1 :: offset: 0x134, out: 0x54bf6a4
+swc1 :: offset: 0x138, out: 0x808d07d
+swc1 :: offset: 0x13c, out: 0xcc9cdca
+swc1 :: offset: 0x140, out: 0x7897ab07
+swc1 :: offset: 0x144, out: 0x7c56b6b0
+swc1 :: offset: 0x148, out: 0x71159069
+swc1 :: offset: 0x14c, out: 0x75d48dde
+swc1 :: offset: 0x150, out: 0x6b93dddb
+swc1 :: offset: 0x154, out: 0x6f52c06c
+swc1 :: offset: 0x158, out: 0x6211e6b5
+swc1 :: offset: 0x15c, out: 0x66d0fb02
+swc1 :: offset: 0x160, out: 0x5e9f46bf
+swc1 :: offset: 0x164, out: 0x5a5e5b08
+swc1 :: offset: 0x168, out: 0x571d7dd1
+swc1 :: offset: 0x16c, out: 0x53dc6066
+swc1 :: offset: 0x170, out: 0x4d9b3063
+swc1 :: offset: 0x174, out: 0x495a2dd4
+swc1 :: offset: 0x178, out: 0x44190b0d
+swc1 :: offset: 0x17c, out: 0x40d816ba
+swc1 :: offset: 0x180, out: 0xaca5c697
+swc1 :: offset: 0x184, out: 0xa864db20
+swc1 :: offset: 0x188, out: 0xa527fdf9
+swc1 :: offset: 0x18c, out: 0xa1e6e04e
+swc1 :: offset: 0x190, out: 0xbfa1b04b
+swc1 :: offset: 0x194, out: 0xbb60adfc
+swc1 :: offset: 0x198, out: 0xb6238b25
+swc1 :: offset: 0x19c, out: 0xb2e29692
+swc1 :: offset: 0x1a0, out: 0x8aad2b2f
+swc1 :: offset: 0x1a4, out: 0x0
+swc1 :: offset: 0x1a8, out: 0x0
+swc1 :: offset: 0x1ac, out: 0x87ee0df6
+swc1 :: offset: 0x1b0, out: 0x99a95df3
+swc1 :: offset: 0x1b4, out: 0x9d684044
+swc1 :: offset: 0x1b8, out: 0x902b669d
+swc1 :: offset: 0x1bc, out: 0x94ea7b2a
+swc1 :: offset: 0x1c0, out: 0xe0b41de7
+swc1 :: offset: 0x1c4, out: 0xe4750050
+swc1 :: offset: 0x1c8, out: 0xe9362689
+swc1 :: offset: 0x1cc, out: 0xedf73b3e
+swc1 :: offset: 0x1d0, out: 0xf3b06b3b
+swc1 :: offset: 0x1d4, out: 0xf771768c
+swc1 :: offset: 0x1d8, out: 0xfa325055
+swc1 :: offset: 0x1dc, out: 0xfef34de2
+swc1 :: offset: 0x1e0, out: 0xc6bcf05f
+swc1 :: offset: 0x1e4, out: 0xc27dede8
+swc1 :: offset: 0x1e8, out: 0xcf3ecb31
+swc1 :: offset: 0x1ec, out: 0xcbffd686
+swc1 :: offset: 0x1f0, out: 0xd5b88683
+swc1 :: offset: 0x1f4, out: 0xd1799b34
+swc1 :: offset: 0x1f8, out: 0xdc3abded
+swc1 :: offset: 0x1fc, out: 0xd8fba05a
+swc1 :: offset: 0x200, out: 0x690ce0ee
+swc1 :: offset: 0x204, out: 0x6dcdfd59
+swc1 :: offset: 0x208, out: 0x608edb80
+swc1 :: offset: 0x20c, out: 0x644fc637
+swc1 :: offset: 0x210, out: 0x7a089632
+swc1 :: offset: 0x214, out: 0x7ec98b85
+swc1 :: offset: 0x218, out: 0x738aad5c
+swc1 :: offset: 0x21c, out: 0x774bb0eb
+swc1 :: offset: 0x220, out: 0x4f040d56
+swc1 :: offset: 0x224, out: 0x4bc510e1
+swc1 :: offset: 0x228, out: 0x46863638
+swc1 :: offset: 0x22c, out: 0x42472b8f
+swc1 :: offset: 0x230, out: 0x5c007b8a
+swc1 :: offset: 0x234, out: 0x58c1663d
+swc1 :: offset: 0x238, out: 0x558240e4
+swc1 :: offset: 0x23c, out: 0x51435d53
+swc1 :: offset: 0x240, out: 0x251d3b9e
+swc1 :: offset: 0x244, out: 0x21dc2629
+swc1 :: offset: 0x248, out: 0x2c9f00f0
+swc1 :: offset: 0x24c, out: 0x285e1d47
+swc1 :: offset: 0x250, out: 0x36194d42
+swc1 :: offset: 0x254, out: 0x32d850f5
+swc1 :: offset: 0x258, out: 0x3f9b762c
+swc1 :: offset: 0x25c, out: 0x3b5a6b9b
+swc1 :: offset: 0x260, out: 0x315d626
+swc1 :: offset: 0x264, out: 0x7d4cb91
+swc1 :: offset: 0x268, out: 0xa97ed48
+swc1 :: offset: 0x26c, out: 0xe56f0ff
+swc1 :: offset: 0x270, out: 0x1011a0fa
+swc1 :: offset: 0x274, out: 0x14d0bd4d
+swc1 :: offset: 0x278, out: 0x19939b94
+swc1 :: offset: 0x27c, out: 0x1d528623
+swc1 :: offset: 0x280, out: 0xf12f560e
+swc1 :: offset: 0x284, out: 0xf5ee4bb9
+swc1 :: offset: 0x288, out: 0xf8ad6d60
+swc1 :: offset: 0x28c, out: 0xfc6c70d7
+swc1 :: offset: 0x290, out: 0xe22b20d2
+swc1 :: offset: 0x294, out: 0xe6ea3d65
+swc1 :: offset: 0x298, out: 0xeba91bbc
+swc1 :: offset: 0x29c, out: 0xef68060b
+swc1 :: offset: 0x2a0, out: 0xd727bbb6
+swc1 :: offset: 0x2a4, out: 0xd3e6a601
+swc1 :: offset: 0x2a8, out: 0xdea580d8
+swc1 :: offset: 0x2ac, out: 0xda649d6f
+swc1 :: offset: 0x2b0, out: 0xc423cd6a
+swc1 :: offset: 0x2b4, out: 0x0
+swc1 :: offset: 0x2b8, out: 0xcda1f604
+swc1 :: offset: 0x2bc, out: 0x0
+swc1 :: offset: 0x2c0, out: 0xbd3e8d7e
+swc1 :: offset: 0x2c4, out: 0xb9ff90c9
+swc1 :: offset: 0x2c8, out: 0xb4bcb610
+swc1 :: offset: 0x2cc, out: 0xb07daba7
+swc1 :: offset: 0x2d0, out: 0xae3afba2
+swc1 :: offset: 0x2d4, out: 0xaafbe615
+swc1 :: offset: 0x2d8, out: 0xa7b8c0cc
+swc1 :: offset: 0x2dc, out: 0xa379dd7b
+swc1 :: offset: 0x2e0, out: 0x9b3660c6
+swc1 :: offset: 0x2e4, out: 0x9ff77d71
+swc1 :: offset: 0x2e8, out: 0x92b45ba8
+swc1 :: offset: 0x2ec, out: 0x9675461f
+swc1 :: offset: 0x2f0, out: 0x8832161a
+swc1 :: offset: 0x2f4, out: 0x8cf30bad
+swc1 :: offset: 0x2f8, out: 0x81b02d74
+swc1 :: offset: 0x2fc, out: 0x857130c3
+swc1 :: offset: 0x300, out: 0x5d8a9099
+swc1 :: offset: 0x304, out: 0x594b8d2e
+swc1 :: offset: 0x308, out: 0x5408abf7
+swc1 :: offset: 0x30c, out: 0x50c9b640
+swc1 :: offset: 0x310, out: 0x4e8ee645
+swc1 :: offset: 0x314, out: 0x4a4ffbf2
+swc1 :: offset: 0x318, out: 0x470cdd2b
+swc1 :: offset: 0x31c, out: 0x43cdc09c
+swc1 :: offset: 0x320, out: 0x7b827d21
+swc1 :: offset: 0x324, out: 0x7f436096
+swc1 :: offset: 0x328, out: 0x7200464f
+swc1 :: offset: 0x32c, out: 0x76c15bf8
+swc1 :: offset: 0x330, out: 0x68860bfd
+swc1 :: offset: 0x334, out: 0x6c47164a
+swc1 :: offset: 0x338, out: 0x61043093
+swc1 :: offset: 0x33c, out: 0x65c52d24
+swc1 :: offset: 0x340, out: 0x119b4be9
+swc1 :: offset: 0x344, out: 0x155a565e
+swc1 :: offset: 0x348, out: 0x18197087
+swc1 :: offset: 0x34c, out: 0x1cd86d30
+swc1 :: offset: 0x350, out: 0x29f3d35
+swc1 :: offset: 0x354, out: 0x65e2082
+swc1 :: offset: 0x358, out: 0xb1d065b
+swc1 :: offset: 0x35c, out: 0xfdc1bec
+swc1 :: offset: 0x360, out: 0x3793a651
+swc1 :: offset: 0x364, out: 0x3352bbe6
+swc1 :: offset: 0x368, out: 0x3e119d3f
+swc1 :: offset: 0x36c, out: 0x3ad08088
+swc1 :: offset: 0x370, out: 0x2497d08d
+swc1 :: offset: 0x374, out: 0x2056cd3a
+swc1 :: offset: 0x378, out: 0x2d15ebe3
+swc1 :: offset: 0x37c, out: 0x29d4f654
+swc1 :: offset: 0x380, out: 0xc5a92679
+swc1 :: offset: 0x384, out: 0xc1683bce
+swc1 :: offset: 0x388, out: 0xcc2b1d17
+swc1 :: offset: 0x38c, out: 0xc8ea00a0
+swc1 :: offset: 0x390, out: 0xd6ad50a5
+swc1 :: offset: 0x394, out: 0xd26c4d12
+swc1 :: offset: 0x398, out: 0xdf2f6bcb
+swc1 :: offset: 0x39c, out: 0xdbee767c
+swc1 :: offset: 0x3a0, out: 0xe3a1cbc1
+swc1 :: offset: 0x3a4, out: 0xe760d676
+swc1 :: offset: 0x3a8, out: 0xea23f0af
+swc1 :: offset: 0x3ac, out: 0xeee2ed18
+swc1 :: offset: 0x3b0, out: 0xf0a5bd1d
+swc1 :: offset: 0x3b4, out: 0xf464a0aa
+swc1 :: offset: 0x3b8, out: 0xf9278673
+swc1 :: offset: 0x3bc, out: 0xfde69bc4
+swc1 :: offset: 0x3c0, out: 0x89b8fd09
+swc1 :: offset: 0x3c4, out: 0x8d79e0be
+swc1 :: offset: 0x3c8, out: 0x803ac667
+swc1 :: offset: 0x3cc, out: 0x84fbdbd0
+swc1 :: offset: 0x3d0, out: 0x9abc8bd5
+swc1 :: offset: 0x3d4, out: 0x9e7d9662
+swc1 :: offset: 0x3d8, out: 0x933eb0bb
+swc1 :: offset: 0x3dc, out: 0x97ffad0c
+swc1 :: offset: 0x3e0, out: 0xafb010b1
+swc1 :: offset: 0x3e4, out: 0xab710d06
+swc1 :: offset: 0x3e8, out: 0xa6322bdf
+swc1 :: offset: 0x3ec, out: 0xa2f33668
+swc1 :: offset: 0x3f0, out: 0xbcb4666d
+swc1 :: offset: 0x3f4, out: 0xb8757bda
+swc1 :: offset: 0x3f8, out: 0xb5365d03
+swc1 :: offset: 0x3fc, out: 0xb1f740b4
+--- SDXC1 ---
+sdxc1 :: offset: 0x0, out: 0x12bd6aa
+sdxc1 :: offset: 0x8, out: 0x0
+sdxc1 :: offset: 0x10, out: 0x7e876382d2ab13
+sdxc1 :: offset: 0x18, out: 0x0
+sdxc1 :: offset: 0x20, out: 0x976d6e9ac31510f3
+sdxc1 :: offset: 0x28, out: 0x0
+sdxc1 :: offset: 0x30, out: 0xb7746d775ad6a5fb
+sdxc1 :: offset: 0x38, out: 0x0
+sdxc1 :: offset: 0x40, out: 0x42b0c0a28677b502
+sdxc1 :: offset: 0x48, out: 0x0
+sdxc1 :: offset: 0x50, out: 0x2aa89d319e3c30ad
+sdxc1 :: offset: 0x58, out: 0x0
+sdxc1 :: offset: 0x60, out: 0x1f308ec377fb413d
+sdxc1 :: offset: 0x68, out: 0x0
+sdxc1 :: offset: 0x70, out: 0x7aa04213c760e4f7
+sdxc1 :: offset: 0x78, out: 0x0
+sdxc1 :: offset: 0x80, out: 0x9e705cc51ad8dca0
+sdxc1 :: offset: 0x88, out: 0x0
+sdxc1 :: offset: 0x90, out: 0x4b3dda869615a60d
+sdxc1 :: offset: 0x98, out: 0x0
+sdxc1 :: offset: 0xa0, out: 0x5e7a4dd6353d41d
+sdxc1 :: offset: 0xa8, out: 0x0
+sdxc1 :: offset: 0xb0, out: 0x3af35a9dc40bd413
+sdxc1 :: offset: 0xb8, out: 0x0
+sdxc1 :: offset: 0xc0, out: 0x47f505569a08a180
+sdxc1 :: offset: 0xc8, out: 0x0
+sdxc1 :: offset: 0xd0, out: 0x9564b77fd6d2040f
+sdxc1 :: offset: 0xd8, out: 0x0
+sdxc1 :: offset: 0xe0, out: 0xcebc8279b2c76bbe
+sdxc1 :: offset: 0xe8, out: 0x0
+sdxc1 :: offset: 0xf0, out: 0xb5034c2f1f18e4c7
+sdxc1 :: offset: 0xf8, out: 0x0
+sdxc1 :: offset: 0x100, out: 0x94ff52fc81afa797
+sdxc1 :: offset: 0x108, out: 0x0
+sdxc1 :: offset: 0x110, out: 0x31d8d9166dfc50ea
+sdxc1 :: offset: 0x118, out: 0x0
+sdxc1 :: offset: 0x120, out: 0x36549bd678e895b1
+sdxc1 :: offset: 0x128, out: 0x0
+sdxc1 :: offset: 0x130, out: 0x85e0a6319b63259b
+sdxc1 :: offset: 0x138, out: 0x0
+sdxc1 :: offset: 0x140, out: 0x556b3ecaccf17ac5
+sdxc1 :: offset: 0x148, out: 0x0
+sdxc1 :: offset: 0x150, out: 0xb42f5fc581eea0fb
+sdxc1 :: offset: 0x158, out: 0x0
+sdxc1 :: offset: 0x160, out: 0x25b50fec14682d97
+sdxc1 :: offset: 0x168, out: 0x0
+sdxc1 :: offset: 0x170, out: 0xfc93c5132cfb087a
+sdxc1 :: offset: 0x178, out: 0x0
+sdxc1 :: offset: 0x180, out: 0x3c2cd9a9cda20766
+sdxc1 :: offset: 0x188, out: 0x0
+sdxc1 :: offset: 0x190, out: 0x1791722a7d72da3e
+sdxc1 :: offset: 0x198, out: 0x0
+sdxc1 :: offset: 0x1a0, out: 0x87cc9d193ce24ad
+sdxc1 :: offset: 0x1a8, out: 0x0
+sdxc1 :: offset: 0x1b0, out: 0x1d2a757038984ed2
+sdxc1 :: offset: 0x1b8, out: 0x0
+sdxc1 :: offset: 0x1c0, out: 0xd0d070db710cd036
+sdxc1 :: offset: 0x1c8, out: 0x0
+sdxc1 :: offset: 0x1d0, out: 0x39c21c7d03415604
+sdxc1 :: offset: 0x1d8, out: 0x0
+sdxc1 :: offset: 0x1e0, out: 0x8e94b7af8ecc31ce
+sdxc1 :: offset: 0x1e8, out: 0x0
+sdxc1 :: offset: 0x1f0, out: 0x24eb6a8d1ce7674f
+sdxc1 :: offset: 0x1f8, out: 0x0
+sdxc1 :: offset: 0x200, out: 0x2f39454412d6e4a7
+sdxc1 :: offset: 0x208, out: 0x0
+sdxc1 :: offset: 0x210, out: 0x2608c2b756da4c54
+sdxc1 :: offset: 0x218, out: 0x0
+sdxc1 :: offset: 0x220, out: 0x900102dac8d7252f
+sdxc1 :: offset: 0x228, out: 0x0
+sdxc1 :: offset: 0x230, out: 0xc890d5f1f2efa4f7
+sdxc1 :: offset: 0x238, out: 0x0
+sdxc1 :: offset: 0x240, out: 0xed5005cbc8b0a214
+sdxc1 :: offset: 0x248, out: 0x0
+sdxc1 :: offset: 0x250, out: 0x314791895991136c
+sdxc1 :: offset: 0x258, out: 0x0
+sdxc1 :: offset: 0x260, out: 0xc6eecff99a2fb6f3
+sdxc1 :: offset: 0x268, out: 0x0
+sdxc1 :: offset: 0x270, out: 0xa809521238895270
+sdxc1 :: offset: 0x278, out: 0x0
+sdxc1 :: offset: 0x280, out: 0x87750a04ad765040
+sdxc1 :: offset: 0x288, out: 0x0
+sdxc1 :: offset: 0x290, out: 0x2c3de85e84bb5a83
+sdxc1 :: offset: 0x298, out: 0x0
+sdxc1 :: offset: 0x2a0, out: 0xae6aff8fc506aa67
+sdxc1 :: offset: 0x2a8, out: 0x0
+sdxc1 :: offset: 0x2b0, out: 0xc07112dd60ed5ee3
+sdxc1 :: offset: 0x2b8, out: 0x0
+sdxc1 :: offset: 0x2c0, out: 0xc4c770f630dcca5a
+sdxc1 :: offset: 0x2c8, out: 0x0
+sdxc1 :: offset: 0x2d0, out: 0xdfec2b2383cd5277
+sdxc1 :: offset: 0x2d8, out: 0x0
+sdxc1 :: offset: 0x2e0, out: 0xd3adba260ff7d96b
+sdxc1 :: offset: 0x2e8, out: 0x0
+sdxc1 :: offset: 0x2f0, out: 0x4ab4aa798418c00e
+sdxc1 :: offset: 0x2f8, out: 0x0
+sdxc1 :: offset: 0x300, out: 0xbb8c035e0de0f0b8
+sdxc1 :: offset: 0x308, out: 0x0
+sdxc1 :: offset: 0x310, out: 0x33b06f54a97fdcf1
+sdxc1 :: offset: 0x318, out: 0x0
+sdxc1 :: offset: 0x320, out: 0x77433f373fd1c081
+sdxc1 :: offset: 0x328, out: 0x0
+sdxc1 :: offset: 0x330, out: 0xec91d993c92195e4
+sdxc1 :: offset: 0x338, out: 0x0
+sdxc1 :: offset: 0x340, out: 0x49fbf6a795b1a5ab
+sdxc1 :: offset: 0x348, out: 0x0
+sdxc1 :: offset: 0x350, out: 0x19364378c7ce8d1e
+sdxc1 :: offset: 0x358, out: 0x0
+sdxc1 :: offset: 0x360, out: 0xb99e8def2f384907
+sdxc1 :: offset: 0x368, out: 0x0
+sdxc1 :: offset: 0x370, out: 0x47eacdcd582b12fe
+sdxc1 :: offset: 0x378, out: 0x0
+sdxc1 :: offset: 0x380, out: 0xd685884e76558c4f
+sdxc1 :: offset: 0x388, out: 0x0
+sdxc1 :: offset: 0x390, out: 0x6168d62a34c195c7
+sdxc1 :: offset: 0x398, out: 0x0
+sdxc1 :: offset: 0x3a0, out: 0xd30169894df47405
+sdxc1 :: offset: 0x3a8, out: 0x0
+sdxc1 :: offset: 0x3b0, out: 0x1ca190bf6cbb06db
+sdxc1 :: offset: 0x3b8, out: 0x0
+sdxc1 :: offset: 0x3c0, out: 0x58300f029cae393a
+sdxc1 :: offset: 0x3c8, out: 0x0
+sdxc1 :: offset: 0x3d0, out: 0x9a995fdbdc7ebc2d
+sdxc1 :: offset: 0x3d8, out: 0x0
+sdxc1 :: offset: 0x3e0, out: 0x8a96047be3405b48
+sdxc1 :: offset: 0x3e8, out: 0x0
+sdxc1 :: offset: 0x3f0, out: 0x75bfafd2d519d322
+sdxc1 :: offset: 0x3f8, out: 0x0
+--- SWXC1 ---
+swxc1 :: offset: 0x0, out: 0x12bd6aa
+swxc1 :: offset: 0x4, out: 0x0
+swxc1 :: offset: 0x8, out: 0x0
+swxc1 :: offset: 0xc, out: 0x82d2ab1300000000
+swxc1 :: offset: 0x10, out: 0x82d2ab13
+swxc1 :: offset: 0x14, out: 0x7e876300000000
+swxc1 :: offset: 0x18, out: 0x7e8763
+swxc1 :: offset: 0x1c, out: 0xc31510f300000000
+swxc1 :: offset: 0x20, out: 0xc31510f3
+swxc1 :: offset: 0x24, out: 0x976d6e9a00000000
+swxc1 :: offset: 0x28, out: 0x976d6e9a
+swxc1 :: offset: 0x2c, out: 0x5ad6a5fb00000000
+swxc1 :: offset: 0x30, out: 0x5ad6a5fb
+swxc1 :: offset: 0x34, out: 0xb7746d7700000000
+swxc1 :: offset: 0x38, out: 0xb7746d77
+swxc1 :: offset: 0x3c, out: 0x8677b50200000000
+swxc1 :: offset: 0x40, out: 0x8677b502
+swxc1 :: offset: 0x44, out: 0x42b0c0a200000000
+swxc1 :: offset: 0x48, out: 0x42b0c0a2
+swxc1 :: offset: 0x4c, out: 0x9e3c30ad00000000
+swxc1 :: offset: 0x50, out: 0x9e3c30ad
+swxc1 :: offset: 0x54, out: 0x2aa89d3100000000
+swxc1 :: offset: 0x58, out: 0x2aa89d31
+swxc1 :: offset: 0x5c, out: 0x77fb413d00000000
+swxc1 :: offset: 0x60, out: 0x77fb413d
+swxc1 :: offset: 0x64, out: 0x1f308ec300000000
+swxc1 :: offset: 0x68, out: 0x1f308ec3
+swxc1 :: offset: 0x6c, out: 0xc760e4f700000000
+swxc1 :: offset: 0x70, out: 0xc760e4f7
+swxc1 :: offset: 0x74, out: 0x7aa0421300000000
+swxc1 :: offset: 0x78, out: 0x7aa04213
+swxc1 :: offset: 0x7c, out: 0x1ad8dca000000000
+swxc1 :: offset: 0x80, out: 0x1ad8dca0
+swxc1 :: offset: 0x84, out: 0x9e705cc500000000
+swxc1 :: offset: 0x88, out: 0x9e705cc5
+swxc1 :: offset: 0x8c, out: 0x9615a60d00000000
+swxc1 :: offset: 0x90, out: 0x9615a60d
+swxc1 :: offset: 0x94, out: 0x4b3dda8600000000
+swxc1 :: offset: 0x98, out: 0x4b3dda86
+swxc1 :: offset: 0x9c, out: 0x6353d41d00000000
+swxc1 :: offset: 0xa0, out: 0x6353d41d
+swxc1 :: offset: 0xa4, out: 0x5e7a4dd00000000
+swxc1 :: offset: 0xa8, out: 0x5e7a4dd
+swxc1 :: offset: 0xac, out: 0xc40bd41300000000
+swxc1 :: offset: 0xb0, out: 0xc40bd413
+swxc1 :: offset: 0xb4, out: 0x3af35a9d00000000
+swxc1 :: offset: 0xb8, out: 0x3af35a9d
+swxc1 :: offset: 0xbc, out: 0x9a08a18000000000
+swxc1 :: offset: 0xc0, out: 0x9a08a180
+swxc1 :: offset: 0xc4, out: 0x47f5055600000000
+swxc1 :: offset: 0xc8, out: 0x47f50556
+swxc1 :: offset: 0xcc, out: 0xd6d2040f00000000
+swxc1 :: offset: 0xd0, out: 0xd6d2040f
+swxc1 :: offset: 0xd4, out: 0x9564b77f00000000
+swxc1 :: offset: 0xd8, out: 0x9564b77f
+swxc1 :: offset: 0xdc, out: 0xb2c76bbe00000000
+swxc1 :: offset: 0xe0, out: 0xb2c76bbe
+swxc1 :: offset: 0xe4, out: 0xcebc827900000000
+swxc1 :: offset: 0xe8, out: 0xcebc8279
+swxc1 :: offset: 0xec, out: 0x1f18e4c700000000
+swxc1 :: offset: 0xf0, out: 0x1f18e4c7
+swxc1 :: offset: 0xf4, out: 0xb5034c2f00000000
+swxc1 :: offset: 0xf8, out: 0xb5034c2f
+swxc1 :: offset: 0xfc, out: 0x81afa79700000000
+swxc1 :: offset: 0x100, out: 0x81afa797
+swxc1 :: offset: 0x104, out: 0x94ff52fc00000000
+swxc1 :: offset: 0x108, out: 0x94ff52fc
+swxc1 :: offset: 0x10c, out: 0x6dfc50ea00000000
+swxc1 :: offset: 0x110, out: 0x6dfc50ea
+swxc1 :: offset: 0x114, out: 0x31d8d91600000000
+swxc1 :: offset: 0x118, out: 0x31d8d916
+swxc1 :: offset: 0x11c, out: 0x78e895b100000000
+swxc1 :: offset: 0x120, out: 0x78e895b1
+swxc1 :: offset: 0x124, out: 0x36549bd600000000
+swxc1 :: offset: 0x128, out: 0x36549bd6
+swxc1 :: offset: 0x12c, out: 0x9b63259b00000000
+swxc1 :: offset: 0x130, out: 0x9b63259b
+swxc1 :: offset: 0x134, out: 0x85e0a63100000000
+swxc1 :: offset: 0x138, out: 0x85e0a631
+swxc1 :: offset: 0x13c, out: 0xccf17ac500000000
+swxc1 :: offset: 0x140, out: 0xccf17ac5
+swxc1 :: offset: 0x144, out: 0x556b3eca00000000
+swxc1 :: offset: 0x148, out: 0x556b3eca
+swxc1 :: offset: 0x14c, out: 0x81eea0fb00000000
+swxc1 :: offset: 0x150, out: 0x81eea0fb
+swxc1 :: offset: 0x154, out: 0xb42f5fc500000000
+swxc1 :: offset: 0x158, out: 0xb42f5fc5
+swxc1 :: offset: 0x15c, out: 0x14682d9700000000
+swxc1 :: offset: 0x160, out: 0x14682d97
+swxc1 :: offset: 0x164, out: 0x25b50fec00000000
+swxc1 :: offset: 0x168, out: 0x25b50fec
+swxc1 :: offset: 0x16c, out: 0x2cfb087a00000000
+swxc1 :: offset: 0x170, out: 0x2cfb087a
+swxc1 :: offset: 0x174, out: 0xfc93c51300000000
+swxc1 :: offset: 0x178, out: 0xfc93c513
+swxc1 :: offset: 0x17c, out: 0xcda2076600000000
+swxc1 :: offset: 0x180, out: 0xcda20766
+swxc1 :: offset: 0x184, out: 0x3c2cd9a900000000
+swxc1 :: offset: 0x188, out: 0x3c2cd9a9
+swxc1 :: offset: 0x18c, out: 0x7d72da3e00000000
+swxc1 :: offset: 0x190, out: 0x7d72da3e
+swxc1 :: offset: 0x194, out: 0x1791722a00000000
+swxc1 :: offset: 0x198, out: 0x1791722a
+swxc1 :: offset: 0x19c, out: 0x93ce24ad00000000
+swxc1 :: offset: 0x1a0, out: 0x93ce24ad
+swxc1 :: offset: 0x1a4, out: 0x87cc9d100000000
+swxc1 :: offset: 0x1a8, out: 0x87cc9d1
+swxc1 :: offset: 0x1ac, out: 0x38984ed200000000
+swxc1 :: offset: 0x1b0, out: 0x38984ed2
+swxc1 :: offset: 0x1b4, out: 0x1d2a757000000000
+swxc1 :: offset: 0x1b8, out: 0x1d2a7570
+swxc1 :: offset: 0x1bc, out: 0x710cd03600000000
+swxc1 :: offset: 0x1c0, out: 0x710cd036
+swxc1 :: offset: 0x1c4, out: 0xd0d070db00000000
+swxc1 :: offset: 0x1c8, out: 0xd0d070db
+swxc1 :: offset: 0x1cc, out: 0x341560400000000
+swxc1 :: offset: 0x1d0, out: 0x3415604
+swxc1 :: offset: 0x1d4, out: 0x39c21c7d00000000
+swxc1 :: offset: 0x1d8, out: 0x39c21c7d
+swxc1 :: offset: 0x1dc, out: 0x8ecc31ce00000000
+swxc1 :: offset: 0x1e0, out: 0x8ecc31ce
+swxc1 :: offset: 0x1e4, out: 0x8e94b7af00000000
+swxc1 :: offset: 0x1e8, out: 0x8e94b7af
+swxc1 :: offset: 0x1ec, out: 0x1ce7674f00000000
+swxc1 :: offset: 0x1f0, out: 0x1ce7674f
+swxc1 :: offset: 0x1f4, out: 0x24eb6a8d00000000
+swxc1 :: offset: 0x1f8, out: 0x24eb6a8d
+swxc1 :: offset: 0x1fc, out: 0x12d6e4a700000000
+swxc1 :: offset: 0x200, out: 0x12d6e4a7
+swxc1 :: offset: 0x204, out: 0x2f39454400000000
+swxc1 :: offset: 0x208, out: 0x2f394544
+swxc1 :: offset: 0x20c, out: 0x56da4c5400000000
+swxc1 :: offset: 0x210, out: 0x56da4c54
+swxc1 :: offset: 0x214, out: 0x2608c2b700000000
+swxc1 :: offset: 0x218, out: 0x2608c2b7
+swxc1 :: offset: 0x21c, out: 0xc8d7252f00000000
+swxc1 :: offset: 0x220, out: 0xc8d7252f
+swxc1 :: offset: 0x224, out: 0x900102da00000000
+swxc1 :: offset: 0x228, out: 0x900102da
+swxc1 :: offset: 0x22c, out: 0xf2efa4f700000000
+swxc1 :: offset: 0x230, out: 0xf2efa4f7
+swxc1 :: offset: 0x234, out: 0xc890d5f100000000
+swxc1 :: offset: 0x238, out: 0xc890d5f1
+swxc1 :: offset: 0x23c, out: 0xc8b0a21400000000
+swxc1 :: offset: 0x240, out: 0xc8b0a214
+swxc1 :: offset: 0x244, out: 0xed5005cb00000000
+swxc1 :: offset: 0x248, out: 0xed5005cb
+swxc1 :: offset: 0x24c, out: 0x5991136c00000000
+swxc1 :: offset: 0x250, out: 0x5991136c
+swxc1 :: offset: 0x254, out: 0x3147918900000000
+swxc1 :: offset: 0x258, out: 0x31479189
+swxc1 :: offset: 0x25c, out: 0x9a2fb6f300000000
+swxc1 :: offset: 0x260, out: 0x9a2fb6f3
+swxc1 :: offset: 0x264, out: 0xc6eecff900000000
+swxc1 :: offset: 0x268, out: 0xc6eecff9
+swxc1 :: offset: 0x26c, out: 0x3889527000000000
+swxc1 :: offset: 0x270, out: 0x38895270
+swxc1 :: offset: 0x274, out: 0xa809521200000000
+swxc1 :: offset: 0x278, out: 0xa8095212
+swxc1 :: offset: 0x27c, out: 0xad76504000000000
+swxc1 :: offset: 0x280, out: 0xad765040
+swxc1 :: offset: 0x284, out: 0x87750a0400000000
+swxc1 :: offset: 0x288, out: 0x87750a04
+swxc1 :: offset: 0x28c, out: 0x84bb5a8300000000
+swxc1 :: offset: 0x290, out: 0x84bb5a83
+swxc1 :: offset: 0x294, out: 0x2c3de85e00000000
+swxc1 :: offset: 0x298, out: 0x2c3de85e
+swxc1 :: offset: 0x29c, out: 0xc506aa6700000000
+swxc1 :: offset: 0x2a0, out: 0xc506aa67
+swxc1 :: offset: 0x2a4, out: 0xae6aff8f00000000
+swxc1 :: offset: 0x2a8, out: 0xae6aff8f
+swxc1 :: offset: 0x2ac, out: 0x60ed5ee300000000
+swxc1 :: offset: 0x2b0, out: 0x60ed5ee3
+swxc1 :: offset: 0x2b4, out: 0xc07112dd00000000
+swxc1 :: offset: 0x2b8, out: 0xc07112dd
+swxc1 :: offset: 0x2bc, out: 0x30dcca5a00000000
+swxc1 :: offset: 0x2c0, out: 0x30dcca5a
+swxc1 :: offset: 0x2c4, out: 0xc4c770f600000000
+swxc1 :: offset: 0x2c8, out: 0xc4c770f6
+swxc1 :: offset: 0x2cc, out: 0x83cd527700000000
+swxc1 :: offset: 0x2d0, out: 0x83cd5277
+swxc1 :: offset: 0x2d4, out: 0xdfec2b2300000000
+swxc1 :: offset: 0x2d8, out: 0xdfec2b23
+swxc1 :: offset: 0x2dc, out: 0xff7d96b00000000
+swxc1 :: offset: 0x2e0, out: 0xff7d96b
+swxc1 :: offset: 0x2e4, out: 0xd3adba2600000000
+swxc1 :: offset: 0x2e8, out: 0xd3adba26
+swxc1 :: offset: 0x2ec, out: 0x8418c00e00000000
+swxc1 :: offset: 0x2f0, out: 0x8418c00e
+swxc1 :: offset: 0x2f4, out: 0x4ab4aa7900000000
+swxc1 :: offset: 0x2f8, out: 0x4ab4aa79
+swxc1 :: offset: 0x2fc, out: 0xde0f0b800000000
+swxc1 :: offset: 0x300, out: 0xde0f0b8
+swxc1 :: offset: 0x304, out: 0xbb8c035e00000000
+swxc1 :: offset: 0x308, out: 0xbb8c035e
+swxc1 :: offset: 0x30c, out: 0xa97fdcf100000000
+swxc1 :: offset: 0x310, out: 0xa97fdcf1
+swxc1 :: offset: 0x314, out: 0x33b06f5400000000
+swxc1 :: offset: 0x318, out: 0x33b06f54
+swxc1 :: offset: 0x31c, out: 0x3fd1c08100000000
+swxc1 :: offset: 0x320, out: 0x3fd1c081
+swxc1 :: offset: 0x324, out: 0x77433f3700000000
+swxc1 :: offset: 0x328, out: 0x77433f37
+swxc1 :: offset: 0x32c, out: 0xc92195e400000000
+swxc1 :: offset: 0x330, out: 0xc92195e4
+swxc1 :: offset: 0x334, out: 0xec91d99300000000
+swxc1 :: offset: 0x338, out: 0xec91d993
+swxc1 :: offset: 0x33c, out: 0x95b1a5ab00000000
+swxc1 :: offset: 0x340, out: 0x95b1a5ab
+swxc1 :: offset: 0x344, out: 0x49fbf6a700000000
+swxc1 :: offset: 0x348, out: 0x49fbf6a7
+swxc1 :: offset: 0x34c, out: 0xc7ce8d1e00000000
+swxc1 :: offset: 0x350, out: 0xc7ce8d1e
+swxc1 :: offset: 0x354, out: 0x1936437800000000
+swxc1 :: offset: 0x358, out: 0x19364378
+swxc1 :: offset: 0x35c, out: 0x2f38490700000000
+swxc1 :: offset: 0x360, out: 0x2f384907
+swxc1 :: offset: 0x364, out: 0xb99e8def00000000
+swxc1 :: offset: 0x368, out: 0xb99e8def
+swxc1 :: offset: 0x36c, out: 0x582b12fe00000000
+swxc1 :: offset: 0x370, out: 0x582b12fe
+swxc1 :: offset: 0x374, out: 0x47eacdcd00000000
+swxc1 :: offset: 0x378, out: 0x47eacdcd
+swxc1 :: offset: 0x37c, out: 0x76558c4f00000000
+swxc1 :: offset: 0x380, out: 0x76558c4f
+swxc1 :: offset: 0x384, out: 0xd685884e00000000
+swxc1 :: offset: 0x388, out: 0xd685884e
+swxc1 :: offset: 0x38c, out: 0x34c195c700000000
+swxc1 :: offset: 0x390, out: 0x34c195c7
+swxc1 :: offset: 0x394, out: 0x6168d62a00000000
+swxc1 :: offset: 0x398, out: 0x6168d62a
+swxc1 :: offset: 0x39c, out: 0x4df4740500000000
+swxc1 :: offset: 0x3a0, out: 0x4df47405
+swxc1 :: offset: 0x3a4, out: 0xd301698900000000
+swxc1 :: offset: 0x3a8, out: 0xd3016989
+swxc1 :: offset: 0x3ac, out: 0x6cbb06db00000000
+swxc1 :: offset: 0x3b0, out: 0x6cbb06db
+swxc1 :: offset: 0x3b4, out: 0x1ca190bf00000000
+swxc1 :: offset: 0x3b8, out: 0x1ca190bf
+swxc1 :: offset: 0x3bc, out: 0x9cae393a00000000
+swxc1 :: offset: 0x3c0, out: 0x9cae393a
+swxc1 :: offset: 0x3c4, out: 0x58300f0200000000
+swxc1 :: offset: 0x3c8, out: 0x58300f02
+swxc1 :: offset: 0x3cc, out: 0xdc7ebc2d00000000
+swxc1 :: offset: 0x3d0, out: 0xdc7ebc2d
+swxc1 :: offset: 0x3d4, out: 0x9a995fdb00000000
+swxc1 :: offset: 0x3d8, out: 0x9a995fdb
+swxc1 :: offset: 0x3dc, out: 0xe3405b4800000000
+swxc1 :: offset: 0x3e0, out: 0xe3405b48
+swxc1 :: offset: 0x3e4, out: 0x8a96047b00000000
+swxc1 :: offset: 0x3e8, out: 0x8a96047b
+swxc1 :: offset: 0x3ec, out: 0xd519d32200000000
+swxc1 :: offset: 0x3f0, out: 0xd519d322
+swxc1 :: offset: 0x3f4, out: 0x75bfafd200000000
+swxc1 :: offset: 0x3f8, out: 0x75bfafd2
+swxc1 :: offset: 0x3fc, out: 0xa630f6ad00000000
diff --git a/none/tests/mips64/fpu_load_store.vgtest b/none/tests/mips64/fpu_load_store.vgtest
new file mode 100644
index 0000000..e817184
--- /dev/null
+++ b/none/tests/mips64/fpu_load_store.vgtest
@@ -0,0 +1,2 @@
+prog: fpu_load_store
+vgopts: -q
diff --git a/none/tests/mips64/load_store.c b/none/tests/mips64/load_store.c
new file mode 100644
index 0000000..95651c9
--- /dev/null
+++ b/none/tests/mips64/load_store.c
@@ -0,0 +1,134 @@
+#include <stdio.h>
+#include "macro_load_store.h"
+
+int main()
+{
+   int i;
+   int s1 = sizeof(int);
+   int s2 = sizeof(unsigned long long);
+   init_reg_val2();
+   /**********************************************************************/
+   /*-------------------------------LOAD---------------------------------*/
+   /**********************************************************************/
+   /* lb */
+   for (i = 0; i < N*s1; i++)
+      TEST1("lb", i, reg_val1);
+
+   for (i = 0; i < N*s2; i++)
+      TEST1("lb", i, reg_val2);
+
+   /* lbu */
+   for (i = 0; i < N*s1; i++)
+      TEST1("lbu", i, reg_val1);
+
+   for (i = 0; i < N*s2; i++)
+      TEST1("lbu", i, reg_val2);
+
+   /* ld */
+   for (i = 0; i < N*s1; i = i+8)
+      TEST1("ld", i, reg_val1);
+
+   for (i = 0; i < N*s2; i = i+8)
+      TEST1("ld", i, reg_val2);
+
+   /* ldl */
+   for (i = 0; i < N*s1; i++)
+      TEST1("ldl", i, reg_val1);
+
+   for (i = 0; i < N*s2; i++)
+      TEST1("ldl", i, reg_val2);
+
+   /* ldr */
+   for (i = 0; i < N*s1; i++)
+      TEST1("ldr", i, reg_val1);
+
+   for (i = 0; i < N*s2; i++)
+      TEST1("ldr", i, reg_val2);
+
+   /* lh */
+   for (i = 0; i < N*s1; i = i+2)
+      TEST1("lh", i, reg_val1);
+
+   for (i = 0; i < N*s2; i = i+2)
+      TEST1("lh", i, reg_val2);
+
+   /* lhu */
+   for (i = 0; i < N*s1; i = i+2)
+      TEST1("lhu", i, reg_val1);
+
+   for (i = 0; i < N*s2; i = i+2)
+      TEST1("lhu", i, reg_val2);
+
+   /* lw */
+   for (i = 0; i < N*s1; i = i+4)
+      TEST1("lw", i, reg_val1);
+
+   for (i = 0; i < N*s2; i = i+4)
+      TEST1("lw", i, reg_val2);
+
+   /* lwl */
+   for (i = 0; i < N*s1; i++)
+      TEST1("lwl", i, reg_val1);
+
+   for (i = 0; i < N*s2; i++)
+      TEST1("lwl", i, reg_val2);
+
+   /* lwr */
+   for (i = 0; i < N*s1; i++)
+      TEST1("lwr", i, reg_val1);
+
+   for (i = 0; i < N*s2; i++)
+      TEST1("lwr", i, reg_val2);
+
+   /* lwu */
+   for (i = 0; i < N*s1; i = i+4)
+      TEST1("lwu", i, reg_val1);
+
+   for (i = 0; i < N*s2; i = i+4)
+      TEST1("lwu", i, reg_val2);
+
+   /**********************************************************************/
+   /*-------------------------------STORE--------------------------------*/
+   /**********************************************************************/
+   init_reg_val_zero();
+   /* sb */
+   for (i = 0; i < (N-1)*s2; i++)
+      TEST2("sb", i);
+
+   init_reg_val_zero();
+   /* sd */
+   for (i = 0; i < (N-1)*s2; i = i+8)
+      TEST2("sd", i);
+
+   init_reg_val_zero();
+   /* sdl */
+   for (i = 0; i < (N-1)*s2; i++)
+      TEST2("sdl", i);
+
+   init_reg_val_zero();
+   /* sdr */
+   for (i = 8; i < (N-1)*s2; i++)
+      TEST2("sdr", i);
+
+   init_reg_val_zero();
+   /* sh */
+   for (i = 0; i < (N-1)*s2; i = i+2)
+      TEST2("sh", i);
+
+   init_reg_val_zero();
+   /* sw */
+   for (i = 0; i < (N-1)*s2; i = i+4)
+      TEST2("sw", i);
+
+   init_reg_val_zero();
+   /* swl */
+   for (i = 4; i < (N-1)*s2; i++)
+      TEST2("swl", i);
+
+   init_reg_val_zero();
+   /* swr */
+   for (i = 4; i < (N-1)*s2; i++)
+      TEST2("swr", i);
+
+   return 0;
+}
diff --git a/none/tests/mips64/load_store.stderr.exp b/none/tests/mips64/load_store.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/load_store.stderr.exp
diff --git a/none/tests/mips64/load_store.stdout.exp-BE b/none/tests/mips64/load_store.stdout.exp-BE
new file mode 100644
index 0000000..91d9f1b
--- /dev/null
+++ b/none/tests/mips64/load_store.stdout.exp-BE
@@ -0,0 +1,35393 @@
+lb :: offset: 0x0, out: 0x0
+lb :: offset: 0x1, out: 0x0
+lb :: offset: 0x2, out: 0x0
+lb :: offset: 0x3, out: 0x0
+lb :: offset: 0x4, out: 0x0
+lb :: offset: 0x5, out: 0x0
+lb :: offset: 0x6, out: 0x0
+lb :: offset: 0x7, out: 0x0
+lb :: offset: 0x8, out: 0x9
+lb :: offset: 0x9, out: 0xffffffffffffff82
+lb :: offset: 0xa, out: 0x3b
+lb :: offset: 0xb, out: 0x6e
+lb :: offset: 0xc, out: 0xd
+lb :: offset: 0xd, out: 0x43
+lb :: offset: 0xe, out: 0x26
+lb :: offset: 0xf, out: 0xffffffffffffffd9
+lb :: offset: 0x10, out: 0x13
+lb :: offset: 0x11, out: 0x4
+lb :: offset: 0x12, out: 0x76
+lb :: offset: 0x13, out: 0xffffffffffffffdc
+lb :: offset: 0x14, out: 0x17
+lb :: offset: 0x15, out: 0xffffffffffffffc5
+lb :: offset: 0x16, out: 0x6b
+lb :: offset: 0x17, out: 0x6b
+lb :: offset: 0x18, out: 0x1a
+lb :: offset: 0x19, out: 0xffffffffffffff86
+lb :: offset: 0x1a, out: 0x4d
+lb :: offset: 0x1b, out: 0xffffffffffffffb2
+lb :: offset: 0x1c, out: 0x1e
+lb :: offset: 0x1d, out: 0x47
+lb :: offset: 0x1e, out: 0x50
+lb :: offset: 0x1f, out: 0x5
+lb :: offset: 0x20, out: 0x26
+lb :: offset: 0x21, out: 0x8
+lb :: offset: 0x22, out: 0xffffffffffffffed
+lb :: offset: 0x23, out: 0xffffffffffffffb8
+lb :: offset: 0x24, out: 0x22
+lb :: offset: 0x25, out: 0xffffffffffffffc9
+lb :: offset: 0x26, out: 0xfffffffffffffff0
+lb :: offset: 0x27, out: 0xf
+lb :: offset: 0x28, out: 0x2f
+lb :: offset: 0x29, out: 0xffffffffffffff8a
+lb :: offset: 0x2a, out: 0xffffffffffffffd6
+lb :: offset: 0x2b, out: 0xffffffffffffffd6
+lb :: offset: 0x2c, out: 0x2b
+lb :: offset: 0x2d, out: 0x4b
+lb :: offset: 0x2e, out: 0xffffffffffffffcb
+lb :: offset: 0x2f, out: 0x61
+lb :: offset: 0x30, out: 0x35
+lb :: offset: 0x31, out: 0xc
+lb :: offset: 0x32, out: 0xffffffffffffff9b
+lb :: offset: 0x33, out: 0x64
+lb :: offset: 0x34, out: 0x31
+lb :: offset: 0x35, out: 0xffffffffffffffcd
+lb :: offset: 0x36, out: 0xffffffffffffff86
+lb :: offset: 0x37, out: 0xffffffffffffffd3
+lb :: offset: 0x38, out: 0x3c
+lb :: offset: 0x39, out: 0xffffffffffffff8e
+lb :: offset: 0x3a, out: 0xffffffffffffffa0
+lb :: offset: 0x3b, out: 0xa
+lb :: offset: 0x3c, out: 0x38
+lb :: offset: 0x3d, out: 0x4f
+lb :: offset: 0x3e, out: 0xffffffffffffffbd
+lb :: offset: 0x3f, out: 0xffffffffffffffbd
+lb :: offset: 0x40, out: 0x4c
+lb :: offset: 0x41, out: 0x11
+lb :: offset: 0x42, out: 0xffffffffffffffdb
+lb :: offset: 0x43, out: 0x70
+lb :: offset: 0x44, out: 0x48
+lb :: offset: 0x45, out: 0xffffffffffffffd0
+lb :: offset: 0x46, out: 0xffffffffffffffc6
+lb :: offset: 0x47, out: 0xffffffffffffffc7
+lb :: offset: 0x48, out: 0x45
+lb :: offset: 0x49, out: 0xffffffffffffff93
+lb :: offset: 0x4a, out: 0xffffffffffffffe0
+lb :: offset: 0x4b, out: 0x1e
+lb :: offset: 0x4c, out: 0x41
+lb :: offset: 0x4d, out: 0x52
+lb :: offset: 0x4e, out: 0xfffffffffffffffd
+lb :: offset: 0x4f, out: 0xffffffffffffffa9
+lb :: offset: 0x50, out: 0x5f
+lb :: offset: 0x51, out: 0x15
+lb :: offset: 0x52, out: 0xffffffffffffffad
+lb :: offset: 0x53, out: 0xffffffffffffffac
+lb :: offset: 0x54, out: 0x5b
+lb :: offset: 0x55, out: 0xffffffffffffffd4
+lb :: offset: 0x56, out: 0xffffffffffffffb0
+lb :: offset: 0x57, out: 0x1b
+lb :: offset: 0x58, out: 0x56
+lb :: offset: 0x59, out: 0xffffffffffffff97
+lb :: offset: 0x5a, out: 0xffffffffffffff96
+lb :: offset: 0x5b, out: 0xffffffffffffffc2
+lb :: offset: 0x5c, out: 0x52
+lb :: offset: 0x5d, out: 0x56
+lb :: offset: 0x5e, out: 0xffffffffffffff8b
+lb :: offset: 0x5f, out: 0x75
+lb :: offset: 0x60, out: 0x6a
+lb :: offset: 0x61, out: 0x19
+lb :: offset: 0x62, out: 0x36
+lb :: offset: 0x63, out: 0xffffffffffffffc8
+lb :: offset: 0x64, out: 0x6e
+lb :: offset: 0x65, out: 0xffffffffffffffd8
+lb :: offset: 0x66, out: 0x2b
+lb :: offset: 0x67, out: 0x7f
+lb :: offset: 0x68, out: 0x63
+lb :: offset: 0x69, out: 0xffffffffffffff9b
+lb :: offset: 0x6a, out: 0xd
+lb :: offset: 0x6b, out: 0xffffffffffffffa6
+lb :: offset: 0x6c, out: 0x67
+lb :: offset: 0x6d, out: 0x5a
+lb :: offset: 0x6e, out: 0x10
+lb :: offset: 0x6f, out: 0x11
+lb :: offset: 0x70, out: 0x79
+lb :: offset: 0x71, out: 0x1d
+lb :: offset: 0x72, out: 0x40
+lb :: offset: 0x73, out: 0x14
+lb :: offset: 0x74, out: 0x7d
+lb :: offset: 0x75, out: 0xffffffffffffffdc
+lb :: offset: 0x76, out: 0x5d
+lb :: offset: 0x77, out: 0xffffffffffffffa3
+lb :: offset: 0x78, out: 0x70
+lb :: offset: 0x79, out: 0xffffffffffffff9f
+lb :: offset: 0x7a, out: 0x7b
+lb :: offset: 0x7b, out: 0x7a
+lb :: offset: 0x7c, out: 0x74
+lb :: offset: 0x7d, out: 0x5e
+lb :: offset: 0x7e, out: 0x66
+lb :: offset: 0x7f, out: 0xffffffffffffffcd
+lb :: offset: 0x80, out: 0xffffffffffffff98
+lb :: offset: 0x81, out: 0x23
+lb :: offset: 0x82, out: 0xffffffffffffffb6
+lb :: offset: 0x83, out: 0xffffffffffffffe0
+lb :: offset: 0x84, out: 0xffffffffffffff9c
+lb :: offset: 0x85, out: 0xffffffffffffffe2
+lb :: offset: 0x86, out: 0xffffffffffffffab
+lb :: offset: 0x87, out: 0x57
+lb :: offset: 0x88, out: 0xffffffffffffff91
+lb :: offset: 0x89, out: 0xffffffffffffffa1
+lb :: offset: 0x8a, out: 0xffffffffffffff8d
+lb :: offset: 0x8b, out: 0xffffffffffffff8e
+lb :: offset: 0x8c, out: 0xffffffffffffff95
+lb :: offset: 0x8d, out: 0x60
+lb :: offset: 0x8e, out: 0xffffffffffffff90
+lb :: offset: 0x8f, out: 0x39
+lb :: offset: 0x90, out: 0xffffffffffffff8b
+lb :: offset: 0x91, out: 0x27
+lb :: offset: 0x92, out: 0xffffffffffffffc0
+lb :: offset: 0x93, out: 0x3c
+lb :: offset: 0x94, out: 0xffffffffffffff8f
+lb :: offset: 0x95, out: 0xffffffffffffffe6
+lb :: offset: 0x96, out: 0xffffffffffffffdd
+lb :: offset: 0x97, out: 0xffffffffffffff8b
+lb :: offset: 0x98, out: 0xffffffffffffff82
+lb :: offset: 0x99, out: 0xffffffffffffffa5
+lb :: offset: 0x9a, out: 0xfffffffffffffffb
+lb :: offset: 0x9b, out: 0x52
+lb :: offset: 0x9c, out: 0xffffffffffffff86
+lb :: offset: 0x9d, out: 0x64
+lb :: offset: 0x9e, out: 0xffffffffffffffe6
+lb :: offset: 0x9f, out: 0xffffffffffffffe5
+lb :: offset: 0xa0, out: 0xffffffffffffffbe
+lb :: offset: 0xa1, out: 0x2b
+lb :: offset: 0xa2, out: 0x5b
+lb :: offset: 0xa3, out: 0x58
+lb :: offset: 0xa4, out: 0xffffffffffffffba
+lb :: offset: 0xa5, out: 0xffffffffffffffea
+lb :: offset: 0xa6, out: 0x46
+lb :: offset: 0xa7, out: 0xffffffffffffffef
+lb :: offset: 0xa8, out: 0xffffffffffffffb7
+lb :: offset: 0xa9, out: 0xffffffffffffffa9
+lb :: offset: 0xaa, out: 0x60
+lb :: offset: 0xab, out: 0x36
+lb :: offset: 0xac, out: 0xffffffffffffffb3
+lb :: offset: 0xad, out: 0x68
+lb :: offset: 0xae, out: 0x7d
+lb :: offset: 0xaf, out: 0xffffffffffffff81
+lb :: offset: 0xb0, out: 0xffffffffffffffad
+lb :: offset: 0xb1, out: 0x2f
+lb :: offset: 0xb2, out: 0x2d
+lb :: offset: 0xb3, out: 0xffffffffffffff84
+lb :: offset: 0xb4, out: 0xffffffffffffffa9
+lb :: offset: 0xb5, out: 0xffffffffffffffee
+lb :: offset: 0xb6, out: 0x30
+lb :: offset: 0xb7, out: 0x33
+lb :: offset: 0xb8, out: 0xffffffffffffffa4
+lb :: offset: 0xb9, out: 0xffffffffffffffad
+lb :: offset: 0xba, out: 0x16
+lb :: offset: 0xbb, out: 0xffffffffffffffea
+lb :: offset: 0xbc, out: 0xffffffffffffffa0
+lb :: offset: 0xbd, out: 0x6c
+lb :: offset: 0xbe, out: 0xb
+lb :: offset: 0xbf, out: 0x5d
+lb :: offset: 0xc0, out: 0xffffffffffffffd4
+lb :: offset: 0xc1, out: 0x32
+lb :: offset: 0xc2, out: 0x6d
+lb :: offset: 0xc3, out: 0xffffffffffffff90
+lb :: offset: 0xc4, out: 0xffffffffffffffd0
+lb :: offset: 0xc5, out: 0xfffffffffffffff3
+lb :: offset: 0xc6, out: 0x70
+lb :: offset: 0xc7, out: 0x27
+lb :: offset: 0xc8, out: 0xffffffffffffffdd
+lb :: offset: 0xc9, out: 0xffffffffffffffb0
+lb :: offset: 0xca, out: 0x56
+lb :: offset: 0xcb, out: 0xfffffffffffffffe
+lb :: offset: 0xcc, out: 0xffffffffffffffd9
+lb :: offset: 0xcd, out: 0x71
+lb :: offset: 0xce, out: 0x4b
+lb :: offset: 0xcf, out: 0x49
+lb :: offset: 0xd0, out: 0xffffffffffffffc7
+lb :: offset: 0xd1, out: 0x36
+lb :: offset: 0xd2, out: 0x1b
+lb :: offset: 0xd3, out: 0x4c
+lb :: offset: 0xd4, out: 0xffffffffffffffc3
+lb :: offset: 0xd5, out: 0xfffffffffffffff7
+lb :: offset: 0xd6, out: 0x6
+lb :: offset: 0xd7, out: 0xfffffffffffffffb
+lb :: offset: 0xd8, out: 0xffffffffffffffce
+lb :: offset: 0xd9, out: 0xffffffffffffffb4
+lb :: offset: 0xda, out: 0x20
+lb :: offset: 0xdb, out: 0x22
+lb :: offset: 0xdc, out: 0xffffffffffffffca
+lb :: offset: 0xdd, out: 0x75
+lb :: offset: 0xde, out: 0x3d
+lb :: offset: 0xdf, out: 0xffffffffffffff95
+lb :: offset: 0xe0, out: 0xfffffffffffffff2
+lb :: offset: 0xe1, out: 0x3a
+lb :: offset: 0xe2, out: 0xffffffffffffff80
+lb :: offset: 0xe3, out: 0x28
+lb :: offset: 0xe4, out: 0xfffffffffffffff6
+lb :: offset: 0xe5, out: 0xfffffffffffffffb
+lb :: offset: 0xe6, out: 0xffffffffffffff9d
+lb :: offset: 0xe7, out: 0xffffffffffffff9f
+lb :: offset: 0xe8, out: 0xfffffffffffffffb
+lb :: offset: 0xe9, out: 0xffffffffffffffb8
+lb :: offset: 0xea, out: 0xffffffffffffffbb
+lb :: offset: 0xeb, out: 0x46
+lb :: offset: 0xec, out: 0xffffffffffffffff
+lb :: offset: 0xed, out: 0x79
+lb :: offset: 0xee, out: 0xffffffffffffffa6
+lb :: offset: 0xef, out: 0xfffffffffffffff1
+lb :: offset: 0xf0, out: 0xffffffffffffffe1
+lb :: offset: 0xf1, out: 0x3e
+lb :: offset: 0xf2, out: 0xfffffffffffffff6
+lb :: offset: 0xf3, out: 0xfffffffffffffff4
+lb :: offset: 0xf4, out: 0xffffffffffffffe5
+lb :: offset: 0xf5, out: 0xffffffffffffffff
+lb :: offset: 0xf6, out: 0xffffffffffffffeb
+lb :: offset: 0xf7, out: 0x43
+lb :: offset: 0xf8, out: 0xffffffffffffffe8
+lb :: offset: 0xf9, out: 0xffffffffffffffbc
+lb :: offset: 0xfa, out: 0xffffffffffffffcd
+lb :: offset: 0xfb, out: 0xffffffffffffff9a
+lb :: offset: 0xfc, out: 0xffffffffffffffec
+lb :: offset: 0xfd, out: 0x7d
+lb :: offset: 0xfe, out: 0xffffffffffffffd0
+lb :: offset: 0xff, out: 0x2d
+lb :: offset: 0x100, out: 0x34
+lb :: offset: 0x101, out: 0xffffffffffffff86
+lb :: offset: 0x102, out: 0x70
+lb :: offset: 0x103, out: 0x77
+lb :: offset: 0x104, out: 0x30
+lb :: offset: 0x105, out: 0x47
+lb :: offset: 0x106, out: 0x6d
+lb :: offset: 0x107, out: 0xffffffffffffffc0
+lb :: offset: 0x108, out: 0x3d
+lb :: offset: 0x109, out: 0x4
+lb :: offset: 0x10a, out: 0x4b
+lb :: offset: 0x10b, out: 0x19
+lb :: offset: 0x10c, out: 0x39
+lb :: offset: 0x10d, out: 0xffffffffffffffc5
+lb :: offset: 0x10e, out: 0x56
+lb :: offset: 0x10f, out: 0xffffffffffffffae
+lb :: offset: 0x110, out: 0x27
+lb :: offset: 0x111, out: 0xffffffffffffff82
+lb :: offset: 0x112, out: 0x6
+lb :: offset: 0x113, out: 0xffffffffffffffab
+lb :: offset: 0x114, out: 0x23
+lb :: offset: 0x115, out: 0x43
+lb :: offset: 0x116, out: 0x1b
+lb :: offset: 0x117, out: 0x1c
+lb :: offset: 0x118, out: 0x2e
+lb :: offset: 0x119, out: 0x0
+lb :: offset: 0x11a, out: 0x3d
+lb :: offset: 0x11b, out: 0xffffffffffffffc5
+lb :: offset: 0x11c, out: 0x2a
+lb :: offset: 0x11d, out: 0xffffffffffffffc1
+lb :: offset: 0x11e, out: 0x20
+lb :: offset: 0x11f, out: 0x72
+lb :: offset: 0x120, out: 0x12
+lb :: offset: 0x121, out: 0xffffffffffffff8e
+lb :: offset: 0x122, out: 0xffffffffffffff9d
+lb :: offset: 0x123, out: 0xffffffffffffffcf
+lb :: offset: 0x124, out: 0x16
+lb :: offset: 0x125, out: 0x4f
+lb :: offset: 0x126, out: 0xffffffffffffff80
+lb :: offset: 0x127, out: 0x78
+lb :: offset: 0x128, out: 0x1b
+lb :: offset: 0x129, out: 0xc
+lb :: offset: 0x12a, out: 0xffffffffffffffa6
+lb :: offset: 0x12b, out: 0xffffffffffffffa1
+lb :: offset: 0x12c, out: 0x1f
+lb :: offset: 0x12d, out: 0xffffffffffffffcd
+lb :: offset: 0x12e, out: 0xffffffffffffffbb
+lb :: offset: 0x12f, out: 0x16
+lb :: offset: 0x130, out: 0x1
+lb :: offset: 0x131, out: 0xffffffffffffff8a
+lb :: offset: 0x132, out: 0xffffffffffffffeb
+lb :: offset: 0x133, out: 0x13
+lb :: offset: 0x134, out: 0x5
+lb :: offset: 0x135, out: 0x4b
+lb :: offset: 0x136, out: 0xfffffffffffffff6
+lb :: offset: 0x137, out: 0xffffffffffffffa4
+lb :: offset: 0x138, out: 0x8
+lb :: offset: 0x139, out: 0x8
+lb :: offset: 0x13a, out: 0xffffffffffffffd0
+lb :: offset: 0x13b, out: 0x7d
+lb :: offset: 0x13c, out: 0xc
+lb :: offset: 0x13d, out: 0xffffffffffffffc9
+lb :: offset: 0x13e, out: 0xffffffffffffffcd
+lb :: offset: 0x13f, out: 0xffffffffffffffca
+lb :: offset: 0x140, out: 0x78
+lb :: offset: 0x141, out: 0xffffffffffffff97
+lb :: offset: 0x142, out: 0xffffffffffffffab
+lb :: offset: 0x143, out: 0x7
+lb :: offset: 0x144, out: 0x7c
+lb :: offset: 0x145, out: 0x56
+lb :: offset: 0x146, out: 0xffffffffffffffb6
+lb :: offset: 0x147, out: 0xffffffffffffffb0
+lb :: offset: 0x148, out: 0x71
+lb :: offset: 0x149, out: 0x15
+lb :: offset: 0x14a, out: 0xffffffffffffff90
+lb :: offset: 0x14b, out: 0x69
+lb :: offset: 0x14c, out: 0x75
+lb :: offset: 0x14d, out: 0xffffffffffffffd4
+lb :: offset: 0x14e, out: 0xffffffffffffff8d
+lb :: offset: 0x14f, out: 0xffffffffffffffde
+lb :: offset: 0x150, out: 0x6b
+lb :: offset: 0x151, out: 0xffffffffffffff93
+lb :: offset: 0x152, out: 0xffffffffffffffdd
+lb :: offset: 0x153, out: 0xffffffffffffffdb
+lb :: offset: 0x154, out: 0x6f
+lb :: offset: 0x155, out: 0x52
+lb :: offset: 0x156, out: 0xffffffffffffffc0
+lb :: offset: 0x157, out: 0x6c
+lb :: offset: 0x158, out: 0x62
+lb :: offset: 0x159, out: 0x11
+lb :: offset: 0x15a, out: 0xffffffffffffffe6
+lb :: offset: 0x15b, out: 0xffffffffffffffb5
+lb :: offset: 0x15c, out: 0x66
+lb :: offset: 0x15d, out: 0xffffffffffffffd0
+lb :: offset: 0x15e, out: 0xfffffffffffffffb
+lb :: offset: 0x15f, out: 0x2
+lb :: offset: 0x160, out: 0x5e
+lb :: offset: 0x161, out: 0xffffffffffffff9f
+lb :: offset: 0x162, out: 0x46
+lb :: offset: 0x163, out: 0xffffffffffffffbf
+lb :: offset: 0x164, out: 0x5a
+lb :: offset: 0x165, out: 0x5e
+lb :: offset: 0x166, out: 0x5b
+lb :: offset: 0x167, out: 0x8
+lb :: offset: 0x168, out: 0x57
+lb :: offset: 0x169, out: 0x1d
+lb :: offset: 0x16a, out: 0x7d
+lb :: offset: 0x16b, out: 0xffffffffffffffd1
+lb :: offset: 0x16c, out: 0x53
+lb :: offset: 0x16d, out: 0xffffffffffffffdc
+lb :: offset: 0x16e, out: 0x60
+lb :: offset: 0x16f, out: 0x66
+lb :: offset: 0x170, out: 0x4d
+lb :: offset: 0x171, out: 0xffffffffffffff9b
+lb :: offset: 0x172, out: 0x30
+lb :: offset: 0x173, out: 0x63
+lb :: offset: 0x174, out: 0x49
+lb :: offset: 0x175, out: 0x5a
+lb :: offset: 0x176, out: 0x2d
+lb :: offset: 0x177, out: 0xffffffffffffffd4
+lb :: offset: 0x178, out: 0x44
+lb :: offset: 0x179, out: 0x19
+lb :: offset: 0x17a, out: 0xb
+lb :: offset: 0x17b, out: 0xd
+lb :: offset: 0x17c, out: 0x40
+lb :: offset: 0x17d, out: 0xffffffffffffffd8
+lb :: offset: 0x17e, out: 0x16
+lb :: offset: 0x17f, out: 0xffffffffffffffba
+lb :: offset: 0x180, out: 0xffffffffffffffac
+lb :: offset: 0x181, out: 0xffffffffffffffa5
+lb :: offset: 0x182, out: 0xffffffffffffffc6
+lb :: offset: 0x183, out: 0xffffffffffffff97
+lb :: offset: 0x184, out: 0xffffffffffffffa8
+lb :: offset: 0x185, out: 0x64
+lb :: offset: 0x186, out: 0xffffffffffffffdb
+lb :: offset: 0x187, out: 0x20
+lb :: offset: 0x188, out: 0xffffffffffffffa5
+lb :: offset: 0x189, out: 0x27
+lb :: offset: 0x18a, out: 0xfffffffffffffffd
+lb :: offset: 0x18b, out: 0xfffffffffffffff9
+lb :: offset: 0x18c, out: 0xffffffffffffffa1
+lb :: offset: 0x18d, out: 0xffffffffffffffe6
+lb :: offset: 0x18e, out: 0xffffffffffffffe0
+lb :: offset: 0x18f, out: 0x4e
+lb :: offset: 0x190, out: 0xffffffffffffffbf
+lb :: offset: 0x191, out: 0xffffffffffffffa1
+lb :: offset: 0x192, out: 0xffffffffffffffb0
+lb :: offset: 0x193, out: 0x4b
+lb :: offset: 0x194, out: 0xffffffffffffffbb
+lb :: offset: 0x195, out: 0x60
+lb :: offset: 0x196, out: 0xffffffffffffffad
+lb :: offset: 0x197, out: 0xfffffffffffffffc
+lb :: offset: 0x198, out: 0xffffffffffffffb6
+lb :: offset: 0x199, out: 0x23
+lb :: offset: 0x19a, out: 0xffffffffffffff8b
+lb :: offset: 0x19b, out: 0x25
+lb :: offset: 0x19c, out: 0xffffffffffffffb2
+lb :: offset: 0x19d, out: 0xffffffffffffffe2
+lb :: offset: 0x19e, out: 0xffffffffffffff96
+lb :: offset: 0x19f, out: 0xffffffffffffff92
+lb :: offset: 0x1a0, out: 0xffffffffffffff8a
+lb :: offset: 0x1a1, out: 0xffffffffffffffad
+lb :: offset: 0x1a2, out: 0x2b
+lb :: offset: 0x1a3, out: 0x2f
+lb :: offset: 0x1a4, out: 0x0
+lb :: offset: 0x1a5, out: 0x0
+lb :: offset: 0x1a6, out: 0x0
+lb :: offset: 0x1a7, out: 0x0
+lb :: offset: 0x1a8, out: 0x0
+lb :: offset: 0x1a9, out: 0x0
+lb :: offset: 0x1aa, out: 0x0
+lb :: offset: 0x1ab, out: 0x0
+lb :: offset: 0x1ac, out: 0xffffffffffffff87
+lb :: offset: 0x1ad, out: 0xffffffffffffffee
+lb :: offset: 0x1ae, out: 0xd
+lb :: offset: 0x1af, out: 0xfffffffffffffff6
+lb :: offset: 0x1b0, out: 0xffffffffffffff99
+lb :: offset: 0x1b1, out: 0xffffffffffffffa9
+lb :: offset: 0x1b2, out: 0x5d
+lb :: offset: 0x1b3, out: 0xfffffffffffffff3
+lb :: offset: 0x1b4, out: 0xffffffffffffff9d
+lb :: offset: 0x1b5, out: 0x68
+lb :: offset: 0x1b6, out: 0x40
+lb :: offset: 0x1b7, out: 0x44
+lb :: offset: 0x1b8, out: 0xffffffffffffff90
+lb :: offset: 0x1b9, out: 0x2b
+lb :: offset: 0x1ba, out: 0x66
+lb :: offset: 0x1bb, out: 0xffffffffffffff9d
+lb :: offset: 0x1bc, out: 0xffffffffffffff94
+lb :: offset: 0x1bd, out: 0xffffffffffffffea
+lb :: offset: 0x1be, out: 0x7b
+lb :: offset: 0x1bf, out: 0x2a
+lb :: offset: 0x1c0, out: 0xffffffffffffffe0
+lb :: offset: 0x1c1, out: 0xffffffffffffffb4
+lb :: offset: 0x1c2, out: 0x1d
+lb :: offset: 0x1c3, out: 0xffffffffffffffe7
+lb :: offset: 0x1c4, out: 0xffffffffffffffe4
+lb :: offset: 0x1c5, out: 0x75
+lb :: offset: 0x1c6, out: 0x0
+lb :: offset: 0x1c7, out: 0x50
+lb :: offset: 0x1c8, out: 0xffffffffffffffe9
+lb :: offset: 0x1c9, out: 0x36
+lb :: offset: 0x1ca, out: 0x26
+lb :: offset: 0x1cb, out: 0xffffffffffffff89
+lb :: offset: 0x1cc, out: 0xffffffffffffffed
+lb :: offset: 0x1cd, out: 0xfffffffffffffff7
+lb :: offset: 0x1ce, out: 0x3b
+lb :: offset: 0x1cf, out: 0x3e
+lb :: offset: 0x1d0, out: 0xfffffffffffffff3
+lb :: offset: 0x1d1, out: 0xffffffffffffffb0
+lb :: offset: 0x1d2, out: 0x6b
+lb :: offset: 0x1d3, out: 0x3b
+lb :: offset: 0x1d4, out: 0xfffffffffffffff7
+lb :: offset: 0x1d5, out: 0x71
+lb :: offset: 0x1d6, out: 0x76
+lb :: offset: 0x1d7, out: 0xffffffffffffff8c
+lb :: offset: 0x1d8, out: 0xfffffffffffffffa
+lb :: offset: 0x1d9, out: 0x32
+lb :: offset: 0x1da, out: 0x50
+lb :: offset: 0x1db, out: 0x55
+lb :: offset: 0x1dc, out: 0xfffffffffffffffe
+lb :: offset: 0x1dd, out: 0xfffffffffffffff3
+lb :: offset: 0x1de, out: 0x4d
+lb :: offset: 0x1df, out: 0xffffffffffffffe2
+lb :: offset: 0x1e0, out: 0xffffffffffffffc6
+lb :: offset: 0x1e1, out: 0xffffffffffffffbc
+lb :: offset: 0x1e2, out: 0xfffffffffffffff0
+lb :: offset: 0x1e3, out: 0x5f
+lb :: offset: 0x1e4, out: 0xffffffffffffffc2
+lb :: offset: 0x1e5, out: 0x7d
+lb :: offset: 0x1e6, out: 0xffffffffffffffed
+lb :: offset: 0x1e7, out: 0xffffffffffffffe8
+lb :: offset: 0x1e8, out: 0xffffffffffffffcf
+lb :: offset: 0x1e9, out: 0x3e
+lb :: offset: 0x1ea, out: 0xffffffffffffffcb
+lb :: offset: 0x1eb, out: 0x31
+lb :: offset: 0x1ec, out: 0xffffffffffffffcb
+lb :: offset: 0x1ed, out: 0xffffffffffffffff
+lb :: offset: 0x1ee, out: 0xffffffffffffffd6
+lb :: offset: 0x1ef, out: 0xffffffffffffff86
+lb :: offset: 0x1f0, out: 0xffffffffffffffd5
+lb :: offset: 0x1f1, out: 0xffffffffffffffb8
+lb :: offset: 0x1f2, out: 0xffffffffffffff86
+lb :: offset: 0x1f3, out: 0xffffffffffffff83
+lb :: offset: 0x1f4, out: 0xffffffffffffffd1
+lb :: offset: 0x1f5, out: 0x79
+lb :: offset: 0x1f6, out: 0xffffffffffffff9b
+lb :: offset: 0x1f7, out: 0x34
+lb :: offset: 0x1f8, out: 0xffffffffffffffdc
+lb :: offset: 0x1f9, out: 0x3a
+lb :: offset: 0x1fa, out: 0xffffffffffffffbd
+lb :: offset: 0x1fb, out: 0xffffffffffffffed
+lb :: offset: 0x1fc, out: 0xffffffffffffffd8
+lb :: offset: 0x1fd, out: 0xfffffffffffffffb
+lb :: offset: 0x1fe, out: 0xffffffffffffffa0
+lb :: offset: 0x1ff, out: 0x5a
+lb :: offset: 0x200, out: 0x69
+lb :: offset: 0x201, out: 0xc
+lb :: offset: 0x202, out: 0xffffffffffffffe0
+lb :: offset: 0x203, out: 0xffffffffffffffee
+lb :: offset: 0x204, out: 0x6d
+lb :: offset: 0x205, out: 0xffffffffffffffcd
+lb :: offset: 0x206, out: 0xfffffffffffffffd
+lb :: offset: 0x207, out: 0x59
+lb :: offset: 0x208, out: 0x60
+lb :: offset: 0x209, out: 0xffffffffffffff8e
+lb :: offset: 0x20a, out: 0xffffffffffffffdb
+lb :: offset: 0x20b, out: 0xffffffffffffff80
+lb :: offset: 0x20c, out: 0x64
+lb :: offset: 0x20d, out: 0x4f
+lb :: offset: 0x20e, out: 0xffffffffffffffc6
+lb :: offset: 0x20f, out: 0x37
+lb :: offset: 0x210, out: 0x7a
+lb :: offset: 0x211, out: 0x8
+lb :: offset: 0x212, out: 0xffffffffffffff96
+lb :: offset: 0x213, out: 0x32
+lb :: offset: 0x214, out: 0x7e
+lb :: offset: 0x215, out: 0xffffffffffffffc9
+lb :: offset: 0x216, out: 0xffffffffffffff8b
+lb :: offset: 0x217, out: 0xffffffffffffff85
+lb :: offset: 0x218, out: 0x73
+lb :: offset: 0x219, out: 0xffffffffffffff8a
+lb :: offset: 0x21a, out: 0xffffffffffffffad
+lb :: offset: 0x21b, out: 0x5c
+lb :: offset: 0x21c, out: 0x77
+lb :: offset: 0x21d, out: 0x4b
+lb :: offset: 0x21e, out: 0xffffffffffffffb0
+lb :: offset: 0x21f, out: 0xffffffffffffffeb
+lb :: offset: 0x220, out: 0x4f
+lb :: offset: 0x221, out: 0x4
+lb :: offset: 0x222, out: 0xd
+lb :: offset: 0x223, out: 0x56
+lb :: offset: 0x224, out: 0x4b
+lb :: offset: 0x225, out: 0xffffffffffffffc5
+lb :: offset: 0x226, out: 0x10
+lb :: offset: 0x227, out: 0xffffffffffffffe1
+lb :: offset: 0x228, out: 0x46
+lb :: offset: 0x229, out: 0xffffffffffffff86
+lb :: offset: 0x22a, out: 0x36
+lb :: offset: 0x22b, out: 0x38
+lb :: offset: 0x22c, out: 0x42
+lb :: offset: 0x22d, out: 0x47
+lb :: offset: 0x22e, out: 0x2b
+lb :: offset: 0x22f, out: 0xffffffffffffff8f
+lb :: offset: 0x230, out: 0x5c
+lb :: offset: 0x231, out: 0x0
+lb :: offset: 0x232, out: 0x7b
+lb :: offset: 0x233, out: 0xffffffffffffff8a
+lb :: offset: 0x234, out: 0x58
+lb :: offset: 0x235, out: 0xffffffffffffffc1
+lb :: offset: 0x236, out: 0x66
+lb :: offset: 0x237, out: 0x3d
+lb :: offset: 0x238, out: 0x55
+lb :: offset: 0x239, out: 0xffffffffffffff82
+lb :: offset: 0x23a, out: 0x40
+lb :: offset: 0x23b, out: 0xffffffffffffffe4
+lb :: offset: 0x23c, out: 0x51
+lb :: offset: 0x23d, out: 0x43
+lb :: offset: 0x23e, out: 0x5d
+lb :: offset: 0x23f, out: 0x53
+lb :: offset: 0x240, out: 0x25
+lb :: offset: 0x241, out: 0x1d
+lb :: offset: 0x242, out: 0x3b
+lb :: offset: 0x243, out: 0xffffffffffffff9e
+lb :: offset: 0x244, out: 0x21
+lb :: offset: 0x245, out: 0xffffffffffffffdc
+lb :: offset: 0x246, out: 0x26
+lb :: offset: 0x247, out: 0x29
+lb :: offset: 0x248, out: 0x2c
+lb :: offset: 0x249, out: 0xffffffffffffff9f
+lb :: offset: 0x24a, out: 0x0
+lb :: offset: 0x24b, out: 0xfffffffffffffff0
+lb :: offset: 0x24c, out: 0x28
+lb :: offset: 0x24d, out: 0x5e
+lb :: offset: 0x24e, out: 0x1d
+lb :: offset: 0x24f, out: 0x47
+lb :: offset: 0x250, out: 0x36
+lb :: offset: 0x251, out: 0x19
+lb :: offset: 0x252, out: 0x4d
+lb :: offset: 0x253, out: 0x42
+lb :: offset: 0x254, out: 0x32
+lb :: offset: 0x255, out: 0xffffffffffffffd8
+lb :: offset: 0x256, out: 0x50
+lb :: offset: 0x257, out: 0xfffffffffffffff5
+lb :: offset: 0x258, out: 0x3f
+lb :: offset: 0x259, out: 0xffffffffffffff9b
+lb :: offset: 0x25a, out: 0x76
+lb :: offset: 0x25b, out: 0x2c
+lb :: offset: 0x25c, out: 0x3b
+lb :: offset: 0x25d, out: 0x5a
+lb :: offset: 0x25e, out: 0x6b
+lb :: offset: 0x25f, out: 0xffffffffffffff9b
+lb :: offset: 0x260, out: 0x3
+lb :: offset: 0x261, out: 0x15
+lb :: offset: 0x262, out: 0xffffffffffffffd6
+lb :: offset: 0x263, out: 0x26
+lb :: offset: 0x264, out: 0x7
+lb :: offset: 0x265, out: 0xffffffffffffffd4
+lb :: offset: 0x266, out: 0xffffffffffffffcb
+lb :: offset: 0x267, out: 0xffffffffffffff91
+lb :: offset: 0x268, out: 0xa
+lb :: offset: 0x269, out: 0xffffffffffffff97
+lb :: offset: 0x26a, out: 0xffffffffffffffed
+lb :: offset: 0x26b, out: 0x48
+lb :: offset: 0x26c, out: 0xe
+lb :: offset: 0x26d, out: 0x56
+lb :: offset: 0x26e, out: 0xfffffffffffffff0
+lb :: offset: 0x26f, out: 0xffffffffffffffff
+lb :: offset: 0x270, out: 0x10
+lb :: offset: 0x271, out: 0x11
+lb :: offset: 0x272, out: 0xffffffffffffffa0
+lb :: offset: 0x273, out: 0xfffffffffffffffa
+lb :: offset: 0x274, out: 0x14
+lb :: offset: 0x275, out: 0xffffffffffffffd0
+lb :: offset: 0x276, out: 0xffffffffffffffbd
+lb :: offset: 0x277, out: 0x4d
+lb :: offset: 0x278, out: 0x19
+lb :: offset: 0x279, out: 0xffffffffffffff93
+lb :: offset: 0x27a, out: 0xffffffffffffff9b
+lb :: offset: 0x27b, out: 0xffffffffffffff94
+lb :: offset: 0x27c, out: 0x1d
+lb :: offset: 0x27d, out: 0x52
+lb :: offset: 0x27e, out: 0xffffffffffffff86
+lb :: offset: 0x27f, out: 0x23
+lb :: offset: 0x280, out: 0xfffffffffffffff1
+lb :: offset: 0x281, out: 0x2f
+lb :: offset: 0x282, out: 0x56
+lb :: offset: 0x283, out: 0xe
+lb :: offset: 0x284, out: 0xfffffffffffffff5
+lb :: offset: 0x285, out: 0xffffffffffffffee
+lb :: offset: 0x286, out: 0x4b
+lb :: offset: 0x287, out: 0xffffffffffffffb9
+lb :: offset: 0x288, out: 0xfffffffffffffff8
+lb :: offset: 0x289, out: 0xffffffffffffffad
+lb :: offset: 0x28a, out: 0x6d
+lb :: offset: 0x28b, out: 0x60
+lb :: offset: 0x28c, out: 0xfffffffffffffffc
+lb :: offset: 0x28d, out: 0x6c
+lb :: offset: 0x28e, out: 0x70
+lb :: offset: 0x28f, out: 0xffffffffffffffd7
+lb :: offset: 0x290, out: 0xffffffffffffffe2
+lb :: offset: 0x291, out: 0x2b
+lb :: offset: 0x292, out: 0x20
+lb :: offset: 0x293, out: 0xffffffffffffffd2
+lb :: offset: 0x294, out: 0xffffffffffffffe6
+lb :: offset: 0x295, out: 0xffffffffffffffea
+lb :: offset: 0x296, out: 0x3d
+lb :: offset: 0x297, out: 0x65
+lb :: offset: 0x298, out: 0xffffffffffffffeb
+lb :: offset: 0x299, out: 0xffffffffffffffa9
+lb :: offset: 0x29a, out: 0x1b
+lb :: offset: 0x29b, out: 0xffffffffffffffbc
+lb :: offset: 0x29c, out: 0xffffffffffffffef
+lb :: offset: 0x29d, out: 0x68
+lb :: offset: 0x29e, out: 0x6
+lb :: offset: 0x29f, out: 0xb
+lb :: offset: 0x2a0, out: 0xffffffffffffffd7
+lb :: offset: 0x2a1, out: 0x27
+lb :: offset: 0x2a2, out: 0xffffffffffffffbb
+lb :: offset: 0x2a3, out: 0xffffffffffffffb6
+lb :: offset: 0x2a4, out: 0xffffffffffffffd3
+lb :: offset: 0x2a5, out: 0xffffffffffffffe6
+lb :: offset: 0x2a6, out: 0xffffffffffffffa6
+lb :: offset: 0x2a7, out: 0x1
+lb :: offset: 0x2a8, out: 0xffffffffffffffde
+lb :: offset: 0x2a9, out: 0xffffffffffffffa5
+lb :: offset: 0x2aa, out: 0xffffffffffffff80
+lb :: offset: 0x2ab, out: 0xffffffffffffffd8
+lb :: offset: 0x2ac, out: 0xffffffffffffffda
+lb :: offset: 0x2ad, out: 0x64
+lb :: offset: 0x2ae, out: 0xffffffffffffff9d
+lb :: offset: 0x2af, out: 0x6f
+lb :: offset: 0x2b0, out: 0xffffffffffffffc4
+lb :: offset: 0x2b1, out: 0x23
+lb :: offset: 0x2b2, out: 0xffffffffffffffcd
+lb :: offset: 0x2b3, out: 0x6a
+lb :: offset: 0x2b4, out: 0x0
+lb :: offset: 0x2b5, out: 0x0
+lb :: offset: 0x2b6, out: 0x0
+lb :: offset: 0x2b7, out: 0x0
+lb :: offset: 0x2b8, out: 0xffffffffffffffcd
+lb :: offset: 0x2b9, out: 0xffffffffffffffa1
+lb :: offset: 0x2ba, out: 0xfffffffffffffff6
+lb :: offset: 0x2bb, out: 0x4
+lb :: offset: 0x2bc, out: 0x0
+lb :: offset: 0x2bd, out: 0x0
+lb :: offset: 0x2be, out: 0x0
+lb :: offset: 0x2bf, out: 0x0
+lb :: offset: 0x2c0, out: 0xffffffffffffffbd
+lb :: offset: 0x2c1, out: 0x3e
+lb :: offset: 0x2c2, out: 0xffffffffffffff8d
+lb :: offset: 0x2c3, out: 0x7e
+lb :: offset: 0x2c4, out: 0xffffffffffffffb9
+lb :: offset: 0x2c5, out: 0xffffffffffffffff
+lb :: offset: 0x2c6, out: 0xffffffffffffff90
+lb :: offset: 0x2c7, out: 0xffffffffffffffc9
+lb :: offset: 0x2c8, out: 0xffffffffffffffb4
+lb :: offset: 0x2c9, out: 0xffffffffffffffbc
+lb :: offset: 0x2ca, out: 0xffffffffffffffb6
+lb :: offset: 0x2cb, out: 0x10
+lb :: offset: 0x2cc, out: 0xffffffffffffffb0
+lb :: offset: 0x2cd, out: 0x7d
+lb :: offset: 0x2ce, out: 0xffffffffffffffab
+lb :: offset: 0x2cf, out: 0xffffffffffffffa7
+lb :: offset: 0x2d0, out: 0xffffffffffffffae
+lb :: offset: 0x2d1, out: 0x3a
+lb :: offset: 0x2d2, out: 0xfffffffffffffffb
+lb :: offset: 0x2d3, out: 0xffffffffffffffa2
+lb :: offset: 0x2d4, out: 0xffffffffffffffaa
+lb :: offset: 0x2d5, out: 0xfffffffffffffffb
+lb :: offset: 0x2d6, out: 0xffffffffffffffe6
+lb :: offset: 0x2d7, out: 0x15
+lb :: offset: 0x2d8, out: 0xffffffffffffffa7
+lb :: offset: 0x2d9, out: 0xffffffffffffffb8
+lb :: offset: 0x2da, out: 0xffffffffffffffc0
+lb :: offset: 0x2db, out: 0xffffffffffffffcc
+lb :: offset: 0x2dc, out: 0xffffffffffffffa3
+lb :: offset: 0x2dd, out: 0x79
+lb :: offset: 0x2de, out: 0xffffffffffffffdd
+lb :: offset: 0x2df, out: 0x7b
+lb :: offset: 0x2e0, out: 0xffffffffffffff9b
+lb :: offset: 0x2e1, out: 0x36
+lb :: offset: 0x2e2, out: 0x60
+lb :: offset: 0x2e3, out: 0xffffffffffffffc6
+lb :: offset: 0x2e4, out: 0xffffffffffffff9f
+lb :: offset: 0x2e5, out: 0xfffffffffffffff7
+lb :: offset: 0x2e6, out: 0x7d
+lb :: offset: 0x2e7, out: 0x71
+lb :: offset: 0x2e8, out: 0xffffffffffffff92
+lb :: offset: 0x2e9, out: 0xffffffffffffffb4
+lb :: offset: 0x2ea, out: 0x5b
+lb :: offset: 0x2eb, out: 0xffffffffffffffa8
+lb :: offset: 0x2ec, out: 0xffffffffffffff96
+lb :: offset: 0x2ed, out: 0x75
+lb :: offset: 0x2ee, out: 0x46
+lb :: offset: 0x2ef, out: 0x1f
+lb :: offset: 0x2f0, out: 0xffffffffffffff88
+lb :: offset: 0x2f1, out: 0x32
+lb :: offset: 0x2f2, out: 0x16
+lb :: offset: 0x2f3, out: 0x1a
+lb :: offset: 0x2f4, out: 0xffffffffffffff8c
+lb :: offset: 0x2f5, out: 0xfffffffffffffff3
+lb :: offset: 0x2f6, out: 0xb
+lb :: offset: 0x2f7, out: 0xffffffffffffffad
+lb :: offset: 0x2f8, out: 0xffffffffffffff81
+lb :: offset: 0x2f9, out: 0xffffffffffffffb0
+lb :: offset: 0x2fa, out: 0x2d
+lb :: offset: 0x2fb, out: 0x74
+lb :: offset: 0x2fc, out: 0xffffffffffffff85
+lb :: offset: 0x2fd, out: 0x71
+lb :: offset: 0x2fe, out: 0x30
+lb :: offset: 0x2ff, out: 0xffffffffffffffc3
+lb :: offset: 0x300, out: 0x5d
+lb :: offset: 0x301, out: 0xffffffffffffff8a
+lb :: offset: 0x302, out: 0xffffffffffffff90
+lb :: offset: 0x303, out: 0xffffffffffffff99
+lb :: offset: 0x304, out: 0x59
+lb :: offset: 0x305, out: 0x4b
+lb :: offset: 0x306, out: 0xffffffffffffff8d
+lb :: offset: 0x307, out: 0x2e
+lb :: offset: 0x308, out: 0x54
+lb :: offset: 0x309, out: 0x8
+lb :: offset: 0x30a, out: 0xffffffffffffffab
+lb :: offset: 0x30b, out: 0xfffffffffffffff7
+lb :: offset: 0x30c, out: 0x50
+lb :: offset: 0x30d, out: 0xffffffffffffffc9
+lb :: offset: 0x30e, out: 0xffffffffffffffb6
+lb :: offset: 0x30f, out: 0x40
+lb :: offset: 0x310, out: 0x4e
+lb :: offset: 0x311, out: 0xffffffffffffff8e
+lb :: offset: 0x312, out: 0xffffffffffffffe6
+lb :: offset: 0x313, out: 0x45
+lb :: offset: 0x314, out: 0x4a
+lb :: offset: 0x315, out: 0x4f
+lb :: offset: 0x316, out: 0xfffffffffffffffb
+lb :: offset: 0x317, out: 0xfffffffffffffff2
+lb :: offset: 0x318, out: 0x47
+lb :: offset: 0x319, out: 0xc
+lb :: offset: 0x31a, out: 0xffffffffffffffdd
+lb :: offset: 0x31b, out: 0x2b
+lb :: offset: 0x31c, out: 0x43
+lb :: offset: 0x31d, out: 0xffffffffffffffcd
+lb :: offset: 0x31e, out: 0xffffffffffffffc0
+lb :: offset: 0x31f, out: 0xffffffffffffff9c
+lb :: offset: 0x320, out: 0x7b
+lb :: offset: 0x321, out: 0xffffffffffffff82
+lb :: offset: 0x322, out: 0x7d
+lb :: offset: 0x323, out: 0x21
+lb :: offset: 0x324, out: 0x7f
+lb :: offset: 0x325, out: 0x43
+lb :: offset: 0x326, out: 0x60
+lb :: offset: 0x327, out: 0xffffffffffffff96
+lb :: offset: 0x328, out: 0x72
+lb :: offset: 0x329, out: 0x0
+lb :: offset: 0x32a, out: 0x46
+lb :: offset: 0x32b, out: 0x4f
+lb :: offset: 0x32c, out: 0x76
+lb :: offset: 0x32d, out: 0xffffffffffffffc1
+lb :: offset: 0x32e, out: 0x5b
+lb :: offset: 0x32f, out: 0xfffffffffffffff8
+lb :: offset: 0x330, out: 0x68
+lb :: offset: 0x331, out: 0xffffffffffffff86
+lb :: offset: 0x332, out: 0xb
+lb :: offset: 0x333, out: 0xfffffffffffffffd
+lb :: offset: 0x334, out: 0x6c
+lb :: offset: 0x335, out: 0x47
+lb :: offset: 0x336, out: 0x16
+lb :: offset: 0x337, out: 0x4a
+lb :: offset: 0x338, out: 0x61
+lb :: offset: 0x339, out: 0x4
+lb :: offset: 0x33a, out: 0x30
+lb :: offset: 0x33b, out: 0xffffffffffffff93
+lb :: offset: 0x33c, out: 0x65
+lb :: offset: 0x33d, out: 0xffffffffffffffc5
+lb :: offset: 0x33e, out: 0x2d
+lb :: offset: 0x33f, out: 0x24
+lb :: offset: 0x340, out: 0x11
+lb :: offset: 0x341, out: 0xffffffffffffff9b
+lb :: offset: 0x342, out: 0x4b
+lb :: offset: 0x343, out: 0xffffffffffffffe9
+lb :: offset: 0x344, out: 0x15
+lb :: offset: 0x345, out: 0x5a
+lb :: offset: 0x346, out: 0x56
+lb :: offset: 0x347, out: 0x5e
+lb :: offset: 0x348, out: 0x18
+lb :: offset: 0x349, out: 0x19
+lb :: offset: 0x34a, out: 0x70
+lb :: offset: 0x34b, out: 0xffffffffffffff87
+lb :: offset: 0x34c, out: 0x1c
+lb :: offset: 0x34d, out: 0xffffffffffffffd8
+lb :: offset: 0x34e, out: 0x6d
+lb :: offset: 0x34f, out: 0x30
+lb :: offset: 0x350, out: 0x2
+lb :: offset: 0x351, out: 0xffffffffffffff9f
+lb :: offset: 0x352, out: 0x3d
+lb :: offset: 0x353, out: 0x35
+lb :: offset: 0x354, out: 0x6
+lb :: offset: 0x355, out: 0x5e
+lb :: offset: 0x356, out: 0x20
+lb :: offset: 0x357, out: 0xffffffffffffff82
+lb :: offset: 0x358, out: 0xb
+lb :: offset: 0x359, out: 0x1d
+lb :: offset: 0x35a, out: 0x6
+lb :: offset: 0x35b, out: 0x5b
+lb :: offset: 0x35c, out: 0xf
+lb :: offset: 0x35d, out: 0xffffffffffffffdc
+lb :: offset: 0x35e, out: 0x1b
+lb :: offset: 0x35f, out: 0xffffffffffffffec
+lb :: offset: 0x360, out: 0x37
+lb :: offset: 0x361, out: 0xffffffffffffff93
+lb :: offset: 0x362, out: 0xffffffffffffffa6
+lb :: offset: 0x363, out: 0x51
+lb :: offset: 0x364, out: 0x33
+lb :: offset: 0x365, out: 0x52
+lb :: offset: 0x366, out: 0xffffffffffffffbb
+lb :: offset: 0x367, out: 0xffffffffffffffe6
+lb :: offset: 0x368, out: 0x3e
+lb :: offset: 0x369, out: 0x11
+lb :: offset: 0x36a, out: 0xffffffffffffff9d
+lb :: offset: 0x36b, out: 0x3f
+lb :: offset: 0x36c, out: 0x3a
+lb :: offset: 0x36d, out: 0xffffffffffffffd0
+lb :: offset: 0x36e, out: 0xffffffffffffff80
+lb :: offset: 0x36f, out: 0xffffffffffffff88
+lb :: offset: 0x370, out: 0x24
+lb :: offset: 0x371, out: 0xffffffffffffff97
+lb :: offset: 0x372, out: 0xffffffffffffffd0
+lb :: offset: 0x373, out: 0xffffffffffffff8d
+lb :: offset: 0x374, out: 0x20
+lb :: offset: 0x375, out: 0x56
+lb :: offset: 0x376, out: 0xffffffffffffffcd
+lb :: offset: 0x377, out: 0x3a
+lb :: offset: 0x378, out: 0x2d
+lb :: offset: 0x379, out: 0x15
+lb :: offset: 0x37a, out: 0xffffffffffffffeb
+lb :: offset: 0x37b, out: 0xffffffffffffffe3
+lb :: offset: 0x37c, out: 0x29
+lb :: offset: 0x37d, out: 0xffffffffffffffd4
+lb :: offset: 0x37e, out: 0xfffffffffffffff6
+lb :: offset: 0x37f, out: 0x54
+lb :: offset: 0x380, out: 0xffffffffffffffc5
+lb :: offset: 0x381, out: 0xffffffffffffffa9
+lb :: offset: 0x382, out: 0x26
+lb :: offset: 0x383, out: 0x79
+lb :: offset: 0x384, out: 0xffffffffffffffc1
+lb :: offset: 0x385, out: 0x68
+lb :: offset: 0x386, out: 0x3b
+lb :: offset: 0x387, out: 0xffffffffffffffce
+lb :: offset: 0x388, out: 0xffffffffffffffcc
+lb :: offset: 0x389, out: 0x2b
+lb :: offset: 0x38a, out: 0x1d
+lb :: offset: 0x38b, out: 0x17
+lb :: offset: 0x38c, out: 0xffffffffffffffc8
+lb :: offset: 0x38d, out: 0xffffffffffffffea
+lb :: offset: 0x38e, out: 0x0
+lb :: offset: 0x38f, out: 0xffffffffffffffa0
+lb :: offset: 0x390, out: 0xffffffffffffffd6
+lb :: offset: 0x391, out: 0xffffffffffffffad
+lb :: offset: 0x392, out: 0x50
+lb :: offset: 0x393, out: 0xffffffffffffffa5
+lb :: offset: 0x394, out: 0xffffffffffffffd2
+lb :: offset: 0x395, out: 0x6c
+lb :: offset: 0x396, out: 0x4d
+lb :: offset: 0x397, out: 0x12
+lb :: offset: 0x398, out: 0xffffffffffffffdf
+lb :: offset: 0x399, out: 0x2f
+lb :: offset: 0x39a, out: 0x6b
+lb :: offset: 0x39b, out: 0xffffffffffffffcb
+lb :: offset: 0x39c, out: 0xffffffffffffffdb
+lb :: offset: 0x39d, out: 0xffffffffffffffee
+lb :: offset: 0x39e, out: 0x76
+lb :: offset: 0x39f, out: 0x7c
+lb :: offset: 0x3a0, out: 0xffffffffffffffe3
+lb :: offset: 0x3a1, out: 0xffffffffffffffa1
+lb :: offset: 0x3a2, out: 0xffffffffffffffcb
+lb :: offset: 0x3a3, out: 0xffffffffffffffc1
+lb :: offset: 0x3a4, out: 0xffffffffffffffe7
+lb :: offset: 0x3a5, out: 0x60
+lb :: offset: 0x3a6, out: 0xffffffffffffffd6
+lb :: offset: 0x3a7, out: 0x76
+lb :: offset: 0x3a8, out: 0xffffffffffffffea
+lb :: offset: 0x3a9, out: 0x23
+lb :: offset: 0x3aa, out: 0xfffffffffffffff0
+lb :: offset: 0x3ab, out: 0xffffffffffffffaf
+lb :: offset: 0x3ac, out: 0xffffffffffffffee
+lb :: offset: 0x3ad, out: 0xffffffffffffffe2
+lb :: offset: 0x3ae, out: 0xffffffffffffffed
+lb :: offset: 0x3af, out: 0x18
+lb :: offset: 0x3b0, out: 0xfffffffffffffff0
+lb :: offset: 0x3b1, out: 0xffffffffffffffa5
+lb :: offset: 0x3b2, out: 0xffffffffffffffbd
+lb :: offset: 0x3b3, out: 0x1d
+lb :: offset: 0x3b4, out: 0xfffffffffffffff4
+lb :: offset: 0x3b5, out: 0x64
+lb :: offset: 0x3b6, out: 0xffffffffffffffa0
+lb :: offset: 0x3b7, out: 0xffffffffffffffaa
+lb :: offset: 0x3b8, out: 0xfffffffffffffff9
+lb :: offset: 0x3b9, out: 0x27
+lb :: offset: 0x3ba, out: 0xffffffffffffff86
+lb :: offset: 0x3bb, out: 0x73
+lb :: offset: 0x3bc, out: 0xfffffffffffffffd
+lb :: offset: 0x3bd, out: 0xffffffffffffffe6
+lb :: offset: 0x3be, out: 0xffffffffffffff9b
+lb :: offset: 0x3bf, out: 0xffffffffffffffc4
+lb :: offset: 0x3c0, out: 0xffffffffffffff89
+lb :: offset: 0x3c1, out: 0xffffffffffffffb8
+lb :: offset: 0x3c2, out: 0xfffffffffffffffd
+lb :: offset: 0x3c3, out: 0x9
+lb :: offset: 0x3c4, out: 0xffffffffffffff8d
+lb :: offset: 0x3c5, out: 0x79
+lb :: offset: 0x3c6, out: 0xffffffffffffffe0
+lb :: offset: 0x3c7, out: 0xffffffffffffffbe
+lb :: offset: 0x3c8, out: 0xffffffffffffff80
+lb :: offset: 0x3c9, out: 0x3a
+lb :: offset: 0x3ca, out: 0xffffffffffffffc6
+lb :: offset: 0x3cb, out: 0x67
+lb :: offset: 0x3cc, out: 0xffffffffffffff84
+lb :: offset: 0x3cd, out: 0xfffffffffffffffb
+lb :: offset: 0x3ce, out: 0xffffffffffffffdb
+lb :: offset: 0x3cf, out: 0xffffffffffffffd0
+lb :: offset: 0x3d0, out: 0xffffffffffffff9a
+lb :: offset: 0x3d1, out: 0xffffffffffffffbc
+lb :: offset: 0x3d2, out: 0xffffffffffffff8b
+lb :: offset: 0x3d3, out: 0xffffffffffffffd5
+lb :: offset: 0x3d4, out: 0xffffffffffffff9e
+lb :: offset: 0x3d5, out: 0x7d
+lb :: offset: 0x3d6, out: 0xffffffffffffff96
+lb :: offset: 0x3d7, out: 0x62
+lb :: offset: 0x3d8, out: 0xffffffffffffff93
+lb :: offset: 0x3d9, out: 0x3e
+lb :: offset: 0x3da, out: 0xffffffffffffffb0
+lb :: offset: 0x3db, out: 0xffffffffffffffbb
+lb :: offset: 0x3dc, out: 0xffffffffffffff97
+lb :: offset: 0x3dd, out: 0xffffffffffffffff
+lb :: offset: 0x3de, out: 0xffffffffffffffad
+lb :: offset: 0x3df, out: 0xc
+lb :: offset: 0x3e0, out: 0xffffffffffffffaf
+lb :: offset: 0x3e1, out: 0xffffffffffffffb0
+lb :: offset: 0x3e2, out: 0x10
+lb :: offset: 0x3e3, out: 0xffffffffffffffb1
+lb :: offset: 0x3e4, out: 0xffffffffffffffab
+lb :: offset: 0x3e5, out: 0x71
+lb :: offset: 0x3e6, out: 0xd
+lb :: offset: 0x3e7, out: 0x6
+lb :: offset: 0x3e8, out: 0xffffffffffffffa6
+lb :: offset: 0x3e9, out: 0x32
+lb :: offset: 0x3ea, out: 0x2b
+lb :: offset: 0x3eb, out: 0xffffffffffffffdf
+lb :: offset: 0x3ec, out: 0xffffffffffffffa2
+lb :: offset: 0x3ed, out: 0xfffffffffffffff3
+lb :: offset: 0x3ee, out: 0x36
+lb :: offset: 0x3ef, out: 0x68
+lb :: offset: 0x3f0, out: 0xffffffffffffffbc
+lb :: offset: 0x3f1, out: 0xffffffffffffffb4
+lb :: offset: 0x3f2, out: 0x66
+lb :: offset: 0x3f3, out: 0x6d
+lb :: offset: 0x3f4, out: 0xffffffffffffffb8
+lb :: offset: 0x3f5, out: 0x75
+lb :: offset: 0x3f6, out: 0x7b
+lb :: offset: 0x3f7, out: 0xffffffffffffffda
+lb :: offset: 0x3f8, out: 0xffffffffffffffb5
+lb :: offset: 0x3f9, out: 0x36
+lb :: offset: 0x3fa, out: 0x5d
+lb :: offset: 0x3fb, out: 0x3
+lb :: offset: 0x3fc, out: 0xffffffffffffffb1
+lb :: offset: 0x3fd, out: 0xfffffffffffffff7
+lb :: offset: 0x3fe, out: 0x40
+lb :: offset: 0x3ff, out: 0xffffffffffffffb4
+lb :: offset: 0x0, out: 0x0
+lb :: offset: 0x1, out: 0x0
+lb :: offset: 0x2, out: 0x0
+lb :: offset: 0x3, out: 0x0
+lb :: offset: 0x4, out: 0x1
+lb :: offset: 0x5, out: 0x2b
+lb :: offset: 0x6, out: 0xffffffffffffffd6
+lb :: offset: 0x7, out: 0xffffffffffffffaa
+lb :: offset: 0x8, out: 0x0
+lb :: offset: 0x9, out: 0x7e
+lb :: offset: 0xa, out: 0xffffffffffffff87
+lb :: offset: 0xb, out: 0x63
+lb :: offset: 0xc, out: 0xffffffffffffff82
+lb :: offset: 0xd, out: 0xffffffffffffffd2
+lb :: offset: 0xe, out: 0xffffffffffffffab
+lb :: offset: 0xf, out: 0x13
+lb :: offset: 0x10, out: 0xffffffffffffff97
+lb :: offset: 0x11, out: 0x6d
+lb :: offset: 0x12, out: 0x6e
+lb :: offset: 0x13, out: 0xffffffffffffff9a
+lb :: offset: 0x14, out: 0xffffffffffffffc3
+lb :: offset: 0x15, out: 0x15
+lb :: offset: 0x16, out: 0x10
+lb :: offset: 0x17, out: 0xfffffffffffffff3
+lb :: offset: 0x18, out: 0xffffffffffffffb7
+lb :: offset: 0x19, out: 0x74
+lb :: offset: 0x1a, out: 0x6d
+lb :: offset: 0x1b, out: 0x77
+lb :: offset: 0x1c, out: 0x5a
+lb :: offset: 0x1d, out: 0xffffffffffffffd6
+lb :: offset: 0x1e, out: 0xffffffffffffffa5
+lb :: offset: 0x1f, out: 0xfffffffffffffffb
+lb :: offset: 0x20, out: 0x42
+lb :: offset: 0x21, out: 0xffffffffffffffb0
+lb :: offset: 0x22, out: 0xffffffffffffffc0
+lb :: offset: 0x23, out: 0xffffffffffffffa2
+lb :: offset: 0x24, out: 0xffffffffffffff86
+lb :: offset: 0x25, out: 0x77
+lb :: offset: 0x26, out: 0xffffffffffffffb5
+lb :: offset: 0x27, out: 0x2
+lb :: offset: 0x28, out: 0x2a
+lb :: offset: 0x29, out: 0xffffffffffffffa8
+lb :: offset: 0x2a, out: 0xffffffffffffff9d
+lb :: offset: 0x2b, out: 0x31
+lb :: offset: 0x2c, out: 0xffffffffffffff9e
+lb :: offset: 0x2d, out: 0x3c
+lb :: offset: 0x2e, out: 0x30
+lb :: offset: 0x2f, out: 0xffffffffffffffad
+lb :: offset: 0x30, out: 0x1f
+lb :: offset: 0x31, out: 0x30
+lb :: offset: 0x32, out: 0xffffffffffffff8e
+lb :: offset: 0x33, out: 0xffffffffffffffc3
+lb :: offset: 0x34, out: 0x77
+lb :: offset: 0x35, out: 0xfffffffffffffffb
+lb :: offset: 0x36, out: 0x41
+lb :: offset: 0x37, out: 0x3d
+lb :: offset: 0x38, out: 0x7a
+lb :: offset: 0x39, out: 0xffffffffffffffa0
+lb :: offset: 0x3a, out: 0x42
+lb :: offset: 0x3b, out: 0x13
+lb :: offset: 0x3c, out: 0xffffffffffffffc7
+lb :: offset: 0x3d, out: 0x60
+lb :: offset: 0x3e, out: 0xffffffffffffffe4
+lb :: offset: 0x3f, out: 0xfffffffffffffff7
+lb :: offset: 0x40, out: 0xffffffffffffff9e
+lb :: offset: 0x41, out: 0x70
+lb :: offset: 0x42, out: 0x5c
+lb :: offset: 0x43, out: 0xffffffffffffffc5
+lb :: offset: 0x44, out: 0x1a
+lb :: offset: 0x45, out: 0xffffffffffffffd8
+lb :: offset: 0x46, out: 0xffffffffffffffdc
+lb :: offset: 0x47, out: 0xffffffffffffffa0
+lb :: offset: 0x48, out: 0x4b
+lb :: offset: 0x49, out: 0x3d
+lb :: offset: 0x4a, out: 0xffffffffffffffda
+lb :: offset: 0x4b, out: 0xffffffffffffff86
+lb :: offset: 0x4c, out: 0xffffffffffffff96
+lb :: offset: 0x4d, out: 0x15
+lb :: offset: 0x4e, out: 0xffffffffffffffa6
+lb :: offset: 0x4f, out: 0xd
+lb :: offset: 0x50, out: 0x5
+lb :: offset: 0x51, out: 0xffffffffffffffe7
+lb :: offset: 0x52, out: 0xffffffffffffffa4
+lb :: offset: 0x53, out: 0xffffffffffffffdd
+lb :: offset: 0x54, out: 0x63
+lb :: offset: 0x55, out: 0x53
+lb :: offset: 0x56, out: 0xffffffffffffffd4
+lb :: offset: 0x57, out: 0x1d
+lb :: offset: 0x58, out: 0x3a
+lb :: offset: 0x59, out: 0xfffffffffffffff3
+lb :: offset: 0x5a, out: 0x5a
+lb :: offset: 0x5b, out: 0xffffffffffffff9d
+lb :: offset: 0x5c, out: 0xffffffffffffffc4
+lb :: offset: 0x5d, out: 0xb
+lb :: offset: 0x5e, out: 0xffffffffffffffd4
+lb :: offset: 0x5f, out: 0x13
+lb :: offset: 0x60, out: 0x47
+lb :: offset: 0x61, out: 0xfffffffffffffff5
+lb :: offset: 0x62, out: 0x5
+lb :: offset: 0x63, out: 0x56
+lb :: offset: 0x64, out: 0xffffffffffffff9a
+lb :: offset: 0x65, out: 0x8
+lb :: offset: 0x66, out: 0xffffffffffffffa1
+lb :: offset: 0x67, out: 0xffffffffffffff80
+lb :: offset: 0x68, out: 0xffffffffffffff95
+lb :: offset: 0x69, out: 0x64
+lb :: offset: 0x6a, out: 0xffffffffffffffb7
+lb :: offset: 0x6b, out: 0x7f
+lb :: offset: 0x6c, out: 0xffffffffffffffd6
+lb :: offset: 0x6d, out: 0xffffffffffffffd2
+lb :: offset: 0x6e, out: 0x4
+lb :: offset: 0x6f, out: 0xf
+lb :: offset: 0x70, out: 0xffffffffffffffce
+lb :: offset: 0x71, out: 0xffffffffffffffbc
+lb :: offset: 0x72, out: 0xffffffffffffff82
+lb :: offset: 0x73, out: 0x79
+lb :: offset: 0x74, out: 0xffffffffffffffb2
+lb :: offset: 0x75, out: 0xffffffffffffffc7
+lb :: offset: 0x76, out: 0x6b
+lb :: offset: 0x77, out: 0xffffffffffffffbe
+lb :: offset: 0x78, out: 0xffffffffffffffb5
+lb :: offset: 0x79, out: 0x3
+lb :: offset: 0x7a, out: 0x4c
+lb :: offset: 0x7b, out: 0x2f
+lb :: offset: 0x7c, out: 0x1f
+lb :: offset: 0x7d, out: 0x18
+lb :: offset: 0x7e, out: 0xffffffffffffffe4
+lb :: offset: 0x7f, out: 0xffffffffffffffc7
+lb :: offset: 0x80, out: 0xffffffffffffff94
+lb :: offset: 0x81, out: 0xffffffffffffffff
+lb :: offset: 0x82, out: 0x52
+lb :: offset: 0x83, out: 0xfffffffffffffffc
+lb :: offset: 0x84, out: 0xffffffffffffff81
+lb :: offset: 0x85, out: 0xffffffffffffffaf
+lb :: offset: 0x86, out: 0xffffffffffffffa7
+lb :: offset: 0x87, out: 0xffffffffffffff97
+lb :: offset: 0x88, out: 0x31
+lb :: offset: 0x89, out: 0xffffffffffffffd8
+lb :: offset: 0x8a, out: 0xffffffffffffffd9
+lb :: offset: 0x8b, out: 0x16
+lb :: offset: 0x8c, out: 0x6d
+lb :: offset: 0x8d, out: 0xfffffffffffffffc
+lb :: offset: 0x8e, out: 0x50
+lb :: offset: 0x8f, out: 0xffffffffffffffea
+lb :: offset: 0x90, out: 0x36
+lb :: offset: 0x91, out: 0x54
+lb :: offset: 0x92, out: 0xffffffffffffff9b
+lb :: offset: 0x93, out: 0xffffffffffffffd6
+lb :: offset: 0x94, out: 0x78
+lb :: offset: 0x95, out: 0xffffffffffffffe8
+lb :: offset: 0x96, out: 0xffffffffffffff95
+lb :: offset: 0x97, out: 0xffffffffffffffb1
+lb :: offset: 0x98, out: 0xffffffffffffff85
+lb :: offset: 0x99, out: 0xffffffffffffffe0
+lb :: offset: 0x9a, out: 0xffffffffffffffa6
+lb :: offset: 0x9b, out: 0x31
+lb :: offset: 0x9c, out: 0xffffffffffffff9b
+lb :: offset: 0x9d, out: 0x63
+lb :: offset: 0x9e, out: 0x25
+lb :: offset: 0x9f, out: 0xffffffffffffff9b
+lb :: offset: 0xa0, out: 0x55
+lb :: offset: 0xa1, out: 0x6b
+lb :: offset: 0xa2, out: 0x3e
+lb :: offset: 0xa3, out: 0xffffffffffffffca
+lb :: offset: 0xa4, out: 0xffffffffffffffcc
+lb :: offset: 0xa5, out: 0xfffffffffffffff1
+lb :: offset: 0xa6, out: 0x7a
+lb :: offset: 0xa7, out: 0xffffffffffffffc5
+lb :: offset: 0xa8, out: 0xffffffffffffffb4
+lb :: offset: 0xa9, out: 0x2f
+lb :: offset: 0xaa, out: 0x5f
+lb :: offset: 0xab, out: 0xffffffffffffffc5
+lb :: offset: 0xac, out: 0xffffffffffffff81
+lb :: offset: 0xad, out: 0xffffffffffffffee
+lb :: offset: 0xae, out: 0xffffffffffffffa0
+lb :: offset: 0xaf, out: 0xfffffffffffffffb
+lb :: offset: 0xb0, out: 0x25
+lb :: offset: 0xb1, out: 0xffffffffffffffb5
+lb :: offset: 0xb2, out: 0xf
+lb :: offset: 0xb3, out: 0xffffffffffffffec
+lb :: offset: 0xb4, out: 0x14
+lb :: offset: 0xb5, out: 0x68
+lb :: offset: 0xb6, out: 0x2d
+lb :: offset: 0xb7, out: 0xffffffffffffff97
+lb :: offset: 0xb8, out: 0xfffffffffffffffc
+lb :: offset: 0xb9, out: 0xffffffffffffff93
+lb :: offset: 0xba, out: 0xffffffffffffffc5
+lb :: offset: 0xbb, out: 0x13
+lb :: offset: 0xbc, out: 0x2c
+lb :: offset: 0xbd, out: 0xfffffffffffffffb
+lb :: offset: 0xbe, out: 0x8
+lb :: offset: 0xbf, out: 0x7a
+lb :: offset: 0xc0, out: 0x3c
+lb :: offset: 0xc1, out: 0x2c
+lb :: offset: 0xc2, out: 0xffffffffffffffd9
+lb :: offset: 0xc3, out: 0xffffffffffffffa9
+lb :: offset: 0xc4, out: 0xffffffffffffffcd
+lb :: offset: 0xc5, out: 0xffffffffffffffa2
+lb :: offset: 0xc6, out: 0x7
+lb :: offset: 0xc7, out: 0x66
+lb :: offset: 0xc8, out: 0x17
+lb :: offset: 0xc9, out: 0xffffffffffffff91
+lb :: offset: 0xca, out: 0x72
+lb :: offset: 0xcb, out: 0x2a
+lb :: offset: 0xcc, out: 0x7d
+lb :: offset: 0xcd, out: 0x72
+lb :: offset: 0xce, out: 0xffffffffffffffda
+lb :: offset: 0xcf, out: 0x3e
+lb :: offset: 0xd0, out: 0x8
+lb :: offset: 0xd1, out: 0x7c
+lb :: offset: 0xd2, out: 0xffffffffffffffc9
+lb :: offset: 0xd3, out: 0xffffffffffffffd1
+lb :: offset: 0xd4, out: 0xffffffffffffff93
+lb :: offset: 0xd5, out: 0xffffffffffffffce
+lb :: offset: 0xd6, out: 0x24
+lb :: offset: 0xd7, out: 0xffffffffffffffad
+lb :: offset: 0xd8, out: 0x1d
+lb :: offset: 0xd9, out: 0x2a
+lb :: offset: 0xda, out: 0x75
+lb :: offset: 0xdb, out: 0x70
+lb :: offset: 0xdc, out: 0x38
+lb :: offset: 0xdd, out: 0xffffffffffffff98
+lb :: offset: 0xde, out: 0x4e
+lb :: offset: 0xdf, out: 0xffffffffffffffd2
+lb :: offset: 0xe0, out: 0xffffffffffffffd0
+lb :: offset: 0xe1, out: 0xffffffffffffffd0
+lb :: offset: 0xe2, out: 0x70
+lb :: offset: 0xe3, out: 0xffffffffffffffdb
+lb :: offset: 0xe4, out: 0x71
+lb :: offset: 0xe5, out: 0xc
+lb :: offset: 0xe6, out: 0xffffffffffffffd0
+lb :: offset: 0xe7, out: 0x36
+lb :: offset: 0xe8, out: 0x39
+lb :: offset: 0xe9, out: 0xffffffffffffffc2
+lb :: offset: 0xea, out: 0x1c
+lb :: offset: 0xeb, out: 0x7d
+lb :: offset: 0xec, out: 0x3
+lb :: offset: 0xed, out: 0x41
+lb :: offset: 0xee, out: 0x56
+lb :: offset: 0xef, out: 0x4
+lb :: offset: 0xf0, out: 0xffffffffffffff8e
+lb :: offset: 0xf1, out: 0xffffffffffffff94
+lb :: offset: 0xf2, out: 0xffffffffffffffb7
+lb :: offset: 0xf3, out: 0xffffffffffffffaf
+lb :: offset: 0xf4, out: 0xffffffffffffff8e
+lb :: offset: 0xf5, out: 0xffffffffffffffcc
+lb :: offset: 0xf6, out: 0x31
+lb :: offset: 0xf7, out: 0xffffffffffffffce
+lb :: offset: 0xf8, out: 0x24
+lb :: offset: 0xf9, out: 0xffffffffffffffeb
+lb :: offset: 0xfa, out: 0x6a
+lb :: offset: 0xfb, out: 0xffffffffffffff8d
+lb :: offset: 0xfc, out: 0x1c
+lb :: offset: 0xfd, out: 0xffffffffffffffe7
+lb :: offset: 0xfe, out: 0x67
+lb :: offset: 0xff, out: 0x4f
+lb :: offset: 0x100, out: 0x2f
+lb :: offset: 0x101, out: 0x39
+lb :: offset: 0x102, out: 0x45
+lb :: offset: 0x103, out: 0x44
+lb :: offset: 0x104, out: 0x12
+lb :: offset: 0x105, out: 0xffffffffffffffd6
+lb :: offset: 0x106, out: 0xffffffffffffffe4
+lb :: offset: 0x107, out: 0xffffffffffffffa7
+lb :: offset: 0x108, out: 0x26
+lb :: offset: 0x109, out: 0x8
+lb :: offset: 0x10a, out: 0xffffffffffffffc2
+lb :: offset: 0x10b, out: 0xffffffffffffffb7
+lb :: offset: 0x10c, out: 0x56
+lb :: offset: 0x10d, out: 0xffffffffffffffda
+lb :: offset: 0x10e, out: 0x4c
+lb :: offset: 0x10f, out: 0x54
+lb :: offset: 0x110, out: 0xffffffffffffff90
+lb :: offset: 0x111, out: 0x1
+lb :: offset: 0x112, out: 0x2
+lb :: offset: 0x113, out: 0xffffffffffffffda
+lb :: offset: 0x114, out: 0xffffffffffffffc8
+lb :: offset: 0x115, out: 0xffffffffffffffd7
+lb :: offset: 0x116, out: 0x25
+lb :: offset: 0x117, out: 0x2f
+lb :: offset: 0x118, out: 0xffffffffffffffc8
+lb :: offset: 0x119, out: 0xffffffffffffff90
+lb :: offset: 0x11a, out: 0xffffffffffffffd5
+lb :: offset: 0x11b, out: 0xfffffffffffffff1
+lb :: offset: 0x11c, out: 0xfffffffffffffff2
+lb :: offset: 0x11d, out: 0xffffffffffffffef
+lb :: offset: 0x11e, out: 0xffffffffffffffa4
+lb :: offset: 0x11f, out: 0xfffffffffffffff7
+lb :: offset: 0x120, out: 0xffffffffffffffed
+lb :: offset: 0x121, out: 0x50
+lb :: offset: 0x122, out: 0x5
+lb :: offset: 0x123, out: 0xffffffffffffffcb
+lb :: offset: 0x124, out: 0xffffffffffffffc8
+lb :: offset: 0x125, out: 0xffffffffffffffb0
+lb :: offset: 0x126, out: 0xffffffffffffffa2
+lb :: offset: 0x127, out: 0x14
+lb :: offset: 0x128, out: 0x31
+lb :: offset: 0x129, out: 0x47
+lb :: offset: 0x12a, out: 0xffffffffffffff91
+lb :: offset: 0x12b, out: 0xffffffffffffff89
+lb :: offset: 0x12c, out: 0x59
+lb :: offset: 0x12d, out: 0xffffffffffffff91
+lb :: offset: 0x12e, out: 0x13
+lb :: offset: 0x12f, out: 0x6c
+lb :: offset: 0x130, out: 0xffffffffffffffc6
+lb :: offset: 0x131, out: 0xffffffffffffffee
+lb :: offset: 0x132, out: 0xffffffffffffffcf
+lb :: offset: 0x133, out: 0xfffffffffffffff9
+lb :: offset: 0x134, out: 0xffffffffffffff9a
+lb :: offset: 0x135, out: 0x2f
+lb :: offset: 0x136, out: 0xffffffffffffffb6
+lb :: offset: 0x137, out: 0xfffffffffffffff3
+lb :: offset: 0x138, out: 0xffffffffffffffa8
+lb :: offset: 0x139, out: 0x9
+lb :: offset: 0x13a, out: 0x52
+lb :: offset: 0x13b, out: 0x12
+lb :: offset: 0x13c, out: 0x38
+lb :: offset: 0x13d, out: 0xffffffffffffff89
+lb :: offset: 0x13e, out: 0x52
+lb :: offset: 0x13f, out: 0x70
+lb :: offset: 0x140, out: 0xffffffffffffff87
+lb :: offset: 0x141, out: 0x75
+lb :: offset: 0x142, out: 0xa
+lb :: offset: 0x143, out: 0x4
+lb :: offset: 0x144, out: 0xffffffffffffffad
+lb :: offset: 0x145, out: 0x76
+lb :: offset: 0x146, out: 0x50
+lb :: offset: 0x147, out: 0x40
+lb :: offset: 0x148, out: 0x2c
+lb :: offset: 0x149, out: 0x3d
+lb :: offset: 0x14a, out: 0xffffffffffffffe8
+lb :: offset: 0x14b, out: 0x5e
+lb :: offset: 0x14c, out: 0xffffffffffffff84
+lb :: offset: 0x14d, out: 0xffffffffffffffbb
+lb :: offset: 0x14e, out: 0x5a
+lb :: offset: 0x14f, out: 0xffffffffffffff83
+lb :: offset: 0x150, out: 0xffffffffffffffae
+lb :: offset: 0x151, out: 0x6a
+lb :: offset: 0x152, out: 0xffffffffffffffff
+lb :: offset: 0x153, out: 0xffffffffffffff8f
+lb :: offset: 0x154, out: 0xffffffffffffffc5
+lb :: offset: 0x155, out: 0x6
+lb :: offset: 0x156, out: 0xffffffffffffffaa
+lb :: offset: 0x157, out: 0x67
+lb :: offset: 0x158, out: 0xffffffffffffffc0
+lb :: offset: 0x159, out: 0x71
+lb :: offset: 0x15a, out: 0x12
+lb :: offset: 0x15b, out: 0xffffffffffffffdd
+lb :: offset: 0x15c, out: 0x60
+lb :: offset: 0x15d, out: 0xffffffffffffffed
+lb :: offset: 0x15e, out: 0x5e
+lb :: offset: 0x15f, out: 0xffffffffffffffe3
+lb :: offset: 0x160, out: 0xffffffffffffffc4
+lb :: offset: 0x161, out: 0xffffffffffffffc7
+lb :: offset: 0x162, out: 0x70
+lb :: offset: 0x163, out: 0xfffffffffffffff6
+lb :: offset: 0x164, out: 0x30
+lb :: offset: 0x165, out: 0xffffffffffffffdc
+lb :: offset: 0x166, out: 0xffffffffffffffca
+lb :: offset: 0x167, out: 0x5a
+lb :: offset: 0x168, out: 0xffffffffffffffdf
+lb :: offset: 0x169, out: 0xffffffffffffffec
+lb :: offset: 0x16a, out: 0x2b
+lb :: offset: 0x16b, out: 0x23
+lb :: offset: 0x16c, out: 0xffffffffffffff83
+lb :: offset: 0x16d, out: 0xffffffffffffffcd
+lb :: offset: 0x16e, out: 0x52
+lb :: offset: 0x16f, out: 0x77
+lb :: offset: 0x170, out: 0xffffffffffffffd3
+lb :: offset: 0x171, out: 0xffffffffffffffad
+lb :: offset: 0x172, out: 0xffffffffffffffba
+lb :: offset: 0x173, out: 0x26
+lb :: offset: 0x174, out: 0xf
+lb :: offset: 0x175, out: 0xfffffffffffffff7
+lb :: offset: 0x176, out: 0xffffffffffffffd9
+lb :: offset: 0x177, out: 0x6b
+lb :: offset: 0x178, out: 0x4a
+lb :: offset: 0x179, out: 0xffffffffffffffb4
+lb :: offset: 0x17a, out: 0xffffffffffffffaa
+lb :: offset: 0x17b, out: 0x79
+lb :: offset: 0x17c, out: 0xffffffffffffff84
+lb :: offset: 0x17d, out: 0x18
+lb :: offset: 0x17e, out: 0xffffffffffffffc0
+lb :: offset: 0x17f, out: 0xe
+lb :: offset: 0x180, out: 0xffffffffffffffbb
+lb :: offset: 0x181, out: 0xffffffffffffff8c
+lb :: offset: 0x182, out: 0x3
+lb :: offset: 0x183, out: 0x5e
+lb :: offset: 0x184, out: 0xd
+lb :: offset: 0x185, out: 0xffffffffffffffe0
+lb :: offset: 0x186, out: 0xfffffffffffffff0
+lb :: offset: 0x187, out: 0xffffffffffffffb8
+lb :: offset: 0x188, out: 0x33
+lb :: offset: 0x189, out: 0xffffffffffffffb0
+lb :: offset: 0x18a, out: 0x6f
+lb :: offset: 0x18b, out: 0x54
+lb :: offset: 0x18c, out: 0xffffffffffffffa9
+lb :: offset: 0x18d, out: 0x7f
+lb :: offset: 0x18e, out: 0xffffffffffffffdc
+lb :: offset: 0x18f, out: 0xfffffffffffffff1
+lb :: offset: 0x190, out: 0x77
+lb :: offset: 0x191, out: 0x43
+lb :: offset: 0x192, out: 0x3f
+lb :: offset: 0x193, out: 0x37
+lb :: offset: 0x194, out: 0x3f
+lb :: offset: 0x195, out: 0xffffffffffffffd1
+lb :: offset: 0x196, out: 0xffffffffffffffc0
+lb :: offset: 0x197, out: 0xffffffffffffff81
+lb :: offset: 0x198, out: 0xffffffffffffffec
+lb :: offset: 0x199, out: 0xffffffffffffff91
+lb :: offset: 0x19a, out: 0xffffffffffffffd9
+lb :: offset: 0x19b, out: 0xffffffffffffff93
+lb :: offset: 0x19c, out: 0xffffffffffffffc9
+lb :: offset: 0x19d, out: 0x21
+lb :: offset: 0x19e, out: 0xffffffffffffff95
+lb :: offset: 0x19f, out: 0xffffffffffffffe4
+lb :: offset: 0x1a0, out: 0x49
+lb :: offset: 0x1a1, out: 0xfffffffffffffffb
+lb :: offset: 0x1a2, out: 0xfffffffffffffff6
+lb :: offset: 0x1a3, out: 0xffffffffffffffa7
+lb :: offset: 0x1a4, out: 0xffffffffffffff95
+lb :: offset: 0x1a5, out: 0xffffffffffffffb1
+lb :: offset: 0x1a6, out: 0xffffffffffffffa5
+lb :: offset: 0x1a7, out: 0xffffffffffffffab
+lb :: offset: 0x1a8, out: 0x19
+lb :: offset: 0x1a9, out: 0x36
+lb :: offset: 0x1aa, out: 0x43
+lb :: offset: 0x1ab, out: 0x78
+lb :: offset: 0x1ac, out: 0xffffffffffffffc7
+lb :: offset: 0x1ad, out: 0xffffffffffffffce
+lb :: offset: 0x1ae, out: 0xffffffffffffff8d
+lb :: offset: 0x1af, out: 0x1e
+lb :: offset: 0x1b0, out: 0xffffffffffffffb9
+lb :: offset: 0x1b1, out: 0xffffffffffffff9e
+lb :: offset: 0x1b2, out: 0xffffffffffffff8d
+lb :: offset: 0x1b3, out: 0xffffffffffffffef
+lb :: offset: 0x1b4, out: 0x2f
+lb :: offset: 0x1b5, out: 0x38
+lb :: offset: 0x1b6, out: 0x49
+lb :: offset: 0x1b7, out: 0x7
+lb :: offset: 0x1b8, out: 0x47
+lb :: offset: 0x1b9, out: 0xffffffffffffffea
+lb :: offset: 0x1ba, out: 0xffffffffffffffcd
+lb :: offset: 0x1bb, out: 0xffffffffffffffcd
+lb :: offset: 0x1bc, out: 0x58
+lb :: offset: 0x1bd, out: 0x2b
+lb :: offset: 0x1be, out: 0x12
+lb :: offset: 0x1bf, out: 0xfffffffffffffffe
+lb :: offset: 0x1c0, out: 0xffffffffffffffd6
+lb :: offset: 0x1c1, out: 0xffffffffffffff85
+lb :: offset: 0x1c2, out: 0xffffffffffffff88
+lb :: offset: 0x1c3, out: 0x4e
+lb :: offset: 0x1c4, out: 0x76
+lb :: offset: 0x1c5, out: 0x55
+lb :: offset: 0x1c6, out: 0xffffffffffffff8c
+lb :: offset: 0x1c7, out: 0x4f
+lb :: offset: 0x1c8, out: 0x61
+lb :: offset: 0x1c9, out: 0x68
+lb :: offset: 0x1ca, out: 0xffffffffffffffd6
+lb :: offset: 0x1cb, out: 0x2a
+lb :: offset: 0x1cc, out: 0x34
+lb :: offset: 0x1cd, out: 0xffffffffffffffc1
+lb :: offset: 0x1ce, out: 0xffffffffffffff95
+lb :: offset: 0x1cf, out: 0xffffffffffffffc7
+lb :: offset: 0x1d0, out: 0xffffffffffffffd3
+lb :: offset: 0x1d1, out: 0x1
+lb :: offset: 0x1d2, out: 0x69
+lb :: offset: 0x1d3, out: 0xffffffffffffff89
+lb :: offset: 0x1d4, out: 0x4d
+lb :: offset: 0x1d5, out: 0xfffffffffffffff4
+lb :: offset: 0x1d6, out: 0x74
+lb :: offset: 0x1d7, out: 0x5
+lb :: offset: 0x1d8, out: 0x1c
+lb :: offset: 0x1d9, out: 0xffffffffffffffa1
+lb :: offset: 0x1da, out: 0xffffffffffffff90
+lb :: offset: 0x1db, out: 0xffffffffffffffbf
+lb :: offset: 0x1dc, out: 0x6c
+lb :: offset: 0x1dd, out: 0xffffffffffffffbb
+lb :: offset: 0x1de, out: 0x6
+lb :: offset: 0x1df, out: 0xffffffffffffffdb
+lb :: offset: 0x1e0, out: 0x58
+lb :: offset: 0x1e1, out: 0x30
+lb :: offset: 0x1e2, out: 0xf
+lb :: offset: 0x1e3, out: 0x2
+lb :: offset: 0x1e4, out: 0xffffffffffffff9c
+lb :: offset: 0x1e5, out: 0xffffffffffffffae
+lb :: offset: 0x1e6, out: 0x39
+lb :: offset: 0x1e7, out: 0x3a
+lb :: offset: 0x1e8, out: 0xffffffffffffff9a
+lb :: offset: 0x1e9, out: 0xffffffffffffff99
+lb :: offset: 0x1ea, out: 0x5f
+lb :: offset: 0x1eb, out: 0xffffffffffffffdb
+lb :: offset: 0x1ec, out: 0xffffffffffffffdc
+lb :: offset: 0x1ed, out: 0x7e
+lb :: offset: 0x1ee, out: 0xffffffffffffffbc
+lb :: offset: 0x1ef, out: 0x2d
+lb :: offset: 0x1f0, out: 0xffffffffffffff8a
+lb :: offset: 0x1f1, out: 0xffffffffffffff96
+lb :: offset: 0x1f2, out: 0x4
+lb :: offset: 0x1f3, out: 0x7b
+lb :: offset: 0x1f4, out: 0xffffffffffffffe3
+lb :: offset: 0x1f5, out: 0x40
+lb :: offset: 0x1f6, out: 0x5b
+lb :: offset: 0x1f7, out: 0x48
+lb :: offset: 0x1f8, out: 0x75
+lb :: offset: 0x1f9, out: 0xffffffffffffffbf
+lb :: offset: 0x1fa, out: 0xffffffffffffffaf
+lb :: offset: 0x1fb, out: 0xffffffffffffffd2
+lb :: offset: 0x1fc, out: 0xffffffffffffffd5
+lb :: offset: 0x1fd, out: 0x19
+lb :: offset: 0x1fe, out: 0xffffffffffffffd3
+lb :: offset: 0x1ff, out: 0x22
+lb :: offset: 0x200, out: 0xffffffffffffffde
+lb :: offset: 0x201, out: 0x23
+lb :: offset: 0x202, out: 0x8
+lb :: offset: 0x203, out: 0x67
+lb :: offset: 0x204, out: 0xffffffffffffffa6
+lb :: offset: 0x205, out: 0x30
+lb :: offset: 0x206, out: 0xfffffffffffffff6
+lb :: offset: 0x207, out: 0xffffffffffffffad
+lb :: offset: 0x208, out: 0x2c
+lb :: offset: 0x209, out: 0xa
+lb :: offset: 0x20a, out: 0xc
+lb :: offset: 0x20b, out: 0xfffffffffffffff2
+lb :: offset: 0x20c, out: 0x56
+lb :: offset: 0x20d, out: 0x10
+lb :: offset: 0x20e, out: 0x32
+lb :: offset: 0x20f, out: 0x60
+lb :: offset: 0x210, out: 0xffffffffffffff94
+lb :: offset: 0x211, out: 0xffffffffffffffa9
+lb :: offset: 0x212, out: 0x5
+lb :: offset: 0x213, out: 0x44
+lb :: offset: 0x214, out: 0x24
+lb :: offset: 0x215, out: 0xffffffffffffff9b
+lb :: offset: 0x216, out: 0x18
+lb :: offset: 0x217, out: 0xffffffffffffffef
+lb :: offset: 0x218, out: 0xfffffffffffffff9
+lb :: offset: 0x219, out: 0x51
+lb :: offset: 0x21a, out: 0xffffffffffffff9f
+lb :: offset: 0x21b, out: 0xffffffffffffffb5
+lb :: offset: 0x21c, out: 0x5b
+lb :: offset: 0x21d, out: 0x56
+lb :: offset: 0x21e, out: 0xfffffffffffffffc
+lb :: offset: 0x21f, out: 0xffffffffffffffde
+lb :: offset: 0x220, out: 0xffffffffffffff81
+lb :: offset: 0x221, out: 0xffffffffffffffda
+lb :: offset: 0x222, out: 0xfffffffffffffff8
+lb :: offset: 0x223, out: 0x20
+lb :: offset: 0x224, out: 0x4
+lb :: offset: 0x225, out: 0x68
+lb :: offset: 0x226, out: 0x31
+lb :: offset: 0x227, out: 0xffffffffffffff9b
+lb :: offset: 0x228, out: 0xffffffffffffff8c
+lb :: offset: 0x229, out: 0x61
+lb :: offset: 0x22a, out: 0xffffffffffffffca
+lb :: offset: 0x22b, out: 0x5a
+lb :: offset: 0x22c, out: 0x57
+lb :: offset: 0x22d, out: 0x25
+lb :: offset: 0x22e, out: 0xfffffffffffffff2
+lb :: offset: 0x22f, out: 0xffffffffffffffec
+lb :: offset: 0x230, out: 0xffffffffffffff8b
+lb :: offset: 0x231, out: 0xffffffffffffff95
+lb :: offset: 0x232, out: 0xffffffffffffffa6
+lb :: offset: 0x233, out: 0xffffffffffffffdd
+lb :: offset: 0x234, out: 0xffffffffffffffc2
+lb :: offset: 0x235, out: 0x5d
+lb :: offset: 0x236, out: 0xffffffffffffffc8
+lb :: offset: 0x237, out: 0xffffffffffffffbf
+lb :: offset: 0x238, out: 0x30
+lb :: offset: 0x239, out: 0xc
+lb :: offset: 0x23a, out: 0xffffffffffffffe7
+lb :: offset: 0x23b, out: 0x51
+lb :: offset: 0x23c, out: 0xffffffffffffffda
+lb :: offset: 0x23d, out: 0xffffffffffffffc6
+lb :: offset: 0x23e, out: 0x16
+lb :: offset: 0x23f, out: 0x2f
+lb :: offset: 0x240, out: 0x67
+lb :: offset: 0x241, out: 0x78
+lb :: offset: 0x242, out: 0xfffffffffffffffd
+lb :: offset: 0x243, out: 0xfffffffffffffff3
+lb :: offset: 0x244, out: 0xffffffffffffffba
+lb :: offset: 0x245, out: 0x52
+lb :: offset: 0x246, out: 0xffffffffffffffa8
+lb :: offset: 0x247, out: 0x50
+lb :: offset: 0x248, out: 0xffffffffffffffad
+lb :: offset: 0x249, out: 0x0
+lb :: offset: 0x24a, out: 0xffffffffffffffb1
+lb :: offset: 0x24b, out: 0xfffffffffffffff7
+lb :: offset: 0x24c, out: 0xffffffffffffffda
+lb :: offset: 0x24d, out: 0x78
+lb :: offset: 0x24e, out: 0x47
+lb :: offset: 0x24f, out: 0xffffffffffffff9f
+lb :: offset: 0x250, out: 0x8
+lb :: offset: 0x251, out: 0xffffffffffffffd4
+lb :: offset: 0x252, out: 0x41
+lb :: offset: 0x253, out: 0x68
+lb :: offset: 0x254, out: 0xffffffffffffffa6
+lb :: offset: 0x255, out: 0xffffffffffffffb6
+lb :: offset: 0x256, out: 0xffffffffffffffd9
+lb :: offset: 0x257, out: 0xffffffffffffff8a
+lb :: offset: 0x258, out: 0xfffffffffffffff5
+lb :: offset: 0x259, out: 0x18
+lb :: offset: 0x25a, out: 0x38
+lb :: offset: 0x25b, out: 0x1d
+lb :: offset: 0x25c, out: 0xffffffffffffffce
+lb :: offset: 0x25d, out: 0x63
+lb :: offset: 0x25e, out: 0x44
+lb :: offset: 0x25f, out: 0x13
+lb :: offset: 0x260, out: 0xffffffffffffffe4
+lb :: offset: 0x261, out: 0x62
+lb :: offset: 0x262, out: 0x7f
+lb :: offset: 0x263, out: 0x3f
+lb :: offset: 0x264, out: 0xffffffffffffffe5
+lb :: offset: 0x265, out: 0x25
+lb :: offset: 0x266, out: 0x5f
+lb :: offset: 0x267, out: 0xffffffffffffffc0
+lb :: offset: 0x268, out: 0xffffffffffffffcc
+lb :: offset: 0x269, out: 0xffffffffffffffd3
+lb :: offset: 0x26a, out: 0xffffffffffffff92
+lb :: offset: 0x26b, out: 0xffffffffffffffe1
+lb :: offset: 0x26c, out: 0x76
+lb :: offset: 0x26d, out: 0x32
+lb :: offset: 0x26e, out: 0x1f
+lb :: offset: 0x26f, out: 0x28
+lb :: offset: 0x270, out: 0xffffffffffffff82
+lb :: offset: 0x271, out: 0xffffffffffffff94
+lb :: offset: 0x272, out: 0x64
+lb :: offset: 0x273, out: 0xffffffffffffff94
+lb :: offset: 0x274, out: 0x40
+lb :: offset: 0x275, out: 0x18
+lb :: offset: 0x276, out: 0xfffffffffffffffd
+lb :: offset: 0x277, out: 0xffffffffffffff8f
+lb :: offset: 0x278, out: 0x15
+lb :: offset: 0x279, out: 0xffffffffffffffd3
+lb :: offset: 0x27a, out: 0x20
+lb :: offset: 0x27b, out: 0x40
+lb :: offset: 0x27c, out: 0x52
+lb :: offset: 0x27d, out: 0xffffffffffffffe8
+lb :: offset: 0x27e, out: 0xfffffffffffffff0
+lb :: offset: 0x27f, out: 0xffffffffffffffe5
+lb :: offset: 0x280, out: 0x7c
+lb :: offset: 0x281, out: 0xffffffffffffffaf
+lb :: offset: 0x282, out: 0xffffffffffffff83
+lb :: offset: 0x283, out: 0xffffffffffffffd2
+lb :: offset: 0x284, out: 0xffffffffffffff88
+lb :: offset: 0x285, out: 0xf
+lb :: offset: 0x286, out: 0xfffffffffffffff3
+lb :: offset: 0x287, out: 0x44
+lb :: offset: 0x288, out: 0xfffffffffffffff1
+lb :: offset: 0x289, out: 0x56
+lb :: offset: 0x28a, out: 0xffffffffffffffa0
+lb :: offset: 0x28b, out: 0x4c
+lb :: offset: 0x28c, out: 0x74
+lb :: offset: 0x28d, out: 0x7d
+lb :: offset: 0x28e, out: 0xffffffffffffffef
+lb :: offset: 0x28f, out: 0xffffffffffffffd7
+lb :: offset: 0x290, out: 0xffffffffffffff93
+lb :: offset: 0x291, out: 0xffffffffffffffe2
+lb :: offset: 0x292, out: 0x60
+lb :: offset: 0x293, out: 0x1c
+lb :: offset: 0x294, out: 0xf
+lb :: offset: 0x295, out: 0x31
+lb :: offset: 0x296, out: 0xffffffffffffffd7
+lb :: offset: 0x297, out: 0x10
+lb :: offset: 0x298, out: 0xffffffffffffffe1
+lb :: offset: 0x299, out: 0xffffffffffffffe1
+lb :: offset: 0x29a, out: 0xffffffffffffffa6
+lb :: offset: 0x29b, out: 0x79
+lb :: offset: 0x29c, out: 0x13
+lb :: offset: 0x29d, out: 0x1c
+lb :: offset: 0x29e, out: 0xffffffffffffffd9
+lb :: offset: 0x29f, out: 0x33
+lb :: offset: 0x2a0, out: 0x24
+lb :: offset: 0x2a1, out: 0x29
+lb :: offset: 0x2a2, out: 0x6b
+lb :: offset: 0x2a3, out: 0x75
+lb :: offset: 0x2a4, out: 0xffffffffffffffa7
+lb :: offset: 0x2a5, out: 0x6f
+lb :: offset: 0x2a6, out: 0xffffffffffffffa4
+lb :: offset: 0x2a7, out: 0x27
+lb :: offset: 0x2a8, out: 0xffffffffffffffd2
+lb :: offset: 0x2a9, out: 0xffffffffffffff96
+lb :: offset: 0x2aa, out: 0xffffffffffffffe2
+lb :: offset: 0x2ab, out: 0xffffffffffffffd2
+lb :: offset: 0x2ac, out: 0x13
+lb :: offset: 0x2ad, out: 0xffffffffffffff9e
+lb :: offset: 0x2ae, out: 0xffffffffffffffe5
+lb :: offset: 0x2af, out: 0x6a
+lb :: offset: 0x2b0, out: 0x5a
+lb :: offset: 0x2b1, out: 0xffffffffffffff82
+lb :: offset: 0x2b2, out: 0x44
+lb :: offset: 0x2b3, out: 0x7f
+lb :: offset: 0x2b4, out: 0x6d
+lb :: offset: 0x2b5, out: 0xffffffffffffffc2
+lb :: offset: 0x2b6, out: 0xffffffffffffffa5
+lb :: offset: 0x2b7, out: 0xffffffffffffffc0
+lb :: offset: 0x2b8, out: 0x76
+lb :: offset: 0x2b9, out: 0xffffffffffffffc8
+lb :: offset: 0x2ba, out: 0xffffffffffffff9e
+lb :: offset: 0x2bb, out: 0xffffffffffffff80
+lb :: offset: 0x2bc, out: 0xffffffffffffffc0
+lb :: offset: 0x2bd, out: 0x7d
+lb :: offset: 0x2be, out: 0xffffffffffffffc1
+lb :: offset: 0x2bf, out: 0x68
+lb :: offset: 0x2c0, out: 0x7
+lb :: offset: 0x2c1, out: 0xd
+lb :: offset: 0x2c2, out: 0xffffffffffffffc3
+lb :: offset: 0x2c3, out: 0x45
+lb :: offset: 0x2c4, out: 0x4b
+lb :: offset: 0x2c5, out: 0xfffffffffffffffe
+lb :: offset: 0x2c6, out: 0x34
+lb :: offset: 0x2c7, out: 0xffffffffffffff8f
+lb :: offset: 0x2c8, out: 0xffffffffffffffbd
+lb :: offset: 0x2c9, out: 0xffffffffffffffdc
+lb :: offset: 0x2ca, out: 0x71
+lb :: offset: 0x2cb, out: 0x23
+lb :: offset: 0x2cc, out: 0xffffffffffffffdd
+lb :: offset: 0x2cd, out: 0x6d
+lb :: offset: 0x2ce, out: 0x24
+lb :: offset: 0x2cf, out: 0x1b
+lb :: offset: 0x2d0, out: 0xfffffffffffffff6
+lb :: offset: 0x2d1, out: 0x2f
+lb :: offset: 0x2d2, out: 0xffffffffffffffb7
+lb :: offset: 0x2d3, out: 0x27
+lb :: offset: 0x2d4, out: 0xffffffffffffffa5
+lb :: offset: 0x2d5, out: 0xffffffffffffff9f
+lb :: offset: 0x2d6, out: 0xffffffffffffffce
+lb :: offset: 0x2d7, out: 0xffffffffffffffbe
+lb :: offset: 0x2d8, out: 0x10
+lb :: offset: 0x2d9, out: 0xffffffffffffff9f
+lb :: offset: 0x2da, out: 0x27
+lb :: offset: 0x2db, out: 0xffffffffffffffe9
+lb :: offset: 0x2dc, out: 0xf
+lb :: offset: 0x2dd, out: 0xffffffffffffff9f
+lb :: offset: 0x2de, out: 0x46
+lb :: offset: 0x2df, out: 0xfffffffffffffffb
+lb :: offset: 0x2e0, out: 0x3f
+lb :: offset: 0x2e1, out: 0x63
+lb :: offset: 0x2e2, out: 0xffffffffffffffda
+lb :: offset: 0x2e3, out: 0xffffffffffffffa9
+lb :: offset: 0x2e4, out: 0xffffffffffffffaf
+lb :: offset: 0x2e5, out: 0xffffffffffffffd1
+lb :: offset: 0x2e6, out: 0xffffffffffffff99
+lb :: offset: 0x2e7, out: 0xffffffffffffffd7
+lb :: offset: 0x2e8, out: 0xffffffffffffffdb
+lb :: offset: 0x2e9, out: 0xffffffffffffffcb
+lb :: offset: 0x2ea, out: 0x31
+lb :: offset: 0x2eb, out: 0x2e
+lb :: offset: 0x2ec, out: 0xffffffffffffffa3
+lb :: offset: 0x2ed, out: 0xffffffffffffffd4
+lb :: offset: 0x2ee, out: 0xffffffffffffff84
+lb :: offset: 0x2ef, out: 0xfffffffffffffff2
+lb :: offset: 0x2f0, out: 0x1f
+lb :: offset: 0x2f1, out: 0x35
+lb :: offset: 0x2f2, out: 0x3f
+lb :: offset: 0x2f3, out: 0xffffffffffffffaa
+lb :: offset: 0x2f4, out: 0xffffffffffffffda
+lb :: offset: 0x2f5, out: 0x4f
+lb :: offset: 0x2f6, out: 0xffffffffffffffe4
+lb :: offset: 0x2f7, out: 0xffffffffffffffc6
+lb :: offset: 0x2f8, out: 0xffffffffffffff8b
+lb :: offset: 0x2f9, out: 0x8
+lb :: offset: 0x2fa, out: 0x6e
+lb :: offset: 0x2fb, out: 0xffffffffffffffe0
+lb :: offset: 0x2fc, out: 0x71
+lb :: offset: 0x2fd, out: 0x50
+lb :: offset: 0x2fe, out: 0xffffffffffffffc2
+lb :: offset: 0x2ff, out: 0x60
+lb :: offset: 0x300, out: 0xffffffffffffffe5
+lb :: offset: 0x301, out: 0x47
+lb :: offset: 0x302, out: 0x50
+lb :: offset: 0x303, out: 0xffffffffffffffd5
+lb :: offset: 0x304, out: 0xffffffffffffffd9
+lb :: offset: 0x305, out: 0x25
+lb :: offset: 0x306, out: 0x7f
+lb :: offset: 0x307, out: 0x25
+lb :: offset: 0x308, out: 0x3d
+lb :: offset: 0x309, out: 0x69
+lb :: offset: 0x30a, out: 0x62
+lb :: offset: 0x30b, out: 0x5f
+lb :: offset: 0x30c, out: 0xffffffffffffffe9
+lb :: offset: 0x30d, out: 0xffffffffffffffa6
+lb :: offset: 0x30e, out: 0xffffffffffffffdb
+lb :: offset: 0x30f, out: 0x5b
+lb :: offset: 0x310, out: 0x70
+lb :: offset: 0x311, out: 0xffffffffffffffa3
+lb :: offset: 0x312, out: 0xffffffffffffffe0
+lb :: offset: 0x313, out: 0x42
+lb :: offset: 0x314, out: 0x43
+lb :: offset: 0x315, out: 0x40
+lb :: offset: 0x316, out: 0xffffffffffffffac
+lb :: offset: 0x317, out: 0xffffffffffffff96
+lb :: offset: 0x318, out: 0xffffffffffffffc0
+lb :: offset: 0x319, out: 0x47
+lb :: offset: 0x31a, out: 0xffffffffffffff8f
+lb :: offset: 0x31b, out: 0x3
+lb :: offset: 0x31c, out: 0x69
+lb :: offset: 0x31d, out: 0xffffffffffffff80
+lb :: offset: 0x31e, out: 0x17
+lb :: offset: 0x31f, out: 0x1e
+lb :: offset: 0x320, out: 0x3c
+lb :: offset: 0x321, out: 0xffffffffffffffe8
+lb :: offset: 0x322, out: 0x39
+lb :: offset: 0x323, out: 0xffffffffffffffa5
+lb :: offset: 0x324, out: 0x1c
+lb :: offset: 0x325, out: 0xfffffffffffffff9
+lb :: offset: 0x326, out: 0x29
+lb :: offset: 0x327, out: 0xffffffffffffffe3
+lb :: offset: 0x328, out: 0xffffffffffffffe2
+lb :: offset: 0x329, out: 0xfffffffffffffffb
+lb :: offset: 0x32a, out: 0xfffffffffffffffa
+lb :: offset: 0x32b, out: 0xffffffffffffff89
+lb :: offset: 0x32c, out: 0x5e
+lb :: offset: 0x32d, out: 0xffffffffffffffb6
+lb :: offset: 0x32e, out: 0xffffffffffffff89
+lb :: offset: 0x32f, out: 0x58
+lb :: offset: 0x330, out: 0xffffffffffffffd2
+lb :: offset: 0x331, out: 0x4b
+lb :: offset: 0x332, out: 0xffffffffffffffb0
+lb :: offset: 0x333, out: 0x5d
+lb :: offset: 0x334, out: 0x76
+lb :: offset: 0x335, out: 0xffffffffffffffed
+lb :: offset: 0x336, out: 0x25
+lb :: offset: 0x337, out: 0xffffffffffffffb7
+lb :: offset: 0x338, out: 0xe
+lb :: offset: 0x339, out: 0xffffffffffffffb9
+lb :: offset: 0x33a, out: 0x68
+lb :: offset: 0x33b, out: 0x2c
+lb :: offset: 0x33c, out: 0x17
+lb :: offset: 0x33d, out: 0x3
+lb :: offset: 0x33e, out: 0x12
+lb :: offset: 0x33f, out: 0xfffffffffffffff1
+lb :: offset: 0x340, out: 0xffffffffffffff84
+lb :: offset: 0x341, out: 0x78
+lb :: offset: 0x342, out: 0x52
+lb :: offset: 0x343, out: 0xffffffffffffff80
+lb :: offset: 0x344, out: 0xffffffffffffffdd
+lb :: offset: 0x345, out: 0x30
+lb :: offset: 0x346, out: 0x1d
+lb :: offset: 0x347, out: 0xd
+lb :: offset: 0x348, out: 0x17
+lb :: offset: 0x349, out: 0xffffffffffffff9c
+lb :: offset: 0x34a, out: 0x77
+lb :: offset: 0x34b, out: 0xffffffffffffffaa
+lb :: offset: 0x34c, out: 0x1f
+lb :: offset: 0x34d, out: 0xffffffffffffff8f
+lb :: offset: 0x34e, out: 0xffffffffffffffd6
+lb :: offset: 0x34f, out: 0xffffffffffffffef
+lb :: offset: 0x350, out: 0x26
+lb :: offset: 0x351, out: 0x44
+lb :: offset: 0x352, out: 0x4c
+lb :: offset: 0x353, out: 0xffffffffffffffed
+lb :: offset: 0x354, out: 0x29
+lb :: offset: 0x355, out: 0xffffffffffffff98
+lb :: offset: 0x356, out: 0x43
+lb :: offset: 0x357, out: 0x6d
+lb :: offset: 0x358, out: 0x7
+lb :: offset: 0x359, out: 0x17
+lb :: offset: 0x35a, out: 0x5c
+lb :: offset: 0x35b, out: 0xffffffffffffff9d
+lb :: offset: 0x35c, out: 0xffffffffffffffd5
+lb :: offset: 0x35d, out: 0xffffffffffffff8c
+lb :: offset: 0x35e, out: 0xffffffffffffffa7
+lb :: offset: 0x35f, out: 0x8
+lb :: offset: 0x360, out: 0x66
+lb :: offset: 0x361, out: 0x3d
+lb :: offset: 0x362, out: 0x6
+lb :: offset: 0x363, out: 0x10
+lb :: offset: 0x364, out: 0x55
+lb :: offset: 0x365, out: 0xffffffffffffff83
+lb :: offset: 0x366, out: 0x32
+lb :: offset: 0x367, out: 0xffffffffffffff87
+lb :: offset: 0x368, out: 0xffffffffffffffab
+lb :: offset: 0x369, out: 0x7d
+lb :: offset: 0x36a, out: 0xffffffffffffffd0
+lb :: offset: 0x36b, out: 0x48
+lb :: offset: 0x36c, out: 0xffffffffffffff89
+lb :: offset: 0x36d, out: 0x51
+lb :: offset: 0x36e, out: 0xffffffffffffffd6
+lb :: offset: 0x36f, out: 0xffffffffffffff8b
+lb :: offset: 0x370, out: 0xfffffffffffffff6
+lb :: offset: 0x371, out: 0xffffffffffffff98
+lb :: offset: 0x372, out: 0x23
+lb :: offset: 0x373, out: 0x67
+lb :: offset: 0x374, out: 0xe
+lb :: offset: 0x375, out: 0xffffffffffffff82
+lb :: offset: 0x376, out: 0x47
+lb :: offset: 0x377, out: 0x1b
+lb :: offset: 0x378, out: 0x36
+lb :: offset: 0x379, out: 0xffffffffffffff88
+lb :: offset: 0x37a, out: 0x6c
+lb :: offset: 0x37b, out: 0x59
+lb :: offset: 0x37c, out: 0xffffffffffffffd9
+lb :: offset: 0x37d, out: 0xffffffffffffff8d
+lb :: offset: 0x37e, out: 0x26
+lb :: offset: 0x37f, out: 0xffffffffffffffb2
+lb :: offset: 0x380, out: 0x9
+lb :: offset: 0x381, out: 0xffffffffffffffca
+lb :: offset: 0x382, out: 0x4b
+lb :: offset: 0x383, out: 0xffffffffffffffdb
+lb :: offset: 0x384, out: 0xffffffffffffffd3
+lb :: offset: 0x385, out: 0x2b
+lb :: offset: 0x386, out: 0xffffffffffffffe4
+lb :: offset: 0x387, out: 0x79
+lb :: offset: 0x388, out: 0xfffffffffffffffd
+lb :: offset: 0x389, out: 0x5d
+lb :: offset: 0x38a, out: 0x7d
+lb :: offset: 0x38b, out: 0x1d
+lb :: offset: 0x38c, out: 0xffffffffffffff99
+lb :: offset: 0x38d, out: 0x62
+lb :: offset: 0x38e, out: 0xffffffffffffffe6
+lb :: offset: 0x38f, out: 0x1f
+lb :: offset: 0x390, out: 0x3f
+lb :: offset: 0x391, out: 0x46
+lb :: offset: 0x392, out: 0x55
+lb :: offset: 0x393, out: 0x3e
+lb :: offset: 0x394, out: 0xffffffffffffffca
+lb :: offset: 0x395, out: 0xffffffffffffffd3
+lb :: offset: 0x396, out: 0x74
+lb :: offset: 0x397, out: 0xffffffffffffffdf
+lb :: offset: 0x398, out: 0x2e
+lb :: offset: 0x399, out: 0xffffffffffffff9a
+lb :: offset: 0x39a, out: 0xffffffffffffffb9
+lb :: offset: 0x39b, out: 0x7d
+lb :: offset: 0x39c, out: 0x3e
+lb :: offset: 0x39d, out: 0xffffffffffffffed
+lb :: offset: 0x39e, out: 0xfffffffffffffff2
+lb :: offset: 0x39f, out: 0xffffffffffffffa7
+lb :: offset: 0x3a0, out: 0x36
+lb :: offset: 0x3a1, out: 0xffffffffffffffa6
+lb :: offset: 0x3a2, out: 0xfffffffffffffff7
+lb :: offset: 0x3a3, out: 0xfffffffffffffffa
+lb :: offset: 0x3a4, out: 0x3c
+lb :: offset: 0x3a5, out: 0xc
+lb :: offset: 0x3a6, out: 0xffffffffffffff9f
+lb :: offset: 0x3a7, out: 0x33
+lb :: offset: 0x3a8, out: 0xffffffffffffff8b
+lb :: offset: 0x3a9, out: 0xffffffffffffffb9
+lb :: offset: 0x3aa, out: 0x38
+lb :: offset: 0x3ab, out: 0xffffffffffffffe3
+lb :: offset: 0x3ac, out: 0x15
+lb :: offset: 0x3ad, out: 0x5e
+lb :: offset: 0x3ae, out: 0xffffffffffffffc9
+lb :: offset: 0x3af, out: 0xffffffffffffffdc
+lb :: offset: 0x3b0, out: 0xffffffffffffffd2
+lb :: offset: 0x3b1, out: 0xffffffffffffffdf
+lb :: offset: 0x3b2, out: 0x25
+lb :: offset: 0x3b3, out: 0xffffffffffffffc4
+lb :: offset: 0x3b4, out: 0x19
+lb :: offset: 0x3b5, out: 0x47
+lb :: offset: 0x3b6, out: 0xffffffffffffff82
+lb :: offset: 0x3b7, out: 0x6
+lb :: offset: 0x3b8, out: 0xffffffffffffffbc
+lb :: offset: 0x3b9, out: 0x65
+lb :: offset: 0x3ba, out: 0xffffffffffffffbf
+lb :: offset: 0x3bb, out: 0x27
+lb :: offset: 0x3bc, out: 0xffffffffffffffeb
+lb :: offset: 0x3bd, out: 0x32
+lb :: offset: 0x3be, out: 0x18
+lb :: offset: 0x3bf, out: 0x25
+lb :: offset: 0x3c0, out: 0xffffffffffffffa8
+lb :: offset: 0x3c1, out: 0xffffffffffffffb0
+lb :: offset: 0x3c2, out: 0xffffffffffffff8f
+lb :: offset: 0x3c3, out: 0xffffffffffffffe6
+lb :: offset: 0x3c4, out: 0x7a
+lb :: offset: 0x3c5, out: 0xffffffffffffff8b
+lb :: offset: 0x3c6, out: 0xffffffffffffffc7
+lb :: offset: 0x3c7, out: 0xffffffffffffffda
+lb :: offset: 0x3c8, out: 0xffffffffffffff85
+lb :: offset: 0x3c9, out: 0x2b
+lb :: offset: 0x3ca, out: 0x5b
+lb :: offset: 0x3cb, out: 0xffffffffffffffca
+lb :: offset: 0x3cc, out: 0xfffffffffffffff8
+lb :: offset: 0x3cd, out: 0xffffffffffffffdf
+lb :: offset: 0x3ce, out: 0xffffffffffffffcd
+lb :: offset: 0x3cf, out: 0xffffffffffffffe8
+lb :: offset: 0x3d0, out: 0x4
+lb :: offset: 0x3d1, out: 0x78
+lb :: offset: 0x3d2, out: 0xffffffffffffff90
+lb :: offset: 0x3d3, out: 0xffffffffffffff9b
+lb :: offset: 0x3d4, out: 0x59
+lb :: offset: 0x3d5, out: 0xffffffffffffffa9
+lb :: offset: 0x3d6, out: 0xffffffffffffff92
+lb :: offset: 0x3d7, out: 0x69
+lb :: offset: 0x3d8, out: 0xffffffffffffffbf
+lb :: offset: 0x3d9, out: 0xffffffffffffffb3
+lb :: offset: 0x3da, out: 0x1c
+lb :: offset: 0x3db, out: 0xffffffffffffffc8
+lb :: offset: 0x3dc, out: 0x78
+lb :: offset: 0x3dd, out: 0x57
+lb :: offset: 0x3de, out: 0x36
+lb :: offset: 0x3df, out: 0xf
+lb :: offset: 0x3e0, out: 0xffffffffffffffb6
+lb :: offset: 0x3e1, out: 0x65
+lb :: offset: 0x3e2, out: 0xffffffffffffffed
+lb :: offset: 0x3e3, out: 0x5e
+lb :: offset: 0x3e4, out: 0x7f
+lb :: offset: 0x3e5, out: 0xffffffffffffff89
+lb :: offset: 0x3e6, out: 0xffffffffffffffe9
+lb :: offset: 0x3e7, out: 0xffffffffffffffa2
+lb :: offset: 0x3e8, out: 0x15
+lb :: offset: 0x3e9, out: 0xffffffffffffffda
+lb :: offset: 0x3ea, out: 0xffffffffffffff94
+lb :: offset: 0x3eb, out: 0x74
+lb :: offset: 0x3ec, out: 0xffffffffffffffb7
+lb :: offset: 0x3ed, out: 0xffffffffffffffa8
+lb :: offset: 0x3ee, out: 0xffffffffffffffd5
+lb :: offset: 0x3ef, out: 0xffffffffffffffe4
+lb :: offset: 0x3f0, out: 0xfffffffffffffff6
+lb :: offset: 0x3f1, out: 0xffffffffffffffb3
+lb :: offset: 0x3f2, out: 0x53
+lb :: offset: 0x3f3, out: 0x7d
+lb :: offset: 0x3f4, out: 0x2a
+lb :: offset: 0x3f5, out: 0xfffffffffffffff9
+lb :: offset: 0x3f6, out: 0xf
+lb :: offset: 0x3f7, out: 0xffffffffffffffcc
+lb :: offset: 0x3f8, out: 0x22
+lb :: offset: 0x3f9, out: 0x3d
+lb :: offset: 0x3fa, out: 0x7c
+lb :: offset: 0x3fb, out: 0xfffffffffffffffe
+lb :: offset: 0x3fc, out: 0x2b
+lb :: offset: 0x3fd, out: 0xffffffffffffff96
+lb :: offset: 0x3fe, out: 0x18
+lb :: offset: 0x3ff, out: 0xffffffffffffff97
+lb :: offset: 0x400, out: 0x42
+lb :: offset: 0x401, out: 0xb
+lb :: offset: 0x402, out: 0x34
+lb :: offset: 0x403, out: 0xfffffffffffffff5
+lb :: offset: 0x404, out: 0x33
+lb :: offset: 0x405, out: 0x73
+lb :: offset: 0x406, out: 0x4a
+lb :: offset: 0x407, out: 0x4b
+lb :: offset: 0x408, out: 0xffffffffffffff89
+lb :: offset: 0x409, out: 0x7c
+lb :: offset: 0x40a, out: 0xffffffffffffff8c
+lb :: offset: 0x40b, out: 0xffffffffffffff8d
+lb :: offset: 0x40c, out: 0xffffffffffffffdd
+lb :: offset: 0x40d, out: 0x46
+lb :: offset: 0x40e, out: 0xffffffffffffffb3
+lb :: offset: 0x40f, out: 0x3c
+lb :: offset: 0x410, out: 0x7a
+lb :: offset: 0x411, out: 0x38
+lb :: offset: 0x412, out: 0x74
+lb :: offset: 0x413, out: 0x45
+lb :: offset: 0x414, out: 0xffffffffffffffe3
+lb :: offset: 0x415, out: 0xffffffffffffff92
+lb :: offset: 0x416, out: 0xffffffffffffffcc
+lb :: offset: 0x417, out: 0xffffffffffffffd9
+lb :: offset: 0x418, out: 0x51
+lb :: offset: 0x419, out: 0x2f
+lb :: offset: 0x41a, out: 0x29
+lb :: offset: 0x41b, out: 0xffffffffffffffb1
+lb :: offset: 0x41c, out: 0xffffffffffffffd8
+lb :: offset: 0x41d, out: 0x0
+lb :: offset: 0x41e, out: 0x0
+lb :: offset: 0x41f, out: 0xffffffffffffffc9
+lb :: offset: 0x420, out: 0xffffffffffffffea
+lb :: offset: 0x421, out: 0xffffffffffffffde
+lb :: offset: 0x422, out: 0xffffffffffffffd5
+lb :: offset: 0x423, out: 0xffffffffffffffc5
+lb :: offset: 0x424, out: 0x3d
+lb :: offset: 0x425, out: 0xffffffffffffffad
+lb :: offset: 0x426, out: 0x2
+lb :: offset: 0x427, out: 0xa
+lb :: offset: 0x428, out: 0xffffffffffffff8a
+lb :: offset: 0x429, out: 0x62
+lb :: offset: 0x42a, out: 0x29
+lb :: offset: 0x42b, out: 0xffffffffffffffd7
+lb :: offset: 0x42c, out: 0x31
+lb :: offset: 0x42d, out: 0xffffffffffffffee
+lb :: offset: 0x42e, out: 0xffffffffffffffa3
+lb :: offset: 0x42f, out: 0x5b
+lb :: offset: 0x430, out: 0x2c
+lb :: offset: 0x431, out: 0x3c
+lb :: offset: 0x432, out: 0x3f
+lb :: offset: 0x433, out: 0xffffffffffffff9e
+lb :: offset: 0x434, out: 0x48
+lb :: offset: 0x435, out: 0xffffffffffffff98
+lb :: offset: 0x436, out: 0x56
+lb :: offset: 0x437, out: 0x49
+lb :: offset: 0x438, out: 0x7f
+lb :: offset: 0x439, out: 0xfffffffffffffff6
+lb :: offset: 0x43a, out: 0x1e
+lb :: offset: 0x43b, out: 0x78
+lb :: offset: 0x43c, out: 0xffffffffffffffdc
+lb :: offset: 0x43d, out: 0xffffffffffffff9c
+lb :: offset: 0x43e, out: 0xb
+lb :: offset: 0x43f, out: 0x77
+lb :: offset: 0x440, out: 0x22
+lb :: offset: 0x441, out: 0xffffffffffffff99
+lb :: offset: 0x442, out: 0xffffffffffffffb0
+lb :: offset: 0x443, out: 0xffffffffffffffe0
+lb :: offset: 0x444, out: 0x1d
+lb :: offset: 0x445, out: 0x5e
+lb :: offset: 0x446, out: 0x68
+lb :: offset: 0x447, out: 0xffffffffffffffec
+lb :: offset: 0x448, out: 0x7c
+lb :: offset: 0x449, out: 0x3b
+lb :: offset: 0x44a, out: 0x4
+lb :: offset: 0x44b, out: 0x67
+lb :: offset: 0x44c, out: 0x3d
+lb :: offset: 0x44d, out: 0xc
+lb :: offset: 0x44e, out: 0x6e
+lb :: offset: 0x44f, out: 0x25
+lb :: offset: 0x450, out: 0x16
+lb :: offset: 0x451, out: 0x4e
+lb :: offset: 0x452, out: 0x17
+lb :: offset: 0x453, out: 0xffffffffffffffc1
+lb :: offset: 0x454, out: 0xffffffffffffffe7
+lb :: offset: 0x455, out: 0xfffffffffffffffb
+lb :: offset: 0x456, out: 0x65
+lb :: offset: 0x457, out: 0xffffffffffffff87
+lb :: offset: 0x458, out: 0xfffffffffffffffa
+lb :: offset: 0x459, out: 0x4c
+lb :: offset: 0x45a, out: 0xffffffffffffffa2
+lb :: offset: 0x45b, out: 0xffffffffffffff8b
+lb :: offset: 0x45c, out: 0x56
+lb :: offset: 0x45d, out: 0xffffffffffffffd4
+lb :: offset: 0x45e, out: 0xffffffffffffff95
+lb :: offset: 0x45f, out: 0xb
+lb :: offset: 0x460, out: 0xffffffffffffffe5
+lb :: offset: 0x461, out: 0xffffffffffffffe9
+lb :: offset: 0x462, out: 0xffffffffffffffa3
+lb :: offset: 0x463, out: 0x14
+lb :: offset: 0x464, out: 0xffffffffffffffbe
+lb :: offset: 0x465, out: 0x7f
+lb :: offset: 0x466, out: 0xffffffffffffffa0
+lb :: offset: 0x467, out: 0xffffffffffffff8a
+lb :: offset: 0x468, out: 0xfffffffffffffff8
+lb :: offset: 0x469, out: 0xffffffffffffffbe
+lb :: offset: 0x46a, out: 0xffffffffffffff81
+lb :: offset: 0x46b, out: 0x64
+lb :: offset: 0x46c, out: 0x15
+lb :: offset: 0x46d, out: 0xffffffffffffff96
+lb :: offset: 0x46e, out: 0x49
+lb :: offset: 0x46f, out: 0xffffffffffffffc5
+lb :: offset: 0x470, out: 0x7c
+lb :: offset: 0x471, out: 0xffffffffffffffa3
+lb :: offset: 0x472, out: 0x25
+lb :: offset: 0x473, out: 0xffffffffffffff97
+lb :: offset: 0x474, out: 0xffffffffffffff84
+lb :: offset: 0x475, out: 0xffffffffffffffe6
+lb :: offset: 0x476, out: 0xffffffffffffff9b
+lb :: offset: 0x477, out: 0x17
+lb :: offset: 0x478, out: 0xfffffffffffffffc
+lb :: offset: 0x479, out: 0xffffffffffffff8d
+lb :: offset: 0x47a, out: 0x54
+lb :: offset: 0x47b, out: 0x3c
+lb :: offset: 0x47c, out: 0xffffffffffffffa1
+lb :: offset: 0x47d, out: 0xfffffffffffffff2
+lb :: offset: 0x47e, out: 0x4f
+lb :: offset: 0x47f, out: 0x5c
+lb :: offset: 0x480, out: 0x4a
+lb :: offset: 0x481, out: 0xffffffffffffffeb
+lb :: offset: 0x482, out: 0x6c
+lb :: offset: 0x483, out: 0xffffffffffffffa0
+lb :: offset: 0x484, out: 0xffffffffffffffe3
+lb :: offset: 0x485, out: 0x45
+lb :: offset: 0x486, out: 0xffffffffffffff9e
+lb :: offset: 0x487, out: 0x36
+lb :: offset: 0x488, out: 0xffffffffffffffc5
+lb :: offset: 0x489, out: 0x32
+lb :: offset: 0x48a, out: 0xffffffffffffffe1
+lb :: offset: 0x48b, out: 0xffffffffffffff8e
+lb :: offset: 0x48c, out: 0x18
+lb :: offset: 0x48d, out: 0x79
+lb :: offset: 0x48e, out: 0xffffffffffffff80
+lb :: offset: 0x48f, out: 0xfffffffffffffffa
+lb :: offset: 0x490, out: 0xffffffffffffffb3
+lb :: offset: 0x491, out: 0xfffffffffffffffd
+lb :: offset: 0x492, out: 0xffffffffffffffec
+lb :: offset: 0x493, out: 0x29
+lb :: offset: 0x494, out: 0x4f
+lb :: offset: 0x495, out: 0x28
+lb :: offset: 0x496, out: 0x7d
+lb :: offset: 0x497, out: 0x1c
+lb :: offset: 0x498, out: 0xffffffffffffffb6
+lb :: offset: 0x499, out: 0x20
+lb :: offset: 0x49a, out: 0x66
+lb :: offset: 0x49b, out: 0xa
+lb :: offset: 0x49c, out: 0x49
+lb :: offset: 0x49d, out: 0x73
+lb :: offset: 0x49e, out: 0x2b
+lb :: offset: 0x49f, out: 0xffffffffffffff90
+lb :: offset: 0x4a0, out: 0xffffffffffffff99
+lb :: offset: 0x4a1, out: 0x31
+lb :: offset: 0x4a2, out: 0x38
+lb :: offset: 0x4a3, out: 0xfffffffffffffff1
+lb :: offset: 0x4a4, out: 0x6c
+lb :: offset: 0x4a5, out: 0xfffffffffffffffd
+lb :: offset: 0x4a6, out: 0xffffffffffffffe9
+lb :: offset: 0x4a7, out: 0xffffffffffffff91
+lb :: offset: 0x4a8, out: 0xffffffffffffffde
+lb :: offset: 0x4a9, out: 0x2
+lb :: offset: 0x4aa, out: 0xffffffffffffffd1
+lb :: offset: 0x4ab, out: 0x33
+lb :: offset: 0x4ac, out: 0x7d
+lb :: offset: 0x4ad, out: 0x54
+lb :: offset: 0x4ae, out: 0x7
+lb :: offset: 0x4af, out: 0xffffffffffffffb9
+lb :: offset: 0x4b0, out: 0x13
+lb :: offset: 0x4b1, out: 0xffffffffffffffa3
+lb :: offset: 0x4b2, out: 0xffffffffffffff90
+lb :: offset: 0x4b3, out: 0xffffffffffffffe1
+lb :: offset: 0x4b4, out: 0xffffffffffffffe1
+lb :: offset: 0x4b5, out: 0xffffffffffffffda
+lb :: offset: 0x4b6, out: 0xffffffffffffffb1
+lb :: offset: 0x4b7, out: 0x5a
+lb :: offset: 0x4b8, out: 0x74
+lb :: offset: 0x4b9, out: 0x34
+lb :: offset: 0x4ba, out: 0xffffffffffffff91
+lb :: offset: 0x4bb, out: 0xffffffffffffffa6
+lb :: offset: 0x4bc, out: 0xffffffffffffff82
+lb :: offset: 0x4bd, out: 0xffffffffffffff87
+lb :: offset: 0x4be, out: 0x16
+lb :: offset: 0x4bf, out: 0xffffffffffffffc8
+lb :: offset: 0x4c0, out: 0xffffffffffffff8c
+lb :: offset: 0x4c1, out: 0xffffffffffffffff
+lb :: offset: 0x4c2, out: 0x40
+lb :: offset: 0x4c3, out: 0x4a
+lb :: offset: 0x4c4, out: 0xffffffffffffffed
+lb :: offset: 0x4c5, out: 0xffffffffffffffe2
+lb :: offset: 0x4c6, out: 0xffffffffffffff92
+lb :: offset: 0x4c7, out: 0xfffffffffffffff2
+lb :: offset: 0x4c8, out: 0xffffffffffffffb9
+lb :: offset: 0x4c9, out: 0xffffffffffffffce
+lb :: offset: 0x4ca, out: 0xffffffffffffffc0
+lb :: offset: 0x4cb, out: 0xffffffffffffffdb
+lb :: offset: 0x4cc, out: 0x1f
+lb :: offset: 0x4cd, out: 0xffffffffffffff83
+lb :: offset: 0x4ce, out: 0x76
+lb :: offset: 0x4cf, out: 0x36
+lb :: offset: 0x4d0, out: 0x2e
+lb :: offset: 0x4d1, out: 0xffffffffffffffaa
+lb :: offset: 0x4d2, out: 0x5a
+lb :: offset: 0x4d3, out: 0xffffffffffffffa7
+lb :: offset: 0x4d4, out: 0x5
+lb :: offset: 0x4d5, out: 0x9
+lb :: offset: 0x4d6, out: 0x77
+lb :: offset: 0x4d7, out: 0x1c
+lb :: offset: 0x4d8, out: 0xffffffffffffffd3
+lb :: offset: 0x4d9, out: 0x27
+lb :: offset: 0x4da, out: 0x53
+lb :: offset: 0x4db, out: 0xffffffffffffff8e
+lb :: offset: 0x4dc, out: 0x18
+lb :: offset: 0x4dd, out: 0x75
+lb :: offset: 0x4de, out: 0x24
+lb :: offset: 0x4df, out: 0x1b
+lb :: offset: 0x4e0, out: 0x42
+lb :: offset: 0x4e1, out: 0xffffffffffffffe9
+lb :: offset: 0x4e2, out: 0xfffffffffffffff8
+lb :: offset: 0x4e3, out: 0x54
+lb :: offset: 0x4e4, out: 0xffffffffffffff8b
+lb :: offset: 0x4e5, out: 0x73
+lb :: offset: 0x4e6, out: 0xffffffffffffff9b
+lb :: offset: 0x4e7, out: 0x6b
+lb :: offset: 0x4e8, out: 0x78
+lb :: offset: 0x4e9, out: 0xffffffffffffffe4
+lb :: offset: 0x4ea, out: 0xffffffffffffffe5
+lb :: offset: 0x4eb, out: 0xc
+lb :: offset: 0x4ec, out: 0xffffffffffffffec
+lb :: offset: 0x4ed, out: 0xffffffffffffffcb
+lb :: offset: 0x4ee, out: 0xffffffffffffffba
+lb :: offset: 0x4ef, out: 0x1a
+lb :: offset: 0x4f0, out: 0xfffffffffffffff6
+lb :: offset: 0x4f1, out: 0xffffffffffffffb6
+lb :: offset: 0x4f2, out: 0xfffffffffffffffa
+lb :: offset: 0x4f3, out: 0x3f
+lb :: offset: 0x4f4, out: 0xffffffffffffffcd
+lb :: offset: 0x4f5, out: 0xffffffffffffff9d
+lb :: offset: 0x4f6, out: 0x27
+lb :: offset: 0x4f7, out: 0xffffffffffffffcb
+lb :: offset: 0x4f8, out: 0x73
+lb :: offset: 0x4f9, out: 0xffffffffffffff91
+lb :: offset: 0x4fa, out: 0x64
+lb :: offset: 0x4fb, out: 0xffffffffffffff83
+lb :: offset: 0x4fc, out: 0xffffffffffffffae
+lb :: offset: 0x4fd, out: 0x3e
+lb :: offset: 0x4fe, out: 0xffffffffffffff94
+lb :: offset: 0x4ff, out: 0x23
+lb :: offset: 0x500, out: 0x27
+lb :: offset: 0x501, out: 0x6a
+lb :: offset: 0x502, out: 0xfffffffffffffff7
+lb :: offset: 0x503, out: 0xa
+lb :: offset: 0x504, out: 0xe
+lb :: offset: 0x505, out: 0x12
+lb :: offset: 0x506, out: 0xffffffffffffff85
+lb :: offset: 0x507, out: 0x61
+lb :: offset: 0x508, out: 0x3
+lb :: offset: 0x509, out: 0x4
+lb :: offset: 0x50a, out: 0x5b
+lb :: offset: 0x50b, out: 0xfffffffffffffff6
+lb :: offset: 0x50c, out: 0xffffffffffffffb5
+lb :: offset: 0x50d, out: 0xffffffffffffffe7
+lb :: offset: 0x50e, out: 0x4b
+lb :: offset: 0x50f, out: 0x6e
+lb :: offset: 0x510, out: 0x20
+lb :: offset: 0x511, out: 0x22
+lb :: offset: 0x512, out: 0x3f
+lb :: offset: 0x513, out: 0x13
+lb :: offset: 0x514, out: 0x8
+lb :: offset: 0x515, out: 0xffffffffffffffac
+lb :: offset: 0x516, out: 0xffffffffffffffcf
+lb :: offset: 0x517, out: 0xffffffffffffffa6
+lb :: offset: 0x518, out: 0xfffffffffffffff8
+lb :: offset: 0x519, out: 0x3c
+lb :: offset: 0x51a, out: 0x55
+lb :: offset: 0x51b, out: 0x74
+lb :: offset: 0x51c, out: 0x39
+lb :: offset: 0x51d, out: 0x76
+lb :: offset: 0x51e, out: 0xffffffffffffffb5
+lb :: offset: 0x51f, out: 0xfffffffffffffff5
+lb :: offset: 0x520, out: 0x1f
+lb :: offset: 0x521, out: 0xffffffffffffff97
+lb :: offset: 0x522, out: 0x20
+lb :: offset: 0x523, out: 0xfffffffffffffff9
+lb :: offset: 0x524, out: 0x46
+lb :: offset: 0x525, out: 0xffffffffffffff92
+lb :: offset: 0x526, out: 0x3c
+lb :: offset: 0x527, out: 0x3d
+lb :: offset: 0x528, out: 0x62
+lb :: offset: 0x529, out: 0xd
+lb :: offset: 0x52a, out: 0x28
+lb :: offset: 0x52b, out: 0x50
+lb :: offset: 0x52c, out: 0x6d
+lb :: offset: 0x52d, out: 0x24
+lb :: offset: 0x52e, out: 0x48
+lb :: offset: 0x52f, out: 0xffffffffffffffdd
+lb :: offset: 0x530, out: 0x60
+lb :: offset: 0x531, out: 0xffffffffffffffa5
+lb :: offset: 0x532, out: 0x21
+lb :: offset: 0x533, out: 0xffffffffffffffe9
+lb :: offset: 0x534, out: 0xffffffffffffff9f
+lb :: offset: 0x535, out: 0xfffffffffffffff4
+lb :: offset: 0x536, out: 0xffffffffffffffa7
+lb :: offset: 0x537, out: 0x32
+lb :: offset: 0x538, out: 0x5a
+lb :: offset: 0x539, out: 0x8
+lb :: offset: 0x53a, out: 0xfffffffffffffff3
+lb :: offset: 0x53b, out: 0xffffffffffffffab
+lb :: offset: 0x53c, out: 0x5c
+lb :: offset: 0x53d, out: 0x68
+lb :: offset: 0x53e, out: 0xf
+lb :: offset: 0x53f, out: 0xb
+lb :: offset: 0x540, out: 0xffffffffffffffc7
+lb :: offset: 0x541, out: 0xffffffffffffffa5
+lb :: offset: 0x542, out: 0xffffffffffffff9b
+lb :: offset: 0x543, out: 0xffffffffffffffe7
+lb :: offset: 0x544, out: 0xffffffffffffff80
+lb :: offset: 0x545, out: 0xf
+lb :: offset: 0x546, out: 0x3d
+lb :: offset: 0x547, out: 0x26
+lb :: offset: 0x548, out: 0x1a
+lb :: offset: 0x549, out: 0xffffffffffffffec
+lb :: offset: 0x54a, out: 0xffffffffffffffdf
+lb :: offset: 0x54b, out: 0x29
+lb :: offset: 0x54c, out: 0xffffffffffffff82
+lb :: offset: 0x54d, out: 0xffffffffffffffca
+lb :: offset: 0x54e, out: 0x1b
+lb :: offset: 0x54f, out: 0x41
+lb :: offset: 0x550, out: 0x2b
+lb :: offset: 0x551, out: 0xffffffffffffff86
+lb :: offset: 0x552, out: 0x13
+lb :: offset: 0x553, out: 0xffffffffffffffa2
+lb :: offset: 0x554, out: 0x60
+lb :: offset: 0x555, out: 0xffffffffffffffd1
+lb :: offset: 0x556, out: 0xffffffffffffff9d
+lb :: offset: 0x557, out: 0xffffffffffffffcd
+lb :: offset: 0x558, out: 0x25
+lb :: offset: 0x559, out: 0x18
+lb :: offset: 0x55a, out: 0xffffffffffffffac
+lb :: offset: 0x55b, out: 0xffffffffffffff8b
+lb :: offset: 0x55c, out: 0xe
+lb :: offset: 0x55d, out: 0xffffffffffffff8b
+lb :: offset: 0x55e, out: 0xffffffffffffffbe
+lb :: offset: 0x55f, out: 0x7f
+lb :: offset: 0x560, out: 0x74
+lb :: offset: 0x561, out: 0x3e
+lb :: offset: 0x562, out: 0x56
+lb :: offset: 0x563, out: 0xffffffffffffff8d
+lb :: offset: 0x564, out: 0x2f
+lb :: offset: 0x565, out: 0xffffffffffffffcf
+lb :: offset: 0x566, out: 0x48
+lb :: offset: 0x567, out: 0x6b
+lb :: offset: 0x568, out: 0x12
+lb :: offset: 0x569, out: 0x6f
+lb :: offset: 0x56a, out: 0x64
+lb :: offset: 0x56b, out: 0x6f
+lb :: offset: 0x56c, out: 0x34
+lb :: offset: 0x56d, out: 0xffffffffffffffc3
+lb :: offset: 0x56e, out: 0x17
+lb :: offset: 0x56f, out: 0x28
+lb :: offset: 0x570, out: 0xffffffffffffffaa
+lb :: offset: 0x571, out: 0xffffffffffffffb0
+lb :: offset: 0x572, out: 0x19
+lb :: offset: 0x573, out: 0x61
+lb :: offset: 0x574, out: 0x56
+lb :: offset: 0x575, out: 0xfffffffffffffffc
+lb :: offset: 0x576, out: 0x4d
+lb :: offset: 0x577, out: 0x12
+lb :: offset: 0x578, out: 0x75
+lb :: offset: 0x579, out: 0x35
+lb :: offset: 0x57a, out: 0xffffffffffffffcd
+lb :: offset: 0x57b, out: 0x33
+lb :: offset: 0x57c, out: 0xffffffffffffff85
+lb :: offset: 0x57d, out: 0xffffffffffffff95
+lb :: offset: 0x57e, out: 0xffffffffffffffd3
+lb :: offset: 0x57f, out: 0x42
+lb :: offset: 0x580, out: 0xffffffffffffffdf
+lb :: offset: 0x581, out: 0xffffffffffffffb2
+lb :: offset: 0x582, out: 0x54
+lb :: offset: 0x583, out: 0xffffffffffffffda
+lb :: offset: 0x584, out: 0x42
+lb :: offset: 0x585, out: 0x23
+lb :: offset: 0x586, out: 0x46
+lb :: offset: 0x587, out: 0xffffffffffffffec
+lb :: offset: 0x588, out: 0xffffffffffffffa8
+lb :: offset: 0x589, out: 0x67
+lb :: offset: 0x58a, out: 0x26
+lb :: offset: 0x58b, out: 0xffffffffffffffc9
+lb :: offset: 0x58c, out: 0x0
+lb :: offset: 0x58d, out: 0xffffffffffffff81
+lb :: offset: 0x58e, out: 0xffffffffffffffab
+lb :: offset: 0x58f, out: 0x2a
+lb :: offset: 0x590, out: 0xffffffffffffff9b
+lb :: offset: 0x591, out: 0xfffffffffffffffe
+lb :: offset: 0x592, out: 0xffffffffffffffff
+lb :: offset: 0x593, out: 0xffffffffffffffa1
+lb :: offset: 0x594, out: 0x67
+lb :: offset: 0x595, out: 0xffffffffffffff9d
+lb :: offset: 0x596, out: 0x74
+lb :: offset: 0x597, out: 0x38
+lb :: offset: 0x598, out: 0xffffffffffffffc7
+lb :: offset: 0x599, out: 0x69
+lb :: offset: 0x59a, out: 0xffffffffffffff98
+lb :: offset: 0x59b, out: 0x26
+lb :: offset: 0x59c, out: 0xffffffffffffffb7
+lb :: offset: 0x59d, out: 0xffffffffffffffde
+lb :: offset: 0x59e, out: 0xffffffffffffffe2
+lb :: offset: 0x59f, out: 0x44
+lb :: offset: 0x5a0, out: 0x3c
+lb :: offset: 0x5a1, out: 0x7
+lb :: offset: 0x5a2, out: 0xffffffffffffffaf
+lb :: offset: 0x5a3, out: 0xffffffffffffff97
+lb :: offset: 0x5a4, out: 0xfffffffffffffffb
+lb :: offset: 0x5a5, out: 0xffffffffffffffa6
+lb :: offset: 0x5a6, out: 0x70
+lb :: offset: 0x5a7, out: 0x4a
+lb :: offset: 0x5a8, out: 0x52
+lb :: offset: 0x5a9, out: 0x13
+lb :: offset: 0x5aa, out: 0x64
+lb :: offset: 0x5ab, out: 0xffffffffffffffdc
+lb :: offset: 0x5ac, out: 0x4
+lb :: offset: 0x5ad, out: 0xffffffffffffffc5
+lb :: offset: 0x5ae, out: 0xffffffffffffff8b
+lb :: offset: 0x5af, out: 0xfffffffffffffffe
+lb :: offset: 0x5b0, out: 0xffffffffffffffe0
+lb :: offset: 0x5b1, out: 0xfffffffffffffff7
+lb :: offset: 0x5b2, out: 0xffffffffffffffbb
+lb :: offset: 0x5b3, out: 0x58
+lb :: offset: 0x5b4, out: 0xffffffffffffff9a
+lb :: offset: 0x5b5, out: 0xffffffffffffffb7
+lb :: offset: 0x5b6, out: 0xffffffffffffffae
+lb :: offset: 0x5b7, out: 0xffffffffffffffbc
+lb :: offset: 0x5b8, out: 0xffffffffffffffe3
+lb :: offset: 0x5b9, out: 0x36
+lb :: offset: 0x5ba, out: 0xffffffffffffffc6
+lb :: offset: 0x5bb, out: 0xc
+lb :: offset: 0x5bc, out: 0xffffffffffffffde
+lb :: offset: 0x5bd, out: 0xffffffffffffffeb
+lb :: offset: 0x5be, out: 0xffffffffffffff95
+lb :: offset: 0x5bf, out: 0x4d
+lb :: offset: 0x5c0, out: 0xffffffffffffffd5
+lb :: offset: 0x5c1, out: 0xffffffffffffffb2
+lb :: offset: 0x5c2, out: 0x12
+lb :: offset: 0x5c3, out: 0xc
+lb :: offset: 0x5c4, out: 0x6f
+lb :: offset: 0x5c5, out: 0x52
+lb :: offset: 0x5c6, out: 0x41
+lb :: offset: 0x5c7, out: 0x6e
+lb :: offset: 0x5c8, out: 0xffffffffffffff85
+lb :: offset: 0x5c9, out: 0xffffffffffffffa2
+lb :: offset: 0x5ca, out: 0xffffffffffffffd4
+lb :: offset: 0x5cb, out: 0xffffffffffffffff
+lb :: offset: 0x5cc, out: 0x7e
+lb :: offset: 0x5cd, out: 0x62
+lb :: offset: 0x5ce, out: 0xffffffffffffff8a
+lb :: offset: 0x5cf, out: 0x34
+lb :: offset: 0x5d0, out: 0xffffffffffffff98
+lb :: offset: 0x5d1, out: 0x6a
+lb :: offset: 0x5d2, out: 0x2b
+lb :: offset: 0x5d3, out: 0x65
+lb :: offset: 0x5d4, out: 0x4a
+lb :: offset: 0x5d5, out: 0x4e
+lb :: offset: 0x5d6, out: 0x7e
+lb :: offset: 0x5d7, out: 0x7
+lb :: offset: 0x5d8, out: 0xffffffffffffffa9
+lb :: offset: 0x5d9, out: 0x74
+lb :: offset: 0x5da, out: 0xffffffffffffffea
+lb :: offset: 0x5db, out: 0xffffffffffffffc4
+lb :: offset: 0x5dc, out: 0x3a
+lb :: offset: 0x5dd, out: 0x48
+lb :: offset: 0x5de, out: 0xffffffffffffff9b
+lb :: offset: 0x5df, out: 0x55
+lb :: offset: 0x5e0, out: 0xffffffffffffffa3
+lb :: offset: 0x5e1, out: 0xffffffffffffff88
+lb :: offset: 0x5e2, out: 0xffffffffffffffc1
+lb :: offset: 0x5e3, out: 0x62
+lb :: offset: 0x5e4, out: 0x72
+lb :: offset: 0x5e5, out: 0xfffffffffffffff1
+lb :: offset: 0x5e6, out: 0xfffffffffffffff8
+lb :: offset: 0x5e7, out: 0xfffffffffffffff5
+lb :: offset: 0x5e8, out: 0xffffffffffffffe8
+lb :: offset: 0x5e9, out: 0xffffffffffffffc1
+lb :: offset: 0x5ea, out: 0x1f
+lb :: offset: 0x5eb, out: 0x45
+lb :: offset: 0x5ec, out: 0xffffffffffffffe7
+lb :: offset: 0x5ed, out: 0x49
+lb :: offset: 0x5ee, out: 0x5e
+lb :: offset: 0x5ef, out: 0xffffffffffffffa9
+lb :: offset: 0x5f0, out: 0xffffffffffffffad
+lb :: offset: 0x5f1, out: 0xffffffffffffffaa
+lb :: offset: 0x5f2, out: 0x5a
+lb :: offset: 0x5f3, out: 0x76
+lb :: offset: 0x5f4, out: 0x5c
+lb :: offset: 0x5f5, out: 0xffffffffffffffc1
+lb :: offset: 0x5f6, out: 0xffffffffffffffc8
+lb :: offset: 0x5f7, out: 0xffffffffffffffb4
+lb :: offset: 0x5f8, out: 0x7a
+lb :: offset: 0x5f9, out: 0xffffffffffffffb4
+lb :: offset: 0x5fa, out: 0xffffffffffffffce
+lb :: offset: 0x5fb, out: 0xffffffffffffff88
+lb :: offset: 0x5fc, out: 0xffffffffffffffdf
+lb :: offset: 0x5fd, out: 0xffffffffffffffa6
+lb :: offset: 0x5fe, out: 0x5
+lb :: offset: 0x5ff, out: 0xffffffffffffffc0
+lb :: offset: 0x600, out: 0xffffffffffffffb4
+lb :: offset: 0x601, out: 0x2a
+lb :: offset: 0x602, out: 0xffffffffffffffd6
+lb :: offset: 0x603, out: 0xffffffffffffffe6
+lb :: offset: 0x604, out: 0x59
+lb :: offset: 0x605, out: 0xffffffffffffffa7
+lb :: offset: 0x606, out: 0xffffffffffffffb0
+lb :: offset: 0x607, out: 0x4f
+lb :: offset: 0x608, out: 0x4b
+lb :: offset: 0x609, out: 0xfffffffffffffff8
+lb :: offset: 0x60a, out: 0x48
+lb :: offset: 0x60b, out: 0x5a
+lb :: offset: 0x60c, out: 0xffffffffffffffb7
+lb :: offset: 0x60d, out: 0x28
+lb :: offset: 0x60e, out: 0xffffffffffffff92
+lb :: offset: 0x60f, out: 0x2f
+lb :: offset: 0x610, out: 0x76
+lb :: offset: 0x611, out: 0xffffffffffffffa3
+lb :: offset: 0x612, out: 0xffffffffffffffd6
+lb :: offset: 0x613, out: 0xc
+lb :: offset: 0x614, out: 0x3b
+lb :: offset: 0x615, out: 0x66
+lb :: offset: 0x616, out: 0xffffffffffffffa7
+lb :: offset: 0x617, out: 0xfffffffffffffffb
+lb :: offset: 0x618, out: 0x31
+lb :: offset: 0x619, out: 0xffffffffffffffe0
+lb :: offset: 0x61a, out: 0xffffffffffffffc6
+lb :: offset: 0x61b, out: 0xffffffffffffffaf
+lb :: offset: 0x61c, out: 0xfffffffffffffffd
+lb :: offset: 0x61d, out: 0xffffffffffffffc2
+lb :: offset: 0x61e, out: 0xffffffffffffff8e
+lb :: offset: 0x61f, out: 0xffffffffffffffda
+lb :: offset: 0x620, out: 0x53
+lb :: offset: 0x621, out: 0x60
+lb :: offset: 0x622, out: 0x6b
+lb :: offset: 0x623, out: 0xffffffffffffffb4
+lb :: offset: 0x624, out: 0xffffffffffffffbf
+lb :: offset: 0x625, out: 0xc
+lb :: offset: 0x626, out: 0xffffffffffffff99
+lb :: offset: 0x627, out: 0xffffffffffffff9d
+lb :: offset: 0x628, out: 0x32
+lb :: offset: 0x629, out: 0xfffffffffffffffc
+lb :: offset: 0x62a, out: 0x12
+lb :: offset: 0x62b, out: 0xffffffffffffffc8
+lb :: offset: 0x62c, out: 0x1b
+lb :: offset: 0x62d, out: 0x79
+lb :: offset: 0x62e, out: 0x19
+lb :: offset: 0x62f, out: 0xfffffffffffffff0
+lb :: offset: 0x630, out: 0x3e
+lb :: offset: 0x631, out: 0xfffffffffffffff8
+lb :: offset: 0x632, out: 0xffffffffffffff83
+lb :: offset: 0x633, out: 0xffffffffffffff84
+lb :: offset: 0x634, out: 0xffffffffffffffc7
+lb :: offset: 0x635, out: 0x2e
+lb :: offset: 0x636, out: 0xfffffffffffffffc
+lb :: offset: 0x637, out: 0xffffffffffffffd6
+lb :: offset: 0x638, out: 0x38
+lb :: offset: 0x639, out: 0xffffffffffffffb1
+lb :: offset: 0x63a, out: 0xffffffffffffffc7
+lb :: offset: 0x63b, out: 0xffffffffffffffbb
+lb :: offset: 0x63c, out: 0x6a
+lb :: offset: 0x63d, out: 0x2a
+lb :: offset: 0x63e, out: 0x35
+lb :: offset: 0x63f, out: 0xffffffffffffff80
+lb :: offset: 0x640, out: 0x15
+lb :: offset: 0x641, out: 0xffffffffffffffeb
+lb :: offset: 0x642, out: 0xfffffffffffffff6
+lb :: offset: 0x643, out: 0x12
+lb :: offset: 0x644, out: 0x1d
+lb :: offset: 0x645, out: 0xffffffffffffffca
+lb :: offset: 0x646, out: 0x77
+lb :: offset: 0x647, out: 0xffffffffffffffc9
+lb :: offset: 0x648, out: 0x5e
+lb :: offset: 0x649, out: 0xffffffffffffffaa
+lb :: offset: 0x64a, out: 0xffffffffffffffcd
+lb :: offset: 0x64b, out: 0xffffffffffffffd9
+lb :: offset: 0x64c, out: 0xfffffffffffffffd
+lb :: offset: 0x64d, out: 0xffffffffffffff91
+lb :: offset: 0x64e, out: 0x47
+lb :: offset: 0x64f, out: 0xffffffffffffffae
+lb :: offset: 0x650, out: 0xffffffffffffffbb
+lb :: offset: 0x651, out: 0xffffffffffffff84
+lb :: offset: 0x652, out: 0x70
+lb :: offset: 0x653, out: 0xfffffffffffffff9
+lb :: offset: 0x654, out: 0xffffffffffffff81
+lb :: offset: 0x655, out: 0xffffffffffffffe9
+lb :: offset: 0x656, out: 0x11
+lb :: offset: 0x657, out: 0x17
+lb :: offset: 0x658, out: 0x5
+lb :: offset: 0x659, out: 0xffffffffffffffd4
+lb :: offset: 0x65a, out: 0x2a
+lb :: offset: 0x65b, out: 0xffffffffffffffea
+lb :: offset: 0x65c, out: 0xffffffffffffffc6
+lb :: offset: 0x65d, out: 0xffffffffffffffa5
+lb :: offset: 0x65e, out: 0x32
+lb :: offset: 0x65f, out: 0xffffffffffffffe0
+lb :: offset: 0x660, out: 0x14
+lb :: offset: 0x661, out: 0xffffffffffffffab
+lb :: offset: 0x662, out: 0xfffffffffffffff3
+lb :: offset: 0x663, out: 0x64
+lb :: offset: 0x664, out: 0x19
+lb :: offset: 0x665, out: 0xfffffffffffffffb
+lb :: offset: 0x666, out: 0xffffffffffffff9e
+lb :: offset: 0x667, out: 0x63
+lb :: offset: 0x668, out: 0x24
+lb :: offset: 0x669, out: 0xffffffffffffff9d
+lb :: offset: 0x66a, out: 0x55
+lb :: offset: 0x66b, out: 0xffffffffffffff9a
+lb :: offset: 0x66c, out: 0xffffffffffffffa8
+lb :: offset: 0x66d, out: 0xffffffffffffffd7
+lb :: offset: 0x66e, out: 0x2a
+lb :: offset: 0x66f, out: 0xffffffffffffffac
+lb :: offset: 0x670, out: 0xc
+lb :: offset: 0x671, out: 0xffffffffffffffd6
+lb :: offset: 0x672, out: 0x76
+lb :: offset: 0x673, out: 0x4f
+lb :: offset: 0x674, out: 0x8
+lb :: offset: 0x675, out: 0x4b
+lb :: offset: 0x676, out: 0x30
+lb :: offset: 0x677, out: 0xffffffffffffffec
+lb :: offset: 0x678, out: 0x7f
+lb :: offset: 0x679, out: 0x3
+lb :: offset: 0x67a, out: 0xffffffffffffffac
+lb :: offset: 0x67b, out: 0x7
+lb :: offset: 0x67c, out: 0xffffffffffffff92
+lb :: offset: 0x67d, out: 0x46
+lb :: offset: 0x67e, out: 0xffffffffffffff8f
+lb :: offset: 0x67f, out: 0xffffffffffffffdf
+lb :: offset: 0x680, out: 0x7e
+lb :: offset: 0x681, out: 0x35
+lb :: offset: 0x682, out: 0xffffffffffffffce
+lb :: offset: 0x683, out: 0x6d
+lb :: offset: 0x684, out: 0x56
+lb :: offset: 0x685, out: 0xffffffffffffffe6
+lb :: offset: 0x686, out: 0x70
+lb :: offset: 0x687, out: 0xfffffffffffffff5
+lb :: offset: 0x688, out: 0x15
+lb :: offset: 0x689, out: 0x28
+lb :: offset: 0x68a, out: 0x28
+lb :: offset: 0x68b, out: 0x59
+lb :: offset: 0x68c, out: 0x1a
+lb :: offset: 0x68d, out: 0x65
+lb :: offset: 0x68e, out: 0x27
+lb :: offset: 0x68f, out: 0x11
+lb :: offset: 0x690, out: 0xffffffffffffff9e
+lb :: offset: 0x691, out: 0x1c
+lb :: offset: 0x692, out: 0x32
+lb :: offset: 0x693, out: 0xffffffffffffff83
+lb :: offset: 0x694, out: 0xffffffffffffffd2
+lb :: offset: 0x695, out: 0x15
+lb :: offset: 0x696, out: 0xffffffffffffffa9
+lb :: offset: 0x697, out: 0xfffffffffffffffb
+lb :: offset: 0x698, out: 0xffffffffffffff8d
+lb :: offset: 0x699, out: 0xffffffffffffff95
+lb :: offset: 0x69a, out: 0xffffffffffffffc0
+lb :: offset: 0x69b, out: 0x49
+lb :: offset: 0x69c, out: 0x28
+lb :: offset: 0x69d, out: 0x2a
+lb :: offset: 0x69e, out: 0x4
+lb :: offset: 0x69f, out: 0x17
+lb :: offset: 0x6a0, out: 0xfffffffffffffff2
+lb :: offset: 0x6a1, out: 0xffffffffffffffe7
+lb :: offset: 0x6a2, out: 0xffffffffffffffa4
+lb :: offset: 0x6a3, out: 0xffffffffffffff90
+lb :: offset: 0x6a4, out: 0xffffffffffffff97
+lb :: offset: 0x6a5, out: 0xffffffffffffff80
+lb :: offset: 0x6a6, out: 0x58
+lb :: offset: 0x6a7, out: 0xfffffffffffffff3
+lb :: offset: 0x6a8, out: 0x77
+lb :: offset: 0x6a9, out: 0x5b
+lb :: offset: 0x6aa, out: 0x4c
+lb :: offset: 0x6ab, out: 0xffffffffffffffca
+lb :: offset: 0x6ac, out: 0x9
+lb :: offset: 0x6ad, out: 0x75
+lb :: offset: 0x6ae, out: 0xffffffffffffffb1
+lb :: offset: 0x6af, out: 0xffffffffffffffaa
+lb :: offset: 0x6b0, out: 0xa
+lb :: offset: 0x6b1, out: 0x2b
+lb :: offset: 0x6b2, out: 0xffffffffffffff84
+lb :: offset: 0x6b3, out: 0xffffffffffffffa6
+lb :: offset: 0x6b4, out: 0x35
+lb :: offset: 0x6b5, out: 0x11
+lb :: offset: 0x6b6, out: 0x10
+lb :: offset: 0x6b7, out: 0x20
+lb :: offset: 0x6b8, out: 0x2
+lb :: offset: 0x6b9, out: 0x3f
+lb :: offset: 0x6ba, out: 0xffffffffffffffa0
+lb :: offset: 0x6bb, out: 0xffffffffffffffd3
+lb :: offset: 0x6bc, out: 0xffffffffffffffa7
+lb :: offset: 0x6bd, out: 0xffffffffffffffd8
+lb :: offset: 0x6be, out: 0xffffffffffffff8b
+lb :: offset: 0x6bf, out: 0x6f
+lb :: offset: 0x6c0, out: 0xffffffffffffffa3
+lb :: offset: 0x6c1, out: 0xffffffffffffffd9
+lb :: offset: 0x6c2, out: 0xffffffffffffff91
+lb :: offset: 0x6c3, out: 0xffffffffffffffb7
+lb :: offset: 0x6c4, out: 0xffffffffffffff99
+lb :: offset: 0x6c5, out: 0x41
+lb :: offset: 0x6c6, out: 0xffffffffffffffde
+lb :: offset: 0x6c7, out: 0xffffffffffffffdd
+lb :: offset: 0x6c8, out: 0x75
+lb :: offset: 0x6c9, out: 0x1c
+lb :: offset: 0x6ca, out: 0xffffffffffffffb4
+lb :: offset: 0x6cb, out: 0xffffffffffffff83
+lb :: offset: 0x6cc, out: 0x5a
+lb :: offset: 0x6cd, out: 0xd
+lb :: offset: 0x6ce, out: 0xffffffffffffff95
+lb :: offset: 0x6cf, out: 0x8
+lb :: offset: 0x6d0, out: 0xffffffffffffff94
+lb :: offset: 0x6d1, out: 0xffffffffffffff9c
+lb :: offset: 0x6d2, out: 0xffffffffffffffad
+lb :: offset: 0x6d3, out: 0x35
+lb :: offset: 0x6d4, out: 0x62
+lb :: offset: 0x6d5, out: 0x5b
+lb :: offset: 0x6d6, out: 0xffffffffffffffb2
+lb :: offset: 0x6d7, out: 0xffffffffffffffd3
+lb :: offset: 0x6d8, out: 0x7f
+lb :: offset: 0x6d9, out: 0x56
+lb :: offset: 0x6da, out: 0x7f
+lb :: offset: 0x6db, out: 0x35
+lb :: offset: 0x6dc, out: 0xffffffffffffffa6
+lb :: offset: 0x6dd, out: 0xffffffffffffff92
+lb :: offset: 0x6de, out: 0xffffffffffffff97
+lb :: offset: 0x6df, out: 0x39
+lb :: offset: 0x6e0, out: 0x18
+lb :: offset: 0x6e1, out: 0x5b
+lb :: offset: 0x6e2, out: 0xffffffffffffff88
+lb :: offset: 0x6e3, out: 0xffffffffffffffe0
+lb :: offset: 0x6e4, out: 0xffffffffffffffdb
+lb :: offset: 0x6e5, out: 0xffffffffffffff8d
+lb :: offset: 0x6e6, out: 0x7d
+lb :: offset: 0x6e7, out: 0x27
+lb :: offset: 0x6e8, out: 0x25
+lb :: offset: 0x6e9, out: 0x5a
+lb :: offset: 0x6ea, out: 0x4c
+lb :: offset: 0x6eb, out: 0xffffffffffffffd2
+lb :: offset: 0x6ec, out: 0x2f
+lb :: offset: 0x6ed, out: 0xffffffffffffffd6
+lb :: offset: 0x6ee, out: 0x1b
+lb :: offset: 0x6ef, out: 0xffffffffffffff91
+lb :: offset: 0x6f0, out: 0x10
+lb :: offset: 0x6f1, out: 0x48
+lb :: offset: 0x6f2, out: 0xffffffffffffffd5
+lb :: offset: 0x6f3, out: 0xffffffffffffff89
+lb :: offset: 0x6f4, out: 0xffffffffffffffa4
+lb :: offset: 0x6f5, out: 0x36
+lb :: offset: 0x6f6, out: 0x3f
+lb :: offset: 0x6f7, out: 0x7b
+lb :: offset: 0x6f8, out: 0x6a
+lb :: offset: 0x6f9, out: 0x6d
+lb :: offset: 0x6fa, out: 0x57
+lb :: offset: 0x6fb, out: 0x8
+lb :: offset: 0x6fc, out: 0xfffffffffffffff4
+lb :: offset: 0x6fd, out: 0x60
+lb :: offset: 0x6fe, out: 0x57
+lb :: offset: 0x6ff, out: 0xffffffffffffff90
+lb :: offset: 0x700, out: 0xffffffffffffffd5
+lb :: offset: 0x701, out: 0xffffffffffffff8e
+lb :: offset: 0x702, out: 0xffffffffffffffcb
+lb :: offset: 0x703, out: 0xffffffffffffffab
+lb :: offset: 0x704, out: 0xffffffffffffffde
+lb :: offset: 0x705, out: 0x35
+lb :: offset: 0x706, out: 0x69
+lb :: offset: 0x707, out: 0x7f
+lb :: offset: 0x708, out: 0x57
+lb :: offset: 0x709, out: 0x55
+lb :: offset: 0x70a, out: 0x48
+lb :: offset: 0x70b, out: 0xfffffffffffffffd
+lb :: offset: 0x70c, out: 0x8
+lb :: offset: 0x70d, out: 0xffffffffffffffc0
+lb :: offset: 0x70e, out: 0xffffffffffffffa5
+lb :: offset: 0x70f, out: 0xfffffffffffffff1
+lb :: offset: 0x710, out: 0xffffffffffffff8b
+lb :: offset: 0x711, out: 0xffffffffffffffb6
+lb :: offset: 0x712, out: 0x40
+lb :: offset: 0x713, out: 0xfffffffffffffffb
+lb :: offset: 0x714, out: 0xffffffffffffff8e
+lb :: offset: 0x715, out: 0xffffffffffffffd9
+lb :: offset: 0x716, out: 0xffffffffffffff8d
+lb :: offset: 0x717, out: 0xffffffffffffffdb
+lb :: offset: 0x718, out: 0xffffffffffffffbe
+lb :: offset: 0x719, out: 0x0
+lb :: offset: 0x71a, out: 0xffffffffffffffd5
+lb :: offset: 0x71b, out: 0x1e
+lb :: offset: 0x71c, out: 0xffffffffffffffab
+lb :: offset: 0x71d, out: 0xffffffffffffffc5
+lb :: offset: 0x71e, out: 0x78
+lb :: offset: 0x71f, out: 0xffffffffffffffcc
+lb :: offset: 0x720, out: 0x2f
+lb :: offset: 0x721, out: 0x7e
+lb :: offset: 0x722, out: 0x22
+lb :: offset: 0x723, out: 0x4a
+lb :: offset: 0x724, out: 0x1c
+lb :: offset: 0x725, out: 0x17
+lb :: offset: 0x726, out: 0xa
+lb :: offset: 0x727, out: 0xffffffffffffffb2
+lb :: offset: 0x728, out: 0xffffffffffffffa9
+lb :: offset: 0x729, out: 0x78
+lb :: offset: 0x72a, out: 0xfffffffffffffff1
+lb :: offset: 0x72b, out: 0x2c
+lb :: offset: 0x72c, out: 0xffffffffffffffa2
+lb :: offset: 0x72d, out: 0x22
+lb :: offset: 0x72e, out: 0x56
+lb :: offset: 0x72f, out: 0xffffffffffffffa7
+lb :: offset: 0x730, out: 0xffffffffffffff99
+lb :: offset: 0x731, out: 0x50
+lb :: offset: 0x732, out: 0xffffffffffffffa9
+lb :: offset: 0x733, out: 0x3b
+lb :: offset: 0x734, out: 0xffffffffffffff81
+lb :: offset: 0x735, out: 0x1e
+lb :: offset: 0x736, out: 0xffffffffffffffe0
+lb :: offset: 0x737, out: 0x2f
+lb :: offset: 0x738, out: 0xffffffffffffffb4
+lb :: offset: 0x739, out: 0x4e
+lb :: offset: 0x73a, out: 0xffffffffffffffea
+lb :: offset: 0x73b, out: 0xffffffffffffff93
+lb :: offset: 0x73c, out: 0xffffffffffffffc6
+lb :: offset: 0x73d, out: 0x79
+lb :: offset: 0x73e, out: 0x6a
+lb :: offset: 0x73f, out: 0xc
+lb :: offset: 0x740, out: 0xfffffffffffffffe
+lb :: offset: 0x741, out: 0x71
+lb :: offset: 0x742, out: 0xfffffffffffffffc
+lb :: offset: 0x743, out: 0xffffffffffffffa0
+lb :: offset: 0x744, out: 0x6c
+lb :: offset: 0x745, out: 0xe
+lb :: offset: 0x746, out: 0xffffffffffffffb6
+lb :: offset: 0x747, out: 0x57
+lb :: offset: 0x748, out: 0x4e
+lb :: offset: 0x749, out: 0xffffffffffffffd6
+lb :: offset: 0x74a, out: 0x39
+lb :: offset: 0x74b, out: 0x3d
+lb :: offset: 0x74c, out: 0xfffffffffffffff8
+lb :: offset: 0x74d, out: 0x18
+lb :: offset: 0x74e, out: 0xffffffffffffffaf
+lb :: offset: 0x74f, out: 0x57
+lb :: offset: 0x750, out: 0xfffffffffffffff2
+lb :: offset: 0x751, out: 0x2e
+lb :: offset: 0x752, out: 0xffffffffffffff90
+lb :: offset: 0x753, out: 0x20
+lb :: offset: 0x754, out: 0x2
+lb :: offset: 0x755, out: 0x36
+lb :: offset: 0x756, out: 0x77
+lb :: offset: 0x757, out: 0xa
+lb :: offset: 0x758, out: 0xffffffffffffff81
+lb :: offset: 0x759, out: 0xffffffffffffffef
+lb :: offset: 0x75a, out: 0xffffffffffffffb6
+lb :: offset: 0x75b, out: 0xffffffffffffffc7
+lb :: offset: 0x75c, out: 0xffffffffffffffaf
+lb :: offset: 0x75d, out: 0xffffffffffffffd0
+lb :: offset: 0x75e, out: 0xffffffffffffffc4
+lb :: offset: 0x75f, out: 0x5d
+lb :: offset: 0x760, out: 0xffffffffffffffee
+lb :: offset: 0x761, out: 0xffffffffffffffd8
+lb :: offset: 0x762, out: 0xfffffffffffffff3
+lb :: offset: 0x763, out: 0x51
+lb :: offset: 0x764, out: 0xffffffffffffff81
+lb :: offset: 0x765, out: 0x2
+lb :: offset: 0x766, out: 0x31
+lb :: offset: 0x767, out: 0x5b
+lb :: offset: 0x768, out: 0xffffffffffffffad
+lb :: offset: 0x769, out: 0xffffffffffffffaf
+lb :: offset: 0x76a, out: 0xffffffffffffffef
+lb :: offset: 0x76b, out: 0xffffffffffffffb9
+lb :: offset: 0x76c, out: 0xffffffffffffff99
+lb :: offset: 0x76d, out: 0x5e
+lb :: offset: 0x76e, out: 0xfffffffffffffffd
+lb :: offset: 0x76f, out: 0x5e
+lb :: offset: 0x770, out: 0x34
+lb :: offset: 0x771, out: 0x6
+lb :: offset: 0x772, out: 0x19
+lb :: offset: 0x773, out: 0x33
+lb :: offset: 0x774, out: 0xffffffffffffffeb
+lb :: offset: 0x775, out: 0x25
+lb :: offset: 0x776, out: 0x30
+lb :: offset: 0x777, out: 0xffffffffffffff86
+lb :: offset: 0x778, out: 0x17
+lb :: offset: 0x779, out: 0x48
+lb :: offset: 0x77a, out: 0xffffffffffffffda
+lb :: offset: 0x77b, out: 0x26
+lb :: offset: 0x77c, out: 0x4b
+lb :: offset: 0x77d, out: 0x4c
+lb :: offset: 0x77e, out: 0x52
+lb :: offset: 0x77f, out: 0xffffffffffffffbc
+lb :: offset: 0x780, out: 0x34
+lb :: offset: 0x781, out: 0xfffffffffffffffd
+lb :: offset: 0x782, out: 0xfffffffffffffffc
+lb :: offset: 0x783, out: 0xffffffffffffff9a
+lb :: offset: 0x784, out: 0xffffffffffffff93
+lb :: offset: 0x785, out: 0x2
+lb :: offset: 0x786, out: 0xffffffffffffffbe
+lb :: offset: 0x787, out: 0xffffffffffffff89
+lb :: offset: 0x788, out: 0xffffffffffffffd0
+lb :: offset: 0x789, out: 0x2
+lb :: offset: 0x78a, out: 0x78
+lb :: offset: 0x78b, out: 0xffffffffffffffc3
+lb :: offset: 0x78c, out: 0xffffffffffffffc5
+lb :: offset: 0x78d, out: 0x21
+lb :: offset: 0x78e, out: 0xffffffffffffffd1
+lb :: offset: 0x78f, out: 0xffffffffffffff80
+lb :: offset: 0x790, out: 0xffffffffffffffe9
+lb :: offset: 0x791, out: 0x9
+lb :: offset: 0x792, out: 0x44
+lb :: offset: 0x793, out: 0xffffffffffffffa4
+lb :: offset: 0x794, out: 0xffffffffffffffc1
+lb :: offset: 0x795, out: 0xffffffffffffffd3
+lb :: offset: 0x796, out: 0x7a
+lb :: offset: 0x797, out: 0x5d
+lb :: offset: 0x798, out: 0x65
+lb :: offset: 0x799, out: 0xfffffffffffffffd
+lb :: offset: 0x79a, out: 0x69
+lb :: offset: 0x79b, out: 0xffffffffffffff8f
+lb :: offset: 0x79c, out: 0xffffffffffffffdd
+lb :: offset: 0x79d, out: 0xffffffffffffffef
+lb :: offset: 0x79e, out: 0xffffffffffffff98
+lb :: offset: 0x79f, out: 0x39
+lb :: offset: 0x7a0, out: 0xffffffffffffffc4
+lb :: offset: 0x7a1, out: 0xffffffffffffff9e
+lb :: offset: 0x7a2, out: 0xffffffffffffffe3
+lb :: offset: 0x7a3, out: 0xffffffffffffffad
+lb :: offset: 0x7a4, out: 0xffffffffffffff81
+lb :: offset: 0x7a5, out: 0xffffffffffffffb5
+lb :: offset: 0x7a6, out: 0xffffffffffffffaf
+lb :: offset: 0x7a7, out: 0x52
+lb :: offset: 0x7a8, out: 0x7a
+lb :: offset: 0x7a9, out: 0xffffffffffffffa9
+lb :: offset: 0x7aa, out: 0x41
+lb :: offset: 0x7ab, out: 0xffffffffffffffe8
+lb :: offset: 0x7ac, out: 0xffffffffffffffbd
+lb :: offset: 0x7ad, out: 0xffffffffffffffb2
+lb :: offset: 0x7ae, out: 0x63
+lb :: offset: 0x7af, out: 0xffffffffffffffe9
+lb :: offset: 0x7b0, out: 0x37
+lb :: offset: 0x7b1, out: 0x2c
+lb :: offset: 0x7b2, out: 0x20
+lb :: offset: 0x7b3, out: 0xffffffffffffff9e
+lb :: offset: 0x7b4, out: 0x42
+lb :: offset: 0x7b5, out: 0xfffffffffffffff3
+lb :: offset: 0x7b6, out: 0xffffffffffffffb5
+lb :: offset: 0x7b7, out: 0xffffffffffffff8d
+lb :: offset: 0x7b8, out: 0x30
+lb :: offset: 0x7b9, out: 0xfffffffffffffff8
+lb :: offset: 0x7ba, out: 0x70
+lb :: offset: 0x7bb, out: 0xffffffffffffffb7
+lb :: offset: 0x7bc, out: 0xffffffffffffffe1
+lb :: offset: 0x7bd, out: 0x22
+lb :: offset: 0x7be, out: 0xffffffffffffffa8
+lb :: offset: 0x7bf, out: 0x3b
+lb :: offset: 0x7c0, out: 0xffffffffffffff9e
+lb :: offset: 0x7c1, out: 0x2
+lb :: offset: 0x7c2, out: 0xffffffffffffffde
+lb :: offset: 0x7c3, out: 0x4b
+lb :: offset: 0x7c4, out: 0x67
+lb :: offset: 0x7c5, out: 0xffffffffffffff89
+lb :: offset: 0x7c6, out: 0x30
+lb :: offset: 0x7c7, out: 0xffffffffffffffec
+lb :: offset: 0x7c8, out: 0xffffffffffffffcd
+lb :: offset: 0x7c9, out: 0x61
+lb :: offset: 0x7ca, out: 0xffffffffffffffa8
+lb :: offset: 0x7cb, out: 0x63
+lb :: offset: 0x7cc, out: 0xffffffffffffff98
+lb :: offset: 0x7cd, out: 0x26
+lb :: offset: 0x7ce, out: 0x63
+lb :: offset: 0x7cf, out: 0x1e
+lb :: offset: 0x7d0, out: 0xffffffffffffffae
+lb :: offset: 0x7d1, out: 0xffffffffffffff87
+lb :: offset: 0x7d2, out: 0xffffffffffffffbc
+lb :: offset: 0x7d3, out: 0xffffffffffffff89
+lb :: offset: 0x7d4, out: 0xffffffffffffff9a
+lb :: offset: 0x7d5, out: 0x7b
+lb :: offset: 0x7d6, out: 0xffffffffffffffd3
+lb :: offset: 0x7d7, out: 0xffffffffffffffca
+lb :: offset: 0x7d8, out: 0x58
+lb :: offset: 0x7d9, out: 0xffffffffffffffec
+lb :: offset: 0x7da, out: 0x64
+lb :: offset: 0x7db, out: 0x4d
+lb :: offset: 0x7dc, out: 0x64
+lb :: offset: 0x7dd, out: 0xffffffffffffff81
+lb :: offset: 0x7de, out: 0xffffffffffffffaf
+lb :: offset: 0x7df, out: 0x17
+lb :: offset: 0x7e0, out: 0x68
+lb :: offset: 0x7e1, out: 0xc
+lb :: offset: 0x7e2, out: 0xffffffffffffffce
+lb :: offset: 0x7e3, out: 0x5f
+lb :: offset: 0x7e4, out: 0xffffffffffffffb2
+lb :: offset: 0x7e5, out: 0x36
+lb :: offset: 0x7e6, out: 0xffffffffffffffb6
+lb :: offset: 0x7e7, out: 0x66
+lb :: offset: 0x7e8, out: 0x3b
+lb :: offset: 0x7e9, out: 0xffffffffffffffaa
+lb :: offset: 0x7ea, out: 0xffffffffffffff99
+lb :: offset: 0x7eb, out: 0x47
+lb :: offset: 0x7ec, out: 0x1f
+lb :: offset: 0x7ed, out: 0x6d
+lb :: offset: 0x7ee, out: 0x4d
+lb :: offset: 0x7ef, out: 0x75
+lb :: offset: 0x7f0, out: 0x61
+lb :: offset: 0x7f1, out: 0x4d
+lb :: offset: 0x7f2, out: 0xffffffffffffff9b
+lb :: offset: 0x7f3, out: 0x44
+lb :: offset: 0x7f4, out: 0x5f
+lb :: offset: 0x7f5, out: 0x12
+lb :: offset: 0x7f6, out: 0x23
+lb :: offset: 0x7f7, out: 0x6b
+lb :: offset: 0x7f8, out: 0xffffffffffffffa2
+lb :: offset: 0x7f9, out: 0xffffffffffffffa6
+lb :: offset: 0x7fa, out: 0xffffffffffffffec
+lb :: offset: 0x7fb, out: 0x66
+lb :: offset: 0x7fc, out: 0x1b
+lb :: offset: 0x7fd, out: 0xffffffffffffffa8
+lb :: offset: 0x7fe, out: 0x41
+lb :: offset: 0x7ff, out: 0x21
+lbu :: offset: 0x0, out: 0x0
+lbu :: offset: 0x1, out: 0x0
+lbu :: offset: 0x2, out: 0x0
+lbu :: offset: 0x3, out: 0x0
+lbu :: offset: 0x4, out: 0x0
+lbu :: offset: 0x5, out: 0x0
+lbu :: offset: 0x6, out: 0x0
+lbu :: offset: 0x7, out: 0x0
+lbu :: offset: 0x8, out: 0x9
+lbu :: offset: 0x9, out: 0x82
+lbu :: offset: 0xa, out: 0x3b
+lbu :: offset: 0xb, out: 0x6e
+lbu :: offset: 0xc, out: 0xd
+lbu :: offset: 0xd, out: 0x43
+lbu :: offset: 0xe, out: 0x26
+lbu :: offset: 0xf, out: 0xd9
+lbu :: offset: 0x10, out: 0x13
+lbu :: offset: 0x11, out: 0x4
+lbu :: offset: 0x12, out: 0x76
+lbu :: offset: 0x13, out: 0xdc
+lbu :: offset: 0x14, out: 0x17
+lbu :: offset: 0x15, out: 0xc5
+lbu :: offset: 0x16, out: 0x6b
+lbu :: offset: 0x17, out: 0x6b
+lbu :: offset: 0x18, out: 0x1a
+lbu :: offset: 0x19, out: 0x86
+lbu :: offset: 0x1a, out: 0x4d
+lbu :: offset: 0x1b, out: 0xb2
+lbu :: offset: 0x1c, out: 0x1e
+lbu :: offset: 0x1d, out: 0x47
+lbu :: offset: 0x1e, out: 0x50
+lbu :: offset: 0x1f, out: 0x5
+lbu :: offset: 0x20, out: 0x26
+lbu :: offset: 0x21, out: 0x8
+lbu :: offset: 0x22, out: 0xed
+lbu :: offset: 0x23, out: 0xb8
+lbu :: offset: 0x24, out: 0x22
+lbu :: offset: 0x25, out: 0xc9
+lbu :: offset: 0x26, out: 0xf0
+lbu :: offset: 0x27, out: 0xf
+lbu :: offset: 0x28, out: 0x2f
+lbu :: offset: 0x29, out: 0x8a
+lbu :: offset: 0x2a, out: 0xd6
+lbu :: offset: 0x2b, out: 0xd6
+lbu :: offset: 0x2c, out: 0x2b
+lbu :: offset: 0x2d, out: 0x4b
+lbu :: offset: 0x2e, out: 0xcb
+lbu :: offset: 0x2f, out: 0x61
+lbu :: offset: 0x30, out: 0x35
+lbu :: offset: 0x31, out: 0xc
+lbu :: offset: 0x32, out: 0x9b
+lbu :: offset: 0x33, out: 0x64
+lbu :: offset: 0x34, out: 0x31
+lbu :: offset: 0x35, out: 0xcd
+lbu :: offset: 0x36, out: 0x86
+lbu :: offset: 0x37, out: 0xd3
+lbu :: offset: 0x38, out: 0x3c
+lbu :: offset: 0x39, out: 0x8e
+lbu :: offset: 0x3a, out: 0xa0
+lbu :: offset: 0x3b, out: 0xa
+lbu :: offset: 0x3c, out: 0x38
+lbu :: offset: 0x3d, out: 0x4f
+lbu :: offset: 0x3e, out: 0xbd
+lbu :: offset: 0x3f, out: 0xbd
+lbu :: offset: 0x40, out: 0x4c
+lbu :: offset: 0x41, out: 0x11
+lbu :: offset: 0x42, out: 0xdb
+lbu :: offset: 0x43, out: 0x70
+lbu :: offset: 0x44, out: 0x48
+lbu :: offset: 0x45, out: 0xd0
+lbu :: offset: 0x46, out: 0xc6
+lbu :: offset: 0x47, out: 0xc7
+lbu :: offset: 0x48, out: 0x45
+lbu :: offset: 0x49, out: 0x93
+lbu :: offset: 0x4a, out: 0xe0
+lbu :: offset: 0x4b, out: 0x1e
+lbu :: offset: 0x4c, out: 0x41
+lbu :: offset: 0x4d, out: 0x52
+lbu :: offset: 0x4e, out: 0xfd
+lbu :: offset: 0x4f, out: 0xa9
+lbu :: offset: 0x50, out: 0x5f
+lbu :: offset: 0x51, out: 0x15
+lbu :: offset: 0x52, out: 0xad
+lbu :: offset: 0x53, out: 0xac
+lbu :: offset: 0x54, out: 0x5b
+lbu :: offset: 0x55, out: 0xd4
+lbu :: offset: 0x56, out: 0xb0
+lbu :: offset: 0x57, out: 0x1b
+lbu :: offset: 0x58, out: 0x56
+lbu :: offset: 0x59, out: 0x97
+lbu :: offset: 0x5a, out: 0x96
+lbu :: offset: 0x5b, out: 0xc2
+lbu :: offset: 0x5c, out: 0x52
+lbu :: offset: 0x5d, out: 0x56
+lbu :: offset: 0x5e, out: 0x8b
+lbu :: offset: 0x5f, out: 0x75
+lbu :: offset: 0x60, out: 0x6a
+lbu :: offset: 0x61, out: 0x19
+lbu :: offset: 0x62, out: 0x36
+lbu :: offset: 0x63, out: 0xc8
+lbu :: offset: 0x64, out: 0x6e
+lbu :: offset: 0x65, out: 0xd8
+lbu :: offset: 0x66, out: 0x2b
+lbu :: offset: 0x67, out: 0x7f
+lbu :: offset: 0x68, out: 0x63
+lbu :: offset: 0x69, out: 0x9b
+lbu :: offset: 0x6a, out: 0xd
+lbu :: offset: 0x6b, out: 0xa6
+lbu :: offset: 0x6c, out: 0x67
+lbu :: offset: 0x6d, out: 0x5a
+lbu :: offset: 0x6e, out: 0x10
+lbu :: offset: 0x6f, out: 0x11
+lbu :: offset: 0x70, out: 0x79
+lbu :: offset: 0x71, out: 0x1d
+lbu :: offset: 0x72, out: 0x40
+lbu :: offset: 0x73, out: 0x14
+lbu :: offset: 0x74, out: 0x7d
+lbu :: offset: 0x75, out: 0xdc
+lbu :: offset: 0x76, out: 0x5d
+lbu :: offset: 0x77, out: 0xa3
+lbu :: offset: 0x78, out: 0x70
+lbu :: offset: 0x79, out: 0x9f
+lbu :: offset: 0x7a, out: 0x7b
+lbu :: offset: 0x7b, out: 0x7a
+lbu :: offset: 0x7c, out: 0x74
+lbu :: offset: 0x7d, out: 0x5e
+lbu :: offset: 0x7e, out: 0x66
+lbu :: offset: 0x7f, out: 0xcd
+lbu :: offset: 0x80, out: 0x98
+lbu :: offset: 0x81, out: 0x23
+lbu :: offset: 0x82, out: 0xb6
+lbu :: offset: 0x83, out: 0xe0
+lbu :: offset: 0x84, out: 0x9c
+lbu :: offset: 0x85, out: 0xe2
+lbu :: offset: 0x86, out: 0xab
+lbu :: offset: 0x87, out: 0x57
+lbu :: offset: 0x88, out: 0x91
+lbu :: offset: 0x89, out: 0xa1
+lbu :: offset: 0x8a, out: 0x8d
+lbu :: offset: 0x8b, out: 0x8e
+lbu :: offset: 0x8c, out: 0x95
+lbu :: offset: 0x8d, out: 0x60
+lbu :: offset: 0x8e, out: 0x90
+lbu :: offset: 0x8f, out: 0x39
+lbu :: offset: 0x90, out: 0x8b
+lbu :: offset: 0x91, out: 0x27
+lbu :: offset: 0x92, out: 0xc0
+lbu :: offset: 0x93, out: 0x3c
+lbu :: offset: 0x94, out: 0x8f
+lbu :: offset: 0x95, out: 0xe6
+lbu :: offset: 0x96, out: 0xdd
+lbu :: offset: 0x97, out: 0x8b
+lbu :: offset: 0x98, out: 0x82
+lbu :: offset: 0x99, out: 0xa5
+lbu :: offset: 0x9a, out: 0xfb
+lbu :: offset: 0x9b, out: 0x52
+lbu :: offset: 0x9c, out: 0x86
+lbu :: offset: 0x9d, out: 0x64
+lbu :: offset: 0x9e, out: 0xe6
+lbu :: offset: 0x9f, out: 0xe5
+lbu :: offset: 0xa0, out: 0xbe
+lbu :: offset: 0xa1, out: 0x2b
+lbu :: offset: 0xa2, out: 0x5b
+lbu :: offset: 0xa3, out: 0x58
+lbu :: offset: 0xa4, out: 0xba
+lbu :: offset: 0xa5, out: 0xea
+lbu :: offset: 0xa6, out: 0x46
+lbu :: offset: 0xa7, out: 0xef
+lbu :: offset: 0xa8, out: 0xb7
+lbu :: offset: 0xa9, out: 0xa9
+lbu :: offset: 0xaa, out: 0x60
+lbu :: offset: 0xab, out: 0x36
+lbu :: offset: 0xac, out: 0xb3
+lbu :: offset: 0xad, out: 0x68
+lbu :: offset: 0xae, out: 0x7d
+lbu :: offset: 0xaf, out: 0x81
+lbu :: offset: 0xb0, out: 0xad
+lbu :: offset: 0xb1, out: 0x2f
+lbu :: offset: 0xb2, out: 0x2d
+lbu :: offset: 0xb3, out: 0x84
+lbu :: offset: 0xb4, out: 0xa9
+lbu :: offset: 0xb5, out: 0xee
+lbu :: offset: 0xb6, out: 0x30
+lbu :: offset: 0xb7, out: 0x33
+lbu :: offset: 0xb8, out: 0xa4
+lbu :: offset: 0xb9, out: 0xad
+lbu :: offset: 0xba, out: 0x16
+lbu :: offset: 0xbb, out: 0xea
+lbu :: offset: 0xbc, out: 0xa0
+lbu :: offset: 0xbd, out: 0x6c
+lbu :: offset: 0xbe, out: 0xb
+lbu :: offset: 0xbf, out: 0x5d
+lbu :: offset: 0xc0, out: 0xd4
+lbu :: offset: 0xc1, out: 0x32
+lbu :: offset: 0xc2, out: 0x6d
+lbu :: offset: 0xc3, out: 0x90
+lbu :: offset: 0xc4, out: 0xd0
+lbu :: offset: 0xc5, out: 0xf3
+lbu :: offset: 0xc6, out: 0x70
+lbu :: offset: 0xc7, out: 0x27
+lbu :: offset: 0xc8, out: 0xdd
+lbu :: offset: 0xc9, out: 0xb0
+lbu :: offset: 0xca, out: 0x56
+lbu :: offset: 0xcb, out: 0xfe
+lbu :: offset: 0xcc, out: 0xd9
+lbu :: offset: 0xcd, out: 0x71
+lbu :: offset: 0xce, out: 0x4b
+lbu :: offset: 0xcf, out: 0x49
+lbu :: offset: 0xd0, out: 0xc7
+lbu :: offset: 0xd1, out: 0x36
+lbu :: offset: 0xd2, out: 0x1b
+lbu :: offset: 0xd3, out: 0x4c
+lbu :: offset: 0xd4, out: 0xc3
+lbu :: offset: 0xd5, out: 0xf7
+lbu :: offset: 0xd6, out: 0x6
+lbu :: offset: 0xd7, out: 0xfb
+lbu :: offset: 0xd8, out: 0xce
+lbu :: offset: 0xd9, out: 0xb4
+lbu :: offset: 0xda, out: 0x20
+lbu :: offset: 0xdb, out: 0x22
+lbu :: offset: 0xdc, out: 0xca
+lbu :: offset: 0xdd, out: 0x75
+lbu :: offset: 0xde, out: 0x3d
+lbu :: offset: 0xdf, out: 0x95
+lbu :: offset: 0xe0, out: 0xf2
+lbu :: offset: 0xe1, out: 0x3a
+lbu :: offset: 0xe2, out: 0x80
+lbu :: offset: 0xe3, out: 0x28
+lbu :: offset: 0xe4, out: 0xf6
+lbu :: offset: 0xe5, out: 0xfb
+lbu :: offset: 0xe6, out: 0x9d
+lbu :: offset: 0xe7, out: 0x9f
+lbu :: offset: 0xe8, out: 0xfb
+lbu :: offset: 0xe9, out: 0xb8
+lbu :: offset: 0xea, out: 0xbb
+lbu :: offset: 0xeb, out: 0x46
+lbu :: offset: 0xec, out: 0xff
+lbu :: offset: 0xed, out: 0x79
+lbu :: offset: 0xee, out: 0xa6
+lbu :: offset: 0xef, out: 0xf1
+lbu :: offset: 0xf0, out: 0xe1
+lbu :: offset: 0xf1, out: 0x3e
+lbu :: offset: 0xf2, out: 0xf6
+lbu :: offset: 0xf3, out: 0xf4
+lbu :: offset: 0xf4, out: 0xe5
+lbu :: offset: 0xf5, out: 0xff
+lbu :: offset: 0xf6, out: 0xeb
+lbu :: offset: 0xf7, out: 0x43
+lbu :: offset: 0xf8, out: 0xe8
+lbu :: offset: 0xf9, out: 0xbc
+lbu :: offset: 0xfa, out: 0xcd
+lbu :: offset: 0xfb, out: 0x9a
+lbu :: offset: 0xfc, out: 0xec
+lbu :: offset: 0xfd, out: 0x7d
+lbu :: offset: 0xfe, out: 0xd0
+lbu :: offset: 0xff, out: 0x2d
+lbu :: offset: 0x100, out: 0x34
+lbu :: offset: 0x101, out: 0x86
+lbu :: offset: 0x102, out: 0x70
+lbu :: offset: 0x103, out: 0x77
+lbu :: offset: 0x104, out: 0x30
+lbu :: offset: 0x105, out: 0x47
+lbu :: offset: 0x106, out: 0x6d
+lbu :: offset: 0x107, out: 0xc0
+lbu :: offset: 0x108, out: 0x3d
+lbu :: offset: 0x109, out: 0x4
+lbu :: offset: 0x10a, out: 0x4b
+lbu :: offset: 0x10b, out: 0x19
+lbu :: offset: 0x10c, out: 0x39
+lbu :: offset: 0x10d, out: 0xc5
+lbu :: offset: 0x10e, out: 0x56
+lbu :: offset: 0x10f, out: 0xae
+lbu :: offset: 0x110, out: 0x27
+lbu :: offset: 0x111, out: 0x82
+lbu :: offset: 0x112, out: 0x6
+lbu :: offset: 0x113, out: 0xab
+lbu :: offset: 0x114, out: 0x23
+lbu :: offset: 0x115, out: 0x43
+lbu :: offset: 0x116, out: 0x1b
+lbu :: offset: 0x117, out: 0x1c
+lbu :: offset: 0x118, out: 0x2e
+lbu :: offset: 0x119, out: 0x0
+lbu :: offset: 0x11a, out: 0x3d
+lbu :: offset: 0x11b, out: 0xc5
+lbu :: offset: 0x11c, out: 0x2a
+lbu :: offset: 0x11d, out: 0xc1
+lbu :: offset: 0x11e, out: 0x20
+lbu :: offset: 0x11f, out: 0x72
+lbu :: offset: 0x120, out: 0x12
+lbu :: offset: 0x121, out: 0x8e
+lbu :: offset: 0x122, out: 0x9d
+lbu :: offset: 0x123, out: 0xcf
+lbu :: offset: 0x124, out: 0x16
+lbu :: offset: 0x125, out: 0x4f
+lbu :: offset: 0x126, out: 0x80
+lbu :: offset: 0x127, out: 0x78
+lbu :: offset: 0x128, out: 0x1b
+lbu :: offset: 0x129, out: 0xc
+lbu :: offset: 0x12a, out: 0xa6
+lbu :: offset: 0x12b, out: 0xa1
+lbu :: offset: 0x12c, out: 0x1f
+lbu :: offset: 0x12d, out: 0xcd
+lbu :: offset: 0x12e, out: 0xbb
+lbu :: offset: 0x12f, out: 0x16
+lbu :: offset: 0x130, out: 0x1
+lbu :: offset: 0x131, out: 0x8a
+lbu :: offset: 0x132, out: 0xeb
+lbu :: offset: 0x133, out: 0x13
+lbu :: offset: 0x134, out: 0x5
+lbu :: offset: 0x135, out: 0x4b
+lbu :: offset: 0x136, out: 0xf6
+lbu :: offset: 0x137, out: 0xa4
+lbu :: offset: 0x138, out: 0x8
+lbu :: offset: 0x139, out: 0x8
+lbu :: offset: 0x13a, out: 0xd0
+lbu :: offset: 0x13b, out: 0x7d
+lbu :: offset: 0x13c, out: 0xc
+lbu :: offset: 0x13d, out: 0xc9
+lbu :: offset: 0x13e, out: 0xcd
+lbu :: offset: 0x13f, out: 0xca
+lbu :: offset: 0x140, out: 0x78
+lbu :: offset: 0x141, out: 0x97
+lbu :: offset: 0x142, out: 0xab
+lbu :: offset: 0x143, out: 0x7
+lbu :: offset: 0x144, out: 0x7c
+lbu :: offset: 0x145, out: 0x56
+lbu :: offset: 0x146, out: 0xb6
+lbu :: offset: 0x147, out: 0xb0
+lbu :: offset: 0x148, out: 0x71
+lbu :: offset: 0x149, out: 0x15
+lbu :: offset: 0x14a, out: 0x90
+lbu :: offset: 0x14b, out: 0x69
+lbu :: offset: 0x14c, out: 0x75
+lbu :: offset: 0x14d, out: 0xd4
+lbu :: offset: 0x14e, out: 0x8d
+lbu :: offset: 0x14f, out: 0xde
+lbu :: offset: 0x150, out: 0x6b
+lbu :: offset: 0x151, out: 0x93
+lbu :: offset: 0x152, out: 0xdd
+lbu :: offset: 0x153, out: 0xdb
+lbu :: offset: 0x154, out: 0x6f
+lbu :: offset: 0x155, out: 0x52
+lbu :: offset: 0x156, out: 0xc0
+lbu :: offset: 0x157, out: 0x6c
+lbu :: offset: 0x158, out: 0x62
+lbu :: offset: 0x159, out: 0x11
+lbu :: offset: 0x15a, out: 0xe6
+lbu :: offset: 0x15b, out: 0xb5
+lbu :: offset: 0x15c, out: 0x66
+lbu :: offset: 0x15d, out: 0xd0
+lbu :: offset: 0x15e, out: 0xfb
+lbu :: offset: 0x15f, out: 0x2
+lbu :: offset: 0x160, out: 0x5e
+lbu :: offset: 0x161, out: 0x9f
+lbu :: offset: 0x162, out: 0x46
+lbu :: offset: 0x163, out: 0xbf
+lbu :: offset: 0x164, out: 0x5a
+lbu :: offset: 0x165, out: 0x5e
+lbu :: offset: 0x166, out: 0x5b
+lbu :: offset: 0x167, out: 0x8
+lbu :: offset: 0x168, out: 0x57
+lbu :: offset: 0x169, out: 0x1d
+lbu :: offset: 0x16a, out: 0x7d
+lbu :: offset: 0x16b, out: 0xd1
+lbu :: offset: 0x16c, out: 0x53
+lbu :: offset: 0x16d, out: 0xdc
+lbu :: offset: 0x16e, out: 0x60
+lbu :: offset: 0x16f, out: 0x66
+lbu :: offset: 0x170, out: 0x4d
+lbu :: offset: 0x171, out: 0x9b
+lbu :: offset: 0x172, out: 0x30
+lbu :: offset: 0x173, out: 0x63
+lbu :: offset: 0x174, out: 0x49
+lbu :: offset: 0x175, out: 0x5a
+lbu :: offset: 0x176, out: 0x2d
+lbu :: offset: 0x177, out: 0xd4
+lbu :: offset: 0x178, out: 0x44
+lbu :: offset: 0x179, out: 0x19
+lbu :: offset: 0x17a, out: 0xb
+lbu :: offset: 0x17b, out: 0xd
+lbu :: offset: 0x17c, out: 0x40
+lbu :: offset: 0x17d, out: 0xd8
+lbu :: offset: 0x17e, out: 0x16
+lbu :: offset: 0x17f, out: 0xba
+lbu :: offset: 0x180, out: 0xac
+lbu :: offset: 0x181, out: 0xa5
+lbu :: offset: 0x182, out: 0xc6
+lbu :: offset: 0x183, out: 0x97
+lbu :: offset: 0x184, out: 0xa8
+lbu :: offset: 0x185, out: 0x64
+lbu :: offset: 0x186, out: 0xdb
+lbu :: offset: 0x187, out: 0x20
+lbu :: offset: 0x188, out: 0xa5
+lbu :: offset: 0x189, out: 0x27
+lbu :: offset: 0x18a, out: 0xfd
+lbu :: offset: 0x18b, out: 0xf9
+lbu :: offset: 0x18c, out: 0xa1
+lbu :: offset: 0x18d, out: 0xe6
+lbu :: offset: 0x18e, out: 0xe0
+lbu :: offset: 0x18f, out: 0x4e
+lbu :: offset: 0x190, out: 0xbf
+lbu :: offset: 0x191, out: 0xa1
+lbu :: offset: 0x192, out: 0xb0
+lbu :: offset: 0x193, out: 0x4b
+lbu :: offset: 0x194, out: 0xbb
+lbu :: offset: 0x195, out: 0x60
+lbu :: offset: 0x196, out: 0xad
+lbu :: offset: 0x197, out: 0xfc
+lbu :: offset: 0x198, out: 0xb6
+lbu :: offset: 0x199, out: 0x23
+lbu :: offset: 0x19a, out: 0x8b
+lbu :: offset: 0x19b, out: 0x25
+lbu :: offset: 0x19c, out: 0xb2
+lbu :: offset: 0x19d, out: 0xe2
+lbu :: offset: 0x19e, out: 0x96
+lbu :: offset: 0x19f, out: 0x92
+lbu :: offset: 0x1a0, out: 0x8a
+lbu :: offset: 0x1a1, out: 0xad
+lbu :: offset: 0x1a2, out: 0x2b
+lbu :: offset: 0x1a3, out: 0x2f
+lbu :: offset: 0x1a4, out: 0x0
+lbu :: offset: 0x1a5, out: 0x0
+lbu :: offset: 0x1a6, out: 0x0
+lbu :: offset: 0x1a7, out: 0x0
+lbu :: offset: 0x1a8, out: 0x0
+lbu :: offset: 0x1a9, out: 0x0
+lbu :: offset: 0x1aa, out: 0x0
+lbu :: offset: 0x1ab, out: 0x0
+lbu :: offset: 0x1ac, out: 0x87
+lbu :: offset: 0x1ad, out: 0xee
+lbu :: offset: 0x1ae, out: 0xd
+lbu :: offset: 0x1af, out: 0xf6
+lbu :: offset: 0x1b0, out: 0x99
+lbu :: offset: 0x1b1, out: 0xa9
+lbu :: offset: 0x1b2, out: 0x5d
+lbu :: offset: 0x1b3, out: 0xf3
+lbu :: offset: 0x1b4, out: 0x9d
+lbu :: offset: 0x1b5, out: 0x68
+lbu :: offset: 0x1b6, out: 0x40
+lbu :: offset: 0x1b7, out: 0x44
+lbu :: offset: 0x1b8, out: 0x90
+lbu :: offset: 0x1b9, out: 0x2b
+lbu :: offset: 0x1ba, out: 0x66
+lbu :: offset: 0x1bb, out: 0x9d
+lbu :: offset: 0x1bc, out: 0x94
+lbu :: offset: 0x1bd, out: 0xea
+lbu :: offset: 0x1be, out: 0x7b
+lbu :: offset: 0x1bf, out: 0x2a
+lbu :: offset: 0x1c0, out: 0xe0
+lbu :: offset: 0x1c1, out: 0xb4
+lbu :: offset: 0x1c2, out: 0x1d
+lbu :: offset: 0x1c3, out: 0xe7
+lbu :: offset: 0x1c4, out: 0xe4
+lbu :: offset: 0x1c5, out: 0x75
+lbu :: offset: 0x1c6, out: 0x0
+lbu :: offset: 0x1c7, out: 0x50
+lbu :: offset: 0x1c8, out: 0xe9
+lbu :: offset: 0x1c9, out: 0x36
+lbu :: offset: 0x1ca, out: 0x26
+lbu :: offset: 0x1cb, out: 0x89
+lbu :: offset: 0x1cc, out: 0xed
+lbu :: offset: 0x1cd, out: 0xf7
+lbu :: offset: 0x1ce, out: 0x3b
+lbu :: offset: 0x1cf, out: 0x3e
+lbu :: offset: 0x1d0, out: 0xf3
+lbu :: offset: 0x1d1, out: 0xb0
+lbu :: offset: 0x1d2, out: 0x6b
+lbu :: offset: 0x1d3, out: 0x3b
+lbu :: offset: 0x1d4, out: 0xf7
+lbu :: offset: 0x1d5, out: 0x71
+lbu :: offset: 0x1d6, out: 0x76
+lbu :: offset: 0x1d7, out: 0x8c
+lbu :: offset: 0x1d8, out: 0xfa
+lbu :: offset: 0x1d9, out: 0x32
+lbu :: offset: 0x1da, out: 0x50
+lbu :: offset: 0x1db, out: 0x55
+lbu :: offset: 0x1dc, out: 0xfe
+lbu :: offset: 0x1dd, out: 0xf3
+lbu :: offset: 0x1de, out: 0x4d
+lbu :: offset: 0x1df, out: 0xe2
+lbu :: offset: 0x1e0, out: 0xc6
+lbu :: offset: 0x1e1, out: 0xbc
+lbu :: offset: 0x1e2, out: 0xf0
+lbu :: offset: 0x1e3, out: 0x5f
+lbu :: offset: 0x1e4, out: 0xc2
+lbu :: offset: 0x1e5, out: 0x7d
+lbu :: offset: 0x1e6, out: 0xed
+lbu :: offset: 0x1e7, out: 0xe8
+lbu :: offset: 0x1e8, out: 0xcf
+lbu :: offset: 0x1e9, out: 0x3e
+lbu :: offset: 0x1ea, out: 0xcb
+lbu :: offset: 0x1eb, out: 0x31
+lbu :: offset: 0x1ec, out: 0xcb
+lbu :: offset: 0x1ed, out: 0xff
+lbu :: offset: 0x1ee, out: 0xd6
+lbu :: offset: 0x1ef, out: 0x86
+lbu :: offset: 0x1f0, out: 0xd5
+lbu :: offset: 0x1f1, out: 0xb8
+lbu :: offset: 0x1f2, out: 0x86
+lbu :: offset: 0x1f3, out: 0x83
+lbu :: offset: 0x1f4, out: 0xd1
+lbu :: offset: 0x1f5, out: 0x79
+lbu :: offset: 0x1f6, out: 0x9b
+lbu :: offset: 0x1f7, out: 0x34
+lbu :: offset: 0x1f8, out: 0xdc
+lbu :: offset: 0x1f9, out: 0x3a
+lbu :: offset: 0x1fa, out: 0xbd
+lbu :: offset: 0x1fb, out: 0xed
+lbu :: offset: 0x1fc, out: 0xd8
+lbu :: offset: 0x1fd, out: 0xfb
+lbu :: offset: 0x1fe, out: 0xa0
+lbu :: offset: 0x1ff, out: 0x5a
+lbu :: offset: 0x200, out: 0x69
+lbu :: offset: 0x201, out: 0xc
+lbu :: offset: 0x202, out: 0xe0
+lbu :: offset: 0x203, out: 0xee
+lbu :: offset: 0x204, out: 0x6d
+lbu :: offset: 0x205, out: 0xcd
+lbu :: offset: 0x206, out: 0xfd
+lbu :: offset: 0x207, out: 0x59
+lbu :: offset: 0x208, out: 0x60
+lbu :: offset: 0x209, out: 0x8e
+lbu :: offset: 0x20a, out: 0xdb
+lbu :: offset: 0x20b, out: 0x80
+lbu :: offset: 0x20c, out: 0x64
+lbu :: offset: 0x20d, out: 0x4f
+lbu :: offset: 0x20e, out: 0xc6
+lbu :: offset: 0x20f, out: 0x37
+lbu :: offset: 0x210, out: 0x7a
+lbu :: offset: 0x211, out: 0x8
+lbu :: offset: 0x212, out: 0x96
+lbu :: offset: 0x213, out: 0x32
+lbu :: offset: 0x214, out: 0x7e
+lbu :: offset: 0x215, out: 0xc9
+lbu :: offset: 0x216, out: 0x8b
+lbu :: offset: 0x217, out: 0x85
+lbu :: offset: 0x218, out: 0x73
+lbu :: offset: 0x219, out: 0x8a
+lbu :: offset: 0x21a, out: 0xad
+lbu :: offset: 0x21b, out: 0x5c
+lbu :: offset: 0x21c, out: 0x77
+lbu :: offset: 0x21d, out: 0x4b
+lbu :: offset: 0x21e, out: 0xb0
+lbu :: offset: 0x21f, out: 0xeb
+lbu :: offset: 0x220, out: 0x4f
+lbu :: offset: 0x221, out: 0x4
+lbu :: offset: 0x222, out: 0xd
+lbu :: offset: 0x223, out: 0x56
+lbu :: offset: 0x224, out: 0x4b
+lbu :: offset: 0x225, out: 0xc5
+lbu :: offset: 0x226, out: 0x10
+lbu :: offset: 0x227, out: 0xe1
+lbu :: offset: 0x228, out: 0x46
+lbu :: offset: 0x229, out: 0x86
+lbu :: offset: 0x22a, out: 0x36
+lbu :: offset: 0x22b, out: 0x38
+lbu :: offset: 0x22c, out: 0x42
+lbu :: offset: 0x22d, out: 0x47
+lbu :: offset: 0x22e, out: 0x2b
+lbu :: offset: 0x22f, out: 0x8f
+lbu :: offset: 0x230, out: 0x5c
+lbu :: offset: 0x231, out: 0x0
+lbu :: offset: 0x232, out: 0x7b
+lbu :: offset: 0x233, out: 0x8a
+lbu :: offset: 0x234, out: 0x58
+lbu :: offset: 0x235, out: 0xc1
+lbu :: offset: 0x236, out: 0x66
+lbu :: offset: 0x237, out: 0x3d
+lbu :: offset: 0x238, out: 0x55
+lbu :: offset: 0x239, out: 0x82
+lbu :: offset: 0x23a, out: 0x40
+lbu :: offset: 0x23b, out: 0xe4
+lbu :: offset: 0x23c, out: 0x51
+lbu :: offset: 0x23d, out: 0x43
+lbu :: offset: 0x23e, out: 0x5d
+lbu :: offset: 0x23f, out: 0x53
+lbu :: offset: 0x240, out: 0x25
+lbu :: offset: 0x241, out: 0x1d
+lbu :: offset: 0x242, out: 0x3b
+lbu :: offset: 0x243, out: 0x9e
+lbu :: offset: 0x244, out: 0x21
+lbu :: offset: 0x245, out: 0xdc
+lbu :: offset: 0x246, out: 0x26
+lbu :: offset: 0x247, out: 0x29
+lbu :: offset: 0x248, out: 0x2c
+lbu :: offset: 0x249, out: 0x9f
+lbu :: offset: 0x24a, out: 0x0
+lbu :: offset: 0x24b, out: 0xf0
+lbu :: offset: 0x24c, out: 0x28
+lbu :: offset: 0x24d, out: 0x5e
+lbu :: offset: 0x24e, out: 0x1d
+lbu :: offset: 0x24f, out: 0x47
+lbu :: offset: 0x250, out: 0x36
+lbu :: offset: 0x251, out: 0x19
+lbu :: offset: 0x252, out: 0x4d
+lbu :: offset: 0x253, out: 0x42
+lbu :: offset: 0x254, out: 0x32
+lbu :: offset: 0x255, out: 0xd8
+lbu :: offset: 0x256, out: 0x50
+lbu :: offset: 0x257, out: 0xf5
+lbu :: offset: 0x258, out: 0x3f
+lbu :: offset: 0x259, out: 0x9b
+lbu :: offset: 0x25a, out: 0x76
+lbu :: offset: 0x25b, out: 0x2c
+lbu :: offset: 0x25c, out: 0x3b
+lbu :: offset: 0x25d, out: 0x5a
+lbu :: offset: 0x25e, out: 0x6b
+lbu :: offset: 0x25f, out: 0x9b
+lbu :: offset: 0x260, out: 0x3
+lbu :: offset: 0x261, out: 0x15
+lbu :: offset: 0x262, out: 0xd6
+lbu :: offset: 0x263, out: 0x26
+lbu :: offset: 0x264, out: 0x7
+lbu :: offset: 0x265, out: 0xd4
+lbu :: offset: 0x266, out: 0xcb
+lbu :: offset: 0x267, out: 0x91
+lbu :: offset: 0x268, out: 0xa
+lbu :: offset: 0x269, out: 0x97
+lbu :: offset: 0x26a, out: 0xed
+lbu :: offset: 0x26b, out: 0x48
+lbu :: offset: 0x26c, out: 0xe
+lbu :: offset: 0x26d, out: 0x56
+lbu :: offset: 0x26e, out: 0xf0
+lbu :: offset: 0x26f, out: 0xff
+lbu :: offset: 0x270, out: 0x10
+lbu :: offset: 0x271, out: 0x11
+lbu :: offset: 0x272, out: 0xa0
+lbu :: offset: 0x273, out: 0xfa
+lbu :: offset: 0x274, out: 0x14
+lbu :: offset: 0x275, out: 0xd0
+lbu :: offset: 0x276, out: 0xbd
+lbu :: offset: 0x277, out: 0x4d
+lbu :: offset: 0x278, out: 0x19
+lbu :: offset: 0x279, out: 0x93
+lbu :: offset: 0x27a, out: 0x9b
+lbu :: offset: 0x27b, out: 0x94
+lbu :: offset: 0x27c, out: 0x1d
+lbu :: offset: 0x27d, out: 0x52
+lbu :: offset: 0x27e, out: 0x86
+lbu :: offset: 0x27f, out: 0x23
+lbu :: offset: 0x280, out: 0xf1
+lbu :: offset: 0x281, out: 0x2f
+lbu :: offset: 0x282, out: 0x56
+lbu :: offset: 0x283, out: 0xe
+lbu :: offset: 0x284, out: 0xf5
+lbu :: offset: 0x285, out: 0xee
+lbu :: offset: 0x286, out: 0x4b
+lbu :: offset: 0x287, out: 0xb9
+lbu :: offset: 0x288, out: 0xf8
+lbu :: offset: 0x289, out: 0xad
+lbu :: offset: 0x28a, out: 0x6d
+lbu :: offset: 0x28b, out: 0x60
+lbu :: offset: 0x28c, out: 0xfc
+lbu :: offset: 0x28d, out: 0x6c
+lbu :: offset: 0x28e, out: 0x70
+lbu :: offset: 0x28f, out: 0xd7
+lbu :: offset: 0x290, out: 0xe2
+lbu :: offset: 0x291, out: 0x2b
+lbu :: offset: 0x292, out: 0x20
+lbu :: offset: 0x293, out: 0xd2
+lbu :: offset: 0x294, out: 0xe6
+lbu :: offset: 0x295, out: 0xea
+lbu :: offset: 0x296, out: 0x3d
+lbu :: offset: 0x297, out: 0x65
+lbu :: offset: 0x298, out: 0xeb
+lbu :: offset: 0x299, out: 0xa9
+lbu :: offset: 0x29a, out: 0x1b
+lbu :: offset: 0x29b, out: 0xbc
+lbu :: offset: 0x29c, out: 0xef
+lbu :: offset: 0x29d, out: 0x68
+lbu :: offset: 0x29e, out: 0x6
+lbu :: offset: 0x29f, out: 0xb
+lbu :: offset: 0x2a0, out: 0xd7
+lbu :: offset: 0x2a1, out: 0x27
+lbu :: offset: 0x2a2, out: 0xbb
+lbu :: offset: 0x2a3, out: 0xb6
+lbu :: offset: 0x2a4, out: 0xd3
+lbu :: offset: 0x2a5, out: 0xe6
+lbu :: offset: 0x2a6, out: 0xa6
+lbu :: offset: 0x2a7, out: 0x1
+lbu :: offset: 0x2a8, out: 0xde
+lbu :: offset: 0x2a9, out: 0xa5
+lbu :: offset: 0x2aa, out: 0x80
+lbu :: offset: 0x2ab, out: 0xd8
+lbu :: offset: 0x2ac, out: 0xda
+lbu :: offset: 0x2ad, out: 0x64
+lbu :: offset: 0x2ae, out: 0x9d
+lbu :: offset: 0x2af, out: 0x6f
+lbu :: offset: 0x2b0, out: 0xc4
+lbu :: offset: 0x2b1, out: 0x23
+lbu :: offset: 0x2b2, out: 0xcd
+lbu :: offset: 0x2b3, out: 0x6a
+lbu :: offset: 0x2b4, out: 0x0
+lbu :: offset: 0x2b5, out: 0x0
+lbu :: offset: 0x2b6, out: 0x0
+lbu :: offset: 0x2b7, out: 0x0
+lbu :: offset: 0x2b8, out: 0xcd
+lbu :: offset: 0x2b9, out: 0xa1
+lbu :: offset: 0x2ba, out: 0xf6
+lbu :: offset: 0x2bb, out: 0x4
+lbu :: offset: 0x2bc, out: 0x0
+lbu :: offset: 0x2bd, out: 0x0
+lbu :: offset: 0x2be, out: 0x0
+lbu :: offset: 0x2bf, out: 0x0
+lbu :: offset: 0x2c0, out: 0xbd
+lbu :: offset: 0x2c1, out: 0x3e
+lbu :: offset: 0x2c2, out: 0x8d
+lbu :: offset: 0x2c3, out: 0x7e
+lbu :: offset: 0x2c4, out: 0xb9
+lbu :: offset: 0x2c5, out: 0xff
+lbu :: offset: 0x2c6, out: 0x90
+lbu :: offset: 0x2c7, out: 0xc9
+lbu :: offset: 0x2c8, out: 0xb4
+lbu :: offset: 0x2c9, out: 0xbc
+lbu :: offset: 0x2ca, out: 0xb6
+lbu :: offset: 0x2cb, out: 0x10
+lbu :: offset: 0x2cc, out: 0xb0
+lbu :: offset: 0x2cd, out: 0x7d
+lbu :: offset: 0x2ce, out: 0xab
+lbu :: offset: 0x2cf, out: 0xa7
+lbu :: offset: 0x2d0, out: 0xae
+lbu :: offset: 0x2d1, out: 0x3a
+lbu :: offset: 0x2d2, out: 0xfb
+lbu :: offset: 0x2d3, out: 0xa2
+lbu :: offset: 0x2d4, out: 0xaa
+lbu :: offset: 0x2d5, out: 0xfb
+lbu :: offset: 0x2d6, out: 0xe6
+lbu :: offset: 0x2d7, out: 0x15
+lbu :: offset: 0x2d8, out: 0xa7
+lbu :: offset: 0x2d9, out: 0xb8
+lbu :: offset: 0x2da, out: 0xc0
+lbu :: offset: 0x2db, out: 0xcc
+lbu :: offset: 0x2dc, out: 0xa3
+lbu :: offset: 0x2dd, out: 0x79
+lbu :: offset: 0x2de, out: 0xdd
+lbu :: offset: 0x2df, out: 0x7b
+lbu :: offset: 0x2e0, out: 0x9b
+lbu :: offset: 0x2e1, out: 0x36
+lbu :: offset: 0x2e2, out: 0x60
+lbu :: offset: 0x2e3, out: 0xc6
+lbu :: offset: 0x2e4, out: 0x9f
+lbu :: offset: 0x2e5, out: 0xf7
+lbu :: offset: 0x2e6, out: 0x7d
+lbu :: offset: 0x2e7, out: 0x71
+lbu :: offset: 0x2e8, out: 0x92
+lbu :: offset: 0x2e9, out: 0xb4
+lbu :: offset: 0x2ea, out: 0x5b
+lbu :: offset: 0x2eb, out: 0xa8
+lbu :: offset: 0x2ec, out: 0x96
+lbu :: offset: 0x2ed, out: 0x75
+lbu :: offset: 0x2ee, out: 0x46
+lbu :: offset: 0x2ef, out: 0x1f
+lbu :: offset: 0x2f0, out: 0x88
+lbu :: offset: 0x2f1, out: 0x32
+lbu :: offset: 0x2f2, out: 0x16
+lbu :: offset: 0x2f3, out: 0x1a
+lbu :: offset: 0x2f4, out: 0x8c
+lbu :: offset: 0x2f5, out: 0xf3
+lbu :: offset: 0x2f6, out: 0xb
+lbu :: offset: 0x2f7, out: 0xad
+lbu :: offset: 0x2f8, out: 0x81
+lbu :: offset: 0x2f9, out: 0xb0
+lbu :: offset: 0x2fa, out: 0x2d
+lbu :: offset: 0x2fb, out: 0x74
+lbu :: offset: 0x2fc, out: 0x85
+lbu :: offset: 0x2fd, out: 0x71
+lbu :: offset: 0x2fe, out: 0x30
+lbu :: offset: 0x2ff, out: 0xc3
+lbu :: offset: 0x300, out: 0x5d
+lbu :: offset: 0x301, out: 0x8a
+lbu :: offset: 0x302, out: 0x90
+lbu :: offset: 0x303, out: 0x99
+lbu :: offset: 0x304, out: 0x59
+lbu :: offset: 0x305, out: 0x4b
+lbu :: offset: 0x306, out: 0x8d
+lbu :: offset: 0x307, out: 0x2e
+lbu :: offset: 0x308, out: 0x54
+lbu :: offset: 0x309, out: 0x8
+lbu :: offset: 0x30a, out: 0xab
+lbu :: offset: 0x30b, out: 0xf7
+lbu :: offset: 0x30c, out: 0x50
+lbu :: offset: 0x30d, out: 0xc9
+lbu :: offset: 0x30e, out: 0xb6
+lbu :: offset: 0x30f, out: 0x40
+lbu :: offset: 0x310, out: 0x4e
+lbu :: offset: 0x311, out: 0x8e
+lbu :: offset: 0x312, out: 0xe6
+lbu :: offset: 0x313, out: 0x45
+lbu :: offset: 0x314, out: 0x4a
+lbu :: offset: 0x315, out: 0x4f
+lbu :: offset: 0x316, out: 0xfb
+lbu :: offset: 0x317, out: 0xf2
+lbu :: offset: 0x318, out: 0x47
+lbu :: offset: 0x319, out: 0xc
+lbu :: offset: 0x31a, out: 0xdd
+lbu :: offset: 0x31b, out: 0x2b
+lbu :: offset: 0x31c, out: 0x43
+lbu :: offset: 0x31d, out: 0xcd
+lbu :: offset: 0x31e, out: 0xc0
+lbu :: offset: 0x31f, out: 0x9c
+lbu :: offset: 0x320, out: 0x7b
+lbu :: offset: 0x321, out: 0x82
+lbu :: offset: 0x322, out: 0x7d
+lbu :: offset: 0x323, out: 0x21
+lbu :: offset: 0x324, out: 0x7f
+lbu :: offset: 0x325, out: 0x43
+lbu :: offset: 0x326, out: 0x60
+lbu :: offset: 0x327, out: 0x96
+lbu :: offset: 0x328, out: 0x72
+lbu :: offset: 0x329, out: 0x0
+lbu :: offset: 0x32a, out: 0x46
+lbu :: offset: 0x32b, out: 0x4f
+lbu :: offset: 0x32c, out: 0x76
+lbu :: offset: 0x32d, out: 0xc1
+lbu :: offset: 0x32e, out: 0x5b
+lbu :: offset: 0x32f, out: 0xf8
+lbu :: offset: 0x330, out: 0x68
+lbu :: offset: 0x331, out: 0x86
+lbu :: offset: 0x332, out: 0xb
+lbu :: offset: 0x333, out: 0xfd
+lbu :: offset: 0x334, out: 0x6c
+lbu :: offset: 0x335, out: 0x47
+lbu :: offset: 0x336, out: 0x16
+lbu :: offset: 0x337, out: 0x4a
+lbu :: offset: 0x338, out: 0x61
+lbu :: offset: 0x339, out: 0x4
+lbu :: offset: 0x33a, out: 0x30
+lbu :: offset: 0x33b, out: 0x93
+lbu :: offset: 0x33c, out: 0x65
+lbu :: offset: 0x33d, out: 0xc5
+lbu :: offset: 0x33e, out: 0x2d
+lbu :: offset: 0x33f, out: 0x24
+lbu :: offset: 0x340, out: 0x11
+lbu :: offset: 0x341, out: 0x9b
+lbu :: offset: 0x342, out: 0x4b
+lbu :: offset: 0x343, out: 0xe9
+lbu :: offset: 0x344, out: 0x15
+lbu :: offset: 0x345, out: 0x5a
+lbu :: offset: 0x346, out: 0x56
+lbu :: offset: 0x347, out: 0x5e
+lbu :: offset: 0x348, out: 0x18
+lbu :: offset: 0x349, out: 0x19
+lbu :: offset: 0x34a, out: 0x70
+lbu :: offset: 0x34b, out: 0x87
+lbu :: offset: 0x34c, out: 0x1c
+lbu :: offset: 0x34d, out: 0xd8
+lbu :: offset: 0x34e, out: 0x6d
+lbu :: offset: 0x34f, out: 0x30
+lbu :: offset: 0x350, out: 0x2
+lbu :: offset: 0x351, out: 0x9f
+lbu :: offset: 0x352, out: 0x3d
+lbu :: offset: 0x353, out: 0x35
+lbu :: offset: 0x354, out: 0x6
+lbu :: offset: 0x355, out: 0x5e
+lbu :: offset: 0x356, out: 0x20
+lbu :: offset: 0x357, out: 0x82
+lbu :: offset: 0x358, out: 0xb
+lbu :: offset: 0x359, out: 0x1d
+lbu :: offset: 0x35a, out: 0x6
+lbu :: offset: 0x35b, out: 0x5b
+lbu :: offset: 0x35c, out: 0xf
+lbu :: offset: 0x35d, out: 0xdc
+lbu :: offset: 0x35e, out: 0x1b
+lbu :: offset: 0x35f, out: 0xec
+lbu :: offset: 0x360, out: 0x37
+lbu :: offset: 0x361, out: 0x93
+lbu :: offset: 0x362, out: 0xa6
+lbu :: offset: 0x363, out: 0x51
+lbu :: offset: 0x364, out: 0x33
+lbu :: offset: 0x365, out: 0x52
+lbu :: offset: 0x366, out: 0xbb
+lbu :: offset: 0x367, out: 0xe6
+lbu :: offset: 0x368, out: 0x3e
+lbu :: offset: 0x369, out: 0x11
+lbu :: offset: 0x36a, out: 0x9d
+lbu :: offset: 0x36b, out: 0x3f
+lbu :: offset: 0x36c, out: 0x3a
+lbu :: offset: 0x36d, out: 0xd0
+lbu :: offset: 0x36e, out: 0x80
+lbu :: offset: 0x36f, out: 0x88
+lbu :: offset: 0x370, out: 0x24
+lbu :: offset: 0x371, out: 0x97
+lbu :: offset: 0x372, out: 0xd0
+lbu :: offset: 0x373, out: 0x8d
+lbu :: offset: 0x374, out: 0x20
+lbu :: offset: 0x375, out: 0x56
+lbu :: offset: 0x376, out: 0xcd
+lbu :: offset: 0x377, out: 0x3a
+lbu :: offset: 0x378, out: 0x2d
+lbu :: offset: 0x379, out: 0x15
+lbu :: offset: 0x37a, out: 0xeb
+lbu :: offset: 0x37b, out: 0xe3
+lbu :: offset: 0x37c, out: 0x29
+lbu :: offset: 0x37d, out: 0xd4
+lbu :: offset: 0x37e, out: 0xf6
+lbu :: offset: 0x37f, out: 0x54
+lbu :: offset: 0x380, out: 0xc5
+lbu :: offset: 0x381, out: 0xa9
+lbu :: offset: 0x382, out: 0x26
+lbu :: offset: 0x383, out: 0x79
+lbu :: offset: 0x384, out: 0xc1
+lbu :: offset: 0x385, out: 0x68
+lbu :: offset: 0x386, out: 0x3b
+lbu :: offset: 0x387, out: 0xce
+lbu :: offset: 0x388, out: 0xcc
+lbu :: offset: 0x389, out: 0x2b
+lbu :: offset: 0x38a, out: 0x1d
+lbu :: offset: 0x38b, out: 0x17
+lbu :: offset: 0x38c, out: 0xc8
+lbu :: offset: 0x38d, out: 0xea
+lbu :: offset: 0x38e, out: 0x0
+lbu :: offset: 0x38f, out: 0xa0
+lbu :: offset: 0x390, out: 0xd6
+lbu :: offset: 0x391, out: 0xad
+lbu :: offset: 0x392, out: 0x50
+lbu :: offset: 0x393, out: 0xa5
+lbu :: offset: 0x394, out: 0xd2
+lbu :: offset: 0x395, out: 0x6c
+lbu :: offset: 0x396, out: 0x4d
+lbu :: offset: 0x397, out: 0x12
+lbu :: offset: 0x398, out: 0xdf
+lbu :: offset: 0x399, out: 0x2f
+lbu :: offset: 0x39a, out: 0x6b
+lbu :: offset: 0x39b, out: 0xcb
+lbu :: offset: 0x39c, out: 0xdb
+lbu :: offset: 0x39d, out: 0xee
+lbu :: offset: 0x39e, out: 0x76
+lbu :: offset: 0x39f, out: 0x7c
+lbu :: offset: 0x3a0, out: 0xe3
+lbu :: offset: 0x3a1, out: 0xa1
+lbu :: offset: 0x3a2, out: 0xcb
+lbu :: offset: 0x3a3, out: 0xc1
+lbu :: offset: 0x3a4, out: 0xe7
+lbu :: offset: 0x3a5, out: 0x60
+lbu :: offset: 0x3a6, out: 0xd6
+lbu :: offset: 0x3a7, out: 0x76
+lbu :: offset: 0x3a8, out: 0xea
+lbu :: offset: 0x3a9, out: 0x23
+lbu :: offset: 0x3aa, out: 0xf0
+lbu :: offset: 0x3ab, out: 0xaf
+lbu :: offset: 0x3ac, out: 0xee
+lbu :: offset: 0x3ad, out: 0xe2
+lbu :: offset: 0x3ae, out: 0xed
+lbu :: offset: 0x3af, out: 0x18
+lbu :: offset: 0x3b0, out: 0xf0
+lbu :: offset: 0x3b1, out: 0xa5
+lbu :: offset: 0x3b2, out: 0xbd
+lbu :: offset: 0x3b3, out: 0x1d
+lbu :: offset: 0x3b4, out: 0xf4
+lbu :: offset: 0x3b5, out: 0x64
+lbu :: offset: 0x3b6, out: 0xa0
+lbu :: offset: 0x3b7, out: 0xaa
+lbu :: offset: 0x3b8, out: 0xf9
+lbu :: offset: 0x3b9, out: 0x27
+lbu :: offset: 0x3ba, out: 0x86
+lbu :: offset: 0x3bb, out: 0x73
+lbu :: offset: 0x3bc, out: 0xfd
+lbu :: offset: 0x3bd, out: 0xe6
+lbu :: offset: 0x3be, out: 0x9b
+lbu :: offset: 0x3bf, out: 0xc4
+lbu :: offset: 0x3c0, out: 0x89
+lbu :: offset: 0x3c1, out: 0xb8
+lbu :: offset: 0x3c2, out: 0xfd
+lbu :: offset: 0x3c3, out: 0x9
+lbu :: offset: 0x3c4, out: 0x8d
+lbu :: offset: 0x3c5, out: 0x79
+lbu :: offset: 0x3c6, out: 0xe0
+lbu :: offset: 0x3c7, out: 0xbe
+lbu :: offset: 0x3c8, out: 0x80
+lbu :: offset: 0x3c9, out: 0x3a
+lbu :: offset: 0x3ca, out: 0xc6
+lbu :: offset: 0x3cb, out: 0x67
+lbu :: offset: 0x3cc, out: 0x84
+lbu :: offset: 0x3cd, out: 0xfb
+lbu :: offset: 0x3ce, out: 0xdb
+lbu :: offset: 0x3cf, out: 0xd0
+lbu :: offset: 0x3d0, out: 0x9a
+lbu :: offset: 0x3d1, out: 0xbc
+lbu :: offset: 0x3d2, out: 0x8b
+lbu :: offset: 0x3d3, out: 0xd5
+lbu :: offset: 0x3d4, out: 0x9e
+lbu :: offset: 0x3d5, out: 0x7d
+lbu :: offset: 0x3d6, out: 0x96
+lbu :: offset: 0x3d7, out: 0x62
+lbu :: offset: 0x3d8, out: 0x93
+lbu :: offset: 0x3d9, out: 0x3e
+lbu :: offset: 0x3da, out: 0xb0
+lbu :: offset: 0x3db, out: 0xbb
+lbu :: offset: 0x3dc, out: 0x97
+lbu :: offset: 0x3dd, out: 0xff
+lbu :: offset: 0x3de, out: 0xad
+lbu :: offset: 0x3df, out: 0xc
+lbu :: offset: 0x3e0, out: 0xaf
+lbu :: offset: 0x3e1, out: 0xb0
+lbu :: offset: 0x3e2, out: 0x10
+lbu :: offset: 0x3e3, out: 0xb1
+lbu :: offset: 0x3e4, out: 0xab
+lbu :: offset: 0x3e5, out: 0x71
+lbu :: offset: 0x3e6, out: 0xd
+lbu :: offset: 0x3e7, out: 0x6
+lbu :: offset: 0x3e8, out: 0xa6
+lbu :: offset: 0x3e9, out: 0x32
+lbu :: offset: 0x3ea, out: 0x2b
+lbu :: offset: 0x3eb, out: 0xdf
+lbu :: offset: 0x3ec, out: 0xa2
+lbu :: offset: 0x3ed, out: 0xf3
+lbu :: offset: 0x3ee, out: 0x36
+lbu :: offset: 0x3ef, out: 0x68
+lbu :: offset: 0x3f0, out: 0xbc
+lbu :: offset: 0x3f1, out: 0xb4
+lbu :: offset: 0x3f2, out: 0x66
+lbu :: offset: 0x3f3, out: 0x6d
+lbu :: offset: 0x3f4, out: 0xb8
+lbu :: offset: 0x3f5, out: 0x75
+lbu :: offset: 0x3f6, out: 0x7b
+lbu :: offset: 0x3f7, out: 0xda
+lbu :: offset: 0x3f8, out: 0xb5
+lbu :: offset: 0x3f9, out: 0x36
+lbu :: offset: 0x3fa, out: 0x5d
+lbu :: offset: 0x3fb, out: 0x3
+lbu :: offset: 0x3fc, out: 0xb1
+lbu :: offset: 0x3fd, out: 0xf7
+lbu :: offset: 0x3fe, out: 0x40
+lbu :: offset: 0x3ff, out: 0xb4
+lbu :: offset: 0x0, out: 0x0
+lbu :: offset: 0x1, out: 0x0
+lbu :: offset: 0x2, out: 0x0
+lbu :: offset: 0x3, out: 0x0
+lbu :: offset: 0x4, out: 0x1
+lbu :: offset: 0x5, out: 0x2b
+lbu :: offset: 0x6, out: 0xd6
+lbu :: offset: 0x7, out: 0xaa
+lbu :: offset: 0x8, out: 0x0
+lbu :: offset: 0x9, out: 0x7e
+lbu :: offset: 0xa, out: 0x87
+lbu :: offset: 0xb, out: 0x63
+lbu :: offset: 0xc, out: 0x82
+lbu :: offset: 0xd, out: 0xd2
+lbu :: offset: 0xe, out: 0xab
+lbu :: offset: 0xf, out: 0x13
+lbu :: offset: 0x10, out: 0x97
+lbu :: offset: 0x11, out: 0x6d
+lbu :: offset: 0x12, out: 0x6e
+lbu :: offset: 0x13, out: 0x9a
+lbu :: offset: 0x14, out: 0xc3
+lbu :: offset: 0x15, out: 0x15
+lbu :: offset: 0x16, out: 0x10
+lbu :: offset: 0x17, out: 0xf3
+lbu :: offset: 0x18, out: 0xb7
+lbu :: offset: 0x19, out: 0x74
+lbu :: offset: 0x1a, out: 0x6d
+lbu :: offset: 0x1b, out: 0x77
+lbu :: offset: 0x1c, out: 0x5a
+lbu :: offset: 0x1d, out: 0xd6
+lbu :: offset: 0x1e, out: 0xa5
+lbu :: offset: 0x1f, out: 0xfb
+lbu :: offset: 0x20, out: 0x42
+lbu :: offset: 0x21, out: 0xb0
+lbu :: offset: 0x22, out: 0xc0
+lbu :: offset: 0x23, out: 0xa2
+lbu :: offset: 0x24, out: 0x86
+lbu :: offset: 0x25, out: 0x77
+lbu :: offset: 0x26, out: 0xb5
+lbu :: offset: 0x27, out: 0x2
+lbu :: offset: 0x28, out: 0x2a
+lbu :: offset: 0x29, out: 0xa8
+lbu :: offset: 0x2a, out: 0x9d
+lbu :: offset: 0x2b, out: 0x31
+lbu :: offset: 0x2c, out: 0x9e
+lbu :: offset: 0x2d, out: 0x3c
+lbu :: offset: 0x2e, out: 0x30
+lbu :: offset: 0x2f, out: 0xad
+lbu :: offset: 0x30, out: 0x1f
+lbu :: offset: 0x31, out: 0x30
+lbu :: offset: 0x32, out: 0x8e
+lbu :: offset: 0x33, out: 0xc3
+lbu :: offset: 0x34, out: 0x77
+lbu :: offset: 0x35, out: 0xfb
+lbu :: offset: 0x36, out: 0x41
+lbu :: offset: 0x37, out: 0x3d
+lbu :: offset: 0x38, out: 0x7a
+lbu :: offset: 0x39, out: 0xa0
+lbu :: offset: 0x3a, out: 0x42
+lbu :: offset: 0x3b, out: 0x13
+lbu :: offset: 0x3c, out: 0xc7
+lbu :: offset: 0x3d, out: 0x60
+lbu :: offset: 0x3e, out: 0xe4
+lbu :: offset: 0x3f, out: 0xf7
+lbu :: offset: 0x40, out: 0x9e
+lbu :: offset: 0x41, out: 0x70
+lbu :: offset: 0x42, out: 0x5c
+lbu :: offset: 0x43, out: 0xc5
+lbu :: offset: 0x44, out: 0x1a
+lbu :: offset: 0x45, out: 0xd8
+lbu :: offset: 0x46, out: 0xdc
+lbu :: offset: 0x47, out: 0xa0
+lbu :: offset: 0x48, out: 0x4b
+lbu :: offset: 0x49, out: 0x3d
+lbu :: offset: 0x4a, out: 0xda
+lbu :: offset: 0x4b, out: 0x86
+lbu :: offset: 0x4c, out: 0x96
+lbu :: offset: 0x4d, out: 0x15
+lbu :: offset: 0x4e, out: 0xa6
+lbu :: offset: 0x4f, out: 0xd
+lbu :: offset: 0x50, out: 0x5
+lbu :: offset: 0x51, out: 0xe7
+lbu :: offset: 0x52, out: 0xa4
+lbu :: offset: 0x53, out: 0xdd
+lbu :: offset: 0x54, out: 0x63
+lbu :: offset: 0x55, out: 0x53
+lbu :: offset: 0x56, out: 0xd4
+lbu :: offset: 0x57, out: 0x1d
+lbu :: offset: 0x58, out: 0x3a
+lbu :: offset: 0x59, out: 0xf3
+lbu :: offset: 0x5a, out: 0x5a
+lbu :: offset: 0x5b, out: 0x9d
+lbu :: offset: 0x5c, out: 0xc4
+lbu :: offset: 0x5d, out: 0xb
+lbu :: offset: 0x5e, out: 0xd4
+lbu :: offset: 0x5f, out: 0x13
+lbu :: offset: 0x60, out: 0x47
+lbu :: offset: 0x61, out: 0xf5
+lbu :: offset: 0x62, out: 0x5
+lbu :: offset: 0x63, out: 0x56
+lbu :: offset: 0x64, out: 0x9a
+lbu :: offset: 0x65, out: 0x8
+lbu :: offset: 0x66, out: 0xa1
+lbu :: offset: 0x67, out: 0x80
+lbu :: offset: 0x68, out: 0x95
+lbu :: offset: 0x69, out: 0x64
+lbu :: offset: 0x6a, out: 0xb7
+lbu :: offset: 0x6b, out: 0x7f
+lbu :: offset: 0x6c, out: 0xd6
+lbu :: offset: 0x6d, out: 0xd2
+lbu :: offset: 0x6e, out: 0x4
+lbu :: offset: 0x6f, out: 0xf
+lbu :: offset: 0x70, out: 0xce
+lbu :: offset: 0x71, out: 0xbc
+lbu :: offset: 0x72, out: 0x82
+lbu :: offset: 0x73, out: 0x79
+lbu :: offset: 0x74, out: 0xb2
+lbu :: offset: 0x75, out: 0xc7
+lbu :: offset: 0x76, out: 0x6b
+lbu :: offset: 0x77, out: 0xbe
+lbu :: offset: 0x78, out: 0xb5
+lbu :: offset: 0x79, out: 0x3
+lbu :: offset: 0x7a, out: 0x4c
+lbu :: offset: 0x7b, out: 0x2f
+lbu :: offset: 0x7c, out: 0x1f
+lbu :: offset: 0x7d, out: 0x18
+lbu :: offset: 0x7e, out: 0xe4
+lbu :: offset: 0x7f, out: 0xc7
+lbu :: offset: 0x80, out: 0x94
+lbu :: offset: 0x81, out: 0xff
+lbu :: offset: 0x82, out: 0x52
+lbu :: offset: 0x83, out: 0xfc
+lbu :: offset: 0x84, out: 0x81
+lbu :: offset: 0x85, out: 0xaf
+lbu :: offset: 0x86, out: 0xa7
+lbu :: offset: 0x87, out: 0x97
+lbu :: offset: 0x88, out: 0x31
+lbu :: offset: 0x89, out: 0xd8
+lbu :: offset: 0x8a, out: 0xd9
+lbu :: offset: 0x8b, out: 0x16
+lbu :: offset: 0x8c, out: 0x6d
+lbu :: offset: 0x8d, out: 0xfc
+lbu :: offset: 0x8e, out: 0x50
+lbu :: offset: 0x8f, out: 0xea
+lbu :: offset: 0x90, out: 0x36
+lbu :: offset: 0x91, out: 0x54
+lbu :: offset: 0x92, out: 0x9b
+lbu :: offset: 0x93, out: 0xd6
+lbu :: offset: 0x94, out: 0x78
+lbu :: offset: 0x95, out: 0xe8
+lbu :: offset: 0x96, out: 0x95
+lbu :: offset: 0x97, out: 0xb1
+lbu :: offset: 0x98, out: 0x85
+lbu :: offset: 0x99, out: 0xe0
+lbu :: offset: 0x9a, out: 0xa6
+lbu :: offset: 0x9b, out: 0x31
+lbu :: offset: 0x9c, out: 0x9b
+lbu :: offset: 0x9d, out: 0x63
+lbu :: offset: 0x9e, out: 0x25
+lbu :: offset: 0x9f, out: 0x9b
+lbu :: offset: 0xa0, out: 0x55
+lbu :: offset: 0xa1, out: 0x6b
+lbu :: offset: 0xa2, out: 0x3e
+lbu :: offset: 0xa3, out: 0xca
+lbu :: offset: 0xa4, out: 0xcc
+lbu :: offset: 0xa5, out: 0xf1
+lbu :: offset: 0xa6, out: 0x7a
+lbu :: offset: 0xa7, out: 0xc5
+lbu :: offset: 0xa8, out: 0xb4
+lbu :: offset: 0xa9, out: 0x2f
+lbu :: offset: 0xaa, out: 0x5f
+lbu :: offset: 0xab, out: 0xc5
+lbu :: offset: 0xac, out: 0x81
+lbu :: offset: 0xad, out: 0xee
+lbu :: offset: 0xae, out: 0xa0
+lbu :: offset: 0xaf, out: 0xfb
+lbu :: offset: 0xb0, out: 0x25
+lbu :: offset: 0xb1, out: 0xb5
+lbu :: offset: 0xb2, out: 0xf
+lbu :: offset: 0xb3, out: 0xec
+lbu :: offset: 0xb4, out: 0x14
+lbu :: offset: 0xb5, out: 0x68
+lbu :: offset: 0xb6, out: 0x2d
+lbu :: offset: 0xb7, out: 0x97
+lbu :: offset: 0xb8, out: 0xfc
+lbu :: offset: 0xb9, out: 0x93
+lbu :: offset: 0xba, out: 0xc5
+lbu :: offset: 0xbb, out: 0x13
+lbu :: offset: 0xbc, out: 0x2c
+lbu :: offset: 0xbd, out: 0xfb
+lbu :: offset: 0xbe, out: 0x8
+lbu :: offset: 0xbf, out: 0x7a
+lbu :: offset: 0xc0, out: 0x3c
+lbu :: offset: 0xc1, out: 0x2c
+lbu :: offset: 0xc2, out: 0xd9
+lbu :: offset: 0xc3, out: 0xa9
+lbu :: offset: 0xc4, out: 0xcd
+lbu :: offset: 0xc5, out: 0xa2
+lbu :: offset: 0xc6, out: 0x7
+lbu :: offset: 0xc7, out: 0x66
+lbu :: offset: 0xc8, out: 0x17
+lbu :: offset: 0xc9, out: 0x91
+lbu :: offset: 0xca, out: 0x72
+lbu :: offset: 0xcb, out: 0x2a
+lbu :: offset: 0xcc, out: 0x7d
+lbu :: offset: 0xcd, out: 0x72
+lbu :: offset: 0xce, out: 0xda
+lbu :: offset: 0xcf, out: 0x3e
+lbu :: offset: 0xd0, out: 0x8
+lbu :: offset: 0xd1, out: 0x7c
+lbu :: offset: 0xd2, out: 0xc9
+lbu :: offset: 0xd3, out: 0xd1
+lbu :: offset: 0xd4, out: 0x93
+lbu :: offset: 0xd5, out: 0xce
+lbu :: offset: 0xd6, out: 0x24
+lbu :: offset: 0xd7, out: 0xad
+lbu :: offset: 0xd8, out: 0x1d
+lbu :: offset: 0xd9, out: 0x2a
+lbu :: offset: 0xda, out: 0x75
+lbu :: offset: 0xdb, out: 0x70
+lbu :: offset: 0xdc, out: 0x38
+lbu :: offset: 0xdd, out: 0x98
+lbu :: offset: 0xde, out: 0x4e
+lbu :: offset: 0xdf, out: 0xd2
+lbu :: offset: 0xe0, out: 0xd0
+lbu :: offset: 0xe1, out: 0xd0
+lbu :: offset: 0xe2, out: 0x70
+lbu :: offset: 0xe3, out: 0xdb
+lbu :: offset: 0xe4, out: 0x71
+lbu :: offset: 0xe5, out: 0xc
+lbu :: offset: 0xe6, out: 0xd0
+lbu :: offset: 0xe7, out: 0x36
+lbu :: offset: 0xe8, out: 0x39
+lbu :: offset: 0xe9, out: 0xc2
+lbu :: offset: 0xea, out: 0x1c
+lbu :: offset: 0xeb, out: 0x7d
+lbu :: offset: 0xec, out: 0x3
+lbu :: offset: 0xed, out: 0x41
+lbu :: offset: 0xee, out: 0x56
+lbu :: offset: 0xef, out: 0x4
+lbu :: offset: 0xf0, out: 0x8e
+lbu :: offset: 0xf1, out: 0x94
+lbu :: offset: 0xf2, out: 0xb7
+lbu :: offset: 0xf3, out: 0xaf
+lbu :: offset: 0xf4, out: 0x8e
+lbu :: offset: 0xf5, out: 0xcc
+lbu :: offset: 0xf6, out: 0x31
+lbu :: offset: 0xf7, out: 0xce
+lbu :: offset: 0xf8, out: 0x24
+lbu :: offset: 0xf9, out: 0xeb
+lbu :: offset: 0xfa, out: 0x6a
+lbu :: offset: 0xfb, out: 0x8d
+lbu :: offset: 0xfc, out: 0x1c
+lbu :: offset: 0xfd, out: 0xe7
+lbu :: offset: 0xfe, out: 0x67
+lbu :: offset: 0xff, out: 0x4f
+lbu :: offset: 0x100, out: 0x2f
+lbu :: offset: 0x101, out: 0x39
+lbu :: offset: 0x102, out: 0x45
+lbu :: offset: 0x103, out: 0x44
+lbu :: offset: 0x104, out: 0x12
+lbu :: offset: 0x105, out: 0xd6
+lbu :: offset: 0x106, out: 0xe4
+lbu :: offset: 0x107, out: 0xa7
+lbu :: offset: 0x108, out: 0x26
+lbu :: offset: 0x109, out: 0x8
+lbu :: offset: 0x10a, out: 0xc2
+lbu :: offset: 0x10b, out: 0xb7
+lbu :: offset: 0x10c, out: 0x56
+lbu :: offset: 0x10d, out: 0xda
+lbu :: offset: 0x10e, out: 0x4c
+lbu :: offset: 0x10f, out: 0x54
+lbu :: offset: 0x110, out: 0x90
+lbu :: offset: 0x111, out: 0x1
+lbu :: offset: 0x112, out: 0x2
+lbu :: offset: 0x113, out: 0xda
+lbu :: offset: 0x114, out: 0xc8
+lbu :: offset: 0x115, out: 0xd7
+lbu :: offset: 0x116, out: 0x25
+lbu :: offset: 0x117, out: 0x2f
+lbu :: offset: 0x118, out: 0xc8
+lbu :: offset: 0x119, out: 0x90
+lbu :: offset: 0x11a, out: 0xd5
+lbu :: offset: 0x11b, out: 0xf1
+lbu :: offset: 0x11c, out: 0xf2
+lbu :: offset: 0x11d, out: 0xef
+lbu :: offset: 0x11e, out: 0xa4
+lbu :: offset: 0x11f, out: 0xf7
+lbu :: offset: 0x120, out: 0xed
+lbu :: offset: 0x121, out: 0x50
+lbu :: offset: 0x122, out: 0x5
+lbu :: offset: 0x123, out: 0xcb
+lbu :: offset: 0x124, out: 0xc8
+lbu :: offset: 0x125, out: 0xb0
+lbu :: offset: 0x126, out: 0xa2
+lbu :: offset: 0x127, out: 0x14
+lbu :: offset: 0x128, out: 0x31
+lbu :: offset: 0x129, out: 0x47
+lbu :: offset: 0x12a, out: 0x91
+lbu :: offset: 0x12b, out: 0x89
+lbu :: offset: 0x12c, out: 0x59
+lbu :: offset: 0x12d, out: 0x91
+lbu :: offset: 0x12e, out: 0x13
+lbu :: offset: 0x12f, out: 0x6c
+lbu :: offset: 0x130, out: 0xc6
+lbu :: offset: 0x131, out: 0xee
+lbu :: offset: 0x132, out: 0xcf
+lbu :: offset: 0x133, out: 0xf9
+lbu :: offset: 0x134, out: 0x9a
+lbu :: offset: 0x135, out: 0x2f
+lbu :: offset: 0x136, out: 0xb6
+lbu :: offset: 0x137, out: 0xf3
+lbu :: offset: 0x138, out: 0xa8
+lbu :: offset: 0x139, out: 0x9
+lbu :: offset: 0x13a, out: 0x52
+lbu :: offset: 0x13b, out: 0x12
+lbu :: offset: 0x13c, out: 0x38
+lbu :: offset: 0x13d, out: 0x89
+lbu :: offset: 0x13e, out: 0x52
+lbu :: offset: 0x13f, out: 0x70
+lbu :: offset: 0x140, out: 0x87
+lbu :: offset: 0x141, out: 0x75
+lbu :: offset: 0x142, out: 0xa
+lbu :: offset: 0x143, out: 0x4
+lbu :: offset: 0x144, out: 0xad
+lbu :: offset: 0x145, out: 0x76
+lbu :: offset: 0x146, out: 0x50
+lbu :: offset: 0x147, out: 0x40
+lbu :: offset: 0x148, out: 0x2c
+lbu :: offset: 0x149, out: 0x3d
+lbu :: offset: 0x14a, out: 0xe8
+lbu :: offset: 0x14b, out: 0x5e
+lbu :: offset: 0x14c, out: 0x84
+lbu :: offset: 0x14d, out: 0xbb
+lbu :: offset: 0x14e, out: 0x5a
+lbu :: offset: 0x14f, out: 0x83
+lbu :: offset: 0x150, out: 0xae
+lbu :: offset: 0x151, out: 0x6a
+lbu :: offset: 0x152, out: 0xff
+lbu :: offset: 0x153, out: 0x8f
+lbu :: offset: 0x154, out: 0xc5
+lbu :: offset: 0x155, out: 0x6
+lbu :: offset: 0x156, out: 0xaa
+lbu :: offset: 0x157, out: 0x67
+lbu :: offset: 0x158, out: 0xc0
+lbu :: offset: 0x159, out: 0x71
+lbu :: offset: 0x15a, out: 0x12
+lbu :: offset: 0x15b, out: 0xdd
+lbu :: offset: 0x15c, out: 0x60
+lbu :: offset: 0x15d, out: 0xed
+lbu :: offset: 0x15e, out: 0x5e
+lbu :: offset: 0x15f, out: 0xe3
+lbu :: offset: 0x160, out: 0xc4
+lbu :: offset: 0x161, out: 0xc7
+lbu :: offset: 0x162, out: 0x70
+lbu :: offset: 0x163, out: 0xf6
+lbu :: offset: 0x164, out: 0x30
+lbu :: offset: 0x165, out: 0xdc
+lbu :: offset: 0x166, out: 0xca
+lbu :: offset: 0x167, out: 0x5a
+lbu :: offset: 0x168, out: 0xdf
+lbu :: offset: 0x169, out: 0xec
+lbu :: offset: 0x16a, out: 0x2b
+lbu :: offset: 0x16b, out: 0x23
+lbu :: offset: 0x16c, out: 0x83
+lbu :: offset: 0x16d, out: 0xcd
+lbu :: offset: 0x16e, out: 0x52
+lbu :: offset: 0x16f, out: 0x77
+lbu :: offset: 0x170, out: 0xd3
+lbu :: offset: 0x171, out: 0xad
+lbu :: offset: 0x172, out: 0xba
+lbu :: offset: 0x173, out: 0x26
+lbu :: offset: 0x174, out: 0xf
+lbu :: offset: 0x175, out: 0xf7
+lbu :: offset: 0x176, out: 0xd9
+lbu :: offset: 0x177, out: 0x6b
+lbu :: offset: 0x178, out: 0x4a
+lbu :: offset: 0x179, out: 0xb4
+lbu :: offset: 0x17a, out: 0xaa
+lbu :: offset: 0x17b, out: 0x79
+lbu :: offset: 0x17c, out: 0x84
+lbu :: offset: 0x17d, out: 0x18
+lbu :: offset: 0x17e, out: 0xc0
+lbu :: offset: 0x17f, out: 0xe
+lbu :: offset: 0x180, out: 0xbb
+lbu :: offset: 0x181, out: 0x8c
+lbu :: offset: 0x182, out: 0x3
+lbu :: offset: 0x183, out: 0x5e
+lbu :: offset: 0x184, out: 0xd
+lbu :: offset: 0x185, out: 0xe0
+lbu :: offset: 0x186, out: 0xf0
+lbu :: offset: 0x187, out: 0xb8
+lbu :: offset: 0x188, out: 0x33
+lbu :: offset: 0x189, out: 0xb0
+lbu :: offset: 0x18a, out: 0x6f
+lbu :: offset: 0x18b, out: 0x54
+lbu :: offset: 0x18c, out: 0xa9
+lbu :: offset: 0x18d, out: 0x7f
+lbu :: offset: 0x18e, out: 0xdc
+lbu :: offset: 0x18f, out: 0xf1
+lbu :: offset: 0x190, out: 0x77
+lbu :: offset: 0x191, out: 0x43
+lbu :: offset: 0x192, out: 0x3f
+lbu :: offset: 0x193, out: 0x37
+lbu :: offset: 0x194, out: 0x3f
+lbu :: offset: 0x195, out: 0xd1
+lbu :: offset: 0x196, out: 0xc0
+lbu :: offset: 0x197, out: 0x81
+lbu :: offset: 0x198, out: 0xec
+lbu :: offset: 0x199, out: 0x91
+lbu :: offset: 0x19a, out: 0xd9
+lbu :: offset: 0x19b, out: 0x93
+lbu :: offset: 0x19c, out: 0xc9
+lbu :: offset: 0x19d, out: 0x21
+lbu :: offset: 0x19e, out: 0x95
+lbu :: offset: 0x19f, out: 0xe4
+lbu :: offset: 0x1a0, out: 0x49
+lbu :: offset: 0x1a1, out: 0xfb
+lbu :: offset: 0x1a2, out: 0xf6
+lbu :: offset: 0x1a3, out: 0xa7
+lbu :: offset: 0x1a4, out: 0x95
+lbu :: offset: 0x1a5, out: 0xb1
+lbu :: offset: 0x1a6, out: 0xa5
+lbu :: offset: 0x1a7, out: 0xab
+lbu :: offset: 0x1a8, out: 0x19
+lbu :: offset: 0x1a9, out: 0x36
+lbu :: offset: 0x1aa, out: 0x43
+lbu :: offset: 0x1ab, out: 0x78
+lbu :: offset: 0x1ac, out: 0xc7
+lbu :: offset: 0x1ad, out: 0xce
+lbu :: offset: 0x1ae, out: 0x8d
+lbu :: offset: 0x1af, out: 0x1e
+lbu :: offset: 0x1b0, out: 0xb9
+lbu :: offset: 0x1b1, out: 0x9e
+lbu :: offset: 0x1b2, out: 0x8d
+lbu :: offset: 0x1b3, out: 0xef
+lbu :: offset: 0x1b4, out: 0x2f
+lbu :: offset: 0x1b5, out: 0x38
+lbu :: offset: 0x1b6, out: 0x49
+lbu :: offset: 0x1b7, out: 0x7
+lbu :: offset: 0x1b8, out: 0x47
+lbu :: offset: 0x1b9, out: 0xea
+lbu :: offset: 0x1ba, out: 0xcd
+lbu :: offset: 0x1bb, out: 0xcd
+lbu :: offset: 0x1bc, out: 0x58
+lbu :: offset: 0x1bd, out: 0x2b
+lbu :: offset: 0x1be, out: 0x12
+lbu :: offset: 0x1bf, out: 0xfe
+lbu :: offset: 0x1c0, out: 0xd6
+lbu :: offset: 0x1c1, out: 0x85
+lbu :: offset: 0x1c2, out: 0x88
+lbu :: offset: 0x1c3, out: 0x4e
+lbu :: offset: 0x1c4, out: 0x76
+lbu :: offset: 0x1c5, out: 0x55
+lbu :: offset: 0x1c6, out: 0x8c
+lbu :: offset: 0x1c7, out: 0x4f
+lbu :: offset: 0x1c8, out: 0x61
+lbu :: offset: 0x1c9, out: 0x68
+lbu :: offset: 0x1ca, out: 0xd6
+lbu :: offset: 0x1cb, out: 0x2a
+lbu :: offset: 0x1cc, out: 0x34
+lbu :: offset: 0x1cd, out: 0xc1
+lbu :: offset: 0x1ce, out: 0x95
+lbu :: offset: 0x1cf, out: 0xc7
+lbu :: offset: 0x1d0, out: 0xd3
+lbu :: offset: 0x1d1, out: 0x1
+lbu :: offset: 0x1d2, out: 0x69
+lbu :: offset: 0x1d3, out: 0x89
+lbu :: offset: 0x1d4, out: 0x4d
+lbu :: offset: 0x1d5, out: 0xf4
+lbu :: offset: 0x1d6, out: 0x74
+lbu :: offset: 0x1d7, out: 0x5
+lbu :: offset: 0x1d8, out: 0x1c
+lbu :: offset: 0x1d9, out: 0xa1
+lbu :: offset: 0x1da, out: 0x90
+lbu :: offset: 0x1db, out: 0xbf
+lbu :: offset: 0x1dc, out: 0x6c
+lbu :: offset: 0x1dd, out: 0xbb
+lbu :: offset: 0x1de, out: 0x6
+lbu :: offset: 0x1df, out: 0xdb
+lbu :: offset: 0x1e0, out: 0x58
+lbu :: offset: 0x1e1, out: 0x30
+lbu :: offset: 0x1e2, out: 0xf
+lbu :: offset: 0x1e3, out: 0x2
+lbu :: offset: 0x1e4, out: 0x9c
+lbu :: offset: 0x1e5, out: 0xae
+lbu :: offset: 0x1e6, out: 0x39
+lbu :: offset: 0x1e7, out: 0x3a
+lbu :: offset: 0x1e8, out: 0x9a
+lbu :: offset: 0x1e9, out: 0x99
+lbu :: offset: 0x1ea, out: 0x5f
+lbu :: offset: 0x1eb, out: 0xdb
+lbu :: offset: 0x1ec, out: 0xdc
+lbu :: offset: 0x1ed, out: 0x7e
+lbu :: offset: 0x1ee, out: 0xbc
+lbu :: offset: 0x1ef, out: 0x2d
+lbu :: offset: 0x1f0, out: 0x8a
+lbu :: offset: 0x1f1, out: 0x96
+lbu :: offset: 0x1f2, out: 0x4
+lbu :: offset: 0x1f3, out: 0x7b
+lbu :: offset: 0x1f4, out: 0xe3
+lbu :: offset: 0x1f5, out: 0x40
+lbu :: offset: 0x1f6, out: 0x5b
+lbu :: offset: 0x1f7, out: 0x48
+lbu :: offset: 0x1f8, out: 0x75
+lbu :: offset: 0x1f9, out: 0xbf
+lbu :: offset: 0x1fa, out: 0xaf
+lbu :: offset: 0x1fb, out: 0xd2
+lbu :: offset: 0x1fc, out: 0xd5
+lbu :: offset: 0x1fd, out: 0x19
+lbu :: offset: 0x1fe, out: 0xd3
+lbu :: offset: 0x1ff, out: 0x22
+lbu :: offset: 0x200, out: 0xde
+lbu :: offset: 0x201, out: 0x23
+lbu :: offset: 0x202, out: 0x8
+lbu :: offset: 0x203, out: 0x67
+lbu :: offset: 0x204, out: 0xa6
+lbu :: offset: 0x205, out: 0x30
+lbu :: offset: 0x206, out: 0xf6
+lbu :: offset: 0x207, out: 0xad
+lbu :: offset: 0x208, out: 0x2c
+lbu :: offset: 0x209, out: 0xa
+lbu :: offset: 0x20a, out: 0xc
+lbu :: offset: 0x20b, out: 0xf2
+lbu :: offset: 0x20c, out: 0x56
+lbu :: offset: 0x20d, out: 0x10
+lbu :: offset: 0x20e, out: 0x32
+lbu :: offset: 0x20f, out: 0x60
+lbu :: offset: 0x210, out: 0x94
+lbu :: offset: 0x211, out: 0xa9
+lbu :: offset: 0x212, out: 0x5
+lbu :: offset: 0x213, out: 0x44
+lbu :: offset: 0x214, out: 0x24
+lbu :: offset: 0x215, out: 0x9b
+lbu :: offset: 0x216, out: 0x18
+lbu :: offset: 0x217, out: 0xef
+lbu :: offset: 0x218, out: 0xf9
+lbu :: offset: 0x219, out: 0x51
+lbu :: offset: 0x21a, out: 0x9f
+lbu :: offset: 0x21b, out: 0xb5
+lbu :: offset: 0x21c, out: 0x5b
+lbu :: offset: 0x21d, out: 0x56
+lbu :: offset: 0x21e, out: 0xfc
+lbu :: offset: 0x21f, out: 0xde
+lbu :: offset: 0x220, out: 0x81
+lbu :: offset: 0x221, out: 0xda
+lbu :: offset: 0x222, out: 0xf8
+lbu :: offset: 0x223, out: 0x20
+lbu :: offset: 0x224, out: 0x4
+lbu :: offset: 0x225, out: 0x68
+lbu :: offset: 0x226, out: 0x31
+lbu :: offset: 0x227, out: 0x9b
+lbu :: offset: 0x228, out: 0x8c
+lbu :: offset: 0x229, out: 0x61
+lbu :: offset: 0x22a, out: 0xca
+lbu :: offset: 0x22b, out: 0x5a
+lbu :: offset: 0x22c, out: 0x57
+lbu :: offset: 0x22d, out: 0x25
+lbu :: offset: 0x22e, out: 0xf2
+lbu :: offset: 0x22f, out: 0xec
+lbu :: offset: 0x230, out: 0x8b
+lbu :: offset: 0x231, out: 0x95
+lbu :: offset: 0x232, out: 0xa6
+lbu :: offset: 0x233, out: 0xdd
+lbu :: offset: 0x234, out: 0xc2
+lbu :: offset: 0x235, out: 0x5d
+lbu :: offset: 0x236, out: 0xc8
+lbu :: offset: 0x237, out: 0xbf
+lbu :: offset: 0x238, out: 0x30
+lbu :: offset: 0x239, out: 0xc
+lbu :: offset: 0x23a, out: 0xe7
+lbu :: offset: 0x23b, out: 0x51
+lbu :: offset: 0x23c, out: 0xda
+lbu :: offset: 0x23d, out: 0xc6
+lbu :: offset: 0x23e, out: 0x16
+lbu :: offset: 0x23f, out: 0x2f
+lbu :: offset: 0x240, out: 0x67
+lbu :: offset: 0x241, out: 0x78
+lbu :: offset: 0x242, out: 0xfd
+lbu :: offset: 0x243, out: 0xf3
+lbu :: offset: 0x244, out: 0xba
+lbu :: offset: 0x245, out: 0x52
+lbu :: offset: 0x246, out: 0xa8
+lbu :: offset: 0x247, out: 0x50
+lbu :: offset: 0x248, out: 0xad
+lbu :: offset: 0x249, out: 0x0
+lbu :: offset: 0x24a, out: 0xb1
+lbu :: offset: 0x24b, out: 0xf7
+lbu :: offset: 0x24c, out: 0xda
+lbu :: offset: 0x24d, out: 0x78
+lbu :: offset: 0x24e, out: 0x47
+lbu :: offset: 0x24f, out: 0x9f
+lbu :: offset: 0x250, out: 0x8
+lbu :: offset: 0x251, out: 0xd4
+lbu :: offset: 0x252, out: 0x41
+lbu :: offset: 0x253, out: 0x68
+lbu :: offset: 0x254, out: 0xa6
+lbu :: offset: 0x255, out: 0xb6
+lbu :: offset: 0x256, out: 0xd9
+lbu :: offset: 0x257, out: 0x8a
+lbu :: offset: 0x258, out: 0xf5
+lbu :: offset: 0x259, out: 0x18
+lbu :: offset: 0x25a, out: 0x38
+lbu :: offset: 0x25b, out: 0x1d
+lbu :: offset: 0x25c, out: 0xce
+lbu :: offset: 0x25d, out: 0x63
+lbu :: offset: 0x25e, out: 0x44
+lbu :: offset: 0x25f, out: 0x13
+lbu :: offset: 0x260, out: 0xe4
+lbu :: offset: 0x261, out: 0x62
+lbu :: offset: 0x262, out: 0x7f
+lbu :: offset: 0x263, out: 0x3f
+lbu :: offset: 0x264, out: 0xe5
+lbu :: offset: 0x265, out: 0x25
+lbu :: offset: 0x266, out: 0x5f
+lbu :: offset: 0x267, out: 0xc0
+lbu :: offset: 0x268, out: 0xcc
+lbu :: offset: 0x269, out: 0xd3
+lbu :: offset: 0x26a, out: 0x92
+lbu :: offset: 0x26b, out: 0xe1
+lbu :: offset: 0x26c, out: 0x76
+lbu :: offset: 0x26d, out: 0x32
+lbu :: offset: 0x26e, out: 0x1f
+lbu :: offset: 0x26f, out: 0x28
+lbu :: offset: 0x270, out: 0x82
+lbu :: offset: 0x271, out: 0x94
+lbu :: offset: 0x272, out: 0x64
+lbu :: offset: 0x273, out: 0x94
+lbu :: offset: 0x274, out: 0x40
+lbu :: offset: 0x275, out: 0x18
+lbu :: offset: 0x276, out: 0xfd
+lbu :: offset: 0x277, out: 0x8f
+lbu :: offset: 0x278, out: 0x15
+lbu :: offset: 0x279, out: 0xd3
+lbu :: offset: 0x27a, out: 0x20
+lbu :: offset: 0x27b, out: 0x40
+lbu :: offset: 0x27c, out: 0x52
+lbu :: offset: 0x27d, out: 0xe8
+lbu :: offset: 0x27e, out: 0xf0
+lbu :: offset: 0x27f, out: 0xe5
+lbu :: offset: 0x280, out: 0x7c
+lbu :: offset: 0x281, out: 0xaf
+lbu :: offset: 0x282, out: 0x83
+lbu :: offset: 0x283, out: 0xd2
+lbu :: offset: 0x284, out: 0x88
+lbu :: offset: 0x285, out: 0xf
+lbu :: offset: 0x286, out: 0xf3
+lbu :: offset: 0x287, out: 0x44
+lbu :: offset: 0x288, out: 0xf1
+lbu :: offset: 0x289, out: 0x56
+lbu :: offset: 0x28a, out: 0xa0
+lbu :: offset: 0x28b, out: 0x4c
+lbu :: offset: 0x28c, out: 0x74
+lbu :: offset: 0x28d, out: 0x7d
+lbu :: offset: 0x28e, out: 0xef
+lbu :: offset: 0x28f, out: 0xd7
+lbu :: offset: 0x290, out: 0x93
+lbu :: offset: 0x291, out: 0xe2
+lbu :: offset: 0x292, out: 0x60
+lbu :: offset: 0x293, out: 0x1c
+lbu :: offset: 0x294, out: 0xf
+lbu :: offset: 0x295, out: 0x31
+lbu :: offset: 0x296, out: 0xd7
+lbu :: offset: 0x297, out: 0x10
+lbu :: offset: 0x298, out: 0xe1
+lbu :: offset: 0x299, out: 0xe1
+lbu :: offset: 0x29a, out: 0xa6
+lbu :: offset: 0x29b, out: 0x79
+lbu :: offset: 0x29c, out: 0x13
+lbu :: offset: 0x29d, out: 0x1c
+lbu :: offset: 0x29e, out: 0xd9
+lbu :: offset: 0x29f, out: 0x33
+lbu :: offset: 0x2a0, out: 0x24
+lbu :: offset: 0x2a1, out: 0x29
+lbu :: offset: 0x2a2, out: 0x6b
+lbu :: offset: 0x2a3, out: 0x75
+lbu :: offset: 0x2a4, out: 0xa7
+lbu :: offset: 0x2a5, out: 0x6f
+lbu :: offset: 0x2a6, out: 0xa4
+lbu :: offset: 0x2a7, out: 0x27
+lbu :: offset: 0x2a8, out: 0xd2
+lbu :: offset: 0x2a9, out: 0x96
+lbu :: offset: 0x2aa, out: 0xe2
+lbu :: offset: 0x2ab, out: 0xd2
+lbu :: offset: 0x2ac, out: 0x13
+lbu :: offset: 0x2ad, out: 0x9e
+lbu :: offset: 0x2ae, out: 0xe5
+lbu :: offset: 0x2af, out: 0x6a
+lbu :: offset: 0x2b0, out: 0x5a
+lbu :: offset: 0x2b1, out: 0x82
+lbu :: offset: 0x2b2, out: 0x44
+lbu :: offset: 0x2b3, out: 0x7f
+lbu :: offset: 0x2b4, out: 0x6d
+lbu :: offset: 0x2b5, out: 0xc2
+lbu :: offset: 0x2b6, out: 0xa5
+lbu :: offset: 0x2b7, out: 0xc0
+lbu :: offset: 0x2b8, out: 0x76
+lbu :: offset: 0x2b9, out: 0xc8
+lbu :: offset: 0x2ba, out: 0x9e
+lbu :: offset: 0x2bb, out: 0x80
+lbu :: offset: 0x2bc, out: 0xc0
+lbu :: offset: 0x2bd, out: 0x7d
+lbu :: offset: 0x2be, out: 0xc1
+lbu :: offset: 0x2bf, out: 0x68
+lbu :: offset: 0x2c0, out: 0x7
+lbu :: offset: 0x2c1, out: 0xd
+lbu :: offset: 0x2c2, out: 0xc3
+lbu :: offset: 0x2c3, out: 0x45
+lbu :: offset: 0x2c4, out: 0x4b
+lbu :: offset: 0x2c5, out: 0xfe
+lbu :: offset: 0x2c6, out: 0x34
+lbu :: offset: 0x2c7, out: 0x8f
+lbu :: offset: 0x2c8, out: 0xbd
+lbu :: offset: 0x2c9, out: 0xdc
+lbu :: offset: 0x2ca, out: 0x71
+lbu :: offset: 0x2cb, out: 0x23
+lbu :: offset: 0x2cc, out: 0xdd
+lbu :: offset: 0x2cd, out: 0x6d
+lbu :: offset: 0x2ce, out: 0x24
+lbu :: offset: 0x2cf, out: 0x1b
+lbu :: offset: 0x2d0, out: 0xf6
+lbu :: offset: 0x2d1, out: 0x2f
+lbu :: offset: 0x2d2, out: 0xb7
+lbu :: offset: 0x2d3, out: 0x27
+lbu :: offset: 0x2d4, out: 0xa5
+lbu :: offset: 0x2d5, out: 0x9f
+lbu :: offset: 0x2d6, out: 0xce
+lbu :: offset: 0x2d7, out: 0xbe
+lbu :: offset: 0x2d8, out: 0x10
+lbu :: offset: 0x2d9, out: 0x9f
+lbu :: offset: 0x2da, out: 0x27
+lbu :: offset: 0x2db, out: 0xe9
+lbu :: offset: 0x2dc, out: 0xf
+lbu :: offset: 0x2dd, out: 0x9f
+lbu :: offset: 0x2de, out: 0x46
+lbu :: offset: 0x2df, out: 0xfb
+lbu :: offset: 0x2e0, out: 0x3f
+lbu :: offset: 0x2e1, out: 0x63
+lbu :: offset: 0x2e2, out: 0xda
+lbu :: offset: 0x2e3, out: 0xa9
+lbu :: offset: 0x2e4, out: 0xaf
+lbu :: offset: 0x2e5, out: 0xd1
+lbu :: offset: 0x2e6, out: 0x99
+lbu :: offset: 0x2e7, out: 0xd7
+lbu :: offset: 0x2e8, out: 0xdb
+lbu :: offset: 0x2e9, out: 0xcb
+lbu :: offset: 0x2ea, out: 0x31
+lbu :: offset: 0x2eb, out: 0x2e
+lbu :: offset: 0x2ec, out: 0xa3
+lbu :: offset: 0x2ed, out: 0xd4
+lbu :: offset: 0x2ee, out: 0x84
+lbu :: offset: 0x2ef, out: 0xf2
+lbu :: offset: 0x2f0, out: 0x1f
+lbu :: offset: 0x2f1, out: 0x35
+lbu :: offset: 0x2f2, out: 0x3f
+lbu :: offset: 0x2f3, out: 0xaa
+lbu :: offset: 0x2f4, out: 0xda
+lbu :: offset: 0x2f5, out: 0x4f
+lbu :: offset: 0x2f6, out: 0xe4
+lbu :: offset: 0x2f7, out: 0xc6
+lbu :: offset: 0x2f8, out: 0x8b
+lbu :: offset: 0x2f9, out: 0x8
+lbu :: offset: 0x2fa, out: 0x6e
+lbu :: offset: 0x2fb, out: 0xe0
+lbu :: offset: 0x2fc, out: 0x71
+lbu :: offset: 0x2fd, out: 0x50
+lbu :: offset: 0x2fe, out: 0xc2
+lbu :: offset: 0x2ff, out: 0x60
+lbu :: offset: 0x300, out: 0xe5
+lbu :: offset: 0x301, out: 0x47
+lbu :: offset: 0x302, out: 0x50
+lbu :: offset: 0x303, out: 0xd5
+lbu :: offset: 0x304, out: 0xd9
+lbu :: offset: 0x305, out: 0x25
+lbu :: offset: 0x306, out: 0x7f
+lbu :: offset: 0x307, out: 0x25
+lbu :: offset: 0x308, out: 0x3d
+lbu :: offset: 0x309, out: 0x69
+lbu :: offset: 0x30a, out: 0x62
+lbu :: offset: 0x30b, out: 0x5f
+lbu :: offset: 0x30c, out: 0xe9
+lbu :: offset: 0x30d, out: 0xa6
+lbu :: offset: 0x30e, out: 0xdb
+lbu :: offset: 0x30f, out: 0x5b
+lbu :: offset: 0x310, out: 0x70
+lbu :: offset: 0x311, out: 0xa3
+lbu :: offset: 0x312, out: 0xe0
+lbu :: offset: 0x313, out: 0x42
+lbu :: offset: 0x314, out: 0x43
+lbu :: offset: 0x315, out: 0x40
+lbu :: offset: 0x316, out: 0xac
+lbu :: offset: 0x317, out: 0x96
+lbu :: offset: 0x318, out: 0xc0
+lbu :: offset: 0x319, out: 0x47
+lbu :: offset: 0x31a, out: 0x8f
+lbu :: offset: 0x31b, out: 0x3
+lbu :: offset: 0x31c, out: 0x69
+lbu :: offset: 0x31d, out: 0x80
+lbu :: offset: 0x31e, out: 0x17
+lbu :: offset: 0x31f, out: 0x1e
+lbu :: offset: 0x320, out: 0x3c
+lbu :: offset: 0x321, out: 0xe8
+lbu :: offset: 0x322, out: 0x39
+lbu :: offset: 0x323, out: 0xa5
+lbu :: offset: 0x324, out: 0x1c
+lbu :: offset: 0x325, out: 0xf9
+lbu :: offset: 0x326, out: 0x29
+lbu :: offset: 0x327, out: 0xe3
+lbu :: offset: 0x328, out: 0xe2
+lbu :: offset: 0x329, out: 0xfb
+lbu :: offset: 0x32a, out: 0xfa
+lbu :: offset: 0x32b, out: 0x89
+lbu :: offset: 0x32c, out: 0x5e
+lbu :: offset: 0x32d, out: 0xb6
+lbu :: offset: 0x32e, out: 0x89
+lbu :: offset: 0x32f, out: 0x58
+lbu :: offset: 0x330, out: 0xd2
+lbu :: offset: 0x331, out: 0x4b
+lbu :: offset: 0x332, out: 0xb0
+lbu :: offset: 0x333, out: 0x5d
+lbu :: offset: 0x334, out: 0x76
+lbu :: offset: 0x335, out: 0xed
+lbu :: offset: 0x336, out: 0x25
+lbu :: offset: 0x337, out: 0xb7
+lbu :: offset: 0x338, out: 0xe
+lbu :: offset: 0x339, out: 0xb9
+lbu :: offset: 0x33a, out: 0x68
+lbu :: offset: 0x33b, out: 0x2c
+lbu :: offset: 0x33c, out: 0x17
+lbu :: offset: 0x33d, out: 0x3
+lbu :: offset: 0x33e, out: 0x12
+lbu :: offset: 0x33f, out: 0xf1
+lbu :: offset: 0x340, out: 0x84
+lbu :: offset: 0x341, out: 0x78
+lbu :: offset: 0x342, out: 0x52
+lbu :: offset: 0x343, out: 0x80
+lbu :: offset: 0x344, out: 0xdd
+lbu :: offset: 0x345, out: 0x30
+lbu :: offset: 0x346, out: 0x1d
+lbu :: offset: 0x347, out: 0xd
+lbu :: offset: 0x348, out: 0x17
+lbu :: offset: 0x349, out: 0x9c
+lbu :: offset: 0x34a, out: 0x77
+lbu :: offset: 0x34b, out: 0xaa
+lbu :: offset: 0x34c, out: 0x1f
+lbu :: offset: 0x34d, out: 0x8f
+lbu :: offset: 0x34e, out: 0xd6
+lbu :: offset: 0x34f, out: 0xef
+lbu :: offset: 0x350, out: 0x26
+lbu :: offset: 0x351, out: 0x44
+lbu :: offset: 0x352, out: 0x4c
+lbu :: offset: 0x353, out: 0xed
+lbu :: offset: 0x354, out: 0x29
+lbu :: offset: 0x355, out: 0x98
+lbu :: offset: 0x356, out: 0x43
+lbu :: offset: 0x357, out: 0x6d
+lbu :: offset: 0x358, out: 0x7
+lbu :: offset: 0x359, out: 0x17
+lbu :: offset: 0x35a, out: 0x5c
+lbu :: offset: 0x35b, out: 0x9d
+lbu :: offset: 0x35c, out: 0xd5
+lbu :: offset: 0x35d, out: 0x8c
+lbu :: offset: 0x35e, out: 0xa7
+lbu :: offset: 0x35f, out: 0x8
+lbu :: offset: 0x360, out: 0x66
+lbu :: offset: 0x361, out: 0x3d
+lbu :: offset: 0x362, out: 0x6
+lbu :: offset: 0x363, out: 0x10
+lbu :: offset: 0x364, out: 0x55
+lbu :: offset: 0x365, out: 0x83
+lbu :: offset: 0x366, out: 0x32
+lbu :: offset: 0x367, out: 0x87
+lbu :: offset: 0x368, out: 0xab
+lbu :: offset: 0x369, out: 0x7d
+lbu :: offset: 0x36a, out: 0xd0
+lbu :: offset: 0x36b, out: 0x48
+lbu :: offset: 0x36c, out: 0x89
+lbu :: offset: 0x36d, out: 0x51
+lbu :: offset: 0x36e, out: 0xd6
+lbu :: offset: 0x36f, out: 0x8b
+lbu :: offset: 0x370, out: 0xf6
+lbu :: offset: 0x371, out: 0x98
+lbu :: offset: 0x372, out: 0x23
+lbu :: offset: 0x373, out: 0x67
+lbu :: offset: 0x374, out: 0xe
+lbu :: offset: 0x375, out: 0x82
+lbu :: offset: 0x376, out: 0x47
+lbu :: offset: 0x377, out: 0x1b
+lbu :: offset: 0x378, out: 0x36
+lbu :: offset: 0x379, out: 0x88
+lbu :: offset: 0x37a, out: 0x6c
+lbu :: offset: 0x37b, out: 0x59
+lbu :: offset: 0x37c, out: 0xd9
+lbu :: offset: 0x37d, out: 0x8d
+lbu :: offset: 0x37e, out: 0x26
+lbu :: offset: 0x37f, out: 0xb2
+lbu :: offset: 0x380, out: 0x9
+lbu :: offset: 0x381, out: 0xca
+lbu :: offset: 0x382, out: 0x4b
+lbu :: offset: 0x383, out: 0xdb
+lbu :: offset: 0x384, out: 0xd3
+lbu :: offset: 0x385, out: 0x2b
+lbu :: offset: 0x386, out: 0xe4
+lbu :: offset: 0x387, out: 0x79
+lbu :: offset: 0x388, out: 0xfd
+lbu :: offset: 0x389, out: 0x5d
+lbu :: offset: 0x38a, out: 0x7d
+lbu :: offset: 0x38b, out: 0x1d
+lbu :: offset: 0x38c, out: 0x99
+lbu :: offset: 0x38d, out: 0x62
+lbu :: offset: 0x38e, out: 0xe6
+lbu :: offset: 0x38f, out: 0x1f
+lbu :: offset: 0x390, out: 0x3f
+lbu :: offset: 0x391, out: 0x46
+lbu :: offset: 0x392, out: 0x55
+lbu :: offset: 0x393, out: 0x3e
+lbu :: offset: 0x394, out: 0xca
+lbu :: offset: 0x395, out: 0xd3
+lbu :: offset: 0x396, out: 0x74
+lbu :: offset: 0x397, out: 0xdf
+lbu :: offset: 0x398, out: 0x2e
+lbu :: offset: 0x399, out: 0x9a
+lbu :: offset: 0x39a, out: 0xb9
+lbu :: offset: 0x39b, out: 0x7d
+lbu :: offset: 0x39c, out: 0x3e
+lbu :: offset: 0x39d, out: 0xed
+lbu :: offset: 0x39e, out: 0xf2
+lbu :: offset: 0x39f, out: 0xa7
+lbu :: offset: 0x3a0, out: 0x36
+lbu :: offset: 0x3a1, out: 0xa6
+lbu :: offset: 0x3a2, out: 0xf7
+lbu :: offset: 0x3a3, out: 0xfa
+lbu :: offset: 0x3a4, out: 0x3c
+lbu :: offset: 0x3a5, out: 0xc
+lbu :: offset: 0x3a6, out: 0x9f
+lbu :: offset: 0x3a7, out: 0x33
+lbu :: offset: 0x3a8, out: 0x8b
+lbu :: offset: 0x3a9, out: 0xb9
+lbu :: offset: 0x3aa, out: 0x38
+lbu :: offset: 0x3ab, out: 0xe3
+lbu :: offset: 0x3ac, out: 0x15
+lbu :: offset: 0x3ad, out: 0x5e
+lbu :: offset: 0x3ae, out: 0xc9
+lbu :: offset: 0x3af, out: 0xdc
+lbu :: offset: 0x3b0, out: 0xd2
+lbu :: offset: 0x3b1, out: 0xdf
+lbu :: offset: 0x3b2, out: 0x25
+lbu :: offset: 0x3b3, out: 0xc4
+lbu :: offset: 0x3b4, out: 0x19
+lbu :: offset: 0x3b5, out: 0x47
+lbu :: offset: 0x3b6, out: 0x82
+lbu :: offset: 0x3b7, out: 0x6
+lbu :: offset: 0x3b8, out: 0xbc
+lbu :: offset: 0x3b9, out: 0x65
+lbu :: offset: 0x3ba, out: 0xbf
+lbu :: offset: 0x3bb, out: 0x27
+lbu :: offset: 0x3bc, out: 0xeb
+lbu :: offset: 0x3bd, out: 0x32
+lbu :: offset: 0x3be, out: 0x18
+lbu :: offset: 0x3bf, out: 0x25
+lbu :: offset: 0x3c0, out: 0xa8
+lbu :: offset: 0x3c1, out: 0xb0
+lbu :: offset: 0x3c2, out: 0x8f
+lbu :: offset: 0x3c3, out: 0xe6
+lbu :: offset: 0x3c4, out: 0x7a
+lbu :: offset: 0x3c5, out: 0x8b
+lbu :: offset: 0x3c6, out: 0xc7
+lbu :: offset: 0x3c7, out: 0xda
+lbu :: offset: 0x3c8, out: 0x85
+lbu :: offset: 0x3c9, out: 0x2b
+lbu :: offset: 0x3ca, out: 0x5b
+lbu :: offset: 0x3cb, out: 0xca
+lbu :: offset: 0x3cc, out: 0xf8
+lbu :: offset: 0x3cd, out: 0xdf
+lbu :: offset: 0x3ce, out: 0xcd
+lbu :: offset: 0x3cf, out: 0xe8
+lbu :: offset: 0x3d0, out: 0x4
+lbu :: offset: 0x3d1, out: 0x78
+lbu :: offset: 0x3d2, out: 0x90
+lbu :: offset: 0x3d3, out: 0x9b
+lbu :: offset: 0x3d4, out: 0x59
+lbu :: offset: 0x3d5, out: 0xa9
+lbu :: offset: 0x3d6, out: 0x92
+lbu :: offset: 0x3d7, out: 0x69
+lbu :: offset: 0x3d8, out: 0xbf
+lbu :: offset: 0x3d9, out: 0xb3
+lbu :: offset: 0x3da, out: 0x1c
+lbu :: offset: 0x3db, out: 0xc8
+lbu :: offset: 0x3dc, out: 0x78
+lbu :: offset: 0x3dd, out: 0x57
+lbu :: offset: 0x3de, out: 0x36
+lbu :: offset: 0x3df, out: 0xf
+lbu :: offset: 0x3e0, out: 0xb6
+lbu :: offset: 0x3e1, out: 0x65
+lbu :: offset: 0x3e2, out: 0xed
+lbu :: offset: 0x3e3, out: 0x5e
+lbu :: offset: 0x3e4, out: 0x7f
+lbu :: offset: 0x3e5, out: 0x89
+lbu :: offset: 0x3e6, out: 0xe9
+lbu :: offset: 0x3e7, out: 0xa2
+lbu :: offset: 0x3e8, out: 0x15
+lbu :: offset: 0x3e9, out: 0xda
+lbu :: offset: 0x3ea, out: 0x94
+lbu :: offset: 0x3eb, out: 0x74
+lbu :: offset: 0x3ec, out: 0xb7
+lbu :: offset: 0x3ed, out: 0xa8
+lbu :: offset: 0x3ee, out: 0xd5
+lbu :: offset: 0x3ef, out: 0xe4
+lbu :: offset: 0x3f0, out: 0xf6
+lbu :: offset: 0x3f1, out: 0xb3
+lbu :: offset: 0x3f2, out: 0x53
+lbu :: offset: 0x3f3, out: 0x7d
+lbu :: offset: 0x3f4, out: 0x2a
+lbu :: offset: 0x3f5, out: 0xf9
+lbu :: offset: 0x3f6, out: 0xf
+lbu :: offset: 0x3f7, out: 0xcc
+lbu :: offset: 0x3f8, out: 0x22
+lbu :: offset: 0x3f9, out: 0x3d
+lbu :: offset: 0x3fa, out: 0x7c
+lbu :: offset: 0x3fb, out: 0xfe
+lbu :: offset: 0x3fc, out: 0x2b
+lbu :: offset: 0x3fd, out: 0x96
+lbu :: offset: 0x3fe, out: 0x18
+lbu :: offset: 0x3ff, out: 0x97
+lbu :: offset: 0x400, out: 0x42
+lbu :: offset: 0x401, out: 0xb
+lbu :: offset: 0x402, out: 0x34
+lbu :: offset: 0x403, out: 0xf5
+lbu :: offset: 0x404, out: 0x33
+lbu :: offset: 0x405, out: 0x73
+lbu :: offset: 0x406, out: 0x4a
+lbu :: offset: 0x407, out: 0x4b
+lbu :: offset: 0x408, out: 0x89
+lbu :: offset: 0x409, out: 0x7c
+lbu :: offset: 0x40a, out: 0x8c
+lbu :: offset: 0x40b, out: 0x8d
+lbu :: offset: 0x40c, out: 0xdd
+lbu :: offset: 0x40d, out: 0x46
+lbu :: offset: 0x40e, out: 0xb3
+lbu :: offset: 0x40f, out: 0x3c
+lbu :: offset: 0x410, out: 0x7a
+lbu :: offset: 0x411, out: 0x38
+lbu :: offset: 0x412, out: 0x74
+lbu :: offset: 0x413, out: 0x45
+lbu :: offset: 0x414, out: 0xe3
+lbu :: offset: 0x415, out: 0x92
+lbu :: offset: 0x416, out: 0xcc
+lbu :: offset: 0x417, out: 0xd9
+lbu :: offset: 0x418, out: 0x51
+lbu :: offset: 0x419, out: 0x2f
+lbu :: offset: 0x41a, out: 0x29
+lbu :: offset: 0x41b, out: 0xb1
+lbu :: offset: 0x41c, out: 0xd8
+lbu :: offset: 0x41d, out: 0x0
+lbu :: offset: 0x41e, out: 0x0
+lbu :: offset: 0x41f, out: 0xc9
+lbu :: offset: 0x420, out: 0xea
+lbu :: offset: 0x421, out: 0xde
+lbu :: offset: 0x422, out: 0xd5
+lbu :: offset: 0x423, out: 0xc5
+lbu :: offset: 0x424, out: 0x3d
+lbu :: offset: 0x425, out: 0xad
+lbu :: offset: 0x426, out: 0x2
+lbu :: offset: 0x427, out: 0xa
+lbu :: offset: 0x428, out: 0x8a
+lbu :: offset: 0x429, out: 0x62
+lbu :: offset: 0x42a, out: 0x29
+lbu :: offset: 0x42b, out: 0xd7
+lbu :: offset: 0x42c, out: 0x31
+lbu :: offset: 0x42d, out: 0xee
+lbu :: offset: 0x42e, out: 0xa3
+lbu :: offset: 0x42f, out: 0x5b
+lbu :: offset: 0x430, out: 0x2c
+lbu :: offset: 0x431, out: 0x3c
+lbu :: offset: 0x432, out: 0x3f
+lbu :: offset: 0x433, out: 0x9e
+lbu :: offset: 0x434, out: 0x48
+lbu :: offset: 0x435, out: 0x98
+lbu :: offset: 0x436, out: 0x56
+lbu :: offset: 0x437, out: 0x49
+lbu :: offset: 0x438, out: 0x7f
+lbu :: offset: 0x439, out: 0xf6
+lbu :: offset: 0x43a, out: 0x1e
+lbu :: offset: 0x43b, out: 0x78
+lbu :: offset: 0x43c, out: 0xdc
+lbu :: offset: 0x43d, out: 0x9c
+lbu :: offset: 0x43e, out: 0xb
+lbu :: offset: 0x43f, out: 0x77
+lbu :: offset: 0x440, out: 0x22
+lbu :: offset: 0x441, out: 0x99
+lbu :: offset: 0x442, out: 0xb0
+lbu :: offset: 0x443, out: 0xe0
+lbu :: offset: 0x444, out: 0x1d
+lbu :: offset: 0x445, out: 0x5e
+lbu :: offset: 0x446, out: 0x68
+lbu :: offset: 0x447, out: 0xec
+lbu :: offset: 0x448, out: 0x7c
+lbu :: offset: 0x449, out: 0x3b
+lbu :: offset: 0x44a, out: 0x4
+lbu :: offset: 0x44b, out: 0x67
+lbu :: offset: 0x44c, out: 0x3d
+lbu :: offset: 0x44d, out: 0xc
+lbu :: offset: 0x44e, out: 0x6e
+lbu :: offset: 0x44f, out: 0x25
+lbu :: offset: 0x450, out: 0x16
+lbu :: offset: 0x451, out: 0x4e
+lbu :: offset: 0x452, out: 0x17
+lbu :: offset: 0x453, out: 0xc1
+lbu :: offset: 0x454, out: 0xe7
+lbu :: offset: 0x455, out: 0xfb
+lbu :: offset: 0x456, out: 0x65
+lbu :: offset: 0x457, out: 0x87
+lbu :: offset: 0x458, out: 0xfa
+lbu :: offset: 0x459, out: 0x4c
+lbu :: offset: 0x45a, out: 0xa2
+lbu :: offset: 0x45b, out: 0x8b
+lbu :: offset: 0x45c, out: 0x56
+lbu :: offset: 0x45d, out: 0xd4
+lbu :: offset: 0x45e, out: 0x95
+lbu :: offset: 0x45f, out: 0xb
+lbu :: offset: 0x460, out: 0xe5
+lbu :: offset: 0x461, out: 0xe9
+lbu :: offset: 0x462, out: 0xa3
+lbu :: offset: 0x463, out: 0x14
+lbu :: offset: 0x464, out: 0xbe
+lbu :: offset: 0x465, out: 0x7f
+lbu :: offset: 0x466, out: 0xa0
+lbu :: offset: 0x467, out: 0x8a
+lbu :: offset: 0x468, out: 0xf8
+lbu :: offset: 0x469, out: 0xbe
+lbu :: offset: 0x46a, out: 0x81
+lbu :: offset: 0x46b, out: 0x64
+lbu :: offset: 0x46c, out: 0x15
+lbu :: offset: 0x46d, out: 0x96
+lbu :: offset: 0x46e, out: 0x49
+lbu :: offset: 0x46f, out: 0xc5
+lbu :: offset: 0x470, out: 0x7c
+lbu :: offset: 0x471, out: 0xa3
+lbu :: offset: 0x472, out: 0x25
+lbu :: offset: 0x473, out: 0x97
+lbu :: offset: 0x474, out: 0x84
+lbu :: offset: 0x475, out: 0xe6
+lbu :: offset: 0x476, out: 0x9b
+lbu :: offset: 0x477, out: 0x17
+lbu :: offset: 0x478, out: 0xfc
+lbu :: offset: 0x479, out: 0x8d
+lbu :: offset: 0x47a, out: 0x54
+lbu :: offset: 0x47b, out: 0x3c
+lbu :: offset: 0x47c, out: 0xa1
+lbu :: offset: 0x47d, out: 0xf2
+lbu :: offset: 0x47e, out: 0x4f
+lbu :: offset: 0x47f, out: 0x5c
+lbu :: offset: 0x480, out: 0x4a
+lbu :: offset: 0x481, out: 0xeb
+lbu :: offset: 0x482, out: 0x6c
+lbu :: offset: 0x483, out: 0xa0
+lbu :: offset: 0x484, out: 0xe3
+lbu :: offset: 0x485, out: 0x45
+lbu :: offset: 0x486, out: 0x9e
+lbu :: offset: 0x487, out: 0x36
+lbu :: offset: 0x488, out: 0xc5
+lbu :: offset: 0x489, out: 0x32
+lbu :: offset: 0x48a, out: 0xe1
+lbu :: offset: 0x48b, out: 0x8e
+lbu :: offset: 0x48c, out: 0x18
+lbu :: offset: 0x48d, out: 0x79
+lbu :: offset: 0x48e, out: 0x80
+lbu :: offset: 0x48f, out: 0xfa
+lbu :: offset: 0x490, out: 0xb3
+lbu :: offset: 0x491, out: 0xfd
+lbu :: offset: 0x492, out: 0xec
+lbu :: offset: 0x493, out: 0x29
+lbu :: offset: 0x494, out: 0x4f
+lbu :: offset: 0x495, out: 0x28
+lbu :: offset: 0x496, out: 0x7d
+lbu :: offset: 0x497, out: 0x1c
+lbu :: offset: 0x498, out: 0xb6
+lbu :: offset: 0x499, out: 0x20
+lbu :: offset: 0x49a, out: 0x66
+lbu :: offset: 0x49b, out: 0xa
+lbu :: offset: 0x49c, out: 0x49
+lbu :: offset: 0x49d, out: 0x73
+lbu :: offset: 0x49e, out: 0x2b
+lbu :: offset: 0x49f, out: 0x90
+lbu :: offset: 0x4a0, out: 0x99
+lbu :: offset: 0x4a1, out: 0x31
+lbu :: offset: 0x4a2, out: 0x38
+lbu :: offset: 0x4a3, out: 0xf1
+lbu :: offset: 0x4a4, out: 0x6c
+lbu :: offset: 0x4a5, out: 0xfd
+lbu :: offset: 0x4a6, out: 0xe9
+lbu :: offset: 0x4a7, out: 0x91
+lbu :: offset: 0x4a8, out: 0xde
+lbu :: offset: 0x4a9, out: 0x2
+lbu :: offset: 0x4aa, out: 0xd1
+lbu :: offset: 0x4ab, out: 0x33
+lbu :: offset: 0x4ac, out: 0x7d
+lbu :: offset: 0x4ad, out: 0x54
+lbu :: offset: 0x4ae, out: 0x7
+lbu :: offset: 0x4af, out: 0xb9
+lbu :: offset: 0x4b0, out: 0x13
+lbu :: offset: 0x4b1, out: 0xa3
+lbu :: offset: 0x4b2, out: 0x90
+lbu :: offset: 0x4b3, out: 0xe1
+lbu :: offset: 0x4b4, out: 0xe1
+lbu :: offset: 0x4b5, out: 0xda
+lbu :: offset: 0x4b6, out: 0xb1
+lbu :: offset: 0x4b7, out: 0x5a
+lbu :: offset: 0x4b8, out: 0x74
+lbu :: offset: 0x4b9, out: 0x34
+lbu :: offset: 0x4ba, out: 0x91
+lbu :: offset: 0x4bb, out: 0xa6
+lbu :: offset: 0x4bc, out: 0x82
+lbu :: offset: 0x4bd, out: 0x87
+lbu :: offset: 0x4be, out: 0x16
+lbu :: offset: 0x4bf, out: 0xc8
+lbu :: offset: 0x4c0, out: 0x8c
+lbu :: offset: 0x4c1, out: 0xff
+lbu :: offset: 0x4c2, out: 0x40
+lbu :: offset: 0x4c3, out: 0x4a
+lbu :: offset: 0x4c4, out: 0xed
+lbu :: offset: 0x4c5, out: 0xe2
+lbu :: offset: 0x4c6, out: 0x92
+lbu :: offset: 0x4c7, out: 0xf2
+lbu :: offset: 0x4c8, out: 0xb9
+lbu :: offset: 0x4c9, out: 0xce
+lbu :: offset: 0x4ca, out: 0xc0
+lbu :: offset: 0x4cb, out: 0xdb
+lbu :: offset: 0x4cc, out: 0x1f
+lbu :: offset: 0x4cd, out: 0x83
+lbu :: offset: 0x4ce, out: 0x76
+lbu :: offset: 0x4cf, out: 0x36
+lbu :: offset: 0x4d0, out: 0x2e
+lbu :: offset: 0x4d1, out: 0xaa
+lbu :: offset: 0x4d2, out: 0x5a
+lbu :: offset: 0x4d3, out: 0xa7
+lbu :: offset: 0x4d4, out: 0x5
+lbu :: offset: 0x4d5, out: 0x9
+lbu :: offset: 0x4d6, out: 0x77
+lbu :: offset: 0x4d7, out: 0x1c
+lbu :: offset: 0x4d8, out: 0xd3
+lbu :: offset: 0x4d9, out: 0x27
+lbu :: offset: 0x4da, out: 0x53
+lbu :: offset: 0x4db, out: 0x8e
+lbu :: offset: 0x4dc, out: 0x18
+lbu :: offset: 0x4dd, out: 0x75
+lbu :: offset: 0x4de, out: 0x24
+lbu :: offset: 0x4df, out: 0x1b
+lbu :: offset: 0x4e0, out: 0x42
+lbu :: offset: 0x4e1, out: 0xe9
+lbu :: offset: 0x4e2, out: 0xf8
+lbu :: offset: 0x4e3, out: 0x54
+lbu :: offset: 0x4e4, out: 0x8b
+lbu :: offset: 0x4e5, out: 0x73
+lbu :: offset: 0x4e6, out: 0x9b
+lbu :: offset: 0x4e7, out: 0x6b
+lbu :: offset: 0x4e8, out: 0x78
+lbu :: offset: 0x4e9, out: 0xe4
+lbu :: offset: 0x4ea, out: 0xe5
+lbu :: offset: 0x4eb, out: 0xc
+lbu :: offset: 0x4ec, out: 0xec
+lbu :: offset: 0x4ed, out: 0xcb
+lbu :: offset: 0x4ee, out: 0xba
+lbu :: offset: 0x4ef, out: 0x1a
+lbu :: offset: 0x4f0, out: 0xf6
+lbu :: offset: 0x4f1, out: 0xb6
+lbu :: offset: 0x4f2, out: 0xfa
+lbu :: offset: 0x4f3, out: 0x3f
+lbu :: offset: 0x4f4, out: 0xcd
+lbu :: offset: 0x4f5, out: 0x9d
+lbu :: offset: 0x4f6, out: 0x27
+lbu :: offset: 0x4f7, out: 0xcb
+lbu :: offset: 0x4f8, out: 0x73
+lbu :: offset: 0x4f9, out: 0x91
+lbu :: offset: 0x4fa, out: 0x64
+lbu :: offset: 0x4fb, out: 0x83
+lbu :: offset: 0x4fc, out: 0xae
+lbu :: offset: 0x4fd, out: 0x3e
+lbu :: offset: 0x4fe, out: 0x94
+lbu :: offset: 0x4ff, out: 0x23
+lbu :: offset: 0x500, out: 0x27
+lbu :: offset: 0x501, out: 0x6a
+lbu :: offset: 0x502, out: 0xf7
+lbu :: offset: 0x503, out: 0xa
+lbu :: offset: 0x504, out: 0xe
+lbu :: offset: 0x505, out: 0x12
+lbu :: offset: 0x506, out: 0x85
+lbu :: offset: 0x507, out: 0x61
+lbu :: offset: 0x508, out: 0x3
+lbu :: offset: 0x509, out: 0x4
+lbu :: offset: 0x50a, out: 0x5b
+lbu :: offset: 0x50b, out: 0xf6
+lbu :: offset: 0x50c, out: 0xb5
+lbu :: offset: 0x50d, out: 0xe7
+lbu :: offset: 0x50e, out: 0x4b
+lbu :: offset: 0x50f, out: 0x6e
+lbu :: offset: 0x510, out: 0x20
+lbu :: offset: 0x511, out: 0x22
+lbu :: offset: 0x512, out: 0x3f
+lbu :: offset: 0x513, out: 0x13
+lbu :: offset: 0x514, out: 0x8
+lbu :: offset: 0x515, out: 0xac
+lbu :: offset: 0x516, out: 0xcf
+lbu :: offset: 0x517, out: 0xa6
+lbu :: offset: 0x518, out: 0xf8
+lbu :: offset: 0x519, out: 0x3c
+lbu :: offset: 0x51a, out: 0x55
+lbu :: offset: 0x51b, out: 0x74
+lbu :: offset: 0x51c, out: 0x39
+lbu :: offset: 0x51d, out: 0x76
+lbu :: offset: 0x51e, out: 0xb5
+lbu :: offset: 0x51f, out: 0xf5
+lbu :: offset: 0x520, out: 0x1f
+lbu :: offset: 0x521, out: 0x97
+lbu :: offset: 0x522, out: 0x20
+lbu :: offset: 0x523, out: 0xf9
+lbu :: offset: 0x524, out: 0x46
+lbu :: offset: 0x525, out: 0x92
+lbu :: offset: 0x526, out: 0x3c
+lbu :: offset: 0x527, out: 0x3d
+lbu :: offset: 0x528, out: 0x62
+lbu :: offset: 0x529, out: 0xd
+lbu :: offset: 0x52a, out: 0x28
+lbu :: offset: 0x52b, out: 0x50
+lbu :: offset: 0x52c, out: 0x6d
+lbu :: offset: 0x52d, out: 0x24
+lbu :: offset: 0x52e, out: 0x48
+lbu :: offset: 0x52f, out: 0xdd
+lbu :: offset: 0x530, out: 0x60
+lbu :: offset: 0x531, out: 0xa5
+lbu :: offset: 0x532, out: 0x21
+lbu :: offset: 0x533, out: 0xe9
+lbu :: offset: 0x534, out: 0x9f
+lbu :: offset: 0x535, out: 0xf4
+lbu :: offset: 0x536, out: 0xa7
+lbu :: offset: 0x537, out: 0x32
+lbu :: offset: 0x538, out: 0x5a
+lbu :: offset: 0x539, out: 0x8
+lbu :: offset: 0x53a, out: 0xf3
+lbu :: offset: 0x53b, out: 0xab
+lbu :: offset: 0x53c, out: 0x5c
+lbu :: offset: 0x53d, out: 0x68
+lbu :: offset: 0x53e, out: 0xf
+lbu :: offset: 0x53f, out: 0xb
+lbu :: offset: 0x540, out: 0xc7
+lbu :: offset: 0x541, out: 0xa5
+lbu :: offset: 0x542, out: 0x9b
+lbu :: offset: 0x543, out: 0xe7
+lbu :: offset: 0x544, out: 0x80
+lbu :: offset: 0x545, out: 0xf
+lbu :: offset: 0x546, out: 0x3d
+lbu :: offset: 0x547, out: 0x26
+lbu :: offset: 0x548, out: 0x1a
+lbu :: offset: 0x549, out: 0xec
+lbu :: offset: 0x54a, out: 0xdf
+lbu :: offset: 0x54b, out: 0x29
+lbu :: offset: 0x54c, out: 0x82
+lbu :: offset: 0x54d, out: 0xca
+lbu :: offset: 0x54e, out: 0x1b
+lbu :: offset: 0x54f, out: 0x41
+lbu :: offset: 0x550, out: 0x2b
+lbu :: offset: 0x551, out: 0x86
+lbu :: offset: 0x552, out: 0x13
+lbu :: offset: 0x553, out: 0xa2
+lbu :: offset: 0x554, out: 0x60
+lbu :: offset: 0x555, out: 0xd1
+lbu :: offset: 0x556, out: 0x9d
+lbu :: offset: 0x557, out: 0xcd
+lbu :: offset: 0x558, out: 0x25
+lbu :: offset: 0x559, out: 0x18
+lbu :: offset: 0x55a, out: 0xac
+lbu :: offset: 0x55b, out: 0x8b
+lbu :: offset: 0x55c, out: 0xe
+lbu :: offset: 0x55d, out: 0x8b
+lbu :: offset: 0x55e, out: 0xbe
+lbu :: offset: 0x55f, out: 0x7f
+lbu :: offset: 0x560, out: 0x74
+lbu :: offset: 0x561, out: 0x3e
+lbu :: offset: 0x562, out: 0x56
+lbu :: offset: 0x563, out: 0x8d
+lbu :: offset: 0x564, out: 0x2f
+lbu :: offset: 0x565, out: 0xcf
+lbu :: offset: 0x566, out: 0x48
+lbu :: offset: 0x567, out: 0x6b
+lbu :: offset: 0x568, out: 0x12
+lbu :: offset: 0x569, out: 0x6f
+lbu :: offset: 0x56a, out: 0x64
+lbu :: offset: 0x56b, out: 0x6f
+lbu :: offset: 0x56c, out: 0x34
+lbu :: offset: 0x56d, out: 0xc3
+lbu :: offset: 0x56e, out: 0x17
+lbu :: offset: 0x56f, out: 0x28
+lbu :: offset: 0x570, out: 0xaa
+lbu :: offset: 0x571, out: 0xb0
+lbu :: offset: 0x572, out: 0x19
+lbu :: offset: 0x573, out: 0x61
+lbu :: offset: 0x574, out: 0x56
+lbu :: offset: 0x575, out: 0xfc
+lbu :: offset: 0x576, out: 0x4d
+lbu :: offset: 0x577, out: 0x12
+lbu :: offset: 0x578, out: 0x75
+lbu :: offset: 0x579, out: 0x35
+lbu :: offset: 0x57a, out: 0xcd
+lbu :: offset: 0x57b, out: 0x33
+lbu :: offset: 0x57c, out: 0x85
+lbu :: offset: 0x57d, out: 0x95
+lbu :: offset: 0x57e, out: 0xd3
+lbu :: offset: 0x57f, out: 0x42
+lbu :: offset: 0x580, out: 0xdf
+lbu :: offset: 0x581, out: 0xb2
+lbu :: offset: 0x582, out: 0x54
+lbu :: offset: 0x583, out: 0xda
+lbu :: offset: 0x584, out: 0x42
+lbu :: offset: 0x585, out: 0x23
+lbu :: offset: 0x586, out: 0x46
+lbu :: offset: 0x587, out: 0xec
+lbu :: offset: 0x588, out: 0xa8
+lbu :: offset: 0x589, out: 0x67
+lbu :: offset: 0x58a, out: 0x26
+lbu :: offset: 0x58b, out: 0xc9
+lbu :: offset: 0x58c, out: 0x0
+lbu :: offset: 0x58d, out: 0x81
+lbu :: offset: 0x58e, out: 0xab
+lbu :: offset: 0x58f, out: 0x2a
+lbu :: offset: 0x590, out: 0x9b
+lbu :: offset: 0x591, out: 0xfe
+lbu :: offset: 0x592, out: 0xff
+lbu :: offset: 0x593, out: 0xa1
+lbu :: offset: 0x594, out: 0x67
+lbu :: offset: 0x595, out: 0x9d
+lbu :: offset: 0x596, out: 0x74
+lbu :: offset: 0x597, out: 0x38
+lbu :: offset: 0x598, out: 0xc7
+lbu :: offset: 0x599, out: 0x69
+lbu :: offset: 0x59a, out: 0x98
+lbu :: offset: 0x59b, out: 0x26
+lbu :: offset: 0x59c, out: 0xb7
+lbu :: offset: 0x59d, out: 0xde
+lbu :: offset: 0x59e, out: 0xe2
+lbu :: offset: 0x59f, out: 0x44
+lbu :: offset: 0x5a0, out: 0x3c
+lbu :: offset: 0x5a1, out: 0x7
+lbu :: offset: 0x5a2, out: 0xaf
+lbu :: offset: 0x5a3, out: 0x97
+lbu :: offset: 0x5a4, out: 0xfb
+lbu :: offset: 0x5a5, out: 0xa6
+lbu :: offset: 0x5a6, out: 0x70
+lbu :: offset: 0x5a7, out: 0x4a
+lbu :: offset: 0x5a8, out: 0x52
+lbu :: offset: 0x5a9, out: 0x13
+lbu :: offset: 0x5aa, out: 0x64
+lbu :: offset: 0x5ab, out: 0xdc
+lbu :: offset: 0x5ac, out: 0x4
+lbu :: offset: 0x5ad, out: 0xc5
+lbu :: offset: 0x5ae, out: 0x8b
+lbu :: offset: 0x5af, out: 0xfe
+lbu :: offset: 0x5b0, out: 0xe0
+lbu :: offset: 0x5b1, out: 0xf7
+lbu :: offset: 0x5b2, out: 0xbb
+lbu :: offset: 0x5b3, out: 0x58
+lbu :: offset: 0x5b4, out: 0x9a
+lbu :: offset: 0x5b5, out: 0xb7
+lbu :: offset: 0x5b6, out: 0xae
+lbu :: offset: 0x5b7, out: 0xbc
+lbu :: offset: 0x5b8, out: 0xe3
+lbu :: offset: 0x5b9, out: 0x36
+lbu :: offset: 0x5ba, out: 0xc6
+lbu :: offset: 0x5bb, out: 0xc
+lbu :: offset: 0x5bc, out: 0xde
+lbu :: offset: 0x5bd, out: 0xeb
+lbu :: offset: 0x5be, out: 0x95
+lbu :: offset: 0x5bf, out: 0x4d
+lbu :: offset: 0x5c0, out: 0xd5
+lbu :: offset: 0x5c1, out: 0xb2
+lbu :: offset: 0x5c2, out: 0x12
+lbu :: offset: 0x5c3, out: 0xc
+lbu :: offset: 0x5c4, out: 0x6f
+lbu :: offset: 0x5c5, out: 0x52
+lbu :: offset: 0x5c6, out: 0x41
+lbu :: offset: 0x5c7, out: 0x6e
+lbu :: offset: 0x5c8, out: 0x85
+lbu :: offset: 0x5c9, out: 0xa2
+lbu :: offset: 0x5ca, out: 0xd4
+lbu :: offset: 0x5cb, out: 0xff
+lbu :: offset: 0x5cc, out: 0x7e
+lbu :: offset: 0x5cd, out: 0x62
+lbu :: offset: 0x5ce, out: 0x8a
+lbu :: offset: 0x5cf, out: 0x34
+lbu :: offset: 0x5d0, out: 0x98
+lbu :: offset: 0x5d1, out: 0x6a
+lbu :: offset: 0x5d2, out: 0x2b
+lbu :: offset: 0x5d3, out: 0x65
+lbu :: offset: 0x5d4, out: 0x4a
+lbu :: offset: 0x5d5, out: 0x4e
+lbu :: offset: 0x5d6, out: 0x7e
+lbu :: offset: 0x5d7, out: 0x7
+lbu :: offset: 0x5d8, out: 0xa9
+lbu :: offset: 0x5d9, out: 0x74
+lbu :: offset: 0x5da, out: 0xea
+lbu :: offset: 0x5db, out: 0xc4
+lbu :: offset: 0x5dc, out: 0x3a
+lbu :: offset: 0x5dd, out: 0x48
+lbu :: offset: 0x5de, out: 0x9b
+lbu :: offset: 0x5df, out: 0x55
+lbu :: offset: 0x5e0, out: 0xa3
+lbu :: offset: 0x5e1, out: 0x88
+lbu :: offset: 0x5e2, out: 0xc1
+lbu :: offset: 0x5e3, out: 0x62
+lbu :: offset: 0x5e4, out: 0x72
+lbu :: offset: 0x5e5, out: 0xf1
+lbu :: offset: 0x5e6, out: 0xf8
+lbu :: offset: 0x5e7, out: 0xf5
+lbu :: offset: 0x5e8, out: 0xe8
+lbu :: offset: 0x5e9, out: 0xc1
+lbu :: offset: 0x5ea, out: 0x1f
+lbu :: offset: 0x5eb, out: 0x45
+lbu :: offset: 0x5ec, out: 0xe7
+lbu :: offset: 0x5ed, out: 0x49
+lbu :: offset: 0x5ee, out: 0x5e
+lbu :: offset: 0x5ef, out: 0xa9
+lbu :: offset: 0x5f0, out: 0xad
+lbu :: offset: 0x5f1, out: 0xaa
+lbu :: offset: 0x5f2, out: 0x5a
+lbu :: offset: 0x5f3, out: 0x76
+lbu :: offset: 0x5f4, out: 0x5c
+lbu :: offset: 0x5f5, out: 0xc1
+lbu :: offset: 0x5f6, out: 0xc8
+lbu :: offset: 0x5f7, out: 0xb4
+lbu :: offset: 0x5f8, out: 0x7a
+lbu :: offset: 0x5f9, out: 0xb4
+lbu :: offset: 0x5fa, out: 0xce
+lbu :: offset: 0x5fb, out: 0x88
+lbu :: offset: 0x5fc, out: 0xdf
+lbu :: offset: 0x5fd, out: 0xa6
+lbu :: offset: 0x5fe, out: 0x5
+lbu :: offset: 0x5ff, out: 0xc0
+lbu :: offset: 0x600, out: 0xb4
+lbu :: offset: 0x601, out: 0x2a
+lbu :: offset: 0x602, out: 0xd6
+lbu :: offset: 0x603, out: 0xe6
+lbu :: offset: 0x604, out: 0x59
+lbu :: offset: 0x605, out: 0xa7
+lbu :: offset: 0x606, out: 0xb0
+lbu :: offset: 0x607, out: 0x4f
+lbu :: offset: 0x608, out: 0x4b
+lbu :: offset: 0x609, out: 0xf8
+lbu :: offset: 0x60a, out: 0x48
+lbu :: offset: 0x60b, out: 0x5a
+lbu :: offset: 0x60c, out: 0xb7
+lbu :: offset: 0x60d, out: 0x28
+lbu :: offset: 0x60e, out: 0x92
+lbu :: offset: 0x60f, out: 0x2f
+lbu :: offset: 0x610, out: 0x76
+lbu :: offset: 0x611, out: 0xa3
+lbu :: offset: 0x612, out: 0xd6
+lbu :: offset: 0x613, out: 0xc
+lbu :: offset: 0x614, out: 0x3b
+lbu :: offset: 0x615, out: 0x66
+lbu :: offset: 0x616, out: 0xa7
+lbu :: offset: 0x617, out: 0xfb
+lbu :: offset: 0x618, out: 0x31
+lbu :: offset: 0x619, out: 0xe0
+lbu :: offset: 0x61a, out: 0xc6
+lbu :: offset: 0x61b, out: 0xaf
+lbu :: offset: 0x61c, out: 0xfd
+lbu :: offset: 0x61d, out: 0xc2
+lbu :: offset: 0x61e, out: 0x8e
+lbu :: offset: 0x61f, out: 0xda
+lbu :: offset: 0x620, out: 0x53
+lbu :: offset: 0x621, out: 0x60
+lbu :: offset: 0x622, out: 0x6b
+lbu :: offset: 0x623, out: 0xb4
+lbu :: offset: 0x624, out: 0xbf
+lbu :: offset: 0x625, out: 0xc
+lbu :: offset: 0x626, out: 0x99
+lbu :: offset: 0x627, out: 0x9d
+lbu :: offset: 0x628, out: 0x32
+lbu :: offset: 0x629, out: 0xfc
+lbu :: offset: 0x62a, out: 0x12
+lbu :: offset: 0x62b, out: 0xc8
+lbu :: offset: 0x62c, out: 0x1b
+lbu :: offset: 0x62d, out: 0x79
+lbu :: offset: 0x62e, out: 0x19
+lbu :: offset: 0x62f, out: 0xf0
+lbu :: offset: 0x630, out: 0x3e
+lbu :: offset: 0x631, out: 0xf8
+lbu :: offset: 0x632, out: 0x83
+lbu :: offset: 0x633, out: 0x84
+lbu :: offset: 0x634, out: 0xc7
+lbu :: offset: 0x635, out: 0x2e
+lbu :: offset: 0x636, out: 0xfc
+lbu :: offset: 0x637, out: 0xd6
+lbu :: offset: 0x638, out: 0x38
+lbu :: offset: 0x639, out: 0xb1
+lbu :: offset: 0x63a, out: 0xc7
+lbu :: offset: 0x63b, out: 0xbb
+lbu :: offset: 0x63c, out: 0x6a
+lbu :: offset: 0x63d, out: 0x2a
+lbu :: offset: 0x63e, out: 0x35
+lbu :: offset: 0x63f, out: 0x80
+lbu :: offset: 0x640, out: 0x15
+lbu :: offset: 0x641, out: 0xeb
+lbu :: offset: 0x642, out: 0xf6
+lbu :: offset: 0x643, out: 0x12
+lbu :: offset: 0x644, out: 0x1d
+lbu :: offset: 0x645, out: 0xca
+lbu :: offset: 0x646, out: 0x77
+lbu :: offset: 0x647, out: 0xc9
+lbu :: offset: 0x648, out: 0x5e
+lbu :: offset: 0x649, out: 0xaa
+lbu :: offset: 0x64a, out: 0xcd
+lbu :: offset: 0x64b, out: 0xd9
+lbu :: offset: 0x64c, out: 0xfd
+lbu :: offset: 0x64d, out: 0x91
+lbu :: offset: 0x64e, out: 0x47
+lbu :: offset: 0x64f, out: 0xae
+lbu :: offset: 0x650, out: 0xbb
+lbu :: offset: 0x651, out: 0x84
+lbu :: offset: 0x652, out: 0x70
+lbu :: offset: 0x653, out: 0xf9
+lbu :: offset: 0x654, out: 0x81
+lbu :: offset: 0x655, out: 0xe9
+lbu :: offset: 0x656, out: 0x11
+lbu :: offset: 0x657, out: 0x17
+lbu :: offset: 0x658, out: 0x5
+lbu :: offset: 0x659, out: 0xd4
+lbu :: offset: 0x65a, out: 0x2a
+lbu :: offset: 0x65b, out: 0xea
+lbu :: offset: 0x65c, out: 0xc6
+lbu :: offset: 0x65d, out: 0xa5
+lbu :: offset: 0x65e, out: 0x32
+lbu :: offset: 0x65f, out: 0xe0
+lbu :: offset: 0x660, out: 0x14
+lbu :: offset: 0x661, out: 0xab
+lbu :: offset: 0x662, out: 0xf3
+lbu :: offset: 0x663, out: 0x64
+lbu :: offset: 0x664, out: 0x19
+lbu :: offset: 0x665, out: 0xfb
+lbu :: offset: 0x666, out: 0x9e
+lbu :: offset: 0x667, out: 0x63
+lbu :: offset: 0x668, out: 0x24
+lbu :: offset: 0x669, out: 0x9d
+lbu :: offset: 0x66a, out: 0x55
+lbu :: offset: 0x66b, out: 0x9a
+lbu :: offset: 0x66c, out: 0xa8
+lbu :: offset: 0x66d, out: 0xd7
+lbu :: offset: 0x66e, out: 0x2a
+lbu :: offset: 0x66f, out: 0xac
+lbu :: offset: 0x670, out: 0xc
+lbu :: offset: 0x671, out: 0xd6
+lbu :: offset: 0x672, out: 0x76
+lbu :: offset: 0x673, out: 0x4f
+lbu :: offset: 0x674, out: 0x8
+lbu :: offset: 0x675, out: 0x4b
+lbu :: offset: 0x676, out: 0x30
+lbu :: offset: 0x677, out: 0xec
+lbu :: offset: 0x678, out: 0x7f
+lbu :: offset: 0x679, out: 0x3
+lbu :: offset: 0x67a, out: 0xac
+lbu :: offset: 0x67b, out: 0x7
+lbu :: offset: 0x67c, out: 0x92
+lbu :: offset: 0x67d, out: 0x46
+lbu :: offset: 0x67e, out: 0x8f
+lbu :: offset: 0x67f, out: 0xdf
+lbu :: offset: 0x680, out: 0x7e
+lbu :: offset: 0x681, out: 0x35
+lbu :: offset: 0x682, out: 0xce
+lbu :: offset: 0x683, out: 0x6d
+lbu :: offset: 0x684, out: 0x56
+lbu :: offset: 0x685, out: 0xe6
+lbu :: offset: 0x686, out: 0x70
+lbu :: offset: 0x687, out: 0xf5
+lbu :: offset: 0x688, out: 0x15
+lbu :: offset: 0x689, out: 0x28
+lbu :: offset: 0x68a, out: 0x28
+lbu :: offset: 0x68b, out: 0x59
+lbu :: offset: 0x68c, out: 0x1a
+lbu :: offset: 0x68d, out: 0x65
+lbu :: offset: 0x68e, out: 0x27
+lbu :: offset: 0x68f, out: 0x11
+lbu :: offset: 0x690, out: 0x9e
+lbu :: offset: 0x691, out: 0x1c
+lbu :: offset: 0x692, out: 0x32
+lbu :: offset: 0x693, out: 0x83
+lbu :: offset: 0x694, out: 0xd2
+lbu :: offset: 0x695, out: 0x15
+lbu :: offset: 0x696, out: 0xa9
+lbu :: offset: 0x697, out: 0xfb
+lbu :: offset: 0x698, out: 0x8d
+lbu :: offset: 0x699, out: 0x95
+lbu :: offset: 0x69a, out: 0xc0
+lbu :: offset: 0x69b, out: 0x49
+lbu :: offset: 0x69c, out: 0x28
+lbu :: offset: 0x69d, out: 0x2a
+lbu :: offset: 0x69e, out: 0x4
+lbu :: offset: 0x69f, out: 0x17
+lbu :: offset: 0x6a0, out: 0xf2
+lbu :: offset: 0x6a1, out: 0xe7
+lbu :: offset: 0x6a2, out: 0xa4
+lbu :: offset: 0x6a3, out: 0x90
+lbu :: offset: 0x6a4, out: 0x97
+lbu :: offset: 0x6a5, out: 0x80
+lbu :: offset: 0x6a6, out: 0x58
+lbu :: offset: 0x6a7, out: 0xf3
+lbu :: offset: 0x6a8, out: 0x77
+lbu :: offset: 0x6a9, out: 0x5b
+lbu :: offset: 0x6aa, out: 0x4c
+lbu :: offset: 0x6ab, out: 0xca
+lbu :: offset: 0x6ac, out: 0x9
+lbu :: offset: 0x6ad, out: 0x75
+lbu :: offset: 0x6ae, out: 0xb1
+lbu :: offset: 0x6af, out: 0xaa
+lbu :: offset: 0x6b0, out: 0xa
+lbu :: offset: 0x6b1, out: 0x2b
+lbu :: offset: 0x6b2, out: 0x84
+lbu :: offset: 0x6b3, out: 0xa6
+lbu :: offset: 0x6b4, out: 0x35
+lbu :: offset: 0x6b5, out: 0x11
+lbu :: offset: 0x6b6, out: 0x10
+lbu :: offset: 0x6b7, out: 0x20
+lbu :: offset: 0x6b8, out: 0x2
+lbu :: offset: 0x6b9, out: 0x3f
+lbu :: offset: 0x6ba, out: 0xa0
+lbu :: offset: 0x6bb, out: 0xd3
+lbu :: offset: 0x6bc, out: 0xa7
+lbu :: offset: 0x6bd, out: 0xd8
+lbu :: offset: 0x6be, out: 0x8b
+lbu :: offset: 0x6bf, out: 0x6f
+lbu :: offset: 0x6c0, out: 0xa3
+lbu :: offset: 0x6c1, out: 0xd9
+lbu :: offset: 0x6c2, out: 0x91
+lbu :: offset: 0x6c3, out: 0xb7
+lbu :: offset: 0x6c4, out: 0x99
+lbu :: offset: 0x6c5, out: 0x41
+lbu :: offset: 0x6c6, out: 0xde
+lbu :: offset: 0x6c7, out: 0xdd
+lbu :: offset: 0x6c8, out: 0x75
+lbu :: offset: 0x6c9, out: 0x1c
+lbu :: offset: 0x6ca, out: 0xb4
+lbu :: offset: 0x6cb, out: 0x83
+lbu :: offset: 0x6cc, out: 0x5a
+lbu :: offset: 0x6cd, out: 0xd
+lbu :: offset: 0x6ce, out: 0x95
+lbu :: offset: 0x6cf, out: 0x8
+lbu :: offset: 0x6d0, out: 0x94
+lbu :: offset: 0x6d1, out: 0x9c
+lbu :: offset: 0x6d2, out: 0xad
+lbu :: offset: 0x6d3, out: 0x35
+lbu :: offset: 0x6d4, out: 0x62
+lbu :: offset: 0x6d5, out: 0x5b
+lbu :: offset: 0x6d6, out: 0xb2
+lbu :: offset: 0x6d7, out: 0xd3
+lbu :: offset: 0x6d8, out: 0x7f
+lbu :: offset: 0x6d9, out: 0x56
+lbu :: offset: 0x6da, out: 0x7f
+lbu :: offset: 0x6db, out: 0x35
+lbu :: offset: 0x6dc, out: 0xa6
+lbu :: offset: 0x6dd, out: 0x92
+lbu :: offset: 0x6de, out: 0x97
+lbu :: offset: 0x6df, out: 0x39
+lbu :: offset: 0x6e0, out: 0x18
+lbu :: offset: 0x6e1, out: 0x5b
+lbu :: offset: 0x6e2, out: 0x88
+lbu :: offset: 0x6e3, out: 0xe0
+lbu :: offset: 0x6e4, out: 0xdb
+lbu :: offset: 0x6e5, out: 0x8d
+lbu :: offset: 0x6e6, out: 0x7d
+lbu :: offset: 0x6e7, out: 0x27
+lbu :: offset: 0x6e8, out: 0x25
+lbu :: offset: 0x6e9, out: 0x5a
+lbu :: offset: 0x6ea, out: 0x4c
+lbu :: offset: 0x6eb, out: 0xd2
+lbu :: offset: 0x6ec, out: 0x2f
+lbu :: offset: 0x6ed, out: 0xd6
+lbu :: offset: 0x6ee, out: 0x1b
+lbu :: offset: 0x6ef, out: 0x91
+lbu :: offset: 0x6f0, out: 0x10
+lbu :: offset: 0x6f1, out: 0x48
+lbu :: offset: 0x6f2, out: 0xd5
+lbu :: offset: 0x6f3, out: 0x89
+lbu :: offset: 0x6f4, out: 0xa4
+lbu :: offset: 0x6f5, out: 0x36
+lbu :: offset: 0x6f6, out: 0x3f
+lbu :: offset: 0x6f7, out: 0x7b
+lbu :: offset: 0x6f8, out: 0x6a
+lbu :: offset: 0x6f9, out: 0x6d
+lbu :: offset: 0x6fa, out: 0x57
+lbu :: offset: 0x6fb, out: 0x8
+lbu :: offset: 0x6fc, out: 0xf4
+lbu :: offset: 0x6fd, out: 0x60
+lbu :: offset: 0x6fe, out: 0x57
+lbu :: offset: 0x6ff, out: 0x90
+lbu :: offset: 0x700, out: 0xd5
+lbu :: offset: 0x701, out: 0x8e
+lbu :: offset: 0x702, out: 0xcb
+lbu :: offset: 0x703, out: 0xab
+lbu :: offset: 0x704, out: 0xde
+lbu :: offset: 0x705, out: 0x35
+lbu :: offset: 0x706, out: 0x69
+lbu :: offset: 0x707, out: 0x7f
+lbu :: offset: 0x708, out: 0x57
+lbu :: offset: 0x709, out: 0x55
+lbu :: offset: 0x70a, out: 0x48
+lbu :: offset: 0x70b, out: 0xfd
+lbu :: offset: 0x70c, out: 0x8
+lbu :: offset: 0x70d, out: 0xc0
+lbu :: offset: 0x70e, out: 0xa5
+lbu :: offset: 0x70f, out: 0xf1
+lbu :: offset: 0x710, out: 0x8b
+lbu :: offset: 0x711, out: 0xb6
+lbu :: offset: 0x712, out: 0x40
+lbu :: offset: 0x713, out: 0xfb
+lbu :: offset: 0x714, out: 0x8e
+lbu :: offset: 0x715, out: 0xd9
+lbu :: offset: 0x716, out: 0x8d
+lbu :: offset: 0x717, out: 0xdb
+lbu :: offset: 0x718, out: 0xbe
+lbu :: offset: 0x719, out: 0x0
+lbu :: offset: 0x71a, out: 0xd5
+lbu :: offset: 0x71b, out: 0x1e
+lbu :: offset: 0x71c, out: 0xab
+lbu :: offset: 0x71d, out: 0xc5
+lbu :: offset: 0x71e, out: 0x78
+lbu :: offset: 0x71f, out: 0xcc
+lbu :: offset: 0x720, out: 0x2f
+lbu :: offset: 0x721, out: 0x7e
+lbu :: offset: 0x722, out: 0x22
+lbu :: offset: 0x723, out: 0x4a
+lbu :: offset: 0x724, out: 0x1c
+lbu :: offset: 0x725, out: 0x17
+lbu :: offset: 0x726, out: 0xa
+lbu :: offset: 0x727, out: 0xb2
+lbu :: offset: 0x728, out: 0xa9
+lbu :: offset: 0x729, out: 0x78
+lbu :: offset: 0x72a, out: 0xf1
+lbu :: offset: 0x72b, out: 0x2c
+lbu :: offset: 0x72c, out: 0xa2
+lbu :: offset: 0x72d, out: 0x22
+lbu :: offset: 0x72e, out: 0x56
+lbu :: offset: 0x72f, out: 0xa7
+lbu :: offset: 0x730, out: 0x99
+lbu :: offset: 0x731, out: 0x50
+lbu :: offset: 0x732, out: 0xa9
+lbu :: offset: 0x733, out: 0x3b
+lbu :: offset: 0x734, out: 0x81
+lbu :: offset: 0x735, out: 0x1e
+lbu :: offset: 0x736, out: 0xe0
+lbu :: offset: 0x737, out: 0x2f
+lbu :: offset: 0x738, out: 0xb4
+lbu :: offset: 0x739, out: 0x4e
+lbu :: offset: 0x73a, out: 0xea
+lbu :: offset: 0x73b, out: 0x93
+lbu :: offset: 0x73c, out: 0xc6
+lbu :: offset: 0x73d, out: 0x79
+lbu :: offset: 0x73e, out: 0x6a
+lbu :: offset: 0x73f, out: 0xc
+lbu :: offset: 0x740, out: 0xfe
+lbu :: offset: 0x741, out: 0x71
+lbu :: offset: 0x742, out: 0xfc
+lbu :: offset: 0x743, out: 0xa0
+lbu :: offset: 0x744, out: 0x6c
+lbu :: offset: 0x745, out: 0xe
+lbu :: offset: 0x746, out: 0xb6
+lbu :: offset: 0x747, out: 0x57
+lbu :: offset: 0x748, out: 0x4e
+lbu :: offset: 0x749, out: 0xd6
+lbu :: offset: 0x74a, out: 0x39
+lbu :: offset: 0x74b, out: 0x3d
+lbu :: offset: 0x74c, out: 0xf8
+lbu :: offset: 0x74d, out: 0x18
+lbu :: offset: 0x74e, out: 0xaf
+lbu :: offset: 0x74f, out: 0x57
+lbu :: offset: 0x750, out: 0xf2
+lbu :: offset: 0x751, out: 0x2e
+lbu :: offset: 0x752, out: 0x90
+lbu :: offset: 0x753, out: 0x20
+lbu :: offset: 0x754, out: 0x2
+lbu :: offset: 0x755, out: 0x36
+lbu :: offset: 0x756, out: 0x77
+lbu :: offset: 0x757, out: 0xa
+lbu :: offset: 0x758, out: 0x81
+lbu :: offset: 0x759, out: 0xef
+lbu :: offset: 0x75a, out: 0xb6
+lbu :: offset: 0x75b, out: 0xc7
+lbu :: offset: 0x75c, out: 0xaf
+lbu :: offset: 0x75d, out: 0xd0
+lbu :: offset: 0x75e, out: 0xc4
+lbu :: offset: 0x75f, out: 0x5d
+lbu :: offset: 0x760, out: 0xee
+lbu :: offset: 0x761, out: 0xd8
+lbu :: offset: 0x762, out: 0xf3
+lbu :: offset: 0x763, out: 0x51
+lbu :: offset: 0x764, out: 0x81
+lbu :: offset: 0x765, out: 0x2
+lbu :: offset: 0x766, out: 0x31
+lbu :: offset: 0x767, out: 0x5b
+lbu :: offset: 0x768, out: 0xad
+lbu :: offset: 0x769, out: 0xaf
+lbu :: offset: 0x76a, out: 0xef
+lbu :: offset: 0x76b, out: 0xb9
+lbu :: offset: 0x76c, out: 0x99
+lbu :: offset: 0x76d, out: 0x5e
+lbu :: offset: 0x76e, out: 0xfd
+lbu :: offset: 0x76f, out: 0x5e
+lbu :: offset: 0x770, out: 0x34
+lbu :: offset: 0x771, out: 0x6
+lbu :: offset: 0x772, out: 0x19
+lbu :: offset: 0x773, out: 0x33
+lbu :: offset: 0x774, out: 0xeb
+lbu :: offset: 0x775, out: 0x25
+lbu :: offset: 0x776, out: 0x30
+lbu :: offset: 0x777, out: 0x86
+lbu :: offset: 0x778, out: 0x17
+lbu :: offset: 0x779, out: 0x48
+lbu :: offset: 0x77a, out: 0xda
+lbu :: offset: 0x77b, out: 0x26
+lbu :: offset: 0x77c, out: 0x4b
+lbu :: offset: 0x77d, out: 0x4c
+lbu :: offset: 0x77e, out: 0x52
+lbu :: offset: 0x77f, out: 0xbc
+lbu :: offset: 0x780, out: 0x34
+lbu :: offset: 0x781, out: 0xfd
+lbu :: offset: 0x782, out: 0xfc
+lbu :: offset: 0x783, out: 0x9a
+lbu :: offset: 0x784, out: 0x93
+lbu :: offset: 0x785, out: 0x2
+lbu :: offset: 0x786, out: 0xbe
+lbu :: offset: 0x787, out: 0x89
+lbu :: offset: 0x788, out: 0xd0
+lbu :: offset: 0x789, out: 0x2
+lbu :: offset: 0x78a, out: 0x78
+lbu :: offset: 0x78b, out: 0xc3
+lbu :: offset: 0x78c, out: 0xc5
+lbu :: offset: 0x78d, out: 0x21
+lbu :: offset: 0x78e, out: 0xd1
+lbu :: offset: 0x78f, out: 0x80
+lbu :: offset: 0x790, out: 0xe9
+lbu :: offset: 0x791, out: 0x9
+lbu :: offset: 0x792, out: 0x44
+lbu :: offset: 0x793, out: 0xa4
+lbu :: offset: 0x794, out: 0xc1
+lbu :: offset: 0x795, out: 0xd3
+lbu :: offset: 0x796, out: 0x7a
+lbu :: offset: 0x797, out: 0x5d
+lbu :: offset: 0x798, out: 0x65
+lbu :: offset: 0x799, out: 0xfd
+lbu :: offset: 0x79a, out: 0x69
+lbu :: offset: 0x79b, out: 0x8f
+lbu :: offset: 0x79c, out: 0xdd
+lbu :: offset: 0x79d, out: 0xef
+lbu :: offset: 0x79e, out: 0x98
+lbu :: offset: 0x79f, out: 0x39
+lbu :: offset: 0x7a0, out: 0xc4
+lbu :: offset: 0x7a1, out: 0x9e
+lbu :: offset: 0x7a2, out: 0xe3
+lbu :: offset: 0x7a3, out: 0xad
+lbu :: offset: 0x7a4, out: 0x81
+lbu :: offset: 0x7a5, out: 0xb5
+lbu :: offset: 0x7a6, out: 0xaf
+lbu :: offset: 0x7a7, out: 0x52
+lbu :: offset: 0x7a8, out: 0x7a
+lbu :: offset: 0x7a9, out: 0xa9
+lbu :: offset: 0x7aa, out: 0x41
+lbu :: offset: 0x7ab, out: 0xe8
+lbu :: offset: 0x7ac, out: 0xbd
+lbu :: offset: 0x7ad, out: 0xb2
+lbu :: offset: 0x7ae, out: 0x63
+lbu :: offset: 0x7af, out: 0xe9
+lbu :: offset: 0x7b0, out: 0x37
+lbu :: offset: 0x7b1, out: 0x2c
+lbu :: offset: 0x7b2, out: 0x20
+lbu :: offset: 0x7b3, out: 0x9e
+lbu :: offset: 0x7b4, out: 0x42
+lbu :: offset: 0x7b5, out: 0xf3
+lbu :: offset: 0x7b6, out: 0xb5
+lbu :: offset: 0x7b7, out: 0x8d
+lbu :: offset: 0x7b8, out: 0x30
+lbu :: offset: 0x7b9, out: 0xf8
+lbu :: offset: 0x7ba, out: 0x70
+lbu :: offset: 0x7bb, out: 0xb7
+lbu :: offset: 0x7bc, out: 0xe1
+lbu :: offset: 0x7bd, out: 0x22
+lbu :: offset: 0x7be, out: 0xa8
+lbu :: offset: 0x7bf, out: 0x3b
+lbu :: offset: 0x7c0, out: 0x9e
+lbu :: offset: 0x7c1, out: 0x2
+lbu :: offset: 0x7c2, out: 0xde
+lbu :: offset: 0x7c3, out: 0x4b
+lbu :: offset: 0x7c4, out: 0x67
+lbu :: offset: 0x7c5, out: 0x89
+lbu :: offset: 0x7c6, out: 0x30
+lbu :: offset: 0x7c7, out: 0xec
+lbu :: offset: 0x7c8, out: 0xcd
+lbu :: offset: 0x7c9, out: 0x61
+lbu :: offset: 0x7ca, out: 0xa8
+lbu :: offset: 0x7cb, out: 0x63
+lbu :: offset: 0x7cc, out: 0x98
+lbu :: offset: 0x7cd, out: 0x26
+lbu :: offset: 0x7ce, out: 0x63
+lbu :: offset: 0x7cf, out: 0x1e
+lbu :: offset: 0x7d0, out: 0xae
+lbu :: offset: 0x7d1, out: 0x87
+lbu :: offset: 0x7d2, out: 0xbc
+lbu :: offset: 0x7d3, out: 0x89
+lbu :: offset: 0x7d4, out: 0x9a
+lbu :: offset: 0x7d5, out: 0x7b
+lbu :: offset: 0x7d6, out: 0xd3
+lbu :: offset: 0x7d7, out: 0xca
+lbu :: offset: 0x7d8, out: 0x58
+lbu :: offset: 0x7d9, out: 0xec
+lbu :: offset: 0x7da, out: 0x64
+lbu :: offset: 0x7db, out: 0x4d
+lbu :: offset: 0x7dc, out: 0x64
+lbu :: offset: 0x7dd, out: 0x81
+lbu :: offset: 0x7de, out: 0xaf
+lbu :: offset: 0x7df, out: 0x17
+lbu :: offset: 0x7e0, out: 0x68
+lbu :: offset: 0x7e1, out: 0xc
+lbu :: offset: 0x7e2, out: 0xce
+lbu :: offset: 0x7e3, out: 0x5f
+lbu :: offset: 0x7e4, out: 0xb2
+lbu :: offset: 0x7e5, out: 0x36
+lbu :: offset: 0x7e6, out: 0xb6
+lbu :: offset: 0x7e7, out: 0x66
+lbu :: offset: 0x7e8, out: 0x3b
+lbu :: offset: 0x7e9, out: 0xaa
+lbu :: offset: 0x7ea, out: 0x99
+lbu :: offset: 0x7eb, out: 0x47
+lbu :: offset: 0x7ec, out: 0x1f
+lbu :: offset: 0x7ed, out: 0x6d
+lbu :: offset: 0x7ee, out: 0x4d
+lbu :: offset: 0x7ef, out: 0x75
+lbu :: offset: 0x7f0, out: 0x61
+lbu :: offset: 0x7f1, out: 0x4d
+lbu :: offset: 0x7f2, out: 0x9b
+lbu :: offset: 0x7f3, out: 0x44
+lbu :: offset: 0x7f4, out: 0x5f
+lbu :: offset: 0x7f5, out: 0x12
+lbu :: offset: 0x7f6, out: 0x23
+lbu :: offset: 0x7f7, out: 0x6b
+lbu :: offset: 0x7f8, out: 0xa2
+lbu :: offset: 0x7f9, out: 0xa6
+lbu :: offset: 0x7fa, out: 0xec
+lbu :: offset: 0x7fb, out: 0x66
+lbu :: offset: 0x7fc, out: 0x1b
+lbu :: offset: 0x7fd, out: 0xa8
+lbu :: offset: 0x7fe, out: 0x41
+lbu :: offset: 0x7ff, out: 0x21
+ld :: offset: 0x0, out: 0x0
+ld :: offset: 0x8, out: 0x9823b6e0d4326d9
+ld :: offset: 0x10, out: 0x130476dc17c56b6b
+ld :: offset: 0x18, out: 0x1a864db21e475005
+ld :: offset: 0x20, out: 0x2608edb822c9f00f
+ld :: offset: 0x28, out: 0x2f8ad6d62b4bcb61
+ld :: offset: 0x30, out: 0x350c9b6431cd86d3
+ld :: offset: 0x38, out: 0x3c8ea00a384fbdbd
+ld :: offset: 0x40, out: 0x4c11db7048d0c6c7
+ld :: offset: 0x48, out: 0x4593e01e4152fda9
+ld :: offset: 0x50, out: 0x5f15adac5bd4b01b
+ld :: offset: 0x58, out: 0x569796c252568b75
+ld :: offset: 0x60, out: 0x6a1936c86ed82b7f
+ld :: offset: 0x68, out: 0x639b0da6675a1011
+ld :: offset: 0x70, out: 0x791d40147ddc5da3
+ld :: offset: 0x78, out: 0x709f7b7a745e66cd
+ld :: offset: 0x80, out: 0x9823b6e09ce2ab57
+ld :: offset: 0x88, out: 0x91a18d8e95609039
+ld :: offset: 0x90, out: 0x8b27c03c8fe6dd8b
+ld :: offset: 0x98, out: 0x82a5fb528664e6e5
+ld :: offset: 0xa0, out: 0xbe2b5b58baea46ef
+ld :: offset: 0xa8, out: 0xb7a96036b3687d81
+ld :: offset: 0xb0, out: 0xad2f2d84a9ee3033
+ld :: offset: 0xb8, out: 0xa4ad16eaa06c0b5d
+ld :: offset: 0xc0, out: 0xd4326d90d0f37027
+ld :: offset: 0xc8, out: 0xddb056fed9714b49
+ld :: offset: 0xd0, out: 0xc7361b4cc3f706fb
+ld :: offset: 0xd8, out: 0xceb42022ca753d95
+ld :: offset: 0xe0, out: 0xf23a8028f6fb9d9f
+ld :: offset: 0xe8, out: 0xfbb8bb46ff79a6f1
+ld :: offset: 0xf0, out: 0xe13ef6f4e5ffeb43
+ld :: offset: 0xf8, out: 0xe8bccd9aec7dd02d
+ld :: offset: 0x100, out: 0x3486707730476dc0
+ld :: offset: 0x108, out: 0x3d044b1939c556ae
+ld :: offset: 0x110, out: 0x278206ab23431b1c
+ld :: offset: 0x118, out: 0x2e003dc52ac12072
+ld :: offset: 0x120, out: 0x128e9dcf164f8078
+ld :: offset: 0x128, out: 0x1b0ca6a11fcdbb16
+ld :: offset: 0x130, out: 0x18aeb13054bf6a4
+ld :: offset: 0x138, out: 0x808d07d0cc9cdca
+ld :: offset: 0x140, out: 0x7897ab077c56b6b0
+ld :: offset: 0x148, out: 0x7115906975d48dde
+ld :: offset: 0x150, out: 0x6b93dddb6f52c06c
+ld :: offset: 0x158, out: 0x6211e6b566d0fb02
+ld :: offset: 0x160, out: 0x5e9f46bf5a5e5b08
+ld :: offset: 0x168, out: 0x571d7dd153dc6066
+ld :: offset: 0x170, out: 0x4d9b3063495a2dd4
+ld :: offset: 0x178, out: 0x44190b0d40d816ba
+ld :: offset: 0x180, out: 0xaca5c697a864db20
+ld :: offset: 0x188, out: 0xa527fdf9a1e6e04e
+ld :: offset: 0x190, out: 0xbfa1b04bbb60adfc
+ld :: offset: 0x198, out: 0xb6238b25b2e29692
+ld :: offset: 0x1a0, out: 0x8aad2b2f00000000
+ld :: offset: 0x1a8, out: 0x87ee0df6
+ld :: offset: 0x1b0, out: 0x99a95df39d684044
+ld :: offset: 0x1b8, out: 0x902b669d94ea7b2a
+ld :: offset: 0x1c0, out: 0xe0b41de7e4750050
+ld :: offset: 0x1c8, out: 0xe9362689edf73b3e
+ld :: offset: 0x1d0, out: 0xf3b06b3bf771768c
+ld :: offset: 0x1d8, out: 0xfa325055fef34de2
+ld :: offset: 0x1e0, out: 0xc6bcf05fc27dede8
+ld :: offset: 0x1e8, out: 0xcf3ecb31cbffd686
+ld :: offset: 0x1f0, out: 0xd5b88683d1799b34
+ld :: offset: 0x1f8, out: 0xdc3abdedd8fba05a
+ld :: offset: 0x200, out: 0x690ce0ee6dcdfd59
+ld :: offset: 0x208, out: 0x608edb80644fc637
+ld :: offset: 0x210, out: 0x7a0896327ec98b85
+ld :: offset: 0x218, out: 0x738aad5c774bb0eb
+ld :: offset: 0x220, out: 0x4f040d564bc510e1
+ld :: offset: 0x228, out: 0x4686363842472b8f
+ld :: offset: 0x230, out: 0x5c007b8a58c1663d
+ld :: offset: 0x238, out: 0x558240e451435d53
+ld :: offset: 0x240, out: 0x251d3b9e21dc2629
+ld :: offset: 0x248, out: 0x2c9f00f0285e1d47
+ld :: offset: 0x250, out: 0x36194d4232d850f5
+ld :: offset: 0x258, out: 0x3f9b762c3b5a6b9b
+ld :: offset: 0x260, out: 0x315d62607d4cb91
+ld :: offset: 0x268, out: 0xa97ed480e56f0ff
+ld :: offset: 0x270, out: 0x1011a0fa14d0bd4d
+ld :: offset: 0x278, out: 0x19939b941d528623
+ld :: offset: 0x280, out: 0xf12f560ef5ee4bb9
+ld :: offset: 0x288, out: 0xf8ad6d60fc6c70d7
+ld :: offset: 0x290, out: 0xe22b20d2e6ea3d65
+ld :: offset: 0x298, out: 0xeba91bbcef68060b
+ld :: offset: 0x2a0, out: 0xd727bbb6d3e6a601
+ld :: offset: 0x2a8, out: 0xdea580d8da649d6f
+ld :: offset: 0x2b0, out: 0xc423cd6a00000000
+ld :: offset: 0x2b8, out: 0xcda1f60400000000
+ld :: offset: 0x2c0, out: 0xbd3e8d7eb9ff90c9
+ld :: offset: 0x2c8, out: 0xb4bcb610b07daba7
+ld :: offset: 0x2d0, out: 0xae3afba2aafbe615
+ld :: offset: 0x2d8, out: 0xa7b8c0cca379dd7b
+ld :: offset: 0x2e0, out: 0x9b3660c69ff77d71
+ld :: offset: 0x2e8, out: 0x92b45ba89675461f
+ld :: offset: 0x2f0, out: 0x8832161a8cf30bad
+ld :: offset: 0x2f8, out: 0x81b02d74857130c3
+ld :: offset: 0x300, out: 0x5d8a9099594b8d2e
+ld :: offset: 0x308, out: 0x5408abf750c9b640
+ld :: offset: 0x310, out: 0x4e8ee6454a4ffbf2
+ld :: offset: 0x318, out: 0x470cdd2b43cdc09c
+ld :: offset: 0x320, out: 0x7b827d217f436096
+ld :: offset: 0x328, out: 0x7200464f76c15bf8
+ld :: offset: 0x330, out: 0x68860bfd6c47164a
+ld :: offset: 0x338, out: 0x6104309365c52d24
+ld :: offset: 0x340, out: 0x119b4be9155a565e
+ld :: offset: 0x348, out: 0x181970871cd86d30
+ld :: offset: 0x350, out: 0x29f3d35065e2082
+ld :: offset: 0x358, out: 0xb1d065b0fdc1bec
+ld :: offset: 0x360, out: 0x3793a6513352bbe6
+ld :: offset: 0x368, out: 0x3e119d3f3ad08088
+ld :: offset: 0x370, out: 0x2497d08d2056cd3a
+ld :: offset: 0x378, out: 0x2d15ebe329d4f654
+ld :: offset: 0x380, out: 0xc5a92679c1683bce
+ld :: offset: 0x388, out: 0xcc2b1d17c8ea00a0
+ld :: offset: 0x390, out: 0xd6ad50a5d26c4d12
+ld :: offset: 0x398, out: 0xdf2f6bcbdbee767c
+ld :: offset: 0x3a0, out: 0xe3a1cbc1e760d676
+ld :: offset: 0x3a8, out: 0xea23f0afeee2ed18
+ld :: offset: 0x3b0, out: 0xf0a5bd1df464a0aa
+ld :: offset: 0x3b8, out: 0xf9278673fde69bc4
+ld :: offset: 0x3c0, out: 0x89b8fd098d79e0be
+ld :: offset: 0x3c8, out: 0x803ac66784fbdbd0
+ld :: offset: 0x3d0, out: 0x9abc8bd59e7d9662
+ld :: offset: 0x3d8, out: 0x933eb0bb97ffad0c
+ld :: offset: 0x3e0, out: 0xafb010b1ab710d06
+ld :: offset: 0x3e8, out: 0xa6322bdfa2f33668
+ld :: offset: 0x3f0, out: 0xbcb4666db8757bda
+ld :: offset: 0x3f8, out: 0xb5365d03b1f740b4
+ld :: offset: 0x0, out: 0x12bd6aa
+ld :: offset: 0x8, out: 0x7e876382d2ab13
+ld :: offset: 0x10, out: 0x976d6e9ac31510f3
+ld :: offset: 0x18, out: 0xb7746d775ad6a5fb
+ld :: offset: 0x20, out: 0x42b0c0a28677b502
+ld :: offset: 0x28, out: 0x2aa89d319e3c30ad
+ld :: offset: 0x30, out: 0x1f308ec377fb413d
+ld :: offset: 0x38, out: 0x7aa04213c760e4f7
+ld :: offset: 0x40, out: 0x9e705cc51ad8dca0
+ld :: offset: 0x48, out: 0x4b3dda869615a60d
+ld :: offset: 0x50, out: 0x5e7a4dd6353d41d
+ld :: offset: 0x58, out: 0x3af35a9dc40bd413
+ld :: offset: 0x60, out: 0x47f505569a08a180
+ld :: offset: 0x68, out: 0x9564b77fd6d2040f
+ld :: offset: 0x70, out: 0xcebc8279b2c76bbe
+ld :: offset: 0x78, out: 0xb5034c2f1f18e4c7
+ld :: offset: 0x80, out: 0x94ff52fc81afa797
+ld :: offset: 0x88, out: 0x31d8d9166dfc50ea
+ld :: offset: 0x90, out: 0x36549bd678e895b1
+ld :: offset: 0x98, out: 0x85e0a6319b63259b
+ld :: offset: 0xa0, out: 0x556b3ecaccf17ac5
+ld :: offset: 0xa8, out: 0xb42f5fc581eea0fb
+ld :: offset: 0xb0, out: 0x25b50fec14682d97
+ld :: offset: 0xb8, out: 0xfc93c5132cfb087a
+ld :: offset: 0xc0, out: 0x3c2cd9a9cda20766
+ld :: offset: 0xc8, out: 0x1791722a7d72da3e
+ld :: offset: 0xd0, out: 0x87cc9d193ce24ad
+ld :: offset: 0xd8, out: 0x1d2a757038984ed2
+ld :: offset: 0xe0, out: 0xd0d070db710cd036
+ld :: offset: 0xe8, out: 0x39c21c7d03415604
+ld :: offset: 0xf0, out: 0x8e94b7af8ecc31ce
+ld :: offset: 0xf8, out: 0x24eb6a8d1ce7674f
+ld :: offset: 0x100, out: 0x2f39454412d6e4a7
+ld :: offset: 0x108, out: 0x2608c2b756da4c54
+ld :: offset: 0x110, out: 0x900102dac8d7252f
+ld :: offset: 0x118, out: 0xc890d5f1f2efa4f7
+ld :: offset: 0x120, out: 0xed5005cbc8b0a214
+ld :: offset: 0x128, out: 0x314791895991136c
+ld :: offset: 0x130, out: 0xc6eecff99a2fb6f3
+ld :: offset: 0x138, out: 0xa809521238895270
+ld :: offset: 0x140, out: 0x87750a04ad765040
+ld :: offset: 0x148, out: 0x2c3de85e84bb5a83
+ld :: offset: 0x150, out: 0xae6aff8fc506aa67
+ld :: offset: 0x158, out: 0xc07112dd60ed5ee3
+ld :: offset: 0x160, out: 0xc4c770f630dcca5a
+ld :: offset: 0x168, out: 0xdfec2b2383cd5277
+ld :: offset: 0x170, out: 0xd3adba260ff7d96b
+ld :: offset: 0x178, out: 0x4ab4aa798418c00e
+ld :: offset: 0x180, out: 0xbb8c035e0de0f0b8
+ld :: offset: 0x188, out: 0x33b06f54a97fdcf1
+ld :: offset: 0x190, out: 0x77433f373fd1c081
+ld :: offset: 0x198, out: 0xec91d993c92195e4
+ld :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab
+ld :: offset: 0x1a8, out: 0x19364378c7ce8d1e
+ld :: offset: 0x1b0, out: 0xb99e8def2f384907
+ld :: offset: 0x1b8, out: 0x47eacdcd582b12fe
+ld :: offset: 0x1c0, out: 0xd685884e76558c4f
+ld :: offset: 0x1c8, out: 0x6168d62a34c195c7
+ld :: offset: 0x1d0, out: 0xd30169894df47405
+ld :: offset: 0x1d8, out: 0x1ca190bf6cbb06db
+ld :: offset: 0x1e0, out: 0x58300f029cae393a
+ld :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d
+ld :: offset: 0x1f0, out: 0x8a96047be3405b48
+ld :: offset: 0x1f8, out: 0x75bfafd2d519d322
+ld :: offset: 0x200, out: 0xde230867a630f6ad
+ld :: offset: 0x208, out: 0x2c0a0cf256103260
+ld :: offset: 0x210, out: 0x94a90544249b18ef
+ld :: offset: 0x218, out: 0xf9519fb55b56fcde
+ld :: offset: 0x220, out: 0x81daf8200468319b
+ld :: offset: 0x228, out: 0x8c61ca5a5725f2ec
+ld :: offset: 0x230, out: 0x8b95a6ddc25dc8bf
+ld :: offset: 0x238, out: 0x300ce751dac6162f
+ld :: offset: 0x240, out: 0x6778fdf3ba52a850
+ld :: offset: 0x248, out: 0xad00b1f7da78479f
+ld :: offset: 0x250, out: 0x8d44168a6b6d98a
+ld :: offset: 0x258, out: 0xf518381dce634413
+ld :: offset: 0x260, out: 0xe4627f3fe5255fc0
+ld :: offset: 0x268, out: 0xccd392e176321f28
+ld :: offset: 0x270, out: 0x829464944018fd8f
+ld :: offset: 0x278, out: 0x15d3204052e8f0e5
+ld :: offset: 0x280, out: 0x7caf83d2880ff344
+ld :: offset: 0x288, out: 0xf156a04c747defd7
+ld :: offset: 0x290, out: 0x93e2601c0f31d710
+ld :: offset: 0x298, out: 0xe1e1a679131cd933
+ld :: offset: 0x2a0, out: 0x24296b75a76fa427
+ld :: offset: 0x2a8, out: 0xd296e2d2139ee56a
+ld :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0
+ld :: offset: 0x2b8, out: 0x76c89e80c07dc168
+ld :: offset: 0x2c0, out: 0x70dc3454bfe348f
+ld :: offset: 0x2c8, out: 0xbddc7123dd6d241b
+ld :: offset: 0x2d0, out: 0xf62fb727a59fcebe
+ld :: offset: 0x2d8, out: 0x109f27e90f9f46fb
+ld :: offset: 0x2e0, out: 0x3f63daa9afd199d7
+ld :: offset: 0x2e8, out: 0xdbcb312ea3d484f2
+ld :: offset: 0x2f0, out: 0x1f353faada4fe4c6
+ld :: offset: 0x2f8, out: 0x8b086ee07150c260
+ld :: offset: 0x300, out: 0xe54750d5d9257f25
+ld :: offset: 0x308, out: 0x3d69625fe9a6db5b
+ld :: offset: 0x310, out: 0x70a3e0424340ac96
+ld :: offset: 0x318, out: 0xc0478f036980171e
+ld :: offset: 0x320, out: 0x3ce839a51cf929e3
+ld :: offset: 0x328, out: 0xe2fbfa895eb68958
+ld :: offset: 0x330, out: 0xd24bb05d76ed25b7
+ld :: offset: 0x338, out: 0xeb9682c170312f1
+ld :: offset: 0x340, out: 0x84785280dd301d0d
+ld :: offset: 0x348, out: 0x179c77aa1f8fd6ef
+ld :: offset: 0x350, out: 0x26444ced2998436d
+ld :: offset: 0x358, out: 0x7175c9dd58ca708
+ld :: offset: 0x360, out: 0x663d061055833287
+ld :: offset: 0x368, out: 0xab7dd0488951d68b
+ld :: offset: 0x370, out: 0xf69823670e82471b
+ld :: offset: 0x378, out: 0x36886c59d98d26b2
+ld :: offset: 0x380, out: 0x9ca4bdbd32be479
+ld :: offset: 0x388, out: 0xfd5d7d1d9962e61f
+ld :: offset: 0x390, out: 0x3f46553ecad374df
+ld :: offset: 0x398, out: 0x2e9ab97d3eedf2a7
+ld :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33
+ld :: offset: 0x3a8, out: 0x8bb938e3155ec9dc
+ld :: offset: 0x3b0, out: 0xd2df25c419478206
+ld :: offset: 0x3b8, out: 0xbc65bf27eb321825
+ld :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da
+ld :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8
+ld :: offset: 0x3d0, out: 0x478909b59a99269
+ld :: offset: 0x3d8, out: 0xbfb31cc87857360f
+ld :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2
+ld :: offset: 0x3e8, out: 0x15da9474b7a8d5e4
+ld :: offset: 0x3f0, out: 0xf6b3537d2af90fcc
+ld :: offset: 0x3f8, out: 0x223d7cfe2b961897
+ld :: offset: 0x400, out: 0x420b34f533734a4b
+ld :: offset: 0x408, out: 0x897c8c8ddd46b33c
+ld :: offset: 0x410, out: 0x7a387445e392ccd9
+ld :: offset: 0x418, out: 0x512f29b1d80000c9
+ld :: offset: 0x420, out: 0xeaded5c53dad020a
+ld :: offset: 0x428, out: 0x8a6229d731eea35b
+ld :: offset: 0x430, out: 0x2c3c3f9e48985649
+ld :: offset: 0x438, out: 0x7ff61e78dc9c0b77
+ld :: offset: 0x440, out: 0x2299b0e01d5e68ec
+ld :: offset: 0x448, out: 0x7c3b04673d0c6e25
+ld :: offset: 0x450, out: 0x164e17c1e7fb6587
+ld :: offset: 0x458, out: 0xfa4ca28b56d4950b
+ld :: offset: 0x460, out: 0xe5e9a314be7fa08a
+ld :: offset: 0x468, out: 0xf8be8164159649c5
+ld :: offset: 0x470, out: 0x7ca3259784e69b17
+ld :: offset: 0x478, out: 0xfc8d543ca1f24f5c
+ld :: offset: 0x480, out: 0x4aeb6ca0e3459e36
+ld :: offset: 0x488, out: 0xc532e18e187980fa
+ld :: offset: 0x490, out: 0xb3fdec294f287d1c
+ld :: offset: 0x498, out: 0xb620660a49732b90
+ld :: offset: 0x4a0, out: 0x993138f16cfde991
+ld :: offset: 0x4a8, out: 0xde02d1337d5407b9
+ld :: offset: 0x4b0, out: 0x13a390e1e1dab15a
+ld :: offset: 0x4b8, out: 0x743491a6828716c8
+ld :: offset: 0x4c0, out: 0x8cff404aede292f2
+ld :: offset: 0x4c8, out: 0xb9cec0db1f837636
+ld :: offset: 0x4d0, out: 0x2eaa5aa70509771c
+ld :: offset: 0x4d8, out: 0xd327538e1875241b
+ld :: offset: 0x4e0, out: 0x42e9f8548b739b6b
+ld :: offset: 0x4e8, out: 0x78e4e50ceccbba1a
+ld :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb
+ld :: offset: 0x4f8, out: 0x73916483ae3e9423
+ld :: offset: 0x500, out: 0x276af70a0e128561
+ld :: offset: 0x508, out: 0x3045bf6b5e74b6e
+ld :: offset: 0x510, out: 0x20223f1308accfa6
+ld :: offset: 0x518, out: 0xf83c55743976b5f5
+ld :: offset: 0x520, out: 0x1f9720f946923c3d
+ld :: offset: 0x528, out: 0x620d28506d2448dd
+ld :: offset: 0x530, out: 0x60a521e99ff4a732
+ld :: offset: 0x538, out: 0x5a08f3ab5c680f0b
+ld :: offset: 0x540, out: 0xc7a59be7800f3d26
+ld :: offset: 0x548, out: 0x1aecdf2982ca1b41
+ld :: offset: 0x550, out: 0x2b8613a260d19dcd
+ld :: offset: 0x558, out: 0x2518ac8b0e8bbe7f
+ld :: offset: 0x560, out: 0x743e568d2fcf486b
+ld :: offset: 0x568, out: 0x126f646f34c31728
+ld :: offset: 0x570, out: 0xaab0196156fc4d12
+ld :: offset: 0x578, out: 0x7535cd338595d342
+ld :: offset: 0x580, out: 0xdfb254da422346ec
+ld :: offset: 0x588, out: 0xa86726c90081ab2a
+ld :: offset: 0x590, out: 0x9bfeffa1679d7438
+ld :: offset: 0x598, out: 0xc7699826b7dee244
+ld :: offset: 0x5a0, out: 0x3c07af97fba6704a
+ld :: offset: 0x5a8, out: 0x521364dc04c58bfe
+ld :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc
+ld :: offset: 0x5b8, out: 0xe336c60cdeeb954d
+ld :: offset: 0x5c0, out: 0xd5b2120c6f52416e
+ld :: offset: 0x5c8, out: 0x85a2d4ff7e628a34
+ld :: offset: 0x5d0, out: 0x986a2b654a4e7e07
+ld :: offset: 0x5d8, out: 0xa974eac43a489b55
+ld :: offset: 0x5e0, out: 0xa388c16272f1f8f5
+ld :: offset: 0x5e8, out: 0xe8c11f45e7495ea9
+ld :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4
+ld :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0
+ld :: offset: 0x600, out: 0xb42ad6e659a7b04f
+ld :: offset: 0x608, out: 0x4bf8485ab728922f
+ld :: offset: 0x610, out: 0x76a3d60c3b66a7fb
+ld :: offset: 0x618, out: 0x31e0c6affdc28eda
+ld :: offset: 0x620, out: 0x53606bb4bf0c999d
+ld :: offset: 0x628, out: 0x32fc12c81b7919f0
+ld :: offset: 0x630, out: 0x3ef88384c72efcd6
+ld :: offset: 0x638, out: 0x38b1c7bb6a2a3580
+ld :: offset: 0x640, out: 0x15ebf6121dca77c9
+ld :: offset: 0x648, out: 0x5eaacdd9fd9147ae
+ld :: offset: 0x650, out: 0xbb8470f981e91117
+ld :: offset: 0x658, out: 0x5d42aeac6a532e0
+ld :: offset: 0x660, out: 0x14abf36419fb9e63
+ld :: offset: 0x668, out: 0x249d559aa8d72aac
+ld :: offset: 0x670, out: 0xcd6764f084b30ec
+ld :: offset: 0x678, out: 0x7f03ac0792468fdf
+ld :: offset: 0x680, out: 0x7e35ce6d56e670f5
+ld :: offset: 0x688, out: 0x152828591a652711
+ld :: offset: 0x690, out: 0x9e1c3283d215a9fb
+ld :: offset: 0x698, out: 0x8d95c049282a0417
+ld :: offset: 0x6a0, out: 0xf2e7a490978058f3
+ld :: offset: 0x6a8, out: 0x775b4cca0975b1aa
+ld :: offset: 0x6b0, out: 0xa2b84a635111020
+ld :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f
+ld :: offset: 0x6c0, out: 0xa3d991b79941dedd
+ld :: offset: 0x6c8, out: 0x751cb4835a0d9508
+ld :: offset: 0x6d0, out: 0x949cad35625bb2d3
+ld :: offset: 0x6d8, out: 0x7f567f35a6929739
+ld :: offset: 0x6e0, out: 0x185b88e0db8d7d27
+ld :: offset: 0x6e8, out: 0x255a4cd22fd61b91
+ld :: offset: 0x6f0, out: 0x1048d589a4363f7b
+ld :: offset: 0x6f8, out: 0x6a6d5708f4605790
+ld :: offset: 0x700, out: 0xd58ecbabde35697f
+ld :: offset: 0x708, out: 0x575548fd08c0a5f1
+ld :: offset: 0x710, out: 0x8bb640fb8ed98ddb
+ld :: offset: 0x718, out: 0xbe00d51eabc578cc
+ld :: offset: 0x720, out: 0x2f7e224a1c170ab2
+ld :: offset: 0x728, out: 0xa978f12ca22256a7
+ld :: offset: 0x730, out: 0x9950a93b811ee02f
+ld :: offset: 0x738, out: 0xb44eea93c6796a0c
+ld :: offset: 0x740, out: 0xfe71fca06c0eb657
+ld :: offset: 0x748, out: 0x4ed6393df818af57
+ld :: offset: 0x750, out: 0xf22e90200236770a
+ld :: offset: 0x758, out: 0x81efb6c7afd0c45d
+ld :: offset: 0x760, out: 0xeed8f3518102315b
+ld :: offset: 0x768, out: 0xadafefb9995efd5e
+ld :: offset: 0x770, out: 0x34061933eb253086
+ld :: offset: 0x778, out: 0x1748da264b4c52bc
+ld :: offset: 0x780, out: 0x34fdfc9a9302be89
+ld :: offset: 0x788, out: 0xd00278c3c521d180
+ld :: offset: 0x790, out: 0xe90944a4c1d37a5d
+ld :: offset: 0x798, out: 0x65fd698fddef9839
+ld :: offset: 0x7a0, out: 0xc49ee3ad81b5af52
+ld :: offset: 0x7a8, out: 0x7aa941e8bdb263e9
+ld :: offset: 0x7b0, out: 0x372c209e42f3b58d
+ld :: offset: 0x7b8, out: 0x30f870b7e122a83b
+ld :: offset: 0x7c0, out: 0x9e02de4b678930ec
+ld :: offset: 0x7c8, out: 0xcd61a8639826631e
+ld :: offset: 0x7d0, out: 0xae87bc899a7bd3ca
+ld :: offset: 0x7d8, out: 0x58ec644d6481af17
+ld :: offset: 0x7e0, out: 0x680cce5fb236b666
+ld :: offset: 0x7e8, out: 0x3baa99471f6d4d75
+ld :: offset: 0x7f0, out: 0x614d9b445f12236b
+ld :: offset: 0x7f8, out: 0xa2a6ec661ba84121
+ldl :: offset: 0x0, out: 0x0
+ldl :: offset: 0x1, out: 0x0
+ldl :: offset: 0x2, out: 0x0
+ldl :: offset: 0x3, out: 0x0
+ldl :: offset: 0x4, out: 0x0
+ldl :: offset: 0x5, out: 0x0
+ldl :: offset: 0x6, out: 0x0
+ldl :: offset: 0x7, out: 0x0
+ldl :: offset: 0x8, out: 0x9823b6e0d4326d9
+ldl :: offset: 0x9, out: 0x823b6e0d4326d900
+ldl :: offset: 0xa, out: 0x3b6e0d4326d90000
+ldl :: offset: 0xb, out: 0x6e0d4326d9000000
+ldl :: offset: 0xc, out: 0xd4326d900000000
+ldl :: offset: 0xd, out: 0x4326d90000000000
+ldl :: offset: 0xe, out: 0x26d9000000000000
+ldl :: offset: 0xf, out: 0xd900000000000000
+ldl :: offset: 0x10, out: 0x130476dc17c56b6b
+ldl :: offset: 0x11, out: 0x476dc17c56b6b00
+ldl :: offset: 0x12, out: 0x76dc17c56b6b0000
+ldl :: offset: 0x13, out: 0xdc17c56b6b000000
+ldl :: offset: 0x14, out: 0x17c56b6b00000000
+ldl :: offset: 0x15, out: 0xc56b6b0000000000
+ldl :: offset: 0x16, out: 0x6b6b000000000000
+ldl :: offset: 0x17, out: 0x6b00000000000000
+ldl :: offset: 0x18, out: 0x1a864db21e475005
+ldl :: offset: 0x19, out: 0x864db21e47500500
+ldl :: offset: 0x1a, out: 0x4db21e4750050000
+ldl :: offset: 0x1b, out: 0xb21e475005000000
+ldl :: offset: 0x1c, out: 0x1e47500500000000
+ldl :: offset: 0x1d, out: 0x4750050000000000
+ldl :: offset: 0x1e, out: 0x5005000000000000
+ldl :: offset: 0x1f, out: 0x500000000000000
+ldl :: offset: 0x20, out: 0x2608edb822c9f00f
+ldl :: offset: 0x21, out: 0x8edb822c9f00f00
+ldl :: offset: 0x22, out: 0xedb822c9f00f0000
+ldl :: offset: 0x23, out: 0xb822c9f00f000000
+ldl :: offset: 0x24, out: 0x22c9f00f00000000
+ldl :: offset: 0x25, out: 0xc9f00f0000000000
+ldl :: offset: 0x26, out: 0xf00f000000000000
+ldl :: offset: 0x27, out: 0xf00000000000000
+ldl :: offset: 0x28, out: 0x2f8ad6d62b4bcb61
+ldl :: offset: 0x29, out: 0x8ad6d62b4bcb6100
+ldl :: offset: 0x2a, out: 0xd6d62b4bcb610000
+ldl :: offset: 0x2b, out: 0xd62b4bcb61000000
+ldl :: offset: 0x2c, out: 0x2b4bcb6100000000
+ldl :: offset: 0x2d, out: 0x4bcb610000000000
+ldl :: offset: 0x2e, out: 0xcb61000000000000
+ldl :: offset: 0x2f, out: 0x6100000000000000
+ldl :: offset: 0x30, out: 0x350c9b6431cd86d3
+ldl :: offset: 0x31, out: 0xc9b6431cd86d300
+ldl :: offset: 0x32, out: 0x9b6431cd86d30000
+ldl :: offset: 0x33, out: 0x6431cd86d3000000
+ldl :: offset: 0x34, out: 0x31cd86d300000000
+ldl :: offset: 0x35, out: 0xcd86d30000000000
+ldl :: offset: 0x36, out: 0x86d3000000000000
+ldl :: offset: 0x37, out: 0xd300000000000000
+ldl :: offset: 0x38, out: 0x3c8ea00a384fbdbd
+ldl :: offset: 0x39, out: 0x8ea00a384fbdbd00
+ldl :: offset: 0x3a, out: 0xa00a384fbdbd0000
+ldl :: offset: 0x3b, out: 0xa384fbdbd000000
+ldl :: offset: 0x3c, out: 0x384fbdbd00000000
+ldl :: offset: 0x3d, out: 0x4fbdbd0000000000
+ldl :: offset: 0x3e, out: 0xbdbd000000000000
+ldl :: offset: 0x3f, out: 0xbd00000000000000
+ldl :: offset: 0x40, out: 0x4c11db7048d0c6c7
+ldl :: offset: 0x41, out: 0x11db7048d0c6c700
+ldl :: offset: 0x42, out: 0xdb7048d0c6c70000
+ldl :: offset: 0x43, out: 0x7048d0c6c7000000
+ldl :: offset: 0x44, out: 0x48d0c6c700000000
+ldl :: offset: 0x45, out: 0xd0c6c70000000000
+ldl :: offset: 0x46, out: 0xc6c7000000000000
+ldl :: offset: 0x47, out: 0xc700000000000000
+ldl :: offset: 0x48, out: 0x4593e01e4152fda9
+ldl :: offset: 0x49, out: 0x93e01e4152fda900
+ldl :: offset: 0x4a, out: 0xe01e4152fda90000
+ldl :: offset: 0x4b, out: 0x1e4152fda9000000
+ldl :: offset: 0x4c, out: 0x4152fda900000000
+ldl :: offset: 0x4d, out: 0x52fda90000000000
+ldl :: offset: 0x4e, out: 0xfda9000000000000
+ldl :: offset: 0x4f, out: 0xa900000000000000
+ldl :: offset: 0x50, out: 0x5f15adac5bd4b01b
+ldl :: offset: 0x51, out: 0x15adac5bd4b01b00
+ldl :: offset: 0x52, out: 0xadac5bd4b01b0000
+ldl :: offset: 0x53, out: 0xac5bd4b01b000000
+ldl :: offset: 0x54, out: 0x5bd4b01b00000000
+ldl :: offset: 0x55, out: 0xd4b01b0000000000
+ldl :: offset: 0x56, out: 0xb01b000000000000
+ldl :: offset: 0x57, out: 0x1b00000000000000
+ldl :: offset: 0x58, out: 0x569796c252568b75
+ldl :: offset: 0x59, out: 0x9796c252568b7500
+ldl :: offset: 0x5a, out: 0x96c252568b750000
+ldl :: offset: 0x5b, out: 0xc252568b75000000
+ldl :: offset: 0x5c, out: 0x52568b7500000000
+ldl :: offset: 0x5d, out: 0x568b750000000000
+ldl :: offset: 0x5e, out: 0x8b75000000000000
+ldl :: offset: 0x5f, out: 0x7500000000000000
+ldl :: offset: 0x60, out: 0x6a1936c86ed82b7f
+ldl :: offset: 0x61, out: 0x1936c86ed82b7f00
+ldl :: offset: 0x62, out: 0x36c86ed82b7f0000
+ldl :: offset: 0x63, out: 0xc86ed82b7f000000
+ldl :: offset: 0x64, out: 0x6ed82b7f00000000
+ldl :: offset: 0x65, out: 0xd82b7f0000000000
+ldl :: offset: 0x66, out: 0x2b7f000000000000
+ldl :: offset: 0x67, out: 0x7f00000000000000
+ldl :: offset: 0x68, out: 0x639b0da6675a1011
+ldl :: offset: 0x69, out: 0x9b0da6675a101100
+ldl :: offset: 0x6a, out: 0xda6675a10110000
+ldl :: offset: 0x6b, out: 0xa6675a1011000000
+ldl :: offset: 0x6c, out: 0x675a101100000000
+ldl :: offset: 0x6d, out: 0x5a10110000000000
+ldl :: offset: 0x6e, out: 0x1011000000000000
+ldl :: offset: 0x6f, out: 0x1100000000000000
+ldl :: offset: 0x70, out: 0x791d40147ddc5da3
+ldl :: offset: 0x71, out: 0x1d40147ddc5da300
+ldl :: offset: 0x72, out: 0x40147ddc5da30000
+ldl :: offset: 0x73, out: 0x147ddc5da3000000
+ldl :: offset: 0x74, out: 0x7ddc5da300000000
+ldl :: offset: 0x75, out: 0xdc5da30000000000
+ldl :: offset: 0x76, out: 0x5da3000000000000
+ldl :: offset: 0x77, out: 0xa300000000000000
+ldl :: offset: 0x78, out: 0x709f7b7a745e66cd
+ldl :: offset: 0x79, out: 0x9f7b7a745e66cd00
+ldl :: offset: 0x7a, out: 0x7b7a745e66cd0000
+ldl :: offset: 0x7b, out: 0x7a745e66cd000000
+ldl :: offset: 0x7c, out: 0x745e66cd00000000
+ldl :: offset: 0x7d, out: 0x5e66cd0000000000
+ldl :: offset: 0x7e, out: 0x66cd000000000000
+ldl :: offset: 0x7f, out: 0xcd00000000000000
+ldl :: offset: 0x80, out: 0x9823b6e09ce2ab57
+ldl :: offset: 0x81, out: 0x23b6e09ce2ab5700
+ldl :: offset: 0x82, out: 0xb6e09ce2ab570000
+ldl :: offset: 0x83, out: 0xe09ce2ab57000000
+ldl :: offset: 0x84, out: 0x9ce2ab5700000000
+ldl :: offset: 0x85, out: 0xe2ab570000000000
+ldl :: offset: 0x86, out: 0xab57000000000000
+ldl :: offset: 0x87, out: 0x5700000000000000
+ldl :: offset: 0x88, out: 0x91a18d8e95609039
+ldl :: offset: 0x89, out: 0xa18d8e9560903900
+ldl :: offset: 0x8a, out: 0x8d8e956090390000
+ldl :: offset: 0x8b, out: 0x8e95609039000000
+ldl :: offset: 0x8c, out: 0x9560903900000000
+ldl :: offset: 0x8d, out: 0x6090390000000000
+ldl :: offset: 0x8e, out: 0x9039000000000000
+ldl :: offset: 0x8f, out: 0x3900000000000000
+ldl :: offset: 0x90, out: 0x8b27c03c8fe6dd8b
+ldl :: offset: 0x91, out: 0x27c03c8fe6dd8b00
+ldl :: offset: 0x92, out: 0xc03c8fe6dd8b0000
+ldl :: offset: 0x93, out: 0x3c8fe6dd8b000000
+ldl :: offset: 0x94, out: 0x8fe6dd8b00000000
+ldl :: offset: 0x95, out: 0xe6dd8b0000000000
+ldl :: offset: 0x96, out: 0xdd8b000000000000
+ldl :: offset: 0x97, out: 0x8b00000000000000
+ldl :: offset: 0x98, out: 0x82a5fb528664e6e5
+ldl :: offset: 0x99, out: 0xa5fb528664e6e500
+ldl :: offset: 0x9a, out: 0xfb528664e6e50000
+ldl :: offset: 0x9b, out: 0x528664e6e5000000
+ldl :: offset: 0x9c, out: 0x8664e6e500000000
+ldl :: offset: 0x9d, out: 0x64e6e50000000000
+ldl :: offset: 0x9e, out: 0xe6e5000000000000
+ldl :: offset: 0x9f, out: 0xe500000000000000
+ldl :: offset: 0xa0, out: 0xbe2b5b58baea46ef
+ldl :: offset: 0xa1, out: 0x2b5b58baea46ef00
+ldl :: offset: 0xa2, out: 0x5b58baea46ef0000
+ldl :: offset: 0xa3, out: 0x58baea46ef000000
+ldl :: offset: 0xa4, out: 0xbaea46ef00000000
+ldl :: offset: 0xa5, out: 0xea46ef0000000000
+ldl :: offset: 0xa6, out: 0x46ef000000000000
+ldl :: offset: 0xa7, out: 0xef00000000000000
+ldl :: offset: 0xa8, out: 0xb7a96036b3687d81
+ldl :: offset: 0xa9, out: 0xa96036b3687d8100
+ldl :: offset: 0xaa, out: 0x6036b3687d810000
+ldl :: offset: 0xab, out: 0x36b3687d81000000
+ldl :: offset: 0xac, out: 0xb3687d8100000000
+ldl :: offset: 0xad, out: 0x687d810000000000
+ldl :: offset: 0xae, out: 0x7d81000000000000
+ldl :: offset: 0xaf, out: 0x8100000000000000
+ldl :: offset: 0xb0, out: 0xad2f2d84a9ee3033
+ldl :: offset: 0xb1, out: 0x2f2d84a9ee303300
+ldl :: offset: 0xb2, out: 0x2d84a9ee30330000
+ldl :: offset: 0xb3, out: 0x84a9ee3033000000
+ldl :: offset: 0xb4, out: 0xa9ee303300000000
+ldl :: offset: 0xb5, out: 0xee30330000000000
+ldl :: offset: 0xb6, out: 0x3033000000000000
+ldl :: offset: 0xb7, out: 0x3300000000000000
+ldl :: offset: 0xb8, out: 0xa4ad16eaa06c0b5d
+ldl :: offset: 0xb9, out: 0xad16eaa06c0b5d00
+ldl :: offset: 0xba, out: 0x16eaa06c0b5d0000
+ldl :: offset: 0xbb, out: 0xeaa06c0b5d000000
+ldl :: offset: 0xbc, out: 0xa06c0b5d00000000
+ldl :: offset: 0xbd, out: 0x6c0b5d0000000000
+ldl :: offset: 0xbe, out: 0xb5d000000000000
+ldl :: offset: 0xbf, out: 0x5d00000000000000
+ldl :: offset: 0xc0, out: 0xd4326d90d0f37027
+ldl :: offset: 0xc1, out: 0x326d90d0f3702700
+ldl :: offset: 0xc2, out: 0x6d90d0f370270000
+ldl :: offset: 0xc3, out: 0x90d0f37027000000
+ldl :: offset: 0xc4, out: 0xd0f3702700000000
+ldl :: offset: 0xc5, out: 0xf370270000000000
+ldl :: offset: 0xc6, out: 0x7027000000000000
+ldl :: offset: 0xc7, out: 0x2700000000000000
+ldl :: offset: 0xc8, out: 0xddb056fed9714b49
+ldl :: offset: 0xc9, out: 0xb056fed9714b4900
+ldl :: offset: 0xca, out: 0x56fed9714b490000
+ldl :: offset: 0xcb, out: 0xfed9714b49000000
+ldl :: offset: 0xcc, out: 0xd9714b4900000000
+ldl :: offset: 0xcd, out: 0x714b490000000000
+ldl :: offset: 0xce, out: 0x4b49000000000000
+ldl :: offset: 0xcf, out: 0x4900000000000000
+ldl :: offset: 0xd0, out: 0xc7361b4cc3f706fb
+ldl :: offset: 0xd1, out: 0x361b4cc3f706fb00
+ldl :: offset: 0xd2, out: 0x1b4cc3f706fb0000
+ldl :: offset: 0xd3, out: 0x4cc3f706fb000000
+ldl :: offset: 0xd4, out: 0xc3f706fb00000000
+ldl :: offset: 0xd5, out: 0xf706fb0000000000
+ldl :: offset: 0xd6, out: 0x6fb000000000000
+ldl :: offset: 0xd7, out: 0xfb00000000000000
+ldl :: offset: 0xd8, out: 0xceb42022ca753d95
+ldl :: offset: 0xd9, out: 0xb42022ca753d9500
+ldl :: offset: 0xda, out: 0x2022ca753d950000
+ldl :: offset: 0xdb, out: 0x22ca753d95000000
+ldl :: offset: 0xdc, out: 0xca753d9500000000
+ldl :: offset: 0xdd, out: 0x753d950000000000
+ldl :: offset: 0xde, out: 0x3d95000000000000
+ldl :: offset: 0xdf, out: 0x9500000000000000
+ldl :: offset: 0xe0, out: 0xf23a8028f6fb9d9f
+ldl :: offset: 0xe1, out: 0x3a8028f6fb9d9f00
+ldl :: offset: 0xe2, out: 0x8028f6fb9d9f0000
+ldl :: offset: 0xe3, out: 0x28f6fb9d9f000000
+ldl :: offset: 0xe4, out: 0xf6fb9d9f00000000
+ldl :: offset: 0xe5, out: 0xfb9d9f0000000000
+ldl :: offset: 0xe6, out: 0x9d9f000000000000
+ldl :: offset: 0xe7, out: 0x9f00000000000000
+ldl :: offset: 0xe8, out: 0xfbb8bb46ff79a6f1
+ldl :: offset: 0xe9, out: 0xb8bb46ff79a6f100
+ldl :: offset: 0xea, out: 0xbb46ff79a6f10000
+ldl :: offset: 0xeb, out: 0x46ff79a6f1000000
+ldl :: offset: 0xec, out: 0xff79a6f100000000
+ldl :: offset: 0xed, out: 0x79a6f10000000000
+ldl :: offset: 0xee, out: 0xa6f1000000000000
+ldl :: offset: 0xef, out: 0xf100000000000000
+ldl :: offset: 0xf0, out: 0xe13ef6f4e5ffeb43
+ldl :: offset: 0xf1, out: 0x3ef6f4e5ffeb4300
+ldl :: offset: 0xf2, out: 0xf6f4e5ffeb430000
+ldl :: offset: 0xf3, out: 0xf4e5ffeb43000000
+ldl :: offset: 0xf4, out: 0xe5ffeb4300000000
+ldl :: offset: 0xf5, out: 0xffeb430000000000
+ldl :: offset: 0xf6, out: 0xeb43000000000000
+ldl :: offset: 0xf7, out: 0x4300000000000000
+ldl :: offset: 0xf8, out: 0xe8bccd9aec7dd02d
+ldl :: offset: 0xf9, out: 0xbccd9aec7dd02d00
+ldl :: offset: 0xfa, out: 0xcd9aec7dd02d0000
+ldl :: offset: 0xfb, out: 0x9aec7dd02d000000
+ldl :: offset: 0xfc, out: 0xec7dd02d00000000
+ldl :: offset: 0xfd, out: 0x7dd02d0000000000
+ldl :: offset: 0xfe, out: 0xd02d000000000000
+ldl :: offset: 0xff, out: 0x2d00000000000000
+ldl :: offset: 0x100, out: 0x3486707730476dc0
+ldl :: offset: 0x101, out: 0x86707730476dc000
+ldl :: offset: 0x102, out: 0x707730476dc00000
+ldl :: offset: 0x103, out: 0x7730476dc0000000
+ldl :: offset: 0x104, out: 0x30476dc000000000
+ldl :: offset: 0x105, out: 0x476dc00000000000
+ldl :: offset: 0x106, out: 0x6dc0000000000000
+ldl :: offset: 0x107, out: 0xc000000000000000
+ldl :: offset: 0x108, out: 0x3d044b1939c556ae
+ldl :: offset: 0x109, out: 0x44b1939c556ae00
+ldl :: offset: 0x10a, out: 0x4b1939c556ae0000
+ldl :: offset: 0x10b, out: 0x1939c556ae000000
+ldl :: offset: 0x10c, out: 0x39c556ae00000000
+ldl :: offset: 0x10d, out: 0xc556ae0000000000
+ldl :: offset: 0x10e, out: 0x56ae000000000000
+ldl :: offset: 0x10f, out: 0xae00000000000000
+ldl :: offset: 0x110, out: 0x278206ab23431b1c
+ldl :: offset: 0x111, out: 0x8206ab23431b1c00
+ldl :: offset: 0x112, out: 0x6ab23431b1c0000
+ldl :: offset: 0x113, out: 0xab23431b1c000000
+ldl :: offset: 0x114, out: 0x23431b1c00000000
+ldl :: offset: 0x115, out: 0x431b1c0000000000
+ldl :: offset: 0x116, out: 0x1b1c000000000000
+ldl :: offset: 0x117, out: 0x1c00000000000000
+ldl :: offset: 0x118, out: 0x2e003dc52ac12072
+ldl :: offset: 0x119, out: 0x3dc52ac1207200
+ldl :: offset: 0x11a, out: 0x3dc52ac120720000
+ldl :: offset: 0x11b, out: 0xc52ac12072000000
+ldl :: offset: 0x11c, out: 0x2ac1207200000000
+ldl :: offset: 0x11d, out: 0xc120720000000000
+ldl :: offset: 0x11e, out: 0x2072000000000000
+ldl :: offset: 0x11f, out: 0x7200000000000000
+ldl :: offset: 0x120, out: 0x128e9dcf164f8078
+ldl :: offset: 0x121, out: 0x8e9dcf164f807800
+ldl :: offset: 0x122, out: 0x9dcf164f80780000
+ldl :: offset: 0x123, out: 0xcf164f8078000000
+ldl :: offset: 0x124, out: 0x164f807800000000
+ldl :: offset: 0x125, out: 0x4f80780000000000
+ldl :: offset: 0x126, out: 0x8078000000000000
+ldl :: offset: 0x127, out: 0x7800000000000000
+ldl :: offset: 0x128, out: 0x1b0ca6a11fcdbb16
+ldl :: offset: 0x129, out: 0xca6a11fcdbb1600
+ldl :: offset: 0x12a, out: 0xa6a11fcdbb160000
+ldl :: offset: 0x12b, out: 0xa11fcdbb16000000
+ldl :: offset: 0x12c, out: 0x1fcdbb1600000000
+ldl :: offset: 0x12d, out: 0xcdbb160000000000
+ldl :: offset: 0x12e, out: 0xbb16000000000000
+ldl :: offset: 0x12f, out: 0x1600000000000000
+ldl :: offset: 0x130, out: 0x18aeb13054bf6a4
+ldl :: offset: 0x131, out: 0x8aeb13054bf6a400
+ldl :: offset: 0x132, out: 0xeb13054bf6a40000
+ldl :: offset: 0x133, out: 0x13054bf6a4000000
+ldl :: offset: 0x134, out: 0x54bf6a400000000
+ldl :: offset: 0x135, out: 0x4bf6a40000000000
+ldl :: offset: 0x136, out: 0xf6a4000000000000
+ldl :: offset: 0x137, out: 0xa400000000000000
+ldl :: offset: 0x138, out: 0x808d07d0cc9cdca
+ldl :: offset: 0x139, out: 0x8d07d0cc9cdca00
+ldl :: offset: 0x13a, out: 0xd07d0cc9cdca0000
+ldl :: offset: 0x13b, out: 0x7d0cc9cdca000000
+ldl :: offset: 0x13c, out: 0xcc9cdca00000000
+ldl :: offset: 0x13d, out: 0xc9cdca0000000000
+ldl :: offset: 0x13e, out: 0xcdca000000000000
+ldl :: offset: 0x13f, out: 0xca00000000000000
+ldl :: offset: 0x140, out: 0x7897ab077c56b6b0
+ldl :: offset: 0x141, out: 0x97ab077c56b6b000
+ldl :: offset: 0x142, out: 0xab077c56b6b00000
+ldl :: offset: 0x143, out: 0x77c56b6b0000000
+ldl :: offset: 0x144, out: 0x7c56b6b000000000
+ldl :: offset: 0x145, out: 0x56b6b00000000000
+ldl :: offset: 0x146, out: 0xb6b0000000000000
+ldl :: offset: 0x147, out: 0xb000000000000000
+ldl :: offset: 0x148, out: 0x7115906975d48dde
+ldl :: offset: 0x149, out: 0x15906975d48dde00
+ldl :: offset: 0x14a, out: 0x906975d48dde0000
+ldl :: offset: 0x14b, out: 0x6975d48dde000000
+ldl :: offset: 0x14c, out: 0x75d48dde00000000
+ldl :: offset: 0x14d, out: 0xd48dde0000000000
+ldl :: offset: 0x14e, out: 0x8dde000000000000
+ldl :: offset: 0x14f, out: 0xde00000000000000
+ldl :: offset: 0x150, out: 0x6b93dddb6f52c06c
+ldl :: offset: 0x151, out: 0x93dddb6f52c06c00
+ldl :: offset: 0x152, out: 0xdddb6f52c06c0000
+ldl :: offset: 0x153, out: 0xdb6f52c06c000000
+ldl :: offset: 0x154, out: 0x6f52c06c00000000
+ldl :: offset: 0x155, out: 0x52c06c0000000000
+ldl :: offset: 0x156, out: 0xc06c000000000000
+ldl :: offset: 0x157, out: 0x6c00000000000000
+ldl :: offset: 0x158, out: 0x6211e6b566d0fb02
+ldl :: offset: 0x159, out: 0x11e6b566d0fb0200
+ldl :: offset: 0x15a, out: 0xe6b566d0fb020000
+ldl :: offset: 0x15b, out: 0xb566d0fb02000000
+ldl :: offset: 0x15c, out: 0x66d0fb0200000000
+ldl :: offset: 0x15d, out: 0xd0fb020000000000
+ldl :: offset: 0x15e, out: 0xfb02000000000000
+ldl :: offset: 0x15f, out: 0x200000000000000
+ldl :: offset: 0x160, out: 0x5e9f46bf5a5e5b08
+ldl :: offset: 0x161, out: 0x9f46bf5a5e5b0800
+ldl :: offset: 0x162, out: 0x46bf5a5e5b080000
+ldl :: offset: 0x163, out: 0xbf5a5e5b08000000
+ldl :: offset: 0x164, out: 0x5a5e5b0800000000
+ldl :: offset: 0x165, out: 0x5e5b080000000000
+ldl :: offset: 0x166, out: 0x5b08000000000000
+ldl :: offset: 0x167, out: 0x800000000000000
+ldl :: offset: 0x168, out: 0x571d7dd153dc6066
+ldl :: offset: 0x169, out: 0x1d7dd153dc606600
+ldl :: offset: 0x16a, out: 0x7dd153dc60660000
+ldl :: offset: 0x16b, out: 0xd153dc6066000000
+ldl :: offset: 0x16c, out: 0x53dc606600000000
+ldl :: offset: 0x16d, out: 0xdc60660000000000
+ldl :: offset: 0x16e, out: 0x6066000000000000
+ldl :: offset: 0x16f, out: 0x6600000000000000
+ldl :: offset: 0x170, out: 0x4d9b3063495a2dd4
+ldl :: offset: 0x171, out: 0x9b3063495a2dd400
+ldl :: offset: 0x172, out: 0x3063495a2dd40000
+ldl :: offset: 0x173, out: 0x63495a2dd4000000
+ldl :: offset: 0x174, out: 0x495a2dd400000000
+ldl :: offset: 0x175, out: 0x5a2dd40000000000
+ldl :: offset: 0x176, out: 0x2dd4000000000000
+ldl :: offset: 0x177, out: 0xd400000000000000
+ldl :: offset: 0x178, out: 0x44190b0d40d816ba
+ldl :: offset: 0x179, out: 0x190b0d40d816ba00
+ldl :: offset: 0x17a, out: 0xb0d40d816ba0000
+ldl :: offset: 0x17b, out: 0xd40d816ba000000
+ldl :: offset: 0x17c, out: 0x40d816ba00000000
+ldl :: offset: 0x17d, out: 0xd816ba0000000000
+ldl :: offset: 0x17e, out: 0x16ba000000000000
+ldl :: offset: 0x17f, out: 0xba00000000000000
+ldl :: offset: 0x180, out: 0xaca5c697a864db20
+ldl :: offset: 0x181, out: 0xa5c697a864db2000
+ldl :: offset: 0x182, out: 0xc697a864db200000
+ldl :: offset: 0x183, out: 0x97a864db20000000
+ldl :: offset: 0x184, out: 0xa864db2000000000
+ldl :: offset: 0x185, out: 0x64db200000000000
+ldl :: offset: 0x186, out: 0xdb20000000000000
+ldl :: offset: 0x187, out: 0x2000000000000000
+ldl :: offset: 0x188, out: 0xa527fdf9a1e6e04e
+ldl :: offset: 0x189, out: 0x27fdf9a1e6e04e00
+ldl :: offset: 0x18a, out: 0xfdf9a1e6e04e0000
+ldl :: offset: 0x18b, out: 0xf9a1e6e04e000000
+ldl :: offset: 0x18c, out: 0xa1e6e04e00000000
+ldl :: offset: 0x18d, out: 0xe6e04e0000000000
+ldl :: offset: 0x18e, out: 0xe04e000000000000
+ldl :: offset: 0x18f, out: 0x4e00000000000000
+ldl :: offset: 0x190, out: 0xbfa1b04bbb60adfc
+ldl :: offset: 0x191, out: 0xa1b04bbb60adfc00
+ldl :: offset: 0x192, out: 0xb04bbb60adfc0000
+ldl :: offset: 0x193, out: 0x4bbb60adfc000000
+ldl :: offset: 0x194, out: 0xbb60adfc00000000
+ldl :: offset: 0x195, out: 0x60adfc0000000000
+ldl :: offset: 0x196, out: 0xadfc000000000000
+ldl :: offset: 0x197, out: 0xfc00000000000000
+ldl :: offset: 0x198, out: 0xb6238b25b2e29692
+ldl :: offset: 0x199, out: 0x238b25b2e2969200
+ldl :: offset: 0x19a, out: 0x8b25b2e296920000
+ldl :: offset: 0x19b, out: 0x25b2e29692000000
+ldl :: offset: 0x19c, out: 0xb2e2969200000000
+ldl :: offset: 0x19d, out: 0xe296920000000000
+ldl :: offset: 0x19e, out: 0x9692000000000000
+ldl :: offset: 0x19f, out: 0x9200000000000000
+ldl :: offset: 0x1a0, out: 0x8aad2b2f00000000
+ldl :: offset: 0x1a1, out: 0xad2b2f0000000000
+ldl :: offset: 0x1a2, out: 0x2b2f000000000000
+ldl :: offset: 0x1a3, out: 0x2f00000000000000
+ldl :: offset: 0x1a4, out: 0x0
+ldl :: offset: 0x1a5, out: 0x0
+ldl :: offset: 0x1a6, out: 0x0
+ldl :: offset: 0x1a7, out: 0x0
+ldl :: offset: 0x1a8, out: 0x87ee0df6
+ldl :: offset: 0x1a9, out: 0x87ee0df600
+ldl :: offset: 0x1aa, out: 0x87ee0df60000
+ldl :: offset: 0x1ab, out: 0x87ee0df6000000
+ldl :: offset: 0x1ac, out: 0x87ee0df600000000
+ldl :: offset: 0x1ad, out: 0xee0df60000000000
+ldl :: offset: 0x1ae, out: 0xdf6000000000000
+ldl :: offset: 0x1af, out: 0xf600000000000000
+ldl :: offset: 0x1b0, out: 0x99a95df39d684044
+ldl :: offset: 0x1b1, out: 0xa95df39d68404400
+ldl :: offset: 0x1b2, out: 0x5df39d6840440000
+ldl :: offset: 0x1b3, out: 0xf39d684044000000
+ldl :: offset: 0x1b4, out: 0x9d68404400000000
+ldl :: offset: 0x1b5, out: 0x6840440000000000
+ldl :: offset: 0x1b6, out: 0x4044000000000000
+ldl :: offset: 0x1b7, out: 0x4400000000000000
+ldl :: offset: 0x1b8, out: 0x902b669d94ea7b2a
+ldl :: offset: 0x1b9, out: 0x2b669d94ea7b2a00
+ldl :: offset: 0x1ba, out: 0x669d94ea7b2a0000
+ldl :: offset: 0x1bb, out: 0x9d94ea7b2a000000
+ldl :: offset: 0x1bc, out: 0x94ea7b2a00000000
+ldl :: offset: 0x1bd, out: 0xea7b2a0000000000
+ldl :: offset: 0x1be, out: 0x7b2a000000000000
+ldl :: offset: 0x1bf, out: 0x2a00000000000000
+ldl :: offset: 0x1c0, out: 0xe0b41de7e4750050
+ldl :: offset: 0x1c1, out: 0xb41de7e475005000
+ldl :: offset: 0x1c2, out: 0x1de7e47500500000
+ldl :: offset: 0x1c3, out: 0xe7e4750050000000
+ldl :: offset: 0x1c4, out: 0xe475005000000000
+ldl :: offset: 0x1c5, out: 0x7500500000000000
+ldl :: offset: 0x1c6, out: 0x50000000000000
+ldl :: offset: 0x1c7, out: 0x5000000000000000
+ldl :: offset: 0x1c8, out: 0xe9362689edf73b3e
+ldl :: offset: 0x1c9, out: 0x362689edf73b3e00
+ldl :: offset: 0x1ca, out: 0x2689edf73b3e0000
+ldl :: offset: 0x1cb, out: 0x89edf73b3e000000
+ldl :: offset: 0x1cc, out: 0xedf73b3e00000000
+ldl :: offset: 0x1cd, out: 0xf73b3e0000000000
+ldl :: offset: 0x1ce, out: 0x3b3e000000000000
+ldl :: offset: 0x1cf, out: 0x3e00000000000000
+ldl :: offset: 0x1d0, out: 0xf3b06b3bf771768c
+ldl :: offset: 0x1d1, out: 0xb06b3bf771768c00
+ldl :: offset: 0x1d2, out: 0x6b3bf771768c0000
+ldl :: offset: 0x1d3, out: 0x3bf771768c000000
+ldl :: offset: 0x1d4, out: 0xf771768c00000000
+ldl :: offset: 0x1d5, out: 0x71768c0000000000
+ldl :: offset: 0x1d6, out: 0x768c000000000000
+ldl :: offset: 0x1d7, out: 0x8c00000000000000
+ldl :: offset: 0x1d8, out: 0xfa325055fef34de2
+ldl :: offset: 0x1d9, out: 0x325055fef34de200
+ldl :: offset: 0x1da, out: 0x5055fef34de20000
+ldl :: offset: 0x1db, out: 0x55fef34de2000000
+ldl :: offset: 0x1dc, out: 0xfef34de200000000
+ldl :: offset: 0x1dd, out: 0xf34de20000000000
+ldl :: offset: 0x1de, out: 0x4de2000000000000
+ldl :: offset: 0x1df, out: 0xe200000000000000
+ldl :: offset: 0x1e0, out: 0xc6bcf05fc27dede8
+ldl :: offset: 0x1e1, out: 0xbcf05fc27dede800
+ldl :: offset: 0x1e2, out: 0xf05fc27dede80000
+ldl :: offset: 0x1e3, out: 0x5fc27dede8000000
+ldl :: offset: 0x1e4, out: 0xc27dede800000000
+ldl :: offset: 0x1e5, out: 0x7dede80000000000
+ldl :: offset: 0x1e6, out: 0xede8000000000000
+ldl :: offset: 0x1e7, out: 0xe800000000000000
+ldl :: offset: 0x1e8, out: 0xcf3ecb31cbffd686
+ldl :: offset: 0x1e9, out: 0x3ecb31cbffd68600
+ldl :: offset: 0x1ea, out: 0xcb31cbffd6860000
+ldl :: offset: 0x1eb, out: 0x31cbffd686000000
+ldl :: offset: 0x1ec, out: 0xcbffd68600000000
+ldl :: offset: 0x1ed, out: 0xffd6860000000000
+ldl :: offset: 0x1ee, out: 0xd686000000000000
+ldl :: offset: 0x1ef, out: 0x8600000000000000
+ldl :: offset: 0x1f0, out: 0xd5b88683d1799b34
+ldl :: offset: 0x1f1, out: 0xb88683d1799b3400
+ldl :: offset: 0x1f2, out: 0x8683d1799b340000
+ldl :: offset: 0x1f3, out: 0x83d1799b34000000
+ldl :: offset: 0x1f4, out: 0xd1799b3400000000
+ldl :: offset: 0x1f5, out: 0x799b340000000000
+ldl :: offset: 0x1f6, out: 0x9b34000000000000
+ldl :: offset: 0x1f7, out: 0x3400000000000000
+ldl :: offset: 0x1f8, out: 0xdc3abdedd8fba05a
+ldl :: offset: 0x1f9, out: 0x3abdedd8fba05a00
+ldl :: offset: 0x1fa, out: 0xbdedd8fba05a0000
+ldl :: offset: 0x1fb, out: 0xedd8fba05a000000
+ldl :: offset: 0x1fc, out: 0xd8fba05a00000000
+ldl :: offset: 0x1fd, out: 0xfba05a0000000000
+ldl :: offset: 0x1fe, out: 0xa05a000000000000
+ldl :: offset: 0x1ff, out: 0x5a00000000000000
+ldl :: offset: 0x200, out: 0x690ce0ee6dcdfd59
+ldl :: offset: 0x201, out: 0xce0ee6dcdfd5900
+ldl :: offset: 0x202, out: 0xe0ee6dcdfd590000
+ldl :: offset: 0x203, out: 0xee6dcdfd59000000
+ldl :: offset: 0x204, out: 0x6dcdfd5900000000
+ldl :: offset: 0x205, out: 0xcdfd590000000000
+ldl :: offset: 0x206, out: 0xfd59000000000000
+ldl :: offset: 0x207, out: 0x5900000000000000
+ldl :: offset: 0x208, out: 0x608edb80644fc637
+ldl :: offset: 0x209, out: 0x8edb80644fc63700
+ldl :: offset: 0x20a, out: 0xdb80644fc6370000
+ldl :: offset: 0x20b, out: 0x80644fc637000000
+ldl :: offset: 0x20c, out: 0x644fc63700000000
+ldl :: offset: 0x20d, out: 0x4fc6370000000000
+ldl :: offset: 0x20e, out: 0xc637000000000000
+ldl :: offset: 0x20f, out: 0x3700000000000000
+ldl :: offset: 0x210, out: 0x7a0896327ec98b85
+ldl :: offset: 0x211, out: 0x896327ec98b8500
+ldl :: offset: 0x212, out: 0x96327ec98b850000
+ldl :: offset: 0x213, out: 0x327ec98b85000000
+ldl :: offset: 0x214, out: 0x7ec98b8500000000
+ldl :: offset: 0x215, out: 0xc98b850000000000
+ldl :: offset: 0x216, out: 0x8b85000000000000
+ldl :: offset: 0x217, out: 0x8500000000000000
+ldl :: offset: 0x218, out: 0x738aad5c774bb0eb
+ldl :: offset: 0x219, out: 0x8aad5c774bb0eb00
+ldl :: offset: 0x21a, out: 0xad5c774bb0eb0000
+ldl :: offset: 0x21b, out: 0x5c774bb0eb000000
+ldl :: offset: 0x21c, out: 0x774bb0eb00000000
+ldl :: offset: 0x21d, out: 0x4bb0eb0000000000
+ldl :: offset: 0x21e, out: 0xb0eb000000000000
+ldl :: offset: 0x21f, out: 0xeb00000000000000
+ldl :: offset: 0x220, out: 0x4f040d564bc510e1
+ldl :: offset: 0x221, out: 0x40d564bc510e100
+ldl :: offset: 0x222, out: 0xd564bc510e10000
+ldl :: offset: 0x223, out: 0x564bc510e1000000
+ldl :: offset: 0x224, out: 0x4bc510e100000000
+ldl :: offset: 0x225, out: 0xc510e10000000000
+ldl :: offset: 0x226, out: 0x10e1000000000000
+ldl :: offset: 0x227, out: 0xe100000000000000
+ldl :: offset: 0x228, out: 0x4686363842472b8f
+ldl :: offset: 0x229, out: 0x86363842472b8f00
+ldl :: offset: 0x22a, out: 0x363842472b8f0000
+ldl :: offset: 0x22b, out: 0x3842472b8f000000
+ldl :: offset: 0x22c, out: 0x42472b8f00000000
+ldl :: offset: 0x22d, out: 0x472b8f0000000000
+ldl :: offset: 0x22e, out: 0x2b8f000000000000
+ldl :: offset: 0x22f, out: 0x8f00000000000000
+ldl :: offset: 0x230, out: 0x5c007b8a58c1663d
+ldl :: offset: 0x231, out: 0x7b8a58c1663d00
+ldl :: offset: 0x232, out: 0x7b8a58c1663d0000
+ldl :: offset: 0x233, out: 0x8a58c1663d000000
+ldl :: offset: 0x234, out: 0x58c1663d00000000
+ldl :: offset: 0x235, out: 0xc1663d0000000000
+ldl :: offset: 0x236, out: 0x663d000000000000
+ldl :: offset: 0x237, out: 0x3d00000000000000
+ldl :: offset: 0x238, out: 0x558240e451435d53
+ldl :: offset: 0x239, out: 0x8240e451435d5300
+ldl :: offset: 0x23a, out: 0x40e451435d530000
+ldl :: offset: 0x23b, out: 0xe451435d53000000
+ldl :: offset: 0x23c, out: 0x51435d5300000000
+ldl :: offset: 0x23d, out: 0x435d530000000000
+ldl :: offset: 0x23e, out: 0x5d53000000000000
+ldl :: offset: 0x23f, out: 0x5300000000000000
+ldl :: offset: 0x240, out: 0x251d3b9e21dc2629
+ldl :: offset: 0x241, out: 0x1d3b9e21dc262900
+ldl :: offset: 0x242, out: 0x3b9e21dc26290000
+ldl :: offset: 0x243, out: 0x9e21dc2629000000
+ldl :: offset: 0x244, out: 0x21dc262900000000
+ldl :: offset: 0x245, out: 0xdc26290000000000
+ldl :: offset: 0x246, out: 0x2629000000000000
+ldl :: offset: 0x247, out: 0x2900000000000000
+ldl :: offset: 0x248, out: 0x2c9f00f0285e1d47
+ldl :: offset: 0x249, out: 0x9f00f0285e1d4700
+ldl :: offset: 0x24a, out: 0xf0285e1d470000
+ldl :: offset: 0x24b, out: 0xf0285e1d47000000
+ldl :: offset: 0x24c, out: 0x285e1d4700000000
+ldl :: offset: 0x24d, out: 0x5e1d470000000000
+ldl :: offset: 0x24e, out: 0x1d47000000000000
+ldl :: offset: 0x24f, out: 0x4700000000000000
+ldl :: offset: 0x250, out: 0x36194d4232d850f5
+ldl :: offset: 0x251, out: 0x194d4232d850f500
+ldl :: offset: 0x252, out: 0x4d4232d850f50000
+ldl :: offset: 0x253, out: 0x4232d850f5000000
+ldl :: offset: 0x254, out: 0x32d850f500000000
+ldl :: offset: 0x255, out: 0xd850f50000000000
+ldl :: offset: 0x256, out: 0x50f5000000000000
+ldl :: offset: 0x257, out: 0xf500000000000000
+ldl :: offset: 0x258, out: 0x3f9b762c3b5a6b9b
+ldl :: offset: 0x259, out: 0x9b762c3b5a6b9b00
+ldl :: offset: 0x25a, out: 0x762c3b5a6b9b0000
+ldl :: offset: 0x25b, out: 0x2c3b5a6b9b000000
+ldl :: offset: 0x25c, out: 0x3b5a6b9b00000000
+ldl :: offset: 0x25d, out: 0x5a6b9b0000000000
+ldl :: offset: 0x25e, out: 0x6b9b000000000000
+ldl :: offset: 0x25f, out: 0x9b00000000000000
+ldl :: offset: 0x260, out: 0x315d62607d4cb91
+ldl :: offset: 0x261, out: 0x15d62607d4cb9100
+ldl :: offset: 0x262, out: 0xd62607d4cb910000
+ldl :: offset: 0x263, out: 0x2607d4cb91000000
+ldl :: offset: 0x264, out: 0x7d4cb9100000000
+ldl :: offset: 0x265, out: 0xd4cb910000000000
+ldl :: offset: 0x266, out: 0xcb91000000000000
+ldl :: offset: 0x267, out: 0x9100000000000000
+ldl :: offset: 0x268, out: 0xa97ed480e56f0ff
+ldl :: offset: 0x269, out: 0x97ed480e56f0ff00
+ldl :: offset: 0x26a, out: 0xed480e56f0ff0000
+ldl :: offset: 0x26b, out: 0x480e56f0ff000000
+ldl :: offset: 0x26c, out: 0xe56f0ff00000000
+ldl :: offset: 0x26d, out: 0x56f0ff0000000000
+ldl :: offset: 0x26e, out: 0xf0ff000000000000
+ldl :: offset: 0x26f, out: 0xff00000000000000
+ldl :: offset: 0x270, out: 0x1011a0fa14d0bd4d
+ldl :: offset: 0x271, out: 0x11a0fa14d0bd4d00
+ldl :: offset: 0x272, out: 0xa0fa14d0bd4d0000
+ldl :: offset: 0x273, out: 0xfa14d0bd4d000000
+ldl :: offset: 0x274, out: 0x14d0bd4d00000000
+ldl :: offset: 0x275, out: 0xd0bd4d0000000000
+ldl :: offset: 0x276, out: 0xbd4d000000000000
+ldl :: offset: 0x277, out: 0x4d00000000000000
+ldl :: offset: 0x278, out: 0x19939b941d528623
+ldl :: offset: 0x279, out: 0x939b941d52862300
+ldl :: offset: 0x27a, out: 0x9b941d5286230000
+ldl :: offset: 0x27b, out: 0x941d528623000000
+ldl :: offset: 0x27c, out: 0x1d52862300000000
+ldl :: offset: 0x27d, out: 0x5286230000000000
+ldl :: offset: 0x27e, out: 0x8623000000000000
+ldl :: offset: 0x27f, out: 0x2300000000000000
+ldl :: offset: 0x280, out: 0xf12f560ef5ee4bb9
+ldl :: offset: 0x281, out: 0x2f560ef5ee4bb900
+ldl :: offset: 0x282, out: 0x560ef5ee4bb90000
+ldl :: offset: 0x283, out: 0xef5ee4bb9000000
+ldl :: offset: 0x284, out: 0xf5ee4bb900000000
+ldl :: offset: 0x285, out: 0xee4bb90000000000
+ldl :: offset: 0x286, out: 0x4bb9000000000000
+ldl :: offset: 0x287, out: 0xb900000000000000
+ldl :: offset: 0x288, out: 0xf8ad6d60fc6c70d7
+ldl :: offset: 0x289, out: 0xad6d60fc6c70d700
+ldl :: offset: 0x28a, out: 0x6d60fc6c70d70000
+ldl :: offset: 0x28b, out: 0x60fc6c70d7000000
+ldl :: offset: 0x28c, out: 0xfc6c70d700000000
+ldl :: offset: 0x28d, out: 0x6c70d70000000000
+ldl :: offset: 0x28e, out: 0x70d7000000000000
+ldl :: offset: 0x28f, out: 0xd700000000000000
+ldl :: offset: 0x290, out: 0xe22b20d2e6ea3d65
+ldl :: offset: 0x291, out: 0x2b20d2e6ea3d6500
+ldl :: offset: 0x292, out: 0x20d2e6ea3d650000
+ldl :: offset: 0x293, out: 0xd2e6ea3d65000000
+ldl :: offset: 0x294, out: 0xe6ea3d6500000000
+ldl :: offset: 0x295, out: 0xea3d650000000000
+ldl :: offset: 0x296, out: 0x3d65000000000000
+ldl :: offset: 0x297, out: 0x6500000000000000
+ldl :: offset: 0x298, out: 0xeba91bbcef68060b
+ldl :: offset: 0x299, out: 0xa91bbcef68060b00
+ldl :: offset: 0x29a, out: 0x1bbcef68060b0000
+ldl :: offset: 0x29b, out: 0xbcef68060b000000
+ldl :: offset: 0x29c, out: 0xef68060b00000000
+ldl :: offset: 0x29d, out: 0x68060b0000000000
+ldl :: offset: 0x29e, out: 0x60b000000000000
+ldl :: offset: 0x29f, out: 0xb00000000000000
+ldl :: offset: 0x2a0, out: 0xd727bbb6d3e6a601
+ldl :: offset: 0x2a1, out: 0x27bbb6d3e6a60100
+ldl :: offset: 0x2a2, out: 0xbbb6d3e6a6010000
+ldl :: offset: 0x2a3, out: 0xb6d3e6a601000000
+ldl :: offset: 0x2a4, out: 0xd3e6a60100000000
+ldl :: offset: 0x2a5, out: 0xe6a6010000000000
+ldl :: offset: 0x2a6, out: 0xa601000000000000
+ldl :: offset: 0x2a7, out: 0x100000000000000
+ldl :: offset: 0x2a8, out: 0xdea580d8da649d6f
+ldl :: offset: 0x2a9, out: 0xa580d8da649d6f00
+ldl :: offset: 0x2aa, out: 0x80d8da649d6f0000
+ldl :: offset: 0x2ab, out: 0xd8da649d6f000000
+ldl :: offset: 0x2ac, out: 0xda649d6f00000000
+ldl :: offset: 0x2ad, out: 0x649d6f0000000000
+ldl :: offset: 0x2ae, out: 0x9d6f000000000000
+ldl :: offset: 0x2af, out: 0x6f00000000000000
+ldl :: offset: 0x2b0, out: 0xc423cd6a00000000
+ldl :: offset: 0x2b1, out: 0x23cd6a0000000000
+ldl :: offset: 0x2b2, out: 0xcd6a000000000000
+ldl :: offset: 0x2b3, out: 0x6a00000000000000
+ldl :: offset: 0x2b4, out: 0x0
+ldl :: offset: 0x2b5, out: 0x0
+ldl :: offset: 0x2b6, out: 0x0
+ldl :: offset: 0x2b7, out: 0x0
+ldl :: offset: 0x2b8, out: 0xcda1f60400000000
+ldl :: offset: 0x2b9, out: 0xa1f6040000000000
+ldl :: offset: 0x2ba, out: 0xf604000000000000
+ldl :: offset: 0x2bb, out: 0x400000000000000
+ldl :: offset: 0x2bc, out: 0x0
+ldl :: offset: 0x2bd, out: 0x0
+ldl :: offset: 0x2be, out: 0x0
+ldl :: offset: 0x2bf, out: 0x0
+ldl :: offset: 0x2c0, out: 0xbd3e8d7eb9ff90c9
+ldl :: offset: 0x2c1, out: 0x3e8d7eb9ff90c900
+ldl :: offset: 0x2c2, out: 0x8d7eb9ff90c90000
+ldl :: offset: 0x2c3, out: 0x7eb9ff90c9000000
+ldl :: offset: 0x2c4, out: 0xb9ff90c900000000
+ldl :: offset: 0x2c5, out: 0xff90c90000000000
+ldl :: offset: 0x2c6, out: 0x90c9000000000000
+ldl :: offset: 0x2c7, out: 0xc900000000000000
+ldl :: offset: 0x2c8, out: 0xb4bcb610b07daba7
+ldl :: offset: 0x2c9, out: 0xbcb610b07daba700
+ldl :: offset: 0x2ca, out: 0xb610b07daba70000
+ldl :: offset: 0x2cb, out: 0x10b07daba7000000
+ldl :: offset: 0x2cc, out: 0xb07daba700000000
+ldl :: offset: 0x2cd, out: 0x7daba70000000000
+ldl :: offset: 0x2ce, out: 0xaba7000000000000
+ldl :: offset: 0x2cf, out: 0xa700000000000000
+ldl :: offset: 0x2d0, out: 0xae3afba2aafbe615
+ldl :: offset: 0x2d1, out: 0x3afba2aafbe61500
+ldl :: offset: 0x2d2, out: 0xfba2aafbe6150000
+ldl :: offset: 0x2d3, out: 0xa2aafbe615000000
+ldl :: offset: 0x2d4, out: 0xaafbe61500000000
+ldl :: offset: 0x2d5, out: 0xfbe6150000000000
+ldl :: offset: 0x2d6, out: 0xe615000000000000
+ldl :: offset: 0x2d7, out: 0x1500000000000000
+ldl :: offset: 0x2d8, out: 0xa7b8c0cca379dd7b
+ldl :: offset: 0x2d9, out: 0xb8c0cca379dd7b00
+ldl :: offset: 0x2da, out: 0xc0cca379dd7b0000
+ldl :: offset: 0x2db, out: 0xcca379dd7b000000
+ldl :: offset: 0x2dc, out: 0xa379dd7b00000000
+ldl :: offset: 0x2dd, out: 0x79dd7b0000000000
+ldl :: offset: 0x2de, out: 0xdd7b000000000000
+ldl :: offset: 0x2df, out: 0x7b00000000000000
+ldl :: offset: 0x2e0, out: 0x9b3660c69ff77d71
+ldl :: offset: 0x2e1, out: 0x3660c69ff77d7100
+ldl :: offset: 0x2e2, out: 0x60c69ff77d710000
+ldl :: offset: 0x2e3, out: 0xc69ff77d71000000
+ldl :: offset: 0x2e4, out: 0x9ff77d7100000000
+ldl :: offset: 0x2e5, out: 0xf77d710000000000
+ldl :: offset: 0x2e6, out: 0x7d71000000000000
+ldl :: offset: 0x2e7, out: 0x7100000000000000
+ldl :: offset: 0x2e8, out: 0x92b45ba89675461f
+ldl :: offset: 0x2e9, out: 0xb45ba89675461f00
+ldl :: offset: 0x2ea, out: 0x5ba89675461f0000
+ldl :: offset: 0x2eb, out: 0xa89675461f000000
+ldl :: offset: 0x2ec, out: 0x9675461f00000000
+ldl :: offset: 0x2ed, out: 0x75461f0000000000
+ldl :: offset: 0x2ee, out: 0x461f000000000000
+ldl :: offset: 0x2ef, out: 0x1f00000000000000
+ldl :: offset: 0x2f0, out: 0x8832161a8cf30bad
+ldl :: offset: 0x2f1, out: 0x32161a8cf30bad00
+ldl :: offset: 0x2f2, out: 0x161a8cf30bad0000
+ldl :: offset: 0x2f3, out: 0x1a8cf30bad000000
+ldl :: offset: 0x2f4, out: 0x8cf30bad00000000
+ldl :: offset: 0x2f5, out: 0xf30bad0000000000
+ldl :: offset: 0x2f6, out: 0xbad000000000000
+ldl :: offset: 0x2f7, out: 0xad00000000000000
+ldl :: offset: 0x2f8, out: 0x81b02d74857130c3
+ldl :: offset: 0x2f9, out: 0xb02d74857130c300
+ldl :: offset: 0x2fa, out: 0x2d74857130c30000
+ldl :: offset: 0x2fb, out: 0x74857130c3000000
+ldl :: offset: 0x2fc, out: 0x857130c300000000
+ldl :: offset: 0x2fd, out: 0x7130c30000000000
+ldl :: offset: 0x2fe, out: 0x30c3000000000000
+ldl :: offset: 0x2ff, out: 0xc300000000000000
+ldl :: offset: 0x300, out: 0x5d8a9099594b8d2e
+ldl :: offset: 0x301, out: 0x8a9099594b8d2e00
+ldl :: offset: 0x302, out: 0x9099594b8d2e0000
+ldl :: offset: 0x303, out: 0x99594b8d2e000000
+ldl :: offset: 0x304, out: 0x594b8d2e00000000
+ldl :: offset: 0x305, out: 0x4b8d2e0000000000
+ldl :: offset: 0x306, out: 0x8d2e000000000000
+ldl :: offset: 0x307, out: 0x2e00000000000000
+ldl :: offset: 0x308, out: 0x5408abf750c9b640
+ldl :: offset: 0x309, out: 0x8abf750c9b64000
+ldl :: offset: 0x30a, out: 0xabf750c9b6400000
+ldl :: offset: 0x30b, out: 0xf750c9b640000000
+ldl :: offset: 0x30c, out: 0x50c9b64000000000
+ldl :: offset: 0x30d, out: 0xc9b6400000000000
+ldl :: offset: 0x30e, out: 0xb640000000000000
+ldl :: offset: 0x30f, out: 0x4000000000000000
+ldl :: offset: 0x310, out: 0x4e8ee6454a4ffbf2
+ldl :: offset: 0x311, out: 0x8ee6454a4ffbf200
+ldl :: offset: 0x312, out: 0xe6454a4ffbf20000
+ldl :: offset: 0x313, out: 0x454a4ffbf2000000
+ldl :: offset: 0x314, out: 0x4a4ffbf200000000
+ldl :: offset: 0x315, out: 0x4ffbf20000000000
+ldl :: offset: 0x316, out: 0xfbf2000000000000
+ldl :: offset: 0x317, out: 0xf200000000000000
+ldl :: offset: 0x318, out: 0x470cdd2b43cdc09c
+ldl :: offset: 0x319, out: 0xcdd2b43cdc09c00
+ldl :: offset: 0x31a, out: 0xdd2b43cdc09c0000
+ldl :: offset: 0x31b, out: 0x2b43cdc09c000000
+ldl :: offset: 0x31c, out: 0x43cdc09c00000000
+ldl :: offset: 0x31d, out: 0xcdc09c0000000000
+ldl :: offset: 0x31e, out: 0xc09c000000000000
+ldl :: offset: 0x31f, out: 0x9c00000000000000
+ldl :: offset: 0x320, out: 0x7b827d217f436096
+ldl :: offset: 0x321, out: 0x827d217f43609600
+ldl :: offset: 0x322, out: 0x7d217f4360960000
+ldl :: offset: 0x323, out: 0x217f436096000000
+ldl :: offset: 0x324, out: 0x7f43609600000000
+ldl :: offset: 0x325, out: 0x4360960000000000
+ldl :: offset: 0x326, out: 0x6096000000000000
+ldl :: offset: 0x327, out: 0x9600000000000000
+ldl :: offset: 0x328, out: 0x7200464f76c15bf8
+ldl :: offset: 0x329, out: 0x464f76c15bf800
+ldl :: offset: 0x32a, out: 0x464f76c15bf80000
+ldl :: offset: 0x32b, out: 0x4f76c15bf8000000
+ldl :: offset: 0x32c, out: 0x76c15bf800000000
+ldl :: offset: 0x32d, out: 0xc15bf80000000000
+ldl :: offset: 0x32e, out: 0x5bf8000000000000
+ldl :: offset: 0x32f, out: 0xf800000000000000
+ldl :: offset: 0x330, out: 0x68860bfd6c47164a
+ldl :: offset: 0x331, out: 0x860bfd6c47164a00
+ldl :: offset: 0x332, out: 0xbfd6c47164a0000
+ldl :: offset: 0x333, out: 0xfd6c47164a000000
+ldl :: offset: 0x334, out: 0x6c47164a00000000
+ldl :: offset: 0x335, out: 0x47164a0000000000
+ldl :: offset: 0x336, out: 0x164a000000000000
+ldl :: offset: 0x337, out: 0x4a00000000000000
+ldl :: offset: 0x338, out: 0x6104309365c52d24
+ldl :: offset: 0x339, out: 0x4309365c52d2400
+ldl :: offset: 0x33a, out: 0x309365c52d240000
+ldl :: offset: 0x33b, out: 0x9365c52d24000000
+ldl :: offset: 0x33c, out: 0x65c52d2400000000
+ldl :: offset: 0x33d, out: 0xc52d240000000000
+ldl :: offset: 0x33e, out: 0x2d24000000000000
+ldl :: offset: 0x33f, out: 0x2400000000000000
+ldl :: offset: 0x340, out: 0x119b4be9155a565e
+ldl :: offset: 0x341, out: 0x9b4be9155a565e00
+ldl :: offset: 0x342, out: 0x4be9155a565e0000
+ldl :: offset: 0x343, out: 0xe9155a565e000000
+ldl :: offset: 0x344, out: 0x155a565e00000000
+ldl :: offset: 0x345, out: 0x5a565e0000000000
+ldl :: offset: 0x346, out: 0x565e000000000000
+ldl :: offset: 0x347, out: 0x5e00000000000000
+ldl :: offset: 0x348, out: 0x181970871cd86d30
+ldl :: offset: 0x349, out: 0x1970871cd86d3000
+ldl :: offset: 0x34a, out: 0x70871cd86d300000
+ldl :: offset: 0x34b, out: 0x871cd86d30000000
+ldl :: offset: 0x34c, out: 0x1cd86d3000000000
+ldl :: offset: 0x34d, out: 0xd86d300000000000
+ldl :: offset: 0x34e, out: 0x6d30000000000000
+ldl :: offset: 0x34f, out: 0x3000000000000000
+ldl :: offset: 0x350, out: 0x29f3d35065e2082
+ldl :: offset: 0x351, out: 0x9f3d35065e208200
+ldl :: offset: 0x352, out: 0x3d35065e20820000
+ldl :: offset: 0x353, out: 0x35065e2082000000
+ldl :: offset: 0x354, out: 0x65e208200000000
+ldl :: offset: 0x355, out: 0x5e20820000000000
+ldl :: offset: 0x356, out: 0x2082000000000000
+ldl :: offset: 0x357, out: 0x8200000000000000
+ldl :: offset: 0x358, out: 0xb1d065b0fdc1bec
+ldl :: offset: 0x359, out: 0x1d065b0fdc1bec00
+ldl :: offset: 0x35a, out: 0x65b0fdc1bec0000
+ldl :: offset: 0x35b, out: 0x5b0fdc1bec000000
+ldl :: offset: 0x35c, out: 0xfdc1bec00000000
+ldl :: offset: 0x35d, out: 0xdc1bec0000000000
+ldl :: offset: 0x35e, out: 0x1bec000000000000
+ldl :: offset: 0x35f, out: 0xec00000000000000
+ldl :: offset: 0x360, out: 0x3793a6513352bbe6
+ldl :: offset: 0x361, out: 0x93a6513352bbe600
+ldl :: offset: 0x362, out: 0xa6513352bbe60000
+ldl :: offset: 0x363, out: 0x513352bbe6000000
+ldl :: offset: 0x364, out: 0x3352bbe600000000
+ldl :: offset: 0x365, out: 0x52bbe60000000000
+ldl :: offset: 0x366, out: 0xbbe6000000000000
+ldl :: offset: 0x367, out: 0xe600000000000000
+ldl :: offset: 0x368, out: 0x3e119d3f3ad08088
+ldl :: offset: 0x369, out: 0x119d3f3ad0808800
+ldl :: offset: 0x36a, out: 0x9d3f3ad080880000
+ldl :: offset: 0x36b, out: 0x3f3ad08088000000
+ldl :: offset: 0x36c, out: 0x3ad0808800000000
+ldl :: offset: 0x36d, out: 0xd080880000000000
+ldl :: offset: 0x36e, out: 0x8088000000000000
+ldl :: offset: 0x36f, out: 0x8800000000000000
+ldl :: offset: 0x370, out: 0x2497d08d2056cd3a
+ldl :: offset: 0x371, out: 0x97d08d2056cd3a00
+ldl :: offset: 0x372, out: 0xd08d2056cd3a0000
+ldl :: offset: 0x373, out: 0x8d2056cd3a000000
+ldl :: offset: 0x374, out: 0x2056cd3a00000000
+ldl :: offset: 0x375, out: 0x56cd3a0000000000
+ldl :: offset: 0x376, out: 0xcd3a000000000000
+ldl :: offset: 0x377, out: 0x3a00000000000000
+ldl :: offset: 0x378, out: 0x2d15ebe329d4f654
+ldl :: offset: 0x379, out: 0x15ebe329d4f65400
+ldl :: offset: 0x37a, out: 0xebe329d4f6540000
+ldl :: offset: 0x37b, out: 0xe329d4f654000000
+ldl :: offset: 0x37c, out: 0x29d4f65400000000
+ldl :: offset: 0x37d, out: 0xd4f6540000000000
+ldl :: offset: 0x37e, out: 0xf654000000000000
+ldl :: offset: 0x37f, out: 0x5400000000000000
+ldl :: offset: 0x380, out: 0xc5a92679c1683bce
+ldl :: offset: 0x381, out: 0xa92679c1683bce00
+ldl :: offset: 0x382, out: 0x2679c1683bce0000
+ldl :: offset: 0x383, out: 0x79c1683bce000000
+ldl :: offset: 0x384, out: 0xc1683bce00000000
+ldl :: offset: 0x385, out: 0x683bce0000000000
+ldl :: offset: 0x386, out: 0x3bce000000000000
+ldl :: offset: 0x387, out: 0xce00000000000000
+ldl :: offset: 0x388, out: 0xcc2b1d17c8ea00a0
+ldl :: offset: 0x389, out: 0x2b1d17c8ea00a000
+ldl :: offset: 0x38a, out: 0x1d17c8ea00a00000
+ldl :: offset: 0x38b, out: 0x17c8ea00a0000000
+ldl :: offset: 0x38c, out: 0xc8ea00a000000000
+ldl :: offset: 0x38d, out: 0xea00a00000000000
+ldl :: offset: 0x38e, out: 0xa0000000000000
+ldl :: offset: 0x38f, out: 0xa000000000000000
+ldl :: offset: 0x390, out: 0xd6ad50a5d26c4d12
+ldl :: offset: 0x391, out: 0xad50a5d26c4d1200
+ldl :: offset: 0x392, out: 0x50a5d26c4d120000
+ldl :: offset: 0x393, out: 0xa5d26c4d12000000
+ldl :: offset: 0x394, out: 0xd26c4d1200000000
+ldl :: offset: 0x395, out: 0x6c4d120000000000
+ldl :: offset: 0x396, out: 0x4d12000000000000
+ldl :: offset: 0x397, out: 0x1200000000000000
+ldl :: offset: 0x398, out: 0xdf2f6bcbdbee767c
+ldl :: offset: 0x399, out: 0x2f6bcbdbee767c00
+ldl :: offset: 0x39a, out: 0x6bcbdbee767c0000
+ldl :: offset: 0x39b, out: 0xcbdbee767c000000
+ldl :: offset: 0x39c, out: 0xdbee767c00000000
+ldl :: offset: 0x39d, out: 0xee767c0000000000
+ldl :: offset: 0x39e, out: 0x767c000000000000
+ldl :: offset: 0x39f, out: 0x7c00000000000000
+ldl :: offset: 0x3a0, out: 0xe3a1cbc1e760d676
+ldl :: offset: 0x3a1, out: 0xa1cbc1e760d67600
+ldl :: offset: 0x3a2, out: 0xcbc1e760d6760000
+ldl :: offset: 0x3a3, out: 0xc1e760d676000000
+ldl :: offset: 0x3a4, out: 0xe760d67600000000
+ldl :: offset: 0x3a5, out: 0x60d6760000000000
+ldl :: offset: 0x3a6, out: 0xd676000000000000
+ldl :: offset: 0x3a7, out: 0x7600000000000000
+ldl :: offset: 0x3a8, out: 0xea23f0afeee2ed18
+ldl :: offset: 0x3a9, out: 0x23f0afeee2ed1800
+ldl :: offset: 0x3aa, out: 0xf0afeee2ed180000
+ldl :: offset: 0x3ab, out: 0xafeee2ed18000000
+ldl :: offset: 0x3ac, out: 0xeee2ed1800000000
+ldl :: offset: 0x3ad, out: 0xe2ed180000000000
+ldl :: offset: 0x3ae, out: 0xed18000000000000
+ldl :: offset: 0x3af, out: 0x1800000000000000
+ldl :: offset: 0x3b0, out: 0xf0a5bd1df464a0aa
+ldl :: offset: 0x3b1, out: 0xa5bd1df464a0aa00
+ldl :: offset: 0x3b2, out: 0xbd1df464a0aa0000
+ldl :: offset: 0x3b3, out: 0x1df464a0aa000000
+ldl :: offset: 0x3b4, out: 0xf464a0aa00000000
+ldl :: offset: 0x3b5, out: 0x64a0aa0000000000
+ldl :: offset: 0x3b6, out: 0xa0aa000000000000
+ldl :: offset: 0x3b7, out: 0xaa00000000000000
+ldl :: offset: 0x3b8, out: 0xf9278673fde69bc4
+ldl :: offset: 0x3b9, out: 0x278673fde69bc400
+ldl :: offset: 0x3ba, out: 0x8673fde69bc40000
+ldl :: offset: 0x3bb, out: 0x73fde69bc4000000
+ldl :: offset: 0x3bc, out: 0xfde69bc400000000
+ldl :: offset: 0x3bd, out: 0xe69bc40000000000
+ldl :: offset: 0x3be, out: 0x9bc4000000000000
+ldl :: offset: 0x3bf, out: 0xc400000000000000
+ldl :: offset: 0x3c0, out: 0x89b8fd098d79e0be
+ldl :: offset: 0x3c1, out: 0xb8fd098d79e0be00
+ldl :: offset: 0x3c2, out: 0xfd098d79e0be0000
+ldl :: offset: 0x3c3, out: 0x98d79e0be000000
+ldl :: offset: 0x3c4, out: 0x8d79e0be00000000
+ldl :: offset: 0x3c5, out: 0x79e0be0000000000
+ldl :: offset: 0x3c6, out: 0xe0be000000000000
+ldl :: offset: 0x3c7, out: 0xbe00000000000000
+ldl :: offset: 0x3c8, out: 0x803ac66784fbdbd0
+ldl :: offset: 0x3c9, out: 0x3ac66784fbdbd000
+ldl :: offset: 0x3ca, out: 0xc66784fbdbd00000
+ldl :: offset: 0x3cb, out: 0x6784fbdbd0000000
+ldl :: offset: 0x3cc, out: 0x84fbdbd000000000
+ldl :: offset: 0x3cd, out: 0xfbdbd00000000000
+ldl :: offset: 0x3ce, out: 0xdbd0000000000000
+ldl :: offset: 0x3cf, out: 0xd000000000000000
+ldl :: offset: 0x3d0, out: 0x9abc8bd59e7d9662
+ldl :: offset: 0x3d1, out: 0xbc8bd59e7d966200
+ldl :: offset: 0x3d2, out: 0x8bd59e7d96620000
+ldl :: offset: 0x3d3, out: 0xd59e7d9662000000
+ldl :: offset: 0x3d4, out: 0x9e7d966200000000
+ldl :: offset: 0x3d5, out: 0x7d96620000000000
+ldl :: offset: 0x3d6, out: 0x9662000000000000
+ldl :: offset: 0x3d7, out: 0x6200000000000000
+ldl :: offset: 0x3d8, out: 0x933eb0bb97ffad0c
+ldl :: offset: 0x3d9, out: 0x3eb0bb97ffad0c00
+ldl :: offset: 0x3da, out: 0xb0bb97ffad0c0000
+ldl :: offset: 0x3db, out: 0xbb97ffad0c000000
+ldl :: offset: 0x3dc, out: 0x97ffad0c00000000
+ldl :: offset: 0x3dd, out: 0xffad0c0000000000
+ldl :: offset: 0x3de, out: 0xad0c000000000000
+ldl :: offset: 0x3df, out: 0xc00000000000000
+ldl :: offset: 0x3e0, out: 0xafb010b1ab710d06
+ldl :: offset: 0x3e1, out: 0xb010b1ab710d0600
+ldl :: offset: 0x3e2, out: 0x10b1ab710d060000
+ldl :: offset: 0x3e3, out: 0xb1ab710d06000000
+ldl :: offset: 0x3e4, out: 0xab710d0600000000
+ldl :: offset: 0x3e5, out: 0x710d060000000000
+ldl :: offset: 0x3e6, out: 0xd06000000000000
+ldl :: offset: 0x3e7, out: 0x600000000000000
+ldl :: offset: 0x3e8, out: 0xa6322bdfa2f33668
+ldl :: offset: 0x3e9, out: 0x322bdfa2f3366800
+ldl :: offset: 0x3ea, out: 0x2bdfa2f336680000
+ldl :: offset: 0x3eb, out: 0xdfa2f33668000000
+ldl :: offset: 0x3ec, out: 0xa2f3366800000000
+ldl :: offset: 0x3ed, out: 0xf336680000000000
+ldl :: offset: 0x3ee, out: 0x3668000000000000
+ldl :: offset: 0x3ef, out: 0x6800000000000000
+ldl :: offset: 0x3f0, out: 0xbcb4666db8757bda
+ldl :: offset: 0x3f1, out: 0xb4666db8757bda00
+ldl :: offset: 0x3f2, out: 0x666db8757bda0000
+ldl :: offset: 0x3f3, out: 0x6db8757bda000000
+ldl :: offset: 0x3f4, out: 0xb8757bda00000000
+ldl :: offset: 0x3f5, out: 0x757bda0000000000
+ldl :: offset: 0x3f6, out: 0x7bda000000000000
+ldl :: offset: 0x3f7, out: 0xda00000000000000
+ldl :: offset: 0x3f8, out: 0xb5365d03b1f740b4
+ldl :: offset: 0x3f9, out: 0x365d03b1f740b400
+ldl :: offset: 0x3fa, out: 0x5d03b1f740b40000
+ldl :: offset: 0x3fb, out: 0x3b1f740b4000000
+ldl :: offset: 0x3fc, out: 0xb1f740b400000000
+ldl :: offset: 0x3fd, out: 0xf740b40000000000
+ldl :: offset: 0x3fe, out: 0x40b4000000000000
+ldl :: offset: 0x3ff, out: 0xb400000000000000
+ldl :: offset: 0x0, out: 0x12bd6aa
+ldl :: offset: 0x1, out: 0x12bd6aa00
+ldl :: offset: 0x2, out: 0x12bd6aa0000
+ldl :: offset: 0x3, out: 0x12bd6aa000000
+ldl :: offset: 0x4, out: 0x12bd6aa00000000
+ldl :: offset: 0x5, out: 0x2bd6aa0000000000
+ldl :: offset: 0x6, out: 0xd6aa000000000000
+ldl :: offset: 0x7, out: 0xaa00000000000000
+ldl :: offset: 0x8, out: 0x7e876382d2ab13
+ldl :: offset: 0x9, out: 0x7e876382d2ab1300
+ldl :: offset: 0xa, out: 0x876382d2ab130000
+ldl :: offset: 0xb, out: 0x6382d2ab13000000
+ldl :: offset: 0xc, out: 0x82d2ab1300000000
+ldl :: offset: 0xd, out: 0xd2ab130000000000
+ldl :: offset: 0xe, out: 0xab13000000000000
+ldl :: offset: 0xf, out: 0x1300000000000000
+ldl :: offset: 0x10, out: 0x976d6e9ac31510f3
+ldl :: offset: 0x11, out: 0x6d6e9ac31510f300
+ldl :: offset: 0x12, out: 0x6e9ac31510f30000
+ldl :: offset: 0x13, out: 0x9ac31510f3000000
+ldl :: offset: 0x14, out: 0xc31510f300000000
+ldl :: offset: 0x15, out: 0x1510f30000000000
+ldl :: offset: 0x16, out: 0x10f3000000000000
+ldl :: offset: 0x17, out: 0xf300000000000000
+ldl :: offset: 0x18, out: 0xb7746d775ad6a5fb
+ldl :: offset: 0x19, out: 0x746d775ad6a5fb00
+ldl :: offset: 0x1a, out: 0x6d775ad6a5fb0000
+ldl :: offset: 0x1b, out: 0x775ad6a5fb000000
+ldl :: offset: 0x1c, out: 0x5ad6a5fb00000000
+ldl :: offset: 0x1d, out: 0xd6a5fb0000000000
+ldl :: offset: 0x1e, out: 0xa5fb000000000000
+ldl :: offset: 0x1f, out: 0xfb00000000000000
+ldl :: offset: 0x20, out: 0x42b0c0a28677b502
+ldl :: offset: 0x21, out: 0xb0c0a28677b50200
+ldl :: offset: 0x22, out: 0xc0a28677b5020000
+ldl :: offset: 0x23, out: 0xa28677b502000000
+ldl :: offset: 0x24, out: 0x8677b50200000000
+ldl :: offset: 0x25, out: 0x77b5020000000000
+ldl :: offset: 0x26, out: 0xb502000000000000
+ldl :: offset: 0x27, out: 0x200000000000000
+ldl :: offset: 0x28, out: 0x2aa89d319e3c30ad
+ldl :: offset: 0x29, out: 0xa89d319e3c30ad00
+ldl :: offset: 0x2a, out: 0x9d319e3c30ad0000
+ldl :: offset: 0x2b, out: 0x319e3c30ad000000
+ldl :: offset: 0x2c, out: 0x9e3c30ad00000000
+ldl :: offset: 0x2d, out: 0x3c30ad0000000000
+ldl :: offset: 0x2e, out: 0x30ad000000000000
+ldl :: offset: 0x2f, out: 0xad00000000000000
+ldl :: offset: 0x30, out: 0x1f308ec377fb413d
+ldl :: offset: 0x31, out: 0x308ec377fb413d00
+ldl :: offset: 0x32, out: 0x8ec377fb413d0000
+ldl :: offset: 0x33, out: 0xc377fb413d000000
+ldl :: offset: 0x34, out: 0x77fb413d00000000
+ldl :: offset: 0x35, out: 0xfb413d0000000000
+ldl :: offset: 0x36, out: 0x413d000000000000
+ldl :: offset: 0x37, out: 0x3d00000000000000
+ldl :: offset: 0x38, out: 0x7aa04213c760e4f7
+ldl :: offset: 0x39, out: 0xa04213c760e4f700
+ldl :: offset: 0x3a, out: 0x4213c760e4f70000
+ldl :: offset: 0x3b, out: 0x13c760e4f7000000
+ldl :: offset: 0x3c, out: 0xc760e4f700000000
+ldl :: offset: 0x3d, out: 0x60e4f70000000000
+ldl :: offset: 0x3e, out: 0xe4f7000000000000
+ldl :: offset: 0x3f, out: 0xf700000000000000
+ldl :: offset: 0x40, out: 0x9e705cc51ad8dca0
+ldl :: offset: 0x41, out: 0x705cc51ad8dca000
+ldl :: offset: 0x42, out: 0x5cc51ad8dca00000
+ldl :: offset: 0x43, out: 0xc51ad8dca0000000
+ldl :: offset: 0x44, out: 0x1ad8dca000000000
+ldl :: offset: 0x45, out: 0xd8dca00000000000
+ldl :: offset: 0x46, out: 0xdca0000000000000
+ldl :: offset: 0x47, out: 0xa000000000000000
+ldl :: offset: 0x48, out: 0x4b3dda869615a60d
+ldl :: offset: 0x49, out: 0x3dda869615a60d00
+ldl :: offset: 0x4a, out: 0xda869615a60d0000
+ldl :: offset: 0x4b, out: 0x869615a60d000000
+ldl :: offset: 0x4c, out: 0x9615a60d00000000
+ldl :: offset: 0x4d, out: 0x15a60d0000000000
+ldl :: offset: 0x4e, out: 0xa60d000000000000
+ldl :: offset: 0x4f, out: 0xd00000000000000
+ldl :: offset: 0x50, out: 0x5e7a4dd6353d41d
+ldl :: offset: 0x51, out: 0xe7a4dd6353d41d00
+ldl :: offset: 0x52, out: 0xa4dd6353d41d0000
+ldl :: offset: 0x53, out: 0xdd6353d41d000000
+ldl :: offset: 0x54, out: 0x6353d41d00000000
+ldl :: offset: 0x55, out: 0x53d41d0000000000
+ldl :: offset: 0x56, out: 0xd41d000000000000
+ldl :: offset: 0x57, out: 0x1d00000000000000
+ldl :: offset: 0x58, out: 0x3af35a9dc40bd413
+ldl :: offset: 0x59, out: 0xf35a9dc40bd41300
+ldl :: offset: 0x5a, out: 0x5a9dc40bd4130000
+ldl :: offset: 0x5b, out: 0x9dc40bd413000000
+ldl :: offset: 0x5c, out: 0xc40bd41300000000
+ldl :: offset: 0x5d, out: 0xbd4130000000000
+ldl :: offset: 0x5e, out: 0xd413000000000000
+ldl :: offset: 0x5f, out: 0x1300000000000000
+ldl :: offset: 0x60, out: 0x47f505569a08a180
+ldl :: offset: 0x61, out: 0xf505569a08a18000
+ldl :: offset: 0x62, out: 0x5569a08a1800000
+ldl :: offset: 0x63, out: 0x569a08a180000000
+ldl :: offset: 0x64, out: 0x9a08a18000000000
+ldl :: offset: 0x65, out: 0x8a1800000000000
+ldl :: offset: 0x66, out: 0xa180000000000000
+ldl :: offset: 0x67, out: 0x8000000000000000
+ldl :: offset: 0x68, out: 0x9564b77fd6d2040f
+ldl :: offset: 0x69, out: 0x64b77fd6d2040f00
+ldl :: offset: 0x6a, out: 0xb77fd6d2040f0000
+ldl :: offset: 0x6b, out: 0x7fd6d2040f000000
+ldl :: offset: 0x6c, out: 0xd6d2040f00000000
+ldl :: offset: 0x6d, out: 0xd2040f0000000000
+ldl :: offset: 0x6e, out: 0x40f000000000000
+ldl :: offset: 0x6f, out: 0xf00000000000000
+ldl :: offset: 0x70, out: 0xcebc8279b2c76bbe
+ldl :: offset: 0x71, out: 0xbc8279b2c76bbe00
+ldl :: offset: 0x72, out: 0x8279b2c76bbe0000
+ldl :: offset: 0x73, out: 0x79b2c76bbe000000
+ldl :: offset: 0x74, out: 0xb2c76bbe00000000
+ldl :: offset: 0x75, out: 0xc76bbe0000000000
+ldl :: offset: 0x76, out: 0x6bbe000000000000
+ldl :: offset: 0x77, out: 0xbe00000000000000
+ldl :: offset: 0x78, out: 0xb5034c2f1f18e4c7
+ldl :: offset: 0x79, out: 0x34c2f1f18e4c700
+ldl :: offset: 0x7a, out: 0x4c2f1f18e4c70000
+ldl :: offset: 0x7b, out: 0x2f1f18e4c7000000
+ldl :: offset: 0x7c, out: 0x1f18e4c700000000
+ldl :: offset: 0x7d, out: 0x18e4c70000000000
+ldl :: offset: 0x7e, out: 0xe4c7000000000000
+ldl :: offset: 0x7f, out: 0xc700000000000000
+ldl :: offset: 0x80, out: 0x94ff52fc81afa797
+ldl :: offset: 0x81, out: 0xff52fc81afa79700
+ldl :: offset: 0x82, out: 0x52fc81afa7970000
+ldl :: offset: 0x83, out: 0xfc81afa797000000
+ldl :: offset: 0x84, out: 0x81afa79700000000
+ldl :: offset: 0x85, out: 0xafa7970000000000
+ldl :: offset: 0x86, out: 0xa797000000000000
+ldl :: offset: 0x87, out: 0x9700000000000000
+ldl :: offset: 0x88, out: 0x31d8d9166dfc50ea
+ldl :: offset: 0x89, out: 0xd8d9166dfc50ea00
+ldl :: offset: 0x8a, out: 0xd9166dfc50ea0000
+ldl :: offset: 0x8b, out: 0x166dfc50ea000000
+ldl :: offset: 0x8c, out: 0x6dfc50ea00000000
+ldl :: offset: 0x8d, out: 0xfc50ea0000000000
+ldl :: offset: 0x8e, out: 0x50ea000000000000
+ldl :: offset: 0x8f, out: 0xea00000000000000
+ldl :: offset: 0x90, out: 0x36549bd678e895b1
+ldl :: offset: 0x91, out: 0x549bd678e895b100
+ldl :: offset: 0x92, out: 0x9bd678e895b10000
+ldl :: offset: 0x93, out: 0xd678e895b1000000
+ldl :: offset: 0x94, out: 0x78e895b100000000
+ldl :: offset: 0x95, out: 0xe895b10000000000
+ldl :: offset: 0x96, out: 0x95b1000000000000
+ldl :: offset: 0x97, out: 0xb100000000000000
+ldl :: offset: 0x98, out: 0x85e0a6319b63259b
+ldl :: offset: 0x99, out: 0xe0a6319b63259b00
+ldl :: offset: 0x9a, out: 0xa6319b63259b0000
+ldl :: offset: 0x9b, out: 0x319b63259b000000
+ldl :: offset: 0x9c, out: 0x9b63259b00000000
+ldl :: offset: 0x9d, out: 0x63259b0000000000
+ldl :: offset: 0x9e, out: 0x259b000000000000
+ldl :: offset: 0x9f, out: 0x9b00000000000000
+ldl :: offset: 0xa0, out: 0x556b3ecaccf17ac5
+ldl :: offset: 0xa1, out: 0x6b3ecaccf17ac500
+ldl :: offset: 0xa2, out: 0x3ecaccf17ac50000
+ldl :: offset: 0xa3, out: 0xcaccf17ac5000000
+ldl :: offset: 0xa4, out: 0xccf17ac500000000
+ldl :: offset: 0xa5, out: 0xf17ac50000000000
+ldl :: offset: 0xa6, out: 0x7ac5000000000000
+ldl :: offset: 0xa7, out: 0xc500000000000000
+ldl :: offset: 0xa8, out: 0xb42f5fc581eea0fb
+ldl :: offset: 0xa9, out: 0x2f5fc581eea0fb00
+ldl :: offset: 0xaa, out: 0x5fc581eea0fb0000
+ldl :: offset: 0xab, out: 0xc581eea0fb000000
+ldl :: offset: 0xac, out: 0x81eea0fb00000000
+ldl :: offset: 0xad, out: 0xeea0fb0000000000
+ldl :: offset: 0xae, out: 0xa0fb000000000000
+ldl :: offset: 0xaf, out: 0xfb00000000000000
+ldl :: offset: 0xb0, out: 0x25b50fec14682d97
+ldl :: offset: 0xb1, out: 0xb50fec14682d9700
+ldl :: offset: 0xb2, out: 0xfec14682d970000
+ldl :: offset: 0xb3, out: 0xec14682d97000000
+ldl :: offset: 0xb4, out: 0x14682d9700000000
+ldl :: offset: 0xb5, out: 0x682d970000000000
+ldl :: offset: 0xb6, out: 0x2d97000000000000
+ldl :: offset: 0xb7, out: 0x9700000000000000
+ldl :: offset: 0xb8, out: 0xfc93c5132cfb087a
+ldl :: offset: 0xb9, out: 0x93c5132cfb087a00
+ldl :: offset: 0xba, out: 0xc5132cfb087a0000
+ldl :: offset: 0xbb, out: 0x132cfb087a000000
+ldl :: offset: 0xbc, out: 0x2cfb087a00000000
+ldl :: offset: 0xbd, out: 0xfb087a0000000000
+ldl :: offset: 0xbe, out: 0x87a000000000000
+ldl :: offset: 0xbf, out: 0x7a00000000000000
+ldl :: offset: 0xc0, out: 0x3c2cd9a9cda20766
+ldl :: offset: 0xc1, out: 0x2cd9a9cda2076600
+ldl :: offset: 0xc2, out: 0xd9a9cda207660000
+ldl :: offset: 0xc3, out: 0xa9cda20766000000
+ldl :: offset: 0xc4, out: 0xcda2076600000000
+ldl :: offset: 0xc5, out: 0xa207660000000000
+ldl :: offset: 0xc6, out: 0x766000000000000
+ldl :: offset: 0xc7, out: 0x6600000000000000
+ldl :: offset: 0xc8, out: 0x1791722a7d72da3e
+ldl :: offset: 0xc9, out: 0x91722a7d72da3e00
+ldl :: offset: 0xca, out: 0x722a7d72da3e0000
+ldl :: offset: 0xcb, out: 0x2a7d72da3e000000
+ldl :: offset: 0xcc, out: 0x7d72da3e00000000
+ldl :: offset: 0xcd, out: 0x72da3e0000000000
+ldl :: offset: 0xce, out: 0xda3e000000000000
+ldl :: offset: 0xcf, out: 0x3e00000000000000
+ldl :: offset: 0xd0, out: 0x87cc9d193ce24ad
+ldl :: offset: 0xd1, out: 0x7cc9d193ce24ad00
+ldl :: offset: 0xd2, out: 0xc9d193ce24ad0000
+ldl :: offset: 0xd3, out: 0xd193ce24ad000000
+ldl :: offset: 0xd4, out: 0x93ce24ad00000000
+ldl :: offset: 0xd5, out: 0xce24ad0000000000
+ldl :: offset: 0xd6, out: 0x24ad000000000000
+ldl :: offset: 0xd7, out: 0xad00000000000000
+ldl :: offset: 0xd8, out: 0x1d2a757038984ed2
+ldl :: offset: 0xd9, out: 0x2a757038984ed200
+ldl :: offset: 0xda, out: 0x757038984ed20000
+ldl :: offset: 0xdb, out: 0x7038984ed2000000
+ldl :: offset: 0xdc, out: 0x38984ed200000000
+ldl :: offset: 0xdd, out: 0x984ed20000000000
+ldl :: offset: 0xde, out: 0x4ed2000000000000
+ldl :: offset: 0xdf, out: 0xd200000000000000
+ldl :: offset: 0xe0, out: 0xd0d070db710cd036
+ldl :: offset: 0xe1, out: 0xd070db710cd03600
+ldl :: offset: 0xe2, out: 0x70db710cd0360000
+ldl :: offset: 0xe3, out: 0xdb710cd036000000
+ldl :: offset: 0xe4, out: 0x710cd03600000000
+ldl :: offset: 0xe5, out: 0xcd0360000000000
+ldl :: offset: 0xe6, out: 0xd036000000000000
+ldl :: offset: 0xe7, out: 0x3600000000000000
+ldl :: offset: 0xe8, out: 0x39c21c7d03415604
+ldl :: offset: 0xe9, out: 0xc21c7d0341560400
+ldl :: offset: 0xea, out: 0x1c7d034156040000
+ldl :: offset: 0xeb, out: 0x7d03415604000000
+ldl :: offset: 0xec, out: 0x341560400000000
+ldl :: offset: 0xed, out: 0x4156040000000000
+ldl :: offset: 0xee, out: 0x5604000000000000
+ldl :: offset: 0xef, out: 0x400000000000000
+ldl :: offset: 0xf0, out: 0x8e94b7af8ecc31ce
+ldl :: offset: 0xf1, out: 0x94b7af8ecc31ce00
+ldl :: offset: 0xf2, out: 0xb7af8ecc31ce0000
+ldl :: offset: 0xf3, out: 0xaf8ecc31ce000000
+ldl :: offset: 0xf4, out: 0x8ecc31ce00000000
+ldl :: offset: 0xf5, out: 0xcc31ce0000000000
+ldl :: offset: 0xf6, out: 0x31ce000000000000
+ldl :: offset: 0xf7, out: 0xce00000000000000
+ldl :: offset: 0xf8, out: 0x24eb6a8d1ce7674f
+ldl :: offset: 0xf9, out: 0xeb6a8d1ce7674f00
+ldl :: offset: 0xfa, out: 0x6a8d1ce7674f0000
+ldl :: offset: 0xfb, out: 0x8d1ce7674f000000
+ldl :: offset: 0xfc, out: 0x1ce7674f00000000
+ldl :: offset: 0xfd, out: 0xe7674f0000000000
+ldl :: offset: 0xfe, out: 0x674f000000000000
+ldl :: offset: 0xff, out: 0x4f00000000000000
+ldl :: offset: 0x100, out: 0x2f39454412d6e4a7
+ldl :: offset: 0x101, out: 0x39454412d6e4a700
+ldl :: offset: 0x102, out: 0x454412d6e4a70000
+ldl :: offset: 0x103, out: 0x4412d6e4a7000000
+ldl :: offset: 0x104, out: 0x12d6e4a700000000
+ldl :: offset: 0x105, out: 0xd6e4a70000000000
+ldl :: offset: 0x106, out: 0xe4a7000000000000
+ldl :: offset: 0x107, out: 0xa700000000000000
+ldl :: offset: 0x108, out: 0x2608c2b756da4c54
+ldl :: offset: 0x109, out: 0x8c2b756da4c5400
+ldl :: offset: 0x10a, out: 0xc2b756da4c540000
+ldl :: offset: 0x10b, out: 0xb756da4c54000000
+ldl :: offset: 0x10c, out: 0x56da4c5400000000
+ldl :: offset: 0x10d, out: 0xda4c540000000000
+ldl :: offset: 0x10e, out: 0x4c54000000000000
+ldl :: offset: 0x10f, out: 0x5400000000000000
+ldl :: offset: 0x110, out: 0x900102dac8d7252f
+ldl :: offset: 0x111, out: 0x102dac8d7252f00
+ldl :: offset: 0x112, out: 0x2dac8d7252f0000
+ldl :: offset: 0x113, out: 0xdac8d7252f000000
+ldl :: offset: 0x114, out: 0xc8d7252f00000000
+ldl :: offset: 0x115, out: 0xd7252f0000000000
+ldl :: offset: 0x116, out: 0x252f000000000000
+ldl :: offset: 0x117, out: 0x2f00000000000000
+ldl :: offset: 0x118, out: 0xc890d5f1f2efa4f7
+ldl :: offset: 0x119, out: 0x90d5f1f2efa4f700
+ldl :: offset: 0x11a, out: 0xd5f1f2efa4f70000
+ldl :: offset: 0x11b, out: 0xf1f2efa4f7000000
+ldl :: offset: 0x11c, out: 0xf2efa4f700000000
+ldl :: offset: 0x11d, out: 0xefa4f70000000000
+ldl :: offset: 0x11e, out: 0xa4f7000000000000
+ldl :: offset: 0x11f, out: 0xf700000000000000
+ldl :: offset: 0x120, out: 0xed5005cbc8b0a214
+ldl :: offset: 0x121, out: 0x5005cbc8b0a21400
+ldl :: offset: 0x122, out: 0x5cbc8b0a2140000
+ldl :: offset: 0x123, out: 0xcbc8b0a214000000
+ldl :: offset: 0x124, out: 0xc8b0a21400000000
+ldl :: offset: 0x125, out: 0xb0a2140000000000
+ldl :: offset: 0x126, out: 0xa214000000000000
+ldl :: offset: 0x127, out: 0x1400000000000000
+ldl :: offset: 0x128, out: 0x314791895991136c
+ldl :: offset: 0x129, out: 0x4791895991136c00
+ldl :: offset: 0x12a, out: 0x91895991136c0000
+ldl :: offset: 0x12b, out: 0x895991136c000000
+ldl :: offset: 0x12c, out: 0x5991136c00000000
+ldl :: offset: 0x12d, out: 0x91136c0000000000
+ldl :: offset: 0x12e, out: 0x136c000000000000
+ldl :: offset: 0x12f, out: 0x6c00000000000000
+ldl :: offset: 0x130, out: 0xc6eecff99a2fb6f3
+ldl :: offset: 0x131, out: 0xeecff99a2fb6f300
+ldl :: offset: 0x132, out: 0xcff99a2fb6f30000
+ldl :: offset: 0x133, out: 0xf99a2fb6f3000000
+ldl :: offset: 0x134, out: 0x9a2fb6f300000000
+ldl :: offset: 0x135, out: 0x2fb6f30000000000
+ldl :: offset: 0x136, out: 0xb6f3000000000000
+ldl :: offset: 0x137, out: 0xf300000000000000
+ldl :: offset: 0x138, out: 0xa809521238895270
+ldl :: offset: 0x139, out: 0x952123889527000
+ldl :: offset: 0x13a, out: 0x5212388952700000
+ldl :: offset: 0x13b, out: 0x1238895270000000
+ldl :: offset: 0x13c, out: 0x3889527000000000
+ldl :: offset: 0x13d, out: 0x8952700000000000
+ldl :: offset: 0x13e, out: 0x5270000000000000
+ldl :: offset: 0x13f, out: 0x7000000000000000
+ldl :: offset: 0x140, out: 0x87750a04ad765040
+ldl :: offset: 0x141, out: 0x750a04ad76504000
+ldl :: offset: 0x142, out: 0xa04ad7650400000
+ldl :: offset: 0x143, out: 0x4ad765040000000
+ldl :: offset: 0x144, out: 0xad76504000000000
+ldl :: offset: 0x145, out: 0x7650400000000000
+ldl :: offset: 0x146, out: 0x5040000000000000
+ldl :: offset: 0x147, out: 0x4000000000000000
+ldl :: offset: 0x148, out: 0x2c3de85e84bb5a83
+ldl :: offset: 0x149, out: 0x3de85e84bb5a8300
+ldl :: offset: 0x14a, out: 0xe85e84bb5a830000
+ldl :: offset: 0x14b, out: 0x5e84bb5a83000000
+ldl :: offset: 0x14c, out: 0x84bb5a8300000000
+ldl :: offset: 0x14d, out: 0xbb5a830000000000
+ldl :: offset: 0x14e, out: 0x5a83000000000000
+ldl :: offset: 0x14f, out: 0x8300000000000000
+ldl :: offset: 0x150, out: 0xae6aff8fc506aa67
+ldl :: offset: 0x151, out: 0x6aff8fc506aa6700
+ldl :: offset: 0x152, out: 0xff8fc506aa670000
+ldl :: offset: 0x153, out: 0x8fc506aa67000000
+ldl :: offset: 0x154, out: 0xc506aa6700000000
+ldl :: offset: 0x155, out: 0x6aa670000000000
+ldl :: offset: 0x156, out: 0xaa67000000000000
+ldl :: offset: 0x157, out: 0x6700000000000000
+ldl :: offset: 0x158, out: 0xc07112dd60ed5ee3
+ldl :: offset: 0x159, out: 0x7112dd60ed5ee300
+ldl :: offset: 0x15a, out: 0x12dd60ed5ee30000
+ldl :: offset: 0x15b, out: 0xdd60ed5ee3000000
+ldl :: offset: 0x15c, out: 0x60ed5ee300000000
+ldl :: offset: 0x15d, out: 0xed5ee30000000000
+ldl :: offset: 0x15e, out: 0x5ee3000000000000
+ldl :: offset: 0x15f, out: 0xe300000000000000
+ldl :: offset: 0x160, out: 0xc4c770f630dcca5a
+ldl :: offset: 0x161, out: 0xc770f630dcca5a00
+ldl :: offset: 0x162, out: 0x70f630dcca5a0000
+ldl :: offset: 0x163, out: 0xf630dcca5a000000
+ldl :: offset: 0x164, out: 0x30dcca5a00000000
+ldl :: offset: 0x165, out: 0xdcca5a0000000000
+ldl :: offset: 0x166, out: 0xca5a000000000000
+ldl :: offset: 0x167, out: 0x5a00000000000000
+ldl :: offset: 0x168, out: 0xdfec2b2383cd5277
+ldl :: offset: 0x169, out: 0xec2b2383cd527700
+ldl :: offset: 0x16a, out: 0x2b2383cd52770000
+ldl :: offset: 0x16b, out: 0x2383cd5277000000
+ldl :: offset: 0x16c, out: 0x83cd527700000000
+ldl :: offset: 0x16d, out: 0xcd52770000000000
+ldl :: offset: 0x16e, out: 0x5277000000000000
+ldl :: offset: 0x16f, out: 0x7700000000000000
+ldl :: offset: 0x170, out: 0xd3adba260ff7d96b
+ldl :: offset: 0x171, out: 0xadba260ff7d96b00
+ldl :: offset: 0x172, out: 0xba260ff7d96b0000
+ldl :: offset: 0x173, out: 0x260ff7d96b000000
+ldl :: offset: 0x174, out: 0xff7d96b00000000
+ldl :: offset: 0x175, out: 0xf7d96b0000000000
+ldl :: offset: 0x176, out: 0xd96b000000000000
+ldl :: offset: 0x177, out: 0x6b00000000000000
+ldl :: offset: 0x178, out: 0x4ab4aa798418c00e
+ldl :: offset: 0x179, out: 0xb4aa798418c00e00
+ldl :: offset: 0x17a, out: 0xaa798418c00e0000
+ldl :: offset: 0x17b, out: 0x798418c00e000000
+ldl :: offset: 0x17c, out: 0x8418c00e00000000
+ldl :: offset: 0x17d, out: 0x18c00e0000000000
+ldl :: offset: 0x17e, out: 0xc00e000000000000
+ldl :: offset: 0x17f, out: 0xe00000000000000
+ldl :: offset: 0x180, out: 0xbb8c035e0de0f0b8
+ldl :: offset: 0x181, out: 0x8c035e0de0f0b800
+ldl :: offset: 0x182, out: 0x35e0de0f0b80000
+ldl :: offset: 0x183, out: 0x5e0de0f0b8000000
+ldl :: offset: 0x184, out: 0xde0f0b800000000
+ldl :: offset: 0x185, out: 0xe0f0b80000000000
+ldl :: offset: 0x186, out: 0xf0b8000000000000
+ldl :: offset: 0x187, out: 0xb800000000000000
+ldl :: offset: 0x188, out: 0x33b06f54a97fdcf1
+ldl :: offset: 0x189, out: 0xb06f54a97fdcf100
+ldl :: offset: 0x18a, out: 0x6f54a97fdcf10000
+ldl :: offset: 0x18b, out: 0x54a97fdcf1000000
+ldl :: offset: 0x18c, out: 0xa97fdcf100000000
+ldl :: offset: 0x18d, out: 0x7fdcf10000000000
+ldl :: offset: 0x18e, out: 0xdcf1000000000000
+ldl :: offset: 0x18f, out: 0xf100000000000000
+ldl :: offset: 0x190, out: 0x77433f373fd1c081
+ldl :: offset: 0x191, out: 0x433f373fd1c08100
+ldl :: offset: 0x192, out: 0x3f373fd1c0810000
+ldl :: offset: 0x193, out: 0x373fd1c081000000
+ldl :: offset: 0x194, out: 0x3fd1c08100000000
+ldl :: offset: 0x195, out: 0xd1c0810000000000
+ldl :: offset: 0x196, out: 0xc081000000000000
+ldl :: offset: 0x197, out: 0x8100000000000000
+ldl :: offset: 0x198, out: 0xec91d993c92195e4
+ldl :: offset: 0x199, out: 0x91d993c92195e400
+ldl :: offset: 0x19a, out: 0xd993c92195e40000
+ldl :: offset: 0x19b, out: 0x93c92195e4000000
+ldl :: offset: 0x19c, out: 0xc92195e400000000
+ldl :: offset: 0x19d, out: 0x2195e40000000000
+ldl :: offset: 0x19e, out: 0x95e4000000000000
+ldl :: offset: 0x19f, out: 0xe400000000000000
+ldl :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab
+ldl :: offset: 0x1a1, out: 0xfbf6a795b1a5ab00
+ldl :: offset: 0x1a2, out: 0xf6a795b1a5ab0000
+ldl :: offset: 0x1a3, out: 0xa795b1a5ab000000
+ldl :: offset: 0x1a4, out: 0x95b1a5ab00000000
+ldl :: offset: 0x1a5, out: 0xb1a5ab0000000000
+ldl :: offset: 0x1a6, out: 0xa5ab000000000000
+ldl :: offset: 0x1a7, out: 0xab00000000000000
+ldl :: offset: 0x1a8, out: 0x19364378c7ce8d1e
+ldl :: offset: 0x1a9, out: 0x364378c7ce8d1e00
+ldl :: offset: 0x1aa, out: 0x4378c7ce8d1e0000
+ldl :: offset: 0x1ab, out: 0x78c7ce8d1e000000
+ldl :: offset: 0x1ac, out: 0xc7ce8d1e00000000
+ldl :: offset: 0x1ad, out: 0xce8d1e0000000000
+ldl :: offset: 0x1ae, out: 0x8d1e000000000000
+ldl :: offset: 0x1af, out: 0x1e00000000000000
+ldl :: offset: 0x1b0, out: 0xb99e8def2f384907
+ldl :: offset: 0x1b1, out: 0x9e8def2f38490700
+ldl :: offset: 0x1b2, out: 0x8def2f3849070000
+ldl :: offset: 0x1b3, out: 0xef2f384907000000
+ldl :: offset: 0x1b4, out: 0x2f38490700000000
+ldl :: offset: 0x1b5, out: 0x3849070000000000
+ldl :: offset: 0x1b6, out: 0x4907000000000000
+ldl :: offset: 0x1b7, out: 0x700000000000000
+ldl :: offset: 0x1b8, out: 0x47eacdcd582b12fe
+ldl :: offset: 0x1b9, out: 0xeacdcd582b12fe00
+ldl :: offset: 0x1ba, out: 0xcdcd582b12fe0000
+ldl :: offset: 0x1bb, out: 0xcd582b12fe000000
+ldl :: offset: 0x1bc, out: 0x582b12fe00000000
+ldl :: offset: 0x1bd, out: 0x2b12fe0000000000
+ldl :: offset: 0x1be, out: 0x12fe000000000000
+ldl :: offset: 0x1bf, out: 0xfe00000000000000
+ldl :: offset: 0x1c0, out: 0xd685884e76558c4f
+ldl :: offset: 0x1c1, out: 0x85884e76558c4f00
+ldl :: offset: 0x1c2, out: 0x884e76558c4f0000
+ldl :: offset: 0x1c3, out: 0x4e76558c4f000000
+ldl :: offset: 0x1c4, out: 0x76558c4f00000000
+ldl :: offset: 0x1c5, out: 0x558c4f0000000000
+ldl :: offset: 0x1c6, out: 0x8c4f000000000000
+ldl :: offset: 0x1c7, out: 0x4f00000000000000
+ldl :: offset: 0x1c8, out: 0x6168d62a34c195c7
+ldl :: offset: 0x1c9, out: 0x68d62a34c195c700
+ldl :: offset: 0x1ca, out: 0xd62a34c195c70000
+ldl :: offset: 0x1cb, out: 0x2a34c195c7000000
+ldl :: offset: 0x1cc, out: 0x34c195c700000000
+ldl :: offset: 0x1cd, out: 0xc195c70000000000
+ldl :: offset: 0x1ce, out: 0x95c7000000000000
+ldl :: offset: 0x1cf, out: 0xc700000000000000
+ldl :: offset: 0x1d0, out: 0xd30169894df47405
+ldl :: offset: 0x1d1, out: 0x169894df4740500
+ldl :: offset: 0x1d2, out: 0x69894df474050000
+ldl :: offset: 0x1d3, out: 0x894df47405000000
+ldl :: offset: 0x1d4, out: 0x4df4740500000000
+ldl :: offset: 0x1d5, out: 0xf474050000000000
+ldl :: offset: 0x1d6, out: 0x7405000000000000
+ldl :: offset: 0x1d7, out: 0x500000000000000
+ldl :: offset: 0x1d8, out: 0x1ca190bf6cbb06db
+ldl :: offset: 0x1d9, out: 0xa190bf6cbb06db00
+ldl :: offset: 0x1da, out: 0x90bf6cbb06db0000
+ldl :: offset: 0x1db, out: 0xbf6cbb06db000000
+ldl :: offset: 0x1dc, out: 0x6cbb06db00000000
+ldl :: offset: 0x1dd, out: 0xbb06db0000000000
+ldl :: offset: 0x1de, out: 0x6db000000000000
+ldl :: offset: 0x1df, out: 0xdb00000000000000
+ldl :: offset: 0x1e0, out: 0x58300f029cae393a
+ldl :: offset: 0x1e1, out: 0x300f029cae393a00
+ldl :: offset: 0x1e2, out: 0xf029cae393a0000
+ldl :: offset: 0x1e3, out: 0x29cae393a000000
+ldl :: offset: 0x1e4, out: 0x9cae393a00000000
+ldl :: offset: 0x1e5, out: 0xae393a0000000000
+ldl :: offset: 0x1e6, out: 0x393a000000000000
+ldl :: offset: 0x1e7, out: 0x3a00000000000000
+ldl :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d
+ldl :: offset: 0x1e9, out: 0x995fdbdc7ebc2d00
+ldl :: offset: 0x1ea, out: 0x5fdbdc7ebc2d0000
+ldl :: offset: 0x1eb, out: 0xdbdc7ebc2d000000
+ldl :: offset: 0x1ec, out: 0xdc7ebc2d00000000
+ldl :: offset: 0x1ed, out: 0x7ebc2d0000000000
+ldl :: offset: 0x1ee, out: 0xbc2d000000000000
+ldl :: offset: 0x1ef, out: 0x2d00000000000000
+ldl :: offset: 0x1f0, out: 0x8a96047be3405b48
+ldl :: offset: 0x1f1, out: 0x96047be3405b4800
+ldl :: offset: 0x1f2, out: 0x47be3405b480000
+ldl :: offset: 0x1f3, out: 0x7be3405b48000000
+ldl :: offset: 0x1f4, out: 0xe3405b4800000000
+ldl :: offset: 0x1f5, out: 0x405b480000000000
+ldl :: offset: 0x1f6, out: 0x5b48000000000000
+ldl :: offset: 0x1f7, out: 0x4800000000000000
+ldl :: offset: 0x1f8, out: 0x75bfafd2d519d322
+ldl :: offset: 0x1f9, out: 0xbfafd2d519d32200
+ldl :: offset: 0x1fa, out: 0xafd2d519d3220000
+ldl :: offset: 0x1fb, out: 0xd2d519d322000000
+ldl :: offset: 0x1fc, out: 0xd519d32200000000
+ldl :: offset: 0x1fd, out: 0x19d3220000000000
+ldl :: offset: 0x1fe, out: 0xd322000000000000
+ldl :: offset: 0x1ff, out: 0x2200000000000000
+ldl :: offset: 0x200, out: 0xde230867a630f6ad
+ldl :: offset: 0x201, out: 0x230867a630f6ad00
+ldl :: offset: 0x202, out: 0x867a630f6ad0000
+ldl :: offset: 0x203, out: 0x67a630f6ad000000
+ldl :: offset: 0x204, out: 0xa630f6ad00000000
+ldl :: offset: 0x205, out: 0x30f6ad0000000000
+ldl :: offset: 0x206, out: 0xf6ad000000000000
+ldl :: offset: 0x207, out: 0xad00000000000000
+ldl :: offset: 0x208, out: 0x2c0a0cf256103260
+ldl :: offset: 0x209, out: 0xa0cf25610326000
+ldl :: offset: 0x20a, out: 0xcf2561032600000
+ldl :: offset: 0x20b, out: 0xf256103260000000
+ldl :: offset: 0x20c, out: 0x5610326000000000
+ldl :: offset: 0x20d, out: 0x1032600000000000
+ldl :: offset: 0x20e, out: 0x3260000000000000
+ldl :: offset: 0x20f, out: 0x6000000000000000
+ldl :: offset: 0x210, out: 0x94a90544249b18ef
+ldl :: offset: 0x211, out: 0xa90544249b18ef00
+ldl :: offset: 0x212, out: 0x544249b18ef0000
+ldl :: offset: 0x213, out: 0x44249b18ef000000
+ldl :: offset: 0x214, out: 0x249b18ef00000000
+ldl :: offset: 0x215, out: 0x9b18ef0000000000
+ldl :: offset: 0x216, out: 0x18ef000000000000
+ldl :: offset: 0x217, out: 0xef00000000000000
+ldl :: offset: 0x218, out: 0xf9519fb55b56fcde
+ldl :: offset: 0x219, out: 0x519fb55b56fcde00
+ldl :: offset: 0x21a, out: 0x9fb55b56fcde0000
+ldl :: offset: 0x21b, out: 0xb55b56fcde000000
+ldl :: offset: 0x21c, out: 0x5b56fcde00000000
+ldl :: offset: 0x21d, out: 0x56fcde0000000000
+ldl :: offset: 0x21e, out: 0xfcde000000000000
+ldl :: offset: 0x21f, out: 0xde00000000000000
+ldl :: offset: 0x220, out: 0x81daf8200468319b
+ldl :: offset: 0x221, out: 0xdaf8200468319b00
+ldl :: offset: 0x222, out: 0xf8200468319b0000
+ldl :: offset: 0x223, out: 0x200468319b000000
+ldl :: offset: 0x224, out: 0x468319b00000000
+ldl :: offset: 0x225, out: 0x68319b0000000000
+ldl :: offset: 0x226, out: 0x319b000000000000
+ldl :: offset: 0x227, out: 0x9b00000000000000
+ldl :: offset: 0x228, out: 0x8c61ca5a5725f2ec
+ldl :: offset: 0x229, out: 0x61ca5a5725f2ec00
+ldl :: offset: 0x22a, out: 0xca5a5725f2ec0000
+ldl :: offset: 0x22b, out: 0x5a5725f2ec000000
+ldl :: offset: 0x22c, out: 0x5725f2ec00000000
+ldl :: offset: 0x22d, out: 0x25f2ec0000000000
+ldl :: offset: 0x22e, out: 0xf2ec000000000000
+ldl :: offset: 0x22f, out: 0xec00000000000000
+ldl :: offset: 0x230, out: 0x8b95a6ddc25dc8bf
+ldl :: offset: 0x231, out: 0x95a6ddc25dc8bf00
+ldl :: offset: 0x232, out: 0xa6ddc25dc8bf0000
+ldl :: offset: 0x233, out: 0xddc25dc8bf000000
+ldl :: offset: 0x234, out: 0xc25dc8bf00000000
+ldl :: offset: 0x235, out: 0x5dc8bf0000000000
+ldl :: offset: 0x236, out: 0xc8bf000000000000
+ldl :: offset: 0x237, out: 0xbf00000000000000
+ldl :: offset: 0x238, out: 0x300ce751dac6162f
+ldl :: offset: 0x239, out: 0xce751dac6162f00
+ldl :: offset: 0x23a, out: 0xe751dac6162f0000
+ldl :: offset: 0x23b, out: 0x51dac6162f000000
+ldl :: offset: 0x23c, out: 0xdac6162f00000000
+ldl :: offset: 0x23d, out: 0xc6162f0000000000
+ldl :: offset: 0x23e, out: 0x162f000000000000
+ldl :: offset: 0x23f, out: 0x2f00000000000000
+ldl :: offset: 0x240, out: 0x6778fdf3ba52a850
+ldl :: offset: 0x241, out: 0x78fdf3ba52a85000
+ldl :: offset: 0x242, out: 0xfdf3ba52a8500000
+ldl :: offset: 0x243, out: 0xf3ba52a850000000
+ldl :: offset: 0x244, out: 0xba52a85000000000
+ldl :: offset: 0x245, out: 0x52a8500000000000
+ldl :: offset: 0x246, out: 0xa850000000000000
+ldl :: offset: 0x247, out: 0x5000000000000000
+ldl :: offset: 0x248, out: 0xad00b1f7da78479f
+ldl :: offset: 0x249, out: 0xb1f7da78479f00
+ldl :: offset: 0x24a, out: 0xb1f7da78479f0000
+ldl :: offset: 0x24b, out: 0xf7da78479f000000
+ldl :: offset: 0x24c, out: 0xda78479f00000000
+ldl :: offset: 0x24d, out: 0x78479f0000000000
+ldl :: offset: 0x24e, out: 0x479f000000000000
+ldl :: offset: 0x24f, out: 0x9f00000000000000
+ldl :: offset: 0x250, out: 0x8d44168a6b6d98a
+ldl :: offset: 0x251, out: 0xd44168a6b6d98a00
+ldl :: offset: 0x252, out: 0x4168a6b6d98a0000
+ldl :: offset: 0x253, out: 0x68a6b6d98a000000
+ldl :: offset: 0x254, out: 0xa6b6d98a00000000
+ldl :: offset: 0x255, out: 0xb6d98a0000000000
+ldl :: offset: 0x256, out: 0xd98a000000000000
+ldl :: offset: 0x257, out: 0x8a00000000000000
+ldl :: offset: 0x258, out: 0xf518381dce634413
+ldl :: offset: 0x259, out: 0x18381dce63441300
+ldl :: offset: 0x25a, out: 0x381dce6344130000
+ldl :: offset: 0x25b, out: 0x1dce634413000000
+ldl :: offset: 0x25c, out: 0xce63441300000000
+ldl :: offset: 0x25d, out: 0x6344130000000000
+ldl :: offset: 0x25e, out: 0x4413000000000000
+ldl :: offset: 0x25f, out: 0x1300000000000000
+ldl :: offset: 0x260, out: 0xe4627f3fe5255fc0
+ldl :: offset: 0x261, out: 0x627f3fe5255fc000
+ldl :: offset: 0x262, out: 0x7f3fe5255fc00000
+ldl :: offset: 0x263, out: 0x3fe5255fc0000000
+ldl :: offset: 0x264, out: 0xe5255fc000000000
+ldl :: offset: 0x265, out: 0x255fc00000000000
+ldl :: offset: 0x266, out: 0x5fc0000000000000
+ldl :: offset: 0x267, out: 0xc000000000000000
+ldl :: offset: 0x268, out: 0xccd392e176321f28
+ldl :: offset: 0x269, out: 0xd392e176321f2800
+ldl :: offset: 0x26a, out: 0x92e176321f280000
+ldl :: offset: 0x26b, out: 0xe176321f28000000
+ldl :: offset: 0x26c, out: 0x76321f2800000000
+ldl :: offset: 0x26d, out: 0x321f280000000000
+ldl :: offset: 0x26e, out: 0x1f28000000000000
+ldl :: offset: 0x26f, out: 0x2800000000000000
+ldl :: offset: 0x270, out: 0x829464944018fd8f
+ldl :: offset: 0x271, out: 0x9464944018fd8f00
+ldl :: offset: 0x272, out: 0x64944018fd8f0000
+ldl :: offset: 0x273, out: 0x944018fd8f000000
+ldl :: offset: 0x274, out: 0x4018fd8f00000000
+ldl :: offset: 0x275, out: 0x18fd8f0000000000
+ldl :: offset: 0x276, out: 0xfd8f000000000000
+ldl :: offset: 0x277, out: 0x8f00000000000000
+ldl :: offset: 0x278, out: 0x15d3204052e8f0e5
+ldl :: offset: 0x279, out: 0xd3204052e8f0e500
+ldl :: offset: 0x27a, out: 0x204052e8f0e50000
+ldl :: offset: 0x27b, out: 0x4052e8f0e5000000
+ldl :: offset: 0x27c, out: 0x52e8f0e500000000
+ldl :: offset: 0x27d, out: 0xe8f0e50000000000
+ldl :: offset: 0x27e, out: 0xf0e5000000000000
+ldl :: offset: 0x27f, out: 0xe500000000000000
+ldl :: offset: 0x280, out: 0x7caf83d2880ff344
+ldl :: offset: 0x281, out: 0xaf83d2880ff34400
+ldl :: offset: 0x282, out: 0x83d2880ff3440000
+ldl :: offset: 0x283, out: 0xd2880ff344000000
+ldl :: offset: 0x284, out: 0x880ff34400000000
+ldl :: offset: 0x285, out: 0xff3440000000000
+ldl :: offset: 0x286, out: 0xf344000000000000
+ldl :: offset: 0x287, out: 0x4400000000000000
+ldl :: offset: 0x288, out: 0xf156a04c747defd7
+ldl :: offset: 0x289, out: 0x56a04c747defd700
+ldl :: offset: 0x28a, out: 0xa04c747defd70000
+ldl :: offset: 0x28b, out: 0x4c747defd7000000
+ldl :: offset: 0x28c, out: 0x747defd700000000
+ldl :: offset: 0x28d, out: 0x7defd70000000000
+ldl :: offset: 0x28e, out: 0xefd7000000000000
+ldl :: offset: 0x28f, out: 0xd700000000000000
+ldl :: offset: 0x290, out: 0x93e2601c0f31d710
+ldl :: offset: 0x291, out: 0xe2601c0f31d71000
+ldl :: offset: 0x292, out: 0x601c0f31d7100000
+ldl :: offset: 0x293, out: 0x1c0f31d710000000
+ldl :: offset: 0x294, out: 0xf31d71000000000
+ldl :: offset: 0x295, out: 0x31d7100000000000
+ldl :: offset: 0x296, out: 0xd710000000000000
+ldl :: offset: 0x297, out: 0x1000000000000000
+ldl :: offset: 0x298, out: 0xe1e1a679131cd933
+ldl :: offset: 0x299, out: 0xe1a679131cd93300
+ldl :: offset: 0x29a, out: 0xa679131cd9330000
+ldl :: offset: 0x29b, out: 0x79131cd933000000
+ldl :: offset: 0x29c, out: 0x131cd93300000000
+ldl :: offset: 0x29d, out: 0x1cd9330000000000
+ldl :: offset: 0x29e, out: 0xd933000000000000
+ldl :: offset: 0x29f, out: 0x3300000000000000
+ldl :: offset: 0x2a0, out: 0x24296b75a76fa427
+ldl :: offset: 0x2a1, out: 0x296b75a76fa42700
+ldl :: offset: 0x2a2, out: 0x6b75a76fa4270000
+ldl :: offset: 0x2a3, out: 0x75a76fa427000000
+ldl :: offset: 0x2a4, out: 0xa76fa42700000000
+ldl :: offset: 0x2a5, out: 0x6fa4270000000000
+ldl :: offset: 0x2a6, out: 0xa427000000000000
+ldl :: offset: 0x2a7, out: 0x2700000000000000
+ldl :: offset: 0x2a8, out: 0xd296e2d2139ee56a
+ldl :: offset: 0x2a9, out: 0x96e2d2139ee56a00
+ldl :: offset: 0x2aa, out: 0xe2d2139ee56a0000
+ldl :: offset: 0x2ab, out: 0xd2139ee56a000000
+ldl :: offset: 0x2ac, out: 0x139ee56a00000000
+ldl :: offset: 0x2ad, out: 0x9ee56a0000000000
+ldl :: offset: 0x2ae, out: 0xe56a000000000000
+ldl :: offset: 0x2af, out: 0x6a00000000000000
+ldl :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0
+ldl :: offset: 0x2b1, out: 0x82447f6dc2a5c000
+ldl :: offset: 0x2b2, out: 0x447f6dc2a5c00000
+ldl :: offset: 0x2b3, out: 0x7f6dc2a5c0000000
+ldl :: offset: 0x2b4, out: 0x6dc2a5c000000000
+ldl :: offset: 0x2b5, out: 0xc2a5c00000000000
+ldl :: offset: 0x2b6, out: 0xa5c0000000000000
+ldl :: offset: 0x2b7, out: 0xc000000000000000
+ldl :: offset: 0x2b8, out: 0x76c89e80c07dc168
+ldl :: offset: 0x2b9, out: 0xc89e80c07dc16800
+ldl :: offset: 0x2ba, out: 0x9e80c07dc1680000
+ldl :: offset: 0x2bb, out: 0x80c07dc168000000
+ldl :: offset: 0x2bc, out: 0xc07dc16800000000
+ldl :: offset: 0x2bd, out: 0x7dc1680000000000
+ldl :: offset: 0x2be, out: 0xc168000000000000
+ldl :: offset: 0x2bf, out: 0x6800000000000000
+ldl :: offset: 0x2c0, out: 0x70dc3454bfe348f
+ldl :: offset: 0x2c1, out: 0xdc3454bfe348f00
+ldl :: offset: 0x2c2, out: 0xc3454bfe348f0000
+ldl :: offset: 0x2c3, out: 0x454bfe348f000000
+ldl :: offset: 0x2c4, out: 0x4bfe348f00000000
+ldl :: offset: 0x2c5, out: 0xfe348f0000000000
+ldl :: offset: 0x2c6, out: 0x348f000000000000
+ldl :: offset: 0x2c7, out: 0x8f00000000000000
+ldl :: offset: 0x2c8, out: 0xbddc7123dd6d241b
+ldl :: offset: 0x2c9, out: 0xdc7123dd6d241b00
+ldl :: offset: 0x2ca, out: 0x7123dd6d241b0000
+ldl :: offset: 0x2cb, out: 0x23dd6d241b000000
+ldl :: offset: 0x2cc, out: 0xdd6d241b00000000
+ldl :: offset: 0x2cd, out: 0x6d241b0000000000
+ldl :: offset: 0x2ce, out: 0x241b000000000000
+ldl :: offset: 0x2cf, out: 0x1b00000000000000
+ldl :: offset: 0x2d0, out: 0xf62fb727a59fcebe
+ldl :: offset: 0x2d1, out: 0x2fb727a59fcebe00
+ldl :: offset: 0x2d2, out: 0xb727a59fcebe0000
+ldl :: offset: 0x2d3, out: 0x27a59fcebe000000
+ldl :: offset: 0x2d4, out: 0xa59fcebe00000000
+ldl :: offset: 0x2d5, out: 0x9fcebe0000000000
+ldl :: offset: 0x2d6, out: 0xcebe000000000000
+ldl :: offset: 0x2d7, out: 0xbe00000000000000
+ldl :: offset: 0x2d8, out: 0x109f27e90f9f46fb
+ldl :: offset: 0x2d9, out: 0x9f27e90f9f46fb00
+ldl :: offset: 0x2da, out: 0x27e90f9f46fb0000
+ldl :: offset: 0x2db, out: 0xe90f9f46fb000000
+ldl :: offset: 0x2dc, out: 0xf9f46fb00000000
+ldl :: offset: 0x2dd, out: 0x9f46fb0000000000
+ldl :: offset: 0x2de, out: 0x46fb000000000000
+ldl :: offset: 0x2df, out: 0xfb00000000000000
+ldl :: offset: 0x2e0, out: 0x3f63daa9afd199d7
+ldl :: offset: 0x2e1, out: 0x63daa9afd199d700
+ldl :: offset: 0x2e2, out: 0xdaa9afd199d70000
+ldl :: offset: 0x2e3, out: 0xa9afd199d7000000
+ldl :: offset: 0x2e4, out: 0xafd199d700000000
+ldl :: offset: 0x2e5, out: 0xd199d70000000000
+ldl :: offset: 0x2e6, out: 0x99d7000000000000
+ldl :: offset: 0x2e7, out: 0xd700000000000000
+ldl :: offset: 0x2e8, out: 0xdbcb312ea3d484f2
+ldl :: offset: 0x2e9, out: 0xcb312ea3d484f200
+ldl :: offset: 0x2ea, out: 0x312ea3d484f20000
+ldl :: offset: 0x2eb, out: 0x2ea3d484f2000000
+ldl :: offset: 0x2ec, out: 0xa3d484f200000000
+ldl :: offset: 0x2ed, out: 0xd484f20000000000
+ldl :: offset: 0x2ee, out: 0x84f2000000000000
+ldl :: offset: 0x2ef, out: 0xf200000000000000
+ldl :: offset: 0x2f0, out: 0x1f353faada4fe4c6
+ldl :: offset: 0x2f1, out: 0x353faada4fe4c600
+ldl :: offset: 0x2f2, out: 0x3faada4fe4c60000
+ldl :: offset: 0x2f3, out: 0xaada4fe4c6000000
+ldl :: offset: 0x2f4, out: 0xda4fe4c600000000
+ldl :: offset: 0x2f5, out: 0x4fe4c60000000000
+ldl :: offset: 0x2f6, out: 0xe4c6000000000000
+ldl :: offset: 0x2f7, out: 0xc600000000000000
+ldl :: offset: 0x2f8, out: 0x8b086ee07150c260
+ldl :: offset: 0x2f9, out: 0x86ee07150c26000
+ldl :: offset: 0x2fa, out: 0x6ee07150c2600000
+ldl :: offset: 0x2fb, out: 0xe07150c260000000
+ldl :: offset: 0x2fc, out: 0x7150c26000000000
+ldl :: offset: 0x2fd, out: 0x50c2600000000000
+ldl :: offset: 0x2fe, out: 0xc260000000000000
+ldl :: offset: 0x2ff, out: 0x6000000000000000
+ldl :: offset: 0x300, out: 0xe54750d5d9257f25
+ldl :: offset: 0x301, out: 0x4750d5d9257f2500
+ldl :: offset: 0x302, out: 0x50d5d9257f250000
+ldl :: offset: 0x303, out: 0xd5d9257f25000000
+ldl :: offset: 0x304, out: 0xd9257f2500000000
+ldl :: offset: 0x305, out: 0x257f250000000000
+ldl :: offset: 0x306, out: 0x7f25000000000000
+ldl :: offset: 0x307, out: 0x2500000000000000
+ldl :: offset: 0x308, out: 0x3d69625fe9a6db5b
+ldl :: offset: 0x309, out: 0x69625fe9a6db5b00
+ldl :: offset: 0x30a, out: 0x625fe9a6db5b0000
+ldl :: offset: 0x30b, out: 0x5fe9a6db5b000000
+ldl :: offset: 0x30c, out: 0xe9a6db5b00000000
+ldl :: offset: 0x30d, out: 0xa6db5b0000000000
+ldl :: offset: 0x30e, out: 0xdb5b000000000000
+ldl :: offset: 0x30f, out: 0x5b00000000000000
+ldl :: offset: 0x310, out: 0x70a3e0424340ac96
+ldl :: offset: 0x311, out: 0xa3e0424340ac9600
+ldl :: offset: 0x312, out: 0xe0424340ac960000
+ldl :: offset: 0x313, out: 0x424340ac96000000
+ldl :: offset: 0x314, out: 0x4340ac9600000000
+ldl :: offset: 0x315, out: 0x40ac960000000000
+ldl :: offset: 0x316, out: 0xac96000000000000
+ldl :: offset: 0x317, out: 0x9600000000000000
+ldl :: offset: 0x318, out: 0xc0478f036980171e
+ldl :: offset: 0x319, out: 0x478f036980171e00
+ldl :: offset: 0x31a, out: 0x8f036980171e0000
+ldl :: offset: 0x31b, out: 0x36980171e000000
+ldl :: offset: 0x31c, out: 0x6980171e00000000
+ldl :: offset: 0x31d, out: 0x80171e0000000000
+ldl :: offset: 0x31e, out: 0x171e000000000000
+ldl :: offset: 0x31f, out: 0x1e00000000000000
+ldl :: offset: 0x320, out: 0x3ce839a51cf929e3
+ldl :: offset: 0x321, out: 0xe839a51cf929e300
+ldl :: offset: 0x322, out: 0x39a51cf929e30000
+ldl :: offset: 0x323, out: 0xa51cf929e3000000
+ldl :: offset: 0x324, out: 0x1cf929e300000000
+ldl :: offset: 0x325, out: 0xf929e30000000000
+ldl :: offset: 0x326, out: 0x29e3000000000000
+ldl :: offset: 0x327, out: 0xe300000000000000
+ldl :: offset: 0x328, out: 0xe2fbfa895eb68958
+ldl :: offset: 0x329, out: 0xfbfa895eb6895800
+ldl :: offset: 0x32a, out: 0xfa895eb689580000
+ldl :: offset: 0x32b, out: 0x895eb68958000000
+ldl :: offset: 0x32c, out: 0x5eb6895800000000
+ldl :: offset: 0x32d, out: 0xb689580000000000
+ldl :: offset: 0x32e, out: 0x8958000000000000
+ldl :: offset: 0x32f, out: 0x5800000000000000
+ldl :: offset: 0x330, out: 0xd24bb05d76ed25b7
+ldl :: offset: 0x331, out: 0x4bb05d76ed25b700
+ldl :: offset: 0x332, out: 0xb05d76ed25b70000
+ldl :: offset: 0x333, out: 0x5d76ed25b7000000
+ldl :: offset: 0x334, out: 0x76ed25b700000000
+ldl :: offset: 0x335, out: 0xed25b70000000000
+ldl :: offset: 0x336, out: 0x25b7000000000000
+ldl :: offset: 0x337, out: 0xb700000000000000
+ldl :: offset: 0x338, out: 0xeb9682c170312f1
+ldl :: offset: 0x339, out: 0xb9682c170312f100
+ldl :: offset: 0x33a, out: 0x682c170312f10000
+ldl :: offset: 0x33b, out: 0x2c170312f1000000
+ldl :: offset: 0x33c, out: 0x170312f100000000
+ldl :: offset: 0x33d, out: 0x312f10000000000
+ldl :: offset: 0x33e, out: 0x12f1000000000000
+ldl :: offset: 0x33f, out: 0xf100000000000000
+ldl :: offset: 0x340, out: 0x84785280dd301d0d
+ldl :: offset: 0x341, out: 0x785280dd301d0d00
+ldl :: offset: 0x342, out: 0x5280dd301d0d0000
+ldl :: offset: 0x343, out: 0x80dd301d0d000000
+ldl :: offset: 0x344, out: 0xdd301d0d00000000
+ldl :: offset: 0x345, out: 0x301d0d0000000000
+ldl :: offset: 0x346, out: 0x1d0d000000000000
+ldl :: offset: 0x347, out: 0xd00000000000000
+ldl :: offset: 0x348, out: 0x179c77aa1f8fd6ef
+ldl :: offset: 0x349, out: 0x9c77aa1f8fd6ef00
+ldl :: offset: 0x34a, out: 0x77aa1f8fd6ef0000
+ldl :: offset: 0x34b, out: 0xaa1f8fd6ef000000
+ldl :: offset: 0x34c, out: 0x1f8fd6ef00000000
+ldl :: offset: 0x34d, out: 0x8fd6ef0000000000
+ldl :: offset: 0x34e, out: 0xd6ef000000000000
+ldl :: offset: 0x34f, out: 0xef00000000000000
+ldl :: offset: 0x350, out: 0x26444ced2998436d
+ldl :: offset: 0x351, out: 0x444ced2998436d00
+ldl :: offset: 0x352, out: 0x4ced2998436d0000
+ldl :: offset: 0x353, out: 0xed2998436d000000
+ldl :: offset: 0x354, out: 0x2998436d00000000
+ldl :: offset: 0x355, out: 0x98436d0000000000
+ldl :: offset: 0x356, out: 0x436d000000000000
+ldl :: offset: 0x357, out: 0x6d00000000000000
+ldl :: offset: 0x358, out: 0x7175c9dd58ca708
+ldl :: offset: 0x359, out: 0x175c9dd58ca70800
+ldl :: offset: 0x35a, out: 0x5c9dd58ca7080000
+ldl :: offset: 0x35b, out: 0x9dd58ca708000000
+ldl :: offset: 0x35c, out: 0xd58ca70800000000
+ldl :: offset: 0x35d, out: 0x8ca7080000000000
+ldl :: offset: 0x35e, out: 0xa708000000000000
+ldl :: offset: 0x35f, out: 0x800000000000000
+ldl :: offset: 0x360, out: 0x663d061055833287
+ldl :: offset: 0x361, out: 0x3d06105583328700
+ldl :: offset: 0x362, out: 0x610558332870000
+ldl :: offset: 0x363, out: 0x1055833287000000
+ldl :: offset: 0x364, out: 0x5583328700000000
+ldl :: offset: 0x365, out: 0x8332870000000000
+ldl :: offset: 0x366, out: 0x3287000000000000
+ldl :: offset: 0x367, out: 0x8700000000000000
+ldl :: offset: 0x368, out: 0xab7dd0488951d68b
+ldl :: offset: 0x369, out: 0x7dd0488951d68b00
+ldl :: offset: 0x36a, out: 0xd0488951d68b0000
+ldl :: offset: 0x36b, out: 0x488951d68b000000
+ldl :: offset: 0x36c, out: 0x8951d68b00000000
+ldl :: offset: 0x36d, out: 0x51d68b0000000000
+ldl :: offset: 0x36e, out: 0xd68b000000000000
+ldl :: offset: 0x36f, out: 0x8b00000000000000
+ldl :: offset: 0x370, out: 0xf69823670e82471b
+ldl :: offset: 0x371, out: 0x9823670e82471b00
+ldl :: offset: 0x372, out: 0x23670e82471b0000
+ldl :: offset: 0x373, out: 0x670e82471b000000
+ldl :: offset: 0x374, out: 0xe82471b00000000
+ldl :: offset: 0x375, out: 0x82471b0000000000
+ldl :: offset: 0x376, out: 0x471b000000000000
+ldl :: offset: 0x377, out: 0x1b00000000000000
+ldl :: offset: 0x378, out: 0x36886c59d98d26b2
+ldl :: offset: 0x379, out: 0x886c59d98d26b200
+ldl :: offset: 0x37a, out: 0x6c59d98d26b20000
+ldl :: offset: 0x37b, out: 0x59d98d26b2000000
+ldl :: offset: 0x37c, out: 0xd98d26b200000000
+ldl :: offset: 0x37d, out: 0x8d26b20000000000
+ldl :: offset: 0x37e, out: 0x26b2000000000000
+ldl :: offset: 0x37f, out: 0xb200000000000000
+ldl :: offset: 0x380, out: 0x9ca4bdbd32be479
+ldl :: offset: 0x381, out: 0xca4bdbd32be47900
+ldl :: offset: 0x382, out: 0x4bdbd32be4790000
+ldl :: offset: 0x383, out: 0xdbd32be479000000
+ldl :: offset: 0x384, out: 0xd32be47900000000
+ldl :: offset: 0x385, out: 0x2be4790000000000
+ldl :: offset: 0x386, out: 0xe479000000000000
+ldl :: offset: 0x387, out: 0x7900000000000000
+ldl :: offset: 0x388, out: 0xfd5d7d1d9962e61f
+ldl :: offset: 0x389, out: 0x5d7d1d9962e61f00
+ldl :: offset: 0x38a, out: 0x7d1d9962e61f0000
+ldl :: offset: 0x38b, out: 0x1d9962e61f000000
+ldl :: offset: 0x38c, out: 0x9962e61f00000000
+ldl :: offset: 0x38d, out: 0x62e61f0000000000
+ldl :: offset: 0x38e, out: 0xe61f000000000000
+ldl :: offset: 0x38f, out: 0x1f00000000000000
+ldl :: offset: 0x390, out: 0x3f46553ecad374df
+ldl :: offset: 0x391, out: 0x46553ecad374df00
+ldl :: offset: 0x392, out: 0x553ecad374df0000
+ldl :: offset: 0x393, out: 0x3ecad374df000000
+ldl :: offset: 0x394, out: 0xcad374df00000000
+ldl :: offset: 0x395, out: 0xd374df0000000000
+ldl :: offset: 0x396, out: 0x74df000000000000
+ldl :: offset: 0x397, out: 0xdf00000000000000
+ldl :: offset: 0x398, out: 0x2e9ab97d3eedf2a7
+ldl :: offset: 0x399, out: 0x9ab97d3eedf2a700
+ldl :: offset: 0x39a, out: 0xb97d3eedf2a70000
+ldl :: offset: 0x39b, out: 0x7d3eedf2a7000000
+ldl :: offset: 0x39c, out: 0x3eedf2a700000000
+ldl :: offset: 0x39d, out: 0xedf2a70000000000
+ldl :: offset: 0x39e, out: 0xf2a7000000000000
+ldl :: offset: 0x39f, out: 0xa700000000000000
+ldl :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33
+ldl :: offset: 0x3a1, out: 0xa6f7fa3c0c9f3300
+ldl :: offset: 0x3a2, out: 0xf7fa3c0c9f330000
+ldl :: offset: 0x3a3, out: 0xfa3c0c9f33000000
+ldl :: offset: 0x3a4, out: 0x3c0c9f3300000000
+ldl :: offset: 0x3a5, out: 0xc9f330000000000
+ldl :: offset: 0x3a6, out: 0x9f33000000000000
+ldl :: offset: 0x3a7, out: 0x3300000000000000
+ldl :: offset: 0x3a8, out: 0x8bb938e3155ec9dc
+ldl :: offset: 0x3a9, out: 0xb938e3155ec9dc00
+ldl :: offset: 0x3aa, out: 0x38e3155ec9dc0000
+ldl :: offset: 0x3ab, out: 0xe3155ec9dc000000
+ldl :: offset: 0x3ac, out: 0x155ec9dc00000000
+ldl :: offset: 0x3ad, out: 0x5ec9dc0000000000
+ldl :: offset: 0x3ae, out: 0xc9dc000000000000
+ldl :: offset: 0x3af, out: 0xdc00000000000000
+ldl :: offset: 0x3b0, out: 0xd2df25c419478206
+ldl :: offset: 0x3b1, out: 0xdf25c41947820600
+ldl :: offset: 0x3b2, out: 0x25c4194782060000
+ldl :: offset: 0x3b3, out: 0xc419478206000000
+ldl :: offset: 0x3b4, out: 0x1947820600000000
+ldl :: offset: 0x3b5, out: 0x4782060000000000
+ldl :: offset: 0x3b6, out: 0x8206000000000000
+ldl :: offset: 0x3b7, out: 0x600000000000000
+ldl :: offset: 0x3b8, out: 0xbc65bf27eb321825
+ldl :: offset: 0x3b9, out: 0x65bf27eb32182500
+ldl :: offset: 0x3ba, out: 0xbf27eb3218250000
+ldl :: offset: 0x3bb, out: 0x27eb321825000000
+ldl :: offset: 0x3bc, out: 0xeb32182500000000
+ldl :: offset: 0x3bd, out: 0x3218250000000000
+ldl :: offset: 0x3be, out: 0x1825000000000000
+ldl :: offset: 0x3bf, out: 0x2500000000000000
+ldl :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da
+ldl :: offset: 0x3c1, out: 0xb08fe67a8bc7da00
+ldl :: offset: 0x3c2, out: 0x8fe67a8bc7da0000
+ldl :: offset: 0x3c3, out: 0xe67a8bc7da000000
+ldl :: offset: 0x3c4, out: 0x7a8bc7da00000000
+ldl :: offset: 0x3c5, out: 0x8bc7da0000000000
+ldl :: offset: 0x3c6, out: 0xc7da000000000000
+ldl :: offset: 0x3c7, out: 0xda00000000000000
+ldl :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8
+ldl :: offset: 0x3c9, out: 0x2b5bcaf8dfcde800
+ldl :: offset: 0x3ca, out: 0x5bcaf8dfcde80000
+ldl :: offset: 0x3cb, out: 0xcaf8dfcde8000000
+ldl :: offset: 0x3cc, out: 0xf8dfcde800000000
+ldl :: offset: 0x3cd, out: 0xdfcde80000000000
+ldl :: offset: 0x3ce, out: 0xcde8000000000000
+ldl :: offset: 0x3cf, out: 0xe800000000000000
+ldl :: offset: 0x3d0, out: 0x478909b59a99269
+ldl :: offset: 0x3d1, out: 0x78909b59a9926900
+ldl :: offset: 0x3d2, out: 0x909b59a992690000
+ldl :: offset: 0x3d3, out: 0x9b59a99269000000
+ldl :: offset: 0x3d4, out: 0x59a9926900000000
+ldl :: offset: 0x3d5, out: 0xa992690000000000
+ldl :: offset: 0x3d6, out: 0x9269000000000000
+ldl :: offset: 0x3d7, out: 0x6900000000000000
+ldl :: offset: 0x3d8, out: 0xbfb31cc87857360f
+ldl :: offset: 0x3d9, out: 0xb31cc87857360f00
+ldl :: offset: 0x3da, out: 0x1cc87857360f0000
+ldl :: offset: 0x3db, out: 0xc87857360f000000
+ldl :: offset: 0x3dc, out: 0x7857360f00000000
+ldl :: offset: 0x3dd, out: 0x57360f0000000000
+ldl :: offset: 0x3de, out: 0x360f000000000000
+ldl :: offset: 0x3df, out: 0xf00000000000000
+ldl :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2
+ldl :: offset: 0x3e1, out: 0x65ed5e7f89e9a200
+ldl :: offset: 0x3e2, out: 0xed5e7f89e9a20000
+ldl :: offset: 0x3e3, out: 0x5e7f89e9a2000000
+ldl :: offset: 0x3e4, out: 0x7f89e9a200000000
+ldl :: offset: 0x3e5, out: 0x89e9a20000000000
+ldl :: offset: 0x3e6, out: 0xe9a2000000000000
+ldl :: offset: 0x3e7, out: 0xa200000000000000
+ldl :: offset: 0x3e8, out: 0x15da9474b7a8d5e4
+ldl :: offset: 0x3e9, out: 0xda9474b7a8d5e400
+ldl :: offset: 0x3ea, out: 0x9474b7a8d5e40000
+ldl :: offset: 0x3eb, out: 0x74b7a8d5e4000000
+ldl :: offset: 0x3ec, out: 0xb7a8d5e400000000
+ldl :: offset: 0x3ed, out: 0xa8d5e40000000000
+ldl :: offset: 0x3ee, out: 0xd5e4000000000000
+ldl :: offset: 0x3ef, out: 0xe400000000000000
+ldl :: offset: 0x3f0, out: 0xf6b3537d2af90fcc
+ldl :: offset: 0x3f1, out: 0xb3537d2af90fcc00
+ldl :: offset: 0x3f2, out: 0x537d2af90fcc0000
+ldl :: offset: 0x3f3, out: 0x7d2af90fcc000000
+ldl :: offset: 0x3f4, out: 0x2af90fcc00000000
+ldl :: offset: 0x3f5, out: 0xf90fcc0000000000
+ldl :: offset: 0x3f6, out: 0xfcc000000000000
+ldl :: offset: 0x3f7, out: 0xcc00000000000000
+ldl :: offset: 0x3f8, out: 0x223d7cfe2b961897
+ldl :: offset: 0x3f9, out: 0x3d7cfe2b96189700
+ldl :: offset: 0x3fa, out: 0x7cfe2b9618970000
+ldl :: offset: 0x3fb, out: 0xfe2b961897000000
+ldl :: offset: 0x3fc, out: 0x2b96189700000000
+ldl :: offset: 0x3fd, out: 0x9618970000000000
+ldl :: offset: 0x3fe, out: 0x1897000000000000
+ldl :: offset: 0x3ff, out: 0x9700000000000000
+ldl :: offset: 0x400, out: 0x420b34f533734a4b
+ldl :: offset: 0x401, out: 0xb34f533734a4b00
+ldl :: offset: 0x402, out: 0x34f533734a4b0000
+ldl :: offset: 0x403, out: 0xf533734a4b000000
+ldl :: offset: 0x404, out: 0x33734a4b00000000
+ldl :: offset: 0x405, out: 0x734a4b0000000000
+ldl :: offset: 0x406, out: 0x4a4b000000000000
+ldl :: offset: 0x407, out: 0x4b00000000000000
+ldl :: offset: 0x408, out: 0x897c8c8ddd46b33c
+ldl :: offset: 0x409, out: 0x7c8c8ddd46b33c00
+ldl :: offset: 0x40a, out: 0x8c8ddd46b33c0000
+ldl :: offset: 0x40b, out: 0x8ddd46b33c000000
+ldl :: offset: 0x40c, out: 0xdd46b33c00000000
+ldl :: offset: 0x40d, out: 0x46b33c0000000000
+ldl :: offset: 0x40e, out: 0xb33c000000000000
+ldl :: offset: 0x40f, out: 0x3c00000000000000
+ldl :: offset: 0x410, out: 0x7a387445e392ccd9
+ldl :: offset: 0x411, out: 0x387445e392ccd900
+ldl :: offset: 0x412, out: 0x7445e392ccd90000
+ldl :: offset: 0x413, out: 0x45e392ccd9000000
+ldl :: offset: 0x414, out: 0xe392ccd900000000
+ldl :: offset: 0x415, out: 0x92ccd90000000000
+ldl :: offset: 0x416, out: 0xccd9000000000000
+ldl :: offset: 0x417, out: 0xd900000000000000
+ldl :: offset: 0x418, out: 0x512f29b1d80000c9
+ldl :: offset: 0x419, out: 0x2f29b1d80000c900
+ldl :: offset: 0x41a, out: 0x29b1d80000c90000
+ldl :: offset: 0x41b, out: 0xb1d80000c9000000
+ldl :: offset: 0x41c, out: 0xd80000c900000000
+ldl :: offset: 0x41d, out: 0xc90000000000
+ldl :: offset: 0x41e, out: 0xc9000000000000
+ldl :: offset: 0x41f, out: 0xc900000000000000
+ldl :: offset: 0x420, out: 0xeaded5c53dad020a
+ldl :: offset: 0x421, out: 0xded5c53dad020a00
+ldl :: offset: 0x422, out: 0xd5c53dad020a0000
+ldl :: offset: 0x423, out: 0xc53dad020a000000
+ldl :: offset: 0x424, out: 0x3dad020a00000000
+ldl :: offset: 0x425, out: 0xad020a0000000000
+ldl :: offset: 0x426, out: 0x20a000000000000
+ldl :: offset: 0x427, out: 0xa00000000000000
+ldl :: offset: 0x428, out: 0x8a6229d731eea35b
+ldl :: offset: 0x429, out: 0x6229d731eea35b00
+ldl :: offset: 0x42a, out: 0x29d731eea35b0000
+ldl :: offset: 0x42b, out: 0xd731eea35b000000
+ldl :: offset: 0x42c, out: 0x31eea35b00000000
+ldl :: offset: 0x42d, out: 0xeea35b0000000000
+ldl :: offset: 0x42e, out: 0xa35b000000000000
+ldl :: offset: 0x42f, out: 0x5b00000000000000
+ldl :: offset: 0x430, out: 0x2c3c3f9e48985649
+ldl :: offset: 0x431, out: 0x3c3f9e4898564900
+ldl :: offset: 0x432, out: 0x3f9e489856490000
+ldl :: offset: 0x433, out: 0x9e48985649000000
+ldl :: offset: 0x434, out: 0x4898564900000000
+ldl :: offset: 0x435, out: 0x9856490000000000
+ldl :: offset: 0x436, out: 0x5649000000000000
+ldl :: offset: 0x437, out: 0x4900000000000000
+ldl :: offset: 0x438, out: 0x7ff61e78dc9c0b77
+ldl :: offset: 0x439, out: 0xf61e78dc9c0b7700
+ldl :: offset: 0x43a, out: 0x1e78dc9c0b770000
+ldl :: offset: 0x43b, out: 0x78dc9c0b77000000
+ldl :: offset: 0x43c, out: 0xdc9c0b7700000000
+ldl :: offset: 0x43d, out: 0x9c0b770000000000
+ldl :: offset: 0x43e, out: 0xb77000000000000
+ldl :: offset: 0x43f, out: 0x7700000000000000
+ldl :: offset: 0x440, out: 0x2299b0e01d5e68ec
+ldl :: offset: 0x441, out: 0x99b0e01d5e68ec00
+ldl :: offset: 0x442, out: 0xb0e01d5e68ec0000
+ldl :: offset: 0x443, out: 0xe01d5e68ec000000
+ldl :: offset: 0x444, out: 0x1d5e68ec00000000
+ldl :: offset: 0x445, out: 0x5e68ec0000000000
+ldl :: offset: 0x446, out: 0x68ec000000000000
+ldl :: offset: 0x447, out: 0xec00000000000000
+ldl :: offset: 0x448, out: 0x7c3b04673d0c6e25
+ldl :: offset: 0x449, out: 0x3b04673d0c6e2500
+ldl :: offset: 0x44a, out: 0x4673d0c6e250000
+ldl :: offset: 0x44b, out: 0x673d0c6e25000000
+ldl :: offset: 0x44c, out: 0x3d0c6e2500000000
+ldl :: offset: 0x44d, out: 0xc6e250000000000
+ldl :: offset: 0x44e, out: 0x6e25000000000000
+ldl :: offset: 0x44f, out: 0x2500000000000000
+ldl :: offset: 0x450, out: 0x164e17c1e7fb6587
+ldl :: offset: 0x451, out: 0x4e17c1e7fb658700
+ldl :: offset: 0x452, out: 0x17c1e7fb65870000
+ldl :: offset: 0x453, out: 0xc1e7fb6587000000
+ldl :: offset: 0x454, out: 0xe7fb658700000000
+ldl :: offset: 0x455, out: 0xfb65870000000000
+ldl :: offset: 0x456, out: 0x6587000000000000
+ldl :: offset: 0x457, out: 0x8700000000000000
+ldl :: offset: 0x458, out: 0xfa4ca28b56d4950b
+ldl :: offset: 0x459, out: 0x4ca28b56d4950b00
+ldl :: offset: 0x45a, out: 0xa28b56d4950b0000
+ldl :: offset: 0x45b, out: 0x8b56d4950b000000
+ldl :: offset: 0x45c, out: 0x56d4950b00000000
+ldl :: offset: 0x45d, out: 0xd4950b0000000000
+ldl :: offset: 0x45e, out: 0x950b000000000000
+ldl :: offset: 0x45f, out: 0xb00000000000000
+ldl :: offset: 0x460, out: 0xe5e9a314be7fa08a
+ldl :: offset: 0x461, out: 0xe9a314be7fa08a00
+ldl :: offset: 0x462, out: 0xa314be7fa08a0000
+ldl :: offset: 0x463, out: 0x14be7fa08a000000
+ldl :: offset: 0x464, out: 0xbe7fa08a00000000
+ldl :: offset: 0x465, out: 0x7fa08a0000000000
+ldl :: offset: 0x466, out: 0xa08a000000000000
+ldl :: offset: 0x467, out: 0x8a00000000000000
+ldl :: offset: 0x468, out: 0xf8be8164159649c5
+ldl :: offset: 0x469, out: 0xbe8164159649c500
+ldl :: offset: 0x46a, out: 0x8164159649c50000
+ldl :: offset: 0x46b, out: 0x64159649c5000000
+ldl :: offset: 0x46c, out: 0x159649c500000000
+ldl :: offset: 0x46d, out: 0x9649c50000000000
+ldl :: offset: 0x46e, out: 0x49c5000000000000
+ldl :: offset: 0x46f, out: 0xc500000000000000
+ldl :: offset: 0x470, out: 0x7ca3259784e69b17
+ldl :: offset: 0x471, out: 0xa3259784e69b1700
+ldl :: offset: 0x472, out: 0x259784e69b170000
+ldl :: offset: 0x473, out: 0x9784e69b17000000
+ldl :: offset: 0x474, out: 0x84e69b1700000000
+ldl :: offset: 0x475, out: 0xe69b170000000000
+ldl :: offset: 0x476, out: 0x9b17000000000000
+ldl :: offset: 0x477, out: 0x1700000000000000
+ldl :: offset: 0x478, out: 0xfc8d543ca1f24f5c
+ldl :: offset: 0x479, out: 0x8d543ca1f24f5c00
+ldl :: offset: 0x47a, out: 0x543ca1f24f5c0000
+ldl :: offset: 0x47b, out: 0x3ca1f24f5c000000
+ldl :: offset: 0x47c, out: 0xa1f24f5c00000000
+ldl :: offset: 0x47d, out: 0xf24f5c0000000000
+ldl :: offset: 0x47e, out: 0x4f5c000000000000
+ldl :: offset: 0x47f, out: 0x5c00000000000000
+ldl :: offset: 0x480, out: 0x4aeb6ca0e3459e36
+ldl :: offset: 0x481, out: 0xeb6ca0e3459e3600
+ldl :: offset: 0x482, out: 0x6ca0e3459e360000
+ldl :: offset: 0x483, out: 0xa0e3459e36000000
+ldl :: offset: 0x484, out: 0xe3459e3600000000
+ldl :: offset: 0x485, out: 0x459e360000000000
+ldl :: offset: 0x486, out: 0x9e36000000000000
+ldl :: offset: 0x487, out: 0x3600000000000000
+ldl :: offset: 0x488, out: 0xc532e18e187980fa
+ldl :: offset: 0x489, out: 0x32e18e187980fa00
+ldl :: offset: 0x48a, out: 0xe18e187980fa0000
+ldl :: offset: 0x48b, out: 0x8e187980fa000000
+ldl :: offset: 0x48c, out: 0x187980fa00000000
+ldl :: offset: 0x48d, out: 0x7980fa0000000000
+ldl :: offset: 0x48e, out: 0x80fa000000000000
+ldl :: offset: 0x48f, out: 0xfa00000000000000
+ldl :: offset: 0x490, out: 0xb3fdec294f287d1c
+ldl :: offset: 0x491, out: 0xfdec294f287d1c00
+ldl :: offset: 0x492, out: 0xec294f287d1c0000
+ldl :: offset: 0x493, out: 0x294f287d1c000000
+ldl :: offset: 0x494, out: 0x4f287d1c00000000
+ldl :: offset: 0x495, out: 0x287d1c0000000000
+ldl :: offset: 0x496, out: 0x7d1c000000000000
+ldl :: offset: 0x497, out: 0x1c00000000000000
+ldl :: offset: 0x498, out: 0xb620660a49732b90
+ldl :: offset: 0x499, out: 0x20660a49732b9000
+ldl :: offset: 0x49a, out: 0x660a49732b900000
+ldl :: offset: 0x49b, out: 0xa49732b90000000
+ldl :: offset: 0x49c, out: 0x49732b9000000000
+ldl :: offset: 0x49d, out: 0x732b900000000000
+ldl :: offset: 0x49e, out: 0x2b90000000000000
+ldl :: offset: 0x49f, out: 0x9000000000000000
+ldl :: offset: 0x4a0, out: 0x993138f16cfde991
+ldl :: offset: 0x4a1, out: 0x3138f16cfde99100
+ldl :: offset: 0x4a2, out: 0x38f16cfde9910000
+ldl :: offset: 0x4a3, out: 0xf16cfde991000000
+ldl :: offset: 0x4a4, out: 0x6cfde99100000000
+ldl :: offset: 0x4a5, out: 0xfde9910000000000
+ldl :: offset: 0x4a6, out: 0xe991000000000000
+ldl :: offset: 0x4a7, out: 0x9100000000000000
+ldl :: offset: 0x4a8, out: 0xde02d1337d5407b9
+ldl :: offset: 0x4a9, out: 0x2d1337d5407b900
+ldl :: offset: 0x4aa, out: 0xd1337d5407b90000
+ldl :: offset: 0x4ab, out: 0x337d5407b9000000
+ldl :: offset: 0x4ac, out: 0x7d5407b900000000
+ldl :: offset: 0x4ad, out: 0x5407b90000000000
+ldl :: offset: 0x4ae, out: 0x7b9000000000000
+ldl :: offset: 0x4af, out: 0xb900000000000000
+ldl :: offset: 0x4b0, out: 0x13a390e1e1dab15a
+ldl :: offset: 0x4b1, out: 0xa390e1e1dab15a00
+ldl :: offset: 0x4b2, out: 0x90e1e1dab15a0000
+ldl :: offset: 0x4b3, out: 0xe1e1dab15a000000
+ldl :: offset: 0x4b4, out: 0xe1dab15a00000000
+ldl :: offset: 0x4b5, out: 0xdab15a0000000000
+ldl :: offset: 0x4b6, out: 0xb15a000000000000
+ldl :: offset: 0x4b7, out: 0x5a00000000000000
+ldl :: offset: 0x4b8, out: 0x743491a6828716c8
+ldl :: offset: 0x4b9, out: 0x3491a6828716c800
+ldl :: offset: 0x4ba, out: 0x91a6828716c80000
+ldl :: offset: 0x4bb, out: 0xa6828716c8000000
+ldl :: offset: 0x4bc, out: 0x828716c800000000
+ldl :: offset: 0x4bd, out: 0x8716c80000000000
+ldl :: offset: 0x4be, out: 0x16c8000000000000
+ldl :: offset: 0x4bf, out: 0xc800000000000000
+ldl :: offset: 0x4c0, out: 0x8cff404aede292f2
+ldl :: offset: 0x4c1, out: 0xff404aede292f200
+ldl :: offset: 0x4c2, out: 0x404aede292f20000
+ldl :: offset: 0x4c3, out: 0x4aede292f2000000
+ldl :: offset: 0x4c4, out: 0xede292f200000000
+ldl :: offset: 0x4c5, out: 0xe292f20000000000
+ldl :: offset: 0x4c6, out: 0x92f2000000000000
+ldl :: offset: 0x4c7, out: 0xf200000000000000
+ldl :: offset: 0x4c8, out: 0xb9cec0db1f837636
+ldl :: offset: 0x4c9, out: 0xcec0db1f83763600
+ldl :: offset: 0x4ca, out: 0xc0db1f8376360000
+ldl :: offset: 0x4cb, out: 0xdb1f837636000000
+ldl :: offset: 0x4cc, out: 0x1f83763600000000
+ldl :: offset: 0x4cd, out: 0x8376360000000000
+ldl :: offset: 0x4ce, out: 0x7636000000000000
+ldl :: offset: 0x4cf, out: 0x3600000000000000
+ldl :: offset: 0x4d0, out: 0x2eaa5aa70509771c
+ldl :: offset: 0x4d1, out: 0xaa5aa70509771c00
+ldl :: offset: 0x4d2, out: 0x5aa70509771c0000
+ldl :: offset: 0x4d3, out: 0xa70509771c000000
+ldl :: offset: 0x4d4, out: 0x509771c00000000
+ldl :: offset: 0x4d5, out: 0x9771c0000000000
+ldl :: offset: 0x4d6, out: 0x771c000000000000
+ldl :: offset: 0x4d7, out: 0x1c00000000000000
+ldl :: offset: 0x4d8, out: 0xd327538e1875241b
+ldl :: offset: 0x4d9, out: 0x27538e1875241b00
+ldl :: offset: 0x4da, out: 0x538e1875241b0000
+ldl :: offset: 0x4db, out: 0x8e1875241b000000
+ldl :: offset: 0x4dc, out: 0x1875241b00000000
+ldl :: offset: 0x4dd, out: 0x75241b0000000000
+ldl :: offset: 0x4de, out: 0x241b000000000000
+ldl :: offset: 0x4df, out: 0x1b00000000000000
+ldl :: offset: 0x4e0, out: 0x42e9f8548b739b6b
+ldl :: offset: 0x4e1, out: 0xe9f8548b739b6b00
+ldl :: offset: 0x4e2, out: 0xf8548b739b6b0000
+ldl :: offset: 0x4e3, out: 0x548b739b6b000000
+ldl :: offset: 0x4e4, out: 0x8b739b6b00000000
+ldl :: offset: 0x4e5, out: 0x739b6b0000000000
+ldl :: offset: 0x4e6, out: 0x9b6b000000000000
+ldl :: offset: 0x4e7, out: 0x6b00000000000000
+ldl :: offset: 0x4e8, out: 0x78e4e50ceccbba1a
+ldl :: offset: 0x4e9, out: 0xe4e50ceccbba1a00
+ldl :: offset: 0x4ea, out: 0xe50ceccbba1a0000
+ldl :: offset: 0x4eb, out: 0xceccbba1a000000
+ldl :: offset: 0x4ec, out: 0xeccbba1a00000000
+ldl :: offset: 0x4ed, out: 0xcbba1a0000000000
+ldl :: offset: 0x4ee, out: 0xba1a000000000000
+ldl :: offset: 0x4ef, out: 0x1a00000000000000
+ldl :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb
+ldl :: offset: 0x4f1, out: 0xb6fa3fcd9d27cb00
+ldl :: offset: 0x4f2, out: 0xfa3fcd9d27cb0000
+ldl :: offset: 0x4f3, out: 0x3fcd9d27cb000000
+ldl :: offset: 0x4f4, out: 0xcd9d27cb00000000
+ldl :: offset: 0x4f5, out: 0x9d27cb0000000000
+ldl :: offset: 0x4f6, out: 0x27cb000000000000
+ldl :: offset: 0x4f7, out: 0xcb00000000000000
+ldl :: offset: 0x4f8, out: 0x73916483ae3e9423
+ldl :: offset: 0x4f9, out: 0x916483ae3e942300
+ldl :: offset: 0x4fa, out: 0x6483ae3e94230000
+ldl :: offset: 0x4fb, out: 0x83ae3e9423000000
+ldl :: offset: 0x4fc, out: 0xae3e942300000000
+ldl :: offset: 0x4fd, out: 0x3e94230000000000
+ldl :: offset: 0x4fe, out: 0x9423000000000000
+ldl :: offset: 0x4ff, out: 0x2300000000000000
+ldl :: offset: 0x500, out: 0x276af70a0e128561
+ldl :: offset: 0x501, out: 0x6af70a0e12856100
+ldl :: offset: 0x502, out: 0xf70a0e1285610000
+ldl :: offset: 0x503, out: 0xa0e128561000000
+ldl :: offset: 0x504, out: 0xe12856100000000
+ldl :: offset: 0x505, out: 0x1285610000000000
+ldl :: offset: 0x506, out: 0x8561000000000000
+ldl :: offset: 0x507, out: 0x6100000000000000
+ldl :: offset: 0x508, out: 0x3045bf6b5e74b6e
+ldl :: offset: 0x509, out: 0x45bf6b5e74b6e00
+ldl :: offset: 0x50a, out: 0x5bf6b5e74b6e0000
+ldl :: offset: 0x50b, out: 0xf6b5e74b6e000000
+ldl :: offset: 0x50c, out: 0xb5e74b6e00000000
+ldl :: offset: 0x50d, out: 0xe74b6e0000000000
+ldl :: offset: 0x50e, out: 0x4b6e000000000000
+ldl :: offset: 0x50f, out: 0x6e00000000000000
+ldl :: offset: 0x510, out: 0x20223f1308accfa6
+ldl :: offset: 0x511, out: 0x223f1308accfa600
+ldl :: offset: 0x512, out: 0x3f1308accfa60000
+ldl :: offset: 0x513, out: 0x1308accfa6000000
+ldl :: offset: 0x514, out: 0x8accfa600000000
+ldl :: offset: 0x515, out: 0xaccfa60000000000
+ldl :: offset: 0x516, out: 0xcfa6000000000000
+ldl :: offset: 0x517, out: 0xa600000000000000
+ldl :: offset: 0x518, out: 0xf83c55743976b5f5
+ldl :: offset: 0x519, out: 0x3c55743976b5f500
+ldl :: offset: 0x51a, out: 0x55743976b5f50000
+ldl :: offset: 0x51b, out: 0x743976b5f5000000
+ldl :: offset: 0x51c, out: 0x3976b5f500000000
+ldl :: offset: 0x51d, out: 0x76b5f50000000000
+ldl :: offset: 0x51e, out: 0xb5f5000000000000
+ldl :: offset: 0x51f, out: 0xf500000000000000
+ldl :: offset: 0x520, out: 0x1f9720f946923c3d
+ldl :: offset: 0x521, out: 0x9720f946923c3d00
+ldl :: offset: 0x522, out: 0x20f946923c3d0000
+ldl :: offset: 0x523, out: 0xf946923c3d000000
+ldl :: offset: 0x524, out: 0x46923c3d00000000
+ldl :: offset: 0x525, out: 0x923c3d0000000000
+ldl :: offset: 0x526, out: 0x3c3d000000000000
+ldl :: offset: 0x527, out: 0x3d00000000000000
+ldl :: offset: 0x528, out: 0x620d28506d2448dd
+ldl :: offset: 0x529, out: 0xd28506d2448dd00
+ldl :: offset: 0x52a, out: 0x28506d2448dd0000
+ldl :: offset: 0x52b, out: 0x506d2448dd000000
+ldl :: offset: 0x52c, out: 0x6d2448dd00000000
+ldl :: offset: 0x52d, out: 0x2448dd0000000000
+ldl :: offset: 0x52e, out: 0x48dd000000000000
+ldl :: offset: 0x52f, out: 0xdd00000000000000
+ldl :: offset: 0x530, out: 0x60a521e99ff4a732
+ldl :: offset: 0x531, out: 0xa521e99ff4a73200
+ldl :: offset: 0x532, out: 0x21e99ff4a7320000
+ldl :: offset: 0x533, out: 0xe99ff4a732000000
+ldl :: offset: 0x534, out: 0x9ff4a73200000000
+ldl :: offset: 0x535, out: 0xf4a7320000000000
+ldl :: offset: 0x536, out: 0xa732000000000000
+ldl :: offset: 0x537, out: 0x3200000000000000
+ldl :: offset: 0x538, out: 0x5a08f3ab5c680f0b
+ldl :: offset: 0x539, out: 0x8f3ab5c680f0b00
+ldl :: offset: 0x53a, out: 0xf3ab5c680f0b0000
+ldl :: offset: 0x53b, out: 0xab5c680f0b000000
+ldl :: offset: 0x53c, out: 0x5c680f0b00000000
+ldl :: offset: 0x53d, out: 0x680f0b0000000000
+ldl :: offset: 0x53e, out: 0xf0b000000000000
+ldl :: offset: 0x53f, out: 0xb00000000000000
+ldl :: offset: 0x540, out: 0xc7a59be7800f3d26
+ldl :: offset: 0x541, out: 0xa59be7800f3d2600
+ldl :: offset: 0x542, out: 0x9be7800f3d260000
+ldl :: offset: 0x543, out: 0xe7800f3d26000000
+ldl :: offset: 0x544, out: 0x800f3d2600000000
+ldl :: offset: 0x545, out: 0xf3d260000000000
+ldl :: offset: 0x546, out: 0x3d26000000000000
+ldl :: offset: 0x547, out: 0x2600000000000000
+ldl :: offset: 0x548, out: 0x1aecdf2982ca1b41
+ldl :: offset: 0x549, out: 0xecdf2982ca1b4100
+ldl :: offset: 0x54a, out: 0xdf2982ca1b410000
+ldl :: offset: 0x54b, out: 0x2982ca1b41000000
+ldl :: offset: 0x54c, out: 0x82ca1b4100000000
+ldl :: offset: 0x54d, out: 0xca1b410000000000
+ldl :: offset: 0x54e, out: 0x1b41000000000000
+ldl :: offset: 0x54f, out: 0x4100000000000000
+ldl :: offset: 0x550, out: 0x2b8613a260d19dcd
+ldl :: offset: 0x551, out: 0x8613a260d19dcd00
+ldl :: offset: 0x552, out: 0x13a260d19dcd0000
+ldl :: offset: 0x553, out: 0xa260d19dcd000000
+ldl :: offset: 0x554, out: 0x60d19dcd00000000
+ldl :: offset: 0x555, out: 0xd19dcd0000000000
+ldl :: offset: 0x556, out: 0x9dcd000000000000
+ldl :: offset: 0x557, out: 0xcd00000000000000
+ldl :: offset: 0x558, out: 0x2518ac8b0e8bbe7f
+ldl :: offset: 0x559, out: 0x18ac8b0e8bbe7f00
+ldl :: offset: 0x55a, out: 0xac8b0e8bbe7f0000
+ldl :: offset: 0x55b, out: 0x8b0e8bbe7f000000
+ldl :: offset: 0x55c, out: 0xe8bbe7f00000000
+ldl :: offset: 0x55d, out: 0x8bbe7f0000000000
+ldl :: offset: 0x55e, out: 0xbe7f000000000000
+ldl :: offset: 0x55f, out: 0x7f00000000000000
+ldl :: offset: 0x560, out: 0x743e568d2fcf486b
+ldl :: offset: 0x561, out: 0x3e568d2fcf486b00
+ldl :: offset: 0x562, out: 0x568d2fcf486b0000
+ldl :: offset: 0x563, out: 0x8d2fcf486b000000
+ldl :: offset: 0x564, out: 0x2fcf486b00000000
+ldl :: offset: 0x565, out: 0xcf486b0000000000
+ldl :: offset: 0x566, out: 0x486b000000000000
+ldl :: offset: 0x567, out: 0x6b00000000000000
+ldl :: offset: 0x568, out: 0x126f646f34c31728
+ldl :: offset: 0x569, out: 0x6f646f34c3172800
+ldl :: offset: 0x56a, out: 0x646f34c317280000
+ldl :: offset: 0x56b, out: 0x6f34c31728000000
+ldl :: offset: 0x56c, out: 0x34c3172800000000
+ldl :: offset: 0x56d, out: 0xc317280000000000
+ldl :: offset: 0x56e, out: 0x1728000000000000
+ldl :: offset: 0x56f, out: 0x2800000000000000
+ldl :: offset: 0x570, out: 0xaab0196156fc4d12
+ldl :: offset: 0x571, out: 0xb0196156fc4d1200
+ldl :: offset: 0x572, out: 0x196156fc4d120000
+ldl :: offset: 0x573, out: 0x6156fc4d12000000
+ldl :: offset: 0x574, out: 0x56fc4d1200000000
+ldl :: offset: 0x575, out: 0xfc4d120000000000
+ldl :: offset: 0x576, out: 0x4d12000000000000
+ldl :: offset: 0x577, out: 0x1200000000000000
+ldl :: offset: 0x578, out: 0x7535cd338595d342
+ldl :: offset: 0x579, out: 0x35cd338595d34200
+ldl :: offset: 0x57a, out: 0xcd338595d3420000
+ldl :: offset: 0x57b, out: 0x338595d342000000
+ldl :: offset: 0x57c, out: 0x8595d34200000000
+ldl :: offset: 0x57d, out: 0x95d3420000000000
+ldl :: offset: 0x57e, out: 0xd342000000000000
+ldl :: offset: 0x57f, out: 0x4200000000000000
+ldl :: offset: 0x580, out: 0xdfb254da422346ec
+ldl :: offset: 0x581, out: 0xb254da422346ec00
+ldl :: offset: 0x582, out: 0x54da422346ec0000
+ldl :: offset: 0x583, out: 0xda422346ec000000
+ldl :: offset: 0x584, out: 0x422346ec00000000
+ldl :: offset: 0x585, out: 0x2346ec0000000000
+ldl :: offset: 0x586, out: 0x46ec000000000000
+ldl :: offset: 0x587, out: 0xec00000000000000
+ldl :: offset: 0x588, out: 0xa86726c90081ab2a
+ldl :: offset: 0x589, out: 0x6726c90081ab2a00
+ldl :: offset: 0x58a, out: 0x26c90081ab2a0000
+ldl :: offset: 0x58b, out: 0xc90081ab2a000000
+ldl :: offset: 0x58c, out: 0x81ab2a00000000
+ldl :: offset: 0x58d, out: 0x81ab2a0000000000
+ldl :: offset: 0x58e, out: 0xab2a000000000000
+ldl :: offset: 0x58f, out: 0x2a00000000000000
+ldl :: offset: 0x590, out: 0x9bfeffa1679d7438
+ldl :: offset: 0x591, out: 0xfeffa1679d743800
+ldl :: offset: 0x592, out: 0xffa1679d74380000
+ldl :: offset: 0x593, out: 0xa1679d7438000000
+ldl :: offset: 0x594, out: 0x679d743800000000
+ldl :: offset: 0x595, out: 0x9d74380000000000
+ldl :: offset: 0x596, out: 0x7438000000000000
+ldl :: offset: 0x597, out: 0x3800000000000000
+ldl :: offset: 0x598, out: 0xc7699826b7dee244
+ldl :: offset: 0x599, out: 0x699826b7dee24400
+ldl :: offset: 0x59a, out: 0x9826b7dee2440000
+ldl :: offset: 0x59b, out: 0x26b7dee244000000
+ldl :: offset: 0x59c, out: 0xb7dee24400000000
+ldl :: offset: 0x59d, out: 0xdee2440000000000
+ldl :: offset: 0x59e, out: 0xe244000000000000
+ldl :: offset: 0x59f, out: 0x4400000000000000
+ldl :: offset: 0x5a0, out: 0x3c07af97fba6704a
+ldl :: offset: 0x5a1, out: 0x7af97fba6704a00
+ldl :: offset: 0x5a2, out: 0xaf97fba6704a0000
+ldl :: offset: 0x5a3, out: 0x97fba6704a000000
+ldl :: offset: 0x5a4, out: 0xfba6704a00000000
+ldl :: offset: 0x5a5, out: 0xa6704a0000000000
+ldl :: offset: 0x5a6, out: 0x704a000000000000
+ldl :: offset: 0x5a7, out: 0x4a00000000000000
+ldl :: offset: 0x5a8, out: 0x521364dc04c58bfe
+ldl :: offset: 0x5a9, out: 0x1364dc04c58bfe00
+ldl :: offset: 0x5aa, out: 0x64dc04c58bfe0000
+ldl :: offset: 0x5ab, out: 0xdc04c58bfe000000
+ldl :: offset: 0x5ac, out: 0x4c58bfe00000000
+ldl :: offset: 0x5ad, out: 0xc58bfe0000000000
+ldl :: offset: 0x5ae, out: 0x8bfe000000000000
+ldl :: offset: 0x5af, out: 0xfe00000000000000
+ldl :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc
+ldl :: offset: 0x5b1, out: 0xf7bb589ab7aebc00
+ldl :: offset: 0x5b2, out: 0xbb589ab7aebc0000
+ldl :: offset: 0x5b3, out: 0x589ab7aebc000000
+ldl :: offset: 0x5b4, out: 0x9ab7aebc00000000
+ldl :: offset: 0x5b5, out: 0xb7aebc0000000000
+ldl :: offset: 0x5b6, out: 0xaebc000000000000
+ldl :: offset: 0x5b7, out: 0xbc00000000000000
+ldl :: offset: 0x5b8, out: 0xe336c60cdeeb954d
+ldl :: offset: 0x5b9, out: 0x36c60cdeeb954d00
+ldl :: offset: 0x5ba, out: 0xc60cdeeb954d0000
+ldl :: offset: 0x5bb, out: 0xcdeeb954d000000
+ldl :: offset: 0x5bc, out: 0xdeeb954d00000000
+ldl :: offset: 0x5bd, out: 0xeb954d0000000000
+ldl :: offset: 0x5be, out: 0x954d000000000000
+ldl :: offset: 0x5bf, out: 0x4d00000000000000
+ldl :: offset: 0x5c0, out: 0xd5b2120c6f52416e
+ldl :: offset: 0x5c1, out: 0xb2120c6f52416e00
+ldl :: offset: 0x5c2, out: 0x120c6f52416e0000
+ldl :: offset: 0x5c3, out: 0xc6f52416e000000
+ldl :: offset: 0x5c4, out: 0x6f52416e00000000
+ldl :: offset: 0x5c5, out: 0x52416e0000000000
+ldl :: offset: 0x5c6, out: 0x416e000000000000
+ldl :: offset: 0x5c7, out: 0x6e00000000000000
+ldl :: offset: 0x5c8, out: 0x85a2d4ff7e628a34
+ldl :: offset: 0x5c9, out: 0xa2d4ff7e628a3400
+ldl :: offset: 0x5ca, out: 0xd4ff7e628a340000
+ldl :: offset: 0x5cb, out: 0xff7e628a34000000
+ldl :: offset: 0x5cc, out: 0x7e628a3400000000
+ldl :: offset: 0x5cd, out: 0x628a340000000000
+ldl :: offset: 0x5ce, out: 0x8a34000000000000
+ldl :: offset: 0x5cf, out: 0x3400000000000000
+ldl :: offset: 0x5d0, out: 0x986a2b654a4e7e07
+ldl :: offset: 0x5d1, out: 0x6a2b654a4e7e0700
+ldl :: offset: 0x5d2, out: 0x2b654a4e7e070000
+ldl :: offset: 0x5d3, out: 0x654a4e7e07000000
+ldl :: offset: 0x5d4, out: 0x4a4e7e0700000000
+ldl :: offset: 0x5d5, out: 0x4e7e070000000000
+ldl :: offset: 0x5d6, out: 0x7e07000000000000
+ldl :: offset: 0x5d7, out: 0x700000000000000
+ldl :: offset: 0x5d8, out: 0xa974eac43a489b55
+ldl :: offset: 0x5d9, out: 0x74eac43a489b5500
+ldl :: offset: 0x5da, out: 0xeac43a489b550000
+ldl :: offset: 0x5db, out: 0xc43a489b55000000
+ldl :: offset: 0x5dc, out: 0x3a489b5500000000
+ldl :: offset: 0x5dd, out: 0x489b550000000000
+ldl :: offset: 0x5de, out: 0x9b55000000000000
+ldl :: offset: 0x5df, out: 0x5500000000000000
+ldl :: offset: 0x5e0, out: 0xa388c16272f1f8f5
+ldl :: offset: 0x5e1, out: 0x88c16272f1f8f500
+ldl :: offset: 0x5e2, out: 0xc16272f1f8f50000
+ldl :: offset: 0x5e3, out: 0x6272f1f8f5000000
+ldl :: offset: 0x5e4, out: 0x72f1f8f500000000
+ldl :: offset: 0x5e5, out: 0xf1f8f50000000000
+ldl :: offset: 0x5e6, out: 0xf8f5000000000000
+ldl :: offset: 0x5e7, out: 0xf500000000000000
+ldl :: offset: 0x5e8, out: 0xe8c11f45e7495ea9
+ldl :: offset: 0x5e9, out: 0xc11f45e7495ea900
+ldl :: offset: 0x5ea, out: 0x1f45e7495ea90000
+ldl :: offset: 0x5eb, out: 0x45e7495ea9000000
+ldl :: offset: 0x5ec, out: 0xe7495ea900000000
+ldl :: offset: 0x5ed, out: 0x495ea90000000000
+ldl :: offset: 0x5ee, out: 0x5ea9000000000000
+ldl :: offset: 0x5ef, out: 0xa900000000000000
+ldl :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4
+ldl :: offset: 0x5f1, out: 0xaa5a765cc1c8b400
+ldl :: offset: 0x5f2, out: 0x5a765cc1c8b40000
+ldl :: offset: 0x5f3, out: 0x765cc1c8b4000000
+ldl :: offset: 0x5f4, out: 0x5cc1c8b400000000
+ldl :: offset: 0x5f5, out: 0xc1c8b40000000000
+ldl :: offset: 0x5f6, out: 0xc8b4000000000000
+ldl :: offset: 0x5f7, out: 0xb400000000000000
+ldl :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0
+ldl :: offset: 0x5f9, out: 0xb4ce88dfa605c000
+ldl :: offset: 0x5fa, out: 0xce88dfa605c00000
+ldl :: offset: 0x5fb, out: 0x88dfa605c0000000
+ldl :: offset: 0x5fc, out: 0xdfa605c000000000
+ldl :: offset: 0x5fd, out: 0xa605c00000000000
+ldl :: offset: 0x5fe, out: 0x5c0000000000000
+ldl :: offset: 0x5ff, out: 0xc000000000000000
+ldl :: offset: 0x600, out: 0xb42ad6e659a7b04f
+ldl :: offset: 0x601, out: 0x2ad6e659a7b04f00
+ldl :: offset: 0x602, out: 0xd6e659a7b04f0000
+ldl :: offset: 0x603, out: 0xe659a7b04f000000
+ldl :: offset: 0x604, out: 0x59a7b04f00000000
+ldl :: offset: 0x605, out: 0xa7b04f0000000000
+ldl :: offset: 0x606, out: 0xb04f000000000000
+ldl :: offset: 0x607, out: 0x4f00000000000000
+ldl :: offset: 0x608, out: 0x4bf8485ab728922f
+ldl :: offset: 0x609, out: 0xf8485ab728922f00
+ldl :: offset: 0x60a, out: 0x485ab728922f0000
+ldl :: offset: 0x60b, out: 0x5ab728922f000000
+ldl :: offset: 0x60c, out: 0xb728922f00000000
+ldl :: offset: 0x60d, out: 0x28922f0000000000
+ldl :: offset: 0x60e, out: 0x922f000000000000
+ldl :: offset: 0x60f, out: 0x2f00000000000000
+ldl :: offset: 0x610, out: 0x76a3d60c3b66a7fb
+ldl :: offset: 0x611, out: 0xa3d60c3b66a7fb00
+ldl :: offset: 0x612, out: 0xd60c3b66a7fb0000
+ldl :: offset: 0x613, out: 0xc3b66a7fb000000
+ldl :: offset: 0x614, out: 0x3b66a7fb00000000
+ldl :: offset: 0x615, out: 0x66a7fb0000000000
+ldl :: offset: 0x616, out: 0xa7fb000000000000
+ldl :: offset: 0x617, out: 0xfb00000000000000
+ldl :: offset: 0x618, out: 0x31e0c6affdc28eda
+ldl :: offset: 0x619, out: 0xe0c6affdc28eda00
+ldl :: offset: 0x61a, out: 0xc6affdc28eda0000
+ldl :: offset: 0x61b, out: 0xaffdc28eda000000
+ldl :: offset: 0x61c, out: 0xfdc28eda00000000
+ldl :: offset: 0x61d, out: 0xc28eda0000000000
+ldl :: offset: 0x61e, out: 0x8eda000000000000
+ldl :: offset: 0x61f, out: 0xda00000000000000
+ldl :: offset: 0x620, out: 0x53606bb4bf0c999d
+ldl :: offset: 0x621, out: 0x606bb4bf0c999d00
+ldl :: offset: 0x622, out: 0x6bb4bf0c999d0000
+ldl :: offset: 0x623, out: 0xb4bf0c999d000000
+ldl :: offset: 0x624, out: 0xbf0c999d00000000
+ldl :: offset: 0x625, out: 0xc999d0000000000
+ldl :: offset: 0x626, out: 0x999d000000000000
+ldl :: offset: 0x627, out: 0x9d00000000000000
+ldl :: offset: 0x628, out: 0x32fc12c81b7919f0
+ldl :: offset: 0x629, out: 0xfc12c81b7919f000
+ldl :: offset: 0x62a, out: 0x12c81b7919f00000
+ldl :: offset: 0x62b, out: 0xc81b7919f0000000
+ldl :: offset: 0x62c, out: 0x1b7919f000000000
+ldl :: offset: 0x62d, out: 0x7919f00000000000
+ldl :: offset: 0x62e, out: 0x19f0000000000000
+ldl :: offset: 0x62f, out: 0xf000000000000000
+ldl :: offset: 0x630, out: 0x3ef88384c72efcd6
+ldl :: offset: 0x631, out: 0xf88384c72efcd600
+ldl :: offset: 0x632, out: 0x8384c72efcd60000
+ldl :: offset: 0x633, out: 0x84c72efcd6000000
+ldl :: offset: 0x634, out: 0xc72efcd600000000
+ldl :: offset: 0x635, out: 0x2efcd60000000000
+ldl :: offset: 0x636, out: 0xfcd6000000000000
+ldl :: offset: 0x637, out: 0xd600000000000000
+ldl :: offset: 0x638, out: 0x38b1c7bb6a2a3580
+ldl :: offset: 0x639, out: 0xb1c7bb6a2a358000
+ldl :: offset: 0x63a, out: 0xc7bb6a2a35800000
+ldl :: offset: 0x63b, out: 0xbb6a2a3580000000
+ldl :: offset: 0x63c, out: 0x6a2a358000000000
+ldl :: offset: 0x63d, out: 0x2a35800000000000
+ldl :: offset: 0x63e, out: 0x3580000000000000
+ldl :: offset: 0x63f, out: 0x8000000000000000
+ldl :: offset: 0x640, out: 0x15ebf6121dca77c9
+ldl :: offset: 0x641, out: 0xebf6121dca77c900
+ldl :: offset: 0x642, out: 0xf6121dca77c90000
+ldl :: offset: 0x643, out: 0x121dca77c9000000
+ldl :: offset: 0x644, out: 0x1dca77c900000000
+ldl :: offset: 0x645, out: 0xca77c90000000000
+ldl :: offset: 0x646, out: 0x77c9000000000000
+ldl :: offset: 0x647, out: 0xc900000000000000
+ldl :: offset: 0x648, out: 0x5eaacdd9fd9147ae
+ldl :: offset: 0x649, out: 0xaacdd9fd9147ae00
+ldl :: offset: 0x64a, out: 0xcdd9fd9147ae0000
+ldl :: offset: 0x64b, out: 0xd9fd9147ae000000
+ldl :: offset: 0x64c, out: 0xfd9147ae00000000
+ldl :: offset: 0x64d, out: 0x9147ae0000000000
+ldl :: offset: 0x64e, out: 0x47ae000000000000
+ldl :: offset: 0x64f, out: 0xae00000000000000
+ldl :: offset: 0x650, out: 0xbb8470f981e91117
+ldl :: offset: 0x651, out: 0x8470f981e9111700
+ldl :: offset: 0x652, out: 0x70f981e911170000
+ldl :: offset: 0x653, out: 0xf981e91117000000
+ldl :: offset: 0x654, out: 0x81e9111700000000
+ldl :: offset: 0x655, out: 0xe911170000000000
+ldl :: offset: 0x656, out: 0x1117000000000000
+ldl :: offset: 0x657, out: 0x1700000000000000
+ldl :: offset: 0x658, out: 0x5d42aeac6a532e0
+ldl :: offset: 0x659, out: 0xd42aeac6a532e000
+ldl :: offset: 0x65a, out: 0x2aeac6a532e00000
+ldl :: offset: 0x65b, out: 0xeac6a532e0000000
+ldl :: offset: 0x65c, out: 0xc6a532e000000000
+ldl :: offset: 0x65d, out: 0xa532e00000000000
+ldl :: offset: 0x65e, out: 0x32e0000000000000
+ldl :: offset: 0x65f, out: 0xe000000000000000
+ldl :: offset: 0x660, out: 0x14abf36419fb9e63
+ldl :: offset: 0x661, out: 0xabf36419fb9e6300
+ldl :: offset: 0x662, out: 0xf36419fb9e630000
+ldl :: offset: 0x663, out: 0x6419fb9e63000000
+ldl :: offset: 0x664, out: 0x19fb9e6300000000
+ldl :: offset: 0x665, out: 0xfb9e630000000000
+ldl :: offset: 0x666, out: 0x9e63000000000000
+ldl :: offset: 0x667, out: 0x6300000000000000
+ldl :: offset: 0x668, out: 0x249d559aa8d72aac
+ldl :: offset: 0x669, out: 0x9d559aa8d72aac00
+ldl :: offset: 0x66a, out: 0x559aa8d72aac0000
+ldl :: offset: 0x66b, out: 0x9aa8d72aac000000
+ldl :: offset: 0x66c, out: 0xa8d72aac00000000
+ldl :: offset: 0x66d, out: 0xd72aac0000000000
+ldl :: offset: 0x66e, out: 0x2aac000000000000
+ldl :: offset: 0x66f, out: 0xac00000000000000
+ldl :: offset: 0x670, out: 0xcd6764f084b30ec
+ldl :: offset: 0x671, out: 0xd6764f084b30ec00
+ldl :: offset: 0x672, out: 0x764f084b30ec0000
+ldl :: offset: 0x673, out: 0x4f084b30ec000000
+ldl :: offset: 0x674, out: 0x84b30ec00000000
+ldl :: offset: 0x675, out: 0x4b30ec0000000000
+ldl :: offset: 0x676, out: 0x30ec000000000000
+ldl :: offset: 0x677, out: 0xec00000000000000
+ldl :: offset: 0x678, out: 0x7f03ac0792468fdf
+ldl :: offset: 0x679, out: 0x3ac0792468fdf00
+ldl :: offset: 0x67a, out: 0xac0792468fdf0000
+ldl :: offset: 0x67b, out: 0x792468fdf000000
+ldl :: offset: 0x67c, out: 0x92468fdf00000000
+ldl :: offset: 0x67d, out: 0x468fdf0000000000
+ldl :: offset: 0x67e, out: 0x8fdf000000000000
+ldl :: offset: 0x67f, out: 0xdf00000000000000
+ldl :: offset: 0x680, out: 0x7e35ce6d56e670f5
+ldl :: offset: 0x681, out: 0x35ce6d56e670f500
+ldl :: offset: 0x682, out: 0xce6d56e670f50000
+ldl :: offset: 0x683, out: 0x6d56e670f5000000
+ldl :: offset: 0x684, out: 0x56e670f500000000
+ldl :: offset: 0x685, out: 0xe670f50000000000
+ldl :: offset: 0x686, out: 0x70f5000000000000
+ldl :: offset: 0x687, out: 0xf500000000000000
+ldl :: offset: 0x688, out: 0x152828591a652711
+ldl :: offset: 0x689, out: 0x2828591a65271100
+ldl :: offset: 0x68a, out: 0x28591a6527110000
+ldl :: offset: 0x68b, out: 0x591a652711000000
+ldl :: offset: 0x68c, out: 0x1a65271100000000
+ldl :: offset: 0x68d, out: 0x6527110000000000
+ldl :: offset: 0x68e, out: 0x2711000000000000
+ldl :: offset: 0x68f, out: 0x1100000000000000
+ldl :: offset: 0x690, out: 0x9e1c3283d215a9fb
+ldl :: offset: 0x691, out: 0x1c3283d215a9fb00
+ldl :: offset: 0x692, out: 0x3283d215a9fb0000
+ldl :: offset: 0x693, out: 0x83d215a9fb000000
+ldl :: offset: 0x694, out: 0xd215a9fb00000000
+ldl :: offset: 0x695, out: 0x15a9fb0000000000
+ldl :: offset: 0x696, out: 0xa9fb000000000000
+ldl :: offset: 0x697, out: 0xfb00000000000000
+ldl :: offset: 0x698, out: 0x8d95c049282a0417
+ldl :: offset: 0x699, out: 0x95c049282a041700
+ldl :: offset: 0x69a, out: 0xc049282a04170000
+ldl :: offset: 0x69b, out: 0x49282a0417000000
+ldl :: offset: 0x69c, out: 0x282a041700000000
+ldl :: offset: 0x69d, out: 0x2a04170000000000
+ldl :: offset: 0x69e, out: 0x417000000000000
+ldl :: offset: 0x69f, out: 0x1700000000000000
+ldl :: offset: 0x6a0, out: 0xf2e7a490978058f3
+ldl :: offset: 0x6a1, out: 0xe7a490978058f300
+ldl :: offset: 0x6a2, out: 0xa490978058f30000
+ldl :: offset: 0x6a3, out: 0x90978058f3000000
+ldl :: offset: 0x6a4, out: 0x978058f300000000
+ldl :: offset: 0x6a5, out: 0x8058f30000000000
+ldl :: offset: 0x6a6, out: 0x58f3000000000000
+ldl :: offset: 0x6a7, out: 0xf300000000000000
+ldl :: offset: 0x6a8, out: 0x775b4cca0975b1aa
+ldl :: offset: 0x6a9, out: 0x5b4cca0975b1aa00
+ldl :: offset: 0x6aa, out: 0x4cca0975b1aa0000
+ldl :: offset: 0x6ab, out: 0xca0975b1aa000000
+ldl :: offset: 0x6ac, out: 0x975b1aa00000000
+ldl :: offset: 0x6ad, out: 0x75b1aa0000000000
+ldl :: offset: 0x6ae, out: 0xb1aa000000000000
+ldl :: offset: 0x6af, out: 0xaa00000000000000
+ldl :: offset: 0x6b0, out: 0xa2b84a635111020
+ldl :: offset: 0x6b1, out: 0x2b84a63511102000
+ldl :: offset: 0x6b2, out: 0x84a6351110200000
+ldl :: offset: 0x6b3, out: 0xa635111020000000
+ldl :: offset: 0x6b4, out: 0x3511102000000000
+ldl :: offset: 0x6b5, out: 0x1110200000000000
+ldl :: offset: 0x6b6, out: 0x1020000000000000
+ldl :: offset: 0x6b7, out: 0x2000000000000000
+ldl :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f
+ldl :: offset: 0x6b9, out: 0x3fa0d3a7d88b6f00
+ldl :: offset: 0x6ba, out: 0xa0d3a7d88b6f0000
+ldl :: offset: 0x6bb, out: 0xd3a7d88b6f000000
+ldl :: offset: 0x6bc, out: 0xa7d88b6f00000000
+ldl :: offset: 0x6bd, out: 0xd88b6f0000000000
+ldl :: offset: 0x6be, out: 0x8b6f000000000000
+ldl :: offset: 0x6bf, out: 0x6f00000000000000
+ldl :: offset: 0x6c0, out: 0xa3d991b79941dedd
+ldl :: offset: 0x6c1, out: 0xd991b79941dedd00
+ldl :: offset: 0x6c2, out: 0x91b79941dedd0000
+ldl :: offset: 0x6c3, out: 0xb79941dedd000000
+ldl :: offset: 0x6c4, out: 0x9941dedd00000000
+ldl :: offset: 0x6c5, out: 0x41dedd0000000000
+ldl :: offset: 0x6c6, out: 0xdedd000000000000
+ldl :: offset: 0x6c7, out: 0xdd00000000000000
+ldl :: offset: 0x6c8, out: 0x751cb4835a0d9508
+ldl :: offset: 0x6c9, out: 0x1cb4835a0d950800
+ldl :: offset: 0x6ca, out: 0xb4835a0d95080000
+ldl :: offset: 0x6cb, out: 0x835a0d9508000000
+ldl :: offset: 0x6cc, out: 0x5a0d950800000000
+ldl :: offset: 0x6cd, out: 0xd95080000000000
+ldl :: offset: 0x6ce, out: 0x9508000000000000
+ldl :: offset: 0x6cf, out: 0x800000000000000
+ldl :: offset: 0x6d0, out: 0x949cad35625bb2d3
+ldl :: offset: 0x6d1, out: 0x9cad35625bb2d300
+ldl :: offset: 0x6d2, out: 0xad35625bb2d30000
+ldl :: offset: 0x6d3, out: 0x35625bb2d3000000
+ldl :: offset: 0x6d4, out: 0x625bb2d300000000
+ldl :: offset: 0x6d5, out: 0x5bb2d30000000000
+ldl :: offset: 0x6d6, out: 0xb2d3000000000000
+ldl :: offset: 0x6d7, out: 0xd300000000000000
+ldl :: offset: 0x6d8, out: 0x7f567f35a6929739
+ldl :: offset: 0x6d9, out: 0x567f35a692973900
+ldl :: offset: 0x6da, out: 0x7f35a69297390000
+ldl :: offset: 0x6db, out: 0x35a6929739000000
+ldl :: offset: 0x6dc, out: 0xa692973900000000
+ldl :: offset: 0x6dd, out: 0x9297390000000000
+ldl :: offset: 0x6de, out: 0x9739000000000000
+ldl :: offset: 0x6df, out: 0x3900000000000000
+ldl :: offset: 0x6e0, out: 0x185b88e0db8d7d27
+ldl :: offset: 0x6e1, out: 0x5b88e0db8d7d2700
+ldl :: offset: 0x6e2, out: 0x88e0db8d7d270000
+ldl :: offset: 0x6e3, out: 0xe0db8d7d27000000
+ldl :: offset: 0x6e4, out: 0xdb8d7d2700000000
+ldl :: offset: 0x6e5, out: 0x8d7d270000000000
+ldl :: offset: 0x6e6, out: 0x7d27000000000000
+ldl :: offset: 0x6e7, out: 0x2700000000000000
+ldl :: offset: 0x6e8, out: 0x255a4cd22fd61b91
+ldl :: offset: 0x6e9, out: 0x5a4cd22fd61b9100
+ldl :: offset: 0x6ea, out: 0x4cd22fd61b910000
+ldl :: offset: 0x6eb, out: 0xd22fd61b91000000
+ldl :: offset: 0x6ec, out: 0x2fd61b9100000000
+ldl :: offset: 0x6ed, out: 0xd61b910000000000
+ldl :: offset: 0x6ee, out: 0x1b91000000000000
+ldl :: offset: 0x6ef, out: 0x9100000000000000
+ldl :: offset: 0x6f0, out: 0x1048d589a4363f7b
+ldl :: offset: 0x6f1, out: 0x48d589a4363f7b00
+ldl :: offset: 0x6f2, out: 0xd589a4363f7b0000
+ldl :: offset: 0x6f3, out: 0x89a4363f7b000000
+ldl :: offset: 0x6f4, out: 0xa4363f7b00000000
+ldl :: offset: 0x6f5, out: 0x363f7b0000000000
+ldl :: offset: 0x6f6, out: 0x3f7b000000000000
+ldl :: offset: 0x6f7, out: 0x7b00000000000000
+ldl :: offset: 0x6f8, out: 0x6a6d5708f4605790
+ldl :: offset: 0x6f9, out: 0x6d5708f460579000
+ldl :: offset: 0x6fa, out: 0x5708f46057900000
+ldl :: offset: 0x6fb, out: 0x8f4605790000000
+ldl :: offset: 0x6fc, out: 0xf460579000000000
+ldl :: offset: 0x6fd, out: 0x6057900000000000
+ldl :: offset: 0x6fe, out: 0x5790000000000000
+ldl :: offset: 0x6ff, out: 0x9000000000000000
+ldl :: offset: 0x700, out: 0xd58ecbabde35697f
+ldl :: offset: 0x701, out: 0x8ecbabde35697f00
+ldl :: offset: 0x702, out: 0xcbabde35697f0000
+ldl :: offset: 0x703, out: 0xabde35697f000000
+ldl :: offset: 0x704, out: 0xde35697f00000000
+ldl :: offset: 0x705, out: 0x35697f0000000000
+ldl :: offset: 0x706, out: 0x697f000000000000
+ldl :: offset: 0x707, out: 0x7f00000000000000
+ldl :: offset: 0x708, out: 0x575548fd08c0a5f1
+ldl :: offset: 0x709, out: 0x5548fd08c0a5f100
+ldl :: offset: 0x70a, out: 0x48fd08c0a5f10000
+ldl :: offset: 0x70b, out: 0xfd08c0a5f1000000
+ldl :: offset: 0x70c, out: 0x8c0a5f100000000
+ldl :: offset: 0x70d, out: 0xc0a5f10000000000
+ldl :: offset: 0x70e, out: 0xa5f1000000000000
+ldl :: offset: 0x70f, out: 0xf100000000000000
+ldl :: offset: 0x710, out: 0x8bb640fb8ed98ddb
+ldl :: offset: 0x711, out: 0xb640fb8ed98ddb00
+ldl :: offset: 0x712, out: 0x40fb8ed98ddb0000
+ldl :: offset: 0x713, out: 0xfb8ed98ddb000000
+ldl :: offset: 0x714, out: 0x8ed98ddb00000000
+ldl :: offset: 0x715, out: 0xd98ddb0000000000
+ldl :: offset: 0x716, out: 0x8ddb000000000000
+ldl :: offset: 0x717, out: 0xdb00000000000000
+ldl :: offset: 0x718, out: 0xbe00d51eabc578cc
+ldl :: offset: 0x719, out: 0xd51eabc578cc00
+ldl :: offset: 0x71a, out: 0xd51eabc578cc0000
+ldl :: offset: 0x71b, out: 0x1eabc578cc000000
+ldl :: offset: 0x71c, out: 0xabc578cc00000000
+ldl :: offset: 0x71d, out: 0xc578cc0000000000
+ldl :: offset: 0x71e, out: 0x78cc000000000000
+ldl :: offset: 0x71f, out: 0xcc00000000000000
+ldl :: offset: 0x720, out: 0x2f7e224a1c170ab2
+ldl :: offset: 0x721, out: 0x7e224a1c170ab200
+ldl :: offset: 0x722, out: 0x224a1c170ab20000
+ldl :: offset: 0x723, out: 0x4a1c170ab2000000
+ldl :: offset: 0x724, out: 0x1c170ab200000000
+ldl :: offset: 0x725, out: 0x170ab20000000000
+ldl :: offset: 0x726, out: 0xab2000000000000
+ldl :: offset: 0x727, out: 0xb200000000000000
+ldl :: offset: 0x728, out: 0xa978f12ca22256a7
+ldl :: offset: 0x729, out: 0x78f12ca22256a700
+ldl :: offset: 0x72a, out: 0xf12ca22256a70000
+ldl :: offset: 0x72b, out: 0x2ca22256a7000000
+ldl :: offset: 0x72c, out: 0xa22256a700000000
+ldl :: offset: 0x72d, out: 0x2256a70000000000
+ldl :: offset: 0x72e, out: 0x56a7000000000000
+ldl :: offset: 0x72f, out: 0xa700000000000000
+ldl :: offset: 0x730, out: 0x9950a93b811ee02f
+ldl :: offset: 0x731, out: 0x50a93b811ee02f00
+ldl :: offset: 0x732, out: 0xa93b811ee02f0000
+ldl :: offset: 0x733, out: 0x3b811ee02f000000
+ldl :: offset: 0x734, out: 0x811ee02f00000000
+ldl :: offset: 0x735, out: 0x1ee02f0000000000
+ldl :: offset: 0x736, out: 0xe02f000000000000
+ldl :: offset: 0x737, out: 0x2f00000000000000
+ldl :: offset: 0x738, out: 0xb44eea93c6796a0c
+ldl :: offset: 0x739, out: 0x4eea93c6796a0c00
+ldl :: offset: 0x73a, out: 0xea93c6796a0c0000
+ldl :: offset: 0x73b, out: 0x93c6796a0c000000
+ldl :: offset: 0x73c, out: 0xc6796a0c00000000
+ldl :: offset: 0x73d, out: 0x796a0c0000000000
+ldl :: offset: 0x73e, out: 0x6a0c000000000000
+ldl :: offset: 0x73f, out: 0xc00000000000000
+ldl :: offset: 0x740, out: 0xfe71fca06c0eb657
+ldl :: offset: 0x741, out: 0x71fca06c0eb65700
+ldl :: offset: 0x742, out: 0xfca06c0eb6570000
+ldl :: offset: 0x743, out: 0xa06c0eb657000000
+ldl :: offset: 0x744, out: 0x6c0eb65700000000
+ldl :: offset: 0x745, out: 0xeb6570000000000
+ldl :: offset: 0x746, out: 0xb657000000000000
+ldl :: offset: 0x747, out: 0x5700000000000000
+ldl :: offset: 0x748, out: 0x4ed6393df818af57
+ldl :: offset: 0x749, out: 0xd6393df818af5700
+ldl :: offset: 0x74a, out: 0x393df818af570000
+ldl :: offset: 0x74b, out: 0x3df818af57000000
+ldl :: offset: 0x74c, out: 0xf818af5700000000
+ldl :: offset: 0x74d, out: 0x18af570000000000
+ldl :: offset: 0x74e, out: 0xaf57000000000000
+ldl :: offset: 0x74f, out: 0x5700000000000000
+ldl :: offset: 0x750, out: 0xf22e90200236770a
+ldl :: offset: 0x751, out: 0x2e90200236770a00
+ldl :: offset: 0x752, out: 0x90200236770a0000
+ldl :: offset: 0x753, out: 0x200236770a000000
+ldl :: offset: 0x754, out: 0x236770a00000000
+ldl :: offset: 0x755, out: 0x36770a0000000000
+ldl :: offset: 0x756, out: 0x770a000000000000
+ldl :: offset: 0x757, out: 0xa00000000000000
+ldl :: offset: 0x758, out: 0x81efb6c7afd0c45d
+ldl :: offset: 0x759, out: 0xefb6c7afd0c45d00
+ldl :: offset: 0x75a, out: 0xb6c7afd0c45d0000
+ldl :: offset: 0x75b, out: 0xc7afd0c45d000000
+ldl :: offset: 0x75c, out: 0xafd0c45d00000000
+ldl :: offset: 0x75d, out: 0xd0c45d0000000000
+ldl :: offset: 0x75e, out: 0xc45d000000000000
+ldl :: offset: 0x75f, out: 0x5d00000000000000
+ldl :: offset: 0x760, out: 0xeed8f3518102315b
+ldl :: offset: 0x761, out: 0xd8f3518102315b00
+ldl :: offset: 0x762, out: 0xf3518102315b0000
+ldl :: offset: 0x763, out: 0x518102315b000000
+ldl :: offset: 0x764, out: 0x8102315b00000000
+ldl :: offset: 0x765, out: 0x2315b0000000000
+ldl :: offset: 0x766, out: 0x315b000000000000
+ldl :: offset: 0x767, out: 0x5b00000000000000
+ldl :: offset: 0x768, out: 0xadafefb9995efd5e
+ldl :: offset: 0x769, out: 0xafefb9995efd5e00
+ldl :: offset: 0x76a, out: 0xefb9995efd5e0000
+ldl :: offset: 0x76b, out: 0xb9995efd5e000000
+ldl :: offset: 0x76c, out: 0x995efd5e00000000
+ldl :: offset: 0x76d, out: 0x5efd5e0000000000
+ldl :: offset: 0x76e, out: 0xfd5e000000000000
+ldl :: offset: 0x76f, out: 0x5e00000000000000
+ldl :: offset: 0x770, out: 0x34061933eb253086
+ldl :: offset: 0x771, out: 0x61933eb25308600
+ldl :: offset: 0x772, out: 0x1933eb2530860000
+ldl :: offset: 0x773, out: 0x33eb253086000000
+ldl :: offset: 0x774, out: 0xeb25308600000000
+ldl :: offset: 0x775, out: 0x2530860000000000
+ldl :: offset: 0x776, out: 0x3086000000000000
+ldl :: offset: 0x777, out: 0x8600000000000000
+ldl :: offset: 0x778, out: 0x1748da264b4c52bc
+ldl :: offset: 0x779, out: 0x48da264b4c52bc00
+ldl :: offset: 0x77a, out: 0xda264b4c52bc0000
+ldl :: offset: 0x77b, out: 0x264b4c52bc000000
+ldl :: offset: 0x77c, out: 0x4b4c52bc00000000
+ldl :: offset: 0x77d, out: 0x4c52bc0000000000
+ldl :: offset: 0x77e, out: 0x52bc000000000000
+ldl :: offset: 0x77f, out: 0xbc00000000000000
+ldl :: offset: 0x780, out: 0x34fdfc9a9302be89
+ldl :: offset: 0x781, out: 0xfdfc9a9302be8900
+ldl :: offset: 0x782, out: 0xfc9a9302be890000
+ldl :: offset: 0x783, out: 0x9a9302be89000000
+ldl :: offset: 0x784, out: 0x9302be8900000000
+ldl :: offset: 0x785, out: 0x2be890000000000
+ldl :: offset: 0x786, out: 0xbe89000000000000
+ldl :: offset: 0x787, out: 0x8900000000000000
+ldl :: offset: 0x788, out: 0xd00278c3c521d180
+ldl :: offset: 0x789, out: 0x278c3c521d18000
+ldl :: offset: 0x78a, out: 0x78c3c521d1800000
+ldl :: offset: 0x78b, out: 0xc3c521d180000000
+ldl :: offset: 0x78c, out: 0xc521d18000000000
+ldl :: offset: 0x78d, out: 0x21d1800000000000
+ldl :: offset: 0x78e, out: 0xd180000000000000
+ldl :: offset: 0x78f, out: 0x8000000000000000
+ldl :: offset: 0x790, out: 0xe90944a4c1d37a5d
+ldl :: offset: 0x791, out: 0x944a4c1d37a5d00
+ldl :: offset: 0x792, out: 0x44a4c1d37a5d0000
+ldl :: offset: 0x793, out: 0xa4c1d37a5d000000
+ldl :: offset: 0x794, out: 0xc1d37a5d00000000
+ldl :: offset: 0x795, out: 0xd37a5d0000000000
+ldl :: offset: 0x796, out: 0x7a5d000000000000
+ldl :: offset: 0x797, out: 0x5d00000000000000
+ldl :: offset: 0x798, out: 0x65fd698fddef9839
+ldl :: offset: 0x799, out: 0xfd698fddef983900
+ldl :: offset: 0x79a, out: 0x698fddef98390000
+ldl :: offset: 0x79b, out: 0x8fddef9839000000
+ldl :: offset: 0x79c, out: 0xddef983900000000
+ldl :: offset: 0x79d, out: 0xef98390000000000
+ldl :: offset: 0x79e, out: 0x9839000000000000
+ldl :: offset: 0x79f, out: 0x3900000000000000
+ldl :: offset: 0x7a0, out: 0xc49ee3ad81b5af52
+ldl :: offset: 0x7a1, out: 0x9ee3ad81b5af5200
+ldl :: offset: 0x7a2, out: 0xe3ad81b5af520000
+ldl :: offset: 0x7a3, out: 0xad81b5af52000000
+ldl :: offset: 0x7a4, out: 0x81b5af5200000000
+ldl :: offset: 0x7a5, out: 0xb5af520000000000
+ldl :: offset: 0x7a6, out: 0xaf52000000000000
+ldl :: offset: 0x7a7, out: 0x5200000000000000
+ldl :: offset: 0x7a8, out: 0x7aa941e8bdb263e9
+ldl :: offset: 0x7a9, out: 0xa941e8bdb263e900
+ldl :: offset: 0x7aa, out: 0x41e8bdb263e90000
+ldl :: offset: 0x7ab, out: 0xe8bdb263e9000000
+ldl :: offset: 0x7ac, out: 0xbdb263e900000000
+ldl :: offset: 0x7ad, out: 0xb263e90000000000
+ldl :: offset: 0x7ae, out: 0x63e9000000000000
+ldl :: offset: 0x7af, out: 0xe900000000000000
+ldl :: offset: 0x7b0, out: 0x372c209e42f3b58d
+ldl :: offset: 0x7b1, out: 0x2c209e42f3b58d00
+ldl :: offset: 0x7b2, out: 0x209e42f3b58d0000
+ldl :: offset: 0x7b3, out: 0x9e42f3b58d000000
+ldl :: offset: 0x7b4, out: 0x42f3b58d00000000
+ldl :: offset: 0x7b5, out: 0xf3b58d0000000000
+ldl :: offset: 0x7b6, out: 0xb58d000000000000
+ldl :: offset: 0x7b7, out: 0x8d00000000000000
+ldl :: offset: 0x7b8, out: 0x30f870b7e122a83b
+ldl :: offset: 0x7b9, out: 0xf870b7e122a83b00
+ldl :: offset: 0x7ba, out: 0x70b7e122a83b0000
+ldl :: offset: 0x7bb, out: 0xb7e122a83b000000
+ldl :: offset: 0x7bc, out: 0xe122a83b00000000
+ldl :: offset: 0x7bd, out: 0x22a83b0000000000
+ldl :: offset: 0x7be, out: 0xa83b000000000000
+ldl :: offset: 0x7bf, out: 0x3b00000000000000
+ldl :: offset: 0x7c0, out: 0x9e02de4b678930ec
+ldl :: offset: 0x7c1, out: 0x2de4b678930ec00
+ldl :: offset: 0x7c2, out: 0xde4b678930ec0000
+ldl :: offset: 0x7c3, out: 0x4b678930ec000000
+ldl :: offset: 0x7c4, out: 0x678930ec00000000
+ldl :: offset: 0x7c5, out: 0x8930ec0000000000
+ldl :: offset: 0x7c6, out: 0x30ec000000000000
+ldl :: offset: 0x7c7, out: 0xec00000000000000
+ldl :: offset: 0x7c8, out: 0xcd61a8639826631e
+ldl :: offset: 0x7c9, out: 0x61a8639826631e00
+ldl :: offset: 0x7ca, out: 0xa8639826631e0000
+ldl :: offset: 0x7cb, out: 0x639826631e000000
+ldl :: offset: 0x7cc, out: 0x9826631e00000000
+ldl :: offset: 0x7cd, out: 0x26631e0000000000
+ldl :: offset: 0x7ce, out: 0x631e000000000000
+ldl :: offset: 0x7cf, out: 0x1e00000000000000
+ldl :: offset: 0x7d0, out: 0xae87bc899a7bd3ca
+ldl :: offset: 0x7d1, out: 0x87bc899a7bd3ca00
+ldl :: offset: 0x7d2, out: 0xbc899a7bd3ca0000
+ldl :: offset: 0x7d3, out: 0x899a7bd3ca000000
+ldl :: offset: 0x7d4, out: 0x9a7bd3ca00000000
+ldl :: offset: 0x7d5, out: 0x7bd3ca0000000000
+ldl :: offset: 0x7d6, out: 0xd3ca000000000000
+ldl :: offset: 0x7d7, out: 0xca00000000000000
+ldl :: offset: 0x7d8, out: 0x58ec644d6481af17
+ldl :: offset: 0x7d9, out: 0xec644d6481af1700
+ldl :: offset: 0x7da, out: 0x644d6481af170000
+ldl :: offset: 0x7db, out: 0x4d6481af17000000
+ldl :: offset: 0x7dc, out: 0x6481af1700000000
+ldl :: offset: 0x7dd, out: 0x81af170000000000
+ldl :: offset: 0x7de, out: 0xaf17000000000000
+ldl :: offset: 0x7df, out: 0x1700000000000000
+ldl :: offset: 0x7e0, out: 0x680cce5fb236b666
+ldl :: offset: 0x7e1, out: 0xcce5fb236b66600
+ldl :: offset: 0x7e2, out: 0xce5fb236b6660000
+ldl :: offset: 0x7e3, out: 0x5fb236b666000000
+ldl :: offset: 0x7e4, out: 0xb236b66600000000
+ldl :: offset: 0x7e5, out: 0x36b6660000000000
+ldl :: offset: 0x7e6, out: 0xb666000000000000
+ldl :: offset: 0x7e7, out: 0x6600000000000000
+ldl :: offset: 0x7e8, out: 0x3baa99471f6d4d75
+ldl :: offset: 0x7e9, out: 0xaa99471f6d4d7500
+ldl :: offset: 0x7ea, out: 0x99471f6d4d750000
+ldl :: offset: 0x7eb, out: 0x471f6d4d75000000
+ldl :: offset: 0x7ec, out: 0x1f6d4d7500000000
+ldl :: offset: 0x7ed, out: 0x6d4d750000000000
+ldl :: offset: 0x7ee, out: 0x4d75000000000000
+ldl :: offset: 0x7ef, out: 0x7500000000000000
+ldl :: offset: 0x7f0, out: 0x614d9b445f12236b
+ldl :: offset: 0x7f1, out: 0x4d9b445f12236b00
+ldl :: offset: 0x7f2, out: 0x9b445f12236b0000
+ldl :: offset: 0x7f3, out: 0x445f12236b000000
+ldl :: offset: 0x7f4, out: 0x5f12236b00000000
+ldl :: offset: 0x7f5, out: 0x12236b0000000000
+ldl :: offset: 0x7f6, out: 0x236b000000000000
+ldl :: offset: 0x7f7, out: 0x6b00000000000000
+ldl :: offset: 0x7f8, out: 0xa2a6ec661ba84121
+ldl :: offset: 0x7f9, out: 0xa6ec661ba8412100
+ldl :: offset: 0x7fa, out: 0xec661ba841210000
+ldl :: offset: 0x7fb, out: 0x661ba84121000000
+ldl :: offset: 0x7fc, out: 0x1ba8412100000000
+ldl :: offset: 0x7fd, out: 0xa841210000000000
+ldl :: offset: 0x7fe, out: 0x4121000000000000
+ldl :: offset: 0x7ff, out: 0x2100000000000000
+ldr :: offset: 0x0, out: 0x0
+ldr :: offset: 0x1, out: 0x0
+ldr :: offset: 0x2, out: 0x0
+ldr :: offset: 0x3, out: 0x0
+ldr :: offset: 0x4, out: 0x0
+ldr :: offset: 0x5, out: 0x0
+ldr :: offset: 0x6, out: 0x0
+ldr :: offset: 0x7, out: 0x0
+ldr :: offset: 0x8, out: 0x9
+ldr :: offset: 0x9, out: 0x982
+ldr :: offset: 0xa, out: 0x9823b
+ldr :: offset: 0xb, out: 0x9823b6e
+ldr :: offset: 0xc, out: 0x9823b6e0d
+ldr :: offset: 0xd, out: 0x9823b6e0d43
+ldr :: offset: 0xe, out: 0x9823b6e0d4326
+ldr :: offset: 0xf, out: 0x9823b6e0d4326d9
+ldr :: offset: 0x10, out: 0x13
+ldr :: offset: 0x11, out: 0x1304
+ldr :: offset: 0x12, out: 0x130476
+ldr :: offset: 0x13, out: 0x130476dc
+ldr :: offset: 0x14, out: 0x130476dc17
+ldr :: offset: 0x15, out: 0x130476dc17c5
+ldr :: offset: 0x16, out: 0x130476dc17c56b
+ldr :: offset: 0x17, out: 0x130476dc17c56b6b
+ldr :: offset: 0x18, out: 0x1a
+ldr :: offset: 0x19, out: 0x1a86
+ldr :: offset: 0x1a, out: 0x1a864d
+ldr :: offset: 0x1b, out: 0x1a864db2
+ldr :: offset: 0x1c, out: 0x1a864db21e
+ldr :: offset: 0x1d, out: 0x1a864db21e47
+ldr :: offset: 0x1e, out: 0x1a864db21e4750
+ldr :: offset: 0x1f, out: 0x1a864db21e475005
+ldr :: offset: 0x20, out: 0x26
+ldr :: offset: 0x21, out: 0x2608
+ldr :: offset: 0x22, out: 0x2608ed
+ldr :: offset: 0x23, out: 0x2608edb8
+ldr :: offset: 0x24, out: 0x2608edb822
+ldr :: offset: 0x25, out: 0x2608edb822c9
+ldr :: offset: 0x26, out: 0x2608edb822c9f0
+ldr :: offset: 0x27, out: 0x2608edb822c9f00f
+ldr :: offset: 0x28, out: 0x2f
+ldr :: offset: 0x29, out: 0x2f8a
+ldr :: offset: 0x2a, out: 0x2f8ad6
+ldr :: offset: 0x2b, out: 0x2f8ad6d6
+ldr :: offset: 0x2c, out: 0x2f8ad6d62b
+ldr :: offset: 0x2d, out: 0x2f8ad6d62b4b
+ldr :: offset: 0x2e, out: 0x2f8ad6d62b4bcb
+ldr :: offset: 0x2f, out: 0x2f8ad6d62b4bcb61
+ldr :: offset: 0x30, out: 0x35
+ldr :: offset: 0x31, out: 0x350c
+ldr :: offset: 0x32, out: 0x350c9b
+ldr :: offset: 0x33, out: 0x350c9b64
+ldr :: offset: 0x34, out: 0x350c9b6431
+ldr :: offset: 0x35, out: 0x350c9b6431cd
+ldr :: offset: 0x36, out: 0x350c9b6431cd86
+ldr :: offset: 0x37, out: 0x350c9b6431cd86d3
+ldr :: offset: 0x38, out: 0x3c
+ldr :: offset: 0x39, out: 0x3c8e
+ldr :: offset: 0x3a, out: 0x3c8ea0
+ldr :: offset: 0x3b, out: 0x3c8ea00a
+ldr :: offset: 0x3c, out: 0x3c8ea00a38
+ldr :: offset: 0x3d, out: 0x3c8ea00a384f
+ldr :: offset: 0x3e, out: 0x3c8ea00a384fbd
+ldr :: offset: 0x3f, out: 0x3c8ea00a384fbdbd
+ldr :: offset: 0x40, out: 0x4c
+ldr :: offset: 0x41, out: 0x4c11
+ldr :: offset: 0x42, out: 0x4c11db
+ldr :: offset: 0x43, out: 0x4c11db70
+ldr :: offset: 0x44, out: 0x4c11db7048
+ldr :: offset: 0x45, out: 0x4c11db7048d0
+ldr :: offset: 0x46, out: 0x4c11db7048d0c6
+ldr :: offset: 0x47, out: 0x4c11db7048d0c6c7
+ldr :: offset: 0x48, out: 0x45
+ldr :: offset: 0x49, out: 0x4593
+ldr :: offset: 0x4a, out: 0x4593e0
+ldr :: offset: 0x4b, out: 0x4593e01e
+ldr :: offset: 0x4c, out: 0x4593e01e41
+ldr :: offset: 0x4d, out: 0x4593e01e4152
+ldr :: offset: 0x4e, out: 0x4593e01e4152fd
+ldr :: offset: 0x4f, out: 0x4593e01e4152fda9
+ldr :: offset: 0x50, out: 0x5f
+ldr :: offset: 0x51, out: 0x5f15
+ldr :: offset: 0x52, out: 0x5f15ad
+ldr :: offset: 0x53, out: 0x5f15adac
+ldr :: offset: 0x54, out: 0x5f15adac5b
+ldr :: offset: 0x55, out: 0x5f15adac5bd4
+ldr :: offset: 0x56, out: 0x5f15adac5bd4b0
+ldr :: offset: 0x57, out: 0x5f15adac5bd4b01b
+ldr :: offset: 0x58, out: 0x56
+ldr :: offset: 0x59, out: 0x5697
+ldr :: offset: 0x5a, out: 0x569796
+ldr :: offset: 0x5b, out: 0x569796c2
+ldr :: offset: 0x5c, out: 0x569796c252
+ldr :: offset: 0x5d, out: 0x569796c25256
+ldr :: offset: 0x5e, out: 0x569796c252568b
+ldr :: offset: 0x5f, out: 0x569796c252568b75
+ldr :: offset: 0x60, out: 0x6a
+ldr :: offset: 0x61, out: 0x6a19
+ldr :: offset: 0x62, out: 0x6a1936
+ldr :: offset: 0x63, out: 0x6a1936c8
+ldr :: offset: 0x64, out: 0x6a1936c86e
+ldr :: offset: 0x65, out: 0x6a1936c86ed8
+ldr :: offset: 0x66, out: 0x6a1936c86ed82b
+ldr :: offset: 0x67, out: 0x6a1936c86ed82b7f
+ldr :: offset: 0x68, out: 0x63
+ldr :: offset: 0x69, out: 0x639b
+ldr :: offset: 0x6a, out: 0x639b0d
+ldr :: offset: 0x6b, out: 0x639b0da6
+ldr :: offset: 0x6c, out: 0x639b0da667
+ldr :: offset: 0x6d, out: 0x639b0da6675a
+ldr :: offset: 0x6e, out: 0x639b0da6675a10
+ldr :: offset: 0x6f, out: 0x639b0da6675a1011
+ldr :: offset: 0x70, out: 0x79
+ldr :: offset: 0x71, out: 0x791d
+ldr :: offset: 0x72, out: 0x791d40
+ldr :: offset: 0x73, out: 0x791d4014
+ldr :: offset: 0x74, out: 0x791d40147d
+ldr :: offset: 0x75, out: 0x791d40147ddc
+ldr :: offset: 0x76, out: 0x791d40147ddc5d
+ldr :: offset: 0x77, out: 0x791d40147ddc5da3
+ldr :: offset: 0x78, out: 0x70
+ldr :: offset: 0x79, out: 0x709f
+ldr :: offset: 0x7a, out: 0x709f7b
+ldr :: offset: 0x7b, out: 0x709f7b7a
+ldr :: offset: 0x7c, out: 0x709f7b7a74
+ldr :: offset: 0x7d, out: 0x709f7b7a745e
+ldr :: offset: 0x7e, out: 0x709f7b7a745e66
+ldr :: offset: 0x7f, out: 0x709f7b7a745e66cd
+ldr :: offset: 0x80, out: 0x98
+ldr :: offset: 0x81, out: 0x9823
+ldr :: offset: 0x82, out: 0x9823b6
+ldr :: offset: 0x83, out: 0x9823b6e0
+ldr :: offset: 0x84, out: 0x9823b6e09c
+ldr :: offset: 0x85, out: 0x9823b6e09ce2
+ldr :: offset: 0x86, out: 0x9823b6e09ce2ab
+ldr :: offset: 0x87, out: 0x9823b6e09ce2ab57
+ldr :: offset: 0x88, out: 0x91
+ldr :: offset: 0x89, out: 0x91a1
+ldr :: offset: 0x8a, out: 0x91a18d
+ldr :: offset: 0x8b, out: 0x91a18d8e
+ldr :: offset: 0x8c, out: 0x91a18d8e95
+ldr :: offset: 0x8d, out: 0x91a18d8e9560
+ldr :: offset: 0x8e, out: 0x91a18d8e956090
+ldr :: offset: 0x8f, out: 0x91a18d8e95609039
+ldr :: offset: 0x90, out: 0x8b
+ldr :: offset: 0x91, out: 0x8b27
+ldr :: offset: 0x92, out: 0x8b27c0
+ldr :: offset: 0x93, out: 0x8b27c03c
+ldr :: offset: 0x94, out: 0x8b27c03c8f
+ldr :: offset: 0x95, out: 0x8b27c03c8fe6
+ldr :: offset: 0x96, out: 0x8b27c03c8fe6dd
+ldr :: offset: 0x97, out: 0x8b27c03c8fe6dd8b
+ldr :: offset: 0x98, out: 0x82
+ldr :: offset: 0x99, out: 0x82a5
+ldr :: offset: 0x9a, out: 0x82a5fb
+ldr :: offset: 0x9b, out: 0x82a5fb52
+ldr :: offset: 0x9c, out: 0x82a5fb5286
+ldr :: offset: 0x9d, out: 0x82a5fb528664
+ldr :: offset: 0x9e, out: 0x82a5fb528664e6
+ldr :: offset: 0x9f, out: 0x82a5fb528664e6e5
+ldr :: offset: 0xa0, out: 0xbe
+ldr :: offset: 0xa1, out: 0xbe2b
+ldr :: offset: 0xa2, out: 0xbe2b5b
+ldr :: offset: 0xa3, out: 0xbe2b5b58
+ldr :: offset: 0xa4, out: 0xbe2b5b58ba
+ldr :: offset: 0xa5, out: 0xbe2b5b58baea
+ldr :: offset: 0xa6, out: 0xbe2b5b58baea46
+ldr :: offset: 0xa7, out: 0xbe2b5b58baea46ef
+ldr :: offset: 0xa8, out: 0xb7
+ldr :: offset: 0xa9, out: 0xb7a9
+ldr :: offset: 0xaa, out: 0xb7a960
+ldr :: offset: 0xab, out: 0xb7a96036
+ldr :: offset: 0xac, out: 0xb7a96036b3
+ldr :: offset: 0xad, out: 0xb7a96036b368
+ldr :: offset: 0xae, out: 0xb7a96036b3687d
+ldr :: offset: 0xaf, out: 0xb7a96036b3687d81
+ldr :: offset: 0xb0, out: 0xad
+ldr :: offset: 0xb1, out: 0xad2f
+ldr :: offset: 0xb2, out: 0xad2f2d
+ldr :: offset: 0xb3, out: 0xad2f2d84
+ldr :: offset: 0xb4, out: 0xad2f2d84a9
+ldr :: offset: 0xb5, out: 0xad2f2d84a9ee
+ldr :: offset: 0xb6, out: 0xad2f2d84a9ee30
+ldr :: offset: 0xb7, out: 0xad2f2d84a9ee3033
+ldr :: offset: 0xb8, out: 0xa4
+ldr :: offset: 0xb9, out: 0xa4ad
+ldr :: offset: 0xba, out: 0xa4ad16
+ldr :: offset: 0xbb, out: 0xa4ad16ea
+ldr :: offset: 0xbc, out: 0xa4ad16eaa0
+ldr :: offset: 0xbd, out: 0xa4ad16eaa06c
+ldr :: offset: 0xbe, out: 0xa4ad16eaa06c0b
+ldr :: offset: 0xbf, out: 0xa4ad16eaa06c0b5d
+ldr :: offset: 0xc0, out: 0xd4
+ldr :: offset: 0xc1, out: 0xd432
+ldr :: offset: 0xc2, out: 0xd4326d
+ldr :: offset: 0xc3, out: 0xd4326d90
+ldr :: offset: 0xc4, out: 0xd4326d90d0
+ldr :: offset: 0xc5, out: 0xd4326d90d0f3
+ldr :: offset: 0xc6, out: 0xd4326d90d0f370
+ldr :: offset: 0xc7, out: 0xd4326d90d0f37027
+ldr :: offset: 0xc8, out: 0xdd
+ldr :: offset: 0xc9, out: 0xddb0
+ldr :: offset: 0xca, out: 0xddb056
+ldr :: offset: 0xcb, out: 0xddb056fe
+ldr :: offset: 0xcc, out: 0xddb056fed9
+ldr :: offset: 0xcd, out: 0xddb056fed971
+ldr :: offset: 0xce, out: 0xddb056fed9714b
+ldr :: offset: 0xcf, out: 0xddb056fed9714b49
+ldr :: offset: 0xd0, out: 0xc7
+ldr :: offset: 0xd1, out: 0xc736
+ldr :: offset: 0xd2, out: 0xc7361b
+ldr :: offset: 0xd3, out: 0xc7361b4c
+ldr :: offset: 0xd4, out: 0xc7361b4cc3
+ldr :: offset: 0xd5, out: 0xc7361b4cc3f7
+ldr :: offset: 0xd6, out: 0xc7361b4cc3f706
+ldr :: offset: 0xd7, out: 0xc7361b4cc3f706fb
+ldr :: offset: 0xd8, out: 0xce
+ldr :: offset: 0xd9, out: 0xceb4
+ldr :: offset: 0xda, out: 0xceb420
+ldr :: offset: 0xdb, out: 0xceb42022
+ldr :: offset: 0xdc, out: 0xceb42022ca
+ldr :: offset: 0xdd, out: 0xceb42022ca75
+ldr :: offset: 0xde, out: 0xceb42022ca753d
+ldr :: offset: 0xdf, out: 0xceb42022ca753d95
+ldr :: offset: 0xe0, out: 0xf2
+ldr :: offset: 0xe1, out: 0xf23a
+ldr :: offset: 0xe2, out: 0xf23a80
+ldr :: offset: 0xe3, out: 0xf23a8028
+ldr :: offset: 0xe4, out: 0xf23a8028f6
+ldr :: offset: 0xe5, out: 0xf23a8028f6fb
+ldr :: offset: 0xe6, out: 0xf23a8028f6fb9d
+ldr :: offset: 0xe7, out: 0xf23a8028f6fb9d9f
+ldr :: offset: 0xe8, out: 0xfb
+ldr :: offset: 0xe9, out: 0xfbb8
+ldr :: offset: 0xea, out: 0xfbb8bb
+ldr :: offset: 0xeb, out: 0xfbb8bb46
+ldr :: offset: 0xec, out: 0xfbb8bb46ff
+ldr :: offset: 0xed, out: 0xfbb8bb46ff79
+ldr :: offset: 0xee, out: 0xfbb8bb46ff79a6
+ldr :: offset: 0xef, out: 0xfbb8bb46ff79a6f1
+ldr :: offset: 0xf0, out: 0xe1
+ldr :: offset: 0xf1, out: 0xe13e
+ldr :: offset: 0xf2, out: 0xe13ef6
+ldr :: offset: 0xf3, out: 0xe13ef6f4
+ldr :: offset: 0xf4, out: 0xe13ef6f4e5
+ldr :: offset: 0xf5, out: 0xe13ef6f4e5ff
+ldr :: offset: 0xf6, out: 0xe13ef6f4e5ffeb
+ldr :: offset: 0xf7, out: 0xe13ef6f4e5ffeb43
+ldr :: offset: 0xf8, out: 0xe8
+ldr :: offset: 0xf9, out: 0xe8bc
+ldr :: offset: 0xfa, out: 0xe8bccd
+ldr :: offset: 0xfb, out: 0xe8bccd9a
+ldr :: offset: 0xfc, out: 0xe8bccd9aec
+ldr :: offset: 0xfd, out: 0xe8bccd9aec7d
+ldr :: offset: 0xfe, out: 0xe8bccd9aec7dd0
+ldr :: offset: 0xff, out: 0xe8bccd9aec7dd02d
+ldr :: offset: 0x100, out: 0x34
+ldr :: offset: 0x101, out: 0x3486
+ldr :: offset: 0x102, out: 0x348670
+ldr :: offset: 0x103, out: 0x34867077
+ldr :: offset: 0x104, out: 0x3486707730
+ldr :: offset: 0x105, out: 0x348670773047
+ldr :: offset: 0x106, out: 0x3486707730476d
+ldr :: offset: 0x107, out: 0x3486707730476dc0
+ldr :: offset: 0x108, out: 0x3d
+ldr :: offset: 0x109, out: 0x3d04
+ldr :: offset: 0x10a, out: 0x3d044b
+ldr :: offset: 0x10b, out: 0x3d044b19
+ldr :: offset: 0x10c, out: 0x3d044b1939
+ldr :: offset: 0x10d, out: 0x3d044b1939c5
+ldr :: offset: 0x10e, out: 0x3d044b1939c556
+ldr :: offset: 0x10f, out: 0x3d044b1939c556ae
+ldr :: offset: 0x110, out: 0x27
+ldr :: offset: 0x111, out: 0x2782
+ldr :: offset: 0x112, out: 0x278206
+ldr :: offset: 0x113, out: 0x278206ab
+ldr :: offset: 0x114, out: 0x278206ab23
+ldr :: offset: 0x115, out: 0x278206ab2343
+ldr :: offset: 0x116, out: 0x278206ab23431b
+ldr :: offset: 0x117, out: 0x278206ab23431b1c
+ldr :: offset: 0x118, out: 0x2e
+ldr :: offset: 0x119, out: 0x2e00
+ldr :: offset: 0x11a, out: 0x2e003d
+ldr :: offset: 0x11b, out: 0x2e003dc5
+ldr :: offset: 0x11c, out: 0x2e003dc52a
+ldr :: offset: 0x11d, out: 0x2e003dc52ac1
+ldr :: offset: 0x11e, out: 0x2e003dc52ac120
+ldr :: offset: 0x11f, out: 0x2e003dc52ac12072
+ldr :: offset: 0x120, out: 0x12
+ldr :: offset: 0x121, out: 0x128e
+ldr :: offset: 0x122, out: 0x128e9d
+ldr :: offset: 0x123, out: 0x128e9dcf
+ldr :: offset: 0x124, out: 0x128e9dcf16
+ldr :: offset: 0x125, out: 0x128e9dcf164f
+ldr :: offset: 0x126, out: 0x128e9dcf164f80
+ldr :: offset: 0x127, out: 0x128e9dcf164f8078
+ldr :: offset: 0x128, out: 0x1b
+ldr :: offset: 0x129, out: 0x1b0c
+ldr :: offset: 0x12a, out: 0x1b0ca6
+ldr :: offset: 0x12b, out: 0x1b0ca6a1
+ldr :: offset: 0x12c, out: 0x1b0ca6a11f
+ldr :: offset: 0x12d, out: 0x1b0ca6a11fcd
+ldr :: offset: 0x12e, out: 0x1b0ca6a11fcdbb
+ldr :: offset: 0x12f, out: 0x1b0ca6a11fcdbb16
+ldr :: offset: 0x130, out: 0x1
+ldr :: offset: 0x131, out: 0x18a
+ldr :: offset: 0x132, out: 0x18aeb
+ldr :: offset: 0x133, out: 0x18aeb13
+ldr :: offset: 0x134, out: 0x18aeb1305
+ldr :: offset: 0x135, out: 0x18aeb13054b
+ldr :: offset: 0x136, out: 0x18aeb13054bf6
+ldr :: offset: 0x137, out: 0x18aeb13054bf6a4
+ldr :: offset: 0x138, out: 0x8
+ldr :: offset: 0x139, out: 0x808
+ldr :: offset: 0x13a, out: 0x808d0
+ldr :: offset: 0x13b, out: 0x808d07d
+ldr :: offset: 0x13c, out: 0x808d07d0c
+ldr :: offset: 0x13d, out: 0x808d07d0cc9
+ldr :: offset: 0x13e, out: 0x808d07d0cc9cd
+ldr :: offset: 0x13f, out: 0x808d07d0cc9cdca
+ldr :: offset: 0x140, out: 0x78
+ldr :: offset: 0x141, out: 0x7897
+ldr :: offset: 0x142, out: 0x7897ab
+ldr :: offset: 0x143, out: 0x7897ab07
+ldr :: offset: 0x144, out: 0x7897ab077c
+ldr :: offset: 0x145, out: 0x7897ab077c56
+ldr :: offset: 0x146, out: 0x7897ab077c56b6
+ldr :: offset: 0x147, out: 0x7897ab077c56b6b0
+ldr :: offset: 0x148, out: 0x71
+ldr :: offset: 0x149, out: 0x7115
+ldr :: offset: 0x14a, out: 0x711590
+ldr :: offset: 0x14b, out: 0x71159069
+ldr :: offset: 0x14c, out: 0x7115906975
+ldr :: offset: 0x14d, out: 0x7115906975d4
+ldr :: offset: 0x14e, out: 0x7115906975d48d
+ldr :: offset: 0x14f, out: 0x7115906975d48dde
+ldr :: offset: 0x150, out: 0x6b
+ldr :: offset: 0x151, out: 0x6b93
+ldr :: offset: 0x152, out: 0x6b93dd
+ldr :: offset: 0x153, out: 0x6b93dddb
+ldr :: offset: 0x154, out: 0x6b93dddb6f
+ldr :: offset: 0x155, out: 0x6b93dddb6f52
+ldr :: offset: 0x156, out: 0x6b93dddb6f52c0
+ldr :: offset: 0x157, out: 0x6b93dddb6f52c06c
+ldr :: offset: 0x158, out: 0x62
+ldr :: offset: 0x159, out: 0x6211
+ldr :: offset: 0x15a, out: 0x6211e6
+ldr :: offset: 0x15b, out: 0x6211e6b5
+ldr :: offset: 0x15c, out: 0x6211e6b566
+ldr :: offset: 0x15d, out: 0x6211e6b566d0
+ldr :: offset: 0x15e, out: 0x6211e6b566d0fb
+ldr :: offset: 0x15f, out: 0x6211e6b566d0fb02
+ldr :: offset: 0x160, out: 0x5e
+ldr :: offset: 0x161, out: 0x5e9f
+ldr :: offset: 0x162, out: 0x5e9f46
+ldr :: offset: 0x163, out: 0x5e9f46bf
+ldr :: offset: 0x164, out: 0x5e9f46bf5a
+ldr :: offset: 0x165, out: 0x5e9f46bf5a5e
+ldr :: offset: 0x166, out: 0x5e9f46bf5a5e5b
+ldr :: offset: 0x167, out: 0x5e9f46bf5a5e5b08
+ldr :: offset: 0x168, out: 0x57
+ldr :: offset: 0x169, out: 0x571d
+ldr :: offset: 0x16a, out: 0x571d7d
+ldr :: offset: 0x16b, out: 0x571d7dd1
+ldr :: offset: 0x16c, out: 0x571d7dd153
+ldr :: offset: 0x16d, out: 0x571d7dd153dc
+ldr :: offset: 0x16e, out: 0x571d7dd153dc60
+ldr :: offset: 0x16f, out: 0x571d7dd153dc6066
+ldr :: offset: 0x170, out: 0x4d
+ldr :: offset: 0x171, out: 0x4d9b
+ldr :: offset: 0x172, out: 0x4d9b30
+ldr :: offset: 0x173, out: 0x4d9b3063
+ldr :: offset: 0x174, out: 0x4d9b306349
+ldr :: offset: 0x175, out: 0x4d9b3063495a
+ldr :: offset: 0x176, out: 0x4d9b3063495a2d
+ldr :: offset: 0x177, out: 0x4d9b3063495a2dd4
+ldr :: offset: 0x178, out: 0x44
+ldr :: offset: 0x179, out: 0x4419
+ldr :: offset: 0x17a, out: 0x44190b
+ldr :: offset: 0x17b, out: 0x44190b0d
+ldr :: offset: 0x17c, out: 0x44190b0d40
+ldr :: offset: 0x17d, out: 0x44190b0d40d8
+ldr :: offset: 0x17e, out: 0x44190b0d40d816
+ldr :: offset: 0x17f, out: 0x44190b0d40d816ba
+ldr :: offset: 0x180, out: 0xac
+ldr :: offset: 0x181, out: 0xaca5
+ldr :: offset: 0x182, out: 0xaca5c6
+ldr :: offset: 0x183, out: 0xaca5c697
+ldr :: offset: 0x184, out: 0xaca5c697a8
+ldr :: offset: 0x185, out: 0xaca5c697a864
+ldr :: offset: 0x186, out: 0xaca5c697a864db
+ldr :: offset: 0x187, out: 0xaca5c697a864db20
+ldr :: offset: 0x188, out: 0xa5
+ldr :: offset: 0x189, out: 0xa527
+ldr :: offset: 0x18a, out: 0xa527fd
+ldr :: offset: 0x18b, out: 0xa527fdf9
+ldr :: offset: 0x18c, out: 0xa527fdf9a1
+ldr :: offset: 0x18d, out: 0xa527fdf9a1e6
+ldr :: offset: 0x18e, out: 0xa527fdf9a1e6e0
+ldr :: offset: 0x18f, out: 0xa527fdf9a1e6e04e
+ldr :: offset: 0x190, out: 0xbf
+ldr :: offset: 0x191, out: 0xbfa1
+ldr :: offset: 0x192, out: 0xbfa1b0
+ldr :: offset: 0x193, out: 0xbfa1b04b
+ldr :: offset: 0x194, out: 0xbfa1b04bbb
+ldr :: offset: 0x195, out: 0xbfa1b04bbb60
+ldr :: offset: 0x196, out: 0xbfa1b04bbb60ad
+ldr :: offset: 0x197, out: 0xbfa1b04bbb60adfc
+ldr :: offset: 0x198, out: 0xb6
+ldr :: offset: 0x199, out: 0xb623
+ldr :: offset: 0x19a, out: 0xb6238b
+ldr :: offset: 0x19b, out: 0xb6238b25
+ldr :: offset: 0x19c, out: 0xb6238b25b2
+ldr :: offset: 0x19d, out: 0xb6238b25b2e2
+ldr :: offset: 0x19e, out: 0xb6238b25b2e296
+ldr :: offset: 0x19f, out: 0xb6238b25b2e29692
+ldr :: offset: 0x1a0, out: 0x8a
+ldr :: offset: 0x1a1, out: 0x8aad
+ldr :: offset: 0x1a2, out: 0x8aad2b
+ldr :: offset: 0x1a3, out: 0x8aad2b2f
+ldr :: offset: 0x1a4, out: 0x8aad2b2f00
+ldr :: offset: 0x1a5, out: 0x8aad2b2f0000
+ldr :: offset: 0x1a6, out: 0x8aad2b2f000000
+ldr :: offset: 0x1a7, out: 0x8aad2b2f00000000
+ldr :: offset: 0x1a8, out: 0x0
+ldr :: offset: 0x1a9, out: 0x0
+ldr :: offset: 0x1aa, out: 0x0
+ldr :: offset: 0x1ab, out: 0x0
+ldr :: offset: 0x1ac, out: 0x87
+ldr :: offset: 0x1ad, out: 0x87ee
+ldr :: offset: 0x1ae, out: 0x87ee0d
+ldr :: offset: 0x1af, out: 0x87ee0df6
+ldr :: offset: 0x1b0, out: 0x99
+ldr :: offset: 0x1b1, out: 0x99a9
+ldr :: offset: 0x1b2, out: 0x99a95d
+ldr :: offset: 0x1b3, out: 0x99a95df3
+ldr :: offset: 0x1b4, out: 0x99a95df39d
+ldr :: offset: 0x1b5, out: 0x99a95df39d68
+ldr :: offset: 0x1b6, out: 0x99a95df39d6840
+ldr :: offset: 0x1b7, out: 0x99a95df39d684044
+ldr :: offset: 0x1b8, out: 0x90
+ldr :: offset: 0x1b9, out: 0x902b
+ldr :: offset: 0x1ba, out: 0x902b66
+ldr :: offset: 0x1bb, out: 0x902b669d
+ldr :: offset: 0x1bc, out: 0x902b669d94
+ldr :: offset: 0x1bd, out: 0x902b669d94ea
+ldr :: offset: 0x1be, out: 0x902b669d94ea7b
+ldr :: offset: 0x1bf, out: 0x902b669d94ea7b2a
+ldr :: offset: 0x1c0, out: 0xe0
+ldr :: offset: 0x1c1, out: 0xe0b4
+ldr :: offset: 0x1c2, out: 0xe0b41d
+ldr :: offset: 0x1c3, out: 0xe0b41de7
+ldr :: offset: 0x1c4, out: 0xe0b41de7e4
+ldr :: offset: 0x1c5, out: 0xe0b41de7e475
+ldr :: offset: 0x1c6, out: 0xe0b41de7e47500
+ldr :: offset: 0x1c7, out: 0xe0b41de7e4750050
+ldr :: offset: 0x1c8, out: 0xe9
+ldr :: offset: 0x1c9, out: 0xe936
+ldr :: offset: 0x1ca, out: 0xe93626
+ldr :: offset: 0x1cb, out: 0xe9362689
+ldr :: offset: 0x1cc, out: 0xe9362689ed
+ldr :: offset: 0x1cd, out: 0xe9362689edf7
+ldr :: offset: 0x1ce, out: 0xe9362689edf73b
+ldr :: offset: 0x1cf, out: 0xe9362689edf73b3e
+ldr :: offset: 0x1d0, out: 0xf3
+ldr :: offset: 0x1d1, out: 0xf3b0
+ldr :: offset: 0x1d2, out: 0xf3b06b
+ldr :: offset: 0x1d3, out: 0xf3b06b3b
+ldr :: offset: 0x1d4, out: 0xf3b06b3bf7
+ldr :: offset: 0x1d5, out: 0xf3b06b3bf771
+ldr :: offset: 0x1d6, out: 0xf3b06b3bf77176
+ldr :: offset: 0x1d7, out: 0xf3b06b3bf771768c
+ldr :: offset: 0x1d8, out: 0xfa
+ldr :: offset: 0x1d9, out: 0xfa32
+ldr :: offset: 0x1da, out: 0xfa3250
+ldr :: offset: 0x1db, out: 0xfa325055
+ldr :: offset: 0x1dc, out: 0xfa325055fe
+ldr :: offset: 0x1dd, out: 0xfa325055fef3
+ldr :: offset: 0x1de, out: 0xfa325055fef34d
+ldr :: offset: 0x1df, out: 0xfa325055fef34de2
+ldr :: offset: 0x1e0, out: 0xc6
+ldr :: offset: 0x1e1, out: 0xc6bc
+ldr :: offset: 0x1e2, out: 0xc6bcf0
+ldr :: offset: 0x1e3, out: 0xc6bcf05f
+ldr :: offset: 0x1e4, out: 0xc6bcf05fc2
+ldr :: offset: 0x1e5, out: 0xc6bcf05fc27d
+ldr :: offset: 0x1e6, out: 0xc6bcf05fc27ded
+ldr :: offset: 0x1e7, out: 0xc6bcf05fc27dede8
+ldr :: offset: 0x1e8, out: 0xcf
+ldr :: offset: 0x1e9, out: 0xcf3e
+ldr :: offset: 0x1ea, out: 0xcf3ecb
+ldr :: offset: 0x1eb, out: 0xcf3ecb31
+ldr :: offset: 0x1ec, out: 0xcf3ecb31cb
+ldr :: offset: 0x1ed, out: 0xcf3ecb31cbff
+ldr :: offset: 0x1ee, out: 0xcf3ecb31cbffd6
+ldr :: offset: 0x1ef, out: 0xcf3ecb31cbffd686
+ldr :: offset: 0x1f0, out: 0xd5
+ldr :: offset: 0x1f1, out: 0xd5b8
+ldr :: offset: 0x1f2, out: 0xd5b886
+ldr :: offset: 0x1f3, out: 0xd5b88683
+ldr :: offset: 0x1f4, out: 0xd5b88683d1
+ldr :: offset: 0x1f5, out: 0xd5b88683d179
+ldr :: offset: 0x1f6, out: 0xd5b88683d1799b
+ldr :: offset: 0x1f7, out: 0xd5b88683d1799b34
+ldr :: offset: 0x1f8, out: 0xdc
+ldr :: offset: 0x1f9, out: 0xdc3a
+ldr :: offset: 0x1fa, out: 0xdc3abd
+ldr :: offset: 0x1fb, out: 0xdc3abded
+ldr :: offset: 0x1fc, out: 0xdc3abdedd8
+ldr :: offset: 0x1fd, out: 0xdc3abdedd8fb
+ldr :: offset: 0x1fe, out: 0xdc3abdedd8fba0
+ldr :: offset: 0x1ff, out: 0xdc3abdedd8fba05a
+ldr :: offset: 0x200, out: 0x69
+ldr :: offset: 0x201, out: 0x690c
+ldr :: offset: 0x202, out: 0x690ce0
+ldr :: offset: 0x203, out: 0x690ce0ee
+ldr :: offset: 0x204, out: 0x690ce0ee6d
+ldr :: offset: 0x205, out: 0x690ce0ee6dcd
+ldr :: offset: 0x206, out: 0x690ce0ee6dcdfd
+ldr :: offset: 0x207, out: 0x690ce0ee6dcdfd59
+ldr :: offset: 0x208, out: 0x60
+ldr :: offset: 0x209, out: 0x608e
+ldr :: offset: 0x20a, out: 0x608edb
+ldr :: offset: 0x20b, out: 0x608edb80
+ldr :: offset: 0x20c, out: 0x608edb8064
+ldr :: offset: 0x20d, out: 0x608edb80644f
+ldr :: offset: 0x20e, out: 0x608edb80644fc6
+ldr :: offset: 0x20f, out: 0x608edb80644fc637
+ldr :: offset: 0x210, out: 0x7a
+ldr :: offset: 0x211, out: 0x7a08
+ldr :: offset: 0x212, out: 0x7a0896
+ldr :: offset: 0x213, out: 0x7a089632
+ldr :: offset: 0x214, out: 0x7a0896327e
+ldr :: offset: 0x215, out: 0x7a0896327ec9
+ldr :: offset: 0x216, out: 0x7a0896327ec98b
+ldr :: offset: 0x217, out: 0x7a0896327ec98b85
+ldr :: offset: 0x218, out: 0x73
+ldr :: offset: 0x219, out: 0x738a
+ldr :: offset: 0x21a, out: 0x738aad
+ldr :: offset: 0x21b, out: 0x738aad5c
+ldr :: offset: 0x21c, out: 0x738aad5c77
+ldr :: offset: 0x21d, out: 0x738aad5c774b
+ldr :: offset: 0x21e, out: 0x738aad5c774bb0
+ldr :: offset: 0x21f, out: 0x738aad5c774bb0eb
+ldr :: offset: 0x220, out: 0x4f
+ldr :: offset: 0x221, out: 0x4f04
+ldr :: offset: 0x222, out: 0x4f040d
+ldr :: offset: 0x223, out: 0x4f040d56
+ldr :: offset: 0x224, out: 0x4f040d564b
+ldr :: offset: 0x225, out: 0x4f040d564bc5
+ldr :: offset: 0x226, out: 0x4f040d564bc510
+ldr :: offset: 0x227, out: 0x4f040d564bc510e1
+ldr :: offset: 0x228, out: 0x46
+ldr :: offset: 0x229, out: 0x4686
+ldr :: offset: 0x22a, out: 0x468636
+ldr :: offset: 0x22b, out: 0x46863638
+ldr :: offset: 0x22c, out: 0x4686363842
+ldr :: offset: 0x22d, out: 0x468636384247
+ldr :: offset: 0x22e, out: 0x4686363842472b
+ldr :: offset: 0x22f, out: 0x4686363842472b8f
+ldr :: offset: 0x230, out: 0x5c
+ldr :: offset: 0x231, out: 0x5c00
+ldr :: offset: 0x232, out: 0x5c007b
+ldr :: offset: 0x233, out: 0x5c007b8a
+ldr :: offset: 0x234, out: 0x5c007b8a58
+ldr :: offset: 0x235, out: 0x5c007b8a58c1
+ldr :: offset: 0x236, out: 0x5c007b8a58c166
+ldr :: offset: 0x237, out: 0x5c007b8a58c1663d
+ldr :: offset: 0x238, out: 0x55
+ldr :: offset: 0x239, out: 0x5582
+ldr :: offset: 0x23a, out: 0x558240
+ldr :: offset: 0x23b, out: 0x558240e4
+ldr :: offset: 0x23c, out: 0x558240e451
+ldr :: offset: 0x23d, out: 0x558240e45143
+ldr :: offset: 0x23e, out: 0x558240e451435d
+ldr :: offset: 0x23f, out: 0x558240e451435d53
+ldr :: offset: 0x240, out: 0x25
+ldr :: offset: 0x241, out: 0x251d
+ldr :: offset: 0x242, out: 0x251d3b
+ldr :: offset: 0x243, out: 0x251d3b9e
+ldr :: offset: 0x244, out: 0x251d3b9e21
+ldr :: offset: 0x245, out: 0x251d3b9e21dc
+ldr :: offset: 0x246, out: 0x251d3b9e21dc26
+ldr :: offset: 0x247, out: 0x251d3b9e21dc2629
+ldr :: offset: 0x248, out: 0x2c
+ldr :: offset: 0x249, out: 0x2c9f
+ldr :: offset: 0x24a, out: 0x2c9f00
+ldr :: offset: 0x24b, out: 0x2c9f00f0
+ldr :: offset: 0x24c, out: 0x2c9f00f028
+ldr :: offset: 0x24d, out: 0x2c9f00f0285e
+ldr :: offset: 0x24e, out: 0x2c9f00f0285e1d
+ldr :: offset: 0x24f, out: 0x2c9f00f0285e1d47
+ldr :: offset: 0x250, out: 0x36
+ldr :: offset: 0x251, out: 0x3619
+ldr :: offset: 0x252, out: 0x36194d
+ldr :: offset: 0x253, out: 0x36194d42
+ldr :: offset: 0x254, out: 0x36194d4232
+ldr :: offset: 0x255, out: 0x36194d4232d8
+ldr :: offset: 0x256, out: 0x36194d4232d850
+ldr :: offset: 0x257, out: 0x36194d4232d850f5
+ldr :: offset: 0x258, out: 0x3f
+ldr :: offset: 0x259, out: 0x3f9b
+ldr :: offset: 0x25a, out: 0x3f9b76
+ldr :: offset: 0x25b, out: 0x3f9b762c
+ldr :: offset: 0x25c, out: 0x3f9b762c3b
+ldr :: offset: 0x25d, out: 0x3f9b762c3b5a
+ldr :: offset: 0x25e, out: 0x3f9b762c3b5a6b
+ldr :: offset: 0x25f, out: 0x3f9b762c3b5a6b9b
+ldr :: offset: 0x260, out: 0x3
+ldr :: offset: 0x261, out: 0x315
+ldr :: offset: 0x262, out: 0x315d6
+ldr :: offset: 0x263, out: 0x315d626
+ldr :: offset: 0x264, out: 0x315d62607
+ldr :: offset: 0x265, out: 0x315d62607d4
+ldr :: offset: 0x266, out: 0x315d62607d4cb
+ldr :: offset: 0x267, out: 0x315d62607d4cb91
+ldr :: offset: 0x268, out: 0xa
+ldr :: offset: 0x269, out: 0xa97
+ldr :: offset: 0x26a, out: 0xa97ed
+ldr :: offset: 0x26b, out: 0xa97ed48
+ldr :: offset: 0x26c, out: 0xa97ed480e
+ldr :: offset: 0x26d, out: 0xa97ed480e56
+ldr :: offset: 0x26e, out: 0xa97ed480e56f0
+ldr :: offset: 0x26f, out: 0xa97ed480e56f0ff
+ldr :: offset: 0x270, out: 0x10
+ldr :: offset: 0x271, out: 0x1011
+ldr :: offset: 0x272, out: 0x1011a0
+ldr :: offset: 0x273, out: 0x1011a0fa
+ldr :: offset: 0x274, out: 0x1011a0fa14
+ldr :: offset: 0x275, out: 0x1011a0fa14d0
+ldr :: offset: 0x276, out: 0x1011a0fa14d0bd
+ldr :: offset: 0x277, out: 0x1011a0fa14d0bd4d
+ldr :: offset: 0x278, out: 0x19
+ldr :: offset: 0x279, out: 0x1993
+ldr :: offset: 0x27a, out: 0x19939b
+ldr :: offset: 0x27b, out: 0x19939b94
+ldr :: offset: 0x27c, out: 0x19939b941d
+ldr :: offset: 0x27d, out: 0x19939b941d52
+ldr :: offset: 0x27e, out: 0x19939b941d5286
+ldr :: offset: 0x27f, out: 0x19939b941d528623
+ldr :: offset: 0x280, out: 0xf1
+ldr :: offset: 0x281, out: 0xf12f
+ldr :: offset: 0x282, out: 0xf12f56
+ldr :: offset: 0x283, out: 0xf12f560e
+ldr :: offset: 0x284, out: 0xf12f560ef5
+ldr :: offset: 0x285, out: 0xf12f560ef5ee
+ldr :: offset: 0x286, out: 0xf12f560ef5ee4b
+ldr :: offset: 0x287, out: 0xf12f560ef5ee4bb9
+ldr :: offset: 0x288, out: 0xf8
+ldr :: offset: 0x289, out: 0xf8ad
+ldr :: offset: 0x28a, out: 0xf8ad6d
+ldr :: offset: 0x28b, out: 0xf8ad6d60
+ldr :: offset: 0x28c, out: 0xf8ad6d60fc
+ldr :: offset: 0x28d, out: 0xf8ad6d60fc6c
+ldr :: offset: 0x28e, out: 0xf8ad6d60fc6c70
+ldr :: offset: 0x28f, out: 0xf8ad6d60fc6c70d7
+ldr :: offset: 0x290, out: 0xe2
+ldr :: offset: 0x291, out: 0xe22b
+ldr :: offset: 0x292, out: 0xe22b20
+ldr :: offset: 0x293, out: 0xe22b20d2
+ldr :: offset: 0x294, out: 0xe22b20d2e6
+ldr :: offset: 0x295, out: 0xe22b20d2e6ea
+ldr :: offset: 0x296, out: 0xe22b20d2e6ea3d
+ldr :: offset: 0x297, out: 0xe22b20d2e6ea3d65
+ldr :: offset: 0x298, out: 0xeb
+ldr :: offset: 0x299, out: 0xeba9
+ldr :: offset: 0x29a, out: 0xeba91b
+ldr :: offset: 0x29b, out: 0xeba91bbc
+ldr :: offset: 0x29c, out: 0xeba91bbcef
+ldr :: offset: 0x29d, out: 0xeba91bbcef68
+ldr :: offset: 0x29e, out: 0xeba91bbcef6806
+ldr :: offset: 0x29f, out: 0xeba91bbcef68060b
+ldr :: offset: 0x2a0, out: 0xd7
+ldr :: offset: 0x2a1, out: 0xd727
+ldr :: offset: 0x2a2, out: 0xd727bb
+ldr :: offset: 0x2a3, out: 0xd727bbb6
+ldr :: offset: 0x2a4, out: 0xd727bbb6d3
+ldr :: offset: 0x2a5, out: 0xd727bbb6d3e6
+ldr :: offset: 0x2a6, out: 0xd727bbb6d3e6a6
+ldr :: offset: 0x2a7, out: 0xd727bbb6d3e6a601
+ldr :: offset: 0x2a8, out: 0xde
+ldr :: offset: 0x2a9, out: 0xdea5
+ldr :: offset: 0x2aa, out: 0xdea580
+ldr :: offset: 0x2ab, out: 0xdea580d8
+ldr :: offset: 0x2ac, out: 0xdea580d8da
+ldr :: offset: 0x2ad, out: 0xdea580d8da64
+ldr :: offset: 0x2ae, out: 0xdea580d8da649d
+ldr :: offset: 0x2af, out: 0xdea580d8da649d6f
+ldr :: offset: 0x2b0, out: 0xc4
+ldr :: offset: 0x2b1, out: 0xc423
+ldr :: offset: 0x2b2, out: 0xc423cd
+ldr :: offset: 0x2b3, out: 0xc423cd6a
+ldr :: offset: 0x2b4, out: 0xc423cd6a00
+ldr :: offset: 0x2b5, out: 0xc423cd6a0000
+ldr :: offset: 0x2b6, out: 0xc423cd6a000000
+ldr :: offset: 0x2b7, out: 0xc423cd6a00000000
+ldr :: offset: 0x2b8, out: 0xcd
+ldr :: offset: 0x2b9, out: 0xcda1
+ldr :: offset: 0x2ba, out: 0xcda1f6
+ldr :: offset: 0x2bb, out: 0xcda1f604
+ldr :: offset: 0x2bc, out: 0xcda1f60400
+ldr :: offset: 0x2bd, out: 0xcda1f6040000
+ldr :: offset: 0x2be, out: 0xcda1f604000000
+ldr :: offset: 0x2bf, out: 0xcda1f60400000000
+ldr :: offset: 0x2c0, out: 0xbd
+ldr :: offset: 0x2c1, out: 0xbd3e
+ldr :: offset: 0x2c2, out: 0xbd3e8d
+ldr :: offset: 0x2c3, out: 0xbd3e8d7e
+ldr :: offset: 0x2c4, out: 0xbd3e8d7eb9
+ldr :: offset: 0x2c5, out: 0xbd3e8d7eb9ff
+ldr :: offset: 0x2c6, out: 0xbd3e8d7eb9ff90
+ldr :: offset: 0x2c7, out: 0xbd3e8d7eb9ff90c9
+ldr :: offset: 0x2c8, out: 0xb4
+ldr :: offset: 0x2c9, out: 0xb4bc
+ldr :: offset: 0x2ca, out: 0xb4bcb6
+ldr :: offset: 0x2cb, out: 0xb4bcb610
+ldr :: offset: 0x2cc, out: 0xb4bcb610b0
+ldr :: offset: 0x2cd, out: 0xb4bcb610b07d
+ldr :: offset: 0x2ce, out: 0xb4bcb610b07dab
+ldr :: offset: 0x2cf, out: 0xb4bcb610b07daba7
+ldr :: offset: 0x2d0, out: 0xae
+ldr :: offset: 0x2d1, out: 0xae3a
+ldr :: offset: 0x2d2, out: 0xae3afb
+ldr :: offset: 0x2d3, out: 0xae3afba2
+ldr :: offset: 0x2d4, out: 0xae3afba2aa
+ldr :: offset: 0x2d5, out: 0xae3afba2aafb
+ldr :: offset: 0x2d6, out: 0xae3afba2aafbe6
+ldr :: offset: 0x2d7, out: 0xae3afba2aafbe615
+ldr :: offset: 0x2d8, out: 0xa7
+ldr :: offset: 0x2d9, out: 0xa7b8
+ldr :: offset: 0x2da, out: 0xa7b8c0
+ldr :: offset: 0x2db, out: 0xa7b8c0cc
+ldr :: offset: 0x2dc, out: 0xa7b8c0cca3
+ldr :: offset: 0x2dd, out: 0xa7b8c0cca379
+ldr :: offset: 0x2de, out: 0xa7b8c0cca379dd
+ldr :: offset: 0x2df, out: 0xa7b8c0cca379dd7b
+ldr :: offset: 0x2e0, out: 0x9b
+ldr :: offset: 0x2e1, out: 0x9b36
+ldr :: offset: 0x2e2, out: 0x9b3660
+ldr :: offset: 0x2e3, out: 0x9b3660c6
+ldr :: offset: 0x2e4, out: 0x9b3660c69f
+ldr :: offset: 0x2e5, out: 0x9b3660c69ff7
+ldr :: offset: 0x2e6, out: 0x9b3660c69ff77d
+ldr :: offset: 0x2e7, out: 0x9b3660c69ff77d71
+ldr :: offset: 0x2e8, out: 0x92
+ldr :: offset: 0x2e9, out: 0x92b4
+ldr :: offset: 0x2ea, out: 0x92b45b
+ldr :: offset: 0x2eb, out: 0x92b45ba8
+ldr :: offset: 0x2ec, out: 0x92b45ba896
+ldr :: offset: 0x2ed, out: 0x92b45ba89675
+ldr :: offset: 0x2ee, out: 0x92b45ba8967546
+ldr :: offset: 0x2ef, out: 0x92b45ba89675461f
+ldr :: offset: 0x2f0, out: 0x88
+ldr :: offset: 0x2f1, out: 0x8832
+ldr :: offset: 0x2f2, out: 0x883216
+ldr :: offset: 0x2f3, out: 0x8832161a
+ldr :: offset: 0x2f4, out: 0x8832161a8c
+ldr :: offset: 0x2f5, out: 0x8832161a8cf3
+ldr :: offset: 0x2f6, out: 0x8832161a8cf30b
+ldr :: offset: 0x2f7, out: 0x8832161a8cf30bad
+ldr :: offset: 0x2f8, out: 0x81
+ldr :: offset: 0x2f9, out: 0x81b0
+ldr :: offset: 0x2fa, out: 0x81b02d
+ldr :: offset: 0x2fb, out: 0x81b02d74
+ldr :: offset: 0x2fc, out: 0x81b02d7485
+ldr :: offset: 0x2fd, out: 0x81b02d748571
+ldr :: offset: 0x2fe, out: 0x81b02d74857130
+ldr :: offset: 0x2ff, out: 0x81b02d74857130c3
+ldr :: offset: 0x300, out: 0x5d
+ldr :: offset: 0x301, out: 0x5d8a
+ldr :: offset: 0x302, out: 0x5d8a90
+ldr :: offset: 0x303, out: 0x5d8a9099
+ldr :: offset: 0x304, out: 0x5d8a909959
+ldr :: offset: 0x305, out: 0x5d8a9099594b
+ldr :: offset: 0x306, out: 0x5d8a9099594b8d
+ldr :: offset: 0x307, out: 0x5d8a9099594b8d2e
+ldr :: offset: 0x308, out: 0x54
+ldr :: offset: 0x309, out: 0x5408
+ldr :: offset: 0x30a, out: 0x5408ab
+ldr :: offset: 0x30b, out: 0x5408abf7
+ldr :: offset: 0x30c, out: 0x5408abf750
+ldr :: offset: 0x30d, out: 0x5408abf750c9
+ldr :: offset: 0x30e, out: 0x5408abf750c9b6
+ldr :: offset: 0x30f, out: 0x5408abf750c9b640
+ldr :: offset: 0x310, out: 0x4e
+ldr :: offset: 0x311, out: 0x4e8e
+ldr :: offset: 0x312, out: 0x4e8ee6
+ldr :: offset: 0x313, out: 0x4e8ee645
+ldr :: offset: 0x314, out: 0x4e8ee6454a
+ldr :: offset: 0x315, out: 0x4e8ee6454a4f
+ldr :: offset: 0x316, out: 0x4e8ee6454a4ffb
+ldr :: offset: 0x317, out: 0x4e8ee6454a4ffbf2
+ldr :: offset: 0x318, out: 0x47
+ldr :: offset: 0x319, out: 0x470c
+ldr :: offset: 0x31a, out: 0x470cdd
+ldr :: offset: 0x31b, out: 0x470cdd2b
+ldr :: offset: 0x31c, out: 0x470cdd2b43
+ldr :: offset: 0x31d, out: 0x470cdd2b43cd
+ldr :: offset: 0x31e, out: 0x470cdd2b43cdc0
+ldr :: offset: 0x31f, out: 0x470cdd2b43cdc09c
+ldr :: offset: 0x320, out: 0x7b
+ldr :: offset: 0x321, out: 0x7b82
+ldr :: offset: 0x322, out: 0x7b827d
+ldr :: offset: 0x323, out: 0x7b827d21
+ldr :: offset: 0x324, out: 0x7b827d217f
+ldr :: offset: 0x325, out: 0x7b827d217f43
+ldr :: offset: 0x326, out: 0x7b827d217f4360
+ldr :: offset: 0x327, out: 0x7b827d217f436096
+ldr :: offset: 0x328, out: 0x72
+ldr :: offset: 0x329, out: 0x7200
+ldr :: offset: 0x32a, out: 0x720046
+ldr :: offset: 0x32b, out: 0x7200464f
+ldr :: offset: 0x32c, out: 0x7200464f76
+ldr :: offset: 0x32d, out: 0x7200464f76c1
+ldr :: offset: 0x32e, out: 0x7200464f76c15b
+ldr :: offset: 0x32f, out: 0x7200464f76c15bf8
+ldr :: offset: 0x330, out: 0x68
+ldr :: offset: 0x331, out: 0x6886
+ldr :: offset: 0x332, out: 0x68860b
+ldr :: offset: 0x333, out: 0x68860bfd
+ldr :: offset: 0x334, out: 0x68860bfd6c
+ldr :: offset: 0x335, out: 0x68860bfd6c47
+ldr :: offset: 0x336, out: 0x68860bfd6c4716
+ldr :: offset: 0x337, out: 0x68860bfd6c47164a
+ldr :: offset: 0x338, out: 0x61
+ldr :: offset: 0x339, out: 0x6104
+ldr :: offset: 0x33a, out: 0x610430
+ldr :: offset: 0x33b, out: 0x61043093
+ldr :: offset: 0x33c, out: 0x6104309365
+ldr :: offset: 0x33d, out: 0x6104309365c5
+ldr :: offset: 0x33e, out: 0x6104309365c52d
+ldr :: offset: 0x33f, out: 0x6104309365c52d24
+ldr :: offset: 0x340, out: 0x11
+ldr :: offset: 0x341, out: 0x119b
+ldr :: offset: 0x342, out: 0x119b4b
+ldr :: offset: 0x343, out: 0x119b4be9
+ldr :: offset: 0x344, out: 0x119b4be915
+ldr :: offset: 0x345, out: 0x119b4be9155a
+ldr :: offset: 0x346, out: 0x119b4be9155a56
+ldr :: offset: 0x347, out: 0x119b4be9155a565e
+ldr :: offset: 0x348, out: 0x18
+ldr :: offset: 0x349, out: 0x1819
+ldr :: offset: 0x34a, out: 0x181970
+ldr :: offset: 0x34b, out: 0x18197087
+ldr :: offset: 0x34c, out: 0x181970871c
+ldr :: offset: 0x34d, out: 0x181970871cd8
+ldr :: offset: 0x34e, out: 0x181970871cd86d
+ldr :: offset: 0x34f, out: 0x181970871cd86d30
+ldr :: offset: 0x350, out: 0x2
+ldr :: offset: 0x351, out: 0x29f
+ldr :: offset: 0x352, out: 0x29f3d
+ldr :: offset: 0x353, out: 0x29f3d35
+ldr :: offset: 0x354, out: 0x29f3d3506
+ldr :: offset: 0x355, out: 0x29f3d35065e
+ldr :: offset: 0x356, out: 0x29f3d35065e20
+ldr :: offset: 0x357, out: 0x29f3d35065e2082
+ldr :: offset: 0x358, out: 0xb
+ldr :: offset: 0x359, out: 0xb1d
+ldr :: offset: 0x35a, out: 0xb1d06
+ldr :: offset: 0x35b, out: 0xb1d065b
+ldr :: offset: 0x35c, out: 0xb1d065b0f
+ldr :: offset: 0x35d, out: 0xb1d065b0fdc
+ldr :: offset: 0x35e, out: 0xb1d065b0fdc1b
+ldr :: offset: 0x35f, out: 0xb1d065b0fdc1bec
+ldr :: offset: 0x360, out: 0x37
+ldr :: offset: 0x361, out: 0x3793
+ldr :: offset: 0x362, out: 0x3793a6
+ldr :: offset: 0x363, out: 0x3793a651
+ldr :: offset: 0x364, out: 0x3793a65133
+ldr :: offset: 0x365, out: 0x3793a6513352
+ldr :: offset: 0x366, out: 0x3793a6513352bb
+ldr :: offset: 0x367, out: 0x3793a6513352bbe6
+ldr :: offset: 0x368, out: 0x3e
+ldr :: offset: 0x369, out: 0x3e11
+ldr :: offset: 0x36a, out: 0x3e119d
+ldr :: offset: 0x36b, out: 0x3e119d3f
+ldr :: offset: 0x36c, out: 0x3e119d3f3a
+ldr :: offset: 0x36d, out: 0x3e119d3f3ad0
+ldr :: offset: 0x36e, out: 0x3e119d3f3ad080
+ldr :: offset: 0x36f, out: 0x3e119d3f3ad08088
+ldr :: offset: 0x370, out: 0x24
+ldr :: offset: 0x371, out: 0x2497
+ldr :: offset: 0x372, out: 0x2497d0
+ldr :: offset: 0x373, out: 0x2497d08d
+ldr :: offset: 0x374, out: 0x2497d08d20
+ldr :: offset: 0x375, out: 0x2497d08d2056
+ldr :: offset: 0x376, out: 0x2497d08d2056cd
+ldr :: offset: 0x377, out: 0x2497d08d2056cd3a
+ldr :: offset: 0x378, out: 0x2d
+ldr :: offset: 0x379, out: 0x2d15
+ldr :: offset: 0x37a, out: 0x2d15eb
+ldr :: offset: 0x37b, out: 0x2d15ebe3
+ldr :: offset: 0x37c, out: 0x2d15ebe329
+ldr :: offset: 0x37d, out: 0x2d15ebe329d4
+ldr :: offset: 0x37e, out: 0x2d15ebe329d4f6
+ldr :: offset: 0x37f, out: 0x2d15ebe329d4f654
+ldr :: offset: 0x380, out: 0xc5
+ldr :: offset: 0x381, out: 0xc5a9
+ldr :: offset: 0x382, out: 0xc5a926
+ldr :: offset: 0x383, out: 0xc5a92679
+ldr :: offset: 0x384, out: 0xc5a92679c1
+ldr :: offset: 0x385, out: 0xc5a92679c168
+ldr :: offset: 0x386, out: 0xc5a92679c1683b
+ldr :: offset: 0x387, out: 0xc5a92679c1683bce
+ldr :: offset: 0x388, out: 0xcc
+ldr :: offset: 0x389, out: 0xcc2b
+ldr :: offset: 0x38a, out: 0xcc2b1d
+ldr :: offset: 0x38b, out: 0xcc2b1d17
+ldr :: offset: 0x38c, out: 0xcc2b1d17c8
+ldr :: offset: 0x38d, out: 0xcc2b1d17c8ea
+ldr :: offset: 0x38e, out: 0xcc2b1d17c8ea00
+ldr :: offset: 0x38f, out: 0xcc2b1d17c8ea00a0
+ldr :: offset: 0x390, out: 0xd6
+ldr :: offset: 0x391, out: 0xd6ad
+ldr :: offset: 0x392, out: 0xd6ad50
+ldr :: offset: 0x393, out: 0xd6ad50a5
+ldr :: offset: 0x394, out: 0xd6ad50a5d2
+ldr :: offset: 0x395, out: 0xd6ad50a5d26c
+ldr :: offset: 0x396, out: 0xd6ad50a5d26c4d
+ldr :: offset: 0x397, out: 0xd6ad50a5d26c4d12
+ldr :: offset: 0x398, out: 0xdf
+ldr :: offset: 0x399, out: 0xdf2f
+ldr :: offset: 0x39a, out: 0xdf2f6b
+ldr :: offset: 0x39b, out: 0xdf2f6bcb
+ldr :: offset: 0x39c, out: 0xdf2f6bcbdb
+ldr :: offset: 0x39d, out: 0xdf2f6bcbdbee
+ldr :: offset: 0x39e, out: 0xdf2f6bcbdbee76
+ldr :: offset: 0x39f, out: 0xdf2f6bcbdbee767c
+ldr :: offset: 0x3a0, out: 0xe3
+ldr :: offset: 0x3a1, out: 0xe3a1
+ldr :: offset: 0x3a2, out: 0xe3a1cb
+ldr :: offset: 0x3a3, out: 0xe3a1cbc1
+ldr :: offset: 0x3a4, out: 0xe3a1cbc1e7
+ldr :: offset: 0x3a5, out: 0xe3a1cbc1e760
+ldr :: offset: 0x3a6, out: 0xe3a1cbc1e760d6
+ldr :: offset: 0x3a7, out: 0xe3a1cbc1e760d676
+ldr :: offset: 0x3a8, out: 0xea
+ldr :: offset: 0x3a9, out: 0xea23
+ldr :: offset: 0x3aa, out: 0xea23f0
+ldr :: offset: 0x3ab, out: 0xea23f0af
+ldr :: offset: 0x3ac, out: 0xea23f0afee
+ldr :: offset: 0x3ad, out: 0xea23f0afeee2
+ldr :: offset: 0x3ae, out: 0xea23f0afeee2ed
+ldr :: offset: 0x3af, out: 0xea23f0afeee2ed18
+ldr :: offset: 0x3b0, out: 0xf0
+ldr :: offset: 0x3b1, out: 0xf0a5
+ldr :: offset: 0x3b2, out: 0xf0a5bd
+ldr :: offset: 0x3b3, out: 0xf0a5bd1d
+ldr :: offset: 0x3b4, out: 0xf0a5bd1df4
+ldr :: offset: 0x3b5, out: 0xf0a5bd1df464
+ldr :: offset: 0x3b6, out: 0xf0a5bd1df464a0
+ldr :: offset: 0x3b7, out: 0xf0a5bd1df464a0aa
+ldr :: offset: 0x3b8, out: 0xf9
+ldr :: offset: 0x3b9, out: 0xf927
+ldr :: offset: 0x3ba, out: 0xf92786
+ldr :: offset: 0x3bb, out: 0xf9278673
+ldr :: offset: 0x3bc, out: 0xf9278673fd
+ldr :: offset: 0x3bd, out: 0xf9278673fde6
+ldr :: offset: 0x3be, out: 0xf9278673fde69b
+ldr :: offset: 0x3bf, out: 0xf9278673fde69bc4
+ldr :: offset: 0x3c0, out: 0x89
+ldr :: offset: 0x3c1, out: 0x89b8
+ldr :: offset: 0x3c2, out: 0x89b8fd
+ldr :: offset: 0x3c3, out: 0x89b8fd09
+ldr :: offset: 0x3c4, out: 0x89b8fd098d
+ldr :: offset: 0x3c5, out: 0x89b8fd098d79
+ldr :: offset: 0x3c6, out: 0x89b8fd098d79e0
+ldr :: offset: 0x3c7, out: 0x89b8fd098d79e0be
+ldr :: offset: 0x3c8, out: 0x80
+ldr :: offset: 0x3c9, out: 0x803a
+ldr :: offset: 0x3ca, out: 0x803ac6
+ldr :: offset: 0x3cb, out: 0x803ac667
+ldr :: offset: 0x3cc, out: 0x803ac66784
+ldr :: offset: 0x3cd, out: 0x803ac66784fb
+ldr :: offset: 0x3ce, out: 0x803ac66784fbdb
+ldr :: offset: 0x3cf, out: 0x803ac66784fbdbd0
+ldr :: offset: 0x3d0, out: 0x9a
+ldr :: offset: 0x3d1, out: 0x9abc
+ldr :: offset: 0x3d2, out: 0x9abc8b
+ldr :: offset: 0x3d3, out: 0x9abc8bd5
+ldr :: offset: 0x3d4, out: 0x9abc8bd59e
+ldr :: offset: 0x3d5, out: 0x9abc8bd59e7d
+ldr :: offset: 0x3d6, out: 0x9abc8bd59e7d96
+ldr :: offset: 0x3d7, out: 0x9abc8bd59e7d9662
+ldr :: offset: 0x3d8, out: 0x93
+ldr :: offset: 0x3d9, out: 0x933e
+ldr :: offset: 0x3da, out: 0x933eb0
+ldr :: offset: 0x3db, out: 0x933eb0bb
+ldr :: offset: 0x3dc, out: 0x933eb0bb97
+ldr :: offset: 0x3dd, out: 0x933eb0bb97ff
+ldr :: offset: 0x3de, out: 0x933eb0bb97ffad
+ldr :: offset: 0x3df, out: 0x933eb0bb97ffad0c
+ldr :: offset: 0x3e0, out: 0xaf
+ldr :: offset: 0x3e1, out: 0xafb0
+ldr :: offset: 0x3e2, out: 0xafb010
+ldr :: offset: 0x3e3, out: 0xafb010b1
+ldr :: offset: 0x3e4, out: 0xafb010b1ab
+ldr :: offset: 0x3e5, out: 0xafb010b1ab71
+ldr :: offset: 0x3e6, out: 0xafb010b1ab710d
+ldr :: offset: 0x3e7, out: 0xafb010b1ab710d06
+ldr :: offset: 0x3e8, out: 0xa6
+ldr :: offset: 0x3e9, out: 0xa632
+ldr :: offset: 0x3ea, out: 0xa6322b
+ldr :: offset: 0x3eb, out: 0xa6322bdf
+ldr :: offset: 0x3ec, out: 0xa6322bdfa2
+ldr :: offset: 0x3ed, out: 0xa6322bdfa2f3
+ldr :: offset: 0x3ee, out: 0xa6322bdfa2f336
+ldr :: offset: 0x3ef, out: 0xa6322bdfa2f33668
+ldr :: offset: 0x3f0, out: 0xbc
+ldr :: offset: 0x3f1, out: 0xbcb4
+ldr :: offset: 0x3f2, out: 0xbcb466
+ldr :: offset: 0x3f3, out: 0xbcb4666d
+ldr :: offset: 0x3f4, out: 0xbcb4666db8
+ldr :: offset: 0x3f5, out: 0xbcb4666db875
+ldr :: offset: 0x3f6, out: 0xbcb4666db8757b
+ldr :: offset: 0x3f7, out: 0xbcb4666db8757bda
+ldr :: offset: 0x3f8, out: 0xb5
+ldr :: offset: 0x3f9, out: 0xb536
+ldr :: offset: 0x3fa, out: 0xb5365d
+ldr :: offset: 0x3fb, out: 0xb5365d03
+ldr :: offset: 0x3fc, out: 0xb5365d03b1
+ldr :: offset: 0x3fd, out: 0xb5365d03b1f7
+ldr :: offset: 0x3fe, out: 0xb5365d03b1f740
+ldr :: offset: 0x3ff, out: 0xb5365d03b1f740b4
+ldr :: offset: 0x0, out: 0x0
+ldr :: offset: 0x1, out: 0x0
+ldr :: offset: 0x2, out: 0x0
+ldr :: offset: 0x3, out: 0x0
+ldr :: offset: 0x4, out: 0x1
+ldr :: offset: 0x5, out: 0x12b
+ldr :: offset: 0x6, out: 0x12bd6
+ldr :: offset: 0x7, out: 0x12bd6aa
+ldr :: offset: 0x8, out: 0x0
+ldr :: offset: 0x9, out: 0x7e
+ldr :: offset: 0xa, out: 0x7e87
+ldr :: offset: 0xb, out: 0x7e8763
+ldr :: offset: 0xc, out: 0x7e876382
+ldr :: offset: 0xd, out: 0x7e876382d2
+ldr :: offset: 0xe, out: 0x7e876382d2ab
+ldr :: offset: 0xf, out: 0x7e876382d2ab13
+ldr :: offset: 0x10, out: 0x97
+ldr :: offset: 0x11, out: 0x976d
+ldr :: offset: 0x12, out: 0x976d6e
+ldr :: offset: 0x13, out: 0x976d6e9a
+ldr :: offset: 0x14, out: 0x976d6e9ac3
+ldr :: offset: 0x15, out: 0x976d6e9ac315
+ldr :: offset: 0x16, out: 0x976d6e9ac31510
+ldr :: offset: 0x17, out: 0x976d6e9ac31510f3
+ldr :: offset: 0x18, out: 0xb7
+ldr :: offset: 0x19, out: 0xb774
+ldr :: offset: 0x1a, out: 0xb7746d
+ldr :: offset: 0x1b, out: 0xb7746d77
+ldr :: offset: 0x1c, out: 0xb7746d775a
+ldr :: offset: 0x1d, out: 0xb7746d775ad6
+ldr :: offset: 0x1e, out: 0xb7746d775ad6a5
+ldr :: offset: 0x1f, out: 0xb7746d775ad6a5fb
+ldr :: offset: 0x20, out: 0x42
+ldr :: offset: 0x21, out: 0x42b0
+ldr :: offset: 0x22, out: 0x42b0c0
+ldr :: offset: 0x23, out: 0x42b0c0a2
+ldr :: offset: 0x24, out: 0x42b0c0a286
+ldr :: offset: 0x25, out: 0x42b0c0a28677
+ldr :: offset: 0x26, out: 0x42b0c0a28677b5
+ldr :: offset: 0x27, out: 0x42b0c0a28677b502
+ldr :: offset: 0x28, out: 0x2a
+ldr :: offset: 0x29, out: 0x2aa8
+ldr :: offset: 0x2a, out: 0x2aa89d
+ldr :: offset: 0x2b, out: 0x2aa89d31
+ldr :: offset: 0x2c, out: 0x2aa89d319e
+ldr :: offset: 0x2d, out: 0x2aa89d319e3c
+ldr :: offset: 0x2e, out: 0x2aa89d319e3c30
+ldr :: offset: 0x2f, out: 0x2aa89d319e3c30ad
+ldr :: offset: 0x30, out: 0x1f
+ldr :: offset: 0x31, out: 0x1f30
+ldr :: offset: 0x32, out: 0x1f308e
+ldr :: offset: 0x33, out: 0x1f308ec3
+ldr :: offset: 0x34, out: 0x1f308ec377
+ldr :: offset: 0x35, out: 0x1f308ec377fb
+ldr :: offset: 0x36, out: 0x1f308ec377fb41
+ldr :: offset: 0x37, out: 0x1f308ec377fb413d
+ldr :: offset: 0x38, out: 0x7a
+ldr :: offset: 0x39, out: 0x7aa0
+ldr :: offset: 0x3a, out: 0x7aa042
+ldr :: offset: 0x3b, out: 0x7aa04213
+ldr :: offset: 0x3c, out: 0x7aa04213c7
+ldr :: offset: 0x3d, out: 0x7aa04213c760
+ldr :: offset: 0x3e, out: 0x7aa04213c760e4
+ldr :: offset: 0x3f, out: 0x7aa04213c760e4f7
+ldr :: offset: 0x40, out: 0x9e
+ldr :: offset: 0x41, out: 0x9e70
+ldr :: offset: 0x42, out: 0x9e705c
+ldr :: offset: 0x43, out: 0x9e705cc5
+ldr :: offset: 0x44, out: 0x9e705cc51a
+ldr :: offset: 0x45, out: 0x9e705cc51ad8
+ldr :: offset: 0x46, out: 0x9e705cc51ad8dc
+ldr :: offset: 0x47, out: 0x9e705cc51ad8dca0
+ldr :: offset: 0x48, out: 0x4b
+ldr :: offset: 0x49, out: 0x4b3d
+ldr :: offset: 0x4a, out: 0x4b3dda
+ldr :: offset: 0x4b, out: 0x4b3dda86
+ldr :: offset: 0x4c, out: 0x4b3dda8696
+ldr :: offset: 0x4d, out: 0x4b3dda869615
+ldr :: offset: 0x4e, out: 0x4b3dda869615a6
+ldr :: offset: 0x4f, out: 0x4b3dda869615a60d
+ldr :: offset: 0x50, out: 0x5
+ldr :: offset: 0x51, out: 0x5e7
+ldr :: offset: 0x52, out: 0x5e7a4
+ldr :: offset: 0x53, out: 0x5e7a4dd
+ldr :: offset: 0x54, out: 0x5e7a4dd63
+ldr :: offset: 0x55, out: 0x5e7a4dd6353
+ldr :: offset: 0x56, out: 0x5e7a4dd6353d4
+ldr :: offset: 0x57, out: 0x5e7a4dd6353d41d
+ldr :: offset: 0x58, out: 0x3a
+ldr :: offset: 0x59, out: 0x3af3
+ldr :: offset: 0x5a, out: 0x3af35a
+ldr :: offset: 0x5b, out: 0x3af35a9d
+ldr :: offset: 0x5c, out: 0x3af35a9dc4
+ldr :: offset: 0x5d, out: 0x3af35a9dc40b
+ldr :: offset: 0x5e, out: 0x3af35a9dc40bd4
+ldr :: offset: 0x5f, out: 0x3af35a9dc40bd413
+ldr :: offset: 0x60, out: 0x47
+ldr :: offset: 0x61, out: 0x47f5
+ldr :: offset: 0x62, out: 0x47f505
+ldr :: offset: 0x63, out: 0x47f50556
+ldr :: offset: 0x64, out: 0x47f505569a
+ldr :: offset: 0x65, out: 0x47f505569a08
+ldr :: offset: 0x66, out: 0x47f505569a08a1
+ldr :: offset: 0x67, out: 0x47f505569a08a180
+ldr :: offset: 0x68, out: 0x95
+ldr :: offset: 0x69, out: 0x9564
+ldr :: offset: 0x6a, out: 0x9564b7
+ldr :: offset: 0x6b, out: 0x9564b77f
+ldr :: offset: 0x6c, out: 0x9564b77fd6
+ldr :: offset: 0x6d, out: 0x9564b77fd6d2
+ldr :: offset: 0x6e, out: 0x9564b77fd6d204
+ldr :: offset: 0x6f, out: 0x9564b77fd6d2040f
+ldr :: offset: 0x70, out: 0xce
+ldr :: offset: 0x71, out: 0xcebc
+ldr :: offset: 0x72, out: 0xcebc82
+ldr :: offset: 0x73, out: 0xcebc8279
+ldr :: offset: 0x74, out: 0xcebc8279b2
+ldr :: offset: 0x75, out: 0xcebc8279b2c7
+ldr :: offset: 0x76, out: 0xcebc8279b2c76b
+ldr :: offset: 0x77, out: 0xcebc8279b2c76bbe
+ldr :: offset: 0x78, out: 0xb5
+ldr :: offset: 0x79, out: 0xb503
+ldr :: offset: 0x7a, out: 0xb5034c
+ldr :: offset: 0x7b, out: 0xb5034c2f
+ldr :: offset: 0x7c, out: 0xb5034c2f1f
+ldr :: offset: 0x7d, out: 0xb5034c2f1f18
+ldr :: offset: 0x7e, out: 0xb5034c2f1f18e4
+ldr :: offset: 0x7f, out: 0xb5034c2f1f18e4c7
+ldr :: offset: 0x80, out: 0x94
+ldr :: offset: 0x81, out: 0x94ff
+ldr :: offset: 0x82, out: 0x94ff52
+ldr :: offset: 0x83, out: 0x94ff52fc
+ldr :: offset: 0x84, out: 0x94ff52fc81
+ldr :: offset: 0x85, out: 0x94ff52fc81af
+ldr :: offset: 0x86, out: 0x94ff52fc81afa7
+ldr :: offset: 0x87, out: 0x94ff52fc81afa797
+ldr :: offset: 0x88, out: 0x31
+ldr :: offset: 0x89, out: 0x31d8
+ldr :: offset: 0x8a, out: 0x31d8d9
+ldr :: offset: 0x8b, out: 0x31d8d916
+ldr :: offset: 0x8c, out: 0x31d8d9166d
+ldr :: offset: 0x8d, out: 0x31d8d9166dfc
+ldr :: offset: 0x8e, out: 0x31d8d9166dfc50
+ldr :: offset: 0x8f, out: 0x31d8d9166dfc50ea
+ldr :: offset: 0x90, out: 0x36
+ldr :: offset: 0x91, out: 0x3654
+ldr :: offset: 0x92, out: 0x36549b
+ldr :: offset: 0x93, out: 0x36549bd6
+ldr :: offset: 0x94, out: 0x36549bd678
+ldr :: offset: 0x95, out: 0x36549bd678e8
+ldr :: offset: 0x96, out: 0x36549bd678e895
+ldr :: offset: 0x97, out: 0x36549bd678e895b1
+ldr :: offset: 0x98, out: 0x85
+ldr :: offset: 0x99, out: 0x85e0
+ldr :: offset: 0x9a, out: 0x85e0a6
+ldr :: offset: 0x9b, out: 0x85e0a631
+ldr :: offset: 0x9c, out: 0x85e0a6319b
+ldr :: offset: 0x9d, out: 0x85e0a6319b63
+ldr :: offset: 0x9e, out: 0x85e0a6319b6325
+ldr :: offset: 0x9f, out: 0x85e0a6319b63259b
+ldr :: offset: 0xa0, out: 0x55
+ldr :: offset: 0xa1, out: 0x556b
+ldr :: offset: 0xa2, out: 0x556b3e
+ldr :: offset: 0xa3, out: 0x556b3eca
+ldr :: offset: 0xa4, out: 0x556b3ecacc
+ldr :: offset: 0xa5, out: 0x556b3ecaccf1
+ldr :: offset: 0xa6, out: 0x556b3ecaccf17a
+ldr :: offset: 0xa7, out: 0x556b3ecaccf17ac5
+ldr :: offset: 0xa8, out: 0xb4
+ldr :: offset: 0xa9, out: 0xb42f
+ldr :: offset: 0xaa, out: 0xb42f5f
+ldr :: offset: 0xab, out: 0xb42f5fc5
+ldr :: offset: 0xac, out: 0xb42f5fc581
+ldr :: offset: 0xad, out: 0xb42f5fc581ee
+ldr :: offset: 0xae, out: 0xb42f5fc581eea0
+ldr :: offset: 0xaf, out: 0xb42f5fc581eea0fb
+ldr :: offset: 0xb0, out: 0x25
+ldr :: offset: 0xb1, out: 0x25b5
+ldr :: offset: 0xb2, out: 0x25b50f
+ldr :: offset: 0xb3, out: 0x25b50fec
+ldr :: offset: 0xb4, out: 0x25b50fec14
+ldr :: offset: 0xb5, out: 0x25b50fec1468
+ldr :: offset: 0xb6, out: 0x25b50fec14682d
+ldr :: offset: 0xb7, out: 0x25b50fec14682d97
+ldr :: offset: 0xb8, out: 0xfc
+ldr :: offset: 0xb9, out: 0xfc93
+ldr :: offset: 0xba, out: 0xfc93c5
+ldr :: offset: 0xbb, out: 0xfc93c513
+ldr :: offset: 0xbc, out: 0xfc93c5132c
+ldr :: offset: 0xbd, out: 0xfc93c5132cfb
+ldr :: offset: 0xbe, out: 0xfc93c5132cfb08
+ldr :: offset: 0xbf, out: 0xfc93c5132cfb087a
+ldr :: offset: 0xc0, out: 0x3c
+ldr :: offset: 0xc1, out: 0x3c2c
+ldr :: offset: 0xc2, out: 0x3c2cd9
+ldr :: offset: 0xc3, out: 0x3c2cd9a9
+ldr :: offset: 0xc4, out: 0x3c2cd9a9cd
+ldr :: offset: 0xc5, out: 0x3c2cd9a9cda2
+ldr :: offset: 0xc6, out: 0x3c2cd9a9cda207
+ldr :: offset: 0xc7, out: 0x3c2cd9a9cda20766
+ldr :: offset: 0xc8, out: 0x17
+ldr :: offset: 0xc9, out: 0x1791
+ldr :: offset: 0xca, out: 0x179172
+ldr :: offset: 0xcb, out: 0x1791722a
+ldr :: offset: 0xcc, out: 0x1791722a7d
+ldr :: offset: 0xcd, out: 0x1791722a7d72
+ldr :: offset: 0xce, out: 0x1791722a7d72da
+ldr :: offset: 0xcf, out: 0x1791722a7d72da3e
+ldr :: offset: 0xd0, out: 0x8
+ldr :: offset: 0xd1, out: 0x87c
+ldr :: offset: 0xd2, out: 0x87cc9
+ldr :: offset: 0xd3, out: 0x87cc9d1
+ldr :: offset: 0xd4, out: 0x87cc9d193
+ldr :: offset: 0xd5, out: 0x87cc9d193ce
+ldr :: offset: 0xd6, out: 0x87cc9d193ce24
+ldr :: offset: 0xd7, out: 0x87cc9d193ce24ad
+ldr :: offset: 0xd8, out: 0x1d
+ldr :: offset: 0xd9, out: 0x1d2a
+ldr :: offset: 0xda, out: 0x1d2a75
+ldr :: offset: 0xdb, out: 0x1d2a7570
+ldr :: offset: 0xdc, out: 0x1d2a757038
+ldr :: offset: 0xdd, out: 0x1d2a75703898
+ldr :: offset: 0xde, out: 0x1d2a757038984e
+ldr :: offset: 0xdf, out: 0x1d2a757038984ed2
+ldr :: offset: 0xe0, out: 0xd0
+ldr :: offset: 0xe1, out: 0xd0d0
+ldr :: offset: 0xe2, out: 0xd0d070
+ldr :: offset: 0xe3, out: 0xd0d070db
+ldr :: offset: 0xe4, out: 0xd0d070db71
+ldr :: offset: 0xe5, out: 0xd0d070db710c
+ldr :: offset: 0xe6, out: 0xd0d070db710cd0
+ldr :: offset: 0xe7, out: 0xd0d070db710cd036
+ldr :: offset: 0xe8, out: 0x39
+ldr :: offset: 0xe9, out: 0x39c2
+ldr :: offset: 0xea, out: 0x39c21c
+ldr :: offset: 0xeb, out: 0x39c21c7d
+ldr :: offset: 0xec, out: 0x39c21c7d03
+ldr :: offset: 0xed, out: 0x39c21c7d0341
+ldr :: offset: 0xee, out: 0x39c21c7d034156
+ldr :: offset: 0xef, out: 0x39c21c7d03415604
+ldr :: offset: 0xf0, out: 0x8e
+ldr :: offset: 0xf1, out: 0x8e94
+ldr :: offset: 0xf2, out: 0x8e94b7
+ldr :: offset: 0xf3, out: 0x8e94b7af
+ldr :: offset: 0xf4, out: 0x8e94b7af8e
+ldr :: offset: 0xf5, out: 0x8e94b7af8ecc
+ldr :: offset: 0xf6, out: 0x8e94b7af8ecc31
+ldr :: offset: 0xf7, out: 0x8e94b7af8ecc31ce
+ldr :: offset: 0xf8, out: 0x24
+ldr :: offset: 0xf9, out: 0x24eb
+ldr :: offset: 0xfa, out: 0x24eb6a
+ldr :: offset: 0xfb, out: 0x24eb6a8d
+ldr :: offset: 0xfc, out: 0x24eb6a8d1c
+ldr :: offset: 0xfd, out: 0x24eb6a8d1ce7
+ldr :: offset: 0xfe, out: 0x24eb6a8d1ce767
+ldr :: offset: 0xff, out: 0x24eb6a8d1ce7674f
+ldr :: offset: 0x100, out: 0x2f
+ldr :: offset: 0x101, out: 0x2f39
+ldr :: offset: 0x102, out: 0x2f3945
+ldr :: offset: 0x103, out: 0x2f394544
+ldr :: offset: 0x104, out: 0x2f39454412
+ldr :: offset: 0x105, out: 0x2f39454412d6
+ldr :: offset: 0x106, out: 0x2f39454412d6e4
+ldr :: offset: 0x107, out: 0x2f39454412d6e4a7
+ldr :: offset: 0x108, out: 0x26
+ldr :: offset: 0x109, out: 0x2608
+ldr :: offset: 0x10a, out: 0x2608c2
+ldr :: offset: 0x10b, out: 0x2608c2b7
+ldr :: offset: 0x10c, out: 0x2608c2b756
+ldr :: offset: 0x10d, out: 0x2608c2b756da
+ldr :: offset: 0x10e, out: 0x2608c2b756da4c
+ldr :: offset: 0x10f, out: 0x2608c2b756da4c54
+ldr :: offset: 0x110, out: 0x90
+ldr :: offset: 0x111, out: 0x9001
+ldr :: offset: 0x112, out: 0x900102
+ldr :: offset: 0x113, out: 0x900102da
+ldr :: offset: 0x114, out: 0x900102dac8
+ldr :: offset: 0x115, out: 0x900102dac8d7
+ldr :: offset: 0x116, out: 0x900102dac8d725
+ldr :: offset: 0x117, out: 0x900102dac8d7252f
+ldr :: offset: 0x118, out: 0xc8
+ldr :: offset: 0x119, out: 0xc890
+ldr :: offset: 0x11a, out: 0xc890d5
+ldr :: offset: 0x11b, out: 0xc890d5f1
+ldr :: offset: 0x11c, out: 0xc890d5f1f2
+ldr :: offset: 0x11d, out: 0xc890d5f1f2ef
+ldr :: offset: 0x11e, out: 0xc890d5f1f2efa4
+ldr :: offset: 0x11f, out: 0xc890d5f1f2efa4f7
+ldr :: offset: 0x120, out: 0xed
+ldr :: offset: 0x121, out: 0xed50
+ldr :: offset: 0x122, out: 0xed5005
+ldr :: offset: 0x123, out: 0xed5005cb
+ldr :: offset: 0x124, out: 0xed5005cbc8
+ldr :: offset: 0x125, out: 0xed5005cbc8b0
+ldr :: offset: 0x126, out: 0xed5005cbc8b0a2
+ldr :: offset: 0x127, out: 0xed5005cbc8b0a214
+ldr :: offset: 0x128, out: 0x31
+ldr :: offset: 0x129, out: 0x3147
+ldr :: offset: 0x12a, out: 0x314791
+ldr :: offset: 0x12b, out: 0x31479189
+ldr :: offset: 0x12c, out: 0x3147918959
+ldr :: offset: 0x12d, out: 0x314791895991
+ldr :: offset: 0x12e, out: 0x31479189599113
+ldr :: offset: 0x12f, out: 0x314791895991136c
+ldr :: offset: 0x130, out: 0xc6
+ldr :: offset: 0x131, out: 0xc6ee
+ldr :: offset: 0x132, out: 0xc6eecf
+ldr :: offset: 0x133, out: 0xc6eecff9
+ldr :: offset: 0x134, out: 0xc6eecff99a
+ldr :: offset: 0x135, out: 0xc6eecff99a2f
+ldr :: offset: 0x136, out: 0xc6eecff99a2fb6
+ldr :: offset: 0x137, out: 0xc6eecff99a2fb6f3
+ldr :: offset: 0x138, out: 0xa8
+ldr :: offset: 0x139, out: 0xa809
+ldr :: offset: 0x13a, out: 0xa80952
+ldr :: offset: 0x13b, out: 0xa8095212
+ldr :: offset: 0x13c, out: 0xa809521238
+ldr :: offset: 0x13d, out: 0xa80952123889
+ldr :: offset: 0x13e, out: 0xa8095212388952
+ldr :: offset: 0x13f, out: 0xa809521238895270
+ldr :: offset: 0x140, out: 0x87
+ldr :: offset: 0x141, out: 0x8775
+ldr :: offset: 0x142, out: 0x87750a
+ldr :: offset: 0x143, out: 0x87750a04
+ldr :: offset: 0x144, out: 0x87750a04ad
+ldr :: offset: 0x145, out: 0x87750a04ad76
+ldr :: offset: 0x146, out: 0x87750a04ad7650
+ldr :: offset: 0x147, out: 0x87750a04ad765040
+ldr :: offset: 0x148, out: 0x2c
+ldr :: offset: 0x149, out: 0x2c3d
+ldr :: offset: 0x14a, out: 0x2c3de8
+ldr :: offset: 0x14b, out: 0x2c3de85e
+ldr :: offset: 0x14c, out: 0x2c3de85e84
+ldr :: offset: 0x14d, out: 0x2c3de85e84bb
+ldr :: offset: 0x14e, out: 0x2c3de85e84bb5a
+ldr :: offset: 0x14f, out: 0x2c3de85e84bb5a83
+ldr :: offset: 0x150, out: 0xae
+ldr :: offset: 0x151, out: 0xae6a
+ldr :: offset: 0x152, out: 0xae6aff
+ldr :: offset: 0x153, out: 0xae6aff8f
+ldr :: offset: 0x154, out: 0xae6aff8fc5
+ldr :: offset: 0x155, out: 0xae6aff8fc506
+ldr :: offset: 0x156, out: 0xae6aff8fc506aa
+ldr :: offset: 0x157, out: 0xae6aff8fc506aa67
+ldr :: offset: 0x158, out: 0xc0
+ldr :: offset: 0x159, out: 0xc071
+ldr :: offset: 0x15a, out: 0xc07112
+ldr :: offset: 0x15b, out: 0xc07112dd
+ldr :: offset: 0x15c, out: 0xc07112dd60
+ldr :: offset: 0x15d, out: 0xc07112dd60ed
+ldr :: offset: 0x15e, out: 0xc07112dd60ed5e
+ldr :: offset: 0x15f, out: 0xc07112dd60ed5ee3
+ldr :: offset: 0x160, out: 0xc4
+ldr :: offset: 0x161, out: 0xc4c7
+ldr :: offset: 0x162, out: 0xc4c770
+ldr :: offset: 0x163, out: 0xc4c770f6
+ldr :: offset: 0x164, out: 0xc4c770f630
+ldr :: offset: 0x165, out: 0xc4c770f630dc
+ldr :: offset: 0x166, out: 0xc4c770f630dcca
+ldr :: offset: 0x167, out: 0xc4c770f630dcca5a
+ldr :: offset: 0x168, out: 0xdf
+ldr :: offset: 0x169, out: 0xdfec
+ldr :: offset: 0x16a, out: 0xdfec2b
+ldr :: offset: 0x16b, out: 0xdfec2b23
+ldr :: offset: 0x16c, out: 0xdfec2b2383
+ldr :: offset: 0x16d, out: 0xdfec2b2383cd
+ldr :: offset: 0x16e, out: 0xdfec2b2383cd52
+ldr :: offset: 0x16f, out: 0xdfec2b2383cd5277
+ldr :: offset: 0x170, out: 0xd3
+ldr :: offset: 0x171, out: 0xd3ad
+ldr :: offset: 0x172, out: 0xd3adba
+ldr :: offset: 0x173, out: 0xd3adba26
+ldr :: offset: 0x174, out: 0xd3adba260f
+ldr :: offset: 0x175, out: 0xd3adba260ff7
+ldr :: offset: 0x176, out: 0xd3adba260ff7d9
+ldr :: offset: 0x177, out: 0xd3adba260ff7d96b
+ldr :: offset: 0x178, out: 0x4a
+ldr :: offset: 0x179, out: 0x4ab4
+ldr :: offset: 0x17a, out: 0x4ab4aa
+ldr :: offset: 0x17b, out: 0x4ab4aa79
+ldr :: offset: 0x17c, out: 0x4ab4aa7984
+ldr :: offset: 0x17d, out: 0x4ab4aa798418
+ldr :: offset: 0x17e, out: 0x4ab4aa798418c0
+ldr :: offset: 0x17f, out: 0x4ab4aa798418c00e
+ldr :: offset: 0x180, out: 0xbb
+ldr :: offset: 0x181, out: 0xbb8c
+ldr :: offset: 0x182, out: 0xbb8c03
+ldr :: offset: 0x183, out: 0xbb8c035e
+ldr :: offset: 0x184, out: 0xbb8c035e0d
+ldr :: offset: 0x185, out: 0xbb8c035e0de0
+ldr :: offset: 0x186, out: 0xbb8c035e0de0f0
+ldr :: offset: 0x187, out: 0xbb8c035e0de0f0b8
+ldr :: offset: 0x188, out: 0x33
+ldr :: offset: 0x189, out: 0x33b0
+ldr :: offset: 0x18a, out: 0x33b06f
+ldr :: offset: 0x18b, out: 0x33b06f54
+ldr :: offset: 0x18c, out: 0x33b06f54a9
+ldr :: offset: 0x18d, out: 0x33b06f54a97f
+ldr :: offset: 0x18e, out: 0x33b06f54a97fdc
+ldr :: offset: 0x18f, out: 0x33b06f54a97fdcf1
+ldr :: offset: 0x190, out: 0x77
+ldr :: offset: 0x191, out: 0x7743
+ldr :: offset: 0x192, out: 0x77433f
+ldr :: offset: 0x193, out: 0x77433f37
+ldr :: offset: 0x194, out: 0x77433f373f
+ldr :: offset: 0x195, out: 0x77433f373fd1
+ldr :: offset: 0x196, out: 0x77433f373fd1c0
+ldr :: offset: 0x197, out: 0x77433f373fd1c081
+ldr :: offset: 0x198, out: 0xec
+ldr :: offset: 0x199, out: 0xec91
+ldr :: offset: 0x19a, out: 0xec91d9
+ldr :: offset: 0x19b, out: 0xec91d993
+ldr :: offset: 0x19c, out: 0xec91d993c9
+ldr :: offset: 0x19d, out: 0xec91d993c921
+ldr :: offset: 0x19e, out: 0xec91d993c92195
+ldr :: offset: 0x19f, out: 0xec91d993c92195e4
+ldr :: offset: 0x1a0, out: 0x49
+ldr :: offset: 0x1a1, out: 0x49fb
+ldr :: offset: 0x1a2, out: 0x49fbf6
+ldr :: offset: 0x1a3, out: 0x49fbf6a7
+ldr :: offset: 0x1a4, out: 0x49fbf6a795
+ldr :: offset: 0x1a5, out: 0x49fbf6a795b1
+ldr :: offset: 0x1a6, out: 0x49fbf6a795b1a5
+ldr :: offset: 0x1a7, out: 0x49fbf6a795b1a5ab
+ldr :: offset: 0x1a8, out: 0x19
+ldr :: offset: 0x1a9, out: 0x1936
+ldr :: offset: 0x1aa, out: 0x193643
+ldr :: offset: 0x1ab, out: 0x19364378
+ldr :: offset: 0x1ac, out: 0x19364378c7
+ldr :: offset: 0x1ad, out: 0x19364378c7ce
+ldr :: offset: 0x1ae, out: 0x19364378c7ce8d
+ldr :: offset: 0x1af, out: 0x19364378c7ce8d1e
+ldr :: offset: 0x1b0, out: 0xb9
+ldr :: offset: 0x1b1, out: 0xb99e
+ldr :: offset: 0x1b2, out: 0xb99e8d
+ldr :: offset: 0x1b3, out: 0xb99e8def
+ldr :: offset: 0x1b4, out: 0xb99e8def2f
+ldr :: offset: 0x1b5, out: 0xb99e8def2f38
+ldr :: offset: 0x1b6, out: 0xb99e8def2f3849
+ldr :: offset: 0x1b7, out: 0xb99e8def2f384907
+ldr :: offset: 0x1b8, out: 0x47
+ldr :: offset: 0x1b9, out: 0x47ea
+ldr :: offset: 0x1ba, out: 0x47eacd
+ldr :: offset: 0x1bb, out: 0x47eacdcd
+ldr :: offset: 0x1bc, out: 0x47eacdcd58
+ldr :: offset: 0x1bd, out: 0x47eacdcd582b
+ldr :: offset: 0x1be, out: 0x47eacdcd582b12
+ldr :: offset: 0x1bf, out: 0x47eacdcd582b12fe
+ldr :: offset: 0x1c0, out: 0xd6
+ldr :: offset: 0x1c1, out: 0xd685
+ldr :: offset: 0x1c2, out: 0xd68588
+ldr :: offset: 0x1c3, out: 0xd685884e
+ldr :: offset: 0x1c4, out: 0xd685884e76
+ldr :: offset: 0x1c5, out: 0xd685884e7655
+ldr :: offset: 0x1c6, out: 0xd685884e76558c
+ldr :: offset: 0x1c7, out: 0xd685884e76558c4f
+ldr :: offset: 0x1c8, out: 0x61
+ldr :: offset: 0x1c9, out: 0x6168
+ldr :: offset: 0x1ca, out: 0x6168d6
+ldr :: offset: 0x1cb, out: 0x6168d62a
+ldr :: offset: 0x1cc, out: 0x6168d62a34
+ldr :: offset: 0x1cd, out: 0x6168d62a34c1
+ldr :: offset: 0x1ce, out: 0x6168d62a34c195
+ldr :: offset: 0x1cf, out: 0x6168d62a34c195c7
+ldr :: offset: 0x1d0, out: 0xd3
+ldr :: offset: 0x1d1, out: 0xd301
+ldr :: offset: 0x1d2, out: 0xd30169
+ldr :: offset: 0x1d3, out: 0xd3016989
+ldr :: offset: 0x1d4, out: 0xd30169894d
+ldr :: offset: 0x1d5, out: 0xd30169894df4
+ldr :: offset: 0x1d6, out: 0xd30169894df474
+ldr :: offset: 0x1d7, out: 0xd30169894df47405
+ldr :: offset: 0x1d8, out: 0x1c
+ldr :: offset: 0x1d9, out: 0x1ca1
+ldr :: offset: 0x1da, out: 0x1ca190
+ldr :: offset: 0x1db, out: 0x1ca190bf
+ldr :: offset: 0x1dc, out: 0x1ca190bf6c
+ldr :: offset: 0x1dd, out: 0x1ca190bf6cbb
+ldr :: offset: 0x1de, out: 0x1ca190bf6cbb06
+ldr :: offset: 0x1df, out: 0x1ca190bf6cbb06db
+ldr :: offset: 0x1e0, out: 0x58
+ldr :: offset: 0x1e1, out: 0x5830
+ldr :: offset: 0x1e2, out: 0x58300f
+ldr :: offset: 0x1e3, out: 0x58300f02
+ldr :: offset: 0x1e4, out: 0x58300f029c
+ldr :: offset: 0x1e5, out: 0x58300f029cae
+ldr :: offset: 0x1e6, out: 0x58300f029cae39
+ldr :: offset: 0x1e7, out: 0x58300f029cae393a
+ldr :: offset: 0x1e8, out: 0x9a
+ldr :: offset: 0x1e9, out: 0x9a99
+ldr :: offset: 0x1ea, out: 0x9a995f
+ldr :: offset: 0x1eb, out: 0x9a995fdb
+ldr :: offset: 0x1ec, out: 0x9a995fdbdc
+ldr :: offset: 0x1ed, out: 0x9a995fdbdc7e
+ldr :: offset: 0x1ee, out: 0x9a995fdbdc7ebc
+ldr :: offset: 0x1ef, out: 0x9a995fdbdc7ebc2d
+ldr :: offset: 0x1f0, out: 0x8a
+ldr :: offset: 0x1f1, out: 0x8a96
+ldr :: offset: 0x1f2, out: 0x8a9604
+ldr :: offset: 0x1f3, out: 0x8a96047b
+ldr :: offset: 0x1f4, out: 0x8a96047be3
+ldr :: offset: 0x1f5, out: 0x8a96047be340
+ldr :: offset: 0x1f6, out: 0x8a96047be3405b
+ldr :: offset: 0x1f7, out: 0x8a96047be3405b48
+ldr :: offset: 0x1f8, out: 0x75
+ldr :: offset: 0x1f9, out: 0x75bf
+ldr :: offset: 0x1fa, out: 0x75bfaf
+ldr :: offset: 0x1fb, out: 0x75bfafd2
+ldr :: offset: 0x1fc, out: 0x75bfafd2d5
+ldr :: offset: 0x1fd, out: 0x75bfafd2d519
+ldr :: offset: 0x1fe, out: 0x75bfafd2d519d3
+ldr :: offset: 0x1ff, out: 0x75bfafd2d519d322
+ldr :: offset: 0x200, out: 0xde
+ldr :: offset: 0x201, out: 0xde23
+ldr :: offset: 0x202, out: 0xde2308
+ldr :: offset: 0x203, out: 0xde230867
+ldr :: offset: 0x204, out: 0xde230867a6
+ldr :: offset: 0x205, out: 0xde230867a630
+ldr :: offset: 0x206, out: 0xde230867a630f6
+ldr :: offset: 0x207, out: 0xde230867a630f6ad
+ldr :: offset: 0x208, out: 0x2c
+ldr :: offset: 0x209, out: 0x2c0a
+ldr :: offset: 0x20a, out: 0x2c0a0c
+ldr :: offset: 0x20b, out: 0x2c0a0cf2
+ldr :: offset: 0x20c, out: 0x2c0a0cf256
+ldr :: offset: 0x20d, out: 0x2c0a0cf25610
+ldr :: offset: 0x20e, out: 0x2c0a0cf2561032
+ldr :: offset: 0x20f, out: 0x2c0a0cf256103260
+ldr :: offset: 0x210, out: 0x94
+ldr :: offset: 0x211, out: 0x94a9
+ldr :: offset: 0x212, out: 0x94a905
+ldr :: offset: 0x213, out: 0x94a90544
+ldr :: offset: 0x214, out: 0x94a9054424
+ldr :: offset: 0x215, out: 0x94a90544249b
+ldr :: offset: 0x216, out: 0x94a90544249b18
+ldr :: offset: 0x217, out: 0x94a90544249b18ef
+ldr :: offset: 0x218, out: 0xf9
+ldr :: offset: 0x219, out: 0xf951
+ldr :: offset: 0x21a, out: 0xf9519f
+ldr :: offset: 0x21b, out: 0xf9519fb5
+ldr :: offset: 0x21c, out: 0xf9519fb55b
+ldr :: offset: 0x21d, out: 0xf9519fb55b56
+ldr :: offset: 0x21e, out: 0xf9519fb55b56fc
+ldr :: offset: 0x21f, out: 0xf9519fb55b56fcde
+ldr :: offset: 0x220, out: 0x81
+ldr :: offset: 0x221, out: 0x81da
+ldr :: offset: 0x222, out: 0x81daf8
+ldr :: offset: 0x223, out: 0x81daf820
+ldr :: offset: 0x224, out: 0x81daf82004
+ldr :: offset: 0x225, out: 0x81daf8200468
+ldr :: offset: 0x226, out: 0x81daf820046831
+ldr :: offset: 0x227, out: 0x81daf8200468319b
+ldr :: offset: 0x228, out: 0x8c
+ldr :: offset: 0x229, out: 0x8c61
+ldr :: offset: 0x22a, out: 0x8c61ca
+ldr :: offset: 0x22b, out: 0x8c61ca5a
+ldr :: offset: 0x22c, out: 0x8c61ca5a57
+ldr :: offset: 0x22d, out: 0x8c61ca5a5725
+ldr :: offset: 0x22e, out: 0x8c61ca5a5725f2
+ldr :: offset: 0x22f, out: 0x8c61ca5a5725f2ec
+ldr :: offset: 0x230, out: 0x8b
+ldr :: offset: 0x231, out: 0x8b95
+ldr :: offset: 0x232, out: 0x8b95a6
+ldr :: offset: 0x233, out: 0x8b95a6dd
+ldr :: offset: 0x234, out: 0x8b95a6ddc2
+ldr :: offset: 0x235, out: 0x8b95a6ddc25d
+ldr :: offset: 0x236, out: 0x8b95a6ddc25dc8
+ldr :: offset: 0x237, out: 0x8b95a6ddc25dc8bf
+ldr :: offset: 0x238, out: 0x30
+ldr :: offset: 0x239, out: 0x300c
+ldr :: offset: 0x23a, out: 0x300ce7
+ldr :: offset: 0x23b, out: 0x300ce751
+ldr :: offset: 0x23c, out: 0x300ce751da
+ldr :: offset: 0x23d, out: 0x300ce751dac6
+ldr :: offset: 0x23e, out: 0x300ce751dac616
+ldr :: offset: 0x23f, out: 0x300ce751dac6162f
+ldr :: offset: 0x240, out: 0x67
+ldr :: offset: 0x241, out: 0x6778
+ldr :: offset: 0x242, out: 0x6778fd
+ldr :: offset: 0x243, out: 0x6778fdf3
+ldr :: offset: 0x244, out: 0x6778fdf3ba
+ldr :: offset: 0x245, out: 0x6778fdf3ba52
+ldr :: offset: 0x246, out: 0x6778fdf3ba52a8
+ldr :: offset: 0x247, out: 0x6778fdf3ba52a850
+ldr :: offset: 0x248, out: 0xad
+ldr :: offset: 0x249, out: 0xad00
+ldr :: offset: 0x24a, out: 0xad00b1
+ldr :: offset: 0x24b, out: 0xad00b1f7
+ldr :: offset: 0x24c, out: 0xad00b1f7da
+ldr :: offset: 0x24d, out: 0xad00b1f7da78
+ldr :: offset: 0x24e, out: 0xad00b1f7da7847
+ldr :: offset: 0x24f, out: 0xad00b1f7da78479f
+ldr :: offset: 0x250, out: 0x8
+ldr :: offset: 0x251, out: 0x8d4
+ldr :: offset: 0x252, out: 0x8d441
+ldr :: offset: 0x253, out: 0x8d44168
+ldr :: offset: 0x254, out: 0x8d44168a6
+ldr :: offset: 0x255, out: 0x8d44168a6b6
+ldr :: offset: 0x256, out: 0x8d44168a6b6d9
+ldr :: offset: 0x257, out: 0x8d44168a6b6d98a
+ldr :: offset: 0x258, out: 0xf5
+ldr :: offset: 0x259, out: 0xf518
+ldr :: offset: 0x25a, out: 0xf51838
+ldr :: offset: 0x25b, out: 0xf518381d
+ldr :: offset: 0x25c, out: 0xf518381dce
+ldr :: offset: 0x25d, out: 0xf518381dce63
+ldr :: offset: 0x25e, out: 0xf518381dce6344
+ldr :: offset: 0x25f, out: 0xf518381dce634413
+ldr :: offset: 0x260, out: 0xe4
+ldr :: offset: 0x261, out: 0xe462
+ldr :: offset: 0x262, out: 0xe4627f
+ldr :: offset: 0x263, out: 0xe4627f3f
+ldr :: offset: 0x264, out: 0xe4627f3fe5
+ldr :: offset: 0x265, out: 0xe4627f3fe525
+ldr :: offset: 0x266, out: 0xe4627f3fe5255f
+ldr :: offset: 0x267, out: 0xe4627f3fe5255fc0
+ldr :: offset: 0x268, out: 0xcc
+ldr :: offset: 0x269, out: 0xccd3
+ldr :: offset: 0x26a, out: 0xccd392
+ldr :: offset: 0x26b, out: 0xccd392e1
+ldr :: offset: 0x26c, out: 0xccd392e176
+ldr :: offset: 0x26d, out: 0xccd392e17632
+ldr :: offset: 0x26e, out: 0xccd392e176321f
+ldr :: offset: 0x26f, out: 0xccd392e176321f28
+ldr :: offset: 0x270, out: 0x82
+ldr :: offset: 0x271, out: 0x8294
+ldr :: offset: 0x272, out: 0x829464
+ldr :: offset: 0x273, out: 0x82946494
+ldr :: offset: 0x274, out: 0x8294649440
+ldr :: offset: 0x275, out: 0x829464944018
+ldr :: offset: 0x276, out: 0x829464944018fd
+ldr :: offset: 0x277, out: 0x829464944018fd8f
+ldr :: offset: 0x278, out: 0x15
+ldr :: offset: 0x279, out: 0x15d3
+ldr :: offset: 0x27a, out: 0x15d320
+ldr :: offset: 0x27b, out: 0x15d32040
+ldr :: offset: 0x27c, out: 0x15d3204052
+ldr :: offset: 0x27d, out: 0x15d3204052e8
+ldr :: offset: 0x27e, out: 0x15d3204052e8f0
+ldr :: offset: 0x27f, out: 0x15d3204052e8f0e5
+ldr :: offset: 0x280, out: 0x7c
+ldr :: offset: 0x281, out: 0x7caf
+ldr :: offset: 0x282, out: 0x7caf83
+ldr :: offset: 0x283, out: 0x7caf83d2
+ldr :: offset: 0x284, out: 0x7caf83d288
+ldr :: offset: 0x285, out: 0x7caf83d2880f
+ldr :: offset: 0x286, out: 0x7caf83d2880ff3
+ldr :: offset: 0x287, out: 0x7caf83d2880ff344
+ldr :: offset: 0x288, out: 0xf1
+ldr :: offset: 0x289, out: 0xf156
+ldr :: offset: 0x28a, out: 0xf156a0
+ldr :: offset: 0x28b, out: 0xf156a04c
+ldr :: offset: 0x28c, out: 0xf156a04c74
+ldr :: offset: 0x28d, out: 0xf156a04c747d
+ldr :: offset: 0x28e, out: 0xf156a04c747def
+ldr :: offset: 0x28f, out: 0xf156a04c747defd7
+ldr :: offset: 0x290, out: 0x93
+ldr :: offset: 0x291, out: 0x93e2
+ldr :: offset: 0x292, out: 0x93e260
+ldr :: offset: 0x293, out: 0x93e2601c
+ldr :: offset: 0x294, out: 0x93e2601c0f
+ldr :: offset: 0x295, out: 0x93e2601c0f31
+ldr :: offset: 0x296, out: 0x93e2601c0f31d7
+ldr :: offset: 0x297, out: 0x93e2601c0f31d710
+ldr :: offset: 0x298, out: 0xe1
+ldr :: offset: 0x299, out: 0xe1e1
+ldr :: offset: 0x29a, out: 0xe1e1a6
+ldr :: offset: 0x29b, out: 0xe1e1a679
+ldr :: offset: 0x29c, out: 0xe1e1a67913
+ldr :: offset: 0x29d, out: 0xe1e1a679131c
+ldr :: offset: 0x29e, out: 0xe1e1a679131cd9
+ldr :: offset: 0x29f, out: 0xe1e1a679131cd933
+ldr :: offset: 0x2a0, out: 0x24
+ldr :: offset: 0x2a1, out: 0x2429
+ldr :: offset: 0x2a2, out: 0x24296b
+ldr :: offset: 0x2a3, out: 0x24296b75
+ldr :: offset: 0x2a4, out: 0x24296b75a7
+ldr :: offset: 0x2a5, out: 0x24296b75a76f
+ldr :: offset: 0x2a6, out: 0x24296b75a76fa4
+ldr :: offset: 0x2a7, out: 0x24296b75a76fa427
+ldr :: offset: 0x2a8, out: 0xd2
+ldr :: offset: 0x2a9, out: 0xd296
+ldr :: offset: 0x2aa, out: 0xd296e2
+ldr :: offset: 0x2ab, out: 0xd296e2d2
+ldr :: offset: 0x2ac, out: 0xd296e2d213
+ldr :: offset: 0x2ad, out: 0xd296e2d2139e
+ldr :: offset: 0x2ae, out: 0xd296e2d2139ee5
+ldr :: offset: 0x2af, out: 0xd296e2d2139ee56a
+ldr :: offset: 0x2b0, out: 0x5a
+ldr :: offset: 0x2b1, out: 0x5a82
+ldr :: offset: 0x2b2, out: 0x5a8244
+ldr :: offset: 0x2b3, out: 0x5a82447f
+ldr :: offset: 0x2b4, out: 0x5a82447f6d
+ldr :: offset: 0x2b5, out: 0x5a82447f6dc2
+ldr :: offset: 0x2b6, out: 0x5a82447f6dc2a5
+ldr :: offset: 0x2b7, out: 0x5a82447f6dc2a5c0
+ldr :: offset: 0x2b8, out: 0x76
+ldr :: offset: 0x2b9, out: 0x76c8
+ldr :: offset: 0x2ba, out: 0x76c89e
+ldr :: offset: 0x2bb, out: 0x76c89e80
+ldr :: offset: 0x2bc, out: 0x76c89e80c0
+ldr :: offset: 0x2bd, out: 0x76c89e80c07d
+ldr :: offset: 0x2be, out: 0x76c89e80c07dc1
+ldr :: offset: 0x2bf, out: 0x76c89e80c07dc168
+ldr :: offset: 0x2c0, out: 0x7
+ldr :: offset: 0x2c1, out: 0x70d
+ldr :: offset: 0x2c2, out: 0x70dc3
+ldr :: offset: 0x2c3, out: 0x70dc345
+ldr :: offset: 0x2c4, out: 0x70dc3454b
+ldr :: offset: 0x2c5, out: 0x70dc3454bfe
+ldr :: offset: 0x2c6, out: 0x70dc3454bfe34
+ldr :: offset: 0x2c7, out: 0x70dc3454bfe348f
+ldr :: offset: 0x2c8, out: 0xbd
+ldr :: offset: 0x2c9, out: 0xbddc
+ldr :: offset: 0x2ca, out: 0xbddc71
+ldr :: offset: 0x2cb, out: 0xbddc7123
+ldr :: offset: 0x2cc, out: 0xbddc7123dd
+ldr :: offset: 0x2cd, out: 0xbddc7123dd6d
+ldr :: offset: 0x2ce, out: 0xbddc7123dd6d24
+ldr :: offset: 0x2cf, out: 0xbddc7123dd6d241b
+ldr :: offset: 0x2d0, out: 0xf6
+ldr :: offset: 0x2d1, out: 0xf62f
+ldr :: offset: 0x2d2, out: 0xf62fb7
+ldr :: offset: 0x2d3, out: 0xf62fb727
+ldr :: offset: 0x2d4, out: 0xf62fb727a5
+ldr :: offset: 0x2d5, out: 0xf62fb727a59f
+ldr :: offset: 0x2d6, out: 0xf62fb727a59fce
+ldr :: offset: 0x2d7, out: 0xf62fb727a59fcebe
+ldr :: offset: 0x2d8, out: 0x10
+ldr :: offset: 0x2d9, out: 0x109f
+ldr :: offset: 0x2da, out: 0x109f27
+ldr :: offset: 0x2db, out: 0x109f27e9
+ldr :: offset: 0x2dc, out: 0x109f27e90f
+ldr :: offset: 0x2dd, out: 0x109f27e90f9f
+ldr :: offset: 0x2de, out: 0x109f27e90f9f46
+ldr :: offset: 0x2df, out: 0x109f27e90f9f46fb
+ldr :: offset: 0x2e0, out: 0x3f
+ldr :: offset: 0x2e1, out: 0x3f63
+ldr :: offset: 0x2e2, out: 0x3f63da
+ldr :: offset: 0x2e3, out: 0x3f63daa9
+ldr :: offset: 0x2e4, out: 0x3f63daa9af
+ldr :: offset: 0x2e5, out: 0x3f63daa9afd1
+ldr :: offset: 0x2e6, out: 0x3f63daa9afd199
+ldr :: offset: 0x2e7, out: 0x3f63daa9afd199d7
+ldr :: offset: 0x2e8, out: 0xdb
+ldr :: offset: 0x2e9, out: 0xdbcb
+ldr :: offset: 0x2ea, out: 0xdbcb31
+ldr :: offset: 0x2eb, out: 0xdbcb312e
+ldr :: offset: 0x2ec, out: 0xdbcb312ea3
+ldr :: offset: 0x2ed, out: 0xdbcb312ea3d4
+ldr :: offset: 0x2ee, out: 0xdbcb312ea3d484
+ldr :: offset: 0x2ef, out: 0xdbcb312ea3d484f2
+ldr :: offset: 0x2f0, out: 0x1f
+ldr :: offset: 0x2f1, out: 0x1f35
+ldr :: offset: 0x2f2, out: 0x1f353f
+ldr :: offset: 0x2f3, out: 0x1f353faa
+ldr :: offset: 0x2f4, out: 0x1f353faada
+ldr :: offset: 0x2f5, out: 0x1f353faada4f
+ldr :: offset: 0x2f6, out: 0x1f353faada4fe4
+ldr :: offset: 0x2f7, out: 0x1f353faada4fe4c6
+ldr :: offset: 0x2f8, out: 0x8b
+ldr :: offset: 0x2f9, out: 0x8b08
+ldr :: offset: 0x2fa, out: 0x8b086e
+ldr :: offset: 0x2fb, out: 0x8b086ee0
+ldr :: offset: 0x2fc, out: 0x8b086ee071
+ldr :: offset: 0x2fd, out: 0x8b086ee07150
+ldr :: offset: 0x2fe, out: 0x8b086ee07150c2
+ldr :: offset: 0x2ff, out: 0x8b086ee07150c260
+ldr :: offset: 0x300, out: 0xe5
+ldr :: offset: 0x301, out: 0xe547
+ldr :: offset: 0x302, out: 0xe54750
+ldr :: offset: 0x303, out: 0xe54750d5
+ldr :: offset: 0x304, out: 0xe54750d5d9
+ldr :: offset: 0x305, out: 0xe54750d5d925
+ldr :: offset: 0x306, out: 0xe54750d5d9257f
+ldr :: offset: 0x307, out: 0xe54750d5d9257f25
+ldr :: offset: 0x308, out: 0x3d
+ldr :: offset: 0x309, out: 0x3d69
+ldr :: offset: 0x30a, out: 0x3d6962
+ldr :: offset: 0x30b, out: 0x3d69625f
+ldr :: offset: 0x30c, out: 0x3d69625fe9
+ldr :: offset: 0x30d, out: 0x3d69625fe9a6
+ldr :: offset: 0x30e, out: 0x3d69625fe9a6db
+ldr :: offset: 0x30f, out: 0x3d69625fe9a6db5b
+ldr :: offset: 0x310, out: 0x70
+ldr :: offset: 0x311, out: 0x70a3
+ldr :: offset: 0x312, out: 0x70a3e0
+ldr :: offset: 0x313, out: 0x70a3e042
+ldr :: offset: 0x314, out: 0x70a3e04243
+ldr :: offset: 0x315, out: 0x70a3e0424340
+ldr :: offset: 0x316, out: 0x70a3e0424340ac
+ldr :: offset: 0x317, out: 0x70a3e0424340ac96
+ldr :: offset: 0x318, out: 0xc0
+ldr :: offset: 0x319, out: 0xc047
+ldr :: offset: 0x31a, out: 0xc0478f
+ldr :: offset: 0x31b, out: 0xc0478f03
+ldr :: offset: 0x31c, out: 0xc0478f0369
+ldr :: offset: 0x31d, out: 0xc0478f036980
+ldr :: offset: 0x31e, out: 0xc0478f03698017
+ldr :: offset: 0x31f, out: 0xc0478f036980171e
+ldr :: offset: 0x320, out: 0x3c
+ldr :: offset: 0x321, out: 0x3ce8
+ldr :: offset: 0x322, out: 0x3ce839
+ldr :: offset: 0x323, out: 0x3ce839a5
+ldr :: offset: 0x324, out: 0x3ce839a51c
+ldr :: offset: 0x325, out: 0x3ce839a51cf9
+ldr :: offset: 0x326, out: 0x3ce839a51cf929
+ldr :: offset: 0x327, out: 0x3ce839a51cf929e3
+ldr :: offset: 0x328, out: 0xe2
+ldr :: offset: 0x329, out: 0xe2fb
+ldr :: offset: 0x32a, out: 0xe2fbfa
+ldr :: offset: 0x32b, out: 0xe2fbfa89
+ldr :: offset: 0x32c, out: 0xe2fbfa895e
+ldr :: offset: 0x32d, out: 0xe2fbfa895eb6
+ldr :: offset: 0x32e, out: 0xe2fbfa895eb689
+ldr :: offset: 0x32f, out: 0xe2fbfa895eb68958
+ldr :: offset: 0x330, out: 0xd2
+ldr :: offset: 0x331, out: 0xd24b
+ldr :: offset: 0x332, out: 0xd24bb0
+ldr :: offset: 0x333, out: 0xd24bb05d
+ldr :: offset: 0x334, out: 0xd24bb05d76
+ldr :: offset: 0x335, out: 0xd24bb05d76ed
+ldr :: offset: 0x336, out: 0xd24bb05d76ed25
+ldr :: offset: 0x337, out: 0xd24bb05d76ed25b7
+ldr :: offset: 0x338, out: 0xe
+ldr :: offset: 0x339, out: 0xeb9
+ldr :: offset: 0x33a, out: 0xeb968
+ldr :: offset: 0x33b, out: 0xeb9682c
+ldr :: offset: 0x33c, out: 0xeb9682c17
+ldr :: offset: 0x33d, out: 0xeb9682c1703
+ldr :: offset: 0x33e, out: 0xeb9682c170312
+ldr :: offset: 0x33f, out: 0xeb9682c170312f1
+ldr :: offset: 0x340, out: 0x84
+ldr :: offset: 0x341, out: 0x8478
+ldr :: offset: 0x342, out: 0x847852
+ldr :: offset: 0x343, out: 0x84785280
+ldr :: offset: 0x344, out: 0x84785280dd
+ldr :: offset: 0x345, out: 0x84785280dd30
+ldr :: offset: 0x346, out: 0x84785280dd301d
+ldr :: offset: 0x347, out: 0x84785280dd301d0d
+ldr :: offset: 0x348, out: 0x17
+ldr :: offset: 0x349, out: 0x179c
+ldr :: offset: 0x34a, out: 0x179c77
+ldr :: offset: 0x34b, out: 0x179c77aa
+ldr :: offset: 0x34c, out: 0x179c77aa1f
+ldr :: offset: 0x34d, out: 0x179c77aa1f8f
+ldr :: offset: 0x34e, out: 0x179c77aa1f8fd6
+ldr :: offset: 0x34f, out: 0x179c77aa1f8fd6ef
+ldr :: offset: 0x350, out: 0x26
+ldr :: offset: 0x351, out: 0x2644
+ldr :: offset: 0x352, out: 0x26444c
+ldr :: offset: 0x353, out: 0x26444ced
+ldr :: offset: 0x354, out: 0x26444ced29
+ldr :: offset: 0x355, out: 0x26444ced2998
+ldr :: offset: 0x356, out: 0x26444ced299843
+ldr :: offset: 0x357, out: 0x26444ced2998436d
+ldr :: offset: 0x358, out: 0x7
+ldr :: offset: 0x359, out: 0x717
+ldr :: offset: 0x35a, out: 0x7175c
+ldr :: offset: 0x35b, out: 0x7175c9d
+ldr :: offset: 0x35c, out: 0x7175c9dd5
+ldr :: offset: 0x35d, out: 0x7175c9dd58c
+ldr :: offset: 0x35e, out: 0x7175c9dd58ca7
+ldr :: offset: 0x35f, out: 0x7175c9dd58ca708
+ldr :: offset: 0x360, out: 0x66
+ldr :: offset: 0x361, out: 0x663d
+ldr :: offset: 0x362, out: 0x663d06
+ldr :: offset: 0x363, out: 0x663d0610
+ldr :: offset: 0x364, out: 0x663d061055
+ldr :: offset: 0x365, out: 0x663d06105583
+ldr :: offset: 0x366, out: 0x663d0610558332
+ldr :: offset: 0x367, out: 0x663d061055833287
+ldr :: offset: 0x368, out: 0xab
+ldr :: offset: 0x369, out: 0xab7d
+ldr :: offset: 0x36a, out: 0xab7dd0
+ldr :: offset: 0x36b, out: 0xab7dd048
+ldr :: offset: 0x36c, out: 0xab7dd04889
+ldr :: offset: 0x36d, out: 0xab7dd0488951
+ldr :: offset: 0x36e, out: 0xab7dd0488951d6
+ldr :: offset: 0x36f, out: 0xab7dd0488951d68b
+ldr :: offset: 0x370, out: 0xf6
+ldr :: offset: 0x371, out: 0xf698
+ldr :: offset: 0x372, out: 0xf69823
+ldr :: offset: 0x373, out: 0xf6982367
+ldr :: offset: 0x374, out: 0xf69823670e
+ldr :: offset: 0x375, out: 0xf69823670e82
+ldr :: offset: 0x376, out: 0xf69823670e8247
+ldr :: offset: 0x377, out: 0xf69823670e82471b
+ldr :: offset: 0x378, out: 0x36
+ldr :: offset: 0x379, out: 0x3688
+ldr :: offset: 0x37a, out: 0x36886c
+ldr :: offset: 0x37b, out: 0x36886c59
+ldr :: offset: 0x37c, out: 0x36886c59d9
+ldr :: offset: 0x37d, out: 0x36886c59d98d
+ldr :: offset: 0x37e, out: 0x36886c59d98d26
+ldr :: offset: 0x37f, out: 0x36886c59d98d26b2
+ldr :: offset: 0x380, out: 0x9
+ldr :: offset: 0x381, out: 0x9ca
+ldr :: offset: 0x382, out: 0x9ca4b
+ldr :: offset: 0x383, out: 0x9ca4bdb
+ldr :: offset: 0x384, out: 0x9ca4bdbd3
+ldr :: offset: 0x385, out: 0x9ca4bdbd32b
+ldr :: offset: 0x386, out: 0x9ca4bdbd32be4
+ldr :: offset: 0x387, out: 0x9ca4bdbd32be479
+ldr :: offset: 0x388, out: 0xfd
+ldr :: offset: 0x389, out: 0xfd5d
+ldr :: offset: 0x38a, out: 0xfd5d7d
+ldr :: offset: 0x38b, out: 0xfd5d7d1d
+ldr :: offset: 0x38c, out: 0xfd5d7d1d99
+ldr :: offset: 0x38d, out: 0xfd5d7d1d9962
+ldr :: offset: 0x38e, out: 0xfd5d7d1d9962e6
+ldr :: offset: 0x38f, out: 0xfd5d7d1d9962e61f
+ldr :: offset: 0x390, out: 0x3f
+ldr :: offset: 0x391, out: 0x3f46
+ldr :: offset: 0x392, out: 0x3f4655
+ldr :: offset: 0x393, out: 0x3f46553e
+ldr :: offset: 0x394, out: 0x3f46553eca
+ldr :: offset: 0x395, out: 0x3f46553ecad3
+ldr :: offset: 0x396, out: 0x3f46553ecad374
+ldr :: offset: 0x397, out: 0x3f46553ecad374df
+ldr :: offset: 0x398, out: 0x2e
+ldr :: offset: 0x399, out: 0x2e9a
+ldr :: offset: 0x39a, out: 0x2e9ab9
+ldr :: offset: 0x39b, out: 0x2e9ab97d
+ldr :: offset: 0x39c, out: 0x2e9ab97d3e
+ldr :: offset: 0x39d, out: 0x2e9ab97d3eed
+ldr :: offset: 0x39e, out: 0x2e9ab97d3eedf2
+ldr :: offset: 0x39f, out: 0x2e9ab97d3eedf2a7
+ldr :: offset: 0x3a0, out: 0x36
+ldr :: offset: 0x3a1, out: 0x36a6
+ldr :: offset: 0x3a2, out: 0x36a6f7
+ldr :: offset: 0x3a3, out: 0x36a6f7fa
+ldr :: offset: 0x3a4, out: 0x36a6f7fa3c
+ldr :: offset: 0x3a5, out: 0x36a6f7fa3c0c
+ldr :: offset: 0x3a6, out: 0x36a6f7fa3c0c9f
+ldr :: offset: 0x3a7, out: 0x36a6f7fa3c0c9f33
+ldr :: offset: 0x3a8, out: 0x8b
+ldr :: offset: 0x3a9, out: 0x8bb9
+ldr :: offset: 0x3aa, out: 0x8bb938
+ldr :: offset: 0x3ab, out: 0x8bb938e3
+ldr :: offset: 0x3ac, out: 0x8bb938e315
+ldr :: offset: 0x3ad, out: 0x8bb938e3155e
+ldr :: offset: 0x3ae, out: 0x8bb938e3155ec9
+ldr :: offset: 0x3af, out: 0x8bb938e3155ec9dc
+ldr :: offset: 0x3b0, out: 0xd2
+ldr :: offset: 0x3b1, out: 0xd2df
+ldr :: offset: 0x3b2, out: 0xd2df25
+ldr :: offset: 0x3b3, out: 0xd2df25c4
+ldr :: offset: 0x3b4, out: 0xd2df25c419
+ldr :: offset: 0x3b5, out: 0xd2df25c41947
+ldr :: offset: 0x3b6, out: 0xd2df25c4194782
+ldr :: offset: 0x3b7, out: 0xd2df25c419478206
+ldr :: offset: 0x3b8, out: 0xbc
+ldr :: offset: 0x3b9, out: 0xbc65
+ldr :: offset: 0x3ba, out: 0xbc65bf
+ldr :: offset: 0x3bb, out: 0xbc65bf27
+ldr :: offset: 0x3bc, out: 0xbc65bf27eb
+ldr :: offset: 0x3bd, out: 0xbc65bf27eb32
+ldr :: offset: 0x3be, out: 0xbc65bf27eb3218
+ldr :: offset: 0x3bf, out: 0xbc65bf27eb321825
+ldr :: offset: 0x3c0, out: 0xa8
+ldr :: offset: 0x3c1, out: 0xa8b0
+ldr :: offset: 0x3c2, out: 0xa8b08f
+ldr :: offset: 0x3c3, out: 0xa8b08fe6
+ldr :: offset: 0x3c4, out: 0xa8b08fe67a
+ldr :: offset: 0x3c5, out: 0xa8b08fe67a8b
+ldr :: offset: 0x3c6, out: 0xa8b08fe67a8bc7
+ldr :: offset: 0x3c7, out: 0xa8b08fe67a8bc7da
+ldr :: offset: 0x3c8, out: 0x85
+ldr :: offset: 0x3c9, out: 0x852b
+ldr :: offset: 0x3ca, out: 0x852b5b
+ldr :: offset: 0x3cb, out: 0x852b5bca
+ldr :: offset: 0x3cc, out: 0x852b5bcaf8
+ldr :: offset: 0x3cd, out: 0x852b5bcaf8df
+ldr :: offset: 0x3ce, out: 0x852b5bcaf8dfcd
+ldr :: offset: 0x3cf, out: 0x852b5bcaf8dfcde8
+ldr :: offset: 0x3d0, out: 0x4
+ldr :: offset: 0x3d1, out: 0x478
+ldr :: offset: 0x3d2, out: 0x47890
+ldr :: offset: 0x3d3, out: 0x478909b
+ldr :: offset: 0x3d4, out: 0x478909b59
+ldr :: offset: 0x3d5, out: 0x478909b59a9
+ldr :: offset: 0x3d6, out: 0x478909b59a992
+ldr :: offset: 0x3d7, out: 0x478909b59a99269
+ldr :: offset: 0x3d8, out: 0xbf
+ldr :: offset: 0x3d9, out: 0xbfb3
+ldr :: offset: 0x3da, out: 0xbfb31c
+ldr :: offset: 0x3db, out: 0xbfb31cc8
+ldr :: offset: 0x3dc, out: 0xbfb31cc878
+ldr :: offset: 0x3dd, out: 0xbfb31cc87857
+ldr :: offset: 0x3de, out: 0xbfb31cc8785736
+ldr :: offset: 0x3df, out: 0xbfb31cc87857360f
+ldr :: offset: 0x3e0, out: 0xb6
+ldr :: offset: 0x3e1, out: 0xb665
+ldr :: offset: 0x3e2, out: 0xb665ed
+ldr :: offset: 0x3e3, out: 0xb665ed5e
+ldr :: offset: 0x3e4, out: 0xb665ed5e7f
+ldr :: offset: 0x3e5, out: 0xb665ed5e7f89
+ldr :: offset: 0x3e6, out: 0xb665ed5e7f89e9
+ldr :: offset: 0x3e7, out: 0xb665ed5e7f89e9a2
+ldr :: offset: 0x3e8, out: 0x15
+ldr :: offset: 0x3e9, out: 0x15da
+ldr :: offset: 0x3ea, out: 0x15da94
+ldr :: offset: 0x3eb, out: 0x15da9474
+ldr :: offset: 0x3ec, out: 0x15da9474b7
+ldr :: offset: 0x3ed, out: 0x15da9474b7a8
+ldr :: offset: 0x3ee, out: 0x15da9474b7a8d5
+ldr :: offset: 0x3ef, out: 0x15da9474b7a8d5e4
+ldr :: offset: 0x3f0, out: 0xf6
+ldr :: offset: 0x3f1, out: 0xf6b3
+ldr :: offset: 0x3f2, out: 0xf6b353
+ldr :: offset: 0x3f3, out: 0xf6b3537d
+ldr :: offset: 0x3f4, out: 0xf6b3537d2a
+ldr :: offset: 0x3f5, out: 0xf6b3537d2af9
+ldr :: offset: 0x3f6, out: 0xf6b3537d2af90f
+ldr :: offset: 0x3f7, out: 0xf6b3537d2af90fcc
+ldr :: offset: 0x3f8, out: 0x22
+ldr :: offset: 0x3f9, out: 0x223d
+ldr :: offset: 0x3fa, out: 0x223d7c
+ldr :: offset: 0x3fb, out: 0x223d7cfe
+ldr :: offset: 0x3fc, out: 0x223d7cfe2b
+ldr :: offset: 0x3fd, out: 0x223d7cfe2b96
+ldr :: offset: 0x3fe, out: 0x223d7cfe2b9618
+ldr :: offset: 0x3ff, out: 0x223d7cfe2b961897
+ldr :: offset: 0x400, out: 0x42
+ldr :: offset: 0x401, out: 0x420b
+ldr :: offset: 0x402, out: 0x420b34
+ldr :: offset: 0x403, out: 0x420b34f5
+ldr :: offset: 0x404, out: 0x420b34f533
+ldr :: offset: 0x405, out: 0x420b34f53373
+ldr :: offset: 0x406, out: 0x420b34f533734a
+ldr :: offset: 0x407, out: 0x420b34f533734a4b
+ldr :: offset: 0x408, out: 0x89
+ldr :: offset: 0x409, out: 0x897c
+ldr :: offset: 0x40a, out: 0x897c8c
+ldr :: offset: 0x40b, out: 0x897c8c8d
+ldr :: offset: 0x40c, out: 0x897c8c8ddd
+ldr :: offset: 0x40d, out: 0x897c8c8ddd46
+ldr :: offset: 0x40e, out: 0x897c8c8ddd46b3
+ldr :: offset: 0x40f, out: 0x897c8c8ddd46b33c
+ldr :: offset: 0x410, out: 0x7a
+ldr :: offset: 0x411, out: 0x7a38
+ldr :: offset: 0x412, out: 0x7a3874
+ldr :: offset: 0x413, out: 0x7a387445
+ldr :: offset: 0x414, out: 0x7a387445e3
+ldr :: offset: 0x415, out: 0x7a387445e392
+ldr :: offset: 0x416, out: 0x7a387445e392cc
+ldr :: offset: 0x417, out: 0x7a387445e392ccd9
+ldr :: offset: 0x418, out: 0x51
+ldr :: offset: 0x419, out: 0x512f
+ldr :: offset: 0x41a, out: 0x512f29
+ldr :: offset: 0x41b, out: 0x512f29b1
+ldr :: offset: 0x41c, out: 0x512f29b1d8
+ldr :: offset: 0x41d, out: 0x512f29b1d800
+ldr :: offset: 0x41e, out: 0x512f29b1d80000
+ldr :: offset: 0x41f, out: 0x512f29b1d80000c9
+ldr :: offset: 0x420, out: 0xea
+ldr :: offset: 0x421, out: 0xeade
+ldr :: offset: 0x422, out: 0xeaded5
+ldr :: offset: 0x423, out: 0xeaded5c5
+ldr :: offset: 0x424, out: 0xeaded5c53d
+ldr :: offset: 0x425, out: 0xeaded5c53dad
+ldr :: offset: 0x426, out: 0xeaded5c53dad02
+ldr :: offset: 0x427, out: 0xeaded5c53dad020a
+ldr :: offset: 0x428, out: 0x8a
+ldr :: offset: 0x429, out: 0x8a62
+ldr :: offset: 0x42a, out: 0x8a6229
+ldr :: offset: 0x42b, out: 0x8a6229d7
+ldr :: offset: 0x42c, out: 0x8a6229d731
+ldr :: offset: 0x42d, out: 0x8a6229d731ee
+ldr :: offset: 0x42e, out: 0x8a6229d731eea3
+ldr :: offset: 0x42f, out: 0x8a6229d731eea35b
+ldr :: offset: 0x430, out: 0x2c
+ldr :: offset: 0x431, out: 0x2c3c
+ldr :: offset: 0x432, out: 0x2c3c3f
+ldr :: offset: 0x433, out: 0x2c3c3f9e
+ldr :: offset: 0x434, out: 0x2c3c3f9e48
+ldr :: offset: 0x435, out: 0x2c3c3f9e4898
+ldr :: offset: 0x436, out: 0x2c3c3f9e489856
+ldr :: offset: 0x437, out: 0x2c3c3f9e48985649
+ldr :: offset: 0x438, out: 0x7f
+ldr :: offset: 0x439, out: 0x7ff6
+ldr :: offset: 0x43a, out: 0x7ff61e
+ldr :: offset: 0x43b, out: 0x7ff61e78
+ldr :: offset: 0x43c, out: 0x7ff61e78dc
+ldr :: offset: 0x43d, out: 0x7ff61e78dc9c
+ldr :: offset: 0x43e, out: 0x7ff61e78dc9c0b
+ldr :: offset: 0x43f, out: 0x7ff61e78dc9c0b77
+ldr :: offset: 0x440, out: 0x22
+ldr :: offset: 0x441, out: 0x2299
+ldr :: offset: 0x442, out: 0x2299b0
+ldr :: offset: 0x443, out: 0x2299b0e0
+ldr :: offset: 0x444, out: 0x2299b0e01d
+ldr :: offset: 0x445, out: 0x2299b0e01d5e
+ldr :: offset: 0x446, out: 0x2299b0e01d5e68
+ldr :: offset: 0x447, out: 0x2299b0e01d5e68ec
+ldr :: offset: 0x448, out: 0x7c
+ldr :: offset: 0x449, out: 0x7c3b
+ldr :: offset: 0x44a, out: 0x7c3b04
+ldr :: offset: 0x44b, out: 0x7c3b0467
+ldr :: offset: 0x44c, out: 0x7c3b04673d
+ldr :: offset: 0x44d, out: 0x7c3b04673d0c
+ldr :: offset: 0x44e, out: 0x7c3b04673d0c6e
+ldr :: offset: 0x44f, out: 0x7c3b04673d0c6e25
+ldr :: offset: 0x450, out: 0x16
+ldr :: offset: 0x451, out: 0x164e
+ldr :: offset: 0x452, out: 0x164e17
+ldr :: offset: 0x453, out: 0x164e17c1
+ldr :: offset: 0x454, out: 0x164e17c1e7
+ldr :: offset: 0x455, out: 0x164e17c1e7fb
+ldr :: offset: 0x456, out: 0x164e17c1e7fb65
+ldr :: offset: 0x457, out: 0x164e17c1e7fb6587
+ldr :: offset: 0x458, out: 0xfa
+ldr :: offset: 0x459, out: 0xfa4c
+ldr :: offset: 0x45a, out: 0xfa4ca2
+ldr :: offset: 0x45b, out: 0xfa4ca28b
+ldr :: offset: 0x45c, out: 0xfa4ca28b56
+ldr :: offset: 0x45d, out: 0xfa4ca28b56d4
+ldr :: offset: 0x45e, out: 0xfa4ca28b56d495
+ldr :: offset: 0x45f, out: 0xfa4ca28b56d4950b
+ldr :: offset: 0x460, out: 0xe5
+ldr :: offset: 0x461, out: 0xe5e9
+ldr :: offset: 0x462, out: 0xe5e9a3
+ldr :: offset: 0x463, out: 0xe5e9a314
+ldr :: offset: 0x464, out: 0xe5e9a314be
+ldr :: offset: 0x465, out: 0xe5e9a314be7f
+ldr :: offset: 0x466, out: 0xe5e9a314be7fa0
+ldr :: offset: 0x467, out: 0xe5e9a314be7fa08a
+ldr :: offset: 0x468, out: 0xf8
+ldr :: offset: 0x469, out: 0xf8be
+ldr :: offset: 0x46a, out: 0xf8be81
+ldr :: offset: 0x46b, out: 0xf8be8164
+ldr :: offset: 0x46c, out: 0xf8be816415
+ldr :: offset: 0x46d, out: 0xf8be81641596
+ldr :: offset: 0x46e, out: 0xf8be8164159649
+ldr :: offset: 0x46f, out: 0xf8be8164159649c5
+ldr :: offset: 0x470, out: 0x7c
+ldr :: offset: 0x471, out: 0x7ca3
+ldr :: offset: 0x472, out: 0x7ca325
+ldr :: offset: 0x473, out: 0x7ca32597
+ldr :: offset: 0x474, out: 0x7ca3259784
+ldr :: offset: 0x475, out: 0x7ca3259784e6
+ldr :: offset: 0x476, out: 0x7ca3259784e69b
+ldr :: offset: 0x477, out: 0x7ca3259784e69b17
+ldr :: offset: 0x478, out: 0xfc
+ldr :: offset: 0x479, out: 0xfc8d
+ldr :: offset: 0x47a, out: 0xfc8d54
+ldr :: offset: 0x47b, out: 0xfc8d543c
+ldr :: offset: 0x47c, out: 0xfc8d543ca1
+ldr :: offset: 0x47d, out: 0xfc8d543ca1f2
+ldr :: offset: 0x47e, out: 0xfc8d543ca1f24f
+ldr :: offset: 0x47f, out: 0xfc8d543ca1f24f5c
+ldr :: offset: 0x480, out: 0x4a
+ldr :: offset: 0x481, out: 0x4aeb
+ldr :: offset: 0x482, out: 0x4aeb6c
+ldr :: offset: 0x483, out: 0x4aeb6ca0
+ldr :: offset: 0x484, out: 0x4aeb6ca0e3
+ldr :: offset: 0x485, out: 0x4aeb6ca0e345
+ldr :: offset: 0x486, out: 0x4aeb6ca0e3459e
+ldr :: offset: 0x487, out: 0x4aeb6ca0e3459e36
+ldr :: offset: 0x488, out: 0xc5
+ldr :: offset: 0x489, out: 0xc532
+ldr :: offset: 0x48a, out: 0xc532e1
+ldr :: offset: 0x48b, out: 0xc532e18e
+ldr :: offset: 0x48c, out: 0xc532e18e18
+ldr :: offset: 0x48d, out: 0xc532e18e1879
+ldr :: offset: 0x48e, out: 0xc532e18e187980
+ldr :: offset: 0x48f, out: 0xc532e18e187980fa
+ldr :: offset: 0x490, out: 0xb3
+ldr :: offset: 0x491, out: 0xb3fd
+ldr :: offset: 0x492, out: 0xb3fdec
+ldr :: offset: 0x493, out: 0xb3fdec29
+ldr :: offset: 0x494, out: 0xb3fdec294f
+ldr :: offset: 0x495, out: 0xb3fdec294f28
+ldr :: offset: 0x496, out: 0xb3fdec294f287d
+ldr :: offset: 0x497, out: 0xb3fdec294f287d1c
+ldr :: offset: 0x498, out: 0xb6
+ldr :: offset: 0x499, out: 0xb620
+ldr :: offset: 0x49a, out: 0xb62066
+ldr :: offset: 0x49b, out: 0xb620660a
+ldr :: offset: 0x49c, out: 0xb620660a49
+ldr :: offset: 0x49d, out: 0xb620660a4973
+ldr :: offset: 0x49e, out: 0xb620660a49732b
+ldr :: offset: 0x49f, out: 0xb620660a49732b90
+ldr :: offset: 0x4a0, out: 0x99
+ldr :: offset: 0x4a1, out: 0x9931
+ldr :: offset: 0x4a2, out: 0x993138
+ldr :: offset: 0x4a3, out: 0x993138f1
+ldr :: offset: 0x4a4, out: 0x993138f16c
+ldr :: offset: 0x4a5, out: 0x993138f16cfd
+ldr :: offset: 0x4a6, out: 0x993138f16cfde9
+ldr :: offset: 0x4a7, out: 0x993138f16cfde991
+ldr :: offset: 0x4a8, out: 0xde
+ldr :: offset: 0x4a9, out: 0xde02
+ldr :: offset: 0x4aa, out: 0xde02d1
+ldr :: offset: 0x4ab, out: 0xde02d133
+ldr :: offset: 0x4ac, out: 0xde02d1337d
+ldr :: offset: 0x4ad, out: 0xde02d1337d54
+ldr :: offset: 0x4ae, out: 0xde02d1337d5407
+ldr :: offset: 0x4af, out: 0xde02d1337d5407b9
+ldr :: offset: 0x4b0, out: 0x13
+ldr :: offset: 0x4b1, out: 0x13a3
+ldr :: offset: 0x4b2, out: 0x13a390
+ldr :: offset: 0x4b3, out: 0x13a390e1
+ldr :: offset: 0x4b4, out: 0x13a390e1e1
+ldr :: offset: 0x4b5, out: 0x13a390e1e1da
+ldr :: offset: 0x4b6, out: 0x13a390e1e1dab1
+ldr :: offset: 0x4b7, out: 0x13a390e1e1dab15a
+ldr :: offset: 0x4b8, out: 0x74
+ldr :: offset: 0x4b9, out: 0x7434
+ldr :: offset: 0x4ba, out: 0x743491
+ldr :: offset: 0x4bb, out: 0x743491a6
+ldr :: offset: 0x4bc, out: 0x743491a682
+ldr :: offset: 0x4bd, out: 0x743491a68287
+ldr :: offset: 0x4be, out: 0x743491a6828716
+ldr :: offset: 0x4bf, out: 0x743491a6828716c8
+ldr :: offset: 0x4c0, out: 0x8c
+ldr :: offset: 0x4c1, out: 0x8cff
+ldr :: offset: 0x4c2, out: 0x8cff40
+ldr :: offset: 0x4c3, out: 0x8cff404a
+ldr :: offset: 0x4c4, out: 0x8cff404aed
+ldr :: offset: 0x4c5, out: 0x8cff404aede2
+ldr :: offset: 0x4c6, out: 0x8cff404aede292
+ldr :: offset: 0x4c7, out: 0x8cff404aede292f2
+ldr :: offset: 0x4c8, out: 0xb9
+ldr :: offset: 0x4c9, out: 0xb9ce
+ldr :: offset: 0x4ca, out: 0xb9cec0
+ldr :: offset: 0x4cb, out: 0xb9cec0db
+ldr :: offset: 0x4cc, out: 0xb9cec0db1f
+ldr :: offset: 0x4cd, out: 0xb9cec0db1f83
+ldr :: offset: 0x4ce, out: 0xb9cec0db1f8376
+ldr :: offset: 0x4cf, out: 0xb9cec0db1f837636
+ldr :: offset: 0x4d0, out: 0x2e
+ldr :: offset: 0x4d1, out: 0x2eaa
+ldr :: offset: 0x4d2, out: 0x2eaa5a
+ldr :: offset: 0x4d3, out: 0x2eaa5aa7
+ldr :: offset: 0x4d4, out: 0x2eaa5aa705
+ldr :: offset: 0x4d5, out: 0x2eaa5aa70509
+ldr :: offset: 0x4d6, out: 0x2eaa5aa7050977
+ldr :: offset: 0x4d7, out: 0x2eaa5aa70509771c
+ldr :: offset: 0x4d8, out: 0xd3
+ldr :: offset: 0x4d9, out: 0xd327
+ldr :: offset: 0x4da, out: 0xd32753
+ldr :: offset: 0x4db, out: 0xd327538e
+ldr :: offset: 0x4dc, out: 0xd327538e18
+ldr :: offset: 0x4dd, out: 0xd327538e1875
+ldr :: offset: 0x4de, out: 0xd327538e187524
+ldr :: offset: 0x4df, out: 0xd327538e1875241b
+ldr :: offset: 0x4e0, out: 0x42
+ldr :: offset: 0x4e1, out: 0x42e9
+ldr :: offset: 0x4e2, out: 0x42e9f8
+ldr :: offset: 0x4e3, out: 0x42e9f854
+ldr :: offset: 0x4e4, out: 0x42e9f8548b
+ldr :: offset: 0x4e5, out: 0x42e9f8548b73
+ldr :: offset: 0x4e6, out: 0x42e9f8548b739b
+ldr :: offset: 0x4e7, out: 0x42e9f8548b739b6b
+ldr :: offset: 0x4e8, out: 0x78
+ldr :: offset: 0x4e9, out: 0x78e4
+ldr :: offset: 0x4ea, out: 0x78e4e5
+ldr :: offset: 0x4eb, out: 0x78e4e50c
+ldr :: offset: 0x4ec, out: 0x78e4e50cec
+ldr :: offset: 0x4ed, out: 0x78e4e50ceccb
+ldr :: offset: 0x4ee, out: 0x78e4e50ceccbba
+ldr :: offset: 0x4ef, out: 0x78e4e50ceccbba1a
+ldr :: offset: 0x4f0, out: 0xf6
+ldr :: offset: 0x4f1, out: 0xf6b6
+ldr :: offset: 0x4f2, out: 0xf6b6fa
+ldr :: offset: 0x4f3, out: 0xf6b6fa3f
+ldr :: offset: 0x4f4, out: 0xf6b6fa3fcd
+ldr :: offset: 0x4f5, out: 0xf6b6fa3fcd9d
+ldr :: offset: 0x4f6, out: 0xf6b6fa3fcd9d27
+ldr :: offset: 0x4f7, out: 0xf6b6fa3fcd9d27cb
+ldr :: offset: 0x4f8, out: 0x73
+ldr :: offset: 0x4f9, out: 0x7391
+ldr :: offset: 0x4fa, out: 0x739164
+ldr :: offset: 0x4fb, out: 0x73916483
+ldr :: offset: 0x4fc, out: 0x73916483ae
+ldr :: offset: 0x4fd, out: 0x73916483ae3e
+ldr :: offset: 0x4fe, out: 0x73916483ae3e94
+ldr :: offset: 0x4ff, out: 0x73916483ae3e9423
+ldr :: offset: 0x500, out: 0x27
+ldr :: offset: 0x501, out: 0x276a
+ldr :: offset: 0x502, out: 0x276af7
+ldr :: offset: 0x503, out: 0x276af70a
+ldr :: offset: 0x504, out: 0x276af70a0e
+ldr :: offset: 0x505, out: 0x276af70a0e12
+ldr :: offset: 0x506, out: 0x276af70a0e1285
+ldr :: offset: 0x507, out: 0x276af70a0e128561
+ldr :: offset: 0x508, out: 0x3
+ldr :: offset: 0x509, out: 0x304
+ldr :: offset: 0x50a, out: 0x3045b
+ldr :: offset: 0x50b, out: 0x3045bf6
+ldr :: offset: 0x50c, out: 0x3045bf6b5
+ldr :: offset: 0x50d, out: 0x3045bf6b5e7
+ldr :: offset: 0x50e, out: 0x3045bf6b5e74b
+ldr :: offset: 0x50f, out: 0x3045bf6b5e74b6e
+ldr :: offset: 0x510, out: 0x20
+ldr :: offset: 0x511, out: 0x2022
+ldr :: offset: 0x512, out: 0x20223f
+ldr :: offset: 0x513, out: 0x20223f13
+ldr :: offset: 0x514, out: 0x20223f1308
+ldr :: offset: 0x515, out: 0x20223f1308ac
+ldr :: offset: 0x516, out: 0x20223f1308accf
+ldr :: offset: 0x517, out: 0x20223f1308accfa6
+ldr :: offset: 0x518, out: 0xf8
+ldr :: offset: 0x519, out: 0xf83c
+ldr :: offset: 0x51a, out: 0xf83c55
+ldr :: offset: 0x51b, out: 0xf83c5574
+ldr :: offset: 0x51c, out: 0xf83c557439
+ldr :: offset: 0x51d, out: 0xf83c55743976
+ldr :: offset: 0x51e, out: 0xf83c55743976b5
+ldr :: offset: 0x51f, out: 0xf83c55743976b5f5
+ldr :: offset: 0x520, out: 0x1f
+ldr :: offset: 0x521, out: 0x1f97
+ldr :: offset: 0x522, out: 0x1f9720
+ldr :: offset: 0x523, out: 0x1f9720f9
+ldr :: offset: 0x524, out: 0x1f9720f946
+ldr :: offset: 0x525, out: 0x1f9720f94692
+ldr :: offset: 0x526, out: 0x1f9720f946923c
+ldr :: offset: 0x527, out: 0x1f9720f946923c3d
+ldr :: offset: 0x528, out: 0x62
+ldr :: offset: 0x529, out: 0x620d
+ldr :: offset: 0x52a, out: 0x620d28
+ldr :: offset: 0x52b, out: 0x620d2850
+ldr :: offset: 0x52c, out: 0x620d28506d
+ldr :: offset: 0x52d, out: 0x620d28506d24
+ldr :: offset: 0x52e, out: 0x620d28506d2448
+ldr :: offset: 0x52f, out: 0x620d28506d2448dd
+ldr :: offset: 0x530, out: 0x60
+ldr :: offset: 0x531, out: 0x60a5
+ldr :: offset: 0x532, out: 0x60a521
+ldr :: offset: 0x533, out: 0x60a521e9
+ldr :: offset: 0x534, out: 0x60a521e99f
+ldr :: offset: 0x535, out: 0x60a521e99ff4
+ldr :: offset: 0x536, out: 0x60a521e99ff4a7
+ldr :: offset: 0x537, out: 0x60a521e99ff4a732
+ldr :: offset: 0x538, out: 0x5a
+ldr :: offset: 0x539, out: 0x5a08
+ldr :: offset: 0x53a, out: 0x5a08f3
+ldr :: offset: 0x53b, out: 0x5a08f3ab
+ldr :: offset: 0x53c, out: 0x5a08f3ab5c
+ldr :: offset: 0x53d, out: 0x5a08f3ab5c68
+ldr :: offset: 0x53e, out: 0x5a08f3ab5c680f
+ldr :: offset: 0x53f, out: 0x5a08f3ab5c680f0b
+ldr :: offset: 0x540, out: 0xc7
+ldr :: offset: 0x541, out: 0xc7a5
+ldr :: offset: 0x542, out: 0xc7a59b
+ldr :: offset: 0x543, out: 0xc7a59be7
+ldr :: offset: 0x544, out: 0xc7a59be780
+ldr :: offset: 0x545, out: 0xc7a59be7800f
+ldr :: offset: 0x546, out: 0xc7a59be7800f3d
+ldr :: offset: 0x547, out: 0xc7a59be7800f3d26
+ldr :: offset: 0x548, out: 0x1a
+ldr :: offset: 0x549, out: 0x1aec
+ldr :: offset: 0x54a, out: 0x1aecdf
+ldr :: offset: 0x54b, out: 0x1aecdf29
+ldr :: offset: 0x54c, out: 0x1aecdf2982
+ldr :: offset: 0x54d, out: 0x1aecdf2982ca
+ldr :: offset: 0x54e, out: 0x1aecdf2982ca1b
+ldr :: offset: 0x54f, out: 0x1aecdf2982ca1b41
+ldr :: offset: 0x550, out: 0x2b
+ldr :: offset: 0x551, out: 0x2b86
+ldr :: offset: 0x552, out: 0x2b8613
+ldr :: offset: 0x553, out: 0x2b8613a2
+ldr :: offset: 0x554, out: 0x2b8613a260
+ldr :: offset: 0x555, out: 0x2b8613a260d1
+ldr :: offset: 0x556, out: 0x2b8613a260d19d
+ldr :: offset: 0x557, out: 0x2b8613a260d19dcd
+ldr :: offset: 0x558, out: 0x25
+ldr :: offset: 0x559, out: 0x2518
+ldr :: offset: 0x55a, out: 0x2518ac
+ldr :: offset: 0x55b, out: 0x2518ac8b
+ldr :: offset: 0x55c, out: 0x2518ac8b0e
+ldr :: offset: 0x55d, out: 0x2518ac8b0e8b
+ldr :: offset: 0x55e, out: 0x2518ac8b0e8bbe
+ldr :: offset: 0x55f, out: 0x2518ac8b0e8bbe7f
+ldr :: offset: 0x560, out: 0x74
+ldr :: offset: 0x561, out: 0x743e
+ldr :: offset: 0x562, out: 0x743e56
+ldr :: offset: 0x563, out: 0x743e568d
+ldr :: offset: 0x564, out: 0x743e568d2f
+ldr :: offset: 0x565, out: 0x743e568d2fcf
+ldr :: offset: 0x566, out: 0x743e568d2fcf48
+ldr :: offset: 0x567, out: 0x743e568d2fcf486b
+ldr :: offset: 0x568, out: 0x12
+ldr :: offset: 0x569, out: 0x126f
+ldr :: offset: 0x56a, out: 0x126f64
+ldr :: offset: 0x56b, out: 0x126f646f
+ldr :: offset: 0x56c, out: 0x126f646f34
+ldr :: offset: 0x56d, out: 0x126f646f34c3
+ldr :: offset: 0x56e, out: 0x126f646f34c317
+ldr :: offset: 0x56f, out: 0x126f646f34c31728
+ldr :: offset: 0x570, out: 0xaa
+ldr :: offset: 0x571, out: 0xaab0
+ldr :: offset: 0x572, out: 0xaab019
+ldr :: offset: 0x573, out: 0xaab01961
+ldr :: offset: 0x574, out: 0xaab0196156
+ldr :: offset: 0x575, out: 0xaab0196156fc
+ldr :: offset: 0x576, out: 0xaab0196156fc4d
+ldr :: offset: 0x577, out: 0xaab0196156fc4d12
+ldr :: offset: 0x578, out: 0x75
+ldr :: offset: 0x579, out: 0x7535
+ldr :: offset: 0x57a, out: 0x7535cd
+ldr :: offset: 0x57b, out: 0x7535cd33
+ldr :: offset: 0x57c, out: 0x7535cd3385
+ldr :: offset: 0x57d, out: 0x7535cd338595
+ldr :: offset: 0x57e, out: 0x7535cd338595d3
+ldr :: offset: 0x57f, out: 0x7535cd338595d342
+ldr :: offset: 0x580, out: 0xdf
+ldr :: offset: 0x581, out: 0xdfb2
+ldr :: offset: 0x582, out: 0xdfb254
+ldr :: offset: 0x583, out: 0xdfb254da
+ldr :: offset: 0x584, out: 0xdfb254da42
+ldr :: offset: 0x585, out: 0xdfb254da4223
+ldr :: offset: 0x586, out: 0xdfb254da422346
+ldr :: offset: 0x587, out: 0xdfb254da422346ec
+ldr :: offset: 0x588, out: 0xa8
+ldr :: offset: 0x589, out: 0xa867
+ldr :: offset: 0x58a, out: 0xa86726
+ldr :: offset: 0x58b, out: 0xa86726c9
+ldr :: offset: 0x58c, out: 0xa86726c900
+ldr :: offset: 0x58d, out: 0xa86726c90081
+ldr :: offset: 0x58e, out: 0xa86726c90081ab
+ldr :: offset: 0x58f, out: 0xa86726c90081ab2a
+ldr :: offset: 0x590, out: 0x9b
+ldr :: offset: 0x591, out: 0x9bfe
+ldr :: offset: 0x592, out: 0x9bfeff
+ldr :: offset: 0x593, out: 0x9bfeffa1
+ldr :: offset: 0x594, out: 0x9bfeffa167
+ldr :: offset: 0x595, out: 0x9bfeffa1679d
+ldr :: offset: 0x596, out: 0x9bfeffa1679d74
+ldr :: offset: 0x597, out: 0x9bfeffa1679d7438
+ldr :: offset: 0x598, out: 0xc7
+ldr :: offset: 0x599, out: 0xc769
+ldr :: offset: 0x59a, out: 0xc76998
+ldr :: offset: 0x59b, out: 0xc7699826
+ldr :: offset: 0x59c, out: 0xc7699826b7
+ldr :: offset: 0x59d, out: 0xc7699826b7de
+ldr :: offset: 0x59e, out: 0xc7699826b7dee2
+ldr :: offset: 0x59f, out: 0xc7699826b7dee244
+ldr :: offset: 0x5a0, out: 0x3c
+ldr :: offset: 0x5a1, out: 0x3c07
+ldr :: offset: 0x5a2, out: 0x3c07af
+ldr :: offset: 0x5a3, out: 0x3c07af97
+ldr :: offset: 0x5a4, out: 0x3c07af97fb
+ldr :: offset: 0x5a5, out: 0x3c07af97fba6
+ldr :: offset: 0x5a6, out: 0x3c07af97fba670
+ldr :: offset: 0x5a7, out: 0x3c07af97fba6704a
+ldr :: offset: 0x5a8, out: 0x52
+ldr :: offset: 0x5a9, out: 0x5213
+ldr :: offset: 0x5aa, out: 0x521364
+ldr :: offset: 0x5ab, out: 0x521364dc
+ldr :: offset: 0x5ac, out: 0x521364dc04
+ldr :: offset: 0x5ad, out: 0x521364dc04c5
+ldr :: offset: 0x5ae, out: 0x521364dc04c58b
+ldr :: offset: 0x5af, out: 0x521364dc04c58bfe
+ldr :: offset: 0x5b0, out: 0xe0
+ldr :: offset: 0x5b1, out: 0xe0f7
+ldr :: offset: 0x5b2, out: 0xe0f7bb
+ldr :: offset: 0x5b3, out: 0xe0f7bb58
+ldr :: offset: 0x5b4, out: 0xe0f7bb589a
+ldr :: offset: 0x5b5, out: 0xe0f7bb589ab7
+ldr :: offset: 0x5b6, out: 0xe0f7bb589ab7ae
+ldr :: offset: 0x5b7, out: 0xe0f7bb589ab7aebc
+ldr :: offset: 0x5b8, out: 0xe3
+ldr :: offset: 0x5b9, out: 0xe336
+ldr :: offset: 0x5ba, out: 0xe336c6
+ldr :: offset: 0x5bb, out: 0xe336c60c
+ldr :: offset: 0x5bc, out: 0xe336c60cde
+ldr :: offset: 0x5bd, out: 0xe336c60cdeeb
+ldr :: offset: 0x5be, out: 0xe336c60cdeeb95
+ldr :: offset: 0x5bf, out: 0xe336c60cdeeb954d
+ldr :: offset: 0x5c0, out: 0xd5
+ldr :: offset: 0x5c1, out: 0xd5b2
+ldr :: offset: 0x5c2, out: 0xd5b212
+ldr :: offset: 0x5c3, out: 0xd5b2120c
+ldr :: offset: 0x5c4, out: 0xd5b2120c6f
+ldr :: offset: 0x5c5, out: 0xd5b2120c6f52
+ldr :: offset: 0x5c6, out: 0xd5b2120c6f5241
+ldr :: offset: 0x5c7, out: 0xd5b2120c6f52416e
+ldr :: offset: 0x5c8, out: 0x85
+ldr :: offset: 0x5c9, out: 0x85a2
+ldr :: offset: 0x5ca, out: 0x85a2d4
+ldr :: offset: 0x5cb, out: 0x85a2d4ff
+ldr :: offset: 0x5cc, out: 0x85a2d4ff7e
+ldr :: offset: 0x5cd, out: 0x85a2d4ff7e62
+ldr :: offset: 0x5ce, out: 0x85a2d4ff7e628a
+ldr :: offset: 0x5cf, out: 0x85a2d4ff7e628a34
+ldr :: offset: 0x5d0, out: 0x98
+ldr :: offset: 0x5d1, out: 0x986a
+ldr :: offset: 0x5d2, out: 0x986a2b
+ldr :: offset: 0x5d3, out: 0x986a2b65
+ldr :: offset: 0x5d4, out: 0x986a2b654a
+ldr :: offset: 0x5d5, out: 0x986a2b654a4e
+ldr :: offset: 0x5d6, out: 0x986a2b654a4e7e
+ldr :: offset: 0x5d7, out: 0x986a2b654a4e7e07
+ldr :: offset: 0x5d8, out: 0xa9
+ldr :: offset: 0x5d9, out: 0xa974
+ldr :: offset: 0x5da, out: 0xa974ea
+ldr :: offset: 0x5db, out: 0xa974eac4
+ldr :: offset: 0x5dc, out: 0xa974eac43a
+ldr :: offset: 0x5dd, out: 0xa974eac43a48
+ldr :: offset: 0x5de, out: 0xa974eac43a489b
+ldr :: offset: 0x5df, out: 0xa974eac43a489b55
+ldr :: offset: 0x5e0, out: 0xa3
+ldr :: offset: 0x5e1, out: 0xa388
+ldr :: offset: 0x5e2, out: 0xa388c1
+ldr :: offset: 0x5e3, out: 0xa388c162
+ldr :: offset: 0x5e4, out: 0xa388c16272
+ldr :: offset: 0x5e5, out: 0xa388c16272f1
+ldr :: offset: 0x5e6, out: 0xa388c16272f1f8
+ldr :: offset: 0x5e7, out: 0xa388c16272f1f8f5
+ldr :: offset: 0x5e8, out: 0xe8
+ldr :: offset: 0x5e9, out: 0xe8c1
+ldr :: offset: 0x5ea, out: 0xe8c11f
+ldr :: offset: 0x5eb, out: 0xe8c11f45
+ldr :: offset: 0x5ec, out: 0xe8c11f45e7
+ldr :: offset: 0x5ed, out: 0xe8c11f45e749
+ldr :: offset: 0x5ee, out: 0xe8c11f45e7495e
+ldr :: offset: 0x5ef, out: 0xe8c11f45e7495ea9
+ldr :: offset: 0x5f0, out: 0xad
+ldr :: offset: 0x5f1, out: 0xadaa
+ldr :: offset: 0x5f2, out: 0xadaa5a
+ldr :: offset: 0x5f3, out: 0xadaa5a76
+ldr :: offset: 0x5f4, out: 0xadaa5a765c
+ldr :: offset: 0x5f5, out: 0xadaa5a765cc1
+ldr :: offset: 0x5f6, out: 0xadaa5a765cc1c8
+ldr :: offset: 0x5f7, out: 0xadaa5a765cc1c8b4
+ldr :: offset: 0x5f8, out: 0x7a
+ldr :: offset: 0x5f9, out: 0x7ab4
+ldr :: offset: 0x5fa, out: 0x7ab4ce
+ldr :: offset: 0x5fb, out: 0x7ab4ce88
+ldr :: offset: 0x5fc, out: 0x7ab4ce88df
+ldr :: offset: 0x5fd, out: 0x7ab4ce88dfa6
+ldr :: offset: 0x5fe, out: 0x7ab4ce88dfa605
+ldr :: offset: 0x5ff, out: 0x7ab4ce88dfa605c0
+ldr :: offset: 0x600, out: 0xb4
+ldr :: offset: 0x601, out: 0xb42a
+ldr :: offset: 0x602, out: 0xb42ad6
+ldr :: offset: 0x603, out: 0xb42ad6e6
+ldr :: offset: 0x604, out: 0xb42ad6e659
+ldr :: offset: 0x605, out: 0xb42ad6e659a7
+ldr :: offset: 0x606, out: 0xb42ad6e659a7b0
+ldr :: offset: 0x607, out: 0xb42ad6e659a7b04f
+ldr :: offset: 0x608, out: 0x4b
+ldr :: offset: 0x609, out: 0x4bf8
+ldr :: offset: 0x60a, out: 0x4bf848
+ldr :: offset: 0x60b, out: 0x4bf8485a
+ldr :: offset: 0x60c, out: 0x4bf8485ab7
+ldr :: offset: 0x60d, out: 0x4bf8485ab728
+ldr :: offset: 0x60e, out: 0x4bf8485ab72892
+ldr :: offset: 0x60f, out: 0x4bf8485ab728922f
+ldr :: offset: 0x610, out: 0x76
+ldr :: offset: 0x611, out: 0x76a3
+ldr :: offset: 0x612, out: 0x76a3d6
+ldr :: offset: 0x613, out: 0x76a3d60c
+ldr :: offset: 0x614, out: 0x76a3d60c3b
+ldr :: offset: 0x615, out: 0x76a3d60c3b66
+ldr :: offset: 0x616, out: 0x76a3d60c3b66a7
+ldr :: offset: 0x617, out: 0x76a3d60c3b66a7fb
+ldr :: offset: 0x618, out: 0x31
+ldr :: offset: 0x619, out: 0x31e0
+ldr :: offset: 0x61a, out: 0x31e0c6
+ldr :: offset: 0x61b, out: 0x31e0c6af
+ldr :: offset: 0x61c, out: 0x31e0c6affd
+ldr :: offset: 0x61d, out: 0x31e0c6affdc2
+ldr :: offset: 0x61e, out: 0x31e0c6affdc28e
+ldr :: offset: 0x61f, out: 0x31e0c6affdc28eda
+ldr :: offset: 0x620, out: 0x53
+ldr :: offset: 0x621, out: 0x5360
+ldr :: offset: 0x622, out: 0x53606b
+ldr :: offset: 0x623, out: 0x53606bb4
+ldr :: offset: 0x624, out: 0x53606bb4bf
+ldr :: offset: 0x625, out: 0x53606bb4bf0c
+ldr :: offset: 0x626, out: 0x53606bb4bf0c99
+ldr :: offset: 0x627, out: 0x53606bb4bf0c999d
+ldr :: offset: 0x628, out: 0x32
+ldr :: offset: 0x629, out: 0x32fc
+ldr :: offset: 0x62a, out: 0x32fc12
+ldr :: offset: 0x62b, out: 0x32fc12c8
+ldr :: offset: 0x62c, out: 0x32fc12c81b
+ldr :: offset: 0x62d, out: 0x32fc12c81b79
+ldr :: offset: 0x62e, out: 0x32fc12c81b7919
+ldr :: offset: 0x62f, out: 0x32fc12c81b7919f0
+ldr :: offset: 0x630, out: 0x3e
+ldr :: offset: 0x631, out: 0x3ef8
+ldr :: offset: 0x632, out: 0x3ef883
+ldr :: offset: 0x633, out: 0x3ef88384
+ldr :: offset: 0x634, out: 0x3ef88384c7
+ldr :: offset: 0x635, out: 0x3ef88384c72e
+ldr :: offset: 0x636, out: 0x3ef88384c72efc
+ldr :: offset: 0x637, out: 0x3ef88384c72efcd6
+ldr :: offset: 0x638, out: 0x38
+ldr :: offset: 0x639, out: 0x38b1
+ldr :: offset: 0x63a, out: 0x38b1c7
+ldr :: offset: 0x63b, out: 0x38b1c7bb
+ldr :: offset: 0x63c, out: 0x38b1c7bb6a
+ldr :: offset: 0x63d, out: 0x38b1c7bb6a2a
+ldr :: offset: 0x63e, out: 0x38b1c7bb6a2a35
+ldr :: offset: 0x63f, out: 0x38b1c7bb6a2a3580
+ldr :: offset: 0x640, out: 0x15
+ldr :: offset: 0x641, out: 0x15eb
+ldr :: offset: 0x642, out: 0x15ebf6
+ldr :: offset: 0x643, out: 0x15ebf612
+ldr :: offset: 0x644, out: 0x15ebf6121d
+ldr :: offset: 0x645, out: 0x15ebf6121dca
+ldr :: offset: 0x646, out: 0x15ebf6121dca77
+ldr :: offset: 0x647, out: 0x15ebf6121dca77c9
+ldr :: offset: 0x648, out: 0x5e
+ldr :: offset: 0x649, out: 0x5eaa
+ldr :: offset: 0x64a, out: 0x5eaacd
+ldr :: offset: 0x64b, out: 0x5eaacdd9
+ldr :: offset: 0x64c, out: 0x5eaacdd9fd
+ldr :: offset: 0x64d, out: 0x5eaacdd9fd91
+ldr :: offset: 0x64e, out: 0x5eaacdd9fd9147
+ldr :: offset: 0x64f, out: 0x5eaacdd9fd9147ae
+ldr :: offset: 0x650, out: 0xbb
+ldr :: offset: 0x651, out: 0xbb84
+ldr :: offset: 0x652, out: 0xbb8470
+ldr :: offset: 0x653, out: 0xbb8470f9
+ldr :: offset: 0x654, out: 0xbb8470f981
+ldr :: offset: 0x655, out: 0xbb8470f981e9
+ldr :: offset: 0x656, out: 0xbb8470f981e911
+ldr :: offset: 0x657, out: 0xbb8470f981e91117
+ldr :: offset: 0x658, out: 0x5
+ldr :: offset: 0x659, out: 0x5d4
+ldr :: offset: 0x65a, out: 0x5d42a
+ldr :: offset: 0x65b, out: 0x5d42aea
+ldr :: offset: 0x65c, out: 0x5d42aeac6
+ldr :: offset: 0x65d, out: 0x5d42aeac6a5
+ldr :: offset: 0x65e, out: 0x5d42aeac6a532
+ldr :: offset: 0x65f, out: 0x5d42aeac6a532e0
+ldr :: offset: 0x660, out: 0x14
+ldr :: offset: 0x661, out: 0x14ab
+ldr :: offset: 0x662, out: 0x14abf3
+ldr :: offset: 0x663, out: 0x14abf364
+ldr :: offset: 0x664, out: 0x14abf36419
+ldr :: offset: 0x665, out: 0x14abf36419fb
+ldr :: offset: 0x666, out: 0x14abf36419fb9e
+ldr :: offset: 0x667, out: 0x14abf36419fb9e63
+ldr :: offset: 0x668, out: 0x24
+ldr :: offset: 0x669, out: 0x249d
+ldr :: offset: 0x66a, out: 0x249d55
+ldr :: offset: 0x66b, out: 0x249d559a
+ldr :: offset: 0x66c, out: 0x249d559aa8
+ldr :: offset: 0x66d, out: 0x249d559aa8d7
+ldr :: offset: 0x66e, out: 0x249d559aa8d72a
+ldr :: offset: 0x66f, out: 0x249d559aa8d72aac
+ldr :: offset: 0x670, out: 0xc
+ldr :: offset: 0x671, out: 0xcd6
+ldr :: offset: 0x672, out: 0xcd676
+ldr :: offset: 0x673, out: 0xcd6764f
+ldr :: offset: 0x674, out: 0xcd6764f08
+ldr :: offset: 0x675, out: 0xcd6764f084b
+ldr :: offset: 0x676, out: 0xcd6764f084b30
+ldr :: offset: 0x677, out: 0xcd6764f084b30ec
+ldr :: offset: 0x678, out: 0x7f
+ldr :: offset: 0x679, out: 0x7f03
+ldr :: offset: 0x67a, out: 0x7f03ac
+ldr :: offset: 0x67b, out: 0x7f03ac07
+ldr :: offset: 0x67c, out: 0x7f03ac0792
+ldr :: offset: 0x67d, out: 0x7f03ac079246
+ldr :: offset: 0x67e, out: 0x7f03ac0792468f
+ldr :: offset: 0x67f, out: 0x7f03ac0792468fdf
+ldr :: offset: 0x680, out: 0x7e
+ldr :: offset: 0x681, out: 0x7e35
+ldr :: offset: 0x682, out: 0x7e35ce
+ldr :: offset: 0x683, out: 0x7e35ce6d
+ldr :: offset: 0x684, out: 0x7e35ce6d56
+ldr :: offset: 0x685, out: 0x7e35ce6d56e6
+ldr :: offset: 0x686, out: 0x7e35ce6d56e670
+ldr :: offset: 0x687, out: 0x7e35ce6d56e670f5
+ldr :: offset: 0x688, out: 0x15
+ldr :: offset: 0x689, out: 0x1528
+ldr :: offset: 0x68a, out: 0x152828
+ldr :: offset: 0x68b, out: 0x15282859
+ldr :: offset: 0x68c, out: 0x152828591a
+ldr :: offset: 0x68d, out: 0x152828591a65
+ldr :: offset: 0x68e, out: 0x152828591a6527
+ldr :: offset: 0x68f, out: 0x152828591a652711
+ldr :: offset: 0x690, out: 0x9e
+ldr :: offset: 0x691, out: 0x9e1c
+ldr :: offset: 0x692, out: 0x9e1c32
+ldr :: offset: 0x693, out: 0x9e1c3283
+ldr :: offset: 0x694, out: 0x9e1c3283d2
+ldr :: offset: 0x695, out: 0x9e1c3283d215
+ldr :: offset: 0x696, out: 0x9e1c3283d215a9
+ldr :: offset: 0x697, out: 0x9e1c3283d215a9fb
+ldr :: offset: 0x698, out: 0x8d
+ldr :: offset: 0x699, out: 0x8d95
+ldr :: offset: 0x69a, out: 0x8d95c0
+ldr :: offset: 0x69b, out: 0x8d95c049
+ldr :: offset: 0x69c, out: 0x8d95c04928
+ldr :: offset: 0x69d, out: 0x8d95c049282a
+ldr :: offset: 0x69e, out: 0x8d95c049282a04
+ldr :: offset: 0x69f, out: 0x8d95c049282a0417
+ldr :: offset: 0x6a0, out: 0xf2
+ldr :: offset: 0x6a1, out: 0xf2e7
+ldr :: offset: 0x6a2, out: 0xf2e7a4
+ldr :: offset: 0x6a3, out: 0xf2e7a490
+ldr :: offset: 0x6a4, out: 0xf2e7a49097
+ldr :: offset: 0x6a5, out: 0xf2e7a4909780
+ldr :: offset: 0x6a6, out: 0xf2e7a490978058
+ldr :: offset: 0x6a7, out: 0xf2e7a490978058f3
+ldr :: offset: 0x6a8, out: 0x77
+ldr :: offset: 0x6a9, out: 0x775b
+ldr :: offset: 0x6aa, out: 0x775b4c
+ldr :: offset: 0x6ab, out: 0x775b4cca
+ldr :: offset: 0x6ac, out: 0x775b4cca09
+ldr :: offset: 0x6ad, out: 0x775b4cca0975
+ldr :: offset: 0x6ae, out: 0x775b4cca0975b1
+ldr :: offset: 0x6af, out: 0x775b4cca0975b1aa
+ldr :: offset: 0x6b0, out: 0xa
+ldr :: offset: 0x6b1, out: 0xa2b
+ldr :: offset: 0x6b2, out: 0xa2b84
+ldr :: offset: 0x6b3, out: 0xa2b84a6
+ldr :: offset: 0x6b4, out: 0xa2b84a635
+ldr :: offset: 0x6b5, out: 0xa2b84a63511
+ldr :: offset: 0x6b6, out: 0xa2b84a6351110
+ldr :: offset: 0x6b7, out: 0xa2b84a635111020
+ldr :: offset: 0x6b8, out: 0x2
+ldr :: offset: 0x6b9, out: 0x23f
+ldr :: offset: 0x6ba, out: 0x23fa0
+ldr :: offset: 0x6bb, out: 0x23fa0d3
+ldr :: offset: 0x6bc, out: 0x23fa0d3a7
+ldr :: offset: 0x6bd, out: 0x23fa0d3a7d8
+ldr :: offset: 0x6be, out: 0x23fa0d3a7d88b
+ldr :: offset: 0x6bf, out: 0x23fa0d3a7d88b6f
+ldr :: offset: 0x6c0, out: 0xa3
+ldr :: offset: 0x6c1, out: 0xa3d9
+ldr :: offset: 0x6c2, out: 0xa3d991
+ldr :: offset: 0x6c3, out: 0xa3d991b7
+ldr :: offset: 0x6c4, out: 0xa3d991b799
+ldr :: offset: 0x6c5, out: 0xa3d991b79941
+ldr :: offset: 0x6c6, out: 0xa3d991b79941de
+ldr :: offset: 0x6c7, out: 0xa3d991b79941dedd
+ldr :: offset: 0x6c8, out: 0x75
+ldr :: offset: 0x6c9, out: 0x751c
+ldr :: offset: 0x6ca, out: 0x751cb4
+ldr :: offset: 0x6cb, out: 0x751cb483
+ldr :: offset: 0x6cc, out: 0x751cb4835a
+ldr :: offset: 0x6cd, out: 0x751cb4835a0d
+ldr :: offset: 0x6ce, out: 0x751cb4835a0d95
+ldr :: offset: 0x6cf, out: 0x751cb4835a0d9508
+ldr :: offset: 0x6d0, out: 0x94
+ldr :: offset: 0x6d1, out: 0x949c
+ldr :: offset: 0x6d2, out: 0x949cad
+ldr :: offset: 0x6d3, out: 0x949cad35
+ldr :: offset: 0x6d4, out: 0x949cad3562
+ldr :: offset: 0x6d5, out: 0x949cad35625b
+ldr :: offset: 0x6d6, out: 0x949cad35625bb2
+ldr :: offset: 0x6d7, out: 0x949cad35625bb2d3
+ldr :: offset: 0x6d8, out: 0x7f
+ldr :: offset: 0x6d9, out: 0x7f56
+ldr :: offset: 0x6da, out: 0x7f567f
+ldr :: offset: 0x6db, out: 0x7f567f35
+ldr :: offset: 0x6dc, out: 0x7f567f35a6
+ldr :: offset: 0x6dd, out: 0x7f567f35a692
+ldr :: offset: 0x6de, out: 0x7f567f35a69297
+ldr :: offset: 0x6df, out: 0x7f567f35a6929739
+ldr :: offset: 0x6e0, out: 0x18
+ldr :: offset: 0x6e1, out: 0x185b
+ldr :: offset: 0x6e2, out: 0x185b88
+ldr :: offset: 0x6e3, out: 0x185b88e0
+ldr :: offset: 0x6e4, out: 0x185b88e0db
+ldr :: offset: 0x6e5, out: 0x185b88e0db8d
+ldr :: offset: 0x6e6, out: 0x185b88e0db8d7d
+ldr :: offset: 0x6e7, out: 0x185b88e0db8d7d27
+ldr :: offset: 0x6e8, out: 0x25
+ldr :: offset: 0x6e9, out: 0x255a
+ldr :: offset: 0x6ea, out: 0x255a4c
+ldr :: offset: 0x6eb, out: 0x255a4cd2
+ldr :: offset: 0x6ec, out: 0x255a4cd22f
+ldr :: offset: 0x6ed, out: 0x255a4cd22fd6
+ldr :: offset: 0x6ee, out: 0x255a4cd22fd61b
+ldr :: offset: 0x6ef, out: 0x255a4cd22fd61b91
+ldr :: offset: 0x6f0, out: 0x10
+ldr :: offset: 0x6f1, out: 0x1048
+ldr :: offset: 0x6f2, out: 0x1048d5
+ldr :: offset: 0x6f3, out: 0x1048d589
+ldr :: offset: 0x6f4, out: 0x1048d589a4
+ldr :: offset: 0x6f5, out: 0x1048d589a436
+ldr :: offset: 0x6f6, out: 0x1048d589a4363f
+ldr :: offset: 0x6f7, out: 0x1048d589a4363f7b
+ldr :: offset: 0x6f8, out: 0x6a
+ldr :: offset: 0x6f9, out: 0x6a6d
+ldr :: offset: 0x6fa, out: 0x6a6d57
+ldr :: offset: 0x6fb, out: 0x6a6d5708
+ldr :: offset: 0x6fc, out: 0x6a6d5708f4
+ldr :: offset: 0x6fd, out: 0x6a6d5708f460
+ldr :: offset: 0x6fe, out: 0x6a6d5708f46057
+ldr :: offset: 0x6ff, out: 0x6a6d5708f4605790
+ldr :: offset: 0x700, out: 0xd5
+ldr :: offset: 0x701, out: 0xd58e
+ldr :: offset: 0x702, out: 0xd58ecb
+ldr :: offset: 0x703, out: 0xd58ecbab
+ldr :: offset: 0x704, out: 0xd58ecbabde
+ldr :: offset: 0x705, out: 0xd58ecbabde35
+ldr :: offset: 0x706, out: 0xd58ecbabde3569
+ldr :: offset: 0x707, out: 0xd58ecbabde35697f
+ldr :: offset: 0x708, out: 0x57
+ldr :: offset: 0x709, out: 0x5755
+ldr :: offset: 0x70a, out: 0x575548
+ldr :: offset: 0x70b, out: 0x575548fd
+ldr :: offset: 0x70c, out: 0x575548fd08
+ldr :: offset: 0x70d, out: 0x575548fd08c0
+ldr :: offset: 0x70e, out: 0x575548fd08c0a5
+ldr :: offset: 0x70f, out: 0x575548fd08c0a5f1
+ldr :: offset: 0x710, out: 0x8b
+ldr :: offset: 0x711, out: 0x8bb6
+ldr :: offset: 0x712, out: 0x8bb640
+ldr :: offset: 0x713, out: 0x8bb640fb
+ldr :: offset: 0x714, out: 0x8bb640fb8e
+ldr :: offset: 0x715, out: 0x8bb640fb8ed9
+ldr :: offset: 0x716, out: 0x8bb640fb8ed98d
+ldr :: offset: 0x717, out: 0x8bb640fb8ed98ddb
+ldr :: offset: 0x718, out: 0xbe
+ldr :: offset: 0x719, out: 0xbe00
+ldr :: offset: 0x71a, out: 0xbe00d5
+ldr :: offset: 0x71b, out: 0xbe00d51e
+ldr :: offset: 0x71c, out: 0xbe00d51eab
+ldr :: offset: 0x71d, out: 0xbe00d51eabc5
+ldr :: offset: 0x71e, out: 0xbe00d51eabc578
+ldr :: offset: 0x71f, out: 0xbe00d51eabc578cc
+ldr :: offset: 0x720, out: 0x2f
+ldr :: offset: 0x721, out: 0x2f7e
+ldr :: offset: 0x722, out: 0x2f7e22
+ldr :: offset: 0x723, out: 0x2f7e224a
+ldr :: offset: 0x724, out: 0x2f7e224a1c
+ldr :: offset: 0x725, out: 0x2f7e224a1c17
+ldr :: offset: 0x726, out: 0x2f7e224a1c170a
+ldr :: offset: 0x727, out: 0x2f7e224a1c170ab2
+ldr :: offset: 0x728, out: 0xa9
+ldr :: offset: 0x729, out: 0xa978
+ldr :: offset: 0x72a, out: 0xa978f1
+ldr :: offset: 0x72b, out: 0xa978f12c
+ldr :: offset: 0x72c, out: 0xa978f12ca2
+ldr :: offset: 0x72d, out: 0xa978f12ca222
+ldr :: offset: 0x72e, out: 0xa978f12ca22256
+ldr :: offset: 0x72f, out: 0xa978f12ca22256a7
+ldr :: offset: 0x730, out: 0x99
+ldr :: offset: 0x731, out: 0x9950
+ldr :: offset: 0x732, out: 0x9950a9
+ldr :: offset: 0x733, out: 0x9950a93b
+ldr :: offset: 0x734, out: 0x9950a93b81
+ldr :: offset: 0x735, out: 0x9950a93b811e
+ldr :: offset: 0x736, out: 0x9950a93b811ee0
+ldr :: offset: 0x737, out: 0x9950a93b811ee02f
+ldr :: offset: 0x738, out: 0xb4
+ldr :: offset: 0x739, out: 0xb44e
+ldr :: offset: 0x73a, out: 0xb44eea
+ldr :: offset: 0x73b, out: 0xb44eea93
+ldr :: offset: 0x73c, out: 0xb44eea93c6
+ldr :: offset: 0x73d, out: 0xb44eea93c679
+ldr :: offset: 0x73e, out: 0xb44eea93c6796a
+ldr :: offset: 0x73f, out: 0xb44eea93c6796a0c
+ldr :: offset: 0x740, out: 0xfe
+ldr :: offset: 0x741, out: 0xfe71
+ldr :: offset: 0x742, out: 0xfe71fc
+ldr :: offset: 0x743, out: 0xfe71fca0
+ldr :: offset: 0x744, out: 0xfe71fca06c
+ldr :: offset: 0x745, out: 0xfe71fca06c0e
+ldr :: offset: 0x746, out: 0xfe71fca06c0eb6
+ldr :: offset: 0x747, out: 0xfe71fca06c0eb657
+ldr :: offset: 0x748, out: 0x4e
+ldr :: offset: 0x749, out: 0x4ed6
+ldr :: offset: 0x74a, out: 0x4ed639
+ldr :: offset: 0x74b, out: 0x4ed6393d
+ldr :: offset: 0x74c, out: 0x4ed6393df8
+ldr :: offset: 0x74d, out: 0x4ed6393df818
+ldr :: offset: 0x74e, out: 0x4ed6393df818af
+ldr :: offset: 0x74f, out: 0x4ed6393df818af57
+ldr :: offset: 0x750, out: 0xf2
+ldr :: offset: 0x751, out: 0xf22e
+ldr :: offset: 0x752, out: 0xf22e90
+ldr :: offset: 0x753, out: 0xf22e9020
+ldr :: offset: 0x754, out: 0xf22e902002
+ldr :: offset: 0x755, out: 0xf22e90200236
+ldr :: offset: 0x756, out: 0xf22e9020023677
+ldr :: offset: 0x757, out: 0xf22e90200236770a
+ldr :: offset: 0x758, out: 0x81
+ldr :: offset: 0x759, out: 0x81ef
+ldr :: offset: 0x75a, out: 0x81efb6
+ldr :: offset: 0x75b, out: 0x81efb6c7
+ldr :: offset: 0x75c, out: 0x81efb6c7af
+ldr :: offset: 0x75d, out: 0x81efb6c7afd0
+ldr :: offset: 0x75e, out: 0x81efb6c7afd0c4
+ldr :: offset: 0x75f, out: 0x81efb6c7afd0c45d
+ldr :: offset: 0x760, out: 0xee
+ldr :: offset: 0x761, out: 0xeed8
+ldr :: offset: 0x762, out: 0xeed8f3
+ldr :: offset: 0x763, out: 0xeed8f351
+ldr :: offset: 0x764, out: 0xeed8f35181
+ldr :: offset: 0x765, out: 0xeed8f3518102
+ldr :: offset: 0x766, out: 0xeed8f351810231
+ldr :: offset: 0x767, out: 0xeed8f3518102315b
+ldr :: offset: 0x768, out: 0xad
+ldr :: offset: 0x769, out: 0xadaf
+ldr :: offset: 0x76a, out: 0xadafef
+ldr :: offset: 0x76b, out: 0xadafefb9
+ldr :: offset: 0x76c, out: 0xadafefb999
+ldr :: offset: 0x76d, out: 0xadafefb9995e
+ldr :: offset: 0x76e, out: 0xadafefb9995efd
+ldr :: offset: 0x76f, out: 0xadafefb9995efd5e
+ldr :: offset: 0x770, out: 0x34
+ldr :: offset: 0x771, out: 0x3406
+ldr :: offset: 0x772, out: 0x340619
+ldr :: offset: 0x773, out: 0x34061933
+ldr :: offset: 0x774, out: 0x34061933eb
+ldr :: offset: 0x775, out: 0x34061933eb25
+ldr :: offset: 0x776, out: 0x34061933eb2530
+ldr :: offset: 0x777, out: 0x34061933eb253086
+ldr :: offset: 0x778, out: 0x17
+ldr :: offset: 0x779, out: 0x1748
+ldr :: offset: 0x77a, out: 0x1748da
+ldr :: offset: 0x77b, out: 0x1748da26
+ldr :: offset: 0x77c, out: 0x1748da264b
+ldr :: offset: 0x77d, out: 0x1748da264b4c
+ldr :: offset: 0x77e, out: 0x1748da264b4c52
+ldr :: offset: 0x77f, out: 0x1748da264b4c52bc
+ldr :: offset: 0x780, out: 0x34
+ldr :: offset: 0x781, out: 0x34fd
+ldr :: offset: 0x782, out: 0x34fdfc
+ldr :: offset: 0x783, out: 0x34fdfc9a
+ldr :: offset: 0x784, out: 0x34fdfc9a93
+ldr :: offset: 0x785, out: 0x34fdfc9a9302
+ldr :: offset: 0x786, out: 0x34fdfc9a9302be
+ldr :: offset: 0x787, out: 0x34fdfc9a9302be89
+ldr :: offset: 0x788, out: 0xd0
+ldr :: offset: 0x789, out: 0xd002
+ldr :: offset: 0x78a, out: 0xd00278
+ldr :: offset: 0x78b, out: 0xd00278c3
+ldr :: offset: 0x78c, out: 0xd00278c3c5
+ldr :: offset: 0x78d, out: 0xd00278c3c521
+ldr :: offset: 0x78e, out: 0xd00278c3c521d1
+ldr :: offset: 0x78f, out: 0xd00278c3c521d180
+ldr :: offset: 0x790, out: 0xe9
+ldr :: offset: 0x791, out: 0xe909
+ldr :: offset: 0x792, out: 0xe90944
+ldr :: offset: 0x793, out: 0xe90944a4
+ldr :: offset: 0x794, out: 0xe90944a4c1
+ldr :: offset: 0x795, out: 0xe90944a4c1d3
+ldr :: offset: 0x796, out: 0xe90944a4c1d37a
+ldr :: offset: 0x797, out: 0xe90944a4c1d37a5d
+ldr :: offset: 0x798, out: 0x65
+ldr :: offset: 0x799, out: 0x65fd
+ldr :: offset: 0x79a, out: 0x65fd69
+ldr :: offset: 0x79b, out: 0x65fd698f
+ldr :: offset: 0x79c, out: 0x65fd698fdd
+ldr :: offset: 0x79d, out: 0x65fd698fddef
+ldr :: offset: 0x79e, out: 0x65fd698fddef98
+ldr :: offset: 0x79f, out: 0x65fd698fddef9839
+ldr :: offset: 0x7a0, out: 0xc4
+ldr :: offset: 0x7a1, out: 0xc49e
+ldr :: offset: 0x7a2, out: 0xc49ee3
+ldr :: offset: 0x7a3, out: 0xc49ee3ad
+ldr :: offset: 0x7a4, out: 0xc49ee3ad81
+ldr :: offset: 0x7a5, out: 0xc49ee3ad81b5
+ldr :: offset: 0x7a6, out: 0xc49ee3ad81b5af
+ldr :: offset: 0x7a7, out: 0xc49ee3ad81b5af52
+ldr :: offset: 0x7a8, out: 0x7a
+ldr :: offset: 0x7a9, out: 0x7aa9
+ldr :: offset: 0x7aa, out: 0x7aa941
+ldr :: offset: 0x7ab, out: 0x7aa941e8
+ldr :: offset: 0x7ac, out: 0x7aa941e8bd
+ldr :: offset: 0x7ad, out: 0x7aa941e8bdb2
+ldr :: offset: 0x7ae, out: 0x7aa941e8bdb263
+ldr :: offset: 0x7af, out: 0x7aa941e8bdb263e9
+ldr :: offset: 0x7b0, out: 0x37
+ldr :: offset: 0x7b1, out: 0x372c
+ldr :: offset: 0x7b2, out: 0x372c20
+ldr :: offset: 0x7b3, out: 0x372c209e
+ldr :: offset: 0x7b4, out: 0x372c209e42
+ldr :: offset: 0x7b5, out: 0x372c209e42f3
+ldr :: offset: 0x7b6, out: 0x372c209e42f3b5
+ldr :: offset: 0x7b7, out: 0x372c209e42f3b58d
+ldr :: offset: 0x7b8, out: 0x30
+ldr :: offset: 0x7b9, out: 0x30f8
+ldr :: offset: 0x7ba, out: 0x30f870
+ldr :: offset: 0x7bb, out: 0x30f870b7
+ldr :: offset: 0x7bc, out: 0x30f870b7e1
+ldr :: offset: 0x7bd, out: 0x30f870b7e122
+ldr :: offset: 0x7be, out: 0x30f870b7e122a8
+ldr :: offset: 0x7bf, out: 0x30f870b7e122a83b
+ldr :: offset: 0x7c0, out: 0x9e
+ldr :: offset: 0x7c1, out: 0x9e02
+ldr :: offset: 0x7c2, out: 0x9e02de
+ldr :: offset: 0x7c3, out: 0x9e02de4b
+ldr :: offset: 0x7c4, out: 0x9e02de4b67
+ldr :: offset: 0x7c5, out: 0x9e02de4b6789
+ldr :: offset: 0x7c6, out: 0x9e02de4b678930
+ldr :: offset: 0x7c7, out: 0x9e02de4b678930ec
+ldr :: offset: 0x7c8, out: 0xcd
+ldr :: offset: 0x7c9, out: 0xcd61
+ldr :: offset: 0x7ca, out: 0xcd61a8
+ldr :: offset: 0x7cb, out: 0xcd61a863
+ldr :: offset: 0x7cc, out: 0xcd61a86398
+ldr :: offset: 0x7cd, out: 0xcd61a8639826
+ldr :: offset: 0x7ce, out: 0xcd61a863982663
+ldr :: offset: 0x7cf, out: 0xcd61a8639826631e
+ldr :: offset: 0x7d0, out: 0xae
+ldr :: offset: 0x7d1, out: 0xae87
+ldr :: offset: 0x7d2, out: 0xae87bc
+ldr :: offset: 0x7d3, out: 0xae87bc89
+ldr :: offset: 0x7d4, out: 0xae87bc899a
+ldr :: offset: 0x7d5, out: 0xae87bc899a7b
+ldr :: offset: 0x7d6, out: 0xae87bc899a7bd3
+ldr :: offset: 0x7d7, out: 0xae87bc899a7bd3ca
+ldr :: offset: 0x7d8, out: 0x58
+ldr :: offset: 0x7d9, out: 0x58ec
+ldr :: offset: 0x7da, out: 0x58ec64
+ldr :: offset: 0x7db, out: 0x58ec644d
+ldr :: offset: 0x7dc, out: 0x58ec644d64
+ldr :: offset: 0x7dd, out: 0x58ec644d6481
+ldr :: offset: 0x7de, out: 0x58ec644d6481af
+ldr :: offset: 0x7df, out: 0x58ec644d6481af17
+ldr :: offset: 0x7e0, out: 0x68
+ldr :: offset: 0x7e1, out: 0x680c
+ldr :: offset: 0x7e2, out: 0x680cce
+ldr :: offset: 0x7e3, out: 0x680cce5f
+ldr :: offset: 0x7e4, out: 0x680cce5fb2
+ldr :: offset: 0x7e5, out: 0x680cce5fb236
+ldr :: offset: 0x7e6, out: 0x680cce5fb236b6
+ldr :: offset: 0x7e7, out: 0x680cce5fb236b666
+ldr :: offset: 0x7e8, out: 0x3b
+ldr :: offset: 0x7e9, out: 0x3baa
+ldr :: offset: 0x7ea, out: 0x3baa99
+ldr :: offset: 0x7eb, out: 0x3baa9947
+ldr :: offset: 0x7ec, out: 0x3baa99471f
+ldr :: offset: 0x7ed, out: 0x3baa99471f6d
+ldr :: offset: 0x7ee, out: 0x3baa99471f6d4d
+ldr :: offset: 0x7ef, out: 0x3baa99471f6d4d75
+ldr :: offset: 0x7f0, out: 0x61
+ldr :: offset: 0x7f1, out: 0x614d
+ldr :: offset: 0x7f2, out: 0x614d9b
+ldr :: offset: 0x7f3, out: 0x614d9b44
+ldr :: offset: 0x7f4, out: 0x614d9b445f
+ldr :: offset: 0x7f5, out: 0x614d9b445f12
+ldr :: offset: 0x7f6, out: 0x614d9b445f1223
+ldr :: offset: 0x7f7, out: 0x614d9b445f12236b
+ldr :: offset: 0x7f8, out: 0xa2
+ldr :: offset: 0x7f9, out: 0xa2a6
+ldr :: offset: 0x7fa, out: 0xa2a6ec
+ldr :: offset: 0x7fb, out: 0xa2a6ec66
+ldr :: offset: 0x7fc, out: 0xa2a6ec661b
+ldr :: offset: 0x7fd, out: 0xa2a6ec661ba8
+ldr :: offset: 0x7fe, out: 0xa2a6ec661ba841
+ldr :: offset: 0x7ff, out: 0xa2a6ec661ba84121
+lh :: offset: 0x0, out: 0x0
+lh :: offset: 0x2, out: 0x0
+lh :: offset: 0x4, out: 0x0
+lh :: offset: 0x6, out: 0x0
+lh :: offset: 0x8, out: 0x982
+lh :: offset: 0xa, out: 0x3b6e
+lh :: offset: 0xc, out: 0xd43
+lh :: offset: 0xe, out: 0x26d9
+lh :: offset: 0x10, out: 0x1304
+lh :: offset: 0x12, out: 0x76dc
+lh :: offset: 0x14, out: 0x17c5
+lh :: offset: 0x16, out: 0x6b6b
+lh :: offset: 0x18, out: 0x1a86
+lh :: offset: 0x1a, out: 0x4db2
+lh :: offset: 0x1c, out: 0x1e47
+lh :: offset: 0x1e, out: 0x5005
+lh :: offset: 0x20, out: 0x2608
+lh :: offset: 0x22, out: 0xffffffffffffedb8
+lh :: offset: 0x24, out: 0x22c9
+lh :: offset: 0x26, out: 0xfffffffffffff00f
+lh :: offset: 0x28, out: 0x2f8a
+lh :: offset: 0x2a, out: 0xffffffffffffd6d6
+lh :: offset: 0x2c, out: 0x2b4b
+lh :: offset: 0x2e, out: 0xffffffffffffcb61
+lh :: offset: 0x30, out: 0x350c
+lh :: offset: 0x32, out: 0xffffffffffff9b64
+lh :: offset: 0x34, out: 0x31cd
+lh :: offset: 0x36, out: 0xffffffffffff86d3
+lh :: offset: 0x38, out: 0x3c8e
+lh :: offset: 0x3a, out: 0xffffffffffffa00a
+lh :: offset: 0x3c, out: 0x384f
+lh :: offset: 0x3e, out: 0xffffffffffffbdbd
+lh :: offset: 0x40, out: 0x4c11
+lh :: offset: 0x42, out: 0xffffffffffffdb70
+lh :: offset: 0x44, out: 0x48d0
+lh :: offset: 0x46, out: 0xffffffffffffc6c7
+lh :: offset: 0x48, out: 0x4593
+lh :: offset: 0x4a, out: 0xffffffffffffe01e
+lh :: offset: 0x4c, out: 0x4152
+lh :: offset: 0x4e, out: 0xfffffffffffffda9
+lh :: offset: 0x50, out: 0x5f15
+lh :: offset: 0x52, out: 0xffffffffffffadac
+lh :: offset: 0x54, out: 0x5bd4
+lh :: offset: 0x56, out: 0xffffffffffffb01b
+lh :: offset: 0x58, out: 0x5697
+lh :: offset: 0x5a, out: 0xffffffffffff96c2
+lh :: offset: 0x5c, out: 0x5256
+lh :: offset: 0x5e, out: 0xffffffffffff8b75
+lh :: offset: 0x60, out: 0x6a19
+lh :: offset: 0x62, out: 0x36c8
+lh :: offset: 0x64, out: 0x6ed8
+lh :: offset: 0x66, out: 0x2b7f
+lh :: offset: 0x68, out: 0x639b
+lh :: offset: 0x6a, out: 0xda6
+lh :: offset: 0x6c, out: 0x675a
+lh :: offset: 0x6e, out: 0x1011
+lh :: offset: 0x70, out: 0x791d
+lh :: offset: 0x72, out: 0x4014
+lh :: offset: 0x74, out: 0x7ddc
+lh :: offset: 0x76, out: 0x5da3
+lh :: offset: 0x78, out: 0x709f
+lh :: offset: 0x7a, out: 0x7b7a
+lh :: offset: 0x7c, out: 0x745e
+lh :: offset: 0x7e, out: 0x66cd
+lh :: offset: 0x80, out: 0xffffffffffff9823
+lh :: offset: 0x82, out: 0xffffffffffffb6e0
+lh :: offset: 0x84, out: 0xffffffffffff9ce2
+lh :: offset: 0x86, out: 0xffffffffffffab57
+lh :: offset: 0x88, out: 0xffffffffffff91a1
+lh :: offset: 0x8a, out: 0xffffffffffff8d8e
+lh :: offset: 0x8c, out: 0xffffffffffff9560
+lh :: offset: 0x8e, out: 0xffffffffffff9039
+lh :: offset: 0x90, out: 0xffffffffffff8b27
+lh :: offset: 0x92, out: 0xffffffffffffc03c
+lh :: offset: 0x94, out: 0xffffffffffff8fe6
+lh :: offset: 0x96, out: 0xffffffffffffdd8b
+lh :: offset: 0x98, out: 0xffffffffffff82a5
+lh :: offset: 0x9a, out: 0xfffffffffffffb52
+lh :: offset: 0x9c, out: 0xffffffffffff8664
+lh :: offset: 0x9e, out: 0xffffffffffffe6e5
+lh :: offset: 0xa0, out: 0xffffffffffffbe2b
+lh :: offset: 0xa2, out: 0x5b58
+lh :: offset: 0xa4, out: 0xffffffffffffbaea
+lh :: offset: 0xa6, out: 0x46ef
+lh :: offset: 0xa8, out: 0xffffffffffffb7a9
+lh :: offset: 0xaa, out: 0x6036
+lh :: offset: 0xac, out: 0xffffffffffffb368
+lh :: offset: 0xae, out: 0x7d81
+lh :: offset: 0xb0, out: 0xffffffffffffad2f
+lh :: offset: 0xb2, out: 0x2d84
+lh :: offset: 0xb4, out: 0xffffffffffffa9ee
+lh :: offset: 0xb6, out: 0x3033
+lh :: offset: 0xb8, out: 0xffffffffffffa4ad
+lh :: offset: 0xba, out: 0x16ea
+lh :: offset: 0xbc, out: 0xffffffffffffa06c
+lh :: offset: 0xbe, out: 0xb5d
+lh :: offset: 0xc0, out: 0xffffffffffffd432
+lh :: offset: 0xc2, out: 0x6d90
+lh :: offset: 0xc4, out: 0xffffffffffffd0f3
+lh :: offset: 0xc6, out: 0x7027
+lh :: offset: 0xc8, out: 0xffffffffffffddb0
+lh :: offset: 0xca, out: 0x56fe
+lh :: offset: 0xcc, out: 0xffffffffffffd971
+lh :: offset: 0xce, out: 0x4b49
+lh :: offset: 0xd0, out: 0xffffffffffffc736
+lh :: offset: 0xd2, out: 0x1b4c
+lh :: offset: 0xd4, out: 0xffffffffffffc3f7
+lh :: offset: 0xd6, out: 0x6fb
+lh :: offset: 0xd8, out: 0xffffffffffffceb4
+lh :: offset: 0xda, out: 0x2022
+lh :: offset: 0xdc, out: 0xffffffffffffca75
+lh :: offset: 0xde, out: 0x3d95
+lh :: offset: 0xe0, out: 0xfffffffffffff23a
+lh :: offset: 0xe2, out: 0xffffffffffff8028
+lh :: offset: 0xe4, out: 0xfffffffffffff6fb
+lh :: offset: 0xe6, out: 0xffffffffffff9d9f
+lh :: offset: 0xe8, out: 0xfffffffffffffbb8
+lh :: offset: 0xea, out: 0xffffffffffffbb46
+lh :: offset: 0xec, out: 0xffffffffffffff79
+lh :: offset: 0xee, out: 0xffffffffffffa6f1
+lh :: offset: 0xf0, out: 0xffffffffffffe13e
+lh :: offset: 0xf2, out: 0xfffffffffffff6f4
+lh :: offset: 0xf4, out: 0xffffffffffffe5ff
+lh :: offset: 0xf6, out: 0xffffffffffffeb43
+lh :: offset: 0xf8, out: 0xffffffffffffe8bc
+lh :: offset: 0xfa, out: 0xffffffffffffcd9a
+lh :: offset: 0xfc, out: 0xffffffffffffec7d
+lh :: offset: 0xfe, out: 0xffffffffffffd02d
+lh :: offset: 0x100, out: 0x3486
+lh :: offset: 0x102, out: 0x7077
+lh :: offset: 0x104, out: 0x3047
+lh :: offset: 0x106, out: 0x6dc0
+lh :: offset: 0x108, out: 0x3d04
+lh :: offset: 0x10a, out: 0x4b19
+lh :: offset: 0x10c, out: 0x39c5
+lh :: offset: 0x10e, out: 0x56ae
+lh :: offset: 0x110, out: 0x2782
+lh :: offset: 0x112, out: 0x6ab
+lh :: offset: 0x114, out: 0x2343
+lh :: offset: 0x116, out: 0x1b1c
+lh :: offset: 0x118, out: 0x2e00
+lh :: offset: 0x11a, out: 0x3dc5
+lh :: offset: 0x11c, out: 0x2ac1
+lh :: offset: 0x11e, out: 0x2072
+lh :: offset: 0x120, out: 0x128e
+lh :: offset: 0x122, out: 0xffffffffffff9dcf
+lh :: offset: 0x124, out: 0x164f
+lh :: offset: 0x126, out: 0xffffffffffff8078
+lh :: offset: 0x128, out: 0x1b0c
+lh :: offset: 0x12a, out: 0xffffffffffffa6a1
+lh :: offset: 0x12c, out: 0x1fcd
+lh :: offset: 0x12e, out: 0xffffffffffffbb16
+lh :: offset: 0x130, out: 0x18a
+lh :: offset: 0x132, out: 0xffffffffffffeb13
+lh :: offset: 0x134, out: 0x54b
+lh :: offset: 0x136, out: 0xfffffffffffff6a4
+lh :: offset: 0x138, out: 0x808
+lh :: offset: 0x13a, out: 0xffffffffffffd07d
+lh :: offset: 0x13c, out: 0xcc9
+lh :: offset: 0x13e, out: 0xffffffffffffcdca
+lh :: offset: 0x140, out: 0x7897
+lh :: offset: 0x142, out: 0xffffffffffffab07
+lh :: offset: 0x144, out: 0x7c56
+lh :: offset: 0x146, out: 0xffffffffffffb6b0
+lh :: offset: 0x148, out: 0x7115
+lh :: offset: 0x14a, out: 0xffffffffffff9069
+lh :: offset: 0x14c, out: 0x75d4
+lh :: offset: 0x14e, out: 0xffffffffffff8dde
+lh :: offset: 0x150, out: 0x6b93
+lh :: offset: 0x152, out: 0xffffffffffffdddb
+lh :: offset: 0x154, out: 0x6f52
+lh :: offset: 0x156, out: 0xffffffffffffc06c
+lh :: offset: 0x158, out: 0x6211
+lh :: offset: 0x15a, out: 0xffffffffffffe6b5
+lh :: offset: 0x15c, out: 0x66d0
+lh :: offset: 0x15e, out: 0xfffffffffffffb02
+lh :: offset: 0x160, out: 0x5e9f
+lh :: offset: 0x162, out: 0x46bf
+lh :: offset: 0x164, out: 0x5a5e
+lh :: offset: 0x166, out: 0x5b08
+lh :: offset: 0x168, out: 0x571d
+lh :: offset: 0x16a, out: 0x7dd1
+lh :: offset: 0x16c, out: 0x53dc
+lh :: offset: 0x16e, out: 0x6066
+lh :: offset: 0x170, out: 0x4d9b
+lh :: offset: 0x172, out: 0x3063
+lh :: offset: 0x174, out: 0x495a
+lh :: offset: 0x176, out: 0x2dd4
+lh :: offset: 0x178, out: 0x4419
+lh :: offset: 0x17a, out: 0xb0d
+lh :: offset: 0x17c, out: 0x40d8
+lh :: offset: 0x17e, out: 0x16ba
+lh :: offset: 0x180, out: 0xffffffffffffaca5
+lh :: offset: 0x182, out: 0xffffffffffffc697
+lh :: offset: 0x184, out: 0xffffffffffffa864
+lh :: offset: 0x186, out: 0xffffffffffffdb20
+lh :: offset: 0x188, out: 0xffffffffffffa527
+lh :: offset: 0x18a, out: 0xfffffffffffffdf9
+lh :: offset: 0x18c, out: 0xffffffffffffa1e6
+lh :: offset: 0x18e, out: 0xffffffffffffe04e
+lh :: offset: 0x190, out: 0xffffffffffffbfa1
+lh :: offset: 0x192, out: 0xffffffffffffb04b
+lh :: offset: 0x194, out: 0xffffffffffffbb60
+lh :: offset: 0x196, out: 0xffffffffffffadfc
+lh :: offset: 0x198, out: 0xffffffffffffb623
+lh :: offset: 0x19a, out: 0xffffffffffff8b25
+lh :: offset: 0x19c, out: 0xffffffffffffb2e2
+lh :: offset: 0x19e, out: 0xffffffffffff9692
+lh :: offset: 0x1a0, out: 0xffffffffffff8aad
+lh :: offset: 0x1a2, out: 0x2b2f
+lh :: offset: 0x1a4, out: 0x0
+lh :: offset: 0x1a6, out: 0x0
+lh :: offset: 0x1a8, out: 0x0
+lh :: offset: 0x1aa, out: 0x0
+lh :: offset: 0x1ac, out: 0xffffffffffff87ee
+lh :: offset: 0x1ae, out: 0xdf6
+lh :: offset: 0x1b0, out: 0xffffffffffff99a9
+lh :: offset: 0x1b2, out: 0x5df3
+lh :: offset: 0x1b4, out: 0xffffffffffff9d68
+lh :: offset: 0x1b6, out: 0x4044
+lh :: offset: 0x1b8, out: 0xffffffffffff902b
+lh :: offset: 0x1ba, out: 0x669d
+lh :: offset: 0x1bc, out: 0xffffffffffff94ea
+lh :: offset: 0x1be, out: 0x7b2a
+lh :: offset: 0x1c0, out: 0xffffffffffffe0b4
+lh :: offset: 0x1c2, out: 0x1de7
+lh :: offset: 0x1c4, out: 0xffffffffffffe475
+lh :: offset: 0x1c6, out: 0x50
+lh :: offset: 0x1c8, out: 0xffffffffffffe936
+lh :: offset: 0x1ca, out: 0x2689
+lh :: offset: 0x1cc, out: 0xffffffffffffedf7
+lh :: offset: 0x1ce, out: 0x3b3e
+lh :: offset: 0x1d0, out: 0xfffffffffffff3b0
+lh :: offset: 0x1d2, out: 0x6b3b
+lh :: offset: 0x1d4, out: 0xfffffffffffff771
+lh :: offset: 0x1d6, out: 0x768c
+lh :: offset: 0x1d8, out: 0xfffffffffffffa32
+lh :: offset: 0x1da, out: 0x5055
+lh :: offset: 0x1dc, out: 0xfffffffffffffef3
+lh :: offset: 0x1de, out: 0x4de2
+lh :: offset: 0x1e0, out: 0xffffffffffffc6bc
+lh :: offset: 0x1e2, out: 0xfffffffffffff05f
+lh :: offset: 0x1e4, out: 0xffffffffffffc27d
+lh :: offset: 0x1e6, out: 0xffffffffffffede8
+lh :: offset: 0x1e8, out: 0xffffffffffffcf3e
+lh :: offset: 0x1ea, out: 0xffffffffffffcb31
+lh :: offset: 0x1ec, out: 0xffffffffffffcbff
+lh :: offset: 0x1ee, out: 0xffffffffffffd686
+lh :: offset: 0x1f0, out: 0xffffffffffffd5b8
+lh :: offset: 0x1f2, out: 0xffffffffffff8683
+lh :: offset: 0x1f4, out: 0xffffffffffffd179
+lh :: offset: 0x1f6, out: 0xffffffffffff9b34
+lh :: offset: 0x1f8, out: 0xffffffffffffdc3a
+lh :: offset: 0x1fa, out: 0xffffffffffffbded
+lh :: offset: 0x1fc, out: 0xffffffffffffd8fb
+lh :: offset: 0x1fe, out: 0xffffffffffffa05a
+lh :: offset: 0x200, out: 0x690c
+lh :: offset: 0x202, out: 0xffffffffffffe0ee
+lh :: offset: 0x204, out: 0x6dcd
+lh :: offset: 0x206, out: 0xfffffffffffffd59
+lh :: offset: 0x208, out: 0x608e
+lh :: offset: 0x20a, out: 0xffffffffffffdb80
+lh :: offset: 0x20c, out: 0x644f
+lh :: offset: 0x20e, out: 0xffffffffffffc637
+lh :: offset: 0x210, out: 0x7a08
+lh :: offset: 0x212, out: 0xffffffffffff9632
+lh :: offset: 0x214, out: 0x7ec9
+lh :: offset: 0x216, out: 0xffffffffffff8b85
+lh :: offset: 0x218, out: 0x738a
+lh :: offset: 0x21a, out: 0xffffffffffffad5c
+lh :: offset: 0x21c, out: 0x774b
+lh :: offset: 0x21e, out: 0xffffffffffffb0eb
+lh :: offset: 0x220, out: 0x4f04
+lh :: offset: 0x222, out: 0xd56
+lh :: offset: 0x224, out: 0x4bc5
+lh :: offset: 0x226, out: 0x10e1
+lh :: offset: 0x228, out: 0x4686
+lh :: offset: 0x22a, out: 0x3638
+lh :: offset: 0x22c, out: 0x4247
+lh :: offset: 0x22e, out: 0x2b8f
+lh :: offset: 0x230, out: 0x5c00
+lh :: offset: 0x232, out: 0x7b8a
+lh :: offset: 0x234, out: 0x58c1
+lh :: offset: 0x236, out: 0x663d
+lh :: offset: 0x238, out: 0x5582
+lh :: offset: 0x23a, out: 0x40e4
+lh :: offset: 0x23c, out: 0x5143
+lh :: offset: 0x23e, out: 0x5d53
+lh :: offset: 0x240, out: 0x251d
+lh :: offset: 0x242, out: 0x3b9e
+lh :: offset: 0x244, out: 0x21dc
+lh :: offset: 0x246, out: 0x2629
+lh :: offset: 0x248, out: 0x2c9f
+lh :: offset: 0x24a, out: 0xf0
+lh :: offset: 0x24c, out: 0x285e
+lh :: offset: 0x24e, out: 0x1d47
+lh :: offset: 0x250, out: 0x3619
+lh :: offset: 0x252, out: 0x4d42
+lh :: offset: 0x254, out: 0x32d8
+lh :: offset: 0x256, out: 0x50f5
+lh :: offset: 0x258, out: 0x3f9b
+lh :: offset: 0x25a, out: 0x762c
+lh :: offset: 0x25c, out: 0x3b5a
+lh :: offset: 0x25e, out: 0x6b9b
+lh :: offset: 0x260, out: 0x315
+lh :: offset: 0x262, out: 0xffffffffffffd626
+lh :: offset: 0x264, out: 0x7d4
+lh :: offset: 0x266, out: 0xffffffffffffcb91
+lh :: offset: 0x268, out: 0xa97
+lh :: offset: 0x26a, out: 0xffffffffffffed48
+lh :: offset: 0x26c, out: 0xe56
+lh :: offset: 0x26e, out: 0xfffffffffffff0ff
+lh :: offset: 0x270, out: 0x1011
+lh :: offset: 0x272, out: 0xffffffffffffa0fa
+lh :: offset: 0x274, out: 0x14d0
+lh :: offset: 0x276, out: 0xffffffffffffbd4d
+lh :: offset: 0x278, out: 0x1993
+lh :: offset: 0x27a, out: 0xffffffffffff9b94
+lh :: offset: 0x27c, out: 0x1d52
+lh :: offset: 0x27e, out: 0xffffffffffff8623
+lh :: offset: 0x280, out: 0xfffffffffffff12f
+lh :: offset: 0x282, out: 0x560e
+lh :: offset: 0x284, out: 0xfffffffffffff5ee
+lh :: offset: 0x286, out: 0x4bb9
+lh :: offset: 0x288, out: 0xfffffffffffff8ad
+lh :: offset: 0x28a, out: 0x6d60
+lh :: offset: 0x28c, out: 0xfffffffffffffc6c
+lh :: offset: 0x28e, out: 0x70d7
+lh :: offset: 0x290, out: 0xffffffffffffe22b
+lh :: offset: 0x292, out: 0x20d2
+lh :: offset: 0x294, out: 0xffffffffffffe6ea
+lh :: offset: 0x296, out: 0x3d65
+lh :: offset: 0x298, out: 0xffffffffffffeba9
+lh :: offset: 0x29a, out: 0x1bbc
+lh :: offset: 0x29c, out: 0xffffffffffffef68
+lh :: offset: 0x29e, out: 0x60b
+lh :: offset: 0x2a0, out: 0xffffffffffffd727
+lh :: offset: 0x2a2, out: 0xffffffffffffbbb6
+lh :: offset: 0x2a4, out: 0xffffffffffffd3e6
+lh :: offset: 0x2a6, out: 0xffffffffffffa601
+lh :: offset: 0x2a8, out: 0xffffffffffffdea5
+lh :: offset: 0x2aa, out: 0xffffffffffff80d8
+lh :: offset: 0x2ac, out: 0xffffffffffffda64
+lh :: offset: 0x2ae, out: 0xffffffffffff9d6f
+lh :: offset: 0x2b0, out: 0xffffffffffffc423
+lh :: offset: 0x2b2, out: 0xffffffffffffcd6a
+lh :: offset: 0x2b4, out: 0x0
+lh :: offset: 0x2b6, out: 0x0
+lh :: offset: 0x2b8, out: 0xffffffffffffcda1
+lh :: offset: 0x2ba, out: 0xfffffffffffff604
+lh :: offset: 0x2bc, out: 0x0
+lh :: offset: 0x2be, out: 0x0
+lh :: offset: 0x2c0, out: 0xffffffffffffbd3e
+lh :: offset: 0x2c2, out: 0xffffffffffff8d7e
+lh :: offset: 0x2c4, out: 0xffffffffffffb9ff
+lh :: offset: 0x2c6, out: 0xffffffffffff90c9
+lh :: offset: 0x2c8, out: 0xffffffffffffb4bc
+lh :: offset: 0x2ca, out: 0xffffffffffffb610
+lh :: offset: 0x2cc, out: 0xffffffffffffb07d
+lh :: offset: 0x2ce, out: 0xffffffffffffaba7
+lh :: offset: 0x2d0, out: 0xffffffffffffae3a
+lh :: offset: 0x2d2, out: 0xfffffffffffffba2
+lh :: offset: 0x2d4, out: 0xffffffffffffaafb
+lh :: offset: 0x2d6, out: 0xffffffffffffe615
+lh :: offset: 0x2d8, out: 0xffffffffffffa7b8
+lh :: offset: 0x2da, out: 0xffffffffffffc0cc
+lh :: offset: 0x2dc, out: 0xffffffffffffa379
+lh :: offset: 0x2de, out: 0xffffffffffffdd7b
+lh :: offset: 0x2e0, out: 0xffffffffffff9b36
+lh :: offset: 0x2e2, out: 0x60c6
+lh :: offset: 0x2e4, out: 0xffffffffffff9ff7
+lh :: offset: 0x2e6, out: 0x7d71
+lh :: offset: 0x2e8, out: 0xffffffffffff92b4
+lh :: offset: 0x2ea, out: 0x5ba8
+lh :: offset: 0x2ec, out: 0xffffffffffff9675
+lh :: offset: 0x2ee, out: 0x461f
+lh :: offset: 0x2f0, out: 0xffffffffffff8832
+lh :: offset: 0x2f2, out: 0x161a
+lh :: offset: 0x2f4, out: 0xffffffffffff8cf3
+lh :: offset: 0x2f6, out: 0xbad
+lh :: offset: 0x2f8, out: 0xffffffffffff81b0
+lh :: offset: 0x2fa, out: 0x2d74
+lh :: offset: 0x2fc, out: 0xffffffffffff8571
+lh :: offset: 0x2fe, out: 0x30c3
+lh :: offset: 0x300, out: 0x5d8a
+lh :: offset: 0x302, out: 0xffffffffffff9099
+lh :: offset: 0x304, out: 0x594b
+lh :: offset: 0x306, out: 0xffffffffffff8d2e
+lh :: offset: 0x308, out: 0x5408
+lh :: offset: 0x30a, out: 0xffffffffffffabf7
+lh :: offset: 0x30c, out: 0x50c9
+lh :: offset: 0x30e, out: 0xffffffffffffb640
+lh :: offset: 0x310, out: 0x4e8e
+lh :: offset: 0x312, out: 0xffffffffffffe645
+lh :: offset: 0x314, out: 0x4a4f
+lh :: offset: 0x316, out: 0xfffffffffffffbf2
+lh :: offset: 0x318, out: 0x470c
+lh :: offset: 0x31a, out: 0xffffffffffffdd2b
+lh :: offset: 0x31c, out: 0x43cd
+lh :: offset: 0x31e, out: 0xffffffffffffc09c
+lh :: offset: 0x320, out: 0x7b82
+lh :: offset: 0x322, out: 0x7d21
+lh :: offset: 0x324, out: 0x7f43
+lh :: offset: 0x326, out: 0x6096
+lh :: offset: 0x328, out: 0x7200
+lh :: offset: 0x32a, out: 0x464f
+lh :: offset: 0x32c, out: 0x76c1
+lh :: offset: 0x32e, out: 0x5bf8
+lh :: offset: 0x330, out: 0x6886
+lh :: offset: 0x332, out: 0xbfd
+lh :: offset: 0x334, out: 0x6c47
+lh :: offset: 0x336, out: 0x164a
+lh :: offset: 0x338, out: 0x6104
+lh :: offset: 0x33a, out: 0x3093
+lh :: offset: 0x33c, out: 0x65c5
+lh :: offset: 0x33e, out: 0x2d24
+lh :: offset: 0x340, out: 0x119b
+lh :: offset: 0x342, out: 0x4be9
+lh :: offset: 0x344, out: 0x155a
+lh :: offset: 0x346, out: 0x565e
+lh :: offset: 0x348, out: 0x1819
+lh :: offset: 0x34a, out: 0x7087
+lh :: offset: 0x34c, out: 0x1cd8
+lh :: offset: 0x34e, out: 0x6d30
+lh :: offset: 0x350, out: 0x29f
+lh :: offset: 0x352, out: 0x3d35
+lh :: offset: 0x354, out: 0x65e
+lh :: offset: 0x356, out: 0x2082
+lh :: offset: 0x358, out: 0xb1d
+lh :: offset: 0x35a, out: 0x65b
+lh :: offset: 0x35c, out: 0xfdc
+lh :: offset: 0x35e, out: 0x1bec
+lh :: offset: 0x360, out: 0x3793
+lh :: offset: 0x362, out: 0xffffffffffffa651
+lh :: offset: 0x364, out: 0x3352
+lh :: offset: 0x366, out: 0xffffffffffffbbe6
+lh :: offset: 0x368, out: 0x3e11
+lh :: offset: 0x36a, out: 0xffffffffffff9d3f
+lh :: offset: 0x36c, out: 0x3ad0
+lh :: offset: 0x36e, out: 0xffffffffffff8088
+lh :: offset: 0x370, out: 0x2497
+lh :: offset: 0x372, out: 0xffffffffffffd08d
+lh :: offset: 0x374, out: 0x2056
+lh :: offset: 0x376, out: 0xffffffffffffcd3a
+lh :: offset: 0x378, out: 0x2d15
+lh :: offset: 0x37a, out: 0xffffffffffffebe3
+lh :: offset: 0x37c, out: 0x29d4
+lh :: offset: 0x37e, out: 0xfffffffffffff654
+lh :: offset: 0x380, out: 0xffffffffffffc5a9
+lh :: offset: 0x382, out: 0x2679
+lh :: offset: 0x384, out: 0xffffffffffffc168
+lh :: offset: 0x386, out: 0x3bce
+lh :: offset: 0x388, out: 0xffffffffffffcc2b
+lh :: offset: 0x38a, out: 0x1d17
+lh :: offset: 0x38c, out: 0xffffffffffffc8ea
+lh :: offset: 0x38e, out: 0xa0
+lh :: offset: 0x390, out: 0xffffffffffffd6ad
+lh :: offset: 0x392, out: 0x50a5
+lh :: offset: 0x394, out: 0xffffffffffffd26c
+lh :: offset: 0x396, out: 0x4d12
+lh :: offset: 0x398, out: 0xffffffffffffdf2f
+lh :: offset: 0x39a, out: 0x6bcb
+lh :: offset: 0x39c, out: 0xffffffffffffdbee
+lh :: offset: 0x39e, out: 0x767c
+lh :: offset: 0x3a0, out: 0xffffffffffffe3a1
+lh :: offset: 0x3a2, out: 0xffffffffffffcbc1
+lh :: offset: 0x3a4, out: 0xffffffffffffe760
+lh :: offset: 0x3a6, out: 0xffffffffffffd676
+lh :: offset: 0x3a8, out: 0xffffffffffffea23
+lh :: offset: 0x3aa, out: 0xfffffffffffff0af
+lh :: offset: 0x3ac, out: 0xffffffffffffeee2
+lh :: offset: 0x3ae, out: 0xffffffffffffed18
+lh :: offset: 0x3b0, out: 0xfffffffffffff0a5
+lh :: offset: 0x3b2, out: 0xffffffffffffbd1d
+lh :: offset: 0x3b4, out: 0xfffffffffffff464
+lh :: offset: 0x3b6, out: 0xffffffffffffa0aa
+lh :: offset: 0x3b8, out: 0xfffffffffffff927
+lh :: offset: 0x3ba, out: 0xffffffffffff8673
+lh :: offset: 0x3bc, out: 0xfffffffffffffde6
+lh :: offset: 0x3be, out: 0xffffffffffff9bc4
+lh :: offset: 0x3c0, out: 0xffffffffffff89b8
+lh :: offset: 0x3c2, out: 0xfffffffffffffd09
+lh :: offset: 0x3c4, out: 0xffffffffffff8d79
+lh :: offset: 0x3c6, out: 0xffffffffffffe0be
+lh :: offset: 0x3c8, out: 0xffffffffffff803a
+lh :: offset: 0x3ca, out: 0xffffffffffffc667
+lh :: offset: 0x3cc, out: 0xffffffffffff84fb
+lh :: offset: 0x3ce, out: 0xffffffffffffdbd0
+lh :: offset: 0x3d0, out: 0xffffffffffff9abc
+lh :: offset: 0x3d2, out: 0xffffffffffff8bd5
+lh :: offset: 0x3d4, out: 0xffffffffffff9e7d
+lh :: offset: 0x3d6, out: 0xffffffffffff9662
+lh :: offset: 0x3d8, out: 0xffffffffffff933e
+lh :: offset: 0x3da, out: 0xffffffffffffb0bb
+lh :: offset: 0x3dc, out: 0xffffffffffff97ff
+lh :: offset: 0x3de, out: 0xffffffffffffad0c
+lh :: offset: 0x3e0, out: 0xffffffffffffafb0
+lh :: offset: 0x3e2, out: 0x10b1
+lh :: offset: 0x3e4, out: 0xffffffffffffab71
+lh :: offset: 0x3e6, out: 0xd06
+lh :: offset: 0x3e8, out: 0xffffffffffffa632
+lh :: offset: 0x3ea, out: 0x2bdf
+lh :: offset: 0x3ec, out: 0xffffffffffffa2f3
+lh :: offset: 0x3ee, out: 0x3668
+lh :: offset: 0x3f0, out: 0xffffffffffffbcb4
+lh :: offset: 0x3f2, out: 0x666d
+lh :: offset: 0x3f4, out: 0xffffffffffffb875
+lh :: offset: 0x3f6, out: 0x7bda
+lh :: offset: 0x3f8, out: 0xffffffffffffb536
+lh :: offset: 0x3fa, out: 0x5d03
+lh :: offset: 0x3fc, out: 0xffffffffffffb1f7
+lh :: offset: 0x3fe, out: 0x40b4
+lh :: offset: 0x0, out: 0x0
+lh :: offset: 0x2, out: 0x0
+lh :: offset: 0x4, out: 0x12b
+lh :: offset: 0x6, out: 0xffffffffffffd6aa
+lh :: offset: 0x8, out: 0x7e
+lh :: offset: 0xa, out: 0xffffffffffff8763
+lh :: offset: 0xc, out: 0xffffffffffff82d2
+lh :: offset: 0xe, out: 0xffffffffffffab13
+lh :: offset: 0x10, out: 0xffffffffffff976d
+lh :: offset: 0x12, out: 0x6e9a
+lh :: offset: 0x14, out: 0xffffffffffffc315
+lh :: offset: 0x16, out: 0x10f3
+lh :: offset: 0x18, out: 0xffffffffffffb774
+lh :: offset: 0x1a, out: 0x6d77
+lh :: offset: 0x1c, out: 0x5ad6
+lh :: offset: 0x1e, out: 0xffffffffffffa5fb
+lh :: offset: 0x20, out: 0x42b0
+lh :: offset: 0x22, out: 0xffffffffffffc0a2
+lh :: offset: 0x24, out: 0xffffffffffff8677
+lh :: offset: 0x26, out: 0xffffffffffffb502
+lh :: offset: 0x28, out: 0x2aa8
+lh :: offset: 0x2a, out: 0xffffffffffff9d31
+lh :: offset: 0x2c, out: 0xffffffffffff9e3c
+lh :: offset: 0x2e, out: 0x30ad
+lh :: offset: 0x30, out: 0x1f30
+lh :: offset: 0x32, out: 0xffffffffffff8ec3
+lh :: offset: 0x34, out: 0x77fb
+lh :: offset: 0x36, out: 0x413d
+lh :: offset: 0x38, out: 0x7aa0
+lh :: offset: 0x3a, out: 0x4213
+lh :: offset: 0x3c, out: 0xffffffffffffc760
+lh :: offset: 0x3e, out: 0xffffffffffffe4f7
+lh :: offset: 0x40, out: 0xffffffffffff9e70
+lh :: offset: 0x42, out: 0x5cc5
+lh :: offset: 0x44, out: 0x1ad8
+lh :: offset: 0x46, out: 0xffffffffffffdca0
+lh :: offset: 0x48, out: 0x4b3d
+lh :: offset: 0x4a, out: 0xffffffffffffda86
+lh :: offset: 0x4c, out: 0xffffffffffff9615
+lh :: offset: 0x4e, out: 0xffffffffffffa60d
+lh :: offset: 0x50, out: 0x5e7
+lh :: offset: 0x52, out: 0xffffffffffffa4dd
+lh :: offset: 0x54, out: 0x6353
+lh :: offset: 0x56, out: 0xffffffffffffd41d
+lh :: offset: 0x58, out: 0x3af3
+lh :: offset: 0x5a, out: 0x5a9d
+lh :: offset: 0x5c, out: 0xffffffffffffc40b
+lh :: offset: 0x5e, out: 0xffffffffffffd413
+lh :: offset: 0x60, out: 0x47f5
+lh :: offset: 0x62, out: 0x556
+lh :: offset: 0x64, out: 0xffffffffffff9a08
+lh :: offset: 0x66, out: 0xffffffffffffa180
+lh :: offset: 0x68, out: 0xffffffffffff9564
+lh :: offset: 0x6a, out: 0xffffffffffffb77f
+lh :: offset: 0x6c, out: 0xffffffffffffd6d2
+lh :: offset: 0x6e, out: 0x40f
+lh :: offset: 0x70, out: 0xffffffffffffcebc
+lh :: offset: 0x72, out: 0xffffffffffff8279
+lh :: offset: 0x74, out: 0xffffffffffffb2c7
+lh :: offset: 0x76, out: 0x6bbe
+lh :: offset: 0x78, out: 0xffffffffffffb503
+lh :: offset: 0x7a, out: 0x4c2f
+lh :: offset: 0x7c, out: 0x1f18
+lh :: offset: 0x7e, out: 0xffffffffffffe4c7
+lh :: offset: 0x80, out: 0xffffffffffff94ff
+lh :: offset: 0x82, out: 0x52fc
+lh :: offset: 0x84, out: 0xffffffffffff81af
+lh :: offset: 0x86, out: 0xffffffffffffa797
+lh :: offset: 0x88, out: 0x31d8
+lh :: offset: 0x8a, out: 0xffffffffffffd916
+lh :: offset: 0x8c, out: 0x6dfc
+lh :: offset: 0x8e, out: 0x50ea
+lh :: offset: 0x90, out: 0x3654
+lh :: offset: 0x92, out: 0xffffffffffff9bd6
+lh :: offset: 0x94, out: 0x78e8
+lh :: offset: 0x96, out: 0xffffffffffff95b1
+lh :: offset: 0x98, out: 0xffffffffffff85e0
+lh :: offset: 0x9a, out: 0xffffffffffffa631
+lh :: offset: 0x9c, out: 0xffffffffffff9b63
+lh :: offset: 0x9e, out: 0x259b
+lh :: offset: 0xa0, out: 0x556b
+lh :: offset: 0xa2, out: 0x3eca
+lh :: offset: 0xa4, out: 0xffffffffffffccf1
+lh :: offset: 0xa6, out: 0x7ac5
+lh :: offset: 0xa8, out: 0xffffffffffffb42f
+lh :: offset: 0xaa, out: 0x5fc5
+lh :: offset: 0xac, out: 0xffffffffffff81ee
+lh :: offset: 0xae, out: 0xffffffffffffa0fb
+lh :: offset: 0xb0, out: 0x25b5
+lh :: offset: 0xb2, out: 0xfec
+lh :: offset: 0xb4, out: 0x1468
+lh :: offset: 0xb6, out: 0x2d97
+lh :: offset: 0xb8, out: 0xfffffffffffffc93
+lh :: offset: 0xba, out: 0xffffffffffffc513
+lh :: offset: 0xbc, out: 0x2cfb
+lh :: offset: 0xbe, out: 0x87a
+lh :: offset: 0xc0, out: 0x3c2c
+lh :: offset: 0xc2, out: 0xffffffffffffd9a9
+lh :: offset: 0xc4, out: 0xffffffffffffcda2
+lh :: offset: 0xc6, out: 0x766
+lh :: offset: 0xc8, out: 0x1791
+lh :: offset: 0xca, out: 0x722a
+lh :: offset: 0xcc, out: 0x7d72
+lh :: offset: 0xce, out: 0xffffffffffffda3e
+lh :: offset: 0xd0, out: 0x87c
+lh :: offset: 0xd2, out: 0xffffffffffffc9d1
+lh :: offset: 0xd4, out: 0xffffffffffff93ce
+lh :: offset: 0xd6, out: 0x24ad
+lh :: offset: 0xd8, out: 0x1d2a
+lh :: offset: 0xda, out: 0x7570
+lh :: offset: 0xdc, out: 0x3898
+lh :: offset: 0xde, out: 0x4ed2
+lh :: offset: 0xe0, out: 0xffffffffffffd0d0
+lh :: offset: 0xe2, out: 0x70db
+lh :: offset: 0xe4, out: 0x710c
+lh :: offset: 0xe6, out: 0xffffffffffffd036
+lh :: offset: 0xe8, out: 0x39c2
+lh :: offset: 0xea, out: 0x1c7d
+lh :: offset: 0xec, out: 0x341
+lh :: offset: 0xee, out: 0x5604
+lh :: offset: 0xf0, out: 0xffffffffffff8e94
+lh :: offset: 0xf2, out: 0xffffffffffffb7af
+lh :: offset: 0xf4, out: 0xffffffffffff8ecc
+lh :: offset: 0xf6, out: 0x31ce
+lh :: offset: 0xf8, out: 0x24eb
+lh :: offset: 0xfa, out: 0x6a8d
+lh :: offset: 0xfc, out: 0x1ce7
+lh :: offset: 0xfe, out: 0x674f
+lh :: offset: 0x100, out: 0x2f39
+lh :: offset: 0x102, out: 0x4544
+lh :: offset: 0x104, out: 0x12d6
+lh :: offset: 0x106, out: 0xffffffffffffe4a7
+lh :: offset: 0x108, out: 0x2608
+lh :: offset: 0x10a, out: 0xffffffffffffc2b7
+lh :: offset: 0x10c, out: 0x56da
+lh :: offset: 0x10e, out: 0x4c54
+lh :: offset: 0x110, out: 0xffffffffffff9001
+lh :: offset: 0x112, out: 0x2da
+lh :: offset: 0x114, out: 0xffffffffffffc8d7
+lh :: offset: 0x116, out: 0x252f
+lh :: offset: 0x118, out: 0xffffffffffffc890
+lh :: offset: 0x11a, out: 0xffffffffffffd5f1
+lh :: offset: 0x11c, out: 0xfffffffffffff2ef
+lh :: offset: 0x11e, out: 0xffffffffffffa4f7
+lh :: offset: 0x120, out: 0xffffffffffffed50
+lh :: offset: 0x122, out: 0x5cb
+lh :: offset: 0x124, out: 0xffffffffffffc8b0
+lh :: offset: 0x126, out: 0xffffffffffffa214
+lh :: offset: 0x128, out: 0x3147
+lh :: offset: 0x12a, out: 0xffffffffffff9189
+lh :: offset: 0x12c, out: 0x5991
+lh :: offset: 0x12e, out: 0x136c
+lh :: offset: 0x130, out: 0xffffffffffffc6ee
+lh :: offset: 0x132, out: 0xffffffffffffcff9
+lh :: offset: 0x134, out: 0xffffffffffff9a2f
+lh :: offset: 0x136, out: 0xffffffffffffb6f3
+lh :: offset: 0x138, out: 0xffffffffffffa809
+lh :: offset: 0x13a, out: 0x5212
+lh :: offset: 0x13c, out: 0x3889
+lh :: offset: 0x13e, out: 0x5270
+lh :: offset: 0x140, out: 0xffffffffffff8775
+lh :: offset: 0x142, out: 0xa04
+lh :: offset: 0x144, out: 0xffffffffffffad76
+lh :: offset: 0x146, out: 0x5040
+lh :: offset: 0x148, out: 0x2c3d
+lh :: offset: 0x14a, out: 0xffffffffffffe85e
+lh :: offset: 0x14c, out: 0xffffffffffff84bb
+lh :: offset: 0x14e, out: 0x5a83
+lh :: offset: 0x150, out: 0xffffffffffffae6a
+lh :: offset: 0x152, out: 0xffffffffffffff8f
+lh :: offset: 0x154, out: 0xffffffffffffc506
+lh :: offset: 0x156, out: 0xffffffffffffaa67
+lh :: offset: 0x158, out: 0xffffffffffffc071
+lh :: offset: 0x15a, out: 0x12dd
+lh :: offset: 0x15c, out: 0x60ed
+lh :: offset: 0x15e, out: 0x5ee3
+lh :: offset: 0x160, out: 0xffffffffffffc4c7
+lh :: offset: 0x162, out: 0x70f6
+lh :: offset: 0x164, out: 0x30dc
+lh :: offset: 0x166, out: 0xffffffffffffca5a
+lh :: offset: 0x168, out: 0xffffffffffffdfec
+lh :: offset: 0x16a, out: 0x2b23
+lh :: offset: 0x16c, out: 0xffffffffffff83cd
+lh :: offset: 0x16e, out: 0x5277
+lh :: offset: 0x170, out: 0xffffffffffffd3ad
+lh :: offset: 0x172, out: 0xffffffffffffba26
+lh :: offset: 0x174, out: 0xff7
+lh :: offset: 0x176, out: 0xffffffffffffd96b
+lh :: offset: 0x178, out: 0x4ab4
+lh :: offset: 0x17a, out: 0xffffffffffffaa79
+lh :: offset: 0x17c, out: 0xffffffffffff8418
+lh :: offset: 0x17e, out: 0xffffffffffffc00e
+lh :: offset: 0x180, out: 0xffffffffffffbb8c
+lh :: offset: 0x182, out: 0x35e
+lh :: offset: 0x184, out: 0xde0
+lh :: offset: 0x186, out: 0xfffffffffffff0b8
+lh :: offset: 0x188, out: 0x33b0
+lh :: offset: 0x18a, out: 0x6f54
+lh :: offset: 0x18c, out: 0xffffffffffffa97f
+lh :: offset: 0x18e, out: 0xffffffffffffdcf1
+lh :: offset: 0x190, out: 0x7743
+lh :: offset: 0x192, out: 0x3f37
+lh :: offset: 0x194, out: 0x3fd1
+lh :: offset: 0x196, out: 0xffffffffffffc081
+lh :: offset: 0x198, out: 0xffffffffffffec91
+lh :: offset: 0x19a, out: 0xffffffffffffd993
+lh :: offset: 0x19c, out: 0xffffffffffffc921
+lh :: offset: 0x19e, out: 0xffffffffffff95e4
+lh :: offset: 0x1a0, out: 0x49fb
+lh :: offset: 0x1a2, out: 0xfffffffffffff6a7
+lh :: offset: 0x1a4, out: 0xffffffffffff95b1
+lh :: offset: 0x1a6, out: 0xffffffffffffa5ab
+lh :: offset: 0x1a8, out: 0x1936
+lh :: offset: 0x1aa, out: 0x4378
+lh :: offset: 0x1ac, out: 0xffffffffffffc7ce
+lh :: offset: 0x1ae, out: 0xffffffffffff8d1e
+lh :: offset: 0x1b0, out: 0xffffffffffffb99e
+lh :: offset: 0x1b2, out: 0xffffffffffff8def
+lh :: offset: 0x1b4, out: 0x2f38
+lh :: offset: 0x1b6, out: 0x4907
+lh :: offset: 0x1b8, out: 0x47ea
+lh :: offset: 0x1ba, out: 0xffffffffffffcdcd
+lh :: offset: 0x1bc, out: 0x582b
+lh :: offset: 0x1be, out: 0x12fe
+lh :: offset: 0x1c0, out: 0xffffffffffffd685
+lh :: offset: 0x1c2, out: 0xffffffffffff884e
+lh :: offset: 0x1c4, out: 0x7655
+lh :: offset: 0x1c6, out: 0xffffffffffff8c4f
+lh :: offset: 0x1c8, out: 0x6168
+lh :: offset: 0x1ca, out: 0xffffffffffffd62a
+lh :: offset: 0x1cc, out: 0x34c1
+lh :: offset: 0x1ce, out: 0xffffffffffff95c7
+lh :: offset: 0x1d0, out: 0xffffffffffffd301
+lh :: offset: 0x1d2, out: 0x6989
+lh :: offset: 0x1d4, out: 0x4df4
+lh :: offset: 0x1d6, out: 0x7405
+lh :: offset: 0x1d8, out: 0x1ca1
+lh :: offset: 0x1da, out: 0xffffffffffff90bf
+lh :: offset: 0x1dc, out: 0x6cbb
+lh :: offset: 0x1de, out: 0x6db
+lh :: offset: 0x1e0, out: 0x5830
+lh :: offset: 0x1e2, out: 0xf02
+lh :: offset: 0x1e4, out: 0xffffffffffff9cae
+lh :: offset: 0x1e6, out: 0x393a
+lh :: offset: 0x1e8, out: 0xffffffffffff9a99
+lh :: offset: 0x1ea, out: 0x5fdb
+lh :: offset: 0x1ec, out: 0xffffffffffffdc7e
+lh :: offset: 0x1ee, out: 0xffffffffffffbc2d
+lh :: offset: 0x1f0, out: 0xffffffffffff8a96
+lh :: offset: 0x1f2, out: 0x47b
+lh :: offset: 0x1f4, out: 0xffffffffffffe340
+lh :: offset: 0x1f6, out: 0x5b48
+lh :: offset: 0x1f8, out: 0x75bf
+lh :: offset: 0x1fa, out: 0xffffffffffffafd2
+lh :: offset: 0x1fc, out: 0xffffffffffffd519
+lh :: offset: 0x1fe, out: 0xffffffffffffd322
+lh :: offset: 0x200, out: 0xffffffffffffde23
+lh :: offset: 0x202, out: 0x867
+lh :: offset: 0x204, out: 0xffffffffffffa630
+lh :: offset: 0x206, out: 0xfffffffffffff6ad
+lh :: offset: 0x208, out: 0x2c0a
+lh :: offset: 0x20a, out: 0xcf2
+lh :: offset: 0x20c, out: 0x5610
+lh :: offset: 0x20e, out: 0x3260
+lh :: offset: 0x210, out: 0xffffffffffff94a9
+lh :: offset: 0x212, out: 0x544
+lh :: offset: 0x214, out: 0x249b
+lh :: offset: 0x216, out: 0x18ef
+lh :: offset: 0x218, out: 0xfffffffffffff951
+lh :: offset: 0x21a, out: 0xffffffffffff9fb5
+lh :: offset: 0x21c, out: 0x5b56
+lh :: offset: 0x21e, out: 0xfffffffffffffcde
+lh :: offset: 0x220, out: 0xffffffffffff81da
+lh :: offset: 0x222, out: 0xfffffffffffff820
+lh :: offset: 0x224, out: 0x468
+lh :: offset: 0x226, out: 0x319b
+lh :: offset: 0x228, out: 0xffffffffffff8c61
+lh :: offset: 0x22a, out: 0xffffffffffffca5a
+lh :: offset: 0x22c, out: 0x5725
+lh :: offset: 0x22e, out: 0xfffffffffffff2ec
+lh :: offset: 0x230, out: 0xffffffffffff8b95
+lh :: offset: 0x232, out: 0xffffffffffffa6dd
+lh :: offset: 0x234, out: 0xffffffffffffc25d
+lh :: offset: 0x236, out: 0xffffffffffffc8bf
+lh :: offset: 0x238, out: 0x300c
+lh :: offset: 0x23a, out: 0xffffffffffffe751
+lh :: offset: 0x23c, out: 0xffffffffffffdac6
+lh :: offset: 0x23e, out: 0x162f
+lh :: offset: 0x240, out: 0x6778
+lh :: offset: 0x242, out: 0xfffffffffffffdf3
+lh :: offset: 0x244, out: 0xffffffffffffba52
+lh :: offset: 0x246, out: 0xffffffffffffa850
+lh :: offset: 0x248, out: 0xffffffffffffad00
+lh :: offset: 0x24a, out: 0xffffffffffffb1f7
+lh :: offset: 0x24c, out: 0xffffffffffffda78
+lh :: offset: 0x24e, out: 0x479f
+lh :: offset: 0x250, out: 0x8d4
+lh :: offset: 0x252, out: 0x4168
+lh :: offset: 0x254, out: 0xffffffffffffa6b6
+lh :: offset: 0x256, out: 0xffffffffffffd98a
+lh :: offset: 0x258, out: 0xfffffffffffff518
+lh :: offset: 0x25a, out: 0x381d
+lh :: offset: 0x25c, out: 0xffffffffffffce63
+lh :: offset: 0x25e, out: 0x4413
+lh :: offset: 0x260, out: 0xffffffffffffe462
+lh :: offset: 0x262, out: 0x7f3f
+lh :: offset: 0x264, out: 0xffffffffffffe525
+lh :: offset: 0x266, out: 0x5fc0
+lh :: offset: 0x268, out: 0xffffffffffffccd3
+lh :: offset: 0x26a, out: 0xffffffffffff92e1
+lh :: offset: 0x26c, out: 0x7632
+lh :: offset: 0x26e, out: 0x1f28
+lh :: offset: 0x270, out: 0xffffffffffff8294
+lh :: offset: 0x272, out: 0x6494
+lh :: offset: 0x274, out: 0x4018
+lh :: offset: 0x276, out: 0xfffffffffffffd8f
+lh :: offset: 0x278, out: 0x15d3
+lh :: offset: 0x27a, out: 0x2040
+lh :: offset: 0x27c, out: 0x52e8
+lh :: offset: 0x27e, out: 0xfffffffffffff0e5
+lh :: offset: 0x280, out: 0x7caf
+lh :: offset: 0x282, out: 0xffffffffffff83d2
+lh :: offset: 0x284, out: 0xffffffffffff880f
+lh :: offset: 0x286, out: 0xfffffffffffff344
+lh :: offset: 0x288, out: 0xfffffffffffff156
+lh :: offset: 0x28a, out: 0xffffffffffffa04c
+lh :: offset: 0x28c, out: 0x747d
+lh :: offset: 0x28e, out: 0xffffffffffffefd7
+lh :: offset: 0x290, out: 0xffffffffffff93e2
+lh :: offset: 0x292, out: 0x601c
+lh :: offset: 0x294, out: 0xf31
+lh :: offset: 0x296, out: 0xffffffffffffd710
+lh :: offset: 0x298, out: 0xffffffffffffe1e1
+lh :: offset: 0x29a, out: 0xffffffffffffa679
+lh :: offset: 0x29c, out: 0x131c
+lh :: offset: 0x29e, out: 0xffffffffffffd933
+lh :: offset: 0x2a0, out: 0x2429
+lh :: offset: 0x2a2, out: 0x6b75
+lh :: offset: 0x2a4, out: 0xffffffffffffa76f
+lh :: offset: 0x2a6, out: 0xffffffffffffa427
+lh :: offset: 0x2a8, out: 0xffffffffffffd296
+lh :: offset: 0x2aa, out: 0xffffffffffffe2d2
+lh :: offset: 0x2ac, out: 0x139e
+lh :: offset: 0x2ae, out: 0xffffffffffffe56a
+lh :: offset: 0x2b0, out: 0x5a82
+lh :: offset: 0x2b2, out: 0x447f
+lh :: offset: 0x2b4, out: 0x6dc2
+lh :: offset: 0x2b6, out: 0xffffffffffffa5c0
+lh :: offset: 0x2b8, out: 0x76c8
+lh :: offset: 0x2ba, out: 0xffffffffffff9e80
+lh :: offset: 0x2bc, out: 0xffffffffffffc07d
+lh :: offset: 0x2be, out: 0xffffffffffffc168
+lh :: offset: 0x2c0, out: 0x70d
+lh :: offset: 0x2c2, out: 0xffffffffffffc345
+lh :: offset: 0x2c4, out: 0x4bfe
+lh :: offset: 0x2c6, out: 0x348f
+lh :: offset: 0x2c8, out: 0xffffffffffffbddc
+lh :: offset: 0x2ca, out: 0x7123
+lh :: offset: 0x2cc, out: 0xffffffffffffdd6d
+lh :: offset: 0x2ce, out: 0x241b
+lh :: offset: 0x2d0, out: 0xfffffffffffff62f
+lh :: offset: 0x2d2, out: 0xffffffffffffb727
+lh :: offset: 0x2d4, out: 0xffffffffffffa59f
+lh :: offset: 0x2d6, out: 0xffffffffffffcebe
+lh :: offset: 0x2d8, out: 0x109f
+lh :: offset: 0x2da, out: 0x27e9
+lh :: offset: 0x2dc, out: 0xf9f
+lh :: offset: 0x2de, out: 0x46fb
+lh :: offset: 0x2e0, out: 0x3f63
+lh :: offset: 0x2e2, out: 0xffffffffffffdaa9
+lh :: offset: 0x2e4, out: 0xffffffffffffafd1
+lh :: offset: 0x2e6, out: 0xffffffffffff99d7
+lh :: offset: 0x2e8, out: 0xffffffffffffdbcb
+lh :: offset: 0x2ea, out: 0x312e
+lh :: offset: 0x2ec, out: 0xffffffffffffa3d4
+lh :: offset: 0x2ee, out: 0xffffffffffff84f2
+lh :: offset: 0x2f0, out: 0x1f35
+lh :: offset: 0x2f2, out: 0x3faa
+lh :: offset: 0x2f4, out: 0xffffffffffffda4f
+lh :: offset: 0x2f6, out: 0xffffffffffffe4c6
+lh :: offset: 0x2f8, out: 0xffffffffffff8b08
+lh :: offset: 0x2fa, out: 0x6ee0
+lh :: offset: 0x2fc, out: 0x7150
+lh :: offset: 0x2fe, out: 0xffffffffffffc260
+lh :: offset: 0x300, out: 0xffffffffffffe547
+lh :: offset: 0x302, out: 0x50d5
+lh :: offset: 0x304, out: 0xffffffffffffd925
+lh :: offset: 0x306, out: 0x7f25
+lh :: offset: 0x308, out: 0x3d69
+lh :: offset: 0x30a, out: 0x625f
+lh :: offset: 0x30c, out: 0xffffffffffffe9a6
+lh :: offset: 0x30e, out: 0xffffffffffffdb5b
+lh :: offset: 0x310, out: 0x70a3
+lh :: offset: 0x312, out: 0xffffffffffffe042
+lh :: offset: 0x314, out: 0x4340
+lh :: offset: 0x316, out: 0xffffffffffffac96
+lh :: offset: 0x318, out: 0xffffffffffffc047
+lh :: offset: 0x31a, out: 0xffffffffffff8f03
+lh :: offset: 0x31c, out: 0x6980
+lh :: offset: 0x31e, out: 0x171e
+lh :: offset: 0x320, out: 0x3ce8
+lh :: offset: 0x322, out: 0x39a5
+lh :: offset: 0x324, out: 0x1cf9
+lh :: offset: 0x326, out: 0x29e3
+lh :: offset: 0x328, out: 0xffffffffffffe2fb
+lh :: offset: 0x32a, out: 0xfffffffffffffa89
+lh :: offset: 0x32c, out: 0x5eb6
+lh :: offset: 0x32e, out: 0xffffffffffff8958
+lh :: offset: 0x330, out: 0xffffffffffffd24b
+lh :: offset: 0x332, out: 0xffffffffffffb05d
+lh :: offset: 0x334, out: 0x76ed
+lh :: offset: 0x336, out: 0x25b7
+lh :: offset: 0x338, out: 0xeb9
+lh :: offset: 0x33a, out: 0x682c
+lh :: offset: 0x33c, out: 0x1703
+lh :: offset: 0x33e, out: 0x12f1
+lh :: offset: 0x340, out: 0xffffffffffff8478
+lh :: offset: 0x342, out: 0x5280
+lh :: offset: 0x344, out: 0xffffffffffffdd30
+lh :: offset: 0x346, out: 0x1d0d
+lh :: offset: 0x348, out: 0x179c
+lh :: offset: 0x34a, out: 0x77aa
+lh :: offset: 0x34c, out: 0x1f8f
+lh :: offset: 0x34e, out: 0xffffffffffffd6ef
+lh :: offset: 0x350, out: 0x2644
+lh :: offset: 0x352, out: 0x4ced
+lh :: offset: 0x354, out: 0x2998
+lh :: offset: 0x356, out: 0x436d
+lh :: offset: 0x358, out: 0x717
+lh :: offset: 0x35a, out: 0x5c9d
+lh :: offset: 0x35c, out: 0xffffffffffffd58c
+lh :: offset: 0x35e, out: 0xffffffffffffa708
+lh :: offset: 0x360, out: 0x663d
+lh :: offset: 0x362, out: 0x610
+lh :: offset: 0x364, out: 0x5583
+lh :: offset: 0x366, out: 0x3287
+lh :: offset: 0x368, out: 0xffffffffffffab7d
+lh :: offset: 0x36a, out: 0xffffffffffffd048
+lh :: offset: 0x36c, out: 0xffffffffffff8951
+lh :: offset: 0x36e, out: 0xffffffffffffd68b
+lh :: offset: 0x370, out: 0xfffffffffffff698
+lh :: offset: 0x372, out: 0x2367
+lh :: offset: 0x374, out: 0xe82
+lh :: offset: 0x376, out: 0x471b
+lh :: offset: 0x378, out: 0x3688
+lh :: offset: 0x37a, out: 0x6c59
+lh :: offset: 0x37c, out: 0xffffffffffffd98d
+lh :: offset: 0x37e, out: 0x26b2
+lh :: offset: 0x380, out: 0x9ca
+lh :: offset: 0x382, out: 0x4bdb
+lh :: offset: 0x384, out: 0xffffffffffffd32b
+lh :: offset: 0x386, out: 0xffffffffffffe479
+lh :: offset: 0x388, out: 0xfffffffffffffd5d
+lh :: offset: 0x38a, out: 0x7d1d
+lh :: offset: 0x38c, out: 0xffffffffffff9962
+lh :: offset: 0x38e, out: 0xffffffffffffe61f
+lh :: offset: 0x390, out: 0x3f46
+lh :: offset: 0x392, out: 0x553e
+lh :: offset: 0x394, out: 0xffffffffffffcad3
+lh :: offset: 0x396, out: 0x74df
+lh :: offset: 0x398, out: 0x2e9a
+lh :: offset: 0x39a, out: 0xffffffffffffb97d
+lh :: offset: 0x39c, out: 0x3eed
+lh :: offset: 0x39e, out: 0xfffffffffffff2a7
+lh :: offset: 0x3a0, out: 0x36a6
+lh :: offset: 0x3a2, out: 0xfffffffffffff7fa
+lh :: offset: 0x3a4, out: 0x3c0c
+lh :: offset: 0x3a6, out: 0xffffffffffff9f33
+lh :: offset: 0x3a8, out: 0xffffffffffff8bb9
+lh :: offset: 0x3aa, out: 0x38e3
+lh :: offset: 0x3ac, out: 0x155e
+lh :: offset: 0x3ae, out: 0xffffffffffffc9dc
+lh :: offset: 0x3b0, out: 0xffffffffffffd2df
+lh :: offset: 0x3b2, out: 0x25c4
+lh :: offset: 0x3b4, out: 0x1947
+lh :: offset: 0x3b6, out: 0xffffffffffff8206
+lh :: offset: 0x3b8, out: 0xffffffffffffbc65
+lh :: offset: 0x3ba, out: 0xffffffffffffbf27
+lh :: offset: 0x3bc, out: 0xffffffffffffeb32
+lh :: offset: 0x3be, out: 0x1825
+lh :: offset: 0x3c0, out: 0xffffffffffffa8b0
+lh :: offset: 0x3c2, out: 0xffffffffffff8fe6
+lh :: offset: 0x3c4, out: 0x7a8b
+lh :: offset: 0x3c6, out: 0xffffffffffffc7da
+lh :: offset: 0x3c8, out: 0xffffffffffff852b
+lh :: offset: 0x3ca, out: 0x5bca
+lh :: offset: 0x3cc, out: 0xfffffffffffff8df
+lh :: offset: 0x3ce, out: 0xffffffffffffcde8
+lh :: offset: 0x3d0, out: 0x478
+lh :: offset: 0x3d2, out: 0xffffffffffff909b
+lh :: offset: 0x3d4, out: 0x59a9
+lh :: offset: 0x3d6, out: 0xffffffffffff9269
+lh :: offset: 0x3d8, out: 0xffffffffffffbfb3
+lh :: offset: 0x3da, out: 0x1cc8
+lh :: offset: 0x3dc, out: 0x7857
+lh :: offset: 0x3de, out: 0x360f
+lh :: offset: 0x3e0, out: 0xffffffffffffb665
+lh :: offset: 0x3e2, out: 0xffffffffffffed5e
+lh :: offset: 0x3e4, out: 0x7f89
+lh :: offset: 0x3e6, out: 0xffffffffffffe9a2
+lh :: offset: 0x3e8, out: 0x15da
+lh :: offset: 0x3ea, out: 0xffffffffffff9474
+lh :: offset: 0x3ec, out: 0xffffffffffffb7a8
+lh :: offset: 0x3ee, out: 0xffffffffffffd5e4
+lh :: offset: 0x3f0, out: 0xfffffffffffff6b3
+lh :: offset: 0x3f2, out: 0x537d
+lh :: offset: 0x3f4, out: 0x2af9
+lh :: offset: 0x3f6, out: 0xfcc
+lh :: offset: 0x3f8, out: 0x223d
+lh :: offset: 0x3fa, out: 0x7cfe
+lh :: offset: 0x3fc, out: 0x2b96
+lh :: offset: 0x3fe, out: 0x1897
+lh :: offset: 0x400, out: 0x420b
+lh :: offset: 0x402, out: 0x34f5
+lh :: offset: 0x404, out: 0x3373
+lh :: offset: 0x406, out: 0x4a4b
+lh :: offset: 0x408, out: 0xffffffffffff897c
+lh :: offset: 0x40a, out: 0xffffffffffff8c8d
+lh :: offset: 0x40c, out: 0xffffffffffffdd46
+lh :: offset: 0x40e, out: 0xffffffffffffb33c
+lh :: offset: 0x410, out: 0x7a38
+lh :: offset: 0x412, out: 0x7445
+lh :: offset: 0x414, out: 0xffffffffffffe392
+lh :: offset: 0x416, out: 0xffffffffffffccd9
+lh :: offset: 0x418, out: 0x512f
+lh :: offset: 0x41a, out: 0x29b1
+lh :: offset: 0x41c, out: 0xffffffffffffd800
+lh :: offset: 0x41e, out: 0xc9
+lh :: offset: 0x420, out: 0xffffffffffffeade
+lh :: offset: 0x422, out: 0xffffffffffffd5c5
+lh :: offset: 0x424, out: 0x3dad
+lh :: offset: 0x426, out: 0x20a
+lh :: offset: 0x428, out: 0xffffffffffff8a62
+lh :: offset: 0x42a, out: 0x29d7
+lh :: offset: 0x42c, out: 0x31ee
+lh :: offset: 0x42e, out: 0xffffffffffffa35b
+lh :: offset: 0x430, out: 0x2c3c
+lh :: offset: 0x432, out: 0x3f9e
+lh :: offset: 0x434, out: 0x4898
+lh :: offset: 0x436, out: 0x5649
+lh :: offset: 0x438, out: 0x7ff6
+lh :: offset: 0x43a, out: 0x1e78
+lh :: offset: 0x43c, out: 0xffffffffffffdc9c
+lh :: offset: 0x43e, out: 0xb77
+lh :: offset: 0x440, out: 0x2299
+lh :: offset: 0x442, out: 0xffffffffffffb0e0
+lh :: offset: 0x444, out: 0x1d5e
+lh :: offset: 0x446, out: 0x68ec
+lh :: offset: 0x448, out: 0x7c3b
+lh :: offset: 0x44a, out: 0x467
+lh :: offset: 0x44c, out: 0x3d0c
+lh :: offset: 0x44e, out: 0x6e25
+lh :: offset: 0x450, out: 0x164e
+lh :: offset: 0x452, out: 0x17c1
+lh :: offset: 0x454, out: 0xffffffffffffe7fb
+lh :: offset: 0x456, out: 0x6587
+lh :: offset: 0x458, out: 0xfffffffffffffa4c
+lh :: offset: 0x45a, out: 0xffffffffffffa28b
+lh :: offset: 0x45c, out: 0x56d4
+lh :: offset: 0x45e, out: 0xffffffffffff950b
+lh :: offset: 0x460, out: 0xffffffffffffe5e9
+lh :: offset: 0x462, out: 0xffffffffffffa314
+lh :: offset: 0x464, out: 0xffffffffffffbe7f
+lh :: offset: 0x466, out: 0xffffffffffffa08a
+lh :: offset: 0x468, out: 0xfffffffffffff8be
+lh :: offset: 0x46a, out: 0xffffffffffff8164
+lh :: offset: 0x46c, out: 0x1596
+lh :: offset: 0x46e, out: 0x49c5
+lh :: offset: 0x470, out: 0x7ca3
+lh :: offset: 0x472, out: 0x2597
+lh :: offset: 0x474, out: 0xffffffffffff84e6
+lh :: offset: 0x476, out: 0xffffffffffff9b17
+lh :: offset: 0x478, out: 0xfffffffffffffc8d
+lh :: offset: 0x47a, out: 0x543c
+lh :: offset: 0x47c, out: 0xffffffffffffa1f2
+lh :: offset: 0x47e, out: 0x4f5c
+lh :: offset: 0x480, out: 0x4aeb
+lh :: offset: 0x482, out: 0x6ca0
+lh :: offset: 0x484, out: 0xffffffffffffe345
+lh :: offset: 0x486, out: 0xffffffffffff9e36
+lh :: offset: 0x488, out: 0xffffffffffffc532
+lh :: offset: 0x48a, out: 0xffffffffffffe18e
+lh :: offset: 0x48c, out: 0x1879
+lh :: offset: 0x48e, out: 0xffffffffffff80fa
+lh :: offset: 0x490, out: 0xffffffffffffb3fd
+lh :: offset: 0x492, out: 0xffffffffffffec29
+lh :: offset: 0x494, out: 0x4f28
+lh :: offset: 0x496, out: 0x7d1c
+lh :: offset: 0x498, out: 0xffffffffffffb620
+lh :: offset: 0x49a, out: 0x660a
+lh :: offset: 0x49c, out: 0x4973
+lh :: offset: 0x49e, out: 0x2b90
+lh :: offset: 0x4a0, out: 0xffffffffffff9931
+lh :: offset: 0x4a2, out: 0x38f1
+lh :: offset: 0x4a4, out: 0x6cfd
+lh :: offset: 0x4a6, out: 0xffffffffffffe991
+lh :: offset: 0x4a8, out: 0xffffffffffffde02
+lh :: offset: 0x4aa, out: 0xffffffffffffd133
+lh :: offset: 0x4ac, out: 0x7d54
+lh :: offset: 0x4ae, out: 0x7b9
+lh :: offset: 0x4b0, out: 0x13a3
+lh :: offset: 0x4b2, out: 0xffffffffffff90e1
+lh :: offset: 0x4b4, out: 0xffffffffffffe1da
+lh :: offset: 0x4b6, out: 0xffffffffffffb15a
+lh :: offset: 0x4b8, out: 0x7434
+lh :: offset: 0x4ba, out: 0xffffffffffff91a6
+lh :: offset: 0x4bc, out: 0xffffffffffff8287
+lh :: offset: 0x4be, out: 0x16c8
+lh :: offset: 0x4c0, out: 0xffffffffffff8cff
+lh :: offset: 0x4c2, out: 0x404a
+lh :: offset: 0x4c4, out: 0xffffffffffffede2
+lh :: offset: 0x4c6, out: 0xffffffffffff92f2
+lh :: offset: 0x4c8, out: 0xffffffffffffb9ce
+lh :: offset: 0x4ca, out: 0xffffffffffffc0db
+lh :: offset: 0x4cc, out: 0x1f83
+lh :: offset: 0x4ce, out: 0x7636
+lh :: offset: 0x4d0, out: 0x2eaa
+lh :: offset: 0x4d2, out: 0x5aa7
+lh :: offset: 0x4d4, out: 0x509
+lh :: offset: 0x4d6, out: 0x771c
+lh :: offset: 0x4d8, out: 0xffffffffffffd327
+lh :: offset: 0x4da, out: 0x538e
+lh :: offset: 0x4dc, out: 0x1875
+lh :: offset: 0x4de, out: 0x241b
+lh :: offset: 0x4e0, out: 0x42e9
+lh :: offset: 0x4e2, out: 0xfffffffffffff854
+lh :: offset: 0x4e4, out: 0xffffffffffff8b73
+lh :: offset: 0x4e6, out: 0xffffffffffff9b6b
+lh :: offset: 0x4e8, out: 0x78e4
+lh :: offset: 0x4ea, out: 0xffffffffffffe50c
+lh :: offset: 0x4ec, out: 0xffffffffffffeccb
+lh :: offset: 0x4ee, out: 0xffffffffffffba1a
+lh :: offset: 0x4f0, out: 0xfffffffffffff6b6
+lh :: offset: 0x4f2, out: 0xfffffffffffffa3f
+lh :: offset: 0x4f4, out: 0xffffffffffffcd9d
+lh :: offset: 0x4f6, out: 0x27cb
+lh :: offset: 0x4f8, out: 0x7391
+lh :: offset: 0x4fa, out: 0x6483
+lh :: offset: 0x4fc, out: 0xffffffffffffae3e
+lh :: offset: 0x4fe, out: 0xffffffffffff9423
+lh :: offset: 0x500, out: 0x276a
+lh :: offset: 0x502, out: 0xfffffffffffff70a
+lh :: offset: 0x504, out: 0xe12
+lh :: offset: 0x506, out: 0xffffffffffff8561
+lh :: offset: 0x508, out: 0x304
+lh :: offset: 0x50a, out: 0x5bf6
+lh :: offset: 0x50c, out: 0xffffffffffffb5e7
+lh :: offset: 0x50e, out: 0x4b6e
+lh :: offset: 0x510, out: 0x2022
+lh :: offset: 0x512, out: 0x3f13
+lh :: offset: 0x514, out: 0x8ac
+lh :: offset: 0x516, out: 0xffffffffffffcfa6
+lh :: offset: 0x518, out: 0xfffffffffffff83c
+lh :: offset: 0x51a, out: 0x5574
+lh :: offset: 0x51c, out: 0x3976
+lh :: offset: 0x51e, out: 0xffffffffffffb5f5
+lh :: offset: 0x520, out: 0x1f97
+lh :: offset: 0x522, out: 0x20f9
+lh :: offset: 0x524, out: 0x4692
+lh :: offset: 0x526, out: 0x3c3d
+lh :: offset: 0x528, out: 0x620d
+lh :: offset: 0x52a, out: 0x2850
+lh :: offset: 0x52c, out: 0x6d24
+lh :: offset: 0x52e, out: 0x48dd
+lh :: offset: 0x530, out: 0x60a5
+lh :: offset: 0x532, out: 0x21e9
+lh :: offset: 0x534, out: 0xffffffffffff9ff4
+lh :: offset: 0x536, out: 0xffffffffffffa732
+lh :: offset: 0x538, out: 0x5a08
+lh :: offset: 0x53a, out: 0xfffffffffffff3ab
+lh :: offset: 0x53c, out: 0x5c68
+lh :: offset: 0x53e, out: 0xf0b
+lh :: offset: 0x540, out: 0xffffffffffffc7a5
+lh :: offset: 0x542, out: 0xffffffffffff9be7
+lh :: offset: 0x544, out: 0xffffffffffff800f
+lh :: offset: 0x546, out: 0x3d26
+lh :: offset: 0x548, out: 0x1aec
+lh :: offset: 0x54a, out: 0xffffffffffffdf29
+lh :: offset: 0x54c, out: 0xffffffffffff82ca
+lh :: offset: 0x54e, out: 0x1b41
+lh :: offset: 0x550, out: 0x2b86
+lh :: offset: 0x552, out: 0x13a2
+lh :: offset: 0x554, out: 0x60d1
+lh :: offset: 0x556, out: 0xffffffffffff9dcd
+lh :: offset: 0x558, out: 0x2518
+lh :: offset: 0x55a, out: 0xffffffffffffac8b
+lh :: offset: 0x55c, out: 0xe8b
+lh :: offset: 0x55e, out: 0xffffffffffffbe7f
+lh :: offset: 0x560, out: 0x743e
+lh :: offset: 0x562, out: 0x568d
+lh :: offset: 0x564, out: 0x2fcf
+lh :: offset: 0x566, out: 0x486b
+lh :: offset: 0x568, out: 0x126f
+lh :: offset: 0x56a, out: 0x646f
+lh :: offset: 0x56c, out: 0x34c3
+lh :: offset: 0x56e, out: 0x1728
+lh :: offset: 0x570, out: 0xffffffffffffaab0
+lh :: offset: 0x572, out: 0x1961
+lh :: offset: 0x574, out: 0x56fc
+lh :: offset: 0x576, out: 0x4d12
+lh :: offset: 0x578, out: 0x7535
+lh :: offset: 0x57a, out: 0xffffffffffffcd33
+lh :: offset: 0x57c, out: 0xffffffffffff8595
+lh :: offset: 0x57e, out: 0xffffffffffffd342
+lh :: offset: 0x580, out: 0xffffffffffffdfb2
+lh :: offset: 0x582, out: 0x54da
+lh :: offset: 0x584, out: 0x4223
+lh :: offset: 0x586, out: 0x46ec
+lh :: offset: 0x588, out: 0xffffffffffffa867
+lh :: offset: 0x58a, out: 0x26c9
+lh :: offset: 0x58c, out: 0x81
+lh :: offset: 0x58e, out: 0xffffffffffffab2a
+lh :: offset: 0x590, out: 0xffffffffffff9bfe
+lh :: offset: 0x592, out: 0xffffffffffffffa1
+lh :: offset: 0x594, out: 0x679d
+lh :: offset: 0x596, out: 0x7438
+lh :: offset: 0x598, out: 0xffffffffffffc769
+lh :: offset: 0x59a, out: 0xffffffffffff9826
+lh :: offset: 0x59c, out: 0xffffffffffffb7de
+lh :: offset: 0x59e, out: 0xffffffffffffe244
+lh :: offset: 0x5a0, out: 0x3c07
+lh :: offset: 0x5a2, out: 0xffffffffffffaf97
+lh :: offset: 0x5a4, out: 0xfffffffffffffba6
+lh :: offset: 0x5a6, out: 0x704a
+lh :: offset: 0x5a8, out: 0x5213
+lh :: offset: 0x5aa, out: 0x64dc
+lh :: offset: 0x5ac, out: 0x4c5
+lh :: offset: 0x5ae, out: 0xffffffffffff8bfe
+lh :: offset: 0x5b0, out: 0xffffffffffffe0f7
+lh :: offset: 0x5b2, out: 0xffffffffffffbb58
+lh :: offset: 0x5b4, out: 0xffffffffffff9ab7
+lh :: offset: 0x5b6, out: 0xffffffffffffaebc
+lh :: offset: 0x5b8, out: 0xffffffffffffe336
+lh :: offset: 0x5ba, out: 0xffffffffffffc60c
+lh :: offset: 0x5bc, out: 0xffffffffffffdeeb
+lh :: offset: 0x5be, out: 0xffffffffffff954d
+lh :: offset: 0x5c0, out: 0xffffffffffffd5b2
+lh :: offset: 0x5c2, out: 0x120c
+lh :: offset: 0x5c4, out: 0x6f52
+lh :: offset: 0x5c6, out: 0x416e
+lh :: offset: 0x5c8, out: 0xffffffffffff85a2
+lh :: offset: 0x5ca, out: 0xffffffffffffd4ff
+lh :: offset: 0x5cc, out: 0x7e62
+lh :: offset: 0x5ce, out: 0xffffffffffff8a34
+lh :: offset: 0x5d0, out: 0xffffffffffff986a
+lh :: offset: 0x5d2, out: 0x2b65
+lh :: offset: 0x5d4, out: 0x4a4e
+lh :: offset: 0x5d6, out: 0x7e07
+lh :: offset: 0x5d8, out: 0xffffffffffffa974
+lh :: offset: 0x5da, out: 0xffffffffffffeac4
+lh :: offset: 0x5dc, out: 0x3a48
+lh :: offset: 0x5de, out: 0xffffffffffff9b55
+lh :: offset: 0x5e0, out: 0xffffffffffffa388
+lh :: offset: 0x5e2, out: 0xffffffffffffc162
+lh :: offset: 0x5e4, out: 0x72f1
+lh :: offset: 0x5e6, out: 0xfffffffffffff8f5
+lh :: offset: 0x5e8, out: 0xffffffffffffe8c1
+lh :: offset: 0x5ea, out: 0x1f45
+lh :: offset: 0x5ec, out: 0xffffffffffffe749
+lh :: offset: 0x5ee, out: 0x5ea9
+lh :: offset: 0x5f0, out: 0xffffffffffffadaa
+lh :: offset: 0x5f2, out: 0x5a76
+lh :: offset: 0x5f4, out: 0x5cc1
+lh :: offset: 0x5f6, out: 0xffffffffffffc8b4
+lh :: offset: 0x5f8, out: 0x7ab4
+lh :: offset: 0x5fa, out: 0xffffffffffffce88
+lh :: offset: 0x5fc, out: 0xffffffffffffdfa6
+lh :: offset: 0x5fe, out: 0x5c0
+lh :: offset: 0x600, out: 0xffffffffffffb42a
+lh :: offset: 0x602, out: 0xffffffffffffd6e6
+lh :: offset: 0x604, out: 0x59a7
+lh :: offset: 0x606, out: 0xffffffffffffb04f
+lh :: offset: 0x608, out: 0x4bf8
+lh :: offset: 0x60a, out: 0x485a
+lh :: offset: 0x60c, out: 0xffffffffffffb728
+lh :: offset: 0x60e, out: 0xffffffffffff922f
+lh :: offset: 0x610, out: 0x76a3
+lh :: offset: 0x612, out: 0xffffffffffffd60c
+lh :: offset: 0x614, out: 0x3b66
+lh :: offset: 0x616, out: 0xffffffffffffa7fb
+lh :: offset: 0x618, out: 0x31e0
+lh :: offset: 0x61a, out: 0xffffffffffffc6af
+lh :: offset: 0x61c, out: 0xfffffffffffffdc2
+lh :: offset: 0x61e, out: 0xffffffffffff8eda
+lh :: offset: 0x620, out: 0x5360
+lh :: offset: 0x622, out: 0x6bb4
+lh :: offset: 0x624, out: 0xffffffffffffbf0c
+lh :: offset: 0x626, out: 0xffffffffffff999d
+lh :: offset: 0x628, out: 0x32fc
+lh :: offset: 0x62a, out: 0x12c8
+lh :: offset: 0x62c, out: 0x1b79
+lh :: offset: 0x62e, out: 0x19f0
+lh :: offset: 0x630, out: 0x3ef8
+lh :: offset: 0x632, out: 0xffffffffffff8384
+lh :: offset: 0x634, out: 0xffffffffffffc72e
+lh :: offset: 0x636, out: 0xfffffffffffffcd6
+lh :: offset: 0x638, out: 0x38b1
+lh :: offset: 0x63a, out: 0xffffffffffffc7bb
+lh :: offset: 0x63c, out: 0x6a2a
+lh :: offset: 0x63e, out: 0x3580
+lh :: offset: 0x640, out: 0x15eb
+lh :: offset: 0x642, out: 0xfffffffffffff612
+lh :: offset: 0x644, out: 0x1dca
+lh :: offset: 0x646, out: 0x77c9
+lh :: offset: 0x648, out: 0x5eaa
+lh :: offset: 0x64a, out: 0xffffffffffffcdd9
+lh :: offset: 0x64c, out: 0xfffffffffffffd91
+lh :: offset: 0x64e, out: 0x47ae
+lh :: offset: 0x650, out: 0xffffffffffffbb84
+lh :: offset: 0x652, out: 0x70f9
+lh :: offset: 0x654, out: 0xffffffffffff81e9
+lh :: offset: 0x656, out: 0x1117
+lh :: offset: 0x658, out: 0x5d4
+lh :: offset: 0x65a, out: 0x2aea
+lh :: offset: 0x65c, out: 0xffffffffffffc6a5
+lh :: offset: 0x65e, out: 0x32e0
+lh :: offset: 0x660, out: 0x14ab
+lh :: offset: 0x662, out: 0xfffffffffffff364
+lh :: offset: 0x664, out: 0x19fb
+lh :: offset: 0x666, out: 0xffffffffffff9e63
+lh :: offset: 0x668, out: 0x249d
+lh :: offset: 0x66a, out: 0x559a
+lh :: offset: 0x66c, out: 0xffffffffffffa8d7
+lh :: offset: 0x66e, out: 0x2aac
+lh :: offset: 0x670, out: 0xcd6
+lh :: offset: 0x672, out: 0x764f
+lh :: offset: 0x674, out: 0x84b
+lh :: offset: 0x676, out: 0x30ec
+lh :: offset: 0x678, out: 0x7f03
+lh :: offset: 0x67a, out: 0xffffffffffffac07
+lh :: offset: 0x67c, out: 0xffffffffffff9246
+lh :: offset: 0x67e, out: 0xffffffffffff8fdf
+lh :: offset: 0x680, out: 0x7e35
+lh :: offset: 0x682, out: 0xffffffffffffce6d
+lh :: offset: 0x684, out: 0x56e6
+lh :: offset: 0x686, out: 0x70f5
+lh :: offset: 0x688, out: 0x1528
+lh :: offset: 0x68a, out: 0x2859
+lh :: offset: 0x68c, out: 0x1a65
+lh :: offset: 0x68e, out: 0x2711
+lh :: offset: 0x690, out: 0xffffffffffff9e1c
+lh :: offset: 0x692, out: 0x3283
+lh :: offset: 0x694, out: 0xffffffffffffd215
+lh :: offset: 0x696, out: 0xffffffffffffa9fb
+lh :: offset: 0x698, out: 0xffffffffffff8d95
+lh :: offset: 0x69a, out: 0xffffffffffffc049
+lh :: offset: 0x69c, out: 0x282a
+lh :: offset: 0x69e, out: 0x417
+lh :: offset: 0x6a0, out: 0xfffffffffffff2e7
+lh :: offset: 0x6a2, out: 0xffffffffffffa490
+lh :: offset: 0x6a4, out: 0xffffffffffff9780
+lh :: offset: 0x6a6, out: 0x58f3
+lh :: offset: 0x6a8, out: 0x775b
+lh :: offset: 0x6aa, out: 0x4cca
+lh :: offset: 0x6ac, out: 0x975
+lh :: offset: 0x6ae, out: 0xffffffffffffb1aa
+lh :: offset: 0x6b0, out: 0xa2b
+lh :: offset: 0x6b2, out: 0xffffffffffff84a6
+lh :: offset: 0x6b4, out: 0x3511
+lh :: offset: 0x6b6, out: 0x1020
+lh :: offset: 0x6b8, out: 0x23f
+lh :: offset: 0x6ba, out: 0xffffffffffffa0d3
+lh :: offset: 0x6bc, out: 0xffffffffffffa7d8
+lh :: offset: 0x6be, out: 0xffffffffffff8b6f
+lh :: offset: 0x6c0, out: 0xffffffffffffa3d9
+lh :: offset: 0x6c2, out: 0xffffffffffff91b7
+lh :: offset: 0x6c4, out: 0xffffffffffff9941
+lh :: offset: 0x6c6, out: 0xffffffffffffdedd
+lh :: offset: 0x6c8, out: 0x751c
+lh :: offset: 0x6ca, out: 0xffffffffffffb483
+lh :: offset: 0x6cc, out: 0x5a0d
+lh :: offset: 0x6ce, out: 0xffffffffffff9508
+lh :: offset: 0x6d0, out: 0xffffffffffff949c
+lh :: offset: 0x6d2, out: 0xffffffffffffad35
+lh :: offset: 0x6d4, out: 0x625b
+lh :: offset: 0x6d6, out: 0xffffffffffffb2d3
+lh :: offset: 0x6d8, out: 0x7f56
+lh :: offset: 0x6da, out: 0x7f35
+lh :: offset: 0x6dc, out: 0xffffffffffffa692
+lh :: offset: 0x6de, out: 0xffffffffffff9739
+lh :: offset: 0x6e0, out: 0x185b
+lh :: offset: 0x6e2, out: 0xffffffffffff88e0
+lh :: offset: 0x6e4, out: 0xffffffffffffdb8d
+lh :: offset: 0x6e6, out: 0x7d27
+lh :: offset: 0x6e8, out: 0x255a
+lh :: offset: 0x6ea, out: 0x4cd2
+lh :: offset: 0x6ec, out: 0x2fd6
+lh :: offset: 0x6ee, out: 0x1b91
+lh :: offset: 0x6f0, out: 0x1048
+lh :: offset: 0x6f2, out: 0xffffffffffffd589
+lh :: offset: 0x6f4, out: 0xffffffffffffa436
+lh :: offset: 0x6f6, out: 0x3f7b
+lh :: offset: 0x6f8, out: 0x6a6d
+lh :: offset: 0x6fa, out: 0x5708
+lh :: offset: 0x6fc, out: 0xfffffffffffff460
+lh :: offset: 0x6fe, out: 0x5790
+lh :: offset: 0x700, out: 0xffffffffffffd58e
+lh :: offset: 0x702, out: 0xffffffffffffcbab
+lh :: offset: 0x704, out: 0xffffffffffffde35
+lh :: offset: 0x706, out: 0x697f
+lh :: offset: 0x708, out: 0x5755
+lh :: offset: 0x70a, out: 0x48fd
+lh :: offset: 0x70c, out: 0x8c0
+lh :: offset: 0x70e, out: 0xffffffffffffa5f1
+lh :: offset: 0x710, out: 0xffffffffffff8bb6
+lh :: offset: 0x712, out: 0x40fb
+lh :: offset: 0x714, out: 0xffffffffffff8ed9
+lh :: offset: 0x716, out: 0xffffffffffff8ddb
+lh :: offset: 0x718, out: 0xffffffffffffbe00
+lh :: offset: 0x71a, out: 0xffffffffffffd51e
+lh :: offset: 0x71c, out: 0xffffffffffffabc5
+lh :: offset: 0x71e, out: 0x78cc
+lh :: offset: 0x720, out: 0x2f7e
+lh :: offset: 0x722, out: 0x224a
+lh :: offset: 0x724, out: 0x1c17
+lh :: offset: 0x726, out: 0xab2
+lh :: offset: 0x728, out: 0xffffffffffffa978
+lh :: offset: 0x72a, out: 0xfffffffffffff12c
+lh :: offset: 0x72c, out: 0xffffffffffffa222
+lh :: offset: 0x72e, out: 0x56a7
+lh :: offset: 0x730, out: 0xffffffffffff9950
+lh :: offset: 0x732, out: 0xffffffffffffa93b
+lh :: offset: 0x734, out: 0xffffffffffff811e
+lh :: offset: 0x736, out: 0xffffffffffffe02f
+lh :: offset: 0x738, out: 0xffffffffffffb44e
+lh :: offset: 0x73a, out: 0xffffffffffffea93
+lh :: offset: 0x73c, out: 0xffffffffffffc679
+lh :: offset: 0x73e, out: 0x6a0c
+lh :: offset: 0x740, out: 0xfffffffffffffe71
+lh :: offset: 0x742, out: 0xfffffffffffffca0
+lh :: offset: 0x744, out: 0x6c0e
+lh :: offset: 0x746, out: 0xffffffffffffb657
+lh :: offset: 0x748, out: 0x4ed6
+lh :: offset: 0x74a, out: 0x393d
+lh :: offset: 0x74c, out: 0xfffffffffffff818
+lh :: offset: 0x74e, out: 0xffffffffffffaf57
+lh :: offset: 0x750, out: 0xfffffffffffff22e
+lh :: offset: 0x752, out: 0xffffffffffff9020
+lh :: offset: 0x754, out: 0x236
+lh :: offset: 0x756, out: 0x770a
+lh :: offset: 0x758, out: 0xffffffffffff81ef
+lh :: offset: 0x75a, out: 0xffffffffffffb6c7
+lh :: offset: 0x75c, out: 0xffffffffffffafd0
+lh :: offset: 0x75e, out: 0xffffffffffffc45d
+lh :: offset: 0x760, out: 0xffffffffffffeed8
+lh :: offset: 0x762, out: 0xfffffffffffff351
+lh :: offset: 0x764, out: 0xffffffffffff8102
+lh :: offset: 0x766, out: 0x315b
+lh :: offset: 0x768, out: 0xffffffffffffadaf
+lh :: offset: 0x76a, out: 0xffffffffffffefb9
+lh :: offset: 0x76c, out: 0xffffffffffff995e
+lh :: offset: 0x76e, out: 0xfffffffffffffd5e
+lh :: offset: 0x770, out: 0x3406
+lh :: offset: 0x772, out: 0x1933
+lh :: offset: 0x774, out: 0xffffffffffffeb25
+lh :: offset: 0x776, out: 0x3086
+lh :: offset: 0x778, out: 0x1748
+lh :: offset: 0x77a, out: 0xffffffffffffda26
+lh :: offset: 0x77c, out: 0x4b4c
+lh :: offset: 0x77e, out: 0x52bc
+lh :: offset: 0x780, out: 0x34fd
+lh :: offset: 0x782, out: 0xfffffffffffffc9a
+lh :: offset: 0x784, out: 0xffffffffffff9302
+lh :: offset: 0x786, out: 0xffffffffffffbe89
+lh :: offset: 0x788, out: 0xffffffffffffd002
+lh :: offset: 0x78a, out: 0x78c3
+lh :: offset: 0x78c, out: 0xffffffffffffc521
+lh :: offset: 0x78e, out: 0xffffffffffffd180
+lh :: offset: 0x790, out: 0xffffffffffffe909
+lh :: offset: 0x792, out: 0x44a4
+lh :: offset: 0x794, out: 0xffffffffffffc1d3
+lh :: offset: 0x796, out: 0x7a5d
+lh :: offset: 0x798, out: 0x65fd
+lh :: offset: 0x79a, out: 0x698f
+lh :: offset: 0x79c, out: 0xffffffffffffddef
+lh :: offset: 0x79e, out: 0xffffffffffff9839
+lh :: offset: 0x7a0, out: 0xffffffffffffc49e
+lh :: offset: 0x7a2, out: 0xffffffffffffe3ad
+lh :: offset: 0x7a4, out: 0xffffffffffff81b5
+lh :: offset: 0x7a6, out: 0xffffffffffffaf52
+lh :: offset: 0x7a8, out: 0x7aa9
+lh :: offset: 0x7aa, out: 0x41e8
+lh :: offset: 0x7ac, out: 0xffffffffffffbdb2
+lh :: offset: 0x7ae, out: 0x63e9
+lh :: offset: 0x7b0, out: 0x372c
+lh :: offset: 0x7b2, out: 0x209e
+lh :: offset: 0x7b4, out: 0x42f3
+lh :: offset: 0x7b6, out: 0xffffffffffffb58d
+lh :: offset: 0x7b8, out: 0x30f8
+lh :: offset: 0x7ba, out: 0x70b7
+lh :: offset: 0x7bc, out: 0xffffffffffffe122
+lh :: offset: 0x7be, out: 0xffffffffffffa83b
+lh :: offset: 0x7c0, out: 0xffffffffffff9e02
+lh :: offset: 0x7c2, out: 0xffffffffffffde4b
+lh :: offset: 0x7c4, out: 0x6789
+lh :: offset: 0x7c6, out: 0x30ec
+lh :: offset: 0x7c8, out: 0xffffffffffffcd61
+lh :: offset: 0x7ca, out: 0xffffffffffffa863
+lh :: offset: 0x7cc, out: 0xffffffffffff9826
+lh :: offset: 0x7ce, out: 0x631e
+lh :: offset: 0x7d0, out: 0xffffffffffffae87
+lh :: offset: 0x7d2, out: 0xffffffffffffbc89
+lh :: offset: 0x7d4, out: 0xffffffffffff9a7b
+lh :: offset: 0x7d6, out: 0xffffffffffffd3ca
+lh :: offset: 0x7d8, out: 0x58ec
+lh :: offset: 0x7da, out: 0x644d
+lh :: offset: 0x7dc, out: 0x6481
+lh :: offset: 0x7de, out: 0xffffffffffffaf17
+lh :: offset: 0x7e0, out: 0x680c
+lh :: offset: 0x7e2, out: 0xffffffffffffce5f
+lh :: offset: 0x7e4, out: 0xffffffffffffb236
+lh :: offset: 0x7e6, out: 0xffffffffffffb666
+lh :: offset: 0x7e8, out: 0x3baa
+lh :: offset: 0x7ea, out: 0xffffffffffff9947
+lh :: offset: 0x7ec, out: 0x1f6d
+lh :: offset: 0x7ee, out: 0x4d75
+lh :: offset: 0x7f0, out: 0x614d
+lh :: offset: 0x7f2, out: 0xffffffffffff9b44
+lh :: offset: 0x7f4, out: 0x5f12
+lh :: offset: 0x7f6, out: 0x236b
+lh :: offset: 0x7f8, out: 0xffffffffffffa2a6
+lh :: offset: 0x7fa, out: 0xffffffffffffec66
+lh :: offset: 0x7fc, out: 0x1ba8
+lh :: offset: 0x7fe, out: 0x4121
+lhu :: offset: 0x0, out: 0x0
+lhu :: offset: 0x2, out: 0x0
+lhu :: offset: 0x4, out: 0x0
+lhu :: offset: 0x6, out: 0x0
+lhu :: offset: 0x8, out: 0x982
+lhu :: offset: 0xa, out: 0x3b6e
+lhu :: offset: 0xc, out: 0xd43
+lhu :: offset: 0xe, out: 0x26d9
+lhu :: offset: 0x10, out: 0x1304
+lhu :: offset: 0x12, out: 0x76dc
+lhu :: offset: 0x14, out: 0x17c5
+lhu :: offset: 0x16, out: 0x6b6b
+lhu :: offset: 0x18, out: 0x1a86
+lhu :: offset: 0x1a, out: 0x4db2
+lhu :: offset: 0x1c, out: 0x1e47
+lhu :: offset: 0x1e, out: 0x5005
+lhu :: offset: 0x20, out: 0x2608
+lhu :: offset: 0x22, out: 0xedb8
+lhu :: offset: 0x24, out: 0x22c9
+lhu :: offset: 0x26, out: 0xf00f
+lhu :: offset: 0x28, out: 0x2f8a
+lhu :: offset: 0x2a, out: 0xd6d6
+lhu :: offset: 0x2c, out: 0x2b4b
+lhu :: offset: 0x2e, out: 0xcb61
+lhu :: offset: 0x30, out: 0x350c
+lhu :: offset: 0x32, out: 0x9b64
+lhu :: offset: 0x34, out: 0x31cd
+lhu :: offset: 0x36, out: 0x86d3
+lhu :: offset: 0x38, out: 0x3c8e
+lhu :: offset: 0x3a, out: 0xa00a
+lhu :: offset: 0x3c, out: 0x384f
+lhu :: offset: 0x3e, out: 0xbdbd
+lhu :: offset: 0x40, out: 0x4c11
+lhu :: offset: 0x42, out: 0xdb70
+lhu :: offset: 0x44, out: 0x48d0
+lhu :: offset: 0x46, out: 0xc6c7
+lhu :: offset: 0x48, out: 0x4593
+lhu :: offset: 0x4a, out: 0xe01e
+lhu :: offset: 0x4c, out: 0x4152
+lhu :: offset: 0x4e, out: 0xfda9
+lhu :: offset: 0x50, out: 0x5f15
+lhu :: offset: 0x52, out: 0xadac
+lhu :: offset: 0x54, out: 0x5bd4
+lhu :: offset: 0x56, out: 0xb01b
+lhu :: offset: 0x58, out: 0x5697
+lhu :: offset: 0x5a, out: 0x96c2
+lhu :: offset: 0x5c, out: 0x5256
+lhu :: offset: 0x5e, out: 0x8b75
+lhu :: offset: 0x60, out: 0x6a19
+lhu :: offset: 0x62, out: 0x36c8
+lhu :: offset: 0x64, out: 0x6ed8
+lhu :: offset: 0x66, out: 0x2b7f
+lhu :: offset: 0x68, out: 0x639b
+lhu :: offset: 0x6a, out: 0xda6
+lhu :: offset: 0x6c, out: 0x675a
+lhu :: offset: 0x6e, out: 0x1011
+lhu :: offset: 0x70, out: 0x791d
+lhu :: offset: 0x72, out: 0x4014
+lhu :: offset: 0x74, out: 0x7ddc
+lhu :: offset: 0x76, out: 0x5da3
+lhu :: offset: 0x78, out: 0x709f
+lhu :: offset: 0x7a, out: 0x7b7a
+lhu :: offset: 0x7c, out: 0x745e
+lhu :: offset: 0x7e, out: 0x66cd
+lhu :: offset: 0x80, out: 0x9823
+lhu :: offset: 0x82, out: 0xb6e0
+lhu :: offset: 0x84, out: 0x9ce2
+lhu :: offset: 0x86, out: 0xab57
+lhu :: offset: 0x88, out: 0x91a1
+lhu :: offset: 0x8a, out: 0x8d8e
+lhu :: offset: 0x8c, out: 0x9560
+lhu :: offset: 0x8e, out: 0x9039
+lhu :: offset: 0x90, out: 0x8b27
+lhu :: offset: 0x92, out: 0xc03c
+lhu :: offset: 0x94, out: 0x8fe6
+lhu :: offset: 0x96, out: 0xdd8b
+lhu :: offset: 0x98, out: 0x82a5
+lhu :: offset: 0x9a, out: 0xfb52
+lhu :: offset: 0x9c, out: 0x8664
+lhu :: offset: 0x9e, out: 0xe6e5
+lhu :: offset: 0xa0, out: 0xbe2b
+lhu :: offset: 0xa2, out: 0x5b58
+lhu :: offset: 0xa4, out: 0xbaea
+lhu :: offset: 0xa6, out: 0x46ef
+lhu :: offset: 0xa8, out: 0xb7a9
+lhu :: offset: 0xaa, out: 0x6036
+lhu :: offset: 0xac, out: 0xb368
+lhu :: offset: 0xae, out: 0x7d81
+lhu :: offset: 0xb0, out: 0xad2f
+lhu :: offset: 0xb2, out: 0x2d84
+lhu :: offset: 0xb4, out: 0xa9ee
+lhu :: offset: 0xb6, out: 0x3033
+lhu :: offset: 0xb8, out: 0xa4ad
+lhu :: offset: 0xba, out: 0x16ea
+lhu :: offset: 0xbc, out: 0xa06c
+lhu :: offset: 0xbe, out: 0xb5d
+lhu :: offset: 0xc0, out: 0xd432
+lhu :: offset: 0xc2, out: 0x6d90
+lhu :: offset: 0xc4, out: 0xd0f3
+lhu :: offset: 0xc6, out: 0x7027
+lhu :: offset: 0xc8, out: 0xddb0
+lhu :: offset: 0xca, out: 0x56fe
+lhu :: offset: 0xcc, out: 0xd971
+lhu :: offset: 0xce, out: 0x4b49
+lhu :: offset: 0xd0, out: 0xc736
+lhu :: offset: 0xd2, out: 0x1b4c
+lhu :: offset: 0xd4, out: 0xc3f7
+lhu :: offset: 0xd6, out: 0x6fb
+lhu :: offset: 0xd8, out: 0xceb4
+lhu :: offset: 0xda, out: 0x2022
+lhu :: offset: 0xdc, out: 0xca75
+lhu :: offset: 0xde, out: 0x3d95
+lhu :: offset: 0xe0, out: 0xf23a
+lhu :: offset: 0xe2, out: 0x8028
+lhu :: offset: 0xe4, out: 0xf6fb
+lhu :: offset: 0xe6, out: 0x9d9f
+lhu :: offset: 0xe8, out: 0xfbb8
+lhu :: offset: 0xea, out: 0xbb46
+lhu :: offset: 0xec, out: 0xff79
+lhu :: offset: 0xee, out: 0xa6f1
+lhu :: offset: 0xf0, out: 0xe13e
+lhu :: offset: 0xf2, out: 0xf6f4
+lhu :: offset: 0xf4, out: 0xe5ff
+lhu :: offset: 0xf6, out: 0xeb43
+lhu :: offset: 0xf8, out: 0xe8bc
+lhu :: offset: 0xfa, out: 0xcd9a
+lhu :: offset: 0xfc, out: 0xec7d
+lhu :: offset: 0xfe, out: 0xd02d
+lhu :: offset: 0x100, out: 0x3486
+lhu :: offset: 0x102, out: 0x7077
+lhu :: offset: 0x104, out: 0x3047
+lhu :: offset: 0x106, out: 0x6dc0
+lhu :: offset: 0x108, out: 0x3d04
+lhu :: offset: 0x10a, out: 0x4b19
+lhu :: offset: 0x10c, out: 0x39c5
+lhu :: offset: 0x10e, out: 0x56ae
+lhu :: offset: 0x110, out: 0x2782
+lhu :: offset: 0x112, out: 0x6ab
+lhu :: offset: 0x114, out: 0x2343
+lhu :: offset: 0x116, out: 0x1b1c
+lhu :: offset: 0x118, out: 0x2e00
+lhu :: offset: 0x11a, out: 0x3dc5
+lhu :: offset: 0x11c, out: 0x2ac1
+lhu :: offset: 0x11e, out: 0x2072
+lhu :: offset: 0x120, out: 0x128e
+lhu :: offset: 0x122, out: 0x9dcf
+lhu :: offset: 0x124, out: 0x164f
+lhu :: offset: 0x126, out: 0x8078
+lhu :: offset: 0x128, out: 0x1b0c
+lhu :: offset: 0x12a, out: 0xa6a1
+lhu :: offset: 0x12c, out: 0x1fcd
+lhu :: offset: 0x12e, out: 0xbb16
+lhu :: offset: 0x130, out: 0x18a
+lhu :: offset: 0x132, out: 0xeb13
+lhu :: offset: 0x134, out: 0x54b
+lhu :: offset: 0x136, out: 0xf6a4
+lhu :: offset: 0x138, out: 0x808
+lhu :: offset: 0x13a, out: 0xd07d
+lhu :: offset: 0x13c, out: 0xcc9
+lhu :: offset: 0x13e, out: 0xcdca
+lhu :: offset: 0x140, out: 0x7897
+lhu :: offset: 0x142, out: 0xab07
+lhu :: offset: 0x144, out: 0x7c56
+lhu :: offset: 0x146, out: 0xb6b0
+lhu :: offset: 0x148, out: 0x7115
+lhu :: offset: 0x14a, out: 0x9069
+lhu :: offset: 0x14c, out: 0x75d4
+lhu :: offset: 0x14e, out: 0x8dde
+lhu :: offset: 0x150, out: 0x6b93
+lhu :: offset: 0x152, out: 0xdddb
+lhu :: offset: 0x154, out: 0x6f52
+lhu :: offset: 0x156, out: 0xc06c
+lhu :: offset: 0x158, out: 0x6211
+lhu :: offset: 0x15a, out: 0xe6b5
+lhu :: offset: 0x15c, out: 0x66d0
+lhu :: offset: 0x15e, out: 0xfb02
+lhu :: offset: 0x160, out: 0x5e9f
+lhu :: offset: 0x162, out: 0x46bf
+lhu :: offset: 0x164, out: 0x5a5e
+lhu :: offset: 0x166, out: 0x5b08
+lhu :: offset: 0x168, out: 0x571d
+lhu :: offset: 0x16a, out: 0x7dd1
+lhu :: offset: 0x16c, out: 0x53dc
+lhu :: offset: 0x16e, out: 0x6066
+lhu :: offset: 0x170, out: 0x4d9b
+lhu :: offset: 0x172, out: 0x3063
+lhu :: offset: 0x174, out: 0x495a
+lhu :: offset: 0x176, out: 0x2dd4
+lhu :: offset: 0x178, out: 0x4419
+lhu :: offset: 0x17a, out: 0xb0d
+lhu :: offset: 0x17c, out: 0x40d8
+lhu :: offset: 0x17e, out: 0x16ba
+lhu :: offset: 0x180, out: 0xaca5
+lhu :: offset: 0x182, out: 0xc697
+lhu :: offset: 0x184, out: 0xa864
+lhu :: offset: 0x186, out: 0xdb20
+lhu :: offset: 0x188, out: 0xa527
+lhu :: offset: 0x18a, out: 0xfdf9
+lhu :: offset: 0x18c, out: 0xa1e6
+lhu :: offset: 0x18e, out: 0xe04e
+lhu :: offset: 0x190, out: 0xbfa1
+lhu :: offset: 0x192, out: 0xb04b
+lhu :: offset: 0x194, out: 0xbb60
+lhu :: offset: 0x196, out: 0xadfc
+lhu :: offset: 0x198, out: 0xb623
+lhu :: offset: 0x19a, out: 0x8b25
+lhu :: offset: 0x19c, out: 0xb2e2
+lhu :: offset: 0x19e, out: 0x9692
+lhu :: offset: 0x1a0, out: 0x8aad
+lhu :: offset: 0x1a2, out: 0x2b2f
+lhu :: offset: 0x1a4, out: 0x0
+lhu :: offset: 0x1a6, out: 0x0
+lhu :: offset: 0x1a8, out: 0x0
+lhu :: offset: 0x1aa, out: 0x0
+lhu :: offset: 0x1ac, out: 0x87ee
+lhu :: offset: 0x1ae, out: 0xdf6
+lhu :: offset: 0x1b0, out: 0x99a9
+lhu :: offset: 0x1b2, out: 0x5df3
+lhu :: offset: 0x1b4, out: 0x9d68
+lhu :: offset: 0x1b6, out: 0x4044
+lhu :: offset: 0x1b8, out: 0x902b
+lhu :: offset: 0x1ba, out: 0x669d
+lhu :: offset: 0x1bc, out: 0x94ea
+lhu :: offset: 0x1be, out: 0x7b2a
+lhu :: offset: 0x1c0, out: 0xe0b4
+lhu :: offset: 0x1c2, out: 0x1de7
+lhu :: offset: 0x1c4, out: 0xe475
+lhu :: offset: 0x1c6, out: 0x50
+lhu :: offset: 0x1c8, out: 0xe936
+lhu :: offset: 0x1ca, out: 0x2689
+lhu :: offset: 0x1cc, out: 0xedf7
+lhu :: offset: 0x1ce, out: 0x3b3e
+lhu :: offset: 0x1d0, out: 0xf3b0
+lhu :: offset: 0x1d2, out: 0x6b3b
+lhu :: offset: 0x1d4, out: 0xf771
+lhu :: offset: 0x1d6, out: 0x768c
+lhu :: offset: 0x1d8, out: 0xfa32
+lhu :: offset: 0x1da, out: 0x5055
+lhu :: offset: 0x1dc, out: 0xfef3
+lhu :: offset: 0x1de, out: 0x4de2
+lhu :: offset: 0x1e0, out: 0xc6bc
+lhu :: offset: 0x1e2, out: 0xf05f
+lhu :: offset: 0x1e4, out: 0xc27d
+lhu :: offset: 0x1e6, out: 0xede8
+lhu :: offset: 0x1e8, out: 0xcf3e
+lhu :: offset: 0x1ea, out: 0xcb31
+lhu :: offset: 0x1ec, out: 0xcbff
+lhu :: offset: 0x1ee, out: 0xd686
+lhu :: offset: 0x1f0, out: 0xd5b8
+lhu :: offset: 0x1f2, out: 0x8683
+lhu :: offset: 0x1f4, out: 0xd179
+lhu :: offset: 0x1f6, out: 0x9b34
+lhu :: offset: 0x1f8, out: 0xdc3a
+lhu :: offset: 0x1fa, out: 0xbded
+lhu :: offset: 0x1fc, out: 0xd8fb
+lhu :: offset: 0x1fe, out: 0xa05a
+lhu :: offset: 0x200, out: 0x690c
+lhu :: offset: 0x202, out: 0xe0ee
+lhu :: offset: 0x204, out: 0x6dcd
+lhu :: offset: 0x206, out: 0xfd59
+lhu :: offset: 0x208, out: 0x608e
+lhu :: offset: 0x20a, out: 0xdb80
+lhu :: offset: 0x20c, out: 0x644f
+lhu :: offset: 0x20e, out: 0xc637
+lhu :: offset: 0x210, out: 0x7a08
+lhu :: offset: 0x212, out: 0x9632
+lhu :: offset: 0x214, out: 0x7ec9
+lhu :: offset: 0x216, out: 0x8b85
+lhu :: offset: 0x218, out: 0x738a
+lhu :: offset: 0x21a, out: 0xad5c
+lhu :: offset: 0x21c, out: 0x774b
+lhu :: offset: 0x21e, out: 0xb0eb
+lhu :: offset: 0x220, out: 0x4f04
+lhu :: offset: 0x222, out: 0xd56
+lhu :: offset: 0x224, out: 0x4bc5
+lhu :: offset: 0x226, out: 0x10e1
+lhu :: offset: 0x228, out: 0x4686
+lhu :: offset: 0x22a, out: 0x3638
+lhu :: offset: 0x22c, out: 0x4247
+lhu :: offset: 0x22e, out: 0x2b8f
+lhu :: offset: 0x230, out: 0x5c00
+lhu :: offset: 0x232, out: 0x7b8a
+lhu :: offset: 0x234, out: 0x58c1
+lhu :: offset: 0x236, out: 0x663d
+lhu :: offset: 0x238, out: 0x5582
+lhu :: offset: 0x23a, out: 0x40e4
+lhu :: offset: 0x23c, out: 0x5143
+lhu :: offset: 0x23e, out: 0x5d53
+lhu :: offset: 0x240, out: 0x251d
+lhu :: offset: 0x242, out: 0x3b9e
+lhu :: offset: 0x244, out: 0x21dc
+lhu :: offset: 0x246, out: 0x2629
+lhu :: offset: 0x248, out: 0x2c9f
+lhu :: offset: 0x24a, out: 0xf0
+lhu :: offset: 0x24c, out: 0x285e
+lhu :: offset: 0x24e, out: 0x1d47
+lhu :: offset: 0x250, out: 0x3619
+lhu :: offset: 0x252, out: 0x4d42
+lhu :: offset: 0x254, out: 0x32d8
+lhu :: offset: 0x256, out: 0x50f5
+lhu :: offset: 0x258, out: 0x3f9b
+lhu :: offset: 0x25a, out: 0x762c
+lhu :: offset: 0x25c, out: 0x3b5a
+lhu :: offset: 0x25e, out: 0x6b9b
+lhu :: offset: 0x260, out: 0x315
+lhu :: offset: 0x262, out: 0xd626
+lhu :: offset: 0x264, out: 0x7d4
+lhu :: offset: 0x266, out: 0xcb91
+lhu :: offset: 0x268, out: 0xa97
+lhu :: offset: 0x26a, out: 0xed48
+lhu :: offset: 0x26c, out: 0xe56
+lhu :: offset: 0x26e, out: 0xf0ff
+lhu :: offset: 0x270, out: 0x1011
+lhu :: offset: 0x272, out: 0xa0fa
+lhu :: offset: 0x274, out: 0x14d0
+lhu :: offset: 0x276, out: 0xbd4d
+lhu :: offset: 0x278, out: 0x1993
+lhu :: offset: 0x27a, out: 0x9b94
+lhu :: offset: 0x27c, out: 0x1d52
+lhu :: offset: 0x27e, out: 0x8623
+lhu :: offset: 0x280, out: 0xf12f
+lhu :: offset: 0x282, out: 0x560e
+lhu :: offset: 0x284, out: 0xf5ee
+lhu :: offset: 0x286, out: 0x4bb9
+lhu :: offset: 0x288, out: 0xf8ad
+lhu :: offset: 0x28a, out: 0x6d60
+lhu :: offset: 0x28c, out: 0xfc6c
+lhu :: offset: 0x28e, out: 0x70d7
+lhu :: offset: 0x290, out: 0xe22b
+lhu :: offset: 0x292, out: 0x20d2
+lhu :: offset: 0x294, out: 0xe6ea
+lhu :: offset: 0x296, out: 0x3d65
+lhu :: offset: 0x298, out: 0xeba9
+lhu :: offset: 0x29a, out: 0x1bbc
+lhu :: offset: 0x29c, out: 0xef68
+lhu :: offset: 0x29e, out: 0x60b
+lhu :: offset: 0x2a0, out: 0xd727
+lhu :: offset: 0x2a2, out: 0xbbb6
+lhu :: offset: 0x2a4, out: 0xd3e6
+lhu :: offset: 0x2a6, out: 0xa601
+lhu :: offset: 0x2a8, out: 0xdea5
+lhu :: offset: 0x2aa, out: 0x80d8
+lhu :: offset: 0x2ac, out: 0xda64
+lhu :: offset: 0x2ae, out: 0x9d6f
+lhu :: offset: 0x2b0, out: 0xc423
+lhu :: offset: 0x2b2, out: 0xcd6a
+lhu :: offset: 0x2b4, out: 0x0
+lhu :: offset: 0x2b6, out: 0x0
+lhu :: offset: 0x2b8, out: 0xcda1
+lhu :: offset: 0x2ba, out: 0xf604
+lhu :: offset: 0x2bc, out: 0x0
+lhu :: offset: 0x2be, out: 0x0
+lhu :: offset: 0x2c0, out: 0xbd3e
+lhu :: offset: 0x2c2, out: 0x8d7e
+lhu :: offset: 0x2c4, out: 0xb9ff
+lhu :: offset: 0x2c6, out: 0x90c9
+lhu :: offset: 0x2c8, out: 0xb4bc
+lhu :: offset: 0x2ca, out: 0xb610
+lhu :: offset: 0x2cc, out: 0xb07d
+lhu :: offset: 0x2ce, out: 0xaba7
+lhu :: offset: 0x2d0, out: 0xae3a
+lhu :: offset: 0x2d2, out: 0xfba2
+lhu :: offset: 0x2d4, out: 0xaafb
+lhu :: offset: 0x2d6, out: 0xe615
+lhu :: offset: 0x2d8, out: 0xa7b8
+lhu :: offset: 0x2da, out: 0xc0cc
+lhu :: offset: 0x2dc, out: 0xa379
+lhu :: offset: 0x2de, out: 0xdd7b
+lhu :: offset: 0x2e0, out: 0x9b36
+lhu :: offset: 0x2e2, out: 0x60c6
+lhu :: offset: 0x2e4, out: 0x9ff7
+lhu :: offset: 0x2e6, out: 0x7d71
+lhu :: offset: 0x2e8, out: 0x92b4
+lhu :: offset: 0x2ea, out: 0x5ba8
+lhu :: offset: 0x2ec, out: 0x9675
+lhu :: offset: 0x2ee, out: 0x461f
+lhu :: offset: 0x2f0, out: 0x8832
+lhu :: offset: 0x2f2, out: 0x161a
+lhu :: offset: 0x2f4, out: 0x8cf3
+lhu :: offset: 0x2f6, out: 0xbad
+lhu :: offset: 0x2f8, out: 0x81b0
+lhu :: offset: 0x2fa, out: 0x2d74
+lhu :: offset: 0x2fc, out: 0x8571
+lhu :: offset: 0x2fe, out: 0x30c3
+lhu :: offset: 0x300, out: 0x5d8a
+lhu :: offset: 0x302, out: 0x9099
+lhu :: offset: 0x304, out: 0x594b
+lhu :: offset: 0x306, out: 0x8d2e
+lhu :: offset: 0x308, out: 0x5408
+lhu :: offset: 0x30a, out: 0xabf7
+lhu :: offset: 0x30c, out: 0x50c9
+lhu :: offset: 0x30e, out: 0xb640
+lhu :: offset: 0x310, out: 0x4e8e
+lhu :: offset: 0x312, out: 0xe645
+lhu :: offset: 0x314, out: 0x4a4f
+lhu :: offset: 0x316, out: 0xfbf2
+lhu :: offset: 0x318, out: 0x470c
+lhu :: offset: 0x31a, out: 0xdd2b
+lhu :: offset: 0x31c, out: 0x43cd
+lhu :: offset: 0x31e, out: 0xc09c
+lhu :: offset: 0x320, out: 0x7b82
+lhu :: offset: 0x322, out: 0x7d21
+lhu :: offset: 0x324, out: 0x7f43
+lhu :: offset: 0x326, out: 0x6096
+lhu :: offset: 0x328, out: 0x7200
+lhu :: offset: 0x32a, out: 0x464f
+lhu :: offset: 0x32c, out: 0x76c1
+lhu :: offset: 0x32e, out: 0x5bf8
+lhu :: offset: 0x330, out: 0x6886
+lhu :: offset: 0x332, out: 0xbfd
+lhu :: offset: 0x334, out: 0x6c47
+lhu :: offset: 0x336, out: 0x164a
+lhu :: offset: 0x338, out: 0x6104
+lhu :: offset: 0x33a, out: 0x3093
+lhu :: offset: 0x33c, out: 0x65c5
+lhu :: offset: 0x33e, out: 0x2d24
+lhu :: offset: 0x340, out: 0x119b
+lhu :: offset: 0x342, out: 0x4be9
+lhu :: offset: 0x344, out: 0x155a
+lhu :: offset: 0x346, out: 0x565e
+lhu :: offset: 0x348, out: 0x1819
+lhu :: offset: 0x34a, out: 0x7087
+lhu :: offset: 0x34c, out: 0x1cd8
+lhu :: offset: 0x34e, out: 0x6d30
+lhu :: offset: 0x350, out: 0x29f
+lhu :: offset: 0x352, out: 0x3d35
+lhu :: offset: 0x354, out: 0x65e
+lhu :: offset: 0x356, out: 0x2082
+lhu :: offset: 0x358, out: 0xb1d
+lhu :: offset: 0x35a, out: 0x65b
+lhu :: offset: 0x35c, out: 0xfdc
+lhu :: offset: 0x35e, out: 0x1bec
+lhu :: offset: 0x360, out: 0x3793
+lhu :: offset: 0x362, out: 0xa651
+lhu :: offset: 0x364, out: 0x3352
+lhu :: offset: 0x366, out: 0xbbe6
+lhu :: offset: 0x368, out: 0x3e11
+lhu :: offset: 0x36a, out: 0x9d3f
+lhu :: offset: 0x36c, out: 0x3ad0
+lhu :: offset: 0x36e, out: 0x8088
+lhu :: offset: 0x370, out: 0x2497
+lhu :: offset: 0x372, out: 0xd08d
+lhu :: offset: 0x374, out: 0x2056
+lhu :: offset: 0x376, out: 0xcd3a
+lhu :: offset: 0x378, out: 0x2d15
+lhu :: offset: 0x37a, out: 0xebe3
+lhu :: offset: 0x37c, out: 0x29d4
+lhu :: offset: 0x37e, out: 0xf654
+lhu :: offset: 0x380, out: 0xc5a9
+lhu :: offset: 0x382, out: 0x2679
+lhu :: offset: 0x384, out: 0xc168
+lhu :: offset: 0x386, out: 0x3bce
+lhu :: offset: 0x388, out: 0xcc2b
+lhu :: offset: 0x38a, out: 0x1d17
+lhu :: offset: 0x38c, out: 0xc8ea
+lhu :: offset: 0x38e, out: 0xa0
+lhu :: offset: 0x390, out: 0xd6ad
+lhu :: offset: 0x392, out: 0x50a5
+lhu :: offset: 0x394, out: 0xd26c
+lhu :: offset: 0x396, out: 0x4d12
+lhu :: offset: 0x398, out: 0xdf2f
+lhu :: offset: 0x39a, out: 0x6bcb
+lhu :: offset: 0x39c, out: 0xdbee
+lhu :: offset: 0x39e, out: 0x767c
+lhu :: offset: 0x3a0, out: 0xe3a1
+lhu :: offset: 0x3a2, out: 0xcbc1
+lhu :: offset: 0x3a4, out: 0xe760
+lhu :: offset: 0x3a6, out: 0xd676
+lhu :: offset: 0x3a8, out: 0xea23
+lhu :: offset: 0x3aa, out: 0xf0af
+lhu :: offset: 0x3ac, out: 0xeee2
+lhu :: offset: 0x3ae, out: 0xed18
+lhu :: offset: 0x3b0, out: 0xf0a5
+lhu :: offset: 0x3b2, out: 0xbd1d
+lhu :: offset: 0x3b4, out: 0xf464
+lhu :: offset: 0x3b6, out: 0xa0aa
+lhu :: offset: 0x3b8, out: 0xf927
+lhu :: offset: 0x3ba, out: 0x8673
+lhu :: offset: 0x3bc, out: 0xfde6
+lhu :: offset: 0x3be, out: 0x9bc4
+lhu :: offset: 0x3c0, out: 0x89b8
+lhu :: offset: 0x3c2, out: 0xfd09
+lhu :: offset: 0x3c4, out: 0x8d79
+lhu :: offset: 0x3c6, out: 0xe0be
+lhu :: offset: 0x3c8, out: 0x803a
+lhu :: offset: 0x3ca, out: 0xc667
+lhu :: offset: 0x3cc, out: 0x84fb
+lhu :: offset: 0x3ce, out: 0xdbd0
+lhu :: offset: 0x3d0, out: 0x9abc
+lhu :: offset: 0x3d2, out: 0x8bd5
+lhu :: offset: 0x3d4, out: 0x9e7d
+lhu :: offset: 0x3d6, out: 0x9662
+lhu :: offset: 0x3d8, out: 0x933e
+lhu :: offset: 0x3da, out: 0xb0bb
+lhu :: offset: 0x3dc, out: 0x97ff
+lhu :: offset: 0x3de, out: 0xad0c
+lhu :: offset: 0x3e0, out: 0xafb0
+lhu :: offset: 0x3e2, out: 0x10b1
+lhu :: offset: 0x3e4, out: 0xab71
+lhu :: offset: 0x3e6, out: 0xd06
+lhu :: offset: 0x3e8, out: 0xa632
+lhu :: offset: 0x3ea, out: 0x2bdf
+lhu :: offset: 0x3ec, out: 0xa2f3
+lhu :: offset: 0x3ee, out: 0x3668
+lhu :: offset: 0x3f0, out: 0xbcb4
+lhu :: offset: 0x3f2, out: 0x666d
+lhu :: offset: 0x3f4, out: 0xb875
+lhu :: offset: 0x3f6, out: 0x7bda
+lhu :: offset: 0x3f8, out: 0xb536
+lhu :: offset: 0x3fa, out: 0x5d03
+lhu :: offset: 0x3fc, out: 0xb1f7
+lhu :: offset: 0x3fe, out: 0x40b4
+lhu :: offset: 0x0, out: 0x0
+lhu :: offset: 0x2, out: 0x0
+lhu :: offset: 0x4, out: 0x12b
+lhu :: offset: 0x6, out: 0xd6aa
+lhu :: offset: 0x8, out: 0x7e
+lhu :: offset: 0xa, out: 0x8763
+lhu :: offset: 0xc, out: 0x82d2
+lhu :: offset: 0xe, out: 0xab13
+lhu :: offset: 0x10, out: 0x976d
+lhu :: offset: 0x12, out: 0x6e9a
+lhu :: offset: 0x14, out: 0xc315
+lhu :: offset: 0x16, out: 0x10f3
+lhu :: offset: 0x18, out: 0xb774
+lhu :: offset: 0x1a, out: 0x6d77
+lhu :: offset: 0x1c, out: 0x5ad6
+lhu :: offset: 0x1e, out: 0xa5fb
+lhu :: offset: 0x20, out: 0x42b0
+lhu :: offset: 0x22, out: 0xc0a2
+lhu :: offset: 0x24, out: 0x8677
+lhu :: offset: 0x26, out: 0xb502
+lhu :: offset: 0x28, out: 0x2aa8
+lhu :: offset: 0x2a, out: 0x9d31
+lhu :: offset: 0x2c, out: 0x9e3c
+lhu :: offset: 0x2e, out: 0x30ad
+lhu :: offset: 0x30, out: 0x1f30
+lhu :: offset: 0x32, out: 0x8ec3
+lhu :: offset: 0x34, out: 0x77fb
+lhu :: offset: 0x36, out: 0x413d
+lhu :: offset: 0x38, out: 0x7aa0
+lhu :: offset: 0x3a, out: 0x4213
+lhu :: offset: 0x3c, out: 0xc760
+lhu :: offset: 0x3e, out: 0xe4f7
+lhu :: offset: 0x40, out: 0x9e70
+lhu :: offset: 0x42, out: 0x5cc5
+lhu :: offset: 0x44, out: 0x1ad8
+lhu :: offset: 0x46, out: 0xdca0
+lhu :: offset: 0x48, out: 0x4b3d
+lhu :: offset: 0x4a, out: 0xda86
+lhu :: offset: 0x4c, out: 0x9615
+lhu :: offset: 0x4e, out: 0xa60d
+lhu :: offset: 0x50, out: 0x5e7
+lhu :: offset: 0x52, out: 0xa4dd
+lhu :: offset: 0x54, out: 0x6353
+lhu :: offset: 0x56, out: 0xd41d
+lhu :: offset: 0x58, out: 0x3af3
+lhu :: offset: 0x5a, out: 0x5a9d
+lhu :: offset: 0x5c, out: 0xc40b
+lhu :: offset: 0x5e, out: 0xd413
+lhu :: offset: 0x60, out: 0x47f5
+lhu :: offset: 0x62, out: 0x556
+lhu :: offset: 0x64, out: 0x9a08
+lhu :: offset: 0x66, out: 0xa180
+lhu :: offset: 0x68, out: 0x9564
+lhu :: offset: 0x6a, out: 0xb77f
+lhu :: offset: 0x6c, out: 0xd6d2
+lhu :: offset: 0x6e, out: 0x40f
+lhu :: offset: 0x70, out: 0xcebc
+lhu :: offset: 0x72, out: 0x8279
+lhu :: offset: 0x74, out: 0xb2c7
+lhu :: offset: 0x76, out: 0x6bbe
+lhu :: offset: 0x78, out: 0xb503
+lhu :: offset: 0x7a, out: 0x4c2f
+lhu :: offset: 0x7c, out: 0x1f18
+lhu :: offset: 0x7e, out: 0xe4c7
+lhu :: offset: 0x80, out: 0x94ff
+lhu :: offset: 0x82, out: 0x52fc
+lhu :: offset: 0x84, out: 0x81af
+lhu :: offset: 0x86, out: 0xa797
+lhu :: offset: 0x88, out: 0x31d8
+lhu :: offset: 0x8a, out: 0xd916
+lhu :: offset: 0x8c, out: 0x6dfc
+lhu :: offset: 0x8e, out: 0x50ea
+lhu :: offset: 0x90, out: 0x3654
+lhu :: offset: 0x92, out: 0x9bd6
+lhu :: offset: 0x94, out: 0x78e8
+lhu :: offset: 0x96, out: 0x95b1
+lhu :: offset: 0x98, out: 0x85e0
+lhu :: offset: 0x9a, out: 0xa631
+lhu :: offset: 0x9c, out: 0x9b63
+lhu :: offset: 0x9e, out: 0x259b
+lhu :: offset: 0xa0, out: 0x556b
+lhu :: offset: 0xa2, out: 0x3eca
+lhu :: offset: 0xa4, out: 0xccf1
+lhu :: offset: 0xa6, out: 0x7ac5
+lhu :: offset: 0xa8, out: 0xb42f
+lhu :: offset: 0xaa, out: 0x5fc5
+lhu :: offset: 0xac, out: 0x81ee
+lhu :: offset: 0xae, out: 0xa0fb
+lhu :: offset: 0xb0, out: 0x25b5
+lhu :: offset: 0xb2, out: 0xfec
+lhu :: offset: 0xb4, out: 0x1468
+lhu :: offset: 0xb6, out: 0x2d97
+lhu :: offset: 0xb8, out: 0xfc93
+lhu :: offset: 0xba, out: 0xc513
+lhu :: offset: 0xbc, out: 0x2cfb
+lhu :: offset: 0xbe, out: 0x87a
+lhu :: offset: 0xc0, out: 0x3c2c
+lhu :: offset: 0xc2, out: 0xd9a9
+lhu :: offset: 0xc4, out: 0xcda2
+lhu :: offset: 0xc6, out: 0x766
+lhu :: offset: 0xc8, out: 0x1791
+lhu :: offset: 0xca, out: 0x722a
+lhu :: offset: 0xcc, out: 0x7d72
+lhu :: offset: 0xce, out: 0xda3e
+lhu :: offset: 0xd0, out: 0x87c
+lhu :: offset: 0xd2, out: 0xc9d1
+lhu :: offset: 0xd4, out: 0x93ce
+lhu :: offset: 0xd6, out: 0x24ad
+lhu :: offset: 0xd8, out: 0x1d2a
+lhu :: offset: 0xda, out: 0x7570
+lhu :: offset: 0xdc, out: 0x3898
+lhu :: offset: 0xde, out: 0x4ed2
+lhu :: offset: 0xe0, out: 0xd0d0
+lhu :: offset: 0xe2, out: 0x70db
+lhu :: offset: 0xe4, out: 0x710c
+lhu :: offset: 0xe6, out: 0xd036
+lhu :: offset: 0xe8, out: 0x39c2
+lhu :: offset: 0xea, out: 0x1c7d
+lhu :: offset: 0xec, out: 0x341
+lhu :: offset: 0xee, out: 0x5604
+lhu :: offset: 0xf0, out: 0x8e94
+lhu :: offset: 0xf2, out: 0xb7af
+lhu :: offset: 0xf4, out: 0x8ecc
+lhu :: offset: 0xf6, out: 0x31ce
+lhu :: offset: 0xf8, out: 0x24eb
+lhu :: offset: 0xfa, out: 0x6a8d
+lhu :: offset: 0xfc, out: 0x1ce7
+lhu :: offset: 0xfe, out: 0x674f
+lhu :: offset: 0x100, out: 0x2f39
+lhu :: offset: 0x102, out: 0x4544
+lhu :: offset: 0x104, out: 0x12d6
+lhu :: offset: 0x106, out: 0xe4a7
+lhu :: offset: 0x108, out: 0x2608
+lhu :: offset: 0x10a, out: 0xc2b7
+lhu :: offset: 0x10c, out: 0x56da
+lhu :: offset: 0x10e, out: 0x4c54
+lhu :: offset: 0x110, out: 0x9001
+lhu :: offset: 0x112, out: 0x2da
+lhu :: offset: 0x114, out: 0xc8d7
+lhu :: offset: 0x116, out: 0x252f
+lhu :: offset: 0x118, out: 0xc890
+lhu :: offset: 0x11a, out: 0xd5f1
+lhu :: offset: 0x11c, out: 0xf2ef
+lhu :: offset: 0x11e, out: 0xa4f7
+lhu :: offset: 0x120, out: 0xed50
+lhu :: offset: 0x122, out: 0x5cb
+lhu :: offset: 0x124, out: 0xc8b0
+lhu :: offset: 0x126, out: 0xa214
+lhu :: offset: 0x128, out: 0x3147
+lhu :: offset: 0x12a, out: 0x9189
+lhu :: offset: 0x12c, out: 0x5991
+lhu :: offset: 0x12e, out: 0x136c
+lhu :: offset: 0x130, out: 0xc6ee
+lhu :: offset: 0x132, out: 0xcff9
+lhu :: offset: 0x134, out: 0x9a2f
+lhu :: offset: 0x136, out: 0xb6f3
+lhu :: offset: 0x138, out: 0xa809
+lhu :: offset: 0x13a, out: 0x5212
+lhu :: offset: 0x13c, out: 0x3889
+lhu :: offset: 0x13e, out: 0x5270
+lhu :: offset: 0x140, out: 0x8775
+lhu :: offset: 0x142, out: 0xa04
+lhu :: offset: 0x144, out: 0xad76
+lhu :: offset: 0x146, out: 0x5040
+lhu :: offset: 0x148, out: 0x2c3d
+lhu :: offset: 0x14a, out: 0xe85e
+lhu :: offset: 0x14c, out: 0x84bb
+lhu :: offset: 0x14e, out: 0x5a83
+lhu :: offset: 0x150, out: 0xae6a
+lhu :: offset: 0x152, out: 0xff8f
+lhu :: offset: 0x154, out: 0xc506
+lhu :: offset: 0x156, out: 0xaa67
+lhu :: offset: 0x158, out: 0xc071
+lhu :: offset: 0x15a, out: 0x12dd
+lhu :: offset: 0x15c, out: 0x60ed
+lhu :: offset: 0x15e, out: 0x5ee3
+lhu :: offset: 0x160, out: 0xc4c7
+lhu :: offset: 0x162, out: 0x70f6
+lhu :: offset: 0x164, out: 0x30dc
+lhu :: offset: 0x166, out: 0xca5a
+lhu :: offset: 0x168, out: 0xdfec
+lhu :: offset: 0x16a, out: 0x2b23
+lhu :: offset: 0x16c, out: 0x83cd
+lhu :: offset: 0x16e, out: 0x5277
+lhu :: offset: 0x170, out: 0xd3ad
+lhu :: offset: 0x172, out: 0xba26
+lhu :: offset: 0x174, out: 0xff7
+lhu :: offset: 0x176, out: 0xd96b
+lhu :: offset: 0x178, out: 0x4ab4
+lhu :: offset: 0x17a, out: 0xaa79
+lhu :: offset: 0x17c, out: 0x8418
+lhu :: offset: 0x17e, out: 0xc00e
+lhu :: offset: 0x180, out: 0xbb8c
+lhu :: offset: 0x182, out: 0x35e
+lhu :: offset: 0x184, out: 0xde0
+lhu :: offset: 0x186, out: 0xf0b8
+lhu :: offset: 0x188, out: 0x33b0
+lhu :: offset: 0x18a, out: 0x6f54
+lhu :: offset: 0x18c, out: 0xa97f
+lhu :: offset: 0x18e, out: 0xdcf1
+lhu :: offset: 0x190, out: 0x7743
+lhu :: offset: 0x192, out: 0x3f37
+lhu :: offset: 0x194, out: 0x3fd1
+lhu :: offset: 0x196, out: 0xc081
+lhu :: offset: 0x198, out: 0xec91
+lhu :: offset: 0x19a, out: 0xd993
+lhu :: offset: 0x19c, out: 0xc921
+lhu :: offset: 0x19e, out: 0x95e4
+lhu :: offset: 0x1a0, out: 0x49fb
+lhu :: offset: 0x1a2, out: 0xf6a7
+lhu :: offset: 0x1a4, out: 0x95b1
+lhu :: offset: 0x1a6, out: 0xa5ab
+lhu :: offset: 0x1a8, out: 0x1936
+lhu :: offset: 0x1aa, out: 0x4378
+lhu :: offset: 0x1ac, out: 0xc7ce
+lhu :: offset: 0x1ae, out: 0x8d1e
+lhu :: offset: 0x1b0, out: 0xb99e
+lhu :: offset: 0x1b2, out: 0x8def
+lhu :: offset: 0x1b4, out: 0x2f38
+lhu :: offset: 0x1b6, out: 0x4907
+lhu :: offset: 0x1b8, out: 0x47ea
+lhu :: offset: 0x1ba, out: 0xcdcd
+lhu :: offset: 0x1bc, out: 0x582b
+lhu :: offset: 0x1be, out: 0x12fe
+lhu :: offset: 0x1c0, out: 0xd685
+lhu :: offset: 0x1c2, out: 0x884e
+lhu :: offset: 0x1c4, out: 0x7655
+lhu :: offset: 0x1c6, out: 0x8c4f
+lhu :: offset: 0x1c8, out: 0x6168
+lhu :: offset: 0x1ca, out: 0xd62a
+lhu :: offset: 0x1cc, out: 0x34c1
+lhu :: offset: 0x1ce, out: 0x95c7
+lhu :: offset: 0x1d0, out: 0xd301
+lhu :: offset: 0x1d2, out: 0x6989
+lhu :: offset: 0x1d4, out: 0x4df4
+lhu :: offset: 0x1d6, out: 0x7405
+lhu :: offset: 0x1d8, out: 0x1ca1
+lhu :: offset: 0x1da, out: 0x90bf
+lhu :: offset: 0x1dc, out: 0x6cbb
+lhu :: offset: 0x1de, out: 0x6db
+lhu :: offset: 0x1e0, out: 0x5830
+lhu :: offset: 0x1e2, out: 0xf02
+lhu :: offset: 0x1e4, out: 0x9cae
+lhu :: offset: 0x1e6, out: 0x393a
+lhu :: offset: 0x1e8, out: 0x9a99
+lhu :: offset: 0x1ea, out: 0x5fdb
+lhu :: offset: 0x1ec, out: 0xdc7e
+lhu :: offset: 0x1ee, out: 0xbc2d
+lhu :: offset: 0x1f0, out: 0x8a96
+lhu :: offset: 0x1f2, out: 0x47b
+lhu :: offset: 0x1f4, out: 0xe340
+lhu :: offset: 0x1f6, out: 0x5b48
+lhu :: offset: 0x1f8, out: 0x75bf
+lhu :: offset: 0x1fa, out: 0xafd2
+lhu :: offset: 0x1fc, out: 0xd519
+lhu :: offset: 0x1fe, out: 0xd322
+lhu :: offset: 0x200, out: 0xde23
+lhu :: offset: 0x202, out: 0x867
+lhu :: offset: 0x204, out: 0xa630
+lhu :: offset: 0x206, out: 0xf6ad
+lhu :: offset: 0x208, out: 0x2c0a
+lhu :: offset: 0x20a, out: 0xcf2
+lhu :: offset: 0x20c, out: 0x5610
+lhu :: offset: 0x20e, out: 0x3260
+lhu :: offset: 0x210, out: 0x94a9
+lhu :: offset: 0x212, out: 0x544
+lhu :: offset: 0x214, out: 0x249b
+lhu :: offset: 0x216, out: 0x18ef
+lhu :: offset: 0x218, out: 0xf951
+lhu :: offset: 0x21a, out: 0x9fb5
+lhu :: offset: 0x21c, out: 0x5b56
+lhu :: offset: 0x21e, out: 0xfcde
+lhu :: offset: 0x220, out: 0x81da
+lhu :: offset: 0x222, out: 0xf820
+lhu :: offset: 0x224, out: 0x468
+lhu :: offset: 0x226, out: 0x319b
+lhu :: offset: 0x228, out: 0x8c61
+lhu :: offset: 0x22a, out: 0xca5a
+lhu :: offset: 0x22c, out: 0x5725
+lhu :: offset: 0x22e, out: 0xf2ec
+lhu :: offset: 0x230, out: 0x8b95
+lhu :: offset: 0x232, out: 0xa6dd
+lhu :: offset: 0x234, out: 0xc25d
+lhu :: offset: 0x236, out: 0xc8bf
+lhu :: offset: 0x238, out: 0x300c
+lhu :: offset: 0x23a, out: 0xe751
+lhu :: offset: 0x23c, out: 0xdac6
+lhu :: offset: 0x23e, out: 0x162f
+lhu :: offset: 0x240, out: 0x6778
+lhu :: offset: 0x242, out: 0xfdf3
+lhu :: offset: 0x244, out: 0xba52
+lhu :: offset: 0x246, out: 0xa850
+lhu :: offset: 0x248, out: 0xad00
+lhu :: offset: 0x24a, out: 0xb1f7
+lhu :: offset: 0x24c, out: 0xda78
+lhu :: offset: 0x24e, out: 0x479f
+lhu :: offset: 0x250, out: 0x8d4
+lhu :: offset: 0x252, out: 0x4168
+lhu :: offset: 0x254, out: 0xa6b6
+lhu :: offset: 0x256, out: 0xd98a
+lhu :: offset: 0x258, out: 0xf518
+lhu :: offset: 0x25a, out: 0x381d
+lhu :: offset: 0x25c, out: 0xce63
+lhu :: offset: 0x25e, out: 0x4413
+lhu :: offset: 0x260, out: 0xe462
+lhu :: offset: 0x262, out: 0x7f3f
+lhu :: offset: 0x264, out: 0xe525
+lhu :: offset: 0x266, out: 0x5fc0
+lhu :: offset: 0x268, out: 0xccd3
+lhu :: offset: 0x26a, out: 0x92e1
+lhu :: offset: 0x26c, out: 0x7632
+lhu :: offset: 0x26e, out: 0x1f28
+lhu :: offset: 0x270, out: 0x8294
+lhu :: offset: 0x272, out: 0x6494
+lhu :: offset: 0x274, out: 0x4018
+lhu :: offset: 0x276, out: 0xfd8f
+lhu :: offset: 0x278, out: 0x15d3
+lhu :: offset: 0x27a, out: 0x2040
+lhu :: offset: 0x27c, out: 0x52e8
+lhu :: offset: 0x27e, out: 0xf0e5
+lhu :: offset: 0x280, out: 0x7caf
+lhu :: offset: 0x282, out: 0x83d2
+lhu :: offset: 0x284, out: 0x880f
+lhu :: offset: 0x286, out: 0xf344
+lhu :: offset: 0x288, out: 0xf156
+lhu :: offset: 0x28a, out: 0xa04c
+lhu :: offset: 0x28c, out: 0x747d
+lhu :: offset: 0x28e, out: 0xefd7
+lhu :: offset: 0x290, out: 0x93e2
+lhu :: offset: 0x292, out: 0x601c
+lhu :: offset: 0x294, out: 0xf31
+lhu :: offset: 0x296, out: 0xd710
+lhu :: offset: 0x298, out: 0xe1e1
+lhu :: offset: 0x29a, out: 0xa679
+lhu :: offset: 0x29c, out: 0x131c
+lhu :: offset: 0x29e, out: 0xd933
+lhu :: offset: 0x2a0, out: 0x2429
+lhu :: offset: 0x2a2, out: 0x6b75
+lhu :: offset: 0x2a4, out: 0xa76f
+lhu :: offset: 0x2a6, out: 0xa427
+lhu :: offset: 0x2a8, out: 0xd296
+lhu :: offset: 0x2aa, out: 0xe2d2
+lhu :: offset: 0x2ac, out: 0x139e
+lhu :: offset: 0x2ae, out: 0xe56a
+lhu :: offset: 0x2b0, out: 0x5a82
+lhu :: offset: 0x2b2, out: 0x447f
+lhu :: offset: 0x2b4, out: 0x6dc2
+lhu :: offset: 0x2b6, out: 0xa5c0
+lhu :: offset: 0x2b8, out: 0x76c8
+lhu :: offset: 0x2ba, out: 0x9e80
+lhu :: offset: 0x2bc, out: 0xc07d
+lhu :: offset: 0x2be, out: 0xc168
+lhu :: offset: 0x2c0, out: 0x70d
+lhu :: offset: 0x2c2, out: 0xc345
+lhu :: offset: 0x2c4, out: 0x4bfe
+lhu :: offset: 0x2c6, out: 0x348f
+lhu :: offset: 0x2c8, out: 0xbddc
+lhu :: offset: 0x2ca, out: 0x7123
+lhu :: offset: 0x2cc, out: 0xdd6d
+lhu :: offset: 0x2ce, out: 0x241b
+lhu :: offset: 0x2d0, out: 0xf62f
+lhu :: offset: 0x2d2, out: 0xb727
+lhu :: offset: 0x2d4, out: 0xa59f
+lhu :: offset: 0x2d6, out: 0xcebe
+lhu :: offset: 0x2d8, out: 0x109f
+lhu :: offset: 0x2da, out: 0x27e9
+lhu :: offset: 0x2dc, out: 0xf9f
+lhu :: offset: 0x2de, out: 0x46fb
+lhu :: offset: 0x2e0, out: 0x3f63
+lhu :: offset: 0x2e2, out: 0xdaa9
+lhu :: offset: 0x2e4, out: 0xafd1
+lhu :: offset: 0x2e6, out: 0x99d7
+lhu :: offset: 0x2e8, out: 0xdbcb
+lhu :: offset: 0x2ea, out: 0x312e
+lhu :: offset: 0x2ec, out: 0xa3d4
+lhu :: offset: 0x2ee, out: 0x84f2
+lhu :: offset: 0x2f0, out: 0x1f35
+lhu :: offset: 0x2f2, out: 0x3faa
+lhu :: offset: 0x2f4, out: 0xda4f
+lhu :: offset: 0x2f6, out: 0xe4c6
+lhu :: offset: 0x2f8, out: 0x8b08
+lhu :: offset: 0x2fa, out: 0x6ee0
+lhu :: offset: 0x2fc, out: 0x7150
+lhu :: offset: 0x2fe, out: 0xc260
+lhu :: offset: 0x300, out: 0xe547
+lhu :: offset: 0x302, out: 0x50d5
+lhu :: offset: 0x304, out: 0xd925
+lhu :: offset: 0x306, out: 0x7f25
+lhu :: offset: 0x308, out: 0x3d69
+lhu :: offset: 0x30a, out: 0x625f
+lhu :: offset: 0x30c, out: 0xe9a6
+lhu :: offset: 0x30e, out: 0xdb5b
+lhu :: offset: 0x310, out: 0x70a3
+lhu :: offset: 0x312, out: 0xe042
+lhu :: offset: 0x314, out: 0x4340
+lhu :: offset: 0x316, out: 0xac96
+lhu :: offset: 0x318, out: 0xc047
+lhu :: offset: 0x31a, out: 0x8f03
+lhu :: offset: 0x31c, out: 0x6980
+lhu :: offset: 0x31e, out: 0x171e
+lhu :: offset: 0x320, out: 0x3ce8
+lhu :: offset: 0x322, out: 0x39a5
+lhu :: offset: 0x324, out: 0x1cf9
+lhu :: offset: 0x326, out: 0x29e3
+lhu :: offset: 0x328, out: 0xe2fb
+lhu :: offset: 0x32a, out: 0xfa89
+lhu :: offset: 0x32c, out: 0x5eb6
+lhu :: offset: 0x32e, out: 0x8958
+lhu :: offset: 0x330, out: 0xd24b
+lhu :: offset: 0x332, out: 0xb05d
+lhu :: offset: 0x334, out: 0x76ed
+lhu :: offset: 0x336, out: 0x25b7
+lhu :: offset: 0x338, out: 0xeb9
+lhu :: offset: 0x33a, out: 0x682c
+lhu :: offset: 0x33c, out: 0x1703
+lhu :: offset: 0x33e, out: 0x12f1
+lhu :: offset: 0x340, out: 0x8478
+lhu :: offset: 0x342, out: 0x5280
+lhu :: offset: 0x344, out: 0xdd30
+lhu :: offset: 0x346, out: 0x1d0d
+lhu :: offset: 0x348, out: 0x179c
+lhu :: offset: 0x34a, out: 0x77aa
+lhu :: offset: 0x34c, out: 0x1f8f
+lhu :: offset: 0x34e, out: 0xd6ef
+lhu :: offset: 0x350, out: 0x2644
+lhu :: offset: 0x352, out: 0x4ced
+lhu :: offset: 0x354, out: 0x2998
+lhu :: offset: 0x356, out: 0x436d
+lhu :: offset: 0x358, out: 0x717
+lhu :: offset: 0x35a, out: 0x5c9d
+lhu :: offset: 0x35c, out: 0xd58c
+lhu :: offset: 0x35e, out: 0xa708
+lhu :: offset: 0x360, out: 0x663d
+lhu :: offset: 0x362, out: 0x610
+lhu :: offset: 0x364, out: 0x5583
+lhu :: offset: 0x366, out: 0x3287
+lhu :: offset: 0x368, out: 0xab7d
+lhu :: offset: 0x36a, out: 0xd048
+lhu :: offset: 0x36c, out: 0x8951
+lhu :: offset: 0x36e, out: 0xd68b
+lhu :: offset: 0x370, out: 0xf698
+lhu :: offset: 0x372, out: 0x2367
+lhu :: offset: 0x374, out: 0xe82
+lhu :: offset: 0x376, out: 0x471b
+lhu :: offset: 0x378, out: 0x3688
+lhu :: offset: 0x37a, out: 0x6c59
+lhu :: offset: 0x37c, out: 0xd98d
+lhu :: offset: 0x37e, out: 0x26b2
+lhu :: offset: 0x380, out: 0x9ca
+lhu :: offset: 0x382, out: 0x4bdb
+lhu :: offset: 0x384, out: 0xd32b
+lhu :: offset: 0x386, out: 0xe479
+lhu :: offset: 0x388, out: 0xfd5d
+lhu :: offset: 0x38a, out: 0x7d1d
+lhu :: offset: 0x38c, out: 0x9962
+lhu :: offset: 0x38e, out: 0xe61f
+lhu :: offset: 0x390, out: 0x3f46
+lhu :: offset: 0x392, out: 0x553e
+lhu :: offset: 0x394, out: 0xcad3
+lhu :: offset: 0x396, out: 0x74df
+lhu :: offset: 0x398, out: 0x2e9a
+lhu :: offset: 0x39a, out: 0xb97d
+lhu :: offset: 0x39c, out: 0x3eed
+lhu :: offset: 0x39e, out: 0xf2a7
+lhu :: offset: 0x3a0, out: 0x36a6
+lhu :: offset: 0x3a2, out: 0xf7fa
+lhu :: offset: 0x3a4, out: 0x3c0c
+lhu :: offset: 0x3a6, out: 0x9f33
+lhu :: offset: 0x3a8, out: 0x8bb9
+lhu :: offset: 0x3aa, out: 0x38e3
+lhu :: offset: 0x3ac, out: 0x155e
+lhu :: offset: 0x3ae, out: 0xc9dc
+lhu :: offset: 0x3b0, out: 0xd2df
+lhu :: offset: 0x3b2, out: 0x25c4
+lhu :: offset: 0x3b4, out: 0x1947
+lhu :: offset: 0x3b6, out: 0x8206
+lhu :: offset: 0x3b8, out: 0xbc65
+lhu :: offset: 0x3ba, out: 0xbf27
+lhu :: offset: 0x3bc, out: 0xeb32
+lhu :: offset: 0x3be, out: 0x1825
+lhu :: offset: 0x3c0, out: 0xa8b0
+lhu :: offset: 0x3c2, out: 0x8fe6
+lhu :: offset: 0x3c4, out: 0x7a8b
+lhu :: offset: 0x3c6, out: 0xc7da
+lhu :: offset: 0x3c8, out: 0x852b
+lhu :: offset: 0x3ca, out: 0x5bca
+lhu :: offset: 0x3cc, out: 0xf8df
+lhu :: offset: 0x3ce, out: 0xcde8
+lhu :: offset: 0x3d0, out: 0x478
+lhu :: offset: 0x3d2, out: 0x909b
+lhu :: offset: 0x3d4, out: 0x59a9
+lhu :: offset: 0x3d6, out: 0x9269
+lhu :: offset: 0x3d8, out: 0xbfb3
+lhu :: offset: 0x3da, out: 0x1cc8
+lhu :: offset: 0x3dc, out: 0x7857
+lhu :: offset: 0x3de, out: 0x360f
+lhu :: offset: 0x3e0, out: 0xb665
+lhu :: offset: 0x3e2, out: 0xed5e
+lhu :: offset: 0x3e4, out: 0x7f89
+lhu :: offset: 0x3e6, out: 0xe9a2
+lhu :: offset: 0x3e8, out: 0x15da
+lhu :: offset: 0x3ea, out: 0x9474
+lhu :: offset: 0x3ec, out: 0xb7a8
+lhu :: offset: 0x3ee, out: 0xd5e4
+lhu :: offset: 0x3f0, out: 0xf6b3
+lhu :: offset: 0x3f2, out: 0x537d
+lhu :: offset: 0x3f4, out: 0x2af9
+lhu :: offset: 0x3f6, out: 0xfcc
+lhu :: offset: 0x3f8, out: 0x223d
+lhu :: offset: 0x3fa, out: 0x7cfe
+lhu :: offset: 0x3fc, out: 0x2b96
+lhu :: offset: 0x3fe, out: 0x1897
+lhu :: offset: 0x400, out: 0x420b
+lhu :: offset: 0x402, out: 0x34f5
+lhu :: offset: 0x404, out: 0x3373
+lhu :: offset: 0x406, out: 0x4a4b
+lhu :: offset: 0x408, out: 0x897c
+lhu :: offset: 0x40a, out: 0x8c8d
+lhu :: offset: 0x40c, out: 0xdd46
+lhu :: offset: 0x40e, out: 0xb33c
+lhu :: offset: 0x410, out: 0x7a38
+lhu :: offset: 0x412, out: 0x7445
+lhu :: offset: 0x414, out: 0xe392
+lhu :: offset: 0x416, out: 0xccd9
+lhu :: offset: 0x418, out: 0x512f
+lhu :: offset: 0x41a, out: 0x29b1
+lhu :: offset: 0x41c, out: 0xd800
+lhu :: offset: 0x41e, out: 0xc9
+lhu :: offset: 0x420, out: 0xeade
+lhu :: offset: 0x422, out: 0xd5c5
+lhu :: offset: 0x424, out: 0x3dad
+lhu :: offset: 0x426, out: 0x20a
+lhu :: offset: 0x428, out: 0x8a62
+lhu :: offset: 0x42a, out: 0x29d7
+lhu :: offset: 0x42c, out: 0x31ee
+lhu :: offset: 0x42e, out: 0xa35b
+lhu :: offset: 0x430, out: 0x2c3c
+lhu :: offset: 0x432, out: 0x3f9e
+lhu :: offset: 0x434, out: 0x4898
+lhu :: offset: 0x436, out: 0x5649
+lhu :: offset: 0x438, out: 0x7ff6
+lhu :: offset: 0x43a, out: 0x1e78
+lhu :: offset: 0x43c, out: 0xdc9c
+lhu :: offset: 0x43e, out: 0xb77
+lhu :: offset: 0x440, out: 0x2299
+lhu :: offset: 0x442, out: 0xb0e0
+lhu :: offset: 0x444, out: 0x1d5e
+lhu :: offset: 0x446, out: 0x68ec
+lhu :: offset: 0x448, out: 0x7c3b
+lhu :: offset: 0x44a, out: 0x467
+lhu :: offset: 0x44c, out: 0x3d0c
+lhu :: offset: 0x44e, out: 0x6e25
+lhu :: offset: 0x450, out: 0x164e
+lhu :: offset: 0x452, out: 0x17c1
+lhu :: offset: 0x454, out: 0xe7fb
+lhu :: offset: 0x456, out: 0x6587
+lhu :: offset: 0x458, out: 0xfa4c
+lhu :: offset: 0x45a, out: 0xa28b
+lhu :: offset: 0x45c, out: 0x56d4
+lhu :: offset: 0x45e, out: 0x950b
+lhu :: offset: 0x460, out: 0xe5e9
+lhu :: offset: 0x462, out: 0xa314
+lhu :: offset: 0x464, out: 0xbe7f
+lhu :: offset: 0x466, out: 0xa08a
+lhu :: offset: 0x468, out: 0xf8be
+lhu :: offset: 0x46a, out: 0x8164
+lhu :: offset: 0x46c, out: 0x1596
+lhu :: offset: 0x46e, out: 0x49c5
+lhu :: offset: 0x470, out: 0x7ca3
+lhu :: offset: 0x472, out: 0x2597
+lhu :: offset: 0x474, out: 0x84e6
+lhu :: offset: 0x476, out: 0x9b17
+lhu :: offset: 0x478, out: 0xfc8d
+lhu :: offset: 0x47a, out: 0x543c
+lhu :: offset: 0x47c, out: 0xa1f2
+lhu :: offset: 0x47e, out: 0x4f5c
+lhu :: offset: 0x480, out: 0x4aeb
+lhu :: offset: 0x482, out: 0x6ca0
+lhu :: offset: 0x484, out: 0xe345
+lhu :: offset: 0x486, out: 0x9e36
+lhu :: offset: 0x488, out: 0xc532
+lhu :: offset: 0x48a, out: 0xe18e
+lhu :: offset: 0x48c, out: 0x1879
+lhu :: offset: 0x48e, out: 0x80fa
+lhu :: offset: 0x490, out: 0xb3fd
+lhu :: offset: 0x492, out: 0xec29
+lhu :: offset: 0x494, out: 0x4f28
+lhu :: offset: 0x496, out: 0x7d1c
+lhu :: offset: 0x498, out: 0xb620
+lhu :: offset: 0x49a, out: 0x660a
+lhu :: offset: 0x49c, out: 0x4973
+lhu :: offset: 0x49e, out: 0x2b90
+lhu :: offset: 0x4a0, out: 0x9931
+lhu :: offset: 0x4a2, out: 0x38f1
+lhu :: offset: 0x4a4, out: 0x6cfd
+lhu :: offset: 0x4a6, out: 0xe991
+lhu :: offset: 0x4a8, out: 0xde02
+lhu :: offset: 0x4aa, out: 0xd133
+lhu :: offset: 0x4ac, out: 0x7d54
+lhu :: offset: 0x4ae, out: 0x7b9
+lhu :: offset: 0x4b0, out: 0x13a3
+lhu :: offset: 0x4b2, out: 0x90e1
+lhu :: offset: 0x4b4, out: 0xe1da
+lhu :: offset: 0x4b6, out: 0xb15a
+lhu :: offset: 0x4b8, out: 0x7434
+lhu :: offset: 0x4ba, out: 0x91a6
+lhu :: offset: 0x4bc, out: 0x8287
+lhu :: offset: 0x4be, out: 0x16c8
+lhu :: offset: 0x4c0, out: 0x8cff
+lhu :: offset: 0x4c2, out: 0x404a
+lhu :: offset: 0x4c4, out: 0xede2
+lhu :: offset: 0x4c6, out: 0x92f2
+lhu :: offset: 0x4c8, out: 0xb9ce
+lhu :: offset: 0x4ca, out: 0xc0db
+lhu :: offset: 0x4cc, out: 0x1f83
+lhu :: offset: 0x4ce, out: 0x7636
+lhu :: offset: 0x4d0, out: 0x2eaa
+lhu :: offset: 0x4d2, out: 0x5aa7
+lhu :: offset: 0x4d4, out: 0x509
+lhu :: offset: 0x4d6, out: 0x771c
+lhu :: offset: 0x4d8, out: 0xd327
+lhu :: offset: 0x4da, out: 0x538e
+lhu :: offset: 0x4dc, out: 0x1875
+lhu :: offset: 0x4de, out: 0x241b
+lhu :: offset: 0x4e0, out: 0x42e9
+lhu :: offset: 0x4e2, out: 0xf854
+lhu :: offset: 0x4e4, out: 0x8b73
+lhu :: offset: 0x4e6, out: 0x9b6b
+lhu :: offset: 0x4e8, out: 0x78e4
+lhu :: offset: 0x4ea, out: 0xe50c
+lhu :: offset: 0x4ec, out: 0xeccb
+lhu :: offset: 0x4ee, out: 0xba1a
+lhu :: offset: 0x4f0, out: 0xf6b6
+lhu :: offset: 0x4f2, out: 0xfa3f
+lhu :: offset: 0x4f4, out: 0xcd9d
+lhu :: offset: 0x4f6, out: 0x27cb
+lhu :: offset: 0x4f8, out: 0x7391
+lhu :: offset: 0x4fa, out: 0x6483
+lhu :: offset: 0x4fc, out: 0xae3e
+lhu :: offset: 0x4fe, out: 0x9423
+lhu :: offset: 0x500, out: 0x276a
+lhu :: offset: 0x502, out: 0xf70a
+lhu :: offset: 0x504, out: 0xe12
+lhu :: offset: 0x506, out: 0x8561
+lhu :: offset: 0x508, out: 0x304
+lhu :: offset: 0x50a, out: 0x5bf6
+lhu :: offset: 0x50c, out: 0xb5e7
+lhu :: offset: 0x50e, out: 0x4b6e
+lhu :: offset: 0x510, out: 0x2022
+lhu :: offset: 0x512, out: 0x3f13
+lhu :: offset: 0x514, out: 0x8ac
+lhu :: offset: 0x516, out: 0xcfa6
+lhu :: offset: 0x518, out: 0xf83c
+lhu :: offset: 0x51a, out: 0x5574
+lhu :: offset: 0x51c, out: 0x3976
+lhu :: offset: 0x51e, out: 0xb5f5
+lhu :: offset: 0x520, out: 0x1f97
+lhu :: offset: 0x522, out: 0x20f9
+lhu :: offset: 0x524, out: 0x4692
+lhu :: offset: 0x526, out: 0x3c3d
+lhu :: offset: 0x528, out: 0x620d
+lhu :: offset: 0x52a, out: 0x2850
+lhu :: offset: 0x52c, out: 0x6d24
+lhu :: offset: 0x52e, out: 0x48dd
+lhu :: offset: 0x530, out: 0x60a5
+lhu :: offset: 0x532, out: 0x21e9
+lhu :: offset: 0x534, out: 0x9ff4
+lhu :: offset: 0x536, out: 0xa732
+lhu :: offset: 0x538, out: 0x5a08
+lhu :: offset: 0x53a, out: 0xf3ab
+lhu :: offset: 0x53c, out: 0x5c68
+lhu :: offset: 0x53e, out: 0xf0b
+lhu :: offset: 0x540, out: 0xc7a5
+lhu :: offset: 0x542, out: 0x9be7
+lhu :: offset: 0x544, out: 0x800f
+lhu :: offset: 0x546, out: 0x3d26
+lhu :: offset: 0x548, out: 0x1aec
+lhu :: offset: 0x54a, out: 0xdf29
+lhu :: offset: 0x54c, out: 0x82ca
+lhu :: offset: 0x54e, out: 0x1b41
+lhu :: offset: 0x550, out: 0x2b86
+lhu :: offset: 0x552, out: 0x13a2
+lhu :: offset: 0x554, out: 0x60d1
+lhu :: offset: 0x556, out: 0x9dcd
+lhu :: offset: 0x558, out: 0x2518
+lhu :: offset: 0x55a, out: 0xac8b
+lhu :: offset: 0x55c, out: 0xe8b
+lhu :: offset: 0x55e, out: 0xbe7f
+lhu :: offset: 0x560, out: 0x743e
+lhu :: offset: 0x562, out: 0x568d
+lhu :: offset: 0x564, out: 0x2fcf
+lhu :: offset: 0x566, out: 0x486b
+lhu :: offset: 0x568, out: 0x126f
+lhu :: offset: 0x56a, out: 0x646f
+lhu :: offset: 0x56c, out: 0x34c3
+lhu :: offset: 0x56e, out: 0x1728
+lhu :: offset: 0x570, out: 0xaab0
+lhu :: offset: 0x572, out: 0x1961
+lhu :: offset: 0x574, out: 0x56fc
+lhu :: offset: 0x576, out: 0x4d12
+lhu :: offset: 0x578, out: 0x7535
+lhu :: offset: 0x57a, out: 0xcd33
+lhu :: offset: 0x57c, out: 0x8595
+lhu :: offset: 0x57e, out: 0xd342
+lhu :: offset: 0x580, out: 0xdfb2
+lhu :: offset: 0x582, out: 0x54da
+lhu :: offset: 0x584, out: 0x4223
+lhu :: offset: 0x586, out: 0x46ec
+lhu :: offset: 0x588, out: 0xa867
+lhu :: offset: 0x58a, out: 0x26c9
+lhu :: offset: 0x58c, out: 0x81
+lhu :: offset: 0x58e, out: 0xab2a
+lhu :: offset: 0x590, out: 0x9bfe
+lhu :: offset: 0x592, out: 0xffa1
+lhu :: offset: 0x594, out: 0x679d
+lhu :: offset: 0x596, out: 0x7438
+lhu :: offset: 0x598, out: 0xc769
+lhu :: offset: 0x59a, out: 0x9826
+lhu :: offset: 0x59c, out: 0xb7de
+lhu :: offset: 0x59e, out: 0xe244
+lhu :: offset: 0x5a0, out: 0x3c07
+lhu :: offset: 0x5a2, out: 0xaf97
+lhu :: offset: 0x5a4, out: 0xfba6
+lhu :: offset: 0x5a6, out: 0x704a
+lhu :: offset: 0x5a8, out: 0x5213
+lhu :: offset: 0x5aa, out: 0x64dc
+lhu :: offset: 0x5ac, out: 0x4c5
+lhu :: offset: 0x5ae, out: 0x8bfe
+lhu :: offset: 0x5b0, out: 0xe0f7
+lhu :: offset: 0x5b2, out: 0xbb58
+lhu :: offset: 0x5b4, out: 0x9ab7
+lhu :: offset: 0x5b6, out: 0xaebc
+lhu :: offset: 0x5b8, out: 0xe336
+lhu :: offset: 0x5ba, out: 0xc60c
+lhu :: offset: 0x5bc, out: 0xdeeb
+lhu :: offset: 0x5be, out: 0x954d
+lhu :: offset: 0x5c0, out: 0xd5b2
+lhu :: offset: 0x5c2, out: 0x120c
+lhu :: offset: 0x5c4, out: 0x6f52
+lhu :: offset: 0x5c6, out: 0x416e
+lhu :: offset: 0x5c8, out: 0x85a2
+lhu :: offset: 0x5ca, out: 0xd4ff
+lhu :: offset: 0x5cc, out: 0x7e62
+lhu :: offset: 0x5ce, out: 0x8a34
+lhu :: offset: 0x5d0, out: 0x986a
+lhu :: offset: 0x5d2, out: 0x2b65
+lhu :: offset: 0x5d4, out: 0x4a4e
+lhu :: offset: 0x5d6, out: 0x7e07
+lhu :: offset: 0x5d8, out: 0xa974
+lhu :: offset: 0x5da, out: 0xeac4
+lhu :: offset: 0x5dc, out: 0x3a48
+lhu :: offset: 0x5de, out: 0x9b55
+lhu :: offset: 0x5e0, out: 0xa388
+lhu :: offset: 0x5e2, out: 0xc162
+lhu :: offset: 0x5e4, out: 0x72f1
+lhu :: offset: 0x5e6, out: 0xf8f5
+lhu :: offset: 0x5e8, out: 0xe8c1
+lhu :: offset: 0x5ea, out: 0x1f45
+lhu :: offset: 0x5ec, out: 0xe749
+lhu :: offset: 0x5ee, out: 0x5ea9
+lhu :: offset: 0x5f0, out: 0xadaa
+lhu :: offset: 0x5f2, out: 0x5a76
+lhu :: offset: 0x5f4, out: 0x5cc1
+lhu :: offset: 0x5f6, out: 0xc8b4
+lhu :: offset: 0x5f8, out: 0x7ab4
+lhu :: offset: 0x5fa, out: 0xce88
+lhu :: offset: 0x5fc, out: 0xdfa6
+lhu :: offset: 0x5fe, out: 0x5c0
+lhu :: offset: 0x600, out: 0xb42a
+lhu :: offset: 0x602, out: 0xd6e6
+lhu :: offset: 0x604, out: 0x59a7
+lhu :: offset: 0x606, out: 0xb04f
+lhu :: offset: 0x608, out: 0x4bf8
+lhu :: offset: 0x60a, out: 0x485a
+lhu :: offset: 0x60c, out: 0xb728
+lhu :: offset: 0x60e, out: 0x922f
+lhu :: offset: 0x610, out: 0x76a3
+lhu :: offset: 0x612, out: 0xd60c
+lhu :: offset: 0x614, out: 0x3b66
+lhu :: offset: 0x616, out: 0xa7fb
+lhu :: offset: 0x618, out: 0x31e0
+lhu :: offset: 0x61a, out: 0xc6af
+lhu :: offset: 0x61c, out: 0xfdc2
+lhu :: offset: 0x61e, out: 0x8eda
+lhu :: offset: 0x620, out: 0x5360
+lhu :: offset: 0x622, out: 0x6bb4
+lhu :: offset: 0x624, out: 0xbf0c
+lhu :: offset: 0x626, out: 0x999d
+lhu :: offset: 0x628, out: 0x32fc
+lhu :: offset: 0x62a, out: 0x12c8
+lhu :: offset: 0x62c, out: 0x1b79
+lhu :: offset: 0x62e, out: 0x19f0
+lhu :: offset: 0x630, out: 0x3ef8
+lhu :: offset: 0x632, out: 0x8384
+lhu :: offset: 0x634, out: 0xc72e
+lhu :: offset: 0x636, out: 0xfcd6
+lhu :: offset: 0x638, out: 0x38b1
+lhu :: offset: 0x63a, out: 0xc7bb
+lhu :: offset: 0x63c, out: 0x6a2a
+lhu :: offset: 0x63e, out: 0x3580
+lhu :: offset: 0x640, out: 0x15eb
+lhu :: offset: 0x642, out: 0xf612
+lhu :: offset: 0x644, out: 0x1dca
+lhu :: offset: 0x646, out: 0x77c9
+lhu :: offset: 0x648, out: 0x5eaa
+lhu :: offset: 0x64a, out: 0xcdd9
+lhu :: offset: 0x64c, out: 0xfd91
+lhu :: offset: 0x64e, out: 0x47ae
+lhu :: offset: 0x650, out: 0xbb84
+lhu :: offset: 0x652, out: 0x70f9
+lhu :: offset: 0x654, out: 0x81e9
+lhu :: offset: 0x656, out: 0x1117
+lhu :: offset: 0x658, out: 0x5d4
+lhu :: offset: 0x65a, out: 0x2aea
+lhu :: offset: 0x65c, out: 0xc6a5
+lhu :: offset: 0x65e, out: 0x32e0
+lhu :: offset: 0x660, out: 0x14ab
+lhu :: offset: 0x662, out: 0xf364
+lhu :: offset: 0x664, out: 0x19fb
+lhu :: offset: 0x666, out: 0x9e63
+lhu :: offset: 0x668, out: 0x249d
+lhu :: offset: 0x66a, out: 0x559a
+lhu :: offset: 0x66c, out: 0xa8d7
+lhu :: offset: 0x66e, out: 0x2aac
+lhu :: offset: 0x670, out: 0xcd6
+lhu :: offset: 0x672, out: 0x764f
+lhu :: offset: 0x674, out: 0x84b
+lhu :: offset: 0x676, out: 0x30ec
+lhu :: offset: 0x678, out: 0x7f03
+lhu :: offset: 0x67a, out: 0xac07
+lhu :: offset: 0x67c, out: 0x9246
+lhu :: offset: 0x67e, out: 0x8fdf
+lhu :: offset: 0x680, out: 0x7e35
+lhu :: offset: 0x682, out: 0xce6d
+lhu :: offset: 0x684, out: 0x56e6
+lhu :: offset: 0x686, out: 0x70f5
+lhu :: offset: 0x688, out: 0x1528
+lhu :: offset: 0x68a, out: 0x2859
+lhu :: offset: 0x68c, out: 0x1a65
+lhu :: offset: 0x68e, out: 0x2711
+lhu :: offset: 0x690, out: 0x9e1c
+lhu :: offset: 0x692, out: 0x3283
+lhu :: offset: 0x694, out: 0xd215
+lhu :: offset: 0x696, out: 0xa9fb
+lhu :: offset: 0x698, out: 0x8d95
+lhu :: offset: 0x69a, out: 0xc049
+lhu :: offset: 0x69c, out: 0x282a
+lhu :: offset: 0x69e, out: 0x417
+lhu :: offset: 0x6a0, out: 0xf2e7
+lhu :: offset: 0x6a2, out: 0xa490
+lhu :: offset: 0x6a4, out: 0x9780
+lhu :: offset: 0x6a6, out: 0x58f3
+lhu :: offset: 0x6a8, out: 0x775b
+lhu :: offset: 0x6aa, out: 0x4cca
+lhu :: offset: 0x6ac, out: 0x975
+lhu :: offset: 0x6ae, out: 0xb1aa
+lhu :: offset: 0x6b0, out: 0xa2b
+lhu :: offset: 0x6b2, out: 0x84a6
+lhu :: offset: 0x6b4, out: 0x3511
+lhu :: offset: 0x6b6, out: 0x1020
+lhu :: offset: 0x6b8, out: 0x23f
+lhu :: offset: 0x6ba, out: 0xa0d3
+lhu :: offset: 0x6bc, out: 0xa7d8
+lhu :: offset: 0x6be, out: 0x8b6f
+lhu :: offset: 0x6c0, out: 0xa3d9
+lhu :: offset: 0x6c2, out: 0x91b7
+lhu :: offset: 0x6c4, out: 0x9941
+lhu :: offset: 0x6c6, out: 0xdedd
+lhu :: offset: 0x6c8, out: 0x751c
+lhu :: offset: 0x6ca, out: 0xb483
+lhu :: offset: 0x6cc, out: 0x5a0d
+lhu :: offset: 0x6ce, out: 0x9508
+lhu :: offset: 0x6d0, out: 0x949c
+lhu :: offset: 0x6d2, out: 0xad35
+lhu :: offset: 0x6d4, out: 0x625b
+lhu :: offset: 0x6d6, out: 0xb2d3
+lhu :: offset: 0x6d8, out: 0x7f56
+lhu :: offset: 0x6da, out: 0x7f35
+lhu :: offset: 0x6dc, out: 0xa692
+lhu :: offset: 0x6de, out: 0x9739
+lhu :: offset: 0x6e0, out: 0x185b
+lhu :: offset: 0x6e2, out: 0x88e0
+lhu :: offset: 0x6e4, out: 0xdb8d
+lhu :: offset: 0x6e6, out: 0x7d27
+lhu :: offset: 0x6e8, out: 0x255a
+lhu :: offset: 0x6ea, out: 0x4cd2
+lhu :: offset: 0x6ec, out: 0x2fd6
+lhu :: offset: 0x6ee, out: 0x1b91
+lhu :: offset: 0x6f0, out: 0x1048
+lhu :: offset: 0x6f2, out: 0xd589
+lhu :: offset: 0x6f4, out: 0xa436
+lhu :: offset: 0x6f6, out: 0x3f7b
+lhu :: offset: 0x6f8, out: 0x6a6d
+lhu :: offset: 0x6fa, out: 0x5708
+lhu :: offset: 0x6fc, out: 0xf460
+lhu :: offset: 0x6fe, out: 0x5790
+lhu :: offset: 0x700, out: 0xd58e
+lhu :: offset: 0x702, out: 0xcbab
+lhu :: offset: 0x704, out: 0xde35
+lhu :: offset: 0x706, out: 0x697f
+lhu :: offset: 0x708, out: 0x5755
+lhu :: offset: 0x70a, out: 0x48fd
+lhu :: offset: 0x70c, out: 0x8c0
+lhu :: offset: 0x70e, out: 0xa5f1
+lhu :: offset: 0x710, out: 0x8bb6
+lhu :: offset: 0x712, out: 0x40fb
+lhu :: offset: 0x714, out: 0x8ed9
+lhu :: offset: 0x716, out: 0x8ddb
+lhu :: offset: 0x718, out: 0xbe00
+lhu :: offset: 0x71a, out: 0xd51e
+lhu :: offset: 0x71c, out: 0xabc5
+lhu :: offset: 0x71e, out: 0x78cc
+lhu :: offset: 0x720, out: 0x2f7e
+lhu :: offset: 0x722, out: 0x224a
+lhu :: offset: 0x724, out: 0x1c17
+lhu :: offset: 0x726, out: 0xab2
+lhu :: offset: 0x728, out: 0xa978
+lhu :: offset: 0x72a, out: 0xf12c
+lhu :: offset: 0x72c, out: 0xa222
+lhu :: offset: 0x72e, out: 0x56a7
+lhu :: offset: 0x730, out: 0x9950
+lhu :: offset: 0x732, out: 0xa93b
+lhu :: offset: 0x734, out: 0x811e
+lhu :: offset: 0x736, out: 0xe02f
+lhu :: offset: 0x738, out: 0xb44e
+lhu :: offset: 0x73a, out: 0xea93
+lhu :: offset: 0x73c, out: 0xc679
+lhu :: offset: 0x73e, out: 0x6a0c
+lhu :: offset: 0x740, out: 0xfe71
+lhu :: offset: 0x742, out: 0xfca0
+lhu :: offset: 0x744, out: 0x6c0e
+lhu :: offset: 0x746, out: 0xb657
+lhu :: offset: 0x748, out: 0x4ed6
+lhu :: offset: 0x74a, out: 0x393d
+lhu :: offset: 0x74c, out: 0xf818
+lhu :: offset: 0x74e, out: 0xaf57
+lhu :: offset: 0x750, out: 0xf22e
+lhu :: offset: 0x752, out: 0x9020
+lhu :: offset: 0x754, out: 0x236
+lhu :: offset: 0x756, out: 0x770a
+lhu :: offset: 0x758, out: 0x81ef
+lhu :: offset: 0x75a, out: 0xb6c7
+lhu :: offset: 0x75c, out: 0xafd0
+lhu :: offset: 0x75e, out: 0xc45d
+lhu :: offset: 0x760, out: 0xeed8
+lhu :: offset: 0x762, out: 0xf351
+lhu :: offset: 0x764, out: 0x8102
+lhu :: offset: 0x766, out: 0x315b
+lhu :: offset: 0x768, out: 0xadaf
+lhu :: offset: 0x76a, out: 0xefb9
+lhu :: offset: 0x76c, out: 0x995e
+lhu :: offset: 0x76e, out: 0xfd5e
+lhu :: offset: 0x770, out: 0x3406
+lhu :: offset: 0x772, out: 0x1933
+lhu :: offset: 0x774, out: 0xeb25
+lhu :: offset: 0x776, out: 0x3086
+lhu :: offset: 0x778, out: 0x1748
+lhu :: offset: 0x77a, out: 0xda26
+lhu :: offset: 0x77c, out: 0x4b4c
+lhu :: offset: 0x77e, out: 0x52bc
+lhu :: offset: 0x780, out: 0x34fd
+lhu :: offset: 0x782, out: 0xfc9a
+lhu :: offset: 0x784, out: 0x9302
+lhu :: offset: 0x786, out: 0xbe89
+lhu :: offset: 0x788, out: 0xd002
+lhu :: offset: 0x78a, out: 0x78c3
+lhu :: offset: 0x78c, out: 0xc521
+lhu :: offset: 0x78e, out: 0xd180
+lhu :: offset: 0x790, out: 0xe909
+lhu :: offset: 0x792, out: 0x44a4
+lhu :: offset: 0x794, out: 0xc1d3
+lhu :: offset: 0x796, out: 0x7a5d
+lhu :: offset: 0x798, out: 0x65fd
+lhu :: offset: 0x79a, out: 0x698f
+lhu :: offset: 0x79c, out: 0xddef
+lhu :: offset: 0x79e, out: 0x9839
+lhu :: offset: 0x7a0, out: 0xc49e
+lhu :: offset: 0x7a2, out: 0xe3ad
+lhu :: offset: 0x7a4, out: 0x81b5
+lhu :: offset: 0x7a6, out: 0xaf52
+lhu :: offset: 0x7a8, out: 0x7aa9
+lhu :: offset: 0x7aa, out: 0x41e8
+lhu :: offset: 0x7ac, out: 0xbdb2
+lhu :: offset: 0x7ae, out: 0x63e9
+lhu :: offset: 0x7b0, out: 0x372c
+lhu :: offset: 0x7b2, out: 0x209e
+lhu :: offset: 0x7b4, out: 0x42f3
+lhu :: offset: 0x7b6, out: 0xb58d
+lhu :: offset: 0x7b8, out: 0x30f8
+lhu :: offset: 0x7ba, out: 0x70b7
+lhu :: offset: 0x7bc, out: 0xe122
+lhu :: offset: 0x7be, out: 0xa83b
+lhu :: offset: 0x7c0, out: 0x9e02
+lhu :: offset: 0x7c2, out: 0xde4b
+lhu :: offset: 0x7c4, out: 0x6789
+lhu :: offset: 0x7c6, out: 0x30ec
+lhu :: offset: 0x7c8, out: 0xcd61
+lhu :: offset: 0x7ca, out: 0xa863
+lhu :: offset: 0x7cc, out: 0x9826
+lhu :: offset: 0x7ce, out: 0x631e
+lhu :: offset: 0x7d0, out: 0xae87
+lhu :: offset: 0x7d2, out: 0xbc89
+lhu :: offset: 0x7d4, out: 0x9a7b
+lhu :: offset: 0x7d6, out: 0xd3ca
+lhu :: offset: 0x7d8, out: 0x58ec
+lhu :: offset: 0x7da, out: 0x644d
+lhu :: offset: 0x7dc, out: 0x6481
+lhu :: offset: 0x7de, out: 0xaf17
+lhu :: offset: 0x7e0, out: 0x680c
+lhu :: offset: 0x7e2, out: 0xce5f
+lhu :: offset: 0x7e4, out: 0xb236
+lhu :: offset: 0x7e6, out: 0xb666
+lhu :: offset: 0x7e8, out: 0x3baa
+lhu :: offset: 0x7ea, out: 0x9947
+lhu :: offset: 0x7ec, out: 0x1f6d
+lhu :: offset: 0x7ee, out: 0x4d75
+lhu :: offset: 0x7f0, out: 0x614d
+lhu :: offset: 0x7f2, out: 0x9b44
+lhu :: offset: 0x7f4, out: 0x5f12
+lhu :: offset: 0x7f6, out: 0x236b
+lhu :: offset: 0x7f8, out: 0xa2a6
+lhu :: offset: 0x7fa, out: 0xec66
+lhu :: offset: 0x7fc, out: 0x1ba8
+lhu :: offset: 0x7fe, out: 0x4121
+lw :: offset: 0x0, out: 0x0
+lw :: offset: 0x4, out: 0x0
+lw :: offset: 0x8, out: 0x9823b6e
+lw :: offset: 0xc, out: 0xd4326d9
+lw :: offset: 0x10, out: 0x130476dc
+lw :: offset: 0x14, out: 0x17c56b6b
+lw :: offset: 0x18, out: 0x1a864db2
+lw :: offset: 0x1c, out: 0x1e475005
+lw :: offset: 0x20, out: 0x2608edb8
+lw :: offset: 0x24, out: 0x22c9f00f
+lw :: offset: 0x28, out: 0x2f8ad6d6
+lw :: offset: 0x2c, out: 0x2b4bcb61
+lw :: offset: 0x30, out: 0x350c9b64
+lw :: offset: 0x34, out: 0x31cd86d3
+lw :: offset: 0x38, out: 0x3c8ea00a
+lw :: offset: 0x3c, out: 0x384fbdbd
+lw :: offset: 0x40, out: 0x4c11db70
+lw :: offset: 0x44, out: 0x48d0c6c7
+lw :: offset: 0x48, out: 0x4593e01e
+lw :: offset: 0x4c, out: 0x4152fda9
+lw :: offset: 0x50, out: 0x5f15adac
+lw :: offset: 0x54, out: 0x5bd4b01b
+lw :: offset: 0x58, out: 0x569796c2
+lw :: offset: 0x5c, out: 0x52568b75
+lw :: offset: 0x60, out: 0x6a1936c8
+lw :: offset: 0x64, out: 0x6ed82b7f
+lw :: offset: 0x68, out: 0x639b0da6
+lw :: offset: 0x6c, out: 0x675a1011
+lw :: offset: 0x70, out: 0x791d4014
+lw :: offset: 0x74, out: 0x7ddc5da3
+lw :: offset: 0x78, out: 0x709f7b7a
+lw :: offset: 0x7c, out: 0x745e66cd
+lw :: offset: 0x80, out: 0xffffffff9823b6e0
+lw :: offset: 0x84, out: 0xffffffff9ce2ab57
+lw :: offset: 0x88, out: 0xffffffff91a18d8e
+lw :: offset: 0x8c, out: 0xffffffff95609039
+lw :: offset: 0x90, out: 0xffffffff8b27c03c
+lw :: offset: 0x94, out: 0xffffffff8fe6dd8b
+lw :: offset: 0x98, out: 0xffffffff82a5fb52
+lw :: offset: 0x9c, out: 0xffffffff8664e6e5
+lw :: offset: 0xa0, out: 0xffffffffbe2b5b58
+lw :: offset: 0xa4, out: 0xffffffffbaea46ef
+lw :: offset: 0xa8, out: 0xffffffffb7a96036
+lw :: offset: 0xac, out: 0xffffffffb3687d81
+lw :: offset: 0xb0, out: 0xffffffffad2f2d84
+lw :: offset: 0xb4, out: 0xffffffffa9ee3033
+lw :: offset: 0xb8, out: 0xffffffffa4ad16ea
+lw :: offset: 0xbc, out: 0xffffffffa06c0b5d
+lw :: offset: 0xc0, out: 0xffffffffd4326d90
+lw :: offset: 0xc4, out: 0xffffffffd0f37027
+lw :: offset: 0xc8, out: 0xffffffffddb056fe
+lw :: offset: 0xcc, out: 0xffffffffd9714b49
+lw :: offset: 0xd0, out: 0xffffffffc7361b4c
+lw :: offset: 0xd4, out: 0xffffffffc3f706fb
+lw :: offset: 0xd8, out: 0xffffffffceb42022
+lw :: offset: 0xdc, out: 0xffffffffca753d95
+lw :: offset: 0xe0, out: 0xfffffffff23a8028
+lw :: offset: 0xe4, out: 0xfffffffff6fb9d9f
+lw :: offset: 0xe8, out: 0xfffffffffbb8bb46
+lw :: offset: 0xec, out: 0xffffffffff79a6f1
+lw :: offset: 0xf0, out: 0xffffffffe13ef6f4
+lw :: offset: 0xf4, out: 0xffffffffe5ffeb43
+lw :: offset: 0xf8, out: 0xffffffffe8bccd9a
+lw :: offset: 0xfc, out: 0xffffffffec7dd02d
+lw :: offset: 0x100, out: 0x34867077
+lw :: offset: 0x104, out: 0x30476dc0
+lw :: offset: 0x108, out: 0x3d044b19
+lw :: offset: 0x10c, out: 0x39c556ae
+lw :: offset: 0x110, out: 0x278206ab
+lw :: offset: 0x114, out: 0x23431b1c
+lw :: offset: 0x118, out: 0x2e003dc5
+lw :: offset: 0x11c, out: 0x2ac12072
+lw :: offset: 0x120, out: 0x128e9dcf
+lw :: offset: 0x124, out: 0x164f8078
+lw :: offset: 0x128, out: 0x1b0ca6a1
+lw :: offset: 0x12c, out: 0x1fcdbb16
+lw :: offset: 0x130, out: 0x18aeb13
+lw :: offset: 0x134, out: 0x54bf6a4
+lw :: offset: 0x138, out: 0x808d07d
+lw :: offset: 0x13c, out: 0xcc9cdca
+lw :: offset: 0x140, out: 0x7897ab07
+lw :: offset: 0x144, out: 0x7c56b6b0
+lw :: offset: 0x148, out: 0x71159069
+lw :: offset: 0x14c, out: 0x75d48dde
+lw :: offset: 0x150, out: 0x6b93dddb
+lw :: offset: 0x154, out: 0x6f52c06c
+lw :: offset: 0x158, out: 0x6211e6b5
+lw :: offset: 0x15c, out: 0x66d0fb02
+lw :: offset: 0x160, out: 0x5e9f46bf
+lw :: offset: 0x164, out: 0x5a5e5b08
+lw :: offset: 0x168, out: 0x571d7dd1
+lw :: offset: 0x16c, out: 0x53dc6066
+lw :: offset: 0x170, out: 0x4d9b3063
+lw :: offset: 0x174, out: 0x495a2dd4
+lw :: offset: 0x178, out: 0x44190b0d
+lw :: offset: 0x17c, out: 0x40d816ba
+lw :: offset: 0x180, out: 0xffffffffaca5c697
+lw :: offset: 0x184, out: 0xffffffffa864db20
+lw :: offset: 0x188, out: 0xffffffffa527fdf9
+lw :: offset: 0x18c, out: 0xffffffffa1e6e04e
+lw :: offset: 0x190, out: 0xffffffffbfa1b04b
+lw :: offset: 0x194, out: 0xffffffffbb60adfc
+lw :: offset: 0x198, out: 0xffffffffb6238b25
+lw :: offset: 0x19c, out: 0xffffffffb2e29692
+lw :: offset: 0x1a0, out: 0xffffffff8aad2b2f
+lw :: offset: 0x1a4, out: 0x0
+lw :: offset: 0x1a8, out: 0x0
+lw :: offset: 0x1ac, out: 0xffffffff87ee0df6
+lw :: offset: 0x1b0, out: 0xffffffff99a95df3
+lw :: offset: 0x1b4, out: 0xffffffff9d684044
+lw :: offset: 0x1b8, out: 0xffffffff902b669d
+lw :: offset: 0x1bc, out: 0xffffffff94ea7b2a
+lw :: offset: 0x1c0, out: 0xffffffffe0b41de7
+lw :: offset: 0x1c4, out: 0xffffffffe4750050
+lw :: offset: 0x1c8, out: 0xffffffffe9362689
+lw :: offset: 0x1cc, out: 0xffffffffedf73b3e
+lw :: offset: 0x1d0, out: 0xfffffffff3b06b3b
+lw :: offset: 0x1d4, out: 0xfffffffff771768c
+lw :: offset: 0x1d8, out: 0xfffffffffa325055
+lw :: offset: 0x1dc, out: 0xfffffffffef34de2
+lw :: offset: 0x1e0, out: 0xffffffffc6bcf05f
+lw :: offset: 0x1e4, out: 0xffffffffc27dede8
+lw :: offset: 0x1e8, out: 0xffffffffcf3ecb31
+lw :: offset: 0x1ec, out: 0xffffffffcbffd686
+lw :: offset: 0x1f0, out: 0xffffffffd5b88683
+lw :: offset: 0x1f4, out: 0xffffffffd1799b34
+lw :: offset: 0x1f8, out: 0xffffffffdc3abded
+lw :: offset: 0x1fc, out: 0xffffffffd8fba05a
+lw :: offset: 0x200, out: 0x690ce0ee
+lw :: offset: 0x204, out: 0x6dcdfd59
+lw :: offset: 0x208, out: 0x608edb80
+lw :: offset: 0x20c, out: 0x644fc637
+lw :: offset: 0x210, out: 0x7a089632
+lw :: offset: 0x214, out: 0x7ec98b85
+lw :: offset: 0x218, out: 0x738aad5c
+lw :: offset: 0x21c, out: 0x774bb0eb
+lw :: offset: 0x220, out: 0x4f040d56
+lw :: offset: 0x224, out: 0x4bc510e1
+lw :: offset: 0x228, out: 0x46863638
+lw :: offset: 0x22c, out: 0x42472b8f
+lw :: offset: 0x230, out: 0x5c007b8a
+lw :: offset: 0x234, out: 0x58c1663d
+lw :: offset: 0x238, out: 0x558240e4
+lw :: offset: 0x23c, out: 0x51435d53
+lw :: offset: 0x240, out: 0x251d3b9e
+lw :: offset: 0x244, out: 0x21dc2629
+lw :: offset: 0x248, out: 0x2c9f00f0
+lw :: offset: 0x24c, out: 0x285e1d47
+lw :: offset: 0x250, out: 0x36194d42
+lw :: offset: 0x254, out: 0x32d850f5
+lw :: offset: 0x258, out: 0x3f9b762c
+lw :: offset: 0x25c, out: 0x3b5a6b9b
+lw :: offset: 0x260, out: 0x315d626
+lw :: offset: 0x264, out: 0x7d4cb91
+lw :: offset: 0x268, out: 0xa97ed48
+lw :: offset: 0x26c, out: 0xe56f0ff
+lw :: offset: 0x270, out: 0x1011a0fa
+lw :: offset: 0x274, out: 0x14d0bd4d
+lw :: offset: 0x278, out: 0x19939b94
+lw :: offset: 0x27c, out: 0x1d528623
+lw :: offset: 0x280, out: 0xfffffffff12f560e
+lw :: offset: 0x284, out: 0xfffffffff5ee4bb9
+lw :: offset: 0x288, out: 0xfffffffff8ad6d60
+lw :: offset: 0x28c, out: 0xfffffffffc6c70d7
+lw :: offset: 0x290, out: 0xffffffffe22b20d2
+lw :: offset: 0x294, out: 0xffffffffe6ea3d65
+lw :: offset: 0x298, out: 0xffffffffeba91bbc
+lw :: offset: 0x29c, out: 0xffffffffef68060b
+lw :: offset: 0x2a0, out: 0xffffffffd727bbb6
+lw :: offset: 0x2a4, out: 0xffffffffd3e6a601
+lw :: offset: 0x2a8, out: 0xffffffffdea580d8
+lw :: offset: 0x2ac, out: 0xffffffffda649d6f
+lw :: offset: 0x2b0, out: 0xffffffffc423cd6a
+lw :: offset: 0x2b4, out: 0x0
+lw :: offset: 0x2b8, out: 0xffffffffcda1f604
+lw :: offset: 0x2bc, out: 0x0
+lw :: offset: 0x2c0, out: 0xffffffffbd3e8d7e
+lw :: offset: 0x2c4, out: 0xffffffffb9ff90c9
+lw :: offset: 0x2c8, out: 0xffffffffb4bcb610
+lw :: offset: 0x2cc, out: 0xffffffffb07daba7
+lw :: offset: 0x2d0, out: 0xffffffffae3afba2
+lw :: offset: 0x2d4, out: 0xffffffffaafbe615
+lw :: offset: 0x2d8, out: 0xffffffffa7b8c0cc
+lw :: offset: 0x2dc, out: 0xffffffffa379dd7b
+lw :: offset: 0x2e0, out: 0xffffffff9b3660c6
+lw :: offset: 0x2e4, out: 0xffffffff9ff77d71
+lw :: offset: 0x2e8, out: 0xffffffff92b45ba8
+lw :: offset: 0x2ec, out: 0xffffffff9675461f
+lw :: offset: 0x2f0, out: 0xffffffff8832161a
+lw :: offset: 0x2f4, out: 0xffffffff8cf30bad
+lw :: offset: 0x2f8, out: 0xffffffff81b02d74
+lw :: offset: 0x2fc, out: 0xffffffff857130c3
+lw :: offset: 0x300, out: 0x5d8a9099
+lw :: offset: 0x304, out: 0x594b8d2e
+lw :: offset: 0x308, out: 0x5408abf7
+lw :: offset: 0x30c, out: 0x50c9b640
+lw :: offset: 0x310, out: 0x4e8ee645
+lw :: offset: 0x314, out: 0x4a4ffbf2
+lw :: offset: 0x318, out: 0x470cdd2b
+lw :: offset: 0x31c, out: 0x43cdc09c
+lw :: offset: 0x320, out: 0x7b827d21
+lw :: offset: 0x324, out: 0x7f436096
+lw :: offset: 0x328, out: 0x7200464f
+lw :: offset: 0x32c, out: 0x76c15bf8
+lw :: offset: 0x330, out: 0x68860bfd
+lw :: offset: 0x334, out: 0x6c47164a
+lw :: offset: 0x338, out: 0x61043093
+lw :: offset: 0x33c, out: 0x65c52d24
+lw :: offset: 0x340, out: 0x119b4be9
+lw :: offset: 0x344, out: 0x155a565e
+lw :: offset: 0x348, out: 0x18197087
+lw :: offset: 0x34c, out: 0x1cd86d30
+lw :: offset: 0x350, out: 0x29f3d35
+lw :: offset: 0x354, out: 0x65e2082
+lw :: offset: 0x358, out: 0xb1d065b
+lw :: offset: 0x35c, out: 0xfdc1bec
+lw :: offset: 0x360, out: 0x3793a651
+lw :: offset: 0x364, out: 0x3352bbe6
+lw :: offset: 0x368, out: 0x3e119d3f
+lw :: offset: 0x36c, out: 0x3ad08088
+lw :: offset: 0x370, out: 0x2497d08d
+lw :: offset: 0x374, out: 0x2056cd3a
+lw :: offset: 0x378, out: 0x2d15ebe3
+lw :: offset: 0x37c, out: 0x29d4f654
+lw :: offset: 0x380, out: 0xffffffffc5a92679
+lw :: offset: 0x384, out: 0xffffffffc1683bce
+lw :: offset: 0x388, out: 0xffffffffcc2b1d17
+lw :: offset: 0x38c, out: 0xffffffffc8ea00a0
+lw :: offset: 0x390, out: 0xffffffffd6ad50a5
+lw :: offset: 0x394, out: 0xffffffffd26c4d12
+lw :: offset: 0x398, out: 0xffffffffdf2f6bcb
+lw :: offset: 0x39c, out: 0xffffffffdbee767c
+lw :: offset: 0x3a0, out: 0xffffffffe3a1cbc1
+lw :: offset: 0x3a4, out: 0xffffffffe760d676
+lw :: offset: 0x3a8, out: 0xffffffffea23f0af
+lw :: offset: 0x3ac, out: 0xffffffffeee2ed18
+lw :: offset: 0x3b0, out: 0xfffffffff0a5bd1d
+lw :: offset: 0x3b4, out: 0xfffffffff464a0aa
+lw :: offset: 0x3b8, out: 0xfffffffff9278673
+lw :: offset: 0x3bc, out: 0xfffffffffde69bc4
+lw :: offset: 0x3c0, out: 0xffffffff89b8fd09
+lw :: offset: 0x3c4, out: 0xffffffff8d79e0be
+lw :: offset: 0x3c8, out: 0xffffffff803ac667
+lw :: offset: 0x3cc, out: 0xffffffff84fbdbd0
+lw :: offset: 0x3d0, out: 0xffffffff9abc8bd5
+lw :: offset: 0x3d4, out: 0xffffffff9e7d9662
+lw :: offset: 0x3d8, out: 0xffffffff933eb0bb
+lw :: offset: 0x3dc, out: 0xffffffff97ffad0c
+lw :: offset: 0x3e0, out: 0xffffffffafb010b1
+lw :: offset: 0x3e4, out: 0xffffffffab710d06
+lw :: offset: 0x3e8, out: 0xffffffffa6322bdf
+lw :: offset: 0x3ec, out: 0xffffffffa2f33668
+lw :: offset: 0x3f0, out: 0xffffffffbcb4666d
+lw :: offset: 0x3f4, out: 0xffffffffb8757bda
+lw :: offset: 0x3f8, out: 0xffffffffb5365d03
+lw :: offset: 0x3fc, out: 0xffffffffb1f740b4
+lw :: offset: 0x0, out: 0x0
+lw :: offset: 0x4, out: 0x12bd6aa
+lw :: offset: 0x8, out: 0x7e8763
+lw :: offset: 0xc, out: 0xffffffff82d2ab13
+lw :: offset: 0x10, out: 0xffffffff976d6e9a
+lw :: offset: 0x14, out: 0xffffffffc31510f3
+lw :: offset: 0x18, out: 0xffffffffb7746d77
+lw :: offset: 0x1c, out: 0x5ad6a5fb
+lw :: offset: 0x20, out: 0x42b0c0a2
+lw :: offset: 0x24, out: 0xffffffff8677b502
+lw :: offset: 0x28, out: 0x2aa89d31
+lw :: offset: 0x2c, out: 0xffffffff9e3c30ad
+lw :: offset: 0x30, out: 0x1f308ec3
+lw :: offset: 0x34, out: 0x77fb413d
+lw :: offset: 0x38, out: 0x7aa04213
+lw :: offset: 0x3c, out: 0xffffffffc760e4f7
+lw :: offset: 0x40, out: 0xffffffff9e705cc5
+lw :: offset: 0x44, out: 0x1ad8dca0
+lw :: offset: 0x48, out: 0x4b3dda86
+lw :: offset: 0x4c, out: 0xffffffff9615a60d
+lw :: offset: 0x50, out: 0x5e7a4dd
+lw :: offset: 0x54, out: 0x6353d41d
+lw :: offset: 0x58, out: 0x3af35a9d
+lw :: offset: 0x5c, out: 0xffffffffc40bd413
+lw :: offset: 0x60, out: 0x47f50556
+lw :: offset: 0x64, out: 0xffffffff9a08a180
+lw :: offset: 0x68, out: 0xffffffff9564b77f
+lw :: offset: 0x6c, out: 0xffffffffd6d2040f
+lw :: offset: 0x70, out: 0xffffffffcebc8279
+lw :: offset: 0x74, out: 0xffffffffb2c76bbe
+lw :: offset: 0x78, out: 0xffffffffb5034c2f
+lw :: offset: 0x7c, out: 0x1f18e4c7
+lw :: offset: 0x80, out: 0xffffffff94ff52fc
+lw :: offset: 0x84, out: 0xffffffff81afa797
+lw :: offset: 0x88, out: 0x31d8d916
+lw :: offset: 0x8c, out: 0x6dfc50ea
+lw :: offset: 0x90, out: 0x36549bd6
+lw :: offset: 0x94, out: 0x78e895b1
+lw :: offset: 0x98, out: 0xffffffff85e0a631
+lw :: offset: 0x9c, out: 0xffffffff9b63259b
+lw :: offset: 0xa0, out: 0x556b3eca
+lw :: offset: 0xa4, out: 0xffffffffccf17ac5
+lw :: offset: 0xa8, out: 0xffffffffb42f5fc5
+lw :: offset: 0xac, out: 0xffffffff81eea0fb
+lw :: offset: 0xb0, out: 0x25b50fec
+lw :: offset: 0xb4, out: 0x14682d97
+lw :: offset: 0xb8, out: 0xfffffffffc93c513
+lw :: offset: 0xbc, out: 0x2cfb087a
+lw :: offset: 0xc0, out: 0x3c2cd9a9
+lw :: offset: 0xc4, out: 0xffffffffcda20766
+lw :: offset: 0xc8, out: 0x1791722a
+lw :: offset: 0xcc, out: 0x7d72da3e
+lw :: offset: 0xd0, out: 0x87cc9d1
+lw :: offset: 0xd4, out: 0xffffffff93ce24ad
+lw :: offset: 0xd8, out: 0x1d2a7570
+lw :: offset: 0xdc, out: 0x38984ed2
+lw :: offset: 0xe0, out: 0xffffffffd0d070db
+lw :: offset: 0xe4, out: 0x710cd036
+lw :: offset: 0xe8, out: 0x39c21c7d
+lw :: offset: 0xec, out: 0x3415604
+lw :: offset: 0xf0, out: 0xffffffff8e94b7af
+lw :: offset: 0xf4, out: 0xffffffff8ecc31ce
+lw :: offset: 0xf8, out: 0x24eb6a8d
+lw :: offset: 0xfc, out: 0x1ce7674f
+lw :: offset: 0x100, out: 0x2f394544
+lw :: offset: 0x104, out: 0x12d6e4a7
+lw :: offset: 0x108, out: 0x2608c2b7
+lw :: offset: 0x10c, out: 0x56da4c54
+lw :: offset: 0x110, out: 0xffffffff900102da
+lw :: offset: 0x114, out: 0xffffffffc8d7252f
+lw :: offset: 0x118, out: 0xffffffffc890d5f1
+lw :: offset: 0x11c, out: 0xfffffffff2efa4f7
+lw :: offset: 0x120, out: 0xffffffffed5005cb
+lw :: offset: 0x124, out: 0xffffffffc8b0a214
+lw :: offset: 0x128, out: 0x31479189
+lw :: offset: 0x12c, out: 0x5991136c
+lw :: offset: 0x130, out: 0xffffffffc6eecff9
+lw :: offset: 0x134, out: 0xffffffff9a2fb6f3
+lw :: offset: 0x138, out: 0xffffffffa8095212
+lw :: offset: 0x13c, out: 0x38895270
+lw :: offset: 0x140, out: 0xffffffff87750a04
+lw :: offset: 0x144, out: 0xffffffffad765040
+lw :: offset: 0x148, out: 0x2c3de85e
+lw :: offset: 0x14c, out: 0xffffffff84bb5a83
+lw :: offset: 0x150, out: 0xffffffffae6aff8f
+lw :: offset: 0x154, out: 0xffffffffc506aa67
+lw :: offset: 0x158, out: 0xffffffffc07112dd
+lw :: offset: 0x15c, out: 0x60ed5ee3
+lw :: offset: 0x160, out: 0xffffffffc4c770f6
+lw :: offset: 0x164, out: 0x30dcca5a
+lw :: offset: 0x168, out: 0xffffffffdfec2b23
+lw :: offset: 0x16c, out: 0xffffffff83cd5277
+lw :: offset: 0x170, out: 0xffffffffd3adba26
+lw :: offset: 0x174, out: 0xff7d96b
+lw :: offset: 0x178, out: 0x4ab4aa79
+lw :: offset: 0x17c, out: 0xffffffff8418c00e
+lw :: offset: 0x180, out: 0xffffffffbb8c035e
+lw :: offset: 0x184, out: 0xde0f0b8
+lw :: offset: 0x188, out: 0x33b06f54
+lw :: offset: 0x18c, out: 0xffffffffa97fdcf1
+lw :: offset: 0x190, out: 0x77433f37
+lw :: offset: 0x194, out: 0x3fd1c081
+lw :: offset: 0x198, out: 0xffffffffec91d993
+lw :: offset: 0x19c, out: 0xffffffffc92195e4
+lw :: offset: 0x1a0, out: 0x49fbf6a7
+lw :: offset: 0x1a4, out: 0xffffffff95b1a5ab
+lw :: offset: 0x1a8, out: 0x19364378
+lw :: offset: 0x1ac, out: 0xffffffffc7ce8d1e
+lw :: offset: 0x1b0, out: 0xffffffffb99e8def
+lw :: offset: 0x1b4, out: 0x2f384907
+lw :: offset: 0x1b8, out: 0x47eacdcd
+lw :: offset: 0x1bc, out: 0x582b12fe
+lw :: offset: 0x1c0, out: 0xffffffffd685884e
+lw :: offset: 0x1c4, out: 0x76558c4f
+lw :: offset: 0x1c8, out: 0x6168d62a
+lw :: offset: 0x1cc, out: 0x34c195c7
+lw :: offset: 0x1d0, out: 0xffffffffd3016989
+lw :: offset: 0x1d4, out: 0x4df47405
+lw :: offset: 0x1d8, out: 0x1ca190bf
+lw :: offset: 0x1dc, out: 0x6cbb06db
+lw :: offset: 0x1e0, out: 0x58300f02
+lw :: offset: 0x1e4, out: 0xffffffff9cae393a
+lw :: offset: 0x1e8, out: 0xffffffff9a995fdb
+lw :: offset: 0x1ec, out: 0xffffffffdc7ebc2d
+lw :: offset: 0x1f0, out: 0xffffffff8a96047b
+lw :: offset: 0x1f4, out: 0xffffffffe3405b48
+lw :: offset: 0x1f8, out: 0x75bfafd2
+lw :: offset: 0x1fc, out: 0xffffffffd519d322
+lw :: offset: 0x200, out: 0xffffffffde230867
+lw :: offset: 0x204, out: 0xffffffffa630f6ad
+lw :: offset: 0x208, out: 0x2c0a0cf2
+lw :: offset: 0x20c, out: 0x56103260
+lw :: offset: 0x210, out: 0xffffffff94a90544
+lw :: offset: 0x214, out: 0x249b18ef
+lw :: offset: 0x218, out: 0xfffffffff9519fb5
+lw :: offset: 0x21c, out: 0x5b56fcde
+lw :: offset: 0x220, out: 0xffffffff81daf820
+lw :: offset: 0x224, out: 0x468319b
+lw :: offset: 0x228, out: 0xffffffff8c61ca5a
+lw :: offset: 0x22c, out: 0x5725f2ec
+lw :: offset: 0x230, out: 0xffffffff8b95a6dd
+lw :: offset: 0x234, out: 0xffffffffc25dc8bf
+lw :: offset: 0x238, out: 0x300ce751
+lw :: offset: 0x23c, out: 0xffffffffdac6162f
+lw :: offset: 0x240, out: 0x6778fdf3
+lw :: offset: 0x244, out: 0xffffffffba52a850
+lw :: offset: 0x248, out: 0xffffffffad00b1f7
+lw :: offset: 0x24c, out: 0xffffffffda78479f
+lw :: offset: 0x250, out: 0x8d44168
+lw :: offset: 0x254, out: 0xffffffffa6b6d98a
+lw :: offset: 0x258, out: 0xfffffffff518381d
+lw :: offset: 0x25c, out: 0xffffffffce634413
+lw :: offset: 0x260, out: 0xffffffffe4627f3f
+lw :: offset: 0x264, out: 0xffffffffe5255fc0
+lw :: offset: 0x268, out: 0xffffffffccd392e1
+lw :: offset: 0x26c, out: 0x76321f28
+lw :: offset: 0x270, out: 0xffffffff82946494
+lw :: offset: 0x274, out: 0x4018fd8f
+lw :: offset: 0x278, out: 0x15d32040
+lw :: offset: 0x27c, out: 0x52e8f0e5
+lw :: offset: 0x280, out: 0x7caf83d2
+lw :: offset: 0x284, out: 0xffffffff880ff344
+lw :: offset: 0x288, out: 0xfffffffff156a04c
+lw :: offset: 0x28c, out: 0x747defd7
+lw :: offset: 0x290, out: 0xffffffff93e2601c
+lw :: offset: 0x294, out: 0xf31d710
+lw :: offset: 0x298, out: 0xffffffffe1e1a679
+lw :: offset: 0x29c, out: 0x131cd933
+lw :: offset: 0x2a0, out: 0x24296b75
+lw :: offset: 0x2a4, out: 0xffffffffa76fa427
+lw :: offset: 0x2a8, out: 0xffffffffd296e2d2
+lw :: offset: 0x2ac, out: 0x139ee56a
+lw :: offset: 0x2b0, out: 0x5a82447f
+lw :: offset: 0x2b4, out: 0x6dc2a5c0
+lw :: offset: 0x2b8, out: 0x76c89e80
+lw :: offset: 0x2bc, out: 0xffffffffc07dc168
+lw :: offset: 0x2c0, out: 0x70dc345
+lw :: offset: 0x2c4, out: 0x4bfe348f
+lw :: offset: 0x2c8, out: 0xffffffffbddc7123
+lw :: offset: 0x2cc, out: 0xffffffffdd6d241b
+lw :: offset: 0x2d0, out: 0xfffffffff62fb727
+lw :: offset: 0x2d4, out: 0xffffffffa59fcebe
+lw :: offset: 0x2d8, out: 0x109f27e9
+lw :: offset: 0x2dc, out: 0xf9f46fb
+lw :: offset: 0x2e0, out: 0x3f63daa9
+lw :: offset: 0x2e4, out: 0xffffffffafd199d7
+lw :: offset: 0x2e8, out: 0xffffffffdbcb312e
+lw :: offset: 0x2ec, out: 0xffffffffa3d484f2
+lw :: offset: 0x2f0, out: 0x1f353faa
+lw :: offset: 0x2f4, out: 0xffffffffda4fe4c6
+lw :: offset: 0x2f8, out: 0xffffffff8b086ee0
+lw :: offset: 0x2fc, out: 0x7150c260
+lw :: offset: 0x300, out: 0xffffffffe54750d5
+lw :: offset: 0x304, out: 0xffffffffd9257f25
+lw :: offset: 0x308, out: 0x3d69625f
+lw :: offset: 0x30c, out: 0xffffffffe9a6db5b
+lw :: offset: 0x310, out: 0x70a3e042
+lw :: offset: 0x314, out: 0x4340ac96
+lw :: offset: 0x318, out: 0xffffffffc0478f03
+lw :: offset: 0x31c, out: 0x6980171e
+lw :: offset: 0x320, out: 0x3ce839a5
+lw :: offset: 0x324, out: 0x1cf929e3
+lw :: offset: 0x328, out: 0xffffffffe2fbfa89
+lw :: offset: 0x32c, out: 0x5eb68958
+lw :: offset: 0x330, out: 0xffffffffd24bb05d
+lw :: offset: 0x334, out: 0x76ed25b7
+lw :: offset: 0x338, out: 0xeb9682c
+lw :: offset: 0x33c, out: 0x170312f1
+lw :: offset: 0x340, out: 0xffffffff84785280
+lw :: offset: 0x344, out: 0xffffffffdd301d0d
+lw :: offset: 0x348, out: 0x179c77aa
+lw :: offset: 0x34c, out: 0x1f8fd6ef
+lw :: offset: 0x350, out: 0x26444ced
+lw :: offset: 0x354, out: 0x2998436d
+lw :: offset: 0x358, out: 0x7175c9d
+lw :: offset: 0x35c, out: 0xffffffffd58ca708
+lw :: offset: 0x360, out: 0x663d0610
+lw :: offset: 0x364, out: 0x55833287
+lw :: offset: 0x368, out: 0xffffffffab7dd048
+lw :: offset: 0x36c, out: 0xffffffff8951d68b
+lw :: offset: 0x370, out: 0xfffffffff6982367
+lw :: offset: 0x374, out: 0xe82471b
+lw :: offset: 0x378, out: 0x36886c59
+lw :: offset: 0x37c, out: 0xffffffffd98d26b2
+lw :: offset: 0x380, out: 0x9ca4bdb
+lw :: offset: 0x384, out: 0xffffffffd32be479
+lw :: offset: 0x388, out: 0xfffffffffd5d7d1d
+lw :: offset: 0x38c, out: 0xffffffff9962e61f
+lw :: offset: 0x390, out: 0x3f46553e
+lw :: offset: 0x394, out: 0xffffffffcad374df
+lw :: offset: 0x398, out: 0x2e9ab97d
+lw :: offset: 0x39c, out: 0x3eedf2a7
+lw :: offset: 0x3a0, out: 0x36a6f7fa
+lw :: offset: 0x3a4, out: 0x3c0c9f33
+lw :: offset: 0x3a8, out: 0xffffffff8bb938e3
+lw :: offset: 0x3ac, out: 0x155ec9dc
+lw :: offset: 0x3b0, out: 0xffffffffd2df25c4
+lw :: offset: 0x3b4, out: 0x19478206
+lw :: offset: 0x3b8, out: 0xffffffffbc65bf27
+lw :: offset: 0x3bc, out: 0xffffffffeb321825
+lw :: offset: 0x3c0, out: 0xffffffffa8b08fe6
+lw :: offset: 0x3c4, out: 0x7a8bc7da
+lw :: offset: 0x3c8, out: 0xffffffff852b5bca
+lw :: offset: 0x3cc, out: 0xfffffffff8dfcde8
+lw :: offset: 0x3d0, out: 0x478909b
+lw :: offset: 0x3d4, out: 0x59a99269
+lw :: offset: 0x3d8, out: 0xffffffffbfb31cc8
+lw :: offset: 0x3dc, out: 0x7857360f
+lw :: offset: 0x3e0, out: 0xffffffffb665ed5e
+lw :: offset: 0x3e4, out: 0x7f89e9a2
+lw :: offset: 0x3e8, out: 0x15da9474
+lw :: offset: 0x3ec, out: 0xffffffffb7a8d5e4
+lw :: offset: 0x3f0, out: 0xfffffffff6b3537d
+lw :: offset: 0x3f4, out: 0x2af90fcc
+lw :: offset: 0x3f8, out: 0x223d7cfe
+lw :: offset: 0x3fc, out: 0x2b961897
+lw :: offset: 0x400, out: 0x420b34f5
+lw :: offset: 0x404, out: 0x33734a4b
+lw :: offset: 0x408, out: 0xffffffff897c8c8d
+lw :: offset: 0x40c, out: 0xffffffffdd46b33c
+lw :: offset: 0x410, out: 0x7a387445
+lw :: offset: 0x414, out: 0xffffffffe392ccd9
+lw :: offset: 0x418, out: 0x512f29b1
+lw :: offset: 0x41c, out: 0xffffffffd80000c9
+lw :: offset: 0x420, out: 0xffffffffeaded5c5
+lw :: offset: 0x424, out: 0x3dad020a
+lw :: offset: 0x428, out: 0xffffffff8a6229d7
+lw :: offset: 0x42c, out: 0x31eea35b
+lw :: offset: 0x430, out: 0x2c3c3f9e
+lw :: offset: 0x434, out: 0x48985649
+lw :: offset: 0x438, out: 0x7ff61e78
+lw :: offset: 0x43c, out: 0xffffffffdc9c0b77
+lw :: offset: 0x440, out: 0x2299b0e0
+lw :: offset: 0x444, out: 0x1d5e68ec
+lw :: offset: 0x448, out: 0x7c3b0467
+lw :: offset: 0x44c, out: 0x3d0c6e25
+lw :: offset: 0x450, out: 0x164e17c1
+lw :: offset: 0x454, out: 0xffffffffe7fb6587
+lw :: offset: 0x458, out: 0xfffffffffa4ca28b
+lw :: offset: 0x45c, out: 0x56d4950b
+lw :: offset: 0x460, out: 0xffffffffe5e9a314
+lw :: offset: 0x464, out: 0xffffffffbe7fa08a
+lw :: offset: 0x468, out: 0xfffffffff8be8164
+lw :: offset: 0x46c, out: 0x159649c5
+lw :: offset: 0x470, out: 0x7ca32597
+lw :: offset: 0x474, out: 0xffffffff84e69b17
+lw :: offset: 0x478, out: 0xfffffffffc8d543c
+lw :: offset: 0x47c, out: 0xffffffffa1f24f5c
+lw :: offset: 0x480, out: 0x4aeb6ca0
+lw :: offset: 0x484, out: 0xffffffffe3459e36
+lw :: offset: 0x488, out: 0xffffffffc532e18e
+lw :: offset: 0x48c, out: 0x187980fa
+lw :: offset: 0x490, out: 0xffffffffb3fdec29
+lw :: offset: 0x494, out: 0x4f287d1c
+lw :: offset: 0x498, out: 0xffffffffb620660a
+lw :: offset: 0x49c, out: 0x49732b90
+lw :: offset: 0x4a0, out: 0xffffffff993138f1
+lw :: offset: 0x4a4, out: 0x6cfde991
+lw :: offset: 0x4a8, out: 0xffffffffde02d133
+lw :: offset: 0x4ac, out: 0x7d5407b9
+lw :: offset: 0x4b0, out: 0x13a390e1
+lw :: offset: 0x4b4, out: 0xffffffffe1dab15a
+lw :: offset: 0x4b8, out: 0x743491a6
+lw :: offset: 0x4bc, out: 0xffffffff828716c8
+lw :: offset: 0x4c0, out: 0xffffffff8cff404a
+lw :: offset: 0x4c4, out: 0xffffffffede292f2
+lw :: offset: 0x4c8, out: 0xffffffffb9cec0db
+lw :: offset: 0x4cc, out: 0x1f837636
+lw :: offset: 0x4d0, out: 0x2eaa5aa7
+lw :: offset: 0x4d4, out: 0x509771c
+lw :: offset: 0x4d8, out: 0xffffffffd327538e
+lw :: offset: 0x4dc, out: 0x1875241b
+lw :: offset: 0x4e0, out: 0x42e9f854
+lw :: offset: 0x4e4, out: 0xffffffff8b739b6b
+lw :: offset: 0x4e8, out: 0x78e4e50c
+lw :: offset: 0x4ec, out: 0xffffffffeccbba1a
+lw :: offset: 0x4f0, out: 0xfffffffff6b6fa3f
+lw :: offset: 0x4f4, out: 0xffffffffcd9d27cb
+lw :: offset: 0x4f8, out: 0x73916483
+lw :: offset: 0x4fc, out: 0xffffffffae3e9423
+lw :: offset: 0x500, out: 0x276af70a
+lw :: offset: 0x504, out: 0xe128561
+lw :: offset: 0x508, out: 0x3045bf6
+lw :: offset: 0x50c, out: 0xffffffffb5e74b6e
+lw :: offset: 0x510, out: 0x20223f13
+lw :: offset: 0x514, out: 0x8accfa6
+lw :: offset: 0x518, out: 0xfffffffff83c5574
+lw :: offset: 0x51c, out: 0x3976b5f5
+lw :: offset: 0x520, out: 0x1f9720f9
+lw :: offset: 0x524, out: 0x46923c3d
+lw :: offset: 0x528, out: 0x620d2850
+lw :: offset: 0x52c, out: 0x6d2448dd
+lw :: offset: 0x530, out: 0x60a521e9
+lw :: offset: 0x534, out: 0xffffffff9ff4a732
+lw :: offset: 0x538, out: 0x5a08f3ab
+lw :: offset: 0x53c, out: 0x5c680f0b
+lw :: offset: 0x540, out: 0xffffffffc7a59be7
+lw :: offset: 0x544, out: 0xffffffff800f3d26
+lw :: offset: 0x548, out: 0x1aecdf29
+lw :: offset: 0x54c, out: 0xffffffff82ca1b41
+lw :: offset: 0x550, out: 0x2b8613a2
+lw :: offset: 0x554, out: 0x60d19dcd
+lw :: offset: 0x558, out: 0x2518ac8b
+lw :: offset: 0x55c, out: 0xe8bbe7f
+lw :: offset: 0x560, out: 0x743e568d
+lw :: offset: 0x564, out: 0x2fcf486b
+lw :: offset: 0x568, out: 0x126f646f
+lw :: offset: 0x56c, out: 0x34c31728
+lw :: offset: 0x570, out: 0xffffffffaab01961
+lw :: offset: 0x574, out: 0x56fc4d12
+lw :: offset: 0x578, out: 0x7535cd33
+lw :: offset: 0x57c, out: 0xffffffff8595d342
+lw :: offset: 0x580, out: 0xffffffffdfb254da
+lw :: offset: 0x584, out: 0x422346ec
+lw :: offset: 0x588, out: 0xffffffffa86726c9
+lw :: offset: 0x58c, out: 0x81ab2a
+lw :: offset: 0x590, out: 0xffffffff9bfeffa1
+lw :: offset: 0x594, out: 0x679d7438
+lw :: offset: 0x598, out: 0xffffffffc7699826
+lw :: offset: 0x59c, out: 0xffffffffb7dee244
+lw :: offset: 0x5a0, out: 0x3c07af97
+lw :: offset: 0x5a4, out: 0xfffffffffba6704a
+lw :: offset: 0x5a8, out: 0x521364dc
+lw :: offset: 0x5ac, out: 0x4c58bfe
+lw :: offset: 0x5b0, out: 0xffffffffe0f7bb58
+lw :: offset: 0x5b4, out: 0xffffffff9ab7aebc
+lw :: offset: 0x5b8, out: 0xffffffffe336c60c
+lw :: offset: 0x5bc, out: 0xffffffffdeeb954d
+lw :: offset: 0x5c0, out: 0xffffffffd5b2120c
+lw :: offset: 0x5c4, out: 0x6f52416e
+lw :: offset: 0x5c8, out: 0xffffffff85a2d4ff
+lw :: offset: 0x5cc, out: 0x7e628a34
+lw :: offset: 0x5d0, out: 0xffffffff986a2b65
+lw :: offset: 0x5d4, out: 0x4a4e7e07
+lw :: offset: 0x5d8, out: 0xffffffffa974eac4
+lw :: offset: 0x5dc, out: 0x3a489b55
+lw :: offset: 0x5e0, out: 0xffffffffa388c162
+lw :: offset: 0x5e4, out: 0x72f1f8f5
+lw :: offset: 0x5e8, out: 0xffffffffe8c11f45
+lw :: offset: 0x5ec, out: 0xffffffffe7495ea9
+lw :: offset: 0x5f0, out: 0xffffffffadaa5a76
+lw :: offset: 0x5f4, out: 0x5cc1c8b4
+lw :: offset: 0x5f8, out: 0x7ab4ce88
+lw :: offset: 0x5fc, out: 0xffffffffdfa605c0
+lw :: offset: 0x600, out: 0xffffffffb42ad6e6
+lw :: offset: 0x604, out: 0x59a7b04f
+lw :: offset: 0x608, out: 0x4bf8485a
+lw :: offset: 0x60c, out: 0xffffffffb728922f
+lw :: offset: 0x610, out: 0x76a3d60c
+lw :: offset: 0x614, out: 0x3b66a7fb
+lw :: offset: 0x618, out: 0x31e0c6af
+lw :: offset: 0x61c, out: 0xfffffffffdc28eda
+lw :: offset: 0x620, out: 0x53606bb4
+lw :: offset: 0x624, out: 0xffffffffbf0c999d
+lw :: offset: 0x628, out: 0x32fc12c8
+lw :: offset: 0x62c, out: 0x1b7919f0
+lw :: offset: 0x630, out: 0x3ef88384
+lw :: offset: 0x634, out: 0xffffffffc72efcd6
+lw :: offset: 0x638, out: 0x38b1c7bb
+lw :: offset: 0x63c, out: 0x6a2a3580
+lw :: offset: 0x640, out: 0x15ebf612
+lw :: offset: 0x644, out: 0x1dca77c9
+lw :: offset: 0x648, out: 0x5eaacdd9
+lw :: offset: 0x64c, out: 0xfffffffffd9147ae
+lw :: offset: 0x650, out: 0xffffffffbb8470f9
+lw :: offset: 0x654, out: 0xffffffff81e91117
+lw :: offset: 0x658, out: 0x5d42aea
+lw :: offset: 0x65c, out: 0xffffffffc6a532e0
+lw :: offset: 0x660, out: 0x14abf364
+lw :: offset: 0x664, out: 0x19fb9e63
+lw :: offset: 0x668, out: 0x249d559a
+lw :: offset: 0x66c, out: 0xffffffffa8d72aac
+lw :: offset: 0x670, out: 0xcd6764f
+lw :: offset: 0x674, out: 0x84b30ec
+lw :: offset: 0x678, out: 0x7f03ac07
+lw :: offset: 0x67c, out: 0xffffffff92468fdf
+lw :: offset: 0x680, out: 0x7e35ce6d
+lw :: offset: 0x684, out: 0x56e670f5
+lw :: offset: 0x688, out: 0x15282859
+lw :: offset: 0x68c, out: 0x1a652711
+lw :: offset: 0x690, out: 0xffffffff9e1c3283
+lw :: offset: 0x694, out: 0xffffffffd215a9fb
+lw :: offset: 0x698, out: 0xffffffff8d95c049
+lw :: offset: 0x69c, out: 0x282a0417
+lw :: offset: 0x6a0, out: 0xfffffffff2e7a490
+lw :: offset: 0x6a4, out: 0xffffffff978058f3
+lw :: offset: 0x6a8, out: 0x775b4cca
+lw :: offset: 0x6ac, out: 0x975b1aa
+lw :: offset: 0x6b0, out: 0xa2b84a6
+lw :: offset: 0x6b4, out: 0x35111020
+lw :: offset: 0x6b8, out: 0x23fa0d3
+lw :: offset: 0x6bc, out: 0xffffffffa7d88b6f
+lw :: offset: 0x6c0, out: 0xffffffffa3d991b7
+lw :: offset: 0x6c4, out: 0xffffffff9941dedd
+lw :: offset: 0x6c8, out: 0x751cb483
+lw :: offset: 0x6cc, out: 0x5a0d9508
+lw :: offset: 0x6d0, out: 0xffffffff949cad35
+lw :: offset: 0x6d4, out: 0x625bb2d3
+lw :: offset: 0x6d8, out: 0x7f567f35
+lw :: offset: 0x6dc, out: 0xffffffffa6929739
+lw :: offset: 0x6e0, out: 0x185b88e0
+lw :: offset: 0x6e4, out: 0xffffffffdb8d7d27
+lw :: offset: 0x6e8, out: 0x255a4cd2
+lw :: offset: 0x6ec, out: 0x2fd61b91
+lw :: offset: 0x6f0, out: 0x1048d589
+lw :: offset: 0x6f4, out: 0xffffffffa4363f7b
+lw :: offset: 0x6f8, out: 0x6a6d5708
+lw :: offset: 0x6fc, out: 0xfffffffff4605790
+lw :: offset: 0x700, out: 0xffffffffd58ecbab
+lw :: offset: 0x704, out: 0xffffffffde35697f
+lw :: offset: 0x708, out: 0x575548fd
+lw :: offset: 0x70c, out: 0x8c0a5f1
+lw :: offset: 0x710, out: 0xffffffff8bb640fb
+lw :: offset: 0x714, out: 0xffffffff8ed98ddb
+lw :: offset: 0x718, out: 0xffffffffbe00d51e
+lw :: offset: 0x71c, out: 0xffffffffabc578cc
+lw :: offset: 0x720, out: 0x2f7e224a
+lw :: offset: 0x724, out: 0x1c170ab2
+lw :: offset: 0x728, out: 0xffffffffa978f12c
+lw :: offset: 0x72c, out: 0xffffffffa22256a7
+lw :: offset: 0x730, out: 0xffffffff9950a93b
+lw :: offset: 0x734, out: 0xffffffff811ee02f
+lw :: offset: 0x738, out: 0xffffffffb44eea93
+lw :: offset: 0x73c, out: 0xffffffffc6796a0c
+lw :: offset: 0x740, out: 0xfffffffffe71fca0
+lw :: offset: 0x744, out: 0x6c0eb657
+lw :: offset: 0x748, out: 0x4ed6393d
+lw :: offset: 0x74c, out: 0xfffffffff818af57
+lw :: offset: 0x750, out: 0xfffffffff22e9020
+lw :: offset: 0x754, out: 0x236770a
+lw :: offset: 0x758, out: 0xffffffff81efb6c7
+lw :: offset: 0x75c, out: 0xffffffffafd0c45d
+lw :: offset: 0x760, out: 0xffffffffeed8f351
+lw :: offset: 0x764, out: 0xffffffff8102315b
+lw :: offset: 0x768, out: 0xffffffffadafefb9
+lw :: offset: 0x76c, out: 0xffffffff995efd5e
+lw :: offset: 0x770, out: 0x34061933
+lw :: offset: 0x774, out: 0xffffffffeb253086
+lw :: offset: 0x778, out: 0x1748da26
+lw :: offset: 0x77c, out: 0x4b4c52bc
+lw :: offset: 0x780, out: 0x34fdfc9a
+lw :: offset: 0x784, out: 0xffffffff9302be89
+lw :: offset: 0x788, out: 0xffffffffd00278c3
+lw :: offset: 0x78c, out: 0xffffffffc521d180
+lw :: offset: 0x790, out: 0xffffffffe90944a4
+lw :: offset: 0x794, out: 0xffffffffc1d37a5d
+lw :: offset: 0x798, out: 0x65fd698f
+lw :: offset: 0x79c, out: 0xffffffffddef9839
+lw :: offset: 0x7a0, out: 0xffffffffc49ee3ad
+lw :: offset: 0x7a4, out: 0xffffffff81b5af52
+lw :: offset: 0x7a8, out: 0x7aa941e8
+lw :: offset: 0x7ac, out: 0xffffffffbdb263e9
+lw :: offset: 0x7b0, out: 0x372c209e
+lw :: offset: 0x7b4, out: 0x42f3b58d
+lw :: offset: 0x7b8, out: 0x30f870b7
+lw :: offset: 0x7bc, out: 0xffffffffe122a83b
+lw :: offset: 0x7c0, out: 0xffffffff9e02de4b
+lw :: offset: 0x7c4, out: 0x678930ec
+lw :: offset: 0x7c8, out: 0xffffffffcd61a863
+lw :: offset: 0x7cc, out: 0xffffffff9826631e
+lw :: offset: 0x7d0, out: 0xffffffffae87bc89
+lw :: offset: 0x7d4, out: 0xffffffff9a7bd3ca
+lw :: offset: 0x7d8, out: 0x58ec644d
+lw :: offset: 0x7dc, out: 0x6481af17
+lw :: offset: 0x7e0, out: 0x680cce5f
+lw :: offset: 0x7e4, out: 0xffffffffb236b666
+lw :: offset: 0x7e8, out: 0x3baa9947
+lw :: offset: 0x7ec, out: 0x1f6d4d75
+lw :: offset: 0x7f0, out: 0x614d9b44
+lw :: offset: 0x7f4, out: 0x5f12236b
+lw :: offset: 0x7f8, out: 0xffffffffa2a6ec66
+lw :: offset: 0x7fc, out: 0x1ba84121
+lwl :: offset: 0x0, out: 0x0
+lwl :: offset: 0x1, out: 0x0
+lwl :: offset: 0x2, out: 0x0
+lwl :: offset: 0x3, out: 0x0
+lwl :: offset: 0x4, out: 0x0
+lwl :: offset: 0x5, out: 0x0
+lwl :: offset: 0x6, out: 0x0
+lwl :: offset: 0x7, out: 0x0
+lwl :: offset: 0x8, out: 0x9823b6e
+lwl :: offset: 0x9, out: 0xffffffff823b6e00
+lwl :: offset: 0xa, out: 0x3b6e0000
+lwl :: offset: 0xb, out: 0x6e000000
+lwl :: offset: 0xc, out: 0xd4326d9
+lwl :: offset: 0xd, out: 0x4326d900
+lwl :: offset: 0xe, out: 0x26d90000
+lwl :: offset: 0xf, out: 0xffffffffd9000000
+lwl :: offset: 0x10, out: 0x130476dc
+lwl :: offset: 0x11, out: 0x476dc00
+lwl :: offset: 0x12, out: 0x76dc0000
+lwl :: offset: 0x13, out: 0xffffffffdc000000
+lwl :: offset: 0x14, out: 0x17c56b6b
+lwl :: offset: 0x15, out: 0xffffffffc56b6b00
+lwl :: offset: 0x16, out: 0x6b6b0000
+lwl :: offset: 0x17, out: 0x6b000000
+lwl :: offset: 0x18, out: 0x1a864db2
+lwl :: offset: 0x19, out: 0xffffffff864db200
+lwl :: offset: 0x1a, out: 0x4db20000
+lwl :: offset: 0x1b, out: 0xffffffffb2000000
+lwl :: offset: 0x1c, out: 0x1e475005
+lwl :: offset: 0x1d, out: 0x47500500
+lwl :: offset: 0x1e, out: 0x50050000
+lwl :: offset: 0x1f, out: 0x5000000
+lwl :: offset: 0x20, out: 0x2608edb8
+lwl :: offset: 0x21, out: 0x8edb800
+lwl :: offset: 0x22, out: 0xffffffffedb80000
+lwl :: offset: 0x23, out: 0xffffffffb8000000
+lwl :: offset: 0x24, out: 0x22c9f00f
+lwl :: offset: 0x25, out: 0xffffffffc9f00f00
+lwl :: offset: 0x26, out: 0xfffffffff00f0000
+lwl :: offset: 0x27, out: 0xf000000
+lwl :: offset: 0x28, out: 0x2f8ad6d6
+lwl :: offset: 0x29, out: 0xffffffff8ad6d600
+lwl :: offset: 0x2a, out: 0xffffffffd6d60000
+lwl :: offset: 0x2b, out: 0xffffffffd6000000
+lwl :: offset: 0x2c, out: 0x2b4bcb61
+lwl :: offset: 0x2d, out: 0x4bcb6100
+lwl :: offset: 0x2e, out: 0xffffffffcb610000
+lwl :: offset: 0x2f, out: 0x61000000
+lwl :: offset: 0x30, out: 0x350c9b64
+lwl :: offset: 0x31, out: 0xc9b6400
+lwl :: offset: 0x32, out: 0xffffffff9b640000
+lwl :: offset: 0x33, out: 0x64000000
+lwl :: offset: 0x34, out: 0x31cd86d3
+lwl :: offset: 0x35, out: 0xffffffffcd86d300
+lwl :: offset: 0x36, out: 0xffffffff86d30000
+lwl :: offset: 0x37, out: 0xffffffffd3000000
+lwl :: offset: 0x38, out: 0x3c8ea00a
+lwl :: offset: 0x39, out: 0xffffffff8ea00a00
+lwl :: offset: 0x3a, out: 0xffffffffa00a0000
+lwl :: offset: 0x3b, out: 0xa000000
+lwl :: offset: 0x3c, out: 0x384fbdbd
+lwl :: offset: 0x3d, out: 0x4fbdbd00
+lwl :: offset: 0x3e, out: 0xffffffffbdbd0000
+lwl :: offset: 0x3f, out: 0xffffffffbd000000
+lwl :: offset: 0x40, out: 0x4c11db70
+lwl :: offset: 0x41, out: 0x11db7000
+lwl :: offset: 0x42, out: 0xffffffffdb700000
+lwl :: offset: 0x43, out: 0x70000000
+lwl :: offset: 0x44, out: 0x48d0c6c7
+lwl :: offset: 0x45, out: 0xffffffffd0c6c700
+lwl :: offset: 0x46, out: 0xffffffffc6c70000
+lwl :: offset: 0x47, out: 0xffffffffc7000000
+lwl :: offset: 0x48, out: 0x4593e01e
+lwl :: offset: 0x49, out: 0xffffffff93e01e00
+lwl :: offset: 0x4a, out: 0xffffffffe01e0000
+lwl :: offset: 0x4b, out: 0x1e000000
+lwl :: offset: 0x4c, out: 0x4152fda9
+lwl :: offset: 0x4d, out: 0x52fda900
+lwl :: offset: 0x4e, out: 0xfffffffffda90000
+lwl :: offset: 0x4f, out: 0xffffffffa9000000
+lwl :: offset: 0x50, out: 0x5f15adac
+lwl :: offset: 0x51, out: 0x15adac00
+lwl :: offset: 0x52, out: 0xffffffffadac0000
+lwl :: offset: 0x53, out: 0xffffffffac000000
+lwl :: offset: 0x54, out: 0x5bd4b01b
+lwl :: offset: 0x55, out: 0xffffffffd4b01b00
+lwl :: offset: 0x56, out: 0xffffffffb01b0000
+lwl :: offset: 0x57, out: 0x1b000000
+lwl :: offset: 0x58, out: 0x569796c2
+lwl :: offset: 0x59, out: 0xffffffff9796c200
+lwl :: offset: 0x5a, out: 0xffffffff96c20000
+lwl :: offset: 0x5b, out: 0xffffffffc2000000
+lwl :: offset: 0x5c, out: 0x52568b75
+lwl :: offset: 0x5d, out: 0x568b7500
+lwl :: offset: 0x5e, out: 0xffffffff8b750000
+lwl :: offset: 0x5f, out: 0x75000000
+lwl :: offset: 0x60, out: 0x6a1936c8
+lwl :: offset: 0x61, out: 0x1936c800
+lwl :: offset: 0x62, out: 0x36c80000
+lwl :: offset: 0x63, out: 0xffffffffc8000000
+lwl :: offset: 0x64, out: 0x6ed82b7f
+lwl :: offset: 0x65, out: 0xffffffffd82b7f00
+lwl :: offset: 0x66, out: 0x2b7f0000
+lwl :: offset: 0x67, out: 0x7f000000
+lwl :: offset: 0x68, out: 0x639b0da6
+lwl :: offset: 0x69, out: 0xffffffff9b0da600
+lwl :: offset: 0x6a, out: 0xda60000
+lwl :: offset: 0x6b, out: 0xffffffffa6000000
+lwl :: offset: 0x6c, out: 0x675a1011
+lwl :: offset: 0x6d, out: 0x5a101100
+lwl :: offset: 0x6e, out: 0x10110000
+lwl :: offset: 0x6f, out: 0x11000000
+lwl :: offset: 0x70, out: 0x791d4014
+lwl :: offset: 0x71, out: 0x1d401400
+lwl :: offset: 0x72, out: 0x40140000
+lwl :: offset: 0x73, out: 0x14000000
+lwl :: offset: 0x74, out: 0x7ddc5da3
+lwl :: offset: 0x75, out: 0xffffffffdc5da300
+lwl :: offset: 0x76, out: 0x5da30000
+lwl :: offset: 0x77, out: 0xffffffffa3000000
+lwl :: offset: 0x78, out: 0x709f7b7a
+lwl :: offset: 0x79, out: 0xffffffff9f7b7a00
+lwl :: offset: 0x7a, out: 0x7b7a0000
+lwl :: offset: 0x7b, out: 0x7a000000
+lwl :: offset: 0x7c, out: 0x745e66cd
+lwl :: offset: 0x7d, out: 0x5e66cd00
+lwl :: offset: 0x7e, out: 0x66cd0000
+lwl :: offset: 0x7f, out: 0xffffffffcd000000
+lwl :: offset: 0x80, out: 0xffffffff9823b6e0
+lwl :: offset: 0x81, out: 0x23b6e000
+lwl :: offset: 0x82, out: 0xffffffffb6e00000
+lwl :: offset: 0x83, out: 0xffffffffe0000000
+lwl :: offset: 0x84, out: 0xffffffff9ce2ab57
+lwl :: offset: 0x85, out: 0xffffffffe2ab5700
+lwl :: offset: 0x86, out: 0xffffffffab570000
+lwl :: offset: 0x87, out: 0x57000000
+lwl :: offset: 0x88, out: 0xffffffff91a18d8e
+lwl :: offset: 0x89, out: 0xffffffffa18d8e00
+lwl :: offset: 0x8a, out: 0xffffffff8d8e0000
+lwl :: offset: 0x8b, out: 0xffffffff8e000000
+lwl :: offset: 0x8c, out: 0xffffffff95609039
+lwl :: offset: 0x8d, out: 0x60903900
+lwl :: offset: 0x8e, out: 0xffffffff90390000
+lwl :: offset: 0x8f, out: 0x39000000
+lwl :: offset: 0x90, out: 0xffffffff8b27c03c
+lwl :: offset: 0x91, out: 0x27c03c00
+lwl :: offset: 0x92, out: 0xffffffffc03c0000
+lwl :: offset: 0x93, out: 0x3c000000
+lwl :: offset: 0x94, out: 0xffffffff8fe6dd8b
+lwl :: offset: 0x95, out: 0xffffffffe6dd8b00
+lwl :: offset: 0x96, out: 0xffffffffdd8b0000
+lwl :: offset: 0x97, out: 0xffffffff8b000000
+lwl :: offset: 0x98, out: 0xffffffff82a5fb52
+lwl :: offset: 0x99, out: 0xffffffffa5fb5200
+lwl :: offset: 0x9a, out: 0xfffffffffb520000
+lwl :: offset: 0x9b, out: 0x52000000
+lwl :: offset: 0x9c, out: 0xffffffff8664e6e5
+lwl :: offset: 0x9d, out: 0x64e6e500
+lwl :: offset: 0x9e, out: 0xffffffffe6e50000
+lwl :: offset: 0x9f, out: 0xffffffffe5000000
+lwl :: offset: 0xa0, out: 0xffffffffbe2b5b58
+lwl :: offset: 0xa1, out: 0x2b5b5800
+lwl :: offset: 0xa2, out: 0x5b580000
+lwl :: offset: 0xa3, out: 0x58000000
+lwl :: offset: 0xa4, out: 0xffffffffbaea46ef
+lwl :: offset: 0xa5, out: 0xffffffffea46ef00
+lwl :: offset: 0xa6, out: 0x46ef0000
+lwl :: offset: 0xa7, out: 0xffffffffef000000
+lwl :: offset: 0xa8, out: 0xffffffffb7a96036
+lwl :: offset: 0xa9, out: 0xffffffffa9603600
+lwl :: offset: 0xaa, out: 0x60360000
+lwl :: offset: 0xab, out: 0x36000000
+lwl :: offset: 0xac, out: 0xffffffffb3687d81
+lwl :: offset: 0xad, out: 0x687d8100
+lwl :: offset: 0xae, out: 0x7d810000
+lwl :: offset: 0xaf, out: 0xffffffff81000000
+lwl :: offset: 0xb0, out: 0xffffffffad2f2d84
+lwl :: offset: 0xb1, out: 0x2f2d8400
+lwl :: offset: 0xb2, out: 0x2d840000
+lwl :: offset: 0xb3, out: 0xffffffff84000000
+lwl :: offset: 0xb4, out: 0xffffffffa9ee3033
+lwl :: offset: 0xb5, out: 0xffffffffee303300
+lwl :: offset: 0xb6, out: 0x30330000
+lwl :: offset: 0xb7, out: 0x33000000
+lwl :: offset: 0xb8, out: 0xffffffffa4ad16ea
+lwl :: offset: 0xb9, out: 0xffffffffad16ea00
+lwl :: offset: 0xba, out: 0x16ea0000
+lwl :: offset: 0xbb, out: 0xffffffffea000000
+lwl :: offset: 0xbc, out: 0xffffffffa06c0b5d
+lwl :: offset: 0xbd, out: 0x6c0b5d00
+lwl :: offset: 0xbe, out: 0xb5d0000
+lwl :: offset: 0xbf, out: 0x5d000000
+lwl :: offset: 0xc0, out: 0xffffffffd4326d90
+lwl :: offset: 0xc1, out: 0x326d9000
+lwl :: offset: 0xc2, out: 0x6d900000
+lwl :: offset: 0xc3, out: 0xffffffff90000000
+lwl :: offset: 0xc4, out: 0xffffffffd0f37027
+lwl :: offset: 0xc5, out: 0xfffffffff3702700
+lwl :: offset: 0xc6, out: 0x70270000
+lwl :: offset: 0xc7, out: 0x27000000
+lwl :: offset: 0xc8, out: 0xffffffffddb056fe
+lwl :: offset: 0xc9, out: 0xffffffffb056fe00
+lwl :: offset: 0xca, out: 0x56fe0000
+lwl :: offset: 0xcb, out: 0xfffffffffe000000
+lwl :: offset: 0xcc, out: 0xffffffffd9714b49
+lwl :: offset: 0xcd, out: 0x714b4900
+lwl :: offset: 0xce, out: 0x4b490000
+lwl :: offset: 0xcf, out: 0x49000000
+lwl :: offset: 0xd0, out: 0xffffffffc7361b4c
+lwl :: offset: 0xd1, out: 0x361b4c00
+lwl :: offset: 0xd2, out: 0x1b4c0000
+lwl :: offset: 0xd3, out: 0x4c000000
+lwl :: offset: 0xd4, out: 0xffffffffc3f706fb
+lwl :: offset: 0xd5, out: 0xfffffffff706fb00
+lwl :: offset: 0xd6, out: 0x6fb0000
+lwl :: offset: 0xd7, out: 0xfffffffffb000000
+lwl :: offset: 0xd8, out: 0xffffffffceb42022
+lwl :: offset: 0xd9, out: 0xffffffffb4202200
+lwl :: offset: 0xda, out: 0x20220000
+lwl :: offset: 0xdb, out: 0x22000000
+lwl :: offset: 0xdc, out: 0xffffffffca753d95
+lwl :: offset: 0xdd, out: 0x753d9500
+lwl :: offset: 0xde, out: 0x3d950000
+lwl :: offset: 0xdf, out: 0xffffffff95000000
+lwl :: offset: 0xe0, out: 0xfffffffff23a8028
+lwl :: offset: 0xe1, out: 0x3a802800
+lwl :: offset: 0xe2, out: 0xffffffff80280000
+lwl :: offset: 0xe3, out: 0x28000000
+lwl :: offset: 0xe4, out: 0xfffffffff6fb9d9f
+lwl :: offset: 0xe5, out: 0xfffffffffb9d9f00
+lwl :: offset: 0xe6, out: 0xffffffff9d9f0000
+lwl :: offset: 0xe7, out: 0xffffffff9f000000
+lwl :: offset: 0xe8, out: 0xfffffffffbb8bb46
+lwl :: offset: 0xe9, out: 0xffffffffb8bb4600
+lwl :: offset: 0xea, out: 0xffffffffbb460000
+lwl :: offset: 0xeb, out: 0x46000000
+lwl :: offset: 0xec, out: 0xffffffffff79a6f1
+lwl :: offset: 0xed, out: 0x79a6f100
+lwl :: offset: 0xee, out: 0xffffffffa6f10000
+lwl :: offset: 0xef, out: 0xfffffffff1000000
+lwl :: offset: 0xf0, out: 0xffffffffe13ef6f4
+lwl :: offset: 0xf1, out: 0x3ef6f400
+lwl :: offset: 0xf2, out: 0xfffffffff6f40000
+lwl :: offset: 0xf3, out: 0xfffffffff4000000
+lwl :: offset: 0xf4, out: 0xffffffffe5ffeb43
+lwl :: offset: 0xf5, out: 0xffffffffffeb4300
+lwl :: offset: 0xf6, out: 0xffffffffeb430000
+lwl :: offset: 0xf7, out: 0x43000000
+lwl :: offset: 0xf8, out: 0xffffffffe8bccd9a
+lwl :: offset: 0xf9, out: 0xffffffffbccd9a00
+lwl :: offset: 0xfa, out: 0xffffffffcd9a0000
+lwl :: offset: 0xfb, out: 0xffffffff9a000000
+lwl :: offset: 0xfc, out: 0xffffffffec7dd02d
+lwl :: offset: 0xfd, out: 0x7dd02d00
+lwl :: offset: 0xfe, out: 0xffffffffd02d0000
+lwl :: offset: 0xff, out: 0x2d000000
+lwl :: offset: 0x100, out: 0x34867077
+lwl :: offset: 0x101, out: 0xffffffff86707700
+lwl :: offset: 0x102, out: 0x70770000
+lwl :: offset: 0x103, out: 0x77000000
+lwl :: offset: 0x104, out: 0x30476dc0
+lwl :: offset: 0x105, out: 0x476dc000
+lwl :: offset: 0x106, out: 0x6dc00000
+lwl :: offset: 0x107, out: 0xffffffffc0000000
+lwl :: offset: 0x108, out: 0x3d044b19
+lwl :: offset: 0x109, out: 0x44b1900
+lwl :: offset: 0x10a, out: 0x4b190000
+lwl :: offset: 0x10b, out: 0x19000000
+lwl :: offset: 0x10c, out: 0x39c556ae
+lwl :: offset: 0x10d, out: 0xffffffffc556ae00
+lwl :: offset: 0x10e, out: 0x56ae0000
+lwl :: offset: 0x10f, out: 0xffffffffae000000
+lwl :: offset: 0x110, out: 0x278206ab
+lwl :: offset: 0x111, out: 0xffffffff8206ab00
+lwl :: offset: 0x112, out: 0x6ab0000
+lwl :: offset: 0x113, out: 0xffffffffab000000
+lwl :: offset: 0x114, out: 0x23431b1c
+lwl :: offset: 0x115, out: 0x431b1c00
+lwl :: offset: 0x116, out: 0x1b1c0000
+lwl :: offset: 0x117, out: 0x1c000000
+lwl :: offset: 0x118, out: 0x2e003dc5
+lwl :: offset: 0x119, out: 0x3dc500
+lwl :: offset: 0x11a, out: 0x3dc50000
+lwl :: offset: 0x11b, out: 0xffffffffc5000000
+lwl :: offset: 0x11c, out: 0x2ac12072
+lwl :: offset: 0x11d, out: 0xffffffffc1207200
+lwl :: offset: 0x11e, out: 0x20720000
+lwl :: offset: 0x11f, out: 0x72000000
+lwl :: offset: 0x120, out: 0x128e9dcf
+lwl :: offset: 0x121, out: 0xffffffff8e9dcf00
+lwl :: offset: 0x122, out: 0xffffffff9dcf0000
+lwl :: offset: 0x123, out: 0xffffffffcf000000
+lwl :: offset: 0x124, out: 0x164f8078
+lwl :: offset: 0x125, out: 0x4f807800
+lwl :: offset: 0x126, out: 0xffffffff80780000
+lwl :: offset: 0x127, out: 0x78000000
+lwl :: offset: 0x128, out: 0x1b0ca6a1
+lwl :: offset: 0x129, out: 0xca6a100
+lwl :: offset: 0x12a, out: 0xffffffffa6a10000
+lwl :: offset: 0x12b, out: 0xffffffffa1000000
+lwl :: offset: 0x12c, out: 0x1fcdbb16
+lwl :: offset: 0x12d, out: 0xffffffffcdbb1600
+lwl :: offset: 0x12e, out: 0xffffffffbb160000
+lwl :: offset: 0x12f, out: 0x16000000
+lwl :: offset: 0x130, out: 0x18aeb13
+lwl :: offset: 0x131, out: 0xffffffff8aeb1300
+lwl :: offset: 0x132, out: 0xffffffffeb130000
+lwl :: offset: 0x133, out: 0x13000000
+lwl :: offset: 0x134, out: 0x54bf6a4
+lwl :: offset: 0x135, out: 0x4bf6a400
+lwl :: offset: 0x136, out: 0xfffffffff6a40000
+lwl :: offset: 0x137, out: 0xffffffffa4000000
+lwl :: offset: 0x138, out: 0x808d07d
+lwl :: offset: 0x139, out: 0x8d07d00
+lwl :: offset: 0x13a, out: 0xffffffffd07d0000
+lwl :: offset: 0x13b, out: 0x7d000000
+lwl :: offset: 0x13c, out: 0xcc9cdca
+lwl :: offset: 0x13d, out: 0xffffffffc9cdca00
+lwl :: offset: 0x13e, out: 0xffffffffcdca0000
+lwl :: offset: 0x13f, out: 0xffffffffca000000
+lwl :: offset: 0x140, out: 0x7897ab07
+lwl :: offset: 0x141, out: 0xffffffff97ab0700
+lwl :: offset: 0x142, out: 0xffffffffab070000
+lwl :: offset: 0x143, out: 0x7000000
+lwl :: offset: 0x144, out: 0x7c56b6b0
+lwl :: offset: 0x145, out: 0x56b6b000
+lwl :: offset: 0x146, out: 0xffffffffb6b00000
+lwl :: offset: 0x147, out: 0xffffffffb0000000
+lwl :: offset: 0x148, out: 0x71159069
+lwl :: offset: 0x149, out: 0x15906900
+lwl :: offset: 0x14a, out: 0xffffffff90690000
+lwl :: offset: 0x14b, out: 0x69000000
+lwl :: offset: 0x14c, out: 0x75d48dde
+lwl :: offset: 0x14d, out: 0xffffffffd48dde00
+lwl :: offset: 0x14e, out: 0xffffffff8dde0000
+lwl :: offset: 0x14f, out: 0xffffffffde000000
+lwl :: offset: 0x150, out: 0x6b93dddb
+lwl :: offset: 0x151, out: 0xffffffff93dddb00
+lwl :: offset: 0x152, out: 0xffffffffdddb0000
+lwl :: offset: 0x153, out: 0xffffffffdb000000
+lwl :: offset: 0x154, out: 0x6f52c06c
+lwl :: offset: 0x155, out: 0x52c06c00
+lwl :: offset: 0x156, out: 0xffffffffc06c0000
+lwl :: offset: 0x157, out: 0x6c000000
+lwl :: offset: 0x158, out: 0x6211e6b5
+lwl :: offset: 0x159, out: 0x11e6b500
+lwl :: offset: 0x15a, out: 0xffffffffe6b50000
+lwl :: offset: 0x15b, out: 0xffffffffb5000000
+lwl :: offset: 0x15c, out: 0x66d0fb02
+lwl :: offset: 0x15d, out: 0xffffffffd0fb0200
+lwl :: offset: 0x15e, out: 0xfffffffffb020000
+lwl :: offset: 0x15f, out: 0x2000000
+lwl :: offset: 0x160, out: 0x5e9f46bf
+lwl :: offset: 0x161, out: 0xffffffff9f46bf00
+lwl :: offset: 0x162, out: 0x46bf0000
+lwl :: offset: 0x163, out: 0xffffffffbf000000
+lwl :: offset: 0x164, out: 0x5a5e5b08
+lwl :: offset: 0x165, out: 0x5e5b0800
+lwl :: offset: 0x166, out: 0x5b080000
+lwl :: offset: 0x167, out: 0x8000000
+lwl :: offset: 0x168, out: 0x571d7dd1
+lwl :: offset: 0x169, out: 0x1d7dd100
+lwl :: offset: 0x16a, out: 0x7dd10000
+lwl :: offset: 0x16b, out: 0xffffffffd1000000
+lwl :: offset: 0x16c, out: 0x53dc6066
+lwl :: offset: 0x16d, out: 0xffffffffdc606600
+lwl :: offset: 0x16e, out: 0x60660000
+lwl :: offset: 0x16f, out: 0x66000000
+lwl :: offset: 0x170, out: 0x4d9b3063
+lwl :: offset: 0x171, out: 0xffffffff9b306300
+lwl :: offset: 0x172, out: 0x30630000
+lwl :: offset: 0x173, out: 0x63000000
+lwl :: offset: 0x174, out: 0x495a2dd4
+lwl :: offset: 0x175, out: 0x5a2dd400
+lwl :: offset: 0x176, out: 0x2dd40000
+lwl :: offset: 0x177, out: 0xffffffffd4000000
+lwl :: offset: 0x178, out: 0x44190b0d
+lwl :: offset: 0x179, out: 0x190b0d00
+lwl :: offset: 0x17a, out: 0xb0d0000
+lwl :: offset: 0x17b, out: 0xd000000
+lwl :: offset: 0x17c, out: 0x40d816ba
+lwl :: offset: 0x17d, out: 0xffffffffd816ba00
+lwl :: offset: 0x17e, out: 0x16ba0000
+lwl :: offset: 0x17f, out: 0xffffffffba000000
+lwl :: offset: 0x180, out: 0xffffffffaca5c697
+lwl :: offset: 0x181, out: 0xffffffffa5c69700
+lwl :: offset: 0x182, out: 0xffffffffc6970000
+lwl :: offset: 0x183, out: 0xffffffff97000000
+lwl :: offset: 0x184, out: 0xffffffffa864db20
+lwl :: offset: 0x185, out: 0x64db2000
+lwl :: offset: 0x186, out: 0xffffffffdb200000
+lwl :: offset: 0x187, out: 0x20000000
+lwl :: offset: 0x188, out: 0xffffffffa527fdf9
+lwl :: offset: 0x189, out: 0x27fdf900
+lwl :: offset: 0x18a, out: 0xfffffffffdf90000
+lwl :: offset: 0x18b, out: 0xfffffffff9000000
+lwl :: offset: 0x18c, out: 0xffffffffa1e6e04e
+lwl :: offset: 0x18d, out: 0xffffffffe6e04e00
+lwl :: offset: 0x18e, out: 0xffffffffe04e0000
+lwl :: offset: 0x18f, out: 0x4e000000
+lwl :: offset: 0x190, out: 0xffffffffbfa1b04b
+lwl :: offset: 0x191, out: 0xffffffffa1b04b00
+lwl :: offset: 0x192, out: 0xffffffffb04b0000
+lwl :: offset: 0x193, out: 0x4b000000
+lwl :: offset: 0x194, out: 0xffffffffbb60adfc
+lwl :: offset: 0x195, out: 0x60adfc00
+lwl :: offset: 0x196, out: 0xffffffffadfc0000
+lwl :: offset: 0x197, out: 0xfffffffffc000000
+lwl :: offset: 0x198, out: 0xffffffffb6238b25
+lwl :: offset: 0x199, out: 0x238b2500
+lwl :: offset: 0x19a, out: 0xffffffff8b250000
+lwl :: offset: 0x19b, out: 0x25000000
+lwl :: offset: 0x19c, out: 0xffffffffb2e29692
+lwl :: offset: 0x19d, out: 0xffffffffe2969200
+lwl :: offset: 0x19e, out: 0xffffffff96920000
+lwl :: offset: 0x19f, out: 0xffffffff92000000
+lwl :: offset: 0x1a0, out: 0xffffffff8aad2b2f
+lwl :: offset: 0x1a1, out: 0xffffffffad2b2f00
+lwl :: offset: 0x1a2, out: 0x2b2f0000
+lwl :: offset: 0x1a3, out: 0x2f000000
+lwl :: offset: 0x1a4, out: 0x0
+lwl :: offset: 0x1a5, out: 0x0
+lwl :: offset: 0x1a6, out: 0x0
+lwl :: offset: 0x1a7, out: 0x0
+lwl :: offset: 0x1a8, out: 0x0
+lwl :: offset: 0x1a9, out: 0x0
+lwl :: offset: 0x1aa, out: 0x0
+lwl :: offset: 0x1ab, out: 0x0
+lwl :: offset: 0x1ac, out: 0xffffffff87ee0df6
+lwl :: offset: 0x1ad, out: 0xffffffffee0df600
+lwl :: offset: 0x1ae, out: 0xdf60000
+lwl :: offset: 0x1af, out: 0xfffffffff6000000
+lwl :: offset: 0x1b0, out: 0xffffffff99a95df3
+lwl :: offset: 0x1b1, out: 0xffffffffa95df300
+lwl :: offset: 0x1b2, out: 0x5df30000
+lwl :: offset: 0x1b3, out: 0xfffffffff3000000
+lwl :: offset: 0x1b4, out: 0xffffffff9d684044
+lwl :: offset: 0x1b5, out: 0x68404400
+lwl :: offset: 0x1b6, out: 0x40440000
+lwl :: offset: 0x1b7, out: 0x44000000
+lwl :: offset: 0x1b8, out: 0xffffffff902b669d
+lwl :: offset: 0x1b9, out: 0x2b669d00
+lwl :: offset: 0x1ba, out: 0x669d0000
+lwl :: offset: 0x1bb, out: 0xffffffff9d000000
+lwl :: offset: 0x1bc, out: 0xffffffff94ea7b2a
+lwl :: offset: 0x1bd, out: 0xffffffffea7b2a00
+lwl :: offset: 0x1be, out: 0x7b2a0000
+lwl :: offset: 0x1bf, out: 0x2a000000
+lwl :: offset: 0x1c0, out: 0xffffffffe0b41de7
+lwl :: offset: 0x1c1, out: 0xffffffffb41de700
+lwl :: offset: 0x1c2, out: 0x1de70000
+lwl :: offset: 0x1c3, out: 0xffffffffe7000000
+lwl :: offset: 0x1c4, out: 0xffffffffe4750050
+lwl :: offset: 0x1c5, out: 0x75005000
+lwl :: offset: 0x1c6, out: 0x500000
+lwl :: offset: 0x1c7, out: 0x50000000
+lwl :: offset: 0x1c8, out: 0xffffffffe9362689
+lwl :: offset: 0x1c9, out: 0x36268900
+lwl :: offset: 0x1ca, out: 0x26890000
+lwl :: offset: 0x1cb, out: 0xffffffff89000000
+lwl :: offset: 0x1cc, out: 0xffffffffedf73b3e
+lwl :: offset: 0x1cd, out: 0xfffffffff73b3e00
+lwl :: offset: 0x1ce, out: 0x3b3e0000
+lwl :: offset: 0x1cf, out: 0x3e000000
+lwl :: offset: 0x1d0, out: 0xfffffffff3b06b3b
+lwl :: offset: 0x1d1, out: 0xffffffffb06b3b00
+lwl :: offset: 0x1d2, out: 0x6b3b0000
+lwl :: offset: 0x1d3, out: 0x3b000000
+lwl :: offset: 0x1d4, out: 0xfffffffff771768c
+lwl :: offset: 0x1d5, out: 0x71768c00
+lwl :: offset: 0x1d6, out: 0x768c0000
+lwl :: offset: 0x1d7, out: 0xffffffff8c000000
+lwl :: offset: 0x1d8, out: 0xfffffffffa325055
+lwl :: offset: 0x1d9, out: 0x32505500
+lwl :: offset: 0x1da, out: 0x50550000
+lwl :: offset: 0x1db, out: 0x55000000
+lwl :: offset: 0x1dc, out: 0xfffffffffef34de2
+lwl :: offset: 0x1dd, out: 0xfffffffff34de200
+lwl :: offset: 0x1de, out: 0x4de20000
+lwl :: offset: 0x1df, out: 0xffffffffe2000000
+lwl :: offset: 0x1e0, out: 0xffffffffc6bcf05f
+lwl :: offset: 0x1e1, out: 0xffffffffbcf05f00
+lwl :: offset: 0x1e2, out: 0xfffffffff05f0000
+lwl :: offset: 0x1e3, out: 0x5f000000
+lwl :: offset: 0x1e4, out: 0xffffffffc27dede8
+lwl :: offset: 0x1e5, out: 0x7dede800
+lwl :: offset: 0x1e6, out: 0xffffffffede80000
+lwl :: offset: 0x1e7, out: 0xffffffffe8000000
+lwl :: offset: 0x1e8, out: 0xffffffffcf3ecb31
+lwl :: offset: 0x1e9, out: 0x3ecb3100
+lwl :: offset: 0x1ea, out: 0xffffffffcb310000
+lwl :: offset: 0x1eb, out: 0x31000000
+lwl :: offset: 0x1ec, out: 0xffffffffcbffd686
+lwl :: offset: 0x1ed, out: 0xffffffffffd68600
+lwl :: offset: 0x1ee, out: 0xffffffffd6860000
+lwl :: offset: 0x1ef, out: 0xffffffff86000000
+lwl :: offset: 0x1f0, out: 0xffffffffd5b88683
+lwl :: offset: 0x1f1, out: 0xffffffffb8868300
+lwl :: offset: 0x1f2, out: 0xffffffff86830000
+lwl :: offset: 0x1f3, out: 0xffffffff83000000
+lwl :: offset: 0x1f4, out: 0xffffffffd1799b34
+lwl :: offset: 0x1f5, out: 0x799b3400
+lwl :: offset: 0x1f6, out: 0xffffffff9b340000
+lwl :: offset: 0x1f7, out: 0x34000000
+lwl :: offset: 0x1f8, out: 0xffffffffdc3abded
+lwl :: offset: 0x1f9, out: 0x3abded00
+lwl :: offset: 0x1fa, out: 0xffffffffbded0000
+lwl :: offset: 0x1fb, out: 0xffffffffed000000
+lwl :: offset: 0x1fc, out: 0xffffffffd8fba05a
+lwl :: offset: 0x1fd, out: 0xfffffffffba05a00
+lwl :: offset: 0x1fe, out: 0xffffffffa05a0000
+lwl :: offset: 0x1ff, out: 0x5a000000
+lwl :: offset: 0x200, out: 0x690ce0ee
+lwl :: offset: 0x201, out: 0xce0ee00
+lwl :: offset: 0x202, out: 0xffffffffe0ee0000
+lwl :: offset: 0x203, out: 0xffffffffee000000
+lwl :: offset: 0x204, out: 0x6dcdfd59
+lwl :: offset: 0x205, out: 0xffffffffcdfd5900
+lwl :: offset: 0x206, out: 0xfffffffffd590000
+lwl :: offset: 0x207, out: 0x59000000
+lwl :: offset: 0x208, out: 0x608edb80
+lwl :: offset: 0x209, out: 0xffffffff8edb8000
+lwl :: offset: 0x20a, out: 0xffffffffdb800000
+lwl :: offset: 0x20b, out: 0xffffffff80000000
+lwl :: offset: 0x20c, out: 0x644fc637
+lwl :: offset: 0x20d, out: 0x4fc63700
+lwl :: offset: 0x20e, out: 0xffffffffc6370000
+lwl :: offset: 0x20f, out: 0x37000000
+lwl :: offset: 0x210, out: 0x7a089632
+lwl :: offset: 0x211, out: 0x8963200
+lwl :: offset: 0x212, out: 0xffffffff96320000
+lwl :: offset: 0x213, out: 0x32000000
+lwl :: offset: 0x214, out: 0x7ec98b85
+lwl :: offset: 0x215, out: 0xffffffffc98b8500
+lwl :: offset: 0x216, out: 0xffffffff8b850000
+lwl :: offset: 0x217, out: 0xffffffff85000000
+lwl :: offset: 0x218, out: 0x738aad5c
+lwl :: offset: 0x219, out: 0xffffffff8aad5c00
+lwl :: offset: 0x21a, out: 0xffffffffad5c0000
+lwl :: offset: 0x21b, out: 0x5c000000
+lwl :: offset: 0x21c, out: 0x774bb0eb
+lwl :: offset: 0x21d, out: 0x4bb0eb00
+lwl :: offset: 0x21e, out: 0xffffffffb0eb0000
+lwl :: offset: 0x21f, out: 0xffffffffeb000000
+lwl :: offset: 0x220, out: 0x4f040d56
+lwl :: offset: 0x221, out: 0x40d5600
+lwl :: offset: 0x222, out: 0xd560000
+lwl :: offset: 0x223, out: 0x56000000
+lwl :: offset: 0x224, out: 0x4bc510e1
+lwl :: offset: 0x225, out: 0xffffffffc510e100
+lwl :: offset: 0x226, out: 0x10e10000
+lwl :: offset: 0x227, out: 0xffffffffe1000000
+lwl :: offset: 0x228, out: 0x46863638
+lwl :: offset: 0x229, out: 0xffffffff86363800
+lwl :: offset: 0x22a, out: 0x36380000
+lwl :: offset: 0x22b, out: 0x38000000
+lwl :: offset: 0x22c, out: 0x42472b8f
+lwl :: offset: 0x22d, out: 0x472b8f00
+lwl :: offset: 0x22e, out: 0x2b8f0000
+lwl :: offset: 0x22f, out: 0xffffffff8f000000
+lwl :: offset: 0x230, out: 0x5c007b8a
+lwl :: offset: 0x231, out: 0x7b8a00
+lwl :: offset: 0x232, out: 0x7b8a0000
+lwl :: offset: 0x233, out: 0xffffffff8a000000
+lwl :: offset: 0x234, out: 0x58c1663d
+lwl :: offset: 0x235, out: 0xffffffffc1663d00
+lwl :: offset: 0x236, out: 0x663d0000
+lwl :: offset: 0x237, out: 0x3d000000
+lwl :: offset: 0x238, out: 0x558240e4
+lwl :: offset: 0x239, out: 0xffffffff8240e400
+lwl :: offset: 0x23a, out: 0x40e40000
+lwl :: offset: 0x23b, out: 0xffffffffe4000000
+lwl :: offset: 0x23c, out: 0x51435d53
+lwl :: offset: 0x23d, out: 0x435d5300
+lwl :: offset: 0x23e, out: 0x5d530000
+lwl :: offset: 0x23f, out: 0x53000000
+lwl :: offset: 0x240, out: 0x251d3b9e
+lwl :: offset: 0x241, out: 0x1d3b9e00
+lwl :: offset: 0x242, out: 0x3b9e0000
+lwl :: offset: 0x243, out: 0xffffffff9e000000
+lwl :: offset: 0x244, out: 0x21dc2629
+lwl :: offset: 0x245, out: 0xffffffffdc262900
+lwl :: offset: 0x246, out: 0x26290000
+lwl :: offset: 0x247, out: 0x29000000
+lwl :: offset: 0x248, out: 0x2c9f00f0
+lwl :: offset: 0x249, out: 0xffffffff9f00f000
+lwl :: offset: 0x24a, out: 0xf00000
+lwl :: offset: 0x24b, out: 0xfffffffff0000000
+lwl :: offset: 0x24c, out: 0x285e1d47
+lwl :: offset: 0x24d, out: 0x5e1d4700
+lwl :: offset: 0x24e, out: 0x1d470000
+lwl :: offset: 0x24f, out: 0x47000000
+lwl :: offset: 0x250, out: 0x36194d42
+lwl :: offset: 0x251, out: 0x194d4200
+lwl :: offset: 0x252, out: 0x4d420000
+lwl :: offset: 0x253, out: 0x42000000
+lwl :: offset: 0x254, out: 0x32d850f5
+lwl :: offset: 0x255, out: 0xffffffffd850f500
+lwl :: offset: 0x256, out: 0x50f50000
+lwl :: offset: 0x257, out: 0xfffffffff5000000
+lwl :: offset: 0x258, out: 0x3f9b762c
+lwl :: offset: 0x259, out: 0xffffffff9b762c00
+lwl :: offset: 0x25a, out: 0x762c0000
+lwl :: offset: 0x25b, out: 0x2c000000
+lwl :: offset: 0x25c, out: 0x3b5a6b9b
+lwl :: offset: 0x25d, out: 0x5a6b9b00
+lwl :: offset: 0x25e, out: 0x6b9b0000
+lwl :: offset: 0x25f, out: 0xffffffff9b000000
+lwl :: offset: 0x260, out: 0x315d626
+lwl :: offset: 0x261, out: 0x15d62600
+lwl :: offset: 0x262, out: 0xffffffffd6260000
+lwl :: offset: 0x263, out: 0x26000000
+lwl :: offset: 0x264, out: 0x7d4cb91
+lwl :: offset: 0x265, out: 0xffffffffd4cb9100
+lwl :: offset: 0x266, out: 0xffffffffcb910000
+lwl :: offset: 0x267, out: 0xffffffff91000000
+lwl :: offset: 0x268, out: 0xa97ed48
+lwl :: offset: 0x269, out: 0xffffffff97ed4800
+lwl :: offset: 0x26a, out: 0xffffffffed480000
+lwl :: offset: 0x26b, out: 0x48000000
+lwl :: offset: 0x26c, out: 0xe56f0ff
+lwl :: offset: 0x26d, out: 0x56f0ff00
+lwl :: offset: 0x26e, out: 0xfffffffff0ff0000
+lwl :: offset: 0x26f, out: 0xffffffffff000000
+lwl :: offset: 0x270, out: 0x1011a0fa
+lwl :: offset: 0x271, out: 0x11a0fa00
+lwl :: offset: 0x272, out: 0xffffffffa0fa0000
+lwl :: offset: 0x273, out: 0xfffffffffa000000
+lwl :: offset: 0x274, out: 0x14d0bd4d
+lwl :: offset: 0x275, out: 0xffffffffd0bd4d00
+lwl :: offset: 0x276, out: 0xffffffffbd4d0000
+lwl :: offset: 0x277, out: 0x4d000000
+lwl :: offset: 0x278, out: 0x19939b94
+lwl :: offset: 0x279, out: 0xffffffff939b9400
+lwl :: offset: 0x27a, out: 0xffffffff9b940000
+lwl :: offset: 0x27b, out: 0xffffffff94000000
+lwl :: offset: 0x27c, out: 0x1d528623
+lwl :: offset: 0x27d, out: 0x52862300
+lwl :: offset: 0x27e, out: 0xffffffff86230000
+lwl :: offset: 0x27f, out: 0x23000000
+lwl :: offset: 0x280, out: 0xfffffffff12f560e
+lwl :: offset: 0x281, out: 0x2f560e00
+lwl :: offset: 0x282, out: 0x560e0000
+lwl :: offset: 0x283, out: 0xe000000
+lwl :: offset: 0x284, out: 0xfffffffff5ee4bb9
+lwl :: offset: 0x285, out: 0xffffffffee4bb900
+lwl :: offset: 0x286, out: 0x4bb90000
+lwl :: offset: 0x287, out: 0xffffffffb9000000
+lwl :: offset: 0x288, out: 0xfffffffff8ad6d60
+lwl :: offset: 0x289, out: 0xffffffffad6d6000
+lwl :: offset: 0x28a, out: 0x6d600000
+lwl :: offset: 0x28b, out: 0x60000000
+lwl :: offset: 0x28c, out: 0xfffffffffc6c70d7
+lwl :: offset: 0x28d, out: 0x6c70d700
+lwl :: offset: 0x28e, out: 0x70d70000
+lwl :: offset: 0x28f, out: 0xffffffffd7000000
+lwl :: offset: 0x290, out: 0xffffffffe22b20d2
+lwl :: offset: 0x291, out: 0x2b20d200
+lwl :: offset: 0x292, out: 0x20d20000
+lwl :: offset: 0x293, out: 0xffffffffd2000000
+lwl :: offset: 0x294, out: 0xffffffffe6ea3d65
+lwl :: offset: 0x295, out: 0xffffffffea3d6500
+lwl :: offset: 0x296, out: 0x3d650000
+lwl :: offset: 0x297, out: 0x65000000
+lwl :: offset: 0x298, out: 0xffffffffeba91bbc
+lwl :: offset: 0x299, out: 0xffffffffa91bbc00
+lwl :: offset: 0x29a, out: 0x1bbc0000
+lwl :: offset: 0x29b, out: 0xffffffffbc000000
+lwl :: offset: 0x29c, out: 0xffffffffef68060b
+lwl :: offset: 0x29d, out: 0x68060b00
+lwl :: offset: 0x29e, out: 0x60b0000
+lwl :: offset: 0x29f, out: 0xb000000
+lwl :: offset: 0x2a0, out: 0xffffffffd727bbb6
+lwl :: offset: 0x2a1, out: 0x27bbb600
+lwl :: offset: 0x2a2, out: 0xffffffffbbb60000
+lwl :: offset: 0x2a3, out: 0xffffffffb6000000
+lwl :: offset: 0x2a4, out: 0xffffffffd3e6a601
+lwl :: offset: 0x2a5, out: 0xffffffffe6a60100
+lwl :: offset: 0x2a6, out: 0xffffffffa6010000
+lwl :: offset: 0x2a7, out: 0x1000000
+lwl :: offset: 0x2a8, out: 0xffffffffdea580d8
+lwl :: offset: 0x2a9, out: 0xffffffffa580d800
+lwl :: offset: 0x2aa, out: 0xffffffff80d80000
+lwl :: offset: 0x2ab, out: 0xffffffffd8000000
+lwl :: offset: 0x2ac, out: 0xffffffffda649d6f
+lwl :: offset: 0x2ad, out: 0x649d6f00
+lwl :: offset: 0x2ae, out: 0xffffffff9d6f0000
+lwl :: offset: 0x2af, out: 0x6f000000
+lwl :: offset: 0x2b0, out: 0xffffffffc423cd6a
+lwl :: offset: 0x2b1, out: 0x23cd6a00
+lwl :: offset: 0x2b2, out: 0xffffffffcd6a0000
+lwl :: offset: 0x2b3, out: 0x6a000000
+lwl :: offset: 0x2b4, out: 0x0
+lwl :: offset: 0x2b5, out: 0x0
+lwl :: offset: 0x2b6, out: 0x0
+lwl :: offset: 0x2b7, out: 0x0
+lwl :: offset: 0x2b8, out: 0xffffffffcda1f604
+lwl :: offset: 0x2b9, out: 0xffffffffa1f60400
+lwl :: offset: 0x2ba, out: 0xfffffffff6040000
+lwl :: offset: 0x2bb, out: 0x4000000
+lwl :: offset: 0x2bc, out: 0x0
+lwl :: offset: 0x2bd, out: 0x0
+lwl :: offset: 0x2be, out: 0x0
+lwl :: offset: 0x2bf, out: 0x0
+lwl :: offset: 0x2c0, out: 0xffffffffbd3e8d7e
+lwl :: offset: 0x2c1, out: 0x3e8d7e00
+lwl :: offset: 0x2c2, out: 0xffffffff8d7e0000
+lwl :: offset: 0x2c3, out: 0x7e000000
+lwl :: offset: 0x2c4, out: 0xffffffffb9ff90c9
+lwl :: offset: 0x2c5, out: 0xffffffffff90c900
+lwl :: offset: 0x2c6, out: 0xffffffff90c90000
+lwl :: offset: 0x2c7, out: 0xffffffffc9000000
+lwl :: offset: 0x2c8, out: 0xffffffffb4bcb610
+lwl :: offset: 0x2c9, out: 0xffffffffbcb61000
+lwl :: offset: 0x2ca, out: 0xffffffffb6100000
+lwl :: offset: 0x2cb, out: 0x10000000
+lwl :: offset: 0x2cc, out: 0xffffffffb07daba7
+lwl :: offset: 0x2cd, out: 0x7daba700
+lwl :: offset: 0x2ce, out: 0xffffffffaba70000
+lwl :: offset: 0x2cf, out: 0xffffffffa7000000
+lwl :: offset: 0x2d0, out: 0xffffffffae3afba2
+lwl :: offset: 0x2d1, out: 0x3afba200
+lwl :: offset: 0x2d2, out: 0xfffffffffba20000
+lwl :: offset: 0x2d3, out: 0xffffffffa2000000
+lwl :: offset: 0x2d4, out: 0xffffffffaafbe615
+lwl :: offset: 0x2d5, out: 0xfffffffffbe61500
+lwl :: offset: 0x2d6, out: 0xffffffffe6150000
+lwl :: offset: 0x2d7, out: 0x15000000
+lwl :: offset: 0x2d8, out: 0xffffffffa7b8c0cc
+lwl :: offset: 0x2d9, out: 0xffffffffb8c0cc00
+lwl :: offset: 0x2da, out: 0xffffffffc0cc0000
+lwl :: offset: 0x2db, out: 0xffffffffcc000000
+lwl :: offset: 0x2dc, out: 0xffffffffa379dd7b
+lwl :: offset: 0x2dd, out: 0x79dd7b00
+lwl :: offset: 0x2de, out: 0xffffffffdd7b0000
+lwl :: offset: 0x2df, out: 0x7b000000
+lwl :: offset: 0x2e0, out: 0xffffffff9b3660c6
+lwl :: offset: 0x2e1, out: 0x3660c600
+lwl :: offset: 0x2e2, out: 0x60c60000
+lwl :: offset: 0x2e3, out: 0xffffffffc6000000
+lwl :: offset: 0x2e4, out: 0xffffffff9ff77d71
+lwl :: offset: 0x2e5, out: 0xfffffffff77d7100
+lwl :: offset: 0x2e6, out: 0x7d710000
+lwl :: offset: 0x2e7, out: 0x71000000
+lwl :: offset: 0x2e8, out: 0xffffffff92b45ba8
+lwl :: offset: 0x2e9, out: 0xffffffffb45ba800
+lwl :: offset: 0x2ea, out: 0x5ba80000
+lwl :: offset: 0x2eb, out: 0xffffffffa8000000
+lwl :: offset: 0x2ec, out: 0xffffffff9675461f
+lwl :: offset: 0x2ed, out: 0x75461f00
+lwl :: offset: 0x2ee, out: 0x461f0000
+lwl :: offset: 0x2ef, out: 0x1f000000
+lwl :: offset: 0x2f0, out: 0xffffffff8832161a
+lwl :: offset: 0x2f1, out: 0x32161a00
+lwl :: offset: 0x2f2, out: 0x161a0000
+lwl :: offset: 0x2f3, out: 0x1a000000
+lwl :: offset: 0x2f4, out: 0xffffffff8cf30bad
+lwl :: offset: 0x2f5, out: 0xfffffffff30bad00
+lwl :: offset: 0x2f6, out: 0xbad0000
+lwl :: offset: 0x2f7, out: 0xffffffffad000000
+lwl :: offset: 0x2f8, out: 0xffffffff81b02d74
+lwl :: offset: 0x2f9, out: 0xffffffffb02d7400
+lwl :: offset: 0x2fa, out: 0x2d740000
+lwl :: offset: 0x2fb, out: 0x74000000
+lwl :: offset: 0x2fc, out: 0xffffffff857130c3
+lwl :: offset: 0x2fd, out: 0x7130c300
+lwl :: offset: 0x2fe, out: 0x30c30000
+lwl :: offset: 0x2ff, out: 0xffffffffc3000000
+lwl :: offset: 0x300, out: 0x5d8a9099
+lwl :: offset: 0x301, out: 0xffffffff8a909900
+lwl :: offset: 0x302, out: 0xffffffff90990000
+lwl :: offset: 0x303, out: 0xffffffff99000000
+lwl :: offset: 0x304, out: 0x594b8d2e
+lwl :: offset: 0x305, out: 0x4b8d2e00
+lwl :: offset: 0x306, out: 0xffffffff8d2e0000
+lwl :: offset: 0x307, out: 0x2e000000
+lwl :: offset: 0x308, out: 0x5408abf7
+lwl :: offset: 0x309, out: 0x8abf700
+lwl :: offset: 0x30a, out: 0xffffffffabf70000
+lwl :: offset: 0x30b, out: 0xfffffffff7000000
+lwl :: offset: 0x30c, out: 0x50c9b640
+lwl :: offset: 0x30d, out: 0xffffffffc9b64000
+lwl :: offset: 0x30e, out: 0xffffffffb6400000
+lwl :: offset: 0x30f, out: 0x40000000
+lwl :: offset: 0x310, out: 0x4e8ee645
+lwl :: offset: 0x311, out: 0xffffffff8ee64500
+lwl :: offset: 0x312, out: 0xffffffffe6450000
+lwl :: offset: 0x313, out: 0x45000000
+lwl :: offset: 0x314, out: 0x4a4ffbf2
+lwl :: offset: 0x315, out: 0x4ffbf200
+lwl :: offset: 0x316, out: 0xfffffffffbf20000
+lwl :: offset: 0x317, out: 0xfffffffff2000000
+lwl :: offset: 0x318, out: 0x470cdd2b
+lwl :: offset: 0x319, out: 0xcdd2b00
+lwl :: offset: 0x31a, out: 0xffffffffdd2b0000
+lwl :: offset: 0x31b, out: 0x2b000000
+lwl :: offset: 0x31c, out: 0x43cdc09c
+lwl :: offset: 0x31d, out: 0xffffffffcdc09c00
+lwl :: offset: 0x31e, out: 0xffffffffc09c0000
+lwl :: offset: 0x31f, out: 0xffffffff9c000000
+lwl :: offset: 0x320, out: 0x7b827d21
+lwl :: offset: 0x321, out: 0xffffffff827d2100
+lwl :: offset: 0x322, out: 0x7d210000
+lwl :: offset: 0x323, out: 0x21000000
+lwl :: offset: 0x324, out: 0x7f436096
+lwl :: offset: 0x325, out: 0x43609600
+lwl :: offset: 0x326, out: 0x60960000
+lwl :: offset: 0x327, out: 0xffffffff96000000
+lwl :: offset: 0x328, out: 0x7200464f
+lwl :: offset: 0x329, out: 0x464f00
+lwl :: offset: 0x32a, out: 0x464f0000
+lwl :: offset: 0x32b, out: 0x4f000000
+lwl :: offset: 0x32c, out: 0x76c15bf8
+lwl :: offset: 0x32d, out: 0xffffffffc15bf800
+lwl :: offset: 0x32e, out: 0x5bf80000
+lwl :: offset: 0x32f, out: 0xfffffffff8000000
+lwl :: offset: 0x330, out: 0x68860bfd
+lwl :: offset: 0x331, out: 0xffffffff860bfd00
+lwl :: offset: 0x332, out: 0xbfd0000
+lwl :: offset: 0x333, out: 0xfffffffffd000000
+lwl :: offset: 0x334, out: 0x6c47164a
+lwl :: offset: 0x335, out: 0x47164a00
+lwl :: offset: 0x336, out: 0x164a0000
+lwl :: offset: 0x337, out: 0x4a000000
+lwl :: offset: 0x338, out: 0x61043093
+lwl :: offset: 0x339, out: 0x4309300
+lwl :: offset: 0x33a, out: 0x30930000
+lwl :: offset: 0x33b, out: 0xffffffff93000000
+lwl :: offset: 0x33c, out: 0x65c52d24
+lwl :: offset: 0x33d, out: 0xffffffffc52d2400
+lwl :: offset: 0x33e, out: 0x2d240000
+lwl :: offset: 0x33f, out: 0x24000000
+lwl :: offset: 0x340, out: 0x119b4be9
+lwl :: offset: 0x341, out: 0xffffffff9b4be900
+lwl :: offset: 0x342, out: 0x4be90000
+lwl :: offset: 0x343, out: 0xffffffffe9000000
+lwl :: offset: 0x344, out: 0x155a565e
+lwl :: offset: 0x345, out: 0x5a565e00
+lwl :: offset: 0x346, out: 0x565e0000
+lwl :: offset: 0x347, out: 0x5e000000
+lwl :: offset: 0x348, out: 0x18197087
+lwl :: offset: 0x349, out: 0x19708700
+lwl :: offset: 0x34a, out: 0x70870000
+lwl :: offset: 0x34b, out: 0xffffffff87000000
+lwl :: offset: 0x34c, out: 0x1cd86d30
+lwl :: offset: 0x34d, out: 0xffffffffd86d3000
+lwl :: offset: 0x34e, out: 0x6d300000
+lwl :: offset: 0x34f, out: 0x30000000
+lwl :: offset: 0x350, out: 0x29f3d35
+lwl :: offset: 0x351, out: 0xffffffff9f3d3500
+lwl :: offset: 0x352, out: 0x3d350000
+lwl :: offset: 0x353, out: 0x35000000
+lwl :: offset: 0x354, out: 0x65e2082
+lwl :: offset: 0x355, out: 0x5e208200
+lwl :: offset: 0x356, out: 0x20820000
+lwl :: offset: 0x357, out: 0xffffffff82000000
+lwl :: offset: 0x358, out: 0xb1d065b
+lwl :: offset: 0x359, out: 0x1d065b00
+lwl :: offset: 0x35a, out: 0x65b0000
+lwl :: offset: 0x35b, out: 0x5b000000
+lwl :: offset: 0x35c, out: 0xfdc1bec
+lwl :: offset: 0x35d, out: 0xffffffffdc1bec00
+lwl :: offset: 0x35e, out: 0x1bec0000
+lwl :: offset: 0x35f, out: 0xffffffffec000000
+lwl :: offset: 0x360, out: 0x3793a651
+lwl :: offset: 0x361, out: 0xffffffff93a65100
+lwl :: offset: 0x362, out: 0xffffffffa6510000
+lwl :: offset: 0x363, out: 0x51000000
+lwl :: offset: 0x364, out: 0x3352bbe6
+lwl :: offset: 0x365, out: 0x52bbe600
+lwl :: offset: 0x366, out: 0xffffffffbbe60000
+lwl :: offset: 0x367, out: 0xffffffffe6000000
+lwl :: offset: 0x368, out: 0x3e119d3f
+lwl :: offset: 0x369, out: 0x119d3f00
+lwl :: offset: 0x36a, out: 0xffffffff9d3f0000
+lwl :: offset: 0x36b, out: 0x3f000000
+lwl :: offset: 0x36c, out: 0x3ad08088
+lwl :: offset: 0x36d, out: 0xffffffffd0808800
+lwl :: offset: 0x36e, out: 0xffffffff80880000
+lwl :: offset: 0x36f, out: 0xffffffff88000000
+lwl :: offset: 0x370, out: 0x2497d08d
+lwl :: offset: 0x371, out: 0xffffffff97d08d00
+lwl :: offset: 0x372, out: 0xffffffffd08d0000
+lwl :: offset: 0x373, out: 0xffffffff8d000000
+lwl :: offset: 0x374, out: 0x2056cd3a
+lwl :: offset: 0x375, out: 0x56cd3a00
+lwl :: offset: 0x376, out: 0xffffffffcd3a0000
+lwl :: offset: 0x377, out: 0x3a000000
+lwl :: offset: 0x378, out: 0x2d15ebe3
+lwl :: offset: 0x379, out: 0x15ebe300
+lwl :: offset: 0x37a, out: 0xffffffffebe30000
+lwl :: offset: 0x37b, out: 0xffffffffe3000000
+lwl :: offset: 0x37c, out: 0x29d4f654
+lwl :: offset: 0x37d, out: 0xffffffffd4f65400
+lwl :: offset: 0x37e, out: 0xfffffffff6540000
+lwl :: offset: 0x37f, out: 0x54000000
+lwl :: offset: 0x380, out: 0xffffffffc5a92679
+lwl :: offset: 0x381, out: 0xffffffffa9267900
+lwl :: offset: 0x382, out: 0x26790000
+lwl :: offset: 0x383, out: 0x79000000
+lwl :: offset: 0x384, out: 0xffffffffc1683bce
+lwl :: offset: 0x385, out: 0x683bce00
+lwl :: offset: 0x386, out: 0x3bce0000
+lwl :: offset: 0x387, out: 0xffffffffce000000
+lwl :: offset: 0x388, out: 0xffffffffcc2b1d17
+lwl :: offset: 0x389, out: 0x2b1d1700
+lwl :: offset: 0x38a, out: 0x1d170000
+lwl :: offset: 0x38b, out: 0x17000000
+lwl :: offset: 0x38c, out: 0xffffffffc8ea00a0
+lwl :: offset: 0x38d, out: 0xffffffffea00a000
+lwl :: offset: 0x38e, out: 0xa00000
+lwl :: offset: 0x38f, out: 0xffffffffa0000000
+lwl :: offset: 0x390, out: 0xffffffffd6ad50a5
+lwl :: offset: 0x391, out: 0xffffffffad50a500
+lwl :: offset: 0x392, out: 0x50a50000
+lwl :: offset: 0x393, out: 0xffffffffa5000000
+lwl :: offset: 0x394, out: 0xffffffffd26c4d12
+lwl :: offset: 0x395, out: 0x6c4d1200
+lwl :: offset: 0x396, out: 0x4d120000
+lwl :: offset: 0x397, out: 0x12000000
+lwl :: offset: 0x398, out: 0xffffffffdf2f6bcb
+lwl :: offset: 0x399, out: 0x2f6bcb00
+lwl :: offset: 0x39a, out: 0x6bcb0000
+lwl :: offset: 0x39b, out: 0xffffffffcb000000
+lwl :: offset: 0x39c, out: 0xffffffffdbee767c
+lwl :: offset: 0x39d, out: 0xffffffffee767c00
+lwl :: offset: 0x39e, out: 0x767c0000
+lwl :: offset: 0x39f, out: 0x7c000000
+lwl :: offset: 0x3a0, out: 0xffffffffe3a1cbc1
+lwl :: offset: 0x3a1, out: 0xffffffffa1cbc100
+lwl :: offset: 0x3a2, out: 0xffffffffcbc10000
+lwl :: offset: 0x3a3, out: 0xffffffffc1000000
+lwl :: offset: 0x3a4, out: 0xffffffffe760d676
+lwl :: offset: 0x3a5, out: 0x60d67600
+lwl :: offset: 0x3a6, out: 0xffffffffd6760000
+lwl :: offset: 0x3a7, out: 0x76000000
+lwl :: offset: 0x3a8, out: 0xffffffffea23f0af
+lwl :: offset: 0x3a9, out: 0x23f0af00
+lwl :: offset: 0x3aa, out: 0xfffffffff0af0000
+lwl :: offset: 0x3ab, out: 0xffffffffaf000000
+lwl :: offset: 0x3ac, out: 0xffffffffeee2ed18
+lwl :: offset: 0x3ad, out: 0xffffffffe2ed1800
+lwl :: offset: 0x3ae, out: 0xffffffffed180000
+lwl :: offset: 0x3af, out: 0x18000000
+lwl :: offset: 0x3b0, out: 0xfffffffff0a5bd1d
+lwl :: offset: 0x3b1, out: 0xffffffffa5bd1d00
+lwl :: offset: 0x3b2, out: 0xffffffffbd1d0000
+lwl :: offset: 0x3b3, out: 0x1d000000
+lwl :: offset: 0x3b4, out: 0xfffffffff464a0aa
+lwl :: offset: 0x3b5, out: 0x64a0aa00
+lwl :: offset: 0x3b6, out: 0xffffffffa0aa0000
+lwl :: offset: 0x3b7, out: 0xffffffffaa000000
+lwl :: offset: 0x3b8, out: 0xfffffffff9278673
+lwl :: offset: 0x3b9, out: 0x27867300
+lwl :: offset: 0x3ba, out: 0xffffffff86730000
+lwl :: offset: 0x3bb, out: 0x73000000
+lwl :: offset: 0x3bc, out: 0xfffffffffde69bc4
+lwl :: offset: 0x3bd, out: 0xffffffffe69bc400
+lwl :: offset: 0x3be, out: 0xffffffff9bc40000
+lwl :: offset: 0x3bf, out: 0xffffffffc4000000
+lwl :: offset: 0x3c0, out: 0xffffffff89b8fd09
+lwl :: offset: 0x3c1, out: 0xffffffffb8fd0900
+lwl :: offset: 0x3c2, out: 0xfffffffffd090000
+lwl :: offset: 0x3c3, out: 0x9000000
+lwl :: offset: 0x3c4, out: 0xffffffff8d79e0be
+lwl :: offset: 0x3c5, out: 0x79e0be00
+lwl :: offset: 0x3c6, out: 0xffffffffe0be0000
+lwl :: offset: 0x3c7, out: 0xffffffffbe000000
+lwl :: offset: 0x3c8, out: 0xffffffff803ac667
+lwl :: offset: 0x3c9, out: 0x3ac66700
+lwl :: offset: 0x3ca, out: 0xffffffffc6670000
+lwl :: offset: 0x3cb, out: 0x67000000
+lwl :: offset: 0x3cc, out: 0xffffffff84fbdbd0
+lwl :: offset: 0x3cd, out: 0xfffffffffbdbd000
+lwl :: offset: 0x3ce, out: 0xffffffffdbd00000
+lwl :: offset: 0x3cf, out: 0xffffffffd0000000
+lwl :: offset: 0x3d0, out: 0xffffffff9abc8bd5
+lwl :: offset: 0x3d1, out: 0xffffffffbc8bd500
+lwl :: offset: 0x3d2, out: 0xffffffff8bd50000
+lwl :: offset: 0x3d3, out: 0xffffffffd5000000
+lwl :: offset: 0x3d4, out: 0xffffffff9e7d9662
+lwl :: offset: 0x3d5, out: 0x7d966200
+lwl :: offset: 0x3d6, out: 0xffffffff96620000
+lwl :: offset: 0x3d7, out: 0x62000000
+lwl :: offset: 0x3d8, out: 0xffffffff933eb0bb
+lwl :: offset: 0x3d9, out: 0x3eb0bb00
+lwl :: offset: 0x3da, out: 0xffffffffb0bb0000
+lwl :: offset: 0x3db, out: 0xffffffffbb000000
+lwl :: offset: 0x3dc, out: 0xffffffff97ffad0c
+lwl :: offset: 0x3dd, out: 0xffffffffffad0c00
+lwl :: offset: 0x3de, out: 0xffffffffad0c0000
+lwl :: offset: 0x3df, out: 0xc000000
+lwl :: offset: 0x3e0, out: 0xffffffffafb010b1
+lwl :: offset: 0x3e1, out: 0xffffffffb010b100
+lwl :: offset: 0x3e2, out: 0x10b10000
+lwl :: offset: 0x3e3, out: 0xffffffffb1000000
+lwl :: offset: 0x3e4, out: 0xffffffffab710d06
+lwl :: offset: 0x3e5, out: 0x710d0600
+lwl :: offset: 0x3e6, out: 0xd060000
+lwl :: offset: 0x3e7, out: 0x6000000
+lwl :: offset: 0x3e8, out: 0xffffffffa6322bdf
+lwl :: offset: 0x3e9, out: 0x322bdf00
+lwl :: offset: 0x3ea, out: 0x2bdf0000
+lwl :: offset: 0x3eb, out: 0xffffffffdf000000
+lwl :: offset: 0x3ec, out: 0xffffffffa2f33668
+lwl :: offset: 0x3ed, out: 0xfffffffff3366800
+lwl :: offset: 0x3ee, out: 0x36680000
+lwl :: offset: 0x3ef, out: 0x68000000
+lwl :: offset: 0x3f0, out: 0xffffffffbcb4666d
+lwl :: offset: 0x3f1, out: 0xffffffffb4666d00
+lwl :: offset: 0x3f2, out: 0x666d0000
+lwl :: offset: 0x3f3, out: 0x6d000000
+lwl :: offset: 0x3f4, out: 0xffffffffb8757bda
+lwl :: offset: 0x3f5, out: 0x757bda00
+lwl :: offset: 0x3f6, out: 0x7bda0000
+lwl :: offset: 0x3f7, out: 0xffffffffda000000
+lwl :: offset: 0x3f8, out: 0xffffffffb5365d03
+lwl :: offset: 0x3f9, out: 0x365d0300
+lwl :: offset: 0x3fa, out: 0x5d030000
+lwl :: offset: 0x3fb, out: 0x3000000
+lwl :: offset: 0x3fc, out: 0xffffffffb1f740b4
+lwl :: offset: 0x3fd, out: 0xfffffffff740b400
+lwl :: offset: 0x3fe, out: 0x40b40000
+lwl :: offset: 0x3ff, out: 0xffffffffb4000000
+lwl :: offset: 0x0, out: 0x0
+lwl :: offset: 0x1, out: 0x0
+lwl :: offset: 0x2, out: 0x0
+lwl :: offset: 0x3, out: 0x0
+lwl :: offset: 0x4, out: 0x12bd6aa
+lwl :: offset: 0x5, out: 0x2bd6aa00
+lwl :: offset: 0x6, out: 0xffffffffd6aa0000
+lwl :: offset: 0x7, out: 0xffffffffaa000000
+lwl :: offset: 0x8, out: 0x7e8763
+lwl :: offset: 0x9, out: 0x7e876300
+lwl :: offset: 0xa, out: 0xffffffff87630000
+lwl :: offset: 0xb, out: 0x63000000
+lwl :: offset: 0xc, out: 0xffffffff82d2ab13
+lwl :: offset: 0xd, out: 0xffffffffd2ab1300
+lwl :: offset: 0xe, out: 0xffffffffab130000
+lwl :: offset: 0xf, out: 0x13000000
+lwl :: offset: 0x10, out: 0xffffffff976d6e9a
+lwl :: offset: 0x11, out: 0x6d6e9a00
+lwl :: offset: 0x12, out: 0x6e9a0000
+lwl :: offset: 0x13, out: 0xffffffff9a000000
+lwl :: offset: 0x14, out: 0xffffffffc31510f3
+lwl :: offset: 0x15, out: 0x1510f300
+lwl :: offset: 0x16, out: 0x10f30000
+lwl :: offset: 0x17, out: 0xfffffffff3000000
+lwl :: offset: 0x18, out: 0xffffffffb7746d77
+lwl :: offset: 0x19, out: 0x746d7700
+lwl :: offset: 0x1a, out: 0x6d770000
+lwl :: offset: 0x1b, out: 0x77000000
+lwl :: offset: 0x1c, out: 0x5ad6a5fb
+lwl :: offset: 0x1d, out: 0xffffffffd6a5fb00
+lwl :: offset: 0x1e, out: 0xffffffffa5fb0000
+lwl :: offset: 0x1f, out: 0xfffffffffb000000
+lwl :: offset: 0x20, out: 0x42b0c0a2
+lwl :: offset: 0x21, out: 0xffffffffb0c0a200
+lwl :: offset: 0x22, out: 0xffffffffc0a20000
+lwl :: offset: 0x23, out: 0xffffffffa2000000
+lwl :: offset: 0x24, out: 0xffffffff8677b502
+lwl :: offset: 0x25, out: 0x77b50200
+lwl :: offset: 0x26, out: 0xffffffffb5020000
+lwl :: offset: 0x27, out: 0x2000000
+lwl :: offset: 0x28, out: 0x2aa89d31
+lwl :: offset: 0x29, out: 0xffffffffa89d3100
+lwl :: offset: 0x2a, out: 0xffffffff9d310000
+lwl :: offset: 0x2b, out: 0x31000000
+lwl :: offset: 0x2c, out: 0xffffffff9e3c30ad
+lwl :: offset: 0x2d, out: 0x3c30ad00
+lwl :: offset: 0x2e, out: 0x30ad0000
+lwl :: offset: 0x2f, out: 0xffffffffad000000
+lwl :: offset: 0x30, out: 0x1f308ec3
+lwl :: offset: 0x31, out: 0x308ec300
+lwl :: offset: 0x32, out: 0xffffffff8ec30000
+lwl :: offset: 0x33, out: 0xffffffffc3000000
+lwl :: offset: 0x34, out: 0x77fb413d
+lwl :: offset: 0x35, out: 0xfffffffffb413d00
+lwl :: offset: 0x36, out: 0x413d0000
+lwl :: offset: 0x37, out: 0x3d000000
+lwl :: offset: 0x38, out: 0x7aa04213
+lwl :: offset: 0x39, out: 0xffffffffa0421300
+lwl :: offset: 0x3a, out: 0x42130000
+lwl :: offset: 0x3b, out: 0x13000000
+lwl :: offset: 0x3c, out: 0xffffffffc760e4f7
+lwl :: offset: 0x3d, out: 0x60e4f700
+lwl :: offset: 0x3e, out: 0xffffffffe4f70000
+lwl :: offset: 0x3f, out: 0xfffffffff7000000
+lwl :: offset: 0x40, out: 0xffffffff9e705cc5
+lwl :: offset: 0x41, out: 0x705cc500
+lwl :: offset: 0x42, out: 0x5cc50000
+lwl :: offset: 0x43, out: 0xffffffffc5000000
+lwl :: offset: 0x44, out: 0x1ad8dca0
+lwl :: offset: 0x45, out: 0xffffffffd8dca000
+lwl :: offset: 0x46, out: 0xffffffffdca00000
+lwl :: offset: 0x47, out: 0xffffffffa0000000
+lwl :: offset: 0x48, out: 0x4b3dda86
+lwl :: offset: 0x49, out: 0x3dda8600
+lwl :: offset: 0x4a, out: 0xffffffffda860000
+lwl :: offset: 0x4b, out: 0xffffffff86000000
+lwl :: offset: 0x4c, out: 0xffffffff9615a60d
+lwl :: offset: 0x4d, out: 0x15a60d00
+lwl :: offset: 0x4e, out: 0xffffffffa60d0000
+lwl :: offset: 0x4f, out: 0xd000000
+lwl :: offset: 0x50, out: 0x5e7a4dd
+lwl :: offset: 0x51, out: 0xffffffffe7a4dd00
+lwl :: offset: 0x52, out: 0xffffffffa4dd0000
+lwl :: offset: 0x53, out: 0xffffffffdd000000
+lwl :: offset: 0x54, out: 0x6353d41d
+lwl :: offset: 0x55, out: 0x53d41d00
+lwl :: offset: 0x56, out: 0xffffffffd41d0000
+lwl :: offset: 0x57, out: 0x1d000000
+lwl :: offset: 0x58, out: 0x3af35a9d
+lwl :: offset: 0x59, out: 0xfffffffff35a9d00
+lwl :: offset: 0x5a, out: 0x5a9d0000
+lwl :: offset: 0x5b, out: 0xffffffff9d000000
+lwl :: offset: 0x5c, out: 0xffffffffc40bd413
+lwl :: offset: 0x5d, out: 0xbd41300
+lwl :: offset: 0x5e, out: 0xffffffffd4130000
+lwl :: offset: 0x5f, out: 0x13000000
+lwl :: offset: 0x60, out: 0x47f50556
+lwl :: offset: 0x61, out: 0xfffffffff5055600
+lwl :: offset: 0x62, out: 0x5560000
+lwl :: offset: 0x63, out: 0x56000000
+lwl :: offset: 0x64, out: 0xffffffff9a08a180
+lwl :: offset: 0x65, out: 0x8a18000
+lwl :: offset: 0x66, out: 0xffffffffa1800000
+lwl :: offset: 0x67, out: 0xffffffff80000000
+lwl :: offset: 0x68, out: 0xffffffff9564b77f
+lwl :: offset: 0x69, out: 0x64b77f00
+lwl :: offset: 0x6a, out: 0xffffffffb77f0000
+lwl :: offset: 0x6b, out: 0x7f000000
+lwl :: offset: 0x6c, out: 0xffffffffd6d2040f
+lwl :: offset: 0x6d, out: 0xffffffffd2040f00
+lwl :: offset: 0x6e, out: 0x40f0000
+lwl :: offset: 0x6f, out: 0xf000000
+lwl :: offset: 0x70, out: 0xffffffffcebc8279
+lwl :: offset: 0x71, out: 0xffffffffbc827900
+lwl :: offset: 0x72, out: 0xffffffff82790000
+lwl :: offset: 0x73, out: 0x79000000
+lwl :: offset: 0x74, out: 0xffffffffb2c76bbe
+lwl :: offset: 0x75, out: 0xffffffffc76bbe00
+lwl :: offset: 0x76, out: 0x6bbe0000
+lwl :: offset: 0x77, out: 0xffffffffbe000000
+lwl :: offset: 0x78, out: 0xffffffffb5034c2f
+lwl :: offset: 0x79, out: 0x34c2f00
+lwl :: offset: 0x7a, out: 0x4c2f0000
+lwl :: offset: 0x7b, out: 0x2f000000
+lwl :: offset: 0x7c, out: 0x1f18e4c7
+lwl :: offset: 0x7d, out: 0x18e4c700
+lwl :: offset: 0x7e, out: 0xffffffffe4c70000
+lwl :: offset: 0x7f, out: 0xffffffffc7000000
+lwl :: offset: 0x80, out: 0xffffffff94ff52fc
+lwl :: offset: 0x81, out: 0xffffffffff52fc00
+lwl :: offset: 0x82, out: 0x52fc0000
+lwl :: offset: 0x83, out: 0xfffffffffc000000
+lwl :: offset: 0x84, out: 0xffffffff81afa797
+lwl :: offset: 0x85, out: 0xffffffffafa79700
+lwl :: offset: 0x86, out: 0xffffffffa7970000
+lwl :: offset: 0x87, out: 0xffffffff97000000
+lwl :: offset: 0x88, out: 0x31d8d916
+lwl :: offset: 0x89, out: 0xffffffffd8d91600
+lwl :: offset: 0x8a, out: 0xffffffffd9160000
+lwl :: offset: 0x8b, out: 0x16000000
+lwl :: offset: 0x8c, out: 0x6dfc50ea
+lwl :: offset: 0x8d, out: 0xfffffffffc50ea00
+lwl :: offset: 0x8e, out: 0x50ea0000
+lwl :: offset: 0x8f, out: 0xffffffffea000000
+lwl :: offset: 0x90, out: 0x36549bd6
+lwl :: offset: 0x91, out: 0x549bd600
+lwl :: offset: 0x92, out: 0xffffffff9bd60000
+lwl :: offset: 0x93, out: 0xffffffffd6000000
+lwl :: offset: 0x94, out: 0x78e895b1
+lwl :: offset: 0x95, out: 0xffffffffe895b100
+lwl :: offset: 0x96, out: 0xffffffff95b10000
+lwl :: offset: 0x97, out: 0xffffffffb1000000
+lwl :: offset: 0x98, out: 0xffffffff85e0a631
+lwl :: offset: 0x99, out: 0xffffffffe0a63100
+lwl :: offset: 0x9a, out: 0xffffffffa6310000
+lwl :: offset: 0x9b, out: 0x31000000
+lwl :: offset: 0x9c, out: 0xffffffff9b63259b
+lwl :: offset: 0x9d, out: 0x63259b00
+lwl :: offset: 0x9e, out: 0x259b0000
+lwl :: offset: 0x9f, out: 0xffffffff9b000000
+lwl :: offset: 0xa0, out: 0x556b3eca
+lwl :: offset: 0xa1, out: 0x6b3eca00
+lwl :: offset: 0xa2, out: 0x3eca0000
+lwl :: offset: 0xa3, out: 0xffffffffca000000
+lwl :: offset: 0xa4, out: 0xffffffffccf17ac5
+lwl :: offset: 0xa5, out: 0xfffffffff17ac500
+lwl :: offset: 0xa6, out: 0x7ac50000
+lwl :: offset: 0xa7, out: 0xffffffffc5000000
+lwl :: offset: 0xa8, out: 0xffffffffb42f5fc5
+lwl :: offset: 0xa9, out: 0x2f5fc500
+lwl :: offset: 0xaa, out: 0x5fc50000
+lwl :: offset: 0xab, out: 0xffffffffc5000000
+lwl :: offset: 0xac, out: 0xffffffff81eea0fb
+lwl :: offset: 0xad, out: 0xffffffffeea0fb00
+lwl :: offset: 0xae, out: 0xffffffffa0fb0000
+lwl :: offset: 0xaf, out: 0xfffffffffb000000
+lwl :: offset: 0xb0, out: 0x25b50fec
+lwl :: offset: 0xb1, out: 0xffffffffb50fec00
+lwl :: offset: 0xb2, out: 0xfec0000
+lwl :: offset: 0xb3, out: 0xffffffffec000000
+lwl :: offset: 0xb4, out: 0x14682d97
+lwl :: offset: 0xb5, out: 0x682d9700
+lwl :: offset: 0xb6, out: 0x2d970000
+lwl :: offset: 0xb7, out: 0xffffffff97000000
+lwl :: offset: 0xb8, out: 0xfffffffffc93c513
+lwl :: offset: 0xb9, out: 0xffffffff93c51300
+lwl :: offset: 0xba, out: 0xffffffffc5130000
+lwl :: offset: 0xbb, out: 0x13000000
+lwl :: offset: 0xbc, out: 0x2cfb087a
+lwl :: offset: 0xbd, out: 0xfffffffffb087a00
+lwl :: offset: 0xbe, out: 0x87a0000
+lwl :: offset: 0xbf, out: 0x7a000000
+lwl :: offset: 0xc0, out: 0x3c2cd9a9
+lwl :: offset: 0xc1, out: 0x2cd9a900
+lwl :: offset: 0xc2, out: 0xffffffffd9a90000
+lwl :: offset: 0xc3, out: 0xffffffffa9000000
+lwl :: offset: 0xc4, out: 0xffffffffcda20766
+lwl :: offset: 0xc5, out: 0xffffffffa2076600
+lwl :: offset: 0xc6, out: 0x7660000
+lwl :: offset: 0xc7, out: 0x66000000
+lwl :: offset: 0xc8, out: 0x1791722a
+lwl :: offset: 0xc9, out: 0xffffffff91722a00
+lwl :: offset: 0xca, out: 0x722a0000
+lwl :: offset: 0xcb, out: 0x2a000000
+lwl :: offset: 0xcc, out: 0x7d72da3e
+lwl :: offset: 0xcd, out: 0x72da3e00
+lwl :: offset: 0xce, out: 0xffffffffda3e0000
+lwl :: offset: 0xcf, out: 0x3e000000
+lwl :: offset: 0xd0, out: 0x87cc9d1
+lwl :: offset: 0xd1, out: 0x7cc9d100
+lwl :: offset: 0xd2, out: 0xffffffffc9d10000
+lwl :: offset: 0xd3, out: 0xffffffffd1000000
+lwl :: offset: 0xd4, out: 0xffffffff93ce24ad
+lwl :: offset: 0xd5, out: 0xffffffffce24ad00
+lwl :: offset: 0xd6, out: 0x24ad0000
+lwl :: offset: 0xd7, out: 0xffffffffad000000
+lwl :: offset: 0xd8, out: 0x1d2a7570
+lwl :: offset: 0xd9, out: 0x2a757000
+lwl :: offset: 0xda, out: 0x75700000
+lwl :: offset: 0xdb, out: 0x70000000
+lwl :: offset: 0xdc, out: 0x38984ed2
+lwl :: offset: 0xdd, out: 0xffffffff984ed200
+lwl :: offset: 0xde, out: 0x4ed20000
+lwl :: offset: 0xdf, out: 0xffffffffd2000000
+lwl :: offset: 0xe0, out: 0xffffffffd0d070db
+lwl :: offset: 0xe1, out: 0xffffffffd070db00
+lwl :: offset: 0xe2, out: 0x70db0000
+lwl :: offset: 0xe3, out: 0xffffffffdb000000
+lwl :: offset: 0xe4, out: 0x710cd036
+lwl :: offset: 0xe5, out: 0xcd03600
+lwl :: offset: 0xe6, out: 0xffffffffd0360000
+lwl :: offset: 0xe7, out: 0x36000000
+lwl :: offset: 0xe8, out: 0x39c21c7d
+lwl :: offset: 0xe9, out: 0xffffffffc21c7d00
+lwl :: offset: 0xea, out: 0x1c7d0000
+lwl :: offset: 0xeb, out: 0x7d000000
+lwl :: offset: 0xec, out: 0x3415604
+lwl :: offset: 0xed, out: 0x41560400
+lwl :: offset: 0xee, out: 0x56040000
+lwl :: offset: 0xef, out: 0x4000000
+lwl :: offset: 0xf0, out: 0xffffffff8e94b7af
+lwl :: offset: 0xf1, out: 0xffffffff94b7af00
+lwl :: offset: 0xf2, out: 0xffffffffb7af0000
+lwl :: offset: 0xf3, out: 0xffffffffaf000000
+lwl :: offset: 0xf4, out: 0xffffffff8ecc31ce
+lwl :: offset: 0xf5, out: 0xffffffffcc31ce00
+lwl :: offset: 0xf6, out: 0x31ce0000
+lwl :: offset: 0xf7, out: 0xffffffffce000000
+lwl :: offset: 0xf8, out: 0x24eb6a8d
+lwl :: offset: 0xf9, out: 0xffffffffeb6a8d00
+lwl :: offset: 0xfa, out: 0x6a8d0000
+lwl :: offset: 0xfb, out: 0xffffffff8d000000
+lwl :: offset: 0xfc, out: 0x1ce7674f
+lwl :: offset: 0xfd, out: 0xffffffffe7674f00
+lwl :: offset: 0xfe, out: 0x674f0000
+lwl :: offset: 0xff, out: 0x4f000000
+lwl :: offset: 0x100, out: 0x2f394544
+lwl :: offset: 0x101, out: 0x39454400
+lwl :: offset: 0x102, out: 0x45440000
+lwl :: offset: 0x103, out: 0x44000000
+lwl :: offset: 0x104, out: 0x12d6e4a7
+lwl :: offset: 0x105, out: 0xffffffffd6e4a700
+lwl :: offset: 0x106, out: 0xffffffffe4a70000
+lwl :: offset: 0x107, out: 0xffffffffa7000000
+lwl :: offset: 0x108, out: 0x2608c2b7
+lwl :: offset: 0x109, out: 0x8c2b700
+lwl :: offset: 0x10a, out: 0xffffffffc2b70000
+lwl :: offset: 0x10b, out: 0xffffffffb7000000
+lwl :: offset: 0x10c, out: 0x56da4c54
+lwl :: offset: 0x10d, out: 0xffffffffda4c5400
+lwl :: offset: 0x10e, out: 0x4c540000
+lwl :: offset: 0x10f, out: 0x54000000
+lwl :: offset: 0x110, out: 0xffffffff900102da
+lwl :: offset: 0x111, out: 0x102da00
+lwl :: offset: 0x112, out: 0x2da0000
+lwl :: offset: 0x113, out: 0xffffffffda000000
+lwl :: offset: 0x114, out: 0xffffffffc8d7252f
+lwl :: offset: 0x115, out: 0xffffffffd7252f00
+lwl :: offset: 0x116, out: 0x252f0000
+lwl :: offset: 0x117, out: 0x2f000000
+lwl :: offset: 0x118, out: 0xffffffffc890d5f1
+lwl :: offset: 0x119, out: 0xffffffff90d5f100
+lwl :: offset: 0x11a, out: 0xffffffffd5f10000
+lwl :: offset: 0x11b, out: 0xfffffffff1000000
+lwl :: offset: 0x11c, out: 0xfffffffff2efa4f7
+lwl :: offset: 0x11d, out: 0xffffffffefa4f700
+lwl :: offset: 0x11e, out: 0xffffffffa4f70000
+lwl :: offset: 0x11f, out: 0xfffffffff7000000
+lwl :: offset: 0x120, out: 0xffffffffed5005cb
+lwl :: offset: 0x121, out: 0x5005cb00
+lwl :: offset: 0x122, out: 0x5cb0000
+lwl :: offset: 0x123, out: 0xffffffffcb000000
+lwl :: offset: 0x124, out: 0xffffffffc8b0a214
+lwl :: offset: 0x125, out: 0xffffffffb0a21400
+lwl :: offset: 0x126, out: 0xffffffffa2140000
+lwl :: offset: 0x127, out: 0x14000000
+lwl :: offset: 0x128, out: 0x31479189
+lwl :: offset: 0x129, out: 0x47918900
+lwl :: offset: 0x12a, out: 0xffffffff91890000
+lwl :: offset: 0x12b, out: 0xffffffff89000000
+lwl :: offset: 0x12c, out: 0x5991136c
+lwl :: offset: 0x12d, out: 0xffffffff91136c00
+lwl :: offset: 0x12e, out: 0x136c0000
+lwl :: offset: 0x12f, out: 0x6c000000
+lwl :: offset: 0x130, out: 0xffffffffc6eecff9
+lwl :: offset: 0x131, out: 0xffffffffeecff900
+lwl :: offset: 0x132, out: 0xffffffffcff90000
+lwl :: offset: 0x133, out: 0xfffffffff9000000
+lwl :: offset: 0x134, out: 0xffffffff9a2fb6f3
+lwl :: offset: 0x135, out: 0x2fb6f300
+lwl :: offset: 0x136, out: 0xffffffffb6f30000
+lwl :: offset: 0x137, out: 0xfffffffff3000000
+lwl :: offset: 0x138, out: 0xffffffffa8095212
+lwl :: offset: 0x139, out: 0x9521200
+lwl :: offset: 0x13a, out: 0x52120000
+lwl :: offset: 0x13b, out: 0x12000000
+lwl :: offset: 0x13c, out: 0x38895270
+lwl :: offset: 0x13d, out: 0xffffffff89527000
+lwl :: offset: 0x13e, out: 0x52700000
+lwl :: offset: 0x13f, out: 0x70000000
+lwl :: offset: 0x140, out: 0xffffffff87750a04
+lwl :: offset: 0x141, out: 0x750a0400
+lwl :: offset: 0x142, out: 0xa040000
+lwl :: offset: 0x143, out: 0x4000000
+lwl :: offset: 0x144, out: 0xffffffffad765040
+lwl :: offset: 0x145, out: 0x76504000
+lwl :: offset: 0x146, out: 0x50400000
+lwl :: offset: 0x147, out: 0x40000000
+lwl :: offset: 0x148, out: 0x2c3de85e
+lwl :: offset: 0x149, out: 0x3de85e00
+lwl :: offset: 0x14a, out: 0xffffffffe85e0000
+lwl :: offset: 0x14b, out: 0x5e000000
+lwl :: offset: 0x14c, out: 0xffffffff84bb5a83
+lwl :: offset: 0x14d, out: 0xffffffffbb5a8300
+lwl :: offset: 0x14e, out: 0x5a830000
+lwl :: offset: 0x14f, out: 0xffffffff83000000
+lwl :: offset: 0x150, out: 0xffffffffae6aff8f
+lwl :: offset: 0x151, out: 0x6aff8f00
+lwl :: offset: 0x152, out: 0xffffffffff8f0000
+lwl :: offset: 0x153, out: 0xffffffff8f000000
+lwl :: offset: 0x154, out: 0xffffffffc506aa67
+lwl :: offset: 0x155, out: 0x6aa6700
+lwl :: offset: 0x156, out: 0xffffffffaa670000
+lwl :: offset: 0x157, out: 0x67000000
+lwl :: offset: 0x158, out: 0xffffffffc07112dd
+lwl :: offset: 0x159, out: 0x7112dd00
+lwl :: offset: 0x15a, out: 0x12dd0000
+lwl :: offset: 0x15b, out: 0xffffffffdd000000
+lwl :: offset: 0x15c, out: 0x60ed5ee3
+lwl :: offset: 0x15d, out: 0xffffffffed5ee300
+lwl :: offset: 0x15e, out: 0x5ee30000
+lwl :: offset: 0x15f, out: 0xffffffffe3000000
+lwl :: offset: 0x160, out: 0xffffffffc4c770f6
+lwl :: offset: 0x161, out: 0xffffffffc770f600
+lwl :: offset: 0x162, out: 0x70f60000
+lwl :: offset: 0x163, out: 0xfffffffff6000000
+lwl :: offset: 0x164, out: 0x30dcca5a
+lwl :: offset: 0x165, out: 0xffffffffdcca5a00
+lwl :: offset: 0x166, out: 0xffffffffca5a0000
+lwl :: offset: 0x167, out: 0x5a000000
+lwl :: offset: 0x168, out: 0xffffffffdfec2b23
+lwl :: offset: 0x169, out: 0xffffffffec2b2300
+lwl :: offset: 0x16a, out: 0x2b230000
+lwl :: offset: 0x16b, out: 0x23000000
+lwl :: offset: 0x16c, out: 0xffffffff83cd5277
+lwl :: offset: 0x16d, out: 0xffffffffcd527700
+lwl :: offset: 0x16e, out: 0x52770000
+lwl :: offset: 0x16f, out: 0x77000000
+lwl :: offset: 0x170, out: 0xffffffffd3adba26
+lwl :: offset: 0x171, out: 0xffffffffadba2600
+lwl :: offset: 0x172, out: 0xffffffffba260000
+lwl :: offset: 0x173, out: 0x26000000
+lwl :: offset: 0x174, out: 0xff7d96b
+lwl :: offset: 0x175, out: 0xfffffffff7d96b00
+lwl :: offset: 0x176, out: 0xffffffffd96b0000
+lwl :: offset: 0x177, out: 0x6b000000
+lwl :: offset: 0x178, out: 0x4ab4aa79
+lwl :: offset: 0x179, out: 0xffffffffb4aa7900
+lwl :: offset: 0x17a, out: 0xffffffffaa790000
+lwl :: offset: 0x17b, out: 0x79000000
+lwl :: offset: 0x17c, out: 0xffffffff8418c00e
+lwl :: offset: 0x17d, out: 0x18c00e00
+lwl :: offset: 0x17e, out: 0xffffffffc00e0000
+lwl :: offset: 0x17f, out: 0xe000000
+lwl :: offset: 0x180, out: 0xffffffffbb8c035e
+lwl :: offset: 0x181, out: 0xffffffff8c035e00
+lwl :: offset: 0x182, out: 0x35e0000
+lwl :: offset: 0x183, out: 0x5e000000
+lwl :: offset: 0x184, out: 0xde0f0b8
+lwl :: offset: 0x185, out: 0xffffffffe0f0b800
+lwl :: offset: 0x186, out: 0xfffffffff0b80000
+lwl :: offset: 0x187, out: 0xffffffffb8000000
+lwl :: offset: 0x188, out: 0x33b06f54
+lwl :: offset: 0x189, out: 0xffffffffb06f5400
+lwl :: offset: 0x18a, out: 0x6f540000
+lwl :: offset: 0x18b, out: 0x54000000
+lwl :: offset: 0x18c, out: 0xffffffffa97fdcf1
+lwl :: offset: 0x18d, out: 0x7fdcf100
+lwl :: offset: 0x18e, out: 0xffffffffdcf10000
+lwl :: offset: 0x18f, out: 0xfffffffff1000000
+lwl :: offset: 0x190, out: 0x77433f37
+lwl :: offset: 0x191, out: 0x433f3700
+lwl :: offset: 0x192, out: 0x3f370000
+lwl :: offset: 0x193, out: 0x37000000
+lwl :: offset: 0x194, out: 0x3fd1c081
+lwl :: offset: 0x195, out: 0xffffffffd1c08100
+lwl :: offset: 0x196, out: 0xffffffffc0810000
+lwl :: offset: 0x197, out: 0xffffffff81000000
+lwl :: offset: 0x198, out: 0xffffffffec91d993
+lwl :: offset: 0x199, out: 0xffffffff91d99300
+lwl :: offset: 0x19a, out: 0xffffffffd9930000
+lwl :: offset: 0x19b, out: 0xffffffff93000000
+lwl :: offset: 0x19c, out: 0xffffffffc92195e4
+lwl :: offset: 0x19d, out: 0x2195e400
+lwl :: offset: 0x19e, out: 0xffffffff95e40000
+lwl :: offset: 0x19f, out: 0xffffffffe4000000
+lwl :: offset: 0x1a0, out: 0x49fbf6a7
+lwl :: offset: 0x1a1, out: 0xfffffffffbf6a700
+lwl :: offset: 0x1a2, out: 0xfffffffff6a70000
+lwl :: offset: 0x1a3, out: 0xffffffffa7000000
+lwl :: offset: 0x1a4, out: 0xffffffff95b1a5ab
+lwl :: offset: 0x1a5, out: 0xffffffffb1a5ab00
+lwl :: offset: 0x1a6, out: 0xffffffffa5ab0000
+lwl :: offset: 0x1a7, out: 0xffffffffab000000
+lwl :: offset: 0x1a8, out: 0x19364378
+lwl :: offset: 0x1a9, out: 0x36437800
+lwl :: offset: 0x1aa, out: 0x43780000
+lwl :: offset: 0x1ab, out: 0x78000000
+lwl :: offset: 0x1ac, out: 0xffffffffc7ce8d1e
+lwl :: offset: 0x1ad, out: 0xffffffffce8d1e00
+lwl :: offset: 0x1ae, out: 0xffffffff8d1e0000
+lwl :: offset: 0x1af, out: 0x1e000000
+lwl :: offset: 0x1b0, out: 0xffffffffb99e8def
+lwl :: offset: 0x1b1, out: 0xffffffff9e8def00
+lwl :: offset: 0x1b2, out: 0xffffffff8def0000
+lwl :: offset: 0x1b3, out: 0xffffffffef000000
+lwl :: offset: 0x1b4, out: 0x2f384907
+lwl :: offset: 0x1b5, out: 0x38490700
+lwl :: offset: 0x1b6, out: 0x49070000
+lwl :: offset: 0x1b7, out: 0x7000000
+lwl :: offset: 0x1b8, out: 0x47eacdcd
+lwl :: offset: 0x1b9, out: 0xffffffffeacdcd00
+lwl :: offset: 0x1ba, out: 0xffffffffcdcd0000
+lwl :: offset: 0x1bb, out: 0xffffffffcd000000
+lwl :: offset: 0x1bc, out: 0x582b12fe
+lwl :: offset: 0x1bd, out: 0x2b12fe00
+lwl :: offset: 0x1be, out: 0x12fe0000
+lwl :: offset: 0x1bf, out: 0xfffffffffe000000
+lwl :: offset: 0x1c0, out: 0xffffffffd685884e
+lwl :: offset: 0x1c1, out: 0xffffffff85884e00
+lwl :: offset: 0x1c2, out: 0xffffffff884e0000
+lwl :: offset: 0x1c3, out: 0x4e000000
+lwl :: offset: 0x1c4, out: 0x76558c4f
+lwl :: offset: 0x1c5, out: 0x558c4f00
+lwl :: offset: 0x1c6, out: 0xffffffff8c4f0000
+lwl :: offset: 0x1c7, out: 0x4f000000
+lwl :: offset: 0x1c8, out: 0x6168d62a
+lwl :: offset: 0x1c9, out: 0x68d62a00
+lwl :: offset: 0x1ca, out: 0xffffffffd62a0000
+lwl :: offset: 0x1cb, out: 0x2a000000
+lwl :: offset: 0x1cc, out: 0x34c195c7
+lwl :: offset: 0x1cd, out: 0xffffffffc195c700
+lwl :: offset: 0x1ce, out: 0xffffffff95c70000
+lwl :: offset: 0x1cf, out: 0xffffffffc7000000
+lwl :: offset: 0x1d0, out: 0xffffffffd3016989
+lwl :: offset: 0x1d1, out: 0x1698900
+lwl :: offset: 0x1d2, out: 0x69890000
+lwl :: offset: 0x1d3, out: 0xffffffff89000000
+lwl :: offset: 0x1d4, out: 0x4df47405
+lwl :: offset: 0x1d5, out: 0xfffffffff4740500
+lwl :: offset: 0x1d6, out: 0x74050000
+lwl :: offset: 0x1d7, out: 0x5000000
+lwl :: offset: 0x1d8, out: 0x1ca190bf
+lwl :: offset: 0x1d9, out: 0xffffffffa190bf00
+lwl :: offset: 0x1da, out: 0xffffffff90bf0000
+lwl :: offset: 0x1db, out: 0xffffffffbf000000
+lwl :: offset: 0x1dc, out: 0x6cbb06db
+lwl :: offset: 0x1dd, out: 0xffffffffbb06db00
+lwl :: offset: 0x1de, out: 0x6db0000
+lwl :: offset: 0x1df, out: 0xffffffffdb000000
+lwl :: offset: 0x1e0, out: 0x58300f02
+lwl :: offset: 0x1e1, out: 0x300f0200
+lwl :: offset: 0x1e2, out: 0xf020000
+lwl :: offset: 0x1e3, out: 0x2000000
+lwl :: offset: 0x1e4, out: 0xffffffff9cae393a
+lwl :: offset: 0x1e5, out: 0xffffffffae393a00
+lwl :: offset: 0x1e6, out: 0x393a0000
+lwl :: offset: 0x1e7, out: 0x3a000000
+lwl :: offset: 0x1e8, out: 0xffffffff9a995fdb
+lwl :: offset: 0x1e9, out: 0xffffffff995fdb00
+lwl :: offset: 0x1ea, out: 0x5fdb0000
+lwl :: offset: 0x1eb, out: 0xffffffffdb000000
+lwl :: offset: 0x1ec, out: 0xffffffffdc7ebc2d
+lwl :: offset: 0x1ed, out: 0x7ebc2d00
+lwl :: offset: 0x1ee, out: 0xffffffffbc2d0000
+lwl :: offset: 0x1ef, out: 0x2d000000
+lwl :: offset: 0x1f0, out: 0xffffffff8a96047b
+lwl :: offset: 0x1f1, out: 0xffffffff96047b00
+lwl :: offset: 0x1f2, out: 0x47b0000
+lwl :: offset: 0x1f3, out: 0x7b000000
+lwl :: offset: 0x1f4, out: 0xffffffffe3405b48
+lwl :: offset: 0x1f5, out: 0x405b4800
+lwl :: offset: 0x1f6, out: 0x5b480000
+lwl :: offset: 0x1f7, out: 0x48000000
+lwl :: offset: 0x1f8, out: 0x75bfafd2
+lwl :: offset: 0x1f9, out: 0xffffffffbfafd200
+lwl :: offset: 0x1fa, out: 0xffffffffafd20000
+lwl :: offset: 0x1fb, out: 0xffffffffd2000000
+lwl :: offset: 0x1fc, out: 0xffffffffd519d322
+lwl :: offset: 0x1fd, out: 0x19d32200
+lwl :: offset: 0x1fe, out: 0xffffffffd3220000
+lwl :: offset: 0x1ff, out: 0x22000000
+lwl :: offset: 0x200, out: 0xffffffffde230867
+lwl :: offset: 0x201, out: 0x23086700
+lwl :: offset: 0x202, out: 0x8670000
+lwl :: offset: 0x203, out: 0x67000000
+lwl :: offset: 0x204, out: 0xffffffffa630f6ad
+lwl :: offset: 0x205, out: 0x30f6ad00
+lwl :: offset: 0x206, out: 0xfffffffff6ad0000
+lwl :: offset: 0x207, out: 0xffffffffad000000
+lwl :: offset: 0x208, out: 0x2c0a0cf2
+lwl :: offset: 0x209, out: 0xa0cf200
+lwl :: offset: 0x20a, out: 0xcf20000
+lwl :: offset: 0x20b, out: 0xfffffffff2000000
+lwl :: offset: 0x20c, out: 0x56103260
+lwl :: offset: 0x20d, out: 0x10326000
+lwl :: offset: 0x20e, out: 0x32600000
+lwl :: offset: 0x20f, out: 0x60000000
+lwl :: offset: 0x210, out: 0xffffffff94a90544
+lwl :: offset: 0x211, out: 0xffffffffa9054400
+lwl :: offset: 0x212, out: 0x5440000
+lwl :: offset: 0x213, out: 0x44000000
+lwl :: offset: 0x214, out: 0x249b18ef
+lwl :: offset: 0x215, out: 0xffffffff9b18ef00
+lwl :: offset: 0x216, out: 0x18ef0000
+lwl :: offset: 0x217, out: 0xffffffffef000000
+lwl :: offset: 0x218, out: 0xfffffffff9519fb5
+lwl :: offset: 0x219, out: 0x519fb500
+lwl :: offset: 0x21a, out: 0xffffffff9fb50000
+lwl :: offset: 0x21b, out: 0xffffffffb5000000
+lwl :: offset: 0x21c, out: 0x5b56fcde
+lwl :: offset: 0x21d, out: 0x56fcde00
+lwl :: offset: 0x21e, out: 0xfffffffffcde0000
+lwl :: offset: 0x21f, out: 0xffffffffde000000
+lwl :: offset: 0x220, out: 0xffffffff81daf820
+lwl :: offset: 0x221, out: 0xffffffffdaf82000
+lwl :: offset: 0x222, out: 0xfffffffff8200000
+lwl :: offset: 0x223, out: 0x20000000
+lwl :: offset: 0x224, out: 0x468319b
+lwl :: offset: 0x225, out: 0x68319b00
+lwl :: offset: 0x226, out: 0x319b0000
+lwl :: offset: 0x227, out: 0xffffffff9b000000
+lwl :: offset: 0x228, out: 0xffffffff8c61ca5a
+lwl :: offset: 0x229, out: 0x61ca5a00
+lwl :: offset: 0x22a, out: 0xffffffffca5a0000
+lwl :: offset: 0x22b, out: 0x5a000000
+lwl :: offset: 0x22c, out: 0x5725f2ec
+lwl :: offset: 0x22d, out: 0x25f2ec00
+lwl :: offset: 0x22e, out: 0xfffffffff2ec0000
+lwl :: offset: 0x22f, out: 0xffffffffec000000
+lwl :: offset: 0x230, out: 0xffffffff8b95a6dd
+lwl :: offset: 0x231, out: 0xffffffff95a6dd00
+lwl :: offset: 0x232, out: 0xffffffffa6dd0000
+lwl :: offset: 0x233, out: 0xffffffffdd000000
+lwl :: offset: 0x234, out: 0xffffffffc25dc8bf
+lwl :: offset: 0x235, out: 0x5dc8bf00
+lwl :: offset: 0x236, out: 0xffffffffc8bf0000
+lwl :: offset: 0x237, out: 0xffffffffbf000000
+lwl :: offset: 0x238, out: 0x300ce751
+lwl :: offset: 0x239, out: 0xce75100
+lwl :: offset: 0x23a, out: 0xffffffffe7510000
+lwl :: offset: 0x23b, out: 0x51000000
+lwl :: offset: 0x23c, out: 0xffffffffdac6162f
+lwl :: offset: 0x23d, out: 0xffffffffc6162f00
+lwl :: offset: 0x23e, out: 0x162f0000
+lwl :: offset: 0x23f, out: 0x2f000000
+lwl :: offset: 0x240, out: 0x6778fdf3
+lwl :: offset: 0x241, out: 0x78fdf300
+lwl :: offset: 0x242, out: 0xfffffffffdf30000
+lwl :: offset: 0x243, out: 0xfffffffff3000000
+lwl :: offset: 0x244, out: 0xffffffffba52a850
+lwl :: offset: 0x245, out: 0x52a85000
+lwl :: offset: 0x246, out: 0xffffffffa8500000
+lwl :: offset: 0x247, out: 0x50000000
+lwl :: offset: 0x248, out: 0xffffffffad00b1f7
+lwl :: offset: 0x249, out: 0xb1f700
+lwl :: offset: 0x24a, out: 0xffffffffb1f70000
+lwl :: offset: 0x24b, out: 0xfffffffff7000000
+lwl :: offset: 0x24c, out: 0xffffffffda78479f
+lwl :: offset: 0x24d, out: 0x78479f00
+lwl :: offset: 0x24e, out: 0x479f0000
+lwl :: offset: 0x24f, out: 0xffffffff9f000000
+lwl :: offset: 0x250, out: 0x8d44168
+lwl :: offset: 0x251, out: 0xffffffffd4416800
+lwl :: offset: 0x252, out: 0x41680000
+lwl :: offset: 0x253, out: 0x68000000
+lwl :: offset: 0x254, out: 0xffffffffa6b6d98a
+lwl :: offset: 0x255, out: 0xffffffffb6d98a00
+lwl :: offset: 0x256, out: 0xffffffffd98a0000
+lwl :: offset: 0x257, out: 0xffffffff8a000000
+lwl :: offset: 0x258, out: 0xfffffffff518381d
+lwl :: offset: 0x259, out: 0x18381d00
+lwl :: offset: 0x25a, out: 0x381d0000
+lwl :: offset: 0x25b, out: 0x1d000000
+lwl :: offset: 0x25c, out: 0xffffffffce634413
+lwl :: offset: 0x25d, out: 0x63441300
+lwl :: offset: 0x25e, out: 0x44130000
+lwl :: offset: 0x25f, out: 0x13000000
+lwl :: offset: 0x260, out: 0xffffffffe4627f3f
+lwl :: offset: 0x261, out: 0x627f3f00
+lwl :: offset: 0x262, out: 0x7f3f0000
+lwl :: offset: 0x263, out: 0x3f000000
+lwl :: offset: 0x264, out: 0xffffffffe5255fc0
+lwl :: offset: 0x265, out: 0x255fc000
+lwl :: offset: 0x266, out: 0x5fc00000
+lwl :: offset: 0x267, out: 0xffffffffc0000000
+lwl :: offset: 0x268, out: 0xffffffffccd392e1
+lwl :: offset: 0x269, out: 0xffffffffd392e100
+lwl :: offset: 0x26a, out: 0xffffffff92e10000
+lwl :: offset: 0x26b, out: 0xffffffffe1000000
+lwl :: offset: 0x26c, out: 0x76321f28
+lwl :: offset: 0x26d, out: 0x321f2800
+lwl :: offset: 0x26e, out: 0x1f280000
+lwl :: offset: 0x26f, out: 0x28000000
+lwl :: offset: 0x270, out: 0xffffffff82946494
+lwl :: offset: 0x271, out: 0xffffffff94649400
+lwl :: offset: 0x272, out: 0x64940000
+lwl :: offset: 0x273, out: 0xffffffff94000000
+lwl :: offset: 0x274, out: 0x4018fd8f
+lwl :: offset: 0x275, out: 0x18fd8f00
+lwl :: offset: 0x276, out: 0xfffffffffd8f0000
+lwl :: offset: 0x277, out: 0xffffffff8f000000
+lwl :: offset: 0x278, out: 0x15d32040
+lwl :: offset: 0x279, out: 0xffffffffd3204000
+lwl :: offset: 0x27a, out: 0x20400000
+lwl :: offset: 0x27b, out: 0x40000000
+lwl :: offset: 0x27c, out: 0x52e8f0e5
+lwl :: offset: 0x27d, out: 0xffffffffe8f0e500
+lwl :: offset: 0x27e, out: 0xfffffffff0e50000
+lwl :: offset: 0x27f, out: 0xffffffffe5000000
+lwl :: offset: 0x280, out: 0x7caf83d2
+lwl :: offset: 0x281, out: 0xffffffffaf83d200
+lwl :: offset: 0x282, out: 0xffffffff83d20000
+lwl :: offset: 0x283, out: 0xffffffffd2000000
+lwl :: offset: 0x284, out: 0xffffffff880ff344
+lwl :: offset: 0x285, out: 0xff34400
+lwl :: offset: 0x286, out: 0xfffffffff3440000
+lwl :: offset: 0x287, out: 0x44000000
+lwl :: offset: 0x288, out: 0xfffffffff156a04c
+lwl :: offset: 0x289, out: 0x56a04c00
+lwl :: offset: 0x28a, out: 0xffffffffa04c0000
+lwl :: offset: 0x28b, out: 0x4c000000
+lwl :: offset: 0x28c, out: 0x747defd7
+lwl :: offset: 0x28d, out: 0x7defd700
+lwl :: offset: 0x28e, out: 0xffffffffefd70000
+lwl :: offset: 0x28f, out: 0xffffffffd7000000
+lwl :: offset: 0x290, out: 0xffffffff93e2601c
+lwl :: offset: 0x291, out: 0xffffffffe2601c00
+lwl :: offset: 0x292, out: 0x601c0000
+lwl :: offset: 0x293, out: 0x1c000000
+lwl :: offset: 0x294, out: 0xf31d710
+lwl :: offset: 0x295, out: 0x31d71000
+lwl :: offset: 0x296, out: 0xffffffffd7100000
+lwl :: offset: 0x297, out: 0x10000000
+lwl :: offset: 0x298, out: 0xffffffffe1e1a679
+lwl :: offset: 0x299, out: 0xffffffffe1a67900
+lwl :: offset: 0x29a, out: 0xffffffffa6790000
+lwl :: offset: 0x29b, out: 0x79000000
+lwl :: offset: 0x29c, out: 0x131cd933
+lwl :: offset: 0x29d, out: 0x1cd93300
+lwl :: offset: 0x29e, out: 0xffffffffd9330000
+lwl :: offset: 0x29f, out: 0x33000000
+lwl :: offset: 0x2a0, out: 0x24296b75
+lwl :: offset: 0x2a1, out: 0x296b7500
+lwl :: offset: 0x2a2, out: 0x6b750000
+lwl :: offset: 0x2a3, out: 0x75000000
+lwl :: offset: 0x2a4, out: 0xffffffffa76fa427
+lwl :: offset: 0x2a5, out: 0x6fa42700
+lwl :: offset: 0x2a6, out: 0xffffffffa4270000
+lwl :: offset: 0x2a7, out: 0x27000000
+lwl :: offset: 0x2a8, out: 0xffffffffd296e2d2
+lwl :: offset: 0x2a9, out: 0xffffffff96e2d200
+lwl :: offset: 0x2aa, out: 0xffffffffe2d20000
+lwl :: offset: 0x2ab, out: 0xffffffffd2000000
+lwl :: offset: 0x2ac, out: 0x139ee56a
+lwl :: offset: 0x2ad, out: 0xffffffff9ee56a00
+lwl :: offset: 0x2ae, out: 0xffffffffe56a0000
+lwl :: offset: 0x2af, out: 0x6a000000
+lwl :: offset: 0x2b0, out: 0x5a82447f
+lwl :: offset: 0x2b1, out: 0xffffffff82447f00
+lwl :: offset: 0x2b2, out: 0x447f0000
+lwl :: offset: 0x2b3, out: 0x7f000000
+lwl :: offset: 0x2b4, out: 0x6dc2a5c0
+lwl :: offset: 0x2b5, out: 0xffffffffc2a5c000
+lwl :: offset: 0x2b6, out: 0xffffffffa5c00000
+lwl :: offset: 0x2b7, out: 0xffffffffc0000000
+lwl :: offset: 0x2b8, out: 0x76c89e80
+lwl :: offset: 0x2b9, out: 0xffffffffc89e8000
+lwl :: offset: 0x2ba, out: 0xffffffff9e800000
+lwl :: offset: 0x2bb, out: 0xffffffff80000000
+lwl :: offset: 0x2bc, out: 0xffffffffc07dc168
+lwl :: offset: 0x2bd, out: 0x7dc16800
+lwl :: offset: 0x2be, out: 0xffffffffc1680000
+lwl :: offset: 0x2bf, out: 0x68000000
+lwl :: offset: 0x2c0, out: 0x70dc345
+lwl :: offset: 0x2c1, out: 0xdc34500
+lwl :: offset: 0x2c2, out: 0xffffffffc3450000
+lwl :: offset: 0x2c3, out: 0x45000000
+lwl :: offset: 0x2c4, out: 0x4bfe348f
+lwl :: offset: 0x2c5, out: 0xfffffffffe348f00
+lwl :: offset: 0x2c6, out: 0x348f0000
+lwl :: offset: 0x2c7, out: 0xffffffff8f000000
+lwl :: offset: 0x2c8, out: 0xffffffffbddc7123
+lwl :: offset: 0x2c9, out: 0xffffffffdc712300
+lwl :: offset: 0x2ca, out: 0x71230000
+lwl :: offset: 0x2cb, out: 0x23000000
+lwl :: offset: 0x2cc, out: 0xffffffffdd6d241b
+lwl :: offset: 0x2cd, out: 0x6d241b00
+lwl :: offset: 0x2ce, out: 0x241b0000
+lwl :: offset: 0x2cf, out: 0x1b000000
+lwl :: offset: 0x2d0, out: 0xfffffffff62fb727
+lwl :: offset: 0x2d1, out: 0x2fb72700
+lwl :: offset: 0x2d2, out: 0xffffffffb7270000
+lwl :: offset: 0x2d3, out: 0x27000000
+lwl :: offset: 0x2d4, out: 0xffffffffa59fcebe
+lwl :: offset: 0x2d5, out: 0xffffffff9fcebe00
+lwl :: offset: 0x2d6, out: 0xffffffffcebe0000
+lwl :: offset: 0x2d7, out: 0xffffffffbe000000
+lwl :: offset: 0x2d8, out: 0x109f27e9
+lwl :: offset: 0x2d9, out: 0xffffffff9f27e900
+lwl :: offset: 0x2da, out: 0x27e90000
+lwl :: offset: 0x2db, out: 0xffffffffe9000000
+lwl :: offset: 0x2dc, out: 0xf9f46fb
+lwl :: offset: 0x2dd, out: 0xffffffff9f46fb00
+lwl :: offset: 0x2de, out: 0x46fb0000
+lwl :: offset: 0x2df, out: 0xfffffffffb000000
+lwl :: offset: 0x2e0, out: 0x3f63daa9
+lwl :: offset: 0x2e1, out: 0x63daa900
+lwl :: offset: 0x2e2, out: 0xffffffffdaa90000
+lwl :: offset: 0x2e3, out: 0xffffffffa9000000
+lwl :: offset: 0x2e4, out: 0xffffffffafd199d7
+lwl :: offset: 0x2e5, out: 0xffffffffd199d700
+lwl :: offset: 0x2e6, out: 0xffffffff99d70000
+lwl :: offset: 0x2e7, out: 0xffffffffd7000000
+lwl :: offset: 0x2e8, out: 0xffffffffdbcb312e
+lwl :: offset: 0x2e9, out: 0xffffffffcb312e00
+lwl :: offset: 0x2ea, out: 0x312e0000
+lwl :: offset: 0x2eb, out: 0x2e000000
+lwl :: offset: 0x2ec, out: 0xffffffffa3d484f2
+lwl :: offset: 0x2ed, out: 0xffffffffd484f200
+lwl :: offset: 0x2ee, out: 0xffffffff84f20000
+lwl :: offset: 0x2ef, out: 0xfffffffff2000000
+lwl :: offset: 0x2f0, out: 0x1f353faa
+lwl :: offset: 0x2f1, out: 0x353faa00
+lwl :: offset: 0x2f2, out: 0x3faa0000
+lwl :: offset: 0x2f3, out: 0xffffffffaa000000
+lwl :: offset: 0x2f4, out: 0xffffffffda4fe4c6
+lwl :: offset: 0x2f5, out: 0x4fe4c600
+lwl :: offset: 0x2f6, out: 0xffffffffe4c60000
+lwl :: offset: 0x2f7, out: 0xffffffffc6000000
+lwl :: offset: 0x2f8, out: 0xffffffff8b086ee0
+lwl :: offset: 0x2f9, out: 0x86ee000
+lwl :: offset: 0x2fa, out: 0x6ee00000
+lwl :: offset: 0x2fb, out: 0xffffffffe0000000
+lwl :: offset: 0x2fc, out: 0x7150c260
+lwl :: offset: 0x2fd, out: 0x50c26000
+lwl :: offset: 0x2fe, out: 0xffffffffc2600000
+lwl :: offset: 0x2ff, out: 0x60000000
+lwl :: offset: 0x300, out: 0xffffffffe54750d5
+lwl :: offset: 0x301, out: 0x4750d500
+lwl :: offset: 0x302, out: 0x50d50000
+lwl :: offset: 0x303, out: 0xffffffffd5000000
+lwl :: offset: 0x304, out: 0xffffffffd9257f25
+lwl :: offset: 0x305, out: 0x257f2500
+lwl :: offset: 0x306, out: 0x7f250000
+lwl :: offset: 0x307, out: 0x25000000
+lwl :: offset: 0x308, out: 0x3d69625f
+lwl :: offset: 0x309, out: 0x69625f00
+lwl :: offset: 0x30a, out: 0x625f0000
+lwl :: offset: 0x30b, out: 0x5f000000
+lwl :: offset: 0x30c, out: 0xffffffffe9a6db5b
+lwl :: offset: 0x30d, out: 0xffffffffa6db5b00
+lwl :: offset: 0x30e, out: 0xffffffffdb5b0000
+lwl :: offset: 0x30f, out: 0x5b000000
+lwl :: offset: 0x310, out: 0x70a3e042
+lwl :: offset: 0x311, out: 0xffffffffa3e04200
+lwl :: offset: 0x312, out: 0xffffffffe0420000
+lwl :: offset: 0x313, out: 0x42000000
+lwl :: offset: 0x314, out: 0x4340ac96
+lwl :: offset: 0x315, out: 0x40ac9600
+lwl :: offset: 0x316, out: 0xffffffffac960000
+lwl :: offset: 0x317, out: 0xffffffff96000000
+lwl :: offset: 0x318, out: 0xffffffffc0478f03
+lwl :: offset: 0x319, out: 0x478f0300
+lwl :: offset: 0x31a, out: 0xffffffff8f030000
+lwl :: offset: 0x31b, out: 0x3000000
+lwl :: offset: 0x31c, out: 0x6980171e
+lwl :: offset: 0x31d, out: 0xffffffff80171e00
+lwl :: offset: 0x31e, out: 0x171e0000
+lwl :: offset: 0x31f, out: 0x1e000000
+lwl :: offset: 0x320, out: 0x3ce839a5
+lwl :: offset: 0x321, out: 0xffffffffe839a500
+lwl :: offset: 0x322, out: 0x39a50000
+lwl :: offset: 0x323, out: 0xffffffffa5000000
+lwl :: offset: 0x324, out: 0x1cf929e3
+lwl :: offset: 0x325, out: 0xfffffffff929e300
+lwl :: offset: 0x326, out: 0x29e30000
+lwl :: offset: 0x327, out: 0xffffffffe3000000
+lwl :: offset: 0x328, out: 0xffffffffe2fbfa89
+lwl :: offset: 0x329, out: 0xfffffffffbfa8900
+lwl :: offset: 0x32a, out: 0xfffffffffa890000
+lwl :: offset: 0x32b, out: 0xffffffff89000000
+lwl :: offset: 0x32c, out: 0x5eb68958
+lwl :: offset: 0x32d, out: 0xffffffffb6895800
+lwl :: offset: 0x32e, out: 0xffffffff89580000
+lwl :: offset: 0x32f, out: 0x58000000
+lwl :: offset: 0x330, out: 0xffffffffd24bb05d
+lwl :: offset: 0x331, out: 0x4bb05d00
+lwl :: offset: 0x332, out: 0xffffffffb05d0000
+lwl :: offset: 0x333, out: 0x5d000000
+lwl :: offset: 0x334, out: 0x76ed25b7
+lwl :: offset: 0x335, out: 0xffffffffed25b700
+lwl :: offset: 0x336, out: 0x25b70000
+lwl :: offset: 0x337, out: 0xffffffffb7000000
+lwl :: offset: 0x338, out: 0xeb9682c
+lwl :: offset: 0x339, out: 0xffffffffb9682c00
+lwl :: offset: 0x33a, out: 0x682c0000
+lwl :: offset: 0x33b, out: 0x2c000000
+lwl :: offset: 0x33c, out: 0x170312f1
+lwl :: offset: 0x33d, out: 0x312f100
+lwl :: offset: 0x33e, out: 0x12f10000
+lwl :: offset: 0x33f, out: 0xfffffffff1000000
+lwl :: offset: 0x340, out: 0xffffffff84785280
+lwl :: offset: 0x341, out: 0x78528000
+lwl :: offset: 0x342, out: 0x52800000
+lwl :: offset: 0x343, out: 0xffffffff80000000
+lwl :: offset: 0x344, out: 0xffffffffdd301d0d
+lwl :: offset: 0x345, out: 0x301d0d00
+lwl :: offset: 0x346, out: 0x1d0d0000
+lwl :: offset: 0x347, out: 0xd000000
+lwl :: offset: 0x348, out: 0x179c77aa
+lwl :: offset: 0x349, out: 0xffffffff9c77aa00
+lwl :: offset: 0x34a, out: 0x77aa0000
+lwl :: offset: 0x34b, out: 0xffffffffaa000000
+lwl :: offset: 0x34c, out: 0x1f8fd6ef
+lwl :: offset: 0x34d, out: 0xffffffff8fd6ef00
+lwl :: offset: 0x34e, out: 0xffffffffd6ef0000
+lwl :: offset: 0x34f, out: 0xffffffffef000000
+lwl :: offset: 0x350, out: 0x26444ced
+lwl :: offset: 0x351, out: 0x444ced00
+lwl :: offset: 0x352, out: 0x4ced0000
+lwl :: offset: 0x353, out: 0xffffffffed000000
+lwl :: offset: 0x354, out: 0x2998436d
+lwl :: offset: 0x355, out: 0xffffffff98436d00
+lwl :: offset: 0x356, out: 0x436d0000
+lwl :: offset: 0x357, out: 0x6d000000
+lwl :: offset: 0x358, out: 0x7175c9d
+lwl :: offset: 0x359, out: 0x175c9d00
+lwl :: offset: 0x35a, out: 0x5c9d0000
+lwl :: offset: 0x35b, out: 0xffffffff9d000000
+lwl :: offset: 0x35c, out: 0xffffffffd58ca708
+lwl :: offset: 0x35d, out: 0xffffffff8ca70800
+lwl :: offset: 0x35e, out: 0xffffffffa7080000
+lwl :: offset: 0x35f, out: 0x8000000
+lwl :: offset: 0x360, out: 0x663d0610
+lwl :: offset: 0x361, out: 0x3d061000
+lwl :: offset: 0x362, out: 0x6100000
+lwl :: offset: 0x363, out: 0x10000000
+lwl :: offset: 0x364, out: 0x55833287
+lwl :: offset: 0x365, out: 0xffffffff83328700
+lwl :: offset: 0x366, out: 0x32870000
+lwl :: offset: 0x367, out: 0xffffffff87000000
+lwl :: offset: 0x368, out: 0xffffffffab7dd048
+lwl :: offset: 0x369, out: 0x7dd04800
+lwl :: offset: 0x36a, out: 0xffffffffd0480000
+lwl :: offset: 0x36b, out: 0x48000000
+lwl :: offset: 0x36c, out: 0xffffffff8951d68b
+lwl :: offset: 0x36d, out: 0x51d68b00
+lwl :: offset: 0x36e, out: 0xffffffffd68b0000
+lwl :: offset: 0x36f, out: 0xffffffff8b000000
+lwl :: offset: 0x370, out: 0xfffffffff6982367
+lwl :: offset: 0x371, out: 0xffffffff98236700
+lwl :: offset: 0x372, out: 0x23670000
+lwl :: offset: 0x373, out: 0x67000000
+lwl :: offset: 0x374, out: 0xe82471b
+lwl :: offset: 0x375, out: 0xffffffff82471b00
+lwl :: offset: 0x376, out: 0x471b0000
+lwl :: offset: 0x377, out: 0x1b000000
+lwl :: offset: 0x378, out: 0x36886c59
+lwl :: offset: 0x379, out: 0xffffffff886c5900
+lwl :: offset: 0x37a, out: 0x6c590000
+lwl :: offset: 0x37b, out: 0x59000000
+lwl :: offset: 0x37c, out: 0xffffffffd98d26b2
+lwl :: offset: 0x37d, out: 0xffffffff8d26b200
+lwl :: offset: 0x37e, out: 0x26b20000
+lwl :: offset: 0x37f, out: 0xffffffffb2000000
+lwl :: offset: 0x380, out: 0x9ca4bdb
+lwl :: offset: 0x381, out: 0xffffffffca4bdb00
+lwl :: offset: 0x382, out: 0x4bdb0000
+lwl :: offset: 0x383, out: 0xffffffffdb000000
+lwl :: offset: 0x384, out: 0xffffffffd32be479
+lwl :: offset: 0x385, out: 0x2be47900
+lwl :: offset: 0x386, out: 0xffffffffe4790000
+lwl :: offset: 0x387, out: 0x79000000
+lwl :: offset: 0x388, out: 0xfffffffffd5d7d1d
+lwl :: offset: 0x389, out: 0x5d7d1d00
+lwl :: offset: 0x38a, out: 0x7d1d0000
+lwl :: offset: 0x38b, out: 0x1d000000
+lwl :: offset: 0x38c, out: 0xffffffff9962e61f
+lwl :: offset: 0x38d, out: 0x62e61f00
+lwl :: offset: 0x38e, out: 0xffffffffe61f0000
+lwl :: offset: 0x38f, out: 0x1f000000
+lwl :: offset: 0x390, out: 0x3f46553e
+lwl :: offset: 0x391, out: 0x46553e00
+lwl :: offset: 0x392, out: 0x553e0000
+lwl :: offset: 0x393, out: 0x3e000000
+lwl :: offset: 0x394, out: 0xffffffffcad374df
+lwl :: offset: 0x395, out: 0xffffffffd374df00
+lwl :: offset: 0x396, out: 0x74df0000
+lwl :: offset: 0x397, out: 0xffffffffdf000000
+lwl :: offset: 0x398, out: 0x2e9ab97d
+lwl :: offset: 0x399, out: 0xffffffff9ab97d00
+lwl :: offset: 0x39a, out: 0xffffffffb97d0000
+lwl :: offset: 0x39b, out: 0x7d000000
+lwl :: offset: 0x39c, out: 0x3eedf2a7
+lwl :: offset: 0x39d, out: 0xffffffffedf2a700
+lwl :: offset: 0x39e, out: 0xfffffffff2a70000
+lwl :: offset: 0x39f, out: 0xffffffffa7000000
+lwl :: offset: 0x3a0, out: 0x36a6f7fa
+lwl :: offset: 0x3a1, out: 0xffffffffa6f7fa00
+lwl :: offset: 0x3a2, out: 0xfffffffff7fa0000
+lwl :: offset: 0x3a3, out: 0xfffffffffa000000
+lwl :: offset: 0x3a4, out: 0x3c0c9f33
+lwl :: offset: 0x3a5, out: 0xc9f3300
+lwl :: offset: 0x3a6, out: 0xffffffff9f330000
+lwl :: offset: 0x3a7, out: 0x33000000
+lwl :: offset: 0x3a8, out: 0xffffffff8bb938e3
+lwl :: offset: 0x3a9, out: 0xffffffffb938e300
+lwl :: offset: 0x3aa, out: 0x38e30000
+lwl :: offset: 0x3ab, out: 0xffffffffe3000000
+lwl :: offset: 0x3ac, out: 0x155ec9dc
+lwl :: offset: 0x3ad, out: 0x5ec9dc00
+lwl :: offset: 0x3ae, out: 0xffffffffc9dc0000
+lwl :: offset: 0x3af, out: 0xffffffffdc000000
+lwl :: offset: 0x3b0, out: 0xffffffffd2df25c4
+lwl :: offset: 0x3b1, out: 0xffffffffdf25c400
+lwl :: offset: 0x3b2, out: 0x25c40000
+lwl :: offset: 0x3b3, out: 0xffffffffc4000000
+lwl :: offset: 0x3b4, out: 0x19478206
+lwl :: offset: 0x3b5, out: 0x47820600
+lwl :: offset: 0x3b6, out: 0xffffffff82060000
+lwl :: offset: 0x3b7, out: 0x6000000
+lwl :: offset: 0x3b8, out: 0xffffffffbc65bf27
+lwl :: offset: 0x3b9, out: 0x65bf2700
+lwl :: offset: 0x3ba, out: 0xffffffffbf270000
+lwl :: offset: 0x3bb, out: 0x27000000
+lwl :: offset: 0x3bc, out: 0xffffffffeb321825
+lwl :: offset: 0x3bd, out: 0x32182500
+lwl :: offset: 0x3be, out: 0x18250000
+lwl :: offset: 0x3bf, out: 0x25000000
+lwl :: offset: 0x3c0, out: 0xffffffffa8b08fe6
+lwl :: offset: 0x3c1, out: 0xffffffffb08fe600
+lwl :: offset: 0x3c2, out: 0xffffffff8fe60000
+lwl :: offset: 0x3c3, out: 0xffffffffe6000000
+lwl :: offset: 0x3c4, out: 0x7a8bc7da
+lwl :: offset: 0x3c5, out: 0xffffffff8bc7da00
+lwl :: offset: 0x3c6, out: 0xffffffffc7da0000
+lwl :: offset: 0x3c7, out: 0xffffffffda000000
+lwl :: offset: 0x3c8, out: 0xffffffff852b5bca
+lwl :: offset: 0x3c9, out: 0x2b5bca00
+lwl :: offset: 0x3ca, out: 0x5bca0000
+lwl :: offset: 0x3cb, out: 0xffffffffca000000
+lwl :: offset: 0x3cc, out: 0xfffffffff8dfcde8
+lwl :: offset: 0x3cd, out: 0xffffffffdfcde800
+lwl :: offset: 0x3ce, out: 0xffffffffcde80000
+lwl :: offset: 0x3cf, out: 0xffffffffe8000000
+lwl :: offset: 0x3d0, out: 0x478909b
+lwl :: offset: 0x3d1, out: 0x78909b00
+lwl :: offset: 0x3d2, out: 0xffffffff909b0000
+lwl :: offset: 0x3d3, out: 0xffffffff9b000000
+lwl :: offset: 0x3d4, out: 0x59a99269
+lwl :: offset: 0x3d5, out: 0xffffffffa9926900
+lwl :: offset: 0x3d6, out: 0xffffffff92690000
+lwl :: offset: 0x3d7, out: 0x69000000
+lwl :: offset: 0x3d8, out: 0xffffffffbfb31cc8
+lwl :: offset: 0x3d9, out: 0xffffffffb31cc800
+lwl :: offset: 0x3da, out: 0x1cc80000
+lwl :: offset: 0x3db, out: 0xffffffffc8000000
+lwl :: offset: 0x3dc, out: 0x7857360f
+lwl :: offset: 0x3dd, out: 0x57360f00
+lwl :: offset: 0x3de, out: 0x360f0000
+lwl :: offset: 0x3df, out: 0xf000000
+lwl :: offset: 0x3e0, out: 0xffffffffb665ed5e
+lwl :: offset: 0x3e1, out: 0x65ed5e00
+lwl :: offset: 0x3e2, out: 0xffffffffed5e0000
+lwl :: offset: 0x3e3, out: 0x5e000000
+lwl :: offset: 0x3e4, out: 0x7f89e9a2
+lwl :: offset: 0x3e5, out: 0xffffffff89e9a200
+lwl :: offset: 0x3e6, out: 0xffffffffe9a20000
+lwl :: offset: 0x3e7, out: 0xffffffffa2000000
+lwl :: offset: 0x3e8, out: 0x15da9474
+lwl :: offset: 0x3e9, out: 0xffffffffda947400
+lwl :: offset: 0x3ea, out: 0xffffffff94740000
+lwl :: offset: 0x3eb, out: 0x74000000
+lwl :: offset: 0x3ec, out: 0xffffffffb7a8d5e4
+lwl :: offset: 0x3ed, out: 0xffffffffa8d5e400
+lwl :: offset: 0x3ee, out: 0xffffffffd5e40000
+lwl :: offset: 0x3ef, out: 0xffffffffe4000000
+lwl :: offset: 0x3f0, out: 0xfffffffff6b3537d
+lwl :: offset: 0x3f1, out: 0xffffffffb3537d00
+lwl :: offset: 0x3f2, out: 0x537d0000
+lwl :: offset: 0x3f3, out: 0x7d000000
+lwl :: offset: 0x3f4, out: 0x2af90fcc
+lwl :: offset: 0x3f5, out: 0xfffffffff90fcc00
+lwl :: offset: 0x3f6, out: 0xfcc0000
+lwl :: offset: 0x3f7, out: 0xffffffffcc000000
+lwl :: offset: 0x3f8, out: 0x223d7cfe
+lwl :: offset: 0x3f9, out: 0x3d7cfe00
+lwl :: offset: 0x3fa, out: 0x7cfe0000
+lwl :: offset: 0x3fb, out: 0xfffffffffe000000
+lwl :: offset: 0x3fc, out: 0x2b961897
+lwl :: offset: 0x3fd, out: 0xffffffff96189700
+lwl :: offset: 0x3fe, out: 0x18970000
+lwl :: offset: 0x3ff, out: 0xffffffff97000000
+lwl :: offset: 0x400, out: 0x420b34f5
+lwl :: offset: 0x401, out: 0xb34f500
+lwl :: offset: 0x402, out: 0x34f50000
+lwl :: offset: 0x403, out: 0xfffffffff5000000
+lwl :: offset: 0x404, out: 0x33734a4b
+lwl :: offset: 0x405, out: 0x734a4b00
+lwl :: offset: 0x406, out: 0x4a4b0000
+lwl :: offset: 0x407, out: 0x4b000000
+lwl :: offset: 0x408, out: 0xffffffff897c8c8d
+lwl :: offset: 0x409, out: 0x7c8c8d00
+lwl :: offset: 0x40a, out: 0xffffffff8c8d0000
+lwl :: offset: 0x40b, out: 0xffffffff8d000000
+lwl :: offset: 0x40c, out: 0xffffffffdd46b33c
+lwl :: offset: 0x40d, out: 0x46b33c00
+lwl :: offset: 0x40e, out: 0xffffffffb33c0000
+lwl :: offset: 0x40f, out: 0x3c000000
+lwl :: offset: 0x410, out: 0x7a387445
+lwl :: offset: 0x411, out: 0x38744500
+lwl :: offset: 0x412, out: 0x74450000
+lwl :: offset: 0x413, out: 0x45000000
+lwl :: offset: 0x414, out: 0xffffffffe392ccd9
+lwl :: offset: 0x415, out: 0xffffffff92ccd900
+lwl :: offset: 0x416, out: 0xffffffffccd90000
+lwl :: offset: 0x417, out: 0xffffffffd9000000
+lwl :: offset: 0x418, out: 0x512f29b1
+lwl :: offset: 0x419, out: 0x2f29b100
+lwl :: offset: 0x41a, out: 0x29b10000
+lwl :: offset: 0x41b, out: 0xffffffffb1000000
+lwl :: offset: 0x41c, out: 0xffffffffd80000c9
+lwl :: offset: 0x41d, out: 0xc900
+lwl :: offset: 0x41e, out: 0xc90000
+lwl :: offset: 0x41f, out: 0xffffffffc9000000
+lwl :: offset: 0x420, out: 0xffffffffeaded5c5
+lwl :: offset: 0x421, out: 0xffffffffded5c500
+lwl :: offset: 0x422, out: 0xffffffffd5c50000
+lwl :: offset: 0x423, out: 0xffffffffc5000000
+lwl :: offset: 0x424, out: 0x3dad020a
+lwl :: offset: 0x425, out: 0xffffffffad020a00
+lwl :: offset: 0x426, out: 0x20a0000
+lwl :: offset: 0x427, out: 0xa000000
+lwl :: offset: 0x428, out: 0xffffffff8a6229d7
+lwl :: offset: 0x429, out: 0x6229d700
+lwl :: offset: 0x42a, out: 0x29d70000
+lwl :: offset: 0x42b, out: 0xffffffffd7000000
+lwl :: offset: 0x42c, out: 0x31eea35b
+lwl :: offset: 0x42d, out: 0xffffffffeea35b00
+lwl :: offset: 0x42e, out: 0xffffffffa35b0000
+lwl :: offset: 0x42f, out: 0x5b000000
+lwl :: offset: 0x430, out: 0x2c3c3f9e
+lwl :: offset: 0x431, out: 0x3c3f9e00
+lwl :: offset: 0x432, out: 0x3f9e0000
+lwl :: offset: 0x433, out: 0xffffffff9e000000
+lwl :: offset: 0x434, out: 0x48985649
+lwl :: offset: 0x435, out: 0xffffffff98564900
+lwl :: offset: 0x436, out: 0x56490000
+lwl :: offset: 0x437, out: 0x49000000
+lwl :: offset: 0x438, out: 0x7ff61e78
+lwl :: offset: 0x439, out: 0xfffffffff61e7800
+lwl :: offset: 0x43a, out: 0x1e780000
+lwl :: offset: 0x43b, out: 0x78000000
+lwl :: offset: 0x43c, out: 0xffffffffdc9c0b77
+lwl :: offset: 0x43d, out: 0xffffffff9c0b7700
+lwl :: offset: 0x43e, out: 0xb770000
+lwl :: offset: 0x43f, out: 0x77000000
+lwl :: offset: 0x440, out: 0x2299b0e0
+lwl :: offset: 0x441, out: 0xffffffff99b0e000
+lwl :: offset: 0x442, out: 0xffffffffb0e00000
+lwl :: offset: 0x443, out: 0xffffffffe0000000
+lwl :: offset: 0x444, out: 0x1d5e68ec
+lwl :: offset: 0x445, out: 0x5e68ec00
+lwl :: offset: 0x446, out: 0x68ec0000
+lwl :: offset: 0x447, out: 0xffffffffec000000
+lwl :: offset: 0x448, out: 0x7c3b0467
+lwl :: offset: 0x449, out: 0x3b046700
+lwl :: offset: 0x44a, out: 0x4670000
+lwl :: offset: 0x44b, out: 0x67000000
+lwl :: offset: 0x44c, out: 0x3d0c6e25
+lwl :: offset: 0x44d, out: 0xc6e2500
+lwl :: offset: 0x44e, out: 0x6e250000
+lwl :: offset: 0x44f, out: 0x25000000
+lwl :: offset: 0x450, out: 0x164e17c1
+lwl :: offset: 0x451, out: 0x4e17c100
+lwl :: offset: 0x452, out: 0x17c10000
+lwl :: offset: 0x453, out: 0xffffffffc1000000
+lwl :: offset: 0x454, out: 0xffffffffe7fb6587
+lwl :: offset: 0x455, out: 0xfffffffffb658700
+lwl :: offset: 0x456, out: 0x65870000
+lwl :: offset: 0x457, out: 0xffffffff87000000
+lwl :: offset: 0x458, out: 0xfffffffffa4ca28b
+lwl :: offset: 0x459, out: 0x4ca28b00
+lwl :: offset: 0x45a, out: 0xffffffffa28b0000
+lwl :: offset: 0x45b, out: 0xffffffff8b000000
+lwl :: offset: 0x45c, out: 0x56d4950b
+lwl :: offset: 0x45d, out: 0xffffffffd4950b00
+lwl :: offset: 0x45e, out: 0xffffffff950b0000
+lwl :: offset: 0x45f, out: 0xb000000
+lwl :: offset: 0x460, out: 0xffffffffe5e9a314
+lwl :: offset: 0x461, out: 0xffffffffe9a31400
+lwl :: offset: 0x462, out: 0xffffffffa3140000
+lwl :: offset: 0x463, out: 0x14000000
+lwl :: offset: 0x464, out: 0xffffffffbe7fa08a
+lwl :: offset: 0x465, out: 0x7fa08a00
+lwl :: offset: 0x466, out: 0xffffffffa08a0000
+lwl :: offset: 0x467, out: 0xffffffff8a000000
+lwl :: offset: 0x468, out: 0xfffffffff8be8164
+lwl :: offset: 0x469, out: 0xffffffffbe816400
+lwl :: offset: 0x46a, out: 0xffffffff81640000
+lwl :: offset: 0x46b, out: 0x64000000
+lwl :: offset: 0x46c, out: 0x159649c5
+lwl :: offset: 0x46d, out: 0xffffffff9649c500
+lwl :: offset: 0x46e, out: 0x49c50000
+lwl :: offset: 0x46f, out: 0xffffffffc5000000
+lwl :: offset: 0x470, out: 0x7ca32597
+lwl :: offset: 0x471, out: 0xffffffffa3259700
+lwl :: offset: 0x472, out: 0x25970000
+lwl :: offset: 0x473, out: 0xffffffff97000000
+lwl :: offset: 0x474, out: 0xffffffff84e69b17
+lwl :: offset: 0x475, out: 0xffffffffe69b1700
+lwl :: offset: 0x476, out: 0xffffffff9b170000
+lwl :: offset: 0x477, out: 0x17000000
+lwl :: offset: 0x478, out: 0xfffffffffc8d543c
+lwl :: offset: 0x479, out: 0xffffffff8d543c00
+lwl :: offset: 0x47a, out: 0x543c0000
+lwl :: offset: 0x47b, out: 0x3c000000
+lwl :: offset: 0x47c, out: 0xffffffffa1f24f5c
+lwl :: offset: 0x47d, out: 0xfffffffff24f5c00
+lwl :: offset: 0x47e, out: 0x4f5c0000
+lwl :: offset: 0x47f, out: 0x5c000000
+lwl :: offset: 0x480, out: 0x4aeb6ca0
+lwl :: offset: 0x481, out: 0xffffffffeb6ca000
+lwl :: offset: 0x482, out: 0x6ca00000
+lwl :: offset: 0x483, out: 0xffffffffa0000000
+lwl :: offset: 0x484, out: 0xffffffffe3459e36
+lwl :: offset: 0x485, out: 0x459e3600
+lwl :: offset: 0x486, out: 0xffffffff9e360000
+lwl :: offset: 0x487, out: 0x36000000
+lwl :: offset: 0x488, out: 0xffffffffc532e18e
+lwl :: offset: 0x489, out: 0x32e18e00
+lwl :: offset: 0x48a, out: 0xffffffffe18e0000
+lwl :: offset: 0x48b, out: 0xffffffff8e000000
+lwl :: offset: 0x48c, out: 0x187980fa
+lwl :: offset: 0x48d, out: 0x7980fa00
+lwl :: offset: 0x48e, out: 0xffffffff80fa0000
+lwl :: offset: 0x48f, out: 0xfffffffffa000000
+lwl :: offset: 0x490, out: 0xffffffffb3fdec29
+lwl :: offset: 0x491, out: 0xfffffffffdec2900
+lwl :: offset: 0x492, out: 0xffffffffec290000
+lwl :: offset: 0x493, out: 0x29000000
+lwl :: offset: 0x494, out: 0x4f287d1c
+lwl :: offset: 0x495, out: 0x287d1c00
+lwl :: offset: 0x496, out: 0x7d1c0000
+lwl :: offset: 0x497, out: 0x1c000000
+lwl :: offset: 0x498, out: 0xffffffffb620660a
+lwl :: offset: 0x499, out: 0x20660a00
+lwl :: offset: 0x49a, out: 0x660a0000
+lwl :: offset: 0x49b, out: 0xa000000
+lwl :: offset: 0x49c, out: 0x49732b90
+lwl :: offset: 0x49d, out: 0x732b9000
+lwl :: offset: 0x49e, out: 0x2b900000
+lwl :: offset: 0x49f, out: 0xffffffff90000000
+lwl :: offset: 0x4a0, out: 0xffffffff993138f1
+lwl :: offset: 0x4a1, out: 0x3138f100
+lwl :: offset: 0x4a2, out: 0x38f10000
+lwl :: offset: 0x4a3, out: 0xfffffffff1000000
+lwl :: offset: 0x4a4, out: 0x6cfde991
+lwl :: offset: 0x4a5, out: 0xfffffffffde99100
+lwl :: offset: 0x4a6, out: 0xffffffffe9910000
+lwl :: offset: 0x4a7, out: 0xffffffff91000000
+lwl :: offset: 0x4a8, out: 0xffffffffde02d133
+lwl :: offset: 0x4a9, out: 0x2d13300
+lwl :: offset: 0x4aa, out: 0xffffffffd1330000
+lwl :: offset: 0x4ab, out: 0x33000000
+lwl :: offset: 0x4ac, out: 0x7d5407b9
+lwl :: offset: 0x4ad, out: 0x5407b900
+lwl :: offset: 0x4ae, out: 0x7b90000
+lwl :: offset: 0x4af, out: 0xffffffffb9000000
+lwl :: offset: 0x4b0, out: 0x13a390e1
+lwl :: offset: 0x4b1, out: 0xffffffffa390e100
+lwl :: offset: 0x4b2, out: 0xffffffff90e10000
+lwl :: offset: 0x4b3, out: 0xffffffffe1000000
+lwl :: offset: 0x4b4, out: 0xffffffffe1dab15a
+lwl :: offset: 0x4b5, out: 0xffffffffdab15a00
+lwl :: offset: 0x4b6, out: 0xffffffffb15a0000
+lwl :: offset: 0x4b7, out: 0x5a000000
+lwl :: offset: 0x4b8, out: 0x743491a6
+lwl :: offset: 0x4b9, out: 0x3491a600
+lwl :: offset: 0x4ba, out: 0xffffffff91a60000
+lwl :: offset: 0x4bb, out: 0xffffffffa6000000
+lwl :: offset: 0x4bc, out: 0xffffffff828716c8
+lwl :: offset: 0x4bd, out: 0xffffffff8716c800
+lwl :: offset: 0x4be, out: 0x16c80000
+lwl :: offset: 0x4bf, out: 0xffffffffc8000000
+lwl :: offset: 0x4c0, out: 0xffffffff8cff404a
+lwl :: offset: 0x4c1, out: 0xffffffffff404a00
+lwl :: offset: 0x4c2, out: 0x404a0000
+lwl :: offset: 0x4c3, out: 0x4a000000
+lwl :: offset: 0x4c4, out: 0xffffffffede292f2
+lwl :: offset: 0x4c5, out: 0xffffffffe292f200
+lwl :: offset: 0x4c6, out: 0xffffffff92f20000
+lwl :: offset: 0x4c7, out: 0xfffffffff2000000
+lwl :: offset: 0x4c8, out: 0xffffffffb9cec0db
+lwl :: offset: 0x4c9, out: 0xffffffffcec0db00
+lwl :: offset: 0x4ca, out: 0xffffffffc0db0000
+lwl :: offset: 0x4cb, out: 0xffffffffdb000000
+lwl :: offset: 0x4cc, out: 0x1f837636
+lwl :: offset: 0x4cd, out: 0xffffffff83763600
+lwl :: offset: 0x4ce, out: 0x76360000
+lwl :: offset: 0x4cf, out: 0x36000000
+lwl :: offset: 0x4d0, out: 0x2eaa5aa7
+lwl :: offset: 0x4d1, out: 0xffffffffaa5aa700
+lwl :: offset: 0x4d2, out: 0x5aa70000
+lwl :: offset: 0x4d3, out: 0xffffffffa7000000
+lwl :: offset: 0x4d4, out: 0x509771c
+lwl :: offset: 0x4d5, out: 0x9771c00
+lwl :: offset: 0x4d6, out: 0x771c0000
+lwl :: offset: 0x4d7, out: 0x1c000000
+lwl :: offset: 0x4d8, out: 0xffffffffd327538e
+lwl :: offset: 0x4d9, out: 0x27538e00
+lwl :: offset: 0x4da, out: 0x538e0000
+lwl :: offset: 0x4db, out: 0xffffffff8e000000
+lwl :: offset: 0x4dc, out: 0x1875241b
+lwl :: offset: 0x4dd, out: 0x75241b00
+lwl :: offset: 0x4de, out: 0x241b0000
+lwl :: offset: 0x4df, out: 0x1b000000
+lwl :: offset: 0x4e0, out: 0x42e9f854
+lwl :: offset: 0x4e1, out: 0xffffffffe9f85400
+lwl :: offset: 0x4e2, out: 0xfffffffff8540000
+lwl :: offset: 0x4e3, out: 0x54000000
+lwl :: offset: 0x4e4, out: 0xffffffff8b739b6b
+lwl :: offset: 0x4e5, out: 0x739b6b00
+lwl :: offset: 0x4e6, out: 0xffffffff9b6b0000
+lwl :: offset: 0x4e7, out: 0x6b000000
+lwl :: offset: 0x4e8, out: 0x78e4e50c
+lwl :: offset: 0x4e9, out: 0xffffffffe4e50c00
+lwl :: offset: 0x4ea, out: 0xffffffffe50c0000
+lwl :: offset: 0x4eb, out: 0xc000000
+lwl :: offset: 0x4ec, out: 0xffffffffeccbba1a
+lwl :: offset: 0x4ed, out: 0xffffffffcbba1a00
+lwl :: offset: 0x4ee, out: 0xffffffffba1a0000
+lwl :: offset: 0x4ef, out: 0x1a000000
+lwl :: offset: 0x4f0, out: 0xfffffffff6b6fa3f
+lwl :: offset: 0x4f1, out: 0xffffffffb6fa3f00
+lwl :: offset: 0x4f2, out: 0xfffffffffa3f0000
+lwl :: offset: 0x4f3, out: 0x3f000000
+lwl :: offset: 0x4f4, out: 0xffffffffcd9d27cb
+lwl :: offset: 0x4f5, out: 0xffffffff9d27cb00
+lwl :: offset: 0x4f6, out: 0x27cb0000
+lwl :: offset: 0x4f7, out: 0xffffffffcb000000
+lwl :: offset: 0x4f8, out: 0x73916483
+lwl :: offset: 0x4f9, out: 0xffffffff91648300
+lwl :: offset: 0x4fa, out: 0x64830000
+lwl :: offset: 0x4fb, out: 0xffffffff83000000
+lwl :: offset: 0x4fc, out: 0xffffffffae3e9423
+lwl :: offset: 0x4fd, out: 0x3e942300
+lwl :: offset: 0x4fe, out: 0xffffffff94230000
+lwl :: offset: 0x4ff, out: 0x23000000
+lwl :: offset: 0x500, out: 0x276af70a
+lwl :: offset: 0x501, out: 0x6af70a00
+lwl :: offset: 0x502, out: 0xfffffffff70a0000
+lwl :: offset: 0x503, out: 0xa000000
+lwl :: offset: 0x504, out: 0xe128561
+lwl :: offset: 0x505, out: 0x12856100
+lwl :: offset: 0x506, out: 0xffffffff85610000
+lwl :: offset: 0x507, out: 0x61000000
+lwl :: offset: 0x508, out: 0x3045bf6
+lwl :: offset: 0x509, out: 0x45bf600
+lwl :: offset: 0x50a, out: 0x5bf60000
+lwl :: offset: 0x50b, out: 0xfffffffff6000000
+lwl :: offset: 0x50c, out: 0xffffffffb5e74b6e
+lwl :: offset: 0x50d, out: 0xffffffffe74b6e00
+lwl :: offset: 0x50e, out: 0x4b6e0000
+lwl :: offset: 0x50f, out: 0x6e000000
+lwl :: offset: 0x510, out: 0x20223f13
+lwl :: offset: 0x511, out: 0x223f1300
+lwl :: offset: 0x512, out: 0x3f130000
+lwl :: offset: 0x513, out: 0x13000000
+lwl :: offset: 0x514, out: 0x8accfa6
+lwl :: offset: 0x515, out: 0xffffffffaccfa600
+lwl :: offset: 0x516, out: 0xffffffffcfa60000
+lwl :: offset: 0x517, out: 0xffffffffa6000000
+lwl :: offset: 0x518, out: 0xfffffffff83c5574
+lwl :: offset: 0x519, out: 0x3c557400
+lwl :: offset: 0x51a, out: 0x55740000
+lwl :: offset: 0x51b, out: 0x74000000
+lwl :: offset: 0x51c, out: 0x3976b5f5
+lwl :: offset: 0x51d, out: 0x76b5f500
+lwl :: offset: 0x51e, out: 0xffffffffb5f50000
+lwl :: offset: 0x51f, out: 0xfffffffff5000000
+lwl :: offset: 0x520, out: 0x1f9720f9
+lwl :: offset: 0x521, out: 0xffffffff9720f900
+lwl :: offset: 0x522, out: 0x20f90000
+lwl :: offset: 0x523, out: 0xfffffffff9000000
+lwl :: offset: 0x524, out: 0x46923c3d
+lwl :: offset: 0x525, out: 0xffffffff923c3d00
+lwl :: offset: 0x526, out: 0x3c3d0000
+lwl :: offset: 0x527, out: 0x3d000000
+lwl :: offset: 0x528, out: 0x620d2850
+lwl :: offset: 0x529, out: 0xd285000
+lwl :: offset: 0x52a, out: 0x28500000
+lwl :: offset: 0x52b, out: 0x50000000
+lwl :: offset: 0x52c, out: 0x6d2448dd
+lwl :: offset: 0x52d, out: 0x2448dd00
+lwl :: offset: 0x52e, out: 0x48dd0000
+lwl :: offset: 0x52f, out: 0xffffffffdd000000
+lwl :: offset: 0x530, out: 0x60a521e9
+lwl :: offset: 0x531, out: 0xffffffffa521e900
+lwl :: offset: 0x532, out: 0x21e90000
+lwl :: offset: 0x533, out: 0xffffffffe9000000
+lwl :: offset: 0x534, out: 0xffffffff9ff4a732
+lwl :: offset: 0x535, out: 0xfffffffff4a73200
+lwl :: offset: 0x536, out: 0xffffffffa7320000
+lwl :: offset: 0x537, out: 0x32000000
+lwl :: offset: 0x538, out: 0x5a08f3ab
+lwl :: offset: 0x539, out: 0x8f3ab00
+lwl :: offset: 0x53a, out: 0xfffffffff3ab0000
+lwl :: offset: 0x53b, out: 0xffffffffab000000
+lwl :: offset: 0x53c, out: 0x5c680f0b
+lwl :: offset: 0x53d, out: 0x680f0b00
+lwl :: offset: 0x53e, out: 0xf0b0000
+lwl :: offset: 0x53f, out: 0xb000000
+lwl :: offset: 0x540, out: 0xffffffffc7a59be7
+lwl :: offset: 0x541, out: 0xffffffffa59be700
+lwl :: offset: 0x542, out: 0xffffffff9be70000
+lwl :: offset: 0x543, out: 0xffffffffe7000000
+lwl :: offset: 0x544, out: 0xffffffff800f3d26
+lwl :: offset: 0x545, out: 0xf3d2600
+lwl :: offset: 0x546, out: 0x3d260000
+lwl :: offset: 0x547, out: 0x26000000
+lwl :: offset: 0x548, out: 0x1aecdf29
+lwl :: offset: 0x549, out: 0xffffffffecdf2900
+lwl :: offset: 0x54a, out: 0xffffffffdf290000
+lwl :: offset: 0x54b, out: 0x29000000
+lwl :: offset: 0x54c, out: 0xffffffff82ca1b41
+lwl :: offset: 0x54d, out: 0xffffffffca1b4100
+lwl :: offset: 0x54e, out: 0x1b410000
+lwl :: offset: 0x54f, out: 0x41000000
+lwl :: offset: 0x550, out: 0x2b8613a2
+lwl :: offset: 0x551, out: 0xffffffff8613a200
+lwl :: offset: 0x552, out: 0x13a20000
+lwl :: offset: 0x553, out: 0xffffffffa2000000
+lwl :: offset: 0x554, out: 0x60d19dcd
+lwl :: offset: 0x555, out: 0xffffffffd19dcd00
+lwl :: offset: 0x556, out: 0xffffffff9dcd0000
+lwl :: offset: 0x557, out: 0xffffffffcd000000
+lwl :: offset: 0x558, out: 0x2518ac8b
+lwl :: offset: 0x559, out: 0x18ac8b00
+lwl :: offset: 0x55a, out: 0xffffffffac8b0000
+lwl :: offset: 0x55b, out: 0xffffffff8b000000
+lwl :: offset: 0x55c, out: 0xe8bbe7f
+lwl :: offset: 0x55d, out: 0xffffffff8bbe7f00
+lwl :: offset: 0x55e, out: 0xffffffffbe7f0000
+lwl :: offset: 0x55f, out: 0x7f000000
+lwl :: offset: 0x560, out: 0x743e568d
+lwl :: offset: 0x561, out: 0x3e568d00
+lwl :: offset: 0x562, out: 0x568d0000
+lwl :: offset: 0x563, out: 0xffffffff8d000000
+lwl :: offset: 0x564, out: 0x2fcf486b
+lwl :: offset: 0x565, out: 0xffffffffcf486b00
+lwl :: offset: 0x566, out: 0x486b0000
+lwl :: offset: 0x567, out: 0x6b000000
+lwl :: offset: 0x568, out: 0x126f646f
+lwl :: offset: 0x569, out: 0x6f646f00
+lwl :: offset: 0x56a, out: 0x646f0000
+lwl :: offset: 0x56b, out: 0x6f000000
+lwl :: offset: 0x56c, out: 0x34c31728
+lwl :: offset: 0x56d, out: 0xffffffffc3172800
+lwl :: offset: 0x56e, out: 0x17280000
+lwl :: offset: 0x56f, out: 0x28000000
+lwl :: offset: 0x570, out: 0xffffffffaab01961
+lwl :: offset: 0x571, out: 0xffffffffb0196100
+lwl :: offset: 0x572, out: 0x19610000
+lwl :: offset: 0x573, out: 0x61000000
+lwl :: offset: 0x574, out: 0x56fc4d12
+lwl :: offset: 0x575, out: 0xfffffffffc4d1200
+lwl :: offset: 0x576, out: 0x4d120000
+lwl :: offset: 0x577, out: 0x12000000
+lwl :: offset: 0x578, out: 0x7535cd33
+lwl :: offset: 0x579, out: 0x35cd3300
+lwl :: offset: 0x57a, out: 0xffffffffcd330000
+lwl :: offset: 0x57b, out: 0x33000000
+lwl :: offset: 0x57c, out: 0xffffffff8595d342
+lwl :: offset: 0x57d, out: 0xffffffff95d34200
+lwl :: offset: 0x57e, out: 0xffffffffd3420000
+lwl :: offset: 0x57f, out: 0x42000000
+lwl :: offset: 0x580, out: 0xffffffffdfb254da
+lwl :: offset: 0x581, out: 0xffffffffb254da00
+lwl :: offset: 0x582, out: 0x54da0000
+lwl :: offset: 0x583, out: 0xffffffffda000000
+lwl :: offset: 0x584, out: 0x422346ec
+lwl :: offset: 0x585, out: 0x2346ec00
+lwl :: offset: 0x586, out: 0x46ec0000
+lwl :: offset: 0x587, out: 0xffffffffec000000
+lwl :: offset: 0x588, out: 0xffffffffa86726c9
+lwl :: offset: 0x589, out: 0x6726c900
+lwl :: offset: 0x58a, out: 0x26c90000
+lwl :: offset: 0x58b, out: 0xffffffffc9000000
+lwl :: offset: 0x58c, out: 0x81ab2a
+lwl :: offset: 0x58d, out: 0xffffffff81ab2a00
+lwl :: offset: 0x58e, out: 0xffffffffab2a0000
+lwl :: offset: 0x58f, out: 0x2a000000
+lwl :: offset: 0x590, out: 0xffffffff9bfeffa1
+lwl :: offset: 0x591, out: 0xfffffffffeffa100
+lwl :: offset: 0x592, out: 0xffffffffffa10000
+lwl :: offset: 0x593, out: 0xffffffffa1000000
+lwl :: offset: 0x594, out: 0x679d7438
+lwl :: offset: 0x595, out: 0xffffffff9d743800
+lwl :: offset: 0x596, out: 0x74380000
+lwl :: offset: 0x597, out: 0x38000000
+lwl :: offset: 0x598, out: 0xffffffffc7699826
+lwl :: offset: 0x599, out: 0x69982600
+lwl :: offset: 0x59a, out: 0xffffffff98260000
+lwl :: offset: 0x59b, out: 0x26000000
+lwl :: offset: 0x59c, out: 0xffffffffb7dee244
+lwl :: offset: 0x59d, out: 0xffffffffdee24400
+lwl :: offset: 0x59e, out: 0xffffffffe2440000
+lwl :: offset: 0x59f, out: 0x44000000
+lwl :: offset: 0x5a0, out: 0x3c07af97
+lwl :: offset: 0x5a1, out: 0x7af9700
+lwl :: offset: 0x5a2, out: 0xffffffffaf970000
+lwl :: offset: 0x5a3, out: 0xffffffff97000000
+lwl :: offset: 0x5a4, out: 0xfffffffffba6704a
+lwl :: offset: 0x5a5, out: 0xffffffffa6704a00
+lwl :: offset: 0x5a6, out: 0x704a0000
+lwl :: offset: 0x5a7, out: 0x4a000000
+lwl :: offset: 0x5a8, out: 0x521364dc
+lwl :: offset: 0x5a9, out: 0x1364dc00
+lwl :: offset: 0x5aa, out: 0x64dc0000
+lwl :: offset: 0x5ab, out: 0xffffffffdc000000
+lwl :: offset: 0x5ac, out: 0x4c58bfe
+lwl :: offset: 0x5ad, out: 0xffffffffc58bfe00
+lwl :: offset: 0x5ae, out: 0xffffffff8bfe0000
+lwl :: offset: 0x5af, out: 0xfffffffffe000000
+lwl :: offset: 0x5b0, out: 0xffffffffe0f7bb58
+lwl :: offset: 0x5b1, out: 0xfffffffff7bb5800
+lwl :: offset: 0x5b2, out: 0xffffffffbb580000
+lwl :: offset: 0x5b3, out: 0x58000000
+lwl :: offset: 0x5b4, out: 0xffffffff9ab7aebc
+lwl :: offset: 0x5b5, out: 0xffffffffb7aebc00
+lwl :: offset: 0x5b6, out: 0xffffffffaebc0000
+lwl :: offset: 0x5b7, out: 0xffffffffbc000000
+lwl :: offset: 0x5b8, out: 0xffffffffe336c60c
+lwl :: offset: 0x5b9, out: 0x36c60c00
+lwl :: offset: 0x5ba, out: 0xffffffffc60c0000
+lwl :: offset: 0x5bb, out: 0xc000000
+lwl :: offset: 0x5bc, out: 0xffffffffdeeb954d
+lwl :: offset: 0x5bd, out: 0xffffffffeb954d00
+lwl :: offset: 0x5be, out: 0xffffffff954d0000
+lwl :: offset: 0x5bf, out: 0x4d000000
+lwl :: offset: 0x5c0, out: 0xffffffffd5b2120c
+lwl :: offset: 0x5c1, out: 0xffffffffb2120c00
+lwl :: offset: 0x5c2, out: 0x120c0000
+lwl :: offset: 0x5c3, out: 0xc000000
+lwl :: offset: 0x5c4, out: 0x6f52416e
+lwl :: offset: 0x5c5, out: 0x52416e00
+lwl :: offset: 0x5c6, out: 0x416e0000
+lwl :: offset: 0x5c7, out: 0x6e000000
+lwl :: offset: 0x5c8, out: 0xffffffff85a2d4ff
+lwl :: offset: 0x5c9, out: 0xffffffffa2d4ff00
+lwl :: offset: 0x5ca, out: 0xffffffffd4ff0000
+lwl :: offset: 0x5cb, out: 0xffffffffff000000
+lwl :: offset: 0x5cc, out: 0x7e628a34
+lwl :: offset: 0x5cd, out: 0x628a3400
+lwl :: offset: 0x5ce, out: 0xffffffff8a340000
+lwl :: offset: 0x5cf, out: 0x34000000
+lwl :: offset: 0x5d0, out: 0xffffffff986a2b65
+lwl :: offset: 0x5d1, out: 0x6a2b6500
+lwl :: offset: 0x5d2, out: 0x2b650000
+lwl :: offset: 0x5d3, out: 0x65000000
+lwl :: offset: 0x5d4, out: 0x4a4e7e07
+lwl :: offset: 0x5d5, out: 0x4e7e0700
+lwl :: offset: 0x5d6, out: 0x7e070000
+lwl :: offset: 0x5d7, out: 0x7000000
+lwl :: offset: 0x5d8, out: 0xffffffffa974eac4
+lwl :: offset: 0x5d9, out: 0x74eac400
+lwl :: offset: 0x5da, out: 0xffffffffeac40000
+lwl :: offset: 0x5db, out: 0xffffffffc4000000
+lwl :: offset: 0x5dc, out: 0x3a489b55
+lwl :: offset: 0x5dd, out: 0x489b5500
+lwl :: offset: 0x5de, out: 0xffffffff9b550000
+lwl :: offset: 0x5df, out: 0x55000000
+lwl :: offset: 0x5e0, out: 0xffffffffa388c162
+lwl :: offset: 0x5e1, out: 0xffffffff88c16200
+lwl :: offset: 0x5e2, out: 0xffffffffc1620000
+lwl :: offset: 0x5e3, out: 0x62000000
+lwl :: offset: 0x5e4, out: 0x72f1f8f5
+lwl :: offset: 0x5e5, out: 0xfffffffff1f8f500
+lwl :: offset: 0x5e6, out: 0xfffffffff8f50000
+lwl :: offset: 0x5e7, out: 0xfffffffff5000000
+lwl :: offset: 0x5e8, out: 0xffffffffe8c11f45
+lwl :: offset: 0x5e9, out: 0xffffffffc11f4500
+lwl :: offset: 0x5ea, out: 0x1f450000
+lwl :: offset: 0x5eb, out: 0x45000000
+lwl :: offset: 0x5ec, out: 0xffffffffe7495ea9
+lwl :: offset: 0x5ed, out: 0x495ea900
+lwl :: offset: 0x5ee, out: 0x5ea90000
+lwl :: offset: 0x5ef, out: 0xffffffffa9000000
+lwl :: offset: 0x5f0, out: 0xffffffffadaa5a76
+lwl :: offset: 0x5f1, out: 0xffffffffaa5a7600
+lwl :: offset: 0x5f2, out: 0x5a760000
+lwl :: offset: 0x5f3, out: 0x76000000
+lwl :: offset: 0x5f4, out: 0x5cc1c8b4
+lwl :: offset: 0x5f5, out: 0xffffffffc1c8b400
+lwl :: offset: 0x5f6, out: 0xffffffffc8b40000
+lwl :: offset: 0x5f7, out: 0xffffffffb4000000
+lwl :: offset: 0x5f8, out: 0x7ab4ce88
+lwl :: offset: 0x5f9, out: 0xffffffffb4ce8800
+lwl :: offset: 0x5fa, out: 0xffffffffce880000
+lwl :: offset: 0x5fb, out: 0xffffffff88000000
+lwl :: offset: 0x5fc, out: 0xffffffffdfa605c0
+lwl :: offset: 0x5fd, out: 0xffffffffa605c000
+lwl :: offset: 0x5fe, out: 0x5c00000
+lwl :: offset: 0x5ff, out: 0xffffffffc0000000
+lwl :: offset: 0x600, out: 0xffffffffb42ad6e6
+lwl :: offset: 0x601, out: 0x2ad6e600
+lwl :: offset: 0x602, out: 0xffffffffd6e60000
+lwl :: offset: 0x603, out: 0xffffffffe6000000
+lwl :: offset: 0x604, out: 0x59a7b04f
+lwl :: offset: 0x605, out: 0xffffffffa7b04f00
+lwl :: offset: 0x606, out: 0xffffffffb04f0000
+lwl :: offset: 0x607, out: 0x4f000000
+lwl :: offset: 0x608, out: 0x4bf8485a
+lwl :: offset: 0x609, out: 0xfffffffff8485a00
+lwl :: offset: 0x60a, out: 0x485a0000
+lwl :: offset: 0x60b, out: 0x5a000000
+lwl :: offset: 0x60c, out: 0xffffffffb728922f
+lwl :: offset: 0x60d, out: 0x28922f00
+lwl :: offset: 0x60e, out: 0xffffffff922f0000
+lwl :: offset: 0x60f, out: 0x2f000000
+lwl :: offset: 0x610, out: 0x76a3d60c
+lwl :: offset: 0x611, out: 0xffffffffa3d60c00
+lwl :: offset: 0x612, out: 0xffffffffd60c0000
+lwl :: offset: 0x613, out: 0xc000000
+lwl :: offset: 0x614, out: 0x3b66a7fb
+lwl :: offset: 0x615, out: 0x66a7fb00
+lwl :: offset: 0x616, out: 0xffffffffa7fb0000
+lwl :: offset: 0x617, out: 0xfffffffffb000000
+lwl :: offset: 0x618, out: 0x31e0c6af
+lwl :: offset: 0x619, out: 0xffffffffe0c6af00
+lwl :: offset: 0x61a, out: 0xffffffffc6af0000
+lwl :: offset: 0x61b, out: 0xffffffffaf000000
+lwl :: offset: 0x61c, out: 0xfffffffffdc28eda
+lwl :: offset: 0x61d, out: 0xffffffffc28eda00
+lwl :: offset: 0x61e, out: 0xffffffff8eda0000
+lwl :: offset: 0x61f, out: 0xffffffffda000000
+lwl :: offset: 0x620, out: 0x53606bb4
+lwl :: offset: 0x621, out: 0x606bb400
+lwl :: offset: 0x622, out: 0x6bb40000
+lwl :: offset: 0x623, out: 0xffffffffb4000000
+lwl :: offset: 0x624, out: 0xffffffffbf0c999d
+lwl :: offset: 0x625, out: 0xc999d00
+lwl :: offset: 0x626, out: 0xffffffff999d0000
+lwl :: offset: 0x627, out: 0xffffffff9d000000
+lwl :: offset: 0x628, out: 0x32fc12c8
+lwl :: offset: 0x629, out: 0xfffffffffc12c800
+lwl :: offset: 0x62a, out: 0x12c80000
+lwl :: offset: 0x62b, out: 0xffffffffc8000000
+lwl :: offset: 0x62c, out: 0x1b7919f0
+lwl :: offset: 0x62d, out: 0x7919f000
+lwl :: offset: 0x62e, out: 0x19f00000
+lwl :: offset: 0x62f, out: 0xfffffffff0000000
+lwl :: offset: 0x630, out: 0x3ef88384
+lwl :: offset: 0x631, out: 0xfffffffff8838400
+lwl :: offset: 0x632, out: 0xffffffff83840000
+lwl :: offset: 0x633, out: 0xffffffff84000000
+lwl :: offset: 0x634, out: 0xffffffffc72efcd6
+lwl :: offset: 0x635, out: 0x2efcd600
+lwl :: offset: 0x636, out: 0xfffffffffcd60000
+lwl :: offset: 0x637, out: 0xffffffffd6000000
+lwl :: offset: 0x638, out: 0x38b1c7bb
+lwl :: offset: 0x639, out: 0xffffffffb1c7bb00
+lwl :: offset: 0x63a, out: 0xffffffffc7bb0000
+lwl :: offset: 0x63b, out: 0xffffffffbb000000
+lwl :: offset: 0x63c, out: 0x6a2a3580
+lwl :: offset: 0x63d, out: 0x2a358000
+lwl :: offset: 0x63e, out: 0x35800000
+lwl :: offset: 0x63f, out: 0xffffffff80000000
+lwl :: offset: 0x640, out: 0x15ebf612
+lwl :: offset: 0x641, out: 0xffffffffebf61200
+lwl :: offset: 0x642, out: 0xfffffffff6120000
+lwl :: offset: 0x643, out: 0x12000000
+lwl :: offset: 0x644, out: 0x1dca77c9
+lwl :: offset: 0x645, out: 0xffffffffca77c900
+lwl :: offset: 0x646, out: 0x77c90000
+lwl :: offset: 0x647, out: 0xffffffffc9000000
+lwl :: offset: 0x648, out: 0x5eaacdd9
+lwl :: offset: 0x649, out: 0xffffffffaacdd900
+lwl :: offset: 0x64a, out: 0xffffffffcdd90000
+lwl :: offset: 0x64b, out: 0xffffffffd9000000
+lwl :: offset: 0x64c, out: 0xfffffffffd9147ae
+lwl :: offset: 0x64d, out: 0xffffffff9147ae00
+lwl :: offset: 0x64e, out: 0x47ae0000
+lwl :: offset: 0x64f, out: 0xffffffffae000000
+lwl :: offset: 0x650, out: 0xffffffffbb8470f9
+lwl :: offset: 0x651, out: 0xffffffff8470f900
+lwl :: offset: 0x652, out: 0x70f90000
+lwl :: offset: 0x653, out: 0xfffffffff9000000
+lwl :: offset: 0x654, out: 0xffffffff81e91117
+lwl :: offset: 0x655, out: 0xffffffffe9111700
+lwl :: offset: 0x656, out: 0x11170000
+lwl :: offset: 0x657, out: 0x17000000
+lwl :: offset: 0x658, out: 0x5d42aea
+lwl :: offset: 0x659, out: 0xffffffffd42aea00
+lwl :: offset: 0x65a, out: 0x2aea0000
+lwl :: offset: 0x65b, out: 0xffffffffea000000
+lwl :: offset: 0x65c, out: 0xffffffffc6a532e0
+lwl :: offset: 0x65d, out: 0xffffffffa532e000
+lwl :: offset: 0x65e, out: 0x32e00000
+lwl :: offset: 0x65f, out: 0xffffffffe0000000
+lwl :: offset: 0x660, out: 0x14abf364
+lwl :: offset: 0x661, out: 0xffffffffabf36400
+lwl :: offset: 0x662, out: 0xfffffffff3640000
+lwl :: offset: 0x663, out: 0x64000000
+lwl :: offset: 0x664, out: 0x19fb9e63
+lwl :: offset: 0x665, out: 0xfffffffffb9e6300
+lwl :: offset: 0x666, out: 0xffffffff9e630000
+lwl :: offset: 0x667, out: 0x63000000
+lwl :: offset: 0x668, out: 0x249d559a
+lwl :: offset: 0x669, out: 0xffffffff9d559a00
+lwl :: offset: 0x66a, out: 0x559a0000
+lwl :: offset: 0x66b, out: 0xffffffff9a000000
+lwl :: offset: 0x66c, out: 0xffffffffa8d72aac
+lwl :: offset: 0x66d, out: 0xffffffffd72aac00
+lwl :: offset: 0x66e, out: 0x2aac0000
+lwl :: offset: 0x66f, out: 0xffffffffac000000
+lwl :: offset: 0x670, out: 0xcd6764f
+lwl :: offset: 0x671, out: 0xffffffffd6764f00
+lwl :: offset: 0x672, out: 0x764f0000
+lwl :: offset: 0x673, out: 0x4f000000
+lwl :: offset: 0x674, out: 0x84b30ec
+lwl :: offset: 0x675, out: 0x4b30ec00
+lwl :: offset: 0x676, out: 0x30ec0000
+lwl :: offset: 0x677, out: 0xffffffffec000000
+lwl :: offset: 0x678, out: 0x7f03ac07
+lwl :: offset: 0x679, out: 0x3ac0700
+lwl :: offset: 0x67a, out: 0xffffffffac070000
+lwl :: offset: 0x67b, out: 0x7000000
+lwl :: offset: 0x67c, out: 0xffffffff92468fdf
+lwl :: offset: 0x67d, out: 0x468fdf00
+lwl :: offset: 0x67e, out: 0xffffffff8fdf0000
+lwl :: offset: 0x67f, out: 0xffffffffdf000000
+lwl :: offset: 0x680, out: 0x7e35ce6d
+lwl :: offset: 0x681, out: 0x35ce6d00
+lwl :: offset: 0x682, out: 0xffffffffce6d0000
+lwl :: offset: 0x683, out: 0x6d000000
+lwl :: offset: 0x684, out: 0x56e670f5
+lwl :: offset: 0x685, out: 0xffffffffe670f500
+lwl :: offset: 0x686, out: 0x70f50000
+lwl :: offset: 0x687, out: 0xfffffffff5000000
+lwl :: offset: 0x688, out: 0x15282859
+lwl :: offset: 0x689, out: 0x28285900
+lwl :: offset: 0x68a, out: 0x28590000
+lwl :: offset: 0x68b, out: 0x59000000
+lwl :: offset: 0x68c, out: 0x1a652711
+lwl :: offset: 0x68d, out: 0x65271100
+lwl :: offset: 0x68e, out: 0x27110000
+lwl :: offset: 0x68f, out: 0x11000000
+lwl :: offset: 0x690, out: 0xffffffff9e1c3283
+lwl :: offset: 0x691, out: 0x1c328300
+lwl :: offset: 0x692, out: 0x32830000
+lwl :: offset: 0x693, out: 0xffffffff83000000
+lwl :: offset: 0x694, out: 0xffffffffd215a9fb
+lwl :: offset: 0x695, out: 0x15a9fb00
+lwl :: offset: 0x696, out: 0xffffffffa9fb0000
+lwl :: offset: 0x697, out: 0xfffffffffb000000
+lwl :: offset: 0x698, out: 0xffffffff8d95c049
+lwl :: offset: 0x699, out: 0xffffffff95c04900
+lwl :: offset: 0x69a, out: 0xffffffffc0490000
+lwl :: offset: 0x69b, out: 0x49000000
+lwl :: offset: 0x69c, out: 0x282a0417
+lwl :: offset: 0x69d, out: 0x2a041700
+lwl :: offset: 0x69e, out: 0x4170000
+lwl :: offset: 0x69f, out: 0x17000000
+lwl :: offset: 0x6a0, out: 0xfffffffff2e7a490
+lwl :: offset: 0x6a1, out: 0xffffffffe7a49000
+lwl :: offset: 0x6a2, out: 0xffffffffa4900000
+lwl :: offset: 0x6a3, out: 0xffffffff90000000
+lwl :: offset: 0x6a4, out: 0xffffffff978058f3
+lwl :: offset: 0x6a5, out: 0xffffffff8058f300
+lwl :: offset: 0x6a6, out: 0x58f30000
+lwl :: offset: 0x6a7, out: 0xfffffffff3000000
+lwl :: offset: 0x6a8, out: 0x775b4cca
+lwl :: offset: 0x6a9, out: 0x5b4cca00
+lwl :: offset: 0x6aa, out: 0x4cca0000
+lwl :: offset: 0x6ab, out: 0xffffffffca000000
+lwl :: offset: 0x6ac, out: 0x975b1aa
+lwl :: offset: 0x6ad, out: 0x75b1aa00
+lwl :: offset: 0x6ae, out: 0xffffffffb1aa0000
+lwl :: offset: 0x6af, out: 0xffffffffaa000000
+lwl :: offset: 0x6b0, out: 0xa2b84a6
+lwl :: offset: 0x6b1, out: 0x2b84a600
+lwl :: offset: 0x6b2, out: 0xffffffff84a60000
+lwl :: offset: 0x6b3, out: 0xffffffffa6000000
+lwl :: offset: 0x6b4, out: 0x35111020
+lwl :: offset: 0x6b5, out: 0x11102000
+lwl :: offset: 0x6b6, out: 0x10200000
+lwl :: offset: 0x6b7, out: 0x20000000
+lwl :: offset: 0x6b8, out: 0x23fa0d3
+lwl :: offset: 0x6b9, out: 0x3fa0d300
+lwl :: offset: 0x6ba, out: 0xffffffffa0d30000
+lwl :: offset: 0x6bb, out: 0xffffffffd3000000
+lwl :: offset: 0x6bc, out: 0xffffffffa7d88b6f
+lwl :: offset: 0x6bd, out: 0xffffffffd88b6f00
+lwl :: offset: 0x6be, out: 0xffffffff8b6f0000
+lwl :: offset: 0x6bf, out: 0x6f000000
+lwl :: offset: 0x6c0, out: 0xffffffffa3d991b7
+lwl :: offset: 0x6c1, out: 0xffffffffd991b700
+lwl :: offset: 0x6c2, out: 0xffffffff91b70000
+lwl :: offset: 0x6c3, out: 0xffffffffb7000000
+lwl :: offset: 0x6c4, out: 0xffffffff9941dedd
+lwl :: offset: 0x6c5, out: 0x41dedd00
+lwl :: offset: 0x6c6, out: 0xffffffffdedd0000
+lwl :: offset: 0x6c7, out: 0xffffffffdd000000
+lwl :: offset: 0x6c8, out: 0x751cb483
+lwl :: offset: 0x6c9, out: 0x1cb48300
+lwl :: offset: 0x6ca, out: 0xffffffffb4830000
+lwl :: offset: 0x6cb, out: 0xffffffff83000000
+lwl :: offset: 0x6cc, out: 0x5a0d9508
+lwl :: offset: 0x6cd, out: 0xd950800
+lwl :: offset: 0x6ce, out: 0xffffffff95080000
+lwl :: offset: 0x6cf, out: 0x8000000
+lwl :: offset: 0x6d0, out: 0xffffffff949cad35
+lwl :: offset: 0x6d1, out: 0xffffffff9cad3500
+lwl :: offset: 0x6d2, out: 0xffffffffad350000
+lwl :: offset: 0x6d3, out: 0x35000000
+lwl :: offset: 0x6d4, out: 0x625bb2d3
+lwl :: offset: 0x6d5, out: 0x5bb2d300
+lwl :: offset: 0x6d6, out: 0xffffffffb2d30000
+lwl :: offset: 0x6d7, out: 0xffffffffd3000000
+lwl :: offset: 0x6d8, out: 0x7f567f35
+lwl :: offset: 0x6d9, out: 0x567f3500
+lwl :: offset: 0x6da, out: 0x7f350000
+lwl :: offset: 0x6db, out: 0x35000000
+lwl :: offset: 0x6dc, out: 0xffffffffa6929739
+lwl :: offset: 0x6dd, out: 0xffffffff92973900
+lwl :: offset: 0x6de, out: 0xffffffff97390000
+lwl :: offset: 0x6df, out: 0x39000000
+lwl :: offset: 0x6e0, out: 0x185b88e0
+lwl :: offset: 0x6e1, out: 0x5b88e000
+lwl :: offset: 0x6e2, out: 0xffffffff88e00000
+lwl :: offset: 0x6e3, out: 0xffffffffe0000000
+lwl :: offset: 0x6e4, out: 0xffffffffdb8d7d27
+lwl :: offset: 0x6e5, out: 0xffffffff8d7d2700
+lwl :: offset: 0x6e6, out: 0x7d270000
+lwl :: offset: 0x6e7, out: 0x27000000
+lwl :: offset: 0x6e8, out: 0x255a4cd2
+lwl :: offset: 0x6e9, out: 0x5a4cd200
+lwl :: offset: 0x6ea, out: 0x4cd20000
+lwl :: offset: 0x6eb, out: 0xffffffffd2000000
+lwl :: offset: 0x6ec, out: 0x2fd61b91
+lwl :: offset: 0x6ed, out: 0xffffffffd61b9100
+lwl :: offset: 0x6ee, out: 0x1b910000
+lwl :: offset: 0x6ef, out: 0xffffffff91000000
+lwl :: offset: 0x6f0, out: 0x1048d589
+lwl :: offset: 0x6f1, out: 0x48d58900
+lwl :: offset: 0x6f2, out: 0xffffffffd5890000
+lwl :: offset: 0x6f3, out: 0xffffffff89000000
+lwl :: offset: 0x6f4, out: 0xffffffffa4363f7b
+lwl :: offset: 0x6f5, out: 0x363f7b00
+lwl :: offset: 0x6f6, out: 0x3f7b0000
+lwl :: offset: 0x6f7, out: 0x7b000000
+lwl :: offset: 0x6f8, out: 0x6a6d5708
+lwl :: offset: 0x6f9, out: 0x6d570800
+lwl :: offset: 0x6fa, out: 0x57080000
+lwl :: offset: 0x6fb, out: 0x8000000
+lwl :: offset: 0x6fc, out: 0xfffffffff4605790
+lwl :: offset: 0x6fd, out: 0x60579000
+lwl :: offset: 0x6fe, out: 0x57900000
+lwl :: offset: 0x6ff, out: 0xffffffff90000000
+lwl :: offset: 0x700, out: 0xffffffffd58ecbab
+lwl :: offset: 0x701, out: 0xffffffff8ecbab00
+lwl :: offset: 0x702, out: 0xffffffffcbab0000
+lwl :: offset: 0x703, out: 0xffffffffab000000
+lwl :: offset: 0x704, out: 0xffffffffde35697f
+lwl :: offset: 0x705, out: 0x35697f00
+lwl :: offset: 0x706, out: 0x697f0000
+lwl :: offset: 0x707, out: 0x7f000000
+lwl :: offset: 0x708, out: 0x575548fd
+lwl :: offset: 0x709, out: 0x5548fd00
+lwl :: offset: 0x70a, out: 0x48fd0000
+lwl :: offset: 0x70b, out: 0xfffffffffd000000
+lwl :: offset: 0x70c, out: 0x8c0a5f1
+lwl :: offset: 0x70d, out: 0xffffffffc0a5f100
+lwl :: offset: 0x70e, out: 0xffffffffa5f10000
+lwl :: offset: 0x70f, out: 0xfffffffff1000000
+lwl :: offset: 0x710, out: 0xffffffff8bb640fb
+lwl :: offset: 0x711, out: 0xffffffffb640fb00
+lwl :: offset: 0x712, out: 0x40fb0000
+lwl :: offset: 0x713, out: 0xfffffffffb000000
+lwl :: offset: 0x714, out: 0xffffffff8ed98ddb
+lwl :: offset: 0x715, out: 0xffffffffd98ddb00
+lwl :: offset: 0x716, out: 0xffffffff8ddb0000
+lwl :: offset: 0x717, out: 0xffffffffdb000000
+lwl :: offset: 0x718, out: 0xffffffffbe00d51e
+lwl :: offset: 0x719, out: 0xd51e00
+lwl :: offset: 0x71a, out: 0xffffffffd51e0000
+lwl :: offset: 0x71b, out: 0x1e000000
+lwl :: offset: 0x71c, out: 0xffffffffabc578cc
+lwl :: offset: 0x71d, out: 0xffffffffc578cc00
+lwl :: offset: 0x71e, out: 0x78cc0000
+lwl :: offset: 0x71f, out: 0xffffffffcc000000
+lwl :: offset: 0x720, out: 0x2f7e224a
+lwl :: offset: 0x721, out: 0x7e224a00
+lwl :: offset: 0x722, out: 0x224a0000
+lwl :: offset: 0x723, out: 0x4a000000
+lwl :: offset: 0x724, out: 0x1c170ab2
+lwl :: offset: 0x725, out: 0x170ab200
+lwl :: offset: 0x726, out: 0xab20000
+lwl :: offset: 0x727, out: 0xffffffffb2000000
+lwl :: offset: 0x728, out: 0xffffffffa978f12c
+lwl :: offset: 0x729, out: 0x78f12c00
+lwl :: offset: 0x72a, out: 0xfffffffff12c0000
+lwl :: offset: 0x72b, out: 0x2c000000
+lwl :: offset: 0x72c, out: 0xffffffffa22256a7
+lwl :: offset: 0x72d, out: 0x2256a700
+lwl :: offset: 0x72e, out: 0x56a70000
+lwl :: offset: 0x72f, out: 0xffffffffa7000000
+lwl :: offset: 0x730, out: 0xffffffff9950a93b
+lwl :: offset: 0x731, out: 0x50a93b00
+lwl :: offset: 0x732, out: 0xffffffffa93b0000
+lwl :: offset: 0x733, out: 0x3b000000
+lwl :: offset: 0x734, out: 0xffffffff811ee02f
+lwl :: offset: 0x735, out: 0x1ee02f00
+lwl :: offset: 0x736, out: 0xffffffffe02f0000
+lwl :: offset: 0x737, out: 0x2f000000
+lwl :: offset: 0x738, out: 0xffffffffb44eea93
+lwl :: offset: 0x739, out: 0x4eea9300
+lwl :: offset: 0x73a, out: 0xffffffffea930000
+lwl :: offset: 0x73b, out: 0xffffffff93000000
+lwl :: offset: 0x73c, out: 0xffffffffc6796a0c
+lwl :: offset: 0x73d, out: 0x796a0c00
+lwl :: offset: 0x73e, out: 0x6a0c0000
+lwl :: offset: 0x73f, out: 0xc000000
+lwl :: offset: 0x740, out: 0xfffffffffe71fca0
+lwl :: offset: 0x741, out: 0x71fca000
+lwl :: offset: 0x742, out: 0xfffffffffca00000
+lwl :: offset: 0x743, out: 0xffffffffa0000000
+lwl :: offset: 0x744, out: 0x6c0eb657
+lwl :: offset: 0x745, out: 0xeb65700
+lwl :: offset: 0x746, out: 0xffffffffb6570000
+lwl :: offset: 0x747, out: 0x57000000
+lwl :: offset: 0x748, out: 0x4ed6393d
+lwl :: offset: 0x749, out: 0xffffffffd6393d00
+lwl :: offset: 0x74a, out: 0x393d0000
+lwl :: offset: 0x74b, out: 0x3d000000
+lwl :: offset: 0x74c, out: 0xfffffffff818af57
+lwl :: offset: 0x74d, out: 0x18af5700
+lwl :: offset: 0x74e, out: 0xffffffffaf570000
+lwl :: offset: 0x74f, out: 0x57000000
+lwl :: offset: 0x750, out: 0xfffffffff22e9020
+lwl :: offset: 0x751, out: 0x2e902000
+lwl :: offset: 0x752, out: 0xffffffff90200000
+lwl :: offset: 0x753, out: 0x20000000
+lwl :: offset: 0x754, out: 0x236770a
+lwl :: offset: 0x755, out: 0x36770a00
+lwl :: offset: 0x756, out: 0x770a0000
+lwl :: offset: 0x757, out: 0xa000000
+lwl :: offset: 0x758, out: 0xffffffff81efb6c7
+lwl :: offset: 0x759, out: 0xffffffffefb6c700
+lwl :: offset: 0x75a, out: 0xffffffffb6c70000
+lwl :: offset: 0x75b, out: 0xffffffffc7000000
+lwl :: offset: 0x75c, out: 0xffffffffafd0c45d
+lwl :: offset: 0x75d, out: 0xffffffffd0c45d00
+lwl :: offset: 0x75e, out: 0xffffffffc45d0000
+lwl :: offset: 0x75f, out: 0x5d000000
+lwl :: offset: 0x760, out: 0xffffffffeed8f351
+lwl :: offset: 0x761, out: 0xffffffffd8f35100
+lwl :: offset: 0x762, out: 0xfffffffff3510000
+lwl :: offset: 0x763, out: 0x51000000
+lwl :: offset: 0x764, out: 0xffffffff8102315b
+lwl :: offset: 0x765, out: 0x2315b00
+lwl :: offset: 0x766, out: 0x315b0000
+lwl :: offset: 0x767, out: 0x5b000000
+lwl :: offset: 0x768, out: 0xffffffffadafefb9
+lwl :: offset: 0x769, out: 0xffffffffafefb900
+lwl :: offset: 0x76a, out: 0xffffffffefb90000
+lwl :: offset: 0x76b, out: 0xffffffffb9000000
+lwl :: offset: 0x76c, out: 0xffffffff995efd5e
+lwl :: offset: 0x76d, out: 0x5efd5e00
+lwl :: offset: 0x76e, out: 0xfffffffffd5e0000
+lwl :: offset: 0x76f, out: 0x5e000000
+lwl :: offset: 0x770, out: 0x34061933
+lwl :: offset: 0x771, out: 0x6193300
+lwl :: offset: 0x772, out: 0x19330000
+lwl :: offset: 0x773, out: 0x33000000
+lwl :: offset: 0x774, out: 0xffffffffeb253086
+lwl :: offset: 0x775, out: 0x25308600
+lwl :: offset: 0x776, out: 0x30860000
+lwl :: offset: 0x777, out: 0xffffffff86000000
+lwl :: offset: 0x778, out: 0x1748da26
+lwl :: offset: 0x779, out: 0x48da2600
+lwl :: offset: 0x77a, out: 0xffffffffda260000
+lwl :: offset: 0x77b, out: 0x26000000
+lwl :: offset: 0x77c, out: 0x4b4c52bc
+lwl :: offset: 0x77d, out: 0x4c52bc00
+lwl :: offset: 0x77e, out: 0x52bc0000
+lwl :: offset: 0x77f, out: 0xffffffffbc000000
+lwl :: offset: 0x780, out: 0x34fdfc9a
+lwl :: offset: 0x781, out: 0xfffffffffdfc9a00
+lwl :: offset: 0x782, out: 0xfffffffffc9a0000
+lwl :: offset: 0x783, out: 0xffffffff9a000000
+lwl :: offset: 0x784, out: 0xffffffff9302be89
+lwl :: offset: 0x785, out: 0x2be8900
+lwl :: offset: 0x786, out: 0xffffffffbe890000
+lwl :: offset: 0x787, out: 0xffffffff89000000
+lwl :: offset: 0x788, out: 0xffffffffd00278c3
+lwl :: offset: 0x789, out: 0x278c300
+lwl :: offset: 0x78a, out: 0x78c30000
+lwl :: offset: 0x78b, out: 0xffffffffc3000000
+lwl :: offset: 0x78c, out: 0xffffffffc521d180
+lwl :: offset: 0x78d, out: 0x21d18000
+lwl :: offset: 0x78e, out: 0xffffffffd1800000
+lwl :: offset: 0x78f, out: 0xffffffff80000000
+lwl :: offset: 0x790, out: 0xffffffffe90944a4
+lwl :: offset: 0x791, out: 0x944a400
+lwl :: offset: 0x792, out: 0x44a40000
+lwl :: offset: 0x793, out: 0xffffffffa4000000
+lwl :: offset: 0x794, out: 0xffffffffc1d37a5d
+lwl :: offset: 0x795, out: 0xffffffffd37a5d00
+lwl :: offset: 0x796, out: 0x7a5d0000
+lwl :: offset: 0x797, out: 0x5d000000
+lwl :: offset: 0x798, out: 0x65fd698f
+lwl :: offset: 0x799, out: 0xfffffffffd698f00
+lwl :: offset: 0x79a, out: 0x698f0000
+lwl :: offset: 0x79b, out: 0xffffffff8f000000
+lwl :: offset: 0x79c, out: 0xffffffffddef9839
+lwl :: offset: 0x79d, out: 0xffffffffef983900
+lwl :: offset: 0x79e, out: 0xffffffff98390000
+lwl :: offset: 0x79f, out: 0x39000000
+lwl :: offset: 0x7a0, out: 0xffffffffc49ee3ad
+lwl :: offset: 0x7a1, out: 0xffffffff9ee3ad00
+lwl :: offset: 0x7a2, out: 0xffffffffe3ad0000
+lwl :: offset: 0x7a3, out: 0xffffffffad000000
+lwl :: offset: 0x7a4, out: 0xffffffff81b5af52
+lwl :: offset: 0x7a5, out: 0xffffffffb5af5200
+lwl :: offset: 0x7a6, out: 0xffffffffaf520000
+lwl :: offset: 0x7a7, out: 0x52000000
+lwl :: offset: 0x7a8, out: 0x7aa941e8
+lwl :: offset: 0x7a9, out: 0xffffffffa941e800
+lwl :: offset: 0x7aa, out: 0x41e80000
+lwl :: offset: 0x7ab, out: 0xffffffffe8000000
+lwl :: offset: 0x7ac, out: 0xffffffffbdb263e9
+lwl :: offset: 0x7ad, out: 0xffffffffb263e900
+lwl :: offset: 0x7ae, out: 0x63e90000
+lwl :: offset: 0x7af, out: 0xffffffffe9000000
+lwl :: offset: 0x7b0, out: 0x372c209e
+lwl :: offset: 0x7b1, out: 0x2c209e00
+lwl :: offset: 0x7b2, out: 0x209e0000
+lwl :: offset: 0x7b3, out: 0xffffffff9e000000
+lwl :: offset: 0x7b4, out: 0x42f3b58d
+lwl :: offset: 0x7b5, out: 0xfffffffff3b58d00
+lwl :: offset: 0x7b6, out: 0xffffffffb58d0000
+lwl :: offset: 0x7b7, out: 0xffffffff8d000000
+lwl :: offset: 0x7b8, out: 0x30f870b7
+lwl :: offset: 0x7b9, out: 0xfffffffff870b700
+lwl :: offset: 0x7ba, out: 0x70b70000
+lwl :: offset: 0x7bb, out: 0xffffffffb7000000
+lwl :: offset: 0x7bc, out: 0xffffffffe122a83b
+lwl :: offset: 0x7bd, out: 0x22a83b00
+lwl :: offset: 0x7be, out: 0xffffffffa83b0000
+lwl :: offset: 0x7bf, out: 0x3b000000
+lwl :: offset: 0x7c0, out: 0xffffffff9e02de4b
+lwl :: offset: 0x7c1, out: 0x2de4b00
+lwl :: offset: 0x7c2, out: 0xffffffffde4b0000
+lwl :: offset: 0x7c3, out: 0x4b000000
+lwl :: offset: 0x7c4, out: 0x678930ec
+lwl :: offset: 0x7c5, out: 0xffffffff8930ec00
+lwl :: offset: 0x7c6, out: 0x30ec0000
+lwl :: offset: 0x7c7, out: 0xffffffffec000000
+lwl :: offset: 0x7c8, out: 0xffffffffcd61a863
+lwl :: offset: 0x7c9, out: 0x61a86300
+lwl :: offset: 0x7ca, out: 0xffffffffa8630000
+lwl :: offset: 0x7cb, out: 0x63000000
+lwl :: offset: 0x7cc, out: 0xffffffff9826631e
+lwl :: offset: 0x7cd, out: 0x26631e00
+lwl :: offset: 0x7ce, out: 0x631e0000
+lwl :: offset: 0x7cf, out: 0x1e000000
+lwl :: offset: 0x7d0, out: 0xffffffffae87bc89
+lwl :: offset: 0x7d1, out: 0xffffffff87bc8900
+lwl :: offset: 0x7d2, out: 0xffffffffbc890000
+lwl :: offset: 0x7d3, out: 0xffffffff89000000
+lwl :: offset: 0x7d4, out: 0xffffffff9a7bd3ca
+lwl :: offset: 0x7d5, out: 0x7bd3ca00
+lwl :: offset: 0x7d6, out: 0xffffffffd3ca0000
+lwl :: offset: 0x7d7, out: 0xffffffffca000000
+lwl :: offset: 0x7d8, out: 0x58ec644d
+lwl :: offset: 0x7d9, out: 0xffffffffec644d00
+lwl :: offset: 0x7da, out: 0x644d0000
+lwl :: offset: 0x7db, out: 0x4d000000
+lwl :: offset: 0x7dc, out: 0x6481af17
+lwl :: offset: 0x7dd, out: 0xffffffff81af1700
+lwl :: offset: 0x7de, out: 0xffffffffaf170000
+lwl :: offset: 0x7df, out: 0x17000000
+lwl :: offset: 0x7e0, out: 0x680cce5f
+lwl :: offset: 0x7e1, out: 0xcce5f00
+lwl :: offset: 0x7e2, out: 0xffffffffce5f0000
+lwl :: offset: 0x7e3, out: 0x5f000000
+lwl :: offset: 0x7e4, out: 0xffffffffb236b666
+lwl :: offset: 0x7e5, out: 0x36b66600
+lwl :: offset: 0x7e6, out: 0xffffffffb6660000
+lwl :: offset: 0x7e7, out: 0x66000000
+lwl :: offset: 0x7e8, out: 0x3baa9947
+lwl :: offset: 0x7e9, out: 0xffffffffaa994700
+lwl :: offset: 0x7ea, out: 0xffffffff99470000
+lwl :: offset: 0x7eb, out: 0x47000000
+lwl :: offset: 0x7ec, out: 0x1f6d4d75
+lwl :: offset: 0x7ed, out: 0x6d4d7500
+lwl :: offset: 0x7ee, out: 0x4d750000
+lwl :: offset: 0x7ef, out: 0x75000000
+lwl :: offset: 0x7f0, out: 0x614d9b44
+lwl :: offset: 0x7f1, out: 0x4d9b4400
+lwl :: offset: 0x7f2, out: 0xffffffff9b440000
+lwl :: offset: 0x7f3, out: 0x44000000
+lwl :: offset: 0x7f4, out: 0x5f12236b
+lwl :: offset: 0x7f5, out: 0x12236b00
+lwl :: offset: 0x7f6, out: 0x236b0000
+lwl :: offset: 0x7f7, out: 0x6b000000
+lwl :: offset: 0x7f8, out: 0xffffffffa2a6ec66
+lwl :: offset: 0x7f9, out: 0xffffffffa6ec6600
+lwl :: offset: 0x7fa, out: 0xffffffffec660000
+lwl :: offset: 0x7fb, out: 0x66000000
+lwl :: offset: 0x7fc, out: 0x1ba84121
+lwl :: offset: 0x7fd, out: 0xffffffffa8412100
+lwl :: offset: 0x7fe, out: 0x41210000
+lwl :: offset: 0x7ff, out: 0x21000000
+lwr :: offset: 0x0, out: 0x0
+lwr :: offset: 0x1, out: 0x0
+lwr :: offset: 0x2, out: 0x0
+lwr :: offset: 0x3, out: 0x0
+lwr :: offset: 0x4, out: 0x0
+lwr :: offset: 0x5, out: 0x0
+lwr :: offset: 0x6, out: 0x0
+lwr :: offset: 0x7, out: 0x0
+lwr :: offset: 0x8, out: 0x9
+lwr :: offset: 0x9, out: 0x982
+lwr :: offset: 0xa, out: 0x9823b
+lwr :: offset: 0xb, out: 0x9823b6e
+lwr :: offset: 0xc, out: 0xd
+lwr :: offset: 0xd, out: 0xd43
+lwr :: offset: 0xe, out: 0xd4326
+lwr :: offset: 0xf, out: 0xd4326d9
+lwr :: offset: 0x10, out: 0x13
+lwr :: offset: 0x11, out: 0x1304
+lwr :: offset: 0x12, out: 0x130476
+lwr :: offset: 0x13, out: 0x130476dc
+lwr :: offset: 0x14, out: 0x17
+lwr :: offset: 0x15, out: 0x17c5
+lwr :: offset: 0x16, out: 0x17c56b
+lwr :: offset: 0x17, out: 0x17c56b6b
+lwr :: offset: 0x18, out: 0x1a
+lwr :: offset: 0x19, out: 0x1a86
+lwr :: offset: 0x1a, out: 0x1a864d
+lwr :: offset: 0x1b, out: 0x1a864db2
+lwr :: offset: 0x1c, out: 0x1e
+lwr :: offset: 0x1d, out: 0x1e47
+lwr :: offset: 0x1e, out: 0x1e4750
+lwr :: offset: 0x1f, out: 0x1e475005
+lwr :: offset: 0x20, out: 0x26
+lwr :: offset: 0x21, out: 0x2608
+lwr :: offset: 0x22, out: 0x2608ed
+lwr :: offset: 0x23, out: 0x2608edb8
+lwr :: offset: 0x24, out: 0x22
+lwr :: offset: 0x25, out: 0x22c9
+lwr :: offset: 0x26, out: 0x22c9f0
+lwr :: offset: 0x27, out: 0x22c9f00f
+lwr :: offset: 0x28, out: 0x2f
+lwr :: offset: 0x29, out: 0x2f8a
+lwr :: offset: 0x2a, out: 0x2f8ad6
+lwr :: offset: 0x2b, out: 0x2f8ad6d6
+lwr :: offset: 0x2c, out: 0x2b
+lwr :: offset: 0x2d, out: 0x2b4b
+lwr :: offset: 0x2e, out: 0x2b4bcb
+lwr :: offset: 0x2f, out: 0x2b4bcb61
+lwr :: offset: 0x30, out: 0x35
+lwr :: offset: 0x31, out: 0x350c
+lwr :: offset: 0x32, out: 0x350c9b
+lwr :: offset: 0x33, out: 0x350c9b64
+lwr :: offset: 0x34, out: 0x31
+lwr :: offset: 0x35, out: 0x31cd
+lwr :: offset: 0x36, out: 0x31cd86
+lwr :: offset: 0x37, out: 0x31cd86d3
+lwr :: offset: 0x38, out: 0x3c
+lwr :: offset: 0x39, out: 0x3c8e
+lwr :: offset: 0x3a, out: 0x3c8ea0
+lwr :: offset: 0x3b, out: 0x3c8ea00a
+lwr :: offset: 0x3c, out: 0x38
+lwr :: offset: 0x3d, out: 0x384f
+lwr :: offset: 0x3e, out: 0x384fbd
+lwr :: offset: 0x3f, out: 0x384fbdbd
+lwr :: offset: 0x40, out: 0x4c
+lwr :: offset: 0x41, out: 0x4c11
+lwr :: offset: 0x42, out: 0x4c11db
+lwr :: offset: 0x43, out: 0x4c11db70
+lwr :: offset: 0x44, out: 0x48
+lwr :: offset: 0x45, out: 0x48d0
+lwr :: offset: 0x46, out: 0x48d0c6
+lwr :: offset: 0x47, out: 0x48d0c6c7
+lwr :: offset: 0x48, out: 0x45
+lwr :: offset: 0x49, out: 0x4593
+lwr :: offset: 0x4a, out: 0x4593e0
+lwr :: offset: 0x4b, out: 0x4593e01e
+lwr :: offset: 0x4c, out: 0x41
+lwr :: offset: 0x4d, out: 0x4152
+lwr :: offset: 0x4e, out: 0x4152fd
+lwr :: offset: 0x4f, out: 0x4152fda9
+lwr :: offset: 0x50, out: 0x5f
+lwr :: offset: 0x51, out: 0x5f15
+lwr :: offset: 0x52, out: 0x5f15ad
+lwr :: offset: 0x53, out: 0x5f15adac
+lwr :: offset: 0x54, out: 0x5b
+lwr :: offset: 0x55, out: 0x5bd4
+lwr :: offset: 0x56, out: 0x5bd4b0
+lwr :: offset: 0x57, out: 0x5bd4b01b
+lwr :: offset: 0x58, out: 0x56
+lwr :: offset: 0x59, out: 0x5697
+lwr :: offset: 0x5a, out: 0x569796
+lwr :: offset: 0x5b, out: 0x569796c2
+lwr :: offset: 0x5c, out: 0x52
+lwr :: offset: 0x5d, out: 0x5256
+lwr :: offset: 0x5e, out: 0x52568b
+lwr :: offset: 0x5f, out: 0x52568b75
+lwr :: offset: 0x60, out: 0x6a
+lwr :: offset: 0x61, out: 0x6a19
+lwr :: offset: 0x62, out: 0x6a1936
+lwr :: offset: 0x63, out: 0x6a1936c8
+lwr :: offset: 0x64, out: 0x6e
+lwr :: offset: 0x65, out: 0x6ed8
+lwr :: offset: 0x66, out: 0x6ed82b
+lwr :: offset: 0x67, out: 0x6ed82b7f
+lwr :: offset: 0x68, out: 0x63
+lwr :: offset: 0x69, out: 0x639b
+lwr :: offset: 0x6a, out: 0x639b0d
+lwr :: offset: 0x6b, out: 0x639b0da6
+lwr :: offset: 0x6c, out: 0x67
+lwr :: offset: 0x6d, out: 0x675a
+lwr :: offset: 0x6e, out: 0x675a10
+lwr :: offset: 0x6f, out: 0x675a1011
+lwr :: offset: 0x70, out: 0x79
+lwr :: offset: 0x71, out: 0x791d
+lwr :: offset: 0x72, out: 0x791d40
+lwr :: offset: 0x73, out: 0x791d4014
+lwr :: offset: 0x74, out: 0x7d
+lwr :: offset: 0x75, out: 0x7ddc
+lwr :: offset: 0x76, out: 0x7ddc5d
+lwr :: offset: 0x77, out: 0x7ddc5da3
+lwr :: offset: 0x78, out: 0x70
+lwr :: offset: 0x79, out: 0x709f
+lwr :: offset: 0x7a, out: 0x709f7b
+lwr :: offset: 0x7b, out: 0x709f7b7a
+lwr :: offset: 0x7c, out: 0x74
+lwr :: offset: 0x7d, out: 0x745e
+lwr :: offset: 0x7e, out: 0x745e66
+lwr :: offset: 0x7f, out: 0x745e66cd
+lwr :: offset: 0x80, out: 0x98
+lwr :: offset: 0x81, out: 0x9823
+lwr :: offset: 0x82, out: 0x9823b6
+lwr :: offset: 0x83, out: 0xffffffff9823b6e0
+lwr :: offset: 0x84, out: 0x9c
+lwr :: offset: 0x85, out: 0x9ce2
+lwr :: offset: 0x86, out: 0x9ce2ab
+lwr :: offset: 0x87, out: 0xffffffff9ce2ab57
+lwr :: offset: 0x88, out: 0x91
+lwr :: offset: 0x89, out: 0x91a1
+lwr :: offset: 0x8a, out: 0x91a18d
+lwr :: offset: 0x8b, out: 0xffffffff91a18d8e
+lwr :: offset: 0x8c, out: 0x95
+lwr :: offset: 0x8d, out: 0x9560
+lwr :: offset: 0x8e, out: 0x956090
+lwr :: offset: 0x8f, out: 0xffffffff95609039
+lwr :: offset: 0x90, out: 0x8b
+lwr :: offset: 0x91, out: 0x8b27
+lwr :: offset: 0x92, out: 0x8b27c0
+lwr :: offset: 0x93, out: 0xffffffff8b27c03c
+lwr :: offset: 0x94, out: 0x8f
+lwr :: offset: 0x95, out: 0x8fe6
+lwr :: offset: 0x96, out: 0x8fe6dd
+lwr :: offset: 0x97, out: 0xffffffff8fe6dd8b
+lwr :: offset: 0x98, out: 0x82
+lwr :: offset: 0x99, out: 0x82a5
+lwr :: offset: 0x9a, out: 0x82a5fb
+lwr :: offset: 0x9b, out: 0xffffffff82a5fb52
+lwr :: offset: 0x9c, out: 0x86
+lwr :: offset: 0x9d, out: 0x8664
+lwr :: offset: 0x9e, out: 0x8664e6
+lwr :: offset: 0x9f, out: 0xffffffff8664e6e5
+lwr :: offset: 0xa0, out: 0xbe
+lwr :: offset: 0xa1, out: 0xbe2b
+lwr :: offset: 0xa2, out: 0xbe2b5b
+lwr :: offset: 0xa3, out: 0xffffffffbe2b5b58
+lwr :: offset: 0xa4, out: 0xba
+lwr :: offset: 0xa5, out: 0xbaea
+lwr :: offset: 0xa6, out: 0xbaea46
+lwr :: offset: 0xa7, out: 0xffffffffbaea46ef
+lwr :: offset: 0xa8, out: 0xb7
+lwr :: offset: 0xa9, out: 0xb7a9
+lwr :: offset: 0xaa, out: 0xb7a960
+lwr :: offset: 0xab, out: 0xffffffffb7a96036
+lwr :: offset: 0xac, out: 0xb3
+lwr :: offset: 0xad, out: 0xb368
+lwr :: offset: 0xae, out: 0xb3687d
+lwr :: offset: 0xaf, out: 0xffffffffb3687d81
+lwr :: offset: 0xb0, out: 0xad
+lwr :: offset: 0xb1, out: 0xad2f
+lwr :: offset: 0xb2, out: 0xad2f2d
+lwr :: offset: 0xb3, out: 0xffffffffad2f2d84
+lwr :: offset: 0xb4, out: 0xa9
+lwr :: offset: 0xb5, out: 0xa9ee
+lwr :: offset: 0xb6, out: 0xa9ee30
+lwr :: offset: 0xb7, out: 0xffffffffa9ee3033
+lwr :: offset: 0xb8, out: 0xa4
+lwr :: offset: 0xb9, out: 0xa4ad
+lwr :: offset: 0xba, out: 0xa4ad16
+lwr :: offset: 0xbb, out: 0xffffffffa4ad16ea
+lwr :: offset: 0xbc, out: 0xa0
+lwr :: offset: 0xbd, out: 0xa06c
+lwr :: offset: 0xbe, out: 0xa06c0b
+lwr :: offset: 0xbf, out: 0xffffffffa06c0b5d
+lwr :: offset: 0xc0, out: 0xd4
+lwr :: offset: 0xc1, out: 0xd432
+lwr :: offset: 0xc2, out: 0xd4326d
+lwr :: offset: 0xc3, out: 0xffffffffd4326d90
+lwr :: offset: 0xc4, out: 0xd0
+lwr :: offset: 0xc5, out: 0xd0f3
+lwr :: offset: 0xc6, out: 0xd0f370
+lwr :: offset: 0xc7, out: 0xffffffffd0f37027
+lwr :: offset: 0xc8, out: 0xdd
+lwr :: offset: 0xc9, out: 0xddb0
+lwr :: offset: 0xca, out: 0xddb056
+lwr :: offset: 0xcb, out: 0xffffffffddb056fe
+lwr :: offset: 0xcc, out: 0xd9
+lwr :: offset: 0xcd, out: 0xd971
+lwr :: offset: 0xce, out: 0xd9714b
+lwr :: offset: 0xcf, out: 0xffffffffd9714b49
+lwr :: offset: 0xd0, out: 0xc7
+lwr :: offset: 0xd1, out: 0xc736
+lwr :: offset: 0xd2, out: 0xc7361b
+lwr :: offset: 0xd3, out: 0xffffffffc7361b4c
+lwr :: offset: 0xd4, out: 0xc3
+lwr :: offset: 0xd5, out: 0xc3f7
+lwr :: offset: 0xd6, out: 0xc3f706
+lwr :: offset: 0xd7, out: 0xffffffffc3f706fb
+lwr :: offset: 0xd8, out: 0xce
+lwr :: offset: 0xd9, out: 0xceb4
+lwr :: offset: 0xda, out: 0xceb420
+lwr :: offset: 0xdb, out: 0xffffffffceb42022
+lwr :: offset: 0xdc, out: 0xca
+lwr :: offset: 0xdd, out: 0xca75
+lwr :: offset: 0xde, out: 0xca753d
+lwr :: offset: 0xdf, out: 0xffffffffca753d95
+lwr :: offset: 0xe0, out: 0xf2
+lwr :: offset: 0xe1, out: 0xf23a
+lwr :: offset: 0xe2, out: 0xf23a80
+lwr :: offset: 0xe3, out: 0xfffffffff23a8028
+lwr :: offset: 0xe4, out: 0xf6
+lwr :: offset: 0xe5, out: 0xf6fb
+lwr :: offset: 0xe6, out: 0xf6fb9d
+lwr :: offset: 0xe7, out: 0xfffffffff6fb9d9f
+lwr :: offset: 0xe8, out: 0xfb
+lwr :: offset: 0xe9, out: 0xfbb8
+lwr :: offset: 0xea, out: 0xfbb8bb
+lwr :: offset: 0xeb, out: 0xfffffffffbb8bb46
+lwr :: offset: 0xec, out: 0xff
+lwr :: offset: 0xed, out: 0xff79
+lwr :: offset: 0xee, out: 0xff79a6
+lwr :: offset: 0xef, out: 0xffffffffff79a6f1
+lwr :: offset: 0xf0, out: 0xe1
+lwr :: offset: 0xf1, out: 0xe13e
+lwr :: offset: 0xf2, out: 0xe13ef6
+lwr :: offset: 0xf3, out: 0xffffffffe13ef6f4
+lwr :: offset: 0xf4, out: 0xe5
+lwr :: offset: 0xf5, out: 0xe5ff
+lwr :: offset: 0xf6, out: 0xe5ffeb
+lwr :: offset: 0xf7, out: 0xffffffffe5ffeb43
+lwr :: offset: 0xf8, out: 0xe8
+lwr :: offset: 0xf9, out: 0xe8bc
+lwr :: offset: 0xfa, out: 0xe8bccd
+lwr :: offset: 0xfb, out: 0xffffffffe8bccd9a
+lwr :: offset: 0xfc, out: 0xec
+lwr :: offset: 0xfd, out: 0xec7d
+lwr :: offset: 0xfe, out: 0xec7dd0
+lwr :: offset: 0xff, out: 0xffffffffec7dd02d
+lwr :: offset: 0x100, out: 0x34
+lwr :: offset: 0x101, out: 0x3486
+lwr :: offset: 0x102, out: 0x348670
+lwr :: offset: 0x103, out: 0x34867077
+lwr :: offset: 0x104, out: 0x30
+lwr :: offset: 0x105, out: 0x3047
+lwr :: offset: 0x106, out: 0x30476d
+lwr :: offset: 0x107, out: 0x30476dc0
+lwr :: offset: 0x108, out: 0x3d
+lwr :: offset: 0x109, out: 0x3d04
+lwr :: offset: 0x10a, out: 0x3d044b
+lwr :: offset: 0x10b, out: 0x3d044b19
+lwr :: offset: 0x10c, out: 0x39
+lwr :: offset: 0x10d, out: 0x39c5
+lwr :: offset: 0x10e, out: 0x39c556
+lwr :: offset: 0x10f, out: 0x39c556ae
+lwr :: offset: 0x110, out: 0x27
+lwr :: offset: 0x111, out: 0x2782
+lwr :: offset: 0x112, out: 0x278206
+lwr :: offset: 0x113, out: 0x278206ab
+lwr :: offset: 0x114, out: 0x23
+lwr :: offset: 0x115, out: 0x2343
+lwr :: offset: 0x116, out: 0x23431b
+lwr :: offset: 0x117, out: 0x23431b1c
+lwr :: offset: 0x118, out: 0x2e
+lwr :: offset: 0x119, out: 0x2e00
+lwr :: offset: 0x11a, out: 0x2e003d
+lwr :: offset: 0x11b, out: 0x2e003dc5
+lwr :: offset: 0x11c, out: 0x2a
+lwr :: offset: 0x11d, out: 0x2ac1
+lwr :: offset: 0x11e, out: 0x2ac120
+lwr :: offset: 0x11f, out: 0x2ac12072
+lwr :: offset: 0x120, out: 0x12
+lwr :: offset: 0x121, out: 0x128e
+lwr :: offset: 0x122, out: 0x128e9d
+lwr :: offset: 0x123, out: 0x128e9dcf
+lwr :: offset: 0x124, out: 0x16
+lwr :: offset: 0x125, out: 0x164f
+lwr :: offset: 0x126, out: 0x164f80
+lwr :: offset: 0x127, out: 0x164f8078
+lwr :: offset: 0x128, out: 0x1b
+lwr :: offset: 0x129, out: 0x1b0c
+lwr :: offset: 0x12a, out: 0x1b0ca6
+lwr :: offset: 0x12b, out: 0x1b0ca6a1
+lwr :: offset: 0x12c, out: 0x1f
+lwr :: offset: 0x12d, out: 0x1fcd
+lwr :: offset: 0x12e, out: 0x1fcdbb
+lwr :: offset: 0x12f, out: 0x1fcdbb16
+lwr :: offset: 0x130, out: 0x1
+lwr :: offset: 0x131, out: 0x18a
+lwr :: offset: 0x132, out: 0x18aeb
+lwr :: offset: 0x133, out: 0x18aeb13
+lwr :: offset: 0x134, out: 0x5
+lwr :: offset: 0x135, out: 0x54b
+lwr :: offset: 0x136, out: 0x54bf6
+lwr :: offset: 0x137, out: 0x54bf6a4
+lwr :: offset: 0x138, out: 0x8
+lwr :: offset: 0x139, out: 0x808
+lwr :: offset: 0x13a, out: 0x808d0
+lwr :: offset: 0x13b, out: 0x808d07d
+lwr :: offset: 0x13c, out: 0xc
+lwr :: offset: 0x13d, out: 0xcc9
+lwr :: offset: 0x13e, out: 0xcc9cd
+lwr :: offset: 0x13f, out: 0xcc9cdca
+lwr :: offset: 0x140, out: 0x78
+lwr :: offset: 0x141, out: 0x7897
+lwr :: offset: 0x142, out: 0x7897ab
+lwr :: offset: 0x143, out: 0x7897ab07
+lwr :: offset: 0x144, out: 0x7c
+lwr :: offset: 0x145, out: 0x7c56
+lwr :: offset: 0x146, out: 0x7c56b6
+lwr :: offset: 0x147, out: 0x7c56b6b0
+lwr :: offset: 0x148, out: 0x71
+lwr :: offset: 0x149, out: 0x7115
+lwr :: offset: 0x14a, out: 0x711590
+lwr :: offset: 0x14b, out: 0x71159069
+lwr :: offset: 0x14c, out: 0x75
+lwr :: offset: 0x14d, out: 0x75d4
+lwr :: offset: 0x14e, out: 0x75d48d
+lwr :: offset: 0x14f, out: 0x75d48dde
+lwr :: offset: 0x150, out: 0x6b
+lwr :: offset: 0x151, out: 0x6b93
+lwr :: offset: 0x152, out: 0x6b93dd
+lwr :: offset: 0x153, out: 0x6b93dddb
+lwr :: offset: 0x154, out: 0x6f
+lwr :: offset: 0x155, out: 0x6f52
+lwr :: offset: 0x156, out: 0x6f52c0
+lwr :: offset: 0x157, out: 0x6f52c06c
+lwr :: offset: 0x158, out: 0x62
+lwr :: offset: 0x159, out: 0x6211
+lwr :: offset: 0x15a, out: 0x6211e6
+lwr :: offset: 0x15b, out: 0x6211e6b5
+lwr :: offset: 0x15c, out: 0x66
+lwr :: offset: 0x15d, out: 0x66d0
+lwr :: offset: 0x15e, out: 0x66d0fb
+lwr :: offset: 0x15f, out: 0x66d0fb02
+lwr :: offset: 0x160, out: 0x5e
+lwr :: offset: 0x161, out: 0x5e9f
+lwr :: offset: 0x162, out: 0x5e9f46
+lwr :: offset: 0x163, out: 0x5e9f46bf
+lwr :: offset: 0x164, out: 0x5a
+lwr :: offset: 0x165, out: 0x5a5e
+lwr :: offset: 0x166, out: 0x5a5e5b
+lwr :: offset: 0x167, out: 0x5a5e5b08
+lwr :: offset: 0x168, out: 0x57
+lwr :: offset: 0x169, out: 0x571d
+lwr :: offset: 0x16a, out: 0x571d7d
+lwr :: offset: 0x16b, out: 0x571d7dd1
+lwr :: offset: 0x16c, out: 0x53
+lwr :: offset: 0x16d, out: 0x53dc
+lwr :: offset: 0x16e, out: 0x53dc60
+lwr :: offset: 0x16f, out: 0x53dc6066
+lwr :: offset: 0x170, out: 0x4d
+lwr :: offset: 0x171, out: 0x4d9b
+lwr :: offset: 0x172, out: 0x4d9b30
+lwr :: offset: 0x173, out: 0x4d9b3063
+lwr :: offset: 0x174, out: 0x49
+lwr :: offset: 0x175, out: 0x495a
+lwr :: offset: 0x176, out: 0x495a2d
+lwr :: offset: 0x177, out: 0x495a2dd4
+lwr :: offset: 0x178, out: 0x44
+lwr :: offset: 0x179, out: 0x4419
+lwr :: offset: 0x17a, out: 0x44190b
+lwr :: offset: 0x17b, out: 0x44190b0d
+lwr :: offset: 0x17c, out: 0x40
+lwr :: offset: 0x17d, out: 0x40d8
+lwr :: offset: 0x17e, out: 0x40d816
+lwr :: offset: 0x17f, out: 0x40d816ba
+lwr :: offset: 0x180, out: 0xac
+lwr :: offset: 0x181, out: 0xaca5
+lwr :: offset: 0x182, out: 0xaca5c6
+lwr :: offset: 0x183, out: 0xffffffffaca5c697
+lwr :: offset: 0x184, out: 0xa8
+lwr :: offset: 0x185, out: 0xa864
+lwr :: offset: 0x186, out: 0xa864db
+lwr :: offset: 0x187, out: 0xffffffffa864db20
+lwr :: offset: 0x188, out: 0xa5
+lwr :: offset: 0x189, out: 0xa527
+lwr :: offset: 0x18a, out: 0xa527fd
+lwr :: offset: 0x18b, out: 0xffffffffa527fdf9
+lwr :: offset: 0x18c, out: 0xa1
+lwr :: offset: 0x18d, out: 0xa1e6
+lwr :: offset: 0x18e, out: 0xa1e6e0
+lwr :: offset: 0x18f, out: 0xffffffffa1e6e04e
+lwr :: offset: 0x190, out: 0xbf
+lwr :: offset: 0x191, out: 0xbfa1
+lwr :: offset: 0x192, out: 0xbfa1b0
+lwr :: offset: 0x193, out: 0xffffffffbfa1b04b
+lwr :: offset: 0x194, out: 0xbb
+lwr :: offset: 0x195, out: 0xbb60
+lwr :: offset: 0x196, out: 0xbb60ad
+lwr :: offset: 0x197, out: 0xffffffffbb60adfc
+lwr :: offset: 0x198, out: 0xb6
+lwr :: offset: 0x199, out: 0xb623
+lwr :: offset: 0x19a, out: 0xb6238b
+lwr :: offset: 0x19b, out: 0xffffffffb6238b25
+lwr :: offset: 0x19c, out: 0xb2
+lwr :: offset: 0x19d, out: 0xb2e2
+lwr :: offset: 0x19e, out: 0xb2e296
+lwr :: offset: 0x19f, out: 0xffffffffb2e29692
+lwr :: offset: 0x1a0, out: 0x8a
+lwr :: offset: 0x1a1, out: 0x8aad
+lwr :: offset: 0x1a2, out: 0x8aad2b
+lwr :: offset: 0x1a3, out: 0xffffffff8aad2b2f
+lwr :: offset: 0x1a4, out: 0x0
+lwr :: offset: 0x1a5, out: 0x0
+lwr :: offset: 0x1a6, out: 0x0
+lwr :: offset: 0x1a7, out: 0x0
+lwr :: offset: 0x1a8, out: 0x0
+lwr :: offset: 0x1a9, out: 0x0
+lwr :: offset: 0x1aa, out: 0x0
+lwr :: offset: 0x1ab, out: 0x0
+lwr :: offset: 0x1ac, out: 0x87
+lwr :: offset: 0x1ad, out: 0x87ee
+lwr :: offset: 0x1ae, out: 0x87ee0d
+lwr :: offset: 0x1af, out: 0xffffffff87ee0df6
+lwr :: offset: 0x1b0, out: 0x99
+lwr :: offset: 0x1b1, out: 0x99a9
+lwr :: offset: 0x1b2, out: 0x99a95d
+lwr :: offset: 0x1b3, out: 0xffffffff99a95df3
+lwr :: offset: 0x1b4, out: 0x9d
+lwr :: offset: 0x1b5, out: 0x9d68
+lwr :: offset: 0x1b6, out: 0x9d6840
+lwr :: offset: 0x1b7, out: 0xffffffff9d684044
+lwr :: offset: 0x1b8, out: 0x90
+lwr :: offset: 0x1b9, out: 0x902b
+lwr :: offset: 0x1ba, out: 0x902b66
+lwr :: offset: 0x1bb, out: 0xffffffff902b669d
+lwr :: offset: 0x1bc, out: 0x94
+lwr :: offset: 0x1bd, out: 0x94ea
+lwr :: offset: 0x1be, out: 0x94ea7b
+lwr :: offset: 0x1bf, out: 0xffffffff94ea7b2a
+lwr :: offset: 0x1c0, out: 0xe0
+lwr :: offset: 0x1c1, out: 0xe0b4
+lwr :: offset: 0x1c2, out: 0xe0b41d
+lwr :: offset: 0x1c3, out: 0xffffffffe0b41de7
+lwr :: offset: 0x1c4, out: 0xe4
+lwr :: offset: 0x1c5, out: 0xe475
+lwr :: offset: 0x1c6, out: 0xe47500
+lwr :: offset: 0x1c7, out: 0xffffffffe4750050
+lwr :: offset: 0x1c8, out: 0xe9
+lwr :: offset: 0x1c9, out: 0xe936
+lwr :: offset: 0x1ca, out: 0xe93626
+lwr :: offset: 0x1cb, out: 0xffffffffe9362689
+lwr :: offset: 0x1cc, out: 0xed
+lwr :: offset: 0x1cd, out: 0xedf7
+lwr :: offset: 0x1ce, out: 0xedf73b
+lwr :: offset: 0x1cf, out: 0xffffffffedf73b3e
+lwr :: offset: 0x1d0, out: 0xf3
+lwr :: offset: 0x1d1, out: 0xf3b0
+lwr :: offset: 0x1d2, out: 0xf3b06b
+lwr :: offset: 0x1d3, out: 0xfffffffff3b06b3b
+lwr :: offset: 0x1d4, out: 0xf7
+lwr :: offset: 0x1d5, out: 0xf771
+lwr :: offset: 0x1d6, out: 0xf77176
+lwr :: offset: 0x1d7, out: 0xfffffffff771768c
+lwr :: offset: 0x1d8, out: 0xfa
+lwr :: offset: 0x1d9, out: 0xfa32
+lwr :: offset: 0x1da, out: 0xfa3250
+lwr :: offset: 0x1db, out: 0xfffffffffa325055
+lwr :: offset: 0x1dc, out: 0xfe
+lwr :: offset: 0x1dd, out: 0xfef3
+lwr :: offset: 0x1de, out: 0xfef34d
+lwr :: offset: 0x1df, out: 0xfffffffffef34de2
+lwr :: offset: 0x1e0, out: 0xc6
+lwr :: offset: 0x1e1, out: 0xc6bc
+lwr :: offset: 0x1e2, out: 0xc6bcf0
+lwr :: offset: 0x1e3, out: 0xffffffffc6bcf05f
+lwr :: offset: 0x1e4, out: 0xc2
+lwr :: offset: 0x1e5, out: 0xc27d
+lwr :: offset: 0x1e6, out: 0xc27ded
+lwr :: offset: 0x1e7, out: 0xffffffffc27dede8
+lwr :: offset: 0x1e8, out: 0xcf
+lwr :: offset: 0x1e9, out: 0xcf3e
+lwr :: offset: 0x1ea, out: 0xcf3ecb
+lwr :: offset: 0x1eb, out: 0xffffffffcf3ecb31
+lwr :: offset: 0x1ec, out: 0xcb
+lwr :: offset: 0x1ed, out: 0xcbff
+lwr :: offset: 0x1ee, out: 0xcbffd6
+lwr :: offset: 0x1ef, out: 0xffffffffcbffd686
+lwr :: offset: 0x1f0, out: 0xd5
+lwr :: offset: 0x1f1, out: 0xd5b8
+lwr :: offset: 0x1f2, out: 0xd5b886
+lwr :: offset: 0x1f3, out: 0xffffffffd5b88683
+lwr :: offset: 0x1f4, out: 0xd1
+lwr :: offset: 0x1f5, out: 0xd179
+lwr :: offset: 0x1f6, out: 0xd1799b
+lwr :: offset: 0x1f7, out: 0xffffffffd1799b34
+lwr :: offset: 0x1f8, out: 0xdc
+lwr :: offset: 0x1f9, out: 0xdc3a
+lwr :: offset: 0x1fa, out: 0xdc3abd
+lwr :: offset: 0x1fb, out: 0xffffffffdc3abded
+lwr :: offset: 0x1fc, out: 0xd8
+lwr :: offset: 0x1fd, out: 0xd8fb
+lwr :: offset: 0x1fe, out: 0xd8fba0
+lwr :: offset: 0x1ff, out: 0xffffffffd8fba05a
+lwr :: offset: 0x200, out: 0x69
+lwr :: offset: 0x201, out: 0x690c
+lwr :: offset: 0x202, out: 0x690ce0
+lwr :: offset: 0x203, out: 0x690ce0ee
+lwr :: offset: 0x204, out: 0x6d
+lwr :: offset: 0x205, out: 0x6dcd
+lwr :: offset: 0x206, out: 0x6dcdfd
+lwr :: offset: 0x207, out: 0x6dcdfd59
+lwr :: offset: 0x208, out: 0x60
+lwr :: offset: 0x209, out: 0x608e
+lwr :: offset: 0x20a, out: 0x608edb
+lwr :: offset: 0x20b, out: 0x608edb80
+lwr :: offset: 0x20c, out: 0x64
+lwr :: offset: 0x20d, out: 0x644f
+lwr :: offset: 0x20e, out: 0x644fc6
+lwr :: offset: 0x20f, out: 0x644fc637
+lwr :: offset: 0x210, out: 0x7a
+lwr :: offset: 0x211, out: 0x7a08
+lwr :: offset: 0x212, out: 0x7a0896
+lwr :: offset: 0x213, out: 0x7a089632
+lwr :: offset: 0x214, out: 0x7e
+lwr :: offset: 0x215, out: 0x7ec9
+lwr :: offset: 0x216, out: 0x7ec98b
+lwr :: offset: 0x217, out: 0x7ec98b85
+lwr :: offset: 0x218, out: 0x73
+lwr :: offset: 0x219, out: 0x738a
+lwr :: offset: 0x21a, out: 0x738aad
+lwr :: offset: 0x21b, out: 0x738aad5c
+lwr :: offset: 0x21c, out: 0x77
+lwr :: offset: 0x21d, out: 0x774b
+lwr :: offset: 0x21e, out: 0x774bb0
+lwr :: offset: 0x21f, out: 0x774bb0eb
+lwr :: offset: 0x220, out: 0x4f
+lwr :: offset: 0x221, out: 0x4f04
+lwr :: offset: 0x222, out: 0x4f040d
+lwr :: offset: 0x223, out: 0x4f040d56
+lwr :: offset: 0x224, out: 0x4b
+lwr :: offset: 0x225, out: 0x4bc5
+lwr :: offset: 0x226, out: 0x4bc510
+lwr :: offset: 0x227, out: 0x4bc510e1
+lwr :: offset: 0x228, out: 0x46
+lwr :: offset: 0x229, out: 0x4686
+lwr :: offset: 0x22a, out: 0x468636
+lwr :: offset: 0x22b, out: 0x46863638
+lwr :: offset: 0x22c, out: 0x42
+lwr :: offset: 0x22d, out: 0x4247
+lwr :: offset: 0x22e, out: 0x42472b
+lwr :: offset: 0x22f, out: 0x42472b8f
+lwr :: offset: 0x230, out: 0x5c
+lwr :: offset: 0x231, out: 0x5c00
+lwr :: offset: 0x232, out: 0x5c007b
+lwr :: offset: 0x233, out: 0x5c007b8a
+lwr :: offset: 0x234, out: 0x58
+lwr :: offset: 0x235, out: 0x58c1
+lwr :: offset: 0x236, out: 0x58c166
+lwr :: offset: 0x237, out: 0x58c1663d
+lwr :: offset: 0x238, out: 0x55
+lwr :: offset: 0x239, out: 0x5582
+lwr :: offset: 0x23a, out: 0x558240
+lwr :: offset: 0x23b, out: 0x558240e4
+lwr :: offset: 0x23c, out: 0x51
+lwr :: offset: 0x23d, out: 0x5143
+lwr :: offset: 0x23e, out: 0x51435d
+lwr :: offset: 0x23f, out: 0x51435d53
+lwr :: offset: 0x240, out: 0x25
+lwr :: offset: 0x241, out: 0x251d
+lwr :: offset: 0x242, out: 0x251d3b
+lwr :: offset: 0x243, out: 0x251d3b9e
+lwr :: offset: 0x244, out: 0x21
+lwr :: offset: 0x245, out: 0x21dc
+lwr :: offset: 0x246, out: 0x21dc26
+lwr :: offset: 0x247, out: 0x21dc2629
+lwr :: offset: 0x248, out: 0x2c
+lwr :: offset: 0x249, out: 0x2c9f
+lwr :: offset: 0x24a, out: 0x2c9f00
+lwr :: offset: 0x24b, out: 0x2c9f00f0
+lwr :: offset: 0x24c, out: 0x28
+lwr :: offset: 0x24d, out: 0x285e
+lwr :: offset: 0x24e, out: 0x285e1d
+lwr :: offset: 0x24f, out: 0x285e1d47
+lwr :: offset: 0x250, out: 0x36
+lwr :: offset: 0x251, out: 0x3619
+lwr :: offset: 0x252, out: 0x36194d
+lwr :: offset: 0x253, out: 0x36194d42
+lwr :: offset: 0x254, out: 0x32
+lwr :: offset: 0x255, out: 0x32d8
+lwr :: offset: 0x256, out: 0x32d850
+lwr :: offset: 0x257, out: 0x32d850f5
+lwr :: offset: 0x258, out: 0x3f
+lwr :: offset: 0x259, out: 0x3f9b
+lwr :: offset: 0x25a, out: 0x3f9b76
+lwr :: offset: 0x25b, out: 0x3f9b762c
+lwr :: offset: 0x25c, out: 0x3b
+lwr :: offset: 0x25d, out: 0x3b5a
+lwr :: offset: 0x25e, out: 0x3b5a6b
+lwr :: offset: 0x25f, out: 0x3b5a6b9b
+lwr :: offset: 0x260, out: 0x3
+lwr :: offset: 0x261, out: 0x315
+lwr :: offset: 0x262, out: 0x315d6
+lwr :: offset: 0x263, out: 0x315d626
+lwr :: offset: 0x264, out: 0x7
+lwr :: offset: 0x265, out: 0x7d4
+lwr :: offset: 0x266, out: 0x7d4cb
+lwr :: offset: 0x267, out: 0x7d4cb91
+lwr :: offset: 0x268, out: 0xa
+lwr :: offset: 0x269, out: 0xa97
+lwr :: offset: 0x26a, out: 0xa97ed
+lwr :: offset: 0x26b, out: 0xa97ed48
+lwr :: offset: 0x26c, out: 0xe
+lwr :: offset: 0x26d, out: 0xe56
+lwr :: offset: 0x26e, out: 0xe56f0
+lwr :: offset: 0x26f, out: 0xe56f0ff
+lwr :: offset: 0x270, out: 0x10
+lwr :: offset: 0x271, out: 0x1011
+lwr :: offset: 0x272, out: 0x1011a0
+lwr :: offset: 0x273, out: 0x1011a0fa
+lwr :: offset: 0x274, out: 0x14
+lwr :: offset: 0x275, out: 0x14d0
+lwr :: offset: 0x276, out: 0x14d0bd
+lwr :: offset: 0x277, out: 0x14d0bd4d
+lwr :: offset: 0x278, out: 0x19
+lwr :: offset: 0x279, out: 0x1993
+lwr :: offset: 0x27a, out: 0x19939b
+lwr :: offset: 0x27b, out: 0x19939b94
+lwr :: offset: 0x27c, out: 0x1d
+lwr :: offset: 0x27d, out: 0x1d52
+lwr :: offset: 0x27e, out: 0x1d5286
+lwr :: offset: 0x27f, out: 0x1d528623
+lwr :: offset: 0x280, out: 0xf1
+lwr :: offset: 0x281, out: 0xf12f
+lwr :: offset: 0x282, out: 0xf12f56
+lwr :: offset: 0x283, out: 0xfffffffff12f560e
+lwr :: offset: 0x284, out: 0xf5
+lwr :: offset: 0x285, out: 0xf5ee
+lwr :: offset: 0x286, out: 0xf5ee4b
+lwr :: offset: 0x287, out: 0xfffffffff5ee4bb9
+lwr :: offset: 0x288, out: 0xf8
+lwr :: offset: 0x289, out: 0xf8ad
+lwr :: offset: 0x28a, out: 0xf8ad6d
+lwr :: offset: 0x28b, out: 0xfffffffff8ad6d60
+lwr :: offset: 0x28c, out: 0xfc
+lwr :: offset: 0x28d, out: 0xfc6c
+lwr :: offset: 0x28e, out: 0xfc6c70
+lwr :: offset: 0x28f, out: 0xfffffffffc6c70d7
+lwr :: offset: 0x290, out: 0xe2
+lwr :: offset: 0x291, out: 0xe22b
+lwr :: offset: 0x292, out: 0xe22b20
+lwr :: offset: 0x293, out: 0xffffffffe22b20d2
+lwr :: offset: 0x294, out: 0xe6
+lwr :: offset: 0x295, out: 0xe6ea
+lwr :: offset: 0x296, out: 0xe6ea3d
+lwr :: offset: 0x297, out: 0xffffffffe6ea3d65
+lwr :: offset: 0x298, out: 0xeb
+lwr :: offset: 0x299, out: 0xeba9
+lwr :: offset: 0x29a, out: 0xeba91b
+lwr :: offset: 0x29b, out: 0xffffffffeba91bbc
+lwr :: offset: 0x29c, out: 0xef
+lwr :: offset: 0x29d, out: 0xef68
+lwr :: offset: 0x29e, out: 0xef6806
+lwr :: offset: 0x29f, out: 0xffffffffef68060b
+lwr :: offset: 0x2a0, out: 0xd7
+lwr :: offset: 0x2a1, out: 0xd727
+lwr :: offset: 0x2a2, out: 0xd727bb
+lwr :: offset: 0x2a3, out: 0xffffffffd727bbb6
+lwr :: offset: 0x2a4, out: 0xd3
+lwr :: offset: 0x2a5, out: 0xd3e6
+lwr :: offset: 0x2a6, out: 0xd3e6a6
+lwr :: offset: 0x2a7, out: 0xffffffffd3e6a601
+lwr :: offset: 0x2a8, out: 0xde
+lwr :: offset: 0x2a9, out: 0xdea5
+lwr :: offset: 0x2aa, out: 0xdea580
+lwr :: offset: 0x2ab, out: 0xffffffffdea580d8
+lwr :: offset: 0x2ac, out: 0xda
+lwr :: offset: 0x2ad, out: 0xda64
+lwr :: offset: 0x2ae, out: 0xda649d
+lwr :: offset: 0x2af, out: 0xffffffffda649d6f
+lwr :: offset: 0x2b0, out: 0xc4
+lwr :: offset: 0x2b1, out: 0xc423
+lwr :: offset: 0x2b2, out: 0xc423cd
+lwr :: offset: 0x2b3, out: 0xffffffffc423cd6a
+lwr :: offset: 0x2b4, out: 0x0
+lwr :: offset: 0x2b5, out: 0x0
+lwr :: offset: 0x2b6, out: 0x0
+lwr :: offset: 0x2b7, out: 0x0
+lwr :: offset: 0x2b8, out: 0xcd
+lwr :: offset: 0x2b9, out: 0xcda1
+lwr :: offset: 0x2ba, out: 0xcda1f6
+lwr :: offset: 0x2bb, out: 0xffffffffcda1f604
+lwr :: offset: 0x2bc, out: 0x0
+lwr :: offset: 0x2bd, out: 0x0
+lwr :: offset: 0x2be, out: 0x0
+lwr :: offset: 0x2bf, out: 0x0
+lwr :: offset: 0x2c0, out: 0xbd
+lwr :: offset: 0x2c1, out: 0xbd3e
+lwr :: offset: 0x2c2, out: 0xbd3e8d
+lwr :: offset: 0x2c3, out: 0xffffffffbd3e8d7e
+lwr :: offset: 0x2c4, out: 0xb9
+lwr :: offset: 0x2c5, out: 0xb9ff
+lwr :: offset: 0x2c6, out: 0xb9ff90
+lwr :: offset: 0x2c7, out: 0xffffffffb9ff90c9
+lwr :: offset: 0x2c8, out: 0xb4
+lwr :: offset: 0x2c9, out: 0xb4bc
+lwr :: offset: 0x2ca, out: 0xb4bcb6
+lwr :: offset: 0x2cb, out: 0xffffffffb4bcb610
+lwr :: offset: 0x2cc, out: 0xb0
+lwr :: offset: 0x2cd, out: 0xb07d
+lwr :: offset: 0x2ce, out: 0xb07dab
+lwr :: offset: 0x2cf, out: 0xffffffffb07daba7
+lwr :: offset: 0x2d0, out: 0xae
+lwr :: offset: 0x2d1, out: 0xae3a
+lwr :: offset: 0x2d2, out: 0xae3afb
+lwr :: offset: 0x2d3, out: 0xffffffffae3afba2
+lwr :: offset: 0x2d4, out: 0xaa
+lwr :: offset: 0x2d5, out: 0xaafb
+lwr :: offset: 0x2d6, out: 0xaafbe6
+lwr :: offset: 0x2d7, out: 0xffffffffaafbe615
+lwr :: offset: 0x2d8, out: 0xa7
+lwr :: offset: 0x2d9, out: 0xa7b8
+lwr :: offset: 0x2da, out: 0xa7b8c0
+lwr :: offset: 0x2db, out: 0xffffffffa7b8c0cc
+lwr :: offset: 0x2dc, out: 0xa3
+lwr :: offset: 0x2dd, out: 0xa379
+lwr :: offset: 0x2de, out: 0xa379dd
+lwr :: offset: 0x2df, out: 0xffffffffa379dd7b
+lwr :: offset: 0x2e0, out: 0x9b
+lwr :: offset: 0x2e1, out: 0x9b36
+lwr :: offset: 0x2e2, out: 0x9b3660
+lwr :: offset: 0x2e3, out: 0xffffffff9b3660c6
+lwr :: offset: 0x2e4, out: 0x9f
+lwr :: offset: 0x2e5, out: 0x9ff7
+lwr :: offset: 0x2e6, out: 0x9ff77d
+lwr :: offset: 0x2e7, out: 0xffffffff9ff77d71
+lwr :: offset: 0x2e8, out: 0x92
+lwr :: offset: 0x2e9, out: 0x92b4
+lwr :: offset: 0x2ea, out: 0x92b45b
+lwr :: offset: 0x2eb, out: 0xffffffff92b45ba8
+lwr :: offset: 0x2ec, out: 0x96
+lwr :: offset: 0x2ed, out: 0x9675
+lwr :: offset: 0x2ee, out: 0x967546
+lwr :: offset: 0x2ef, out: 0xffffffff9675461f
+lwr :: offset: 0x2f0, out: 0x88
+lwr :: offset: 0x2f1, out: 0x8832
+lwr :: offset: 0x2f2, out: 0x883216
+lwr :: offset: 0x2f3, out: 0xffffffff8832161a
+lwr :: offset: 0x2f4, out: 0x8c
+lwr :: offset: 0x2f5, out: 0x8cf3
+lwr :: offset: 0x2f6, out: 0x8cf30b
+lwr :: offset: 0x2f7, out: 0xffffffff8cf30bad
+lwr :: offset: 0x2f8, out: 0x81
+lwr :: offset: 0x2f9, out: 0x81b0
+lwr :: offset: 0x2fa, out: 0x81b02d
+lwr :: offset: 0x2fb, out: 0xffffffff81b02d74
+lwr :: offset: 0x2fc, out: 0x85
+lwr :: offset: 0x2fd, out: 0x8571
+lwr :: offset: 0x2fe, out: 0x857130
+lwr :: offset: 0x2ff, out: 0xffffffff857130c3
+lwr :: offset: 0x300, out: 0x5d
+lwr :: offset: 0x301, out: 0x5d8a
+lwr :: offset: 0x302, out: 0x5d8a90
+lwr :: offset: 0x303, out: 0x5d8a9099
+lwr :: offset: 0x304, out: 0x59
+lwr :: offset: 0x305, out: 0x594b
+lwr :: offset: 0x306, out: 0x594b8d
+lwr :: offset: 0x307, out: 0x594b8d2e
+lwr :: offset: 0x308, out: 0x54
+lwr :: offset: 0x309, out: 0x5408
+lwr :: offset: 0x30a, out: 0x5408ab
+lwr :: offset: 0x30b, out: 0x5408abf7
+lwr :: offset: 0x30c, out: 0x50
+lwr :: offset: 0x30d, out: 0x50c9
+lwr :: offset: 0x30e, out: 0x50c9b6
+lwr :: offset: 0x30f, out: 0x50c9b640
+lwr :: offset: 0x310, out: 0x4e
+lwr :: offset: 0x311, out: 0x4e8e
+lwr :: offset: 0x312, out: 0x4e8ee6
+lwr :: offset: 0x313, out: 0x4e8ee645
+lwr :: offset: 0x314, out: 0x4a
+lwr :: offset: 0x315, out: 0x4a4f
+lwr :: offset: 0x316, out: 0x4a4ffb
+lwr :: offset: 0x317, out: 0x4a4ffbf2
+lwr :: offset: 0x318, out: 0x47
+lwr :: offset: 0x319, out: 0x470c
+lwr :: offset: 0x31a, out: 0x470cdd
+lwr :: offset: 0x31b, out: 0x470cdd2b
+lwr :: offset: 0x31c, out: 0x43
+lwr :: offset: 0x31d, out: 0x43cd
+lwr :: offset: 0x31e, out: 0x43cdc0
+lwr :: offset: 0x31f, out: 0x43cdc09c
+lwr :: offset: 0x320, out: 0x7b
+lwr :: offset: 0x321, out: 0x7b82
+lwr :: offset: 0x322, out: 0x7b827d
+lwr :: offset: 0x323, out: 0x7b827d21
+lwr :: offset: 0x324, out: 0x7f
+lwr :: offset: 0x325, out: 0x7f43
+lwr :: offset: 0x326, out: 0x7f4360
+lwr :: offset: 0x327, out: 0x7f436096
+lwr :: offset: 0x328, out: 0x72
+lwr :: offset: 0x329, out: 0x7200
+lwr :: offset: 0x32a, out: 0x720046
+lwr :: offset: 0x32b, out: 0x7200464f
+lwr :: offset: 0x32c, out: 0x76
+lwr :: offset: 0x32d, out: 0x76c1
+lwr :: offset: 0x32e, out: 0x76c15b
+lwr :: offset: 0x32f, out: 0x76c15bf8
+lwr :: offset: 0x330, out: 0x68
+lwr :: offset: 0x331, out: 0x6886
+lwr :: offset: 0x332, out: 0x68860b
+lwr :: offset: 0x333, out: 0x68860bfd
+lwr :: offset: 0x334, out: 0x6c
+lwr :: offset: 0x335, out: 0x6c47
+lwr :: offset: 0x336, out: 0x6c4716
+lwr :: offset: 0x337, out: 0x6c47164a
+lwr :: offset: 0x338, out: 0x61
+lwr :: offset: 0x339, out: 0x6104
+lwr :: offset: 0x33a, out: 0x610430
+lwr :: offset: 0x33b, out: 0x61043093
+lwr :: offset: 0x33c, out: 0x65
+lwr :: offset: 0x33d, out: 0x65c5
+lwr :: offset: 0x33e, out: 0x65c52d
+lwr :: offset: 0x33f, out: 0x65c52d24
+lwr :: offset: 0x340, out: 0x11
+lwr :: offset: 0x341, out: 0x119b
+lwr :: offset: 0x342, out: 0x119b4b
+lwr :: offset: 0x343, out: 0x119b4be9
+lwr :: offset: 0x344, out: 0x15
+lwr :: offset: 0x345, out: 0x155a
+lwr :: offset: 0x346, out: 0x155a56
+lwr :: offset: 0x347, out: 0x155a565e
+lwr :: offset: 0x348, out: 0x18
+lwr :: offset: 0x349, out: 0x1819
+lwr :: offset: 0x34a, out: 0x181970
+lwr :: offset: 0x34b, out: 0x18197087
+lwr :: offset: 0x34c, out: 0x1c
+lwr :: offset: 0x34d, out: 0x1cd8
+lwr :: offset: 0x34e, out: 0x1cd86d
+lwr :: offset: 0x34f, out: 0x1cd86d30
+lwr :: offset: 0x350, out: 0x2
+lwr :: offset: 0x351, out: 0x29f
+lwr :: offset: 0x352, out: 0x29f3d
+lwr :: offset: 0x353, out: 0x29f3d35
+lwr :: offset: 0x354, out: 0x6
+lwr :: offset: 0x355, out: 0x65e
+lwr :: offset: 0x356, out: 0x65e20
+lwr :: offset: 0x357, out: 0x65e2082
+lwr :: offset: 0x358, out: 0xb
+lwr :: offset: 0x359, out: 0xb1d
+lwr :: offset: 0x35a, out: 0xb1d06
+lwr :: offset: 0x35b, out: 0xb1d065b
+lwr :: offset: 0x35c, out: 0xf
+lwr :: offset: 0x35d, out: 0xfdc
+lwr :: offset: 0x35e, out: 0xfdc1b
+lwr :: offset: 0x35f, out: 0xfdc1bec
+lwr :: offset: 0x360, out: 0x37
+lwr :: offset: 0x361, out: 0x3793
+lwr :: offset: 0x362, out: 0x3793a6
+lwr :: offset: 0x363, out: 0x3793a651
+lwr :: offset: 0x364, out: 0x33
+lwr :: offset: 0x365, out: 0x3352
+lwr :: offset: 0x366, out: 0x3352bb
+lwr :: offset: 0x367, out: 0x3352bbe6
+lwr :: offset: 0x368, out: 0x3e
+lwr :: offset: 0x369, out: 0x3e11
+lwr :: offset: 0x36a, out: 0x3e119d
+lwr :: offset: 0x36b, out: 0x3e119d3f
+lwr :: offset: 0x36c, out: 0x3a
+lwr :: offset: 0x36d, out: 0x3ad0
+lwr :: offset: 0x36e, out: 0x3ad080
+lwr :: offset: 0x36f, out: 0x3ad08088
+lwr :: offset: 0x370, out: 0x24
+lwr :: offset: 0x371, out: 0x2497
+lwr :: offset: 0x372, out: 0x2497d0
+lwr :: offset: 0x373, out: 0x2497d08d
+lwr :: offset: 0x374, out: 0x20
+lwr :: offset: 0x375, out: 0x2056
+lwr :: offset: 0x376, out: 0x2056cd
+lwr :: offset: 0x377, out: 0x2056cd3a
+lwr :: offset: 0x378, out: 0x2d
+lwr :: offset: 0x379, out: 0x2d15
+lwr :: offset: 0x37a, out: 0x2d15eb
+lwr :: offset: 0x37b, out: 0x2d15ebe3
+lwr :: offset: 0x37c, out: 0x29
+lwr :: offset: 0x37d, out: 0x29d4
+lwr :: offset: 0x37e, out: 0x29d4f6
+lwr :: offset: 0x37f, out: 0x29d4f654
+lwr :: offset: 0x380, out: 0xc5
+lwr :: offset: 0x381, out: 0xc5a9
+lwr :: offset: 0x382, out: 0xc5a926
+lwr :: offset: 0x383, out: 0xffffffffc5a92679
+lwr :: offset: 0x384, out: 0xc1
+lwr :: offset: 0x385, out: 0xc168
+lwr :: offset: 0x386, out: 0xc1683b
+lwr :: offset: 0x387, out: 0xffffffffc1683bce
+lwr :: offset: 0x388, out: 0xcc
+lwr :: offset: 0x389, out: 0xcc2b
+lwr :: offset: 0x38a, out: 0xcc2b1d
+lwr :: offset: 0x38b, out: 0xffffffffcc2b1d17
+lwr :: offset: 0x38c, out: 0xc8
+lwr :: offset: 0x38d, out: 0xc8ea
+lwr :: offset: 0x38e, out: 0xc8ea00
+lwr :: offset: 0x38f, out: 0xffffffffc8ea00a0
+lwr :: offset: 0x390, out: 0xd6
+lwr :: offset: 0x391, out: 0xd6ad
+lwr :: offset: 0x392, out: 0xd6ad50
+lwr :: offset: 0x393, out: 0xffffffffd6ad50a5
+lwr :: offset: 0x394, out: 0xd2
+lwr :: offset: 0x395, out: 0xd26c
+lwr :: offset: 0x396, out: 0xd26c4d
+lwr :: offset: 0x397, out: 0xffffffffd26c4d12
+lwr :: offset: 0x398, out: 0xdf
+lwr :: offset: 0x399, out: 0xdf2f
+lwr :: offset: 0x39a, out: 0xdf2f6b
+lwr :: offset: 0x39b, out: 0xffffffffdf2f6bcb
+lwr :: offset: 0x39c, out: 0xdb
+lwr :: offset: 0x39d, out: 0xdbee
+lwr :: offset: 0x39e, out: 0xdbee76
+lwr :: offset: 0x39f, out: 0xffffffffdbee767c
+lwr :: offset: 0x3a0, out: 0xe3
+lwr :: offset: 0x3a1, out: 0xe3a1
+lwr :: offset: 0x3a2, out: 0xe3a1cb
+lwr :: offset: 0x3a3, out: 0xffffffffe3a1cbc1
+lwr :: offset: 0x3a4, out: 0xe7
+lwr :: offset: 0x3a5, out: 0xe760
+lwr :: offset: 0x3a6, out: 0xe760d6
+lwr :: offset: 0x3a7, out: 0xffffffffe760d676
+lwr :: offset: 0x3a8, out: 0xea
+lwr :: offset: 0x3a9, out: 0xea23
+lwr :: offset: 0x3aa, out: 0xea23f0
+lwr :: offset: 0x3ab, out: 0xffffffffea23f0af
+lwr :: offset: 0x3ac, out: 0xee
+lwr :: offset: 0x3ad, out: 0xeee2
+lwr :: offset: 0x3ae, out: 0xeee2ed
+lwr :: offset: 0x3af, out: 0xffffffffeee2ed18
+lwr :: offset: 0x3b0, out: 0xf0
+lwr :: offset: 0x3b1, out: 0xf0a5
+lwr :: offset: 0x3b2, out: 0xf0a5bd
+lwr :: offset: 0x3b3, out: 0xfffffffff0a5bd1d
+lwr :: offset: 0x3b4, out: 0xf4
+lwr :: offset: 0x3b5, out: 0xf464
+lwr :: offset: 0x3b6, out: 0xf464a0
+lwr :: offset: 0x3b7, out: 0xfffffffff464a0aa
+lwr :: offset: 0x3b8, out: 0xf9
+lwr :: offset: 0x3b9, out: 0xf927
+lwr :: offset: 0x3ba, out: 0xf92786
+lwr :: offset: 0x3bb, out: 0xfffffffff9278673
+lwr :: offset: 0x3bc, out: 0xfd
+lwr :: offset: 0x3bd, out: 0xfde6
+lwr :: offset: 0x3be, out: 0xfde69b
+lwr :: offset: 0x3bf, out: 0xfffffffffde69bc4
+lwr :: offset: 0x3c0, out: 0x89
+lwr :: offset: 0x3c1, out: 0x89b8
+lwr :: offset: 0x3c2, out: 0x89b8fd
+lwr :: offset: 0x3c3, out: 0xffffffff89b8fd09
+lwr :: offset: 0x3c4, out: 0x8d
+lwr :: offset: 0x3c5, out: 0x8d79
+lwr :: offset: 0x3c6, out: 0x8d79e0
+lwr :: offset: 0x3c7, out: 0xffffffff8d79e0be
+lwr :: offset: 0x3c8, out: 0x80
+lwr :: offset: 0x3c9, out: 0x803a
+lwr :: offset: 0x3ca, out: 0x803ac6
+lwr :: offset: 0x3cb, out: 0xffffffff803ac667
+lwr :: offset: 0x3cc, out: 0x84
+lwr :: offset: 0x3cd, out: 0x84fb
+lwr :: offset: 0x3ce, out: 0x84fbdb
+lwr :: offset: 0x3cf, out: 0xffffffff84fbdbd0
+lwr :: offset: 0x3d0, out: 0x9a
+lwr :: offset: 0x3d1, out: 0x9abc
+lwr :: offset: 0x3d2, out: 0x9abc8b
+lwr :: offset: 0x3d3, out: 0xffffffff9abc8bd5
+lwr :: offset: 0x3d4, out: 0x9e
+lwr :: offset: 0x3d5, out: 0x9e7d
+lwr :: offset: 0x3d6, out: 0x9e7d96
+lwr :: offset: 0x3d7, out: 0xffffffff9e7d9662
+lwr :: offset: 0x3d8, out: 0x93
+lwr :: offset: 0x3d9, out: 0x933e
+lwr :: offset: 0x3da, out: 0x933eb0
+lwr :: offset: 0x3db, out: 0xffffffff933eb0bb
+lwr :: offset: 0x3dc, out: 0x97
+lwr :: offset: 0x3dd, out: 0x97ff
+lwr :: offset: 0x3de, out: 0x97ffad
+lwr :: offset: 0x3df, out: 0xffffffff97ffad0c
+lwr :: offset: 0x3e0, out: 0xaf
+lwr :: offset: 0x3e1, out: 0xafb0
+lwr :: offset: 0x3e2, out: 0xafb010
+lwr :: offset: 0x3e3, out: 0xffffffffafb010b1
+lwr :: offset: 0x3e4, out: 0xab
+lwr :: offset: 0x3e5, out: 0xab71
+lwr :: offset: 0x3e6, out: 0xab710d
+lwr :: offset: 0x3e7, out: 0xffffffffab710d06
+lwr :: offset: 0x3e8, out: 0xa6
+lwr :: offset: 0x3e9, out: 0xa632
+lwr :: offset: 0x3ea, out: 0xa6322b
+lwr :: offset: 0x3eb, out: 0xffffffffa6322bdf
+lwr :: offset: 0x3ec, out: 0xa2
+lwr :: offset: 0x3ed, out: 0xa2f3
+lwr :: offset: 0x3ee, out: 0xa2f336
+lwr :: offset: 0x3ef, out: 0xffffffffa2f33668
+lwr :: offset: 0x3f0, out: 0xbc
+lwr :: offset: 0x3f1, out: 0xbcb4
+lwr :: offset: 0x3f2, out: 0xbcb466
+lwr :: offset: 0x3f3, out: 0xffffffffbcb4666d
+lwr :: offset: 0x3f4, out: 0xb8
+lwr :: offset: 0x3f5, out: 0xb875
+lwr :: offset: 0x3f6, out: 0xb8757b
+lwr :: offset: 0x3f7, out: 0xffffffffb8757bda
+lwr :: offset: 0x3f8, out: 0xb5
+lwr :: offset: 0x3f9, out: 0xb536
+lwr :: offset: 0x3fa, out: 0xb5365d
+lwr :: offset: 0x3fb, out: 0xffffffffb5365d03
+lwr :: offset: 0x3fc, out: 0xb1
+lwr :: offset: 0x3fd, out: 0xb1f7
+lwr :: offset: 0x3fe, out: 0xb1f740
+lwr :: offset: 0x3ff, out: 0xffffffffb1f740b4
+lwr :: offset: 0x0, out: 0x0
+lwr :: offset: 0x1, out: 0x0
+lwr :: offset: 0x2, out: 0x0
+lwr :: offset: 0x3, out: 0x0
+lwr :: offset: 0x4, out: 0x1
+lwr :: offset: 0x5, out: 0x12b
+lwr :: offset: 0x6, out: 0x12bd6
+lwr :: offset: 0x7, out: 0x12bd6aa
+lwr :: offset: 0x8, out: 0x0
+lwr :: offset: 0x9, out: 0x7e
+lwr :: offset: 0xa, out: 0x7e87
+lwr :: offset: 0xb, out: 0x7e8763
+lwr :: offset: 0xc, out: 0x82
+lwr :: offset: 0xd, out: 0x82d2
+lwr :: offset: 0xe, out: 0x82d2ab
+lwr :: offset: 0xf, out: 0xffffffff82d2ab13
+lwr :: offset: 0x10, out: 0x97
+lwr :: offset: 0x11, out: 0x976d
+lwr :: offset: 0x12, out: 0x976d6e
+lwr :: offset: 0x13, out: 0xffffffff976d6e9a
+lwr :: offset: 0x14, out: 0xc3
+lwr :: offset: 0x15, out: 0xc315
+lwr :: offset: 0x16, out: 0xc31510
+lwr :: offset: 0x17, out: 0xffffffffc31510f3
+lwr :: offset: 0x18, out: 0xb7
+lwr :: offset: 0x19, out: 0xb774
+lwr :: offset: 0x1a, out: 0xb7746d
+lwr :: offset: 0x1b, out: 0xffffffffb7746d77
+lwr :: offset: 0x1c, out: 0x5a
+lwr :: offset: 0x1d, out: 0x5ad6
+lwr :: offset: 0x1e, out: 0x5ad6a5
+lwr :: offset: 0x1f, out: 0x5ad6a5fb
+lwr :: offset: 0x20, out: 0x42
+lwr :: offset: 0x21, out: 0x42b0
+lwr :: offset: 0x22, out: 0x42b0c0
+lwr :: offset: 0x23, out: 0x42b0c0a2
+lwr :: offset: 0x24, out: 0x86
+lwr :: offset: 0x25, out: 0x8677
+lwr :: offset: 0x26, out: 0x8677b5
+lwr :: offset: 0x27, out: 0xffffffff8677b502
+lwr :: offset: 0x28, out: 0x2a
+lwr :: offset: 0x29, out: 0x2aa8
+lwr :: offset: 0x2a, out: 0x2aa89d
+lwr :: offset: 0x2b, out: 0x2aa89d31
+lwr :: offset: 0x2c, out: 0x9e
+lwr :: offset: 0x2d, out: 0x9e3c
+lwr :: offset: 0x2e, out: 0x9e3c30
+lwr :: offset: 0x2f, out: 0xffffffff9e3c30ad
+lwr :: offset: 0x30, out: 0x1f
+lwr :: offset: 0x31, out: 0x1f30
+lwr :: offset: 0x32, out: 0x1f308e
+lwr :: offset: 0x33, out: 0x1f308ec3
+lwr :: offset: 0x34, out: 0x77
+lwr :: offset: 0x35, out: 0x77fb
+lwr :: offset: 0x36, out: 0x77fb41
+lwr :: offset: 0x37, out: 0x77fb413d
+lwr :: offset: 0x38, out: 0x7a
+lwr :: offset: 0x39, out: 0x7aa0
+lwr :: offset: 0x3a, out: 0x7aa042
+lwr :: offset: 0x3b, out: 0x7aa04213
+lwr :: offset: 0x3c, out: 0xc7
+lwr :: offset: 0x3d, out: 0xc760
+lwr :: offset: 0x3e, out: 0xc760e4
+lwr :: offset: 0x3f, out: 0xffffffffc760e4f7
+lwr :: offset: 0x40, out: 0x9e
+lwr :: offset: 0x41, out: 0x9e70
+lwr :: offset: 0x42, out: 0x9e705c
+lwr :: offset: 0x43, out: 0xffffffff9e705cc5
+lwr :: offset: 0x44, out: 0x1a
+lwr :: offset: 0x45, out: 0x1ad8
+lwr :: offset: 0x46, out: 0x1ad8dc
+lwr :: offset: 0x47, out: 0x1ad8dca0
+lwr :: offset: 0x48, out: 0x4b
+lwr :: offset: 0x49, out: 0x4b3d
+lwr :: offset: 0x4a, out: 0x4b3dda
+lwr :: offset: 0x4b, out: 0x4b3dda86
+lwr :: offset: 0x4c, out: 0x96
+lwr :: offset: 0x4d, out: 0x9615
+lwr :: offset: 0x4e, out: 0x9615a6
+lwr :: offset: 0x4f, out: 0xffffffff9615a60d
+lwr :: offset: 0x50, out: 0x5
+lwr :: offset: 0x51, out: 0x5e7
+lwr :: offset: 0x52, out: 0x5e7a4
+lwr :: offset: 0x53, out: 0x5e7a4dd
+lwr :: offset: 0x54, out: 0x63
+lwr :: offset: 0x55, out: 0x6353
+lwr :: offset: 0x56, out: 0x6353d4
+lwr :: offset: 0x57, out: 0x6353d41d
+lwr :: offset: 0x58, out: 0x3a
+lwr :: offset: 0x59, out: 0x3af3
+lwr :: offset: 0x5a, out: 0x3af35a
+lwr :: offset: 0x5b, out: 0x3af35a9d
+lwr :: offset: 0x5c, out: 0xc4
+lwr :: offset: 0x5d, out: 0xc40b
+lwr :: offset: 0x5e, out: 0xc40bd4
+lwr :: offset: 0x5f, out: 0xffffffffc40bd413
+lwr :: offset: 0x60, out: 0x47
+lwr :: offset: 0x61, out: 0x47f5
+lwr :: offset: 0x62, out: 0x47f505
+lwr :: offset: 0x63, out: 0x47f50556
+lwr :: offset: 0x64, out: 0x9a
+lwr :: offset: 0x65, out: 0x9a08
+lwr :: offset: 0x66, out: 0x9a08a1
+lwr :: offset: 0x67, out: 0xffffffff9a08a180
+lwr :: offset: 0x68, out: 0x95
+lwr :: offset: 0x69, out: 0x9564
+lwr :: offset: 0x6a, out: 0x9564b7
+lwr :: offset: 0x6b, out: 0xffffffff9564b77f
+lwr :: offset: 0x6c, out: 0xd6
+lwr :: offset: 0x6d, out: 0xd6d2
+lwr :: offset: 0x6e, out: 0xd6d204
+lwr :: offset: 0x6f, out: 0xffffffffd6d2040f
+lwr :: offset: 0x70, out: 0xce
+lwr :: offset: 0x71, out: 0xcebc
+lwr :: offset: 0x72, out: 0xcebc82
+lwr :: offset: 0x73, out: 0xffffffffcebc8279
+lwr :: offset: 0x74, out: 0xb2
+lwr :: offset: 0x75, out: 0xb2c7
+lwr :: offset: 0x76, out: 0xb2c76b
+lwr :: offset: 0x77, out: 0xffffffffb2c76bbe
+lwr :: offset: 0x78, out: 0xb5
+lwr :: offset: 0x79, out: 0xb503
+lwr :: offset: 0x7a, out: 0xb5034c
+lwr :: offset: 0x7b, out: 0xffffffffb5034c2f
+lwr :: offset: 0x7c, out: 0x1f
+lwr :: offset: 0x7d, out: 0x1f18
+lwr :: offset: 0x7e, out: 0x1f18e4
+lwr :: offset: 0x7f, out: 0x1f18e4c7
+lwr :: offset: 0x80, out: 0x94
+lwr :: offset: 0x81, out: 0x94ff
+lwr :: offset: 0x82, out: 0x94ff52
+lwr :: offset: 0x83, out: 0xffffffff94ff52fc
+lwr :: offset: 0x84, out: 0x81
+lwr :: offset: 0x85, out: 0x81af
+lwr :: offset: 0x86, out: 0x81afa7
+lwr :: offset: 0x87, out: 0xffffffff81afa797
+lwr :: offset: 0x88, out: 0x31
+lwr :: offset: 0x89, out: 0x31d8
+lwr :: offset: 0x8a, out: 0x31d8d9
+lwr :: offset: 0x8b, out: 0x31d8d916
+lwr :: offset: 0x8c, out: 0x6d
+lwr :: offset: 0x8d, out: 0x6dfc
+lwr :: offset: 0x8e, out: 0x6dfc50
+lwr :: offset: 0x8f, out: 0x6dfc50ea
+lwr :: offset: 0x90, out: 0x36
+lwr :: offset: 0x91, out: 0x3654
+lwr :: offset: 0x92, out: 0x36549b
+lwr :: offset: 0x93, out: 0x36549bd6
+lwr :: offset: 0x94, out: 0x78
+lwr :: offset: 0x95, out: 0x78e8
+lwr :: offset: 0x96, out: 0x78e895
+lwr :: offset: 0x97, out: 0x78e895b1
+lwr :: offset: 0x98, out: 0x85
+lwr :: offset: 0x99, out: 0x85e0
+lwr :: offset: 0x9a, out: 0x85e0a6
+lwr :: offset: 0x9b, out: 0xffffffff85e0a631
+lwr :: offset: 0x9c, out: 0x9b
+lwr :: offset: 0x9d, out: 0x9b63
+lwr :: offset: 0x9e, out: 0x9b6325
+lwr :: offset: 0x9f, out: 0xffffffff9b63259b
+lwr :: offset: 0xa0, out: 0x55
+lwr :: offset: 0xa1, out: 0x556b
+lwr :: offset: 0xa2, out: 0x556b3e
+lwr :: offset: 0xa3, out: 0x556b3eca
+lwr :: offset: 0xa4, out: 0xcc
+lwr :: offset: 0xa5, out: 0xccf1
+lwr :: offset: 0xa6, out: 0xccf17a
+lwr :: offset: 0xa7, out: 0xffffffffccf17ac5
+lwr :: offset: 0xa8, out: 0xb4
+lwr :: offset: 0xa9, out: 0xb42f
+lwr :: offset: 0xaa, out: 0xb42f5f
+lwr :: offset: 0xab, out: 0xffffffffb42f5fc5
+lwr :: offset: 0xac, out: 0x81
+lwr :: offset: 0xad, out: 0x81ee
+lwr :: offset: 0xae, out: 0x81eea0
+lwr :: offset: 0xaf, out: 0xffffffff81eea0fb
+lwr :: offset: 0xb0, out: 0x25
+lwr :: offset: 0xb1, out: 0x25b5
+lwr :: offset: 0xb2, out: 0x25b50f
+lwr :: offset: 0xb3, out: 0x25b50fec
+lwr :: offset: 0xb4, out: 0x14
+lwr :: offset: 0xb5, out: 0x1468
+lwr :: offset: 0xb6, out: 0x14682d
+lwr :: offset: 0xb7, out: 0x14682d97
+lwr :: offset: 0xb8, out: 0xfc
+lwr :: offset: 0xb9, out: 0xfc93
+lwr :: offset: 0xba, out: 0xfc93c5
+lwr :: offset: 0xbb, out: 0xfffffffffc93c513
+lwr :: offset: 0xbc, out: 0x2c
+lwr :: offset: 0xbd, out: 0x2cfb
+lwr :: offset: 0xbe, out: 0x2cfb08
+lwr :: offset: 0xbf, out: 0x2cfb087a
+lwr :: offset: 0xc0, out: 0x3c
+lwr :: offset: 0xc1, out: 0x3c2c
+lwr :: offset: 0xc2, out: 0x3c2cd9
+lwr :: offset: 0xc3, out: 0x3c2cd9a9
+lwr :: offset: 0xc4, out: 0xcd
+lwr :: offset: 0xc5, out: 0xcda2
+lwr :: offset: 0xc6, out: 0xcda207
+lwr :: offset: 0xc7, out: 0xffffffffcda20766
+lwr :: offset: 0xc8, out: 0x17
+lwr :: offset: 0xc9, out: 0x1791
+lwr :: offset: 0xca, out: 0x179172
+lwr :: offset: 0xcb, out: 0x1791722a
+lwr :: offset: 0xcc, out: 0x7d
+lwr :: offset: 0xcd, out: 0x7d72
+lwr :: offset: 0xce, out: 0x7d72da
+lwr :: offset: 0xcf, out: 0x7d72da3e
+lwr :: offset: 0xd0, out: 0x8
+lwr :: offset: 0xd1, out: 0x87c
+lwr :: offset: 0xd2, out: 0x87cc9
+lwr :: offset: 0xd3, out: 0x87cc9d1
+lwr :: offset: 0xd4, out: 0x93
+lwr :: offset: 0xd5, out: 0x93ce
+lwr :: offset: 0xd6, out: 0x93ce24
+lwr :: offset: 0xd7, out: 0xffffffff93ce24ad
+lwr :: offset: 0xd8, out: 0x1d
+lwr :: offset: 0xd9, out: 0x1d2a
+lwr :: offset: 0xda, out: 0x1d2a75
+lwr :: offset: 0xdb, out: 0x1d2a7570
+lwr :: offset: 0xdc, out: 0x38
+lwr :: offset: 0xdd, out: 0x3898
+lwr :: offset: 0xde, out: 0x38984e
+lwr :: offset: 0xdf, out: 0x38984ed2
+lwr :: offset: 0xe0, out: 0xd0
+lwr :: offset: 0xe1, out: 0xd0d0
+lwr :: offset: 0xe2, out: 0xd0d070
+lwr :: offset: 0xe3, out: 0xffffffffd0d070db
+lwr :: offset: 0xe4, out: 0x71
+lwr :: offset: 0xe5, out: 0x710c
+lwr :: offset: 0xe6, out: 0x710cd0
+lwr :: offset: 0xe7, out: 0x710cd036
+lwr :: offset: 0xe8, out: 0x39
+lwr :: offset: 0xe9, out: 0x39c2
+lwr :: offset: 0xea, out: 0x39c21c
+lwr :: offset: 0xeb, out: 0x39c21c7d
+lwr :: offset: 0xec, out: 0x3
+lwr :: offset: 0xed, out: 0x341
+lwr :: offset: 0xee, out: 0x34156
+lwr :: offset: 0xef, out: 0x3415604
+lwr :: offset: 0xf0, out: 0x8e
+lwr :: offset: 0xf1, out: 0x8e94
+lwr :: offset: 0xf2, out: 0x8e94b7
+lwr :: offset: 0xf3, out: 0xffffffff8e94b7af
+lwr :: offset: 0xf4, out: 0x8e
+lwr :: offset: 0xf5, out: 0x8ecc
+lwr :: offset: 0xf6, out: 0x8ecc31
+lwr :: offset: 0xf7, out: 0xffffffff8ecc31ce
+lwr :: offset: 0xf8, out: 0x24
+lwr :: offset: 0xf9, out: 0x24eb
+lwr :: offset: 0xfa, out: 0x24eb6a
+lwr :: offset: 0xfb, out: 0x24eb6a8d
+lwr :: offset: 0xfc, out: 0x1c
+lwr :: offset: 0xfd, out: 0x1ce7
+lwr :: offset: 0xfe, out: 0x1ce767
+lwr :: offset: 0xff, out: 0x1ce7674f
+lwr :: offset: 0x100, out: 0x2f
+lwr :: offset: 0x101, out: 0x2f39
+lwr :: offset: 0x102, out: 0x2f3945
+lwr :: offset: 0x103, out: 0x2f394544
+lwr :: offset: 0x104, out: 0x12
+lwr :: offset: 0x105, out: 0x12d6
+lwr :: offset: 0x106, out: 0x12d6e4
+lwr :: offset: 0x107, out: 0x12d6e4a7
+lwr :: offset: 0x108, out: 0x26
+lwr :: offset: 0x109, out: 0x2608
+lwr :: offset: 0x10a, out: 0x2608c2
+lwr :: offset: 0x10b, out: 0x2608c2b7
+lwr :: offset: 0x10c, out: 0x56
+lwr :: offset: 0x10d, out: 0x56da
+lwr :: offset: 0x10e, out: 0x56da4c
+lwr :: offset: 0x10f, out: 0x56da4c54
+lwr :: offset: 0x110, out: 0x90
+lwr :: offset: 0x111, out: 0x9001
+lwr :: offset: 0x112, out: 0x900102
+lwr :: offset: 0x113, out: 0xffffffff900102da
+lwr :: offset: 0x114, out: 0xc8
+lwr :: offset: 0x115, out: 0xc8d7
+lwr :: offset: 0x116, out: 0xc8d725
+lwr :: offset: 0x117, out: 0xffffffffc8d7252f
+lwr :: offset: 0x118, out: 0xc8
+lwr :: offset: 0x119, out: 0xc890
+lwr :: offset: 0x11a, out: 0xc890d5
+lwr :: offset: 0x11b, out: 0xffffffffc890d5f1
+lwr :: offset: 0x11c, out: 0xf2
+lwr :: offset: 0x11d, out: 0xf2ef
+lwr :: offset: 0x11e, out: 0xf2efa4
+lwr :: offset: 0x11f, out: 0xfffffffff2efa4f7
+lwr :: offset: 0x120, out: 0xed
+lwr :: offset: 0x121, out: 0xed50
+lwr :: offset: 0x122, out: 0xed5005
+lwr :: offset: 0x123, out: 0xffffffffed5005cb
+lwr :: offset: 0x124, out: 0xc8
+lwr :: offset: 0x125, out: 0xc8b0
+lwr :: offset: 0x126, out: 0xc8b0a2
+lwr :: offset: 0x127, out: 0xffffffffc8b0a214
+lwr :: offset: 0x128, out: 0x31
+lwr :: offset: 0x129, out: 0x3147
+lwr :: offset: 0x12a, out: 0x314791
+lwr :: offset: 0x12b, out: 0x31479189
+lwr :: offset: 0x12c, out: 0x59
+lwr :: offset: 0x12d, out: 0x5991
+lwr :: offset: 0x12e, out: 0x599113
+lwr :: offset: 0x12f, out: 0x5991136c
+lwr :: offset: 0x130, out: 0xc6
+lwr :: offset: 0x131, out: 0xc6ee
+lwr :: offset: 0x132, out: 0xc6eecf
+lwr :: offset: 0x133, out: 0xffffffffc6eecff9
+lwr :: offset: 0x134, out: 0x9a
+lwr :: offset: 0x135, out: 0x9a2f
+lwr :: offset: 0x136, out: 0x9a2fb6
+lwr :: offset: 0x137, out: 0xffffffff9a2fb6f3
+lwr :: offset: 0x138, out: 0xa8
+lwr :: offset: 0x139, out: 0xa809
+lwr :: offset: 0x13a, out: 0xa80952
+lwr :: offset: 0x13b, out: 0xffffffffa8095212
+lwr :: offset: 0x13c, out: 0x38
+lwr :: offset: 0x13d, out: 0x3889
+lwr :: offset: 0x13e, out: 0x388952
+lwr :: offset: 0x13f, out: 0x38895270
+lwr :: offset: 0x140, out: 0x87
+lwr :: offset: 0x141, out: 0x8775
+lwr :: offset: 0x142, out: 0x87750a
+lwr :: offset: 0x143, out: 0xffffffff87750a04
+lwr :: offset: 0x144, out: 0xad
+lwr :: offset: 0x145, out: 0xad76
+lwr :: offset: 0x146, out: 0xad7650
+lwr :: offset: 0x147, out: 0xffffffffad765040
+lwr :: offset: 0x148, out: 0x2c
+lwr :: offset: 0x149, out: 0x2c3d
+lwr :: offset: 0x14a, out: 0x2c3de8
+lwr :: offset: 0x14b, out: 0x2c3de85e
+lwr :: offset: 0x14c, out: 0x84
+lwr :: offset: 0x14d, out: 0x84bb
+lwr :: offset: 0x14e, out: 0x84bb5a
+lwr :: offset: 0x14f, out: 0xffffffff84bb5a83
+lwr :: offset: 0x150, out: 0xae
+lwr :: offset: 0x151, out: 0xae6a
+lwr :: offset: 0x152, out: 0xae6aff
+lwr :: offset: 0x153, out: 0xffffffffae6aff8f
+lwr :: offset: 0x154, out: 0xc5
+lwr :: offset: 0x155, out: 0xc506
+lwr :: offset: 0x156, out: 0xc506aa
+lwr :: offset: 0x157, out: 0xffffffffc506aa67
+lwr :: offset: 0x158, out: 0xc0
+lwr :: offset: 0x159, out: 0xc071
+lwr :: offset: 0x15a, out: 0xc07112
+lwr :: offset: 0x15b, out: 0xffffffffc07112dd
+lwr :: offset: 0x15c, out: 0x60
+lwr :: offset: 0x15d, out: 0x60ed
+lwr :: offset: 0x15e, out: 0x60ed5e
+lwr :: offset: 0x15f, out: 0x60ed5ee3
+lwr :: offset: 0x160, out: 0xc4
+lwr :: offset: 0x161, out: 0xc4c7
+lwr :: offset: 0x162, out: 0xc4c770
+lwr :: offset: 0x163, out: 0xffffffffc4c770f6
+lwr :: offset: 0x164, out: 0x30
+lwr :: offset: 0x165, out: 0x30dc
+lwr :: offset: 0x166, out: 0x30dcca
+lwr :: offset: 0x167, out: 0x30dcca5a
+lwr :: offset: 0x168, out: 0xdf
+lwr :: offset: 0x169, out: 0xdfec
+lwr :: offset: 0x16a, out: 0xdfec2b
+lwr :: offset: 0x16b, out: 0xffffffffdfec2b23
+lwr :: offset: 0x16c, out: 0x83
+lwr :: offset: 0x16d, out: 0x83cd
+lwr :: offset: 0x16e, out: 0x83cd52
+lwr :: offset: 0x16f, out: 0xffffffff83cd5277
+lwr :: offset: 0x170, out: 0xd3
+lwr :: offset: 0x171, out: 0xd3ad
+lwr :: offset: 0x172, out: 0xd3adba
+lwr :: offset: 0x173, out: 0xffffffffd3adba26
+lwr :: offset: 0x174, out: 0xf
+lwr :: offset: 0x175, out: 0xff7
+lwr :: offset: 0x176, out: 0xff7d9
+lwr :: offset: 0x177, out: 0xff7d96b
+lwr :: offset: 0x178, out: 0x4a
+lwr :: offset: 0x179, out: 0x4ab4
+lwr :: offset: 0x17a, out: 0x4ab4aa
+lwr :: offset: 0x17b, out: 0x4ab4aa79
+lwr :: offset: 0x17c, out: 0x84
+lwr :: offset: 0x17d, out: 0x8418
+lwr :: offset: 0x17e, out: 0x8418c0
+lwr :: offset: 0x17f, out: 0xffffffff8418c00e
+lwr :: offset: 0x180, out: 0xbb
+lwr :: offset: 0x181, out: 0xbb8c
+lwr :: offset: 0x182, out: 0xbb8c03
+lwr :: offset: 0x183, out: 0xffffffffbb8c035e
+lwr :: offset: 0x184, out: 0xd
+lwr :: offset: 0x185, out: 0xde0
+lwr :: offset: 0x186, out: 0xde0f0
+lwr :: offset: 0x187, out: 0xde0f0b8
+lwr :: offset: 0x188, out: 0x33
+lwr :: offset: 0x189, out: 0x33b0
+lwr :: offset: 0x18a, out: 0x33b06f
+lwr :: offset: 0x18b, out: 0x33b06f54
+lwr :: offset: 0x18c, out: 0xa9
+lwr :: offset: 0x18d, out: 0xa97f
+lwr :: offset: 0x18e, out: 0xa97fdc
+lwr :: offset: 0x18f, out: 0xffffffffa97fdcf1
+lwr :: offset: 0x190, out: 0x77
+lwr :: offset: 0x191, out: 0x7743
+lwr :: offset: 0x192, out: 0x77433f
+lwr :: offset: 0x193, out: 0x77433f37
+lwr :: offset: 0x194, out: 0x3f
+lwr :: offset: 0x195, out: 0x3fd1
+lwr :: offset: 0x196, out: 0x3fd1c0
+lwr :: offset: 0x197, out: 0x3fd1c081
+lwr :: offset: 0x198, out: 0xec
+lwr :: offset: 0x199, out: 0xec91
+lwr :: offset: 0x19a, out: 0xec91d9
+lwr :: offset: 0x19b, out: 0xffffffffec91d993
+lwr :: offset: 0x19c, out: 0xc9
+lwr :: offset: 0x19d, out: 0xc921
+lwr :: offset: 0x19e, out: 0xc92195
+lwr :: offset: 0x19f, out: 0xffffffffc92195e4
+lwr :: offset: 0x1a0, out: 0x49
+lwr :: offset: 0x1a1, out: 0x49fb
+lwr :: offset: 0x1a2, out: 0x49fbf6
+lwr :: offset: 0x1a3, out: 0x49fbf6a7
+lwr :: offset: 0x1a4, out: 0x95
+lwr :: offset: 0x1a5, out: 0x95b1
+lwr :: offset: 0x1a6, out: 0x95b1a5
+lwr :: offset: 0x1a7, out: 0xffffffff95b1a5ab
+lwr :: offset: 0x1a8, out: 0x19
+lwr :: offset: 0x1a9, out: 0x1936
+lwr :: offset: 0x1aa, out: 0x193643
+lwr :: offset: 0x1ab, out: 0x19364378
+lwr :: offset: 0x1ac, out: 0xc7
+lwr :: offset: 0x1ad, out: 0xc7ce
+lwr :: offset: 0x1ae, out: 0xc7ce8d
+lwr :: offset: 0x1af, out: 0xffffffffc7ce8d1e
+lwr :: offset: 0x1b0, out: 0xb9
+lwr :: offset: 0x1b1, out: 0xb99e
+lwr :: offset: 0x1b2, out: 0xb99e8d
+lwr :: offset: 0x1b3, out: 0xffffffffb99e8def
+lwr :: offset: 0x1b4, out: 0x2f
+lwr :: offset: 0x1b5, out: 0x2f38
+lwr :: offset: 0x1b6, out: 0x2f3849
+lwr :: offset: 0x1b7, out: 0x2f384907
+lwr :: offset: 0x1b8, out: 0x47
+lwr :: offset: 0x1b9, out: 0x47ea
+lwr :: offset: 0x1ba, out: 0x47eacd
+lwr :: offset: 0x1bb, out: 0x47eacdcd
+lwr :: offset: 0x1bc, out: 0x58
+lwr :: offset: 0x1bd, out: 0x582b
+lwr :: offset: 0x1be, out: 0x582b12
+lwr :: offset: 0x1bf, out: 0x582b12fe
+lwr :: offset: 0x1c0, out: 0xd6
+lwr :: offset: 0x1c1, out: 0xd685
+lwr :: offset: 0x1c2, out: 0xd68588
+lwr :: offset: 0x1c3, out: 0xffffffffd685884e
+lwr :: offset: 0x1c4, out: 0x76
+lwr :: offset: 0x1c5, out: 0x7655
+lwr :: offset: 0x1c6, out: 0x76558c
+lwr :: offset: 0x1c7, out: 0x76558c4f
+lwr :: offset: 0x1c8, out: 0x61
+lwr :: offset: 0x1c9, out: 0x6168
+lwr :: offset: 0x1ca, out: 0x6168d6
+lwr :: offset: 0x1cb, out: 0x6168d62a
+lwr :: offset: 0x1cc, out: 0x34
+lwr :: offset: 0x1cd, out: 0x34c1
+lwr :: offset: 0x1ce, out: 0x34c195
+lwr :: offset: 0x1cf, out: 0x34c195c7
+lwr :: offset: 0x1d0, out: 0xd3
+lwr :: offset: 0x1d1, out: 0xd301
+lwr :: offset: 0x1d2, out: 0xd30169
+lwr :: offset: 0x1d3, out: 0xffffffffd3016989
+lwr :: offset: 0x1d4, out: 0x4d
+lwr :: offset: 0x1d5, out: 0x4df4
+lwr :: offset: 0x1d6, out: 0x4df474
+lwr :: offset: 0x1d7, out: 0x4df47405
+lwr :: offset: 0x1d8, out: 0x1c
+lwr :: offset: 0x1d9, out: 0x1ca1
+lwr :: offset: 0x1da, out: 0x1ca190
+lwr :: offset: 0x1db, out: 0x1ca190bf
+lwr :: offset: 0x1dc, out: 0x6c
+lwr :: offset: 0x1dd, out: 0x6cbb
+lwr :: offset: 0x1de, out: 0x6cbb06
+lwr :: offset: 0x1df, out: 0x6cbb06db
+lwr :: offset: 0x1e0, out: 0x58
+lwr :: offset: 0x1e1, out: 0x5830
+lwr :: offset: 0x1e2, out: 0x58300f
+lwr :: offset: 0x1e3, out: 0x58300f02
+lwr :: offset: 0x1e4, out: 0x9c
+lwr :: offset: 0x1e5, out: 0x9cae
+lwr :: offset: 0x1e6, out: 0x9cae39
+lwr :: offset: 0x1e7, out: 0xffffffff9cae393a
+lwr :: offset: 0x1e8, out: 0x9a
+lwr :: offset: 0x1e9, out: 0x9a99
+lwr :: offset: 0x1ea, out: 0x9a995f
+lwr :: offset: 0x1eb, out: 0xffffffff9a995fdb
+lwr :: offset: 0x1ec, out: 0xdc
+lwr :: offset: 0x1ed, out: 0xdc7e
+lwr :: offset: 0x1ee, out: 0xdc7ebc
+lwr :: offset: 0x1ef, out: 0xffffffffdc7ebc2d
+lwr :: offset: 0x1f0, out: 0x8a
+lwr :: offset: 0x1f1, out: 0x8a96
+lwr :: offset: 0x1f2, out: 0x8a9604
+lwr :: offset: 0x1f3, out: 0xffffffff8a96047b
+lwr :: offset: 0x1f4, out: 0xe3
+lwr :: offset: 0x1f5, out: 0xe340
+lwr :: offset: 0x1f6, out: 0xe3405b
+lwr :: offset: 0x1f7, out: 0xffffffffe3405b48
+lwr :: offset: 0x1f8, out: 0x75
+lwr :: offset: 0x1f9, out: 0x75bf
+lwr :: offset: 0x1fa, out: 0x75bfaf
+lwr :: offset: 0x1fb, out: 0x75bfafd2
+lwr :: offset: 0x1fc, out: 0xd5
+lwr :: offset: 0x1fd, out: 0xd519
+lwr :: offset: 0x1fe, out: 0xd519d3
+lwr :: offset: 0x1ff, out: 0xffffffffd519d322
+lwr :: offset: 0x200, out: 0xde
+lwr :: offset: 0x201, out: 0xde23
+lwr :: offset: 0x202, out: 0xde2308
+lwr :: offset: 0x203, out: 0xffffffffde230867
+lwr :: offset: 0x204, out: 0xa6
+lwr :: offset: 0x205, out: 0xa630
+lwr :: offset: 0x206, out: 0xa630f6
+lwr :: offset: 0x207, out: 0xffffffffa630f6ad
+lwr :: offset: 0x208, out: 0x2c
+lwr :: offset: 0x209, out: 0x2c0a
+lwr :: offset: 0x20a, out: 0x2c0a0c
+lwr :: offset: 0x20b, out: 0x2c0a0cf2
+lwr :: offset: 0x20c, out: 0x56
+lwr :: offset: 0x20d, out: 0x5610
+lwr :: offset: 0x20e, out: 0x561032
+lwr :: offset: 0x20f, out: 0x56103260
+lwr :: offset: 0x210, out: 0x94
+lwr :: offset: 0x211, out: 0x94a9
+lwr :: offset: 0x212, out: 0x94a905
+lwr :: offset: 0x213, out: 0xffffffff94a90544
+lwr :: offset: 0x214, out: 0x24
+lwr :: offset: 0x215, out: 0x249b
+lwr :: offset: 0x216, out: 0x249b18
+lwr :: offset: 0x217, out: 0x249b18ef
+lwr :: offset: 0x218, out: 0xf9
+lwr :: offset: 0x219, out: 0xf951
+lwr :: offset: 0x21a, out: 0xf9519f
+lwr :: offset: 0x21b, out: 0xfffffffff9519fb5
+lwr :: offset: 0x21c, out: 0x5b
+lwr :: offset: 0x21d, out: 0x5b56
+lwr :: offset: 0x21e, out: 0x5b56fc
+lwr :: offset: 0x21f, out: 0x5b56fcde
+lwr :: offset: 0x220, out: 0x81
+lwr :: offset: 0x221, out: 0x81da
+lwr :: offset: 0x222, out: 0x81daf8
+lwr :: offset: 0x223, out: 0xffffffff81daf820
+lwr :: offset: 0x224, out: 0x4
+lwr :: offset: 0x225, out: 0x468
+lwr :: offset: 0x226, out: 0x46831
+lwr :: offset: 0x227, out: 0x468319b
+lwr :: offset: 0x228, out: 0x8c
+lwr :: offset: 0x229, out: 0x8c61
+lwr :: offset: 0x22a, out: 0x8c61ca
+lwr :: offset: 0x22b, out: 0xffffffff8c61ca5a
+lwr :: offset: 0x22c, out: 0x57
+lwr :: offset: 0x22d, out: 0x5725
+lwr :: offset: 0x22e, out: 0x5725f2
+lwr :: offset: 0x22f, out: 0x5725f2ec
+lwr :: offset: 0x230, out: 0x8b
+lwr :: offset: 0x231, out: 0x8b95
+lwr :: offset: 0x232, out: 0x8b95a6
+lwr :: offset: 0x233, out: 0xffffffff8b95a6dd
+lwr :: offset: 0x234, out: 0xc2
+lwr :: offset: 0x235, out: 0xc25d
+lwr :: offset: 0x236, out: 0xc25dc8
+lwr :: offset: 0x237, out: 0xffffffffc25dc8bf
+lwr :: offset: 0x238, out: 0x30
+lwr :: offset: 0x239, out: 0x300c
+lwr :: offset: 0x23a, out: 0x300ce7
+lwr :: offset: 0x23b, out: 0x300ce751
+lwr :: offset: 0x23c, out: 0xda
+lwr :: offset: 0x23d, out: 0xdac6
+lwr :: offset: 0x23e, out: 0xdac616
+lwr :: offset: 0x23f, out: 0xffffffffdac6162f
+lwr :: offset: 0x240, out: 0x67
+lwr :: offset: 0x241, out: 0x6778
+lwr :: offset: 0x242, out: 0x6778fd
+lwr :: offset: 0x243, out: 0x6778fdf3
+lwr :: offset: 0x244, out: 0xba
+lwr :: offset: 0x245, out: 0xba52
+lwr :: offset: 0x246, out: 0xba52a8
+lwr :: offset: 0x247, out: 0xffffffffba52a850
+lwr :: offset: 0x248, out: 0xad
+lwr :: offset: 0x249, out: 0xad00
+lwr :: offset: 0x24a, out: 0xad00b1
+lwr :: offset: 0x24b, out: 0xffffffffad00b1f7
+lwr :: offset: 0x24c, out: 0xda
+lwr :: offset: 0x24d, out: 0xda78
+lwr :: offset: 0x24e, out: 0xda7847
+lwr :: offset: 0x24f, out: 0xffffffffda78479f
+lwr :: offset: 0x250, out: 0x8
+lwr :: offset: 0x251, out: 0x8d4
+lwr :: offset: 0x252, out: 0x8d441
+lwr :: offset: 0x253, out: 0x8d44168
+lwr :: offset: 0x254, out: 0xa6
+lwr :: offset: 0x255, out: 0xa6b6
+lwr :: offset: 0x256, out: 0xa6b6d9
+lwr :: offset: 0x257, out: 0xffffffffa6b6d98a
+lwr :: offset: 0x258, out: 0xf5
+lwr :: offset: 0x259, out: 0xf518
+lwr :: offset: 0x25a, out: 0xf51838
+lwr :: offset: 0x25b, out: 0xfffffffff518381d
+lwr :: offset: 0x25c, out: 0xce
+lwr :: offset: 0x25d, out: 0xce63
+lwr :: offset: 0x25e, out: 0xce6344
+lwr :: offset: 0x25f, out: 0xffffffffce634413
+lwr :: offset: 0x260, out: 0xe4
+lwr :: offset: 0x261, out: 0xe462
+lwr :: offset: 0x262, out: 0xe4627f
+lwr :: offset: 0x263, out: 0xffffffffe4627f3f
+lwr :: offset: 0x264, out: 0xe5
+lwr :: offset: 0x265, out: 0xe525
+lwr :: offset: 0x266, out: 0xe5255f
+lwr :: offset: 0x267, out: 0xffffffffe5255fc0
+lwr :: offset: 0x268, out: 0xcc
+lwr :: offset: 0x269, out: 0xccd3
+lwr :: offset: 0x26a, out: 0xccd392
+lwr :: offset: 0x26b, out: 0xffffffffccd392e1
+lwr :: offset: 0x26c, out: 0x76
+lwr :: offset: 0x26d, out: 0x7632
+lwr :: offset: 0x26e, out: 0x76321f
+lwr :: offset: 0x26f, out: 0x76321f28
+lwr :: offset: 0x270, out: 0x82
+lwr :: offset: 0x271, out: 0x8294
+lwr :: offset: 0x272, out: 0x829464
+lwr :: offset: 0x273, out: 0xffffffff82946494
+lwr :: offset: 0x274, out: 0x40
+lwr :: offset: 0x275, out: 0x4018
+lwr :: offset: 0x276, out: 0x4018fd
+lwr :: offset: 0x277, out: 0x4018fd8f
+lwr :: offset: 0x278, out: 0x15
+lwr :: offset: 0x279, out: 0x15d3
+lwr :: offset: 0x27a, out: 0x15d320
+lwr :: offset: 0x27b, out: 0x15d32040
+lwr :: offset: 0x27c, out: 0x52
+lwr :: offset: 0x27d, out: 0x52e8
+lwr :: offset: 0x27e, out: 0x52e8f0
+lwr :: offset: 0x27f, out: 0x52e8f0e5
+lwr :: offset: 0x280, out: 0x7c
+lwr :: offset: 0x281, out: 0x7caf
+lwr :: offset: 0x282, out: 0x7caf83
+lwr :: offset: 0x283, out: 0x7caf83d2
+lwr :: offset: 0x284, out: 0x88
+lwr :: offset: 0x285, out: 0x880f
+lwr :: offset: 0x286, out: 0x880ff3
+lwr :: offset: 0x287, out: 0xffffffff880ff344
+lwr :: offset: 0x288, out: 0xf1
+lwr :: offset: 0x289, out: 0xf156
+lwr :: offset: 0x28a, out: 0xf156a0
+lwr :: offset: 0x28b, out: 0xfffffffff156a04c
+lwr :: offset: 0x28c, out: 0x74
+lwr :: offset: 0x28d, out: 0x747d
+lwr :: offset: 0x28e, out: 0x747def
+lwr :: offset: 0x28f, out: 0x747defd7
+lwr :: offset: 0x290, out: 0x93
+lwr :: offset: 0x291, out: 0x93e2
+lwr :: offset: 0x292, out: 0x93e260
+lwr :: offset: 0x293, out: 0xffffffff93e2601c
+lwr :: offset: 0x294, out: 0xf
+lwr :: offset: 0x295, out: 0xf31
+lwr :: offset: 0x296, out: 0xf31d7
+lwr :: offset: 0x297, out: 0xf31d710
+lwr :: offset: 0x298, out: 0xe1
+lwr :: offset: 0x299, out: 0xe1e1
+lwr :: offset: 0x29a, out: 0xe1e1a6
+lwr :: offset: 0x29b, out: 0xffffffffe1e1a679
+lwr :: offset: 0x29c, out: 0x13
+lwr :: offset: 0x29d, out: 0x131c
+lwr :: offset: 0x29e, out: 0x131cd9
+lwr :: offset: 0x29f, out: 0x131cd933
+lwr :: offset: 0x2a0, out: 0x24
+lwr :: offset: 0x2a1, out: 0x2429
+lwr :: offset: 0x2a2, out: 0x24296b
+lwr :: offset: 0x2a3, out: 0x24296b75
+lwr :: offset: 0x2a4, out: 0xa7
+lwr :: offset: 0x2a5, out: 0xa76f
+lwr :: offset: 0x2a6, out: 0xa76fa4
+lwr :: offset: 0x2a7, out: 0xffffffffa76fa427
+lwr :: offset: 0x2a8, out: 0xd2
+lwr :: offset: 0x2a9, out: 0xd296
+lwr :: offset: 0x2aa, out: 0xd296e2
+lwr :: offset: 0x2ab, out: 0xffffffffd296e2d2
+lwr :: offset: 0x2ac, out: 0x13
+lwr :: offset: 0x2ad, out: 0x139e
+lwr :: offset: 0x2ae, out: 0x139ee5
+lwr :: offset: 0x2af, out: 0x139ee56a
+lwr :: offset: 0x2b0, out: 0x5a
+lwr :: offset: 0x2b1, out: 0x5a82
+lwr :: offset: 0x2b2, out: 0x5a8244
+lwr :: offset: 0x2b3, out: 0x5a82447f
+lwr :: offset: 0x2b4, out: 0x6d
+lwr :: offset: 0x2b5, out: 0x6dc2
+lwr :: offset: 0x2b6, out: 0x6dc2a5
+lwr :: offset: 0x2b7, out: 0x6dc2a5c0
+lwr :: offset: 0x2b8, out: 0x76
+lwr :: offset: 0x2b9, out: 0x76c8
+lwr :: offset: 0x2ba, out: 0x76c89e
+lwr :: offset: 0x2bb, out: 0x76c89e80
+lwr :: offset: 0x2bc, out: 0xc0
+lwr :: offset: 0x2bd, out: 0xc07d
+lwr :: offset: 0x2be, out: 0xc07dc1
+lwr :: offset: 0x2bf, out: 0xffffffffc07dc168
+lwr :: offset: 0x2c0, out: 0x7
+lwr :: offset: 0x2c1, out: 0x70d
+lwr :: offset: 0x2c2, out: 0x70dc3
+lwr :: offset: 0x2c3, out: 0x70dc345
+lwr :: offset: 0x2c4, out: 0x4b
+lwr :: offset: 0x2c5, out: 0x4bfe
+lwr :: offset: 0x2c6, out: 0x4bfe34
+lwr :: offset: 0x2c7, out: 0x4bfe348f
+lwr :: offset: 0x2c8, out: 0xbd
+lwr :: offset: 0x2c9, out: 0xbddc
+lwr :: offset: 0x2ca, out: 0xbddc71
+lwr :: offset: 0x2cb, out: 0xffffffffbddc7123
+lwr :: offset: 0x2cc, out: 0xdd
+lwr :: offset: 0x2cd, out: 0xdd6d
+lwr :: offset: 0x2ce, out: 0xdd6d24
+lwr :: offset: 0x2cf, out: 0xffffffffdd6d241b
+lwr :: offset: 0x2d0, out: 0xf6
+lwr :: offset: 0x2d1, out: 0xf62f
+lwr :: offset: 0x2d2, out: 0xf62fb7
+lwr :: offset: 0x2d3, out: 0xfffffffff62fb727
+lwr :: offset: 0x2d4, out: 0xa5
+lwr :: offset: 0x2d5, out: 0xa59f
+lwr :: offset: 0x2d6, out: 0xa59fce
+lwr :: offset: 0x2d7, out: 0xffffffffa59fcebe
+lwr :: offset: 0x2d8, out: 0x10
+lwr :: offset: 0x2d9, out: 0x109f
+lwr :: offset: 0x2da, out: 0x109f27
+lwr :: offset: 0x2db, out: 0x109f27e9
+lwr :: offset: 0x2dc, out: 0xf
+lwr :: offset: 0x2dd, out: 0xf9f
+lwr :: offset: 0x2de, out: 0xf9f46
+lwr :: offset: 0x2df, out: 0xf9f46fb
+lwr :: offset: 0x2e0, out: 0x3f
+lwr :: offset: 0x2e1, out: 0x3f63
+lwr :: offset: 0x2e2, out: 0x3f63da
+lwr :: offset: 0x2e3, out: 0x3f63daa9
+lwr :: offset: 0x2e4, out: 0xaf
+lwr :: offset: 0x2e5, out: 0xafd1
+lwr :: offset: 0x2e6, out: 0xafd199
+lwr :: offset: 0x2e7, out: 0xffffffffafd199d7
+lwr :: offset: 0x2e8, out: 0xdb
+lwr :: offset: 0x2e9, out: 0xdbcb
+lwr :: offset: 0x2ea, out: 0xdbcb31
+lwr :: offset: 0x2eb, out: 0xffffffffdbcb312e
+lwr :: offset: 0x2ec, out: 0xa3
+lwr :: offset: 0x2ed, out: 0xa3d4
+lwr :: offset: 0x2ee, out: 0xa3d484
+lwr :: offset: 0x2ef, out: 0xffffffffa3d484f2
+lwr :: offset: 0x2f0, out: 0x1f
+lwr :: offset: 0x2f1, out: 0x1f35
+lwr :: offset: 0x2f2, out: 0x1f353f
+lwr :: offset: 0x2f3, out: 0x1f353faa
+lwr :: offset: 0x2f4, out: 0xda
+lwr :: offset: 0x2f5, out: 0xda4f
+lwr :: offset: 0x2f6, out: 0xda4fe4
+lwr :: offset: 0x2f7, out: 0xffffffffda4fe4c6
+lwr :: offset: 0x2f8, out: 0x8b
+lwr :: offset: 0x2f9, out: 0x8b08
+lwr :: offset: 0x2fa, out: 0x8b086e
+lwr :: offset: 0x2fb, out: 0xffffffff8b086ee0
+lwr :: offset: 0x2fc, out: 0x71
+lwr :: offset: 0x2fd, out: 0x7150
+lwr :: offset: 0x2fe, out: 0x7150c2
+lwr :: offset: 0x2ff, out: 0x7150c260
+lwr :: offset: 0x300, out: 0xe5
+lwr :: offset: 0x301, out: 0xe547
+lwr :: offset: 0x302, out: 0xe54750
+lwr :: offset: 0x303, out: 0xffffffffe54750d5
+lwr :: offset: 0x304, out: 0xd9
+lwr :: offset: 0x305, out: 0xd925
+lwr :: offset: 0x306, out: 0xd9257f
+lwr :: offset: 0x307, out: 0xffffffffd9257f25
+lwr :: offset: 0x308, out: 0x3d
+lwr :: offset: 0x309, out: 0x3d69
+lwr :: offset: 0x30a, out: 0x3d6962
+lwr :: offset: 0x30b, out: 0x3d69625f
+lwr :: offset: 0x30c, out: 0xe9
+lwr :: offset: 0x30d, out: 0xe9a6
+lwr :: offset: 0x30e, out: 0xe9a6db
+lwr :: offset: 0x30f, out: 0xffffffffe9a6db5b
+lwr :: offset: 0x310, out: 0x70
+lwr :: offset: 0x311, out: 0x70a3
+lwr :: offset: 0x312, out: 0x70a3e0
+lwr :: offset: 0x313, out: 0x70a3e042
+lwr :: offset: 0x314, out: 0x43
+lwr :: offset: 0x315, out: 0x4340
+lwr :: offset: 0x316, out: 0x4340ac
+lwr :: offset: 0x317, out: 0x4340ac96
+lwr :: offset: 0x318, out: 0xc0
+lwr :: offset: 0x319, out: 0xc047
+lwr :: offset: 0x31a, out: 0xc0478f
+lwr :: offset: 0x31b, out: 0xffffffffc0478f03
+lwr :: offset: 0x31c, out: 0x69
+lwr :: offset: 0x31d, out: 0x6980
+lwr :: offset: 0x31e, out: 0x698017
+lwr :: offset: 0x31f, out: 0x6980171e
+lwr :: offset: 0x320, out: 0x3c
+lwr :: offset: 0x321, out: 0x3ce8
+lwr :: offset: 0x322, out: 0x3ce839
+lwr :: offset: 0x323, out: 0x3ce839a5
+lwr :: offset: 0x324, out: 0x1c
+lwr :: offset: 0x325, out: 0x1cf9
+lwr :: offset: 0x326, out: 0x1cf929
+lwr :: offset: 0x327, out: 0x1cf929e3
+lwr :: offset: 0x328, out: 0xe2
+lwr :: offset: 0x329, out: 0xe2fb
+lwr :: offset: 0x32a, out: 0xe2fbfa
+lwr :: offset: 0x32b, out: 0xffffffffe2fbfa89
+lwr :: offset: 0x32c, out: 0x5e
+lwr :: offset: 0x32d, out: 0x5eb6
+lwr :: offset: 0x32e, out: 0x5eb689
+lwr :: offset: 0x32f, out: 0x5eb68958
+lwr :: offset: 0x330, out: 0xd2
+lwr :: offset: 0x331, out: 0xd24b
+lwr :: offset: 0x332, out: 0xd24bb0
+lwr :: offset: 0x333, out: 0xffffffffd24bb05d
+lwr :: offset: 0x334, out: 0x76
+lwr :: offset: 0x335, out: 0x76ed
+lwr :: offset: 0x336, out: 0x76ed25
+lwr :: offset: 0x337, out: 0x76ed25b7
+lwr :: offset: 0x338, out: 0xe
+lwr :: offset: 0x339, out: 0xeb9
+lwr :: offset: 0x33a, out: 0xeb968
+lwr :: offset: 0x33b, out: 0xeb9682c
+lwr :: offset: 0x33c, out: 0x17
+lwr :: offset: 0x33d, out: 0x1703
+lwr :: offset: 0x33e, out: 0x170312
+lwr :: offset: 0x33f, out: 0x170312f1
+lwr :: offset: 0x340, out: 0x84
+lwr :: offset: 0x341, out: 0x8478
+lwr :: offset: 0x342, out: 0x847852
+lwr :: offset: 0x343, out: 0xffffffff84785280
+lwr :: offset: 0x344, out: 0xdd
+lwr :: offset: 0x345, out: 0xdd30
+lwr :: offset: 0x346, out: 0xdd301d
+lwr :: offset: 0x347, out: 0xffffffffdd301d0d
+lwr :: offset: 0x348, out: 0x17
+lwr :: offset: 0x349, out: 0x179c
+lwr :: offset: 0x34a, out: 0x179c77
+lwr :: offset: 0x34b, out: 0x179c77aa
+lwr :: offset: 0x34c, out: 0x1f
+lwr :: offset: 0x34d, out: 0x1f8f
+lwr :: offset: 0x34e, out: 0x1f8fd6
+lwr :: offset: 0x34f, out: 0x1f8fd6ef
+lwr :: offset: 0x350, out: 0x26
+lwr :: offset: 0x351, out: 0x2644
+lwr :: offset: 0x352, out: 0x26444c
+lwr :: offset: 0x353, out: 0x26444ced
+lwr :: offset: 0x354, out: 0x29
+lwr :: offset: 0x355, out: 0x2998
+lwr :: offset: 0x356, out: 0x299843
+lwr :: offset: 0x357, out: 0x2998436d
+lwr :: offset: 0x358, out: 0x7
+lwr :: offset: 0x359, out: 0x717
+lwr :: offset: 0x35a, out: 0x7175c
+lwr :: offset: 0x35b, out: 0x7175c9d
+lwr :: offset: 0x35c, out: 0xd5
+lwr :: offset: 0x35d, out: 0xd58c
+lwr :: offset: 0x35e, out: 0xd58ca7
+lwr :: offset: 0x35f, out: 0xffffffffd58ca708
+lwr :: offset: 0x360, out: 0x66
+lwr :: offset: 0x361, out: 0x663d
+lwr :: offset: 0x362, out: 0x663d06
+lwr :: offset: 0x363, out: 0x663d0610
+lwr :: offset: 0x364, out: 0x55
+lwr :: offset: 0x365, out: 0x5583
+lwr :: offset: 0x366, out: 0x558332
+lwr :: offset: 0x367, out: 0x55833287
+lwr :: offset: 0x368, out: 0xab
+lwr :: offset: 0x369, out: 0xab7d
+lwr :: offset: 0x36a, out: 0xab7dd0
+lwr :: offset: 0x36b, out: 0xffffffffab7dd048
+lwr :: offset: 0x36c, out: 0x89
+lwr :: offset: 0x36d, out: 0x8951
+lwr :: offset: 0x36e, out: 0x8951d6
+lwr :: offset: 0x36f, out: 0xffffffff8951d68b
+lwr :: offset: 0x370, out: 0xf6
+lwr :: offset: 0x371, out: 0xf698
+lwr :: offset: 0x372, out: 0xf69823
+lwr :: offset: 0x373, out: 0xfffffffff6982367
+lwr :: offset: 0x374, out: 0xe
+lwr :: offset: 0x375, out: 0xe82
+lwr :: offset: 0x376, out: 0xe8247
+lwr :: offset: 0x377, out: 0xe82471b
+lwr :: offset: 0x378, out: 0x36
+lwr :: offset: 0x379, out: 0x3688
+lwr :: offset: 0x37a, out: 0x36886c
+lwr :: offset: 0x37b, out: 0x36886c59
+lwr :: offset: 0x37c, out: 0xd9
+lwr :: offset: 0x37d, out: 0xd98d
+lwr :: offset: 0x37e, out: 0xd98d26
+lwr :: offset: 0x37f, out: 0xffffffffd98d26b2
+lwr :: offset: 0x380, out: 0x9
+lwr :: offset: 0x381, out: 0x9ca
+lwr :: offset: 0x382, out: 0x9ca4b
+lwr :: offset: 0x383, out: 0x9ca4bdb
+lwr :: offset: 0x384, out: 0xd3
+lwr :: offset: 0x385, out: 0xd32b
+lwr :: offset: 0x386, out: 0xd32be4
+lwr :: offset: 0x387, out: 0xffffffffd32be479
+lwr :: offset: 0x388, out: 0xfd
+lwr :: offset: 0x389, out: 0xfd5d
+lwr :: offset: 0x38a, out: 0xfd5d7d
+lwr :: offset: 0x38b, out: 0xfffffffffd5d7d1d
+lwr :: offset: 0x38c, out: 0x99
+lwr :: offset: 0x38d, out: 0x9962
+lwr :: offset: 0x38e, out: 0x9962e6
+lwr :: offset: 0x38f, out: 0xffffffff9962e61f
+lwr :: offset: 0x390, out: 0x3f
+lwr :: offset: 0x391, out: 0x3f46
+lwr :: offset: 0x392, out: 0x3f4655
+lwr :: offset: 0x393, out: 0x3f46553e
+lwr :: offset: 0x394, out: 0xca
+lwr :: offset: 0x395, out: 0xcad3
+lwr :: offset: 0x396, out: 0xcad374
+lwr :: offset: 0x397, out: 0xffffffffcad374df
+lwr :: offset: 0x398, out: 0x2e
+lwr :: offset: 0x399, out: 0x2e9a
+lwr :: offset: 0x39a, out: 0x2e9ab9
+lwr :: offset: 0x39b, out: 0x2e9ab97d
+lwr :: offset: 0x39c, out: 0x3e
+lwr :: offset: 0x39d, out: 0x3eed
+lwr :: offset: 0x39e, out: 0x3eedf2
+lwr :: offset: 0x39f, out: 0x3eedf2a7
+lwr :: offset: 0x3a0, out: 0x36
+lwr :: offset: 0x3a1, out: 0x36a6
+lwr :: offset: 0x3a2, out: 0x36a6f7
+lwr :: offset: 0x3a3, out: 0x36a6f7fa
+lwr :: offset: 0x3a4, out: 0x3c
+lwr :: offset: 0x3a5, out: 0x3c0c
+lwr :: offset: 0x3a6, out: 0x3c0c9f
+lwr :: offset: 0x3a7, out: 0x3c0c9f33
+lwr :: offset: 0x3a8, out: 0x8b
+lwr :: offset: 0x3a9, out: 0x8bb9
+lwr :: offset: 0x3aa, out: 0x8bb938
+lwr :: offset: 0x3ab, out: 0xffffffff8bb938e3
+lwr :: offset: 0x3ac, out: 0x15
+lwr :: offset: 0x3ad, out: 0x155e
+lwr :: offset: 0x3ae, out: 0x155ec9
+lwr :: offset: 0x3af, out: 0x155ec9dc
+lwr :: offset: 0x3b0, out: 0xd2
+lwr :: offset: 0x3b1, out: 0xd2df
+lwr :: offset: 0x3b2, out: 0xd2df25
+lwr :: offset: 0x3b3, out: 0xffffffffd2df25c4
+lwr :: offset: 0x3b4, out: 0x19
+lwr :: offset: 0x3b5, out: 0x1947
+lwr :: offset: 0x3b6, out: 0x194782
+lwr :: offset: 0x3b7, out: 0x19478206
+lwr :: offset: 0x3b8, out: 0xbc
+lwr :: offset: 0x3b9, out: 0xbc65
+lwr :: offset: 0x3ba, out: 0xbc65bf
+lwr :: offset: 0x3bb, out: 0xffffffffbc65bf27
+lwr :: offset: 0x3bc, out: 0xeb
+lwr :: offset: 0x3bd, out: 0xeb32
+lwr :: offset: 0x3be, out: 0xeb3218
+lwr :: offset: 0x3bf, out: 0xffffffffeb321825
+lwr :: offset: 0x3c0, out: 0xa8
+lwr :: offset: 0x3c1, out: 0xa8b0
+lwr :: offset: 0x3c2, out: 0xa8b08f
+lwr :: offset: 0x3c3, out: 0xffffffffa8b08fe6
+lwr :: offset: 0x3c4, out: 0x7a
+lwr :: offset: 0x3c5, out: 0x7a8b
+lwr :: offset: 0x3c6, out: 0x7a8bc7
+lwr :: offset: 0x3c7, out: 0x7a8bc7da
+lwr :: offset: 0x3c8, out: 0x85
+lwr :: offset: 0x3c9, out: 0x852b
+lwr :: offset: 0x3ca, out: 0x852b5b
+lwr :: offset: 0x3cb, out: 0xffffffff852b5bca
+lwr :: offset: 0x3cc, out: 0xf8
+lwr :: offset: 0x3cd, out: 0xf8df
+lwr :: offset: 0x3ce, out: 0xf8dfcd
+lwr :: offset: 0x3cf, out: 0xfffffffff8dfcde8
+lwr :: offset: 0x3d0, out: 0x4
+lwr :: offset: 0x3d1, out: 0x478
+lwr :: offset: 0x3d2, out: 0x47890
+lwr :: offset: 0x3d3, out: 0x478909b
+lwr :: offset: 0x3d4, out: 0x59
+lwr :: offset: 0x3d5, out: 0x59a9
+lwr :: offset: 0x3d6, out: 0x59a992
+lwr :: offset: 0x3d7, out: 0x59a99269
+lwr :: offset: 0x3d8, out: 0xbf
+lwr :: offset: 0x3d9, out: 0xbfb3
+lwr :: offset: 0x3da, out: 0xbfb31c
+lwr :: offset: 0x3db, out: 0xffffffffbfb31cc8
+lwr :: offset: 0x3dc, out: 0x78
+lwr :: offset: 0x3dd, out: 0x7857
+lwr :: offset: 0x3de, out: 0x785736
+lwr :: offset: 0x3df, out: 0x7857360f
+lwr :: offset: 0x3e0, out: 0xb6
+lwr :: offset: 0x3e1, out: 0xb665
+lwr :: offset: 0x3e2, out: 0xb665ed
+lwr :: offset: 0x3e3, out: 0xffffffffb665ed5e
+lwr :: offset: 0x3e4, out: 0x7f
+lwr :: offset: 0x3e5, out: 0x7f89
+lwr :: offset: 0x3e6, out: 0x7f89e9
+lwr :: offset: 0x3e7, out: 0x7f89e9a2
+lwr :: offset: 0x3e8, out: 0x15
+lwr :: offset: 0x3e9, out: 0x15da
+lwr :: offset: 0x3ea, out: 0x15da94
+lwr :: offset: 0x3eb, out: 0x15da9474
+lwr :: offset: 0x3ec, out: 0xb7
+lwr :: offset: 0x3ed, out: 0xb7a8
+lwr :: offset: 0x3ee, out: 0xb7a8d5
+lwr :: offset: 0x3ef, out: 0xffffffffb7a8d5e4
+lwr :: offset: 0x3f0, out: 0xf6
+lwr :: offset: 0x3f1, out: 0xf6b3
+lwr :: offset: 0x3f2, out: 0xf6b353
+lwr :: offset: 0x3f3, out: 0xfffffffff6b3537d
+lwr :: offset: 0x3f4, out: 0x2a
+lwr :: offset: 0x3f5, out: 0x2af9
+lwr :: offset: 0x3f6, out: 0x2af90f
+lwr :: offset: 0x3f7, out: 0x2af90fcc
+lwr :: offset: 0x3f8, out: 0x22
+lwr :: offset: 0x3f9, out: 0x223d
+lwr :: offset: 0x3fa, out: 0x223d7c
+lwr :: offset: 0x3fb, out: 0x223d7cfe
+lwr :: offset: 0x3fc, out: 0x2b
+lwr :: offset: 0x3fd, out: 0x2b96
+lwr :: offset: 0x3fe, out: 0x2b9618
+lwr :: offset: 0x3ff, out: 0x2b961897
+lwr :: offset: 0x400, out: 0x42
+lwr :: offset: 0x401, out: 0x420b
+lwr :: offset: 0x402, out: 0x420b34
+lwr :: offset: 0x403, out: 0x420b34f5
+lwr :: offset: 0x404, out: 0x33
+lwr :: offset: 0x405, out: 0x3373
+lwr :: offset: 0x406, out: 0x33734a
+lwr :: offset: 0x407, out: 0x33734a4b
+lwr :: offset: 0x408, out: 0x89
+lwr :: offset: 0x409, out: 0x897c
+lwr :: offset: 0x40a, out: 0x897c8c
+lwr :: offset: 0x40b, out: 0xffffffff897c8c8d
+lwr :: offset: 0x40c, out: 0xdd
+lwr :: offset: 0x40d, out: 0xdd46
+lwr :: offset: 0x40e, out: 0xdd46b3
+lwr :: offset: 0x40f, out: 0xffffffffdd46b33c
+lwr :: offset: 0x410, out: 0x7a
+lwr :: offset: 0x411, out: 0x7a38
+lwr :: offset: 0x412, out: 0x7a3874
+lwr :: offset: 0x413, out: 0x7a387445
+lwr :: offset: 0x414, out: 0xe3
+lwr :: offset: 0x415, out: 0xe392
+lwr :: offset: 0x416, out: 0xe392cc
+lwr :: offset: 0x417, out: 0xffffffffe392ccd9
+lwr :: offset: 0x418, out: 0x51
+lwr :: offset: 0x419, out: 0x512f
+lwr :: offset: 0x41a, out: 0x512f29
+lwr :: offset: 0x41b, out: 0x512f29b1
+lwr :: offset: 0x41c, out: 0xd8
+lwr :: offset: 0x41d, out: 0xd800
+lwr :: offset: 0x41e, out: 0xd80000
+lwr :: offset: 0x41f, out: 0xffffffffd80000c9
+lwr :: offset: 0x420, out: 0xea
+lwr :: offset: 0x421, out: 0xeade
+lwr :: offset: 0x422, out: 0xeaded5
+lwr :: offset: 0x423, out: 0xffffffffeaded5c5
+lwr :: offset: 0x424, out: 0x3d
+lwr :: offset: 0x425, out: 0x3dad
+lwr :: offset: 0x426, out: 0x3dad02
+lwr :: offset: 0x427, out: 0x3dad020a
+lwr :: offset: 0x428, out: 0x8a
+lwr :: offset: 0x429, out: 0x8a62
+lwr :: offset: 0x42a, out: 0x8a6229
+lwr :: offset: 0x42b, out: 0xffffffff8a6229d7
+lwr :: offset: 0x42c, out: 0x31
+lwr :: offset: 0x42d, out: 0x31ee
+lwr :: offset: 0x42e, out: 0x31eea3
+lwr :: offset: 0x42f, out: 0x31eea35b
+lwr :: offset: 0x430, out: 0x2c
+lwr :: offset: 0x431, out: 0x2c3c
+lwr :: offset: 0x432, out: 0x2c3c3f
+lwr :: offset: 0x433, out: 0x2c3c3f9e
+lwr :: offset: 0x434, out: 0x48
+lwr :: offset: 0x435, out: 0x4898
+lwr :: offset: 0x436, out: 0x489856
+lwr :: offset: 0x437, out: 0x48985649
+lwr :: offset: 0x438, out: 0x7f
+lwr :: offset: 0x439, out: 0x7ff6
+lwr :: offset: 0x43a, out: 0x7ff61e
+lwr :: offset: 0x43b, out: 0x7ff61e78
+lwr :: offset: 0x43c, out: 0xdc
+lwr :: offset: 0x43d, out: 0xdc9c
+lwr :: offset: 0x43e, out: 0xdc9c0b
+lwr :: offset: 0x43f, out: 0xffffffffdc9c0b77
+lwr :: offset: 0x440, out: 0x22
+lwr :: offset: 0x441, out: 0x2299
+lwr :: offset: 0x442, out: 0x2299b0
+lwr :: offset: 0x443, out: 0x2299b0e0
+lwr :: offset: 0x444, out: 0x1d
+lwr :: offset: 0x445, out: 0x1d5e
+lwr :: offset: 0x446, out: 0x1d5e68
+lwr :: offset: 0x447, out: 0x1d5e68ec
+lwr :: offset: 0x448, out: 0x7c
+lwr :: offset: 0x449, out: 0x7c3b
+lwr :: offset: 0x44a, out: 0x7c3b04
+lwr :: offset: 0x44b, out: 0x7c3b0467
+lwr :: offset: 0x44c, out: 0x3d
+lwr :: offset: 0x44d, out: 0x3d0c
+lwr :: offset: 0x44e, out: 0x3d0c6e
+lwr :: offset: 0x44f, out: 0x3d0c6e25
+lwr :: offset: 0x450, out: 0x16
+lwr :: offset: 0x451, out: 0x164e
+lwr :: offset: 0x452, out: 0x164e17
+lwr :: offset: 0x453, out: 0x164e17c1
+lwr :: offset: 0x454, out: 0xe7
+lwr :: offset: 0x455, out: 0xe7fb
+lwr :: offset: 0x456, out: 0xe7fb65
+lwr :: offset: 0x457, out: 0xffffffffe7fb6587
+lwr :: offset: 0x458, out: 0xfa
+lwr :: offset: 0x459, out: 0xfa4c
+lwr :: offset: 0x45a, out: 0xfa4ca2
+lwr :: offset: 0x45b, out: 0xfffffffffa4ca28b
+lwr :: offset: 0x45c, out: 0x56
+lwr :: offset: 0x45d, out: 0x56d4
+lwr :: offset: 0x45e, out: 0x56d495
+lwr :: offset: 0x45f, out: 0x56d4950b
+lwr :: offset: 0x460, out: 0xe5
+lwr :: offset: 0x461, out: 0xe5e9
+lwr :: offset: 0x462, out: 0xe5e9a3
+lwr :: offset: 0x463, out: 0xffffffffe5e9a314
+lwr :: offset: 0x464, out: 0xbe
+lwr :: offset: 0x465, out: 0xbe7f
+lwr :: offset: 0x466, out: 0xbe7fa0
+lwr :: offset: 0x467, out: 0xffffffffbe7fa08a
+lwr :: offset: 0x468, out: 0xf8
+lwr :: offset: 0x469, out: 0xf8be
+lwr :: offset: 0x46a, out: 0xf8be81
+lwr :: offset: 0x46b, out: 0xfffffffff8be8164
+lwr :: offset: 0x46c, out: 0x15
+lwr :: offset: 0x46d, out: 0x1596
+lwr :: offset: 0x46e, out: 0x159649
+lwr :: offset: 0x46f, out: 0x159649c5
+lwr :: offset: 0x470, out: 0x7c
+lwr :: offset: 0x471, out: 0x7ca3
+lwr :: offset: 0x472, out: 0x7ca325
+lwr :: offset: 0x473, out: 0x7ca32597
+lwr :: offset: 0x474, out: 0x84
+lwr :: offset: 0x475, out: 0x84e6
+lwr :: offset: 0x476, out: 0x84e69b
+lwr :: offset: 0x477, out: 0xffffffff84e69b17
+lwr :: offset: 0x478, out: 0xfc
+lwr :: offset: 0x479, out: 0xfc8d
+lwr :: offset: 0x47a, out: 0xfc8d54
+lwr :: offset: 0x47b, out: 0xfffffffffc8d543c
+lwr :: offset: 0x47c, out: 0xa1
+lwr :: offset: 0x47d, out: 0xa1f2
+lwr :: offset: 0x47e, out: 0xa1f24f
+lwr :: offset: 0x47f, out: 0xffffffffa1f24f5c
+lwr :: offset: 0x480, out: 0x4a
+lwr :: offset: 0x481, out: 0x4aeb
+lwr :: offset: 0x482, out: 0x4aeb6c
+lwr :: offset: 0x483, out: 0x4aeb6ca0
+lwr :: offset: 0x484, out: 0xe3
+lwr :: offset: 0x485, out: 0xe345
+lwr :: offset: 0x486, out: 0xe3459e
+lwr :: offset: 0x487, out: 0xffffffffe3459e36
+lwr :: offset: 0x488, out: 0xc5
+lwr :: offset: 0x489, out: 0xc532
+lwr :: offset: 0x48a, out: 0xc532e1
+lwr :: offset: 0x48b, out: 0xffffffffc532e18e
+lwr :: offset: 0x48c, out: 0x18
+lwr :: offset: 0x48d, out: 0x1879
+lwr :: offset: 0x48e, out: 0x187980
+lwr :: offset: 0x48f, out: 0x187980fa
+lwr :: offset: 0x490, out: 0xb3
+lwr :: offset: 0x491, out: 0xb3fd
+lwr :: offset: 0x492, out: 0xb3fdec
+lwr :: offset: 0x493, out: 0xffffffffb3fdec29
+lwr :: offset: 0x494, out: 0x4f
+lwr :: offset: 0x495, out: 0x4f28
+lwr :: offset: 0x496, out: 0x4f287d
+lwr :: offset: 0x497, out: 0x4f287d1c
+lwr :: offset: 0x498, out: 0xb6
+lwr :: offset: 0x499, out: 0xb620
+lwr :: offset: 0x49a, out: 0xb62066
+lwr :: offset: 0x49b, out: 0xffffffffb620660a
+lwr :: offset: 0x49c, out: 0x49
+lwr :: offset: 0x49d, out: 0x4973
+lwr :: offset: 0x49e, out: 0x49732b
+lwr :: offset: 0x49f, out: 0x49732b90
+lwr :: offset: 0x4a0, out: 0x99
+lwr :: offset: 0x4a1, out: 0x9931
+lwr :: offset: 0x4a2, out: 0x993138
+lwr :: offset: 0x4a3, out: 0xffffffff993138f1
+lwr :: offset: 0x4a4, out: 0x6c
+lwr :: offset: 0x4a5, out: 0x6cfd
+lwr :: offset: 0x4a6, out: 0x6cfde9
+lwr :: offset: 0x4a7, out: 0x6cfde991
+lwr :: offset: 0x4a8, out: 0xde
+lwr :: offset: 0x4a9, out: 0xde02
+lwr :: offset: 0x4aa, out: 0xde02d1
+lwr :: offset: 0x4ab, out: 0xffffffffde02d133
+lwr :: offset: 0x4ac, out: 0x7d
+lwr :: offset: 0x4ad, out: 0x7d54
+lwr :: offset: 0x4ae, out: 0x7d5407
+lwr :: offset: 0x4af, out: 0x7d5407b9
+lwr :: offset: 0x4b0, out: 0x13
+lwr :: offset: 0x4b1, out: 0x13a3
+lwr :: offset: 0x4b2, out: 0x13a390
+lwr :: offset: 0x4b3, out: 0x13a390e1
+lwr :: offset: 0x4b4, out: 0xe1
+lwr :: offset: 0x4b5, out: 0xe1da
+lwr :: offset: 0x4b6, out: 0xe1dab1
+lwr :: offset: 0x4b7, out: 0xffffffffe1dab15a
+lwr :: offset: 0x4b8, out: 0x74
+lwr :: offset: 0x4b9, out: 0x7434
+lwr :: offset: 0x4ba, out: 0x743491
+lwr :: offset: 0x4bb, out: 0x743491a6
+lwr :: offset: 0x4bc, out: 0x82
+lwr :: offset: 0x4bd, out: 0x8287
+lwr :: offset: 0x4be, out: 0x828716
+lwr :: offset: 0x4bf, out: 0xffffffff828716c8
+lwr :: offset: 0x4c0, out: 0x8c
+lwr :: offset: 0x4c1, out: 0x8cff
+lwr :: offset: 0x4c2, out: 0x8cff40
+lwr :: offset: 0x4c3, out: 0xffffffff8cff404a
+lwr :: offset: 0x4c4, out: 0xed
+lwr :: offset: 0x4c5, out: 0xede2
+lwr :: offset: 0x4c6, out: 0xede292
+lwr :: offset: 0x4c7, out: 0xffffffffede292f2
+lwr :: offset: 0x4c8, out: 0xb9
+lwr :: offset: 0x4c9, out: 0xb9ce
+lwr :: offset: 0x4ca, out: 0xb9cec0
+lwr :: offset: 0x4cb, out: 0xffffffffb9cec0db
+lwr :: offset: 0x4cc, out: 0x1f
+lwr :: offset: 0x4cd, out: 0x1f83
+lwr :: offset: 0x4ce, out: 0x1f8376
+lwr :: offset: 0x4cf, out: 0x1f837636
+lwr :: offset: 0x4d0, out: 0x2e
+lwr :: offset: 0x4d1, out: 0x2eaa
+lwr :: offset: 0x4d2, out: 0x2eaa5a
+lwr :: offset: 0x4d3, out: 0x2eaa5aa7
+lwr :: offset: 0x4d4, out: 0x5
+lwr :: offset: 0x4d5, out: 0x509
+lwr :: offset: 0x4d6, out: 0x50977
+lwr :: offset: 0x4d7, out: 0x509771c
+lwr :: offset: 0x4d8, out: 0xd3
+lwr :: offset: 0x4d9, out: 0xd327
+lwr :: offset: 0x4da, out: 0xd32753
+lwr :: offset: 0x4db, out: 0xffffffffd327538e
+lwr :: offset: 0x4dc, out: 0x18
+lwr :: offset: 0x4dd, out: 0x1875
+lwr :: offset: 0x4de, out: 0x187524
+lwr :: offset: 0x4df, out: 0x1875241b
+lwr :: offset: 0x4e0, out: 0x42
+lwr :: offset: 0x4e1, out: 0x42e9
+lwr :: offset: 0x4e2, out: 0x42e9f8
+lwr :: offset: 0x4e3, out: 0x42e9f854
+lwr :: offset: 0x4e4, out: 0x8b
+lwr :: offset: 0x4e5, out: 0x8b73
+lwr :: offset: 0x4e6, out: 0x8b739b
+lwr :: offset: 0x4e7, out: 0xffffffff8b739b6b
+lwr :: offset: 0x4e8, out: 0x78
+lwr :: offset: 0x4e9, out: 0x78e4
+lwr :: offset: 0x4ea, out: 0x78e4e5
+lwr :: offset: 0x4eb, out: 0x78e4e50c
+lwr :: offset: 0x4ec, out: 0xec
+lwr :: offset: 0x4ed, out: 0xeccb
+lwr :: offset: 0x4ee, out: 0xeccbba
+lwr :: offset: 0x4ef, out: 0xffffffffeccbba1a
+lwr :: offset: 0x4f0, out: 0xf6
+lwr :: offset: 0x4f1, out: 0xf6b6
+lwr :: offset: 0x4f2, out: 0xf6b6fa
+lwr :: offset: 0x4f3, out: 0xfffffffff6b6fa3f
+lwr :: offset: 0x4f4, out: 0xcd
+lwr :: offset: 0x4f5, out: 0xcd9d
+lwr :: offset: 0x4f6, out: 0xcd9d27
+lwr :: offset: 0x4f7, out: 0xffffffffcd9d27cb
+lwr :: offset: 0x4f8, out: 0x73
+lwr :: offset: 0x4f9, out: 0x7391
+lwr :: offset: 0x4fa, out: 0x739164
+lwr :: offset: 0x4fb, out: 0x73916483
+lwr :: offset: 0x4fc, out: 0xae
+lwr :: offset: 0x4fd, out: 0xae3e
+lwr :: offset: 0x4fe, out: 0xae3e94
+lwr :: offset: 0x4ff, out: 0xffffffffae3e9423
+lwr :: offset: 0x500, out: 0x27
+lwr :: offset: 0x501, out: 0x276a
+lwr :: offset: 0x502, out: 0x276af7
+lwr :: offset: 0x503, out: 0x276af70a
+lwr :: offset: 0x504, out: 0xe
+lwr :: offset: 0x505, out: 0xe12
+lwr :: offset: 0x506, out: 0xe1285
+lwr :: offset: 0x507, out: 0xe128561
+lwr :: offset: 0x508, out: 0x3
+lwr :: offset: 0x509, out: 0x304
+lwr :: offset: 0x50a, out: 0x3045b
+lwr :: offset: 0x50b, out: 0x3045bf6
+lwr :: offset: 0x50c, out: 0xb5
+lwr :: offset: 0x50d, out: 0xb5e7
+lwr :: offset: 0x50e, out: 0xb5e74b
+lwr :: offset: 0x50f, out: 0xffffffffb5e74b6e
+lwr :: offset: 0x510, out: 0x20
+lwr :: offset: 0x511, out: 0x2022
+lwr :: offset: 0x512, out: 0x20223f
+lwr :: offset: 0x513, out: 0x20223f13
+lwr :: offset: 0x514, out: 0x8
+lwr :: offset: 0x515, out: 0x8ac
+lwr :: offset: 0x516, out: 0x8accf
+lwr :: offset: 0x517, out: 0x8accfa6
+lwr :: offset: 0x518, out: 0xf8
+lwr :: offset: 0x519, out: 0xf83c
+lwr :: offset: 0x51a, out: 0xf83c55
+lwr :: offset: 0x51b, out: 0xfffffffff83c5574
+lwr :: offset: 0x51c, out: 0x39
+lwr :: offset: 0x51d, out: 0x3976
+lwr :: offset: 0x51e, out: 0x3976b5
+lwr :: offset: 0x51f, out: 0x3976b5f5
+lwr :: offset: 0x520, out: 0x1f
+lwr :: offset: 0x521, out: 0x1f97
+lwr :: offset: 0x522, out: 0x1f9720
+lwr :: offset: 0x523, out: 0x1f9720f9
+lwr :: offset: 0x524, out: 0x46
+lwr :: offset: 0x525, out: 0x4692
+lwr :: offset: 0x526, out: 0x46923c
+lwr :: offset: 0x527, out: 0x46923c3d
+lwr :: offset: 0x528, out: 0x62
+lwr :: offset: 0x529, out: 0x620d
+lwr :: offset: 0x52a, out: 0x620d28
+lwr :: offset: 0x52b, out: 0x620d2850
+lwr :: offset: 0x52c, out: 0x6d
+lwr :: offset: 0x52d, out: 0x6d24
+lwr :: offset: 0x52e, out: 0x6d2448
+lwr :: offset: 0x52f, out: 0x6d2448dd
+lwr :: offset: 0x530, out: 0x60
+lwr :: offset: 0x531, out: 0x60a5
+lwr :: offset: 0x532, out: 0x60a521
+lwr :: offset: 0x533, out: 0x60a521e9
+lwr :: offset: 0x534, out: 0x9f
+lwr :: offset: 0x535, out: 0x9ff4
+lwr :: offset: 0x536, out: 0x9ff4a7
+lwr :: offset: 0x537, out: 0xffffffff9ff4a732
+lwr :: offset: 0x538, out: 0x5a
+lwr :: offset: 0x539, out: 0x5a08
+lwr :: offset: 0x53a, out: 0x5a08f3
+lwr :: offset: 0x53b, out: 0x5a08f3ab
+lwr :: offset: 0x53c, out: 0x5c
+lwr :: offset: 0x53d, out: 0x5c68
+lwr :: offset: 0x53e, out: 0x5c680f
+lwr :: offset: 0x53f, out: 0x5c680f0b
+lwr :: offset: 0x540, out: 0xc7
+lwr :: offset: 0x541, out: 0xc7a5
+lwr :: offset: 0x542, out: 0xc7a59b
+lwr :: offset: 0x543, out: 0xffffffffc7a59be7
+lwr :: offset: 0x544, out: 0x80
+lwr :: offset: 0x545, out: 0x800f
+lwr :: offset: 0x546, out: 0x800f3d
+lwr :: offset: 0x547, out: 0xffffffff800f3d26
+lwr :: offset: 0x548, out: 0x1a
+lwr :: offset: 0x549, out: 0x1aec
+lwr :: offset: 0x54a, out: 0x1aecdf
+lwr :: offset: 0x54b, out: 0x1aecdf29
+lwr :: offset: 0x54c, out: 0x82
+lwr :: offset: 0x54d, out: 0x82ca
+lwr :: offset: 0x54e, out: 0x82ca1b
+lwr :: offset: 0x54f, out: 0xffffffff82ca1b41
+lwr :: offset: 0x550, out: 0x2b
+lwr :: offset: 0x551, out: 0x2b86
+lwr :: offset: 0x552, out: 0x2b8613
+lwr :: offset: 0x553, out: 0x2b8613a2
+lwr :: offset: 0x554, out: 0x60
+lwr :: offset: 0x555, out: 0x60d1
+lwr :: offset: 0x556, out: 0x60d19d
+lwr :: offset: 0x557, out: 0x60d19dcd
+lwr :: offset: 0x558, out: 0x25
+lwr :: offset: 0x559, out: 0x2518
+lwr :: offset: 0x55a, out: 0x2518ac
+lwr :: offset: 0x55b, out: 0x2518ac8b
+lwr :: offset: 0x55c, out: 0xe
+lwr :: offset: 0x55d, out: 0xe8b
+lwr :: offset: 0x55e, out: 0xe8bbe
+lwr :: offset: 0x55f, out: 0xe8bbe7f
+lwr :: offset: 0x560, out: 0x74
+lwr :: offset: 0x561, out: 0x743e
+lwr :: offset: 0x562, out: 0x743e56
+lwr :: offset: 0x563, out: 0x743e568d
+lwr :: offset: 0x564, out: 0x2f
+lwr :: offset: 0x565, out: 0x2fcf
+lwr :: offset: 0x566, out: 0x2fcf48
+lwr :: offset: 0x567, out: 0x2fcf486b
+lwr :: offset: 0x568, out: 0x12
+lwr :: offset: 0x569, out: 0x126f
+lwr :: offset: 0x56a, out: 0x126f64
+lwr :: offset: 0x56b, out: 0x126f646f
+lwr :: offset: 0x56c, out: 0x34
+lwr :: offset: 0x56d, out: 0x34c3
+lwr :: offset: 0x56e, out: 0x34c317
+lwr :: offset: 0x56f, out: 0x34c31728
+lwr :: offset: 0x570, out: 0xaa
+lwr :: offset: 0x571, out: 0xaab0
+lwr :: offset: 0x572, out: 0xaab019
+lwr :: offset: 0x573, out: 0xffffffffaab01961
+lwr :: offset: 0x574, out: 0x56
+lwr :: offset: 0x575, out: 0x56fc
+lwr :: offset: 0x576, out: 0x56fc4d
+lwr :: offset: 0x577, out: 0x56fc4d12
+lwr :: offset: 0x578, out: 0x75
+lwr :: offset: 0x579, out: 0x7535
+lwr :: offset: 0x57a, out: 0x7535cd
+lwr :: offset: 0x57b, out: 0x7535cd33
+lwr :: offset: 0x57c, out: 0x85
+lwr :: offset: 0x57d, out: 0x8595
+lwr :: offset: 0x57e, out: 0x8595d3
+lwr :: offset: 0x57f, out: 0xffffffff8595d342
+lwr :: offset: 0x580, out: 0xdf
+lwr :: offset: 0x581, out: 0xdfb2
+lwr :: offset: 0x582, out: 0xdfb254
+lwr :: offset: 0x583, out: 0xffffffffdfb254da
+lwr :: offset: 0x584, out: 0x42
+lwr :: offset: 0x585, out: 0x4223
+lwr :: offset: 0x586, out: 0x422346
+lwr :: offset: 0x587, out: 0x422346ec
+lwr :: offset: 0x588, out: 0xa8
+lwr :: offset: 0x589, out: 0xa867
+lwr :: offset: 0x58a, out: 0xa86726
+lwr :: offset: 0x58b, out: 0xffffffffa86726c9
+lwr :: offset: 0x58c, out: 0x0
+lwr :: offset: 0x58d, out: 0x81
+lwr :: offset: 0x58e, out: 0x81ab
+lwr :: offset: 0x58f, out: 0x81ab2a
+lwr :: offset: 0x590, out: 0x9b
+lwr :: offset: 0x591, out: 0x9bfe
+lwr :: offset: 0x592, out: 0x9bfeff
+lwr :: offset: 0x593, out: 0xffffffff9bfeffa1
+lwr :: offset: 0x594, out: 0x67
+lwr :: offset: 0x595, out: 0x679d
+lwr :: offset: 0x596, out: 0x679d74
+lwr :: offset: 0x597, out: 0x679d7438
+lwr :: offset: 0x598, out: 0xc7
+lwr :: offset: 0x599, out: 0xc769
+lwr :: offset: 0x59a, out: 0xc76998
+lwr :: offset: 0x59b, out: 0xffffffffc7699826
+lwr :: offset: 0x59c, out: 0xb7
+lwr :: offset: 0x59d, out: 0xb7de
+lwr :: offset: 0x59e, out: 0xb7dee2
+lwr :: offset: 0x59f, out: 0xffffffffb7dee244
+lwr :: offset: 0x5a0, out: 0x3c
+lwr :: offset: 0x5a1, out: 0x3c07
+lwr :: offset: 0x5a2, out: 0x3c07af
+lwr :: offset: 0x5a3, out: 0x3c07af97
+lwr :: offset: 0x5a4, out: 0xfb
+lwr :: offset: 0x5a5, out: 0xfba6
+lwr :: offset: 0x5a6, out: 0xfba670
+lwr :: offset: 0x5a7, out: 0xfffffffffba6704a
+lwr :: offset: 0x5a8, out: 0x52
+lwr :: offset: 0x5a9, out: 0x5213
+lwr :: offset: 0x5aa, out: 0x521364
+lwr :: offset: 0x5ab, out: 0x521364dc
+lwr :: offset: 0x5ac, out: 0x4
+lwr :: offset: 0x5ad, out: 0x4c5
+lwr :: offset: 0x5ae, out: 0x4c58b
+lwr :: offset: 0x5af, out: 0x4c58bfe
+lwr :: offset: 0x5b0, out: 0xe0
+lwr :: offset: 0x5b1, out: 0xe0f7
+lwr :: offset: 0x5b2, out: 0xe0f7bb
+lwr :: offset: 0x5b3, out: 0xffffffffe0f7bb58
+lwr :: offset: 0x5b4, out: 0x9a
+lwr :: offset: 0x5b5, out: 0x9ab7
+lwr :: offset: 0x5b6, out: 0x9ab7ae
+lwr :: offset: 0x5b7, out: 0xffffffff9ab7aebc
+lwr :: offset: 0x5b8, out: 0xe3
+lwr :: offset: 0x5b9, out: 0xe336
+lwr :: offset: 0x5ba, out: 0xe336c6
+lwr :: offset: 0x5bb, out: 0xffffffffe336c60c
+lwr :: offset: 0x5bc, out: 0xde
+lwr :: offset: 0x5bd, out: 0xdeeb
+lwr :: offset: 0x5be, out: 0xdeeb95
+lwr :: offset: 0x5bf, out: 0xffffffffdeeb954d
+lwr :: offset: 0x5c0, out: 0xd5
+lwr :: offset: 0x5c1, out: 0xd5b2
+lwr :: offset: 0x5c2, out: 0xd5b212
+lwr :: offset: 0x5c3, out: 0xffffffffd5b2120c
+lwr :: offset: 0x5c4, out: 0x6f
+lwr :: offset: 0x5c5, out: 0x6f52
+lwr :: offset: 0x5c6, out: 0x6f5241
+lwr :: offset: 0x5c7, out: 0x6f52416e
+lwr :: offset: 0x5c8, out: 0x85
+lwr :: offset: 0x5c9, out: 0x85a2
+lwr :: offset: 0x5ca, out: 0x85a2d4
+lwr :: offset: 0x5cb, out: 0xffffffff85a2d4ff
+lwr :: offset: 0x5cc, out: 0x7e
+lwr :: offset: 0x5cd, out: 0x7e62
+lwr :: offset: 0x5ce, out: 0x7e628a
+lwr :: offset: 0x5cf, out: 0x7e628a34
+lwr :: offset: 0x5d0, out: 0x98
+lwr :: offset: 0x5d1, out: 0x986a
+lwr :: offset: 0x5d2, out: 0x986a2b
+lwr :: offset: 0x5d3, out: 0xffffffff986a2b65
+lwr :: offset: 0x5d4, out: 0x4a
+lwr :: offset: 0x5d5, out: 0x4a4e
+lwr :: offset: 0x5d6, out: 0x4a4e7e
+lwr :: offset: 0x5d7, out: 0x4a4e7e07
+lwr :: offset: 0x5d8, out: 0xa9
+lwr :: offset: 0x5d9, out: 0xa974
+lwr :: offset: 0x5da, out: 0xa974ea
+lwr :: offset: 0x5db, out: 0xffffffffa974eac4
+lwr :: offset: 0x5dc, out: 0x3a
+lwr :: offset: 0x5dd, out: 0x3a48
+lwr :: offset: 0x5de, out: 0x3a489b
+lwr :: offset: 0x5df, out: 0x3a489b55
+lwr :: offset: 0x5e0, out: 0xa3
+lwr :: offset: 0x5e1, out: 0xa388
+lwr :: offset: 0x5e2, out: 0xa388c1
+lwr :: offset: 0x5e3, out: 0xffffffffa388c162
+lwr :: offset: 0x5e4, out: 0x72
+lwr :: offset: 0x5e5, out: 0x72f1
+lwr :: offset: 0x5e6, out: 0x72f1f8
+lwr :: offset: 0x5e7, out: 0x72f1f8f5
+lwr :: offset: 0x5e8, out: 0xe8
+lwr :: offset: 0x5e9, out: 0xe8c1
+lwr :: offset: 0x5ea, out: 0xe8c11f
+lwr :: offset: 0x5eb, out: 0xffffffffe8c11f45
+lwr :: offset: 0x5ec, out: 0xe7
+lwr :: offset: 0x5ed, out: 0xe749
+lwr :: offset: 0x5ee, out: 0xe7495e
+lwr :: offset: 0x5ef, out: 0xffffffffe7495ea9
+lwr :: offset: 0x5f0, out: 0xad
+lwr :: offset: 0x5f1, out: 0xadaa
+lwr :: offset: 0x5f2, out: 0xadaa5a
+lwr :: offset: 0x5f3, out: 0xffffffffadaa5a76
+lwr :: offset: 0x5f4, out: 0x5c
+lwr :: offset: 0x5f5, out: 0x5cc1
+lwr :: offset: 0x5f6, out: 0x5cc1c8
+lwr :: offset: 0x5f7, out: 0x5cc1c8b4
+lwr :: offset: 0x5f8, out: 0x7a
+lwr :: offset: 0x5f9, out: 0x7ab4
+lwr :: offset: 0x5fa, out: 0x7ab4ce
+lwr :: offset: 0x5fb, out: 0x7ab4ce88
+lwr :: offset: 0x5fc, out: 0xdf
+lwr :: offset: 0x5fd, out: 0xdfa6
+lwr :: offset: 0x5fe, out: 0xdfa605
+lwr :: offset: 0x5ff, out: 0xffffffffdfa605c0
+lwr :: offset: 0x600, out: 0xb4
+lwr :: offset: 0x601, out: 0xb42a
+lwr :: offset: 0x602, out: 0xb42ad6
+lwr :: offset: 0x603, out: 0xffffffffb42ad6e6
+lwr :: offset: 0x604, out: 0x59
+lwr :: offset: 0x605, out: 0x59a7
+lwr :: offset: 0x606, out: 0x59a7b0
+lwr :: offset: 0x607, out: 0x59a7b04f
+lwr :: offset: 0x608, out: 0x4b
+lwr :: offset: 0x609, out: 0x4bf8
+lwr :: offset: 0x60a, out: 0x4bf848
+lwr :: offset: 0x60b, out: 0x4bf8485a
+lwr :: offset: 0x60c, out: 0xb7
+lwr :: offset: 0x60d, out: 0xb728
+lwr :: offset: 0x60e, out: 0xb72892
+lwr :: offset: 0x60f, out: 0xffffffffb728922f
+lwr :: offset: 0x610, out: 0x76
+lwr :: offset: 0x611, out: 0x76a3
+lwr :: offset: 0x612, out: 0x76a3d6
+lwr :: offset: 0x613, out: 0x76a3d60c
+lwr :: offset: 0x614, out: 0x3b
+lwr :: offset: 0x615, out: 0x3b66
+lwr :: offset: 0x616, out: 0x3b66a7
+lwr :: offset: 0x617, out: 0x3b66a7fb
+lwr :: offset: 0x618, out: 0x31
+lwr :: offset: 0x619, out: 0x31e0
+lwr :: offset: 0x61a, out: 0x31e0c6
+lwr :: offset: 0x61b, out: 0x31e0c6af
+lwr :: offset: 0x61c, out: 0xfd
+lwr :: offset: 0x61d, out: 0xfdc2
+lwr :: offset: 0x61e, out: 0xfdc28e
+lwr :: offset: 0x61f, out: 0xfffffffffdc28eda
+lwr :: offset: 0x620, out: 0x53
+lwr :: offset: 0x621, out: 0x5360
+lwr :: offset: 0x622, out: 0x53606b
+lwr :: offset: 0x623, out: 0x53606bb4
+lwr :: offset: 0x624, out: 0xbf
+lwr :: offset: 0x625, out: 0xbf0c
+lwr :: offset: 0x626, out: 0xbf0c99
+lwr :: offset: 0x627, out: 0xffffffffbf0c999d
+lwr :: offset: 0x628, out: 0x32
+lwr :: offset: 0x629, out: 0x32fc
+lwr :: offset: 0x62a, out: 0x32fc12
+lwr :: offset: 0x62b, out: 0x32fc12c8
+lwr :: offset: 0x62c, out: 0x1b
+lwr :: offset: 0x62d, out: 0x1b79
+lwr :: offset: 0x62e, out: 0x1b7919
+lwr :: offset: 0x62f, out: 0x1b7919f0
+lwr :: offset: 0x630, out: 0x3e
+lwr :: offset: 0x631, out: 0x3ef8
+lwr :: offset: 0x632, out: 0x3ef883
+lwr :: offset: 0x633, out: 0x3ef88384
+lwr :: offset: 0x634, out: 0xc7
+lwr :: offset: 0x635, out: 0xc72e
+lwr :: offset: 0x636, out: 0xc72efc
+lwr :: offset: 0x637, out: 0xffffffffc72efcd6
+lwr :: offset: 0x638, out: 0x38
+lwr :: offset: 0x639, out: 0x38b1
+lwr :: offset: 0x63a, out: 0x38b1c7
+lwr :: offset: 0x63b, out: 0x38b1c7bb
+lwr :: offset: 0x63c, out: 0x6a
+lwr :: offset: 0x63d, out: 0x6a2a
+lwr :: offset: 0x63e, out: 0x6a2a35
+lwr :: offset: 0x63f, out: 0x6a2a3580
+lwr :: offset: 0x640, out: 0x15
+lwr :: offset: 0x641, out: 0x15eb
+lwr :: offset: 0x642, out: 0x15ebf6
+lwr :: offset: 0x643, out: 0x15ebf612
+lwr :: offset: 0x644, out: 0x1d
+lwr :: offset: 0x645, out: 0x1dca
+lwr :: offset: 0x646, out: 0x1dca77
+lwr :: offset: 0x647, out: 0x1dca77c9
+lwr :: offset: 0x648, out: 0x5e
+lwr :: offset: 0x649, out: 0x5eaa
+lwr :: offset: 0x64a, out: 0x5eaacd
+lwr :: offset: 0x64b, out: 0x5eaacdd9
+lwr :: offset: 0x64c, out: 0xfd
+lwr :: offset: 0x64d, out: 0xfd91
+lwr :: offset: 0x64e, out: 0xfd9147
+lwr :: offset: 0x64f, out: 0xfffffffffd9147ae
+lwr :: offset: 0x650, out: 0xbb
+lwr :: offset: 0x651, out: 0xbb84
+lwr :: offset: 0x652, out: 0xbb8470
+lwr :: offset: 0x653, out: 0xffffffffbb8470f9
+lwr :: offset: 0x654, out: 0x81
+lwr :: offset: 0x655, out: 0x81e9
+lwr :: offset: 0x656, out: 0x81e911
+lwr :: offset: 0x657, out: 0xffffffff81e91117
+lwr :: offset: 0x658, out: 0x5
+lwr :: offset: 0x659, out: 0x5d4
+lwr :: offset: 0x65a, out: 0x5d42a
+lwr :: offset: 0x65b, out: 0x5d42aea
+lwr :: offset: 0x65c, out: 0xc6
+lwr :: offset: 0x65d, out: 0xc6a5
+lwr :: offset: 0x65e, out: 0xc6a532
+lwr :: offset: 0x65f, out: 0xffffffffc6a532e0
+lwr :: offset: 0x660, out: 0x14
+lwr :: offset: 0x661, out: 0x14ab
+lwr :: offset: 0x662, out: 0x14abf3
+lwr :: offset: 0x663, out: 0x14abf364
+lwr :: offset: 0x664, out: 0x19
+lwr :: offset: 0x665, out: 0x19fb
+lwr :: offset: 0x666, out: 0x19fb9e
+lwr :: offset: 0x667, out: 0x19fb9e63
+lwr :: offset: 0x668, out: 0x24
+lwr :: offset: 0x669, out: 0x249d
+lwr :: offset: 0x66a, out: 0x249d55
+lwr :: offset: 0x66b, out: 0x249d559a
+lwr :: offset: 0x66c, out: 0xa8
+lwr :: offset: 0x66d, out: 0xa8d7
+lwr :: offset: 0x66e, out: 0xa8d72a
+lwr :: offset: 0x66f, out: 0xffffffffa8d72aac
+lwr :: offset: 0x670, out: 0xc
+lwr :: offset: 0x671, out: 0xcd6
+lwr :: offset: 0x672, out: 0xcd676
+lwr :: offset: 0x673, out: 0xcd6764f
+lwr :: offset: 0x674, out: 0x8
+lwr :: offset: 0x675, out: 0x84b
+lwr :: offset: 0x676, out: 0x84b30
+lwr :: offset: 0x677, out: 0x84b30ec
+lwr :: offset: 0x678, out: 0x7f
+lwr :: offset: 0x679, out: 0x7f03
+lwr :: offset: 0x67a, out: 0x7f03ac
+lwr :: offset: 0x67b, out: 0x7f03ac07
+lwr :: offset: 0x67c, out: 0x92
+lwr :: offset: 0x67d, out: 0x9246
+lwr :: offset: 0x67e, out: 0x92468f
+lwr :: offset: 0x67f, out: 0xffffffff92468fdf
+lwr :: offset: 0x680, out: 0x7e
+lwr :: offset: 0x681, out: 0x7e35
+lwr :: offset: 0x682, out: 0x7e35ce
+lwr :: offset: 0x683, out: 0x7e35ce6d
+lwr :: offset: 0x684, out: 0x56
+lwr :: offset: 0x685, out: 0x56e6
+lwr :: offset: 0x686, out: 0x56e670
+lwr :: offset: 0x687, out: 0x56e670f5
+lwr :: offset: 0x688, out: 0x15
+lwr :: offset: 0x689, out: 0x1528
+lwr :: offset: 0x68a, out: 0x152828
+lwr :: offset: 0x68b, out: 0x15282859
+lwr :: offset: 0x68c, out: 0x1a
+lwr :: offset: 0x68d, out: 0x1a65
+lwr :: offset: 0x68e, out: 0x1a6527
+lwr :: offset: 0x68f, out: 0x1a652711
+lwr :: offset: 0x690, out: 0x9e
+lwr :: offset: 0x691, out: 0x9e1c
+lwr :: offset: 0x692, out: 0x9e1c32
+lwr :: offset: 0x693, out: 0xffffffff9e1c3283
+lwr :: offset: 0x694, out: 0xd2
+lwr :: offset: 0x695, out: 0xd215
+lwr :: offset: 0x696, out: 0xd215a9
+lwr :: offset: 0x697, out: 0xffffffffd215a9fb
+lwr :: offset: 0x698, out: 0x8d
+lwr :: offset: 0x699, out: 0x8d95
+lwr :: offset: 0x69a, out: 0x8d95c0
+lwr :: offset: 0x69b, out: 0xffffffff8d95c049
+lwr :: offset: 0x69c, out: 0x28
+lwr :: offset: 0x69d, out: 0x282a
+lwr :: offset: 0x69e, out: 0x282a04
+lwr :: offset: 0x69f, out: 0x282a0417
+lwr :: offset: 0x6a0, out: 0xf2
+lwr :: offset: 0x6a1, out: 0xf2e7
+lwr :: offset: 0x6a2, out: 0xf2e7a4
+lwr :: offset: 0x6a3, out: 0xfffffffff2e7a490
+lwr :: offset: 0x6a4, out: 0x97
+lwr :: offset: 0x6a5, out: 0x9780
+lwr :: offset: 0x6a6, out: 0x978058
+lwr :: offset: 0x6a7, out: 0xffffffff978058f3
+lwr :: offset: 0x6a8, out: 0x77
+lwr :: offset: 0x6a9, out: 0x775b
+lwr :: offset: 0x6aa, out: 0x775b4c
+lwr :: offset: 0x6ab, out: 0x775b4cca
+lwr :: offset: 0x6ac, out: 0x9
+lwr :: offset: 0x6ad, out: 0x975
+lwr :: offset: 0x6ae, out: 0x975b1
+lwr :: offset: 0x6af, out: 0x975b1aa
+lwr :: offset: 0x6b0, out: 0xa
+lwr :: offset: 0x6b1, out: 0xa2b
+lwr :: offset: 0x6b2, out: 0xa2b84
+lwr :: offset: 0x6b3, out: 0xa2b84a6
+lwr :: offset: 0x6b4, out: 0x35
+lwr :: offset: 0x6b5, out: 0x3511
+lwr :: offset: 0x6b6, out: 0x351110
+lwr :: offset: 0x6b7, out: 0x35111020
+lwr :: offset: 0x6b8, out: 0x2
+lwr :: offset: 0x6b9, out: 0x23f
+lwr :: offset: 0x6ba, out: 0x23fa0
+lwr :: offset: 0x6bb, out: 0x23fa0d3
+lwr :: offset: 0x6bc, out: 0xa7
+lwr :: offset: 0x6bd, out: 0xa7d8
+lwr :: offset: 0x6be, out: 0xa7d88b
+lwr :: offset: 0x6bf, out: 0xffffffffa7d88b6f
+lwr :: offset: 0x6c0, out: 0xa3
+lwr :: offset: 0x6c1, out: 0xa3d9
+lwr :: offset: 0x6c2, out: 0xa3d991
+lwr :: offset: 0x6c3, out: 0xffffffffa3d991b7
+lwr :: offset: 0x6c4, out: 0x99
+lwr :: offset: 0x6c5, out: 0x9941
+lwr :: offset: 0x6c6, out: 0x9941de
+lwr :: offset: 0x6c7, out: 0xffffffff9941dedd
+lwr :: offset: 0x6c8, out: 0x75
+lwr :: offset: 0x6c9, out: 0x751c
+lwr :: offset: 0x6ca, out: 0x751cb4
+lwr :: offset: 0x6cb, out: 0x751cb483
+lwr :: offset: 0x6cc, out: 0x5a
+lwr :: offset: 0x6cd, out: 0x5a0d
+lwr :: offset: 0x6ce, out: 0x5a0d95
+lwr :: offset: 0x6cf, out: 0x5a0d9508
+lwr :: offset: 0x6d0, out: 0x94
+lwr :: offset: 0x6d1, out: 0x949c
+lwr :: offset: 0x6d2, out: 0x949cad
+lwr :: offset: 0x6d3, out: 0xffffffff949cad35
+lwr :: offset: 0x6d4, out: 0x62
+lwr :: offset: 0x6d5, out: 0x625b
+lwr :: offset: 0x6d6, out: 0x625bb2
+lwr :: offset: 0x6d7, out: 0x625bb2d3
+lwr :: offset: 0x6d8, out: 0x7f
+lwr :: offset: 0x6d9, out: 0x7f56
+lwr :: offset: 0x6da, out: 0x7f567f
+lwr :: offset: 0x6db, out: 0x7f567f35
+lwr :: offset: 0x6dc, out: 0xa6
+lwr :: offset: 0x6dd, out: 0xa692
+lwr :: offset: 0x6de, out: 0xa69297
+lwr :: offset: 0x6df, out: 0xffffffffa6929739
+lwr :: offset: 0x6e0, out: 0x18
+lwr :: offset: 0x6e1, out: 0x185b
+lwr :: offset: 0x6e2, out: 0x185b88
+lwr :: offset: 0x6e3, out: 0x185b88e0
+lwr :: offset: 0x6e4, out: 0xdb
+lwr :: offset: 0x6e5, out: 0xdb8d
+lwr :: offset: 0x6e6, out: 0xdb8d7d
+lwr :: offset: 0x6e7, out: 0xffffffffdb8d7d27
+lwr :: offset: 0x6e8, out: 0x25
+lwr :: offset: 0x6e9, out: 0x255a
+lwr :: offset: 0x6ea, out: 0x255a4c
+lwr :: offset: 0x6eb, out: 0x255a4cd2
+lwr :: offset: 0x6ec, out: 0x2f
+lwr :: offset: 0x6ed, out: 0x2fd6
+lwr :: offset: 0x6ee, out: 0x2fd61b
+lwr :: offset: 0x6ef, out: 0x2fd61b91
+lwr :: offset: 0x6f0, out: 0x10
+lwr :: offset: 0x6f1, out: 0x1048
+lwr :: offset: 0x6f2, out: 0x1048d5
+lwr :: offset: 0x6f3, out: 0x1048d589
+lwr :: offset: 0x6f4, out: 0xa4
+lwr :: offset: 0x6f5, out: 0xa436
+lwr :: offset: 0x6f6, out: 0xa4363f
+lwr :: offset: 0x6f7, out: 0xffffffffa4363f7b
+lwr :: offset: 0x6f8, out: 0x6a
+lwr :: offset: 0x6f9, out: 0x6a6d
+lwr :: offset: 0x6fa, out: 0x6a6d57
+lwr :: offset: 0x6fb, out: 0x6a6d5708
+lwr :: offset: 0x6fc, out: 0xf4
+lwr :: offset: 0x6fd, out: 0xf460
+lwr :: offset: 0x6fe, out: 0xf46057
+lwr :: offset: 0x6ff, out: 0xfffffffff4605790
+lwr :: offset: 0x700, out: 0xd5
+lwr :: offset: 0x701, out: 0xd58e
+lwr :: offset: 0x702, out: 0xd58ecb
+lwr :: offset: 0x703, out: 0xffffffffd58ecbab
+lwr :: offset: 0x704, out: 0xde
+lwr :: offset: 0x705, out: 0xde35
+lwr :: offset: 0x706, out: 0xde3569
+lwr :: offset: 0x707, out: 0xffffffffde35697f
+lwr :: offset: 0x708, out: 0x57
+lwr :: offset: 0x709, out: 0x5755
+lwr :: offset: 0x70a, out: 0x575548
+lwr :: offset: 0x70b, out: 0x575548fd
+lwr :: offset: 0x70c, out: 0x8
+lwr :: offset: 0x70d, out: 0x8c0
+lwr :: offset: 0x70e, out: 0x8c0a5
+lwr :: offset: 0x70f, out: 0x8c0a5f1
+lwr :: offset: 0x710, out: 0x8b
+lwr :: offset: 0x711, out: 0x8bb6
+lwr :: offset: 0x712, out: 0x8bb640
+lwr :: offset: 0x713, out: 0xffffffff8bb640fb
+lwr :: offset: 0x714, out: 0x8e
+lwr :: offset: 0x715, out: 0x8ed9
+lwr :: offset: 0x716, out: 0x8ed98d
+lwr :: offset: 0x717, out: 0xffffffff8ed98ddb
+lwr :: offset: 0x718, out: 0xbe
+lwr :: offset: 0x719, out: 0xbe00
+lwr :: offset: 0x71a, out: 0xbe00d5
+lwr :: offset: 0x71b, out: 0xffffffffbe00d51e
+lwr :: offset: 0x71c, out: 0xab
+lwr :: offset: 0x71d, out: 0xabc5
+lwr :: offset: 0x71e, out: 0xabc578
+lwr :: offset: 0x71f, out: 0xffffffffabc578cc
+lwr :: offset: 0x720, out: 0x2f
+lwr :: offset: 0x721, out: 0x2f7e
+lwr :: offset: 0x722, out: 0x2f7e22
+lwr :: offset: 0x723, out: 0x2f7e224a
+lwr :: offset: 0x724, out: 0x1c
+lwr :: offset: 0x725, out: 0x1c17
+lwr :: offset: 0x726, out: 0x1c170a
+lwr :: offset: 0x727, out: 0x1c170ab2
+lwr :: offset: 0x728, out: 0xa9
+lwr :: offset: 0x729, out: 0xa978
+lwr :: offset: 0x72a, out: 0xa978f1
+lwr :: offset: 0x72b, out: 0xffffffffa978f12c
+lwr :: offset: 0x72c, out: 0xa2
+lwr :: offset: 0x72d, out: 0xa222
+lwr :: offset: 0x72e, out: 0xa22256
+lwr :: offset: 0x72f, out: 0xffffffffa22256a7
+lwr :: offset: 0x730, out: 0x99
+lwr :: offset: 0x731, out: 0x9950
+lwr :: offset: 0x732, out: 0x9950a9
+lwr :: offset: 0x733, out: 0xffffffff9950a93b
+lwr :: offset: 0x734, out: 0x81
+lwr :: offset: 0x735, out: 0x811e
+lwr :: offset: 0x736, out: 0x811ee0
+lwr :: offset: 0x737, out: 0xffffffff811ee02f
+lwr :: offset: 0x738, out: 0xb4
+lwr :: offset: 0x739, out: 0xb44e
+lwr :: offset: 0x73a, out: 0xb44eea
+lwr :: offset: 0x73b, out: 0xffffffffb44eea93
+lwr :: offset: 0x73c, out: 0xc6
+lwr :: offset: 0x73d, out: 0xc679
+lwr :: offset: 0x73e, out: 0xc6796a
+lwr :: offset: 0x73f, out: 0xffffffffc6796a0c
+lwr :: offset: 0x740, out: 0xfe
+lwr :: offset: 0x741, out: 0xfe71
+lwr :: offset: 0x742, out: 0xfe71fc
+lwr :: offset: 0x743, out: 0xfffffffffe71fca0
+lwr :: offset: 0x744, out: 0x6c
+lwr :: offset: 0x745, out: 0x6c0e
+lwr :: offset: 0x746, out: 0x6c0eb6
+lwr :: offset: 0x747, out: 0x6c0eb657
+lwr :: offset: 0x748, out: 0x4e
+lwr :: offset: 0x749, out: 0x4ed6
+lwr :: offset: 0x74a, out: 0x4ed639
+lwr :: offset: 0x74b, out: 0x4ed6393d
+lwr :: offset: 0x74c, out: 0xf8
+lwr :: offset: 0x74d, out: 0xf818
+lwr :: offset: 0x74e, out: 0xf818af
+lwr :: offset: 0x74f, out: 0xfffffffff818af57
+lwr :: offset: 0x750, out: 0xf2
+lwr :: offset: 0x751, out: 0xf22e
+lwr :: offset: 0x752, out: 0xf22e90
+lwr :: offset: 0x753, out: 0xfffffffff22e9020
+lwr :: offset: 0x754, out: 0x2
+lwr :: offset: 0x755, out: 0x236
+lwr :: offset: 0x756, out: 0x23677
+lwr :: offset: 0x757, out: 0x236770a
+lwr :: offset: 0x758, out: 0x81
+lwr :: offset: 0x759, out: 0x81ef
+lwr :: offset: 0x75a, out: 0x81efb6
+lwr :: offset: 0x75b, out: 0xffffffff81efb6c7
+lwr :: offset: 0x75c, out: 0xaf
+lwr :: offset: 0x75d, out: 0xafd0
+lwr :: offset: 0x75e, out: 0xafd0c4
+lwr :: offset: 0x75f, out: 0xffffffffafd0c45d
+lwr :: offset: 0x760, out: 0xee
+lwr :: offset: 0x761, out: 0xeed8
+lwr :: offset: 0x762, out: 0xeed8f3
+lwr :: offset: 0x763, out: 0xffffffffeed8f351
+lwr :: offset: 0x764, out: 0x81
+lwr :: offset: 0x765, out: 0x8102
+lwr :: offset: 0x766, out: 0x810231
+lwr :: offset: 0x767, out: 0xffffffff8102315b
+lwr :: offset: 0x768, out: 0xad
+lwr :: offset: 0x769, out: 0xadaf
+lwr :: offset: 0x76a, out: 0xadafef
+lwr :: offset: 0x76b, out: 0xffffffffadafefb9
+lwr :: offset: 0x76c, out: 0x99
+lwr :: offset: 0x76d, out: 0x995e
+lwr :: offset: 0x76e, out: 0x995efd
+lwr :: offset: 0x76f, out: 0xffffffff995efd5e
+lwr :: offset: 0x770, out: 0x34
+lwr :: offset: 0x771, out: 0x3406
+lwr :: offset: 0x772, out: 0x340619
+lwr :: offset: 0x773, out: 0x34061933
+lwr :: offset: 0x774, out: 0xeb
+lwr :: offset: 0x775, out: 0xeb25
+lwr :: offset: 0x776, out: 0xeb2530
+lwr :: offset: 0x777, out: 0xffffffffeb253086
+lwr :: offset: 0x778, out: 0x17
+lwr :: offset: 0x779, out: 0x1748
+lwr :: offset: 0x77a, out: 0x1748da
+lwr :: offset: 0x77b, out: 0x1748da26
+lwr :: offset: 0x77c, out: 0x4b
+lwr :: offset: 0x77d, out: 0x4b4c
+lwr :: offset: 0x77e, out: 0x4b4c52
+lwr :: offset: 0x77f, out: 0x4b4c52bc
+lwr :: offset: 0x780, out: 0x34
+lwr :: offset: 0x781, out: 0x34fd
+lwr :: offset: 0x782, out: 0x34fdfc
+lwr :: offset: 0x783, out: 0x34fdfc9a
+lwr :: offset: 0x784, out: 0x93
+lwr :: offset: 0x785, out: 0x9302
+lwr :: offset: 0x786, out: 0x9302be
+lwr :: offset: 0x787, out: 0xffffffff9302be89
+lwr :: offset: 0x788, out: 0xd0
+lwr :: offset: 0x789, out: 0xd002
+lwr :: offset: 0x78a, out: 0xd00278
+lwr :: offset: 0x78b, out: 0xffffffffd00278c3
+lwr :: offset: 0x78c, out: 0xc5
+lwr :: offset: 0x78d, out: 0xc521
+lwr :: offset: 0x78e, out: 0xc521d1
+lwr :: offset: 0x78f, out: 0xffffffffc521d180
+lwr :: offset: 0x790, out: 0xe9
+lwr :: offset: 0x791, out: 0xe909
+lwr :: offset: 0x792, out: 0xe90944
+lwr :: offset: 0x793, out: 0xffffffffe90944a4
+lwr :: offset: 0x794, out: 0xc1
+lwr :: offset: 0x795, out: 0xc1d3
+lwr :: offset: 0x796, out: 0xc1d37a
+lwr :: offset: 0x797, out: 0xffffffffc1d37a5d
+lwr :: offset: 0x798, out: 0x65
+lwr :: offset: 0x799, out: 0x65fd
+lwr :: offset: 0x79a, out: 0x65fd69
+lwr :: offset: 0x79b, out: 0x65fd698f
+lwr :: offset: 0x79c, out: 0xdd
+lwr :: offset: 0x79d, out: 0xddef
+lwr :: offset: 0x79e, out: 0xddef98
+lwr :: offset: 0x79f, out: 0xffffffffddef9839
+lwr :: offset: 0x7a0, out: 0xc4
+lwr :: offset: 0x7a1, out: 0xc49e
+lwr :: offset: 0x7a2, out: 0xc49ee3
+lwr :: offset: 0x7a3, out: 0xffffffffc49ee3ad
+lwr :: offset: 0x7a4, out: 0x81
+lwr :: offset: 0x7a5, out: 0x81b5
+lwr :: offset: 0x7a6, out: 0x81b5af
+lwr :: offset: 0x7a7, out: 0xffffffff81b5af52
+lwr :: offset: 0x7a8, out: 0x7a
+lwr :: offset: 0x7a9, out: 0x7aa9
+lwr :: offset: 0x7aa, out: 0x7aa941
+lwr :: offset: 0x7ab, out: 0x7aa941e8
+lwr :: offset: 0x7ac, out: 0xbd
+lwr :: offset: 0x7ad, out: 0xbdb2
+lwr :: offset: 0x7ae, out: 0xbdb263
+lwr :: offset: 0x7af, out: 0xffffffffbdb263e9
+lwr :: offset: 0x7b0, out: 0x37
+lwr :: offset: 0x7b1, out: 0x372c
+lwr :: offset: 0x7b2, out: 0x372c20
+lwr :: offset: 0x7b3, out: 0x372c209e
+lwr :: offset: 0x7b4, out: 0x42
+lwr :: offset: 0x7b5, out: 0x42f3
+lwr :: offset: 0x7b6, out: 0x42f3b5
+lwr :: offset: 0x7b7, out: 0x42f3b58d
+lwr :: offset: 0x7b8, out: 0x30
+lwr :: offset: 0x7b9, out: 0x30f8
+lwr :: offset: 0x7ba, out: 0x30f870
+lwr :: offset: 0x7bb, out: 0x30f870b7
+lwr :: offset: 0x7bc, out: 0xe1
+lwr :: offset: 0x7bd, out: 0xe122
+lwr :: offset: 0x7be, out: 0xe122a8
+lwr :: offset: 0x7bf, out: 0xffffffffe122a83b
+lwr :: offset: 0x7c0, out: 0x9e
+lwr :: offset: 0x7c1, out: 0x9e02
+lwr :: offset: 0x7c2, out: 0x9e02de
+lwr :: offset: 0x7c3, out: 0xffffffff9e02de4b
+lwr :: offset: 0x7c4, out: 0x67
+lwr :: offset: 0x7c5, out: 0x6789
+lwr :: offset: 0x7c6, out: 0x678930
+lwr :: offset: 0x7c7, out: 0x678930ec
+lwr :: offset: 0x7c8, out: 0xcd
+lwr :: offset: 0x7c9, out: 0xcd61
+lwr :: offset: 0x7ca, out: 0xcd61a8
+lwr :: offset: 0x7cb, out: 0xffffffffcd61a863
+lwr :: offset: 0x7cc, out: 0x98
+lwr :: offset: 0x7cd, out: 0x9826
+lwr :: offset: 0x7ce, out: 0x982663
+lwr :: offset: 0x7cf, out: 0xffffffff9826631e
+lwr :: offset: 0x7d0, out: 0xae
+lwr :: offset: 0x7d1, out: 0xae87
+lwr :: offset: 0x7d2, out: 0xae87bc
+lwr :: offset: 0x7d3, out: 0xffffffffae87bc89
+lwr :: offset: 0x7d4, out: 0x9a
+lwr :: offset: 0x7d5, out: 0x9a7b
+lwr :: offset: 0x7d6, out: 0x9a7bd3
+lwr :: offset: 0x7d7, out: 0xffffffff9a7bd3ca
+lwr :: offset: 0x7d8, out: 0x58
+lwr :: offset: 0x7d9, out: 0x58ec
+lwr :: offset: 0x7da, out: 0x58ec64
+lwr :: offset: 0x7db, out: 0x58ec644d
+lwr :: offset: 0x7dc, out: 0x64
+lwr :: offset: 0x7dd, out: 0x6481
+lwr :: offset: 0x7de, out: 0x6481af
+lwr :: offset: 0x7df, out: 0x6481af17
+lwr :: offset: 0x7e0, out: 0x68
+lwr :: offset: 0x7e1, out: 0x680c
+lwr :: offset: 0x7e2, out: 0x680cce
+lwr :: offset: 0x7e3, out: 0x680cce5f
+lwr :: offset: 0x7e4, out: 0xb2
+lwr :: offset: 0x7e5, out: 0xb236
+lwr :: offset: 0x7e6, out: 0xb236b6
+lwr :: offset: 0x7e7, out: 0xffffffffb236b666
+lwr :: offset: 0x7e8, out: 0x3b
+lwr :: offset: 0x7e9, out: 0x3baa
+lwr :: offset: 0x7ea, out: 0x3baa99
+lwr :: offset: 0x7eb, out: 0x3baa9947
+lwr :: offset: 0x7ec, out: 0x1f
+lwr :: offset: 0x7ed, out: 0x1f6d
+lwr :: offset: 0x7ee, out: 0x1f6d4d
+lwr :: offset: 0x7ef, out: 0x1f6d4d75
+lwr :: offset: 0x7f0, out: 0x61
+lwr :: offset: 0x7f1, out: 0x614d
+lwr :: offset: 0x7f2, out: 0x614d9b
+lwr :: offset: 0x7f3, out: 0x614d9b44
+lwr :: offset: 0x7f4, out: 0x5f
+lwr :: offset: 0x7f5, out: 0x5f12
+lwr :: offset: 0x7f6, out: 0x5f1223
+lwr :: offset: 0x7f7, out: 0x5f12236b
+lwr :: offset: 0x7f8, out: 0xa2
+lwr :: offset: 0x7f9, out: 0xa2a6
+lwr :: offset: 0x7fa, out: 0xa2a6ec
+lwr :: offset: 0x7fb, out: 0xffffffffa2a6ec66
+lwr :: offset: 0x7fc, out: 0x1b
+lwr :: offset: 0x7fd, out: 0x1ba8
+lwr :: offset: 0x7fe, out: 0x1ba841
+lwr :: offset: 0x7ff, out: 0x1ba84121
+lwu :: offset: 0x0, out: 0x0
+lwu :: offset: 0x4, out: 0x0
+lwu :: offset: 0x8, out: 0x9823b6e
+lwu :: offset: 0xc, out: 0xd4326d9
+lwu :: offset: 0x10, out: 0x130476dc
+lwu :: offset: 0x14, out: 0x17c56b6b
+lwu :: offset: 0x18, out: 0x1a864db2
+lwu :: offset: 0x1c, out: 0x1e475005
+lwu :: offset: 0x20, out: 0x2608edb8
+lwu :: offset: 0x24, out: 0x22c9f00f
+lwu :: offset: 0x28, out: 0x2f8ad6d6
+lwu :: offset: 0x2c, out: 0x2b4bcb61
+lwu :: offset: 0x30, out: 0x350c9b64
+lwu :: offset: 0x34, out: 0x31cd86d3
+lwu :: offset: 0x38, out: 0x3c8ea00a
+lwu :: offset: 0x3c, out: 0x384fbdbd
+lwu :: offset: 0x40, out: 0x4c11db70
+lwu :: offset: 0x44, out: 0x48d0c6c7
+lwu :: offset: 0x48, out: 0x4593e01e
+lwu :: offset: 0x4c, out: 0x4152fda9
+lwu :: offset: 0x50, out: 0x5f15adac
+lwu :: offset: 0x54, out: 0x5bd4b01b
+lwu :: offset: 0x58, out: 0x569796c2
+lwu :: offset: 0x5c, out: 0x52568b75
+lwu :: offset: 0x60, out: 0x6a1936c8
+lwu :: offset: 0x64, out: 0x6ed82b7f
+lwu :: offset: 0x68, out: 0x639b0da6
+lwu :: offset: 0x6c, out: 0x675a1011
+lwu :: offset: 0x70, out: 0x791d4014
+lwu :: offset: 0x74, out: 0x7ddc5da3
+lwu :: offset: 0x78, out: 0x709f7b7a
+lwu :: offset: 0x7c, out: 0x745e66cd
+lwu :: offset: 0x80, out: 0x9823b6e0
+lwu :: offset: 0x84, out: 0x9ce2ab57
+lwu :: offset: 0x88, out: 0x91a18d8e
+lwu :: offset: 0x8c, out: 0x95609039
+lwu :: offset: 0x90, out: 0x8b27c03c
+lwu :: offset: 0x94, out: 0x8fe6dd8b
+lwu :: offset: 0x98, out: 0x82a5fb52
+lwu :: offset: 0x9c, out: 0x8664e6e5
+lwu :: offset: 0xa0, out: 0xbe2b5b58
+lwu :: offset: 0xa4, out: 0xbaea46ef
+lwu :: offset: 0xa8, out: 0xb7a96036
+lwu :: offset: 0xac, out: 0xb3687d81
+lwu :: offset: 0xb0, out: 0xad2f2d84
+lwu :: offset: 0xb4, out: 0xa9ee3033
+lwu :: offset: 0xb8, out: 0xa4ad16ea
+lwu :: offset: 0xbc, out: 0xa06c0b5d
+lwu :: offset: 0xc0, out: 0xd4326d90
+lwu :: offset: 0xc4, out: 0xd0f37027
+lwu :: offset: 0xc8, out: 0xddb056fe
+lwu :: offset: 0xcc, out: 0xd9714b49
+lwu :: offset: 0xd0, out: 0xc7361b4c
+lwu :: offset: 0xd4, out: 0xc3f706fb
+lwu :: offset: 0xd8, out: 0xceb42022
+lwu :: offset: 0xdc, out: 0xca753d95
+lwu :: offset: 0xe0, out: 0xf23a8028
+lwu :: offset: 0xe4, out: 0xf6fb9d9f
+lwu :: offset: 0xe8, out: 0xfbb8bb46
+lwu :: offset: 0xec, out: 0xff79a6f1
+lwu :: offset: 0xf0, out: 0xe13ef6f4
+lwu :: offset: 0xf4, out: 0xe5ffeb43
+lwu :: offset: 0xf8, out: 0xe8bccd9a
+lwu :: offset: 0xfc, out: 0xec7dd02d
+lwu :: offset: 0x100, out: 0x34867077
+lwu :: offset: 0x104, out: 0x30476dc0
+lwu :: offset: 0x108, out: 0x3d044b19
+lwu :: offset: 0x10c, out: 0x39c556ae
+lwu :: offset: 0x110, out: 0x278206ab
+lwu :: offset: 0x114, out: 0x23431b1c
+lwu :: offset: 0x118, out: 0x2e003dc5
+lwu :: offset: 0x11c, out: 0x2ac12072
+lwu :: offset: 0x120, out: 0x128e9dcf
+lwu :: offset: 0x124, out: 0x164f8078
+lwu :: offset: 0x128, out: 0x1b0ca6a1
+lwu :: offset: 0x12c, out: 0x1fcdbb16
+lwu :: offset: 0x130, out: 0x18aeb13
+lwu :: offset: 0x134, out: 0x54bf6a4
+lwu :: offset: 0x138, out: 0x808d07d
+lwu :: offset: 0x13c, out: 0xcc9cdca
+lwu :: offset: 0x140, out: 0x7897ab07
+lwu :: offset: 0x144, out: 0x7c56b6b0
+lwu :: offset: 0x148, out: 0x71159069
+lwu :: offset: 0x14c, out: 0x75d48dde
+lwu :: offset: 0x150, out: 0x6b93dddb
+lwu :: offset: 0x154, out: 0x6f52c06c
+lwu :: offset: 0x158, out: 0x6211e6b5
+lwu :: offset: 0x15c, out: 0x66d0fb02
+lwu :: offset: 0x160, out: 0x5e9f46bf
+lwu :: offset: 0x164, out: 0x5a5e5b08
+lwu :: offset: 0x168, out: 0x571d7dd1
+lwu :: offset: 0x16c, out: 0x53dc6066
+lwu :: offset: 0x170, out: 0x4d9b3063
+lwu :: offset: 0x174, out: 0x495a2dd4
+lwu :: offset: 0x178, out: 0x44190b0d
+lwu :: offset: 0x17c, out: 0x40d816ba
+lwu :: offset: 0x180, out: 0xaca5c697
+lwu :: offset: 0x184, out: 0xa864db20
+lwu :: offset: 0x188, out: 0xa527fdf9
+lwu :: offset: 0x18c, out: 0xa1e6e04e
+lwu :: offset: 0x190, out: 0xbfa1b04b
+lwu :: offset: 0x194, out: 0xbb60adfc
+lwu :: offset: 0x198, out: 0xb6238b25
+lwu :: offset: 0x19c, out: 0xb2e29692
+lwu :: offset: 0x1a0, out: 0x8aad2b2f
+lwu :: offset: 0x1a4, out: 0x0
+lwu :: offset: 0x1a8, out: 0x0
+lwu :: offset: 0x1ac, out: 0x87ee0df6
+lwu :: offset: 0x1b0, out: 0x99a95df3
+lwu :: offset: 0x1b4, out: 0x9d684044
+lwu :: offset: 0x1b8, out: 0x902b669d
+lwu :: offset: 0x1bc, out: 0x94ea7b2a
+lwu :: offset: 0x1c0, out: 0xe0b41de7
+lwu :: offset: 0x1c4, out: 0xe4750050
+lwu :: offset: 0x1c8, out: 0xe9362689
+lwu :: offset: 0x1cc, out: 0xedf73b3e
+lwu :: offset: 0x1d0, out: 0xf3b06b3b
+lwu :: offset: 0x1d4, out: 0xf771768c
+lwu :: offset: 0x1d8, out: 0xfa325055
+lwu :: offset: 0x1dc, out: 0xfef34de2
+lwu :: offset: 0x1e0, out: 0xc6bcf05f
+lwu :: offset: 0x1e4, out: 0xc27dede8
+lwu :: offset: 0x1e8, out: 0xcf3ecb31
+lwu :: offset: 0x1ec, out: 0xcbffd686
+lwu :: offset: 0x1f0, out: 0xd5b88683
+lwu :: offset: 0x1f4, out: 0xd1799b34
+lwu :: offset: 0x1f8, out: 0xdc3abded
+lwu :: offset: 0x1fc, out: 0xd8fba05a
+lwu :: offset: 0x200, out: 0x690ce0ee
+lwu :: offset: 0x204, out: 0x6dcdfd59
+lwu :: offset: 0x208, out: 0x608edb80
+lwu :: offset: 0x20c, out: 0x644fc637
+lwu :: offset: 0x210, out: 0x7a089632
+lwu :: offset: 0x214, out: 0x7ec98b85
+lwu :: offset: 0x218, out: 0x738aad5c
+lwu :: offset: 0x21c, out: 0x774bb0eb
+lwu :: offset: 0x220, out: 0x4f040d56
+lwu :: offset: 0x224, out: 0x4bc510e1
+lwu :: offset: 0x228, out: 0x46863638
+lwu :: offset: 0x22c, out: 0x42472b8f
+lwu :: offset: 0x230, out: 0x5c007b8a
+lwu :: offset: 0x234, out: 0x58c1663d
+lwu :: offset: 0x238, out: 0x558240e4
+lwu :: offset: 0x23c, out: 0x51435d53
+lwu :: offset: 0x240, out: 0x251d3b9e
+lwu :: offset: 0x244, out: 0x21dc2629
+lwu :: offset: 0x248, out: 0x2c9f00f0
+lwu :: offset: 0x24c, out: 0x285e1d47
+lwu :: offset: 0x250, out: 0x36194d42
+lwu :: offset: 0x254, out: 0x32d850f5
+lwu :: offset: 0x258, out: 0x3f9b762c
+lwu :: offset: 0x25c, out: 0x3b5a6b9b
+lwu :: offset: 0x260, out: 0x315d626
+lwu :: offset: 0x264, out: 0x7d4cb91
+lwu :: offset: 0x268, out: 0xa97ed48
+lwu :: offset: 0x26c, out: 0xe56f0ff
+lwu :: offset: 0x270, out: 0x1011a0fa
+lwu :: offset: 0x274, out: 0x14d0bd4d
+lwu :: offset: 0x278, out: 0x19939b94
+lwu :: offset: 0x27c, out: 0x1d528623
+lwu :: offset: 0x280, out: 0xf12f560e
+lwu :: offset: 0x284, out: 0xf5ee4bb9
+lwu :: offset: 0x288, out: 0xf8ad6d60
+lwu :: offset: 0x28c, out: 0xfc6c70d7
+lwu :: offset: 0x290, out: 0xe22b20d2
+lwu :: offset: 0x294, out: 0xe6ea3d65
+lwu :: offset: 0x298, out: 0xeba91bbc
+lwu :: offset: 0x29c, out: 0xef68060b
+lwu :: offset: 0x2a0, out: 0xd727bbb6
+lwu :: offset: 0x2a4, out: 0xd3e6a601
+lwu :: offset: 0x2a8, out: 0xdea580d8
+lwu :: offset: 0x2ac, out: 0xda649d6f
+lwu :: offset: 0x2b0, out: 0xc423cd6a
+lwu :: offset: 0x2b4, out: 0x0
+lwu :: offset: 0x2b8, out: 0xcda1f604
+lwu :: offset: 0x2bc, out: 0x0
+lwu :: offset: 0x2c0, out: 0xbd3e8d7e
+lwu :: offset: 0x2c4, out: 0xb9ff90c9
+lwu :: offset: 0x2c8, out: 0xb4bcb610
+lwu :: offset: 0x2cc, out: 0xb07daba7
+lwu :: offset: 0x2d0, out: 0xae3afba2
+lwu :: offset: 0x2d4, out: 0xaafbe615
+lwu :: offset: 0x2d8, out: 0xa7b8c0cc
+lwu :: offset: 0x2dc, out: 0xa379dd7b
+lwu :: offset: 0x2e0, out: 0x9b3660c6
+lwu :: offset: 0x2e4, out: 0x9ff77d71
+lwu :: offset: 0x2e8, out: 0x92b45ba8
+lwu :: offset: 0x2ec, out: 0x9675461f
+lwu :: offset: 0x2f0, out: 0x8832161a
+lwu :: offset: 0x2f4, out: 0x8cf30bad
+lwu :: offset: 0x2f8, out: 0x81b02d74
+lwu :: offset: 0x2fc, out: 0x857130c3
+lwu :: offset: 0x300, out: 0x5d8a9099
+lwu :: offset: 0x304, out: 0x594b8d2e
+lwu :: offset: 0x308, out: 0x5408abf7
+lwu :: offset: 0x30c, out: 0x50c9b640
+lwu :: offset: 0x310, out: 0x4e8ee645
+lwu :: offset: 0x314, out: 0x4a4ffbf2
+lwu :: offset: 0x318, out: 0x470cdd2b
+lwu :: offset: 0x31c, out: 0x43cdc09c
+lwu :: offset: 0x320, out: 0x7b827d21
+lwu :: offset: 0x324, out: 0x7f436096
+lwu :: offset: 0x328, out: 0x7200464f
+lwu :: offset: 0x32c, out: 0x76c15bf8
+lwu :: offset: 0x330, out: 0x68860bfd
+lwu :: offset: 0x334, out: 0x6c47164a
+lwu :: offset: 0x338, out: 0x61043093
+lwu :: offset: 0x33c, out: 0x65c52d24
+lwu :: offset: 0x340, out: 0x119b4be9
+lwu :: offset: 0x344, out: 0x155a565e
+lwu :: offset: 0x348, out: 0x18197087
+lwu :: offset: 0x34c, out: 0x1cd86d30
+lwu :: offset: 0x350, out: 0x29f3d35
+lwu :: offset: 0x354, out: 0x65e2082
+lwu :: offset: 0x358, out: 0xb1d065b
+lwu :: offset: 0x35c, out: 0xfdc1bec
+lwu :: offset: 0x360, out: 0x3793a651
+lwu :: offset: 0x364, out: 0x3352bbe6
+lwu :: offset: 0x368, out: 0x3e119d3f
+lwu :: offset: 0x36c, out: 0x3ad08088
+lwu :: offset: 0x370, out: 0x2497d08d
+lwu :: offset: 0x374, out: 0x2056cd3a
+lwu :: offset: 0x378, out: 0x2d15ebe3
+lwu :: offset: 0x37c, out: 0x29d4f654
+lwu :: offset: 0x380, out: 0xc5a92679
+lwu :: offset: 0x384, out: 0xc1683bce
+lwu :: offset: 0x388, out: 0xcc2b1d17
+lwu :: offset: 0x38c, out: 0xc8ea00a0
+lwu :: offset: 0x390, out: 0xd6ad50a5
+lwu :: offset: 0x394, out: 0xd26c4d12
+lwu :: offset: 0x398, out: 0xdf2f6bcb
+lwu :: offset: 0x39c, out: 0xdbee767c
+lwu :: offset: 0x3a0, out: 0xe3a1cbc1
+lwu :: offset: 0x3a4, out: 0xe760d676
+lwu :: offset: 0x3a8, out: 0xea23f0af
+lwu :: offset: 0x3ac, out: 0xeee2ed18
+lwu :: offset: 0x3b0, out: 0xf0a5bd1d
+lwu :: offset: 0x3b4, out: 0xf464a0aa
+lwu :: offset: 0x3b8, out: 0xf9278673
+lwu :: offset: 0x3bc, out: 0xfde69bc4
+lwu :: offset: 0x3c0, out: 0x89b8fd09
+lwu :: offset: 0x3c4, out: 0x8d79e0be
+lwu :: offset: 0x3c8, out: 0x803ac667
+lwu :: offset: 0x3cc, out: 0x84fbdbd0
+lwu :: offset: 0x3d0, out: 0x9abc8bd5
+lwu :: offset: 0x3d4, out: 0x9e7d9662
+lwu :: offset: 0x3d8, out: 0x933eb0bb
+lwu :: offset: 0x3dc, out: 0x97ffad0c
+lwu :: offset: 0x3e0, out: 0xafb010b1
+lwu :: offset: 0x3e4, out: 0xab710d06
+lwu :: offset: 0x3e8, out: 0xa6322bdf
+lwu :: offset: 0x3ec, out: 0xa2f33668
+lwu :: offset: 0x3f0, out: 0xbcb4666d
+lwu :: offset: 0x3f4, out: 0xb8757bda
+lwu :: offset: 0x3f8, out: 0xb5365d03
+lwu :: offset: 0x3fc, out: 0xb1f740b4
+lwu :: offset: 0x0, out: 0x0
+lwu :: offset: 0x4, out: 0x12bd6aa
+lwu :: offset: 0x8, out: 0x7e8763
+lwu :: offset: 0xc, out: 0x82d2ab13
+lwu :: offset: 0x10, out: 0x976d6e9a
+lwu :: offset: 0x14, out: 0xc31510f3
+lwu :: offset: 0x18, out: 0xb7746d77
+lwu :: offset: 0x1c, out: 0x5ad6a5fb
+lwu :: offset: 0x20, out: 0x42b0c0a2
+lwu :: offset: 0x24, out: 0x8677b502
+lwu :: offset: 0x28, out: 0x2aa89d31
+lwu :: offset: 0x2c, out: 0x9e3c30ad
+lwu :: offset: 0x30, out: 0x1f308ec3
+lwu :: offset: 0x34, out: 0x77fb413d
+lwu :: offset: 0x38, out: 0x7aa04213
+lwu :: offset: 0x3c, out: 0xc760e4f7
+lwu :: offset: 0x40, out: 0x9e705cc5
+lwu :: offset: 0x44, out: 0x1ad8dca0
+lwu :: offset: 0x48, out: 0x4b3dda86
+lwu :: offset: 0x4c, out: 0x9615a60d
+lwu :: offset: 0x50, out: 0x5e7a4dd
+lwu :: offset: 0x54, out: 0x6353d41d
+lwu :: offset: 0x58, out: 0x3af35a9d
+lwu :: offset: 0x5c, out: 0xc40bd413
+lwu :: offset: 0x60, out: 0x47f50556
+lwu :: offset: 0x64, out: 0x9a08a180
+lwu :: offset: 0x68, out: 0x9564b77f
+lwu :: offset: 0x6c, out: 0xd6d2040f
+lwu :: offset: 0x70, out: 0xcebc8279
+lwu :: offset: 0x74, out: 0xb2c76bbe
+lwu :: offset: 0x78, out: 0xb5034c2f
+lwu :: offset: 0x7c, out: 0x1f18e4c7
+lwu :: offset: 0x80, out: 0x94ff52fc
+lwu :: offset: 0x84, out: 0x81afa797
+lwu :: offset: 0x88, out: 0x31d8d916
+lwu :: offset: 0x8c, out: 0x6dfc50ea
+lwu :: offset: 0x90, out: 0x36549bd6
+lwu :: offset: 0x94, out: 0x78e895b1
+lwu :: offset: 0x98, out: 0x85e0a631
+lwu :: offset: 0x9c, out: 0x9b63259b
+lwu :: offset: 0xa0, out: 0x556b3eca
+lwu :: offset: 0xa4, out: 0xccf17ac5
+lwu :: offset: 0xa8, out: 0xb42f5fc5
+lwu :: offset: 0xac, out: 0x81eea0fb
+lwu :: offset: 0xb0, out: 0x25b50fec
+lwu :: offset: 0xb4, out: 0x14682d97
+lwu :: offset: 0xb8, out: 0xfc93c513
+lwu :: offset: 0xbc, out: 0x2cfb087a
+lwu :: offset: 0xc0, out: 0x3c2cd9a9
+lwu :: offset: 0xc4, out: 0xcda20766
+lwu :: offset: 0xc8, out: 0x1791722a
+lwu :: offset: 0xcc, out: 0x7d72da3e
+lwu :: offset: 0xd0, out: 0x87cc9d1
+lwu :: offset: 0xd4, out: 0x93ce24ad
+lwu :: offset: 0xd8, out: 0x1d2a7570
+lwu :: offset: 0xdc, out: 0x38984ed2
+lwu :: offset: 0xe0, out: 0xd0d070db
+lwu :: offset: 0xe4, out: 0x710cd036
+lwu :: offset: 0xe8, out: 0x39c21c7d
+lwu :: offset: 0xec, out: 0x3415604
+lwu :: offset: 0xf0, out: 0x8e94b7af
+lwu :: offset: 0xf4, out: 0x8ecc31ce
+lwu :: offset: 0xf8, out: 0x24eb6a8d
+lwu :: offset: 0xfc, out: 0x1ce7674f
+lwu :: offset: 0x100, out: 0x2f394544
+lwu :: offset: 0x104, out: 0x12d6e4a7
+lwu :: offset: 0x108, out: 0x2608c2b7
+lwu :: offset: 0x10c, out: 0x56da4c54
+lwu :: offset: 0x110, out: 0x900102da
+lwu :: offset: 0x114, out: 0xc8d7252f
+lwu :: offset: 0x118, out: 0xc890d5f1
+lwu :: offset: 0x11c, out: 0xf2efa4f7
+lwu :: offset: 0x120, out: 0xed5005cb
+lwu :: offset: 0x124, out: 0xc8b0a214
+lwu :: offset: 0x128, out: 0x31479189
+lwu :: offset: 0x12c, out: 0x5991136c
+lwu :: offset: 0x130, out: 0xc6eecff9
+lwu :: offset: 0x134, out: 0x9a2fb6f3
+lwu :: offset: 0x138, out: 0xa8095212
+lwu :: offset: 0x13c, out: 0x38895270
+lwu :: offset: 0x140, out: 0x87750a04
+lwu :: offset: 0x144, out: 0xad765040
+lwu :: offset: 0x148, out: 0x2c3de85e
+lwu :: offset: 0x14c, out: 0x84bb5a83
+lwu :: offset: 0x150, out: 0xae6aff8f
+lwu :: offset: 0x154, out: 0xc506aa67
+lwu :: offset: 0x158, out: 0xc07112dd
+lwu :: offset: 0x15c, out: 0x60ed5ee3
+lwu :: offset: 0x160, out: 0xc4c770f6
+lwu :: offset: 0x164, out: 0x30dcca5a
+lwu :: offset: 0x168, out: 0xdfec2b23
+lwu :: offset: 0x16c, out: 0x83cd5277
+lwu :: offset: 0x170, out: 0xd3adba26
+lwu :: offset: 0x174, out: 0xff7d96b
+lwu :: offset: 0x178, out: 0x4ab4aa79
+lwu :: offset: 0x17c, out: 0x8418c00e
+lwu :: offset: 0x180, out: 0xbb8c035e
+lwu :: offset: 0x184, out: 0xde0f0b8
+lwu :: offset: 0x188, out: 0x33b06f54
+lwu :: offset: 0x18c, out: 0xa97fdcf1
+lwu :: offset: 0x190, out: 0x77433f37
+lwu :: offset: 0x194, out: 0x3fd1c081
+lwu :: offset: 0x198, out: 0xec91d993
+lwu :: offset: 0x19c, out: 0xc92195e4
+lwu :: offset: 0x1a0, out: 0x49fbf6a7
+lwu :: offset: 0x1a4, out: 0x95b1a5ab
+lwu :: offset: 0x1a8, out: 0x19364378
+lwu :: offset: 0x1ac, out: 0xc7ce8d1e
+lwu :: offset: 0x1b0, out: 0xb99e8def
+lwu :: offset: 0x1b4, out: 0x2f384907
+lwu :: offset: 0x1b8, out: 0x47eacdcd
+lwu :: offset: 0x1bc, out: 0x582b12fe
+lwu :: offset: 0x1c0, out: 0xd685884e
+lwu :: offset: 0x1c4, out: 0x76558c4f
+lwu :: offset: 0x1c8, out: 0x6168d62a
+lwu :: offset: 0x1cc, out: 0x34c195c7
+lwu :: offset: 0x1d0, out: 0xd3016989
+lwu :: offset: 0x1d4, out: 0x4df47405
+lwu :: offset: 0x1d8, out: 0x1ca190bf
+lwu :: offset: 0x1dc, out: 0x6cbb06db
+lwu :: offset: 0x1e0, out: 0x58300f02
+lwu :: offset: 0x1e4, out: 0x9cae393a
+lwu :: offset: 0x1e8, out: 0x9a995fdb
+lwu :: offset: 0x1ec, out: 0xdc7ebc2d
+lwu :: offset: 0x1f0, out: 0x8a96047b
+lwu :: offset: 0x1f4, out: 0xe3405b48
+lwu :: offset: 0x1f8, out: 0x75bfafd2
+lwu :: offset: 0x1fc, out: 0xd519d322
+lwu :: offset: 0x200, out: 0xde230867
+lwu :: offset: 0x204, out: 0xa630f6ad
+lwu :: offset: 0x208, out: 0x2c0a0cf2
+lwu :: offset: 0x20c, out: 0x56103260
+lwu :: offset: 0x210, out: 0x94a90544
+lwu :: offset: 0x214, out: 0x249b18ef
+lwu :: offset: 0x218, out: 0xf9519fb5
+lwu :: offset: 0x21c, out: 0x5b56fcde
+lwu :: offset: 0x220, out: 0x81daf820
+lwu :: offset: 0x224, out: 0x468319b
+lwu :: offset: 0x228, out: 0x8c61ca5a
+lwu :: offset: 0x22c, out: 0x5725f2ec
+lwu :: offset: 0x230, out: 0x8b95a6dd
+lwu :: offset: 0x234, out: 0xc25dc8bf
+lwu :: offset: 0x238, out: 0x300ce751
+lwu :: offset: 0x23c, out: 0xdac6162f
+lwu :: offset: 0x240, out: 0x6778fdf3
+lwu :: offset: 0x244, out: 0xba52a850
+lwu :: offset: 0x248, out: 0xad00b1f7
+lwu :: offset: 0x24c, out: 0xda78479f
+lwu :: offset: 0x250, out: 0x8d44168
+lwu :: offset: 0x254, out: 0xa6b6d98a
+lwu :: offset: 0x258, out: 0xf518381d
+lwu :: offset: 0x25c, out: 0xce634413
+lwu :: offset: 0x260, out: 0xe4627f3f
+lwu :: offset: 0x264, out: 0xe5255fc0
+lwu :: offset: 0x268, out: 0xccd392e1
+lwu :: offset: 0x26c, out: 0x76321f28
+lwu :: offset: 0x270, out: 0x82946494
+lwu :: offset: 0x274, out: 0x4018fd8f
+lwu :: offset: 0x278, out: 0x15d32040
+lwu :: offset: 0x27c, out: 0x52e8f0e5
+lwu :: offset: 0x280, out: 0x7caf83d2
+lwu :: offset: 0x284, out: 0x880ff344
+lwu :: offset: 0x288, out: 0xf156a04c
+lwu :: offset: 0x28c, out: 0x747defd7
+lwu :: offset: 0x290, out: 0x93e2601c
+lwu :: offset: 0x294, out: 0xf31d710
+lwu :: offset: 0x298, out: 0xe1e1a679
+lwu :: offset: 0x29c, out: 0x131cd933
+lwu :: offset: 0x2a0, out: 0x24296b75
+lwu :: offset: 0x2a4, out: 0xa76fa427
+lwu :: offset: 0x2a8, out: 0xd296e2d2
+lwu :: offset: 0x2ac, out: 0x139ee56a
+lwu :: offset: 0x2b0, out: 0x5a82447f
+lwu :: offset: 0x2b4, out: 0x6dc2a5c0
+lwu :: offset: 0x2b8, out: 0x76c89e80
+lwu :: offset: 0x2bc, out: 0xc07dc168
+lwu :: offset: 0x2c0, out: 0x70dc345
+lwu :: offset: 0x2c4, out: 0x4bfe348f
+lwu :: offset: 0x2c8, out: 0xbddc7123
+lwu :: offset: 0x2cc, out: 0xdd6d241b
+lwu :: offset: 0x2d0, out: 0xf62fb727
+lwu :: offset: 0x2d4, out: 0xa59fcebe
+lwu :: offset: 0x2d8, out: 0x109f27e9
+lwu :: offset: 0x2dc, out: 0xf9f46fb
+lwu :: offset: 0x2e0, out: 0x3f63daa9
+lwu :: offset: 0x2e4, out: 0xafd199d7
+lwu :: offset: 0x2e8, out: 0xdbcb312e
+lwu :: offset: 0x2ec, out: 0xa3d484f2
+lwu :: offset: 0x2f0, out: 0x1f353faa
+lwu :: offset: 0x2f4, out: 0xda4fe4c6
+lwu :: offset: 0x2f8, out: 0x8b086ee0
+lwu :: offset: 0x2fc, out: 0x7150c260
+lwu :: offset: 0x300, out: 0xe54750d5
+lwu :: offset: 0x304, out: 0xd9257f25
+lwu :: offset: 0x308, out: 0x3d69625f
+lwu :: offset: 0x30c, out: 0xe9a6db5b
+lwu :: offset: 0x310, out: 0x70a3e042
+lwu :: offset: 0x314, out: 0x4340ac96
+lwu :: offset: 0x318, out: 0xc0478f03
+lwu :: offset: 0x31c, out: 0x6980171e
+lwu :: offset: 0x320, out: 0x3ce839a5
+lwu :: offset: 0x324, out: 0x1cf929e3
+lwu :: offset: 0x328, out: 0xe2fbfa89
+lwu :: offset: 0x32c, out: 0x5eb68958
+lwu :: offset: 0x330, out: 0xd24bb05d
+lwu :: offset: 0x334, out: 0x76ed25b7
+lwu :: offset: 0x338, out: 0xeb9682c
+lwu :: offset: 0x33c, out: 0x170312f1
+lwu :: offset: 0x340, out: 0x84785280
+lwu :: offset: 0x344, out: 0xdd301d0d
+lwu :: offset: 0x348, out: 0x179c77aa
+lwu :: offset: 0x34c, out: 0x1f8fd6ef
+lwu :: offset: 0x350, out: 0x26444ced
+lwu :: offset: 0x354, out: 0x2998436d
+lwu :: offset: 0x358, out: 0x7175c9d
+lwu :: offset: 0x35c, out: 0xd58ca708
+lwu :: offset: 0x360, out: 0x663d0610
+lwu :: offset: 0x364, out: 0x55833287
+lwu :: offset: 0x368, out: 0xab7dd048
+lwu :: offset: 0x36c, out: 0x8951d68b
+lwu :: offset: 0x370, out: 0xf6982367
+lwu :: offset: 0x374, out: 0xe82471b
+lwu :: offset: 0x378, out: 0x36886c59
+lwu :: offset: 0x37c, out: 0xd98d26b2
+lwu :: offset: 0x380, out: 0x9ca4bdb
+lwu :: offset: 0x384, out: 0xd32be479
+lwu :: offset: 0x388, out: 0xfd5d7d1d
+lwu :: offset: 0x38c, out: 0x9962e61f
+lwu :: offset: 0x390, out: 0x3f46553e
+lwu :: offset: 0x394, out: 0xcad374df
+lwu :: offset: 0x398, out: 0x2e9ab97d
+lwu :: offset: 0x39c, out: 0x3eedf2a7
+lwu :: offset: 0x3a0, out: 0x36a6f7fa
+lwu :: offset: 0x3a4, out: 0x3c0c9f33
+lwu :: offset: 0x3a8, out: 0x8bb938e3
+lwu :: offset: 0x3ac, out: 0x155ec9dc
+lwu :: offset: 0x3b0, out: 0xd2df25c4
+lwu :: offset: 0x3b4, out: 0x19478206
+lwu :: offset: 0x3b8, out: 0xbc65bf27
+lwu :: offset: 0x3bc, out: 0xeb321825
+lwu :: offset: 0x3c0, out: 0xa8b08fe6
+lwu :: offset: 0x3c4, out: 0x7a8bc7da
+lwu :: offset: 0x3c8, out: 0x852b5bca
+lwu :: offset: 0x3cc, out: 0xf8dfcde8
+lwu :: offset: 0x3d0, out: 0x478909b
+lwu :: offset: 0x3d4, out: 0x59a99269
+lwu :: offset: 0x3d8, out: 0xbfb31cc8
+lwu :: offset: 0x3dc, out: 0x7857360f
+lwu :: offset: 0x3e0, out: 0xb665ed5e
+lwu :: offset: 0x3e4, out: 0x7f89e9a2
+lwu :: offset: 0x3e8, out: 0x15da9474
+lwu :: offset: 0x3ec, out: 0xb7a8d5e4
+lwu :: offset: 0x3f0, out: 0xf6b3537d
+lwu :: offset: 0x3f4, out: 0x2af90fcc
+lwu :: offset: 0x3f8, out: 0x223d7cfe
+lwu :: offset: 0x3fc, out: 0x2b961897
+lwu :: offset: 0x400, out: 0x420b34f5
+lwu :: offset: 0x404, out: 0x33734a4b
+lwu :: offset: 0x408, out: 0x897c8c8d
+lwu :: offset: 0x40c, out: 0xdd46b33c
+lwu :: offset: 0x410, out: 0x7a387445
+lwu :: offset: 0x414, out: 0xe392ccd9
+lwu :: offset: 0x418, out: 0x512f29b1
+lwu :: offset: 0x41c, out: 0xd80000c9
+lwu :: offset: 0x420, out: 0xeaded5c5
+lwu :: offset: 0x424, out: 0x3dad020a
+lwu :: offset: 0x428, out: 0x8a6229d7
+lwu :: offset: 0x42c, out: 0x31eea35b
+lwu :: offset: 0x430, out: 0x2c3c3f9e
+lwu :: offset: 0x434, out: 0x48985649
+lwu :: offset: 0x438, out: 0x7ff61e78
+lwu :: offset: 0x43c, out: 0xdc9c0b77
+lwu :: offset: 0x440, out: 0x2299b0e0
+lwu :: offset: 0x444, out: 0x1d5e68ec
+lwu :: offset: 0x448, out: 0x7c3b0467
+lwu :: offset: 0x44c, out: 0x3d0c6e25
+lwu :: offset: 0x450, out: 0x164e17c1
+lwu :: offset: 0x454, out: 0xe7fb6587
+lwu :: offset: 0x458, out: 0xfa4ca28b
+lwu :: offset: 0x45c, out: 0x56d4950b
+lwu :: offset: 0x460, out: 0xe5e9a314
+lwu :: offset: 0x464, out: 0xbe7fa08a
+lwu :: offset: 0x468, out: 0xf8be8164
+lwu :: offset: 0x46c, out: 0x159649c5
+lwu :: offset: 0x470, out: 0x7ca32597
+lwu :: offset: 0x474, out: 0x84e69b17
+lwu :: offset: 0x478, out: 0xfc8d543c
+lwu :: offset: 0x47c, out: 0xa1f24f5c
+lwu :: offset: 0x480, out: 0x4aeb6ca0
+lwu :: offset: 0x484, out: 0xe3459e36
+lwu :: offset: 0x488, out: 0xc532e18e
+lwu :: offset: 0x48c, out: 0x187980fa
+lwu :: offset: 0x490, out: 0xb3fdec29
+lwu :: offset: 0x494, out: 0x4f287d1c
+lwu :: offset: 0x498, out: 0xb620660a
+lwu :: offset: 0x49c, out: 0x49732b90
+lwu :: offset: 0x4a0, out: 0x993138f1
+lwu :: offset: 0x4a4, out: 0x6cfde991
+lwu :: offset: 0x4a8, out: 0xde02d133
+lwu :: offset: 0x4ac, out: 0x7d5407b9
+lwu :: offset: 0x4b0, out: 0x13a390e1
+lwu :: offset: 0x4b4, out: 0xe1dab15a
+lwu :: offset: 0x4b8, out: 0x743491a6
+lwu :: offset: 0x4bc, out: 0x828716c8
+lwu :: offset: 0x4c0, out: 0x8cff404a
+lwu :: offset: 0x4c4, out: 0xede292f2
+lwu :: offset: 0x4c8, out: 0xb9cec0db
+lwu :: offset: 0x4cc, out: 0x1f837636
+lwu :: offset: 0x4d0, out: 0x2eaa5aa7
+lwu :: offset: 0x4d4, out: 0x509771c
+lwu :: offset: 0x4d8, out: 0xd327538e
+lwu :: offset: 0x4dc, out: 0x1875241b
+lwu :: offset: 0x4e0, out: 0x42e9f854
+lwu :: offset: 0x4e4, out: 0x8b739b6b
+lwu :: offset: 0x4e8, out: 0x78e4e50c
+lwu :: offset: 0x4ec, out: 0xeccbba1a
+lwu :: offset: 0x4f0, out: 0xf6b6fa3f
+lwu :: offset: 0x4f4, out: 0xcd9d27cb
+lwu :: offset: 0x4f8, out: 0x73916483
+lwu :: offset: 0x4fc, out: 0xae3e9423
+lwu :: offset: 0x500, out: 0x276af70a
+lwu :: offset: 0x504, out: 0xe128561
+lwu :: offset: 0x508, out: 0x3045bf6
+lwu :: offset: 0x50c, out: 0xb5e74b6e
+lwu :: offset: 0x510, out: 0x20223f13
+lwu :: offset: 0x514, out: 0x8accfa6
+lwu :: offset: 0x518, out: 0xf83c5574
+lwu :: offset: 0x51c, out: 0x3976b5f5
+lwu :: offset: 0x520, out: 0x1f9720f9
+lwu :: offset: 0x524, out: 0x46923c3d
+lwu :: offset: 0x528, out: 0x620d2850
+lwu :: offset: 0x52c, out: 0x6d2448dd
+lwu :: offset: 0x530, out: 0x60a521e9
+lwu :: offset: 0x534, out: 0x9ff4a732
+lwu :: offset: 0x538, out: 0x5a08f3ab
+lwu :: offset: 0x53c, out: 0x5c680f0b
+lwu :: offset: 0x540, out: 0xc7a59be7
+lwu :: offset: 0x544, out: 0x800f3d26
+lwu :: offset: 0x548, out: 0x1aecdf29
+lwu :: offset: 0x54c, out: 0x82ca1b41
+lwu :: offset: 0x550, out: 0x2b8613a2
+lwu :: offset: 0x554, out: 0x60d19dcd
+lwu :: offset: 0x558, out: 0x2518ac8b
+lwu :: offset: 0x55c, out: 0xe8bbe7f
+lwu :: offset: 0x560, out: 0x743e568d
+lwu :: offset: 0x564, out: 0x2fcf486b
+lwu :: offset: 0x568, out: 0x126f646f
+lwu :: offset: 0x56c, out: 0x34c31728
+lwu :: offset: 0x570, out: 0xaab01961
+lwu :: offset: 0x574, out: 0x56fc4d12
+lwu :: offset: 0x578, out: 0x7535cd33
+lwu :: offset: 0x57c, out: 0x8595d342
+lwu :: offset: 0x580, out: 0xdfb254da
+lwu :: offset: 0x584, out: 0x422346ec
+lwu :: offset: 0x588, out: 0xa86726c9
+lwu :: offset: 0x58c, out: 0x81ab2a
+lwu :: offset: 0x590, out: 0x9bfeffa1
+lwu :: offset: 0x594, out: 0x679d7438
+lwu :: offset: 0x598, out: 0xc7699826
+lwu :: offset: 0x59c, out: 0xb7dee244
+lwu :: offset: 0x5a0, out: 0x3c07af97
+lwu :: offset: 0x5a4, out: 0xfba6704a
+lwu :: offset: 0x5a8, out: 0x521364dc
+lwu :: offset: 0x5ac, out: 0x4c58bfe
+lwu :: offset: 0x5b0, out: 0xe0f7bb58
+lwu :: offset: 0x5b4, out: 0x9ab7aebc
+lwu :: offset: 0x5b8, out: 0xe336c60c
+lwu :: offset: 0x5bc, out: 0xdeeb954d
+lwu :: offset: 0x5c0, out: 0xd5b2120c
+lwu :: offset: 0x5c4, out: 0x6f52416e
+lwu :: offset: 0x5c8, out: 0x85a2d4ff
+lwu :: offset: 0x5cc, out: 0x7e628a34
+lwu :: offset: 0x5d0, out: 0x986a2b65
+lwu :: offset: 0x5d4, out: 0x4a4e7e07
+lwu :: offset: 0x5d8, out: 0xa974eac4
+lwu :: offset: 0x5dc, out: 0x3a489b55
+lwu :: offset: 0x5e0, out: 0xa388c162
+lwu :: offset: 0x5e4, out: 0x72f1f8f5
+lwu :: offset: 0x5e8, out: 0xe8c11f45
+lwu :: offset: 0x5ec, out: 0xe7495ea9
+lwu :: offset: 0x5f0, out: 0xadaa5a76
+lwu :: offset: 0x5f4, out: 0x5cc1c8b4
+lwu :: offset: 0x5f8, out: 0x7ab4ce88
+lwu :: offset: 0x5fc, out: 0xdfa605c0
+lwu :: offset: 0x600, out: 0xb42ad6e6
+lwu :: offset: 0x604, out: 0x59a7b04f
+lwu :: offset: 0x608, out: 0x4bf8485a
+lwu :: offset: 0x60c, out: 0xb728922f
+lwu :: offset: 0x610, out: 0x76a3d60c
+lwu :: offset: 0x614, out: 0x3b66a7fb
+lwu :: offset: 0x618, out: 0x31e0c6af
+lwu :: offset: 0x61c, out: 0xfdc28eda
+lwu :: offset: 0x620, out: 0x53606bb4
+lwu :: offset: 0x624, out: 0xbf0c999d
+lwu :: offset: 0x628, out: 0x32fc12c8
+lwu :: offset: 0x62c, out: 0x1b7919f0
+lwu :: offset: 0x630, out: 0x3ef88384
+lwu :: offset: 0x634, out: 0xc72efcd6
+lwu :: offset: 0x638, out: 0x38b1c7bb
+lwu :: offset: 0x63c, out: 0x6a2a3580
+lwu :: offset: 0x640, out: 0x15ebf612
+lwu :: offset: 0x644, out: 0x1dca77c9
+lwu :: offset: 0x648, out: 0x5eaacdd9
+lwu :: offset: 0x64c, out: 0xfd9147ae
+lwu :: offset: 0x650, out: 0xbb8470f9
+lwu :: offset: 0x654, out: 0x81e91117
+lwu :: offset: 0x658, out: 0x5d42aea
+lwu :: offset: 0x65c, out: 0xc6a532e0
+lwu :: offset: 0x660, out: 0x14abf364
+lwu :: offset: 0x664, out: 0x19fb9e63
+lwu :: offset: 0x668, out: 0x249d559a
+lwu :: offset: 0x66c, out: 0xa8d72aac
+lwu :: offset: 0x670, out: 0xcd6764f
+lwu :: offset: 0x674, out: 0x84b30ec
+lwu :: offset: 0x678, out: 0x7f03ac07
+lwu :: offset: 0x67c, out: 0x92468fdf
+lwu :: offset: 0x680, out: 0x7e35ce6d
+lwu :: offset: 0x684, out: 0x56e670f5
+lwu :: offset: 0x688, out: 0x15282859
+lwu :: offset: 0x68c, out: 0x1a652711
+lwu :: offset: 0x690, out: 0x9e1c3283
+lwu :: offset: 0x694, out: 0xd215a9fb
+lwu :: offset: 0x698, out: 0x8d95c049
+lwu :: offset: 0x69c, out: 0x282a0417
+lwu :: offset: 0x6a0, out: 0xf2e7a490
+lwu :: offset: 0x6a4, out: 0x978058f3
+lwu :: offset: 0x6a8, out: 0x775b4cca
+lwu :: offset: 0x6ac, out: 0x975b1aa
+lwu :: offset: 0x6b0, out: 0xa2b84a6
+lwu :: offset: 0x6b4, out: 0x35111020
+lwu :: offset: 0x6b8, out: 0x23fa0d3
+lwu :: offset: 0x6bc, out: 0xa7d88b6f
+lwu :: offset: 0x6c0, out: 0xa3d991b7
+lwu :: offset: 0x6c4, out: 0x9941dedd
+lwu :: offset: 0x6c8, out: 0x751cb483
+lwu :: offset: 0x6cc, out: 0x5a0d9508
+lwu :: offset: 0x6d0, out: 0x949cad35
+lwu :: offset: 0x6d4, out: 0x625bb2d3
+lwu :: offset: 0x6d8, out: 0x7f567f35
+lwu :: offset: 0x6dc, out: 0xa6929739
+lwu :: offset: 0x6e0, out: 0x185b88e0
+lwu :: offset: 0x6e4, out: 0xdb8d7d27
+lwu :: offset: 0x6e8, out: 0x255a4cd2
+lwu :: offset: 0x6ec, out: 0x2fd61b91
+lwu :: offset: 0x6f0, out: 0x1048d589
+lwu :: offset: 0x6f4, out: 0xa4363f7b
+lwu :: offset: 0x6f8, out: 0x6a6d5708
+lwu :: offset: 0x6fc, out: 0xf4605790
+lwu :: offset: 0x700, out: 0xd58ecbab
+lwu :: offset: 0x704, out: 0xde35697f
+lwu :: offset: 0x708, out: 0x575548fd
+lwu :: offset: 0x70c, out: 0x8c0a5f1
+lwu :: offset: 0x710, out: 0x8bb640fb
+lwu :: offset: 0x714, out: 0x8ed98ddb
+lwu :: offset: 0x718, out: 0xbe00d51e
+lwu :: offset: 0x71c, out: 0xabc578cc
+lwu :: offset: 0x720, out: 0x2f7e224a
+lwu :: offset: 0x724, out: 0x1c170ab2
+lwu :: offset: 0x728, out: 0xa978f12c
+lwu :: offset: 0x72c, out: 0xa22256a7
+lwu :: offset: 0x730, out: 0x9950a93b
+lwu :: offset: 0x734, out: 0x811ee02f
+lwu :: offset: 0x738, out: 0xb44eea93
+lwu :: offset: 0x73c, out: 0xc6796a0c
+lwu :: offset: 0x740, out: 0xfe71fca0
+lwu :: offset: 0x744, out: 0x6c0eb657
+lwu :: offset: 0x748, out: 0x4ed6393d
+lwu :: offset: 0x74c, out: 0xf818af57
+lwu :: offset: 0x750, out: 0xf22e9020
+lwu :: offset: 0x754, out: 0x236770a
+lwu :: offset: 0x758, out: 0x81efb6c7
+lwu :: offset: 0x75c, out: 0xafd0c45d
+lwu :: offset: 0x760, out: 0xeed8f351
+lwu :: offset: 0x764, out: 0x8102315b
+lwu :: offset: 0x768, out: 0xadafefb9
+lwu :: offset: 0x76c, out: 0x995efd5e
+lwu :: offset: 0x770, out: 0x34061933
+lwu :: offset: 0x774, out: 0xeb253086
+lwu :: offset: 0x778, out: 0x1748da26
+lwu :: offset: 0x77c, out: 0x4b4c52bc
+lwu :: offset: 0x780, out: 0x34fdfc9a
+lwu :: offset: 0x784, out: 0x9302be89
+lwu :: offset: 0x788, out: 0xd00278c3
+lwu :: offset: 0x78c, out: 0xc521d180
+lwu :: offset: 0x790, out: 0xe90944a4
+lwu :: offset: 0x794, out: 0xc1d37a5d
+lwu :: offset: 0x798, out: 0x65fd698f
+lwu :: offset: 0x79c, out: 0xddef9839
+lwu :: offset: 0x7a0, out: 0xc49ee3ad
+lwu :: offset: 0x7a4, out: 0x81b5af52
+lwu :: offset: 0x7a8, out: 0x7aa941e8
+lwu :: offset: 0x7ac, out: 0xbdb263e9
+lwu :: offset: 0x7b0, out: 0x372c209e
+lwu :: offset: 0x7b4, out: 0x42f3b58d
+lwu :: offset: 0x7b8, out: 0x30f870b7
+lwu :: offset: 0x7bc, out: 0xe122a83b
+lwu :: offset: 0x7c0, out: 0x9e02de4b
+lwu :: offset: 0x7c4, out: 0x678930ec
+lwu :: offset: 0x7c8, out: 0xcd61a863
+lwu :: offset: 0x7cc, out: 0x9826631e
+lwu :: offset: 0x7d0, out: 0xae87bc89
+lwu :: offset: 0x7d4, out: 0x9a7bd3ca
+lwu :: offset: 0x7d8, out: 0x58ec644d
+lwu :: offset: 0x7dc, out: 0x6481af17
+lwu :: offset: 0x7e0, out: 0x680cce5f
+lwu :: offset: 0x7e4, out: 0xb236b666
+lwu :: offset: 0x7e8, out: 0x3baa9947
+lwu :: offset: 0x7ec, out: 0x1f6d4d75
+lwu :: offset: 0x7f0, out: 0x614d9b44
+lwu :: offset: 0x7f4, out: 0x5f12236b
+lwu :: offset: 0x7f8, out: 0xa2a6ec66
+lwu :: offset: 0x7fc, out: 0x1ba84121
+sb :: offset: 0x0, out: 0xaa00000000000000, outHI: 0x0
+sb :: offset: 0x1, out: 0xaa00000000000000, outHI: 0x0
+sb :: offset: 0x2, out: 0xaa007e0000000000, outHI: 0x0
+sb :: offset: 0x3, out: 0xaa007e8700000000, outHI: 0x0
+sb :: offset: 0x4, out: 0xaa007e8763000000, outHI: 0x0
+sb :: offset: 0x5, out: 0xaa007e8763820000, outHI: 0x0
+sb :: offset: 0x6, out: 0xaa007e876382d200, outHI: 0x0
+sb :: offset: 0x7, out: 0xaa007e876382d2ab, outHI: 0x0
+sb :: offset: 0x8, out: 0x1300000000000000, outHI: 0x0
+sb :: offset: 0x9, out: 0x1397000000000000, outHI: 0x0
+sb :: offset: 0xa, out: 0x13976d0000000000, outHI: 0x0
+sb :: offset: 0xb, out: 0x13976d6e00000000, outHI: 0x0
+sb :: offset: 0xc, out: 0x13976d6e9a000000, outHI: 0x0
+sb :: offset: 0xd, out: 0x13976d6e9ac30000, outHI: 0x0
+sb :: offset: 0xe, out: 0x13976d6e9ac31500, outHI: 0x0
+sb :: offset: 0xf, out: 0x13976d6e9ac31510, outHI: 0x0
+sb :: offset: 0x10, out: 0xf300000000000000, outHI: 0x0
+sb :: offset: 0x11, out: 0xf3b7000000000000, outHI: 0x0
+sb :: offset: 0x12, out: 0xf3b7740000000000, outHI: 0x0
+sb :: offset: 0x13, out: 0xf3b7746d00000000, outHI: 0x0
+sb :: offset: 0x14, out: 0xf3b7746d77000000, outHI: 0x0
+sb :: offset: 0x15, out: 0xf3b7746d775a0000, outHI: 0x0
+sb :: offset: 0x16, out: 0xf3b7746d775ad600, outHI: 0x0
+sb :: offset: 0x17, out: 0xf3b7746d775ad6a5, outHI: 0x0
+sb :: offset: 0x18, out: 0xfb00000000000000, outHI: 0x0
+sb :: offset: 0x19, out: 0xfb42000000000000, outHI: 0x0
+sb :: offset: 0x1a, out: 0xfb42b00000000000, outHI: 0x0
+sb :: offset: 0x1b, out: 0xfb42b0c000000000, outHI: 0x0
+sb :: offset: 0x1c, out: 0xfb42b0c0a2000000, outHI: 0x0
+sb :: offset: 0x1d, out: 0xfb42b0c0a2860000, outHI: 0x0
+sb :: offset: 0x1e, out: 0xfb42b0c0a2867700, outHI: 0x0
+sb :: offset: 0x1f, out: 0xfb42b0c0a28677b5, outHI: 0x0
+sb :: offset: 0x20, out: 0x200000000000000, outHI: 0x0
+sb :: offset: 0x21, out: 0x22a000000000000, outHI: 0x0
+sb :: offset: 0x22, out: 0x22aa80000000000, outHI: 0x0
+sb :: offset: 0x23, out: 0x22aa89d00000000, outHI: 0x0
+sb :: offset: 0x24, out: 0x22aa89d31000000, outHI: 0x0
+sb :: offset: 0x25, out: 0x22aa89d319e0000, outHI: 0x0
+sb :: offset: 0x26, out: 0x22aa89d319e3c00, outHI: 0x0
+sb :: offset: 0x27, out: 0x22aa89d319e3c30, outHI: 0x0
+sb :: offset: 0x28, out: 0xad00000000000000, outHI: 0x0
+sb :: offset: 0x29, out: 0xad1f000000000000, outHI: 0x0
+sb :: offset: 0x2a, out: 0xad1f300000000000, outHI: 0x0
+sb :: offset: 0x2b, out: 0xad1f308e00000000, outHI: 0x0
+sb :: offset: 0x2c, out: 0xad1f308ec3000000, outHI: 0x0
+sb :: offset: 0x2d, out: 0xad1f308ec3770000, outHI: 0x0
+sb :: offset: 0x2e, out: 0xad1f308ec377fb00, outHI: 0x0
+sb :: offset: 0x2f, out: 0xad1f308ec377fb41, outHI: 0x0
+sb :: offset: 0x30, out: 0x3d00000000000000, outHI: 0x0
+sb :: offset: 0x31, out: 0x3d7a000000000000, outHI: 0x0
+sb :: offset: 0x32, out: 0x3d7aa00000000000, outHI: 0x0
+sb :: offset: 0x33, out: 0x3d7aa04200000000, outHI: 0x0
+sb :: offset: 0x34, out: 0x3d7aa04213000000, outHI: 0x0
+sb :: offset: 0x35, out: 0x3d7aa04213c70000, outHI: 0x0
+sb :: offset: 0x36, out: 0x3d7aa04213c76000, outHI: 0x0
+sb :: offset: 0x37, out: 0x3d7aa04213c760e4, outHI: 0x0
+sb :: offset: 0x38, out: 0xf700000000000000, outHI: 0x0
+sb :: offset: 0x39, out: 0xf79e000000000000, outHI: 0x0
+sb :: offset: 0x3a, out: 0xf79e700000000000, outHI: 0x0
+sb :: offset: 0x3b, out: 0xf79e705c00000000, outHI: 0x0
+sb :: offset: 0x3c, out: 0xf79e705cc5000000, outHI: 0x0
+sb :: offset: 0x3d, out: 0xf79e705cc51a0000, outHI: 0x0
+sb :: offset: 0x3e, out: 0xf79e705cc51ad800, outHI: 0x0
+sb :: offset: 0x3f, out: 0xf79e705cc51ad8dc, outHI: 0x0
+sb :: offset: 0x40, out: 0xa000000000000000, outHI: 0x0
+sb :: offset: 0x41, out: 0xa04b000000000000, outHI: 0x0
+sb :: offset: 0x42, out: 0xa04b3d0000000000, outHI: 0x0
+sb :: offset: 0x43, out: 0xa04b3dda00000000, outHI: 0x0
+sb :: offset: 0x44, out: 0xa04b3dda86000000, outHI: 0x0
+sb :: offset: 0x45, out: 0xa04b3dda86960000, outHI: 0x0
+sb :: offset: 0x46, out: 0xa04b3dda86961500, outHI: 0x0
+sb :: offset: 0x47, out: 0xa04b3dda869615a6, outHI: 0x0
+sb :: offset: 0x48, out: 0xd00000000000000, outHI: 0x0
+sb :: offset: 0x49, out: 0xd05000000000000, outHI: 0x0
+sb :: offset: 0x4a, out: 0xd05e70000000000, outHI: 0x0
+sb :: offset: 0x4b, out: 0xd05e7a400000000, outHI: 0x0
+sb :: offset: 0x4c, out: 0xd05e7a4dd000000, outHI: 0x0
+sb :: offset: 0x4d, out: 0xd05e7a4dd630000, outHI: 0x0
+sb :: offset: 0x4e, out: 0xd05e7a4dd635300, outHI: 0x0
+sb :: offset: 0x4f, out: 0xd05e7a4dd6353d4, outHI: 0x0
+sb :: offset: 0x50, out: 0x1d00000000000000, outHI: 0x0
+sb :: offset: 0x51, out: 0x1d3a000000000000, outHI: 0x0
+sb :: offset: 0x52, out: 0x1d3af30000000000, outHI: 0x0
+sb :: offset: 0x53, out: 0x1d3af35a00000000, outHI: 0x0
+sb :: offset: 0x54, out: 0x1d3af35a9d000000, outHI: 0x0
+sb :: offset: 0x55, out: 0x1d3af35a9dc40000, outHI: 0x0
+sb :: offset: 0x56, out: 0x1d3af35a9dc40b00, outHI: 0x0
+sb :: offset: 0x57, out: 0x1d3af35a9dc40bd4, outHI: 0x0
+sb :: offset: 0x58, out: 0x1300000000000000, outHI: 0x0
+sb :: offset: 0x59, out: 0x1347000000000000, outHI: 0x0
+sb :: offset: 0x5a, out: 0x1347f50000000000, outHI: 0x0
+sb :: offset: 0x5b, out: 0x1347f50500000000, outHI: 0x0
+sb :: offset: 0x5c, out: 0x1347f50556000000, outHI: 0x0
+sb :: offset: 0x5d, out: 0x1347f505569a0000, outHI: 0x0
+sb :: offset: 0x5e, out: 0x1347f505569a0800, outHI: 0x0
+sb :: offset: 0x5f, out: 0x1347f505569a08a1, outHI: 0x0
+sb :: offset: 0x60, out: 0x8000000000000000, outHI: 0x0
+sb :: offset: 0x61, out: 0x8095000000000000, outHI: 0x0
+sb :: offset: 0x62, out: 0x8095640000000000, outHI: 0x0
+sb :: offset: 0x63, out: 0x809564b700000000, outHI: 0x0
+sb :: offset: 0x64, out: 0x809564b77f000000, outHI: 0x0
+sb :: offset: 0x65, out: 0x809564b77fd60000, outHI: 0x0
+sb :: offset: 0x66, out: 0x809564b77fd6d200, outHI: 0x0
+sb :: offset: 0x67, out: 0x809564b77fd6d204, outHI: 0x0
+sb :: offset: 0x68, out: 0xf00000000000000, outHI: 0x0
+sb :: offset: 0x69, out: 0xfce000000000000, outHI: 0x0
+sb :: offset: 0x6a, out: 0xfcebc0000000000, outHI: 0x0
+sb :: offset: 0x6b, out: 0xfcebc8200000000, outHI: 0x0
+sb :: offset: 0x6c, out: 0xfcebc8279000000, outHI: 0x0
+sb :: offset: 0x6d, out: 0xfcebc8279b20000, outHI: 0x0
+sb :: offset: 0x6e, out: 0xfcebc8279b2c700, outHI: 0x0
+sb :: offset: 0x6f, out: 0xfcebc8279b2c76b, outHI: 0x0
+sb :: offset: 0x70, out: 0xbe00000000000000, outHI: 0x0
+sb :: offset: 0x71, out: 0xbeb5000000000000, outHI: 0x0
+sb :: offset: 0x72, out: 0xbeb5030000000000, outHI: 0x0
+sb :: offset: 0x73, out: 0xbeb5034c00000000, outHI: 0x0
+sb :: offset: 0x74, out: 0xbeb5034c2f000000, outHI: 0x0
+sb :: offset: 0x75, out: 0xbeb5034c2f1f0000, outHI: 0x0
+sb :: offset: 0x76, out: 0xbeb5034c2f1f1800, outHI: 0x0
+sb :: offset: 0x77, out: 0xbeb5034c2f1f18e4, outHI: 0x0
+sb :: offset: 0x78, out: 0xc700000000000000, outHI: 0x0
+sb :: offset: 0x79, out: 0xc794000000000000, outHI: 0x0
+sb :: offset: 0x7a, out: 0xc794ff0000000000, outHI: 0x0
+sb :: offset: 0x7b, out: 0xc794ff5200000000, outHI: 0x0
+sb :: offset: 0x7c, out: 0xc794ff52fc000000, outHI: 0x0
+sb :: offset: 0x7d, out: 0xc794ff52fc810000, outHI: 0x0
+sb :: offset: 0x7e, out: 0xc794ff52fc81af00, outHI: 0x0
+sb :: offset: 0x7f, out: 0xc794ff52fc81afa7, outHI: 0x0
+sb :: offset: 0x80, out: 0x9700000000000000, outHI: 0x0
+sb :: offset: 0x81, out: 0x9731000000000000, outHI: 0x0
+sb :: offset: 0x82, out: 0x9731d80000000000, outHI: 0x0
+sb :: offset: 0x83, out: 0x9731d8d900000000, outHI: 0x0
+sb :: offset: 0x84, out: 0x9731d8d916000000, outHI: 0x0
+sb :: offset: 0x85, out: 0x9731d8d9166d0000, outHI: 0x0
+sb :: offset: 0x86, out: 0x9731d8d9166dfc00, outHI: 0x0
+sb :: offset: 0x87, out: 0x9731d8d9166dfc50, outHI: 0x0
+sb :: offset: 0x88, out: 0xea00000000000000, outHI: 0x0
+sb :: offset: 0x89, out: 0xea36000000000000, outHI: 0x0
+sb :: offset: 0x8a, out: 0xea36540000000000, outHI: 0x0
+sb :: offset: 0x8b, out: 0xea36549b00000000, outHI: 0x0
+sb :: offset: 0x8c, out: 0xea36549bd6000000, outHI: 0x0
+sb :: offset: 0x8d, out: 0xea36549bd6780000, outHI: 0x0
+sb :: offset: 0x8e, out: 0xea36549bd678e800, outHI: 0x0
+sb :: offset: 0x8f, out: 0xea36549bd678e895, outHI: 0x0
+sb :: offset: 0x90, out: 0xb100000000000000, outHI: 0x0
+sb :: offset: 0x91, out: 0xb185000000000000, outHI: 0x0
+sb :: offset: 0x92, out: 0xb185e00000000000, outHI: 0x0
+sb :: offset: 0x93, out: 0xb185e0a600000000, outHI: 0x0
+sb :: offset: 0x94, out: 0xb185e0a631000000, outHI: 0x0
+sb :: offset: 0x95, out: 0xb185e0a6319b0000, outHI: 0x0
+sb :: offset: 0x96, out: 0xb185e0a6319b6300, outHI: 0x0
+sb :: offset: 0x97, out: 0xb185e0a6319b6325, outHI: 0x0
+sb :: offset: 0x98, out: 0x9b00000000000000, outHI: 0x0
+sb :: offset: 0x99, out: 0x9b55000000000000, outHI: 0x0
+sb :: offset: 0x9a, out: 0x9b556b0000000000, outHI: 0x0
+sb :: offset: 0x9b, out: 0x9b556b3e00000000, outHI: 0x0
+sb :: offset: 0x9c, out: 0x9b556b3eca000000, outHI: 0x0
+sb :: offset: 0x9d, out: 0x9b556b3ecacc0000, outHI: 0x0
+sb :: offset: 0x9e, out: 0x9b556b3ecaccf100, outHI: 0x0
+sb :: offset: 0x9f, out: 0x9b556b3ecaccf17a, outHI: 0x0
+sb :: offset: 0xa0, out: 0xc500000000000000, outHI: 0x0
+sb :: offset: 0xa1, out: 0xc5b4000000000000, outHI: 0x0
+sb :: offset: 0xa2, out: 0xc5b42f0000000000, outHI: 0x0
+sb :: offset: 0xa3, out: 0xc5b42f5f00000000, outHI: 0x0
+sb :: offset: 0xa4, out: 0xc5b42f5fc5000000, outHI: 0x0
+sb :: offset: 0xa5, out: 0xc5b42f5fc5810000, outHI: 0x0
+sb :: offset: 0xa6, out: 0xc5b42f5fc581ee00, outHI: 0x0
+sb :: offset: 0xa7, out: 0xc5b42f5fc581eea0, outHI: 0x0
+sb :: offset: 0xa8, out: 0xfb00000000000000, outHI: 0x0
+sb :: offset: 0xa9, out: 0xfb25000000000000, outHI: 0x0
+sb :: offset: 0xaa, out: 0xfb25b50000000000, outHI: 0x0
+sb :: offset: 0xab, out: 0xfb25b50f00000000, outHI: 0x0
+sb :: offset: 0xac, out: 0xfb25b50fec000000, outHI: 0x0
+sb :: offset: 0xad, out: 0xfb25b50fec140000, outHI: 0x0
+sb :: offset: 0xae, out: 0xfb25b50fec146800, outHI: 0x0
+sb :: offset: 0xaf, out: 0xfb25b50fec14682d, outHI: 0x0
+sb :: offset: 0xb0, out: 0x9700000000000000, outHI: 0x0
+sb :: offset: 0xb1, out: 0x97fc000000000000, outHI: 0x0
+sb :: offset: 0xb2, out: 0x97fc930000000000, outHI: 0x0
+sb :: offset: 0xb3, out: 0x97fc93c500000000, outHI: 0x0
+sb :: offset: 0xb4, out: 0x97fc93c513000000, outHI: 0x0
+sb :: offset: 0xb5, out: 0x97fc93c5132c0000, outHI: 0x0
+sb :: offset: 0xb6, out: 0x97fc93c5132cfb00, outHI: 0x0
+sb :: offset: 0xb7, out: 0x97fc93c5132cfb08, outHI: 0x0
+sb :: offset: 0xb8, out: 0x7a00000000000000, outHI: 0x0
+sb :: offset: 0xb9, out: 0x7a3c000000000000, outHI: 0x0
+sb :: offset: 0xba, out: 0x7a3c2c0000000000, outHI: 0x0
+sb :: offset: 0xbb, out: 0x7a3c2cd900000000, outHI: 0x0
+sb :: offset: 0xbc, out: 0x7a3c2cd9a9000000, outHI: 0x0
+sb :: offset: 0xbd, out: 0x7a3c2cd9a9cd0000, outHI: 0x0
+sb :: offset: 0xbe, out: 0x7a3c2cd9a9cda200, outHI: 0x0
+sb :: offset: 0xbf, out: 0x7a3c2cd9a9cda207, outHI: 0x0
+sb :: offset: 0xc0, out: 0x6600000000000000, outHI: 0x0
+sb :: offset: 0xc1, out: 0x6617000000000000, outHI: 0x0
+sb :: offset: 0xc2, out: 0x6617910000000000, outHI: 0x0
+sb :: offset: 0xc3, out: 0x6617917200000000, outHI: 0x0
+sb :: offset: 0xc4, out: 0x661791722a000000, outHI: 0x0
+sb :: offset: 0xc5, out: 0x661791722a7d0000, outHI: 0x0
+sb :: offset: 0xc6, out: 0x661791722a7d7200, outHI: 0x0
+sb :: offset: 0xc7, out: 0x661791722a7d72da, outHI: 0x0
+sb :: offset: 0xc8, out: 0x3e00000000000000, outHI: 0x0
+sb :: offset: 0xc9, out: 0x3e08000000000000, outHI: 0x0
+sb :: offset: 0xca, out: 0x3e087c0000000000, outHI: 0x0
+sb :: offset: 0xcb, out: 0x3e087cc900000000, outHI: 0x0
+sb :: offset: 0xcc, out: 0x3e087cc9d1000000, outHI: 0x0
+sb :: offset: 0xcd, out: 0x3e087cc9d1930000, outHI: 0x0
+sb :: offset: 0xce, out: 0x3e087cc9d193ce00, outHI: 0x0
+sb :: offset: 0xcf, out: 0x3e087cc9d193ce24, outHI: 0x0
+sb :: offset: 0xd0, out: 0xad00000000000000, outHI: 0x0
+sb :: offset: 0xd1, out: 0xad1d000000000000, outHI: 0x0
+sb :: offset: 0xd2, out: 0xad1d2a0000000000, outHI: 0x0
+sb :: offset: 0xd3, out: 0xad1d2a7500000000, outHI: 0x0
+sb :: offset: 0xd4, out: 0xad1d2a7570000000, outHI: 0x0
+sb :: offset: 0xd5, out: 0xad1d2a7570380000, outHI: 0x0
+sb :: offset: 0xd6, out: 0xad1d2a7570389800, outHI: 0x0
+sb :: offset: 0xd7, out: 0xad1d2a757038984e, outHI: 0x0
+sb :: offset: 0xd8, out: 0xd200000000000000, outHI: 0x0
+sb :: offset: 0xd9, out: 0xd2d0000000000000, outHI: 0x0
+sb :: offset: 0xda, out: 0xd2d0d00000000000, outHI: 0x0
+sb :: offset: 0xdb, out: 0xd2d0d07000000000, outHI: 0x0
+sb :: offset: 0xdc, out: 0xd2d0d070db000000, outHI: 0x0
+sb :: offset: 0xdd, out: 0xd2d0d070db710000, outHI: 0x0
+sb :: offset: 0xde, out: 0xd2d0d070db710c00, outHI: 0x0
+sb :: offset: 0xdf, out: 0xd2d0d070db710cd0, outHI: 0x0
+sb :: offset: 0xe0, out: 0x3600000000000000, outHI: 0x0
+sb :: offset: 0xe1, out: 0x3639000000000000, outHI: 0x0
+sb :: offset: 0xe2, out: 0x3639c20000000000, outHI: 0x0
+sb :: offset: 0xe3, out: 0x3639c21c00000000, outHI: 0x0
+sb :: offset: 0xe4, out: 0x3639c21c7d000000, outHI: 0x0
+sb :: offset: 0xe5, out: 0x3639c21c7d030000, outHI: 0x0
+sb :: offset: 0xe6, out: 0x3639c21c7d034100, outHI: 0x0
+sb :: offset: 0xe7, out: 0x3639c21c7d034156, outHI: 0x0
+sb :: offset: 0xe8, out: 0x400000000000000, outHI: 0x0
+sb :: offset: 0xe9, out: 0x48e000000000000, outHI: 0x0
+sb :: offset: 0xea, out: 0x48e940000000000, outHI: 0x0
+sb :: offset: 0xeb, out: 0x48e94b700000000, outHI: 0x0
+sb :: offset: 0xec, out: 0x48e94b7af000000, outHI: 0x0
+sb :: offset: 0xed, out: 0x48e94b7af8e0000, outHI: 0x0
+sb :: offset: 0xee, out: 0x48e94b7af8ecc00, outHI: 0x0
+sb :: offset: 0xef, out: 0x48e94b7af8ecc31, outHI: 0x0
+sb :: offset: 0xf0, out: 0xce00000000000000, outHI: 0x0
+sb :: offset: 0xf1, out: 0xce24000000000000, outHI: 0x0
+sb :: offset: 0xf2, out: 0xce24eb0000000000, outHI: 0x0
+sb :: offset: 0xf3, out: 0xce24eb6a00000000, outHI: 0x0
+sb :: offset: 0xf4, out: 0xce24eb6a8d000000, outHI: 0x0
+sb :: offset: 0xf5, out: 0xce24eb6a8d1c0000, outHI: 0x0
+sb :: offset: 0xf6, out: 0xce24eb6a8d1ce700, outHI: 0x0
+sb :: offset: 0xf7, out: 0xce24eb6a8d1ce767, outHI: 0x0
+sb :: offset: 0xf8, out: 0x4f00000000000000, outHI: 0x0
+sb :: offset: 0xf9, out: 0x4f2f000000000000, outHI: 0x0
+sb :: offset: 0xfa, out: 0x4f2f390000000000, outHI: 0x0
+sb :: offset: 0xfb, out: 0x4f2f394500000000, outHI: 0x0
+sb :: offset: 0xfc, out: 0x4f2f394544000000, outHI: 0x0
+sb :: offset: 0xfd, out: 0x4f2f394544120000, outHI: 0x0
+sb :: offset: 0xfe, out: 0x4f2f39454412d600, outHI: 0x0
+sb :: offset: 0xff, out: 0x4f2f39454412d6e4, outHI: 0x0
+sb :: offset: 0x100, out: 0xa700000000000000, outHI: 0x0
+sb :: offset: 0x101, out: 0xa726000000000000, outHI: 0x0
+sb :: offset: 0x102, out: 0xa726080000000000, outHI: 0x0
+sb :: offset: 0x103, out: 0xa72608c200000000, outHI: 0x0
+sb :: offset: 0x104, out: 0xa72608c2b7000000, outHI: 0x0
+sb :: offset: 0x105, out: 0xa72608c2b7560000, outHI: 0x0
+sb :: offset: 0x106, out: 0xa72608c2b756da00, outHI: 0x0
+sb :: offset: 0x107, out: 0xa72608c2b756da4c, outHI: 0x0
+sb :: offset: 0x108, out: 0x5400000000000000, outHI: 0x0
+sb :: offset: 0x109, out: 0x5490000000000000, outHI: 0x0
+sb :: offset: 0x10a, out: 0x5490010000000000, outHI: 0x0
+sb :: offset: 0x10b, out: 0x5490010200000000, outHI: 0x0
+sb :: offset: 0x10c, out: 0x54900102da000000, outHI: 0x0
+sb :: offset: 0x10d, out: 0x54900102dac80000, outHI: 0x0
+sb :: offset: 0x10e, out: 0x54900102dac8d700, outHI: 0x0
+sb :: offset: 0x10f, out: 0x54900102dac8d725, outHI: 0x0
+sb :: offset: 0x110, out: 0x2f00000000000000, outHI: 0x0
+sb :: offset: 0x111, out: 0x2fc8000000000000, outHI: 0x0
+sb :: offset: 0x112, out: 0x2fc8900000000000, outHI: 0x0
+sb :: offset: 0x113, out: 0x2fc890d500000000, outHI: 0x0
+sb :: offset: 0x114, out: 0x2fc890d5f1000000, outHI: 0x0
+sb :: offset: 0x115, out: 0x2fc890d5f1f20000, outHI: 0x0
+sb :: offset: 0x116, out: 0x2fc890d5f1f2ef00, outHI: 0x0
+sb :: offset: 0x117, out: 0x2fc890d5f1f2efa4, outHI: 0x0
+sb :: offset: 0x118, out: 0xf700000000000000, outHI: 0x0
+sb :: offset: 0x119, out: 0xf7ed000000000000, outHI: 0x0
+sb :: offset: 0x11a, out: 0xf7ed500000000000, outHI: 0x0
+sb :: offset: 0x11b, out: 0xf7ed500500000000, outHI: 0x0
+sb :: offset: 0x11c, out: 0xf7ed5005cb000000, outHI: 0x0
+sb :: offset: 0x11d, out: 0xf7ed5005cbc80000, outHI: 0x0
+sb :: offset: 0x11e, out: 0xf7ed5005cbc8b000, outHI: 0x0
+sb :: offset: 0x11f, out: 0xf7ed5005cbc8b0a2, outHI: 0x0
+sb :: offset: 0x120, out: 0x1400000000000000, outHI: 0x0
+sb :: offset: 0x121, out: 0x1431000000000000, outHI: 0x0
+sb :: offset: 0x122, out: 0x1431470000000000, outHI: 0x0
+sb :: offset: 0x123, out: 0x1431479100000000, outHI: 0x0
+sb :: offset: 0x124, out: 0x1431479189000000, outHI: 0x0
+sb :: offset: 0x125, out: 0x1431479189590000, outHI: 0x0
+sb :: offset: 0x126, out: 0x1431479189599100, outHI: 0x0
+sb :: offset: 0x127, out: 0x1431479189599113, outHI: 0x0
+sb :: offset: 0x128, out: 0x6c00000000000000, outHI: 0x0
+sb :: offset: 0x129, out: 0x6cc6000000000000, outHI: 0x0
+sb :: offset: 0x12a, out: 0x6cc6ee0000000000, outHI: 0x0
+sb :: offset: 0x12b, out: 0x6cc6eecf00000000, outHI: 0x0
+sb :: offset: 0x12c, out: 0x6cc6eecff9000000, outHI: 0x0
+sb :: offset: 0x12d, out: 0x6cc6eecff99a0000, outHI: 0x0
+sb :: offset: 0x12e, out: 0x6cc6eecff99a2f00, outHI: 0x0
+sb :: offset: 0x12f, out: 0x6cc6eecff99a2fb6, outHI: 0x0
+sb :: offset: 0x130, out: 0xf300000000000000, outHI: 0x0
+sb :: offset: 0x131, out: 0xf3a8000000000000, outHI: 0x0
+sb :: offset: 0x132, out: 0xf3a8090000000000, outHI: 0x0
+sb :: offset: 0x133, out: 0xf3a8095200000000, outHI: 0x0
+sb :: offset: 0x134, out: 0xf3a8095212000000, outHI: 0x0
+sb :: offset: 0x135, out: 0xf3a8095212380000, outHI: 0x0
+sb :: offset: 0x136, out: 0xf3a8095212388900, outHI: 0x0
+sb :: offset: 0x137, out: 0xf3a8095212388952, outHI: 0x0
+sb :: offset: 0x138, out: 0x7000000000000000, outHI: 0x0
+sb :: offset: 0x139, out: 0x7087000000000000, outHI: 0x0
+sb :: offset: 0x13a, out: 0x7087750000000000, outHI: 0x0
+sb :: offset: 0x13b, out: 0x7087750a00000000, outHI: 0x0
+sb :: offset: 0x13c, out: 0x7087750a04000000, outHI: 0x0
+sb :: offset: 0x13d, out: 0x7087750a04ad0000, outHI: 0x0
+sb :: offset: 0x13e, out: 0x7087750a04ad7600, outHI: 0x0
+sb :: offset: 0x13f, out: 0x7087750a04ad7650, outHI: 0x0
+sb :: offset: 0x140, out: 0x4000000000000000, outHI: 0x0
+sb :: offset: 0x141, out: 0x402c000000000000, outHI: 0x0
+sb :: offset: 0x142, out: 0x402c3d0000000000, outHI: 0x0
+sb :: offset: 0x143, out: 0x402c3de800000000, outHI: 0x0
+sb :: offset: 0x144, out: 0x402c3de85e000000, outHI: 0x0
+sb :: offset: 0x145, out: 0x402c3de85e840000, outHI: 0x0
+sb :: offset: 0x146, out: 0x402c3de85e84bb00, outHI: 0x0
+sb :: offset: 0x147, out: 0x402c3de85e84bb5a, outHI: 0x0
+sb :: offset: 0x148, out: 0x8300000000000000, outHI: 0x0
+sb :: offset: 0x149, out: 0x83ae000000000000, outHI: 0x0
+sb :: offset: 0x14a, out: 0x83ae6a0000000000, outHI: 0x0
+sb :: offset: 0x14b, out: 0x83ae6aff00000000, outHI: 0x0
+sb :: offset: 0x14c, out: 0x83ae6aff8f000000, outHI: 0x0
+sb :: offset: 0x14d, out: 0x83ae6aff8fc50000, outHI: 0x0
+sb :: offset: 0x14e, out: 0x83ae6aff8fc50600, outHI: 0x0
+sb :: offset: 0x14f, out: 0x83ae6aff8fc506aa, outHI: 0x0
+sb :: offset: 0x150, out: 0x6700000000000000, outHI: 0x0
+sb :: offset: 0x151, out: 0x67c0000000000000, outHI: 0x0
+sb :: offset: 0x152, out: 0x67c0710000000000, outHI: 0x0
+sb :: offset: 0x153, out: 0x67c0711200000000, outHI: 0x0
+sb :: offset: 0x154, out: 0x67c07112dd000000, outHI: 0x0
+sb :: offset: 0x155, out: 0x67c07112dd600000, outHI: 0x0
+sb :: offset: 0x156, out: 0x67c07112dd60ed00, outHI: 0x0
+sb :: offset: 0x157, out: 0x67c07112dd60ed5e, outHI: 0x0
+sb :: offset: 0x158, out: 0xe300000000000000, outHI: 0x0
+sb :: offset: 0x159, out: 0xe3c4000000000000, outHI: 0x0
+sb :: offset: 0x15a, out: 0xe3c4c70000000000, outHI: 0x0
+sb :: offset: 0x15b, out: 0xe3c4c77000000000, outHI: 0x0
+sb :: offset: 0x15c, out: 0xe3c4c770f6000000, outHI: 0x0
+sb :: offset: 0x15d, out: 0xe3c4c770f6300000, outHI: 0x0
+sb :: offset: 0x15e, out: 0xe3c4c770f630dc00, outHI: 0x0
+sb :: offset: 0x15f, out: 0xe3c4c770f630dcca, outHI: 0x0
+sb :: offset: 0x160, out: 0x5a00000000000000, outHI: 0x0
+sb :: offset: 0x161, out: 0x5adf000000000000, outHI: 0x0
+sb :: offset: 0x162, out: 0x5adfec0000000000, outHI: 0x0
+sb :: offset: 0x163, out: 0x5adfec2b00000000, outHI: 0x0
+sb :: offset: 0x164, out: 0x5adfec2b23000000, outHI: 0x0
+sb :: offset: 0x165, out: 0x5adfec2b23830000, outHI: 0x0
+sb :: offset: 0x166, out: 0x5adfec2b2383cd00, outHI: 0x0
+sb :: offset: 0x167, out: 0x5adfec2b2383cd52, outHI: 0x0
+sb :: offset: 0x168, out: 0x7700000000000000, outHI: 0x0
+sb :: offset: 0x169, out: 0x77d3000000000000, outHI: 0x0
+sb :: offset: 0x16a, out: 0x77d3ad0000000000, outHI: 0x0
+sb :: offset: 0x16b, out: 0x77d3adba00000000, outHI: 0x0
+sb :: offset: 0x16c, out: 0x77d3adba26000000, outHI: 0x0
+sb :: offset: 0x16d, out: 0x77d3adba260f0000, outHI: 0x0
+sb :: offset: 0x16e, out: 0x77d3adba260ff700, outHI: 0x0
+sb :: offset: 0x16f, out: 0x77d3adba260ff7d9, outHI: 0x0
+sb :: offset: 0x170, out: 0x6b00000000000000, outHI: 0x0
+sb :: offset: 0x171, out: 0x6b4a000000000000, outHI: 0x0
+sb :: offset: 0x172, out: 0x6b4ab40000000000, outHI: 0x0
+sb :: offset: 0x173, out: 0x6b4ab4aa00000000, outHI: 0x0
+sb :: offset: 0x174, out: 0x6b4ab4aa79000000, outHI: 0x0
+sb :: offset: 0x175, out: 0x6b4ab4aa79840000, outHI: 0x0
+sb :: offset: 0x176, out: 0x6b4ab4aa79841800, outHI: 0x0
+sb :: offset: 0x177, out: 0x6b4ab4aa798418c0, outHI: 0x0
+sb :: offset: 0x178, out: 0xe00000000000000, outHI: 0x0
+sb :: offset: 0x179, out: 0xebb000000000000, outHI: 0x0
+sb :: offset: 0x17a, out: 0xebb8c0000000000, outHI: 0x0
+sb :: offset: 0x17b, out: 0xebb8c0300000000, outHI: 0x0
+sb :: offset: 0x17c, out: 0xebb8c035e000000, outHI: 0x0
+sb :: offset: 0x17d, out: 0xebb8c035e0d0000, outHI: 0x0
+sb :: offset: 0x17e, out: 0xebb8c035e0de000, outHI: 0x0
+sb :: offset: 0x17f, out: 0xebb8c035e0de0f0, outHI: 0x0
+sb :: offset: 0x180, out: 0xb800000000000000, outHI: 0x0
+sb :: offset: 0x181, out: 0xb833000000000000, outHI: 0x0
+sb :: offset: 0x182, out: 0xb833b00000000000, outHI: 0x0
+sb :: offset: 0x183, out: 0xb833b06f00000000, outHI: 0x0
+sb :: offset: 0x184, out: 0xb833b06f54000000, outHI: 0x0
+sb :: offset: 0x185, out: 0xb833b06f54a90000, outHI: 0x0
+sb :: offset: 0x186, out: 0xb833b06f54a97f00, outHI: 0x0
+sb :: offset: 0x187, out: 0xb833b06f54a97fdc, outHI: 0x0
+sb :: offset: 0x188, out: 0xf100000000000000, outHI: 0x0
+sb :: offset: 0x189, out: 0xf177000000000000, outHI: 0x0
+sb :: offset: 0x18a, out: 0xf177430000000000, outHI: 0x0
+sb :: offset: 0x18b, out: 0xf177433f00000000, outHI: 0x0
+sb :: offset: 0x18c, out: 0xf177433f37000000, outHI: 0x0
+sb :: offset: 0x18d, out: 0xf177433f373f0000, outHI: 0x0
+sb :: offset: 0x18e, out: 0xf177433f373fd100, outHI: 0x0
+sb :: offset: 0x18f, out: 0xf177433f373fd1c0, outHI: 0x0
+sb :: offset: 0x190, out: 0x8100000000000000, outHI: 0x0
+sb :: offset: 0x191, out: 0x81ec000000000000, outHI: 0x0
+sb :: offset: 0x192, out: 0x81ec910000000000, outHI: 0x0
+sb :: offset: 0x193, out: 0x81ec91d900000000, outHI: 0x0
+sb :: offset: 0x194, out: 0x81ec91d993000000, outHI: 0x0
+sb :: offset: 0x195, out: 0x81ec91d993c90000, outHI: 0x0
+sb :: offset: 0x196, out: 0x81ec91d993c92100, outHI: 0x0
+sb :: offset: 0x197, out: 0x81ec91d993c92195, outHI: 0x0
+sb :: offset: 0x198, out: 0xe400000000000000, outHI: 0x0
+sb :: offset: 0x199, out: 0xe449000000000000, outHI: 0x0
+sb :: offset: 0x19a, out: 0xe449fb0000000000, outHI: 0x0
+sb :: offset: 0x19b, out: 0xe449fbf600000000, outHI: 0x0
+sb :: offset: 0x19c, out: 0xe449fbf6a7000000, outHI: 0x0
+sb :: offset: 0x19d, out: 0xe449fbf6a7950000, outHI: 0x0
+sb :: offset: 0x19e, out: 0xe449fbf6a795b100, outHI: 0x0
+sb :: offset: 0x19f, out: 0xe449fbf6a795b1a5, outHI: 0x0
+sb :: offset: 0x1a0, out: 0xab00000000000000, outHI: 0x0
+sb :: offset: 0x1a1, out: 0xab19000000000000, outHI: 0x0
+sb :: offset: 0x1a2, out: 0xab19360000000000, outHI: 0x0
+sb :: offset: 0x1a3, out: 0xab19364300000000, outHI: 0x0
+sb :: offset: 0x1a4, out: 0xab19364378000000, outHI: 0x0
+sb :: offset: 0x1a5, out: 0xab19364378c70000, outHI: 0x0
+sb :: offset: 0x1a6, out: 0xab19364378c7ce00, outHI: 0x0
+sb :: offset: 0x1a7, out: 0xab19364378c7ce8d, outHI: 0x0
+sb :: offset: 0x1a8, out: 0x1e00000000000000, outHI: 0x0
+sb :: offset: 0x1a9, out: 0x1eb9000000000000, outHI: 0x0
+sb :: offset: 0x1aa, out: 0x1eb99e0000000000, outHI: 0x0
+sb :: offset: 0x1ab, out: 0x1eb99e8d00000000, outHI: 0x0
+sb :: offset: 0x1ac, out: 0x1eb99e8def000000, outHI: 0x0
+sb :: offset: 0x1ad, out: 0x1eb99e8def2f0000, outHI: 0x0
+sb :: offset: 0x1ae, out: 0x1eb99e8def2f3800, outHI: 0x0
+sb :: offset: 0x1af, out: 0x1eb99e8def2f3849, outHI: 0x0
+sb :: offset: 0x1b0, out: 0x700000000000000, outHI: 0x0
+sb :: offset: 0x1b1, out: 0x747000000000000, outHI: 0x0
+sb :: offset: 0x1b2, out: 0x747ea0000000000, outHI: 0x0
+sb :: offset: 0x1b3, out: 0x747eacd00000000, outHI: 0x0
+sb :: offset: 0x1b4, out: 0x747eacdcd000000, outHI: 0x0
+sb :: offset: 0x1b5, out: 0x747eacdcd580000, outHI: 0x0
+sb :: offset: 0x1b6, out: 0x747eacdcd582b00, outHI: 0x0
+sb :: offset: 0x1b7, out: 0x747eacdcd582b12, outHI: 0x0
+sb :: offset: 0x1b8, out: 0xfe00000000000000, outHI: 0x0
+sb :: offset: 0x1b9, out: 0xfed6000000000000, outHI: 0x0
+sb :: offset: 0x1ba, out: 0xfed6850000000000, outHI: 0x0
+sb :: offset: 0x1bb, out: 0xfed6858800000000, outHI: 0x0
+sb :: offset: 0x1bc, out: 0xfed685884e000000, outHI: 0x0
+sb :: offset: 0x1bd, out: 0xfed685884e760000, outHI: 0x0
+sb :: offset: 0x1be, out: 0xfed685884e765500, outHI: 0x0
+sb :: offset: 0x1bf, out: 0xfed685884e76558c, outHI: 0x0
+sb :: offset: 0x1c0, out: 0x4f00000000000000, outHI: 0x0
+sb :: offset: 0x1c1, out: 0x4f61000000000000, outHI: 0x0
+sb :: offset: 0x1c2, out: 0x4f61680000000000, outHI: 0x0
+sb :: offset: 0x1c3, out: 0x4f6168d600000000, outHI: 0x0
+sb :: offset: 0x1c4, out: 0x4f6168d62a000000, outHI: 0x0
+sb :: offset: 0x1c5, out: 0x4f6168d62a340000, outHI: 0x0
+sb :: offset: 0x1c6, out: 0x4f6168d62a34c100, outHI: 0x0
+sb :: offset: 0x1c7, out: 0x4f6168d62a34c195, outHI: 0x0
+sb :: offset: 0x1c8, out: 0xc700000000000000, outHI: 0x0
+sb :: offset: 0x1c9, out: 0xc7d3000000000000, outHI: 0x0
+sb :: offset: 0x1ca, out: 0xc7d3010000000000, outHI: 0x0
+sb :: offset: 0x1cb, out: 0xc7d3016900000000, outHI: 0x0
+sb :: offset: 0x1cc, out: 0xc7d3016989000000, outHI: 0x0
+sb :: offset: 0x1cd, out: 0xc7d30169894d0000, outHI: 0x0
+sb :: offset: 0x1ce, out: 0xc7d30169894df400, outHI: 0x0
+sb :: offset: 0x1cf, out: 0xc7d30169894df474, outHI: 0x0
+sb :: offset: 0x1d0, out: 0x500000000000000, outHI: 0x0
+sb :: offset: 0x1d1, out: 0x51c000000000000, outHI: 0x0
+sb :: offset: 0x1d2, out: 0x51ca10000000000, outHI: 0x0
+sb :: offset: 0x1d3, out: 0x51ca19000000000, outHI: 0x0
+sb :: offset: 0x1d4, out: 0x51ca190bf000000, outHI: 0x0
+sb :: offset: 0x1d5, out: 0x51ca190bf6c0000, outHI: 0x0
+sb :: offset: 0x1d6, out: 0x51ca190bf6cbb00, outHI: 0x0
+sb :: offset: 0x1d7, out: 0x51ca190bf6cbb06, outHI: 0x0
+sb :: offset: 0x1d8, out: 0xdb00000000000000, outHI: 0x0
+sb :: offset: 0x1d9, out: 0xdb58000000000000, outHI: 0x0
+sb :: offset: 0x1da, out: 0xdb58300000000000, outHI: 0x0
+sb :: offset: 0x1db, out: 0xdb58300f00000000, outHI: 0x0
+sb :: offset: 0x1dc, out: 0xdb58300f02000000, outHI: 0x0
+sb :: offset: 0x1dd, out: 0xdb58300f029c0000, outHI: 0x0
+sb :: offset: 0x1de, out: 0xdb58300f029cae00, outHI: 0x0
+sb :: offset: 0x1df, out: 0xdb58300f029cae39, outHI: 0x0
+sb :: offset: 0x1e0, out: 0x3a00000000000000, outHI: 0x0
+sb :: offset: 0x1e1, out: 0x3a9a000000000000, outHI: 0x0
+sb :: offset: 0x1e2, out: 0x3a9a990000000000, outHI: 0x0
+sb :: offset: 0x1e3, out: 0x3a9a995f00000000, outHI: 0x0
+sb :: offset: 0x1e4, out: 0x3a9a995fdb000000, outHI: 0x0
+sb :: offset: 0x1e5, out: 0x3a9a995fdbdc0000, outHI: 0x0
+sb :: offset: 0x1e6, out: 0x3a9a995fdbdc7e00, outHI: 0x0
+sb :: offset: 0x1e7, out: 0x3a9a995fdbdc7ebc, outHI: 0x0
+sb :: offset: 0x1e8, out: 0x2d00000000000000, outHI: 0x0
+sb :: offset: 0x1e9, out: 0x2d8a000000000000, outHI: 0x0
+sb :: offset: 0x1ea, out: 0x2d8a960000000000, outHI: 0x0
+sb :: offset: 0x1eb, out: 0x2d8a960400000000, outHI: 0x0
+sb :: offset: 0x1ec, out: 0x2d8a96047b000000, outHI: 0x0
+sb :: offset: 0x1ed, out: 0x2d8a96047be30000, outHI: 0x0
+sb :: offset: 0x1ee, out: 0x2d8a96047be34000, outHI: 0x0
+sb :: offset: 0x1ef, out: 0x2d8a96047be3405b, outHI: 0x0
+sb :: offset: 0x1f0, out: 0x4800000000000000, outHI: 0x0
+sb :: offset: 0x1f1, out: 0x4875000000000000, outHI: 0x0
+sb :: offset: 0x1f2, out: 0x4875bf0000000000, outHI: 0x0
+sb :: offset: 0x1f3, out: 0x4875bfaf00000000, outHI: 0x0
+sb :: offset: 0x1f4, out: 0x4875bfafd2000000, outHI: 0x0
+sb :: offset: 0x1f5, out: 0x4875bfafd2d50000, outHI: 0x0
+sb :: offset: 0x1f6, out: 0x4875bfafd2d51900, outHI: 0x0
+sb :: offset: 0x1f7, out: 0x4875bfafd2d519d3, outHI: 0x0
+sb :: offset: 0x1f8, out: 0x2200000000000000, outHI: 0x0
+sb :: offset: 0x1f9, out: 0x22de000000000000, outHI: 0x0
+sb :: offset: 0x1fa, out: 0x22de230000000000, outHI: 0x0
+sb :: offset: 0x1fb, out: 0x22de230800000000, outHI: 0x0
+sb :: offset: 0x1fc, out: 0x22de230867000000, outHI: 0x0
+sb :: offset: 0x1fd, out: 0x22de230867a60000, outHI: 0x0
+sb :: offset: 0x1fe, out: 0x22de230867a63000, outHI: 0x0
+sb :: offset: 0x1ff, out: 0x22de230867a630f6, outHI: 0x0
+sb :: offset: 0x200, out: 0xad00000000000000, outHI: 0x0
+sb :: offset: 0x201, out: 0xad2c000000000000, outHI: 0x0
+sb :: offset: 0x202, out: 0xad2c0a0000000000, outHI: 0x0
+sb :: offset: 0x203, out: 0xad2c0a0c00000000, outHI: 0x0
+sb :: offset: 0x204, out: 0xad2c0a0cf2000000, outHI: 0x0
+sb :: offset: 0x205, out: 0xad2c0a0cf2560000, outHI: 0x0
+sb :: offset: 0x206, out: 0xad2c0a0cf2561000, outHI: 0x0
+sb :: offset: 0x207, out: 0xad2c0a0cf2561032, outHI: 0x0
+sb :: offset: 0x208, out: 0x6000000000000000, outHI: 0x0
+sb :: offset: 0x209, out: 0x6094000000000000, outHI: 0x0
+sb :: offset: 0x20a, out: 0x6094a90000000000, outHI: 0x0
+sb :: offset: 0x20b, out: 0x6094a90500000000, outHI: 0x0
+sb :: offset: 0x20c, out: 0x6094a90544000000, outHI: 0x0
+sb :: offset: 0x20d, out: 0x6094a90544240000, outHI: 0x0
+sb :: offset: 0x20e, out: 0x6094a90544249b00, outHI: 0x0
+sb :: offset: 0x20f, out: 0x6094a90544249b18, outHI: 0x0
+sb :: offset: 0x210, out: 0xef00000000000000, outHI: 0x0
+sb :: offset: 0x211, out: 0xeff9000000000000, outHI: 0x0
+sb :: offset: 0x212, out: 0xeff9510000000000, outHI: 0x0
+sb :: offset: 0x213, out: 0xeff9519f00000000, outHI: 0x0
+sb :: offset: 0x214, out: 0xeff9519fb5000000, outHI: 0x0
+sb :: offset: 0x215, out: 0xeff9519fb55b0000, outHI: 0x0
+sb :: offset: 0x216, out: 0xeff9519fb55b5600, outHI: 0x0
+sb :: offset: 0x217, out: 0xeff9519fb55b56fc, outHI: 0x0
+sb :: offset: 0x218, out: 0xde00000000000000, outHI: 0x0
+sb :: offset: 0x219, out: 0xde81000000000000, outHI: 0x0
+sb :: offset: 0x21a, out: 0xde81da0000000000, outHI: 0x0
+sb :: offset: 0x21b, out: 0xde81daf800000000, outHI: 0x0
+sb :: offset: 0x21c, out: 0xde81daf820000000, outHI: 0x0
+sb :: offset: 0x21d, out: 0xde81daf820040000, outHI: 0x0
+sb :: offset: 0x21e, out: 0xde81daf820046800, outHI: 0x0
+sb :: offset: 0x21f, out: 0xde81daf820046831, outHI: 0x0
+sb :: offset: 0x220, out: 0x9b00000000000000, outHI: 0x0
+sb :: offset: 0x221, out: 0x9b8c000000000000, outHI: 0x0
+sb :: offset: 0x222, out: 0x9b8c610000000000, outHI: 0x0
+sb :: offset: 0x223, out: 0x9b8c61ca00000000, outHI: 0x0
+sb :: offset: 0x224, out: 0x9b8c61ca5a000000, outHI: 0x0
+sb :: offset: 0x225, out: 0x9b8c61ca5a570000, outHI: 0x0
+sb :: offset: 0x226, out: 0x9b8c61ca5a572500, outHI: 0x0
+sb :: offset: 0x227, out: 0x9b8c61ca5a5725f2, outHI: 0x0
+sb :: offset: 0x228, out: 0xec00000000000000, outHI: 0x0
+sb :: offset: 0x229, out: 0xec8b000000000000, outHI: 0x0
+sb :: offset: 0x22a, out: 0xec8b950000000000, outHI: 0x0
+sb :: offset: 0x22b, out: 0xec8b95a600000000, outHI: 0x0
+sb :: offset: 0x22c, out: 0xec8b95a6dd000000, outHI: 0x0
+sb :: offset: 0x22d, out: 0xec8b95a6ddc20000, outHI: 0x0
+sb :: offset: 0x22e, out: 0xec8b95a6ddc25d00, outHI: 0x0
+sb :: offset: 0x22f, out: 0xec8b95a6ddc25dc8, outHI: 0x0
+sb :: offset: 0x230, out: 0xbf00000000000000, outHI: 0x0
+sb :: offset: 0x231, out: 0xbf30000000000000, outHI: 0x0
+sb :: offset: 0x232, out: 0xbf300c0000000000, outHI: 0x0
+sb :: offset: 0x233, out: 0xbf300ce700000000, outHI: 0x0
+sb :: offset: 0x234, out: 0xbf300ce751000000, outHI: 0x0
+sb :: offset: 0x235, out: 0xbf300ce751da0000, outHI: 0x0
+sb :: offset: 0x236, out: 0xbf300ce751dac600, outHI: 0x0
+sb :: offset: 0x237, out: 0xbf300ce751dac616, outHI: 0x0
+sb :: offset: 0x238, out: 0x2f00000000000000, outHI: 0x0
+sb :: offset: 0x239, out: 0x2f67000000000000, outHI: 0x0
+sb :: offset: 0x23a, out: 0x2f67780000000000, outHI: 0x0
+sb :: offset: 0x23b, out: 0x2f6778fd00000000, outHI: 0x0
+sb :: offset: 0x23c, out: 0x2f6778fdf3000000, outHI: 0x0
+sb :: offset: 0x23d, out: 0x2f6778fdf3ba0000, outHI: 0x0
+sb :: offset: 0x23e, out: 0x2f6778fdf3ba5200, outHI: 0x0
+sb :: offset: 0x23f, out: 0x2f6778fdf3ba52a8, outHI: 0x0
+sb :: offset: 0x240, out: 0x5000000000000000, outHI: 0x0
+sb :: offset: 0x241, out: 0x50ad000000000000, outHI: 0x0
+sb :: offset: 0x242, out: 0x50ad000000000000, outHI: 0x0
+sb :: offset: 0x243, out: 0x50ad00b100000000, outHI: 0x0
+sb :: offset: 0x244, out: 0x50ad00b1f7000000, outHI: 0x0
+sb :: offset: 0x245, out: 0x50ad00b1f7da0000, outHI: 0x0
+sb :: offset: 0x246, out: 0x50ad00b1f7da7800, outHI: 0x0
+sb :: offset: 0x247, out: 0x50ad00b1f7da7847, outHI: 0x0
+sb :: offset: 0x248, out: 0x9f00000000000000, outHI: 0x0
+sb :: offset: 0x249, out: 0x9f08000000000000, outHI: 0x0
+sb :: offset: 0x24a, out: 0x9f08d40000000000, outHI: 0x0
+sb :: offset: 0x24b, out: 0x9f08d44100000000, outHI: 0x0
+sb :: offset: 0x24c, out: 0x9f08d44168000000, outHI: 0x0
+sb :: offset: 0x24d, out: 0x9f08d44168a60000, outHI: 0x0
+sb :: offset: 0x24e, out: 0x9f08d44168a6b600, outHI: 0x0
+sb :: offset: 0x24f, out: 0x9f08d44168a6b6d9, outHI: 0x0
+sb :: offset: 0x250, out: 0x8a00000000000000, outHI: 0x0
+sb :: offset: 0x251, out: 0x8af5000000000000, outHI: 0x0
+sb :: offset: 0x252, out: 0x8af5180000000000, outHI: 0x0
+sb :: offset: 0x253, out: 0x8af5183800000000, outHI: 0x0
+sb :: offset: 0x254, out: 0x8af518381d000000, outHI: 0x0
+sb :: offset: 0x255, out: 0x8af518381dce0000, outHI: 0x0
+sb :: offset: 0x256, out: 0x8af518381dce6300, outHI: 0x0
+sb :: offset: 0x257, out: 0x8af518381dce6344, outHI: 0x0
+sb :: offset: 0x258, out: 0x1300000000000000, outHI: 0x0
+sb :: offset: 0x259, out: 0x13e4000000000000, outHI: 0x0
+sb :: offset: 0x25a, out: 0x13e4620000000000, outHI: 0x0
+sb :: offset: 0x25b, out: 0x13e4627f00000000, outHI: 0x0
+sb :: offset: 0x25c, out: 0x13e4627f3f000000, outHI: 0x0
+sb :: offset: 0x25d, out: 0x13e4627f3fe50000, outHI: 0x0
+sb :: offset: 0x25e, out: 0x13e4627f3fe52500, outHI: 0x0
+sb :: offset: 0x25f, out: 0x13e4627f3fe5255f, outHI: 0x0
+sb :: offset: 0x260, out: 0xc000000000000000, outHI: 0x0
+sb :: offset: 0x261, out: 0xc0cc000000000000, outHI: 0x0
+sb :: offset: 0x262, out: 0xc0ccd30000000000, outHI: 0x0
+sb :: offset: 0x263, out: 0xc0ccd39200000000, outHI: 0x0
+sb :: offset: 0x264, out: 0xc0ccd392e1000000, outHI: 0x0
+sb :: offset: 0x265, out: 0xc0ccd392e1760000, outHI: 0x0
+sb :: offset: 0x266, out: 0xc0ccd392e1763200, outHI: 0x0
+sb :: offset: 0x267, out: 0xc0ccd392e176321f, outHI: 0x0
+sb :: offset: 0x268, out: 0x2800000000000000, outHI: 0x0
+sb :: offset: 0x269, out: 0x2882000000000000, outHI: 0x0
+sb :: offset: 0x26a, out: 0x2882940000000000, outHI: 0x0
+sb :: offset: 0x26b, out: 0x2882946400000000, outHI: 0x0
+sb :: offset: 0x26c, out: 0x2882946494000000, outHI: 0x0
+sb :: offset: 0x26d, out: 0x2882946494400000, outHI: 0x0
+sb :: offset: 0x26e, out: 0x2882946494401800, outHI: 0x0
+sb :: offset: 0x26f, out: 0x28829464944018fd, outHI: 0x0
+sb :: offset: 0x270, out: 0x8f00000000000000, outHI: 0x0
+sb :: offset: 0x271, out: 0x8f15000000000000, outHI: 0x0
+sb :: offset: 0x272, out: 0x8f15d30000000000, outHI: 0x0
+sb :: offset: 0x273, out: 0x8f15d32000000000, outHI: 0x0
+sb :: offset: 0x274, out: 0x8f15d32040000000, outHI: 0x0
+sb :: offset: 0x275, out: 0x8f15d32040520000, outHI: 0x0
+sb :: offset: 0x276, out: 0x8f15d3204052e800, outHI: 0x0
+sb :: offset: 0x277, out: 0x8f15d3204052e8f0, outHI: 0x0
+sb :: offset: 0x278, out: 0xe500000000000000, outHI: 0x0
+sb :: offset: 0x279, out: 0xe57c000000000000, outHI: 0x0
+sb :: offset: 0x27a, out: 0xe57caf0000000000, outHI: 0x0
+sb :: offset: 0x27b, out: 0xe57caf8300000000, outHI: 0x0
+sb :: offset: 0x27c, out: 0xe57caf83d2000000, outHI: 0x0
+sb :: offset: 0x27d, out: 0xe57caf83d2880000, outHI: 0x0
+sb :: offset: 0x27e, out: 0xe57caf83d2880f00, outHI: 0x0
+sb :: offset: 0x27f, out: 0xe57caf83d2880ff3, outHI: 0x0
+sb :: offset: 0x280, out: 0x4400000000000000, outHI: 0x0
+sb :: offset: 0x281, out: 0x44f1000000000000, outHI: 0x0
+sb :: offset: 0x282, out: 0x44f1560000000000, outHI: 0x0
+sb :: offset: 0x283, out: 0x44f156a000000000, outHI: 0x0
+sb :: offset: 0x284, out: 0x44f156a04c000000, outHI: 0x0
+sb :: offset: 0x285, out: 0x44f156a04c740000, outHI: 0x0
+sb :: offset: 0x286, out: 0x44f156a04c747d00, outHI: 0x0
+sb :: offset: 0x287, out: 0x44f156a04c747def, outHI: 0x0
+sb :: offset: 0x288, out: 0xd700000000000000, outHI: 0x0
+sb :: offset: 0x289, out: 0xd793000000000000, outHI: 0x0
+sb :: offset: 0x28a, out: 0xd793e20000000000, outHI: 0x0
+sb :: offset: 0x28b, out: 0xd793e26000000000, outHI: 0x0
+sb :: offset: 0x28c, out: 0xd793e2601c000000, outHI: 0x0
+sb :: offset: 0x28d, out: 0xd793e2601c0f0000, outHI: 0x0
+sb :: offset: 0x28e, out: 0xd793e2601c0f3100, outHI: 0x0
+sb :: offset: 0x28f, out: 0xd793e2601c0f31d7, outHI: 0x0
+sb :: offset: 0x290, out: 0x1000000000000000, outHI: 0x0
+sb :: offset: 0x291, out: 0x10e1000000000000, outHI: 0x0
+sb :: offset: 0x292, out: 0x10e1e10000000000, outHI: 0x0
+sb :: offset: 0x293, out: 0x10e1e1a600000000, outHI: 0x0
+sb :: offset: 0x294, out: 0x10e1e1a679000000, outHI: 0x0
+sb :: offset: 0x295, out: 0x10e1e1a679130000, outHI: 0x0
+sb :: offset: 0x296, out: 0x10e1e1a679131c00, outHI: 0x0
+sb :: offset: 0x297, out: 0x10e1e1a679131cd9, outHI: 0x0
+sb :: offset: 0x298, out: 0x3300000000000000, outHI: 0x0
+sb :: offset: 0x299, out: 0x3324000000000000, outHI: 0x0
+sb :: offset: 0x29a, out: 0x3324290000000000, outHI: 0x0
+sb :: offset: 0x29b, out: 0x3324296b00000000, outHI: 0x0
+sb :: offset: 0x29c, out: 0x3324296b75000000, outHI: 0x0
+sb :: offset: 0x29d, out: 0x3324296b75a70000, outHI: 0x0
+sb :: offset: 0x29e, out: 0x3324296b75a76f00, outHI: 0x0
+sb :: offset: 0x29f, out: 0x3324296b75a76fa4, outHI: 0x0
+sb :: offset: 0x2a0, out: 0x2700000000000000, outHI: 0x0
+sb :: offset: 0x2a1, out: 0x27d2000000000000, outHI: 0x0
+sb :: offset: 0x2a2, out: 0x27d2960000000000, outHI: 0x0
+sb :: offset: 0x2a3, out: 0x27d296e200000000, outHI: 0x0
+sb :: offset: 0x2a4, out: 0x27d296e2d2000000, outHI: 0x0
+sb :: offset: 0x2a5, out: 0x27d296e2d2130000, outHI: 0x0
+sb :: offset: 0x2a6, out: 0x27d296e2d2139e00, outHI: 0x0
+sb :: offset: 0x2a7, out: 0x27d296e2d2139ee5, outHI: 0x0
+sb :: offset: 0x2a8, out: 0x6a00000000000000, outHI: 0x0
+sb :: offset: 0x2a9, out: 0x6a5a000000000000, outHI: 0x0
+sb :: offset: 0x2aa, out: 0x6a5a820000000000, outHI: 0x0
+sb :: offset: 0x2ab, out: 0x6a5a824400000000, outHI: 0x0
+sb :: offset: 0x2ac, out: 0x6a5a82447f000000, outHI: 0x0
+sb :: offset: 0x2ad, out: 0x6a5a82447f6d0000, outHI: 0x0
+sb :: offset: 0x2ae, out: 0x6a5a82447f6dc200, outHI: 0x0
+sb :: offset: 0x2af, out: 0x6a5a82447f6dc2a5, outHI: 0x0
+sb :: offset: 0x2b0, out: 0xc000000000000000, outHI: 0x0
+sb :: offset: 0x2b1, out: 0xc076000000000000, outHI: 0x0
+sb :: offset: 0x2b2, out: 0xc076c80000000000, outHI: 0x0
+sb :: offset: 0x2b3, out: 0xc076c89e00000000, outHI: 0x0
+sb :: offset: 0x2b4, out: 0xc076c89e80000000, outHI: 0x0
+sb :: offset: 0x2b5, out: 0xc076c89e80c00000, outHI: 0x0
+sb :: offset: 0x2b6, out: 0xc076c89e80c07d00, outHI: 0x0
+sb :: offset: 0x2b7, out: 0xc076c89e80c07dc1, outHI: 0x0
+sb :: offset: 0x2b8, out: 0x6800000000000000, outHI: 0x0
+sb :: offset: 0x2b9, out: 0x6807000000000000, outHI: 0x0
+sb :: offset: 0x2ba, out: 0x68070d0000000000, outHI: 0x0
+sb :: offset: 0x2bb, out: 0x68070dc300000000, outHI: 0x0
+sb :: offset: 0x2bc, out: 0x68070dc345000000, outHI: 0x0
+sb :: offset: 0x2bd, out: 0x68070dc3454b0000, outHI: 0x0
+sb :: offset: 0x2be, out: 0x68070dc3454bfe00, outHI: 0x0
+sb :: offset: 0x2bf, out: 0x68070dc3454bfe34, outHI: 0x0
+sb :: offset: 0x2c0, out: 0x8f00000000000000, outHI: 0x0
+sb :: offset: 0x2c1, out: 0x8fbd000000000000, outHI: 0x0
+sb :: offset: 0x2c2, out: 0x8fbddc0000000000, outHI: 0x0
+sb :: offset: 0x2c3, out: 0x8fbddc7100000000, outHI: 0x0
+sb :: offset: 0x2c4, out: 0x8fbddc7123000000, outHI: 0x0
+sb :: offset: 0x2c5, out: 0x8fbddc7123dd0000, outHI: 0x0
+sb :: offset: 0x2c6, out: 0x8fbddc7123dd6d00, outHI: 0x0
+sb :: offset: 0x2c7, out: 0x8fbddc7123dd6d24, outHI: 0x0
+sb :: offset: 0x2c8, out: 0x1b00000000000000, outHI: 0x0
+sb :: offset: 0x2c9, out: 0x1bf6000000000000, outHI: 0x0
+sb :: offset: 0x2ca, out: 0x1bf62f0000000000, outHI: 0x0
+sb :: offset: 0x2cb, out: 0x1bf62fb700000000, outHI: 0x0
+sb :: offset: 0x2cc, out: 0x1bf62fb727000000, outHI: 0x0
+sb :: offset: 0x2cd, out: 0x1bf62fb727a50000, outHI: 0x0
+sb :: offset: 0x2ce, out: 0x1bf62fb727a59f00, outHI: 0x0
+sb :: offset: 0x2cf, out: 0x1bf62fb727a59fce, outHI: 0x0
+sb :: offset: 0x2d0, out: 0xbe00000000000000, outHI: 0x0
+sb :: offset: 0x2d1, out: 0xbe10000000000000, outHI: 0x0
+sb :: offset: 0x2d2, out: 0xbe109f0000000000, outHI: 0x0
+sb :: offset: 0x2d3, out: 0xbe109f2700000000, outHI: 0x0
+sb :: offset: 0x2d4, out: 0xbe109f27e9000000, outHI: 0x0
+sb :: offset: 0x2d5, out: 0xbe109f27e90f0000, outHI: 0x0
+sb :: offset: 0x2d6, out: 0xbe109f27e90f9f00, outHI: 0x0
+sb :: offset: 0x2d7, out: 0xbe109f27e90f9f46, outHI: 0x0
+sb :: offset: 0x2d8, out: 0xfb00000000000000, outHI: 0x0
+sb :: offset: 0x2d9, out: 0xfb3f000000000000, outHI: 0x0
+sb :: offset: 0x2da, out: 0xfb3f630000000000, outHI: 0x0
+sb :: offset: 0x2db, out: 0xfb3f63da00000000, outHI: 0x0
+sb :: offset: 0x2dc, out: 0xfb3f63daa9000000, outHI: 0x0
+sb :: offset: 0x2dd, out: 0xfb3f63daa9af0000, outHI: 0x0
+sb :: offset: 0x2de, out: 0xfb3f63daa9afd100, outHI: 0x0
+sb :: offset: 0x2df, out: 0xfb3f63daa9afd199, outHI: 0x0
+sb :: offset: 0x2e0, out: 0xd700000000000000, outHI: 0x0
+sb :: offset: 0x2e1, out: 0xd7db000000000000, outHI: 0x0
+sb :: offset: 0x2e2, out: 0xd7dbcb0000000000, outHI: 0x0
+sb :: offset: 0x2e3, out: 0xd7dbcb3100000000, outHI: 0x0
+sb :: offset: 0x2e4, out: 0xd7dbcb312e000000, outHI: 0x0
+sb :: offset: 0x2e5, out: 0xd7dbcb312ea30000, outHI: 0x0
+sb :: offset: 0x2e6, out: 0xd7dbcb312ea3d400, outHI: 0x0
+sb :: offset: 0x2e7, out: 0xd7dbcb312ea3d484, outHI: 0x0
+sb :: offset: 0x2e8, out: 0xf200000000000000, outHI: 0x0
+sb :: offset: 0x2e9, out: 0xf21f000000000000, outHI: 0x0
+sb :: offset: 0x2ea, out: 0xf21f350000000000, outHI: 0x0
+sb :: offset: 0x2eb, out: 0xf21f353f00000000, outHI: 0x0
+sb :: offset: 0x2ec, out: 0xf21f353faa000000, outHI: 0x0
+sb :: offset: 0x2ed, out: 0xf21f353faada0000, outHI: 0x0
+sb :: offset: 0x2ee, out: 0xf21f353faada4f00, outHI: 0x0
+sb :: offset: 0x2ef, out: 0xf21f353faada4fe4, outHI: 0x0
+sb :: offset: 0x2f0, out: 0xc600000000000000, outHI: 0x0
+sb :: offset: 0x2f1, out: 0xc68b000000000000, outHI: 0x0
+sb :: offset: 0x2f2, out: 0xc68b080000000000, outHI: 0x0
+sb :: offset: 0x2f3, out: 0xc68b086e00000000, outHI: 0x0
+sb :: offset: 0x2f4, out: 0xc68b086ee0000000, outHI: 0x0
+sb :: offset: 0x2f5, out: 0xc68b086ee0710000, outHI: 0x0
+sb :: offset: 0x2f6, out: 0xc68b086ee0715000, outHI: 0x0
+sb :: offset: 0x2f7, out: 0xc68b086ee07150c2, outHI: 0x0
+sb :: offset: 0x2f8, out: 0x6000000000000000, outHI: 0x0
+sb :: offset: 0x2f9, out: 0x60e5000000000000, outHI: 0x0
+sb :: offset: 0x2fa, out: 0x60e5470000000000, outHI: 0x0
+sb :: offset: 0x2fb, out: 0x60e5475000000000, outHI: 0x0
+sb :: offset: 0x2fc, out: 0x60e54750d5000000, outHI: 0x0
+sb :: offset: 0x2fd, out: 0x60e54750d5d90000, outHI: 0x0
+sb :: offset: 0x2fe, out: 0x60e54750d5d92500, outHI: 0x0
+sb :: offset: 0x2ff, out: 0x60e54750d5d9257f, outHI: 0x0
+sb :: offset: 0x300, out: 0x2500000000000000, outHI: 0x0
+sb :: offset: 0x301, out: 0x253d000000000000, outHI: 0x0
+sb :: offset: 0x302, out: 0x253d690000000000, outHI: 0x0
+sb :: offset: 0x303, out: 0x253d696200000000, outHI: 0x0
+sb :: offset: 0x304, out: 0x253d69625f000000, outHI: 0x0
+sb :: offset: 0x305, out: 0x253d69625fe90000, outHI: 0x0
+sb :: offset: 0x306, out: 0x253d69625fe9a600, outHI: 0x0
+sb :: offset: 0x307, out: 0x253d69625fe9a6db, outHI: 0x0
+sb :: offset: 0x308, out: 0x5b00000000000000, outHI: 0x0
+sb :: offset: 0x309, out: 0x5b70000000000000, outHI: 0x0
+sb :: offset: 0x30a, out: 0x5b70a30000000000, outHI: 0x0
+sb :: offset: 0x30b, out: 0x5b70a3e000000000, outHI: 0x0
+sb :: offset: 0x30c, out: 0x5b70a3e042000000, outHI: 0x0
+sb :: offset: 0x30d, out: 0x5b70a3e042430000, outHI: 0x0
+sb :: offset: 0x30e, out: 0x5b70a3e042434000, outHI: 0x0
+sb :: offset: 0x30f, out: 0x5b70a3e0424340ac, outHI: 0x0
+sb :: offset: 0x310, out: 0x9600000000000000, outHI: 0x0
+sb :: offset: 0x311, out: 0x96c0000000000000, outHI: 0x0
+sb :: offset: 0x312, out: 0x96c0470000000000, outHI: 0x0
+sb :: offset: 0x313, out: 0x96c0478f00000000, outHI: 0x0
+sb :: offset: 0x314, out: 0x96c0478f03000000, outHI: 0x0
+sb :: offset: 0x315, out: 0x96c0478f03690000, outHI: 0x0
+sb :: offset: 0x316, out: 0x96c0478f03698000, outHI: 0x0
+sb :: offset: 0x317, out: 0x96c0478f03698017, outHI: 0x0
+sb :: offset: 0x318, out: 0x1e00000000000000, outHI: 0x0
+sb :: offset: 0x319, out: 0x1e3c000000000000, outHI: 0x0
+sb :: offset: 0x31a, out: 0x1e3ce80000000000, outHI: 0x0
+sb :: offset: 0x31b, out: 0x1e3ce83900000000, outHI: 0x0
+sb :: offset: 0x31c, out: 0x1e3ce839a5000000, outHI: 0x0
+sb :: offset: 0x31d, out: 0x1e3ce839a51c0000, outHI: 0x0
+sb :: offset: 0x31e, out: 0x1e3ce839a51cf900, outHI: 0x0
+sb :: offset: 0x31f, out: 0x1e3ce839a51cf929, outHI: 0x0
+sb :: offset: 0x320, out: 0xe300000000000000, outHI: 0x0
+sb :: offset: 0x321, out: 0xe3e2000000000000, outHI: 0x0
+sb :: offset: 0x322, out: 0xe3e2fb0000000000, outHI: 0x0
+sb :: offset: 0x323, out: 0xe3e2fbfa00000000, outHI: 0x0
+sb :: offset: 0x324, out: 0xe3e2fbfa89000000, outHI: 0x0
+sb :: offset: 0x325, out: 0xe3e2fbfa895e0000, outHI: 0x0
+sb :: offset: 0x326, out: 0xe3e2fbfa895eb600, outHI: 0x0
+sb :: offset: 0x327, out: 0xe3e2fbfa895eb689, outHI: 0x0
+sb :: offset: 0x328, out: 0x5800000000000000, outHI: 0x0
+sb :: offset: 0x329, out: 0x58d2000000000000, outHI: 0x0
+sb :: offset: 0x32a, out: 0x58d24b0000000000, outHI: 0x0
+sb :: offset: 0x32b, out: 0x58d24bb000000000, outHI: 0x0
+sb :: offset: 0x32c, out: 0x58d24bb05d000000, outHI: 0x0
+sb :: offset: 0x32d, out: 0x58d24bb05d760000, outHI: 0x0
+sb :: offset: 0x32e, out: 0x58d24bb05d76ed00, outHI: 0x0
+sb :: offset: 0x32f, out: 0x58d24bb05d76ed25, outHI: 0x0
+sb :: offset: 0x330, out: 0xb700000000000000, outHI: 0x0
+sb :: offset: 0x331, out: 0xb70e000000000000, outHI: 0x0
+sb :: offset: 0x332, out: 0xb70eb90000000000, outHI: 0x0
+sb :: offset: 0x333, out: 0xb70eb96800000000, outHI: 0x0
+sb :: offset: 0x334, out: 0xb70eb9682c000000, outHI: 0x0
+sb :: offset: 0x335, out: 0xb70eb9682c170000, outHI: 0x0
+sb :: offset: 0x336, out: 0xb70eb9682c170300, outHI: 0x0
+sb :: offset: 0x337, out: 0xb70eb9682c170312, outHI: 0x0
+sb :: offset: 0x338, out: 0xf100000000000000, outHI: 0x0
+sb :: offset: 0x339, out: 0xf184000000000000, outHI: 0x0
+sb :: offset: 0x33a, out: 0xf184780000000000, outHI: 0x0
+sb :: offset: 0x33b, out: 0xf184785200000000, outHI: 0x0
+sb :: offset: 0x33c, out: 0xf184785280000000, outHI: 0x0
+sb :: offset: 0x33d, out: 0xf184785280dd0000, outHI: 0x0
+sb :: offset: 0x33e, out: 0xf184785280dd3000, outHI: 0x0
+sb :: offset: 0x33f, out: 0xf184785280dd301d, outHI: 0x0
+sb :: offset: 0x340, out: 0xd00000000000000, outHI: 0x0
+sb :: offset: 0x341, out: 0xd17000000000000, outHI: 0x0
+sb :: offset: 0x342, out: 0xd179c0000000000, outHI: 0x0
+sb :: offset: 0x343, out: 0xd179c7700000000, outHI: 0x0
+sb :: offset: 0x344, out: 0xd179c77aa000000, outHI: 0x0
+sb :: offset: 0x345, out: 0xd179c77aa1f0000, outHI: 0x0
+sb :: offset: 0x346, out: 0xd179c77aa1f8f00, outHI: 0x0
+sb :: offset: 0x347, out: 0xd179c77aa1f8fd6, outHI: 0x0
+sb :: offset: 0x348, out: 0xef00000000000000, outHI: 0x0
+sb :: offset: 0x349, out: 0xef26000000000000, outHI: 0x0
+sb :: offset: 0x34a, out: 0xef26440000000000, outHI: 0x0
+sb :: offset: 0x34b, out: 0xef26444c00000000, outHI: 0x0
+sb :: offset: 0x34c, out: 0xef26444ced000000, outHI: 0x0
+sb :: offset: 0x34d, out: 0xef26444ced290000, outHI: 0x0
+sb :: offset: 0x34e, out: 0xef26444ced299800, outHI: 0x0
+sb :: offset: 0x34f, out: 0xef26444ced299843, outHI: 0x0
+sb :: offset: 0x350, out: 0x6d00000000000000, outHI: 0x0
+sb :: offset: 0x351, out: 0x6d07000000000000, outHI: 0x0
+sb :: offset: 0x352, out: 0x6d07170000000000, outHI: 0x0
+sb :: offset: 0x353, out: 0x6d07175c00000000, outHI: 0x0
+sb :: offset: 0x354, out: 0x6d07175c9d000000, outHI: 0x0
+sb :: offset: 0x355, out: 0x6d07175c9dd50000, outHI: 0x0
+sb :: offset: 0x356, out: 0x6d07175c9dd58c00, outHI: 0x0
+sb :: offset: 0x357, out: 0x6d07175c9dd58ca7, outHI: 0x0
+sb :: offset: 0x358, out: 0x800000000000000, outHI: 0x0
+sb :: offset: 0x359, out: 0x866000000000000, outHI: 0x0
+sb :: offset: 0x35a, out: 0x8663d0000000000, outHI: 0x0
+sb :: offset: 0x35b, out: 0x8663d0600000000, outHI: 0x0
+sb :: offset: 0x35c, out: 0x8663d0610000000, outHI: 0x0
+sb :: offset: 0x35d, out: 0x8663d0610550000, outHI: 0x0
+sb :: offset: 0x35e, out: 0x8663d0610558300, outHI: 0x0
+sb :: offset: 0x35f, out: 0x8663d0610558332, outHI: 0x0
+sb :: offset: 0x360, out: 0x8700000000000000, outHI: 0x0
+sb :: offset: 0x361, out: 0x87ab000000000000, outHI: 0x0
+sb :: offset: 0x362, out: 0x87ab7d0000000000, outHI: 0x0
+sb :: offset: 0x363, out: 0x87ab7dd000000000, outHI: 0x0
+sb :: offset: 0x364, out: 0x87ab7dd048000000, outHI: 0x0
+sb :: offset: 0x365, out: 0x87ab7dd048890000, outHI: 0x0
+sb :: offset: 0x366, out: 0x87ab7dd048895100, outHI: 0x0
+sb :: offset: 0x367, out: 0x87ab7dd0488951d6, outHI: 0x0
+sb :: offset: 0x368, out: 0x8b00000000000000, outHI: 0x0
+sb :: offset: 0x369, out: 0x8bf6000000000000, outHI: 0x0
+sb :: offset: 0x36a, out: 0x8bf6980000000000, outHI: 0x0
+sb :: offset: 0x36b, out: 0x8bf6982300000000, outHI: 0x0
+sb :: offset: 0x36c, out: 0x8bf6982367000000, outHI: 0x0
+sb :: offset: 0x36d, out: 0x8bf69823670e0000, outHI: 0x0
+sb :: offset: 0x36e, out: 0x8bf69823670e8200, outHI: 0x0
+sb :: offset: 0x36f, out: 0x8bf69823670e8247, outHI: 0x0
+sb :: offset: 0x370, out: 0x1b00000000000000, outHI: 0x0
+sb :: offset: 0x371, out: 0x1b36000000000000, outHI: 0x0
+sb :: offset: 0x372, out: 0x1b36880000000000, outHI: 0x0
+sb :: offset: 0x373, out: 0x1b36886c00000000, outHI: 0x0
+sb :: offset: 0x374, out: 0x1b36886c59000000, outHI: 0x0
+sb :: offset: 0x375, out: 0x1b36886c59d90000, outHI: 0x0
+sb :: offset: 0x376, out: 0x1b36886c59d98d00, outHI: 0x0
+sb :: offset: 0x377, out: 0x1b36886c59d98d26, outHI: 0x0
+sb :: offset: 0x378, out: 0xb200000000000000, outHI: 0x0
+sb :: offset: 0x379, out: 0xb209000000000000, outHI: 0x0
+sb :: offset: 0x37a, out: 0xb209ca0000000000, outHI: 0x0
+sb :: offset: 0x37b, out: 0xb209ca4b00000000, outHI: 0x0
+sb :: offset: 0x37c, out: 0xb209ca4bdb000000, outHI: 0x0
+sb :: offset: 0x37d, out: 0xb209ca4bdbd30000, outHI: 0x0
+sb :: offset: 0x37e, out: 0xb209ca4bdbd32b00, outHI: 0x0
+sb :: offset: 0x37f, out: 0xb209ca4bdbd32be4, outHI: 0x0
+sb :: offset: 0x380, out: 0x7900000000000000, outHI: 0x0
+sb :: offset: 0x381, out: 0x79fd000000000000, outHI: 0x0
+sb :: offset: 0x382, out: 0x79fd5d0000000000, outHI: 0x0
+sb :: offset: 0x383, out: 0x79fd5d7d00000000, outHI: 0x0
+sb :: offset: 0x384, out: 0x79fd5d7d1d000000, outHI: 0x0
+sb :: offset: 0x385, out: 0x79fd5d7d1d990000, outHI: 0x0
+sb :: offset: 0x386, out: 0x79fd5d7d1d996200, outHI: 0x0
+sb :: offset: 0x387, out: 0x79fd5d7d1d9962e6, outHI: 0x0
+sb :: offset: 0x388, out: 0x1f00000000000000, outHI: 0x0
+sb :: offset: 0x389, out: 0x1f3f000000000000, outHI: 0x0
+sb :: offset: 0x38a, out: 0x1f3f460000000000, outHI: 0x0
+sb :: offset: 0x38b, out: 0x1f3f465500000000, outHI: 0x0
+sb :: offset: 0x38c, out: 0x1f3f46553e000000, outHI: 0x0
+sb :: offset: 0x38d, out: 0x1f3f46553eca0000, outHI: 0x0
+sb :: offset: 0x38e, out: 0x1f3f46553ecad300, outHI: 0x0
+sb :: offset: 0x38f, out: 0x1f3f46553ecad374, outHI: 0x0
+sb :: offset: 0x390, out: 0xdf00000000000000, outHI: 0x0
+sb :: offset: 0x391, out: 0xdf2e000000000000, outHI: 0x0
+sb :: offset: 0x392, out: 0xdf2e9a0000000000, outHI: 0x0
+sb :: offset: 0x393, out: 0xdf2e9ab900000000, outHI: 0x0
+sb :: offset: 0x394, out: 0xdf2e9ab97d000000, outHI: 0x0
+sb :: offset: 0x395, out: 0xdf2e9ab97d3e0000, outHI: 0x0
+sb :: offset: 0x396, out: 0xdf2e9ab97d3eed00, outHI: 0x0
+sb :: offset: 0x397, out: 0xdf2e9ab97d3eedf2, outHI: 0x0
+sb :: offset: 0x398, out: 0xa700000000000000, outHI: 0x0
+sb :: offset: 0x399, out: 0xa736000000000000, outHI: 0x0
+sb :: offset: 0x39a, out: 0xa736a60000000000, outHI: 0x0
+sb :: offset: 0x39b, out: 0xa736a6f700000000, outHI: 0x0
+sb :: offset: 0x39c, out: 0xa736a6f7fa000000, outHI: 0x0
+sb :: offset: 0x39d, out: 0xa736a6f7fa3c0000, outHI: 0x0
+sb :: offset: 0x39e, out: 0xa736a6f7fa3c0c00, outHI: 0x0
+sb :: offset: 0x39f, out: 0xa736a6f7fa3c0c9f, outHI: 0x0
+sb :: offset: 0x3a0, out: 0x3300000000000000, outHI: 0x0
+sb :: offset: 0x3a1, out: 0x338b000000000000, outHI: 0x0
+sb :: offset: 0x3a2, out: 0x338bb90000000000, outHI: 0x0
+sb :: offset: 0x3a3, out: 0x338bb93800000000, outHI: 0x0
+sb :: offset: 0x3a4, out: 0x338bb938e3000000, outHI: 0x0
+sb :: offset: 0x3a5, out: 0x338bb938e3150000, outHI: 0x0
+sb :: offset: 0x3a6, out: 0x338bb938e3155e00, outHI: 0x0
+sb :: offset: 0x3a7, out: 0x338bb938e3155ec9, outHI: 0x0
+sb :: offset: 0x3a8, out: 0xdc00000000000000, outHI: 0x0
+sb :: offset: 0x3a9, out: 0xdcd2000000000000, outHI: 0x0
+sb :: offset: 0x3aa, out: 0xdcd2df0000000000, outHI: 0x0
+sb :: offset: 0x3ab, out: 0xdcd2df2500000000, outHI: 0x0
+sb :: offset: 0x3ac, out: 0xdcd2df25c4000000, outHI: 0x0
+sb :: offset: 0x3ad, out: 0xdcd2df25c4190000, outHI: 0x0
+sb :: offset: 0x3ae, out: 0xdcd2df25c4194700, outHI: 0x0
+sb :: offset: 0x3af, out: 0xdcd2df25c4194782, outHI: 0x0
+sb :: offset: 0x3b0, out: 0x600000000000000, outHI: 0x0
+sb :: offset: 0x3b1, out: 0x6bc000000000000, outHI: 0x0
+sb :: offset: 0x3b2, out: 0x6bc650000000000, outHI: 0x0
+sb :: offset: 0x3b3, out: 0x6bc65bf00000000, outHI: 0x0
+sb :: offset: 0x3b4, out: 0x6bc65bf27000000, outHI: 0x0
+sb :: offset: 0x3b5, out: 0x6bc65bf27eb0000, outHI: 0x0
+sb :: offset: 0x3b6, out: 0x6bc65bf27eb3200, outHI: 0x0
+sb :: offset: 0x3b7, out: 0x6bc65bf27eb3218, outHI: 0x0
+sb :: offset: 0x3b8, out: 0x2500000000000000, outHI: 0x0
+sb :: offset: 0x3b9, out: 0x25a8000000000000, outHI: 0x0
+sb :: offset: 0x3ba, out: 0x25a8b00000000000, outHI: 0x0
+sb :: offset: 0x3bb, out: 0x25a8b08f00000000, outHI: 0x0
+sb :: offset: 0x3bc, out: 0x25a8b08fe6000000, outHI: 0x0
+sb :: offset: 0x3bd, out: 0x25a8b08fe67a0000, outHI: 0x0
+sb :: offset: 0x3be, out: 0x25a8b08fe67a8b00, outHI: 0x0
+sb :: offset: 0x3bf, out: 0x25a8b08fe67a8bc7, outHI: 0x0
+sb :: offset: 0x3c0, out: 0xda00000000000000, outHI: 0x0
+sb :: offset: 0x3c1, out: 0xda85000000000000, outHI: 0x0
+sb :: offset: 0x3c2, out: 0xda852b0000000000, outHI: 0x0
+sb :: offset: 0x3c3, out: 0xda852b5b00000000, outHI: 0x0
+sb :: offset: 0x3c4, out: 0xda852b5bca000000, outHI: 0x0
+sb :: offset: 0x3c5, out: 0xda852b5bcaf80000, outHI: 0x0
+sb :: offset: 0x3c6, out: 0xda852b5bcaf8df00, outHI: 0x0
+sb :: offset: 0x3c7, out: 0xda852b5bcaf8dfcd, outHI: 0x0
+sb :: offset: 0x3c8, out: 0xe800000000000000, outHI: 0x0
+sb :: offset: 0x3c9, out: 0xe804000000000000, outHI: 0x0
+sb :: offset: 0x3ca, out: 0xe804780000000000, outHI: 0x0
+sb :: offset: 0x3cb, out: 0xe804789000000000, outHI: 0x0
+sb :: offset: 0x3cc, out: 0xe80478909b000000, outHI: 0x0
+sb :: offset: 0x3cd, out: 0xe80478909b590000, outHI: 0x0
+sb :: offset: 0x3ce, out: 0xe80478909b59a900, outHI: 0x0
+sb :: offset: 0x3cf, out: 0xe80478909b59a992, outHI: 0x0
+sb :: offset: 0x3d0, out: 0x6900000000000000, outHI: 0x0
+sb :: offset: 0x3d1, out: 0x69bf000000000000, outHI: 0x0
+sb :: offset: 0x3d2, out: 0x69bfb30000000000, outHI: 0x0
+sb :: offset: 0x3d3, out: 0x69bfb31c00000000, outHI: 0x0
+sb :: offset: 0x3d4, out: 0x69bfb31cc8000000, outHI: 0x0
+sb :: offset: 0x3d5, out: 0x69bfb31cc8780000, outHI: 0x0
+sb :: offset: 0x3d6, out: 0x69bfb31cc8785700, outHI: 0x0
+sb :: offset: 0x3d7, out: 0x69bfb31cc8785736, outHI: 0x0
+sb :: offset: 0x3d8, out: 0xf00000000000000, outHI: 0x0
+sb :: offset: 0x3d9, out: 0xfb6000000000000, outHI: 0x0
+sb :: offset: 0x3da, out: 0xfb6650000000000, outHI: 0x0
+sb :: offset: 0x3db, out: 0xfb665ed00000000, outHI: 0x0
+sb :: offset: 0x3dc, out: 0xfb665ed5e000000, outHI: 0x0
+sb :: offset: 0x3dd, out: 0xfb665ed5e7f0000, outHI: 0x0
+sb :: offset: 0x3de, out: 0xfb665ed5e7f8900, outHI: 0x0
+sb :: offset: 0x3df, out: 0xfb665ed5e7f89e9, outHI: 0x0
+sb :: offset: 0x3e0, out: 0xa200000000000000, outHI: 0x0
+sb :: offset: 0x3e1, out: 0xa215000000000000, outHI: 0x0
+sb :: offset: 0x3e2, out: 0xa215da0000000000, outHI: 0x0
+sb :: offset: 0x3e3, out: 0xa215da9400000000, outHI: 0x0
+sb :: offset: 0x3e4, out: 0xa215da9474000000, outHI: 0x0
+sb :: offset: 0x3e5, out: 0xa215da9474b70000, outHI: 0x0
+sb :: offset: 0x3e6, out: 0xa215da9474b7a800, outHI: 0x0
+sb :: offset: 0x3e7, out: 0xa215da9474b7a8d5, outHI: 0x0
+sb :: offset: 0x3e8, out: 0xe400000000000000, outHI: 0x0
+sb :: offset: 0x3e9, out: 0xe4f6000000000000, outHI: 0x0
+sb :: offset: 0x3ea, out: 0xe4f6b30000000000, outHI: 0x0
+sb :: offset: 0x3eb, out: 0xe4f6b35300000000, outHI: 0x0
+sb :: offset: 0x3ec, out: 0xe4f6b3537d000000, outHI: 0x0
+sb :: offset: 0x3ed, out: 0xe4f6b3537d2a0000, outHI: 0x0
+sb :: offset: 0x3ee, out: 0xe4f6b3537d2af900, outHI: 0x0
+sb :: offset: 0x3ef, out: 0xe4f6b3537d2af90f, outHI: 0x0
+sb :: offset: 0x3f0, out: 0xcc00000000000000, outHI: 0x0
+sb :: offset: 0x3f1, out: 0xcc22000000000000, outHI: 0x0
+sb :: offset: 0x3f2, out: 0xcc223d0000000000, outHI: 0x0
+sb :: offset: 0x3f3, out: 0xcc223d7c00000000, outHI: 0x0
+sb :: offset: 0x3f4, out: 0xcc223d7cfe000000, outHI: 0x0
+sb :: offset: 0x3f5, out: 0xcc223d7cfe2b0000, outHI: 0x0
+sb :: offset: 0x3f6, out: 0xcc223d7cfe2b9600, outHI: 0x0
+sb :: offset: 0x3f7, out: 0xcc223d7cfe2b9618, outHI: 0x0
+sb :: offset: 0x3f8, out: 0x9700000000000000, outHI: 0x0
+sb :: offset: 0x3f9, out: 0x9742000000000000, outHI: 0x0
+sb :: offset: 0x3fa, out: 0x97420b0000000000, outHI: 0x0
+sb :: offset: 0x3fb, out: 0x97420b3400000000, outHI: 0x0
+sb :: offset: 0x3fc, out: 0x97420b34f5000000, outHI: 0x0
+sb :: offset: 0x3fd, out: 0x97420b34f5330000, outHI: 0x0
+sb :: offset: 0x3fe, out: 0x97420b34f5337300, outHI: 0x0
+sb :: offset: 0x3ff, out: 0x97420b34f533734a, outHI: 0x0
+sb :: offset: 0x400, out: 0x4b00000000000000, outHI: 0x0
+sb :: offset: 0x401, out: 0x4b89000000000000, outHI: 0x0
+sb :: offset: 0x402, out: 0x4b897c0000000000, outHI: 0x0
+sb :: offset: 0x403, out: 0x4b897c8c00000000, outHI: 0x0
+sb :: offset: 0x404, out: 0x4b897c8c8d000000, outHI: 0x0
+sb :: offset: 0x405, out: 0x4b897c8c8ddd0000, outHI: 0x0
+sb :: offset: 0x406, out: 0x4b897c8c8ddd4600, outHI: 0x0
+sb :: offset: 0x407, out: 0x4b897c8c8ddd46b3, outHI: 0x0
+sb :: offset: 0x408, out: 0x3c00000000000000, outHI: 0x0
+sb :: offset: 0x409, out: 0x3c7a000000000000, outHI: 0x0
+sb :: offset: 0x40a, out: 0x3c7a380000000000, outHI: 0x0
+sb :: offset: 0x40b, out: 0x3c7a387400000000, outHI: 0x0
+sb :: offset: 0x40c, out: 0x3c7a387445000000, outHI: 0x0
+sb :: offset: 0x40d, out: 0x3c7a387445e30000, outHI: 0x0
+sb :: offset: 0x40e, out: 0x3c7a387445e39200, outHI: 0x0
+sb :: offset: 0x40f, out: 0x3c7a387445e392cc, outHI: 0x0
+sb :: offset: 0x410, out: 0xd900000000000000, outHI: 0x0
+sb :: offset: 0x411, out: 0xd951000000000000, outHI: 0x0
+sb :: offset: 0x412, out: 0xd9512f0000000000, outHI: 0x0
+sb :: offset: 0x413, out: 0xd9512f2900000000, outHI: 0x0
+sb :: offset: 0x414, out: 0xd9512f29b1000000, outHI: 0x0
+sb :: offset: 0x415, out: 0xd9512f29b1d80000, outHI: 0x0
+sb :: offset: 0x416, out: 0xd9512f29b1d80000, outHI: 0x0
+sb :: offset: 0x417, out: 0xd9512f29b1d80000, outHI: 0x0
+sb :: offset: 0x418, out: 0xc900000000000000, outHI: 0x0
+sb :: offset: 0x419, out: 0xc9ea000000000000, outHI: 0x0
+sb :: offset: 0x41a, out: 0xc9eade0000000000, outHI: 0x0
+sb :: offset: 0x41b, out: 0xc9eaded500000000, outHI: 0x0
+sb :: offset: 0x41c, out: 0xc9eaded5c5000000, outHI: 0x0
+sb :: offset: 0x41d, out: 0xc9eaded5c53d0000, outHI: 0x0
+sb :: offset: 0x41e, out: 0xc9eaded5c53dad00, outHI: 0x0
+sb :: offset: 0x41f, out: 0xc9eaded5c53dad02, outHI: 0x0
+sb :: offset: 0x420, out: 0xa00000000000000, outHI: 0x0
+sb :: offset: 0x421, out: 0xa8a000000000000, outHI: 0x0
+sb :: offset: 0x422, out: 0xa8a620000000000, outHI: 0x0
+sb :: offset: 0x423, out: 0xa8a622900000000, outHI: 0x0
+sb :: offset: 0x424, out: 0xa8a6229d7000000, outHI: 0x0
+sb :: offset: 0x425, out: 0xa8a6229d7310000, outHI: 0x0
+sb :: offset: 0x426, out: 0xa8a6229d731ee00, outHI: 0x0
+sb :: offset: 0x427, out: 0xa8a6229d731eea3, outHI: 0x0
+sb :: offset: 0x428, out: 0x5b00000000000000, outHI: 0x0
+sb :: offset: 0x429, out: 0x5b2c000000000000, outHI: 0x0
+sb :: offset: 0x42a, out: 0x5b2c3c0000000000, outHI: 0x0
+sb :: offset: 0x42b, out: 0x5b2c3c3f00000000, outHI: 0x0
+sb :: offset: 0x42c, out: 0x5b2c3c3f9e000000, outHI: 0x0
+sb :: offset: 0x42d, out: 0x5b2c3c3f9e480000, outHI: 0x0
+sb :: offset: 0x42e, out: 0x5b2c3c3f9e489800, outHI: 0x0
+sb :: offset: 0x42f, out: 0x5b2c3c3f9e489856, outHI: 0x0
+sb :: offset: 0x430, out: 0x4900000000000000, outHI: 0x0
+sb :: offset: 0x431, out: 0x497f000000000000, outHI: 0x0
+sb :: offset: 0x432, out: 0x497ff60000000000, outHI: 0x0
+sb :: offset: 0x433, out: 0x497ff61e00000000, outHI: 0x0
+sb :: offset: 0x434, out: 0x497ff61e78000000, outHI: 0x0
+sb :: offset: 0x435, out: 0x497ff61e78dc0000, outHI: 0x0
+sb :: offset: 0x436, out: 0x497ff61e78dc9c00, outHI: 0x0
+sb :: offset: 0x437, out: 0x497ff61e78dc9c0b, outHI: 0x0
+sb :: offset: 0x438, out: 0x7700000000000000, outHI: 0x0
+sb :: offset: 0x439, out: 0x7722000000000000, outHI: 0x0
+sb :: offset: 0x43a, out: 0x7722990000000000, outHI: 0x0
+sb :: offset: 0x43b, out: 0x772299b000000000, outHI: 0x0
+sb :: offset: 0x43c, out: 0x772299b0e0000000, outHI: 0x0
+sb :: offset: 0x43d, out: 0x772299b0e01d0000, outHI: 0x0
+sb :: offset: 0x43e, out: 0x772299b0e01d5e00, outHI: 0x0
+sb :: offset: 0x43f, out: 0x772299b0e01d5e68, outHI: 0x0
+sb :: offset: 0x440, out: 0xec00000000000000, outHI: 0x0
+sb :: offset: 0x441, out: 0xec7c000000000000, outHI: 0x0
+sb :: offset: 0x442, out: 0xec7c3b0000000000, outHI: 0x0
+sb :: offset: 0x443, out: 0xec7c3b0400000000, outHI: 0x0
+sb :: offset: 0x444, out: 0xec7c3b0467000000, outHI: 0x0
+sb :: offset: 0x445, out: 0xec7c3b04673d0000, outHI: 0x0
+sb :: offset: 0x446, out: 0xec7c3b04673d0c00, outHI: 0x0
+sb :: offset: 0x447, out: 0xec7c3b04673d0c6e, outHI: 0x0
+sb :: offset: 0x448, out: 0x2500000000000000, outHI: 0x0
+sb :: offset: 0x449, out: 0x2516000000000000, outHI: 0x0
+sb :: offset: 0x44a, out: 0x25164e0000000000, outHI: 0x0
+sb :: offset: 0x44b, out: 0x25164e1700000000, outHI: 0x0
+sb :: offset: 0x44c, out: 0x25164e17c1000000, outHI: 0x0
+sb :: offset: 0x44d, out: 0x25164e17c1e70000, outHI: 0x0
+sb :: offset: 0x44e, out: 0x25164e17c1e7fb00, outHI: 0x0
+sb :: offset: 0x44f, out: 0x25164e17c1e7fb65, outHI: 0x0
+sb :: offset: 0x450, out: 0x8700000000000000, outHI: 0x0
+sb :: offset: 0x451, out: 0x87fa000000000000, outHI: 0x0
+sb :: offset: 0x452, out: 0x87fa4c0000000000, outHI: 0x0
+sb :: offset: 0x453, out: 0x87fa4ca200000000, outHI: 0x0
+sb :: offset: 0x454, out: 0x87fa4ca28b000000, outHI: 0x0
+sb :: offset: 0x455, out: 0x87fa4ca28b560000, outHI: 0x0
+sb :: offset: 0x456, out: 0x87fa4ca28b56d400, outHI: 0x0
+sb :: offset: 0x457, out: 0x87fa4ca28b56d495, outHI: 0x0
+sb :: offset: 0x458, out: 0xb00000000000000, outHI: 0x0
+sb :: offset: 0x459, out: 0xbe5000000000000, outHI: 0x0
+sb :: offset: 0x45a, out: 0xbe5e90000000000, outHI: 0x0
+sb :: offset: 0x45b, out: 0xbe5e9a300000000, outHI: 0x0
+sb :: offset: 0x45c, out: 0xbe5e9a314000000, outHI: 0x0
+sb :: offset: 0x45d, out: 0xbe5e9a314be0000, outHI: 0x0
+sb :: offset: 0x45e, out: 0xbe5e9a314be7f00, outHI: 0x0
+sb :: offset: 0x45f, out: 0xbe5e9a314be7fa0, outHI: 0x0
+sb :: offset: 0x460, out: 0x8a00000000000000, outHI: 0x0
+sb :: offset: 0x461, out: 0x8af8000000000000, outHI: 0x0
+sb :: offset: 0x462, out: 0x8af8be0000000000, outHI: 0x0
+sb :: offset: 0x463, out: 0x8af8be8100000000, outHI: 0x0
+sb :: offset: 0x464, out: 0x8af8be8164000000, outHI: 0x0
+sb :: offset: 0x465, out: 0x8af8be8164150000, outHI: 0x0
+sb :: offset: 0x466, out: 0x8af8be8164159600, outHI: 0x0
+sb :: offset: 0x467, out: 0x8af8be8164159649, outHI: 0x0
+sb :: offset: 0x468, out: 0xc500000000000000, outHI: 0x0
+sb :: offset: 0x469, out: 0xc57c000000000000, outHI: 0x0
+sb :: offset: 0x46a, out: 0xc57ca30000000000, outHI: 0x0
+sb :: offset: 0x46b, out: 0xc57ca32500000000, outHI: 0x0
+sb :: offset: 0x46c, out: 0xc57ca32597000000, outHI: 0x0
+sb :: offset: 0x46d, out: 0xc57ca32597840000, outHI: 0x0
+sb :: offset: 0x46e, out: 0xc57ca3259784e600, outHI: 0x0
+sb :: offset: 0x46f, out: 0xc57ca3259784e69b, outHI: 0x0
+sb :: offset: 0x470, out: 0x1700000000000000, outHI: 0x0
+sb :: offset: 0x471, out: 0x17fc000000000000, outHI: 0x0
+sb :: offset: 0x472, out: 0x17fc8d0000000000, outHI: 0x0
+sb :: offset: 0x473, out: 0x17fc8d5400000000, outHI: 0x0
+sb :: offset: 0x474, out: 0x17fc8d543c000000, outHI: 0x0
+sb :: offset: 0x475, out: 0x17fc8d543ca10000, outHI: 0x0
+sb :: offset: 0x476, out: 0x17fc8d543ca1f200, outHI: 0x0
+sb :: offset: 0x477, out: 0x17fc8d543ca1f24f, outHI: 0x0
+sb :: offset: 0x478, out: 0x5c00000000000000, outHI: 0x0
+sb :: offset: 0x479, out: 0x5c4a000000000000, outHI: 0x0
+sb :: offset: 0x47a, out: 0x5c4aeb0000000000, outHI: 0x0
+sb :: offset: 0x47b, out: 0x5c4aeb6c00000000, outHI: 0x0
+sb :: offset: 0x47c, out: 0x5c4aeb6ca0000000, outHI: 0x0
+sb :: offset: 0x47d, out: 0x5c4aeb6ca0e30000, outHI: 0x0
+sb :: offset: 0x47e, out: 0x5c4aeb6ca0e34500, outHI: 0x0
+sb :: offset: 0x47f, out: 0x5c4aeb6ca0e3459e, outHI: 0x0
+sb :: offset: 0x480, out: 0x3600000000000000, outHI: 0x0
+sb :: offset: 0x481, out: 0x36c5000000000000, outHI: 0x0
+sb :: offset: 0x482, out: 0x36c5320000000000, outHI: 0x0
+sb :: offset: 0x483, out: 0x36c532e100000000, outHI: 0x0
+sb :: offset: 0x484, out: 0x36c532e18e000000, outHI: 0x0
+sb :: offset: 0x485, out: 0x36c532e18e180000, outHI: 0x0
+sb :: offset: 0x486, out: 0x36c532e18e187900, outHI: 0x0
+sb :: offset: 0x487, out: 0x36c532e18e187980, outHI: 0x0
+sb :: offset: 0x488, out: 0xfa00000000000000, outHI: 0x0
+sb :: offset: 0x489, out: 0xfab3000000000000, outHI: 0x0
+sb :: offset: 0x48a, out: 0xfab3fd0000000000, outHI: 0x0
+sb :: offset: 0x48b, out: 0xfab3fdec00000000, outHI: 0x0
+sb :: offset: 0x48c, out: 0xfab3fdec29000000, outHI: 0x0
+sb :: offset: 0x48d, out: 0xfab3fdec294f0000, outHI: 0x0
+sb :: offset: 0x48e, out: 0xfab3fdec294f2800, outHI: 0x0
+sb :: offset: 0x48f, out: 0xfab3fdec294f287d, outHI: 0x0
+sb :: offset: 0x490, out: 0x1c00000000000000, outHI: 0x0
+sb :: offset: 0x491, out: 0x1cb6000000000000, outHI: 0x0
+sb :: offset: 0x492, out: 0x1cb6200000000000, outHI: 0x0
+sb :: offset: 0x493, out: 0x1cb6206600000000, outHI: 0x0
+sb :: offset: 0x494, out: 0x1cb620660a000000, outHI: 0x0
+sb :: offset: 0x495, out: 0x1cb620660a490000, outHI: 0x0
+sb :: offset: 0x496, out: 0x1cb620660a497300, outHI: 0x0
+sb :: offset: 0x497, out: 0x1cb620660a49732b, outHI: 0x0
+sb :: offset: 0x498, out: 0x9000000000000000, outHI: 0x0
+sb :: offset: 0x499, out: 0x9099000000000000, outHI: 0x0
+sb :: offset: 0x49a, out: 0x9099310000000000, outHI: 0x0
+sb :: offset: 0x49b, out: 0x9099313800000000, outHI: 0x0
+sb :: offset: 0x49c, out: 0x90993138f1000000, outHI: 0x0
+sb :: offset: 0x49d, out: 0x90993138f16c0000, outHI: 0x0
+sb :: offset: 0x49e, out: 0x90993138f16cfd00, outHI: 0x0
+sb :: offset: 0x49f, out: 0x90993138f16cfde9, outHI: 0x0
+sb :: offset: 0x4a0, out: 0x9100000000000000, outHI: 0x0
+sb :: offset: 0x4a1, out: 0x91de000000000000, outHI: 0x0
+sb :: offset: 0x4a2, out: 0x91de020000000000, outHI: 0x0
+sb :: offset: 0x4a3, out: 0x91de02d100000000, outHI: 0x0
+sb :: offset: 0x4a4, out: 0x91de02d133000000, outHI: 0x0
+sb :: offset: 0x4a5, out: 0x91de02d1337d0000, outHI: 0x0
+sb :: offset: 0x4a6, out: 0x91de02d1337d5400, outHI: 0x0
+sb :: offset: 0x4a7, out: 0x91de02d1337d5407, outHI: 0x0
+sb :: offset: 0x4a8, out: 0xb900000000000000, outHI: 0x0
+sb :: offset: 0x4a9, out: 0xb913000000000000, outHI: 0x0
+sb :: offset: 0x4aa, out: 0xb913a30000000000, outHI: 0x0
+sb :: offset: 0x4ab, out: 0xb913a39000000000, outHI: 0x0
+sb :: offset: 0x4ac, out: 0xb913a390e1000000, outHI: 0x0
+sb :: offset: 0x4ad, out: 0xb913a390e1e10000, outHI: 0x0
+sb :: offset: 0x4ae, out: 0xb913a390e1e1da00, outHI: 0x0
+sb :: offset: 0x4af, out: 0xb913a390e1e1dab1, outHI: 0x0
+sb :: offset: 0x4b0, out: 0x5a00000000000000, outHI: 0x0
+sb :: offset: 0x4b1, out: 0x5a74000000000000, outHI: 0x0
+sb :: offset: 0x4b2, out: 0x5a74340000000000, outHI: 0x0
+sb :: offset: 0x4b3, out: 0x5a74349100000000, outHI: 0x0
+sb :: offset: 0x4b4, out: 0x5a743491a6000000, outHI: 0x0
+sb :: offset: 0x4b5, out: 0x5a743491a6820000, outHI: 0x0
+sb :: offset: 0x4b6, out: 0x5a743491a6828700, outHI: 0x0
+sb :: offset: 0x4b7, out: 0x5a743491a6828716, outHI: 0x0
+sb :: offset: 0x4b8, out: 0xc800000000000000, outHI: 0x0
+sb :: offset: 0x4b9, out: 0xc88c000000000000, outHI: 0x0
+sb :: offset: 0x4ba, out: 0xc88cff0000000000, outHI: 0x0
+sb :: offset: 0x4bb, out: 0xc88cff4000000000, outHI: 0x0
+sb :: offset: 0x4bc, out: 0xc88cff404a000000, outHI: 0x0
+sb :: offset: 0x4bd, out: 0xc88cff404aed0000, outHI: 0x0
+sb :: offset: 0x4be, out: 0xc88cff404aede200, outHI: 0x0
+sb :: offset: 0x4bf, out: 0xc88cff404aede292, outHI: 0x0
+sb :: offset: 0x4c0, out: 0xf200000000000000, outHI: 0x0
+sb :: offset: 0x4c1, out: 0xf2b9000000000000, outHI: 0x0
+sb :: offset: 0x4c2, out: 0xf2b9ce0000000000, outHI: 0x0
+sb :: offset: 0x4c3, out: 0xf2b9cec000000000, outHI: 0x0
+sb :: offset: 0x4c4, out: 0xf2b9cec0db000000, outHI: 0x0
+sb :: offset: 0x4c5, out: 0xf2b9cec0db1f0000, outHI: 0x0
+sb :: offset: 0x4c6, out: 0xf2b9cec0db1f8300, outHI: 0x0
+sb :: offset: 0x4c7, out: 0xf2b9cec0db1f8376, outHI: 0x0
+sb :: offset: 0x4c8, out: 0x3600000000000000, outHI: 0x0
+sb :: offset: 0x4c9, out: 0x362e000000000000, outHI: 0x0
+sb :: offset: 0x4ca, out: 0x362eaa0000000000, outHI: 0x0
+sb :: offset: 0x4cb, out: 0x362eaa5a00000000, outHI: 0x0
+sb :: offset: 0x4cc, out: 0x362eaa5aa7000000, outHI: 0x0
+sb :: offset: 0x4cd, out: 0x362eaa5aa7050000, outHI: 0x0
+sb :: offset: 0x4ce, out: 0x362eaa5aa7050900, outHI: 0x0
+sb :: offset: 0x4cf, out: 0x362eaa5aa7050977, outHI: 0x0
+sb :: offset: 0x4d0, out: 0x1c00000000000000, outHI: 0x0
+sb :: offset: 0x4d1, out: 0x1cd3000000000000, outHI: 0x0
+sb :: offset: 0x4d2, out: 0x1cd3270000000000, outHI: 0x0
+sb :: offset: 0x4d3, out: 0x1cd3275300000000, outHI: 0x0
+sb :: offset: 0x4d4, out: 0x1cd327538e000000, outHI: 0x0
+sb :: offset: 0x4d5, out: 0x1cd327538e180000, outHI: 0x0
+sb :: offset: 0x4d6, out: 0x1cd327538e187500, outHI: 0x0
+sb :: offset: 0x4d7, out: 0x1cd327538e187524, outHI: 0x0
+sb :: offset: 0x4d8, out: 0x1b00000000000000, outHI: 0x0
+sb :: offset: 0x4d9, out: 0x1b42000000000000, outHI: 0x0
+sb :: offset: 0x4da, out: 0x1b42e90000000000, outHI: 0x0
+sb :: offset: 0x4db, out: 0x1b42e9f800000000, outHI: 0x0
+sb :: offset: 0x4dc, out: 0x1b42e9f854000000, outHI: 0x0
+sb :: offset: 0x4dd, out: 0x1b42e9f8548b0000, outHI: 0x0
+sb :: offset: 0x4de, out: 0x1b42e9f8548b7300, outHI: 0x0
+sb :: offset: 0x4df, out: 0x1b42e9f8548b739b, outHI: 0x0
+sb :: offset: 0x4e0, out: 0x6b00000000000000, outHI: 0x0
+sb :: offset: 0x4e1, out: 0x6b78000000000000, outHI: 0x0
+sb :: offset: 0x4e2, out: 0x6b78e40000000000, outHI: 0x0
+sb :: offset: 0x4e3, out: 0x6b78e4e500000000, outHI: 0x0
+sb :: offset: 0x4e4, out: 0x6b78e4e50c000000, outHI: 0x0
+sb :: offset: 0x4e5, out: 0x6b78e4e50cec0000, outHI: 0x0
+sb :: offset: 0x4e6, out: 0x6b78e4e50ceccb00, outHI: 0x0
+sb :: offset: 0x4e7, out: 0x6b78e4e50ceccbba, outHI: 0x0
+sb :: offset: 0x4e8, out: 0x1a00000000000000, outHI: 0x0
+sb :: offset: 0x4e9, out: 0x1af6000000000000, outHI: 0x0
+sb :: offset: 0x4ea, out: 0x1af6b60000000000, outHI: 0x0
+sb :: offset: 0x4eb, out: 0x1af6b6fa00000000, outHI: 0x0
+sb :: offset: 0x4ec, out: 0x1af6b6fa3f000000, outHI: 0x0
+sb :: offset: 0x4ed, out: 0x1af6b6fa3fcd0000, outHI: 0x0
+sb :: offset: 0x4ee, out: 0x1af6b6fa3fcd9d00, outHI: 0x0
+sb :: offset: 0x4ef, out: 0x1af6b6fa3fcd9d27, outHI: 0x0
+sb :: offset: 0x4f0, out: 0xcb00000000000000, outHI: 0x0
+sb :: offset: 0x4f1, out: 0xcb73000000000000, outHI: 0x0
+sb :: offset: 0x4f2, out: 0xcb73910000000000, outHI: 0x0
+sb :: offset: 0x4f3, out: 0xcb73916400000000, outHI: 0x0
+sb :: offset: 0x4f4, out: 0xcb73916483000000, outHI: 0x0
+sb :: offset: 0x4f5, out: 0xcb73916483ae0000, outHI: 0x0
+sb :: offset: 0x4f6, out: 0xcb73916483ae3e00, outHI: 0x0
+sb :: offset: 0x4f7, out: 0xcb73916483ae3e94, outHI: 0x0
+sb :: offset: 0x4f8, out: 0x2300000000000000, outHI: 0x0
+sb :: offset: 0x4f9, out: 0x2327000000000000, outHI: 0x0
+sb :: offset: 0x4fa, out: 0x23276a0000000000, outHI: 0x0
+sb :: offset: 0x4fb, out: 0x23276af700000000, outHI: 0x0
+sb :: offset: 0x4fc, out: 0x23276af70a000000, outHI: 0x0
+sb :: offset: 0x4fd, out: 0x23276af70a0e0000, outHI: 0x0
+sb :: offset: 0x4fe, out: 0x23276af70a0e1200, outHI: 0x0
+sb :: offset: 0x4ff, out: 0x23276af70a0e1285, outHI: 0x0
+sb :: offset: 0x500, out: 0x6100000000000000, outHI: 0x0
+sb :: offset: 0x501, out: 0x6103000000000000, outHI: 0x0
+sb :: offset: 0x502, out: 0x6103040000000000, outHI: 0x0
+sb :: offset: 0x503, out: 0x6103045b00000000, outHI: 0x0
+sb :: offset: 0x504, out: 0x6103045bf6000000, outHI: 0x0
+sb :: offset: 0x505, out: 0x6103045bf6b50000, outHI: 0x0
+sb :: offset: 0x506, out: 0x6103045bf6b5e700, outHI: 0x0
+sb :: offset: 0x507, out: 0x6103045bf6b5e74b, outHI: 0x0
+sb :: offset: 0x508, out: 0x6e00000000000000, outHI: 0x0
+sb :: offset: 0x509, out: 0x6e20000000000000, outHI: 0x0
+sb :: offset: 0x50a, out: 0x6e20220000000000, outHI: 0x0
+sb :: offset: 0x50b, out: 0x6e20223f00000000, outHI: 0x0
+sb :: offset: 0x50c, out: 0x6e20223f13000000, outHI: 0x0
+sb :: offset: 0x50d, out: 0x6e20223f13080000, outHI: 0x0
+sb :: offset: 0x50e, out: 0x6e20223f1308ac00, outHI: 0x0
+sb :: offset: 0x50f, out: 0x6e20223f1308accf, outHI: 0x0
+sb :: offset: 0x510, out: 0xa600000000000000, outHI: 0x0
+sb :: offset: 0x511, out: 0xa6f8000000000000, outHI: 0x0
+sb :: offset: 0x512, out: 0xa6f83c0000000000, outHI: 0x0
+sb :: offset: 0x513, out: 0xa6f83c5500000000, outHI: 0x0
+sb :: offset: 0x514, out: 0xa6f83c5574000000, outHI: 0x0
+sb :: offset: 0x515, out: 0xa6f83c5574390000, outHI: 0x0
+sb :: offset: 0x516, out: 0xa6f83c5574397600, outHI: 0x0
+sb :: offset: 0x517, out: 0xa6f83c55743976b5, outHI: 0x0
+sb :: offset: 0x518, out: 0xf500000000000000, outHI: 0x0
+sb :: offset: 0x519, out: 0xf51f000000000000, outHI: 0x0
+sb :: offset: 0x51a, out: 0xf51f970000000000, outHI: 0x0
+sb :: offset: 0x51b, out: 0xf51f972000000000, outHI: 0x0
+sb :: offset: 0x51c, out: 0xf51f9720f9000000, outHI: 0x0
+sb :: offset: 0x51d, out: 0xf51f9720f9460000, outHI: 0x0
+sb :: offset: 0x51e, out: 0xf51f9720f9469200, outHI: 0x0
+sb :: offset: 0x51f, out: 0xf51f9720f946923c, outHI: 0x0
+sb :: offset: 0x520, out: 0x3d00000000000000, outHI: 0x0
+sb :: offset: 0x521, out: 0x3d62000000000000, outHI: 0x0
+sb :: offset: 0x522, out: 0x3d620d0000000000, outHI: 0x0
+sb :: offset: 0x523, out: 0x3d620d2800000000, outHI: 0x0
+sb :: offset: 0x524, out: 0x3d620d2850000000, outHI: 0x0
+sb :: offset: 0x525, out: 0x3d620d28506d0000, outHI: 0x0
+sb :: offset: 0x526, out: 0x3d620d28506d2400, outHI: 0x0
+sb :: offset: 0x527, out: 0x3d620d28506d2448, outHI: 0x0
+sb :: offset: 0x528, out: 0xdd00000000000000, outHI: 0x0
+sb :: offset: 0x529, out: 0xdd60000000000000, outHI: 0x0
+sb :: offset: 0x52a, out: 0xdd60a50000000000, outHI: 0x0
+sb :: offset: 0x52b, out: 0xdd60a52100000000, outHI: 0x0
+sb :: offset: 0x52c, out: 0xdd60a521e9000000, outHI: 0x0
+sb :: offset: 0x52d, out: 0xdd60a521e99f0000, outHI: 0x0
+sb :: offset: 0x52e, out: 0xdd60a521e99ff400, outHI: 0x0
+sb :: offset: 0x52f, out: 0xdd60a521e99ff4a7, outHI: 0x0
+sb :: offset: 0x530, out: 0x3200000000000000, outHI: 0x0
+sb :: offset: 0x531, out: 0x325a000000000000, outHI: 0x0
+sb :: offset: 0x532, out: 0x325a080000000000, outHI: 0x0
+sb :: offset: 0x533, out: 0x325a08f300000000, outHI: 0x0
+sb :: offset: 0x534, out: 0x325a08f3ab000000, outHI: 0x0
+sb :: offset: 0x535, out: 0x325a08f3ab5c0000, outHI: 0x0
+sb :: offset: 0x536, out: 0x325a08f3ab5c6800, outHI: 0x0
+sb :: offset: 0x537, out: 0x325a08f3ab5c680f, outHI: 0x0
+sb :: offset: 0x538, out: 0xb00000000000000, outHI: 0x0
+sb :: offset: 0x539, out: 0xbc7000000000000, outHI: 0x0
+sb :: offset: 0x53a, out: 0xbc7a50000000000, outHI: 0x0
+sb :: offset: 0x53b, out: 0xbc7a59b00000000, outHI: 0x0
+sb :: offset: 0x53c, out: 0xbc7a59be7000000, outHI: 0x0
+sb :: offset: 0x53d, out: 0xbc7a59be7800000, outHI: 0x0
+sb :: offset: 0x53e, out: 0xbc7a59be7800f00, outHI: 0x0
+sb :: offset: 0x53f, out: 0xbc7a59be7800f3d, outHI: 0x0
+sb :: offset: 0x540, out: 0x2600000000000000, outHI: 0x0
+sb :: offset: 0x541, out: 0x261a000000000000, outHI: 0x0
+sb :: offset: 0x542, out: 0x261aec0000000000, outHI: 0x0
+sb :: offset: 0x543, out: 0x261aecdf00000000, outHI: 0x0
+sb :: offset: 0x544, out: 0x261aecdf29000000, outHI: 0x0
+sb :: offset: 0x545, out: 0x261aecdf29820000, outHI: 0x0
+sb :: offset: 0x546, out: 0x261aecdf2982ca00, outHI: 0x0
+sb :: offset: 0x547, out: 0x261aecdf2982ca1b, outHI: 0x0
+sb :: offset: 0x548, out: 0x4100000000000000, outHI: 0x0
+sb :: offset: 0x549, out: 0x412b000000000000, outHI: 0x0
+sb :: offset: 0x54a, out: 0x412b860000000000, outHI: 0x0
+sb :: offset: 0x54b, out: 0x412b861300000000, outHI: 0x0
+sb :: offset: 0x54c, out: 0x412b8613a2000000, outHI: 0x0
+sb :: offset: 0x54d, out: 0x412b8613a2600000, outHI: 0x0
+sb :: offset: 0x54e, out: 0x412b8613a260d100, outHI: 0x0
+sb :: offset: 0x54f, out: 0x412b8613a260d19d, outHI: 0x0
+sb :: offset: 0x550, out: 0xcd00000000000000, outHI: 0x0
+sb :: offset: 0x551, out: 0xcd25000000000000, outHI: 0x0
+sb :: offset: 0x552, out: 0xcd25180000000000, outHI: 0x0
+sb :: offset: 0x553, out: 0xcd2518ac00000000, outHI: 0x0
+sb :: offset: 0x554, out: 0xcd2518ac8b000000, outHI: 0x0
+sb :: offset: 0x555, out: 0xcd2518ac8b0e0000, outHI: 0x0
+sb :: offset: 0x556, out: 0xcd2518ac8b0e8b00, outHI: 0x0
+sb :: offset: 0x557, out: 0xcd2518ac8b0e8bbe, outHI: 0x0
+sb :: offset: 0x558, out: 0x7f00000000000000, outHI: 0x0
+sb :: offset: 0x559, out: 0x7f74000000000000, outHI: 0x0
+sb :: offset: 0x55a, out: 0x7f743e0000000000, outHI: 0x0
+sb :: offset: 0x55b, out: 0x7f743e5600000000, outHI: 0x0
+sb :: offset: 0x55c, out: 0x7f743e568d000000, outHI: 0x0
+sb :: offset: 0x55d, out: 0x7f743e568d2f0000, outHI: 0x0
+sb :: offset: 0x55e, out: 0x7f743e568d2fcf00, outHI: 0x0
+sb :: offset: 0x55f, out: 0x7f743e568d2fcf48, outHI: 0x0
+sb :: offset: 0x560, out: 0x6b00000000000000, outHI: 0x0
+sb :: offset: 0x561, out: 0x6b12000000000000, outHI: 0x0
+sb :: offset: 0x562, out: 0x6b126f0000000000, outHI: 0x0
+sb :: offset: 0x563, out: 0x6b126f6400000000, outHI: 0x0
+sb :: offset: 0x564, out: 0x6b126f646f000000, outHI: 0x0
+sb :: offset: 0x565, out: 0x6b126f646f340000, outHI: 0x0
+sb :: offset: 0x566, out: 0x6b126f646f34c300, outHI: 0x0
+sb :: offset: 0x567, out: 0x6b126f646f34c317, outHI: 0x0
+sb :: offset: 0x568, out: 0x2800000000000000, outHI: 0x0
+sb :: offset: 0x569, out: 0x28aa000000000000, outHI: 0x0
+sb :: offset: 0x56a, out: 0x28aab00000000000, outHI: 0x0
+sb :: offset: 0x56b, out: 0x28aab01900000000, outHI: 0x0
+sb :: offset: 0x56c, out: 0x28aab01961000000, outHI: 0x0
+sb :: offset: 0x56d, out: 0x28aab01961560000, outHI: 0x0
+sb :: offset: 0x56e, out: 0x28aab0196156fc00, outHI: 0x0
+sb :: offset: 0x56f, out: 0x28aab0196156fc4d, outHI: 0x0
+sb :: offset: 0x570, out: 0x1200000000000000, outHI: 0x0
+sb :: offset: 0x571, out: 0x1275000000000000, outHI: 0x0
+sb :: offset: 0x572, out: 0x1275350000000000, outHI: 0x0
+sb :: offset: 0x573, out: 0x127535cd00000000, outHI: 0x0
+sb :: offset: 0x574, out: 0x127535cd33000000, outHI: 0x0
+sb :: offset: 0x575, out: 0x127535cd33850000, outHI: 0x0
+sb :: offset: 0x576, out: 0x127535cd33859500, outHI: 0x0
+sb :: offset: 0x577, out: 0x127535cd338595d3, outHI: 0x0
+sb :: offset: 0x578, out: 0x4200000000000000, outHI: 0x0
+sb :: offset: 0x579, out: 0x42df000000000000, outHI: 0x0
+sb :: offset: 0x57a, out: 0x42dfb20000000000, outHI: 0x0
+sb :: offset: 0x57b, out: 0x42dfb25400000000, outHI: 0x0
+sb :: offset: 0x57c, out: 0x42dfb254da000000, outHI: 0x0
+sb :: offset: 0x57d, out: 0x42dfb254da420000, outHI: 0x0
+sb :: offset: 0x57e, out: 0x42dfb254da422300, outHI: 0x0
+sb :: offset: 0x57f, out: 0x42dfb254da422346, outHI: 0x0
+sb :: offset: 0x580, out: 0xec00000000000000, outHI: 0x0
+sb :: offset: 0x581, out: 0xeca8000000000000, outHI: 0x0
+sb :: offset: 0x582, out: 0xeca8670000000000, outHI: 0x0
+sb :: offset: 0x583, out: 0xeca8672600000000, outHI: 0x0
+sb :: offset: 0x584, out: 0xeca86726c9000000, outHI: 0x0
+sb :: offset: 0x585, out: 0xeca86726c9000000, outHI: 0x0
+sb :: offset: 0x586, out: 0xeca86726c9008100, outHI: 0x0
+sb :: offset: 0x587, out: 0xeca86726c90081ab, outHI: 0x0
+sb :: offset: 0x588, out: 0x2a00000000000000, outHI: 0x0
+sb :: offset: 0x589, out: 0x2a9b000000000000, outHI: 0x0
+sb :: offset: 0x58a, out: 0x2a9bfe0000000000, outHI: 0x0
+sb :: offset: 0x58b, out: 0x2a9bfeff00000000, outHI: 0x0
+sb :: offset: 0x58c, out: 0x2a9bfeffa1000000, outHI: 0x0
+sb :: offset: 0x58d, out: 0x2a9bfeffa1670000, outHI: 0x0
+sb :: offset: 0x58e, out: 0x2a9bfeffa1679d00, outHI: 0x0
+sb :: offset: 0x58f, out: 0x2a9bfeffa1679d74, outHI: 0x0
+sb :: offset: 0x590, out: 0x3800000000000000, outHI: 0x0
+sb :: offset: 0x591, out: 0x38c7000000000000, outHI: 0x0
+sb :: offset: 0x592, out: 0x38c7690000000000, outHI: 0x0
+sb :: offset: 0x593, out: 0x38c7699800000000, outHI: 0x0
+sb :: offset: 0x594, out: 0x38c7699826000000, outHI: 0x0
+sb :: offset: 0x595, out: 0x38c7699826b70000, outHI: 0x0
+sb :: offset: 0x596, out: 0x38c7699826b7de00, outHI: 0x0
+sb :: offset: 0x597, out: 0x38c7699826b7dee2, outHI: 0x0
+sb :: offset: 0x598, out: 0x4400000000000000, outHI: 0x0
+sb :: offset: 0x599, out: 0x443c000000000000, outHI: 0x0
+sb :: offset: 0x59a, out: 0x443c070000000000, outHI: 0x0
+sb :: offset: 0x59b, out: 0x443c07af00000000, outHI: 0x0
+sb :: offset: 0x59c, out: 0x443c07af97000000, outHI: 0x0
+sb :: offset: 0x59d, out: 0x443c07af97fb0000, outHI: 0x0
+sb :: offset: 0x59e, out: 0x443c07af97fba600, outHI: 0x0
+sb :: offset: 0x59f, out: 0x443c07af97fba670, outHI: 0x0
+sb :: offset: 0x5a0, out: 0x4a00000000000000, outHI: 0x0
+sb :: offset: 0x5a1, out: 0x4a52000000000000, outHI: 0x0
+sb :: offset: 0x5a2, out: 0x4a52130000000000, outHI: 0x0
+sb :: offset: 0x5a3, out: 0x4a52136400000000, outHI: 0x0
+sb :: offset: 0x5a4, out: 0x4a521364dc000000, outHI: 0x0
+sb :: offset: 0x5a5, out: 0x4a521364dc040000, outHI: 0x0
+sb :: offset: 0x5a6, out: 0x4a521364dc04c500, outHI: 0x0
+sb :: offset: 0x5a7, out: 0x4a521364dc04c58b, outHI: 0x0
+sb :: offset: 0x5a8, out: 0xfe00000000000000, outHI: 0x0
+sb :: offset: 0x5a9, out: 0xfee0000000000000, outHI: 0x0
+sb :: offset: 0x5aa, out: 0xfee0f70000000000, outHI: 0x0
+sb :: offset: 0x5ab, out: 0xfee0f7bb00000000, outHI: 0x0
+sb :: offset: 0x5ac, out: 0xfee0f7bb58000000, outHI: 0x0
+sb :: offset: 0x5ad, out: 0xfee0f7bb589a0000, outHI: 0x0
+sb :: offset: 0x5ae, out: 0xfee0f7bb589ab700, outHI: 0x0
+sb :: offset: 0x5af, out: 0xfee0f7bb589ab7ae, outHI: 0x0
+sb :: offset: 0x5b0, out: 0xbc00000000000000, outHI: 0x0
+sb :: offset: 0x5b1, out: 0xbce3000000000000, outHI: 0x0
+sb :: offset: 0x5b2, out: 0xbce3360000000000, outHI: 0x0
+sb :: offset: 0x5b3, out: 0xbce336c600000000, outHI: 0x0
+sb :: offset: 0x5b4, out: 0xbce336c60c000000, outHI: 0x0
+sb :: offset: 0x5b5, out: 0xbce336c60cde0000, outHI: 0x0
+sb :: offset: 0x5b6, out: 0xbce336c60cdeeb00, outHI: 0x0
+sb :: offset: 0x5b7, out: 0xbce336c60cdeeb95, outHI: 0x0
+sb :: offset: 0x5b8, out: 0x4d00000000000000, outHI: 0x0
+sb :: offset: 0x5b9, out: 0x4dd5000000000000, outHI: 0x0
+sb :: offset: 0x5ba, out: 0x4dd5b20000000000, outHI: 0x0
+sb :: offset: 0x5bb, out: 0x4dd5b21200000000, outHI: 0x0
+sb :: offset: 0x5bc, out: 0x4dd5b2120c000000, outHI: 0x0
+sb :: offset: 0x5bd, out: 0x4dd5b2120c6f0000, outHI: 0x0
+sb :: offset: 0x5be, out: 0x4dd5b2120c6f5200, outHI: 0x0
+sb :: offset: 0x5bf, out: 0x4dd5b2120c6f5241, outHI: 0x0
+sb :: offset: 0x5c0, out: 0x6e00000000000000, outHI: 0x0
+sb :: offset: 0x5c1, out: 0x6e85000000000000, outHI: 0x0
+sb :: offset: 0x5c2, out: 0x6e85a20000000000, outHI: 0x0
+sb :: offset: 0x5c3, out: 0x6e85a2d400000000, outHI: 0x0
+sb :: offset: 0x5c4, out: 0x6e85a2d4ff000000, outHI: 0x0
+sb :: offset: 0x5c5, out: 0x6e85a2d4ff7e0000, outHI: 0x0
+sb :: offset: 0x5c6, out: 0x6e85a2d4ff7e6200, outHI: 0x0
+sb :: offset: 0x5c7, out: 0x6e85a2d4ff7e628a, outHI: 0x0
+sb :: offset: 0x5c8, out: 0x3400000000000000, outHI: 0x0
+sb :: offset: 0x5c9, out: 0x3498000000000000, outHI: 0x0
+sb :: offset: 0x5ca, out: 0x34986a0000000000, outHI: 0x0
+sb :: offset: 0x5cb, out: 0x34986a2b00000000, outHI: 0x0
+sb :: offset: 0x5cc, out: 0x34986a2b65000000, outHI: 0x0
+sb :: offset: 0x5cd, out: 0x34986a2b654a0000, outHI: 0x0
+sb :: offset: 0x5ce, out: 0x34986a2b654a4e00, outHI: 0x0
+sb :: offset: 0x5cf, out: 0x34986a2b654a4e7e, outHI: 0x0
+sb :: offset: 0x5d0, out: 0x700000000000000, outHI: 0x0
+sb :: offset: 0x5d1, out: 0x7a9000000000000, outHI: 0x0
+sb :: offset: 0x5d2, out: 0x7a9740000000000, outHI: 0x0
+sb :: offset: 0x5d3, out: 0x7a974ea00000000, outHI: 0x0
+sb :: offset: 0x5d4, out: 0x7a974eac4000000, outHI: 0x0
+sb :: offset: 0x5d5, out: 0x7a974eac43a0000, outHI: 0x0
+sb :: offset: 0x5d6, out: 0x7a974eac43a4800, outHI: 0x0
+sb :: offset: 0x5d7, out: 0x7a974eac43a489b, outHI: 0x0
+sb :: offset: 0x5d8, out: 0x5500000000000000, outHI: 0x0
+sb :: offset: 0x5d9, out: 0x55a3000000000000, outHI: 0x0
+sb :: offset: 0x5da, out: 0x55a3880000000000, outHI: 0x0
+sb :: offset: 0x5db, out: 0x55a388c100000000, outHI: 0x0
+sb :: offset: 0x5dc, out: 0x55a388c162000000, outHI: 0x0
+sb :: offset: 0x5dd, out: 0x55a388c162720000, outHI: 0x0
+sb :: offset: 0x5de, out: 0x55a388c16272f100, outHI: 0x0
+sb :: offset: 0x5df, out: 0x55a388c16272f1f8, outHI: 0x0
+sb :: offset: 0x5e0, out: 0xf500000000000000, outHI: 0x0
+sb :: offset: 0x5e1, out: 0xf5e8000000000000, outHI: 0x0
+sb :: offset: 0x5e2, out: 0xf5e8c10000000000, outHI: 0x0
+sb :: offset: 0x5e3, out: 0xf5e8c11f00000000, outHI: 0x0
+sb :: offset: 0x5e4, out: 0xf5e8c11f45000000, outHI: 0x0
+sb :: offset: 0x5e5, out: 0xf5e8c11f45e70000, outHI: 0x0
+sb :: offset: 0x5e6, out: 0xf5e8c11f45e74900, outHI: 0x0
+sb :: offset: 0x5e7, out: 0xf5e8c11f45e7495e, outHI: 0x0
+sb :: offset: 0x5e8, out: 0xa900000000000000, outHI: 0x0
+sb :: offset: 0x5e9, out: 0xa9ad000000000000, outHI: 0x0
+sb :: offset: 0x5ea, out: 0xa9adaa0000000000, outHI: 0x0
+sb :: offset: 0x5eb, out: 0xa9adaa5a00000000, outHI: 0x0
+sb :: offset: 0x5ec, out: 0xa9adaa5a76000000, outHI: 0x0
+sb :: offset: 0x5ed, out: 0xa9adaa5a765c0000, outHI: 0x0
+sb :: offset: 0x5ee, out: 0xa9adaa5a765cc100, outHI: 0x0
+sb :: offset: 0x5ef, out: 0xa9adaa5a765cc1c8, outHI: 0x0
+sb :: offset: 0x5f0, out: 0xb400000000000000, outHI: 0x0
+sb :: offset: 0x5f1, out: 0xb47a000000000000, outHI: 0x0
+sb :: offset: 0x5f2, out: 0xb47ab40000000000, outHI: 0x0
+sb :: offset: 0x5f3, out: 0xb47ab4ce00000000, outHI: 0x0
+sb :: offset: 0x5f4, out: 0xb47ab4ce88000000, outHI: 0x0
+sb :: offset: 0x5f5, out: 0xb47ab4ce88df0000, outHI: 0x0
+sb :: offset: 0x5f6, out: 0xb47ab4ce88dfa600, outHI: 0x0
+sb :: offset: 0x5f7, out: 0xb47ab4ce88dfa605, outHI: 0x0
+sb :: offset: 0x5f8, out: 0xc000000000000000, outHI: 0x0
+sb :: offset: 0x5f9, out: 0xc0b4000000000000, outHI: 0x0
+sb :: offset: 0x5fa, out: 0xc0b42a0000000000, outHI: 0x0
+sb :: offset: 0x5fb, out: 0xc0b42ad600000000, outHI: 0x0
+sb :: offset: 0x5fc, out: 0xc0b42ad6e6000000, outHI: 0x0
+sb :: offset: 0x5fd, out: 0xc0b42ad6e6590000, outHI: 0x0
+sb :: offset: 0x5fe, out: 0xc0b42ad6e659a700, outHI: 0x0
+sb :: offset: 0x5ff, out: 0xc0b42ad6e659a7b0, outHI: 0x0
+sb :: offset: 0x600, out: 0x4f00000000000000, outHI: 0x0
+sb :: offset: 0x601, out: 0x4f4b000000000000, outHI: 0x0
+sb :: offset: 0x602, out: 0x4f4bf80000000000, outHI: 0x0
+sb :: offset: 0x603, out: 0x4f4bf84800000000, outHI: 0x0
+sb :: offset: 0x604, out: 0x4f4bf8485a000000, outHI: 0x0
+sb :: offset: 0x605, out: 0x4f4bf8485ab70000, outHI: 0x0
+sb :: offset: 0x606, out: 0x4f4bf8485ab72800, outHI: 0x0
+sb :: offset: 0x607, out: 0x4f4bf8485ab72892, outHI: 0x0
+sb :: offset: 0x608, out: 0x2f00000000000000, outHI: 0x0
+sb :: offset: 0x609, out: 0x2f76000000000000, outHI: 0x0
+sb :: offset: 0x60a, out: 0x2f76a30000000000, outHI: 0x0
+sb :: offset: 0x60b, out: 0x2f76a3d600000000, outHI: 0x0
+sb :: offset: 0x60c, out: 0x2f76a3d60c000000, outHI: 0x0
+sb :: offset: 0x60d, out: 0x2f76a3d60c3b0000, outHI: 0x0
+sb :: offset: 0x60e, out: 0x2f76a3d60c3b6600, outHI: 0x0
+sb :: offset: 0x60f, out: 0x2f76a3d60c3b66a7, outHI: 0x0
+sb :: offset: 0x610, out: 0xfb00000000000000, outHI: 0x0
+sb :: offset: 0x611, out: 0xfb31000000000000, outHI: 0x0
+sb :: offset: 0x612, out: 0xfb31e00000000000, outHI: 0x0
+sb :: offset: 0x613, out: 0xfb31e0c600000000, outHI: 0x0
+sb :: offset: 0x614, out: 0xfb31e0c6af000000, outHI: 0x0
+sb :: offset: 0x615, out: 0xfb31e0c6affd0000, outHI: 0x0
+sb :: offset: 0x616, out: 0xfb31e0c6affdc200, outHI: 0x0
+sb :: offset: 0x617, out: 0xfb31e0c6affdc28e, outHI: 0x0
+sb :: offset: 0x618, out: 0xda00000000000000, outHI: 0x0
+sb :: offset: 0x619, out: 0xda53000000000000, outHI: 0x0
+sb :: offset: 0x61a, out: 0xda53600000000000, outHI: 0x0
+sb :: offset: 0x61b, out: 0xda53606b00000000, outHI: 0x0
+sb :: offset: 0x61c, out: 0xda53606bb4000000, outHI: 0x0
+sb :: offset: 0x61d, out: 0xda53606bb4bf0000, outHI: 0x0
+sb :: offset: 0x61e, out: 0xda53606bb4bf0c00, outHI: 0x0
+sb :: offset: 0x61f, out: 0xda53606bb4bf0c99, outHI: 0x0
+sb :: offset: 0x620, out: 0x9d00000000000000, outHI: 0x0
+sb :: offset: 0x621, out: 0x9d32000000000000, outHI: 0x0
+sb :: offset: 0x622, out: 0x9d32fc0000000000, outHI: 0x0
+sb :: offset: 0x623, out: 0x9d32fc1200000000, outHI: 0x0
+sb :: offset: 0x624, out: 0x9d32fc12c8000000, outHI: 0x0
+sb :: offset: 0x625, out: 0x9d32fc12c81b0000, outHI: 0x0
+sb :: offset: 0x626, out: 0x9d32fc12c81b7900, outHI: 0x0
+sb :: offset: 0x627, out: 0x9d32fc12c81b7919, outHI: 0x0
+sb :: offset: 0x628, out: 0xf000000000000000, outHI: 0x0
+sb :: offset: 0x629, out: 0xf03e000000000000, outHI: 0x0
+sb :: offset: 0x62a, out: 0xf03ef80000000000, outHI: 0x0
+sb :: offset: 0x62b, out: 0xf03ef88300000000, outHI: 0x0
+sb :: offset: 0x62c, out: 0xf03ef88384000000, outHI: 0x0
+sb :: offset: 0x62d, out: 0xf03ef88384c70000, outHI: 0x0
+sb :: offset: 0x62e, out: 0xf03ef88384c72e00, outHI: 0x0
+sb :: offset: 0x62f, out: 0xf03ef88384c72efc, outHI: 0x0
+sb :: offset: 0x630, out: 0xd600000000000000, outHI: 0x0
+sb :: offset: 0x631, out: 0xd638000000000000, outHI: 0x0
+sb :: offset: 0x632, out: 0xd638b10000000000, outHI: 0x0
+sb :: offset: 0x633, out: 0xd638b1c700000000, outHI: 0x0
+sb :: offset: 0x634, out: 0xd638b1c7bb000000, outHI: 0x0
+sb :: offset: 0x635, out: 0xd638b1c7bb6a0000, outHI: 0x0
+sb :: offset: 0x636, out: 0xd638b1c7bb6a2a00, outHI: 0x0
+sb :: offset: 0x637, out: 0xd638b1c7bb6a2a35, outHI: 0x0
+sb :: offset: 0x638, out: 0x8000000000000000, outHI: 0x0
+sb :: offset: 0x639, out: 0x8015000000000000, outHI: 0x0
+sb :: offset: 0x63a, out: 0x8015eb0000000000, outHI: 0x0
+sb :: offset: 0x63b, out: 0x8015ebf600000000, outHI: 0x0
+sb :: offset: 0x63c, out: 0x8015ebf612000000, outHI: 0x0
+sb :: offset: 0x63d, out: 0x8015ebf6121d0000, outHI: 0x0
+sb :: offset: 0x63e, out: 0x8015ebf6121dca00, outHI: 0x0
+sb :: offset: 0x63f, out: 0x8015ebf6121dca77, outHI: 0x0
+sb :: offset: 0x640, out: 0xc900000000000000, outHI: 0x0
+sb :: offset: 0x641, out: 0xc95e000000000000, outHI: 0x0
+sb :: offset: 0x642, out: 0xc95eaa0000000000, outHI: 0x0
+sb :: offset: 0x643, out: 0xc95eaacd00000000, outHI: 0x0
+sb :: offset: 0x644, out: 0xc95eaacdd9000000, outHI: 0x0
+sb :: offset: 0x645, out: 0xc95eaacdd9fd0000, outHI: 0x0
+sb :: offset: 0x646, out: 0xc95eaacdd9fd9100, outHI: 0x0
+sb :: offset: 0x647, out: 0xc95eaacdd9fd9147, outHI: 0x0
+sb :: offset: 0x648, out: 0xae00000000000000, outHI: 0x0
+sb :: offset: 0x649, out: 0xaebb000000000000, outHI: 0x0
+sb :: offset: 0x64a, out: 0xaebb840000000000, outHI: 0x0
+sb :: offset: 0x64b, out: 0xaebb847000000000, outHI: 0x0
+sb :: offset: 0x64c, out: 0xaebb8470f9000000, outHI: 0x0
+sb :: offset: 0x64d, out: 0xaebb8470f9810000, outHI: 0x0
+sb :: offset: 0x64e, out: 0xaebb8470f981e900, outHI: 0x0
+sb :: offset: 0x64f, out: 0xaebb8470f981e911, outHI: 0x0
+sb :: offset: 0x650, out: 0x1700000000000000, outHI: 0x0
+sb :: offset: 0x651, out: 0x1705000000000000, outHI: 0x0
+sb :: offset: 0x652, out: 0x1705d40000000000, outHI: 0x0
+sb :: offset: 0x653, out: 0x1705d42a00000000, outHI: 0x0
+sb :: offset: 0x654, out: 0x1705d42aea000000, outHI: 0x0
+sb :: offset: 0x655, out: 0x1705d42aeac60000, outHI: 0x0
+sb :: offset: 0x656, out: 0x1705d42aeac6a500, outHI: 0x0
+sb :: offset: 0x657, out: 0x1705d42aeac6a532, outHI: 0x0
+sb :: offset: 0x658, out: 0xe000000000000000, outHI: 0x0
+sb :: offset: 0x659, out: 0xe014000000000000, outHI: 0x0
+sb :: offset: 0x65a, out: 0xe014ab0000000000, outHI: 0x0
+sb :: offset: 0x65b, out: 0xe014abf300000000, outHI: 0x0
+sb :: offset: 0x65c, out: 0xe014abf364000000, outHI: 0x0
+sb :: offset: 0x65d, out: 0xe014abf364190000, outHI: 0x0
+sb :: offset: 0x65e, out: 0xe014abf36419fb00, outHI: 0x0
+sb :: offset: 0x65f, out: 0xe014abf36419fb9e, outHI: 0x0
+sb :: offset: 0x660, out: 0x6300000000000000, outHI: 0x0
+sb :: offset: 0x661, out: 0x6324000000000000, outHI: 0x0
+sb :: offset: 0x662, out: 0x63249d0000000000, outHI: 0x0
+sb :: offset: 0x663, out: 0x63249d5500000000, outHI: 0x0
+sb :: offset: 0x664, out: 0x63249d559a000000, outHI: 0x0
+sb :: offset: 0x665, out: 0x63249d559aa80000, outHI: 0x0
+sb :: offset: 0x666, out: 0x63249d559aa8d700, outHI: 0x0
+sb :: offset: 0x667, out: 0x63249d559aa8d72a, outHI: 0x0
+sb :: offset: 0x668, out: 0xac00000000000000, outHI: 0x0
+sb :: offset: 0x669, out: 0xac0c000000000000, outHI: 0x0
+sb :: offset: 0x66a, out: 0xac0cd60000000000, outHI: 0x0
+sb :: offset: 0x66b, out: 0xac0cd67600000000, outHI: 0x0
+sb :: offset: 0x66c, out: 0xac0cd6764f000000, outHI: 0x0
+sb :: offset: 0x66d, out: 0xac0cd6764f080000, outHI: 0x0
+sb :: offset: 0x66e, out: 0xac0cd6764f084b00, outHI: 0x0
+sb :: offset: 0x66f, out: 0xac0cd6764f084b30, outHI: 0x0
+sb :: offset: 0x670, out: 0xec00000000000000, outHI: 0x0
+sb :: offset: 0x671, out: 0xec7f000000000000, outHI: 0x0
+sb :: offset: 0x672, out: 0xec7f030000000000, outHI: 0x0
+sb :: offset: 0x673, out: 0xec7f03ac00000000, outHI: 0x0
+sb :: offset: 0x674, out: 0xec7f03ac07000000, outHI: 0x0
+sb :: offset: 0x675, out: 0xec7f03ac07920000, outHI: 0x0
+sb :: offset: 0x676, out: 0xec7f03ac07924600, outHI: 0x0
+sb :: offset: 0x677, out: 0xec7f03ac0792468f, outHI: 0x0
+sb :: offset: 0x678, out: 0xdf00000000000000, outHI: 0x0
+sb :: offset: 0x679, out: 0xdf7e000000000000, outHI: 0x0
+sb :: offset: 0x67a, out: 0xdf7e350000000000, outHI: 0x0
+sb :: offset: 0x67b, out: 0xdf7e35ce00000000, outHI: 0x0
+sb :: offset: 0x67c, out: 0xdf7e35ce6d000000, outHI: 0x0
+sb :: offset: 0x67d, out: 0xdf7e35ce6d560000, outHI: 0x0
+sb :: offset: 0x67e, out: 0xdf7e35ce6d56e600, outHI: 0x0
+sb :: offset: 0x67f, out: 0xdf7e35ce6d56e670, outHI: 0x0
+sb :: offset: 0x680, out: 0xf500000000000000, outHI: 0x0
+sb :: offset: 0x681, out: 0xf515000000000000, outHI: 0x0
+sb :: offset: 0x682, out: 0xf515280000000000, outHI: 0x0
+sb :: offset: 0x683, out: 0xf515282800000000, outHI: 0x0
+sb :: offset: 0x684, out: 0xf515282859000000, outHI: 0x0
+sb :: offset: 0x685, out: 0xf5152828591a0000, outHI: 0x0
+sb :: offset: 0x686, out: 0xf5152828591a6500, outHI: 0x0
+sb :: offset: 0x687, out: 0xf5152828591a6527, outHI: 0x0
+sb :: offset: 0x688, out: 0x1100000000000000, outHI: 0x0
+sb :: offset: 0x689, out: 0x119e000000000000, outHI: 0x0
+sb :: offset: 0x68a, out: 0x119e1c0000000000, outHI: 0x0
+sb :: offset: 0x68b, out: 0x119e1c3200000000, outHI: 0x0
+sb :: offset: 0x68c, out: 0x119e1c3283000000, outHI: 0x0
+sb :: offset: 0x68d, out: 0x119e1c3283d20000, outHI: 0x0
+sb :: offset: 0x68e, out: 0x119e1c3283d21500, outHI: 0x0
+sb :: offset: 0x68f, out: 0x119e1c3283d215a9, outHI: 0x0
+sb :: offset: 0x690, out: 0xfb00000000000000, outHI: 0x0
+sb :: offset: 0x691, out: 0xfb8d000000000000, outHI: 0x0
+sb :: offset: 0x692, out: 0xfb8d950000000000, outHI: 0x0
+sb :: offset: 0x693, out: 0xfb8d95c000000000, outHI: 0x0
+sb :: offset: 0x694, out: 0xfb8d95c049000000, outHI: 0x0
+sb :: offset: 0x695, out: 0xfb8d95c049280000, outHI: 0x0
+sb :: offset: 0x696, out: 0xfb8d95c049282a00, outHI: 0x0
+sb :: offset: 0x697, out: 0xfb8d95c049282a04, outHI: 0x0
+sb :: offset: 0x698, out: 0x1700000000000000, outHI: 0x0
+sb :: offset: 0x699, out: 0x17f2000000000000, outHI: 0x0
+sb :: offset: 0x69a, out: 0x17f2e70000000000, outHI: 0x0
+sb :: offset: 0x69b, out: 0x17f2e7a400000000, outHI: 0x0
+sb :: offset: 0x69c, out: 0x17f2e7a490000000, outHI: 0x0
+sb :: offset: 0x69d, out: 0x17f2e7a490970000, outHI: 0x0
+sb :: offset: 0x69e, out: 0x17f2e7a490978000, outHI: 0x0
+sb :: offset: 0x69f, out: 0x17f2e7a490978058, outHI: 0x0
+sb :: offset: 0x6a0, out: 0xf300000000000000, outHI: 0x0
+sb :: offset: 0x6a1, out: 0xf377000000000000, outHI: 0x0
+sb :: offset: 0x6a2, out: 0xf3775b0000000000, outHI: 0x0
+sb :: offset: 0x6a3, out: 0xf3775b4c00000000, outHI: 0x0
+sb :: offset: 0x6a4, out: 0xf3775b4cca000000, outHI: 0x0
+sb :: offset: 0x6a5, out: 0xf3775b4cca090000, outHI: 0x0
+sb :: offset: 0x6a6, out: 0xf3775b4cca097500, outHI: 0x0
+sb :: offset: 0x6a7, out: 0xf3775b4cca0975b1, outHI: 0x0
+sb :: offset: 0x6a8, out: 0xaa00000000000000, outHI: 0x0
+sb :: offset: 0x6a9, out: 0xaa0a000000000000, outHI: 0x0
+sb :: offset: 0x6aa, out: 0xaa0a2b0000000000, outHI: 0x0
+sb :: offset: 0x6ab, out: 0xaa0a2b8400000000, outHI: 0x0
+sb :: offset: 0x6ac, out: 0xaa0a2b84a6000000, outHI: 0x0
+sb :: offset: 0x6ad, out: 0xaa0a2b84a6350000, outHI: 0x0
+sb :: offset: 0x6ae, out: 0xaa0a2b84a6351100, outHI: 0x0
+sb :: offset: 0x6af, out: 0xaa0a2b84a6351110, outHI: 0x0
+sb :: offset: 0x6b0, out: 0x2000000000000000, outHI: 0x0
+sb :: offset: 0x6b1, out: 0x2002000000000000, outHI: 0x0
+sb :: offset: 0x6b2, out: 0x20023f0000000000, outHI: 0x0
+sb :: offset: 0x6b3, out: 0x20023fa000000000, outHI: 0x0
+sb :: offset: 0x6b4, out: 0x20023fa0d3000000, outHI: 0x0
+sb :: offset: 0x6b5, out: 0x20023fa0d3a70000, outHI: 0x0
+sb :: offset: 0x6b6, out: 0x20023fa0d3a7d800, outHI: 0x0
+sb :: offset: 0x6b7, out: 0x20023fa0d3a7d88b, outHI: 0x0
+sb :: offset: 0x6b8, out: 0x6f00000000000000, outHI: 0x0
+sb :: offset: 0x6b9, out: 0x6fa3000000000000, outHI: 0x0
+sb :: offset: 0x6ba, out: 0x6fa3d90000000000, outHI: 0x0
+sb :: offset: 0x6bb, out: 0x6fa3d99100000000, outHI: 0x0
+sb :: offset: 0x6bc, out: 0x6fa3d991b7000000, outHI: 0x0
+sb :: offset: 0x6bd, out: 0x6fa3d991b7990000, outHI: 0x0
+sb :: offset: 0x6be, out: 0x6fa3d991b7994100, outHI: 0x0
+sb :: offset: 0x6bf, out: 0x6fa3d991b79941de, outHI: 0x0
+sb :: offset: 0x6c0, out: 0xdd00000000000000, outHI: 0x0
+sb :: offset: 0x6c1, out: 0xdd75000000000000, outHI: 0x0
+sb :: offset: 0x6c2, out: 0xdd751c0000000000, outHI: 0x0
+sb :: offset: 0x6c3, out: 0xdd751cb400000000, outHI: 0x0
+sb :: offset: 0x6c4, out: 0xdd751cb483000000, outHI: 0x0
+sb :: offset: 0x6c5, out: 0xdd751cb4835a0000, outHI: 0x0
+sb :: offset: 0x6c6, out: 0xdd751cb4835a0d00, outHI: 0x0
+sb :: offset: 0x6c7, out: 0xdd751cb4835a0d95, outHI: 0x0
+sb :: offset: 0x6c8, out: 0x800000000000000, outHI: 0x0
+sb :: offset: 0x6c9, out: 0x894000000000000, outHI: 0x0
+sb :: offset: 0x6ca, out: 0x8949c0000000000, outHI: 0x0
+sb :: offset: 0x6cb, out: 0x8949cad00000000, outHI: 0x0
+sb :: offset: 0x6cc, out: 0x8949cad35000000, outHI: 0x0
+sb :: offset: 0x6cd, out: 0x8949cad35620000, outHI: 0x0
+sb :: offset: 0x6ce, out: 0x8949cad35625b00, outHI: 0x0
+sb :: offset: 0x6cf, out: 0x8949cad35625bb2, outHI: 0x0
+sb :: offset: 0x6d0, out: 0xd300000000000000, outHI: 0x0
+sb :: offset: 0x6d1, out: 0xd37f000000000000, outHI: 0x0
+sb :: offset: 0x6d2, out: 0xd37f560000000000, outHI: 0x0
+sb :: offset: 0x6d3, out: 0xd37f567f00000000, outHI: 0x0
+sb :: offset: 0x6d4, out: 0xd37f567f35000000, outHI: 0x0
+sb :: offset: 0x6d5, out: 0xd37f567f35a60000, outHI: 0x0
+sb :: offset: 0x6d6, out: 0xd37f567f35a69200, outHI: 0x0
+sb :: offset: 0x6d7, out: 0xd37f567f35a69297, outHI: 0x0
+sb :: offset: 0x6d8, out: 0x3900000000000000, outHI: 0x0
+sb :: offset: 0x6d9, out: 0x3918000000000000, outHI: 0x0
+sb :: offset: 0x6da, out: 0x39185b0000000000, outHI: 0x0
+sb :: offset: 0x6db, out: 0x39185b8800000000, outHI: 0x0
+sb :: offset: 0x6dc, out: 0x39185b88e0000000, outHI: 0x0
+sb :: offset: 0x6dd, out: 0x39185b88e0db0000, outHI: 0x0
+sb :: offset: 0x6de, out: 0x39185b88e0db8d00, outHI: 0x0
+sb :: offset: 0x6df, out: 0x39185b88e0db8d7d, outHI: 0x0
+sb :: offset: 0x6e0, out: 0x2700000000000000, outHI: 0x0
+sb :: offset: 0x6e1, out: 0x2725000000000000, outHI: 0x0
+sb :: offset: 0x6e2, out: 0x27255a0000000000, outHI: 0x0
+sb :: offset: 0x6e3, out: 0x27255a4c00000000, outHI: 0x0
+sb :: offset: 0x6e4, out: 0x27255a4cd2000000, outHI: 0x0
+sb :: offset: 0x6e5, out: 0x27255a4cd22f0000, outHI: 0x0
+sb :: offset: 0x6e6, out: 0x27255a4cd22fd600, outHI: 0x0
+sb :: offset: 0x6e7, out: 0x27255a4cd22fd61b, outHI: 0x0
+sb :: offset: 0x6e8, out: 0x9100000000000000, outHI: 0x0
+sb :: offset: 0x6e9, out: 0x9110000000000000, outHI: 0x0
+sb :: offset: 0x6ea, out: 0x9110480000000000, outHI: 0x0
+sb :: offset: 0x6eb, out: 0x911048d500000000, outHI: 0x0
+sb :: offset: 0x6ec, out: 0x911048d589000000, outHI: 0x0
+sb :: offset: 0x6ed, out: 0x911048d589a40000, outHI: 0x0
+sb :: offset: 0x6ee, out: 0x911048d589a43600, outHI: 0x0
+sb :: offset: 0x6ef, out: 0x911048d589a4363f, outHI: 0x0
+sb :: offset: 0x6f0, out: 0x7b00000000000000, outHI: 0x0
+sb :: offset: 0x6f1, out: 0x7b6a000000000000, outHI: 0x0
+sb :: offset: 0x6f2, out: 0x7b6a6d0000000000, outHI: 0x0
+sb :: offset: 0x6f3, out: 0x7b6a6d5700000000, outHI: 0x0
+sb :: offset: 0x6f4, out: 0x7b6a6d5708000000, outHI: 0x0
+sb :: offset: 0x6f5, out: 0x7b6a6d5708f40000, outHI: 0x0
+sb :: offset: 0x6f6, out: 0x7b6a6d5708f46000, outHI: 0x0
+sb :: offset: 0x6f7, out: 0x7b6a6d5708f46057, outHI: 0x0
+sb :: offset: 0x6f8, out: 0x9000000000000000, outHI: 0x0
+sb :: offset: 0x6f9, out: 0x90d5000000000000, outHI: 0x0
+sb :: offset: 0x6fa, out: 0x90d58e0000000000, outHI: 0x0
+sb :: offset: 0x6fb, out: 0x90d58ecb00000000, outHI: 0x0
+sb :: offset: 0x6fc, out: 0x90d58ecbab000000, outHI: 0x0
+sb :: offset: 0x6fd, out: 0x90d58ecbabde0000, outHI: 0x0
+sb :: offset: 0x6fe, out: 0x90d58ecbabde3500, outHI: 0x0
+sb :: offset: 0x6ff, out: 0x90d58ecbabde3569, outHI: 0x0
+sb :: offset: 0x700, out: 0x7f00000000000000, outHI: 0x0
+sb :: offset: 0x701, out: 0x7f57000000000000, outHI: 0x0
+sb :: offset: 0x702, out: 0x7f57550000000000, outHI: 0x0
+sb :: offset: 0x703, out: 0x7f57554800000000, outHI: 0x0
+sb :: offset: 0x704, out: 0x7f575548fd000000, outHI: 0x0
+sb :: offset: 0x705, out: 0x7f575548fd080000, outHI: 0x0
+sb :: offset: 0x706, out: 0x7f575548fd08c000, outHI: 0x0
+sb :: offset: 0x707, out: 0x7f575548fd08c0a5, outHI: 0x0
+sb :: offset: 0x708, out: 0xf100000000000000, outHI: 0x0
+sb :: offset: 0x709, out: 0xf18b000000000000, outHI: 0x0
+sb :: offset: 0x70a, out: 0xf18bb60000000000, outHI: 0x0
+sb :: offset: 0x70b, out: 0xf18bb64000000000, outHI: 0x0
+sb :: offset: 0x70c, out: 0xf18bb640fb000000, outHI: 0x0
+sb :: offset: 0x70d, out: 0xf18bb640fb8e0000, outHI: 0x0
+sb :: offset: 0x70e, out: 0xf18bb640fb8ed900, outHI: 0x0
+sb :: offset: 0x70f, out: 0xf18bb640fb8ed98d, outHI: 0x0
+sb :: offset: 0x710, out: 0xdb00000000000000, outHI: 0x0
+sb :: offset: 0x711, out: 0xdbbe000000000000, outHI: 0x0
+sb :: offset: 0x712, out: 0xdbbe000000000000, outHI: 0x0
+sb :: offset: 0x713, out: 0xdbbe00d500000000, outHI: 0x0
+sb :: offset: 0x714, out: 0xdbbe00d51e000000, outHI: 0x0
+sb :: offset: 0x715, out: 0xdbbe00d51eab0000, outHI: 0x0
+sb :: offset: 0x716, out: 0xdbbe00d51eabc500, outHI: 0x0
+sb :: offset: 0x717, out: 0xdbbe00d51eabc578, outHI: 0x0
+sb :: offset: 0x718, out: 0xcc00000000000000, outHI: 0x0
+sb :: offset: 0x719, out: 0xcc2f000000000000, outHI: 0x0
+sb :: offset: 0x71a, out: 0xcc2f7e0000000000, outHI: 0x0
+sb :: offset: 0x71b, out: 0xcc2f7e2200000000, outHI: 0x0
+sb :: offset: 0x71c, out: 0xcc2f7e224a000000, outHI: 0x0
+sb :: offset: 0x71d, out: 0xcc2f7e224a1c0000, outHI: 0x0
+sb :: offset: 0x71e, out: 0xcc2f7e224a1c1700, outHI: 0x0
+sb :: offset: 0x71f, out: 0xcc2f7e224a1c170a, outHI: 0x0
+sb :: offset: 0x720, out: 0xb200000000000000, outHI: 0x0
+sb :: offset: 0x721, out: 0xb2a9000000000000, outHI: 0x0
+sb :: offset: 0x722, out: 0xb2a9780000000000, outHI: 0x0
+sb :: offset: 0x723, out: 0xb2a978f100000000, outHI: 0x0
+sb :: offset: 0x724, out: 0xb2a978f12c000000, outHI: 0x0
+sb :: offset: 0x725, out: 0xb2a978f12ca20000, outHI: 0x0
+sb :: offset: 0x726, out: 0xb2a978f12ca22200, outHI: 0x0
+sb :: offset: 0x727, out: 0xb2a978f12ca22256, outHI: 0x0
+sb :: offset: 0x728, out: 0xa700000000000000, outHI: 0x0
+sb :: offset: 0x729, out: 0xa799000000000000, outHI: 0x0
+sb :: offset: 0x72a, out: 0xa799500000000000, outHI: 0x0
+sb :: offset: 0x72b, out: 0xa79950a900000000, outHI: 0x0
+sb :: offset: 0x72c, out: 0xa79950a93b000000, outHI: 0x0
+sb :: offset: 0x72d, out: 0xa79950a93b810000, outHI: 0x0
+sb :: offset: 0x72e, out: 0xa79950a93b811e00, outHI: 0x0
+sb :: offset: 0x72f, out: 0xa79950a93b811ee0, outHI: 0x0
+sb :: offset: 0x730, out: 0x2f00000000000000, outHI: 0x0
+sb :: offset: 0x731, out: 0x2fb4000000000000, outHI: 0x0
+sb :: offset: 0x732, out: 0x2fb44e0000000000, outHI: 0x0
+sb :: offset: 0x733, out: 0x2fb44eea00000000, outHI: 0x0
+sb :: offset: 0x734, out: 0x2fb44eea93000000, outHI: 0x0
+sb :: offset: 0x735, out: 0x2fb44eea93c60000, outHI: 0x0
+sb :: offset: 0x736, out: 0x2fb44eea93c67900, outHI: 0x0
+sb :: offset: 0x737, out: 0x2fb44eea93c6796a, outHI: 0x0
+sb :: offset: 0x738, out: 0xc00000000000000, outHI: 0x0
+sb :: offset: 0x739, out: 0xcfe000000000000, outHI: 0x0
+sb :: offset: 0x73a, out: 0xcfe710000000000, outHI: 0x0
+sb :: offset: 0x73b, out: 0xcfe71fc00000000, outHI: 0x0
+sb :: offset: 0x73c, out: 0xcfe71fca0000000, outHI: 0x0
+sb :: offset: 0x73d, out: 0xcfe71fca06c0000, outHI: 0x0
+sb :: offset: 0x73e, out: 0xcfe71fca06c0e00, outHI: 0x0
+sb :: offset: 0x73f, out: 0xcfe71fca06c0eb6, outHI: 0x0
+sb :: offset: 0x740, out: 0x5700000000000000, outHI: 0x0
+sb :: offset: 0x741, out: 0x574e000000000000, outHI: 0x0
+sb :: offset: 0x742, out: 0x574ed60000000000, outHI: 0x0
+sb :: offset: 0x743, out: 0x574ed63900000000, outHI: 0x0
+sb :: offset: 0x744, out: 0x574ed6393d000000, outHI: 0x0
+sb :: offset: 0x745, out: 0x574ed6393df80000, outHI: 0x0
+sb :: offset: 0x746, out: 0x574ed6393df81800, outHI: 0x0
+sb :: offset: 0x747, out: 0x574ed6393df818af, outHI: 0x0
+sb :: offset: 0x748, out: 0x5700000000000000, outHI: 0x0
+sb :: offset: 0x749, out: 0x57f2000000000000, outHI: 0x0
+sb :: offset: 0x74a, out: 0x57f22e0000000000, outHI: 0x0
+sb :: offset: 0x74b, out: 0x57f22e9000000000, outHI: 0x0
+sb :: offset: 0x74c, out: 0x57f22e9020000000, outHI: 0x0
+sb :: offset: 0x74d, out: 0x57f22e9020020000, outHI: 0x0
+sb :: offset: 0x74e, out: 0x57f22e9020023600, outHI: 0x0
+sb :: offset: 0x74f, out: 0x57f22e9020023677, outHI: 0x0
+sb :: offset: 0x750, out: 0xa00000000000000, outHI: 0x0
+sb :: offset: 0x751, out: 0xa81000000000000, outHI: 0x0
+sb :: offset: 0x752, out: 0xa81ef0000000000, outHI: 0x0
+sb :: offset: 0x753, out: 0xa81efb600000000, outHI: 0x0
+sb :: offset: 0x754, out: 0xa81efb6c7000000, outHI: 0x0
+sb :: offset: 0x755, out: 0xa81efb6c7af0000, outHI: 0x0
+sb :: offset: 0x756, out: 0xa81efb6c7afd000, outHI: 0x0
+sb :: offset: 0x757, out: 0xa81efb6c7afd0c4, outHI: 0x0
+sb :: offset: 0x758, out: 0x5d00000000000000, outHI: 0x0
+sb :: offset: 0x759, out: 0x5dee000000000000, outHI: 0x0
+sb :: offset: 0x75a, out: 0x5deed80000000000, outHI: 0x0
+sb :: offset: 0x75b, out: 0x5deed8f300000000, outHI: 0x0
+sb :: offset: 0x75c, out: 0x5deed8f351000000, outHI: 0x0
+sb :: offset: 0x75d, out: 0x5deed8f351810000, outHI: 0x0
+sb :: offset: 0x75e, out: 0x5deed8f351810200, outHI: 0x0
+sb :: offset: 0x75f, out: 0x5deed8f351810231, outHI: 0x0
+sb :: offset: 0x760, out: 0x5b00000000000000, outHI: 0x0
+sb :: offset: 0x761, out: 0x5bad000000000000, outHI: 0x0
+sb :: offset: 0x762, out: 0x5badaf0000000000, outHI: 0x0
+sb :: offset: 0x763, out: 0x5badafef00000000, outHI: 0x0
+sb :: offset: 0x764, out: 0x5badafefb9000000, outHI: 0x0
+sb :: offset: 0x765, out: 0x5badafefb9990000, outHI: 0x0
+sb :: offset: 0x766, out: 0x5badafefb9995e00, outHI: 0x0
+sb :: offset: 0x767, out: 0x5badafefb9995efd, outHI: 0x0
+sb :: offset: 0x768, out: 0x5e00000000000000, outHI: 0x0
+sb :: offset: 0x769, out: 0x5e34000000000000, outHI: 0x0
+sb :: offset: 0x76a, out: 0x5e34060000000000, outHI: 0x0
+sb :: offset: 0x76b, out: 0x5e34061900000000, outHI: 0x0
+sb :: offset: 0x76c, out: 0x5e34061933000000, outHI: 0x0
+sb :: offset: 0x76d, out: 0x5e34061933eb0000, outHI: 0x0
+sb :: offset: 0x76e, out: 0x5e34061933eb2500, outHI: 0x0
+sb :: offset: 0x76f, out: 0x5e34061933eb2530, outHI: 0x0
+sb :: offset: 0x770, out: 0x8600000000000000, outHI: 0x0
+sb :: offset: 0x771, out: 0x8617000000000000, outHI: 0x0
+sb :: offset: 0x772, out: 0x8617480000000000, outHI: 0x0
+sb :: offset: 0x773, out: 0x861748da00000000, outHI: 0x0
+sb :: offset: 0x774, out: 0x861748da26000000, outHI: 0x0
+sb :: offset: 0x775, out: 0x861748da264b0000, outHI: 0x0
+sb :: offset: 0x776, out: 0x861748da264b4c00, outHI: 0x0
+sb :: offset: 0x777, out: 0x861748da264b4c52, outHI: 0x0
+sb :: offset: 0x778, out: 0xbc00000000000000, outHI: 0x0
+sb :: offset: 0x779, out: 0xbc34000000000000, outHI: 0x0
+sb :: offset: 0x77a, out: 0xbc34fd0000000000, outHI: 0x0
+sb :: offset: 0x77b, out: 0xbc34fdfc00000000, outHI: 0x0
+sb :: offset: 0x77c, out: 0xbc34fdfc9a000000, outHI: 0x0
+sb :: offset: 0x77d, out: 0xbc34fdfc9a930000, outHI: 0x0
+sb :: offset: 0x77e, out: 0xbc34fdfc9a930200, outHI: 0x0
+sb :: offset: 0x77f, out: 0xbc34fdfc9a9302be, outHI: 0x0
+sb :: offset: 0x780, out: 0x8900000000000000, outHI: 0x0
+sb :: offset: 0x781, out: 0x89d0000000000000, outHI: 0x0
+sb :: offset: 0x782, out: 0x89d0020000000000, outHI: 0x0
+sb :: offset: 0x783, out: 0x89d0027800000000, outHI: 0x0
+sb :: offset: 0x784, out: 0x89d00278c3000000, outHI: 0x0
+sb :: offset: 0x785, out: 0x89d00278c3c50000, outHI: 0x0
+sb :: offset: 0x786, out: 0x89d00278c3c52100, outHI: 0x0
+sb :: offset: 0x787, out: 0x89d00278c3c521d1, outHI: 0x0
+sb :: offset: 0x788, out: 0x8000000000000000, outHI: 0x0
+sb :: offset: 0x789, out: 0x80e9000000000000, outHI: 0x0
+sb :: offset: 0x78a, out: 0x80e9090000000000, outHI: 0x0
+sb :: offset: 0x78b, out: 0x80e9094400000000, outHI: 0x0
+sb :: offset: 0x78c, out: 0x80e90944a4000000, outHI: 0x0
+sb :: offset: 0x78d, out: 0x80e90944a4c10000, outHI: 0x0
+sb :: offset: 0x78e, out: 0x80e90944a4c1d300, outHI: 0x0
+sb :: offset: 0x78f, out: 0x80e90944a4c1d37a, outHI: 0x0
+sb :: offset: 0x790, out: 0x5d00000000000000, outHI: 0x0
+sb :: offset: 0x791, out: 0x5d65000000000000, outHI: 0x0
+sb :: offset: 0x792, out: 0x5d65fd0000000000, outHI: 0x0
+sb :: offset: 0x793, out: 0x5d65fd6900000000, outHI: 0x0
+sb :: offset: 0x794, out: 0x5d65fd698f000000, outHI: 0x0
+sb :: offset: 0x795, out: 0x5d65fd698fdd0000, outHI: 0x0
+sb :: offset: 0x796, out: 0x5d65fd698fddef00, outHI: 0x0
+sb :: offset: 0x797, out: 0x5d65fd698fddef98, outHI: 0x0
+sb :: offset: 0x798, out: 0x3900000000000000, outHI: 0x0
+sb :: offset: 0x799, out: 0x39c4000000000000, outHI: 0x0
+sb :: offset: 0x79a, out: 0x39c49e0000000000, outHI: 0x0
+sb :: offset: 0x79b, out: 0x39c49ee300000000, outHI: 0x0
+sb :: offset: 0x79c, out: 0x39c49ee3ad000000, outHI: 0x0
+sb :: offset: 0x79d, out: 0x39c49ee3ad810000, outHI: 0x0
+sb :: offset: 0x79e, out: 0x39c49ee3ad81b500, outHI: 0x0
+sb :: offset: 0x79f, out: 0x39c49ee3ad81b5af, outHI: 0x0
+sb :: offset: 0x7a0, out: 0x5200000000000000, outHI: 0x0
+sb :: offset: 0x7a1, out: 0x527a000000000000, outHI: 0x0
+sb :: offset: 0x7a2, out: 0x527aa90000000000, outHI: 0x0
+sb :: offset: 0x7a3, out: 0x527aa94100000000, outHI: 0x0
+sb :: offset: 0x7a4, out: 0x527aa941e8000000, outHI: 0x0
+sb :: offset: 0x7a5, out: 0x527aa941e8bd0000, outHI: 0x0
+sb :: offset: 0x7a6, out: 0x527aa941e8bdb200, outHI: 0x0
+sb :: offset: 0x7a7, out: 0x527aa941e8bdb263, outHI: 0x0
+sb :: offset: 0x7a8, out: 0xe900000000000000, outHI: 0x0
+sb :: offset: 0x7a9, out: 0xe937000000000000, outHI: 0x0
+sb :: offset: 0x7aa, out: 0xe9372c0000000000, outHI: 0x0
+sb :: offset: 0x7ab, out: 0xe9372c2000000000, outHI: 0x0
+sb :: offset: 0x7ac, out: 0xe9372c209e000000, outHI: 0x0
+sb :: offset: 0x7ad, out: 0xe9372c209e420000, outHI: 0x0
+sb :: offset: 0x7ae, out: 0xe9372c209e42f300, outHI: 0x0
+sb :: offset: 0x7af, out: 0xe9372c209e42f3b5, outHI: 0x0
+sb :: offset: 0x7b0, out: 0x8d00000000000000, outHI: 0x0
+sb :: offset: 0x7b1, out: 0x8d30000000000000, outHI: 0x0
+sb :: offset: 0x7b2, out: 0x8d30f80000000000, outHI: 0x0
+sb :: offset: 0x7b3, out: 0x8d30f87000000000, outHI: 0x0
+sb :: offset: 0x7b4, out: 0x8d30f870b7000000, outHI: 0x0
+sb :: offset: 0x7b5, out: 0x8d30f870b7e10000, outHI: 0x0
+sb :: offset: 0x7b6, out: 0x8d30f870b7e12200, outHI: 0x0
+sb :: offset: 0x7b7, out: 0x8d30f870b7e122a8, outHI: 0x0
+sb :: offset: 0x7b8, out: 0x3b00000000000000, outHI: 0x0
+sb :: offset: 0x7b9, out: 0x3b9e000000000000, outHI: 0x0
+sb :: offset: 0x7ba, out: 0x3b9e020000000000, outHI: 0x0
+sb :: offset: 0x7bb, out: 0x3b9e02de00000000, outHI: 0x0
+sb :: offset: 0x7bc, out: 0x3b9e02de4b000000, outHI: 0x0
+sb :: offset: 0x7bd, out: 0x3b9e02de4b670000, outHI: 0x0
+sb :: offset: 0x7be, out: 0x3b9e02de4b678900, outHI: 0x0
+sb :: offset: 0x7bf, out: 0x3b9e02de4b678930, outHI: 0x0
+sb :: offset: 0x7c0, out: 0xec00000000000000, outHI: 0x0
+sb :: offset: 0x7c1, out: 0xeccd000000000000, outHI: 0x0
+sb :: offset: 0x7c2, out: 0xeccd610000000000, outHI: 0x0
+sb :: offset: 0x7c3, out: 0xeccd61a800000000, outHI: 0x0
+sb :: offset: 0x7c4, out: 0xeccd61a863000000, outHI: 0x0
+sb :: offset: 0x7c5, out: 0xeccd61a863980000, outHI: 0x0
+sb :: offset: 0x7c6, out: 0xeccd61a863982600, outHI: 0x0
+sb :: offset: 0x7c7, out: 0xeccd61a863982663, outHI: 0x0
+sb :: offset: 0x7c8, out: 0x1e00000000000000, outHI: 0x0
+sb :: offset: 0x7c9, out: 0x1eae000000000000, outHI: 0x0
+sb :: offset: 0x7ca, out: 0x1eae870000000000, outHI: 0x0
+sb :: offset: 0x7cb, out: 0x1eae87bc00000000, outHI: 0x0
+sb :: offset: 0x7cc, out: 0x1eae87bc89000000, outHI: 0x0
+sb :: offset: 0x7cd, out: 0x1eae87bc899a0000, outHI: 0x0
+sb :: offset: 0x7ce, out: 0x1eae87bc899a7b00, outHI: 0x0
+sb :: offset: 0x7cf, out: 0x1eae87bc899a7bd3, outHI: 0x0
+sb :: offset: 0x7d0, out: 0xca00000000000000, outHI: 0x0
+sb :: offset: 0x7d1, out: 0xca58000000000000, outHI: 0x0
+sb :: offset: 0x7d2, out: 0xca58ec0000000000, outHI: 0x0
+sb :: offset: 0x7d3, out: 0xca58ec6400000000, outHI: 0x0
+sb :: offset: 0x7d4, out: 0xca58ec644d000000, outHI: 0x0
+sb :: offset: 0x7d5, out: 0xca58ec644d640000, outHI: 0x0
+sb :: offset: 0x7d6, out: 0xca58ec644d648100, outHI: 0x0
+sb :: offset: 0x7d7, out: 0xca58ec644d6481af, outHI: 0x0
+sb :: offset: 0x7d8, out: 0x1700000000000000, outHI: 0x0
+sb :: offset: 0x7d9, out: 0x1768000000000000, outHI: 0x0
+sb :: offset: 0x7da, out: 0x17680c0000000000, outHI: 0x0
+sb :: offset: 0x7db, out: 0x17680cce00000000, outHI: 0x0
+sb :: offset: 0x7dc, out: 0x17680cce5f000000, outHI: 0x0
+sb :: offset: 0x7dd, out: 0x17680cce5fb20000, outHI: 0x0
+sb :: offset: 0x7de, out: 0x17680cce5fb23600, outHI: 0x0
+sb :: offset: 0x7df, out: 0x17680cce5fb236b6, outHI: 0x0
+sb :: offset: 0x7e0, out: 0x6600000000000000, outHI: 0x0
+sb :: offset: 0x7e1, out: 0x663b000000000000, outHI: 0x0
+sb :: offset: 0x7e2, out: 0x663baa0000000000, outHI: 0x0
+sb :: offset: 0x7e3, out: 0x663baa9900000000, outHI: 0x0
+sb :: offset: 0x7e4, out: 0x663baa9947000000, outHI: 0x0
+sb :: offset: 0x7e5, out: 0x663baa99471f0000, outHI: 0x0
+sb :: offset: 0x7e6, out: 0x663baa99471f6d00, outHI: 0x0
+sb :: offset: 0x7e7, out: 0x663baa99471f6d4d, outHI: 0x0
+sb :: offset: 0x7e8, out: 0x7500000000000000, outHI: 0x0
+sb :: offset: 0x7e9, out: 0x7561000000000000, outHI: 0x0
+sb :: offset: 0x7ea, out: 0x75614d0000000000, outHI: 0x0
+sb :: offset: 0x7eb, out: 0x75614d9b00000000, outHI: 0x0
+sb :: offset: 0x7ec, out: 0x75614d9b44000000, outHI: 0x0
+sb :: offset: 0x7ed, out: 0x75614d9b445f0000, outHI: 0x0
+sb :: offset: 0x7ee, out: 0x75614d9b445f1200, outHI: 0x0
+sb :: offset: 0x7ef, out: 0x75614d9b445f1223, outHI: 0x0
+sb :: offset: 0x7f0, out: 0x6b00000000000000, outHI: 0x0
+sb :: offset: 0x7f1, out: 0x6ba2000000000000, outHI: 0x0
+sb :: offset: 0x7f2, out: 0x6ba2a60000000000, outHI: 0x0
+sb :: offset: 0x7f3, out: 0x6ba2a6ec00000000, outHI: 0x0
+sb :: offset: 0x7f4, out: 0x6ba2a6ec66000000, outHI: 0x0
+sb :: offset: 0x7f5, out: 0x6ba2a6ec661b0000, outHI: 0x0
+sb :: offset: 0x7f6, out: 0x6ba2a6ec661ba800, outHI: 0x0
+sb :: offset: 0x7f7, out: 0x6ba2a6ec661ba841, outHI: 0x0
+sd :: offset: 0x0, out: 0x12bd6aa, outHI: 0x0
+sd :: offset: 0x8, out: 0x7e876382d2ab13, outHI: 0x0
+sd :: offset: 0x10, out: 0x976d6e9ac31510f3, outHI: 0x0
+sd :: offset: 0x18, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sd :: offset: 0x20, out: 0x42b0c0a28677b502, outHI: 0x0
+sd :: offset: 0x28, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sd :: offset: 0x30, out: 0x1f308ec377fb413d, outHI: 0x0
+sd :: offset: 0x38, out: 0x7aa04213c760e4f7, outHI: 0x0
+sd :: offset: 0x40, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sd :: offset: 0x48, out: 0x4b3dda869615a60d, outHI: 0x0
+sd :: offset: 0x50, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sd :: offset: 0x58, out: 0x3af35a9dc40bd413, outHI: 0x0
+sd :: offset: 0x60, out: 0x47f505569a08a180, outHI: 0x0
+sd :: offset: 0x68, out: 0x9564b77fd6d2040f, outHI: 0x0
+sd :: offset: 0x70, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sd :: offset: 0x78, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sd :: offset: 0x80, out: 0x94ff52fc81afa797, outHI: 0x0
+sd :: offset: 0x88, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sd :: offset: 0x90, out: 0x36549bd678e895b1, outHI: 0x0
+sd :: offset: 0x98, out: 0x85e0a6319b63259b, outHI: 0x0
+sd :: offset: 0xa0, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sd :: offset: 0xa8, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sd :: offset: 0xb0, out: 0x25b50fec14682d97, outHI: 0x0
+sd :: offset: 0xb8, out: 0xfc93c5132cfb087a, outHI: 0x0
+sd :: offset: 0xc0, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sd :: offset: 0xc8, out: 0x1791722a7d72da3e, outHI: 0x0
+sd :: offset: 0xd0, out: 0x87cc9d193ce24ad, outHI: 0x0
+sd :: offset: 0xd8, out: 0x1d2a757038984ed2, outHI: 0x0
+sd :: offset: 0xe0, out: 0xd0d070db710cd036, outHI: 0x0
+sd :: offset: 0xe8, out: 0x39c21c7d03415604, outHI: 0x0
+sd :: offset: 0xf0, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sd :: offset: 0xf8, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sd :: offset: 0x100, out: 0x2f39454412d6e4a7, outHI: 0x0
+sd :: offset: 0x108, out: 0x2608c2b756da4c54, outHI: 0x0
+sd :: offset: 0x110, out: 0x900102dac8d7252f, outHI: 0x0
+sd :: offset: 0x118, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sd :: offset: 0x120, out: 0xed5005cbc8b0a214, outHI: 0x0
+sd :: offset: 0x128, out: 0x314791895991136c, outHI: 0x0
+sd :: offset: 0x130, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sd :: offset: 0x138, out: 0xa809521238895270, outHI: 0x0
+sd :: offset: 0x140, out: 0x87750a04ad765040, outHI: 0x0
+sd :: offset: 0x148, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sd :: offset: 0x150, out: 0xae6aff8fc506aa67, outHI: 0x0
+sd :: offset: 0x158, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sd :: offset: 0x160, out: 0xc4c770f630dcca5a, outHI: 0x0
+sd :: offset: 0x168, out: 0xdfec2b2383cd5277, outHI: 0x0
+sd :: offset: 0x170, out: 0xd3adba260ff7d96b, outHI: 0x0
+sd :: offset: 0x178, out: 0x4ab4aa798418c00e, outHI: 0x0
+sd :: offset: 0x180, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sd :: offset: 0x188, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sd :: offset: 0x190, out: 0x77433f373fd1c081, outHI: 0x0
+sd :: offset: 0x198, out: 0xec91d993c92195e4, outHI: 0x0
+sd :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sd :: offset: 0x1a8, out: 0x19364378c7ce8d1e, outHI: 0x0
+sd :: offset: 0x1b0, out: 0xb99e8def2f384907, outHI: 0x0
+sd :: offset: 0x1b8, out: 0x47eacdcd582b12fe, outHI: 0x0
+sd :: offset: 0x1c0, out: 0xd685884e76558c4f, outHI: 0x0
+sd :: offset: 0x1c8, out: 0x6168d62a34c195c7, outHI: 0x0
+sd :: offset: 0x1d0, out: 0xd30169894df47405, outHI: 0x0
+sd :: offset: 0x1d8, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sd :: offset: 0x1e0, out: 0x58300f029cae393a, outHI: 0x0
+sd :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sd :: offset: 0x1f0, out: 0x8a96047be3405b48, outHI: 0x0
+sd :: offset: 0x1f8, out: 0x75bfafd2d519d322, outHI: 0x0
+sd :: offset: 0x200, out: 0xde230867a630f6ad, outHI: 0x0
+sd :: offset: 0x208, out: 0x2c0a0cf256103260, outHI: 0x0
+sd :: offset: 0x210, out: 0x94a90544249b18ef, outHI: 0x0
+sd :: offset: 0x218, out: 0xf9519fb55b56fcde, outHI: 0x0
+sd :: offset: 0x220, out: 0x81daf8200468319b, outHI: 0x0
+sd :: offset: 0x228, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sd :: offset: 0x230, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sd :: offset: 0x238, out: 0x300ce751dac6162f, outHI: 0x0
+sd :: offset: 0x240, out: 0x6778fdf3ba52a850, outHI: 0x0
+sd :: offset: 0x248, out: 0xad00b1f7da78479f, outHI: 0x0
+sd :: offset: 0x250, out: 0x8d44168a6b6d98a, outHI: 0x0
+sd :: offset: 0x258, out: 0xf518381dce634413, outHI: 0x0
+sd :: offset: 0x260, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sd :: offset: 0x268, out: 0xccd392e176321f28, outHI: 0x0
+sd :: offset: 0x270, out: 0x829464944018fd8f, outHI: 0x0
+sd :: offset: 0x278, out: 0x15d3204052e8f0e5, outHI: 0x0
+sd :: offset: 0x280, out: 0x7caf83d2880ff344, outHI: 0x0
+sd :: offset: 0x288, out: 0xf156a04c747defd7, outHI: 0x0
+sd :: offset: 0x290, out: 0x93e2601c0f31d710, outHI: 0x0
+sd :: offset: 0x298, out: 0xe1e1a679131cd933, outHI: 0x0
+sd :: offset: 0x2a0, out: 0x24296b75a76fa427, outHI: 0x0
+sd :: offset: 0x2a8, out: 0xd296e2d2139ee56a, outHI: 0x0
+sd :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sd :: offset: 0x2b8, out: 0x76c89e80c07dc168, outHI: 0x0
+sd :: offset: 0x2c0, out: 0x70dc3454bfe348f, outHI: 0x0
+sd :: offset: 0x2c8, out: 0xbddc7123dd6d241b, outHI: 0x0
+sd :: offset: 0x2d0, out: 0xf62fb727a59fcebe, outHI: 0x0
+sd :: offset: 0x2d8, out: 0x109f27e90f9f46fb, outHI: 0x0
+sd :: offset: 0x2e0, out: 0x3f63daa9afd199d7, outHI: 0x0
+sd :: offset: 0x2e8, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sd :: offset: 0x2f0, out: 0x1f353faada4fe4c6, outHI: 0x0
+sd :: offset: 0x2f8, out: 0x8b086ee07150c260, outHI: 0x0
+sd :: offset: 0x300, out: 0xe54750d5d9257f25, outHI: 0x0
+sd :: offset: 0x308, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sd :: offset: 0x310, out: 0x70a3e0424340ac96, outHI: 0x0
+sd :: offset: 0x318, out: 0xc0478f036980171e, outHI: 0x0
+sd :: offset: 0x320, out: 0x3ce839a51cf929e3, outHI: 0x0
+sd :: offset: 0x328, out: 0xe2fbfa895eb68958, outHI: 0x0
+sd :: offset: 0x330, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sd :: offset: 0x338, out: 0xeb9682c170312f1, outHI: 0x0
+sd :: offset: 0x340, out: 0x84785280dd301d0d, outHI: 0x0
+sd :: offset: 0x348, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sd :: offset: 0x350, out: 0x26444ced2998436d, outHI: 0x0
+sd :: offset: 0x358, out: 0x7175c9dd58ca708, outHI: 0x0
+sd :: offset: 0x360, out: 0x663d061055833287, outHI: 0x0
+sd :: offset: 0x368, out: 0xab7dd0488951d68b, outHI: 0x0
+sd :: offset: 0x370, out: 0xf69823670e82471b, outHI: 0x0
+sd :: offset: 0x378, out: 0x36886c59d98d26b2, outHI: 0x0
+sd :: offset: 0x380, out: 0x9ca4bdbd32be479, outHI: 0x0
+sd :: offset: 0x388, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sd :: offset: 0x390, out: 0x3f46553ecad374df, outHI: 0x0
+sd :: offset: 0x398, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sd :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sd :: offset: 0x3a8, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sd :: offset: 0x3b0, out: 0xd2df25c419478206, outHI: 0x0
+sd :: offset: 0x3b8, out: 0xbc65bf27eb321825, outHI: 0x0
+sd :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sd :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sd :: offset: 0x3d0, out: 0x478909b59a99269, outHI: 0x0
+sd :: offset: 0x3d8, out: 0xbfb31cc87857360f, outHI: 0x0
+sd :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sd :: offset: 0x3e8, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sd :: offset: 0x3f0, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sd :: offset: 0x3f8, out: 0x223d7cfe2b961897, outHI: 0x0
+sd :: offset: 0x400, out: 0x420b34f533734a4b, outHI: 0x0
+sd :: offset: 0x408, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sd :: offset: 0x410, out: 0x7a387445e392ccd9, outHI: 0x0
+sd :: offset: 0x418, out: 0x512f29b1d80000c9, outHI: 0x0
+sd :: offset: 0x420, out: 0xeaded5c53dad020a, outHI: 0x0
+sd :: offset: 0x428, out: 0x8a6229d731eea35b, outHI: 0x0
+sd :: offset: 0x430, out: 0x2c3c3f9e48985649, outHI: 0x0
+sd :: offset: 0x438, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sd :: offset: 0x440, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sd :: offset: 0x448, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sd :: offset: 0x450, out: 0x164e17c1e7fb6587, outHI: 0x0
+sd :: offset: 0x458, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sd :: offset: 0x460, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sd :: offset: 0x468, out: 0xf8be8164159649c5, outHI: 0x0
+sd :: offset: 0x470, out: 0x7ca3259784e69b17, outHI: 0x0
+sd :: offset: 0x478, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sd :: offset: 0x480, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sd :: offset: 0x488, out: 0xc532e18e187980fa, outHI: 0x0
+sd :: offset: 0x490, out: 0xb3fdec294f287d1c, outHI: 0x0
+sd :: offset: 0x498, out: 0xb620660a49732b90, outHI: 0x0
+sd :: offset: 0x4a0, out: 0x993138f16cfde991, outHI: 0x0
+sd :: offset: 0x4a8, out: 0xde02d1337d5407b9, outHI: 0x0
+sd :: offset: 0x4b0, out: 0x13a390e1e1dab15a, outHI: 0x0
+sd :: offset: 0x4b8, out: 0x743491a6828716c8, outHI: 0x0
+sd :: offset: 0x4c0, out: 0x8cff404aede292f2, outHI: 0x0
+sd :: offset: 0x4c8, out: 0xb9cec0db1f837636, outHI: 0x0
+sd :: offset: 0x4d0, out: 0x2eaa5aa70509771c, outHI: 0x0
+sd :: offset: 0x4d8, out: 0xd327538e1875241b, outHI: 0x0
+sd :: offset: 0x4e0, out: 0x42e9f8548b739b6b, outHI: 0x0
+sd :: offset: 0x4e8, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sd :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sd :: offset: 0x4f8, out: 0x73916483ae3e9423, outHI: 0x0
+sd :: offset: 0x500, out: 0x276af70a0e128561, outHI: 0x0
+sd :: offset: 0x508, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sd :: offset: 0x510, out: 0x20223f1308accfa6, outHI: 0x0
+sd :: offset: 0x518, out: 0xf83c55743976b5f5, outHI: 0x0
+sd :: offset: 0x520, out: 0x1f9720f946923c3d, outHI: 0x0
+sd :: offset: 0x528, out: 0x620d28506d2448dd, outHI: 0x0
+sd :: offset: 0x530, out: 0x60a521e99ff4a732, outHI: 0x0
+sd :: offset: 0x538, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sd :: offset: 0x540, out: 0xc7a59be7800f3d26, outHI: 0x0
+sd :: offset: 0x548, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sd :: offset: 0x550, out: 0x2b8613a260d19dcd, outHI: 0x0
+sd :: offset: 0x558, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sd :: offset: 0x560, out: 0x743e568d2fcf486b, outHI: 0x0
+sd :: offset: 0x568, out: 0x126f646f34c31728, outHI: 0x0
+sd :: offset: 0x570, out: 0xaab0196156fc4d12, outHI: 0x0
+sd :: offset: 0x578, out: 0x7535cd338595d342, outHI: 0x0
+sd :: offset: 0x580, out: 0xdfb254da422346ec, outHI: 0x0
+sd :: offset: 0x588, out: 0xa86726c90081ab2a, outHI: 0x0
+sd :: offset: 0x590, out: 0x9bfeffa1679d7438, outHI: 0x0
+sd :: offset: 0x598, out: 0xc7699826b7dee244, outHI: 0x0
+sd :: offset: 0x5a0, out: 0x3c07af97fba6704a, outHI: 0x0
+sd :: offset: 0x5a8, out: 0x521364dc04c58bfe, outHI: 0x0
+sd :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sd :: offset: 0x5b8, out: 0xe336c60cdeeb954d, outHI: 0x0
+sd :: offset: 0x5c0, out: 0xd5b2120c6f52416e, outHI: 0x0
+sd :: offset: 0x5c8, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sd :: offset: 0x5d0, out: 0x986a2b654a4e7e07, outHI: 0x0
+sd :: offset: 0x5d8, out: 0xa974eac43a489b55, outHI: 0x0
+sd :: offset: 0x5e0, out: 0xa388c16272f1f8f5, outHI: 0x0
+sd :: offset: 0x5e8, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sd :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sd :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sd :: offset: 0x600, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sd :: offset: 0x608, out: 0x4bf8485ab728922f, outHI: 0x0
+sd :: offset: 0x610, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sd :: offset: 0x618, out: 0x31e0c6affdc28eda, outHI: 0x0
+sd :: offset: 0x620, out: 0x53606bb4bf0c999d, outHI: 0x0
+sd :: offset: 0x628, out: 0x32fc12c81b7919f0, outHI: 0x0
+sd :: offset: 0x630, out: 0x3ef88384c72efcd6, outHI: 0x0
+sd :: offset: 0x638, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sd :: offset: 0x640, out: 0x15ebf6121dca77c9, outHI: 0x0
+sd :: offset: 0x648, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sd :: offset: 0x650, out: 0xbb8470f981e91117, outHI: 0x0
+sd :: offset: 0x658, out: 0x5d42aeac6a532e0, outHI: 0x0
+sd :: offset: 0x660, out: 0x14abf36419fb9e63, outHI: 0x0
+sd :: offset: 0x668, out: 0x249d559aa8d72aac, outHI: 0x0
+sd :: offset: 0x670, out: 0xcd6764f084b30ec, outHI: 0x0
+sd :: offset: 0x678, out: 0x7f03ac0792468fdf, outHI: 0x0
+sd :: offset: 0x680, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sd :: offset: 0x688, out: 0x152828591a652711, outHI: 0x0
+sd :: offset: 0x690, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sd :: offset: 0x698, out: 0x8d95c049282a0417, outHI: 0x0
+sd :: offset: 0x6a0, out: 0xf2e7a490978058f3, outHI: 0x0
+sd :: offset: 0x6a8, out: 0x775b4cca0975b1aa, outHI: 0x0
+sd :: offset: 0x6b0, out: 0xa2b84a635111020, outHI: 0x0
+sd :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sd :: offset: 0x6c0, out: 0xa3d991b79941dedd, outHI: 0x0
+sd :: offset: 0x6c8, out: 0x751cb4835a0d9508, outHI: 0x0
+sd :: offset: 0x6d0, out: 0x949cad35625bb2d3, outHI: 0x0
+sd :: offset: 0x6d8, out: 0x7f567f35a6929739, outHI: 0x0
+sd :: offset: 0x6e0, out: 0x185b88e0db8d7d27, outHI: 0x0
+sd :: offset: 0x6e8, out: 0x255a4cd22fd61b91, outHI: 0x0
+sd :: offset: 0x6f0, out: 0x1048d589a4363f7b, outHI: 0x0
+sd :: offset: 0x6f8, out: 0x6a6d5708f4605790, outHI: 0x0
+sd :: offset: 0x700, out: 0xd58ecbabde35697f, outHI: 0x0
+sd :: offset: 0x708, out: 0x575548fd08c0a5f1, outHI: 0x0
+sd :: offset: 0x710, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sd :: offset: 0x718, out: 0xbe00d51eabc578cc, outHI: 0x0
+sd :: offset: 0x720, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sd :: offset: 0x728, out: 0xa978f12ca22256a7, outHI: 0x0
+sd :: offset: 0x730, out: 0x9950a93b811ee02f, outHI: 0x0
+sd :: offset: 0x738, out: 0xb44eea93c6796a0c, outHI: 0x0
+sd :: offset: 0x740, out: 0xfe71fca06c0eb657, outHI: 0x0
+sd :: offset: 0x748, out: 0x4ed6393df818af57, outHI: 0x0
+sd :: offset: 0x750, out: 0xf22e90200236770a, outHI: 0x0
+sd :: offset: 0x758, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sd :: offset: 0x760, out: 0xeed8f3518102315b, outHI: 0x0
+sd :: offset: 0x768, out: 0xadafefb9995efd5e, outHI: 0x0
+sd :: offset: 0x770, out: 0x34061933eb253086, outHI: 0x0
+sd :: offset: 0x778, out: 0x1748da264b4c52bc, outHI: 0x0
+sd :: offset: 0x780, out: 0x34fdfc9a9302be89, outHI: 0x0
+sd :: offset: 0x788, out: 0xd00278c3c521d180, outHI: 0x0
+sd :: offset: 0x790, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sd :: offset: 0x798, out: 0x65fd698fddef9839, outHI: 0x0
+sd :: offset: 0x7a0, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sd :: offset: 0x7a8, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sd :: offset: 0x7b0, out: 0x372c209e42f3b58d, outHI: 0x0
+sd :: offset: 0x7b8, out: 0x30f870b7e122a83b, outHI: 0x0
+sd :: offset: 0x7c0, out: 0x9e02de4b678930ec, outHI: 0x0
+sd :: offset: 0x7c8, out: 0xcd61a8639826631e, outHI: 0x0
+sd :: offset: 0x7d0, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sd :: offset: 0x7d8, out: 0x58ec644d6481af17, outHI: 0x0
+sd :: offset: 0x7e0, out: 0x680cce5fb236b666, outHI: 0x0
+sd :: offset: 0x7e8, out: 0x3baa99471f6d4d75, outHI: 0x0
+sd :: offset: 0x7f0, out: 0x614d9b445f12236b, outHI: 0x0
+sdl :: offset: 0x0, out: 0x12bd6aa, outHI: 0x0
+sdl :: offset: 0x1, out: 0x12bd6aa, outHI: 0x0
+sdl :: offset: 0x2, out: 0x12bd6aa, outHI: 0x0
+sdl :: offset: 0x3, out: 0x12bd6aa, outHI: 0x0
+sdl :: offset: 0x4, out: 0x12bd6aa, outHI: 0x0
+sdl :: offset: 0x5, out: 0x12bd6aa, outHI: 0x0
+sdl :: offset: 0x6, out: 0x12bd6aa, outHI: 0x0
+sdl :: offset: 0x7, out: 0x12bd6aa, outHI: 0x0
+sdl :: offset: 0x8, out: 0x7e876382d2ab13, outHI: 0x0
+sdl :: offset: 0x9, out: 0x7e876382d2ab13, outHI: 0x0
+sdl :: offset: 0xa, out: 0x7e876382d2ab13, outHI: 0x0
+sdl :: offset: 0xb, out: 0x7e876382d2ab13, outHI: 0x0
+sdl :: offset: 0xc, out: 0x7e876382d2ab13, outHI: 0x0
+sdl :: offset: 0xd, out: 0x7e876382d2ab13, outHI: 0x0
+sdl :: offset: 0xe, out: 0x7e876382d2ab13, outHI: 0x0
+sdl :: offset: 0xf, out: 0x7e876382d2ab13, outHI: 0x0
+sdl :: offset: 0x10, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdl :: offset: 0x11, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdl :: offset: 0x12, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdl :: offset: 0x13, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdl :: offset: 0x14, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdl :: offset: 0x15, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdl :: offset: 0x16, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdl :: offset: 0x17, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdl :: offset: 0x18, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdl :: offset: 0x19, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdl :: offset: 0x1a, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdl :: offset: 0x1b, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdl :: offset: 0x1c, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdl :: offset: 0x1d, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdl :: offset: 0x1e, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdl :: offset: 0x1f, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdl :: offset: 0x20, out: 0x42b0c0a28677b502, outHI: 0x0
+sdl :: offset: 0x21, out: 0x42b0c0a28677b502, outHI: 0x0
+sdl :: offset: 0x22, out: 0x42b0c0a28677b502, outHI: 0x0
+sdl :: offset: 0x23, out: 0x42b0c0a28677b502, outHI: 0x0
+sdl :: offset: 0x24, out: 0x42b0c0a28677b502, outHI: 0x0
+sdl :: offset: 0x25, out: 0x42b0c0a28677b502, outHI: 0x0
+sdl :: offset: 0x26, out: 0x42b0c0a28677b502, outHI: 0x0
+sdl :: offset: 0x27, out: 0x42b0c0a28677b502, outHI: 0x0
+sdl :: offset: 0x28, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdl :: offset: 0x29, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdl :: offset: 0x2a, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdl :: offset: 0x2b, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdl :: offset: 0x2c, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdl :: offset: 0x2d, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdl :: offset: 0x2e, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdl :: offset: 0x2f, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdl :: offset: 0x30, out: 0x1f308ec377fb413d, outHI: 0x0
+sdl :: offset: 0x31, out: 0x1f308ec377fb413d, outHI: 0x0
+sdl :: offset: 0x32, out: 0x1f308ec377fb413d, outHI: 0x0
+sdl :: offset: 0x33, out: 0x1f308ec377fb413d, outHI: 0x0
+sdl :: offset: 0x34, out: 0x1f308ec377fb413d, outHI: 0x0
+sdl :: offset: 0x35, out: 0x1f308ec377fb413d, outHI: 0x0
+sdl :: offset: 0x36, out: 0x1f308ec377fb413d, outHI: 0x0
+sdl :: offset: 0x37, out: 0x1f308ec377fb413d, outHI: 0x0
+sdl :: offset: 0x38, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdl :: offset: 0x39, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdl :: offset: 0x3a, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdl :: offset: 0x3b, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdl :: offset: 0x3c, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdl :: offset: 0x3d, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdl :: offset: 0x3e, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdl :: offset: 0x3f, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdl :: offset: 0x40, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdl :: offset: 0x41, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdl :: offset: 0x42, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdl :: offset: 0x43, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdl :: offset: 0x44, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdl :: offset: 0x45, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdl :: offset: 0x46, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdl :: offset: 0x47, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdl :: offset: 0x48, out: 0x4b3dda869615a60d, outHI: 0x0
+sdl :: offset: 0x49, out: 0x4b3dda869615a60d, outHI: 0x0
+sdl :: offset: 0x4a, out: 0x4b3dda869615a60d, outHI: 0x0
+sdl :: offset: 0x4b, out: 0x4b3dda869615a60d, outHI: 0x0
+sdl :: offset: 0x4c, out: 0x4b3dda869615a60d, outHI: 0x0
+sdl :: offset: 0x4d, out: 0x4b3dda869615a60d, outHI: 0x0
+sdl :: offset: 0x4e, out: 0x4b3dda869615a60d, outHI: 0x0
+sdl :: offset: 0x4f, out: 0x4b3dda869615a60d, outHI: 0x0
+sdl :: offset: 0x50, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdl :: offset: 0x51, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdl :: offset: 0x52, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdl :: offset: 0x53, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdl :: offset: 0x54, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdl :: offset: 0x55, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdl :: offset: 0x56, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdl :: offset: 0x57, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdl :: offset: 0x58, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdl :: offset: 0x59, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdl :: offset: 0x5a, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdl :: offset: 0x5b, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdl :: offset: 0x5c, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdl :: offset: 0x5d, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdl :: offset: 0x5e, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdl :: offset: 0x5f, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdl :: offset: 0x60, out: 0x47f505569a08a180, outHI: 0x0
+sdl :: offset: 0x61, out: 0x47f505569a08a180, outHI: 0x0
+sdl :: offset: 0x62, out: 0x47f505569a08a180, outHI: 0x0
+sdl :: offset: 0x63, out: 0x47f505569a08a180, outHI: 0x0
+sdl :: offset: 0x64, out: 0x47f505569a08a180, outHI: 0x0
+sdl :: offset: 0x65, out: 0x47f505569a08a180, outHI: 0x0
+sdl :: offset: 0x66, out: 0x47f505569a08a180, outHI: 0x0
+sdl :: offset: 0x67, out: 0x47f505569a08a180, outHI: 0x0
+sdl :: offset: 0x68, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdl :: offset: 0x69, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdl :: offset: 0x6a, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdl :: offset: 0x6b, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdl :: offset: 0x6c, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdl :: offset: 0x6d, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdl :: offset: 0x6e, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdl :: offset: 0x6f, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdl :: offset: 0x70, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdl :: offset: 0x71, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdl :: offset: 0x72, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdl :: offset: 0x73, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdl :: offset: 0x74, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdl :: offset: 0x75, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdl :: offset: 0x76, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdl :: offset: 0x77, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdl :: offset: 0x78, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdl :: offset: 0x79, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdl :: offset: 0x7a, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdl :: offset: 0x7b, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdl :: offset: 0x7c, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdl :: offset: 0x7d, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdl :: offset: 0x7e, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdl :: offset: 0x7f, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdl :: offset: 0x80, out: 0x94ff52fc81afa797, outHI: 0x0
+sdl :: offset: 0x81, out: 0x94ff52fc81afa797, outHI: 0x0
+sdl :: offset: 0x82, out: 0x94ff52fc81afa797, outHI: 0x0
+sdl :: offset: 0x83, out: 0x94ff52fc81afa797, outHI: 0x0
+sdl :: offset: 0x84, out: 0x94ff52fc81afa797, outHI: 0x0
+sdl :: offset: 0x85, out: 0x94ff52fc81afa797, outHI: 0x0
+sdl :: offset: 0x86, out: 0x94ff52fc81afa797, outHI: 0x0
+sdl :: offset: 0x87, out: 0x94ff52fc81afa797, outHI: 0x0
+sdl :: offset: 0x88, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdl :: offset: 0x89, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdl :: offset: 0x8a, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdl :: offset: 0x8b, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdl :: offset: 0x8c, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdl :: offset: 0x8d, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdl :: offset: 0x8e, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdl :: offset: 0x8f, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdl :: offset: 0x90, out: 0x36549bd678e895b1, outHI: 0x0
+sdl :: offset: 0x91, out: 0x36549bd678e895b1, outHI: 0x0
+sdl :: offset: 0x92, out: 0x36549bd678e895b1, outHI: 0x0
+sdl :: offset: 0x93, out: 0x36549bd678e895b1, outHI: 0x0
+sdl :: offset: 0x94, out: 0x36549bd678e895b1, outHI: 0x0
+sdl :: offset: 0x95, out: 0x36549bd678e895b1, outHI: 0x0
+sdl :: offset: 0x96, out: 0x36549bd678e895b1, outHI: 0x0
+sdl :: offset: 0x97, out: 0x36549bd678e895b1, outHI: 0x0
+sdl :: offset: 0x98, out: 0x85e0a6319b63259b, outHI: 0x0
+sdl :: offset: 0x99, out: 0x85e0a6319b63259b, outHI: 0x0
+sdl :: offset: 0x9a, out: 0x85e0a6319b63259b, outHI: 0x0
+sdl :: offset: 0x9b, out: 0x85e0a6319b63259b, outHI: 0x0
+sdl :: offset: 0x9c, out: 0x85e0a6319b63259b, outHI: 0x0
+sdl :: offset: 0x9d, out: 0x85e0a6319b63259b, outHI: 0x0
+sdl :: offset: 0x9e, out: 0x85e0a6319b63259b, outHI: 0x0
+sdl :: offset: 0x9f, out: 0x85e0a6319b63259b, outHI: 0x0
+sdl :: offset: 0xa0, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdl :: offset: 0xa1, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdl :: offset: 0xa2, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdl :: offset: 0xa3, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdl :: offset: 0xa4, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdl :: offset: 0xa5, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdl :: offset: 0xa6, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdl :: offset: 0xa7, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdl :: offset: 0xa8, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdl :: offset: 0xa9, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdl :: offset: 0xaa, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdl :: offset: 0xab, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdl :: offset: 0xac, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdl :: offset: 0xad, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdl :: offset: 0xae, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdl :: offset: 0xaf, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdl :: offset: 0xb0, out: 0x25b50fec14682d97, outHI: 0x0
+sdl :: offset: 0xb1, out: 0x25b50fec14682d97, outHI: 0x0
+sdl :: offset: 0xb2, out: 0x25b50fec14682d97, outHI: 0x0
+sdl :: offset: 0xb3, out: 0x25b50fec14682d97, outHI: 0x0
+sdl :: offset: 0xb4, out: 0x25b50fec14682d97, outHI: 0x0
+sdl :: offset: 0xb5, out: 0x25b50fec14682d97, outHI: 0x0
+sdl :: offset: 0xb6, out: 0x25b50fec14682d97, outHI: 0x0
+sdl :: offset: 0xb7, out: 0x25b50fec14682d97, outHI: 0x0
+sdl :: offset: 0xb8, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdl :: offset: 0xb9, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdl :: offset: 0xba, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdl :: offset: 0xbb, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdl :: offset: 0xbc, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdl :: offset: 0xbd, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdl :: offset: 0xbe, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdl :: offset: 0xbf, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdl :: offset: 0xc0, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdl :: offset: 0xc1, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdl :: offset: 0xc2, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdl :: offset: 0xc3, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdl :: offset: 0xc4, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdl :: offset: 0xc5, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdl :: offset: 0xc6, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdl :: offset: 0xc7, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdl :: offset: 0xc8, out: 0x1791722a7d72da3e, outHI: 0x0
+sdl :: offset: 0xc9, out: 0x1791722a7d72da3e, outHI: 0x0
+sdl :: offset: 0xca, out: 0x1791722a7d72da3e, outHI: 0x0
+sdl :: offset: 0xcb, out: 0x1791722a7d72da3e, outHI: 0x0
+sdl :: offset: 0xcc, out: 0x1791722a7d72da3e, outHI: 0x0
+sdl :: offset: 0xcd, out: 0x1791722a7d72da3e, outHI: 0x0
+sdl :: offset: 0xce, out: 0x1791722a7d72da3e, outHI: 0x0
+sdl :: offset: 0xcf, out: 0x1791722a7d72da3e, outHI: 0x0
+sdl :: offset: 0xd0, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdl :: offset: 0xd1, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdl :: offset: 0xd2, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdl :: offset: 0xd3, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdl :: offset: 0xd4, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdl :: offset: 0xd5, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdl :: offset: 0xd6, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdl :: offset: 0xd7, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdl :: offset: 0xd8, out: 0x1d2a757038984ed2, outHI: 0x0
+sdl :: offset: 0xd9, out: 0x1d2a757038984ed2, outHI: 0x0
+sdl :: offset: 0xda, out: 0x1d2a757038984ed2, outHI: 0x0
+sdl :: offset: 0xdb, out: 0x1d2a757038984ed2, outHI: 0x0
+sdl :: offset: 0xdc, out: 0x1d2a757038984ed2, outHI: 0x0
+sdl :: offset: 0xdd, out: 0x1d2a757038984ed2, outHI: 0x0
+sdl :: offset: 0xde, out: 0x1d2a757038984ed2, outHI: 0x0
+sdl :: offset: 0xdf, out: 0x1d2a757038984ed2, outHI: 0x0
+sdl :: offset: 0xe0, out: 0xd0d070db710cd036, outHI: 0x0
+sdl :: offset: 0xe1, out: 0xd0d070db710cd036, outHI: 0x0
+sdl :: offset: 0xe2, out: 0xd0d070db710cd036, outHI: 0x0
+sdl :: offset: 0xe3, out: 0xd0d070db710cd036, outHI: 0x0
+sdl :: offset: 0xe4, out: 0xd0d070db710cd036, outHI: 0x0
+sdl :: offset: 0xe5, out: 0xd0d070db710cd036, outHI: 0x0
+sdl :: offset: 0xe6, out: 0xd0d070db710cd036, outHI: 0x0
+sdl :: offset: 0xe7, out: 0xd0d070db710cd036, outHI: 0x0
+sdl :: offset: 0xe8, out: 0x39c21c7d03415604, outHI: 0x0
+sdl :: offset: 0xe9, out: 0x39c21c7d03415604, outHI: 0x0
+sdl :: offset: 0xea, out: 0x39c21c7d03415604, outHI: 0x0
+sdl :: offset: 0xeb, out: 0x39c21c7d03415604, outHI: 0x0
+sdl :: offset: 0xec, out: 0x39c21c7d03415604, outHI: 0x0
+sdl :: offset: 0xed, out: 0x39c21c7d03415604, outHI: 0x0
+sdl :: offset: 0xee, out: 0x39c21c7d03415604, outHI: 0x0
+sdl :: offset: 0xef, out: 0x39c21c7d03415604, outHI: 0x0
+sdl :: offset: 0xf0, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdl :: offset: 0xf1, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdl :: offset: 0xf2, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdl :: offset: 0xf3, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdl :: offset: 0xf4, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdl :: offset: 0xf5, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdl :: offset: 0xf6, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdl :: offset: 0xf7, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdl :: offset: 0xf8, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdl :: offset: 0xf9, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdl :: offset: 0xfa, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdl :: offset: 0xfb, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdl :: offset: 0xfc, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdl :: offset: 0xfd, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdl :: offset: 0xfe, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdl :: offset: 0xff, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdl :: offset: 0x100, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdl :: offset: 0x101, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdl :: offset: 0x102, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdl :: offset: 0x103, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdl :: offset: 0x104, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdl :: offset: 0x105, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdl :: offset: 0x106, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdl :: offset: 0x107, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdl :: offset: 0x108, out: 0x2608c2b756da4c54, outHI: 0x0
+sdl :: offset: 0x109, out: 0x2608c2b756da4c54, outHI: 0x0
+sdl :: offset: 0x10a, out: 0x2608c2b756da4c54, outHI: 0x0
+sdl :: offset: 0x10b, out: 0x2608c2b756da4c54, outHI: 0x0
+sdl :: offset: 0x10c, out: 0x2608c2b756da4c54, outHI: 0x0
+sdl :: offset: 0x10d, out: 0x2608c2b756da4c54, outHI: 0x0
+sdl :: offset: 0x10e, out: 0x2608c2b756da4c54, outHI: 0x0
+sdl :: offset: 0x10f, out: 0x2608c2b756da4c54, outHI: 0x0
+sdl :: offset: 0x110, out: 0x900102dac8d7252f, outHI: 0x0
+sdl :: offset: 0x111, out: 0x900102dac8d7252f, outHI: 0x0
+sdl :: offset: 0x112, out: 0x900102dac8d7252f, outHI: 0x0
+sdl :: offset: 0x113, out: 0x900102dac8d7252f, outHI: 0x0
+sdl :: offset: 0x114, out: 0x900102dac8d7252f, outHI: 0x0
+sdl :: offset: 0x115, out: 0x900102dac8d7252f, outHI: 0x0
+sdl :: offset: 0x116, out: 0x900102dac8d7252f, outHI: 0x0
+sdl :: offset: 0x117, out: 0x900102dac8d7252f, outHI: 0x0
+sdl :: offset: 0x118, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdl :: offset: 0x119, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdl :: offset: 0x11a, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdl :: offset: 0x11b, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdl :: offset: 0x11c, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdl :: offset: 0x11d, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdl :: offset: 0x11e, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdl :: offset: 0x11f, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdl :: offset: 0x120, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdl :: offset: 0x121, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdl :: offset: 0x122, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdl :: offset: 0x123, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdl :: offset: 0x124, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdl :: offset: 0x125, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdl :: offset: 0x126, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdl :: offset: 0x127, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdl :: offset: 0x128, out: 0x314791895991136c, outHI: 0x0
+sdl :: offset: 0x129, out: 0x314791895991136c, outHI: 0x0
+sdl :: offset: 0x12a, out: 0x314791895991136c, outHI: 0x0
+sdl :: offset: 0x12b, out: 0x314791895991136c, outHI: 0x0
+sdl :: offset: 0x12c, out: 0x314791895991136c, outHI: 0x0
+sdl :: offset: 0x12d, out: 0x314791895991136c, outHI: 0x0
+sdl :: offset: 0x12e, out: 0x314791895991136c, outHI: 0x0
+sdl :: offset: 0x12f, out: 0x314791895991136c, outHI: 0x0
+sdl :: offset: 0x130, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdl :: offset: 0x131, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdl :: offset: 0x132, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdl :: offset: 0x133, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdl :: offset: 0x134, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdl :: offset: 0x135, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdl :: offset: 0x136, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdl :: offset: 0x137, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdl :: offset: 0x138, out: 0xa809521238895270, outHI: 0x0
+sdl :: offset: 0x139, out: 0xa809521238895270, outHI: 0x0
+sdl :: offset: 0x13a, out: 0xa809521238895270, outHI: 0x0
+sdl :: offset: 0x13b, out: 0xa809521238895270, outHI: 0x0
+sdl :: offset: 0x13c, out: 0xa809521238895270, outHI: 0x0
+sdl :: offset: 0x13d, out: 0xa809521238895270, outHI: 0x0
+sdl :: offset: 0x13e, out: 0xa809521238895270, outHI: 0x0
+sdl :: offset: 0x13f, out: 0xa809521238895270, outHI: 0x0
+sdl :: offset: 0x140, out: 0x87750a04ad765040, outHI: 0x0
+sdl :: offset: 0x141, out: 0x87750a04ad765040, outHI: 0x0
+sdl :: offset: 0x142, out: 0x87750a04ad765040, outHI: 0x0
+sdl :: offset: 0x143, out: 0x87750a04ad765040, outHI: 0x0
+sdl :: offset: 0x144, out: 0x87750a04ad765040, outHI: 0x0
+sdl :: offset: 0x145, out: 0x87750a04ad765040, outHI: 0x0
+sdl :: offset: 0x146, out: 0x87750a04ad765040, outHI: 0x0
+sdl :: offset: 0x147, out: 0x87750a04ad765040, outHI: 0x0
+sdl :: offset: 0x148, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdl :: offset: 0x149, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdl :: offset: 0x14a, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdl :: offset: 0x14b, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdl :: offset: 0x14c, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdl :: offset: 0x14d, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdl :: offset: 0x14e, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdl :: offset: 0x14f, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdl :: offset: 0x150, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdl :: offset: 0x151, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdl :: offset: 0x152, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdl :: offset: 0x153, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdl :: offset: 0x154, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdl :: offset: 0x155, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdl :: offset: 0x156, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdl :: offset: 0x157, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdl :: offset: 0x158, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdl :: offset: 0x159, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdl :: offset: 0x15a, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdl :: offset: 0x15b, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdl :: offset: 0x15c, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdl :: offset: 0x15d, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdl :: offset: 0x15e, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdl :: offset: 0x15f, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdl :: offset: 0x160, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdl :: offset: 0x161, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdl :: offset: 0x162, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdl :: offset: 0x163, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdl :: offset: 0x164, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdl :: offset: 0x165, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdl :: offset: 0x166, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdl :: offset: 0x167, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdl :: offset: 0x168, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdl :: offset: 0x169, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdl :: offset: 0x16a, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdl :: offset: 0x16b, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdl :: offset: 0x16c, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdl :: offset: 0x16d, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdl :: offset: 0x16e, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdl :: offset: 0x16f, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdl :: offset: 0x170, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdl :: offset: 0x171, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdl :: offset: 0x172, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdl :: offset: 0x173, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdl :: offset: 0x174, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdl :: offset: 0x175, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdl :: offset: 0x176, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdl :: offset: 0x177, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdl :: offset: 0x178, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdl :: offset: 0x179, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdl :: offset: 0x17a, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdl :: offset: 0x17b, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdl :: offset: 0x17c, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdl :: offset: 0x17d, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdl :: offset: 0x17e, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdl :: offset: 0x17f, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdl :: offset: 0x180, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdl :: offset: 0x181, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdl :: offset: 0x182, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdl :: offset: 0x183, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdl :: offset: 0x184, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdl :: offset: 0x185, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdl :: offset: 0x186, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdl :: offset: 0x187, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdl :: offset: 0x188, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdl :: offset: 0x189, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdl :: offset: 0x18a, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdl :: offset: 0x18b, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdl :: offset: 0x18c, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdl :: offset: 0x18d, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdl :: offset: 0x18e, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdl :: offset: 0x18f, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdl :: offset: 0x190, out: 0x77433f373fd1c081, outHI: 0x0
+sdl :: offset: 0x191, out: 0x77433f373fd1c081, outHI: 0x0
+sdl :: offset: 0x192, out: 0x77433f373fd1c081, outHI: 0x0
+sdl :: offset: 0x193, out: 0x77433f373fd1c081, outHI: 0x0
+sdl :: offset: 0x194, out: 0x77433f373fd1c081, outHI: 0x0
+sdl :: offset: 0x195, out: 0x77433f373fd1c081, outHI: 0x0
+sdl :: offset: 0x196, out: 0x77433f373fd1c081, outHI: 0x0
+sdl :: offset: 0x197, out: 0x77433f373fd1c081, outHI: 0x0
+sdl :: offset: 0x198, out: 0xec91d993c92195e4, outHI: 0x0
+sdl :: offset: 0x199, out: 0xec91d993c92195e4, outHI: 0x0
+sdl :: offset: 0x19a, out: 0xec91d993c92195e4, outHI: 0x0
+sdl :: offset: 0x19b, out: 0xec91d993c92195e4, outHI: 0x0
+sdl :: offset: 0x19c, out: 0xec91d993c92195e4, outHI: 0x0
+sdl :: offset: 0x19d, out: 0xec91d993c92195e4, outHI: 0x0
+sdl :: offset: 0x19e, out: 0xec91d993c92195e4, outHI: 0x0
+sdl :: offset: 0x19f, out: 0xec91d993c92195e4, outHI: 0x0
+sdl :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdl :: offset: 0x1a1, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdl :: offset: 0x1a2, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdl :: offset: 0x1a3, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdl :: offset: 0x1a4, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdl :: offset: 0x1a5, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdl :: offset: 0x1a6, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdl :: offset: 0x1a7, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdl :: offset: 0x1a8, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdl :: offset: 0x1a9, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdl :: offset: 0x1aa, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdl :: offset: 0x1ab, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdl :: offset: 0x1ac, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdl :: offset: 0x1ad, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdl :: offset: 0x1ae, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdl :: offset: 0x1af, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdl :: offset: 0x1b0, out: 0xb99e8def2f384907, outHI: 0x0
+sdl :: offset: 0x1b1, out: 0xb99e8def2f384907, outHI: 0x0
+sdl :: offset: 0x1b2, out: 0xb99e8def2f384907, outHI: 0x0
+sdl :: offset: 0x1b3, out: 0xb99e8def2f384907, outHI: 0x0
+sdl :: offset: 0x1b4, out: 0xb99e8def2f384907, outHI: 0x0
+sdl :: offset: 0x1b5, out: 0xb99e8def2f384907, outHI: 0x0
+sdl :: offset: 0x1b6, out: 0xb99e8def2f384907, outHI: 0x0
+sdl :: offset: 0x1b7, out: 0xb99e8def2f384907, outHI: 0x0
+sdl :: offset: 0x1b8, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdl :: offset: 0x1b9, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdl :: offset: 0x1ba, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdl :: offset: 0x1bb, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdl :: offset: 0x1bc, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdl :: offset: 0x1bd, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdl :: offset: 0x1be, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdl :: offset: 0x1bf, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdl :: offset: 0x1c0, out: 0xd685884e76558c4f, outHI: 0x0
+sdl :: offset: 0x1c1, out: 0xd685884e76558c4f, outHI: 0x0
+sdl :: offset: 0x1c2, out: 0xd685884e76558c4f, outHI: 0x0
+sdl :: offset: 0x1c3, out: 0xd685884e76558c4f, outHI: 0x0
+sdl :: offset: 0x1c4, out: 0xd685884e76558c4f, outHI: 0x0
+sdl :: offset: 0x1c5, out: 0xd685884e76558c4f, outHI: 0x0
+sdl :: offset: 0x1c6, out: 0xd685884e76558c4f, outHI: 0x0
+sdl :: offset: 0x1c7, out: 0xd685884e76558c4f, outHI: 0x0
+sdl :: offset: 0x1c8, out: 0x6168d62a34c195c7, outHI: 0x0
+sdl :: offset: 0x1c9, out: 0x6168d62a34c195c7, outHI: 0x0
+sdl :: offset: 0x1ca, out: 0x6168d62a34c195c7, outHI: 0x0
+sdl :: offset: 0x1cb, out: 0x6168d62a34c195c7, outHI: 0x0
+sdl :: offset: 0x1cc, out: 0x6168d62a34c195c7, outHI: 0x0
+sdl :: offset: 0x1cd, out: 0x6168d62a34c195c7, outHI: 0x0
+sdl :: offset: 0x1ce, out: 0x6168d62a34c195c7, outHI: 0x0
+sdl :: offset: 0x1cf, out: 0x6168d62a34c195c7, outHI: 0x0
+sdl :: offset: 0x1d0, out: 0xd30169894df47405, outHI: 0x0
+sdl :: offset: 0x1d1, out: 0xd30169894df47405, outHI: 0x0
+sdl :: offset: 0x1d2, out: 0xd30169894df47405, outHI: 0x0
+sdl :: offset: 0x1d3, out: 0xd30169894df47405, outHI: 0x0
+sdl :: offset: 0x1d4, out: 0xd30169894df47405, outHI: 0x0
+sdl :: offset: 0x1d5, out: 0xd30169894df47405, outHI: 0x0
+sdl :: offset: 0x1d6, out: 0xd30169894df47405, outHI: 0x0
+sdl :: offset: 0x1d7, out: 0xd30169894df47405, outHI: 0x0
+sdl :: offset: 0x1d8, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdl :: offset: 0x1d9, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdl :: offset: 0x1da, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdl :: offset: 0x1db, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdl :: offset: 0x1dc, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdl :: offset: 0x1dd, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdl :: offset: 0x1de, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdl :: offset: 0x1df, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdl :: offset: 0x1e0, out: 0x58300f029cae393a, outHI: 0x0
+sdl :: offset: 0x1e1, out: 0x58300f029cae393a, outHI: 0x0
+sdl :: offset: 0x1e2, out: 0x58300f029cae393a, outHI: 0x0
+sdl :: offset: 0x1e3, out: 0x58300f029cae393a, outHI: 0x0
+sdl :: offset: 0x1e4, out: 0x58300f029cae393a, outHI: 0x0
+sdl :: offset: 0x1e5, out: 0x58300f029cae393a, outHI: 0x0
+sdl :: offset: 0x1e6, out: 0x58300f029cae393a, outHI: 0x0
+sdl :: offset: 0x1e7, out: 0x58300f029cae393a, outHI: 0x0
+sdl :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdl :: offset: 0x1e9, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdl :: offset: 0x1ea, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdl :: offset: 0x1eb, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdl :: offset: 0x1ec, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdl :: offset: 0x1ed, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdl :: offset: 0x1ee, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdl :: offset: 0x1ef, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdl :: offset: 0x1f0, out: 0x8a96047be3405b48, outHI: 0x0
+sdl :: offset: 0x1f1, out: 0x8a96047be3405b48, outHI: 0x0
+sdl :: offset: 0x1f2, out: 0x8a96047be3405b48, outHI: 0x0
+sdl :: offset: 0x1f3, out: 0x8a96047be3405b48, outHI: 0x0
+sdl :: offset: 0x1f4, out: 0x8a96047be3405b48, outHI: 0x0
+sdl :: offset: 0x1f5, out: 0x8a96047be3405b48, outHI: 0x0
+sdl :: offset: 0x1f6, out: 0x8a96047be3405b48, outHI: 0x0
+sdl :: offset: 0x1f7, out: 0x8a96047be3405b48, outHI: 0x0
+sdl :: offset: 0x1f8, out: 0x75bfafd2d519d322, outHI: 0x0
+sdl :: offset: 0x1f9, out: 0x75bfafd2d519d322, outHI: 0x0
+sdl :: offset: 0x1fa, out: 0x75bfafd2d519d322, outHI: 0x0
+sdl :: offset: 0x1fb, out: 0x75bfafd2d519d322, outHI: 0x0
+sdl :: offset: 0x1fc, out: 0x75bfafd2d519d322, outHI: 0x0
+sdl :: offset: 0x1fd, out: 0x75bfafd2d519d322, outHI: 0x0
+sdl :: offset: 0x1fe, out: 0x75bfafd2d519d322, outHI: 0x0
+sdl :: offset: 0x1ff, out: 0x75bfafd2d519d322, outHI: 0x0
+sdl :: offset: 0x200, out: 0xde230867a630f6ad, outHI: 0x0
+sdl :: offset: 0x201, out: 0xde230867a630f6ad, outHI: 0x0
+sdl :: offset: 0x202, out: 0xde230867a630f6ad, outHI: 0x0
+sdl :: offset: 0x203, out: 0xde230867a630f6ad, outHI: 0x0
+sdl :: offset: 0x204, out: 0xde230867a630f6ad, outHI: 0x0
+sdl :: offset: 0x205, out: 0xde230867a630f6ad, outHI: 0x0
+sdl :: offset: 0x206, out: 0xde230867a630f6ad, outHI: 0x0
+sdl :: offset: 0x207, out: 0xde230867a630f6ad, outHI: 0x0
+sdl :: offset: 0x208, out: 0x2c0a0cf256103260, outHI: 0x0
+sdl :: offset: 0x209, out: 0x2c0a0cf256103260, outHI: 0x0
+sdl :: offset: 0x20a, out: 0x2c0a0cf256103260, outHI: 0x0
+sdl :: offset: 0x20b, out: 0x2c0a0cf256103260, outHI: 0x0
+sdl :: offset: 0x20c, out: 0x2c0a0cf256103260, outHI: 0x0
+sdl :: offset: 0x20d, out: 0x2c0a0cf256103260, outHI: 0x0
+sdl :: offset: 0x20e, out: 0x2c0a0cf256103260, outHI: 0x0
+sdl :: offset: 0x20f, out: 0x2c0a0cf256103260, outHI: 0x0
+sdl :: offset: 0x210, out: 0x94a90544249b18ef, outHI: 0x0
+sdl :: offset: 0x211, out: 0x94a90544249b18ef, outHI: 0x0
+sdl :: offset: 0x212, out: 0x94a90544249b18ef, outHI: 0x0
+sdl :: offset: 0x213, out: 0x94a90544249b18ef, outHI: 0x0
+sdl :: offset: 0x214, out: 0x94a90544249b18ef, outHI: 0x0
+sdl :: offset: 0x215, out: 0x94a90544249b18ef, outHI: 0x0
+sdl :: offset: 0x216, out: 0x94a90544249b18ef, outHI: 0x0
+sdl :: offset: 0x217, out: 0x94a90544249b18ef, outHI: 0x0
+sdl :: offset: 0x218, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdl :: offset: 0x219, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdl :: offset: 0x21a, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdl :: offset: 0x21b, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdl :: offset: 0x21c, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdl :: offset: 0x21d, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdl :: offset: 0x21e, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdl :: offset: 0x21f, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdl :: offset: 0x220, out: 0x81daf8200468319b, outHI: 0x0
+sdl :: offset: 0x221, out: 0x81daf8200468319b, outHI: 0x0
+sdl :: offset: 0x222, out: 0x81daf8200468319b, outHI: 0x0
+sdl :: offset: 0x223, out: 0x81daf8200468319b, outHI: 0x0
+sdl :: offset: 0x224, out: 0x81daf8200468319b, outHI: 0x0
+sdl :: offset: 0x225, out: 0x81daf8200468319b, outHI: 0x0
+sdl :: offset: 0x226, out: 0x81daf8200468319b, outHI: 0x0
+sdl :: offset: 0x227, out: 0x81daf8200468319b, outHI: 0x0
+sdl :: offset: 0x228, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdl :: offset: 0x229, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdl :: offset: 0x22a, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdl :: offset: 0x22b, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdl :: offset: 0x22c, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdl :: offset: 0x22d, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdl :: offset: 0x22e, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdl :: offset: 0x22f, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdl :: offset: 0x230, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdl :: offset: 0x231, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdl :: offset: 0x232, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdl :: offset: 0x233, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdl :: offset: 0x234, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdl :: offset: 0x235, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdl :: offset: 0x236, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdl :: offset: 0x237, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdl :: offset: 0x238, out: 0x300ce751dac6162f, outHI: 0x0
+sdl :: offset: 0x239, out: 0x300ce751dac6162f, outHI: 0x0
+sdl :: offset: 0x23a, out: 0x300ce751dac6162f, outHI: 0x0
+sdl :: offset: 0x23b, out: 0x300ce751dac6162f, outHI: 0x0
+sdl :: offset: 0x23c, out: 0x300ce751dac6162f, outHI: 0x0
+sdl :: offset: 0x23d, out: 0x300ce751dac6162f, outHI: 0x0
+sdl :: offset: 0x23e, out: 0x300ce751dac6162f, outHI: 0x0
+sdl :: offset: 0x23f, out: 0x300ce751dac6162f, outHI: 0x0
+sdl :: offset: 0x240, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdl :: offset: 0x241, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdl :: offset: 0x242, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdl :: offset: 0x243, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdl :: offset: 0x244, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdl :: offset: 0x245, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdl :: offset: 0x246, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdl :: offset: 0x247, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdl :: offset: 0x248, out: 0xad00b1f7da78479f, outHI: 0x0
+sdl :: offset: 0x249, out: 0xad00b1f7da78479f, outHI: 0x0
+sdl :: offset: 0x24a, out: 0xad00b1f7da78479f, outHI: 0x0
+sdl :: offset: 0x24b, out: 0xad00b1f7da78479f, outHI: 0x0
+sdl :: offset: 0x24c, out: 0xad00b1f7da78479f, outHI: 0x0
+sdl :: offset: 0x24d, out: 0xad00b1f7da78479f, outHI: 0x0
+sdl :: offset: 0x24e, out: 0xad00b1f7da78479f, outHI: 0x0
+sdl :: offset: 0x24f, out: 0xad00b1f7da78479f, outHI: 0x0
+sdl :: offset: 0x250, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdl :: offset: 0x251, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdl :: offset: 0x252, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdl :: offset: 0x253, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdl :: offset: 0x254, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdl :: offset: 0x255, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdl :: offset: 0x256, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdl :: offset: 0x257, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdl :: offset: 0x258, out: 0xf518381dce634413, outHI: 0x0
+sdl :: offset: 0x259, out: 0xf518381dce634413, outHI: 0x0
+sdl :: offset: 0x25a, out: 0xf518381dce634413, outHI: 0x0
+sdl :: offset: 0x25b, out: 0xf518381dce634413, outHI: 0x0
+sdl :: offset: 0x25c, out: 0xf518381dce634413, outHI: 0x0
+sdl :: offset: 0x25d, out: 0xf518381dce634413, outHI: 0x0
+sdl :: offset: 0x25e, out: 0xf518381dce634413, outHI: 0x0
+sdl :: offset: 0x25f, out: 0xf518381dce634413, outHI: 0x0
+sdl :: offset: 0x260, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdl :: offset: 0x261, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdl :: offset: 0x262, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdl :: offset: 0x263, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdl :: offset: 0x264, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdl :: offset: 0x265, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdl :: offset: 0x266, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdl :: offset: 0x267, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdl :: offset: 0x268, out: 0xccd392e176321f28, outHI: 0x0
+sdl :: offset: 0x269, out: 0xccd392e176321f28, outHI: 0x0
+sdl :: offset: 0x26a, out: 0xccd392e176321f28, outHI: 0x0
+sdl :: offset: 0x26b, out: 0xccd392e176321f28, outHI: 0x0
+sdl :: offset: 0x26c, out: 0xccd392e176321f28, outHI: 0x0
+sdl :: offset: 0x26d, out: 0xccd392e176321f28, outHI: 0x0
+sdl :: offset: 0x26e, out: 0xccd392e176321f28, outHI: 0x0
+sdl :: offset: 0x26f, out: 0xccd392e176321f28, outHI: 0x0
+sdl :: offset: 0x270, out: 0x829464944018fd8f, outHI: 0x0
+sdl :: offset: 0x271, out: 0x829464944018fd8f, outHI: 0x0
+sdl :: offset: 0x272, out: 0x829464944018fd8f, outHI: 0x0
+sdl :: offset: 0x273, out: 0x829464944018fd8f, outHI: 0x0
+sdl :: offset: 0x274, out: 0x829464944018fd8f, outHI: 0x0
+sdl :: offset: 0x275, out: 0x829464944018fd8f, outHI: 0x0
+sdl :: offset: 0x276, out: 0x829464944018fd8f, outHI: 0x0
+sdl :: offset: 0x277, out: 0x829464944018fd8f, outHI: 0x0
+sdl :: offset: 0x278, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdl :: offset: 0x279, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdl :: offset: 0x27a, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdl :: offset: 0x27b, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdl :: offset: 0x27c, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdl :: offset: 0x27d, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdl :: offset: 0x27e, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdl :: offset: 0x27f, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdl :: offset: 0x280, out: 0x7caf83d2880ff344, outHI: 0x0
+sdl :: offset: 0x281, out: 0x7caf83d2880ff344, outHI: 0x0
+sdl :: offset: 0x282, out: 0x7caf83d2880ff344, outHI: 0x0
+sdl :: offset: 0x283, out: 0x7caf83d2880ff344, outHI: 0x0
+sdl :: offset: 0x284, out: 0x7caf83d2880ff344, outHI: 0x0
+sdl :: offset: 0x285, out: 0x7caf83d2880ff344, outHI: 0x0
+sdl :: offset: 0x286, out: 0x7caf83d2880ff344, outHI: 0x0
+sdl :: offset: 0x287, out: 0x7caf83d2880ff344, outHI: 0x0
+sdl :: offset: 0x288, out: 0xf156a04c747defd7, outHI: 0x0
+sdl :: offset: 0x289, out: 0xf156a04c747defd7, outHI: 0x0
+sdl :: offset: 0x28a, out: 0xf156a04c747defd7, outHI: 0x0
+sdl :: offset: 0x28b, out: 0xf156a04c747defd7, outHI: 0x0
+sdl :: offset: 0x28c, out: 0xf156a04c747defd7, outHI: 0x0
+sdl :: offset: 0x28d, out: 0xf156a04c747defd7, outHI: 0x0
+sdl :: offset: 0x28e, out: 0xf156a04c747defd7, outHI: 0x0
+sdl :: offset: 0x28f, out: 0xf156a04c747defd7, outHI: 0x0
+sdl :: offset: 0x290, out: 0x93e2601c0f31d710, outHI: 0x0
+sdl :: offset: 0x291, out: 0x93e2601c0f31d710, outHI: 0x0
+sdl :: offset: 0x292, out: 0x93e2601c0f31d710, outHI: 0x0
+sdl :: offset: 0x293, out: 0x93e2601c0f31d710, outHI: 0x0
+sdl :: offset: 0x294, out: 0x93e2601c0f31d710, outHI: 0x0
+sdl :: offset: 0x295, out: 0x93e2601c0f31d710, outHI: 0x0
+sdl :: offset: 0x296, out: 0x93e2601c0f31d710, outHI: 0x0
+sdl :: offset: 0x297, out: 0x93e2601c0f31d710, outHI: 0x0
+sdl :: offset: 0x298, out: 0xe1e1a679131cd933, outHI: 0x0
+sdl :: offset: 0x299, out: 0xe1e1a679131cd933, outHI: 0x0
+sdl :: offset: 0x29a, out: 0xe1e1a679131cd933, outHI: 0x0
+sdl :: offset: 0x29b, out: 0xe1e1a679131cd933, outHI: 0x0
+sdl :: offset: 0x29c, out: 0xe1e1a679131cd933, outHI: 0x0
+sdl :: offset: 0x29d, out: 0xe1e1a679131cd933, outHI: 0x0
+sdl :: offset: 0x29e, out: 0xe1e1a679131cd933, outHI: 0x0
+sdl :: offset: 0x29f, out: 0xe1e1a679131cd933, outHI: 0x0
+sdl :: offset: 0x2a0, out: 0x24296b75a76fa427, outHI: 0x0
+sdl :: offset: 0x2a1, out: 0x24296b75a76fa427, outHI: 0x0
+sdl :: offset: 0x2a2, out: 0x24296b75a76fa427, outHI: 0x0
+sdl :: offset: 0x2a3, out: 0x24296b75a76fa427, outHI: 0x0
+sdl :: offset: 0x2a4, out: 0x24296b75a76fa427, outHI: 0x0
+sdl :: offset: 0x2a5, out: 0x24296b75a76fa427, outHI: 0x0
+sdl :: offset: 0x2a6, out: 0x24296b75a76fa427, outHI: 0x0
+sdl :: offset: 0x2a7, out: 0x24296b75a76fa427, outHI: 0x0
+sdl :: offset: 0x2a8, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdl :: offset: 0x2a9, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdl :: offset: 0x2aa, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdl :: offset: 0x2ab, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdl :: offset: 0x2ac, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdl :: offset: 0x2ad, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdl :: offset: 0x2ae, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdl :: offset: 0x2af, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdl :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdl :: offset: 0x2b1, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdl :: offset: 0x2b2, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdl :: offset: 0x2b3, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdl :: offset: 0x2b4, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdl :: offset: 0x2b5, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdl :: offset: 0x2b6, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdl :: offset: 0x2b7, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdl :: offset: 0x2b8, out: 0x76c89e80c07dc168, outHI: 0x0
+sdl :: offset: 0x2b9, out: 0x76c89e80c07dc168, outHI: 0x0
+sdl :: offset: 0x2ba, out: 0x76c89e80c07dc168, outHI: 0x0
+sdl :: offset: 0x2bb, out: 0x76c89e80c07dc168, outHI: 0x0
+sdl :: offset: 0x2bc, out: 0x76c89e80c07dc168, outHI: 0x0
+sdl :: offset: 0x2bd, out: 0x76c89e80c07dc168, outHI: 0x0
+sdl :: offset: 0x2be, out: 0x76c89e80c07dc168, outHI: 0x0
+sdl :: offset: 0x2bf, out: 0x76c89e80c07dc168, outHI: 0x0
+sdl :: offset: 0x2c0, out: 0x70dc3454bfe348f, outHI: 0x0
+sdl :: offset: 0x2c1, out: 0x70dc3454bfe348f, outHI: 0x0
+sdl :: offset: 0x2c2, out: 0x70dc3454bfe348f, outHI: 0x0
+sdl :: offset: 0x2c3, out: 0x70dc3454bfe348f, outHI: 0x0
+sdl :: offset: 0x2c4, out: 0x70dc3454bfe348f, outHI: 0x0
+sdl :: offset: 0x2c5, out: 0x70dc3454bfe348f, outHI: 0x0
+sdl :: offset: 0x2c6, out: 0x70dc3454bfe348f, outHI: 0x0
+sdl :: offset: 0x2c7, out: 0x70dc3454bfe348f, outHI: 0x0
+sdl :: offset: 0x2c8, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdl :: offset: 0x2c9, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdl :: offset: 0x2ca, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdl :: offset: 0x2cb, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdl :: offset: 0x2cc, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdl :: offset: 0x2cd, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdl :: offset: 0x2ce, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdl :: offset: 0x2cf, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdl :: offset: 0x2d0, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdl :: offset: 0x2d1, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdl :: offset: 0x2d2, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdl :: offset: 0x2d3, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdl :: offset: 0x2d4, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdl :: offset: 0x2d5, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdl :: offset: 0x2d6, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdl :: offset: 0x2d7, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdl :: offset: 0x2d8, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdl :: offset: 0x2d9, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdl :: offset: 0x2da, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdl :: offset: 0x2db, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdl :: offset: 0x2dc, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdl :: offset: 0x2dd, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdl :: offset: 0x2de, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdl :: offset: 0x2df, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdl :: offset: 0x2e0, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdl :: offset: 0x2e1, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdl :: offset: 0x2e2, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdl :: offset: 0x2e3, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdl :: offset: 0x2e4, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdl :: offset: 0x2e5, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdl :: offset: 0x2e6, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdl :: offset: 0x2e7, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdl :: offset: 0x2e8, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdl :: offset: 0x2e9, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdl :: offset: 0x2ea, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdl :: offset: 0x2eb, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdl :: offset: 0x2ec, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdl :: offset: 0x2ed, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdl :: offset: 0x2ee, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdl :: offset: 0x2ef, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdl :: offset: 0x2f0, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdl :: offset: 0x2f1, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdl :: offset: 0x2f2, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdl :: offset: 0x2f3, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdl :: offset: 0x2f4, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdl :: offset: 0x2f5, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdl :: offset: 0x2f6, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdl :: offset: 0x2f7, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdl :: offset: 0x2f8, out: 0x8b086ee07150c260, outHI: 0x0
+sdl :: offset: 0x2f9, out: 0x8b086ee07150c260, outHI: 0x0
+sdl :: offset: 0x2fa, out: 0x8b086ee07150c260, outHI: 0x0
+sdl :: offset: 0x2fb, out: 0x8b086ee07150c260, outHI: 0x0
+sdl :: offset: 0x2fc, out: 0x8b086ee07150c260, outHI: 0x0
+sdl :: offset: 0x2fd, out: 0x8b086ee07150c260, outHI: 0x0
+sdl :: offset: 0x2fe, out: 0x8b086ee07150c260, outHI: 0x0
+sdl :: offset: 0x2ff, out: 0x8b086ee07150c260, outHI: 0x0
+sdl :: offset: 0x300, out: 0xe54750d5d9257f25, outHI: 0x0
+sdl :: offset: 0x301, out: 0xe54750d5d9257f25, outHI: 0x0
+sdl :: offset: 0x302, out: 0xe54750d5d9257f25, outHI: 0x0
+sdl :: offset: 0x303, out: 0xe54750d5d9257f25, outHI: 0x0
+sdl :: offset: 0x304, out: 0xe54750d5d9257f25, outHI: 0x0
+sdl :: offset: 0x305, out: 0xe54750d5d9257f25, outHI: 0x0
+sdl :: offset: 0x306, out: 0xe54750d5d9257f25, outHI: 0x0
+sdl :: offset: 0x307, out: 0xe54750d5d9257f25, outHI: 0x0
+sdl :: offset: 0x308, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdl :: offset: 0x309, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdl :: offset: 0x30a, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdl :: offset: 0x30b, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdl :: offset: 0x30c, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdl :: offset: 0x30d, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdl :: offset: 0x30e, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdl :: offset: 0x30f, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdl :: offset: 0x310, out: 0x70a3e0424340ac96, outHI: 0x0
+sdl :: offset: 0x311, out: 0x70a3e0424340ac96, outHI: 0x0
+sdl :: offset: 0x312, out: 0x70a3e0424340ac96, outHI: 0x0
+sdl :: offset: 0x313, out: 0x70a3e0424340ac96, outHI: 0x0
+sdl :: offset: 0x314, out: 0x70a3e0424340ac96, outHI: 0x0
+sdl :: offset: 0x315, out: 0x70a3e0424340ac96, outHI: 0x0
+sdl :: offset: 0x316, out: 0x70a3e0424340ac96, outHI: 0x0
+sdl :: offset: 0x317, out: 0x70a3e0424340ac96, outHI: 0x0
+sdl :: offset: 0x318, out: 0xc0478f036980171e, outHI: 0x0
+sdl :: offset: 0x319, out: 0xc0478f036980171e, outHI: 0x0
+sdl :: offset: 0x31a, out: 0xc0478f036980171e, outHI: 0x0
+sdl :: offset: 0x31b, out: 0xc0478f036980171e, outHI: 0x0
+sdl :: offset: 0x31c, out: 0xc0478f036980171e, outHI: 0x0
+sdl :: offset: 0x31d, out: 0xc0478f036980171e, outHI: 0x0
+sdl :: offset: 0x31e, out: 0xc0478f036980171e, outHI: 0x0
+sdl :: offset: 0x31f, out: 0xc0478f036980171e, outHI: 0x0
+sdl :: offset: 0x320, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdl :: offset: 0x321, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdl :: offset: 0x322, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdl :: offset: 0x323, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdl :: offset: 0x324, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdl :: offset: 0x325, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdl :: offset: 0x326, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdl :: offset: 0x327, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdl :: offset: 0x328, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdl :: offset: 0x329, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdl :: offset: 0x32a, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdl :: offset: 0x32b, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdl :: offset: 0x32c, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdl :: offset: 0x32d, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdl :: offset: 0x32e, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdl :: offset: 0x32f, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdl :: offset: 0x330, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdl :: offset: 0x331, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdl :: offset: 0x332, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdl :: offset: 0x333, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdl :: offset: 0x334, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdl :: offset: 0x335, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdl :: offset: 0x336, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdl :: offset: 0x337, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdl :: offset: 0x338, out: 0xeb9682c170312f1, outHI: 0x0
+sdl :: offset: 0x339, out: 0xeb9682c170312f1, outHI: 0x0
+sdl :: offset: 0x33a, out: 0xeb9682c170312f1, outHI: 0x0
+sdl :: offset: 0x33b, out: 0xeb9682c170312f1, outHI: 0x0
+sdl :: offset: 0x33c, out: 0xeb9682c170312f1, outHI: 0x0
+sdl :: offset: 0x33d, out: 0xeb9682c170312f1, outHI: 0x0
+sdl :: offset: 0x33e, out: 0xeb9682c170312f1, outHI: 0x0
+sdl :: offset: 0x33f, out: 0xeb9682c170312f1, outHI: 0x0
+sdl :: offset: 0x340, out: 0x84785280dd301d0d, outHI: 0x0
+sdl :: offset: 0x341, out: 0x84785280dd301d0d, outHI: 0x0
+sdl :: offset: 0x342, out: 0x84785280dd301d0d, outHI: 0x0
+sdl :: offset: 0x343, out: 0x84785280dd301d0d, outHI: 0x0
+sdl :: offset: 0x344, out: 0x84785280dd301d0d, outHI: 0x0
+sdl :: offset: 0x345, out: 0x84785280dd301d0d, outHI: 0x0
+sdl :: offset: 0x346, out: 0x84785280dd301d0d, outHI: 0x0
+sdl :: offset: 0x347, out: 0x84785280dd301d0d, outHI: 0x0
+sdl :: offset: 0x348, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdl :: offset: 0x349, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdl :: offset: 0x34a, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdl :: offset: 0x34b, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdl :: offset: 0x34c, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdl :: offset: 0x34d, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdl :: offset: 0x34e, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdl :: offset: 0x34f, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdl :: offset: 0x350, out: 0x26444ced2998436d, outHI: 0x0
+sdl :: offset: 0x351, out: 0x26444ced2998436d, outHI: 0x0
+sdl :: offset: 0x352, out: 0x26444ced2998436d, outHI: 0x0
+sdl :: offset: 0x353, out: 0x26444ced2998436d, outHI: 0x0
+sdl :: offset: 0x354, out: 0x26444ced2998436d, outHI: 0x0
+sdl :: offset: 0x355, out: 0x26444ced2998436d, outHI: 0x0
+sdl :: offset: 0x356, out: 0x26444ced2998436d, outHI: 0x0
+sdl :: offset: 0x357, out: 0x26444ced2998436d, outHI: 0x0
+sdl :: offset: 0x358, out: 0x7175c9dd58ca708, outHI: 0x0
+sdl :: offset: 0x359, out: 0x7175c9dd58ca708, outHI: 0x0
+sdl :: offset: 0x35a, out: 0x7175c9dd58ca708, outHI: 0x0
+sdl :: offset: 0x35b, out: 0x7175c9dd58ca708, outHI: 0x0
+sdl :: offset: 0x35c, out: 0x7175c9dd58ca708, outHI: 0x0
+sdl :: offset: 0x35d, out: 0x7175c9dd58ca708, outHI: 0x0
+sdl :: offset: 0x35e, out: 0x7175c9dd58ca708, outHI: 0x0
+sdl :: offset: 0x35f, out: 0x7175c9dd58ca708, outHI: 0x0
+sdl :: offset: 0x360, out: 0x663d061055833287, outHI: 0x0
+sdl :: offset: 0x361, out: 0x663d061055833287, outHI: 0x0
+sdl :: offset: 0x362, out: 0x663d061055833287, outHI: 0x0
+sdl :: offset: 0x363, out: 0x663d061055833287, outHI: 0x0
+sdl :: offset: 0x364, out: 0x663d061055833287, outHI: 0x0
+sdl :: offset: 0x365, out: 0x663d061055833287, outHI: 0x0
+sdl :: offset: 0x366, out: 0x663d061055833287, outHI: 0x0
+sdl :: offset: 0x367, out: 0x663d061055833287, outHI: 0x0
+sdl :: offset: 0x368, out: 0xab7dd0488951d68b, outHI: 0x0
+sdl :: offset: 0x369, out: 0xab7dd0488951d68b, outHI: 0x0
+sdl :: offset: 0x36a, out: 0xab7dd0488951d68b, outHI: 0x0
+sdl :: offset: 0x36b, out: 0xab7dd0488951d68b, outHI: 0x0
+sdl :: offset: 0x36c, out: 0xab7dd0488951d68b, outHI: 0x0
+sdl :: offset: 0x36d, out: 0xab7dd0488951d68b, outHI: 0x0
+sdl :: offset: 0x36e, out: 0xab7dd0488951d68b, outHI: 0x0
+sdl :: offset: 0x36f, out: 0xab7dd0488951d68b, outHI: 0x0
+sdl :: offset: 0x370, out: 0xf69823670e82471b, outHI: 0x0
+sdl :: offset: 0x371, out: 0xf69823670e82471b, outHI: 0x0
+sdl :: offset: 0x372, out: 0xf69823670e82471b, outHI: 0x0
+sdl :: offset: 0x373, out: 0xf69823670e82471b, outHI: 0x0
+sdl :: offset: 0x374, out: 0xf69823670e82471b, outHI: 0x0
+sdl :: offset: 0x375, out: 0xf69823670e82471b, outHI: 0x0
+sdl :: offset: 0x376, out: 0xf69823670e82471b, outHI: 0x0
+sdl :: offset: 0x377, out: 0xf69823670e82471b, outHI: 0x0
+sdl :: offset: 0x378, out: 0x36886c59d98d26b2, outHI: 0x0
+sdl :: offset: 0x379, out: 0x36886c59d98d26b2, outHI: 0x0
+sdl :: offset: 0x37a, out: 0x36886c59d98d26b2, outHI: 0x0
+sdl :: offset: 0x37b, out: 0x36886c59d98d26b2, outHI: 0x0
+sdl :: offset: 0x37c, out: 0x36886c59d98d26b2, outHI: 0x0
+sdl :: offset: 0x37d, out: 0x36886c59d98d26b2, outHI: 0x0
+sdl :: offset: 0x37e, out: 0x36886c59d98d26b2, outHI: 0x0
+sdl :: offset: 0x37f, out: 0x36886c59d98d26b2, outHI: 0x0
+sdl :: offset: 0x380, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdl :: offset: 0x381, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdl :: offset: 0x382, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdl :: offset: 0x383, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdl :: offset: 0x384, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdl :: offset: 0x385, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdl :: offset: 0x386, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdl :: offset: 0x387, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdl :: offset: 0x388, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdl :: offset: 0x389, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdl :: offset: 0x38a, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdl :: offset: 0x38b, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdl :: offset: 0x38c, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdl :: offset: 0x38d, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdl :: offset: 0x38e, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdl :: offset: 0x38f, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdl :: offset: 0x390, out: 0x3f46553ecad374df, outHI: 0x0
+sdl :: offset: 0x391, out: 0x3f46553ecad374df, outHI: 0x0
+sdl :: offset: 0x392, out: 0x3f46553ecad374df, outHI: 0x0
+sdl :: offset: 0x393, out: 0x3f46553ecad374df, outHI: 0x0
+sdl :: offset: 0x394, out: 0x3f46553ecad374df, outHI: 0x0
+sdl :: offset: 0x395, out: 0x3f46553ecad374df, outHI: 0x0
+sdl :: offset: 0x396, out: 0x3f46553ecad374df, outHI: 0x0
+sdl :: offset: 0x397, out: 0x3f46553ecad374df, outHI: 0x0
+sdl :: offset: 0x398, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdl :: offset: 0x399, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdl :: offset: 0x39a, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdl :: offset: 0x39b, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdl :: offset: 0x39c, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdl :: offset: 0x39d, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdl :: offset: 0x39e, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdl :: offset: 0x39f, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdl :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdl :: offset: 0x3a1, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdl :: offset: 0x3a2, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdl :: offset: 0x3a3, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdl :: offset: 0x3a4, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdl :: offset: 0x3a5, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdl :: offset: 0x3a6, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdl :: offset: 0x3a7, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdl :: offset: 0x3a8, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdl :: offset: 0x3a9, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdl :: offset: 0x3aa, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdl :: offset: 0x3ab, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdl :: offset: 0x3ac, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdl :: offset: 0x3ad, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdl :: offset: 0x3ae, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdl :: offset: 0x3af, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdl :: offset: 0x3b0, out: 0xd2df25c419478206, outHI: 0x0
+sdl :: offset: 0x3b1, out: 0xd2df25c419478206, outHI: 0x0
+sdl :: offset: 0x3b2, out: 0xd2df25c419478206, outHI: 0x0
+sdl :: offset: 0x3b3, out: 0xd2df25c419478206, outHI: 0x0
+sdl :: offset: 0x3b4, out: 0xd2df25c419478206, outHI: 0x0
+sdl :: offset: 0x3b5, out: 0xd2df25c419478206, outHI: 0x0
+sdl :: offset: 0x3b6, out: 0xd2df25c419478206, outHI: 0x0
+sdl :: offset: 0x3b7, out: 0xd2df25c419478206, outHI: 0x0
+sdl :: offset: 0x3b8, out: 0xbc65bf27eb321825, outHI: 0x0
+sdl :: offset: 0x3b9, out: 0xbc65bf27eb321825, outHI: 0x0
+sdl :: offset: 0x3ba, out: 0xbc65bf27eb321825, outHI: 0x0
+sdl :: offset: 0x3bb, out: 0xbc65bf27eb321825, outHI: 0x0
+sdl :: offset: 0x3bc, out: 0xbc65bf27eb321825, outHI: 0x0
+sdl :: offset: 0x3bd, out: 0xbc65bf27eb321825, outHI: 0x0
+sdl :: offset: 0x3be, out: 0xbc65bf27eb321825, outHI: 0x0
+sdl :: offset: 0x3bf, out: 0xbc65bf27eb321825, outHI: 0x0
+sdl :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdl :: offset: 0x3c1, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdl :: offset: 0x3c2, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdl :: offset: 0x3c3, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdl :: offset: 0x3c4, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdl :: offset: 0x3c5, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdl :: offset: 0x3c6, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdl :: offset: 0x3c7, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdl :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdl :: offset: 0x3c9, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdl :: offset: 0x3ca, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdl :: offset: 0x3cb, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdl :: offset: 0x3cc, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdl :: offset: 0x3cd, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdl :: offset: 0x3ce, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdl :: offset: 0x3cf, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdl :: offset: 0x3d0, out: 0x478909b59a99269, outHI: 0x0
+sdl :: offset: 0x3d1, out: 0x478909b59a99269, outHI: 0x0
+sdl :: offset: 0x3d2, out: 0x478909b59a99269, outHI: 0x0
+sdl :: offset: 0x3d3, out: 0x478909b59a99269, outHI: 0x0
+sdl :: offset: 0x3d4, out: 0x478909b59a99269, outHI: 0x0
+sdl :: offset: 0x3d5, out: 0x478909b59a99269, outHI: 0x0
+sdl :: offset: 0x3d6, out: 0x478909b59a99269, outHI: 0x0
+sdl :: offset: 0x3d7, out: 0x478909b59a99269, outHI: 0x0
+sdl :: offset: 0x3d8, out: 0xbfb31cc87857360f, outHI: 0x0
+sdl :: offset: 0x3d9, out: 0xbfb31cc87857360f, outHI: 0x0
+sdl :: offset: 0x3da, out: 0xbfb31cc87857360f, outHI: 0x0
+sdl :: offset: 0x3db, out: 0xbfb31cc87857360f, outHI: 0x0
+sdl :: offset: 0x3dc, out: 0xbfb31cc87857360f, outHI: 0x0
+sdl :: offset: 0x3dd, out: 0xbfb31cc87857360f, outHI: 0x0
+sdl :: offset: 0x3de, out: 0xbfb31cc87857360f, outHI: 0x0
+sdl :: offset: 0x3df, out: 0xbfb31cc87857360f, outHI: 0x0
+sdl :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdl :: offset: 0x3e1, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdl :: offset: 0x3e2, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdl :: offset: 0x3e3, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdl :: offset: 0x3e4, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdl :: offset: 0x3e5, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdl :: offset: 0x3e6, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdl :: offset: 0x3e7, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdl :: offset: 0x3e8, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdl :: offset: 0x3e9, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdl :: offset: 0x3ea, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdl :: offset: 0x3eb, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdl :: offset: 0x3ec, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdl :: offset: 0x3ed, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdl :: offset: 0x3ee, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdl :: offset: 0x3ef, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdl :: offset: 0x3f0, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdl :: offset: 0x3f1, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdl :: offset: 0x3f2, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdl :: offset: 0x3f3, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdl :: offset: 0x3f4, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdl :: offset: 0x3f5, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdl :: offset: 0x3f6, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdl :: offset: 0x3f7, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdl :: offset: 0x3f8, out: 0x223d7cfe2b961897, outHI: 0x0
+sdl :: offset: 0x3f9, out: 0x223d7cfe2b961897, outHI: 0x0
+sdl :: offset: 0x3fa, out: 0x223d7cfe2b961897, outHI: 0x0
+sdl :: offset: 0x3fb, out: 0x223d7cfe2b961897, outHI: 0x0
+sdl :: offset: 0x3fc, out: 0x223d7cfe2b961897, outHI: 0x0
+sdl :: offset: 0x3fd, out: 0x223d7cfe2b961897, outHI: 0x0
+sdl :: offset: 0x3fe, out: 0x223d7cfe2b961897, outHI: 0x0
+sdl :: offset: 0x3ff, out: 0x223d7cfe2b961897, outHI: 0x0
+sdl :: offset: 0x400, out: 0x420b34f533734a4b, outHI: 0x0
+sdl :: offset: 0x401, out: 0x420b34f533734a4b, outHI: 0x0
+sdl :: offset: 0x402, out: 0x420b34f533734a4b, outHI: 0x0
+sdl :: offset: 0x403, out: 0x420b34f533734a4b, outHI: 0x0
+sdl :: offset: 0x404, out: 0x420b34f533734a4b, outHI: 0x0
+sdl :: offset: 0x405, out: 0x420b34f533734a4b, outHI: 0x0
+sdl :: offset: 0x406, out: 0x420b34f533734a4b, outHI: 0x0
+sdl :: offset: 0x407, out: 0x420b34f533734a4b, outHI: 0x0
+sdl :: offset: 0x408, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdl :: offset: 0x409, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdl :: offset: 0x40a, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdl :: offset: 0x40b, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdl :: offset: 0x40c, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdl :: offset: 0x40d, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdl :: offset: 0x40e, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdl :: offset: 0x40f, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdl :: offset: 0x410, out: 0x7a387445e392ccd9, outHI: 0x0
+sdl :: offset: 0x411, out: 0x7a387445e392ccd9, outHI: 0x0
+sdl :: offset: 0x412, out: 0x7a387445e392ccd9, outHI: 0x0
+sdl :: offset: 0x413, out: 0x7a387445e392ccd9, outHI: 0x0
+sdl :: offset: 0x414, out: 0x7a387445e392ccd9, outHI: 0x0
+sdl :: offset: 0x415, out: 0x7a387445e392ccd9, outHI: 0x0
+sdl :: offset: 0x416, out: 0x7a387445e392ccd9, outHI: 0x0
+sdl :: offset: 0x417, out: 0x7a387445e392ccd9, outHI: 0x0
+sdl :: offset: 0x418, out: 0x512f29b1d80000c9, outHI: 0x0
+sdl :: offset: 0x419, out: 0x512f29b1d80000c9, outHI: 0x0
+sdl :: offset: 0x41a, out: 0x512f29b1d80000c9, outHI: 0x0
+sdl :: offset: 0x41b, out: 0x512f29b1d80000c9, outHI: 0x0
+sdl :: offset: 0x41c, out: 0x512f29b1d80000c9, outHI: 0x0
+sdl :: offset: 0x41d, out: 0x512f29b1d80000c9, outHI: 0x0
+sdl :: offset: 0x41e, out: 0x512f29b1d80000c9, outHI: 0x0
+sdl :: offset: 0x41f, out: 0x512f29b1d80000c9, outHI: 0x0
+sdl :: offset: 0x420, out: 0xeaded5c53dad020a, outHI: 0x0
+sdl :: offset: 0x421, out: 0xeaded5c53dad020a, outHI: 0x0
+sdl :: offset: 0x422, out: 0xeaded5c53dad020a, outHI: 0x0
+sdl :: offset: 0x423, out: 0xeaded5c53dad020a, outHI: 0x0
+sdl :: offset: 0x424, out: 0xeaded5c53dad020a, outHI: 0x0
+sdl :: offset: 0x425, out: 0xeaded5c53dad020a, outHI: 0x0
+sdl :: offset: 0x426, out: 0xeaded5c53dad020a, outHI: 0x0
+sdl :: offset: 0x427, out: 0xeaded5c53dad020a, outHI: 0x0
+sdl :: offset: 0x428, out: 0x8a6229d731eea35b, outHI: 0x0
+sdl :: offset: 0x429, out: 0x8a6229d731eea35b, outHI: 0x0
+sdl :: offset: 0x42a, out: 0x8a6229d731eea35b, outHI: 0x0
+sdl :: offset: 0x42b, out: 0x8a6229d731eea35b, outHI: 0x0
+sdl :: offset: 0x42c, out: 0x8a6229d731eea35b, outHI: 0x0
+sdl :: offset: 0x42d, out: 0x8a6229d731eea35b, outHI: 0x0
+sdl :: offset: 0x42e, out: 0x8a6229d731eea35b, outHI: 0x0
+sdl :: offset: 0x42f, out: 0x8a6229d731eea35b, outHI: 0x0
+sdl :: offset: 0x430, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdl :: offset: 0x431, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdl :: offset: 0x432, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdl :: offset: 0x433, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdl :: offset: 0x434, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdl :: offset: 0x435, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdl :: offset: 0x436, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdl :: offset: 0x437, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdl :: offset: 0x438, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdl :: offset: 0x439, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdl :: offset: 0x43a, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdl :: offset: 0x43b, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdl :: offset: 0x43c, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdl :: offset: 0x43d, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdl :: offset: 0x43e, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdl :: offset: 0x43f, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdl :: offset: 0x440, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdl :: offset: 0x441, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdl :: offset: 0x442, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdl :: offset: 0x443, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdl :: offset: 0x444, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdl :: offset: 0x445, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdl :: offset: 0x446, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdl :: offset: 0x447, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdl :: offset: 0x448, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdl :: offset: 0x449, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdl :: offset: 0x44a, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdl :: offset: 0x44b, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdl :: offset: 0x44c, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdl :: offset: 0x44d, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdl :: offset: 0x44e, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdl :: offset: 0x44f, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdl :: offset: 0x450, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdl :: offset: 0x451, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdl :: offset: 0x452, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdl :: offset: 0x453, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdl :: offset: 0x454, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdl :: offset: 0x455, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdl :: offset: 0x456, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdl :: offset: 0x457, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdl :: offset: 0x458, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdl :: offset: 0x459, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdl :: offset: 0x45a, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdl :: offset: 0x45b, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdl :: offset: 0x45c, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdl :: offset: 0x45d, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdl :: offset: 0x45e, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdl :: offset: 0x45f, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdl :: offset: 0x460, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdl :: offset: 0x461, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdl :: offset: 0x462, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdl :: offset: 0x463, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdl :: offset: 0x464, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdl :: offset: 0x465, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdl :: offset: 0x466, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdl :: offset: 0x467, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdl :: offset: 0x468, out: 0xf8be8164159649c5, outHI: 0x0
+sdl :: offset: 0x469, out: 0xf8be8164159649c5, outHI: 0x0
+sdl :: offset: 0x46a, out: 0xf8be8164159649c5, outHI: 0x0
+sdl :: offset: 0x46b, out: 0xf8be8164159649c5, outHI: 0x0
+sdl :: offset: 0x46c, out: 0xf8be8164159649c5, outHI: 0x0
+sdl :: offset: 0x46d, out: 0xf8be8164159649c5, outHI: 0x0
+sdl :: offset: 0x46e, out: 0xf8be8164159649c5, outHI: 0x0
+sdl :: offset: 0x46f, out: 0xf8be8164159649c5, outHI: 0x0
+sdl :: offset: 0x470, out: 0x7ca3259784e69b17, outHI: 0x0
+sdl :: offset: 0x471, out: 0x7ca3259784e69b17, outHI: 0x0
+sdl :: offset: 0x472, out: 0x7ca3259784e69b17, outHI: 0x0
+sdl :: offset: 0x473, out: 0x7ca3259784e69b17, outHI: 0x0
+sdl :: offset: 0x474, out: 0x7ca3259784e69b17, outHI: 0x0
+sdl :: offset: 0x475, out: 0x7ca3259784e69b17, outHI: 0x0
+sdl :: offset: 0x476, out: 0x7ca3259784e69b17, outHI: 0x0
+sdl :: offset: 0x477, out: 0x7ca3259784e69b17, outHI: 0x0
+sdl :: offset: 0x478, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdl :: offset: 0x479, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdl :: offset: 0x47a, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdl :: offset: 0x47b, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdl :: offset: 0x47c, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdl :: offset: 0x47d, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdl :: offset: 0x47e, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdl :: offset: 0x47f, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdl :: offset: 0x480, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdl :: offset: 0x481, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdl :: offset: 0x482, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdl :: offset: 0x483, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdl :: offset: 0x484, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdl :: offset: 0x485, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdl :: offset: 0x486, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdl :: offset: 0x487, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdl :: offset: 0x488, out: 0xc532e18e187980fa, outHI: 0x0
+sdl :: offset: 0x489, out: 0xc532e18e187980fa, outHI: 0x0
+sdl :: offset: 0x48a, out: 0xc532e18e187980fa, outHI: 0x0
+sdl :: offset: 0x48b, out: 0xc532e18e187980fa, outHI: 0x0
+sdl :: offset: 0x48c, out: 0xc532e18e187980fa, outHI: 0x0
+sdl :: offset: 0x48d, out: 0xc532e18e187980fa, outHI: 0x0
+sdl :: offset: 0x48e, out: 0xc532e18e187980fa, outHI: 0x0
+sdl :: offset: 0x48f, out: 0xc532e18e187980fa, outHI: 0x0
+sdl :: offset: 0x490, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdl :: offset: 0x491, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdl :: offset: 0x492, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdl :: offset: 0x493, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdl :: offset: 0x494, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdl :: offset: 0x495, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdl :: offset: 0x496, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdl :: offset: 0x497, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdl :: offset: 0x498, out: 0xb620660a49732b90, outHI: 0x0
+sdl :: offset: 0x499, out: 0xb620660a49732b90, outHI: 0x0
+sdl :: offset: 0x49a, out: 0xb620660a49732b90, outHI: 0x0
+sdl :: offset: 0x49b, out: 0xb620660a49732b90, outHI: 0x0
+sdl :: offset: 0x49c, out: 0xb620660a49732b90, outHI: 0x0
+sdl :: offset: 0x49d, out: 0xb620660a49732b90, outHI: 0x0
+sdl :: offset: 0x49e, out: 0xb620660a49732b90, outHI: 0x0
+sdl :: offset: 0x49f, out: 0xb620660a49732b90, outHI: 0x0
+sdl :: offset: 0x4a0, out: 0x993138f16cfde991, outHI: 0x0
+sdl :: offset: 0x4a1, out: 0x993138f16cfde991, outHI: 0x0
+sdl :: offset: 0x4a2, out: 0x993138f16cfde991, outHI: 0x0
+sdl :: offset: 0x4a3, out: 0x993138f16cfde991, outHI: 0x0
+sdl :: offset: 0x4a4, out: 0x993138f16cfde991, outHI: 0x0
+sdl :: offset: 0x4a5, out: 0x993138f16cfde991, outHI: 0x0
+sdl :: offset: 0x4a6, out: 0x993138f16cfde991, outHI: 0x0
+sdl :: offset: 0x4a7, out: 0x993138f16cfde991, outHI: 0x0
+sdl :: offset: 0x4a8, out: 0xde02d1337d5407b9, outHI: 0x0
+sdl :: offset: 0x4a9, out: 0xde02d1337d5407b9, outHI: 0x0
+sdl :: offset: 0x4aa, out: 0xde02d1337d5407b9, outHI: 0x0
+sdl :: offset: 0x4ab, out: 0xde02d1337d5407b9, outHI: 0x0
+sdl :: offset: 0x4ac, out: 0xde02d1337d5407b9, outHI: 0x0
+sdl :: offset: 0x4ad, out: 0xde02d1337d5407b9, outHI: 0x0
+sdl :: offset: 0x4ae, out: 0xde02d1337d5407b9, outHI: 0x0
+sdl :: offset: 0x4af, out: 0xde02d1337d5407b9, outHI: 0x0
+sdl :: offset: 0x4b0, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdl :: offset: 0x4b1, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdl :: offset: 0x4b2, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdl :: offset: 0x4b3, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdl :: offset: 0x4b4, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdl :: offset: 0x4b5, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdl :: offset: 0x4b6, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdl :: offset: 0x4b7, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdl :: offset: 0x4b8, out: 0x743491a6828716c8, outHI: 0x0
+sdl :: offset: 0x4b9, out: 0x743491a6828716c8, outHI: 0x0
+sdl :: offset: 0x4ba, out: 0x743491a6828716c8, outHI: 0x0
+sdl :: offset: 0x4bb, out: 0x743491a6828716c8, outHI: 0x0
+sdl :: offset: 0x4bc, out: 0x743491a6828716c8, outHI: 0x0
+sdl :: offset: 0x4bd, out: 0x743491a6828716c8, outHI: 0x0
+sdl :: offset: 0x4be, out: 0x743491a6828716c8, outHI: 0x0
+sdl :: offset: 0x4bf, out: 0x743491a6828716c8, outHI: 0x0
+sdl :: offset: 0x4c0, out: 0x8cff404aede292f2, outHI: 0x0
+sdl :: offset: 0x4c1, out: 0x8cff404aede292f2, outHI: 0x0
+sdl :: offset: 0x4c2, out: 0x8cff404aede292f2, outHI: 0x0
+sdl :: offset: 0x4c3, out: 0x8cff404aede292f2, outHI: 0x0
+sdl :: offset: 0x4c4, out: 0x8cff404aede292f2, outHI: 0x0
+sdl :: offset: 0x4c5, out: 0x8cff404aede292f2, outHI: 0x0
+sdl :: offset: 0x4c6, out: 0x8cff404aede292f2, outHI: 0x0
+sdl :: offset: 0x4c7, out: 0x8cff404aede292f2, outHI: 0x0
+sdl :: offset: 0x4c8, out: 0xb9cec0db1f837636, outHI: 0x0
+sdl :: offset: 0x4c9, out: 0xb9cec0db1f837636, outHI: 0x0
+sdl :: offset: 0x4ca, out: 0xb9cec0db1f837636, outHI: 0x0
+sdl :: offset: 0x4cb, out: 0xb9cec0db1f837636, outHI: 0x0
+sdl :: offset: 0x4cc, out: 0xb9cec0db1f837636, outHI: 0x0
+sdl :: offset: 0x4cd, out: 0xb9cec0db1f837636, outHI: 0x0
+sdl :: offset: 0x4ce, out: 0xb9cec0db1f837636, outHI: 0x0
+sdl :: offset: 0x4cf, out: 0xb9cec0db1f837636, outHI: 0x0
+sdl :: offset: 0x4d0, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdl :: offset: 0x4d1, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdl :: offset: 0x4d2, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdl :: offset: 0x4d3, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdl :: offset: 0x4d4, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdl :: offset: 0x4d5, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdl :: offset: 0x4d6, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdl :: offset: 0x4d7, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdl :: offset: 0x4d8, out: 0xd327538e1875241b, outHI: 0x0
+sdl :: offset: 0x4d9, out: 0xd327538e1875241b, outHI: 0x0
+sdl :: offset: 0x4da, out: 0xd327538e1875241b, outHI: 0x0
+sdl :: offset: 0x4db, out: 0xd327538e1875241b, outHI: 0x0
+sdl :: offset: 0x4dc, out: 0xd327538e1875241b, outHI: 0x0
+sdl :: offset: 0x4dd, out: 0xd327538e1875241b, outHI: 0x0
+sdl :: offset: 0x4de, out: 0xd327538e1875241b, outHI: 0x0
+sdl :: offset: 0x4df, out: 0xd327538e1875241b, outHI: 0x0
+sdl :: offset: 0x4e0, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdl :: offset: 0x4e1, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdl :: offset: 0x4e2, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdl :: offset: 0x4e3, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdl :: offset: 0x4e4, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdl :: offset: 0x4e5, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdl :: offset: 0x4e6, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdl :: offset: 0x4e7, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdl :: offset: 0x4e8, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdl :: offset: 0x4e9, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdl :: offset: 0x4ea, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdl :: offset: 0x4eb, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdl :: offset: 0x4ec, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdl :: offset: 0x4ed, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdl :: offset: 0x4ee, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdl :: offset: 0x4ef, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdl :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdl :: offset: 0x4f1, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdl :: offset: 0x4f2, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdl :: offset: 0x4f3, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdl :: offset: 0x4f4, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdl :: offset: 0x4f5, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdl :: offset: 0x4f6, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdl :: offset: 0x4f7, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdl :: offset: 0x4f8, out: 0x73916483ae3e9423, outHI: 0x0
+sdl :: offset: 0x4f9, out: 0x73916483ae3e9423, outHI: 0x0
+sdl :: offset: 0x4fa, out: 0x73916483ae3e9423, outHI: 0x0
+sdl :: offset: 0x4fb, out: 0x73916483ae3e9423, outHI: 0x0
+sdl :: offset: 0x4fc, out: 0x73916483ae3e9423, outHI: 0x0
+sdl :: offset: 0x4fd, out: 0x73916483ae3e9423, outHI: 0x0
+sdl :: offset: 0x4fe, out: 0x73916483ae3e9423, outHI: 0x0
+sdl :: offset: 0x4ff, out: 0x73916483ae3e9423, outHI: 0x0
+sdl :: offset: 0x500, out: 0x276af70a0e128561, outHI: 0x0
+sdl :: offset: 0x501, out: 0x276af70a0e128561, outHI: 0x0
+sdl :: offset: 0x502, out: 0x276af70a0e128561, outHI: 0x0
+sdl :: offset: 0x503, out: 0x276af70a0e128561, outHI: 0x0
+sdl :: offset: 0x504, out: 0x276af70a0e128561, outHI: 0x0
+sdl :: offset: 0x505, out: 0x276af70a0e128561, outHI: 0x0
+sdl :: offset: 0x506, out: 0x276af70a0e128561, outHI: 0x0
+sdl :: offset: 0x507, out: 0x276af70a0e128561, outHI: 0x0
+sdl :: offset: 0x508, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdl :: offset: 0x509, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdl :: offset: 0x50a, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdl :: offset: 0x50b, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdl :: offset: 0x50c, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdl :: offset: 0x50d, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdl :: offset: 0x50e, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdl :: offset: 0x50f, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdl :: offset: 0x510, out: 0x20223f1308accfa6, outHI: 0x0
+sdl :: offset: 0x511, out: 0x20223f1308accfa6, outHI: 0x0
+sdl :: offset: 0x512, out: 0x20223f1308accfa6, outHI: 0x0
+sdl :: offset: 0x513, out: 0x20223f1308accfa6, outHI: 0x0
+sdl :: offset: 0x514, out: 0x20223f1308accfa6, outHI: 0x0
+sdl :: offset: 0x515, out: 0x20223f1308accfa6, outHI: 0x0
+sdl :: offset: 0x516, out: 0x20223f1308accfa6, outHI: 0x0
+sdl :: offset: 0x517, out: 0x20223f1308accfa6, outHI: 0x0
+sdl :: offset: 0x518, out: 0xf83c55743976b5f5, outHI: 0x0
+sdl :: offset: 0x519, out: 0xf83c55743976b5f5, outHI: 0x0
+sdl :: offset: 0x51a, out: 0xf83c55743976b5f5, outHI: 0x0
+sdl :: offset: 0x51b, out: 0xf83c55743976b5f5, outHI: 0x0
+sdl :: offset: 0x51c, out: 0xf83c55743976b5f5, outHI: 0x0
+sdl :: offset: 0x51d, out: 0xf83c55743976b5f5, outHI: 0x0
+sdl :: offset: 0x51e, out: 0xf83c55743976b5f5, outHI: 0x0
+sdl :: offset: 0x51f, out: 0xf83c55743976b5f5, outHI: 0x0
+sdl :: offset: 0x520, out: 0x1f9720f946923c3d, outHI: 0x0
+sdl :: offset: 0x521, out: 0x1f9720f946923c3d, outHI: 0x0
+sdl :: offset: 0x522, out: 0x1f9720f946923c3d, outHI: 0x0
+sdl :: offset: 0x523, out: 0x1f9720f946923c3d, outHI: 0x0
+sdl :: offset: 0x524, out: 0x1f9720f946923c3d, outHI: 0x0
+sdl :: offset: 0x525, out: 0x1f9720f946923c3d, outHI: 0x0
+sdl :: offset: 0x526, out: 0x1f9720f946923c3d, outHI: 0x0
+sdl :: offset: 0x527, out: 0x1f9720f946923c3d, outHI: 0x0
+sdl :: offset: 0x528, out: 0x620d28506d2448dd, outHI: 0x0
+sdl :: offset: 0x529, out: 0x620d28506d2448dd, outHI: 0x0
+sdl :: offset: 0x52a, out: 0x620d28506d2448dd, outHI: 0x0
+sdl :: offset: 0x52b, out: 0x620d28506d2448dd, outHI: 0x0
+sdl :: offset: 0x52c, out: 0x620d28506d2448dd, outHI: 0x0
+sdl :: offset: 0x52d, out: 0x620d28506d2448dd, outHI: 0x0
+sdl :: offset: 0x52e, out: 0x620d28506d2448dd, outHI: 0x0
+sdl :: offset: 0x52f, out: 0x620d28506d2448dd, outHI: 0x0
+sdl :: offset: 0x530, out: 0x60a521e99ff4a732, outHI: 0x0
+sdl :: offset: 0x531, out: 0x60a521e99ff4a732, outHI: 0x0
+sdl :: offset: 0x532, out: 0x60a521e99ff4a732, outHI: 0x0
+sdl :: offset: 0x533, out: 0x60a521e99ff4a732, outHI: 0x0
+sdl :: offset: 0x534, out: 0x60a521e99ff4a732, outHI: 0x0
+sdl :: offset: 0x535, out: 0x60a521e99ff4a732, outHI: 0x0
+sdl :: offset: 0x536, out: 0x60a521e99ff4a732, outHI: 0x0
+sdl :: offset: 0x537, out: 0x60a521e99ff4a732, outHI: 0x0
+sdl :: offset: 0x538, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdl :: offset: 0x539, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdl :: offset: 0x53a, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdl :: offset: 0x53b, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdl :: offset: 0x53c, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdl :: offset: 0x53d, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdl :: offset: 0x53e, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdl :: offset: 0x53f, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdl :: offset: 0x540, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdl :: offset: 0x541, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdl :: offset: 0x542, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdl :: offset: 0x543, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdl :: offset: 0x544, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdl :: offset: 0x545, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdl :: offset: 0x546, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdl :: offset: 0x547, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdl :: offset: 0x548, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdl :: offset: 0x549, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdl :: offset: 0x54a, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdl :: offset: 0x54b, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdl :: offset: 0x54c, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdl :: offset: 0x54d, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdl :: offset: 0x54e, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdl :: offset: 0x54f, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdl :: offset: 0x550, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdl :: offset: 0x551, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdl :: offset: 0x552, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdl :: offset: 0x553, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdl :: offset: 0x554, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdl :: offset: 0x555, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdl :: offset: 0x556, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdl :: offset: 0x557, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdl :: offset: 0x558, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdl :: offset: 0x559, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdl :: offset: 0x55a, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdl :: offset: 0x55b, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdl :: offset: 0x55c, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdl :: offset: 0x55d, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdl :: offset: 0x55e, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdl :: offset: 0x55f, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdl :: offset: 0x560, out: 0x743e568d2fcf486b, outHI: 0x0
+sdl :: offset: 0x561, out: 0x743e568d2fcf486b, outHI: 0x0
+sdl :: offset: 0x562, out: 0x743e568d2fcf486b, outHI: 0x0
+sdl :: offset: 0x563, out: 0x743e568d2fcf486b, outHI: 0x0
+sdl :: offset: 0x564, out: 0x743e568d2fcf486b, outHI: 0x0
+sdl :: offset: 0x565, out: 0x743e568d2fcf486b, outHI: 0x0
+sdl :: offset: 0x566, out: 0x743e568d2fcf486b, outHI: 0x0
+sdl :: offset: 0x567, out: 0x743e568d2fcf486b, outHI: 0x0
+sdl :: offset: 0x568, out: 0x126f646f34c31728, outHI: 0x0
+sdl :: offset: 0x569, out: 0x126f646f34c31728, outHI: 0x0
+sdl :: offset: 0x56a, out: 0x126f646f34c31728, outHI: 0x0
+sdl :: offset: 0x56b, out: 0x126f646f34c31728, outHI: 0x0
+sdl :: offset: 0x56c, out: 0x126f646f34c31728, outHI: 0x0
+sdl :: offset: 0x56d, out: 0x126f646f34c31728, outHI: 0x0
+sdl :: offset: 0x56e, out: 0x126f646f34c31728, outHI: 0x0
+sdl :: offset: 0x56f, out: 0x126f646f34c31728, outHI: 0x0
+sdl :: offset: 0x570, out: 0xaab0196156fc4d12, outHI: 0x0
+sdl :: offset: 0x571, out: 0xaab0196156fc4d12, outHI: 0x0
+sdl :: offset: 0x572, out: 0xaab0196156fc4d12, outHI: 0x0
+sdl :: offset: 0x573, out: 0xaab0196156fc4d12, outHI: 0x0
+sdl :: offset: 0x574, out: 0xaab0196156fc4d12, outHI: 0x0
+sdl :: offset: 0x575, out: 0xaab0196156fc4d12, outHI: 0x0
+sdl :: offset: 0x576, out: 0xaab0196156fc4d12, outHI: 0x0
+sdl :: offset: 0x577, out: 0xaab0196156fc4d12, outHI: 0x0
+sdl :: offset: 0x578, out: 0x7535cd338595d342, outHI: 0x0
+sdl :: offset: 0x579, out: 0x7535cd338595d342, outHI: 0x0
+sdl :: offset: 0x57a, out: 0x7535cd338595d342, outHI: 0x0
+sdl :: offset: 0x57b, out: 0x7535cd338595d342, outHI: 0x0
+sdl :: offset: 0x57c, out: 0x7535cd338595d342, outHI: 0x0
+sdl :: offset: 0x57d, out: 0x7535cd338595d342, outHI: 0x0
+sdl :: offset: 0x57e, out: 0x7535cd338595d342, outHI: 0x0
+sdl :: offset: 0x57f, out: 0x7535cd338595d342, outHI: 0x0
+sdl :: offset: 0x580, out: 0xdfb254da422346ec, outHI: 0x0
+sdl :: offset: 0x581, out: 0xdfb254da422346ec, outHI: 0x0
+sdl :: offset: 0x582, out: 0xdfb254da422346ec, outHI: 0x0
+sdl :: offset: 0x583, out: 0xdfb254da422346ec, outHI: 0x0
+sdl :: offset: 0x584, out: 0xdfb254da422346ec, outHI: 0x0
+sdl :: offset: 0x585, out: 0xdfb254da422346ec, outHI: 0x0
+sdl :: offset: 0x586, out: 0xdfb254da422346ec, outHI: 0x0
+sdl :: offset: 0x587, out: 0xdfb254da422346ec, outHI: 0x0
+sdl :: offset: 0x588, out: 0xa86726c90081ab2a, outHI: 0x0
+sdl :: offset: 0x589, out: 0xa86726c90081ab2a, outHI: 0x0
+sdl :: offset: 0x58a, out: 0xa86726c90081ab2a, outHI: 0x0
+sdl :: offset: 0x58b, out: 0xa86726c90081ab2a, outHI: 0x0
+sdl :: offset: 0x58c, out: 0xa86726c90081ab2a, outHI: 0x0
+sdl :: offset: 0x58d, out: 0xa86726c90081ab2a, outHI: 0x0
+sdl :: offset: 0x58e, out: 0xa86726c90081ab2a, outHI: 0x0
+sdl :: offset: 0x58f, out: 0xa86726c90081ab2a, outHI: 0x0
+sdl :: offset: 0x590, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdl :: offset: 0x591, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdl :: offset: 0x592, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdl :: offset: 0x593, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdl :: offset: 0x594, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdl :: offset: 0x595, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdl :: offset: 0x596, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdl :: offset: 0x597, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdl :: offset: 0x598, out: 0xc7699826b7dee244, outHI: 0x0
+sdl :: offset: 0x599, out: 0xc7699826b7dee244, outHI: 0x0
+sdl :: offset: 0x59a, out: 0xc7699826b7dee244, outHI: 0x0
+sdl :: offset: 0x59b, out: 0xc7699826b7dee244, outHI: 0x0
+sdl :: offset: 0x59c, out: 0xc7699826b7dee244, outHI: 0x0
+sdl :: offset: 0x59d, out: 0xc7699826b7dee244, outHI: 0x0
+sdl :: offset: 0x59e, out: 0xc7699826b7dee244, outHI: 0x0
+sdl :: offset: 0x59f, out: 0xc7699826b7dee244, outHI: 0x0
+sdl :: offset: 0x5a0, out: 0x3c07af97fba6704a, outHI: 0x0
+sdl :: offset: 0x5a1, out: 0x3c07af97fba6704a, outHI: 0x0
+sdl :: offset: 0x5a2, out: 0x3c07af97fba6704a, outHI: 0x0
+sdl :: offset: 0x5a3, out: 0x3c07af97fba6704a, outHI: 0x0
+sdl :: offset: 0x5a4, out: 0x3c07af97fba6704a, outHI: 0x0
+sdl :: offset: 0x5a5, out: 0x3c07af97fba6704a, outHI: 0x0
+sdl :: offset: 0x5a6, out: 0x3c07af97fba6704a, outHI: 0x0
+sdl :: offset: 0x5a7, out: 0x3c07af97fba6704a, outHI: 0x0
+sdl :: offset: 0x5a8, out: 0x521364dc04c58bfe, outHI: 0x0
+sdl :: offset: 0x5a9, out: 0x521364dc04c58bfe, outHI: 0x0
+sdl :: offset: 0x5aa, out: 0x521364dc04c58bfe, outHI: 0x0
+sdl :: offset: 0x5ab, out: 0x521364dc04c58bfe, outHI: 0x0
+sdl :: offset: 0x5ac, out: 0x521364dc04c58bfe, outHI: 0x0
+sdl :: offset: 0x5ad, out: 0x521364dc04c58bfe, outHI: 0x0
+sdl :: offset: 0x5ae, out: 0x521364dc04c58bfe, outHI: 0x0
+sdl :: offset: 0x5af, out: 0x521364dc04c58bfe, outHI: 0x0
+sdl :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdl :: offset: 0x5b1, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdl :: offset: 0x5b2, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdl :: offset: 0x5b3, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdl :: offset: 0x5b4, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdl :: offset: 0x5b5, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdl :: offset: 0x5b6, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdl :: offset: 0x5b7, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdl :: offset: 0x5b8, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdl :: offset: 0x5b9, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdl :: offset: 0x5ba, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdl :: offset: 0x5bb, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdl :: offset: 0x5bc, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdl :: offset: 0x5bd, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdl :: offset: 0x5be, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdl :: offset: 0x5bf, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdl :: offset: 0x5c0, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdl :: offset: 0x5c1, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdl :: offset: 0x5c2, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdl :: offset: 0x5c3, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdl :: offset: 0x5c4, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdl :: offset: 0x5c5, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdl :: offset: 0x5c6, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdl :: offset: 0x5c7, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdl :: offset: 0x5c8, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdl :: offset: 0x5c9, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdl :: offset: 0x5ca, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdl :: offset: 0x5cb, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdl :: offset: 0x5cc, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdl :: offset: 0x5cd, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdl :: offset: 0x5ce, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdl :: offset: 0x5cf, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdl :: offset: 0x5d0, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdl :: offset: 0x5d1, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdl :: offset: 0x5d2, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdl :: offset: 0x5d3, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdl :: offset: 0x5d4, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdl :: offset: 0x5d5, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdl :: offset: 0x5d6, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdl :: offset: 0x5d7, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdl :: offset: 0x5d8, out: 0xa974eac43a489b55, outHI: 0x0
+sdl :: offset: 0x5d9, out: 0xa974eac43a489b55, outHI: 0x0
+sdl :: offset: 0x5da, out: 0xa974eac43a489b55, outHI: 0x0
+sdl :: offset: 0x5db, out: 0xa974eac43a489b55, outHI: 0x0
+sdl :: offset: 0x5dc, out: 0xa974eac43a489b55, outHI: 0x0
+sdl :: offset: 0x5dd, out: 0xa974eac43a489b55, outHI: 0x0
+sdl :: offset: 0x5de, out: 0xa974eac43a489b55, outHI: 0x0
+sdl :: offset: 0x5df, out: 0xa974eac43a489b55, outHI: 0x0
+sdl :: offset: 0x5e0, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdl :: offset: 0x5e1, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdl :: offset: 0x5e2, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdl :: offset: 0x5e3, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdl :: offset: 0x5e4, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdl :: offset: 0x5e5, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdl :: offset: 0x5e6, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdl :: offset: 0x5e7, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdl :: offset: 0x5e8, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdl :: offset: 0x5e9, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdl :: offset: 0x5ea, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdl :: offset: 0x5eb, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdl :: offset: 0x5ec, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdl :: offset: 0x5ed, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdl :: offset: 0x5ee, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdl :: offset: 0x5ef, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdl :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdl :: offset: 0x5f1, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdl :: offset: 0x5f2, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdl :: offset: 0x5f3, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdl :: offset: 0x5f4, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdl :: offset: 0x5f5, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdl :: offset: 0x5f6, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdl :: offset: 0x5f7, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdl :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdl :: offset: 0x5f9, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdl :: offset: 0x5fa, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdl :: offset: 0x5fb, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdl :: offset: 0x5fc, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdl :: offset: 0x5fd, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdl :: offset: 0x5fe, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdl :: offset: 0x5ff, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdl :: offset: 0x600, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdl :: offset: 0x601, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdl :: offset: 0x602, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdl :: offset: 0x603, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdl :: offset: 0x604, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdl :: offset: 0x605, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdl :: offset: 0x606, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdl :: offset: 0x607, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdl :: offset: 0x608, out: 0x4bf8485ab728922f, outHI: 0x0
+sdl :: offset: 0x609, out: 0x4bf8485ab728922f, outHI: 0x0
+sdl :: offset: 0x60a, out: 0x4bf8485ab728922f, outHI: 0x0
+sdl :: offset: 0x60b, out: 0x4bf8485ab728922f, outHI: 0x0
+sdl :: offset: 0x60c, out: 0x4bf8485ab728922f, outHI: 0x0
+sdl :: offset: 0x60d, out: 0x4bf8485ab728922f, outHI: 0x0
+sdl :: offset: 0x60e, out: 0x4bf8485ab728922f, outHI: 0x0
+sdl :: offset: 0x60f, out: 0x4bf8485ab728922f, outHI: 0x0
+sdl :: offset: 0x610, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdl :: offset: 0x611, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdl :: offset: 0x612, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdl :: offset: 0x613, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdl :: offset: 0x614, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdl :: offset: 0x615, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdl :: offset: 0x616, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdl :: offset: 0x617, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdl :: offset: 0x618, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdl :: offset: 0x619, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdl :: offset: 0x61a, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdl :: offset: 0x61b, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdl :: offset: 0x61c, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdl :: offset: 0x61d, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdl :: offset: 0x61e, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdl :: offset: 0x61f, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdl :: offset: 0x620, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdl :: offset: 0x621, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdl :: offset: 0x622, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdl :: offset: 0x623, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdl :: offset: 0x624, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdl :: offset: 0x625, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdl :: offset: 0x626, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdl :: offset: 0x627, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdl :: offset: 0x628, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdl :: offset: 0x629, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdl :: offset: 0x62a, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdl :: offset: 0x62b, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdl :: offset: 0x62c, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdl :: offset: 0x62d, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdl :: offset: 0x62e, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdl :: offset: 0x62f, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdl :: offset: 0x630, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdl :: offset: 0x631, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdl :: offset: 0x632, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdl :: offset: 0x633, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdl :: offset: 0x634, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdl :: offset: 0x635, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdl :: offset: 0x636, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdl :: offset: 0x637, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdl :: offset: 0x638, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdl :: offset: 0x639, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdl :: offset: 0x63a, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdl :: offset: 0x63b, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdl :: offset: 0x63c, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdl :: offset: 0x63d, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdl :: offset: 0x63e, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdl :: offset: 0x63f, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdl :: offset: 0x640, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdl :: offset: 0x641, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdl :: offset: 0x642, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdl :: offset: 0x643, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdl :: offset: 0x644, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdl :: offset: 0x645, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdl :: offset: 0x646, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdl :: offset: 0x647, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdl :: offset: 0x648, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdl :: offset: 0x649, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdl :: offset: 0x64a, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdl :: offset: 0x64b, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdl :: offset: 0x64c, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdl :: offset: 0x64d, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdl :: offset: 0x64e, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdl :: offset: 0x64f, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdl :: offset: 0x650, out: 0xbb8470f981e91117, outHI: 0x0
+sdl :: offset: 0x651, out: 0xbb8470f981e91117, outHI: 0x0
+sdl :: offset: 0x652, out: 0xbb8470f981e91117, outHI: 0x0
+sdl :: offset: 0x653, out: 0xbb8470f981e91117, outHI: 0x0
+sdl :: offset: 0x654, out: 0xbb8470f981e91117, outHI: 0x0
+sdl :: offset: 0x655, out: 0xbb8470f981e91117, outHI: 0x0
+sdl :: offset: 0x656, out: 0xbb8470f981e91117, outHI: 0x0
+sdl :: offset: 0x657, out: 0xbb8470f981e91117, outHI: 0x0
+sdl :: offset: 0x658, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdl :: offset: 0x659, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdl :: offset: 0x65a, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdl :: offset: 0x65b, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdl :: offset: 0x65c, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdl :: offset: 0x65d, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdl :: offset: 0x65e, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdl :: offset: 0x65f, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdl :: offset: 0x660, out: 0x14abf36419fb9e63, outHI: 0x0
+sdl :: offset: 0x661, out: 0x14abf36419fb9e63, outHI: 0x0
+sdl :: offset: 0x662, out: 0x14abf36419fb9e63, outHI: 0x0
+sdl :: offset: 0x663, out: 0x14abf36419fb9e63, outHI: 0x0
+sdl :: offset: 0x664, out: 0x14abf36419fb9e63, outHI: 0x0
+sdl :: offset: 0x665, out: 0x14abf36419fb9e63, outHI: 0x0
+sdl :: offset: 0x666, out: 0x14abf36419fb9e63, outHI: 0x0
+sdl :: offset: 0x667, out: 0x14abf36419fb9e63, outHI: 0x0
+sdl :: offset: 0x668, out: 0x249d559aa8d72aac, outHI: 0x0
+sdl :: offset: 0x669, out: 0x249d559aa8d72aac, outHI: 0x0
+sdl :: offset: 0x66a, out: 0x249d559aa8d72aac, outHI: 0x0
+sdl :: offset: 0x66b, out: 0x249d559aa8d72aac, outHI: 0x0
+sdl :: offset: 0x66c, out: 0x249d559aa8d72aac, outHI: 0x0
+sdl :: offset: 0x66d, out: 0x249d559aa8d72aac, outHI: 0x0
+sdl :: offset: 0x66e, out: 0x249d559aa8d72aac, outHI: 0x0
+sdl :: offset: 0x66f, out: 0x249d559aa8d72aac, outHI: 0x0
+sdl :: offset: 0x670, out: 0xcd6764f084b30ec, outHI: 0x0
+sdl :: offset: 0x671, out: 0xcd6764f084b30ec, outHI: 0x0
+sdl :: offset: 0x672, out: 0xcd6764f084b30ec, outHI: 0x0
+sdl :: offset: 0x673, out: 0xcd6764f084b30ec, outHI: 0x0
+sdl :: offset: 0x674, out: 0xcd6764f084b30ec, outHI: 0x0
+sdl :: offset: 0x675, out: 0xcd6764f084b30ec, outHI: 0x0
+sdl :: offset: 0x676, out: 0xcd6764f084b30ec, outHI: 0x0
+sdl :: offset: 0x677, out: 0xcd6764f084b30ec, outHI: 0x0
+sdl :: offset: 0x678, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdl :: offset: 0x679, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdl :: offset: 0x67a, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdl :: offset: 0x67b, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdl :: offset: 0x67c, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdl :: offset: 0x67d, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdl :: offset: 0x67e, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdl :: offset: 0x67f, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdl :: offset: 0x680, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdl :: offset: 0x681, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdl :: offset: 0x682, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdl :: offset: 0x683, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdl :: offset: 0x684, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdl :: offset: 0x685, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdl :: offset: 0x686, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdl :: offset: 0x687, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdl :: offset: 0x688, out: 0x152828591a652711, outHI: 0x0
+sdl :: offset: 0x689, out: 0x152828591a652711, outHI: 0x0
+sdl :: offset: 0x68a, out: 0x152828591a652711, outHI: 0x0
+sdl :: offset: 0x68b, out: 0x152828591a652711, outHI: 0x0
+sdl :: offset: 0x68c, out: 0x152828591a652711, outHI: 0x0
+sdl :: offset: 0x68d, out: 0x152828591a652711, outHI: 0x0
+sdl :: offset: 0x68e, out: 0x152828591a652711, outHI: 0x0
+sdl :: offset: 0x68f, out: 0x152828591a652711, outHI: 0x0
+sdl :: offset: 0x690, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdl :: offset: 0x691, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdl :: offset: 0x692, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdl :: offset: 0x693, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdl :: offset: 0x694, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdl :: offset: 0x695, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdl :: offset: 0x696, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdl :: offset: 0x697, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdl :: offset: 0x698, out: 0x8d95c049282a0417, outHI: 0x0
+sdl :: offset: 0x699, out: 0x8d95c049282a0417, outHI: 0x0
+sdl :: offset: 0x69a, out: 0x8d95c049282a0417, outHI: 0x0
+sdl :: offset: 0x69b, out: 0x8d95c049282a0417, outHI: 0x0
+sdl :: offset: 0x69c, out: 0x8d95c049282a0417, outHI: 0x0
+sdl :: offset: 0x69d, out: 0x8d95c049282a0417, outHI: 0x0
+sdl :: offset: 0x69e, out: 0x8d95c049282a0417, outHI: 0x0
+sdl :: offset: 0x69f, out: 0x8d95c049282a0417, outHI: 0x0
+sdl :: offset: 0x6a0, out: 0xf2e7a490978058f3, outHI: 0x0
+sdl :: offset: 0x6a1, out: 0xf2e7a490978058f3, outHI: 0x0
+sdl :: offset: 0x6a2, out: 0xf2e7a490978058f3, outHI: 0x0
+sdl :: offset: 0x6a3, out: 0xf2e7a490978058f3, outHI: 0x0
+sdl :: offset: 0x6a4, out: 0xf2e7a490978058f3, outHI: 0x0
+sdl :: offset: 0x6a5, out: 0xf2e7a490978058f3, outHI: 0x0
+sdl :: offset: 0x6a6, out: 0xf2e7a490978058f3, outHI: 0x0
+sdl :: offset: 0x6a7, out: 0xf2e7a490978058f3, outHI: 0x0
+sdl :: offset: 0x6a8, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdl :: offset: 0x6a9, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdl :: offset: 0x6aa, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdl :: offset: 0x6ab, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdl :: offset: 0x6ac, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdl :: offset: 0x6ad, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdl :: offset: 0x6ae, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdl :: offset: 0x6af, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdl :: offset: 0x6b0, out: 0xa2b84a635111020, outHI: 0x0
+sdl :: offset: 0x6b1, out: 0xa2b84a635111020, outHI: 0x0
+sdl :: offset: 0x6b2, out: 0xa2b84a635111020, outHI: 0x0
+sdl :: offset: 0x6b3, out: 0xa2b84a635111020, outHI: 0x0
+sdl :: offset: 0x6b4, out: 0xa2b84a635111020, outHI: 0x0
+sdl :: offset: 0x6b5, out: 0xa2b84a635111020, outHI: 0x0
+sdl :: offset: 0x6b6, out: 0xa2b84a635111020, outHI: 0x0
+sdl :: offset: 0x6b7, out: 0xa2b84a635111020, outHI: 0x0
+sdl :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdl :: offset: 0x6b9, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdl :: offset: 0x6ba, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdl :: offset: 0x6bb, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdl :: offset: 0x6bc, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdl :: offset: 0x6bd, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdl :: offset: 0x6be, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdl :: offset: 0x6bf, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdl :: offset: 0x6c0, out: 0xa3d991b79941dedd, outHI: 0x0
+sdl :: offset: 0x6c1, out: 0xa3d991b79941dedd, outHI: 0x0
+sdl :: offset: 0x6c2, out: 0xa3d991b79941dedd, outHI: 0x0
+sdl :: offset: 0x6c3, out: 0xa3d991b79941dedd, outHI: 0x0
+sdl :: offset: 0x6c4, out: 0xa3d991b79941dedd, outHI: 0x0
+sdl :: offset: 0x6c5, out: 0xa3d991b79941dedd, outHI: 0x0
+sdl :: offset: 0x6c6, out: 0xa3d991b79941dedd, outHI: 0x0
+sdl :: offset: 0x6c7, out: 0xa3d991b79941dedd, outHI: 0x0
+sdl :: offset: 0x6c8, out: 0x751cb4835a0d9508, outHI: 0x0
+sdl :: offset: 0x6c9, out: 0x751cb4835a0d9508, outHI: 0x0
+sdl :: offset: 0x6ca, out: 0x751cb4835a0d9508, outHI: 0x0
+sdl :: offset: 0x6cb, out: 0x751cb4835a0d9508, outHI: 0x0
+sdl :: offset: 0x6cc, out: 0x751cb4835a0d9508, outHI: 0x0
+sdl :: offset: 0x6cd, out: 0x751cb4835a0d9508, outHI: 0x0
+sdl :: offset: 0x6ce, out: 0x751cb4835a0d9508, outHI: 0x0
+sdl :: offset: 0x6cf, out: 0x751cb4835a0d9508, outHI: 0x0
+sdl :: offset: 0x6d0, out: 0x949cad35625bb2d3, outHI: 0x0
+sdl :: offset: 0x6d1, out: 0x949cad35625bb2d3, outHI: 0x0
+sdl :: offset: 0x6d2, out: 0x949cad35625bb2d3, outHI: 0x0
+sdl :: offset: 0x6d3, out: 0x949cad35625bb2d3, outHI: 0x0
+sdl :: offset: 0x6d4, out: 0x949cad35625bb2d3, outHI: 0x0
+sdl :: offset: 0x6d5, out: 0x949cad35625bb2d3, outHI: 0x0
+sdl :: offset: 0x6d6, out: 0x949cad35625bb2d3, outHI: 0x0
+sdl :: offset: 0x6d7, out: 0x949cad35625bb2d3, outHI: 0x0
+sdl :: offset: 0x6d8, out: 0x7f567f35a6929739, outHI: 0x0
+sdl :: offset: 0x6d9, out: 0x7f567f35a6929739, outHI: 0x0
+sdl :: offset: 0x6da, out: 0x7f567f35a6929739, outHI: 0x0
+sdl :: offset: 0x6db, out: 0x7f567f35a6929739, outHI: 0x0
+sdl :: offset: 0x6dc, out: 0x7f567f35a6929739, outHI: 0x0
+sdl :: offset: 0x6dd, out: 0x7f567f35a6929739, outHI: 0x0
+sdl :: offset: 0x6de, out: 0x7f567f35a6929739, outHI: 0x0
+sdl :: offset: 0x6df, out: 0x7f567f35a6929739, outHI: 0x0
+sdl :: offset: 0x6e0, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdl :: offset: 0x6e1, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdl :: offset: 0x6e2, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdl :: offset: 0x6e3, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdl :: offset: 0x6e4, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdl :: offset: 0x6e5, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdl :: offset: 0x6e6, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdl :: offset: 0x6e7, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdl :: offset: 0x6e8, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdl :: offset: 0x6e9, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdl :: offset: 0x6ea, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdl :: offset: 0x6eb, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdl :: offset: 0x6ec, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdl :: offset: 0x6ed, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdl :: offset: 0x6ee, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdl :: offset: 0x6ef, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdl :: offset: 0x6f0, out: 0x1048d589a4363f7b, outHI: 0x0
+sdl :: offset: 0x6f1, out: 0x1048d589a4363f7b, outHI: 0x0
+sdl :: offset: 0x6f2, out: 0x1048d589a4363f7b, outHI: 0x0
+sdl :: offset: 0x6f3, out: 0x1048d589a4363f7b, outHI: 0x0
+sdl :: offset: 0x6f4, out: 0x1048d589a4363f7b, outHI: 0x0
+sdl :: offset: 0x6f5, out: 0x1048d589a4363f7b, outHI: 0x0
+sdl :: offset: 0x6f6, out: 0x1048d589a4363f7b, outHI: 0x0
+sdl :: offset: 0x6f7, out: 0x1048d589a4363f7b, outHI: 0x0
+sdl :: offset: 0x6f8, out: 0x6a6d5708f4605790, outHI: 0x0
+sdl :: offset: 0x6f9, out: 0x6a6d5708f4605790, outHI: 0x0
+sdl :: offset: 0x6fa, out: 0x6a6d5708f4605790, outHI: 0x0
+sdl :: offset: 0x6fb, out: 0x6a6d5708f4605790, outHI: 0x0
+sdl :: offset: 0x6fc, out: 0x6a6d5708f4605790, outHI: 0x0
+sdl :: offset: 0x6fd, out: 0x6a6d5708f4605790, outHI: 0x0
+sdl :: offset: 0x6fe, out: 0x6a6d5708f4605790, outHI: 0x0
+sdl :: offset: 0x6ff, out: 0x6a6d5708f4605790, outHI: 0x0
+sdl :: offset: 0x700, out: 0xd58ecbabde35697f, outHI: 0x0
+sdl :: offset: 0x701, out: 0xd58ecbabde35697f, outHI: 0x0
+sdl :: offset: 0x702, out: 0xd58ecbabde35697f, outHI: 0x0
+sdl :: offset: 0x703, out: 0xd58ecbabde35697f, outHI: 0x0
+sdl :: offset: 0x704, out: 0xd58ecbabde35697f, outHI: 0x0
+sdl :: offset: 0x705, out: 0xd58ecbabde35697f, outHI: 0x0
+sdl :: offset: 0x706, out: 0xd58ecbabde35697f, outHI: 0x0
+sdl :: offset: 0x707, out: 0xd58ecbabde35697f, outHI: 0x0
+sdl :: offset: 0x708, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdl :: offset: 0x709, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdl :: offset: 0x70a, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdl :: offset: 0x70b, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdl :: offset: 0x70c, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdl :: offset: 0x70d, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdl :: offset: 0x70e, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdl :: offset: 0x70f, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdl :: offset: 0x710, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdl :: offset: 0x711, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdl :: offset: 0x712, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdl :: offset: 0x713, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdl :: offset: 0x714, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdl :: offset: 0x715, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdl :: offset: 0x716, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdl :: offset: 0x717, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdl :: offset: 0x718, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdl :: offset: 0x719, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdl :: offset: 0x71a, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdl :: offset: 0x71b, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdl :: offset: 0x71c, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdl :: offset: 0x71d, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdl :: offset: 0x71e, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdl :: offset: 0x71f, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdl :: offset: 0x720, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdl :: offset: 0x721, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdl :: offset: 0x722, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdl :: offset: 0x723, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdl :: offset: 0x724, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdl :: offset: 0x725, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdl :: offset: 0x726, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdl :: offset: 0x727, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdl :: offset: 0x728, out: 0xa978f12ca22256a7, outHI: 0x0
+sdl :: offset: 0x729, out: 0xa978f12ca22256a7, outHI: 0x0
+sdl :: offset: 0x72a, out: 0xa978f12ca22256a7, outHI: 0x0
+sdl :: offset: 0x72b, out: 0xa978f12ca22256a7, outHI: 0x0
+sdl :: offset: 0x72c, out: 0xa978f12ca22256a7, outHI: 0x0
+sdl :: offset: 0x72d, out: 0xa978f12ca22256a7, outHI: 0x0
+sdl :: offset: 0x72e, out: 0xa978f12ca22256a7, outHI: 0x0
+sdl :: offset: 0x72f, out: 0xa978f12ca22256a7, outHI: 0x0
+sdl :: offset: 0x730, out: 0x9950a93b811ee02f, outHI: 0x0
+sdl :: offset: 0x731, out: 0x9950a93b811ee02f, outHI: 0x0
+sdl :: offset: 0x732, out: 0x9950a93b811ee02f, outHI: 0x0
+sdl :: offset: 0x733, out: 0x9950a93b811ee02f, outHI: 0x0
+sdl :: offset: 0x734, out: 0x9950a93b811ee02f, outHI: 0x0
+sdl :: offset: 0x735, out: 0x9950a93b811ee02f, outHI: 0x0
+sdl :: offset: 0x736, out: 0x9950a93b811ee02f, outHI: 0x0
+sdl :: offset: 0x737, out: 0x9950a93b811ee02f, outHI: 0x0
+sdl :: offset: 0x738, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdl :: offset: 0x739, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdl :: offset: 0x73a, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdl :: offset: 0x73b, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdl :: offset: 0x73c, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdl :: offset: 0x73d, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdl :: offset: 0x73e, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdl :: offset: 0x73f, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdl :: offset: 0x740, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdl :: offset: 0x741, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdl :: offset: 0x742, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdl :: offset: 0x743, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdl :: offset: 0x744, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdl :: offset: 0x745, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdl :: offset: 0x746, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdl :: offset: 0x747, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdl :: offset: 0x748, out: 0x4ed6393df818af57, outHI: 0x0
+sdl :: offset: 0x749, out: 0x4ed6393df818af57, outHI: 0x0
+sdl :: offset: 0x74a, out: 0x4ed6393df818af57, outHI: 0x0
+sdl :: offset: 0x74b, out: 0x4ed6393df818af57, outHI: 0x0
+sdl :: offset: 0x74c, out: 0x4ed6393df818af57, outHI: 0x0
+sdl :: offset: 0x74d, out: 0x4ed6393df818af57, outHI: 0x0
+sdl :: offset: 0x74e, out: 0x4ed6393df818af57, outHI: 0x0
+sdl :: offset: 0x74f, out: 0x4ed6393df818af57, outHI: 0x0
+sdl :: offset: 0x750, out: 0xf22e90200236770a, outHI: 0x0
+sdl :: offset: 0x751, out: 0xf22e90200236770a, outHI: 0x0
+sdl :: offset: 0x752, out: 0xf22e90200236770a, outHI: 0x0
+sdl :: offset: 0x753, out: 0xf22e90200236770a, outHI: 0x0
+sdl :: offset: 0x754, out: 0xf22e90200236770a, outHI: 0x0
+sdl :: offset: 0x755, out: 0xf22e90200236770a, outHI: 0x0
+sdl :: offset: 0x756, out: 0xf22e90200236770a, outHI: 0x0
+sdl :: offset: 0x757, out: 0xf22e90200236770a, outHI: 0x0
+sdl :: offset: 0x758, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdl :: offset: 0x759, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdl :: offset: 0x75a, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdl :: offset: 0x75b, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdl :: offset: 0x75c, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdl :: offset: 0x75d, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdl :: offset: 0x75e, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdl :: offset: 0x75f, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdl :: offset: 0x760, out: 0xeed8f3518102315b, outHI: 0x0
+sdl :: offset: 0x761, out: 0xeed8f3518102315b, outHI: 0x0
+sdl :: offset: 0x762, out: 0xeed8f3518102315b, outHI: 0x0
+sdl :: offset: 0x763, out: 0xeed8f3518102315b, outHI: 0x0
+sdl :: offset: 0x764, out: 0xeed8f3518102315b, outHI: 0x0
+sdl :: offset: 0x765, out: 0xeed8f3518102315b, outHI: 0x0
+sdl :: offset: 0x766, out: 0xeed8f3518102315b, outHI: 0x0
+sdl :: offset: 0x767, out: 0xeed8f3518102315b, outHI: 0x0
+sdl :: offset: 0x768, out: 0xadafefb9995efd5e, outHI: 0x0
+sdl :: offset: 0x769, out: 0xadafefb9995efd5e, outHI: 0x0
+sdl :: offset: 0x76a, out: 0xadafefb9995efd5e, outHI: 0x0
+sdl :: offset: 0x76b, out: 0xadafefb9995efd5e, outHI: 0x0
+sdl :: offset: 0x76c, out: 0xadafefb9995efd5e, outHI: 0x0
+sdl :: offset: 0x76d, out: 0xadafefb9995efd5e, outHI: 0x0
+sdl :: offset: 0x76e, out: 0xadafefb9995efd5e, outHI: 0x0
+sdl :: offset: 0x76f, out: 0xadafefb9995efd5e, outHI: 0x0
+sdl :: offset: 0x770, out: 0x34061933eb253086, outHI: 0x0
+sdl :: offset: 0x771, out: 0x34061933eb253086, outHI: 0x0
+sdl :: offset: 0x772, out: 0x34061933eb253086, outHI: 0x0
+sdl :: offset: 0x773, out: 0x34061933eb253086, outHI: 0x0
+sdl :: offset: 0x774, out: 0x34061933eb253086, outHI: 0x0
+sdl :: offset: 0x775, out: 0x34061933eb253086, outHI: 0x0
+sdl :: offset: 0x776, out: 0x34061933eb253086, outHI: 0x0
+sdl :: offset: 0x777, out: 0x34061933eb253086, outHI: 0x0
+sdl :: offset: 0x778, out: 0x1748da264b4c52bc, outHI: 0x0
+sdl :: offset: 0x779, out: 0x1748da264b4c52bc, outHI: 0x0
+sdl :: offset: 0x77a, out: 0x1748da264b4c52bc, outHI: 0x0
+sdl :: offset: 0x77b, out: 0x1748da264b4c52bc, outHI: 0x0
+sdl :: offset: 0x77c, out: 0x1748da264b4c52bc, outHI: 0x0
+sdl :: offset: 0x77d, out: 0x1748da264b4c52bc, outHI: 0x0
+sdl :: offset: 0x77e, out: 0x1748da264b4c52bc, outHI: 0x0
+sdl :: offset: 0x77f, out: 0x1748da264b4c52bc, outHI: 0x0
+sdl :: offset: 0x780, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdl :: offset: 0x781, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdl :: offset: 0x782, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdl :: offset: 0x783, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdl :: offset: 0x784, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdl :: offset: 0x785, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdl :: offset: 0x786, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdl :: offset: 0x787, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdl :: offset: 0x788, out: 0xd00278c3c521d180, outHI: 0x0
+sdl :: offset: 0x789, out: 0xd00278c3c521d180, outHI: 0x0
+sdl :: offset: 0x78a, out: 0xd00278c3c521d180, outHI: 0x0
+sdl :: offset: 0x78b, out: 0xd00278c3c521d180, outHI: 0x0
+sdl :: offset: 0x78c, out: 0xd00278c3c521d180, outHI: 0x0
+sdl :: offset: 0x78d, out: 0xd00278c3c521d180, outHI: 0x0
+sdl :: offset: 0x78e, out: 0xd00278c3c521d180, outHI: 0x0
+sdl :: offset: 0x78f, out: 0xd00278c3c521d180, outHI: 0x0
+sdl :: offset: 0x790, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdl :: offset: 0x791, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdl :: offset: 0x792, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdl :: offset: 0x793, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdl :: offset: 0x794, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdl :: offset: 0x795, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdl :: offset: 0x796, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdl :: offset: 0x797, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdl :: offset: 0x798, out: 0x65fd698fddef9839, outHI: 0x0
+sdl :: offset: 0x799, out: 0x65fd698fddef9839, outHI: 0x0
+sdl :: offset: 0x79a, out: 0x65fd698fddef9839, outHI: 0x0
+sdl :: offset: 0x79b, out: 0x65fd698fddef9839, outHI: 0x0
+sdl :: offset: 0x79c, out: 0x65fd698fddef9839, outHI: 0x0
+sdl :: offset: 0x79d, out: 0x65fd698fddef9839, outHI: 0x0
+sdl :: offset: 0x79e, out: 0x65fd698fddef9839, outHI: 0x0
+sdl :: offset: 0x79f, out: 0x65fd698fddef9839, outHI: 0x0
+sdl :: offset: 0x7a0, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdl :: offset: 0x7a1, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdl :: offset: 0x7a2, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdl :: offset: 0x7a3, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdl :: offset: 0x7a4, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdl :: offset: 0x7a5, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdl :: offset: 0x7a6, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdl :: offset: 0x7a7, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdl :: offset: 0x7a8, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdl :: offset: 0x7a9, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdl :: offset: 0x7aa, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdl :: offset: 0x7ab, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdl :: offset: 0x7ac, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdl :: offset: 0x7ad, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdl :: offset: 0x7ae, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdl :: offset: 0x7af, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdl :: offset: 0x7b0, out: 0x372c209e42f3b58d, outHI: 0x0
+sdl :: offset: 0x7b1, out: 0x372c209e42f3b58d, outHI: 0x0
+sdl :: offset: 0x7b2, out: 0x372c209e42f3b58d, outHI: 0x0
+sdl :: offset: 0x7b3, out: 0x372c209e42f3b58d, outHI: 0x0
+sdl :: offset: 0x7b4, out: 0x372c209e42f3b58d, outHI: 0x0
+sdl :: offset: 0x7b5, out: 0x372c209e42f3b58d, outHI: 0x0
+sdl :: offset: 0x7b6, out: 0x372c209e42f3b58d, outHI: 0x0
+sdl :: offset: 0x7b7, out: 0x372c209e42f3b58d, outHI: 0x0
+sdl :: offset: 0x7b8, out: 0x30f870b7e122a83b, outHI: 0x0
+sdl :: offset: 0x7b9, out: 0x30f870b7e122a83b, outHI: 0x0
+sdl :: offset: 0x7ba, out: 0x30f870b7e122a83b, outHI: 0x0
+sdl :: offset: 0x7bb, out: 0x30f870b7e122a83b, outHI: 0x0
+sdl :: offset: 0x7bc, out: 0x30f870b7e122a83b, outHI: 0x0
+sdl :: offset: 0x7bd, out: 0x30f870b7e122a83b, outHI: 0x0
+sdl :: offset: 0x7be, out: 0x30f870b7e122a83b, outHI: 0x0
+sdl :: offset: 0x7bf, out: 0x30f870b7e122a83b, outHI: 0x0
+sdl :: offset: 0x7c0, out: 0x9e02de4b678930ec, outHI: 0x0
+sdl :: offset: 0x7c1, out: 0x9e02de4b678930ec, outHI: 0x0
+sdl :: offset: 0x7c2, out: 0x9e02de4b678930ec, outHI: 0x0
+sdl :: offset: 0x7c3, out: 0x9e02de4b678930ec, outHI: 0x0
+sdl :: offset: 0x7c4, out: 0x9e02de4b678930ec, outHI: 0x0
+sdl :: offset: 0x7c5, out: 0x9e02de4b678930ec, outHI: 0x0
+sdl :: offset: 0x7c6, out: 0x9e02de4b678930ec, outHI: 0x0
+sdl :: offset: 0x7c7, out: 0x9e02de4b678930ec, outHI: 0x0
+sdl :: offset: 0x7c8, out: 0xcd61a8639826631e, outHI: 0x0
+sdl :: offset: 0x7c9, out: 0xcd61a8639826631e, outHI: 0x0
+sdl :: offset: 0x7ca, out: 0xcd61a8639826631e, outHI: 0x0
+sdl :: offset: 0x7cb, out: 0xcd61a8639826631e, outHI: 0x0
+sdl :: offset: 0x7cc, out: 0xcd61a8639826631e, outHI: 0x0
+sdl :: offset: 0x7cd, out: 0xcd61a8639826631e, outHI: 0x0
+sdl :: offset: 0x7ce, out: 0xcd61a8639826631e, outHI: 0x0
+sdl :: offset: 0x7cf, out: 0xcd61a8639826631e, outHI: 0x0
+sdl :: offset: 0x7d0, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdl :: offset: 0x7d1, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdl :: offset: 0x7d2, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdl :: offset: 0x7d3, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdl :: offset: 0x7d4, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdl :: offset: 0x7d5, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdl :: offset: 0x7d6, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdl :: offset: 0x7d7, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdl :: offset: 0x7d8, out: 0x58ec644d6481af17, outHI: 0x0
+sdl :: offset: 0x7d9, out: 0x58ec644d6481af17, outHI: 0x0
+sdl :: offset: 0x7da, out: 0x58ec644d6481af17, outHI: 0x0
+sdl :: offset: 0x7db, out: 0x58ec644d6481af17, outHI: 0x0
+sdl :: offset: 0x7dc, out: 0x58ec644d6481af17, outHI: 0x0
+sdl :: offset: 0x7dd, out: 0x58ec644d6481af17, outHI: 0x0
+sdl :: offset: 0x7de, out: 0x58ec644d6481af17, outHI: 0x0
+sdl :: offset: 0x7df, out: 0x58ec644d6481af17, outHI: 0x0
+sdl :: offset: 0x7e0, out: 0x680cce5fb236b666, outHI: 0x0
+sdl :: offset: 0x7e1, out: 0x680cce5fb236b666, outHI: 0x0
+sdl :: offset: 0x7e2, out: 0x680cce5fb236b666, outHI: 0x0
+sdl :: offset: 0x7e3, out: 0x680cce5fb236b666, outHI: 0x0
+sdl :: offset: 0x7e4, out: 0x680cce5fb236b666, outHI: 0x0
+sdl :: offset: 0x7e5, out: 0x680cce5fb236b666, outHI: 0x0
+sdl :: offset: 0x7e6, out: 0x680cce5fb236b666, outHI: 0x0
+sdl :: offset: 0x7e7, out: 0x680cce5fb236b666, outHI: 0x0
+sdl :: offset: 0x7e8, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdl :: offset: 0x7e9, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdl :: offset: 0x7ea, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdl :: offset: 0x7eb, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdl :: offset: 0x7ec, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdl :: offset: 0x7ed, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdl :: offset: 0x7ee, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdl :: offset: 0x7ef, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdl :: offset: 0x7f0, out: 0x614d9b445f12236b, outHI: 0x0
+sdl :: offset: 0x7f1, out: 0x614d9b445f12236b, outHI: 0x0
+sdl :: offset: 0x7f2, out: 0x614d9b445f12236b, outHI: 0x0
+sdl :: offset: 0x7f3, out: 0x614d9b445f12236b, outHI: 0x0
+sdl :: offset: 0x7f4, out: 0x614d9b445f12236b, outHI: 0x0
+sdl :: offset: 0x7f5, out: 0x614d9b445f12236b, outHI: 0x0
+sdl :: offset: 0x7f6, out: 0x614d9b445f12236b, outHI: 0x0
+sdl :: offset: 0x7f7, out: 0x614d9b445f12236b, outHI: 0x0
+sdr :: offset: 0x8, out: 0x1300000000000000, outHI: 0x0
+sdr :: offset: 0x9, out: 0x1397000000000000, outHI: 0x0
+sdr :: offset: 0xa, out: 0x13976d0000000000, outHI: 0x0
+sdr :: offset: 0xb, out: 0x13976d6e00000000, outHI: 0x0
+sdr :: offset: 0xc, out: 0x13976d6e9a000000, outHI: 0x0
+sdr :: offset: 0xd, out: 0x13976d6e9ac30000, outHI: 0x0
+sdr :: offset: 0xe, out: 0x13976d6e9ac31500, outHI: 0x0
+sdr :: offset: 0xf, out: 0x13976d6e9ac31510, outHI: 0x0
+sdr :: offset: 0x10, out: 0xf300000000000000, outHI: 0x0
+sdr :: offset: 0x11, out: 0xf3b7000000000000, outHI: 0x0
+sdr :: offset: 0x12, out: 0xf3b7740000000000, outHI: 0x0
+sdr :: offset: 0x13, out: 0xf3b7746d00000000, outHI: 0x0
+sdr :: offset: 0x14, out: 0xf3b7746d77000000, outHI: 0x0
+sdr :: offset: 0x15, out: 0xf3b7746d775a0000, outHI: 0x0
+sdr :: offset: 0x16, out: 0xf3b7746d775ad600, outHI: 0x0
+sdr :: offset: 0x17, out: 0xf3b7746d775ad6a5, outHI: 0x0
+sdr :: offset: 0x18, out: 0xfb00000000000000, outHI: 0x0
+sdr :: offset: 0x19, out: 0xfb42000000000000, outHI: 0x0
+sdr :: offset: 0x1a, out: 0xfb42b00000000000, outHI: 0x0
+sdr :: offset: 0x1b, out: 0xfb42b0c000000000, outHI: 0x0
+sdr :: offset: 0x1c, out: 0xfb42b0c0a2000000, outHI: 0x0
+sdr :: offset: 0x1d, out: 0xfb42b0c0a2860000, outHI: 0x0
+sdr :: offset: 0x1e, out: 0xfb42b0c0a2867700, outHI: 0x0
+sdr :: offset: 0x1f, out: 0xfb42b0c0a28677b5, outHI: 0x0
+sdr :: offset: 0x20, out: 0x200000000000000, outHI: 0x0
+sdr :: offset: 0x21, out: 0x22a000000000000, outHI: 0x0
+sdr :: offset: 0x22, out: 0x22aa80000000000, outHI: 0x0
+sdr :: offset: 0x23, out: 0x22aa89d00000000, outHI: 0x0
+sdr :: offset: 0x24, out: 0x22aa89d31000000, outHI: 0x0
+sdr :: offset: 0x25, out: 0x22aa89d319e0000, outHI: 0x0
+sdr :: offset: 0x26, out: 0x22aa89d319e3c00, outHI: 0x0
+sdr :: offset: 0x27, out: 0x22aa89d319e3c30, outHI: 0x0
+sdr :: offset: 0x28, out: 0xad00000000000000, outHI: 0x0
+sdr :: offset: 0x29, out: 0xad1f000000000000, outHI: 0x0
+sdr :: offset: 0x2a, out: 0xad1f300000000000, outHI: 0x0
+sdr :: offset: 0x2b, out: 0xad1f308e00000000, outHI: 0x0
+sdr :: offset: 0x2c, out: 0xad1f308ec3000000, outHI: 0x0
+sdr :: offset: 0x2d, out: 0xad1f308ec3770000, outHI: 0x0
+sdr :: offset: 0x2e, out: 0xad1f308ec377fb00, outHI: 0x0
+sdr :: offset: 0x2f, out: 0xad1f308ec377fb41, outHI: 0x0
+sdr :: offset: 0x30, out: 0x3d00000000000000, outHI: 0x0
+sdr :: offset: 0x31, out: 0x3d7a000000000000, outHI: 0x0
+sdr :: offset: 0x32, out: 0x3d7aa00000000000, outHI: 0x0
+sdr :: offset: 0x33, out: 0x3d7aa04200000000, outHI: 0x0
+sdr :: offset: 0x34, out: 0x3d7aa04213000000, outHI: 0x0
+sdr :: offset: 0x35, out: 0x3d7aa04213c70000, outHI: 0x0
+sdr :: offset: 0x36, out: 0x3d7aa04213c76000, outHI: 0x0
+sdr :: offset: 0x37, out: 0x3d7aa04213c760e4, outHI: 0x0
+sdr :: offset: 0x38, out: 0xf700000000000000, outHI: 0x0
+sdr :: offset: 0x39, out: 0xf79e000000000000, outHI: 0x0
+sdr :: offset: 0x3a, out: 0xf79e700000000000, outHI: 0x0
+sdr :: offset: 0x3b, out: 0xf79e705c00000000, outHI: 0x0
+sdr :: offset: 0x3c, out: 0xf79e705cc5000000, outHI: 0x0
+sdr :: offset: 0x3d, out: 0xf79e705cc51a0000, outHI: 0x0
+sdr :: offset: 0x3e, out: 0xf79e705cc51ad800, outHI: 0x0
+sdr :: offset: 0x3f, out: 0xf79e705cc51ad8dc, outHI: 0x0
+sdr :: offset: 0x40, out: 0xa000000000000000, outHI: 0x0
+sdr :: offset: 0x41, out: 0xa04b000000000000, outHI: 0x0
+sdr :: offset: 0x42, out: 0xa04b3d0000000000, outHI: 0x0
+sdr :: offset: 0x43, out: 0xa04b3dda00000000, outHI: 0x0
+sdr :: offset: 0x44, out: 0xa04b3dda86000000, outHI: 0x0
+sdr :: offset: 0x45, out: 0xa04b3dda86960000, outHI: 0x0
+sdr :: offset: 0x46, out: 0xa04b3dda86961500, outHI: 0x0
+sdr :: offset: 0x47, out: 0xa04b3dda869615a6, outHI: 0x0
+sdr :: offset: 0x48, out: 0xd00000000000000, outHI: 0x0
+sdr :: offset: 0x49, out: 0xd05000000000000, outHI: 0x0
+sdr :: offset: 0x4a, out: 0xd05e70000000000, outHI: 0x0
+sdr :: offset: 0x4b, out: 0xd05e7a400000000, outHI: 0x0
+sdr :: offset: 0x4c, out: 0xd05e7a4dd000000, outHI: 0x0
+sdr :: offset: 0x4d, out: 0xd05e7a4dd630000, outHI: 0x0
+sdr :: offset: 0x4e, out: 0xd05e7a4dd635300, outHI: 0x0
+sdr :: offset: 0x4f, out: 0xd05e7a4dd6353d4, outHI: 0x0
+sdr :: offset: 0x50, out: 0x1d00000000000000, outHI: 0x0
+sdr :: offset: 0x51, out: 0x1d3a000000000000, outHI: 0x0
+sdr :: offset: 0x52, out: 0x1d3af30000000000, outHI: 0x0
+sdr :: offset: 0x53, out: 0x1d3af35a00000000, outHI: 0x0
+sdr :: offset: 0x54, out: 0x1d3af35a9d000000, outHI: 0x0
+sdr :: offset: 0x55, out: 0x1d3af35a9dc40000, outHI: 0x0
+sdr :: offset: 0x56, out: 0x1d3af35a9dc40b00, outHI: 0x0
+sdr :: offset: 0x57, out: 0x1d3af35a9dc40bd4, outHI: 0x0
+sdr :: offset: 0x58, out: 0x1300000000000000, outHI: 0x0
+sdr :: offset: 0x59, out: 0x1347000000000000, outHI: 0x0
+sdr :: offset: 0x5a, out: 0x1347f50000000000, outHI: 0x0
+sdr :: offset: 0x5b, out: 0x1347f50500000000, outHI: 0x0
+sdr :: offset: 0x5c, out: 0x1347f50556000000, outHI: 0x0
+sdr :: offset: 0x5d, out: 0x1347f505569a0000, outHI: 0x0
+sdr :: offset: 0x5e, out: 0x1347f505569a0800, outHI: 0x0
+sdr :: offset: 0x5f, out: 0x1347f505569a08a1, outHI: 0x0
+sdr :: offset: 0x60, out: 0x8000000000000000, outHI: 0x0
+sdr :: offset: 0x61, out: 0x8095000000000000, outHI: 0x0
+sdr :: offset: 0x62, out: 0x8095640000000000, outHI: 0x0
+sdr :: offset: 0x63, out: 0x809564b700000000, outHI: 0x0
+sdr :: offset: 0x64, out: 0x809564b77f000000, outHI: 0x0
+sdr :: offset: 0x65, out: 0x809564b77fd60000, outHI: 0x0
+sdr :: offset: 0x66, out: 0x809564b77fd6d200, outHI: 0x0
+sdr :: offset: 0x67, out: 0x809564b77fd6d204, outHI: 0x0
+sdr :: offset: 0x68, out: 0xf00000000000000, outHI: 0x0
+sdr :: offset: 0x69, out: 0xfce000000000000, outHI: 0x0
+sdr :: offset: 0x6a, out: 0xfcebc0000000000, outHI: 0x0
+sdr :: offset: 0x6b, out: 0xfcebc8200000000, outHI: 0x0
+sdr :: offset: 0x6c, out: 0xfcebc8279000000, outHI: 0x0
+sdr :: offset: 0x6d, out: 0xfcebc8279b20000, outHI: 0x0
+sdr :: offset: 0x6e, out: 0xfcebc8279b2c700, outHI: 0x0
+sdr :: offset: 0x6f, out: 0xfcebc8279b2c76b, outHI: 0x0
+sdr :: offset: 0x70, out: 0xbe00000000000000, outHI: 0x0
+sdr :: offset: 0x71, out: 0xbeb5000000000000, outHI: 0x0
+sdr :: offset: 0x72, out: 0xbeb5030000000000, outHI: 0x0
+sdr :: offset: 0x73, out: 0xbeb5034c00000000, outHI: 0x0
+sdr :: offset: 0x74, out: 0xbeb5034c2f000000, outHI: 0x0
+sdr :: offset: 0x75, out: 0xbeb5034c2f1f0000, outHI: 0x0
+sdr :: offset: 0x76, out: 0xbeb5034c2f1f1800, outHI: 0x0
+sdr :: offset: 0x77, out: 0xbeb5034c2f1f18e4, outHI: 0x0
+sdr :: offset: 0x78, out: 0xc700000000000000, outHI: 0x0
+sdr :: offset: 0x79, out: 0xc794000000000000, outHI: 0x0
+sdr :: offset: 0x7a, out: 0xc794ff0000000000, outHI: 0x0
+sdr :: offset: 0x7b, out: 0xc794ff5200000000, outHI: 0x0
+sdr :: offset: 0x7c, out: 0xc794ff52fc000000, outHI: 0x0
+sdr :: offset: 0x7d, out: 0xc794ff52fc810000, outHI: 0x0
+sdr :: offset: 0x7e, out: 0xc794ff52fc81af00, outHI: 0x0
+sdr :: offset: 0x7f, out: 0xc794ff52fc81afa7, outHI: 0x0
+sdr :: offset: 0x80, out: 0x9700000000000000, outHI: 0x0
+sdr :: offset: 0x81, out: 0x9731000000000000, outHI: 0x0
+sdr :: offset: 0x82, out: 0x9731d80000000000, outHI: 0x0
+sdr :: offset: 0x83, out: 0x9731d8d900000000, outHI: 0x0
+sdr :: offset: 0x84, out: 0x9731d8d916000000, outHI: 0x0
+sdr :: offset: 0x85, out: 0x9731d8d9166d0000, outHI: 0x0
+sdr :: offset: 0x86, out: 0x9731d8d9166dfc00, outHI: 0x0
+sdr :: offset: 0x87, out: 0x9731d8d9166dfc50, outHI: 0x0
+sdr :: offset: 0x88, out: 0xea00000000000000, outHI: 0x0
+sdr :: offset: 0x89, out: 0xea36000000000000, outHI: 0x0
+sdr :: offset: 0x8a, out: 0xea36540000000000, outHI: 0x0
+sdr :: offset: 0x8b, out: 0xea36549b00000000, outHI: 0x0
+sdr :: offset: 0x8c, out: 0xea36549bd6000000, outHI: 0x0
+sdr :: offset: 0x8d, out: 0xea36549bd6780000, outHI: 0x0
+sdr :: offset: 0x8e, out: 0xea36549bd678e800, outHI: 0x0
+sdr :: offset: 0x8f, out: 0xea36549bd678e895, outHI: 0x0
+sdr :: offset: 0x90, out: 0xb100000000000000, outHI: 0x0
+sdr :: offset: 0x91, out: 0xb185000000000000, outHI: 0x0
+sdr :: offset: 0x92, out: 0xb185e00000000000, outHI: 0x0
+sdr :: offset: 0x93, out: 0xb185e0a600000000, outHI: 0x0
+sdr :: offset: 0x94, out: 0xb185e0a631000000, outHI: 0x0
+sdr :: offset: 0x95, out: 0xb185e0a6319b0000, outHI: 0x0
+sdr :: offset: 0x96, out: 0xb185e0a6319b6300, outHI: 0x0
+sdr :: offset: 0x97, out: 0xb185e0a6319b6325, outHI: 0x0
+sdr :: offset: 0x98, out: 0x9b00000000000000, outHI: 0x0
+sdr :: offset: 0x99, out: 0x9b55000000000000, outHI: 0x0
+sdr :: offset: 0x9a, out: 0x9b556b0000000000, outHI: 0x0
+sdr :: offset: 0x9b, out: 0x9b556b3e00000000, outHI: 0x0
+sdr :: offset: 0x9c, out: 0x9b556b3eca000000, outHI: 0x0
+sdr :: offset: 0x9d, out: 0x9b556b3ecacc0000, outHI: 0x0
+sdr :: offset: 0x9e, out: 0x9b556b3ecaccf100, outHI: 0x0
+sdr :: offset: 0x9f, out: 0x9b556b3ecaccf17a, outHI: 0x0
+sdr :: offset: 0xa0, out: 0xc500000000000000, outHI: 0x0
+sdr :: offset: 0xa1, out: 0xc5b4000000000000, outHI: 0x0
+sdr :: offset: 0xa2, out: 0xc5b42f0000000000, outHI: 0x0
+sdr :: offset: 0xa3, out: 0xc5b42f5f00000000, outHI: 0x0
+sdr :: offset: 0xa4, out: 0xc5b42f5fc5000000, outHI: 0x0
+sdr :: offset: 0xa5, out: 0xc5b42f5fc5810000, outHI: 0x0
+sdr :: offset: 0xa6, out: 0xc5b42f5fc581ee00, outHI: 0x0
+sdr :: offset: 0xa7, out: 0xc5b42f5fc581eea0, outHI: 0x0
+sdr :: offset: 0xa8, out: 0xfb00000000000000, outHI: 0x0
+sdr :: offset: 0xa9, out: 0xfb25000000000000, outHI: 0x0
+sdr :: offset: 0xaa, out: 0xfb25b50000000000, outHI: 0x0
+sdr :: offset: 0xab, out: 0xfb25b50f00000000, outHI: 0x0
+sdr :: offset: 0xac, out: 0xfb25b50fec000000, outHI: 0x0
+sdr :: offset: 0xad, out: 0xfb25b50fec140000, outHI: 0x0
+sdr :: offset: 0xae, out: 0xfb25b50fec146800, outHI: 0x0
+sdr :: offset: 0xaf, out: 0xfb25b50fec14682d, outHI: 0x0
+sdr :: offset: 0xb0, out: 0x9700000000000000, outHI: 0x0
+sdr :: offset: 0xb1, out: 0x97fc000000000000, outHI: 0x0
+sdr :: offset: 0xb2, out: 0x97fc930000000000, outHI: 0x0
+sdr :: offset: 0xb3, out: 0x97fc93c500000000, outHI: 0x0
+sdr :: offset: 0xb4, out: 0x97fc93c513000000, outHI: 0x0
+sdr :: offset: 0xb5, out: 0x97fc93c5132c0000, outHI: 0x0
+sdr :: offset: 0xb6, out: 0x97fc93c5132cfb00, outHI: 0x0
+sdr :: offset: 0xb7, out: 0x97fc93c5132cfb08, outHI: 0x0
+sdr :: offset: 0xb8, out: 0x7a00000000000000, outHI: 0x0
+sdr :: offset: 0xb9, out: 0x7a3c000000000000, outHI: 0x0
+sdr :: offset: 0xba, out: 0x7a3c2c0000000000, outHI: 0x0
+sdr :: offset: 0xbb, out: 0x7a3c2cd900000000, outHI: 0x0
+sdr :: offset: 0xbc, out: 0x7a3c2cd9a9000000, outHI: 0x0
+sdr :: offset: 0xbd, out: 0x7a3c2cd9a9cd0000, outHI: 0x0
+sdr :: offset: 0xbe, out: 0x7a3c2cd9a9cda200, outHI: 0x0
+sdr :: offset: 0xbf, out: 0x7a3c2cd9a9cda207, outHI: 0x0
+sdr :: offset: 0xc0, out: 0x6600000000000000, outHI: 0x0
+sdr :: offset: 0xc1, out: 0x6617000000000000, outHI: 0x0
+sdr :: offset: 0xc2, out: 0x6617910000000000, outHI: 0x0
+sdr :: offset: 0xc3, out: 0x6617917200000000, outHI: 0x0
+sdr :: offset: 0xc4, out: 0x661791722a000000, outHI: 0x0
+sdr :: offset: 0xc5, out: 0x661791722a7d0000, outHI: 0x0
+sdr :: offset: 0xc6, out: 0x661791722a7d7200, outHI: 0x0
+sdr :: offset: 0xc7, out: 0x661791722a7d72da, outHI: 0x0
+sdr :: offset: 0xc8, out: 0x3e00000000000000, outHI: 0x0
+sdr :: offset: 0xc9, out: 0x3e08000000000000, outHI: 0x0
+sdr :: offset: 0xca, out: 0x3e087c0000000000, outHI: 0x0
+sdr :: offset: 0xcb, out: 0x3e087cc900000000, outHI: 0x0
+sdr :: offset: 0xcc, out: 0x3e087cc9d1000000, outHI: 0x0
+sdr :: offset: 0xcd, out: 0x3e087cc9d1930000, outHI: 0x0
+sdr :: offset: 0xce, out: 0x3e087cc9d193ce00, outHI: 0x0
+sdr :: offset: 0xcf, out: 0x3e087cc9d193ce24, outHI: 0x0
+sdr :: offset: 0xd0, out: 0xad00000000000000, outHI: 0x0
+sdr :: offset: 0xd1, out: 0xad1d000000000000, outHI: 0x0
+sdr :: offset: 0xd2, out: 0xad1d2a0000000000, outHI: 0x0
+sdr :: offset: 0xd3, out: 0xad1d2a7500000000, outHI: 0x0
+sdr :: offset: 0xd4, out: 0xad1d2a7570000000, outHI: 0x0
+sdr :: offset: 0xd5, out: 0xad1d2a7570380000, outHI: 0x0
+sdr :: offset: 0xd6, out: 0xad1d2a7570389800, outHI: 0x0
+sdr :: offset: 0xd7, out: 0xad1d2a757038984e, outHI: 0x0
+sdr :: offset: 0xd8, out: 0xd200000000000000, outHI: 0x0
+sdr :: offset: 0xd9, out: 0xd2d0000000000000, outHI: 0x0
+sdr :: offset: 0xda, out: 0xd2d0d00000000000, outHI: 0x0
+sdr :: offset: 0xdb, out: 0xd2d0d07000000000, outHI: 0x0
+sdr :: offset: 0xdc, out: 0xd2d0d070db000000, outHI: 0x0
+sdr :: offset: 0xdd, out: 0xd2d0d070db710000, outHI: 0x0
+sdr :: offset: 0xde, out: 0xd2d0d070db710c00, outHI: 0x0
+sdr :: offset: 0xdf, out: 0xd2d0d070db710cd0, outHI: 0x0
+sdr :: offset: 0xe0, out: 0x3600000000000000, outHI: 0x0
+sdr :: offset: 0xe1, out: 0x3639000000000000, outHI: 0x0
+sdr :: offset: 0xe2, out: 0x3639c20000000000, outHI: 0x0
+sdr :: offset: 0xe3, out: 0x3639c21c00000000, outHI: 0x0
+sdr :: offset: 0xe4, out: 0x3639c21c7d000000, outHI: 0x0
+sdr :: offset: 0xe5, out: 0x3639c21c7d030000, outHI: 0x0
+sdr :: offset: 0xe6, out: 0x3639c21c7d034100, outHI: 0x0
+sdr :: offset: 0xe7, out: 0x3639c21c7d034156, outHI: 0x0
+sdr :: offset: 0xe8, out: 0x400000000000000, outHI: 0x0
+sdr :: offset: 0xe9, out: 0x48e000000000000, outHI: 0x0
+sdr :: offset: 0xea, out: 0x48e940000000000, outHI: 0x0
+sdr :: offset: 0xeb, out: 0x48e94b700000000, outHI: 0x0
+sdr :: offset: 0xec, out: 0x48e94b7af000000, outHI: 0x0
+sdr :: offset: 0xed, out: 0x48e94b7af8e0000, outHI: 0x0
+sdr :: offset: 0xee, out: 0x48e94b7af8ecc00, outHI: 0x0
+sdr :: offset: 0xef, out: 0x48e94b7af8ecc31, outHI: 0x0
+sdr :: offset: 0xf0, out: 0xce00000000000000, outHI: 0x0
+sdr :: offset: 0xf1, out: 0xce24000000000000, outHI: 0x0
+sdr :: offset: 0xf2, out: 0xce24eb0000000000, outHI: 0x0
+sdr :: offset: 0xf3, out: 0xce24eb6a00000000, outHI: 0x0
+sdr :: offset: 0xf4, out: 0xce24eb6a8d000000, outHI: 0x0
+sdr :: offset: 0xf5, out: 0xce24eb6a8d1c0000, outHI: 0x0
+sdr :: offset: 0xf6, out: 0xce24eb6a8d1ce700, outHI: 0x0
+sdr :: offset: 0xf7, out: 0xce24eb6a8d1ce767, outHI: 0x0
+sdr :: offset: 0xf8, out: 0x4f00000000000000, outHI: 0x0
+sdr :: offset: 0xf9, out: 0x4f2f000000000000, outHI: 0x0
+sdr :: offset: 0xfa, out: 0x4f2f390000000000, outHI: 0x0
+sdr :: offset: 0xfb, out: 0x4f2f394500000000, outHI: 0x0
+sdr :: offset: 0xfc, out: 0x4f2f394544000000, outHI: 0x0
+sdr :: offset: 0xfd, out: 0x4f2f394544120000, outHI: 0x0
+sdr :: offset: 0xfe, out: 0x4f2f39454412d600, outHI: 0x0
+sdr :: offset: 0xff, out: 0x4f2f39454412d6e4, outHI: 0x0
+sdr :: offset: 0x100, out: 0xa700000000000000, outHI: 0x0
+sdr :: offset: 0x101, out: 0xa726000000000000, outHI: 0x0
+sdr :: offset: 0x102, out: 0xa726080000000000, outHI: 0x0
+sdr :: offset: 0x103, out: 0xa72608c200000000, outHI: 0x0
+sdr :: offset: 0x104, out: 0xa72608c2b7000000, outHI: 0x0
+sdr :: offset: 0x105, out: 0xa72608c2b7560000, outHI: 0x0
+sdr :: offset: 0x106, out: 0xa72608c2b756da00, outHI: 0x0
+sdr :: offset: 0x107, out: 0xa72608c2b756da4c, outHI: 0x0
+sdr :: offset: 0x108, out: 0x5400000000000000, outHI: 0x0
+sdr :: offset: 0x109, out: 0x5490000000000000, outHI: 0x0
+sdr :: offset: 0x10a, out: 0x5490010000000000, outHI: 0x0
+sdr :: offset: 0x10b, out: 0x5490010200000000, outHI: 0x0
+sdr :: offset: 0x10c, out: 0x54900102da000000, outHI: 0x0
+sdr :: offset: 0x10d, out: 0x54900102dac80000, outHI: 0x0
+sdr :: offset: 0x10e, out: 0x54900102dac8d700, outHI: 0x0
+sdr :: offset: 0x10f, out: 0x54900102dac8d725, outHI: 0x0
+sdr :: offset: 0x110, out: 0x2f00000000000000, outHI: 0x0
+sdr :: offset: 0x111, out: 0x2fc8000000000000, outHI: 0x0
+sdr :: offset: 0x112, out: 0x2fc8900000000000, outHI: 0x0
+sdr :: offset: 0x113, out: 0x2fc890d500000000, outHI: 0x0
+sdr :: offset: 0x114, out: 0x2fc890d5f1000000, outHI: 0x0
+sdr :: offset: 0x115, out: 0x2fc890d5f1f20000, outHI: 0x0
+sdr :: offset: 0x116, out: 0x2fc890d5f1f2ef00, outHI: 0x0
+sdr :: offset: 0x117, out: 0x2fc890d5f1f2efa4, outHI: 0x0
+sdr :: offset: 0x118, out: 0xf700000000000000, outHI: 0x0
+sdr :: offset: 0x119, out: 0xf7ed000000000000, outHI: 0x0
+sdr :: offset: 0x11a, out: 0xf7ed500000000000, outHI: 0x0
+sdr :: offset: 0x11b, out: 0xf7ed500500000000, outHI: 0x0
+sdr :: offset: 0x11c, out: 0xf7ed5005cb000000, outHI: 0x0
+sdr :: offset: 0x11d, out: 0xf7ed5005cbc80000, outHI: 0x0
+sdr :: offset: 0x11e, out: 0xf7ed5005cbc8b000, outHI: 0x0
+sdr :: offset: 0x11f, out: 0xf7ed5005cbc8b0a2, outHI: 0x0
+sdr :: offset: 0x120, out: 0x1400000000000000, outHI: 0x0
+sdr :: offset: 0x121, out: 0x1431000000000000, outHI: 0x0
+sdr :: offset: 0x122, out: 0x1431470000000000, outHI: 0x0
+sdr :: offset: 0x123, out: 0x1431479100000000, outHI: 0x0
+sdr :: offset: 0x124, out: 0x1431479189000000, outHI: 0x0
+sdr :: offset: 0x125, out: 0x1431479189590000, outHI: 0x0
+sdr :: offset: 0x126, out: 0x1431479189599100, outHI: 0x0
+sdr :: offset: 0x127, out: 0x1431479189599113, outHI: 0x0
+sdr :: offset: 0x128, out: 0x6c00000000000000, outHI: 0x0
+sdr :: offset: 0x129, out: 0x6cc6000000000000, outHI: 0x0
+sdr :: offset: 0x12a, out: 0x6cc6ee0000000000, outHI: 0x0
+sdr :: offset: 0x12b, out: 0x6cc6eecf00000000, outHI: 0x0
+sdr :: offset: 0x12c, out: 0x6cc6eecff9000000, outHI: 0x0
+sdr :: offset: 0x12d, out: 0x6cc6eecff99a0000, outHI: 0x0
+sdr :: offset: 0x12e, out: 0x6cc6eecff99a2f00, outHI: 0x0
+sdr :: offset: 0x12f, out: 0x6cc6eecff99a2fb6, outHI: 0x0
+sdr :: offset: 0x130, out: 0xf300000000000000, outHI: 0x0
+sdr :: offset: 0x131, out: 0xf3a8000000000000, outHI: 0x0
+sdr :: offset: 0x132, out: 0xf3a8090000000000, outHI: 0x0
+sdr :: offset: 0x133, out: 0xf3a8095200000000, outHI: 0x0
+sdr :: offset: 0x134, out: 0xf3a8095212000000, outHI: 0x0
+sdr :: offset: 0x135, out: 0xf3a8095212380000, outHI: 0x0
+sdr :: offset: 0x136, out: 0xf3a8095212388900, outHI: 0x0
+sdr :: offset: 0x137, out: 0xf3a8095212388952, outHI: 0x0
+sdr :: offset: 0x138, out: 0x7000000000000000, outHI: 0x0
+sdr :: offset: 0x139, out: 0x7087000000000000, outHI: 0x0
+sdr :: offset: 0x13a, out: 0x7087750000000000, outHI: 0x0
+sdr :: offset: 0x13b, out: 0x7087750a00000000, outHI: 0x0
+sdr :: offset: 0x13c, out: 0x7087750a04000000, outHI: 0x0
+sdr :: offset: 0x13d, out: 0x7087750a04ad0000, outHI: 0x0
+sdr :: offset: 0x13e, out: 0x7087750a04ad7600, outHI: 0x0
+sdr :: offset: 0x13f, out: 0x7087750a04ad7650, outHI: 0x0
+sdr :: offset: 0x140, out: 0x4000000000000000, outHI: 0x0
+sdr :: offset: 0x141, out: 0x402c000000000000, outHI: 0x0
+sdr :: offset: 0x142, out: 0x402c3d0000000000, outHI: 0x0
+sdr :: offset: 0x143, out: 0x402c3de800000000, outHI: 0x0
+sdr :: offset: 0x144, out: 0x402c3de85e000000, outHI: 0x0
+sdr :: offset: 0x145, out: 0x402c3de85e840000, outHI: 0x0
+sdr :: offset: 0x146, out: 0x402c3de85e84bb00, outHI: 0x0
+sdr :: offset: 0x147, out: 0x402c3de85e84bb5a, outHI: 0x0
+sdr :: offset: 0x148, out: 0x8300000000000000, outHI: 0x0
+sdr :: offset: 0x149, out: 0x83ae000000000000, outHI: 0x0
+sdr :: offset: 0x14a, out: 0x83ae6a0000000000, outHI: 0x0
+sdr :: offset: 0x14b, out: 0x83ae6aff00000000, outHI: 0x0
+sdr :: offset: 0x14c, out: 0x83ae6aff8f000000, outHI: 0x0
+sdr :: offset: 0x14d, out: 0x83ae6aff8fc50000, outHI: 0x0
+sdr :: offset: 0x14e, out: 0x83ae6aff8fc50600, outHI: 0x0
+sdr :: offset: 0x14f, out: 0x83ae6aff8fc506aa, outHI: 0x0
+sdr :: offset: 0x150, out: 0x6700000000000000, outHI: 0x0
+sdr :: offset: 0x151, out: 0x67c0000000000000, outHI: 0x0
+sdr :: offset: 0x152, out: 0x67c0710000000000, outHI: 0x0
+sdr :: offset: 0x153, out: 0x67c0711200000000, outHI: 0x0
+sdr :: offset: 0x154, out: 0x67c07112dd000000, outHI: 0x0
+sdr :: offset: 0x155, out: 0x67c07112dd600000, outHI: 0x0
+sdr :: offset: 0x156, out: 0x67c07112dd60ed00, outHI: 0x0
+sdr :: offset: 0x157, out: 0x67c07112dd60ed5e, outHI: 0x0
+sdr :: offset: 0x158, out: 0xe300000000000000, outHI: 0x0
+sdr :: offset: 0x159, out: 0xe3c4000000000000, outHI: 0x0
+sdr :: offset: 0x15a, out: 0xe3c4c70000000000, outHI: 0x0
+sdr :: offset: 0x15b, out: 0xe3c4c77000000000, outHI: 0x0
+sdr :: offset: 0x15c, out: 0xe3c4c770f6000000, outHI: 0x0
+sdr :: offset: 0x15d, out: 0xe3c4c770f6300000, outHI: 0x0
+sdr :: offset: 0x15e, out: 0xe3c4c770f630dc00, outHI: 0x0
+sdr :: offset: 0x15f, out: 0xe3c4c770f630dcca, outHI: 0x0
+sdr :: offset: 0x160, out: 0x5a00000000000000, outHI: 0x0
+sdr :: offset: 0x161, out: 0x5adf000000000000, outHI: 0x0
+sdr :: offset: 0x162, out: 0x5adfec0000000000, outHI: 0x0
+sdr :: offset: 0x163, out: 0x5adfec2b00000000, outHI: 0x0
+sdr :: offset: 0x164, out: 0x5adfec2b23000000, outHI: 0x0
+sdr :: offset: 0x165, out: 0x5adfec2b23830000, outHI: 0x0
+sdr :: offset: 0x166, out: 0x5adfec2b2383cd00, outHI: 0x0
+sdr :: offset: 0x167, out: 0x5adfec2b2383cd52, outHI: 0x0
+sdr :: offset: 0x168, out: 0x7700000000000000, outHI: 0x0
+sdr :: offset: 0x169, out: 0x77d3000000000000, outHI: 0x0
+sdr :: offset: 0x16a, out: 0x77d3ad0000000000, outHI: 0x0
+sdr :: offset: 0x16b, out: 0x77d3adba00000000, outHI: 0x0
+sdr :: offset: 0x16c, out: 0x77d3adba26000000, outHI: 0x0
+sdr :: offset: 0x16d, out: 0x77d3adba260f0000, outHI: 0x0
+sdr :: offset: 0x16e, out: 0x77d3adba260ff700, outHI: 0x0
+sdr :: offset: 0x16f, out: 0x77d3adba260ff7d9, outHI: 0x0
+sdr :: offset: 0x170, out: 0x6b00000000000000, outHI: 0x0
+sdr :: offset: 0x171, out: 0x6b4a000000000000, outHI: 0x0
+sdr :: offset: 0x172, out: 0x6b4ab40000000000, outHI: 0x0
+sdr :: offset: 0x173, out: 0x6b4ab4aa00000000, outHI: 0x0
+sdr :: offset: 0x174, out: 0x6b4ab4aa79000000, outHI: 0x0
+sdr :: offset: 0x175, out: 0x6b4ab4aa79840000, outHI: 0x0
+sdr :: offset: 0x176, out: 0x6b4ab4aa79841800, outHI: 0x0
+sdr :: offset: 0x177, out: 0x6b4ab4aa798418c0, outHI: 0x0
+sdr :: offset: 0x178, out: 0xe00000000000000, outHI: 0x0
+sdr :: offset: 0x179, out: 0xebb000000000000, outHI: 0x0
+sdr :: offset: 0x17a, out: 0xebb8c0000000000, outHI: 0x0
+sdr :: offset: 0x17b, out: 0xebb8c0300000000, outHI: 0x0
+sdr :: offset: 0x17c, out: 0xebb8c035e000000, outHI: 0x0
+sdr :: offset: 0x17d, out: 0xebb8c035e0d0000, outHI: 0x0
+sdr :: offset: 0x17e, out: 0xebb8c035e0de000, outHI: 0x0
+sdr :: offset: 0x17f, out: 0xebb8c035e0de0f0, outHI: 0x0
+sdr :: offset: 0x180, out: 0xb800000000000000, outHI: 0x0
+sdr :: offset: 0x181, out: 0xb833000000000000, outHI: 0x0
+sdr :: offset: 0x182, out: 0xb833b00000000000, outHI: 0x0
+sdr :: offset: 0x183, out: 0xb833b06f00000000, outHI: 0x0
+sdr :: offset: 0x184, out: 0xb833b06f54000000, outHI: 0x0
+sdr :: offset: 0x185, out: 0xb833b06f54a90000, outHI: 0x0
+sdr :: offset: 0x186, out: 0xb833b06f54a97f00, outHI: 0x0
+sdr :: offset: 0x187, out: 0xb833b06f54a97fdc, outHI: 0x0
+sdr :: offset: 0x188, out: 0xf100000000000000, outHI: 0x0
+sdr :: offset: 0x189, out: 0xf177000000000000, outHI: 0x0
+sdr :: offset: 0x18a, out: 0xf177430000000000, outHI: 0x0
+sdr :: offset: 0x18b, out: 0xf177433f00000000, outHI: 0x0
+sdr :: offset: 0x18c, out: 0xf177433f37000000, outHI: 0x0
+sdr :: offset: 0x18d, out: 0xf177433f373f0000, outHI: 0x0
+sdr :: offset: 0x18e, out: 0xf177433f373fd100, outHI: 0x0
+sdr :: offset: 0x18f, out: 0xf177433f373fd1c0, outHI: 0x0
+sdr :: offset: 0x190, out: 0x8100000000000000, outHI: 0x0
+sdr :: offset: 0x191, out: 0x81ec000000000000, outHI: 0x0
+sdr :: offset: 0x192, out: 0x81ec910000000000, outHI: 0x0
+sdr :: offset: 0x193, out: 0x81ec91d900000000, outHI: 0x0
+sdr :: offset: 0x194, out: 0x81ec91d993000000, outHI: 0x0
+sdr :: offset: 0x195, out: 0x81ec91d993c90000, outHI: 0x0
+sdr :: offset: 0x196, out: 0x81ec91d993c92100, outHI: 0x0
+sdr :: offset: 0x197, out: 0x81ec91d993c92195, outHI: 0x0
+sdr :: offset: 0x198, out: 0xe400000000000000, outHI: 0x0
+sdr :: offset: 0x199, out: 0xe449000000000000, outHI: 0x0
+sdr :: offset: 0x19a, out: 0xe449fb0000000000, outHI: 0x0
+sdr :: offset: 0x19b, out: 0xe449fbf600000000, outHI: 0x0
+sdr :: offset: 0x19c, out: 0xe449fbf6a7000000, outHI: 0x0
+sdr :: offset: 0x19d, out: 0xe449fbf6a7950000, outHI: 0x0
+sdr :: offset: 0x19e, out: 0xe449fbf6a795b100, outHI: 0x0
+sdr :: offset: 0x19f, out: 0xe449fbf6a795b1a5, outHI: 0x0
+sdr :: offset: 0x1a0, out: 0xab00000000000000, outHI: 0x0
+sdr :: offset: 0x1a1, out: 0xab19000000000000, outHI: 0x0
+sdr :: offset: 0x1a2, out: 0xab19360000000000, outHI: 0x0
+sdr :: offset: 0x1a3, out: 0xab19364300000000, outHI: 0x0
+sdr :: offset: 0x1a4, out: 0xab19364378000000, outHI: 0x0
+sdr :: offset: 0x1a5, out: 0xab19364378c70000, outHI: 0x0
+sdr :: offset: 0x1a6, out: 0xab19364378c7ce00, outHI: 0x0
+sdr :: offset: 0x1a7, out: 0xab19364378c7ce8d, outHI: 0x0
+sdr :: offset: 0x1a8, out: 0x1e00000000000000, outHI: 0x0
+sdr :: offset: 0x1a9, out: 0x1eb9000000000000, outHI: 0x0
+sdr :: offset: 0x1aa, out: 0x1eb99e0000000000, outHI: 0x0
+sdr :: offset: 0x1ab, out: 0x1eb99e8d00000000, outHI: 0x0
+sdr :: offset: 0x1ac, out: 0x1eb99e8def000000, outHI: 0x0
+sdr :: offset: 0x1ad, out: 0x1eb99e8def2f0000, outHI: 0x0
+sdr :: offset: 0x1ae, out: 0x1eb99e8def2f3800, outHI: 0x0
+sdr :: offset: 0x1af, out: 0x1eb99e8def2f3849, outHI: 0x0
+sdr :: offset: 0x1b0, out: 0x700000000000000, outHI: 0x0
+sdr :: offset: 0x1b1, out: 0x747000000000000, outHI: 0x0
+sdr :: offset: 0x1b2, out: 0x747ea0000000000, outHI: 0x0
+sdr :: offset: 0x1b3, out: 0x747eacd00000000, outHI: 0x0
+sdr :: offset: 0x1b4, out: 0x747eacdcd000000, outHI: 0x0
+sdr :: offset: 0x1b5, out: 0x747eacdcd580000, outHI: 0x0
+sdr :: offset: 0x1b6, out: 0x747eacdcd582b00, outHI: 0x0
+sdr :: offset: 0x1b7, out: 0x747eacdcd582b12, outHI: 0x0
+sdr :: offset: 0x1b8, out: 0xfe00000000000000, outHI: 0x0
+sdr :: offset: 0x1b9, out: 0xfed6000000000000, outHI: 0x0
+sdr :: offset: 0x1ba, out: 0xfed6850000000000, outHI: 0x0
+sdr :: offset: 0x1bb, out: 0xfed6858800000000, outHI: 0x0
+sdr :: offset: 0x1bc, out: 0xfed685884e000000, outHI: 0x0
+sdr :: offset: 0x1bd, out: 0xfed685884e760000, outHI: 0x0
+sdr :: offset: 0x1be, out: 0xfed685884e765500, outHI: 0x0
+sdr :: offset: 0x1bf, out: 0xfed685884e76558c, outHI: 0x0
+sdr :: offset: 0x1c0, out: 0x4f00000000000000, outHI: 0x0
+sdr :: offset: 0x1c1, out: 0x4f61000000000000, outHI: 0x0
+sdr :: offset: 0x1c2, out: 0x4f61680000000000, outHI: 0x0
+sdr :: offset: 0x1c3, out: 0x4f6168d600000000, outHI: 0x0
+sdr :: offset: 0x1c4, out: 0x4f6168d62a000000, outHI: 0x0
+sdr :: offset: 0x1c5, out: 0x4f6168d62a340000, outHI: 0x0
+sdr :: offset: 0x1c6, out: 0x4f6168d62a34c100, outHI: 0x0
+sdr :: offset: 0x1c7, out: 0x4f6168d62a34c195, outHI: 0x0
+sdr :: offset: 0x1c8, out: 0xc700000000000000, outHI: 0x0
+sdr :: offset: 0x1c9, out: 0xc7d3000000000000, outHI: 0x0
+sdr :: offset: 0x1ca, out: 0xc7d3010000000000, outHI: 0x0
+sdr :: offset: 0x1cb, out: 0xc7d3016900000000, outHI: 0x0
+sdr :: offset: 0x1cc, out: 0xc7d3016989000000, outHI: 0x0
+sdr :: offset: 0x1cd, out: 0xc7d30169894d0000, outHI: 0x0
+sdr :: offset: 0x1ce, out: 0xc7d30169894df400, outHI: 0x0
+sdr :: offset: 0x1cf, out: 0xc7d30169894df474, outHI: 0x0
+sdr :: offset: 0x1d0, out: 0x500000000000000, outHI: 0x0
+sdr :: offset: 0x1d1, out: 0x51c000000000000, outHI: 0x0
+sdr :: offset: 0x1d2, out: 0x51ca10000000000, outHI: 0x0
+sdr :: offset: 0x1d3, out: 0x51ca19000000000, outHI: 0x0
+sdr :: offset: 0x1d4, out: 0x51ca190bf000000, outHI: 0x0
+sdr :: offset: 0x1d5, out: 0x51ca190bf6c0000, outHI: 0x0
+sdr :: offset: 0x1d6, out: 0x51ca190bf6cbb00, outHI: 0x0
+sdr :: offset: 0x1d7, out: 0x51ca190bf6cbb06, outHI: 0x0
+sdr :: offset: 0x1d8, out: 0xdb00000000000000, outHI: 0x0
+sdr :: offset: 0x1d9, out: 0xdb58000000000000, outHI: 0x0
+sdr :: offset: 0x1da, out: 0xdb58300000000000, outHI: 0x0
+sdr :: offset: 0x1db, out: 0xdb58300f00000000, outHI: 0x0
+sdr :: offset: 0x1dc, out: 0xdb58300f02000000, outHI: 0x0
+sdr :: offset: 0x1dd, out: 0xdb58300f029c0000, outHI: 0x0
+sdr :: offset: 0x1de, out: 0xdb58300f029cae00, outHI: 0x0
+sdr :: offset: 0x1df, out: 0xdb58300f029cae39, outHI: 0x0
+sdr :: offset: 0x1e0, out: 0x3a00000000000000, outHI: 0x0
+sdr :: offset: 0x1e1, out: 0x3a9a000000000000, outHI: 0x0
+sdr :: offset: 0x1e2, out: 0x3a9a990000000000, outHI: 0x0
+sdr :: offset: 0x1e3, out: 0x3a9a995f00000000, outHI: 0x0
+sdr :: offset: 0x1e4, out: 0x3a9a995fdb000000, outHI: 0x0
+sdr :: offset: 0x1e5, out: 0x3a9a995fdbdc0000, outHI: 0x0
+sdr :: offset: 0x1e6, out: 0x3a9a995fdbdc7e00, outHI: 0x0
+sdr :: offset: 0x1e7, out: 0x3a9a995fdbdc7ebc, outHI: 0x0
+sdr :: offset: 0x1e8, out: 0x2d00000000000000, outHI: 0x0
+sdr :: offset: 0x1e9, out: 0x2d8a000000000000, outHI: 0x0
+sdr :: offset: 0x1ea, out: 0x2d8a960000000000, outHI: 0x0
+sdr :: offset: 0x1eb, out: 0x2d8a960400000000, outHI: 0x0
+sdr :: offset: 0x1ec, out: 0x2d8a96047b000000, outHI: 0x0
+sdr :: offset: 0x1ed, out: 0x2d8a96047be30000, outHI: 0x0
+sdr :: offset: 0x1ee, out: 0x2d8a96047be34000, outHI: 0x0
+sdr :: offset: 0x1ef, out: 0x2d8a96047be3405b, outHI: 0x0
+sdr :: offset: 0x1f0, out: 0x4800000000000000, outHI: 0x0
+sdr :: offset: 0x1f1, out: 0x4875000000000000, outHI: 0x0
+sdr :: offset: 0x1f2, out: 0x4875bf0000000000, outHI: 0x0
+sdr :: offset: 0x1f3, out: 0x4875bfaf00000000, outHI: 0x0
+sdr :: offset: 0x1f4, out: 0x4875bfafd2000000, outHI: 0x0
+sdr :: offset: 0x1f5, out: 0x4875bfafd2d50000, outHI: 0x0
+sdr :: offset: 0x1f6, out: 0x4875bfafd2d51900, outHI: 0x0
+sdr :: offset: 0x1f7, out: 0x4875bfafd2d519d3, outHI: 0x0
+sdr :: offset: 0x1f8, out: 0x2200000000000000, outHI: 0x0
+sdr :: offset: 0x1f9, out: 0x22de000000000000, outHI: 0x0
+sdr :: offset: 0x1fa, out: 0x22de230000000000, outHI: 0x0
+sdr :: offset: 0x1fb, out: 0x22de230800000000, outHI: 0x0
+sdr :: offset: 0x1fc, out: 0x22de230867000000, outHI: 0x0
+sdr :: offset: 0x1fd, out: 0x22de230867a60000, outHI: 0x0
+sdr :: offset: 0x1fe, out: 0x22de230867a63000, outHI: 0x0
+sdr :: offset: 0x1ff, out: 0x22de230867a630f6, outHI: 0x0
+sdr :: offset: 0x200, out: 0xad00000000000000, outHI: 0x0
+sdr :: offset: 0x201, out: 0xad2c000000000000, outHI: 0x0
+sdr :: offset: 0x202, out: 0xad2c0a0000000000, outHI: 0x0
+sdr :: offset: 0x203, out: 0xad2c0a0c00000000, outHI: 0x0
+sdr :: offset: 0x204, out: 0xad2c0a0cf2000000, outHI: 0x0
+sdr :: offset: 0x205, out: 0xad2c0a0cf2560000, outHI: 0x0
+sdr :: offset: 0x206, out: 0xad2c0a0cf2561000, outHI: 0x0
+sdr :: offset: 0x207, out: 0xad2c0a0cf2561032, outHI: 0x0
+sdr :: offset: 0x208, out: 0x6000000000000000, outHI: 0x0
+sdr :: offset: 0x209, out: 0x6094000000000000, outHI: 0x0
+sdr :: offset: 0x20a, out: 0x6094a90000000000, outHI: 0x0
+sdr :: offset: 0x20b, out: 0x6094a90500000000, outHI: 0x0
+sdr :: offset: 0x20c, out: 0x6094a90544000000, outHI: 0x0
+sdr :: offset: 0x20d, out: 0x6094a90544240000, outHI: 0x0
+sdr :: offset: 0x20e, out: 0x6094a90544249b00, outHI: 0x0
+sdr :: offset: 0x20f, out: 0x6094a90544249b18, outHI: 0x0
+sdr :: offset: 0x210, out: 0xef00000000000000, outHI: 0x0
+sdr :: offset: 0x211, out: 0xeff9000000000000, outHI: 0x0
+sdr :: offset: 0x212, out: 0xeff9510000000000, outHI: 0x0
+sdr :: offset: 0x213, out: 0xeff9519f00000000, outHI: 0x0
+sdr :: offset: 0x214, out: 0xeff9519fb5000000, outHI: 0x0
+sdr :: offset: 0x215, out: 0xeff9519fb55b0000, outHI: 0x0
+sdr :: offset: 0x216, out: 0xeff9519fb55b5600, outHI: 0x0
+sdr :: offset: 0x217, out: 0xeff9519fb55b56fc, outHI: 0x0
+sdr :: offset: 0x218, out: 0xde00000000000000, outHI: 0x0
+sdr :: offset: 0x219, out: 0xde81000000000000, outHI: 0x0
+sdr :: offset: 0x21a, out: 0xde81da0000000000, outHI: 0x0
+sdr :: offset: 0x21b, out: 0xde81daf800000000, outHI: 0x0
+sdr :: offset: 0x21c, out: 0xde81daf820000000, outHI: 0x0
+sdr :: offset: 0x21d, out: 0xde81daf820040000, outHI: 0x0
+sdr :: offset: 0x21e, out: 0xde81daf820046800, outHI: 0x0
+sdr :: offset: 0x21f, out: 0xde81daf820046831, outHI: 0x0
+sdr :: offset: 0x220, out: 0x9b00000000000000, outHI: 0x0
+sdr :: offset: 0x221, out: 0x9b8c000000000000, outHI: 0x0
+sdr :: offset: 0x222, out: 0x9b8c610000000000, outHI: 0x0
+sdr :: offset: 0x223, out: 0x9b8c61ca00000000, outHI: 0x0
+sdr :: offset: 0x224, out: 0x9b8c61ca5a000000, outHI: 0x0
+sdr :: offset: 0x225, out: 0x9b8c61ca5a570000, outHI: 0x0
+sdr :: offset: 0x226, out: 0x9b8c61ca5a572500, outHI: 0x0
+sdr :: offset: 0x227, out: 0x9b8c61ca5a5725f2, outHI: 0x0
+sdr :: offset: 0x228, out: 0xec00000000000000, outHI: 0x0
+sdr :: offset: 0x229, out: 0xec8b000000000000, outHI: 0x0
+sdr :: offset: 0x22a, out: 0xec8b950000000000, outHI: 0x0
+sdr :: offset: 0x22b, out: 0xec8b95a600000000, outHI: 0x0
+sdr :: offset: 0x22c, out: 0xec8b95a6dd000000, outHI: 0x0
+sdr :: offset: 0x22d, out: 0xec8b95a6ddc20000, outHI: 0x0
+sdr :: offset: 0x22e, out: 0xec8b95a6ddc25d00, outHI: 0x0
+sdr :: offset: 0x22f, out: 0xec8b95a6ddc25dc8, outHI: 0x0
+sdr :: offset: 0x230, out: 0xbf00000000000000, outHI: 0x0
+sdr :: offset: 0x231, out: 0xbf30000000000000, outHI: 0x0
+sdr :: offset: 0x232, out: 0xbf300c0000000000, outHI: 0x0
+sdr :: offset: 0x233, out: 0xbf300ce700000000, outHI: 0x0
+sdr :: offset: 0x234, out: 0xbf300ce751000000, outHI: 0x0
+sdr :: offset: 0x235, out: 0xbf300ce751da0000, outHI: 0x0
+sdr :: offset: 0x236, out: 0xbf300ce751dac600, outHI: 0x0
+sdr :: offset: 0x237, out: 0xbf300ce751dac616, outHI: 0x0
+sdr :: offset: 0x238, out: 0x2f00000000000000, outHI: 0x0
+sdr :: offset: 0x239, out: 0x2f67000000000000, outHI: 0x0
+sdr :: offset: 0x23a, out: 0x2f67780000000000, outHI: 0x0
+sdr :: offset: 0x23b, out: 0x2f6778fd00000000, outHI: 0x0
+sdr :: offset: 0x23c, out: 0x2f6778fdf3000000, outHI: 0x0
+sdr :: offset: 0x23d, out: 0x2f6778fdf3ba0000, outHI: 0x0
+sdr :: offset: 0x23e, out: 0x2f6778fdf3ba5200, outHI: 0x0
+sdr :: offset: 0x23f, out: 0x2f6778fdf3ba52a8, outHI: 0x0
+sdr :: offset: 0x240, out: 0x5000000000000000, outHI: 0x0
+sdr :: offset: 0x241, out: 0x50ad000000000000, outHI: 0x0
+sdr :: offset: 0x242, out: 0x50ad000000000000, outHI: 0x0
+sdr :: offset: 0x243, out: 0x50ad00b100000000, outHI: 0x0
+sdr :: offset: 0x244, out: 0x50ad00b1f7000000, outHI: 0x0
+sdr :: offset: 0x245, out: 0x50ad00b1f7da0000, outHI: 0x0
+sdr :: offset: 0x246, out: 0x50ad00b1f7da7800, outHI: 0x0
+sdr :: offset: 0x247, out: 0x50ad00b1f7da7847, outHI: 0x0
+sdr :: offset: 0x248, out: 0x9f00000000000000, outHI: 0x0
+sdr :: offset: 0x249, out: 0x9f08000000000000, outHI: 0x0
+sdr :: offset: 0x24a, out: 0x9f08d40000000000, outHI: 0x0
+sdr :: offset: 0x24b, out: 0x9f08d44100000000, outHI: 0x0
+sdr :: offset: 0x24c, out: 0x9f08d44168000000, outHI: 0x0
+sdr :: offset: 0x24d, out: 0x9f08d44168a60000, outHI: 0x0
+sdr :: offset: 0x24e, out: 0x9f08d44168a6b600, outHI: 0x0
+sdr :: offset: 0x24f, out: 0x9f08d44168a6b6d9, outHI: 0x0
+sdr :: offset: 0x250, out: 0x8a00000000000000, outHI: 0x0
+sdr :: offset: 0x251, out: 0x8af5000000000000, outHI: 0x0
+sdr :: offset: 0x252, out: 0x8af5180000000000, outHI: 0x0
+sdr :: offset: 0x253, out: 0x8af5183800000000, outHI: 0x0
+sdr :: offset: 0x254, out: 0x8af518381d000000, outHI: 0x0
+sdr :: offset: 0x255, out: 0x8af518381dce0000, outHI: 0x0
+sdr :: offset: 0x256, out: 0x8af518381dce6300, outHI: 0x0
+sdr :: offset: 0x257, out: 0x8af518381dce6344, outHI: 0x0
+sdr :: offset: 0x258, out: 0x1300000000000000, outHI: 0x0
+sdr :: offset: 0x259, out: 0x13e4000000000000, outHI: 0x0
+sdr :: offset: 0x25a, out: 0x13e4620000000000, outHI: 0x0
+sdr :: offset: 0x25b, out: 0x13e4627f00000000, outHI: 0x0
+sdr :: offset: 0x25c, out: 0x13e4627f3f000000, outHI: 0x0
+sdr :: offset: 0x25d, out: 0x13e4627f3fe50000, outHI: 0x0
+sdr :: offset: 0x25e, out: 0x13e4627f3fe52500, outHI: 0x0
+sdr :: offset: 0x25f, out: 0x13e4627f3fe5255f, outHI: 0x0
+sdr :: offset: 0x260, out: 0xc000000000000000, outHI: 0x0
+sdr :: offset: 0x261, out: 0xc0cc000000000000, outHI: 0x0
+sdr :: offset: 0x262, out: 0xc0ccd30000000000, outHI: 0x0
+sdr :: offset: 0x263, out: 0xc0ccd39200000000, outHI: 0x0
+sdr :: offset: 0x264, out: 0xc0ccd392e1000000, outHI: 0x0
+sdr :: offset: 0x265, out: 0xc0ccd392e1760000, outHI: 0x0
+sdr :: offset: 0x266, out: 0xc0ccd392e1763200, outHI: 0x0
+sdr :: offset: 0x267, out: 0xc0ccd392e176321f, outHI: 0x0
+sdr :: offset: 0x268, out: 0x2800000000000000, outHI: 0x0
+sdr :: offset: 0x269, out: 0x2882000000000000, outHI: 0x0
+sdr :: offset: 0x26a, out: 0x2882940000000000, outHI: 0x0
+sdr :: offset: 0x26b, out: 0x2882946400000000, outHI: 0x0
+sdr :: offset: 0x26c, out: 0x2882946494000000, outHI: 0x0
+sdr :: offset: 0x26d, out: 0x2882946494400000, outHI: 0x0
+sdr :: offset: 0x26e, out: 0x2882946494401800, outHI: 0x0
+sdr :: offset: 0x26f, out: 0x28829464944018fd, outHI: 0x0
+sdr :: offset: 0x270, out: 0x8f00000000000000, outHI: 0x0
+sdr :: offset: 0x271, out: 0x8f15000000000000, outHI: 0x0
+sdr :: offset: 0x272, out: 0x8f15d30000000000, outHI: 0x0
+sdr :: offset: 0x273, out: 0x8f15d32000000000, outHI: 0x0
+sdr :: offset: 0x274, out: 0x8f15d32040000000, outHI: 0x0
+sdr :: offset: 0x275, out: 0x8f15d32040520000, outHI: 0x0
+sdr :: offset: 0x276, out: 0x8f15d3204052e800, outHI: 0x0
+sdr :: offset: 0x277, out: 0x8f15d3204052e8f0, outHI: 0x0
+sdr :: offset: 0x278, out: 0xe500000000000000, outHI: 0x0
+sdr :: offset: 0x279, out: 0xe57c000000000000, outHI: 0x0
+sdr :: offset: 0x27a, out: 0xe57caf0000000000, outHI: 0x0
+sdr :: offset: 0x27b, out: 0xe57caf8300000000, outHI: 0x0
+sdr :: offset: 0x27c, out: 0xe57caf83d2000000, outHI: 0x0
+sdr :: offset: 0x27d, out: 0xe57caf83d2880000, outHI: 0x0
+sdr :: offset: 0x27e, out: 0xe57caf83d2880f00, outHI: 0x0
+sdr :: offset: 0x27f, out: 0xe57caf83d2880ff3, outHI: 0x0
+sdr :: offset: 0x280, out: 0x4400000000000000, outHI: 0x0
+sdr :: offset: 0x281, out: 0x44f1000000000000, outHI: 0x0
+sdr :: offset: 0x282, out: 0x44f1560000000000, outHI: 0x0
+sdr :: offset: 0x283, out: 0x44f156a000000000, outHI: 0x0
+sdr :: offset: 0x284, out: 0x44f156a04c000000, outHI: 0x0
+sdr :: offset: 0x285, out: 0x44f156a04c740000, outHI: 0x0
+sdr :: offset: 0x286, out: 0x44f156a04c747d00, outHI: 0x0
+sdr :: offset: 0x287, out: 0x44f156a04c747def, outHI: 0x0
+sdr :: offset: 0x288, out: 0xd700000000000000, outHI: 0x0
+sdr :: offset: 0x289, out: 0xd793000000000000, outHI: 0x0
+sdr :: offset: 0x28a, out: 0xd793e20000000000, outHI: 0x0
+sdr :: offset: 0x28b, out: 0xd793e26000000000, outHI: 0x0
+sdr :: offset: 0x28c, out: 0xd793e2601c000000, outHI: 0x0
+sdr :: offset: 0x28d, out: 0xd793e2601c0f0000, outHI: 0x0
+sdr :: offset: 0x28e, out: 0xd793e2601c0f3100, outHI: 0x0
+sdr :: offset: 0x28f, out: 0xd793e2601c0f31d7, outHI: 0x0
+sdr :: offset: 0x290, out: 0x1000000000000000, outHI: 0x0
+sdr :: offset: 0x291, out: 0x10e1000000000000, outHI: 0x0
+sdr :: offset: 0x292, out: 0x10e1e10000000000, outHI: 0x0
+sdr :: offset: 0x293, out: 0x10e1e1a600000000, outHI: 0x0
+sdr :: offset: 0x294, out: 0x10e1e1a679000000, outHI: 0x0
+sdr :: offset: 0x295, out: 0x10e1e1a679130000, outHI: 0x0
+sdr :: offset: 0x296, out: 0x10e1e1a679131c00, outHI: 0x0
+sdr :: offset: 0x297, out: 0x10e1e1a679131cd9, outHI: 0x0
+sdr :: offset: 0x298, out: 0x3300000000000000, outHI: 0x0
+sdr :: offset: 0x299, out: 0x3324000000000000, outHI: 0x0
+sdr :: offset: 0x29a, out: 0x3324290000000000, outHI: 0x0
+sdr :: offset: 0x29b, out: 0x3324296b00000000, outHI: 0x0
+sdr :: offset: 0x29c, out: 0x3324296b75000000, outHI: 0x0
+sdr :: offset: 0x29d, out: 0x3324296b75a70000, outHI: 0x0
+sdr :: offset: 0x29e, out: 0x3324296b75a76f00, outHI: 0x0
+sdr :: offset: 0x29f, out: 0x3324296b75a76fa4, outHI: 0x0
+sdr :: offset: 0x2a0, out: 0x2700000000000000, outHI: 0x0
+sdr :: offset: 0x2a1, out: 0x27d2000000000000, outHI: 0x0
+sdr :: offset: 0x2a2, out: 0x27d2960000000000, outHI: 0x0
+sdr :: offset: 0x2a3, out: 0x27d296e200000000, outHI: 0x0
+sdr :: offset: 0x2a4, out: 0x27d296e2d2000000, outHI: 0x0
+sdr :: offset: 0x2a5, out: 0x27d296e2d2130000, outHI: 0x0
+sdr :: offset: 0x2a6, out: 0x27d296e2d2139e00, outHI: 0x0
+sdr :: offset: 0x2a7, out: 0x27d296e2d2139ee5, outHI: 0x0
+sdr :: offset: 0x2a8, out: 0x6a00000000000000, outHI: 0x0
+sdr :: offset: 0x2a9, out: 0x6a5a000000000000, outHI: 0x0
+sdr :: offset: 0x2aa, out: 0x6a5a820000000000, outHI: 0x0
+sdr :: offset: 0x2ab, out: 0x6a5a824400000000, outHI: 0x0
+sdr :: offset: 0x2ac, out: 0x6a5a82447f000000, outHI: 0x0
+sdr :: offset: 0x2ad, out: 0x6a5a82447f6d0000, outHI: 0x0
+sdr :: offset: 0x2ae, out: 0x6a5a82447f6dc200, outHI: 0x0
+sdr :: offset: 0x2af, out: 0x6a5a82447f6dc2a5, outHI: 0x0
+sdr :: offset: 0x2b0, out: 0xc000000000000000, outHI: 0x0
+sdr :: offset: 0x2b1, out: 0xc076000000000000, outHI: 0x0
+sdr :: offset: 0x2b2, out: 0xc076c80000000000, outHI: 0x0
+sdr :: offset: 0x2b3, out: 0xc076c89e00000000, outHI: 0x0
+sdr :: offset: 0x2b4, out: 0xc076c89e80000000, outHI: 0x0
+sdr :: offset: 0x2b5, out: 0xc076c89e80c00000, outHI: 0x0
+sdr :: offset: 0x2b6, out: 0xc076c89e80c07d00, outHI: 0x0
+sdr :: offset: 0x2b7, out: 0xc076c89e80c07dc1, outHI: 0x0
+sdr :: offset: 0x2b8, out: 0x6800000000000000, outHI: 0x0
+sdr :: offset: 0x2b9, out: 0x6807000000000000, outHI: 0x0
+sdr :: offset: 0x2ba, out: 0x68070d0000000000, outHI: 0x0
+sdr :: offset: 0x2bb, out: 0x68070dc300000000, outHI: 0x0
+sdr :: offset: 0x2bc, out: 0x68070dc345000000, outHI: 0x0
+sdr :: offset: 0x2bd, out: 0x68070dc3454b0000, outHI: 0x0
+sdr :: offset: 0x2be, out: 0x68070dc3454bfe00, outHI: 0x0
+sdr :: offset: 0x2bf, out: 0x68070dc3454bfe34, outHI: 0x0
+sdr :: offset: 0x2c0, out: 0x8f00000000000000, outHI: 0x0
+sdr :: offset: 0x2c1, out: 0x8fbd000000000000, outHI: 0x0
+sdr :: offset: 0x2c2, out: 0x8fbddc0000000000, outHI: 0x0
+sdr :: offset: 0x2c3, out: 0x8fbddc7100000000, outHI: 0x0
+sdr :: offset: 0x2c4, out: 0x8fbddc7123000000, outHI: 0x0
+sdr :: offset: 0x2c5, out: 0x8fbddc7123dd0000, outHI: 0x0
+sdr :: offset: 0x2c6, out: 0x8fbddc7123dd6d00, outHI: 0x0
+sdr :: offset: 0x2c7, out: 0x8fbddc7123dd6d24, outHI: 0x0
+sdr :: offset: 0x2c8, out: 0x1b00000000000000, outHI: 0x0
+sdr :: offset: 0x2c9, out: 0x1bf6000000000000, outHI: 0x0
+sdr :: offset: 0x2ca, out: 0x1bf62f0000000000, outHI: 0x0
+sdr :: offset: 0x2cb, out: 0x1bf62fb700000000, outHI: 0x0
+sdr :: offset: 0x2cc, out: 0x1bf62fb727000000, outHI: 0x0
+sdr :: offset: 0x2cd, out: 0x1bf62fb727a50000, outHI: 0x0
+sdr :: offset: 0x2ce, out: 0x1bf62fb727a59f00, outHI: 0x0
+sdr :: offset: 0x2cf, out: 0x1bf62fb727a59fce, outHI: 0x0
+sdr :: offset: 0x2d0, out: 0xbe00000000000000, outHI: 0x0
+sdr :: offset: 0x2d1, out: 0xbe10000000000000, outHI: 0x0
+sdr :: offset: 0x2d2, out: 0xbe109f0000000000, outHI: 0x0
+sdr :: offset: 0x2d3, out: 0xbe109f2700000000, outHI: 0x0
+sdr :: offset: 0x2d4, out: 0xbe109f27e9000000, outHI: 0x0
+sdr :: offset: 0x2d5, out: 0xbe109f27e90f0000, outHI: 0x0
+sdr :: offset: 0x2d6, out: 0xbe109f27e90f9f00, outHI: 0x0
+sdr :: offset: 0x2d7, out: 0xbe109f27e90f9f46, outHI: 0x0
+sdr :: offset: 0x2d8, out: 0xfb00000000000000, outHI: 0x0
+sdr :: offset: 0x2d9, out: 0xfb3f000000000000, outHI: 0x0
+sdr :: offset: 0x2da, out: 0xfb3f630000000000, outHI: 0x0
+sdr :: offset: 0x2db, out: 0xfb3f63da00000000, outHI: 0x0
+sdr :: offset: 0x2dc, out: 0xfb3f63daa9000000, outHI: 0x0
+sdr :: offset: 0x2dd, out: 0xfb3f63daa9af0000, outHI: 0x0
+sdr :: offset: 0x2de, out: 0xfb3f63daa9afd100, outHI: 0x0
+sdr :: offset: 0x2df, out: 0xfb3f63daa9afd199, outHI: 0x0
+sdr :: offset: 0x2e0, out: 0xd700000000000000, outHI: 0x0
+sdr :: offset: 0x2e1, out: 0xd7db000000000000, outHI: 0x0
+sdr :: offset: 0x2e2, out: 0xd7dbcb0000000000, outHI: 0x0
+sdr :: offset: 0x2e3, out: 0xd7dbcb3100000000, outHI: 0x0
+sdr :: offset: 0x2e4, out: 0xd7dbcb312e000000, outHI: 0x0
+sdr :: offset: 0x2e5, out: 0xd7dbcb312ea30000, outHI: 0x0
+sdr :: offset: 0x2e6, out: 0xd7dbcb312ea3d400, outHI: 0x0
+sdr :: offset: 0x2e7, out: 0xd7dbcb312ea3d484, outHI: 0x0
+sdr :: offset: 0x2e8, out: 0xf200000000000000, outHI: 0x0
+sdr :: offset: 0x2e9, out: 0xf21f000000000000, outHI: 0x0
+sdr :: offset: 0x2ea, out: 0xf21f350000000000, outHI: 0x0
+sdr :: offset: 0x2eb, out: 0xf21f353f00000000, outHI: 0x0
+sdr :: offset: 0x2ec, out: 0xf21f353faa000000, outHI: 0x0
+sdr :: offset: 0x2ed, out: 0xf21f353faada0000, outHI: 0x0
+sdr :: offset: 0x2ee, out: 0xf21f353faada4f00, outHI: 0x0
+sdr :: offset: 0x2ef, out: 0xf21f353faada4fe4, outHI: 0x0
+sdr :: offset: 0x2f0, out: 0xc600000000000000, outHI: 0x0
+sdr :: offset: 0x2f1, out: 0xc68b000000000000, outHI: 0x0
+sdr :: offset: 0x2f2, out: 0xc68b080000000000, outHI: 0x0
+sdr :: offset: 0x2f3, out: 0xc68b086e00000000, outHI: 0x0
+sdr :: offset: 0x2f4, out: 0xc68b086ee0000000, outHI: 0x0
+sdr :: offset: 0x2f5, out: 0xc68b086ee0710000, outHI: 0x0
+sdr :: offset: 0x2f6, out: 0xc68b086ee0715000, outHI: 0x0
+sdr :: offset: 0x2f7, out: 0xc68b086ee07150c2, outHI: 0x0
+sdr :: offset: 0x2f8, out: 0x6000000000000000, outHI: 0x0
+sdr :: offset: 0x2f9, out: 0x60e5000000000000, outHI: 0x0
+sdr :: offset: 0x2fa, out: 0x60e5470000000000, outHI: 0x0
+sdr :: offset: 0x2fb, out: 0x60e5475000000000, outHI: 0x0
+sdr :: offset: 0x2fc, out: 0x60e54750d5000000, outHI: 0x0
+sdr :: offset: 0x2fd, out: 0x60e54750d5d90000, outHI: 0x0
+sdr :: offset: 0x2fe, out: 0x60e54750d5d92500, outHI: 0x0
+sdr :: offset: 0x2ff, out: 0x60e54750d5d9257f, outHI: 0x0
+sdr :: offset: 0x300, out: 0x2500000000000000, outHI: 0x0
+sdr :: offset: 0x301, out: 0x253d000000000000, outHI: 0x0
+sdr :: offset: 0x302, out: 0x253d690000000000, outHI: 0x0
+sdr :: offset: 0x303, out: 0x253d696200000000, outHI: 0x0
+sdr :: offset: 0x304, out: 0x253d69625f000000, outHI: 0x0
+sdr :: offset: 0x305, out: 0x253d69625fe90000, outHI: 0x0
+sdr :: offset: 0x306, out: 0x253d69625fe9a600, outHI: 0x0
+sdr :: offset: 0x307, out: 0x253d69625fe9a6db, outHI: 0x0
+sdr :: offset: 0x308, out: 0x5b00000000000000, outHI: 0x0
+sdr :: offset: 0x309, out: 0x5b70000000000000, outHI: 0x0
+sdr :: offset: 0x30a, out: 0x5b70a30000000000, outHI: 0x0
+sdr :: offset: 0x30b, out: 0x5b70a3e000000000, outHI: 0x0
+sdr :: offset: 0x30c, out: 0x5b70a3e042000000, outHI: 0x0
+sdr :: offset: 0x30d, out: 0x5b70a3e042430000, outHI: 0x0
+sdr :: offset: 0x30e, out: 0x5b70a3e042434000, outHI: 0x0
+sdr :: offset: 0x30f, out: 0x5b70a3e0424340ac, outHI: 0x0
+sdr :: offset: 0x310, out: 0x9600000000000000, outHI: 0x0
+sdr :: offset: 0x311, out: 0x96c0000000000000, outHI: 0x0
+sdr :: offset: 0x312, out: 0x96c0470000000000, outHI: 0x0
+sdr :: offset: 0x313, out: 0x96c0478f00000000, outHI: 0x0
+sdr :: offset: 0x314, out: 0x96c0478f03000000, outHI: 0x0
+sdr :: offset: 0x315, out: 0x96c0478f03690000, outHI: 0x0
+sdr :: offset: 0x316, out: 0x96c0478f03698000, outHI: 0x0
+sdr :: offset: 0x317, out: 0x96c0478f03698017, outHI: 0x0
+sdr :: offset: 0x318, out: 0x1e00000000000000, outHI: 0x0
+sdr :: offset: 0x319, out: 0x1e3c000000000000, outHI: 0x0
+sdr :: offset: 0x31a, out: 0x1e3ce80000000000, outHI: 0x0
+sdr :: offset: 0x31b, out: 0x1e3ce83900000000, outHI: 0x0
+sdr :: offset: 0x31c, out: 0x1e3ce839a5000000, outHI: 0x0
+sdr :: offset: 0x31d, out: 0x1e3ce839a51c0000, outHI: 0x0
+sdr :: offset: 0x31e, out: 0x1e3ce839a51cf900, outHI: 0x0
+sdr :: offset: 0x31f, out: 0x1e3ce839a51cf929, outHI: 0x0
+sdr :: offset: 0x320, out: 0xe300000000000000, outHI: 0x0
+sdr :: offset: 0x321, out: 0xe3e2000000000000, outHI: 0x0
+sdr :: offset: 0x322, out: 0xe3e2fb0000000000, outHI: 0x0
+sdr :: offset: 0x323, out: 0xe3e2fbfa00000000, outHI: 0x0
+sdr :: offset: 0x324, out: 0xe3e2fbfa89000000, outHI: 0x0
+sdr :: offset: 0x325, out: 0xe3e2fbfa895e0000, outHI: 0x0
+sdr :: offset: 0x326, out: 0xe3e2fbfa895eb600, outHI: 0x0
+sdr :: offset: 0x327, out: 0xe3e2fbfa895eb689, outHI: 0x0
+sdr :: offset: 0x328, out: 0x5800000000000000, outHI: 0x0
+sdr :: offset: 0x329, out: 0x58d2000000000000, outHI: 0x0
+sdr :: offset: 0x32a, out: 0x58d24b0000000000, outHI: 0x0
+sdr :: offset: 0x32b, out: 0x58d24bb000000000, outHI: 0x0
+sdr :: offset: 0x32c, out: 0x58d24bb05d000000, outHI: 0x0
+sdr :: offset: 0x32d, out: 0x58d24bb05d760000, outHI: 0x0
+sdr :: offset: 0x32e, out: 0x58d24bb05d76ed00, outHI: 0x0
+sdr :: offset: 0x32f, out: 0x58d24bb05d76ed25, outHI: 0x0
+sdr :: offset: 0x330, out: 0xb700000000000000, outHI: 0x0
+sdr :: offset: 0x331, out: 0xb70e000000000000, outHI: 0x0
+sdr :: offset: 0x332, out: 0xb70eb90000000000, outHI: 0x0
+sdr :: offset: 0x333, out: 0xb70eb96800000000, outHI: 0x0
+sdr :: offset: 0x334, out: 0xb70eb9682c000000, outHI: 0x0
+sdr :: offset: 0x335, out: 0xb70eb9682c170000, outHI: 0x0
+sdr :: offset: 0x336, out: 0xb70eb9682c170300, outHI: 0x0
+sdr :: offset: 0x337, out: 0xb70eb9682c170312, outHI: 0x0
+sdr :: offset: 0x338, out: 0xf100000000000000, outHI: 0x0
+sdr :: offset: 0x339, out: 0xf184000000000000, outHI: 0x0
+sdr :: offset: 0x33a, out: 0xf184780000000000, outHI: 0x0
+sdr :: offset: 0x33b, out: 0xf184785200000000, outHI: 0x0
+sdr :: offset: 0x33c, out: 0xf184785280000000, outHI: 0x0
+sdr :: offset: 0x33d, out: 0xf184785280dd0000, outHI: 0x0
+sdr :: offset: 0x33e, out: 0xf184785280dd3000, outHI: 0x0
+sdr :: offset: 0x33f, out: 0xf184785280dd301d, outHI: 0x0
+sdr :: offset: 0x340, out: 0xd00000000000000, outHI: 0x0
+sdr :: offset: 0x341, out: 0xd17000000000000, outHI: 0x0
+sdr :: offset: 0x342, out: 0xd179c0000000000, outHI: 0x0
+sdr :: offset: 0x343, out: 0xd179c7700000000, outHI: 0x0
+sdr :: offset: 0x344, out: 0xd179c77aa000000, outHI: 0x0
+sdr :: offset: 0x345, out: 0xd179c77aa1f0000, outHI: 0x0
+sdr :: offset: 0x346, out: 0xd179c77aa1f8f00, outHI: 0x0
+sdr :: offset: 0x347, out: 0xd179c77aa1f8fd6, outHI: 0x0
+sdr :: offset: 0x348, out: 0xef00000000000000, outHI: 0x0
+sdr :: offset: 0x349, out: 0xef26000000000000, outHI: 0x0
+sdr :: offset: 0x34a, out: 0xef26440000000000, outHI: 0x0
+sdr :: offset: 0x34b, out: 0xef26444c00000000, outHI: 0x0
+sdr :: offset: 0x34c, out: 0xef26444ced000000, outHI: 0x0
+sdr :: offset: 0x34d, out: 0xef26444ced290000, outHI: 0x0
+sdr :: offset: 0x34e, out: 0xef26444ced299800, outHI: 0x0
+sdr :: offset: 0x34f, out: 0xef26444ced299843, outHI: 0x0
+sdr :: offset: 0x350, out: 0x6d00000000000000, outHI: 0x0
+sdr :: offset: 0x351, out: 0x6d07000000000000, outHI: 0x0
+sdr :: offset: 0x352, out: 0x6d07170000000000, outHI: 0x0
+sdr :: offset: 0x353, out: 0x6d07175c00000000, outHI: 0x0
+sdr :: offset: 0x354, out: 0x6d07175c9d000000, outHI: 0x0
+sdr :: offset: 0x355, out: 0x6d07175c9dd50000, outHI: 0x0
+sdr :: offset: 0x356, out: 0x6d07175c9dd58c00, outHI: 0x0
+sdr :: offset: 0x357, out: 0x6d07175c9dd58ca7, outHI: 0x0
+sdr :: offset: 0x358, out: 0x800000000000000, outHI: 0x0
+sdr :: offset: 0x359, out: 0x866000000000000, outHI: 0x0
+sdr :: offset: 0x35a, out: 0x8663d0000000000, outHI: 0x0
+sdr :: offset: 0x35b, out: 0x8663d0600000000, outHI: 0x0
+sdr :: offset: 0x35c, out: 0x8663d0610000000, outHI: 0x0
+sdr :: offset: 0x35d, out: 0x8663d0610550000, outHI: 0x0
+sdr :: offset: 0x35e, out: 0x8663d0610558300, outHI: 0x0
+sdr :: offset: 0x35f, out: 0x8663d0610558332, outHI: 0x0
+sdr :: offset: 0x360, out: 0x8700000000000000, outHI: 0x0
+sdr :: offset: 0x361, out: 0x87ab000000000000, outHI: 0x0
+sdr :: offset: 0x362, out: 0x87ab7d0000000000, outHI: 0x0
+sdr :: offset: 0x363, out: 0x87ab7dd000000000, outHI: 0x0
+sdr :: offset: 0x364, out: 0x87ab7dd048000000, outHI: 0x0
+sdr :: offset: 0x365, out: 0x87ab7dd048890000, outHI: 0x0
+sdr :: offset: 0x366, out: 0x87ab7dd048895100, outHI: 0x0
+sdr :: offset: 0x367, out: 0x87ab7dd0488951d6, outHI: 0x0
+sdr :: offset: 0x368, out: 0x8b00000000000000, outHI: 0x0
+sdr :: offset: 0x369, out: 0x8bf6000000000000, outHI: 0x0
+sdr :: offset: 0x36a, out: 0x8bf6980000000000, outHI: 0x0
+sdr :: offset: 0x36b, out: 0x8bf6982300000000, outHI: 0x0
+sdr :: offset: 0x36c, out: 0x8bf6982367000000, outHI: 0x0
+sdr :: offset: 0x36d, out: 0x8bf69823670e0000, outHI: 0x0
+sdr :: offset: 0x36e, out: 0x8bf69823670e8200, outHI: 0x0
+sdr :: offset: 0x36f, out: 0x8bf69823670e8247, outHI: 0x0
+sdr :: offset: 0x370, out: 0x1b00000000000000, outHI: 0x0
+sdr :: offset: 0x371, out: 0x1b36000000000000, outHI: 0x0
+sdr :: offset: 0x372, out: 0x1b36880000000000, outHI: 0x0
+sdr :: offset: 0x373, out: 0x1b36886c00000000, outHI: 0x0
+sdr :: offset: 0x374, out: 0x1b36886c59000000, outHI: 0x0
+sdr :: offset: 0x375, out: 0x1b36886c59d90000, outHI: 0x0
+sdr :: offset: 0x376, out: 0x1b36886c59d98d00, outHI: 0x0
+sdr :: offset: 0x377, out: 0x1b36886c59d98d26, outHI: 0x0
+sdr :: offset: 0x378, out: 0xb200000000000000, outHI: 0x0
+sdr :: offset: 0x379, out: 0xb209000000000000, outHI: 0x0
+sdr :: offset: 0x37a, out: 0xb209ca0000000000, outHI: 0x0
+sdr :: offset: 0x37b, out: 0xb209ca4b00000000, outHI: 0x0
+sdr :: offset: 0x37c, out: 0xb209ca4bdb000000, outHI: 0x0
+sdr :: offset: 0x37d, out: 0xb209ca4bdbd30000, outHI: 0x0
+sdr :: offset: 0x37e, out: 0xb209ca4bdbd32b00, outHI: 0x0
+sdr :: offset: 0x37f, out: 0xb209ca4bdbd32be4, outHI: 0x0
+sdr :: offset: 0x380, out: 0x7900000000000000, outHI: 0x0
+sdr :: offset: 0x381, out: 0x79fd000000000000, outHI: 0x0
+sdr :: offset: 0x382, out: 0x79fd5d0000000000, outHI: 0x0
+sdr :: offset: 0x383, out: 0x79fd5d7d00000000, outHI: 0x0
+sdr :: offset: 0x384, out: 0x79fd5d7d1d000000, outHI: 0x0
+sdr :: offset: 0x385, out: 0x79fd5d7d1d990000, outHI: 0x0
+sdr :: offset: 0x386, out: 0x79fd5d7d1d996200, outHI: 0x0
+sdr :: offset: 0x387, out: 0x79fd5d7d1d9962e6, outHI: 0x0
+sdr :: offset: 0x388, out: 0x1f00000000000000, outHI: 0x0
+sdr :: offset: 0x389, out: 0x1f3f000000000000, outHI: 0x0
+sdr :: offset: 0x38a, out: 0x1f3f460000000000, outHI: 0x0
+sdr :: offset: 0x38b, out: 0x1f3f465500000000, outHI: 0x0
+sdr :: offset: 0x38c, out: 0x1f3f46553e000000, outHI: 0x0
+sdr :: offset: 0x38d, out: 0x1f3f46553eca0000, outHI: 0x0
+sdr :: offset: 0x38e, out: 0x1f3f46553ecad300, outHI: 0x0
+sdr :: offset: 0x38f, out: 0x1f3f46553ecad374, outHI: 0x0
+sdr :: offset: 0x390, out: 0xdf00000000000000, outHI: 0x0
+sdr :: offset: 0x391, out: 0xdf2e000000000000, outHI: 0x0
+sdr :: offset: 0x392, out: 0xdf2e9a0000000000, outHI: 0x0
+sdr :: offset: 0x393, out: 0xdf2e9ab900000000, outHI: 0x0
+sdr :: offset: 0x394, out: 0xdf2e9ab97d000000, outHI: 0x0
+sdr :: offset: 0x395, out: 0xdf2e9ab97d3e0000, outHI: 0x0
+sdr :: offset: 0x396, out: 0xdf2e9ab97d3eed00, outHI: 0x0
+sdr :: offset: 0x397, out: 0xdf2e9ab97d3eedf2, outHI: 0x0
+sdr :: offset: 0x398, out: 0xa700000000000000, outHI: 0x0
+sdr :: offset: 0x399, out: 0xa736000000000000, outHI: 0x0
+sdr :: offset: 0x39a, out: 0xa736a60000000000, outHI: 0x0
+sdr :: offset: 0x39b, out: 0xa736a6f700000000, outHI: 0x0
+sdr :: offset: 0x39c, out: 0xa736a6f7fa000000, outHI: 0x0
+sdr :: offset: 0x39d, out: 0xa736a6f7fa3c0000, outHI: 0x0
+sdr :: offset: 0x39e, out: 0xa736a6f7fa3c0c00, outHI: 0x0
+sdr :: offset: 0x39f, out: 0xa736a6f7fa3c0c9f, outHI: 0x0
+sdr :: offset: 0x3a0, out: 0x3300000000000000, outHI: 0x0
+sdr :: offset: 0x3a1, out: 0x338b000000000000, outHI: 0x0
+sdr :: offset: 0x3a2, out: 0x338bb90000000000, outHI: 0x0
+sdr :: offset: 0x3a3, out: 0x338bb93800000000, outHI: 0x0
+sdr :: offset: 0x3a4, out: 0x338bb938e3000000, outHI: 0x0
+sdr :: offset: 0x3a5, out: 0x338bb938e3150000, outHI: 0x0
+sdr :: offset: 0x3a6, out: 0x338bb938e3155e00, outHI: 0x0
+sdr :: offset: 0x3a7, out: 0x338bb938e3155ec9, outHI: 0x0
+sdr :: offset: 0x3a8, out: 0xdc00000000000000, outHI: 0x0
+sdr :: offset: 0x3a9, out: 0xdcd2000000000000, outHI: 0x0
+sdr :: offset: 0x3aa, out: 0xdcd2df0000000000, outHI: 0x0
+sdr :: offset: 0x3ab, out: 0xdcd2df2500000000, outHI: 0x0
+sdr :: offset: 0x3ac, out: 0xdcd2df25c4000000, outHI: 0x0
+sdr :: offset: 0x3ad, out: 0xdcd2df25c4190000, outHI: 0x0
+sdr :: offset: 0x3ae, out: 0xdcd2df25c4194700, outHI: 0x0
+sdr :: offset: 0x3af, out: 0xdcd2df25c4194782, outHI: 0x0
+sdr :: offset: 0x3b0, out: 0x600000000000000, outHI: 0x0
+sdr :: offset: 0x3b1, out: 0x6bc000000000000, outHI: 0x0
+sdr :: offset: 0x3b2, out: 0x6bc650000000000, outHI: 0x0
+sdr :: offset: 0x3b3, out: 0x6bc65bf00000000, outHI: 0x0
+sdr :: offset: 0x3b4, out: 0x6bc65bf27000000, outHI: 0x0
+sdr :: offset: 0x3b5, out: 0x6bc65bf27eb0000, outHI: 0x0
+sdr :: offset: 0x3b6, out: 0x6bc65bf27eb3200, outHI: 0x0
+sdr :: offset: 0x3b7, out: 0x6bc65bf27eb3218, outHI: 0x0
+sdr :: offset: 0x3b8, out: 0x2500000000000000, outHI: 0x0
+sdr :: offset: 0x3b9, out: 0x25a8000000000000, outHI: 0x0
+sdr :: offset: 0x3ba, out: 0x25a8b00000000000, outHI: 0x0
+sdr :: offset: 0x3bb, out: 0x25a8b08f00000000, outHI: 0x0
+sdr :: offset: 0x3bc, out: 0x25a8b08fe6000000, outHI: 0x0
+sdr :: offset: 0x3bd, out: 0x25a8b08fe67a0000, outHI: 0x0
+sdr :: offset: 0x3be, out: 0x25a8b08fe67a8b00, outHI: 0x0
+sdr :: offset: 0x3bf, out: 0x25a8b08fe67a8bc7, outHI: 0x0
+sdr :: offset: 0x3c0, out: 0xda00000000000000, outHI: 0x0
+sdr :: offset: 0x3c1, out: 0xda85000000000000, outHI: 0x0
+sdr :: offset: 0x3c2, out: 0xda852b0000000000, outHI: 0x0
+sdr :: offset: 0x3c3, out: 0xda852b5b00000000, outHI: 0x0
+sdr :: offset: 0x3c4, out: 0xda852b5bca000000, outHI: 0x0
+sdr :: offset: 0x3c5, out: 0xda852b5bcaf80000, outHI: 0x0
+sdr :: offset: 0x3c6, out: 0xda852b5bcaf8df00, outHI: 0x0
+sdr :: offset: 0x3c7, out: 0xda852b5bcaf8dfcd, outHI: 0x0
+sdr :: offset: 0x3c8, out: 0xe800000000000000, outHI: 0x0
+sdr :: offset: 0x3c9, out: 0xe804000000000000, outHI: 0x0
+sdr :: offset: 0x3ca, out: 0xe804780000000000, outHI: 0x0
+sdr :: offset: 0x3cb, out: 0xe804789000000000, outHI: 0x0
+sdr :: offset: 0x3cc, out: 0xe80478909b000000, outHI: 0x0
+sdr :: offset: 0x3cd, out: 0xe80478909b590000, outHI: 0x0
+sdr :: offset: 0x3ce, out: 0xe80478909b59a900, outHI: 0x0
+sdr :: offset: 0x3cf, out: 0xe80478909b59a992, outHI: 0x0
+sdr :: offset: 0x3d0, out: 0x6900000000000000, outHI: 0x0
+sdr :: offset: 0x3d1, out: 0x69bf000000000000, outHI: 0x0
+sdr :: offset: 0x3d2, out: 0x69bfb30000000000, outHI: 0x0
+sdr :: offset: 0x3d3, out: 0x69bfb31c00000000, outHI: 0x0
+sdr :: offset: 0x3d4, out: 0x69bfb31cc8000000, outHI: 0x0
+sdr :: offset: 0x3d5, out: 0x69bfb31cc8780000, outHI: 0x0
+sdr :: offset: 0x3d6, out: 0x69bfb31cc8785700, outHI: 0x0
+sdr :: offset: 0x3d7, out: 0x69bfb31cc8785736, outHI: 0x0
+sdr :: offset: 0x3d8, out: 0xf00000000000000, outHI: 0x0
+sdr :: offset: 0x3d9, out: 0xfb6000000000000, outHI: 0x0
+sdr :: offset: 0x3da, out: 0xfb6650000000000, outHI: 0x0
+sdr :: offset: 0x3db, out: 0xfb665ed00000000, outHI: 0x0
+sdr :: offset: 0x3dc, out: 0xfb665ed5e000000, outHI: 0x0
+sdr :: offset: 0x3dd, out: 0xfb665ed5e7f0000, outHI: 0x0
+sdr :: offset: 0x3de, out: 0xfb665ed5e7f8900, outHI: 0x0
+sdr :: offset: 0x3df, out: 0xfb665ed5e7f89e9, outHI: 0x0
+sdr :: offset: 0x3e0, out: 0xa200000000000000, outHI: 0x0
+sdr :: offset: 0x3e1, out: 0xa215000000000000, outHI: 0x0
+sdr :: offset: 0x3e2, out: 0xa215da0000000000, outHI: 0x0
+sdr :: offset: 0x3e3, out: 0xa215da9400000000, outHI: 0x0
+sdr :: offset: 0x3e4, out: 0xa215da9474000000, outHI: 0x0
+sdr :: offset: 0x3e5, out: 0xa215da9474b70000, outHI: 0x0
+sdr :: offset: 0x3e6, out: 0xa215da9474b7a800, outHI: 0x0
+sdr :: offset: 0x3e7, out: 0xa215da9474b7a8d5, outHI: 0x0
+sdr :: offset: 0x3e8, out: 0xe400000000000000, outHI: 0x0
+sdr :: offset: 0x3e9, out: 0xe4f6000000000000, outHI: 0x0
+sdr :: offset: 0x3ea, out: 0xe4f6b30000000000, outHI: 0x0
+sdr :: offset: 0x3eb, out: 0xe4f6b35300000000, outHI: 0x0
+sdr :: offset: 0x3ec, out: 0xe4f6b3537d000000, outHI: 0x0
+sdr :: offset: 0x3ed, out: 0xe4f6b3537d2a0000, outHI: 0x0
+sdr :: offset: 0x3ee, out: 0xe4f6b3537d2af900, outHI: 0x0
+sdr :: offset: 0x3ef, out: 0xe4f6b3537d2af90f, outHI: 0x0
+sdr :: offset: 0x3f0, out: 0xcc00000000000000, outHI: 0x0
+sdr :: offset: 0x3f1, out: 0xcc22000000000000, outHI: 0x0
+sdr :: offset: 0x3f2, out: 0xcc223d0000000000, outHI: 0x0
+sdr :: offset: 0x3f3, out: 0xcc223d7c00000000, outHI: 0x0
+sdr :: offset: 0x3f4, out: 0xcc223d7cfe000000, outHI: 0x0
+sdr :: offset: 0x3f5, out: 0xcc223d7cfe2b0000, outHI: 0x0
+sdr :: offset: 0x3f6, out: 0xcc223d7cfe2b9600, outHI: 0x0
+sdr :: offset: 0x3f7, out: 0xcc223d7cfe2b9618, outHI: 0x0
+sdr :: offset: 0x3f8, out: 0x9700000000000000, outHI: 0x0
+sdr :: offset: 0x3f9, out: 0x9742000000000000, outHI: 0x0
+sdr :: offset: 0x3fa, out: 0x97420b0000000000, outHI: 0x0
+sdr :: offset: 0x3fb, out: 0x97420b3400000000, outHI: 0x0
+sdr :: offset: 0x3fc, out: 0x97420b34f5000000, outHI: 0x0
+sdr :: offset: 0x3fd, out: 0x97420b34f5330000, outHI: 0x0
+sdr :: offset: 0x3fe, out: 0x97420b34f5337300, outHI: 0x0
+sdr :: offset: 0x3ff, out: 0x97420b34f533734a, outHI: 0x0
+sdr :: offset: 0x400, out: 0x4b00000000000000, outHI: 0x0
+sdr :: offset: 0x401, out: 0x4b89000000000000, outHI: 0x0
+sdr :: offset: 0x402, out: 0x4b897c0000000000, outHI: 0x0
+sdr :: offset: 0x403, out: 0x4b897c8c00000000, outHI: 0x0
+sdr :: offset: 0x404, out: 0x4b897c8c8d000000, outHI: 0x0
+sdr :: offset: 0x405, out: 0x4b897c8c8ddd0000, outHI: 0x0
+sdr :: offset: 0x406, out: 0x4b897c8c8ddd4600, outHI: 0x0
+sdr :: offset: 0x407, out: 0x4b897c8c8ddd46b3, outHI: 0x0
+sdr :: offset: 0x408, out: 0x3c00000000000000, outHI: 0x0
+sdr :: offset: 0x409, out: 0x3c7a000000000000, outHI: 0x0
+sdr :: offset: 0x40a, out: 0x3c7a380000000000, outHI: 0x0
+sdr :: offset: 0x40b, out: 0x3c7a387400000000, outHI: 0x0
+sdr :: offset: 0x40c, out: 0x3c7a387445000000, outHI: 0x0
+sdr :: offset: 0x40d, out: 0x3c7a387445e30000, outHI: 0x0
+sdr :: offset: 0x40e, out: 0x3c7a387445e39200, outHI: 0x0
+sdr :: offset: 0x40f, out: 0x3c7a387445e392cc, outHI: 0x0
+sdr :: offset: 0x410, out: 0xd900000000000000, outHI: 0x0
+sdr :: offset: 0x411, out: 0xd951000000000000, outHI: 0x0
+sdr :: offset: 0x412, out: 0xd9512f0000000000, outHI: 0x0
+sdr :: offset: 0x413, out: 0xd9512f2900000000, outHI: 0x0
+sdr :: offset: 0x414, out: 0xd9512f29b1000000, outHI: 0x0
+sdr :: offset: 0x415, out: 0xd9512f29b1d80000, outHI: 0x0
+sdr :: offset: 0x416, out: 0xd9512f29b1d80000, outHI: 0x0
+sdr :: offset: 0x417, out: 0xd9512f29b1d80000, outHI: 0x0
+sdr :: offset: 0x418, out: 0xc900000000000000, outHI: 0x0
+sdr :: offset: 0x419, out: 0xc9ea000000000000, outHI: 0x0
+sdr :: offset: 0x41a, out: 0xc9eade0000000000, outHI: 0x0
+sdr :: offset: 0x41b, out: 0xc9eaded500000000, outHI: 0x0
+sdr :: offset: 0x41c, out: 0xc9eaded5c5000000, outHI: 0x0
+sdr :: offset: 0x41d, out: 0xc9eaded5c53d0000, outHI: 0x0
+sdr :: offset: 0x41e, out: 0xc9eaded5c53dad00, outHI: 0x0
+sdr :: offset: 0x41f, out: 0xc9eaded5c53dad02, outHI: 0x0
+sdr :: offset: 0x420, out: 0xa00000000000000, outHI: 0x0
+sdr :: offset: 0x421, out: 0xa8a000000000000, outHI: 0x0
+sdr :: offset: 0x422, out: 0xa8a620000000000, outHI: 0x0
+sdr :: offset: 0x423, out: 0xa8a622900000000, outHI: 0x0
+sdr :: offset: 0x424, out: 0xa8a6229d7000000, outHI: 0x0
+sdr :: offset: 0x425, out: 0xa8a6229d7310000, outHI: 0x0
+sdr :: offset: 0x426, out: 0xa8a6229d731ee00, outHI: 0x0
+sdr :: offset: 0x427, out: 0xa8a6229d731eea3, outHI: 0x0
+sdr :: offset: 0x428, out: 0x5b00000000000000, outHI: 0x0
+sdr :: offset: 0x429, out: 0x5b2c000000000000, outHI: 0x0
+sdr :: offset: 0x42a, out: 0x5b2c3c0000000000, outHI: 0x0
+sdr :: offset: 0x42b, out: 0x5b2c3c3f00000000, outHI: 0x0
+sdr :: offset: 0x42c, out: 0x5b2c3c3f9e000000, outHI: 0x0
+sdr :: offset: 0x42d, out: 0x5b2c3c3f9e480000, outHI: 0x0
+sdr :: offset: 0x42e, out: 0x5b2c3c3f9e489800, outHI: 0x0
+sdr :: offset: 0x42f, out: 0x5b2c3c3f9e489856, outHI: 0x0
+sdr :: offset: 0x430, out: 0x4900000000000000, outHI: 0x0
+sdr :: offset: 0x431, out: 0x497f000000000000, outHI: 0x0
+sdr :: offset: 0x432, out: 0x497ff60000000000, outHI: 0x0
+sdr :: offset: 0x433, out: 0x497ff61e00000000, outHI: 0x0
+sdr :: offset: 0x434, out: 0x497ff61e78000000, outHI: 0x0
+sdr :: offset: 0x435, out: 0x497ff61e78dc0000, outHI: 0x0
+sdr :: offset: 0x436, out: 0x497ff61e78dc9c00, outHI: 0x0
+sdr :: offset: 0x437, out: 0x497ff61e78dc9c0b, outHI: 0x0
+sdr :: offset: 0x438, out: 0x7700000000000000, outHI: 0x0
+sdr :: offset: 0x439, out: 0x7722000000000000, outHI: 0x0
+sdr :: offset: 0x43a, out: 0x7722990000000000, outHI: 0x0
+sdr :: offset: 0x43b, out: 0x772299b000000000, outHI: 0x0
+sdr :: offset: 0x43c, out: 0x772299b0e0000000, outHI: 0x0
+sdr :: offset: 0x43d, out: 0x772299b0e01d0000, outHI: 0x0
+sdr :: offset: 0x43e, out: 0x772299b0e01d5e00, outHI: 0x0
+sdr :: offset: 0x43f, out: 0x772299b0e01d5e68, outHI: 0x0
+sdr :: offset: 0x440, out: 0xec00000000000000, outHI: 0x0
+sdr :: offset: 0x441, out: 0xec7c000000000000, outHI: 0x0
+sdr :: offset: 0x442, out: 0xec7c3b0000000000, outHI: 0x0
+sdr :: offset: 0x443, out: 0xec7c3b0400000000, outHI: 0x0
+sdr :: offset: 0x444, out: 0xec7c3b0467000000, outHI: 0x0
+sdr :: offset: 0x445, out: 0xec7c3b04673d0000, outHI: 0x0
+sdr :: offset: 0x446, out: 0xec7c3b04673d0c00, outHI: 0x0
+sdr :: offset: 0x447, out: 0xec7c3b04673d0c6e, outHI: 0x0
+sdr :: offset: 0x448, out: 0x2500000000000000, outHI: 0x0
+sdr :: offset: 0x449, out: 0x2516000000000000, outHI: 0x0
+sdr :: offset: 0x44a, out: 0x25164e0000000000, outHI: 0x0
+sdr :: offset: 0x44b, out: 0x25164e1700000000, outHI: 0x0
+sdr :: offset: 0x44c, out: 0x25164e17c1000000, outHI: 0x0
+sdr :: offset: 0x44d, out: 0x25164e17c1e70000, outHI: 0x0
+sdr :: offset: 0x44e, out: 0x25164e17c1e7fb00, outHI: 0x0
+sdr :: offset: 0x44f, out: 0x25164e17c1e7fb65, outHI: 0x0
+sdr :: offset: 0x450, out: 0x8700000000000000, outHI: 0x0
+sdr :: offset: 0x451, out: 0x87fa000000000000, outHI: 0x0
+sdr :: offset: 0x452, out: 0x87fa4c0000000000, outHI: 0x0
+sdr :: offset: 0x453, out: 0x87fa4ca200000000, outHI: 0x0
+sdr :: offset: 0x454, out: 0x87fa4ca28b000000, outHI: 0x0
+sdr :: offset: 0x455, out: 0x87fa4ca28b560000, outHI: 0x0
+sdr :: offset: 0x456, out: 0x87fa4ca28b56d400, outHI: 0x0
+sdr :: offset: 0x457, out: 0x87fa4ca28b56d495, outHI: 0x0
+sdr :: offset: 0x458, out: 0xb00000000000000, outHI: 0x0
+sdr :: offset: 0x459, out: 0xbe5000000000000, outHI: 0x0
+sdr :: offset: 0x45a, out: 0xbe5e90000000000, outHI: 0x0
+sdr :: offset: 0x45b, out: 0xbe5e9a300000000, outHI: 0x0
+sdr :: offset: 0x45c, out: 0xbe5e9a314000000, outHI: 0x0
+sdr :: offset: 0x45d, out: 0xbe5e9a314be0000, outHI: 0x0
+sdr :: offset: 0x45e, out: 0xbe5e9a314be7f00, outHI: 0x0
+sdr :: offset: 0x45f, out: 0xbe5e9a314be7fa0, outHI: 0x0
+sdr :: offset: 0x460, out: 0x8a00000000000000, outHI: 0x0
+sdr :: offset: 0x461, out: 0x8af8000000000000, outHI: 0x0
+sdr :: offset: 0x462, out: 0x8af8be0000000000, outHI: 0x0
+sdr :: offset: 0x463, out: 0x8af8be8100000000, outHI: 0x0
+sdr :: offset: 0x464, out: 0x8af8be8164000000, outHI: 0x0
+sdr :: offset: 0x465, out: 0x8af8be8164150000, outHI: 0x0
+sdr :: offset: 0x466, out: 0x8af8be8164159600, outHI: 0x0
+sdr :: offset: 0x467, out: 0x8af8be8164159649, outHI: 0x0
+sdr :: offset: 0x468, out: 0xc500000000000000, outHI: 0x0
+sdr :: offset: 0x469, out: 0xc57c000000000000, outHI: 0x0
+sdr :: offset: 0x46a, out: 0xc57ca30000000000, outHI: 0x0
+sdr :: offset: 0x46b, out: 0xc57ca32500000000, outHI: 0x0
+sdr :: offset: 0x46c, out: 0xc57ca32597000000, outHI: 0x0
+sdr :: offset: 0x46d, out: 0xc57ca32597840000, outHI: 0x0
+sdr :: offset: 0x46e, out: 0xc57ca3259784e600, outHI: 0x0
+sdr :: offset: 0x46f, out: 0xc57ca3259784e69b, outHI: 0x0
+sdr :: offset: 0x470, out: 0x1700000000000000, outHI: 0x0
+sdr :: offset: 0x471, out: 0x17fc000000000000, outHI: 0x0
+sdr :: offset: 0x472, out: 0x17fc8d0000000000, outHI: 0x0
+sdr :: offset: 0x473, out: 0x17fc8d5400000000, outHI: 0x0
+sdr :: offset: 0x474, out: 0x17fc8d543c000000, outHI: 0x0
+sdr :: offset: 0x475, out: 0x17fc8d543ca10000, outHI: 0x0
+sdr :: offset: 0x476, out: 0x17fc8d543ca1f200, outHI: 0x0
+sdr :: offset: 0x477, out: 0x17fc8d543ca1f24f, outHI: 0x0
+sdr :: offset: 0x478, out: 0x5c00000000000000, outHI: 0x0
+sdr :: offset: 0x479, out: 0x5c4a000000000000, outHI: 0x0
+sdr :: offset: 0x47a, out: 0x5c4aeb0000000000, outHI: 0x0
+sdr :: offset: 0x47b, out: 0x5c4aeb6c00000000, outHI: 0x0
+sdr :: offset: 0x47c, out: 0x5c4aeb6ca0000000, outHI: 0x0
+sdr :: offset: 0x47d, out: 0x5c4aeb6ca0e30000, outHI: 0x0
+sdr :: offset: 0x47e, out: 0x5c4aeb6ca0e34500, outHI: 0x0
+sdr :: offset: 0x47f, out: 0x5c4aeb6ca0e3459e, outHI: 0x0
+sdr :: offset: 0x480, out: 0x3600000000000000, outHI: 0x0
+sdr :: offset: 0x481, out: 0x36c5000000000000, outHI: 0x0
+sdr :: offset: 0x482, out: 0x36c5320000000000, outHI: 0x0
+sdr :: offset: 0x483, out: 0x36c532e100000000, outHI: 0x0
+sdr :: offset: 0x484, out: 0x36c532e18e000000, outHI: 0x0
+sdr :: offset: 0x485, out: 0x36c532e18e180000, outHI: 0x0
+sdr :: offset: 0x486, out: 0x36c532e18e187900, outHI: 0x0
+sdr :: offset: 0x487, out: 0x36c532e18e187980, outHI: 0x0
+sdr :: offset: 0x488, out: 0xfa00000000000000, outHI: 0x0
+sdr :: offset: 0x489, out: 0xfab3000000000000, outHI: 0x0
+sdr :: offset: 0x48a, out: 0xfab3fd0000000000, outHI: 0x0
+sdr :: offset: 0x48b, out: 0xfab3fdec00000000, outHI: 0x0
+sdr :: offset: 0x48c, out: 0xfab3fdec29000000, outHI: 0x0
+sdr :: offset: 0x48d, out: 0xfab3fdec294f0000, outHI: 0x0
+sdr :: offset: 0x48e, out: 0xfab3fdec294f2800, outHI: 0x0
+sdr :: offset: 0x48f, out: 0xfab3fdec294f287d, outHI: 0x0
+sdr :: offset: 0x490, out: 0x1c00000000000000, outHI: 0x0
+sdr :: offset: 0x491, out: 0x1cb6000000000000, outHI: 0x0
+sdr :: offset: 0x492, out: 0x1cb6200000000000, outHI: 0x0
+sdr :: offset: 0x493, out: 0x1cb6206600000000, outHI: 0x0
+sdr :: offset: 0x494, out: 0x1cb620660a000000, outHI: 0x0
+sdr :: offset: 0x495, out: 0x1cb620660a490000, outHI: 0x0
+sdr :: offset: 0x496, out: 0x1cb620660a497300, outHI: 0x0
+sdr :: offset: 0x497, out: 0x1cb620660a49732b, outHI: 0x0
+sdr :: offset: 0x498, out: 0x9000000000000000, outHI: 0x0
+sdr :: offset: 0x499, out: 0x9099000000000000, outHI: 0x0
+sdr :: offset: 0x49a, out: 0x9099310000000000, outHI: 0x0
+sdr :: offset: 0x49b, out: 0x9099313800000000, outHI: 0x0
+sdr :: offset: 0x49c, out: 0x90993138f1000000, outHI: 0x0
+sdr :: offset: 0x49d, out: 0x90993138f16c0000, outHI: 0x0
+sdr :: offset: 0x49e, out: 0x90993138f16cfd00, outHI: 0x0
+sdr :: offset: 0x49f, out: 0x90993138f16cfde9, outHI: 0x0
+sdr :: offset: 0x4a0, out: 0x9100000000000000, outHI: 0x0
+sdr :: offset: 0x4a1, out: 0x91de000000000000, outHI: 0x0
+sdr :: offset: 0x4a2, out: 0x91de020000000000, outHI: 0x0
+sdr :: offset: 0x4a3, out: 0x91de02d100000000, outHI: 0x0
+sdr :: offset: 0x4a4, out: 0x91de02d133000000, outHI: 0x0
+sdr :: offset: 0x4a5, out: 0x91de02d1337d0000, outHI: 0x0
+sdr :: offset: 0x4a6, out: 0x91de02d1337d5400, outHI: 0x0
+sdr :: offset: 0x4a7, out: 0x91de02d1337d5407, outHI: 0x0
+sdr :: offset: 0x4a8, out: 0xb900000000000000, outHI: 0x0
+sdr :: offset: 0x4a9, out: 0xb913000000000000, outHI: 0x0
+sdr :: offset: 0x4aa, out: 0xb913a30000000000, outHI: 0x0
+sdr :: offset: 0x4ab, out: 0xb913a39000000000, outHI: 0x0
+sdr :: offset: 0x4ac, out: 0xb913a390e1000000, outHI: 0x0
+sdr :: offset: 0x4ad, out: 0xb913a390e1e10000, outHI: 0x0
+sdr :: offset: 0x4ae, out: 0xb913a390e1e1da00, outHI: 0x0
+sdr :: offset: 0x4af, out: 0xb913a390e1e1dab1, outHI: 0x0
+sdr :: offset: 0x4b0, out: 0x5a00000000000000, outHI: 0x0
+sdr :: offset: 0x4b1, out: 0x5a74000000000000, outHI: 0x0
+sdr :: offset: 0x4b2, out: 0x5a74340000000000, outHI: 0x0
+sdr :: offset: 0x4b3, out: 0x5a74349100000000, outHI: 0x0
+sdr :: offset: 0x4b4, out: 0x5a743491a6000000, outHI: 0x0
+sdr :: offset: 0x4b5, out: 0x5a743491a6820000, outHI: 0x0
+sdr :: offset: 0x4b6, out: 0x5a743491a6828700, outHI: 0x0
+sdr :: offset: 0x4b7, out: 0x5a743491a6828716, outHI: 0x0
+sdr :: offset: 0x4b8, out: 0xc800000000000000, outHI: 0x0
+sdr :: offset: 0x4b9, out: 0xc88c000000000000, outHI: 0x0
+sdr :: offset: 0x4ba, out: 0xc88cff0000000000, outHI: 0x0
+sdr :: offset: 0x4bb, out: 0xc88cff4000000000, outHI: 0x0
+sdr :: offset: 0x4bc, out: 0xc88cff404a000000, outHI: 0x0
+sdr :: offset: 0x4bd, out: 0xc88cff404aed0000, outHI: 0x0
+sdr :: offset: 0x4be, out: 0xc88cff404aede200, outHI: 0x0
+sdr :: offset: 0x4bf, out: 0xc88cff404aede292, outHI: 0x0
+sdr :: offset: 0x4c0, out: 0xf200000000000000, outHI: 0x0
+sdr :: offset: 0x4c1, out: 0xf2b9000000000000, outHI: 0x0
+sdr :: offset: 0x4c2, out: 0xf2b9ce0000000000, outHI: 0x0
+sdr :: offset: 0x4c3, out: 0xf2b9cec000000000, outHI: 0x0
+sdr :: offset: 0x4c4, out: 0xf2b9cec0db000000, outHI: 0x0
+sdr :: offset: 0x4c5, out: 0xf2b9cec0db1f0000, outHI: 0x0
+sdr :: offset: 0x4c6, out: 0xf2b9cec0db1f8300, outHI: 0x0
+sdr :: offset: 0x4c7, out: 0xf2b9cec0db1f8376, outHI: 0x0
+sdr :: offset: 0x4c8, out: 0x3600000000000000, outHI: 0x0
+sdr :: offset: 0x4c9, out: 0x362e000000000000, outHI: 0x0
+sdr :: offset: 0x4ca, out: 0x362eaa0000000000, outHI: 0x0
+sdr :: offset: 0x4cb, out: 0x362eaa5a00000000, outHI: 0x0
+sdr :: offset: 0x4cc, out: 0x362eaa5aa7000000, outHI: 0x0
+sdr :: offset: 0x4cd, out: 0x362eaa5aa7050000, outHI: 0x0
+sdr :: offset: 0x4ce, out: 0x362eaa5aa7050900, outHI: 0x0
+sdr :: offset: 0x4cf, out: 0x362eaa5aa7050977, outHI: 0x0
+sdr :: offset: 0x4d0, out: 0x1c00000000000000, outHI: 0x0
+sdr :: offset: 0x4d1, out: 0x1cd3000000000000, outHI: 0x0
+sdr :: offset: 0x4d2, out: 0x1cd3270000000000, outHI: 0x0
+sdr :: offset: 0x4d3, out: 0x1cd3275300000000, outHI: 0x0
+sdr :: offset: 0x4d4, out: 0x1cd327538e000000, outHI: 0x0
+sdr :: offset: 0x4d5, out: 0x1cd327538e180000, outHI: 0x0
+sdr :: offset: 0x4d6, out: 0x1cd327538e187500, outHI: 0x0
+sdr :: offset: 0x4d7, out: 0x1cd327538e187524, outHI: 0x0
+sdr :: offset: 0x4d8, out: 0x1b00000000000000, outHI: 0x0
+sdr :: offset: 0x4d9, out: 0x1b42000000000000, outHI: 0x0
+sdr :: offset: 0x4da, out: 0x1b42e90000000000, outHI: 0x0
+sdr :: offset: 0x4db, out: 0x1b42e9f800000000, outHI: 0x0
+sdr :: offset: 0x4dc, out: 0x1b42e9f854000000, outHI: 0x0
+sdr :: offset: 0x4dd, out: 0x1b42e9f8548b0000, outHI: 0x0
+sdr :: offset: 0x4de, out: 0x1b42e9f8548b7300, outHI: 0x0
+sdr :: offset: 0x4df, out: 0x1b42e9f8548b739b, outHI: 0x0
+sdr :: offset: 0x4e0, out: 0x6b00000000000000, outHI: 0x0
+sdr :: offset: 0x4e1, out: 0x6b78000000000000, outHI: 0x0
+sdr :: offset: 0x4e2, out: 0x6b78e40000000000, outHI: 0x0
+sdr :: offset: 0x4e3, out: 0x6b78e4e500000000, outHI: 0x0
+sdr :: offset: 0x4e4, out: 0x6b78e4e50c000000, outHI: 0x0
+sdr :: offset: 0x4e5, out: 0x6b78e4e50cec0000, outHI: 0x0
+sdr :: offset: 0x4e6, out: 0x6b78e4e50ceccb00, outHI: 0x0
+sdr :: offset: 0x4e7, out: 0x6b78e4e50ceccbba, outHI: 0x0
+sdr :: offset: 0x4e8, out: 0x1a00000000000000, outHI: 0x0
+sdr :: offset: 0x4e9, out: 0x1af6000000000000, outHI: 0x0
+sdr :: offset: 0x4ea, out: 0x1af6b60000000000, outHI: 0x0
+sdr :: offset: 0x4eb, out: 0x1af6b6fa00000000, outHI: 0x0
+sdr :: offset: 0x4ec, out: 0x1af6b6fa3f000000, outHI: 0x0
+sdr :: offset: 0x4ed, out: 0x1af6b6fa3fcd0000, outHI: 0x0
+sdr :: offset: 0x4ee, out: 0x1af6b6fa3fcd9d00, outHI: 0x0
+sdr :: offset: 0x4ef, out: 0x1af6b6fa3fcd9d27, outHI: 0x0
+sdr :: offset: 0x4f0, out: 0xcb00000000000000, outHI: 0x0
+sdr :: offset: 0x4f1, out: 0xcb73000000000000, outHI: 0x0
+sdr :: offset: 0x4f2, out: 0xcb73910000000000, outHI: 0x0
+sdr :: offset: 0x4f3, out: 0xcb73916400000000, outHI: 0x0
+sdr :: offset: 0x4f4, out: 0xcb73916483000000, outHI: 0x0
+sdr :: offset: 0x4f5, out: 0xcb73916483ae0000, outHI: 0x0
+sdr :: offset: 0x4f6, out: 0xcb73916483ae3e00, outHI: 0x0
+sdr :: offset: 0x4f7, out: 0xcb73916483ae3e94, outHI: 0x0
+sdr :: offset: 0x4f8, out: 0x2300000000000000, outHI: 0x0
+sdr :: offset: 0x4f9, out: 0x2327000000000000, outHI: 0x0
+sdr :: offset: 0x4fa, out: 0x23276a0000000000, outHI: 0x0
+sdr :: offset: 0x4fb, out: 0x23276af700000000, outHI: 0x0
+sdr :: offset: 0x4fc, out: 0x23276af70a000000, outHI: 0x0
+sdr :: offset: 0x4fd, out: 0x23276af70a0e0000, outHI: 0x0
+sdr :: offset: 0x4fe, out: 0x23276af70a0e1200, outHI: 0x0
+sdr :: offset: 0x4ff, out: 0x23276af70a0e1285, outHI: 0x0
+sdr :: offset: 0x500, out: 0x6100000000000000, outHI: 0x0
+sdr :: offset: 0x501, out: 0x6103000000000000, outHI: 0x0
+sdr :: offset: 0x502, out: 0x6103040000000000, outHI: 0x0
+sdr :: offset: 0x503, out: 0x6103045b00000000, outHI: 0x0
+sdr :: offset: 0x504, out: 0x6103045bf6000000, outHI: 0x0
+sdr :: offset: 0x505, out: 0x6103045bf6b50000, outHI: 0x0
+sdr :: offset: 0x506, out: 0x6103045bf6b5e700, outHI: 0x0
+sdr :: offset: 0x507, out: 0x6103045bf6b5e74b, outHI: 0x0
+sdr :: offset: 0x508, out: 0x6e00000000000000, outHI: 0x0
+sdr :: offset: 0x509, out: 0x6e20000000000000, outHI: 0x0
+sdr :: offset: 0x50a, out: 0x6e20220000000000, outHI: 0x0
+sdr :: offset: 0x50b, out: 0x6e20223f00000000, outHI: 0x0
+sdr :: offset: 0x50c, out: 0x6e20223f13000000, outHI: 0x0
+sdr :: offset: 0x50d, out: 0x6e20223f13080000, outHI: 0x0
+sdr :: offset: 0x50e, out: 0x6e20223f1308ac00, outHI: 0x0
+sdr :: offset: 0x50f, out: 0x6e20223f1308accf, outHI: 0x0
+sdr :: offset: 0x510, out: 0xa600000000000000, outHI: 0x0
+sdr :: offset: 0x511, out: 0xa6f8000000000000, outHI: 0x0
+sdr :: offset: 0x512, out: 0xa6f83c0000000000, outHI: 0x0
+sdr :: offset: 0x513, out: 0xa6f83c5500000000, outHI: 0x0
+sdr :: offset: 0x514, out: 0xa6f83c5574000000, outHI: 0x0
+sdr :: offset: 0x515, out: 0xa6f83c5574390000, outHI: 0x0
+sdr :: offset: 0x516, out: 0xa6f83c5574397600, outHI: 0x0
+sdr :: offset: 0x517, out: 0xa6f83c55743976b5, outHI: 0x0
+sdr :: offset: 0x518, out: 0xf500000000000000, outHI: 0x0
+sdr :: offset: 0x519, out: 0xf51f000000000000, outHI: 0x0
+sdr :: offset: 0x51a, out: 0xf51f970000000000, outHI: 0x0
+sdr :: offset: 0x51b, out: 0xf51f972000000000, outHI: 0x0
+sdr :: offset: 0x51c, out: 0xf51f9720f9000000, outHI: 0x0
+sdr :: offset: 0x51d, out: 0xf51f9720f9460000, outHI: 0x0
+sdr :: offset: 0x51e, out: 0xf51f9720f9469200, outHI: 0x0
+sdr :: offset: 0x51f, out: 0xf51f9720f946923c, outHI: 0x0
+sdr :: offset: 0x520, out: 0x3d00000000000000, outHI: 0x0
+sdr :: offset: 0x521, out: 0x3d62000000000000, outHI: 0x0
+sdr :: offset: 0x522, out: 0x3d620d0000000000, outHI: 0x0
+sdr :: offset: 0x523, out: 0x3d620d2800000000, outHI: 0x0
+sdr :: offset: 0x524, out: 0x3d620d2850000000, outHI: 0x0
+sdr :: offset: 0x525, out: 0x3d620d28506d0000, outHI: 0x0
+sdr :: offset: 0x526, out: 0x3d620d28506d2400, outHI: 0x0
+sdr :: offset: 0x527, out: 0x3d620d28506d2448, outHI: 0x0
+sdr :: offset: 0x528, out: 0xdd00000000000000, outHI: 0x0
+sdr :: offset: 0x529, out: 0xdd60000000000000, outHI: 0x0
+sdr :: offset: 0x52a, out: 0xdd60a50000000000, outHI: 0x0
+sdr :: offset: 0x52b, out: 0xdd60a52100000000, outHI: 0x0
+sdr :: offset: 0x52c, out: 0xdd60a521e9000000, outHI: 0x0
+sdr :: offset: 0x52d, out: 0xdd60a521e99f0000, outHI: 0x0
+sdr :: offset: 0x52e, out: 0xdd60a521e99ff400, outHI: 0x0
+sdr :: offset: 0x52f, out: 0xdd60a521e99ff4a7, outHI: 0x0
+sdr :: offset: 0x530, out: 0x3200000000000000, outHI: 0x0
+sdr :: offset: 0x531, out: 0x325a000000000000, outHI: 0x0
+sdr :: offset: 0x532, out: 0x325a080000000000, outHI: 0x0
+sdr :: offset: 0x533, out: 0x325a08f300000000, outHI: 0x0
+sdr :: offset: 0x534, out: 0x325a08f3ab000000, outHI: 0x0
+sdr :: offset: 0x535, out: 0x325a08f3ab5c0000, outHI: 0x0
+sdr :: offset: 0x536, out: 0x325a08f3ab5c6800, outHI: 0x0
+sdr :: offset: 0x537, out: 0x325a08f3ab5c680f, outHI: 0x0
+sdr :: offset: 0x538, out: 0xb00000000000000, outHI: 0x0
+sdr :: offset: 0x539, out: 0xbc7000000000000, outHI: 0x0
+sdr :: offset: 0x53a, out: 0xbc7a50000000000, outHI: 0x0
+sdr :: offset: 0x53b, out: 0xbc7a59b00000000, outHI: 0x0
+sdr :: offset: 0x53c, out: 0xbc7a59be7000000, outHI: 0x0
+sdr :: offset: 0x53d, out: 0xbc7a59be7800000, outHI: 0x0
+sdr :: offset: 0x53e, out: 0xbc7a59be7800f00, outHI: 0x0
+sdr :: offset: 0x53f, out: 0xbc7a59be7800f3d, outHI: 0x0
+sdr :: offset: 0x540, out: 0x2600000000000000, outHI: 0x0
+sdr :: offset: 0x541, out: 0x261a000000000000, outHI: 0x0
+sdr :: offset: 0x542, out: 0x261aec0000000000, outHI: 0x0
+sdr :: offset: 0x543, out: 0x261aecdf00000000, outHI: 0x0
+sdr :: offset: 0x544, out: 0x261aecdf29000000, outHI: 0x0
+sdr :: offset: 0x545, out: 0x261aecdf29820000, outHI: 0x0
+sdr :: offset: 0x546, out: 0x261aecdf2982ca00, outHI: 0x0
+sdr :: offset: 0x547, out: 0x261aecdf2982ca1b, outHI: 0x0
+sdr :: offset: 0x548, out: 0x4100000000000000, outHI: 0x0
+sdr :: offset: 0x549, out: 0x412b000000000000, outHI: 0x0
+sdr :: offset: 0x54a, out: 0x412b860000000000, outHI: 0x0
+sdr :: offset: 0x54b, out: 0x412b861300000000, outHI: 0x0
+sdr :: offset: 0x54c, out: 0x412b8613a2000000, outHI: 0x0
+sdr :: offset: 0x54d, out: 0x412b8613a2600000, outHI: 0x0
+sdr :: offset: 0x54e, out: 0x412b8613a260d100, outHI: 0x0
+sdr :: offset: 0x54f, out: 0x412b8613a260d19d, outHI: 0x0
+sdr :: offset: 0x550, out: 0xcd00000000000000, outHI: 0x0
+sdr :: offset: 0x551, out: 0xcd25000000000000, outHI: 0x0
+sdr :: offset: 0x552, out: 0xcd25180000000000, outHI: 0x0
+sdr :: offset: 0x553, out: 0xcd2518ac00000000, outHI: 0x0
+sdr :: offset: 0x554, out: 0xcd2518ac8b000000, outHI: 0x0
+sdr :: offset: 0x555, out: 0xcd2518ac8b0e0000, outHI: 0x0
+sdr :: offset: 0x556, out: 0xcd2518ac8b0e8b00, outHI: 0x0
+sdr :: offset: 0x557, out: 0xcd2518ac8b0e8bbe, outHI: 0x0
+sdr :: offset: 0x558, out: 0x7f00000000000000, outHI: 0x0
+sdr :: offset: 0x559, out: 0x7f74000000000000, outHI: 0x0
+sdr :: offset: 0x55a, out: 0x7f743e0000000000, outHI: 0x0
+sdr :: offset: 0x55b, out: 0x7f743e5600000000, outHI: 0x0
+sdr :: offset: 0x55c, out: 0x7f743e568d000000, outHI: 0x0
+sdr :: offset: 0x55d, out: 0x7f743e568d2f0000, outHI: 0x0
+sdr :: offset: 0x55e, out: 0x7f743e568d2fcf00, outHI: 0x0
+sdr :: offset: 0x55f, out: 0x7f743e568d2fcf48, outHI: 0x0
+sdr :: offset: 0x560, out: 0x6b00000000000000, outHI: 0x0
+sdr :: offset: 0x561, out: 0x6b12000000000000, outHI: 0x0
+sdr :: offset: 0x562, out: 0x6b126f0000000000, outHI: 0x0
+sdr :: offset: 0x563, out: 0x6b126f6400000000, outHI: 0x0
+sdr :: offset: 0x564, out: 0x6b126f646f000000, outHI: 0x0
+sdr :: offset: 0x565, out: 0x6b126f646f340000, outHI: 0x0
+sdr :: offset: 0x566, out: 0x6b126f646f34c300, outHI: 0x0
+sdr :: offset: 0x567, out: 0x6b126f646f34c317, outHI: 0x0
+sdr :: offset: 0x568, out: 0x2800000000000000, outHI: 0x0
+sdr :: offset: 0x569, out: 0x28aa000000000000, outHI: 0x0
+sdr :: offset: 0x56a, out: 0x28aab00000000000, outHI: 0x0
+sdr :: offset: 0x56b, out: 0x28aab01900000000, outHI: 0x0
+sdr :: offset: 0x56c, out: 0x28aab01961000000, outHI: 0x0
+sdr :: offset: 0x56d, out: 0x28aab01961560000, outHI: 0x0
+sdr :: offset: 0x56e, out: 0x28aab0196156fc00, outHI: 0x0
+sdr :: offset: 0x56f, out: 0x28aab0196156fc4d, outHI: 0x0
+sdr :: offset: 0x570, out: 0x1200000000000000, outHI: 0x0
+sdr :: offset: 0x571, out: 0x1275000000000000, outHI: 0x0
+sdr :: offset: 0x572, out: 0x1275350000000000, outHI: 0x0
+sdr :: offset: 0x573, out: 0x127535cd00000000, outHI: 0x0
+sdr :: offset: 0x574, out: 0x127535cd33000000, outHI: 0x0
+sdr :: offset: 0x575, out: 0x127535cd33850000, outHI: 0x0
+sdr :: offset: 0x576, out: 0x127535cd33859500, outHI: 0x0
+sdr :: offset: 0x577, out: 0x127535cd338595d3, outHI: 0x0
+sdr :: offset: 0x578, out: 0x4200000000000000, outHI: 0x0
+sdr :: offset: 0x579, out: 0x42df000000000000, outHI: 0x0
+sdr :: offset: 0x57a, out: 0x42dfb20000000000, outHI: 0x0
+sdr :: offset: 0x57b, out: 0x42dfb25400000000, outHI: 0x0
+sdr :: offset: 0x57c, out: 0x42dfb254da000000, outHI: 0x0
+sdr :: offset: 0x57d, out: 0x42dfb254da420000, outHI: 0x0
+sdr :: offset: 0x57e, out: 0x42dfb254da422300, outHI: 0x0
+sdr :: offset: 0x57f, out: 0x42dfb254da422346, outHI: 0x0
+sdr :: offset: 0x580, out: 0xec00000000000000, outHI: 0x0
+sdr :: offset: 0x581, out: 0xeca8000000000000, outHI: 0x0
+sdr :: offset: 0x582, out: 0xeca8670000000000, outHI: 0x0
+sdr :: offset: 0x583, out: 0xeca8672600000000, outHI: 0x0
+sdr :: offset: 0x584, out: 0xeca86726c9000000, outHI: 0x0
+sdr :: offset: 0x585, out: 0xeca86726c9000000, outHI: 0x0
+sdr :: offset: 0x586, out: 0xeca86726c9008100, outHI: 0x0
+sdr :: offset: 0x587, out: 0xeca86726c90081ab, outHI: 0x0
+sdr :: offset: 0x588, out: 0x2a00000000000000, outHI: 0x0
+sdr :: offset: 0x589, out: 0x2a9b000000000000, outHI: 0x0
+sdr :: offset: 0x58a, out: 0x2a9bfe0000000000, outHI: 0x0
+sdr :: offset: 0x58b, out: 0x2a9bfeff00000000, outHI: 0x0
+sdr :: offset: 0x58c, out: 0x2a9bfeffa1000000, outHI: 0x0
+sdr :: offset: 0x58d, out: 0x2a9bfeffa1670000, outHI: 0x0
+sdr :: offset: 0x58e, out: 0x2a9bfeffa1679d00, outHI: 0x0
+sdr :: offset: 0x58f, out: 0x2a9bfeffa1679d74, outHI: 0x0
+sdr :: offset: 0x590, out: 0x3800000000000000, outHI: 0x0
+sdr :: offset: 0x591, out: 0x38c7000000000000, outHI: 0x0
+sdr :: offset: 0x592, out: 0x38c7690000000000, outHI: 0x0
+sdr :: offset: 0x593, out: 0x38c7699800000000, outHI: 0x0
+sdr :: offset: 0x594, out: 0x38c7699826000000, outHI: 0x0
+sdr :: offset: 0x595, out: 0x38c7699826b70000, outHI: 0x0
+sdr :: offset: 0x596, out: 0x38c7699826b7de00, outHI: 0x0
+sdr :: offset: 0x597, out: 0x38c7699826b7dee2, outHI: 0x0
+sdr :: offset: 0x598, out: 0x4400000000000000, outHI: 0x0
+sdr :: offset: 0x599, out: 0x443c000000000000, outHI: 0x0
+sdr :: offset: 0x59a, out: 0x443c070000000000, outHI: 0x0
+sdr :: offset: 0x59b, out: 0x443c07af00000000, outHI: 0x0
+sdr :: offset: 0x59c, out: 0x443c07af97000000, outHI: 0x0
+sdr :: offset: 0x59d, out: 0x443c07af97fb0000, outHI: 0x0
+sdr :: offset: 0x59e, out: 0x443c07af97fba600, outHI: 0x0
+sdr :: offset: 0x59f, out: 0x443c07af97fba670, outHI: 0x0
+sdr :: offset: 0x5a0, out: 0x4a00000000000000, outHI: 0x0
+sdr :: offset: 0x5a1, out: 0x4a52000000000000, outHI: 0x0
+sdr :: offset: 0x5a2, out: 0x4a52130000000000, outHI: 0x0
+sdr :: offset: 0x5a3, out: 0x4a52136400000000, outHI: 0x0
+sdr :: offset: 0x5a4, out: 0x4a521364dc000000, outHI: 0x0
+sdr :: offset: 0x5a5, out: 0x4a521364dc040000, outHI: 0x0
+sdr :: offset: 0x5a6, out: 0x4a521364dc04c500, outHI: 0x0
+sdr :: offset: 0x5a7, out: 0x4a521364dc04c58b, outHI: 0x0
+sdr :: offset: 0x5a8, out: 0xfe00000000000000, outHI: 0x0
+sdr :: offset: 0x5a9, out: 0xfee0000000000000, outHI: 0x0
+sdr :: offset: 0x5aa, out: 0xfee0f70000000000, outHI: 0x0
+sdr :: offset: 0x5ab, out: 0xfee0f7bb00000000, outHI: 0x0
+sdr :: offset: 0x5ac, out: 0xfee0f7bb58000000, outHI: 0x0
+sdr :: offset: 0x5ad, out: 0xfee0f7bb589a0000, outHI: 0x0
+sdr :: offset: 0x5ae, out: 0xfee0f7bb589ab700, outHI: 0x0
+sdr :: offset: 0x5af, out: 0xfee0f7bb589ab7ae, outHI: 0x0
+sdr :: offset: 0x5b0, out: 0xbc00000000000000, outHI: 0x0
+sdr :: offset: 0x5b1, out: 0xbce3000000000000, outHI: 0x0
+sdr :: offset: 0x5b2, out: 0xbce3360000000000, outHI: 0x0
+sdr :: offset: 0x5b3, out: 0xbce336c600000000, outHI: 0x0
+sdr :: offset: 0x5b4, out: 0xbce336c60c000000, outHI: 0x0
+sdr :: offset: 0x5b5, out: 0xbce336c60cde0000, outHI: 0x0
+sdr :: offset: 0x5b6, out: 0xbce336c60cdeeb00, outHI: 0x0
+sdr :: offset: 0x5b7, out: 0xbce336c60cdeeb95, outHI: 0x0
+sdr :: offset: 0x5b8, out: 0x4d00000000000000, outHI: 0x0
+sdr :: offset: 0x5b9, out: 0x4dd5000000000000, outHI: 0x0
+sdr :: offset: 0x5ba, out: 0x4dd5b20000000000, outHI: 0x0
+sdr :: offset: 0x5bb, out: 0x4dd5b21200000000, outHI: 0x0
+sdr :: offset: 0x5bc, out: 0x4dd5b2120c000000, outHI: 0x0
+sdr :: offset: 0x5bd, out: 0x4dd5b2120c6f0000, outHI: 0x0
+sdr :: offset: 0x5be, out: 0x4dd5b2120c6f5200, outHI: 0x0
+sdr :: offset: 0x5bf, out: 0x4dd5b2120c6f5241, outHI: 0x0
+sdr :: offset: 0x5c0, out: 0x6e00000000000000, outHI: 0x0
+sdr :: offset: 0x5c1, out: 0x6e85000000000000, outHI: 0x0
+sdr :: offset: 0x5c2, out: 0x6e85a20000000000, outHI: 0x0
+sdr :: offset: 0x5c3, out: 0x6e85a2d400000000, outHI: 0x0
+sdr :: offset: 0x5c4, out: 0x6e85a2d4ff000000, outHI: 0x0
+sdr :: offset: 0x5c5, out: 0x6e85a2d4ff7e0000, outHI: 0x0
+sdr :: offset: 0x5c6, out: 0x6e85a2d4ff7e6200, outHI: 0x0
+sdr :: offset: 0x5c7, out: 0x6e85a2d4ff7e628a, outHI: 0x0
+sdr :: offset: 0x5c8, out: 0x3400000000000000, outHI: 0x0
+sdr :: offset: 0x5c9, out: 0x3498000000000000, outHI: 0x0
+sdr :: offset: 0x5ca, out: 0x34986a0000000000, outHI: 0x0
+sdr :: offset: 0x5cb, out: 0x34986a2b00000000, outHI: 0x0
+sdr :: offset: 0x5cc, out: 0x34986a2b65000000, outHI: 0x0
+sdr :: offset: 0x5cd, out: 0x34986a2b654a0000, outHI: 0x0
+sdr :: offset: 0x5ce, out: 0x34986a2b654a4e00, outHI: 0x0
+sdr :: offset: 0x5cf, out: 0x34986a2b654a4e7e, outHI: 0x0
+sdr :: offset: 0x5d0, out: 0x700000000000000, outHI: 0x0
+sdr :: offset: 0x5d1, out: 0x7a9000000000000, outHI: 0x0
+sdr :: offset: 0x5d2, out: 0x7a9740000000000, outHI: 0x0
+sdr :: offset: 0x5d3, out: 0x7a974ea00000000, outHI: 0x0
+sdr :: offset: 0x5d4, out: 0x7a974eac4000000, outHI: 0x0
+sdr :: offset: 0x5d5, out: 0x7a974eac43a0000, outHI: 0x0
+sdr :: offset: 0x5d6, out: 0x7a974eac43a4800, outHI: 0x0
+sdr :: offset: 0x5d7, out: 0x7a974eac43a489b, outHI: 0x0
+sdr :: offset: 0x5d8, out: 0x5500000000000000, outHI: 0x0
+sdr :: offset: 0x5d9, out: 0x55a3000000000000, outHI: 0x0
+sdr :: offset: 0x5da, out: 0x55a3880000000000, outHI: 0x0
+sdr :: offset: 0x5db, out: 0x55a388c100000000, outHI: 0x0
+sdr :: offset: 0x5dc, out: 0x55a388c162000000, outHI: 0x0
+sdr :: offset: 0x5dd, out: 0x55a388c162720000, outHI: 0x0
+sdr :: offset: 0x5de, out: 0x55a388c16272f100, outHI: 0x0
+sdr :: offset: 0x5df, out: 0x55a388c16272f1f8, outHI: 0x0
+sdr :: offset: 0x5e0, out: 0xf500000000000000, outHI: 0x0
+sdr :: offset: 0x5e1, out: 0xf5e8000000000000, outHI: 0x0
+sdr :: offset: 0x5e2, out: 0xf5e8c10000000000, outHI: 0x0
+sdr :: offset: 0x5e3, out: 0xf5e8c11f00000000, outHI: 0x0
+sdr :: offset: 0x5e4, out: 0xf5e8c11f45000000, outHI: 0x0
+sdr :: offset: 0x5e5, out: 0xf5e8c11f45e70000, outHI: 0x0
+sdr :: offset: 0x5e6, out: 0xf5e8c11f45e74900, outHI: 0x0
+sdr :: offset: 0x5e7, out: 0xf5e8c11f45e7495e, outHI: 0x0
+sdr :: offset: 0x5e8, out: 0xa900000000000000, outHI: 0x0
+sdr :: offset: 0x5e9, out: 0xa9ad000000000000, outHI: 0x0
+sdr :: offset: 0x5ea, out: 0xa9adaa0000000000, outHI: 0x0
+sdr :: offset: 0x5eb, out: 0xa9adaa5a00000000, outHI: 0x0
+sdr :: offset: 0x5ec, out: 0xa9adaa5a76000000, outHI: 0x0
+sdr :: offset: 0x5ed, out: 0xa9adaa5a765c0000, outHI: 0x0
+sdr :: offset: 0x5ee, out: 0xa9adaa5a765cc100, outHI: 0x0
+sdr :: offset: 0x5ef, out: 0xa9adaa5a765cc1c8, outHI: 0x0
+sdr :: offset: 0x5f0, out: 0xb400000000000000, outHI: 0x0
+sdr :: offset: 0x5f1, out: 0xb47a000000000000, outHI: 0x0
+sdr :: offset: 0x5f2, out: 0xb47ab40000000000, outHI: 0x0
+sdr :: offset: 0x5f3, out: 0xb47ab4ce00000000, outHI: 0x0
+sdr :: offset: 0x5f4, out: 0xb47ab4ce88000000, outHI: 0x0
+sdr :: offset: 0x5f5, out: 0xb47ab4ce88df0000, outHI: 0x0
+sdr :: offset: 0x5f6, out: 0xb47ab4ce88dfa600, outHI: 0x0
+sdr :: offset: 0x5f7, out: 0xb47ab4ce88dfa605, outHI: 0x0
+sdr :: offset: 0x5f8, out: 0xc000000000000000, outHI: 0x0
+sdr :: offset: 0x5f9, out: 0xc0b4000000000000, outHI: 0x0
+sdr :: offset: 0x5fa, out: 0xc0b42a0000000000, outHI: 0x0
+sdr :: offset: 0x5fb, out: 0xc0b42ad600000000, outHI: 0x0
+sdr :: offset: 0x5fc, out: 0xc0b42ad6e6000000, outHI: 0x0
+sdr :: offset: 0x5fd, out: 0xc0b42ad6e6590000, outHI: 0x0
+sdr :: offset: 0x5fe, out: 0xc0b42ad6e659a700, outHI: 0x0
+sdr :: offset: 0x5ff, out: 0xc0b42ad6e659a7b0, outHI: 0x0
+sdr :: offset: 0x600, out: 0x4f00000000000000, outHI: 0x0
+sdr :: offset: 0x601, out: 0x4f4b000000000000, outHI: 0x0
+sdr :: offset: 0x602, out: 0x4f4bf80000000000, outHI: 0x0
+sdr :: offset: 0x603, out: 0x4f4bf84800000000, outHI: 0x0
+sdr :: offset: 0x604, out: 0x4f4bf8485a000000, outHI: 0x0
+sdr :: offset: 0x605, out: 0x4f4bf8485ab70000, outHI: 0x0
+sdr :: offset: 0x606, out: 0x4f4bf8485ab72800, outHI: 0x0
+sdr :: offset: 0x607, out: 0x4f4bf8485ab72892, outHI: 0x0
+sdr :: offset: 0x608, out: 0x2f00000000000000, outHI: 0x0
+sdr :: offset: 0x609, out: 0x2f76000000000000, outHI: 0x0
+sdr :: offset: 0x60a, out: 0x2f76a30000000000, outHI: 0x0
+sdr :: offset: 0x60b, out: 0x2f76a3d600000000, outHI: 0x0
+sdr :: offset: 0x60c, out: 0x2f76a3d60c000000, outHI: 0x0
+sdr :: offset: 0x60d, out: 0x2f76a3d60c3b0000, outHI: 0x0
+sdr :: offset: 0x60e, out: 0x2f76a3d60c3b6600, outHI: 0x0
+sdr :: offset: 0x60f, out: 0x2f76a3d60c3b66a7, outHI: 0x0
+sdr :: offset: 0x610, out: 0xfb00000000000000, outHI: 0x0
+sdr :: offset: 0x611, out: 0xfb31000000000000, outHI: 0x0
+sdr :: offset: 0x612, out: 0xfb31e00000000000, outHI: 0x0
+sdr :: offset: 0x613, out: 0xfb31e0c600000000, outHI: 0x0
+sdr :: offset: 0x614, out: 0xfb31e0c6af000000, outHI: 0x0
+sdr :: offset: 0x615, out: 0xfb31e0c6affd0000, outHI: 0x0
+sdr :: offset: 0x616, out: 0xfb31e0c6affdc200, outHI: 0x0
+sdr :: offset: 0x617, out: 0xfb31e0c6affdc28e, outHI: 0x0
+sdr :: offset: 0x618, out: 0xda00000000000000, outHI: 0x0
+sdr :: offset: 0x619, out: 0xda53000000000000, outHI: 0x0
+sdr :: offset: 0x61a, out: 0xda53600000000000, outHI: 0x0
+sdr :: offset: 0x61b, out: 0xda53606b00000000, outHI: 0x0
+sdr :: offset: 0x61c, out: 0xda53606bb4000000, outHI: 0x0
+sdr :: offset: 0x61d, out: 0xda53606bb4bf0000, outHI: 0x0
+sdr :: offset: 0x61e, out: 0xda53606bb4bf0c00, outHI: 0x0
+sdr :: offset: 0x61f, out: 0xda53606bb4bf0c99, outHI: 0x0
+sdr :: offset: 0x620, out: 0x9d00000000000000, outHI: 0x0
+sdr :: offset: 0x621, out: 0x9d32000000000000, outHI: 0x0
+sdr :: offset: 0x622, out: 0x9d32fc0000000000, outHI: 0x0
+sdr :: offset: 0x623, out: 0x9d32fc1200000000, outHI: 0x0
+sdr :: offset: 0x624, out: 0x9d32fc12c8000000, outHI: 0x0
+sdr :: offset: 0x625, out: 0x9d32fc12c81b0000, outHI: 0x0
+sdr :: offset: 0x626, out: 0x9d32fc12c81b7900, outHI: 0x0
+sdr :: offset: 0x627, out: 0x9d32fc12c81b7919, outHI: 0x0
+sdr :: offset: 0x628, out: 0xf000000000000000, outHI: 0x0
+sdr :: offset: 0x629, out: 0xf03e000000000000, outHI: 0x0
+sdr :: offset: 0x62a, out: 0xf03ef80000000000, outHI: 0x0
+sdr :: offset: 0x62b, out: 0xf03ef88300000000, outHI: 0x0
+sdr :: offset: 0x62c, out: 0xf03ef88384000000, outHI: 0x0
+sdr :: offset: 0x62d, out: 0xf03ef88384c70000, outHI: 0x0
+sdr :: offset: 0x62e, out: 0xf03ef88384c72e00, outHI: 0x0
+sdr :: offset: 0x62f, out: 0xf03ef88384c72efc, outHI: 0x0
+sdr :: offset: 0x630, out: 0xd600000000000000, outHI: 0x0
+sdr :: offset: 0x631, out: 0xd638000000000000, outHI: 0x0
+sdr :: offset: 0x632, out: 0xd638b10000000000, outHI: 0x0
+sdr :: offset: 0x633, out: 0xd638b1c700000000, outHI: 0x0
+sdr :: offset: 0x634, out: 0xd638b1c7bb000000, outHI: 0x0
+sdr :: offset: 0x635, out: 0xd638b1c7bb6a0000, outHI: 0x0
+sdr :: offset: 0x636, out: 0xd638b1c7bb6a2a00, outHI: 0x0
+sdr :: offset: 0x637, out: 0xd638b1c7bb6a2a35, outHI: 0x0
+sdr :: offset: 0x638, out: 0x8000000000000000, outHI: 0x0
+sdr :: offset: 0x639, out: 0x8015000000000000, outHI: 0x0
+sdr :: offset: 0x63a, out: 0x8015eb0000000000, outHI: 0x0
+sdr :: offset: 0x63b, out: 0x8015ebf600000000, outHI: 0x0
+sdr :: offset: 0x63c, out: 0x8015ebf612000000, outHI: 0x0
+sdr :: offset: 0x63d, out: 0x8015ebf6121d0000, outHI: 0x0
+sdr :: offset: 0x63e, out: 0x8015ebf6121dca00, outHI: 0x0
+sdr :: offset: 0x63f, out: 0x8015ebf6121dca77, outHI: 0x0
+sdr :: offset: 0x640, out: 0xc900000000000000, outHI: 0x0
+sdr :: offset: 0x641, out: 0xc95e000000000000, outHI: 0x0
+sdr :: offset: 0x642, out: 0xc95eaa0000000000, outHI: 0x0
+sdr :: offset: 0x643, out: 0xc95eaacd00000000, outHI: 0x0
+sdr :: offset: 0x644, out: 0xc95eaacdd9000000, outHI: 0x0
+sdr :: offset: 0x645, out: 0xc95eaacdd9fd0000, outHI: 0x0
+sdr :: offset: 0x646, out: 0xc95eaacdd9fd9100, outHI: 0x0
+sdr :: offset: 0x647, out: 0xc95eaacdd9fd9147, outHI: 0x0
+sdr :: offset: 0x648, out: 0xae00000000000000, outHI: 0x0
+sdr :: offset: 0x649, out: 0xaebb000000000000, outHI: 0x0
+sdr :: offset: 0x64a, out: 0xaebb840000000000, outHI: 0x0
+sdr :: offset: 0x64b, out: 0xaebb847000000000, outHI: 0x0
+sdr :: offset: 0x64c, out: 0xaebb8470f9000000, outHI: 0x0
+sdr :: offset: 0x64d, out: 0xaebb8470f9810000, outHI: 0x0
+sdr :: offset: 0x64e, out: 0xaebb8470f981e900, outHI: 0x0
+sdr :: offset: 0x64f, out: 0xaebb8470f981e911, outHI: 0x0
+sdr :: offset: 0x650, out: 0x1700000000000000, outHI: 0x0
+sdr :: offset: 0x651, out: 0x1705000000000000, outHI: 0x0
+sdr :: offset: 0x652, out: 0x1705d40000000000, outHI: 0x0
+sdr :: offset: 0x653, out: 0x1705d42a00000000, outHI: 0x0
+sdr :: offset: 0x654, out: 0x1705d42aea000000, outHI: 0x0
+sdr :: offset: 0x655, out: 0x1705d42aeac60000, outHI: 0x0
+sdr :: offset: 0x656, out: 0x1705d42aeac6a500, outHI: 0x0
+sdr :: offset: 0x657, out: 0x1705d42aeac6a532, outHI: 0x0
+sdr :: offset: 0x658, out: 0xe000000000000000, outHI: 0x0
+sdr :: offset: 0x659, out: 0xe014000000000000, outHI: 0x0
+sdr :: offset: 0x65a, out: 0xe014ab0000000000, outHI: 0x0
+sdr :: offset: 0x65b, out: 0xe014abf300000000, outHI: 0x0
+sdr :: offset: 0x65c, out: 0xe014abf364000000, outHI: 0x0
+sdr :: offset: 0x65d, out: 0xe014abf364190000, outHI: 0x0
+sdr :: offset: 0x65e, out: 0xe014abf36419fb00, outHI: 0x0
+sdr :: offset: 0x65f, out: 0xe014abf36419fb9e, outHI: 0x0
+sdr :: offset: 0x660, out: 0x6300000000000000, outHI: 0x0
+sdr :: offset: 0x661, out: 0x6324000000000000, outHI: 0x0
+sdr :: offset: 0x662, out: 0x63249d0000000000, outHI: 0x0
+sdr :: offset: 0x663, out: 0x63249d5500000000, outHI: 0x0
+sdr :: offset: 0x664, out: 0x63249d559a000000, outHI: 0x0
+sdr :: offset: 0x665, out: 0x63249d559aa80000, outHI: 0x0
+sdr :: offset: 0x666, out: 0x63249d559aa8d700, outHI: 0x0
+sdr :: offset: 0x667, out: 0x63249d559aa8d72a, outHI: 0x0
+sdr :: offset: 0x668, out: 0xac00000000000000, outHI: 0x0
+sdr :: offset: 0x669, out: 0xac0c000000000000, outHI: 0x0
+sdr :: offset: 0x66a, out: 0xac0cd60000000000, outHI: 0x0
+sdr :: offset: 0x66b, out: 0xac0cd67600000000, outHI: 0x0
+sdr :: offset: 0x66c, out: 0xac0cd6764f000000, outHI: 0x0
+sdr :: offset: 0x66d, out: 0xac0cd6764f080000, outHI: 0x0
+sdr :: offset: 0x66e, out: 0xac0cd6764f084b00, outHI: 0x0
+sdr :: offset: 0x66f, out: 0xac0cd6764f084b30, outHI: 0x0
+sdr :: offset: 0x670, out: 0xec00000000000000, outHI: 0x0
+sdr :: offset: 0x671, out: 0xec7f000000000000, outHI: 0x0
+sdr :: offset: 0x672, out: 0xec7f030000000000, outHI: 0x0
+sdr :: offset: 0x673, out: 0xec7f03ac00000000, outHI: 0x0
+sdr :: offset: 0x674, out: 0xec7f03ac07000000, outHI: 0x0
+sdr :: offset: 0x675, out: 0xec7f03ac07920000, outHI: 0x0
+sdr :: offset: 0x676, out: 0xec7f03ac07924600, outHI: 0x0
+sdr :: offset: 0x677, out: 0xec7f03ac0792468f, outHI: 0x0
+sdr :: offset: 0x678, out: 0xdf00000000000000, outHI: 0x0
+sdr :: offset: 0x679, out: 0xdf7e000000000000, outHI: 0x0
+sdr :: offset: 0x67a, out: 0xdf7e350000000000, outHI: 0x0
+sdr :: offset: 0x67b, out: 0xdf7e35ce00000000, outHI: 0x0
+sdr :: offset: 0x67c, out: 0xdf7e35ce6d000000, outHI: 0x0
+sdr :: offset: 0x67d, out: 0xdf7e35ce6d560000, outHI: 0x0
+sdr :: offset: 0x67e, out: 0xdf7e35ce6d56e600, outHI: 0x0
+sdr :: offset: 0x67f, out: 0xdf7e35ce6d56e670, outHI: 0x0
+sdr :: offset: 0x680, out: 0xf500000000000000, outHI: 0x0
+sdr :: offset: 0x681, out: 0xf515000000000000, outHI: 0x0
+sdr :: offset: 0x682, out: 0xf515280000000000, outHI: 0x0
+sdr :: offset: 0x683, out: 0xf515282800000000, outHI: 0x0
+sdr :: offset: 0x684, out: 0xf515282859000000, outHI: 0x0
+sdr :: offset: 0x685, out: 0xf5152828591a0000, outHI: 0x0
+sdr :: offset: 0x686, out: 0xf5152828591a6500, outHI: 0x0
+sdr :: offset: 0x687, out: 0xf5152828591a6527, outHI: 0x0
+sdr :: offset: 0x688, out: 0x1100000000000000, outHI: 0x0
+sdr :: offset: 0x689, out: 0x119e000000000000, outHI: 0x0
+sdr :: offset: 0x68a, out: 0x119e1c0000000000, outHI: 0x0
+sdr :: offset: 0x68b, out: 0x119e1c3200000000, outHI: 0x0
+sdr :: offset: 0x68c, out: 0x119e1c3283000000, outHI: 0x0
+sdr :: offset: 0x68d, out: 0x119e1c3283d20000, outHI: 0x0
+sdr :: offset: 0x68e, out: 0x119e1c3283d21500, outHI: 0x0
+sdr :: offset: 0x68f, out: 0x119e1c3283d215a9, outHI: 0x0
+sdr :: offset: 0x690, out: 0xfb00000000000000, outHI: 0x0
+sdr :: offset: 0x691, out: 0xfb8d000000000000, outHI: 0x0
+sdr :: offset: 0x692, out: 0xfb8d950000000000, outHI: 0x0
+sdr :: offset: 0x693, out: 0xfb8d95c000000000, outHI: 0x0
+sdr :: offset: 0x694, out: 0xfb8d95c049000000, outHI: 0x0
+sdr :: offset: 0x695, out: 0xfb8d95c049280000, outHI: 0x0
+sdr :: offset: 0x696, out: 0xfb8d95c049282a00, outHI: 0x0
+sdr :: offset: 0x697, out: 0xfb8d95c049282a04, outHI: 0x0
+sdr :: offset: 0x698, out: 0x1700000000000000, outHI: 0x0
+sdr :: offset: 0x699, out: 0x17f2000000000000, outHI: 0x0
+sdr :: offset: 0x69a, out: 0x17f2e70000000000, outHI: 0x0
+sdr :: offset: 0x69b, out: 0x17f2e7a400000000, outHI: 0x0
+sdr :: offset: 0x69c, out: 0x17f2e7a490000000, outHI: 0x0
+sdr :: offset: 0x69d, out: 0x17f2e7a490970000, outHI: 0x0
+sdr :: offset: 0x69e, out: 0x17f2e7a490978000, outHI: 0x0
+sdr :: offset: 0x69f, out: 0x17f2e7a490978058, outHI: 0x0
+sdr :: offset: 0x6a0, out: 0xf300000000000000, outHI: 0x0
+sdr :: offset: 0x6a1, out: 0xf377000000000000, outHI: 0x0
+sdr :: offset: 0x6a2, out: 0xf3775b0000000000, outHI: 0x0
+sdr :: offset: 0x6a3, out: 0xf3775b4c00000000, outHI: 0x0
+sdr :: offset: 0x6a4, out: 0xf3775b4cca000000, outHI: 0x0
+sdr :: offset: 0x6a5, out: 0xf3775b4cca090000, outHI: 0x0
+sdr :: offset: 0x6a6, out: 0xf3775b4cca097500, outHI: 0x0
+sdr :: offset: 0x6a7, out: 0xf3775b4cca0975b1, outHI: 0x0
+sdr :: offset: 0x6a8, out: 0xaa00000000000000, outHI: 0x0
+sdr :: offset: 0x6a9, out: 0xaa0a000000000000, outHI: 0x0
+sdr :: offset: 0x6aa, out: 0xaa0a2b0000000000, outHI: 0x0
+sdr :: offset: 0x6ab, out: 0xaa0a2b8400000000, outHI: 0x0
+sdr :: offset: 0x6ac, out: 0xaa0a2b84a6000000, outHI: 0x0
+sdr :: offset: 0x6ad, out: 0xaa0a2b84a6350000, outHI: 0x0
+sdr :: offset: 0x6ae, out: 0xaa0a2b84a6351100, outHI: 0x0
+sdr :: offset: 0x6af, out: 0xaa0a2b84a6351110, outHI: 0x0
+sdr :: offset: 0x6b0, out: 0x2000000000000000, outHI: 0x0
+sdr :: offset: 0x6b1, out: 0x2002000000000000, outHI: 0x0
+sdr :: offset: 0x6b2, out: 0x20023f0000000000, outHI: 0x0
+sdr :: offset: 0x6b3, out: 0x20023fa000000000, outHI: 0x0
+sdr :: offset: 0x6b4, out: 0x20023fa0d3000000, outHI: 0x0
+sdr :: offset: 0x6b5, out: 0x20023fa0d3a70000, outHI: 0x0
+sdr :: offset: 0x6b6, out: 0x20023fa0d3a7d800, outHI: 0x0
+sdr :: offset: 0x6b7, out: 0x20023fa0d3a7d88b, outHI: 0x0
+sdr :: offset: 0x6b8, out: 0x6f00000000000000, outHI: 0x0
+sdr :: offset: 0x6b9, out: 0x6fa3000000000000, outHI: 0x0
+sdr :: offset: 0x6ba, out: 0x6fa3d90000000000, outHI: 0x0
+sdr :: offset: 0x6bb, out: 0x6fa3d99100000000, outHI: 0x0
+sdr :: offset: 0x6bc, out: 0x6fa3d991b7000000, outHI: 0x0
+sdr :: offset: 0x6bd, out: 0x6fa3d991b7990000, outHI: 0x0
+sdr :: offset: 0x6be, out: 0x6fa3d991b7994100, outHI: 0x0
+sdr :: offset: 0x6bf, out: 0x6fa3d991b79941de, outHI: 0x0
+sdr :: offset: 0x6c0, out: 0xdd00000000000000, outHI: 0x0
+sdr :: offset: 0x6c1, out: 0xdd75000000000000, outHI: 0x0
+sdr :: offset: 0x6c2, out: 0xdd751c0000000000, outHI: 0x0
+sdr :: offset: 0x6c3, out: 0xdd751cb400000000, outHI: 0x0
+sdr :: offset: 0x6c4, out: 0xdd751cb483000000, outHI: 0x0
+sdr :: offset: 0x6c5, out: 0xdd751cb4835a0000, outHI: 0x0
+sdr :: offset: 0x6c6, out: 0xdd751cb4835a0d00, outHI: 0x0
+sdr :: offset: 0x6c7, out: 0xdd751cb4835a0d95, outHI: 0x0
+sdr :: offset: 0x6c8, out: 0x800000000000000, outHI: 0x0
+sdr :: offset: 0x6c9, out: 0x894000000000000, outHI: 0x0
+sdr :: offset: 0x6ca, out: 0x8949c0000000000, outHI: 0x0
+sdr :: offset: 0x6cb, out: 0x8949cad00000000, outHI: 0x0
+sdr :: offset: 0x6cc, out: 0x8949cad35000000, outHI: 0x0
+sdr :: offset: 0x6cd, out: 0x8949cad35620000, outHI: 0x0
+sdr :: offset: 0x6ce, out: 0x8949cad35625b00, outHI: 0x0
+sdr :: offset: 0x6cf, out: 0x8949cad35625bb2, outHI: 0x0
+sdr :: offset: 0x6d0, out: 0xd300000000000000, outHI: 0x0
+sdr :: offset: 0x6d1, out: 0xd37f000000000000, outHI: 0x0
+sdr :: offset: 0x6d2, out: 0xd37f560000000000, outHI: 0x0
+sdr :: offset: 0x6d3, out: 0xd37f567f00000000, outHI: 0x0
+sdr :: offset: 0x6d4, out: 0xd37f567f35000000, outHI: 0x0
+sdr :: offset: 0x6d5, out: 0xd37f567f35a60000, outHI: 0x0
+sdr :: offset: 0x6d6, out: 0xd37f567f35a69200, outHI: 0x0
+sdr :: offset: 0x6d7, out: 0xd37f567f35a69297, outHI: 0x0
+sdr :: offset: 0x6d8, out: 0x3900000000000000, outHI: 0x0
+sdr :: offset: 0x6d9, out: 0x3918000000000000, outHI: 0x0
+sdr :: offset: 0x6da, out: 0x39185b0000000000, outHI: 0x0
+sdr :: offset: 0x6db, out: 0x39185b8800000000, outHI: 0x0
+sdr :: offset: 0x6dc, out: 0x39185b88e0000000, outHI: 0x0
+sdr :: offset: 0x6dd, out: 0x39185b88e0db0000, outHI: 0x0
+sdr :: offset: 0x6de, out: 0x39185b88e0db8d00, outHI: 0x0
+sdr :: offset: 0x6df, out: 0x39185b88e0db8d7d, outHI: 0x0
+sdr :: offset: 0x6e0, out: 0x2700000000000000, outHI: 0x0
+sdr :: offset: 0x6e1, out: 0x2725000000000000, outHI: 0x0
+sdr :: offset: 0x6e2, out: 0x27255a0000000000, outHI: 0x0
+sdr :: offset: 0x6e3, out: 0x27255a4c00000000, outHI: 0x0
+sdr :: offset: 0x6e4, out: 0x27255a4cd2000000, outHI: 0x0
+sdr :: offset: 0x6e5, out: 0x27255a4cd22f0000, outHI: 0x0
+sdr :: offset: 0x6e6, out: 0x27255a4cd22fd600, outHI: 0x0
+sdr :: offset: 0x6e7, out: 0x27255a4cd22fd61b, outHI: 0x0
+sdr :: offset: 0x6e8, out: 0x9100000000000000, outHI: 0x0
+sdr :: offset: 0x6e9, out: 0x9110000000000000, outHI: 0x0
+sdr :: offset: 0x6ea, out: 0x9110480000000000, outHI: 0x0
+sdr :: offset: 0x6eb, out: 0x911048d500000000, outHI: 0x0
+sdr :: offset: 0x6ec, out: 0x911048d589000000, outHI: 0x0
+sdr :: offset: 0x6ed, out: 0x911048d589a40000, outHI: 0x0
+sdr :: offset: 0x6ee, out: 0x911048d589a43600, outHI: 0x0
+sdr :: offset: 0x6ef, out: 0x911048d589a4363f, outHI: 0x0
+sdr :: offset: 0x6f0, out: 0x7b00000000000000, outHI: 0x0
+sdr :: offset: 0x6f1, out: 0x7b6a000000000000, outHI: 0x0
+sdr :: offset: 0x6f2, out: 0x7b6a6d0000000000, outHI: 0x0
+sdr :: offset: 0x6f3, out: 0x7b6a6d5700000000, outHI: 0x0
+sdr :: offset: 0x6f4, out: 0x7b6a6d5708000000, outHI: 0x0
+sdr :: offset: 0x6f5, out: 0x7b6a6d5708f40000, outHI: 0x0
+sdr :: offset: 0x6f6, out: 0x7b6a6d5708f46000, outHI: 0x0
+sdr :: offset: 0x6f7, out: 0x7b6a6d5708f46057, outHI: 0x0
+sdr :: offset: 0x6f8, out: 0x9000000000000000, outHI: 0x0
+sdr :: offset: 0x6f9, out: 0x90d5000000000000, outHI: 0x0
+sdr :: offset: 0x6fa, out: 0x90d58e0000000000, outHI: 0x0
+sdr :: offset: 0x6fb, out: 0x90d58ecb00000000, outHI: 0x0
+sdr :: offset: 0x6fc, out: 0x90d58ecbab000000, outHI: 0x0
+sdr :: offset: 0x6fd, out: 0x90d58ecbabde0000, outHI: 0x0
+sdr :: offset: 0x6fe, out: 0x90d58ecbabde3500, outHI: 0x0
+sdr :: offset: 0x6ff, out: 0x90d58ecbabde3569, outHI: 0x0
+sdr :: offset: 0x700, out: 0x7f00000000000000, outHI: 0x0
+sdr :: offset: 0x701, out: 0x7f57000000000000, outHI: 0x0
+sdr :: offset: 0x702, out: 0x7f57550000000000, outHI: 0x0
+sdr :: offset: 0x703, out: 0x7f57554800000000, outHI: 0x0
+sdr :: offset: 0x704, out: 0x7f575548fd000000, outHI: 0x0
+sdr :: offset: 0x705, out: 0x7f575548fd080000, outHI: 0x0
+sdr :: offset: 0x706, out: 0x7f575548fd08c000, outHI: 0x0
+sdr :: offset: 0x707, out: 0x7f575548fd08c0a5, outHI: 0x0
+sdr :: offset: 0x708, out: 0xf100000000000000, outHI: 0x0
+sdr :: offset: 0x709, out: 0xf18b000000000000, outHI: 0x0
+sdr :: offset: 0x70a, out: 0xf18bb60000000000, outHI: 0x0
+sdr :: offset: 0x70b, out: 0xf18bb64000000000, outHI: 0x0
+sdr :: offset: 0x70c, out: 0xf18bb640fb000000, outHI: 0x0
+sdr :: offset: 0x70d, out: 0xf18bb640fb8e0000, outHI: 0x0
+sdr :: offset: 0x70e, out: 0xf18bb640fb8ed900, outHI: 0x0
+sdr :: offset: 0x70f, out: 0xf18bb640fb8ed98d, outHI: 0x0
+sdr :: offset: 0x710, out: 0xdb00000000000000, outHI: 0x0
+sdr :: offset: 0x711, out: 0xdbbe000000000000, outHI: 0x0
+sdr :: offset: 0x712, out: 0xdbbe000000000000, outHI: 0x0
+sdr :: offset: 0x713, out: 0xdbbe00d500000000, outHI: 0x0
+sdr :: offset: 0x714, out: 0xdbbe00d51e000000, outHI: 0x0
+sdr :: offset: 0x715, out: 0xdbbe00d51eab0000, outHI: 0x0
+sdr :: offset: 0x716, out: 0xdbbe00d51eabc500, outHI: 0x0
+sdr :: offset: 0x717, out: 0xdbbe00d51eabc578, outHI: 0x0
+sdr :: offset: 0x718, out: 0xcc00000000000000, outHI: 0x0
+sdr :: offset: 0x719, out: 0xcc2f000000000000, outHI: 0x0
+sdr :: offset: 0x71a, out: 0xcc2f7e0000000000, outHI: 0x0
+sdr :: offset: 0x71b, out: 0xcc2f7e2200000000, outHI: 0x0
+sdr :: offset: 0x71c, out: 0xcc2f7e224a000000, outHI: 0x0
+sdr :: offset: 0x71d, out: 0xcc2f7e224a1c0000, outHI: 0x0
+sdr :: offset: 0x71e, out: 0xcc2f7e224a1c1700, outHI: 0x0
+sdr :: offset: 0x71f, out: 0xcc2f7e224a1c170a, outHI: 0x0
+sdr :: offset: 0x720, out: 0xb200000000000000, outHI: 0x0
+sdr :: offset: 0x721, out: 0xb2a9000000000000, outHI: 0x0
+sdr :: offset: 0x722, out: 0xb2a9780000000000, outHI: 0x0
+sdr :: offset: 0x723, out: 0xb2a978f100000000, outHI: 0x0
+sdr :: offset: 0x724, out: 0xb2a978f12c000000, outHI: 0x0
+sdr :: offset: 0x725, out: 0xb2a978f12ca20000, outHI: 0x0
+sdr :: offset: 0x726, out: 0xb2a978f12ca22200, outHI: 0x0
+sdr :: offset: 0x727, out: 0xb2a978f12ca22256, outHI: 0x0
+sdr :: offset: 0x728, out: 0xa700000000000000, outHI: 0x0
+sdr :: offset: 0x729, out: 0xa799000000000000, outHI: 0x0
+sdr :: offset: 0x72a, out: 0xa799500000000000, outHI: 0x0
+sdr :: offset: 0x72b, out: 0xa79950a900000000, outHI: 0x0
+sdr :: offset: 0x72c, out: 0xa79950a93b000000, outHI: 0x0
+sdr :: offset: 0x72d, out: 0xa79950a93b810000, outHI: 0x0
+sdr :: offset: 0x72e, out: 0xa79950a93b811e00, outHI: 0x0
+sdr :: offset: 0x72f, out: 0xa79950a93b811ee0, outHI: 0x0
+sdr :: offset: 0x730, out: 0x2f00000000000000, outHI: 0x0
+sdr :: offset: 0x731, out: 0x2fb4000000000000, outHI: 0x0
+sdr :: offset: 0x732, out: 0x2fb44e0000000000, outHI: 0x0
+sdr :: offset: 0x733, out: 0x2fb44eea00000000, outHI: 0x0
+sdr :: offset: 0x734, out: 0x2fb44eea93000000, outHI: 0x0
+sdr :: offset: 0x735, out: 0x2fb44eea93c60000, outHI: 0x0
+sdr :: offset: 0x736, out: 0x2fb44eea93c67900, outHI: 0x0
+sdr :: offset: 0x737, out: 0x2fb44eea93c6796a, outHI: 0x0
+sdr :: offset: 0x738, out: 0xc00000000000000, outHI: 0x0
+sdr :: offset: 0x739, out: 0xcfe000000000000, outHI: 0x0
+sdr :: offset: 0x73a, out: 0xcfe710000000000, outHI: 0x0
+sdr :: offset: 0x73b, out: 0xcfe71fc00000000, outHI: 0x0
+sdr :: offset: 0x73c, out: 0xcfe71fca0000000, outHI: 0x0
+sdr :: offset: 0x73d, out: 0xcfe71fca06c0000, outHI: 0x0
+sdr :: offset: 0x73e, out: 0xcfe71fca06c0e00, outHI: 0x0
+sdr :: offset: 0x73f, out: 0xcfe71fca06c0eb6, outHI: 0x0
+sdr :: offset: 0x740, out: 0x5700000000000000, outHI: 0x0
+sdr :: offset: 0x741, out: 0x574e000000000000, outHI: 0x0
+sdr :: offset: 0x742, out: 0x574ed60000000000, outHI: 0x0
+sdr :: offset: 0x743, out: 0x574ed63900000000, outHI: 0x0
+sdr :: offset: 0x744, out: 0x574ed6393d000000, outHI: 0x0
+sdr :: offset: 0x745, out: 0x574ed6393df80000, outHI: 0x0
+sdr :: offset: 0x746, out: 0x574ed6393df81800, outHI: 0x0
+sdr :: offset: 0x747, out: 0x574ed6393df818af, outHI: 0x0
+sdr :: offset: 0x748, out: 0x5700000000000000, outHI: 0x0
+sdr :: offset: 0x749, out: 0x57f2000000000000, outHI: 0x0
+sdr :: offset: 0x74a, out: 0x57f22e0000000000, outHI: 0x0
+sdr :: offset: 0x74b, out: 0x57f22e9000000000, outHI: 0x0
+sdr :: offset: 0x74c, out: 0x57f22e9020000000, outHI: 0x0
+sdr :: offset: 0x74d, out: 0x57f22e9020020000, outHI: 0x0
+sdr :: offset: 0x74e, out: 0x57f22e9020023600, outHI: 0x0
+sdr :: offset: 0x74f, out: 0x57f22e9020023677, outHI: 0x0
+sdr :: offset: 0x750, out: 0xa00000000000000, outHI: 0x0
+sdr :: offset: 0x751, out: 0xa81000000000000, outHI: 0x0
+sdr :: offset: 0x752, out: 0xa81ef0000000000, outHI: 0x0
+sdr :: offset: 0x753, out: 0xa81efb600000000, outHI: 0x0
+sdr :: offset: 0x754, out: 0xa81efb6c7000000, outHI: 0x0
+sdr :: offset: 0x755, out: 0xa81efb6c7af0000, outHI: 0x0
+sdr :: offset: 0x756, out: 0xa81efb6c7afd000, outHI: 0x0
+sdr :: offset: 0x757, out: 0xa81efb6c7afd0c4, outHI: 0x0
+sdr :: offset: 0x758, out: 0x5d00000000000000, outHI: 0x0
+sdr :: offset: 0x759, out: 0x5dee000000000000, outHI: 0x0
+sdr :: offset: 0x75a, out: 0x5deed80000000000, outHI: 0x0
+sdr :: offset: 0x75b, out: 0x5deed8f300000000, outHI: 0x0
+sdr :: offset: 0x75c, out: 0x5deed8f351000000, outHI: 0x0
+sdr :: offset: 0x75d, out: 0x5deed8f351810000, outHI: 0x0
+sdr :: offset: 0x75e, out: 0x5deed8f351810200, outHI: 0x0
+sdr :: offset: 0x75f, out: 0x5deed8f351810231, outHI: 0x0
+sdr :: offset: 0x760, out: 0x5b00000000000000, outHI: 0x0
+sdr :: offset: 0x761, out: 0x5bad000000000000, outHI: 0x0
+sdr :: offset: 0x762, out: 0x5badaf0000000000, outHI: 0x0
+sdr :: offset: 0x763, out: 0x5badafef00000000, outHI: 0x0
+sdr :: offset: 0x764, out: 0x5badafefb9000000, outHI: 0x0
+sdr :: offset: 0x765, out: 0x5badafefb9990000, outHI: 0x0
+sdr :: offset: 0x766, out: 0x5badafefb9995e00, outHI: 0x0
+sdr :: offset: 0x767, out: 0x5badafefb9995efd, outHI: 0x0
+sdr :: offset: 0x768, out: 0x5e00000000000000, outHI: 0x0
+sdr :: offset: 0x769, out: 0x5e34000000000000, outHI: 0x0
+sdr :: offset: 0x76a, out: 0x5e34060000000000, outHI: 0x0
+sdr :: offset: 0x76b, out: 0x5e34061900000000, outHI: 0x0
+sdr :: offset: 0x76c, out: 0x5e34061933000000, outHI: 0x0
+sdr :: offset: 0x76d, out: 0x5e34061933eb0000, outHI: 0x0
+sdr :: offset: 0x76e, out: 0x5e34061933eb2500, outHI: 0x0
+sdr :: offset: 0x76f, out: 0x5e34061933eb2530, outHI: 0x0
+sdr :: offset: 0x770, out: 0x8600000000000000, outHI: 0x0
+sdr :: offset: 0x771, out: 0x8617000000000000, outHI: 0x0
+sdr :: offset: 0x772, out: 0x8617480000000000, outHI: 0x0
+sdr :: offset: 0x773, out: 0x861748da00000000, outHI: 0x0
+sdr :: offset: 0x774, out: 0x861748da26000000, outHI: 0x0
+sdr :: offset: 0x775, out: 0x861748da264b0000, outHI: 0x0
+sdr :: offset: 0x776, out: 0x861748da264b4c00, outHI: 0x0
+sdr :: offset: 0x777, out: 0x861748da264b4c52, outHI: 0x0
+sdr :: offset: 0x778, out: 0xbc00000000000000, outHI: 0x0
+sdr :: offset: 0x779, out: 0xbc34000000000000, outHI: 0x0
+sdr :: offset: 0x77a, out: 0xbc34fd0000000000, outHI: 0x0
+sdr :: offset: 0x77b, out: 0xbc34fdfc00000000, outHI: 0x0
+sdr :: offset: 0x77c, out: 0xbc34fdfc9a000000, outHI: 0x0
+sdr :: offset: 0x77d, out: 0xbc34fdfc9a930000, outHI: 0x0
+sdr :: offset: 0x77e, out: 0xbc34fdfc9a930200, outHI: 0x0
+sdr :: offset: 0x77f, out: 0xbc34fdfc9a9302be, outHI: 0x0
+sdr :: offset: 0x780, out: 0x8900000000000000, outHI: 0x0
+sdr :: offset: 0x781, out: 0x89d0000000000000, outHI: 0x0
+sdr :: offset: 0x782, out: 0x89d0020000000000, outHI: 0x0
+sdr :: offset: 0x783, out: 0x89d0027800000000, outHI: 0x0
+sdr :: offset: 0x784, out: 0x89d00278c3000000, outHI: 0x0
+sdr :: offset: 0x785, out: 0x89d00278c3c50000, outHI: 0x0
+sdr :: offset: 0x786, out: 0x89d00278c3c52100, outHI: 0x0
+sdr :: offset: 0x787, out: 0x89d00278c3c521d1, outHI: 0x0
+sdr :: offset: 0x788, out: 0x8000000000000000, outHI: 0x0
+sdr :: offset: 0x789, out: 0x80e9000000000000, outHI: 0x0
+sdr :: offset: 0x78a, out: 0x80e9090000000000, outHI: 0x0
+sdr :: offset: 0x78b, out: 0x80e9094400000000, outHI: 0x0
+sdr :: offset: 0x78c, out: 0x80e90944a4000000, outHI: 0x0
+sdr :: offset: 0x78d, out: 0x80e90944a4c10000, outHI: 0x0
+sdr :: offset: 0x78e, out: 0x80e90944a4c1d300, outHI: 0x0
+sdr :: offset: 0x78f, out: 0x80e90944a4c1d37a, outHI: 0x0
+sdr :: offset: 0x790, out: 0x5d00000000000000, outHI: 0x0
+sdr :: offset: 0x791, out: 0x5d65000000000000, outHI: 0x0
+sdr :: offset: 0x792, out: 0x5d65fd0000000000, outHI: 0x0
+sdr :: offset: 0x793, out: 0x5d65fd6900000000, outHI: 0x0
+sdr :: offset: 0x794, out: 0x5d65fd698f000000, outHI: 0x0
+sdr :: offset: 0x795, out: 0x5d65fd698fdd0000, outHI: 0x0
+sdr :: offset: 0x796, out: 0x5d65fd698fddef00, outHI: 0x0
+sdr :: offset: 0x797, out: 0x5d65fd698fddef98, outHI: 0x0
+sdr :: offset: 0x798, out: 0x3900000000000000, outHI: 0x0
+sdr :: offset: 0x799, out: 0x39c4000000000000, outHI: 0x0
+sdr :: offset: 0x79a, out: 0x39c49e0000000000, outHI: 0x0
+sdr :: offset: 0x79b, out: 0x39c49ee300000000, outHI: 0x0
+sdr :: offset: 0x79c, out: 0x39c49ee3ad000000, outHI: 0x0
+sdr :: offset: 0x79d, out: 0x39c49ee3ad810000, outHI: 0x0
+sdr :: offset: 0x79e, out: 0x39c49ee3ad81b500, outHI: 0x0
+sdr :: offset: 0x79f, out: 0x39c49ee3ad81b5af, outHI: 0x0
+sdr :: offset: 0x7a0, out: 0x5200000000000000, outHI: 0x0
+sdr :: offset: 0x7a1, out: 0x527a000000000000, outHI: 0x0
+sdr :: offset: 0x7a2, out: 0x527aa90000000000, outHI: 0x0
+sdr :: offset: 0x7a3, out: 0x527aa94100000000, outHI: 0x0
+sdr :: offset: 0x7a4, out: 0x527aa941e8000000, outHI: 0x0
+sdr :: offset: 0x7a5, out: 0x527aa941e8bd0000, outHI: 0x0
+sdr :: offset: 0x7a6, out: 0x527aa941e8bdb200, outHI: 0x0
+sdr :: offset: 0x7a7, out: 0x527aa941e8bdb263, outHI: 0x0
+sdr :: offset: 0x7a8, out: 0xe900000000000000, outHI: 0x0
+sdr :: offset: 0x7a9, out: 0xe937000000000000, outHI: 0x0
+sdr :: offset: 0x7aa, out: 0xe9372c0000000000, outHI: 0x0
+sdr :: offset: 0x7ab, out: 0xe9372c2000000000, outHI: 0x0
+sdr :: offset: 0x7ac, out: 0xe9372c209e000000, outHI: 0x0
+sdr :: offset: 0x7ad, out: 0xe9372c209e420000, outHI: 0x0
+sdr :: offset: 0x7ae, out: 0xe9372c209e42f300, outHI: 0x0
+sdr :: offset: 0x7af, out: 0xe9372c209e42f3b5, outHI: 0x0
+sdr :: offset: 0x7b0, out: 0x8d00000000000000, outHI: 0x0
+sdr :: offset: 0x7b1, out: 0x8d30000000000000, outHI: 0x0
+sdr :: offset: 0x7b2, out: 0x8d30f80000000000, outHI: 0x0
+sdr :: offset: 0x7b3, out: 0x8d30f87000000000, outHI: 0x0
+sdr :: offset: 0x7b4, out: 0x8d30f870b7000000, outHI: 0x0
+sdr :: offset: 0x7b5, out: 0x8d30f870b7e10000, outHI: 0x0
+sdr :: offset: 0x7b6, out: 0x8d30f870b7e12200, outHI: 0x0
+sdr :: offset: 0x7b7, out: 0x8d30f870b7e122a8, outHI: 0x0
+sdr :: offset: 0x7b8, out: 0x3b00000000000000, outHI: 0x0
+sdr :: offset: 0x7b9, out: 0x3b9e000000000000, outHI: 0x0
+sdr :: offset: 0x7ba, out: 0x3b9e020000000000, outHI: 0x0
+sdr :: offset: 0x7bb, out: 0x3b9e02de00000000, outHI: 0x0
+sdr :: offset: 0x7bc, out: 0x3b9e02de4b000000, outHI: 0x0
+sdr :: offset: 0x7bd, out: 0x3b9e02de4b670000, outHI: 0x0
+sdr :: offset: 0x7be, out: 0x3b9e02de4b678900, outHI: 0x0
+sdr :: offset: 0x7bf, out: 0x3b9e02de4b678930, outHI: 0x0
+sdr :: offset: 0x7c0, out: 0xec00000000000000, outHI: 0x0
+sdr :: offset: 0x7c1, out: 0xeccd000000000000, outHI: 0x0
+sdr :: offset: 0x7c2, out: 0xeccd610000000000, outHI: 0x0
+sdr :: offset: 0x7c3, out: 0xeccd61a800000000, outHI: 0x0
+sdr :: offset: 0x7c4, out: 0xeccd61a863000000, outHI: 0x0
+sdr :: offset: 0x7c5, out: 0xeccd61a863980000, outHI: 0x0
+sdr :: offset: 0x7c6, out: 0xeccd61a863982600, outHI: 0x0
+sdr :: offset: 0x7c7, out: 0xeccd61a863982663, outHI: 0x0
+sdr :: offset: 0x7c8, out: 0x1e00000000000000, outHI: 0x0
+sdr :: offset: 0x7c9, out: 0x1eae000000000000, outHI: 0x0
+sdr :: offset: 0x7ca, out: 0x1eae870000000000, outHI: 0x0
+sdr :: offset: 0x7cb, out: 0x1eae87bc00000000, outHI: 0x0
+sdr :: offset: 0x7cc, out: 0x1eae87bc89000000, outHI: 0x0
+sdr :: offset: 0x7cd, out: 0x1eae87bc899a0000, outHI: 0x0
+sdr :: offset: 0x7ce, out: 0x1eae87bc899a7b00, outHI: 0x0
+sdr :: offset: 0x7cf, out: 0x1eae87bc899a7bd3, outHI: 0x0
+sdr :: offset: 0x7d0, out: 0xca00000000000000, outHI: 0x0
+sdr :: offset: 0x7d1, out: 0xca58000000000000, outHI: 0x0
+sdr :: offset: 0x7d2, out: 0xca58ec0000000000, outHI: 0x0
+sdr :: offset: 0x7d3, out: 0xca58ec6400000000, outHI: 0x0
+sdr :: offset: 0x7d4, out: 0xca58ec644d000000, outHI: 0x0
+sdr :: offset: 0x7d5, out: 0xca58ec644d640000, outHI: 0x0
+sdr :: offset: 0x7d6, out: 0xca58ec644d648100, outHI: 0x0
+sdr :: offset: 0x7d7, out: 0xca58ec644d6481af, outHI: 0x0
+sdr :: offset: 0x7d8, out: 0x1700000000000000, outHI: 0x0
+sdr :: offset: 0x7d9, out: 0x1768000000000000, outHI: 0x0
+sdr :: offset: 0x7da, out: 0x17680c0000000000, outHI: 0x0
+sdr :: offset: 0x7db, out: 0x17680cce00000000, outHI: 0x0
+sdr :: offset: 0x7dc, out: 0x17680cce5f000000, outHI: 0x0
+sdr :: offset: 0x7dd, out: 0x17680cce5fb20000, outHI: 0x0
+sdr :: offset: 0x7de, out: 0x17680cce5fb23600, outHI: 0x0
+sdr :: offset: 0x7df, out: 0x17680cce5fb236b6, outHI: 0x0
+sdr :: offset: 0x7e0, out: 0x6600000000000000, outHI: 0x0
+sdr :: offset: 0x7e1, out: 0x663b000000000000, outHI: 0x0
+sdr :: offset: 0x7e2, out: 0x663baa0000000000, outHI: 0x0
+sdr :: offset: 0x7e3, out: 0x663baa9900000000, outHI: 0x0
+sdr :: offset: 0x7e4, out: 0x663baa9947000000, outHI: 0x0
+sdr :: offset: 0x7e5, out: 0x663baa99471f0000, outHI: 0x0
+sdr :: offset: 0x7e6, out: 0x663baa99471f6d00, outHI: 0x0
+sdr :: offset: 0x7e7, out: 0x663baa99471f6d4d, outHI: 0x0
+sdr :: offset: 0x7e8, out: 0x7500000000000000, outHI: 0x0
+sdr :: offset: 0x7e9, out: 0x7561000000000000, outHI: 0x0
+sdr :: offset: 0x7ea, out: 0x75614d0000000000, outHI: 0x0
+sdr :: offset: 0x7eb, out: 0x75614d9b00000000, outHI: 0x0
+sdr :: offset: 0x7ec, out: 0x75614d9b44000000, outHI: 0x0
+sdr :: offset: 0x7ed, out: 0x75614d9b445f0000, outHI: 0x0
+sdr :: offset: 0x7ee, out: 0x75614d9b445f1200, outHI: 0x0
+sdr :: offset: 0x7ef, out: 0x75614d9b445f1223, outHI: 0x0
+sdr :: offset: 0x7f0, out: 0x6b00000000000000, outHI: 0x0
+sdr :: offset: 0x7f1, out: 0x6ba2000000000000, outHI: 0x0
+sdr :: offset: 0x7f2, out: 0x6ba2a60000000000, outHI: 0x0
+sdr :: offset: 0x7f3, out: 0x6ba2a6ec00000000, outHI: 0x0
+sdr :: offset: 0x7f4, out: 0x6ba2a6ec66000000, outHI: 0x0
+sdr :: offset: 0x7f5, out: 0x6ba2a6ec661b0000, outHI: 0x0
+sdr :: offset: 0x7f6, out: 0x6ba2a6ec661ba800, outHI: 0x0
+sdr :: offset: 0x7f7, out: 0x6ba2a6ec661ba841, outHI: 0x0
+sh :: offset: 0x0, out: 0xd6aa000000000000, outHI: 0x0
+sh :: offset: 0x2, out: 0xd6aa007e00000000, outHI: 0x0
+sh :: offset: 0x4, out: 0xd6aa007e87630000, outHI: 0x0
+sh :: offset: 0x6, out: 0xd6aa007e876382d2, outHI: 0x0
+sh :: offset: 0x8, out: 0xab13000000000000, outHI: 0x0
+sh :: offset: 0xa, out: 0xab13976d00000000, outHI: 0x0
+sh :: offset: 0xc, out: 0xab13976d6e9a0000, outHI: 0x0
+sh :: offset: 0xe, out: 0xab13976d6e9ac315, outHI: 0x0
+sh :: offset: 0x10, out: 0x10f3000000000000, outHI: 0x0
+sh :: offset: 0x12, out: 0x10f3b77400000000, outHI: 0x0
+sh :: offset: 0x14, out: 0x10f3b7746d770000, outHI: 0x0
+sh :: offset: 0x16, out: 0x10f3b7746d775ad6, outHI: 0x0
+sh :: offset: 0x18, out: 0xa5fb000000000000, outHI: 0x0
+sh :: offset: 0x1a, out: 0xa5fb42b000000000, outHI: 0x0
+sh :: offset: 0x1c, out: 0xa5fb42b0c0a20000, outHI: 0x0
+sh :: offset: 0x1e, out: 0xa5fb42b0c0a28677, outHI: 0x0
+sh :: offset: 0x20, out: 0xb502000000000000, outHI: 0x0
+sh :: offset: 0x22, out: 0xb5022aa800000000, outHI: 0x0
+sh :: offset: 0x24, out: 0xb5022aa89d310000, outHI: 0x0
+sh :: offset: 0x26, out: 0xb5022aa89d319e3c, outHI: 0x0
+sh :: offset: 0x28, out: 0x30ad000000000000, outHI: 0x0
+sh :: offset: 0x2a, out: 0x30ad1f3000000000, outHI: 0x0
+sh :: offset: 0x2c, out: 0x30ad1f308ec30000, outHI: 0x0
+sh :: offset: 0x2e, out: 0x30ad1f308ec377fb, outHI: 0x0
+sh :: offset: 0x30, out: 0x413d000000000000, outHI: 0x0
+sh :: offset: 0x32, out: 0x413d7aa000000000, outHI: 0x0
+sh :: offset: 0x34, out: 0x413d7aa042130000, outHI: 0x0
+sh :: offset: 0x36, out: 0x413d7aa04213c760, outHI: 0x0
+sh :: offset: 0x38, out: 0xe4f7000000000000, outHI: 0x0
+sh :: offset: 0x3a, out: 0xe4f79e7000000000, outHI: 0x0
+sh :: offset: 0x3c, out: 0xe4f79e705cc50000, outHI: 0x0
+sh :: offset: 0x3e, out: 0xe4f79e705cc51ad8, outHI: 0x0
+sh :: offset: 0x40, out: 0xdca0000000000000, outHI: 0x0
+sh :: offset: 0x42, out: 0xdca04b3d00000000, outHI: 0x0
+sh :: offset: 0x44, out: 0xdca04b3dda860000, outHI: 0x0
+sh :: offset: 0x46, out: 0xdca04b3dda869615, outHI: 0x0
+sh :: offset: 0x48, out: 0xa60d000000000000, outHI: 0x0
+sh :: offset: 0x4a, out: 0xa60d05e700000000, outHI: 0x0
+sh :: offset: 0x4c, out: 0xa60d05e7a4dd0000, outHI: 0x0
+sh :: offset: 0x4e, out: 0xa60d05e7a4dd6353, outHI: 0x0
+sh :: offset: 0x50, out: 0xd41d000000000000, outHI: 0x0
+sh :: offset: 0x52, out: 0xd41d3af300000000, outHI: 0x0
+sh :: offset: 0x54, out: 0xd41d3af35a9d0000, outHI: 0x0
+sh :: offset: 0x56, out: 0xd41d3af35a9dc40b, outHI: 0x0
+sh :: offset: 0x58, out: 0xd413000000000000, outHI: 0x0
+sh :: offset: 0x5a, out: 0xd41347f500000000, outHI: 0x0
+sh :: offset: 0x5c, out: 0xd41347f505560000, outHI: 0x0
+sh :: offset: 0x5e, out: 0xd41347f505569a08, outHI: 0x0
+sh :: offset: 0x60, out: 0xa180000000000000, outHI: 0x0
+sh :: offset: 0x62, out: 0xa180956400000000, outHI: 0x0
+sh :: offset: 0x64, out: 0xa1809564b77f0000, outHI: 0x0
+sh :: offset: 0x66, out: 0xa1809564b77fd6d2, outHI: 0x0
+sh :: offset: 0x68, out: 0x40f000000000000, outHI: 0x0
+sh :: offset: 0x6a, out: 0x40fcebc00000000, outHI: 0x0
+sh :: offset: 0x6c, out: 0x40fcebc82790000, outHI: 0x0
+sh :: offset: 0x6e, out: 0x40fcebc8279b2c7, outHI: 0x0
+sh :: offset: 0x70, out: 0x6bbe000000000000, outHI: 0x0
+sh :: offset: 0x72, out: 0x6bbeb50300000000, outHI: 0x0
+sh :: offset: 0x74, out: 0x6bbeb5034c2f0000, outHI: 0x0
+sh :: offset: 0x76, out: 0x6bbeb5034c2f1f18, outHI: 0x0
+sh :: offset: 0x78, out: 0xe4c7000000000000, outHI: 0x0
+sh :: offset: 0x7a, out: 0xe4c794ff00000000, outHI: 0x0
+sh :: offset: 0x7c, out: 0xe4c794ff52fc0000, outHI: 0x0
+sh :: offset: 0x7e, out: 0xe4c794ff52fc81af, outHI: 0x0
+sh :: offset: 0x80, out: 0xa797000000000000, outHI: 0x0
+sh :: offset: 0x82, out: 0xa79731d800000000, outHI: 0x0
+sh :: offset: 0x84, out: 0xa79731d8d9160000, outHI: 0x0
+sh :: offset: 0x86, out: 0xa79731d8d9166dfc, outHI: 0x0
+sh :: offset: 0x88, out: 0x50ea000000000000, outHI: 0x0
+sh :: offset: 0x8a, out: 0x50ea365400000000, outHI: 0x0
+sh :: offset: 0x8c, out: 0x50ea36549bd60000, outHI: 0x0
+sh :: offset: 0x8e, out: 0x50ea36549bd678e8, outHI: 0x0
+sh :: offset: 0x90, out: 0x95b1000000000000, outHI: 0x0
+sh :: offset: 0x92, out: 0x95b185e000000000, outHI: 0x0
+sh :: offset: 0x94, out: 0x95b185e0a6310000, outHI: 0x0
+sh :: offset: 0x96, out: 0x95b185e0a6319b63, outHI: 0x0
+sh :: offset: 0x98, out: 0x259b000000000000, outHI: 0x0
+sh :: offset: 0x9a, out: 0x259b556b00000000, outHI: 0x0
+sh :: offset: 0x9c, out: 0x259b556b3eca0000, outHI: 0x0
+sh :: offset: 0x9e, out: 0x259b556b3ecaccf1, outHI: 0x0
+sh :: offset: 0xa0, out: 0x7ac5000000000000, outHI: 0x0
+sh :: offset: 0xa2, out: 0x7ac5b42f00000000, outHI: 0x0
+sh :: offset: 0xa4, out: 0x7ac5b42f5fc50000, outHI: 0x0
+sh :: offset: 0xa6, out: 0x7ac5b42f5fc581ee, outHI: 0x0
+sh :: offset: 0xa8, out: 0xa0fb000000000000, outHI: 0x0
+sh :: offset: 0xaa, out: 0xa0fb25b500000000, outHI: 0x0
+sh :: offset: 0xac, out: 0xa0fb25b50fec0000, outHI: 0x0
+sh :: offset: 0xae, out: 0xa0fb25b50fec1468, outHI: 0x0
+sh :: offset: 0xb0, out: 0x2d97000000000000, outHI: 0x0
+sh :: offset: 0xb2, out: 0x2d97fc9300000000, outHI: 0x0
+sh :: offset: 0xb4, out: 0x2d97fc93c5130000, outHI: 0x0
+sh :: offset: 0xb6, out: 0x2d97fc93c5132cfb, outHI: 0x0
+sh :: offset: 0xb8, out: 0x87a000000000000, outHI: 0x0
+sh :: offset: 0xba, out: 0x87a3c2c00000000, outHI: 0x0
+sh :: offset: 0xbc, out: 0x87a3c2cd9a90000, outHI: 0x0
+sh :: offset: 0xbe, out: 0x87a3c2cd9a9cda2, outHI: 0x0
+sh :: offset: 0xc0, out: 0x766000000000000, outHI: 0x0
+sh :: offset: 0xc2, out: 0x766179100000000, outHI: 0x0
+sh :: offset: 0xc4, out: 0x7661791722a0000, outHI: 0x0
+sh :: offset: 0xc6, out: 0x7661791722a7d72, outHI: 0x0
+sh :: offset: 0xc8, out: 0xda3e000000000000, outHI: 0x0
+sh :: offset: 0xca, out: 0xda3e087c00000000, outHI: 0x0
+sh :: offset: 0xcc, out: 0xda3e087cc9d10000, outHI: 0x0
+sh :: offset: 0xce, out: 0xda3e087cc9d193ce, outHI: 0x0
+sh :: offset: 0xd0, out: 0x24ad000000000000, outHI: 0x0
+sh :: offset: 0xd2, out: 0x24ad1d2a00000000, outHI: 0x0
+sh :: offset: 0xd4, out: 0x24ad1d2a75700000, outHI: 0x0
+sh :: offset: 0xd6, out: 0x24ad1d2a75703898, outHI: 0x0
+sh :: offset: 0xd8, out: 0x4ed2000000000000, outHI: 0x0
+sh :: offset: 0xda, out: 0x4ed2d0d000000000, outHI: 0x0
+sh :: offset: 0xdc, out: 0x4ed2d0d070db0000, outHI: 0x0
+sh :: offset: 0xde, out: 0x4ed2d0d070db710c, outHI: 0x0
+sh :: offset: 0xe0, out: 0xd036000000000000, outHI: 0x0
+sh :: offset: 0xe2, out: 0xd03639c200000000, outHI: 0x0
+sh :: offset: 0xe4, out: 0xd03639c21c7d0000, outHI: 0x0
+sh :: offset: 0xe6, out: 0xd03639c21c7d0341, outHI: 0x0
+sh :: offset: 0xe8, out: 0x5604000000000000, outHI: 0x0
+sh :: offset: 0xea, out: 0x56048e9400000000, outHI: 0x0
+sh :: offset: 0xec, out: 0x56048e94b7af0000, outHI: 0x0
+sh :: offset: 0xee, out: 0x56048e94b7af8ecc, outHI: 0x0
+sh :: offset: 0xf0, out: 0x31ce000000000000, outHI: 0x0
+sh :: offset: 0xf2, out: 0x31ce24eb00000000, outHI: 0x0
+sh :: offset: 0xf4, out: 0x31ce24eb6a8d0000, outHI: 0x0
+sh :: offset: 0xf6, out: 0x31ce24eb6a8d1ce7, outHI: 0x0
+sh :: offset: 0xf8, out: 0x674f000000000000, outHI: 0x0
+sh :: offset: 0xfa, out: 0x674f2f3900000000, outHI: 0x0
+sh :: offset: 0xfc, out: 0x674f2f3945440000, outHI: 0x0
+sh :: offset: 0xfe, out: 0x674f2f39454412d6, outHI: 0x0
+sh :: offset: 0x100, out: 0xe4a7000000000000, outHI: 0x0
+sh :: offset: 0x102, out: 0xe4a7260800000000, outHI: 0x0
+sh :: offset: 0x104, out: 0xe4a72608c2b70000, outHI: 0x0
+sh :: offset: 0x106, out: 0xe4a72608c2b756da, outHI: 0x0
+sh :: offset: 0x108, out: 0x4c54000000000000, outHI: 0x0
+sh :: offset: 0x10a, out: 0x4c54900100000000, outHI: 0x0
+sh :: offset: 0x10c, out: 0x4c54900102da0000, outHI: 0x0
+sh :: offset: 0x10e, out: 0x4c54900102dac8d7, outHI: 0x0
+sh :: offset: 0x110, out: 0x252f000000000000, outHI: 0x0
+sh :: offset: 0x112, out: 0x252fc89000000000, outHI: 0x0
+sh :: offset: 0x114, out: 0x252fc890d5f10000, outHI: 0x0
+sh :: offset: 0x116, out: 0x252fc890d5f1f2ef, outHI: 0x0
+sh :: offset: 0x118, out: 0xa4f7000000000000, outHI: 0x0
+sh :: offset: 0x11a, out: 0xa4f7ed5000000000, outHI: 0x0
+sh :: offset: 0x11c, out: 0xa4f7ed5005cb0000, outHI: 0x0
+sh :: offset: 0x11e, out: 0xa4f7ed5005cbc8b0, outHI: 0x0
+sh :: offset: 0x120, out: 0xa214000000000000, outHI: 0x0
+sh :: offset: 0x122, out: 0xa214314700000000, outHI: 0x0
+sh :: offset: 0x124, out: 0xa214314791890000, outHI: 0x0
+sh :: offset: 0x126, out: 0xa214314791895991, outHI: 0x0
+sh :: offset: 0x128, out: 0x136c000000000000, outHI: 0x0
+sh :: offset: 0x12a, out: 0x136cc6ee00000000, outHI: 0x0
+sh :: offset: 0x12c, out: 0x136cc6eecff90000, outHI: 0x0
+sh :: offset: 0x12e, out: 0x136cc6eecff99a2f, outHI: 0x0
+sh :: offset: 0x130, out: 0xb6f3000000000000, outHI: 0x0
+sh :: offset: 0x132, out: 0xb6f3a80900000000, outHI: 0x0
+sh :: offset: 0x134, out: 0xb6f3a80952120000, outHI: 0x0
+sh :: offset: 0x136, out: 0xb6f3a80952123889, outHI: 0x0
+sh :: offset: 0x138, out: 0x5270000000000000, outHI: 0x0
+sh :: offset: 0x13a, out: 0x5270877500000000, outHI: 0x0
+sh :: offset: 0x13c, out: 0x527087750a040000, outHI: 0x0
+sh :: offset: 0x13e, out: 0x527087750a04ad76, outHI: 0x0
+sh :: offset: 0x140, out: 0x5040000000000000, outHI: 0x0
+sh :: offset: 0x142, out: 0x50402c3d00000000, outHI: 0x0
+sh :: offset: 0x144, out: 0x50402c3de85e0000, outHI: 0x0
+sh :: offset: 0x146, out: 0x50402c3de85e84bb, outHI: 0x0
+sh :: offset: 0x148, out: 0x5a83000000000000, outHI: 0x0
+sh :: offset: 0x14a, out: 0x5a83ae6a00000000, outHI: 0x0
+sh :: offset: 0x14c, out: 0x5a83ae6aff8f0000, outHI: 0x0
+sh :: offset: 0x14e, out: 0x5a83ae6aff8fc506, outHI: 0x0
+sh :: offset: 0x150, out: 0xaa67000000000000, outHI: 0x0
+sh :: offset: 0x152, out: 0xaa67c07100000000, outHI: 0x0
+sh :: offset: 0x154, out: 0xaa67c07112dd0000, outHI: 0x0
+sh :: offset: 0x156, out: 0xaa67c07112dd60ed, outHI: 0x0
+sh :: offset: 0x158, out: 0x5ee3000000000000, outHI: 0x0
+sh :: offset: 0x15a, out: 0x5ee3c4c700000000, outHI: 0x0
+sh :: offset: 0x15c, out: 0x5ee3c4c770f60000, outHI: 0x0
+sh :: offset: 0x15e, out: 0x5ee3c4c770f630dc, outHI: 0x0
+sh :: offset: 0x160, out: 0xca5a000000000000, outHI: 0x0
+sh :: offset: 0x162, out: 0xca5adfec00000000, outHI: 0x0
+sh :: offset: 0x164, out: 0xca5adfec2b230000, outHI: 0x0
+sh :: offset: 0x166, out: 0xca5adfec2b2383cd, outHI: 0x0
+sh :: offset: 0x168, out: 0x5277000000000000, outHI: 0x0
+sh :: offset: 0x16a, out: 0x5277d3ad00000000, outHI: 0x0
+sh :: offset: 0x16c, out: 0x5277d3adba260000, outHI: 0x0
+sh :: offset: 0x16e, out: 0x5277d3adba260ff7, outHI: 0x0
+sh :: offset: 0x170, out: 0xd96b000000000000, outHI: 0x0
+sh :: offset: 0x172, out: 0xd96b4ab400000000, outHI: 0x0
+sh :: offset: 0x174, out: 0xd96b4ab4aa790000, outHI: 0x0
+sh :: offset: 0x176, out: 0xd96b4ab4aa798418, outHI: 0x0
+sh :: offset: 0x178, out: 0xc00e000000000000, outHI: 0x0
+sh :: offset: 0x17a, out: 0xc00ebb8c00000000, outHI: 0x0
+sh :: offset: 0x17c, out: 0xc00ebb8c035e0000, outHI: 0x0
+sh :: offset: 0x17e, out: 0xc00ebb8c035e0de0, outHI: 0x0
+sh :: offset: 0x180, out: 0xf0b8000000000000, outHI: 0x0
+sh :: offset: 0x182, out: 0xf0b833b000000000, outHI: 0x0
+sh :: offset: 0x184, out: 0xf0b833b06f540000, outHI: 0x0
+sh :: offset: 0x186, out: 0xf0b833b06f54a97f, outHI: 0x0
+sh :: offset: 0x188, out: 0xdcf1000000000000, outHI: 0x0
+sh :: offset: 0x18a, out: 0xdcf1774300000000, outHI: 0x0
+sh :: offset: 0x18c, out: 0xdcf177433f370000, outHI: 0x0
+sh :: offset: 0x18e, out: 0xdcf177433f373fd1, outHI: 0x0
+sh :: offset: 0x190, out: 0xc081000000000000, outHI: 0x0
+sh :: offset: 0x192, out: 0xc081ec9100000000, outHI: 0x0
+sh :: offset: 0x194, out: 0xc081ec91d9930000, outHI: 0x0
+sh :: offset: 0x196, out: 0xc081ec91d993c921, outHI: 0x0
+sh :: offset: 0x198, out: 0x95e4000000000000, outHI: 0x0
+sh :: offset: 0x19a, out: 0x95e449fb00000000, outHI: 0x0
+sh :: offset: 0x19c, out: 0x95e449fbf6a70000, outHI: 0x0
+sh :: offset: 0x19e, out: 0x95e449fbf6a795b1, outHI: 0x0
+sh :: offset: 0x1a0, out: 0xa5ab000000000000, outHI: 0x0
+sh :: offset: 0x1a2, out: 0xa5ab193600000000, outHI: 0x0
+sh :: offset: 0x1a4, out: 0xa5ab193643780000, outHI: 0x0
+sh :: offset: 0x1a6, out: 0xa5ab19364378c7ce, outHI: 0x0
+sh :: offset: 0x1a8, out: 0x8d1e000000000000, outHI: 0x0
+sh :: offset: 0x1aa, out: 0x8d1eb99e00000000, outHI: 0x0
+sh :: offset: 0x1ac, out: 0x8d1eb99e8def0000, outHI: 0x0
+sh :: offset: 0x1ae, out: 0x8d1eb99e8def2f38, outHI: 0x0
+sh :: offset: 0x1b0, out: 0x4907000000000000, outHI: 0x0
+sh :: offset: 0x1b2, out: 0x490747ea00000000, outHI: 0x0
+sh :: offset: 0x1b4, out: 0x490747eacdcd0000, outHI: 0x0
+sh :: offset: 0x1b6, out: 0x490747eacdcd582b, outHI: 0x0
+sh :: offset: 0x1b8, out: 0x12fe000000000000, outHI: 0x0
+sh :: offset: 0x1ba, out: 0x12fed68500000000, outHI: 0x0
+sh :: offset: 0x1bc, out: 0x12fed685884e0000, outHI: 0x0
+sh :: offset: 0x1be, out: 0x12fed685884e7655, outHI: 0x0
+sh :: offset: 0x1c0, out: 0x8c4f000000000000, outHI: 0x0
+sh :: offset: 0x1c2, out: 0x8c4f616800000000, outHI: 0x0
+sh :: offset: 0x1c4, out: 0x8c4f6168d62a0000, outHI: 0x0
+sh :: offset: 0x1c6, out: 0x8c4f6168d62a34c1, outHI: 0x0
+sh :: offset: 0x1c8, out: 0x95c7000000000000, outHI: 0x0
+sh :: offset: 0x1ca, out: 0x95c7d30100000000, outHI: 0x0
+sh :: offset: 0x1cc, out: 0x95c7d30169890000, outHI: 0x0
+sh :: offset: 0x1ce, out: 0x95c7d30169894df4, outHI: 0x0
+sh :: offset: 0x1d0, out: 0x7405000000000000, outHI: 0x0
+sh :: offset: 0x1d2, out: 0x74051ca100000000, outHI: 0x0
+sh :: offset: 0x1d4, out: 0x74051ca190bf0000, outHI: 0x0
+sh :: offset: 0x1d6, out: 0x74051ca190bf6cbb, outHI: 0x0
+sh :: offset: 0x1d8, out: 0x6db000000000000, outHI: 0x0
+sh :: offset: 0x1da, out: 0x6db583000000000, outHI: 0x0
+sh :: offset: 0x1dc, out: 0x6db58300f020000, outHI: 0x0
+sh :: offset: 0x1de, out: 0x6db58300f029cae, outHI: 0x0
+sh :: offset: 0x1e0, out: 0x393a000000000000, outHI: 0x0
+sh :: offset: 0x1e2, out: 0x393a9a9900000000, outHI: 0x0
+sh :: offset: 0x1e4, out: 0x393a9a995fdb0000, outHI: 0x0
+sh :: offset: 0x1e6, out: 0x393a9a995fdbdc7e, outHI: 0x0
+sh :: offset: 0x1e8, out: 0xbc2d000000000000, outHI: 0x0
+sh :: offset: 0x1ea, out: 0xbc2d8a9600000000, outHI: 0x0
+sh :: offset: 0x1ec, out: 0xbc2d8a96047b0000, outHI: 0x0
+sh :: offset: 0x1ee, out: 0xbc2d8a96047be340, outHI: 0x0
+sh :: offset: 0x1f0, out: 0x5b48000000000000, outHI: 0x0
+sh :: offset: 0x1f2, out: 0x5b4875bf00000000, outHI: 0x0
+sh :: offset: 0x1f4, out: 0x5b4875bfafd20000, outHI: 0x0
+sh :: offset: 0x1f6, out: 0x5b4875bfafd2d519, outHI: 0x0
+sh :: offset: 0x1f8, out: 0xd322000000000000, outHI: 0x0
+sh :: offset: 0x1fa, out: 0xd322de2300000000, outHI: 0x0
+sh :: offset: 0x1fc, out: 0xd322de2308670000, outHI: 0x0
+sh :: offset: 0x1fe, out: 0xd322de230867a630, outHI: 0x0
+sh :: offset: 0x200, out: 0xf6ad000000000000, outHI: 0x0
+sh :: offset: 0x202, out: 0xf6ad2c0a00000000, outHI: 0x0
+sh :: offset: 0x204, out: 0xf6ad2c0a0cf20000, outHI: 0x0
+sh :: offset: 0x206, out: 0xf6ad2c0a0cf25610, outHI: 0x0
+sh :: offset: 0x208, out: 0x3260000000000000, outHI: 0x0
+sh :: offset: 0x20a, out: 0x326094a900000000, outHI: 0x0
+sh :: offset: 0x20c, out: 0x326094a905440000, outHI: 0x0
+sh :: offset: 0x20e, out: 0x326094a90544249b, outHI: 0x0
+sh :: offset: 0x210, out: 0x18ef000000000000, outHI: 0x0
+sh :: offset: 0x212, out: 0x18eff95100000000, outHI: 0x0
+sh :: offset: 0x214, out: 0x18eff9519fb50000, outHI: 0x0
+sh :: offset: 0x216, out: 0x18eff9519fb55b56, outHI: 0x0
+sh :: offset: 0x218, out: 0xfcde000000000000, outHI: 0x0
+sh :: offset: 0x21a, out: 0xfcde81da00000000, outHI: 0x0
+sh :: offset: 0x21c, out: 0xfcde81daf8200000, outHI: 0x0
+sh :: offset: 0x21e, out: 0xfcde81daf8200468, outHI: 0x0
+sh :: offset: 0x220, out: 0x319b000000000000, outHI: 0x0
+sh :: offset: 0x222, out: 0x319b8c6100000000, outHI: 0x0
+sh :: offset: 0x224, out: 0x319b8c61ca5a0000, outHI: 0x0
+sh :: offset: 0x226, out: 0x319b8c61ca5a5725, outHI: 0x0
+sh :: offset: 0x228, out: 0xf2ec000000000000, outHI: 0x0
+sh :: offset: 0x22a, out: 0xf2ec8b9500000000, outHI: 0x0
+sh :: offset: 0x22c, out: 0xf2ec8b95a6dd0000, outHI: 0x0
+sh :: offset: 0x22e, out: 0xf2ec8b95a6ddc25d, outHI: 0x0
+sh :: offset: 0x230, out: 0xc8bf000000000000, outHI: 0x0
+sh :: offset: 0x232, out: 0xc8bf300c00000000, outHI: 0x0
+sh :: offset: 0x234, out: 0xc8bf300ce7510000, outHI: 0x0
+sh :: offset: 0x236, out: 0xc8bf300ce751dac6, outHI: 0x0
+sh :: offset: 0x238, out: 0x162f000000000000, outHI: 0x0
+sh :: offset: 0x23a, out: 0x162f677800000000, outHI: 0x0
+sh :: offset: 0x23c, out: 0x162f6778fdf30000, outHI: 0x0
+sh :: offset: 0x23e, out: 0x162f6778fdf3ba52, outHI: 0x0
+sh :: offset: 0x240, out: 0xa850000000000000, outHI: 0x0
+sh :: offset: 0x242, out: 0xa850ad0000000000, outHI: 0x0
+sh :: offset: 0x244, out: 0xa850ad00b1f70000, outHI: 0x0
+sh :: offset: 0x246, out: 0xa850ad00b1f7da78, outHI: 0x0
+sh :: offset: 0x248, out: 0x479f000000000000, outHI: 0x0
+sh :: offset: 0x24a, out: 0x479f08d400000000, outHI: 0x0
+sh :: offset: 0x24c, out: 0x479f08d441680000, outHI: 0x0
+sh :: offset: 0x24e, out: 0x479f08d44168a6b6, outHI: 0x0
+sh :: offset: 0x250, out: 0xd98a000000000000, outHI: 0x0
+sh :: offset: 0x252, out: 0xd98af51800000000, outHI: 0x0
+sh :: offset: 0x254, out: 0xd98af518381d0000, outHI: 0x0
+sh :: offset: 0x256, out: 0xd98af518381dce63, outHI: 0x0
+sh :: offset: 0x258, out: 0x4413000000000000, outHI: 0x0
+sh :: offset: 0x25a, out: 0x4413e46200000000, outHI: 0x0
+sh :: offset: 0x25c, out: 0x4413e4627f3f0000, outHI: 0x0
+sh :: offset: 0x25e, out: 0x4413e4627f3fe525, outHI: 0x0
+sh :: offset: 0x260, out: 0x5fc0000000000000, outHI: 0x0
+sh :: offset: 0x262, out: 0x5fc0ccd300000000, outHI: 0x0
+sh :: offset: 0x264, out: 0x5fc0ccd392e10000, outHI: 0x0
+sh :: offset: 0x266, out: 0x5fc0ccd392e17632, outHI: 0x0
+sh :: offset: 0x268, out: 0x1f28000000000000, outHI: 0x0
+sh :: offset: 0x26a, out: 0x1f28829400000000, outHI: 0x0
+sh :: offset: 0x26c, out: 0x1f28829464940000, outHI: 0x0
+sh :: offset: 0x26e, out: 0x1f28829464944018, outHI: 0x0
+sh :: offset: 0x270, out: 0xfd8f000000000000, outHI: 0x0
+sh :: offset: 0x272, out: 0xfd8f15d300000000, outHI: 0x0
+sh :: offset: 0x274, out: 0xfd8f15d320400000, outHI: 0x0
+sh :: offset: 0x276, out: 0xfd8f15d3204052e8, outHI: 0x0
+sh :: offset: 0x278, out: 0xf0e5000000000000, outHI: 0x0
+sh :: offset: 0x27a, out: 0xf0e57caf00000000, outHI: 0x0
+sh :: offset: 0x27c, out: 0xf0e57caf83d20000, outHI: 0x0
+sh :: offset: 0x27e, out: 0xf0e57caf83d2880f, outHI: 0x0
+sh :: offset: 0x280, out: 0xf344000000000000, outHI: 0x0
+sh :: offset: 0x282, out: 0xf344f15600000000, outHI: 0x0
+sh :: offset: 0x284, out: 0xf344f156a04c0000, outHI: 0x0
+sh :: offset: 0x286, out: 0xf344f156a04c747d, outHI: 0x0
+sh :: offset: 0x288, out: 0xefd7000000000000, outHI: 0x0
+sh :: offset: 0x28a, out: 0xefd793e200000000, outHI: 0x0
+sh :: offset: 0x28c, out: 0xefd793e2601c0000, outHI: 0x0
+sh :: offset: 0x28e, out: 0xefd793e2601c0f31, outHI: 0x0
+sh :: offset: 0x290, out: 0xd710000000000000, outHI: 0x0
+sh :: offset: 0x292, out: 0xd710e1e100000000, outHI: 0x0
+sh :: offset: 0x294, out: 0xd710e1e1a6790000, outHI: 0x0
+sh :: offset: 0x296, out: 0xd710e1e1a679131c, outHI: 0x0
+sh :: offset: 0x298, out: 0xd933000000000000, outHI: 0x0
+sh :: offset: 0x29a, out: 0xd933242900000000, outHI: 0x0
+sh :: offset: 0x29c, out: 0xd93324296b750000, outHI: 0x0
+sh :: offset: 0x29e, out: 0xd93324296b75a76f, outHI: 0x0
+sh :: offset: 0x2a0, out: 0xa427000000000000, outHI: 0x0
+sh :: offset: 0x2a2, out: 0xa427d29600000000, outHI: 0x0
+sh :: offset: 0x2a4, out: 0xa427d296e2d20000, outHI: 0x0
+sh :: offset: 0x2a6, out: 0xa427d296e2d2139e, outHI: 0x0
+sh :: offset: 0x2a8, out: 0xe56a000000000000, outHI: 0x0
+sh :: offset: 0x2aa, out: 0xe56a5a8200000000, outHI: 0x0
+sh :: offset: 0x2ac, out: 0xe56a5a82447f0000, outHI: 0x0
+sh :: offset: 0x2ae, out: 0xe56a5a82447f6dc2, outHI: 0x0
+sh :: offset: 0x2b0, out: 0xa5c0000000000000, outHI: 0x0
+sh :: offset: 0x2b2, out: 0xa5c076c800000000, outHI: 0x0
+sh :: offset: 0x2b4, out: 0xa5c076c89e800000, outHI: 0x0
+sh :: offset: 0x2b6, out: 0xa5c076c89e80c07d, outHI: 0x0
+sh :: offset: 0x2b8, out: 0xc168000000000000, outHI: 0x0
+sh :: offset: 0x2ba, out: 0xc168070d00000000, outHI: 0x0
+sh :: offset: 0x2bc, out: 0xc168070dc3450000, outHI: 0x0
+sh :: offset: 0x2be, out: 0xc168070dc3454bfe, outHI: 0x0
+sh :: offset: 0x2c0, out: 0x348f000000000000, outHI: 0x0
+sh :: offset: 0x2c2, out: 0x348fbddc00000000, outHI: 0x0
+sh :: offset: 0x2c4, out: 0x348fbddc71230000, outHI: 0x0
+sh :: offset: 0x2c6, out: 0x348fbddc7123dd6d, outHI: 0x0
+sh :: offset: 0x2c8, out: 0x241b000000000000, outHI: 0x0
+sh :: offset: 0x2ca, out: 0x241bf62f00000000, outHI: 0x0
+sh :: offset: 0x2cc, out: 0x241bf62fb7270000, outHI: 0x0
+sh :: offset: 0x2ce, out: 0x241bf62fb727a59f, outHI: 0x0
+sh :: offset: 0x2d0, out: 0xcebe000000000000, outHI: 0x0
+sh :: offset: 0x2d2, out: 0xcebe109f00000000, outHI: 0x0
+sh :: offset: 0x2d4, out: 0xcebe109f27e90000, outHI: 0x0
+sh :: offset: 0x2d6, out: 0xcebe109f27e90f9f, outHI: 0x0
+sh :: offset: 0x2d8, out: 0x46fb000000000000, outHI: 0x0
+sh :: offset: 0x2da, out: 0x46fb3f6300000000, outHI: 0x0
+sh :: offset: 0x2dc, out: 0x46fb3f63daa90000, outHI: 0x0
+sh :: offset: 0x2de, out: 0x46fb3f63daa9afd1, outHI: 0x0
+sh :: offset: 0x2e0, out: 0x99d7000000000000, outHI: 0x0
+sh :: offset: 0x2e2, out: 0x99d7dbcb00000000, outHI: 0x0
+sh :: offset: 0x2e4, out: 0x99d7dbcb312e0000, outHI: 0x0
+sh :: offset: 0x2e6, out: 0x99d7dbcb312ea3d4, outHI: 0x0
+sh :: offset: 0x2e8, out: 0x84f2000000000000, outHI: 0x0
+sh :: offset: 0x2ea, out: 0x84f21f3500000000, outHI: 0x0
+sh :: offset: 0x2ec, out: 0x84f21f353faa0000, outHI: 0x0
+sh :: offset: 0x2ee, out: 0x84f21f353faada4f, outHI: 0x0
+sh :: offset: 0x2f0, out: 0xe4c6000000000000, outHI: 0x0
+sh :: offset: 0x2f2, out: 0xe4c68b0800000000, outHI: 0x0
+sh :: offset: 0x2f4, out: 0xe4c68b086ee00000, outHI: 0x0
+sh :: offset: 0x2f6, out: 0xe4c68b086ee07150, outHI: 0x0
+sh :: offset: 0x2f8, out: 0xc260000000000000, outHI: 0x0
+sh :: offset: 0x2fa, out: 0xc260e54700000000, outHI: 0x0
+sh :: offset: 0x2fc, out: 0xc260e54750d50000, outHI: 0x0
+sh :: offset: 0x2fe, out: 0xc260e54750d5d925, outHI: 0x0
+sh :: offset: 0x300, out: 0x7f25000000000000, outHI: 0x0
+sh :: offset: 0x302, out: 0x7f253d6900000000, outHI: 0x0
+sh :: offset: 0x304, out: 0x7f253d69625f0000, outHI: 0x0
+sh :: offset: 0x306, out: 0x7f253d69625fe9a6, outHI: 0x0
+sh :: offset: 0x308, out: 0xdb5b000000000000, outHI: 0x0
+sh :: offset: 0x30a, out: 0xdb5b70a300000000, outHI: 0x0
+sh :: offset: 0x30c, out: 0xdb5b70a3e0420000, outHI: 0x0
+sh :: offset: 0x30e, out: 0xdb5b70a3e0424340, outHI: 0x0
+sh :: offset: 0x310, out: 0xac96000000000000, outHI: 0x0
+sh :: offset: 0x312, out: 0xac96c04700000000, outHI: 0x0
+sh :: offset: 0x314, out: 0xac96c0478f030000, outHI: 0x0
+sh :: offset: 0x316, out: 0xac96c0478f036980, outHI: 0x0
+sh :: offset: 0x318, out: 0x171e000000000000, outHI: 0x0
+sh :: offset: 0x31a, out: 0x171e3ce800000000, outHI: 0x0
+sh :: offset: 0x31c, out: 0x171e3ce839a50000, outHI: 0x0
+sh :: offset: 0x31e, out: 0x171e3ce839a51cf9, outHI: 0x0
+sh :: offset: 0x320, out: 0x29e3000000000000, outHI: 0x0
+sh :: offset: 0x322, out: 0x29e3e2fb00000000, outHI: 0x0
+sh :: offset: 0x324, out: 0x29e3e2fbfa890000, outHI: 0x0
+sh :: offset: 0x326, out: 0x29e3e2fbfa895eb6, outHI: 0x0
+sh :: offset: 0x328, out: 0x8958000000000000, outHI: 0x0
+sh :: offset: 0x32a, out: 0x8958d24b00000000, outHI: 0x0
+sh :: offset: 0x32c, out: 0x8958d24bb05d0000, outHI: 0x0
+sh :: offset: 0x32e, out: 0x8958d24bb05d76ed, outHI: 0x0
+sh :: offset: 0x330, out: 0x25b7000000000000, outHI: 0x0
+sh :: offset: 0x332, out: 0x25b70eb900000000, outHI: 0x0
+sh :: offset: 0x334, out: 0x25b70eb9682c0000, outHI: 0x0
+sh :: offset: 0x336, out: 0x25b70eb9682c1703, outHI: 0x0
+sh :: offset: 0x338, out: 0x12f1000000000000, outHI: 0x0
+sh :: offset: 0x33a, out: 0x12f1847800000000, outHI: 0x0
+sh :: offset: 0x33c, out: 0x12f1847852800000, outHI: 0x0
+sh :: offset: 0x33e, out: 0x12f184785280dd30, outHI: 0x0
+sh :: offset: 0x340, out: 0x1d0d000000000000, outHI: 0x0
+sh :: offset: 0x342, out: 0x1d0d179c00000000, outHI: 0x0
+sh :: offset: 0x344, out: 0x1d0d179c77aa0000, outHI: 0x0
+sh :: offset: 0x346, out: 0x1d0d179c77aa1f8f, outHI: 0x0
+sh :: offset: 0x348, out: 0xd6ef000000000000, outHI: 0x0
+sh :: offset: 0x34a, out: 0xd6ef264400000000, outHI: 0x0
+sh :: offset: 0x34c, out: 0xd6ef26444ced0000, outHI: 0x0
+sh :: offset: 0x34e, out: 0xd6ef26444ced2998, outHI: 0x0
+sh :: offset: 0x350, out: 0x436d000000000000, outHI: 0x0
+sh :: offset: 0x352, out: 0x436d071700000000, outHI: 0x0
+sh :: offset: 0x354, out: 0x436d07175c9d0000, outHI: 0x0
+sh :: offset: 0x356, out: 0x436d07175c9dd58c, outHI: 0x0
+sh :: offset: 0x358, out: 0xa708000000000000, outHI: 0x0
+sh :: offset: 0x35a, out: 0xa708663d00000000, outHI: 0x0
+sh :: offset: 0x35c, out: 0xa708663d06100000, outHI: 0x0
+sh :: offset: 0x35e, out: 0xa708663d06105583, outHI: 0x0
+sh :: offset: 0x360, out: 0x3287000000000000, outHI: 0x0
+sh :: offset: 0x362, out: 0x3287ab7d00000000, outHI: 0x0
+sh :: offset: 0x364, out: 0x3287ab7dd0480000, outHI: 0x0
+sh :: offset: 0x366, out: 0x3287ab7dd0488951, outHI: 0x0
+sh :: offset: 0x368, out: 0xd68b000000000000, outHI: 0x0
+sh :: offset: 0x36a, out: 0xd68bf69800000000, outHI: 0x0
+sh :: offset: 0x36c, out: 0xd68bf69823670000, outHI: 0x0
+sh :: offset: 0x36e, out: 0xd68bf69823670e82, outHI: 0x0
+sh :: offset: 0x370, out: 0x471b000000000000, outHI: 0x0
+sh :: offset: 0x372, out: 0x471b368800000000, outHI: 0x0
+sh :: offset: 0x374, out: 0x471b36886c590000, outHI: 0x0
+sh :: offset: 0x376, out: 0x471b36886c59d98d, outHI: 0x0
+sh :: offset: 0x378, out: 0x26b2000000000000, outHI: 0x0
+sh :: offset: 0x37a, out: 0x26b209ca00000000, outHI: 0x0
+sh :: offset: 0x37c, out: 0x26b209ca4bdb0000, outHI: 0x0
+sh :: offset: 0x37e, out: 0x26b209ca4bdbd32b, outHI: 0x0
+sh :: offset: 0x380, out: 0xe479000000000000, outHI: 0x0
+sh :: offset: 0x382, out: 0xe479fd5d00000000, outHI: 0x0
+sh :: offset: 0x384, out: 0xe479fd5d7d1d0000, outHI: 0x0
+sh :: offset: 0x386, out: 0xe479fd5d7d1d9962, outHI: 0x0
+sh :: offset: 0x388, out: 0xe61f000000000000, outHI: 0x0
+sh :: offset: 0x38a, out: 0xe61f3f4600000000, outHI: 0x0
+sh :: offset: 0x38c, out: 0xe61f3f46553e0000, outHI: 0x0
+sh :: offset: 0x38e, out: 0xe61f3f46553ecad3, outHI: 0x0
+sh :: offset: 0x390, out: 0x74df000000000000, outHI: 0x0
+sh :: offset: 0x392, out: 0x74df2e9a00000000, outHI: 0x0
+sh :: offset: 0x394, out: 0x74df2e9ab97d0000, outHI: 0x0
+sh :: offset: 0x396, out: 0x74df2e9ab97d3eed, outHI: 0x0
+sh :: offset: 0x398, out: 0xf2a7000000000000, outHI: 0x0
+sh :: offset: 0x39a, out: 0xf2a736a600000000, outHI: 0x0
+sh :: offset: 0x39c, out: 0xf2a736a6f7fa0000, outHI: 0x0
+sh :: offset: 0x39e, out: 0xf2a736a6f7fa3c0c, outHI: 0x0
+sh :: offset: 0x3a0, out: 0x9f33000000000000, outHI: 0x0
+sh :: offset: 0x3a2, out: 0x9f338bb900000000, outHI: 0x0
+sh :: offset: 0x3a4, out: 0x9f338bb938e30000, outHI: 0x0
+sh :: offset: 0x3a6, out: 0x9f338bb938e3155e, outHI: 0x0
+sh :: offset: 0x3a8, out: 0xc9dc000000000000, outHI: 0x0
+sh :: offset: 0x3aa, out: 0xc9dcd2df00000000, outHI: 0x0
+sh :: offset: 0x3ac, out: 0xc9dcd2df25c40000, outHI: 0x0
+sh :: offset: 0x3ae, out: 0xc9dcd2df25c41947, outHI: 0x0
+sh :: offset: 0x3b0, out: 0x8206000000000000, outHI: 0x0
+sh :: offset: 0x3b2, out: 0x8206bc6500000000, outHI: 0x0
+sh :: offset: 0x3b4, out: 0x8206bc65bf270000, outHI: 0x0
+sh :: offset: 0x3b6, out: 0x8206bc65bf27eb32, outHI: 0x0
+sh :: offset: 0x3b8, out: 0x1825000000000000, outHI: 0x0
+sh :: offset: 0x3ba, out: 0x1825a8b000000000, outHI: 0x0
+sh :: offset: 0x3bc, out: 0x1825a8b08fe60000, outHI: 0x0
+sh :: offset: 0x3be, out: 0x1825a8b08fe67a8b, outHI: 0x0
+sh :: offset: 0x3c0, out: 0xc7da000000000000, outHI: 0x0
+sh :: offset: 0x3c2, out: 0xc7da852b00000000, outHI: 0x0
+sh :: offset: 0x3c4, out: 0xc7da852b5bca0000, outHI: 0x0
+sh :: offset: 0x3c6, out: 0xc7da852b5bcaf8df, outHI: 0x0
+sh :: offset: 0x3c8, out: 0xcde8000000000000, outHI: 0x0
+sh :: offset: 0x3ca, out: 0xcde8047800000000, outHI: 0x0
+sh :: offset: 0x3cc, out: 0xcde80478909b0000, outHI: 0x0
+sh :: offset: 0x3ce, out: 0xcde80478909b59a9, outHI: 0x0
+sh :: offset: 0x3d0, out: 0x9269000000000000, outHI: 0x0
+sh :: offset: 0x3d2, out: 0x9269bfb300000000, outHI: 0x0
+sh :: offset: 0x3d4, out: 0x9269bfb31cc80000, outHI: 0x0
+sh :: offset: 0x3d6, out: 0x9269bfb31cc87857, outHI: 0x0
+sh :: offset: 0x3d8, out: 0x360f000000000000, outHI: 0x0
+sh :: offset: 0x3da, out: 0x360fb66500000000, outHI: 0x0
+sh :: offset: 0x3dc, out: 0x360fb665ed5e0000, outHI: 0x0
+sh :: offset: 0x3de, out: 0x360fb665ed5e7f89, outHI: 0x0
+sh :: offset: 0x3e0, out: 0xe9a2000000000000, outHI: 0x0
+sh :: offset: 0x3e2, out: 0xe9a215da00000000, outHI: 0x0
+sh :: offset: 0x3e4, out: 0xe9a215da94740000, outHI: 0x0
+sh :: offset: 0x3e6, out: 0xe9a215da9474b7a8, outHI: 0x0
+sh :: offset: 0x3e8, out: 0xd5e4000000000000, outHI: 0x0
+sh :: offset: 0x3ea, out: 0xd5e4f6b300000000, outHI: 0x0
+sh :: offset: 0x3ec, out: 0xd5e4f6b3537d0000, outHI: 0x0
+sh :: offset: 0x3ee, out: 0xd5e4f6b3537d2af9, outHI: 0x0
+sh :: offset: 0x3f0, out: 0xfcc000000000000, outHI: 0x0
+sh :: offset: 0x3f2, out: 0xfcc223d00000000, outHI: 0x0
+sh :: offset: 0x3f4, out: 0xfcc223d7cfe0000, outHI: 0x0
+sh :: offset: 0x3f6, out: 0xfcc223d7cfe2b96, outHI: 0x0
+sh :: offset: 0x3f8, out: 0x1897000000000000, outHI: 0x0
+sh :: offset: 0x3fa, out: 0x1897420b00000000, outHI: 0x0
+sh :: offset: 0x3fc, out: 0x1897420b34f50000, outHI: 0x0
+sh :: offset: 0x3fe, out: 0x1897420b34f53373, outHI: 0x0
+sh :: offset: 0x400, out: 0x4a4b000000000000, outHI: 0x0
+sh :: offset: 0x402, out: 0x4a4b897c00000000, outHI: 0x0
+sh :: offset: 0x404, out: 0x4a4b897c8c8d0000, outHI: 0x0
+sh :: offset: 0x406, out: 0x4a4b897c8c8ddd46, outHI: 0x0
+sh :: offset: 0x408, out: 0xb33c000000000000, outHI: 0x0
+sh :: offset: 0x40a, out: 0xb33c7a3800000000, outHI: 0x0
+sh :: offset: 0x40c, out: 0xb33c7a3874450000, outHI: 0x0
+sh :: offset: 0x40e, out: 0xb33c7a387445e392, outHI: 0x0
+sh :: offset: 0x410, out: 0xccd9000000000000, outHI: 0x0
+sh :: offset: 0x412, out: 0xccd9512f00000000, outHI: 0x0
+sh :: offset: 0x414, out: 0xccd9512f29b10000, outHI: 0x0
+sh :: offset: 0x416, out: 0xccd9512f29b1d800, outHI: 0x0
+sh :: offset: 0x418, out: 0xc9000000000000, outHI: 0x0
+sh :: offset: 0x41a, out: 0xc9eade00000000, outHI: 0x0
+sh :: offset: 0x41c, out: 0xc9eaded5c50000, outHI: 0x0
+sh :: offset: 0x41e, out: 0xc9eaded5c53dad, outHI: 0x0
+sh :: offset: 0x420, out: 0x20a000000000000, outHI: 0x0
+sh :: offset: 0x422, out: 0x20a8a6200000000, outHI: 0x0
+sh :: offset: 0x424, out: 0x20a8a6229d70000, outHI: 0x0
+sh :: offset: 0x426, out: 0x20a8a6229d731ee, outHI: 0x0
+sh :: offset: 0x428, out: 0xa35b000000000000, outHI: 0x0
+sh :: offset: 0x42a, out: 0xa35b2c3c00000000, outHI: 0x0
+sh :: offset: 0x42c, out: 0xa35b2c3c3f9e0000, outHI: 0x0
+sh :: offset: 0x42e, out: 0xa35b2c3c3f9e4898, outHI: 0x0
+sh :: offset: 0x430, out: 0x5649000000000000, outHI: 0x0
+sh :: offset: 0x432, out: 0x56497ff600000000, outHI: 0x0
+sh :: offset: 0x434, out: 0x56497ff61e780000, outHI: 0x0
+sh :: offset: 0x436, out: 0x56497ff61e78dc9c, outHI: 0x0
+sh :: offset: 0x438, out: 0xb77000000000000, outHI: 0x0
+sh :: offset: 0x43a, out: 0xb77229900000000, outHI: 0x0
+sh :: offset: 0x43c, out: 0xb772299b0e00000, outHI: 0x0
+sh :: offset: 0x43e, out: 0xb772299b0e01d5e, outHI: 0x0
+sh :: offset: 0x440, out: 0x68ec000000000000, outHI: 0x0
+sh :: offset: 0x442, out: 0x68ec7c3b00000000, outHI: 0x0
+sh :: offset: 0x444, out: 0x68ec7c3b04670000, outHI: 0x0
+sh :: offset: 0x446, out: 0x68ec7c3b04673d0c, outHI: 0x0
+sh :: offset: 0x448, out: 0x6e25000000000000, outHI: 0x0
+sh :: offset: 0x44a, out: 0x6e25164e00000000, outHI: 0x0
+sh :: offset: 0x44c, out: 0x6e25164e17c10000, outHI: 0x0
+sh :: offset: 0x44e, out: 0x6e25164e17c1e7fb, outHI: 0x0
+sh :: offset: 0x450, out: 0x6587000000000000, outHI: 0x0
+sh :: offset: 0x452, out: 0x6587fa4c00000000, outHI: 0x0
+sh :: offset: 0x454, out: 0x6587fa4ca28b0000, outHI: 0x0
+sh :: offset: 0x456, out: 0x6587fa4ca28b56d4, outHI: 0x0
+sh :: offset: 0x458, out: 0x950b000000000000, outHI: 0x0
+sh :: offset: 0x45a, out: 0x950be5e900000000, outHI: 0x0
+sh :: offset: 0x45c, out: 0x950be5e9a3140000, outHI: 0x0
+sh :: offset: 0x45e, out: 0x950be5e9a314be7f, outHI: 0x0
+sh :: offset: 0x460, out: 0xa08a000000000000, outHI: 0x0
+sh :: offset: 0x462, out: 0xa08af8be00000000, outHI: 0x0
+sh :: offset: 0x464, out: 0xa08af8be81640000, outHI: 0x0
+sh :: offset: 0x466, out: 0xa08af8be81641596, outHI: 0x0
+sh :: offset: 0x468, out: 0x49c5000000000000, outHI: 0x0
+sh :: offset: 0x46a, out: 0x49c57ca300000000, outHI: 0x0
+sh :: offset: 0x46c, out: 0x49c57ca325970000, outHI: 0x0
+sh :: offset: 0x46e, out: 0x49c57ca3259784e6, outHI: 0x0
+sh :: offset: 0x470, out: 0x9b17000000000000, outHI: 0x0
+sh :: offset: 0x472, out: 0x9b17fc8d00000000, outHI: 0x0
+sh :: offset: 0x474, out: 0x9b17fc8d543c0000, outHI: 0x0
+sh :: offset: 0x476, out: 0x9b17fc8d543ca1f2, outHI: 0x0
+sh :: offset: 0x478, out: 0x4f5c000000000000, outHI: 0x0
+sh :: offset: 0x47a, out: 0x4f5c4aeb00000000, outHI: 0x0
+sh :: offset: 0x47c, out: 0x4f5c4aeb6ca00000, outHI: 0x0
+sh :: offset: 0x47e, out: 0x4f5c4aeb6ca0e345, outHI: 0x0
+sh :: offset: 0x480, out: 0x9e36000000000000, outHI: 0x0
+sh :: offset: 0x482, out: 0x9e36c53200000000, outHI: 0x0
+sh :: offset: 0x484, out: 0x9e36c532e18e0000, outHI: 0x0
+sh :: offset: 0x486, out: 0x9e36c532e18e1879, outHI: 0x0
+sh :: offset: 0x488, out: 0x80fa000000000000, outHI: 0x0
+sh :: offset: 0x48a, out: 0x80fab3fd00000000, outHI: 0x0
+sh :: offset: 0x48c, out: 0x80fab3fdec290000, outHI: 0x0
+sh :: offset: 0x48e, out: 0x80fab3fdec294f28, outHI: 0x0
+sh :: offset: 0x490, out: 0x7d1c000000000000, outHI: 0x0
+sh :: offset: 0x492, out: 0x7d1cb62000000000, outHI: 0x0
+sh :: offset: 0x494, out: 0x7d1cb620660a0000, outHI: 0x0
+sh :: offset: 0x496, out: 0x7d1cb620660a4973, outHI: 0x0
+sh :: offset: 0x498, out: 0x2b90000000000000, outHI: 0x0
+sh :: offset: 0x49a, out: 0x2b90993100000000, outHI: 0x0
+sh :: offset: 0x49c, out: 0x2b90993138f10000, outHI: 0x0
+sh :: offset: 0x49e, out: 0x2b90993138f16cfd, outHI: 0x0
+sh :: offset: 0x4a0, out: 0xe991000000000000, outHI: 0x0
+sh :: offset: 0x4a2, out: 0xe991de0200000000, outHI: 0x0
+sh :: offset: 0x4a4, out: 0xe991de02d1330000, outHI: 0x0
+sh :: offset: 0x4a6, out: 0xe991de02d1337d54, outHI: 0x0
+sh :: offset: 0x4a8, out: 0x7b9000000000000, outHI: 0x0
+sh :: offset: 0x4aa, out: 0x7b913a300000000, outHI: 0x0
+sh :: offset: 0x4ac, out: 0x7b913a390e10000, outHI: 0x0
+sh :: offset: 0x4ae, out: 0x7b913a390e1e1da, outHI: 0x0
+sh :: offset: 0x4b0, out: 0xb15a000000000000, outHI: 0x0
+sh :: offset: 0x4b2, out: 0xb15a743400000000, outHI: 0x0
+sh :: offset: 0x4b4, out: 0xb15a743491a60000, outHI: 0x0
+sh :: offset: 0x4b6, out: 0xb15a743491a68287, outHI: 0x0
+sh :: offset: 0x4b8, out: 0x16c8000000000000, outHI: 0x0
+sh :: offset: 0x4ba, out: 0x16c88cff00000000, outHI: 0x0
+sh :: offset: 0x4bc, out: 0x16c88cff404a0000, outHI: 0x0
+sh :: offset: 0x4be, out: 0x16c88cff404aede2, outHI: 0x0
+sh :: offset: 0x4c0, out: 0x92f2000000000000, outHI: 0x0
+sh :: offset: 0x4c2, out: 0x92f2b9ce00000000, outHI: 0x0
+sh :: offset: 0x4c4, out: 0x92f2b9cec0db0000, outHI: 0x0
+sh :: offset: 0x4c6, out: 0x92f2b9cec0db1f83, outHI: 0x0
+sh :: offset: 0x4c8, out: 0x7636000000000000, outHI: 0x0
+sh :: offset: 0x4ca, out: 0x76362eaa00000000, outHI: 0x0
+sh :: offset: 0x4cc, out: 0x76362eaa5aa70000, outHI: 0x0
+sh :: offset: 0x4ce, out: 0x76362eaa5aa70509, outHI: 0x0
+sh :: offset: 0x4d0, out: 0x771c000000000000, outHI: 0x0
+sh :: offset: 0x4d2, out: 0x771cd32700000000, outHI: 0x0
+sh :: offset: 0x4d4, out: 0x771cd327538e0000, outHI: 0x0
+sh :: offset: 0x4d6, out: 0x771cd327538e1875, outHI: 0x0
+sh :: offset: 0x4d8, out: 0x241b000000000000, outHI: 0x0
+sh :: offset: 0x4da, out: 0x241b42e900000000, outHI: 0x0
+sh :: offset: 0x4dc, out: 0x241b42e9f8540000, outHI: 0x0
+sh :: offset: 0x4de, out: 0x241b42e9f8548b73, outHI: 0x0
+sh :: offset: 0x4e0, out: 0x9b6b000000000000, outHI: 0x0
+sh :: offset: 0x4e2, out: 0x9b6b78e400000000, outHI: 0x0
+sh :: offset: 0x4e4, out: 0x9b6b78e4e50c0000, outHI: 0x0
+sh :: offset: 0x4e6, out: 0x9b6b78e4e50ceccb, outHI: 0x0
+sh :: offset: 0x4e8, out: 0xba1a000000000000, outHI: 0x0
+sh :: offset: 0x4ea, out: 0xba1af6b600000000, outHI: 0x0
+sh :: offset: 0x4ec, out: 0xba1af6b6fa3f0000, outHI: 0x0
+sh :: offset: 0x4ee, out: 0xba1af6b6fa3fcd9d, outHI: 0x0
+sh :: offset: 0x4f0, out: 0x27cb000000000000, outHI: 0x0
+sh :: offset: 0x4f2, out: 0x27cb739100000000, outHI: 0x0
+sh :: offset: 0x4f4, out: 0x27cb739164830000, outHI: 0x0
+sh :: offset: 0x4f6, out: 0x27cb73916483ae3e, outHI: 0x0
+sh :: offset: 0x4f8, out: 0x9423000000000000, outHI: 0x0
+sh :: offset: 0x4fa, out: 0x9423276a00000000, outHI: 0x0
+sh :: offset: 0x4fc, out: 0x9423276af70a0000, outHI: 0x0
+sh :: offset: 0x4fe, out: 0x9423276af70a0e12, outHI: 0x0
+sh :: offset: 0x500, out: 0x8561000000000000, outHI: 0x0
+sh :: offset: 0x502, out: 0x8561030400000000, outHI: 0x0
+sh :: offset: 0x504, out: 0x856103045bf60000, outHI: 0x0
+sh :: offset: 0x506, out: 0x856103045bf6b5e7, outHI: 0x0
+sh :: offset: 0x508, out: 0x4b6e000000000000, outHI: 0x0
+sh :: offset: 0x50a, out: 0x4b6e202200000000, outHI: 0x0
+sh :: offset: 0x50c, out: 0x4b6e20223f130000, outHI: 0x0
+sh :: offset: 0x50e, out: 0x4b6e20223f1308ac, outHI: 0x0
+sh :: offset: 0x510, out: 0xcfa6000000000000, outHI: 0x0
+sh :: offset: 0x512, out: 0xcfa6f83c00000000, outHI: 0x0
+sh :: offset: 0x514, out: 0xcfa6f83c55740000, outHI: 0x0
+sh :: offset: 0x516, out: 0xcfa6f83c55743976, outHI: 0x0
+sh :: offset: 0x518, out: 0xb5f5000000000000, outHI: 0x0
+sh :: offset: 0x51a, out: 0xb5f51f9700000000, outHI: 0x0
+sh :: offset: 0x51c, out: 0xb5f51f9720f90000, outHI: 0x0
+sh :: offset: 0x51e, out: 0xb5f51f9720f94692, outHI: 0x0
+sh :: offset: 0x520, out: 0x3c3d000000000000, outHI: 0x0
+sh :: offset: 0x522, out: 0x3c3d620d00000000, outHI: 0x0
+sh :: offset: 0x524, out: 0x3c3d620d28500000, outHI: 0x0
+sh :: offset: 0x526, out: 0x3c3d620d28506d24, outHI: 0x0
+sh :: offset: 0x528, out: 0x48dd000000000000, outHI: 0x0
+sh :: offset: 0x52a, out: 0x48dd60a500000000, outHI: 0x0
+sh :: offset: 0x52c, out: 0x48dd60a521e90000, outHI: 0x0
+sh :: offset: 0x52e, out: 0x48dd60a521e99ff4, outHI: 0x0
+sh :: offset: 0x530, out: 0xa732000000000000, outHI: 0x0
+sh :: offset: 0x532, out: 0xa7325a0800000000, outHI: 0x0
+sh :: offset: 0x534, out: 0xa7325a08f3ab0000, outHI: 0x0
+sh :: offset: 0x536, out: 0xa7325a08f3ab5c68, outHI: 0x0
+sh :: offset: 0x538, out: 0xf0b000000000000, outHI: 0x0
+sh :: offset: 0x53a, out: 0xf0bc7a500000000, outHI: 0x0
+sh :: offset: 0x53c, out: 0xf0bc7a59be70000, outHI: 0x0
+sh :: offset: 0x53e, out: 0xf0bc7a59be7800f, outHI: 0x0
+sh :: offset: 0x540, out: 0x3d26000000000000, outHI: 0x0
+sh :: offset: 0x542, out: 0x3d261aec00000000, outHI: 0x0
+sh :: offset: 0x544, out: 0x3d261aecdf290000, outHI: 0x0
+sh :: offset: 0x546, out: 0x3d261aecdf2982ca, outHI: 0x0
+sh :: offset: 0x548, out: 0x1b41000000000000, outHI: 0x0
+sh :: offset: 0x54a, out: 0x1b412b8600000000, outHI: 0x0
+sh :: offset: 0x54c, out: 0x1b412b8613a20000, outHI: 0x0
+sh :: offset: 0x54e, out: 0x1b412b8613a260d1, outHI: 0x0
+sh :: offset: 0x550, out: 0x9dcd000000000000, outHI: 0x0
+sh :: offset: 0x552, out: 0x9dcd251800000000, outHI: 0x0
+sh :: offset: 0x554, out: 0x9dcd2518ac8b0000, outHI: 0x0
+sh :: offset: 0x556, out: 0x9dcd2518ac8b0e8b, outHI: 0x0
+sh :: offset: 0x558, out: 0xbe7f000000000000, outHI: 0x0
+sh :: offset: 0x55a, out: 0xbe7f743e00000000, outHI: 0x0
+sh :: offset: 0x55c, out: 0xbe7f743e568d0000, outHI: 0x0
+sh :: offset: 0x55e, out: 0xbe7f743e568d2fcf, outHI: 0x0
+sh :: offset: 0x560, out: 0x486b000000000000, outHI: 0x0
+sh :: offset: 0x562, out: 0x486b126f00000000, outHI: 0x0
+sh :: offset: 0x564, out: 0x486b126f646f0000, outHI: 0x0
+sh :: offset: 0x566, out: 0x486b126f646f34c3, outHI: 0x0
+sh :: offset: 0x568, out: 0x1728000000000000, outHI: 0x0
+sh :: offset: 0x56a, out: 0x1728aab000000000, outHI: 0x0
+sh :: offset: 0x56c, out: 0x1728aab019610000, outHI: 0x0
+sh :: offset: 0x56e, out: 0x1728aab0196156fc, outHI: 0x0
+sh :: offset: 0x570, out: 0x4d12000000000000, outHI: 0x0
+sh :: offset: 0x572, out: 0x4d12753500000000, outHI: 0x0
+sh :: offset: 0x574, out: 0x4d127535cd330000, outHI: 0x0
+sh :: offset: 0x576, out: 0x4d127535cd338595, outHI: 0x0
+sh :: offset: 0x578, out: 0xd342000000000000, outHI: 0x0
+sh :: offset: 0x57a, out: 0xd342dfb200000000, outHI: 0x0
+sh :: offset: 0x57c, out: 0xd342dfb254da0000, outHI: 0x0
+sh :: offset: 0x57e, out: 0xd342dfb254da4223, outHI: 0x0
+sh :: offset: 0x580, out: 0x46ec000000000000, outHI: 0x0
+sh :: offset: 0x582, out: 0x46eca86700000000, outHI: 0x0
+sh :: offset: 0x584, out: 0x46eca86726c90000, outHI: 0x0
+sh :: offset: 0x586, out: 0x46eca86726c90081, outHI: 0x0
+sh :: offset: 0x588, out: 0xab2a000000000000, outHI: 0x0
+sh :: offset: 0x58a, out: 0xab2a9bfe00000000, outHI: 0x0
+sh :: offset: 0x58c, out: 0xab2a9bfeffa10000, outHI: 0x0
+sh :: offset: 0x58e, out: 0xab2a9bfeffa1679d, outHI: 0x0
+sh :: offset: 0x590, out: 0x7438000000000000, outHI: 0x0
+sh :: offset: 0x592, out: 0x7438c76900000000, outHI: 0x0
+sh :: offset: 0x594, out: 0x7438c76998260000, outHI: 0x0
+sh :: offset: 0x596, out: 0x7438c7699826b7de, outHI: 0x0
+sh :: offset: 0x598, out: 0xe244000000000000, outHI: 0x0
+sh :: offset: 0x59a, out: 0xe2443c0700000000, outHI: 0x0
+sh :: offset: 0x59c, out: 0xe2443c07af970000, outHI: 0x0
+sh :: offset: 0x59e, out: 0xe2443c07af97fba6, outHI: 0x0
+sh :: offset: 0x5a0, out: 0x704a000000000000, outHI: 0x0
+sh :: offset: 0x5a2, out: 0x704a521300000000, outHI: 0x0
+sh :: offset: 0x5a4, out: 0x704a521364dc0000, outHI: 0x0
+sh :: offset: 0x5a6, out: 0x704a521364dc04c5, outHI: 0x0
+sh :: offset: 0x5a8, out: 0x8bfe000000000000, outHI: 0x0
+sh :: offset: 0x5aa, out: 0x8bfee0f700000000, outHI: 0x0
+sh :: offset: 0x5ac, out: 0x8bfee0f7bb580000, outHI: 0x0
+sh :: offset: 0x5ae, out: 0x8bfee0f7bb589ab7, outHI: 0x0
+sh :: offset: 0x5b0, out: 0xaebc000000000000, outHI: 0x0
+sh :: offset: 0x5b2, out: 0xaebce33600000000, outHI: 0x0
+sh :: offset: 0x5b4, out: 0xaebce336c60c0000, outHI: 0x0
+sh :: offset: 0x5b6, out: 0xaebce336c60cdeeb, outHI: 0x0
+sh :: offset: 0x5b8, out: 0x954d000000000000, outHI: 0x0
+sh :: offset: 0x5ba, out: 0x954dd5b200000000, outHI: 0x0
+sh :: offset: 0x5bc, out: 0x954dd5b2120c0000, outHI: 0x0
+sh :: offset: 0x5be, out: 0x954dd5b2120c6f52, outHI: 0x0
+sh :: offset: 0x5c0, out: 0x416e000000000000, outHI: 0x0
+sh :: offset: 0x5c2, out: 0x416e85a200000000, outHI: 0x0
+sh :: offset: 0x5c4, out: 0x416e85a2d4ff0000, outHI: 0x0
+sh :: offset: 0x5c6, out: 0x416e85a2d4ff7e62, outHI: 0x0
+sh :: offset: 0x5c8, out: 0x8a34000000000000, outHI: 0x0
+sh :: offset: 0x5ca, out: 0x8a34986a00000000, outHI: 0x0
+sh :: offset: 0x5cc, out: 0x8a34986a2b650000, outHI: 0x0
+sh :: offset: 0x5ce, out: 0x8a34986a2b654a4e, outHI: 0x0
+sh :: offset: 0x5d0, out: 0x7e07000000000000, outHI: 0x0
+sh :: offset: 0x5d2, out: 0x7e07a97400000000, outHI: 0x0
+sh :: offset: 0x5d4, out: 0x7e07a974eac40000, outHI: 0x0
+sh :: offset: 0x5d6, out: 0x7e07a974eac43a48, outHI: 0x0
+sh :: offset: 0x5d8, out: 0x9b55000000000000, outHI: 0x0
+sh :: offset: 0x5da, out: 0x9b55a38800000000, outHI: 0x0
+sh :: offset: 0x5dc, out: 0x9b55a388c1620000, outHI: 0x0
+sh :: offset: 0x5de, out: 0x9b55a388c16272f1, outHI: 0x0
+sh :: offset: 0x5e0, out: 0xf8f5000000000000, outHI: 0x0
+sh :: offset: 0x5e2, out: 0xf8f5e8c100000000, outHI: 0x0
+sh :: offset: 0x5e4, out: 0xf8f5e8c11f450000, outHI: 0x0
+sh :: offset: 0x5e6, out: 0xf8f5e8c11f45e749, outHI: 0x0
+sh :: offset: 0x5e8, out: 0x5ea9000000000000, outHI: 0x0
+sh :: offset: 0x5ea, out: 0x5ea9adaa00000000, outHI: 0x0
+sh :: offset: 0x5ec, out: 0x5ea9adaa5a760000, outHI: 0x0
+sh :: offset: 0x5ee, out: 0x5ea9adaa5a765cc1, outHI: 0x0
+sh :: offset: 0x5f0, out: 0xc8b4000000000000, outHI: 0x0
+sh :: offset: 0x5f2, out: 0xc8b47ab400000000, outHI: 0x0
+sh :: offset: 0x5f4, out: 0xc8b47ab4ce880000, outHI: 0x0
+sh :: offset: 0x5f6, out: 0xc8b47ab4ce88dfa6, outHI: 0x0
+sh :: offset: 0x5f8, out: 0x5c0000000000000, outHI: 0x0
+sh :: offset: 0x5fa, out: 0x5c0b42a00000000, outHI: 0x0
+sh :: offset: 0x5fc, out: 0x5c0b42ad6e60000, outHI: 0x0
+sh :: offset: 0x5fe, out: 0x5c0b42ad6e659a7, outHI: 0x0
+sh :: offset: 0x600, out: 0xb04f000000000000, outHI: 0x0
+sh :: offset: 0x602, out: 0xb04f4bf800000000, outHI: 0x0
+sh :: offset: 0x604, out: 0xb04f4bf8485a0000, outHI: 0x0
+sh :: offset: 0x606, out: 0xb04f4bf8485ab728, outHI: 0x0
+sh :: offset: 0x608, out: 0x922f000000000000, outHI: 0x0
+sh :: offset: 0x60a, out: 0x922f76a300000000, outHI: 0x0
+sh :: offset: 0x60c, out: 0x922f76a3d60c0000, outHI: 0x0
+sh :: offset: 0x60e, out: 0x922f76a3d60c3b66, outHI: 0x0
+sh :: offset: 0x610, out: 0xa7fb000000000000, outHI: 0x0
+sh :: offset: 0x612, out: 0xa7fb31e000000000, outHI: 0x0
+sh :: offset: 0x614, out: 0xa7fb31e0c6af0000, outHI: 0x0
+sh :: offset: 0x616, out: 0xa7fb31e0c6affdc2, outHI: 0x0
+sh :: offset: 0x618, out: 0x8eda000000000000, outHI: 0x0
+sh :: offset: 0x61a, out: 0x8eda536000000000, outHI: 0x0
+sh :: offset: 0x61c, out: 0x8eda53606bb40000, outHI: 0x0
+sh :: offset: 0x61e, out: 0x8eda53606bb4bf0c, outHI: 0x0
+sh :: offset: 0x620, out: 0x999d000000000000, outHI: 0x0
+sh :: offset: 0x622, out: 0x999d32fc00000000, outHI: 0x0
+sh :: offset: 0x624, out: 0x999d32fc12c80000, outHI: 0x0
+sh :: offset: 0x626, out: 0x999d32fc12c81b79, outHI: 0x0
+sh :: offset: 0x628, out: 0x19f0000000000000, outHI: 0x0
+sh :: offset: 0x62a, out: 0x19f03ef800000000, outHI: 0x0
+sh :: offset: 0x62c, out: 0x19f03ef883840000, outHI: 0x0
+sh :: offset: 0x62e, out: 0x19f03ef88384c72e, outHI: 0x0
+sh :: offset: 0x630, out: 0xfcd6000000000000, outHI: 0x0
+sh :: offset: 0x632, out: 0xfcd638b100000000, outHI: 0x0
+sh :: offset: 0x634, out: 0xfcd638b1c7bb0000, outHI: 0x0
+sh :: offset: 0x636, out: 0xfcd638b1c7bb6a2a, outHI: 0x0
+sh :: offset: 0x638, out: 0x3580000000000000, outHI: 0x0
+sh :: offset: 0x63a, out: 0x358015eb00000000, outHI: 0x0
+sh :: offset: 0x63c, out: 0x358015ebf6120000, outHI: 0x0
+sh :: offset: 0x63e, out: 0x358015ebf6121dca, outHI: 0x0
+sh :: offset: 0x640, out: 0x77c9000000000000, outHI: 0x0
+sh :: offset: 0x642, out: 0x77c95eaa00000000, outHI: 0x0
+sh :: offset: 0x644, out: 0x77c95eaacdd90000, outHI: 0x0
+sh :: offset: 0x646, out: 0x77c95eaacdd9fd91, outHI: 0x0
+sh :: offset: 0x648, out: 0x47ae000000000000, outHI: 0x0
+sh :: offset: 0x64a, out: 0x47aebb8400000000, outHI: 0x0
+sh :: offset: 0x64c, out: 0x47aebb8470f90000, outHI: 0x0
+sh :: offset: 0x64e, out: 0x47aebb8470f981e9, outHI: 0x0
+sh :: offset: 0x650, out: 0x1117000000000000, outHI: 0x0
+sh :: offset: 0x652, out: 0x111705d400000000, outHI: 0x0
+sh :: offset: 0x654, out: 0x111705d42aea0000, outHI: 0x0
+sh :: offset: 0x656, out: 0x111705d42aeac6a5, outHI: 0x0
+sh :: offset: 0x658, out: 0x32e0000000000000, outHI: 0x0
+sh :: offset: 0x65a, out: 0x32e014ab00000000, outHI: 0x0
+sh :: offset: 0x65c, out: 0x32e014abf3640000, outHI: 0x0
+sh :: offset: 0x65e, out: 0x32e014abf36419fb, outHI: 0x0
+sh :: offset: 0x660, out: 0x9e63000000000000, outHI: 0x0
+sh :: offset: 0x662, out: 0x9e63249d00000000, outHI: 0x0
+sh :: offset: 0x664, out: 0x9e63249d559a0000, outHI: 0x0
+sh :: offset: 0x666, out: 0x9e63249d559aa8d7, outHI: 0x0
+sh :: offset: 0x668, out: 0x2aac000000000000, outHI: 0x0
+sh :: offset: 0x66a, out: 0x2aac0cd600000000, outHI: 0x0
+sh :: offset: 0x66c, out: 0x2aac0cd6764f0000, outHI: 0x0
+sh :: offset: 0x66e, out: 0x2aac0cd6764f084b, outHI: 0x0
+sh :: offset: 0x670, out: 0x30ec000000000000, outHI: 0x0
+sh :: offset: 0x672, out: 0x30ec7f0300000000, outHI: 0x0
+sh :: offset: 0x674, out: 0x30ec7f03ac070000, outHI: 0x0
+sh :: offset: 0x676, out: 0x30ec7f03ac079246, outHI: 0x0
+sh :: offset: 0x678, out: 0x8fdf000000000000, outHI: 0x0
+sh :: offset: 0x67a, out: 0x8fdf7e3500000000, outHI: 0x0
+sh :: offset: 0x67c, out: 0x8fdf7e35ce6d0000, outHI: 0x0
+sh :: offset: 0x67e, out: 0x8fdf7e35ce6d56e6, outHI: 0x0
+sh :: offset: 0x680, out: 0x70f5000000000000, outHI: 0x0
+sh :: offset: 0x682, out: 0x70f5152800000000, outHI: 0x0
+sh :: offset: 0x684, out: 0x70f5152828590000, outHI: 0x0
+sh :: offset: 0x686, out: 0x70f5152828591a65, outHI: 0x0
+sh :: offset: 0x688, out: 0x2711000000000000, outHI: 0x0
+sh :: offset: 0x68a, out: 0x27119e1c00000000, outHI: 0x0
+sh :: offset: 0x68c, out: 0x27119e1c32830000, outHI: 0x0
+sh :: offset: 0x68e, out: 0x27119e1c3283d215, outHI: 0x0
+sh :: offset: 0x690, out: 0xa9fb000000000000, outHI: 0x0
+sh :: offset: 0x692, out: 0xa9fb8d9500000000, outHI: 0x0
+sh :: offset: 0x694, out: 0xa9fb8d95c0490000, outHI: 0x0
+sh :: offset: 0x696, out: 0xa9fb8d95c049282a, outHI: 0x0
+sh :: offset: 0x698, out: 0x417000000000000, outHI: 0x0
+sh :: offset: 0x69a, out: 0x417f2e700000000, outHI: 0x0
+sh :: offset: 0x69c, out: 0x417f2e7a4900000, outHI: 0x0
+sh :: offset: 0x69e, out: 0x417f2e7a4909780, outHI: 0x0
+sh :: offset: 0x6a0, out: 0x58f3000000000000, outHI: 0x0
+sh :: offset: 0x6a2, out: 0x58f3775b00000000, outHI: 0x0
+sh :: offset: 0x6a4, out: 0x58f3775b4cca0000, outHI: 0x0
+sh :: offset: 0x6a6, out: 0x58f3775b4cca0975, outHI: 0x0
+sh :: offset: 0x6a8, out: 0xb1aa000000000000, outHI: 0x0
+sh :: offset: 0x6aa, out: 0xb1aa0a2b00000000, outHI: 0x0
+sh :: offset: 0x6ac, out: 0xb1aa0a2b84a60000, outHI: 0x0
+sh :: offset: 0x6ae, out: 0xb1aa0a2b84a63511, outHI: 0x0
+sh :: offset: 0x6b0, out: 0x1020000000000000, outHI: 0x0
+sh :: offset: 0x6b2, out: 0x1020023f00000000, outHI: 0x0
+sh :: offset: 0x6b4, out: 0x1020023fa0d30000, outHI: 0x0
+sh :: offset: 0x6b6, out: 0x1020023fa0d3a7d8, outHI: 0x0
+sh :: offset: 0x6b8, out: 0x8b6f000000000000, outHI: 0x0
+sh :: offset: 0x6ba, out: 0x8b6fa3d900000000, outHI: 0x0
+sh :: offset: 0x6bc, out: 0x8b6fa3d991b70000, outHI: 0x0
+sh :: offset: 0x6be, out: 0x8b6fa3d991b79941, outHI: 0x0
+sh :: offset: 0x6c0, out: 0xdedd000000000000, outHI: 0x0
+sh :: offset: 0x6c2, out: 0xdedd751c00000000, outHI: 0x0
+sh :: offset: 0x6c4, out: 0xdedd751cb4830000, outHI: 0x0
+sh :: offset: 0x6c6, out: 0xdedd751cb4835a0d, outHI: 0x0
+sh :: offset: 0x6c8, out: 0x9508000000000000, outHI: 0x0
+sh :: offset: 0x6ca, out: 0x9508949c00000000, outHI: 0x0
+sh :: offset: 0x6cc, out: 0x9508949cad350000, outHI: 0x0
+sh :: offset: 0x6ce, out: 0x9508949cad35625b, outHI: 0x0
+sh :: offset: 0x6d0, out: 0xb2d3000000000000, outHI: 0x0
+sh :: offset: 0x6d2, out: 0xb2d37f5600000000, outHI: 0x0
+sh :: offset: 0x6d4, out: 0xb2d37f567f350000, outHI: 0x0
+sh :: offset: 0x6d6, out: 0xb2d37f567f35a692, outHI: 0x0
+sh :: offset: 0x6d8, out: 0x9739000000000000, outHI: 0x0
+sh :: offset: 0x6da, out: 0x9739185b00000000, outHI: 0x0
+sh :: offset: 0x6dc, out: 0x9739185b88e00000, outHI: 0x0
+sh :: offset: 0x6de, out: 0x9739185b88e0db8d, outHI: 0x0
+sh :: offset: 0x6e0, out: 0x7d27000000000000, outHI: 0x0
+sh :: offset: 0x6e2, out: 0x7d27255a00000000, outHI: 0x0
+sh :: offset: 0x6e4, out: 0x7d27255a4cd20000, outHI: 0x0
+sh :: offset: 0x6e6, out: 0x7d27255a4cd22fd6, outHI: 0x0
+sh :: offset: 0x6e8, out: 0x1b91000000000000, outHI: 0x0
+sh :: offset: 0x6ea, out: 0x1b91104800000000, outHI: 0x0
+sh :: offset: 0x6ec, out: 0x1b911048d5890000, outHI: 0x0
+sh :: offset: 0x6ee, out: 0x1b911048d589a436, outHI: 0x0
+sh :: offset: 0x6f0, out: 0x3f7b000000000000, outHI: 0x0
+sh :: offset: 0x6f2, out: 0x3f7b6a6d00000000, outHI: 0x0
+sh :: offset: 0x6f4, out: 0x3f7b6a6d57080000, outHI: 0x0
+sh :: offset: 0x6f6, out: 0x3f7b6a6d5708f460, outHI: 0x0
+sh :: offset: 0x6f8, out: 0x5790000000000000, outHI: 0x0
+sh :: offset: 0x6fa, out: 0x5790d58e00000000, outHI: 0x0
+sh :: offset: 0x6fc, out: 0x5790d58ecbab0000, outHI: 0x0
+sh :: offset: 0x6fe, out: 0x5790d58ecbabde35, outHI: 0x0
+sh :: offset: 0x700, out: 0x697f000000000000, outHI: 0x0
+sh :: offset: 0x702, out: 0x697f575500000000, outHI: 0x0
+sh :: offset: 0x704, out: 0x697f575548fd0000, outHI: 0x0
+sh :: offset: 0x706, out: 0x697f575548fd08c0, outHI: 0x0
+sh :: offset: 0x708, out: 0xa5f1000000000000, outHI: 0x0
+sh :: offset: 0x70a, out: 0xa5f18bb600000000, outHI: 0x0
+sh :: offset: 0x70c, out: 0xa5f18bb640fb0000, outHI: 0x0
+sh :: offset: 0x70e, out: 0xa5f18bb640fb8ed9, outHI: 0x0
+sh :: offset: 0x710, out: 0x8ddb000000000000, outHI: 0x0
+sh :: offset: 0x712, out: 0x8ddbbe0000000000, outHI: 0x0
+sh :: offset: 0x714, out: 0x8ddbbe00d51e0000, outHI: 0x0
+sh :: offset: 0x716, out: 0x8ddbbe00d51eabc5, outHI: 0x0
+sh :: offset: 0x718, out: 0x78cc000000000000, outHI: 0x0
+sh :: offset: 0x71a, out: 0x78cc2f7e00000000, outHI: 0x0
+sh :: offset: 0x71c, out: 0x78cc2f7e224a0000, outHI: 0x0
+sh :: offset: 0x71e, out: 0x78cc2f7e224a1c17, outHI: 0x0
+sh :: offset: 0x720, out: 0xab2000000000000, outHI: 0x0
+sh :: offset: 0x722, out: 0xab2a97800000000, outHI: 0x0
+sh :: offset: 0x724, out: 0xab2a978f12c0000, outHI: 0x0
+sh :: offset: 0x726, out: 0xab2a978f12ca222, outHI: 0x0
+sh :: offset: 0x728, out: 0x56a7000000000000, outHI: 0x0
+sh :: offset: 0x72a, out: 0x56a7995000000000, outHI: 0x0
+sh :: offset: 0x72c, out: 0x56a79950a93b0000, outHI: 0x0
+sh :: offset: 0x72e, out: 0x56a79950a93b811e, outHI: 0x0
+sh :: offset: 0x730, out: 0xe02f000000000000, outHI: 0x0
+sh :: offset: 0x732, out: 0xe02fb44e00000000, outHI: 0x0
+sh :: offset: 0x734, out: 0xe02fb44eea930000, outHI: 0x0
+sh :: offset: 0x736, out: 0xe02fb44eea93c679, outHI: 0x0
+sh :: offset: 0x738, out: 0x6a0c000000000000, outHI: 0x0
+sh :: offset: 0x73a, out: 0x6a0cfe7100000000, outHI: 0x0
+sh :: offset: 0x73c, out: 0x6a0cfe71fca00000, outHI: 0x0
+sh :: offset: 0x73e, out: 0x6a0cfe71fca06c0e, outHI: 0x0
+sh :: offset: 0x740, out: 0xb657000000000000, outHI: 0x0
+sh :: offset: 0x742, out: 0xb6574ed600000000, outHI: 0x0
+sh :: offset: 0x744, out: 0xb6574ed6393d0000, outHI: 0x0
+sh :: offset: 0x746, out: 0xb6574ed6393df818, outHI: 0x0
+sh :: offset: 0x748, out: 0xaf57000000000000, outHI: 0x0
+sh :: offset: 0x74a, out: 0xaf57f22e00000000, outHI: 0x0
+sh :: offset: 0x74c, out: 0xaf57f22e90200000, outHI: 0x0
+sh :: offset: 0x74e, out: 0xaf57f22e90200236, outHI: 0x0
+sh :: offset: 0x750, out: 0x770a000000000000, outHI: 0x0
+sh :: offset: 0x752, out: 0x770a81ef00000000, outHI: 0x0
+sh :: offset: 0x754, out: 0x770a81efb6c70000, outHI: 0x0
+sh :: offset: 0x756, out: 0x770a81efb6c7afd0, outHI: 0x0
+sh :: offset: 0x758, out: 0xc45d000000000000, outHI: 0x0
+sh :: offset: 0x75a, out: 0xc45deed800000000, outHI: 0x0
+sh :: offset: 0x75c, out: 0xc45deed8f3510000, outHI: 0x0
+sh :: offset: 0x75e, out: 0xc45deed8f3518102, outHI: 0x0
+sh :: offset: 0x760, out: 0x315b000000000000, outHI: 0x0
+sh :: offset: 0x762, out: 0x315badaf00000000, outHI: 0x0
+sh :: offset: 0x764, out: 0x315badafefb90000, outHI: 0x0
+sh :: offset: 0x766, out: 0x315badafefb9995e, outHI: 0x0
+sh :: offset: 0x768, out: 0xfd5e000000000000, outHI: 0x0
+sh :: offset: 0x76a, out: 0xfd5e340600000000, outHI: 0x0
+sh :: offset: 0x76c, out: 0xfd5e340619330000, outHI: 0x0
+sh :: offset: 0x76e, out: 0xfd5e34061933eb25, outHI: 0x0
+sh :: offset: 0x770, out: 0x3086000000000000, outHI: 0x0
+sh :: offset: 0x772, out: 0x3086174800000000, outHI: 0x0
+sh :: offset: 0x774, out: 0x30861748da260000, outHI: 0x0
+sh :: offset: 0x776, out: 0x30861748da264b4c, outHI: 0x0
+sh :: offset: 0x778, out: 0x52bc000000000000, outHI: 0x0
+sh :: offset: 0x77a, out: 0x52bc34fd00000000, outHI: 0x0
+sh :: offset: 0x77c, out: 0x52bc34fdfc9a0000, outHI: 0x0
+sh :: offset: 0x77e, out: 0x52bc34fdfc9a9302, outHI: 0x0
+sh :: offset: 0x780, out: 0xbe89000000000000, outHI: 0x0
+sh :: offset: 0x782, out: 0xbe89d00200000000, outHI: 0x0
+sh :: offset: 0x784, out: 0xbe89d00278c30000, outHI: 0x0
+sh :: offset: 0x786, out: 0xbe89d00278c3c521, outHI: 0x0
+sh :: offset: 0x788, out: 0xd180000000000000, outHI: 0x0
+sh :: offset: 0x78a, out: 0xd180e90900000000, outHI: 0x0
+sh :: offset: 0x78c, out: 0xd180e90944a40000, outHI: 0x0
+sh :: offset: 0x78e, out: 0xd180e90944a4c1d3, outHI: 0x0
+sh :: offset: 0x790, out: 0x7a5d000000000000, outHI: 0x0
+sh :: offset: 0x792, out: 0x7a5d65fd00000000, outHI: 0x0
+sh :: offset: 0x794, out: 0x7a5d65fd698f0000, outHI: 0x0
+sh :: offset: 0x796, out: 0x7a5d65fd698fddef, outHI: 0x0
+sh :: offset: 0x798, out: 0x9839000000000000, outHI: 0x0
+sh :: offset: 0x79a, out: 0x9839c49e00000000, outHI: 0x0
+sh :: offset: 0x79c, out: 0x9839c49ee3ad0000, outHI: 0x0
+sh :: offset: 0x79e, out: 0x9839c49ee3ad81b5, outHI: 0x0
+sh :: offset: 0x7a0, out: 0xaf52000000000000, outHI: 0x0
+sh :: offset: 0x7a2, out: 0xaf527aa900000000, outHI: 0x0
+sh :: offset: 0x7a4, out: 0xaf527aa941e80000, outHI: 0x0
+sh :: offset: 0x7a6, out: 0xaf527aa941e8bdb2, outHI: 0x0
+sh :: offset: 0x7a8, out: 0x63e9000000000000, outHI: 0x0
+sh :: offset: 0x7aa, out: 0x63e9372c00000000, outHI: 0x0
+sh :: offset: 0x7ac, out: 0x63e9372c209e0000, outHI: 0x0
+sh :: offset: 0x7ae, out: 0x63e9372c209e42f3, outHI: 0x0
+sh :: offset: 0x7b0, out: 0xb58d000000000000, outHI: 0x0
+sh :: offset: 0x7b2, out: 0xb58d30f800000000, outHI: 0x0
+sh :: offset: 0x7b4, out: 0xb58d30f870b70000, outHI: 0x0
+sh :: offset: 0x7b6, out: 0xb58d30f870b7e122, outHI: 0x0
+sh :: offset: 0x7b8, out: 0xa83b000000000000, outHI: 0x0
+sh :: offset: 0x7ba, out: 0xa83b9e0200000000, outHI: 0x0
+sh :: offset: 0x7bc, out: 0xa83b9e02de4b0000, outHI: 0x0
+sh :: offset: 0x7be, out: 0xa83b9e02de4b6789, outHI: 0x0
+sh :: offset: 0x7c0, out: 0x30ec000000000000, outHI: 0x0
+sh :: offset: 0x7c2, out: 0x30eccd6100000000, outHI: 0x0
+sh :: offset: 0x7c4, out: 0x30eccd61a8630000, outHI: 0x0
+sh :: offset: 0x7c6, out: 0x30eccd61a8639826, outHI: 0x0
+sh :: offset: 0x7c8, out: 0x631e000000000000, outHI: 0x0
+sh :: offset: 0x7ca, out: 0x631eae8700000000, outHI: 0x0
+sh :: offset: 0x7cc, out: 0x631eae87bc890000, outHI: 0x0
+sh :: offset: 0x7ce, out: 0x631eae87bc899a7b, outHI: 0x0
+sh :: offset: 0x7d0, out: 0xd3ca000000000000, outHI: 0x0
+sh :: offset: 0x7d2, out: 0xd3ca58ec00000000, outHI: 0x0
+sh :: offset: 0x7d4, out: 0xd3ca58ec644d0000, outHI: 0x0
+sh :: offset: 0x7d6, out: 0xd3ca58ec644d6481, outHI: 0x0
+sh :: offset: 0x7d8, out: 0xaf17000000000000, outHI: 0x0
+sh :: offset: 0x7da, out: 0xaf17680c00000000, outHI: 0x0
+sh :: offset: 0x7dc, out: 0xaf17680cce5f0000, outHI: 0x0
+sh :: offset: 0x7de, out: 0xaf17680cce5fb236, outHI: 0x0
+sh :: offset: 0x7e0, out: 0xb666000000000000, outHI: 0x0
+sh :: offset: 0x7e2, out: 0xb6663baa00000000, outHI: 0x0
+sh :: offset: 0x7e4, out: 0xb6663baa99470000, outHI: 0x0
+sh :: offset: 0x7e6, out: 0xb6663baa99471f6d, outHI: 0x0
+sh :: offset: 0x7e8, out: 0x4d75000000000000, outHI: 0x0
+sh :: offset: 0x7ea, out: 0x4d75614d00000000, outHI: 0x0
+sh :: offset: 0x7ec, out: 0x4d75614d9b440000, outHI: 0x0
+sh :: offset: 0x7ee, out: 0x4d75614d9b445f12, outHI: 0x0
+sh :: offset: 0x7f0, out: 0x236b000000000000, outHI: 0x0
+sh :: offset: 0x7f2, out: 0x236ba2a600000000, outHI: 0x0
+sh :: offset: 0x7f4, out: 0x236ba2a6ec660000, outHI: 0x0
+sh :: offset: 0x7f6, out: 0x236ba2a6ec661ba8, outHI: 0x0
+sw :: offset: 0x0, out: 0x12bd6aa00000000, outHI: 0x0
+sw :: offset: 0x4, out: 0x12bd6aa007e8763, outHI: 0x0
+sw :: offset: 0x8, out: 0x82d2ab1300000000, outHI: 0x0
+sw :: offset: 0xc, out: 0x82d2ab13976d6e9a, outHI: 0x0
+sw :: offset: 0x10, out: 0xc31510f300000000, outHI: 0x0
+sw :: offset: 0x14, out: 0xc31510f3b7746d77, outHI: 0x0
+sw :: offset: 0x18, out: 0x5ad6a5fb00000000, outHI: 0x0
+sw :: offset: 0x1c, out: 0x5ad6a5fb42b0c0a2, outHI: 0x0
+sw :: offset: 0x20, out: 0x8677b50200000000, outHI: 0x0
+sw :: offset: 0x24, out: 0x8677b5022aa89d31, outHI: 0x0
+sw :: offset: 0x28, out: 0x9e3c30ad00000000, outHI: 0x0
+sw :: offset: 0x2c, out: 0x9e3c30ad1f308ec3, outHI: 0x0
+sw :: offset: 0x30, out: 0x77fb413d00000000, outHI: 0x0
+sw :: offset: 0x34, out: 0x77fb413d7aa04213, outHI: 0x0
+sw :: offset: 0x38, out: 0xc760e4f700000000, outHI: 0x0
+sw :: offset: 0x3c, out: 0xc760e4f79e705cc5, outHI: 0x0
+sw :: offset: 0x40, out: 0x1ad8dca000000000, outHI: 0x0
+sw :: offset: 0x44, out: 0x1ad8dca04b3dda86, outHI: 0x0
+sw :: offset: 0x48, out: 0x9615a60d00000000, outHI: 0x0
+sw :: offset: 0x4c, out: 0x9615a60d05e7a4dd, outHI: 0x0
+sw :: offset: 0x50, out: 0x6353d41d00000000, outHI: 0x0
+sw :: offset: 0x54, out: 0x6353d41d3af35a9d, outHI: 0x0
+sw :: offset: 0x58, out: 0xc40bd41300000000, outHI: 0x0
+sw :: offset: 0x5c, out: 0xc40bd41347f50556, outHI: 0x0
+sw :: offset: 0x60, out: 0x9a08a18000000000, outHI: 0x0
+sw :: offset: 0x64, out: 0x9a08a1809564b77f, outHI: 0x0
+sw :: offset: 0x68, out: 0xd6d2040f00000000, outHI: 0x0
+sw :: offset: 0x6c, out: 0xd6d2040fcebc8279, outHI: 0x0
+sw :: offset: 0x70, out: 0xb2c76bbe00000000, outHI: 0x0
+sw :: offset: 0x74, out: 0xb2c76bbeb5034c2f, outHI: 0x0
+sw :: offset: 0x78, out: 0x1f18e4c700000000, outHI: 0x0
+sw :: offset: 0x7c, out: 0x1f18e4c794ff52fc, outHI: 0x0
+sw :: offset: 0x80, out: 0x81afa79700000000, outHI: 0x0
+sw :: offset: 0x84, out: 0x81afa79731d8d916, outHI: 0x0
+sw :: offset: 0x88, out: 0x6dfc50ea00000000, outHI: 0x0
+sw :: offset: 0x8c, out: 0x6dfc50ea36549bd6, outHI: 0x0
+sw :: offset: 0x90, out: 0x78e895b100000000, outHI: 0x0
+sw :: offset: 0x94, out: 0x78e895b185e0a631, outHI: 0x0
+sw :: offset: 0x98, out: 0x9b63259b00000000, outHI: 0x0
+sw :: offset: 0x9c, out: 0x9b63259b556b3eca, outHI: 0x0
+sw :: offset: 0xa0, out: 0xccf17ac500000000, outHI: 0x0
+sw :: offset: 0xa4, out: 0xccf17ac5b42f5fc5, outHI: 0x0
+sw :: offset: 0xa8, out: 0x81eea0fb00000000, outHI: 0x0
+sw :: offset: 0xac, out: 0x81eea0fb25b50fec, outHI: 0x0
+sw :: offset: 0xb0, out: 0x14682d9700000000, outHI: 0x0
+sw :: offset: 0xb4, out: 0x14682d97fc93c513, outHI: 0x0
+sw :: offset: 0xb8, out: 0x2cfb087a00000000, outHI: 0x0
+sw :: offset: 0xbc, out: 0x2cfb087a3c2cd9a9, outHI: 0x0
+sw :: offset: 0xc0, out: 0xcda2076600000000, outHI: 0x0
+sw :: offset: 0xc4, out: 0xcda207661791722a, outHI: 0x0
+sw :: offset: 0xc8, out: 0x7d72da3e00000000, outHI: 0x0
+sw :: offset: 0xcc, out: 0x7d72da3e087cc9d1, outHI: 0x0
+sw :: offset: 0xd0, out: 0x93ce24ad00000000, outHI: 0x0
+sw :: offset: 0xd4, out: 0x93ce24ad1d2a7570, outHI: 0x0
+sw :: offset: 0xd8, out: 0x38984ed200000000, outHI: 0x0
+sw :: offset: 0xdc, out: 0x38984ed2d0d070db, outHI: 0x0
+sw :: offset: 0xe0, out: 0x710cd03600000000, outHI: 0x0
+sw :: offset: 0xe4, out: 0x710cd03639c21c7d, outHI: 0x0
+sw :: offset: 0xe8, out: 0x341560400000000, outHI: 0x0
+sw :: offset: 0xec, out: 0x34156048e94b7af, outHI: 0x0
+sw :: offset: 0xf0, out: 0x8ecc31ce00000000, outHI: 0x0
+sw :: offset: 0xf4, out: 0x8ecc31ce24eb6a8d, outHI: 0x0
+sw :: offset: 0xf8, out: 0x1ce7674f00000000, outHI: 0x0
+sw :: offset: 0xfc, out: 0x1ce7674f2f394544, outHI: 0x0
+sw :: offset: 0x100, out: 0x12d6e4a700000000, outHI: 0x0
+sw :: offset: 0x104, out: 0x12d6e4a72608c2b7, outHI: 0x0
+sw :: offset: 0x108, out: 0x56da4c5400000000, outHI: 0x0
+sw :: offset: 0x10c, out: 0x56da4c54900102da, outHI: 0x0
+sw :: offset: 0x110, out: 0xc8d7252f00000000, outHI: 0x0
+sw :: offset: 0x114, out: 0xc8d7252fc890d5f1, outHI: 0x0
+sw :: offset: 0x118, out: 0xf2efa4f700000000, outHI: 0x0
+sw :: offset: 0x11c, out: 0xf2efa4f7ed5005cb, outHI: 0x0
+sw :: offset: 0x120, out: 0xc8b0a21400000000, outHI: 0x0
+sw :: offset: 0x124, out: 0xc8b0a21431479189, outHI: 0x0
+sw :: offset: 0x128, out: 0x5991136c00000000, outHI: 0x0
+sw :: offset: 0x12c, out: 0x5991136cc6eecff9, outHI: 0x0
+sw :: offset: 0x130, out: 0x9a2fb6f300000000, outHI: 0x0
+sw :: offset: 0x134, out: 0x9a2fb6f3a8095212, outHI: 0x0
+sw :: offset: 0x138, out: 0x3889527000000000, outHI: 0x0
+sw :: offset: 0x13c, out: 0x3889527087750a04, outHI: 0x0
+sw :: offset: 0x140, out: 0xad76504000000000, outHI: 0x0
+sw :: offset: 0x144, out: 0xad7650402c3de85e, outHI: 0x0
+sw :: offset: 0x148, out: 0x84bb5a8300000000, outHI: 0x0
+sw :: offset: 0x14c, out: 0x84bb5a83ae6aff8f, outHI: 0x0
+sw :: offset: 0x150, out: 0xc506aa6700000000, outHI: 0x0
+sw :: offset: 0x154, out: 0xc506aa67c07112dd, outHI: 0x0
+sw :: offset: 0x158, out: 0x60ed5ee300000000, outHI: 0x0
+sw :: offset: 0x15c, out: 0x60ed5ee3c4c770f6, outHI: 0x0
+sw :: offset: 0x160, out: 0x30dcca5a00000000, outHI: 0x0
+sw :: offset: 0x164, out: 0x30dcca5adfec2b23, outHI: 0x0
+sw :: offset: 0x168, out: 0x83cd527700000000, outHI: 0x0
+sw :: offset: 0x16c, out: 0x83cd5277d3adba26, outHI: 0x0
+sw :: offset: 0x170, out: 0xff7d96b00000000, outHI: 0x0
+sw :: offset: 0x174, out: 0xff7d96b4ab4aa79, outHI: 0x0
+sw :: offset: 0x178, out: 0x8418c00e00000000, outHI: 0x0
+sw :: offset: 0x17c, out: 0x8418c00ebb8c035e, outHI: 0x0
+sw :: offset: 0x180, out: 0xde0f0b800000000, outHI: 0x0
+sw :: offset: 0x184, out: 0xde0f0b833b06f54, outHI: 0x0
+sw :: offset: 0x188, out: 0xa97fdcf100000000, outHI: 0x0
+sw :: offset: 0x18c, out: 0xa97fdcf177433f37, outHI: 0x0
+sw :: offset: 0x190, out: 0x3fd1c08100000000, outHI: 0x0
+sw :: offset: 0x194, out: 0x3fd1c081ec91d993, outHI: 0x0
+sw :: offset: 0x198, out: 0xc92195e400000000, outHI: 0x0
+sw :: offset: 0x19c, out: 0xc92195e449fbf6a7, outHI: 0x0
+sw :: offset: 0x1a0, out: 0x95b1a5ab00000000, outHI: 0x0
+sw :: offset: 0x1a4, out: 0x95b1a5ab19364378, outHI: 0x0
+sw :: offset: 0x1a8, out: 0xc7ce8d1e00000000, outHI: 0x0
+sw :: offset: 0x1ac, out: 0xc7ce8d1eb99e8def, outHI: 0x0
+sw :: offset: 0x1b0, out: 0x2f38490700000000, outHI: 0x0
+sw :: offset: 0x1b4, out: 0x2f38490747eacdcd, outHI: 0x0
+sw :: offset: 0x1b8, out: 0x582b12fe00000000, outHI: 0x0
+sw :: offset: 0x1bc, out: 0x582b12fed685884e, outHI: 0x0
+sw :: offset: 0x1c0, out: 0x76558c4f00000000, outHI: 0x0
+sw :: offset: 0x1c4, out: 0x76558c4f6168d62a, outHI: 0x0
+sw :: offset: 0x1c8, out: 0x34c195c700000000, outHI: 0x0
+sw :: offset: 0x1cc, out: 0x34c195c7d3016989, outHI: 0x0
+sw :: offset: 0x1d0, out: 0x4df4740500000000, outHI: 0x0
+sw :: offset: 0x1d4, out: 0x4df474051ca190bf, outHI: 0x0
+sw :: offset: 0x1d8, out: 0x6cbb06db00000000, outHI: 0x0
+sw :: offset: 0x1dc, out: 0x6cbb06db58300f02, outHI: 0x0
+sw :: offset: 0x1e0, out: 0x9cae393a00000000, outHI: 0x0
+sw :: offset: 0x1e4, out: 0x9cae393a9a995fdb, outHI: 0x0
+sw :: offset: 0x1e8, out: 0xdc7ebc2d00000000, outHI: 0x0
+sw :: offset: 0x1ec, out: 0xdc7ebc2d8a96047b, outHI: 0x0
+sw :: offset: 0x1f0, out: 0xe3405b4800000000, outHI: 0x0
+sw :: offset: 0x1f4, out: 0xe3405b4875bfafd2, outHI: 0x0
+sw :: offset: 0x1f8, out: 0xd519d32200000000, outHI: 0x0
+sw :: offset: 0x1fc, out: 0xd519d322de230867, outHI: 0x0
+sw :: offset: 0x200, out: 0xa630f6ad00000000, outHI: 0x0
+sw :: offset: 0x204, out: 0xa630f6ad2c0a0cf2, outHI: 0x0
+sw :: offset: 0x208, out: 0x5610326000000000, outHI: 0x0
+sw :: offset: 0x20c, out: 0x5610326094a90544, outHI: 0x0
+sw :: offset: 0x210, out: 0x249b18ef00000000, outHI: 0x0
+sw :: offset: 0x214, out: 0x249b18eff9519fb5, outHI: 0x0
+sw :: offset: 0x218, out: 0x5b56fcde00000000, outHI: 0x0
+sw :: offset: 0x21c, out: 0x5b56fcde81daf820, outHI: 0x0
+sw :: offset: 0x220, out: 0x468319b00000000, outHI: 0x0
+sw :: offset: 0x224, out: 0x468319b8c61ca5a, outHI: 0x0
+sw :: offset: 0x228, out: 0x5725f2ec00000000, outHI: 0x0
+sw :: offset: 0x22c, out: 0x5725f2ec8b95a6dd, outHI: 0x0
+sw :: offset: 0x230, out: 0xc25dc8bf00000000, outHI: 0x0
+sw :: offset: 0x234, out: 0xc25dc8bf300ce751, outHI: 0x0
+sw :: offset: 0x238, out: 0xdac6162f00000000, outHI: 0x0
+sw :: offset: 0x23c, out: 0xdac6162f6778fdf3, outHI: 0x0
+sw :: offset: 0x240, out: 0xba52a85000000000, outHI: 0x0
+sw :: offset: 0x244, out: 0xba52a850ad00b1f7, outHI: 0x0
+sw :: offset: 0x248, out: 0xda78479f00000000, outHI: 0x0
+sw :: offset: 0x24c, out: 0xda78479f08d44168, outHI: 0x0
+sw :: offset: 0x250, out: 0xa6b6d98a00000000, outHI: 0x0
+sw :: offset: 0x254, out: 0xa6b6d98af518381d, outHI: 0x0
+sw :: offset: 0x258, out: 0xce63441300000000, outHI: 0x0
+sw :: offset: 0x25c, out: 0xce634413e4627f3f, outHI: 0x0
+sw :: offset: 0x260, out: 0xe5255fc000000000, outHI: 0x0
+sw :: offset: 0x264, out: 0xe5255fc0ccd392e1, outHI: 0x0
+sw :: offset: 0x268, out: 0x76321f2800000000, outHI: 0x0
+sw :: offset: 0x26c, out: 0x76321f2882946494, outHI: 0x0
+sw :: offset: 0x270, out: 0x4018fd8f00000000, outHI: 0x0
+sw :: offset: 0x274, out: 0x4018fd8f15d32040, outHI: 0x0
+sw :: offset: 0x278, out: 0x52e8f0e500000000, outHI: 0x0
+sw :: offset: 0x27c, out: 0x52e8f0e57caf83d2, outHI: 0x0
+sw :: offset: 0x280, out: 0x880ff34400000000, outHI: 0x0
+sw :: offset: 0x284, out: 0x880ff344f156a04c, outHI: 0x0
+sw :: offset: 0x288, out: 0x747defd700000000, outHI: 0x0
+sw :: offset: 0x28c, out: 0x747defd793e2601c, outHI: 0x0
+sw :: offset: 0x290, out: 0xf31d71000000000, outHI: 0x0
+sw :: offset: 0x294, out: 0xf31d710e1e1a679, outHI: 0x0
+sw :: offset: 0x298, out: 0x131cd93300000000, outHI: 0x0
+sw :: offset: 0x29c, out: 0x131cd93324296b75, outHI: 0x0
+sw :: offset: 0x2a0, out: 0xa76fa42700000000, outHI: 0x0
+sw :: offset: 0x2a4, out: 0xa76fa427d296e2d2, outHI: 0x0
+sw :: offset: 0x2a8, out: 0x139ee56a00000000, outHI: 0x0
+sw :: offset: 0x2ac, out: 0x139ee56a5a82447f, outHI: 0x0
+sw :: offset: 0x2b0, out: 0x6dc2a5c000000000, outHI: 0x0
+sw :: offset: 0x2b4, out: 0x6dc2a5c076c89e80, outHI: 0x0
+sw :: offset: 0x2b8, out: 0xc07dc16800000000, outHI: 0x0
+sw :: offset: 0x2bc, out: 0xc07dc168070dc345, outHI: 0x0
+sw :: offset: 0x2c0, out: 0x4bfe348f00000000, outHI: 0x0
+sw :: offset: 0x2c4, out: 0x4bfe348fbddc7123, outHI: 0x0
+sw :: offset: 0x2c8, out: 0xdd6d241b00000000, outHI: 0x0
+sw :: offset: 0x2cc, out: 0xdd6d241bf62fb727, outHI: 0x0
+sw :: offset: 0x2d0, out: 0xa59fcebe00000000, outHI: 0x0
+sw :: offset: 0x2d4, out: 0xa59fcebe109f27e9, outHI: 0x0
+sw :: offset: 0x2d8, out: 0xf9f46fb00000000, outHI: 0x0
+sw :: offset: 0x2dc, out: 0xf9f46fb3f63daa9, outHI: 0x0
+sw :: offset: 0x2e0, out: 0xafd199d700000000, outHI: 0x0
+sw :: offset: 0x2e4, out: 0xafd199d7dbcb312e, outHI: 0x0
+sw :: offset: 0x2e8, out: 0xa3d484f200000000, outHI: 0x0
+sw :: offset: 0x2ec, out: 0xa3d484f21f353faa, outHI: 0x0
+sw :: offset: 0x2f0, out: 0xda4fe4c600000000, outHI: 0x0
+sw :: offset: 0x2f4, out: 0xda4fe4c68b086ee0, outHI: 0x0
+sw :: offset: 0x2f8, out: 0x7150c26000000000, outHI: 0x0
+sw :: offset: 0x2fc, out: 0x7150c260e54750d5, outHI: 0x0
+sw :: offset: 0x300, out: 0xd9257f2500000000, outHI: 0x0
+sw :: offset: 0x304, out: 0xd9257f253d69625f, outHI: 0x0
+sw :: offset: 0x308, out: 0xe9a6db5b00000000, outHI: 0x0
+sw :: offset: 0x30c, out: 0xe9a6db5b70a3e042, outHI: 0x0
+sw :: offset: 0x310, out: 0x4340ac9600000000, outHI: 0x0
+sw :: offset: 0x314, out: 0x4340ac96c0478f03, outHI: 0x0
+sw :: offset: 0x318, out: 0x6980171e00000000, outHI: 0x0
+sw :: offset: 0x31c, out: 0x6980171e3ce839a5, outHI: 0x0
+sw :: offset: 0x320, out: 0x1cf929e300000000, outHI: 0x0
+sw :: offset: 0x324, out: 0x1cf929e3e2fbfa89, outHI: 0x0
+sw :: offset: 0x328, out: 0x5eb6895800000000, outHI: 0x0
+sw :: offset: 0x32c, out: 0x5eb68958d24bb05d, outHI: 0x0
+sw :: offset: 0x330, out: 0x76ed25b700000000, outHI: 0x0
+sw :: offset: 0x334, out: 0x76ed25b70eb9682c, outHI: 0x0
+sw :: offset: 0x338, out: 0x170312f100000000, outHI: 0x0
+sw :: offset: 0x33c, out: 0x170312f184785280, outHI: 0x0
+sw :: offset: 0x340, out: 0xdd301d0d00000000, outHI: 0x0
+sw :: offset: 0x344, out: 0xdd301d0d179c77aa, outHI: 0x0
+sw :: offset: 0x348, out: 0x1f8fd6ef00000000, outHI: 0x0
+sw :: offset: 0x34c, out: 0x1f8fd6ef26444ced, outHI: 0x0
+sw :: offset: 0x350, out: 0x2998436d00000000, outHI: 0x0
+sw :: offset: 0x354, out: 0x2998436d07175c9d, outHI: 0x0
+sw :: offset: 0x358, out: 0xd58ca70800000000, outHI: 0x0
+sw :: offset: 0x35c, out: 0xd58ca708663d0610, outHI: 0x0
+sw :: offset: 0x360, out: 0x5583328700000000, outHI: 0x0
+sw :: offset: 0x364, out: 0x55833287ab7dd048, outHI: 0x0
+sw :: offset: 0x368, out: 0x8951d68b00000000, outHI: 0x0
+sw :: offset: 0x36c, out: 0x8951d68bf6982367, outHI: 0x0
+sw :: offset: 0x370, out: 0xe82471b00000000, outHI: 0x0
+sw :: offset: 0x374, out: 0xe82471b36886c59, outHI: 0x0
+sw :: offset: 0x378, out: 0xd98d26b200000000, outHI: 0x0
+sw :: offset: 0x37c, out: 0xd98d26b209ca4bdb, outHI: 0x0
+sw :: offset: 0x380, out: 0xd32be47900000000, outHI: 0x0
+sw :: offset: 0x384, out: 0xd32be479fd5d7d1d, outHI: 0x0
+sw :: offset: 0x388, out: 0x9962e61f00000000, outHI: 0x0
+sw :: offset: 0x38c, out: 0x9962e61f3f46553e, outHI: 0x0
+sw :: offset: 0x390, out: 0xcad374df00000000, outHI: 0x0
+sw :: offset: 0x394, out: 0xcad374df2e9ab97d, outHI: 0x0
+sw :: offset: 0x398, out: 0x3eedf2a700000000, outHI: 0x0
+sw :: offset: 0x39c, out: 0x3eedf2a736a6f7fa, outHI: 0x0
+sw :: offset: 0x3a0, out: 0x3c0c9f3300000000, outHI: 0x0
+sw :: offset: 0x3a4, out: 0x3c0c9f338bb938e3, outHI: 0x0
+sw :: offset: 0x3a8, out: 0x155ec9dc00000000, outHI: 0x0
+sw :: offset: 0x3ac, out: 0x155ec9dcd2df25c4, outHI: 0x0
+sw :: offset: 0x3b0, out: 0x1947820600000000, outHI: 0x0
+sw :: offset: 0x3b4, out: 0x19478206bc65bf27, outHI: 0x0
+sw :: offset: 0x3b8, out: 0xeb32182500000000, outHI: 0x0
+sw :: offset: 0x3bc, out: 0xeb321825a8b08fe6, outHI: 0x0
+sw :: offset: 0x3c0, out: 0x7a8bc7da00000000, outHI: 0x0
+sw :: offset: 0x3c4, out: 0x7a8bc7da852b5bca, outHI: 0x0
+sw :: offset: 0x3c8, out: 0xf8dfcde800000000, outHI: 0x0
+sw :: offset: 0x3cc, out: 0xf8dfcde80478909b, outHI: 0x0
+sw :: offset: 0x3d0, out: 0x59a9926900000000, outHI: 0x0
+sw :: offset: 0x3d4, out: 0x59a99269bfb31cc8, outHI: 0x0
+sw :: offset: 0x3d8, out: 0x7857360f00000000, outHI: 0x0
+sw :: offset: 0x3dc, out: 0x7857360fb665ed5e, outHI: 0x0
+sw :: offset: 0x3e0, out: 0x7f89e9a200000000, outHI: 0x0
+sw :: offset: 0x3e4, out: 0x7f89e9a215da9474, outHI: 0x0
+sw :: offset: 0x3e8, out: 0xb7a8d5e400000000, outHI: 0x0
+sw :: offset: 0x3ec, out: 0xb7a8d5e4f6b3537d, outHI: 0x0
+sw :: offset: 0x3f0, out: 0x2af90fcc00000000, outHI: 0x0
+sw :: offset: 0x3f4, out: 0x2af90fcc223d7cfe, outHI: 0x0
+sw :: offset: 0x3f8, out: 0x2b96189700000000, outHI: 0x0
+sw :: offset: 0x3fc, out: 0x2b961897420b34f5, outHI: 0x0
+sw :: offset: 0x400, out: 0x33734a4b00000000, outHI: 0x0
+sw :: offset: 0x404, out: 0x33734a4b897c8c8d, outHI: 0x0
+sw :: offset: 0x408, out: 0xdd46b33c00000000, outHI: 0x0
+sw :: offset: 0x40c, out: 0xdd46b33c7a387445, outHI: 0x0
+sw :: offset: 0x410, out: 0xe392ccd900000000, outHI: 0x0
+sw :: offset: 0x414, out: 0xe392ccd9512f29b1, outHI: 0x0
+sw :: offset: 0x418, out: 0xd80000c900000000, outHI: 0x0
+sw :: offset: 0x41c, out: 0xd80000c9eaded5c5, outHI: 0x0
+sw :: offset: 0x420, out: 0x3dad020a00000000, outHI: 0x0
+sw :: offset: 0x424, out: 0x3dad020a8a6229d7, outHI: 0x0
+sw :: offset: 0x428, out: 0x31eea35b00000000, outHI: 0x0
+sw :: offset: 0x42c, out: 0x31eea35b2c3c3f9e, outHI: 0x0
+sw :: offset: 0x430, out: 0x4898564900000000, outHI: 0x0
+sw :: offset: 0x434, out: 0x489856497ff61e78, outHI: 0x0
+sw :: offset: 0x438, out: 0xdc9c0b7700000000, outHI: 0x0
+sw :: offset: 0x43c, out: 0xdc9c0b772299b0e0, outHI: 0x0
+sw :: offset: 0x440, out: 0x1d5e68ec00000000, outHI: 0x0
+sw :: offset: 0x444, out: 0x1d5e68ec7c3b0467, outHI: 0x0
+sw :: offset: 0x448, out: 0x3d0c6e2500000000, outHI: 0x0
+sw :: offset: 0x44c, out: 0x3d0c6e25164e17c1, outHI: 0x0
+sw :: offset: 0x450, out: 0xe7fb658700000000, outHI: 0x0
+sw :: offset: 0x454, out: 0xe7fb6587fa4ca28b, outHI: 0x0
+sw :: offset: 0x458, out: 0x56d4950b00000000, outHI: 0x0
+sw :: offset: 0x45c, out: 0x56d4950be5e9a314, outHI: 0x0
+sw :: offset: 0x460, out: 0xbe7fa08a00000000, outHI: 0x0
+sw :: offset: 0x464, out: 0xbe7fa08af8be8164, outHI: 0x0
+sw :: offset: 0x468, out: 0x159649c500000000, outHI: 0x0
+sw :: offset: 0x46c, out: 0x159649c57ca32597, outHI: 0x0
+sw :: offset: 0x470, out: 0x84e69b1700000000, outHI: 0x0
+sw :: offset: 0x474, out: 0x84e69b17fc8d543c, outHI: 0x0
+sw :: offset: 0x478, out: 0xa1f24f5c00000000, outHI: 0x0
+sw :: offset: 0x47c, out: 0xa1f24f5c4aeb6ca0, outHI: 0x0
+sw :: offset: 0x480, out: 0xe3459e3600000000, outHI: 0x0
+sw :: offset: 0x484, out: 0xe3459e36c532e18e, outHI: 0x0
+sw :: offset: 0x488, out: 0x187980fa00000000, outHI: 0x0
+sw :: offset: 0x48c, out: 0x187980fab3fdec29, outHI: 0x0
+sw :: offset: 0x490, out: 0x4f287d1c00000000, outHI: 0x0
+sw :: offset: 0x494, out: 0x4f287d1cb620660a, outHI: 0x0
+sw :: offset: 0x498, out: 0x49732b9000000000, outHI: 0x0
+sw :: offset: 0x49c, out: 0x49732b90993138f1, outHI: 0x0
+sw :: offset: 0x4a0, out: 0x6cfde99100000000, outHI: 0x0
+sw :: offset: 0x4a4, out: 0x6cfde991de02d133, outHI: 0x0
+sw :: offset: 0x4a8, out: 0x7d5407b900000000, outHI: 0x0
+sw :: offset: 0x4ac, out: 0x7d5407b913a390e1, outHI: 0x0
+sw :: offset: 0x4b0, out: 0xe1dab15a00000000, outHI: 0x0
+sw :: offset: 0x4b4, out: 0xe1dab15a743491a6, outHI: 0x0
+sw :: offset: 0x4b8, out: 0x828716c800000000, outHI: 0x0
+sw :: offset: 0x4bc, out: 0x828716c88cff404a, outHI: 0x0
+sw :: offset: 0x4c0, out: 0xede292f200000000, outHI: 0x0
+sw :: offset: 0x4c4, out: 0xede292f2b9cec0db, outHI: 0x0
+sw :: offset: 0x4c8, out: 0x1f83763600000000, outHI: 0x0
+sw :: offset: 0x4cc, out: 0x1f8376362eaa5aa7, outHI: 0x0
+sw :: offset: 0x4d0, out: 0x509771c00000000, outHI: 0x0
+sw :: offset: 0x4d4, out: 0x509771cd327538e, outHI: 0x0
+sw :: offset: 0x4d8, out: 0x1875241b00000000, outHI: 0x0
+sw :: offset: 0x4dc, out: 0x1875241b42e9f854, outHI: 0x0
+sw :: offset: 0x4e0, out: 0x8b739b6b00000000, outHI: 0x0
+sw :: offset: 0x4e4, out: 0x8b739b6b78e4e50c, outHI: 0x0
+sw :: offset: 0x4e8, out: 0xeccbba1a00000000, outHI: 0x0
+sw :: offset: 0x4ec, out: 0xeccbba1af6b6fa3f, outHI: 0x0
+sw :: offset: 0x4f0, out: 0xcd9d27cb00000000, outHI: 0x0
+sw :: offset: 0x4f4, out: 0xcd9d27cb73916483, outHI: 0x0
+sw :: offset: 0x4f8, out: 0xae3e942300000000, outHI: 0x0
+sw :: offset: 0x4fc, out: 0xae3e9423276af70a, outHI: 0x0
+sw :: offset: 0x500, out: 0xe12856100000000, outHI: 0x0
+sw :: offset: 0x504, out: 0xe12856103045bf6, outHI: 0x0
+sw :: offset: 0x508, out: 0xb5e74b6e00000000, outHI: 0x0
+sw :: offset: 0x50c, out: 0xb5e74b6e20223f13, outHI: 0x0
+sw :: offset: 0x510, out: 0x8accfa600000000, outHI: 0x0
+sw :: offset: 0x514, out: 0x8accfa6f83c5574, outHI: 0x0
+sw :: offset: 0x518, out: 0x3976b5f500000000, outHI: 0x0
+sw :: offset: 0x51c, out: 0x3976b5f51f9720f9, outHI: 0x0
+sw :: offset: 0x520, out: 0x46923c3d00000000, outHI: 0x0
+sw :: offset: 0x524, out: 0x46923c3d620d2850, outHI: 0x0
+sw :: offset: 0x528, out: 0x6d2448dd00000000, outHI: 0x0
+sw :: offset: 0x52c, out: 0x6d2448dd60a521e9, outHI: 0x0
+sw :: offset: 0x530, out: 0x9ff4a73200000000, outHI: 0x0
+sw :: offset: 0x534, out: 0x9ff4a7325a08f3ab, outHI: 0x0
+sw :: offset: 0x538, out: 0x5c680f0b00000000, outHI: 0x0
+sw :: offset: 0x53c, out: 0x5c680f0bc7a59be7, outHI: 0x0
+sw :: offset: 0x540, out: 0x800f3d2600000000, outHI: 0x0
+sw :: offset: 0x544, out: 0x800f3d261aecdf29, outHI: 0x0
+sw :: offset: 0x548, out: 0x82ca1b4100000000, outHI: 0x0
+sw :: offset: 0x54c, out: 0x82ca1b412b8613a2, outHI: 0x0
+sw :: offset: 0x550, out: 0x60d19dcd00000000, outHI: 0x0
+sw :: offset: 0x554, out: 0x60d19dcd2518ac8b, outHI: 0x0
+sw :: offset: 0x558, out: 0xe8bbe7f00000000, outHI: 0x0
+sw :: offset: 0x55c, out: 0xe8bbe7f743e568d, outHI: 0x0
+sw :: offset: 0x560, out: 0x2fcf486b00000000, outHI: 0x0
+sw :: offset: 0x564, out: 0x2fcf486b126f646f, outHI: 0x0
+sw :: offset: 0x568, out: 0x34c3172800000000, outHI: 0x0
+sw :: offset: 0x56c, out: 0x34c31728aab01961, outHI: 0x0
+sw :: offset: 0x570, out: 0x56fc4d1200000000, outHI: 0x0
+sw :: offset: 0x574, out: 0x56fc4d127535cd33, outHI: 0x0
+sw :: offset: 0x578, out: 0x8595d34200000000, outHI: 0x0
+sw :: offset: 0x57c, out: 0x8595d342dfb254da, outHI: 0x0
+sw :: offset: 0x580, out: 0x422346ec00000000, outHI: 0x0
+sw :: offset: 0x584, out: 0x422346eca86726c9, outHI: 0x0
+sw :: offset: 0x588, out: 0x81ab2a00000000, outHI: 0x0
+sw :: offset: 0x58c, out: 0x81ab2a9bfeffa1, outHI: 0x0
+sw :: offset: 0x590, out: 0x679d743800000000, outHI: 0x0
+sw :: offset: 0x594, out: 0x679d7438c7699826, outHI: 0x0
+sw :: offset: 0x598, out: 0xb7dee24400000000, outHI: 0x0
+sw :: offset: 0x59c, out: 0xb7dee2443c07af97, outHI: 0x0
+sw :: offset: 0x5a0, out: 0xfba6704a00000000, outHI: 0x0
+sw :: offset: 0x5a4, out: 0xfba6704a521364dc, outHI: 0x0
+sw :: offset: 0x5a8, out: 0x4c58bfe00000000, outHI: 0x0
+sw :: offset: 0x5ac, out: 0x4c58bfee0f7bb58, outHI: 0x0
+sw :: offset: 0x5b0, out: 0x9ab7aebc00000000, outHI: 0x0
+sw :: offset: 0x5b4, out: 0x9ab7aebce336c60c, outHI: 0x0
+sw :: offset: 0x5b8, out: 0xdeeb954d00000000, outHI: 0x0
+sw :: offset: 0x5bc, out: 0xdeeb954dd5b2120c, outHI: 0x0
+sw :: offset: 0x5c0, out: 0x6f52416e00000000, outHI: 0x0
+sw :: offset: 0x5c4, out: 0x6f52416e85a2d4ff, outHI: 0x0
+sw :: offset: 0x5c8, out: 0x7e628a3400000000, outHI: 0x0
+sw :: offset: 0x5cc, out: 0x7e628a34986a2b65, outHI: 0x0
+sw :: offset: 0x5d0, out: 0x4a4e7e0700000000, outHI: 0x0
+sw :: offset: 0x5d4, out: 0x4a4e7e07a974eac4, outHI: 0x0
+sw :: offset: 0x5d8, out: 0x3a489b5500000000, outHI: 0x0
+sw :: offset: 0x5dc, out: 0x3a489b55a388c162, outHI: 0x0
+sw :: offset: 0x5e0, out: 0x72f1f8f500000000, outHI: 0x0
+sw :: offset: 0x5e4, out: 0x72f1f8f5e8c11f45, outHI: 0x0
+sw :: offset: 0x5e8, out: 0xe7495ea900000000, outHI: 0x0
+sw :: offset: 0x5ec, out: 0xe7495ea9adaa5a76, outHI: 0x0
+sw :: offset: 0x5f0, out: 0x5cc1c8b400000000, outHI: 0x0
+sw :: offset: 0x5f4, out: 0x5cc1c8b47ab4ce88, outHI: 0x0
+sw :: offset: 0x5f8, out: 0xdfa605c000000000, outHI: 0x0
+sw :: offset: 0x5fc, out: 0xdfa605c0b42ad6e6, outHI: 0x0
+sw :: offset: 0x600, out: 0x59a7b04f00000000, outHI: 0x0
+sw :: offset: 0x604, out: 0x59a7b04f4bf8485a, outHI: 0x0
+sw :: offset: 0x608, out: 0xb728922f00000000, outHI: 0x0
+sw :: offset: 0x60c, out: 0xb728922f76a3d60c, outHI: 0x0
+sw :: offset: 0x610, out: 0x3b66a7fb00000000, outHI: 0x0
+sw :: offset: 0x614, out: 0x3b66a7fb31e0c6af, outHI: 0x0
+sw :: offset: 0x618, out: 0xfdc28eda00000000, outHI: 0x0
+sw :: offset: 0x61c, out: 0xfdc28eda53606bb4, outHI: 0x0
+sw :: offset: 0x620, out: 0xbf0c999d00000000, outHI: 0x0
+sw :: offset: 0x624, out: 0xbf0c999d32fc12c8, outHI: 0x0
+sw :: offset: 0x628, out: 0x1b7919f000000000, outHI: 0x0
+sw :: offset: 0x62c, out: 0x1b7919f03ef88384, outHI: 0x0
+sw :: offset: 0x630, out: 0xc72efcd600000000, outHI: 0x0
+sw :: offset: 0x634, out: 0xc72efcd638b1c7bb, outHI: 0x0
+sw :: offset: 0x638, out: 0x6a2a358000000000, outHI: 0x0
+sw :: offset: 0x63c, out: 0x6a2a358015ebf612, outHI: 0x0
+sw :: offset: 0x640, out: 0x1dca77c900000000, outHI: 0x0
+sw :: offset: 0x644, out: 0x1dca77c95eaacdd9, outHI: 0x0
+sw :: offset: 0x648, out: 0xfd9147ae00000000, outHI: 0x0
+sw :: offset: 0x64c, out: 0xfd9147aebb8470f9, outHI: 0x0
+sw :: offset: 0x650, out: 0x81e9111700000000, outHI: 0x0
+sw :: offset: 0x654, out: 0x81e9111705d42aea, outHI: 0x0
+sw :: offset: 0x658, out: 0xc6a532e000000000, outHI: 0x0
+sw :: offset: 0x65c, out: 0xc6a532e014abf364, outHI: 0x0
+sw :: offset: 0x660, out: 0x19fb9e6300000000, outHI: 0x0
+sw :: offset: 0x664, out: 0x19fb9e63249d559a, outHI: 0x0
+sw :: offset: 0x668, out: 0xa8d72aac00000000, outHI: 0x0
+sw :: offset: 0x66c, out: 0xa8d72aac0cd6764f, outHI: 0x0
+sw :: offset: 0x670, out: 0x84b30ec00000000, outHI: 0x0
+sw :: offset: 0x674, out: 0x84b30ec7f03ac07, outHI: 0x0
+sw :: offset: 0x678, out: 0x92468fdf00000000, outHI: 0x0
+sw :: offset: 0x67c, out: 0x92468fdf7e35ce6d, outHI: 0x0
+sw :: offset: 0x680, out: 0x56e670f500000000, outHI: 0x0
+sw :: offset: 0x684, out: 0x56e670f515282859, outHI: 0x0
+sw :: offset: 0x688, out: 0x1a65271100000000, outHI: 0x0
+sw :: offset: 0x68c, out: 0x1a6527119e1c3283, outHI: 0x0
+sw :: offset: 0x690, out: 0xd215a9fb00000000, outHI: 0x0
+sw :: offset: 0x694, out: 0xd215a9fb8d95c049, outHI: 0x0
+sw :: offset: 0x698, out: 0x282a041700000000, outHI: 0x0
+sw :: offset: 0x69c, out: 0x282a0417f2e7a490, outHI: 0x0
+sw :: offset: 0x6a0, out: 0x978058f300000000, outHI: 0x0
+sw :: offset: 0x6a4, out: 0x978058f3775b4cca, outHI: 0x0
+sw :: offset: 0x6a8, out: 0x975b1aa00000000, outHI: 0x0
+sw :: offset: 0x6ac, out: 0x975b1aa0a2b84a6, outHI: 0x0
+sw :: offset: 0x6b0, out: 0x3511102000000000, outHI: 0x0
+sw :: offset: 0x6b4, out: 0x35111020023fa0d3, outHI: 0x0
+sw :: offset: 0x6b8, out: 0xa7d88b6f00000000, outHI: 0x0
+sw :: offset: 0x6bc, out: 0xa7d88b6fa3d991b7, outHI: 0x0
+sw :: offset: 0x6c0, out: 0x9941dedd00000000, outHI: 0x0
+sw :: offset: 0x6c4, out: 0x9941dedd751cb483, outHI: 0x0
+sw :: offset: 0x6c8, out: 0x5a0d950800000000, outHI: 0x0
+sw :: offset: 0x6cc, out: 0x5a0d9508949cad35, outHI: 0x0
+sw :: offset: 0x6d0, out: 0x625bb2d300000000, outHI: 0x0
+sw :: offset: 0x6d4, out: 0x625bb2d37f567f35, outHI: 0x0
+sw :: offset: 0x6d8, out: 0xa692973900000000, outHI: 0x0
+sw :: offset: 0x6dc, out: 0xa6929739185b88e0, outHI: 0x0
+sw :: offset: 0x6e0, out: 0xdb8d7d2700000000, outHI: 0x0
+sw :: offset: 0x6e4, out: 0xdb8d7d27255a4cd2, outHI: 0x0
+sw :: offset: 0x6e8, out: 0x2fd61b9100000000, outHI: 0x0
+sw :: offset: 0x6ec, out: 0x2fd61b911048d589, outHI: 0x0
+sw :: offset: 0x6f0, out: 0xa4363f7b00000000, outHI: 0x0
+sw :: offset: 0x6f4, out: 0xa4363f7b6a6d5708, outHI: 0x0
+sw :: offset: 0x6f8, out: 0xf460579000000000, outHI: 0x0
+sw :: offset: 0x6fc, out: 0xf4605790d58ecbab, outHI: 0x0
+sw :: offset: 0x700, out: 0xde35697f00000000, outHI: 0x0
+sw :: offset: 0x704, out: 0xde35697f575548fd, outHI: 0x0
+sw :: offset: 0x708, out: 0x8c0a5f100000000, outHI: 0x0
+sw :: offset: 0x70c, out: 0x8c0a5f18bb640fb, outHI: 0x0
+sw :: offset: 0x710, out: 0x8ed98ddb00000000, outHI: 0x0
+sw :: offset: 0x714, out: 0x8ed98ddbbe00d51e, outHI: 0x0
+sw :: offset: 0x718, out: 0xabc578cc00000000, outHI: 0x0
+sw :: offset: 0x71c, out: 0xabc578cc2f7e224a, outHI: 0x0
+sw :: offset: 0x720, out: 0x1c170ab200000000, outHI: 0x0
+sw :: offset: 0x724, out: 0x1c170ab2a978f12c, outHI: 0x0
+sw :: offset: 0x728, out: 0xa22256a700000000, outHI: 0x0
+sw :: offset: 0x72c, out: 0xa22256a79950a93b, outHI: 0x0
+sw :: offset: 0x730, out: 0x811ee02f00000000, outHI: 0x0
+sw :: offset: 0x734, out: 0x811ee02fb44eea93, outHI: 0x0
+sw :: offset: 0x738, out: 0xc6796a0c00000000, outHI: 0x0
+sw :: offset: 0x73c, out: 0xc6796a0cfe71fca0, outHI: 0x0
+sw :: offset: 0x740, out: 0x6c0eb65700000000, outHI: 0x0
+sw :: offset: 0x744, out: 0x6c0eb6574ed6393d, outHI: 0x0
+sw :: offset: 0x748, out: 0xf818af5700000000, outHI: 0x0
+sw :: offset: 0x74c, out: 0xf818af57f22e9020, outHI: 0x0
+sw :: offset: 0x750, out: 0x236770a00000000, outHI: 0x0
+sw :: offset: 0x754, out: 0x236770a81efb6c7, outHI: 0x0
+sw :: offset: 0x758, out: 0xafd0c45d00000000, outHI: 0x0
+sw :: offset: 0x75c, out: 0xafd0c45deed8f351, outHI: 0x0
+sw :: offset: 0x760, out: 0x8102315b00000000, outHI: 0x0
+sw :: offset: 0x764, out: 0x8102315badafefb9, outHI: 0x0
+sw :: offset: 0x768, out: 0x995efd5e00000000, outHI: 0x0
+sw :: offset: 0x76c, out: 0x995efd5e34061933, outHI: 0x0
+sw :: offset: 0x770, out: 0xeb25308600000000, outHI: 0x0
+sw :: offset: 0x774, out: 0xeb2530861748da26, outHI: 0x0
+sw :: offset: 0x778, out: 0x4b4c52bc00000000, outHI: 0x0
+sw :: offset: 0x77c, out: 0x4b4c52bc34fdfc9a, outHI: 0x0
+sw :: offset: 0x780, out: 0x9302be8900000000, outHI: 0x0
+sw :: offset: 0x784, out: 0x9302be89d00278c3, outHI: 0x0
+sw :: offset: 0x788, out: 0xc521d18000000000, outHI: 0x0
+sw :: offset: 0x78c, out: 0xc521d180e90944a4, outHI: 0x0
+sw :: offset: 0x790, out: 0xc1d37a5d00000000, outHI: 0x0
+sw :: offset: 0x794, out: 0xc1d37a5d65fd698f, outHI: 0x0
+sw :: offset: 0x798, out: 0xddef983900000000, outHI: 0x0
+sw :: offset: 0x79c, out: 0xddef9839c49ee3ad, outHI: 0x0
+sw :: offset: 0x7a0, out: 0x81b5af5200000000, outHI: 0x0
+sw :: offset: 0x7a4, out: 0x81b5af527aa941e8, outHI: 0x0
+sw :: offset: 0x7a8, out: 0xbdb263e900000000, outHI: 0x0
+sw :: offset: 0x7ac, out: 0xbdb263e9372c209e, outHI: 0x0
+sw :: offset: 0x7b0, out: 0x42f3b58d00000000, outHI: 0x0
+sw :: offset: 0x7b4, out: 0x42f3b58d30f870b7, outHI: 0x0
+sw :: offset: 0x7b8, out: 0xe122a83b00000000, outHI: 0x0
+sw :: offset: 0x7bc, out: 0xe122a83b9e02de4b, outHI: 0x0
+sw :: offset: 0x7c0, out: 0x678930ec00000000, outHI: 0x0
+sw :: offset: 0x7c4, out: 0x678930eccd61a863, outHI: 0x0
+sw :: offset: 0x7c8, out: 0x9826631e00000000, outHI: 0x0
+sw :: offset: 0x7cc, out: 0x9826631eae87bc89, outHI: 0x0
+sw :: offset: 0x7d0, out: 0x9a7bd3ca00000000, outHI: 0x0
+sw :: offset: 0x7d4, out: 0x9a7bd3ca58ec644d, outHI: 0x0
+sw :: offset: 0x7d8, out: 0x6481af1700000000, outHI: 0x0
+sw :: offset: 0x7dc, out: 0x6481af17680cce5f, outHI: 0x0
+sw :: offset: 0x7e0, out: 0xb236b66600000000, outHI: 0x0
+sw :: offset: 0x7e4, out: 0xb236b6663baa9947, outHI: 0x0
+sw :: offset: 0x7e8, out: 0x1f6d4d7500000000, outHI: 0x0
+sw :: offset: 0x7ec, out: 0x1f6d4d75614d9b44, outHI: 0x0
+sw :: offset: 0x7f0, out: 0x5f12236b00000000, outHI: 0x0
+sw :: offset: 0x7f4, out: 0x5f12236ba2a6ec66, outHI: 0x0
+swl :: offset: 0x4, out: 0x7e8763, outHI: 0x0
+swl :: offset: 0x5, out: 0x7e8763, outHI: 0x0
+swl :: offset: 0x6, out: 0x7e8763, outHI: 0x0
+swl :: offset: 0x7, out: 0x7e8763, outHI: 0x0
+swl :: offset: 0x8, out: 0x82d2ab1300000000, outHI: 0x0
+swl :: offset: 0x9, out: 0x82d2ab1300000000, outHI: 0x0
+swl :: offset: 0xa, out: 0x82d2ab1300000000, outHI: 0x0
+swl :: offset: 0xb, out: 0x82d2ab1300000000, outHI: 0x0
+swl :: offset: 0xc, out: 0x82d2ab13976d6e9a, outHI: 0x0
+swl :: offset: 0xd, out: 0x82d2ab13976d6e9a, outHI: 0x0
+swl :: offset: 0xe, out: 0x82d2ab13976d6e9a, outHI: 0x0
+swl :: offset: 0xf, out: 0x82d2ab13976d6e9a, outHI: 0x0
+swl :: offset: 0x10, out: 0xc31510f300000000, outHI: 0x0
+swl :: offset: 0x11, out: 0xc31510f300000000, outHI: 0x0
+swl :: offset: 0x12, out: 0xc31510f300000000, outHI: 0x0
+swl :: offset: 0x13, out: 0xc31510f300000000, outHI: 0x0
+swl :: offset: 0x14, out: 0xc31510f3b7746d77, outHI: 0x0
+swl :: offset: 0x15, out: 0xc31510f3b7746d77, outHI: 0x0
+swl :: offset: 0x16, out: 0xc31510f3b7746d77, outHI: 0x0
+swl :: offset: 0x17, out: 0xc31510f3b7746d77, outHI: 0x0
+swl :: offset: 0x18, out: 0x5ad6a5fb00000000, outHI: 0x0
+swl :: offset: 0x19, out: 0x5ad6a5fb00000000, outHI: 0x0
+swl :: offset: 0x1a, out: 0x5ad6a5fb00000000, outHI: 0x0
+swl :: offset: 0x1b, out: 0x5ad6a5fb00000000, outHI: 0x0
+swl :: offset: 0x1c, out: 0x5ad6a5fb42b0c0a2, outHI: 0x0
+swl :: offset: 0x1d, out: 0x5ad6a5fb42b0c0a2, outHI: 0x0
+swl :: offset: 0x1e, out: 0x5ad6a5fb42b0c0a2, outHI: 0x0
+swl :: offset: 0x1f, out: 0x5ad6a5fb42b0c0a2, outHI: 0x0
+swl :: offset: 0x20, out: 0x8677b50200000000, outHI: 0x0
+swl :: offset: 0x21, out: 0x8677b50200000000, outHI: 0x0
+swl :: offset: 0x22, out: 0x8677b50200000000, outHI: 0x0
+swl :: offset: 0x23, out: 0x8677b50200000000, outHI: 0x0
+swl :: offset: 0x24, out: 0x8677b5022aa89d31, outHI: 0x0
+swl :: offset: 0x25, out: 0x8677b5022aa89d31, outHI: 0x0
+swl :: offset: 0x26, out: 0x8677b5022aa89d31, outHI: 0x0
+swl :: offset: 0x27, out: 0x8677b5022aa89d31, outHI: 0x0
+swl :: offset: 0x28, out: 0x9e3c30ad00000000, outHI: 0x0
+swl :: offset: 0x29, out: 0x9e3c30ad00000000, outHI: 0x0
+swl :: offset: 0x2a, out: 0x9e3c30ad00000000, outHI: 0x0
+swl :: offset: 0x2b, out: 0x9e3c30ad00000000, outHI: 0x0
+swl :: offset: 0x2c, out: 0x9e3c30ad1f308ec3, outHI: 0x0
+swl :: offset: 0x2d, out: 0x9e3c30ad1f308ec3, outHI: 0x0
+swl :: offset: 0x2e, out: 0x9e3c30ad1f308ec3, outHI: 0x0
+swl :: offset: 0x2f, out: 0x9e3c30ad1f308ec3, outHI: 0x0
+swl :: offset: 0x30, out: 0x77fb413d00000000, outHI: 0x0
+swl :: offset: 0x31, out: 0x77fb413d00000000, outHI: 0x0
+swl :: offset: 0x32, out: 0x77fb413d00000000, outHI: 0x0
+swl :: offset: 0x33, out: 0x77fb413d00000000, outHI: 0x0
+swl :: offset: 0x34, out: 0x77fb413d7aa04213, outHI: 0x0
+swl :: offset: 0x35, out: 0x77fb413d7aa04213, outHI: 0x0
+swl :: offset: 0x36, out: 0x77fb413d7aa04213, outHI: 0x0
+swl :: offset: 0x37, out: 0x77fb413d7aa04213, outHI: 0x0
+swl :: offset: 0x38, out: 0xc760e4f700000000, outHI: 0x0
+swl :: offset: 0x39, out: 0xc760e4f700000000, outHI: 0x0
+swl :: offset: 0x3a, out: 0xc760e4f700000000, outHI: 0x0
+swl :: offset: 0x3b, out: 0xc760e4f700000000, outHI: 0x0
+swl :: offset: 0x3c, out: 0xc760e4f79e705cc5, outHI: 0x0
+swl :: offset: 0x3d, out: 0xc760e4f79e705cc5, outHI: 0x0
+swl :: offset: 0x3e, out: 0xc760e4f79e705cc5, outHI: 0x0
+swl :: offset: 0x3f, out: 0xc760e4f79e705cc5, outHI: 0x0
+swl :: offset: 0x40, out: 0x1ad8dca000000000, outHI: 0x0
+swl :: offset: 0x41, out: 0x1ad8dca000000000, outHI: 0x0
+swl :: offset: 0x42, out: 0x1ad8dca000000000, outHI: 0x0
+swl :: offset: 0x43, out: 0x1ad8dca000000000, outHI: 0x0
+swl :: offset: 0x44, out: 0x1ad8dca04b3dda86, outHI: 0x0
+swl :: offset: 0x45, out: 0x1ad8dca04b3dda86, outHI: 0x0
+swl :: offset: 0x46, out: 0x1ad8dca04b3dda86, outHI: 0x0
+swl :: offset: 0x47, out: 0x1ad8dca04b3dda86, outHI: 0x0
+swl :: offset: 0x48, out: 0x9615a60d00000000, outHI: 0x0
+swl :: offset: 0x49, out: 0x9615a60d00000000, outHI: 0x0
+swl :: offset: 0x4a, out: 0x9615a60d00000000, outHI: 0x0
+swl :: offset: 0x4b, out: 0x9615a60d00000000, outHI: 0x0
+swl :: offset: 0x4c, out: 0x9615a60d05e7a4dd, outHI: 0x0
+swl :: offset: 0x4d, out: 0x9615a60d05e7a4dd, outHI: 0x0
+swl :: offset: 0x4e, out: 0x9615a60d05e7a4dd, outHI: 0x0
+swl :: offset: 0x4f, out: 0x9615a60d05e7a4dd, outHI: 0x0
+swl :: offset: 0x50, out: 0x6353d41d00000000, outHI: 0x0
+swl :: offset: 0x51, out: 0x6353d41d00000000, outHI: 0x0
+swl :: offset: 0x52, out: 0x6353d41d00000000, outHI: 0x0
+swl :: offset: 0x53, out: 0x6353d41d00000000, outHI: 0x0
+swl :: offset: 0x54, out: 0x6353d41d3af35a9d, outHI: 0x0
+swl :: offset: 0x55, out: 0x6353d41d3af35a9d, outHI: 0x0
+swl :: offset: 0x56, out: 0x6353d41d3af35a9d, outHI: 0x0
+swl :: offset: 0x57, out: 0x6353d41d3af35a9d, outHI: 0x0
+swl :: offset: 0x58, out: 0xc40bd41300000000, outHI: 0x0
+swl :: offset: 0x59, out: 0xc40bd41300000000, outHI: 0x0
+swl :: offset: 0x5a, out: 0xc40bd41300000000, outHI: 0x0
+swl :: offset: 0x5b, out: 0xc40bd41300000000, outHI: 0x0
+swl :: offset: 0x5c, out: 0xc40bd41347f50556, outHI: 0x0
+swl :: offset: 0x5d, out: 0xc40bd41347f50556, outHI: 0x0
+swl :: offset: 0x5e, out: 0xc40bd41347f50556, outHI: 0x0
+swl :: offset: 0x5f, out: 0xc40bd41347f50556, outHI: 0x0
+swl :: offset: 0x60, out: 0x9a08a18000000000, outHI: 0x0
+swl :: offset: 0x61, out: 0x9a08a18000000000, outHI: 0x0
+swl :: offset: 0x62, out: 0x9a08a18000000000, outHI: 0x0
+swl :: offset: 0x63, out: 0x9a08a18000000000, outHI: 0x0
+swl :: offset: 0x64, out: 0x9a08a1809564b77f, outHI: 0x0
+swl :: offset: 0x65, out: 0x9a08a1809564b77f, outHI: 0x0
+swl :: offset: 0x66, out: 0x9a08a1809564b77f, outHI: 0x0
+swl :: offset: 0x67, out: 0x9a08a1809564b77f, outHI: 0x0
+swl :: offset: 0x68, out: 0xd6d2040f00000000, outHI: 0x0
+swl :: offset: 0x69, out: 0xd6d2040f00000000, outHI: 0x0
+swl :: offset: 0x6a, out: 0xd6d2040f00000000, outHI: 0x0
+swl :: offset: 0x6b, out: 0xd6d2040f00000000, outHI: 0x0
+swl :: offset: 0x6c, out: 0xd6d2040fcebc8279, outHI: 0x0
+swl :: offset: 0x6d, out: 0xd6d2040fcebc8279, outHI: 0x0
+swl :: offset: 0x6e, out: 0xd6d2040fcebc8279, outHI: 0x0
+swl :: offset: 0x6f, out: 0xd6d2040fcebc8279, outHI: 0x0
+swl :: offset: 0x70, out: 0xb2c76bbe00000000, outHI: 0x0
+swl :: offset: 0x71, out: 0xb2c76bbe00000000, outHI: 0x0
+swl :: offset: 0x72, out: 0xb2c76bbe00000000, outHI: 0x0
+swl :: offset: 0x73, out: 0xb2c76bbe00000000, outHI: 0x0
+swl :: offset: 0x74, out: 0xb2c76bbeb5034c2f, outHI: 0x0
+swl :: offset: 0x75, out: 0xb2c76bbeb5034c2f, outHI: 0x0
+swl :: offset: 0x76, out: 0xb2c76bbeb5034c2f, outHI: 0x0
+swl :: offset: 0x77, out: 0xb2c76bbeb5034c2f, outHI: 0x0
+swl :: offset: 0x78, out: 0x1f18e4c700000000, outHI: 0x0
+swl :: offset: 0x79, out: 0x1f18e4c700000000, outHI: 0x0
+swl :: offset: 0x7a, out: 0x1f18e4c700000000, outHI: 0x0
+swl :: offset: 0x7b, out: 0x1f18e4c700000000, outHI: 0x0
+swl :: offset: 0x7c, out: 0x1f18e4c794ff52fc, outHI: 0x0
+swl :: offset: 0x7d, out: 0x1f18e4c794ff52fc, outHI: 0x0
+swl :: offset: 0x7e, out: 0x1f18e4c794ff52fc, outHI: 0x0
+swl :: offset: 0x7f, out: 0x1f18e4c794ff52fc, outHI: 0x0
+swl :: offset: 0x80, out: 0x81afa79700000000, outHI: 0x0
+swl :: offset: 0x81, out: 0x81afa79700000000, outHI: 0x0
+swl :: offset: 0x82, out: 0x81afa79700000000, outHI: 0x0
+swl :: offset: 0x83, out: 0x81afa79700000000, outHI: 0x0
+swl :: offset: 0x84, out: 0x81afa79731d8d916, outHI: 0x0
+swl :: offset: 0x85, out: 0x81afa79731d8d916, outHI: 0x0
+swl :: offset: 0x86, out: 0x81afa79731d8d916, outHI: 0x0
+swl :: offset: 0x87, out: 0x81afa79731d8d916, outHI: 0x0
+swl :: offset: 0x88, out: 0x6dfc50ea00000000, outHI: 0x0
+swl :: offset: 0x89, out: 0x6dfc50ea00000000, outHI: 0x0
+swl :: offset: 0x8a, out: 0x6dfc50ea00000000, outHI: 0x0
+swl :: offset: 0x8b, out: 0x6dfc50ea00000000, outHI: 0x0
+swl :: offset: 0x8c, out: 0x6dfc50ea36549bd6, outHI: 0x0
+swl :: offset: 0x8d, out: 0x6dfc50ea36549bd6, outHI: 0x0
+swl :: offset: 0x8e, out: 0x6dfc50ea36549bd6, outHI: 0x0
+swl :: offset: 0x8f, out: 0x6dfc50ea36549bd6, outHI: 0x0
+swl :: offset: 0x90, out: 0x78e895b100000000, outHI: 0x0
+swl :: offset: 0x91, out: 0x78e895b100000000, outHI: 0x0
+swl :: offset: 0x92, out: 0x78e895b100000000, outHI: 0x0
+swl :: offset: 0x93, out: 0x78e895b100000000, outHI: 0x0
+swl :: offset: 0x94, out: 0x78e895b185e0a631, outHI: 0x0
+swl :: offset: 0x95, out: 0x78e895b185e0a631, outHI: 0x0
+swl :: offset: 0x96, out: 0x78e895b185e0a631, outHI: 0x0
+swl :: offset: 0x97, out: 0x78e895b185e0a631, outHI: 0x0
+swl :: offset: 0x98, out: 0x9b63259b00000000, outHI: 0x0
+swl :: offset: 0x99, out: 0x9b63259b00000000, outHI: 0x0
+swl :: offset: 0x9a, out: 0x9b63259b00000000, outHI: 0x0
+swl :: offset: 0x9b, out: 0x9b63259b00000000, outHI: 0x0
+swl :: offset: 0x9c, out: 0x9b63259b556b3eca, outHI: 0x0
+swl :: offset: 0x9d, out: 0x9b63259b556b3eca, outHI: 0x0
+swl :: offset: 0x9e, out: 0x9b63259b556b3eca, outHI: 0x0
+swl :: offset: 0x9f, out: 0x9b63259b556b3eca, outHI: 0x0
+swl :: offset: 0xa0, out: 0xccf17ac500000000, outHI: 0x0
+swl :: offset: 0xa1, out: 0xccf17ac500000000, outHI: 0x0
+swl :: offset: 0xa2, out: 0xccf17ac500000000, outHI: 0x0
+swl :: offset: 0xa3, out: 0xccf17ac500000000, outHI: 0x0
+swl :: offset: 0xa4, out: 0xccf17ac5b42f5fc5, outHI: 0x0
+swl :: offset: 0xa5, out: 0xccf17ac5b42f5fc5, outHI: 0x0
+swl :: offset: 0xa6, out: 0xccf17ac5b42f5fc5, outHI: 0x0
+swl :: offset: 0xa7, out: 0xccf17ac5b42f5fc5, outHI: 0x0
+swl :: offset: 0xa8, out: 0x81eea0fb00000000, outHI: 0x0
+swl :: offset: 0xa9, out: 0x81eea0fb00000000, outHI: 0x0
+swl :: offset: 0xaa, out: 0x81eea0fb00000000, outHI: 0x0
+swl :: offset: 0xab, out: 0x81eea0fb00000000, outHI: 0x0
+swl :: offset: 0xac, out: 0x81eea0fb25b50fec, outHI: 0x0
+swl :: offset: 0xad, out: 0x81eea0fb25b50fec, outHI: 0x0
+swl :: offset: 0xae, out: 0x81eea0fb25b50fec, outHI: 0x0
+swl :: offset: 0xaf, out: 0x81eea0fb25b50fec, outHI: 0x0
+swl :: offset: 0xb0, out: 0x14682d9700000000, outHI: 0x0
+swl :: offset: 0xb1, out: 0x14682d9700000000, outHI: 0x0
+swl :: offset: 0xb2, out: 0x14682d9700000000, outHI: 0x0
+swl :: offset: 0xb3, out: 0x14682d9700000000, outHI: 0x0
+swl :: offset: 0xb4, out: 0x14682d97fc93c513, outHI: 0x0
+swl :: offset: 0xb5, out: 0x14682d97fc93c513, outHI: 0x0
+swl :: offset: 0xb6, out: 0x14682d97fc93c513, outHI: 0x0
+swl :: offset: 0xb7, out: 0x14682d97fc93c513, outHI: 0x0
+swl :: offset: 0xb8, out: 0x2cfb087a00000000, outHI: 0x0
+swl :: offset: 0xb9, out: 0x2cfb087a00000000, outHI: 0x0
+swl :: offset: 0xba, out: 0x2cfb087a00000000, outHI: 0x0
+swl :: offset: 0xbb, out: 0x2cfb087a00000000, outHI: 0x0
+swl :: offset: 0xbc, out: 0x2cfb087a3c2cd9a9, outHI: 0x0
+swl :: offset: 0xbd, out: 0x2cfb087a3c2cd9a9, outHI: 0x0
+swl :: offset: 0xbe, out: 0x2cfb087a3c2cd9a9, outHI: 0x0
+swl :: offset: 0xbf, out: 0x2cfb087a3c2cd9a9, outHI: 0x0
+swl :: offset: 0xc0, out: 0xcda2076600000000, outHI: 0x0
+swl :: offset: 0xc1, out: 0xcda2076600000000, outHI: 0x0
+swl :: offset: 0xc2, out: 0xcda2076600000000, outHI: 0x0
+swl :: offset: 0xc3, out: 0xcda2076600000000, outHI: 0x0
+swl :: offset: 0xc4, out: 0xcda207661791722a, outHI: 0x0
+swl :: offset: 0xc5, out: 0xcda207661791722a, outHI: 0x0
+swl :: offset: 0xc6, out: 0xcda207661791722a, outHI: 0x0
+swl :: offset: 0xc7, out: 0xcda207661791722a, outHI: 0x0
+swl :: offset: 0xc8, out: 0x7d72da3e00000000, outHI: 0x0
+swl :: offset: 0xc9, out: 0x7d72da3e00000000, outHI: 0x0
+swl :: offset: 0xca, out: 0x7d72da3e00000000, outHI: 0x0
+swl :: offset: 0xcb, out: 0x7d72da3e00000000, outHI: 0x0
+swl :: offset: 0xcc, out: 0x7d72da3e087cc9d1, outHI: 0x0
+swl :: offset: 0xcd, out: 0x7d72da3e087cc9d1, outHI: 0x0
+swl :: offset: 0xce, out: 0x7d72da3e087cc9d1, outHI: 0x0
+swl :: offset: 0xcf, out: 0x7d72da3e087cc9d1, outHI: 0x0
+swl :: offset: 0xd0, out: 0x93ce24ad00000000, outHI: 0x0
+swl :: offset: 0xd1, out: 0x93ce24ad00000000, outHI: 0x0
+swl :: offset: 0xd2, out: 0x93ce24ad00000000, outHI: 0x0
+swl :: offset: 0xd3, out: 0x93ce24ad00000000, outHI: 0x0
+swl :: offset: 0xd4, out: 0x93ce24ad1d2a7570, outHI: 0x0
+swl :: offset: 0xd5, out: 0x93ce24ad1d2a7570, outHI: 0x0
+swl :: offset: 0xd6, out: 0x93ce24ad1d2a7570, outHI: 0x0
+swl :: offset: 0xd7, out: 0x93ce24ad1d2a7570, outHI: 0x0
+swl :: offset: 0xd8, out: 0x38984ed200000000, outHI: 0x0
+swl :: offset: 0xd9, out: 0x38984ed200000000, outHI: 0x0
+swl :: offset: 0xda, out: 0x38984ed200000000, outHI: 0x0
+swl :: offset: 0xdb, out: 0x38984ed200000000, outHI: 0x0
+swl :: offset: 0xdc, out: 0x38984ed2d0d070db, outHI: 0x0
+swl :: offset: 0xdd, out: 0x38984ed2d0d070db, outHI: 0x0
+swl :: offset: 0xde, out: 0x38984ed2d0d070db, outHI: 0x0
+swl :: offset: 0xdf, out: 0x38984ed2d0d070db, outHI: 0x0
+swl :: offset: 0xe0, out: 0x710cd03600000000, outHI: 0x0
+swl :: offset: 0xe1, out: 0x710cd03600000000, outHI: 0x0
+swl :: offset: 0xe2, out: 0x710cd03600000000, outHI: 0x0
+swl :: offset: 0xe3, out: 0x710cd03600000000, outHI: 0x0
+swl :: offset: 0xe4, out: 0x710cd03639c21c7d, outHI: 0x0
+swl :: offset: 0xe5, out: 0x710cd03639c21c7d, outHI: 0x0
+swl :: offset: 0xe6, out: 0x710cd03639c21c7d, outHI: 0x0
+swl :: offset: 0xe7, out: 0x710cd03639c21c7d, outHI: 0x0
+swl :: offset: 0xe8, out: 0x341560400000000, outHI: 0x0
+swl :: offset: 0xe9, out: 0x341560400000000, outHI: 0x0
+swl :: offset: 0xea, out: 0x341560400000000, outHI: 0x0
+swl :: offset: 0xeb, out: 0x341560400000000, outHI: 0x0
+swl :: offset: 0xec, out: 0x34156048e94b7af, outHI: 0x0
+swl :: offset: 0xed, out: 0x34156048e94b7af, outHI: 0x0
+swl :: offset: 0xee, out: 0x34156048e94b7af, outHI: 0x0
+swl :: offset: 0xef, out: 0x34156048e94b7af, outHI: 0x0
+swl :: offset: 0xf0, out: 0x8ecc31ce00000000, outHI: 0x0
+swl :: offset: 0xf1, out: 0x8ecc31ce00000000, outHI: 0x0
+swl :: offset: 0xf2, out: 0x8ecc31ce00000000, outHI: 0x0
+swl :: offset: 0xf3, out: 0x8ecc31ce00000000, outHI: 0x0
+swl :: offset: 0xf4, out: 0x8ecc31ce24eb6a8d, outHI: 0x0
+swl :: offset: 0xf5, out: 0x8ecc31ce24eb6a8d, outHI: 0x0
+swl :: offset: 0xf6, out: 0x8ecc31ce24eb6a8d, outHI: 0x0
+swl :: offset: 0xf7, out: 0x8ecc31ce24eb6a8d, outHI: 0x0
+swl :: offset: 0xf8, out: 0x1ce7674f00000000, outHI: 0x0
+swl :: offset: 0xf9, out: 0x1ce7674f00000000, outHI: 0x0
+swl :: offset: 0xfa, out: 0x1ce7674f00000000, outHI: 0x0
+swl :: offset: 0xfb, out: 0x1ce7674f00000000, outHI: 0x0
+swl :: offset: 0xfc, out: 0x1ce7674f2f394544, outHI: 0x0
+swl :: offset: 0xfd, out: 0x1ce7674f2f394544, outHI: 0x0
+swl :: offset: 0xfe, out: 0x1ce7674f2f394544, outHI: 0x0
+swl :: offset: 0xff, out: 0x1ce7674f2f394544, outHI: 0x0
+swl :: offset: 0x100, out: 0x12d6e4a700000000, outHI: 0x0
+swl :: offset: 0x101, out: 0x12d6e4a700000000, outHI: 0x0
+swl :: offset: 0x102, out: 0x12d6e4a700000000, outHI: 0x0
+swl :: offset: 0x103, out: 0x12d6e4a700000000, outHI: 0x0
+swl :: offset: 0x104, out: 0x12d6e4a72608c2b7, outHI: 0x0
+swl :: offset: 0x105, out: 0x12d6e4a72608c2b7, outHI: 0x0
+swl :: offset: 0x106, out: 0x12d6e4a72608c2b7, outHI: 0x0
+swl :: offset: 0x107, out: 0x12d6e4a72608c2b7, outHI: 0x0
+swl :: offset: 0x108, out: 0x56da4c5400000000, outHI: 0x0
+swl :: offset: 0x109, out: 0x56da4c5400000000, outHI: 0x0
+swl :: offset: 0x10a, out: 0x56da4c5400000000, outHI: 0x0
+swl :: offset: 0x10b, out: 0x56da4c5400000000, outHI: 0x0
+swl :: offset: 0x10c, out: 0x56da4c54900102da, outHI: 0x0
+swl :: offset: 0x10d, out: 0x56da4c54900102da, outHI: 0x0
+swl :: offset: 0x10e, out: 0x56da4c54900102da, outHI: 0x0
+swl :: offset: 0x10f, out: 0x56da4c54900102da, outHI: 0x0
+swl :: offset: 0x110, out: 0xc8d7252f00000000, outHI: 0x0
+swl :: offset: 0x111, out: 0xc8d7252f00000000, outHI: 0x0
+swl :: offset: 0x112, out: 0xc8d7252f00000000, outHI: 0x0
+swl :: offset: 0x113, out: 0xc8d7252f00000000, outHI: 0x0
+swl :: offset: 0x114, out: 0xc8d7252fc890d5f1, outHI: 0x0
+swl :: offset: 0x115, out: 0xc8d7252fc890d5f1, outHI: 0x0
+swl :: offset: 0x116, out: 0xc8d7252fc890d5f1, outHI: 0x0
+swl :: offset: 0x117, out: 0xc8d7252fc890d5f1, outHI: 0x0
+swl :: offset: 0x118, out: 0xf2efa4f700000000, outHI: 0x0
+swl :: offset: 0x119, out: 0xf2efa4f700000000, outHI: 0x0
+swl :: offset: 0x11a, out: 0xf2efa4f700000000, outHI: 0x0
+swl :: offset: 0x11b, out: 0xf2efa4f700000000, outHI: 0x0
+swl :: offset: 0x11c, out: 0xf2efa4f7ed5005cb, outHI: 0x0
+swl :: offset: 0x11d, out: 0xf2efa4f7ed5005cb, outHI: 0x0
+swl :: offset: 0x11e, out: 0xf2efa4f7ed5005cb, outHI: 0x0
+swl :: offset: 0x11f, out: 0xf2efa4f7ed5005cb, outHI: 0x0
+swl :: offset: 0x120, out: 0xc8b0a21400000000, outHI: 0x0
+swl :: offset: 0x121, out: 0xc8b0a21400000000, outHI: 0x0
+swl :: offset: 0x122, out: 0xc8b0a21400000000, outHI: 0x0
+swl :: offset: 0x123, out: 0xc8b0a21400000000, outHI: 0x0
+swl :: offset: 0x124, out: 0xc8b0a21431479189, outHI: 0x0
+swl :: offset: 0x125, out: 0xc8b0a21431479189, outHI: 0x0
+swl :: offset: 0x126, out: 0xc8b0a21431479189, outHI: 0x0
+swl :: offset: 0x127, out: 0xc8b0a21431479189, outHI: 0x0
+swl :: offset: 0x128, out: 0x5991136c00000000, outHI: 0x0
+swl :: offset: 0x129, out: 0x5991136c00000000, outHI: 0x0
+swl :: offset: 0x12a, out: 0x5991136c00000000, outHI: 0x0
+swl :: offset: 0x12b, out: 0x5991136c00000000, outHI: 0x0
+swl :: offset: 0x12c, out: 0x5991136cc6eecff9, outHI: 0x0
+swl :: offset: 0x12d, out: 0x5991136cc6eecff9, outHI: 0x0
+swl :: offset: 0x12e, out: 0x5991136cc6eecff9, outHI: 0x0
+swl :: offset: 0x12f, out: 0x5991136cc6eecff9, outHI: 0x0
+swl :: offset: 0x130, out: 0x9a2fb6f300000000, outHI: 0x0
+swl :: offset: 0x131, out: 0x9a2fb6f300000000, outHI: 0x0
+swl :: offset: 0x132, out: 0x9a2fb6f300000000, outHI: 0x0
+swl :: offset: 0x133, out: 0x9a2fb6f300000000, outHI: 0x0
+swl :: offset: 0x134, out: 0x9a2fb6f3a8095212, outHI: 0x0
+swl :: offset: 0x135, out: 0x9a2fb6f3a8095212, outHI: 0x0
+swl :: offset: 0x136, out: 0x9a2fb6f3a8095212, outHI: 0x0
+swl :: offset: 0x137, out: 0x9a2fb6f3a8095212, outHI: 0x0
+swl :: offset: 0x138, out: 0x3889527000000000, outHI: 0x0
+swl :: offset: 0x139, out: 0x3889527000000000, outHI: 0x0
+swl :: offset: 0x13a, out: 0x3889527000000000, outHI: 0x0
+swl :: offset: 0x13b, out: 0x3889527000000000, outHI: 0x0
+swl :: offset: 0x13c, out: 0x3889527087750a04, outHI: 0x0
+swl :: offset: 0x13d, out: 0x3889527087750a04, outHI: 0x0
+swl :: offset: 0x13e, out: 0x3889527087750a04, outHI: 0x0
+swl :: offset: 0x13f, out: 0x3889527087750a04, outHI: 0x0
+swl :: offset: 0x140, out: 0xad76504000000000, outHI: 0x0
+swl :: offset: 0x141, out: 0xad76504000000000, outHI: 0x0
+swl :: offset: 0x142, out: 0xad76504000000000, outHI: 0x0
+swl :: offset: 0x143, out: 0xad76504000000000, outHI: 0x0
+swl :: offset: 0x144, out: 0xad7650402c3de85e, outHI: 0x0
+swl :: offset: 0x145, out: 0xad7650402c3de85e, outHI: 0x0
+swl :: offset: 0x146, out: 0xad7650402c3de85e, outHI: 0x0
+swl :: offset: 0x147, out: 0xad7650402c3de85e, outHI: 0x0
+swl :: offset: 0x148, out: 0x84bb5a8300000000, outHI: 0x0
+swl :: offset: 0x149, out: 0x84bb5a8300000000, outHI: 0x0
+swl :: offset: 0x14a, out: 0x84bb5a8300000000, outHI: 0x0
+swl :: offset: 0x14b, out: 0x84bb5a8300000000, outHI: 0x0
+swl :: offset: 0x14c, out: 0x84bb5a83ae6aff8f, outHI: 0x0
+swl :: offset: 0x14d, out: 0x84bb5a83ae6aff8f, outHI: 0x0
+swl :: offset: 0x14e, out: 0x84bb5a83ae6aff8f, outHI: 0x0
+swl :: offset: 0x14f, out: 0x84bb5a83ae6aff8f, outHI: 0x0
+swl :: offset: 0x150, out: 0xc506aa6700000000, outHI: 0x0
+swl :: offset: 0x151, out: 0xc506aa6700000000, outHI: 0x0
+swl :: offset: 0x152, out: 0xc506aa6700000000, outHI: 0x0
+swl :: offset: 0x153, out: 0xc506aa6700000000, outHI: 0x0
+swl :: offset: 0x154, out: 0xc506aa67c07112dd, outHI: 0x0
+swl :: offset: 0x155, out: 0xc506aa67c07112dd, outHI: 0x0
+swl :: offset: 0x156, out: 0xc506aa67c07112dd, outHI: 0x0
+swl :: offset: 0x157, out: 0xc506aa67c07112dd, outHI: 0x0
+swl :: offset: 0x158, out: 0x60ed5ee300000000, outHI: 0x0
+swl :: offset: 0x159, out: 0x60ed5ee300000000, outHI: 0x0
+swl :: offset: 0x15a, out: 0x60ed5ee300000000, outHI: 0x0
+swl :: offset: 0x15b, out: 0x60ed5ee300000000, outHI: 0x0
+swl :: offset: 0x15c, out: 0x60ed5ee3c4c770f6, outHI: 0x0
+swl :: offset: 0x15d, out: 0x60ed5ee3c4c770f6, outHI: 0x0
+swl :: offset: 0x15e, out: 0x60ed5ee3c4c770f6, outHI: 0x0
+swl :: offset: 0x15f, out: 0x60ed5ee3c4c770f6, outHI: 0x0
+swl :: offset: 0x160, out: 0x30dcca5a00000000, outHI: 0x0
+swl :: offset: 0x161, out: 0x30dcca5a00000000, outHI: 0x0
+swl :: offset: 0x162, out: 0x30dcca5a00000000, outHI: 0x0
+swl :: offset: 0x163, out: 0x30dcca5a00000000, outHI: 0x0
+swl :: offset: 0x164, out: 0x30dcca5adfec2b23, outHI: 0x0
+swl :: offset: 0x165, out: 0x30dcca5adfec2b23, outHI: 0x0
+swl :: offset: 0x166, out: 0x30dcca5adfec2b23, outHI: 0x0
+swl :: offset: 0x167, out: 0x30dcca5adfec2b23, outHI: 0x0
+swl :: offset: 0x168, out: 0x83cd527700000000, outHI: 0x0
+swl :: offset: 0x169, out: 0x83cd527700000000, outHI: 0x0
+swl :: offset: 0x16a, out: 0x83cd527700000000, outHI: 0x0
+swl :: offset: 0x16b, out: 0x83cd527700000000, outHI: 0x0
+swl :: offset: 0x16c, out: 0x83cd5277d3adba26, outHI: 0x0
+swl :: offset: 0x16d, out: 0x83cd5277d3adba26, outHI: 0x0
+swl :: offset: 0x16e, out: 0x83cd5277d3adba26, outHI: 0x0
+swl :: offset: 0x16f, out: 0x83cd5277d3adba26, outHI: 0x0
+swl :: offset: 0x170, out: 0xff7d96b00000000, outHI: 0x0
+swl :: offset: 0x171, out: 0xff7d96b00000000, outHI: 0x0
+swl :: offset: 0x172, out: 0xff7d96b00000000, outHI: 0x0
+swl :: offset: 0x173, out: 0xff7d96b00000000, outHI: 0x0
+swl :: offset: 0x174, out: 0xff7d96b4ab4aa79, outHI: 0x0
+swl :: offset: 0x175, out: 0xff7d96b4ab4aa79, outHI: 0x0
+swl :: offset: 0x176, out: 0xff7d96b4ab4aa79, outHI: 0x0
+swl :: offset: 0x177, out: 0xff7d96b4ab4aa79, outHI: 0x0
+swl :: offset: 0x178, out: 0x8418c00e00000000, outHI: 0x0
+swl :: offset: 0x179, out: 0x8418c00e00000000, outHI: 0x0
+swl :: offset: 0x17a, out: 0x8418c00e00000000, outHI: 0x0
+swl :: offset: 0x17b, out: 0x8418c00e00000000, outHI: 0x0
+swl :: offset: 0x17c, out: 0x8418c00ebb8c035e, outHI: 0x0
+swl :: offset: 0x17d, out: 0x8418c00ebb8c035e, outHI: 0x0
+swl :: offset: 0x17e, out: 0x8418c00ebb8c035e, outHI: 0x0
+swl :: offset: 0x17f, out: 0x8418c00ebb8c035e, outHI: 0x0
+swl :: offset: 0x180, out: 0xde0f0b800000000, outHI: 0x0
+swl :: offset: 0x181, out: 0xde0f0b800000000, outHI: 0x0
+swl :: offset: 0x182, out: 0xde0f0b800000000, outHI: 0x0
+swl :: offset: 0x183, out: 0xde0f0b800000000, outHI: 0x0
+swl :: offset: 0x184, out: 0xde0f0b833b06f54, outHI: 0x0
+swl :: offset: 0x185, out: 0xde0f0b833b06f54, outHI: 0x0
+swl :: offset: 0x186, out: 0xde0f0b833b06f54, outHI: 0x0
+swl :: offset: 0x187, out: 0xde0f0b833b06f54, outHI: 0x0
+swl :: offset: 0x188, out: 0xa97fdcf100000000, outHI: 0x0
+swl :: offset: 0x189, out: 0xa97fdcf100000000, outHI: 0x0
+swl :: offset: 0x18a, out: 0xa97fdcf100000000, outHI: 0x0
+swl :: offset: 0x18b, out: 0xa97fdcf100000000, outHI: 0x0
+swl :: offset: 0x18c, out: 0xa97fdcf177433f37, outHI: 0x0
+swl :: offset: 0x18d, out: 0xa97fdcf177433f37, outHI: 0x0
+swl :: offset: 0x18e, out: 0xa97fdcf177433f37, outHI: 0x0
+swl :: offset: 0x18f, out: 0xa97fdcf177433f37, outHI: 0x0
+swl :: offset: 0x190, out: 0x3fd1c08100000000, outHI: 0x0
+swl :: offset: 0x191, out: 0x3fd1c08100000000, outHI: 0x0
+swl :: offset: 0x192, out: 0x3fd1c08100000000, outHI: 0x0
+swl :: offset: 0x193, out: 0x3fd1c08100000000, outHI: 0x0
+swl :: offset: 0x194, out: 0x3fd1c081ec91d993, outHI: 0x0
+swl :: offset: 0x195, out: 0x3fd1c081ec91d993, outHI: 0x0
+swl :: offset: 0x196, out: 0x3fd1c081ec91d993, outHI: 0x0
+swl :: offset: 0x197, out: 0x3fd1c081ec91d993, outHI: 0x0
+swl :: offset: 0x198, out: 0xc92195e400000000, outHI: 0x0
+swl :: offset: 0x199, out: 0xc92195e400000000, outHI: 0x0
+swl :: offset: 0x19a, out: 0xc92195e400000000, outHI: 0x0
+swl :: offset: 0x19b, out: 0xc92195e400000000, outHI: 0x0
+swl :: offset: 0x19c, out: 0xc92195e449fbf6a7, outHI: 0x0
+swl :: offset: 0x19d, out: 0xc92195e449fbf6a7, outHI: 0x0
+swl :: offset: 0x19e, out: 0xc92195e449fbf6a7, outHI: 0x0
+swl :: offset: 0x19f, out: 0xc92195e449fbf6a7, outHI: 0x0
+swl :: offset: 0x1a0, out: 0x95b1a5ab00000000, outHI: 0x0
+swl :: offset: 0x1a1, out: 0x95b1a5ab00000000, outHI: 0x0
+swl :: offset: 0x1a2, out: 0x95b1a5ab00000000, outHI: 0x0
+swl :: offset: 0x1a3, out: 0x95b1a5ab00000000, outHI: 0x0
+swl :: offset: 0x1a4, out: 0x95b1a5ab19364378, outHI: 0x0
+swl :: offset: 0x1a5, out: 0x95b1a5ab19364378, outHI: 0x0
+swl :: offset: 0x1a6, out: 0x95b1a5ab19364378, outHI: 0x0
+swl :: offset: 0x1a7, out: 0x95b1a5ab19364378, outHI: 0x0
+swl :: offset: 0x1a8, out: 0xc7ce8d1e00000000, outHI: 0x0
+swl :: offset: 0x1a9, out: 0xc7ce8d1e00000000, outHI: 0x0
+swl :: offset: 0x1aa, out: 0xc7ce8d1e00000000, outHI: 0x0
+swl :: offset: 0x1ab, out: 0xc7ce8d1e00000000, outHI: 0x0
+swl :: offset: 0x1ac, out: 0xc7ce8d1eb99e8def, outHI: 0x0
+swl :: offset: 0x1ad, out: 0xc7ce8d1eb99e8def, outHI: 0x0
+swl :: offset: 0x1ae, out: 0xc7ce8d1eb99e8def, outHI: 0x0
+swl :: offset: 0x1af, out: 0xc7ce8d1eb99e8def, outHI: 0x0
+swl :: offset: 0x1b0, out: 0x2f38490700000000, outHI: 0x0
+swl :: offset: 0x1b1, out: 0x2f38490700000000, outHI: 0x0
+swl :: offset: 0x1b2, out: 0x2f38490700000000, outHI: 0x0
+swl :: offset: 0x1b3, out: 0x2f38490700000000, outHI: 0x0
+swl :: offset: 0x1b4, out: 0x2f38490747eacdcd, outHI: 0x0
+swl :: offset: 0x1b5, out: 0x2f38490747eacdcd, outHI: 0x0
+swl :: offset: 0x1b6, out: 0x2f38490747eacdcd, outHI: 0x0
+swl :: offset: 0x1b7, out: 0x2f38490747eacdcd, outHI: 0x0
+swl :: offset: 0x1b8, out: 0x582b12fe00000000, outHI: 0x0
+swl :: offset: 0x1b9, out: 0x582b12fe00000000, outHI: 0x0
+swl :: offset: 0x1ba, out: 0x582b12fe00000000, outHI: 0x0
+swl :: offset: 0x1bb, out: 0x582b12fe00000000, outHI: 0x0
+swl :: offset: 0x1bc, out: 0x582b12fed685884e, outHI: 0x0
+swl :: offset: 0x1bd, out: 0x582b12fed685884e, outHI: 0x0
+swl :: offset: 0x1be, out: 0x582b12fed685884e, outHI: 0x0
+swl :: offset: 0x1bf, out: 0x582b12fed685884e, outHI: 0x0
+swl :: offset: 0x1c0, out: 0x76558c4f00000000, outHI: 0x0
+swl :: offset: 0x1c1, out: 0x76558c4f00000000, outHI: 0x0
+swl :: offset: 0x1c2, out: 0x76558c4f00000000, outHI: 0x0
+swl :: offset: 0x1c3, out: 0x76558c4f00000000, outHI: 0x0
+swl :: offset: 0x1c4, out: 0x76558c4f6168d62a, outHI: 0x0
+swl :: offset: 0x1c5, out: 0x76558c4f6168d62a, outHI: 0x0
+swl :: offset: 0x1c6, out: 0x76558c4f6168d62a, outHI: 0x0
+swl :: offset: 0x1c7, out: 0x76558c4f6168d62a, outHI: 0x0
+swl :: offset: 0x1c8, out: 0x34c195c700000000, outHI: 0x0
+swl :: offset: 0x1c9, out: 0x34c195c700000000, outHI: 0x0
+swl :: offset: 0x1ca, out: 0x34c195c700000000, outHI: 0x0
+swl :: offset: 0x1cb, out: 0x34c195c700000000, outHI: 0x0
+swl :: offset: 0x1cc, out: 0x34c195c7d3016989, outHI: 0x0
+swl :: offset: 0x1cd, out: 0x34c195c7d3016989, outHI: 0x0
+swl :: offset: 0x1ce, out: 0x34c195c7d3016989, outHI: 0x0
+swl :: offset: 0x1cf, out: 0x34c195c7d3016989, outHI: 0x0
+swl :: offset: 0x1d0, out: 0x4df4740500000000, outHI: 0x0
+swl :: offset: 0x1d1, out: 0x4df4740500000000, outHI: 0x0
+swl :: offset: 0x1d2, out: 0x4df4740500000000, outHI: 0x0
+swl :: offset: 0x1d3, out: 0x4df4740500000000, outHI: 0x0
+swl :: offset: 0x1d4, out: 0x4df474051ca190bf, outHI: 0x0
+swl :: offset: 0x1d5, out: 0x4df474051ca190bf, outHI: 0x0
+swl :: offset: 0x1d6, out: 0x4df474051ca190bf, outHI: 0x0
+swl :: offset: 0x1d7, out: 0x4df474051ca190bf, outHI: 0x0
+swl :: offset: 0x1d8, out: 0x6cbb06db00000000, outHI: 0x0
+swl :: offset: 0x1d9, out: 0x6cbb06db00000000, outHI: 0x0
+swl :: offset: 0x1da, out: 0x6cbb06db00000000, outHI: 0x0
+swl :: offset: 0x1db, out: 0x6cbb06db00000000, outHI: 0x0
+swl :: offset: 0x1dc, out: 0x6cbb06db58300f02, outHI: 0x0
+swl :: offset: 0x1dd, out: 0x6cbb06db58300f02, outHI: 0x0
+swl :: offset: 0x1de, out: 0x6cbb06db58300f02, outHI: 0x0
+swl :: offset: 0x1df, out: 0x6cbb06db58300f02, outHI: 0x0
+swl :: offset: 0x1e0, out: 0x9cae393a00000000, outHI: 0x0
+swl :: offset: 0x1e1, out: 0x9cae393a00000000, outHI: 0x0
+swl :: offset: 0x1e2, out: 0x9cae393a00000000, outHI: 0x0
+swl :: offset: 0x1e3, out: 0x9cae393a00000000, outHI: 0x0
+swl :: offset: 0x1e4, out: 0x9cae393a9a995fdb, outHI: 0x0
+swl :: offset: 0x1e5, out: 0x9cae393a9a995fdb, outHI: 0x0
+swl :: offset: 0x1e6, out: 0x9cae393a9a995fdb, outHI: 0x0
+swl :: offset: 0x1e7, out: 0x9cae393a9a995fdb, outHI: 0x0
+swl :: offset: 0x1e8, out: 0xdc7ebc2d00000000, outHI: 0x0
+swl :: offset: 0x1e9, out: 0xdc7ebc2d00000000, outHI: 0x0
+swl :: offset: 0x1ea, out: 0xdc7ebc2d00000000, outHI: 0x0
+swl :: offset: 0x1eb, out: 0xdc7ebc2d00000000, outHI: 0x0
+swl :: offset: 0x1ec, out: 0xdc7ebc2d8a96047b, outHI: 0x0
+swl :: offset: 0x1ed, out: 0xdc7ebc2d8a96047b, outHI: 0x0
+swl :: offset: 0x1ee, out: 0xdc7ebc2d8a96047b, outHI: 0x0
+swl :: offset: 0x1ef, out: 0xdc7ebc2d8a96047b, outHI: 0x0
+swl :: offset: 0x1f0, out: 0xe3405b4800000000, outHI: 0x0
+swl :: offset: 0x1f1, out: 0xe3405b4800000000, outHI: 0x0
+swl :: offset: 0x1f2, out: 0xe3405b4800000000, outHI: 0x0
+swl :: offset: 0x1f3, out: 0xe3405b4800000000, outHI: 0x0
+swl :: offset: 0x1f4, out: 0xe3405b4875bfafd2, outHI: 0x0
+swl :: offset: 0x1f5, out: 0xe3405b4875bfafd2, outHI: 0x0
+swl :: offset: 0x1f6, out: 0xe3405b4875bfafd2, outHI: 0x0
+swl :: offset: 0x1f7, out: 0xe3405b4875bfafd2, outHI: 0x0
+swl :: offset: 0x1f8, out: 0xd519d32200000000, outHI: 0x0
+swl :: offset: 0x1f9, out: 0xd519d32200000000, outHI: 0x0
+swl :: offset: 0x1fa, out: 0xd519d32200000000, outHI: 0x0
+swl :: offset: 0x1fb, out: 0xd519d32200000000, outHI: 0x0
+swl :: offset: 0x1fc, out: 0xd519d322de230867, outHI: 0x0
+swl :: offset: 0x1fd, out: 0xd519d322de230867, outHI: 0x0
+swl :: offset: 0x1fe, out: 0xd519d322de230867, outHI: 0x0
+swl :: offset: 0x1ff, out: 0xd519d322de230867, outHI: 0x0
+swl :: offset: 0x200, out: 0xa630f6ad00000000, outHI: 0x0
+swl :: offset: 0x201, out: 0xa630f6ad00000000, outHI: 0x0
+swl :: offset: 0x202, out: 0xa630f6ad00000000, outHI: 0x0
+swl :: offset: 0x203, out: 0xa630f6ad00000000, outHI: 0x0
+swl :: offset: 0x204, out: 0xa630f6ad2c0a0cf2, outHI: 0x0
+swl :: offset: 0x205, out: 0xa630f6ad2c0a0cf2, outHI: 0x0
+swl :: offset: 0x206, out: 0xa630f6ad2c0a0cf2, outHI: 0x0
+swl :: offset: 0x207, out: 0xa630f6ad2c0a0cf2, outHI: 0x0
+swl :: offset: 0x208, out: 0x5610326000000000, outHI: 0x0
+swl :: offset: 0x209, out: 0x5610326000000000, outHI: 0x0
+swl :: offset: 0x20a, out: 0x5610326000000000, outHI: 0x0
+swl :: offset: 0x20b, out: 0x5610326000000000, outHI: 0x0
+swl :: offset: 0x20c, out: 0x5610326094a90544, outHI: 0x0
+swl :: offset: 0x20d, out: 0x5610326094a90544, outHI: 0x0
+swl :: offset: 0x20e, out: 0x5610326094a90544, outHI: 0x0
+swl :: offset: 0x20f, out: 0x5610326094a90544, outHI: 0x0
+swl :: offset: 0x210, out: 0x249b18ef00000000, outHI: 0x0
+swl :: offset: 0x211, out: 0x249b18ef00000000, outHI: 0x0
+swl :: offset: 0x212, out: 0x249b18ef00000000, outHI: 0x0
+swl :: offset: 0x213, out: 0x249b18ef00000000, outHI: 0x0
+swl :: offset: 0x214, out: 0x249b18eff9519fb5, outHI: 0x0
+swl :: offset: 0x215, out: 0x249b18eff9519fb5, outHI: 0x0
+swl :: offset: 0x216, out: 0x249b18eff9519fb5, outHI: 0x0
+swl :: offset: 0x217, out: 0x249b18eff9519fb5, outHI: 0x0
+swl :: offset: 0x218, out: 0x5b56fcde00000000, outHI: 0x0
+swl :: offset: 0x219, out: 0x5b56fcde00000000, outHI: 0x0
+swl :: offset: 0x21a, out: 0x5b56fcde00000000, outHI: 0x0
+swl :: offset: 0x21b, out: 0x5b56fcde00000000, outHI: 0x0
+swl :: offset: 0x21c, out: 0x5b56fcde81daf820, outHI: 0x0
+swl :: offset: 0x21d, out: 0x5b56fcde81daf820, outHI: 0x0
+swl :: offset: 0x21e, out: 0x5b56fcde81daf820, outHI: 0x0
+swl :: offset: 0x21f, out: 0x5b56fcde81daf820, outHI: 0x0
+swl :: offset: 0x220, out: 0x468319b00000000, outHI: 0x0
+swl :: offset: 0x221, out: 0x468319b00000000, outHI: 0x0
+swl :: offset: 0x222, out: 0x468319b00000000, outHI: 0x0
+swl :: offset: 0x223, out: 0x468319b00000000, outHI: 0x0
+swl :: offset: 0x224, out: 0x468319b8c61ca5a, outHI: 0x0
+swl :: offset: 0x225, out: 0x468319b8c61ca5a, outHI: 0x0
+swl :: offset: 0x226, out: 0x468319b8c61ca5a, outHI: 0x0
+swl :: offset: 0x227, out: 0x468319b8c61ca5a, outHI: 0x0
+swl :: offset: 0x228, out: 0x5725f2ec00000000, outHI: 0x0
+swl :: offset: 0x229, out: 0x5725f2ec00000000, outHI: 0x0
+swl :: offset: 0x22a, out: 0x5725f2ec00000000, outHI: 0x0
+swl :: offset: 0x22b, out: 0x5725f2ec00000000, outHI: 0x0
+swl :: offset: 0x22c, out: 0x5725f2ec8b95a6dd, outHI: 0x0
+swl :: offset: 0x22d, out: 0x5725f2ec8b95a6dd, outHI: 0x0
+swl :: offset: 0x22e, out: 0x5725f2ec8b95a6dd, outHI: 0x0
+swl :: offset: 0x22f, out: 0x5725f2ec8b95a6dd, outHI: 0x0
+swl :: offset: 0x230, out: 0xc25dc8bf00000000, outHI: 0x0
+swl :: offset: 0x231, out: 0xc25dc8bf00000000, outHI: 0x0
+swl :: offset: 0x232, out: 0xc25dc8bf00000000, outHI: 0x0
+swl :: offset: 0x233, out: 0xc25dc8bf00000000, outHI: 0x0
+swl :: offset: 0x234, out: 0xc25dc8bf300ce751, outHI: 0x0
+swl :: offset: 0x235, out: 0xc25dc8bf300ce751, outHI: 0x0
+swl :: offset: 0x236, out: 0xc25dc8bf300ce751, outHI: 0x0
+swl :: offset: 0x237, out: 0xc25dc8bf300ce751, outHI: 0x0
+swl :: offset: 0x238, out: 0xdac6162f00000000, outHI: 0x0
+swl :: offset: 0x239, out: 0xdac6162f00000000, outHI: 0x0
+swl :: offset: 0x23a, out: 0xdac6162f00000000, outHI: 0x0
+swl :: offset: 0x23b, out: 0xdac6162f00000000, outHI: 0x0
+swl :: offset: 0x23c, out: 0xdac6162f6778fdf3, outHI: 0x0
+swl :: offset: 0x23d, out: 0xdac6162f6778fdf3, outHI: 0x0
+swl :: offset: 0x23e, out: 0xdac6162f6778fdf3, outHI: 0x0
+swl :: offset: 0x23f, out: 0xdac6162f6778fdf3, outHI: 0x0
+swl :: offset: 0x240, out: 0xba52a85000000000, outHI: 0x0
+swl :: offset: 0x241, out: 0xba52a85000000000, outHI: 0x0
+swl :: offset: 0x242, out: 0xba52a85000000000, outHI: 0x0
+swl :: offset: 0x243, out: 0xba52a85000000000, outHI: 0x0
+swl :: offset: 0x244, out: 0xba52a850ad00b1f7, outHI: 0x0
+swl :: offset: 0x245, out: 0xba52a850ad00b1f7, outHI: 0x0
+swl :: offset: 0x246, out: 0xba52a850ad00b1f7, outHI: 0x0
+swl :: offset: 0x247, out: 0xba52a850ad00b1f7, outHI: 0x0
+swl :: offset: 0x248, out: 0xda78479f00000000, outHI: 0x0
+swl :: offset: 0x249, out: 0xda78479f00000000, outHI: 0x0
+swl :: offset: 0x24a, out: 0xda78479f00000000, outHI: 0x0
+swl :: offset: 0x24b, out: 0xda78479f00000000, outHI: 0x0
+swl :: offset: 0x24c, out: 0xda78479f08d44168, outHI: 0x0
+swl :: offset: 0x24d, out: 0xda78479f08d44168, outHI: 0x0
+swl :: offset: 0x24e, out: 0xda78479f08d44168, outHI: 0x0
+swl :: offset: 0x24f, out: 0xda78479f08d44168, outHI: 0x0
+swl :: offset: 0x250, out: 0xa6b6d98a00000000, outHI: 0x0
+swl :: offset: 0x251, out: 0xa6b6d98a00000000, outHI: 0x0
+swl :: offset: 0x252, out: 0xa6b6d98a00000000, outHI: 0x0
+swl :: offset: 0x253, out: 0xa6b6d98a00000000, outHI: 0x0
+swl :: offset: 0x254, out: 0xa6b6d98af518381d, outHI: 0x0
+swl :: offset: 0x255, out: 0xa6b6d98af518381d, outHI: 0x0
+swl :: offset: 0x256, out: 0xa6b6d98af518381d, outHI: 0x0
+swl :: offset: 0x257, out: 0xa6b6d98af518381d, outHI: 0x0
+swl :: offset: 0x258, out: 0xce63441300000000, outHI: 0x0
+swl :: offset: 0x259, out: 0xce63441300000000, outHI: 0x0
+swl :: offset: 0x25a, out: 0xce63441300000000, outHI: 0x0
+swl :: offset: 0x25b, out: 0xce63441300000000, outHI: 0x0
+swl :: offset: 0x25c, out: 0xce634413e4627f3f, outHI: 0x0
+swl :: offset: 0x25d, out: 0xce634413e4627f3f, outHI: 0x0
+swl :: offset: 0x25e, out: 0xce634413e4627f3f, outHI: 0x0
+swl :: offset: 0x25f, out: 0xce634413e4627f3f, outHI: 0x0
+swl :: offset: 0x260, out: 0xe5255fc000000000, outHI: 0x0
+swl :: offset: 0x261, out: 0xe5255fc000000000, outHI: 0x0
+swl :: offset: 0x262, out: 0xe5255fc000000000, outHI: 0x0
+swl :: offset: 0x263, out: 0xe5255fc000000000, outHI: 0x0
+swl :: offset: 0x264, out: 0xe5255fc0ccd392e1, outHI: 0x0
+swl :: offset: 0x265, out: 0xe5255fc0ccd392e1, outHI: 0x0
+swl :: offset: 0x266, out: 0xe5255fc0ccd392e1, outHI: 0x0
+swl :: offset: 0x267, out: 0xe5255fc0ccd392e1, outHI: 0x0
+swl :: offset: 0x268, out: 0x76321f2800000000, outHI: 0x0
+swl :: offset: 0x269, out: 0x76321f2800000000, outHI: 0x0
+swl :: offset: 0x26a, out: 0x76321f2800000000, outHI: 0x0
+swl :: offset: 0x26b, out: 0x76321f2800000000, outHI: 0x0
+swl :: offset: 0x26c, out: 0x76321f2882946494, outHI: 0x0
+swl :: offset: 0x26d, out: 0x76321f2882946494, outHI: 0x0
+swl :: offset: 0x26e, out: 0x76321f2882946494, outHI: 0x0
+swl :: offset: 0x26f, out: 0x76321f2882946494, outHI: 0x0
+swl :: offset: 0x270, out: 0x4018fd8f00000000, outHI: 0x0
+swl :: offset: 0x271, out: 0x4018fd8f00000000, outHI: 0x0
+swl :: offset: 0x272, out: 0x4018fd8f00000000, outHI: 0x0
+swl :: offset: 0x273, out: 0x4018fd8f00000000, outHI: 0x0
+swl :: offset: 0x274, out: 0x4018fd8f15d32040, outHI: 0x0
+swl :: offset: 0x275, out: 0x4018fd8f15d32040, outHI: 0x0
+swl :: offset: 0x276, out: 0x4018fd8f15d32040, outHI: 0x0
+swl :: offset: 0x277, out: 0x4018fd8f15d32040, outHI: 0x0
+swl :: offset: 0x278, out: 0x52e8f0e500000000, outHI: 0x0
+swl :: offset: 0x279, out: 0x52e8f0e500000000, outHI: 0x0
+swl :: offset: 0x27a, out: 0x52e8f0e500000000, outHI: 0x0
+swl :: offset: 0x27b, out: 0x52e8f0e500000000, outHI: 0x0
+swl :: offset: 0x27c, out: 0x52e8f0e57caf83d2, outHI: 0x0
+swl :: offset: 0x27d, out: 0x52e8f0e57caf83d2, outHI: 0x0
+swl :: offset: 0x27e, out: 0x52e8f0e57caf83d2, outHI: 0x0
+swl :: offset: 0x27f, out: 0x52e8f0e57caf83d2, outHI: 0x0
+swl :: offset: 0x280, out: 0x880ff34400000000, outHI: 0x0
+swl :: offset: 0x281, out: 0x880ff34400000000, outHI: 0x0
+swl :: offset: 0x282, out: 0x880ff34400000000, outHI: 0x0
+swl :: offset: 0x283, out: 0x880ff34400000000, outHI: 0x0
+swl :: offset: 0x284, out: 0x880ff344f156a04c, outHI: 0x0
+swl :: offset: 0x285, out: 0x880ff344f156a04c, outHI: 0x0
+swl :: offset: 0x286, out: 0x880ff344f156a04c, outHI: 0x0
+swl :: offset: 0x287, out: 0x880ff344f156a04c, outHI: 0x0
+swl :: offset: 0x288, out: 0x747defd700000000, outHI: 0x0
+swl :: offset: 0x289, out: 0x747defd700000000, outHI: 0x0
+swl :: offset: 0x28a, out: 0x747defd700000000, outHI: 0x0
+swl :: offset: 0x28b, out: 0x747defd700000000, outHI: 0x0
+swl :: offset: 0x28c, out: 0x747defd793e2601c, outHI: 0x0
+swl :: offset: 0x28d, out: 0x747defd793e2601c, outHI: 0x0
+swl :: offset: 0x28e, out: 0x747defd793e2601c, outHI: 0x0
+swl :: offset: 0x28f, out: 0x747defd793e2601c, outHI: 0x0
+swl :: offset: 0x290, out: 0xf31d71000000000, outHI: 0x0
+swl :: offset: 0x291, out: 0xf31d71000000000, outHI: 0x0
+swl :: offset: 0x292, out: 0xf31d71000000000, outHI: 0x0
+swl :: offset: 0x293, out: 0xf31d71000000000, outHI: 0x0
+swl :: offset: 0x294, out: 0xf31d710e1e1a679, outHI: 0x0
+swl :: offset: 0x295, out: 0xf31d710e1e1a679, outHI: 0x0
+swl :: offset: 0x296, out: 0xf31d710e1e1a679, outHI: 0x0
+swl :: offset: 0x297, out: 0xf31d710e1e1a679, outHI: 0x0
+swl :: offset: 0x298, out: 0x131cd93300000000, outHI: 0x0
+swl :: offset: 0x299, out: 0x131cd93300000000, outHI: 0x0
+swl :: offset: 0x29a, out: 0x131cd93300000000, outHI: 0x0
+swl :: offset: 0x29b, out: 0x131cd93300000000, outHI: 0x0
+swl :: offset: 0x29c, out: 0x131cd93324296b75, outHI: 0x0
+swl :: offset: 0x29d, out: 0x131cd93324296b75, outHI: 0x0
+swl :: offset: 0x29e, out: 0x131cd93324296b75, outHI: 0x0
+swl :: offset: 0x29f, out: 0x131cd93324296b75, outHI: 0x0
+swl :: offset: 0x2a0, out: 0xa76fa42700000000, outHI: 0x0
+swl :: offset: 0x2a1, out: 0xa76fa42700000000, outHI: 0x0
+swl :: offset: 0x2a2, out: 0xa76fa42700000000, outHI: 0x0
+swl :: offset: 0x2a3, out: 0xa76fa42700000000, outHI: 0x0
+swl :: offset: 0x2a4, out: 0xa76fa427d296e2d2, outHI: 0x0
+swl :: offset: 0x2a5, out: 0xa76fa427d296e2d2, outHI: 0x0
+swl :: offset: 0x2a6, out: 0xa76fa427d296e2d2, outHI: 0x0
+swl :: offset: 0x2a7, out: 0xa76fa427d296e2d2, outHI: 0x0
+swl :: offset: 0x2a8, out: 0x139ee56a00000000, outHI: 0x0
+swl :: offset: 0x2a9, out: 0x139ee56a00000000, outHI: 0x0
+swl :: offset: 0x2aa, out: 0x139ee56a00000000, outHI: 0x0
+swl :: offset: 0x2ab, out: 0x139ee56a00000000, outHI: 0x0
+swl :: offset: 0x2ac, out: 0x139ee56a5a82447f, outHI: 0x0
+swl :: offset: 0x2ad, out: 0x139ee56a5a82447f, outHI: 0x0
+swl :: offset: 0x2ae, out: 0x139ee56a5a82447f, outHI: 0x0
+swl :: offset: 0x2af, out: 0x139ee56a5a82447f, outHI: 0x0
+swl :: offset: 0x2b0, out: 0x6dc2a5c000000000, outHI: 0x0
+swl :: offset: 0x2b1, out: 0x6dc2a5c000000000, outHI: 0x0
+swl :: offset: 0x2b2, out: 0x6dc2a5c000000000, outHI: 0x0
+swl :: offset: 0x2b3, out: 0x6dc2a5c000000000, outHI: 0x0
+swl :: offset: 0x2b4, out: 0x6dc2a5c076c89e80, outHI: 0x0
+swl :: offset: 0x2b5, out: 0x6dc2a5c076c89e80, outHI: 0x0
+swl :: offset: 0x2b6, out: 0x6dc2a5c076c89e80, outHI: 0x0
+swl :: offset: 0x2b7, out: 0x6dc2a5c076c89e80, outHI: 0x0
+swl :: offset: 0x2b8, out: 0xc07dc16800000000, outHI: 0x0
+swl :: offset: 0x2b9, out: 0xc07dc16800000000, outHI: 0x0
+swl :: offset: 0x2ba, out: 0xc07dc16800000000, outHI: 0x0
+swl :: offset: 0x2bb, out: 0xc07dc16800000000, outHI: 0x0
+swl :: offset: 0x2bc, out: 0xc07dc168070dc345, outHI: 0x0
+swl :: offset: 0x2bd, out: 0xc07dc168070dc345, outHI: 0x0
+swl :: offset: 0x2be, out: 0xc07dc168070dc345, outHI: 0x0
+swl :: offset: 0x2bf, out: 0xc07dc168070dc345, outHI: 0x0
+swl :: offset: 0x2c0, out: 0x4bfe348f00000000, outHI: 0x0
+swl :: offset: 0x2c1, out: 0x4bfe348f00000000, outHI: 0x0
+swl :: offset: 0x2c2, out: 0x4bfe348f00000000, outHI: 0x0
+swl :: offset: 0x2c3, out: 0x4bfe348f00000000, outHI: 0x0
+swl :: offset: 0x2c4, out: 0x4bfe348fbddc7123, outHI: 0x0
+swl :: offset: 0x2c5, out: 0x4bfe348fbddc7123, outHI: 0x0
+swl :: offset: 0x2c6, out: 0x4bfe348fbddc7123, outHI: 0x0
+swl :: offset: 0x2c7, out: 0x4bfe348fbddc7123, outHI: 0x0
+swl :: offset: 0x2c8, out: 0xdd6d241b00000000, outHI: 0x0
+swl :: offset: 0x2c9, out: 0xdd6d241b00000000, outHI: 0x0
+swl :: offset: 0x2ca, out: 0xdd6d241b00000000, outHI: 0x0
+swl :: offset: 0x2cb, out: 0xdd6d241b00000000, outHI: 0x0
+swl :: offset: 0x2cc, out: 0xdd6d241bf62fb727, outHI: 0x0
+swl :: offset: 0x2cd, out: 0xdd6d241bf62fb727, outHI: 0x0
+swl :: offset: 0x2ce, out: 0xdd6d241bf62fb727, outHI: 0x0
+swl :: offset: 0x2cf, out: 0xdd6d241bf62fb727, outHI: 0x0
+swl :: offset: 0x2d0, out: 0xa59fcebe00000000, outHI: 0x0
+swl :: offset: 0x2d1, out: 0xa59fcebe00000000, outHI: 0x0
+swl :: offset: 0x2d2, out: 0xa59fcebe00000000, outHI: 0x0
+swl :: offset: 0x2d3, out: 0xa59fcebe00000000, outHI: 0x0
+swl :: offset: 0x2d4, out: 0xa59fcebe109f27e9, outHI: 0x0
+swl :: offset: 0x2d5, out: 0xa59fcebe109f27e9, outHI: 0x0
+swl :: offset: 0x2d6, out: 0xa59fcebe109f27e9, outHI: 0x0
+swl :: offset: 0x2d7, out: 0xa59fcebe109f27e9, outHI: 0x0
+swl :: offset: 0x2d8, out: 0xf9f46fb00000000, outHI: 0x0
+swl :: offset: 0x2d9, out: 0xf9f46fb00000000, outHI: 0x0
+swl :: offset: 0x2da, out: 0xf9f46fb00000000, outHI: 0x0
+swl :: offset: 0x2db, out: 0xf9f46fb00000000, outHI: 0x0
+swl :: offset: 0x2dc, out: 0xf9f46fb3f63daa9, outHI: 0x0
+swl :: offset: 0x2dd, out: 0xf9f46fb3f63daa9, outHI: 0x0
+swl :: offset: 0x2de, out: 0xf9f46fb3f63daa9, outHI: 0x0
+swl :: offset: 0x2df, out: 0xf9f46fb3f63daa9, outHI: 0x0
+swl :: offset: 0x2e0, out: 0xafd199d700000000, outHI: 0x0
+swl :: offset: 0x2e1, out: 0xafd199d700000000, outHI: 0x0
+swl :: offset: 0x2e2, out: 0xafd199d700000000, outHI: 0x0
+swl :: offset: 0x2e3, out: 0xafd199d700000000, outHI: 0x0
+swl :: offset: 0x2e4, out: 0xafd199d7dbcb312e, outHI: 0x0
+swl :: offset: 0x2e5, out: 0xafd199d7dbcb312e, outHI: 0x0
+swl :: offset: 0x2e6, out: 0xafd199d7dbcb312e, outHI: 0x0
+swl :: offset: 0x2e7, out: 0xafd199d7dbcb312e, outHI: 0x0
+swl :: offset: 0x2e8, out: 0xa3d484f200000000, outHI: 0x0
+swl :: offset: 0x2e9, out: 0xa3d484f200000000, outHI: 0x0
+swl :: offset: 0x2ea, out: 0xa3d484f200000000, outHI: 0x0
+swl :: offset: 0x2eb, out: 0xa3d484f200000000, outHI: 0x0
+swl :: offset: 0x2ec, out: 0xa3d484f21f353faa, outHI: 0x0
+swl :: offset: 0x2ed, out: 0xa3d484f21f353faa, outHI: 0x0
+swl :: offset: 0x2ee, out: 0xa3d484f21f353faa, outHI: 0x0
+swl :: offset: 0x2ef, out: 0xa3d484f21f353faa, outHI: 0x0
+swl :: offset: 0x2f0, out: 0xda4fe4c600000000, outHI: 0x0
+swl :: offset: 0x2f1, out: 0xda4fe4c600000000, outHI: 0x0
+swl :: offset: 0x2f2, out: 0xda4fe4c600000000, outHI: 0x0
+swl :: offset: 0x2f3, out: 0xda4fe4c600000000, outHI: 0x0
+swl :: offset: 0x2f4, out: 0xda4fe4c68b086ee0, outHI: 0x0
+swl :: offset: 0x2f5, out: 0xda4fe4c68b086ee0, outHI: 0x0
+swl :: offset: 0x2f6, out: 0xda4fe4c68b086ee0, outHI: 0x0
+swl :: offset: 0x2f7, out: 0xda4fe4c68b086ee0, outHI: 0x0
+swl :: offset: 0x2f8, out: 0x7150c26000000000, outHI: 0x0
+swl :: offset: 0x2f9, out: 0x7150c26000000000, outHI: 0x0
+swl :: offset: 0x2fa, out: 0x7150c26000000000, outHI: 0x0
+swl :: offset: 0x2fb, out: 0x7150c26000000000, outHI: 0x0
+swl :: offset: 0x2fc, out: 0x7150c260e54750d5, outHI: 0x0
+swl :: offset: 0x2fd, out: 0x7150c260e54750d5, outHI: 0x0
+swl :: offset: 0x2fe, out: 0x7150c260e54750d5, outHI: 0x0
+swl :: offset: 0x2ff, out: 0x7150c260e54750d5, outHI: 0x0
+swl :: offset: 0x300, out: 0xd9257f2500000000, outHI: 0x0
+swl :: offset: 0x301, out: 0xd9257f2500000000, outHI: 0x0
+swl :: offset: 0x302, out: 0xd9257f2500000000, outHI: 0x0
+swl :: offset: 0x303, out: 0xd9257f2500000000, outHI: 0x0
+swl :: offset: 0x304, out: 0xd9257f253d69625f, outHI: 0x0
+swl :: offset: 0x305, out: 0xd9257f253d69625f, outHI: 0x0
+swl :: offset: 0x306, out: 0xd9257f253d69625f, outHI: 0x0
+swl :: offset: 0x307, out: 0xd9257f253d69625f, outHI: 0x0
+swl :: offset: 0x308, out: 0xe9a6db5b00000000, outHI: 0x0
+swl :: offset: 0x309, out: 0xe9a6db5b00000000, outHI: 0x0
+swl :: offset: 0x30a, out: 0xe9a6db5b00000000, outHI: 0x0
+swl :: offset: 0x30b, out: 0xe9a6db5b00000000, outHI: 0x0
+swl :: offset: 0x30c, out: 0xe9a6db5b70a3e042, outHI: 0x0
+swl :: offset: 0x30d, out: 0xe9a6db5b70a3e042, outHI: 0x0
+swl :: offset: 0x30e, out: 0xe9a6db5b70a3e042, outHI: 0x0
+swl :: offset: 0x30f, out: 0xe9a6db5b70a3e042, outHI: 0x0
+swl :: offset: 0x310, out: 0x4340ac9600000000, outHI: 0x0
+swl :: offset: 0x311, out: 0x4340ac9600000000, outHI: 0x0
+swl :: offset: 0x312, out: 0x4340ac9600000000, outHI: 0x0
+swl :: offset: 0x313, out: 0x4340ac9600000000, outHI: 0x0
+swl :: offset: 0x314, out: 0x4340ac96c0478f03, outHI: 0x0
+swl :: offset: 0x315, out: 0x4340ac96c0478f03, outHI: 0x0
+swl :: offset: 0x316, out: 0x4340ac96c0478f03, outHI: 0x0
+swl :: offset: 0x317, out: 0x4340ac96c0478f03, outHI: 0x0
+swl :: offset: 0x318, out: 0x6980171e00000000, outHI: 0x0
+swl :: offset: 0x319, out: 0x6980171e00000000, outHI: 0x0
+swl :: offset: 0x31a, out: 0x6980171e00000000, outHI: 0x0
+swl :: offset: 0x31b, out: 0x6980171e00000000, outHI: 0x0
+swl :: offset: 0x31c, out: 0x6980171e3ce839a5, outHI: 0x0
+swl :: offset: 0x31d, out: 0x6980171e3ce839a5, outHI: 0x0
+swl :: offset: 0x31e, out: 0x6980171e3ce839a5, outHI: 0x0
+swl :: offset: 0x31f, out: 0x6980171e3ce839a5, outHI: 0x0
+swl :: offset: 0x320, out: 0x1cf929e300000000, outHI: 0x0
+swl :: offset: 0x321, out: 0x1cf929e300000000, outHI: 0x0
+swl :: offset: 0x322, out: 0x1cf929e300000000, outHI: 0x0
+swl :: offset: 0x323, out: 0x1cf929e300000000, outHI: 0x0
+swl :: offset: 0x324, out: 0x1cf929e3e2fbfa89, outHI: 0x0
+swl :: offset: 0x325, out: 0x1cf929e3e2fbfa89, outHI: 0x0
+swl :: offset: 0x326, out: 0x1cf929e3e2fbfa89, outHI: 0x0
+swl :: offset: 0x327, out: 0x1cf929e3e2fbfa89, outHI: 0x0
+swl :: offset: 0x328, out: 0x5eb6895800000000, outHI: 0x0
+swl :: offset: 0x329, out: 0x5eb6895800000000, outHI: 0x0
+swl :: offset: 0x32a, out: 0x5eb6895800000000, outHI: 0x0
+swl :: offset: 0x32b, out: 0x5eb6895800000000, outHI: 0x0
+swl :: offset: 0x32c, out: 0x5eb68958d24bb05d, outHI: 0x0
+swl :: offset: 0x32d, out: 0x5eb68958d24bb05d, outHI: 0x0
+swl :: offset: 0x32e, out: 0x5eb68958d24bb05d, outHI: 0x0
+swl :: offset: 0x32f, out: 0x5eb68958d24bb05d, outHI: 0x0
+swl :: offset: 0x330, out: 0x76ed25b700000000, outHI: 0x0
+swl :: offset: 0x331, out: 0x76ed25b700000000, outHI: 0x0
+swl :: offset: 0x332, out: 0x76ed25b700000000, outHI: 0x0
+swl :: offset: 0x333, out: 0x76ed25b700000000, outHI: 0x0
+swl :: offset: 0x334, out: 0x76ed25b70eb9682c, outHI: 0x0
+swl :: offset: 0x335, out: 0x76ed25b70eb9682c, outHI: 0x0
+swl :: offset: 0x336, out: 0x76ed25b70eb9682c, outHI: 0x0
+swl :: offset: 0x337, out: 0x76ed25b70eb9682c, outHI: 0x0
+swl :: offset: 0x338, out: 0x170312f100000000, outHI: 0x0
+swl :: offset: 0x339, out: 0x170312f100000000, outHI: 0x0
+swl :: offset: 0x33a, out: 0x170312f100000000, outHI: 0x0
+swl :: offset: 0x33b, out: 0x170312f100000000, outHI: 0x0
+swl :: offset: 0x33c, out: 0x170312f184785280, outHI: 0x0
+swl :: offset: 0x33d, out: 0x170312f184785280, outHI: 0x0
+swl :: offset: 0x33e, out: 0x170312f184785280, outHI: 0x0
+swl :: offset: 0x33f, out: 0x170312f184785280, outHI: 0x0
+swl :: offset: 0x340, out: 0xdd301d0d00000000, outHI: 0x0
+swl :: offset: 0x341, out: 0xdd301d0d00000000, outHI: 0x0
+swl :: offset: 0x342, out: 0xdd301d0d00000000, outHI: 0x0
+swl :: offset: 0x343, out: 0xdd301d0d00000000, outHI: 0x0
+swl :: offset: 0x344, out: 0xdd301d0d179c77aa, outHI: 0x0
+swl :: offset: 0x345, out: 0xdd301d0d179c77aa, outHI: 0x0
+swl :: offset: 0x346, out: 0xdd301d0d179c77aa, outHI: 0x0
+swl :: offset: 0x347, out: 0xdd301d0d179c77aa, outHI: 0x0
+swl :: offset: 0x348, out: 0x1f8fd6ef00000000, outHI: 0x0
+swl :: offset: 0x349, out: 0x1f8fd6ef00000000, outHI: 0x0
+swl :: offset: 0x34a, out: 0x1f8fd6ef00000000, outHI: 0x0
+swl :: offset: 0x34b, out: 0x1f8fd6ef00000000, outHI: 0x0
+swl :: offset: 0x34c, out: 0x1f8fd6ef26444ced, outHI: 0x0
+swl :: offset: 0x34d, out: 0x1f8fd6ef26444ced, outHI: 0x0
+swl :: offset: 0x34e, out: 0x1f8fd6ef26444ced, outHI: 0x0
+swl :: offset: 0x34f, out: 0x1f8fd6ef26444ced, outHI: 0x0
+swl :: offset: 0x350, out: 0x2998436d00000000, outHI: 0x0
+swl :: offset: 0x351, out: 0x2998436d00000000, outHI: 0x0
+swl :: offset: 0x352, out: 0x2998436d00000000, outHI: 0x0
+swl :: offset: 0x353, out: 0x2998436d00000000, outHI: 0x0
+swl :: offset: 0x354, out: 0x2998436d07175c9d, outHI: 0x0
+swl :: offset: 0x355, out: 0x2998436d07175c9d, outHI: 0x0
+swl :: offset: 0x356, out: 0x2998436d07175c9d, outHI: 0x0
+swl :: offset: 0x357, out: 0x2998436d07175c9d, outHI: 0x0
+swl :: offset: 0x358, out: 0xd58ca70800000000, outHI: 0x0
+swl :: offset: 0x359, out: 0xd58ca70800000000, outHI: 0x0
+swl :: offset: 0x35a, out: 0xd58ca70800000000, outHI: 0x0
+swl :: offset: 0x35b, out: 0xd58ca70800000000, outHI: 0x0
+swl :: offset: 0x35c, out: 0xd58ca708663d0610, outHI: 0x0
+swl :: offset: 0x35d, out: 0xd58ca708663d0610, outHI: 0x0
+swl :: offset: 0x35e, out: 0xd58ca708663d0610, outHI: 0x0
+swl :: offset: 0x35f, out: 0xd58ca708663d0610, outHI: 0x0
+swl :: offset: 0x360, out: 0x5583328700000000, outHI: 0x0
+swl :: offset: 0x361, out: 0x5583328700000000, outHI: 0x0
+swl :: offset: 0x362, out: 0x5583328700000000, outHI: 0x0
+swl :: offset: 0x363, out: 0x5583328700000000, outHI: 0x0
+swl :: offset: 0x364, out: 0x55833287ab7dd048, outHI: 0x0
+swl :: offset: 0x365, out: 0x55833287ab7dd048, outHI: 0x0
+swl :: offset: 0x366, out: 0x55833287ab7dd048, outHI: 0x0
+swl :: offset: 0x367, out: 0x55833287ab7dd048, outHI: 0x0
+swl :: offset: 0x368, out: 0x8951d68b00000000, outHI: 0x0
+swl :: offset: 0x369, out: 0x8951d68b00000000, outHI: 0x0
+swl :: offset: 0x36a, out: 0x8951d68b00000000, outHI: 0x0
+swl :: offset: 0x36b, out: 0x8951d68b00000000, outHI: 0x0
+swl :: offset: 0x36c, out: 0x8951d68bf6982367, outHI: 0x0
+swl :: offset: 0x36d, out: 0x8951d68bf6982367, outHI: 0x0
+swl :: offset: 0x36e, out: 0x8951d68bf6982367, outHI: 0x0
+swl :: offset: 0x36f, out: 0x8951d68bf6982367, outHI: 0x0
+swl :: offset: 0x370, out: 0xe82471b00000000, outHI: 0x0
+swl :: offset: 0x371, out: 0xe82471b00000000, outHI: 0x0
+swl :: offset: 0x372, out: 0xe82471b00000000, outHI: 0x0
+swl :: offset: 0x373, out: 0xe82471b00000000, outHI: 0x0
+swl :: offset: 0x374, out: 0xe82471b36886c59, outHI: 0x0
+swl :: offset: 0x375, out: 0xe82471b36886c59, outHI: 0x0
+swl :: offset: 0x376, out: 0xe82471b36886c59, outHI: 0x0
+swl :: offset: 0x377, out: 0xe82471b36886c59, outHI: 0x0
+swl :: offset: 0x378, out: 0xd98d26b200000000, outHI: 0x0
+swl :: offset: 0x379, out: 0xd98d26b200000000, outHI: 0x0
+swl :: offset: 0x37a, out: 0xd98d26b200000000, outHI: 0x0
+swl :: offset: 0x37b, out: 0xd98d26b200000000, outHI: 0x0
+swl :: offset: 0x37c, out: 0xd98d26b209ca4bdb, outHI: 0x0
+swl :: offset: 0x37d, out: 0xd98d26b209ca4bdb, outHI: 0x0
+swl :: offset: 0x37e, out: 0xd98d26b209ca4bdb, outHI: 0x0
+swl :: offset: 0x37f, out: 0xd98d26b209ca4bdb, outHI: 0x0
+swl :: offset: 0x380, out: 0xd32be47900000000, outHI: 0x0
+swl :: offset: 0x381, out: 0xd32be47900000000, outHI: 0x0
+swl :: offset: 0x382, out: 0xd32be47900000000, outHI: 0x0
+swl :: offset: 0x383, out: 0xd32be47900000000, outHI: 0x0
+swl :: offset: 0x384, out: 0xd32be479fd5d7d1d, outHI: 0x0
+swl :: offset: 0x385, out: 0xd32be479fd5d7d1d, outHI: 0x0
+swl :: offset: 0x386, out: 0xd32be479fd5d7d1d, outHI: 0x0
+swl :: offset: 0x387, out: 0xd32be479fd5d7d1d, outHI: 0x0
+swl :: offset: 0x388, out: 0x9962e61f00000000, outHI: 0x0
+swl :: offset: 0x389, out: 0x9962e61f00000000, outHI: 0x0
+swl :: offset: 0x38a, out: 0x9962e61f00000000, outHI: 0x0
+swl :: offset: 0x38b, out: 0x9962e61f00000000, outHI: 0x0
+swl :: offset: 0x38c, out: 0x9962e61f3f46553e, outHI: 0x0
+swl :: offset: 0x38d, out: 0x9962e61f3f46553e, outHI: 0x0
+swl :: offset: 0x38e, out: 0x9962e61f3f46553e, outHI: 0x0
+swl :: offset: 0x38f, out: 0x9962e61f3f46553e, outHI: 0x0
+swl :: offset: 0x390, out: 0xcad374df00000000, outHI: 0x0
+swl :: offset: 0x391, out: 0xcad374df00000000, outHI: 0x0
+swl :: offset: 0x392, out: 0xcad374df00000000, outHI: 0x0
+swl :: offset: 0x393, out: 0xcad374df00000000, outHI: 0x0
+swl :: offset: 0x394, out: 0xcad374df2e9ab97d, outHI: 0x0
+swl :: offset: 0x395, out: 0xcad374df2e9ab97d, outHI: 0x0
+swl :: offset: 0x396, out: 0xcad374df2e9ab97d, outHI: 0x0
+swl :: offset: 0x397, out: 0xcad374df2e9ab97d, outHI: 0x0
+swl :: offset: 0x398, out: 0x3eedf2a700000000, outHI: 0x0
+swl :: offset: 0x399, out: 0x3eedf2a700000000, outHI: 0x0
+swl :: offset: 0x39a, out: 0x3eedf2a700000000, outHI: 0x0
+swl :: offset: 0x39b, out: 0x3eedf2a700000000, outHI: 0x0
+swl :: offset: 0x39c, out: 0x3eedf2a736a6f7fa, outHI: 0x0
+swl :: offset: 0x39d, out: 0x3eedf2a736a6f7fa, outHI: 0x0
+swl :: offset: 0x39e, out: 0x3eedf2a736a6f7fa, outHI: 0x0
+swl :: offset: 0x39f, out: 0x3eedf2a736a6f7fa, outHI: 0x0
+swl :: offset: 0x3a0, out: 0x3c0c9f3300000000, outHI: 0x0
+swl :: offset: 0x3a1, out: 0x3c0c9f3300000000, outHI: 0x0
+swl :: offset: 0x3a2, out: 0x3c0c9f3300000000, outHI: 0x0
+swl :: offset: 0x3a3, out: 0x3c0c9f3300000000, outHI: 0x0
+swl :: offset: 0x3a4, out: 0x3c0c9f338bb938e3, outHI: 0x0
+swl :: offset: 0x3a5, out: 0x3c0c9f338bb938e3, outHI: 0x0
+swl :: offset: 0x3a6, out: 0x3c0c9f338bb938e3, outHI: 0x0
+swl :: offset: 0x3a7, out: 0x3c0c9f338bb938e3, outHI: 0x0
+swl :: offset: 0x3a8, out: 0x155ec9dc00000000, outHI: 0x0
+swl :: offset: 0x3a9, out: 0x155ec9dc00000000, outHI: 0x0
+swl :: offset: 0x3aa, out: 0x155ec9dc00000000, outHI: 0x0
+swl :: offset: 0x3ab, out: 0x155ec9dc00000000, outHI: 0x0
+swl :: offset: 0x3ac, out: 0x155ec9dcd2df25c4, outHI: 0x0
+swl :: offset: 0x3ad, out: 0x155ec9dcd2df25c4, outHI: 0x0
+swl :: offset: 0x3ae, out: 0x155ec9dcd2df25c4, outHI: 0x0
+swl :: offset: 0x3af, out: 0x155ec9dcd2df25c4, outHI: 0x0
+swl :: offset: 0x3b0, out: 0x1947820600000000, outHI: 0x0
+swl :: offset: 0x3b1, out: 0x1947820600000000, outHI: 0x0
+swl :: offset: 0x3b2, out: 0x1947820600000000, outHI: 0x0
+swl :: offset: 0x3b3, out: 0x1947820600000000, outHI: 0x0
+swl :: offset: 0x3b4, out: 0x19478206bc65bf27, outHI: 0x0
+swl :: offset: 0x3b5, out: 0x19478206bc65bf27, outHI: 0x0
+swl :: offset: 0x3b6, out: 0x19478206bc65bf27, outHI: 0x0
+swl :: offset: 0x3b7, out: 0x19478206bc65bf27, outHI: 0x0
+swl :: offset: 0x3b8, out: 0xeb32182500000000, outHI: 0x0
+swl :: offset: 0x3b9, out: 0xeb32182500000000, outHI: 0x0
+swl :: offset: 0x3ba, out: 0xeb32182500000000, outHI: 0x0
+swl :: offset: 0x3bb, out: 0xeb32182500000000, outHI: 0x0
+swl :: offset: 0x3bc, out: 0xeb321825a8b08fe6, outHI: 0x0
+swl :: offset: 0x3bd, out: 0xeb321825a8b08fe6, outHI: 0x0
+swl :: offset: 0x3be, out: 0xeb321825a8b08fe6, outHI: 0x0
+swl :: offset: 0x3bf, out: 0xeb321825a8b08fe6, outHI: 0x0
+swl :: offset: 0x3c0, out: 0x7a8bc7da00000000, outHI: 0x0
+swl :: offset: 0x3c1, out: 0x7a8bc7da00000000, outHI: 0x0
+swl :: offset: 0x3c2, out: 0x7a8bc7da00000000, outHI: 0x0
+swl :: offset: 0x3c3, out: 0x7a8bc7da00000000, outHI: 0x0
+swl :: offset: 0x3c4, out: 0x7a8bc7da852b5bca, outHI: 0x0
+swl :: offset: 0x3c5, out: 0x7a8bc7da852b5bca, outHI: 0x0
+swl :: offset: 0x3c6, out: 0x7a8bc7da852b5bca, outHI: 0x0
+swl :: offset: 0x3c7, out: 0x7a8bc7da852b5bca, outHI: 0x0
+swl :: offset: 0x3c8, out: 0xf8dfcde800000000, outHI: 0x0
+swl :: offset: 0x3c9, out: 0xf8dfcde800000000, outHI: 0x0
+swl :: offset: 0x3ca, out: 0xf8dfcde800000000, outHI: 0x0
+swl :: offset: 0x3cb, out: 0xf8dfcde800000000, outHI: 0x0
+swl :: offset: 0x3cc, out: 0xf8dfcde80478909b, outHI: 0x0
+swl :: offset: 0x3cd, out: 0xf8dfcde80478909b, outHI: 0x0
+swl :: offset: 0x3ce, out: 0xf8dfcde80478909b, outHI: 0x0
+swl :: offset: 0x3cf, out: 0xf8dfcde80478909b, outHI: 0x0
+swl :: offset: 0x3d0, out: 0x59a9926900000000, outHI: 0x0
+swl :: offset: 0x3d1, out: 0x59a9926900000000, outHI: 0x0
+swl :: offset: 0x3d2, out: 0x59a9926900000000, outHI: 0x0
+swl :: offset: 0x3d3, out: 0x59a9926900000000, outHI: 0x0
+swl :: offset: 0x3d4, out: 0x59a99269bfb31cc8, outHI: 0x0
+swl :: offset: 0x3d5, out: 0x59a99269bfb31cc8, outHI: 0x0
+swl :: offset: 0x3d6, out: 0x59a99269bfb31cc8, outHI: 0x0
+swl :: offset: 0x3d7, out: 0x59a99269bfb31cc8, outHI: 0x0
+swl :: offset: 0x3d8, out: 0x7857360f00000000, outHI: 0x0
+swl :: offset: 0x3d9, out: 0x7857360f00000000, outHI: 0x0
+swl :: offset: 0x3da, out: 0x7857360f00000000, outHI: 0x0
+swl :: offset: 0x3db, out: 0x7857360f00000000, outHI: 0x0
+swl :: offset: 0x3dc, out: 0x7857360fb665ed5e, outHI: 0x0
+swl :: offset: 0x3dd, out: 0x7857360fb665ed5e, outHI: 0x0
+swl :: offset: 0x3de, out: 0x7857360fb665ed5e, outHI: 0x0
+swl :: offset: 0x3df, out: 0x7857360fb665ed5e, outHI: 0x0
+swl :: offset: 0x3e0, out: 0x7f89e9a200000000, outHI: 0x0
+swl :: offset: 0x3e1, out: 0x7f89e9a200000000, outHI: 0x0
+swl :: offset: 0x3e2, out: 0x7f89e9a200000000, outHI: 0x0
+swl :: offset: 0x3e3, out: 0x7f89e9a200000000, outHI: 0x0
+swl :: offset: 0x3e4, out: 0x7f89e9a215da9474, outHI: 0x0
+swl :: offset: 0x3e5, out: 0x7f89e9a215da9474, outHI: 0x0
+swl :: offset: 0x3e6, out: 0x7f89e9a215da9474, outHI: 0x0
+swl :: offset: 0x3e7, out: 0x7f89e9a215da9474, outHI: 0x0
+swl :: offset: 0x3e8, out: 0xb7a8d5e400000000, outHI: 0x0
+swl :: offset: 0x3e9, out: 0xb7a8d5e400000000, outHI: 0x0
+swl :: offset: 0x3ea, out: 0xb7a8d5e400000000, outHI: 0x0
+swl :: offset: 0x3eb, out: 0xb7a8d5e400000000, outHI: 0x0
+swl :: offset: 0x3ec, out: 0xb7a8d5e4f6b3537d, outHI: 0x0
+swl :: offset: 0x3ed, out: 0xb7a8d5e4f6b3537d, outHI: 0x0
+swl :: offset: 0x3ee, out: 0xb7a8d5e4f6b3537d, outHI: 0x0
+swl :: offset: 0x3ef, out: 0xb7a8d5e4f6b3537d, outHI: 0x0
+swl :: offset: 0x3f0, out: 0x2af90fcc00000000, outHI: 0x0
+swl :: offset: 0x3f1, out: 0x2af90fcc00000000, outHI: 0x0
+swl :: offset: 0x3f2, out: 0x2af90fcc00000000, outHI: 0x0
+swl :: offset: 0x3f3, out: 0x2af90fcc00000000, outHI: 0x0
+swl :: offset: 0x3f4, out: 0x2af90fcc223d7cfe, outHI: 0x0
+swl :: offset: 0x3f5, out: 0x2af90fcc223d7cfe, outHI: 0x0
+swl :: offset: 0x3f6, out: 0x2af90fcc223d7cfe, outHI: 0x0
+swl :: offset: 0x3f7, out: 0x2af90fcc223d7cfe, outHI: 0x0
+swl :: offset: 0x3f8, out: 0x2b96189700000000, outHI: 0x0
+swl :: offset: 0x3f9, out: 0x2b96189700000000, outHI: 0x0
+swl :: offset: 0x3fa, out: 0x2b96189700000000, outHI: 0x0
+swl :: offset: 0x3fb, out: 0x2b96189700000000, outHI: 0x0
+swl :: offset: 0x3fc, out: 0x2b961897420b34f5, outHI: 0x0
+swl :: offset: 0x3fd, out: 0x2b961897420b34f5, outHI: 0x0
+swl :: offset: 0x3fe, out: 0x2b961897420b34f5, outHI: 0x0
+swl :: offset: 0x3ff, out: 0x2b961897420b34f5, outHI: 0x0
+swl :: offset: 0x400, out: 0x33734a4b00000000, outHI: 0x0
+swl :: offset: 0x401, out: 0x33734a4b00000000, outHI: 0x0
+swl :: offset: 0x402, out: 0x33734a4b00000000, outHI: 0x0
+swl :: offset: 0x403, out: 0x33734a4b00000000, outHI: 0x0
+swl :: offset: 0x404, out: 0x33734a4b897c8c8d, outHI: 0x0
+swl :: offset: 0x405, out: 0x33734a4b897c8c8d, outHI: 0x0
+swl :: offset: 0x406, out: 0x33734a4b897c8c8d, outHI: 0x0
+swl :: offset: 0x407, out: 0x33734a4b897c8c8d, outHI: 0x0
+swl :: offset: 0x408, out: 0xdd46b33c00000000, outHI: 0x0
+swl :: offset: 0x409, out: 0xdd46b33c00000000, outHI: 0x0
+swl :: offset: 0x40a, out: 0xdd46b33c00000000, outHI: 0x0
+swl :: offset: 0x40b, out: 0xdd46b33c00000000, outHI: 0x0
+swl :: offset: 0x40c, out: 0xdd46b33c7a387445, outHI: 0x0
+swl :: offset: 0x40d, out: 0xdd46b33c7a387445, outHI: 0x0
+swl :: offset: 0x40e, out: 0xdd46b33c7a387445, outHI: 0x0
+swl :: offset: 0x40f, out: 0xdd46b33c7a387445, outHI: 0x0
+swl :: offset: 0x410, out: 0xe392ccd900000000, outHI: 0x0
+swl :: offset: 0x411, out: 0xe392ccd900000000, outHI: 0x0
+swl :: offset: 0x412, out: 0xe392ccd900000000, outHI: 0x0
+swl :: offset: 0x413, out: 0xe392ccd900000000, outHI: 0x0
+swl :: offset: 0x414, out: 0xe392ccd9512f29b1, outHI: 0x0
+swl :: offset: 0x415, out: 0xe392ccd9512f29b1, outHI: 0x0
+swl :: offset: 0x416, out: 0xe392ccd9512f29b1, outHI: 0x0
+swl :: offset: 0x417, out: 0xe392ccd9512f29b1, outHI: 0x0
+swl :: offset: 0x418, out: 0xd80000c900000000, outHI: 0x0
+swl :: offset: 0x419, out: 0xd80000c900000000, outHI: 0x0
+swl :: offset: 0x41a, out: 0xd80000c900000000, outHI: 0x0
+swl :: offset: 0x41b, out: 0xd80000c900000000, outHI: 0x0
+swl :: offset: 0x41c, out: 0xd80000c9eaded5c5, outHI: 0x0
+swl :: offset: 0x41d, out: 0xd80000c9eaded5c5, outHI: 0x0
+swl :: offset: 0x41e, out: 0xd80000c9eaded5c5, outHI: 0x0
+swl :: offset: 0x41f, out: 0xd80000c9eaded5c5, outHI: 0x0
+swl :: offset: 0x420, out: 0x3dad020a00000000, outHI: 0x0
+swl :: offset: 0x421, out: 0x3dad020a00000000, outHI: 0x0
+swl :: offset: 0x422, out: 0x3dad020a00000000, outHI: 0x0
+swl :: offset: 0x423, out: 0x3dad020a00000000, outHI: 0x0
+swl :: offset: 0x424, out: 0x3dad020a8a6229d7, outHI: 0x0
+swl :: offset: 0x425, out: 0x3dad020a8a6229d7, outHI: 0x0
+swl :: offset: 0x426, out: 0x3dad020a8a6229d7, outHI: 0x0
+swl :: offset: 0x427, out: 0x3dad020a8a6229d7, outHI: 0x0
+swl :: offset: 0x428, out: 0x31eea35b00000000, outHI: 0x0
+swl :: offset: 0x429, out: 0x31eea35b00000000, outHI: 0x0
+swl :: offset: 0x42a, out: 0x31eea35b00000000, outHI: 0x0
+swl :: offset: 0x42b, out: 0x31eea35b00000000, outHI: 0x0
+swl :: offset: 0x42c, out: 0x31eea35b2c3c3f9e, outHI: 0x0
+swl :: offset: 0x42d, out: 0x31eea35b2c3c3f9e, outHI: 0x0
+swl :: offset: 0x42e, out: 0x31eea35b2c3c3f9e, outHI: 0x0
+swl :: offset: 0x42f, out: 0x31eea35b2c3c3f9e, outHI: 0x0
+swl :: offset: 0x430, out: 0x4898564900000000, outHI: 0x0
+swl :: offset: 0x431, out: 0x4898564900000000, outHI: 0x0
+swl :: offset: 0x432, out: 0x4898564900000000, outHI: 0x0
+swl :: offset: 0x433, out: 0x4898564900000000, outHI: 0x0
+swl :: offset: 0x434, out: 0x489856497ff61e78, outHI: 0x0
+swl :: offset: 0x435, out: 0x489856497ff61e78, outHI: 0x0
+swl :: offset: 0x436, out: 0x489856497ff61e78, outHI: 0x0
+swl :: offset: 0x437, out: 0x489856497ff61e78, outHI: 0x0
+swl :: offset: 0x438, out: 0xdc9c0b7700000000, outHI: 0x0
+swl :: offset: 0x439, out: 0xdc9c0b7700000000, outHI: 0x0
+swl :: offset: 0x43a, out: 0xdc9c0b7700000000, outHI: 0x0
+swl :: offset: 0x43b, out: 0xdc9c0b7700000000, outHI: 0x0
+swl :: offset: 0x43c, out: 0xdc9c0b772299b0e0, outHI: 0x0
+swl :: offset: 0x43d, out: 0xdc9c0b772299b0e0, outHI: 0x0
+swl :: offset: 0x43e, out: 0xdc9c0b772299b0e0, outHI: 0x0
+swl :: offset: 0x43f, out: 0xdc9c0b772299b0e0, outHI: 0x0
+swl :: offset: 0x440, out: 0x1d5e68ec00000000, outHI: 0x0
+swl :: offset: 0x441, out: 0x1d5e68ec00000000, outHI: 0x0
+swl :: offset: 0x442, out: 0x1d5e68ec00000000, outHI: 0x0
+swl :: offset: 0x443, out: 0x1d5e68ec00000000, outHI: 0x0
+swl :: offset: 0x444, out: 0x1d5e68ec7c3b0467, outHI: 0x0
+swl :: offset: 0x445, out: 0x1d5e68ec7c3b0467, outHI: 0x0
+swl :: offset: 0x446, out: 0x1d5e68ec7c3b0467, outHI: 0x0
+swl :: offset: 0x447, out: 0x1d5e68ec7c3b0467, outHI: 0x0
+swl :: offset: 0x448, out: 0x3d0c6e2500000000, outHI: 0x0
+swl :: offset: 0x449, out: 0x3d0c6e2500000000, outHI: 0x0
+swl :: offset: 0x44a, out: 0x3d0c6e2500000000, outHI: 0x0
+swl :: offset: 0x44b, out: 0x3d0c6e2500000000, outHI: 0x0
+swl :: offset: 0x44c, out: 0x3d0c6e25164e17c1, outHI: 0x0
+swl :: offset: 0x44d, out: 0x3d0c6e25164e17c1, outHI: 0x0
+swl :: offset: 0x44e, out: 0x3d0c6e25164e17c1, outHI: 0x0
+swl :: offset: 0x44f, out: 0x3d0c6e25164e17c1, outHI: 0x0
+swl :: offset: 0x450, out: 0xe7fb658700000000, outHI: 0x0
+swl :: offset: 0x451, out: 0xe7fb658700000000, outHI: 0x0
+swl :: offset: 0x452, out: 0xe7fb658700000000, outHI: 0x0
+swl :: offset: 0x453, out: 0xe7fb658700000000, outHI: 0x0
+swl :: offset: 0x454, out: 0xe7fb6587fa4ca28b, outHI: 0x0
+swl :: offset: 0x455, out: 0xe7fb6587fa4ca28b, outHI: 0x0
+swl :: offset: 0x456, out: 0xe7fb6587fa4ca28b, outHI: 0x0
+swl :: offset: 0x457, out: 0xe7fb6587fa4ca28b, outHI: 0x0
+swl :: offset: 0x458, out: 0x56d4950b00000000, outHI: 0x0
+swl :: offset: 0x459, out: 0x56d4950b00000000, outHI: 0x0
+swl :: offset: 0x45a, out: 0x56d4950b00000000, outHI: 0x0
+swl :: offset: 0x45b, out: 0x56d4950b00000000, outHI: 0x0
+swl :: offset: 0x45c, out: 0x56d4950be5e9a314, outHI: 0x0
+swl :: offset: 0x45d, out: 0x56d4950be5e9a314, outHI: 0x0
+swl :: offset: 0x45e, out: 0x56d4950be5e9a314, outHI: 0x0
+swl :: offset: 0x45f, out: 0x56d4950be5e9a314, outHI: 0x0
+swl :: offset: 0x460, out: 0xbe7fa08a00000000, outHI: 0x0
+swl :: offset: 0x461, out: 0xbe7fa08a00000000, outHI: 0x0
+swl :: offset: 0x462, out: 0xbe7fa08a00000000, outHI: 0x0
+swl :: offset: 0x463, out: 0xbe7fa08a00000000, outHI: 0x0
+swl :: offset: 0x464, out: 0xbe7fa08af8be8164, outHI: 0x0
+swl :: offset: 0x465, out: 0xbe7fa08af8be8164, outHI: 0x0
+swl :: offset: 0x466, out: 0xbe7fa08af8be8164, outHI: 0x0
+swl :: offset: 0x467, out: 0xbe7fa08af8be8164, outHI: 0x0
+swl :: offset: 0x468, out: 0x159649c500000000, outHI: 0x0
+swl :: offset: 0x469, out: 0x159649c500000000, outHI: 0x0
+swl :: offset: 0x46a, out: 0x159649c500000000, outHI: 0x0
+swl :: offset: 0x46b, out: 0x159649c500000000, outHI: 0x0
+swl :: offset: 0x46c, out: 0x159649c57ca32597, outHI: 0x0
+swl :: offset: 0x46d, out: 0x159649c57ca32597, outHI: 0x0
+swl :: offset: 0x46e, out: 0x159649c57ca32597, outHI: 0x0
+swl :: offset: 0x46f, out: 0x159649c57ca32597, outHI: 0x0
+swl :: offset: 0x470, out: 0x84e69b1700000000, outHI: 0x0
+swl :: offset: 0x471, out: 0x84e69b1700000000, outHI: 0x0
+swl :: offset: 0x472, out: 0x84e69b1700000000, outHI: 0x0
+swl :: offset: 0x473, out: 0x84e69b1700000000, outHI: 0x0
+swl :: offset: 0x474, out: 0x84e69b17fc8d543c, outHI: 0x0
+swl :: offset: 0x475, out: 0x84e69b17fc8d543c, outHI: 0x0
+swl :: offset: 0x476, out: 0x84e69b17fc8d543c, outHI: 0x0
+swl :: offset: 0x477, out: 0x84e69b17fc8d543c, outHI: 0x0
+swl :: offset: 0x478, out: 0xa1f24f5c00000000, outHI: 0x0
+swl :: offset: 0x479, out: 0xa1f24f5c00000000, outHI: 0x0
+swl :: offset: 0x47a, out: 0xa1f24f5c00000000, outHI: 0x0
+swl :: offset: 0x47b, out: 0xa1f24f5c00000000, outHI: 0x0
+swl :: offset: 0x47c, out: 0xa1f24f5c4aeb6ca0, outHI: 0x0
+swl :: offset: 0x47d, out: 0xa1f24f5c4aeb6ca0, outHI: 0x0
+swl :: offset: 0x47e, out: 0xa1f24f5c4aeb6ca0, outHI: 0x0
+swl :: offset: 0x47f, out: 0xa1f24f5c4aeb6ca0, outHI: 0x0
+swl :: offset: 0x480, out: 0xe3459e3600000000, outHI: 0x0
+swl :: offset: 0x481, out: 0xe3459e3600000000, outHI: 0x0
+swl :: offset: 0x482, out: 0xe3459e3600000000, outHI: 0x0
+swl :: offset: 0x483, out: 0xe3459e3600000000, outHI: 0x0
+swl :: offset: 0x484, out: 0xe3459e36c532e18e, outHI: 0x0
+swl :: offset: 0x485, out: 0xe3459e36c532e18e, outHI: 0x0
+swl :: offset: 0x486, out: 0xe3459e36c532e18e, outHI: 0x0
+swl :: offset: 0x487, out: 0xe3459e36c532e18e, outHI: 0x0
+swl :: offset: 0x488, out: 0x187980fa00000000, outHI: 0x0
+swl :: offset: 0x489, out: 0x187980fa00000000, outHI: 0x0
+swl :: offset: 0x48a, out: 0x187980fa00000000, outHI: 0x0
+swl :: offset: 0x48b, out: 0x187980fa00000000, outHI: 0x0
+swl :: offset: 0x48c, out: 0x187980fab3fdec29, outHI: 0x0
+swl :: offset: 0x48d, out: 0x187980fab3fdec29, outHI: 0x0
+swl :: offset: 0x48e, out: 0x187980fab3fdec29, outHI: 0x0
+swl :: offset: 0x48f, out: 0x187980fab3fdec29, outHI: 0x0
+swl :: offset: 0x490, out: 0x4f287d1c00000000, outHI: 0x0
+swl :: offset: 0x491, out: 0x4f287d1c00000000, outHI: 0x0
+swl :: offset: 0x492, out: 0x4f287d1c00000000, outHI: 0x0
+swl :: offset: 0x493, out: 0x4f287d1c00000000, outHI: 0x0
+swl :: offset: 0x494, out: 0x4f287d1cb620660a, outHI: 0x0
+swl :: offset: 0x495, out: 0x4f287d1cb620660a, outHI: 0x0
+swl :: offset: 0x496, out: 0x4f287d1cb620660a, outHI: 0x0
+swl :: offset: 0x497, out: 0x4f287d1cb620660a, outHI: 0x0
+swl :: offset: 0x498, out: 0x49732b9000000000, outHI: 0x0
+swl :: offset: 0x499, out: 0x49732b9000000000, outHI: 0x0
+swl :: offset: 0x49a, out: 0x49732b9000000000, outHI: 0x0
+swl :: offset: 0x49b, out: 0x49732b9000000000, outHI: 0x0
+swl :: offset: 0x49c, out: 0x49732b90993138f1, outHI: 0x0
+swl :: offset: 0x49d, out: 0x49732b90993138f1, outHI: 0x0
+swl :: offset: 0x49e, out: 0x49732b90993138f1, outHI: 0x0
+swl :: offset: 0x49f, out: 0x49732b90993138f1, outHI: 0x0
+swl :: offset: 0x4a0, out: 0x6cfde99100000000, outHI: 0x0
+swl :: offset: 0x4a1, out: 0x6cfde99100000000, outHI: 0x0
+swl :: offset: 0x4a2, out: 0x6cfde99100000000, outHI: 0x0
+swl :: offset: 0x4a3, out: 0x6cfde99100000000, outHI: 0x0
+swl :: offset: 0x4a4, out: 0x6cfde991de02d133, outHI: 0x0
+swl :: offset: 0x4a5, out: 0x6cfde991de02d133, outHI: 0x0
+swl :: offset: 0x4a6, out: 0x6cfde991de02d133, outHI: 0x0
+swl :: offset: 0x4a7, out: 0x6cfde991de02d133, outHI: 0x0
+swl :: offset: 0x4a8, out: 0x7d5407b900000000, outHI: 0x0
+swl :: offset: 0x4a9, out: 0x7d5407b900000000, outHI: 0x0
+swl :: offset: 0x4aa, out: 0x7d5407b900000000, outHI: 0x0
+swl :: offset: 0x4ab, out: 0x7d5407b900000000, outHI: 0x0
+swl :: offset: 0x4ac, out: 0x7d5407b913a390e1, outHI: 0x0
+swl :: offset: 0x4ad, out: 0x7d5407b913a390e1, outHI: 0x0
+swl :: offset: 0x4ae, out: 0x7d5407b913a390e1, outHI: 0x0
+swl :: offset: 0x4af, out: 0x7d5407b913a390e1, outHI: 0x0
+swl :: offset: 0x4b0, out: 0xe1dab15a00000000, outHI: 0x0
+swl :: offset: 0x4b1, out: 0xe1dab15a00000000, outHI: 0x0
+swl :: offset: 0x4b2, out: 0xe1dab15a00000000, outHI: 0x0
+swl :: offset: 0x4b3, out: 0xe1dab15a00000000, outHI: 0x0
+swl :: offset: 0x4b4, out: 0xe1dab15a743491a6, outHI: 0x0
+swl :: offset: 0x4b5, out: 0xe1dab15a743491a6, outHI: 0x0
+swl :: offset: 0x4b6, out: 0xe1dab15a743491a6, outHI: 0x0
+swl :: offset: 0x4b7, out: 0xe1dab15a743491a6, outHI: 0x0
+swl :: offset: 0x4b8, out: 0x828716c800000000, outHI: 0x0
+swl :: offset: 0x4b9, out: 0x828716c800000000, outHI: 0x0
+swl :: offset: 0x4ba, out: 0x828716c800000000, outHI: 0x0
+swl :: offset: 0x4bb, out: 0x828716c800000000, outHI: 0x0
+swl :: offset: 0x4bc, out: 0x828716c88cff404a, outHI: 0x0
+swl :: offset: 0x4bd, out: 0x828716c88cff404a, outHI: 0x0
+swl :: offset: 0x4be, out: 0x828716c88cff404a, outHI: 0x0
+swl :: offset: 0x4bf, out: 0x828716c88cff404a, outHI: 0x0
+swl :: offset: 0x4c0, out: 0xede292f200000000, outHI: 0x0
+swl :: offset: 0x4c1, out: 0xede292f200000000, outHI: 0x0
+swl :: offset: 0x4c2, out: 0xede292f200000000, outHI: 0x0
+swl :: offset: 0x4c3, out: 0xede292f200000000, outHI: 0x0
+swl :: offset: 0x4c4, out: 0xede292f2b9cec0db, outHI: 0x0
+swl :: offset: 0x4c5, out: 0xede292f2b9cec0db, outHI: 0x0
+swl :: offset: 0x4c6, out: 0xede292f2b9cec0db, outHI: 0x0
+swl :: offset: 0x4c7, out: 0xede292f2b9cec0db, outHI: 0x0
+swl :: offset: 0x4c8, out: 0x1f83763600000000, outHI: 0x0
+swl :: offset: 0x4c9, out: 0x1f83763600000000, outHI: 0x0
+swl :: offset: 0x4ca, out: 0x1f83763600000000, outHI: 0x0
+swl :: offset: 0x4cb, out: 0x1f83763600000000, outHI: 0x0
+swl :: offset: 0x4cc, out: 0x1f8376362eaa5aa7, outHI: 0x0
+swl :: offset: 0x4cd, out: 0x1f8376362eaa5aa7, outHI: 0x0
+swl :: offset: 0x4ce, out: 0x1f8376362eaa5aa7, outHI: 0x0
+swl :: offset: 0x4cf, out: 0x1f8376362eaa5aa7, outHI: 0x0
+swl :: offset: 0x4d0, out: 0x509771c00000000, outHI: 0x0
+swl :: offset: 0x4d1, out: 0x509771c00000000, outHI: 0x0
+swl :: offset: 0x4d2, out: 0x509771c00000000, outHI: 0x0
+swl :: offset: 0x4d3, out: 0x509771c00000000, outHI: 0x0
+swl :: offset: 0x4d4, out: 0x509771cd327538e, outHI: 0x0
+swl :: offset: 0x4d5, out: 0x509771cd327538e, outHI: 0x0
+swl :: offset: 0x4d6, out: 0x509771cd327538e, outHI: 0x0
+swl :: offset: 0x4d7, out: 0x509771cd327538e, outHI: 0x0
+swl :: offset: 0x4d8, out: 0x1875241b00000000, outHI: 0x0
+swl :: offset: 0x4d9, out: 0x1875241b00000000, outHI: 0x0
+swl :: offset: 0x4da, out: 0x1875241b00000000, outHI: 0x0
+swl :: offset: 0x4db, out: 0x1875241b00000000, outHI: 0x0
+swl :: offset: 0x4dc, out: 0x1875241b42e9f854, outHI: 0x0
+swl :: offset: 0x4dd, out: 0x1875241b42e9f854, outHI: 0x0
+swl :: offset: 0x4de, out: 0x1875241b42e9f854, outHI: 0x0
+swl :: offset: 0x4df, out: 0x1875241b42e9f854, outHI: 0x0
+swl :: offset: 0x4e0, out: 0x8b739b6b00000000, outHI: 0x0
+swl :: offset: 0x4e1, out: 0x8b739b6b00000000, outHI: 0x0
+swl :: offset: 0x4e2, out: 0x8b739b6b00000000, outHI: 0x0
+swl :: offset: 0x4e3, out: 0x8b739b6b00000000, outHI: 0x0
+swl :: offset: 0x4e4, out: 0x8b739b6b78e4e50c, outHI: 0x0
+swl :: offset: 0x4e5, out: 0x8b739b6b78e4e50c, outHI: 0x0
+swl :: offset: 0x4e6, out: 0x8b739b6b78e4e50c, outHI: 0x0
+swl :: offset: 0x4e7, out: 0x8b739b6b78e4e50c, outHI: 0x0
+swl :: offset: 0x4e8, out: 0xeccbba1a00000000, outHI: 0x0
+swl :: offset: 0x4e9, out: 0xeccbba1a00000000, outHI: 0x0
+swl :: offset: 0x4ea, out: 0xeccbba1a00000000, outHI: 0x0
+swl :: offset: 0x4eb, out: 0xeccbba1a00000000, outHI: 0x0
+swl :: offset: 0x4ec, out: 0xeccbba1af6b6fa3f, outHI: 0x0
+swl :: offset: 0x4ed, out: 0xeccbba1af6b6fa3f, outHI: 0x0
+swl :: offset: 0x4ee, out: 0xeccbba1af6b6fa3f, outHI: 0x0
+swl :: offset: 0x4ef, out: 0xeccbba1af6b6fa3f, outHI: 0x0
+swl :: offset: 0x4f0, out: 0xcd9d27cb00000000, outHI: 0x0
+swl :: offset: 0x4f1, out: 0xcd9d27cb00000000, outHI: 0x0
+swl :: offset: 0x4f2, out: 0xcd9d27cb00000000, outHI: 0x0
+swl :: offset: 0x4f3, out: 0xcd9d27cb00000000, outHI: 0x0
+swl :: offset: 0x4f4, out: 0xcd9d27cb73916483, outHI: 0x0
+swl :: offset: 0x4f5, out: 0xcd9d27cb73916483, outHI: 0x0
+swl :: offset: 0x4f6, out: 0xcd9d27cb73916483, outHI: 0x0
+swl :: offset: 0x4f7, out: 0xcd9d27cb73916483, outHI: 0x0
+swl :: offset: 0x4f8, out: 0xae3e942300000000, outHI: 0x0
+swl :: offset: 0x4f9, out: 0xae3e942300000000, outHI: 0x0
+swl :: offset: 0x4fa, out: 0xae3e942300000000, outHI: 0x0
+swl :: offset: 0x4fb, out: 0xae3e942300000000, outHI: 0x0
+swl :: offset: 0x4fc, out: 0xae3e9423276af70a, outHI: 0x0
+swl :: offset: 0x4fd, out: 0xae3e9423276af70a, outHI: 0x0
+swl :: offset: 0x4fe, out: 0xae3e9423276af70a, outHI: 0x0
+swl :: offset: 0x4ff, out: 0xae3e9423276af70a, outHI: 0x0
+swl :: offset: 0x500, out: 0xe12856100000000, outHI: 0x0
+swl :: offset: 0x501, out: 0xe12856100000000, outHI: 0x0
+swl :: offset: 0x502, out: 0xe12856100000000, outHI: 0x0
+swl :: offset: 0x503, out: 0xe12856100000000, outHI: 0x0
+swl :: offset: 0x504, out: 0xe12856103045bf6, outHI: 0x0
+swl :: offset: 0x505, out: 0xe12856103045bf6, outHI: 0x0
+swl :: offset: 0x506, out: 0xe12856103045bf6, outHI: 0x0
+swl :: offset: 0x507, out: 0xe12856103045bf6, outHI: 0x0
+swl :: offset: 0x508, out: 0xb5e74b6e00000000, outHI: 0x0
+swl :: offset: 0x509, out: 0xb5e74b6e00000000, outHI: 0x0
+swl :: offset: 0x50a, out: 0xb5e74b6e00000000, outHI: 0x0
+swl :: offset: 0x50b, out: 0xb5e74b6e00000000, outHI: 0x0
+swl :: offset: 0x50c, out: 0xb5e74b6e20223f13, outHI: 0x0
+swl :: offset: 0x50d, out: 0xb5e74b6e20223f13, outHI: 0x0
+swl :: offset: 0x50e, out: 0xb5e74b6e20223f13, outHI: 0x0
+swl :: offset: 0x50f, out: 0xb5e74b6e20223f13, outHI: 0x0
+swl :: offset: 0x510, out: 0x8accfa600000000, outHI: 0x0
+swl :: offset: 0x511, out: 0x8accfa600000000, outHI: 0x0
+swl :: offset: 0x512, out: 0x8accfa600000000, outHI: 0x0
+swl :: offset: 0x513, out: 0x8accfa600000000, outHI: 0x0
+swl :: offset: 0x514, out: 0x8accfa6f83c5574, outHI: 0x0
+swl :: offset: 0x515, out: 0x8accfa6f83c5574, outHI: 0x0
+swl :: offset: 0x516, out: 0x8accfa6f83c5574, outHI: 0x0
+swl :: offset: 0x517, out: 0x8accfa6f83c5574, outHI: 0x0
+swl :: offset: 0x518, out: 0x3976b5f500000000, outHI: 0x0
+swl :: offset: 0x519, out: 0x3976b5f500000000, outHI: 0x0
+swl :: offset: 0x51a, out: 0x3976b5f500000000, outHI: 0x0
+swl :: offset: 0x51b, out: 0x3976b5f500000000, outHI: 0x0
+swl :: offset: 0x51c, out: 0x3976b5f51f9720f9, outHI: 0x0
+swl :: offset: 0x51d, out: 0x3976b5f51f9720f9, outHI: 0x0
+swl :: offset: 0x51e, out: 0x3976b5f51f9720f9, outHI: 0x0
+swl :: offset: 0x51f, out: 0x3976b5f51f9720f9, outHI: 0x0
+swl :: offset: 0x520, out: 0x46923c3d00000000, outHI: 0x0
+swl :: offset: 0x521, out: 0x46923c3d00000000, outHI: 0x0
+swl :: offset: 0x522, out: 0x46923c3d00000000, outHI: 0x0
+swl :: offset: 0x523, out: 0x46923c3d00000000, outHI: 0x0
+swl :: offset: 0x524, out: 0x46923c3d620d2850, outHI: 0x0
+swl :: offset: 0x525, out: 0x46923c3d620d2850, outHI: 0x0
+swl :: offset: 0x526, out: 0x46923c3d620d2850, outHI: 0x0
+swl :: offset: 0x527, out: 0x46923c3d620d2850, outHI: 0x0
+swl :: offset: 0x528, out: 0x6d2448dd00000000, outHI: 0x0
+swl :: offset: 0x529, out: 0x6d2448dd00000000, outHI: 0x0
+swl :: offset: 0x52a, out: 0x6d2448dd00000000, outHI: 0x0
+swl :: offset: 0x52b, out: 0x6d2448dd00000000, outHI: 0x0
+swl :: offset: 0x52c, out: 0x6d2448dd60a521e9, outHI: 0x0
+swl :: offset: 0x52d, out: 0x6d2448dd60a521e9, outHI: 0x0
+swl :: offset: 0x52e, out: 0x6d2448dd60a521e9, outHI: 0x0
+swl :: offset: 0x52f, out: 0x6d2448dd60a521e9, outHI: 0x0
+swl :: offset: 0x530, out: 0x9ff4a73200000000, outHI: 0x0
+swl :: offset: 0x531, out: 0x9ff4a73200000000, outHI: 0x0
+swl :: offset: 0x532, out: 0x9ff4a73200000000, outHI: 0x0
+swl :: offset: 0x533, out: 0x9ff4a73200000000, outHI: 0x0
+swl :: offset: 0x534, out: 0x9ff4a7325a08f3ab, outHI: 0x0
+swl :: offset: 0x535, out: 0x9ff4a7325a08f3ab, outHI: 0x0
+swl :: offset: 0x536, out: 0x9ff4a7325a08f3ab, outHI: 0x0
+swl :: offset: 0x537, out: 0x9ff4a7325a08f3ab, outHI: 0x0
+swl :: offset: 0x538, out: 0x5c680f0b00000000, outHI: 0x0
+swl :: offset: 0x539, out: 0x5c680f0b00000000, outHI: 0x0
+swl :: offset: 0x53a, out: 0x5c680f0b00000000, outHI: 0x0
+swl :: offset: 0x53b, out: 0x5c680f0b00000000, outHI: 0x0
+swl :: offset: 0x53c, out: 0x5c680f0bc7a59be7, outHI: 0x0
+swl :: offset: 0x53d, out: 0x5c680f0bc7a59be7, outHI: 0x0
+swl :: offset: 0x53e, out: 0x5c680f0bc7a59be7, outHI: 0x0
+swl :: offset: 0x53f, out: 0x5c680f0bc7a59be7, outHI: 0x0
+swl :: offset: 0x540, out: 0x800f3d2600000000, outHI: 0x0
+swl :: offset: 0x541, out: 0x800f3d2600000000, outHI: 0x0
+swl :: offset: 0x542, out: 0x800f3d2600000000, outHI: 0x0
+swl :: offset: 0x543, out: 0x800f3d2600000000, outHI: 0x0
+swl :: offset: 0x544, out: 0x800f3d261aecdf29, outHI: 0x0
+swl :: offset: 0x545, out: 0x800f3d261aecdf29, outHI: 0x0
+swl :: offset: 0x546, out: 0x800f3d261aecdf29, outHI: 0x0
+swl :: offset: 0x547, out: 0x800f3d261aecdf29, outHI: 0x0
+swl :: offset: 0x548, out: 0x82ca1b4100000000, outHI: 0x0
+swl :: offset: 0x549, out: 0x82ca1b4100000000, outHI: 0x0
+swl :: offset: 0x54a, out: 0x82ca1b4100000000, outHI: 0x0
+swl :: offset: 0x54b, out: 0x82ca1b4100000000, outHI: 0x0
+swl :: offset: 0x54c, out: 0x82ca1b412b8613a2, outHI: 0x0
+swl :: offset: 0x54d, out: 0x82ca1b412b8613a2, outHI: 0x0
+swl :: offset: 0x54e, out: 0x82ca1b412b8613a2, outHI: 0x0
+swl :: offset: 0x54f, out: 0x82ca1b412b8613a2, outHI: 0x0
+swl :: offset: 0x550, out: 0x60d19dcd00000000, outHI: 0x0
+swl :: offset: 0x551, out: 0x60d19dcd00000000, outHI: 0x0
+swl :: offset: 0x552, out: 0x60d19dcd00000000, outHI: 0x0
+swl :: offset: 0x553, out: 0x60d19dcd00000000, outHI: 0x0
+swl :: offset: 0x554, out: 0x60d19dcd2518ac8b, outHI: 0x0
+swl :: offset: 0x555, out: 0x60d19dcd2518ac8b, outHI: 0x0
+swl :: offset: 0x556, out: 0x60d19dcd2518ac8b, outHI: 0x0
+swl :: offset: 0x557, out: 0x60d19dcd2518ac8b, outHI: 0x0
+swl :: offset: 0x558, out: 0xe8bbe7f00000000, outHI: 0x0
+swl :: offset: 0x559, out: 0xe8bbe7f00000000, outHI: 0x0
+swl :: offset: 0x55a, out: 0xe8bbe7f00000000, outHI: 0x0
+swl :: offset: 0x55b, out: 0xe8bbe7f00000000, outHI: 0x0
+swl :: offset: 0x55c, out: 0xe8bbe7f743e568d, outHI: 0x0
+swl :: offset: 0x55d, out: 0xe8bbe7f743e568d, outHI: 0x0
+swl :: offset: 0x55e, out: 0xe8bbe7f743e568d, outHI: 0x0
+swl :: offset: 0x55f, out: 0xe8bbe7f743e568d, outHI: 0x0
+swl :: offset: 0x560, out: 0x2fcf486b00000000, outHI: 0x0
+swl :: offset: 0x561, out: 0x2fcf486b00000000, outHI: 0x0
+swl :: offset: 0x562, out: 0x2fcf486b00000000, outHI: 0x0
+swl :: offset: 0x563, out: 0x2fcf486b00000000, outHI: 0x0
+swl :: offset: 0x564, out: 0x2fcf486b126f646f, outHI: 0x0
+swl :: offset: 0x565, out: 0x2fcf486b126f646f, outHI: 0x0
+swl :: offset: 0x566, out: 0x2fcf486b126f646f, outHI: 0x0
+swl :: offset: 0x567, out: 0x2fcf486b126f646f, outHI: 0x0
+swl :: offset: 0x568, out: 0x34c3172800000000, outHI: 0x0
+swl :: offset: 0x569, out: 0x34c3172800000000, outHI: 0x0
+swl :: offset: 0x56a, out: 0x34c3172800000000, outHI: 0x0
+swl :: offset: 0x56b, out: 0x34c3172800000000, outHI: 0x0
+swl :: offset: 0x56c, out: 0x34c31728aab01961, outHI: 0x0
+swl :: offset: 0x56d, out: 0x34c31728aab01961, outHI: 0x0
+swl :: offset: 0x56e, out: 0x34c31728aab01961, outHI: 0x0
+swl :: offset: 0x56f, out: 0x34c31728aab01961, outHI: 0x0
+swl :: offset: 0x570, out: 0x56fc4d1200000000, outHI: 0x0
+swl :: offset: 0x571, out: 0x56fc4d1200000000, outHI: 0x0
+swl :: offset: 0x572, out: 0x56fc4d1200000000, outHI: 0x0
+swl :: offset: 0x573, out: 0x56fc4d1200000000, outHI: 0x0
+swl :: offset: 0x574, out: 0x56fc4d127535cd33, outHI: 0x0
+swl :: offset: 0x575, out: 0x56fc4d127535cd33, outHI: 0x0
+swl :: offset: 0x576, out: 0x56fc4d127535cd33, outHI: 0x0
+swl :: offset: 0x577, out: 0x56fc4d127535cd33, outHI: 0x0
+swl :: offset: 0x578, out: 0x8595d34200000000, outHI: 0x0
+swl :: offset: 0x579, out: 0x8595d34200000000, outHI: 0x0
+swl :: offset: 0x57a, out: 0x8595d34200000000, outHI: 0x0
+swl :: offset: 0x57b, out: 0x8595d34200000000, outHI: 0x0
+swl :: offset: 0x57c, out: 0x8595d342dfb254da, outHI: 0x0
+swl :: offset: 0x57d, out: 0x8595d342dfb254da, outHI: 0x0
+swl :: offset: 0x57e, out: 0x8595d342dfb254da, outHI: 0x0
+swl :: offset: 0x57f, out: 0x8595d342dfb254da, outHI: 0x0
+swl :: offset: 0x580, out: 0x422346ec00000000, outHI: 0x0
+swl :: offset: 0x581, out: 0x422346ec00000000, outHI: 0x0
+swl :: offset: 0x582, out: 0x422346ec00000000, outHI: 0x0
+swl :: offset: 0x583, out: 0x422346ec00000000, outHI: 0x0
+swl :: offset: 0x584, out: 0x422346eca86726c9, outHI: 0x0
+swl :: offset: 0x585, out: 0x422346eca86726c9, outHI: 0x0
+swl :: offset: 0x586, out: 0x422346eca86726c9, outHI: 0x0
+swl :: offset: 0x587, out: 0x422346eca86726c9, outHI: 0x0
+swl :: offset: 0x588, out: 0x81ab2a00000000, outHI: 0x0
+swl :: offset: 0x589, out: 0x81ab2a00000000, outHI: 0x0
+swl :: offset: 0x58a, out: 0x81ab2a00000000, outHI: 0x0
+swl :: offset: 0x58b, out: 0x81ab2a00000000, outHI: 0x0
+swl :: offset: 0x58c, out: 0x81ab2a9bfeffa1, outHI: 0x0
+swl :: offset: 0x58d, out: 0x81ab2a9bfeffa1, outHI: 0x0
+swl :: offset: 0x58e, out: 0x81ab2a9bfeffa1, outHI: 0x0
+swl :: offset: 0x58f, out: 0x81ab2a9bfeffa1, outHI: 0x0
+swl :: offset: 0x590, out: 0x679d743800000000, outHI: 0x0
+swl :: offset: 0x591, out: 0x679d743800000000, outHI: 0x0
+swl :: offset: 0x592, out: 0x679d743800000000, outHI: 0x0
+swl :: offset: 0x593, out: 0x679d743800000000, outHI: 0x0
+swl :: offset: 0x594, out: 0x679d7438c7699826, outHI: 0x0
+swl :: offset: 0x595, out: 0x679d7438c7699826, outHI: 0x0
+swl :: offset: 0x596, out: 0x679d7438c7699826, outHI: 0x0
+swl :: offset: 0x597, out: 0x679d7438c7699826, outHI: 0x0
+swl :: offset: 0x598, out: 0xb7dee24400000000, outHI: 0x0
+swl :: offset: 0x599, out: 0xb7dee24400000000, outHI: 0x0
+swl :: offset: 0x59a, out: 0xb7dee24400000000, outHI: 0x0
+swl :: offset: 0x59b, out: 0xb7dee24400000000, outHI: 0x0
+swl :: offset: 0x59c, out: 0xb7dee2443c07af97, outHI: 0x0
+swl :: offset: 0x59d, out: 0xb7dee2443c07af97, outHI: 0x0
+swl :: offset: 0x59e, out: 0xb7dee2443c07af97, outHI: 0x0
+swl :: offset: 0x59f, out: 0xb7dee2443c07af97, outHI: 0x0
+swl :: offset: 0x5a0, out: 0xfba6704a00000000, outHI: 0x0
+swl :: offset: 0x5a1, out: 0xfba6704a00000000, outHI: 0x0
+swl :: offset: 0x5a2, out: 0xfba6704a00000000, outHI: 0x0
+swl :: offset: 0x5a3, out: 0xfba6704a00000000, outHI: 0x0
+swl :: offset: 0x5a4, out: 0xfba6704a521364dc, outHI: 0x0
+swl :: offset: 0x5a5, out: 0xfba6704a521364dc, outHI: 0x0
+swl :: offset: 0x5a6, out: 0xfba6704a521364dc, outHI: 0x0
+swl :: offset: 0x5a7, out: 0xfba6704a521364dc, outHI: 0x0
+swl :: offset: 0x5a8, out: 0x4c58bfe00000000, outHI: 0x0
+swl :: offset: 0x5a9, out: 0x4c58bfe00000000, outHI: 0x0
+swl :: offset: 0x5aa, out: 0x4c58bfe00000000, outHI: 0x0
+swl :: offset: 0x5ab, out: 0x4c58bfe00000000, outHI: 0x0
+swl :: offset: 0x5ac, out: 0x4c58bfee0f7bb58, outHI: 0x0
+swl :: offset: 0x5ad, out: 0x4c58bfee0f7bb58, outHI: 0x0
+swl :: offset: 0x5ae, out: 0x4c58bfee0f7bb58, outHI: 0x0
+swl :: offset: 0x5af, out: 0x4c58bfee0f7bb58, outHI: 0x0
+swl :: offset: 0x5b0, out: 0x9ab7aebc00000000, outHI: 0x0
+swl :: offset: 0x5b1, out: 0x9ab7aebc00000000, outHI: 0x0
+swl :: offset: 0x5b2, out: 0x9ab7aebc00000000, outHI: 0x0
+swl :: offset: 0x5b3, out: 0x9ab7aebc00000000, outHI: 0x0
+swl :: offset: 0x5b4, out: 0x9ab7aebce336c60c, outHI: 0x0
+swl :: offset: 0x5b5, out: 0x9ab7aebce336c60c, outHI: 0x0
+swl :: offset: 0x5b6, out: 0x9ab7aebce336c60c, outHI: 0x0
+swl :: offset: 0x5b7, out: 0x9ab7aebce336c60c, outHI: 0x0
+swl :: offset: 0x5b8, out: 0xdeeb954d00000000, outHI: 0x0
+swl :: offset: 0x5b9, out: 0xdeeb954d00000000, outHI: 0x0
+swl :: offset: 0x5ba, out: 0xdeeb954d00000000, outHI: 0x0
+swl :: offset: 0x5bb, out: 0xdeeb954d00000000, outHI: 0x0
+swl :: offset: 0x5bc, out: 0xdeeb954dd5b2120c, outHI: 0x0
+swl :: offset: 0x5bd, out: 0xdeeb954dd5b2120c, outHI: 0x0
+swl :: offset: 0x5be, out: 0xdeeb954dd5b2120c, outHI: 0x0
+swl :: offset: 0x5bf, out: 0xdeeb954dd5b2120c, outHI: 0x0
+swl :: offset: 0x5c0, out: 0x6f52416e00000000, outHI: 0x0
+swl :: offset: 0x5c1, out: 0x6f52416e00000000, outHI: 0x0
+swl :: offset: 0x5c2, out: 0x6f52416e00000000, outHI: 0x0
+swl :: offset: 0x5c3, out: 0x6f52416e00000000, outHI: 0x0
+swl :: offset: 0x5c4, out: 0x6f52416e85a2d4ff, outHI: 0x0
+swl :: offset: 0x5c5, out: 0x6f52416e85a2d4ff, outHI: 0x0
+swl :: offset: 0x5c6, out: 0x6f52416e85a2d4ff, outHI: 0x0
+swl :: offset: 0x5c7, out: 0x6f52416e85a2d4ff, outHI: 0x0
+swl :: offset: 0x5c8, out: 0x7e628a3400000000, outHI: 0x0
+swl :: offset: 0x5c9, out: 0x7e628a3400000000, outHI: 0x0
+swl :: offset: 0x5ca, out: 0x7e628a3400000000, outHI: 0x0
+swl :: offset: 0x5cb, out: 0x7e628a3400000000, outHI: 0x0
+swl :: offset: 0x5cc, out: 0x7e628a34986a2b65, outHI: 0x0
+swl :: offset: 0x5cd, out: 0x7e628a34986a2b65, outHI: 0x0
+swl :: offset: 0x5ce, out: 0x7e628a34986a2b65, outHI: 0x0
+swl :: offset: 0x5cf, out: 0x7e628a34986a2b65, outHI: 0x0
+swl :: offset: 0x5d0, out: 0x4a4e7e0700000000, outHI: 0x0
+swl :: offset: 0x5d1, out: 0x4a4e7e0700000000, outHI: 0x0
+swl :: offset: 0x5d2, out: 0x4a4e7e0700000000, outHI: 0x0
+swl :: offset: 0x5d3, out: 0x4a4e7e0700000000, outHI: 0x0
+swl :: offset: 0x5d4, out: 0x4a4e7e07a974eac4, outHI: 0x0
+swl :: offset: 0x5d5, out: 0x4a4e7e07a974eac4, outHI: 0x0
+swl :: offset: 0x5d6, out: 0x4a4e7e07a974eac4, outHI: 0x0
+swl :: offset: 0x5d7, out: 0x4a4e7e07a974eac4, outHI: 0x0
+swl :: offset: 0x5d8, out: 0x3a489b5500000000, outHI: 0x0
+swl :: offset: 0x5d9, out: 0x3a489b5500000000, outHI: 0x0
+swl :: offset: 0x5da, out: 0x3a489b5500000000, outHI: 0x0
+swl :: offset: 0x5db, out: 0x3a489b5500000000, outHI: 0x0
+swl :: offset: 0x5dc, out: 0x3a489b55a388c162, outHI: 0x0
+swl :: offset: 0x5dd, out: 0x3a489b55a388c162, outHI: 0x0
+swl :: offset: 0x5de, out: 0x3a489b55a388c162, outHI: 0x0
+swl :: offset: 0x5df, out: 0x3a489b55a388c162, outHI: 0x0
+swl :: offset: 0x5e0, out: 0x72f1f8f500000000, outHI: 0x0
+swl :: offset: 0x5e1, out: 0x72f1f8f500000000, outHI: 0x0
+swl :: offset: 0x5e2, out: 0x72f1f8f500000000, outHI: 0x0
+swl :: offset: 0x5e3, out: 0x72f1f8f500000000, outHI: 0x0
+swl :: offset: 0x5e4, out: 0x72f1f8f5e8c11f45, outHI: 0x0
+swl :: offset: 0x5e5, out: 0x72f1f8f5e8c11f45, outHI: 0x0
+swl :: offset: 0x5e6, out: 0x72f1f8f5e8c11f45, outHI: 0x0
+swl :: offset: 0x5e7, out: 0x72f1f8f5e8c11f45, outHI: 0x0
+swl :: offset: 0x5e8, out: 0xe7495ea900000000, outHI: 0x0
+swl :: offset: 0x5e9, out: 0xe7495ea900000000, outHI: 0x0
+swl :: offset: 0x5ea, out: 0xe7495ea900000000, outHI: 0x0
+swl :: offset: 0x5eb, out: 0xe7495ea900000000, outHI: 0x0
+swl :: offset: 0x5ec, out: 0xe7495ea9adaa5a76, outHI: 0x0
+swl :: offset: 0x5ed, out: 0xe7495ea9adaa5a76, outHI: 0x0
+swl :: offset: 0x5ee, out: 0xe7495ea9adaa5a76, outHI: 0x0
+swl :: offset: 0x5ef, out: 0xe7495ea9adaa5a76, outHI: 0x0
+swl :: offset: 0x5f0, out: 0x5cc1c8b400000000, outHI: 0x0
+swl :: offset: 0x5f1, out: 0x5cc1c8b400000000, outHI: 0x0
+swl :: offset: 0x5f2, out: 0x5cc1c8b400000000, outHI: 0x0
+swl :: offset: 0x5f3, out: 0x5cc1c8b400000000, outHI: 0x0
+swl :: offset: 0x5f4, out: 0x5cc1c8b47ab4ce88, outHI: 0x0
+swl :: offset: 0x5f5, out: 0x5cc1c8b47ab4ce88, outHI: 0x0
+swl :: offset: 0x5f6, out: 0x5cc1c8b47ab4ce88, outHI: 0x0
+swl :: offset: 0x5f7, out: 0x5cc1c8b47ab4ce88, outHI: 0x0
+swl :: offset: 0x5f8, out: 0xdfa605c000000000, outHI: 0x0
+swl :: offset: 0x5f9, out: 0xdfa605c000000000, outHI: 0x0
+swl :: offset: 0x5fa, out: 0xdfa605c000000000, outHI: 0x0
+swl :: offset: 0x5fb, out: 0xdfa605c000000000, outHI: 0x0
+swl :: offset: 0x5fc, out: 0xdfa605c0b42ad6e6, outHI: 0x0
+swl :: offset: 0x5fd, out: 0xdfa605c0b42ad6e6, outHI: 0x0
+swl :: offset: 0x5fe, out: 0xdfa605c0b42ad6e6, outHI: 0x0
+swl :: offset: 0x5ff, out: 0xdfa605c0b42ad6e6, outHI: 0x0
+swl :: offset: 0x600, out: 0x59a7b04f00000000, outHI: 0x0
+swl :: offset: 0x601, out: 0x59a7b04f00000000, outHI: 0x0
+swl :: offset: 0x602, out: 0x59a7b04f00000000, outHI: 0x0
+swl :: offset: 0x603, out: 0x59a7b04f00000000, outHI: 0x0
+swl :: offset: 0x604, out: 0x59a7b04f4bf8485a, outHI: 0x0
+swl :: offset: 0x605, out: 0x59a7b04f4bf8485a, outHI: 0x0
+swl :: offset: 0x606, out: 0x59a7b04f4bf8485a, outHI: 0x0
+swl :: offset: 0x607, out: 0x59a7b04f4bf8485a, outHI: 0x0
+swl :: offset: 0x608, out: 0xb728922f00000000, outHI: 0x0
+swl :: offset: 0x609, out: 0xb728922f00000000, outHI: 0x0
+swl :: offset: 0x60a, out: 0xb728922f00000000, outHI: 0x0
+swl :: offset: 0x60b, out: 0xb728922f00000000, outHI: 0x0
+swl :: offset: 0x60c, out: 0xb728922f76a3d60c, outHI: 0x0
+swl :: offset: 0x60d, out: 0xb728922f76a3d60c, outHI: 0x0
+swl :: offset: 0x60e, out: 0xb728922f76a3d60c, outHI: 0x0
+swl :: offset: 0x60f, out: 0xb728922f76a3d60c, outHI: 0x0
+swl :: offset: 0x610, out: 0x3b66a7fb00000000, outHI: 0x0
+swl :: offset: 0x611, out: 0x3b66a7fb00000000, outHI: 0x0
+swl :: offset: 0x612, out: 0x3b66a7fb00000000, outHI: 0x0
+swl :: offset: 0x613, out: 0x3b66a7fb00000000, outHI: 0x0
+swl :: offset: 0x614, out: 0x3b66a7fb31e0c6af, outHI: 0x0
+swl :: offset: 0x615, out: 0x3b66a7fb31e0c6af, outHI: 0x0
+swl :: offset: 0x616, out: 0x3b66a7fb31e0c6af, outHI: 0x0
+swl :: offset: 0x617, out: 0x3b66a7fb31e0c6af, outHI: 0x0
+swl :: offset: 0x618, out: 0xfdc28eda00000000, outHI: 0x0
+swl :: offset: 0x619, out: 0xfdc28eda00000000, outHI: 0x0
+swl :: offset: 0x61a, out: 0xfdc28eda00000000, outHI: 0x0
+swl :: offset: 0x61b, out: 0xfdc28eda00000000, outHI: 0x0
+swl :: offset: 0x61c, out: 0xfdc28eda53606bb4, outHI: 0x0
+swl :: offset: 0x61d, out: 0xfdc28eda53606bb4, outHI: 0x0
+swl :: offset: 0x61e, out: 0xfdc28eda53606bb4, outHI: 0x0
+swl :: offset: 0x61f, out: 0xfdc28eda53606bb4, outHI: 0x0
+swl :: offset: 0x620, out: 0xbf0c999d00000000, outHI: 0x0
+swl :: offset: 0x621, out: 0xbf0c999d00000000, outHI: 0x0
+swl :: offset: 0x622, out: 0xbf0c999d00000000, outHI: 0x0
+swl :: offset: 0x623, out: 0xbf0c999d00000000, outHI: 0x0
+swl :: offset: 0x624, out: 0xbf0c999d32fc12c8, outHI: 0x0
+swl :: offset: 0x625, out: 0xbf0c999d32fc12c8, outHI: 0x0
+swl :: offset: 0x626, out: 0xbf0c999d32fc12c8, outHI: 0x0
+swl :: offset: 0x627, out: 0xbf0c999d32fc12c8, outHI: 0x0
+swl :: offset: 0x628, out: 0x1b7919f000000000, outHI: 0x0
+swl :: offset: 0x629, out: 0x1b7919f000000000, outHI: 0x0
+swl :: offset: 0x62a, out: 0x1b7919f000000000, outHI: 0x0
+swl :: offset: 0x62b, out: 0x1b7919f000000000, outHI: 0x0
+swl :: offset: 0x62c, out: 0x1b7919f03ef88384, outHI: 0x0
+swl :: offset: 0x62d, out: 0x1b7919f03ef88384, outHI: 0x0
+swl :: offset: 0x62e, out: 0x1b7919f03ef88384, outHI: 0x0
+swl :: offset: 0x62f, out: 0x1b7919f03ef88384, outHI: 0x0
+swl :: offset: 0x630, out: 0xc72efcd600000000, outHI: 0x0
+swl :: offset: 0x631, out: 0xc72efcd600000000, outHI: 0x0
+swl :: offset: 0x632, out: 0xc72efcd600000000, outHI: 0x0
+swl :: offset: 0x633, out: 0xc72efcd600000000, outHI: 0x0
+swl :: offset: 0x634, out: 0xc72efcd638b1c7bb, outHI: 0x0
+swl :: offset: 0x635, out: 0xc72efcd638b1c7bb, outHI: 0x0
+swl :: offset: 0x636, out: 0xc72efcd638b1c7bb, outHI: 0x0
+swl :: offset: 0x637, out: 0xc72efcd638b1c7bb, outHI: 0x0
+swl :: offset: 0x638, out: 0x6a2a358000000000, outHI: 0x0
+swl :: offset: 0x639, out: 0x6a2a358000000000, outHI: 0x0
+swl :: offset: 0x63a, out: 0x6a2a358000000000, outHI: 0x0
+swl :: offset: 0x63b, out: 0x6a2a358000000000, outHI: 0x0
+swl :: offset: 0x63c, out: 0x6a2a358015ebf612, outHI: 0x0
+swl :: offset: 0x63d, out: 0x6a2a358015ebf612, outHI: 0x0
+swl :: offset: 0x63e, out: 0x6a2a358015ebf612, outHI: 0x0
+swl :: offset: 0x63f, out: 0x6a2a358015ebf612, outHI: 0x0
+swl :: offset: 0x640, out: 0x1dca77c900000000, outHI: 0x0
+swl :: offset: 0x641, out: 0x1dca77c900000000, outHI: 0x0
+swl :: offset: 0x642, out: 0x1dca77c900000000, outHI: 0x0
+swl :: offset: 0x643, out: 0x1dca77c900000000, outHI: 0x0
+swl :: offset: 0x644, out: 0x1dca77c95eaacdd9, outHI: 0x0
+swl :: offset: 0x645, out: 0x1dca77c95eaacdd9, outHI: 0x0
+swl :: offset: 0x646, out: 0x1dca77c95eaacdd9, outHI: 0x0
+swl :: offset: 0x647, out: 0x1dca77c95eaacdd9, outHI: 0x0
+swl :: offset: 0x648, out: 0xfd9147ae00000000, outHI: 0x0
+swl :: offset: 0x649, out: 0xfd9147ae00000000, outHI: 0x0
+swl :: offset: 0x64a, out: 0xfd9147ae00000000, outHI: 0x0
+swl :: offset: 0x64b, out: 0xfd9147ae00000000, outHI: 0x0
+swl :: offset: 0x64c, out: 0xfd9147aebb8470f9, outHI: 0x0
+swl :: offset: 0x64d, out: 0xfd9147aebb8470f9, outHI: 0x0
+swl :: offset: 0x64e, out: 0xfd9147aebb8470f9, outHI: 0x0
+swl :: offset: 0x64f, out: 0xfd9147aebb8470f9, outHI: 0x0
+swl :: offset: 0x650, out: 0x81e9111700000000, outHI: 0x0
+swl :: offset: 0x651, out: 0x81e9111700000000, outHI: 0x0
+swl :: offset: 0x652, out: 0x81e9111700000000, outHI: 0x0
+swl :: offset: 0x653, out: 0x81e9111700000000, outHI: 0x0
+swl :: offset: 0x654, out: 0x81e9111705d42aea, outHI: 0x0
+swl :: offset: 0x655, out: 0x81e9111705d42aea, outHI: 0x0
+swl :: offset: 0x656, out: 0x81e9111705d42aea, outHI: 0x0
+swl :: offset: 0x657, out: 0x81e9111705d42aea, outHI: 0x0
+swl :: offset: 0x658, out: 0xc6a532e000000000, outHI: 0x0
+swl :: offset: 0x659, out: 0xc6a532e000000000, outHI: 0x0
+swl :: offset: 0x65a, out: 0xc6a532e000000000, outHI: 0x0
+swl :: offset: 0x65b, out: 0xc6a532e000000000, outHI: 0x0
+swl :: offset: 0x65c, out: 0xc6a532e014abf364, outHI: 0x0
+swl :: offset: 0x65d, out: 0xc6a532e014abf364, outHI: 0x0
+swl :: offset: 0x65e, out: 0xc6a532e014abf364, outHI: 0x0
+swl :: offset: 0x65f, out: 0xc6a532e014abf364, outHI: 0x0
+swl :: offset: 0x660, out: 0x19fb9e6300000000, outHI: 0x0
+swl :: offset: 0x661, out: 0x19fb9e6300000000, outHI: 0x0
+swl :: offset: 0x662, out: 0x19fb9e6300000000, outHI: 0x0
+swl :: offset: 0x663, out: 0x19fb9e6300000000, outHI: 0x0
+swl :: offset: 0x664, out: 0x19fb9e63249d559a, outHI: 0x0
+swl :: offset: 0x665, out: 0x19fb9e63249d559a, outHI: 0x0
+swl :: offset: 0x666, out: 0x19fb9e63249d559a, outHI: 0x0
+swl :: offset: 0x667, out: 0x19fb9e63249d559a, outHI: 0x0
+swl :: offset: 0x668, out: 0xa8d72aac00000000, outHI: 0x0
+swl :: offset: 0x669, out: 0xa8d72aac00000000, outHI: 0x0
+swl :: offset: 0x66a, out: 0xa8d72aac00000000, outHI: 0x0
+swl :: offset: 0x66b, out: 0xa8d72aac00000000, outHI: 0x0
+swl :: offset: 0x66c, out: 0xa8d72aac0cd6764f, outHI: 0x0
+swl :: offset: 0x66d, out: 0xa8d72aac0cd6764f, outHI: 0x0
+swl :: offset: 0x66e, out: 0xa8d72aac0cd6764f, outHI: 0x0
+swl :: offset: 0x66f, out: 0xa8d72aac0cd6764f, outHI: 0x0
+swl :: offset: 0x670, out: 0x84b30ec00000000, outHI: 0x0
+swl :: offset: 0x671, out: 0x84b30ec00000000, outHI: 0x0
+swl :: offset: 0x672, out: 0x84b30ec00000000, outHI: 0x0
+swl :: offset: 0x673, out: 0x84b30ec00000000, outHI: 0x0
+swl :: offset: 0x674, out: 0x84b30ec7f03ac07, outHI: 0x0
+swl :: offset: 0x675, out: 0x84b30ec7f03ac07, outHI: 0x0
+swl :: offset: 0x676, out: 0x84b30ec7f03ac07, outHI: 0x0
+swl :: offset: 0x677, out: 0x84b30ec7f03ac07, outHI: 0x0
+swl :: offset: 0x678, out: 0x92468fdf00000000, outHI: 0x0
+swl :: offset: 0x679, out: 0x92468fdf00000000, outHI: 0x0
+swl :: offset: 0x67a, out: 0x92468fdf00000000, outHI: 0x0
+swl :: offset: 0x67b, out: 0x92468fdf00000000, outHI: 0x0
+swl :: offset: 0x67c, out: 0x92468fdf7e35ce6d, outHI: 0x0
+swl :: offset: 0x67d, out: 0x92468fdf7e35ce6d, outHI: 0x0
+swl :: offset: 0x67e, out: 0x92468fdf7e35ce6d, outHI: 0x0
+swl :: offset: 0x67f, out: 0x92468fdf7e35ce6d, outHI: 0x0
+swl :: offset: 0x680, out: 0x56e670f500000000, outHI: 0x0
+swl :: offset: 0x681, out: 0x56e670f500000000, outHI: 0x0
+swl :: offset: 0x682, out: 0x56e670f500000000, outHI: 0x0
+swl :: offset: 0x683, out: 0x56e670f500000000, outHI: 0x0
+swl :: offset: 0x684, out: 0x56e670f515282859, outHI: 0x0
+swl :: offset: 0x685, out: 0x56e670f515282859, outHI: 0x0
+swl :: offset: 0x686, out: 0x56e670f515282859, outHI: 0x0
+swl :: offset: 0x687, out: 0x56e670f515282859, outHI: 0x0
+swl :: offset: 0x688, out: 0x1a65271100000000, outHI: 0x0
+swl :: offset: 0x689, out: 0x1a65271100000000, outHI: 0x0
+swl :: offset: 0x68a, out: 0x1a65271100000000, outHI: 0x0
+swl :: offset: 0x68b, out: 0x1a65271100000000, outHI: 0x0
+swl :: offset: 0x68c, out: 0x1a6527119e1c3283, outHI: 0x0
+swl :: offset: 0x68d, out: 0x1a6527119e1c3283, outHI: 0x0
+swl :: offset: 0x68e, out: 0x1a6527119e1c3283, outHI: 0x0
+swl :: offset: 0x68f, out: 0x1a6527119e1c3283, outHI: 0x0
+swl :: offset: 0x690, out: 0xd215a9fb00000000, outHI: 0x0
+swl :: offset: 0x691, out: 0xd215a9fb00000000, outHI: 0x0
+swl :: offset: 0x692, out: 0xd215a9fb00000000, outHI: 0x0
+swl :: offset: 0x693, out: 0xd215a9fb00000000, outHI: 0x0
+swl :: offset: 0x694, out: 0xd215a9fb8d95c049, outHI: 0x0
+swl :: offset: 0x695, out: 0xd215a9fb8d95c049, outHI: 0x0
+swl :: offset: 0x696, out: 0xd215a9fb8d95c049, outHI: 0x0
+swl :: offset: 0x697, out: 0xd215a9fb8d95c049, outHI: 0x0
+swl :: offset: 0x698, out: 0x282a041700000000, outHI: 0x0
+swl :: offset: 0x699, out: 0x282a041700000000, outHI: 0x0
+swl :: offset: 0x69a, out: 0x282a041700000000, outHI: 0x0
+swl :: offset: 0x69b, out: 0x282a041700000000, outHI: 0x0
+swl :: offset: 0x69c, out: 0x282a0417f2e7a490, outHI: 0x0
+swl :: offset: 0x69d, out: 0x282a0417f2e7a490, outHI: 0x0
+swl :: offset: 0x69e, out: 0x282a0417f2e7a490, outHI: 0x0
+swl :: offset: 0x69f, out: 0x282a0417f2e7a490, outHI: 0x0
+swl :: offset: 0x6a0, out: 0x978058f300000000, outHI: 0x0
+swl :: offset: 0x6a1, out: 0x978058f300000000, outHI: 0x0
+swl :: offset: 0x6a2, out: 0x978058f300000000, outHI: 0x0
+swl :: offset: 0x6a3, out: 0x978058f300000000, outHI: 0x0
+swl :: offset: 0x6a4, out: 0x978058f3775b4cca, outHI: 0x0
+swl :: offset: 0x6a5, out: 0x978058f3775b4cca, outHI: 0x0
+swl :: offset: 0x6a6, out: 0x978058f3775b4cca, outHI: 0x0
+swl :: offset: 0x6a7, out: 0x978058f3775b4cca, outHI: 0x0
+swl :: offset: 0x6a8, out: 0x975b1aa00000000, outHI: 0x0
+swl :: offset: 0x6a9, out: 0x975b1aa00000000, outHI: 0x0
+swl :: offset: 0x6aa, out: 0x975b1aa00000000, outHI: 0x0
+swl :: offset: 0x6ab, out: 0x975b1aa00000000, outHI: 0x0
+swl :: offset: 0x6ac, out: 0x975b1aa0a2b84a6, outHI: 0x0
+swl :: offset: 0x6ad, out: 0x975b1aa0a2b84a6, outHI: 0x0
+swl :: offset: 0x6ae, out: 0x975b1aa0a2b84a6, outHI: 0x0
+swl :: offset: 0x6af, out: 0x975b1aa0a2b84a6, outHI: 0x0
+swl :: offset: 0x6b0, out: 0x3511102000000000, outHI: 0x0
+swl :: offset: 0x6b1, out: 0x3511102000000000, outHI: 0x0
+swl :: offset: 0x6b2, out: 0x3511102000000000, outHI: 0x0
+swl :: offset: 0x6b3, out: 0x3511102000000000, outHI: 0x0
+swl :: offset: 0x6b4, out: 0x35111020023fa0d3, outHI: 0x0
+swl :: offset: 0x6b5, out: 0x35111020023fa0d3, outHI: 0x0
+swl :: offset: 0x6b6, out: 0x35111020023fa0d3, outHI: 0x0
+swl :: offset: 0x6b7, out: 0x35111020023fa0d3, outHI: 0x0
+swl :: offset: 0x6b8, out: 0xa7d88b6f00000000, outHI: 0x0
+swl :: offset: 0x6b9, out: 0xa7d88b6f00000000, outHI: 0x0
+swl :: offset: 0x6ba, out: 0xa7d88b6f00000000, outHI: 0x0
+swl :: offset: 0x6bb, out: 0xa7d88b6f00000000, outHI: 0x0
+swl :: offset: 0x6bc, out: 0xa7d88b6fa3d991b7, outHI: 0x0
+swl :: offset: 0x6bd, out: 0xa7d88b6fa3d991b7, outHI: 0x0
+swl :: offset: 0x6be, out: 0xa7d88b6fa3d991b7, outHI: 0x0
+swl :: offset: 0x6bf, out: 0xa7d88b6fa3d991b7, outHI: 0x0
+swl :: offset: 0x6c0, out: 0x9941dedd00000000, outHI: 0x0
+swl :: offset: 0x6c1, out: 0x9941dedd00000000, outHI: 0x0
+swl :: offset: 0x6c2, out: 0x9941dedd00000000, outHI: 0x0
+swl :: offset: 0x6c3, out: 0x9941dedd00000000, outHI: 0x0
+swl :: offset: 0x6c4, out: 0x9941dedd751cb483, outHI: 0x0
+swl :: offset: 0x6c5, out: 0x9941dedd751cb483, outHI: 0x0
+swl :: offset: 0x6c6, out: 0x9941dedd751cb483, outHI: 0x0
+swl :: offset: 0x6c7, out: 0x9941dedd751cb483, outHI: 0x0
+swl :: offset: 0x6c8, out: 0x5a0d950800000000, outHI: 0x0
+swl :: offset: 0x6c9, out: 0x5a0d950800000000, outHI: 0x0
+swl :: offset: 0x6ca, out: 0x5a0d950800000000, outHI: 0x0
+swl :: offset: 0x6cb, out: 0x5a0d950800000000, outHI: 0x0
+swl :: offset: 0x6cc, out: 0x5a0d9508949cad35, outHI: 0x0
+swl :: offset: 0x6cd, out: 0x5a0d9508949cad35, outHI: 0x0
+swl :: offset: 0x6ce, out: 0x5a0d9508949cad35, outHI: 0x0
+swl :: offset: 0x6cf, out: 0x5a0d9508949cad35, outHI: 0x0
+swl :: offset: 0x6d0, out: 0x625bb2d300000000, outHI: 0x0
+swl :: offset: 0x6d1, out: 0x625bb2d300000000, outHI: 0x0
+swl :: offset: 0x6d2, out: 0x625bb2d300000000, outHI: 0x0
+swl :: offset: 0x6d3, out: 0x625bb2d300000000, outHI: 0x0
+swl :: offset: 0x6d4, out: 0x625bb2d37f567f35, outHI: 0x0
+swl :: offset: 0x6d5, out: 0x625bb2d37f567f35, outHI: 0x0
+swl :: offset: 0x6d6, out: 0x625bb2d37f567f35, outHI: 0x0
+swl :: offset: 0x6d7, out: 0x625bb2d37f567f35, outHI: 0x0
+swl :: offset: 0x6d8, out: 0xa692973900000000, outHI: 0x0
+swl :: offset: 0x6d9, out: 0xa692973900000000, outHI: 0x0
+swl :: offset: 0x6da, out: 0xa692973900000000, outHI: 0x0
+swl :: offset: 0x6db, out: 0xa692973900000000, outHI: 0x0
+swl :: offset: 0x6dc, out: 0xa6929739185b88e0, outHI: 0x0
+swl :: offset: 0x6dd, out: 0xa6929739185b88e0, outHI: 0x0
+swl :: offset: 0x6de, out: 0xa6929739185b88e0, outHI: 0x0
+swl :: offset: 0x6df, out: 0xa6929739185b88e0, outHI: 0x0
+swl :: offset: 0x6e0, out: 0xdb8d7d2700000000, outHI: 0x0
+swl :: offset: 0x6e1, out: 0xdb8d7d2700000000, outHI: 0x0
+swl :: offset: 0x6e2, out: 0xdb8d7d2700000000, outHI: 0x0
+swl :: offset: 0x6e3, out: 0xdb8d7d2700000000, outHI: 0x0
+swl :: offset: 0x6e4, out: 0xdb8d7d27255a4cd2, outHI: 0x0
+swl :: offset: 0x6e5, out: 0xdb8d7d27255a4cd2, outHI: 0x0
+swl :: offset: 0x6e6, out: 0xdb8d7d27255a4cd2, outHI: 0x0
+swl :: offset: 0x6e7, out: 0xdb8d7d27255a4cd2, outHI: 0x0
+swl :: offset: 0x6e8, out: 0x2fd61b9100000000, outHI: 0x0
+swl :: offset: 0x6e9, out: 0x2fd61b9100000000, outHI: 0x0
+swl :: offset: 0x6ea, out: 0x2fd61b9100000000, outHI: 0x0
+swl :: offset: 0x6eb, out: 0x2fd61b9100000000, outHI: 0x0
+swl :: offset: 0x6ec, out: 0x2fd61b911048d589, outHI: 0x0
+swl :: offset: 0x6ed, out: 0x2fd61b911048d589, outHI: 0x0
+swl :: offset: 0x6ee, out: 0x2fd61b911048d589, outHI: 0x0
+swl :: offset: 0x6ef, out: 0x2fd61b911048d589, outHI: 0x0
+swl :: offset: 0x6f0, out: 0xa4363f7b00000000, outHI: 0x0
+swl :: offset: 0x6f1, out: 0xa4363f7b00000000, outHI: 0x0
+swl :: offset: 0x6f2, out: 0xa4363f7b00000000, outHI: 0x0
+swl :: offset: 0x6f3, out: 0xa4363f7b00000000, outHI: 0x0
+swl :: offset: 0x6f4, out: 0xa4363f7b6a6d5708, outHI: 0x0
+swl :: offset: 0x6f5, out: 0xa4363f7b6a6d5708, outHI: 0x0
+swl :: offset: 0x6f6, out: 0xa4363f7b6a6d5708, outHI: 0x0
+swl :: offset: 0x6f7, out: 0xa4363f7b6a6d5708, outHI: 0x0
+swl :: offset: 0x6f8, out: 0xf460579000000000, outHI: 0x0
+swl :: offset: 0x6f9, out: 0xf460579000000000, outHI: 0x0
+swl :: offset: 0x6fa, out: 0xf460579000000000, outHI: 0x0
+swl :: offset: 0x6fb, out: 0xf460579000000000, outHI: 0x0
+swl :: offset: 0x6fc, out: 0xf4605790d58ecbab, outHI: 0x0
+swl :: offset: 0x6fd, out: 0xf4605790d58ecbab, outHI: 0x0
+swl :: offset: 0x6fe, out: 0xf4605790d58ecbab, outHI: 0x0
+swl :: offset: 0x6ff, out: 0xf4605790d58ecbab, outHI: 0x0
+swl :: offset: 0x700, out: 0xde35697f00000000, outHI: 0x0
+swl :: offset: 0x701, out: 0xde35697f00000000, outHI: 0x0
+swl :: offset: 0x702, out: 0xde35697f00000000, outHI: 0x0
+swl :: offset: 0x703, out: 0xde35697f00000000, outHI: 0x0
+swl :: offset: 0x704, out: 0xde35697f575548fd, outHI: 0x0
+swl :: offset: 0x705, out: 0xde35697f575548fd, outHI: 0x0
+swl :: offset: 0x706, out: 0xde35697f575548fd, outHI: 0x0
+swl :: offset: 0x707, out: 0xde35697f575548fd, outHI: 0x0
+swl :: offset: 0x708, out: 0x8c0a5f100000000, outHI: 0x0
+swl :: offset: 0x709, out: 0x8c0a5f100000000, outHI: 0x0
+swl :: offset: 0x70a, out: 0x8c0a5f100000000, outHI: 0x0
+swl :: offset: 0x70b, out: 0x8c0a5f100000000, outHI: 0x0
+swl :: offset: 0x70c, out: 0x8c0a5f18bb640fb, outHI: 0x0
+swl :: offset: 0x70d, out: 0x8c0a5f18bb640fb, outHI: 0x0
+swl :: offset: 0x70e, out: 0x8c0a5f18bb640fb, outHI: 0x0
+swl :: offset: 0x70f, out: 0x8c0a5f18bb640fb, outHI: 0x0
+swl :: offset: 0x710, out: 0x8ed98ddb00000000, outHI: 0x0
+swl :: offset: 0x711, out: 0x8ed98ddb00000000, outHI: 0x0
+swl :: offset: 0x712, out: 0x8ed98ddb00000000, outHI: 0x0
+swl :: offset: 0x713, out: 0x8ed98ddb00000000, outHI: 0x0
+swl :: offset: 0x714, out: 0x8ed98ddbbe00d51e, outHI: 0x0
+swl :: offset: 0x715, out: 0x8ed98ddbbe00d51e, outHI: 0x0
+swl :: offset: 0x716, out: 0x8ed98ddbbe00d51e, outHI: 0x0
+swl :: offset: 0x717, out: 0x8ed98ddbbe00d51e, outHI: 0x0
+swl :: offset: 0x718, out: 0xabc578cc00000000, outHI: 0x0
+swl :: offset: 0x719, out: 0xabc578cc00000000, outHI: 0x0
+swl :: offset: 0x71a, out: 0xabc578cc00000000, outHI: 0x0
+swl :: offset: 0x71b, out: 0xabc578cc00000000, outHI: 0x0
+swl :: offset: 0x71c, out: 0xabc578cc2f7e224a, outHI: 0x0
+swl :: offset: 0x71d, out: 0xabc578cc2f7e224a, outHI: 0x0
+swl :: offset: 0x71e, out: 0xabc578cc2f7e224a, outHI: 0x0
+swl :: offset: 0x71f, out: 0xabc578cc2f7e224a, outHI: 0x0
+swl :: offset: 0x720, out: 0x1c170ab200000000, outHI: 0x0
+swl :: offset: 0x721, out: 0x1c170ab200000000, outHI: 0x0
+swl :: offset: 0x722, out: 0x1c170ab200000000, outHI: 0x0
+swl :: offset: 0x723, out: 0x1c170ab200000000, outHI: 0x0
+swl :: offset: 0x724, out: 0x1c170ab2a978f12c, outHI: 0x0
+swl :: offset: 0x725, out: 0x1c170ab2a978f12c, outHI: 0x0
+swl :: offset: 0x726, out: 0x1c170ab2a978f12c, outHI: 0x0
+swl :: offset: 0x727, out: 0x1c170ab2a978f12c, outHI: 0x0
+swl :: offset: 0x728, out: 0xa22256a700000000, outHI: 0x0
+swl :: offset: 0x729, out: 0xa22256a700000000, outHI: 0x0
+swl :: offset: 0x72a, out: 0xa22256a700000000, outHI: 0x0
+swl :: offset: 0x72b, out: 0xa22256a700000000, outHI: 0x0
+swl :: offset: 0x72c, out: 0xa22256a79950a93b, outHI: 0x0
+swl :: offset: 0x72d, out: 0xa22256a79950a93b, outHI: 0x0
+swl :: offset: 0x72e, out: 0xa22256a79950a93b, outHI: 0x0
+swl :: offset: 0x72f, out: 0xa22256a79950a93b, outHI: 0x0
+swl :: offset: 0x730, out: 0x811ee02f00000000, outHI: 0x0
+swl :: offset: 0x731, out: 0x811ee02f00000000, outHI: 0x0
+swl :: offset: 0x732, out: 0x811ee02f00000000, outHI: 0x0
+swl :: offset: 0x733, out: 0x811ee02f00000000, outHI: 0x0
+swl :: offset: 0x734, out: 0x811ee02fb44eea93, outHI: 0x0
+swl :: offset: 0x735, out: 0x811ee02fb44eea93, outHI: 0x0
+swl :: offset: 0x736, out: 0x811ee02fb44eea93, outHI: 0x0
+swl :: offset: 0x737, out: 0x811ee02fb44eea93, outHI: 0x0
+swl :: offset: 0x738, out: 0xc6796a0c00000000, outHI: 0x0
+swl :: offset: 0x739, out: 0xc6796a0c00000000, outHI: 0x0
+swl :: offset: 0x73a, out: 0xc6796a0c00000000, outHI: 0x0
+swl :: offset: 0x73b, out: 0xc6796a0c00000000, outHI: 0x0
+swl :: offset: 0x73c, out: 0xc6796a0cfe71fca0, outHI: 0x0
+swl :: offset: 0x73d, out: 0xc6796a0cfe71fca0, outHI: 0x0
+swl :: offset: 0x73e, out: 0xc6796a0cfe71fca0, outHI: 0x0
+swl :: offset: 0x73f, out: 0xc6796a0cfe71fca0, outHI: 0x0
+swl :: offset: 0x740, out: 0x6c0eb65700000000, outHI: 0x0
+swl :: offset: 0x741, out: 0x6c0eb65700000000, outHI: 0x0
+swl :: offset: 0x742, out: 0x6c0eb65700000000, outHI: 0x0
+swl :: offset: 0x743, out: 0x6c0eb65700000000, outHI: 0x0
+swl :: offset: 0x744, out: 0x6c0eb6574ed6393d, outHI: 0x0
+swl :: offset: 0x745, out: 0x6c0eb6574ed6393d, outHI: 0x0
+swl :: offset: 0x746, out: 0x6c0eb6574ed6393d, outHI: 0x0
+swl :: offset: 0x747, out: 0x6c0eb6574ed6393d, outHI: 0x0
+swl :: offset: 0x748, out: 0xf818af5700000000, outHI: 0x0
+swl :: offset: 0x749, out: 0xf818af5700000000, outHI: 0x0
+swl :: offset: 0x74a, out: 0xf818af5700000000, outHI: 0x0
+swl :: offset: 0x74b, out: 0xf818af5700000000, outHI: 0x0
+swl :: offset: 0x74c, out: 0xf818af57f22e9020, outHI: 0x0
+swl :: offset: 0x74d, out: 0xf818af57f22e9020, outHI: 0x0
+swl :: offset: 0x74e, out: 0xf818af57f22e9020, outHI: 0x0
+swl :: offset: 0x74f, out: 0xf818af57f22e9020, outHI: 0x0
+swl :: offset: 0x750, out: 0x236770a00000000, outHI: 0x0
+swl :: offset: 0x751, out: 0x236770a00000000, outHI: 0x0
+swl :: offset: 0x752, out: 0x236770a00000000, outHI: 0x0
+swl :: offset: 0x753, out: 0x236770a00000000, outHI: 0x0
+swl :: offset: 0x754, out: 0x236770a81efb6c7, outHI: 0x0
+swl :: offset: 0x755, out: 0x236770a81efb6c7, outHI: 0x0
+swl :: offset: 0x756, out: 0x236770a81efb6c7, outHI: 0x0
+swl :: offset: 0x757, out: 0x236770a81efb6c7, outHI: 0x0
+swl :: offset: 0x758, out: 0xafd0c45d00000000, outHI: 0x0
+swl :: offset: 0x759, out: 0xafd0c45d00000000, outHI: 0x0
+swl :: offset: 0x75a, out: 0xafd0c45d00000000, outHI: 0x0
+swl :: offset: 0x75b, out: 0xafd0c45d00000000, outHI: 0x0
+swl :: offset: 0x75c, out: 0xafd0c45deed8f351, outHI: 0x0
+swl :: offset: 0x75d, out: 0xafd0c45deed8f351, outHI: 0x0
+swl :: offset: 0x75e, out: 0xafd0c45deed8f351, outHI: 0x0
+swl :: offset: 0x75f, out: 0xafd0c45deed8f351, outHI: 0x0
+swl :: offset: 0x760, out: 0x8102315b00000000, outHI: 0x0
+swl :: offset: 0x761, out: 0x8102315b00000000, outHI: 0x0
+swl :: offset: 0x762, out: 0x8102315b00000000, outHI: 0x0
+swl :: offset: 0x763, out: 0x8102315b00000000, outHI: 0x0
+swl :: offset: 0x764, out: 0x8102315badafefb9, outHI: 0x0
+swl :: offset: 0x765, out: 0x8102315badafefb9, outHI: 0x0
+swl :: offset: 0x766, out: 0x8102315badafefb9, outHI: 0x0
+swl :: offset: 0x767, out: 0x8102315badafefb9, outHI: 0x0
+swl :: offset: 0x768, out: 0x995efd5e00000000, outHI: 0x0
+swl :: offset: 0x769, out: 0x995efd5e00000000, outHI: 0x0
+swl :: offset: 0x76a, out: 0x995efd5e00000000, outHI: 0x0
+swl :: offset: 0x76b, out: 0x995efd5e00000000, outHI: 0x0
+swl :: offset: 0x76c, out: 0x995efd5e34061933, outHI: 0x0
+swl :: offset: 0x76d, out: 0x995efd5e34061933, outHI: 0x0
+swl :: offset: 0x76e, out: 0x995efd5e34061933, outHI: 0x0
+swl :: offset: 0x76f, out: 0x995efd5e34061933, outHI: 0x0
+swl :: offset: 0x770, out: 0xeb25308600000000, outHI: 0x0
+swl :: offset: 0x771, out: 0xeb25308600000000, outHI: 0x0
+swl :: offset: 0x772, out: 0xeb25308600000000, outHI: 0x0
+swl :: offset: 0x773, out: 0xeb25308600000000, outHI: 0x0
+swl :: offset: 0x774, out: 0xeb2530861748da26, outHI: 0x0
+swl :: offset: 0x775, out: 0xeb2530861748da26, outHI: 0x0
+swl :: offset: 0x776, out: 0xeb2530861748da26, outHI: 0x0
+swl :: offset: 0x777, out: 0xeb2530861748da26, outHI: 0x0
+swl :: offset: 0x778, out: 0x4b4c52bc00000000, outHI: 0x0
+swl :: offset: 0x779, out: 0x4b4c52bc00000000, outHI: 0x0
+swl :: offset: 0x77a, out: 0x4b4c52bc00000000, outHI: 0x0
+swl :: offset: 0x77b, out: 0x4b4c52bc00000000, outHI: 0x0
+swl :: offset: 0x77c, out: 0x4b4c52bc34fdfc9a, outHI: 0x0
+swl :: offset: 0x77d, out: 0x4b4c52bc34fdfc9a, outHI: 0x0
+swl :: offset: 0x77e, out: 0x4b4c52bc34fdfc9a, outHI: 0x0
+swl :: offset: 0x77f, out: 0x4b4c52bc34fdfc9a, outHI: 0x0
+swl :: offset: 0x780, out: 0x9302be8900000000, outHI: 0x0
+swl :: offset: 0x781, out: 0x9302be8900000000, outHI: 0x0
+swl :: offset: 0x782, out: 0x9302be8900000000, outHI: 0x0
+swl :: offset: 0x783, out: 0x9302be8900000000, outHI: 0x0
+swl :: offset: 0x784, out: 0x9302be89d00278c3, outHI: 0x0
+swl :: offset: 0x785, out: 0x9302be89d00278c3, outHI: 0x0
+swl :: offset: 0x786, out: 0x9302be89d00278c3, outHI: 0x0
+swl :: offset: 0x787, out: 0x9302be89d00278c3, outHI: 0x0
+swl :: offset: 0x788, out: 0xc521d18000000000, outHI: 0x0
+swl :: offset: 0x789, out: 0xc521d18000000000, outHI: 0x0
+swl :: offset: 0x78a, out: 0xc521d18000000000, outHI: 0x0
+swl :: offset: 0x78b, out: 0xc521d18000000000, outHI: 0x0
+swl :: offset: 0x78c, out: 0xc521d180e90944a4, outHI: 0x0
+swl :: offset: 0x78d, out: 0xc521d180e90944a4, outHI: 0x0
+swl :: offset: 0x78e, out: 0xc521d180e90944a4, outHI: 0x0
+swl :: offset: 0x78f, out: 0xc521d180e90944a4, outHI: 0x0
+swl :: offset: 0x790, out: 0xc1d37a5d00000000, outHI: 0x0
+swl :: offset: 0x791, out: 0xc1d37a5d00000000, outHI: 0x0
+swl :: offset: 0x792, out: 0xc1d37a5d00000000, outHI: 0x0
+swl :: offset: 0x793, out: 0xc1d37a5d00000000, outHI: 0x0
+swl :: offset: 0x794, out: 0xc1d37a5d65fd698f, outHI: 0x0
+swl :: offset: 0x795, out: 0xc1d37a5d65fd698f, outHI: 0x0
+swl :: offset: 0x796, out: 0xc1d37a5d65fd698f, outHI: 0x0
+swl :: offset: 0x797, out: 0xc1d37a5d65fd698f, outHI: 0x0
+swl :: offset: 0x798, out: 0xddef983900000000, outHI: 0x0
+swl :: offset: 0x799, out: 0xddef983900000000, outHI: 0x0
+swl :: offset: 0x79a, out: 0xddef983900000000, outHI: 0x0
+swl :: offset: 0x79b, out: 0xddef983900000000, outHI: 0x0
+swl :: offset: 0x79c, out: 0xddef9839c49ee3ad, outHI: 0x0
+swl :: offset: 0x79d, out: 0xddef9839c49ee3ad, outHI: 0x0
+swl :: offset: 0x79e, out: 0xddef9839c49ee3ad, outHI: 0x0
+swl :: offset: 0x79f, out: 0xddef9839c49ee3ad, outHI: 0x0
+swl :: offset: 0x7a0, out: 0x81b5af5200000000, outHI: 0x0
+swl :: offset: 0x7a1, out: 0x81b5af5200000000, outHI: 0x0
+swl :: offset: 0x7a2, out: 0x81b5af5200000000, outHI: 0x0
+swl :: offset: 0x7a3, out: 0x81b5af5200000000, outHI: 0x0
+swl :: offset: 0x7a4, out: 0x81b5af527aa941e8, outHI: 0x0
+swl :: offset: 0x7a5, out: 0x81b5af527aa941e8, outHI: 0x0
+swl :: offset: 0x7a6, out: 0x81b5af527aa941e8, outHI: 0x0
+swl :: offset: 0x7a7, out: 0x81b5af527aa941e8, outHI: 0x0
+swl :: offset: 0x7a8, out: 0xbdb263e900000000, outHI: 0x0
+swl :: offset: 0x7a9, out: 0xbdb263e900000000, outHI: 0x0
+swl :: offset: 0x7aa, out: 0xbdb263e900000000, outHI: 0x0
+swl :: offset: 0x7ab, out: 0xbdb263e900000000, outHI: 0x0
+swl :: offset: 0x7ac, out: 0xbdb263e9372c209e, outHI: 0x0
+swl :: offset: 0x7ad, out: 0xbdb263e9372c209e, outHI: 0x0
+swl :: offset: 0x7ae, out: 0xbdb263e9372c209e, outHI: 0x0
+swl :: offset: 0x7af, out: 0xbdb263e9372c209e, outHI: 0x0
+swl :: offset: 0x7b0, out: 0x42f3b58d00000000, outHI: 0x0
+swl :: offset: 0x7b1, out: 0x42f3b58d00000000, outHI: 0x0
+swl :: offset: 0x7b2, out: 0x42f3b58d00000000, outHI: 0x0
+swl :: offset: 0x7b3, out: 0x42f3b58d00000000, outHI: 0x0
+swl :: offset: 0x7b4, out: 0x42f3b58d30f870b7, outHI: 0x0
+swl :: offset: 0x7b5, out: 0x42f3b58d30f870b7, outHI: 0x0
+swl :: offset: 0x7b6, out: 0x42f3b58d30f870b7, outHI: 0x0
+swl :: offset: 0x7b7, out: 0x42f3b58d30f870b7, outHI: 0x0
+swl :: offset: 0x7b8, out: 0xe122a83b00000000, outHI: 0x0
+swl :: offset: 0x7b9, out: 0xe122a83b00000000, outHI: 0x0
+swl :: offset: 0x7ba, out: 0xe122a83b00000000, outHI: 0x0
+swl :: offset: 0x7bb, out: 0xe122a83b00000000, outHI: 0x0
+swl :: offset: 0x7bc, out: 0xe122a83b9e02de4b, outHI: 0x0
+swl :: offset: 0x7bd, out: 0xe122a83b9e02de4b, outHI: 0x0
+swl :: offset: 0x7be, out: 0xe122a83b9e02de4b, outHI: 0x0
+swl :: offset: 0x7bf, out: 0xe122a83b9e02de4b, outHI: 0x0
+swl :: offset: 0x7c0, out: 0x678930ec00000000, outHI: 0x0
+swl :: offset: 0x7c1, out: 0x678930ec00000000, outHI: 0x0
+swl :: offset: 0x7c2, out: 0x678930ec00000000, outHI: 0x0
+swl :: offset: 0x7c3, out: 0x678930ec00000000, outHI: 0x0
+swl :: offset: 0x7c4, out: 0x678930eccd61a863, outHI: 0x0
+swl :: offset: 0x7c5, out: 0x678930eccd61a863, outHI: 0x0
+swl :: offset: 0x7c6, out: 0x678930eccd61a863, outHI: 0x0
+swl :: offset: 0x7c7, out: 0x678930eccd61a863, outHI: 0x0
+swl :: offset: 0x7c8, out: 0x9826631e00000000, outHI: 0x0
+swl :: offset: 0x7c9, out: 0x9826631e00000000, outHI: 0x0
+swl :: offset: 0x7ca, out: 0x9826631e00000000, outHI: 0x0
+swl :: offset: 0x7cb, out: 0x9826631e00000000, outHI: 0x0
+swl :: offset: 0x7cc, out: 0x9826631eae87bc89, outHI: 0x0
+swl :: offset: 0x7cd, out: 0x9826631eae87bc89, outHI: 0x0
+swl :: offset: 0x7ce, out: 0x9826631eae87bc89, outHI: 0x0
+swl :: offset: 0x7cf, out: 0x9826631eae87bc89, outHI: 0x0
+swl :: offset: 0x7d0, out: 0x9a7bd3ca00000000, outHI: 0x0
+swl :: offset: 0x7d1, out: 0x9a7bd3ca00000000, outHI: 0x0
+swl :: offset: 0x7d2, out: 0x9a7bd3ca00000000, outHI: 0x0
+swl :: offset: 0x7d3, out: 0x9a7bd3ca00000000, outHI: 0x0
+swl :: offset: 0x7d4, out: 0x9a7bd3ca58ec644d, outHI: 0x0
+swl :: offset: 0x7d5, out: 0x9a7bd3ca58ec644d, outHI: 0x0
+swl :: offset: 0x7d6, out: 0x9a7bd3ca58ec644d, outHI: 0x0
+swl :: offset: 0x7d7, out: 0x9a7bd3ca58ec644d, outHI: 0x0
+swl :: offset: 0x7d8, out: 0x6481af1700000000, outHI: 0x0
+swl :: offset: 0x7d9, out: 0x6481af1700000000, outHI: 0x0
+swl :: offset: 0x7da, out: 0x6481af1700000000, outHI: 0x0
+swl :: offset: 0x7db, out: 0x6481af1700000000, outHI: 0x0
+swl :: offset: 0x7dc, out: 0x6481af17680cce5f, outHI: 0x0
+swl :: offset: 0x7dd, out: 0x6481af17680cce5f, outHI: 0x0
+swl :: offset: 0x7de, out: 0x6481af17680cce5f, outHI: 0x0
+swl :: offset: 0x7df, out: 0x6481af17680cce5f, outHI: 0x0
+swl :: offset: 0x7e0, out: 0xb236b66600000000, outHI: 0x0
+swl :: offset: 0x7e1, out: 0xb236b66600000000, outHI: 0x0
+swl :: offset: 0x7e2, out: 0xb236b66600000000, outHI: 0x0
+swl :: offset: 0x7e3, out: 0xb236b66600000000, outHI: 0x0
+swl :: offset: 0x7e4, out: 0xb236b6663baa9947, outHI: 0x0
+swl :: offset: 0x7e5, out: 0xb236b6663baa9947, outHI: 0x0
+swl :: offset: 0x7e6, out: 0xb236b6663baa9947, outHI: 0x0
+swl :: offset: 0x7e7, out: 0xb236b6663baa9947, outHI: 0x0
+swl :: offset: 0x7e8, out: 0x1f6d4d7500000000, outHI: 0x0
+swl :: offset: 0x7e9, out: 0x1f6d4d7500000000, outHI: 0x0
+swl :: offset: 0x7ea, out: 0x1f6d4d7500000000, outHI: 0x0
+swl :: offset: 0x7eb, out: 0x1f6d4d7500000000, outHI: 0x0
+swl :: offset: 0x7ec, out: 0x1f6d4d75614d9b44, outHI: 0x0
+swl :: offset: 0x7ed, out: 0x1f6d4d75614d9b44, outHI: 0x0
+swl :: offset: 0x7ee, out: 0x1f6d4d75614d9b44, outHI: 0x0
+swl :: offset: 0x7ef, out: 0x1f6d4d75614d9b44, outHI: 0x0
+swl :: offset: 0x7f0, out: 0x5f12236b00000000, outHI: 0x0
+swl :: offset: 0x7f1, out: 0x5f12236b00000000, outHI: 0x0
+swl :: offset: 0x7f2, out: 0x5f12236b00000000, outHI: 0x0
+swl :: offset: 0x7f3, out: 0x5f12236b00000000, outHI: 0x0
+swl :: offset: 0x7f4, out: 0x5f12236ba2a6ec66, outHI: 0x0
+swl :: offset: 0x7f5, out: 0x5f12236ba2a6ec66, outHI: 0x0
+swl :: offset: 0x7f6, out: 0x5f12236ba2a6ec66, outHI: 0x0
+swl :: offset: 0x7f7, out: 0x5f12236ba2a6ec66, outHI: 0x0
+swr :: offset: 0x4, out: 0x63000000, outHI: 0x0
+swr :: offset: 0x5, out: 0x63820000, outHI: 0x0
+swr :: offset: 0x6, out: 0x6382d200, outHI: 0x0
+swr :: offset: 0x7, out: 0x6382d2ab, outHI: 0x0
+swr :: offset: 0x8, out: 0x1300000000000000, outHI: 0x0
+swr :: offset: 0x9, out: 0x1397000000000000, outHI: 0x0
+swr :: offset: 0xa, out: 0x13976d0000000000, outHI: 0x0
+swr :: offset: 0xb, out: 0x13976d6e00000000, outHI: 0x0
+swr :: offset: 0xc, out: 0x13976d6e9a000000, outHI: 0x0
+swr :: offset: 0xd, out: 0x13976d6e9ac30000, outHI: 0x0
+swr :: offset: 0xe, out: 0x13976d6e9ac31500, outHI: 0x0
+swr :: offset: 0xf, out: 0x13976d6e9ac31510, outHI: 0x0
+swr :: offset: 0x10, out: 0xf300000000000000, outHI: 0x0
+swr :: offset: 0x11, out: 0xf3b7000000000000, outHI: 0x0
+swr :: offset: 0x12, out: 0xf3b7740000000000, outHI: 0x0
+swr :: offset: 0x13, out: 0xf3b7746d00000000, outHI: 0x0
+swr :: offset: 0x14, out: 0xf3b7746d77000000, outHI: 0x0
+swr :: offset: 0x15, out: 0xf3b7746d775a0000, outHI: 0x0
+swr :: offset: 0x16, out: 0xf3b7746d775ad600, outHI: 0x0
+swr :: offset: 0x17, out: 0xf3b7746d775ad6a5, outHI: 0x0
+swr :: offset: 0x18, out: 0xfb00000000000000, outHI: 0x0
+swr :: offset: 0x19, out: 0xfb42000000000000, outHI: 0x0
+swr :: offset: 0x1a, out: 0xfb42b00000000000, outHI: 0x0
+swr :: offset: 0x1b, out: 0xfb42b0c000000000, outHI: 0x0
+swr :: offset: 0x1c, out: 0xfb42b0c0a2000000, outHI: 0x0
+swr :: offset: 0x1d, out: 0xfb42b0c0a2860000, outHI: 0x0
+swr :: offset: 0x1e, out: 0xfb42b0c0a2867700, outHI: 0x0
+swr :: offset: 0x1f, out: 0xfb42b0c0a28677b5, outHI: 0x0
+swr :: offset: 0x20, out: 0x200000000000000, outHI: 0x0
+swr :: offset: 0x21, out: 0x22a000000000000, outHI: 0x0
+swr :: offset: 0x22, out: 0x22aa80000000000, outHI: 0x0
+swr :: offset: 0x23, out: 0x22aa89d00000000, outHI: 0x0
+swr :: offset: 0x24, out: 0x22aa89d31000000, outHI: 0x0
+swr :: offset: 0x25, out: 0x22aa89d319e0000, outHI: 0x0
+swr :: offset: 0x26, out: 0x22aa89d319e3c00, outHI: 0x0
+swr :: offset: 0x27, out: 0x22aa89d319e3c30, outHI: 0x0
+swr :: offset: 0x28, out: 0xad00000000000000, outHI: 0x0
+swr :: offset: 0x29, out: 0xad1f000000000000, outHI: 0x0
+swr :: offset: 0x2a, out: 0xad1f300000000000, outHI: 0x0
+swr :: offset: 0x2b, out: 0xad1f308e00000000, outHI: 0x0
+swr :: offset: 0x2c, out: 0xad1f308ec3000000, outHI: 0x0
+swr :: offset: 0x2d, out: 0xad1f308ec3770000, outHI: 0x0
+swr :: offset: 0x2e, out: 0xad1f308ec377fb00, outHI: 0x0
+swr :: offset: 0x2f, out: 0xad1f308ec377fb41, outHI: 0x0
+swr :: offset: 0x30, out: 0x3d00000000000000, outHI: 0x0
+swr :: offset: 0x31, out: 0x3d7a000000000000, outHI: 0x0
+swr :: offset: 0x32, out: 0x3d7aa00000000000, outHI: 0x0
+swr :: offset: 0x33, out: 0x3d7aa04200000000, outHI: 0x0
+swr :: offset: 0x34, out: 0x3d7aa04213000000, outHI: 0x0
+swr :: offset: 0x35, out: 0x3d7aa04213c70000, outHI: 0x0
+swr :: offset: 0x36, out: 0x3d7aa04213c76000, outHI: 0x0
+swr :: offset: 0x37, out: 0x3d7aa04213c760e4, outHI: 0x0
+swr :: offset: 0x38, out: 0xf700000000000000, outHI: 0x0
+swr :: offset: 0x39, out: 0xf79e000000000000, outHI: 0x0
+swr :: offset: 0x3a, out: 0xf79e700000000000, outHI: 0x0
+swr :: offset: 0x3b, out: 0xf79e705c00000000, outHI: 0x0
+swr :: offset: 0x3c, out: 0xf79e705cc5000000, outHI: 0x0
+swr :: offset: 0x3d, out: 0xf79e705cc51a0000, outHI: 0x0
+swr :: offset: 0x3e, out: 0xf79e705cc51ad800, outHI: 0x0
+swr :: offset: 0x3f, out: 0xf79e705cc51ad8dc, outHI: 0x0
+swr :: offset: 0x40, out: 0xa000000000000000, outHI: 0x0
+swr :: offset: 0x41, out: 0xa04b000000000000, outHI: 0x0
+swr :: offset: 0x42, out: 0xa04b3d0000000000, outHI: 0x0
+swr :: offset: 0x43, out: 0xa04b3dda00000000, outHI: 0x0
+swr :: offset: 0x44, out: 0xa04b3dda86000000, outHI: 0x0
+swr :: offset: 0x45, out: 0xa04b3dda86960000, outHI: 0x0
+swr :: offset: 0x46, out: 0xa04b3dda86961500, outHI: 0x0
+swr :: offset: 0x47, out: 0xa04b3dda869615a6, outHI: 0x0
+swr :: offset: 0x48, out: 0xd00000000000000, outHI: 0x0
+swr :: offset: 0x49, out: 0xd05000000000000, outHI: 0x0
+swr :: offset: 0x4a, out: 0xd05e70000000000, outHI: 0x0
+swr :: offset: 0x4b, out: 0xd05e7a400000000, outHI: 0x0
+swr :: offset: 0x4c, out: 0xd05e7a4dd000000, outHI: 0x0
+swr :: offset: 0x4d, out: 0xd05e7a4dd630000, outHI: 0x0
+swr :: offset: 0x4e, out: 0xd05e7a4dd635300, outHI: 0x0
+swr :: offset: 0x4f, out: 0xd05e7a4dd6353d4, outHI: 0x0
+swr :: offset: 0x50, out: 0x1d00000000000000, outHI: 0x0
+swr :: offset: 0x51, out: 0x1d3a000000000000, outHI: 0x0
+swr :: offset: 0x52, out: 0x1d3af30000000000, outHI: 0x0
+swr :: offset: 0x53, out: 0x1d3af35a00000000, outHI: 0x0
+swr :: offset: 0x54, out: 0x1d3af35a9d000000, outHI: 0x0
+swr :: offset: 0x55, out: 0x1d3af35a9dc40000, outHI: 0x0
+swr :: offset: 0x56, out: 0x1d3af35a9dc40b00, outHI: 0x0
+swr :: offset: 0x57, out: 0x1d3af35a9dc40bd4, outHI: 0x0
+swr :: offset: 0x58, out: 0x1300000000000000, outHI: 0x0
+swr :: offset: 0x59, out: 0x1347000000000000, outHI: 0x0
+swr :: offset: 0x5a, out: 0x1347f50000000000, outHI: 0x0
+swr :: offset: 0x5b, out: 0x1347f50500000000, outHI: 0x0
+swr :: offset: 0x5c, out: 0x1347f50556000000, outHI: 0x0
+swr :: offset: 0x5d, out: 0x1347f505569a0000, outHI: 0x0
+swr :: offset: 0x5e, out: 0x1347f505569a0800, outHI: 0x0
+swr :: offset: 0x5f, out: 0x1347f505569a08a1, outHI: 0x0
+swr :: offset: 0x60, out: 0x8000000000000000, outHI: 0x0
+swr :: offset: 0x61, out: 0x8095000000000000, outHI: 0x0
+swr :: offset: 0x62, out: 0x8095640000000000, outHI: 0x0
+swr :: offset: 0x63, out: 0x809564b700000000, outHI: 0x0
+swr :: offset: 0x64, out: 0x809564b77f000000, outHI: 0x0
+swr :: offset: 0x65, out: 0x809564b77fd60000, outHI: 0x0
+swr :: offset: 0x66, out: 0x809564b77fd6d200, outHI: 0x0
+swr :: offset: 0x67, out: 0x809564b77fd6d204, outHI: 0x0
+swr :: offset: 0x68, out: 0xf00000000000000, outHI: 0x0
+swr :: offset: 0x69, out: 0xfce000000000000, outHI: 0x0
+swr :: offset: 0x6a, out: 0xfcebc0000000000, outHI: 0x0
+swr :: offset: 0x6b, out: 0xfcebc8200000000, outHI: 0x0
+swr :: offset: 0x6c, out: 0xfcebc8279000000, outHI: 0x0
+swr :: offset: 0x6d, out: 0xfcebc8279b20000, outHI: 0x0
+swr :: offset: 0x6e, out: 0xfcebc8279b2c700, outHI: 0x0
+swr :: offset: 0x6f, out: 0xfcebc8279b2c76b, outHI: 0x0
+swr :: offset: 0x70, out: 0xbe00000000000000, outHI: 0x0
+swr :: offset: 0x71, out: 0xbeb5000000000000, outHI: 0x0
+swr :: offset: 0x72, out: 0xbeb5030000000000, outHI: 0x0
+swr :: offset: 0x73, out: 0xbeb5034c00000000, outHI: 0x0
+swr :: offset: 0x74, out: 0xbeb5034c2f000000, outHI: 0x0
+swr :: offset: 0x75, out: 0xbeb5034c2f1f0000, outHI: 0x0
+swr :: offset: 0x76, out: 0xbeb5034c2f1f1800, outHI: 0x0
+swr :: offset: 0x77, out: 0xbeb5034c2f1f18e4, outHI: 0x0
+swr :: offset: 0x78, out: 0xc700000000000000, outHI: 0x0
+swr :: offset: 0x79, out: 0xc794000000000000, outHI: 0x0
+swr :: offset: 0x7a, out: 0xc794ff0000000000, outHI: 0x0
+swr :: offset: 0x7b, out: 0xc794ff5200000000, outHI: 0x0
+swr :: offset: 0x7c, out: 0xc794ff52fc000000, outHI: 0x0
+swr :: offset: 0x7d, out: 0xc794ff52fc810000, outHI: 0x0
+swr :: offset: 0x7e, out: 0xc794ff52fc81af00, outHI: 0x0
+swr :: offset: 0x7f, out: 0xc794ff52fc81afa7, outHI: 0x0
+swr :: offset: 0x80, out: 0x9700000000000000, outHI: 0x0
+swr :: offset: 0x81, out: 0x9731000000000000, outHI: 0x0
+swr :: offset: 0x82, out: 0x9731d80000000000, outHI: 0x0
+swr :: offset: 0x83, out: 0x9731d8d900000000, outHI: 0x0
+swr :: offset: 0x84, out: 0x9731d8d916000000, outHI: 0x0
+swr :: offset: 0x85, out: 0x9731d8d9166d0000, outHI: 0x0
+swr :: offset: 0x86, out: 0x9731d8d9166dfc00, outHI: 0x0
+swr :: offset: 0x87, out: 0x9731d8d9166dfc50, outHI: 0x0
+swr :: offset: 0x88, out: 0xea00000000000000, outHI: 0x0
+swr :: offset: 0x89, out: 0xea36000000000000, outHI: 0x0
+swr :: offset: 0x8a, out: 0xea36540000000000, outHI: 0x0
+swr :: offset: 0x8b, out: 0xea36549b00000000, outHI: 0x0
+swr :: offset: 0x8c, out: 0xea36549bd6000000, outHI: 0x0
+swr :: offset: 0x8d, out: 0xea36549bd6780000, outHI: 0x0
+swr :: offset: 0x8e, out: 0xea36549bd678e800, outHI: 0x0
+swr :: offset: 0x8f, out: 0xea36549bd678e895, outHI: 0x0
+swr :: offset: 0x90, out: 0xb100000000000000, outHI: 0x0
+swr :: offset: 0x91, out: 0xb185000000000000, outHI: 0x0
+swr :: offset: 0x92, out: 0xb185e00000000000, outHI: 0x0
+swr :: offset: 0x93, out: 0xb185e0a600000000, outHI: 0x0
+swr :: offset: 0x94, out: 0xb185e0a631000000, outHI: 0x0
+swr :: offset: 0x95, out: 0xb185e0a6319b0000, outHI: 0x0
+swr :: offset: 0x96, out: 0xb185e0a6319b6300, outHI: 0x0
+swr :: offset: 0x97, out: 0xb185e0a6319b6325, outHI: 0x0
+swr :: offset: 0x98, out: 0x9b00000000000000, outHI: 0x0
+swr :: offset: 0x99, out: 0x9b55000000000000, outHI: 0x0
+swr :: offset: 0x9a, out: 0x9b556b0000000000, outHI: 0x0
+swr :: offset: 0x9b, out: 0x9b556b3e00000000, outHI: 0x0
+swr :: offset: 0x9c, out: 0x9b556b3eca000000, outHI: 0x0
+swr :: offset: 0x9d, out: 0x9b556b3ecacc0000, outHI: 0x0
+swr :: offset: 0x9e, out: 0x9b556b3ecaccf100, outHI: 0x0
+swr :: offset: 0x9f, out: 0x9b556b3ecaccf17a, outHI: 0x0
+swr :: offset: 0xa0, out: 0xc500000000000000, outHI: 0x0
+swr :: offset: 0xa1, out: 0xc5b4000000000000, outHI: 0x0
+swr :: offset: 0xa2, out: 0xc5b42f0000000000, outHI: 0x0
+swr :: offset: 0xa3, out: 0xc5b42f5f00000000, outHI: 0x0
+swr :: offset: 0xa4, out: 0xc5b42f5fc5000000, outHI: 0x0
+swr :: offset: 0xa5, out: 0xc5b42f5fc5810000, outHI: 0x0
+swr :: offset: 0xa6, out: 0xc5b42f5fc581ee00, outHI: 0x0
+swr :: offset: 0xa7, out: 0xc5b42f5fc581eea0, outHI: 0x0
+swr :: offset: 0xa8, out: 0xfb00000000000000, outHI: 0x0
+swr :: offset: 0xa9, out: 0xfb25000000000000, outHI: 0x0
+swr :: offset: 0xaa, out: 0xfb25b50000000000, outHI: 0x0
+swr :: offset: 0xab, out: 0xfb25b50f00000000, outHI: 0x0
+swr :: offset: 0xac, out: 0xfb25b50fec000000, outHI: 0x0
+swr :: offset: 0xad, out: 0xfb25b50fec140000, outHI: 0x0
+swr :: offset: 0xae, out: 0xfb25b50fec146800, outHI: 0x0
+swr :: offset: 0xaf, out: 0xfb25b50fec14682d, outHI: 0x0
+swr :: offset: 0xb0, out: 0x9700000000000000, outHI: 0x0
+swr :: offset: 0xb1, out: 0x97fc000000000000, outHI: 0x0
+swr :: offset: 0xb2, out: 0x97fc930000000000, outHI: 0x0
+swr :: offset: 0xb3, out: 0x97fc93c500000000, outHI: 0x0
+swr :: offset: 0xb4, out: 0x97fc93c513000000, outHI: 0x0
+swr :: offset: 0xb5, out: 0x97fc93c5132c0000, outHI: 0x0
+swr :: offset: 0xb6, out: 0x97fc93c5132cfb00, outHI: 0x0
+swr :: offset: 0xb7, out: 0x97fc93c5132cfb08, outHI: 0x0
+swr :: offset: 0xb8, out: 0x7a00000000000000, outHI: 0x0
+swr :: offset: 0xb9, out: 0x7a3c000000000000, outHI: 0x0
+swr :: offset: 0xba, out: 0x7a3c2c0000000000, outHI: 0x0
+swr :: offset: 0xbb, out: 0x7a3c2cd900000000, outHI: 0x0
+swr :: offset: 0xbc, out: 0x7a3c2cd9a9000000, outHI: 0x0
+swr :: offset: 0xbd, out: 0x7a3c2cd9a9cd0000, outHI: 0x0
+swr :: offset: 0xbe, out: 0x7a3c2cd9a9cda200, outHI: 0x0
+swr :: offset: 0xbf, out: 0x7a3c2cd9a9cda207, outHI: 0x0
+swr :: offset: 0xc0, out: 0x6600000000000000, outHI: 0x0
+swr :: offset: 0xc1, out: 0x6617000000000000, outHI: 0x0
+swr :: offset: 0xc2, out: 0x6617910000000000, outHI: 0x0
+swr :: offset: 0xc3, out: 0x6617917200000000, outHI: 0x0
+swr :: offset: 0xc4, out: 0x661791722a000000, outHI: 0x0
+swr :: offset: 0xc5, out: 0x661791722a7d0000, outHI: 0x0
+swr :: offset: 0xc6, out: 0x661791722a7d7200, outHI: 0x0
+swr :: offset: 0xc7, out: 0x661791722a7d72da, outHI: 0x0
+swr :: offset: 0xc8, out: 0x3e00000000000000, outHI: 0x0
+swr :: offset: 0xc9, out: 0x3e08000000000000, outHI: 0x0
+swr :: offset: 0xca, out: 0x3e087c0000000000, outHI: 0x0
+swr :: offset: 0xcb, out: 0x3e087cc900000000, outHI: 0x0
+swr :: offset: 0xcc, out: 0x3e087cc9d1000000, outHI: 0x0
+swr :: offset: 0xcd, out: 0x3e087cc9d1930000, outHI: 0x0
+swr :: offset: 0xce, out: 0x3e087cc9d193ce00, outHI: 0x0
+swr :: offset: 0xcf, out: 0x3e087cc9d193ce24, outHI: 0x0
+swr :: offset: 0xd0, out: 0xad00000000000000, outHI: 0x0
+swr :: offset: 0xd1, out: 0xad1d000000000000, outHI: 0x0
+swr :: offset: 0xd2, out: 0xad1d2a0000000000, outHI: 0x0
+swr :: offset: 0xd3, out: 0xad1d2a7500000000, outHI: 0x0
+swr :: offset: 0xd4, out: 0xad1d2a7570000000, outHI: 0x0
+swr :: offset: 0xd5, out: 0xad1d2a7570380000, outHI: 0x0
+swr :: offset: 0xd6, out: 0xad1d2a7570389800, outHI: 0x0
+swr :: offset: 0xd7, out: 0xad1d2a757038984e, outHI: 0x0
+swr :: offset: 0xd8, out: 0xd200000000000000, outHI: 0x0
+swr :: offset: 0xd9, out: 0xd2d0000000000000, outHI: 0x0
+swr :: offset: 0xda, out: 0xd2d0d00000000000, outHI: 0x0
+swr :: offset: 0xdb, out: 0xd2d0d07000000000, outHI: 0x0
+swr :: offset: 0xdc, out: 0xd2d0d070db000000, outHI: 0x0
+swr :: offset: 0xdd, out: 0xd2d0d070db710000, outHI: 0x0
+swr :: offset: 0xde, out: 0xd2d0d070db710c00, outHI: 0x0
+swr :: offset: 0xdf, out: 0xd2d0d070db710cd0, outHI: 0x0
+swr :: offset: 0xe0, out: 0x3600000000000000, outHI: 0x0
+swr :: offset: 0xe1, out: 0x3639000000000000, outHI: 0x0
+swr :: offset: 0xe2, out: 0x3639c20000000000, outHI: 0x0
+swr :: offset: 0xe3, out: 0x3639c21c00000000, outHI: 0x0
+swr :: offset: 0xe4, out: 0x3639c21c7d000000, outHI: 0x0
+swr :: offset: 0xe5, out: 0x3639c21c7d030000, outHI: 0x0
+swr :: offset: 0xe6, out: 0x3639c21c7d034100, outHI: 0x0
+swr :: offset: 0xe7, out: 0x3639c21c7d034156, outHI: 0x0
+swr :: offset: 0xe8, out: 0x400000000000000, outHI: 0x0
+swr :: offset: 0xe9, out: 0x48e000000000000, outHI: 0x0
+swr :: offset: 0xea, out: 0x48e940000000000, outHI: 0x0
+swr :: offset: 0xeb, out: 0x48e94b700000000, outHI: 0x0
+swr :: offset: 0xec, out: 0x48e94b7af000000, outHI: 0x0
+swr :: offset: 0xed, out: 0x48e94b7af8e0000, outHI: 0x0
+swr :: offset: 0xee, out: 0x48e94b7af8ecc00, outHI: 0x0
+swr :: offset: 0xef, out: 0x48e94b7af8ecc31, outHI: 0x0
+swr :: offset: 0xf0, out: 0xce00000000000000, outHI: 0x0
+swr :: offset: 0xf1, out: 0xce24000000000000, outHI: 0x0
+swr :: offset: 0xf2, out: 0xce24eb0000000000, outHI: 0x0
+swr :: offset: 0xf3, out: 0xce24eb6a00000000, outHI: 0x0
+swr :: offset: 0xf4, out: 0xce24eb6a8d000000, outHI: 0x0
+swr :: offset: 0xf5, out: 0xce24eb6a8d1c0000, outHI: 0x0
+swr :: offset: 0xf6, out: 0xce24eb6a8d1ce700, outHI: 0x0
+swr :: offset: 0xf7, out: 0xce24eb6a8d1ce767, outHI: 0x0
+swr :: offset: 0xf8, out: 0x4f00000000000000, outHI: 0x0
+swr :: offset: 0xf9, out: 0x4f2f000000000000, outHI: 0x0
+swr :: offset: 0xfa, out: 0x4f2f390000000000, outHI: 0x0
+swr :: offset: 0xfb, out: 0x4f2f394500000000, outHI: 0x0
+swr :: offset: 0xfc, out: 0x4f2f394544000000, outHI: 0x0
+swr :: offset: 0xfd, out: 0x4f2f394544120000, outHI: 0x0
+swr :: offset: 0xfe, out: 0x4f2f39454412d600, outHI: 0x0
+swr :: offset: 0xff, out: 0x4f2f39454412d6e4, outHI: 0x0
+swr :: offset: 0x100, out: 0xa700000000000000, outHI: 0x0
+swr :: offset: 0x101, out: 0xa726000000000000, outHI: 0x0
+swr :: offset: 0x102, out: 0xa726080000000000, outHI: 0x0
+swr :: offset: 0x103, out: 0xa72608c200000000, outHI: 0x0
+swr :: offset: 0x104, out: 0xa72608c2b7000000, outHI: 0x0
+swr :: offset: 0x105, out: 0xa72608c2b7560000, outHI: 0x0
+swr :: offset: 0x106, out: 0xa72608c2b756da00, outHI: 0x0
+swr :: offset: 0x107, out: 0xa72608c2b756da4c, outHI: 0x0
+swr :: offset: 0x108, out: 0x5400000000000000, outHI: 0x0
+swr :: offset: 0x109, out: 0x5490000000000000, outHI: 0x0
+swr :: offset: 0x10a, out: 0x5490010000000000, outHI: 0x0
+swr :: offset: 0x10b, out: 0x5490010200000000, outHI: 0x0
+swr :: offset: 0x10c, out: 0x54900102da000000, outHI: 0x0
+swr :: offset: 0x10d, out: 0x54900102dac80000, outHI: 0x0
+swr :: offset: 0x10e, out: 0x54900102dac8d700, outHI: 0x0
+swr :: offset: 0x10f, out: 0x54900102dac8d725, outHI: 0x0
+swr :: offset: 0x110, out: 0x2f00000000000000, outHI: 0x0
+swr :: offset: 0x111, out: 0x2fc8000000000000, outHI: 0x0
+swr :: offset: 0x112, out: 0x2fc8900000000000, outHI: 0x0
+swr :: offset: 0x113, out: 0x2fc890d500000000, outHI: 0x0
+swr :: offset: 0x114, out: 0x2fc890d5f1000000, outHI: 0x0
+swr :: offset: 0x115, out: 0x2fc890d5f1f20000, outHI: 0x0
+swr :: offset: 0x116, out: 0x2fc890d5f1f2ef00, outHI: 0x0
+swr :: offset: 0x117, out: 0x2fc890d5f1f2efa4, outHI: 0x0
+swr :: offset: 0x118, out: 0xf700000000000000, outHI: 0x0
+swr :: offset: 0x119, out: 0xf7ed000000000000, outHI: 0x0
+swr :: offset: 0x11a, out: 0xf7ed500000000000, outHI: 0x0
+swr :: offset: 0x11b, out: 0xf7ed500500000000, outHI: 0x0
+swr :: offset: 0x11c, out: 0xf7ed5005cb000000, outHI: 0x0
+swr :: offset: 0x11d, out: 0xf7ed5005cbc80000, outHI: 0x0
+swr :: offset: 0x11e, out: 0xf7ed5005cbc8b000, outHI: 0x0
+swr :: offset: 0x11f, out: 0xf7ed5005cbc8b0a2, outHI: 0x0
+swr :: offset: 0x120, out: 0x1400000000000000, outHI: 0x0
+swr :: offset: 0x121, out: 0x1431000000000000, outHI: 0x0
+swr :: offset: 0x122, out: 0x1431470000000000, outHI: 0x0
+swr :: offset: 0x123, out: 0x1431479100000000, outHI: 0x0
+swr :: offset: 0x124, out: 0x1431479189000000, outHI: 0x0
+swr :: offset: 0x125, out: 0x1431479189590000, outHI: 0x0
+swr :: offset: 0x126, out: 0x1431479189599100, outHI: 0x0
+swr :: offset: 0x127, out: 0x1431479189599113, outHI: 0x0
+swr :: offset: 0x128, out: 0x6c00000000000000, outHI: 0x0
+swr :: offset: 0x129, out: 0x6cc6000000000000, outHI: 0x0
+swr :: offset: 0x12a, out: 0x6cc6ee0000000000, outHI: 0x0
+swr :: offset: 0x12b, out: 0x6cc6eecf00000000, outHI: 0x0
+swr :: offset: 0x12c, out: 0x6cc6eecff9000000, outHI: 0x0
+swr :: offset: 0x12d, out: 0x6cc6eecff99a0000, outHI: 0x0
+swr :: offset: 0x12e, out: 0x6cc6eecff99a2f00, outHI: 0x0
+swr :: offset: 0x12f, out: 0x6cc6eecff99a2fb6, outHI: 0x0
+swr :: offset: 0x130, out: 0xf300000000000000, outHI: 0x0
+swr :: offset: 0x131, out: 0xf3a8000000000000, outHI: 0x0
+swr :: offset: 0x132, out: 0xf3a8090000000000, outHI: 0x0
+swr :: offset: 0x133, out: 0xf3a8095200000000, outHI: 0x0
+swr :: offset: 0x134, out: 0xf3a8095212000000, outHI: 0x0
+swr :: offset: 0x135, out: 0xf3a8095212380000, outHI: 0x0
+swr :: offset: 0x136, out: 0xf3a8095212388900, outHI: 0x0
+swr :: offset: 0x137, out: 0xf3a8095212388952, outHI: 0x0
+swr :: offset: 0x138, out: 0x7000000000000000, outHI: 0x0
+swr :: offset: 0x139, out: 0x7087000000000000, outHI: 0x0
+swr :: offset: 0x13a, out: 0x7087750000000000, outHI: 0x0
+swr :: offset: 0x13b, out: 0x7087750a00000000, outHI: 0x0
+swr :: offset: 0x13c, out: 0x7087750a04000000, outHI: 0x0
+swr :: offset: 0x13d, out: 0x7087750a04ad0000, outHI: 0x0
+swr :: offset: 0x13e, out: 0x7087750a04ad7600, outHI: 0x0
+swr :: offset: 0x13f, out: 0x7087750a04ad7650, outHI: 0x0
+swr :: offset: 0x140, out: 0x4000000000000000, outHI: 0x0
+swr :: offset: 0x141, out: 0x402c000000000000, outHI: 0x0
+swr :: offset: 0x142, out: 0x402c3d0000000000, outHI: 0x0
+swr :: offset: 0x143, out: 0x402c3de800000000, outHI: 0x0
+swr :: offset: 0x144, out: 0x402c3de85e000000, outHI: 0x0
+swr :: offset: 0x145, out: 0x402c3de85e840000, outHI: 0x0
+swr :: offset: 0x146, out: 0x402c3de85e84bb00, outHI: 0x0
+swr :: offset: 0x147, out: 0x402c3de85e84bb5a, outHI: 0x0
+swr :: offset: 0x148, out: 0x8300000000000000, outHI: 0x0
+swr :: offset: 0x149, out: 0x83ae000000000000, outHI: 0x0
+swr :: offset: 0x14a, out: 0x83ae6a0000000000, outHI: 0x0
+swr :: offset: 0x14b, out: 0x83ae6aff00000000, outHI: 0x0
+swr :: offset: 0x14c, out: 0x83ae6aff8f000000, outHI: 0x0
+swr :: offset: 0x14d, out: 0x83ae6aff8fc50000, outHI: 0x0
+swr :: offset: 0x14e, out: 0x83ae6aff8fc50600, outHI: 0x0
+swr :: offset: 0x14f, out: 0x83ae6aff8fc506aa, outHI: 0x0
+swr :: offset: 0x150, out: 0x6700000000000000, outHI: 0x0
+swr :: offset: 0x151, out: 0x67c0000000000000, outHI: 0x0
+swr :: offset: 0x152, out: 0x67c0710000000000, outHI: 0x0
+swr :: offset: 0x153, out: 0x67c0711200000000, outHI: 0x0
+swr :: offset: 0x154, out: 0x67c07112dd000000, outHI: 0x0
+swr :: offset: 0x155, out: 0x67c07112dd600000, outHI: 0x0
+swr :: offset: 0x156, out: 0x67c07112dd60ed00, outHI: 0x0
+swr :: offset: 0x157, out: 0x67c07112dd60ed5e, outHI: 0x0
+swr :: offset: 0x158, out: 0xe300000000000000, outHI: 0x0
+swr :: offset: 0x159, out: 0xe3c4000000000000, outHI: 0x0
+swr :: offset: 0x15a, out: 0xe3c4c70000000000, outHI: 0x0
+swr :: offset: 0x15b, out: 0xe3c4c77000000000, outHI: 0x0
+swr :: offset: 0x15c, out: 0xe3c4c770f6000000, outHI: 0x0
+swr :: offset: 0x15d, out: 0xe3c4c770f6300000, outHI: 0x0
+swr :: offset: 0x15e, out: 0xe3c4c770f630dc00, outHI: 0x0
+swr :: offset: 0x15f, out: 0xe3c4c770f630dcca, outHI: 0x0
+swr :: offset: 0x160, out: 0x5a00000000000000, outHI: 0x0
+swr :: offset: 0x161, out: 0x5adf000000000000, outHI: 0x0
+swr :: offset: 0x162, out: 0x5adfec0000000000, outHI: 0x0
+swr :: offset: 0x163, out: 0x5adfec2b00000000, outHI: 0x0
+swr :: offset: 0x164, out: 0x5adfec2b23000000, outHI: 0x0
+swr :: offset: 0x165, out: 0x5adfec2b23830000, outHI: 0x0
+swr :: offset: 0x166, out: 0x5adfec2b2383cd00, outHI: 0x0
+swr :: offset: 0x167, out: 0x5adfec2b2383cd52, outHI: 0x0
+swr :: offset: 0x168, out: 0x7700000000000000, outHI: 0x0
+swr :: offset: 0x169, out: 0x77d3000000000000, outHI: 0x0
+swr :: offset: 0x16a, out: 0x77d3ad0000000000, outHI: 0x0
+swr :: offset: 0x16b, out: 0x77d3adba00000000, outHI: 0x0
+swr :: offset: 0x16c, out: 0x77d3adba26000000, outHI: 0x0
+swr :: offset: 0x16d, out: 0x77d3adba260f0000, outHI: 0x0
+swr :: offset: 0x16e, out: 0x77d3adba260ff700, outHI: 0x0
+swr :: offset: 0x16f, out: 0x77d3adba260ff7d9, outHI: 0x0
+swr :: offset: 0x170, out: 0x6b00000000000000, outHI: 0x0
+swr :: offset: 0x171, out: 0x6b4a000000000000, outHI: 0x0
+swr :: offset: 0x172, out: 0x6b4ab40000000000, outHI: 0x0
+swr :: offset: 0x173, out: 0x6b4ab4aa00000000, outHI: 0x0
+swr :: offset: 0x174, out: 0x6b4ab4aa79000000, outHI: 0x0
+swr :: offset: 0x175, out: 0x6b4ab4aa79840000, outHI: 0x0
+swr :: offset: 0x176, out: 0x6b4ab4aa79841800, outHI: 0x0
+swr :: offset: 0x177, out: 0x6b4ab4aa798418c0, outHI: 0x0
+swr :: offset: 0x178, out: 0xe00000000000000, outHI: 0x0
+swr :: offset: 0x179, out: 0xebb000000000000, outHI: 0x0
+swr :: offset: 0x17a, out: 0xebb8c0000000000, outHI: 0x0
+swr :: offset: 0x17b, out: 0xebb8c0300000000, outHI: 0x0
+swr :: offset: 0x17c, out: 0xebb8c035e000000, outHI: 0x0
+swr :: offset: 0x17d, out: 0xebb8c035e0d0000, outHI: 0x0
+swr :: offset: 0x17e, out: 0xebb8c035e0de000, outHI: 0x0
+swr :: offset: 0x17f, out: 0xebb8c035e0de0f0, outHI: 0x0
+swr :: offset: 0x180, out: 0xb800000000000000, outHI: 0x0
+swr :: offset: 0x181, out: 0xb833000000000000, outHI: 0x0
+swr :: offset: 0x182, out: 0xb833b00000000000, outHI: 0x0
+swr :: offset: 0x183, out: 0xb833b06f00000000, outHI: 0x0
+swr :: offset: 0x184, out: 0xb833b06f54000000, outHI: 0x0
+swr :: offset: 0x185, out: 0xb833b06f54a90000, outHI: 0x0
+swr :: offset: 0x186, out: 0xb833b06f54a97f00, outHI: 0x0
+swr :: offset: 0x187, out: 0xb833b06f54a97fdc, outHI: 0x0
+swr :: offset: 0x188, out: 0xf100000000000000, outHI: 0x0
+swr :: offset: 0x189, out: 0xf177000000000000, outHI: 0x0
+swr :: offset: 0x18a, out: 0xf177430000000000, outHI: 0x0
+swr :: offset: 0x18b, out: 0xf177433f00000000, outHI: 0x0
+swr :: offset: 0x18c, out: 0xf177433f37000000, outHI: 0x0
+swr :: offset: 0x18d, out: 0xf177433f373f0000, outHI: 0x0
+swr :: offset: 0x18e, out: 0xf177433f373fd100, outHI: 0x0
+swr :: offset: 0x18f, out: 0xf177433f373fd1c0, outHI: 0x0
+swr :: offset: 0x190, out: 0x8100000000000000, outHI: 0x0
+swr :: offset: 0x191, out: 0x81ec000000000000, outHI: 0x0
+swr :: offset: 0x192, out: 0x81ec910000000000, outHI: 0x0
+swr :: offset: 0x193, out: 0x81ec91d900000000, outHI: 0x0
+swr :: offset: 0x194, out: 0x81ec91d993000000, outHI: 0x0
+swr :: offset: 0x195, out: 0x81ec91d993c90000, outHI: 0x0
+swr :: offset: 0x196, out: 0x81ec91d993c92100, outHI: 0x0
+swr :: offset: 0x197, out: 0x81ec91d993c92195, outHI: 0x0
+swr :: offset: 0x198, out: 0xe400000000000000, outHI: 0x0
+swr :: offset: 0x199, out: 0xe449000000000000, outHI: 0x0
+swr :: offset: 0x19a, out: 0xe449fb0000000000, outHI: 0x0
+swr :: offset: 0x19b, out: 0xe449fbf600000000, outHI: 0x0
+swr :: offset: 0x19c, out: 0xe449fbf6a7000000, outHI: 0x0
+swr :: offset: 0x19d, out: 0xe449fbf6a7950000, outHI: 0x0
+swr :: offset: 0x19e, out: 0xe449fbf6a795b100, outHI: 0x0
+swr :: offset: 0x19f, out: 0xe449fbf6a795b1a5, outHI: 0x0
+swr :: offset: 0x1a0, out: 0xab00000000000000, outHI: 0x0
+swr :: offset: 0x1a1, out: 0xab19000000000000, outHI: 0x0
+swr :: offset: 0x1a2, out: 0xab19360000000000, outHI: 0x0
+swr :: offset: 0x1a3, out: 0xab19364300000000, outHI: 0x0
+swr :: offset: 0x1a4, out: 0xab19364378000000, outHI: 0x0
+swr :: offset: 0x1a5, out: 0xab19364378c70000, outHI: 0x0
+swr :: offset: 0x1a6, out: 0xab19364378c7ce00, outHI: 0x0
+swr :: offset: 0x1a7, out: 0xab19364378c7ce8d, outHI: 0x0
+swr :: offset: 0x1a8, out: 0x1e00000000000000, outHI: 0x0
+swr :: offset: 0x1a9, out: 0x1eb9000000000000, outHI: 0x0
+swr :: offset: 0x1aa, out: 0x1eb99e0000000000, outHI: 0x0
+swr :: offset: 0x1ab, out: 0x1eb99e8d00000000, outHI: 0x0
+swr :: offset: 0x1ac, out: 0x1eb99e8def000000, outHI: 0x0
+swr :: offset: 0x1ad, out: 0x1eb99e8def2f0000, outHI: 0x0
+swr :: offset: 0x1ae, out: 0x1eb99e8def2f3800, outHI: 0x0
+swr :: offset: 0x1af, out: 0x1eb99e8def2f3849, outHI: 0x0
+swr :: offset: 0x1b0, out: 0x700000000000000, outHI: 0x0
+swr :: offset: 0x1b1, out: 0x747000000000000, outHI: 0x0
+swr :: offset: 0x1b2, out: 0x747ea0000000000, outHI: 0x0
+swr :: offset: 0x1b3, out: 0x747eacd00000000, outHI: 0x0
+swr :: offset: 0x1b4, out: 0x747eacdcd000000, outHI: 0x0
+swr :: offset: 0x1b5, out: 0x747eacdcd580000, outHI: 0x0
+swr :: offset: 0x1b6, out: 0x747eacdcd582b00, outHI: 0x0
+swr :: offset: 0x1b7, out: 0x747eacdcd582b12, outHI: 0x0
+swr :: offset: 0x1b8, out: 0xfe00000000000000, outHI: 0x0
+swr :: offset: 0x1b9, out: 0xfed6000000000000, outHI: 0x0
+swr :: offset: 0x1ba, out: 0xfed6850000000000, outHI: 0x0
+swr :: offset: 0x1bb, out: 0xfed6858800000000, outHI: 0x0
+swr :: offset: 0x1bc, out: 0xfed685884e000000, outHI: 0x0
+swr :: offset: 0x1bd, out: 0xfed685884e760000, outHI: 0x0
+swr :: offset: 0x1be, out: 0xfed685884e765500, outHI: 0x0
+swr :: offset: 0x1bf, out: 0xfed685884e76558c, outHI: 0x0
+swr :: offset: 0x1c0, out: 0x4f00000000000000, outHI: 0x0
+swr :: offset: 0x1c1, out: 0x4f61000000000000, outHI: 0x0
+swr :: offset: 0x1c2, out: 0x4f61680000000000, outHI: 0x0
+swr :: offset: 0x1c3, out: 0x4f6168d600000000, outHI: 0x0
+swr :: offset: 0x1c4, out: 0x4f6168d62a000000, outHI: 0x0
+swr :: offset: 0x1c5, out: 0x4f6168d62a340000, outHI: 0x0
+swr :: offset: 0x1c6, out: 0x4f6168d62a34c100, outHI: 0x0
+swr :: offset: 0x1c7, out: 0x4f6168d62a34c195, outHI: 0x0
+swr :: offset: 0x1c8, out: 0xc700000000000000, outHI: 0x0
+swr :: offset: 0x1c9, out: 0xc7d3000000000000, outHI: 0x0
+swr :: offset: 0x1ca, out: 0xc7d3010000000000, outHI: 0x0
+swr :: offset: 0x1cb, out: 0xc7d3016900000000, outHI: 0x0
+swr :: offset: 0x1cc, out: 0xc7d3016989000000, outHI: 0x0
+swr :: offset: 0x1cd, out: 0xc7d30169894d0000, outHI: 0x0
+swr :: offset: 0x1ce, out: 0xc7d30169894df400, outHI: 0x0
+swr :: offset: 0x1cf, out: 0xc7d30169894df474, outHI: 0x0
+swr :: offset: 0x1d0, out: 0x500000000000000, outHI: 0x0
+swr :: offset: 0x1d1, out: 0x51c000000000000, outHI: 0x0
+swr :: offset: 0x1d2, out: 0x51ca10000000000, outHI: 0x0
+swr :: offset: 0x1d3, out: 0x51ca19000000000, outHI: 0x0
+swr :: offset: 0x1d4, out: 0x51ca190bf000000, outHI: 0x0
+swr :: offset: 0x1d5, out: 0x51ca190bf6c0000, outHI: 0x0
+swr :: offset: 0x1d6, out: 0x51ca190bf6cbb00, outHI: 0x0
+swr :: offset: 0x1d7, out: 0x51ca190bf6cbb06, outHI: 0x0
+swr :: offset: 0x1d8, out: 0xdb00000000000000, outHI: 0x0
+swr :: offset: 0x1d9, out: 0xdb58000000000000, outHI: 0x0
+swr :: offset: 0x1da, out: 0xdb58300000000000, outHI: 0x0
+swr :: offset: 0x1db, out: 0xdb58300f00000000, outHI: 0x0
+swr :: offset: 0x1dc, out: 0xdb58300f02000000, outHI: 0x0
+swr :: offset: 0x1dd, out: 0xdb58300f029c0000, outHI: 0x0
+swr :: offset: 0x1de, out: 0xdb58300f029cae00, outHI: 0x0
+swr :: offset: 0x1df, out: 0xdb58300f029cae39, outHI: 0x0
+swr :: offset: 0x1e0, out: 0x3a00000000000000, outHI: 0x0
+swr :: offset: 0x1e1, out: 0x3a9a000000000000, outHI: 0x0
+swr :: offset: 0x1e2, out: 0x3a9a990000000000, outHI: 0x0
+swr :: offset: 0x1e3, out: 0x3a9a995f00000000, outHI: 0x0
+swr :: offset: 0x1e4, out: 0x3a9a995fdb000000, outHI: 0x0
+swr :: offset: 0x1e5, out: 0x3a9a995fdbdc0000, outHI: 0x0
+swr :: offset: 0x1e6, out: 0x3a9a995fdbdc7e00, outHI: 0x0
+swr :: offset: 0x1e7, out: 0x3a9a995fdbdc7ebc, outHI: 0x0
+swr :: offset: 0x1e8, out: 0x2d00000000000000, outHI: 0x0
+swr :: offset: 0x1e9, out: 0x2d8a000000000000, outHI: 0x0
+swr :: offset: 0x1ea, out: 0x2d8a960000000000, outHI: 0x0
+swr :: offset: 0x1eb, out: 0x2d8a960400000000, outHI: 0x0
+swr :: offset: 0x1ec, out: 0x2d8a96047b000000, outHI: 0x0
+swr :: offset: 0x1ed, out: 0x2d8a96047be30000, outHI: 0x0
+swr :: offset: 0x1ee, out: 0x2d8a96047be34000, outHI: 0x0
+swr :: offset: 0x1ef, out: 0x2d8a96047be3405b, outHI: 0x0
+swr :: offset: 0x1f0, out: 0x4800000000000000, outHI: 0x0
+swr :: offset: 0x1f1, out: 0x4875000000000000, outHI: 0x0
+swr :: offset: 0x1f2, out: 0x4875bf0000000000, outHI: 0x0
+swr :: offset: 0x1f3, out: 0x4875bfaf00000000, outHI: 0x0
+swr :: offset: 0x1f4, out: 0x4875bfafd2000000, outHI: 0x0
+swr :: offset: 0x1f5, out: 0x4875bfafd2d50000, outHI: 0x0
+swr :: offset: 0x1f6, out: 0x4875bfafd2d51900, outHI: 0x0
+swr :: offset: 0x1f7, out: 0x4875bfafd2d519d3, outHI: 0x0
+swr :: offset: 0x1f8, out: 0x2200000000000000, outHI: 0x0
+swr :: offset: 0x1f9, out: 0x22de000000000000, outHI: 0x0
+swr :: offset: 0x1fa, out: 0x22de230000000000, outHI: 0x0
+swr :: offset: 0x1fb, out: 0x22de230800000000, outHI: 0x0
+swr :: offset: 0x1fc, out: 0x22de230867000000, outHI: 0x0
+swr :: offset: 0x1fd, out: 0x22de230867a60000, outHI: 0x0
+swr :: offset: 0x1fe, out: 0x22de230867a63000, outHI: 0x0
+swr :: offset: 0x1ff, out: 0x22de230867a630f6, outHI: 0x0
+swr :: offset: 0x200, out: 0xad00000000000000, outHI: 0x0
+swr :: offset: 0x201, out: 0xad2c000000000000, outHI: 0x0
+swr :: offset: 0x202, out: 0xad2c0a0000000000, outHI: 0x0
+swr :: offset: 0x203, out: 0xad2c0a0c00000000, outHI: 0x0
+swr :: offset: 0x204, out: 0xad2c0a0cf2000000, outHI: 0x0
+swr :: offset: 0x205, out: 0xad2c0a0cf2560000, outHI: 0x0
+swr :: offset: 0x206, out: 0xad2c0a0cf2561000, outHI: 0x0
+swr :: offset: 0x207, out: 0xad2c0a0cf2561032, outHI: 0x0
+swr :: offset: 0x208, out: 0x6000000000000000, outHI: 0x0
+swr :: offset: 0x209, out: 0x6094000000000000, outHI: 0x0
+swr :: offset: 0x20a, out: 0x6094a90000000000, outHI: 0x0
+swr :: offset: 0x20b, out: 0x6094a90500000000, outHI: 0x0
+swr :: offset: 0x20c, out: 0x6094a90544000000, outHI: 0x0
+swr :: offset: 0x20d, out: 0x6094a90544240000, outHI: 0x0
+swr :: offset: 0x20e, out: 0x6094a90544249b00, outHI: 0x0
+swr :: offset: 0x20f, out: 0x6094a90544249b18, outHI: 0x0
+swr :: offset: 0x210, out: 0xef00000000000000, outHI: 0x0
+swr :: offset: 0x211, out: 0xeff9000000000000, outHI: 0x0
+swr :: offset: 0x212, out: 0xeff9510000000000, outHI: 0x0
+swr :: offset: 0x213, out: 0xeff9519f00000000, outHI: 0x0
+swr :: offset: 0x214, out: 0xeff9519fb5000000, outHI: 0x0
+swr :: offset: 0x215, out: 0xeff9519fb55b0000, outHI: 0x0
+swr :: offset: 0x216, out: 0xeff9519fb55b5600, outHI: 0x0
+swr :: offset: 0x217, out: 0xeff9519fb55b56fc, outHI: 0x0
+swr :: offset: 0x218, out: 0xde00000000000000, outHI: 0x0
+swr :: offset: 0x219, out: 0xde81000000000000, outHI: 0x0
+swr :: offset: 0x21a, out: 0xde81da0000000000, outHI: 0x0
+swr :: offset: 0x21b, out: 0xde81daf800000000, outHI: 0x0
+swr :: offset: 0x21c, out: 0xde81daf820000000, outHI: 0x0
+swr :: offset: 0x21d, out: 0xde81daf820040000, outHI: 0x0
+swr :: offset: 0x21e, out: 0xde81daf820046800, outHI: 0x0
+swr :: offset: 0x21f, out: 0xde81daf820046831, outHI: 0x0
+swr :: offset: 0x220, out: 0x9b00000000000000, outHI: 0x0
+swr :: offset: 0x221, out: 0x9b8c000000000000, outHI: 0x0
+swr :: offset: 0x222, out: 0x9b8c610000000000, outHI: 0x0
+swr :: offset: 0x223, out: 0x9b8c61ca00000000, outHI: 0x0
+swr :: offset: 0x224, out: 0x9b8c61ca5a000000, outHI: 0x0
+swr :: offset: 0x225, out: 0x9b8c61ca5a570000, outHI: 0x0
+swr :: offset: 0x226, out: 0x9b8c61ca5a572500, outHI: 0x0
+swr :: offset: 0x227, out: 0x9b8c61ca5a5725f2, outHI: 0x0
+swr :: offset: 0x228, out: 0xec00000000000000, outHI: 0x0
+swr :: offset: 0x229, out: 0xec8b000000000000, outHI: 0x0
+swr :: offset: 0x22a, out: 0xec8b950000000000, outHI: 0x0
+swr :: offset: 0x22b, out: 0xec8b95a600000000, outHI: 0x0
+swr :: offset: 0x22c, out: 0xec8b95a6dd000000, outHI: 0x0
+swr :: offset: 0x22d, out: 0xec8b95a6ddc20000, outHI: 0x0
+swr :: offset: 0x22e, out: 0xec8b95a6ddc25d00, outHI: 0x0
+swr :: offset: 0x22f, out: 0xec8b95a6ddc25dc8, outHI: 0x0
+swr :: offset: 0x230, out: 0xbf00000000000000, outHI: 0x0
+swr :: offset: 0x231, out: 0xbf30000000000000, outHI: 0x0
+swr :: offset: 0x232, out: 0xbf300c0000000000, outHI: 0x0
+swr :: offset: 0x233, out: 0xbf300ce700000000, outHI: 0x0
+swr :: offset: 0x234, out: 0xbf300ce751000000, outHI: 0x0
+swr :: offset: 0x235, out: 0xbf300ce751da0000, outHI: 0x0
+swr :: offset: 0x236, out: 0xbf300ce751dac600, outHI: 0x0
+swr :: offset: 0x237, out: 0xbf300ce751dac616, outHI: 0x0
+swr :: offset: 0x238, out: 0x2f00000000000000, outHI: 0x0
+swr :: offset: 0x239, out: 0x2f67000000000000, outHI: 0x0
+swr :: offset: 0x23a, out: 0x2f67780000000000, outHI: 0x0
+swr :: offset: 0x23b, out: 0x2f6778fd00000000, outHI: 0x0
+swr :: offset: 0x23c, out: 0x2f6778fdf3000000, outHI: 0x0
+swr :: offset: 0x23d, out: 0x2f6778fdf3ba0000, outHI: 0x0
+swr :: offset: 0x23e, out: 0x2f6778fdf3ba5200, outHI: 0x0
+swr :: offset: 0x23f, out: 0x2f6778fdf3ba52a8, outHI: 0x0
+swr :: offset: 0x240, out: 0x5000000000000000, outHI: 0x0
+swr :: offset: 0x241, out: 0x50ad000000000000, outHI: 0x0
+swr :: offset: 0x242, out: 0x50ad000000000000, outHI: 0x0
+swr :: offset: 0x243, out: 0x50ad00b100000000, outHI: 0x0
+swr :: offset: 0x244, out: 0x50ad00b1f7000000, outHI: 0x0
+swr :: offset: 0x245, out: 0x50ad00b1f7da0000, outHI: 0x0
+swr :: offset: 0x246, out: 0x50ad00b1f7da7800, outHI: 0x0
+swr :: offset: 0x247, out: 0x50ad00b1f7da7847, outHI: 0x0
+swr :: offset: 0x248, out: 0x9f00000000000000, outHI: 0x0
+swr :: offset: 0x249, out: 0x9f08000000000000, outHI: 0x0
+swr :: offset: 0x24a, out: 0x9f08d40000000000, outHI: 0x0
+swr :: offset: 0x24b, out: 0x9f08d44100000000, outHI: 0x0
+swr :: offset: 0x24c, out: 0x9f08d44168000000, outHI: 0x0
+swr :: offset: 0x24d, out: 0x9f08d44168a60000, outHI: 0x0
+swr :: offset: 0x24e, out: 0x9f08d44168a6b600, outHI: 0x0
+swr :: offset: 0x24f, out: 0x9f08d44168a6b6d9, outHI: 0x0
+swr :: offset: 0x250, out: 0x8a00000000000000, outHI: 0x0
+swr :: offset: 0x251, out: 0x8af5000000000000, outHI: 0x0
+swr :: offset: 0x252, out: 0x8af5180000000000, outHI: 0x0
+swr :: offset: 0x253, out: 0x8af5183800000000, outHI: 0x0
+swr :: offset: 0x254, out: 0x8af518381d000000, outHI: 0x0
+swr :: offset: 0x255, out: 0x8af518381dce0000, outHI: 0x0
+swr :: offset: 0x256, out: 0x8af518381dce6300, outHI: 0x0
+swr :: offset: 0x257, out: 0x8af518381dce6344, outHI: 0x0
+swr :: offset: 0x258, out: 0x1300000000000000, outHI: 0x0
+swr :: offset: 0x259, out: 0x13e4000000000000, outHI: 0x0
+swr :: offset: 0x25a, out: 0x13e4620000000000, outHI: 0x0
+swr :: offset: 0x25b, out: 0x13e4627f00000000, outHI: 0x0
+swr :: offset: 0x25c, out: 0x13e4627f3f000000, outHI: 0x0
+swr :: offset: 0x25d, out: 0x13e4627f3fe50000, outHI: 0x0
+swr :: offset: 0x25e, out: 0x13e4627f3fe52500, outHI: 0x0
+swr :: offset: 0x25f, out: 0x13e4627f3fe5255f, outHI: 0x0
+swr :: offset: 0x260, out: 0xc000000000000000, outHI: 0x0
+swr :: offset: 0x261, out: 0xc0cc000000000000, outHI: 0x0
+swr :: offset: 0x262, out: 0xc0ccd30000000000, outHI: 0x0
+swr :: offset: 0x263, out: 0xc0ccd39200000000, outHI: 0x0
+swr :: offset: 0x264, out: 0xc0ccd392e1000000, outHI: 0x0
+swr :: offset: 0x265, out: 0xc0ccd392e1760000, outHI: 0x0
+swr :: offset: 0x266, out: 0xc0ccd392e1763200, outHI: 0x0
+swr :: offset: 0x267, out: 0xc0ccd392e176321f, outHI: 0x0
+swr :: offset: 0x268, out: 0x2800000000000000, outHI: 0x0
+swr :: offset: 0x269, out: 0x2882000000000000, outHI: 0x0
+swr :: offset: 0x26a, out: 0x2882940000000000, outHI: 0x0
+swr :: offset: 0x26b, out: 0x2882946400000000, outHI: 0x0
+swr :: offset: 0x26c, out: 0x2882946494000000, outHI: 0x0
+swr :: offset: 0x26d, out: 0x2882946494400000, outHI: 0x0
+swr :: offset: 0x26e, out: 0x2882946494401800, outHI: 0x0
+swr :: offset: 0x26f, out: 0x28829464944018fd, outHI: 0x0
+swr :: offset: 0x270, out: 0x8f00000000000000, outHI: 0x0
+swr :: offset: 0x271, out: 0x8f15000000000000, outHI: 0x0
+swr :: offset: 0x272, out: 0x8f15d30000000000, outHI: 0x0
+swr :: offset: 0x273, out: 0x8f15d32000000000, outHI: 0x0
+swr :: offset: 0x274, out: 0x8f15d32040000000, outHI: 0x0
+swr :: offset: 0x275, out: 0x8f15d32040520000, outHI: 0x0
+swr :: offset: 0x276, out: 0x8f15d3204052e800, outHI: 0x0
+swr :: offset: 0x277, out: 0x8f15d3204052e8f0, outHI: 0x0
+swr :: offset: 0x278, out: 0xe500000000000000, outHI: 0x0
+swr :: offset: 0x279, out: 0xe57c000000000000, outHI: 0x0
+swr :: offset: 0x27a, out: 0xe57caf0000000000, outHI: 0x0
+swr :: offset: 0x27b, out: 0xe57caf8300000000, outHI: 0x0
+swr :: offset: 0x27c, out: 0xe57caf83d2000000, outHI: 0x0
+swr :: offset: 0x27d, out: 0xe57caf83d2880000, outHI: 0x0
+swr :: offset: 0x27e, out: 0xe57caf83d2880f00, outHI: 0x0
+swr :: offset: 0x27f, out: 0xe57caf83d2880ff3, outHI: 0x0
+swr :: offset: 0x280, out: 0x4400000000000000, outHI: 0x0
+swr :: offset: 0x281, out: 0x44f1000000000000, outHI: 0x0
+swr :: offset: 0x282, out: 0x44f1560000000000, outHI: 0x0
+swr :: offset: 0x283, out: 0x44f156a000000000, outHI: 0x0
+swr :: offset: 0x284, out: 0x44f156a04c000000, outHI: 0x0
+swr :: offset: 0x285, out: 0x44f156a04c740000, outHI: 0x0
+swr :: offset: 0x286, out: 0x44f156a04c747d00, outHI: 0x0
+swr :: offset: 0x287, out: 0x44f156a04c747def, outHI: 0x0
+swr :: offset: 0x288, out: 0xd700000000000000, outHI: 0x0
+swr :: offset: 0x289, out: 0xd793000000000000, outHI: 0x0
+swr :: offset: 0x28a, out: 0xd793e20000000000, outHI: 0x0
+swr :: offset: 0x28b, out: 0xd793e26000000000, outHI: 0x0
+swr :: offset: 0x28c, out: 0xd793e2601c000000, outHI: 0x0
+swr :: offset: 0x28d, out: 0xd793e2601c0f0000, outHI: 0x0
+swr :: offset: 0x28e, out: 0xd793e2601c0f3100, outHI: 0x0
+swr :: offset: 0x28f, out: 0xd793e2601c0f31d7, outHI: 0x0
+swr :: offset: 0x290, out: 0x1000000000000000, outHI: 0x0
+swr :: offset: 0x291, out: 0x10e1000000000000, outHI: 0x0
+swr :: offset: 0x292, out: 0x10e1e10000000000, outHI: 0x0
+swr :: offset: 0x293, out: 0x10e1e1a600000000, outHI: 0x0
+swr :: offset: 0x294, out: 0x10e1e1a679000000, outHI: 0x0
+swr :: offset: 0x295, out: 0x10e1e1a679130000, outHI: 0x0
+swr :: offset: 0x296, out: 0x10e1e1a679131c00, outHI: 0x0
+swr :: offset: 0x297, out: 0x10e1e1a679131cd9, outHI: 0x0
+swr :: offset: 0x298, out: 0x3300000000000000, outHI: 0x0
+swr :: offset: 0x299, out: 0x3324000000000000, outHI: 0x0
+swr :: offset: 0x29a, out: 0x3324290000000000, outHI: 0x0
+swr :: offset: 0x29b, out: 0x3324296b00000000, outHI: 0x0
+swr :: offset: 0x29c, out: 0x3324296b75000000, outHI: 0x0
+swr :: offset: 0x29d, out: 0x3324296b75a70000, outHI: 0x0
+swr :: offset: 0x29e, out: 0x3324296b75a76f00, outHI: 0x0
+swr :: offset: 0x29f, out: 0x3324296b75a76fa4, outHI: 0x0
+swr :: offset: 0x2a0, out: 0x2700000000000000, outHI: 0x0
+swr :: offset: 0x2a1, out: 0x27d2000000000000, outHI: 0x0
+swr :: offset: 0x2a2, out: 0x27d2960000000000, outHI: 0x0
+swr :: offset: 0x2a3, out: 0x27d296e200000000, outHI: 0x0
+swr :: offset: 0x2a4, out: 0x27d296e2d2000000, outHI: 0x0
+swr :: offset: 0x2a5, out: 0x27d296e2d2130000, outHI: 0x0
+swr :: offset: 0x2a6, out: 0x27d296e2d2139e00, outHI: 0x0
+swr :: offset: 0x2a7, out: 0x27d296e2d2139ee5, outHI: 0x0
+swr :: offset: 0x2a8, out: 0x6a00000000000000, outHI: 0x0
+swr :: offset: 0x2a9, out: 0x6a5a000000000000, outHI: 0x0
+swr :: offset: 0x2aa, out: 0x6a5a820000000000, outHI: 0x0
+swr :: offset: 0x2ab, out: 0x6a5a824400000000, outHI: 0x0
+swr :: offset: 0x2ac, out: 0x6a5a82447f000000, outHI: 0x0
+swr :: offset: 0x2ad, out: 0x6a5a82447f6d0000, outHI: 0x0
+swr :: offset: 0x2ae, out: 0x6a5a82447f6dc200, outHI: 0x0
+swr :: offset: 0x2af, out: 0x6a5a82447f6dc2a5, outHI: 0x0
+swr :: offset: 0x2b0, out: 0xc000000000000000, outHI: 0x0
+swr :: offset: 0x2b1, out: 0xc076000000000000, outHI: 0x0
+swr :: offset: 0x2b2, out: 0xc076c80000000000, outHI: 0x0
+swr :: offset: 0x2b3, out: 0xc076c89e00000000, outHI: 0x0
+swr :: offset: 0x2b4, out: 0xc076c89e80000000, outHI: 0x0
+swr :: offset: 0x2b5, out: 0xc076c89e80c00000, outHI: 0x0
+swr :: offset: 0x2b6, out: 0xc076c89e80c07d00, outHI: 0x0
+swr :: offset: 0x2b7, out: 0xc076c89e80c07dc1, outHI: 0x0
+swr :: offset: 0x2b8, out: 0x6800000000000000, outHI: 0x0
+swr :: offset: 0x2b9, out: 0x6807000000000000, outHI: 0x0
+swr :: offset: 0x2ba, out: 0x68070d0000000000, outHI: 0x0
+swr :: offset: 0x2bb, out: 0x68070dc300000000, outHI: 0x0
+swr :: offset: 0x2bc, out: 0x68070dc345000000, outHI: 0x0
+swr :: offset: 0x2bd, out: 0x68070dc3454b0000, outHI: 0x0
+swr :: offset: 0x2be, out: 0x68070dc3454bfe00, outHI: 0x0
+swr :: offset: 0x2bf, out: 0x68070dc3454bfe34, outHI: 0x0
+swr :: offset: 0x2c0, out: 0x8f00000000000000, outHI: 0x0
+swr :: offset: 0x2c1, out: 0x8fbd000000000000, outHI: 0x0
+swr :: offset: 0x2c2, out: 0x8fbddc0000000000, outHI: 0x0
+swr :: offset: 0x2c3, out: 0x8fbddc7100000000, outHI: 0x0
+swr :: offset: 0x2c4, out: 0x8fbddc7123000000, outHI: 0x0
+swr :: offset: 0x2c5, out: 0x8fbddc7123dd0000, outHI: 0x0
+swr :: offset: 0x2c6, out: 0x8fbddc7123dd6d00, outHI: 0x0
+swr :: offset: 0x2c7, out: 0x8fbddc7123dd6d24, outHI: 0x0
+swr :: offset: 0x2c8, out: 0x1b00000000000000, outHI: 0x0
+swr :: offset: 0x2c9, out: 0x1bf6000000000000, outHI: 0x0
+swr :: offset: 0x2ca, out: 0x1bf62f0000000000, outHI: 0x0
+swr :: offset: 0x2cb, out: 0x1bf62fb700000000, outHI: 0x0
+swr :: offset: 0x2cc, out: 0x1bf62fb727000000, outHI: 0x0
+swr :: offset: 0x2cd, out: 0x1bf62fb727a50000, outHI: 0x0
+swr :: offset: 0x2ce, out: 0x1bf62fb727a59f00, outHI: 0x0
+swr :: offset: 0x2cf, out: 0x1bf62fb727a59fce, outHI: 0x0
+swr :: offset: 0x2d0, out: 0xbe00000000000000, outHI: 0x0
+swr :: offset: 0x2d1, out: 0xbe10000000000000, outHI: 0x0
+swr :: offset: 0x2d2, out: 0xbe109f0000000000, outHI: 0x0
+swr :: offset: 0x2d3, out: 0xbe109f2700000000, outHI: 0x0
+swr :: offset: 0x2d4, out: 0xbe109f27e9000000, outHI: 0x0
+swr :: offset: 0x2d5, out: 0xbe109f27e90f0000, outHI: 0x0
+swr :: offset: 0x2d6, out: 0xbe109f27e90f9f00, outHI: 0x0
+swr :: offset: 0x2d7, out: 0xbe109f27e90f9f46, outHI: 0x0
+swr :: offset: 0x2d8, out: 0xfb00000000000000, outHI: 0x0
+swr :: offset: 0x2d9, out: 0xfb3f000000000000, outHI: 0x0
+swr :: offset: 0x2da, out: 0xfb3f630000000000, outHI: 0x0
+swr :: offset: 0x2db, out: 0xfb3f63da00000000, outHI: 0x0
+swr :: offset: 0x2dc, out: 0xfb3f63daa9000000, outHI: 0x0
+swr :: offset: 0x2dd, out: 0xfb3f63daa9af0000, outHI: 0x0
+swr :: offset: 0x2de, out: 0xfb3f63daa9afd100, outHI: 0x0
+swr :: offset: 0x2df, out: 0xfb3f63daa9afd199, outHI: 0x0
+swr :: offset: 0x2e0, out: 0xd700000000000000, outHI: 0x0
+swr :: offset: 0x2e1, out: 0xd7db000000000000, outHI: 0x0
+swr :: offset: 0x2e2, out: 0xd7dbcb0000000000, outHI: 0x0
+swr :: offset: 0x2e3, out: 0xd7dbcb3100000000, outHI: 0x0
+swr :: offset: 0x2e4, out: 0xd7dbcb312e000000, outHI: 0x0
+swr :: offset: 0x2e5, out: 0xd7dbcb312ea30000, outHI: 0x0
+swr :: offset: 0x2e6, out: 0xd7dbcb312ea3d400, outHI: 0x0
+swr :: offset: 0x2e7, out: 0xd7dbcb312ea3d484, outHI: 0x0
+swr :: offset: 0x2e8, out: 0xf200000000000000, outHI: 0x0
+swr :: offset: 0x2e9, out: 0xf21f000000000000, outHI: 0x0
+swr :: offset: 0x2ea, out: 0xf21f350000000000, outHI: 0x0
+swr :: offset: 0x2eb, out: 0xf21f353f00000000, outHI: 0x0
+swr :: offset: 0x2ec, out: 0xf21f353faa000000, outHI: 0x0
+swr :: offset: 0x2ed, out: 0xf21f353faada0000, outHI: 0x0
+swr :: offset: 0x2ee, out: 0xf21f353faada4f00, outHI: 0x0
+swr :: offset: 0x2ef, out: 0xf21f353faada4fe4, outHI: 0x0
+swr :: offset: 0x2f0, out: 0xc600000000000000, outHI: 0x0
+swr :: offset: 0x2f1, out: 0xc68b000000000000, outHI: 0x0
+swr :: offset: 0x2f2, out: 0xc68b080000000000, outHI: 0x0
+swr :: offset: 0x2f3, out: 0xc68b086e00000000, outHI: 0x0
+swr :: offset: 0x2f4, out: 0xc68b086ee0000000, outHI: 0x0
+swr :: offset: 0x2f5, out: 0xc68b086ee0710000, outHI: 0x0
+swr :: offset: 0x2f6, out: 0xc68b086ee0715000, outHI: 0x0
+swr :: offset: 0x2f7, out: 0xc68b086ee07150c2, outHI: 0x0
+swr :: offset: 0x2f8, out: 0x6000000000000000, outHI: 0x0
+swr :: offset: 0x2f9, out: 0x60e5000000000000, outHI: 0x0
+swr :: offset: 0x2fa, out: 0x60e5470000000000, outHI: 0x0
+swr :: offset: 0x2fb, out: 0x60e5475000000000, outHI: 0x0
+swr :: offset: 0x2fc, out: 0x60e54750d5000000, outHI: 0x0
+swr :: offset: 0x2fd, out: 0x60e54750d5d90000, outHI: 0x0
+swr :: offset: 0x2fe, out: 0x60e54750d5d92500, outHI: 0x0
+swr :: offset: 0x2ff, out: 0x60e54750d5d9257f, outHI: 0x0
+swr :: offset: 0x300, out: 0x2500000000000000, outHI: 0x0
+swr :: offset: 0x301, out: 0x253d000000000000, outHI: 0x0
+swr :: offset: 0x302, out: 0x253d690000000000, outHI: 0x0
+swr :: offset: 0x303, out: 0x253d696200000000, outHI: 0x0
+swr :: offset: 0x304, out: 0x253d69625f000000, outHI: 0x0
+swr :: offset: 0x305, out: 0x253d69625fe90000, outHI: 0x0
+swr :: offset: 0x306, out: 0x253d69625fe9a600, outHI: 0x0
+swr :: offset: 0x307, out: 0x253d69625fe9a6db, outHI: 0x0
+swr :: offset: 0x308, out: 0x5b00000000000000, outHI: 0x0
+swr :: offset: 0x309, out: 0x5b70000000000000, outHI: 0x0
+swr :: offset: 0x30a, out: 0x5b70a30000000000, outHI: 0x0
+swr :: offset: 0x30b, out: 0x5b70a3e000000000, outHI: 0x0
+swr :: offset: 0x30c, out: 0x5b70a3e042000000, outHI: 0x0
+swr :: offset: 0x30d, out: 0x5b70a3e042430000, outHI: 0x0
+swr :: offset: 0x30e, out: 0x5b70a3e042434000, outHI: 0x0
+swr :: offset: 0x30f, out: 0x5b70a3e0424340ac, outHI: 0x0
+swr :: offset: 0x310, out: 0x9600000000000000, outHI: 0x0
+swr :: offset: 0x311, out: 0x96c0000000000000, outHI: 0x0
+swr :: offset: 0x312, out: 0x96c0470000000000, outHI: 0x0
+swr :: offset: 0x313, out: 0x96c0478f00000000, outHI: 0x0
+swr :: offset: 0x314, out: 0x96c0478f03000000, outHI: 0x0
+swr :: offset: 0x315, out: 0x96c0478f03690000, outHI: 0x0
+swr :: offset: 0x316, out: 0x96c0478f03698000, outHI: 0x0
+swr :: offset: 0x317, out: 0x96c0478f03698017, outHI: 0x0
+swr :: offset: 0x318, out: 0x1e00000000000000, outHI: 0x0
+swr :: offset: 0x319, out: 0x1e3c000000000000, outHI: 0x0
+swr :: offset: 0x31a, out: 0x1e3ce80000000000, outHI: 0x0
+swr :: offset: 0x31b, out: 0x1e3ce83900000000, outHI: 0x0
+swr :: offset: 0x31c, out: 0x1e3ce839a5000000, outHI: 0x0
+swr :: offset: 0x31d, out: 0x1e3ce839a51c0000, outHI: 0x0
+swr :: offset: 0x31e, out: 0x1e3ce839a51cf900, outHI: 0x0
+swr :: offset: 0x31f, out: 0x1e3ce839a51cf929, outHI: 0x0
+swr :: offset: 0x320, out: 0xe300000000000000, outHI: 0x0
+swr :: offset: 0x321, out: 0xe3e2000000000000, outHI: 0x0
+swr :: offset: 0x322, out: 0xe3e2fb0000000000, outHI: 0x0
+swr :: offset: 0x323, out: 0xe3e2fbfa00000000, outHI: 0x0
+swr :: offset: 0x324, out: 0xe3e2fbfa89000000, outHI: 0x0
+swr :: offset: 0x325, out: 0xe3e2fbfa895e0000, outHI: 0x0
+swr :: offset: 0x326, out: 0xe3e2fbfa895eb600, outHI: 0x0
+swr :: offset: 0x327, out: 0xe3e2fbfa895eb689, outHI: 0x0
+swr :: offset: 0x328, out: 0x5800000000000000, outHI: 0x0
+swr :: offset: 0x329, out: 0x58d2000000000000, outHI: 0x0
+swr :: offset: 0x32a, out: 0x58d24b0000000000, outHI: 0x0
+swr :: offset: 0x32b, out: 0x58d24bb000000000, outHI: 0x0
+swr :: offset: 0x32c, out: 0x58d24bb05d000000, outHI: 0x0
+swr :: offset: 0x32d, out: 0x58d24bb05d760000, outHI: 0x0
+swr :: offset: 0x32e, out: 0x58d24bb05d76ed00, outHI: 0x0
+swr :: offset: 0x32f, out: 0x58d24bb05d76ed25, outHI: 0x0
+swr :: offset: 0x330, out: 0xb700000000000000, outHI: 0x0
+swr :: offset: 0x331, out: 0xb70e000000000000, outHI: 0x0
+swr :: offset: 0x332, out: 0xb70eb90000000000, outHI: 0x0
+swr :: offset: 0x333, out: 0xb70eb96800000000, outHI: 0x0
+swr :: offset: 0x334, out: 0xb70eb9682c000000, outHI: 0x0
+swr :: offset: 0x335, out: 0xb70eb9682c170000, outHI: 0x0
+swr :: offset: 0x336, out: 0xb70eb9682c170300, outHI: 0x0
+swr :: offset: 0x337, out: 0xb70eb9682c170312, outHI: 0x0
+swr :: offset: 0x338, out: 0xf100000000000000, outHI: 0x0
+swr :: offset: 0x339, out: 0xf184000000000000, outHI: 0x0
+swr :: offset: 0x33a, out: 0xf184780000000000, outHI: 0x0
+swr :: offset: 0x33b, out: 0xf184785200000000, outHI: 0x0
+swr :: offset: 0x33c, out: 0xf184785280000000, outHI: 0x0
+swr :: offset: 0x33d, out: 0xf184785280dd0000, outHI: 0x0
+swr :: offset: 0x33e, out: 0xf184785280dd3000, outHI: 0x0
+swr :: offset: 0x33f, out: 0xf184785280dd301d, outHI: 0x0
+swr :: offset: 0x340, out: 0xd00000000000000, outHI: 0x0
+swr :: offset: 0x341, out: 0xd17000000000000, outHI: 0x0
+swr :: offset: 0x342, out: 0xd179c0000000000, outHI: 0x0
+swr :: offset: 0x343, out: 0xd179c7700000000, outHI: 0x0
+swr :: offset: 0x344, out: 0xd179c77aa000000, outHI: 0x0
+swr :: offset: 0x345, out: 0xd179c77aa1f0000, outHI: 0x0
+swr :: offset: 0x346, out: 0xd179c77aa1f8f00, outHI: 0x0
+swr :: offset: 0x347, out: 0xd179c77aa1f8fd6, outHI: 0x0
+swr :: offset: 0x348, out: 0xef00000000000000, outHI: 0x0
+swr :: offset: 0x349, out: 0xef26000000000000, outHI: 0x0
+swr :: offset: 0x34a, out: 0xef26440000000000, outHI: 0x0
+swr :: offset: 0x34b, out: 0xef26444c00000000, outHI: 0x0
+swr :: offset: 0x34c, out: 0xef26444ced000000, outHI: 0x0
+swr :: offset: 0x34d, out: 0xef26444ced290000, outHI: 0x0
+swr :: offset: 0x34e, out: 0xef26444ced299800, outHI: 0x0
+swr :: offset: 0x34f, out: 0xef26444ced299843, outHI: 0x0
+swr :: offset: 0x350, out: 0x6d00000000000000, outHI: 0x0
+swr :: offset: 0x351, out: 0x6d07000000000000, outHI: 0x0
+swr :: offset: 0x352, out: 0x6d07170000000000, outHI: 0x0
+swr :: offset: 0x353, out: 0x6d07175c00000000, outHI: 0x0
+swr :: offset: 0x354, out: 0x6d07175c9d000000, outHI: 0x0
+swr :: offset: 0x355, out: 0x6d07175c9dd50000, outHI: 0x0
+swr :: offset: 0x356, out: 0x6d07175c9dd58c00, outHI: 0x0
+swr :: offset: 0x357, out: 0x6d07175c9dd58ca7, outHI: 0x0
+swr :: offset: 0x358, out: 0x800000000000000, outHI: 0x0
+swr :: offset: 0x359, out: 0x866000000000000, outHI: 0x0
+swr :: offset: 0x35a, out: 0x8663d0000000000, outHI: 0x0
+swr :: offset: 0x35b, out: 0x8663d0600000000, outHI: 0x0
+swr :: offset: 0x35c, out: 0x8663d0610000000, outHI: 0x0
+swr :: offset: 0x35d, out: 0x8663d0610550000, outHI: 0x0
+swr :: offset: 0x35e, out: 0x8663d0610558300, outHI: 0x0
+swr :: offset: 0x35f, out: 0x8663d0610558332, outHI: 0x0
+swr :: offset: 0x360, out: 0x8700000000000000, outHI: 0x0
+swr :: offset: 0x361, out: 0x87ab000000000000, outHI: 0x0
+swr :: offset: 0x362, out: 0x87ab7d0000000000, outHI: 0x0
+swr :: offset: 0x363, out: 0x87ab7dd000000000, outHI: 0x0
+swr :: offset: 0x364, out: 0x87ab7dd048000000, outHI: 0x0
+swr :: offset: 0x365, out: 0x87ab7dd048890000, outHI: 0x0
+swr :: offset: 0x366, out: 0x87ab7dd048895100, outHI: 0x0
+swr :: offset: 0x367, out: 0x87ab7dd0488951d6, outHI: 0x0
+swr :: offset: 0x368, out: 0x8b00000000000000, outHI: 0x0
+swr :: offset: 0x369, out: 0x8bf6000000000000, outHI: 0x0
+swr :: offset: 0x36a, out: 0x8bf6980000000000, outHI: 0x0
+swr :: offset: 0x36b, out: 0x8bf6982300000000, outHI: 0x0
+swr :: offset: 0x36c, out: 0x8bf6982367000000, outHI: 0x0
+swr :: offset: 0x36d, out: 0x8bf69823670e0000, outHI: 0x0
+swr :: offset: 0x36e, out: 0x8bf69823670e8200, outHI: 0x0
+swr :: offset: 0x36f, out: 0x8bf69823670e8247, outHI: 0x0
+swr :: offset: 0x370, out: 0x1b00000000000000, outHI: 0x0
+swr :: offset: 0x371, out: 0x1b36000000000000, outHI: 0x0
+swr :: offset: 0x372, out: 0x1b36880000000000, outHI: 0x0
+swr :: offset: 0x373, out: 0x1b36886c00000000, outHI: 0x0
+swr :: offset: 0x374, out: 0x1b36886c59000000, outHI: 0x0
+swr :: offset: 0x375, out: 0x1b36886c59d90000, outHI: 0x0
+swr :: offset: 0x376, out: 0x1b36886c59d98d00, outHI: 0x0
+swr :: offset: 0x377, out: 0x1b36886c59d98d26, outHI: 0x0
+swr :: offset: 0x378, out: 0xb200000000000000, outHI: 0x0
+swr :: offset: 0x379, out: 0xb209000000000000, outHI: 0x0
+swr :: offset: 0x37a, out: 0xb209ca0000000000, outHI: 0x0
+swr :: offset: 0x37b, out: 0xb209ca4b00000000, outHI: 0x0
+swr :: offset: 0x37c, out: 0xb209ca4bdb000000, outHI: 0x0
+swr :: offset: 0x37d, out: 0xb209ca4bdbd30000, outHI: 0x0
+swr :: offset: 0x37e, out: 0xb209ca4bdbd32b00, outHI: 0x0
+swr :: offset: 0x37f, out: 0xb209ca4bdbd32be4, outHI: 0x0
+swr :: offset: 0x380, out: 0x7900000000000000, outHI: 0x0
+swr :: offset: 0x381, out: 0x79fd000000000000, outHI: 0x0
+swr :: offset: 0x382, out: 0x79fd5d0000000000, outHI: 0x0
+swr :: offset: 0x383, out: 0x79fd5d7d00000000, outHI: 0x0
+swr :: offset: 0x384, out: 0x79fd5d7d1d000000, outHI: 0x0
+swr :: offset: 0x385, out: 0x79fd5d7d1d990000, outHI: 0x0
+swr :: offset: 0x386, out: 0x79fd5d7d1d996200, outHI: 0x0
+swr :: offset: 0x387, out: 0x79fd5d7d1d9962e6, outHI: 0x0
+swr :: offset: 0x388, out: 0x1f00000000000000, outHI: 0x0
+swr :: offset: 0x389, out: 0x1f3f000000000000, outHI: 0x0
+swr :: offset: 0x38a, out: 0x1f3f460000000000, outHI: 0x0
+swr :: offset: 0x38b, out: 0x1f3f465500000000, outHI: 0x0
+swr :: offset: 0x38c, out: 0x1f3f46553e000000, outHI: 0x0
+swr :: offset: 0x38d, out: 0x1f3f46553eca0000, outHI: 0x0
+swr :: offset: 0x38e, out: 0x1f3f46553ecad300, outHI: 0x0
+swr :: offset: 0x38f, out: 0x1f3f46553ecad374, outHI: 0x0
+swr :: offset: 0x390, out: 0xdf00000000000000, outHI: 0x0
+swr :: offset: 0x391, out: 0xdf2e000000000000, outHI: 0x0
+swr :: offset: 0x392, out: 0xdf2e9a0000000000, outHI: 0x0
+swr :: offset: 0x393, out: 0xdf2e9ab900000000, outHI: 0x0
+swr :: offset: 0x394, out: 0xdf2e9ab97d000000, outHI: 0x0
+swr :: offset: 0x395, out: 0xdf2e9ab97d3e0000, outHI: 0x0
+swr :: offset: 0x396, out: 0xdf2e9ab97d3eed00, outHI: 0x0
+swr :: offset: 0x397, out: 0xdf2e9ab97d3eedf2, outHI: 0x0
+swr :: offset: 0x398, out: 0xa700000000000000, outHI: 0x0
+swr :: offset: 0x399, out: 0xa736000000000000, outHI: 0x0
+swr :: offset: 0x39a, out: 0xa736a60000000000, outHI: 0x0
+swr :: offset: 0x39b, out: 0xa736a6f700000000, outHI: 0x0
+swr :: offset: 0x39c, out: 0xa736a6f7fa000000, outHI: 0x0
+swr :: offset: 0x39d, out: 0xa736a6f7fa3c0000, outHI: 0x0
+swr :: offset: 0x39e, out: 0xa736a6f7fa3c0c00, outHI: 0x0
+swr :: offset: 0x39f, out: 0xa736a6f7fa3c0c9f, outHI: 0x0
+swr :: offset: 0x3a0, out: 0x3300000000000000, outHI: 0x0
+swr :: offset: 0x3a1, out: 0x338b000000000000, outHI: 0x0
+swr :: offset: 0x3a2, out: 0x338bb90000000000, outHI: 0x0
+swr :: offset: 0x3a3, out: 0x338bb93800000000, outHI: 0x0
+swr :: offset: 0x3a4, out: 0x338bb938e3000000, outHI: 0x0
+swr :: offset: 0x3a5, out: 0x338bb938e3150000, outHI: 0x0
+swr :: offset: 0x3a6, out: 0x338bb938e3155e00, outHI: 0x0
+swr :: offset: 0x3a7, out: 0x338bb938e3155ec9, outHI: 0x0
+swr :: offset: 0x3a8, out: 0xdc00000000000000, outHI: 0x0
+swr :: offset: 0x3a9, out: 0xdcd2000000000000, outHI: 0x0
+swr :: offset: 0x3aa, out: 0xdcd2df0000000000, outHI: 0x0
+swr :: offset: 0x3ab, out: 0xdcd2df2500000000, outHI: 0x0
+swr :: offset: 0x3ac, out: 0xdcd2df25c4000000, outHI: 0x0
+swr :: offset: 0x3ad, out: 0xdcd2df25c4190000, outHI: 0x0
+swr :: offset: 0x3ae, out: 0xdcd2df25c4194700, outHI: 0x0
+swr :: offset: 0x3af, out: 0xdcd2df25c4194782, outHI: 0x0
+swr :: offset: 0x3b0, out: 0x600000000000000, outHI: 0x0
+swr :: offset: 0x3b1, out: 0x6bc000000000000, outHI: 0x0
+swr :: offset: 0x3b2, out: 0x6bc650000000000, outHI: 0x0
+swr :: offset: 0x3b3, out: 0x6bc65bf00000000, outHI: 0x0
+swr :: offset: 0x3b4, out: 0x6bc65bf27000000, outHI: 0x0
+swr :: offset: 0x3b5, out: 0x6bc65bf27eb0000, outHI: 0x0
+swr :: offset: 0x3b6, out: 0x6bc65bf27eb3200, outHI: 0x0
+swr :: offset: 0x3b7, out: 0x6bc65bf27eb3218, outHI: 0x0
+swr :: offset: 0x3b8, out: 0x2500000000000000, outHI: 0x0
+swr :: offset: 0x3b9, out: 0x25a8000000000000, outHI: 0x0
+swr :: offset: 0x3ba, out: 0x25a8b00000000000, outHI: 0x0
+swr :: offset: 0x3bb, out: 0x25a8b08f00000000, outHI: 0x0
+swr :: offset: 0x3bc, out: 0x25a8b08fe6000000, outHI: 0x0
+swr :: offset: 0x3bd, out: 0x25a8b08fe67a0000, outHI: 0x0
+swr :: offset: 0x3be, out: 0x25a8b08fe67a8b00, outHI: 0x0
+swr :: offset: 0x3bf, out: 0x25a8b08fe67a8bc7, outHI: 0x0
+swr :: offset: 0x3c0, out: 0xda00000000000000, outHI: 0x0
+swr :: offset: 0x3c1, out: 0xda85000000000000, outHI: 0x0
+swr :: offset: 0x3c2, out: 0xda852b0000000000, outHI: 0x0
+swr :: offset: 0x3c3, out: 0xda852b5b00000000, outHI: 0x0
+swr :: offset: 0x3c4, out: 0xda852b5bca000000, outHI: 0x0
+swr :: offset: 0x3c5, out: 0xda852b5bcaf80000, outHI: 0x0
+swr :: offset: 0x3c6, out: 0xda852b5bcaf8df00, outHI: 0x0
+swr :: offset: 0x3c7, out: 0xda852b5bcaf8dfcd, outHI: 0x0
+swr :: offset: 0x3c8, out: 0xe800000000000000, outHI: 0x0
+swr :: offset: 0x3c9, out: 0xe804000000000000, outHI: 0x0
+swr :: offset: 0x3ca, out: 0xe804780000000000, outHI: 0x0
+swr :: offset: 0x3cb, out: 0xe804789000000000, outHI: 0x0
+swr :: offset: 0x3cc, out: 0xe80478909b000000, outHI: 0x0
+swr :: offset: 0x3cd, out: 0xe80478909b590000, outHI: 0x0
+swr :: offset: 0x3ce, out: 0xe80478909b59a900, outHI: 0x0
+swr :: offset: 0x3cf, out: 0xe80478909b59a992, outHI: 0x0
+swr :: offset: 0x3d0, out: 0x6900000000000000, outHI: 0x0
+swr :: offset: 0x3d1, out: 0x69bf000000000000, outHI: 0x0
+swr :: offset: 0x3d2, out: 0x69bfb30000000000, outHI: 0x0
+swr :: offset: 0x3d3, out: 0x69bfb31c00000000, outHI: 0x0
+swr :: offset: 0x3d4, out: 0x69bfb31cc8000000, outHI: 0x0
+swr :: offset: 0x3d5, out: 0x69bfb31cc8780000, outHI: 0x0
+swr :: offset: 0x3d6, out: 0x69bfb31cc8785700, outHI: 0x0
+swr :: offset: 0x3d7, out: 0x69bfb31cc8785736, outHI: 0x0
+swr :: offset: 0x3d8, out: 0xf00000000000000, outHI: 0x0
+swr :: offset: 0x3d9, out: 0xfb6000000000000, outHI: 0x0
+swr :: offset: 0x3da, out: 0xfb6650000000000, outHI: 0x0
+swr :: offset: 0x3db, out: 0xfb665ed00000000, outHI: 0x0
+swr :: offset: 0x3dc, out: 0xfb665ed5e000000, outHI: 0x0
+swr :: offset: 0x3dd, out: 0xfb665ed5e7f0000, outHI: 0x0
+swr :: offset: 0x3de, out: 0xfb665ed5e7f8900, outHI: 0x0
+swr :: offset: 0x3df, out: 0xfb665ed5e7f89e9, outHI: 0x0
+swr :: offset: 0x3e0, out: 0xa200000000000000, outHI: 0x0
+swr :: offset: 0x3e1, out: 0xa215000000000000, outHI: 0x0
+swr :: offset: 0x3e2, out: 0xa215da0000000000, outHI: 0x0
+swr :: offset: 0x3e3, out: 0xa215da9400000000, outHI: 0x0
+swr :: offset: 0x3e4, out: 0xa215da9474000000, outHI: 0x0
+swr :: offset: 0x3e5, out: 0xa215da9474b70000, outHI: 0x0
+swr :: offset: 0x3e6, out: 0xa215da9474b7a800, outHI: 0x0
+swr :: offset: 0x3e7, out: 0xa215da9474b7a8d5, outHI: 0x0
+swr :: offset: 0x3e8, out: 0xe400000000000000, outHI: 0x0
+swr :: offset: 0x3e9, out: 0xe4f6000000000000, outHI: 0x0
+swr :: offset: 0x3ea, out: 0xe4f6b30000000000, outHI: 0x0
+swr :: offset: 0x3eb, out: 0xe4f6b35300000000, outHI: 0x0
+swr :: offset: 0x3ec, out: 0xe4f6b3537d000000, outHI: 0x0
+swr :: offset: 0x3ed, out: 0xe4f6b3537d2a0000, outHI: 0x0
+swr :: offset: 0x3ee, out: 0xe4f6b3537d2af900, outHI: 0x0
+swr :: offset: 0x3ef, out: 0xe4f6b3537d2af90f, outHI: 0x0
+swr :: offset: 0x3f0, out: 0xcc00000000000000, outHI: 0x0
+swr :: offset: 0x3f1, out: 0xcc22000000000000, outHI: 0x0
+swr :: offset: 0x3f2, out: 0xcc223d0000000000, outHI: 0x0
+swr :: offset: 0x3f3, out: 0xcc223d7c00000000, outHI: 0x0
+swr :: offset: 0x3f4, out: 0xcc223d7cfe000000, outHI: 0x0
+swr :: offset: 0x3f5, out: 0xcc223d7cfe2b0000, outHI: 0x0
+swr :: offset: 0x3f6, out: 0xcc223d7cfe2b9600, outHI: 0x0
+swr :: offset: 0x3f7, out: 0xcc223d7cfe2b9618, outHI: 0x0
+swr :: offset: 0x3f8, out: 0x9700000000000000, outHI: 0x0
+swr :: offset: 0x3f9, out: 0x9742000000000000, outHI: 0x0
+swr :: offset: 0x3fa, out: 0x97420b0000000000, outHI: 0x0
+swr :: offset: 0x3fb, out: 0x97420b3400000000, outHI: 0x0
+swr :: offset: 0x3fc, out: 0x97420b34f5000000, outHI: 0x0
+swr :: offset: 0x3fd, out: 0x97420b34f5330000, outHI: 0x0
+swr :: offset: 0x3fe, out: 0x97420b34f5337300, outHI: 0x0
+swr :: offset: 0x3ff, out: 0x97420b34f533734a, outHI: 0x0
+swr :: offset: 0x400, out: 0x4b00000000000000, outHI: 0x0
+swr :: offset: 0x401, out: 0x4b89000000000000, outHI: 0x0
+swr :: offset: 0x402, out: 0x4b897c0000000000, outHI: 0x0
+swr :: offset: 0x403, out: 0x4b897c8c00000000, outHI: 0x0
+swr :: offset: 0x404, out: 0x4b897c8c8d000000, outHI: 0x0
+swr :: offset: 0x405, out: 0x4b897c8c8ddd0000, outHI: 0x0
+swr :: offset: 0x406, out: 0x4b897c8c8ddd4600, outHI: 0x0
+swr :: offset: 0x407, out: 0x4b897c8c8ddd46b3, outHI: 0x0
+swr :: offset: 0x408, out: 0x3c00000000000000, outHI: 0x0
+swr :: offset: 0x409, out: 0x3c7a000000000000, outHI: 0x0
+swr :: offset: 0x40a, out: 0x3c7a380000000000, outHI: 0x0
+swr :: offset: 0x40b, out: 0x3c7a387400000000, outHI: 0x0
+swr :: offset: 0x40c, out: 0x3c7a387445000000, outHI: 0x0
+swr :: offset: 0x40d, out: 0x3c7a387445e30000, outHI: 0x0
+swr :: offset: 0x40e, out: 0x3c7a387445e39200, outHI: 0x0
+swr :: offset: 0x40f, out: 0x3c7a387445e392cc, outHI: 0x0
+swr :: offset: 0x410, out: 0xd900000000000000, outHI: 0x0
+swr :: offset: 0x411, out: 0xd951000000000000, outHI: 0x0
+swr :: offset: 0x412, out: 0xd9512f0000000000, outHI: 0x0
+swr :: offset: 0x413, out: 0xd9512f2900000000, outHI: 0x0
+swr :: offset: 0x414, out: 0xd9512f29b1000000, outHI: 0x0
+swr :: offset: 0x415, out: 0xd9512f29b1d80000, outHI: 0x0
+swr :: offset: 0x416, out: 0xd9512f29b1d80000, outHI: 0x0
+swr :: offset: 0x417, out: 0xd9512f29b1d80000, outHI: 0x0
+swr :: offset: 0x418, out: 0xc900000000000000, outHI: 0x0
+swr :: offset: 0x419, out: 0xc9ea000000000000, outHI: 0x0
+swr :: offset: 0x41a, out: 0xc9eade0000000000, outHI: 0x0
+swr :: offset: 0x41b, out: 0xc9eaded500000000, outHI: 0x0
+swr :: offset: 0x41c, out: 0xc9eaded5c5000000, outHI: 0x0
+swr :: offset: 0x41d, out: 0xc9eaded5c53d0000, outHI: 0x0
+swr :: offset: 0x41e, out: 0xc9eaded5c53dad00, outHI: 0x0
+swr :: offset: 0x41f, out: 0xc9eaded5c53dad02, outHI: 0x0
+swr :: offset: 0x420, out: 0xa00000000000000, outHI: 0x0
+swr :: offset: 0x421, out: 0xa8a000000000000, outHI: 0x0
+swr :: offset: 0x422, out: 0xa8a620000000000, outHI: 0x0
+swr :: offset: 0x423, out: 0xa8a622900000000, outHI: 0x0
+swr :: offset: 0x424, out: 0xa8a6229d7000000, outHI: 0x0
+swr :: offset: 0x425, out: 0xa8a6229d7310000, outHI: 0x0
+swr :: offset: 0x426, out: 0xa8a6229d731ee00, outHI: 0x0
+swr :: offset: 0x427, out: 0xa8a6229d731eea3, outHI: 0x0
+swr :: offset: 0x428, out: 0x5b00000000000000, outHI: 0x0
+swr :: offset: 0x429, out: 0x5b2c000000000000, outHI: 0x0
+swr :: offset: 0x42a, out: 0x5b2c3c0000000000, outHI: 0x0
+swr :: offset: 0x42b, out: 0x5b2c3c3f00000000, outHI: 0x0
+swr :: offset: 0x42c, out: 0x5b2c3c3f9e000000, outHI: 0x0
+swr :: offset: 0x42d, out: 0x5b2c3c3f9e480000, outHI: 0x0
+swr :: offset: 0x42e, out: 0x5b2c3c3f9e489800, outHI: 0x0
+swr :: offset: 0x42f, out: 0x5b2c3c3f9e489856, outHI: 0x0
+swr :: offset: 0x430, out: 0x4900000000000000, outHI: 0x0
+swr :: offset: 0x431, out: 0x497f000000000000, outHI: 0x0
+swr :: offset: 0x432, out: 0x497ff60000000000, outHI: 0x0
+swr :: offset: 0x433, out: 0x497ff61e00000000, outHI: 0x0
+swr :: offset: 0x434, out: 0x497ff61e78000000, outHI: 0x0
+swr :: offset: 0x435, out: 0x497ff61e78dc0000, outHI: 0x0
+swr :: offset: 0x436, out: 0x497ff61e78dc9c00, outHI: 0x0
+swr :: offset: 0x437, out: 0x497ff61e78dc9c0b, outHI: 0x0
+swr :: offset: 0x438, out: 0x7700000000000000, outHI: 0x0
+swr :: offset: 0x439, out: 0x7722000000000000, outHI: 0x0
+swr :: offset: 0x43a, out: 0x7722990000000000, outHI: 0x0
+swr :: offset: 0x43b, out: 0x772299b000000000, outHI: 0x0
+swr :: offset: 0x43c, out: 0x772299b0e0000000, outHI: 0x0
+swr :: offset: 0x43d, out: 0x772299b0e01d0000, outHI: 0x0
+swr :: offset: 0x43e, out: 0x772299b0e01d5e00, outHI: 0x0
+swr :: offset: 0x43f, out: 0x772299b0e01d5e68, outHI: 0x0
+swr :: offset: 0x440, out: 0xec00000000000000, outHI: 0x0
+swr :: offset: 0x441, out: 0xec7c000000000000, outHI: 0x0
+swr :: offset: 0x442, out: 0xec7c3b0000000000, outHI: 0x0
+swr :: offset: 0x443, out: 0xec7c3b0400000000, outHI: 0x0
+swr :: offset: 0x444, out: 0xec7c3b0467000000, outHI: 0x0
+swr :: offset: 0x445, out: 0xec7c3b04673d0000, outHI: 0x0
+swr :: offset: 0x446, out: 0xec7c3b04673d0c00, outHI: 0x0
+swr :: offset: 0x447, out: 0xec7c3b04673d0c6e, outHI: 0x0
+swr :: offset: 0x448, out: 0x2500000000000000, outHI: 0x0
+swr :: offset: 0x449, out: 0x2516000000000000, outHI: 0x0
+swr :: offset: 0x44a, out: 0x25164e0000000000, outHI: 0x0
+swr :: offset: 0x44b, out: 0x25164e1700000000, outHI: 0x0
+swr :: offset: 0x44c, out: 0x25164e17c1000000, outHI: 0x0
+swr :: offset: 0x44d, out: 0x25164e17c1e70000, outHI: 0x0
+swr :: offset: 0x44e, out: 0x25164e17c1e7fb00, outHI: 0x0
+swr :: offset: 0x44f, out: 0x25164e17c1e7fb65, outHI: 0x0
+swr :: offset: 0x450, out: 0x8700000000000000, outHI: 0x0
+swr :: offset: 0x451, out: 0x87fa000000000000, outHI: 0x0
+swr :: offset: 0x452, out: 0x87fa4c0000000000, outHI: 0x0
+swr :: offset: 0x453, out: 0x87fa4ca200000000, outHI: 0x0
+swr :: offset: 0x454, out: 0x87fa4ca28b000000, outHI: 0x0
+swr :: offset: 0x455, out: 0x87fa4ca28b560000, outHI: 0x0
+swr :: offset: 0x456, out: 0x87fa4ca28b56d400, outHI: 0x0
+swr :: offset: 0x457, out: 0x87fa4ca28b56d495, outHI: 0x0
+swr :: offset: 0x458, out: 0xb00000000000000, outHI: 0x0
+swr :: offset: 0x459, out: 0xbe5000000000000, outHI: 0x0
+swr :: offset: 0x45a, out: 0xbe5e90000000000, outHI: 0x0
+swr :: offset: 0x45b, out: 0xbe5e9a300000000, outHI: 0x0
+swr :: offset: 0x45c, out: 0xbe5e9a314000000, outHI: 0x0
+swr :: offset: 0x45d, out: 0xbe5e9a314be0000, outHI: 0x0
+swr :: offset: 0x45e, out: 0xbe5e9a314be7f00, outHI: 0x0
+swr :: offset: 0x45f, out: 0xbe5e9a314be7fa0, outHI: 0x0
+swr :: offset: 0x460, out: 0x8a00000000000000, outHI: 0x0
+swr :: offset: 0x461, out: 0x8af8000000000000, outHI: 0x0
+swr :: offset: 0x462, out: 0x8af8be0000000000, outHI: 0x0
+swr :: offset: 0x463, out: 0x8af8be8100000000, outHI: 0x0
+swr :: offset: 0x464, out: 0x8af8be8164000000, outHI: 0x0
+swr :: offset: 0x465, out: 0x8af8be8164150000, outHI: 0x0
+swr :: offset: 0x466, out: 0x8af8be8164159600, outHI: 0x0
+swr :: offset: 0x467, out: 0x8af8be8164159649, outHI: 0x0
+swr :: offset: 0x468, out: 0xc500000000000000, outHI: 0x0
+swr :: offset: 0x469, out: 0xc57c000000000000, outHI: 0x0
+swr :: offset: 0x46a, out: 0xc57ca30000000000, outHI: 0x0
+swr :: offset: 0x46b, out: 0xc57ca32500000000, outHI: 0x0
+swr :: offset: 0x46c, out: 0xc57ca32597000000, outHI: 0x0
+swr :: offset: 0x46d, out: 0xc57ca32597840000, outHI: 0x0
+swr :: offset: 0x46e, out: 0xc57ca3259784e600, outHI: 0x0
+swr :: offset: 0x46f, out: 0xc57ca3259784e69b, outHI: 0x0
+swr :: offset: 0x470, out: 0x1700000000000000, outHI: 0x0
+swr :: offset: 0x471, out: 0x17fc000000000000, outHI: 0x0
+swr :: offset: 0x472, out: 0x17fc8d0000000000, outHI: 0x0
+swr :: offset: 0x473, out: 0x17fc8d5400000000, outHI: 0x0
+swr :: offset: 0x474, out: 0x17fc8d543c000000, outHI: 0x0
+swr :: offset: 0x475, out: 0x17fc8d543ca10000, outHI: 0x0
+swr :: offset: 0x476, out: 0x17fc8d543ca1f200, outHI: 0x0
+swr :: offset: 0x477, out: 0x17fc8d543ca1f24f, outHI: 0x0
+swr :: offset: 0x478, out: 0x5c00000000000000, outHI: 0x0
+swr :: offset: 0x479, out: 0x5c4a000000000000, outHI: 0x0
+swr :: offset: 0x47a, out: 0x5c4aeb0000000000, outHI: 0x0
+swr :: offset: 0x47b, out: 0x5c4aeb6c00000000, outHI: 0x0
+swr :: offset: 0x47c, out: 0x5c4aeb6ca0000000, outHI: 0x0
+swr :: offset: 0x47d, out: 0x5c4aeb6ca0e30000, outHI: 0x0
+swr :: offset: 0x47e, out: 0x5c4aeb6ca0e34500, outHI: 0x0
+swr :: offset: 0x47f, out: 0x5c4aeb6ca0e3459e, outHI: 0x0
+swr :: offset: 0x480, out: 0x3600000000000000, outHI: 0x0
+swr :: offset: 0x481, out: 0x36c5000000000000, outHI: 0x0
+swr :: offset: 0x482, out: 0x36c5320000000000, outHI: 0x0
+swr :: offset: 0x483, out: 0x36c532e100000000, outHI: 0x0
+swr :: offset: 0x484, out: 0x36c532e18e000000, outHI: 0x0
+swr :: offset: 0x485, out: 0x36c532e18e180000, outHI: 0x0
+swr :: offset: 0x486, out: 0x36c532e18e187900, outHI: 0x0
+swr :: offset: 0x487, out: 0x36c532e18e187980, outHI: 0x0
+swr :: offset: 0x488, out: 0xfa00000000000000, outHI: 0x0
+swr :: offset: 0x489, out: 0xfab3000000000000, outHI: 0x0
+swr :: offset: 0x48a, out: 0xfab3fd0000000000, outHI: 0x0
+swr :: offset: 0x48b, out: 0xfab3fdec00000000, outHI: 0x0
+swr :: offset: 0x48c, out: 0xfab3fdec29000000, outHI: 0x0
+swr :: offset: 0x48d, out: 0xfab3fdec294f0000, outHI: 0x0
+swr :: offset: 0x48e, out: 0xfab3fdec294f2800, outHI: 0x0
+swr :: offset: 0x48f, out: 0xfab3fdec294f287d, outHI: 0x0
+swr :: offset: 0x490, out: 0x1c00000000000000, outHI: 0x0
+swr :: offset: 0x491, out: 0x1cb6000000000000, outHI: 0x0
+swr :: offset: 0x492, out: 0x1cb6200000000000, outHI: 0x0
+swr :: offset: 0x493, out: 0x1cb6206600000000, outHI: 0x0
+swr :: offset: 0x494, out: 0x1cb620660a000000, outHI: 0x0
+swr :: offset: 0x495, out: 0x1cb620660a490000, outHI: 0x0
+swr :: offset: 0x496, out: 0x1cb620660a497300, outHI: 0x0
+swr :: offset: 0x497, out: 0x1cb620660a49732b, outHI: 0x0
+swr :: offset: 0x498, out: 0x9000000000000000, outHI: 0x0
+swr :: offset: 0x499, out: 0x9099000000000000, outHI: 0x0
+swr :: offset: 0x49a, out: 0x9099310000000000, outHI: 0x0
+swr :: offset: 0x49b, out: 0x9099313800000000, outHI: 0x0
+swr :: offset: 0x49c, out: 0x90993138f1000000, outHI: 0x0
+swr :: offset: 0x49d, out: 0x90993138f16c0000, outHI: 0x0
+swr :: offset: 0x49e, out: 0x90993138f16cfd00, outHI: 0x0
+swr :: offset: 0x49f, out: 0x90993138f16cfde9, outHI: 0x0
+swr :: offset: 0x4a0, out: 0x9100000000000000, outHI: 0x0
+swr :: offset: 0x4a1, out: 0x91de000000000000, outHI: 0x0
+swr :: offset: 0x4a2, out: 0x91de020000000000, outHI: 0x0
+swr :: offset: 0x4a3, out: 0x91de02d100000000, outHI: 0x0
+swr :: offset: 0x4a4, out: 0x91de02d133000000, outHI: 0x0
+swr :: offset: 0x4a5, out: 0x91de02d1337d0000, outHI: 0x0
+swr :: offset: 0x4a6, out: 0x91de02d1337d5400, outHI: 0x0
+swr :: offset: 0x4a7, out: 0x91de02d1337d5407, outHI: 0x0
+swr :: offset: 0x4a8, out: 0xb900000000000000, outHI: 0x0
+swr :: offset: 0x4a9, out: 0xb913000000000000, outHI: 0x0
+swr :: offset: 0x4aa, out: 0xb913a30000000000, outHI: 0x0
+swr :: offset: 0x4ab, out: 0xb913a39000000000, outHI: 0x0
+swr :: offset: 0x4ac, out: 0xb913a390e1000000, outHI: 0x0
+swr :: offset: 0x4ad, out: 0xb913a390e1e10000, outHI: 0x0
+swr :: offset: 0x4ae, out: 0xb913a390e1e1da00, outHI: 0x0
+swr :: offset: 0x4af, out: 0xb913a390e1e1dab1, outHI: 0x0
+swr :: offset: 0x4b0, out: 0x5a00000000000000, outHI: 0x0
+swr :: offset: 0x4b1, out: 0x5a74000000000000, outHI: 0x0
+swr :: offset: 0x4b2, out: 0x5a74340000000000, outHI: 0x0
+swr :: offset: 0x4b3, out: 0x5a74349100000000, outHI: 0x0
+swr :: offset: 0x4b4, out: 0x5a743491a6000000, outHI: 0x0
+swr :: offset: 0x4b5, out: 0x5a743491a6820000, outHI: 0x0
+swr :: offset: 0x4b6, out: 0x5a743491a6828700, outHI: 0x0
+swr :: offset: 0x4b7, out: 0x5a743491a6828716, outHI: 0x0
+swr :: offset: 0x4b8, out: 0xc800000000000000, outHI: 0x0
+swr :: offset: 0x4b9, out: 0xc88c000000000000, outHI: 0x0
+swr :: offset: 0x4ba, out: 0xc88cff0000000000, outHI: 0x0
+swr :: offset: 0x4bb, out: 0xc88cff4000000000, outHI: 0x0
+swr :: offset: 0x4bc, out: 0xc88cff404a000000, outHI: 0x0
+swr :: offset: 0x4bd, out: 0xc88cff404aed0000, outHI: 0x0
+swr :: offset: 0x4be, out: 0xc88cff404aede200, outHI: 0x0
+swr :: offset: 0x4bf, out: 0xc88cff404aede292, outHI: 0x0
+swr :: offset: 0x4c0, out: 0xf200000000000000, outHI: 0x0
+swr :: offset: 0x4c1, out: 0xf2b9000000000000, outHI: 0x0
+swr :: offset: 0x4c2, out: 0xf2b9ce0000000000, outHI: 0x0
+swr :: offset: 0x4c3, out: 0xf2b9cec000000000, outHI: 0x0
+swr :: offset: 0x4c4, out: 0xf2b9cec0db000000, outHI: 0x0
+swr :: offset: 0x4c5, out: 0xf2b9cec0db1f0000, outHI: 0x0
+swr :: offset: 0x4c6, out: 0xf2b9cec0db1f8300, outHI: 0x0
+swr :: offset: 0x4c7, out: 0xf2b9cec0db1f8376, outHI: 0x0
+swr :: offset: 0x4c8, out: 0x3600000000000000, outHI: 0x0
+swr :: offset: 0x4c9, out: 0x362e000000000000, outHI: 0x0
+swr :: offset: 0x4ca, out: 0x362eaa0000000000, outHI: 0x0
+swr :: offset: 0x4cb, out: 0x362eaa5a00000000, outHI: 0x0
+swr :: offset: 0x4cc, out: 0x362eaa5aa7000000, outHI: 0x0
+swr :: offset: 0x4cd, out: 0x362eaa5aa7050000, outHI: 0x0
+swr :: offset: 0x4ce, out: 0x362eaa5aa7050900, outHI: 0x0
+swr :: offset: 0x4cf, out: 0x362eaa5aa7050977, outHI: 0x0
+swr :: offset: 0x4d0, out: 0x1c00000000000000, outHI: 0x0
+swr :: offset: 0x4d1, out: 0x1cd3000000000000, outHI: 0x0
+swr :: offset: 0x4d2, out: 0x1cd3270000000000, outHI: 0x0
+swr :: offset: 0x4d3, out: 0x1cd3275300000000, outHI: 0x0
+swr :: offset: 0x4d4, out: 0x1cd327538e000000, outHI: 0x0
+swr :: offset: 0x4d5, out: 0x1cd327538e180000, outHI: 0x0
+swr :: offset: 0x4d6, out: 0x1cd327538e187500, outHI: 0x0
+swr :: offset: 0x4d7, out: 0x1cd327538e187524, outHI: 0x0
+swr :: offset: 0x4d8, out: 0x1b00000000000000, outHI: 0x0
+swr :: offset: 0x4d9, out: 0x1b42000000000000, outHI: 0x0
+swr :: offset: 0x4da, out: 0x1b42e90000000000, outHI: 0x0
+swr :: offset: 0x4db, out: 0x1b42e9f800000000, outHI: 0x0
+swr :: offset: 0x4dc, out: 0x1b42e9f854000000, outHI: 0x0
+swr :: offset: 0x4dd, out: 0x1b42e9f8548b0000, outHI: 0x0
+swr :: offset: 0x4de, out: 0x1b42e9f8548b7300, outHI: 0x0
+swr :: offset: 0x4df, out: 0x1b42e9f8548b739b, outHI: 0x0
+swr :: offset: 0x4e0, out: 0x6b00000000000000, outHI: 0x0
+swr :: offset: 0x4e1, out: 0x6b78000000000000, outHI: 0x0
+swr :: offset: 0x4e2, out: 0x6b78e40000000000, outHI: 0x0
+swr :: offset: 0x4e3, out: 0x6b78e4e500000000, outHI: 0x0
+swr :: offset: 0x4e4, out: 0x6b78e4e50c000000, outHI: 0x0
+swr :: offset: 0x4e5, out: 0x6b78e4e50cec0000, outHI: 0x0
+swr :: offset: 0x4e6, out: 0x6b78e4e50ceccb00, outHI: 0x0
+swr :: offset: 0x4e7, out: 0x6b78e4e50ceccbba, outHI: 0x0
+swr :: offset: 0x4e8, out: 0x1a00000000000000, outHI: 0x0
+swr :: offset: 0x4e9, out: 0x1af6000000000000, outHI: 0x0
+swr :: offset: 0x4ea, out: 0x1af6b60000000000, outHI: 0x0
+swr :: offset: 0x4eb, out: 0x1af6b6fa00000000, outHI: 0x0
+swr :: offset: 0x4ec, out: 0x1af6b6fa3f000000, outHI: 0x0
+swr :: offset: 0x4ed, out: 0x1af6b6fa3fcd0000, outHI: 0x0
+swr :: offset: 0x4ee, out: 0x1af6b6fa3fcd9d00, outHI: 0x0
+swr :: offset: 0x4ef, out: 0x1af6b6fa3fcd9d27, outHI: 0x0
+swr :: offset: 0x4f0, out: 0xcb00000000000000, outHI: 0x0
+swr :: offset: 0x4f1, out: 0xcb73000000000000, outHI: 0x0
+swr :: offset: 0x4f2, out: 0xcb73910000000000, outHI: 0x0
+swr :: offset: 0x4f3, out: 0xcb73916400000000, outHI: 0x0
+swr :: offset: 0x4f4, out: 0xcb73916483000000, outHI: 0x0
+swr :: offset: 0x4f5, out: 0xcb73916483ae0000, outHI: 0x0
+swr :: offset: 0x4f6, out: 0xcb73916483ae3e00, outHI: 0x0
+swr :: offset: 0x4f7, out: 0xcb73916483ae3e94, outHI: 0x0
+swr :: offset: 0x4f8, out: 0x2300000000000000, outHI: 0x0
+swr :: offset: 0x4f9, out: 0x2327000000000000, outHI: 0x0
+swr :: offset: 0x4fa, out: 0x23276a0000000000, outHI: 0x0
+swr :: offset: 0x4fb, out: 0x23276af700000000, outHI: 0x0
+swr :: offset: 0x4fc, out: 0x23276af70a000000, outHI: 0x0
+swr :: offset: 0x4fd, out: 0x23276af70a0e0000, outHI: 0x0
+swr :: offset: 0x4fe, out: 0x23276af70a0e1200, outHI: 0x0
+swr :: offset: 0x4ff, out: 0x23276af70a0e1285, outHI: 0x0
+swr :: offset: 0x500, out: 0x6100000000000000, outHI: 0x0
+swr :: offset: 0x501, out: 0x6103000000000000, outHI: 0x0
+swr :: offset: 0x502, out: 0x6103040000000000, outHI: 0x0
+swr :: offset: 0x503, out: 0x6103045b00000000, outHI: 0x0
+swr :: offset: 0x504, out: 0x6103045bf6000000, outHI: 0x0
+swr :: offset: 0x505, out: 0x6103045bf6b50000, outHI: 0x0
+swr :: offset: 0x506, out: 0x6103045bf6b5e700, outHI: 0x0
+swr :: offset: 0x507, out: 0x6103045bf6b5e74b, outHI: 0x0
+swr :: offset: 0x508, out: 0x6e00000000000000, outHI: 0x0
+swr :: offset: 0x509, out: 0x6e20000000000000, outHI: 0x0
+swr :: offset: 0x50a, out: 0x6e20220000000000, outHI: 0x0
+swr :: offset: 0x50b, out: 0x6e20223f00000000, outHI: 0x0
+swr :: offset: 0x50c, out: 0x6e20223f13000000, outHI: 0x0
+swr :: offset: 0x50d, out: 0x6e20223f13080000, outHI: 0x0
+swr :: offset: 0x50e, out: 0x6e20223f1308ac00, outHI: 0x0
+swr :: offset: 0x50f, out: 0x6e20223f1308accf, outHI: 0x0
+swr :: offset: 0x510, out: 0xa600000000000000, outHI: 0x0
+swr :: offset: 0x511, out: 0xa6f8000000000000, outHI: 0x0
+swr :: offset: 0x512, out: 0xa6f83c0000000000, outHI: 0x0
+swr :: offset: 0x513, out: 0xa6f83c5500000000, outHI: 0x0
+swr :: offset: 0x514, out: 0xa6f83c5574000000, outHI: 0x0
+swr :: offset: 0x515, out: 0xa6f83c5574390000, outHI: 0x0
+swr :: offset: 0x516, out: 0xa6f83c5574397600, outHI: 0x0
+swr :: offset: 0x517, out: 0xa6f83c55743976b5, outHI: 0x0
+swr :: offset: 0x518, out: 0xf500000000000000, outHI: 0x0
+swr :: offset: 0x519, out: 0xf51f000000000000, outHI: 0x0
+swr :: offset: 0x51a, out: 0xf51f970000000000, outHI: 0x0
+swr :: offset: 0x51b, out: 0xf51f972000000000, outHI: 0x0
+swr :: offset: 0x51c, out: 0xf51f9720f9000000, outHI: 0x0
+swr :: offset: 0x51d, out: 0xf51f9720f9460000, outHI: 0x0
+swr :: offset: 0x51e, out: 0xf51f9720f9469200, outHI: 0x0
+swr :: offset: 0x51f, out: 0xf51f9720f946923c, outHI: 0x0
+swr :: offset: 0x520, out: 0x3d00000000000000, outHI: 0x0
+swr :: offset: 0x521, out: 0x3d62000000000000, outHI: 0x0
+swr :: offset: 0x522, out: 0x3d620d0000000000, outHI: 0x0
+swr :: offset: 0x523, out: 0x3d620d2800000000, outHI: 0x0
+swr :: offset: 0x524, out: 0x3d620d2850000000, outHI: 0x0
+swr :: offset: 0x525, out: 0x3d620d28506d0000, outHI: 0x0
+swr :: offset: 0x526, out: 0x3d620d28506d2400, outHI: 0x0
+swr :: offset: 0x527, out: 0x3d620d28506d2448, outHI: 0x0
+swr :: offset: 0x528, out: 0xdd00000000000000, outHI: 0x0
+swr :: offset: 0x529, out: 0xdd60000000000000, outHI: 0x0
+swr :: offset: 0x52a, out: 0xdd60a50000000000, outHI: 0x0
+swr :: offset: 0x52b, out: 0xdd60a52100000000, outHI: 0x0
+swr :: offset: 0x52c, out: 0xdd60a521e9000000, outHI: 0x0
+swr :: offset: 0x52d, out: 0xdd60a521e99f0000, outHI: 0x0
+swr :: offset: 0x52e, out: 0xdd60a521e99ff400, outHI: 0x0
+swr :: offset: 0x52f, out: 0xdd60a521e99ff4a7, outHI: 0x0
+swr :: offset: 0x530, out: 0x3200000000000000, outHI: 0x0
+swr :: offset: 0x531, out: 0x325a000000000000, outHI: 0x0
+swr :: offset: 0x532, out: 0x325a080000000000, outHI: 0x0
+swr :: offset: 0x533, out: 0x325a08f300000000, outHI: 0x0
+swr :: offset: 0x534, out: 0x325a08f3ab000000, outHI: 0x0
+swr :: offset: 0x535, out: 0x325a08f3ab5c0000, outHI: 0x0
+swr :: offset: 0x536, out: 0x325a08f3ab5c6800, outHI: 0x0
+swr :: offset: 0x537, out: 0x325a08f3ab5c680f, outHI: 0x0
+swr :: offset: 0x538, out: 0xb00000000000000, outHI: 0x0
+swr :: offset: 0x539, out: 0xbc7000000000000, outHI: 0x0
+swr :: offset: 0x53a, out: 0xbc7a50000000000, outHI: 0x0
+swr :: offset: 0x53b, out: 0xbc7a59b00000000, outHI: 0x0
+swr :: offset: 0x53c, out: 0xbc7a59be7000000, outHI: 0x0
+swr :: offset: 0x53d, out: 0xbc7a59be7800000, outHI: 0x0
+swr :: offset: 0x53e, out: 0xbc7a59be7800f00, outHI: 0x0
+swr :: offset: 0x53f, out: 0xbc7a59be7800f3d, outHI: 0x0
+swr :: offset: 0x540, out: 0x2600000000000000, outHI: 0x0
+swr :: offset: 0x541, out: 0x261a000000000000, outHI: 0x0
+swr :: offset: 0x542, out: 0x261aec0000000000, outHI: 0x0
+swr :: offset: 0x543, out: 0x261aecdf00000000, outHI: 0x0
+swr :: offset: 0x544, out: 0x261aecdf29000000, outHI: 0x0
+swr :: offset: 0x545, out: 0x261aecdf29820000, outHI: 0x0
+swr :: offset: 0x546, out: 0x261aecdf2982ca00, outHI: 0x0
+swr :: offset: 0x547, out: 0x261aecdf2982ca1b, outHI: 0x0
+swr :: offset: 0x548, out: 0x4100000000000000, outHI: 0x0
+swr :: offset: 0x549, out: 0x412b000000000000, outHI: 0x0
+swr :: offset: 0x54a, out: 0x412b860000000000, outHI: 0x0
+swr :: offset: 0x54b, out: 0x412b861300000000, outHI: 0x0
+swr :: offset: 0x54c, out: 0x412b8613a2000000, outHI: 0x0
+swr :: offset: 0x54d, out: 0x412b8613a2600000, outHI: 0x0
+swr :: offset: 0x54e, out: 0x412b8613a260d100, outHI: 0x0
+swr :: offset: 0x54f, out: 0x412b8613a260d19d, outHI: 0x0
+swr :: offset: 0x550, out: 0xcd00000000000000, outHI: 0x0
+swr :: offset: 0x551, out: 0xcd25000000000000, outHI: 0x0
+swr :: offset: 0x552, out: 0xcd25180000000000, outHI: 0x0
+swr :: offset: 0x553, out: 0xcd2518ac00000000, outHI: 0x0
+swr :: offset: 0x554, out: 0xcd2518ac8b000000, outHI: 0x0
+swr :: offset: 0x555, out: 0xcd2518ac8b0e0000, outHI: 0x0
+swr :: offset: 0x556, out: 0xcd2518ac8b0e8b00, outHI: 0x0
+swr :: offset: 0x557, out: 0xcd2518ac8b0e8bbe, outHI: 0x0
+swr :: offset: 0x558, out: 0x7f00000000000000, outHI: 0x0
+swr :: offset: 0x559, out: 0x7f74000000000000, outHI: 0x0
+swr :: offset: 0x55a, out: 0x7f743e0000000000, outHI: 0x0
+swr :: offset: 0x55b, out: 0x7f743e5600000000, outHI: 0x0
+swr :: offset: 0x55c, out: 0x7f743e568d000000, outHI: 0x0
+swr :: offset: 0x55d, out: 0x7f743e568d2f0000, outHI: 0x0
+swr :: offset: 0x55e, out: 0x7f743e568d2fcf00, outHI: 0x0
+swr :: offset: 0x55f, out: 0x7f743e568d2fcf48, outHI: 0x0
+swr :: offset: 0x560, out: 0x6b00000000000000, outHI: 0x0
+swr :: offset: 0x561, out: 0x6b12000000000000, outHI: 0x0
+swr :: offset: 0x562, out: 0x6b126f0000000000, outHI: 0x0
+swr :: offset: 0x563, out: 0x6b126f6400000000, outHI: 0x0
+swr :: offset: 0x564, out: 0x6b126f646f000000, outHI: 0x0
+swr :: offset: 0x565, out: 0x6b126f646f340000, outHI: 0x0
+swr :: offset: 0x566, out: 0x6b126f646f34c300, outHI: 0x0
+swr :: offset: 0x567, out: 0x6b126f646f34c317, outHI: 0x0
+swr :: offset: 0x568, out: 0x2800000000000000, outHI: 0x0
+swr :: offset: 0x569, out: 0x28aa000000000000, outHI: 0x0
+swr :: offset: 0x56a, out: 0x28aab00000000000, outHI: 0x0
+swr :: offset: 0x56b, out: 0x28aab01900000000, outHI: 0x0
+swr :: offset: 0x56c, out: 0x28aab01961000000, outHI: 0x0
+swr :: offset: 0x56d, out: 0x28aab01961560000, outHI: 0x0
+swr :: offset: 0x56e, out: 0x28aab0196156fc00, outHI: 0x0
+swr :: offset: 0x56f, out: 0x28aab0196156fc4d, outHI: 0x0
+swr :: offset: 0x570, out: 0x1200000000000000, outHI: 0x0
+swr :: offset: 0x571, out: 0x1275000000000000, outHI: 0x0
+swr :: offset: 0x572, out: 0x1275350000000000, outHI: 0x0
+swr :: offset: 0x573, out: 0x127535cd00000000, outHI: 0x0
+swr :: offset: 0x574, out: 0x127535cd33000000, outHI: 0x0
+swr :: offset: 0x575, out: 0x127535cd33850000, outHI: 0x0
+swr :: offset: 0x576, out: 0x127535cd33859500, outHI: 0x0
+swr :: offset: 0x577, out: 0x127535cd338595d3, outHI: 0x0
+swr :: offset: 0x578, out: 0x4200000000000000, outHI: 0x0
+swr :: offset: 0x579, out: 0x42df000000000000, outHI: 0x0
+swr :: offset: 0x57a, out: 0x42dfb20000000000, outHI: 0x0
+swr :: offset: 0x57b, out: 0x42dfb25400000000, outHI: 0x0
+swr :: offset: 0x57c, out: 0x42dfb254da000000, outHI: 0x0
+swr :: offset: 0x57d, out: 0x42dfb254da420000, outHI: 0x0
+swr :: offset: 0x57e, out: 0x42dfb254da422300, outHI: 0x0
+swr :: offset: 0x57f, out: 0x42dfb254da422346, outHI: 0x0
+swr :: offset: 0x580, out: 0xec00000000000000, outHI: 0x0
+swr :: offset: 0x581, out: 0xeca8000000000000, outHI: 0x0
+swr :: offset: 0x582, out: 0xeca8670000000000, outHI: 0x0
+swr :: offset: 0x583, out: 0xeca8672600000000, outHI: 0x0
+swr :: offset: 0x584, out: 0xeca86726c9000000, outHI: 0x0
+swr :: offset: 0x585, out: 0xeca86726c9000000, outHI: 0x0
+swr :: offset: 0x586, out: 0xeca86726c9008100, outHI: 0x0
+swr :: offset: 0x587, out: 0xeca86726c90081ab, outHI: 0x0
+swr :: offset: 0x588, out: 0x2a00000000000000, outHI: 0x0
+swr :: offset: 0x589, out: 0x2a9b000000000000, outHI: 0x0
+swr :: offset: 0x58a, out: 0x2a9bfe0000000000, outHI: 0x0
+swr :: offset: 0x58b, out: 0x2a9bfeff00000000, outHI: 0x0
+swr :: offset: 0x58c, out: 0x2a9bfeffa1000000, outHI: 0x0
+swr :: offset: 0x58d, out: 0x2a9bfeffa1670000, outHI: 0x0
+swr :: offset: 0x58e, out: 0x2a9bfeffa1679d00, outHI: 0x0
+swr :: offset: 0x58f, out: 0x2a9bfeffa1679d74, outHI: 0x0
+swr :: offset: 0x590, out: 0x3800000000000000, outHI: 0x0
+swr :: offset: 0x591, out: 0x38c7000000000000, outHI: 0x0
+swr :: offset: 0x592, out: 0x38c7690000000000, outHI: 0x0
+swr :: offset: 0x593, out: 0x38c7699800000000, outHI: 0x0
+swr :: offset: 0x594, out: 0x38c7699826000000, outHI: 0x0
+swr :: offset: 0x595, out: 0x38c7699826b70000, outHI: 0x0
+swr :: offset: 0x596, out: 0x38c7699826b7de00, outHI: 0x0
+swr :: offset: 0x597, out: 0x38c7699826b7dee2, outHI: 0x0
+swr :: offset: 0x598, out: 0x4400000000000000, outHI: 0x0
+swr :: offset: 0x599, out: 0x443c000000000000, outHI: 0x0
+swr :: offset: 0x59a, out: 0x443c070000000000, outHI: 0x0
+swr :: offset: 0x59b, out: 0x443c07af00000000, outHI: 0x0
+swr :: offset: 0x59c, out: 0x443c07af97000000, outHI: 0x0
+swr :: offset: 0x59d, out: 0x443c07af97fb0000, outHI: 0x0
+swr :: offset: 0x59e, out: 0x443c07af97fba600, outHI: 0x0
+swr :: offset: 0x59f, out: 0x443c07af97fba670, outHI: 0x0
+swr :: offset: 0x5a0, out: 0x4a00000000000000, outHI: 0x0
+swr :: offset: 0x5a1, out: 0x4a52000000000000, outHI: 0x0
+swr :: offset: 0x5a2, out: 0x4a52130000000000, outHI: 0x0
+swr :: offset: 0x5a3, out: 0x4a52136400000000, outHI: 0x0
+swr :: offset: 0x5a4, out: 0x4a521364dc000000, outHI: 0x0
+swr :: offset: 0x5a5, out: 0x4a521364dc040000, outHI: 0x0
+swr :: offset: 0x5a6, out: 0x4a521364dc04c500, outHI: 0x0
+swr :: offset: 0x5a7, out: 0x4a521364dc04c58b, outHI: 0x0
+swr :: offset: 0x5a8, out: 0xfe00000000000000, outHI: 0x0
+swr :: offset: 0x5a9, out: 0xfee0000000000000, outHI: 0x0
+swr :: offset: 0x5aa, out: 0xfee0f70000000000, outHI: 0x0
+swr :: offset: 0x5ab, out: 0xfee0f7bb00000000, outHI: 0x0
+swr :: offset: 0x5ac, out: 0xfee0f7bb58000000, outHI: 0x0
+swr :: offset: 0x5ad, out: 0xfee0f7bb589a0000, outHI: 0x0
+swr :: offset: 0x5ae, out: 0xfee0f7bb589ab700, outHI: 0x0
+swr :: offset: 0x5af, out: 0xfee0f7bb589ab7ae, outHI: 0x0
+swr :: offset: 0x5b0, out: 0xbc00000000000000, outHI: 0x0
+swr :: offset: 0x5b1, out: 0xbce3000000000000, outHI: 0x0
+swr :: offset: 0x5b2, out: 0xbce3360000000000, outHI: 0x0
+swr :: offset: 0x5b3, out: 0xbce336c600000000, outHI: 0x0
+swr :: offset: 0x5b4, out: 0xbce336c60c000000, outHI: 0x0
+swr :: offset: 0x5b5, out: 0xbce336c60cde0000, outHI: 0x0
+swr :: offset: 0x5b6, out: 0xbce336c60cdeeb00, outHI: 0x0
+swr :: offset: 0x5b7, out: 0xbce336c60cdeeb95, outHI: 0x0
+swr :: offset: 0x5b8, out: 0x4d00000000000000, outHI: 0x0
+swr :: offset: 0x5b9, out: 0x4dd5000000000000, outHI: 0x0
+swr :: offset: 0x5ba, out: 0x4dd5b20000000000, outHI: 0x0
+swr :: offset: 0x5bb, out: 0x4dd5b21200000000, outHI: 0x0
+swr :: offset: 0x5bc, out: 0x4dd5b2120c000000, outHI: 0x0
+swr :: offset: 0x5bd, out: 0x4dd5b2120c6f0000, outHI: 0x0
+swr :: offset: 0x5be, out: 0x4dd5b2120c6f5200, outHI: 0x0
+swr :: offset: 0x5bf, out: 0x4dd5b2120c6f5241, outHI: 0x0
+swr :: offset: 0x5c0, out: 0x6e00000000000000, outHI: 0x0
+swr :: offset: 0x5c1, out: 0x6e85000000000000, outHI: 0x0
+swr :: offset: 0x5c2, out: 0x6e85a20000000000, outHI: 0x0
+swr :: offset: 0x5c3, out: 0x6e85a2d400000000, outHI: 0x0
+swr :: offset: 0x5c4, out: 0x6e85a2d4ff000000, outHI: 0x0
+swr :: offset: 0x5c5, out: 0x6e85a2d4ff7e0000, outHI: 0x0
+swr :: offset: 0x5c6, out: 0x6e85a2d4ff7e6200, outHI: 0x0
+swr :: offset: 0x5c7, out: 0x6e85a2d4ff7e628a, outHI: 0x0
+swr :: offset: 0x5c8, out: 0x3400000000000000, outHI: 0x0
+swr :: offset: 0x5c9, out: 0x3498000000000000, outHI: 0x0
+swr :: offset: 0x5ca, out: 0x34986a0000000000, outHI: 0x0
+swr :: offset: 0x5cb, out: 0x34986a2b00000000, outHI: 0x0
+swr :: offset: 0x5cc, out: 0x34986a2b65000000, outHI: 0x0
+swr :: offset: 0x5cd, out: 0x34986a2b654a0000, outHI: 0x0
+swr :: offset: 0x5ce, out: 0x34986a2b654a4e00, outHI: 0x0
+swr :: offset: 0x5cf, out: 0x34986a2b654a4e7e, outHI: 0x0
+swr :: offset: 0x5d0, out: 0x700000000000000, outHI: 0x0
+swr :: offset: 0x5d1, out: 0x7a9000000000000, outHI: 0x0
+swr :: offset: 0x5d2, out: 0x7a9740000000000, outHI: 0x0
+swr :: offset: 0x5d3, out: 0x7a974ea00000000, outHI: 0x0
+swr :: offset: 0x5d4, out: 0x7a974eac4000000, outHI: 0x0
+swr :: offset: 0x5d5, out: 0x7a974eac43a0000, outHI: 0x0
+swr :: offset: 0x5d6, out: 0x7a974eac43a4800, outHI: 0x0
+swr :: offset: 0x5d7, out: 0x7a974eac43a489b, outHI: 0x0
+swr :: offset: 0x5d8, out: 0x5500000000000000, outHI: 0x0
+swr :: offset: 0x5d9, out: 0x55a3000000000000, outHI: 0x0
+swr :: offset: 0x5da, out: 0x55a3880000000000, outHI: 0x0
+swr :: offset: 0x5db, out: 0x55a388c100000000, outHI: 0x0
+swr :: offset: 0x5dc, out: 0x55a388c162000000, outHI: 0x0
+swr :: offset: 0x5dd, out: 0x55a388c162720000, outHI: 0x0
+swr :: offset: 0x5de, out: 0x55a388c16272f100, outHI: 0x0
+swr :: offset: 0x5df, out: 0x55a388c16272f1f8, outHI: 0x0
+swr :: offset: 0x5e0, out: 0xf500000000000000, outHI: 0x0
+swr :: offset: 0x5e1, out: 0xf5e8000000000000, outHI: 0x0
+swr :: offset: 0x5e2, out: 0xf5e8c10000000000, outHI: 0x0
+swr :: offset: 0x5e3, out: 0xf5e8c11f00000000, outHI: 0x0
+swr :: offset: 0x5e4, out: 0xf5e8c11f45000000, outHI: 0x0
+swr :: offset: 0x5e5, out: 0xf5e8c11f45e70000, outHI: 0x0
+swr :: offset: 0x5e6, out: 0xf5e8c11f45e74900, outHI: 0x0
+swr :: offset: 0x5e7, out: 0xf5e8c11f45e7495e, outHI: 0x0
+swr :: offset: 0x5e8, out: 0xa900000000000000, outHI: 0x0
+swr :: offset: 0x5e9, out: 0xa9ad000000000000, outHI: 0x0
+swr :: offset: 0x5ea, out: 0xa9adaa0000000000, outHI: 0x0
+swr :: offset: 0x5eb, out: 0xa9adaa5a00000000, outHI: 0x0
+swr :: offset: 0x5ec, out: 0xa9adaa5a76000000, outHI: 0x0
+swr :: offset: 0x5ed, out: 0xa9adaa5a765c0000, outHI: 0x0
+swr :: offset: 0x5ee, out: 0xa9adaa5a765cc100, outHI: 0x0
+swr :: offset: 0x5ef, out: 0xa9adaa5a765cc1c8, outHI: 0x0
+swr :: offset: 0x5f0, out: 0xb400000000000000, outHI: 0x0
+swr :: offset: 0x5f1, out: 0xb47a000000000000, outHI: 0x0
+swr :: offset: 0x5f2, out: 0xb47ab40000000000, outHI: 0x0
+swr :: offset: 0x5f3, out: 0xb47ab4ce00000000, outHI: 0x0
+swr :: offset: 0x5f4, out: 0xb47ab4ce88000000, outHI: 0x0
+swr :: offset: 0x5f5, out: 0xb47ab4ce88df0000, outHI: 0x0
+swr :: offset: 0x5f6, out: 0xb47ab4ce88dfa600, outHI: 0x0
+swr :: offset: 0x5f7, out: 0xb47ab4ce88dfa605, outHI: 0x0
+swr :: offset: 0x5f8, out: 0xc000000000000000, outHI: 0x0
+swr :: offset: 0x5f9, out: 0xc0b4000000000000, outHI: 0x0
+swr :: offset: 0x5fa, out: 0xc0b42a0000000000, outHI: 0x0
+swr :: offset: 0x5fb, out: 0xc0b42ad600000000, outHI: 0x0
+swr :: offset: 0x5fc, out: 0xc0b42ad6e6000000, outHI: 0x0
+swr :: offset: 0x5fd, out: 0xc0b42ad6e6590000, outHI: 0x0
+swr :: offset: 0x5fe, out: 0xc0b42ad6e659a700, outHI: 0x0
+swr :: offset: 0x5ff, out: 0xc0b42ad6e659a7b0, outHI: 0x0
+swr :: offset: 0x600, out: 0x4f00000000000000, outHI: 0x0
+swr :: offset: 0x601, out: 0x4f4b000000000000, outHI: 0x0
+swr :: offset: 0x602, out: 0x4f4bf80000000000, outHI: 0x0
+swr :: offset: 0x603, out: 0x4f4bf84800000000, outHI: 0x0
+swr :: offset: 0x604, out: 0x4f4bf8485a000000, outHI: 0x0
+swr :: offset: 0x605, out: 0x4f4bf8485ab70000, outHI: 0x0
+swr :: offset: 0x606, out: 0x4f4bf8485ab72800, outHI: 0x0
+swr :: offset: 0x607, out: 0x4f4bf8485ab72892, outHI: 0x0
+swr :: offset: 0x608, out: 0x2f00000000000000, outHI: 0x0
+swr :: offset: 0x609, out: 0x2f76000000000000, outHI: 0x0
+swr :: offset: 0x60a, out: 0x2f76a30000000000, outHI: 0x0
+swr :: offset: 0x60b, out: 0x2f76a3d600000000, outHI: 0x0
+swr :: offset: 0x60c, out: 0x2f76a3d60c000000, outHI: 0x0
+swr :: offset: 0x60d, out: 0x2f76a3d60c3b0000, outHI: 0x0
+swr :: offset: 0x60e, out: 0x2f76a3d60c3b6600, outHI: 0x0
+swr :: offset: 0x60f, out: 0x2f76a3d60c3b66a7, outHI: 0x0
+swr :: offset: 0x610, out: 0xfb00000000000000, outHI: 0x0
+swr :: offset: 0x611, out: 0xfb31000000000000, outHI: 0x0
+swr :: offset: 0x612, out: 0xfb31e00000000000, outHI: 0x0
+swr :: offset: 0x613, out: 0xfb31e0c600000000, outHI: 0x0
+swr :: offset: 0x614, out: 0xfb31e0c6af000000, outHI: 0x0
+swr :: offset: 0x615, out: 0xfb31e0c6affd0000, outHI: 0x0
+swr :: offset: 0x616, out: 0xfb31e0c6affdc200, outHI: 0x0
+swr :: offset: 0x617, out: 0xfb31e0c6affdc28e, outHI: 0x0
+swr :: offset: 0x618, out: 0xda00000000000000, outHI: 0x0
+swr :: offset: 0x619, out: 0xda53000000000000, outHI: 0x0
+swr :: offset: 0x61a, out: 0xda53600000000000, outHI: 0x0
+swr :: offset: 0x61b, out: 0xda53606b00000000, outHI: 0x0
+swr :: offset: 0x61c, out: 0xda53606bb4000000, outHI: 0x0
+swr :: offset: 0x61d, out: 0xda53606bb4bf0000, outHI: 0x0
+swr :: offset: 0x61e, out: 0xda53606bb4bf0c00, outHI: 0x0
+swr :: offset: 0x61f, out: 0xda53606bb4bf0c99, outHI: 0x0
+swr :: offset: 0x620, out: 0x9d00000000000000, outHI: 0x0
+swr :: offset: 0x621, out: 0x9d32000000000000, outHI: 0x0
+swr :: offset: 0x622, out: 0x9d32fc0000000000, outHI: 0x0
+swr :: offset: 0x623, out: 0x9d32fc1200000000, outHI: 0x0
+swr :: offset: 0x624, out: 0x9d32fc12c8000000, outHI: 0x0
+swr :: offset: 0x625, out: 0x9d32fc12c81b0000, outHI: 0x0
+swr :: offset: 0x626, out: 0x9d32fc12c81b7900, outHI: 0x0
+swr :: offset: 0x627, out: 0x9d32fc12c81b7919, outHI: 0x0
+swr :: offset: 0x628, out: 0xf000000000000000, outHI: 0x0
+swr :: offset: 0x629, out: 0xf03e000000000000, outHI: 0x0
+swr :: offset: 0x62a, out: 0xf03ef80000000000, outHI: 0x0
+swr :: offset: 0x62b, out: 0xf03ef88300000000, outHI: 0x0
+swr :: offset: 0x62c, out: 0xf03ef88384000000, outHI: 0x0
+swr :: offset: 0x62d, out: 0xf03ef88384c70000, outHI: 0x0
+swr :: offset: 0x62e, out: 0xf03ef88384c72e00, outHI: 0x0
+swr :: offset: 0x62f, out: 0xf03ef88384c72efc, outHI: 0x0
+swr :: offset: 0x630, out: 0xd600000000000000, outHI: 0x0
+swr :: offset: 0x631, out: 0xd638000000000000, outHI: 0x0
+swr :: offset: 0x632, out: 0xd638b10000000000, outHI: 0x0
+swr :: offset: 0x633, out: 0xd638b1c700000000, outHI: 0x0
+swr :: offset: 0x634, out: 0xd638b1c7bb000000, outHI: 0x0
+swr :: offset: 0x635, out: 0xd638b1c7bb6a0000, outHI: 0x0
+swr :: offset: 0x636, out: 0xd638b1c7bb6a2a00, outHI: 0x0
+swr :: offset: 0x637, out: 0xd638b1c7bb6a2a35, outHI: 0x0
+swr :: offset: 0x638, out: 0x8000000000000000, outHI: 0x0
+swr :: offset: 0x639, out: 0x8015000000000000, outHI: 0x0
+swr :: offset: 0x63a, out: 0x8015eb0000000000, outHI: 0x0
+swr :: offset: 0x63b, out: 0x8015ebf600000000, outHI: 0x0
+swr :: offset: 0x63c, out: 0x8015ebf612000000, outHI: 0x0
+swr :: offset: 0x63d, out: 0x8015ebf6121d0000, outHI: 0x0
+swr :: offset: 0x63e, out: 0x8015ebf6121dca00, outHI: 0x0
+swr :: offset: 0x63f, out: 0x8015ebf6121dca77, outHI: 0x0
+swr :: offset: 0x640, out: 0xc900000000000000, outHI: 0x0
+swr :: offset: 0x641, out: 0xc95e000000000000, outHI: 0x0
+swr :: offset: 0x642, out: 0xc95eaa0000000000, outHI: 0x0
+swr :: offset: 0x643, out: 0xc95eaacd00000000, outHI: 0x0
+swr :: offset: 0x644, out: 0xc95eaacdd9000000, outHI: 0x0
+swr :: offset: 0x645, out: 0xc95eaacdd9fd0000, outHI: 0x0
+swr :: offset: 0x646, out: 0xc95eaacdd9fd9100, outHI: 0x0
+swr :: offset: 0x647, out: 0xc95eaacdd9fd9147, outHI: 0x0
+swr :: offset: 0x648, out: 0xae00000000000000, outHI: 0x0
+swr :: offset: 0x649, out: 0xaebb000000000000, outHI: 0x0
+swr :: offset: 0x64a, out: 0xaebb840000000000, outHI: 0x0
+swr :: offset: 0x64b, out: 0xaebb847000000000, outHI: 0x0
+swr :: offset: 0x64c, out: 0xaebb8470f9000000, outHI: 0x0
+swr :: offset: 0x64d, out: 0xaebb8470f9810000, outHI: 0x0
+swr :: offset: 0x64e, out: 0xaebb8470f981e900, outHI: 0x0
+swr :: offset: 0x64f, out: 0xaebb8470f981e911, outHI: 0x0
+swr :: offset: 0x650, out: 0x1700000000000000, outHI: 0x0
+swr :: offset: 0x651, out: 0x1705000000000000, outHI: 0x0
+swr :: offset: 0x652, out: 0x1705d40000000000, outHI: 0x0
+swr :: offset: 0x653, out: 0x1705d42a00000000, outHI: 0x0
+swr :: offset: 0x654, out: 0x1705d42aea000000, outHI: 0x0
+swr :: offset: 0x655, out: 0x1705d42aeac60000, outHI: 0x0
+swr :: offset: 0x656, out: 0x1705d42aeac6a500, outHI: 0x0
+swr :: offset: 0x657, out: 0x1705d42aeac6a532, outHI: 0x0
+swr :: offset: 0x658, out: 0xe000000000000000, outHI: 0x0
+swr :: offset: 0x659, out: 0xe014000000000000, outHI: 0x0
+swr :: offset: 0x65a, out: 0xe014ab0000000000, outHI: 0x0
+swr :: offset: 0x65b, out: 0xe014abf300000000, outHI: 0x0
+swr :: offset: 0x65c, out: 0xe014abf364000000, outHI: 0x0
+swr :: offset: 0x65d, out: 0xe014abf364190000, outHI: 0x0
+swr :: offset: 0x65e, out: 0xe014abf36419fb00, outHI: 0x0
+swr :: offset: 0x65f, out: 0xe014abf36419fb9e, outHI: 0x0
+swr :: offset: 0x660, out: 0x6300000000000000, outHI: 0x0
+swr :: offset: 0x661, out: 0x6324000000000000, outHI: 0x0
+swr :: offset: 0x662, out: 0x63249d0000000000, outHI: 0x0
+swr :: offset: 0x663, out: 0x63249d5500000000, outHI: 0x0
+swr :: offset: 0x664, out: 0x63249d559a000000, outHI: 0x0
+swr :: offset: 0x665, out: 0x63249d559aa80000, outHI: 0x0
+swr :: offset: 0x666, out: 0x63249d559aa8d700, outHI: 0x0
+swr :: offset: 0x667, out: 0x63249d559aa8d72a, outHI: 0x0
+swr :: offset: 0x668, out: 0xac00000000000000, outHI: 0x0
+swr :: offset: 0x669, out: 0xac0c000000000000, outHI: 0x0
+swr :: offset: 0x66a, out: 0xac0cd60000000000, outHI: 0x0
+swr :: offset: 0x66b, out: 0xac0cd67600000000, outHI: 0x0
+swr :: offset: 0x66c, out: 0xac0cd6764f000000, outHI: 0x0
+swr :: offset: 0x66d, out: 0xac0cd6764f080000, outHI: 0x0
+swr :: offset: 0x66e, out: 0xac0cd6764f084b00, outHI: 0x0
+swr :: offset: 0x66f, out: 0xac0cd6764f084b30, outHI: 0x0
+swr :: offset: 0x670, out: 0xec00000000000000, outHI: 0x0
+swr :: offset: 0x671, out: 0xec7f000000000000, outHI: 0x0
+swr :: offset: 0x672, out: 0xec7f030000000000, outHI: 0x0
+swr :: offset: 0x673, out: 0xec7f03ac00000000, outHI: 0x0
+swr :: offset: 0x674, out: 0xec7f03ac07000000, outHI: 0x0
+swr :: offset: 0x675, out: 0xec7f03ac07920000, outHI: 0x0
+swr :: offset: 0x676, out: 0xec7f03ac07924600, outHI: 0x0
+swr :: offset: 0x677, out: 0xec7f03ac0792468f, outHI: 0x0
+swr :: offset: 0x678, out: 0xdf00000000000000, outHI: 0x0
+swr :: offset: 0x679, out: 0xdf7e000000000000, outHI: 0x0
+swr :: offset: 0x67a, out: 0xdf7e350000000000, outHI: 0x0
+swr :: offset: 0x67b, out: 0xdf7e35ce00000000, outHI: 0x0
+swr :: offset: 0x67c, out: 0xdf7e35ce6d000000, outHI: 0x0
+swr :: offset: 0x67d, out: 0xdf7e35ce6d560000, outHI: 0x0
+swr :: offset: 0x67e, out: 0xdf7e35ce6d56e600, outHI: 0x0
+swr :: offset: 0x67f, out: 0xdf7e35ce6d56e670, outHI: 0x0
+swr :: offset: 0x680, out: 0xf500000000000000, outHI: 0x0
+swr :: offset: 0x681, out: 0xf515000000000000, outHI: 0x0
+swr :: offset: 0x682, out: 0xf515280000000000, outHI: 0x0
+swr :: offset: 0x683, out: 0xf515282800000000, outHI: 0x0
+swr :: offset: 0x684, out: 0xf515282859000000, outHI: 0x0
+swr :: offset: 0x685, out: 0xf5152828591a0000, outHI: 0x0
+swr :: offset: 0x686, out: 0xf5152828591a6500, outHI: 0x0
+swr :: offset: 0x687, out: 0xf5152828591a6527, outHI: 0x0
+swr :: offset: 0x688, out: 0x1100000000000000, outHI: 0x0
+swr :: offset: 0x689, out: 0x119e000000000000, outHI: 0x0
+swr :: offset: 0x68a, out: 0x119e1c0000000000, outHI: 0x0
+swr :: offset: 0x68b, out: 0x119e1c3200000000, outHI: 0x0
+swr :: offset: 0x68c, out: 0x119e1c3283000000, outHI: 0x0
+swr :: offset: 0x68d, out: 0x119e1c3283d20000, outHI: 0x0
+swr :: offset: 0x68e, out: 0x119e1c3283d21500, outHI: 0x0
+swr :: offset: 0x68f, out: 0x119e1c3283d215a9, outHI: 0x0
+swr :: offset: 0x690, out: 0xfb00000000000000, outHI: 0x0
+swr :: offset: 0x691, out: 0xfb8d000000000000, outHI: 0x0
+swr :: offset: 0x692, out: 0xfb8d950000000000, outHI: 0x0
+swr :: offset: 0x693, out: 0xfb8d95c000000000, outHI: 0x0
+swr :: offset: 0x694, out: 0xfb8d95c049000000, outHI: 0x0
+swr :: offset: 0x695, out: 0xfb8d95c049280000, outHI: 0x0
+swr :: offset: 0x696, out: 0xfb8d95c049282a00, outHI: 0x0
+swr :: offset: 0x697, out: 0xfb8d95c049282a04, outHI: 0x0
+swr :: offset: 0x698, out: 0x1700000000000000, outHI: 0x0
+swr :: offset: 0x699, out: 0x17f2000000000000, outHI: 0x0
+swr :: offset: 0x69a, out: 0x17f2e70000000000, outHI: 0x0
+swr :: offset: 0x69b, out: 0x17f2e7a400000000, outHI: 0x0
+swr :: offset: 0x69c, out: 0x17f2e7a490000000, outHI: 0x0
+swr :: offset: 0x69d, out: 0x17f2e7a490970000, outHI: 0x0
+swr :: offset: 0x69e, out: 0x17f2e7a490978000, outHI: 0x0
+swr :: offset: 0x69f, out: 0x17f2e7a490978058, outHI: 0x0
+swr :: offset: 0x6a0, out: 0xf300000000000000, outHI: 0x0
+swr :: offset: 0x6a1, out: 0xf377000000000000, outHI: 0x0
+swr :: offset: 0x6a2, out: 0xf3775b0000000000, outHI: 0x0
+swr :: offset: 0x6a3, out: 0xf3775b4c00000000, outHI: 0x0
+swr :: offset: 0x6a4, out: 0xf3775b4cca000000, outHI: 0x0
+swr :: offset: 0x6a5, out: 0xf3775b4cca090000, outHI: 0x0
+swr :: offset: 0x6a6, out: 0xf3775b4cca097500, outHI: 0x0
+swr :: offset: 0x6a7, out: 0xf3775b4cca0975b1, outHI: 0x0
+swr :: offset: 0x6a8, out: 0xaa00000000000000, outHI: 0x0
+swr :: offset: 0x6a9, out: 0xaa0a000000000000, outHI: 0x0
+swr :: offset: 0x6aa, out: 0xaa0a2b0000000000, outHI: 0x0
+swr :: offset: 0x6ab, out: 0xaa0a2b8400000000, outHI: 0x0
+swr :: offset: 0x6ac, out: 0xaa0a2b84a6000000, outHI: 0x0
+swr :: offset: 0x6ad, out: 0xaa0a2b84a6350000, outHI: 0x0
+swr :: offset: 0x6ae, out: 0xaa0a2b84a6351100, outHI: 0x0
+swr :: offset: 0x6af, out: 0xaa0a2b84a6351110, outHI: 0x0
+swr :: offset: 0x6b0, out: 0x2000000000000000, outHI: 0x0
+swr :: offset: 0x6b1, out: 0x2002000000000000, outHI: 0x0
+swr :: offset: 0x6b2, out: 0x20023f0000000000, outHI: 0x0
+swr :: offset: 0x6b3, out: 0x20023fa000000000, outHI: 0x0
+swr :: offset: 0x6b4, out: 0x20023fa0d3000000, outHI: 0x0
+swr :: offset: 0x6b5, out: 0x20023fa0d3a70000, outHI: 0x0
+swr :: offset: 0x6b6, out: 0x20023fa0d3a7d800, outHI: 0x0
+swr :: offset: 0x6b7, out: 0x20023fa0d3a7d88b, outHI: 0x0
+swr :: offset: 0x6b8, out: 0x6f00000000000000, outHI: 0x0
+swr :: offset: 0x6b9, out: 0x6fa3000000000000, outHI: 0x0
+swr :: offset: 0x6ba, out: 0x6fa3d90000000000, outHI: 0x0
+swr :: offset: 0x6bb, out: 0x6fa3d99100000000, outHI: 0x0
+swr :: offset: 0x6bc, out: 0x6fa3d991b7000000, outHI: 0x0
+swr :: offset: 0x6bd, out: 0x6fa3d991b7990000, outHI: 0x0
+swr :: offset: 0x6be, out: 0x6fa3d991b7994100, outHI: 0x0
+swr :: offset: 0x6bf, out: 0x6fa3d991b79941de, outHI: 0x0
+swr :: offset: 0x6c0, out: 0xdd00000000000000, outHI: 0x0
+swr :: offset: 0x6c1, out: 0xdd75000000000000, outHI: 0x0
+swr :: offset: 0x6c2, out: 0xdd751c0000000000, outHI: 0x0
+swr :: offset: 0x6c3, out: 0xdd751cb400000000, outHI: 0x0
+swr :: offset: 0x6c4, out: 0xdd751cb483000000, outHI: 0x0
+swr :: offset: 0x6c5, out: 0xdd751cb4835a0000, outHI: 0x0
+swr :: offset: 0x6c6, out: 0xdd751cb4835a0d00, outHI: 0x0
+swr :: offset: 0x6c7, out: 0xdd751cb4835a0d95, outHI: 0x0
+swr :: offset: 0x6c8, out: 0x800000000000000, outHI: 0x0
+swr :: offset: 0x6c9, out: 0x894000000000000, outHI: 0x0
+swr :: offset: 0x6ca, out: 0x8949c0000000000, outHI: 0x0
+swr :: offset: 0x6cb, out: 0x8949cad00000000, outHI: 0x0
+swr :: offset: 0x6cc, out: 0x8949cad35000000, outHI: 0x0
+swr :: offset: 0x6cd, out: 0x8949cad35620000, outHI: 0x0
+swr :: offset: 0x6ce, out: 0x8949cad35625b00, outHI: 0x0
+swr :: offset: 0x6cf, out: 0x8949cad35625bb2, outHI: 0x0
+swr :: offset: 0x6d0, out: 0xd300000000000000, outHI: 0x0
+swr :: offset: 0x6d1, out: 0xd37f000000000000, outHI: 0x0
+swr :: offset: 0x6d2, out: 0xd37f560000000000, outHI: 0x0
+swr :: offset: 0x6d3, out: 0xd37f567f00000000, outHI: 0x0
+swr :: offset: 0x6d4, out: 0xd37f567f35000000, outHI: 0x0
+swr :: offset: 0x6d5, out: 0xd37f567f35a60000, outHI: 0x0
+swr :: offset: 0x6d6, out: 0xd37f567f35a69200, outHI: 0x0
+swr :: offset: 0x6d7, out: 0xd37f567f35a69297, outHI: 0x0
+swr :: offset: 0x6d8, out: 0x3900000000000000, outHI: 0x0
+swr :: offset: 0x6d9, out: 0x3918000000000000, outHI: 0x0
+swr :: offset: 0x6da, out: 0x39185b0000000000, outHI: 0x0
+swr :: offset: 0x6db, out: 0x39185b8800000000, outHI: 0x0
+swr :: offset: 0x6dc, out: 0x39185b88e0000000, outHI: 0x0
+swr :: offset: 0x6dd, out: 0x39185b88e0db0000, outHI: 0x0
+swr :: offset: 0x6de, out: 0x39185b88e0db8d00, outHI: 0x0
+swr :: offset: 0x6df, out: 0x39185b88e0db8d7d, outHI: 0x0
+swr :: offset: 0x6e0, out: 0x2700000000000000, outHI: 0x0
+swr :: offset: 0x6e1, out: 0x2725000000000000, outHI: 0x0
+swr :: offset: 0x6e2, out: 0x27255a0000000000, outHI: 0x0
+swr :: offset: 0x6e3, out: 0x27255a4c00000000, outHI: 0x0
+swr :: offset: 0x6e4, out: 0x27255a4cd2000000, outHI: 0x0
+swr :: offset: 0x6e5, out: 0x27255a4cd22f0000, outHI: 0x0
+swr :: offset: 0x6e6, out: 0x27255a4cd22fd600, outHI: 0x0
+swr :: offset: 0x6e7, out: 0x27255a4cd22fd61b, outHI: 0x0
+swr :: offset: 0x6e8, out: 0x9100000000000000, outHI: 0x0
+swr :: offset: 0x6e9, out: 0x9110000000000000, outHI: 0x0
+swr :: offset: 0x6ea, out: 0x9110480000000000, outHI: 0x0
+swr :: offset: 0x6eb, out: 0x911048d500000000, outHI: 0x0
+swr :: offset: 0x6ec, out: 0x911048d589000000, outHI: 0x0
+swr :: offset: 0x6ed, out: 0x911048d589a40000, outHI: 0x0
+swr :: offset: 0x6ee, out: 0x911048d589a43600, outHI: 0x0
+swr :: offset: 0x6ef, out: 0x911048d589a4363f, outHI: 0x0
+swr :: offset: 0x6f0, out: 0x7b00000000000000, outHI: 0x0
+swr :: offset: 0x6f1, out: 0x7b6a000000000000, outHI: 0x0
+swr :: offset: 0x6f2, out: 0x7b6a6d0000000000, outHI: 0x0
+swr :: offset: 0x6f3, out: 0x7b6a6d5700000000, outHI: 0x0
+swr :: offset: 0x6f4, out: 0x7b6a6d5708000000, outHI: 0x0
+swr :: offset: 0x6f5, out: 0x7b6a6d5708f40000, outHI: 0x0
+swr :: offset: 0x6f6, out: 0x7b6a6d5708f46000, outHI: 0x0
+swr :: offset: 0x6f7, out: 0x7b6a6d5708f46057, outHI: 0x0
+swr :: offset: 0x6f8, out: 0x9000000000000000, outHI: 0x0
+swr :: offset: 0x6f9, out: 0x90d5000000000000, outHI: 0x0
+swr :: offset: 0x6fa, out: 0x90d58e0000000000, outHI: 0x0
+swr :: offset: 0x6fb, out: 0x90d58ecb00000000, outHI: 0x0
+swr :: offset: 0x6fc, out: 0x90d58ecbab000000, outHI: 0x0
+swr :: offset: 0x6fd, out: 0x90d58ecbabde0000, outHI: 0x0
+swr :: offset: 0x6fe, out: 0x90d58ecbabde3500, outHI: 0x0
+swr :: offset: 0x6ff, out: 0x90d58ecbabde3569, outHI: 0x0
+swr :: offset: 0x700, out: 0x7f00000000000000, outHI: 0x0
+swr :: offset: 0x701, out: 0x7f57000000000000, outHI: 0x0
+swr :: offset: 0x702, out: 0x7f57550000000000, outHI: 0x0
+swr :: offset: 0x703, out: 0x7f57554800000000, outHI: 0x0
+swr :: offset: 0x704, out: 0x7f575548fd000000, outHI: 0x0
+swr :: offset: 0x705, out: 0x7f575548fd080000, outHI: 0x0
+swr :: offset: 0x706, out: 0x7f575548fd08c000, outHI: 0x0
+swr :: offset: 0x707, out: 0x7f575548fd08c0a5, outHI: 0x0
+swr :: offset: 0x708, out: 0xf100000000000000, outHI: 0x0
+swr :: offset: 0x709, out: 0xf18b000000000000, outHI: 0x0
+swr :: offset: 0x70a, out: 0xf18bb60000000000, outHI: 0x0
+swr :: offset: 0x70b, out: 0xf18bb64000000000, outHI: 0x0
+swr :: offset: 0x70c, out: 0xf18bb640fb000000, outHI: 0x0
+swr :: offset: 0x70d, out: 0xf18bb640fb8e0000, outHI: 0x0
+swr :: offset: 0x70e, out: 0xf18bb640fb8ed900, outHI: 0x0
+swr :: offset: 0x70f, out: 0xf18bb640fb8ed98d, outHI: 0x0
+swr :: offset: 0x710, out: 0xdb00000000000000, outHI: 0x0
+swr :: offset: 0x711, out: 0xdbbe000000000000, outHI: 0x0
+swr :: offset: 0x712, out: 0xdbbe000000000000, outHI: 0x0
+swr :: offset: 0x713, out: 0xdbbe00d500000000, outHI: 0x0
+swr :: offset: 0x714, out: 0xdbbe00d51e000000, outHI: 0x0
+swr :: offset: 0x715, out: 0xdbbe00d51eab0000, outHI: 0x0
+swr :: offset: 0x716, out: 0xdbbe00d51eabc500, outHI: 0x0
+swr :: offset: 0x717, out: 0xdbbe00d51eabc578, outHI: 0x0
+swr :: offset: 0x718, out: 0xcc00000000000000, outHI: 0x0
+swr :: offset: 0x719, out: 0xcc2f000000000000, outHI: 0x0
+swr :: offset: 0x71a, out: 0xcc2f7e0000000000, outHI: 0x0
+swr :: offset: 0x71b, out: 0xcc2f7e2200000000, outHI: 0x0
+swr :: offset: 0x71c, out: 0xcc2f7e224a000000, outHI: 0x0
+swr :: offset: 0x71d, out: 0xcc2f7e224a1c0000, outHI: 0x0
+swr :: offset: 0x71e, out: 0xcc2f7e224a1c1700, outHI: 0x0
+swr :: offset: 0x71f, out: 0xcc2f7e224a1c170a, outHI: 0x0
+swr :: offset: 0x720, out: 0xb200000000000000, outHI: 0x0
+swr :: offset: 0x721, out: 0xb2a9000000000000, outHI: 0x0
+swr :: offset: 0x722, out: 0xb2a9780000000000, outHI: 0x0
+swr :: offset: 0x723, out: 0xb2a978f100000000, outHI: 0x0
+swr :: offset: 0x724, out: 0xb2a978f12c000000, outHI: 0x0
+swr :: offset: 0x725, out: 0xb2a978f12ca20000, outHI: 0x0
+swr :: offset: 0x726, out: 0xb2a978f12ca22200, outHI: 0x0
+swr :: offset: 0x727, out: 0xb2a978f12ca22256, outHI: 0x0
+swr :: offset: 0x728, out: 0xa700000000000000, outHI: 0x0
+swr :: offset: 0x729, out: 0xa799000000000000, outHI: 0x0
+swr :: offset: 0x72a, out: 0xa799500000000000, outHI: 0x0
+swr :: offset: 0x72b, out: 0xa79950a900000000, outHI: 0x0
+swr :: offset: 0x72c, out: 0xa79950a93b000000, outHI: 0x0
+swr :: offset: 0x72d, out: 0xa79950a93b810000, outHI: 0x0
+swr :: offset: 0x72e, out: 0xa79950a93b811e00, outHI: 0x0
+swr :: offset: 0x72f, out: 0xa79950a93b811ee0, outHI: 0x0
+swr :: offset: 0x730, out: 0x2f00000000000000, outHI: 0x0
+swr :: offset: 0x731, out: 0x2fb4000000000000, outHI: 0x0
+swr :: offset: 0x732, out: 0x2fb44e0000000000, outHI: 0x0
+swr :: offset: 0x733, out: 0x2fb44eea00000000, outHI: 0x0
+swr :: offset: 0x734, out: 0x2fb44eea93000000, outHI: 0x0
+swr :: offset: 0x735, out: 0x2fb44eea93c60000, outHI: 0x0
+swr :: offset: 0x736, out: 0x2fb44eea93c67900, outHI: 0x0
+swr :: offset: 0x737, out: 0x2fb44eea93c6796a, outHI: 0x0
+swr :: offset: 0x738, out: 0xc00000000000000, outHI: 0x0
+swr :: offset: 0x739, out: 0xcfe000000000000, outHI: 0x0
+swr :: offset: 0x73a, out: 0xcfe710000000000, outHI: 0x0
+swr :: offset: 0x73b, out: 0xcfe71fc00000000, outHI: 0x0
+swr :: offset: 0x73c, out: 0xcfe71fca0000000, outHI: 0x0
+swr :: offset: 0x73d, out: 0xcfe71fca06c0000, outHI: 0x0
+swr :: offset: 0x73e, out: 0xcfe71fca06c0e00, outHI: 0x0
+swr :: offset: 0x73f, out: 0xcfe71fca06c0eb6, outHI: 0x0
+swr :: offset: 0x740, out: 0x5700000000000000, outHI: 0x0
+swr :: offset: 0x741, out: 0x574e000000000000, outHI: 0x0
+swr :: offset: 0x742, out: 0x574ed60000000000, outHI: 0x0
+swr :: offset: 0x743, out: 0x574ed63900000000, outHI: 0x0
+swr :: offset: 0x744, out: 0x574ed6393d000000, outHI: 0x0
+swr :: offset: 0x745, out: 0x574ed6393df80000, outHI: 0x0
+swr :: offset: 0x746, out: 0x574ed6393df81800, outHI: 0x0
+swr :: offset: 0x747, out: 0x574ed6393df818af, outHI: 0x0
+swr :: offset: 0x748, out: 0x5700000000000000, outHI: 0x0
+swr :: offset: 0x749, out: 0x57f2000000000000, outHI: 0x0
+swr :: offset: 0x74a, out: 0x57f22e0000000000, outHI: 0x0
+swr :: offset: 0x74b, out: 0x57f22e9000000000, outHI: 0x0
+swr :: offset: 0x74c, out: 0x57f22e9020000000, outHI: 0x0
+swr :: offset: 0x74d, out: 0x57f22e9020020000, outHI: 0x0
+swr :: offset: 0x74e, out: 0x57f22e9020023600, outHI: 0x0
+swr :: offset: 0x74f, out: 0x57f22e9020023677, outHI: 0x0
+swr :: offset: 0x750, out: 0xa00000000000000, outHI: 0x0
+swr :: offset: 0x751, out: 0xa81000000000000, outHI: 0x0
+swr :: offset: 0x752, out: 0xa81ef0000000000, outHI: 0x0
+swr :: offset: 0x753, out: 0xa81efb600000000, outHI: 0x0
+swr :: offset: 0x754, out: 0xa81efb6c7000000, outHI: 0x0
+swr :: offset: 0x755, out: 0xa81efb6c7af0000, outHI: 0x0
+swr :: offset: 0x756, out: 0xa81efb6c7afd000, outHI: 0x0
+swr :: offset: 0x757, out: 0xa81efb6c7afd0c4, outHI: 0x0
+swr :: offset: 0x758, out: 0x5d00000000000000, outHI: 0x0
+swr :: offset: 0x759, out: 0x5dee000000000000, outHI: 0x0
+swr :: offset: 0x75a, out: 0x5deed80000000000, outHI: 0x0
+swr :: offset: 0x75b, out: 0x5deed8f300000000, outHI: 0x0
+swr :: offset: 0x75c, out: 0x5deed8f351000000, outHI: 0x0
+swr :: offset: 0x75d, out: 0x5deed8f351810000, outHI: 0x0
+swr :: offset: 0x75e, out: 0x5deed8f351810200, outHI: 0x0
+swr :: offset: 0x75f, out: 0x5deed8f351810231, outHI: 0x0
+swr :: offset: 0x760, out: 0x5b00000000000000, outHI: 0x0
+swr :: offset: 0x761, out: 0x5bad000000000000, outHI: 0x0
+swr :: offset: 0x762, out: 0x5badaf0000000000, outHI: 0x0
+swr :: offset: 0x763, out: 0x5badafef00000000, outHI: 0x0
+swr :: offset: 0x764, out: 0x5badafefb9000000, outHI: 0x0
+swr :: offset: 0x765, out: 0x5badafefb9990000, outHI: 0x0
+swr :: offset: 0x766, out: 0x5badafefb9995e00, outHI: 0x0
+swr :: offset: 0x767, out: 0x5badafefb9995efd, outHI: 0x0
+swr :: offset: 0x768, out: 0x5e00000000000000, outHI: 0x0
+swr :: offset: 0x769, out: 0x5e34000000000000, outHI: 0x0
+swr :: offset: 0x76a, out: 0x5e34060000000000, outHI: 0x0
+swr :: offset: 0x76b, out: 0x5e34061900000000, outHI: 0x0
+swr :: offset: 0x76c, out: 0x5e34061933000000, outHI: 0x0
+swr :: offset: 0x76d, out: 0x5e34061933eb0000, outHI: 0x0
+swr :: offset: 0x76e, out: 0x5e34061933eb2500, outHI: 0x0
+swr :: offset: 0x76f, out: 0x5e34061933eb2530, outHI: 0x0
+swr :: offset: 0x770, out: 0x8600000000000000, outHI: 0x0
+swr :: offset: 0x771, out: 0x8617000000000000, outHI: 0x0
+swr :: offset: 0x772, out: 0x8617480000000000, outHI: 0x0
+swr :: offset: 0x773, out: 0x861748da00000000, outHI: 0x0
+swr :: offset: 0x774, out: 0x861748da26000000, outHI: 0x0
+swr :: offset: 0x775, out: 0x861748da264b0000, outHI: 0x0
+swr :: offset: 0x776, out: 0x861748da264b4c00, outHI: 0x0
+swr :: offset: 0x777, out: 0x861748da264b4c52, outHI: 0x0
+swr :: offset: 0x778, out: 0xbc00000000000000, outHI: 0x0
+swr :: offset: 0x779, out: 0xbc34000000000000, outHI: 0x0
+swr :: offset: 0x77a, out: 0xbc34fd0000000000, outHI: 0x0
+swr :: offset: 0x77b, out: 0xbc34fdfc00000000, outHI: 0x0
+swr :: offset: 0x77c, out: 0xbc34fdfc9a000000, outHI: 0x0
+swr :: offset: 0x77d, out: 0xbc34fdfc9a930000, outHI: 0x0
+swr :: offset: 0x77e, out: 0xbc34fdfc9a930200, outHI: 0x0
+swr :: offset: 0x77f, out: 0xbc34fdfc9a9302be, outHI: 0x0
+swr :: offset: 0x780, out: 0x8900000000000000, outHI: 0x0
+swr :: offset: 0x781, out: 0x89d0000000000000, outHI: 0x0
+swr :: offset: 0x782, out: 0x89d0020000000000, outHI: 0x0
+swr :: offset: 0x783, out: 0x89d0027800000000, outHI: 0x0
+swr :: offset: 0x784, out: 0x89d00278c3000000, outHI: 0x0
+swr :: offset: 0x785, out: 0x89d00278c3c50000, outHI: 0x0
+swr :: offset: 0x786, out: 0x89d00278c3c52100, outHI: 0x0
+swr :: offset: 0x787, out: 0x89d00278c3c521d1, outHI: 0x0
+swr :: offset: 0x788, out: 0x8000000000000000, outHI: 0x0
+swr :: offset: 0x789, out: 0x80e9000000000000, outHI: 0x0
+swr :: offset: 0x78a, out: 0x80e9090000000000, outHI: 0x0
+swr :: offset: 0x78b, out: 0x80e9094400000000, outHI: 0x0
+swr :: offset: 0x78c, out: 0x80e90944a4000000, outHI: 0x0
+swr :: offset: 0x78d, out: 0x80e90944a4c10000, outHI: 0x0
+swr :: offset: 0x78e, out: 0x80e90944a4c1d300, outHI: 0x0
+swr :: offset: 0x78f, out: 0x80e90944a4c1d37a, outHI: 0x0
+swr :: offset: 0x790, out: 0x5d00000000000000, outHI: 0x0
+swr :: offset: 0x791, out: 0x5d65000000000000, outHI: 0x0
+swr :: offset: 0x792, out: 0x5d65fd0000000000, outHI: 0x0
+swr :: offset: 0x793, out: 0x5d65fd6900000000, outHI: 0x0
+swr :: offset: 0x794, out: 0x5d65fd698f000000, outHI: 0x0
+swr :: offset: 0x795, out: 0x5d65fd698fdd0000, outHI: 0x0
+swr :: offset: 0x796, out: 0x5d65fd698fddef00, outHI: 0x0
+swr :: offset: 0x797, out: 0x5d65fd698fddef98, outHI: 0x0
+swr :: offset: 0x798, out: 0x3900000000000000, outHI: 0x0
+swr :: offset: 0x799, out: 0x39c4000000000000, outHI: 0x0
+swr :: offset: 0x79a, out: 0x39c49e0000000000, outHI: 0x0
+swr :: offset: 0x79b, out: 0x39c49ee300000000, outHI: 0x0
+swr :: offset: 0x79c, out: 0x39c49ee3ad000000, outHI: 0x0
+swr :: offset: 0x79d, out: 0x39c49ee3ad810000, outHI: 0x0
+swr :: offset: 0x79e, out: 0x39c49ee3ad81b500, outHI: 0x0
+swr :: offset: 0x79f, out: 0x39c49ee3ad81b5af, outHI: 0x0
+swr :: offset: 0x7a0, out: 0x5200000000000000, outHI: 0x0
+swr :: offset: 0x7a1, out: 0x527a000000000000, outHI: 0x0
+swr :: offset: 0x7a2, out: 0x527aa90000000000, outHI: 0x0
+swr :: offset: 0x7a3, out: 0x527aa94100000000, outHI: 0x0
+swr :: offset: 0x7a4, out: 0x527aa941e8000000, outHI: 0x0
+swr :: offset: 0x7a5, out: 0x527aa941e8bd0000, outHI: 0x0
+swr :: offset: 0x7a6, out: 0x527aa941e8bdb200, outHI: 0x0
+swr :: offset: 0x7a7, out: 0x527aa941e8bdb263, outHI: 0x0
+swr :: offset: 0x7a8, out: 0xe900000000000000, outHI: 0x0
+swr :: offset: 0x7a9, out: 0xe937000000000000, outHI: 0x0
+swr :: offset: 0x7aa, out: 0xe9372c0000000000, outHI: 0x0
+swr :: offset: 0x7ab, out: 0xe9372c2000000000, outHI: 0x0
+swr :: offset: 0x7ac, out: 0xe9372c209e000000, outHI: 0x0
+swr :: offset: 0x7ad, out: 0xe9372c209e420000, outHI: 0x0
+swr :: offset: 0x7ae, out: 0xe9372c209e42f300, outHI: 0x0
+swr :: offset: 0x7af, out: 0xe9372c209e42f3b5, outHI: 0x0
+swr :: offset: 0x7b0, out: 0x8d00000000000000, outHI: 0x0
+swr :: offset: 0x7b1, out: 0x8d30000000000000, outHI: 0x0
+swr :: offset: 0x7b2, out: 0x8d30f80000000000, outHI: 0x0
+swr :: offset: 0x7b3, out: 0x8d30f87000000000, outHI: 0x0
+swr :: offset: 0x7b4, out: 0x8d30f870b7000000, outHI: 0x0
+swr :: offset: 0x7b5, out: 0x8d30f870b7e10000, outHI: 0x0
+swr :: offset: 0x7b6, out: 0x8d30f870b7e12200, outHI: 0x0
+swr :: offset: 0x7b7, out: 0x8d30f870b7e122a8, outHI: 0x0
+swr :: offset: 0x7b8, out: 0x3b00000000000000, outHI: 0x0
+swr :: offset: 0x7b9, out: 0x3b9e000000000000, outHI: 0x0
+swr :: offset: 0x7ba, out: 0x3b9e020000000000, outHI: 0x0
+swr :: offset: 0x7bb, out: 0x3b9e02de00000000, outHI: 0x0
+swr :: offset: 0x7bc, out: 0x3b9e02de4b000000, outHI: 0x0
+swr :: offset: 0x7bd, out: 0x3b9e02de4b670000, outHI: 0x0
+swr :: offset: 0x7be, out: 0x3b9e02de4b678900, outHI: 0x0
+swr :: offset: 0x7bf, out: 0x3b9e02de4b678930, outHI: 0x0
+swr :: offset: 0x7c0, out: 0xec00000000000000, outHI: 0x0
+swr :: offset: 0x7c1, out: 0xeccd000000000000, outHI: 0x0
+swr :: offset: 0x7c2, out: 0xeccd610000000000, outHI: 0x0
+swr :: offset: 0x7c3, out: 0xeccd61a800000000, outHI: 0x0
+swr :: offset: 0x7c4, out: 0xeccd61a863000000, outHI: 0x0
+swr :: offset: 0x7c5, out: 0xeccd61a863980000, outHI: 0x0
+swr :: offset: 0x7c6, out: 0xeccd61a863982600, outHI: 0x0
+swr :: offset: 0x7c7, out: 0xeccd61a863982663, outHI: 0x0
+swr :: offset: 0x7c8, out: 0x1e00000000000000, outHI: 0x0
+swr :: offset: 0x7c9, out: 0x1eae000000000000, outHI: 0x0
+swr :: offset: 0x7ca, out: 0x1eae870000000000, outHI: 0x0
+swr :: offset: 0x7cb, out: 0x1eae87bc00000000, outHI: 0x0
+swr :: offset: 0x7cc, out: 0x1eae87bc89000000, outHI: 0x0
+swr :: offset: 0x7cd, out: 0x1eae87bc899a0000, outHI: 0x0
+swr :: offset: 0x7ce, out: 0x1eae87bc899a7b00, outHI: 0x0
+swr :: offset: 0x7cf, out: 0x1eae87bc899a7bd3, outHI: 0x0
+swr :: offset: 0x7d0, out: 0xca00000000000000, outHI: 0x0
+swr :: offset: 0x7d1, out: 0xca58000000000000, outHI: 0x0
+swr :: offset: 0x7d2, out: 0xca58ec0000000000, outHI: 0x0
+swr :: offset: 0x7d3, out: 0xca58ec6400000000, outHI: 0x0
+swr :: offset: 0x7d4, out: 0xca58ec644d000000, outHI: 0x0
+swr :: offset: 0x7d5, out: 0xca58ec644d640000, outHI: 0x0
+swr :: offset: 0x7d6, out: 0xca58ec644d648100, outHI: 0x0
+swr :: offset: 0x7d7, out: 0xca58ec644d6481af, outHI: 0x0
+swr :: offset: 0x7d8, out: 0x1700000000000000, outHI: 0x0
+swr :: offset: 0x7d9, out: 0x1768000000000000, outHI: 0x0
+swr :: offset: 0x7da, out: 0x17680c0000000000, outHI: 0x0
+swr :: offset: 0x7db, out: 0x17680cce00000000, outHI: 0x0
+swr :: offset: 0x7dc, out: 0x17680cce5f000000, outHI: 0x0
+swr :: offset: 0x7dd, out: 0x17680cce5fb20000, outHI: 0x0
+swr :: offset: 0x7de, out: 0x17680cce5fb23600, outHI: 0x0
+swr :: offset: 0x7df, out: 0x17680cce5fb236b6, outHI: 0x0
+swr :: offset: 0x7e0, out: 0x6600000000000000, outHI: 0x0
+swr :: offset: 0x7e1, out: 0x663b000000000000, outHI: 0x0
+swr :: offset: 0x7e2, out: 0x663baa0000000000, outHI: 0x0
+swr :: offset: 0x7e3, out: 0x663baa9900000000, outHI: 0x0
+swr :: offset: 0x7e4, out: 0x663baa9947000000, outHI: 0x0
+swr :: offset: 0x7e5, out: 0x663baa99471f0000, outHI: 0x0
+swr :: offset: 0x7e6, out: 0x663baa99471f6d00, outHI: 0x0
+swr :: offset: 0x7e7, out: 0x663baa99471f6d4d, outHI: 0x0
+swr :: offset: 0x7e8, out: 0x7500000000000000, outHI: 0x0
+swr :: offset: 0x7e9, out: 0x7561000000000000, outHI: 0x0
+swr :: offset: 0x7ea, out: 0x75614d0000000000, outHI: 0x0
+swr :: offset: 0x7eb, out: 0x75614d9b00000000, outHI: 0x0
+swr :: offset: 0x7ec, out: 0x75614d9b44000000, outHI: 0x0
+swr :: offset: 0x7ed, out: 0x75614d9b445f0000, outHI: 0x0
+swr :: offset: 0x7ee, out: 0x75614d9b445f1200, outHI: 0x0
+swr :: offset: 0x7ef, out: 0x75614d9b445f1223, outHI: 0x0
+swr :: offset: 0x7f0, out: 0x6b00000000000000, outHI: 0x0
+swr :: offset: 0x7f1, out: 0x6ba2000000000000, outHI: 0x0
+swr :: offset: 0x7f2, out: 0x6ba2a60000000000, outHI: 0x0
+swr :: offset: 0x7f3, out: 0x6ba2a6ec00000000, outHI: 0x0
+swr :: offset: 0x7f4, out: 0x6ba2a6ec66000000, outHI: 0x0
+swr :: offset: 0x7f5, out: 0x6ba2a6ec661b0000, outHI: 0x0
+swr :: offset: 0x7f6, out: 0x6ba2a6ec661ba800, outHI: 0x0
+swr :: offset: 0x7f7, out: 0x6ba2a6ec661ba841, outHI: 0x0
diff --git a/none/tests/mips64/load_store.stdout.exp-LE b/none/tests/mips64/load_store.stdout.exp-LE
new file mode 100644
index 0000000..108e7a5
--- /dev/null
+++ b/none/tests/mips64/load_store.stdout.exp-LE
@@ -0,0 +1,35393 @@
+lb :: offset: 0x0, out: 0x0
+lb :: offset: 0x1, out: 0x0
+lb :: offset: 0x2, out: 0x0
+lb :: offset: 0x3, out: 0x0
+lb :: offset: 0x4, out: 0x0
+lb :: offset: 0x5, out: 0x0
+lb :: offset: 0x6, out: 0x0
+lb :: offset: 0x7, out: 0x0
+lb :: offset: 0x8, out: 0x6e
+lb :: offset: 0x9, out: 0x3b
+lb :: offset: 0xa, out: 0xffffffffffffff82
+lb :: offset: 0xb, out: 0x9
+lb :: offset: 0xc, out: 0xffffffffffffffd9
+lb :: offset: 0xd, out: 0x26
+lb :: offset: 0xe, out: 0x43
+lb :: offset: 0xf, out: 0xd
+lb :: offset: 0x10, out: 0xffffffffffffffdc
+lb :: offset: 0x11, out: 0x76
+lb :: offset: 0x12, out: 0x4
+lb :: offset: 0x13, out: 0x13
+lb :: offset: 0x14, out: 0x6b
+lb :: offset: 0x15, out: 0x6b
+lb :: offset: 0x16, out: 0xffffffffffffffc5
+lb :: offset: 0x17, out: 0x17
+lb :: offset: 0x18, out: 0xffffffffffffffb2
+lb :: offset: 0x19, out: 0x4d
+lb :: offset: 0x1a, out: 0xffffffffffffff86
+lb :: offset: 0x1b, out: 0x1a
+lb :: offset: 0x1c, out: 0x5
+lb :: offset: 0x1d, out: 0x50
+lb :: offset: 0x1e, out: 0x47
+lb :: offset: 0x1f, out: 0x1e
+lb :: offset: 0x20, out: 0xffffffffffffffb8
+lb :: offset: 0x21, out: 0xffffffffffffffed
+lb :: offset: 0x22, out: 0x8
+lb :: offset: 0x23, out: 0x26
+lb :: offset: 0x24, out: 0xf
+lb :: offset: 0x25, out: 0xfffffffffffffff0
+lb :: offset: 0x26, out: 0xffffffffffffffc9
+lb :: offset: 0x27, out: 0x22
+lb :: offset: 0x28, out: 0xffffffffffffffd6
+lb :: offset: 0x29, out: 0xffffffffffffffd6
+lb :: offset: 0x2a, out: 0xffffffffffffff8a
+lb :: offset: 0x2b, out: 0x2f
+lb :: offset: 0x2c, out: 0x61
+lb :: offset: 0x2d, out: 0xffffffffffffffcb
+lb :: offset: 0x2e, out: 0x4b
+lb :: offset: 0x2f, out: 0x2b
+lb :: offset: 0x30, out: 0x64
+lb :: offset: 0x31, out: 0xffffffffffffff9b
+lb :: offset: 0x32, out: 0xc
+lb :: offset: 0x33, out: 0x35
+lb :: offset: 0x34, out: 0xffffffffffffffd3
+lb :: offset: 0x35, out: 0xffffffffffffff86
+lb :: offset: 0x36, out: 0xffffffffffffffcd
+lb :: offset: 0x37, out: 0x31
+lb :: offset: 0x38, out: 0xa
+lb :: offset: 0x39, out: 0xffffffffffffffa0
+lb :: offset: 0x3a, out: 0xffffffffffffff8e
+lb :: offset: 0x3b, out: 0x3c
+lb :: offset: 0x3c, out: 0xffffffffffffffbd
+lb :: offset: 0x3d, out: 0xffffffffffffffbd
+lb :: offset: 0x3e, out: 0x4f
+lb :: offset: 0x3f, out: 0x38
+lb :: offset: 0x40, out: 0x70
+lb :: offset: 0x41, out: 0xffffffffffffffdb
+lb :: offset: 0x42, out: 0x11
+lb :: offset: 0x43, out: 0x4c
+lb :: offset: 0x44, out: 0xffffffffffffffc7
+lb :: offset: 0x45, out: 0xffffffffffffffc6
+lb :: offset: 0x46, out: 0xffffffffffffffd0
+lb :: offset: 0x47, out: 0x48
+lb :: offset: 0x48, out: 0x1e
+lb :: offset: 0x49, out: 0xffffffffffffffe0
+lb :: offset: 0x4a, out: 0xffffffffffffff93
+lb :: offset: 0x4b, out: 0x45
+lb :: offset: 0x4c, out: 0xffffffffffffffa9
+lb :: offset: 0x4d, out: 0xfffffffffffffffd
+lb :: offset: 0x4e, out: 0x52
+lb :: offset: 0x4f, out: 0x41
+lb :: offset: 0x50, out: 0xffffffffffffffac
+lb :: offset: 0x51, out: 0xffffffffffffffad
+lb :: offset: 0x52, out: 0x15
+lb :: offset: 0x53, out: 0x5f
+lb :: offset: 0x54, out: 0x1b
+lb :: offset: 0x55, out: 0xffffffffffffffb0
+lb :: offset: 0x56, out: 0xffffffffffffffd4
+lb :: offset: 0x57, out: 0x5b
+lb :: offset: 0x58, out: 0xffffffffffffffc2
+lb :: offset: 0x59, out: 0xffffffffffffff96
+lb :: offset: 0x5a, out: 0xffffffffffffff97
+lb :: offset: 0x5b, out: 0x56
+lb :: offset: 0x5c, out: 0x75
+lb :: offset: 0x5d, out: 0xffffffffffffff8b
+lb :: offset: 0x5e, out: 0x56
+lb :: offset: 0x5f, out: 0x52
+lb :: offset: 0x60, out: 0xffffffffffffffc8
+lb :: offset: 0x61, out: 0x36
+lb :: offset: 0x62, out: 0x19
+lb :: offset: 0x63, out: 0x6a
+lb :: offset: 0x64, out: 0x7f
+lb :: offset: 0x65, out: 0x2b
+lb :: offset: 0x66, out: 0xffffffffffffffd8
+lb :: offset: 0x67, out: 0x6e
+lb :: offset: 0x68, out: 0xffffffffffffffa6
+lb :: offset: 0x69, out: 0xd
+lb :: offset: 0x6a, out: 0xffffffffffffff9b
+lb :: offset: 0x6b, out: 0x63
+lb :: offset: 0x6c, out: 0x11
+lb :: offset: 0x6d, out: 0x10
+lb :: offset: 0x6e, out: 0x5a
+lb :: offset: 0x6f, out: 0x67
+lb :: offset: 0x70, out: 0x14
+lb :: offset: 0x71, out: 0x40
+lb :: offset: 0x72, out: 0x1d
+lb :: offset: 0x73, out: 0x79
+lb :: offset: 0x74, out: 0xffffffffffffffa3
+lb :: offset: 0x75, out: 0x5d
+lb :: offset: 0x76, out: 0xffffffffffffffdc
+lb :: offset: 0x77, out: 0x7d
+lb :: offset: 0x78, out: 0x7a
+lb :: offset: 0x79, out: 0x7b
+lb :: offset: 0x7a, out: 0xffffffffffffff9f
+lb :: offset: 0x7b, out: 0x70
+lb :: offset: 0x7c, out: 0xffffffffffffffcd
+lb :: offset: 0x7d, out: 0x66
+lb :: offset: 0x7e, out: 0x5e
+lb :: offset: 0x7f, out: 0x74
+lb :: offset: 0x80, out: 0xffffffffffffffe0
+lb :: offset: 0x81, out: 0xffffffffffffffb6
+lb :: offset: 0x82, out: 0x23
+lb :: offset: 0x83, out: 0xffffffffffffff98
+lb :: offset: 0x84, out: 0x57
+lb :: offset: 0x85, out: 0xffffffffffffffab
+lb :: offset: 0x86, out: 0xffffffffffffffe2
+lb :: offset: 0x87, out: 0xffffffffffffff9c
+lb :: offset: 0x88, out: 0xffffffffffffff8e
+lb :: offset: 0x89, out: 0xffffffffffffff8d
+lb :: offset: 0x8a, out: 0xffffffffffffffa1
+lb :: offset: 0x8b, out: 0xffffffffffffff91
+lb :: offset: 0x8c, out: 0x39
+lb :: offset: 0x8d, out: 0xffffffffffffff90
+lb :: offset: 0x8e, out: 0x60
+lb :: offset: 0x8f, out: 0xffffffffffffff95
+lb :: offset: 0x90, out: 0x3c
+lb :: offset: 0x91, out: 0xffffffffffffffc0
+lb :: offset: 0x92, out: 0x27
+lb :: offset: 0x93, out: 0xffffffffffffff8b
+lb :: offset: 0x94, out: 0xffffffffffffff8b
+lb :: offset: 0x95, out: 0xffffffffffffffdd
+lb :: offset: 0x96, out: 0xffffffffffffffe6
+lb :: offset: 0x97, out: 0xffffffffffffff8f
+lb :: offset: 0x98, out: 0x52
+lb :: offset: 0x99, out: 0xfffffffffffffffb
+lb :: offset: 0x9a, out: 0xffffffffffffffa5
+lb :: offset: 0x9b, out: 0xffffffffffffff82
+lb :: offset: 0x9c, out: 0xffffffffffffffe5
+lb :: offset: 0x9d, out: 0xffffffffffffffe6
+lb :: offset: 0x9e, out: 0x64
+lb :: offset: 0x9f, out: 0xffffffffffffff86
+lb :: offset: 0xa0, out: 0x58
+lb :: offset: 0xa1, out: 0x5b
+lb :: offset: 0xa2, out: 0x2b
+lb :: offset: 0xa3, out: 0xffffffffffffffbe
+lb :: offset: 0xa4, out: 0xffffffffffffffef
+lb :: offset: 0xa5, out: 0x46
+lb :: offset: 0xa6, out: 0xffffffffffffffea
+lb :: offset: 0xa7, out: 0xffffffffffffffba
+lb :: offset: 0xa8, out: 0x36
+lb :: offset: 0xa9, out: 0x60
+lb :: offset: 0xaa, out: 0xffffffffffffffa9
+lb :: offset: 0xab, out: 0xffffffffffffffb7
+lb :: offset: 0xac, out: 0xffffffffffffff81
+lb :: offset: 0xad, out: 0x7d
+lb :: offset: 0xae, out: 0x68
+lb :: offset: 0xaf, out: 0xffffffffffffffb3
+lb :: offset: 0xb0, out: 0xffffffffffffff84
+lb :: offset: 0xb1, out: 0x2d
+lb :: offset: 0xb2, out: 0x2f
+lb :: offset: 0xb3, out: 0xffffffffffffffad
+lb :: offset: 0xb4, out: 0x33
+lb :: offset: 0xb5, out: 0x30
+lb :: offset: 0xb6, out: 0xffffffffffffffee
+lb :: offset: 0xb7, out: 0xffffffffffffffa9
+lb :: offset: 0xb8, out: 0xffffffffffffffea
+lb :: offset: 0xb9, out: 0x16
+lb :: offset: 0xba, out: 0xffffffffffffffad
+lb :: offset: 0xbb, out: 0xffffffffffffffa4
+lb :: offset: 0xbc, out: 0x5d
+lb :: offset: 0xbd, out: 0xb
+lb :: offset: 0xbe, out: 0x6c
+lb :: offset: 0xbf, out: 0xffffffffffffffa0
+lb :: offset: 0xc0, out: 0xffffffffffffff90
+lb :: offset: 0xc1, out: 0x6d
+lb :: offset: 0xc2, out: 0x32
+lb :: offset: 0xc3, out: 0xffffffffffffffd4
+lb :: offset: 0xc4, out: 0x27
+lb :: offset: 0xc5, out: 0x70
+lb :: offset: 0xc6, out: 0xfffffffffffffff3
+lb :: offset: 0xc7, out: 0xffffffffffffffd0
+lb :: offset: 0xc8, out: 0xfffffffffffffffe
+lb :: offset: 0xc9, out: 0x56
+lb :: offset: 0xca, out: 0xffffffffffffffb0
+lb :: offset: 0xcb, out: 0xffffffffffffffdd
+lb :: offset: 0xcc, out: 0x49
+lb :: offset: 0xcd, out: 0x4b
+lb :: offset: 0xce, out: 0x71
+lb :: offset: 0xcf, out: 0xffffffffffffffd9
+lb :: offset: 0xd0, out: 0x4c
+lb :: offset: 0xd1, out: 0x1b
+lb :: offset: 0xd2, out: 0x36
+lb :: offset: 0xd3, out: 0xffffffffffffffc7
+lb :: offset: 0xd4, out: 0xfffffffffffffffb
+lb :: offset: 0xd5, out: 0x6
+lb :: offset: 0xd6, out: 0xfffffffffffffff7
+lb :: offset: 0xd7, out: 0xffffffffffffffc3
+lb :: offset: 0xd8, out: 0x22
+lb :: offset: 0xd9, out: 0x20
+lb :: offset: 0xda, out: 0xffffffffffffffb4
+lb :: offset: 0xdb, out: 0xffffffffffffffce
+lb :: offset: 0xdc, out: 0xffffffffffffff95
+lb :: offset: 0xdd, out: 0x3d
+lb :: offset: 0xde, out: 0x75
+lb :: offset: 0xdf, out: 0xffffffffffffffca
+lb :: offset: 0xe0, out: 0x28
+lb :: offset: 0xe1, out: 0xffffffffffffff80
+lb :: offset: 0xe2, out: 0x3a
+lb :: offset: 0xe3, out: 0xfffffffffffffff2
+lb :: offset: 0xe4, out: 0xffffffffffffff9f
+lb :: offset: 0xe5, out: 0xffffffffffffff9d
+lb :: offset: 0xe6, out: 0xfffffffffffffffb
+lb :: offset: 0xe7, out: 0xfffffffffffffff6
+lb :: offset: 0xe8, out: 0x46
+lb :: offset: 0xe9, out: 0xffffffffffffffbb
+lb :: offset: 0xea, out: 0xffffffffffffffb8
+lb :: offset: 0xeb, out: 0xfffffffffffffffb
+lb :: offset: 0xec, out: 0xfffffffffffffff1
+lb :: offset: 0xed, out: 0xffffffffffffffa6
+lb :: offset: 0xee, out: 0x79
+lb :: offset: 0xef, out: 0xffffffffffffffff
+lb :: offset: 0xf0, out: 0xfffffffffffffff4
+lb :: offset: 0xf1, out: 0xfffffffffffffff6
+lb :: offset: 0xf2, out: 0x3e
+lb :: offset: 0xf3, out: 0xffffffffffffffe1
+lb :: offset: 0xf4, out: 0x43
+lb :: offset: 0xf5, out: 0xffffffffffffffeb
+lb :: offset: 0xf6, out: 0xffffffffffffffff
+lb :: offset: 0xf7, out: 0xffffffffffffffe5
+lb :: offset: 0xf8, out: 0xffffffffffffff9a
+lb :: offset: 0xf9, out: 0xffffffffffffffcd
+lb :: offset: 0xfa, out: 0xffffffffffffffbc
+lb :: offset: 0xfb, out: 0xffffffffffffffe8
+lb :: offset: 0xfc, out: 0x2d
+lb :: offset: 0xfd, out: 0xffffffffffffffd0
+lb :: offset: 0xfe, out: 0x7d
+lb :: offset: 0xff, out: 0xffffffffffffffec
+lb :: offset: 0x100, out: 0x77
+lb :: offset: 0x101, out: 0x70
+lb :: offset: 0x102, out: 0xffffffffffffff86
+lb :: offset: 0x103, out: 0x34
+lb :: offset: 0x104, out: 0xffffffffffffffc0
+lb :: offset: 0x105, out: 0x6d
+lb :: offset: 0x106, out: 0x47
+lb :: offset: 0x107, out: 0x30
+lb :: offset: 0x108, out: 0x19
+lb :: offset: 0x109, out: 0x4b
+lb :: offset: 0x10a, out: 0x4
+lb :: offset: 0x10b, out: 0x3d
+lb :: offset: 0x10c, out: 0xffffffffffffffae
+lb :: offset: 0x10d, out: 0x56
+lb :: offset: 0x10e, out: 0xffffffffffffffc5
+lb :: offset: 0x10f, out: 0x39
+lb :: offset: 0x110, out: 0xffffffffffffffab
+lb :: offset: 0x111, out: 0x6
+lb :: offset: 0x112, out: 0xffffffffffffff82
+lb :: offset: 0x113, out: 0x27
+lb :: offset: 0x114, out: 0x1c
+lb :: offset: 0x115, out: 0x1b
+lb :: offset: 0x116, out: 0x43
+lb :: offset: 0x117, out: 0x23
+lb :: offset: 0x118, out: 0xffffffffffffffc5
+lb :: offset: 0x119, out: 0x3d
+lb :: offset: 0x11a, out: 0x0
+lb :: offset: 0x11b, out: 0x2e
+lb :: offset: 0x11c, out: 0x72
+lb :: offset: 0x11d, out: 0x20
+lb :: offset: 0x11e, out: 0xffffffffffffffc1
+lb :: offset: 0x11f, out: 0x2a
+lb :: offset: 0x120, out: 0xffffffffffffffcf
+lb :: offset: 0x121, out: 0xffffffffffffff9d
+lb :: offset: 0x122, out: 0xffffffffffffff8e
+lb :: offset: 0x123, out: 0x12
+lb :: offset: 0x124, out: 0x78
+lb :: offset: 0x125, out: 0xffffffffffffff80
+lb :: offset: 0x126, out: 0x4f
+lb :: offset: 0x127, out: 0x16
+lb :: offset: 0x128, out: 0xffffffffffffffa1
+lb :: offset: 0x129, out: 0xffffffffffffffa6
+lb :: offset: 0x12a, out: 0xc
+lb :: offset: 0x12b, out: 0x1b
+lb :: offset: 0x12c, out: 0x16
+lb :: offset: 0x12d, out: 0xffffffffffffffbb
+lb :: offset: 0x12e, out: 0xffffffffffffffcd
+lb :: offset: 0x12f, out: 0x1f
+lb :: offset: 0x130, out: 0x13
+lb :: offset: 0x131, out: 0xffffffffffffffeb
+lb :: offset: 0x132, out: 0xffffffffffffff8a
+lb :: offset: 0x133, out: 0x1
+lb :: offset: 0x134, out: 0xffffffffffffffa4
+lb :: offset: 0x135, out: 0xfffffffffffffff6
+lb :: offset: 0x136, out: 0x4b
+lb :: offset: 0x137, out: 0x5
+lb :: offset: 0x138, out: 0x7d
+lb :: offset: 0x139, out: 0xffffffffffffffd0
+lb :: offset: 0x13a, out: 0x8
+lb :: offset: 0x13b, out: 0x8
+lb :: offset: 0x13c, out: 0xffffffffffffffca
+lb :: offset: 0x13d, out: 0xffffffffffffffcd
+lb :: offset: 0x13e, out: 0xffffffffffffffc9
+lb :: offset: 0x13f, out: 0xc
+lb :: offset: 0x140, out: 0x7
+lb :: offset: 0x141, out: 0xffffffffffffffab
+lb :: offset: 0x142, out: 0xffffffffffffff97
+lb :: offset: 0x143, out: 0x78
+lb :: offset: 0x144, out: 0xffffffffffffffb0
+lb :: offset: 0x145, out: 0xffffffffffffffb6
+lb :: offset: 0x146, out: 0x56
+lb :: offset: 0x147, out: 0x7c
+lb :: offset: 0x148, out: 0x69
+lb :: offset: 0x149, out: 0xffffffffffffff90
+lb :: offset: 0x14a, out: 0x15
+lb :: offset: 0x14b, out: 0x71
+lb :: offset: 0x14c, out: 0xffffffffffffffde
+lb :: offset: 0x14d, out: 0xffffffffffffff8d
+lb :: offset: 0x14e, out: 0xffffffffffffffd4
+lb :: offset: 0x14f, out: 0x75
+lb :: offset: 0x150, out: 0xffffffffffffffdb
+lb :: offset: 0x151, out: 0xffffffffffffffdd
+lb :: offset: 0x152, out: 0xffffffffffffff93
+lb :: offset: 0x153, out: 0x6b
+lb :: offset: 0x154, out: 0x6c
+lb :: offset: 0x155, out: 0xffffffffffffffc0
+lb :: offset: 0x156, out: 0x52
+lb :: offset: 0x157, out: 0x6f
+lb :: offset: 0x158, out: 0xffffffffffffffb5
+lb :: offset: 0x159, out: 0xffffffffffffffe6
+lb :: offset: 0x15a, out: 0x11
+lb :: offset: 0x15b, out: 0x62
+lb :: offset: 0x15c, out: 0x2
+lb :: offset: 0x15d, out: 0xfffffffffffffffb
+lb :: offset: 0x15e, out: 0xffffffffffffffd0
+lb :: offset: 0x15f, out: 0x66
+lb :: offset: 0x160, out: 0xffffffffffffffbf
+lb :: offset: 0x161, out: 0x46
+lb :: offset: 0x162, out: 0xffffffffffffff9f
+lb :: offset: 0x163, out: 0x5e
+lb :: offset: 0x164, out: 0x8
+lb :: offset: 0x165, out: 0x5b
+lb :: offset: 0x166, out: 0x5e
+lb :: offset: 0x167, out: 0x5a
+lb :: offset: 0x168, out: 0xffffffffffffffd1
+lb :: offset: 0x169, out: 0x7d
+lb :: offset: 0x16a, out: 0x1d
+lb :: offset: 0x16b, out: 0x57
+lb :: offset: 0x16c, out: 0x66
+lb :: offset: 0x16d, out: 0x60
+lb :: offset: 0x16e, out: 0xffffffffffffffdc
+lb :: offset: 0x16f, out: 0x53
+lb :: offset: 0x170, out: 0x63
+lb :: offset: 0x171, out: 0x30
+lb :: offset: 0x172, out: 0xffffffffffffff9b
+lb :: offset: 0x173, out: 0x4d
+lb :: offset: 0x174, out: 0xffffffffffffffd4
+lb :: offset: 0x175, out: 0x2d
+lb :: offset: 0x176, out: 0x5a
+lb :: offset: 0x177, out: 0x49
+lb :: offset: 0x178, out: 0xd
+lb :: offset: 0x179, out: 0xb
+lb :: offset: 0x17a, out: 0x19
+lb :: offset: 0x17b, out: 0x44
+lb :: offset: 0x17c, out: 0xffffffffffffffba
+lb :: offset: 0x17d, out: 0x16
+lb :: offset: 0x17e, out: 0xffffffffffffffd8
+lb :: offset: 0x17f, out: 0x40
+lb :: offset: 0x180, out: 0xffffffffffffff97
+lb :: offset: 0x181, out: 0xffffffffffffffc6
+lb :: offset: 0x182, out: 0xffffffffffffffa5
+lb :: offset: 0x183, out: 0xffffffffffffffac
+lb :: offset: 0x184, out: 0x20
+lb :: offset: 0x185, out: 0xffffffffffffffdb
+lb :: offset: 0x186, out: 0x64
+lb :: offset: 0x187, out: 0xffffffffffffffa8
+lb :: offset: 0x188, out: 0xfffffffffffffff9
+lb :: offset: 0x189, out: 0xfffffffffffffffd
+lb :: offset: 0x18a, out: 0x27
+lb :: offset: 0x18b, out: 0xffffffffffffffa5
+lb :: offset: 0x18c, out: 0x4e
+lb :: offset: 0x18d, out: 0xffffffffffffffe0
+lb :: offset: 0x18e, out: 0xffffffffffffffe6
+lb :: offset: 0x18f, out: 0xffffffffffffffa1
+lb :: offset: 0x190, out: 0x4b
+lb :: offset: 0x191, out: 0xffffffffffffffb0
+lb :: offset: 0x192, out: 0xffffffffffffffa1
+lb :: offset: 0x193, out: 0xffffffffffffffbf
+lb :: offset: 0x194, out: 0xfffffffffffffffc
+lb :: offset: 0x195, out: 0xffffffffffffffad
+lb :: offset: 0x196, out: 0x60
+lb :: offset: 0x197, out: 0xffffffffffffffbb
+lb :: offset: 0x198, out: 0x25
+lb :: offset: 0x199, out: 0xffffffffffffff8b
+lb :: offset: 0x19a, out: 0x23
+lb :: offset: 0x19b, out: 0xffffffffffffffb6
+lb :: offset: 0x19c, out: 0xffffffffffffff92
+lb :: offset: 0x19d, out: 0xffffffffffffff96
+lb :: offset: 0x19e, out: 0xffffffffffffffe2
+lb :: offset: 0x19f, out: 0xffffffffffffffb2
+lb :: offset: 0x1a0, out: 0x2f
+lb :: offset: 0x1a1, out: 0x2b
+lb :: offset: 0x1a2, out: 0xffffffffffffffad
+lb :: offset: 0x1a3, out: 0xffffffffffffff8a
+lb :: offset: 0x1a4, out: 0x0
+lb :: offset: 0x1a5, out: 0x0
+lb :: offset: 0x1a6, out: 0x0
+lb :: offset: 0x1a7, out: 0x0
+lb :: offset: 0x1a8, out: 0x0
+lb :: offset: 0x1a9, out: 0x0
+lb :: offset: 0x1aa, out: 0x0
+lb :: offset: 0x1ab, out: 0x0
+lb :: offset: 0x1ac, out: 0xfffffffffffffff6
+lb :: offset: 0x1ad, out: 0xd
+lb :: offset: 0x1ae, out: 0xffffffffffffffee
+lb :: offset: 0x1af, out: 0xffffffffffffff87
+lb :: offset: 0x1b0, out: 0xfffffffffffffff3
+lb :: offset: 0x1b1, out: 0x5d
+lb :: offset: 0x1b2, out: 0xffffffffffffffa9
+lb :: offset: 0x1b3, out: 0xffffffffffffff99
+lb :: offset: 0x1b4, out: 0x44
+lb :: offset: 0x1b5, out: 0x40
+lb :: offset: 0x1b6, out: 0x68
+lb :: offset: 0x1b7, out: 0xffffffffffffff9d
+lb :: offset: 0x1b8, out: 0xffffffffffffff9d
+lb :: offset: 0x1b9, out: 0x66
+lb :: offset: 0x1ba, out: 0x2b
+lb :: offset: 0x1bb, out: 0xffffffffffffff90
+lb :: offset: 0x1bc, out: 0x2a
+lb :: offset: 0x1bd, out: 0x7b
+lb :: offset: 0x1be, out: 0xffffffffffffffea
+lb :: offset: 0x1bf, out: 0xffffffffffffff94
+lb :: offset: 0x1c0, out: 0xffffffffffffffe7
+lb :: offset: 0x1c1, out: 0x1d
+lb :: offset: 0x1c2, out: 0xffffffffffffffb4
+lb :: offset: 0x1c3, out: 0xffffffffffffffe0
+lb :: offset: 0x1c4, out: 0x50
+lb :: offset: 0x1c5, out: 0x0
+lb :: offset: 0x1c6, out: 0x75
+lb :: offset: 0x1c7, out: 0xffffffffffffffe4
+lb :: offset: 0x1c8, out: 0xffffffffffffff89
+lb :: offset: 0x1c9, out: 0x26
+lb :: offset: 0x1ca, out: 0x36
+lb :: offset: 0x1cb, out: 0xffffffffffffffe9
+lb :: offset: 0x1cc, out: 0x3e
+lb :: offset: 0x1cd, out: 0x3b
+lb :: offset: 0x1ce, out: 0xfffffffffffffff7
+lb :: offset: 0x1cf, out: 0xffffffffffffffed
+lb :: offset: 0x1d0, out: 0x3b
+lb :: offset: 0x1d1, out: 0x6b
+lb :: offset: 0x1d2, out: 0xffffffffffffffb0
+lb :: offset: 0x1d3, out: 0xfffffffffffffff3
+lb :: offset: 0x1d4, out: 0xffffffffffffff8c
+lb :: offset: 0x1d5, out: 0x76
+lb :: offset: 0x1d6, out: 0x71
+lb :: offset: 0x1d7, out: 0xfffffffffffffff7
+lb :: offset: 0x1d8, out: 0x55
+lb :: offset: 0x1d9, out: 0x50
+lb :: offset: 0x1da, out: 0x32
+lb :: offset: 0x1db, out: 0xfffffffffffffffa
+lb :: offset: 0x1dc, out: 0xffffffffffffffe2
+lb :: offset: 0x1dd, out: 0x4d
+lb :: offset: 0x1de, out: 0xfffffffffffffff3
+lb :: offset: 0x1df, out: 0xfffffffffffffffe
+lb :: offset: 0x1e0, out: 0x5f
+lb :: offset: 0x1e1, out: 0xfffffffffffffff0
+lb :: offset: 0x1e2, out: 0xffffffffffffffbc
+lb :: offset: 0x1e3, out: 0xffffffffffffffc6
+lb :: offset: 0x1e4, out: 0xffffffffffffffe8
+lb :: offset: 0x1e5, out: 0xffffffffffffffed
+lb :: offset: 0x1e6, out: 0x7d
+lb :: offset: 0x1e7, out: 0xffffffffffffffc2
+lb :: offset: 0x1e8, out: 0x31
+lb :: offset: 0x1e9, out: 0xffffffffffffffcb
+lb :: offset: 0x1ea, out: 0x3e
+lb :: offset: 0x1eb, out: 0xffffffffffffffcf
+lb :: offset: 0x1ec, out: 0xffffffffffffff86
+lb :: offset: 0x1ed, out: 0xffffffffffffffd6
+lb :: offset: 0x1ee, out: 0xffffffffffffffff
+lb :: offset: 0x1ef, out: 0xffffffffffffffcb
+lb :: offset: 0x1f0, out: 0xffffffffffffff83
+lb :: offset: 0x1f1, out: 0xffffffffffffff86
+lb :: offset: 0x1f2, out: 0xffffffffffffffb8
+lb :: offset: 0x1f3, out: 0xffffffffffffffd5
+lb :: offset: 0x1f4, out: 0x34
+lb :: offset: 0x1f5, out: 0xffffffffffffff9b
+lb :: offset: 0x1f6, out: 0x79
+lb :: offset: 0x1f7, out: 0xffffffffffffffd1
+lb :: offset: 0x1f8, out: 0xffffffffffffffed
+lb :: offset: 0x1f9, out: 0xffffffffffffffbd
+lb :: offset: 0x1fa, out: 0x3a
+lb :: offset: 0x1fb, out: 0xffffffffffffffdc
+lb :: offset: 0x1fc, out: 0x5a
+lb :: offset: 0x1fd, out: 0xffffffffffffffa0
+lb :: offset: 0x1fe, out: 0xfffffffffffffffb
+lb :: offset: 0x1ff, out: 0xffffffffffffffd8
+lb :: offset: 0x200, out: 0xffffffffffffffee
+lb :: offset: 0x201, out: 0xffffffffffffffe0
+lb :: offset: 0x202, out: 0xc
+lb :: offset: 0x203, out: 0x69
+lb :: offset: 0x204, out: 0x59
+lb :: offset: 0x205, out: 0xfffffffffffffffd
+lb :: offset: 0x206, out: 0xffffffffffffffcd
+lb :: offset: 0x207, out: 0x6d
+lb :: offset: 0x208, out: 0xffffffffffffff80
+lb :: offset: 0x209, out: 0xffffffffffffffdb
+lb :: offset: 0x20a, out: 0xffffffffffffff8e
+lb :: offset: 0x20b, out: 0x60
+lb :: offset: 0x20c, out: 0x37
+lb :: offset: 0x20d, out: 0xffffffffffffffc6
+lb :: offset: 0x20e, out: 0x4f
+lb :: offset: 0x20f, out: 0x64
+lb :: offset: 0x210, out: 0x32
+lb :: offset: 0x211, out: 0xffffffffffffff96
+lb :: offset: 0x212, out: 0x8
+lb :: offset: 0x213, out: 0x7a
+lb :: offset: 0x214, out: 0xffffffffffffff85
+lb :: offset: 0x215, out: 0xffffffffffffff8b
+lb :: offset: 0x216, out: 0xffffffffffffffc9
+lb :: offset: 0x217, out: 0x7e
+lb :: offset: 0x218, out: 0x5c
+lb :: offset: 0x219, out: 0xffffffffffffffad
+lb :: offset: 0x21a, out: 0xffffffffffffff8a
+lb :: offset: 0x21b, out: 0x73
+lb :: offset: 0x21c, out: 0xffffffffffffffeb
+lb :: offset: 0x21d, out: 0xffffffffffffffb0
+lb :: offset: 0x21e, out: 0x4b
+lb :: offset: 0x21f, out: 0x77
+lb :: offset: 0x220, out: 0x56
+lb :: offset: 0x221, out: 0xd
+lb :: offset: 0x222, out: 0x4
+lb :: offset: 0x223, out: 0x4f
+lb :: offset: 0x224, out: 0xffffffffffffffe1
+lb :: offset: 0x225, out: 0x10
+lb :: offset: 0x226, out: 0xffffffffffffffc5
+lb :: offset: 0x227, out: 0x4b
+lb :: offset: 0x228, out: 0x38
+lb :: offset: 0x229, out: 0x36
+lb :: offset: 0x22a, out: 0xffffffffffffff86
+lb :: offset: 0x22b, out: 0x46
+lb :: offset: 0x22c, out: 0xffffffffffffff8f
+lb :: offset: 0x22d, out: 0x2b
+lb :: offset: 0x22e, out: 0x47
+lb :: offset: 0x22f, out: 0x42
+lb :: offset: 0x230, out: 0xffffffffffffff8a
+lb :: offset: 0x231, out: 0x7b
+lb :: offset: 0x232, out: 0x0
+lb :: offset: 0x233, out: 0x5c
+lb :: offset: 0x234, out: 0x3d
+lb :: offset: 0x235, out: 0x66
+lb :: offset: 0x236, out: 0xffffffffffffffc1
+lb :: offset: 0x237, out: 0x58
+lb :: offset: 0x238, out: 0xffffffffffffffe4
+lb :: offset: 0x239, out: 0x40
+lb :: offset: 0x23a, out: 0xffffffffffffff82
+lb :: offset: 0x23b, out: 0x55
+lb :: offset: 0x23c, out: 0x53
+lb :: offset: 0x23d, out: 0x5d
+lb :: offset: 0x23e, out: 0x43
+lb :: offset: 0x23f, out: 0x51
+lb :: offset: 0x240, out: 0xffffffffffffff9e
+lb :: offset: 0x241, out: 0x3b
+lb :: offset: 0x242, out: 0x1d
+lb :: offset: 0x243, out: 0x25
+lb :: offset: 0x244, out: 0x29
+lb :: offset: 0x245, out: 0x26
+lb :: offset: 0x246, out: 0xffffffffffffffdc
+lb :: offset: 0x247, out: 0x21
+lb :: offset: 0x248, out: 0xfffffffffffffff0
+lb :: offset: 0x249, out: 0x0
+lb :: offset: 0x24a, out: 0xffffffffffffff9f
+lb :: offset: 0x24b, out: 0x2c
+lb :: offset: 0x24c, out: 0x47
+lb :: offset: 0x24d, out: 0x1d
+lb :: offset: 0x24e, out: 0x5e
+lb :: offset: 0x24f, out: 0x28
+lb :: offset: 0x250, out: 0x42
+lb :: offset: 0x251, out: 0x4d
+lb :: offset: 0x252, out: 0x19
+lb :: offset: 0x253, out: 0x36
+lb :: offset: 0x254, out: 0xfffffffffffffff5
+lb :: offset: 0x255, out: 0x50
+lb :: offset: 0x256, out: 0xffffffffffffffd8
+lb :: offset: 0x257, out: 0x32
+lb :: offset: 0x258, out: 0x2c
+lb :: offset: 0x259, out: 0x76
+lb :: offset: 0x25a, out: 0xffffffffffffff9b
+lb :: offset: 0x25b, out: 0x3f
+lb :: offset: 0x25c, out: 0xffffffffffffff9b
+lb :: offset: 0x25d, out: 0x6b
+lb :: offset: 0x25e, out: 0x5a
+lb :: offset: 0x25f, out: 0x3b
+lb :: offset: 0x260, out: 0x26
+lb :: offset: 0x261, out: 0xffffffffffffffd6
+lb :: offset: 0x262, out: 0x15
+lb :: offset: 0x263, out: 0x3
+lb :: offset: 0x264, out: 0xffffffffffffff91
+lb :: offset: 0x265, out: 0xffffffffffffffcb
+lb :: offset: 0x266, out: 0xffffffffffffffd4
+lb :: offset: 0x267, out: 0x7
+lb :: offset: 0x268, out: 0x48
+lb :: offset: 0x269, out: 0xffffffffffffffed
+lb :: offset: 0x26a, out: 0xffffffffffffff97
+lb :: offset: 0x26b, out: 0xa
+lb :: offset: 0x26c, out: 0xffffffffffffffff
+lb :: offset: 0x26d, out: 0xfffffffffffffff0
+lb :: offset: 0x26e, out: 0x56
+lb :: offset: 0x26f, out: 0xe
+lb :: offset: 0x270, out: 0xfffffffffffffffa
+lb :: offset: 0x271, out: 0xffffffffffffffa0
+lb :: offset: 0x272, out: 0x11
+lb :: offset: 0x273, out: 0x10
+lb :: offset: 0x274, out: 0x4d
+lb :: offset: 0x275, out: 0xffffffffffffffbd
+lb :: offset: 0x276, out: 0xffffffffffffffd0
+lb :: offset: 0x277, out: 0x14
+lb :: offset: 0x278, out: 0xffffffffffffff94
+lb :: offset: 0x279, out: 0xffffffffffffff9b
+lb :: offset: 0x27a, out: 0xffffffffffffff93
+lb :: offset: 0x27b, out: 0x19
+lb :: offset: 0x27c, out: 0x23
+lb :: offset: 0x27d, out: 0xffffffffffffff86
+lb :: offset: 0x27e, out: 0x52
+lb :: offset: 0x27f, out: 0x1d
+lb :: offset: 0x280, out: 0xe
+lb :: offset: 0x281, out: 0x56
+lb :: offset: 0x282, out: 0x2f
+lb :: offset: 0x283, out: 0xfffffffffffffff1
+lb :: offset: 0x284, out: 0xffffffffffffffb9
+lb :: offset: 0x285, out: 0x4b
+lb :: offset: 0x286, out: 0xffffffffffffffee
+lb :: offset: 0x287, out: 0xfffffffffffffff5
+lb :: offset: 0x288, out: 0x60
+lb :: offset: 0x289, out: 0x6d
+lb :: offset: 0x28a, out: 0xffffffffffffffad
+lb :: offset: 0x28b, out: 0xfffffffffffffff8
+lb :: offset: 0x28c, out: 0xffffffffffffffd7
+lb :: offset: 0x28d, out: 0x70
+lb :: offset: 0x28e, out: 0x6c
+lb :: offset: 0x28f, out: 0xfffffffffffffffc
+lb :: offset: 0x290, out: 0xffffffffffffffd2
+lb :: offset: 0x291, out: 0x20
+lb :: offset: 0x292, out: 0x2b
+lb :: offset: 0x293, out: 0xffffffffffffffe2
+lb :: offset: 0x294, out: 0x65
+lb :: offset: 0x295, out: 0x3d
+lb :: offset: 0x296, out: 0xffffffffffffffea
+lb :: offset: 0x297, out: 0xffffffffffffffe6
+lb :: offset: 0x298, out: 0xffffffffffffffbc
+lb :: offset: 0x299, out: 0x1b
+lb :: offset: 0x29a, out: 0xffffffffffffffa9
+lb :: offset: 0x29b, out: 0xffffffffffffffeb
+lb :: offset: 0x29c, out: 0xb
+lb :: offset: 0x29d, out: 0x6
+lb :: offset: 0x29e, out: 0x68
+lb :: offset: 0x29f, out: 0xffffffffffffffef
+lb :: offset: 0x2a0, out: 0xffffffffffffffb6
+lb :: offset: 0x2a1, out: 0xffffffffffffffbb
+lb :: offset: 0x2a2, out: 0x27
+lb :: offset: 0x2a3, out: 0xffffffffffffffd7
+lb :: offset: 0x2a4, out: 0x1
+lb :: offset: 0x2a5, out: 0xffffffffffffffa6
+lb :: offset: 0x2a6, out: 0xffffffffffffffe6
+lb :: offset: 0x2a7, out: 0xffffffffffffffd3
+lb :: offset: 0x2a8, out: 0xffffffffffffffd8
+lb :: offset: 0x2a9, out: 0xffffffffffffff80
+lb :: offset: 0x2aa, out: 0xffffffffffffffa5
+lb :: offset: 0x2ab, out: 0xffffffffffffffde
+lb :: offset: 0x2ac, out: 0x6f
+lb :: offset: 0x2ad, out: 0xffffffffffffff9d
+lb :: offset: 0x2ae, out: 0x64
+lb :: offset: 0x2af, out: 0xffffffffffffffda
+lb :: offset: 0x2b0, out: 0x6a
+lb :: offset: 0x2b1, out: 0xffffffffffffffcd
+lb :: offset: 0x2b2, out: 0x23
+lb :: offset: 0x2b3, out: 0xffffffffffffffc4
+lb :: offset: 0x2b4, out: 0x0
+lb :: offset: 0x2b5, out: 0x0
+lb :: offset: 0x2b6, out: 0x0
+lb :: offset: 0x2b7, out: 0x0
+lb :: offset: 0x2b8, out: 0x4
+lb :: offset: 0x2b9, out: 0xfffffffffffffff6
+lb :: offset: 0x2ba, out: 0xffffffffffffffa1
+lb :: offset: 0x2bb, out: 0xffffffffffffffcd
+lb :: offset: 0x2bc, out: 0x0
+lb :: offset: 0x2bd, out: 0x0
+lb :: offset: 0x2be, out: 0x0
+lb :: offset: 0x2bf, out: 0x0
+lb :: offset: 0x2c0, out: 0x7e
+lb :: offset: 0x2c1, out: 0xffffffffffffff8d
+lb :: offset: 0x2c2, out: 0x3e
+lb :: offset: 0x2c3, out: 0xffffffffffffffbd
+lb :: offset: 0x2c4, out: 0xffffffffffffffc9
+lb :: offset: 0x2c5, out: 0xffffffffffffff90
+lb :: offset: 0x2c6, out: 0xffffffffffffffff
+lb :: offset: 0x2c7, out: 0xffffffffffffffb9
+lb :: offset: 0x2c8, out: 0x10
+lb :: offset: 0x2c9, out: 0xffffffffffffffb6
+lb :: offset: 0x2ca, out: 0xffffffffffffffbc
+lb :: offset: 0x2cb, out: 0xffffffffffffffb4
+lb :: offset: 0x2cc, out: 0xffffffffffffffa7
+lb :: offset: 0x2cd, out: 0xffffffffffffffab
+lb :: offset: 0x2ce, out: 0x7d
+lb :: offset: 0x2cf, out: 0xffffffffffffffb0
+lb :: offset: 0x2d0, out: 0xffffffffffffffa2
+lb :: offset: 0x2d1, out: 0xfffffffffffffffb
+lb :: offset: 0x2d2, out: 0x3a
+lb :: offset: 0x2d3, out: 0xffffffffffffffae
+lb :: offset: 0x2d4, out: 0x15
+lb :: offset: 0x2d5, out: 0xffffffffffffffe6
+lb :: offset: 0x2d6, out: 0xfffffffffffffffb
+lb :: offset: 0x2d7, out: 0xffffffffffffffaa
+lb :: offset: 0x2d8, out: 0xffffffffffffffcc
+lb :: offset: 0x2d9, out: 0xffffffffffffffc0
+lb :: offset: 0x2da, out: 0xffffffffffffffb8
+lb :: offset: 0x2db, out: 0xffffffffffffffa7
+lb :: offset: 0x2dc, out: 0x7b
+lb :: offset: 0x2dd, out: 0xffffffffffffffdd
+lb :: offset: 0x2de, out: 0x79
+lb :: offset: 0x2df, out: 0xffffffffffffffa3
+lb :: offset: 0x2e0, out: 0xffffffffffffffc6
+lb :: offset: 0x2e1, out: 0x60
+lb :: offset: 0x2e2, out: 0x36
+lb :: offset: 0x2e3, out: 0xffffffffffffff9b
+lb :: offset: 0x2e4, out: 0x71
+lb :: offset: 0x2e5, out: 0x7d
+lb :: offset: 0x2e6, out: 0xfffffffffffffff7
+lb :: offset: 0x2e7, out: 0xffffffffffffff9f
+lb :: offset: 0x2e8, out: 0xffffffffffffffa8
+lb :: offset: 0x2e9, out: 0x5b
+lb :: offset: 0x2ea, out: 0xffffffffffffffb4
+lb :: offset: 0x2eb, out: 0xffffffffffffff92
+lb :: offset: 0x2ec, out: 0x1f
+lb :: offset: 0x2ed, out: 0x46
+lb :: offset: 0x2ee, out: 0x75
+lb :: offset: 0x2ef, out: 0xffffffffffffff96
+lb :: offset: 0x2f0, out: 0x1a
+lb :: offset: 0x2f1, out: 0x16
+lb :: offset: 0x2f2, out: 0x32
+lb :: offset: 0x2f3, out: 0xffffffffffffff88
+lb :: offset: 0x2f4, out: 0xffffffffffffffad
+lb :: offset: 0x2f5, out: 0xb
+lb :: offset: 0x2f6, out: 0xfffffffffffffff3
+lb :: offset: 0x2f7, out: 0xffffffffffffff8c
+lb :: offset: 0x2f8, out: 0x74
+lb :: offset: 0x2f9, out: 0x2d
+lb :: offset: 0x2fa, out: 0xffffffffffffffb0
+lb :: offset: 0x2fb, out: 0xffffffffffffff81
+lb :: offset: 0x2fc, out: 0xffffffffffffffc3
+lb :: offset: 0x2fd, out: 0x30
+lb :: offset: 0x2fe, out: 0x71
+lb :: offset: 0x2ff, out: 0xffffffffffffff85
+lb :: offset: 0x300, out: 0xffffffffffffff99
+lb :: offset: 0x301, out: 0xffffffffffffff90
+lb :: offset: 0x302, out: 0xffffffffffffff8a
+lb :: offset: 0x303, out: 0x5d
+lb :: offset: 0x304, out: 0x2e
+lb :: offset: 0x305, out: 0xffffffffffffff8d
+lb :: offset: 0x306, out: 0x4b
+lb :: offset: 0x307, out: 0x59
+lb :: offset: 0x308, out: 0xfffffffffffffff7
+lb :: offset: 0x309, out: 0xffffffffffffffab
+lb :: offset: 0x30a, out: 0x8
+lb :: offset: 0x30b, out: 0x54
+lb :: offset: 0x30c, out: 0x40
+lb :: offset: 0x30d, out: 0xffffffffffffffb6
+lb :: offset: 0x30e, out: 0xffffffffffffffc9
+lb :: offset: 0x30f, out: 0x50
+lb :: offset: 0x310, out: 0x45
+lb :: offset: 0x311, out: 0xffffffffffffffe6
+lb :: offset: 0x312, out: 0xffffffffffffff8e
+lb :: offset: 0x313, out: 0x4e
+lb :: offset: 0x314, out: 0xfffffffffffffff2
+lb :: offset: 0x315, out: 0xfffffffffffffffb
+lb :: offset: 0x316, out: 0x4f
+lb :: offset: 0x317, out: 0x4a
+lb :: offset: 0x318, out: 0x2b
+lb :: offset: 0x319, out: 0xffffffffffffffdd
+lb :: offset: 0x31a, out: 0xc
+lb :: offset: 0x31b, out: 0x47
+lb :: offset: 0x31c, out: 0xffffffffffffff9c
+lb :: offset: 0x31d, out: 0xffffffffffffffc0
+lb :: offset: 0x31e, out: 0xffffffffffffffcd
+lb :: offset: 0x31f, out: 0x43
+lb :: offset: 0x320, out: 0x21
+lb :: offset: 0x321, out: 0x7d
+lb :: offset: 0x322, out: 0xffffffffffffff82
+lb :: offset: 0x323, out: 0x7b
+lb :: offset: 0x324, out: 0xffffffffffffff96
+lb :: offset: 0x325, out: 0x60
+lb :: offset: 0x326, out: 0x43
+lb :: offset: 0x327, out: 0x7f
+lb :: offset: 0x328, out: 0x4f
+lb :: offset: 0x329, out: 0x46
+lb :: offset: 0x32a, out: 0x0
+lb :: offset: 0x32b, out: 0x72
+lb :: offset: 0x32c, out: 0xfffffffffffffff8
+lb :: offset: 0x32d, out: 0x5b
+lb :: offset: 0x32e, out: 0xffffffffffffffc1
+lb :: offset: 0x32f, out: 0x76
+lb :: offset: 0x330, out: 0xfffffffffffffffd
+lb :: offset: 0x331, out: 0xb
+lb :: offset: 0x332, out: 0xffffffffffffff86
+lb :: offset: 0x333, out: 0x68
+lb :: offset: 0x334, out: 0x4a
+lb :: offset: 0x335, out: 0x16
+lb :: offset: 0x336, out: 0x47
+lb :: offset: 0x337, out: 0x6c
+lb :: offset: 0x338, out: 0xffffffffffffff93
+lb :: offset: 0x339, out: 0x30
+lb :: offset: 0x33a, out: 0x4
+lb :: offset: 0x33b, out: 0x61
+lb :: offset: 0x33c, out: 0x24
+lb :: offset: 0x33d, out: 0x2d
+lb :: offset: 0x33e, out: 0xffffffffffffffc5
+lb :: offset: 0x33f, out: 0x65
+lb :: offset: 0x340, out: 0xffffffffffffffe9
+lb :: offset: 0x341, out: 0x4b
+lb :: offset: 0x342, out: 0xffffffffffffff9b
+lb :: offset: 0x343, out: 0x11
+lb :: offset: 0x344, out: 0x5e
+lb :: offset: 0x345, out: 0x56
+lb :: offset: 0x346, out: 0x5a
+lb :: offset: 0x347, out: 0x15
+lb :: offset: 0x348, out: 0xffffffffffffff87
+lb :: offset: 0x349, out: 0x70
+lb :: offset: 0x34a, out: 0x19
+lb :: offset: 0x34b, out: 0x18
+lb :: offset: 0x34c, out: 0x30
+lb :: offset: 0x34d, out: 0x6d
+lb :: offset: 0x34e, out: 0xffffffffffffffd8
+lb :: offset: 0x34f, out: 0x1c
+lb :: offset: 0x350, out: 0x35
+lb :: offset: 0x351, out: 0x3d
+lb :: offset: 0x352, out: 0xffffffffffffff9f
+lb :: offset: 0x353, out: 0x2
+lb :: offset: 0x354, out: 0xffffffffffffff82
+lb :: offset: 0x355, out: 0x20
+lb :: offset: 0x356, out: 0x5e
+lb :: offset: 0x357, out: 0x6
+lb :: offset: 0x358, out: 0x5b
+lb :: offset: 0x359, out: 0x6
+lb :: offset: 0x35a, out: 0x1d
+lb :: offset: 0x35b, out: 0xb
+lb :: offset: 0x35c, out: 0xffffffffffffffec
+lb :: offset: 0x35d, out: 0x1b
+lb :: offset: 0x35e, out: 0xffffffffffffffdc
+lb :: offset: 0x35f, out: 0xf
+lb :: offset: 0x360, out: 0x51
+lb :: offset: 0x361, out: 0xffffffffffffffa6
+lb :: offset: 0x362, out: 0xffffffffffffff93
+lb :: offset: 0x363, out: 0x37
+lb :: offset: 0x364, out: 0xffffffffffffffe6
+lb :: offset: 0x365, out: 0xffffffffffffffbb
+lb :: offset: 0x366, out: 0x52
+lb :: offset: 0x367, out: 0x33
+lb :: offset: 0x368, out: 0x3f
+lb :: offset: 0x369, out: 0xffffffffffffff9d
+lb :: offset: 0x36a, out: 0x11
+lb :: offset: 0x36b, out: 0x3e
+lb :: offset: 0x36c, out: 0xffffffffffffff88
+lb :: offset: 0x36d, out: 0xffffffffffffff80
+lb :: offset: 0x36e, out: 0xffffffffffffffd0
+lb :: offset: 0x36f, out: 0x3a
+lb :: offset: 0x370, out: 0xffffffffffffff8d
+lb :: offset: 0x371, out: 0xffffffffffffffd0
+lb :: offset: 0x372, out: 0xffffffffffffff97
+lb :: offset: 0x373, out: 0x24
+lb :: offset: 0x374, out: 0x3a
+lb :: offset: 0x375, out: 0xffffffffffffffcd
+lb :: offset: 0x376, out: 0x56
+lb :: offset: 0x377, out: 0x20
+lb :: offset: 0x378, out: 0xffffffffffffffe3
+lb :: offset: 0x379, out: 0xffffffffffffffeb
+lb :: offset: 0x37a, out: 0x15
+lb :: offset: 0x37b, out: 0x2d
+lb :: offset: 0x37c, out: 0x54
+lb :: offset: 0x37d, out: 0xfffffffffffffff6
+lb :: offset: 0x37e, out: 0xffffffffffffffd4
+lb :: offset: 0x37f, out: 0x29
+lb :: offset: 0x380, out: 0x79
+lb :: offset: 0x381, out: 0x26
+lb :: offset: 0x382, out: 0xffffffffffffffa9
+lb :: offset: 0x383, out: 0xffffffffffffffc5
+lb :: offset: 0x384, out: 0xffffffffffffffce
+lb :: offset: 0x385, out: 0x3b
+lb :: offset: 0x386, out: 0x68
+lb :: offset: 0x387, out: 0xffffffffffffffc1
+lb :: offset: 0x388, out: 0x17
+lb :: offset: 0x389, out: 0x1d
+lb :: offset: 0x38a, out: 0x2b
+lb :: offset: 0x38b, out: 0xffffffffffffffcc
+lb :: offset: 0x38c, out: 0xffffffffffffffa0
+lb :: offset: 0x38d, out: 0x0
+lb :: offset: 0x38e, out: 0xffffffffffffffea
+lb :: offset: 0x38f, out: 0xffffffffffffffc8
+lb :: offset: 0x390, out: 0xffffffffffffffa5
+lb :: offset: 0x391, out: 0x50
+lb :: offset: 0x392, out: 0xffffffffffffffad
+lb :: offset: 0x393, out: 0xffffffffffffffd6
+lb :: offset: 0x394, out: 0x12
+lb :: offset: 0x395, out: 0x4d
+lb :: offset: 0x396, out: 0x6c
+lb :: offset: 0x397, out: 0xffffffffffffffd2
+lb :: offset: 0x398, out: 0xffffffffffffffcb
+lb :: offset: 0x399, out: 0x6b
+lb :: offset: 0x39a, out: 0x2f
+lb :: offset: 0x39b, out: 0xffffffffffffffdf
+lb :: offset: 0x39c, out: 0x7c
+lb :: offset: 0x39d, out: 0x76
+lb :: offset: 0x39e, out: 0xffffffffffffffee
+lb :: offset: 0x39f, out: 0xffffffffffffffdb
+lb :: offset: 0x3a0, out: 0xffffffffffffffc1
+lb :: offset: 0x3a1, out: 0xffffffffffffffcb
+lb :: offset: 0x3a2, out: 0xffffffffffffffa1
+lb :: offset: 0x3a3, out: 0xffffffffffffffe3
+lb :: offset: 0x3a4, out: 0x76
+lb :: offset: 0x3a5, out: 0xffffffffffffffd6
+lb :: offset: 0x3a6, out: 0x60
+lb :: offset: 0x3a7, out: 0xffffffffffffffe7
+lb :: offset: 0x3a8, out: 0xffffffffffffffaf
+lb :: offset: 0x3a9, out: 0xfffffffffffffff0
+lb :: offset: 0x3aa, out: 0x23
+lb :: offset: 0x3ab, out: 0xffffffffffffffea
+lb :: offset: 0x3ac, out: 0x18
+lb :: offset: 0x3ad, out: 0xffffffffffffffed
+lb :: offset: 0x3ae, out: 0xffffffffffffffe2
+lb :: offset: 0x3af, out: 0xffffffffffffffee
+lb :: offset: 0x3b0, out: 0x1d
+lb :: offset: 0x3b1, out: 0xffffffffffffffbd
+lb :: offset: 0x3b2, out: 0xffffffffffffffa5
+lb :: offset: 0x3b3, out: 0xfffffffffffffff0
+lb :: offset: 0x3b4, out: 0xffffffffffffffaa
+lb :: offset: 0x3b5, out: 0xffffffffffffffa0
+lb :: offset: 0x3b6, out: 0x64
+lb :: offset: 0x3b7, out: 0xfffffffffffffff4
+lb :: offset: 0x3b8, out: 0x73
+lb :: offset: 0x3b9, out: 0xffffffffffffff86
+lb :: offset: 0x3ba, out: 0x27
+lb :: offset: 0x3bb, out: 0xfffffffffffffff9
+lb :: offset: 0x3bc, out: 0xffffffffffffffc4
+lb :: offset: 0x3bd, out: 0xffffffffffffff9b
+lb :: offset: 0x3be, out: 0xffffffffffffffe6
+lb :: offset: 0x3bf, out: 0xfffffffffffffffd
+lb :: offset: 0x3c0, out: 0x9
+lb :: offset: 0x3c1, out: 0xfffffffffffffffd
+lb :: offset: 0x3c2, out: 0xffffffffffffffb8
+lb :: offset: 0x3c3, out: 0xffffffffffffff89
+lb :: offset: 0x3c4, out: 0xffffffffffffffbe
+lb :: offset: 0x3c5, out: 0xffffffffffffffe0
+lb :: offset: 0x3c6, out: 0x79
+lb :: offset: 0x3c7, out: 0xffffffffffffff8d
+lb :: offset: 0x3c8, out: 0x67
+lb :: offset: 0x3c9, out: 0xffffffffffffffc6
+lb :: offset: 0x3ca, out: 0x3a
+lb :: offset: 0x3cb, out: 0xffffffffffffff80
+lb :: offset: 0x3cc, out: 0xffffffffffffffd0
+lb :: offset: 0x3cd, out: 0xffffffffffffffdb
+lb :: offset: 0x3ce, out: 0xfffffffffffffffb
+lb :: offset: 0x3cf, out: 0xffffffffffffff84
+lb :: offset: 0x3d0, out: 0xffffffffffffffd5
+lb :: offset: 0x3d1, out: 0xffffffffffffff8b
+lb :: offset: 0x3d2, out: 0xffffffffffffffbc
+lb :: offset: 0x3d3, out: 0xffffffffffffff9a
+lb :: offset: 0x3d4, out: 0x62
+lb :: offset: 0x3d5, out: 0xffffffffffffff96
+lb :: offset: 0x3d6, out: 0x7d
+lb :: offset: 0x3d7, out: 0xffffffffffffff9e
+lb :: offset: 0x3d8, out: 0xffffffffffffffbb
+lb :: offset: 0x3d9, out: 0xffffffffffffffb0
+lb :: offset: 0x3da, out: 0x3e
+lb :: offset: 0x3db, out: 0xffffffffffffff93
+lb :: offset: 0x3dc, out: 0xc
+lb :: offset: 0x3dd, out: 0xffffffffffffffad
+lb :: offset: 0x3de, out: 0xffffffffffffffff
+lb :: offset: 0x3df, out: 0xffffffffffffff97
+lb :: offset: 0x3e0, out: 0xffffffffffffffb1
+lb :: offset: 0x3e1, out: 0x10
+lb :: offset: 0x3e2, out: 0xffffffffffffffb0
+lb :: offset: 0x3e3, out: 0xffffffffffffffaf
+lb :: offset: 0x3e4, out: 0x6
+lb :: offset: 0x3e5, out: 0xd
+lb :: offset: 0x3e6, out: 0x71
+lb :: offset: 0x3e7, out: 0xffffffffffffffab
+lb :: offset: 0x3e8, out: 0xffffffffffffffdf
+lb :: offset: 0x3e9, out: 0x2b
+lb :: offset: 0x3ea, out: 0x32
+lb :: offset: 0x3eb, out: 0xffffffffffffffa6
+lb :: offset: 0x3ec, out: 0x68
+lb :: offset: 0x3ed, out: 0x36
+lb :: offset: 0x3ee, out: 0xfffffffffffffff3
+lb :: offset: 0x3ef, out: 0xffffffffffffffa2
+lb :: offset: 0x3f0, out: 0x6d
+lb :: offset: 0x3f1, out: 0x66
+lb :: offset: 0x3f2, out: 0xffffffffffffffb4
+lb :: offset: 0x3f3, out: 0xffffffffffffffbc
+lb :: offset: 0x3f4, out: 0xffffffffffffffda
+lb :: offset: 0x3f5, out: 0x7b
+lb :: offset: 0x3f6, out: 0x75
+lb :: offset: 0x3f7, out: 0xffffffffffffffb8
+lb :: offset: 0x3f8, out: 0x3
+lb :: offset: 0x3f9, out: 0x5d
+lb :: offset: 0x3fa, out: 0x36
+lb :: offset: 0x3fb, out: 0xffffffffffffffb5
+lb :: offset: 0x3fc, out: 0xffffffffffffffb4
+lb :: offset: 0x3fd, out: 0x40
+lb :: offset: 0x3fe, out: 0xfffffffffffffff7
+lb :: offset: 0x3ff, out: 0xffffffffffffffb1
+lb :: offset: 0x0, out: 0xffffffffffffffaa
+lb :: offset: 0x1, out: 0xffffffffffffffd6
+lb :: offset: 0x2, out: 0x2b
+lb :: offset: 0x3, out: 0x1
+lb :: offset: 0x4, out: 0x0
+lb :: offset: 0x5, out: 0x0
+lb :: offset: 0x6, out: 0x0
+lb :: offset: 0x7, out: 0x0
+lb :: offset: 0x8, out: 0x13
+lb :: offset: 0x9, out: 0xffffffffffffffab
+lb :: offset: 0xa, out: 0xffffffffffffffd2
+lb :: offset: 0xb, out: 0xffffffffffffff82
+lb :: offset: 0xc, out: 0x63
+lb :: offset: 0xd, out: 0xffffffffffffff87
+lb :: offset: 0xe, out: 0x7e
+lb :: offset: 0xf, out: 0x0
+lb :: offset: 0x10, out: 0xfffffffffffffff3
+lb :: offset: 0x11, out: 0x10
+lb :: offset: 0x12, out: 0x15
+lb :: offset: 0x13, out: 0xffffffffffffffc3
+lb :: offset: 0x14, out: 0xffffffffffffff9a
+lb :: offset: 0x15, out: 0x6e
+lb :: offset: 0x16, out: 0x6d
+lb :: offset: 0x17, out: 0xffffffffffffff97
+lb :: offset: 0x18, out: 0xfffffffffffffffb
+lb :: offset: 0x19, out: 0xffffffffffffffa5
+lb :: offset: 0x1a, out: 0xffffffffffffffd6
+lb :: offset: 0x1b, out: 0x5a
+lb :: offset: 0x1c, out: 0x77
+lb :: offset: 0x1d, out: 0x6d
+lb :: offset: 0x1e, out: 0x74
+lb :: offset: 0x1f, out: 0xffffffffffffffb7
+lb :: offset: 0x20, out: 0x2
+lb :: offset: 0x21, out: 0xffffffffffffffb5
+lb :: offset: 0x22, out: 0x77
+lb :: offset: 0x23, out: 0xffffffffffffff86
+lb :: offset: 0x24, out: 0xffffffffffffffa2
+lb :: offset: 0x25, out: 0xffffffffffffffc0
+lb :: offset: 0x26, out: 0xffffffffffffffb0
+lb :: offset: 0x27, out: 0x42
+lb :: offset: 0x28, out: 0xffffffffffffffad
+lb :: offset: 0x29, out: 0x30
+lb :: offset: 0x2a, out: 0x3c
+lb :: offset: 0x2b, out: 0xffffffffffffff9e
+lb :: offset: 0x2c, out: 0x31
+lb :: offset: 0x2d, out: 0xffffffffffffff9d
+lb :: offset: 0x2e, out: 0xffffffffffffffa8
+lb :: offset: 0x2f, out: 0x2a
+lb :: offset: 0x30, out: 0x3d
+lb :: offset: 0x31, out: 0x41
+lb :: offset: 0x32, out: 0xfffffffffffffffb
+lb :: offset: 0x33, out: 0x77
+lb :: offset: 0x34, out: 0xffffffffffffffc3
+lb :: offset: 0x35, out: 0xffffffffffffff8e
+lb :: offset: 0x36, out: 0x30
+lb :: offset: 0x37, out: 0x1f
+lb :: offset: 0x38, out: 0xfffffffffffffff7
+lb :: offset: 0x39, out: 0xffffffffffffffe4
+lb :: offset: 0x3a, out: 0x60
+lb :: offset: 0x3b, out: 0xffffffffffffffc7
+lb :: offset: 0x3c, out: 0x13
+lb :: offset: 0x3d, out: 0x42
+lb :: offset: 0x3e, out: 0xffffffffffffffa0
+lb :: offset: 0x3f, out: 0x7a
+lb :: offset: 0x40, out: 0xffffffffffffffa0
+lb :: offset: 0x41, out: 0xffffffffffffffdc
+lb :: offset: 0x42, out: 0xffffffffffffffd8
+lb :: offset: 0x43, out: 0x1a
+lb :: offset: 0x44, out: 0xffffffffffffffc5
+lb :: offset: 0x45, out: 0x5c
+lb :: offset: 0x46, out: 0x70
+lb :: offset: 0x47, out: 0xffffffffffffff9e
+lb :: offset: 0x48, out: 0xd
+lb :: offset: 0x49, out: 0xffffffffffffffa6
+lb :: offset: 0x4a, out: 0x15
+lb :: offset: 0x4b, out: 0xffffffffffffff96
+lb :: offset: 0x4c, out: 0xffffffffffffff86
+lb :: offset: 0x4d, out: 0xffffffffffffffda
+lb :: offset: 0x4e, out: 0x3d
+lb :: offset: 0x4f, out: 0x4b
+lb :: offset: 0x50, out: 0x1d
+lb :: offset: 0x51, out: 0xffffffffffffffd4
+lb :: offset: 0x52, out: 0x53
+lb :: offset: 0x53, out: 0x63
+lb :: offset: 0x54, out: 0xffffffffffffffdd
+lb :: offset: 0x55, out: 0xffffffffffffffa4
+lb :: offset: 0x56, out: 0xffffffffffffffe7
+lb :: offset: 0x57, out: 0x5
+lb :: offset: 0x58, out: 0x13
+lb :: offset: 0x59, out: 0xffffffffffffffd4
+lb :: offset: 0x5a, out: 0xb
+lb :: offset: 0x5b, out: 0xffffffffffffffc4
+lb :: offset: 0x5c, out: 0xffffffffffffff9d
+lb :: offset: 0x5d, out: 0x5a
+lb :: offset: 0x5e, out: 0xfffffffffffffff3
+lb :: offset: 0x5f, out: 0x3a
+lb :: offset: 0x60, out: 0xffffffffffffff80
+lb :: offset: 0x61, out: 0xffffffffffffffa1
+lb :: offset: 0x62, out: 0x8
+lb :: offset: 0x63, out: 0xffffffffffffff9a
+lb :: offset: 0x64, out: 0x56
+lb :: offset: 0x65, out: 0x5
+lb :: offset: 0x66, out: 0xfffffffffffffff5
+lb :: offset: 0x67, out: 0x47
+lb :: offset: 0x68, out: 0xf
+lb :: offset: 0x69, out: 0x4
+lb :: offset: 0x6a, out: 0xffffffffffffffd2
+lb :: offset: 0x6b, out: 0xffffffffffffffd6
+lb :: offset: 0x6c, out: 0x7f
+lb :: offset: 0x6d, out: 0xffffffffffffffb7
+lb :: offset: 0x6e, out: 0x64
+lb :: offset: 0x6f, out: 0xffffffffffffff95
+lb :: offset: 0x70, out: 0xffffffffffffffbe
+lb :: offset: 0x71, out: 0x6b
+lb :: offset: 0x72, out: 0xffffffffffffffc7
+lb :: offset: 0x73, out: 0xffffffffffffffb2
+lb :: offset: 0x74, out: 0x79
+lb :: offset: 0x75, out: 0xffffffffffffff82
+lb :: offset: 0x76, out: 0xffffffffffffffbc
+lb :: offset: 0x77, out: 0xffffffffffffffce
+lb :: offset: 0x78, out: 0xffffffffffffffc7
+lb :: offset: 0x79, out: 0xffffffffffffffe4
+lb :: offset: 0x7a, out: 0x18
+lb :: offset: 0x7b, out: 0x1f
+lb :: offset: 0x7c, out: 0x2f
+lb :: offset: 0x7d, out: 0x4c
+lb :: offset: 0x7e, out: 0x3
+lb :: offset: 0x7f, out: 0xffffffffffffffb5
+lb :: offset: 0x80, out: 0xffffffffffffff97
+lb :: offset: 0x81, out: 0xffffffffffffffa7
+lb :: offset: 0x82, out: 0xffffffffffffffaf
+lb :: offset: 0x83, out: 0xffffffffffffff81
+lb :: offset: 0x84, out: 0xfffffffffffffffc
+lb :: offset: 0x85, out: 0x52
+lb :: offset: 0x86, out: 0xffffffffffffffff
+lb :: offset: 0x87, out: 0xffffffffffffff94
+lb :: offset: 0x88, out: 0xffffffffffffffea
+lb :: offset: 0x89, out: 0x50
+lb :: offset: 0x8a, out: 0xfffffffffffffffc
+lb :: offset: 0x8b, out: 0x6d
+lb :: offset: 0x8c, out: 0x16
+lb :: offset: 0x8d, out: 0xffffffffffffffd9
+lb :: offset: 0x8e, out: 0xffffffffffffffd8
+lb :: offset: 0x8f, out: 0x31
+lb :: offset: 0x90, out: 0xffffffffffffffb1
+lb :: offset: 0x91, out: 0xffffffffffffff95
+lb :: offset: 0x92, out: 0xffffffffffffffe8
+lb :: offset: 0x93, out: 0x78
+lb :: offset: 0x94, out: 0xffffffffffffffd6
+lb :: offset: 0x95, out: 0xffffffffffffff9b
+lb :: offset: 0x96, out: 0x54
+lb :: offset: 0x97, out: 0x36
+lb :: offset: 0x98, out: 0xffffffffffffff9b
+lb :: offset: 0x99, out: 0x25
+lb :: offset: 0x9a, out: 0x63
+lb :: offset: 0x9b, out: 0xffffffffffffff9b
+lb :: offset: 0x9c, out: 0x31
+lb :: offset: 0x9d, out: 0xffffffffffffffa6
+lb :: offset: 0x9e, out: 0xffffffffffffffe0
+lb :: offset: 0x9f, out: 0xffffffffffffff85
+lb :: offset: 0xa0, out: 0xffffffffffffffc5
+lb :: offset: 0xa1, out: 0x7a
+lb :: offset: 0xa2, out: 0xfffffffffffffff1
+lb :: offset: 0xa3, out: 0xffffffffffffffcc
+lb :: offset: 0xa4, out: 0xffffffffffffffca
+lb :: offset: 0xa5, out: 0x3e
+lb :: offset: 0xa6, out: 0x6b
+lb :: offset: 0xa7, out: 0x55
+lb :: offset: 0xa8, out: 0xfffffffffffffffb
+lb :: offset: 0xa9, out: 0xffffffffffffffa0
+lb :: offset: 0xaa, out: 0xffffffffffffffee
+lb :: offset: 0xab, out: 0xffffffffffffff81
+lb :: offset: 0xac, out: 0xffffffffffffffc5
+lb :: offset: 0xad, out: 0x5f
+lb :: offset: 0xae, out: 0x2f
+lb :: offset: 0xaf, out: 0xffffffffffffffb4
+lb :: offset: 0xb0, out: 0xffffffffffffff97
+lb :: offset: 0xb1, out: 0x2d
+lb :: offset: 0xb2, out: 0x68
+lb :: offset: 0xb3, out: 0x14
+lb :: offset: 0xb4, out: 0xffffffffffffffec
+lb :: offset: 0xb5, out: 0xf
+lb :: offset: 0xb6, out: 0xffffffffffffffb5
+lb :: offset: 0xb7, out: 0x25
+lb :: offset: 0xb8, out: 0x7a
+lb :: offset: 0xb9, out: 0x8
+lb :: offset: 0xba, out: 0xfffffffffffffffb
+lb :: offset: 0xbb, out: 0x2c
+lb :: offset: 0xbc, out: 0x13
+lb :: offset: 0xbd, out: 0xffffffffffffffc5
+lb :: offset: 0xbe, out: 0xffffffffffffff93
+lb :: offset: 0xbf, out: 0xfffffffffffffffc
+lb :: offset: 0xc0, out: 0x66
+lb :: offset: 0xc1, out: 0x7
+lb :: offset: 0xc2, out: 0xffffffffffffffa2
+lb :: offset: 0xc3, out: 0xffffffffffffffcd
+lb :: offset: 0xc4, out: 0xffffffffffffffa9
+lb :: offset: 0xc5, out: 0xffffffffffffffd9
+lb :: offset: 0xc6, out: 0x2c
+lb :: offset: 0xc7, out: 0x3c
+lb :: offset: 0xc8, out: 0x3e
+lb :: offset: 0xc9, out: 0xffffffffffffffda
+lb :: offset: 0xca, out: 0x72
+lb :: offset: 0xcb, out: 0x7d
+lb :: offset: 0xcc, out: 0x2a
+lb :: offset: 0xcd, out: 0x72
+lb :: offset: 0xce, out: 0xffffffffffffff91
+lb :: offset: 0xcf, out: 0x17
+lb :: offset: 0xd0, out: 0xffffffffffffffad
+lb :: offset: 0xd1, out: 0x24
+lb :: offset: 0xd2, out: 0xffffffffffffffce
+lb :: offset: 0xd3, out: 0xffffffffffffff93
+lb :: offset: 0xd4, out: 0xffffffffffffffd1
+lb :: offset: 0xd5, out: 0xffffffffffffffc9
+lb :: offset: 0xd6, out: 0x7c
+lb :: offset: 0xd7, out: 0x8
+lb :: offset: 0xd8, out: 0xffffffffffffffd2
+lb :: offset: 0xd9, out: 0x4e
+lb :: offset: 0xda, out: 0xffffffffffffff98
+lb :: offset: 0xdb, out: 0x38
+lb :: offset: 0xdc, out: 0x70
+lb :: offset: 0xdd, out: 0x75
+lb :: offset: 0xde, out: 0x2a
+lb :: offset: 0xdf, out: 0x1d
+lb :: offset: 0xe0, out: 0x36
+lb :: offset: 0xe1, out: 0xffffffffffffffd0
+lb :: offset: 0xe2, out: 0xc
+lb :: offset: 0xe3, out: 0x71
+lb :: offset: 0xe4, out: 0xffffffffffffffdb
+lb :: offset: 0xe5, out: 0x70
+lb :: offset: 0xe6, out: 0xffffffffffffffd0
+lb :: offset: 0xe7, out: 0xffffffffffffffd0
+lb :: offset: 0xe8, out: 0x4
+lb :: offset: 0xe9, out: 0x56
+lb :: offset: 0xea, out: 0x41
+lb :: offset: 0xeb, out: 0x3
+lb :: offset: 0xec, out: 0x7d
+lb :: offset: 0xed, out: 0x1c
+lb :: offset: 0xee, out: 0xffffffffffffffc2
+lb :: offset: 0xef, out: 0x39
+lb :: offset: 0xf0, out: 0xffffffffffffffce
+lb :: offset: 0xf1, out: 0x31
+lb :: offset: 0xf2, out: 0xffffffffffffffcc
+lb :: offset: 0xf3, out: 0xffffffffffffff8e
+lb :: offset: 0xf4, out: 0xffffffffffffffaf
+lb :: offset: 0xf5, out: 0xffffffffffffffb7
+lb :: offset: 0xf6, out: 0xffffffffffffff94
+lb :: offset: 0xf7, out: 0xffffffffffffff8e
+lb :: offset: 0xf8, out: 0x4f
+lb :: offset: 0xf9, out: 0x67
+lb :: offset: 0xfa, out: 0xffffffffffffffe7
+lb :: offset: 0xfb, out: 0x1c
+lb :: offset: 0xfc, out: 0xffffffffffffff8d
+lb :: offset: 0xfd, out: 0x6a
+lb :: offset: 0xfe, out: 0xffffffffffffffeb
+lb :: offset: 0xff, out: 0x24
+lb :: offset: 0x100, out: 0xffffffffffffffa7
+lb :: offset: 0x101, out: 0xffffffffffffffe4
+lb :: offset: 0x102, out: 0xffffffffffffffd6
+lb :: offset: 0x103, out: 0x12
+lb :: offset: 0x104, out: 0x44
+lb :: offset: 0x105, out: 0x45
+lb :: offset: 0x106, out: 0x39
+lb :: offset: 0x107, out: 0x2f
+lb :: offset: 0x108, out: 0x54
+lb :: offset: 0x109, out: 0x4c
+lb :: offset: 0x10a, out: 0xffffffffffffffda
+lb :: offset: 0x10b, out: 0x56
+lb :: offset: 0x10c, out: 0xffffffffffffffb7
+lb :: offset: 0x10d, out: 0xffffffffffffffc2
+lb :: offset: 0x10e, out: 0x8
+lb :: offset: 0x10f, out: 0x26
+lb :: offset: 0x110, out: 0x2f
+lb :: offset: 0x111, out: 0x25
+lb :: offset: 0x112, out: 0xffffffffffffffd7
+lb :: offset: 0x113, out: 0xffffffffffffffc8
+lb :: offset: 0x114, out: 0xffffffffffffffda
+lb :: offset: 0x115, out: 0x2
+lb :: offset: 0x116, out: 0x1
+lb :: offset: 0x117, out: 0xffffffffffffff90
+lb :: offset: 0x118, out: 0xfffffffffffffff7
+lb :: offset: 0x119, out: 0xffffffffffffffa4
+lb :: offset: 0x11a, out: 0xffffffffffffffef
+lb :: offset: 0x11b, out: 0xfffffffffffffff2
+lb :: offset: 0x11c, out: 0xfffffffffffffff1
+lb :: offset: 0x11d, out: 0xffffffffffffffd5
+lb :: offset: 0x11e, out: 0xffffffffffffff90
+lb :: offset: 0x11f, out: 0xffffffffffffffc8
+lb :: offset: 0x120, out: 0x14
+lb :: offset: 0x121, out: 0xffffffffffffffa2
+lb :: offset: 0x122, out: 0xffffffffffffffb0
+lb :: offset: 0x123, out: 0xffffffffffffffc8
+lb :: offset: 0x124, out: 0xffffffffffffffcb
+lb :: offset: 0x125, out: 0x5
+lb :: offset: 0x126, out: 0x50
+lb :: offset: 0x127, out: 0xffffffffffffffed
+lb :: offset: 0x128, out: 0x6c
+lb :: offset: 0x129, out: 0x13
+lb :: offset: 0x12a, out: 0xffffffffffffff91
+lb :: offset: 0x12b, out: 0x59
+lb :: offset: 0x12c, out: 0xffffffffffffff89
+lb :: offset: 0x12d, out: 0xffffffffffffff91
+lb :: offset: 0x12e, out: 0x47
+lb :: offset: 0x12f, out: 0x31
+lb :: offset: 0x130, out: 0xfffffffffffffff3
+lb :: offset: 0x131, out: 0xffffffffffffffb6
+lb :: offset: 0x132, out: 0x2f
+lb :: offset: 0x133, out: 0xffffffffffffff9a
+lb :: offset: 0x134, out: 0xfffffffffffffff9
+lb :: offset: 0x135, out: 0xffffffffffffffcf
+lb :: offset: 0x136, out: 0xffffffffffffffee
+lb :: offset: 0x137, out: 0xffffffffffffffc6
+lb :: offset: 0x138, out: 0x70
+lb :: offset: 0x139, out: 0x52
+lb :: offset: 0x13a, out: 0xffffffffffffff89
+lb :: offset: 0x13b, out: 0x38
+lb :: offset: 0x13c, out: 0x12
+lb :: offset: 0x13d, out: 0x52
+lb :: offset: 0x13e, out: 0x9
+lb :: offset: 0x13f, out: 0xffffffffffffffa8
+lb :: offset: 0x140, out: 0x40
+lb :: offset: 0x141, out: 0x50
+lb :: offset: 0x142, out: 0x76
+lb :: offset: 0x143, out: 0xffffffffffffffad
+lb :: offset: 0x144, out: 0x4
+lb :: offset: 0x145, out: 0xa
+lb :: offset: 0x146, out: 0x75
+lb :: offset: 0x147, out: 0xffffffffffffff87
+lb :: offset: 0x148, out: 0xffffffffffffff83
+lb :: offset: 0x149, out: 0x5a
+lb :: offset: 0x14a, out: 0xffffffffffffffbb
+lb :: offset: 0x14b, out: 0xffffffffffffff84
+lb :: offset: 0x14c, out: 0x5e
+lb :: offset: 0x14d, out: 0xffffffffffffffe8
+lb :: offset: 0x14e, out: 0x3d
+lb :: offset: 0x14f, out: 0x2c
+lb :: offset: 0x150, out: 0x67
+lb :: offset: 0x151, out: 0xffffffffffffffaa
+lb :: offset: 0x152, out: 0x6
+lb :: offset: 0x153, out: 0xffffffffffffffc5
+lb :: offset: 0x154, out: 0xffffffffffffff8f
+lb :: offset: 0x155, out: 0xffffffffffffffff
+lb :: offset: 0x156, out: 0x6a
+lb :: offset: 0x157, out: 0xffffffffffffffae
+lb :: offset: 0x158, out: 0xffffffffffffffe3
+lb :: offset: 0x159, out: 0x5e
+lb :: offset: 0x15a, out: 0xffffffffffffffed
+lb :: offset: 0x15b, out: 0x60
+lb :: offset: 0x15c, out: 0xffffffffffffffdd
+lb :: offset: 0x15d, out: 0x12
+lb :: offset: 0x15e, out: 0x71
+lb :: offset: 0x15f, out: 0xffffffffffffffc0
+lb :: offset: 0x160, out: 0x5a
+lb :: offset: 0x161, out: 0xffffffffffffffca
+lb :: offset: 0x162, out: 0xffffffffffffffdc
+lb :: offset: 0x163, out: 0x30
+lb :: offset: 0x164, out: 0xfffffffffffffff6
+lb :: offset: 0x165, out: 0x70
+lb :: offset: 0x166, out: 0xffffffffffffffc7
+lb :: offset: 0x167, out: 0xffffffffffffffc4
+lb :: offset: 0x168, out: 0x77
+lb :: offset: 0x169, out: 0x52
+lb :: offset: 0x16a, out: 0xffffffffffffffcd
+lb :: offset: 0x16b, out: 0xffffffffffffff83
+lb :: offset: 0x16c, out: 0x23
+lb :: offset: 0x16d, out: 0x2b
+lb :: offset: 0x16e, out: 0xffffffffffffffec
+lb :: offset: 0x16f, out: 0xffffffffffffffdf
+lb :: offset: 0x170, out: 0x6b
+lb :: offset: 0x171, out: 0xffffffffffffffd9
+lb :: offset: 0x172, out: 0xfffffffffffffff7
+lb :: offset: 0x173, out: 0xf
+lb :: offset: 0x174, out: 0x26
+lb :: offset: 0x175, out: 0xffffffffffffffba
+lb :: offset: 0x176, out: 0xffffffffffffffad
+lb :: offset: 0x177, out: 0xffffffffffffffd3
+lb :: offset: 0x178, out: 0xe
+lb :: offset: 0x179, out: 0xffffffffffffffc0
+lb :: offset: 0x17a, out: 0x18
+lb :: offset: 0x17b, out: 0xffffffffffffff84
+lb :: offset: 0x17c, out: 0x79
+lb :: offset: 0x17d, out: 0xffffffffffffffaa
+lb :: offset: 0x17e, out: 0xffffffffffffffb4
+lb :: offset: 0x17f, out: 0x4a
+lb :: offset: 0x180, out: 0xffffffffffffffb8
+lb :: offset: 0x181, out: 0xfffffffffffffff0
+lb :: offset: 0x182, out: 0xffffffffffffffe0
+lb :: offset: 0x183, out: 0xd
+lb :: offset: 0x184, out: 0x5e
+lb :: offset: 0x185, out: 0x3
+lb :: offset: 0x186, out: 0xffffffffffffff8c
+lb :: offset: 0x187, out: 0xffffffffffffffbb
+lb :: offset: 0x188, out: 0xfffffffffffffff1
+lb :: offset: 0x189, out: 0xffffffffffffffdc
+lb :: offset: 0x18a, out: 0x7f
+lb :: offset: 0x18b, out: 0xffffffffffffffa9
+lb :: offset: 0x18c, out: 0x54
+lb :: offset: 0x18d, out: 0x6f
+lb :: offset: 0x18e, out: 0xffffffffffffffb0
+lb :: offset: 0x18f, out: 0x33
+lb :: offset: 0x190, out: 0xffffffffffffff81
+lb :: offset: 0x191, out: 0xffffffffffffffc0
+lb :: offset: 0x192, out: 0xffffffffffffffd1
+lb :: offset: 0x193, out: 0x3f
+lb :: offset: 0x194, out: 0x37
+lb :: offset: 0x195, out: 0x3f
+lb :: offset: 0x196, out: 0x43
+lb :: offset: 0x197, out: 0x77
+lb :: offset: 0x198, out: 0xffffffffffffffe4
+lb :: offset: 0x199, out: 0xffffffffffffff95
+lb :: offset: 0x19a, out: 0x21
+lb :: offset: 0x19b, out: 0xffffffffffffffc9
+lb :: offset: 0x19c, out: 0xffffffffffffff93
+lb :: offset: 0x19d, out: 0xffffffffffffffd9
+lb :: offset: 0x19e, out: 0xffffffffffffff91
+lb :: offset: 0x19f, out: 0xffffffffffffffec
+lb :: offset: 0x1a0, out: 0xffffffffffffffab
+lb :: offset: 0x1a1, out: 0xffffffffffffffa5
+lb :: offset: 0x1a2, out: 0xffffffffffffffb1
+lb :: offset: 0x1a3, out: 0xffffffffffffff95
+lb :: offset: 0x1a4, out: 0xffffffffffffffa7
+lb :: offset: 0x1a5, out: 0xfffffffffffffff6
+lb :: offset: 0x1a6, out: 0xfffffffffffffffb
+lb :: offset: 0x1a7, out: 0x49
+lb :: offset: 0x1a8, out: 0x1e
+lb :: offset: 0x1a9, out: 0xffffffffffffff8d
+lb :: offset: 0x1aa, out: 0xffffffffffffffce
+lb :: offset: 0x1ab, out: 0xffffffffffffffc7
+lb :: offset: 0x1ac, out: 0x78
+lb :: offset: 0x1ad, out: 0x43
+lb :: offset: 0x1ae, out: 0x36
+lb :: offset: 0x1af, out: 0x19
+lb :: offset: 0x1b0, out: 0x7
+lb :: offset: 0x1b1, out: 0x49
+lb :: offset: 0x1b2, out: 0x38
+lb :: offset: 0x1b3, out: 0x2f
+lb :: offset: 0x1b4, out: 0xffffffffffffffef
+lb :: offset: 0x1b5, out: 0xffffffffffffff8d
+lb :: offset: 0x1b6, out: 0xffffffffffffff9e
+lb :: offset: 0x1b7, out: 0xffffffffffffffb9
+lb :: offset: 0x1b8, out: 0xfffffffffffffffe
+lb :: offset: 0x1b9, out: 0x12
+lb :: offset: 0x1ba, out: 0x2b
+lb :: offset: 0x1bb, out: 0x58
+lb :: offset: 0x1bc, out: 0xffffffffffffffcd
+lb :: offset: 0x1bd, out: 0xffffffffffffffcd
+lb :: offset: 0x1be, out: 0xffffffffffffffea
+lb :: offset: 0x1bf, out: 0x47
+lb :: offset: 0x1c0, out: 0x4f
+lb :: offset: 0x1c1, out: 0xffffffffffffff8c
+lb :: offset: 0x1c2, out: 0x55
+lb :: offset: 0x1c3, out: 0x76
+lb :: offset: 0x1c4, out: 0x4e
+lb :: offset: 0x1c5, out: 0xffffffffffffff88
+lb :: offset: 0x1c6, out: 0xffffffffffffff85
+lb :: offset: 0x1c7, out: 0xffffffffffffffd6
+lb :: offset: 0x1c8, out: 0xffffffffffffffc7
+lb :: offset: 0x1c9, out: 0xffffffffffffff95
+lb :: offset: 0x1ca, out: 0xffffffffffffffc1
+lb :: offset: 0x1cb, out: 0x34
+lb :: offset: 0x1cc, out: 0x2a
+lb :: offset: 0x1cd, out: 0xffffffffffffffd6
+lb :: offset: 0x1ce, out: 0x68
+lb :: offset: 0x1cf, out: 0x61
+lb :: offset: 0x1d0, out: 0x5
+lb :: offset: 0x1d1, out: 0x74
+lb :: offset: 0x1d2, out: 0xfffffffffffffff4
+lb :: offset: 0x1d3, out: 0x4d
+lb :: offset: 0x1d4, out: 0xffffffffffffff89
+lb :: offset: 0x1d5, out: 0x69
+lb :: offset: 0x1d6, out: 0x1
+lb :: offset: 0x1d7, out: 0xffffffffffffffd3
+lb :: offset: 0x1d8, out: 0xffffffffffffffdb
+lb :: offset: 0x1d9, out: 0x6
+lb :: offset: 0x1da, out: 0xffffffffffffffbb
+lb :: offset: 0x1db, out: 0x6c
+lb :: offset: 0x1dc, out: 0xffffffffffffffbf
+lb :: offset: 0x1dd, out: 0xffffffffffffff90
+lb :: offset: 0x1de, out: 0xffffffffffffffa1
+lb :: offset: 0x1df, out: 0x1c
+lb :: offset: 0x1e0, out: 0x3a
+lb :: offset: 0x1e1, out: 0x39
+lb :: offset: 0x1e2, out: 0xffffffffffffffae
+lb :: offset: 0x1e3, out: 0xffffffffffffff9c
+lb :: offset: 0x1e4, out: 0x2
+lb :: offset: 0x1e5, out: 0xf
+lb :: offset: 0x1e6, out: 0x30
+lb :: offset: 0x1e7, out: 0x58
+lb :: offset: 0x1e8, out: 0x2d
+lb :: offset: 0x1e9, out: 0xffffffffffffffbc
+lb :: offset: 0x1ea, out: 0x7e
+lb :: offset: 0x1eb, out: 0xffffffffffffffdc
+lb :: offset: 0x1ec, out: 0xffffffffffffffdb
+lb :: offset: 0x1ed, out: 0x5f
+lb :: offset: 0x1ee, out: 0xffffffffffffff99
+lb :: offset: 0x1ef, out: 0xffffffffffffff9a
+lb :: offset: 0x1f0, out: 0x48
+lb :: offset: 0x1f1, out: 0x5b
+lb :: offset: 0x1f2, out: 0x40
+lb :: offset: 0x1f3, out: 0xffffffffffffffe3
+lb :: offset: 0x1f4, out: 0x7b
+lb :: offset: 0x1f5, out: 0x4
+lb :: offset: 0x1f6, out: 0xffffffffffffff96
+lb :: offset: 0x1f7, out: 0xffffffffffffff8a
+lb :: offset: 0x1f8, out: 0x22
+lb :: offset: 0x1f9, out: 0xffffffffffffffd3
+lb :: offset: 0x1fa, out: 0x19
+lb :: offset: 0x1fb, out: 0xffffffffffffffd5
+lb :: offset: 0x1fc, out: 0xffffffffffffffd2
+lb :: offset: 0x1fd, out: 0xffffffffffffffaf
+lb :: offset: 0x1fe, out: 0xffffffffffffffbf
+lb :: offset: 0x1ff, out: 0x75
+lb :: offset: 0x200, out: 0xffffffffffffffad
+lb :: offset: 0x201, out: 0xfffffffffffffff6
+lb :: offset: 0x202, out: 0x30
+lb :: offset: 0x203, out: 0xffffffffffffffa6
+lb :: offset: 0x204, out: 0x67
+lb :: offset: 0x205, out: 0x8
+lb :: offset: 0x206, out: 0x23
+lb :: offset: 0x207, out: 0xffffffffffffffde
+lb :: offset: 0x208, out: 0x60
+lb :: offset: 0x209, out: 0x32
+lb :: offset: 0x20a, out: 0x10
+lb :: offset: 0x20b, out: 0x56
+lb :: offset: 0x20c, out: 0xfffffffffffffff2
+lb :: offset: 0x20d, out: 0xc
+lb :: offset: 0x20e, out: 0xa
+lb :: offset: 0x20f, out: 0x2c
+lb :: offset: 0x210, out: 0xffffffffffffffef
+lb :: offset: 0x211, out: 0x18
+lb :: offset: 0x212, out: 0xffffffffffffff9b
+lb :: offset: 0x213, out: 0x24
+lb :: offset: 0x214, out: 0x44
+lb :: offset: 0x215, out: 0x5
+lb :: offset: 0x216, out: 0xffffffffffffffa9
+lb :: offset: 0x217, out: 0xffffffffffffff94
+lb :: offset: 0x218, out: 0xffffffffffffffde
+lb :: offset: 0x219, out: 0xfffffffffffffffc
+lb :: offset: 0x21a, out: 0x56
+lb :: offset: 0x21b, out: 0x5b
+lb :: offset: 0x21c, out: 0xffffffffffffffb5
+lb :: offset: 0x21d, out: 0xffffffffffffff9f
+lb :: offset: 0x21e, out: 0x51
+lb :: offset: 0x21f, out: 0xfffffffffffffff9
+lb :: offset: 0x220, out: 0xffffffffffffff9b
+lb :: offset: 0x221, out: 0x31
+lb :: offset: 0x222, out: 0x68
+lb :: offset: 0x223, out: 0x4
+lb :: offset: 0x224, out: 0x20
+lb :: offset: 0x225, out: 0xfffffffffffffff8
+lb :: offset: 0x226, out: 0xffffffffffffffda
+lb :: offset: 0x227, out: 0xffffffffffffff81
+lb :: offset: 0x228, out: 0xffffffffffffffec
+lb :: offset: 0x229, out: 0xfffffffffffffff2
+lb :: offset: 0x22a, out: 0x25
+lb :: offset: 0x22b, out: 0x57
+lb :: offset: 0x22c, out: 0x5a
+lb :: offset: 0x22d, out: 0xffffffffffffffca
+lb :: offset: 0x22e, out: 0x61
+lb :: offset: 0x22f, out: 0xffffffffffffff8c
+lb :: offset: 0x230, out: 0xffffffffffffffbf
+lb :: offset: 0x231, out: 0xffffffffffffffc8
+lb :: offset: 0x232, out: 0x5d
+lb :: offset: 0x233, out: 0xffffffffffffffc2
+lb :: offset: 0x234, out: 0xffffffffffffffdd
+lb :: offset: 0x235, out: 0xffffffffffffffa6
+lb :: offset: 0x236, out: 0xffffffffffffff95
+lb :: offset: 0x237, out: 0xffffffffffffff8b
+lb :: offset: 0x238, out: 0x2f
+lb :: offset: 0x239, out: 0x16
+lb :: offset: 0x23a, out: 0xffffffffffffffc6
+lb :: offset: 0x23b, out: 0xffffffffffffffda
+lb :: offset: 0x23c, out: 0x51
+lb :: offset: 0x23d, out: 0xffffffffffffffe7
+lb :: offset: 0x23e, out: 0xc
+lb :: offset: 0x23f, out: 0x30
+lb :: offset: 0x240, out: 0x50
+lb :: offset: 0x241, out: 0xffffffffffffffa8
+lb :: offset: 0x242, out: 0x52
+lb :: offset: 0x243, out: 0xffffffffffffffba
+lb :: offset: 0x244, out: 0xfffffffffffffff3
+lb :: offset: 0x245, out: 0xfffffffffffffffd
+lb :: offset: 0x246, out: 0x78
+lb :: offset: 0x247, out: 0x67
+lb :: offset: 0x248, out: 0xffffffffffffff9f
+lb :: offset: 0x249, out: 0x47
+lb :: offset: 0x24a, out: 0x78
+lb :: offset: 0x24b, out: 0xffffffffffffffda
+lb :: offset: 0x24c, out: 0xfffffffffffffff7
+lb :: offset: 0x24d, out: 0xffffffffffffffb1
+lb :: offset: 0x24e, out: 0x0
+lb :: offset: 0x24f, out: 0xffffffffffffffad
+lb :: offset: 0x250, out: 0xffffffffffffff8a
+lb :: offset: 0x251, out: 0xffffffffffffffd9
+lb :: offset: 0x252, out: 0xffffffffffffffb6
+lb :: offset: 0x253, out: 0xffffffffffffffa6
+lb :: offset: 0x254, out: 0x68
+lb :: offset: 0x255, out: 0x41
+lb :: offset: 0x256, out: 0xffffffffffffffd4
+lb :: offset: 0x257, out: 0x8
+lb :: offset: 0x258, out: 0x13
+lb :: offset: 0x259, out: 0x44
+lb :: offset: 0x25a, out: 0x63
+lb :: offset: 0x25b, out: 0xffffffffffffffce
+lb :: offset: 0x25c, out: 0x1d
+lb :: offset: 0x25d, out: 0x38
+lb :: offset: 0x25e, out: 0x18
+lb :: offset: 0x25f, out: 0xfffffffffffffff5
+lb :: offset: 0x260, out: 0xffffffffffffffc0
+lb :: offset: 0x261, out: 0x5f
+lb :: offset: 0x262, out: 0x25
+lb :: offset: 0x263, out: 0xffffffffffffffe5
+lb :: offset: 0x264, out: 0x3f
+lb :: offset: 0x265, out: 0x7f
+lb :: offset: 0x266, out: 0x62
+lb :: offset: 0x267, out: 0xffffffffffffffe4
+lb :: offset: 0x268, out: 0x28
+lb :: offset: 0x269, out: 0x1f
+lb :: offset: 0x26a, out: 0x32
+lb :: offset: 0x26b, out: 0x76
+lb :: offset: 0x26c, out: 0xffffffffffffffe1
+lb :: offset: 0x26d, out: 0xffffffffffffff92
+lb :: offset: 0x26e, out: 0xffffffffffffffd3
+lb :: offset: 0x26f, out: 0xffffffffffffffcc
+lb :: offset: 0x270, out: 0xffffffffffffff8f
+lb :: offset: 0x271, out: 0xfffffffffffffffd
+lb :: offset: 0x272, out: 0x18
+lb :: offset: 0x273, out: 0x40
+lb :: offset: 0x274, out: 0xffffffffffffff94
+lb :: offset: 0x275, out: 0x64
+lb :: offset: 0x276, out: 0xffffffffffffff94
+lb :: offset: 0x277, out: 0xffffffffffffff82
+lb :: offset: 0x278, out: 0xffffffffffffffe5
+lb :: offset: 0x279, out: 0xfffffffffffffff0
+lb :: offset: 0x27a, out: 0xffffffffffffffe8
+lb :: offset: 0x27b, out: 0x52
+lb :: offset: 0x27c, out: 0x40
+lb :: offset: 0x27d, out: 0x20
+lb :: offset: 0x27e, out: 0xffffffffffffffd3
+lb :: offset: 0x27f, out: 0x15
+lb :: offset: 0x280, out: 0x44
+lb :: offset: 0x281, out: 0xfffffffffffffff3
+lb :: offset: 0x282, out: 0xf
+lb :: offset: 0x283, out: 0xffffffffffffff88
+lb :: offset: 0x284, out: 0xffffffffffffffd2
+lb :: offset: 0x285, out: 0xffffffffffffff83
+lb :: offset: 0x286, out: 0xffffffffffffffaf
+lb :: offset: 0x287, out: 0x7c
+lb :: offset: 0x288, out: 0xffffffffffffffd7
+lb :: offset: 0x289, out: 0xffffffffffffffef
+lb :: offset: 0x28a, out: 0x7d
+lb :: offset: 0x28b, out: 0x74
+lb :: offset: 0x28c, out: 0x4c
+lb :: offset: 0x28d, out: 0xffffffffffffffa0
+lb :: offset: 0x28e, out: 0x56
+lb :: offset: 0x28f, out: 0xfffffffffffffff1
+lb :: offset: 0x290, out: 0x10
+lb :: offset: 0x291, out: 0xffffffffffffffd7
+lb :: offset: 0x292, out: 0x31
+lb :: offset: 0x293, out: 0xf
+lb :: offset: 0x294, out: 0x1c
+lb :: offset: 0x295, out: 0x60
+lb :: offset: 0x296, out: 0xffffffffffffffe2
+lb :: offset: 0x297, out: 0xffffffffffffff93
+lb :: offset: 0x298, out: 0x33
+lb :: offset: 0x299, out: 0xffffffffffffffd9
+lb :: offset: 0x29a, out: 0x1c
+lb :: offset: 0x29b, out: 0x13
+lb :: offset: 0x29c, out: 0x79
+lb :: offset: 0x29d, out: 0xffffffffffffffa6
+lb :: offset: 0x29e, out: 0xffffffffffffffe1
+lb :: offset: 0x29f, out: 0xffffffffffffffe1
+lb :: offset: 0x2a0, out: 0x27
+lb :: offset: 0x2a1, out: 0xffffffffffffffa4
+lb :: offset: 0x2a2, out: 0x6f
+lb :: offset: 0x2a3, out: 0xffffffffffffffa7
+lb :: offset: 0x2a4, out: 0x75
+lb :: offset: 0x2a5, out: 0x6b
+lb :: offset: 0x2a6, out: 0x29
+lb :: offset: 0x2a7, out: 0x24
+lb :: offset: 0x2a8, out: 0x6a
+lb :: offset: 0x2a9, out: 0xffffffffffffffe5
+lb :: offset: 0x2aa, out: 0xffffffffffffff9e
+lb :: offset: 0x2ab, out: 0x13
+lb :: offset: 0x2ac, out: 0xffffffffffffffd2
+lb :: offset: 0x2ad, out: 0xffffffffffffffe2
+lb :: offset: 0x2ae, out: 0xffffffffffffff96
+lb :: offset: 0x2af, out: 0xffffffffffffffd2
+lb :: offset: 0x2b0, out: 0xffffffffffffffc0
+lb :: offset: 0x2b1, out: 0xffffffffffffffa5
+lb :: offset: 0x2b2, out: 0xffffffffffffffc2
+lb :: offset: 0x2b3, out: 0x6d
+lb :: offset: 0x2b4, out: 0x7f
+lb :: offset: 0x2b5, out: 0x44
+lb :: offset: 0x2b6, out: 0xffffffffffffff82
+lb :: offset: 0x2b7, out: 0x5a
+lb :: offset: 0x2b8, out: 0x68
+lb :: offset: 0x2b9, out: 0xffffffffffffffc1
+lb :: offset: 0x2ba, out: 0x7d
+lb :: offset: 0x2bb, out: 0xffffffffffffffc0
+lb :: offset: 0x2bc, out: 0xffffffffffffff80
+lb :: offset: 0x2bd, out: 0xffffffffffffff9e
+lb :: offset: 0x2be, out: 0xffffffffffffffc8
+lb :: offset: 0x2bf, out: 0x76
+lb :: offset: 0x2c0, out: 0xffffffffffffff8f
+lb :: offset: 0x2c1, out: 0x34
+lb :: offset: 0x2c2, out: 0xfffffffffffffffe
+lb :: offset: 0x2c3, out: 0x4b
+lb :: offset: 0x2c4, out: 0x45
+lb :: offset: 0x2c5, out: 0xffffffffffffffc3
+lb :: offset: 0x2c6, out: 0xd
+lb :: offset: 0x2c7, out: 0x7
+lb :: offset: 0x2c8, out: 0x1b
+lb :: offset: 0x2c9, out: 0x24
+lb :: offset: 0x2ca, out: 0x6d
+lb :: offset: 0x2cb, out: 0xffffffffffffffdd
+lb :: offset: 0x2cc, out: 0x23
+lb :: offset: 0x2cd, out: 0x71
+lb :: offset: 0x2ce, out: 0xffffffffffffffdc
+lb :: offset: 0x2cf, out: 0xffffffffffffffbd
+lb :: offset: 0x2d0, out: 0xffffffffffffffbe
+lb :: offset: 0x2d1, out: 0xffffffffffffffce
+lb :: offset: 0x2d2, out: 0xffffffffffffff9f
+lb :: offset: 0x2d3, out: 0xffffffffffffffa5
+lb :: offset: 0x2d4, out: 0x27
+lb :: offset: 0x2d5, out: 0xffffffffffffffb7
+lb :: offset: 0x2d6, out: 0x2f
+lb :: offset: 0x2d7, out: 0xfffffffffffffff6
+lb :: offset: 0x2d8, out: 0xfffffffffffffffb
+lb :: offset: 0x2d9, out: 0x46
+lb :: offset: 0x2da, out: 0xffffffffffffff9f
+lb :: offset: 0x2db, out: 0xf
+lb :: offset: 0x2dc, out: 0xffffffffffffffe9
+lb :: offset: 0x2dd, out: 0x27
+lb :: offset: 0x2de, out: 0xffffffffffffff9f
+lb :: offset: 0x2df, out: 0x10
+lb :: offset: 0x2e0, out: 0xffffffffffffffd7
+lb :: offset: 0x2e1, out: 0xffffffffffffff99
+lb :: offset: 0x2e2, out: 0xffffffffffffffd1
+lb :: offset: 0x2e3, out: 0xffffffffffffffaf
+lb :: offset: 0x2e4, out: 0xffffffffffffffa9
+lb :: offset: 0x2e5, out: 0xffffffffffffffda
+lb :: offset: 0x2e6, out: 0x63
+lb :: offset: 0x2e7, out: 0x3f
+lb :: offset: 0x2e8, out: 0xfffffffffffffff2
+lb :: offset: 0x2e9, out: 0xffffffffffffff84
+lb :: offset: 0x2ea, out: 0xffffffffffffffd4
+lb :: offset: 0x2eb, out: 0xffffffffffffffa3
+lb :: offset: 0x2ec, out: 0x2e
+lb :: offset: 0x2ed, out: 0x31
+lb :: offset: 0x2ee, out: 0xffffffffffffffcb
+lb :: offset: 0x2ef, out: 0xffffffffffffffdb
+lb :: offset: 0x2f0, out: 0xffffffffffffffc6
+lb :: offset: 0x2f1, out: 0xffffffffffffffe4
+lb :: offset: 0x2f2, out: 0x4f
+lb :: offset: 0x2f3, out: 0xffffffffffffffda
+lb :: offset: 0x2f4, out: 0xffffffffffffffaa
+lb :: offset: 0x2f5, out: 0x3f
+lb :: offset: 0x2f6, out: 0x35
+lb :: offset: 0x2f7, out: 0x1f
+lb :: offset: 0x2f8, out: 0x60
+lb :: offset: 0x2f9, out: 0xffffffffffffffc2
+lb :: offset: 0x2fa, out: 0x50
+lb :: offset: 0x2fb, out: 0x71
+lb :: offset: 0x2fc, out: 0xffffffffffffffe0
+lb :: offset: 0x2fd, out: 0x6e
+lb :: offset: 0x2fe, out: 0x8
+lb :: offset: 0x2ff, out: 0xffffffffffffff8b
+lb :: offset: 0x300, out: 0x25
+lb :: offset: 0x301, out: 0x7f
+lb :: offset: 0x302, out: 0x25
+lb :: offset: 0x303, out: 0xffffffffffffffd9
+lb :: offset: 0x304, out: 0xffffffffffffffd5
+lb :: offset: 0x305, out: 0x50
+lb :: offset: 0x306, out: 0x47
+lb :: offset: 0x307, out: 0xffffffffffffffe5
+lb :: offset: 0x308, out: 0x5b
+lb :: offset: 0x309, out: 0xffffffffffffffdb
+lb :: offset: 0x30a, out: 0xffffffffffffffa6
+lb :: offset: 0x30b, out: 0xffffffffffffffe9
+lb :: offset: 0x30c, out: 0x5f
+lb :: offset: 0x30d, out: 0x62
+lb :: offset: 0x30e, out: 0x69
+lb :: offset: 0x30f, out: 0x3d
+lb :: offset: 0x310, out: 0xffffffffffffff96
+lb :: offset: 0x311, out: 0xffffffffffffffac
+lb :: offset: 0x312, out: 0x40
+lb :: offset: 0x313, out: 0x43
+lb :: offset: 0x314, out: 0x42
+lb :: offset: 0x315, out: 0xffffffffffffffe0
+lb :: offset: 0x316, out: 0xffffffffffffffa3
+lb :: offset: 0x317, out: 0x70
+lb :: offset: 0x318, out: 0x1e
+lb :: offset: 0x319, out: 0x17
+lb :: offset: 0x31a, out: 0xffffffffffffff80
+lb :: offset: 0x31b, out: 0x69
+lb :: offset: 0x31c, out: 0x3
+lb :: offset: 0x31d, out: 0xffffffffffffff8f
+lb :: offset: 0x31e, out: 0x47
+lb :: offset: 0x31f, out: 0xffffffffffffffc0
+lb :: offset: 0x320, out: 0xffffffffffffffe3
+lb :: offset: 0x321, out: 0x29
+lb :: offset: 0x322, out: 0xfffffffffffffff9
+lb :: offset: 0x323, out: 0x1c
+lb :: offset: 0x324, out: 0xffffffffffffffa5
+lb :: offset: 0x325, out: 0x39
+lb :: offset: 0x326, out: 0xffffffffffffffe8
+lb :: offset: 0x327, out: 0x3c
+lb :: offset: 0x328, out: 0x58
+lb :: offset: 0x329, out: 0xffffffffffffff89
+lb :: offset: 0x32a, out: 0xffffffffffffffb6
+lb :: offset: 0x32b, out: 0x5e
+lb :: offset: 0x32c, out: 0xffffffffffffff89
+lb :: offset: 0x32d, out: 0xfffffffffffffffa
+lb :: offset: 0x32e, out: 0xfffffffffffffffb
+lb :: offset: 0x32f, out: 0xffffffffffffffe2
+lb :: offset: 0x330, out: 0xffffffffffffffb7
+lb :: offset: 0x331, out: 0x25
+lb :: offset: 0x332, out: 0xffffffffffffffed
+lb :: offset: 0x333, out: 0x76
+lb :: offset: 0x334, out: 0x5d
+lb :: offset: 0x335, out: 0xffffffffffffffb0
+lb :: offset: 0x336, out: 0x4b
+lb :: offset: 0x337, out: 0xffffffffffffffd2
+lb :: offset: 0x338, out: 0xfffffffffffffff1
+lb :: offset: 0x339, out: 0x12
+lb :: offset: 0x33a, out: 0x3
+lb :: offset: 0x33b, out: 0x17
+lb :: offset: 0x33c, out: 0x2c
+lb :: offset: 0x33d, out: 0x68
+lb :: offset: 0x33e, out: 0xffffffffffffffb9
+lb :: offset: 0x33f, out: 0xe
+lb :: offset: 0x340, out: 0xd
+lb :: offset: 0x341, out: 0x1d
+lb :: offset: 0x342, out: 0x30
+lb :: offset: 0x343, out: 0xffffffffffffffdd
+lb :: offset: 0x344, out: 0xffffffffffffff80
+lb :: offset: 0x345, out: 0x52
+lb :: offset: 0x346, out: 0x78
+lb :: offset: 0x347, out: 0xffffffffffffff84
+lb :: offset: 0x348, out: 0xffffffffffffffef
+lb :: offset: 0x349, out: 0xffffffffffffffd6
+lb :: offset: 0x34a, out: 0xffffffffffffff8f
+lb :: offset: 0x34b, out: 0x1f
+lb :: offset: 0x34c, out: 0xffffffffffffffaa
+lb :: offset: 0x34d, out: 0x77
+lb :: offset: 0x34e, out: 0xffffffffffffff9c
+lb :: offset: 0x34f, out: 0x17
+lb :: offset: 0x350, out: 0x6d
+lb :: offset: 0x351, out: 0x43
+lb :: offset: 0x352, out: 0xffffffffffffff98
+lb :: offset: 0x353, out: 0x29
+lb :: offset: 0x354, out: 0xffffffffffffffed
+lb :: offset: 0x355, out: 0x4c
+lb :: offset: 0x356, out: 0x44
+lb :: offset: 0x357, out: 0x26
+lb :: offset: 0x358, out: 0x8
+lb :: offset: 0x359, out: 0xffffffffffffffa7
+lb :: offset: 0x35a, out: 0xffffffffffffff8c
+lb :: offset: 0x35b, out: 0xffffffffffffffd5
+lb :: offset: 0x35c, out: 0xffffffffffffff9d
+lb :: offset: 0x35d, out: 0x5c
+lb :: offset: 0x35e, out: 0x17
+lb :: offset: 0x35f, out: 0x7
+lb :: offset: 0x360, out: 0xffffffffffffff87
+lb :: offset: 0x361, out: 0x32
+lb :: offset: 0x362, out: 0xffffffffffffff83
+lb :: offset: 0x363, out: 0x55
+lb :: offset: 0x364, out: 0x10
+lb :: offset: 0x365, out: 0x6
+lb :: offset: 0x366, out: 0x3d
+lb :: offset: 0x367, out: 0x66
+lb :: offset: 0x368, out: 0xffffffffffffff8b
+lb :: offset: 0x369, out: 0xffffffffffffffd6
+lb :: offset: 0x36a, out: 0x51
+lb :: offset: 0x36b, out: 0xffffffffffffff89
+lb :: offset: 0x36c, out: 0x48
+lb :: offset: 0x36d, out: 0xffffffffffffffd0
+lb :: offset: 0x36e, out: 0x7d
+lb :: offset: 0x36f, out: 0xffffffffffffffab
+lb :: offset: 0x370, out: 0x1b
+lb :: offset: 0x371, out: 0x47
+lb :: offset: 0x372, out: 0xffffffffffffff82
+lb :: offset: 0x373, out: 0xe
+lb :: offset: 0x374, out: 0x67
+lb :: offset: 0x375, out: 0x23
+lb :: offset: 0x376, out: 0xffffffffffffff98
+lb :: offset: 0x377, out: 0xfffffffffffffff6
+lb :: offset: 0x378, out: 0xffffffffffffffb2
+lb :: offset: 0x379, out: 0x26
+lb :: offset: 0x37a, out: 0xffffffffffffff8d
+lb :: offset: 0x37b, out: 0xffffffffffffffd9
+lb :: offset: 0x37c, out: 0x59
+lb :: offset: 0x37d, out: 0x6c
+lb :: offset: 0x37e, out: 0xffffffffffffff88
+lb :: offset: 0x37f, out: 0x36
+lb :: offset: 0x380, out: 0x79
+lb :: offset: 0x381, out: 0xffffffffffffffe4
+lb :: offset: 0x382, out: 0x2b
+lb :: offset: 0x383, out: 0xffffffffffffffd3
+lb :: offset: 0x384, out: 0xffffffffffffffdb
+lb :: offset: 0x385, out: 0x4b
+lb :: offset: 0x386, out: 0xffffffffffffffca
+lb :: offset: 0x387, out: 0x9
+lb :: offset: 0x388, out: 0x1f
+lb :: offset: 0x389, out: 0xffffffffffffffe6
+lb :: offset: 0x38a, out: 0x62
+lb :: offset: 0x38b, out: 0xffffffffffffff99
+lb :: offset: 0x38c, out: 0x1d
+lb :: offset: 0x38d, out: 0x7d
+lb :: offset: 0x38e, out: 0x5d
+lb :: offset: 0x38f, out: 0xfffffffffffffffd
+lb :: offset: 0x390, out: 0xffffffffffffffdf
+lb :: offset: 0x391, out: 0x74
+lb :: offset: 0x392, out: 0xffffffffffffffd3
+lb :: offset: 0x393, out: 0xffffffffffffffca
+lb :: offset: 0x394, out: 0x3e
+lb :: offset: 0x395, out: 0x55
+lb :: offset: 0x396, out: 0x46
+lb :: offset: 0x397, out: 0x3f
+lb :: offset: 0x398, out: 0xffffffffffffffa7
+lb :: offset: 0x399, out: 0xfffffffffffffff2
+lb :: offset: 0x39a, out: 0xffffffffffffffed
+lb :: offset: 0x39b, out: 0x3e
+lb :: offset: 0x39c, out: 0x7d
+lb :: offset: 0x39d, out: 0xffffffffffffffb9
+lb :: offset: 0x39e, out: 0xffffffffffffff9a
+lb :: offset: 0x39f, out: 0x2e
+lb :: offset: 0x3a0, out: 0x33
+lb :: offset: 0x3a1, out: 0xffffffffffffff9f
+lb :: offset: 0x3a2, out: 0xc
+lb :: offset: 0x3a3, out: 0x3c
+lb :: offset: 0x3a4, out: 0xfffffffffffffffa
+lb :: offset: 0x3a5, out: 0xfffffffffffffff7
+lb :: offset: 0x3a6, out: 0xffffffffffffffa6
+lb :: offset: 0x3a7, out: 0x36
+lb :: offset: 0x3a8, out: 0xffffffffffffffdc
+lb :: offset: 0x3a9, out: 0xffffffffffffffc9
+lb :: offset: 0x3aa, out: 0x5e
+lb :: offset: 0x3ab, out: 0x15
+lb :: offset: 0x3ac, out: 0xffffffffffffffe3
+lb :: offset: 0x3ad, out: 0x38
+lb :: offset: 0x3ae, out: 0xffffffffffffffb9
+lb :: offset: 0x3af, out: 0xffffffffffffff8b
+lb :: offset: 0x3b0, out: 0x6
+lb :: offset: 0x3b1, out: 0xffffffffffffff82
+lb :: offset: 0x3b2, out: 0x47
+lb :: offset: 0x3b3, out: 0x19
+lb :: offset: 0x3b4, out: 0xffffffffffffffc4
+lb :: offset: 0x3b5, out: 0x25
+lb :: offset: 0x3b6, out: 0xffffffffffffffdf
+lb :: offset: 0x3b7, out: 0xffffffffffffffd2
+lb :: offset: 0x3b8, out: 0x25
+lb :: offset: 0x3b9, out: 0x18
+lb :: offset: 0x3ba, out: 0x32
+lb :: offset: 0x3bb, out: 0xffffffffffffffeb
+lb :: offset: 0x3bc, out: 0x27
+lb :: offset: 0x3bd, out: 0xffffffffffffffbf
+lb :: offset: 0x3be, out: 0x65
+lb :: offset: 0x3bf, out: 0xffffffffffffffbc
+lb :: offset: 0x3c0, out: 0xffffffffffffffda
+lb :: offset: 0x3c1, out: 0xffffffffffffffc7
+lb :: offset: 0x3c2, out: 0xffffffffffffff8b
+lb :: offset: 0x3c3, out: 0x7a
+lb :: offset: 0x3c4, out: 0xffffffffffffffe6
+lb :: offset: 0x3c5, out: 0xffffffffffffff8f
+lb :: offset: 0x3c6, out: 0xffffffffffffffb0
+lb :: offset: 0x3c7, out: 0xffffffffffffffa8
+lb :: offset: 0x3c8, out: 0xffffffffffffffe8
+lb :: offset: 0x3c9, out: 0xffffffffffffffcd
+lb :: offset: 0x3ca, out: 0xffffffffffffffdf
+lb :: offset: 0x3cb, out: 0xfffffffffffffff8
+lb :: offset: 0x3cc, out: 0xffffffffffffffca
+lb :: offset: 0x3cd, out: 0x5b
+lb :: offset: 0x3ce, out: 0x2b
+lb :: offset: 0x3cf, out: 0xffffffffffffff85
+lb :: offset: 0x3d0, out: 0x69
+lb :: offset: 0x3d1, out: 0xffffffffffffff92
+lb :: offset: 0x3d2, out: 0xffffffffffffffa9
+lb :: offset: 0x3d3, out: 0x59
+lb :: offset: 0x3d4, out: 0xffffffffffffff9b
+lb :: offset: 0x3d5, out: 0xffffffffffffff90
+lb :: offset: 0x3d6, out: 0x78
+lb :: offset: 0x3d7, out: 0x4
+lb :: offset: 0x3d8, out: 0xf
+lb :: offset: 0x3d9, out: 0x36
+lb :: offset: 0x3da, out: 0x57
+lb :: offset: 0x3db, out: 0x78
+lb :: offset: 0x3dc, out: 0xffffffffffffffc8
+lb :: offset: 0x3dd, out: 0x1c
+lb :: offset: 0x3de, out: 0xffffffffffffffb3
+lb :: offset: 0x3df, out: 0xffffffffffffffbf
+lb :: offset: 0x3e0, out: 0xffffffffffffffa2
+lb :: offset: 0x3e1, out: 0xffffffffffffffe9
+lb :: offset: 0x3e2, out: 0xffffffffffffff89
+lb :: offset: 0x3e3, out: 0x7f
+lb :: offset: 0x3e4, out: 0x5e
+lb :: offset: 0x3e5, out: 0xffffffffffffffed
+lb :: offset: 0x3e6, out: 0x65
+lb :: offset: 0x3e7, out: 0xffffffffffffffb6
+lb :: offset: 0x3e8, out: 0xffffffffffffffe4
+lb :: offset: 0x3e9, out: 0xffffffffffffffd5
+lb :: offset: 0x3ea, out: 0xffffffffffffffa8
+lb :: offset: 0x3eb, out: 0xffffffffffffffb7
+lb :: offset: 0x3ec, out: 0x74
+lb :: offset: 0x3ed, out: 0xffffffffffffff94
+lb :: offset: 0x3ee, out: 0xffffffffffffffda
+lb :: offset: 0x3ef, out: 0x15
+lb :: offset: 0x3f0, out: 0xffffffffffffffcc
+lb :: offset: 0x3f1, out: 0xf
+lb :: offset: 0x3f2, out: 0xfffffffffffffff9
+lb :: offset: 0x3f3, out: 0x2a
+lb :: offset: 0x3f4, out: 0x7d
+lb :: offset: 0x3f5, out: 0x53
+lb :: offset: 0x3f6, out: 0xffffffffffffffb3
+lb :: offset: 0x3f7, out: 0xfffffffffffffff6
+lb :: offset: 0x3f8, out: 0xffffffffffffff97
+lb :: offset: 0x3f9, out: 0x18
+lb :: offset: 0x3fa, out: 0xffffffffffffff96
+lb :: offset: 0x3fb, out: 0x2b
+lb :: offset: 0x3fc, out: 0xfffffffffffffffe
+lb :: offset: 0x3fd, out: 0x7c
+lb :: offset: 0x3fe, out: 0x3d
+lb :: offset: 0x3ff, out: 0x22
+lb :: offset: 0x400, out: 0x4b
+lb :: offset: 0x401, out: 0x4a
+lb :: offset: 0x402, out: 0x73
+lb :: offset: 0x403, out: 0x33
+lb :: offset: 0x404, out: 0xfffffffffffffff5
+lb :: offset: 0x405, out: 0x34
+lb :: offset: 0x406, out: 0xb
+lb :: offset: 0x407, out: 0x42
+lb :: offset: 0x408, out: 0x3c
+lb :: offset: 0x409, out: 0xffffffffffffffb3
+lb :: offset: 0x40a, out: 0x46
+lb :: offset: 0x40b, out: 0xffffffffffffffdd
+lb :: offset: 0x40c, out: 0xffffffffffffff8d
+lb :: offset: 0x40d, out: 0xffffffffffffff8c
+lb :: offset: 0x40e, out: 0x7c
+lb :: offset: 0x40f, out: 0xffffffffffffff89
+lb :: offset: 0x410, out: 0xffffffffffffffd9
+lb :: offset: 0x411, out: 0xffffffffffffffcc
+lb :: offset: 0x412, out: 0xffffffffffffff92
+lb :: offset: 0x413, out: 0xffffffffffffffe3
+lb :: offset: 0x414, out: 0x45
+lb :: offset: 0x415, out: 0x74
+lb :: offset: 0x416, out: 0x38
+lb :: offset: 0x417, out: 0x7a
+lb :: offset: 0x418, out: 0xffffffffffffffc9
+lb :: offset: 0x419, out: 0x0
+lb :: offset: 0x41a, out: 0x0
+lb :: offset: 0x41b, out: 0xffffffffffffffd8
+lb :: offset: 0x41c, out: 0xffffffffffffffb1
+lb :: offset: 0x41d, out: 0x29
+lb :: offset: 0x41e, out: 0x2f
+lb :: offset: 0x41f, out: 0x51
+lb :: offset: 0x420, out: 0xa
+lb :: offset: 0x421, out: 0x2
+lb :: offset: 0x422, out: 0xffffffffffffffad
+lb :: offset: 0x423, out: 0x3d
+lb :: offset: 0x424, out: 0xffffffffffffffc5
+lb :: offset: 0x425, out: 0xffffffffffffffd5
+lb :: offset: 0x426, out: 0xffffffffffffffde
+lb :: offset: 0x427, out: 0xffffffffffffffea
+lb :: offset: 0x428, out: 0x5b
+lb :: offset: 0x429, out: 0xffffffffffffffa3
+lb :: offset: 0x42a, out: 0xffffffffffffffee
+lb :: offset: 0x42b, out: 0x31
+lb :: offset: 0x42c, out: 0xffffffffffffffd7
+lb :: offset: 0x42d, out: 0x29
+lb :: offset: 0x42e, out: 0x62
+lb :: offset: 0x42f, out: 0xffffffffffffff8a
+lb :: offset: 0x430, out: 0x49
+lb :: offset: 0x431, out: 0x56
+lb :: offset: 0x432, out: 0xffffffffffffff98
+lb :: offset: 0x433, out: 0x48
+lb :: offset: 0x434, out: 0xffffffffffffff9e
+lb :: offset: 0x435, out: 0x3f
+lb :: offset: 0x436, out: 0x3c
+lb :: offset: 0x437, out: 0x2c
+lb :: offset: 0x438, out: 0x77
+lb :: offset: 0x439, out: 0xb
+lb :: offset: 0x43a, out: 0xffffffffffffff9c
+lb :: offset: 0x43b, out: 0xffffffffffffffdc
+lb :: offset: 0x43c, out: 0x78
+lb :: offset: 0x43d, out: 0x1e
+lb :: offset: 0x43e, out: 0xfffffffffffffff6
+lb :: offset: 0x43f, out: 0x7f
+lb :: offset: 0x440, out: 0xffffffffffffffec
+lb :: offset: 0x441, out: 0x68
+lb :: offset: 0x442, out: 0x5e
+lb :: offset: 0x443, out: 0x1d
+lb :: offset: 0x444, out: 0xffffffffffffffe0
+lb :: offset: 0x445, out: 0xffffffffffffffb0
+lb :: offset: 0x446, out: 0xffffffffffffff99
+lb :: offset: 0x447, out: 0x22
+lb :: offset: 0x448, out: 0x25
+lb :: offset: 0x449, out: 0x6e
+lb :: offset: 0x44a, out: 0xc
+lb :: offset: 0x44b, out: 0x3d
+lb :: offset: 0x44c, out: 0x67
+lb :: offset: 0x44d, out: 0x4
+lb :: offset: 0x44e, out: 0x3b
+lb :: offset: 0x44f, out: 0x7c
+lb :: offset: 0x450, out: 0xffffffffffffff87
+lb :: offset: 0x451, out: 0x65
+lb :: offset: 0x452, out: 0xfffffffffffffffb
+lb :: offset: 0x453, out: 0xffffffffffffffe7
+lb :: offset: 0x454, out: 0xffffffffffffffc1
+lb :: offset: 0x455, out: 0x17
+lb :: offset: 0x456, out: 0x4e
+lb :: offset: 0x457, out: 0x16
+lb :: offset: 0x458, out: 0xb
+lb :: offset: 0x459, out: 0xffffffffffffff95
+lb :: offset: 0x45a, out: 0xffffffffffffffd4
+lb :: offset: 0x45b, out: 0x56
+lb :: offset: 0x45c, out: 0xffffffffffffff8b
+lb :: offset: 0x45d, out: 0xffffffffffffffa2
+lb :: offset: 0x45e, out: 0x4c
+lb :: offset: 0x45f, out: 0xfffffffffffffffa
+lb :: offset: 0x460, out: 0xffffffffffffff8a
+lb :: offset: 0x461, out: 0xffffffffffffffa0
+lb :: offset: 0x462, out: 0x7f
+lb :: offset: 0x463, out: 0xffffffffffffffbe
+lb :: offset: 0x464, out: 0x14
+lb :: offset: 0x465, out: 0xffffffffffffffa3
+lb :: offset: 0x466, out: 0xffffffffffffffe9
+lb :: offset: 0x467, out: 0xffffffffffffffe5
+lb :: offset: 0x468, out: 0xffffffffffffffc5
+lb :: offset: 0x469, out: 0x49
+lb :: offset: 0x46a, out: 0xffffffffffffff96
+lb :: offset: 0x46b, out: 0x15
+lb :: offset: 0x46c, out: 0x64
+lb :: offset: 0x46d, out: 0xffffffffffffff81
+lb :: offset: 0x46e, out: 0xffffffffffffffbe
+lb :: offset: 0x46f, out: 0xfffffffffffffff8
+lb :: offset: 0x470, out: 0x17
+lb :: offset: 0x471, out: 0xffffffffffffff9b
+lb :: offset: 0x472, out: 0xffffffffffffffe6
+lb :: offset: 0x473, out: 0xffffffffffffff84
+lb :: offset: 0x474, out: 0xffffffffffffff97
+lb :: offset: 0x475, out: 0x25
+lb :: offset: 0x476, out: 0xffffffffffffffa3
+lb :: offset: 0x477, out: 0x7c
+lb :: offset: 0x478, out: 0x5c
+lb :: offset: 0x479, out: 0x4f
+lb :: offset: 0x47a, out: 0xfffffffffffffff2
+lb :: offset: 0x47b, out: 0xffffffffffffffa1
+lb :: offset: 0x47c, out: 0x3c
+lb :: offset: 0x47d, out: 0x54
+lb :: offset: 0x47e, out: 0xffffffffffffff8d
+lb :: offset: 0x47f, out: 0xfffffffffffffffc
+lb :: offset: 0x480, out: 0x36
+lb :: offset: 0x481, out: 0xffffffffffffff9e
+lb :: offset: 0x482, out: 0x45
+lb :: offset: 0x483, out: 0xffffffffffffffe3
+lb :: offset: 0x484, out: 0xffffffffffffffa0
+lb :: offset: 0x485, out: 0x6c
+lb :: offset: 0x486, out: 0xffffffffffffffeb
+lb :: offset: 0x487, out: 0x4a
+lb :: offset: 0x488, out: 0xfffffffffffffffa
+lb :: offset: 0x489, out: 0xffffffffffffff80
+lb :: offset: 0x48a, out: 0x79
+lb :: offset: 0x48b, out: 0x18
+lb :: offset: 0x48c, out: 0xffffffffffffff8e
+lb :: offset: 0x48d, out: 0xffffffffffffffe1
+lb :: offset: 0x48e, out: 0x32
+lb :: offset: 0x48f, out: 0xffffffffffffffc5
+lb :: offset: 0x490, out: 0x1c
+lb :: offset: 0x491, out: 0x7d
+lb :: offset: 0x492, out: 0x28
+lb :: offset: 0x493, out: 0x4f
+lb :: offset: 0x494, out: 0x29
+lb :: offset: 0x495, out: 0xffffffffffffffec
+lb :: offset: 0x496, out: 0xfffffffffffffffd
+lb :: offset: 0x497, out: 0xffffffffffffffb3
+lb :: offset: 0x498, out: 0xffffffffffffff90
+lb :: offset: 0x499, out: 0x2b
+lb :: offset: 0x49a, out: 0x73
+lb :: offset: 0x49b, out: 0x49
+lb :: offset: 0x49c, out: 0xa
+lb :: offset: 0x49d, out: 0x66
+lb :: offset: 0x49e, out: 0x20
+lb :: offset: 0x49f, out: 0xffffffffffffffb6
+lb :: offset: 0x4a0, out: 0xffffffffffffff91
+lb :: offset: 0x4a1, out: 0xffffffffffffffe9
+lb :: offset: 0x4a2, out: 0xfffffffffffffffd
+lb :: offset: 0x4a3, out: 0x6c
+lb :: offset: 0x4a4, out: 0xfffffffffffffff1
+lb :: offset: 0x4a5, out: 0x38
+lb :: offset: 0x4a6, out: 0x31
+lb :: offset: 0x4a7, out: 0xffffffffffffff99
+lb :: offset: 0x4a8, out: 0xffffffffffffffb9
+lb :: offset: 0x4a9, out: 0x7
+lb :: offset: 0x4aa, out: 0x54
+lb :: offset: 0x4ab, out: 0x7d
+lb :: offset: 0x4ac, out: 0x33
+lb :: offset: 0x4ad, out: 0xffffffffffffffd1
+lb :: offset: 0x4ae, out: 0x2
+lb :: offset: 0x4af, out: 0xffffffffffffffde
+lb :: offset: 0x4b0, out: 0x5a
+lb :: offset: 0x4b1, out: 0xffffffffffffffb1
+lb :: offset: 0x4b2, out: 0xffffffffffffffda
+lb :: offset: 0x4b3, out: 0xffffffffffffffe1
+lb :: offset: 0x4b4, out: 0xffffffffffffffe1
+lb :: offset: 0x4b5, out: 0xffffffffffffff90
+lb :: offset: 0x4b6, out: 0xffffffffffffffa3
+lb :: offset: 0x4b7, out: 0x13
+lb :: offset: 0x4b8, out: 0xffffffffffffffc8
+lb :: offset: 0x4b9, out: 0x16
+lb :: offset: 0x4ba, out: 0xffffffffffffff87
+lb :: offset: 0x4bb, out: 0xffffffffffffff82
+lb :: offset: 0x4bc, out: 0xffffffffffffffa6
+lb :: offset: 0x4bd, out: 0xffffffffffffff91
+lb :: offset: 0x4be, out: 0x34
+lb :: offset: 0x4bf, out: 0x74
+lb :: offset: 0x4c0, out: 0xfffffffffffffff2
+lb :: offset: 0x4c1, out: 0xffffffffffffff92
+lb :: offset: 0x4c2, out: 0xffffffffffffffe2
+lb :: offset: 0x4c3, out: 0xffffffffffffffed
+lb :: offset: 0x4c4, out: 0x4a
+lb :: offset: 0x4c5, out: 0x40
+lb :: offset: 0x4c6, out: 0xffffffffffffffff
+lb :: offset: 0x4c7, out: 0xffffffffffffff8c
+lb :: offset: 0x4c8, out: 0x36
+lb :: offset: 0x4c9, out: 0x76
+lb :: offset: 0x4ca, out: 0xffffffffffffff83
+lb :: offset: 0x4cb, out: 0x1f
+lb :: offset: 0x4cc, out: 0xffffffffffffffdb
+lb :: offset: 0x4cd, out: 0xffffffffffffffc0
+lb :: offset: 0x4ce, out: 0xffffffffffffffce
+lb :: offset: 0x4cf, out: 0xffffffffffffffb9
+lb :: offset: 0x4d0, out: 0x1c
+lb :: offset: 0x4d1, out: 0x77
+lb :: offset: 0x4d2, out: 0x9
+lb :: offset: 0x4d3, out: 0x5
+lb :: offset: 0x4d4, out: 0xffffffffffffffa7
+lb :: offset: 0x4d5, out: 0x5a
+lb :: offset: 0x4d6, out: 0xffffffffffffffaa
+lb :: offset: 0x4d7, out: 0x2e
+lb :: offset: 0x4d8, out: 0x1b
+lb :: offset: 0x4d9, out: 0x24
+lb :: offset: 0x4da, out: 0x75
+lb :: offset: 0x4db, out: 0x18
+lb :: offset: 0x4dc, out: 0xffffffffffffff8e
+lb :: offset: 0x4dd, out: 0x53
+lb :: offset: 0x4de, out: 0x27
+lb :: offset: 0x4df, out: 0xffffffffffffffd3
+lb :: offset: 0x4e0, out: 0x6b
+lb :: offset: 0x4e1, out: 0xffffffffffffff9b
+lb :: offset: 0x4e2, out: 0x73
+lb :: offset: 0x4e3, out: 0xffffffffffffff8b
+lb :: offset: 0x4e4, out: 0x54
+lb :: offset: 0x4e5, out: 0xfffffffffffffff8
+lb :: offset: 0x4e6, out: 0xffffffffffffffe9
+lb :: offset: 0x4e7, out: 0x42
+lb :: offset: 0x4e8, out: 0x1a
+lb :: offset: 0x4e9, out: 0xffffffffffffffba
+lb :: offset: 0x4ea, out: 0xffffffffffffffcb
+lb :: offset: 0x4eb, out: 0xffffffffffffffec
+lb :: offset: 0x4ec, out: 0xc
+lb :: offset: 0x4ed, out: 0xffffffffffffffe5
+lb :: offset: 0x4ee, out: 0xffffffffffffffe4
+lb :: offset: 0x4ef, out: 0x78
+lb :: offset: 0x4f0, out: 0xffffffffffffffcb
+lb :: offset: 0x4f1, out: 0x27
+lb :: offset: 0x4f2, out: 0xffffffffffffff9d
+lb :: offset: 0x4f3, out: 0xffffffffffffffcd
+lb :: offset: 0x4f4, out: 0x3f
+lb :: offset: 0x4f5, out: 0xfffffffffffffffa
+lb :: offset: 0x4f6, out: 0xffffffffffffffb6
+lb :: offset: 0x4f7, out: 0xfffffffffffffff6
+lb :: offset: 0x4f8, out: 0x23
+lb :: offset: 0x4f9, out: 0xffffffffffffff94
+lb :: offset: 0x4fa, out: 0x3e
+lb :: offset: 0x4fb, out: 0xffffffffffffffae
+lb :: offset: 0x4fc, out: 0xffffffffffffff83
+lb :: offset: 0x4fd, out: 0x64
+lb :: offset: 0x4fe, out: 0xffffffffffffff91
+lb :: offset: 0x4ff, out: 0x73
+lb :: offset: 0x500, out: 0x61
+lb :: offset: 0x501, out: 0xffffffffffffff85
+lb :: offset: 0x502, out: 0x12
+lb :: offset: 0x503, out: 0xe
+lb :: offset: 0x504, out: 0xa
+lb :: offset: 0x505, out: 0xfffffffffffffff7
+lb :: offset: 0x506, out: 0x6a
+lb :: offset: 0x507, out: 0x27
+lb :: offset: 0x508, out: 0x6e
+lb :: offset: 0x509, out: 0x4b
+lb :: offset: 0x50a, out: 0xffffffffffffffe7
+lb :: offset: 0x50b, out: 0xffffffffffffffb5
+lb :: offset: 0x50c, out: 0xfffffffffffffff6
+lb :: offset: 0x50d, out: 0x5b
+lb :: offset: 0x50e, out: 0x4
+lb :: offset: 0x50f, out: 0x3
+lb :: offset: 0x510, out: 0xffffffffffffffa6
+lb :: offset: 0x511, out: 0xffffffffffffffcf
+lb :: offset: 0x512, out: 0xffffffffffffffac
+lb :: offset: 0x513, out: 0x8
+lb :: offset: 0x514, out: 0x13
+lb :: offset: 0x515, out: 0x3f
+lb :: offset: 0x516, out: 0x22
+lb :: offset: 0x517, out: 0x20
+lb :: offset: 0x518, out: 0xfffffffffffffff5
+lb :: offset: 0x519, out: 0xffffffffffffffb5
+lb :: offset: 0x51a, out: 0x76
+lb :: offset: 0x51b, out: 0x39
+lb :: offset: 0x51c, out: 0x74
+lb :: offset: 0x51d, out: 0x55
+lb :: offset: 0x51e, out: 0x3c
+lb :: offset: 0x51f, out: 0xfffffffffffffff8
+lb :: offset: 0x520, out: 0x3d
+lb :: offset: 0x521, out: 0x3c
+lb :: offset: 0x522, out: 0xffffffffffffff92
+lb :: offset: 0x523, out: 0x46
+lb :: offset: 0x524, out: 0xfffffffffffffff9
+lb :: offset: 0x525, out: 0x20
+lb :: offset: 0x526, out: 0xffffffffffffff97
+lb :: offset: 0x527, out: 0x1f
+lb :: offset: 0x528, out: 0xffffffffffffffdd
+lb :: offset: 0x529, out: 0x48
+lb :: offset: 0x52a, out: 0x24
+lb :: offset: 0x52b, out: 0x6d
+lb :: offset: 0x52c, out: 0x50
+lb :: offset: 0x52d, out: 0x28
+lb :: offset: 0x52e, out: 0xd
+lb :: offset: 0x52f, out: 0x62
+lb :: offset: 0x530, out: 0x32
+lb :: offset: 0x531, out: 0xffffffffffffffa7
+lb :: offset: 0x532, out: 0xfffffffffffffff4
+lb :: offset: 0x533, out: 0xffffffffffffff9f
+lb :: offset: 0x534, out: 0xffffffffffffffe9
+lb :: offset: 0x535, out: 0x21
+lb :: offset: 0x536, out: 0xffffffffffffffa5
+lb :: offset: 0x537, out: 0x60
+lb :: offset: 0x538, out: 0xb
+lb :: offset: 0x539, out: 0xf
+lb :: offset: 0x53a, out: 0x68
+lb :: offset: 0x53b, out: 0x5c
+lb :: offset: 0x53c, out: 0xffffffffffffffab
+lb :: offset: 0x53d, out: 0xfffffffffffffff3
+lb :: offset: 0x53e, out: 0x8
+lb :: offset: 0x53f, out: 0x5a
+lb :: offset: 0x540, out: 0x26
+lb :: offset: 0x541, out: 0x3d
+lb :: offset: 0x542, out: 0xf
+lb :: offset: 0x543, out: 0xffffffffffffff80
+lb :: offset: 0x544, out: 0xffffffffffffffe7
+lb :: offset: 0x545, out: 0xffffffffffffff9b
+lb :: offset: 0x546, out: 0xffffffffffffffa5
+lb :: offset: 0x547, out: 0xffffffffffffffc7
+lb :: offset: 0x548, out: 0x41
+lb :: offset: 0x549, out: 0x1b
+lb :: offset: 0x54a, out: 0xffffffffffffffca
+lb :: offset: 0x54b, out: 0xffffffffffffff82
+lb :: offset: 0x54c, out: 0x29
+lb :: offset: 0x54d, out: 0xffffffffffffffdf
+lb :: offset: 0x54e, out: 0xffffffffffffffec
+lb :: offset: 0x54f, out: 0x1a
+lb :: offset: 0x550, out: 0xffffffffffffffcd
+lb :: offset: 0x551, out: 0xffffffffffffff9d
+lb :: offset: 0x552, out: 0xffffffffffffffd1
+lb :: offset: 0x553, out: 0x60
+lb :: offset: 0x554, out: 0xffffffffffffffa2
+lb :: offset: 0x555, out: 0x13
+lb :: offset: 0x556, out: 0xffffffffffffff86
+lb :: offset: 0x557, out: 0x2b
+lb :: offset: 0x558, out: 0x7f
+lb :: offset: 0x559, out: 0xffffffffffffffbe
+lb :: offset: 0x55a, out: 0xffffffffffffff8b
+lb :: offset: 0x55b, out: 0xe
+lb :: offset: 0x55c, out: 0xffffffffffffff8b
+lb :: offset: 0x55d, out: 0xffffffffffffffac
+lb :: offset: 0x55e, out: 0x18
+lb :: offset: 0x55f, out: 0x25
+lb :: offset: 0x560, out: 0x6b
+lb :: offset: 0x561, out: 0x48
+lb :: offset: 0x562, out: 0xffffffffffffffcf
+lb :: offset: 0x563, out: 0x2f
+lb :: offset: 0x564, out: 0xffffffffffffff8d
+lb :: offset: 0x565, out: 0x56
+lb :: offset: 0x566, out: 0x3e
+lb :: offset: 0x567, out: 0x74
+lb :: offset: 0x568, out: 0x28
+lb :: offset: 0x569, out: 0x17
+lb :: offset: 0x56a, out: 0xffffffffffffffc3
+lb :: offset: 0x56b, out: 0x34
+lb :: offset: 0x56c, out: 0x6f
+lb :: offset: 0x56d, out: 0x64
+lb :: offset: 0x56e, out: 0x6f
+lb :: offset: 0x56f, out: 0x12
+lb :: offset: 0x570, out: 0x12
+lb :: offset: 0x571, out: 0x4d
+lb :: offset: 0x572, out: 0xfffffffffffffffc
+lb :: offset: 0x573, out: 0x56
+lb :: offset: 0x574, out: 0x61
+lb :: offset: 0x575, out: 0x19
+lb :: offset: 0x576, out: 0xffffffffffffffb0
+lb :: offset: 0x577, out: 0xffffffffffffffaa
+lb :: offset: 0x578, out: 0x42
+lb :: offset: 0x579, out: 0xffffffffffffffd3
+lb :: offset: 0x57a, out: 0xffffffffffffff95
+lb :: offset: 0x57b, out: 0xffffffffffffff85
+lb :: offset: 0x57c, out: 0x33
+lb :: offset: 0x57d, out: 0xffffffffffffffcd
+lb :: offset: 0x57e, out: 0x35
+lb :: offset: 0x57f, out: 0x75
+lb :: offset: 0x580, out: 0xffffffffffffffec
+lb :: offset: 0x581, out: 0x46
+lb :: offset: 0x582, out: 0x23
+lb :: offset: 0x583, out: 0x42
+lb :: offset: 0x584, out: 0xffffffffffffffda
+lb :: offset: 0x585, out: 0x54
+lb :: offset: 0x586, out: 0xffffffffffffffb2
+lb :: offset: 0x587, out: 0xffffffffffffffdf
+lb :: offset: 0x588, out: 0x2a
+lb :: offset: 0x589, out: 0xffffffffffffffab
+lb :: offset: 0x58a, out: 0xffffffffffffff81
+lb :: offset: 0x58b, out: 0x0
+lb :: offset: 0x58c, out: 0xffffffffffffffc9
+lb :: offset: 0x58d, out: 0x26
+lb :: offset: 0x58e, out: 0x67
+lb :: offset: 0x58f, out: 0xffffffffffffffa8
+lb :: offset: 0x590, out: 0x38
+lb :: offset: 0x591, out: 0x74
+lb :: offset: 0x592, out: 0xffffffffffffff9d
+lb :: offset: 0x593, out: 0x67
+lb :: offset: 0x594, out: 0xffffffffffffffa1
+lb :: offset: 0x595, out: 0xffffffffffffffff
+lb :: offset: 0x596, out: 0xfffffffffffffffe
+lb :: offset: 0x597, out: 0xffffffffffffff9b
+lb :: offset: 0x598, out: 0x44
+lb :: offset: 0x599, out: 0xffffffffffffffe2
+lb :: offset: 0x59a, out: 0xffffffffffffffde
+lb :: offset: 0x59b, out: 0xffffffffffffffb7
+lb :: offset: 0x59c, out: 0x26
+lb :: offset: 0x59d, out: 0xffffffffffffff98
+lb :: offset: 0x59e, out: 0x69
+lb :: offset: 0x59f, out: 0xffffffffffffffc7
+lb :: offset: 0x5a0, out: 0x4a
+lb :: offset: 0x5a1, out: 0x70
+lb :: offset: 0x5a2, out: 0xffffffffffffffa6
+lb :: offset: 0x5a3, out: 0xfffffffffffffffb
+lb :: offset: 0x5a4, out: 0xffffffffffffff97
+lb :: offset: 0x5a5, out: 0xffffffffffffffaf
+lb :: offset: 0x5a6, out: 0x7
+lb :: offset: 0x5a7, out: 0x3c
+lb :: offset: 0x5a8, out: 0xfffffffffffffffe
+lb :: offset: 0x5a9, out: 0xffffffffffffff8b
+lb :: offset: 0x5aa, out: 0xffffffffffffffc5
+lb :: offset: 0x5ab, out: 0x4
+lb :: offset: 0x5ac, out: 0xffffffffffffffdc
+lb :: offset: 0x5ad, out: 0x64
+lb :: offset: 0x5ae, out: 0x13
+lb :: offset: 0x5af, out: 0x52
+lb :: offset: 0x5b0, out: 0xffffffffffffffbc
+lb :: offset: 0x5b1, out: 0xffffffffffffffae
+lb :: offset: 0x5b2, out: 0xffffffffffffffb7
+lb :: offset: 0x5b3, out: 0xffffffffffffff9a
+lb :: offset: 0x5b4, out: 0x58
+lb :: offset: 0x5b5, out: 0xffffffffffffffbb
+lb :: offset: 0x5b6, out: 0xfffffffffffffff7
+lb :: offset: 0x5b7, out: 0xffffffffffffffe0
+lb :: offset: 0x5b8, out: 0x4d
+lb :: offset: 0x5b9, out: 0xffffffffffffff95
+lb :: offset: 0x5ba, out: 0xffffffffffffffeb
+lb :: offset: 0x5bb, out: 0xffffffffffffffde
+lb :: offset: 0x5bc, out: 0xc
+lb :: offset: 0x5bd, out: 0xffffffffffffffc6
+lb :: offset: 0x5be, out: 0x36
+lb :: offset: 0x5bf, out: 0xffffffffffffffe3
+lb :: offset: 0x5c0, out: 0x6e
+lb :: offset: 0x5c1, out: 0x41
+lb :: offset: 0x5c2, out: 0x52
+lb :: offset: 0x5c3, out: 0x6f
+lb :: offset: 0x5c4, out: 0xc
+lb :: offset: 0x5c5, out: 0x12
+lb :: offset: 0x5c6, out: 0xffffffffffffffb2
+lb :: offset: 0x5c7, out: 0xffffffffffffffd5
+lb :: offset: 0x5c8, out: 0x34
+lb :: offset: 0x5c9, out: 0xffffffffffffff8a
+lb :: offset: 0x5ca, out: 0x62
+lb :: offset: 0x5cb, out: 0x7e
+lb :: offset: 0x5cc, out: 0xffffffffffffffff
+lb :: offset: 0x5cd, out: 0xffffffffffffffd4
+lb :: offset: 0x5ce, out: 0xffffffffffffffa2
+lb :: offset: 0x5cf, out: 0xffffffffffffff85
+lb :: offset: 0x5d0, out: 0x7
+lb :: offset: 0x5d1, out: 0x7e
+lb :: offset: 0x5d2, out: 0x4e
+lb :: offset: 0x5d3, out: 0x4a
+lb :: offset: 0x5d4, out: 0x65
+lb :: offset: 0x5d5, out: 0x2b
+lb :: offset: 0x5d6, out: 0x6a
+lb :: offset: 0x5d7, out: 0xffffffffffffff98
+lb :: offset: 0x5d8, out: 0x55
+lb :: offset: 0x5d9, out: 0xffffffffffffff9b
+lb :: offset: 0x5da, out: 0x48
+lb :: offset: 0x5db, out: 0x3a
+lb :: offset: 0x5dc, out: 0xffffffffffffffc4
+lb :: offset: 0x5dd, out: 0xffffffffffffffea
+lb :: offset: 0x5de, out: 0x74
+lb :: offset: 0x5df, out: 0xffffffffffffffa9
+lb :: offset: 0x5e0, out: 0xfffffffffffffff5
+lb :: offset: 0x5e1, out: 0xfffffffffffffff8
+lb :: offset: 0x5e2, out: 0xfffffffffffffff1
+lb :: offset: 0x5e3, out: 0x72
+lb :: offset: 0x5e4, out: 0x62
+lb :: offset: 0x5e5, out: 0xffffffffffffffc1
+lb :: offset: 0x5e6, out: 0xffffffffffffff88
+lb :: offset: 0x5e7, out: 0xffffffffffffffa3
+lb :: offset: 0x5e8, out: 0xffffffffffffffa9
+lb :: offset: 0x5e9, out: 0x5e
+lb :: offset: 0x5ea, out: 0x49
+lb :: offset: 0x5eb, out: 0xffffffffffffffe7
+lb :: offset: 0x5ec, out: 0x45
+lb :: offset: 0x5ed, out: 0x1f
+lb :: offset: 0x5ee, out: 0xffffffffffffffc1
+lb :: offset: 0x5ef, out: 0xffffffffffffffe8
+lb :: offset: 0x5f0, out: 0xffffffffffffffb4
+lb :: offset: 0x5f1, out: 0xffffffffffffffc8
+lb :: offset: 0x5f2, out: 0xffffffffffffffc1
+lb :: offset: 0x5f3, out: 0x5c
+lb :: offset: 0x5f4, out: 0x76
+lb :: offset: 0x5f5, out: 0x5a
+lb :: offset: 0x5f6, out: 0xffffffffffffffaa
+lb :: offset: 0x5f7, out: 0xffffffffffffffad
+lb :: offset: 0x5f8, out: 0xffffffffffffffc0
+lb :: offset: 0x5f9, out: 0x5
+lb :: offset: 0x5fa, out: 0xffffffffffffffa6
+lb :: offset: 0x5fb, out: 0xffffffffffffffdf
+lb :: offset: 0x5fc, out: 0xffffffffffffff88
+lb :: offset: 0x5fd, out: 0xffffffffffffffce
+lb :: offset: 0x5fe, out: 0xffffffffffffffb4
+lb :: offset: 0x5ff, out: 0x7a
+lb :: offset: 0x600, out: 0x4f
+lb :: offset: 0x601, out: 0xffffffffffffffb0
+lb :: offset: 0x602, out: 0xffffffffffffffa7
+lb :: offset: 0x603, out: 0x59
+lb :: offset: 0x604, out: 0xffffffffffffffe6
+lb :: offset: 0x605, out: 0xffffffffffffffd6
+lb :: offset: 0x606, out: 0x2a
+lb :: offset: 0x607, out: 0xffffffffffffffb4
+lb :: offset: 0x608, out: 0x2f
+lb :: offset: 0x609, out: 0xffffffffffffff92
+lb :: offset: 0x60a, out: 0x28
+lb :: offset: 0x60b, out: 0xffffffffffffffb7
+lb :: offset: 0x60c, out: 0x5a
+lb :: offset: 0x60d, out: 0x48
+lb :: offset: 0x60e, out: 0xfffffffffffffff8
+lb :: offset: 0x60f, out: 0x4b
+lb :: offset: 0x610, out: 0xfffffffffffffffb
+lb :: offset: 0x611, out: 0xffffffffffffffa7
+lb :: offset: 0x612, out: 0x66
+lb :: offset: 0x613, out: 0x3b
+lb :: offset: 0x614, out: 0xc
+lb :: offset: 0x615, out: 0xffffffffffffffd6
+lb :: offset: 0x616, out: 0xffffffffffffffa3
+lb :: offset: 0x617, out: 0x76
+lb :: offset: 0x618, out: 0xffffffffffffffda
+lb :: offset: 0x619, out: 0xffffffffffffff8e
+lb :: offset: 0x61a, out: 0xffffffffffffffc2
+lb :: offset: 0x61b, out: 0xfffffffffffffffd
+lb :: offset: 0x61c, out: 0xffffffffffffffaf
+lb :: offset: 0x61d, out: 0xffffffffffffffc6
+lb :: offset: 0x61e, out: 0xffffffffffffffe0
+lb :: offset: 0x61f, out: 0x31
+lb :: offset: 0x620, out: 0xffffffffffffff9d
+lb :: offset: 0x621, out: 0xffffffffffffff99
+lb :: offset: 0x622, out: 0xc
+lb :: offset: 0x623, out: 0xffffffffffffffbf
+lb :: offset: 0x624, out: 0xffffffffffffffb4
+lb :: offset: 0x625, out: 0x6b
+lb :: offset: 0x626, out: 0x60
+lb :: offset: 0x627, out: 0x53
+lb :: offset: 0x628, out: 0xfffffffffffffff0
+lb :: offset: 0x629, out: 0x19
+lb :: offset: 0x62a, out: 0x79
+lb :: offset: 0x62b, out: 0x1b
+lb :: offset: 0x62c, out: 0xffffffffffffffc8
+lb :: offset: 0x62d, out: 0x12
+lb :: offset: 0x62e, out: 0xfffffffffffffffc
+lb :: offset: 0x62f, out: 0x32
+lb :: offset: 0x630, out: 0xffffffffffffffd6
+lb :: offset: 0x631, out: 0xfffffffffffffffc
+lb :: offset: 0x632, out: 0x2e
+lb :: offset: 0x633, out: 0xffffffffffffffc7
+lb :: offset: 0x634, out: 0xffffffffffffff84
+lb :: offset: 0x635, out: 0xffffffffffffff83
+lb :: offset: 0x636, out: 0xfffffffffffffff8
+lb :: offset: 0x637, out: 0x3e
+lb :: offset: 0x638, out: 0xffffffffffffff80
+lb :: offset: 0x639, out: 0x35
+lb :: offset: 0x63a, out: 0x2a
+lb :: offset: 0x63b, out: 0x6a
+lb :: offset: 0x63c, out: 0xffffffffffffffbb
+lb :: offset: 0x63d, out: 0xffffffffffffffc7
+lb :: offset: 0x63e, out: 0xffffffffffffffb1
+lb :: offset: 0x63f, out: 0x38
+lb :: offset: 0x640, out: 0xffffffffffffffc9
+lb :: offset: 0x641, out: 0x77
+lb :: offset: 0x642, out: 0xffffffffffffffca
+lb :: offset: 0x643, out: 0x1d
+lb :: offset: 0x644, out: 0x12
+lb :: offset: 0x645, out: 0xfffffffffffffff6
+lb :: offset: 0x646, out: 0xffffffffffffffeb
+lb :: offset: 0x647, out: 0x15
+lb :: offset: 0x648, out: 0xffffffffffffffae
+lb :: offset: 0x649, out: 0x47
+lb :: offset: 0x64a, out: 0xffffffffffffff91
+lb :: offset: 0x64b, out: 0xfffffffffffffffd
+lb :: offset: 0x64c, out: 0xffffffffffffffd9
+lb :: offset: 0x64d, out: 0xffffffffffffffcd
+lb :: offset: 0x64e, out: 0xffffffffffffffaa
+lb :: offset: 0x64f, out: 0x5e
+lb :: offset: 0x650, out: 0x17
+lb :: offset: 0x651, out: 0x11
+lb :: offset: 0x652, out: 0xffffffffffffffe9
+lb :: offset: 0x653, out: 0xffffffffffffff81
+lb :: offset: 0x654, out: 0xfffffffffffffff9
+lb :: offset: 0x655, out: 0x70
+lb :: offset: 0x656, out: 0xffffffffffffff84
+lb :: offset: 0x657, out: 0xffffffffffffffbb
+lb :: offset: 0x658, out: 0xffffffffffffffe0
+lb :: offset: 0x659, out: 0x32
+lb :: offset: 0x65a, out: 0xffffffffffffffa5
+lb :: offset: 0x65b, out: 0xffffffffffffffc6
+lb :: offset: 0x65c, out: 0xffffffffffffffea
+lb :: offset: 0x65d, out: 0x2a
+lb :: offset: 0x65e, out: 0xffffffffffffffd4
+lb :: offset: 0x65f, out: 0x5
+lb :: offset: 0x660, out: 0x63
+lb :: offset: 0x661, out: 0xffffffffffffff9e
+lb :: offset: 0x662, out: 0xfffffffffffffffb
+lb :: offset: 0x663, out: 0x19
+lb :: offset: 0x664, out: 0x64
+lb :: offset: 0x665, out: 0xfffffffffffffff3
+lb :: offset: 0x666, out: 0xffffffffffffffab
+lb :: offset: 0x667, out: 0x14
+lb :: offset: 0x668, out: 0xffffffffffffffac
+lb :: offset: 0x669, out: 0x2a
+lb :: offset: 0x66a, out: 0xffffffffffffffd7
+lb :: offset: 0x66b, out: 0xffffffffffffffa8
+lb :: offset: 0x66c, out: 0xffffffffffffff9a
+lb :: offset: 0x66d, out: 0x55
+lb :: offset: 0x66e, out: 0xffffffffffffff9d
+lb :: offset: 0x66f, out: 0x24
+lb :: offset: 0x670, out: 0xffffffffffffffec
+lb :: offset: 0x671, out: 0x30
+lb :: offset: 0x672, out: 0x4b
+lb :: offset: 0x673, out: 0x8
+lb :: offset: 0x674, out: 0x4f
+lb :: offset: 0x675, out: 0x76
+lb :: offset: 0x676, out: 0xffffffffffffffd6
+lb :: offset: 0x677, out: 0xc
+lb :: offset: 0x678, out: 0xffffffffffffffdf
+lb :: offset: 0x679, out: 0xffffffffffffff8f
+lb :: offset: 0x67a, out: 0x46
+lb :: offset: 0x67b, out: 0xffffffffffffff92
+lb :: offset: 0x67c, out: 0x7
+lb :: offset: 0x67d, out: 0xffffffffffffffac
+lb :: offset: 0x67e, out: 0x3
+lb :: offset: 0x67f, out: 0x7f
+lb :: offset: 0x680, out: 0xfffffffffffffff5
+lb :: offset: 0x681, out: 0x70
+lb :: offset: 0x682, out: 0xffffffffffffffe6
+lb :: offset: 0x683, out: 0x56
+lb :: offset: 0x684, out: 0x6d
+lb :: offset: 0x685, out: 0xffffffffffffffce
+lb :: offset: 0x686, out: 0x35
+lb :: offset: 0x687, out: 0x7e
+lb :: offset: 0x688, out: 0x11
+lb :: offset: 0x689, out: 0x27
+lb :: offset: 0x68a, out: 0x65
+lb :: offset: 0x68b, out: 0x1a
+lb :: offset: 0x68c, out: 0x59
+lb :: offset: 0x68d, out: 0x28
+lb :: offset: 0x68e, out: 0x28
+lb :: offset: 0x68f, out: 0x15
+lb :: offset: 0x690, out: 0xfffffffffffffffb
+lb :: offset: 0x691, out: 0xffffffffffffffa9
+lb :: offset: 0x692, out: 0x15
+lb :: offset: 0x693, out: 0xffffffffffffffd2
+lb :: offset: 0x694, out: 0xffffffffffffff83
+lb :: offset: 0x695, out: 0x32
+lb :: offset: 0x696, out: 0x1c
+lb :: offset: 0x697, out: 0xffffffffffffff9e
+lb :: offset: 0x698, out: 0x17
+lb :: offset: 0x699, out: 0x4
+lb :: offset: 0x69a, out: 0x2a
+lb :: offset: 0x69b, out: 0x28
+lb :: offset: 0x69c, out: 0x49
+lb :: offset: 0x69d, out: 0xffffffffffffffc0
+lb :: offset: 0x69e, out: 0xffffffffffffff95
+lb :: offset: 0x69f, out: 0xffffffffffffff8d
+lb :: offset: 0x6a0, out: 0xfffffffffffffff3
+lb :: offset: 0x6a1, out: 0x58
+lb :: offset: 0x6a2, out: 0xffffffffffffff80
+lb :: offset: 0x6a3, out: 0xffffffffffffff97
+lb :: offset: 0x6a4, out: 0xffffffffffffff90
+lb :: offset: 0x6a5, out: 0xffffffffffffffa4
+lb :: offset: 0x6a6, out: 0xffffffffffffffe7
+lb :: offset: 0x6a7, out: 0xfffffffffffffff2
+lb :: offset: 0x6a8, out: 0xffffffffffffffaa
+lb :: offset: 0x6a9, out: 0xffffffffffffffb1
+lb :: offset: 0x6aa, out: 0x75
+lb :: offset: 0x6ab, out: 0x9
+lb :: offset: 0x6ac, out: 0xffffffffffffffca
+lb :: offset: 0x6ad, out: 0x4c
+lb :: offset: 0x6ae, out: 0x5b
+lb :: offset: 0x6af, out: 0x77
+lb :: offset: 0x6b0, out: 0x20
+lb :: offset: 0x6b1, out: 0x10
+lb :: offset: 0x6b2, out: 0x11
+lb :: offset: 0x6b3, out: 0x35
+lb :: offset: 0x6b4, out: 0xffffffffffffffa6
+lb :: offset: 0x6b5, out: 0xffffffffffffff84
+lb :: offset: 0x6b6, out: 0x2b
+lb :: offset: 0x6b7, out: 0xa
+lb :: offset: 0x6b8, out: 0x6f
+lb :: offset: 0x6b9, out: 0xffffffffffffff8b
+lb :: offset: 0x6ba, out: 0xffffffffffffffd8
+lb :: offset: 0x6bb, out: 0xffffffffffffffa7
+lb :: offset: 0x6bc, out: 0xffffffffffffffd3
+lb :: offset: 0x6bd, out: 0xffffffffffffffa0
+lb :: offset: 0x6be, out: 0x3f
+lb :: offset: 0x6bf, out: 0x2
+lb :: offset: 0x6c0, out: 0xffffffffffffffdd
+lb :: offset: 0x6c1, out: 0xffffffffffffffde
+lb :: offset: 0x6c2, out: 0x41
+lb :: offset: 0x6c3, out: 0xffffffffffffff99
+lb :: offset: 0x6c4, out: 0xffffffffffffffb7
+lb :: offset: 0x6c5, out: 0xffffffffffffff91
+lb :: offset: 0x6c6, out: 0xffffffffffffffd9
+lb :: offset: 0x6c7, out: 0xffffffffffffffa3
+lb :: offset: 0x6c8, out: 0x8
+lb :: offset: 0x6c9, out: 0xffffffffffffff95
+lb :: offset: 0x6ca, out: 0xd
+lb :: offset: 0x6cb, out: 0x5a
+lb :: offset: 0x6cc, out: 0xffffffffffffff83
+lb :: offset: 0x6cd, out: 0xffffffffffffffb4
+lb :: offset: 0x6ce, out: 0x1c
+lb :: offset: 0x6cf, out: 0x75
+lb :: offset: 0x6d0, out: 0xffffffffffffffd3
+lb :: offset: 0x6d1, out: 0xffffffffffffffb2
+lb :: offset: 0x6d2, out: 0x5b
+lb :: offset: 0x6d3, out: 0x62
+lb :: offset: 0x6d4, out: 0x35
+lb :: offset: 0x6d5, out: 0xffffffffffffffad
+lb :: offset: 0x6d6, out: 0xffffffffffffff9c
+lb :: offset: 0x6d7, out: 0xffffffffffffff94
+lb :: offset: 0x6d8, out: 0x39
+lb :: offset: 0x6d9, out: 0xffffffffffffff97
+lb :: offset: 0x6da, out: 0xffffffffffffff92
+lb :: offset: 0x6db, out: 0xffffffffffffffa6
+lb :: offset: 0x6dc, out: 0x35
+lb :: offset: 0x6dd, out: 0x7f
+lb :: offset: 0x6de, out: 0x56
+lb :: offset: 0x6df, out: 0x7f
+lb :: offset: 0x6e0, out: 0x27
+lb :: offset: 0x6e1, out: 0x7d
+lb :: offset: 0x6e2, out: 0xffffffffffffff8d
+lb :: offset: 0x6e3, out: 0xffffffffffffffdb
+lb :: offset: 0x6e4, out: 0xffffffffffffffe0
+lb :: offset: 0x6e5, out: 0xffffffffffffff88
+lb :: offset: 0x6e6, out: 0x5b
+lb :: offset: 0x6e7, out: 0x18
+lb :: offset: 0x6e8, out: 0xffffffffffffff91
+lb :: offset: 0x6e9, out: 0x1b
+lb :: offset: 0x6ea, out: 0xffffffffffffffd6
+lb :: offset: 0x6eb, out: 0x2f
+lb :: offset: 0x6ec, out: 0xffffffffffffffd2
+lb :: offset: 0x6ed, out: 0x4c
+lb :: offset: 0x6ee, out: 0x5a
+lb :: offset: 0x6ef, out: 0x25
+lb :: offset: 0x6f0, out: 0x7b
+lb :: offset: 0x6f1, out: 0x3f
+lb :: offset: 0x6f2, out: 0x36
+lb :: offset: 0x6f3, out: 0xffffffffffffffa4
+lb :: offset: 0x6f4, out: 0xffffffffffffff89
+lb :: offset: 0x6f5, out: 0xffffffffffffffd5
+lb :: offset: 0x6f6, out: 0x48
+lb :: offset: 0x6f7, out: 0x10
+lb :: offset: 0x6f8, out: 0xffffffffffffff90
+lb :: offset: 0x6f9, out: 0x57
+lb :: offset: 0x6fa, out: 0x60
+lb :: offset: 0x6fb, out: 0xfffffffffffffff4
+lb :: offset: 0x6fc, out: 0x8
+lb :: offset: 0x6fd, out: 0x57
+lb :: offset: 0x6fe, out: 0x6d
+lb :: offset: 0x6ff, out: 0x6a
+lb :: offset: 0x700, out: 0x7f
+lb :: offset: 0x701, out: 0x69
+lb :: offset: 0x702, out: 0x35
+lb :: offset: 0x703, out: 0xffffffffffffffde
+lb :: offset: 0x704, out: 0xffffffffffffffab
+lb :: offset: 0x705, out: 0xffffffffffffffcb
+lb :: offset: 0x706, out: 0xffffffffffffff8e
+lb :: offset: 0x707, out: 0xffffffffffffffd5
+lb :: offset: 0x708, out: 0xfffffffffffffff1
+lb :: offset: 0x709, out: 0xffffffffffffffa5
+lb :: offset: 0x70a, out: 0xffffffffffffffc0
+lb :: offset: 0x70b, out: 0x8
+lb :: offset: 0x70c, out: 0xfffffffffffffffd
+lb :: offset: 0x70d, out: 0x48
+lb :: offset: 0x70e, out: 0x55
+lb :: offset: 0x70f, out: 0x57
+lb :: offset: 0x710, out: 0xffffffffffffffdb
+lb :: offset: 0x711, out: 0xffffffffffffff8d
+lb :: offset: 0x712, out: 0xffffffffffffffd9
+lb :: offset: 0x713, out: 0xffffffffffffff8e
+lb :: offset: 0x714, out: 0xfffffffffffffffb
+lb :: offset: 0x715, out: 0x40
+lb :: offset: 0x716, out: 0xffffffffffffffb6
+lb :: offset: 0x717, out: 0xffffffffffffff8b
+lb :: offset: 0x718, out: 0xffffffffffffffcc
+lb :: offset: 0x719, out: 0x78
+lb :: offset: 0x71a, out: 0xffffffffffffffc5
+lb :: offset: 0x71b, out: 0xffffffffffffffab
+lb :: offset: 0x71c, out: 0x1e
+lb :: offset: 0x71d, out: 0xffffffffffffffd5
+lb :: offset: 0x71e, out: 0x0
+lb :: offset: 0x71f, out: 0xffffffffffffffbe
+lb :: offset: 0x720, out: 0xffffffffffffffb2
+lb :: offset: 0x721, out: 0xa
+lb :: offset: 0x722, out: 0x17
+lb :: offset: 0x723, out: 0x1c
+lb :: offset: 0x724, out: 0x4a
+lb :: offset: 0x725, out: 0x22
+lb :: offset: 0x726, out: 0x7e
+lb :: offset: 0x727, out: 0x2f
+lb :: offset: 0x728, out: 0xffffffffffffffa7
+lb :: offset: 0x729, out: 0x56
+lb :: offset: 0x72a, out: 0x22
+lb :: offset: 0x72b, out: 0xffffffffffffffa2
+lb :: offset: 0x72c, out: 0x2c
+lb :: offset: 0x72d, out: 0xfffffffffffffff1
+lb :: offset: 0x72e, out: 0x78
+lb :: offset: 0x72f, out: 0xffffffffffffffa9
+lb :: offset: 0x730, out: 0x2f
+lb :: offset: 0x731, out: 0xffffffffffffffe0
+lb :: offset: 0x732, out: 0x1e
+lb :: offset: 0x733, out: 0xffffffffffffff81
+lb :: offset: 0x734, out: 0x3b
+lb :: offset: 0x735, out: 0xffffffffffffffa9
+lb :: offset: 0x736, out: 0x50
+lb :: offset: 0x737, out: 0xffffffffffffff99
+lb :: offset: 0x738, out: 0xc
+lb :: offset: 0x739, out: 0x6a
+lb :: offset: 0x73a, out: 0x79
+lb :: offset: 0x73b, out: 0xffffffffffffffc6
+lb :: offset: 0x73c, out: 0xffffffffffffff93
+lb :: offset: 0x73d, out: 0xffffffffffffffea
+lb :: offset: 0x73e, out: 0x4e
+lb :: offset: 0x73f, out: 0xffffffffffffffb4
+lb :: offset: 0x740, out: 0x57
+lb :: offset: 0x741, out: 0xffffffffffffffb6
+lb :: offset: 0x742, out: 0xe
+lb :: offset: 0x743, out: 0x6c
+lb :: offset: 0x744, out: 0xffffffffffffffa0
+lb :: offset: 0x745, out: 0xfffffffffffffffc
+lb :: offset: 0x746, out: 0x71
+lb :: offset: 0x747, out: 0xfffffffffffffffe
+lb :: offset: 0x748, out: 0x57
+lb :: offset: 0x749, out: 0xffffffffffffffaf
+lb :: offset: 0x74a, out: 0x18
+lb :: offset: 0x74b, out: 0xfffffffffffffff8
+lb :: offset: 0x74c, out: 0x3d
+lb :: offset: 0x74d, out: 0x39
+lb :: offset: 0x74e, out: 0xffffffffffffffd6
+lb :: offset: 0x74f, out: 0x4e
+lb :: offset: 0x750, out: 0xa
+lb :: offset: 0x751, out: 0x77
+lb :: offset: 0x752, out: 0x36
+lb :: offset: 0x753, out: 0x2
+lb :: offset: 0x754, out: 0x20
+lb :: offset: 0x755, out: 0xffffffffffffff90
+lb :: offset: 0x756, out: 0x2e
+lb :: offset: 0x757, out: 0xfffffffffffffff2
+lb :: offset: 0x758, out: 0x5d
+lb :: offset: 0x759, out: 0xffffffffffffffc4
+lb :: offset: 0x75a, out: 0xffffffffffffffd0
+lb :: offset: 0x75b, out: 0xffffffffffffffaf
+lb :: offset: 0x75c, out: 0xffffffffffffffc7
+lb :: offset: 0x75d, out: 0xffffffffffffffb6
+lb :: offset: 0x75e, out: 0xffffffffffffffef
+lb :: offset: 0x75f, out: 0xffffffffffffff81
+lb :: offset: 0x760, out: 0x5b
+lb :: offset: 0x761, out: 0x31
+lb :: offset: 0x762, out: 0x2
+lb :: offset: 0x763, out: 0xffffffffffffff81
+lb :: offset: 0x764, out: 0x51
+lb :: offset: 0x765, out: 0xfffffffffffffff3
+lb :: offset: 0x766, out: 0xffffffffffffffd8
+lb :: offset: 0x767, out: 0xffffffffffffffee
+lb :: offset: 0x768, out: 0x5e
+lb :: offset: 0x769, out: 0xfffffffffffffffd
+lb :: offset: 0x76a, out: 0x5e
+lb :: offset: 0x76b, out: 0xffffffffffffff99
+lb :: offset: 0x76c, out: 0xffffffffffffffb9
+lb :: offset: 0x76d, out: 0xffffffffffffffef
+lb :: offset: 0x76e, out: 0xffffffffffffffaf
+lb :: offset: 0x76f, out: 0xffffffffffffffad
+lb :: offset: 0x770, out: 0xffffffffffffff86
+lb :: offset: 0x771, out: 0x30
+lb :: offset: 0x772, out: 0x25
+lb :: offset: 0x773, out: 0xffffffffffffffeb
+lb :: offset: 0x774, out: 0x33
+lb :: offset: 0x775, out: 0x19
+lb :: offset: 0x776, out: 0x6
+lb :: offset: 0x777, out: 0x34
+lb :: offset: 0x778, out: 0xffffffffffffffbc
+lb :: offset: 0x779, out: 0x52
+lb :: offset: 0x77a, out: 0x4c
+lb :: offset: 0x77b, out: 0x4b
+lb :: offset: 0x77c, out: 0x26
+lb :: offset: 0x77d, out: 0xffffffffffffffda
+lb :: offset: 0x77e, out: 0x48
+lb :: offset: 0x77f, out: 0x17
+lb :: offset: 0x780, out: 0xffffffffffffff89
+lb :: offset: 0x781, out: 0xffffffffffffffbe
+lb :: offset: 0x782, out: 0x2
+lb :: offset: 0x783, out: 0xffffffffffffff93
+lb :: offset: 0x784, out: 0xffffffffffffff9a
+lb :: offset: 0x785, out: 0xfffffffffffffffc
+lb :: offset: 0x786, out: 0xfffffffffffffffd
+lb :: offset: 0x787, out: 0x34
+lb :: offset: 0x788, out: 0xffffffffffffff80
+lb :: offset: 0x789, out: 0xffffffffffffffd1
+lb :: offset: 0x78a, out: 0x21
+lb :: offset: 0x78b, out: 0xffffffffffffffc5
+lb :: offset: 0x78c, out: 0xffffffffffffffc3
+lb :: offset: 0x78d, out: 0x78
+lb :: offset: 0x78e, out: 0x2
+lb :: offset: 0x78f, out: 0xffffffffffffffd0
+lb :: offset: 0x790, out: 0x5d
+lb :: offset: 0x791, out: 0x7a
+lb :: offset: 0x792, out: 0xffffffffffffffd3
+lb :: offset: 0x793, out: 0xffffffffffffffc1
+lb :: offset: 0x794, out: 0xffffffffffffffa4
+lb :: offset: 0x795, out: 0x44
+lb :: offset: 0x796, out: 0x9
+lb :: offset: 0x797, out: 0xffffffffffffffe9
+lb :: offset: 0x798, out: 0x39
+lb :: offset: 0x799, out: 0xffffffffffffff98
+lb :: offset: 0x79a, out: 0xffffffffffffffef
+lb :: offset: 0x79b, out: 0xffffffffffffffdd
+lb :: offset: 0x79c, out: 0xffffffffffffff8f
+lb :: offset: 0x79d, out: 0x69
+lb :: offset: 0x79e, out: 0xfffffffffffffffd
+lb :: offset: 0x79f, out: 0x65
+lb :: offset: 0x7a0, out: 0x52
+lb :: offset: 0x7a1, out: 0xffffffffffffffaf
+lb :: offset: 0x7a2, out: 0xffffffffffffffb5
+lb :: offset: 0x7a3, out: 0xffffffffffffff81
+lb :: offset: 0x7a4, out: 0xffffffffffffffad
+lb :: offset: 0x7a5, out: 0xffffffffffffffe3
+lb :: offset: 0x7a6, out: 0xffffffffffffff9e
+lb :: offset: 0x7a7, out: 0xffffffffffffffc4
+lb :: offset: 0x7a8, out: 0xffffffffffffffe9
+lb :: offset: 0x7a9, out: 0x63
+lb :: offset: 0x7aa, out: 0xffffffffffffffb2
+lb :: offset: 0x7ab, out: 0xffffffffffffffbd
+lb :: offset: 0x7ac, out: 0xffffffffffffffe8
+lb :: offset: 0x7ad, out: 0x41
+lb :: offset: 0x7ae, out: 0xffffffffffffffa9
+lb :: offset: 0x7af, out: 0x7a
+lb :: offset: 0x7b0, out: 0xffffffffffffff8d
+lb :: offset: 0x7b1, out: 0xffffffffffffffb5
+lb :: offset: 0x7b2, out: 0xfffffffffffffff3
+lb :: offset: 0x7b3, out: 0x42
+lb :: offset: 0x7b4, out: 0xffffffffffffff9e
+lb :: offset: 0x7b5, out: 0x20
+lb :: offset: 0x7b6, out: 0x2c
+lb :: offset: 0x7b7, out: 0x37
+lb :: offset: 0x7b8, out: 0x3b
+lb :: offset: 0x7b9, out: 0xffffffffffffffa8
+lb :: offset: 0x7ba, out: 0x22
+lb :: offset: 0x7bb, out: 0xffffffffffffffe1
+lb :: offset: 0x7bc, out: 0xffffffffffffffb7
+lb :: offset: 0x7bd, out: 0x70
+lb :: offset: 0x7be, out: 0xfffffffffffffff8
+lb :: offset: 0x7bf, out: 0x30
+lb :: offset: 0x7c0, out: 0xffffffffffffffec
+lb :: offset: 0x7c1, out: 0x30
+lb :: offset: 0x7c2, out: 0xffffffffffffff89
+lb :: offset: 0x7c3, out: 0x67
+lb :: offset: 0x7c4, out: 0x4b
+lb :: offset: 0x7c5, out: 0xffffffffffffffde
+lb :: offset: 0x7c6, out: 0x2
+lb :: offset: 0x7c7, out: 0xffffffffffffff9e
+lb :: offset: 0x7c8, out: 0x1e
+lb :: offset: 0x7c9, out: 0x63
+lb :: offset: 0x7ca, out: 0x26
+lb :: offset: 0x7cb, out: 0xffffffffffffff98
+lb :: offset: 0x7cc, out: 0x63
+lb :: offset: 0x7cd, out: 0xffffffffffffffa8
+lb :: offset: 0x7ce, out: 0x61
+lb :: offset: 0x7cf, out: 0xffffffffffffffcd
+lb :: offset: 0x7d0, out: 0xffffffffffffffca
+lb :: offset: 0x7d1, out: 0xffffffffffffffd3
+lb :: offset: 0x7d2, out: 0x7b
+lb :: offset: 0x7d3, out: 0xffffffffffffff9a
+lb :: offset: 0x7d4, out: 0xffffffffffffff89
+lb :: offset: 0x7d5, out: 0xffffffffffffffbc
+lb :: offset: 0x7d6, out: 0xffffffffffffff87
+lb :: offset: 0x7d7, out: 0xffffffffffffffae
+lb :: offset: 0x7d8, out: 0x17
+lb :: offset: 0x7d9, out: 0xffffffffffffffaf
+lb :: offset: 0x7da, out: 0xffffffffffffff81
+lb :: offset: 0x7db, out: 0x64
+lb :: offset: 0x7dc, out: 0x4d
+lb :: offset: 0x7dd, out: 0x64
+lb :: offset: 0x7de, out: 0xffffffffffffffec
+lb :: offset: 0x7df, out: 0x58
+lb :: offset: 0x7e0, out: 0x66
+lb :: offset: 0x7e1, out: 0xffffffffffffffb6
+lb :: offset: 0x7e2, out: 0x36
+lb :: offset: 0x7e3, out: 0xffffffffffffffb2
+lb :: offset: 0x7e4, out: 0x5f
+lb :: offset: 0x7e5, out: 0xffffffffffffffce
+lb :: offset: 0x7e6, out: 0xc
+lb :: offset: 0x7e7, out: 0x68
+lb :: offset: 0x7e8, out: 0x75
+lb :: offset: 0x7e9, out: 0x4d
+lb :: offset: 0x7ea, out: 0x6d
+lb :: offset: 0x7eb, out: 0x1f
+lb :: offset: 0x7ec, out: 0x47
+lb :: offset: 0x7ed, out: 0xffffffffffffff99
+lb :: offset: 0x7ee, out: 0xffffffffffffffaa
+lb :: offset: 0x7ef, out: 0x3b
+lb :: offset: 0x7f0, out: 0x6b
+lb :: offset: 0x7f1, out: 0x23
+lb :: offset: 0x7f2, out: 0x12
+lb :: offset: 0x7f3, out: 0x5f
+lb :: offset: 0x7f4, out: 0x44
+lb :: offset: 0x7f5, out: 0xffffffffffffff9b
+lb :: offset: 0x7f6, out: 0x4d
+lb :: offset: 0x7f7, out: 0x61
+lb :: offset: 0x7f8, out: 0x21
+lb :: offset: 0x7f9, out: 0x41
+lb :: offset: 0x7fa, out: 0xffffffffffffffa8
+lb :: offset: 0x7fb, out: 0x1b
+lb :: offset: 0x7fc, out: 0x66
+lb :: offset: 0x7fd, out: 0xffffffffffffffec
+lb :: offset: 0x7fe, out: 0xffffffffffffffa6
+lb :: offset: 0x7ff, out: 0xffffffffffffffa2
+lbu :: offset: 0x0, out: 0x0
+lbu :: offset: 0x1, out: 0x0
+lbu :: offset: 0x2, out: 0x0
+lbu :: offset: 0x3, out: 0x0
+lbu :: offset: 0x4, out: 0x0
+lbu :: offset: 0x5, out: 0x0
+lbu :: offset: 0x6, out: 0x0
+lbu :: offset: 0x7, out: 0x0
+lbu :: offset: 0x8, out: 0x6e
+lbu :: offset: 0x9, out: 0x3b
+lbu :: offset: 0xa, out: 0x82
+lbu :: offset: 0xb, out: 0x9
+lbu :: offset: 0xc, out: 0xd9
+lbu :: offset: 0xd, out: 0x26
+lbu :: offset: 0xe, out: 0x43
+lbu :: offset: 0xf, out: 0xd
+lbu :: offset: 0x10, out: 0xdc
+lbu :: offset: 0x11, out: 0x76
+lbu :: offset: 0x12, out: 0x4
+lbu :: offset: 0x13, out: 0x13
+lbu :: offset: 0x14, out: 0x6b
+lbu :: offset: 0x15, out: 0x6b
+lbu :: offset: 0x16, out: 0xc5
+lbu :: offset: 0x17, out: 0x17
+lbu :: offset: 0x18, out: 0xb2
+lbu :: offset: 0x19, out: 0x4d
+lbu :: offset: 0x1a, out: 0x86
+lbu :: offset: 0x1b, out: 0x1a
+lbu :: offset: 0x1c, out: 0x5
+lbu :: offset: 0x1d, out: 0x50
+lbu :: offset: 0x1e, out: 0x47
+lbu :: offset: 0x1f, out: 0x1e
+lbu :: offset: 0x20, out: 0xb8
+lbu :: offset: 0x21, out: 0xed
+lbu :: offset: 0x22, out: 0x8
+lbu :: offset: 0x23, out: 0x26
+lbu :: offset: 0x24, out: 0xf
+lbu :: offset: 0x25, out: 0xf0
+lbu :: offset: 0x26, out: 0xc9
+lbu :: offset: 0x27, out: 0x22
+lbu :: offset: 0x28, out: 0xd6
+lbu :: offset: 0x29, out: 0xd6
+lbu :: offset: 0x2a, out: 0x8a
+lbu :: offset: 0x2b, out: 0x2f
+lbu :: offset: 0x2c, out: 0x61
+lbu :: offset: 0x2d, out: 0xcb
+lbu :: offset: 0x2e, out: 0x4b
+lbu :: offset: 0x2f, out: 0x2b
+lbu :: offset: 0x30, out: 0x64
+lbu :: offset: 0x31, out: 0x9b
+lbu :: offset: 0x32, out: 0xc
+lbu :: offset: 0x33, out: 0x35
+lbu :: offset: 0x34, out: 0xd3
+lbu :: offset: 0x35, out: 0x86
+lbu :: offset: 0x36, out: 0xcd
+lbu :: offset: 0x37, out: 0x31
+lbu :: offset: 0x38, out: 0xa
+lbu :: offset: 0x39, out: 0xa0
+lbu :: offset: 0x3a, out: 0x8e
+lbu :: offset: 0x3b, out: 0x3c
+lbu :: offset: 0x3c, out: 0xbd
+lbu :: offset: 0x3d, out: 0xbd
+lbu :: offset: 0x3e, out: 0x4f
+lbu :: offset: 0x3f, out: 0x38
+lbu :: offset: 0x40, out: 0x70
+lbu :: offset: 0x41, out: 0xdb
+lbu :: offset: 0x42, out: 0x11
+lbu :: offset: 0x43, out: 0x4c
+lbu :: offset: 0x44, out: 0xc7
+lbu :: offset: 0x45, out: 0xc6
+lbu :: offset: 0x46, out: 0xd0
+lbu :: offset: 0x47, out: 0x48
+lbu :: offset: 0x48, out: 0x1e
+lbu :: offset: 0x49, out: 0xe0
+lbu :: offset: 0x4a, out: 0x93
+lbu :: offset: 0x4b, out: 0x45
+lbu :: offset: 0x4c, out: 0xa9
+lbu :: offset: 0x4d, out: 0xfd
+lbu :: offset: 0x4e, out: 0x52
+lbu :: offset: 0x4f, out: 0x41
+lbu :: offset: 0x50, out: 0xac
+lbu :: offset: 0x51, out: 0xad
+lbu :: offset: 0x52, out: 0x15
+lbu :: offset: 0x53, out: 0x5f
+lbu :: offset: 0x54, out: 0x1b
+lbu :: offset: 0x55, out: 0xb0
+lbu :: offset: 0x56, out: 0xd4
+lbu :: offset: 0x57, out: 0x5b
+lbu :: offset: 0x58, out: 0xc2
+lbu :: offset: 0x59, out: 0x96
+lbu :: offset: 0x5a, out: 0x97
+lbu :: offset: 0x5b, out: 0x56
+lbu :: offset: 0x5c, out: 0x75
+lbu :: offset: 0x5d, out: 0x8b
+lbu :: offset: 0x5e, out: 0x56
+lbu :: offset: 0x5f, out: 0x52
+lbu :: offset: 0x60, out: 0xc8
+lbu :: offset: 0x61, out: 0x36
+lbu :: offset: 0x62, out: 0x19
+lbu :: offset: 0x63, out: 0x6a
+lbu :: offset: 0x64, out: 0x7f
+lbu :: offset: 0x65, out: 0x2b
+lbu :: offset: 0x66, out: 0xd8
+lbu :: offset: 0x67, out: 0x6e
+lbu :: offset: 0x68, out: 0xa6
+lbu :: offset: 0x69, out: 0xd
+lbu :: offset: 0x6a, out: 0x9b
+lbu :: offset: 0x6b, out: 0x63
+lbu :: offset: 0x6c, out: 0x11
+lbu :: offset: 0x6d, out: 0x10
+lbu :: offset: 0x6e, out: 0x5a
+lbu :: offset: 0x6f, out: 0x67
+lbu :: offset: 0x70, out: 0x14
+lbu :: offset: 0x71, out: 0x40
+lbu :: offset: 0x72, out: 0x1d
+lbu :: offset: 0x73, out: 0x79
+lbu :: offset: 0x74, out: 0xa3
+lbu :: offset: 0x75, out: 0x5d
+lbu :: offset: 0x76, out: 0xdc
+lbu :: offset: 0x77, out: 0x7d
+lbu :: offset: 0x78, out: 0x7a
+lbu :: offset: 0x79, out: 0x7b
+lbu :: offset: 0x7a, out: 0x9f
+lbu :: offset: 0x7b, out: 0x70
+lbu :: offset: 0x7c, out: 0xcd
+lbu :: offset: 0x7d, out: 0x66
+lbu :: offset: 0x7e, out: 0x5e
+lbu :: offset: 0x7f, out: 0x74
+lbu :: offset: 0x80, out: 0xe0
+lbu :: offset: 0x81, out: 0xb6
+lbu :: offset: 0x82, out: 0x23
+lbu :: offset: 0x83, out: 0x98
+lbu :: offset: 0x84, out: 0x57
+lbu :: offset: 0x85, out: 0xab
+lbu :: offset: 0x86, out: 0xe2
+lbu :: offset: 0x87, out: 0x9c
+lbu :: offset: 0x88, out: 0x8e
+lbu :: offset: 0x89, out: 0x8d
+lbu :: offset: 0x8a, out: 0xa1
+lbu :: offset: 0x8b, out: 0x91
+lbu :: offset: 0x8c, out: 0x39
+lbu :: offset: 0x8d, out: 0x90
+lbu :: offset: 0x8e, out: 0x60
+lbu :: offset: 0x8f, out: 0x95
+lbu :: offset: 0x90, out: 0x3c
+lbu :: offset: 0x91, out: 0xc0
+lbu :: offset: 0x92, out: 0x27
+lbu :: offset: 0x93, out: 0x8b
+lbu :: offset: 0x94, out: 0x8b
+lbu :: offset: 0x95, out: 0xdd
+lbu :: offset: 0x96, out: 0xe6
+lbu :: offset: 0x97, out: 0x8f
+lbu :: offset: 0x98, out: 0x52
+lbu :: offset: 0x99, out: 0xfb
+lbu :: offset: 0x9a, out: 0xa5
+lbu :: offset: 0x9b, out: 0x82
+lbu :: offset: 0x9c, out: 0xe5
+lbu :: offset: 0x9d, out: 0xe6
+lbu :: offset: 0x9e, out: 0x64
+lbu :: offset: 0x9f, out: 0x86
+lbu :: offset: 0xa0, out: 0x58
+lbu :: offset: 0xa1, out: 0x5b
+lbu :: offset: 0xa2, out: 0x2b
+lbu :: offset: 0xa3, out: 0xbe
+lbu :: offset: 0xa4, out: 0xef
+lbu :: offset: 0xa5, out: 0x46
+lbu :: offset: 0xa6, out: 0xea
+lbu :: offset: 0xa7, out: 0xba
+lbu :: offset: 0xa8, out: 0x36
+lbu :: offset: 0xa9, out: 0x60
+lbu :: offset: 0xaa, out: 0xa9
+lbu :: offset: 0xab, out: 0xb7
+lbu :: offset: 0xac, out: 0x81
+lbu :: offset: 0xad, out: 0x7d
+lbu :: offset: 0xae, out: 0x68
+lbu :: offset: 0xaf, out: 0xb3
+lbu :: offset: 0xb0, out: 0x84
+lbu :: offset: 0xb1, out: 0x2d
+lbu :: offset: 0xb2, out: 0x2f
+lbu :: offset: 0xb3, out: 0xad
+lbu :: offset: 0xb4, out: 0x33
+lbu :: offset: 0xb5, out: 0x30
+lbu :: offset: 0xb6, out: 0xee
+lbu :: offset: 0xb7, out: 0xa9
+lbu :: offset: 0xb8, out: 0xea
+lbu :: offset: 0xb9, out: 0x16
+lbu :: offset: 0xba, out: 0xad
+lbu :: offset: 0xbb, out: 0xa4
+lbu :: offset: 0xbc, out: 0x5d
+lbu :: offset: 0xbd, out: 0xb
+lbu :: offset: 0xbe, out: 0x6c
+lbu :: offset: 0xbf, out: 0xa0
+lbu :: offset: 0xc0, out: 0x90
+lbu :: offset: 0xc1, out: 0x6d
+lbu :: offset: 0xc2, out: 0x32
+lbu :: offset: 0xc3, out: 0xd4
+lbu :: offset: 0xc4, out: 0x27
+lbu :: offset: 0xc5, out: 0x70
+lbu :: offset: 0xc6, out: 0xf3
+lbu :: offset: 0xc7, out: 0xd0
+lbu :: offset: 0xc8, out: 0xfe
+lbu :: offset: 0xc9, out: 0x56
+lbu :: offset: 0xca, out: 0xb0
+lbu :: offset: 0xcb, out: 0xdd
+lbu :: offset: 0xcc, out: 0x49
+lbu :: offset: 0xcd, out: 0x4b
+lbu :: offset: 0xce, out: 0x71
+lbu :: offset: 0xcf, out: 0xd9
+lbu :: offset: 0xd0, out: 0x4c
+lbu :: offset: 0xd1, out: 0x1b
+lbu :: offset: 0xd2, out: 0x36
+lbu :: offset: 0xd3, out: 0xc7
+lbu :: offset: 0xd4, out: 0xfb
+lbu :: offset: 0xd5, out: 0x6
+lbu :: offset: 0xd6, out: 0xf7
+lbu :: offset: 0xd7, out: 0xc3
+lbu :: offset: 0xd8, out: 0x22
+lbu :: offset: 0xd9, out: 0x20
+lbu :: offset: 0xda, out: 0xb4
+lbu :: offset: 0xdb, out: 0xce
+lbu :: offset: 0xdc, out: 0x95
+lbu :: offset: 0xdd, out: 0x3d
+lbu :: offset: 0xde, out: 0x75
+lbu :: offset: 0xdf, out: 0xca
+lbu :: offset: 0xe0, out: 0x28
+lbu :: offset: 0xe1, out: 0x80
+lbu :: offset: 0xe2, out: 0x3a
+lbu :: offset: 0xe3, out: 0xf2
+lbu :: offset: 0xe4, out: 0x9f
+lbu :: offset: 0xe5, out: 0x9d
+lbu :: offset: 0xe6, out: 0xfb
+lbu :: offset: 0xe7, out: 0xf6
+lbu :: offset: 0xe8, out: 0x46
+lbu :: offset: 0xe9, out: 0xbb
+lbu :: offset: 0xea, out: 0xb8
+lbu :: offset: 0xeb, out: 0xfb
+lbu :: offset: 0xec, out: 0xf1
+lbu :: offset: 0xed, out: 0xa6
+lbu :: offset: 0xee, out: 0x79
+lbu :: offset: 0xef, out: 0xff
+lbu :: offset: 0xf0, out: 0xf4
+lbu :: offset: 0xf1, out: 0xf6
+lbu :: offset: 0xf2, out: 0x3e
+lbu :: offset: 0xf3, out: 0xe1
+lbu :: offset: 0xf4, out: 0x43
+lbu :: offset: 0xf5, out: 0xeb
+lbu :: offset: 0xf6, out: 0xff
+lbu :: offset: 0xf7, out: 0xe5
+lbu :: offset: 0xf8, out: 0x9a
+lbu :: offset: 0xf9, out: 0xcd
+lbu :: offset: 0xfa, out: 0xbc
+lbu :: offset: 0xfb, out: 0xe8
+lbu :: offset: 0xfc, out: 0x2d
+lbu :: offset: 0xfd, out: 0xd0
+lbu :: offset: 0xfe, out: 0x7d
+lbu :: offset: 0xff, out: 0xec
+lbu :: offset: 0x100, out: 0x77
+lbu :: offset: 0x101, out: 0x70
+lbu :: offset: 0x102, out: 0x86
+lbu :: offset: 0x103, out: 0x34
+lbu :: offset: 0x104, out: 0xc0
+lbu :: offset: 0x105, out: 0x6d
+lbu :: offset: 0x106, out: 0x47
+lbu :: offset: 0x107, out: 0x30
+lbu :: offset: 0x108, out: 0x19
+lbu :: offset: 0x109, out: 0x4b
+lbu :: offset: 0x10a, out: 0x4
+lbu :: offset: 0x10b, out: 0x3d
+lbu :: offset: 0x10c, out: 0xae
+lbu :: offset: 0x10d, out: 0x56
+lbu :: offset: 0x10e, out: 0xc5
+lbu :: offset: 0x10f, out: 0x39
+lbu :: offset: 0x110, out: 0xab
+lbu :: offset: 0x111, out: 0x6
+lbu :: offset: 0x112, out: 0x82
+lbu :: offset: 0x113, out: 0x27
+lbu :: offset: 0x114, out: 0x1c
+lbu :: offset: 0x115, out: 0x1b
+lbu :: offset: 0x116, out: 0x43
+lbu :: offset: 0x117, out: 0x23
+lbu :: offset: 0x118, out: 0xc5
+lbu :: offset: 0x119, out: 0x3d
+lbu :: offset: 0x11a, out: 0x0
+lbu :: offset: 0x11b, out: 0x2e
+lbu :: offset: 0x11c, out: 0x72
+lbu :: offset: 0x11d, out: 0x20
+lbu :: offset: 0x11e, out: 0xc1
+lbu :: offset: 0x11f, out: 0x2a
+lbu :: offset: 0x120, out: 0xcf
+lbu :: offset: 0x121, out: 0x9d
+lbu :: offset: 0x122, out: 0x8e
+lbu :: offset: 0x123, out: 0x12
+lbu :: offset: 0x124, out: 0x78
+lbu :: offset: 0x125, out: 0x80
+lbu :: offset: 0x126, out: 0x4f
+lbu :: offset: 0x127, out: 0x16
+lbu :: offset: 0x128, out: 0xa1
+lbu :: offset: 0x129, out: 0xa6
+lbu :: offset: 0x12a, out: 0xc
+lbu :: offset: 0x12b, out: 0x1b
+lbu :: offset: 0x12c, out: 0x16
+lbu :: offset: 0x12d, out: 0xbb
+lbu :: offset: 0x12e, out: 0xcd
+lbu :: offset: 0x12f, out: 0x1f
+lbu :: offset: 0x130, out: 0x13
+lbu :: offset: 0x131, out: 0xeb
+lbu :: offset: 0x132, out: 0x8a
+lbu :: offset: 0x133, out: 0x1
+lbu :: offset: 0x134, out: 0xa4
+lbu :: offset: 0x135, out: 0xf6
+lbu :: offset: 0x136, out: 0x4b
+lbu :: offset: 0x137, out: 0x5
+lbu :: offset: 0x138, out: 0x7d
+lbu :: offset: 0x139, out: 0xd0
+lbu :: offset: 0x13a, out: 0x8
+lbu :: offset: 0x13b, out: 0x8
+lbu :: offset: 0x13c, out: 0xca
+lbu :: offset: 0x13d, out: 0xcd
+lbu :: offset: 0x13e, out: 0xc9
+lbu :: offset: 0x13f, out: 0xc
+lbu :: offset: 0x140, out: 0x7
+lbu :: offset: 0x141, out: 0xab
+lbu :: offset: 0x142, out: 0x97
+lbu :: offset: 0x143, out: 0x78
+lbu :: offset: 0x144, out: 0xb0
+lbu :: offset: 0x145, out: 0xb6
+lbu :: offset: 0x146, out: 0x56
+lbu :: offset: 0x147, out: 0x7c
+lbu :: offset: 0x148, out: 0x69
+lbu :: offset: 0x149, out: 0x90
+lbu :: offset: 0x14a, out: 0x15
+lbu :: offset: 0x14b, out: 0x71
+lbu :: offset: 0x14c, out: 0xde
+lbu :: offset: 0x14d, out: 0x8d
+lbu :: offset: 0x14e, out: 0xd4
+lbu :: offset: 0x14f, out: 0x75
+lbu :: offset: 0x150, out: 0xdb
+lbu :: offset: 0x151, out: 0xdd
+lbu :: offset: 0x152, out: 0x93
+lbu :: offset: 0x153, out: 0x6b
+lbu :: offset: 0x154, out: 0x6c
+lbu :: offset: 0x155, out: 0xc0
+lbu :: offset: 0x156, out: 0x52
+lbu :: offset: 0x157, out: 0x6f
+lbu :: offset: 0x158, out: 0xb5
+lbu :: offset: 0x159, out: 0xe6
+lbu :: offset: 0x15a, out: 0x11
+lbu :: offset: 0x15b, out: 0x62
+lbu :: offset: 0x15c, out: 0x2
+lbu :: offset: 0x15d, out: 0xfb
+lbu :: offset: 0x15e, out: 0xd0
+lbu :: offset: 0x15f, out: 0x66
+lbu :: offset: 0x160, out: 0xbf
+lbu :: offset: 0x161, out: 0x46
+lbu :: offset: 0x162, out: 0x9f
+lbu :: offset: 0x163, out: 0x5e
+lbu :: offset: 0x164, out: 0x8
+lbu :: offset: 0x165, out: 0x5b
+lbu :: offset: 0x166, out: 0x5e
+lbu :: offset: 0x167, out: 0x5a
+lbu :: offset: 0x168, out: 0xd1
+lbu :: offset: 0x169, out: 0x7d
+lbu :: offset: 0x16a, out: 0x1d
+lbu :: offset: 0x16b, out: 0x57
+lbu :: offset: 0x16c, out: 0x66
+lbu :: offset: 0x16d, out: 0x60
+lbu :: offset: 0x16e, out: 0xdc
+lbu :: offset: 0x16f, out: 0x53
+lbu :: offset: 0x170, out: 0x63
+lbu :: offset: 0x171, out: 0x30
+lbu :: offset: 0x172, out: 0x9b
+lbu :: offset: 0x173, out: 0x4d
+lbu :: offset: 0x174, out: 0xd4
+lbu :: offset: 0x175, out: 0x2d
+lbu :: offset: 0x176, out: 0x5a
+lbu :: offset: 0x177, out: 0x49
+lbu :: offset: 0x178, out: 0xd
+lbu :: offset: 0x179, out: 0xb
+lbu :: offset: 0x17a, out: 0x19
+lbu :: offset: 0x17b, out: 0x44
+lbu :: offset: 0x17c, out: 0xba
+lbu :: offset: 0x17d, out: 0x16
+lbu :: offset: 0x17e, out: 0xd8
+lbu :: offset: 0x17f, out: 0x40
+lbu :: offset: 0x180, out: 0x97
+lbu :: offset: 0x181, out: 0xc6
+lbu :: offset: 0x182, out: 0xa5
+lbu :: offset: 0x183, out: 0xac
+lbu :: offset: 0x184, out: 0x20
+lbu :: offset: 0x185, out: 0xdb
+lbu :: offset: 0x186, out: 0x64
+lbu :: offset: 0x187, out: 0xa8
+lbu :: offset: 0x188, out: 0xf9
+lbu :: offset: 0x189, out: 0xfd
+lbu :: offset: 0x18a, out: 0x27
+lbu :: offset: 0x18b, out: 0xa5
+lbu :: offset: 0x18c, out: 0x4e
+lbu :: offset: 0x18d, out: 0xe0
+lbu :: offset: 0x18e, out: 0xe6
+lbu :: offset: 0x18f, out: 0xa1
+lbu :: offset: 0x190, out: 0x4b
+lbu :: offset: 0x191, out: 0xb0
+lbu :: offset: 0x192, out: 0xa1
+lbu :: offset: 0x193, out: 0xbf
+lbu :: offset: 0x194, out: 0xfc
+lbu :: offset: 0x195, out: 0xad
+lbu :: offset: 0x196, out: 0x60
+lbu :: offset: 0x197, out: 0xbb
+lbu :: offset: 0x198, out: 0x25
+lbu :: offset: 0x199, out: 0x8b
+lbu :: offset: 0x19a, out: 0x23
+lbu :: offset: 0x19b, out: 0xb6
+lbu :: offset: 0x19c, out: 0x92
+lbu :: offset: 0x19d, out: 0x96
+lbu :: offset: 0x19e, out: 0xe2
+lbu :: offset: 0x19f, out: 0xb2
+lbu :: offset: 0x1a0, out: 0x2f
+lbu :: offset: 0x1a1, out: 0x2b
+lbu :: offset: 0x1a2, out: 0xad
+lbu :: offset: 0x1a3, out: 0x8a
+lbu :: offset: 0x1a4, out: 0x0
+lbu :: offset: 0x1a5, out: 0x0
+lbu :: offset: 0x1a6, out: 0x0
+lbu :: offset: 0x1a7, out: 0x0
+lbu :: offset: 0x1a8, out: 0x0
+lbu :: offset: 0x1a9, out: 0x0
+lbu :: offset: 0x1aa, out: 0x0
+lbu :: offset: 0x1ab, out: 0x0
+lbu :: offset: 0x1ac, out: 0xf6
+lbu :: offset: 0x1ad, out: 0xd
+lbu :: offset: 0x1ae, out: 0xee
+lbu :: offset: 0x1af, out: 0x87
+lbu :: offset: 0x1b0, out: 0xf3
+lbu :: offset: 0x1b1, out: 0x5d
+lbu :: offset: 0x1b2, out: 0xa9
+lbu :: offset: 0x1b3, out: 0x99
+lbu :: offset: 0x1b4, out: 0x44
+lbu :: offset: 0x1b5, out: 0x40
+lbu :: offset: 0x1b6, out: 0x68
+lbu :: offset: 0x1b7, out: 0x9d
+lbu :: offset: 0x1b8, out: 0x9d
+lbu :: offset: 0x1b9, out: 0x66
+lbu :: offset: 0x1ba, out: 0x2b
+lbu :: offset: 0x1bb, out: 0x90
+lbu :: offset: 0x1bc, out: 0x2a
+lbu :: offset: 0x1bd, out: 0x7b
+lbu :: offset: 0x1be, out: 0xea
+lbu :: offset: 0x1bf, out: 0x94
+lbu :: offset: 0x1c0, out: 0xe7
+lbu :: offset: 0x1c1, out: 0x1d
+lbu :: offset: 0x1c2, out: 0xb4
+lbu :: offset: 0x1c3, out: 0xe0
+lbu :: offset: 0x1c4, out: 0x50
+lbu :: offset: 0x1c5, out: 0x0
+lbu :: offset: 0x1c6, out: 0x75
+lbu :: offset: 0x1c7, out: 0xe4
+lbu :: offset: 0x1c8, out: 0x89
+lbu :: offset: 0x1c9, out: 0x26
+lbu :: offset: 0x1ca, out: 0x36
+lbu :: offset: 0x1cb, out: 0xe9
+lbu :: offset: 0x1cc, out: 0x3e
+lbu :: offset: 0x1cd, out: 0x3b
+lbu :: offset: 0x1ce, out: 0xf7
+lbu :: offset: 0x1cf, out: 0xed
+lbu :: offset: 0x1d0, out: 0x3b
+lbu :: offset: 0x1d1, out: 0x6b
+lbu :: offset: 0x1d2, out: 0xb0
+lbu :: offset: 0x1d3, out: 0xf3
+lbu :: offset: 0x1d4, out: 0x8c
+lbu :: offset: 0x1d5, out: 0x76
+lbu :: offset: 0x1d6, out: 0x71
+lbu :: offset: 0x1d7, out: 0xf7
+lbu :: offset: 0x1d8, out: 0x55
+lbu :: offset: 0x1d9, out: 0x50
+lbu :: offset: 0x1da, out: 0x32
+lbu :: offset: 0x1db, out: 0xfa
+lbu :: offset: 0x1dc, out: 0xe2
+lbu :: offset: 0x1dd, out: 0x4d
+lbu :: offset: 0x1de, out: 0xf3
+lbu :: offset: 0x1df, out: 0xfe
+lbu :: offset: 0x1e0, out: 0x5f
+lbu :: offset: 0x1e1, out: 0xf0
+lbu :: offset: 0x1e2, out: 0xbc
+lbu :: offset: 0x1e3, out: 0xc6
+lbu :: offset: 0x1e4, out: 0xe8
+lbu :: offset: 0x1e5, out: 0xed
+lbu :: offset: 0x1e6, out: 0x7d
+lbu :: offset: 0x1e7, out: 0xc2
+lbu :: offset: 0x1e8, out: 0x31
+lbu :: offset: 0x1e9, out: 0xcb
+lbu :: offset: 0x1ea, out: 0x3e
+lbu :: offset: 0x1eb, out: 0xcf
+lbu :: offset: 0x1ec, out: 0x86
+lbu :: offset: 0x1ed, out: 0xd6
+lbu :: offset: 0x1ee, out: 0xff
+lbu :: offset: 0x1ef, out: 0xcb
+lbu :: offset: 0x1f0, out: 0x83
+lbu :: offset: 0x1f1, out: 0x86
+lbu :: offset: 0x1f2, out: 0xb8
+lbu :: offset: 0x1f3, out: 0xd5
+lbu :: offset: 0x1f4, out: 0x34
+lbu :: offset: 0x1f5, out: 0x9b
+lbu :: offset: 0x1f6, out: 0x79
+lbu :: offset: 0x1f7, out: 0xd1
+lbu :: offset: 0x1f8, out: 0xed
+lbu :: offset: 0x1f9, out: 0xbd
+lbu :: offset: 0x1fa, out: 0x3a
+lbu :: offset: 0x1fb, out: 0xdc
+lbu :: offset: 0x1fc, out: 0x5a
+lbu :: offset: 0x1fd, out: 0xa0
+lbu :: offset: 0x1fe, out: 0xfb
+lbu :: offset: 0x1ff, out: 0xd8
+lbu :: offset: 0x200, out: 0xee
+lbu :: offset: 0x201, out: 0xe0
+lbu :: offset: 0x202, out: 0xc
+lbu :: offset: 0x203, out: 0x69
+lbu :: offset: 0x204, out: 0x59
+lbu :: offset: 0x205, out: 0xfd
+lbu :: offset: 0x206, out: 0xcd
+lbu :: offset: 0x207, out: 0x6d
+lbu :: offset: 0x208, out: 0x80
+lbu :: offset: 0x209, out: 0xdb
+lbu :: offset: 0x20a, out: 0x8e
+lbu :: offset: 0x20b, out: 0x60
+lbu :: offset: 0x20c, out: 0x37
+lbu :: offset: 0x20d, out: 0xc6
+lbu :: offset: 0x20e, out: 0x4f
+lbu :: offset: 0x20f, out: 0x64
+lbu :: offset: 0x210, out: 0x32
+lbu :: offset: 0x211, out: 0x96
+lbu :: offset: 0x212, out: 0x8
+lbu :: offset: 0x213, out: 0x7a
+lbu :: offset: 0x214, out: 0x85
+lbu :: offset: 0x215, out: 0x8b
+lbu :: offset: 0x216, out: 0xc9
+lbu :: offset: 0x217, out: 0x7e
+lbu :: offset: 0x218, out: 0x5c
+lbu :: offset: 0x219, out: 0xad
+lbu :: offset: 0x21a, out: 0x8a
+lbu :: offset: 0x21b, out: 0x73
+lbu :: offset: 0x21c, out: 0xeb
+lbu :: offset: 0x21d, out: 0xb0
+lbu :: offset: 0x21e, out: 0x4b
+lbu :: offset: 0x21f, out: 0x77
+lbu :: offset: 0x220, out: 0x56
+lbu :: offset: 0x221, out: 0xd
+lbu :: offset: 0x222, out: 0x4
+lbu :: offset: 0x223, out: 0x4f
+lbu :: offset: 0x224, out: 0xe1
+lbu :: offset: 0x225, out: 0x10
+lbu :: offset: 0x226, out: 0xc5
+lbu :: offset: 0x227, out: 0x4b
+lbu :: offset: 0x228, out: 0x38
+lbu :: offset: 0x229, out: 0x36
+lbu :: offset: 0x22a, out: 0x86
+lbu :: offset: 0x22b, out: 0x46
+lbu :: offset: 0x22c, out: 0x8f
+lbu :: offset: 0x22d, out: 0x2b
+lbu :: offset: 0x22e, out: 0x47
+lbu :: offset: 0x22f, out: 0x42
+lbu :: offset: 0x230, out: 0x8a
+lbu :: offset: 0x231, out: 0x7b
+lbu :: offset: 0x232, out: 0x0
+lbu :: offset: 0x233, out: 0x5c
+lbu :: offset: 0x234, out: 0x3d
+lbu :: offset: 0x235, out: 0x66
+lbu :: offset: 0x236, out: 0xc1
+lbu :: offset: 0x237, out: 0x58
+lbu :: offset: 0x238, out: 0xe4
+lbu :: offset: 0x239, out: 0x40
+lbu :: offset: 0x23a, out: 0x82
+lbu :: offset: 0x23b, out: 0x55
+lbu :: offset: 0x23c, out: 0x53
+lbu :: offset: 0x23d, out: 0x5d
+lbu :: offset: 0x23e, out: 0x43
+lbu :: offset: 0x23f, out: 0x51
+lbu :: offset: 0x240, out: 0x9e
+lbu :: offset: 0x241, out: 0x3b
+lbu :: offset: 0x242, out: 0x1d
+lbu :: offset: 0x243, out: 0x25
+lbu :: offset: 0x244, out: 0x29
+lbu :: offset: 0x245, out: 0x26
+lbu :: offset: 0x246, out: 0xdc
+lbu :: offset: 0x247, out: 0x21
+lbu :: offset: 0x248, out: 0xf0
+lbu :: offset: 0x249, out: 0x0
+lbu :: offset: 0x24a, out: 0x9f
+lbu :: offset: 0x24b, out: 0x2c
+lbu :: offset: 0x24c, out: 0x47
+lbu :: offset: 0x24d, out: 0x1d
+lbu :: offset: 0x24e, out: 0x5e
+lbu :: offset: 0x24f, out: 0x28
+lbu :: offset: 0x250, out: 0x42
+lbu :: offset: 0x251, out: 0x4d
+lbu :: offset: 0x252, out: 0x19
+lbu :: offset: 0x253, out: 0x36
+lbu :: offset: 0x254, out: 0xf5
+lbu :: offset: 0x255, out: 0x50
+lbu :: offset: 0x256, out: 0xd8
+lbu :: offset: 0x257, out: 0x32
+lbu :: offset: 0x258, out: 0x2c
+lbu :: offset: 0x259, out: 0x76
+lbu :: offset: 0x25a, out: 0x9b
+lbu :: offset: 0x25b, out: 0x3f
+lbu :: offset: 0x25c, out: 0x9b
+lbu :: offset: 0x25d, out: 0x6b
+lbu :: offset: 0x25e, out: 0x5a
+lbu :: offset: 0x25f, out: 0x3b
+lbu :: offset: 0x260, out: 0x26
+lbu :: offset: 0x261, out: 0xd6
+lbu :: offset: 0x262, out: 0x15
+lbu :: offset: 0x263, out: 0x3
+lbu :: offset: 0x264, out: 0x91
+lbu :: offset: 0x265, out: 0xcb
+lbu :: offset: 0x266, out: 0xd4
+lbu :: offset: 0x267, out: 0x7
+lbu :: offset: 0x268, out: 0x48
+lbu :: offset: 0x269, out: 0xed
+lbu :: offset: 0x26a, out: 0x97
+lbu :: offset: 0x26b, out: 0xa
+lbu :: offset: 0x26c, out: 0xff
+lbu :: offset: 0x26d, out: 0xf0
+lbu :: offset: 0x26e, out: 0x56
+lbu :: offset: 0x26f, out: 0xe
+lbu :: offset: 0x270, out: 0xfa
+lbu :: offset: 0x271, out: 0xa0
+lbu :: offset: 0x272, out: 0x11
+lbu :: offset: 0x273, out: 0x10
+lbu :: offset: 0x274, out: 0x4d
+lbu :: offset: 0x275, out: 0xbd
+lbu :: offset: 0x276, out: 0xd0
+lbu :: offset: 0x277, out: 0x14
+lbu :: offset: 0x278, out: 0x94
+lbu :: offset: 0x279, out: 0x9b
+lbu :: offset: 0x27a, out: 0x93
+lbu :: offset: 0x27b, out: 0x19
+lbu :: offset: 0x27c, out: 0x23
+lbu :: offset: 0x27d, out: 0x86
+lbu :: offset: 0x27e, out: 0x52
+lbu :: offset: 0x27f, out: 0x1d
+lbu :: offset: 0x280, out: 0xe
+lbu :: offset: 0x281, out: 0x56
+lbu :: offset: 0x282, out: 0x2f
+lbu :: offset: 0x283, out: 0xf1
+lbu :: offset: 0x284, out: 0xb9
+lbu :: offset: 0x285, out: 0x4b
+lbu :: offset: 0x286, out: 0xee
+lbu :: offset: 0x287, out: 0xf5
+lbu :: offset: 0x288, out: 0x60
+lbu :: offset: 0x289, out: 0x6d
+lbu :: offset: 0x28a, out: 0xad
+lbu :: offset: 0x28b, out: 0xf8
+lbu :: offset: 0x28c, out: 0xd7
+lbu :: offset: 0x28d, out: 0x70
+lbu :: offset: 0x28e, out: 0x6c
+lbu :: offset: 0x28f, out: 0xfc
+lbu :: offset: 0x290, out: 0xd2
+lbu :: offset: 0x291, out: 0x20
+lbu :: offset: 0x292, out: 0x2b
+lbu :: offset: 0x293, out: 0xe2
+lbu :: offset: 0x294, out: 0x65
+lbu :: offset: 0x295, out: 0x3d
+lbu :: offset: 0x296, out: 0xea
+lbu :: offset: 0x297, out: 0xe6
+lbu :: offset: 0x298, out: 0xbc
+lbu :: offset: 0x299, out: 0x1b
+lbu :: offset: 0x29a, out: 0xa9
+lbu :: offset: 0x29b, out: 0xeb
+lbu :: offset: 0x29c, out: 0xb
+lbu :: offset: 0x29d, out: 0x6
+lbu :: offset: 0x29e, out: 0x68
+lbu :: offset: 0x29f, out: 0xef
+lbu :: offset: 0x2a0, out: 0xb6
+lbu :: offset: 0x2a1, out: 0xbb
+lbu :: offset: 0x2a2, out: 0x27
+lbu :: offset: 0x2a3, out: 0xd7
+lbu :: offset: 0x2a4, out: 0x1
+lbu :: offset: 0x2a5, out: 0xa6
+lbu :: offset: 0x2a6, out: 0xe6
+lbu :: offset: 0x2a7, out: 0xd3
+lbu :: offset: 0x2a8, out: 0xd8
+lbu :: offset: 0x2a9, out: 0x80
+lbu :: offset: 0x2aa, out: 0xa5
+lbu :: offset: 0x2ab, out: 0xde
+lbu :: offset: 0x2ac, out: 0x6f
+lbu :: offset: 0x2ad, out: 0x9d
+lbu :: offset: 0x2ae, out: 0x64
+lbu :: offset: 0x2af, out: 0xda
+lbu :: offset: 0x2b0, out: 0x6a
+lbu :: offset: 0x2b1, out: 0xcd
+lbu :: offset: 0x2b2, out: 0x23
+lbu :: offset: 0x2b3, out: 0xc4
+lbu :: offset: 0x2b4, out: 0x0
+lbu :: offset: 0x2b5, out: 0x0
+lbu :: offset: 0x2b6, out: 0x0
+lbu :: offset: 0x2b7, out: 0x0
+lbu :: offset: 0x2b8, out: 0x4
+lbu :: offset: 0x2b9, out: 0xf6
+lbu :: offset: 0x2ba, out: 0xa1
+lbu :: offset: 0x2bb, out: 0xcd
+lbu :: offset: 0x2bc, out: 0x0
+lbu :: offset: 0x2bd, out: 0x0
+lbu :: offset: 0x2be, out: 0x0
+lbu :: offset: 0x2bf, out: 0x0
+lbu :: offset: 0x2c0, out: 0x7e
+lbu :: offset: 0x2c1, out: 0x8d
+lbu :: offset: 0x2c2, out: 0x3e
+lbu :: offset: 0x2c3, out: 0xbd
+lbu :: offset: 0x2c4, out: 0xc9
+lbu :: offset: 0x2c5, out: 0x90
+lbu :: offset: 0x2c6, out: 0xff
+lbu :: offset: 0x2c7, out: 0xb9
+lbu :: offset: 0x2c8, out: 0x10
+lbu :: offset: 0x2c9, out: 0xb6
+lbu :: offset: 0x2ca, out: 0xbc
+lbu :: offset: 0x2cb, out: 0xb4
+lbu :: offset: 0x2cc, out: 0xa7
+lbu :: offset: 0x2cd, out: 0xab
+lbu :: offset: 0x2ce, out: 0x7d
+lbu :: offset: 0x2cf, out: 0xb0
+lbu :: offset: 0x2d0, out: 0xa2
+lbu :: offset: 0x2d1, out: 0xfb
+lbu :: offset: 0x2d2, out: 0x3a
+lbu :: offset: 0x2d3, out: 0xae
+lbu :: offset: 0x2d4, out: 0x15
+lbu :: offset: 0x2d5, out: 0xe6
+lbu :: offset: 0x2d6, out: 0xfb
+lbu :: offset: 0x2d7, out: 0xaa
+lbu :: offset: 0x2d8, out: 0xcc
+lbu :: offset: 0x2d9, out: 0xc0
+lbu :: offset: 0x2da, out: 0xb8
+lbu :: offset: 0x2db, out: 0xa7
+lbu :: offset: 0x2dc, out: 0x7b
+lbu :: offset: 0x2dd, out: 0xdd
+lbu :: offset: 0x2de, out: 0x79
+lbu :: offset: 0x2df, out: 0xa3
+lbu :: offset: 0x2e0, out: 0xc6
+lbu :: offset: 0x2e1, out: 0x60
+lbu :: offset: 0x2e2, out: 0x36
+lbu :: offset: 0x2e3, out: 0x9b
+lbu :: offset: 0x2e4, out: 0x71
+lbu :: offset: 0x2e5, out: 0x7d
+lbu :: offset: 0x2e6, out: 0xf7
+lbu :: offset: 0x2e7, out: 0x9f
+lbu :: offset: 0x2e8, out: 0xa8
+lbu :: offset: 0x2e9, out: 0x5b
+lbu :: offset: 0x2ea, out: 0xb4
+lbu :: offset: 0x2eb, out: 0x92
+lbu :: offset: 0x2ec, out: 0x1f
+lbu :: offset: 0x2ed, out: 0x46
+lbu :: offset: 0x2ee, out: 0x75
+lbu :: offset: 0x2ef, out: 0x96
+lbu :: offset: 0x2f0, out: 0x1a
+lbu :: offset: 0x2f1, out: 0x16
+lbu :: offset: 0x2f2, out: 0x32
+lbu :: offset: 0x2f3, out: 0x88
+lbu :: offset: 0x2f4, out: 0xad
+lbu :: offset: 0x2f5, out: 0xb
+lbu :: offset: 0x2f6, out: 0xf3
+lbu :: offset: 0x2f7, out: 0x8c
+lbu :: offset: 0x2f8, out: 0x74
+lbu :: offset: 0x2f9, out: 0x2d
+lbu :: offset: 0x2fa, out: 0xb0
+lbu :: offset: 0x2fb, out: 0x81
+lbu :: offset: 0x2fc, out: 0xc3
+lbu :: offset: 0x2fd, out: 0x30
+lbu :: offset: 0x2fe, out: 0x71
+lbu :: offset: 0x2ff, out: 0x85
+lbu :: offset: 0x300, out: 0x99
+lbu :: offset: 0x301, out: 0x90
+lbu :: offset: 0x302, out: 0x8a
+lbu :: offset: 0x303, out: 0x5d
+lbu :: offset: 0x304, out: 0x2e
+lbu :: offset: 0x305, out: 0x8d
+lbu :: offset: 0x306, out: 0x4b
+lbu :: offset: 0x307, out: 0x59
+lbu :: offset: 0x308, out: 0xf7
+lbu :: offset: 0x309, out: 0xab
+lbu :: offset: 0x30a, out: 0x8
+lbu :: offset: 0x30b, out: 0x54
+lbu :: offset: 0x30c, out: 0x40
+lbu :: offset: 0x30d, out: 0xb6
+lbu :: offset: 0x30e, out: 0xc9
+lbu :: offset: 0x30f, out: 0x50
+lbu :: offset: 0x310, out: 0x45
+lbu :: offset: 0x311, out: 0xe6
+lbu :: offset: 0x312, out: 0x8e
+lbu :: offset: 0x313, out: 0x4e
+lbu :: offset: 0x314, out: 0xf2
+lbu :: offset: 0x315, out: 0xfb
+lbu :: offset: 0x316, out: 0x4f
+lbu :: offset: 0x317, out: 0x4a
+lbu :: offset: 0x318, out: 0x2b
+lbu :: offset: 0x319, out: 0xdd
+lbu :: offset: 0x31a, out: 0xc
+lbu :: offset: 0x31b, out: 0x47
+lbu :: offset: 0x31c, out: 0x9c
+lbu :: offset: 0x31d, out: 0xc0
+lbu :: offset: 0x31e, out: 0xcd
+lbu :: offset: 0x31f, out: 0x43
+lbu :: offset: 0x320, out: 0x21
+lbu :: offset: 0x321, out: 0x7d
+lbu :: offset: 0x322, out: 0x82
+lbu :: offset: 0x323, out: 0x7b
+lbu :: offset: 0x324, out: 0x96
+lbu :: offset: 0x325, out: 0x60
+lbu :: offset: 0x326, out: 0x43
+lbu :: offset: 0x327, out: 0x7f
+lbu :: offset: 0x328, out: 0x4f
+lbu :: offset: 0x329, out: 0x46
+lbu :: offset: 0x32a, out: 0x0
+lbu :: offset: 0x32b, out: 0x72
+lbu :: offset: 0x32c, out: 0xf8
+lbu :: offset: 0x32d, out: 0x5b
+lbu :: offset: 0x32e, out: 0xc1
+lbu :: offset: 0x32f, out: 0x76
+lbu :: offset: 0x330, out: 0xfd
+lbu :: offset: 0x331, out: 0xb
+lbu :: offset: 0x332, out: 0x86
+lbu :: offset: 0x333, out: 0x68
+lbu :: offset: 0x334, out: 0x4a
+lbu :: offset: 0x335, out: 0x16
+lbu :: offset: 0x336, out: 0x47
+lbu :: offset: 0x337, out: 0x6c
+lbu :: offset: 0x338, out: 0x93
+lbu :: offset: 0x339, out: 0x30
+lbu :: offset: 0x33a, out: 0x4
+lbu :: offset: 0x33b, out: 0x61
+lbu :: offset: 0x33c, out: 0x24
+lbu :: offset: 0x33d, out: 0x2d
+lbu :: offset: 0x33e, out: 0xc5
+lbu :: offset: 0x33f, out: 0x65
+lbu :: offset: 0x340, out: 0xe9
+lbu :: offset: 0x341, out: 0x4b
+lbu :: offset: 0x342, out: 0x9b
+lbu :: offset: 0x343, out: 0x11
+lbu :: offset: 0x344, out: 0x5e
+lbu :: offset: 0x345, out: 0x56
+lbu :: offset: 0x346, out: 0x5a
+lbu :: offset: 0x347, out: 0x15
+lbu :: offset: 0x348, out: 0x87
+lbu :: offset: 0x349, out: 0x70
+lbu :: offset: 0x34a, out: 0x19
+lbu :: offset: 0x34b, out: 0x18
+lbu :: offset: 0x34c, out: 0x30
+lbu :: offset: 0x34d, out: 0x6d
+lbu :: offset: 0x34e, out: 0xd8
+lbu :: offset: 0x34f, out: 0x1c
+lbu :: offset: 0x350, out: 0x35
+lbu :: offset: 0x351, out: 0x3d
+lbu :: offset: 0x352, out: 0x9f
+lbu :: offset: 0x353, out: 0x2
+lbu :: offset: 0x354, out: 0x82
+lbu :: offset: 0x355, out: 0x20
+lbu :: offset: 0x356, out: 0x5e
+lbu :: offset: 0x357, out: 0x6
+lbu :: offset: 0x358, out: 0x5b
+lbu :: offset: 0x359, out: 0x6
+lbu :: offset: 0x35a, out: 0x1d
+lbu :: offset: 0x35b, out: 0xb
+lbu :: offset: 0x35c, out: 0xec
+lbu :: offset: 0x35d, out: 0x1b
+lbu :: offset: 0x35e, out: 0xdc
+lbu :: offset: 0x35f, out: 0xf
+lbu :: offset: 0x360, out: 0x51
+lbu :: offset: 0x361, out: 0xa6
+lbu :: offset: 0x362, out: 0x93
+lbu :: offset: 0x363, out: 0x37
+lbu :: offset: 0x364, out: 0xe6
+lbu :: offset: 0x365, out: 0xbb
+lbu :: offset: 0x366, out: 0x52
+lbu :: offset: 0x367, out: 0x33
+lbu :: offset: 0x368, out: 0x3f
+lbu :: offset: 0x369, out: 0x9d
+lbu :: offset: 0x36a, out: 0x11
+lbu :: offset: 0x36b, out: 0x3e
+lbu :: offset: 0x36c, out: 0x88
+lbu :: offset: 0x36d, out: 0x80
+lbu :: offset: 0x36e, out: 0xd0
+lbu :: offset: 0x36f, out: 0x3a
+lbu :: offset: 0x370, out: 0x8d
+lbu :: offset: 0x371, out: 0xd0
+lbu :: offset: 0x372, out: 0x97
+lbu :: offset: 0x373, out: 0x24
+lbu :: offset: 0x374, out: 0x3a
+lbu :: offset: 0x375, out: 0xcd
+lbu :: offset: 0x376, out: 0x56
+lbu :: offset: 0x377, out: 0x20
+lbu :: offset: 0x378, out: 0xe3
+lbu :: offset: 0x379, out: 0xeb
+lbu :: offset: 0x37a, out: 0x15
+lbu :: offset: 0x37b, out: 0x2d
+lbu :: offset: 0x37c, out: 0x54
+lbu :: offset: 0x37d, out: 0xf6
+lbu :: offset: 0x37e, out: 0xd4
+lbu :: offset: 0x37f, out: 0x29
+lbu :: offset: 0x380, out: 0x79
+lbu :: offset: 0x381, out: 0x26
+lbu :: offset: 0x382, out: 0xa9
+lbu :: offset: 0x383, out: 0xc5
+lbu :: offset: 0x384, out: 0xce
+lbu :: offset: 0x385, out: 0x3b
+lbu :: offset: 0x386, out: 0x68
+lbu :: offset: 0x387, out: 0xc1
+lbu :: offset: 0x388, out: 0x17
+lbu :: offset: 0x389, out: 0x1d
+lbu :: offset: 0x38a, out: 0x2b
+lbu :: offset: 0x38b, out: 0xcc
+lbu :: offset: 0x38c, out: 0xa0
+lbu :: offset: 0x38d, out: 0x0
+lbu :: offset: 0x38e, out: 0xea
+lbu :: offset: 0x38f, out: 0xc8
+lbu :: offset: 0x390, out: 0xa5
+lbu :: offset: 0x391, out: 0x50
+lbu :: offset: 0x392, out: 0xad
+lbu :: offset: 0x393, out: 0xd6
+lbu :: offset: 0x394, out: 0x12
+lbu :: offset: 0x395, out: 0x4d
+lbu :: offset: 0x396, out: 0x6c
+lbu :: offset: 0x397, out: 0xd2
+lbu :: offset: 0x398, out: 0xcb
+lbu :: offset: 0x399, out: 0x6b
+lbu :: offset: 0x39a, out: 0x2f
+lbu :: offset: 0x39b, out: 0xdf
+lbu :: offset: 0x39c, out: 0x7c
+lbu :: offset: 0x39d, out: 0x76
+lbu :: offset: 0x39e, out: 0xee
+lbu :: offset: 0x39f, out: 0xdb
+lbu :: offset: 0x3a0, out: 0xc1
+lbu :: offset: 0x3a1, out: 0xcb
+lbu :: offset: 0x3a2, out: 0xa1
+lbu :: offset: 0x3a3, out: 0xe3
+lbu :: offset: 0x3a4, out: 0x76
+lbu :: offset: 0x3a5, out: 0xd6
+lbu :: offset: 0x3a6, out: 0x60
+lbu :: offset: 0x3a7, out: 0xe7
+lbu :: offset: 0x3a8, out: 0xaf
+lbu :: offset: 0x3a9, out: 0xf0
+lbu :: offset: 0x3aa, out: 0x23
+lbu :: offset: 0x3ab, out: 0xea
+lbu :: offset: 0x3ac, out: 0x18
+lbu :: offset: 0x3ad, out: 0xed
+lbu :: offset: 0x3ae, out: 0xe2
+lbu :: offset: 0x3af, out: 0xee
+lbu :: offset: 0x3b0, out: 0x1d
+lbu :: offset: 0x3b1, out: 0xbd
+lbu :: offset: 0x3b2, out: 0xa5
+lbu :: offset: 0x3b3, out: 0xf0
+lbu :: offset: 0x3b4, out: 0xaa
+lbu :: offset: 0x3b5, out: 0xa0
+lbu :: offset: 0x3b6, out: 0x64
+lbu :: offset: 0x3b7, out: 0xf4
+lbu :: offset: 0x3b8, out: 0x73
+lbu :: offset: 0x3b9, out: 0x86
+lbu :: offset: 0x3ba, out: 0x27
+lbu :: offset: 0x3bb, out: 0xf9
+lbu :: offset: 0x3bc, out: 0xc4
+lbu :: offset: 0x3bd, out: 0x9b
+lbu :: offset: 0x3be, out: 0xe6
+lbu :: offset: 0x3bf, out: 0xfd
+lbu :: offset: 0x3c0, out: 0x9
+lbu :: offset: 0x3c1, out: 0xfd
+lbu :: offset: 0x3c2, out: 0xb8
+lbu :: offset: 0x3c3, out: 0x89
+lbu :: offset: 0x3c4, out: 0xbe
+lbu :: offset: 0x3c5, out: 0xe0
+lbu :: offset: 0x3c6, out: 0x79
+lbu :: offset: 0x3c7, out: 0x8d
+lbu :: offset: 0x3c8, out: 0x67
+lbu :: offset: 0x3c9, out: 0xc6
+lbu :: offset: 0x3ca, out: 0x3a
+lbu :: offset: 0x3cb, out: 0x80
+lbu :: offset: 0x3cc, out: 0xd0
+lbu :: offset: 0x3cd, out: 0xdb
+lbu :: offset: 0x3ce, out: 0xfb
+lbu :: offset: 0x3cf, out: 0x84
+lbu :: offset: 0x3d0, out: 0xd5
+lbu :: offset: 0x3d1, out: 0x8b
+lbu :: offset: 0x3d2, out: 0xbc
+lbu :: offset: 0x3d3, out: 0x9a
+lbu :: offset: 0x3d4, out: 0x62
+lbu :: offset: 0x3d5, out: 0x96
+lbu :: offset: 0x3d6, out: 0x7d
+lbu :: offset: 0x3d7, out: 0x9e
+lbu :: offset: 0x3d8, out: 0xbb
+lbu :: offset: 0x3d9, out: 0xb0
+lbu :: offset: 0x3da, out: 0x3e
+lbu :: offset: 0x3db, out: 0x93
+lbu :: offset: 0x3dc, out: 0xc
+lbu :: offset: 0x3dd, out: 0xad
+lbu :: offset: 0x3de, out: 0xff
+lbu :: offset: 0x3df, out: 0x97
+lbu :: offset: 0x3e0, out: 0xb1
+lbu :: offset: 0x3e1, out: 0x10
+lbu :: offset: 0x3e2, out: 0xb0
+lbu :: offset: 0x3e3, out: 0xaf
+lbu :: offset: 0x3e4, out: 0x6
+lbu :: offset: 0x3e5, out: 0xd
+lbu :: offset: 0x3e6, out: 0x71
+lbu :: offset: 0x3e7, out: 0xab
+lbu :: offset: 0x3e8, out: 0xdf
+lbu :: offset: 0x3e9, out: 0x2b
+lbu :: offset: 0x3ea, out: 0x32
+lbu :: offset: 0x3eb, out: 0xa6
+lbu :: offset: 0x3ec, out: 0x68
+lbu :: offset: 0x3ed, out: 0x36
+lbu :: offset: 0x3ee, out: 0xf3
+lbu :: offset: 0x3ef, out: 0xa2
+lbu :: offset: 0x3f0, out: 0x6d
+lbu :: offset: 0x3f1, out: 0x66
+lbu :: offset: 0x3f2, out: 0xb4
+lbu :: offset: 0x3f3, out: 0xbc
+lbu :: offset: 0x3f4, out: 0xda
+lbu :: offset: 0x3f5, out: 0x7b
+lbu :: offset: 0x3f6, out: 0x75
+lbu :: offset: 0x3f7, out: 0xb8
+lbu :: offset: 0x3f8, out: 0x3
+lbu :: offset: 0x3f9, out: 0x5d
+lbu :: offset: 0x3fa, out: 0x36
+lbu :: offset: 0x3fb, out: 0xb5
+lbu :: offset: 0x3fc, out: 0xb4
+lbu :: offset: 0x3fd, out: 0x40
+lbu :: offset: 0x3fe, out: 0xf7
+lbu :: offset: 0x3ff, out: 0xb1
+lbu :: offset: 0x0, out: 0xaa
+lbu :: offset: 0x1, out: 0xd6
+lbu :: offset: 0x2, out: 0x2b
+lbu :: offset: 0x3, out: 0x1
+lbu :: offset: 0x4, out: 0x0
+lbu :: offset: 0x5, out: 0x0
+lbu :: offset: 0x6, out: 0x0
+lbu :: offset: 0x7, out: 0x0
+lbu :: offset: 0x8, out: 0x13
+lbu :: offset: 0x9, out: 0xab
+lbu :: offset: 0xa, out: 0xd2
+lbu :: offset: 0xb, out: 0x82
+lbu :: offset: 0xc, out: 0x63
+lbu :: offset: 0xd, out: 0x87
+lbu :: offset: 0xe, out: 0x7e
+lbu :: offset: 0xf, out: 0x0
+lbu :: offset: 0x10, out: 0xf3
+lbu :: offset: 0x11, out: 0x10
+lbu :: offset: 0x12, out: 0x15
+lbu :: offset: 0x13, out: 0xc3
+lbu :: offset: 0x14, out: 0x9a
+lbu :: offset: 0x15, out: 0x6e
+lbu :: offset: 0x16, out: 0x6d
+lbu :: offset: 0x17, out: 0x97
+lbu :: offset: 0x18, out: 0xfb
+lbu :: offset: 0x19, out: 0xa5
+lbu :: offset: 0x1a, out: 0xd6
+lbu :: offset: 0x1b, out: 0x5a
+lbu :: offset: 0x1c, out: 0x77
+lbu :: offset: 0x1d, out: 0x6d
+lbu :: offset: 0x1e, out: 0x74
+lbu :: offset: 0x1f, out: 0xb7
+lbu :: offset: 0x20, out: 0x2
+lbu :: offset: 0x21, out: 0xb5
+lbu :: offset: 0x22, out: 0x77
+lbu :: offset: 0x23, out: 0x86
+lbu :: offset: 0x24, out: 0xa2
+lbu :: offset: 0x25, out: 0xc0
+lbu :: offset: 0x26, out: 0xb0
+lbu :: offset: 0x27, out: 0x42
+lbu :: offset: 0x28, out: 0xad
+lbu :: offset: 0x29, out: 0x30
+lbu :: offset: 0x2a, out: 0x3c
+lbu :: offset: 0x2b, out: 0x9e
+lbu :: offset: 0x2c, out: 0x31
+lbu :: offset: 0x2d, out: 0x9d
+lbu :: offset: 0x2e, out: 0xa8
+lbu :: offset: 0x2f, out: 0x2a
+lbu :: offset: 0x30, out: 0x3d
+lbu :: offset: 0x31, out: 0x41
+lbu :: offset: 0x32, out: 0xfb
+lbu :: offset: 0x33, out: 0x77
+lbu :: offset: 0x34, out: 0xc3
+lbu :: offset: 0x35, out: 0x8e
+lbu :: offset: 0x36, out: 0x30
+lbu :: offset: 0x37, out: 0x1f
+lbu :: offset: 0x38, out: 0xf7
+lbu :: offset: 0x39, out: 0xe4
+lbu :: offset: 0x3a, out: 0x60
+lbu :: offset: 0x3b, out: 0xc7
+lbu :: offset: 0x3c, out: 0x13
+lbu :: offset: 0x3d, out: 0x42
+lbu :: offset: 0x3e, out: 0xa0
+lbu :: offset: 0x3f, out: 0x7a
+lbu :: offset: 0x40, out: 0xa0
+lbu :: offset: 0x41, out: 0xdc
+lbu :: offset: 0x42, out: 0xd8
+lbu :: offset: 0x43, out: 0x1a
+lbu :: offset: 0x44, out: 0xc5
+lbu :: offset: 0x45, out: 0x5c
+lbu :: offset: 0x46, out: 0x70
+lbu :: offset: 0x47, out: 0x9e
+lbu :: offset: 0x48, out: 0xd
+lbu :: offset: 0x49, out: 0xa6
+lbu :: offset: 0x4a, out: 0x15
+lbu :: offset: 0x4b, out: 0x96
+lbu :: offset: 0x4c, out: 0x86
+lbu :: offset: 0x4d, out: 0xda
+lbu :: offset: 0x4e, out: 0x3d
+lbu :: offset: 0x4f, out: 0x4b
+lbu :: offset: 0x50, out: 0x1d
+lbu :: offset: 0x51, out: 0xd4
+lbu :: offset: 0x52, out: 0x53
+lbu :: offset: 0x53, out: 0x63
+lbu :: offset: 0x54, out: 0xdd
+lbu :: offset: 0x55, out: 0xa4
+lbu :: offset: 0x56, out: 0xe7
+lbu :: offset: 0x57, out: 0x5
+lbu :: offset: 0x58, out: 0x13
+lbu :: offset: 0x59, out: 0xd4
+lbu :: offset: 0x5a, out: 0xb
+lbu :: offset: 0x5b, out: 0xc4
+lbu :: offset: 0x5c, out: 0x9d
+lbu :: offset: 0x5d, out: 0x5a
+lbu :: offset: 0x5e, out: 0xf3
+lbu :: offset: 0x5f, out: 0x3a
+lbu :: offset: 0x60, out: 0x80
+lbu :: offset: 0x61, out: 0xa1
+lbu :: offset: 0x62, out: 0x8
+lbu :: offset: 0x63, out: 0x9a
+lbu :: offset: 0x64, out: 0x56
+lbu :: offset: 0x65, out: 0x5
+lbu :: offset: 0x66, out: 0xf5
+lbu :: offset: 0x67, out: 0x47
+lbu :: offset: 0x68, out: 0xf
+lbu :: offset: 0x69, out: 0x4
+lbu :: offset: 0x6a, out: 0xd2
+lbu :: offset: 0x6b, out: 0xd6
+lbu :: offset: 0x6c, out: 0x7f
+lbu :: offset: 0x6d, out: 0xb7
+lbu :: offset: 0x6e, out: 0x64
+lbu :: offset: 0x6f, out: 0x95
+lbu :: offset: 0x70, out: 0xbe
+lbu :: offset: 0x71, out: 0x6b
+lbu :: offset: 0x72, out: 0xc7
+lbu :: offset: 0x73, out: 0xb2
+lbu :: offset: 0x74, out: 0x79
+lbu :: offset: 0x75, out: 0x82
+lbu :: offset: 0x76, out: 0xbc
+lbu :: offset: 0x77, out: 0xce
+lbu :: offset: 0x78, out: 0xc7
+lbu :: offset: 0x79, out: 0xe4
+lbu :: offset: 0x7a, out: 0x18
+lbu :: offset: 0x7b, out: 0x1f
+lbu :: offset: 0x7c, out: 0x2f
+lbu :: offset: 0x7d, out: 0x4c
+lbu :: offset: 0x7e, out: 0x3
+lbu :: offset: 0x7f, out: 0xb5
+lbu :: offset: 0x80, out: 0x97
+lbu :: offset: 0x81, out: 0xa7
+lbu :: offset: 0x82, out: 0xaf
+lbu :: offset: 0x83, out: 0x81
+lbu :: offset: 0x84, out: 0xfc
+lbu :: offset: 0x85, out: 0x52
+lbu :: offset: 0x86, out: 0xff
+lbu :: offset: 0x87, out: 0x94
+lbu :: offset: 0x88, out: 0xea
+lbu :: offset: 0x89, out: 0x50
+lbu :: offset: 0x8a, out: 0xfc
+lbu :: offset: 0x8b, out: 0x6d
+lbu :: offset: 0x8c, out: 0x16
+lbu :: offset: 0x8d, out: 0xd9
+lbu :: offset: 0x8e, out: 0xd8
+lbu :: offset: 0x8f, out: 0x31
+lbu :: offset: 0x90, out: 0xb1
+lbu :: offset: 0x91, out: 0x95
+lbu :: offset: 0x92, out: 0xe8
+lbu :: offset: 0x93, out: 0x78
+lbu :: offset: 0x94, out: 0xd6
+lbu :: offset: 0x95, out: 0x9b
+lbu :: offset: 0x96, out: 0x54
+lbu :: offset: 0x97, out: 0x36
+lbu :: offset: 0x98, out: 0x9b
+lbu :: offset: 0x99, out: 0x25
+lbu :: offset: 0x9a, out: 0x63
+lbu :: offset: 0x9b, out: 0x9b
+lbu :: offset: 0x9c, out: 0x31
+lbu :: offset: 0x9d, out: 0xa6
+lbu :: offset: 0x9e, out: 0xe0
+lbu :: offset: 0x9f, out: 0x85
+lbu :: offset: 0xa0, out: 0xc5
+lbu :: offset: 0xa1, out: 0x7a
+lbu :: offset: 0xa2, out: 0xf1
+lbu :: offset: 0xa3, out: 0xcc
+lbu :: offset: 0xa4, out: 0xca
+lbu :: offset: 0xa5, out: 0x3e
+lbu :: offset: 0xa6, out: 0x6b
+lbu :: offset: 0xa7, out: 0x55
+lbu :: offset: 0xa8, out: 0xfb
+lbu :: offset: 0xa9, out: 0xa0
+lbu :: offset: 0xaa, out: 0xee
+lbu :: offset: 0xab, out: 0x81
+lbu :: offset: 0xac, out: 0xc5
+lbu :: offset: 0xad, out: 0x5f
+lbu :: offset: 0xae, out: 0x2f
+lbu :: offset: 0xaf, out: 0xb4
+lbu :: offset: 0xb0, out: 0x97
+lbu :: offset: 0xb1, out: 0x2d
+lbu :: offset: 0xb2, out: 0x68
+lbu :: offset: 0xb3, out: 0x14
+lbu :: offset: 0xb4, out: 0xec
+lbu :: offset: 0xb5, out: 0xf
+lbu :: offset: 0xb6, out: 0xb5
+lbu :: offset: 0xb7, out: 0x25
+lbu :: offset: 0xb8, out: 0x7a
+lbu :: offset: 0xb9, out: 0x8
+lbu :: offset: 0xba, out: 0xfb
+lbu :: offset: 0xbb, out: 0x2c
+lbu :: offset: 0xbc, out: 0x13
+lbu :: offset: 0xbd, out: 0xc5
+lbu :: offset: 0xbe, out: 0x93
+lbu :: offset: 0xbf, out: 0xfc
+lbu :: offset: 0xc0, out: 0x66
+lbu :: offset: 0xc1, out: 0x7
+lbu :: offset: 0xc2, out: 0xa2
+lbu :: offset: 0xc3, out: 0xcd
+lbu :: offset: 0xc4, out: 0xa9
+lbu :: offset: 0xc5, out: 0xd9
+lbu :: offset: 0xc6, out: 0x2c
+lbu :: offset: 0xc7, out: 0x3c
+lbu :: offset: 0xc8, out: 0x3e
+lbu :: offset: 0xc9, out: 0xda
+lbu :: offset: 0xca, out: 0x72
+lbu :: offset: 0xcb, out: 0x7d
+lbu :: offset: 0xcc, out: 0x2a
+lbu :: offset: 0xcd, out: 0x72
+lbu :: offset: 0xce, out: 0x91
+lbu :: offset: 0xcf, out: 0x17
+lbu :: offset: 0xd0, out: 0xad
+lbu :: offset: 0xd1, out: 0x24
+lbu :: offset: 0xd2, out: 0xce
+lbu :: offset: 0xd3, out: 0x93
+lbu :: offset: 0xd4, out: 0xd1
+lbu :: offset: 0xd5, out: 0xc9
+lbu :: offset: 0xd6, out: 0x7c
+lbu :: offset: 0xd7, out: 0x8
+lbu :: offset: 0xd8, out: 0xd2
+lbu :: offset: 0xd9, out: 0x4e
+lbu :: offset: 0xda, out: 0x98
+lbu :: offset: 0xdb, out: 0x38
+lbu :: offset: 0xdc, out: 0x70
+lbu :: offset: 0xdd, out: 0x75
+lbu :: offset: 0xde, out: 0x2a
+lbu :: offset: 0xdf, out: 0x1d
+lbu :: offset: 0xe0, out: 0x36
+lbu :: offset: 0xe1, out: 0xd0
+lbu :: offset: 0xe2, out: 0xc
+lbu :: offset: 0xe3, out: 0x71
+lbu :: offset: 0xe4, out: 0xdb
+lbu :: offset: 0xe5, out: 0x70
+lbu :: offset: 0xe6, out: 0xd0
+lbu :: offset: 0xe7, out: 0xd0
+lbu :: offset: 0xe8, out: 0x4
+lbu :: offset: 0xe9, out: 0x56
+lbu :: offset: 0xea, out: 0x41
+lbu :: offset: 0xeb, out: 0x3
+lbu :: offset: 0xec, out: 0x7d
+lbu :: offset: 0xed, out: 0x1c
+lbu :: offset: 0xee, out: 0xc2
+lbu :: offset: 0xef, out: 0x39
+lbu :: offset: 0xf0, out: 0xce
+lbu :: offset: 0xf1, out: 0x31
+lbu :: offset: 0xf2, out: 0xcc
+lbu :: offset: 0xf3, out: 0x8e
+lbu :: offset: 0xf4, out: 0xaf
+lbu :: offset: 0xf5, out: 0xb7
+lbu :: offset: 0xf6, out: 0x94
+lbu :: offset: 0xf7, out: 0x8e
+lbu :: offset: 0xf8, out: 0x4f
+lbu :: offset: 0xf9, out: 0x67
+lbu :: offset: 0xfa, out: 0xe7
+lbu :: offset: 0xfb, out: 0x1c
+lbu :: offset: 0xfc, out: 0x8d
+lbu :: offset: 0xfd, out: 0x6a
+lbu :: offset: 0xfe, out: 0xeb
+lbu :: offset: 0xff, out: 0x24
+lbu :: offset: 0x100, out: 0xa7
+lbu :: offset: 0x101, out: 0xe4
+lbu :: offset: 0x102, out: 0xd6
+lbu :: offset: 0x103, out: 0x12
+lbu :: offset: 0x104, out: 0x44
+lbu :: offset: 0x105, out: 0x45
+lbu :: offset: 0x106, out: 0x39
+lbu :: offset: 0x107, out: 0x2f
+lbu :: offset: 0x108, out: 0x54
+lbu :: offset: 0x109, out: 0x4c
+lbu :: offset: 0x10a, out: 0xda
+lbu :: offset: 0x10b, out: 0x56
+lbu :: offset: 0x10c, out: 0xb7
+lbu :: offset: 0x10d, out: 0xc2
+lbu :: offset: 0x10e, out: 0x8
+lbu :: offset: 0x10f, out: 0x26
+lbu :: offset: 0x110, out: 0x2f
+lbu :: offset: 0x111, out: 0x25
+lbu :: offset: 0x112, out: 0xd7
+lbu :: offset: 0x113, out: 0xc8
+lbu :: offset: 0x114, out: 0xda
+lbu :: offset: 0x115, out: 0x2
+lbu :: offset: 0x116, out: 0x1
+lbu :: offset: 0x117, out: 0x90
+lbu :: offset: 0x118, out: 0xf7
+lbu :: offset: 0x119, out: 0xa4
+lbu :: offset: 0x11a, out: 0xef
+lbu :: offset: 0x11b, out: 0xf2
+lbu :: offset: 0x11c, out: 0xf1
+lbu :: offset: 0x11d, out: 0xd5
+lbu :: offset: 0x11e, out: 0x90
+lbu :: offset: 0x11f, out: 0xc8
+lbu :: offset: 0x120, out: 0x14
+lbu :: offset: 0x121, out: 0xa2
+lbu :: offset: 0x122, out: 0xb0
+lbu :: offset: 0x123, out: 0xc8
+lbu :: offset: 0x124, out: 0xcb
+lbu :: offset: 0x125, out: 0x5
+lbu :: offset: 0x126, out: 0x50
+lbu :: offset: 0x127, out: 0xed
+lbu :: offset: 0x128, out: 0x6c
+lbu :: offset: 0x129, out: 0x13
+lbu :: offset: 0x12a, out: 0x91
+lbu :: offset: 0x12b, out: 0x59
+lbu :: offset: 0x12c, out: 0x89
+lbu :: offset: 0x12d, out: 0x91
+lbu :: offset: 0x12e, out: 0x47
+lbu :: offset: 0x12f, out: 0x31
+lbu :: offset: 0x130, out: 0xf3
+lbu :: offset: 0x131, out: 0xb6
+lbu :: offset: 0x132, out: 0x2f
+lbu :: offset: 0x133, out: 0x9a
+lbu :: offset: 0x134, out: 0xf9
+lbu :: offset: 0x135, out: 0xcf
+lbu :: offset: 0x136, out: 0xee
+lbu :: offset: 0x137, out: 0xc6
+lbu :: offset: 0x138, out: 0x70
+lbu :: offset: 0x139, out: 0x52
+lbu :: offset: 0x13a, out: 0x89
+lbu :: offset: 0x13b, out: 0x38
+lbu :: offset: 0x13c, out: 0x12
+lbu :: offset: 0x13d, out: 0x52
+lbu :: offset: 0x13e, out: 0x9
+lbu :: offset: 0x13f, out: 0xa8
+lbu :: offset: 0x140, out: 0x40
+lbu :: offset: 0x141, out: 0x50
+lbu :: offset: 0x142, out: 0x76
+lbu :: offset: 0x143, out: 0xad
+lbu :: offset: 0x144, out: 0x4
+lbu :: offset: 0x145, out: 0xa
+lbu :: offset: 0x146, out: 0x75
+lbu :: offset: 0x147, out: 0x87
+lbu :: offset: 0x148, out: 0x83
+lbu :: offset: 0x149, out: 0x5a
+lbu :: offset: 0x14a, out: 0xbb
+lbu :: offset: 0x14b, out: 0x84
+lbu :: offset: 0x14c, out: 0x5e
+lbu :: offset: 0x14d, out: 0xe8
+lbu :: offset: 0x14e, out: 0x3d
+lbu :: offset: 0x14f, out: 0x2c
+lbu :: offset: 0x150, out: 0x67
+lbu :: offset: 0x151, out: 0xaa
+lbu :: offset: 0x152, out: 0x6
+lbu :: offset: 0x153, out: 0xc5
+lbu :: offset: 0x154, out: 0x8f
+lbu :: offset: 0x155, out: 0xff
+lbu :: offset: 0x156, out: 0x6a
+lbu :: offset: 0x157, out: 0xae
+lbu :: offset: 0x158, out: 0xe3
+lbu :: offset: 0x159, out: 0x5e
+lbu :: offset: 0x15a, out: 0xed
+lbu :: offset: 0x15b, out: 0x60
+lbu :: offset: 0x15c, out: 0xdd
+lbu :: offset: 0x15d, out: 0x12
+lbu :: offset: 0x15e, out: 0x71
+lbu :: offset: 0x15f, out: 0xc0
+lbu :: offset: 0x160, out: 0x5a
+lbu :: offset: 0x161, out: 0xca
+lbu :: offset: 0x162, out: 0xdc
+lbu :: offset: 0x163, out: 0x30
+lbu :: offset: 0x164, out: 0xf6
+lbu :: offset: 0x165, out: 0x70
+lbu :: offset: 0x166, out: 0xc7
+lbu :: offset: 0x167, out: 0xc4
+lbu :: offset: 0x168, out: 0x77
+lbu :: offset: 0x169, out: 0x52
+lbu :: offset: 0x16a, out: 0xcd
+lbu :: offset: 0x16b, out: 0x83
+lbu :: offset: 0x16c, out: 0x23
+lbu :: offset: 0x16d, out: 0x2b
+lbu :: offset: 0x16e, out: 0xec
+lbu :: offset: 0x16f, out: 0xdf
+lbu :: offset: 0x170, out: 0x6b
+lbu :: offset: 0x171, out: 0xd9
+lbu :: offset: 0x172, out: 0xf7
+lbu :: offset: 0x173, out: 0xf
+lbu :: offset: 0x174, out: 0x26
+lbu :: offset: 0x175, out: 0xba
+lbu :: offset: 0x176, out: 0xad
+lbu :: offset: 0x177, out: 0xd3
+lbu :: offset: 0x178, out: 0xe
+lbu :: offset: 0x179, out: 0xc0
+lbu :: offset: 0x17a, out: 0x18
+lbu :: offset: 0x17b, out: 0x84
+lbu :: offset: 0x17c, out: 0x79
+lbu :: offset: 0x17d, out: 0xaa
+lbu :: offset: 0x17e, out: 0xb4
+lbu :: offset: 0x17f, out: 0x4a
+lbu :: offset: 0x180, out: 0xb8
+lbu :: offset: 0x181, out: 0xf0
+lbu :: offset: 0x182, out: 0xe0
+lbu :: offset: 0x183, out: 0xd
+lbu :: offset: 0x184, out: 0x5e
+lbu :: offset: 0x185, out: 0x3
+lbu :: offset: 0x186, out: 0x8c
+lbu :: offset: 0x187, out: 0xbb
+lbu :: offset: 0x188, out: 0xf1
+lbu :: offset: 0x189, out: 0xdc
+lbu :: offset: 0x18a, out: 0x7f
+lbu :: offset: 0x18b, out: 0xa9
+lbu :: offset: 0x18c, out: 0x54
+lbu :: offset: 0x18d, out: 0x6f
+lbu :: offset: 0x18e, out: 0xb0
+lbu :: offset: 0x18f, out: 0x33
+lbu :: offset: 0x190, out: 0x81
+lbu :: offset: 0x191, out: 0xc0
+lbu :: offset: 0x192, out: 0xd1
+lbu :: offset: 0x193, out: 0x3f
+lbu :: offset: 0x194, out: 0x37
+lbu :: offset: 0x195, out: 0x3f
+lbu :: offset: 0x196, out: 0x43
+lbu :: offset: 0x197, out: 0x77
+lbu :: offset: 0x198, out: 0xe4
+lbu :: offset: 0x199, out: 0x95
+lbu :: offset: 0x19a, out: 0x21
+lbu :: offset: 0x19b, out: 0xc9
+lbu :: offset: 0x19c, out: 0x93
+lbu :: offset: 0x19d, out: 0xd9
+lbu :: offset: 0x19e, out: 0x91
+lbu :: offset: 0x19f, out: 0xec
+lbu :: offset: 0x1a0, out: 0xab
+lbu :: offset: 0x1a1, out: 0xa5
+lbu :: offset: 0x1a2, out: 0xb1
+lbu :: offset: 0x1a3, out: 0x95
+lbu :: offset: 0x1a4, out: 0xa7
+lbu :: offset: 0x1a5, out: 0xf6
+lbu :: offset: 0x1a6, out: 0xfb
+lbu :: offset: 0x1a7, out: 0x49
+lbu :: offset: 0x1a8, out: 0x1e
+lbu :: offset: 0x1a9, out: 0x8d
+lbu :: offset: 0x1aa, out: 0xce
+lbu :: offset: 0x1ab, out: 0xc7
+lbu :: offset: 0x1ac, out: 0x78
+lbu :: offset: 0x1ad, out: 0x43
+lbu :: offset: 0x1ae, out: 0x36
+lbu :: offset: 0x1af, out: 0x19
+lbu :: offset: 0x1b0, out: 0x7
+lbu :: offset: 0x1b1, out: 0x49
+lbu :: offset: 0x1b2, out: 0x38
+lbu :: offset: 0x1b3, out: 0x2f
+lbu :: offset: 0x1b4, out: 0xef
+lbu :: offset: 0x1b5, out: 0x8d
+lbu :: offset: 0x1b6, out: 0x9e
+lbu :: offset: 0x1b7, out: 0xb9
+lbu :: offset: 0x1b8, out: 0xfe
+lbu :: offset: 0x1b9, out: 0x12
+lbu :: offset: 0x1ba, out: 0x2b
+lbu :: offset: 0x1bb, out: 0x58
+lbu :: offset: 0x1bc, out: 0xcd
+lbu :: offset: 0x1bd, out: 0xcd
+lbu :: offset: 0x1be, out: 0xea
+lbu :: offset: 0x1bf, out: 0x47
+lbu :: offset: 0x1c0, out: 0x4f
+lbu :: offset: 0x1c1, out: 0x8c
+lbu :: offset: 0x1c2, out: 0x55
+lbu :: offset: 0x1c3, out: 0x76
+lbu :: offset: 0x1c4, out: 0x4e
+lbu :: offset: 0x1c5, out: 0x88
+lbu :: offset: 0x1c6, out: 0x85
+lbu :: offset: 0x1c7, out: 0xd6
+lbu :: offset: 0x1c8, out: 0xc7
+lbu :: offset: 0x1c9, out: 0x95
+lbu :: offset: 0x1ca, out: 0xc1
+lbu :: offset: 0x1cb, out: 0x34
+lbu :: offset: 0x1cc, out: 0x2a
+lbu :: offset: 0x1cd, out: 0xd6
+lbu :: offset: 0x1ce, out: 0x68
+lbu :: offset: 0x1cf, out: 0x61
+lbu :: offset: 0x1d0, out: 0x5
+lbu :: offset: 0x1d1, out: 0x74
+lbu :: offset: 0x1d2, out: 0xf4
+lbu :: offset: 0x1d3, out: 0x4d
+lbu :: offset: 0x1d4, out: 0x89
+lbu :: offset: 0x1d5, out: 0x69
+lbu :: offset: 0x1d6, out: 0x1
+lbu :: offset: 0x1d7, out: 0xd3
+lbu :: offset: 0x1d8, out: 0xdb
+lbu :: offset: 0x1d9, out: 0x6
+lbu :: offset: 0x1da, out: 0xbb
+lbu :: offset: 0x1db, out: 0x6c
+lbu :: offset: 0x1dc, out: 0xbf
+lbu :: offset: 0x1dd, out: 0x90
+lbu :: offset: 0x1de, out: 0xa1
+lbu :: offset: 0x1df, out: 0x1c
+lbu :: offset: 0x1e0, out: 0x3a
+lbu :: offset: 0x1e1, out: 0x39
+lbu :: offset: 0x1e2, out: 0xae
+lbu :: offset: 0x1e3, out: 0x9c
+lbu :: offset: 0x1e4, out: 0x2
+lbu :: offset: 0x1e5, out: 0xf
+lbu :: offset: 0x1e6, out: 0x30
+lbu :: offset: 0x1e7, out: 0x58
+lbu :: offset: 0x1e8, out: 0x2d
+lbu :: offset: 0x1e9, out: 0xbc
+lbu :: offset: 0x1ea, out: 0x7e
+lbu :: offset: 0x1eb, out: 0xdc
+lbu :: offset: 0x1ec, out: 0xdb
+lbu :: offset: 0x1ed, out: 0x5f
+lbu :: offset: 0x1ee, out: 0x99
+lbu :: offset: 0x1ef, out: 0x9a
+lbu :: offset: 0x1f0, out: 0x48
+lbu :: offset: 0x1f1, out: 0x5b
+lbu :: offset: 0x1f2, out: 0x40
+lbu :: offset: 0x1f3, out: 0xe3
+lbu :: offset: 0x1f4, out: 0x7b
+lbu :: offset: 0x1f5, out: 0x4
+lbu :: offset: 0x1f6, out: 0x96
+lbu :: offset: 0x1f7, out: 0x8a
+lbu :: offset: 0x1f8, out: 0x22
+lbu :: offset: 0x1f9, out: 0xd3
+lbu :: offset: 0x1fa, out: 0x19
+lbu :: offset: 0x1fb, out: 0xd5
+lbu :: offset: 0x1fc, out: 0xd2
+lbu :: offset: 0x1fd, out: 0xaf
+lbu :: offset: 0x1fe, out: 0xbf
+lbu :: offset: 0x1ff, out: 0x75
+lbu :: offset: 0x200, out: 0xad
+lbu :: offset: 0x201, out: 0xf6
+lbu :: offset: 0x202, out: 0x30
+lbu :: offset: 0x203, out: 0xa6
+lbu :: offset: 0x204, out: 0x67
+lbu :: offset: 0x205, out: 0x8
+lbu :: offset: 0x206, out: 0x23
+lbu :: offset: 0x207, out: 0xde
+lbu :: offset: 0x208, out: 0x60
+lbu :: offset: 0x209, out: 0x32
+lbu :: offset: 0x20a, out: 0x10
+lbu :: offset: 0x20b, out: 0x56
+lbu :: offset: 0x20c, out: 0xf2
+lbu :: offset: 0x20d, out: 0xc
+lbu :: offset: 0x20e, out: 0xa
+lbu :: offset: 0x20f, out: 0x2c
+lbu :: offset: 0x210, out: 0xef
+lbu :: offset: 0x211, out: 0x18
+lbu :: offset: 0x212, out: 0x9b
+lbu :: offset: 0x213, out: 0x24
+lbu :: offset: 0x214, out: 0x44
+lbu :: offset: 0x215, out: 0x5
+lbu :: offset: 0x216, out: 0xa9
+lbu :: offset: 0x217, out: 0x94
+lbu :: offset: 0x218, out: 0xde
+lbu :: offset: 0x219, out: 0xfc
+lbu :: offset: 0x21a, out: 0x56
+lbu :: offset: 0x21b, out: 0x5b
+lbu :: offset: 0x21c, out: 0xb5
+lbu :: offset: 0x21d, out: 0x9f
+lbu :: offset: 0x21e, out: 0x51
+lbu :: offset: 0x21f, out: 0xf9
+lbu :: offset: 0x220, out: 0x9b
+lbu :: offset: 0x221, out: 0x31
+lbu :: offset: 0x222, out: 0x68
+lbu :: offset: 0x223, out: 0x4
+lbu :: offset: 0x224, out: 0x20
+lbu :: offset: 0x225, out: 0xf8
+lbu :: offset: 0x226, out: 0xda
+lbu :: offset: 0x227, out: 0x81
+lbu :: offset: 0x228, out: 0xec
+lbu :: offset: 0x229, out: 0xf2
+lbu :: offset: 0x22a, out: 0x25
+lbu :: offset: 0x22b, out: 0x57
+lbu :: offset: 0x22c, out: 0x5a
+lbu :: offset: 0x22d, out: 0xca
+lbu :: offset: 0x22e, out: 0x61
+lbu :: offset: 0x22f, out: 0x8c
+lbu :: offset: 0x230, out: 0xbf
+lbu :: offset: 0x231, out: 0xc8
+lbu :: offset: 0x232, out: 0x5d
+lbu :: offset: 0x233, out: 0xc2
+lbu :: offset: 0x234, out: 0xdd
+lbu :: offset: 0x235, out: 0xa6
+lbu :: offset: 0x236, out: 0x95
+lbu :: offset: 0x237, out: 0x8b
+lbu :: offset: 0x238, out: 0x2f
+lbu :: offset: 0x239, out: 0x16
+lbu :: offset: 0x23a, out: 0xc6
+lbu :: offset: 0x23b, out: 0xda
+lbu :: offset: 0x23c, out: 0x51
+lbu :: offset: 0x23d, out: 0xe7
+lbu :: offset: 0x23e, out: 0xc
+lbu :: offset: 0x23f, out: 0x30
+lbu :: offset: 0x240, out: 0x50
+lbu :: offset: 0x241, out: 0xa8
+lbu :: offset: 0x242, out: 0x52
+lbu :: offset: 0x243, out: 0xba
+lbu :: offset: 0x244, out: 0xf3
+lbu :: offset: 0x245, out: 0xfd
+lbu :: offset: 0x246, out: 0x78
+lbu :: offset: 0x247, out: 0x67
+lbu :: offset: 0x248, out: 0x9f
+lbu :: offset: 0x249, out: 0x47
+lbu :: offset: 0x24a, out: 0x78
+lbu :: offset: 0x24b, out: 0xda
+lbu :: offset: 0x24c, out: 0xf7
+lbu :: offset: 0x24d, out: 0xb1
+lbu :: offset: 0x24e, out: 0x0
+lbu :: offset: 0x24f, out: 0xad
+lbu :: offset: 0x250, out: 0x8a
+lbu :: offset: 0x251, out: 0xd9
+lbu :: offset: 0x252, out: 0xb6
+lbu :: offset: 0x253, out: 0xa6
+lbu :: offset: 0x254, out: 0x68
+lbu :: offset: 0x255, out: 0x41
+lbu :: offset: 0x256, out: 0xd4
+lbu :: offset: 0x257, out: 0x8
+lbu :: offset: 0x258, out: 0x13
+lbu :: offset: 0x259, out: 0x44
+lbu :: offset: 0x25a, out: 0x63
+lbu :: offset: 0x25b, out: 0xce
+lbu :: offset: 0x25c, out: 0x1d
+lbu :: offset: 0x25d, out: 0x38
+lbu :: offset: 0x25e, out: 0x18
+lbu :: offset: 0x25f, out: 0xf5
+lbu :: offset: 0x260, out: 0xc0
+lbu :: offset: 0x261, out: 0x5f
+lbu :: offset: 0x262, out: 0x25
+lbu :: offset: 0x263, out: 0xe5
+lbu :: offset: 0x264, out: 0x3f
+lbu :: offset: 0x265, out: 0x7f
+lbu :: offset: 0x266, out: 0x62
+lbu :: offset: 0x267, out: 0xe4
+lbu :: offset: 0x268, out: 0x28
+lbu :: offset: 0x269, out: 0x1f
+lbu :: offset: 0x26a, out: 0x32
+lbu :: offset: 0x26b, out: 0x76
+lbu :: offset: 0x26c, out: 0xe1
+lbu :: offset: 0x26d, out: 0x92
+lbu :: offset: 0x26e, out: 0xd3
+lbu :: offset: 0x26f, out: 0xcc
+lbu :: offset: 0x270, out: 0x8f
+lbu :: offset: 0x271, out: 0xfd
+lbu :: offset: 0x272, out: 0x18
+lbu :: offset: 0x273, out: 0x40
+lbu :: offset: 0x274, out: 0x94
+lbu :: offset: 0x275, out: 0x64
+lbu :: offset: 0x276, out: 0x94
+lbu :: offset: 0x277, out: 0x82
+lbu :: offset: 0x278, out: 0xe5
+lbu :: offset: 0x279, out: 0xf0
+lbu :: offset: 0x27a, out: 0xe8
+lbu :: offset: 0x27b, out: 0x52
+lbu :: offset: 0x27c, out: 0x40
+lbu :: offset: 0x27d, out: 0x20
+lbu :: offset: 0x27e, out: 0xd3
+lbu :: offset: 0x27f, out: 0x15
+lbu :: offset: 0x280, out: 0x44
+lbu :: offset: 0x281, out: 0xf3
+lbu :: offset: 0x282, out: 0xf
+lbu :: offset: 0x283, out: 0x88
+lbu :: offset: 0x284, out: 0xd2
+lbu :: offset: 0x285, out: 0x83
+lbu :: offset: 0x286, out: 0xaf
+lbu :: offset: 0x287, out: 0x7c
+lbu :: offset: 0x288, out: 0xd7
+lbu :: offset: 0x289, out: 0xef
+lbu :: offset: 0x28a, out: 0x7d
+lbu :: offset: 0x28b, out: 0x74
+lbu :: offset: 0x28c, out: 0x4c
+lbu :: offset: 0x28d, out: 0xa0
+lbu :: offset: 0x28e, out: 0x56
+lbu :: offset: 0x28f, out: 0xf1
+lbu :: offset: 0x290, out: 0x10
+lbu :: offset: 0x291, out: 0xd7
+lbu :: offset: 0x292, out: 0x31
+lbu :: offset: 0x293, out: 0xf
+lbu :: offset: 0x294, out: 0x1c
+lbu :: offset: 0x295, out: 0x60
+lbu :: offset: 0x296, out: 0xe2
+lbu :: offset: 0x297, out: 0x93
+lbu :: offset: 0x298, out: 0x33
+lbu :: offset: 0x299, out: 0xd9
+lbu :: offset: 0x29a, out: 0x1c
+lbu :: offset: 0x29b, out: 0x13
+lbu :: offset: 0x29c, out: 0x79
+lbu :: offset: 0x29d, out: 0xa6
+lbu :: offset: 0x29e, out: 0xe1
+lbu :: offset: 0x29f, out: 0xe1
+lbu :: offset: 0x2a0, out: 0x27
+lbu :: offset: 0x2a1, out: 0xa4
+lbu :: offset: 0x2a2, out: 0x6f
+lbu :: offset: 0x2a3, out: 0xa7
+lbu :: offset: 0x2a4, out: 0x75
+lbu :: offset: 0x2a5, out: 0x6b
+lbu :: offset: 0x2a6, out: 0x29
+lbu :: offset: 0x2a7, out: 0x24
+lbu :: offset: 0x2a8, out: 0x6a
+lbu :: offset: 0x2a9, out: 0xe5
+lbu :: offset: 0x2aa, out: 0x9e
+lbu :: offset: 0x2ab, out: 0x13
+lbu :: offset: 0x2ac, out: 0xd2
+lbu :: offset: 0x2ad, out: 0xe2
+lbu :: offset: 0x2ae, out: 0x96
+lbu :: offset: 0x2af, out: 0xd2
+lbu :: offset: 0x2b0, out: 0xc0
+lbu :: offset: 0x2b1, out: 0xa5
+lbu :: offset: 0x2b2, out: 0xc2
+lbu :: offset: 0x2b3, out: 0x6d
+lbu :: offset: 0x2b4, out: 0x7f
+lbu :: offset: 0x2b5, out: 0x44
+lbu :: offset: 0x2b6, out: 0x82
+lbu :: offset: 0x2b7, out: 0x5a
+lbu :: offset: 0x2b8, out: 0x68
+lbu :: offset: 0x2b9, out: 0xc1
+lbu :: offset: 0x2ba, out: 0x7d
+lbu :: offset: 0x2bb, out: 0xc0
+lbu :: offset: 0x2bc, out: 0x80
+lbu :: offset: 0x2bd, out: 0x9e
+lbu :: offset: 0x2be, out: 0xc8
+lbu :: offset: 0x2bf, out: 0x76
+lbu :: offset: 0x2c0, out: 0x8f
+lbu :: offset: 0x2c1, out: 0x34
+lbu :: offset: 0x2c2, out: 0xfe
+lbu :: offset: 0x2c3, out: 0x4b
+lbu :: offset: 0x2c4, out: 0x45
+lbu :: offset: 0x2c5, out: 0xc3
+lbu :: offset: 0x2c6, out: 0xd
+lbu :: offset: 0x2c7, out: 0x7
+lbu :: offset: 0x2c8, out: 0x1b
+lbu :: offset: 0x2c9, out: 0x24
+lbu :: offset: 0x2ca, out: 0x6d
+lbu :: offset: 0x2cb, out: 0xdd
+lbu :: offset: 0x2cc, out: 0x23
+lbu :: offset: 0x2cd, out: 0x71
+lbu :: offset: 0x2ce, out: 0xdc
+lbu :: offset: 0x2cf, out: 0xbd
+lbu :: offset: 0x2d0, out: 0xbe
+lbu :: offset: 0x2d1, out: 0xce
+lbu :: offset: 0x2d2, out: 0x9f
+lbu :: offset: 0x2d3, out: 0xa5
+lbu :: offset: 0x2d4, out: 0x27
+lbu :: offset: 0x2d5, out: 0xb7
+lbu :: offset: 0x2d6, out: 0x2f
+lbu :: offset: 0x2d7, out: 0xf6
+lbu :: offset: 0x2d8, out: 0xfb
+lbu :: offset: 0x2d9, out: 0x46
+lbu :: offset: 0x2da, out: 0x9f
+lbu :: offset: 0x2db, out: 0xf
+lbu :: offset: 0x2dc, out: 0xe9
+lbu :: offset: 0x2dd, out: 0x27
+lbu :: offset: 0x2de, out: 0x9f
+lbu :: offset: 0x2df, out: 0x10
+lbu :: offset: 0x2e0, out: 0xd7
+lbu :: offset: 0x2e1, out: 0x99
+lbu :: offset: 0x2e2, out: 0xd1
+lbu :: offset: 0x2e3, out: 0xaf
+lbu :: offset: 0x2e4, out: 0xa9
+lbu :: offset: 0x2e5, out: 0xda
+lbu :: offset: 0x2e6, out: 0x63
+lbu :: offset: 0x2e7, out: 0x3f
+lbu :: offset: 0x2e8, out: 0xf2
+lbu :: offset: 0x2e9, out: 0x84
+lbu :: offset: 0x2ea, out: 0xd4
+lbu :: offset: 0x2eb, out: 0xa3
+lbu :: offset: 0x2ec, out: 0x2e
+lbu :: offset: 0x2ed, out: 0x31
+lbu :: offset: 0x2ee, out: 0xcb
+lbu :: offset: 0x2ef, out: 0xdb
+lbu :: offset: 0x2f0, out: 0xc6
+lbu :: offset: 0x2f1, out: 0xe4
+lbu :: offset: 0x2f2, out: 0x4f
+lbu :: offset: 0x2f3, out: 0xda
+lbu :: offset: 0x2f4, out: 0xaa
+lbu :: offset: 0x2f5, out: 0x3f
+lbu :: offset: 0x2f6, out: 0x35
+lbu :: offset: 0x2f7, out: 0x1f
+lbu :: offset: 0x2f8, out: 0x60
+lbu :: offset: 0x2f9, out: 0xc2
+lbu :: offset: 0x2fa, out: 0x50
+lbu :: offset: 0x2fb, out: 0x71
+lbu :: offset: 0x2fc, out: 0xe0
+lbu :: offset: 0x2fd, out: 0x6e
+lbu :: offset: 0x2fe, out: 0x8
+lbu :: offset: 0x2ff, out: 0x8b
+lbu :: offset: 0x300, out: 0x25
+lbu :: offset: 0x301, out: 0x7f
+lbu :: offset: 0x302, out: 0x25
+lbu :: offset: 0x303, out: 0xd9
+lbu :: offset: 0x304, out: 0xd5
+lbu :: offset: 0x305, out: 0x50
+lbu :: offset: 0x306, out: 0x47
+lbu :: offset: 0x307, out: 0xe5
+lbu :: offset: 0x308, out: 0x5b
+lbu :: offset: 0x309, out: 0xdb
+lbu :: offset: 0x30a, out: 0xa6
+lbu :: offset: 0x30b, out: 0xe9
+lbu :: offset: 0x30c, out: 0x5f
+lbu :: offset: 0x30d, out: 0x62
+lbu :: offset: 0x30e, out: 0x69
+lbu :: offset: 0x30f, out: 0x3d
+lbu :: offset: 0x310, out: 0x96
+lbu :: offset: 0x311, out: 0xac
+lbu :: offset: 0x312, out: 0x40
+lbu :: offset: 0x313, out: 0x43
+lbu :: offset: 0x314, out: 0x42
+lbu :: offset: 0x315, out: 0xe0
+lbu :: offset: 0x316, out: 0xa3
+lbu :: offset: 0x317, out: 0x70
+lbu :: offset: 0x318, out: 0x1e
+lbu :: offset: 0x319, out: 0x17
+lbu :: offset: 0x31a, out: 0x80
+lbu :: offset: 0x31b, out: 0x69
+lbu :: offset: 0x31c, out: 0x3
+lbu :: offset: 0x31d, out: 0x8f
+lbu :: offset: 0x31e, out: 0x47
+lbu :: offset: 0x31f, out: 0xc0
+lbu :: offset: 0x320, out: 0xe3
+lbu :: offset: 0x321, out: 0x29
+lbu :: offset: 0x322, out: 0xf9
+lbu :: offset: 0x323, out: 0x1c
+lbu :: offset: 0x324, out: 0xa5
+lbu :: offset: 0x325, out: 0x39
+lbu :: offset: 0x326, out: 0xe8
+lbu :: offset: 0x327, out: 0x3c
+lbu :: offset: 0x328, out: 0x58
+lbu :: offset: 0x329, out: 0x89
+lbu :: offset: 0x32a, out: 0xb6
+lbu :: offset: 0x32b, out: 0x5e
+lbu :: offset: 0x32c, out: 0x89
+lbu :: offset: 0x32d, out: 0xfa
+lbu :: offset: 0x32e, out: 0xfb
+lbu :: offset: 0x32f, out: 0xe2
+lbu :: offset: 0x330, out: 0xb7
+lbu :: offset: 0x331, out: 0x25
+lbu :: offset: 0x332, out: 0xed
+lbu :: offset: 0x333, out: 0x76
+lbu :: offset: 0x334, out: 0x5d
+lbu :: offset: 0x335, out: 0xb0
+lbu :: offset: 0x336, out: 0x4b
+lbu :: offset: 0x337, out: 0xd2
+lbu :: offset: 0x338, out: 0xf1
+lbu :: offset: 0x339, out: 0x12
+lbu :: offset: 0x33a, out: 0x3
+lbu :: offset: 0x33b, out: 0x17
+lbu :: offset: 0x33c, out: 0x2c
+lbu :: offset: 0x33d, out: 0x68
+lbu :: offset: 0x33e, out: 0xb9
+lbu :: offset: 0x33f, out: 0xe
+lbu :: offset: 0x340, out: 0xd
+lbu :: offset: 0x341, out: 0x1d
+lbu :: offset: 0x342, out: 0x30
+lbu :: offset: 0x343, out: 0xdd
+lbu :: offset: 0x344, out: 0x80
+lbu :: offset: 0x345, out: 0x52
+lbu :: offset: 0x346, out: 0x78
+lbu :: offset: 0x347, out: 0x84
+lbu :: offset: 0x348, out: 0xef
+lbu :: offset: 0x349, out: 0xd6
+lbu :: offset: 0x34a, out: 0x8f
+lbu :: offset: 0x34b, out: 0x1f
+lbu :: offset: 0x34c, out: 0xaa
+lbu :: offset: 0x34d, out: 0x77
+lbu :: offset: 0x34e, out: 0x9c
+lbu :: offset: 0x34f, out: 0x17
+lbu :: offset: 0x350, out: 0x6d
+lbu :: offset: 0x351, out: 0x43
+lbu :: offset: 0x352, out: 0x98
+lbu :: offset: 0x353, out: 0x29
+lbu :: offset: 0x354, out: 0xed
+lbu :: offset: 0x355, out: 0x4c
+lbu :: offset: 0x356, out: 0x44
+lbu :: offset: 0x357, out: 0x26
+lbu :: offset: 0x358, out: 0x8
+lbu :: offset: 0x359, out: 0xa7
+lbu :: offset: 0x35a, out: 0x8c
+lbu :: offset: 0x35b, out: 0xd5
+lbu :: offset: 0x35c, out: 0x9d
+lbu :: offset: 0x35d, out: 0x5c
+lbu :: offset: 0x35e, out: 0x17
+lbu :: offset: 0x35f, out: 0x7
+lbu :: offset: 0x360, out: 0x87
+lbu :: offset: 0x361, out: 0x32
+lbu :: offset: 0x362, out: 0x83
+lbu :: offset: 0x363, out: 0x55
+lbu :: offset: 0x364, out: 0x10
+lbu :: offset: 0x365, out: 0x6
+lbu :: offset: 0x366, out: 0x3d
+lbu :: offset: 0x367, out: 0x66
+lbu :: offset: 0x368, out: 0x8b
+lbu :: offset: 0x369, out: 0xd6
+lbu :: offset: 0x36a, out: 0x51
+lbu :: offset: 0x36b, out: 0x89
+lbu :: offset: 0x36c, out: 0x48
+lbu :: offset: 0x36d, out: 0xd0
+lbu :: offset: 0x36e, out: 0x7d
+lbu :: offset: 0x36f, out: 0xab
+lbu :: offset: 0x370, out: 0x1b
+lbu :: offset: 0x371, out: 0x47
+lbu :: offset: 0x372, out: 0x82
+lbu :: offset: 0x373, out: 0xe
+lbu :: offset: 0x374, out: 0x67
+lbu :: offset: 0x375, out: 0x23
+lbu :: offset: 0x376, out: 0x98
+lbu :: offset: 0x377, out: 0xf6
+lbu :: offset: 0x378, out: 0xb2
+lbu :: offset: 0x379, out: 0x26
+lbu :: offset: 0x37a, out: 0x8d
+lbu :: offset: 0x37b, out: 0xd9
+lbu :: offset: 0x37c, out: 0x59
+lbu :: offset: 0x37d, out: 0x6c
+lbu :: offset: 0x37e, out: 0x88
+lbu :: offset: 0x37f, out: 0x36
+lbu :: offset: 0x380, out: 0x79
+lbu :: offset: 0x381, out: 0xe4
+lbu :: offset: 0x382, out: 0x2b
+lbu :: offset: 0x383, out: 0xd3
+lbu :: offset: 0x384, out: 0xdb
+lbu :: offset: 0x385, out: 0x4b
+lbu :: offset: 0x386, out: 0xca
+lbu :: offset: 0x387, out: 0x9
+lbu :: offset: 0x388, out: 0x1f
+lbu :: offset: 0x389, out: 0xe6
+lbu :: offset: 0x38a, out: 0x62
+lbu :: offset: 0x38b, out: 0x99
+lbu :: offset: 0x38c, out: 0x1d
+lbu :: offset: 0x38d, out: 0x7d
+lbu :: offset: 0x38e, out: 0x5d
+lbu :: offset: 0x38f, out: 0xfd
+lbu :: offset: 0x390, out: 0xdf
+lbu :: offset: 0x391, out: 0x74
+lbu :: offset: 0x392, out: 0xd3
+lbu :: offset: 0x393, out: 0xca
+lbu :: offset: 0x394, out: 0x3e
+lbu :: offset: 0x395, out: 0x55
+lbu :: offset: 0x396, out: 0x46
+lbu :: offset: 0x397, out: 0x3f
+lbu :: offset: 0x398, out: 0xa7
+lbu :: offset: 0x399, out: 0xf2
+lbu :: offset: 0x39a, out: 0xed
+lbu :: offset: 0x39b, out: 0x3e
+lbu :: offset: 0x39c, out: 0x7d
+lbu :: offset: 0x39d, out: 0xb9
+lbu :: offset: 0x39e, out: 0x9a
+lbu :: offset: 0x39f, out: 0x2e
+lbu :: offset: 0x3a0, out: 0x33
+lbu :: offset: 0x3a1, out: 0x9f
+lbu :: offset: 0x3a2, out: 0xc
+lbu :: offset: 0x3a3, out: 0x3c
+lbu :: offset: 0x3a4, out: 0xfa
+lbu :: offset: 0x3a5, out: 0xf7
+lbu :: offset: 0x3a6, out: 0xa6
+lbu :: offset: 0x3a7, out: 0x36
+lbu :: offset: 0x3a8, out: 0xdc
+lbu :: offset: 0x3a9, out: 0xc9
+lbu :: offset: 0x3aa, out: 0x5e
+lbu :: offset: 0x3ab, out: 0x15
+lbu :: offset: 0x3ac, out: 0xe3
+lbu :: offset: 0x3ad, out: 0x38
+lbu :: offset: 0x3ae, out: 0xb9
+lbu :: offset: 0x3af, out: 0x8b
+lbu :: offset: 0x3b0, out: 0x6
+lbu :: offset: 0x3b1, out: 0x82
+lbu :: offset: 0x3b2, out: 0x47
+lbu :: offset: 0x3b3, out: 0x19
+lbu :: offset: 0x3b4, out: 0xc4
+lbu :: offset: 0x3b5, out: 0x25
+lbu :: offset: 0x3b6, out: 0xdf
+lbu :: offset: 0x3b7, out: 0xd2
+lbu :: offset: 0x3b8, out: 0x25
+lbu :: offset: 0x3b9, out: 0x18
+lbu :: offset: 0x3ba, out: 0x32
+lbu :: offset: 0x3bb, out: 0xeb
+lbu :: offset: 0x3bc, out: 0x27
+lbu :: offset: 0x3bd, out: 0xbf
+lbu :: offset: 0x3be, out: 0x65
+lbu :: offset: 0x3bf, out: 0xbc
+lbu :: offset: 0x3c0, out: 0xda
+lbu :: offset: 0x3c1, out: 0xc7
+lbu :: offset: 0x3c2, out: 0x8b
+lbu :: offset: 0x3c3, out: 0x7a
+lbu :: offset: 0x3c4, out: 0xe6
+lbu :: offset: 0x3c5, out: 0x8f
+lbu :: offset: 0x3c6, out: 0xb0
+lbu :: offset: 0x3c7, out: 0xa8
+lbu :: offset: 0x3c8, out: 0xe8
+lbu :: offset: 0x3c9, out: 0xcd
+lbu :: offset: 0x3ca, out: 0xdf
+lbu :: offset: 0x3cb, out: 0xf8
+lbu :: offset: 0x3cc, out: 0xca
+lbu :: offset: 0x3cd, out: 0x5b
+lbu :: offset: 0x3ce, out: 0x2b
+lbu :: offset: 0x3cf, out: 0x85
+lbu :: offset: 0x3d0, out: 0x69
+lbu :: offset: 0x3d1, out: 0x92
+lbu :: offset: 0x3d2, out: 0xa9
+lbu :: offset: 0x3d3, out: 0x59
+lbu :: offset: 0x3d4, out: 0x9b
+lbu :: offset: 0x3d5, out: 0x90
+lbu :: offset: 0x3d6, out: 0x78
+lbu :: offset: 0x3d7, out: 0x4
+lbu :: offset: 0x3d8, out: 0xf
+lbu :: offset: 0x3d9, out: 0x36
+lbu :: offset: 0x3da, out: 0x57
+lbu :: offset: 0x3db, out: 0x78
+lbu :: offset: 0x3dc, out: 0xc8
+lbu :: offset: 0x3dd, out: 0x1c
+lbu :: offset: 0x3de, out: 0xb3
+lbu :: offset: 0x3df, out: 0xbf
+lbu :: offset: 0x3e0, out: 0xa2
+lbu :: offset: 0x3e1, out: 0xe9
+lbu :: offset: 0x3e2, out: 0x89
+lbu :: offset: 0x3e3, out: 0x7f
+lbu :: offset: 0x3e4, out: 0x5e
+lbu :: offset: 0x3e5, out: 0xed
+lbu :: offset: 0x3e6, out: 0x65
+lbu :: offset: 0x3e7, out: 0xb6
+lbu :: offset: 0x3e8, out: 0xe4
+lbu :: offset: 0x3e9, out: 0xd5
+lbu :: offset: 0x3ea, out: 0xa8
+lbu :: offset: 0x3eb, out: 0xb7
+lbu :: offset: 0x3ec, out: 0x74
+lbu :: offset: 0x3ed, out: 0x94
+lbu :: offset: 0x3ee, out: 0xda
+lbu :: offset: 0x3ef, out: 0x15
+lbu :: offset: 0x3f0, out: 0xcc
+lbu :: offset: 0x3f1, out: 0xf
+lbu :: offset: 0x3f2, out: 0xf9
+lbu :: offset: 0x3f3, out: 0x2a
+lbu :: offset: 0x3f4, out: 0x7d
+lbu :: offset: 0x3f5, out: 0x53
+lbu :: offset: 0x3f6, out: 0xb3
+lbu :: offset: 0x3f7, out: 0xf6
+lbu :: offset: 0x3f8, out: 0x97
+lbu :: offset: 0x3f9, out: 0x18
+lbu :: offset: 0x3fa, out: 0x96
+lbu :: offset: 0x3fb, out: 0x2b
+lbu :: offset: 0x3fc, out: 0xfe
+lbu :: offset: 0x3fd, out: 0x7c
+lbu :: offset: 0x3fe, out: 0x3d
+lbu :: offset: 0x3ff, out: 0x22
+lbu :: offset: 0x400, out: 0x4b
+lbu :: offset: 0x401, out: 0x4a
+lbu :: offset: 0x402, out: 0x73
+lbu :: offset: 0x403, out: 0x33
+lbu :: offset: 0x404, out: 0xf5
+lbu :: offset: 0x405, out: 0x34
+lbu :: offset: 0x406, out: 0xb
+lbu :: offset: 0x407, out: 0x42
+lbu :: offset: 0x408, out: 0x3c
+lbu :: offset: 0x409, out: 0xb3
+lbu :: offset: 0x40a, out: 0x46
+lbu :: offset: 0x40b, out: 0xdd
+lbu :: offset: 0x40c, out: 0x8d
+lbu :: offset: 0x40d, out: 0x8c
+lbu :: offset: 0x40e, out: 0x7c
+lbu :: offset: 0x40f, out: 0x89
+lbu :: offset: 0x410, out: 0xd9
+lbu :: offset: 0x411, out: 0xcc
+lbu :: offset: 0x412, out: 0x92
+lbu :: offset: 0x413, out: 0xe3
+lbu :: offset: 0x414, out: 0x45
+lbu :: offset: 0x415, out: 0x74
+lbu :: offset: 0x416, out: 0x38
+lbu :: offset: 0x417, out: 0x7a
+lbu :: offset: 0x418, out: 0xc9
+lbu :: offset: 0x419, out: 0x0
+lbu :: offset: 0x41a, out: 0x0
+lbu :: offset: 0x41b, out: 0xd8
+lbu :: offset: 0x41c, out: 0xb1
+lbu :: offset: 0x41d, out: 0x29
+lbu :: offset: 0x41e, out: 0x2f
+lbu :: offset: 0x41f, out: 0x51
+lbu :: offset: 0x420, out: 0xa
+lbu :: offset: 0x421, out: 0x2
+lbu :: offset: 0x422, out: 0xad
+lbu :: offset: 0x423, out: 0x3d
+lbu :: offset: 0x424, out: 0xc5
+lbu :: offset: 0x425, out: 0xd5
+lbu :: offset: 0x426, out: 0xde
+lbu :: offset: 0x427, out: 0xea
+lbu :: offset: 0x428, out: 0x5b
+lbu :: offset: 0x429, out: 0xa3
+lbu :: offset: 0x42a, out: 0xee
+lbu :: offset: 0x42b, out: 0x31
+lbu :: offset: 0x42c, out: 0xd7
+lbu :: offset: 0x42d, out: 0x29
+lbu :: offset: 0x42e, out: 0x62
+lbu :: offset: 0x42f, out: 0x8a
+lbu :: offset: 0x430, out: 0x49
+lbu :: offset: 0x431, out: 0x56
+lbu :: offset: 0x432, out: 0x98
+lbu :: offset: 0x433, out: 0x48
+lbu :: offset: 0x434, out: 0x9e
+lbu :: offset: 0x435, out: 0x3f
+lbu :: offset: 0x436, out: 0x3c
+lbu :: offset: 0x437, out: 0x2c
+lbu :: offset: 0x438, out: 0x77
+lbu :: offset: 0x439, out: 0xb
+lbu :: offset: 0x43a, out: 0x9c
+lbu :: offset: 0x43b, out: 0xdc
+lbu :: offset: 0x43c, out: 0x78
+lbu :: offset: 0x43d, out: 0x1e
+lbu :: offset: 0x43e, out: 0xf6
+lbu :: offset: 0x43f, out: 0x7f
+lbu :: offset: 0x440, out: 0xec
+lbu :: offset: 0x441, out: 0x68
+lbu :: offset: 0x442, out: 0x5e
+lbu :: offset: 0x443, out: 0x1d
+lbu :: offset: 0x444, out: 0xe0
+lbu :: offset: 0x445, out: 0xb0
+lbu :: offset: 0x446, out: 0x99
+lbu :: offset: 0x447, out: 0x22
+lbu :: offset: 0x448, out: 0x25
+lbu :: offset: 0x449, out: 0x6e
+lbu :: offset: 0x44a, out: 0xc
+lbu :: offset: 0x44b, out: 0x3d
+lbu :: offset: 0x44c, out: 0x67
+lbu :: offset: 0x44d, out: 0x4
+lbu :: offset: 0x44e, out: 0x3b
+lbu :: offset: 0x44f, out: 0x7c
+lbu :: offset: 0x450, out: 0x87
+lbu :: offset: 0x451, out: 0x65
+lbu :: offset: 0x452, out: 0xfb
+lbu :: offset: 0x453, out: 0xe7
+lbu :: offset: 0x454, out: 0xc1
+lbu :: offset: 0x455, out: 0x17
+lbu :: offset: 0x456, out: 0x4e
+lbu :: offset: 0x457, out: 0x16
+lbu :: offset: 0x458, out: 0xb
+lbu :: offset: 0x459, out: 0x95
+lbu :: offset: 0x45a, out: 0xd4
+lbu :: offset: 0x45b, out: 0x56
+lbu :: offset: 0x45c, out: 0x8b
+lbu :: offset: 0x45d, out: 0xa2
+lbu :: offset: 0x45e, out: 0x4c
+lbu :: offset: 0x45f, out: 0xfa
+lbu :: offset: 0x460, out: 0x8a
+lbu :: offset: 0x461, out: 0xa0
+lbu :: offset: 0x462, out: 0x7f
+lbu :: offset: 0x463, out: 0xbe
+lbu :: offset: 0x464, out: 0x14
+lbu :: offset: 0x465, out: 0xa3
+lbu :: offset: 0x466, out: 0xe9
+lbu :: offset: 0x467, out: 0xe5
+lbu :: offset: 0x468, out: 0xc5
+lbu :: offset: 0x469, out: 0x49
+lbu :: offset: 0x46a, out: 0x96
+lbu :: offset: 0x46b, out: 0x15
+lbu :: offset: 0x46c, out: 0x64
+lbu :: offset: 0x46d, out: 0x81
+lbu :: offset: 0x46e, out: 0xbe
+lbu :: offset: 0x46f, out: 0xf8
+lbu :: offset: 0x470, out: 0x17
+lbu :: offset: 0x471, out: 0x9b
+lbu :: offset: 0x472, out: 0xe6
+lbu :: offset: 0x473, out: 0x84
+lbu :: offset: 0x474, out: 0x97
+lbu :: offset: 0x475, out: 0x25
+lbu :: offset: 0x476, out: 0xa3
+lbu :: offset: 0x477, out: 0x7c
+lbu :: offset: 0x478, out: 0x5c
+lbu :: offset: 0x479, out: 0x4f
+lbu :: offset: 0x47a, out: 0xf2
+lbu :: offset: 0x47b, out: 0xa1
+lbu :: offset: 0x47c, out: 0x3c
+lbu :: offset: 0x47d, out: 0x54
+lbu :: offset: 0x47e, out: 0x8d
+lbu :: offset: 0x47f, out: 0xfc
+lbu :: offset: 0x480, out: 0x36
+lbu :: offset: 0x481, out: 0x9e
+lbu :: offset: 0x482, out: 0x45
+lbu :: offset: 0x483, out: 0xe3
+lbu :: offset: 0x484, out: 0xa0
+lbu :: offset: 0x485, out: 0x6c
+lbu :: offset: 0x486, out: 0xeb
+lbu :: offset: 0x487, out: 0x4a
+lbu :: offset: 0x488, out: 0xfa
+lbu :: offset: 0x489, out: 0x80
+lbu :: offset: 0x48a, out: 0x79
+lbu :: offset: 0x48b, out: 0x18
+lbu :: offset: 0x48c, out: 0x8e
+lbu :: offset: 0x48d, out: 0xe1
+lbu :: offset: 0x48e, out: 0x32
+lbu :: offset: 0x48f, out: 0xc5
+lbu :: offset: 0x490, out: 0x1c
+lbu :: offset: 0x491, out: 0x7d
+lbu :: offset: 0x492, out: 0x28
+lbu :: offset: 0x493, out: 0x4f
+lbu :: offset: 0x494, out: 0x29
+lbu :: offset: 0x495, out: 0xec
+lbu :: offset: 0x496, out: 0xfd
+lbu :: offset: 0x497, out: 0xb3
+lbu :: offset: 0x498, out: 0x90
+lbu :: offset: 0x499, out: 0x2b
+lbu :: offset: 0x49a, out: 0x73
+lbu :: offset: 0x49b, out: 0x49
+lbu :: offset: 0x49c, out: 0xa
+lbu :: offset: 0x49d, out: 0x66
+lbu :: offset: 0x49e, out: 0x20
+lbu :: offset: 0x49f, out: 0xb6
+lbu :: offset: 0x4a0, out: 0x91
+lbu :: offset: 0x4a1, out: 0xe9
+lbu :: offset: 0x4a2, out: 0xfd
+lbu :: offset: 0x4a3, out: 0x6c
+lbu :: offset: 0x4a4, out: 0xf1
+lbu :: offset: 0x4a5, out: 0x38
+lbu :: offset: 0x4a6, out: 0x31
+lbu :: offset: 0x4a7, out: 0x99
+lbu :: offset: 0x4a8, out: 0xb9
+lbu :: offset: 0x4a9, out: 0x7
+lbu :: offset: 0x4aa, out: 0x54
+lbu :: offset: 0x4ab, out: 0x7d
+lbu :: offset: 0x4ac, out: 0x33
+lbu :: offset: 0x4ad, out: 0xd1
+lbu :: offset: 0x4ae, out: 0x2
+lbu :: offset: 0x4af, out: 0xde
+lbu :: offset: 0x4b0, out: 0x5a
+lbu :: offset: 0x4b1, out: 0xb1
+lbu :: offset: 0x4b2, out: 0xda
+lbu :: offset: 0x4b3, out: 0xe1
+lbu :: offset: 0x4b4, out: 0xe1
+lbu :: offset: 0x4b5, out: 0x90
+lbu :: offset: 0x4b6, out: 0xa3
+lbu :: offset: 0x4b7, out: 0x13
+lbu :: offset: 0x4b8, out: 0xc8
+lbu :: offset: 0x4b9, out: 0x16
+lbu :: offset: 0x4ba, out: 0x87
+lbu :: offset: 0x4bb, out: 0x82
+lbu :: offset: 0x4bc, out: 0xa6
+lbu :: offset: 0x4bd, out: 0x91
+lbu :: offset: 0x4be, out: 0x34
+lbu :: offset: 0x4bf, out: 0x74
+lbu :: offset: 0x4c0, out: 0xf2
+lbu :: offset: 0x4c1, out: 0x92
+lbu :: offset: 0x4c2, out: 0xe2
+lbu :: offset: 0x4c3, out: 0xed
+lbu :: offset: 0x4c4, out: 0x4a
+lbu :: offset: 0x4c5, out: 0x40
+lbu :: offset: 0x4c6, out: 0xff
+lbu :: offset: 0x4c7, out: 0x8c
+lbu :: offset: 0x4c8, out: 0x36
+lbu :: offset: 0x4c9, out: 0x76
+lbu :: offset: 0x4ca, out: 0x83
+lbu :: offset: 0x4cb, out: 0x1f
+lbu :: offset: 0x4cc, out: 0xdb
+lbu :: offset: 0x4cd, out: 0xc0
+lbu :: offset: 0x4ce, out: 0xce
+lbu :: offset: 0x4cf, out: 0xb9
+lbu :: offset: 0x4d0, out: 0x1c
+lbu :: offset: 0x4d1, out: 0x77
+lbu :: offset: 0x4d2, out: 0x9
+lbu :: offset: 0x4d3, out: 0x5
+lbu :: offset: 0x4d4, out: 0xa7
+lbu :: offset: 0x4d5, out: 0x5a
+lbu :: offset: 0x4d6, out: 0xaa
+lbu :: offset: 0x4d7, out: 0x2e
+lbu :: offset: 0x4d8, out: 0x1b
+lbu :: offset: 0x4d9, out: 0x24
+lbu :: offset: 0x4da, out: 0x75
+lbu :: offset: 0x4db, out: 0x18
+lbu :: offset: 0x4dc, out: 0x8e
+lbu :: offset: 0x4dd, out: 0x53
+lbu :: offset: 0x4de, out: 0x27
+lbu :: offset: 0x4df, out: 0xd3
+lbu :: offset: 0x4e0, out: 0x6b
+lbu :: offset: 0x4e1, out: 0x9b
+lbu :: offset: 0x4e2, out: 0x73
+lbu :: offset: 0x4e3, out: 0x8b
+lbu :: offset: 0x4e4, out: 0x54
+lbu :: offset: 0x4e5, out: 0xf8
+lbu :: offset: 0x4e6, out: 0xe9
+lbu :: offset: 0x4e7, out: 0x42
+lbu :: offset: 0x4e8, out: 0x1a
+lbu :: offset: 0x4e9, out: 0xba
+lbu :: offset: 0x4ea, out: 0xcb
+lbu :: offset: 0x4eb, out: 0xec
+lbu :: offset: 0x4ec, out: 0xc
+lbu :: offset: 0x4ed, out: 0xe5
+lbu :: offset: 0x4ee, out: 0xe4
+lbu :: offset: 0x4ef, out: 0x78
+lbu :: offset: 0x4f0, out: 0xcb
+lbu :: offset: 0x4f1, out: 0x27
+lbu :: offset: 0x4f2, out: 0x9d
+lbu :: offset: 0x4f3, out: 0xcd
+lbu :: offset: 0x4f4, out: 0x3f
+lbu :: offset: 0x4f5, out: 0xfa
+lbu :: offset: 0x4f6, out: 0xb6
+lbu :: offset: 0x4f7, out: 0xf6
+lbu :: offset: 0x4f8, out: 0x23
+lbu :: offset: 0x4f9, out: 0x94
+lbu :: offset: 0x4fa, out: 0x3e
+lbu :: offset: 0x4fb, out: 0xae
+lbu :: offset: 0x4fc, out: 0x83
+lbu :: offset: 0x4fd, out: 0x64
+lbu :: offset: 0x4fe, out: 0x91
+lbu :: offset: 0x4ff, out: 0x73
+lbu :: offset: 0x500, out: 0x61
+lbu :: offset: 0x501, out: 0x85
+lbu :: offset: 0x502, out: 0x12
+lbu :: offset: 0x503, out: 0xe
+lbu :: offset: 0x504, out: 0xa
+lbu :: offset: 0x505, out: 0xf7
+lbu :: offset: 0x506, out: 0x6a
+lbu :: offset: 0x507, out: 0x27
+lbu :: offset: 0x508, out: 0x6e
+lbu :: offset: 0x509, out: 0x4b
+lbu :: offset: 0x50a, out: 0xe7
+lbu :: offset: 0x50b, out: 0xb5
+lbu :: offset: 0x50c, out: 0xf6
+lbu :: offset: 0x50d, out: 0x5b
+lbu :: offset: 0x50e, out: 0x4
+lbu :: offset: 0x50f, out: 0x3
+lbu :: offset: 0x510, out: 0xa6
+lbu :: offset: 0x511, out: 0xcf
+lbu :: offset: 0x512, out: 0xac
+lbu :: offset: 0x513, out: 0x8
+lbu :: offset: 0x514, out: 0x13
+lbu :: offset: 0x515, out: 0x3f
+lbu :: offset: 0x516, out: 0x22
+lbu :: offset: 0x517, out: 0x20
+lbu :: offset: 0x518, out: 0xf5
+lbu :: offset: 0x519, out: 0xb5
+lbu :: offset: 0x51a, out: 0x76
+lbu :: offset: 0x51b, out: 0x39
+lbu :: offset: 0x51c, out: 0x74
+lbu :: offset: 0x51d, out: 0x55
+lbu :: offset: 0x51e, out: 0x3c
+lbu :: offset: 0x51f, out: 0xf8
+lbu :: offset: 0x520, out: 0x3d
+lbu :: offset: 0x521, out: 0x3c
+lbu :: offset: 0x522, out: 0x92
+lbu :: offset: 0x523, out: 0x46
+lbu :: offset: 0x524, out: 0xf9
+lbu :: offset: 0x525, out: 0x20
+lbu :: offset: 0x526, out: 0x97
+lbu :: offset: 0x527, out: 0x1f
+lbu :: offset: 0x528, out: 0xdd
+lbu :: offset: 0x529, out: 0x48
+lbu :: offset: 0x52a, out: 0x24
+lbu :: offset: 0x52b, out: 0x6d
+lbu :: offset: 0x52c, out: 0x50
+lbu :: offset: 0x52d, out: 0x28
+lbu :: offset: 0x52e, out: 0xd
+lbu :: offset: 0x52f, out: 0x62
+lbu :: offset: 0x530, out: 0x32
+lbu :: offset: 0x531, out: 0xa7
+lbu :: offset: 0x532, out: 0xf4
+lbu :: offset: 0x533, out: 0x9f
+lbu :: offset: 0x534, out: 0xe9
+lbu :: offset: 0x535, out: 0x21
+lbu :: offset: 0x536, out: 0xa5
+lbu :: offset: 0x537, out: 0x60
+lbu :: offset: 0x538, out: 0xb
+lbu :: offset: 0x539, out: 0xf
+lbu :: offset: 0x53a, out: 0x68
+lbu :: offset: 0x53b, out: 0x5c
+lbu :: offset: 0x53c, out: 0xab
+lbu :: offset: 0x53d, out: 0xf3
+lbu :: offset: 0x53e, out: 0x8
+lbu :: offset: 0x53f, out: 0x5a
+lbu :: offset: 0x540, out: 0x26
+lbu :: offset: 0x541, out: 0x3d
+lbu :: offset: 0x542, out: 0xf
+lbu :: offset: 0x543, out: 0x80
+lbu :: offset: 0x544, out: 0xe7
+lbu :: offset: 0x545, out: 0x9b
+lbu :: offset: 0x546, out: 0xa5
+lbu :: offset: 0x547, out: 0xc7
+lbu :: offset: 0x548, out: 0x41
+lbu :: offset: 0x549, out: 0x1b
+lbu :: offset: 0x54a, out: 0xca
+lbu :: offset: 0x54b, out: 0x82
+lbu :: offset: 0x54c, out: 0x29
+lbu :: offset: 0x54d, out: 0xdf
+lbu :: offset: 0x54e, out: 0xec
+lbu :: offset: 0x54f, out: 0x1a
+lbu :: offset: 0x550, out: 0xcd
+lbu :: offset: 0x551, out: 0x9d
+lbu :: offset: 0x552, out: 0xd1
+lbu :: offset: 0x553, out: 0x60
+lbu :: offset: 0x554, out: 0xa2
+lbu :: offset: 0x555, out: 0x13
+lbu :: offset: 0x556, out: 0x86
+lbu :: offset: 0x557, out: 0x2b
+lbu :: offset: 0x558, out: 0x7f
+lbu :: offset: 0x559, out: 0xbe
+lbu :: offset: 0x55a, out: 0x8b
+lbu :: offset: 0x55b, out: 0xe
+lbu :: offset: 0x55c, out: 0x8b
+lbu :: offset: 0x55d, out: 0xac
+lbu :: offset: 0x55e, out: 0x18
+lbu :: offset: 0x55f, out: 0x25
+lbu :: offset: 0x560, out: 0x6b
+lbu :: offset: 0x561, out: 0x48
+lbu :: offset: 0x562, out: 0xcf
+lbu :: offset: 0x563, out: 0x2f
+lbu :: offset: 0x564, out: 0x8d
+lbu :: offset: 0x565, out: 0x56
+lbu :: offset: 0x566, out: 0x3e
+lbu :: offset: 0x567, out: 0x74
+lbu :: offset: 0x568, out: 0x28
+lbu :: offset: 0x569, out: 0x17
+lbu :: offset: 0x56a, out: 0xc3
+lbu :: offset: 0x56b, out: 0x34
+lbu :: offset: 0x56c, out: 0x6f
+lbu :: offset: 0x56d, out: 0x64
+lbu :: offset: 0x56e, out: 0x6f
+lbu :: offset: 0x56f, out: 0x12
+lbu :: offset: 0x570, out: 0x12
+lbu :: offset: 0x571, out: 0x4d
+lbu :: offset: 0x572, out: 0xfc
+lbu :: offset: 0x573, out: 0x56
+lbu :: offset: 0x574, out: 0x61
+lbu :: offset: 0x575, out: 0x19
+lbu :: offset: 0x576, out: 0xb0
+lbu :: offset: 0x577, out: 0xaa
+lbu :: offset: 0x578, out: 0x42
+lbu :: offset: 0x579, out: 0xd3
+lbu :: offset: 0x57a, out: 0x95
+lbu :: offset: 0x57b, out: 0x85
+lbu :: offset: 0x57c, out: 0x33
+lbu :: offset: 0x57d, out: 0xcd
+lbu :: offset: 0x57e, out: 0x35
+lbu :: offset: 0x57f, out: 0x75
+lbu :: offset: 0x580, out: 0xec
+lbu :: offset: 0x581, out: 0x46
+lbu :: offset: 0x582, out: 0x23
+lbu :: offset: 0x583, out: 0x42
+lbu :: offset: 0x584, out: 0xda
+lbu :: offset: 0x585, out: 0x54
+lbu :: offset: 0x586, out: 0xb2
+lbu :: offset: 0x587, out: 0xdf
+lbu :: offset: 0x588, out: 0x2a
+lbu :: offset: 0x589, out: 0xab
+lbu :: offset: 0x58a, out: 0x81
+lbu :: offset: 0x58b, out: 0x0
+lbu :: offset: 0x58c, out: 0xc9
+lbu :: offset: 0x58d, out: 0x26
+lbu :: offset: 0x58e, out: 0x67
+lbu :: offset: 0x58f, out: 0xa8
+lbu :: offset: 0x590, out: 0x38
+lbu :: offset: 0x591, out: 0x74
+lbu :: offset: 0x592, out: 0x9d
+lbu :: offset: 0x593, out: 0x67
+lbu :: offset: 0x594, out: 0xa1
+lbu :: offset: 0x595, out: 0xff
+lbu :: offset: 0x596, out: 0xfe
+lbu :: offset: 0x597, out: 0x9b
+lbu :: offset: 0x598, out: 0x44
+lbu :: offset: 0x599, out: 0xe2
+lbu :: offset: 0x59a, out: 0xde
+lbu :: offset: 0x59b, out: 0xb7
+lbu :: offset: 0x59c, out: 0x26
+lbu :: offset: 0x59d, out: 0x98
+lbu :: offset: 0x59e, out: 0x69
+lbu :: offset: 0x59f, out: 0xc7
+lbu :: offset: 0x5a0, out: 0x4a
+lbu :: offset: 0x5a1, out: 0x70
+lbu :: offset: 0x5a2, out: 0xa6
+lbu :: offset: 0x5a3, out: 0xfb
+lbu :: offset: 0x5a4, out: 0x97
+lbu :: offset: 0x5a5, out: 0xaf
+lbu :: offset: 0x5a6, out: 0x7
+lbu :: offset: 0x5a7, out: 0x3c
+lbu :: offset: 0x5a8, out: 0xfe
+lbu :: offset: 0x5a9, out: 0x8b
+lbu :: offset: 0x5aa, out: 0xc5
+lbu :: offset: 0x5ab, out: 0x4
+lbu :: offset: 0x5ac, out: 0xdc
+lbu :: offset: 0x5ad, out: 0x64
+lbu :: offset: 0x5ae, out: 0x13
+lbu :: offset: 0x5af, out: 0x52
+lbu :: offset: 0x5b0, out: 0xbc
+lbu :: offset: 0x5b1, out: 0xae
+lbu :: offset: 0x5b2, out: 0xb7
+lbu :: offset: 0x5b3, out: 0x9a
+lbu :: offset: 0x5b4, out: 0x58
+lbu :: offset: 0x5b5, out: 0xbb
+lbu :: offset: 0x5b6, out: 0xf7
+lbu :: offset: 0x5b7, out: 0xe0
+lbu :: offset: 0x5b8, out: 0x4d
+lbu :: offset: 0x5b9, out: 0x95
+lbu :: offset: 0x5ba, out: 0xeb
+lbu :: offset: 0x5bb, out: 0xde
+lbu :: offset: 0x5bc, out: 0xc
+lbu :: offset: 0x5bd, out: 0xc6
+lbu :: offset: 0x5be, out: 0x36
+lbu :: offset: 0x5bf, out: 0xe3
+lbu :: offset: 0x5c0, out: 0x6e
+lbu :: offset: 0x5c1, out: 0x41
+lbu :: offset: 0x5c2, out: 0x52
+lbu :: offset: 0x5c3, out: 0x6f
+lbu :: offset: 0x5c4, out: 0xc
+lbu :: offset: 0x5c5, out: 0x12
+lbu :: offset: 0x5c6, out: 0xb2
+lbu :: offset: 0x5c7, out: 0xd5
+lbu :: offset: 0x5c8, out: 0x34
+lbu :: offset: 0x5c9, out: 0x8a
+lbu :: offset: 0x5ca, out: 0x62
+lbu :: offset: 0x5cb, out: 0x7e
+lbu :: offset: 0x5cc, out: 0xff
+lbu :: offset: 0x5cd, out: 0xd4
+lbu :: offset: 0x5ce, out: 0xa2
+lbu :: offset: 0x5cf, out: 0x85
+lbu :: offset: 0x5d0, out: 0x7
+lbu :: offset: 0x5d1, out: 0x7e
+lbu :: offset: 0x5d2, out: 0x4e
+lbu :: offset: 0x5d3, out: 0x4a
+lbu :: offset: 0x5d4, out: 0x65
+lbu :: offset: 0x5d5, out: 0x2b
+lbu :: offset: 0x5d6, out: 0x6a
+lbu :: offset: 0x5d7, out: 0x98
+lbu :: offset: 0x5d8, out: 0x55
+lbu :: offset: 0x5d9, out: 0x9b
+lbu :: offset: 0x5da, out: 0x48
+lbu :: offset: 0x5db, out: 0x3a
+lbu :: offset: 0x5dc, out: 0xc4
+lbu :: offset: 0x5dd, out: 0xea
+lbu :: offset: 0x5de, out: 0x74
+lbu :: offset: 0x5df, out: 0xa9
+lbu :: offset: 0x5e0, out: 0xf5
+lbu :: offset: 0x5e1, out: 0xf8
+lbu :: offset: 0x5e2, out: 0xf1
+lbu :: offset: 0x5e3, out: 0x72
+lbu :: offset: 0x5e4, out: 0x62
+lbu :: offset: 0x5e5, out: 0xc1
+lbu :: offset: 0x5e6, out: 0x88
+lbu :: offset: 0x5e7, out: 0xa3
+lbu :: offset: 0x5e8, out: 0xa9
+lbu :: offset: 0x5e9, out: 0x5e
+lbu :: offset: 0x5ea, out: 0x49
+lbu :: offset: 0x5eb, out: 0xe7
+lbu :: offset: 0x5ec, out: 0x45
+lbu :: offset: 0x5ed, out: 0x1f
+lbu :: offset: 0x5ee, out: 0xc1
+lbu :: offset: 0x5ef, out: 0xe8
+lbu :: offset: 0x5f0, out: 0xb4
+lbu :: offset: 0x5f1, out: 0xc8
+lbu :: offset: 0x5f2, out: 0xc1
+lbu :: offset: 0x5f3, out: 0x5c
+lbu :: offset: 0x5f4, out: 0x76
+lbu :: offset: 0x5f5, out: 0x5a
+lbu :: offset: 0x5f6, out: 0xaa
+lbu :: offset: 0x5f7, out: 0xad
+lbu :: offset: 0x5f8, out: 0xc0
+lbu :: offset: 0x5f9, out: 0x5
+lbu :: offset: 0x5fa, out: 0xa6
+lbu :: offset: 0x5fb, out: 0xdf
+lbu :: offset: 0x5fc, out: 0x88
+lbu :: offset: 0x5fd, out: 0xce
+lbu :: offset: 0x5fe, out: 0xb4
+lbu :: offset: 0x5ff, out: 0x7a
+lbu :: offset: 0x600, out: 0x4f
+lbu :: offset: 0x601, out: 0xb0
+lbu :: offset: 0x602, out: 0xa7
+lbu :: offset: 0x603, out: 0x59
+lbu :: offset: 0x604, out: 0xe6
+lbu :: offset: 0x605, out: 0xd6
+lbu :: offset: 0x606, out: 0x2a
+lbu :: offset: 0x607, out: 0xb4
+lbu :: offset: 0x608, out: 0x2f
+lbu :: offset: 0x609, out: 0x92
+lbu :: offset: 0x60a, out: 0x28
+lbu :: offset: 0x60b, out: 0xb7
+lbu :: offset: 0x60c, out: 0x5a
+lbu :: offset: 0x60d, out: 0x48
+lbu :: offset: 0x60e, out: 0xf8
+lbu :: offset: 0x60f, out: 0x4b
+lbu :: offset: 0x610, out: 0xfb
+lbu :: offset: 0x611, out: 0xa7
+lbu :: offset: 0x612, out: 0x66
+lbu :: offset: 0x613, out: 0x3b
+lbu :: offset: 0x614, out: 0xc
+lbu :: offset: 0x615, out: 0xd6
+lbu :: offset: 0x616, out: 0xa3
+lbu :: offset: 0x617, out: 0x76
+lbu :: offset: 0x618, out: 0xda
+lbu :: offset: 0x619, out: 0x8e
+lbu :: offset: 0x61a, out: 0xc2
+lbu :: offset: 0x61b, out: 0xfd
+lbu :: offset: 0x61c, out: 0xaf
+lbu :: offset: 0x61d, out: 0xc6
+lbu :: offset: 0x61e, out: 0xe0
+lbu :: offset: 0x61f, out: 0x31
+lbu :: offset: 0x620, out: 0x9d
+lbu :: offset: 0x621, out: 0x99
+lbu :: offset: 0x622, out: 0xc
+lbu :: offset: 0x623, out: 0xbf
+lbu :: offset: 0x624, out: 0xb4
+lbu :: offset: 0x625, out: 0x6b
+lbu :: offset: 0x626, out: 0x60
+lbu :: offset: 0x627, out: 0x53
+lbu :: offset: 0x628, out: 0xf0
+lbu :: offset: 0x629, out: 0x19
+lbu :: offset: 0x62a, out: 0x79
+lbu :: offset: 0x62b, out: 0x1b
+lbu :: offset: 0x62c, out: 0xc8
+lbu :: offset: 0x62d, out: 0x12
+lbu :: offset: 0x62e, out: 0xfc
+lbu :: offset: 0x62f, out: 0x32
+lbu :: offset: 0x630, out: 0xd6
+lbu :: offset: 0x631, out: 0xfc
+lbu :: offset: 0x632, out: 0x2e
+lbu :: offset: 0x633, out: 0xc7
+lbu :: offset: 0x634, out: 0x84
+lbu :: offset: 0x635, out: 0x83
+lbu :: offset: 0x636, out: 0xf8
+lbu :: offset: 0x637, out: 0x3e
+lbu :: offset: 0x638, out: 0x80
+lbu :: offset: 0x639, out: 0x35
+lbu :: offset: 0x63a, out: 0x2a
+lbu :: offset: 0x63b, out: 0x6a
+lbu :: offset: 0x63c, out: 0xbb
+lbu :: offset: 0x63d, out: 0xc7
+lbu :: offset: 0x63e, out: 0xb1
+lbu :: offset: 0x63f, out: 0x38
+lbu :: offset: 0x640, out: 0xc9
+lbu :: offset: 0x641, out: 0x77
+lbu :: offset: 0x642, out: 0xca
+lbu :: offset: 0x643, out: 0x1d
+lbu :: offset: 0x644, out: 0x12
+lbu :: offset: 0x645, out: 0xf6
+lbu :: offset: 0x646, out: 0xeb
+lbu :: offset: 0x647, out: 0x15
+lbu :: offset: 0x648, out: 0xae
+lbu :: offset: 0x649, out: 0x47
+lbu :: offset: 0x64a, out: 0x91
+lbu :: offset: 0x64b, out: 0xfd
+lbu :: offset: 0x64c, out: 0xd9
+lbu :: offset: 0x64d, out: 0xcd
+lbu :: offset: 0x64e, out: 0xaa
+lbu :: offset: 0x64f, out: 0x5e
+lbu :: offset: 0x650, out: 0x17
+lbu :: offset: 0x651, out: 0x11
+lbu :: offset: 0x652, out: 0xe9
+lbu :: offset: 0x653, out: 0x81
+lbu :: offset: 0x654, out: 0xf9
+lbu :: offset: 0x655, out: 0x70
+lbu :: offset: 0x656, out: 0x84
+lbu :: offset: 0x657, out: 0xbb
+lbu :: offset: 0x658, out: 0xe0
+lbu :: offset: 0x659, out: 0x32
+lbu :: offset: 0x65a, out: 0xa5
+lbu :: offset: 0x65b, out: 0xc6
+lbu :: offset: 0x65c, out: 0xea
+lbu :: offset: 0x65d, out: 0x2a
+lbu :: offset: 0x65e, out: 0xd4
+lbu :: offset: 0x65f, out: 0x5
+lbu :: offset: 0x660, out: 0x63
+lbu :: offset: 0x661, out: 0x9e
+lbu :: offset: 0x662, out: 0xfb
+lbu :: offset: 0x663, out: 0x19
+lbu :: offset: 0x664, out: 0x64
+lbu :: offset: 0x665, out: 0xf3
+lbu :: offset: 0x666, out: 0xab
+lbu :: offset: 0x667, out: 0x14
+lbu :: offset: 0x668, out: 0xac
+lbu :: offset: 0x669, out: 0x2a
+lbu :: offset: 0x66a, out: 0xd7
+lbu :: offset: 0x66b, out: 0xa8
+lbu :: offset: 0x66c, out: 0x9a
+lbu :: offset: 0x66d, out: 0x55
+lbu :: offset: 0x66e, out: 0x9d
+lbu :: offset: 0x66f, out: 0x24
+lbu :: offset: 0x670, out: 0xec
+lbu :: offset: 0x671, out: 0x30
+lbu :: offset: 0x672, out: 0x4b
+lbu :: offset: 0x673, out: 0x8
+lbu :: offset: 0x674, out: 0x4f
+lbu :: offset: 0x675, out: 0x76
+lbu :: offset: 0x676, out: 0xd6
+lbu :: offset: 0x677, out: 0xc
+lbu :: offset: 0x678, out: 0xdf
+lbu :: offset: 0x679, out: 0x8f
+lbu :: offset: 0x67a, out: 0x46
+lbu :: offset: 0x67b, out: 0x92
+lbu :: offset: 0x67c, out: 0x7
+lbu :: offset: 0x67d, out: 0xac
+lbu :: offset: 0x67e, out: 0x3
+lbu :: offset: 0x67f, out: 0x7f
+lbu :: offset: 0x680, out: 0xf5
+lbu :: offset: 0x681, out: 0x70
+lbu :: offset: 0x682, out: 0xe6
+lbu :: offset: 0x683, out: 0x56
+lbu :: offset: 0x684, out: 0x6d
+lbu :: offset: 0x685, out: 0xce
+lbu :: offset: 0x686, out: 0x35
+lbu :: offset: 0x687, out: 0x7e
+lbu :: offset: 0x688, out: 0x11
+lbu :: offset: 0x689, out: 0x27
+lbu :: offset: 0x68a, out: 0x65
+lbu :: offset: 0x68b, out: 0x1a
+lbu :: offset: 0x68c, out: 0x59
+lbu :: offset: 0x68d, out: 0x28
+lbu :: offset: 0x68e, out: 0x28
+lbu :: offset: 0x68f, out: 0x15
+lbu :: offset: 0x690, out: 0xfb
+lbu :: offset: 0x691, out: 0xa9
+lbu :: offset: 0x692, out: 0x15
+lbu :: offset: 0x693, out: 0xd2
+lbu :: offset: 0x694, out: 0x83
+lbu :: offset: 0x695, out: 0x32
+lbu :: offset: 0x696, out: 0x1c
+lbu :: offset: 0x697, out: 0x9e
+lbu :: offset: 0x698, out: 0x17
+lbu :: offset: 0x699, out: 0x4
+lbu :: offset: 0x69a, out: 0x2a
+lbu :: offset: 0x69b, out: 0x28
+lbu :: offset: 0x69c, out: 0x49
+lbu :: offset: 0x69d, out: 0xc0
+lbu :: offset: 0x69e, out: 0x95
+lbu :: offset: 0x69f, out: 0x8d
+lbu :: offset: 0x6a0, out: 0xf3
+lbu :: offset: 0x6a1, out: 0x58
+lbu :: offset: 0x6a2, out: 0x80
+lbu :: offset: 0x6a3, out: 0x97
+lbu :: offset: 0x6a4, out: 0x90
+lbu :: offset: 0x6a5, out: 0xa4
+lbu :: offset: 0x6a6, out: 0xe7
+lbu :: offset: 0x6a7, out: 0xf2
+lbu :: offset: 0x6a8, out: 0xaa
+lbu :: offset: 0x6a9, out: 0xb1
+lbu :: offset: 0x6aa, out: 0x75
+lbu :: offset: 0x6ab, out: 0x9
+lbu :: offset: 0x6ac, out: 0xca
+lbu :: offset: 0x6ad, out: 0x4c
+lbu :: offset: 0x6ae, out: 0x5b
+lbu :: offset: 0x6af, out: 0x77
+lbu :: offset: 0x6b0, out: 0x20
+lbu :: offset: 0x6b1, out: 0x10
+lbu :: offset: 0x6b2, out: 0x11
+lbu :: offset: 0x6b3, out: 0x35
+lbu :: offset: 0x6b4, out: 0xa6
+lbu :: offset: 0x6b5, out: 0x84
+lbu :: offset: 0x6b6, out: 0x2b
+lbu :: offset: 0x6b7, out: 0xa
+lbu :: offset: 0x6b8, out: 0x6f
+lbu :: offset: 0x6b9, out: 0x8b
+lbu :: offset: 0x6ba, out: 0xd8
+lbu :: offset: 0x6bb, out: 0xa7
+lbu :: offset: 0x6bc, out: 0xd3
+lbu :: offset: 0x6bd, out: 0xa0
+lbu :: offset: 0x6be, out: 0x3f
+lbu :: offset: 0x6bf, out: 0x2
+lbu :: offset: 0x6c0, out: 0xdd
+lbu :: offset: 0x6c1, out: 0xde
+lbu :: offset: 0x6c2, out: 0x41
+lbu :: offset: 0x6c3, out: 0x99
+lbu :: offset: 0x6c4, out: 0xb7
+lbu :: offset: 0x6c5, out: 0x91
+lbu :: offset: 0x6c6, out: 0xd9
+lbu :: offset: 0x6c7, out: 0xa3
+lbu :: offset: 0x6c8, out: 0x8
+lbu :: offset: 0x6c9, out: 0x95
+lbu :: offset: 0x6ca, out: 0xd
+lbu :: offset: 0x6cb, out: 0x5a
+lbu :: offset: 0x6cc, out: 0x83
+lbu :: offset: 0x6cd, out: 0xb4
+lbu :: offset: 0x6ce, out: 0x1c
+lbu :: offset: 0x6cf, out: 0x75
+lbu :: offset: 0x6d0, out: 0xd3
+lbu :: offset: 0x6d1, out: 0xb2
+lbu :: offset: 0x6d2, out: 0x5b
+lbu :: offset: 0x6d3, out: 0x62
+lbu :: offset: 0x6d4, out: 0x35
+lbu :: offset: 0x6d5, out: 0xad
+lbu :: offset: 0x6d6, out: 0x9c
+lbu :: offset: 0x6d7, out: 0x94
+lbu :: offset: 0x6d8, out: 0x39
+lbu :: offset: 0x6d9, out: 0x97
+lbu :: offset: 0x6da, out: 0x92
+lbu :: offset: 0x6db, out: 0xa6
+lbu :: offset: 0x6dc, out: 0x35
+lbu :: offset: 0x6dd, out: 0x7f
+lbu :: offset: 0x6de, out: 0x56
+lbu :: offset: 0x6df, out: 0x7f
+lbu :: offset: 0x6e0, out: 0x27
+lbu :: offset: 0x6e1, out: 0x7d
+lbu :: offset: 0x6e2, out: 0x8d
+lbu :: offset: 0x6e3, out: 0xdb
+lbu :: offset: 0x6e4, out: 0xe0
+lbu :: offset: 0x6e5, out: 0x88
+lbu :: offset: 0x6e6, out: 0x5b
+lbu :: offset: 0x6e7, out: 0x18
+lbu :: offset: 0x6e8, out: 0x91
+lbu :: offset: 0x6e9, out: 0x1b
+lbu :: offset: 0x6ea, out: 0xd6
+lbu :: offset: 0x6eb, out: 0x2f
+lbu :: offset: 0x6ec, out: 0xd2
+lbu :: offset: 0x6ed, out: 0x4c
+lbu :: offset: 0x6ee, out: 0x5a
+lbu :: offset: 0x6ef, out: 0x25
+lbu :: offset: 0x6f0, out: 0x7b
+lbu :: offset: 0x6f1, out: 0x3f
+lbu :: offset: 0x6f2, out: 0x36
+lbu :: offset: 0x6f3, out: 0xa4
+lbu :: offset: 0x6f4, out: 0x89
+lbu :: offset: 0x6f5, out: 0xd5
+lbu :: offset: 0x6f6, out: 0x48
+lbu :: offset: 0x6f7, out: 0x10
+lbu :: offset: 0x6f8, out: 0x90
+lbu :: offset: 0x6f9, out: 0x57
+lbu :: offset: 0x6fa, out: 0x60
+lbu :: offset: 0x6fb, out: 0xf4
+lbu :: offset: 0x6fc, out: 0x8
+lbu :: offset: 0x6fd, out: 0x57
+lbu :: offset: 0x6fe, out: 0x6d
+lbu :: offset: 0x6ff, out: 0x6a
+lbu :: offset: 0x700, out: 0x7f
+lbu :: offset: 0x701, out: 0x69
+lbu :: offset: 0x702, out: 0x35
+lbu :: offset: 0x703, out: 0xde
+lbu :: offset: 0x704, out: 0xab
+lbu :: offset: 0x705, out: 0xcb
+lbu :: offset: 0x706, out: 0x8e
+lbu :: offset: 0x707, out: 0xd5
+lbu :: offset: 0x708, out: 0xf1
+lbu :: offset: 0x709, out: 0xa5
+lbu :: offset: 0x70a, out: 0xc0
+lbu :: offset: 0x70b, out: 0x8
+lbu :: offset: 0x70c, out: 0xfd
+lbu :: offset: 0x70d, out: 0x48
+lbu :: offset: 0x70e, out: 0x55
+lbu :: offset: 0x70f, out: 0x57
+lbu :: offset: 0x710, out: 0xdb
+lbu :: offset: 0x711, out: 0x8d
+lbu :: offset: 0x712, out: 0xd9
+lbu :: offset: 0x713, out: 0x8e
+lbu :: offset: 0x714, out: 0xfb
+lbu :: offset: 0x715, out: 0x40
+lbu :: offset: 0x716, out: 0xb6
+lbu :: offset: 0x717, out: 0x8b
+lbu :: offset: 0x718, out: 0xcc
+lbu :: offset: 0x719, out: 0x78
+lbu :: offset: 0x71a, out: 0xc5
+lbu :: offset: 0x71b, out: 0xab
+lbu :: offset: 0x71c, out: 0x1e
+lbu :: offset: 0x71d, out: 0xd5
+lbu :: offset: 0x71e, out: 0x0
+lbu :: offset: 0x71f, out: 0xbe
+lbu :: offset: 0x720, out: 0xb2
+lbu :: offset: 0x721, out: 0xa
+lbu :: offset: 0x722, out: 0x17
+lbu :: offset: 0x723, out: 0x1c
+lbu :: offset: 0x724, out: 0x4a
+lbu :: offset: 0x725, out: 0x22
+lbu :: offset: 0x726, out: 0x7e
+lbu :: offset: 0x727, out: 0x2f
+lbu :: offset: 0x728, out: 0xa7
+lbu :: offset: 0x729, out: 0x56
+lbu :: offset: 0x72a, out: 0x22
+lbu :: offset: 0x72b, out: 0xa2
+lbu :: offset: 0x72c, out: 0x2c
+lbu :: offset: 0x72d, out: 0xf1
+lbu :: offset: 0x72e, out: 0x78
+lbu :: offset: 0x72f, out: 0xa9
+lbu :: offset: 0x730, out: 0x2f
+lbu :: offset: 0x731, out: 0xe0
+lbu :: offset: 0x732, out: 0x1e
+lbu :: offset: 0x733, out: 0x81
+lbu :: offset: 0x734, out: 0x3b
+lbu :: offset: 0x735, out: 0xa9
+lbu :: offset: 0x736, out: 0x50
+lbu :: offset: 0x737, out: 0x99
+lbu :: offset: 0x738, out: 0xc
+lbu :: offset: 0x739, out: 0x6a
+lbu :: offset: 0x73a, out: 0x79
+lbu :: offset: 0x73b, out: 0xc6
+lbu :: offset: 0x73c, out: 0x93
+lbu :: offset: 0x73d, out: 0xea
+lbu :: offset: 0x73e, out: 0x4e
+lbu :: offset: 0x73f, out: 0xb4
+lbu :: offset: 0x740, out: 0x57
+lbu :: offset: 0x741, out: 0xb6
+lbu :: offset: 0x742, out: 0xe
+lbu :: offset: 0x743, out: 0x6c
+lbu :: offset: 0x744, out: 0xa0
+lbu :: offset: 0x745, out: 0xfc
+lbu :: offset: 0x746, out: 0x71
+lbu :: offset: 0x747, out: 0xfe
+lbu :: offset: 0x748, out: 0x57
+lbu :: offset: 0x749, out: 0xaf
+lbu :: offset: 0x74a, out: 0x18
+lbu :: offset: 0x74b, out: 0xf8
+lbu :: offset: 0x74c, out: 0x3d
+lbu :: offset: 0x74d, out: 0x39
+lbu :: offset: 0x74e, out: 0xd6
+lbu :: offset: 0x74f, out: 0x4e
+lbu :: offset: 0x750, out: 0xa
+lbu :: offset: 0x751, out: 0x77
+lbu :: offset: 0x752, out: 0x36
+lbu :: offset: 0x753, out: 0x2
+lbu :: offset: 0x754, out: 0x20
+lbu :: offset: 0x755, out: 0x90
+lbu :: offset: 0x756, out: 0x2e
+lbu :: offset: 0x757, out: 0xf2
+lbu :: offset: 0x758, out: 0x5d
+lbu :: offset: 0x759, out: 0xc4
+lbu :: offset: 0x75a, out: 0xd0
+lbu :: offset: 0x75b, out: 0xaf
+lbu :: offset: 0x75c, out: 0xc7
+lbu :: offset: 0x75d, out: 0xb6
+lbu :: offset: 0x75e, out: 0xef
+lbu :: offset: 0x75f, out: 0x81
+lbu :: offset: 0x760, out: 0x5b
+lbu :: offset: 0x761, out: 0x31
+lbu :: offset: 0x762, out: 0x2
+lbu :: offset: 0x763, out: 0x81
+lbu :: offset: 0x764, out: 0x51
+lbu :: offset: 0x765, out: 0xf3
+lbu :: offset: 0x766, out: 0xd8
+lbu :: offset: 0x767, out: 0xee
+lbu :: offset: 0x768, out: 0x5e
+lbu :: offset: 0x769, out: 0xfd
+lbu :: offset: 0x76a, out: 0x5e
+lbu :: offset: 0x76b, out: 0x99
+lbu :: offset: 0x76c, out: 0xb9
+lbu :: offset: 0x76d, out: 0xef
+lbu :: offset: 0x76e, out: 0xaf
+lbu :: offset: 0x76f, out: 0xad
+lbu :: offset: 0x770, out: 0x86
+lbu :: offset: 0x771, out: 0x30
+lbu :: offset: 0x772, out: 0x25
+lbu :: offset: 0x773, out: 0xeb
+lbu :: offset: 0x774, out: 0x33
+lbu :: offset: 0x775, out: 0x19
+lbu :: offset: 0x776, out: 0x6
+lbu :: offset: 0x777, out: 0x34
+lbu :: offset: 0x778, out: 0xbc
+lbu :: offset: 0x779, out: 0x52
+lbu :: offset: 0x77a, out: 0x4c
+lbu :: offset: 0x77b, out: 0x4b
+lbu :: offset: 0x77c, out: 0x26
+lbu :: offset: 0x77d, out: 0xda
+lbu :: offset: 0x77e, out: 0x48
+lbu :: offset: 0x77f, out: 0x17
+lbu :: offset: 0x780, out: 0x89
+lbu :: offset: 0x781, out: 0xbe
+lbu :: offset: 0x782, out: 0x2
+lbu :: offset: 0x783, out: 0x93
+lbu :: offset: 0x784, out: 0x9a
+lbu :: offset: 0x785, out: 0xfc
+lbu :: offset: 0x786, out: 0xfd
+lbu :: offset: 0x787, out: 0x34
+lbu :: offset: 0x788, out: 0x80
+lbu :: offset: 0x789, out: 0xd1
+lbu :: offset: 0x78a, out: 0x21
+lbu :: offset: 0x78b, out: 0xc5
+lbu :: offset: 0x78c, out: 0xc3
+lbu :: offset: 0x78d, out: 0x78
+lbu :: offset: 0x78e, out: 0x2
+lbu :: offset: 0x78f, out: 0xd0
+lbu :: offset: 0x790, out: 0x5d
+lbu :: offset: 0x791, out: 0x7a
+lbu :: offset: 0x792, out: 0xd3
+lbu :: offset: 0x793, out: 0xc1
+lbu :: offset: 0x794, out: 0xa4
+lbu :: offset: 0x795, out: 0x44
+lbu :: offset: 0x796, out: 0x9
+lbu :: offset: 0x797, out: 0xe9
+lbu :: offset: 0x798, out: 0x39
+lbu :: offset: 0x799, out: 0x98
+lbu :: offset: 0x79a, out: 0xef
+lbu :: offset: 0x79b, out: 0xdd
+lbu :: offset: 0x79c, out: 0x8f
+lbu :: offset: 0x79d, out: 0x69
+lbu :: offset: 0x79e, out: 0xfd
+lbu :: offset: 0x79f, out: 0x65
+lbu :: offset: 0x7a0, out: 0x52
+lbu :: offset: 0x7a1, out: 0xaf
+lbu :: offset: 0x7a2, out: 0xb5
+lbu :: offset: 0x7a3, out: 0x81
+lbu :: offset: 0x7a4, out: 0xad
+lbu :: offset: 0x7a5, out: 0xe3
+lbu :: offset: 0x7a6, out: 0x9e
+lbu :: offset: 0x7a7, out: 0xc4
+lbu :: offset: 0x7a8, out: 0xe9
+lbu :: offset: 0x7a9, out: 0x63
+lbu :: offset: 0x7aa, out: 0xb2
+lbu :: offset: 0x7ab, out: 0xbd
+lbu :: offset: 0x7ac, out: 0xe8
+lbu :: offset: 0x7ad, out: 0x41
+lbu :: offset: 0x7ae, out: 0xa9
+lbu :: offset: 0x7af, out: 0x7a
+lbu :: offset: 0x7b0, out: 0x8d
+lbu :: offset: 0x7b1, out: 0xb5
+lbu :: offset: 0x7b2, out: 0xf3
+lbu :: offset: 0x7b3, out: 0x42
+lbu :: offset: 0x7b4, out: 0x9e
+lbu :: offset: 0x7b5, out: 0x20
+lbu :: offset: 0x7b6, out: 0x2c
+lbu :: offset: 0x7b7, out: 0x37
+lbu :: offset: 0x7b8, out: 0x3b
+lbu :: offset: 0x7b9, out: 0xa8
+lbu :: offset: 0x7ba, out: 0x22
+lbu :: offset: 0x7bb, out: 0xe1
+lbu :: offset: 0x7bc, out: 0xb7
+lbu :: offset: 0x7bd, out: 0x70
+lbu :: offset: 0x7be, out: 0xf8
+lbu :: offset: 0x7bf, out: 0x30
+lbu :: offset: 0x7c0, out: 0xec
+lbu :: offset: 0x7c1, out: 0x30
+lbu :: offset: 0x7c2, out: 0x89
+lbu :: offset: 0x7c3, out: 0x67
+lbu :: offset: 0x7c4, out: 0x4b
+lbu :: offset: 0x7c5, out: 0xde
+lbu :: offset: 0x7c6, out: 0x2
+lbu :: offset: 0x7c7, out: 0x9e
+lbu :: offset: 0x7c8, out: 0x1e
+lbu :: offset: 0x7c9, out: 0x63
+lbu :: offset: 0x7ca, out: 0x26
+lbu :: offset: 0x7cb, out: 0x98
+lbu :: offset: 0x7cc, out: 0x63
+lbu :: offset: 0x7cd, out: 0xa8
+lbu :: offset: 0x7ce, out: 0x61
+lbu :: offset: 0x7cf, out: 0xcd
+lbu :: offset: 0x7d0, out: 0xca
+lbu :: offset: 0x7d1, out: 0xd3
+lbu :: offset: 0x7d2, out: 0x7b
+lbu :: offset: 0x7d3, out: 0x9a
+lbu :: offset: 0x7d4, out: 0x89
+lbu :: offset: 0x7d5, out: 0xbc
+lbu :: offset: 0x7d6, out: 0x87
+lbu :: offset: 0x7d7, out: 0xae
+lbu :: offset: 0x7d8, out: 0x17
+lbu :: offset: 0x7d9, out: 0xaf
+lbu :: offset: 0x7da, out: 0x81
+lbu :: offset: 0x7db, out: 0x64
+lbu :: offset: 0x7dc, out: 0x4d
+lbu :: offset: 0x7dd, out: 0x64
+lbu :: offset: 0x7de, out: 0xec
+lbu :: offset: 0x7df, out: 0x58
+lbu :: offset: 0x7e0, out: 0x66
+lbu :: offset: 0x7e1, out: 0xb6
+lbu :: offset: 0x7e2, out: 0x36
+lbu :: offset: 0x7e3, out: 0xb2
+lbu :: offset: 0x7e4, out: 0x5f
+lbu :: offset: 0x7e5, out: 0xce
+lbu :: offset: 0x7e6, out: 0xc
+lbu :: offset: 0x7e7, out: 0x68
+lbu :: offset: 0x7e8, out: 0x75
+lbu :: offset: 0x7e9, out: 0x4d
+lbu :: offset: 0x7ea, out: 0x6d
+lbu :: offset: 0x7eb, out: 0x1f
+lbu :: offset: 0x7ec, out: 0x47
+lbu :: offset: 0x7ed, out: 0x99
+lbu :: offset: 0x7ee, out: 0xaa
+lbu :: offset: 0x7ef, out: 0x3b
+lbu :: offset: 0x7f0, out: 0x6b
+lbu :: offset: 0x7f1, out: 0x23
+lbu :: offset: 0x7f2, out: 0x12
+lbu :: offset: 0x7f3, out: 0x5f
+lbu :: offset: 0x7f4, out: 0x44
+lbu :: offset: 0x7f5, out: 0x9b
+lbu :: offset: 0x7f6, out: 0x4d
+lbu :: offset: 0x7f7, out: 0x61
+lbu :: offset: 0x7f8, out: 0x21
+lbu :: offset: 0x7f9, out: 0x41
+lbu :: offset: 0x7fa, out: 0xa8
+lbu :: offset: 0x7fb, out: 0x1b
+lbu :: offset: 0x7fc, out: 0x66
+lbu :: offset: 0x7fd, out: 0xec
+lbu :: offset: 0x7fe, out: 0xa6
+lbu :: offset: 0x7ff, out: 0xa2
+ld :: offset: 0x0, out: 0x0
+ld :: offset: 0x8, out: 0xd4326d909823b6e
+ld :: offset: 0x10, out: 0x17c56b6b130476dc
+ld :: offset: 0x18, out: 0x1e4750051a864db2
+ld :: offset: 0x20, out: 0x22c9f00f2608edb8
+ld :: offset: 0x28, out: 0x2b4bcb612f8ad6d6
+ld :: offset: 0x30, out: 0x31cd86d3350c9b64
+ld :: offset: 0x38, out: 0x384fbdbd3c8ea00a
+ld :: offset: 0x40, out: 0x48d0c6c74c11db70
+ld :: offset: 0x48, out: 0x4152fda94593e01e
+ld :: offset: 0x50, out: 0x5bd4b01b5f15adac
+ld :: offset: 0x58, out: 0x52568b75569796c2
+ld :: offset: 0x60, out: 0x6ed82b7f6a1936c8
+ld :: offset: 0x68, out: 0x675a1011639b0da6
+ld :: offset: 0x70, out: 0x7ddc5da3791d4014
+ld :: offset: 0x78, out: 0x745e66cd709f7b7a
+ld :: offset: 0x80, out: 0x9ce2ab579823b6e0
+ld :: offset: 0x88, out: 0x9560903991a18d8e
+ld :: offset: 0x90, out: 0x8fe6dd8b8b27c03c
+ld :: offset: 0x98, out: 0x8664e6e582a5fb52
+ld :: offset: 0xa0, out: 0xbaea46efbe2b5b58
+ld :: offset: 0xa8, out: 0xb3687d81b7a96036
+ld :: offset: 0xb0, out: 0xa9ee3033ad2f2d84
+ld :: offset: 0xb8, out: 0xa06c0b5da4ad16ea
+ld :: offset: 0xc0, out: 0xd0f37027d4326d90
+ld :: offset: 0xc8, out: 0xd9714b49ddb056fe
+ld :: offset: 0xd0, out: 0xc3f706fbc7361b4c
+ld :: offset: 0xd8, out: 0xca753d95ceb42022
+ld :: offset: 0xe0, out: 0xf6fb9d9ff23a8028
+ld :: offset: 0xe8, out: 0xff79a6f1fbb8bb46
+ld :: offset: 0xf0, out: 0xe5ffeb43e13ef6f4
+ld :: offset: 0xf8, out: 0xec7dd02de8bccd9a
+ld :: offset: 0x100, out: 0x30476dc034867077
+ld :: offset: 0x108, out: 0x39c556ae3d044b19
+ld :: offset: 0x110, out: 0x23431b1c278206ab
+ld :: offset: 0x118, out: 0x2ac120722e003dc5
+ld :: offset: 0x120, out: 0x164f8078128e9dcf
+ld :: offset: 0x128, out: 0x1fcdbb161b0ca6a1
+ld :: offset: 0x130, out: 0x54bf6a4018aeb13
+ld :: offset: 0x138, out: 0xcc9cdca0808d07d
+ld :: offset: 0x140, out: 0x7c56b6b07897ab07
+ld :: offset: 0x148, out: 0x75d48dde71159069
+ld :: offset: 0x150, out: 0x6f52c06c6b93dddb
+ld :: offset: 0x158, out: 0x66d0fb026211e6b5
+ld :: offset: 0x160, out: 0x5a5e5b085e9f46bf
+ld :: offset: 0x168, out: 0x53dc6066571d7dd1
+ld :: offset: 0x170, out: 0x495a2dd44d9b3063
+ld :: offset: 0x178, out: 0x40d816ba44190b0d
+ld :: offset: 0x180, out: 0xa864db20aca5c697
+ld :: offset: 0x188, out: 0xa1e6e04ea527fdf9
+ld :: offset: 0x190, out: 0xbb60adfcbfa1b04b
+ld :: offset: 0x198, out: 0xb2e29692b6238b25
+ld :: offset: 0x1a0, out: 0x8aad2b2f
+ld :: offset: 0x1a8, out: 0x87ee0df600000000
+ld :: offset: 0x1b0, out: 0x9d68404499a95df3
+ld :: offset: 0x1b8, out: 0x94ea7b2a902b669d
+ld :: offset: 0x1c0, out: 0xe4750050e0b41de7
+ld :: offset: 0x1c8, out: 0xedf73b3ee9362689
+ld :: offset: 0x1d0, out: 0xf771768cf3b06b3b
+ld :: offset: 0x1d8, out: 0xfef34de2fa325055
+ld :: offset: 0x1e0, out: 0xc27dede8c6bcf05f
+ld :: offset: 0x1e8, out: 0xcbffd686cf3ecb31
+ld :: offset: 0x1f0, out: 0xd1799b34d5b88683
+ld :: offset: 0x1f8, out: 0xd8fba05adc3abded
+ld :: offset: 0x200, out: 0x6dcdfd59690ce0ee
+ld :: offset: 0x208, out: 0x644fc637608edb80
+ld :: offset: 0x210, out: 0x7ec98b857a089632
+ld :: offset: 0x218, out: 0x774bb0eb738aad5c
+ld :: offset: 0x220, out: 0x4bc510e14f040d56
+ld :: offset: 0x228, out: 0x42472b8f46863638
+ld :: offset: 0x230, out: 0x58c1663d5c007b8a
+ld :: offset: 0x238, out: 0x51435d53558240e4
+ld :: offset: 0x240, out: 0x21dc2629251d3b9e
+ld :: offset: 0x248, out: 0x285e1d472c9f00f0
+ld :: offset: 0x250, out: 0x32d850f536194d42
+ld :: offset: 0x258, out: 0x3b5a6b9b3f9b762c
+ld :: offset: 0x260, out: 0x7d4cb910315d626
+ld :: offset: 0x268, out: 0xe56f0ff0a97ed48
+ld :: offset: 0x270, out: 0x14d0bd4d1011a0fa
+ld :: offset: 0x278, out: 0x1d52862319939b94
+ld :: offset: 0x280, out: 0xf5ee4bb9f12f560e
+ld :: offset: 0x288, out: 0xfc6c70d7f8ad6d60
+ld :: offset: 0x290, out: 0xe6ea3d65e22b20d2
+ld :: offset: 0x298, out: 0xef68060beba91bbc
+ld :: offset: 0x2a0, out: 0xd3e6a601d727bbb6
+ld :: offset: 0x2a8, out: 0xda649d6fdea580d8
+ld :: offset: 0x2b0, out: 0xc423cd6a
+ld :: offset: 0x2b8, out: 0xcda1f604
+ld :: offset: 0x2c0, out: 0xb9ff90c9bd3e8d7e
+ld :: offset: 0x2c8, out: 0xb07daba7b4bcb610
+ld :: offset: 0x2d0, out: 0xaafbe615ae3afba2
+ld :: offset: 0x2d8, out: 0xa379dd7ba7b8c0cc
+ld :: offset: 0x2e0, out: 0x9ff77d719b3660c6
+ld :: offset: 0x2e8, out: 0x9675461f92b45ba8
+ld :: offset: 0x2f0, out: 0x8cf30bad8832161a
+ld :: offset: 0x2f8, out: 0x857130c381b02d74
+ld :: offset: 0x300, out: 0x594b8d2e5d8a9099
+ld :: offset: 0x308, out: 0x50c9b6405408abf7
+ld :: offset: 0x310, out: 0x4a4ffbf24e8ee645
+ld :: offset: 0x318, out: 0x43cdc09c470cdd2b
+ld :: offset: 0x320, out: 0x7f4360967b827d21
+ld :: offset: 0x328, out: 0x76c15bf87200464f
+ld :: offset: 0x330, out: 0x6c47164a68860bfd
+ld :: offset: 0x338, out: 0x65c52d2461043093
+ld :: offset: 0x340, out: 0x155a565e119b4be9
+ld :: offset: 0x348, out: 0x1cd86d3018197087
+ld :: offset: 0x350, out: 0x65e2082029f3d35
+ld :: offset: 0x358, out: 0xfdc1bec0b1d065b
+ld :: offset: 0x360, out: 0x3352bbe63793a651
+ld :: offset: 0x368, out: 0x3ad080883e119d3f
+ld :: offset: 0x370, out: 0x2056cd3a2497d08d
+ld :: offset: 0x378, out: 0x29d4f6542d15ebe3
+ld :: offset: 0x380, out: 0xc1683bcec5a92679
+ld :: offset: 0x388, out: 0xc8ea00a0cc2b1d17
+ld :: offset: 0x390, out: 0xd26c4d12d6ad50a5
+ld :: offset: 0x398, out: 0xdbee767cdf2f6bcb
+ld :: offset: 0x3a0, out: 0xe760d676e3a1cbc1
+ld :: offset: 0x3a8, out: 0xeee2ed18ea23f0af
+ld :: offset: 0x3b0, out: 0xf464a0aaf0a5bd1d
+ld :: offset: 0x3b8, out: 0xfde69bc4f9278673
+ld :: offset: 0x3c0, out: 0x8d79e0be89b8fd09
+ld :: offset: 0x3c8, out: 0x84fbdbd0803ac667
+ld :: offset: 0x3d0, out: 0x9e7d96629abc8bd5
+ld :: offset: 0x3d8, out: 0x97ffad0c933eb0bb
+ld :: offset: 0x3e0, out: 0xab710d06afb010b1
+ld :: offset: 0x3e8, out: 0xa2f33668a6322bdf
+ld :: offset: 0x3f0, out: 0xb8757bdabcb4666d
+ld :: offset: 0x3f8, out: 0xb1f740b4b5365d03
+ld :: offset: 0x0, out: 0x12bd6aa
+ld :: offset: 0x8, out: 0x7e876382d2ab13
+ld :: offset: 0x10, out: 0x976d6e9ac31510f3
+ld :: offset: 0x18, out: 0xb7746d775ad6a5fb
+ld :: offset: 0x20, out: 0x42b0c0a28677b502
+ld :: offset: 0x28, out: 0x2aa89d319e3c30ad
+ld :: offset: 0x30, out: 0x1f308ec377fb413d
+ld :: offset: 0x38, out: 0x7aa04213c760e4f7
+ld :: offset: 0x40, out: 0x9e705cc51ad8dca0
+ld :: offset: 0x48, out: 0x4b3dda869615a60d
+ld :: offset: 0x50, out: 0x5e7a4dd6353d41d
+ld :: offset: 0x58, out: 0x3af35a9dc40bd413
+ld :: offset: 0x60, out: 0x47f505569a08a180
+ld :: offset: 0x68, out: 0x9564b77fd6d2040f
+ld :: offset: 0x70, out: 0xcebc8279b2c76bbe
+ld :: offset: 0x78, out: 0xb5034c2f1f18e4c7
+ld :: offset: 0x80, out: 0x94ff52fc81afa797
+ld :: offset: 0x88, out: 0x31d8d9166dfc50ea
+ld :: offset: 0x90, out: 0x36549bd678e895b1
+ld :: offset: 0x98, out: 0x85e0a6319b63259b
+ld :: offset: 0xa0, out: 0x556b3ecaccf17ac5
+ld :: offset: 0xa8, out: 0xb42f5fc581eea0fb
+ld :: offset: 0xb0, out: 0x25b50fec14682d97
+ld :: offset: 0xb8, out: 0xfc93c5132cfb087a
+ld :: offset: 0xc0, out: 0x3c2cd9a9cda20766
+ld :: offset: 0xc8, out: 0x1791722a7d72da3e
+ld :: offset: 0xd0, out: 0x87cc9d193ce24ad
+ld :: offset: 0xd8, out: 0x1d2a757038984ed2
+ld :: offset: 0xe0, out: 0xd0d070db710cd036
+ld :: offset: 0xe8, out: 0x39c21c7d03415604
+ld :: offset: 0xf0, out: 0x8e94b7af8ecc31ce
+ld :: offset: 0xf8, out: 0x24eb6a8d1ce7674f
+ld :: offset: 0x100, out: 0x2f39454412d6e4a7
+ld :: offset: 0x108, out: 0x2608c2b756da4c54
+ld :: offset: 0x110, out: 0x900102dac8d7252f
+ld :: offset: 0x118, out: 0xc890d5f1f2efa4f7
+ld :: offset: 0x120, out: 0xed5005cbc8b0a214
+ld :: offset: 0x128, out: 0x314791895991136c
+ld :: offset: 0x130, out: 0xc6eecff99a2fb6f3
+ld :: offset: 0x138, out: 0xa809521238895270
+ld :: offset: 0x140, out: 0x87750a04ad765040
+ld :: offset: 0x148, out: 0x2c3de85e84bb5a83
+ld :: offset: 0x150, out: 0xae6aff8fc506aa67
+ld :: offset: 0x158, out: 0xc07112dd60ed5ee3
+ld :: offset: 0x160, out: 0xc4c770f630dcca5a
+ld :: offset: 0x168, out: 0xdfec2b2383cd5277
+ld :: offset: 0x170, out: 0xd3adba260ff7d96b
+ld :: offset: 0x178, out: 0x4ab4aa798418c00e
+ld :: offset: 0x180, out: 0xbb8c035e0de0f0b8
+ld :: offset: 0x188, out: 0x33b06f54a97fdcf1
+ld :: offset: 0x190, out: 0x77433f373fd1c081
+ld :: offset: 0x198, out: 0xec91d993c92195e4
+ld :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab
+ld :: offset: 0x1a8, out: 0x19364378c7ce8d1e
+ld :: offset: 0x1b0, out: 0xb99e8def2f384907
+ld :: offset: 0x1b8, out: 0x47eacdcd582b12fe
+ld :: offset: 0x1c0, out: 0xd685884e76558c4f
+ld :: offset: 0x1c8, out: 0x6168d62a34c195c7
+ld :: offset: 0x1d0, out: 0xd30169894df47405
+ld :: offset: 0x1d8, out: 0x1ca190bf6cbb06db
+ld :: offset: 0x1e0, out: 0x58300f029cae393a
+ld :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d
+ld :: offset: 0x1f0, out: 0x8a96047be3405b48
+ld :: offset: 0x1f8, out: 0x75bfafd2d519d322
+ld :: offset: 0x200, out: 0xde230867a630f6ad
+ld :: offset: 0x208, out: 0x2c0a0cf256103260
+ld :: offset: 0x210, out: 0x94a90544249b18ef
+ld :: offset: 0x218, out: 0xf9519fb55b56fcde
+ld :: offset: 0x220, out: 0x81daf8200468319b
+ld :: offset: 0x228, out: 0x8c61ca5a5725f2ec
+ld :: offset: 0x230, out: 0x8b95a6ddc25dc8bf
+ld :: offset: 0x238, out: 0x300ce751dac6162f
+ld :: offset: 0x240, out: 0x6778fdf3ba52a850
+ld :: offset: 0x248, out: 0xad00b1f7da78479f
+ld :: offset: 0x250, out: 0x8d44168a6b6d98a
+ld :: offset: 0x258, out: 0xf518381dce634413
+ld :: offset: 0x260, out: 0xe4627f3fe5255fc0
+ld :: offset: 0x268, out: 0xccd392e176321f28
+ld :: offset: 0x270, out: 0x829464944018fd8f
+ld :: offset: 0x278, out: 0x15d3204052e8f0e5
+ld :: offset: 0x280, out: 0x7caf83d2880ff344
+ld :: offset: 0x288, out: 0xf156a04c747defd7
+ld :: offset: 0x290, out: 0x93e2601c0f31d710
+ld :: offset: 0x298, out: 0xe1e1a679131cd933
+ld :: offset: 0x2a0, out: 0x24296b75a76fa427
+ld :: offset: 0x2a8, out: 0xd296e2d2139ee56a
+ld :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0
+ld :: offset: 0x2b8, out: 0x76c89e80c07dc168
+ld :: offset: 0x2c0, out: 0x70dc3454bfe348f
+ld :: offset: 0x2c8, out: 0xbddc7123dd6d241b
+ld :: offset: 0x2d0, out: 0xf62fb727a59fcebe
+ld :: offset: 0x2d8, out: 0x109f27e90f9f46fb
+ld :: offset: 0x2e0, out: 0x3f63daa9afd199d7
+ld :: offset: 0x2e8, out: 0xdbcb312ea3d484f2
+ld :: offset: 0x2f0, out: 0x1f353faada4fe4c6
+ld :: offset: 0x2f8, out: 0x8b086ee07150c260
+ld :: offset: 0x300, out: 0xe54750d5d9257f25
+ld :: offset: 0x308, out: 0x3d69625fe9a6db5b
+ld :: offset: 0x310, out: 0x70a3e0424340ac96
+ld :: offset: 0x318, out: 0xc0478f036980171e
+ld :: offset: 0x320, out: 0x3ce839a51cf929e3
+ld :: offset: 0x328, out: 0xe2fbfa895eb68958
+ld :: offset: 0x330, out: 0xd24bb05d76ed25b7
+ld :: offset: 0x338, out: 0xeb9682c170312f1
+ld :: offset: 0x340, out: 0x84785280dd301d0d
+ld :: offset: 0x348, out: 0x179c77aa1f8fd6ef
+ld :: offset: 0x350, out: 0x26444ced2998436d
+ld :: offset: 0x358, out: 0x7175c9dd58ca708
+ld :: offset: 0x360, out: 0x663d061055833287
+ld :: offset: 0x368, out: 0xab7dd0488951d68b
+ld :: offset: 0x370, out: 0xf69823670e82471b
+ld :: offset: 0x378, out: 0x36886c59d98d26b2
+ld :: offset: 0x380, out: 0x9ca4bdbd32be479
+ld :: offset: 0x388, out: 0xfd5d7d1d9962e61f
+ld :: offset: 0x390, out: 0x3f46553ecad374df
+ld :: offset: 0x398, out: 0x2e9ab97d3eedf2a7
+ld :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33
+ld :: offset: 0x3a8, out: 0x8bb938e3155ec9dc
+ld :: offset: 0x3b0, out: 0xd2df25c419478206
+ld :: offset: 0x3b8, out: 0xbc65bf27eb321825
+ld :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da
+ld :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8
+ld :: offset: 0x3d0, out: 0x478909b59a99269
+ld :: offset: 0x3d8, out: 0xbfb31cc87857360f
+ld :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2
+ld :: offset: 0x3e8, out: 0x15da9474b7a8d5e4
+ld :: offset: 0x3f0, out: 0xf6b3537d2af90fcc
+ld :: offset: 0x3f8, out: 0x223d7cfe2b961897
+ld :: offset: 0x400, out: 0x420b34f533734a4b
+ld :: offset: 0x408, out: 0x897c8c8ddd46b33c
+ld :: offset: 0x410, out: 0x7a387445e392ccd9
+ld :: offset: 0x418, out: 0x512f29b1d80000c9
+ld :: offset: 0x420, out: 0xeaded5c53dad020a
+ld :: offset: 0x428, out: 0x8a6229d731eea35b
+ld :: offset: 0x430, out: 0x2c3c3f9e48985649
+ld :: offset: 0x438, out: 0x7ff61e78dc9c0b77
+ld :: offset: 0x440, out: 0x2299b0e01d5e68ec
+ld :: offset: 0x448, out: 0x7c3b04673d0c6e25
+ld :: offset: 0x450, out: 0x164e17c1e7fb6587
+ld :: offset: 0x458, out: 0xfa4ca28b56d4950b
+ld :: offset: 0x460, out: 0xe5e9a314be7fa08a
+ld :: offset: 0x468, out: 0xf8be8164159649c5
+ld :: offset: 0x470, out: 0x7ca3259784e69b17
+ld :: offset: 0x478, out: 0xfc8d543ca1f24f5c
+ld :: offset: 0x480, out: 0x4aeb6ca0e3459e36
+ld :: offset: 0x488, out: 0xc532e18e187980fa
+ld :: offset: 0x490, out: 0xb3fdec294f287d1c
+ld :: offset: 0x498, out: 0xb620660a49732b90
+ld :: offset: 0x4a0, out: 0x993138f16cfde991
+ld :: offset: 0x4a8, out: 0xde02d1337d5407b9
+ld :: offset: 0x4b0, out: 0x13a390e1e1dab15a
+ld :: offset: 0x4b8, out: 0x743491a6828716c8
+ld :: offset: 0x4c0, out: 0x8cff404aede292f2
+ld :: offset: 0x4c8, out: 0xb9cec0db1f837636
+ld :: offset: 0x4d0, out: 0x2eaa5aa70509771c
+ld :: offset: 0x4d8, out: 0xd327538e1875241b
+ld :: offset: 0x4e0, out: 0x42e9f8548b739b6b
+ld :: offset: 0x4e8, out: 0x78e4e50ceccbba1a
+ld :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb
+ld :: offset: 0x4f8, out: 0x73916483ae3e9423
+ld :: offset: 0x500, out: 0x276af70a0e128561
+ld :: offset: 0x508, out: 0x3045bf6b5e74b6e
+ld :: offset: 0x510, out: 0x20223f1308accfa6
+ld :: offset: 0x518, out: 0xf83c55743976b5f5
+ld :: offset: 0x520, out: 0x1f9720f946923c3d
+ld :: offset: 0x528, out: 0x620d28506d2448dd
+ld :: offset: 0x530, out: 0x60a521e99ff4a732
+ld :: offset: 0x538, out: 0x5a08f3ab5c680f0b
+ld :: offset: 0x540, out: 0xc7a59be7800f3d26
+ld :: offset: 0x548, out: 0x1aecdf2982ca1b41
+ld :: offset: 0x550, out: 0x2b8613a260d19dcd
+ld :: offset: 0x558, out: 0x2518ac8b0e8bbe7f
+ld :: offset: 0x560, out: 0x743e568d2fcf486b
+ld :: offset: 0x568, out: 0x126f646f34c31728
+ld :: offset: 0x570, out: 0xaab0196156fc4d12
+ld :: offset: 0x578, out: 0x7535cd338595d342
+ld :: offset: 0x580, out: 0xdfb254da422346ec
+ld :: offset: 0x588, out: 0xa86726c90081ab2a
+ld :: offset: 0x590, out: 0x9bfeffa1679d7438
+ld :: offset: 0x598, out: 0xc7699826b7dee244
+ld :: offset: 0x5a0, out: 0x3c07af97fba6704a
+ld :: offset: 0x5a8, out: 0x521364dc04c58bfe
+ld :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc
+ld :: offset: 0x5b8, out: 0xe336c60cdeeb954d
+ld :: offset: 0x5c0, out: 0xd5b2120c6f52416e
+ld :: offset: 0x5c8, out: 0x85a2d4ff7e628a34
+ld :: offset: 0x5d0, out: 0x986a2b654a4e7e07
+ld :: offset: 0x5d8, out: 0xa974eac43a489b55
+ld :: offset: 0x5e0, out: 0xa388c16272f1f8f5
+ld :: offset: 0x5e8, out: 0xe8c11f45e7495ea9
+ld :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4
+ld :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0
+ld :: offset: 0x600, out: 0xb42ad6e659a7b04f
+ld :: offset: 0x608, out: 0x4bf8485ab728922f
+ld :: offset: 0x610, out: 0x76a3d60c3b66a7fb
+ld :: offset: 0x618, out: 0x31e0c6affdc28eda
+ld :: offset: 0x620, out: 0x53606bb4bf0c999d
+ld :: offset: 0x628, out: 0x32fc12c81b7919f0
+ld :: offset: 0x630, out: 0x3ef88384c72efcd6
+ld :: offset: 0x638, out: 0x38b1c7bb6a2a3580
+ld :: offset: 0x640, out: 0x15ebf6121dca77c9
+ld :: offset: 0x648, out: 0x5eaacdd9fd9147ae
+ld :: offset: 0x650, out: 0xbb8470f981e91117
+ld :: offset: 0x658, out: 0x5d42aeac6a532e0
+ld :: offset: 0x660, out: 0x14abf36419fb9e63
+ld :: offset: 0x668, out: 0x249d559aa8d72aac
+ld :: offset: 0x670, out: 0xcd6764f084b30ec
+ld :: offset: 0x678, out: 0x7f03ac0792468fdf
+ld :: offset: 0x680, out: 0x7e35ce6d56e670f5
+ld :: offset: 0x688, out: 0x152828591a652711
+ld :: offset: 0x690, out: 0x9e1c3283d215a9fb
+ld :: offset: 0x698, out: 0x8d95c049282a0417
+ld :: offset: 0x6a0, out: 0xf2e7a490978058f3
+ld :: offset: 0x6a8, out: 0x775b4cca0975b1aa
+ld :: offset: 0x6b0, out: 0xa2b84a635111020
+ld :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f
+ld :: offset: 0x6c0, out: 0xa3d991b79941dedd
+ld :: offset: 0x6c8, out: 0x751cb4835a0d9508
+ld :: offset: 0x6d0, out: 0x949cad35625bb2d3
+ld :: offset: 0x6d8, out: 0x7f567f35a6929739
+ld :: offset: 0x6e0, out: 0x185b88e0db8d7d27
+ld :: offset: 0x6e8, out: 0x255a4cd22fd61b91
+ld :: offset: 0x6f0, out: 0x1048d589a4363f7b
+ld :: offset: 0x6f8, out: 0x6a6d5708f4605790
+ld :: offset: 0x700, out: 0xd58ecbabde35697f
+ld :: offset: 0x708, out: 0x575548fd08c0a5f1
+ld :: offset: 0x710, out: 0x8bb640fb8ed98ddb
+ld :: offset: 0x718, out: 0xbe00d51eabc578cc
+ld :: offset: 0x720, out: 0x2f7e224a1c170ab2
+ld :: offset: 0x728, out: 0xa978f12ca22256a7
+ld :: offset: 0x730, out: 0x9950a93b811ee02f
+ld :: offset: 0x738, out: 0xb44eea93c6796a0c
+ld :: offset: 0x740, out: 0xfe71fca06c0eb657
+ld :: offset: 0x748, out: 0x4ed6393df818af57
+ld :: offset: 0x750, out: 0xf22e90200236770a
+ld :: offset: 0x758, out: 0x81efb6c7afd0c45d
+ld :: offset: 0x760, out: 0xeed8f3518102315b
+ld :: offset: 0x768, out: 0xadafefb9995efd5e
+ld :: offset: 0x770, out: 0x34061933eb253086
+ld :: offset: 0x778, out: 0x1748da264b4c52bc
+ld :: offset: 0x780, out: 0x34fdfc9a9302be89
+ld :: offset: 0x788, out: 0xd00278c3c521d180
+ld :: offset: 0x790, out: 0xe90944a4c1d37a5d
+ld :: offset: 0x798, out: 0x65fd698fddef9839
+ld :: offset: 0x7a0, out: 0xc49ee3ad81b5af52
+ld :: offset: 0x7a8, out: 0x7aa941e8bdb263e9
+ld :: offset: 0x7b0, out: 0x372c209e42f3b58d
+ld :: offset: 0x7b8, out: 0x30f870b7e122a83b
+ld :: offset: 0x7c0, out: 0x9e02de4b678930ec
+ld :: offset: 0x7c8, out: 0xcd61a8639826631e
+ld :: offset: 0x7d0, out: 0xae87bc899a7bd3ca
+ld :: offset: 0x7d8, out: 0x58ec644d6481af17
+ld :: offset: 0x7e0, out: 0x680cce5fb236b666
+ld :: offset: 0x7e8, out: 0x3baa99471f6d4d75
+ld :: offset: 0x7f0, out: 0x614d9b445f12236b
+ld :: offset: 0x7f8, out: 0xa2a6ec661ba84121
+ldl :: offset: 0x0, out: 0x0
+ldl :: offset: 0x1, out: 0x0
+ldl :: offset: 0x2, out: 0x0
+ldl :: offset: 0x3, out: 0x0
+ldl :: offset: 0x4, out: 0x0
+ldl :: offset: 0x5, out: 0x0
+ldl :: offset: 0x6, out: 0x0
+ldl :: offset: 0x7, out: 0x0
+ldl :: offset: 0x8, out: 0x6e00000000000000
+ldl :: offset: 0x9, out: 0x3b6e000000000000
+ldl :: offset: 0xa, out: 0x823b6e0000000000
+ldl :: offset: 0xb, out: 0x9823b6e00000000
+ldl :: offset: 0xc, out: 0xd909823b6e000000
+ldl :: offset: 0xd, out: 0x26d909823b6e0000
+ldl :: offset: 0xe, out: 0x4326d909823b6e00
+ldl :: offset: 0xf, out: 0xd4326d909823b6e
+ldl :: offset: 0x10, out: 0xdc00000000000000
+ldl :: offset: 0x11, out: 0x76dc000000000000
+ldl :: offset: 0x12, out: 0x476dc0000000000
+ldl :: offset: 0x13, out: 0x130476dc00000000
+ldl :: offset: 0x14, out: 0x6b130476dc000000
+ldl :: offset: 0x15, out: 0x6b6b130476dc0000
+ldl :: offset: 0x16, out: 0xc56b6b130476dc00
+ldl :: offset: 0x17, out: 0x17c56b6b130476dc
+ldl :: offset: 0x18, out: 0xb200000000000000
+ldl :: offset: 0x19, out: 0x4db2000000000000
+ldl :: offset: 0x1a, out: 0x864db20000000000
+ldl :: offset: 0x1b, out: 0x1a864db200000000
+ldl :: offset: 0x1c, out: 0x51a864db2000000
+ldl :: offset: 0x1d, out: 0x50051a864db20000
+ldl :: offset: 0x1e, out: 0x4750051a864db200
+ldl :: offset: 0x1f, out: 0x1e4750051a864db2
+ldl :: offset: 0x20, out: 0xb800000000000000
+ldl :: offset: 0x21, out: 0xedb8000000000000
+ldl :: offset: 0x22, out: 0x8edb80000000000
+ldl :: offset: 0x23, out: 0x2608edb800000000
+ldl :: offset: 0x24, out: 0xf2608edb8000000
+ldl :: offset: 0x25, out: 0xf00f2608edb80000
+ldl :: offset: 0x26, out: 0xc9f00f2608edb800
+ldl :: offset: 0x27, out: 0x22c9f00f2608edb8
+ldl :: offset: 0x28, out: 0xd600000000000000
+ldl :: offset: 0x29, out: 0xd6d6000000000000
+ldl :: offset: 0x2a, out: 0x8ad6d60000000000
+ldl :: offset: 0x2b, out: 0x2f8ad6d600000000
+ldl :: offset: 0x2c, out: 0x612f8ad6d6000000
+ldl :: offset: 0x2d, out: 0xcb612f8ad6d60000
+ldl :: offset: 0x2e, out: 0x4bcb612f8ad6d600
+ldl :: offset: 0x2f, out: 0x2b4bcb612f8ad6d6
+ldl :: offset: 0x30, out: 0x6400000000000000
+ldl :: offset: 0x31, out: 0x9b64000000000000
+ldl :: offset: 0x32, out: 0xc9b640000000000
+ldl :: offset: 0x33, out: 0x350c9b6400000000
+ldl :: offset: 0x34, out: 0xd3350c9b64000000
+ldl :: offset: 0x35, out: 0x86d3350c9b640000
+ldl :: offset: 0x36, out: 0xcd86d3350c9b6400
+ldl :: offset: 0x37, out: 0x31cd86d3350c9b64
+ldl :: offset: 0x38, out: 0xa00000000000000
+ldl :: offset: 0x39, out: 0xa00a000000000000
+ldl :: offset: 0x3a, out: 0x8ea00a0000000000
+ldl :: offset: 0x3b, out: 0x3c8ea00a00000000
+ldl :: offset: 0x3c, out: 0xbd3c8ea00a000000
+ldl :: offset: 0x3d, out: 0xbdbd3c8ea00a0000
+ldl :: offset: 0x3e, out: 0x4fbdbd3c8ea00a00
+ldl :: offset: 0x3f, out: 0x384fbdbd3c8ea00a
+ldl :: offset: 0x40, out: 0x7000000000000000
+ldl :: offset: 0x41, out: 0xdb70000000000000
+ldl :: offset: 0x42, out: 0x11db700000000000
+ldl :: offset: 0x43, out: 0x4c11db7000000000
+ldl :: offset: 0x44, out: 0xc74c11db70000000
+ldl :: offset: 0x45, out: 0xc6c74c11db700000
+ldl :: offset: 0x46, out: 0xd0c6c74c11db7000
+ldl :: offset: 0x47, out: 0x48d0c6c74c11db70
+ldl :: offset: 0x48, out: 0x1e00000000000000
+ldl :: offset: 0x49, out: 0xe01e000000000000
+ldl :: offset: 0x4a, out: 0x93e01e0000000000
+ldl :: offset: 0x4b, out: 0x4593e01e00000000
+ldl :: offset: 0x4c, out: 0xa94593e01e000000
+ldl :: offset: 0x4d, out: 0xfda94593e01e0000
+ldl :: offset: 0x4e, out: 0x52fda94593e01e00
+ldl :: offset: 0x4f, out: 0x4152fda94593e01e
+ldl :: offset: 0x50, out: 0xac00000000000000
+ldl :: offset: 0x51, out: 0xadac000000000000
+ldl :: offset: 0x52, out: 0x15adac0000000000
+ldl :: offset: 0x53, out: 0x5f15adac00000000
+ldl :: offset: 0x54, out: 0x1b5f15adac000000
+ldl :: offset: 0x55, out: 0xb01b5f15adac0000
+ldl :: offset: 0x56, out: 0xd4b01b5f15adac00
+ldl :: offset: 0x57, out: 0x5bd4b01b5f15adac
+ldl :: offset: 0x58, out: 0xc200000000000000
+ldl :: offset: 0x59, out: 0x96c2000000000000
+ldl :: offset: 0x5a, out: 0x9796c20000000000
+ldl :: offset: 0x5b, out: 0x569796c200000000
+ldl :: offset: 0x5c, out: 0x75569796c2000000
+ldl :: offset: 0x5d, out: 0x8b75569796c20000
+ldl :: offset: 0x5e, out: 0x568b75569796c200
+ldl :: offset: 0x5f, out: 0x52568b75569796c2
+ldl :: offset: 0x60, out: 0xc800000000000000
+ldl :: offset: 0x61, out: 0x36c8000000000000
+ldl :: offset: 0x62, out: 0x1936c80000000000
+ldl :: offset: 0x63, out: 0x6a1936c800000000
+ldl :: offset: 0x64, out: 0x7f6a1936c8000000
+ldl :: offset: 0x65, out: 0x2b7f6a1936c80000
+ldl :: offset: 0x66, out: 0xd82b7f6a1936c800
+ldl :: offset: 0x67, out: 0x6ed82b7f6a1936c8
+ldl :: offset: 0x68, out: 0xa600000000000000
+ldl :: offset: 0x69, out: 0xda6000000000000
+ldl :: offset: 0x6a, out: 0x9b0da60000000000
+ldl :: offset: 0x6b, out: 0x639b0da600000000
+ldl :: offset: 0x6c, out: 0x11639b0da6000000
+ldl :: offset: 0x6d, out: 0x1011639b0da60000
+ldl :: offset: 0x6e, out: 0x5a1011639b0da600
+ldl :: offset: 0x6f, out: 0x675a1011639b0da6
+ldl :: offset: 0x70, out: 0x1400000000000000
+ldl :: offset: 0x71, out: 0x4014000000000000
+ldl :: offset: 0x72, out: 0x1d40140000000000
+ldl :: offset: 0x73, out: 0x791d401400000000
+ldl :: offset: 0x74, out: 0xa3791d4014000000
+ldl :: offset: 0x75, out: 0x5da3791d40140000
+ldl :: offset: 0x76, out: 0xdc5da3791d401400
+ldl :: offset: 0x77, out: 0x7ddc5da3791d4014
+ldl :: offset: 0x78, out: 0x7a00000000000000
+ldl :: offset: 0x79, out: 0x7b7a000000000000
+ldl :: offset: 0x7a, out: 0x9f7b7a0000000000
+ldl :: offset: 0x7b, out: 0x709f7b7a00000000
+ldl :: offset: 0x7c, out: 0xcd709f7b7a000000
+ldl :: offset: 0x7d, out: 0x66cd709f7b7a0000
+ldl :: offset: 0x7e, out: 0x5e66cd709f7b7a00
+ldl :: offset: 0x7f, out: 0x745e66cd709f7b7a
+ldl :: offset: 0x80, out: 0xe000000000000000
+ldl :: offset: 0x81, out: 0xb6e0000000000000
+ldl :: offset: 0x82, out: 0x23b6e00000000000
+ldl :: offset: 0x83, out: 0x9823b6e000000000
+ldl :: offset: 0x84, out: 0x579823b6e0000000
+ldl :: offset: 0x85, out: 0xab579823b6e00000
+ldl :: offset: 0x86, out: 0xe2ab579823b6e000
+ldl :: offset: 0x87, out: 0x9ce2ab579823b6e0
+ldl :: offset: 0x88, out: 0x8e00000000000000
+ldl :: offset: 0x89, out: 0x8d8e000000000000
+ldl :: offset: 0x8a, out: 0xa18d8e0000000000
+ldl :: offset: 0x8b, out: 0x91a18d8e00000000
+ldl :: offset: 0x8c, out: 0x3991a18d8e000000
+ldl :: offset: 0x8d, out: 0x903991a18d8e0000
+ldl :: offset: 0x8e, out: 0x60903991a18d8e00
+ldl :: offset: 0x8f, out: 0x9560903991a18d8e
+ldl :: offset: 0x90, out: 0x3c00000000000000
+ldl :: offset: 0x91, out: 0xc03c000000000000
+ldl :: offset: 0x92, out: 0x27c03c0000000000
+ldl :: offset: 0x93, out: 0x8b27c03c00000000
+ldl :: offset: 0x94, out: 0x8b8b27c03c000000
+ldl :: offset: 0x95, out: 0xdd8b8b27c03c0000
+ldl :: offset: 0x96, out: 0xe6dd8b8b27c03c00
+ldl :: offset: 0x97, out: 0x8fe6dd8b8b27c03c
+ldl :: offset: 0x98, out: 0x5200000000000000
+ldl :: offset: 0x99, out: 0xfb52000000000000
+ldl :: offset: 0x9a, out: 0xa5fb520000000000
+ldl :: offset: 0x9b, out: 0x82a5fb5200000000
+ldl :: offset: 0x9c, out: 0xe582a5fb52000000
+ldl :: offset: 0x9d, out: 0xe6e582a5fb520000
+ldl :: offset: 0x9e, out: 0x64e6e582a5fb5200
+ldl :: offset: 0x9f, out: 0x8664e6e582a5fb52
+ldl :: offset: 0xa0, out: 0x5800000000000000
+ldl :: offset: 0xa1, out: 0x5b58000000000000
+ldl :: offset: 0xa2, out: 0x2b5b580000000000
+ldl :: offset: 0xa3, out: 0xbe2b5b5800000000
+ldl :: offset: 0xa4, out: 0xefbe2b5b58000000
+ldl :: offset: 0xa5, out: 0x46efbe2b5b580000
+ldl :: offset: 0xa6, out: 0xea46efbe2b5b5800
+ldl :: offset: 0xa7, out: 0xbaea46efbe2b5b58
+ldl :: offset: 0xa8, out: 0x3600000000000000
+ldl :: offset: 0xa9, out: 0x6036000000000000
+ldl :: offset: 0xaa, out: 0xa960360000000000
+ldl :: offset: 0xab, out: 0xb7a9603600000000
+ldl :: offset: 0xac, out: 0x81b7a96036000000
+ldl :: offset: 0xad, out: 0x7d81b7a960360000
+ldl :: offset: 0xae, out: 0x687d81b7a9603600
+ldl :: offset: 0xaf, out: 0xb3687d81b7a96036
+ldl :: offset: 0xb0, out: 0x8400000000000000
+ldl :: offset: 0xb1, out: 0x2d84000000000000
+ldl :: offset: 0xb2, out: 0x2f2d840000000000
+ldl :: offset: 0xb3, out: 0xad2f2d8400000000
+ldl :: offset: 0xb4, out: 0x33ad2f2d84000000
+ldl :: offset: 0xb5, out: 0x3033ad2f2d840000
+ldl :: offset: 0xb6, out: 0xee3033ad2f2d8400
+ldl :: offset: 0xb7, out: 0xa9ee3033ad2f2d84
+ldl :: offset: 0xb8, out: 0xea00000000000000
+ldl :: offset: 0xb9, out: 0x16ea000000000000
+ldl :: offset: 0xba, out: 0xad16ea0000000000
+ldl :: offset: 0xbb, out: 0xa4ad16ea00000000
+ldl :: offset: 0xbc, out: 0x5da4ad16ea000000
+ldl :: offset: 0xbd, out: 0xb5da4ad16ea0000
+ldl :: offset: 0xbe, out: 0x6c0b5da4ad16ea00
+ldl :: offset: 0xbf, out: 0xa06c0b5da4ad16ea
+ldl :: offset: 0xc0, out: 0x9000000000000000
+ldl :: offset: 0xc1, out: 0x6d90000000000000
+ldl :: offset: 0xc2, out: 0x326d900000000000
+ldl :: offset: 0xc3, out: 0xd4326d9000000000
+ldl :: offset: 0xc4, out: 0x27d4326d90000000
+ldl :: offset: 0xc5, out: 0x7027d4326d900000
+ldl :: offset: 0xc6, out: 0xf37027d4326d9000
+ldl :: offset: 0xc7, out: 0xd0f37027d4326d90
+ldl :: offset: 0xc8, out: 0xfe00000000000000
+ldl :: offset: 0xc9, out: 0x56fe000000000000
+ldl :: offset: 0xca, out: 0xb056fe0000000000
+ldl :: offset: 0xcb, out: 0xddb056fe00000000
+ldl :: offset: 0xcc, out: 0x49ddb056fe000000
+ldl :: offset: 0xcd, out: 0x4b49ddb056fe0000
+ldl :: offset: 0xce, out: 0x714b49ddb056fe00
+ldl :: offset: 0xcf, out: 0xd9714b49ddb056fe
+ldl :: offset: 0xd0, out: 0x4c00000000000000
+ldl :: offset: 0xd1, out: 0x1b4c000000000000
+ldl :: offset: 0xd2, out: 0x361b4c0000000000
+ldl :: offset: 0xd3, out: 0xc7361b4c00000000
+ldl :: offset: 0xd4, out: 0xfbc7361b4c000000
+ldl :: offset: 0xd5, out: 0x6fbc7361b4c0000
+ldl :: offset: 0xd6, out: 0xf706fbc7361b4c00
+ldl :: offset: 0xd7, out: 0xc3f706fbc7361b4c
+ldl :: offset: 0xd8, out: 0x2200000000000000
+ldl :: offset: 0xd9, out: 0x2022000000000000
+ldl :: offset: 0xda, out: 0xb420220000000000
+ldl :: offset: 0xdb, out: 0xceb4202200000000
+ldl :: offset: 0xdc, out: 0x95ceb42022000000
+ldl :: offset: 0xdd, out: 0x3d95ceb420220000
+ldl :: offset: 0xde, out: 0x753d95ceb4202200
+ldl :: offset: 0xdf, out: 0xca753d95ceb42022
+ldl :: offset: 0xe0, out: 0x2800000000000000
+ldl :: offset: 0xe1, out: 0x8028000000000000
+ldl :: offset: 0xe2, out: 0x3a80280000000000
+ldl :: offset: 0xe3, out: 0xf23a802800000000
+ldl :: offset: 0xe4, out: 0x9ff23a8028000000
+ldl :: offset: 0xe5, out: 0x9d9ff23a80280000
+ldl :: offset: 0xe6, out: 0xfb9d9ff23a802800
+ldl :: offset: 0xe7, out: 0xf6fb9d9ff23a8028
+ldl :: offset: 0xe8, out: 0x4600000000000000
+ldl :: offset: 0xe9, out: 0xbb46000000000000
+ldl :: offset: 0xea, out: 0xb8bb460000000000
+ldl :: offset: 0xeb, out: 0xfbb8bb4600000000
+ldl :: offset: 0xec, out: 0xf1fbb8bb46000000
+ldl :: offset: 0xed, out: 0xa6f1fbb8bb460000
+ldl :: offset: 0xee, out: 0x79a6f1fbb8bb4600
+ldl :: offset: 0xef, out: 0xff79a6f1fbb8bb46
+ldl :: offset: 0xf0, out: 0xf400000000000000
+ldl :: offset: 0xf1, out: 0xf6f4000000000000
+ldl :: offset: 0xf2, out: 0x3ef6f40000000000
+ldl :: offset: 0xf3, out: 0xe13ef6f400000000
+ldl :: offset: 0xf4, out: 0x43e13ef6f4000000
+ldl :: offset: 0xf5, out: 0xeb43e13ef6f40000
+ldl :: offset: 0xf6, out: 0xffeb43e13ef6f400
+ldl :: offset: 0xf7, out: 0xe5ffeb43e13ef6f4
+ldl :: offset: 0xf8, out: 0x9a00000000000000
+ldl :: offset: 0xf9, out: 0xcd9a000000000000
+ldl :: offset: 0xfa, out: 0xbccd9a0000000000
+ldl :: offset: 0xfb, out: 0xe8bccd9a00000000
+ldl :: offset: 0xfc, out: 0x2de8bccd9a000000
+ldl :: offset: 0xfd, out: 0xd02de8bccd9a0000
+ldl :: offset: 0xfe, out: 0x7dd02de8bccd9a00
+ldl :: offset: 0xff, out: 0xec7dd02de8bccd9a
+ldl :: offset: 0x100, out: 0x7700000000000000
+ldl :: offset: 0x101, out: 0x7077000000000000
+ldl :: offset: 0x102, out: 0x8670770000000000
+ldl :: offset: 0x103, out: 0x3486707700000000
+ldl :: offset: 0x104, out: 0xc034867077000000
+ldl :: offset: 0x105, out: 0x6dc0348670770000
+ldl :: offset: 0x106, out: 0x476dc03486707700
+ldl :: offset: 0x107, out: 0x30476dc034867077
+ldl :: offset: 0x108, out: 0x1900000000000000
+ldl :: offset: 0x109, out: 0x4b19000000000000
+ldl :: offset: 0x10a, out: 0x44b190000000000
+ldl :: offset: 0x10b, out: 0x3d044b1900000000
+ldl :: offset: 0x10c, out: 0xae3d044b19000000
+ldl :: offset: 0x10d, out: 0x56ae3d044b190000
+ldl :: offset: 0x10e, out: 0xc556ae3d044b1900
+ldl :: offset: 0x10f, out: 0x39c556ae3d044b19
+ldl :: offset: 0x110, out: 0xab00000000000000
+ldl :: offset: 0x111, out: 0x6ab000000000000
+ldl :: offset: 0x112, out: 0x8206ab0000000000
+ldl :: offset: 0x113, out: 0x278206ab00000000
+ldl :: offset: 0x114, out: 0x1c278206ab000000
+ldl :: offset: 0x115, out: 0x1b1c278206ab0000
+ldl :: offset: 0x116, out: 0x431b1c278206ab00
+ldl :: offset: 0x117, out: 0x23431b1c278206ab
+ldl :: offset: 0x118, out: 0xc500000000000000
+ldl :: offset: 0x119, out: 0x3dc5000000000000
+ldl :: offset: 0x11a, out: 0x3dc50000000000
+ldl :: offset: 0x11b, out: 0x2e003dc500000000
+ldl :: offset: 0x11c, out: 0x722e003dc5000000
+ldl :: offset: 0x11d, out: 0x20722e003dc50000
+ldl :: offset: 0x11e, out: 0xc120722e003dc500
+ldl :: offset: 0x11f, out: 0x2ac120722e003dc5
+ldl :: offset: 0x120, out: 0xcf00000000000000
+ldl :: offset: 0x121, out: 0x9dcf000000000000
+ldl :: offset: 0x122, out: 0x8e9dcf0000000000
+ldl :: offset: 0x123, out: 0x128e9dcf00000000
+ldl :: offset: 0x124, out: 0x78128e9dcf000000
+ldl :: offset: 0x125, out: 0x8078128e9dcf0000
+ldl :: offset: 0x126, out: 0x4f8078128e9dcf00
+ldl :: offset: 0x127, out: 0x164f8078128e9dcf
+ldl :: offset: 0x128, out: 0xa100000000000000
+ldl :: offset: 0x129, out: 0xa6a1000000000000
+ldl :: offset: 0x12a, out: 0xca6a10000000000
+ldl :: offset: 0x12b, out: 0x1b0ca6a100000000
+ldl :: offset: 0x12c, out: 0x161b0ca6a1000000
+ldl :: offset: 0x12d, out: 0xbb161b0ca6a10000
+ldl :: offset: 0x12e, out: 0xcdbb161b0ca6a100
+ldl :: offset: 0x12f, out: 0x1fcdbb161b0ca6a1
+ldl :: offset: 0x130, out: 0x1300000000000000
+ldl :: offset: 0x131, out: 0xeb13000000000000
+ldl :: offset: 0x132, out: 0x8aeb130000000000
+ldl :: offset: 0x133, out: 0x18aeb1300000000
+ldl :: offset: 0x134, out: 0xa4018aeb13000000
+ldl :: offset: 0x135, out: 0xf6a4018aeb130000
+ldl :: offset: 0x136, out: 0x4bf6a4018aeb1300
+ldl :: offset: 0x137, out: 0x54bf6a4018aeb13
+ldl :: offset: 0x138, out: 0x7d00000000000000
+ldl :: offset: 0x139, out: 0xd07d000000000000
+ldl :: offset: 0x13a, out: 0x8d07d0000000000
+ldl :: offset: 0x13b, out: 0x808d07d00000000
+ldl :: offset: 0x13c, out: 0xca0808d07d000000
+ldl :: offset: 0x13d, out: 0xcdca0808d07d0000
+ldl :: offset: 0x13e, out: 0xc9cdca0808d07d00
+ldl :: offset: 0x13f, out: 0xcc9cdca0808d07d
+ldl :: offset: 0x140, out: 0x700000000000000
+ldl :: offset: 0x141, out: 0xab07000000000000
+ldl :: offset: 0x142, out: 0x97ab070000000000
+ldl :: offset: 0x143, out: 0x7897ab0700000000
+ldl :: offset: 0x144, out: 0xb07897ab07000000
+ldl :: offset: 0x145, out: 0xb6b07897ab070000
+ldl :: offset: 0x146, out: 0x56b6b07897ab0700
+ldl :: offset: 0x147, out: 0x7c56b6b07897ab07
+ldl :: offset: 0x148, out: 0x6900000000000000
+ldl :: offset: 0x149, out: 0x9069000000000000
+ldl :: offset: 0x14a, out: 0x1590690000000000
+ldl :: offset: 0x14b, out: 0x7115906900000000
+ldl :: offset: 0x14c, out: 0xde71159069000000
+ldl :: offset: 0x14d, out: 0x8dde711590690000
+ldl :: offset: 0x14e, out: 0xd48dde7115906900
+ldl :: offset: 0x14f, out: 0x75d48dde71159069
+ldl :: offset: 0x150, out: 0xdb00000000000000
+ldl :: offset: 0x151, out: 0xdddb000000000000
+ldl :: offset: 0x152, out: 0x93dddb0000000000
+ldl :: offset: 0x153, out: 0x6b93dddb00000000
+ldl :: offset: 0x154, out: 0x6c6b93dddb000000
+ldl :: offset: 0x155, out: 0xc06c6b93dddb0000
+ldl :: offset: 0x156, out: 0x52c06c6b93dddb00
+ldl :: offset: 0x157, out: 0x6f52c06c6b93dddb
+ldl :: offset: 0x158, out: 0xb500000000000000
+ldl :: offset: 0x159, out: 0xe6b5000000000000
+ldl :: offset: 0x15a, out: 0x11e6b50000000000
+ldl :: offset: 0x15b, out: 0x6211e6b500000000
+ldl :: offset: 0x15c, out: 0x26211e6b5000000
+ldl :: offset: 0x15d, out: 0xfb026211e6b50000
+ldl :: offset: 0x15e, out: 0xd0fb026211e6b500
+ldl :: offset: 0x15f, out: 0x66d0fb026211e6b5
+ldl :: offset: 0x160, out: 0xbf00000000000000
+ldl :: offset: 0x161, out: 0x46bf000000000000
+ldl :: offset: 0x162, out: 0x9f46bf0000000000
+ldl :: offset: 0x163, out: 0x5e9f46bf00000000
+ldl :: offset: 0x164, out: 0x85e9f46bf000000
+ldl :: offset: 0x165, out: 0x5b085e9f46bf0000
+ldl :: offset: 0x166, out: 0x5e5b085e9f46bf00
+ldl :: offset: 0x167, out: 0x5a5e5b085e9f46bf
+ldl :: offset: 0x168, out: 0xd100000000000000
+ldl :: offset: 0x169, out: 0x7dd1000000000000
+ldl :: offset: 0x16a, out: 0x1d7dd10000000000
+ldl :: offset: 0x16b, out: 0x571d7dd100000000
+ldl :: offset: 0x16c, out: 0x66571d7dd1000000
+ldl :: offset: 0x16d, out: 0x6066571d7dd10000
+ldl :: offset: 0x16e, out: 0xdc6066571d7dd100
+ldl :: offset: 0x16f, out: 0x53dc6066571d7dd1
+ldl :: offset: 0x170, out: 0x6300000000000000
+ldl :: offset: 0x171, out: 0x3063000000000000
+ldl :: offset: 0x172, out: 0x9b30630000000000
+ldl :: offset: 0x173, out: 0x4d9b306300000000
+ldl :: offset: 0x174, out: 0xd44d9b3063000000
+ldl :: offset: 0x175, out: 0x2dd44d9b30630000
+ldl :: offset: 0x176, out: 0x5a2dd44d9b306300
+ldl :: offset: 0x177, out: 0x495a2dd44d9b3063
+ldl :: offset: 0x178, out: 0xd00000000000000
+ldl :: offset: 0x179, out: 0xb0d000000000000
+ldl :: offset: 0x17a, out: 0x190b0d0000000000
+ldl :: offset: 0x17b, out: 0x44190b0d00000000
+ldl :: offset: 0x17c, out: 0xba44190b0d000000
+ldl :: offset: 0x17d, out: 0x16ba44190b0d0000
+ldl :: offset: 0x17e, out: 0xd816ba44190b0d00
+ldl :: offset: 0x17f, out: 0x40d816ba44190b0d
+ldl :: offset: 0x180, out: 0x9700000000000000
+ldl :: offset: 0x181, out: 0xc697000000000000
+ldl :: offset: 0x182, out: 0xa5c6970000000000
+ldl :: offset: 0x183, out: 0xaca5c69700000000
+ldl :: offset: 0x184, out: 0x20aca5c697000000
+ldl :: offset: 0x185, out: 0xdb20aca5c6970000
+ldl :: offset: 0x186, out: 0x64db20aca5c69700
+ldl :: offset: 0x187, out: 0xa864db20aca5c697
+ldl :: offset: 0x188, out: 0xf900000000000000
+ldl :: offset: 0x189, out: 0xfdf9000000000000
+ldl :: offset: 0x18a, out: 0x27fdf90000000000
+ldl :: offset: 0x18b, out: 0xa527fdf900000000
+ldl :: offset: 0x18c, out: 0x4ea527fdf9000000
+ldl :: offset: 0x18d, out: 0xe04ea527fdf90000
+ldl :: offset: 0x18e, out: 0xe6e04ea527fdf900
+ldl :: offset: 0x18f, out: 0xa1e6e04ea527fdf9
+ldl :: offset: 0x190, out: 0x4b00000000000000
+ldl :: offset: 0x191, out: 0xb04b000000000000
+ldl :: offset: 0x192, out: 0xa1b04b0000000000
+ldl :: offset: 0x193, out: 0xbfa1b04b00000000
+ldl :: offset: 0x194, out: 0xfcbfa1b04b000000
+ldl :: offset: 0x195, out: 0xadfcbfa1b04b0000
+ldl :: offset: 0x196, out: 0x60adfcbfa1b04b00
+ldl :: offset: 0x197, out: 0xbb60adfcbfa1b04b
+ldl :: offset: 0x198, out: 0x2500000000000000
+ldl :: offset: 0x199, out: 0x8b25000000000000
+ldl :: offset: 0x19a, out: 0x238b250000000000
+ldl :: offset: 0x19b, out: 0xb6238b2500000000
+ldl :: offset: 0x19c, out: 0x92b6238b25000000
+ldl :: offset: 0x19d, out: 0x9692b6238b250000
+ldl :: offset: 0x19e, out: 0xe29692b6238b2500
+ldl :: offset: 0x19f, out: 0xb2e29692b6238b25
+ldl :: offset: 0x1a0, out: 0x2f00000000000000
+ldl :: offset: 0x1a1, out: 0x2b2f000000000000
+ldl :: offset: 0x1a2, out: 0xad2b2f0000000000
+ldl :: offset: 0x1a3, out: 0x8aad2b2f00000000
+ldl :: offset: 0x1a4, out: 0x8aad2b2f000000
+ldl :: offset: 0x1a5, out: 0x8aad2b2f0000
+ldl :: offset: 0x1a6, out: 0x8aad2b2f00
+ldl :: offset: 0x1a7, out: 0x8aad2b2f
+ldl :: offset: 0x1a8, out: 0x0
+ldl :: offset: 0x1a9, out: 0x0
+ldl :: offset: 0x1aa, out: 0x0
+ldl :: offset: 0x1ab, out: 0x0
+ldl :: offset: 0x1ac, out: 0xf600000000000000
+ldl :: offset: 0x1ad, out: 0xdf6000000000000
+ldl :: offset: 0x1ae, out: 0xee0df60000000000
+ldl :: offset: 0x1af, out: 0x87ee0df600000000
+ldl :: offset: 0x1b0, out: 0xf300000000000000
+ldl :: offset: 0x1b1, out: 0x5df3000000000000
+ldl :: offset: 0x1b2, out: 0xa95df30000000000
+ldl :: offset: 0x1b3, out: 0x99a95df300000000
+ldl :: offset: 0x1b4, out: 0x4499a95df3000000
+ldl :: offset: 0x1b5, out: 0x404499a95df30000
+ldl :: offset: 0x1b6, out: 0x68404499a95df300
+ldl :: offset: 0x1b7, out: 0x9d68404499a95df3
+ldl :: offset: 0x1b8, out: 0x9d00000000000000
+ldl :: offset: 0x1b9, out: 0x669d000000000000
+ldl :: offset: 0x1ba, out: 0x2b669d0000000000
+ldl :: offset: 0x1bb, out: 0x902b669d00000000
+ldl :: offset: 0x1bc, out: 0x2a902b669d000000
+ldl :: offset: 0x1bd, out: 0x7b2a902b669d0000
+ldl :: offset: 0x1be, out: 0xea7b2a902b669d00
+ldl :: offset: 0x1bf, out: 0x94ea7b2a902b669d
+ldl :: offset: 0x1c0, out: 0xe700000000000000
+ldl :: offset: 0x1c1, out: 0x1de7000000000000
+ldl :: offset: 0x1c2, out: 0xb41de70000000000
+ldl :: offset: 0x1c3, out: 0xe0b41de700000000
+ldl :: offset: 0x1c4, out: 0x50e0b41de7000000
+ldl :: offset: 0x1c5, out: 0x50e0b41de70000
+ldl :: offset: 0x1c6, out: 0x750050e0b41de700
+ldl :: offset: 0x1c7, out: 0xe4750050e0b41de7
+ldl :: offset: 0x1c8, out: 0x8900000000000000
+ldl :: offset: 0x1c9, out: 0x2689000000000000
+ldl :: offset: 0x1ca, out: 0x3626890000000000
+ldl :: offset: 0x1cb, out: 0xe936268900000000
+ldl :: offset: 0x1cc, out: 0x3ee9362689000000
+ldl :: offset: 0x1cd, out: 0x3b3ee93626890000
+ldl :: offset: 0x1ce, out: 0xf73b3ee936268900
+ldl :: offset: 0x1cf, out: 0xedf73b3ee9362689
+ldl :: offset: 0x1d0, out: 0x3b00000000000000
+ldl :: offset: 0x1d1, out: 0x6b3b000000000000
+ldl :: offset: 0x1d2, out: 0xb06b3b0000000000
+ldl :: offset: 0x1d3, out: 0xf3b06b3b00000000
+ldl :: offset: 0x1d4, out: 0x8cf3b06b3b000000
+ldl :: offset: 0x1d5, out: 0x768cf3b06b3b0000
+ldl :: offset: 0x1d6, out: 0x71768cf3b06b3b00
+ldl :: offset: 0x1d7, out: 0xf771768cf3b06b3b
+ldl :: offset: 0x1d8, out: 0x5500000000000000
+ldl :: offset: 0x1d9, out: 0x5055000000000000
+ldl :: offset: 0x1da, out: 0x3250550000000000
+ldl :: offset: 0x1db, out: 0xfa32505500000000
+ldl :: offset: 0x1dc, out: 0xe2fa325055000000
+ldl :: offset: 0x1dd, out: 0x4de2fa3250550000
+ldl :: offset: 0x1de, out: 0xf34de2fa32505500
+ldl :: offset: 0x1df, out: 0xfef34de2fa325055
+ldl :: offset: 0x1e0, out: 0x5f00000000000000
+ldl :: offset: 0x1e1, out: 0xf05f000000000000
+ldl :: offset: 0x1e2, out: 0xbcf05f0000000000
+ldl :: offset: 0x1e3, out: 0xc6bcf05f00000000
+ldl :: offset: 0x1e4, out: 0xe8c6bcf05f000000
+ldl :: offset: 0x1e5, out: 0xede8c6bcf05f0000
+ldl :: offset: 0x1e6, out: 0x7dede8c6bcf05f00
+ldl :: offset: 0x1e7, out: 0xc27dede8c6bcf05f
+ldl :: offset: 0x1e8, out: 0x3100000000000000
+ldl :: offset: 0x1e9, out: 0xcb31000000000000
+ldl :: offset: 0x1ea, out: 0x3ecb310000000000
+ldl :: offset: 0x1eb, out: 0xcf3ecb3100000000
+ldl :: offset: 0x1ec, out: 0x86cf3ecb31000000
+ldl :: offset: 0x1ed, out: 0xd686cf3ecb310000
+ldl :: offset: 0x1ee, out: 0xffd686cf3ecb3100
+ldl :: offset: 0x1ef, out: 0xcbffd686cf3ecb31
+ldl :: offset: 0x1f0, out: 0x8300000000000000
+ldl :: offset: 0x1f1, out: 0x8683000000000000
+ldl :: offset: 0x1f2, out: 0xb886830000000000
+ldl :: offset: 0x1f3, out: 0xd5b8868300000000
+ldl :: offset: 0x1f4, out: 0x34d5b88683000000
+ldl :: offset: 0x1f5, out: 0x9b34d5b886830000
+ldl :: offset: 0x1f6, out: 0x799b34d5b8868300
+ldl :: offset: 0x1f7, out: 0xd1799b34d5b88683
+ldl :: offset: 0x1f8, out: 0xed00000000000000
+ldl :: offset: 0x1f9, out: 0xbded000000000000
+ldl :: offset: 0x1fa, out: 0x3abded0000000000
+ldl :: offset: 0x1fb, out: 0xdc3abded00000000
+ldl :: offset: 0x1fc, out: 0x5adc3abded000000
+ldl :: offset: 0x1fd, out: 0xa05adc3abded0000
+ldl :: offset: 0x1fe, out: 0xfba05adc3abded00
+ldl :: offset: 0x1ff, out: 0xd8fba05adc3abded
+ldl :: offset: 0x200, out: 0xee00000000000000
+ldl :: offset: 0x201, out: 0xe0ee000000000000
+ldl :: offset: 0x202, out: 0xce0ee0000000000
+ldl :: offset: 0x203, out: 0x690ce0ee00000000
+ldl :: offset: 0x204, out: 0x59690ce0ee000000
+ldl :: offset: 0x205, out: 0xfd59690ce0ee0000
+ldl :: offset: 0x206, out: 0xcdfd59690ce0ee00
+ldl :: offset: 0x207, out: 0x6dcdfd59690ce0ee
+ldl :: offset: 0x208, out: 0x8000000000000000
+ldl :: offset: 0x209, out: 0xdb80000000000000
+ldl :: offset: 0x20a, out: 0x8edb800000000000
+ldl :: offset: 0x20b, out: 0x608edb8000000000
+ldl :: offset: 0x20c, out: 0x37608edb80000000
+ldl :: offset: 0x20d, out: 0xc637608edb800000
+ldl :: offset: 0x20e, out: 0x4fc637608edb8000
+ldl :: offset: 0x20f, out: 0x644fc637608edb80
+ldl :: offset: 0x210, out: 0x3200000000000000
+ldl :: offset: 0x211, out: 0x9632000000000000
+ldl :: offset: 0x212, out: 0x896320000000000
+ldl :: offset: 0x213, out: 0x7a08963200000000
+ldl :: offset: 0x214, out: 0x857a089632000000
+ldl :: offset: 0x215, out: 0x8b857a0896320000
+ldl :: offset: 0x216, out: 0xc98b857a08963200
+ldl :: offset: 0x217, out: 0x7ec98b857a089632
+ldl :: offset: 0x218, out: 0x5c00000000000000
+ldl :: offset: 0x219, out: 0xad5c000000000000
+ldl :: offset: 0x21a, out: 0x8aad5c0000000000
+ldl :: offset: 0x21b, out: 0x738aad5c00000000
+ldl :: offset: 0x21c, out: 0xeb738aad5c000000
+ldl :: offset: 0x21d, out: 0xb0eb738aad5c0000
+ldl :: offset: 0x21e, out: 0x4bb0eb738aad5c00
+ldl :: offset: 0x21f, out: 0x774bb0eb738aad5c
+ldl :: offset: 0x220, out: 0x5600000000000000
+ldl :: offset: 0x221, out: 0xd56000000000000
+ldl :: offset: 0x222, out: 0x40d560000000000
+ldl :: offset: 0x223, out: 0x4f040d5600000000
+ldl :: offset: 0x224, out: 0xe14f040d56000000
+ldl :: offset: 0x225, out: 0x10e14f040d560000
+ldl :: offset: 0x226, out: 0xc510e14f040d5600
+ldl :: offset: 0x227, out: 0x4bc510e14f040d56
+ldl :: offset: 0x228, out: 0x3800000000000000
+ldl :: offset: 0x229, out: 0x3638000000000000
+ldl :: offset: 0x22a, out: 0x8636380000000000
+ldl :: offset: 0x22b, out: 0x4686363800000000
+ldl :: offset: 0x22c, out: 0x8f46863638000000
+ldl :: offset: 0x22d, out: 0x2b8f468636380000
+ldl :: offset: 0x22e, out: 0x472b8f4686363800
+ldl :: offset: 0x22f, out: 0x42472b8f46863638
+ldl :: offset: 0x230, out: 0x8a00000000000000
+ldl :: offset: 0x231, out: 0x7b8a000000000000
+ldl :: offset: 0x232, out: 0x7b8a0000000000
+ldl :: offset: 0x233, out: 0x5c007b8a00000000
+ldl :: offset: 0x234, out: 0x3d5c007b8a000000
+ldl :: offset: 0x235, out: 0x663d5c007b8a0000
+ldl :: offset: 0x236, out: 0xc1663d5c007b8a00
+ldl :: offset: 0x237, out: 0x58c1663d5c007b8a
+ldl :: offset: 0x238, out: 0xe400000000000000
+ldl :: offset: 0x239, out: 0x40e4000000000000
+ldl :: offset: 0x23a, out: 0x8240e40000000000
+ldl :: offset: 0x23b, out: 0x558240e400000000
+ldl :: offset: 0x23c, out: 0x53558240e4000000
+ldl :: offset: 0x23d, out: 0x5d53558240e40000
+ldl :: offset: 0x23e, out: 0x435d53558240e400
+ldl :: offset: 0x23f, out: 0x51435d53558240e4
+ldl :: offset: 0x240, out: 0x9e00000000000000
+ldl :: offset: 0x241, out: 0x3b9e000000000000
+ldl :: offset: 0x242, out: 0x1d3b9e0000000000
+ldl :: offset: 0x243, out: 0x251d3b9e00000000
+ldl :: offset: 0x244, out: 0x29251d3b9e000000
+ldl :: offset: 0x245, out: 0x2629251d3b9e0000
+ldl :: offset: 0x246, out: 0xdc2629251d3b9e00
+ldl :: offset: 0x247, out: 0x21dc2629251d3b9e
+ldl :: offset: 0x248, out: 0xf000000000000000
+ldl :: offset: 0x249, out: 0xf0000000000000
+ldl :: offset: 0x24a, out: 0x9f00f00000000000
+ldl :: offset: 0x24b, out: 0x2c9f00f000000000
+ldl :: offset: 0x24c, out: 0x472c9f00f0000000
+ldl :: offset: 0x24d, out: 0x1d472c9f00f00000
+ldl :: offset: 0x24e, out: 0x5e1d472c9f00f000
+ldl :: offset: 0x24f, out: 0x285e1d472c9f00f0
+ldl :: offset: 0x250, out: 0x4200000000000000
+ldl :: offset: 0x251, out: 0x4d42000000000000
+ldl :: offset: 0x252, out: 0x194d420000000000
+ldl :: offset: 0x253, out: 0x36194d4200000000
+ldl :: offset: 0x254, out: 0xf536194d42000000
+ldl :: offset: 0x255, out: 0x50f536194d420000
+ldl :: offset: 0x256, out: 0xd850f536194d4200
+ldl :: offset: 0x257, out: 0x32d850f536194d42
+ldl :: offset: 0x258, out: 0x2c00000000000000
+ldl :: offset: 0x259, out: 0x762c000000000000
+ldl :: offset: 0x25a, out: 0x9b762c0000000000
+ldl :: offset: 0x25b, out: 0x3f9b762c00000000
+ldl :: offset: 0x25c, out: 0x9b3f9b762c000000
+ldl :: offset: 0x25d, out: 0x6b9b3f9b762c0000
+ldl :: offset: 0x25e, out: 0x5a6b9b3f9b762c00
+ldl :: offset: 0x25f, out: 0x3b5a6b9b3f9b762c
+ldl :: offset: 0x260, out: 0x2600000000000000
+ldl :: offset: 0x261, out: 0xd626000000000000
+ldl :: offset: 0x262, out: 0x15d6260000000000
+ldl :: offset: 0x263, out: 0x315d62600000000
+ldl :: offset: 0x264, out: 0x910315d626000000
+ldl :: offset: 0x265, out: 0xcb910315d6260000
+ldl :: offset: 0x266, out: 0xd4cb910315d62600
+ldl :: offset: 0x267, out: 0x7d4cb910315d626
+ldl :: offset: 0x268, out: 0x4800000000000000
+ldl :: offset: 0x269, out: 0xed48000000000000
+ldl :: offset: 0x26a, out: 0x97ed480000000000
+ldl :: offset: 0x26b, out: 0xa97ed4800000000
+ldl :: offset: 0x26c, out: 0xff0a97ed48000000
+ldl :: offset: 0x26d, out: 0xf0ff0a97ed480000
+ldl :: offset: 0x26e, out: 0x56f0ff0a97ed4800
+ldl :: offset: 0x26f, out: 0xe56f0ff0a97ed48
+ldl :: offset: 0x270, out: 0xfa00000000000000
+ldl :: offset: 0x271, out: 0xa0fa000000000000
+ldl :: offset: 0x272, out: 0x11a0fa0000000000
+ldl :: offset: 0x273, out: 0x1011a0fa00000000
+ldl :: offset: 0x274, out: 0x4d1011a0fa000000
+ldl :: offset: 0x275, out: 0xbd4d1011a0fa0000
+ldl :: offset: 0x276, out: 0xd0bd4d1011a0fa00
+ldl :: offset: 0x277, out: 0x14d0bd4d1011a0fa
+ldl :: offset: 0x278, out: 0x9400000000000000
+ldl :: offset: 0x279, out: 0x9b94000000000000
+ldl :: offset: 0x27a, out: 0x939b940000000000
+ldl :: offset: 0x27b, out: 0x19939b9400000000
+ldl :: offset: 0x27c, out: 0x2319939b94000000
+ldl :: offset: 0x27d, out: 0x862319939b940000
+ldl :: offset: 0x27e, out: 0x52862319939b9400
+ldl :: offset: 0x27f, out: 0x1d52862319939b94
+ldl :: offset: 0x280, out: 0xe00000000000000
+ldl :: offset: 0x281, out: 0x560e000000000000
+ldl :: offset: 0x282, out: 0x2f560e0000000000
+ldl :: offset: 0x283, out: 0xf12f560e00000000
+ldl :: offset: 0x284, out: 0xb9f12f560e000000
+ldl :: offset: 0x285, out: 0x4bb9f12f560e0000
+ldl :: offset: 0x286, out: 0xee4bb9f12f560e00
+ldl :: offset: 0x287, out: 0xf5ee4bb9f12f560e
+ldl :: offset: 0x288, out: 0x6000000000000000
+ldl :: offset: 0x289, out: 0x6d60000000000000
+ldl :: offset: 0x28a, out: 0xad6d600000000000
+ldl :: offset: 0x28b, out: 0xf8ad6d6000000000
+ldl :: offset: 0x28c, out: 0xd7f8ad6d60000000
+ldl :: offset: 0x28d, out: 0x70d7f8ad6d600000
+ldl :: offset: 0x28e, out: 0x6c70d7f8ad6d6000
+ldl :: offset: 0x28f, out: 0xfc6c70d7f8ad6d60
+ldl :: offset: 0x290, out: 0xd200000000000000
+ldl :: offset: 0x291, out: 0x20d2000000000000
+ldl :: offset: 0x292, out: 0x2b20d20000000000
+ldl :: offset: 0x293, out: 0xe22b20d200000000
+ldl :: offset: 0x294, out: 0x65e22b20d2000000
+ldl :: offset: 0x295, out: 0x3d65e22b20d20000
+ldl :: offset: 0x296, out: 0xea3d65e22b20d200
+ldl :: offset: 0x297, out: 0xe6ea3d65e22b20d2
+ldl :: offset: 0x298, out: 0xbc00000000000000
+ldl :: offset: 0x299, out: 0x1bbc000000000000
+ldl :: offset: 0x29a, out: 0xa91bbc0000000000
+ldl :: offset: 0x29b, out: 0xeba91bbc00000000
+ldl :: offset: 0x29c, out: 0xbeba91bbc000000
+ldl :: offset: 0x29d, out: 0x60beba91bbc0000
+ldl :: offset: 0x29e, out: 0x68060beba91bbc00
+ldl :: offset: 0x29f, out: 0xef68060beba91bbc
+ldl :: offset: 0x2a0, out: 0xb600000000000000
+ldl :: offset: 0x2a1, out: 0xbbb6000000000000
+ldl :: offset: 0x2a2, out: 0x27bbb60000000000
+ldl :: offset: 0x2a3, out: 0xd727bbb600000000
+ldl :: offset: 0x2a4, out: 0x1d727bbb6000000
+ldl :: offset: 0x2a5, out: 0xa601d727bbb60000
+ldl :: offset: 0x2a6, out: 0xe6a601d727bbb600
+ldl :: offset: 0x2a7, out: 0xd3e6a601d727bbb6
+ldl :: offset: 0x2a8, out: 0xd800000000000000
+ldl :: offset: 0x2a9, out: 0x80d8000000000000
+ldl :: offset: 0x2aa, out: 0xa580d80000000000
+ldl :: offset: 0x2ab, out: 0xdea580d800000000
+ldl :: offset: 0x2ac, out: 0x6fdea580d8000000
+ldl :: offset: 0x2ad, out: 0x9d6fdea580d80000
+ldl :: offset: 0x2ae, out: 0x649d6fdea580d800
+ldl :: offset: 0x2af, out: 0xda649d6fdea580d8
+ldl :: offset: 0x2b0, out: 0x6a00000000000000
+ldl :: offset: 0x2b1, out: 0xcd6a000000000000
+ldl :: offset: 0x2b2, out: 0x23cd6a0000000000
+ldl :: offset: 0x2b3, out: 0xc423cd6a00000000
+ldl :: offset: 0x2b4, out: 0xc423cd6a000000
+ldl :: offset: 0x2b5, out: 0xc423cd6a0000
+ldl :: offset: 0x2b6, out: 0xc423cd6a00
+ldl :: offset: 0x2b7, out: 0xc423cd6a
+ldl :: offset: 0x2b8, out: 0x400000000000000
+ldl :: offset: 0x2b9, out: 0xf604000000000000
+ldl :: offset: 0x2ba, out: 0xa1f6040000000000
+ldl :: offset: 0x2bb, out: 0xcda1f60400000000
+ldl :: offset: 0x2bc, out: 0xcda1f604000000
+ldl :: offset: 0x2bd, out: 0xcda1f6040000
+ldl :: offset: 0x2be, out: 0xcda1f60400
+ldl :: offset: 0x2bf, out: 0xcda1f604
+ldl :: offset: 0x2c0, out: 0x7e00000000000000
+ldl :: offset: 0x2c1, out: 0x8d7e000000000000
+ldl :: offset: 0x2c2, out: 0x3e8d7e0000000000
+ldl :: offset: 0x2c3, out: 0xbd3e8d7e00000000
+ldl :: offset: 0x2c4, out: 0xc9bd3e8d7e000000
+ldl :: offset: 0x2c5, out: 0x90c9bd3e8d7e0000
+ldl :: offset: 0x2c6, out: 0xff90c9bd3e8d7e00
+ldl :: offset: 0x2c7, out: 0xb9ff90c9bd3e8d7e
+ldl :: offset: 0x2c8, out: 0x1000000000000000
+ldl :: offset: 0x2c9, out: 0xb610000000000000
+ldl :: offset: 0x2ca, out: 0xbcb6100000000000
+ldl :: offset: 0x2cb, out: 0xb4bcb61000000000
+ldl :: offset: 0x2cc, out: 0xa7b4bcb610000000
+ldl :: offset: 0x2cd, out: 0xaba7b4bcb6100000
+ldl :: offset: 0x2ce, out: 0x7daba7b4bcb61000
+ldl :: offset: 0x2cf, out: 0xb07daba7b4bcb610
+ldl :: offset: 0x2d0, out: 0xa200000000000000
+ldl :: offset: 0x2d1, out: 0xfba2000000000000
+ldl :: offset: 0x2d2, out: 0x3afba20000000000
+ldl :: offset: 0x2d3, out: 0xae3afba200000000
+ldl :: offset: 0x2d4, out: 0x15ae3afba2000000
+ldl :: offset: 0x2d5, out: 0xe615ae3afba20000
+ldl :: offset: 0x2d6, out: 0xfbe615ae3afba200
+ldl :: offset: 0x2d7, out: 0xaafbe615ae3afba2
+ldl :: offset: 0x2d8, out: 0xcc00000000000000
+ldl :: offset: 0x2d9, out: 0xc0cc000000000000
+ldl :: offset: 0x2da, out: 0xb8c0cc0000000000
+ldl :: offset: 0x2db, out: 0xa7b8c0cc00000000
+ldl :: offset: 0x2dc, out: 0x7ba7b8c0cc000000
+ldl :: offset: 0x2dd, out: 0xdd7ba7b8c0cc0000
+ldl :: offset: 0x2de, out: 0x79dd7ba7b8c0cc00
+ldl :: offset: 0x2df, out: 0xa379dd7ba7b8c0cc
+ldl :: offset: 0x2e0, out: 0xc600000000000000
+ldl :: offset: 0x2e1, out: 0x60c6000000000000
+ldl :: offset: 0x2e2, out: 0x3660c60000000000
+ldl :: offset: 0x2e3, out: 0x9b3660c600000000
+ldl :: offset: 0x2e4, out: 0x719b3660c6000000
+ldl :: offset: 0x2e5, out: 0x7d719b3660c60000
+ldl :: offset: 0x2e6, out: 0xf77d719b3660c600
+ldl :: offset: 0x2e7, out: 0x9ff77d719b3660c6
+ldl :: offset: 0x2e8, out: 0xa800000000000000
+ldl :: offset: 0x2e9, out: 0x5ba8000000000000
+ldl :: offset: 0x2ea, out: 0xb45ba80000000000
+ldl :: offset: 0x2eb, out: 0x92b45ba800000000
+ldl :: offset: 0x2ec, out: 0x1f92b45ba8000000
+ldl :: offset: 0x2ed, out: 0x461f92b45ba80000
+ldl :: offset: 0x2ee, out: 0x75461f92b45ba800
+ldl :: offset: 0x2ef, out: 0x9675461f92b45ba8
+ldl :: offset: 0x2f0, out: 0x1a00000000000000
+ldl :: offset: 0x2f1, out: 0x161a000000000000
+ldl :: offset: 0x2f2, out: 0x32161a0000000000
+ldl :: offset: 0x2f3, out: 0x8832161a00000000
+ldl :: offset: 0x2f4, out: 0xad8832161a000000
+ldl :: offset: 0x2f5, out: 0xbad8832161a0000
+ldl :: offset: 0x2f6, out: 0xf30bad8832161a00
+ldl :: offset: 0x2f7, out: 0x8cf30bad8832161a
+ldl :: offset: 0x2f8, out: 0x7400000000000000
+ldl :: offset: 0x2f9, out: 0x2d74000000000000
+ldl :: offset: 0x2fa, out: 0xb02d740000000000
+ldl :: offset: 0x2fb, out: 0x81b02d7400000000
+ldl :: offset: 0x2fc, out: 0xc381b02d74000000
+ldl :: offset: 0x2fd, out: 0x30c381b02d740000
+ldl :: offset: 0x2fe, out: 0x7130c381b02d7400
+ldl :: offset: 0x2ff, out: 0x857130c381b02d74
+ldl :: offset: 0x300, out: 0x9900000000000000
+ldl :: offset: 0x301, out: 0x9099000000000000
+ldl :: offset: 0x302, out: 0x8a90990000000000
+ldl :: offset: 0x303, out: 0x5d8a909900000000
+ldl :: offset: 0x304, out: 0x2e5d8a9099000000
+ldl :: offset: 0x305, out: 0x8d2e5d8a90990000
+ldl :: offset: 0x306, out: 0x4b8d2e5d8a909900
+ldl :: offset: 0x307, out: 0x594b8d2e5d8a9099
+ldl :: offset: 0x308, out: 0xf700000000000000
+ldl :: offset: 0x309, out: 0xabf7000000000000
+ldl :: offset: 0x30a, out: 0x8abf70000000000
+ldl :: offset: 0x30b, out: 0x5408abf700000000
+ldl :: offset: 0x30c, out: 0x405408abf7000000
+ldl :: offset: 0x30d, out: 0xb6405408abf70000
+ldl :: offset: 0x30e, out: 0xc9b6405408abf700
+ldl :: offset: 0x30f, out: 0x50c9b6405408abf7
+ldl :: offset: 0x310, out: 0x4500000000000000
+ldl :: offset: 0x311, out: 0xe645000000000000
+ldl :: offset: 0x312, out: 0x8ee6450000000000
+ldl :: offset: 0x313, out: 0x4e8ee64500000000
+ldl :: offset: 0x314, out: 0xf24e8ee645000000
+ldl :: offset: 0x315, out: 0xfbf24e8ee6450000
+ldl :: offset: 0x316, out: 0x4ffbf24e8ee64500
+ldl :: offset: 0x317, out: 0x4a4ffbf24e8ee645
+ldl :: offset: 0x318, out: 0x2b00000000000000
+ldl :: offset: 0x319, out: 0xdd2b000000000000
+ldl :: offset: 0x31a, out: 0xcdd2b0000000000
+ldl :: offset: 0x31b, out: 0x470cdd2b00000000
+ldl :: offset: 0x31c, out: 0x9c470cdd2b000000
+ldl :: offset: 0x31d, out: 0xc09c470cdd2b0000
+ldl :: offset: 0x31e, out: 0xcdc09c470cdd2b00
+ldl :: offset: 0x31f, out: 0x43cdc09c470cdd2b
+ldl :: offset: 0x320, out: 0x2100000000000000
+ldl :: offset: 0x321, out: 0x7d21000000000000
+ldl :: offset: 0x322, out: 0x827d210000000000
+ldl :: offset: 0x323, out: 0x7b827d2100000000
+ldl :: offset: 0x324, out: 0x967b827d21000000
+ldl :: offset: 0x325, out: 0x60967b827d210000
+ldl :: offset: 0x326, out: 0x4360967b827d2100
+ldl :: offset: 0x327, out: 0x7f4360967b827d21
+ldl :: offset: 0x328, out: 0x4f00000000000000
+ldl :: offset: 0x329, out: 0x464f000000000000
+ldl :: offset: 0x32a, out: 0x464f0000000000
+ldl :: offset: 0x32b, out: 0x7200464f00000000
+ldl :: offset: 0x32c, out: 0xf87200464f000000
+ldl :: offset: 0x32d, out: 0x5bf87200464f0000
+ldl :: offset: 0x32e, out: 0xc15bf87200464f00
+ldl :: offset: 0x32f, out: 0x76c15bf87200464f
+ldl :: offset: 0x330, out: 0xfd00000000000000
+ldl :: offset: 0x331, out: 0xbfd000000000000
+ldl :: offset: 0x332, out: 0x860bfd0000000000
+ldl :: offset: 0x333, out: 0x68860bfd00000000
+ldl :: offset: 0x334, out: 0x4a68860bfd000000
+ldl :: offset: 0x335, out: 0x164a68860bfd0000
+ldl :: offset: 0x336, out: 0x47164a68860bfd00
+ldl :: offset: 0x337, out: 0x6c47164a68860bfd
+ldl :: offset: 0x338, out: 0x9300000000000000
+ldl :: offset: 0x339, out: 0x3093000000000000
+ldl :: offset: 0x33a, out: 0x430930000000000
+ldl :: offset: 0x33b, out: 0x6104309300000000
+ldl :: offset: 0x33c, out: 0x2461043093000000
+ldl :: offset: 0x33d, out: 0x2d24610430930000
+ldl :: offset: 0x33e, out: 0xc52d246104309300
+ldl :: offset: 0x33f, out: 0x65c52d2461043093
+ldl :: offset: 0x340, out: 0xe900000000000000
+ldl :: offset: 0x341, out: 0x4be9000000000000
+ldl :: offset: 0x342, out: 0x9b4be90000000000
+ldl :: offset: 0x343, out: 0x119b4be900000000
+ldl :: offset: 0x344, out: 0x5e119b4be9000000
+ldl :: offset: 0x345, out: 0x565e119b4be90000
+ldl :: offset: 0x346, out: 0x5a565e119b4be900
+ldl :: offset: 0x347, out: 0x155a565e119b4be9
+ldl :: offset: 0x348, out: 0x8700000000000000
+ldl :: offset: 0x349, out: 0x7087000000000000
+ldl :: offset: 0x34a, out: 0x1970870000000000
+ldl :: offset: 0x34b, out: 0x1819708700000000
+ldl :: offset: 0x34c, out: 0x3018197087000000
+ldl :: offset: 0x34d, out: 0x6d30181970870000
+ldl :: offset: 0x34e, out: 0xd86d301819708700
+ldl :: offset: 0x34f, out: 0x1cd86d3018197087
+ldl :: offset: 0x350, out: 0x3500000000000000
+ldl :: offset: 0x351, out: 0x3d35000000000000
+ldl :: offset: 0x352, out: 0x9f3d350000000000
+ldl :: offset: 0x353, out: 0x29f3d3500000000
+ldl :: offset: 0x354, out: 0x82029f3d35000000
+ldl :: offset: 0x355, out: 0x2082029f3d350000
+ldl :: offset: 0x356, out: 0x5e2082029f3d3500
+ldl :: offset: 0x357, out: 0x65e2082029f3d35
+ldl :: offset: 0x358, out: 0x5b00000000000000
+ldl :: offset: 0x359, out: 0x65b000000000000
+ldl :: offset: 0x35a, out: 0x1d065b0000000000
+ldl :: offset: 0x35b, out: 0xb1d065b00000000
+ldl :: offset: 0x35c, out: 0xec0b1d065b000000
+ldl :: offset: 0x35d, out: 0x1bec0b1d065b0000
+ldl :: offset: 0x35e, out: 0xdc1bec0b1d065b00
+ldl :: offset: 0x35f, out: 0xfdc1bec0b1d065b
+ldl :: offset: 0x360, out: 0x5100000000000000
+ldl :: offset: 0x361, out: 0xa651000000000000
+ldl :: offset: 0x362, out: 0x93a6510000000000
+ldl :: offset: 0x363, out: 0x3793a65100000000
+ldl :: offset: 0x364, out: 0xe63793a651000000
+ldl :: offset: 0x365, out: 0xbbe63793a6510000
+ldl :: offset: 0x366, out: 0x52bbe63793a65100
+ldl :: offset: 0x367, out: 0x3352bbe63793a651
+ldl :: offset: 0x368, out: 0x3f00000000000000
+ldl :: offset: 0x369, out: 0x9d3f000000000000
+ldl :: offset: 0x36a, out: 0x119d3f0000000000
+ldl :: offset: 0x36b, out: 0x3e119d3f00000000
+ldl :: offset: 0x36c, out: 0x883e119d3f000000
+ldl :: offset: 0x36d, out: 0x80883e119d3f0000
+ldl :: offset: 0x36e, out: 0xd080883e119d3f00
+ldl :: offset: 0x36f, out: 0x3ad080883e119d3f
+ldl :: offset: 0x370, out: 0x8d00000000000000
+ldl :: offset: 0x371, out: 0xd08d000000000000
+ldl :: offset: 0x372, out: 0x97d08d0000000000
+ldl :: offset: 0x373, out: 0x2497d08d00000000
+ldl :: offset: 0x374, out: 0x3a2497d08d000000
+ldl :: offset: 0x375, out: 0xcd3a2497d08d0000
+ldl :: offset: 0x376, out: 0x56cd3a2497d08d00
+ldl :: offset: 0x377, out: 0x2056cd3a2497d08d
+ldl :: offset: 0x378, out: 0xe300000000000000
+ldl :: offset: 0x379, out: 0xebe3000000000000
+ldl :: offset: 0x37a, out: 0x15ebe30000000000
+ldl :: offset: 0x37b, out: 0x2d15ebe300000000
+ldl :: offset: 0x37c, out: 0x542d15ebe3000000
+ldl :: offset: 0x37d, out: 0xf6542d15ebe30000
+ldl :: offset: 0x37e, out: 0xd4f6542d15ebe300
+ldl :: offset: 0x37f, out: 0x29d4f6542d15ebe3
+ldl :: offset: 0x380, out: 0x7900000000000000
+ldl :: offset: 0x381, out: 0x2679000000000000
+ldl :: offset: 0x382, out: 0xa926790000000000
+ldl :: offset: 0x383, out: 0xc5a9267900000000
+ldl :: offset: 0x384, out: 0xcec5a92679000000
+ldl :: offset: 0x385, out: 0x3bcec5a926790000
+ldl :: offset: 0x386, out: 0x683bcec5a9267900
+ldl :: offset: 0x387, out: 0xc1683bcec5a92679
+ldl :: offset: 0x388, out: 0x1700000000000000
+ldl :: offset: 0x389, out: 0x1d17000000000000
+ldl :: offset: 0x38a, out: 0x2b1d170000000000
+ldl :: offset: 0x38b, out: 0xcc2b1d1700000000
+ldl :: offset: 0x38c, out: 0xa0cc2b1d17000000
+ldl :: offset: 0x38d, out: 0xa0cc2b1d170000
+ldl :: offset: 0x38e, out: 0xea00a0cc2b1d1700
+ldl :: offset: 0x38f, out: 0xc8ea00a0cc2b1d17
+ldl :: offset: 0x390, out: 0xa500000000000000
+ldl :: offset: 0x391, out: 0x50a5000000000000
+ldl :: offset: 0x392, out: 0xad50a50000000000
+ldl :: offset: 0x393, out: 0xd6ad50a500000000
+ldl :: offset: 0x394, out: 0x12d6ad50a5000000
+ldl :: offset: 0x395, out: 0x4d12d6ad50a50000
+ldl :: offset: 0x396, out: 0x6c4d12d6ad50a500
+ldl :: offset: 0x397, out: 0xd26c4d12d6ad50a5
+ldl :: offset: 0x398, out: 0xcb00000000000000
+ldl :: offset: 0x399, out: 0x6bcb000000000000
+ldl :: offset: 0x39a, out: 0x2f6bcb0000000000
+ldl :: offset: 0x39b, out: 0xdf2f6bcb00000000
+ldl :: offset: 0x39c, out: 0x7cdf2f6bcb000000
+ldl :: offset: 0x39d, out: 0x767cdf2f6bcb0000
+ldl :: offset: 0x39e, out: 0xee767cdf2f6bcb00
+ldl :: offset: 0x39f, out: 0xdbee767cdf2f6bcb
+ldl :: offset: 0x3a0, out: 0xc100000000000000
+ldl :: offset: 0x3a1, out: 0xcbc1000000000000
+ldl :: offset: 0x3a2, out: 0xa1cbc10000000000
+ldl :: offset: 0x3a3, out: 0xe3a1cbc100000000
+ldl :: offset: 0x3a4, out: 0x76e3a1cbc1000000
+ldl :: offset: 0x3a5, out: 0xd676e3a1cbc10000
+ldl :: offset: 0x3a6, out: 0x60d676e3a1cbc100
+ldl :: offset: 0x3a7, out: 0xe760d676e3a1cbc1
+ldl :: offset: 0x3a8, out: 0xaf00000000000000
+ldl :: offset: 0x3a9, out: 0xf0af000000000000
+ldl :: offset: 0x3aa, out: 0x23f0af0000000000
+ldl :: offset: 0x3ab, out: 0xea23f0af00000000
+ldl :: offset: 0x3ac, out: 0x18ea23f0af000000
+ldl :: offset: 0x3ad, out: 0xed18ea23f0af0000
+ldl :: offset: 0x3ae, out: 0xe2ed18ea23f0af00
+ldl :: offset: 0x3af, out: 0xeee2ed18ea23f0af
+ldl :: offset: 0x3b0, out: 0x1d00000000000000
+ldl :: offset: 0x3b1, out: 0xbd1d000000000000
+ldl :: offset: 0x3b2, out: 0xa5bd1d0000000000
+ldl :: offset: 0x3b3, out: 0xf0a5bd1d00000000
+ldl :: offset: 0x3b4, out: 0xaaf0a5bd1d000000
+ldl :: offset: 0x3b5, out: 0xa0aaf0a5bd1d0000
+ldl :: offset: 0x3b6, out: 0x64a0aaf0a5bd1d00
+ldl :: offset: 0x3b7, out: 0xf464a0aaf0a5bd1d
+ldl :: offset: 0x3b8, out: 0x7300000000000000
+ldl :: offset: 0x3b9, out: 0x8673000000000000
+ldl :: offset: 0x3ba, out: 0x2786730000000000
+ldl :: offset: 0x3bb, out: 0xf927867300000000
+ldl :: offset: 0x3bc, out: 0xc4f9278673000000
+ldl :: offset: 0x3bd, out: 0x9bc4f92786730000
+ldl :: offset: 0x3be, out: 0xe69bc4f927867300
+ldl :: offset: 0x3bf, out: 0xfde69bc4f9278673
+ldl :: offset: 0x3c0, out: 0x900000000000000
+ldl :: offset: 0x3c1, out: 0xfd09000000000000
+ldl :: offset: 0x3c2, out: 0xb8fd090000000000
+ldl :: offset: 0x3c3, out: 0x89b8fd0900000000
+ldl :: offset: 0x3c4, out: 0xbe89b8fd09000000
+ldl :: offset: 0x3c5, out: 0xe0be89b8fd090000
+ldl :: offset: 0x3c6, out: 0x79e0be89b8fd0900
+ldl :: offset: 0x3c7, out: 0x8d79e0be89b8fd09
+ldl :: offset: 0x3c8, out: 0x6700000000000000
+ldl :: offset: 0x3c9, out: 0xc667000000000000
+ldl :: offset: 0x3ca, out: 0x3ac6670000000000
+ldl :: offset: 0x3cb, out: 0x803ac66700000000
+ldl :: offset: 0x3cc, out: 0xd0803ac667000000
+ldl :: offset: 0x3cd, out: 0xdbd0803ac6670000
+ldl :: offset: 0x3ce, out: 0xfbdbd0803ac66700
+ldl :: offset: 0x3cf, out: 0x84fbdbd0803ac667
+ldl :: offset: 0x3d0, out: 0xd500000000000000
+ldl :: offset: 0x3d1, out: 0x8bd5000000000000
+ldl :: offset: 0x3d2, out: 0xbc8bd50000000000
+ldl :: offset: 0x3d3, out: 0x9abc8bd500000000
+ldl :: offset: 0x3d4, out: 0x629abc8bd5000000
+ldl :: offset: 0x3d5, out: 0x96629abc8bd50000
+ldl :: offset: 0x3d6, out: 0x7d96629abc8bd500
+ldl :: offset: 0x3d7, out: 0x9e7d96629abc8bd5
+ldl :: offset: 0x3d8, out: 0xbb00000000000000
+ldl :: offset: 0x3d9, out: 0xb0bb000000000000
+ldl :: offset: 0x3da, out: 0x3eb0bb0000000000
+ldl :: offset: 0x3db, out: 0x933eb0bb00000000
+ldl :: offset: 0x3dc, out: 0xc933eb0bb000000
+ldl :: offset: 0x3dd, out: 0xad0c933eb0bb0000
+ldl :: offset: 0x3de, out: 0xffad0c933eb0bb00
+ldl :: offset: 0x3df, out: 0x97ffad0c933eb0bb
+ldl :: offset: 0x3e0, out: 0xb100000000000000
+ldl :: offset: 0x3e1, out: 0x10b1000000000000
+ldl :: offset: 0x3e2, out: 0xb010b10000000000
+ldl :: offset: 0x3e3, out: 0xafb010b100000000
+ldl :: offset: 0x3e4, out: 0x6afb010b1000000
+ldl :: offset: 0x3e5, out: 0xd06afb010b10000
+ldl :: offset: 0x3e6, out: 0x710d06afb010b100
+ldl :: offset: 0x3e7, out: 0xab710d06afb010b1
+ldl :: offset: 0x3e8, out: 0xdf00000000000000
+ldl :: offset: 0x3e9, out: 0x2bdf000000000000
+ldl :: offset: 0x3ea, out: 0x322bdf0000000000
+ldl :: offset: 0x3eb, out: 0xa6322bdf00000000
+ldl :: offset: 0x3ec, out: 0x68a6322bdf000000
+ldl :: offset: 0x3ed, out: 0x3668a6322bdf0000
+ldl :: offset: 0x3ee, out: 0xf33668a6322bdf00
+ldl :: offset: 0x3ef, out: 0xa2f33668a6322bdf
+ldl :: offset: 0x3f0, out: 0x6d00000000000000
+ldl :: offset: 0x3f1, out: 0x666d000000000000
+ldl :: offset: 0x3f2, out: 0xb4666d0000000000
+ldl :: offset: 0x3f3, out: 0xbcb4666d00000000
+ldl :: offset: 0x3f4, out: 0xdabcb4666d000000
+ldl :: offset: 0x3f5, out: 0x7bdabcb4666d0000
+ldl :: offset: 0x3f6, out: 0x757bdabcb4666d00
+ldl :: offset: 0x3f7, out: 0xb8757bdabcb4666d
+ldl :: offset: 0x3f8, out: 0x300000000000000
+ldl :: offset: 0x3f9, out: 0x5d03000000000000
+ldl :: offset: 0x3fa, out: 0x365d030000000000
+ldl :: offset: 0x3fb, out: 0xb5365d0300000000
+ldl :: offset: 0x3fc, out: 0xb4b5365d03000000
+ldl :: offset: 0x3fd, out: 0x40b4b5365d030000
+ldl :: offset: 0x3fe, out: 0xf740b4b5365d0300
+ldl :: offset: 0x3ff, out: 0xb1f740b4b5365d03
+ldl :: offset: 0x0, out: 0xaa00000000000000
+ldl :: offset: 0x1, out: 0xd6aa000000000000
+ldl :: offset: 0x2, out: 0x2bd6aa0000000000
+ldl :: offset: 0x3, out: 0x12bd6aa00000000
+ldl :: offset: 0x4, out: 0x12bd6aa000000
+ldl :: offset: 0x5, out: 0x12bd6aa0000
+ldl :: offset: 0x6, out: 0x12bd6aa00
+ldl :: offset: 0x7, out: 0x12bd6aa
+ldl :: offset: 0x8, out: 0x1300000000000000
+ldl :: offset: 0x9, out: 0xab13000000000000
+ldl :: offset: 0xa, out: 0xd2ab130000000000
+ldl :: offset: 0xb, out: 0x82d2ab1300000000
+ldl :: offset: 0xc, out: 0x6382d2ab13000000
+ldl :: offset: 0xd, out: 0x876382d2ab130000
+ldl :: offset: 0xe, out: 0x7e876382d2ab1300
+ldl :: offset: 0xf, out: 0x7e876382d2ab13
+ldl :: offset: 0x10, out: 0xf300000000000000
+ldl :: offset: 0x11, out: 0x10f3000000000000
+ldl :: offset: 0x12, out: 0x1510f30000000000
+ldl :: offset: 0x13, out: 0xc31510f300000000
+ldl :: offset: 0x14, out: 0x9ac31510f3000000
+ldl :: offset: 0x15, out: 0x6e9ac31510f30000
+ldl :: offset: 0x16, out: 0x6d6e9ac31510f300
+ldl :: offset: 0x17, out: 0x976d6e9ac31510f3
+ldl :: offset: 0x18, out: 0xfb00000000000000
+ldl :: offset: 0x19, out: 0xa5fb000000000000
+ldl :: offset: 0x1a, out: 0xd6a5fb0000000000
+ldl :: offset: 0x1b, out: 0x5ad6a5fb00000000
+ldl :: offset: 0x1c, out: 0x775ad6a5fb000000
+ldl :: offset: 0x1d, out: 0x6d775ad6a5fb0000
+ldl :: offset: 0x1e, out: 0x746d775ad6a5fb00
+ldl :: offset: 0x1f, out: 0xb7746d775ad6a5fb
+ldl :: offset: 0x20, out: 0x200000000000000
+ldl :: offset: 0x21, out: 0xb502000000000000
+ldl :: offset: 0x22, out: 0x77b5020000000000
+ldl :: offset: 0x23, out: 0x8677b50200000000
+ldl :: offset: 0x24, out: 0xa28677b502000000
+ldl :: offset: 0x25, out: 0xc0a28677b5020000
+ldl :: offset: 0x26, out: 0xb0c0a28677b50200
+ldl :: offset: 0x27, out: 0x42b0c0a28677b502
+ldl :: offset: 0x28, out: 0xad00000000000000
+ldl :: offset: 0x29, out: 0x30ad000000000000
+ldl :: offset: 0x2a, out: 0x3c30ad0000000000
+ldl :: offset: 0x2b, out: 0x9e3c30ad00000000
+ldl :: offset: 0x2c, out: 0x319e3c30ad000000
+ldl :: offset: 0x2d, out: 0x9d319e3c30ad0000
+ldl :: offset: 0x2e, out: 0xa89d319e3c30ad00
+ldl :: offset: 0x2f, out: 0x2aa89d319e3c30ad
+ldl :: offset: 0x30, out: 0x3d00000000000000
+ldl :: offset: 0x31, out: 0x413d000000000000
+ldl :: offset: 0x32, out: 0xfb413d0000000000
+ldl :: offset: 0x33, out: 0x77fb413d00000000
+ldl :: offset: 0x34, out: 0xc377fb413d000000
+ldl :: offset: 0x35, out: 0x8ec377fb413d0000
+ldl :: offset: 0x36, out: 0x308ec377fb413d00
+ldl :: offset: 0x37, out: 0x1f308ec377fb413d
+ldl :: offset: 0x38, out: 0xf700000000000000
+ldl :: offset: 0x39, out: 0xe4f7000000000000
+ldl :: offset: 0x3a, out: 0x60e4f70000000000
+ldl :: offset: 0x3b, out: 0xc760e4f700000000
+ldl :: offset: 0x3c, out: 0x13c760e4f7000000
+ldl :: offset: 0x3d, out: 0x4213c760e4f70000
+ldl :: offset: 0x3e, out: 0xa04213c760e4f700
+ldl :: offset: 0x3f, out: 0x7aa04213c760e4f7
+ldl :: offset: 0x40, out: 0xa000000000000000
+ldl :: offset: 0x41, out: 0xdca0000000000000
+ldl :: offset: 0x42, out: 0xd8dca00000000000
+ldl :: offset: 0x43, out: 0x1ad8dca000000000
+ldl :: offset: 0x44, out: 0xc51ad8dca0000000
+ldl :: offset: 0x45, out: 0x5cc51ad8dca00000
+ldl :: offset: 0x46, out: 0x705cc51ad8dca000
+ldl :: offset: 0x47, out: 0x9e705cc51ad8dca0
+ldl :: offset: 0x48, out: 0xd00000000000000
+ldl :: offset: 0x49, out: 0xa60d000000000000
+ldl :: offset: 0x4a, out: 0x15a60d0000000000
+ldl :: offset: 0x4b, out: 0x9615a60d00000000
+ldl :: offset: 0x4c, out: 0x869615a60d000000
+ldl :: offset: 0x4d, out: 0xda869615a60d0000
+ldl :: offset: 0x4e, out: 0x3dda869615a60d00
+ldl :: offset: 0x4f, out: 0x4b3dda869615a60d
+ldl :: offset: 0x50, out: 0x1d00000000000000
+ldl :: offset: 0x51, out: 0xd41d000000000000
+ldl :: offset: 0x52, out: 0x53d41d0000000000
+ldl :: offset: 0x53, out: 0x6353d41d00000000
+ldl :: offset: 0x54, out: 0xdd6353d41d000000
+ldl :: offset: 0x55, out: 0xa4dd6353d41d0000
+ldl :: offset: 0x56, out: 0xe7a4dd6353d41d00
+ldl :: offset: 0x57, out: 0x5e7a4dd6353d41d
+ldl :: offset: 0x58, out: 0x1300000000000000
+ldl :: offset: 0x59, out: 0xd413000000000000
+ldl :: offset: 0x5a, out: 0xbd4130000000000
+ldl :: offset: 0x5b, out: 0xc40bd41300000000
+ldl :: offset: 0x5c, out: 0x9dc40bd413000000
+ldl :: offset: 0x5d, out: 0x5a9dc40bd4130000
+ldl :: offset: 0x5e, out: 0xf35a9dc40bd41300
+ldl :: offset: 0x5f, out: 0x3af35a9dc40bd413
+ldl :: offset: 0x60, out: 0x8000000000000000
+ldl :: offset: 0x61, out: 0xa180000000000000
+ldl :: offset: 0x62, out: 0x8a1800000000000
+ldl :: offset: 0x63, out: 0x9a08a18000000000
+ldl :: offset: 0x64, out: 0x569a08a180000000
+ldl :: offset: 0x65, out: 0x5569a08a1800000
+ldl :: offset: 0x66, out: 0xf505569a08a18000
+ldl :: offset: 0x67, out: 0x47f505569a08a180
+ldl :: offset: 0x68, out: 0xf00000000000000
+ldl :: offset: 0x69, out: 0x40f000000000000
+ldl :: offset: 0x6a, out: 0xd2040f0000000000
+ldl :: offset: 0x6b, out: 0xd6d2040f00000000
+ldl :: offset: 0x6c, out: 0x7fd6d2040f000000
+ldl :: offset: 0x6d, out: 0xb77fd6d2040f0000
+ldl :: offset: 0x6e, out: 0x64b77fd6d2040f00
+ldl :: offset: 0x6f, out: 0x9564b77fd6d2040f
+ldl :: offset: 0x70, out: 0xbe00000000000000
+ldl :: offset: 0x71, out: 0x6bbe000000000000
+ldl :: offset: 0x72, out: 0xc76bbe0000000000
+ldl :: offset: 0x73, out: 0xb2c76bbe00000000
+ldl :: offset: 0x74, out: 0x79b2c76bbe000000
+ldl :: offset: 0x75, out: 0x8279b2c76bbe0000
+ldl :: offset: 0x76, out: 0xbc8279b2c76bbe00
+ldl :: offset: 0x77, out: 0xcebc8279b2c76bbe
+ldl :: offset: 0x78, out: 0xc700000000000000
+ldl :: offset: 0x79, out: 0xe4c7000000000000
+ldl :: offset: 0x7a, out: 0x18e4c70000000000
+ldl :: offset: 0x7b, out: 0x1f18e4c700000000
+ldl :: offset: 0x7c, out: 0x2f1f18e4c7000000
+ldl :: offset: 0x7d, out: 0x4c2f1f18e4c70000
+ldl :: offset: 0x7e, out: 0x34c2f1f18e4c700
+ldl :: offset: 0x7f, out: 0xb5034c2f1f18e4c7
+ldl :: offset: 0x80, out: 0x9700000000000000
+ldl :: offset: 0x81, out: 0xa797000000000000
+ldl :: offset: 0x82, out: 0xafa7970000000000
+ldl :: offset: 0x83, out: 0x81afa79700000000
+ldl :: offset: 0x84, out: 0xfc81afa797000000
+ldl :: offset: 0x85, out: 0x52fc81afa7970000
+ldl :: offset: 0x86, out: 0xff52fc81afa79700
+ldl :: offset: 0x87, out: 0x94ff52fc81afa797
+ldl :: offset: 0x88, out: 0xea00000000000000
+ldl :: offset: 0x89, out: 0x50ea000000000000
+ldl :: offset: 0x8a, out: 0xfc50ea0000000000
+ldl :: offset: 0x8b, out: 0x6dfc50ea00000000
+ldl :: offset: 0x8c, out: 0x166dfc50ea000000
+ldl :: offset: 0x8d, out: 0xd9166dfc50ea0000
+ldl :: offset: 0x8e, out: 0xd8d9166dfc50ea00
+ldl :: offset: 0x8f, out: 0x31d8d9166dfc50ea
+ldl :: offset: 0x90, out: 0xb100000000000000
+ldl :: offset: 0x91, out: 0x95b1000000000000
+ldl :: offset: 0x92, out: 0xe895b10000000000
+ldl :: offset: 0x93, out: 0x78e895b100000000
+ldl :: offset: 0x94, out: 0xd678e895b1000000
+ldl :: offset: 0x95, out: 0x9bd678e895b10000
+ldl :: offset: 0x96, out: 0x549bd678e895b100
+ldl :: offset: 0x97, out: 0x36549bd678e895b1
+ldl :: offset: 0x98, out: 0x9b00000000000000
+ldl :: offset: 0x99, out: 0x259b000000000000
+ldl :: offset: 0x9a, out: 0x63259b0000000000
+ldl :: offset: 0x9b, out: 0x9b63259b00000000
+ldl :: offset: 0x9c, out: 0x319b63259b000000
+ldl :: offset: 0x9d, out: 0xa6319b63259b0000
+ldl :: offset: 0x9e, out: 0xe0a6319b63259b00
+ldl :: offset: 0x9f, out: 0x85e0a6319b63259b
+ldl :: offset: 0xa0, out: 0xc500000000000000
+ldl :: offset: 0xa1, out: 0x7ac5000000000000
+ldl :: offset: 0xa2, out: 0xf17ac50000000000
+ldl :: offset: 0xa3, out: 0xccf17ac500000000
+ldl :: offset: 0xa4, out: 0xcaccf17ac5000000
+ldl :: offset: 0xa5, out: 0x3ecaccf17ac50000
+ldl :: offset: 0xa6, out: 0x6b3ecaccf17ac500
+ldl :: offset: 0xa7, out: 0x556b3ecaccf17ac5
+ldl :: offset: 0xa8, out: 0xfb00000000000000
+ldl :: offset: 0xa9, out: 0xa0fb000000000000
+ldl :: offset: 0xaa, out: 0xeea0fb0000000000
+ldl :: offset: 0xab, out: 0x81eea0fb00000000
+ldl :: offset: 0xac, out: 0xc581eea0fb000000
+ldl :: offset: 0xad, out: 0x5fc581eea0fb0000
+ldl :: offset: 0xae, out: 0x2f5fc581eea0fb00
+ldl :: offset: 0xaf, out: 0xb42f5fc581eea0fb
+ldl :: offset: 0xb0, out: 0x9700000000000000
+ldl :: offset: 0xb1, out: 0x2d97000000000000
+ldl :: offset: 0xb2, out: 0x682d970000000000
+ldl :: offset: 0xb3, out: 0x14682d9700000000
+ldl :: offset: 0xb4, out: 0xec14682d97000000
+ldl :: offset: 0xb5, out: 0xfec14682d970000
+ldl :: offset: 0xb6, out: 0xb50fec14682d9700
+ldl :: offset: 0xb7, out: 0x25b50fec14682d97
+ldl :: offset: 0xb8, out: 0x7a00000000000000
+ldl :: offset: 0xb9, out: 0x87a000000000000
+ldl :: offset: 0xba, out: 0xfb087a0000000000
+ldl :: offset: 0xbb, out: 0x2cfb087a00000000
+ldl :: offset: 0xbc, out: 0x132cfb087a000000
+ldl :: offset: 0xbd, out: 0xc5132cfb087a0000
+ldl :: offset: 0xbe, out: 0x93c5132cfb087a00
+ldl :: offset: 0xbf, out: 0xfc93c5132cfb087a
+ldl :: offset: 0xc0, out: 0x6600000000000000
+ldl :: offset: 0xc1, out: 0x766000000000000
+ldl :: offset: 0xc2, out: 0xa207660000000000
+ldl :: offset: 0xc3, out: 0xcda2076600000000
+ldl :: offset: 0xc4, out: 0xa9cda20766000000
+ldl :: offset: 0xc5, out: 0xd9a9cda207660000
+ldl :: offset: 0xc6, out: 0x2cd9a9cda2076600
+ldl :: offset: 0xc7, out: 0x3c2cd9a9cda20766
+ldl :: offset: 0xc8, out: 0x3e00000000000000
+ldl :: offset: 0xc9, out: 0xda3e000000000000
+ldl :: offset: 0xca, out: 0x72da3e0000000000
+ldl :: offset: 0xcb, out: 0x7d72da3e00000000
+ldl :: offset: 0xcc, out: 0x2a7d72da3e000000
+ldl :: offset: 0xcd, out: 0x722a7d72da3e0000
+ldl :: offset: 0xce, out: 0x91722a7d72da3e00
+ldl :: offset: 0xcf, out: 0x1791722a7d72da3e
+ldl :: offset: 0xd0, out: 0xad00000000000000
+ldl :: offset: 0xd1, out: 0x24ad000000000000
+ldl :: offset: 0xd2, out: 0xce24ad0000000000
+ldl :: offset: 0xd3, out: 0x93ce24ad00000000
+ldl :: offset: 0xd4, out: 0xd193ce24ad000000
+ldl :: offset: 0xd5, out: 0xc9d193ce24ad0000
+ldl :: offset: 0xd6, out: 0x7cc9d193ce24ad00
+ldl :: offset: 0xd7, out: 0x87cc9d193ce24ad
+ldl :: offset: 0xd8, out: 0xd200000000000000
+ldl :: offset: 0xd9, out: 0x4ed2000000000000
+ldl :: offset: 0xda, out: 0x984ed20000000000
+ldl :: offset: 0xdb, out: 0x38984ed200000000
+ldl :: offset: 0xdc, out: 0x7038984ed2000000
+ldl :: offset: 0xdd, out: 0x757038984ed20000
+ldl :: offset: 0xde, out: 0x2a757038984ed200
+ldl :: offset: 0xdf, out: 0x1d2a757038984ed2
+ldl :: offset: 0xe0, out: 0x3600000000000000
+ldl :: offset: 0xe1, out: 0xd036000000000000
+ldl :: offset: 0xe2, out: 0xcd0360000000000
+ldl :: offset: 0xe3, out: 0x710cd03600000000
+ldl :: offset: 0xe4, out: 0xdb710cd036000000
+ldl :: offset: 0xe5, out: 0x70db710cd0360000
+ldl :: offset: 0xe6, out: 0xd070db710cd03600
+ldl :: offset: 0xe7, out: 0xd0d070db710cd036
+ldl :: offset: 0xe8, out: 0x400000000000000
+ldl :: offset: 0xe9, out: 0x5604000000000000
+ldl :: offset: 0xea, out: 0x4156040000000000
+ldl :: offset: 0xeb, out: 0x341560400000000
+ldl :: offset: 0xec, out: 0x7d03415604000000
+ldl :: offset: 0xed, out: 0x1c7d034156040000
+ldl :: offset: 0xee, out: 0xc21c7d0341560400
+ldl :: offset: 0xef, out: 0x39c21c7d03415604
+ldl :: offset: 0xf0, out: 0xce00000000000000
+ldl :: offset: 0xf1, out: 0x31ce000000000000
+ldl :: offset: 0xf2, out: 0xcc31ce0000000000
+ldl :: offset: 0xf3, out: 0x8ecc31ce00000000
+ldl :: offset: 0xf4, out: 0xaf8ecc31ce000000
+ldl :: offset: 0xf5, out: 0xb7af8ecc31ce0000
+ldl :: offset: 0xf6, out: 0x94b7af8ecc31ce00
+ldl :: offset: 0xf7, out: 0x8e94b7af8ecc31ce
+ldl :: offset: 0xf8, out: 0x4f00000000000000
+ldl :: offset: 0xf9, out: 0x674f000000000000
+ldl :: offset: 0xfa, out: 0xe7674f0000000000
+ldl :: offset: 0xfb, out: 0x1ce7674f00000000
+ldl :: offset: 0xfc, out: 0x8d1ce7674f000000
+ldl :: offset: 0xfd, out: 0x6a8d1ce7674f0000
+ldl :: offset: 0xfe, out: 0xeb6a8d1ce7674f00
+ldl :: offset: 0xff, out: 0x24eb6a8d1ce7674f
+ldl :: offset: 0x100, out: 0xa700000000000000
+ldl :: offset: 0x101, out: 0xe4a7000000000000
+ldl :: offset: 0x102, out: 0xd6e4a70000000000
+ldl :: offset: 0x103, out: 0x12d6e4a700000000
+ldl :: offset: 0x104, out: 0x4412d6e4a7000000
+ldl :: offset: 0x105, out: 0x454412d6e4a70000
+ldl :: offset: 0x106, out: 0x39454412d6e4a700
+ldl :: offset: 0x107, out: 0x2f39454412d6e4a7
+ldl :: offset: 0x108, out: 0x5400000000000000
+ldl :: offset: 0x109, out: 0x4c54000000000000
+ldl :: offset: 0x10a, out: 0xda4c540000000000
+ldl :: offset: 0x10b, out: 0x56da4c5400000000
+ldl :: offset: 0x10c, out: 0xb756da4c54000000
+ldl :: offset: 0x10d, out: 0xc2b756da4c540000
+ldl :: offset: 0x10e, out: 0x8c2b756da4c5400
+ldl :: offset: 0x10f, out: 0x2608c2b756da4c54
+ldl :: offset: 0x110, out: 0x2f00000000000000
+ldl :: offset: 0x111, out: 0x252f000000000000
+ldl :: offset: 0x112, out: 0xd7252f0000000000
+ldl :: offset: 0x113, out: 0xc8d7252f00000000
+ldl :: offset: 0x114, out: 0xdac8d7252f000000
+ldl :: offset: 0x115, out: 0x2dac8d7252f0000
+ldl :: offset: 0x116, out: 0x102dac8d7252f00
+ldl :: offset: 0x117, out: 0x900102dac8d7252f
+ldl :: offset: 0x118, out: 0xf700000000000000
+ldl :: offset: 0x119, out: 0xa4f7000000000000
+ldl :: offset: 0x11a, out: 0xefa4f70000000000
+ldl :: offset: 0x11b, out: 0xf2efa4f700000000
+ldl :: offset: 0x11c, out: 0xf1f2efa4f7000000
+ldl :: offset: 0x11d, out: 0xd5f1f2efa4f70000
+ldl :: offset: 0x11e, out: 0x90d5f1f2efa4f700
+ldl :: offset: 0x11f, out: 0xc890d5f1f2efa4f7
+ldl :: offset: 0x120, out: 0x1400000000000000
+ldl :: offset: 0x121, out: 0xa214000000000000
+ldl :: offset: 0x122, out: 0xb0a2140000000000
+ldl :: offset: 0x123, out: 0xc8b0a21400000000
+ldl :: offset: 0x124, out: 0xcbc8b0a214000000
+ldl :: offset: 0x125, out: 0x5cbc8b0a2140000
+ldl :: offset: 0x126, out: 0x5005cbc8b0a21400
+ldl :: offset: 0x127, out: 0xed5005cbc8b0a214
+ldl :: offset: 0x128, out: 0x6c00000000000000
+ldl :: offset: 0x129, out: 0x136c000000000000
+ldl :: offset: 0x12a, out: 0x91136c0000000000
+ldl :: offset: 0x12b, out: 0x5991136c00000000
+ldl :: offset: 0x12c, out: 0x895991136c000000
+ldl :: offset: 0x12d, out: 0x91895991136c0000
+ldl :: offset: 0x12e, out: 0x4791895991136c00
+ldl :: offset: 0x12f, out: 0x314791895991136c
+ldl :: offset: 0x130, out: 0xf300000000000000
+ldl :: offset: 0x131, out: 0xb6f3000000000000
+ldl :: offset: 0x132, out: 0x2fb6f30000000000
+ldl :: offset: 0x133, out: 0x9a2fb6f300000000
+ldl :: offset: 0x134, out: 0xf99a2fb6f3000000
+ldl :: offset: 0x135, out: 0xcff99a2fb6f30000
+ldl :: offset: 0x136, out: 0xeecff99a2fb6f300
+ldl :: offset: 0x137, out: 0xc6eecff99a2fb6f3
+ldl :: offset: 0x138, out: 0x7000000000000000
+ldl :: offset: 0x139, out: 0x5270000000000000
+ldl :: offset: 0x13a, out: 0x8952700000000000
+ldl :: offset: 0x13b, out: 0x3889527000000000
+ldl :: offset: 0x13c, out: 0x1238895270000000
+ldl :: offset: 0x13d, out: 0x5212388952700000
+ldl :: offset: 0x13e, out: 0x952123889527000
+ldl :: offset: 0x13f, out: 0xa809521238895270
+ldl :: offset: 0x140, out: 0x4000000000000000
+ldl :: offset: 0x141, out: 0x5040000000000000
+ldl :: offset: 0x142, out: 0x7650400000000000
+ldl :: offset: 0x143, out: 0xad76504000000000
+ldl :: offset: 0x144, out: 0x4ad765040000000
+ldl :: offset: 0x145, out: 0xa04ad7650400000
+ldl :: offset: 0x146, out: 0x750a04ad76504000
+ldl :: offset: 0x147, out: 0x87750a04ad765040
+ldl :: offset: 0x148, out: 0x8300000000000000
+ldl :: offset: 0x149, out: 0x5a83000000000000
+ldl :: offset: 0x14a, out: 0xbb5a830000000000
+ldl :: offset: 0x14b, out: 0x84bb5a8300000000
+ldl :: offset: 0x14c, out: 0x5e84bb5a83000000
+ldl :: offset: 0x14d, out: 0xe85e84bb5a830000
+ldl :: offset: 0x14e, out: 0x3de85e84bb5a8300
+ldl :: offset: 0x14f, out: 0x2c3de85e84bb5a83
+ldl :: offset: 0x150, out: 0x6700000000000000
+ldl :: offset: 0x151, out: 0xaa67000000000000
+ldl :: offset: 0x152, out: 0x6aa670000000000
+ldl :: offset: 0x153, out: 0xc506aa6700000000
+ldl :: offset: 0x154, out: 0x8fc506aa67000000
+ldl :: offset: 0x155, out: 0xff8fc506aa670000
+ldl :: offset: 0x156, out: 0x6aff8fc506aa6700
+ldl :: offset: 0x157, out: 0xae6aff8fc506aa67
+ldl :: offset: 0x158, out: 0xe300000000000000
+ldl :: offset: 0x159, out: 0x5ee3000000000000
+ldl :: offset: 0x15a, out: 0xed5ee30000000000
+ldl :: offset: 0x15b, out: 0x60ed5ee300000000
+ldl :: offset: 0x15c, out: 0xdd60ed5ee3000000
+ldl :: offset: 0x15d, out: 0x12dd60ed5ee30000
+ldl :: offset: 0x15e, out: 0x7112dd60ed5ee300
+ldl :: offset: 0x15f, out: 0xc07112dd60ed5ee3
+ldl :: offset: 0x160, out: 0x5a00000000000000
+ldl :: offset: 0x161, out: 0xca5a000000000000
+ldl :: offset: 0x162, out: 0xdcca5a0000000000
+ldl :: offset: 0x163, out: 0x30dcca5a00000000
+ldl :: offset: 0x164, out: 0xf630dcca5a000000
+ldl :: offset: 0x165, out: 0x70f630dcca5a0000
+ldl :: offset: 0x166, out: 0xc770f630dcca5a00
+ldl :: offset: 0x167, out: 0xc4c770f630dcca5a
+ldl :: offset: 0x168, out: 0x7700000000000000
+ldl :: offset: 0x169, out: 0x5277000000000000
+ldl :: offset: 0x16a, out: 0xcd52770000000000
+ldl :: offset: 0x16b, out: 0x83cd527700000000
+ldl :: offset: 0x16c, out: 0x2383cd5277000000
+ldl :: offset: 0x16d, out: 0x2b2383cd52770000
+ldl :: offset: 0x16e, out: 0xec2b2383cd527700
+ldl :: offset: 0x16f, out: 0xdfec2b2383cd5277
+ldl :: offset: 0x170, out: 0x6b00000000000000
+ldl :: offset: 0x171, out: 0xd96b000000000000
+ldl :: offset: 0x172, out: 0xf7d96b0000000000
+ldl :: offset: 0x173, out: 0xff7d96b00000000
+ldl :: offset: 0x174, out: 0x260ff7d96b000000
+ldl :: offset: 0x175, out: 0xba260ff7d96b0000
+ldl :: offset: 0x176, out: 0xadba260ff7d96b00
+ldl :: offset: 0x177, out: 0xd3adba260ff7d96b
+ldl :: offset: 0x178, out: 0xe00000000000000
+ldl :: offset: 0x179, out: 0xc00e000000000000
+ldl :: offset: 0x17a, out: 0x18c00e0000000000
+ldl :: offset: 0x17b, out: 0x8418c00e00000000
+ldl :: offset: 0x17c, out: 0x798418c00e000000
+ldl :: offset: 0x17d, out: 0xaa798418c00e0000
+ldl :: offset: 0x17e, out: 0xb4aa798418c00e00
+ldl :: offset: 0x17f, out: 0x4ab4aa798418c00e
+ldl :: offset: 0x180, out: 0xb800000000000000
+ldl :: offset: 0x181, out: 0xf0b8000000000000
+ldl :: offset: 0x182, out: 0xe0f0b80000000000
+ldl :: offset: 0x183, out: 0xde0f0b800000000
+ldl :: offset: 0x184, out: 0x5e0de0f0b8000000
+ldl :: offset: 0x185, out: 0x35e0de0f0b80000
+ldl :: offset: 0x186, out: 0x8c035e0de0f0b800
+ldl :: offset: 0x187, out: 0xbb8c035e0de0f0b8
+ldl :: offset: 0x188, out: 0xf100000000000000
+ldl :: offset: 0x189, out: 0xdcf1000000000000
+ldl :: offset: 0x18a, out: 0x7fdcf10000000000
+ldl :: offset: 0x18b, out: 0xa97fdcf100000000
+ldl :: offset: 0x18c, out: 0x54a97fdcf1000000
+ldl :: offset: 0x18d, out: 0x6f54a97fdcf10000
+ldl :: offset: 0x18e, out: 0xb06f54a97fdcf100
+ldl :: offset: 0x18f, out: 0x33b06f54a97fdcf1
+ldl :: offset: 0x190, out: 0x8100000000000000
+ldl :: offset: 0x191, out: 0xc081000000000000
+ldl :: offset: 0x192, out: 0xd1c0810000000000
+ldl :: offset: 0x193, out: 0x3fd1c08100000000
+ldl :: offset: 0x194, out: 0x373fd1c081000000
+ldl :: offset: 0x195, out: 0x3f373fd1c0810000
+ldl :: offset: 0x196, out: 0x433f373fd1c08100
+ldl :: offset: 0x197, out: 0x77433f373fd1c081
+ldl :: offset: 0x198, out: 0xe400000000000000
+ldl :: offset: 0x199, out: 0x95e4000000000000
+ldl :: offset: 0x19a, out: 0x2195e40000000000
+ldl :: offset: 0x19b, out: 0xc92195e400000000
+ldl :: offset: 0x19c, out: 0x93c92195e4000000
+ldl :: offset: 0x19d, out: 0xd993c92195e40000
+ldl :: offset: 0x19e, out: 0x91d993c92195e400
+ldl :: offset: 0x19f, out: 0xec91d993c92195e4
+ldl :: offset: 0x1a0, out: 0xab00000000000000
+ldl :: offset: 0x1a1, out: 0xa5ab000000000000
+ldl :: offset: 0x1a2, out: 0xb1a5ab0000000000
+ldl :: offset: 0x1a3, out: 0x95b1a5ab00000000
+ldl :: offset: 0x1a4, out: 0xa795b1a5ab000000
+ldl :: offset: 0x1a5, out: 0xf6a795b1a5ab0000
+ldl :: offset: 0x1a6, out: 0xfbf6a795b1a5ab00
+ldl :: offset: 0x1a7, out: 0x49fbf6a795b1a5ab
+ldl :: offset: 0x1a8, out: 0x1e00000000000000
+ldl :: offset: 0x1a9, out: 0x8d1e000000000000
+ldl :: offset: 0x1aa, out: 0xce8d1e0000000000
+ldl :: offset: 0x1ab, out: 0xc7ce8d1e00000000
+ldl :: offset: 0x1ac, out: 0x78c7ce8d1e000000
+ldl :: offset: 0x1ad, out: 0x4378c7ce8d1e0000
+ldl :: offset: 0x1ae, out: 0x364378c7ce8d1e00
+ldl :: offset: 0x1af, out: 0x19364378c7ce8d1e
+ldl :: offset: 0x1b0, out: 0x700000000000000
+ldl :: offset: 0x1b1, out: 0x4907000000000000
+ldl :: offset: 0x1b2, out: 0x3849070000000000
+ldl :: offset: 0x1b3, out: 0x2f38490700000000
+ldl :: offset: 0x1b4, out: 0xef2f384907000000
+ldl :: offset: 0x1b5, out: 0x8def2f3849070000
+ldl :: offset: 0x1b6, out: 0x9e8def2f38490700
+ldl :: offset: 0x1b7, out: 0xb99e8def2f384907
+ldl :: offset: 0x1b8, out: 0xfe00000000000000
+ldl :: offset: 0x1b9, out: 0x12fe000000000000
+ldl :: offset: 0x1ba, out: 0x2b12fe0000000000
+ldl :: offset: 0x1bb, out: 0x582b12fe00000000
+ldl :: offset: 0x1bc, out: 0xcd582b12fe000000
+ldl :: offset: 0x1bd, out: 0xcdcd582b12fe0000
+ldl :: offset: 0x1be, out: 0xeacdcd582b12fe00
+ldl :: offset: 0x1bf, out: 0x47eacdcd582b12fe
+ldl :: offset: 0x1c0, out: 0x4f00000000000000
+ldl :: offset: 0x1c1, out: 0x8c4f000000000000
+ldl :: offset: 0x1c2, out: 0x558c4f0000000000
+ldl :: offset: 0x1c3, out: 0x76558c4f00000000
+ldl :: offset: 0x1c4, out: 0x4e76558c4f000000
+ldl :: offset: 0x1c5, out: 0x884e76558c4f0000
+ldl :: offset: 0x1c6, out: 0x85884e76558c4f00
+ldl :: offset: 0x1c7, out: 0xd685884e76558c4f
+ldl :: offset: 0x1c8, out: 0xc700000000000000
+ldl :: offset: 0x1c9, out: 0x95c7000000000000
+ldl :: offset: 0x1ca, out: 0xc195c70000000000
+ldl :: offset: 0x1cb, out: 0x34c195c700000000
+ldl :: offset: 0x1cc, out: 0x2a34c195c7000000
+ldl :: offset: 0x1cd, out: 0xd62a34c195c70000
+ldl :: offset: 0x1ce, out: 0x68d62a34c195c700
+ldl :: offset: 0x1cf, out: 0x6168d62a34c195c7
+ldl :: offset: 0x1d0, out: 0x500000000000000
+ldl :: offset: 0x1d1, out: 0x7405000000000000
+ldl :: offset: 0x1d2, out: 0xf474050000000000
+ldl :: offset: 0x1d3, out: 0x4df4740500000000
+ldl :: offset: 0x1d4, out: 0x894df47405000000
+ldl :: offset: 0x1d5, out: 0x69894df474050000
+ldl :: offset: 0x1d6, out: 0x169894df4740500
+ldl :: offset: 0x1d7, out: 0xd30169894df47405
+ldl :: offset: 0x1d8, out: 0xdb00000000000000
+ldl :: offset: 0x1d9, out: 0x6db000000000000
+ldl :: offset: 0x1da, out: 0xbb06db0000000000
+ldl :: offset: 0x1db, out: 0x6cbb06db00000000
+ldl :: offset: 0x1dc, out: 0xbf6cbb06db000000
+ldl :: offset: 0x1dd, out: 0x90bf6cbb06db0000
+ldl :: offset: 0x1de, out: 0xa190bf6cbb06db00
+ldl :: offset: 0x1df, out: 0x1ca190bf6cbb06db
+ldl :: offset: 0x1e0, out: 0x3a00000000000000
+ldl :: offset: 0x1e1, out: 0x393a000000000000
+ldl :: offset: 0x1e2, out: 0xae393a0000000000
+ldl :: offset: 0x1e3, out: 0x9cae393a00000000
+ldl :: offset: 0x1e4, out: 0x29cae393a000000
+ldl :: offset: 0x1e5, out: 0xf029cae393a0000
+ldl :: offset: 0x1e6, out: 0x300f029cae393a00
+ldl :: offset: 0x1e7, out: 0x58300f029cae393a
+ldl :: offset: 0x1e8, out: 0x2d00000000000000
+ldl :: offset: 0x1e9, out: 0xbc2d000000000000
+ldl :: offset: 0x1ea, out: 0x7ebc2d0000000000
+ldl :: offset: 0x1eb, out: 0xdc7ebc2d00000000
+ldl :: offset: 0x1ec, out: 0xdbdc7ebc2d000000
+ldl :: offset: 0x1ed, out: 0x5fdbdc7ebc2d0000
+ldl :: offset: 0x1ee, out: 0x995fdbdc7ebc2d00
+ldl :: offset: 0x1ef, out: 0x9a995fdbdc7ebc2d
+ldl :: offset: 0x1f0, out: 0x4800000000000000
+ldl :: offset: 0x1f1, out: 0x5b48000000000000
+ldl :: offset: 0x1f2, out: 0x405b480000000000
+ldl :: offset: 0x1f3, out: 0xe3405b4800000000
+ldl :: offset: 0x1f4, out: 0x7be3405b48000000
+ldl :: offset: 0x1f5, out: 0x47be3405b480000
+ldl :: offset: 0x1f6, out: 0x96047be3405b4800
+ldl :: offset: 0x1f7, out: 0x8a96047be3405b48
+ldl :: offset: 0x1f8, out: 0x2200000000000000
+ldl :: offset: 0x1f9, out: 0xd322000000000000
+ldl :: offset: 0x1fa, out: 0x19d3220000000000
+ldl :: offset: 0x1fb, out: 0xd519d32200000000
+ldl :: offset: 0x1fc, out: 0xd2d519d322000000
+ldl :: offset: 0x1fd, out: 0xafd2d519d3220000
+ldl :: offset: 0x1fe, out: 0xbfafd2d519d32200
+ldl :: offset: 0x1ff, out: 0x75bfafd2d519d322
+ldl :: offset: 0x200, out: 0xad00000000000000
+ldl :: offset: 0x201, out: 0xf6ad000000000000
+ldl :: offset: 0x202, out: 0x30f6ad0000000000
+ldl :: offset: 0x203, out: 0xa630f6ad00000000
+ldl :: offset: 0x204, out: 0x67a630f6ad000000
+ldl :: offset: 0x205, out: 0x867a630f6ad0000
+ldl :: offset: 0x206, out: 0x230867a630f6ad00
+ldl :: offset: 0x207, out: 0xde230867a630f6ad
+ldl :: offset: 0x208, out: 0x6000000000000000
+ldl :: offset: 0x209, out: 0x3260000000000000
+ldl :: offset: 0x20a, out: 0x1032600000000000
+ldl :: offset: 0x20b, out: 0x5610326000000000
+ldl :: offset: 0x20c, out: 0xf256103260000000
+ldl :: offset: 0x20d, out: 0xcf2561032600000
+ldl :: offset: 0x20e, out: 0xa0cf25610326000
+ldl :: offset: 0x20f, out: 0x2c0a0cf256103260
+ldl :: offset: 0x210, out: 0xef00000000000000
+ldl :: offset: 0x211, out: 0x18ef000000000000
+ldl :: offset: 0x212, out: 0x9b18ef0000000000
+ldl :: offset: 0x213, out: 0x249b18ef00000000
+ldl :: offset: 0x214, out: 0x44249b18ef000000
+ldl :: offset: 0x215, out: 0x544249b18ef0000
+ldl :: offset: 0x216, out: 0xa90544249b18ef00
+ldl :: offset: 0x217, out: 0x94a90544249b18ef
+ldl :: offset: 0x218, out: 0xde00000000000000
+ldl :: offset: 0x219, out: 0xfcde000000000000
+ldl :: offset: 0x21a, out: 0x56fcde0000000000
+ldl :: offset: 0x21b, out: 0x5b56fcde00000000
+ldl :: offset: 0x21c, out: 0xb55b56fcde000000
+ldl :: offset: 0x21d, out: 0x9fb55b56fcde0000
+ldl :: offset: 0x21e, out: 0x519fb55b56fcde00
+ldl :: offset: 0x21f, out: 0xf9519fb55b56fcde
+ldl :: offset: 0x220, out: 0x9b00000000000000
+ldl :: offset: 0x221, out: 0x319b000000000000
+ldl :: offset: 0x222, out: 0x68319b0000000000
+ldl :: offset: 0x223, out: 0x468319b00000000
+ldl :: offset: 0x224, out: 0x200468319b000000
+ldl :: offset: 0x225, out: 0xf8200468319b0000
+ldl :: offset: 0x226, out: 0xdaf8200468319b00
+ldl :: offset: 0x227, out: 0x81daf8200468319b
+ldl :: offset: 0x228, out: 0xec00000000000000
+ldl :: offset: 0x229, out: 0xf2ec000000000000
+ldl :: offset: 0x22a, out: 0x25f2ec0000000000
+ldl :: offset: 0x22b, out: 0x5725f2ec00000000
+ldl :: offset: 0x22c, out: 0x5a5725f2ec000000
+ldl :: offset: 0x22d, out: 0xca5a5725f2ec0000
+ldl :: offset: 0x22e, out: 0x61ca5a5725f2ec00
+ldl :: offset: 0x22f, out: 0x8c61ca5a5725f2ec
+ldl :: offset: 0x230, out: 0xbf00000000000000
+ldl :: offset: 0x231, out: 0xc8bf000000000000
+ldl :: offset: 0x232, out: 0x5dc8bf0000000000
+ldl :: offset: 0x233, out: 0xc25dc8bf00000000
+ldl :: offset: 0x234, out: 0xddc25dc8bf000000
+ldl :: offset: 0x235, out: 0xa6ddc25dc8bf0000
+ldl :: offset: 0x236, out: 0x95a6ddc25dc8bf00
+ldl :: offset: 0x237, out: 0x8b95a6ddc25dc8bf
+ldl :: offset: 0x238, out: 0x2f00000000000000
+ldl :: offset: 0x239, out: 0x162f000000000000
+ldl :: offset: 0x23a, out: 0xc6162f0000000000
+ldl :: offset: 0x23b, out: 0xdac6162f00000000
+ldl :: offset: 0x23c, out: 0x51dac6162f000000
+ldl :: offset: 0x23d, out: 0xe751dac6162f0000
+ldl :: offset: 0x23e, out: 0xce751dac6162f00
+ldl :: offset: 0x23f, out: 0x300ce751dac6162f
+ldl :: offset: 0x240, out: 0x5000000000000000
+ldl :: offset: 0x241, out: 0xa850000000000000
+ldl :: offset: 0x242, out: 0x52a8500000000000
+ldl :: offset: 0x243, out: 0xba52a85000000000
+ldl :: offset: 0x244, out: 0xf3ba52a850000000
+ldl :: offset: 0x245, out: 0xfdf3ba52a8500000
+ldl :: offset: 0x246, out: 0x78fdf3ba52a85000
+ldl :: offset: 0x247, out: 0x6778fdf3ba52a850
+ldl :: offset: 0x248, out: 0x9f00000000000000
+ldl :: offset: 0x249, out: 0x479f000000000000
+ldl :: offset: 0x24a, out: 0x78479f0000000000
+ldl :: offset: 0x24b, out: 0xda78479f00000000
+ldl :: offset: 0x24c, out: 0xf7da78479f000000
+ldl :: offset: 0x24d, out: 0xb1f7da78479f0000
+ldl :: offset: 0x24e, out: 0xb1f7da78479f00
+ldl :: offset: 0x24f, out: 0xad00b1f7da78479f
+ldl :: offset: 0x250, out: 0x8a00000000000000
+ldl :: offset: 0x251, out: 0xd98a000000000000
+ldl :: offset: 0x252, out: 0xb6d98a0000000000
+ldl :: offset: 0x253, out: 0xa6b6d98a00000000
+ldl :: offset: 0x254, out: 0x68a6b6d98a000000
+ldl :: offset: 0x255, out: 0x4168a6b6d98a0000
+ldl :: offset: 0x256, out: 0xd44168a6b6d98a00
+ldl :: offset: 0x257, out: 0x8d44168a6b6d98a
+ldl :: offset: 0x258, out: 0x1300000000000000
+ldl :: offset: 0x259, out: 0x4413000000000000
+ldl :: offset: 0x25a, out: 0x6344130000000000
+ldl :: offset: 0x25b, out: 0xce63441300000000
+ldl :: offset: 0x25c, out: 0x1dce634413000000
+ldl :: offset: 0x25d, out: 0x381dce6344130000
+ldl :: offset: 0x25e, out: 0x18381dce63441300
+ldl :: offset: 0x25f, out: 0xf518381dce634413
+ldl :: offset: 0x260, out: 0xc000000000000000
+ldl :: offset: 0x261, out: 0x5fc0000000000000
+ldl :: offset: 0x262, out: 0x255fc00000000000
+ldl :: offset: 0x263, out: 0xe5255fc000000000
+ldl :: offset: 0x264, out: 0x3fe5255fc0000000
+ldl :: offset: 0x265, out: 0x7f3fe5255fc00000
+ldl :: offset: 0x266, out: 0x627f3fe5255fc000
+ldl :: offset: 0x267, out: 0xe4627f3fe5255fc0
+ldl :: offset: 0x268, out: 0x2800000000000000
+ldl :: offset: 0x269, out: 0x1f28000000000000
+ldl :: offset: 0x26a, out: 0x321f280000000000
+ldl :: offset: 0x26b, out: 0x76321f2800000000
+ldl :: offset: 0x26c, out: 0xe176321f28000000
+ldl :: offset: 0x26d, out: 0x92e176321f280000
+ldl :: offset: 0x26e, out: 0xd392e176321f2800
+ldl :: offset: 0x26f, out: 0xccd392e176321f28
+ldl :: offset: 0x270, out: 0x8f00000000000000
+ldl :: offset: 0x271, out: 0xfd8f000000000000
+ldl :: offset: 0x272, out: 0x18fd8f0000000000
+ldl :: offset: 0x273, out: 0x4018fd8f00000000
+ldl :: offset: 0x274, out: 0x944018fd8f000000
+ldl :: offset: 0x275, out: 0x64944018fd8f0000
+ldl :: offset: 0x276, out: 0x9464944018fd8f00
+ldl :: offset: 0x277, out: 0x829464944018fd8f
+ldl :: offset: 0x278, out: 0xe500000000000000
+ldl :: offset: 0x279, out: 0xf0e5000000000000
+ldl :: offset: 0x27a, out: 0xe8f0e50000000000
+ldl :: offset: 0x27b, out: 0x52e8f0e500000000
+ldl :: offset: 0x27c, out: 0x4052e8f0e5000000
+ldl :: offset: 0x27d, out: 0x204052e8f0e50000
+ldl :: offset: 0x27e, out: 0xd3204052e8f0e500
+ldl :: offset: 0x27f, out: 0x15d3204052e8f0e5
+ldl :: offset: 0x280, out: 0x4400000000000000
+ldl :: offset: 0x281, out: 0xf344000000000000
+ldl :: offset: 0x282, out: 0xff3440000000000
+ldl :: offset: 0x283, out: 0x880ff34400000000
+ldl :: offset: 0x284, out: 0xd2880ff344000000
+ldl :: offset: 0x285, out: 0x83d2880ff3440000
+ldl :: offset: 0x286, out: 0xaf83d2880ff34400
+ldl :: offset: 0x287, out: 0x7caf83d2880ff344
+ldl :: offset: 0x288, out: 0xd700000000000000
+ldl :: offset: 0x289, out: 0xefd7000000000000
+ldl :: offset: 0x28a, out: 0x7defd70000000000
+ldl :: offset: 0x28b, out: 0x747defd700000000
+ldl :: offset: 0x28c, out: 0x4c747defd7000000
+ldl :: offset: 0x28d, out: 0xa04c747defd70000
+ldl :: offset: 0x28e, out: 0x56a04c747defd700
+ldl :: offset: 0x28f, out: 0xf156a04c747defd7
+ldl :: offset: 0x290, out: 0x1000000000000000
+ldl :: offset: 0x291, out: 0xd710000000000000
+ldl :: offset: 0x292, out: 0x31d7100000000000
+ldl :: offset: 0x293, out: 0xf31d71000000000
+ldl :: offset: 0x294, out: 0x1c0f31d710000000
+ldl :: offset: 0x295, out: 0x601c0f31d7100000
+ldl :: offset: 0x296, out: 0xe2601c0f31d71000
+ldl :: offset: 0x297, out: 0x93e2601c0f31d710
+ldl :: offset: 0x298, out: 0x3300000000000000
+ldl :: offset: 0x299, out: 0xd933000000000000
+ldl :: offset: 0x29a, out: 0x1cd9330000000000
+ldl :: offset: 0x29b, out: 0x131cd93300000000
+ldl :: offset: 0x29c, out: 0x79131cd933000000
+ldl :: offset: 0x29d, out: 0xa679131cd9330000
+ldl :: offset: 0x29e, out: 0xe1a679131cd93300
+ldl :: offset: 0x29f, out: 0xe1e1a679131cd933
+ldl :: offset: 0x2a0, out: 0x2700000000000000
+ldl :: offset: 0x2a1, out: 0xa427000000000000
+ldl :: offset: 0x2a2, out: 0x6fa4270000000000
+ldl :: offset: 0x2a3, out: 0xa76fa42700000000
+ldl :: offset: 0x2a4, out: 0x75a76fa427000000
+ldl :: offset: 0x2a5, out: 0x6b75a76fa4270000
+ldl :: offset: 0x2a6, out: 0x296b75a76fa42700
+ldl :: offset: 0x2a7, out: 0x24296b75a76fa427
+ldl :: offset: 0x2a8, out: 0x6a00000000000000
+ldl :: offset: 0x2a9, out: 0xe56a000000000000
+ldl :: offset: 0x2aa, out: 0x9ee56a0000000000
+ldl :: offset: 0x2ab, out: 0x139ee56a00000000
+ldl :: offset: 0x2ac, out: 0xd2139ee56a000000
+ldl :: offset: 0x2ad, out: 0xe2d2139ee56a0000
+ldl :: offset: 0x2ae, out: 0x96e2d2139ee56a00
+ldl :: offset: 0x2af, out: 0xd296e2d2139ee56a
+ldl :: offset: 0x2b0, out: 0xc000000000000000
+ldl :: offset: 0x2b1, out: 0xa5c0000000000000
+ldl :: offset: 0x2b2, out: 0xc2a5c00000000000
+ldl :: offset: 0x2b3, out: 0x6dc2a5c000000000
+ldl :: offset: 0x2b4, out: 0x7f6dc2a5c0000000
+ldl :: offset: 0x2b5, out: 0x447f6dc2a5c00000
+ldl :: offset: 0x2b6, out: 0x82447f6dc2a5c000
+ldl :: offset: 0x2b7, out: 0x5a82447f6dc2a5c0
+ldl :: offset: 0x2b8, out: 0x6800000000000000
+ldl :: offset: 0x2b9, out: 0xc168000000000000
+ldl :: offset: 0x2ba, out: 0x7dc1680000000000
+ldl :: offset: 0x2bb, out: 0xc07dc16800000000
+ldl :: offset: 0x2bc, out: 0x80c07dc168000000
+ldl :: offset: 0x2bd, out: 0x9e80c07dc1680000
+ldl :: offset: 0x2be, out: 0xc89e80c07dc16800
+ldl :: offset: 0x2bf, out: 0x76c89e80c07dc168
+ldl :: offset: 0x2c0, out: 0x8f00000000000000
+ldl :: offset: 0x2c1, out: 0x348f000000000000
+ldl :: offset: 0x2c2, out: 0xfe348f0000000000
+ldl :: offset: 0x2c3, out: 0x4bfe348f00000000
+ldl :: offset: 0x2c4, out: 0x454bfe348f000000
+ldl :: offset: 0x2c5, out: 0xc3454bfe348f0000
+ldl :: offset: 0x2c6, out: 0xdc3454bfe348f00
+ldl :: offset: 0x2c7, out: 0x70dc3454bfe348f
+ldl :: offset: 0x2c8, out: 0x1b00000000000000
+ldl :: offset: 0x2c9, out: 0x241b000000000000
+ldl :: offset: 0x2ca, out: 0x6d241b0000000000
+ldl :: offset: 0x2cb, out: 0xdd6d241b00000000
+ldl :: offset: 0x2cc, out: 0x23dd6d241b000000
+ldl :: offset: 0x2cd, out: 0x7123dd6d241b0000
+ldl :: offset: 0x2ce, out: 0xdc7123dd6d241b00
+ldl :: offset: 0x2cf, out: 0xbddc7123dd6d241b
+ldl :: offset: 0x2d0, out: 0xbe00000000000000
+ldl :: offset: 0x2d1, out: 0xcebe000000000000
+ldl :: offset: 0x2d2, out: 0x9fcebe0000000000
+ldl :: offset: 0x2d3, out: 0xa59fcebe00000000
+ldl :: offset: 0x2d4, out: 0x27a59fcebe000000
+ldl :: offset: 0x2d5, out: 0xb727a59fcebe0000
+ldl :: offset: 0x2d6, out: 0x2fb727a59fcebe00
+ldl :: offset: 0x2d7, out: 0xf62fb727a59fcebe
+ldl :: offset: 0x2d8, out: 0xfb00000000000000
+ldl :: offset: 0x2d9, out: 0x46fb000000000000
+ldl :: offset: 0x2da, out: 0x9f46fb0000000000
+ldl :: offset: 0x2db, out: 0xf9f46fb00000000
+ldl :: offset: 0x2dc, out: 0xe90f9f46fb000000
+ldl :: offset: 0x2dd, out: 0x27e90f9f46fb0000
+ldl :: offset: 0x2de, out: 0x9f27e90f9f46fb00
+ldl :: offset: 0x2df, out: 0x109f27e90f9f46fb
+ldl :: offset: 0x2e0, out: 0xd700000000000000
+ldl :: offset: 0x2e1, out: 0x99d7000000000000
+ldl :: offset: 0x2e2, out: 0xd199d70000000000
+ldl :: offset: 0x2e3, out: 0xafd199d700000000
+ldl :: offset: 0x2e4, out: 0xa9afd199d7000000
+ldl :: offset: 0x2e5, out: 0xdaa9afd199d70000
+ldl :: offset: 0x2e6, out: 0x63daa9afd199d700
+ldl :: offset: 0x2e7, out: 0x3f63daa9afd199d7
+ldl :: offset: 0x2e8, out: 0xf200000000000000
+ldl :: offset: 0x2e9, out: 0x84f2000000000000
+ldl :: offset: 0x2ea, out: 0xd484f20000000000
+ldl :: offset: 0x2eb, out: 0xa3d484f200000000
+ldl :: offset: 0x2ec, out: 0x2ea3d484f2000000
+ldl :: offset: 0x2ed, out: 0x312ea3d484f20000
+ldl :: offset: 0x2ee, out: 0xcb312ea3d484f200
+ldl :: offset: 0x2ef, out: 0xdbcb312ea3d484f2
+ldl :: offset: 0x2f0, out: 0xc600000000000000
+ldl :: offset: 0x2f1, out: 0xe4c6000000000000
+ldl :: offset: 0x2f2, out: 0x4fe4c60000000000
+ldl :: offset: 0x2f3, out: 0xda4fe4c600000000
+ldl :: offset: 0x2f4, out: 0xaada4fe4c6000000
+ldl :: offset: 0x2f5, out: 0x3faada4fe4c60000
+ldl :: offset: 0x2f6, out: 0x353faada4fe4c600
+ldl :: offset: 0x2f7, out: 0x1f353faada4fe4c6
+ldl :: offset: 0x2f8, out: 0x6000000000000000
+ldl :: offset: 0x2f9, out: 0xc260000000000000
+ldl :: offset: 0x2fa, out: 0x50c2600000000000
+ldl :: offset: 0x2fb, out: 0x7150c26000000000
+ldl :: offset: 0x2fc, out: 0xe07150c260000000
+ldl :: offset: 0x2fd, out: 0x6ee07150c2600000
+ldl :: offset: 0x2fe, out: 0x86ee07150c26000
+ldl :: offset: 0x2ff, out: 0x8b086ee07150c260
+ldl :: offset: 0x300, out: 0x2500000000000000
+ldl :: offset: 0x301, out: 0x7f25000000000000
+ldl :: offset: 0x302, out: 0x257f250000000000
+ldl :: offset: 0x303, out: 0xd9257f2500000000
+ldl :: offset: 0x304, out: 0xd5d9257f25000000
+ldl :: offset: 0x305, out: 0x50d5d9257f250000
+ldl :: offset: 0x306, out: 0x4750d5d9257f2500
+ldl :: offset: 0x307, out: 0xe54750d5d9257f25
+ldl :: offset: 0x308, out: 0x5b00000000000000
+ldl :: offset: 0x309, out: 0xdb5b000000000000
+ldl :: offset: 0x30a, out: 0xa6db5b0000000000
+ldl :: offset: 0x30b, out: 0xe9a6db5b00000000
+ldl :: offset: 0x30c, out: 0x5fe9a6db5b000000
+ldl :: offset: 0x30d, out: 0x625fe9a6db5b0000
+ldl :: offset: 0x30e, out: 0x69625fe9a6db5b00
+ldl :: offset: 0x30f, out: 0x3d69625fe9a6db5b
+ldl :: offset: 0x310, out: 0x9600000000000000
+ldl :: offset: 0x311, out: 0xac96000000000000
+ldl :: offset: 0x312, out: 0x40ac960000000000
+ldl :: offset: 0x313, out: 0x4340ac9600000000
+ldl :: offset: 0x314, out: 0x424340ac96000000
+ldl :: offset: 0x315, out: 0xe0424340ac960000
+ldl :: offset: 0x316, out: 0xa3e0424340ac9600
+ldl :: offset: 0x317, out: 0x70a3e0424340ac96
+ldl :: offset: 0x318, out: 0x1e00000000000000
+ldl :: offset: 0x319, out: 0x171e000000000000
+ldl :: offset: 0x31a, out: 0x80171e0000000000
+ldl :: offset: 0x31b, out: 0x6980171e00000000
+ldl :: offset: 0x31c, out: 0x36980171e000000
+ldl :: offset: 0x31d, out: 0x8f036980171e0000
+ldl :: offset: 0x31e, out: 0x478f036980171e00
+ldl :: offset: 0x31f, out: 0xc0478f036980171e
+ldl :: offset: 0x320, out: 0xe300000000000000
+ldl :: offset: 0x321, out: 0x29e3000000000000
+ldl :: offset: 0x322, out: 0xf929e30000000000
+ldl :: offset: 0x323, out: 0x1cf929e300000000
+ldl :: offset: 0x324, out: 0xa51cf929e3000000
+ldl :: offset: 0x325, out: 0x39a51cf929e30000
+ldl :: offset: 0x326, out: 0xe839a51cf929e300
+ldl :: offset: 0x327, out: 0x3ce839a51cf929e3
+ldl :: offset: 0x328, out: 0x5800000000000000
+ldl :: offset: 0x329, out: 0x8958000000000000
+ldl :: offset: 0x32a, out: 0xb689580000000000
+ldl :: offset: 0x32b, out: 0x5eb6895800000000
+ldl :: offset: 0x32c, out: 0x895eb68958000000
+ldl :: offset: 0x32d, out: 0xfa895eb689580000
+ldl :: offset: 0x32e, out: 0xfbfa895eb6895800
+ldl :: offset: 0x32f, out: 0xe2fbfa895eb68958
+ldl :: offset: 0x330, out: 0xb700000000000000
+ldl :: offset: 0x331, out: 0x25b7000000000000
+ldl :: offset: 0x332, out: 0xed25b70000000000
+ldl :: offset: 0x333, out: 0x76ed25b700000000
+ldl :: offset: 0x334, out: 0x5d76ed25b7000000
+ldl :: offset: 0x335, out: 0xb05d76ed25b70000
+ldl :: offset: 0x336, out: 0x4bb05d76ed25b700
+ldl :: offset: 0x337, out: 0xd24bb05d76ed25b7
+ldl :: offset: 0x338, out: 0xf100000000000000
+ldl :: offset: 0x339, out: 0x12f1000000000000
+ldl :: offset: 0x33a, out: 0x312f10000000000
+ldl :: offset: 0x33b, out: 0x170312f100000000
+ldl :: offset: 0x33c, out: 0x2c170312f1000000
+ldl :: offset: 0x33d, out: 0x682c170312f10000
+ldl :: offset: 0x33e, out: 0xb9682c170312f100
+ldl :: offset: 0x33f, out: 0xeb9682c170312f1
+ldl :: offset: 0x340, out: 0xd00000000000000
+ldl :: offset: 0x341, out: 0x1d0d000000000000
+ldl :: offset: 0x342, out: 0x301d0d0000000000
+ldl :: offset: 0x343, out: 0xdd301d0d00000000
+ldl :: offset: 0x344, out: 0x80dd301d0d000000
+ldl :: offset: 0x345, out: 0x5280dd301d0d0000
+ldl :: offset: 0x346, out: 0x785280dd301d0d00
+ldl :: offset: 0x347, out: 0x84785280dd301d0d
+ldl :: offset: 0x348, out: 0xef00000000000000
+ldl :: offset: 0x349, out: 0xd6ef000000000000
+ldl :: offset: 0x34a, out: 0x8fd6ef0000000000
+ldl :: offset: 0x34b, out: 0x1f8fd6ef00000000
+ldl :: offset: 0x34c, out: 0xaa1f8fd6ef000000
+ldl :: offset: 0x34d, out: 0x77aa1f8fd6ef0000
+ldl :: offset: 0x34e, out: 0x9c77aa1f8fd6ef00
+ldl :: offset: 0x34f, out: 0x179c77aa1f8fd6ef
+ldl :: offset: 0x350, out: 0x6d00000000000000
+ldl :: offset: 0x351, out: 0x436d000000000000
+ldl :: offset: 0x352, out: 0x98436d0000000000
+ldl :: offset: 0x353, out: 0x2998436d00000000
+ldl :: offset: 0x354, out: 0xed2998436d000000
+ldl :: offset: 0x355, out: 0x4ced2998436d0000
+ldl :: offset: 0x356, out: 0x444ced2998436d00
+ldl :: offset: 0x357, out: 0x26444ced2998436d
+ldl :: offset: 0x358, out: 0x800000000000000
+ldl :: offset: 0x359, out: 0xa708000000000000
+ldl :: offset: 0x35a, out: 0x8ca7080000000000
+ldl :: offset: 0x35b, out: 0xd58ca70800000000
+ldl :: offset: 0x35c, out: 0x9dd58ca708000000
+ldl :: offset: 0x35d, out: 0x5c9dd58ca7080000
+ldl :: offset: 0x35e, out: 0x175c9dd58ca70800
+ldl :: offset: 0x35f, out: 0x7175c9dd58ca708
+ldl :: offset: 0x360, out: 0x8700000000000000
+ldl :: offset: 0x361, out: 0x3287000000000000
+ldl :: offset: 0x362, out: 0x8332870000000000
+ldl :: offset: 0x363, out: 0x5583328700000000
+ldl :: offset: 0x364, out: 0x1055833287000000
+ldl :: offset: 0x365, out: 0x610558332870000
+ldl :: offset: 0x366, out: 0x3d06105583328700
+ldl :: offset: 0x367, out: 0x663d061055833287
+ldl :: offset: 0x368, out: 0x8b00000000000000
+ldl :: offset: 0x369, out: 0xd68b000000000000
+ldl :: offset: 0x36a, out: 0x51d68b0000000000
+ldl :: offset: 0x36b, out: 0x8951d68b00000000
+ldl :: offset: 0x36c, out: 0x488951d68b000000
+ldl :: offset: 0x36d, out: 0xd0488951d68b0000
+ldl :: offset: 0x36e, out: 0x7dd0488951d68b00
+ldl :: offset: 0x36f, out: 0xab7dd0488951d68b
+ldl :: offset: 0x370, out: 0x1b00000000000000
+ldl :: offset: 0x371, out: 0x471b000000000000
+ldl :: offset: 0x372, out: 0x82471b0000000000
+ldl :: offset: 0x373, out: 0xe82471b00000000
+ldl :: offset: 0x374, out: 0x670e82471b000000
+ldl :: offset: 0x375, out: 0x23670e82471b0000
+ldl :: offset: 0x376, out: 0x9823670e82471b00
+ldl :: offset: 0x377, out: 0xf69823670e82471b
+ldl :: offset: 0x378, out: 0xb200000000000000
+ldl :: offset: 0x379, out: 0x26b2000000000000
+ldl :: offset: 0x37a, out: 0x8d26b20000000000
+ldl :: offset: 0x37b, out: 0xd98d26b200000000
+ldl :: offset: 0x37c, out: 0x59d98d26b2000000
+ldl :: offset: 0x37d, out: 0x6c59d98d26b20000
+ldl :: offset: 0x37e, out: 0x886c59d98d26b200
+ldl :: offset: 0x37f, out: 0x36886c59d98d26b2
+ldl :: offset: 0x380, out: 0x7900000000000000
+ldl :: offset: 0x381, out: 0xe479000000000000
+ldl :: offset: 0x382, out: 0x2be4790000000000
+ldl :: offset: 0x383, out: 0xd32be47900000000
+ldl :: offset: 0x384, out: 0xdbd32be479000000
+ldl :: offset: 0x385, out: 0x4bdbd32be4790000
+ldl :: offset: 0x386, out: 0xca4bdbd32be47900
+ldl :: offset: 0x387, out: 0x9ca4bdbd32be479
+ldl :: offset: 0x388, out: 0x1f00000000000000
+ldl :: offset: 0x389, out: 0xe61f000000000000
+ldl :: offset: 0x38a, out: 0x62e61f0000000000
+ldl :: offset: 0x38b, out: 0x9962e61f00000000
+ldl :: offset: 0x38c, out: 0x1d9962e61f000000
+ldl :: offset: 0x38d, out: 0x7d1d9962e61f0000
+ldl :: offset: 0x38e, out: 0x5d7d1d9962e61f00
+ldl :: offset: 0x38f, out: 0xfd5d7d1d9962e61f
+ldl :: offset: 0x390, out: 0xdf00000000000000
+ldl :: offset: 0x391, out: 0x74df000000000000
+ldl :: offset: 0x392, out: 0xd374df0000000000
+ldl :: offset: 0x393, out: 0xcad374df00000000
+ldl :: offset: 0x394, out: 0x3ecad374df000000
+ldl :: offset: 0x395, out: 0x553ecad374df0000
+ldl :: offset: 0x396, out: 0x46553ecad374df00
+ldl :: offset: 0x397, out: 0x3f46553ecad374df
+ldl :: offset: 0x398, out: 0xa700000000000000
+ldl :: offset: 0x399, out: 0xf2a7000000000000
+ldl :: offset: 0x39a, out: 0xedf2a70000000000
+ldl :: offset: 0x39b, out: 0x3eedf2a700000000
+ldl :: offset: 0x39c, out: 0x7d3eedf2a7000000
+ldl :: offset: 0x39d, out: 0xb97d3eedf2a70000
+ldl :: offset: 0x39e, out: 0x9ab97d3eedf2a700
+ldl :: offset: 0x39f, out: 0x2e9ab97d3eedf2a7
+ldl :: offset: 0x3a0, out: 0x3300000000000000
+ldl :: offset: 0x3a1, out: 0x9f33000000000000
+ldl :: offset: 0x3a2, out: 0xc9f330000000000
+ldl :: offset: 0x3a3, out: 0x3c0c9f3300000000
+ldl :: offset: 0x3a4, out: 0xfa3c0c9f33000000
+ldl :: offset: 0x3a5, out: 0xf7fa3c0c9f330000
+ldl :: offset: 0x3a6, out: 0xa6f7fa3c0c9f3300
+ldl :: offset: 0x3a7, out: 0x36a6f7fa3c0c9f33
+ldl :: offset: 0x3a8, out: 0xdc00000000000000
+ldl :: offset: 0x3a9, out: 0xc9dc000000000000
+ldl :: offset: 0x3aa, out: 0x5ec9dc0000000000
+ldl :: offset: 0x3ab, out: 0x155ec9dc00000000
+ldl :: offset: 0x3ac, out: 0xe3155ec9dc000000
+ldl :: offset: 0x3ad, out: 0x38e3155ec9dc0000
+ldl :: offset: 0x3ae, out: 0xb938e3155ec9dc00
+ldl :: offset: 0x3af, out: 0x8bb938e3155ec9dc
+ldl :: offset: 0x3b0, out: 0x600000000000000
+ldl :: offset: 0x3b1, out: 0x8206000000000000
+ldl :: offset: 0x3b2, out: 0x4782060000000000
+ldl :: offset: 0x3b3, out: 0x1947820600000000
+ldl :: offset: 0x3b4, out: 0xc419478206000000
+ldl :: offset: 0x3b5, out: 0x25c4194782060000
+ldl :: offset: 0x3b6, out: 0xdf25c41947820600
+ldl :: offset: 0x3b7, out: 0xd2df25c419478206
+ldl :: offset: 0x3b8, out: 0x2500000000000000
+ldl :: offset: 0x3b9, out: 0x1825000000000000
+ldl :: offset: 0x3ba, out: 0x3218250000000000
+ldl :: offset: 0x3bb, out: 0xeb32182500000000
+ldl :: offset: 0x3bc, out: 0x27eb321825000000
+ldl :: offset: 0x3bd, out: 0xbf27eb3218250000
+ldl :: offset: 0x3be, out: 0x65bf27eb32182500
+ldl :: offset: 0x3bf, out: 0xbc65bf27eb321825
+ldl :: offset: 0x3c0, out: 0xda00000000000000
+ldl :: offset: 0x3c1, out: 0xc7da000000000000
+ldl :: offset: 0x3c2, out: 0x8bc7da0000000000
+ldl :: offset: 0x3c3, out: 0x7a8bc7da00000000
+ldl :: offset: 0x3c4, out: 0xe67a8bc7da000000
+ldl :: offset: 0x3c5, out: 0x8fe67a8bc7da0000
+ldl :: offset: 0x3c6, out: 0xb08fe67a8bc7da00
+ldl :: offset: 0x3c7, out: 0xa8b08fe67a8bc7da
+ldl :: offset: 0x3c8, out: 0xe800000000000000
+ldl :: offset: 0x3c9, out: 0xcde8000000000000
+ldl :: offset: 0x3ca, out: 0xdfcde80000000000
+ldl :: offset: 0x3cb, out: 0xf8dfcde800000000
+ldl :: offset: 0x3cc, out: 0xcaf8dfcde8000000
+ldl :: offset: 0x3cd, out: 0x5bcaf8dfcde80000
+ldl :: offset: 0x3ce, out: 0x2b5bcaf8dfcde800
+ldl :: offset: 0x3cf, out: 0x852b5bcaf8dfcde8
+ldl :: offset: 0x3d0, out: 0x6900000000000000
+ldl :: offset: 0x3d1, out: 0x9269000000000000
+ldl :: offset: 0x3d2, out: 0xa992690000000000
+ldl :: offset: 0x3d3, out: 0x59a9926900000000
+ldl :: offset: 0x3d4, out: 0x9b59a99269000000
+ldl :: offset: 0x3d5, out: 0x909b59a992690000
+ldl :: offset: 0x3d6, out: 0x78909b59a9926900
+ldl :: offset: 0x3d7, out: 0x478909b59a99269
+ldl :: offset: 0x3d8, out: 0xf00000000000000
+ldl :: offset: 0x3d9, out: 0x360f000000000000
+ldl :: offset: 0x3da, out: 0x57360f0000000000
+ldl :: offset: 0x3db, out: 0x7857360f00000000
+ldl :: offset: 0x3dc, out: 0xc87857360f000000
+ldl :: offset: 0x3dd, out: 0x1cc87857360f0000
+ldl :: offset: 0x3de, out: 0xb31cc87857360f00
+ldl :: offset: 0x3df, out: 0xbfb31cc87857360f
+ldl :: offset: 0x3e0, out: 0xa200000000000000
+ldl :: offset: 0x3e1, out: 0xe9a2000000000000
+ldl :: offset: 0x3e2, out: 0x89e9a20000000000
+ldl :: offset: 0x3e3, out: 0x7f89e9a200000000
+ldl :: offset: 0x3e4, out: 0x5e7f89e9a2000000
+ldl :: offset: 0x3e5, out: 0xed5e7f89e9a20000
+ldl :: offset: 0x3e6, out: 0x65ed5e7f89e9a200
+ldl :: offset: 0x3e7, out: 0xb665ed5e7f89e9a2
+ldl :: offset: 0x3e8, out: 0xe400000000000000
+ldl :: offset: 0x3e9, out: 0xd5e4000000000000
+ldl :: offset: 0x3ea, out: 0xa8d5e40000000000
+ldl :: offset: 0x3eb, out: 0xb7a8d5e400000000
+ldl :: offset: 0x3ec, out: 0x74b7a8d5e4000000
+ldl :: offset: 0x3ed, out: 0x9474b7a8d5e40000
+ldl :: offset: 0x3ee, out: 0xda9474b7a8d5e400
+ldl :: offset: 0x3ef, out: 0x15da9474b7a8d5e4
+ldl :: offset: 0x3f0, out: 0xcc00000000000000
+ldl :: offset: 0x3f1, out: 0xfcc000000000000
+ldl :: offset: 0x3f2, out: 0xf90fcc0000000000
+ldl :: offset: 0x3f3, out: 0x2af90fcc00000000
+ldl :: offset: 0x3f4, out: 0x7d2af90fcc000000
+ldl :: offset: 0x3f5, out: 0x537d2af90fcc0000
+ldl :: offset: 0x3f6, out: 0xb3537d2af90fcc00
+ldl :: offset: 0x3f7, out: 0xf6b3537d2af90fcc
+ldl :: offset: 0x3f8, out: 0x9700000000000000
+ldl :: offset: 0x3f9, out: 0x1897000000000000
+ldl :: offset: 0x3fa, out: 0x9618970000000000
+ldl :: offset: 0x3fb, out: 0x2b96189700000000
+ldl :: offset: 0x3fc, out: 0xfe2b961897000000
+ldl :: offset: 0x3fd, out: 0x7cfe2b9618970000
+ldl :: offset: 0x3fe, out: 0x3d7cfe2b96189700
+ldl :: offset: 0x3ff, out: 0x223d7cfe2b961897
+ldl :: offset: 0x400, out: 0x4b00000000000000
+ldl :: offset: 0x401, out: 0x4a4b000000000000
+ldl :: offset: 0x402, out: 0x734a4b0000000000
+ldl :: offset: 0x403, out: 0x33734a4b00000000
+ldl :: offset: 0x404, out: 0xf533734a4b000000
+ldl :: offset: 0x405, out: 0x34f533734a4b0000
+ldl :: offset: 0x406, out: 0xb34f533734a4b00
+ldl :: offset: 0x407, out: 0x420b34f533734a4b
+ldl :: offset: 0x408, out: 0x3c00000000000000
+ldl :: offset: 0x409, out: 0xb33c000000000000
+ldl :: offset: 0x40a, out: 0x46b33c0000000000
+ldl :: offset: 0x40b, out: 0xdd46b33c00000000
+ldl :: offset: 0x40c, out: 0x8ddd46b33c000000
+ldl :: offset: 0x40d, out: 0x8c8ddd46b33c0000
+ldl :: offset: 0x40e, out: 0x7c8c8ddd46b33c00
+ldl :: offset: 0x40f, out: 0x897c8c8ddd46b33c
+ldl :: offset: 0x410, out: 0xd900000000000000
+ldl :: offset: 0x411, out: 0xccd9000000000000
+ldl :: offset: 0x412, out: 0x92ccd90000000000
+ldl :: offset: 0x413, out: 0xe392ccd900000000
+ldl :: offset: 0x414, out: 0x45e392ccd9000000
+ldl :: offset: 0x415, out: 0x7445e392ccd90000
+ldl :: offset: 0x416, out: 0x387445e392ccd900
+ldl :: offset: 0x417, out: 0x7a387445e392ccd9
+ldl :: offset: 0x418, out: 0xc900000000000000
+ldl :: offset: 0x419, out: 0xc9000000000000
+ldl :: offset: 0x41a, out: 0xc90000000000
+ldl :: offset: 0x41b, out: 0xd80000c900000000
+ldl :: offset: 0x41c, out: 0xb1d80000c9000000
+ldl :: offset: 0x41d, out: 0x29b1d80000c90000
+ldl :: offset: 0x41e, out: 0x2f29b1d80000c900
+ldl :: offset: 0x41f, out: 0x512f29b1d80000c9
+ldl :: offset: 0x420, out: 0xa00000000000000
+ldl :: offset: 0x421, out: 0x20a000000000000
+ldl :: offset: 0x422, out: 0xad020a0000000000
+ldl :: offset: 0x423, out: 0x3dad020a00000000
+ldl :: offset: 0x424, out: 0xc53dad020a000000
+ldl :: offset: 0x425, out: 0xd5c53dad020a0000
+ldl :: offset: 0x426, out: 0xded5c53dad020a00
+ldl :: offset: 0x427, out: 0xeaded5c53dad020a
+ldl :: offset: 0x428, out: 0x5b00000000000000
+ldl :: offset: 0x429, out: 0xa35b000000000000
+ldl :: offset: 0x42a, out: 0xeea35b0000000000
+ldl :: offset: 0x42b, out: 0x31eea35b00000000
+ldl :: offset: 0x42c, out: 0xd731eea35b000000
+ldl :: offset: 0x42d, out: 0x29d731eea35b0000
+ldl :: offset: 0x42e, out: 0x6229d731eea35b00
+ldl :: offset: 0x42f, out: 0x8a6229d731eea35b
+ldl :: offset: 0x430, out: 0x4900000000000000
+ldl :: offset: 0x431, out: 0x5649000000000000
+ldl :: offset: 0x432, out: 0x9856490000000000
+ldl :: offset: 0x433, out: 0x4898564900000000
+ldl :: offset: 0x434, out: 0x9e48985649000000
+ldl :: offset: 0x435, out: 0x3f9e489856490000
+ldl :: offset: 0x436, out: 0x3c3f9e4898564900
+ldl :: offset: 0x437, out: 0x2c3c3f9e48985649
+ldl :: offset: 0x438, out: 0x7700000000000000
+ldl :: offset: 0x439, out: 0xb77000000000000
+ldl :: offset: 0x43a, out: 0x9c0b770000000000
+ldl :: offset: 0x43b, out: 0xdc9c0b7700000000
+ldl :: offset: 0x43c, out: 0x78dc9c0b77000000
+ldl :: offset: 0x43d, out: 0x1e78dc9c0b770000
+ldl :: offset: 0x43e, out: 0xf61e78dc9c0b7700
+ldl :: offset: 0x43f, out: 0x7ff61e78dc9c0b77
+ldl :: offset: 0x440, out: 0xec00000000000000
+ldl :: offset: 0x441, out: 0x68ec000000000000
+ldl :: offset: 0x442, out: 0x5e68ec0000000000
+ldl :: offset: 0x443, out: 0x1d5e68ec00000000
+ldl :: offset: 0x444, out: 0xe01d5e68ec000000
+ldl :: offset: 0x445, out: 0xb0e01d5e68ec0000
+ldl :: offset: 0x446, out: 0x99b0e01d5e68ec00
+ldl :: offset: 0x447, out: 0x2299b0e01d5e68ec
+ldl :: offset: 0x448, out: 0x2500000000000000
+ldl :: offset: 0x449, out: 0x6e25000000000000
+ldl :: offset: 0x44a, out: 0xc6e250000000000
+ldl :: offset: 0x44b, out: 0x3d0c6e2500000000
+ldl :: offset: 0x44c, out: 0x673d0c6e25000000
+ldl :: offset: 0x44d, out: 0x4673d0c6e250000
+ldl :: offset: 0x44e, out: 0x3b04673d0c6e2500
+ldl :: offset: 0x44f, out: 0x7c3b04673d0c6e25
+ldl :: offset: 0x450, out: 0x8700000000000000
+ldl :: offset: 0x451, out: 0x6587000000000000
+ldl :: offset: 0x452, out: 0xfb65870000000000
+ldl :: offset: 0x453, out: 0xe7fb658700000000
+ldl :: offset: 0x454, out: 0xc1e7fb6587000000
+ldl :: offset: 0x455, out: 0x17c1e7fb65870000
+ldl :: offset: 0x456, out: 0x4e17c1e7fb658700
+ldl :: offset: 0x457, out: 0x164e17c1e7fb6587
+ldl :: offset: 0x458, out: 0xb00000000000000
+ldl :: offset: 0x459, out: 0x950b000000000000
+ldl :: offset: 0x45a, out: 0xd4950b0000000000
+ldl :: offset: 0x45b, out: 0x56d4950b00000000
+ldl :: offset: 0x45c, out: 0x8b56d4950b000000
+ldl :: offset: 0x45d, out: 0xa28b56d4950b0000
+ldl :: offset: 0x45e, out: 0x4ca28b56d4950b00
+ldl :: offset: 0x45f, out: 0xfa4ca28b56d4950b
+ldl :: offset: 0x460, out: 0x8a00000000000000
+ldl :: offset: 0x461, out: 0xa08a000000000000
+ldl :: offset: 0x462, out: 0x7fa08a0000000000
+ldl :: offset: 0x463, out: 0xbe7fa08a00000000
+ldl :: offset: 0x464, out: 0x14be7fa08a000000
+ldl :: offset: 0x465, out: 0xa314be7fa08a0000
+ldl :: offset: 0x466, out: 0xe9a314be7fa08a00
+ldl :: offset: 0x467, out: 0xe5e9a314be7fa08a
+ldl :: offset: 0x468, out: 0xc500000000000000
+ldl :: offset: 0x469, out: 0x49c5000000000000
+ldl :: offset: 0x46a, out: 0x9649c50000000000
+ldl :: offset: 0x46b, out: 0x159649c500000000
+ldl :: offset: 0x46c, out: 0x64159649c5000000
+ldl :: offset: 0x46d, out: 0x8164159649c50000
+ldl :: offset: 0x46e, out: 0xbe8164159649c500
+ldl :: offset: 0x46f, out: 0xf8be8164159649c5
+ldl :: offset: 0x470, out: 0x1700000000000000
+ldl :: offset: 0x471, out: 0x9b17000000000000
+ldl :: offset: 0x472, out: 0xe69b170000000000
+ldl :: offset: 0x473, out: 0x84e69b1700000000
+ldl :: offset: 0x474, out: 0x9784e69b17000000
+ldl :: offset: 0x475, out: 0x259784e69b170000
+ldl :: offset: 0x476, out: 0xa3259784e69b1700
+ldl :: offset: 0x477, out: 0x7ca3259784e69b17
+ldl :: offset: 0x478, out: 0x5c00000000000000
+ldl :: offset: 0x479, out: 0x4f5c000000000000
+ldl :: offset: 0x47a, out: 0xf24f5c0000000000
+ldl :: offset: 0x47b, out: 0xa1f24f5c00000000
+ldl :: offset: 0x47c, out: 0x3ca1f24f5c000000
+ldl :: offset: 0x47d, out: 0x543ca1f24f5c0000
+ldl :: offset: 0x47e, out: 0x8d543ca1f24f5c00
+ldl :: offset: 0x47f, out: 0xfc8d543ca1f24f5c
+ldl :: offset: 0x480, out: 0x3600000000000000
+ldl :: offset: 0x481, out: 0x9e36000000000000
+ldl :: offset: 0x482, out: 0x459e360000000000
+ldl :: offset: 0x483, out: 0xe3459e3600000000
+ldl :: offset: 0x484, out: 0xa0e3459e36000000
+ldl :: offset: 0x485, out: 0x6ca0e3459e360000
+ldl :: offset: 0x486, out: 0xeb6ca0e3459e3600
+ldl :: offset: 0x487, out: 0x4aeb6ca0e3459e36
+ldl :: offset: 0x488, out: 0xfa00000000000000
+ldl :: offset: 0x489, out: 0x80fa000000000000
+ldl :: offset: 0x48a, out: 0x7980fa0000000000
+ldl :: offset: 0x48b, out: 0x187980fa00000000
+ldl :: offset: 0x48c, out: 0x8e187980fa000000
+ldl :: offset: 0x48d, out: 0xe18e187980fa0000
+ldl :: offset: 0x48e, out: 0x32e18e187980fa00
+ldl :: offset: 0x48f, out: 0xc532e18e187980fa
+ldl :: offset: 0x490, out: 0x1c00000000000000
+ldl :: offset: 0x491, out: 0x7d1c000000000000
+ldl :: offset: 0x492, out: 0x287d1c0000000000
+ldl :: offset: 0x493, out: 0x4f287d1c00000000
+ldl :: offset: 0x494, out: 0x294f287d1c000000
+ldl :: offset: 0x495, out: 0xec294f287d1c0000
+ldl :: offset: 0x496, out: 0xfdec294f287d1c00
+ldl :: offset: 0x497, out: 0xb3fdec294f287d1c
+ldl :: offset: 0x498, out: 0x9000000000000000
+ldl :: offset: 0x499, out: 0x2b90000000000000
+ldl :: offset: 0x49a, out: 0x732b900000000000
+ldl :: offset: 0x49b, out: 0x49732b9000000000
+ldl :: offset: 0x49c, out: 0xa49732b90000000
+ldl :: offset: 0x49d, out: 0x660a49732b900000
+ldl :: offset: 0x49e, out: 0x20660a49732b9000
+ldl :: offset: 0x49f, out: 0xb620660a49732b90
+ldl :: offset: 0x4a0, out: 0x9100000000000000
+ldl :: offset: 0x4a1, out: 0xe991000000000000
+ldl :: offset: 0x4a2, out: 0xfde9910000000000
+ldl :: offset: 0x4a3, out: 0x6cfde99100000000
+ldl :: offset: 0x4a4, out: 0xf16cfde991000000
+ldl :: offset: 0x4a5, out: 0x38f16cfde9910000
+ldl :: offset: 0x4a6, out: 0x3138f16cfde99100
+ldl :: offset: 0x4a7, out: 0x993138f16cfde991
+ldl :: offset: 0x4a8, out: 0xb900000000000000
+ldl :: offset: 0x4a9, out: 0x7b9000000000000
+ldl :: offset: 0x4aa, out: 0x5407b90000000000
+ldl :: offset: 0x4ab, out: 0x7d5407b900000000
+ldl :: offset: 0x4ac, out: 0x337d5407b9000000
+ldl :: offset: 0x4ad, out: 0xd1337d5407b90000
+ldl :: offset: 0x4ae, out: 0x2d1337d5407b900
+ldl :: offset: 0x4af, out: 0xde02d1337d5407b9
+ldl :: offset: 0x4b0, out: 0x5a00000000000000
+ldl :: offset: 0x4b1, out: 0xb15a000000000000
+ldl :: offset: 0x4b2, out: 0xdab15a0000000000
+ldl :: offset: 0x4b3, out: 0xe1dab15a00000000
+ldl :: offset: 0x4b4, out: 0xe1e1dab15a000000
+ldl :: offset: 0x4b5, out: 0x90e1e1dab15a0000
+ldl :: offset: 0x4b6, out: 0xa390e1e1dab15a00
+ldl :: offset: 0x4b7, out: 0x13a390e1e1dab15a
+ldl :: offset: 0x4b8, out: 0xc800000000000000
+ldl :: offset: 0x4b9, out: 0x16c8000000000000
+ldl :: offset: 0x4ba, out: 0x8716c80000000000
+ldl :: offset: 0x4bb, out: 0x828716c800000000
+ldl :: offset: 0x4bc, out: 0xa6828716c8000000
+ldl :: offset: 0x4bd, out: 0x91a6828716c80000
+ldl :: offset: 0x4be, out: 0x3491a6828716c800
+ldl :: offset: 0x4bf, out: 0x743491a6828716c8
+ldl :: offset: 0x4c0, out: 0xf200000000000000
+ldl :: offset: 0x4c1, out: 0x92f2000000000000
+ldl :: offset: 0x4c2, out: 0xe292f20000000000
+ldl :: offset: 0x4c3, out: 0xede292f200000000
+ldl :: offset: 0x4c4, out: 0x4aede292f2000000
+ldl :: offset: 0x4c5, out: 0x404aede292f20000
+ldl :: offset: 0x4c6, out: 0xff404aede292f200
+ldl :: offset: 0x4c7, out: 0x8cff404aede292f2
+ldl :: offset: 0x4c8, out: 0x3600000000000000
+ldl :: offset: 0x4c9, out: 0x7636000000000000
+ldl :: offset: 0x4ca, out: 0x8376360000000000
+ldl :: offset: 0x4cb, out: 0x1f83763600000000
+ldl :: offset: 0x4cc, out: 0xdb1f837636000000
+ldl :: offset: 0x4cd, out: 0xc0db1f8376360000
+ldl :: offset: 0x4ce, out: 0xcec0db1f83763600
+ldl :: offset: 0x4cf, out: 0xb9cec0db1f837636
+ldl :: offset: 0x4d0, out: 0x1c00000000000000
+ldl :: offset: 0x4d1, out: 0x771c000000000000
+ldl :: offset: 0x4d2, out: 0x9771c0000000000
+ldl :: offset: 0x4d3, out: 0x509771c00000000
+ldl :: offset: 0x4d4, out: 0xa70509771c000000
+ldl :: offset: 0x4d5, out: 0x5aa70509771c0000
+ldl :: offset: 0x4d6, out: 0xaa5aa70509771c00
+ldl :: offset: 0x4d7, out: 0x2eaa5aa70509771c
+ldl :: offset: 0x4d8, out: 0x1b00000000000000
+ldl :: offset: 0x4d9, out: 0x241b000000000000
+ldl :: offset: 0x4da, out: 0x75241b0000000000
+ldl :: offset: 0x4db, out: 0x1875241b00000000
+ldl :: offset: 0x4dc, out: 0x8e1875241b000000
+ldl :: offset: 0x4dd, out: 0x538e1875241b0000
+ldl :: offset: 0x4de, out: 0x27538e1875241b00
+ldl :: offset: 0x4df, out: 0xd327538e1875241b
+ldl :: offset: 0x4e0, out: 0x6b00000000000000
+ldl :: offset: 0x4e1, out: 0x9b6b000000000000
+ldl :: offset: 0x4e2, out: 0x739b6b0000000000
+ldl :: offset: 0x4e3, out: 0x8b739b6b00000000
+ldl :: offset: 0x4e4, out: 0x548b739b6b000000
+ldl :: offset: 0x4e5, out: 0xf8548b739b6b0000
+ldl :: offset: 0x4e6, out: 0xe9f8548b739b6b00
+ldl :: offset: 0x4e7, out: 0x42e9f8548b739b6b
+ldl :: offset: 0x4e8, out: 0x1a00000000000000
+ldl :: offset: 0x4e9, out: 0xba1a000000000000
+ldl :: offset: 0x4ea, out: 0xcbba1a0000000000
+ldl :: offset: 0x4eb, out: 0xeccbba1a00000000
+ldl :: offset: 0x4ec, out: 0xceccbba1a000000
+ldl :: offset: 0x4ed, out: 0xe50ceccbba1a0000
+ldl :: offset: 0x4ee, out: 0xe4e50ceccbba1a00
+ldl :: offset: 0x4ef, out: 0x78e4e50ceccbba1a
+ldl :: offset: 0x4f0, out: 0xcb00000000000000
+ldl :: offset: 0x4f1, out: 0x27cb000000000000
+ldl :: offset: 0x4f2, out: 0x9d27cb0000000000
+ldl :: offset: 0x4f3, out: 0xcd9d27cb00000000
+ldl :: offset: 0x4f4, out: 0x3fcd9d27cb000000
+ldl :: offset: 0x4f5, out: 0xfa3fcd9d27cb0000
+ldl :: offset: 0x4f6, out: 0xb6fa3fcd9d27cb00
+ldl :: offset: 0x4f7, out: 0xf6b6fa3fcd9d27cb
+ldl :: offset: 0x4f8, out: 0x2300000000000000
+ldl :: offset: 0x4f9, out: 0x9423000000000000
+ldl :: offset: 0x4fa, out: 0x3e94230000000000
+ldl :: offset: 0x4fb, out: 0xae3e942300000000
+ldl :: offset: 0x4fc, out: 0x83ae3e9423000000
+ldl :: offset: 0x4fd, out: 0x6483ae3e94230000
+ldl :: offset: 0x4fe, out: 0x916483ae3e942300
+ldl :: offset: 0x4ff, out: 0x73916483ae3e9423
+ldl :: offset: 0x500, out: 0x6100000000000000
+ldl :: offset: 0x501, out: 0x8561000000000000
+ldl :: offset: 0x502, out: 0x1285610000000000
+ldl :: offset: 0x503, out: 0xe12856100000000
+ldl :: offset: 0x504, out: 0xa0e128561000000
+ldl :: offset: 0x505, out: 0xf70a0e1285610000
+ldl :: offset: 0x506, out: 0x6af70a0e12856100
+ldl :: offset: 0x507, out: 0x276af70a0e128561
+ldl :: offset: 0x508, out: 0x6e00000000000000
+ldl :: offset: 0x509, out: 0x4b6e000000000000
+ldl :: offset: 0x50a, out: 0xe74b6e0000000000
+ldl :: offset: 0x50b, out: 0xb5e74b6e00000000
+ldl :: offset: 0x50c, out: 0xf6b5e74b6e000000
+ldl :: offset: 0x50d, out: 0x5bf6b5e74b6e0000
+ldl :: offset: 0x50e, out: 0x45bf6b5e74b6e00
+ldl :: offset: 0x50f, out: 0x3045bf6b5e74b6e
+ldl :: offset: 0x510, out: 0xa600000000000000
+ldl :: offset: 0x511, out: 0xcfa6000000000000
+ldl :: offset: 0x512, out: 0xaccfa60000000000
+ldl :: offset: 0x513, out: 0x8accfa600000000
+ldl :: offset: 0x514, out: 0x1308accfa6000000
+ldl :: offset: 0x515, out: 0x3f1308accfa60000
+ldl :: offset: 0x516, out: 0x223f1308accfa600
+ldl :: offset: 0x517, out: 0x20223f1308accfa6
+ldl :: offset: 0x518, out: 0xf500000000000000
+ldl :: offset: 0x519, out: 0xb5f5000000000000
+ldl :: offset: 0x51a, out: 0x76b5f50000000000
+ldl :: offset: 0x51b, out: 0x3976b5f500000000
+ldl :: offset: 0x51c, out: 0x743976b5f5000000
+ldl :: offset: 0x51d, out: 0x55743976b5f50000
+ldl :: offset: 0x51e, out: 0x3c55743976b5f500
+ldl :: offset: 0x51f, out: 0xf83c55743976b5f5
+ldl :: offset: 0x520, out: 0x3d00000000000000
+ldl :: offset: 0x521, out: 0x3c3d000000000000
+ldl :: offset: 0x522, out: 0x923c3d0000000000
+ldl :: offset: 0x523, out: 0x46923c3d00000000
+ldl :: offset: 0x524, out: 0xf946923c3d000000
+ldl :: offset: 0x525, out: 0x20f946923c3d0000
+ldl :: offset: 0x526, out: 0x9720f946923c3d00
+ldl :: offset: 0x527, out: 0x1f9720f946923c3d
+ldl :: offset: 0x528, out: 0xdd00000000000000
+ldl :: offset: 0x529, out: 0x48dd000000000000
+ldl :: offset: 0x52a, out: 0x2448dd0000000000
+ldl :: offset: 0x52b, out: 0x6d2448dd00000000
+ldl :: offset: 0x52c, out: 0x506d2448dd000000
+ldl :: offset: 0x52d, out: 0x28506d2448dd0000
+ldl :: offset: 0x52e, out: 0xd28506d2448dd00
+ldl :: offset: 0x52f, out: 0x620d28506d2448dd
+ldl :: offset: 0x530, out: 0x3200000000000000
+ldl :: offset: 0x531, out: 0xa732000000000000
+ldl :: offset: 0x532, out: 0xf4a7320000000000
+ldl :: offset: 0x533, out: 0x9ff4a73200000000
+ldl :: offset: 0x534, out: 0xe99ff4a732000000
+ldl :: offset: 0x535, out: 0x21e99ff4a7320000
+ldl :: offset: 0x536, out: 0xa521e99ff4a73200
+ldl :: offset: 0x537, out: 0x60a521e99ff4a732
+ldl :: offset: 0x538, out: 0xb00000000000000
+ldl :: offset: 0x539, out: 0xf0b000000000000
+ldl :: offset: 0x53a, out: 0x680f0b0000000000
+ldl :: offset: 0x53b, out: 0x5c680f0b00000000
+ldl :: offset: 0x53c, out: 0xab5c680f0b000000
+ldl :: offset: 0x53d, out: 0xf3ab5c680f0b0000
+ldl :: offset: 0x53e, out: 0x8f3ab5c680f0b00
+ldl :: offset: 0x53f, out: 0x5a08f3ab5c680f0b
+ldl :: offset: 0x540, out: 0x2600000000000000
+ldl :: offset: 0x541, out: 0x3d26000000000000
+ldl :: offset: 0x542, out: 0xf3d260000000000
+ldl :: offset: 0x543, out: 0x800f3d2600000000
+ldl :: offset: 0x544, out: 0xe7800f3d26000000
+ldl :: offset: 0x545, out: 0x9be7800f3d260000
+ldl :: offset: 0x546, out: 0xa59be7800f3d2600
+ldl :: offset: 0x547, out: 0xc7a59be7800f3d26
+ldl :: offset: 0x548, out: 0x4100000000000000
+ldl :: offset: 0x549, out: 0x1b41000000000000
+ldl :: offset: 0x54a, out: 0xca1b410000000000
+ldl :: offset: 0x54b, out: 0x82ca1b4100000000
+ldl :: offset: 0x54c, out: 0x2982ca1b41000000
+ldl :: offset: 0x54d, out: 0xdf2982ca1b410000
+ldl :: offset: 0x54e, out: 0xecdf2982ca1b4100
+ldl :: offset: 0x54f, out: 0x1aecdf2982ca1b41
+ldl :: offset: 0x550, out: 0xcd00000000000000
+ldl :: offset: 0x551, out: 0x9dcd000000000000
+ldl :: offset: 0x552, out: 0xd19dcd0000000000
+ldl :: offset: 0x553, out: 0x60d19dcd00000000
+ldl :: offset: 0x554, out: 0xa260d19dcd000000
+ldl :: offset: 0x555, out: 0x13a260d19dcd0000
+ldl :: offset: 0x556, out: 0x8613a260d19dcd00
+ldl :: offset: 0x557, out: 0x2b8613a260d19dcd
+ldl :: offset: 0x558, out: 0x7f00000000000000
+ldl :: offset: 0x559, out: 0xbe7f000000000000
+ldl :: offset: 0x55a, out: 0x8bbe7f0000000000
+ldl :: offset: 0x55b, out: 0xe8bbe7f00000000
+ldl :: offset: 0x55c, out: 0x8b0e8bbe7f000000
+ldl :: offset: 0x55d, out: 0xac8b0e8bbe7f0000
+ldl :: offset: 0x55e, out: 0x18ac8b0e8bbe7f00
+ldl :: offset: 0x55f, out: 0x2518ac8b0e8bbe7f
+ldl :: offset: 0x560, out: 0x6b00000000000000
+ldl :: offset: 0x561, out: 0x486b000000000000
+ldl :: offset: 0x562, out: 0xcf486b0000000000
+ldl :: offset: 0x563, out: 0x2fcf486b00000000
+ldl :: offset: 0x564, out: 0x8d2fcf486b000000
+ldl :: offset: 0x565, out: 0x568d2fcf486b0000
+ldl :: offset: 0x566, out: 0x3e568d2fcf486b00
+ldl :: offset: 0x567, out: 0x743e568d2fcf486b
+ldl :: offset: 0x568, out: 0x2800000000000000
+ldl :: offset: 0x569, out: 0x1728000000000000
+ldl :: offset: 0x56a, out: 0xc317280000000000
+ldl :: offset: 0x56b, out: 0x34c3172800000000
+ldl :: offset: 0x56c, out: 0x6f34c31728000000
+ldl :: offset: 0x56d, out: 0x646f34c317280000
+ldl :: offset: 0x56e, out: 0x6f646f34c3172800
+ldl :: offset: 0x56f, out: 0x126f646f34c31728
+ldl :: offset: 0x570, out: 0x1200000000000000
+ldl :: offset: 0x571, out: 0x4d12000000000000
+ldl :: offset: 0x572, out: 0xfc4d120000000000
+ldl :: offset: 0x573, out: 0x56fc4d1200000000
+ldl :: offset: 0x574, out: 0x6156fc4d12000000
+ldl :: offset: 0x575, out: 0x196156fc4d120000
+ldl :: offset: 0x576, out: 0xb0196156fc4d1200
+ldl :: offset: 0x577, out: 0xaab0196156fc4d12
+ldl :: offset: 0x578, out: 0x4200000000000000
+ldl :: offset: 0x579, out: 0xd342000000000000
+ldl :: offset: 0x57a, out: 0x95d3420000000000
+ldl :: offset: 0x57b, out: 0x8595d34200000000
+ldl :: offset: 0x57c, out: 0x338595d342000000
+ldl :: offset: 0x57d, out: 0xcd338595d3420000
+ldl :: offset: 0x57e, out: 0x35cd338595d34200
+ldl :: offset: 0x57f, out: 0x7535cd338595d342
+ldl :: offset: 0x580, out: 0xec00000000000000
+ldl :: offset: 0x581, out: 0x46ec000000000000
+ldl :: offset: 0x582, out: 0x2346ec0000000000
+ldl :: offset: 0x583, out: 0x422346ec00000000
+ldl :: offset: 0x584, out: 0xda422346ec000000
+ldl :: offset: 0x585, out: 0x54da422346ec0000
+ldl :: offset: 0x586, out: 0xb254da422346ec00
+ldl :: offset: 0x587, out: 0xdfb254da422346ec
+ldl :: offset: 0x588, out: 0x2a00000000000000
+ldl :: offset: 0x589, out: 0xab2a000000000000
+ldl :: offset: 0x58a, out: 0x81ab2a0000000000
+ldl :: offset: 0x58b, out: 0x81ab2a00000000
+ldl :: offset: 0x58c, out: 0xc90081ab2a000000
+ldl :: offset: 0x58d, out: 0x26c90081ab2a0000
+ldl :: offset: 0x58e, out: 0x6726c90081ab2a00
+ldl :: offset: 0x58f, out: 0xa86726c90081ab2a
+ldl :: offset: 0x590, out: 0x3800000000000000
+ldl :: offset: 0x591, out: 0x7438000000000000
+ldl :: offset: 0x592, out: 0x9d74380000000000
+ldl :: offset: 0x593, out: 0x679d743800000000
+ldl :: offset: 0x594, out: 0xa1679d7438000000
+ldl :: offset: 0x595, out: 0xffa1679d74380000
+ldl :: offset: 0x596, out: 0xfeffa1679d743800
+ldl :: offset: 0x597, out: 0x9bfeffa1679d7438
+ldl :: offset: 0x598, out: 0x4400000000000000
+ldl :: offset: 0x599, out: 0xe244000000000000
+ldl :: offset: 0x59a, out: 0xdee2440000000000
+ldl :: offset: 0x59b, out: 0xb7dee24400000000
+ldl :: offset: 0x59c, out: 0x26b7dee244000000
+ldl :: offset: 0x59d, out: 0x9826b7dee2440000
+ldl :: offset: 0x59e, out: 0x699826b7dee24400
+ldl :: offset: 0x59f, out: 0xc7699826b7dee244
+ldl :: offset: 0x5a0, out: 0x4a00000000000000
+ldl :: offset: 0x5a1, out: 0x704a000000000000
+ldl :: offset: 0x5a2, out: 0xa6704a0000000000
+ldl :: offset: 0x5a3, out: 0xfba6704a00000000
+ldl :: offset: 0x5a4, out: 0x97fba6704a000000
+ldl :: offset: 0x5a5, out: 0xaf97fba6704a0000
+ldl :: offset: 0x5a6, out: 0x7af97fba6704a00
+ldl :: offset: 0x5a7, out: 0x3c07af97fba6704a
+ldl :: offset: 0x5a8, out: 0xfe00000000000000
+ldl :: offset: 0x5a9, out: 0x8bfe000000000000
+ldl :: offset: 0x5aa, out: 0xc58bfe0000000000
+ldl :: offset: 0x5ab, out: 0x4c58bfe00000000
+ldl :: offset: 0x5ac, out: 0xdc04c58bfe000000
+ldl :: offset: 0x5ad, out: 0x64dc04c58bfe0000
+ldl :: offset: 0x5ae, out: 0x1364dc04c58bfe00
+ldl :: offset: 0x5af, out: 0x521364dc04c58bfe
+ldl :: offset: 0x5b0, out: 0xbc00000000000000
+ldl :: offset: 0x5b1, out: 0xaebc000000000000
+ldl :: offset: 0x5b2, out: 0xb7aebc0000000000
+ldl :: offset: 0x5b3, out: 0x9ab7aebc00000000
+ldl :: offset: 0x5b4, out: 0x589ab7aebc000000
+ldl :: offset: 0x5b5, out: 0xbb589ab7aebc0000
+ldl :: offset: 0x5b6, out: 0xf7bb589ab7aebc00
+ldl :: offset: 0x5b7, out: 0xe0f7bb589ab7aebc
+ldl :: offset: 0x5b8, out: 0x4d00000000000000
+ldl :: offset: 0x5b9, out: 0x954d000000000000
+ldl :: offset: 0x5ba, out: 0xeb954d0000000000
+ldl :: offset: 0x5bb, out: 0xdeeb954d00000000
+ldl :: offset: 0x5bc, out: 0xcdeeb954d000000
+ldl :: offset: 0x5bd, out: 0xc60cdeeb954d0000
+ldl :: offset: 0x5be, out: 0x36c60cdeeb954d00
+ldl :: offset: 0x5bf, out: 0xe336c60cdeeb954d
+ldl :: offset: 0x5c0, out: 0x6e00000000000000
+ldl :: offset: 0x5c1, out: 0x416e000000000000
+ldl :: offset: 0x5c2, out: 0x52416e0000000000
+ldl :: offset: 0x5c3, out: 0x6f52416e00000000
+ldl :: offset: 0x5c4, out: 0xc6f52416e000000
+ldl :: offset: 0x5c5, out: 0x120c6f52416e0000
+ldl :: offset: 0x5c6, out: 0xb2120c6f52416e00
+ldl :: offset: 0x5c7, out: 0xd5b2120c6f52416e
+ldl :: offset: 0x5c8, out: 0x3400000000000000
+ldl :: offset: 0x5c9, out: 0x8a34000000000000
+ldl :: offset: 0x5ca, out: 0x628a340000000000
+ldl :: offset: 0x5cb, out: 0x7e628a3400000000
+ldl :: offset: 0x5cc, out: 0xff7e628a34000000
+ldl :: offset: 0x5cd, out: 0xd4ff7e628a340000
+ldl :: offset: 0x5ce, out: 0xa2d4ff7e628a3400
+ldl :: offset: 0x5cf, out: 0x85a2d4ff7e628a34
+ldl :: offset: 0x5d0, out: 0x700000000000000
+ldl :: offset: 0x5d1, out: 0x7e07000000000000
+ldl :: offset: 0x5d2, out: 0x4e7e070000000000
+ldl :: offset: 0x5d3, out: 0x4a4e7e0700000000
+ldl :: offset: 0x5d4, out: 0x654a4e7e07000000
+ldl :: offset: 0x5d5, out: 0x2b654a4e7e070000
+ldl :: offset: 0x5d6, out: 0x6a2b654a4e7e0700
+ldl :: offset: 0x5d7, out: 0x986a2b654a4e7e07
+ldl :: offset: 0x5d8, out: 0x5500000000000000
+ldl :: offset: 0x5d9, out: 0x9b55000000000000
+ldl :: offset: 0x5da, out: 0x489b550000000000
+ldl :: offset: 0x5db, out: 0x3a489b5500000000
+ldl :: offset: 0x5dc, out: 0xc43a489b55000000
+ldl :: offset: 0x5dd, out: 0xeac43a489b550000
+ldl :: offset: 0x5de, out: 0x74eac43a489b5500
+ldl :: offset: 0x5df, out: 0xa974eac43a489b55
+ldl :: offset: 0x5e0, out: 0xf500000000000000
+ldl :: offset: 0x5e1, out: 0xf8f5000000000000
+ldl :: offset: 0x5e2, out: 0xf1f8f50000000000
+ldl :: offset: 0x5e3, out: 0x72f1f8f500000000
+ldl :: offset: 0x5e4, out: 0x6272f1f8f5000000
+ldl :: offset: 0x5e5, out: 0xc16272f1f8f50000
+ldl :: offset: 0x5e6, out: 0x88c16272f1f8f500
+ldl :: offset: 0x5e7, out: 0xa388c16272f1f8f5
+ldl :: offset: 0x5e8, out: 0xa900000000000000
+ldl :: offset: 0x5e9, out: 0x5ea9000000000000
+ldl :: offset: 0x5ea, out: 0x495ea90000000000
+ldl :: offset: 0x5eb, out: 0xe7495ea900000000
+ldl :: offset: 0x5ec, out: 0x45e7495ea9000000
+ldl :: offset: 0x5ed, out: 0x1f45e7495ea90000
+ldl :: offset: 0x5ee, out: 0xc11f45e7495ea900
+ldl :: offset: 0x5ef, out: 0xe8c11f45e7495ea9
+ldl :: offset: 0x5f0, out: 0xb400000000000000
+ldl :: offset: 0x5f1, out: 0xc8b4000000000000
+ldl :: offset: 0x5f2, out: 0xc1c8b40000000000
+ldl :: offset: 0x5f3, out: 0x5cc1c8b400000000
+ldl :: offset: 0x5f4, out: 0x765cc1c8b4000000
+ldl :: offset: 0x5f5, out: 0x5a765cc1c8b40000
+ldl :: offset: 0x5f6, out: 0xaa5a765cc1c8b400
+ldl :: offset: 0x5f7, out: 0xadaa5a765cc1c8b4
+ldl :: offset: 0x5f8, out: 0xc000000000000000
+ldl :: offset: 0x5f9, out: 0x5c0000000000000
+ldl :: offset: 0x5fa, out: 0xa605c00000000000
+ldl :: offset: 0x5fb, out: 0xdfa605c000000000
+ldl :: offset: 0x5fc, out: 0x88dfa605c0000000
+ldl :: offset: 0x5fd, out: 0xce88dfa605c00000
+ldl :: offset: 0x5fe, out: 0xb4ce88dfa605c000
+ldl :: offset: 0x5ff, out: 0x7ab4ce88dfa605c0
+ldl :: offset: 0x600, out: 0x4f00000000000000
+ldl :: offset: 0x601, out: 0xb04f000000000000
+ldl :: offset: 0x602, out: 0xa7b04f0000000000
+ldl :: offset: 0x603, out: 0x59a7b04f00000000
+ldl :: offset: 0x604, out: 0xe659a7b04f000000
+ldl :: offset: 0x605, out: 0xd6e659a7b04f0000
+ldl :: offset: 0x606, out: 0x2ad6e659a7b04f00
+ldl :: offset: 0x607, out: 0xb42ad6e659a7b04f
+ldl :: offset: 0x608, out: 0x2f00000000000000
+ldl :: offset: 0x609, out: 0x922f000000000000
+ldl :: offset: 0x60a, out: 0x28922f0000000000
+ldl :: offset: 0x60b, out: 0xb728922f00000000
+ldl :: offset: 0x60c, out: 0x5ab728922f000000
+ldl :: offset: 0x60d, out: 0x485ab728922f0000
+ldl :: offset: 0x60e, out: 0xf8485ab728922f00
+ldl :: offset: 0x60f, out: 0x4bf8485ab728922f
+ldl :: offset: 0x610, out: 0xfb00000000000000
+ldl :: offset: 0x611, out: 0xa7fb000000000000
+ldl :: offset: 0x612, out: 0x66a7fb0000000000
+ldl :: offset: 0x613, out: 0x3b66a7fb00000000
+ldl :: offset: 0x614, out: 0xc3b66a7fb000000
+ldl :: offset: 0x615, out: 0xd60c3b66a7fb0000
+ldl :: offset: 0x616, out: 0xa3d60c3b66a7fb00
+ldl :: offset: 0x617, out: 0x76a3d60c3b66a7fb
+ldl :: offset: 0x618, out: 0xda00000000000000
+ldl :: offset: 0x619, out: 0x8eda000000000000
+ldl :: offset: 0x61a, out: 0xc28eda0000000000
+ldl :: offset: 0x61b, out: 0xfdc28eda00000000
+ldl :: offset: 0x61c, out: 0xaffdc28eda000000
+ldl :: offset: 0x61d, out: 0xc6affdc28eda0000
+ldl :: offset: 0x61e, out: 0xe0c6affdc28eda00
+ldl :: offset: 0x61f, out: 0x31e0c6affdc28eda
+ldl :: offset: 0x620, out: 0x9d00000000000000
+ldl :: offset: 0x621, out: 0x999d000000000000
+ldl :: offset: 0x622, out: 0xc999d0000000000
+ldl :: offset: 0x623, out: 0xbf0c999d00000000
+ldl :: offset: 0x624, out: 0xb4bf0c999d000000
+ldl :: offset: 0x625, out: 0x6bb4bf0c999d0000
+ldl :: offset: 0x626, out: 0x606bb4bf0c999d00
+ldl :: offset: 0x627, out: 0x53606bb4bf0c999d
+ldl :: offset: 0x628, out: 0xf000000000000000
+ldl :: offset: 0x629, out: 0x19f0000000000000
+ldl :: offset: 0x62a, out: 0x7919f00000000000
+ldl :: offset: 0x62b, out: 0x1b7919f000000000
+ldl :: offset: 0x62c, out: 0xc81b7919f0000000
+ldl :: offset: 0x62d, out: 0x12c81b7919f00000
+ldl :: offset: 0x62e, out: 0xfc12c81b7919f000
+ldl :: offset: 0x62f, out: 0x32fc12c81b7919f0
+ldl :: offset: 0x630, out: 0xd600000000000000
+ldl :: offset: 0x631, out: 0xfcd6000000000000
+ldl :: offset: 0x632, out: 0x2efcd60000000000
+ldl :: offset: 0x633, out: 0xc72efcd600000000
+ldl :: offset: 0x634, out: 0x84c72efcd6000000
+ldl :: offset: 0x635, out: 0x8384c72efcd60000
+ldl :: offset: 0x636, out: 0xf88384c72efcd600
+ldl :: offset: 0x637, out: 0x3ef88384c72efcd6
+ldl :: offset: 0x638, out: 0x8000000000000000
+ldl :: offset: 0x639, out: 0x3580000000000000
+ldl :: offset: 0x63a, out: 0x2a35800000000000
+ldl :: offset: 0x63b, out: 0x6a2a358000000000
+ldl :: offset: 0x63c, out: 0xbb6a2a3580000000
+ldl :: offset: 0x63d, out: 0xc7bb6a2a35800000
+ldl :: offset: 0x63e, out: 0xb1c7bb6a2a358000
+ldl :: offset: 0x63f, out: 0x38b1c7bb6a2a3580
+ldl :: offset: 0x640, out: 0xc900000000000000
+ldl :: offset: 0x641, out: 0x77c9000000000000
+ldl :: offset: 0x642, out: 0xca77c90000000000
+ldl :: offset: 0x643, out: 0x1dca77c900000000
+ldl :: offset: 0x644, out: 0x121dca77c9000000
+ldl :: offset: 0x645, out: 0xf6121dca77c90000
+ldl :: offset: 0x646, out: 0xebf6121dca77c900
+ldl :: offset: 0x647, out: 0x15ebf6121dca77c9
+ldl :: offset: 0x648, out: 0xae00000000000000
+ldl :: offset: 0x649, out: 0x47ae000000000000
+ldl :: offset: 0x64a, out: 0x9147ae0000000000
+ldl :: offset: 0x64b, out: 0xfd9147ae00000000
+ldl :: offset: 0x64c, out: 0xd9fd9147ae000000
+ldl :: offset: 0x64d, out: 0xcdd9fd9147ae0000
+ldl :: offset: 0x64e, out: 0xaacdd9fd9147ae00
+ldl :: offset: 0x64f, out: 0x5eaacdd9fd9147ae
+ldl :: offset: 0x650, out: 0x1700000000000000
+ldl :: offset: 0x651, out: 0x1117000000000000
+ldl :: offset: 0x652, out: 0xe911170000000000
+ldl :: offset: 0x653, out: 0x81e9111700000000
+ldl :: offset: 0x654, out: 0xf981e91117000000
+ldl :: offset: 0x655, out: 0x70f981e911170000
+ldl :: offset: 0x656, out: 0x8470f981e9111700
+ldl :: offset: 0x657, out: 0xbb8470f981e91117
+ldl :: offset: 0x658, out: 0xe000000000000000
+ldl :: offset: 0x659, out: 0x32e0000000000000
+ldl :: offset: 0x65a, out: 0xa532e00000000000
+ldl :: offset: 0x65b, out: 0xc6a532e000000000
+ldl :: offset: 0x65c, out: 0xeac6a532e0000000
+ldl :: offset: 0x65d, out: 0x2aeac6a532e00000
+ldl :: offset: 0x65e, out: 0xd42aeac6a532e000
+ldl :: offset: 0x65f, out: 0x5d42aeac6a532e0
+ldl :: offset: 0x660, out: 0x6300000000000000
+ldl :: offset: 0x661, out: 0x9e63000000000000
+ldl :: offset: 0x662, out: 0xfb9e630000000000
+ldl :: offset: 0x663, out: 0x19fb9e6300000000
+ldl :: offset: 0x664, out: 0x6419fb9e63000000
+ldl :: offset: 0x665, out: 0xf36419fb9e630000
+ldl :: offset: 0x666, out: 0xabf36419fb9e6300
+ldl :: offset: 0x667, out: 0x14abf36419fb9e63
+ldl :: offset: 0x668, out: 0xac00000000000000
+ldl :: offset: 0x669, out: 0x2aac000000000000
+ldl :: offset: 0x66a, out: 0xd72aac0000000000
+ldl :: offset: 0x66b, out: 0xa8d72aac00000000
+ldl :: offset: 0x66c, out: 0x9aa8d72aac000000
+ldl :: offset: 0x66d, out: 0x559aa8d72aac0000
+ldl :: offset: 0x66e, out: 0x9d559aa8d72aac00
+ldl :: offset: 0x66f, out: 0x249d559aa8d72aac
+ldl :: offset: 0x670, out: 0xec00000000000000
+ldl :: offset: 0x671, out: 0x30ec000000000000
+ldl :: offset: 0x672, out: 0x4b30ec0000000000
+ldl :: offset: 0x673, out: 0x84b30ec00000000
+ldl :: offset: 0x674, out: 0x4f084b30ec000000
+ldl :: offset: 0x675, out: 0x764f084b30ec0000
+ldl :: offset: 0x676, out: 0xd6764f084b30ec00
+ldl :: offset: 0x677, out: 0xcd6764f084b30ec
+ldl :: offset: 0x678, out: 0xdf00000000000000
+ldl :: offset: 0x679, out: 0x8fdf000000000000
+ldl :: offset: 0x67a, out: 0x468fdf0000000000
+ldl :: offset: 0x67b, out: 0x92468fdf00000000
+ldl :: offset: 0x67c, out: 0x792468fdf000000
+ldl :: offset: 0x67d, out: 0xac0792468fdf0000
+ldl :: offset: 0x67e, out: 0x3ac0792468fdf00
+ldl :: offset: 0x67f, out: 0x7f03ac0792468fdf
+ldl :: offset: 0x680, out: 0xf500000000000000
+ldl :: offset: 0x681, out: 0x70f5000000000000
+ldl :: offset: 0x682, out: 0xe670f50000000000
+ldl :: offset: 0x683, out: 0x56e670f500000000
+ldl :: offset: 0x684, out: 0x6d56e670f5000000
+ldl :: offset: 0x685, out: 0xce6d56e670f50000
+ldl :: offset: 0x686, out: 0x35ce6d56e670f500
+ldl :: offset: 0x687, out: 0x7e35ce6d56e670f5
+ldl :: offset: 0x688, out: 0x1100000000000000
+ldl :: offset: 0x689, out: 0x2711000000000000
+ldl :: offset: 0x68a, out: 0x6527110000000000
+ldl :: offset: 0x68b, out: 0x1a65271100000000
+ldl :: offset: 0x68c, out: 0x591a652711000000
+ldl :: offset: 0x68d, out: 0x28591a6527110000
+ldl :: offset: 0x68e, out: 0x2828591a65271100
+ldl :: offset: 0x68f, out: 0x152828591a652711
+ldl :: offset: 0x690, out: 0xfb00000000000000
+ldl :: offset: 0x691, out: 0xa9fb000000000000
+ldl :: offset: 0x692, out: 0x15a9fb0000000000
+ldl :: offset: 0x693, out: 0xd215a9fb00000000
+ldl :: offset: 0x694, out: 0x83d215a9fb000000
+ldl :: offset: 0x695, out: 0x3283d215a9fb0000
+ldl :: offset: 0x696, out: 0x1c3283d215a9fb00
+ldl :: offset: 0x697, out: 0x9e1c3283d215a9fb
+ldl :: offset: 0x698, out: 0x1700000000000000
+ldl :: offset: 0x699, out: 0x417000000000000
+ldl :: offset: 0x69a, out: 0x2a04170000000000
+ldl :: offset: 0x69b, out: 0x282a041700000000
+ldl :: offset: 0x69c, out: 0x49282a0417000000
+ldl :: offset: 0x69d, out: 0xc049282a04170000
+ldl :: offset: 0x69e, out: 0x95c049282a041700
+ldl :: offset: 0x69f, out: 0x8d95c049282a0417
+ldl :: offset: 0x6a0, out: 0xf300000000000000
+ldl :: offset: 0x6a1, out: 0x58f3000000000000
+ldl :: offset: 0x6a2, out: 0x8058f30000000000
+ldl :: offset: 0x6a3, out: 0x978058f300000000
+ldl :: offset: 0x6a4, out: 0x90978058f3000000
+ldl :: offset: 0x6a5, out: 0xa490978058f30000
+ldl :: offset: 0x6a6, out: 0xe7a490978058f300
+ldl :: offset: 0x6a7, out: 0xf2e7a490978058f3
+ldl :: offset: 0x6a8, out: 0xaa00000000000000
+ldl :: offset: 0x6a9, out: 0xb1aa000000000000
+ldl :: offset: 0x6aa, out: 0x75b1aa0000000000
+ldl :: offset: 0x6ab, out: 0x975b1aa00000000
+ldl :: offset: 0x6ac, out: 0xca0975b1aa000000
+ldl :: offset: 0x6ad, out: 0x4cca0975b1aa0000
+ldl :: offset: 0x6ae, out: 0x5b4cca0975b1aa00
+ldl :: offset: 0x6af, out: 0x775b4cca0975b1aa
+ldl :: offset: 0x6b0, out: 0x2000000000000000
+ldl :: offset: 0x6b1, out: 0x1020000000000000
+ldl :: offset: 0x6b2, out: 0x1110200000000000
+ldl :: offset: 0x6b3, out: 0x3511102000000000
+ldl :: offset: 0x6b4, out: 0xa635111020000000
+ldl :: offset: 0x6b5, out: 0x84a6351110200000
+ldl :: offset: 0x6b6, out: 0x2b84a63511102000
+ldl :: offset: 0x6b7, out: 0xa2b84a635111020
+ldl :: offset: 0x6b8, out: 0x6f00000000000000
+ldl :: offset: 0x6b9, out: 0x8b6f000000000000
+ldl :: offset: 0x6ba, out: 0xd88b6f0000000000
+ldl :: offset: 0x6bb, out: 0xa7d88b6f00000000
+ldl :: offset: 0x6bc, out: 0xd3a7d88b6f000000
+ldl :: offset: 0x6bd, out: 0xa0d3a7d88b6f0000
+ldl :: offset: 0x6be, out: 0x3fa0d3a7d88b6f00
+ldl :: offset: 0x6bf, out: 0x23fa0d3a7d88b6f
+ldl :: offset: 0x6c0, out: 0xdd00000000000000
+ldl :: offset: 0x6c1, out: 0xdedd000000000000
+ldl :: offset: 0x6c2, out: 0x41dedd0000000000
+ldl :: offset: 0x6c3, out: 0x9941dedd00000000
+ldl :: offset: 0x6c4, out: 0xb79941dedd000000
+ldl :: offset: 0x6c5, out: 0x91b79941dedd0000
+ldl :: offset: 0x6c6, out: 0xd991b79941dedd00
+ldl :: offset: 0x6c7, out: 0xa3d991b79941dedd
+ldl :: offset: 0x6c8, out: 0x800000000000000
+ldl :: offset: 0x6c9, out: 0x9508000000000000
+ldl :: offset: 0x6ca, out: 0xd95080000000000
+ldl :: offset: 0x6cb, out: 0x5a0d950800000000
+ldl :: offset: 0x6cc, out: 0x835a0d9508000000
+ldl :: offset: 0x6cd, out: 0xb4835a0d95080000
+ldl :: offset: 0x6ce, out: 0x1cb4835a0d950800
+ldl :: offset: 0x6cf, out: 0x751cb4835a0d9508
+ldl :: offset: 0x6d0, out: 0xd300000000000000
+ldl :: offset: 0x6d1, out: 0xb2d3000000000000
+ldl :: offset: 0x6d2, out: 0x5bb2d30000000000
+ldl :: offset: 0x6d3, out: 0x625bb2d300000000
+ldl :: offset: 0x6d4, out: 0x35625bb2d3000000
+ldl :: offset: 0x6d5, out: 0xad35625bb2d30000
+ldl :: offset: 0x6d6, out: 0x9cad35625bb2d300
+ldl :: offset: 0x6d7, out: 0x949cad35625bb2d3
+ldl :: offset: 0x6d8, out: 0x3900000000000000
+ldl :: offset: 0x6d9, out: 0x9739000000000000
+ldl :: offset: 0x6da, out: 0x9297390000000000
+ldl :: offset: 0x6db, out: 0xa692973900000000
+ldl :: offset: 0x6dc, out: 0x35a6929739000000
+ldl :: offset: 0x6dd, out: 0x7f35a69297390000
+ldl :: offset: 0x6de, out: 0x567f35a692973900
+ldl :: offset: 0x6df, out: 0x7f567f35a6929739
+ldl :: offset: 0x6e0, out: 0x2700000000000000
+ldl :: offset: 0x6e1, out: 0x7d27000000000000
+ldl :: offset: 0x6e2, out: 0x8d7d270000000000
+ldl :: offset: 0x6e3, out: 0xdb8d7d2700000000
+ldl :: offset: 0x6e4, out: 0xe0db8d7d27000000
+ldl :: offset: 0x6e5, out: 0x88e0db8d7d270000
+ldl :: offset: 0x6e6, out: 0x5b88e0db8d7d2700
+ldl :: offset: 0x6e7, out: 0x185b88e0db8d7d27
+ldl :: offset: 0x6e8, out: 0x9100000000000000
+ldl :: offset: 0x6e9, out: 0x1b91000000000000
+ldl :: offset: 0x6ea, out: 0xd61b910000000000
+ldl :: offset: 0x6eb, out: 0x2fd61b9100000000
+ldl :: offset: 0x6ec, out: 0xd22fd61b91000000
+ldl :: offset: 0x6ed, out: 0x4cd22fd61b910000
+ldl :: offset: 0x6ee, out: 0x5a4cd22fd61b9100
+ldl :: offset: 0x6ef, out: 0x255a4cd22fd61b91
+ldl :: offset: 0x6f0, out: 0x7b00000000000000
+ldl :: offset: 0x6f1, out: 0x3f7b000000000000
+ldl :: offset: 0x6f2, out: 0x363f7b0000000000
+ldl :: offset: 0x6f3, out: 0xa4363f7b00000000
+ldl :: offset: 0x6f4, out: 0x89a4363f7b000000
+ldl :: offset: 0x6f5, out: 0xd589a4363f7b0000
+ldl :: offset: 0x6f6, out: 0x48d589a4363f7b00
+ldl :: offset: 0x6f7, out: 0x1048d589a4363f7b
+ldl :: offset: 0x6f8, out: 0x9000000000000000
+ldl :: offset: 0x6f9, out: 0x5790000000000000
+ldl :: offset: 0x6fa, out: 0x6057900000000000
+ldl :: offset: 0x6fb, out: 0xf460579000000000
+ldl :: offset: 0x6fc, out: 0x8f4605790000000
+ldl :: offset: 0x6fd, out: 0x5708f46057900000
+ldl :: offset: 0x6fe, out: 0x6d5708f460579000
+ldl :: offset: 0x6ff, out: 0x6a6d5708f4605790
+ldl :: offset: 0x700, out: 0x7f00000000000000
+ldl :: offset: 0x701, out: 0x697f000000000000
+ldl :: offset: 0x702, out: 0x35697f0000000000
+ldl :: offset: 0x703, out: 0xde35697f00000000
+ldl :: offset: 0x704, out: 0xabde35697f000000
+ldl :: offset: 0x705, out: 0xcbabde35697f0000
+ldl :: offset: 0x706, out: 0x8ecbabde35697f00
+ldl :: offset: 0x707, out: 0xd58ecbabde35697f
+ldl :: offset: 0x708, out: 0xf100000000000000
+ldl :: offset: 0x709, out: 0xa5f1000000000000
+ldl :: offset: 0x70a, out: 0xc0a5f10000000000
+ldl :: offset: 0x70b, out: 0x8c0a5f100000000
+ldl :: offset: 0x70c, out: 0xfd08c0a5f1000000
+ldl :: offset: 0x70d, out: 0x48fd08c0a5f10000
+ldl :: offset: 0x70e, out: 0x5548fd08c0a5f100
+ldl :: offset: 0x70f, out: 0x575548fd08c0a5f1
+ldl :: offset: 0x710, out: 0xdb00000000000000
+ldl :: offset: 0x711, out: 0x8ddb000000000000
+ldl :: offset: 0x712, out: 0xd98ddb0000000000
+ldl :: offset: 0x713, out: 0x8ed98ddb00000000
+ldl :: offset: 0x714, out: 0xfb8ed98ddb000000
+ldl :: offset: 0x715, out: 0x40fb8ed98ddb0000
+ldl :: offset: 0x716, out: 0xb640fb8ed98ddb00
+ldl :: offset: 0x717, out: 0x8bb640fb8ed98ddb
+ldl :: offset: 0x718, out: 0xcc00000000000000
+ldl :: offset: 0x719, out: 0x78cc000000000000
+ldl :: offset: 0x71a, out: 0xc578cc0000000000
+ldl :: offset: 0x71b, out: 0xabc578cc00000000
+ldl :: offset: 0x71c, out: 0x1eabc578cc000000
+ldl :: offset: 0x71d, out: 0xd51eabc578cc0000
+ldl :: offset: 0x71e, out: 0xd51eabc578cc00
+ldl :: offset: 0x71f, out: 0xbe00d51eabc578cc
+ldl :: offset: 0x720, out: 0xb200000000000000
+ldl :: offset: 0x721, out: 0xab2000000000000
+ldl :: offset: 0x722, out: 0x170ab20000000000
+ldl :: offset: 0x723, out: 0x1c170ab200000000
+ldl :: offset: 0x724, out: 0x4a1c170ab2000000
+ldl :: offset: 0x725, out: 0x224a1c170ab20000
+ldl :: offset: 0x726, out: 0x7e224a1c170ab200
+ldl :: offset: 0x727, out: 0x2f7e224a1c170ab2
+ldl :: offset: 0x728, out: 0xa700000000000000
+ldl :: offset: 0x729, out: 0x56a7000000000000
+ldl :: offset: 0x72a, out: 0x2256a70000000000
+ldl :: offset: 0x72b, out: 0xa22256a700000000
+ldl :: offset: 0x72c, out: 0x2ca22256a7000000
+ldl :: offset: 0x72d, out: 0xf12ca22256a70000
+ldl :: offset: 0x72e, out: 0x78f12ca22256a700
+ldl :: offset: 0x72f, out: 0xa978f12ca22256a7
+ldl :: offset: 0x730, out: 0x2f00000000000000
+ldl :: offset: 0x731, out: 0xe02f000000000000
+ldl :: offset: 0x732, out: 0x1ee02f0000000000
+ldl :: offset: 0x733, out: 0x811ee02f00000000
+ldl :: offset: 0x734, out: 0x3b811ee02f000000
+ldl :: offset: 0x735, out: 0xa93b811ee02f0000
+ldl :: offset: 0x736, out: 0x50a93b811ee02f00
+ldl :: offset: 0x737, out: 0x9950a93b811ee02f
+ldl :: offset: 0x738, out: 0xc00000000000000
+ldl :: offset: 0x739, out: 0x6a0c000000000000
+ldl :: offset: 0x73a, out: 0x796a0c0000000000
+ldl :: offset: 0x73b, out: 0xc6796a0c00000000
+ldl :: offset: 0x73c, out: 0x93c6796a0c000000
+ldl :: offset: 0x73d, out: 0xea93c6796a0c0000
+ldl :: offset: 0x73e, out: 0x4eea93c6796a0c00
+ldl :: offset: 0x73f, out: 0xb44eea93c6796a0c
+ldl :: offset: 0x740, out: 0x5700000000000000
+ldl :: offset: 0x741, out: 0xb657000000000000
+ldl :: offset: 0x742, out: 0xeb6570000000000
+ldl :: offset: 0x743, out: 0x6c0eb65700000000
+ldl :: offset: 0x744, out: 0xa06c0eb657000000
+ldl :: offset: 0x745, out: 0xfca06c0eb6570000
+ldl :: offset: 0x746, out: 0x71fca06c0eb65700
+ldl :: offset: 0x747, out: 0xfe71fca06c0eb657
+ldl :: offset: 0x748, out: 0x5700000000000000
+ldl :: offset: 0x749, out: 0xaf57000000000000
+ldl :: offset: 0x74a, out: 0x18af570000000000
+ldl :: offset: 0x74b, out: 0xf818af5700000000
+ldl :: offset: 0x74c, out: 0x3df818af57000000
+ldl :: offset: 0x74d, out: 0x393df818af570000
+ldl :: offset: 0x74e, out: 0xd6393df818af5700
+ldl :: offset: 0x74f, out: 0x4ed6393df818af57
+ldl :: offset: 0x750, out: 0xa00000000000000
+ldl :: offset: 0x751, out: 0x770a000000000000
+ldl :: offset: 0x752, out: 0x36770a0000000000
+ldl :: offset: 0x753, out: 0x236770a00000000
+ldl :: offset: 0x754, out: 0x200236770a000000
+ldl :: offset: 0x755, out: 0x90200236770a0000
+ldl :: offset: 0x756, out: 0x2e90200236770a00
+ldl :: offset: 0x757, out: 0xf22e90200236770a
+ldl :: offset: 0x758, out: 0x5d00000000000000
+ldl :: offset: 0x759, out: 0xc45d000000000000
+ldl :: offset: 0x75a, out: 0xd0c45d0000000000
+ldl :: offset: 0x75b, out: 0xafd0c45d00000000
+ldl :: offset: 0x75c, out: 0xc7afd0c45d000000
+ldl :: offset: 0x75d, out: 0xb6c7afd0c45d0000
+ldl :: offset: 0x75e, out: 0xefb6c7afd0c45d00
+ldl :: offset: 0x75f, out: 0x81efb6c7afd0c45d
+ldl :: offset: 0x760, out: 0x5b00000000000000
+ldl :: offset: 0x761, out: 0x315b000000000000
+ldl :: offset: 0x762, out: 0x2315b0000000000
+ldl :: offset: 0x763, out: 0x8102315b00000000
+ldl :: offset: 0x764, out: 0x518102315b000000
+ldl :: offset: 0x765, out: 0xf3518102315b0000
+ldl :: offset: 0x766, out: 0xd8f3518102315b00
+ldl :: offset: 0x767, out: 0xeed8f3518102315b
+ldl :: offset: 0x768, out: 0x5e00000000000000
+ldl :: offset: 0x769, out: 0xfd5e000000000000
+ldl :: offset: 0x76a, out: 0x5efd5e0000000000
+ldl :: offset: 0x76b, out: 0x995efd5e00000000
+ldl :: offset: 0x76c, out: 0xb9995efd5e000000
+ldl :: offset: 0x76d, out: 0xefb9995efd5e0000
+ldl :: offset: 0x76e, out: 0xafefb9995efd5e00
+ldl :: offset: 0x76f, out: 0xadafefb9995efd5e
+ldl :: offset: 0x770, out: 0x8600000000000000
+ldl :: offset: 0x771, out: 0x3086000000000000
+ldl :: offset: 0x772, out: 0x2530860000000000
+ldl :: offset: 0x773, out: 0xeb25308600000000
+ldl :: offset: 0x774, out: 0x33eb253086000000
+ldl :: offset: 0x775, out: 0x1933eb2530860000
+ldl :: offset: 0x776, out: 0x61933eb25308600
+ldl :: offset: 0x777, out: 0x34061933eb253086
+ldl :: offset: 0x778, out: 0xbc00000000000000
+ldl :: offset: 0x779, out: 0x52bc000000000000
+ldl :: offset: 0x77a, out: 0x4c52bc0000000000
+ldl :: offset: 0x77b, out: 0x4b4c52bc00000000
+ldl :: offset: 0x77c, out: 0x264b4c52bc000000
+ldl :: offset: 0x77d, out: 0xda264b4c52bc0000
+ldl :: offset: 0x77e, out: 0x48da264b4c52bc00
+ldl :: offset: 0x77f, out: 0x1748da264b4c52bc
+ldl :: offset: 0x780, out: 0x8900000000000000
+ldl :: offset: 0x781, out: 0xbe89000000000000
+ldl :: offset: 0x782, out: 0x2be890000000000
+ldl :: offset: 0x783, out: 0x9302be8900000000
+ldl :: offset: 0x784, out: 0x9a9302be89000000
+ldl :: offset: 0x785, out: 0xfc9a9302be890000
+ldl :: offset: 0x786, out: 0xfdfc9a9302be8900
+ldl :: offset: 0x787, out: 0x34fdfc9a9302be89
+ldl :: offset: 0x788, out: 0x8000000000000000
+ldl :: offset: 0x789, out: 0xd180000000000000
+ldl :: offset: 0x78a, out: 0x21d1800000000000
+ldl :: offset: 0x78b, out: 0xc521d18000000000
+ldl :: offset: 0x78c, out: 0xc3c521d180000000
+ldl :: offset: 0x78d, out: 0x78c3c521d1800000
+ldl :: offset: 0x78e, out: 0x278c3c521d18000
+ldl :: offset: 0x78f, out: 0xd00278c3c521d180
+ldl :: offset: 0x790, out: 0x5d00000000000000
+ldl :: offset: 0x791, out: 0x7a5d000000000000
+ldl :: offset: 0x792, out: 0xd37a5d0000000000
+ldl :: offset: 0x793, out: 0xc1d37a5d00000000
+ldl :: offset: 0x794, out: 0xa4c1d37a5d000000
+ldl :: offset: 0x795, out: 0x44a4c1d37a5d0000
+ldl :: offset: 0x796, out: 0x944a4c1d37a5d00
+ldl :: offset: 0x797, out: 0xe90944a4c1d37a5d
+ldl :: offset: 0x798, out: 0x3900000000000000
+ldl :: offset: 0x799, out: 0x9839000000000000
+ldl :: offset: 0x79a, out: 0xef98390000000000
+ldl :: offset: 0x79b, out: 0xddef983900000000
+ldl :: offset: 0x79c, out: 0x8fddef9839000000
+ldl :: offset: 0x79d, out: 0x698fddef98390000
+ldl :: offset: 0x79e, out: 0xfd698fddef983900
+ldl :: offset: 0x79f, out: 0x65fd698fddef9839
+ldl :: offset: 0x7a0, out: 0x5200000000000000
+ldl :: offset: 0x7a1, out: 0xaf52000000000000
+ldl :: offset: 0x7a2, out: 0xb5af520000000000
+ldl :: offset: 0x7a3, out: 0x81b5af5200000000
+ldl :: offset: 0x7a4, out: 0xad81b5af52000000
+ldl :: offset: 0x7a5, out: 0xe3ad81b5af520000
+ldl :: offset: 0x7a6, out: 0x9ee3ad81b5af5200
+ldl :: offset: 0x7a7, out: 0xc49ee3ad81b5af52
+ldl :: offset: 0x7a8, out: 0xe900000000000000
+ldl :: offset: 0x7a9, out: 0x63e9000000000000
+ldl :: offset: 0x7aa, out: 0xb263e90000000000
+ldl :: offset: 0x7ab, out: 0xbdb263e900000000
+ldl :: offset: 0x7ac, out: 0xe8bdb263e9000000
+ldl :: offset: 0x7ad, out: 0x41e8bdb263e90000
+ldl :: offset: 0x7ae, out: 0xa941e8bdb263e900
+ldl :: offset: 0x7af, out: 0x7aa941e8bdb263e9
+ldl :: offset: 0x7b0, out: 0x8d00000000000000
+ldl :: offset: 0x7b1, out: 0xb58d000000000000
+ldl :: offset: 0x7b2, out: 0xf3b58d0000000000
+ldl :: offset: 0x7b3, out: 0x42f3b58d00000000
+ldl :: offset: 0x7b4, out: 0x9e42f3b58d000000
+ldl :: offset: 0x7b5, out: 0x209e42f3b58d0000
+ldl :: offset: 0x7b6, out: 0x2c209e42f3b58d00
+ldl :: offset: 0x7b7, out: 0x372c209e42f3b58d
+ldl :: offset: 0x7b8, out: 0x3b00000000000000
+ldl :: offset: 0x7b9, out: 0xa83b000000000000
+ldl :: offset: 0x7ba, out: 0x22a83b0000000000
+ldl :: offset: 0x7bb, out: 0xe122a83b00000000
+ldl :: offset: 0x7bc, out: 0xb7e122a83b000000
+ldl :: offset: 0x7bd, out: 0x70b7e122a83b0000
+ldl :: offset: 0x7be, out: 0xf870b7e122a83b00
+ldl :: offset: 0x7bf, out: 0x30f870b7e122a83b
+ldl :: offset: 0x7c0, out: 0xec00000000000000
+ldl :: offset: 0x7c1, out: 0x30ec000000000000
+ldl :: offset: 0x7c2, out: 0x8930ec0000000000
+ldl :: offset: 0x7c3, out: 0x678930ec00000000
+ldl :: offset: 0x7c4, out: 0x4b678930ec000000
+ldl :: offset: 0x7c5, out: 0xde4b678930ec0000
+ldl :: offset: 0x7c6, out: 0x2de4b678930ec00
+ldl :: offset: 0x7c7, out: 0x9e02de4b678930ec
+ldl :: offset: 0x7c8, out: 0x1e00000000000000
+ldl :: offset: 0x7c9, out: 0x631e000000000000
+ldl :: offset: 0x7ca, out: 0x26631e0000000000
+ldl :: offset: 0x7cb, out: 0x9826631e00000000
+ldl :: offset: 0x7cc, out: 0x639826631e000000
+ldl :: offset: 0x7cd, out: 0xa8639826631e0000
+ldl :: offset: 0x7ce, out: 0x61a8639826631e00
+ldl :: offset: 0x7cf, out: 0xcd61a8639826631e
+ldl :: offset: 0x7d0, out: 0xca00000000000000
+ldl :: offset: 0x7d1, out: 0xd3ca000000000000
+ldl :: offset: 0x7d2, out: 0x7bd3ca0000000000
+ldl :: offset: 0x7d3, out: 0x9a7bd3ca00000000
+ldl :: offset: 0x7d4, out: 0x899a7bd3ca000000
+ldl :: offset: 0x7d5, out: 0xbc899a7bd3ca0000
+ldl :: offset: 0x7d6, out: 0x87bc899a7bd3ca00
+ldl :: offset: 0x7d7, out: 0xae87bc899a7bd3ca
+ldl :: offset: 0x7d8, out: 0x1700000000000000
+ldl :: offset: 0x7d9, out: 0xaf17000000000000
+ldl :: offset: 0x7da, out: 0x81af170000000000
+ldl :: offset: 0x7db, out: 0x6481af1700000000
+ldl :: offset: 0x7dc, out: 0x4d6481af17000000
+ldl :: offset: 0x7dd, out: 0x644d6481af170000
+ldl :: offset: 0x7de, out: 0xec644d6481af1700
+ldl :: offset: 0x7df, out: 0x58ec644d6481af17
+ldl :: offset: 0x7e0, out: 0x6600000000000000
+ldl :: offset: 0x7e1, out: 0xb666000000000000
+ldl :: offset: 0x7e2, out: 0x36b6660000000000
+ldl :: offset: 0x7e3, out: 0xb236b66600000000
+ldl :: offset: 0x7e4, out: 0x5fb236b666000000
+ldl :: offset: 0x7e5, out: 0xce5fb236b6660000
+ldl :: offset: 0x7e6, out: 0xcce5fb236b66600
+ldl :: offset: 0x7e7, out: 0x680cce5fb236b666
+ldl :: offset: 0x7e8, out: 0x7500000000000000
+ldl :: offset: 0x7e9, out: 0x4d75000000000000
+ldl :: offset: 0x7ea, out: 0x6d4d750000000000
+ldl :: offset: 0x7eb, out: 0x1f6d4d7500000000
+ldl :: offset: 0x7ec, out: 0x471f6d4d75000000
+ldl :: offset: 0x7ed, out: 0x99471f6d4d750000
+ldl :: offset: 0x7ee, out: 0xaa99471f6d4d7500
+ldl :: offset: 0x7ef, out: 0x3baa99471f6d4d75
+ldl :: offset: 0x7f0, out: 0x6b00000000000000
+ldl :: offset: 0x7f1, out: 0x236b000000000000
+ldl :: offset: 0x7f2, out: 0x12236b0000000000
+ldl :: offset: 0x7f3, out: 0x5f12236b00000000
+ldl :: offset: 0x7f4, out: 0x445f12236b000000
+ldl :: offset: 0x7f5, out: 0x9b445f12236b0000
+ldl :: offset: 0x7f6, out: 0x4d9b445f12236b00
+ldl :: offset: 0x7f7, out: 0x614d9b445f12236b
+ldl :: offset: 0x7f8, out: 0x2100000000000000
+ldl :: offset: 0x7f9, out: 0x4121000000000000
+ldl :: offset: 0x7fa, out: 0xa841210000000000
+ldl :: offset: 0x7fb, out: 0x1ba8412100000000
+ldl :: offset: 0x7fc, out: 0x661ba84121000000
+ldl :: offset: 0x7fd, out: 0xec661ba841210000
+ldl :: offset: 0x7fe, out: 0xa6ec661ba8412100
+ldl :: offset: 0x7ff, out: 0xa2a6ec661ba84121
+ldr :: offset: 0x0, out: 0x0
+ldr :: offset: 0x1, out: 0x0
+ldr :: offset: 0x2, out: 0x0
+ldr :: offset: 0x3, out: 0x0
+ldr :: offset: 0x4, out: 0x0
+ldr :: offset: 0x5, out: 0x0
+ldr :: offset: 0x6, out: 0x0
+ldr :: offset: 0x7, out: 0x0
+ldr :: offset: 0x8, out: 0xd4326d909823b6e
+ldr :: offset: 0x9, out: 0xd4326d909823b
+ldr :: offset: 0xa, out: 0xd4326d90982
+ldr :: offset: 0xb, out: 0xd4326d909
+ldr :: offset: 0xc, out: 0xd4326d9
+ldr :: offset: 0xd, out: 0xd4326
+ldr :: offset: 0xe, out: 0xd43
+ldr :: offset: 0xf, out: 0xd
+ldr :: offset: 0x10, out: 0x17c56b6b130476dc
+ldr :: offset: 0x11, out: 0x17c56b6b130476
+ldr :: offset: 0x12, out: 0x17c56b6b1304
+ldr :: offset: 0x13, out: 0x17c56b6b13
+ldr :: offset: 0x14, out: 0x17c56b6b
+ldr :: offset: 0x15, out: 0x17c56b
+ldr :: offset: 0x16, out: 0x17c5
+ldr :: offset: 0x17, out: 0x17
+ldr :: offset: 0x18, out: 0x1e4750051a864db2
+ldr :: offset: 0x19, out: 0x1e4750051a864d
+ldr :: offset: 0x1a, out: 0x1e4750051a86
+ldr :: offset: 0x1b, out: 0x1e4750051a
+ldr :: offset: 0x1c, out: 0x1e475005
+ldr :: offset: 0x1d, out: 0x1e4750
+ldr :: offset: 0x1e, out: 0x1e47
+ldr :: offset: 0x1f, out: 0x1e
+ldr :: offset: 0x20, out: 0x22c9f00f2608edb8
+ldr :: offset: 0x21, out: 0x22c9f00f2608ed
+ldr :: offset: 0x22, out: 0x22c9f00f2608
+ldr :: offset: 0x23, out: 0x22c9f00f26
+ldr :: offset: 0x24, out: 0x22c9f00f
+ldr :: offset: 0x25, out: 0x22c9f0
+ldr :: offset: 0x26, out: 0x22c9
+ldr :: offset: 0x27, out: 0x22
+ldr :: offset: 0x28, out: 0x2b4bcb612f8ad6d6
+ldr :: offset: 0x29, out: 0x2b4bcb612f8ad6
+ldr :: offset: 0x2a, out: 0x2b4bcb612f8a
+ldr :: offset: 0x2b, out: 0x2b4bcb612f
+ldr :: offset: 0x2c, out: 0x2b4bcb61
+ldr :: offset: 0x2d, out: 0x2b4bcb
+ldr :: offset: 0x2e, out: 0x2b4b
+ldr :: offset: 0x2f, out: 0x2b
+ldr :: offset: 0x30, out: 0x31cd86d3350c9b64
+ldr :: offset: 0x31, out: 0x31cd86d3350c9b
+ldr :: offset: 0x32, out: 0x31cd86d3350c
+ldr :: offset: 0x33, out: 0x31cd86d335
+ldr :: offset: 0x34, out: 0x31cd86d3
+ldr :: offset: 0x35, out: 0x31cd86
+ldr :: offset: 0x36, out: 0x31cd
+ldr :: offset: 0x37, out: 0x31
+ldr :: offset: 0x38, out: 0x384fbdbd3c8ea00a
+ldr :: offset: 0x39, out: 0x384fbdbd3c8ea0
+ldr :: offset: 0x3a, out: 0x384fbdbd3c8e
+ldr :: offset: 0x3b, out: 0x384fbdbd3c
+ldr :: offset: 0x3c, out: 0x384fbdbd
+ldr :: offset: 0x3d, out: 0x384fbd
+ldr :: offset: 0x3e, out: 0x384f
+ldr :: offset: 0x3f, out: 0x38
+ldr :: offset: 0x40, out: 0x48d0c6c74c11db70
+ldr :: offset: 0x41, out: 0x48d0c6c74c11db
+ldr :: offset: 0x42, out: 0x48d0c6c74c11
+ldr :: offset: 0x43, out: 0x48d0c6c74c
+ldr :: offset: 0x44, out: 0x48d0c6c7
+ldr :: offset: 0x45, out: 0x48d0c6
+ldr :: offset: 0x46, out: 0x48d0
+ldr :: offset: 0x47, out: 0x48
+ldr :: offset: 0x48, out: 0x4152fda94593e01e
+ldr :: offset: 0x49, out: 0x4152fda94593e0
+ldr :: offset: 0x4a, out: 0x4152fda94593
+ldr :: offset: 0x4b, out: 0x4152fda945
+ldr :: offset: 0x4c, out: 0x4152fda9
+ldr :: offset: 0x4d, out: 0x4152fd
+ldr :: offset: 0x4e, out: 0x4152
+ldr :: offset: 0x4f, out: 0x41
+ldr :: offset: 0x50, out: 0x5bd4b01b5f15adac
+ldr :: offset: 0x51, out: 0x5bd4b01b5f15ad
+ldr :: offset: 0x52, out: 0x5bd4b01b5f15
+ldr :: offset: 0x53, out: 0x5bd4b01b5f
+ldr :: offset: 0x54, out: 0x5bd4b01b
+ldr :: offset: 0x55, out: 0x5bd4b0
+ldr :: offset: 0x56, out: 0x5bd4
+ldr :: offset: 0x57, out: 0x5b
+ldr :: offset: 0x58, out: 0x52568b75569796c2
+ldr :: offset: 0x59, out: 0x52568b75569796
+ldr :: offset: 0x5a, out: 0x52568b755697
+ldr :: offset: 0x5b, out: 0x52568b7556
+ldr :: offset: 0x5c, out: 0x52568b75
+ldr :: offset: 0x5d, out: 0x52568b
+ldr :: offset: 0x5e, out: 0x5256
+ldr :: offset: 0x5f, out: 0x52
+ldr :: offset: 0x60, out: 0x6ed82b7f6a1936c8
+ldr :: offset: 0x61, out: 0x6ed82b7f6a1936
+ldr :: offset: 0x62, out: 0x6ed82b7f6a19
+ldr :: offset: 0x63, out: 0x6ed82b7f6a
+ldr :: offset: 0x64, out: 0x6ed82b7f
+ldr :: offset: 0x65, out: 0x6ed82b
+ldr :: offset: 0x66, out: 0x6ed8
+ldr :: offset: 0x67, out: 0x6e
+ldr :: offset: 0x68, out: 0x675a1011639b0da6
+ldr :: offset: 0x69, out: 0x675a1011639b0d
+ldr :: offset: 0x6a, out: 0x675a1011639b
+ldr :: offset: 0x6b, out: 0x675a101163
+ldr :: offset: 0x6c, out: 0x675a1011
+ldr :: offset: 0x6d, out: 0x675a10
+ldr :: offset: 0x6e, out: 0x675a
+ldr :: offset: 0x6f, out: 0x67
+ldr :: offset: 0x70, out: 0x7ddc5da3791d4014
+ldr :: offset: 0x71, out: 0x7ddc5da3791d40
+ldr :: offset: 0x72, out: 0x7ddc5da3791d
+ldr :: offset: 0x73, out: 0x7ddc5da379
+ldr :: offset: 0x74, out: 0x7ddc5da3
+ldr :: offset: 0x75, out: 0x7ddc5d
+ldr :: offset: 0x76, out: 0x7ddc
+ldr :: offset: 0x77, out: 0x7d
+ldr :: offset: 0x78, out: 0x745e66cd709f7b7a
+ldr :: offset: 0x79, out: 0x745e66cd709f7b
+ldr :: offset: 0x7a, out: 0x745e66cd709f
+ldr :: offset: 0x7b, out: 0x745e66cd70
+ldr :: offset: 0x7c, out: 0x745e66cd
+ldr :: offset: 0x7d, out: 0x745e66
+ldr :: offset: 0x7e, out: 0x745e
+ldr :: offset: 0x7f, out: 0x74
+ldr :: offset: 0x80, out: 0x9ce2ab579823b6e0
+ldr :: offset: 0x81, out: 0x9ce2ab579823b6
+ldr :: offset: 0x82, out: 0x9ce2ab579823
+ldr :: offset: 0x83, out: 0x9ce2ab5798
+ldr :: offset: 0x84, out: 0x9ce2ab57
+ldr :: offset: 0x85, out: 0x9ce2ab
+ldr :: offset: 0x86, out: 0x9ce2
+ldr :: offset: 0x87, out: 0x9c
+ldr :: offset: 0x88, out: 0x9560903991a18d8e
+ldr :: offset: 0x89, out: 0x9560903991a18d
+ldr :: offset: 0x8a, out: 0x9560903991a1
+ldr :: offset: 0x8b, out: 0x9560903991
+ldr :: offset: 0x8c, out: 0x95609039
+ldr :: offset: 0x8d, out: 0x956090
+ldr :: offset: 0x8e, out: 0x9560
+ldr :: offset: 0x8f, out: 0x95
+ldr :: offset: 0x90, out: 0x8fe6dd8b8b27c03c
+ldr :: offset: 0x91, out: 0x8fe6dd8b8b27c0
+ldr :: offset: 0x92, out: 0x8fe6dd8b8b27
+ldr :: offset: 0x93, out: 0x8fe6dd8b8b
+ldr :: offset: 0x94, out: 0x8fe6dd8b
+ldr :: offset: 0x95, out: 0x8fe6dd
+ldr :: offset: 0x96, out: 0x8fe6
+ldr :: offset: 0x97, out: 0x8f
+ldr :: offset: 0x98, out: 0x8664e6e582a5fb52
+ldr :: offset: 0x99, out: 0x8664e6e582a5fb
+ldr :: offset: 0x9a, out: 0x8664e6e582a5
+ldr :: offset: 0x9b, out: 0x8664e6e582
+ldr :: offset: 0x9c, out: 0x8664e6e5
+ldr :: offset: 0x9d, out: 0x8664e6
+ldr :: offset: 0x9e, out: 0x8664
+ldr :: offset: 0x9f, out: 0x86
+ldr :: offset: 0xa0, out: 0xbaea46efbe2b5b58
+ldr :: offset: 0xa1, out: 0xbaea46efbe2b5b
+ldr :: offset: 0xa2, out: 0xbaea46efbe2b
+ldr :: offset: 0xa3, out: 0xbaea46efbe
+ldr :: offset: 0xa4, out: 0xbaea46ef
+ldr :: offset: 0xa5, out: 0xbaea46
+ldr :: offset: 0xa6, out: 0xbaea
+ldr :: offset: 0xa7, out: 0xba
+ldr :: offset: 0xa8, out: 0xb3687d81b7a96036
+ldr :: offset: 0xa9, out: 0xb3687d81b7a960
+ldr :: offset: 0xaa, out: 0xb3687d81b7a9
+ldr :: offset: 0xab, out: 0xb3687d81b7
+ldr :: offset: 0xac, out: 0xb3687d81
+ldr :: offset: 0xad, out: 0xb3687d
+ldr :: offset: 0xae, out: 0xb368
+ldr :: offset: 0xaf, out: 0xb3
+ldr :: offset: 0xb0, out: 0xa9ee3033ad2f2d84
+ldr :: offset: 0xb1, out: 0xa9ee3033ad2f2d
+ldr :: offset: 0xb2, out: 0xa9ee3033ad2f
+ldr :: offset: 0xb3, out: 0xa9ee3033ad
+ldr :: offset: 0xb4, out: 0xa9ee3033
+ldr :: offset: 0xb5, out: 0xa9ee30
+ldr :: offset: 0xb6, out: 0xa9ee
+ldr :: offset: 0xb7, out: 0xa9
+ldr :: offset: 0xb8, out: 0xa06c0b5da4ad16ea
+ldr :: offset: 0xb9, out: 0xa06c0b5da4ad16
+ldr :: offset: 0xba, out: 0xa06c0b5da4ad
+ldr :: offset: 0xbb, out: 0xa06c0b5da4
+ldr :: offset: 0xbc, out: 0xa06c0b5d
+ldr :: offset: 0xbd, out: 0xa06c0b
+ldr :: offset: 0xbe, out: 0xa06c
+ldr :: offset: 0xbf, out: 0xa0
+ldr :: offset: 0xc0, out: 0xd0f37027d4326d90
+ldr :: offset: 0xc1, out: 0xd0f37027d4326d
+ldr :: offset: 0xc2, out: 0xd0f37027d432
+ldr :: offset: 0xc3, out: 0xd0f37027d4
+ldr :: offset: 0xc4, out: 0xd0f37027
+ldr :: offset: 0xc5, out: 0xd0f370
+ldr :: offset: 0xc6, out: 0xd0f3
+ldr :: offset: 0xc7, out: 0xd0
+ldr :: offset: 0xc8, out: 0xd9714b49ddb056fe
+ldr :: offset: 0xc9, out: 0xd9714b49ddb056
+ldr :: offset: 0xca, out: 0xd9714b49ddb0
+ldr :: offset: 0xcb, out: 0xd9714b49dd
+ldr :: offset: 0xcc, out: 0xd9714b49
+ldr :: offset: 0xcd, out: 0xd9714b
+ldr :: offset: 0xce, out: 0xd971
+ldr :: offset: 0xcf, out: 0xd9
+ldr :: offset: 0xd0, out: 0xc3f706fbc7361b4c
+ldr :: offset: 0xd1, out: 0xc3f706fbc7361b
+ldr :: offset: 0xd2, out: 0xc3f706fbc736
+ldr :: offset: 0xd3, out: 0xc3f706fbc7
+ldr :: offset: 0xd4, out: 0xc3f706fb
+ldr :: offset: 0xd5, out: 0xc3f706
+ldr :: offset: 0xd6, out: 0xc3f7
+ldr :: offset: 0xd7, out: 0xc3
+ldr :: offset: 0xd8, out: 0xca753d95ceb42022
+ldr :: offset: 0xd9, out: 0xca753d95ceb420
+ldr :: offset: 0xda, out: 0xca753d95ceb4
+ldr :: offset: 0xdb, out: 0xca753d95ce
+ldr :: offset: 0xdc, out: 0xca753d95
+ldr :: offset: 0xdd, out: 0xca753d
+ldr :: offset: 0xde, out: 0xca75
+ldr :: offset: 0xdf, out: 0xca
+ldr :: offset: 0xe0, out: 0xf6fb9d9ff23a8028
+ldr :: offset: 0xe1, out: 0xf6fb9d9ff23a80
+ldr :: offset: 0xe2, out: 0xf6fb9d9ff23a
+ldr :: offset: 0xe3, out: 0xf6fb9d9ff2
+ldr :: offset: 0xe4, out: 0xf6fb9d9f
+ldr :: offset: 0xe5, out: 0xf6fb9d
+ldr :: offset: 0xe6, out: 0xf6fb
+ldr :: offset: 0xe7, out: 0xf6
+ldr :: offset: 0xe8, out: 0xff79a6f1fbb8bb46
+ldr :: offset: 0xe9, out: 0xff79a6f1fbb8bb
+ldr :: offset: 0xea, out: 0xff79a6f1fbb8
+ldr :: offset: 0xeb, out: 0xff79a6f1fb
+ldr :: offset: 0xec, out: 0xff79a6f1
+ldr :: offset: 0xed, out: 0xff79a6
+ldr :: offset: 0xee, out: 0xff79
+ldr :: offset: 0xef, out: 0xff
+ldr :: offset: 0xf0, out: 0xe5ffeb43e13ef6f4
+ldr :: offset: 0xf1, out: 0xe5ffeb43e13ef6
+ldr :: offset: 0xf2, out: 0xe5ffeb43e13e
+ldr :: offset: 0xf3, out: 0xe5ffeb43e1
+ldr :: offset: 0xf4, out: 0xe5ffeb43
+ldr :: offset: 0xf5, out: 0xe5ffeb
+ldr :: offset: 0xf6, out: 0xe5ff
+ldr :: offset: 0xf7, out: 0xe5
+ldr :: offset: 0xf8, out: 0xec7dd02de8bccd9a
+ldr :: offset: 0xf9, out: 0xec7dd02de8bccd
+ldr :: offset: 0xfa, out: 0xec7dd02de8bc
+ldr :: offset: 0xfb, out: 0xec7dd02de8
+ldr :: offset: 0xfc, out: 0xec7dd02d
+ldr :: offset: 0xfd, out: 0xec7dd0
+ldr :: offset: 0xfe, out: 0xec7d
+ldr :: offset: 0xff, out: 0xec
+ldr :: offset: 0x100, out: 0x30476dc034867077
+ldr :: offset: 0x101, out: 0x30476dc0348670
+ldr :: offset: 0x102, out: 0x30476dc03486
+ldr :: offset: 0x103, out: 0x30476dc034
+ldr :: offset: 0x104, out: 0x30476dc0
+ldr :: offset: 0x105, out: 0x30476d
+ldr :: offset: 0x106, out: 0x3047
+ldr :: offset: 0x107, out: 0x30
+ldr :: offset: 0x108, out: 0x39c556ae3d044b19
+ldr :: offset: 0x109, out: 0x39c556ae3d044b
+ldr :: offset: 0x10a, out: 0x39c556ae3d04
+ldr :: offset: 0x10b, out: 0x39c556ae3d
+ldr :: offset: 0x10c, out: 0x39c556ae
+ldr :: offset: 0x10d, out: 0x39c556
+ldr :: offset: 0x10e, out: 0x39c5
+ldr :: offset: 0x10f, out: 0x39
+ldr :: offset: 0x110, out: 0x23431b1c278206ab
+ldr :: offset: 0x111, out: 0x23431b1c278206
+ldr :: offset: 0x112, out: 0x23431b1c2782
+ldr :: offset: 0x113, out: 0x23431b1c27
+ldr :: offset: 0x114, out: 0x23431b1c
+ldr :: offset: 0x115, out: 0x23431b
+ldr :: offset: 0x116, out: 0x2343
+ldr :: offset: 0x117, out: 0x23
+ldr :: offset: 0x118, out: 0x2ac120722e003dc5
+ldr :: offset: 0x119, out: 0x2ac120722e003d
+ldr :: offset: 0x11a, out: 0x2ac120722e00
+ldr :: offset: 0x11b, out: 0x2ac120722e
+ldr :: offset: 0x11c, out: 0x2ac12072
+ldr :: offset: 0x11d, out: 0x2ac120
+ldr :: offset: 0x11e, out: 0x2ac1
+ldr :: offset: 0x11f, out: 0x2a
+ldr :: offset: 0x120, out: 0x164f8078128e9dcf
+ldr :: offset: 0x121, out: 0x164f8078128e9d
+ldr :: offset: 0x122, out: 0x164f8078128e
+ldr :: offset: 0x123, out: 0x164f807812
+ldr :: offset: 0x124, out: 0x164f8078
+ldr :: offset: 0x125, out: 0x164f80
+ldr :: offset: 0x126, out: 0x164f
+ldr :: offset: 0x127, out: 0x16
+ldr :: offset: 0x128, out: 0x1fcdbb161b0ca6a1
+ldr :: offset: 0x129, out: 0x1fcdbb161b0ca6
+ldr :: offset: 0x12a, out: 0x1fcdbb161b0c
+ldr :: offset: 0x12b, out: 0x1fcdbb161b
+ldr :: offset: 0x12c, out: 0x1fcdbb16
+ldr :: offset: 0x12d, out: 0x1fcdbb
+ldr :: offset: 0x12e, out: 0x1fcd
+ldr :: offset: 0x12f, out: 0x1f
+ldr :: offset: 0x130, out: 0x54bf6a4018aeb13
+ldr :: offset: 0x131, out: 0x54bf6a4018aeb
+ldr :: offset: 0x132, out: 0x54bf6a4018a
+ldr :: offset: 0x133, out: 0x54bf6a401
+ldr :: offset: 0x134, out: 0x54bf6a4
+ldr :: offset: 0x135, out: 0x54bf6
+ldr :: offset: 0x136, out: 0x54b
+ldr :: offset: 0x137, out: 0x5
+ldr :: offset: 0x138, out: 0xcc9cdca0808d07d
+ldr :: offset: 0x139, out: 0xcc9cdca0808d0
+ldr :: offset: 0x13a, out: 0xcc9cdca0808
+ldr :: offset: 0x13b, out: 0xcc9cdca08
+ldr :: offset: 0x13c, out: 0xcc9cdca
+ldr :: offset: 0x13d, out: 0xcc9cd
+ldr :: offset: 0x13e, out: 0xcc9
+ldr :: offset: 0x13f, out: 0xc
+ldr :: offset: 0x140, out: 0x7c56b6b07897ab07
+ldr :: offset: 0x141, out: 0x7c56b6b07897ab
+ldr :: offset: 0x142, out: 0x7c56b6b07897
+ldr :: offset: 0x143, out: 0x7c56b6b078
+ldr :: offset: 0x144, out: 0x7c56b6b0
+ldr :: offset: 0x145, out: 0x7c56b6
+ldr :: offset: 0x146, out: 0x7c56
+ldr :: offset: 0x147, out: 0x7c
+ldr :: offset: 0x148, out: 0x75d48dde71159069
+ldr :: offset: 0x149, out: 0x75d48dde711590
+ldr :: offset: 0x14a, out: 0x75d48dde7115
+ldr :: offset: 0x14b, out: 0x75d48dde71
+ldr :: offset: 0x14c, out: 0x75d48dde
+ldr :: offset: 0x14d, out: 0x75d48d
+ldr :: offset: 0x14e, out: 0x75d4
+ldr :: offset: 0x14f, out: 0x75
+ldr :: offset: 0x150, out: 0x6f52c06c6b93dddb
+ldr :: offset: 0x151, out: 0x6f52c06c6b93dd
+ldr :: offset: 0x152, out: 0x6f52c06c6b93
+ldr :: offset: 0x153, out: 0x6f52c06c6b
+ldr :: offset: 0x154, out: 0x6f52c06c
+ldr :: offset: 0x155, out: 0x6f52c0
+ldr :: offset: 0x156, out: 0x6f52
+ldr :: offset: 0x157, out: 0x6f
+ldr :: offset: 0x158, out: 0x66d0fb026211e6b5
+ldr :: offset: 0x159, out: 0x66d0fb026211e6
+ldr :: offset: 0x15a, out: 0x66d0fb026211
+ldr :: offset: 0x15b, out: 0x66d0fb0262
+ldr :: offset: 0x15c, out: 0x66d0fb02
+ldr :: offset: 0x15d, out: 0x66d0fb
+ldr :: offset: 0x15e, out: 0x66d0
+ldr :: offset: 0x15f, out: 0x66
+ldr :: offset: 0x160, out: 0x5a5e5b085e9f46bf
+ldr :: offset: 0x161, out: 0x5a5e5b085e9f46
+ldr :: offset: 0x162, out: 0x5a5e5b085e9f
+ldr :: offset: 0x163, out: 0x5a5e5b085e
+ldr :: offset: 0x164, out: 0x5a5e5b08
+ldr :: offset: 0x165, out: 0x5a5e5b
+ldr :: offset: 0x166, out: 0x5a5e
+ldr :: offset: 0x167, out: 0x5a
+ldr :: offset: 0x168, out: 0x53dc6066571d7dd1
+ldr :: offset: 0x169, out: 0x53dc6066571d7d
+ldr :: offset: 0x16a, out: 0x53dc6066571d
+ldr :: offset: 0x16b, out: 0x53dc606657
+ldr :: offset: 0x16c, out: 0x53dc6066
+ldr :: offset: 0x16d, out: 0x53dc60
+ldr :: offset: 0x16e, out: 0x53dc
+ldr :: offset: 0x16f, out: 0x53
+ldr :: offset: 0x170, out: 0x495a2dd44d9b3063
+ldr :: offset: 0x171, out: 0x495a2dd44d9b30
+ldr :: offset: 0x172, out: 0x495a2dd44d9b
+ldr :: offset: 0x173, out: 0x495a2dd44d
+ldr :: offset: 0x174, out: 0x495a2dd4
+ldr :: offset: 0x175, out: 0x495a2d
+ldr :: offset: 0x176, out: 0x495a
+ldr :: offset: 0x177, out: 0x49
+ldr :: offset: 0x178, out: 0x40d816ba44190b0d
+ldr :: offset: 0x179, out: 0x40d816ba44190b
+ldr :: offset: 0x17a, out: 0x40d816ba4419
+ldr :: offset: 0x17b, out: 0x40d816ba44
+ldr :: offset: 0x17c, out: 0x40d816ba
+ldr :: offset: 0x17d, out: 0x40d816
+ldr :: offset: 0x17e, out: 0x40d8
+ldr :: offset: 0x17f, out: 0x40
+ldr :: offset: 0x180, out: 0xa864db20aca5c697
+ldr :: offset: 0x181, out: 0xa864db20aca5c6
+ldr :: offset: 0x182, out: 0xa864db20aca5
+ldr :: offset: 0x183, out: 0xa864db20ac
+ldr :: offset: 0x184, out: 0xa864db20
+ldr :: offset: 0x185, out: 0xa864db
+ldr :: offset: 0x186, out: 0xa864
+ldr :: offset: 0x187, out: 0xa8
+ldr :: offset: 0x188, out: 0xa1e6e04ea527fdf9
+ldr :: offset: 0x189, out: 0xa1e6e04ea527fd
+ldr :: offset: 0x18a, out: 0xa1e6e04ea527
+ldr :: offset: 0x18b, out: 0xa1e6e04ea5
+ldr :: offset: 0x18c, out: 0xa1e6e04e
+ldr :: offset: 0x18d, out: 0xa1e6e0
+ldr :: offset: 0x18e, out: 0xa1e6
+ldr :: offset: 0x18f, out: 0xa1
+ldr :: offset: 0x190, out: 0xbb60adfcbfa1b04b
+ldr :: offset: 0x191, out: 0xbb60adfcbfa1b0
+ldr :: offset: 0x192, out: 0xbb60adfcbfa1
+ldr :: offset: 0x193, out: 0xbb60adfcbf
+ldr :: offset: 0x194, out: 0xbb60adfc
+ldr :: offset: 0x195, out: 0xbb60ad
+ldr :: offset: 0x196, out: 0xbb60
+ldr :: offset: 0x197, out: 0xbb
+ldr :: offset: 0x198, out: 0xb2e29692b6238b25
+ldr :: offset: 0x199, out: 0xb2e29692b6238b
+ldr :: offset: 0x19a, out: 0xb2e29692b623
+ldr :: offset: 0x19b, out: 0xb2e29692b6
+ldr :: offset: 0x19c, out: 0xb2e29692
+ldr :: offset: 0x19d, out: 0xb2e296
+ldr :: offset: 0x19e, out: 0xb2e2
+ldr :: offset: 0x19f, out: 0xb2
+ldr :: offset: 0x1a0, out: 0x8aad2b2f
+ldr :: offset: 0x1a1, out: 0x8aad2b
+ldr :: offset: 0x1a2, out: 0x8aad
+ldr :: offset: 0x1a3, out: 0x8a
+ldr :: offset: 0x1a4, out: 0x0
+ldr :: offset: 0x1a5, out: 0x0
+ldr :: offset: 0x1a6, out: 0x0
+ldr :: offset: 0x1a7, out: 0x0
+ldr :: offset: 0x1a8, out: 0x87ee0df600000000
+ldr :: offset: 0x1a9, out: 0x87ee0df6000000
+ldr :: offset: 0x1aa, out: 0x87ee0df60000
+ldr :: offset: 0x1ab, out: 0x87ee0df600
+ldr :: offset: 0x1ac, out: 0x87ee0df6
+ldr :: offset: 0x1ad, out: 0x87ee0d
+ldr :: offset: 0x1ae, out: 0x87ee
+ldr :: offset: 0x1af, out: 0x87
+ldr :: offset: 0x1b0, out: 0x9d68404499a95df3
+ldr :: offset: 0x1b1, out: 0x9d68404499a95d
+ldr :: offset: 0x1b2, out: 0x9d68404499a9
+ldr :: offset: 0x1b3, out: 0x9d68404499
+ldr :: offset: 0x1b4, out: 0x9d684044
+ldr :: offset: 0x1b5, out: 0x9d6840
+ldr :: offset: 0x1b6, out: 0x9d68
+ldr :: offset: 0x1b7, out: 0x9d
+ldr :: offset: 0x1b8, out: 0x94ea7b2a902b669d
+ldr :: offset: 0x1b9, out: 0x94ea7b2a902b66
+ldr :: offset: 0x1ba, out: 0x94ea7b2a902b
+ldr :: offset: 0x1bb, out: 0x94ea7b2a90
+ldr :: offset: 0x1bc, out: 0x94ea7b2a
+ldr :: offset: 0x1bd, out: 0x94ea7b
+ldr :: offset: 0x1be, out: 0x94ea
+ldr :: offset: 0x1bf, out: 0x94
+ldr :: offset: 0x1c0, out: 0xe4750050e0b41de7
+ldr :: offset: 0x1c1, out: 0xe4750050e0b41d
+ldr :: offset: 0x1c2, out: 0xe4750050e0b4
+ldr :: offset: 0x1c3, out: 0xe4750050e0
+ldr :: offset: 0x1c4, out: 0xe4750050
+ldr :: offset: 0x1c5, out: 0xe47500
+ldr :: offset: 0x1c6, out: 0xe475
+ldr :: offset: 0x1c7, out: 0xe4
+ldr :: offset: 0x1c8, out: 0xedf73b3ee9362689
+ldr :: offset: 0x1c9, out: 0xedf73b3ee93626
+ldr :: offset: 0x1ca, out: 0xedf73b3ee936
+ldr :: offset: 0x1cb, out: 0xedf73b3ee9
+ldr :: offset: 0x1cc, out: 0xedf73b3e
+ldr :: offset: 0x1cd, out: 0xedf73b
+ldr :: offset: 0x1ce, out: 0xedf7
+ldr :: offset: 0x1cf, out: 0xed
+ldr :: offset: 0x1d0, out: 0xf771768cf3b06b3b
+ldr :: offset: 0x1d1, out: 0xf771768cf3b06b
+ldr :: offset: 0x1d2, out: 0xf771768cf3b0
+ldr :: offset: 0x1d3, out: 0xf771768cf3
+ldr :: offset: 0x1d4, out: 0xf771768c
+ldr :: offset: 0x1d5, out: 0xf77176
+ldr :: offset: 0x1d6, out: 0xf771
+ldr :: offset: 0x1d7, out: 0xf7
+ldr :: offset: 0x1d8, out: 0xfef34de2fa325055
+ldr :: offset: 0x1d9, out: 0xfef34de2fa3250
+ldr :: offset: 0x1da, out: 0xfef34de2fa32
+ldr :: offset: 0x1db, out: 0xfef34de2fa
+ldr :: offset: 0x1dc, out: 0xfef34de2
+ldr :: offset: 0x1dd, out: 0xfef34d
+ldr :: offset: 0x1de, out: 0xfef3
+ldr :: offset: 0x1df, out: 0xfe
+ldr :: offset: 0x1e0, out: 0xc27dede8c6bcf05f
+ldr :: offset: 0x1e1, out: 0xc27dede8c6bcf0
+ldr :: offset: 0x1e2, out: 0xc27dede8c6bc
+ldr :: offset: 0x1e3, out: 0xc27dede8c6
+ldr :: offset: 0x1e4, out: 0xc27dede8
+ldr :: offset: 0x1e5, out: 0xc27ded
+ldr :: offset: 0x1e6, out: 0xc27d
+ldr :: offset: 0x1e7, out: 0xc2
+ldr :: offset: 0x1e8, out: 0xcbffd686cf3ecb31
+ldr :: offset: 0x1e9, out: 0xcbffd686cf3ecb
+ldr :: offset: 0x1ea, out: 0xcbffd686cf3e
+ldr :: offset: 0x1eb, out: 0xcbffd686cf
+ldr :: offset: 0x1ec, out: 0xcbffd686
+ldr :: offset: 0x1ed, out: 0xcbffd6
+ldr :: offset: 0x1ee, out: 0xcbff
+ldr :: offset: 0x1ef, out: 0xcb
+ldr :: offset: 0x1f0, out: 0xd1799b34d5b88683
+ldr :: offset: 0x1f1, out: 0xd1799b34d5b886
+ldr :: offset: 0x1f2, out: 0xd1799b34d5b8
+ldr :: offset: 0x1f3, out: 0xd1799b34d5
+ldr :: offset: 0x1f4, out: 0xd1799b34
+ldr :: offset: 0x1f5, out: 0xd1799b
+ldr :: offset: 0x1f6, out: 0xd179
+ldr :: offset: 0x1f7, out: 0xd1
+ldr :: offset: 0x1f8, out: 0xd8fba05adc3abded
+ldr :: offset: 0x1f9, out: 0xd8fba05adc3abd
+ldr :: offset: 0x1fa, out: 0xd8fba05adc3a
+ldr :: offset: 0x1fb, out: 0xd8fba05adc
+ldr :: offset: 0x1fc, out: 0xd8fba05a
+ldr :: offset: 0x1fd, out: 0xd8fba0
+ldr :: offset: 0x1fe, out: 0xd8fb
+ldr :: offset: 0x1ff, out: 0xd8
+ldr :: offset: 0x200, out: 0x6dcdfd59690ce0ee
+ldr :: offset: 0x201, out: 0x6dcdfd59690ce0
+ldr :: offset: 0x202, out: 0x6dcdfd59690c
+ldr :: offset: 0x203, out: 0x6dcdfd5969
+ldr :: offset: 0x204, out: 0x6dcdfd59
+ldr :: offset: 0x205, out: 0x6dcdfd
+ldr :: offset: 0x206, out: 0x6dcd
+ldr :: offset: 0x207, out: 0x6d
+ldr :: offset: 0x208, out: 0x644fc637608edb80
+ldr :: offset: 0x209, out: 0x644fc637608edb
+ldr :: offset: 0x20a, out: 0x644fc637608e
+ldr :: offset: 0x20b, out: 0x644fc63760
+ldr :: offset: 0x20c, out: 0x644fc637
+ldr :: offset: 0x20d, out: 0x644fc6
+ldr :: offset: 0x20e, out: 0x644f
+ldr :: offset: 0x20f, out: 0x64
+ldr :: offset: 0x210, out: 0x7ec98b857a089632
+ldr :: offset: 0x211, out: 0x7ec98b857a0896
+ldr :: offset: 0x212, out: 0x7ec98b857a08
+ldr :: offset: 0x213, out: 0x7ec98b857a
+ldr :: offset: 0x214, out: 0x7ec98b85
+ldr :: offset: 0x215, out: 0x7ec98b
+ldr :: offset: 0x216, out: 0x7ec9
+ldr :: offset: 0x217, out: 0x7e
+ldr :: offset: 0x218, out: 0x774bb0eb738aad5c
+ldr :: offset: 0x219, out: 0x774bb0eb738aad
+ldr :: offset: 0x21a, out: 0x774bb0eb738a
+ldr :: offset: 0x21b, out: 0x774bb0eb73
+ldr :: offset: 0x21c, out: 0x774bb0eb
+ldr :: offset: 0x21d, out: 0x774bb0
+ldr :: offset: 0x21e, out: 0x774b
+ldr :: offset: 0x21f, out: 0x77
+ldr :: offset: 0x220, out: 0x4bc510e14f040d56
+ldr :: offset: 0x221, out: 0x4bc510e14f040d
+ldr :: offset: 0x222, out: 0x4bc510e14f04
+ldr :: offset: 0x223, out: 0x4bc510e14f
+ldr :: offset: 0x224, out: 0x4bc510e1
+ldr :: offset: 0x225, out: 0x4bc510
+ldr :: offset: 0x226, out: 0x4bc5
+ldr :: offset: 0x227, out: 0x4b
+ldr :: offset: 0x228, out: 0x42472b8f46863638
+ldr :: offset: 0x229, out: 0x42472b8f468636
+ldr :: offset: 0x22a, out: 0x42472b8f4686
+ldr :: offset: 0x22b, out: 0x42472b8f46
+ldr :: offset: 0x22c, out: 0x42472b8f
+ldr :: offset: 0x22d, out: 0x42472b
+ldr :: offset: 0x22e, out: 0x4247
+ldr :: offset: 0x22f, out: 0x42
+ldr :: offset: 0x230, out: 0x58c1663d5c007b8a
+ldr :: offset: 0x231, out: 0x58c1663d5c007b
+ldr :: offset: 0x232, out: 0x58c1663d5c00
+ldr :: offset: 0x233, out: 0x58c1663d5c
+ldr :: offset: 0x234, out: 0x58c1663d
+ldr :: offset: 0x235, out: 0x58c166
+ldr :: offset: 0x236, out: 0x58c1
+ldr :: offset: 0x237, out: 0x58
+ldr :: offset: 0x238, out: 0x51435d53558240e4
+ldr :: offset: 0x239, out: 0x51435d53558240
+ldr :: offset: 0x23a, out: 0x51435d535582
+ldr :: offset: 0x23b, out: 0x51435d5355
+ldr :: offset: 0x23c, out: 0x51435d53
+ldr :: offset: 0x23d, out: 0x51435d
+ldr :: offset: 0x23e, out: 0x5143
+ldr :: offset: 0x23f, out: 0x51
+ldr :: offset: 0x240, out: 0x21dc2629251d3b9e
+ldr :: offset: 0x241, out: 0x21dc2629251d3b
+ldr :: offset: 0x242, out: 0x21dc2629251d
+ldr :: offset: 0x243, out: 0x21dc262925
+ldr :: offset: 0x244, out: 0x21dc2629
+ldr :: offset: 0x245, out: 0x21dc26
+ldr :: offset: 0x246, out: 0x21dc
+ldr :: offset: 0x247, out: 0x21
+ldr :: offset: 0x248, out: 0x285e1d472c9f00f0
+ldr :: offset: 0x249, out: 0x285e1d472c9f00
+ldr :: offset: 0x24a, out: 0x285e1d472c9f
+ldr :: offset: 0x24b, out: 0x285e1d472c
+ldr :: offset: 0x24c, out: 0x285e1d47
+ldr :: offset: 0x24d, out: 0x285e1d
+ldr :: offset: 0x24e, out: 0x285e
+ldr :: offset: 0x24f, out: 0x28
+ldr :: offset: 0x250, out: 0x32d850f536194d42
+ldr :: offset: 0x251, out: 0x32d850f536194d
+ldr :: offset: 0x252, out: 0x32d850f53619
+ldr :: offset: 0x253, out: 0x32d850f536
+ldr :: offset: 0x254, out: 0x32d850f5
+ldr :: offset: 0x255, out: 0x32d850
+ldr :: offset: 0x256, out: 0x32d8
+ldr :: offset: 0x257, out: 0x32
+ldr :: offset: 0x258, out: 0x3b5a6b9b3f9b762c
+ldr :: offset: 0x259, out: 0x3b5a6b9b3f9b76
+ldr :: offset: 0x25a, out: 0x3b5a6b9b3f9b
+ldr :: offset: 0x25b, out: 0x3b5a6b9b3f
+ldr :: offset: 0x25c, out: 0x3b5a6b9b
+ldr :: offset: 0x25d, out: 0x3b5a6b
+ldr :: offset: 0x25e, out: 0x3b5a
+ldr :: offset: 0x25f, out: 0x3b
+ldr :: offset: 0x260, out: 0x7d4cb910315d626
+ldr :: offset: 0x261, out: 0x7d4cb910315d6
+ldr :: offset: 0x262, out: 0x7d4cb910315
+ldr :: offset: 0x263, out: 0x7d4cb9103
+ldr :: offset: 0x264, out: 0x7d4cb91
+ldr :: offset: 0x265, out: 0x7d4cb
+ldr :: offset: 0x266, out: 0x7d4
+ldr :: offset: 0x267, out: 0x7
+ldr :: offset: 0x268, out: 0xe56f0ff0a97ed48
+ldr :: offset: 0x269, out: 0xe56f0ff0a97ed
+ldr :: offset: 0x26a, out: 0xe56f0ff0a97
+ldr :: offset: 0x26b, out: 0xe56f0ff0a
+ldr :: offset: 0x26c, out: 0xe56f0ff
+ldr :: offset: 0x26d, out: 0xe56f0
+ldr :: offset: 0x26e, out: 0xe56
+ldr :: offset: 0x26f, out: 0xe
+ldr :: offset: 0x270, out: 0x14d0bd4d1011a0fa
+ldr :: offset: 0x271, out: 0x14d0bd4d1011a0
+ldr :: offset: 0x272, out: 0x14d0bd4d1011
+ldr :: offset: 0x273, out: 0x14d0bd4d10
+ldr :: offset: 0x274, out: 0x14d0bd4d
+ldr :: offset: 0x275, out: 0x14d0bd
+ldr :: offset: 0x276, out: 0x14d0
+ldr :: offset: 0x277, out: 0x14
+ldr :: offset: 0x278, out: 0x1d52862319939b94
+ldr :: offset: 0x279, out: 0x1d52862319939b
+ldr :: offset: 0x27a, out: 0x1d5286231993
+ldr :: offset: 0x27b, out: 0x1d52862319
+ldr :: offset: 0x27c, out: 0x1d528623
+ldr :: offset: 0x27d, out: 0x1d5286
+ldr :: offset: 0x27e, out: 0x1d52
+ldr :: offset: 0x27f, out: 0x1d
+ldr :: offset: 0x280, out: 0xf5ee4bb9f12f560e
+ldr :: offset: 0x281, out: 0xf5ee4bb9f12f56
+ldr :: offset: 0x282, out: 0xf5ee4bb9f12f
+ldr :: offset: 0x283, out: 0xf5ee4bb9f1
+ldr :: offset: 0x284, out: 0xf5ee4bb9
+ldr :: offset: 0x285, out: 0xf5ee4b
+ldr :: offset: 0x286, out: 0xf5ee
+ldr :: offset: 0x287, out: 0xf5
+ldr :: offset: 0x288, out: 0xfc6c70d7f8ad6d60
+ldr :: offset: 0x289, out: 0xfc6c70d7f8ad6d
+ldr :: offset: 0x28a, out: 0xfc6c70d7f8ad
+ldr :: offset: 0x28b, out: 0xfc6c70d7f8
+ldr :: offset: 0x28c, out: 0xfc6c70d7
+ldr :: offset: 0x28d, out: 0xfc6c70
+ldr :: offset: 0x28e, out: 0xfc6c
+ldr :: offset: 0x28f, out: 0xfc
+ldr :: offset: 0x290, out: 0xe6ea3d65e22b20d2
+ldr :: offset: 0x291, out: 0xe6ea3d65e22b20
+ldr :: offset: 0x292, out: 0xe6ea3d65e22b
+ldr :: offset: 0x293, out: 0xe6ea3d65e2
+ldr :: offset: 0x294, out: 0xe6ea3d65
+ldr :: offset: 0x295, out: 0xe6ea3d
+ldr :: offset: 0x296, out: 0xe6ea
+ldr :: offset: 0x297, out: 0xe6
+ldr :: offset: 0x298, out: 0xef68060beba91bbc
+ldr :: offset: 0x299, out: 0xef68060beba91b
+ldr :: offset: 0x29a, out: 0xef68060beba9
+ldr :: offset: 0x29b, out: 0xef68060beb
+ldr :: offset: 0x29c, out: 0xef68060b
+ldr :: offset: 0x29d, out: 0xef6806
+ldr :: offset: 0x29e, out: 0xef68
+ldr :: offset: 0x29f, out: 0xef
+ldr :: offset: 0x2a0, out: 0xd3e6a601d727bbb6
+ldr :: offset: 0x2a1, out: 0xd3e6a601d727bb
+ldr :: offset: 0x2a2, out: 0xd3e6a601d727
+ldr :: offset: 0x2a3, out: 0xd3e6a601d7
+ldr :: offset: 0x2a4, out: 0xd3e6a601
+ldr :: offset: 0x2a5, out: 0xd3e6a6
+ldr :: offset: 0x2a6, out: 0xd3e6
+ldr :: offset: 0x2a7, out: 0xd3
+ldr :: offset: 0x2a8, out: 0xda649d6fdea580d8
+ldr :: offset: 0x2a9, out: 0xda649d6fdea580
+ldr :: offset: 0x2aa, out: 0xda649d6fdea5
+ldr :: offset: 0x2ab, out: 0xda649d6fde
+ldr :: offset: 0x2ac, out: 0xda649d6f
+ldr :: offset: 0x2ad, out: 0xda649d
+ldr :: offset: 0x2ae, out: 0xda64
+ldr :: offset: 0x2af, out: 0xda
+ldr :: offset: 0x2b0, out: 0xc423cd6a
+ldr :: offset: 0x2b1, out: 0xc423cd
+ldr :: offset: 0x2b2, out: 0xc423
+ldr :: offset: 0x2b3, out: 0xc4
+ldr :: offset: 0x2b4, out: 0x0
+ldr :: offset: 0x2b5, out: 0x0
+ldr :: offset: 0x2b6, out: 0x0
+ldr :: offset: 0x2b7, out: 0x0
+ldr :: offset: 0x2b8, out: 0xcda1f604
+ldr :: offset: 0x2b9, out: 0xcda1f6
+ldr :: offset: 0x2ba, out: 0xcda1
+ldr :: offset: 0x2bb, out: 0xcd
+ldr :: offset: 0x2bc, out: 0x0
+ldr :: offset: 0x2bd, out: 0x0
+ldr :: offset: 0x2be, out: 0x0
+ldr :: offset: 0x2bf, out: 0x0
+ldr :: offset: 0x2c0, out: 0xb9ff90c9bd3e8d7e
+ldr :: offset: 0x2c1, out: 0xb9ff90c9bd3e8d
+ldr :: offset: 0x2c2, out: 0xb9ff90c9bd3e
+ldr :: offset: 0x2c3, out: 0xb9ff90c9bd
+ldr :: offset: 0x2c4, out: 0xb9ff90c9
+ldr :: offset: 0x2c5, out: 0xb9ff90
+ldr :: offset: 0x2c6, out: 0xb9ff
+ldr :: offset: 0x2c7, out: 0xb9
+ldr :: offset: 0x2c8, out: 0xb07daba7b4bcb610
+ldr :: offset: 0x2c9, out: 0xb07daba7b4bcb6
+ldr :: offset: 0x2ca, out: 0xb07daba7b4bc
+ldr :: offset: 0x2cb, out: 0xb07daba7b4
+ldr :: offset: 0x2cc, out: 0xb07daba7
+ldr :: offset: 0x2cd, out: 0xb07dab
+ldr :: offset: 0x2ce, out: 0xb07d
+ldr :: offset: 0x2cf, out: 0xb0
+ldr :: offset: 0x2d0, out: 0xaafbe615ae3afba2
+ldr :: offset: 0x2d1, out: 0xaafbe615ae3afb
+ldr :: offset: 0x2d2, out: 0xaafbe615ae3a
+ldr :: offset: 0x2d3, out: 0xaafbe615ae
+ldr :: offset: 0x2d4, out: 0xaafbe615
+ldr :: offset: 0x2d5, out: 0xaafbe6
+ldr :: offset: 0x2d6, out: 0xaafb
+ldr :: offset: 0x2d7, out: 0xaa
+ldr :: offset: 0x2d8, out: 0xa379dd7ba7b8c0cc
+ldr :: offset: 0x2d9, out: 0xa379dd7ba7b8c0
+ldr :: offset: 0x2da, out: 0xa379dd7ba7b8
+ldr :: offset: 0x2db, out: 0xa379dd7ba7
+ldr :: offset: 0x2dc, out: 0xa379dd7b
+ldr :: offset: 0x2dd, out: 0xa379dd
+ldr :: offset: 0x2de, out: 0xa379
+ldr :: offset: 0x2df, out: 0xa3
+ldr :: offset: 0x2e0, out: 0x9ff77d719b3660c6
+ldr :: offset: 0x2e1, out: 0x9ff77d719b3660
+ldr :: offset: 0x2e2, out: 0x9ff77d719b36
+ldr :: offset: 0x2e3, out: 0x9ff77d719b
+ldr :: offset: 0x2e4, out: 0x9ff77d71
+ldr :: offset: 0x2e5, out: 0x9ff77d
+ldr :: offset: 0x2e6, out: 0x9ff7
+ldr :: offset: 0x2e7, out: 0x9f
+ldr :: offset: 0x2e8, out: 0x9675461f92b45ba8
+ldr :: offset: 0x2e9, out: 0x9675461f92b45b
+ldr :: offset: 0x2ea, out: 0x9675461f92b4
+ldr :: offset: 0x2eb, out: 0x9675461f92
+ldr :: offset: 0x2ec, out: 0x9675461f
+ldr :: offset: 0x2ed, out: 0x967546
+ldr :: offset: 0x2ee, out: 0x9675
+ldr :: offset: 0x2ef, out: 0x96
+ldr :: offset: 0x2f0, out: 0x8cf30bad8832161a
+ldr :: offset: 0x2f1, out: 0x8cf30bad883216
+ldr :: offset: 0x2f2, out: 0x8cf30bad8832
+ldr :: offset: 0x2f3, out: 0x8cf30bad88
+ldr :: offset: 0x2f4, out: 0x8cf30bad
+ldr :: offset: 0x2f5, out: 0x8cf30b
+ldr :: offset: 0x2f6, out: 0x8cf3
+ldr :: offset: 0x2f7, out: 0x8c
+ldr :: offset: 0x2f8, out: 0x857130c381b02d74
+ldr :: offset: 0x2f9, out: 0x857130c381b02d
+ldr :: offset: 0x2fa, out: 0x857130c381b0
+ldr :: offset: 0x2fb, out: 0x857130c381
+ldr :: offset: 0x2fc, out: 0x857130c3
+ldr :: offset: 0x2fd, out: 0x857130
+ldr :: offset: 0x2fe, out: 0x8571
+ldr :: offset: 0x2ff, out: 0x85
+ldr :: offset: 0x300, out: 0x594b8d2e5d8a9099
+ldr :: offset: 0x301, out: 0x594b8d2e5d8a90
+ldr :: offset: 0x302, out: 0x594b8d2e5d8a
+ldr :: offset: 0x303, out: 0x594b8d2e5d
+ldr :: offset: 0x304, out: 0x594b8d2e
+ldr :: offset: 0x305, out: 0x594b8d
+ldr :: offset: 0x306, out: 0x594b
+ldr :: offset: 0x307, out: 0x59
+ldr :: offset: 0x308, out: 0x50c9b6405408abf7
+ldr :: offset: 0x309, out: 0x50c9b6405408ab
+ldr :: offset: 0x30a, out: 0x50c9b6405408
+ldr :: offset: 0x30b, out: 0x50c9b64054
+ldr :: offset: 0x30c, out: 0x50c9b640
+ldr :: offset: 0x30d, out: 0x50c9b6
+ldr :: offset: 0x30e, out: 0x50c9
+ldr :: offset: 0x30f, out: 0x50
+ldr :: offset: 0x310, out: 0x4a4ffbf24e8ee645
+ldr :: offset: 0x311, out: 0x4a4ffbf24e8ee6
+ldr :: offset: 0x312, out: 0x4a4ffbf24e8e
+ldr :: offset: 0x313, out: 0x4a4ffbf24e
+ldr :: offset: 0x314, out: 0x4a4ffbf2
+ldr :: offset: 0x315, out: 0x4a4ffb
+ldr :: offset: 0x316, out: 0x4a4f
+ldr :: offset: 0x317, out: 0x4a
+ldr :: offset: 0x318, out: 0x43cdc09c470cdd2b
+ldr :: offset: 0x319, out: 0x43cdc09c470cdd
+ldr :: offset: 0x31a, out: 0x43cdc09c470c
+ldr :: offset: 0x31b, out: 0x43cdc09c47
+ldr :: offset: 0x31c, out: 0x43cdc09c
+ldr :: offset: 0x31d, out: 0x43cdc0
+ldr :: offset: 0x31e, out: 0x43cd
+ldr :: offset: 0x31f, out: 0x43
+ldr :: offset: 0x320, out: 0x7f4360967b827d21
+ldr :: offset: 0x321, out: 0x7f4360967b827d
+ldr :: offset: 0x322, out: 0x7f4360967b82
+ldr :: offset: 0x323, out: 0x7f4360967b
+ldr :: offset: 0x324, out: 0x7f436096
+ldr :: offset: 0x325, out: 0x7f4360
+ldr :: offset: 0x326, out: 0x7f43
+ldr :: offset: 0x327, out: 0x7f
+ldr :: offset: 0x328, out: 0x76c15bf87200464f
+ldr :: offset: 0x329, out: 0x76c15bf8720046
+ldr :: offset: 0x32a, out: 0x76c15bf87200
+ldr :: offset: 0x32b, out: 0x76c15bf872
+ldr :: offset: 0x32c, out: 0x76c15bf8
+ldr :: offset: 0x32d, out: 0x76c15b
+ldr :: offset: 0x32e, out: 0x76c1
+ldr :: offset: 0x32f, out: 0x76
+ldr :: offset: 0x330, out: 0x6c47164a68860bfd
+ldr :: offset: 0x331, out: 0x6c47164a68860b
+ldr :: offset: 0x332, out: 0x6c47164a6886
+ldr :: offset: 0x333, out: 0x6c47164a68
+ldr :: offset: 0x334, out: 0x6c47164a
+ldr :: offset: 0x335, out: 0x6c4716
+ldr :: offset: 0x336, out: 0x6c47
+ldr :: offset: 0x337, out: 0x6c
+ldr :: offset: 0x338, out: 0x65c52d2461043093
+ldr :: offset: 0x339, out: 0x65c52d24610430
+ldr :: offset: 0x33a, out: 0x65c52d246104
+ldr :: offset: 0x33b, out: 0x65c52d2461
+ldr :: offset: 0x33c, out: 0x65c52d24
+ldr :: offset: 0x33d, out: 0x65c52d
+ldr :: offset: 0x33e, out: 0x65c5
+ldr :: offset: 0x33f, out: 0x65
+ldr :: offset: 0x340, out: 0x155a565e119b4be9
+ldr :: offset: 0x341, out: 0x155a565e119b4b
+ldr :: offset: 0x342, out: 0x155a565e119b
+ldr :: offset: 0x343, out: 0x155a565e11
+ldr :: offset: 0x344, out: 0x155a565e
+ldr :: offset: 0x345, out: 0x155a56
+ldr :: offset: 0x346, out: 0x155a
+ldr :: offset: 0x347, out: 0x15
+ldr :: offset: 0x348, out: 0x1cd86d3018197087
+ldr :: offset: 0x349, out: 0x1cd86d30181970
+ldr :: offset: 0x34a, out: 0x1cd86d301819
+ldr :: offset: 0x34b, out: 0x1cd86d3018
+ldr :: offset: 0x34c, out: 0x1cd86d30
+ldr :: offset: 0x34d, out: 0x1cd86d
+ldr :: offset: 0x34e, out: 0x1cd8
+ldr :: offset: 0x34f, out: 0x1c
+ldr :: offset: 0x350, out: 0x65e2082029f3d35
+ldr :: offset: 0x351, out: 0x65e2082029f3d
+ldr :: offset: 0x352, out: 0x65e2082029f
+ldr :: offset: 0x353, out: 0x65e208202
+ldr :: offset: 0x354, out: 0x65e2082
+ldr :: offset: 0x355, out: 0x65e20
+ldr :: offset: 0x356, out: 0x65e
+ldr :: offset: 0x357, out: 0x6
+ldr :: offset: 0x358, out: 0xfdc1bec0b1d065b
+ldr :: offset: 0x359, out: 0xfdc1bec0b1d06
+ldr :: offset: 0x35a, out: 0xfdc1bec0b1d
+ldr :: offset: 0x35b, out: 0xfdc1bec0b
+ldr :: offset: 0x35c, out: 0xfdc1bec
+ldr :: offset: 0x35d, out: 0xfdc1b
+ldr :: offset: 0x35e, out: 0xfdc
+ldr :: offset: 0x35f, out: 0xf
+ldr :: offset: 0x360, out: 0x3352bbe63793a651
+ldr :: offset: 0x361, out: 0x3352bbe63793a6
+ldr :: offset: 0x362, out: 0x3352bbe63793
+ldr :: offset: 0x363, out: 0x3352bbe637
+ldr :: offset: 0x364, out: 0x3352bbe6
+ldr :: offset: 0x365, out: 0x3352bb
+ldr :: offset: 0x366, out: 0x3352
+ldr :: offset: 0x367, out: 0x33
+ldr :: offset: 0x368, out: 0x3ad080883e119d3f
+ldr :: offset: 0x369, out: 0x3ad080883e119d
+ldr :: offset: 0x36a, out: 0x3ad080883e11
+ldr :: offset: 0x36b, out: 0x3ad080883e
+ldr :: offset: 0x36c, out: 0x3ad08088
+ldr :: offset: 0x36d, out: 0x3ad080
+ldr :: offset: 0x36e, out: 0x3ad0
+ldr :: offset: 0x36f, out: 0x3a
+ldr :: offset: 0x370, out: 0x2056cd3a2497d08d
+ldr :: offset: 0x371, out: 0x2056cd3a2497d0
+ldr :: offset: 0x372, out: 0x2056cd3a2497
+ldr :: offset: 0x373, out: 0x2056cd3a24
+ldr :: offset: 0x374, out: 0x2056cd3a
+ldr :: offset: 0x375, out: 0x2056cd
+ldr :: offset: 0x376, out: 0x2056
+ldr :: offset: 0x377, out: 0x20
+ldr :: offset: 0x378, out: 0x29d4f6542d15ebe3
+ldr :: offset: 0x379, out: 0x29d4f6542d15eb
+ldr :: offset: 0x37a, out: 0x29d4f6542d15
+ldr :: offset: 0x37b, out: 0x29d4f6542d
+ldr :: offset: 0x37c, out: 0x29d4f654
+ldr :: offset: 0x37d, out: 0x29d4f6
+ldr :: offset: 0x37e, out: 0x29d4
+ldr :: offset: 0x37f, out: 0x29
+ldr :: offset: 0x380, out: 0xc1683bcec5a92679
+ldr :: offset: 0x381, out: 0xc1683bcec5a926
+ldr :: offset: 0x382, out: 0xc1683bcec5a9
+ldr :: offset: 0x383, out: 0xc1683bcec5
+ldr :: offset: 0x384, out: 0xc1683bce
+ldr :: offset: 0x385, out: 0xc1683b
+ldr :: offset: 0x386, out: 0xc168
+ldr :: offset: 0x387, out: 0xc1
+ldr :: offset: 0x388, out: 0xc8ea00a0cc2b1d17
+ldr :: offset: 0x389, out: 0xc8ea00a0cc2b1d
+ldr :: offset: 0x38a, out: 0xc8ea00a0cc2b
+ldr :: offset: 0x38b, out: 0xc8ea00a0cc
+ldr :: offset: 0x38c, out: 0xc8ea00a0
+ldr :: offset: 0x38d, out: 0xc8ea00
+ldr :: offset: 0x38e, out: 0xc8ea
+ldr :: offset: 0x38f, out: 0xc8
+ldr :: offset: 0x390, out: 0xd26c4d12d6ad50a5
+ldr :: offset: 0x391, out: 0xd26c4d12d6ad50
+ldr :: offset: 0x392, out: 0xd26c4d12d6ad
+ldr :: offset: 0x393, out: 0xd26c4d12d6
+ldr :: offset: 0x394, out: 0xd26c4d12
+ldr :: offset: 0x395, out: 0xd26c4d
+ldr :: offset: 0x396, out: 0xd26c
+ldr :: offset: 0x397, out: 0xd2
+ldr :: offset: 0x398, out: 0xdbee767cdf2f6bcb
+ldr :: offset: 0x399, out: 0xdbee767cdf2f6b
+ldr :: offset: 0x39a, out: 0xdbee767cdf2f
+ldr :: offset: 0x39b, out: 0xdbee767cdf
+ldr :: offset: 0x39c, out: 0xdbee767c
+ldr :: offset: 0x39d, out: 0xdbee76
+ldr :: offset: 0x39e, out: 0xdbee
+ldr :: offset: 0x39f, out: 0xdb
+ldr :: offset: 0x3a0, out: 0xe760d676e3a1cbc1
+ldr :: offset: 0x3a1, out: 0xe760d676e3a1cb
+ldr :: offset: 0x3a2, out: 0xe760d676e3a1
+ldr :: offset: 0x3a3, out: 0xe760d676e3
+ldr :: offset: 0x3a4, out: 0xe760d676
+ldr :: offset: 0x3a5, out: 0xe760d6
+ldr :: offset: 0x3a6, out: 0xe760
+ldr :: offset: 0x3a7, out: 0xe7
+ldr :: offset: 0x3a8, out: 0xeee2ed18ea23f0af
+ldr :: offset: 0x3a9, out: 0xeee2ed18ea23f0
+ldr :: offset: 0x3aa, out: 0xeee2ed18ea23
+ldr :: offset: 0x3ab, out: 0xeee2ed18ea
+ldr :: offset: 0x3ac, out: 0xeee2ed18
+ldr :: offset: 0x3ad, out: 0xeee2ed
+ldr :: offset: 0x3ae, out: 0xeee2
+ldr :: offset: 0x3af, out: 0xee
+ldr :: offset: 0x3b0, out: 0xf464a0aaf0a5bd1d
+ldr :: offset: 0x3b1, out: 0xf464a0aaf0a5bd
+ldr :: offset: 0x3b2, out: 0xf464a0aaf0a5
+ldr :: offset: 0x3b3, out: 0xf464a0aaf0
+ldr :: offset: 0x3b4, out: 0xf464a0aa
+ldr :: offset: 0x3b5, out: 0xf464a0
+ldr :: offset: 0x3b6, out: 0xf464
+ldr :: offset: 0x3b7, out: 0xf4
+ldr :: offset: 0x3b8, out: 0xfde69bc4f9278673
+ldr :: offset: 0x3b9, out: 0xfde69bc4f92786
+ldr :: offset: 0x3ba, out: 0xfde69bc4f927
+ldr :: offset: 0x3bb, out: 0xfde69bc4f9
+ldr :: offset: 0x3bc, out: 0xfde69bc4
+ldr :: offset: 0x3bd, out: 0xfde69b
+ldr :: offset: 0x3be, out: 0xfde6
+ldr :: offset: 0x3bf, out: 0xfd
+ldr :: offset: 0x3c0, out: 0x8d79e0be89b8fd09
+ldr :: offset: 0x3c1, out: 0x8d79e0be89b8fd
+ldr :: offset: 0x3c2, out: 0x8d79e0be89b8
+ldr :: offset: 0x3c3, out: 0x8d79e0be89
+ldr :: offset: 0x3c4, out: 0x8d79e0be
+ldr :: offset: 0x3c5, out: 0x8d79e0
+ldr :: offset: 0x3c6, out: 0x8d79
+ldr :: offset: 0x3c7, out: 0x8d
+ldr :: offset: 0x3c8, out: 0x84fbdbd0803ac667
+ldr :: offset: 0x3c9, out: 0x84fbdbd0803ac6
+ldr :: offset: 0x3ca, out: 0x84fbdbd0803a
+ldr :: offset: 0x3cb, out: 0x84fbdbd080
+ldr :: offset: 0x3cc, out: 0x84fbdbd0
+ldr :: offset: 0x3cd, out: 0x84fbdb
+ldr :: offset: 0x3ce, out: 0x84fb
+ldr :: offset: 0x3cf, out: 0x84
+ldr :: offset: 0x3d0, out: 0x9e7d96629abc8bd5
+ldr :: offset: 0x3d1, out: 0x9e7d96629abc8b
+ldr :: offset: 0x3d2, out: 0x9e7d96629abc
+ldr :: offset: 0x3d3, out: 0x9e7d96629a
+ldr :: offset: 0x3d4, out: 0x9e7d9662
+ldr :: offset: 0x3d5, out: 0x9e7d96
+ldr :: offset: 0x3d6, out: 0x9e7d
+ldr :: offset: 0x3d7, out: 0x9e
+ldr :: offset: 0x3d8, out: 0x97ffad0c933eb0bb
+ldr :: offset: 0x3d9, out: 0x97ffad0c933eb0
+ldr :: offset: 0x3da, out: 0x97ffad0c933e
+ldr :: offset: 0x3db, out: 0x97ffad0c93
+ldr :: offset: 0x3dc, out: 0x97ffad0c
+ldr :: offset: 0x3dd, out: 0x97ffad
+ldr :: offset: 0x3de, out: 0x97ff
+ldr :: offset: 0x3df, out: 0x97
+ldr :: offset: 0x3e0, out: 0xab710d06afb010b1
+ldr :: offset: 0x3e1, out: 0xab710d06afb010
+ldr :: offset: 0x3e2, out: 0xab710d06afb0
+ldr :: offset: 0x3e3, out: 0xab710d06af
+ldr :: offset: 0x3e4, out: 0xab710d06
+ldr :: offset: 0x3e5, out: 0xab710d
+ldr :: offset: 0x3e6, out: 0xab71
+ldr :: offset: 0x3e7, out: 0xab
+ldr :: offset: 0x3e8, out: 0xa2f33668a6322bdf
+ldr :: offset: 0x3e9, out: 0xa2f33668a6322b
+ldr :: offset: 0x3ea, out: 0xa2f33668a632
+ldr :: offset: 0x3eb, out: 0xa2f33668a6
+ldr :: offset: 0x3ec, out: 0xa2f33668
+ldr :: offset: 0x3ed, out: 0xa2f336
+ldr :: offset: 0x3ee, out: 0xa2f3
+ldr :: offset: 0x3ef, out: 0xa2
+ldr :: offset: 0x3f0, out: 0xb8757bdabcb4666d
+ldr :: offset: 0x3f1, out: 0xb8757bdabcb466
+ldr :: offset: 0x3f2, out: 0xb8757bdabcb4
+ldr :: offset: 0x3f3, out: 0xb8757bdabc
+ldr :: offset: 0x3f4, out: 0xb8757bda
+ldr :: offset: 0x3f5, out: 0xb8757b
+ldr :: offset: 0x3f6, out: 0xb875
+ldr :: offset: 0x3f7, out: 0xb8
+ldr :: offset: 0x3f8, out: 0xb1f740b4b5365d03
+ldr :: offset: 0x3f9, out: 0xb1f740b4b5365d
+ldr :: offset: 0x3fa, out: 0xb1f740b4b536
+ldr :: offset: 0x3fb, out: 0xb1f740b4b5
+ldr :: offset: 0x3fc, out: 0xb1f740b4
+ldr :: offset: 0x3fd, out: 0xb1f740
+ldr :: offset: 0x3fe, out: 0xb1f7
+ldr :: offset: 0x3ff, out: 0xb1
+ldr :: offset: 0x0, out: 0x12bd6aa
+ldr :: offset: 0x1, out: 0x12bd6
+ldr :: offset: 0x2, out: 0x12b
+ldr :: offset: 0x3, out: 0x1
+ldr :: offset: 0x4, out: 0x0
+ldr :: offset: 0x5, out: 0x0
+ldr :: offset: 0x6, out: 0x0
+ldr :: offset: 0x7, out: 0x0
+ldr :: offset: 0x8, out: 0x7e876382d2ab13
+ldr :: offset: 0x9, out: 0x7e876382d2ab
+ldr :: offset: 0xa, out: 0x7e876382d2
+ldr :: offset: 0xb, out: 0x7e876382
+ldr :: offset: 0xc, out: 0x7e8763
+ldr :: offset: 0xd, out: 0x7e87
+ldr :: offset: 0xe, out: 0x7e
+ldr :: offset: 0xf, out: 0x0
+ldr :: offset: 0x10, out: 0x976d6e9ac31510f3
+ldr :: offset: 0x11, out: 0x976d6e9ac31510
+ldr :: offset: 0x12, out: 0x976d6e9ac315
+ldr :: offset: 0x13, out: 0x976d6e9ac3
+ldr :: offset: 0x14, out: 0x976d6e9a
+ldr :: offset: 0x15, out: 0x976d6e
+ldr :: offset: 0x16, out: 0x976d
+ldr :: offset: 0x17, out: 0x97
+ldr :: offset: 0x18, out: 0xb7746d775ad6a5fb
+ldr :: offset: 0x19, out: 0xb7746d775ad6a5
+ldr :: offset: 0x1a, out: 0xb7746d775ad6
+ldr :: offset: 0x1b, out: 0xb7746d775a
+ldr :: offset: 0x1c, out: 0xb7746d77
+ldr :: offset: 0x1d, out: 0xb7746d
+ldr :: offset: 0x1e, out: 0xb774
+ldr :: offset: 0x1f, out: 0xb7
+ldr :: offset: 0x20, out: 0x42b0c0a28677b502
+ldr :: offset: 0x21, out: 0x42b0c0a28677b5
+ldr :: offset: 0x22, out: 0x42b0c0a28677
+ldr :: offset: 0x23, out: 0x42b0c0a286
+ldr :: offset: 0x24, out: 0x42b0c0a2
+ldr :: offset: 0x25, out: 0x42b0c0
+ldr :: offset: 0x26, out: 0x42b0
+ldr :: offset: 0x27, out: 0x42
+ldr :: offset: 0x28, out: 0x2aa89d319e3c30ad
+ldr :: offset: 0x29, out: 0x2aa89d319e3c30
+ldr :: offset: 0x2a, out: 0x2aa89d319e3c
+ldr :: offset: 0x2b, out: 0x2aa89d319e
+ldr :: offset: 0x2c, out: 0x2aa89d31
+ldr :: offset: 0x2d, out: 0x2aa89d
+ldr :: offset: 0x2e, out: 0x2aa8
+ldr :: offset: 0x2f, out: 0x2a
+ldr :: offset: 0x30, out: 0x1f308ec377fb413d
+ldr :: offset: 0x31, out: 0x1f308ec377fb41
+ldr :: offset: 0x32, out: 0x1f308ec377fb
+ldr :: offset: 0x33, out: 0x1f308ec377
+ldr :: offset: 0x34, out: 0x1f308ec3
+ldr :: offset: 0x35, out: 0x1f308e
+ldr :: offset: 0x36, out: 0x1f30
+ldr :: offset: 0x37, out: 0x1f
+ldr :: offset: 0x38, out: 0x7aa04213c760e4f7
+ldr :: offset: 0x39, out: 0x7aa04213c760e4
+ldr :: offset: 0x3a, out: 0x7aa04213c760
+ldr :: offset: 0x3b, out: 0x7aa04213c7
+ldr :: offset: 0x3c, out: 0x7aa04213
+ldr :: offset: 0x3d, out: 0x7aa042
+ldr :: offset: 0x3e, out: 0x7aa0
+ldr :: offset: 0x3f, out: 0x7a
+ldr :: offset: 0x40, out: 0x9e705cc51ad8dca0
+ldr :: offset: 0x41, out: 0x9e705cc51ad8dc
+ldr :: offset: 0x42, out: 0x9e705cc51ad8
+ldr :: offset: 0x43, out: 0x9e705cc51a
+ldr :: offset: 0x44, out: 0x9e705cc5
+ldr :: offset: 0x45, out: 0x9e705c
+ldr :: offset: 0x46, out: 0x9e70
+ldr :: offset: 0x47, out: 0x9e
+ldr :: offset: 0x48, out: 0x4b3dda869615a60d
+ldr :: offset: 0x49, out: 0x4b3dda869615a6
+ldr :: offset: 0x4a, out: 0x4b3dda869615
+ldr :: offset: 0x4b, out: 0x4b3dda8696
+ldr :: offset: 0x4c, out: 0x4b3dda86
+ldr :: offset: 0x4d, out: 0x4b3dda
+ldr :: offset: 0x4e, out: 0x4b3d
+ldr :: offset: 0x4f, out: 0x4b
+ldr :: offset: 0x50, out: 0x5e7a4dd6353d41d
+ldr :: offset: 0x51, out: 0x5e7a4dd6353d4
+ldr :: offset: 0x52, out: 0x5e7a4dd6353
+ldr :: offset: 0x53, out: 0x5e7a4dd63
+ldr :: offset: 0x54, out: 0x5e7a4dd
+ldr :: offset: 0x55, out: 0x5e7a4
+ldr :: offset: 0x56, out: 0x5e7
+ldr :: offset: 0x57, out: 0x5
+ldr :: offset: 0x58, out: 0x3af35a9dc40bd413
+ldr :: offset: 0x59, out: 0x3af35a9dc40bd4
+ldr :: offset: 0x5a, out: 0x3af35a9dc40b
+ldr :: offset: 0x5b, out: 0x3af35a9dc4
+ldr :: offset: 0x5c, out: 0x3af35a9d
+ldr :: offset: 0x5d, out: 0x3af35a
+ldr :: offset: 0x5e, out: 0x3af3
+ldr :: offset: 0x5f, out: 0x3a
+ldr :: offset: 0x60, out: 0x47f505569a08a180
+ldr :: offset: 0x61, out: 0x47f505569a08a1
+ldr :: offset: 0x62, out: 0x47f505569a08
+ldr :: offset: 0x63, out: 0x47f505569a
+ldr :: offset: 0x64, out: 0x47f50556
+ldr :: offset: 0x65, out: 0x47f505
+ldr :: offset: 0x66, out: 0x47f5
+ldr :: offset: 0x67, out: 0x47
+ldr :: offset: 0x68, out: 0x9564b77fd6d2040f
+ldr :: offset: 0x69, out: 0x9564b77fd6d204
+ldr :: offset: 0x6a, out: 0x9564b77fd6d2
+ldr :: offset: 0x6b, out: 0x9564b77fd6
+ldr :: offset: 0x6c, out: 0x9564b77f
+ldr :: offset: 0x6d, out: 0x9564b7
+ldr :: offset: 0x6e, out: 0x9564
+ldr :: offset: 0x6f, out: 0x95
+ldr :: offset: 0x70, out: 0xcebc8279b2c76bbe
+ldr :: offset: 0x71, out: 0xcebc8279b2c76b
+ldr :: offset: 0x72, out: 0xcebc8279b2c7
+ldr :: offset: 0x73, out: 0xcebc8279b2
+ldr :: offset: 0x74, out: 0xcebc8279
+ldr :: offset: 0x75, out: 0xcebc82
+ldr :: offset: 0x76, out: 0xcebc
+ldr :: offset: 0x77, out: 0xce
+ldr :: offset: 0x78, out: 0xb5034c2f1f18e4c7
+ldr :: offset: 0x79, out: 0xb5034c2f1f18e4
+ldr :: offset: 0x7a, out: 0xb5034c2f1f18
+ldr :: offset: 0x7b, out: 0xb5034c2f1f
+ldr :: offset: 0x7c, out: 0xb5034c2f
+ldr :: offset: 0x7d, out: 0xb5034c
+ldr :: offset: 0x7e, out: 0xb503
+ldr :: offset: 0x7f, out: 0xb5
+ldr :: offset: 0x80, out: 0x94ff52fc81afa797
+ldr :: offset: 0x81, out: 0x94ff52fc81afa7
+ldr :: offset: 0x82, out: 0x94ff52fc81af
+ldr :: offset: 0x83, out: 0x94ff52fc81
+ldr :: offset: 0x84, out: 0x94ff52fc
+ldr :: offset: 0x85, out: 0x94ff52
+ldr :: offset: 0x86, out: 0x94ff
+ldr :: offset: 0x87, out: 0x94
+ldr :: offset: 0x88, out: 0x31d8d9166dfc50ea
+ldr :: offset: 0x89, out: 0x31d8d9166dfc50
+ldr :: offset: 0x8a, out: 0x31d8d9166dfc
+ldr :: offset: 0x8b, out: 0x31d8d9166d
+ldr :: offset: 0x8c, out: 0x31d8d916
+ldr :: offset: 0x8d, out: 0x31d8d9
+ldr :: offset: 0x8e, out: 0x31d8
+ldr :: offset: 0x8f, out: 0x31
+ldr :: offset: 0x90, out: 0x36549bd678e895b1
+ldr :: offset: 0x91, out: 0x36549bd678e895
+ldr :: offset: 0x92, out: 0x36549bd678e8
+ldr :: offset: 0x93, out: 0x36549bd678
+ldr :: offset: 0x94, out: 0x36549bd6
+ldr :: offset: 0x95, out: 0x36549b
+ldr :: offset: 0x96, out: 0x3654
+ldr :: offset: 0x97, out: 0x36
+ldr :: offset: 0x98, out: 0x85e0a6319b63259b
+ldr :: offset: 0x99, out: 0x85e0a6319b6325
+ldr :: offset: 0x9a, out: 0x85e0a6319b63
+ldr :: offset: 0x9b, out: 0x85e0a6319b
+ldr :: offset: 0x9c, out: 0x85e0a631
+ldr :: offset: 0x9d, out: 0x85e0a6
+ldr :: offset: 0x9e, out: 0x85e0
+ldr :: offset: 0x9f, out: 0x85
+ldr :: offset: 0xa0, out: 0x556b3ecaccf17ac5
+ldr :: offset: 0xa1, out: 0x556b3ecaccf17a
+ldr :: offset: 0xa2, out: 0x556b3ecaccf1
+ldr :: offset: 0xa3, out: 0x556b3ecacc
+ldr :: offset: 0xa4, out: 0x556b3eca
+ldr :: offset: 0xa5, out: 0x556b3e
+ldr :: offset: 0xa6, out: 0x556b
+ldr :: offset: 0xa7, out: 0x55
+ldr :: offset: 0xa8, out: 0xb42f5fc581eea0fb
+ldr :: offset: 0xa9, out: 0xb42f5fc581eea0
+ldr :: offset: 0xaa, out: 0xb42f5fc581ee
+ldr :: offset: 0xab, out: 0xb42f5fc581
+ldr :: offset: 0xac, out: 0xb42f5fc5
+ldr :: offset: 0xad, out: 0xb42f5f
+ldr :: offset: 0xae, out: 0xb42f
+ldr :: offset: 0xaf, out: 0xb4
+ldr :: offset: 0xb0, out: 0x25b50fec14682d97
+ldr :: offset: 0xb1, out: 0x25b50fec14682d
+ldr :: offset: 0xb2, out: 0x25b50fec1468
+ldr :: offset: 0xb3, out: 0x25b50fec14
+ldr :: offset: 0xb4, out: 0x25b50fec
+ldr :: offset: 0xb5, out: 0x25b50f
+ldr :: offset: 0xb6, out: 0x25b5
+ldr :: offset: 0xb7, out: 0x25
+ldr :: offset: 0xb8, out: 0xfc93c5132cfb087a
+ldr :: offset: 0xb9, out: 0xfc93c5132cfb08
+ldr :: offset: 0xba, out: 0xfc93c5132cfb
+ldr :: offset: 0xbb, out: 0xfc93c5132c
+ldr :: offset: 0xbc, out: 0xfc93c513
+ldr :: offset: 0xbd, out: 0xfc93c5
+ldr :: offset: 0xbe, out: 0xfc93
+ldr :: offset: 0xbf, out: 0xfc
+ldr :: offset: 0xc0, out: 0x3c2cd9a9cda20766
+ldr :: offset: 0xc1, out: 0x3c2cd9a9cda207
+ldr :: offset: 0xc2, out: 0x3c2cd9a9cda2
+ldr :: offset: 0xc3, out: 0x3c2cd9a9cd
+ldr :: offset: 0xc4, out: 0x3c2cd9a9
+ldr :: offset: 0xc5, out: 0x3c2cd9
+ldr :: offset: 0xc6, out: 0x3c2c
+ldr :: offset: 0xc7, out: 0x3c
+ldr :: offset: 0xc8, out: 0x1791722a7d72da3e
+ldr :: offset: 0xc9, out: 0x1791722a7d72da
+ldr :: offset: 0xca, out: 0x1791722a7d72
+ldr :: offset: 0xcb, out: 0x1791722a7d
+ldr :: offset: 0xcc, out: 0x1791722a
+ldr :: offset: 0xcd, out: 0x179172
+ldr :: offset: 0xce, out: 0x1791
+ldr :: offset: 0xcf, out: 0x17
+ldr :: offset: 0xd0, out: 0x87cc9d193ce24ad
+ldr :: offset: 0xd1, out: 0x87cc9d193ce24
+ldr :: offset: 0xd2, out: 0x87cc9d193ce
+ldr :: offset: 0xd3, out: 0x87cc9d193
+ldr :: offset: 0xd4, out: 0x87cc9d1
+ldr :: offset: 0xd5, out: 0x87cc9
+ldr :: offset: 0xd6, out: 0x87c
+ldr :: offset: 0xd7, out: 0x8
+ldr :: offset: 0xd8, out: 0x1d2a757038984ed2
+ldr :: offset: 0xd9, out: 0x1d2a757038984e
+ldr :: offset: 0xda, out: 0x1d2a75703898
+ldr :: offset: 0xdb, out: 0x1d2a757038
+ldr :: offset: 0xdc, out: 0x1d2a7570
+ldr :: offset: 0xdd, out: 0x1d2a75
+ldr :: offset: 0xde, out: 0x1d2a
+ldr :: offset: 0xdf, out: 0x1d
+ldr :: offset: 0xe0, out: 0xd0d070db710cd036
+ldr :: offset: 0xe1, out: 0xd0d070db710cd0
+ldr :: offset: 0xe2, out: 0xd0d070db710c
+ldr :: offset: 0xe3, out: 0xd0d070db71
+ldr :: offset: 0xe4, out: 0xd0d070db
+ldr :: offset: 0xe5, out: 0xd0d070
+ldr :: offset: 0xe6, out: 0xd0d0
+ldr :: offset: 0xe7, out: 0xd0
+ldr :: offset: 0xe8, out: 0x39c21c7d03415604
+ldr :: offset: 0xe9, out: 0x39c21c7d034156
+ldr :: offset: 0xea, out: 0x39c21c7d0341
+ldr :: offset: 0xeb, out: 0x39c21c7d03
+ldr :: offset: 0xec, out: 0x39c21c7d
+ldr :: offset: 0xed, out: 0x39c21c
+ldr :: offset: 0xee, out: 0x39c2
+ldr :: offset: 0xef, out: 0x39
+ldr :: offset: 0xf0, out: 0x8e94b7af8ecc31ce
+ldr :: offset: 0xf1, out: 0x8e94b7af8ecc31
+ldr :: offset: 0xf2, out: 0x8e94b7af8ecc
+ldr :: offset: 0xf3, out: 0x8e94b7af8e
+ldr :: offset: 0xf4, out: 0x8e94b7af
+ldr :: offset: 0xf5, out: 0x8e94b7
+ldr :: offset: 0xf6, out: 0x8e94
+ldr :: offset: 0xf7, out: 0x8e
+ldr :: offset: 0xf8, out: 0x24eb6a8d1ce7674f
+ldr :: offset: 0xf9, out: 0x24eb6a8d1ce767
+ldr :: offset: 0xfa, out: 0x24eb6a8d1ce7
+ldr :: offset: 0xfb, out: 0x24eb6a8d1c
+ldr :: offset: 0xfc, out: 0x24eb6a8d
+ldr :: offset: 0xfd, out: 0x24eb6a
+ldr :: offset: 0xfe, out: 0x24eb
+ldr :: offset: 0xff, out: 0x24
+ldr :: offset: 0x100, out: 0x2f39454412d6e4a7
+ldr :: offset: 0x101, out: 0x2f39454412d6e4
+ldr :: offset: 0x102, out: 0x2f39454412d6
+ldr :: offset: 0x103, out: 0x2f39454412
+ldr :: offset: 0x104, out: 0x2f394544
+ldr :: offset: 0x105, out: 0x2f3945
+ldr :: offset: 0x106, out: 0x2f39
+ldr :: offset: 0x107, out: 0x2f
+ldr :: offset: 0x108, out: 0x2608c2b756da4c54
+ldr :: offset: 0x109, out: 0x2608c2b756da4c
+ldr :: offset: 0x10a, out: 0x2608c2b756da
+ldr :: offset: 0x10b, out: 0x2608c2b756
+ldr :: offset: 0x10c, out: 0x2608c2b7
+ldr :: offset: 0x10d, out: 0x2608c2
+ldr :: offset: 0x10e, out: 0x2608
+ldr :: offset: 0x10f, out: 0x26
+ldr :: offset: 0x110, out: 0x900102dac8d7252f
+ldr :: offset: 0x111, out: 0x900102dac8d725
+ldr :: offset: 0x112, out: 0x900102dac8d7
+ldr :: offset: 0x113, out: 0x900102dac8
+ldr :: offset: 0x114, out: 0x900102da
+ldr :: offset: 0x115, out: 0x900102
+ldr :: offset: 0x116, out: 0x9001
+ldr :: offset: 0x117, out: 0x90
+ldr :: offset: 0x118, out: 0xc890d5f1f2efa4f7
+ldr :: offset: 0x119, out: 0xc890d5f1f2efa4
+ldr :: offset: 0x11a, out: 0xc890d5f1f2ef
+ldr :: offset: 0x11b, out: 0xc890d5f1f2
+ldr :: offset: 0x11c, out: 0xc890d5f1
+ldr :: offset: 0x11d, out: 0xc890d5
+ldr :: offset: 0x11e, out: 0xc890
+ldr :: offset: 0x11f, out: 0xc8
+ldr :: offset: 0x120, out: 0xed5005cbc8b0a214
+ldr :: offset: 0x121, out: 0xed5005cbc8b0a2
+ldr :: offset: 0x122, out: 0xed5005cbc8b0
+ldr :: offset: 0x123, out: 0xed5005cbc8
+ldr :: offset: 0x124, out: 0xed5005cb
+ldr :: offset: 0x125, out: 0xed5005
+ldr :: offset: 0x126, out: 0xed50
+ldr :: offset: 0x127, out: 0xed
+ldr :: offset: 0x128, out: 0x314791895991136c
+ldr :: offset: 0x129, out: 0x31479189599113
+ldr :: offset: 0x12a, out: 0x314791895991
+ldr :: offset: 0x12b, out: 0x3147918959
+ldr :: offset: 0x12c, out: 0x31479189
+ldr :: offset: 0x12d, out: 0x314791
+ldr :: offset: 0x12e, out: 0x3147
+ldr :: offset: 0x12f, out: 0x31
+ldr :: offset: 0x130, out: 0xc6eecff99a2fb6f3
+ldr :: offset: 0x131, out: 0xc6eecff99a2fb6
+ldr :: offset: 0x132, out: 0xc6eecff99a2f
+ldr :: offset: 0x133, out: 0xc6eecff99a
+ldr :: offset: 0x134, out: 0xc6eecff9
+ldr :: offset: 0x135, out: 0xc6eecf
+ldr :: offset: 0x136, out: 0xc6ee
+ldr :: offset: 0x137, out: 0xc6
+ldr :: offset: 0x138, out: 0xa809521238895270
+ldr :: offset: 0x139, out: 0xa8095212388952
+ldr :: offset: 0x13a, out: 0xa80952123889
+ldr :: offset: 0x13b, out: 0xa809521238
+ldr :: offset: 0x13c, out: 0xa8095212
+ldr :: offset: 0x13d, out: 0xa80952
+ldr :: offset: 0x13e, out: 0xa809
+ldr :: offset: 0x13f, out: 0xa8
+ldr :: offset: 0x140, out: 0x87750a04ad765040
+ldr :: offset: 0x141, out: 0x87750a04ad7650
+ldr :: offset: 0x142, out: 0x87750a04ad76
+ldr :: offset: 0x143, out: 0x87750a04ad
+ldr :: offset: 0x144, out: 0x87750a04
+ldr :: offset: 0x145, out: 0x87750a
+ldr :: offset: 0x146, out: 0x8775
+ldr :: offset: 0x147, out: 0x87
+ldr :: offset: 0x148, out: 0x2c3de85e84bb5a83
+ldr :: offset: 0x149, out: 0x2c3de85e84bb5a
+ldr :: offset: 0x14a, out: 0x2c3de85e84bb
+ldr :: offset: 0x14b, out: 0x2c3de85e84
+ldr :: offset: 0x14c, out: 0x2c3de85e
+ldr :: offset: 0x14d, out: 0x2c3de8
+ldr :: offset: 0x14e, out: 0x2c3d
+ldr :: offset: 0x14f, out: 0x2c
+ldr :: offset: 0x150, out: 0xae6aff8fc506aa67
+ldr :: offset: 0x151, out: 0xae6aff8fc506aa
+ldr :: offset: 0x152, out: 0xae6aff8fc506
+ldr :: offset: 0x153, out: 0xae6aff8fc5
+ldr :: offset: 0x154, out: 0xae6aff8f
+ldr :: offset: 0x155, out: 0xae6aff
+ldr :: offset: 0x156, out: 0xae6a
+ldr :: offset: 0x157, out: 0xae
+ldr :: offset: 0x158, out: 0xc07112dd60ed5ee3
+ldr :: offset: 0x159, out: 0xc07112dd60ed5e
+ldr :: offset: 0x15a, out: 0xc07112dd60ed
+ldr :: offset: 0x15b, out: 0xc07112dd60
+ldr :: offset: 0x15c, out: 0xc07112dd
+ldr :: offset: 0x15d, out: 0xc07112
+ldr :: offset: 0x15e, out: 0xc071
+ldr :: offset: 0x15f, out: 0xc0
+ldr :: offset: 0x160, out: 0xc4c770f630dcca5a
+ldr :: offset: 0x161, out: 0xc4c770f630dcca
+ldr :: offset: 0x162, out: 0xc4c770f630dc
+ldr :: offset: 0x163, out: 0xc4c770f630
+ldr :: offset: 0x164, out: 0xc4c770f6
+ldr :: offset: 0x165, out: 0xc4c770
+ldr :: offset: 0x166, out: 0xc4c7
+ldr :: offset: 0x167, out: 0xc4
+ldr :: offset: 0x168, out: 0xdfec2b2383cd5277
+ldr :: offset: 0x169, out: 0xdfec2b2383cd52
+ldr :: offset: 0x16a, out: 0xdfec2b2383cd
+ldr :: offset: 0x16b, out: 0xdfec2b2383
+ldr :: offset: 0x16c, out: 0xdfec2b23
+ldr :: offset: 0x16d, out: 0xdfec2b
+ldr :: offset: 0x16e, out: 0xdfec
+ldr :: offset: 0x16f, out: 0xdf
+ldr :: offset: 0x170, out: 0xd3adba260ff7d96b
+ldr :: offset: 0x171, out: 0xd3adba260ff7d9
+ldr :: offset: 0x172, out: 0xd3adba260ff7
+ldr :: offset: 0x173, out: 0xd3adba260f
+ldr :: offset: 0x174, out: 0xd3adba26
+ldr :: offset: 0x175, out: 0xd3adba
+ldr :: offset: 0x176, out: 0xd3ad
+ldr :: offset: 0x177, out: 0xd3
+ldr :: offset: 0x178, out: 0x4ab4aa798418c00e
+ldr :: offset: 0x179, out: 0x4ab4aa798418c0
+ldr :: offset: 0x17a, out: 0x4ab4aa798418
+ldr :: offset: 0x17b, out: 0x4ab4aa7984
+ldr :: offset: 0x17c, out: 0x4ab4aa79
+ldr :: offset: 0x17d, out: 0x4ab4aa
+ldr :: offset: 0x17e, out: 0x4ab4
+ldr :: offset: 0x17f, out: 0x4a
+ldr :: offset: 0x180, out: 0xbb8c035e0de0f0b8
+ldr :: offset: 0x181, out: 0xbb8c035e0de0f0
+ldr :: offset: 0x182, out: 0xbb8c035e0de0
+ldr :: offset: 0x183, out: 0xbb8c035e0d
+ldr :: offset: 0x184, out: 0xbb8c035e
+ldr :: offset: 0x185, out: 0xbb8c03
+ldr :: offset: 0x186, out: 0xbb8c
+ldr :: offset: 0x187, out: 0xbb
+ldr :: offset: 0x188, out: 0x33b06f54a97fdcf1
+ldr :: offset: 0x189, out: 0x33b06f54a97fdc
+ldr :: offset: 0x18a, out: 0x33b06f54a97f
+ldr :: offset: 0x18b, out: 0x33b06f54a9
+ldr :: offset: 0x18c, out: 0x33b06f54
+ldr :: offset: 0x18d, out: 0x33b06f
+ldr :: offset: 0x18e, out: 0x33b0
+ldr :: offset: 0x18f, out: 0x33
+ldr :: offset: 0x190, out: 0x77433f373fd1c081
+ldr :: offset: 0x191, out: 0x77433f373fd1c0
+ldr :: offset: 0x192, out: 0x77433f373fd1
+ldr :: offset: 0x193, out: 0x77433f373f
+ldr :: offset: 0x194, out: 0x77433f37
+ldr :: offset: 0x195, out: 0x77433f
+ldr :: offset: 0x196, out: 0x7743
+ldr :: offset: 0x197, out: 0x77
+ldr :: offset: 0x198, out: 0xec91d993c92195e4
+ldr :: offset: 0x199, out: 0xec91d993c92195
+ldr :: offset: 0x19a, out: 0xec91d993c921
+ldr :: offset: 0x19b, out: 0xec91d993c9
+ldr :: offset: 0x19c, out: 0xec91d993
+ldr :: offset: 0x19d, out: 0xec91d9
+ldr :: offset: 0x19e, out: 0xec91
+ldr :: offset: 0x19f, out: 0xec
+ldr :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab
+ldr :: offset: 0x1a1, out: 0x49fbf6a795b1a5
+ldr :: offset: 0x1a2, out: 0x49fbf6a795b1
+ldr :: offset: 0x1a3, out: 0x49fbf6a795
+ldr :: offset: 0x1a4, out: 0x49fbf6a7
+ldr :: offset: 0x1a5, out: 0x49fbf6
+ldr :: offset: 0x1a6, out: 0x49fb
+ldr :: offset: 0x1a7, out: 0x49
+ldr :: offset: 0x1a8, out: 0x19364378c7ce8d1e
+ldr :: offset: 0x1a9, out: 0x19364378c7ce8d
+ldr :: offset: 0x1aa, out: 0x19364378c7ce
+ldr :: offset: 0x1ab, out: 0x19364378c7
+ldr :: offset: 0x1ac, out: 0x19364378
+ldr :: offset: 0x1ad, out: 0x193643
+ldr :: offset: 0x1ae, out: 0x1936
+ldr :: offset: 0x1af, out: 0x19
+ldr :: offset: 0x1b0, out: 0xb99e8def2f384907
+ldr :: offset: 0x1b1, out: 0xb99e8def2f3849
+ldr :: offset: 0x1b2, out: 0xb99e8def2f38
+ldr :: offset: 0x1b3, out: 0xb99e8def2f
+ldr :: offset: 0x1b4, out: 0xb99e8def
+ldr :: offset: 0x1b5, out: 0xb99e8d
+ldr :: offset: 0x1b6, out: 0xb99e
+ldr :: offset: 0x1b7, out: 0xb9
+ldr :: offset: 0x1b8, out: 0x47eacdcd582b12fe
+ldr :: offset: 0x1b9, out: 0x47eacdcd582b12
+ldr :: offset: 0x1ba, out: 0x47eacdcd582b
+ldr :: offset: 0x1bb, out: 0x47eacdcd58
+ldr :: offset: 0x1bc, out: 0x47eacdcd
+ldr :: offset: 0x1bd, out: 0x47eacd
+ldr :: offset: 0x1be, out: 0x47ea
+ldr :: offset: 0x1bf, out: 0x47
+ldr :: offset: 0x1c0, out: 0xd685884e76558c4f
+ldr :: offset: 0x1c1, out: 0xd685884e76558c
+ldr :: offset: 0x1c2, out: 0xd685884e7655
+ldr :: offset: 0x1c3, out: 0xd685884e76
+ldr :: offset: 0x1c4, out: 0xd685884e
+ldr :: offset: 0x1c5, out: 0xd68588
+ldr :: offset: 0x1c6, out: 0xd685
+ldr :: offset: 0x1c7, out: 0xd6
+ldr :: offset: 0x1c8, out: 0x6168d62a34c195c7
+ldr :: offset: 0x1c9, out: 0x6168d62a34c195
+ldr :: offset: 0x1ca, out: 0x6168d62a34c1
+ldr :: offset: 0x1cb, out: 0x6168d62a34
+ldr :: offset: 0x1cc, out: 0x6168d62a
+ldr :: offset: 0x1cd, out: 0x6168d6
+ldr :: offset: 0x1ce, out: 0x6168
+ldr :: offset: 0x1cf, out: 0x61
+ldr :: offset: 0x1d0, out: 0xd30169894df47405
+ldr :: offset: 0x1d1, out: 0xd30169894df474
+ldr :: offset: 0x1d2, out: 0xd30169894df4
+ldr :: offset: 0x1d3, out: 0xd30169894d
+ldr :: offset: 0x1d4, out: 0xd3016989
+ldr :: offset: 0x1d5, out: 0xd30169
+ldr :: offset: 0x1d6, out: 0xd301
+ldr :: offset: 0x1d7, out: 0xd3
+ldr :: offset: 0x1d8, out: 0x1ca190bf6cbb06db
+ldr :: offset: 0x1d9, out: 0x1ca190bf6cbb06
+ldr :: offset: 0x1da, out: 0x1ca190bf6cbb
+ldr :: offset: 0x1db, out: 0x1ca190bf6c
+ldr :: offset: 0x1dc, out: 0x1ca190bf
+ldr :: offset: 0x1dd, out: 0x1ca190
+ldr :: offset: 0x1de, out: 0x1ca1
+ldr :: offset: 0x1df, out: 0x1c
+ldr :: offset: 0x1e0, out: 0x58300f029cae393a
+ldr :: offset: 0x1e1, out: 0x58300f029cae39
+ldr :: offset: 0x1e2, out: 0x58300f029cae
+ldr :: offset: 0x1e3, out: 0x58300f029c
+ldr :: offset: 0x1e4, out: 0x58300f02
+ldr :: offset: 0x1e5, out: 0x58300f
+ldr :: offset: 0x1e6, out: 0x5830
+ldr :: offset: 0x1e7, out: 0x58
+ldr :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d
+ldr :: offset: 0x1e9, out: 0x9a995fdbdc7ebc
+ldr :: offset: 0x1ea, out: 0x9a995fdbdc7e
+ldr :: offset: 0x1eb, out: 0x9a995fdbdc
+ldr :: offset: 0x1ec, out: 0x9a995fdb
+ldr :: offset: 0x1ed, out: 0x9a995f
+ldr :: offset: 0x1ee, out: 0x9a99
+ldr :: offset: 0x1ef, out: 0x9a
+ldr :: offset: 0x1f0, out: 0x8a96047be3405b48
+ldr :: offset: 0x1f1, out: 0x8a96047be3405b
+ldr :: offset: 0x1f2, out: 0x8a96047be340
+ldr :: offset: 0x1f3, out: 0x8a96047be3
+ldr :: offset: 0x1f4, out: 0x8a96047b
+ldr :: offset: 0x1f5, out: 0x8a9604
+ldr :: offset: 0x1f6, out: 0x8a96
+ldr :: offset: 0x1f7, out: 0x8a
+ldr :: offset: 0x1f8, out: 0x75bfafd2d519d322
+ldr :: offset: 0x1f9, out: 0x75bfafd2d519d3
+ldr :: offset: 0x1fa, out: 0x75bfafd2d519
+ldr :: offset: 0x1fb, out: 0x75bfafd2d5
+ldr :: offset: 0x1fc, out: 0x75bfafd2
+ldr :: offset: 0x1fd, out: 0x75bfaf
+ldr :: offset: 0x1fe, out: 0x75bf
+ldr :: offset: 0x1ff, out: 0x75
+ldr :: offset: 0x200, out: 0xde230867a630f6ad
+ldr :: offset: 0x201, out: 0xde230867a630f6
+ldr :: offset: 0x202, out: 0xde230867a630
+ldr :: offset: 0x203, out: 0xde230867a6
+ldr :: offset: 0x204, out: 0xde230867
+ldr :: offset: 0x205, out: 0xde2308
+ldr :: offset: 0x206, out: 0xde23
+ldr :: offset: 0x207, out: 0xde
+ldr :: offset: 0x208, out: 0x2c0a0cf256103260
+ldr :: offset: 0x209, out: 0x2c0a0cf2561032
+ldr :: offset: 0x20a, out: 0x2c0a0cf25610
+ldr :: offset: 0x20b, out: 0x2c0a0cf256
+ldr :: offset: 0x20c, out: 0x2c0a0cf2
+ldr :: offset: 0x20d, out: 0x2c0a0c
+ldr :: offset: 0x20e, out: 0x2c0a
+ldr :: offset: 0x20f, out: 0x2c
+ldr :: offset: 0x210, out: 0x94a90544249b18ef
+ldr :: offset: 0x211, out: 0x94a90544249b18
+ldr :: offset: 0x212, out: 0x94a90544249b
+ldr :: offset: 0x213, out: 0x94a9054424
+ldr :: offset: 0x214, out: 0x94a90544
+ldr :: offset: 0x215, out: 0x94a905
+ldr :: offset: 0x216, out: 0x94a9
+ldr :: offset: 0x217, out: 0x94
+ldr :: offset: 0x218, out: 0xf9519fb55b56fcde
+ldr :: offset: 0x219, out: 0xf9519fb55b56fc
+ldr :: offset: 0x21a, out: 0xf9519fb55b56
+ldr :: offset: 0x21b, out: 0xf9519fb55b
+ldr :: offset: 0x21c, out: 0xf9519fb5
+ldr :: offset: 0x21d, out: 0xf9519f
+ldr :: offset: 0x21e, out: 0xf951
+ldr :: offset: 0x21f, out: 0xf9
+ldr :: offset: 0x220, out: 0x81daf8200468319b
+ldr :: offset: 0x221, out: 0x81daf820046831
+ldr :: offset: 0x222, out: 0x81daf8200468
+ldr :: offset: 0x223, out: 0x81daf82004
+ldr :: offset: 0x224, out: 0x81daf820
+ldr :: offset: 0x225, out: 0x81daf8
+ldr :: offset: 0x226, out: 0x81da
+ldr :: offset: 0x227, out: 0x81
+ldr :: offset: 0x228, out: 0x8c61ca5a5725f2ec
+ldr :: offset: 0x229, out: 0x8c61ca5a5725f2
+ldr :: offset: 0x22a, out: 0x8c61ca5a5725
+ldr :: offset: 0x22b, out: 0x8c61ca5a57
+ldr :: offset: 0x22c, out: 0x8c61ca5a
+ldr :: offset: 0x22d, out: 0x8c61ca
+ldr :: offset: 0x22e, out: 0x8c61
+ldr :: offset: 0x22f, out: 0x8c
+ldr :: offset: 0x230, out: 0x8b95a6ddc25dc8bf
+ldr :: offset: 0x231, out: 0x8b95a6ddc25dc8
+ldr :: offset: 0x232, out: 0x8b95a6ddc25d
+ldr :: offset: 0x233, out: 0x8b95a6ddc2
+ldr :: offset: 0x234, out: 0x8b95a6dd
+ldr :: offset: 0x235, out: 0x8b95a6
+ldr :: offset: 0x236, out: 0x8b95
+ldr :: offset: 0x237, out: 0x8b
+ldr :: offset: 0x238, out: 0x300ce751dac6162f
+ldr :: offset: 0x239, out: 0x300ce751dac616
+ldr :: offset: 0x23a, out: 0x300ce751dac6
+ldr :: offset: 0x23b, out: 0x300ce751da
+ldr :: offset: 0x23c, out: 0x300ce751
+ldr :: offset: 0x23d, out: 0x300ce7
+ldr :: offset: 0x23e, out: 0x300c
+ldr :: offset: 0x23f, out: 0x30
+ldr :: offset: 0x240, out: 0x6778fdf3ba52a850
+ldr :: offset: 0x241, out: 0x6778fdf3ba52a8
+ldr :: offset: 0x242, out: 0x6778fdf3ba52
+ldr :: offset: 0x243, out: 0x6778fdf3ba
+ldr :: offset: 0x244, out: 0x6778fdf3
+ldr :: offset: 0x245, out: 0x6778fd
+ldr :: offset: 0x246, out: 0x6778
+ldr :: offset: 0x247, out: 0x67
+ldr :: offset: 0x248, out: 0xad00b1f7da78479f
+ldr :: offset: 0x249, out: 0xad00b1f7da7847
+ldr :: offset: 0x24a, out: 0xad00b1f7da78
+ldr :: offset: 0x24b, out: 0xad00b1f7da
+ldr :: offset: 0x24c, out: 0xad00b1f7
+ldr :: offset: 0x24d, out: 0xad00b1
+ldr :: offset: 0x24e, out: 0xad00
+ldr :: offset: 0x24f, out: 0xad
+ldr :: offset: 0x250, out: 0x8d44168a6b6d98a
+ldr :: offset: 0x251, out: 0x8d44168a6b6d9
+ldr :: offset: 0x252, out: 0x8d44168a6b6
+ldr :: offset: 0x253, out: 0x8d44168a6
+ldr :: offset: 0x254, out: 0x8d44168
+ldr :: offset: 0x255, out: 0x8d441
+ldr :: offset: 0x256, out: 0x8d4
+ldr :: offset: 0x257, out: 0x8
+ldr :: offset: 0x258, out: 0xf518381dce634413
+ldr :: offset: 0x259, out: 0xf518381dce6344
+ldr :: offset: 0x25a, out: 0xf518381dce63
+ldr :: offset: 0x25b, out: 0xf518381dce
+ldr :: offset: 0x25c, out: 0xf518381d
+ldr :: offset: 0x25d, out: 0xf51838
+ldr :: offset: 0x25e, out: 0xf518
+ldr :: offset: 0x25f, out: 0xf5
+ldr :: offset: 0x260, out: 0xe4627f3fe5255fc0
+ldr :: offset: 0x261, out: 0xe4627f3fe5255f
+ldr :: offset: 0x262, out: 0xe4627f3fe525
+ldr :: offset: 0x263, out: 0xe4627f3fe5
+ldr :: offset: 0x264, out: 0xe4627f3f
+ldr :: offset: 0x265, out: 0xe4627f
+ldr :: offset: 0x266, out: 0xe462
+ldr :: offset: 0x267, out: 0xe4
+ldr :: offset: 0x268, out: 0xccd392e176321f28
+ldr :: offset: 0x269, out: 0xccd392e176321f
+ldr :: offset: 0x26a, out: 0xccd392e17632
+ldr :: offset: 0x26b, out: 0xccd392e176
+ldr :: offset: 0x26c, out: 0xccd392e1
+ldr :: offset: 0x26d, out: 0xccd392
+ldr :: offset: 0x26e, out: 0xccd3
+ldr :: offset: 0x26f, out: 0xcc
+ldr :: offset: 0x270, out: 0x829464944018fd8f
+ldr :: offset: 0x271, out: 0x829464944018fd
+ldr :: offset: 0x272, out: 0x829464944018
+ldr :: offset: 0x273, out: 0x8294649440
+ldr :: offset: 0x274, out: 0x82946494
+ldr :: offset: 0x275, out: 0x829464
+ldr :: offset: 0x276, out: 0x8294
+ldr :: offset: 0x277, out: 0x82
+ldr :: offset: 0x278, out: 0x15d3204052e8f0e5
+ldr :: offset: 0x279, out: 0x15d3204052e8f0
+ldr :: offset: 0x27a, out: 0x15d3204052e8
+ldr :: offset: 0x27b, out: 0x15d3204052
+ldr :: offset: 0x27c, out: 0x15d32040
+ldr :: offset: 0x27d, out: 0x15d320
+ldr :: offset: 0x27e, out: 0x15d3
+ldr :: offset: 0x27f, out: 0x15
+ldr :: offset: 0x280, out: 0x7caf83d2880ff344
+ldr :: offset: 0x281, out: 0x7caf83d2880ff3
+ldr :: offset: 0x282, out: 0x7caf83d2880f
+ldr :: offset: 0x283, out: 0x7caf83d288
+ldr :: offset: 0x284, out: 0x7caf83d2
+ldr :: offset: 0x285, out: 0x7caf83
+ldr :: offset: 0x286, out: 0x7caf
+ldr :: offset: 0x287, out: 0x7c
+ldr :: offset: 0x288, out: 0xf156a04c747defd7
+ldr :: offset: 0x289, out: 0xf156a04c747def
+ldr :: offset: 0x28a, out: 0xf156a04c747d
+ldr :: offset: 0x28b, out: 0xf156a04c74
+ldr :: offset: 0x28c, out: 0xf156a04c
+ldr :: offset: 0x28d, out: 0xf156a0
+ldr :: offset: 0x28e, out: 0xf156
+ldr :: offset: 0x28f, out: 0xf1
+ldr :: offset: 0x290, out: 0x93e2601c0f31d710
+ldr :: offset: 0x291, out: 0x93e2601c0f31d7
+ldr :: offset: 0x292, out: 0x93e2601c0f31
+ldr :: offset: 0x293, out: 0x93e2601c0f
+ldr :: offset: 0x294, out: 0x93e2601c
+ldr :: offset: 0x295, out: 0x93e260
+ldr :: offset: 0x296, out: 0x93e2
+ldr :: offset: 0x297, out: 0x93
+ldr :: offset: 0x298, out: 0xe1e1a679131cd933
+ldr :: offset: 0x299, out: 0xe1e1a679131cd9
+ldr :: offset: 0x29a, out: 0xe1e1a679131c
+ldr :: offset: 0x29b, out: 0xe1e1a67913
+ldr :: offset: 0x29c, out: 0xe1e1a679
+ldr :: offset: 0x29d, out: 0xe1e1a6
+ldr :: offset: 0x29e, out: 0xe1e1
+ldr :: offset: 0x29f, out: 0xe1
+ldr :: offset: 0x2a0, out: 0x24296b75a76fa427
+ldr :: offset: 0x2a1, out: 0x24296b75a76fa4
+ldr :: offset: 0x2a2, out: 0x24296b75a76f
+ldr :: offset: 0x2a3, out: 0x24296b75a7
+ldr :: offset: 0x2a4, out: 0x24296b75
+ldr :: offset: 0x2a5, out: 0x24296b
+ldr :: offset: 0x2a6, out: 0x2429
+ldr :: offset: 0x2a7, out: 0x24
+ldr :: offset: 0x2a8, out: 0xd296e2d2139ee56a
+ldr :: offset: 0x2a9, out: 0xd296e2d2139ee5
+ldr :: offset: 0x2aa, out: 0xd296e2d2139e
+ldr :: offset: 0x2ab, out: 0xd296e2d213
+ldr :: offset: 0x2ac, out: 0xd296e2d2
+ldr :: offset: 0x2ad, out: 0xd296e2
+ldr :: offset: 0x2ae, out: 0xd296
+ldr :: offset: 0x2af, out: 0xd2
+ldr :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0
+ldr :: offset: 0x2b1, out: 0x5a82447f6dc2a5
+ldr :: offset: 0x2b2, out: 0x5a82447f6dc2
+ldr :: offset: 0x2b3, out: 0x5a82447f6d
+ldr :: offset: 0x2b4, out: 0x5a82447f
+ldr :: offset: 0x2b5, out: 0x5a8244
+ldr :: offset: 0x2b6, out: 0x5a82
+ldr :: offset: 0x2b7, out: 0x5a
+ldr :: offset: 0x2b8, out: 0x76c89e80c07dc168
+ldr :: offset: 0x2b9, out: 0x76c89e80c07dc1
+ldr :: offset: 0x2ba, out: 0x76c89e80c07d
+ldr :: offset: 0x2bb, out: 0x76c89e80c0
+ldr :: offset: 0x2bc, out: 0x76c89e80
+ldr :: offset: 0x2bd, out: 0x76c89e
+ldr :: offset: 0x2be, out: 0x76c8
+ldr :: offset: 0x2bf, out: 0x76
+ldr :: offset: 0x2c0, out: 0x70dc3454bfe348f
+ldr :: offset: 0x2c1, out: 0x70dc3454bfe34
+ldr :: offset: 0x2c2, out: 0x70dc3454bfe
+ldr :: offset: 0x2c3, out: 0x70dc3454b
+ldr :: offset: 0x2c4, out: 0x70dc345
+ldr :: offset: 0x2c5, out: 0x70dc3
+ldr :: offset: 0x2c6, out: 0x70d
+ldr :: offset: 0x2c7, out: 0x7
+ldr :: offset: 0x2c8, out: 0xbddc7123dd6d241b
+ldr :: offset: 0x2c9, out: 0xbddc7123dd6d24
+ldr :: offset: 0x2ca, out: 0xbddc7123dd6d
+ldr :: offset: 0x2cb, out: 0xbddc7123dd
+ldr :: offset: 0x2cc, out: 0xbddc7123
+ldr :: offset: 0x2cd, out: 0xbddc71
+ldr :: offset: 0x2ce, out: 0xbddc
+ldr :: offset: 0x2cf, out: 0xbd
+ldr :: offset: 0x2d0, out: 0xf62fb727a59fcebe
+ldr :: offset: 0x2d1, out: 0xf62fb727a59fce
+ldr :: offset: 0x2d2, out: 0xf62fb727a59f
+ldr :: offset: 0x2d3, out: 0xf62fb727a5
+ldr :: offset: 0x2d4, out: 0xf62fb727
+ldr :: offset: 0x2d5, out: 0xf62fb7
+ldr :: offset: 0x2d6, out: 0xf62f
+ldr :: offset: 0x2d7, out: 0xf6
+ldr :: offset: 0x2d8, out: 0x109f27e90f9f46fb
+ldr :: offset: 0x2d9, out: 0x109f27e90f9f46
+ldr :: offset: 0x2da, out: 0x109f27e90f9f
+ldr :: offset: 0x2db, out: 0x109f27e90f
+ldr :: offset: 0x2dc, out: 0x109f27e9
+ldr :: offset: 0x2dd, out: 0x109f27
+ldr :: offset: 0x2de, out: 0x109f
+ldr :: offset: 0x2df, out: 0x10
+ldr :: offset: 0x2e0, out: 0x3f63daa9afd199d7
+ldr :: offset: 0x2e1, out: 0x3f63daa9afd199
+ldr :: offset: 0x2e2, out: 0x3f63daa9afd1
+ldr :: offset: 0x2e3, out: 0x3f63daa9af
+ldr :: offset: 0x2e4, out: 0x3f63daa9
+ldr :: offset: 0x2e5, out: 0x3f63da
+ldr :: offset: 0x2e6, out: 0x3f63
+ldr :: offset: 0x2e7, out: 0x3f
+ldr :: offset: 0x2e8, out: 0xdbcb312ea3d484f2
+ldr :: offset: 0x2e9, out: 0xdbcb312ea3d484
+ldr :: offset: 0x2ea, out: 0xdbcb312ea3d4
+ldr :: offset: 0x2eb, out: 0xdbcb312ea3
+ldr :: offset: 0x2ec, out: 0xdbcb312e
+ldr :: offset: 0x2ed, out: 0xdbcb31
+ldr :: offset: 0x2ee, out: 0xdbcb
+ldr :: offset: 0x2ef, out: 0xdb
+ldr :: offset: 0x2f0, out: 0x1f353faada4fe4c6
+ldr :: offset: 0x2f1, out: 0x1f353faada4fe4
+ldr :: offset: 0x2f2, out: 0x1f353faada4f
+ldr :: offset: 0x2f3, out: 0x1f353faada
+ldr :: offset: 0x2f4, out: 0x1f353faa
+ldr :: offset: 0x2f5, out: 0x1f353f
+ldr :: offset: 0x2f6, out: 0x1f35
+ldr :: offset: 0x2f7, out: 0x1f
+ldr :: offset: 0x2f8, out: 0x8b086ee07150c260
+ldr :: offset: 0x2f9, out: 0x8b086ee07150c2
+ldr :: offset: 0x2fa, out: 0x8b086ee07150
+ldr :: offset: 0x2fb, out: 0x8b086ee071
+ldr :: offset: 0x2fc, out: 0x8b086ee0
+ldr :: offset: 0x2fd, out: 0x8b086e
+ldr :: offset: 0x2fe, out: 0x8b08
+ldr :: offset: 0x2ff, out: 0x8b
+ldr :: offset: 0x300, out: 0xe54750d5d9257f25
+ldr :: offset: 0x301, out: 0xe54750d5d9257f
+ldr :: offset: 0x302, out: 0xe54750d5d925
+ldr :: offset: 0x303, out: 0xe54750d5d9
+ldr :: offset: 0x304, out: 0xe54750d5
+ldr :: offset: 0x305, out: 0xe54750
+ldr :: offset: 0x306, out: 0xe547
+ldr :: offset: 0x307, out: 0xe5
+ldr :: offset: 0x308, out: 0x3d69625fe9a6db5b
+ldr :: offset: 0x309, out: 0x3d69625fe9a6db
+ldr :: offset: 0x30a, out: 0x3d69625fe9a6
+ldr :: offset: 0x30b, out: 0x3d69625fe9
+ldr :: offset: 0x30c, out: 0x3d69625f
+ldr :: offset: 0x30d, out: 0x3d6962
+ldr :: offset: 0x30e, out: 0x3d69
+ldr :: offset: 0x30f, out: 0x3d
+ldr :: offset: 0x310, out: 0x70a3e0424340ac96
+ldr :: offset: 0x311, out: 0x70a3e0424340ac
+ldr :: offset: 0x312, out: 0x70a3e0424340
+ldr :: offset: 0x313, out: 0x70a3e04243
+ldr :: offset: 0x314, out: 0x70a3e042
+ldr :: offset: 0x315, out: 0x70a3e0
+ldr :: offset: 0x316, out: 0x70a3
+ldr :: offset: 0x317, out: 0x70
+ldr :: offset: 0x318, out: 0xc0478f036980171e
+ldr :: offset: 0x319, out: 0xc0478f03698017
+ldr :: offset: 0x31a, out: 0xc0478f036980
+ldr :: offset: 0x31b, out: 0xc0478f0369
+ldr :: offset: 0x31c, out: 0xc0478f03
+ldr :: offset: 0x31d, out: 0xc0478f
+ldr :: offset: 0x31e, out: 0xc047
+ldr :: offset: 0x31f, out: 0xc0
+ldr :: offset: 0x320, out: 0x3ce839a51cf929e3
+ldr :: offset: 0x321, out: 0x3ce839a51cf929
+ldr :: offset: 0x322, out: 0x3ce839a51cf9
+ldr :: offset: 0x323, out: 0x3ce839a51c
+ldr :: offset: 0x324, out: 0x3ce839a5
+ldr :: offset: 0x325, out: 0x3ce839
+ldr :: offset: 0x326, out: 0x3ce8
+ldr :: offset: 0x327, out: 0x3c
+ldr :: offset: 0x328, out: 0xe2fbfa895eb68958
+ldr :: offset: 0x329, out: 0xe2fbfa895eb689
+ldr :: offset: 0x32a, out: 0xe2fbfa895eb6
+ldr :: offset: 0x32b, out: 0xe2fbfa895e
+ldr :: offset: 0x32c, out: 0xe2fbfa89
+ldr :: offset: 0x32d, out: 0xe2fbfa
+ldr :: offset: 0x32e, out: 0xe2fb
+ldr :: offset: 0x32f, out: 0xe2
+ldr :: offset: 0x330, out: 0xd24bb05d76ed25b7
+ldr :: offset: 0x331, out: 0xd24bb05d76ed25
+ldr :: offset: 0x332, out: 0xd24bb05d76ed
+ldr :: offset: 0x333, out: 0xd24bb05d76
+ldr :: offset: 0x334, out: 0xd24bb05d
+ldr :: offset: 0x335, out: 0xd24bb0
+ldr :: offset: 0x336, out: 0xd24b
+ldr :: offset: 0x337, out: 0xd2
+ldr :: offset: 0x338, out: 0xeb9682c170312f1
+ldr :: offset: 0x339, out: 0xeb9682c170312
+ldr :: offset: 0x33a, out: 0xeb9682c1703
+ldr :: offset: 0x33b, out: 0xeb9682c17
+ldr :: offset: 0x33c, out: 0xeb9682c
+ldr :: offset: 0x33d, out: 0xeb968
+ldr :: offset: 0x33e, out: 0xeb9
+ldr :: offset: 0x33f, out: 0xe
+ldr :: offset: 0x340, out: 0x84785280dd301d0d
+ldr :: offset: 0x341, out: 0x84785280dd301d
+ldr :: offset: 0x342, out: 0x84785280dd30
+ldr :: offset: 0x343, out: 0x84785280dd
+ldr :: offset: 0x344, out: 0x84785280
+ldr :: offset: 0x345, out: 0x847852
+ldr :: offset: 0x346, out: 0x8478
+ldr :: offset: 0x347, out: 0x84
+ldr :: offset: 0x348, out: 0x179c77aa1f8fd6ef
+ldr :: offset: 0x349, out: 0x179c77aa1f8fd6
+ldr :: offset: 0x34a, out: 0x179c77aa1f8f
+ldr :: offset: 0x34b, out: 0x179c77aa1f
+ldr :: offset: 0x34c, out: 0x179c77aa
+ldr :: offset: 0x34d, out: 0x179c77
+ldr :: offset: 0x34e, out: 0x179c
+ldr :: offset: 0x34f, out: 0x17
+ldr :: offset: 0x350, out: 0x26444ced2998436d
+ldr :: offset: 0x351, out: 0x26444ced299843
+ldr :: offset: 0x352, out: 0x26444ced2998
+ldr :: offset: 0x353, out: 0x26444ced29
+ldr :: offset: 0x354, out: 0x26444ced
+ldr :: offset: 0x355, out: 0x26444c
+ldr :: offset: 0x356, out: 0x2644
+ldr :: offset: 0x357, out: 0x26
+ldr :: offset: 0x358, out: 0x7175c9dd58ca708
+ldr :: offset: 0x359, out: 0x7175c9dd58ca7
+ldr :: offset: 0x35a, out: 0x7175c9dd58c
+ldr :: offset: 0x35b, out: 0x7175c9dd5
+ldr :: offset: 0x35c, out: 0x7175c9d
+ldr :: offset: 0x35d, out: 0x7175c
+ldr :: offset: 0x35e, out: 0x717
+ldr :: offset: 0x35f, out: 0x7
+ldr :: offset: 0x360, out: 0x663d061055833287
+ldr :: offset: 0x361, out: 0x663d0610558332
+ldr :: offset: 0x362, out: 0x663d06105583
+ldr :: offset: 0x363, out: 0x663d061055
+ldr :: offset: 0x364, out: 0x663d0610
+ldr :: offset: 0x365, out: 0x663d06
+ldr :: offset: 0x366, out: 0x663d
+ldr :: offset: 0x367, out: 0x66
+ldr :: offset: 0x368, out: 0xab7dd0488951d68b
+ldr :: offset: 0x369, out: 0xab7dd0488951d6
+ldr :: offset: 0x36a, out: 0xab7dd0488951
+ldr :: offset: 0x36b, out: 0xab7dd04889
+ldr :: offset: 0x36c, out: 0xab7dd048
+ldr :: offset: 0x36d, out: 0xab7dd0
+ldr :: offset: 0x36e, out: 0xab7d
+ldr :: offset: 0x36f, out: 0xab
+ldr :: offset: 0x370, out: 0xf69823670e82471b
+ldr :: offset: 0x371, out: 0xf69823670e8247
+ldr :: offset: 0x372, out: 0xf69823670e82
+ldr :: offset: 0x373, out: 0xf69823670e
+ldr :: offset: 0x374, out: 0xf6982367
+ldr :: offset: 0x375, out: 0xf69823
+ldr :: offset: 0x376, out: 0xf698
+ldr :: offset: 0x377, out: 0xf6
+ldr :: offset: 0x378, out: 0x36886c59d98d26b2
+ldr :: offset: 0x379, out: 0x36886c59d98d26
+ldr :: offset: 0x37a, out: 0x36886c59d98d
+ldr :: offset: 0x37b, out: 0x36886c59d9
+ldr :: offset: 0x37c, out: 0x36886c59
+ldr :: offset: 0x37d, out: 0x36886c
+ldr :: offset: 0x37e, out: 0x3688
+ldr :: offset: 0x37f, out: 0x36
+ldr :: offset: 0x380, out: 0x9ca4bdbd32be479
+ldr :: offset: 0x381, out: 0x9ca4bdbd32be4
+ldr :: offset: 0x382, out: 0x9ca4bdbd32b
+ldr :: offset: 0x383, out: 0x9ca4bdbd3
+ldr :: offset: 0x384, out: 0x9ca4bdb
+ldr :: offset: 0x385, out: 0x9ca4b
+ldr :: offset: 0x386, out: 0x9ca
+ldr :: offset: 0x387, out: 0x9
+ldr :: offset: 0x388, out: 0xfd5d7d1d9962e61f
+ldr :: offset: 0x389, out: 0xfd5d7d1d9962e6
+ldr :: offset: 0x38a, out: 0xfd5d7d1d9962
+ldr :: offset: 0x38b, out: 0xfd5d7d1d99
+ldr :: offset: 0x38c, out: 0xfd5d7d1d
+ldr :: offset: 0x38d, out: 0xfd5d7d
+ldr :: offset: 0x38e, out: 0xfd5d
+ldr :: offset: 0x38f, out: 0xfd
+ldr :: offset: 0x390, out: 0x3f46553ecad374df
+ldr :: offset: 0x391, out: 0x3f46553ecad374
+ldr :: offset: 0x392, out: 0x3f46553ecad3
+ldr :: offset: 0x393, out: 0x3f46553eca
+ldr :: offset: 0x394, out: 0x3f46553e
+ldr :: offset: 0x395, out: 0x3f4655
+ldr :: offset: 0x396, out: 0x3f46
+ldr :: offset: 0x397, out: 0x3f
+ldr :: offset: 0x398, out: 0x2e9ab97d3eedf2a7
+ldr :: offset: 0x399, out: 0x2e9ab97d3eedf2
+ldr :: offset: 0x39a, out: 0x2e9ab97d3eed
+ldr :: offset: 0x39b, out: 0x2e9ab97d3e
+ldr :: offset: 0x39c, out: 0x2e9ab97d
+ldr :: offset: 0x39d, out: 0x2e9ab9
+ldr :: offset: 0x39e, out: 0x2e9a
+ldr :: offset: 0x39f, out: 0x2e
+ldr :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33
+ldr :: offset: 0x3a1, out: 0x36a6f7fa3c0c9f
+ldr :: offset: 0x3a2, out: 0x36a6f7fa3c0c
+ldr :: offset: 0x3a3, out: 0x36a6f7fa3c
+ldr :: offset: 0x3a4, out: 0x36a6f7fa
+ldr :: offset: 0x3a5, out: 0x36a6f7
+ldr :: offset: 0x3a6, out: 0x36a6
+ldr :: offset: 0x3a7, out: 0x36
+ldr :: offset: 0x3a8, out: 0x8bb938e3155ec9dc
+ldr :: offset: 0x3a9, out: 0x8bb938e3155ec9
+ldr :: offset: 0x3aa, out: 0x8bb938e3155e
+ldr :: offset: 0x3ab, out: 0x8bb938e315
+ldr :: offset: 0x3ac, out: 0x8bb938e3
+ldr :: offset: 0x3ad, out: 0x8bb938
+ldr :: offset: 0x3ae, out: 0x8bb9
+ldr :: offset: 0x3af, out: 0x8b
+ldr :: offset: 0x3b0, out: 0xd2df25c419478206
+ldr :: offset: 0x3b1, out: 0xd2df25c4194782
+ldr :: offset: 0x3b2, out: 0xd2df25c41947
+ldr :: offset: 0x3b3, out: 0xd2df25c419
+ldr :: offset: 0x3b4, out: 0xd2df25c4
+ldr :: offset: 0x3b5, out: 0xd2df25
+ldr :: offset: 0x3b6, out: 0xd2df
+ldr :: offset: 0x3b7, out: 0xd2
+ldr :: offset: 0x3b8, out: 0xbc65bf27eb321825
+ldr :: offset: 0x3b9, out: 0xbc65bf27eb3218
+ldr :: offset: 0x3ba, out: 0xbc65bf27eb32
+ldr :: offset: 0x3bb, out: 0xbc65bf27eb
+ldr :: offset: 0x3bc, out: 0xbc65bf27
+ldr :: offset: 0x3bd, out: 0xbc65bf
+ldr :: offset: 0x3be, out: 0xbc65
+ldr :: offset: 0x3bf, out: 0xbc
+ldr :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da
+ldr :: offset: 0x3c1, out: 0xa8b08fe67a8bc7
+ldr :: offset: 0x3c2, out: 0xa8b08fe67a8b
+ldr :: offset: 0x3c3, out: 0xa8b08fe67a
+ldr :: offset: 0x3c4, out: 0xa8b08fe6
+ldr :: offset: 0x3c5, out: 0xa8b08f
+ldr :: offset: 0x3c6, out: 0xa8b0
+ldr :: offset: 0x3c7, out: 0xa8
+ldr :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8
+ldr :: offset: 0x3c9, out: 0x852b5bcaf8dfcd
+ldr :: offset: 0x3ca, out: 0x852b5bcaf8df
+ldr :: offset: 0x3cb, out: 0x852b5bcaf8
+ldr :: offset: 0x3cc, out: 0x852b5bca
+ldr :: offset: 0x3cd, out: 0x852b5b
+ldr :: offset: 0x3ce, out: 0x852b
+ldr :: offset: 0x3cf, out: 0x85
+ldr :: offset: 0x3d0, out: 0x478909b59a99269
+ldr :: offset: 0x3d1, out: 0x478909b59a992
+ldr :: offset: 0x3d2, out: 0x478909b59a9
+ldr :: offset: 0x3d3, out: 0x478909b59
+ldr :: offset: 0x3d4, out: 0x478909b
+ldr :: offset: 0x3d5, out: 0x47890
+ldr :: offset: 0x3d6, out: 0x478
+ldr :: offset: 0x3d7, out: 0x4
+ldr :: offset: 0x3d8, out: 0xbfb31cc87857360f
+ldr :: offset: 0x3d9, out: 0xbfb31cc8785736
+ldr :: offset: 0x3da, out: 0xbfb31cc87857
+ldr :: offset: 0x3db, out: 0xbfb31cc878
+ldr :: offset: 0x3dc, out: 0xbfb31cc8
+ldr :: offset: 0x3dd, out: 0xbfb31c
+ldr :: offset: 0x3de, out: 0xbfb3
+ldr :: offset: 0x3df, out: 0xbf
+ldr :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2
+ldr :: offset: 0x3e1, out: 0xb665ed5e7f89e9
+ldr :: offset: 0x3e2, out: 0xb665ed5e7f89
+ldr :: offset: 0x3e3, out: 0xb665ed5e7f
+ldr :: offset: 0x3e4, out: 0xb665ed5e
+ldr :: offset: 0x3e5, out: 0xb665ed
+ldr :: offset: 0x3e6, out: 0xb665
+ldr :: offset: 0x3e7, out: 0xb6
+ldr :: offset: 0x3e8, out: 0x15da9474b7a8d5e4
+ldr :: offset: 0x3e9, out: 0x15da9474b7a8d5
+ldr :: offset: 0x3ea, out: 0x15da9474b7a8
+ldr :: offset: 0x3eb, out: 0x15da9474b7
+ldr :: offset: 0x3ec, out: 0x15da9474
+ldr :: offset: 0x3ed, out: 0x15da94
+ldr :: offset: 0x3ee, out: 0x15da
+ldr :: offset: 0x3ef, out: 0x15
+ldr :: offset: 0x3f0, out: 0xf6b3537d2af90fcc
+ldr :: offset: 0x3f1, out: 0xf6b3537d2af90f
+ldr :: offset: 0x3f2, out: 0xf6b3537d2af9
+ldr :: offset: 0x3f3, out: 0xf6b3537d2a
+ldr :: offset: 0x3f4, out: 0xf6b3537d
+ldr :: offset: 0x3f5, out: 0xf6b353
+ldr :: offset: 0x3f6, out: 0xf6b3
+ldr :: offset: 0x3f7, out: 0xf6
+ldr :: offset: 0x3f8, out: 0x223d7cfe2b961897
+ldr :: offset: 0x3f9, out: 0x223d7cfe2b9618
+ldr :: offset: 0x3fa, out: 0x223d7cfe2b96
+ldr :: offset: 0x3fb, out: 0x223d7cfe2b
+ldr :: offset: 0x3fc, out: 0x223d7cfe
+ldr :: offset: 0x3fd, out: 0x223d7c
+ldr :: offset: 0x3fe, out: 0x223d
+ldr :: offset: 0x3ff, out: 0x22
+ldr :: offset: 0x400, out: 0x420b34f533734a4b
+ldr :: offset: 0x401, out: 0x420b34f533734a
+ldr :: offset: 0x402, out: 0x420b34f53373
+ldr :: offset: 0x403, out: 0x420b34f533
+ldr :: offset: 0x404, out: 0x420b34f5
+ldr :: offset: 0x405, out: 0x420b34
+ldr :: offset: 0x406, out: 0x420b
+ldr :: offset: 0x407, out: 0x42
+ldr :: offset: 0x408, out: 0x897c8c8ddd46b33c
+ldr :: offset: 0x409, out: 0x897c8c8ddd46b3
+ldr :: offset: 0x40a, out: 0x897c8c8ddd46
+ldr :: offset: 0x40b, out: 0x897c8c8ddd
+ldr :: offset: 0x40c, out: 0x897c8c8d
+ldr :: offset: 0x40d, out: 0x897c8c
+ldr :: offset: 0x40e, out: 0x897c
+ldr :: offset: 0x40f, out: 0x89
+ldr :: offset: 0x410, out: 0x7a387445e392ccd9
+ldr :: offset: 0x411, out: 0x7a387445e392cc
+ldr :: offset: 0x412, out: 0x7a387445e392
+ldr :: offset: 0x413, out: 0x7a387445e3
+ldr :: offset: 0x414, out: 0x7a387445
+ldr :: offset: 0x415, out: 0x7a3874
+ldr :: offset: 0x416, out: 0x7a38
+ldr :: offset: 0x417, out: 0x7a
+ldr :: offset: 0x418, out: 0x512f29b1d80000c9
+ldr :: offset: 0x419, out: 0x512f29b1d80000
+ldr :: offset: 0x41a, out: 0x512f29b1d800
+ldr :: offset: 0x41b, out: 0x512f29b1d8
+ldr :: offset: 0x41c, out: 0x512f29b1
+ldr :: offset: 0x41d, out: 0x512f29
+ldr :: offset: 0x41e, out: 0x512f
+ldr :: offset: 0x41f, out: 0x51
+ldr :: offset: 0x420, out: 0xeaded5c53dad020a
+ldr :: offset: 0x421, out: 0xeaded5c53dad02
+ldr :: offset: 0x422, out: 0xeaded5c53dad
+ldr :: offset: 0x423, out: 0xeaded5c53d
+ldr :: offset: 0x424, out: 0xeaded5c5
+ldr :: offset: 0x425, out: 0xeaded5
+ldr :: offset: 0x426, out: 0xeade
+ldr :: offset: 0x427, out: 0xea
+ldr :: offset: 0x428, out: 0x8a6229d731eea35b
+ldr :: offset: 0x429, out: 0x8a6229d731eea3
+ldr :: offset: 0x42a, out: 0x8a6229d731ee
+ldr :: offset: 0x42b, out: 0x8a6229d731
+ldr :: offset: 0x42c, out: 0x8a6229d7
+ldr :: offset: 0x42d, out: 0x8a6229
+ldr :: offset: 0x42e, out: 0x8a62
+ldr :: offset: 0x42f, out: 0x8a
+ldr :: offset: 0x430, out: 0x2c3c3f9e48985649
+ldr :: offset: 0x431, out: 0x2c3c3f9e489856
+ldr :: offset: 0x432, out: 0x2c3c3f9e4898
+ldr :: offset: 0x433, out: 0x2c3c3f9e48
+ldr :: offset: 0x434, out: 0x2c3c3f9e
+ldr :: offset: 0x435, out: 0x2c3c3f
+ldr :: offset: 0x436, out: 0x2c3c
+ldr :: offset: 0x437, out: 0x2c
+ldr :: offset: 0x438, out: 0x7ff61e78dc9c0b77
+ldr :: offset: 0x439, out: 0x7ff61e78dc9c0b
+ldr :: offset: 0x43a, out: 0x7ff61e78dc9c
+ldr :: offset: 0x43b, out: 0x7ff61e78dc
+ldr :: offset: 0x43c, out: 0x7ff61e78
+ldr :: offset: 0x43d, out: 0x7ff61e
+ldr :: offset: 0x43e, out: 0x7ff6
+ldr :: offset: 0x43f, out: 0x7f
+ldr :: offset: 0x440, out: 0x2299b0e01d5e68ec
+ldr :: offset: 0x441, out: 0x2299b0e01d5e68
+ldr :: offset: 0x442, out: 0x2299b0e01d5e
+ldr :: offset: 0x443, out: 0x2299b0e01d
+ldr :: offset: 0x444, out: 0x2299b0e0
+ldr :: offset: 0x445, out: 0x2299b0
+ldr :: offset: 0x446, out: 0x2299
+ldr :: offset: 0x447, out: 0x22
+ldr :: offset: 0x448, out: 0x7c3b04673d0c6e25
+ldr :: offset: 0x449, out: 0x7c3b04673d0c6e
+ldr :: offset: 0x44a, out: 0x7c3b04673d0c
+ldr :: offset: 0x44b, out: 0x7c3b04673d
+ldr :: offset: 0x44c, out: 0x7c3b0467
+ldr :: offset: 0x44d, out: 0x7c3b04
+ldr :: offset: 0x44e, out: 0x7c3b
+ldr :: offset: 0x44f, out: 0x7c
+ldr :: offset: 0x450, out: 0x164e17c1e7fb6587
+ldr :: offset: 0x451, out: 0x164e17c1e7fb65
+ldr :: offset: 0x452, out: 0x164e17c1e7fb
+ldr :: offset: 0x453, out: 0x164e17c1e7
+ldr :: offset: 0x454, out: 0x164e17c1
+ldr :: offset: 0x455, out: 0x164e17
+ldr :: offset: 0x456, out: 0x164e
+ldr :: offset: 0x457, out: 0x16
+ldr :: offset: 0x458, out: 0xfa4ca28b56d4950b
+ldr :: offset: 0x459, out: 0xfa4ca28b56d495
+ldr :: offset: 0x45a, out: 0xfa4ca28b56d4
+ldr :: offset: 0x45b, out: 0xfa4ca28b56
+ldr :: offset: 0x45c, out: 0xfa4ca28b
+ldr :: offset: 0x45d, out: 0xfa4ca2
+ldr :: offset: 0x45e, out: 0xfa4c
+ldr :: offset: 0x45f, out: 0xfa
+ldr :: offset: 0x460, out: 0xe5e9a314be7fa08a
+ldr :: offset: 0x461, out: 0xe5e9a314be7fa0
+ldr :: offset: 0x462, out: 0xe5e9a314be7f
+ldr :: offset: 0x463, out: 0xe5e9a314be
+ldr :: offset: 0x464, out: 0xe5e9a314
+ldr :: offset: 0x465, out: 0xe5e9a3
+ldr :: offset: 0x466, out: 0xe5e9
+ldr :: offset: 0x467, out: 0xe5
+ldr :: offset: 0x468, out: 0xf8be8164159649c5
+ldr :: offset: 0x469, out: 0xf8be8164159649
+ldr :: offset: 0x46a, out: 0xf8be81641596
+ldr :: offset: 0x46b, out: 0xf8be816415
+ldr :: offset: 0x46c, out: 0xf8be8164
+ldr :: offset: 0x46d, out: 0xf8be81
+ldr :: offset: 0x46e, out: 0xf8be
+ldr :: offset: 0x46f, out: 0xf8
+ldr :: offset: 0x470, out: 0x7ca3259784e69b17
+ldr :: offset: 0x471, out: 0x7ca3259784e69b
+ldr :: offset: 0x472, out: 0x7ca3259784e6
+ldr :: offset: 0x473, out: 0x7ca3259784
+ldr :: offset: 0x474, out: 0x7ca32597
+ldr :: offset: 0x475, out: 0x7ca325
+ldr :: offset: 0x476, out: 0x7ca3
+ldr :: offset: 0x477, out: 0x7c
+ldr :: offset: 0x478, out: 0xfc8d543ca1f24f5c
+ldr :: offset: 0x479, out: 0xfc8d543ca1f24f
+ldr :: offset: 0x47a, out: 0xfc8d543ca1f2
+ldr :: offset: 0x47b, out: 0xfc8d543ca1
+ldr :: offset: 0x47c, out: 0xfc8d543c
+ldr :: offset: 0x47d, out: 0xfc8d54
+ldr :: offset: 0x47e, out: 0xfc8d
+ldr :: offset: 0x47f, out: 0xfc
+ldr :: offset: 0x480, out: 0x4aeb6ca0e3459e36
+ldr :: offset: 0x481, out: 0x4aeb6ca0e3459e
+ldr :: offset: 0x482, out: 0x4aeb6ca0e345
+ldr :: offset: 0x483, out: 0x4aeb6ca0e3
+ldr :: offset: 0x484, out: 0x4aeb6ca0
+ldr :: offset: 0x485, out: 0x4aeb6c
+ldr :: offset: 0x486, out: 0x4aeb
+ldr :: offset: 0x487, out: 0x4a
+ldr :: offset: 0x488, out: 0xc532e18e187980fa
+ldr :: offset: 0x489, out: 0xc532e18e187980
+ldr :: offset: 0x48a, out: 0xc532e18e1879
+ldr :: offset: 0x48b, out: 0xc532e18e18
+ldr :: offset: 0x48c, out: 0xc532e18e
+ldr :: offset: 0x48d, out: 0xc532e1
+ldr :: offset: 0x48e, out: 0xc532
+ldr :: offset: 0x48f, out: 0xc5
+ldr :: offset: 0x490, out: 0xb3fdec294f287d1c
+ldr :: offset: 0x491, out: 0xb3fdec294f287d
+ldr :: offset: 0x492, out: 0xb3fdec294f28
+ldr :: offset: 0x493, out: 0xb3fdec294f
+ldr :: offset: 0x494, out: 0xb3fdec29
+ldr :: offset: 0x495, out: 0xb3fdec
+ldr :: offset: 0x496, out: 0xb3fd
+ldr :: offset: 0x497, out: 0xb3
+ldr :: offset: 0x498, out: 0xb620660a49732b90
+ldr :: offset: 0x499, out: 0xb620660a49732b
+ldr :: offset: 0x49a, out: 0xb620660a4973
+ldr :: offset: 0x49b, out: 0xb620660a49
+ldr :: offset: 0x49c, out: 0xb620660a
+ldr :: offset: 0x49d, out: 0xb62066
+ldr :: offset: 0x49e, out: 0xb620
+ldr :: offset: 0x49f, out: 0xb6
+ldr :: offset: 0x4a0, out: 0x993138f16cfde991
+ldr :: offset: 0x4a1, out: 0x993138f16cfde9
+ldr :: offset: 0x4a2, out: 0x993138f16cfd
+ldr :: offset: 0x4a3, out: 0x993138f16c
+ldr :: offset: 0x4a4, out: 0x993138f1
+ldr :: offset: 0x4a5, out: 0x993138
+ldr :: offset: 0x4a6, out: 0x9931
+ldr :: offset: 0x4a7, out: 0x99
+ldr :: offset: 0x4a8, out: 0xde02d1337d5407b9
+ldr :: offset: 0x4a9, out: 0xde02d1337d5407
+ldr :: offset: 0x4aa, out: 0xde02d1337d54
+ldr :: offset: 0x4ab, out: 0xde02d1337d
+ldr :: offset: 0x4ac, out: 0xde02d133
+ldr :: offset: 0x4ad, out: 0xde02d1
+ldr :: offset: 0x4ae, out: 0xde02
+ldr :: offset: 0x4af, out: 0xde
+ldr :: offset: 0x4b0, out: 0x13a390e1e1dab15a
+ldr :: offset: 0x4b1, out: 0x13a390e1e1dab1
+ldr :: offset: 0x4b2, out: 0x13a390e1e1da
+ldr :: offset: 0x4b3, out: 0x13a390e1e1
+ldr :: offset: 0x4b4, out: 0x13a390e1
+ldr :: offset: 0x4b5, out: 0x13a390
+ldr :: offset: 0x4b6, out: 0x13a3
+ldr :: offset: 0x4b7, out: 0x13
+ldr :: offset: 0x4b8, out: 0x743491a6828716c8
+ldr :: offset: 0x4b9, out: 0x743491a6828716
+ldr :: offset: 0x4ba, out: 0x743491a68287
+ldr :: offset: 0x4bb, out: 0x743491a682
+ldr :: offset: 0x4bc, out: 0x743491a6
+ldr :: offset: 0x4bd, out: 0x743491
+ldr :: offset: 0x4be, out: 0x7434
+ldr :: offset: 0x4bf, out: 0x74
+ldr :: offset: 0x4c0, out: 0x8cff404aede292f2
+ldr :: offset: 0x4c1, out: 0x8cff404aede292
+ldr :: offset: 0x4c2, out: 0x8cff404aede2
+ldr :: offset: 0x4c3, out: 0x8cff404aed
+ldr :: offset: 0x4c4, out: 0x8cff404a
+ldr :: offset: 0x4c5, out: 0x8cff40
+ldr :: offset: 0x4c6, out: 0x8cff
+ldr :: offset: 0x4c7, out: 0x8c
+ldr :: offset: 0x4c8, out: 0xb9cec0db1f837636
+ldr :: offset: 0x4c9, out: 0xb9cec0db1f8376
+ldr :: offset: 0x4ca, out: 0xb9cec0db1f83
+ldr :: offset: 0x4cb, out: 0xb9cec0db1f
+ldr :: offset: 0x4cc, out: 0xb9cec0db
+ldr :: offset: 0x4cd, out: 0xb9cec0
+ldr :: offset: 0x4ce, out: 0xb9ce
+ldr :: offset: 0x4cf, out: 0xb9
+ldr :: offset: 0x4d0, out: 0x2eaa5aa70509771c
+ldr :: offset: 0x4d1, out: 0x2eaa5aa7050977
+ldr :: offset: 0x4d2, out: 0x2eaa5aa70509
+ldr :: offset: 0x4d3, out: 0x2eaa5aa705
+ldr :: offset: 0x4d4, out: 0x2eaa5aa7
+ldr :: offset: 0x4d5, out: 0x2eaa5a
+ldr :: offset: 0x4d6, out: 0x2eaa
+ldr :: offset: 0x4d7, out: 0x2e
+ldr :: offset: 0x4d8, out: 0xd327538e1875241b
+ldr :: offset: 0x4d9, out: 0xd327538e187524
+ldr :: offset: 0x4da, out: 0xd327538e1875
+ldr :: offset: 0x4db, out: 0xd327538e18
+ldr :: offset: 0x4dc, out: 0xd327538e
+ldr :: offset: 0x4dd, out: 0xd32753
+ldr :: offset: 0x4de, out: 0xd327
+ldr :: offset: 0x4df, out: 0xd3
+ldr :: offset: 0x4e0, out: 0x42e9f8548b739b6b
+ldr :: offset: 0x4e1, out: 0x42e9f8548b739b
+ldr :: offset: 0x4e2, out: 0x42e9f8548b73
+ldr :: offset: 0x4e3, out: 0x42e9f8548b
+ldr :: offset: 0x4e4, out: 0x42e9f854
+ldr :: offset: 0x4e5, out: 0x42e9f8
+ldr :: offset: 0x4e6, out: 0x42e9
+ldr :: offset: 0x4e7, out: 0x42
+ldr :: offset: 0x4e8, out: 0x78e4e50ceccbba1a
+ldr :: offset: 0x4e9, out: 0x78e4e50ceccbba
+ldr :: offset: 0x4ea, out: 0x78e4e50ceccb
+ldr :: offset: 0x4eb, out: 0x78e4e50cec
+ldr :: offset: 0x4ec, out: 0x78e4e50c
+ldr :: offset: 0x4ed, out: 0x78e4e5
+ldr :: offset: 0x4ee, out: 0x78e4
+ldr :: offset: 0x4ef, out: 0x78
+ldr :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb
+ldr :: offset: 0x4f1, out: 0xf6b6fa3fcd9d27
+ldr :: offset: 0x4f2, out: 0xf6b6fa3fcd9d
+ldr :: offset: 0x4f3, out: 0xf6b6fa3fcd
+ldr :: offset: 0x4f4, out: 0xf6b6fa3f
+ldr :: offset: 0x4f5, out: 0xf6b6fa
+ldr :: offset: 0x4f6, out: 0xf6b6
+ldr :: offset: 0x4f7, out: 0xf6
+ldr :: offset: 0x4f8, out: 0x73916483ae3e9423
+ldr :: offset: 0x4f9, out: 0x73916483ae3e94
+ldr :: offset: 0x4fa, out: 0x73916483ae3e
+ldr :: offset: 0x4fb, out: 0x73916483ae
+ldr :: offset: 0x4fc, out: 0x73916483
+ldr :: offset: 0x4fd, out: 0x739164
+ldr :: offset: 0x4fe, out: 0x7391
+ldr :: offset: 0x4ff, out: 0x73
+ldr :: offset: 0x500, out: 0x276af70a0e128561
+ldr :: offset: 0x501, out: 0x276af70a0e1285
+ldr :: offset: 0x502, out: 0x276af70a0e12
+ldr :: offset: 0x503, out: 0x276af70a0e
+ldr :: offset: 0x504, out: 0x276af70a
+ldr :: offset: 0x505, out: 0x276af7
+ldr :: offset: 0x506, out: 0x276a
+ldr :: offset: 0x507, out: 0x27
+ldr :: offset: 0x508, out: 0x3045bf6b5e74b6e
+ldr :: offset: 0x509, out: 0x3045bf6b5e74b
+ldr :: offset: 0x50a, out: 0x3045bf6b5e7
+ldr :: offset: 0x50b, out: 0x3045bf6b5
+ldr :: offset: 0x50c, out: 0x3045bf6
+ldr :: offset: 0x50d, out: 0x3045b
+ldr :: offset: 0x50e, out: 0x304
+ldr :: offset: 0x50f, out: 0x3
+ldr :: offset: 0x510, out: 0x20223f1308accfa6
+ldr :: offset: 0x511, out: 0x20223f1308accf
+ldr :: offset: 0x512, out: 0x20223f1308ac
+ldr :: offset: 0x513, out: 0x20223f1308
+ldr :: offset: 0x514, out: 0x20223f13
+ldr :: offset: 0x515, out: 0x20223f
+ldr :: offset: 0x516, out: 0x2022
+ldr :: offset: 0x517, out: 0x20
+ldr :: offset: 0x518, out: 0xf83c55743976b5f5
+ldr :: offset: 0x519, out: 0xf83c55743976b5
+ldr :: offset: 0x51a, out: 0xf83c55743976
+ldr :: offset: 0x51b, out: 0xf83c557439
+ldr :: offset: 0x51c, out: 0xf83c5574
+ldr :: offset: 0x51d, out: 0xf83c55
+ldr :: offset: 0x51e, out: 0xf83c
+ldr :: offset: 0x51f, out: 0xf8
+ldr :: offset: 0x520, out: 0x1f9720f946923c3d
+ldr :: offset: 0x521, out: 0x1f9720f946923c
+ldr :: offset: 0x522, out: 0x1f9720f94692
+ldr :: offset: 0x523, out: 0x1f9720f946
+ldr :: offset: 0x524, out: 0x1f9720f9
+ldr :: offset: 0x525, out: 0x1f9720
+ldr :: offset: 0x526, out: 0x1f97
+ldr :: offset: 0x527, out: 0x1f
+ldr :: offset: 0x528, out: 0x620d28506d2448dd
+ldr :: offset: 0x529, out: 0x620d28506d2448
+ldr :: offset: 0x52a, out: 0x620d28506d24
+ldr :: offset: 0x52b, out: 0x620d28506d
+ldr :: offset: 0x52c, out: 0x620d2850
+ldr :: offset: 0x52d, out: 0x620d28
+ldr :: offset: 0x52e, out: 0x620d
+ldr :: offset: 0x52f, out: 0x62
+ldr :: offset: 0x530, out: 0x60a521e99ff4a732
+ldr :: offset: 0x531, out: 0x60a521e99ff4a7
+ldr :: offset: 0x532, out: 0x60a521e99ff4
+ldr :: offset: 0x533, out: 0x60a521e99f
+ldr :: offset: 0x534, out: 0x60a521e9
+ldr :: offset: 0x535, out: 0x60a521
+ldr :: offset: 0x536, out: 0x60a5
+ldr :: offset: 0x537, out: 0x60
+ldr :: offset: 0x538, out: 0x5a08f3ab5c680f0b
+ldr :: offset: 0x539, out: 0x5a08f3ab5c680f
+ldr :: offset: 0x53a, out: 0x5a08f3ab5c68
+ldr :: offset: 0x53b, out: 0x5a08f3ab5c
+ldr :: offset: 0x53c, out: 0x5a08f3ab
+ldr :: offset: 0x53d, out: 0x5a08f3
+ldr :: offset: 0x53e, out: 0x5a08
+ldr :: offset: 0x53f, out: 0x5a
+ldr :: offset: 0x540, out: 0xc7a59be7800f3d26
+ldr :: offset: 0x541, out: 0xc7a59be7800f3d
+ldr :: offset: 0x542, out: 0xc7a59be7800f
+ldr :: offset: 0x543, out: 0xc7a59be780
+ldr :: offset: 0x544, out: 0xc7a59be7
+ldr :: offset: 0x545, out: 0xc7a59b
+ldr :: offset: 0x546, out: 0xc7a5
+ldr :: offset: 0x547, out: 0xc7
+ldr :: offset: 0x548, out: 0x1aecdf2982ca1b41
+ldr :: offset: 0x549, out: 0x1aecdf2982ca1b
+ldr :: offset: 0x54a, out: 0x1aecdf2982ca
+ldr :: offset: 0x54b, out: 0x1aecdf2982
+ldr :: offset: 0x54c, out: 0x1aecdf29
+ldr :: offset: 0x54d, out: 0x1aecdf
+ldr :: offset: 0x54e, out: 0x1aec
+ldr :: offset: 0x54f, out: 0x1a
+ldr :: offset: 0x550, out: 0x2b8613a260d19dcd
+ldr :: offset: 0x551, out: 0x2b8613a260d19d
+ldr :: offset: 0x552, out: 0x2b8613a260d1
+ldr :: offset: 0x553, out: 0x2b8613a260
+ldr :: offset: 0x554, out: 0x2b8613a2
+ldr :: offset: 0x555, out: 0x2b8613
+ldr :: offset: 0x556, out: 0x2b86
+ldr :: offset: 0x557, out: 0x2b
+ldr :: offset: 0x558, out: 0x2518ac8b0e8bbe7f
+ldr :: offset: 0x559, out: 0x2518ac8b0e8bbe
+ldr :: offset: 0x55a, out: 0x2518ac8b0e8b
+ldr :: offset: 0x55b, out: 0x2518ac8b0e
+ldr :: offset: 0x55c, out: 0x2518ac8b
+ldr :: offset: 0x55d, out: 0x2518ac
+ldr :: offset: 0x55e, out: 0x2518
+ldr :: offset: 0x55f, out: 0x25
+ldr :: offset: 0x560, out: 0x743e568d2fcf486b
+ldr :: offset: 0x561, out: 0x743e568d2fcf48
+ldr :: offset: 0x562, out: 0x743e568d2fcf
+ldr :: offset: 0x563, out: 0x743e568d2f
+ldr :: offset: 0x564, out: 0x743e568d
+ldr :: offset: 0x565, out: 0x743e56
+ldr :: offset: 0x566, out: 0x743e
+ldr :: offset: 0x567, out: 0x74
+ldr :: offset: 0x568, out: 0x126f646f34c31728
+ldr :: offset: 0x569, out: 0x126f646f34c317
+ldr :: offset: 0x56a, out: 0x126f646f34c3
+ldr :: offset: 0x56b, out: 0x126f646f34
+ldr :: offset: 0x56c, out: 0x126f646f
+ldr :: offset: 0x56d, out: 0x126f64
+ldr :: offset: 0x56e, out: 0x126f
+ldr :: offset: 0x56f, out: 0x12
+ldr :: offset: 0x570, out: 0xaab0196156fc4d12
+ldr :: offset: 0x571, out: 0xaab0196156fc4d
+ldr :: offset: 0x572, out: 0xaab0196156fc
+ldr :: offset: 0x573, out: 0xaab0196156
+ldr :: offset: 0x574, out: 0xaab01961
+ldr :: offset: 0x575, out: 0xaab019
+ldr :: offset: 0x576, out: 0xaab0
+ldr :: offset: 0x577, out: 0xaa
+ldr :: offset: 0x578, out: 0x7535cd338595d342
+ldr :: offset: 0x579, out: 0x7535cd338595d3
+ldr :: offset: 0x57a, out: 0x7535cd338595
+ldr :: offset: 0x57b, out: 0x7535cd3385
+ldr :: offset: 0x57c, out: 0x7535cd33
+ldr :: offset: 0x57d, out: 0x7535cd
+ldr :: offset: 0x57e, out: 0x7535
+ldr :: offset: 0x57f, out: 0x75
+ldr :: offset: 0x580, out: 0xdfb254da422346ec
+ldr :: offset: 0x581, out: 0xdfb254da422346
+ldr :: offset: 0x582, out: 0xdfb254da4223
+ldr :: offset: 0x583, out: 0xdfb254da42
+ldr :: offset: 0x584, out: 0xdfb254da
+ldr :: offset: 0x585, out: 0xdfb254
+ldr :: offset: 0x586, out: 0xdfb2
+ldr :: offset: 0x587, out: 0xdf
+ldr :: offset: 0x588, out: 0xa86726c90081ab2a
+ldr :: offset: 0x589, out: 0xa86726c90081ab
+ldr :: offset: 0x58a, out: 0xa86726c90081
+ldr :: offset: 0x58b, out: 0xa86726c900
+ldr :: offset: 0x58c, out: 0xa86726c9
+ldr :: offset: 0x58d, out: 0xa86726
+ldr :: offset: 0x58e, out: 0xa867
+ldr :: offset: 0x58f, out: 0xa8
+ldr :: offset: 0x590, out: 0x9bfeffa1679d7438
+ldr :: offset: 0x591, out: 0x9bfeffa1679d74
+ldr :: offset: 0x592, out: 0x9bfeffa1679d
+ldr :: offset: 0x593, out: 0x9bfeffa167
+ldr :: offset: 0x594, out: 0x9bfeffa1
+ldr :: offset: 0x595, out: 0x9bfeff
+ldr :: offset: 0x596, out: 0x9bfe
+ldr :: offset: 0x597, out: 0x9b
+ldr :: offset: 0x598, out: 0xc7699826b7dee244
+ldr :: offset: 0x599, out: 0xc7699826b7dee2
+ldr :: offset: 0x59a, out: 0xc7699826b7de
+ldr :: offset: 0x59b, out: 0xc7699826b7
+ldr :: offset: 0x59c, out: 0xc7699826
+ldr :: offset: 0x59d, out: 0xc76998
+ldr :: offset: 0x59e, out: 0xc769
+ldr :: offset: 0x59f, out: 0xc7
+ldr :: offset: 0x5a0, out: 0x3c07af97fba6704a
+ldr :: offset: 0x5a1, out: 0x3c07af97fba670
+ldr :: offset: 0x5a2, out: 0x3c07af97fba6
+ldr :: offset: 0x5a3, out: 0x3c07af97fb
+ldr :: offset: 0x5a4, out: 0x3c07af97
+ldr :: offset: 0x5a5, out: 0x3c07af
+ldr :: offset: 0x5a6, out: 0x3c07
+ldr :: offset: 0x5a7, out: 0x3c
+ldr :: offset: 0x5a8, out: 0x521364dc04c58bfe
+ldr :: offset: 0x5a9, out: 0x521364dc04c58b
+ldr :: offset: 0x5aa, out: 0x521364dc04c5
+ldr :: offset: 0x5ab, out: 0x521364dc04
+ldr :: offset: 0x5ac, out: 0x521364dc
+ldr :: offset: 0x5ad, out: 0x521364
+ldr :: offset: 0x5ae, out: 0x5213
+ldr :: offset: 0x5af, out: 0x52
+ldr :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc
+ldr :: offset: 0x5b1, out: 0xe0f7bb589ab7ae
+ldr :: offset: 0x5b2, out: 0xe0f7bb589ab7
+ldr :: offset: 0x5b3, out: 0xe0f7bb589a
+ldr :: offset: 0x5b4, out: 0xe0f7bb58
+ldr :: offset: 0x5b5, out: 0xe0f7bb
+ldr :: offset: 0x5b6, out: 0xe0f7
+ldr :: offset: 0x5b7, out: 0xe0
+ldr :: offset: 0x5b8, out: 0xe336c60cdeeb954d
+ldr :: offset: 0x5b9, out: 0xe336c60cdeeb95
+ldr :: offset: 0x5ba, out: 0xe336c60cdeeb
+ldr :: offset: 0x5bb, out: 0xe336c60cde
+ldr :: offset: 0x5bc, out: 0xe336c60c
+ldr :: offset: 0x5bd, out: 0xe336c6
+ldr :: offset: 0x5be, out: 0xe336
+ldr :: offset: 0x5bf, out: 0xe3
+ldr :: offset: 0x5c0, out: 0xd5b2120c6f52416e
+ldr :: offset: 0x5c1, out: 0xd5b2120c6f5241
+ldr :: offset: 0x5c2, out: 0xd5b2120c6f52
+ldr :: offset: 0x5c3, out: 0xd5b2120c6f
+ldr :: offset: 0x5c4, out: 0xd5b2120c
+ldr :: offset: 0x5c5, out: 0xd5b212
+ldr :: offset: 0x5c6, out: 0xd5b2
+ldr :: offset: 0x5c7, out: 0xd5
+ldr :: offset: 0x5c8, out: 0x85a2d4ff7e628a34
+ldr :: offset: 0x5c9, out: 0x85a2d4ff7e628a
+ldr :: offset: 0x5ca, out: 0x85a2d4ff7e62
+ldr :: offset: 0x5cb, out: 0x85a2d4ff7e
+ldr :: offset: 0x5cc, out: 0x85a2d4ff
+ldr :: offset: 0x5cd, out: 0x85a2d4
+ldr :: offset: 0x5ce, out: 0x85a2
+ldr :: offset: 0x5cf, out: 0x85
+ldr :: offset: 0x5d0, out: 0x986a2b654a4e7e07
+ldr :: offset: 0x5d1, out: 0x986a2b654a4e7e
+ldr :: offset: 0x5d2, out: 0x986a2b654a4e
+ldr :: offset: 0x5d3, out: 0x986a2b654a
+ldr :: offset: 0x5d4, out: 0x986a2b65
+ldr :: offset: 0x5d5, out: 0x986a2b
+ldr :: offset: 0x5d6, out: 0x986a
+ldr :: offset: 0x5d7, out: 0x98
+ldr :: offset: 0x5d8, out: 0xa974eac43a489b55
+ldr :: offset: 0x5d9, out: 0xa974eac43a489b
+ldr :: offset: 0x5da, out: 0xa974eac43a48
+ldr :: offset: 0x5db, out: 0xa974eac43a
+ldr :: offset: 0x5dc, out: 0xa974eac4
+ldr :: offset: 0x5dd, out: 0xa974ea
+ldr :: offset: 0x5de, out: 0xa974
+ldr :: offset: 0x5df, out: 0xa9
+ldr :: offset: 0x5e0, out: 0xa388c16272f1f8f5
+ldr :: offset: 0x5e1, out: 0xa388c16272f1f8
+ldr :: offset: 0x5e2, out: 0xa388c16272f1
+ldr :: offset: 0x5e3, out: 0xa388c16272
+ldr :: offset: 0x5e4, out: 0xa388c162
+ldr :: offset: 0x5e5, out: 0xa388c1
+ldr :: offset: 0x5e6, out: 0xa388
+ldr :: offset: 0x5e7, out: 0xa3
+ldr :: offset: 0x5e8, out: 0xe8c11f45e7495ea9
+ldr :: offset: 0x5e9, out: 0xe8c11f45e7495e
+ldr :: offset: 0x5ea, out: 0xe8c11f45e749
+ldr :: offset: 0x5eb, out: 0xe8c11f45e7
+ldr :: offset: 0x5ec, out: 0xe8c11f45
+ldr :: offset: 0x5ed, out: 0xe8c11f
+ldr :: offset: 0x5ee, out: 0xe8c1
+ldr :: offset: 0x5ef, out: 0xe8
+ldr :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4
+ldr :: offset: 0x5f1, out: 0xadaa5a765cc1c8
+ldr :: offset: 0x5f2, out: 0xadaa5a765cc1
+ldr :: offset: 0x5f3, out: 0xadaa5a765c
+ldr :: offset: 0x5f4, out: 0xadaa5a76
+ldr :: offset: 0x5f5, out: 0xadaa5a
+ldr :: offset: 0x5f6, out: 0xadaa
+ldr :: offset: 0x5f7, out: 0xad
+ldr :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0
+ldr :: offset: 0x5f9, out: 0x7ab4ce88dfa605
+ldr :: offset: 0x5fa, out: 0x7ab4ce88dfa6
+ldr :: offset: 0x5fb, out: 0x7ab4ce88df
+ldr :: offset: 0x5fc, out: 0x7ab4ce88
+ldr :: offset: 0x5fd, out: 0x7ab4ce
+ldr :: offset: 0x5fe, out: 0x7ab4
+ldr :: offset: 0x5ff, out: 0x7a
+ldr :: offset: 0x600, out: 0xb42ad6e659a7b04f
+ldr :: offset: 0x601, out: 0xb42ad6e659a7b0
+ldr :: offset: 0x602, out: 0xb42ad6e659a7
+ldr :: offset: 0x603, out: 0xb42ad6e659
+ldr :: offset: 0x604, out: 0xb42ad6e6
+ldr :: offset: 0x605, out: 0xb42ad6
+ldr :: offset: 0x606, out: 0xb42a
+ldr :: offset: 0x607, out: 0xb4
+ldr :: offset: 0x608, out: 0x4bf8485ab728922f
+ldr :: offset: 0x609, out: 0x4bf8485ab72892
+ldr :: offset: 0x60a, out: 0x4bf8485ab728
+ldr :: offset: 0x60b, out: 0x4bf8485ab7
+ldr :: offset: 0x60c, out: 0x4bf8485a
+ldr :: offset: 0x60d, out: 0x4bf848
+ldr :: offset: 0x60e, out: 0x4bf8
+ldr :: offset: 0x60f, out: 0x4b
+ldr :: offset: 0x610, out: 0x76a3d60c3b66a7fb
+ldr :: offset: 0x611, out: 0x76a3d60c3b66a7
+ldr :: offset: 0x612, out: 0x76a3d60c3b66
+ldr :: offset: 0x613, out: 0x76a3d60c3b
+ldr :: offset: 0x614, out: 0x76a3d60c
+ldr :: offset: 0x615, out: 0x76a3d6
+ldr :: offset: 0x616, out: 0x76a3
+ldr :: offset: 0x617, out: 0x76
+ldr :: offset: 0x618, out: 0x31e0c6affdc28eda
+ldr :: offset: 0x619, out: 0x31e0c6affdc28e
+ldr :: offset: 0x61a, out: 0x31e0c6affdc2
+ldr :: offset: 0x61b, out: 0x31e0c6affd
+ldr :: offset: 0x61c, out: 0x31e0c6af
+ldr :: offset: 0x61d, out: 0x31e0c6
+ldr :: offset: 0x61e, out: 0x31e0
+ldr :: offset: 0x61f, out: 0x31
+ldr :: offset: 0x620, out: 0x53606bb4bf0c999d
+ldr :: offset: 0x621, out: 0x53606bb4bf0c99
+ldr :: offset: 0x622, out: 0x53606bb4bf0c
+ldr :: offset: 0x623, out: 0x53606bb4bf
+ldr :: offset: 0x624, out: 0x53606bb4
+ldr :: offset: 0x625, out: 0x53606b
+ldr :: offset: 0x626, out: 0x5360
+ldr :: offset: 0x627, out: 0x53
+ldr :: offset: 0x628, out: 0x32fc12c81b7919f0
+ldr :: offset: 0x629, out: 0x32fc12c81b7919
+ldr :: offset: 0x62a, out: 0x32fc12c81b79
+ldr :: offset: 0x62b, out: 0x32fc12c81b
+ldr :: offset: 0x62c, out: 0x32fc12c8
+ldr :: offset: 0x62d, out: 0x32fc12
+ldr :: offset: 0x62e, out: 0x32fc
+ldr :: offset: 0x62f, out: 0x32
+ldr :: offset: 0x630, out: 0x3ef88384c72efcd6
+ldr :: offset: 0x631, out: 0x3ef88384c72efc
+ldr :: offset: 0x632, out: 0x3ef88384c72e
+ldr :: offset: 0x633, out: 0x3ef88384c7
+ldr :: offset: 0x634, out: 0x3ef88384
+ldr :: offset: 0x635, out: 0x3ef883
+ldr :: offset: 0x636, out: 0x3ef8
+ldr :: offset: 0x637, out: 0x3e
+ldr :: offset: 0x638, out: 0x38b1c7bb6a2a3580
+ldr :: offset: 0x639, out: 0x38b1c7bb6a2a35
+ldr :: offset: 0x63a, out: 0x38b1c7bb6a2a
+ldr :: offset: 0x63b, out: 0x38b1c7bb6a
+ldr :: offset: 0x63c, out: 0x38b1c7bb
+ldr :: offset: 0x63d, out: 0x38b1c7
+ldr :: offset: 0x63e, out: 0x38b1
+ldr :: offset: 0x63f, out: 0x38
+ldr :: offset: 0x640, out: 0x15ebf6121dca77c9
+ldr :: offset: 0x641, out: 0x15ebf6121dca77
+ldr :: offset: 0x642, out: 0x15ebf6121dca
+ldr :: offset: 0x643, out: 0x15ebf6121d
+ldr :: offset: 0x644, out: 0x15ebf612
+ldr :: offset: 0x645, out: 0x15ebf6
+ldr :: offset: 0x646, out: 0x15eb
+ldr :: offset: 0x647, out: 0x15
+ldr :: offset: 0x648, out: 0x5eaacdd9fd9147ae
+ldr :: offset: 0x649, out: 0x5eaacdd9fd9147
+ldr :: offset: 0x64a, out: 0x5eaacdd9fd91
+ldr :: offset: 0x64b, out: 0x5eaacdd9fd
+ldr :: offset: 0x64c, out: 0x5eaacdd9
+ldr :: offset: 0x64d, out: 0x5eaacd
+ldr :: offset: 0x64e, out: 0x5eaa
+ldr :: offset: 0x64f, out: 0x5e
+ldr :: offset: 0x650, out: 0xbb8470f981e91117
+ldr :: offset: 0x651, out: 0xbb8470f981e911
+ldr :: offset: 0x652, out: 0xbb8470f981e9
+ldr :: offset: 0x653, out: 0xbb8470f981
+ldr :: offset: 0x654, out: 0xbb8470f9
+ldr :: offset: 0x655, out: 0xbb8470
+ldr :: offset: 0x656, out: 0xbb84
+ldr :: offset: 0x657, out: 0xbb
+ldr :: offset: 0x658, out: 0x5d42aeac6a532e0
+ldr :: offset: 0x659, out: 0x5d42aeac6a532
+ldr :: offset: 0x65a, out: 0x5d42aeac6a5
+ldr :: offset: 0x65b, out: 0x5d42aeac6
+ldr :: offset: 0x65c, out: 0x5d42aea
+ldr :: offset: 0x65d, out: 0x5d42a
+ldr :: offset: 0x65e, out: 0x5d4
+ldr :: offset: 0x65f, out: 0x5
+ldr :: offset: 0x660, out: 0x14abf36419fb9e63
+ldr :: offset: 0x661, out: 0x14abf36419fb9e
+ldr :: offset: 0x662, out: 0x14abf36419fb
+ldr :: offset: 0x663, out: 0x14abf36419
+ldr :: offset: 0x664, out: 0x14abf364
+ldr :: offset: 0x665, out: 0x14abf3
+ldr :: offset: 0x666, out: 0x14ab
+ldr :: offset: 0x667, out: 0x14
+ldr :: offset: 0x668, out: 0x249d559aa8d72aac
+ldr :: offset: 0x669, out: 0x249d559aa8d72a
+ldr :: offset: 0x66a, out: 0x249d559aa8d7
+ldr :: offset: 0x66b, out: 0x249d559aa8
+ldr :: offset: 0x66c, out: 0x249d559a
+ldr :: offset: 0x66d, out: 0x249d55
+ldr :: offset: 0x66e, out: 0x249d
+ldr :: offset: 0x66f, out: 0x24
+ldr :: offset: 0x670, out: 0xcd6764f084b30ec
+ldr :: offset: 0x671, out: 0xcd6764f084b30
+ldr :: offset: 0x672, out: 0xcd6764f084b
+ldr :: offset: 0x673, out: 0xcd6764f08
+ldr :: offset: 0x674, out: 0xcd6764f
+ldr :: offset: 0x675, out: 0xcd676
+ldr :: offset: 0x676, out: 0xcd6
+ldr :: offset: 0x677, out: 0xc
+ldr :: offset: 0x678, out: 0x7f03ac0792468fdf
+ldr :: offset: 0x679, out: 0x7f03ac0792468f
+ldr :: offset: 0x67a, out: 0x7f03ac079246
+ldr :: offset: 0x67b, out: 0x7f03ac0792
+ldr :: offset: 0x67c, out: 0x7f03ac07
+ldr :: offset: 0x67d, out: 0x7f03ac
+ldr :: offset: 0x67e, out: 0x7f03
+ldr :: offset: 0x67f, out: 0x7f
+ldr :: offset: 0x680, out: 0x7e35ce6d56e670f5
+ldr :: offset: 0x681, out: 0x7e35ce6d56e670
+ldr :: offset: 0x682, out: 0x7e35ce6d56e6
+ldr :: offset: 0x683, out: 0x7e35ce6d56
+ldr :: offset: 0x684, out: 0x7e35ce6d
+ldr :: offset: 0x685, out: 0x7e35ce
+ldr :: offset: 0x686, out: 0x7e35
+ldr :: offset: 0x687, out: 0x7e
+ldr :: offset: 0x688, out: 0x152828591a652711
+ldr :: offset: 0x689, out: 0x152828591a6527
+ldr :: offset: 0x68a, out: 0x152828591a65
+ldr :: offset: 0x68b, out: 0x152828591a
+ldr :: offset: 0x68c, out: 0x15282859
+ldr :: offset: 0x68d, out: 0x152828
+ldr :: offset: 0x68e, out: 0x1528
+ldr :: offset: 0x68f, out: 0x15
+ldr :: offset: 0x690, out: 0x9e1c3283d215a9fb
+ldr :: offset: 0x691, out: 0x9e1c3283d215a9
+ldr :: offset: 0x692, out: 0x9e1c3283d215
+ldr :: offset: 0x693, out: 0x9e1c3283d2
+ldr :: offset: 0x694, out: 0x9e1c3283
+ldr :: offset: 0x695, out: 0x9e1c32
+ldr :: offset: 0x696, out: 0x9e1c
+ldr :: offset: 0x697, out: 0x9e
+ldr :: offset: 0x698, out: 0x8d95c049282a0417
+ldr :: offset: 0x699, out: 0x8d95c049282a04
+ldr :: offset: 0x69a, out: 0x8d95c049282a
+ldr :: offset: 0x69b, out: 0x8d95c04928
+ldr :: offset: 0x69c, out: 0x8d95c049
+ldr :: offset: 0x69d, out: 0x8d95c0
+ldr :: offset: 0x69e, out: 0x8d95
+ldr :: offset: 0x69f, out: 0x8d
+ldr :: offset: 0x6a0, out: 0xf2e7a490978058f3
+ldr :: offset: 0x6a1, out: 0xf2e7a490978058
+ldr :: offset: 0x6a2, out: 0xf2e7a4909780
+ldr :: offset: 0x6a3, out: 0xf2e7a49097
+ldr :: offset: 0x6a4, out: 0xf2e7a490
+ldr :: offset: 0x6a5, out: 0xf2e7a4
+ldr :: offset: 0x6a6, out: 0xf2e7
+ldr :: offset: 0x6a7, out: 0xf2
+ldr :: offset: 0x6a8, out: 0x775b4cca0975b1aa
+ldr :: offset: 0x6a9, out: 0x775b4cca0975b1
+ldr :: offset: 0x6aa, out: 0x775b4cca0975
+ldr :: offset: 0x6ab, out: 0x775b4cca09
+ldr :: offset: 0x6ac, out: 0x775b4cca
+ldr :: offset: 0x6ad, out: 0x775b4c
+ldr :: offset: 0x6ae, out: 0x775b
+ldr :: offset: 0x6af, out: 0x77
+ldr :: offset: 0x6b0, out: 0xa2b84a635111020
+ldr :: offset: 0x6b1, out: 0xa2b84a6351110
+ldr :: offset: 0x6b2, out: 0xa2b84a63511
+ldr :: offset: 0x6b3, out: 0xa2b84a635
+ldr :: offset: 0x6b4, out: 0xa2b84a6
+ldr :: offset: 0x6b5, out: 0xa2b84
+ldr :: offset: 0x6b6, out: 0xa2b
+ldr :: offset: 0x6b7, out: 0xa
+ldr :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f
+ldr :: offset: 0x6b9, out: 0x23fa0d3a7d88b
+ldr :: offset: 0x6ba, out: 0x23fa0d3a7d8
+ldr :: offset: 0x6bb, out: 0x23fa0d3a7
+ldr :: offset: 0x6bc, out: 0x23fa0d3
+ldr :: offset: 0x6bd, out: 0x23fa0
+ldr :: offset: 0x6be, out: 0x23f
+ldr :: offset: 0x6bf, out: 0x2
+ldr :: offset: 0x6c0, out: 0xa3d991b79941dedd
+ldr :: offset: 0x6c1, out: 0xa3d991b79941de
+ldr :: offset: 0x6c2, out: 0xa3d991b79941
+ldr :: offset: 0x6c3, out: 0xa3d991b799
+ldr :: offset: 0x6c4, out: 0xa3d991b7
+ldr :: offset: 0x6c5, out: 0xa3d991
+ldr :: offset: 0x6c6, out: 0xa3d9
+ldr :: offset: 0x6c7, out: 0xa3
+ldr :: offset: 0x6c8, out: 0x751cb4835a0d9508
+ldr :: offset: 0x6c9, out: 0x751cb4835a0d95
+ldr :: offset: 0x6ca, out: 0x751cb4835a0d
+ldr :: offset: 0x6cb, out: 0x751cb4835a
+ldr :: offset: 0x6cc, out: 0x751cb483
+ldr :: offset: 0x6cd, out: 0x751cb4
+ldr :: offset: 0x6ce, out: 0x751c
+ldr :: offset: 0x6cf, out: 0x75
+ldr :: offset: 0x6d0, out: 0x949cad35625bb2d3
+ldr :: offset: 0x6d1, out: 0x949cad35625bb2
+ldr :: offset: 0x6d2, out: 0x949cad35625b
+ldr :: offset: 0x6d3, out: 0x949cad3562
+ldr :: offset: 0x6d4, out: 0x949cad35
+ldr :: offset: 0x6d5, out: 0x949cad
+ldr :: offset: 0x6d6, out: 0x949c
+ldr :: offset: 0x6d7, out: 0x94
+ldr :: offset: 0x6d8, out: 0x7f567f35a6929739
+ldr :: offset: 0x6d9, out: 0x7f567f35a69297
+ldr :: offset: 0x6da, out: 0x7f567f35a692
+ldr :: offset: 0x6db, out: 0x7f567f35a6
+ldr :: offset: 0x6dc, out: 0x7f567f35
+ldr :: offset: 0x6dd, out: 0x7f567f
+ldr :: offset: 0x6de, out: 0x7f56
+ldr :: offset: 0x6df, out: 0x7f
+ldr :: offset: 0x6e0, out: 0x185b88e0db8d7d27
+ldr :: offset: 0x6e1, out: 0x185b88e0db8d7d
+ldr :: offset: 0x6e2, out: 0x185b88e0db8d
+ldr :: offset: 0x6e3, out: 0x185b88e0db
+ldr :: offset: 0x6e4, out: 0x185b88e0
+ldr :: offset: 0x6e5, out: 0x185b88
+ldr :: offset: 0x6e6, out: 0x185b
+ldr :: offset: 0x6e7, out: 0x18
+ldr :: offset: 0x6e8, out: 0x255a4cd22fd61b91
+ldr :: offset: 0x6e9, out: 0x255a4cd22fd61b
+ldr :: offset: 0x6ea, out: 0x255a4cd22fd6
+ldr :: offset: 0x6eb, out: 0x255a4cd22f
+ldr :: offset: 0x6ec, out: 0x255a4cd2
+ldr :: offset: 0x6ed, out: 0x255a4c
+ldr :: offset: 0x6ee, out: 0x255a
+ldr :: offset: 0x6ef, out: 0x25
+ldr :: offset: 0x6f0, out: 0x1048d589a4363f7b
+ldr :: offset: 0x6f1, out: 0x1048d589a4363f
+ldr :: offset: 0x6f2, out: 0x1048d589a436
+ldr :: offset: 0x6f3, out: 0x1048d589a4
+ldr :: offset: 0x6f4, out: 0x1048d589
+ldr :: offset: 0x6f5, out: 0x1048d5
+ldr :: offset: 0x6f6, out: 0x1048
+ldr :: offset: 0x6f7, out: 0x10
+ldr :: offset: 0x6f8, out: 0x6a6d5708f4605790
+ldr :: offset: 0x6f9, out: 0x6a6d5708f46057
+ldr :: offset: 0x6fa, out: 0x6a6d5708f460
+ldr :: offset: 0x6fb, out: 0x6a6d5708f4
+ldr :: offset: 0x6fc, out: 0x6a6d5708
+ldr :: offset: 0x6fd, out: 0x6a6d57
+ldr :: offset: 0x6fe, out: 0x6a6d
+ldr :: offset: 0x6ff, out: 0x6a
+ldr :: offset: 0x700, out: 0xd58ecbabde35697f
+ldr :: offset: 0x701, out: 0xd58ecbabde3569
+ldr :: offset: 0x702, out: 0xd58ecbabde35
+ldr :: offset: 0x703, out: 0xd58ecbabde
+ldr :: offset: 0x704, out: 0xd58ecbab
+ldr :: offset: 0x705, out: 0xd58ecb
+ldr :: offset: 0x706, out: 0xd58e
+ldr :: offset: 0x707, out: 0xd5
+ldr :: offset: 0x708, out: 0x575548fd08c0a5f1
+ldr :: offset: 0x709, out: 0x575548fd08c0a5
+ldr :: offset: 0x70a, out: 0x575548fd08c0
+ldr :: offset: 0x70b, out: 0x575548fd08
+ldr :: offset: 0x70c, out: 0x575548fd
+ldr :: offset: 0x70d, out: 0x575548
+ldr :: offset: 0x70e, out: 0x5755
+ldr :: offset: 0x70f, out: 0x57
+ldr :: offset: 0x710, out: 0x8bb640fb8ed98ddb
+ldr :: offset: 0x711, out: 0x8bb640fb8ed98d
+ldr :: offset: 0x712, out: 0x8bb640fb8ed9
+ldr :: offset: 0x713, out: 0x8bb640fb8e
+ldr :: offset: 0x714, out: 0x8bb640fb
+ldr :: offset: 0x715, out: 0x8bb640
+ldr :: offset: 0x716, out: 0x8bb6
+ldr :: offset: 0x717, out: 0x8b
+ldr :: offset: 0x718, out: 0xbe00d51eabc578cc
+ldr :: offset: 0x719, out: 0xbe00d51eabc578
+ldr :: offset: 0x71a, out: 0xbe00d51eabc5
+ldr :: offset: 0x71b, out: 0xbe00d51eab
+ldr :: offset: 0x71c, out: 0xbe00d51e
+ldr :: offset: 0x71d, out: 0xbe00d5
+ldr :: offset: 0x71e, out: 0xbe00
+ldr :: offset: 0x71f, out: 0xbe
+ldr :: offset: 0x720, out: 0x2f7e224a1c170ab2
+ldr :: offset: 0x721, out: 0x2f7e224a1c170a
+ldr :: offset: 0x722, out: 0x2f7e224a1c17
+ldr :: offset: 0x723, out: 0x2f7e224a1c
+ldr :: offset: 0x724, out: 0x2f7e224a
+ldr :: offset: 0x725, out: 0x2f7e22
+ldr :: offset: 0x726, out: 0x2f7e
+ldr :: offset: 0x727, out: 0x2f
+ldr :: offset: 0x728, out: 0xa978f12ca22256a7
+ldr :: offset: 0x729, out: 0xa978f12ca22256
+ldr :: offset: 0x72a, out: 0xa978f12ca222
+ldr :: offset: 0x72b, out: 0xa978f12ca2
+ldr :: offset: 0x72c, out: 0xa978f12c
+ldr :: offset: 0x72d, out: 0xa978f1
+ldr :: offset: 0x72e, out: 0xa978
+ldr :: offset: 0x72f, out: 0xa9
+ldr :: offset: 0x730, out: 0x9950a93b811ee02f
+ldr :: offset: 0x731, out: 0x9950a93b811ee0
+ldr :: offset: 0x732, out: 0x9950a93b811e
+ldr :: offset: 0x733, out: 0x9950a93b81
+ldr :: offset: 0x734, out: 0x9950a93b
+ldr :: offset: 0x735, out: 0x9950a9
+ldr :: offset: 0x736, out: 0x9950
+ldr :: offset: 0x737, out: 0x99
+ldr :: offset: 0x738, out: 0xb44eea93c6796a0c
+ldr :: offset: 0x739, out: 0xb44eea93c6796a
+ldr :: offset: 0x73a, out: 0xb44eea93c679
+ldr :: offset: 0x73b, out: 0xb44eea93c6
+ldr :: offset: 0x73c, out: 0xb44eea93
+ldr :: offset: 0x73d, out: 0xb44eea
+ldr :: offset: 0x73e, out: 0xb44e
+ldr :: offset: 0x73f, out: 0xb4
+ldr :: offset: 0x740, out: 0xfe71fca06c0eb657
+ldr :: offset: 0x741, out: 0xfe71fca06c0eb6
+ldr :: offset: 0x742, out: 0xfe71fca06c0e
+ldr :: offset: 0x743, out: 0xfe71fca06c
+ldr :: offset: 0x744, out: 0xfe71fca0
+ldr :: offset: 0x745, out: 0xfe71fc
+ldr :: offset: 0x746, out: 0xfe71
+ldr :: offset: 0x747, out: 0xfe
+ldr :: offset: 0x748, out: 0x4ed6393df818af57
+ldr :: offset: 0x749, out: 0x4ed6393df818af
+ldr :: offset: 0x74a, out: 0x4ed6393df818
+ldr :: offset: 0x74b, out: 0x4ed6393df8
+ldr :: offset: 0x74c, out: 0x4ed6393d
+ldr :: offset: 0x74d, out: 0x4ed639
+ldr :: offset: 0x74e, out: 0x4ed6
+ldr :: offset: 0x74f, out: 0x4e
+ldr :: offset: 0x750, out: 0xf22e90200236770a
+ldr :: offset: 0x751, out: 0xf22e9020023677
+ldr :: offset: 0x752, out: 0xf22e90200236
+ldr :: offset: 0x753, out: 0xf22e902002
+ldr :: offset: 0x754, out: 0xf22e9020
+ldr :: offset: 0x755, out: 0xf22e90
+ldr :: offset: 0x756, out: 0xf22e
+ldr :: offset: 0x757, out: 0xf2
+ldr :: offset: 0x758, out: 0x81efb6c7afd0c45d
+ldr :: offset: 0x759, out: 0x81efb6c7afd0c4
+ldr :: offset: 0x75a, out: 0x81efb6c7afd0
+ldr :: offset: 0x75b, out: 0x81efb6c7af
+ldr :: offset: 0x75c, out: 0x81efb6c7
+ldr :: offset: 0x75d, out: 0x81efb6
+ldr :: offset: 0x75e, out: 0x81ef
+ldr :: offset: 0x75f, out: 0x81
+ldr :: offset: 0x760, out: 0xeed8f3518102315b
+ldr :: offset: 0x761, out: 0xeed8f351810231
+ldr :: offset: 0x762, out: 0xeed8f3518102
+ldr :: offset: 0x763, out: 0xeed8f35181
+ldr :: offset: 0x764, out: 0xeed8f351
+ldr :: offset: 0x765, out: 0xeed8f3
+ldr :: offset: 0x766, out: 0xeed8
+ldr :: offset: 0x767, out: 0xee
+ldr :: offset: 0x768, out: 0xadafefb9995efd5e
+ldr :: offset: 0x769, out: 0xadafefb9995efd
+ldr :: offset: 0x76a, out: 0xadafefb9995e
+ldr :: offset: 0x76b, out: 0xadafefb999
+ldr :: offset: 0x76c, out: 0xadafefb9
+ldr :: offset: 0x76d, out: 0xadafef
+ldr :: offset: 0x76e, out: 0xadaf
+ldr :: offset: 0x76f, out: 0xad
+ldr :: offset: 0x770, out: 0x34061933eb253086
+ldr :: offset: 0x771, out: 0x34061933eb2530
+ldr :: offset: 0x772, out: 0x34061933eb25
+ldr :: offset: 0x773, out: 0x34061933eb
+ldr :: offset: 0x774, out: 0x34061933
+ldr :: offset: 0x775, out: 0x340619
+ldr :: offset: 0x776, out: 0x3406
+ldr :: offset: 0x777, out: 0x34
+ldr :: offset: 0x778, out: 0x1748da264b4c52bc
+ldr :: offset: 0x779, out: 0x1748da264b4c52
+ldr :: offset: 0x77a, out: 0x1748da264b4c
+ldr :: offset: 0x77b, out: 0x1748da264b
+ldr :: offset: 0x77c, out: 0x1748da26
+ldr :: offset: 0x77d, out: 0x1748da
+ldr :: offset: 0x77e, out: 0x1748
+ldr :: offset: 0x77f, out: 0x17
+ldr :: offset: 0x780, out: 0x34fdfc9a9302be89
+ldr :: offset: 0x781, out: 0x34fdfc9a9302be
+ldr :: offset: 0x782, out: 0x34fdfc9a9302
+ldr :: offset: 0x783, out: 0x34fdfc9a93
+ldr :: offset: 0x784, out: 0x34fdfc9a
+ldr :: offset: 0x785, out: 0x34fdfc
+ldr :: offset: 0x786, out: 0x34fd
+ldr :: offset: 0x787, out: 0x34
+ldr :: offset: 0x788, out: 0xd00278c3c521d180
+ldr :: offset: 0x789, out: 0xd00278c3c521d1
+ldr :: offset: 0x78a, out: 0xd00278c3c521
+ldr :: offset: 0x78b, out: 0xd00278c3c5
+ldr :: offset: 0x78c, out: 0xd00278c3
+ldr :: offset: 0x78d, out: 0xd00278
+ldr :: offset: 0x78e, out: 0xd002
+ldr :: offset: 0x78f, out: 0xd0
+ldr :: offset: 0x790, out: 0xe90944a4c1d37a5d
+ldr :: offset: 0x791, out: 0xe90944a4c1d37a
+ldr :: offset: 0x792, out: 0xe90944a4c1d3
+ldr :: offset: 0x793, out: 0xe90944a4c1
+ldr :: offset: 0x794, out: 0xe90944a4
+ldr :: offset: 0x795, out: 0xe90944
+ldr :: offset: 0x796, out: 0xe909
+ldr :: offset: 0x797, out: 0xe9
+ldr :: offset: 0x798, out: 0x65fd698fddef9839
+ldr :: offset: 0x799, out: 0x65fd698fddef98
+ldr :: offset: 0x79a, out: 0x65fd698fddef
+ldr :: offset: 0x79b, out: 0x65fd698fdd
+ldr :: offset: 0x79c, out: 0x65fd698f
+ldr :: offset: 0x79d, out: 0x65fd69
+ldr :: offset: 0x79e, out: 0x65fd
+ldr :: offset: 0x79f, out: 0x65
+ldr :: offset: 0x7a0, out: 0xc49ee3ad81b5af52
+ldr :: offset: 0x7a1, out: 0xc49ee3ad81b5af
+ldr :: offset: 0x7a2, out: 0xc49ee3ad81b5
+ldr :: offset: 0x7a3, out: 0xc49ee3ad81
+ldr :: offset: 0x7a4, out: 0xc49ee3ad
+ldr :: offset: 0x7a5, out: 0xc49ee3
+ldr :: offset: 0x7a6, out: 0xc49e
+ldr :: offset: 0x7a7, out: 0xc4
+ldr :: offset: 0x7a8, out: 0x7aa941e8bdb263e9
+ldr :: offset: 0x7a9, out: 0x7aa941e8bdb263
+ldr :: offset: 0x7aa, out: 0x7aa941e8bdb2
+ldr :: offset: 0x7ab, out: 0x7aa941e8bd
+ldr :: offset: 0x7ac, out: 0x7aa941e8
+ldr :: offset: 0x7ad, out: 0x7aa941
+ldr :: offset: 0x7ae, out: 0x7aa9
+ldr :: offset: 0x7af, out: 0x7a
+ldr :: offset: 0x7b0, out: 0x372c209e42f3b58d
+ldr :: offset: 0x7b1, out: 0x372c209e42f3b5
+ldr :: offset: 0x7b2, out: 0x372c209e42f3
+ldr :: offset: 0x7b3, out: 0x372c209e42
+ldr :: offset: 0x7b4, out: 0x372c209e
+ldr :: offset: 0x7b5, out: 0x372c20
+ldr :: offset: 0x7b6, out: 0x372c
+ldr :: offset: 0x7b7, out: 0x37
+ldr :: offset: 0x7b8, out: 0x30f870b7e122a83b
+ldr :: offset: 0x7b9, out: 0x30f870b7e122a8
+ldr :: offset: 0x7ba, out: 0x30f870b7e122
+ldr :: offset: 0x7bb, out: 0x30f870b7e1
+ldr :: offset: 0x7bc, out: 0x30f870b7
+ldr :: offset: 0x7bd, out: 0x30f870
+ldr :: offset: 0x7be, out: 0x30f8
+ldr :: offset: 0x7bf, out: 0x30
+ldr :: offset: 0x7c0, out: 0x9e02de4b678930ec
+ldr :: offset: 0x7c1, out: 0x9e02de4b678930
+ldr :: offset: 0x7c2, out: 0x9e02de4b6789
+ldr :: offset: 0x7c3, out: 0x9e02de4b67
+ldr :: offset: 0x7c4, out: 0x9e02de4b
+ldr :: offset: 0x7c5, out: 0x9e02de
+ldr :: offset: 0x7c6, out: 0x9e02
+ldr :: offset: 0x7c7, out: 0x9e
+ldr :: offset: 0x7c8, out: 0xcd61a8639826631e
+ldr :: offset: 0x7c9, out: 0xcd61a863982663
+ldr :: offset: 0x7ca, out: 0xcd61a8639826
+ldr :: offset: 0x7cb, out: 0xcd61a86398
+ldr :: offset: 0x7cc, out: 0xcd61a863
+ldr :: offset: 0x7cd, out: 0xcd61a8
+ldr :: offset: 0x7ce, out: 0xcd61
+ldr :: offset: 0x7cf, out: 0xcd
+ldr :: offset: 0x7d0, out: 0xae87bc899a7bd3ca
+ldr :: offset: 0x7d1, out: 0xae87bc899a7bd3
+ldr :: offset: 0x7d2, out: 0xae87bc899a7b
+ldr :: offset: 0x7d3, out: 0xae87bc899a
+ldr :: offset: 0x7d4, out: 0xae87bc89
+ldr :: offset: 0x7d5, out: 0xae87bc
+ldr :: offset: 0x7d6, out: 0xae87
+ldr :: offset: 0x7d7, out: 0xae
+ldr :: offset: 0x7d8, out: 0x58ec644d6481af17
+ldr :: offset: 0x7d9, out: 0x58ec644d6481af
+ldr :: offset: 0x7da, out: 0x58ec644d6481
+ldr :: offset: 0x7db, out: 0x58ec644d64
+ldr :: offset: 0x7dc, out: 0x58ec644d
+ldr :: offset: 0x7dd, out: 0x58ec64
+ldr :: offset: 0x7de, out: 0x58ec
+ldr :: offset: 0x7df, out: 0x58
+ldr :: offset: 0x7e0, out: 0x680cce5fb236b666
+ldr :: offset: 0x7e1, out: 0x680cce5fb236b6
+ldr :: offset: 0x7e2, out: 0x680cce5fb236
+ldr :: offset: 0x7e3, out: 0x680cce5fb2
+ldr :: offset: 0x7e4, out: 0x680cce5f
+ldr :: offset: 0x7e5, out: 0x680cce
+ldr :: offset: 0x7e6, out: 0x680c
+ldr :: offset: 0x7e7, out: 0x68
+ldr :: offset: 0x7e8, out: 0x3baa99471f6d4d75
+ldr :: offset: 0x7e9, out: 0x3baa99471f6d4d
+ldr :: offset: 0x7ea, out: 0x3baa99471f6d
+ldr :: offset: 0x7eb, out: 0x3baa99471f
+ldr :: offset: 0x7ec, out: 0x3baa9947
+ldr :: offset: 0x7ed, out: 0x3baa99
+ldr :: offset: 0x7ee, out: 0x3baa
+ldr :: offset: 0x7ef, out: 0x3b
+ldr :: offset: 0x7f0, out: 0x614d9b445f12236b
+ldr :: offset: 0x7f1, out: 0x614d9b445f1223
+ldr :: offset: 0x7f2, out: 0x614d9b445f12
+ldr :: offset: 0x7f3, out: 0x614d9b445f
+ldr :: offset: 0x7f4, out: 0x614d9b44
+ldr :: offset: 0x7f5, out: 0x614d9b
+ldr :: offset: 0x7f6, out: 0x614d
+ldr :: offset: 0x7f7, out: 0x61
+ldr :: offset: 0x7f8, out: 0xa2a6ec661ba84121
+ldr :: offset: 0x7f9, out: 0xa2a6ec661ba841
+ldr :: offset: 0x7fa, out: 0xa2a6ec661ba8
+ldr :: offset: 0x7fb, out: 0xa2a6ec661b
+ldr :: offset: 0x7fc, out: 0xa2a6ec66
+ldr :: offset: 0x7fd, out: 0xa2a6ec
+ldr :: offset: 0x7fe, out: 0xa2a6
+ldr :: offset: 0x7ff, out: 0xa2
+lh :: offset: 0x0, out: 0x0
+lh :: offset: 0x2, out: 0x0
+lh :: offset: 0x4, out: 0x0
+lh :: offset: 0x6, out: 0x0
+lh :: offset: 0x8, out: 0x3b6e
+lh :: offset: 0xa, out: 0x982
+lh :: offset: 0xc, out: 0x26d9
+lh :: offset: 0xe, out: 0xd43
+lh :: offset: 0x10, out: 0x76dc
+lh :: offset: 0x12, out: 0x1304
+lh :: offset: 0x14, out: 0x6b6b
+lh :: offset: 0x16, out: 0x17c5
+lh :: offset: 0x18, out: 0x4db2
+lh :: offset: 0x1a, out: 0x1a86
+lh :: offset: 0x1c, out: 0x5005
+lh :: offset: 0x1e, out: 0x1e47
+lh :: offset: 0x20, out: 0xffffffffffffedb8
+lh :: offset: 0x22, out: 0x2608
+lh :: offset: 0x24, out: 0xfffffffffffff00f
+lh :: offset: 0x26, out: 0x22c9
+lh :: offset: 0x28, out: 0xffffffffffffd6d6
+lh :: offset: 0x2a, out: 0x2f8a
+lh :: offset: 0x2c, out: 0xffffffffffffcb61
+lh :: offset: 0x2e, out: 0x2b4b
+lh :: offset: 0x30, out: 0xffffffffffff9b64
+lh :: offset: 0x32, out: 0x350c
+lh :: offset: 0x34, out: 0xffffffffffff86d3
+lh :: offset: 0x36, out: 0x31cd
+lh :: offset: 0x38, out: 0xffffffffffffa00a
+lh :: offset: 0x3a, out: 0x3c8e
+lh :: offset: 0x3c, out: 0xffffffffffffbdbd
+lh :: offset: 0x3e, out: 0x384f
+lh :: offset: 0x40, out: 0xffffffffffffdb70
+lh :: offset: 0x42, out: 0x4c11
+lh :: offset: 0x44, out: 0xffffffffffffc6c7
+lh :: offset: 0x46, out: 0x48d0
+lh :: offset: 0x48, out: 0xffffffffffffe01e
+lh :: offset: 0x4a, out: 0x4593
+lh :: offset: 0x4c, out: 0xfffffffffffffda9
+lh :: offset: 0x4e, out: 0x4152
+lh :: offset: 0x50, out: 0xffffffffffffadac
+lh :: offset: 0x52, out: 0x5f15
+lh :: offset: 0x54, out: 0xffffffffffffb01b
+lh :: offset: 0x56, out: 0x5bd4
+lh :: offset: 0x58, out: 0xffffffffffff96c2
+lh :: offset: 0x5a, out: 0x5697
+lh :: offset: 0x5c, out: 0xffffffffffff8b75
+lh :: offset: 0x5e, out: 0x5256
+lh :: offset: 0x60, out: 0x36c8
+lh :: offset: 0x62, out: 0x6a19
+lh :: offset: 0x64, out: 0x2b7f
+lh :: offset: 0x66, out: 0x6ed8
+lh :: offset: 0x68, out: 0xda6
+lh :: offset: 0x6a, out: 0x639b
+lh :: offset: 0x6c, out: 0x1011
+lh :: offset: 0x6e, out: 0x675a
+lh :: offset: 0x70, out: 0x4014
+lh :: offset: 0x72, out: 0x791d
+lh :: offset: 0x74, out: 0x5da3
+lh :: offset: 0x76, out: 0x7ddc
+lh :: offset: 0x78, out: 0x7b7a
+lh :: offset: 0x7a, out: 0x709f
+lh :: offset: 0x7c, out: 0x66cd
+lh :: offset: 0x7e, out: 0x745e
+lh :: offset: 0x80, out: 0xffffffffffffb6e0
+lh :: offset: 0x82, out: 0xffffffffffff9823
+lh :: offset: 0x84, out: 0xffffffffffffab57
+lh :: offset: 0x86, out: 0xffffffffffff9ce2
+lh :: offset: 0x88, out: 0xffffffffffff8d8e
+lh :: offset: 0x8a, out: 0xffffffffffff91a1
+lh :: offset: 0x8c, out: 0xffffffffffff9039
+lh :: offset: 0x8e, out: 0xffffffffffff9560
+lh :: offset: 0x90, out: 0xffffffffffffc03c
+lh :: offset: 0x92, out: 0xffffffffffff8b27
+lh :: offset: 0x94, out: 0xffffffffffffdd8b
+lh :: offset: 0x96, out: 0xffffffffffff8fe6
+lh :: offset: 0x98, out: 0xfffffffffffffb52
+lh :: offset: 0x9a, out: 0xffffffffffff82a5
+lh :: offset: 0x9c, out: 0xffffffffffffe6e5
+lh :: offset: 0x9e, out: 0xffffffffffff8664
+lh :: offset: 0xa0, out: 0x5b58
+lh :: offset: 0xa2, out: 0xffffffffffffbe2b
+lh :: offset: 0xa4, out: 0x46ef
+lh :: offset: 0xa6, out: 0xffffffffffffbaea
+lh :: offset: 0xa8, out: 0x6036
+lh :: offset: 0xaa, out: 0xffffffffffffb7a9
+lh :: offset: 0xac, out: 0x7d81
+lh :: offset: 0xae, out: 0xffffffffffffb368
+lh :: offset: 0xb0, out: 0x2d84
+lh :: offset: 0xb2, out: 0xffffffffffffad2f
+lh :: offset: 0xb4, out: 0x3033
+lh :: offset: 0xb6, out: 0xffffffffffffa9ee
+lh :: offset: 0xb8, out: 0x16ea
+lh :: offset: 0xba, out: 0xffffffffffffa4ad
+lh :: offset: 0xbc, out: 0xb5d
+lh :: offset: 0xbe, out: 0xffffffffffffa06c
+lh :: offset: 0xc0, out: 0x6d90
+lh :: offset: 0xc2, out: 0xffffffffffffd432
+lh :: offset: 0xc4, out: 0x7027
+lh :: offset: 0xc6, out: 0xffffffffffffd0f3
+lh :: offset: 0xc8, out: 0x56fe
+lh :: offset: 0xca, out: 0xffffffffffffddb0
+lh :: offset: 0xcc, out: 0x4b49
+lh :: offset: 0xce, out: 0xffffffffffffd971
+lh :: offset: 0xd0, out: 0x1b4c
+lh :: offset: 0xd2, out: 0xffffffffffffc736
+lh :: offset: 0xd4, out: 0x6fb
+lh :: offset: 0xd6, out: 0xffffffffffffc3f7
+lh :: offset: 0xd8, out: 0x2022
+lh :: offset: 0xda, out: 0xffffffffffffceb4
+lh :: offset: 0xdc, out: 0x3d95
+lh :: offset: 0xde, out: 0xffffffffffffca75
+lh :: offset: 0xe0, out: 0xffffffffffff8028
+lh :: offset: 0xe2, out: 0xfffffffffffff23a
+lh :: offset: 0xe4, out: 0xffffffffffff9d9f
+lh :: offset: 0xe6, out: 0xfffffffffffff6fb
+lh :: offset: 0xe8, out: 0xffffffffffffbb46
+lh :: offset: 0xea, out: 0xfffffffffffffbb8
+lh :: offset: 0xec, out: 0xffffffffffffa6f1
+lh :: offset: 0xee, out: 0xffffffffffffff79
+lh :: offset: 0xf0, out: 0xfffffffffffff6f4
+lh :: offset: 0xf2, out: 0xffffffffffffe13e
+lh :: offset: 0xf4, out: 0xffffffffffffeb43
+lh :: offset: 0xf6, out: 0xffffffffffffe5ff
+lh :: offset: 0xf8, out: 0xffffffffffffcd9a
+lh :: offset: 0xfa, out: 0xffffffffffffe8bc
+lh :: offset: 0xfc, out: 0xffffffffffffd02d
+lh :: offset: 0xfe, out: 0xffffffffffffec7d
+lh :: offset: 0x100, out: 0x7077
+lh :: offset: 0x102, out: 0x3486
+lh :: offset: 0x104, out: 0x6dc0
+lh :: offset: 0x106, out: 0x3047
+lh :: offset: 0x108, out: 0x4b19
+lh :: offset: 0x10a, out: 0x3d04
+lh :: offset: 0x10c, out: 0x56ae
+lh :: offset: 0x10e, out: 0x39c5
+lh :: offset: 0x110, out: 0x6ab
+lh :: offset: 0x112, out: 0x2782
+lh :: offset: 0x114, out: 0x1b1c
+lh :: offset: 0x116, out: 0x2343
+lh :: offset: 0x118, out: 0x3dc5
+lh :: offset: 0x11a, out: 0x2e00
+lh :: offset: 0x11c, out: 0x2072
+lh :: offset: 0x11e, out: 0x2ac1
+lh :: offset: 0x120, out: 0xffffffffffff9dcf
+lh :: offset: 0x122, out: 0x128e
+lh :: offset: 0x124, out: 0xffffffffffff8078
+lh :: offset: 0x126, out: 0x164f
+lh :: offset: 0x128, out: 0xffffffffffffa6a1
+lh :: offset: 0x12a, out: 0x1b0c
+lh :: offset: 0x12c, out: 0xffffffffffffbb16
+lh :: offset: 0x12e, out: 0x1fcd
+lh :: offset: 0x130, out: 0xffffffffffffeb13
+lh :: offset: 0x132, out: 0x18a
+lh :: offset: 0x134, out: 0xfffffffffffff6a4
+lh :: offset: 0x136, out: 0x54b
+lh :: offset: 0x138, out: 0xffffffffffffd07d
+lh :: offset: 0x13a, out: 0x808
+lh :: offset: 0x13c, out: 0xffffffffffffcdca
+lh :: offset: 0x13e, out: 0xcc9
+lh :: offset: 0x140, out: 0xffffffffffffab07
+lh :: offset: 0x142, out: 0x7897
+lh :: offset: 0x144, out: 0xffffffffffffb6b0
+lh :: offset: 0x146, out: 0x7c56
+lh :: offset: 0x148, out: 0xffffffffffff9069
+lh :: offset: 0x14a, out: 0x7115
+lh :: offset: 0x14c, out: 0xffffffffffff8dde
+lh :: offset: 0x14e, out: 0x75d4
+lh :: offset: 0x150, out: 0xffffffffffffdddb
+lh :: offset: 0x152, out: 0x6b93
+lh :: offset: 0x154, out: 0xffffffffffffc06c
+lh :: offset: 0x156, out: 0x6f52
+lh :: offset: 0x158, out: 0xffffffffffffe6b5
+lh :: offset: 0x15a, out: 0x6211
+lh :: offset: 0x15c, out: 0xfffffffffffffb02
+lh :: offset: 0x15e, out: 0x66d0
+lh :: offset: 0x160, out: 0x46bf
+lh :: offset: 0x162, out: 0x5e9f
+lh :: offset: 0x164, out: 0x5b08
+lh :: offset: 0x166, out: 0x5a5e
+lh :: offset: 0x168, out: 0x7dd1
+lh :: offset: 0x16a, out: 0x571d
+lh :: offset: 0x16c, out: 0x6066
+lh :: offset: 0x16e, out: 0x53dc
+lh :: offset: 0x170, out: 0x3063
+lh :: offset: 0x172, out: 0x4d9b
+lh :: offset: 0x174, out: 0x2dd4
+lh :: offset: 0x176, out: 0x495a
+lh :: offset: 0x178, out: 0xb0d
+lh :: offset: 0x17a, out: 0x4419
+lh :: offset: 0x17c, out: 0x16ba
+lh :: offset: 0x17e, out: 0x40d8
+lh :: offset: 0x180, out: 0xffffffffffffc697
+lh :: offset: 0x182, out: 0xffffffffffffaca5
+lh :: offset: 0x184, out: 0xffffffffffffdb20
+lh :: offset: 0x186, out: 0xffffffffffffa864
+lh :: offset: 0x188, out: 0xfffffffffffffdf9
+lh :: offset: 0x18a, out: 0xffffffffffffa527
+lh :: offset: 0x18c, out: 0xffffffffffffe04e
+lh :: offset: 0x18e, out: 0xffffffffffffa1e6
+lh :: offset: 0x190, out: 0xffffffffffffb04b
+lh :: offset: 0x192, out: 0xffffffffffffbfa1
+lh :: offset: 0x194, out: 0xffffffffffffadfc
+lh :: offset: 0x196, out: 0xffffffffffffbb60
+lh :: offset: 0x198, out: 0xffffffffffff8b25
+lh :: offset: 0x19a, out: 0xffffffffffffb623
+lh :: offset: 0x19c, out: 0xffffffffffff9692
+lh :: offset: 0x19e, out: 0xffffffffffffb2e2
+lh :: offset: 0x1a0, out: 0x2b2f
+lh :: offset: 0x1a2, out: 0xffffffffffff8aad
+lh :: offset: 0x1a4, out: 0x0
+lh :: offset: 0x1a6, out: 0x0
+lh :: offset: 0x1a8, out: 0x0
+lh :: offset: 0x1aa, out: 0x0
+lh :: offset: 0x1ac, out: 0xdf6
+lh :: offset: 0x1ae, out: 0xffffffffffff87ee
+lh :: offset: 0x1b0, out: 0x5df3
+lh :: offset: 0x1b2, out: 0xffffffffffff99a9
+lh :: offset: 0x1b4, out: 0x4044
+lh :: offset: 0x1b6, out: 0xffffffffffff9d68
+lh :: offset: 0x1b8, out: 0x669d
+lh :: offset: 0x1ba, out: 0xffffffffffff902b
+lh :: offset: 0x1bc, out: 0x7b2a
+lh :: offset: 0x1be, out: 0xffffffffffff94ea
+lh :: offset: 0x1c0, out: 0x1de7
+lh :: offset: 0x1c2, out: 0xffffffffffffe0b4
+lh :: offset: 0x1c4, out: 0x50
+lh :: offset: 0x1c6, out: 0xffffffffffffe475
+lh :: offset: 0x1c8, out: 0x2689
+lh :: offset: 0x1ca, out: 0xffffffffffffe936
+lh :: offset: 0x1cc, out: 0x3b3e
+lh :: offset: 0x1ce, out: 0xffffffffffffedf7
+lh :: offset: 0x1d0, out: 0x6b3b
+lh :: offset: 0x1d2, out: 0xfffffffffffff3b0
+lh :: offset: 0x1d4, out: 0x768c
+lh :: offset: 0x1d6, out: 0xfffffffffffff771
+lh :: offset: 0x1d8, out: 0x5055
+lh :: offset: 0x1da, out: 0xfffffffffffffa32
+lh :: offset: 0x1dc, out: 0x4de2
+lh :: offset: 0x1de, out: 0xfffffffffffffef3
+lh :: offset: 0x1e0, out: 0xfffffffffffff05f
+lh :: offset: 0x1e2, out: 0xffffffffffffc6bc
+lh :: offset: 0x1e4, out: 0xffffffffffffede8
+lh :: offset: 0x1e6, out: 0xffffffffffffc27d
+lh :: offset: 0x1e8, out: 0xffffffffffffcb31
+lh :: offset: 0x1ea, out: 0xffffffffffffcf3e
+lh :: offset: 0x1ec, out: 0xffffffffffffd686
+lh :: offset: 0x1ee, out: 0xffffffffffffcbff
+lh :: offset: 0x1f0, out: 0xffffffffffff8683
+lh :: offset: 0x1f2, out: 0xffffffffffffd5b8
+lh :: offset: 0x1f4, out: 0xffffffffffff9b34
+lh :: offset: 0x1f6, out: 0xffffffffffffd179
+lh :: offset: 0x1f8, out: 0xffffffffffffbded
+lh :: offset: 0x1fa, out: 0xffffffffffffdc3a
+lh :: offset: 0x1fc, out: 0xffffffffffffa05a
+lh :: offset: 0x1fe, out: 0xffffffffffffd8fb
+lh :: offset: 0x200, out: 0xffffffffffffe0ee
+lh :: offset: 0x202, out: 0x690c
+lh :: offset: 0x204, out: 0xfffffffffffffd59
+lh :: offset: 0x206, out: 0x6dcd
+lh :: offset: 0x208, out: 0xffffffffffffdb80
+lh :: offset: 0x20a, out: 0x608e
+lh :: offset: 0x20c, out: 0xffffffffffffc637
+lh :: offset: 0x20e, out: 0x644f
+lh :: offset: 0x210, out: 0xffffffffffff9632
+lh :: offset: 0x212, out: 0x7a08
+lh :: offset: 0x214, out: 0xffffffffffff8b85
+lh :: offset: 0x216, out: 0x7ec9
+lh :: offset: 0x218, out: 0xffffffffffffad5c
+lh :: offset: 0x21a, out: 0x738a
+lh :: offset: 0x21c, out: 0xffffffffffffb0eb
+lh :: offset: 0x21e, out: 0x774b
+lh :: offset: 0x220, out: 0xd56
+lh :: offset: 0x222, out: 0x4f04
+lh :: offset: 0x224, out: 0x10e1
+lh :: offset: 0x226, out: 0x4bc5
+lh :: offset: 0x228, out: 0x3638
+lh :: offset: 0x22a, out: 0x4686
+lh :: offset: 0x22c, out: 0x2b8f
+lh :: offset: 0x22e, out: 0x4247
+lh :: offset: 0x230, out: 0x7b8a
+lh :: offset: 0x232, out: 0x5c00
+lh :: offset: 0x234, out: 0x663d
+lh :: offset: 0x236, out: 0x58c1
+lh :: offset: 0x238, out: 0x40e4
+lh :: offset: 0x23a, out: 0x5582
+lh :: offset: 0x23c, out: 0x5d53
+lh :: offset: 0x23e, out: 0x5143
+lh :: offset: 0x240, out: 0x3b9e
+lh :: offset: 0x242, out: 0x251d
+lh :: offset: 0x244, out: 0x2629
+lh :: offset: 0x246, out: 0x21dc
+lh :: offset: 0x248, out: 0xf0
+lh :: offset: 0x24a, out: 0x2c9f
+lh :: offset: 0x24c, out: 0x1d47
+lh :: offset: 0x24e, out: 0x285e
+lh :: offset: 0x250, out: 0x4d42
+lh :: offset: 0x252, out: 0x3619
+lh :: offset: 0x254, out: 0x50f5
+lh :: offset: 0x256, out: 0x32d8
+lh :: offset: 0x258, out: 0x762c
+lh :: offset: 0x25a, out: 0x3f9b
+lh :: offset: 0x25c, out: 0x6b9b
+lh :: offset: 0x25e, out: 0x3b5a
+lh :: offset: 0x260, out: 0xffffffffffffd626
+lh :: offset: 0x262, out: 0x315
+lh :: offset: 0x264, out: 0xffffffffffffcb91
+lh :: offset: 0x266, out: 0x7d4
+lh :: offset: 0x268, out: 0xffffffffffffed48
+lh :: offset: 0x26a, out: 0xa97
+lh :: offset: 0x26c, out: 0xfffffffffffff0ff
+lh :: offset: 0x26e, out: 0xe56
+lh :: offset: 0x270, out: 0xffffffffffffa0fa
+lh :: offset: 0x272, out: 0x1011
+lh :: offset: 0x274, out: 0xffffffffffffbd4d
+lh :: offset: 0x276, out: 0x14d0
+lh :: offset: 0x278, out: 0xffffffffffff9b94
+lh :: offset: 0x27a, out: 0x1993
+lh :: offset: 0x27c, out: 0xffffffffffff8623
+lh :: offset: 0x27e, out: 0x1d52
+lh :: offset: 0x280, out: 0x560e
+lh :: offset: 0x282, out: 0xfffffffffffff12f
+lh :: offset: 0x284, out: 0x4bb9
+lh :: offset: 0x286, out: 0xfffffffffffff5ee
+lh :: offset: 0x288, out: 0x6d60
+lh :: offset: 0x28a, out: 0xfffffffffffff8ad
+lh :: offset: 0x28c, out: 0x70d7
+lh :: offset: 0x28e, out: 0xfffffffffffffc6c
+lh :: offset: 0x290, out: 0x20d2
+lh :: offset: 0x292, out: 0xffffffffffffe22b
+lh :: offset: 0x294, out: 0x3d65
+lh :: offset: 0x296, out: 0xffffffffffffe6ea
+lh :: offset: 0x298, out: 0x1bbc
+lh :: offset: 0x29a, out: 0xffffffffffffeba9
+lh :: offset: 0x29c, out: 0x60b
+lh :: offset: 0x29e, out: 0xffffffffffffef68
+lh :: offset: 0x2a0, out: 0xffffffffffffbbb6
+lh :: offset: 0x2a2, out: 0xffffffffffffd727
+lh :: offset: 0x2a4, out: 0xffffffffffffa601
+lh :: offset: 0x2a6, out: 0xffffffffffffd3e6
+lh :: offset: 0x2a8, out: 0xffffffffffff80d8
+lh :: offset: 0x2aa, out: 0xffffffffffffdea5
+lh :: offset: 0x2ac, out: 0xffffffffffff9d6f
+lh :: offset: 0x2ae, out: 0xffffffffffffda64
+lh :: offset: 0x2b0, out: 0xffffffffffffcd6a
+lh :: offset: 0x2b2, out: 0xffffffffffffc423
+lh :: offset: 0x2b4, out: 0x0
+lh :: offset: 0x2b6, out: 0x0
+lh :: offset: 0x2b8, out: 0xfffffffffffff604
+lh :: offset: 0x2ba, out: 0xffffffffffffcda1
+lh :: offset: 0x2bc, out: 0x0
+lh :: offset: 0x2be, out: 0x0
+lh :: offset: 0x2c0, out: 0xffffffffffff8d7e
+lh :: offset: 0x2c2, out: 0xffffffffffffbd3e
+lh :: offset: 0x2c4, out: 0xffffffffffff90c9
+lh :: offset: 0x2c6, out: 0xffffffffffffb9ff
+lh :: offset: 0x2c8, out: 0xffffffffffffb610
+lh :: offset: 0x2ca, out: 0xffffffffffffb4bc
+lh :: offset: 0x2cc, out: 0xffffffffffffaba7
+lh :: offset: 0x2ce, out: 0xffffffffffffb07d
+lh :: offset: 0x2d0, out: 0xfffffffffffffba2
+lh :: offset: 0x2d2, out: 0xffffffffffffae3a
+lh :: offset: 0x2d4, out: 0xffffffffffffe615
+lh :: offset: 0x2d6, out: 0xffffffffffffaafb
+lh :: offset: 0x2d8, out: 0xffffffffffffc0cc
+lh :: offset: 0x2da, out: 0xffffffffffffa7b8
+lh :: offset: 0x2dc, out: 0xffffffffffffdd7b
+lh :: offset: 0x2de, out: 0xffffffffffffa379
+lh :: offset: 0x2e0, out: 0x60c6
+lh :: offset: 0x2e2, out: 0xffffffffffff9b36
+lh :: offset: 0x2e4, out: 0x7d71
+lh :: offset: 0x2e6, out: 0xffffffffffff9ff7
+lh :: offset: 0x2e8, out: 0x5ba8
+lh :: offset: 0x2ea, out: 0xffffffffffff92b4
+lh :: offset: 0x2ec, out: 0x461f
+lh :: offset: 0x2ee, out: 0xffffffffffff9675
+lh :: offset: 0x2f0, out: 0x161a
+lh :: offset: 0x2f2, out: 0xffffffffffff8832
+lh :: offset: 0x2f4, out: 0xbad
+lh :: offset: 0x2f6, out: 0xffffffffffff8cf3
+lh :: offset: 0x2f8, out: 0x2d74
+lh :: offset: 0x2fa, out: 0xffffffffffff81b0
+lh :: offset: 0x2fc, out: 0x30c3
+lh :: offset: 0x2fe, out: 0xffffffffffff8571
+lh :: offset: 0x300, out: 0xffffffffffff9099
+lh :: offset: 0x302, out: 0x5d8a
+lh :: offset: 0x304, out: 0xffffffffffff8d2e
+lh :: offset: 0x306, out: 0x594b
+lh :: offset: 0x308, out: 0xffffffffffffabf7
+lh :: offset: 0x30a, out: 0x5408
+lh :: offset: 0x30c, out: 0xffffffffffffb640
+lh :: offset: 0x30e, out: 0x50c9
+lh :: offset: 0x310, out: 0xffffffffffffe645
+lh :: offset: 0x312, out: 0x4e8e
+lh :: offset: 0x314, out: 0xfffffffffffffbf2
+lh :: offset: 0x316, out: 0x4a4f
+lh :: offset: 0x318, out: 0xffffffffffffdd2b
+lh :: offset: 0x31a, out: 0x470c
+lh :: offset: 0x31c, out: 0xffffffffffffc09c
+lh :: offset: 0x31e, out: 0x43cd
+lh :: offset: 0x320, out: 0x7d21
+lh :: offset: 0x322, out: 0x7b82
+lh :: offset: 0x324, out: 0x6096
+lh :: offset: 0x326, out: 0x7f43
+lh :: offset: 0x328, out: 0x464f
+lh :: offset: 0x32a, out: 0x7200
+lh :: offset: 0x32c, out: 0x5bf8
+lh :: offset: 0x32e, out: 0x76c1
+lh :: offset: 0x330, out: 0xbfd
+lh :: offset: 0x332, out: 0x6886
+lh :: offset: 0x334, out: 0x164a
+lh :: offset: 0x336, out: 0x6c47
+lh :: offset: 0x338, out: 0x3093
+lh :: offset: 0x33a, out: 0x6104
+lh :: offset: 0x33c, out: 0x2d24
+lh :: offset: 0x33e, out: 0x65c5
+lh :: offset: 0x340, out: 0x4be9
+lh :: offset: 0x342, out: 0x119b
+lh :: offset: 0x344, out: 0x565e
+lh :: offset: 0x346, out: 0x155a
+lh :: offset: 0x348, out: 0x7087
+lh :: offset: 0x34a, out: 0x1819
+lh :: offset: 0x34c, out: 0x6d30
+lh :: offset: 0x34e, out: 0x1cd8
+lh :: offset: 0x350, out: 0x3d35
+lh :: offset: 0x352, out: 0x29f
+lh :: offset: 0x354, out: 0x2082
+lh :: offset: 0x356, out: 0x65e
+lh :: offset: 0x358, out: 0x65b
+lh :: offset: 0x35a, out: 0xb1d
+lh :: offset: 0x35c, out: 0x1bec
+lh :: offset: 0x35e, out: 0xfdc
+lh :: offset: 0x360, out: 0xffffffffffffa651
+lh :: offset: 0x362, out: 0x3793
+lh :: offset: 0x364, out: 0xffffffffffffbbe6
+lh :: offset: 0x366, out: 0x3352
+lh :: offset: 0x368, out: 0xffffffffffff9d3f
+lh :: offset: 0x36a, out: 0x3e11
+lh :: offset: 0x36c, out: 0xffffffffffff8088
+lh :: offset: 0x36e, out: 0x3ad0
+lh :: offset: 0x370, out: 0xffffffffffffd08d
+lh :: offset: 0x372, out: 0x2497
+lh :: offset: 0x374, out: 0xffffffffffffcd3a
+lh :: offset: 0x376, out: 0x2056
+lh :: offset: 0x378, out: 0xffffffffffffebe3
+lh :: offset: 0x37a, out: 0x2d15
+lh :: offset: 0x37c, out: 0xfffffffffffff654
+lh :: offset: 0x37e, out: 0x29d4
+lh :: offset: 0x380, out: 0x2679
+lh :: offset: 0x382, out: 0xffffffffffffc5a9
+lh :: offset: 0x384, out: 0x3bce
+lh :: offset: 0x386, out: 0xffffffffffffc168
+lh :: offset: 0x388, out: 0x1d17
+lh :: offset: 0x38a, out: 0xffffffffffffcc2b
+lh :: offset: 0x38c, out: 0xa0
+lh :: offset: 0x38e, out: 0xffffffffffffc8ea
+lh :: offset: 0x390, out: 0x50a5
+lh :: offset: 0x392, out: 0xffffffffffffd6ad
+lh :: offset: 0x394, out: 0x4d12
+lh :: offset: 0x396, out: 0xffffffffffffd26c
+lh :: offset: 0x398, out: 0x6bcb
+lh :: offset: 0x39a, out: 0xffffffffffffdf2f
+lh :: offset: 0x39c, out: 0x767c
+lh :: offset: 0x39e, out: 0xffffffffffffdbee
+lh :: offset: 0x3a0, out: 0xffffffffffffcbc1
+lh :: offset: 0x3a2, out: 0xffffffffffffe3a1
+lh :: offset: 0x3a4, out: 0xffffffffffffd676
+lh :: offset: 0x3a6, out: 0xffffffffffffe760
+lh :: offset: 0x3a8, out: 0xfffffffffffff0af
+lh :: offset: 0x3aa, out: 0xffffffffffffea23
+lh :: offset: 0x3ac, out: 0xffffffffffffed18
+lh :: offset: 0x3ae, out: 0xffffffffffffeee2
+lh :: offset: 0x3b0, out: 0xffffffffffffbd1d
+lh :: offset: 0x3b2, out: 0xfffffffffffff0a5
+lh :: offset: 0x3b4, out: 0xffffffffffffa0aa
+lh :: offset: 0x3b6, out: 0xfffffffffffff464
+lh :: offset: 0x3b8, out: 0xffffffffffff8673
+lh :: offset: 0x3ba, out: 0xfffffffffffff927
+lh :: offset: 0x3bc, out: 0xffffffffffff9bc4
+lh :: offset: 0x3be, out: 0xfffffffffffffde6
+lh :: offset: 0x3c0, out: 0xfffffffffffffd09
+lh :: offset: 0x3c2, out: 0xffffffffffff89b8
+lh :: offset: 0x3c4, out: 0xffffffffffffe0be
+lh :: offset: 0x3c6, out: 0xffffffffffff8d79
+lh :: offset: 0x3c8, out: 0xffffffffffffc667
+lh :: offset: 0x3ca, out: 0xffffffffffff803a
+lh :: offset: 0x3cc, out: 0xffffffffffffdbd0
+lh :: offset: 0x3ce, out: 0xffffffffffff84fb
+lh :: offset: 0x3d0, out: 0xffffffffffff8bd5
+lh :: offset: 0x3d2, out: 0xffffffffffff9abc
+lh :: offset: 0x3d4, out: 0xffffffffffff9662
+lh :: offset: 0x3d6, out: 0xffffffffffff9e7d
+lh :: offset: 0x3d8, out: 0xffffffffffffb0bb
+lh :: offset: 0x3da, out: 0xffffffffffff933e
+lh :: offset: 0x3dc, out: 0xffffffffffffad0c
+lh :: offset: 0x3de, out: 0xffffffffffff97ff
+lh :: offset: 0x3e0, out: 0x10b1
+lh :: offset: 0x3e2, out: 0xffffffffffffafb0
+lh :: offset: 0x3e4, out: 0xd06
+lh :: offset: 0x3e6, out: 0xffffffffffffab71
+lh :: offset: 0x3e8, out: 0x2bdf
+lh :: offset: 0x3ea, out: 0xffffffffffffa632
+lh :: offset: 0x3ec, out: 0x3668
+lh :: offset: 0x3ee, out: 0xffffffffffffa2f3
+lh :: offset: 0x3f0, out: 0x666d
+lh :: offset: 0x3f2, out: 0xffffffffffffbcb4
+lh :: offset: 0x3f4, out: 0x7bda
+lh :: offset: 0x3f6, out: 0xffffffffffffb875
+lh :: offset: 0x3f8, out: 0x5d03
+lh :: offset: 0x3fa, out: 0xffffffffffffb536
+lh :: offset: 0x3fc, out: 0x40b4
+lh :: offset: 0x3fe, out: 0xffffffffffffb1f7
+lh :: offset: 0x0, out: 0xffffffffffffd6aa
+lh :: offset: 0x2, out: 0x12b
+lh :: offset: 0x4, out: 0x0
+lh :: offset: 0x6, out: 0x0
+lh :: offset: 0x8, out: 0xffffffffffffab13
+lh :: offset: 0xa, out: 0xffffffffffff82d2
+lh :: offset: 0xc, out: 0xffffffffffff8763
+lh :: offset: 0xe, out: 0x7e
+lh :: offset: 0x10, out: 0x10f3
+lh :: offset: 0x12, out: 0xffffffffffffc315
+lh :: offset: 0x14, out: 0x6e9a
+lh :: offset: 0x16, out: 0xffffffffffff976d
+lh :: offset: 0x18, out: 0xffffffffffffa5fb
+lh :: offset: 0x1a, out: 0x5ad6
+lh :: offset: 0x1c, out: 0x6d77
+lh :: offset: 0x1e, out: 0xffffffffffffb774
+lh :: offset: 0x20, out: 0xffffffffffffb502
+lh :: offset: 0x22, out: 0xffffffffffff8677
+lh :: offset: 0x24, out: 0xffffffffffffc0a2
+lh :: offset: 0x26, out: 0x42b0
+lh :: offset: 0x28, out: 0x30ad
+lh :: offset: 0x2a, out: 0xffffffffffff9e3c
+lh :: offset: 0x2c, out: 0xffffffffffff9d31
+lh :: offset: 0x2e, out: 0x2aa8
+lh :: offset: 0x30, out: 0x413d
+lh :: offset: 0x32, out: 0x77fb
+lh :: offset: 0x34, out: 0xffffffffffff8ec3
+lh :: offset: 0x36, out: 0x1f30
+lh :: offset: 0x38, out: 0xffffffffffffe4f7
+lh :: offset: 0x3a, out: 0xffffffffffffc760
+lh :: offset: 0x3c, out: 0x4213
+lh :: offset: 0x3e, out: 0x7aa0
+lh :: offset: 0x40, out: 0xffffffffffffdca0
+lh :: offset: 0x42, out: 0x1ad8
+lh :: offset: 0x44, out: 0x5cc5
+lh :: offset: 0x46, out: 0xffffffffffff9e70
+lh :: offset: 0x48, out: 0xffffffffffffa60d
+lh :: offset: 0x4a, out: 0xffffffffffff9615
+lh :: offset: 0x4c, out: 0xffffffffffffda86
+lh :: offset: 0x4e, out: 0x4b3d
+lh :: offset: 0x50, out: 0xffffffffffffd41d
+lh :: offset: 0x52, out: 0x6353
+lh :: offset: 0x54, out: 0xffffffffffffa4dd
+lh :: offset: 0x56, out: 0x5e7
+lh :: offset: 0x58, out: 0xffffffffffffd413
+lh :: offset: 0x5a, out: 0xffffffffffffc40b
+lh :: offset: 0x5c, out: 0x5a9d
+lh :: offset: 0x5e, out: 0x3af3
+lh :: offset: 0x60, out: 0xffffffffffffa180
+lh :: offset: 0x62, out: 0xffffffffffff9a08
+lh :: offset: 0x64, out: 0x556
+lh :: offset: 0x66, out: 0x47f5
+lh :: offset: 0x68, out: 0x40f
+lh :: offset: 0x6a, out: 0xffffffffffffd6d2
+lh :: offset: 0x6c, out: 0xffffffffffffb77f
+lh :: offset: 0x6e, out: 0xffffffffffff9564
+lh :: offset: 0x70, out: 0x6bbe
+lh :: offset: 0x72, out: 0xffffffffffffb2c7
+lh :: offset: 0x74, out: 0xffffffffffff8279
+lh :: offset: 0x76, out: 0xffffffffffffcebc
+lh :: offset: 0x78, out: 0xffffffffffffe4c7
+lh :: offset: 0x7a, out: 0x1f18
+lh :: offset: 0x7c, out: 0x4c2f
+lh :: offset: 0x7e, out: 0xffffffffffffb503
+lh :: offset: 0x80, out: 0xffffffffffffa797
+lh :: offset: 0x82, out: 0xffffffffffff81af
+lh :: offset: 0x84, out: 0x52fc
+lh :: offset: 0x86, out: 0xffffffffffff94ff
+lh :: offset: 0x88, out: 0x50ea
+lh :: offset: 0x8a, out: 0x6dfc
+lh :: offset: 0x8c, out: 0xffffffffffffd916
+lh :: offset: 0x8e, out: 0x31d8
+lh :: offset: 0x90, out: 0xffffffffffff95b1
+lh :: offset: 0x92, out: 0x78e8
+lh :: offset: 0x94, out: 0xffffffffffff9bd6
+lh :: offset: 0x96, out: 0x3654
+lh :: offset: 0x98, out: 0x259b
+lh :: offset: 0x9a, out: 0xffffffffffff9b63
+lh :: offset: 0x9c, out: 0xffffffffffffa631
+lh :: offset: 0x9e, out: 0xffffffffffff85e0
+lh :: offset: 0xa0, out: 0x7ac5
+lh :: offset: 0xa2, out: 0xffffffffffffccf1
+lh :: offset: 0xa4, out: 0x3eca
+lh :: offset: 0xa6, out: 0x556b
+lh :: offset: 0xa8, out: 0xffffffffffffa0fb
+lh :: offset: 0xaa, out: 0xffffffffffff81ee
+lh :: offset: 0xac, out: 0x5fc5
+lh :: offset: 0xae, out: 0xffffffffffffb42f
+lh :: offset: 0xb0, out: 0x2d97
+lh :: offset: 0xb2, out: 0x1468
+lh :: offset: 0xb4, out: 0xfec
+lh :: offset: 0xb6, out: 0x25b5
+lh :: offset: 0xb8, out: 0x87a
+lh :: offset: 0xba, out: 0x2cfb
+lh :: offset: 0xbc, out: 0xffffffffffffc513
+lh :: offset: 0xbe, out: 0xfffffffffffffc93
+lh :: offset: 0xc0, out: 0x766
+lh :: offset: 0xc2, out: 0xffffffffffffcda2
+lh :: offset: 0xc4, out: 0xffffffffffffd9a9
+lh :: offset: 0xc6, out: 0x3c2c
+lh :: offset: 0xc8, out: 0xffffffffffffda3e
+lh :: offset: 0xca, out: 0x7d72
+lh :: offset: 0xcc, out: 0x722a
+lh :: offset: 0xce, out: 0x1791
+lh :: offset: 0xd0, out: 0x24ad
+lh :: offset: 0xd2, out: 0xffffffffffff93ce
+lh :: offset: 0xd4, out: 0xffffffffffffc9d1
+lh :: offset: 0xd6, out: 0x87c
+lh :: offset: 0xd8, out: 0x4ed2
+lh :: offset: 0xda, out: 0x3898
+lh :: offset: 0xdc, out: 0x7570
+lh :: offset: 0xde, out: 0x1d2a
+lh :: offset: 0xe0, out: 0xffffffffffffd036
+lh :: offset: 0xe2, out: 0x710c
+lh :: offset: 0xe4, out: 0x70db
+lh :: offset: 0xe6, out: 0xffffffffffffd0d0
+lh :: offset: 0xe8, out: 0x5604
+lh :: offset: 0xea, out: 0x341
+lh :: offset: 0xec, out: 0x1c7d
+lh :: offset: 0xee, out: 0x39c2
+lh :: offset: 0xf0, out: 0x31ce
+lh :: offset: 0xf2, out: 0xffffffffffff8ecc
+lh :: offset: 0xf4, out: 0xffffffffffffb7af
+lh :: offset: 0xf6, out: 0xffffffffffff8e94
+lh :: offset: 0xf8, out: 0x674f
+lh :: offset: 0xfa, out: 0x1ce7
+lh :: offset: 0xfc, out: 0x6a8d
+lh :: offset: 0xfe, out: 0x24eb
+lh :: offset: 0x100, out: 0xffffffffffffe4a7
+lh :: offset: 0x102, out: 0x12d6
+lh :: offset: 0x104, out: 0x4544
+lh :: offset: 0x106, out: 0x2f39
+lh :: offset: 0x108, out: 0x4c54
+lh :: offset: 0x10a, out: 0x56da
+lh :: offset: 0x10c, out: 0xffffffffffffc2b7
+lh :: offset: 0x10e, out: 0x2608
+lh :: offset: 0x110, out: 0x252f
+lh :: offset: 0x112, out: 0xffffffffffffc8d7
+lh :: offset: 0x114, out: 0x2da
+lh :: offset: 0x116, out: 0xffffffffffff9001
+lh :: offset: 0x118, out: 0xffffffffffffa4f7
+lh :: offset: 0x11a, out: 0xfffffffffffff2ef
+lh :: offset: 0x11c, out: 0xffffffffffffd5f1
+lh :: offset: 0x11e, out: 0xffffffffffffc890
+lh :: offset: 0x120, out: 0xffffffffffffa214
+lh :: offset: 0x122, out: 0xffffffffffffc8b0
+lh :: offset: 0x124, out: 0x5cb
+lh :: offset: 0x126, out: 0xffffffffffffed50
+lh :: offset: 0x128, out: 0x136c
+lh :: offset: 0x12a, out: 0x5991
+lh :: offset: 0x12c, out: 0xffffffffffff9189
+lh :: offset: 0x12e, out: 0x3147
+lh :: offset: 0x130, out: 0xffffffffffffb6f3
+lh :: offset: 0x132, out: 0xffffffffffff9a2f
+lh :: offset: 0x134, out: 0xffffffffffffcff9
+lh :: offset: 0x136, out: 0xffffffffffffc6ee
+lh :: offset: 0x138, out: 0x5270
+lh :: offset: 0x13a, out: 0x3889
+lh :: offset: 0x13c, out: 0x5212
+lh :: offset: 0x13e, out: 0xffffffffffffa809
+lh :: offset: 0x140, out: 0x5040
+lh :: offset: 0x142, out: 0xffffffffffffad76
+lh :: offset: 0x144, out: 0xa04
+lh :: offset: 0x146, out: 0xffffffffffff8775
+lh :: offset: 0x148, out: 0x5a83
+lh :: offset: 0x14a, out: 0xffffffffffff84bb
+lh :: offset: 0x14c, out: 0xffffffffffffe85e
+lh :: offset: 0x14e, out: 0x2c3d
+lh :: offset: 0x150, out: 0xffffffffffffaa67
+lh :: offset: 0x152, out: 0xffffffffffffc506
+lh :: offset: 0x154, out: 0xffffffffffffff8f
+lh :: offset: 0x156, out: 0xffffffffffffae6a
+lh :: offset: 0x158, out: 0x5ee3
+lh :: offset: 0x15a, out: 0x60ed
+lh :: offset: 0x15c, out: 0x12dd
+lh :: offset: 0x15e, out: 0xffffffffffffc071
+lh :: offset: 0x160, out: 0xffffffffffffca5a
+lh :: offset: 0x162, out: 0x30dc
+lh :: offset: 0x164, out: 0x70f6
+lh :: offset: 0x166, out: 0xffffffffffffc4c7
+lh :: offset: 0x168, out: 0x5277
+lh :: offset: 0x16a, out: 0xffffffffffff83cd
+lh :: offset: 0x16c, out: 0x2b23
+lh :: offset: 0x16e, out: 0xffffffffffffdfec
+lh :: offset: 0x170, out: 0xffffffffffffd96b
+lh :: offset: 0x172, out: 0xff7
+lh :: offset: 0x174, out: 0xffffffffffffba26
+lh :: offset: 0x176, out: 0xffffffffffffd3ad
+lh :: offset: 0x178, out: 0xffffffffffffc00e
+lh :: offset: 0x17a, out: 0xffffffffffff8418
+lh :: offset: 0x17c, out: 0xffffffffffffaa79
+lh :: offset: 0x17e, out: 0x4ab4
+lh :: offset: 0x180, out: 0xfffffffffffff0b8
+lh :: offset: 0x182, out: 0xde0
+lh :: offset: 0x184, out: 0x35e
+lh :: offset: 0x186, out: 0xffffffffffffbb8c
+lh :: offset: 0x188, out: 0xffffffffffffdcf1
+lh :: offset: 0x18a, out: 0xffffffffffffa97f
+lh :: offset: 0x18c, out: 0x6f54
+lh :: offset: 0x18e, out: 0x33b0
+lh :: offset: 0x190, out: 0xffffffffffffc081
+lh :: offset: 0x192, out: 0x3fd1
+lh :: offset: 0x194, out: 0x3f37
+lh :: offset: 0x196, out: 0x7743
+lh :: offset: 0x198, out: 0xffffffffffff95e4
+lh :: offset: 0x19a, out: 0xffffffffffffc921
+lh :: offset: 0x19c, out: 0xffffffffffffd993
+lh :: offset: 0x19e, out: 0xffffffffffffec91
+lh :: offset: 0x1a0, out: 0xffffffffffffa5ab
+lh :: offset: 0x1a2, out: 0xffffffffffff95b1
+lh :: offset: 0x1a4, out: 0xfffffffffffff6a7
+lh :: offset: 0x1a6, out: 0x49fb
+lh :: offset: 0x1a8, out: 0xffffffffffff8d1e
+lh :: offset: 0x1aa, out: 0xffffffffffffc7ce
+lh :: offset: 0x1ac, out: 0x4378
+lh :: offset: 0x1ae, out: 0x1936
+lh :: offset: 0x1b0, out: 0x4907
+lh :: offset: 0x1b2, out: 0x2f38
+lh :: offset: 0x1b4, out: 0xffffffffffff8def
+lh :: offset: 0x1b6, out: 0xffffffffffffb99e
+lh :: offset: 0x1b8, out: 0x12fe
+lh :: offset: 0x1ba, out: 0x582b
+lh :: offset: 0x1bc, out: 0xffffffffffffcdcd
+lh :: offset: 0x1be, out: 0x47ea
+lh :: offset: 0x1c0, out: 0xffffffffffff8c4f
+lh :: offset: 0x1c2, out: 0x7655
+lh :: offset: 0x1c4, out: 0xffffffffffff884e
+lh :: offset: 0x1c6, out: 0xffffffffffffd685
+lh :: offset: 0x1c8, out: 0xffffffffffff95c7
+lh :: offset: 0x1ca, out: 0x34c1
+lh :: offset: 0x1cc, out: 0xffffffffffffd62a
+lh :: offset: 0x1ce, out: 0x6168
+lh :: offset: 0x1d0, out: 0x7405
+lh :: offset: 0x1d2, out: 0x4df4
+lh :: offset: 0x1d4, out: 0x6989
+lh :: offset: 0x1d6, out: 0xffffffffffffd301
+lh :: offset: 0x1d8, out: 0x6db
+lh :: offset: 0x1da, out: 0x6cbb
+lh :: offset: 0x1dc, out: 0xffffffffffff90bf
+lh :: offset: 0x1de, out: 0x1ca1
+lh :: offset: 0x1e0, out: 0x393a
+lh :: offset: 0x1e2, out: 0xffffffffffff9cae
+lh :: offset: 0x1e4, out: 0xf02
+lh :: offset: 0x1e6, out: 0x5830
+lh :: offset: 0x1e8, out: 0xffffffffffffbc2d
+lh :: offset: 0x1ea, out: 0xffffffffffffdc7e
+lh :: offset: 0x1ec, out: 0x5fdb
+lh :: offset: 0x1ee, out: 0xffffffffffff9a99
+lh :: offset: 0x1f0, out: 0x5b48
+lh :: offset: 0x1f2, out: 0xffffffffffffe340
+lh :: offset: 0x1f4, out: 0x47b
+lh :: offset: 0x1f6, out: 0xffffffffffff8a96
+lh :: offset: 0x1f8, out: 0xffffffffffffd322
+lh :: offset: 0x1fa, out: 0xffffffffffffd519
+lh :: offset: 0x1fc, out: 0xffffffffffffafd2
+lh :: offset: 0x1fe, out: 0x75bf
+lh :: offset: 0x200, out: 0xfffffffffffff6ad
+lh :: offset: 0x202, out: 0xffffffffffffa630
+lh :: offset: 0x204, out: 0x867
+lh :: offset: 0x206, out: 0xffffffffffffde23
+lh :: offset: 0x208, out: 0x3260
+lh :: offset: 0x20a, out: 0x5610
+lh :: offset: 0x20c, out: 0xcf2
+lh :: offset: 0x20e, out: 0x2c0a
+lh :: offset: 0x210, out: 0x18ef
+lh :: offset: 0x212, out: 0x249b
+lh :: offset: 0x214, out: 0x544
+lh :: offset: 0x216, out: 0xffffffffffff94a9
+lh :: offset: 0x218, out: 0xfffffffffffffcde
+lh :: offset: 0x21a, out: 0x5b56
+lh :: offset: 0x21c, out: 0xffffffffffff9fb5
+lh :: offset: 0x21e, out: 0xfffffffffffff951
+lh :: offset: 0x220, out: 0x319b
+lh :: offset: 0x222, out: 0x468
+lh :: offset: 0x224, out: 0xfffffffffffff820
+lh :: offset: 0x226, out: 0xffffffffffff81da
+lh :: offset: 0x228, out: 0xfffffffffffff2ec
+lh :: offset: 0x22a, out: 0x5725
+lh :: offset: 0x22c, out: 0xffffffffffffca5a
+lh :: offset: 0x22e, out: 0xffffffffffff8c61
+lh :: offset: 0x230, out: 0xffffffffffffc8bf
+lh :: offset: 0x232, out: 0xffffffffffffc25d
+lh :: offset: 0x234, out: 0xffffffffffffa6dd
+lh :: offset: 0x236, out: 0xffffffffffff8b95
+lh :: offset: 0x238, out: 0x162f
+lh :: offset: 0x23a, out: 0xffffffffffffdac6
+lh :: offset: 0x23c, out: 0xffffffffffffe751
+lh :: offset: 0x23e, out: 0x300c
+lh :: offset: 0x240, out: 0xffffffffffffa850
+lh :: offset: 0x242, out: 0xffffffffffffba52
+lh :: offset: 0x244, out: 0xfffffffffffffdf3
+lh :: offset: 0x246, out: 0x6778
+lh :: offset: 0x248, out: 0x479f
+lh :: offset: 0x24a, out: 0xffffffffffffda78
+lh :: offset: 0x24c, out: 0xffffffffffffb1f7
+lh :: offset: 0x24e, out: 0xffffffffffffad00
+lh :: offset: 0x250, out: 0xffffffffffffd98a
+lh :: offset: 0x252, out: 0xffffffffffffa6b6
+lh :: offset: 0x254, out: 0x4168
+lh :: offset: 0x256, out: 0x8d4
+lh :: offset: 0x258, out: 0x4413
+lh :: offset: 0x25a, out: 0xffffffffffffce63
+lh :: offset: 0x25c, out: 0x381d
+lh :: offset: 0x25e, out: 0xfffffffffffff518
+lh :: offset: 0x260, out: 0x5fc0
+lh :: offset: 0x262, out: 0xffffffffffffe525
+lh :: offset: 0x264, out: 0x7f3f
+lh :: offset: 0x266, out: 0xffffffffffffe462
+lh :: offset: 0x268, out: 0x1f28
+lh :: offset: 0x26a, out: 0x7632
+lh :: offset: 0x26c, out: 0xffffffffffff92e1
+lh :: offset: 0x26e, out: 0xffffffffffffccd3
+lh :: offset: 0x270, out: 0xfffffffffffffd8f
+lh :: offset: 0x272, out: 0x4018
+lh :: offset: 0x274, out: 0x6494
+lh :: offset: 0x276, out: 0xffffffffffff8294
+lh :: offset: 0x278, out: 0xfffffffffffff0e5
+lh :: offset: 0x27a, out: 0x52e8
+lh :: offset: 0x27c, out: 0x2040
+lh :: offset: 0x27e, out: 0x15d3
+lh :: offset: 0x280, out: 0xfffffffffffff344
+lh :: offset: 0x282, out: 0xffffffffffff880f
+lh :: offset: 0x284, out: 0xffffffffffff83d2
+lh :: offset: 0x286, out: 0x7caf
+lh :: offset: 0x288, out: 0xffffffffffffefd7
+lh :: offset: 0x28a, out: 0x747d
+lh :: offset: 0x28c, out: 0xffffffffffffa04c
+lh :: offset: 0x28e, out: 0xfffffffffffff156
+lh :: offset: 0x290, out: 0xffffffffffffd710
+lh :: offset: 0x292, out: 0xf31
+lh :: offset: 0x294, out: 0x601c
+lh :: offset: 0x296, out: 0xffffffffffff93e2
+lh :: offset: 0x298, out: 0xffffffffffffd933
+lh :: offset: 0x29a, out: 0x131c
+lh :: offset: 0x29c, out: 0xffffffffffffa679
+lh :: offset: 0x29e, out: 0xffffffffffffe1e1
+lh :: offset: 0x2a0, out: 0xffffffffffffa427
+lh :: offset: 0x2a2, out: 0xffffffffffffa76f
+lh :: offset: 0x2a4, out: 0x6b75
+lh :: offset: 0x2a6, out: 0x2429
+lh :: offset: 0x2a8, out: 0xffffffffffffe56a
+lh :: offset: 0x2aa, out: 0x139e
+lh :: offset: 0x2ac, out: 0xffffffffffffe2d2
+lh :: offset: 0x2ae, out: 0xffffffffffffd296
+lh :: offset: 0x2b0, out: 0xffffffffffffa5c0
+lh :: offset: 0x2b2, out: 0x6dc2
+lh :: offset: 0x2b4, out: 0x447f
+lh :: offset: 0x2b6, out: 0x5a82
+lh :: offset: 0x2b8, out: 0xffffffffffffc168
+lh :: offset: 0x2ba, out: 0xffffffffffffc07d
+lh :: offset: 0x2bc, out: 0xffffffffffff9e80
+lh :: offset: 0x2be, out: 0x76c8
+lh :: offset: 0x2c0, out: 0x348f
+lh :: offset: 0x2c2, out: 0x4bfe
+lh :: offset: 0x2c4, out: 0xffffffffffffc345
+lh :: offset: 0x2c6, out: 0x70d
+lh :: offset: 0x2c8, out: 0x241b
+lh :: offset: 0x2ca, out: 0xffffffffffffdd6d
+lh :: offset: 0x2cc, out: 0x7123
+lh :: offset: 0x2ce, out: 0xffffffffffffbddc
+lh :: offset: 0x2d0, out: 0xffffffffffffcebe
+lh :: offset: 0x2d2, out: 0xffffffffffffa59f
+lh :: offset: 0x2d4, out: 0xffffffffffffb727
+lh :: offset: 0x2d6, out: 0xfffffffffffff62f
+lh :: offset: 0x2d8, out: 0x46fb
+lh :: offset: 0x2da, out: 0xf9f
+lh :: offset: 0x2dc, out: 0x27e9
+lh :: offset: 0x2de, out: 0x109f
+lh :: offset: 0x2e0, out: 0xffffffffffff99d7
+lh :: offset: 0x2e2, out: 0xffffffffffffafd1
+lh :: offset: 0x2e4, out: 0xffffffffffffdaa9
+lh :: offset: 0x2e6, out: 0x3f63
+lh :: offset: 0x2e8, out: 0xffffffffffff84f2
+lh :: offset: 0x2ea, out: 0xffffffffffffa3d4
+lh :: offset: 0x2ec, out: 0x312e
+lh :: offset: 0x2ee, out: 0xffffffffffffdbcb
+lh :: offset: 0x2f0, out: 0xffffffffffffe4c6
+lh :: offset: 0x2f2, out: 0xffffffffffffda4f
+lh :: offset: 0x2f4, out: 0x3faa
+lh :: offset: 0x2f6, out: 0x1f35
+lh :: offset: 0x2f8, out: 0xffffffffffffc260
+lh :: offset: 0x2fa, out: 0x7150
+lh :: offset: 0x2fc, out: 0x6ee0
+lh :: offset: 0x2fe, out: 0xffffffffffff8b08
+lh :: offset: 0x300, out: 0x7f25
+lh :: offset: 0x302, out: 0xffffffffffffd925
+lh :: offset: 0x304, out: 0x50d5
+lh :: offset: 0x306, out: 0xffffffffffffe547
+lh :: offset: 0x308, out: 0xffffffffffffdb5b
+lh :: offset: 0x30a, out: 0xffffffffffffe9a6
+lh :: offset: 0x30c, out: 0x625f
+lh :: offset: 0x30e, out: 0x3d69
+lh :: offset: 0x310, out: 0xffffffffffffac96
+lh :: offset: 0x312, out: 0x4340
+lh :: offset: 0x314, out: 0xffffffffffffe042
+lh :: offset: 0x316, out: 0x70a3
+lh :: offset: 0x318, out: 0x171e
+lh :: offset: 0x31a, out: 0x6980
+lh :: offset: 0x31c, out: 0xffffffffffff8f03
+lh :: offset: 0x31e, out: 0xffffffffffffc047
+lh :: offset: 0x320, out: 0x29e3
+lh :: offset: 0x322, out: 0x1cf9
+lh :: offset: 0x324, out: 0x39a5
+lh :: offset: 0x326, out: 0x3ce8
+lh :: offset: 0x328, out: 0xffffffffffff8958
+lh :: offset: 0x32a, out: 0x5eb6
+lh :: offset: 0x32c, out: 0xfffffffffffffa89
+lh :: offset: 0x32e, out: 0xffffffffffffe2fb
+lh :: offset: 0x330, out: 0x25b7
+lh :: offset: 0x332, out: 0x76ed
+lh :: offset: 0x334, out: 0xffffffffffffb05d
+lh :: offset: 0x336, out: 0xffffffffffffd24b
+lh :: offset: 0x338, out: 0x12f1
+lh :: offset: 0x33a, out: 0x1703
+lh :: offset: 0x33c, out: 0x682c
+lh :: offset: 0x33e, out: 0xeb9
+lh :: offset: 0x340, out: 0x1d0d
+lh :: offset: 0x342, out: 0xffffffffffffdd30
+lh :: offset: 0x344, out: 0x5280
+lh :: offset: 0x346, out: 0xffffffffffff8478
+lh :: offset: 0x348, out: 0xffffffffffffd6ef
+lh :: offset: 0x34a, out: 0x1f8f
+lh :: offset: 0x34c, out: 0x77aa
+lh :: offset: 0x34e, out: 0x179c
+lh :: offset: 0x350, out: 0x436d
+lh :: offset: 0x352, out: 0x2998
+lh :: offset: 0x354, out: 0x4ced
+lh :: offset: 0x356, out: 0x2644
+lh :: offset: 0x358, out: 0xffffffffffffa708
+lh :: offset: 0x35a, out: 0xffffffffffffd58c
+lh :: offset: 0x35c, out: 0x5c9d
+lh :: offset: 0x35e, out: 0x717
+lh :: offset: 0x360, out: 0x3287
+lh :: offset: 0x362, out: 0x5583
+lh :: offset: 0x364, out: 0x610
+lh :: offset: 0x366, out: 0x663d
+lh :: offset: 0x368, out: 0xffffffffffffd68b
+lh :: offset: 0x36a, out: 0xffffffffffff8951
+lh :: offset: 0x36c, out: 0xffffffffffffd048
+lh :: offset: 0x36e, out: 0xffffffffffffab7d
+lh :: offset: 0x370, out: 0x471b
+lh :: offset: 0x372, out: 0xe82
+lh :: offset: 0x374, out: 0x2367
+lh :: offset: 0x376, out: 0xfffffffffffff698
+lh :: offset: 0x378, out: 0x26b2
+lh :: offset: 0x37a, out: 0xffffffffffffd98d
+lh :: offset: 0x37c, out: 0x6c59
+lh :: offset: 0x37e, out: 0x3688
+lh :: offset: 0x380, out: 0xffffffffffffe479
+lh :: offset: 0x382, out: 0xffffffffffffd32b
+lh :: offset: 0x384, out: 0x4bdb
+lh :: offset: 0x386, out: 0x9ca
+lh :: offset: 0x388, out: 0xffffffffffffe61f
+lh :: offset: 0x38a, out: 0xffffffffffff9962
+lh :: offset: 0x38c, out: 0x7d1d
+lh :: offset: 0x38e, out: 0xfffffffffffffd5d
+lh :: offset: 0x390, out: 0x74df
+lh :: offset: 0x392, out: 0xffffffffffffcad3
+lh :: offset: 0x394, out: 0x553e
+lh :: offset: 0x396, out: 0x3f46
+lh :: offset: 0x398, out: 0xfffffffffffff2a7
+lh :: offset: 0x39a, out: 0x3eed
+lh :: offset: 0x39c, out: 0xffffffffffffb97d
+lh :: offset: 0x39e, out: 0x2e9a
+lh :: offset: 0x3a0, out: 0xffffffffffff9f33
+lh :: offset: 0x3a2, out: 0x3c0c
+lh :: offset: 0x3a4, out: 0xfffffffffffff7fa
+lh :: offset: 0x3a6, out: 0x36a6
+lh :: offset: 0x3a8, out: 0xffffffffffffc9dc
+lh :: offset: 0x3aa, out: 0x155e
+lh :: offset: 0x3ac, out: 0x38e3
+lh :: offset: 0x3ae, out: 0xffffffffffff8bb9
+lh :: offset: 0x3b0, out: 0xffffffffffff8206
+lh :: offset: 0x3b2, out: 0x1947
+lh :: offset: 0x3b4, out: 0x25c4
+lh :: offset: 0x3b6, out: 0xffffffffffffd2df
+lh :: offset: 0x3b8, out: 0x1825
+lh :: offset: 0x3ba, out: 0xffffffffffffeb32
+lh :: offset: 0x3bc, out: 0xffffffffffffbf27
+lh :: offset: 0x3be, out: 0xffffffffffffbc65
+lh :: offset: 0x3c0, out: 0xffffffffffffc7da
+lh :: offset: 0x3c2, out: 0x7a8b
+lh :: offset: 0x3c4, out: 0xffffffffffff8fe6
+lh :: offset: 0x3c6, out: 0xffffffffffffa8b0
+lh :: offset: 0x3c8, out: 0xffffffffffffcde8
+lh :: offset: 0x3ca, out: 0xfffffffffffff8df
+lh :: offset: 0x3cc, out: 0x5bca
+lh :: offset: 0x3ce, out: 0xffffffffffff852b
+lh :: offset: 0x3d0, out: 0xffffffffffff9269
+lh :: offset: 0x3d2, out: 0x59a9
+lh :: offset: 0x3d4, out: 0xffffffffffff909b
+lh :: offset: 0x3d6, out: 0x478
+lh :: offset: 0x3d8, out: 0x360f
+lh :: offset: 0x3da, out: 0x7857
+lh :: offset: 0x3dc, out: 0x1cc8
+lh :: offset: 0x3de, out: 0xffffffffffffbfb3
+lh :: offset: 0x3e0, out: 0xffffffffffffe9a2
+lh :: offset: 0x3e2, out: 0x7f89
+lh :: offset: 0x3e4, out: 0xffffffffffffed5e
+lh :: offset: 0x3e6, out: 0xffffffffffffb665
+lh :: offset: 0x3e8, out: 0xffffffffffffd5e4
+lh :: offset: 0x3ea, out: 0xffffffffffffb7a8
+lh :: offset: 0x3ec, out: 0xffffffffffff9474
+lh :: offset: 0x3ee, out: 0x15da
+lh :: offset: 0x3f0, out: 0xfcc
+lh :: offset: 0x3f2, out: 0x2af9
+lh :: offset: 0x3f4, out: 0x537d
+lh :: offset: 0x3f6, out: 0xfffffffffffff6b3
+lh :: offset: 0x3f8, out: 0x1897
+lh :: offset: 0x3fa, out: 0x2b96
+lh :: offset: 0x3fc, out: 0x7cfe
+lh :: offset: 0x3fe, out: 0x223d
+lh :: offset: 0x400, out: 0x4a4b
+lh :: offset: 0x402, out: 0x3373
+lh :: offset: 0x404, out: 0x34f5
+lh :: offset: 0x406, out: 0x420b
+lh :: offset: 0x408, out: 0xffffffffffffb33c
+lh :: offset: 0x40a, out: 0xffffffffffffdd46
+lh :: offset: 0x40c, out: 0xffffffffffff8c8d
+lh :: offset: 0x40e, out: 0xffffffffffff897c
+lh :: offset: 0x410, out: 0xffffffffffffccd9
+lh :: offset: 0x412, out: 0xffffffffffffe392
+lh :: offset: 0x414, out: 0x7445
+lh :: offset: 0x416, out: 0x7a38
+lh :: offset: 0x418, out: 0xc9
+lh :: offset: 0x41a, out: 0xffffffffffffd800
+lh :: offset: 0x41c, out: 0x29b1
+lh :: offset: 0x41e, out: 0x512f
+lh :: offset: 0x420, out: 0x20a
+lh :: offset: 0x422, out: 0x3dad
+lh :: offset: 0x424, out: 0xffffffffffffd5c5
+lh :: offset: 0x426, out: 0xffffffffffffeade
+lh :: offset: 0x428, out: 0xffffffffffffa35b
+lh :: offset: 0x42a, out: 0x31ee
+lh :: offset: 0x42c, out: 0x29d7
+lh :: offset: 0x42e, out: 0xffffffffffff8a62
+lh :: offset: 0x430, out: 0x5649
+lh :: offset: 0x432, out: 0x4898
+lh :: offset: 0x434, out: 0x3f9e
+lh :: offset: 0x436, out: 0x2c3c
+lh :: offset: 0x438, out: 0xb77
+lh :: offset: 0x43a, out: 0xffffffffffffdc9c
+lh :: offset: 0x43c, out: 0x1e78
+lh :: offset: 0x43e, out: 0x7ff6
+lh :: offset: 0x440, out: 0x68ec
+lh :: offset: 0x442, out: 0x1d5e
+lh :: offset: 0x444, out: 0xffffffffffffb0e0
+lh :: offset: 0x446, out: 0x2299
+lh :: offset: 0x448, out: 0x6e25
+lh :: offset: 0x44a, out: 0x3d0c
+lh :: offset: 0x44c, out: 0x467
+lh :: offset: 0x44e, out: 0x7c3b
+lh :: offset: 0x450, out: 0x6587
+lh :: offset: 0x452, out: 0xffffffffffffe7fb
+lh :: offset: 0x454, out: 0x17c1
+lh :: offset: 0x456, out: 0x164e
+lh :: offset: 0x458, out: 0xffffffffffff950b
+lh :: offset: 0x45a, out: 0x56d4
+lh :: offset: 0x45c, out: 0xffffffffffffa28b
+lh :: offset: 0x45e, out: 0xfffffffffffffa4c
+lh :: offset: 0x460, out: 0xffffffffffffa08a
+lh :: offset: 0x462, out: 0xffffffffffffbe7f
+lh :: offset: 0x464, out: 0xffffffffffffa314
+lh :: offset: 0x466, out: 0xffffffffffffe5e9
+lh :: offset: 0x468, out: 0x49c5
+lh :: offset: 0x46a, out: 0x1596
+lh :: offset: 0x46c, out: 0xffffffffffff8164
+lh :: offset: 0x46e, out: 0xfffffffffffff8be
+lh :: offset: 0x470, out: 0xffffffffffff9b17
+lh :: offset: 0x472, out: 0xffffffffffff84e6
+lh :: offset: 0x474, out: 0x2597
+lh :: offset: 0x476, out: 0x7ca3
+lh :: offset: 0x478, out: 0x4f5c
+lh :: offset: 0x47a, out: 0xffffffffffffa1f2
+lh :: offset: 0x47c, out: 0x543c
+lh :: offset: 0x47e, out: 0xfffffffffffffc8d
+lh :: offset: 0x480, out: 0xffffffffffff9e36
+lh :: offset: 0x482, out: 0xffffffffffffe345
+lh :: offset: 0x484, out: 0x6ca0
+lh :: offset: 0x486, out: 0x4aeb
+lh :: offset: 0x488, out: 0xffffffffffff80fa
+lh :: offset: 0x48a, out: 0x1879
+lh :: offset: 0x48c, out: 0xffffffffffffe18e
+lh :: offset: 0x48e, out: 0xffffffffffffc532
+lh :: offset: 0x490, out: 0x7d1c
+lh :: offset: 0x492, out: 0x4f28
+lh :: offset: 0x494, out: 0xffffffffffffec29
+lh :: offset: 0x496, out: 0xffffffffffffb3fd
+lh :: offset: 0x498, out: 0x2b90
+lh :: offset: 0x49a, out: 0x4973
+lh :: offset: 0x49c, out: 0x660a
+lh :: offset: 0x49e, out: 0xffffffffffffb620
+lh :: offset: 0x4a0, out: 0xffffffffffffe991
+lh :: offset: 0x4a2, out: 0x6cfd
+lh :: offset: 0x4a4, out: 0x38f1
+lh :: offset: 0x4a6, out: 0xffffffffffff9931
+lh :: offset: 0x4a8, out: 0x7b9
+lh :: offset: 0x4aa, out: 0x7d54
+lh :: offset: 0x4ac, out: 0xffffffffffffd133
+lh :: offset: 0x4ae, out: 0xffffffffffffde02
+lh :: offset: 0x4b0, out: 0xffffffffffffb15a
+lh :: offset: 0x4b2, out: 0xffffffffffffe1da
+lh :: offset: 0x4b4, out: 0xffffffffffff90e1
+lh :: offset: 0x4b6, out: 0x13a3
+lh :: offset: 0x4b8, out: 0x16c8
+lh :: offset: 0x4ba, out: 0xffffffffffff8287
+lh :: offset: 0x4bc, out: 0xffffffffffff91a6
+lh :: offset: 0x4be, out: 0x7434
+lh :: offset: 0x4c0, out: 0xffffffffffff92f2
+lh :: offset: 0x4c2, out: 0xffffffffffffede2
+lh :: offset: 0x4c4, out: 0x404a
+lh :: offset: 0x4c6, out: 0xffffffffffff8cff
+lh :: offset: 0x4c8, out: 0x7636
+lh :: offset: 0x4ca, out: 0x1f83
+lh :: offset: 0x4cc, out: 0xffffffffffffc0db
+lh :: offset: 0x4ce, out: 0xffffffffffffb9ce
+lh :: offset: 0x4d0, out: 0x771c
+lh :: offset: 0x4d2, out: 0x509
+lh :: offset: 0x4d4, out: 0x5aa7
+lh :: offset: 0x4d6, out: 0x2eaa
+lh :: offset: 0x4d8, out: 0x241b
+lh :: offset: 0x4da, out: 0x1875
+lh :: offset: 0x4dc, out: 0x538e
+lh :: offset: 0x4de, out: 0xffffffffffffd327
+lh :: offset: 0x4e0, out: 0xffffffffffff9b6b
+lh :: offset: 0x4e2, out: 0xffffffffffff8b73
+lh :: offset: 0x4e4, out: 0xfffffffffffff854
+lh :: offset: 0x4e6, out: 0x42e9
+lh :: offset: 0x4e8, out: 0xffffffffffffba1a
+lh :: offset: 0x4ea, out: 0xffffffffffffeccb
+lh :: offset: 0x4ec, out: 0xffffffffffffe50c
+lh :: offset: 0x4ee, out: 0x78e4
+lh :: offset: 0x4f0, out: 0x27cb
+lh :: offset: 0x4f2, out: 0xffffffffffffcd9d
+lh :: offset: 0x4f4, out: 0xfffffffffffffa3f
+lh :: offset: 0x4f6, out: 0xfffffffffffff6b6
+lh :: offset: 0x4f8, out: 0xffffffffffff9423
+lh :: offset: 0x4fa, out: 0xffffffffffffae3e
+lh :: offset: 0x4fc, out: 0x6483
+lh :: offset: 0x4fe, out: 0x7391
+lh :: offset: 0x500, out: 0xffffffffffff8561
+lh :: offset: 0x502, out: 0xe12
+lh :: offset: 0x504, out: 0xfffffffffffff70a
+lh :: offset: 0x506, out: 0x276a
+lh :: offset: 0x508, out: 0x4b6e
+lh :: offset: 0x50a, out: 0xffffffffffffb5e7
+lh :: offset: 0x50c, out: 0x5bf6
+lh :: offset: 0x50e, out: 0x304
+lh :: offset: 0x510, out: 0xffffffffffffcfa6
+lh :: offset: 0x512, out: 0x8ac
+lh :: offset: 0x514, out: 0x3f13
+lh :: offset: 0x516, out: 0x2022
+lh :: offset: 0x518, out: 0xffffffffffffb5f5
+lh :: offset: 0x51a, out: 0x3976
+lh :: offset: 0x51c, out: 0x5574
+lh :: offset: 0x51e, out: 0xfffffffffffff83c
+lh :: offset: 0x520, out: 0x3c3d
+lh :: offset: 0x522, out: 0x4692
+lh :: offset: 0x524, out: 0x20f9
+lh :: offset: 0x526, out: 0x1f97
+lh :: offset: 0x528, out: 0x48dd
+lh :: offset: 0x52a, out: 0x6d24
+lh :: offset: 0x52c, out: 0x2850
+lh :: offset: 0x52e, out: 0x620d
+lh :: offset: 0x530, out: 0xffffffffffffa732
+lh :: offset: 0x532, out: 0xffffffffffff9ff4
+lh :: offset: 0x534, out: 0x21e9
+lh :: offset: 0x536, out: 0x60a5
+lh :: offset: 0x538, out: 0xf0b
+lh :: offset: 0x53a, out: 0x5c68
+lh :: offset: 0x53c, out: 0xfffffffffffff3ab
+lh :: offset: 0x53e, out: 0x5a08
+lh :: offset: 0x540, out: 0x3d26
+lh :: offset: 0x542, out: 0xffffffffffff800f
+lh :: offset: 0x544, out: 0xffffffffffff9be7
+lh :: offset: 0x546, out: 0xffffffffffffc7a5
+lh :: offset: 0x548, out: 0x1b41
+lh :: offset: 0x54a, out: 0xffffffffffff82ca
+lh :: offset: 0x54c, out: 0xffffffffffffdf29
+lh :: offset: 0x54e, out: 0x1aec
+lh :: offset: 0x550, out: 0xffffffffffff9dcd
+lh :: offset: 0x552, out: 0x60d1
+lh :: offset: 0x554, out: 0x13a2
+lh :: offset: 0x556, out: 0x2b86
+lh :: offset: 0x558, out: 0xffffffffffffbe7f
+lh :: offset: 0x55a, out: 0xe8b
+lh :: offset: 0x55c, out: 0xffffffffffffac8b
+lh :: offset: 0x55e, out: 0x2518
+lh :: offset: 0x560, out: 0x486b
+lh :: offset: 0x562, out: 0x2fcf
+lh :: offset: 0x564, out: 0x568d
+lh :: offset: 0x566, out: 0x743e
+lh :: offset: 0x568, out: 0x1728
+lh :: offset: 0x56a, out: 0x34c3
+lh :: offset: 0x56c, out: 0x646f
+lh :: offset: 0x56e, out: 0x126f
+lh :: offset: 0x570, out: 0x4d12
+lh :: offset: 0x572, out: 0x56fc
+lh :: offset: 0x574, out: 0x1961
+lh :: offset: 0x576, out: 0xffffffffffffaab0
+lh :: offset: 0x578, out: 0xffffffffffffd342
+lh :: offset: 0x57a, out: 0xffffffffffff8595
+lh :: offset: 0x57c, out: 0xffffffffffffcd33
+lh :: offset: 0x57e, out: 0x7535
+lh :: offset: 0x580, out: 0x46ec
+lh :: offset: 0x582, out: 0x4223
+lh :: offset: 0x584, out: 0x54da
+lh :: offset: 0x586, out: 0xffffffffffffdfb2
+lh :: offset: 0x588, out: 0xffffffffffffab2a
+lh :: offset: 0x58a, out: 0x81
+lh :: offset: 0x58c, out: 0x26c9
+lh :: offset: 0x58e, out: 0xffffffffffffa867
+lh :: offset: 0x590, out: 0x7438
+lh :: offset: 0x592, out: 0x679d
+lh :: offset: 0x594, out: 0xffffffffffffffa1
+lh :: offset: 0x596, out: 0xffffffffffff9bfe
+lh :: offset: 0x598, out: 0xffffffffffffe244
+lh :: offset: 0x59a, out: 0xffffffffffffb7de
+lh :: offset: 0x59c, out: 0xffffffffffff9826
+lh :: offset: 0x59e, out: 0xffffffffffffc769
+lh :: offset: 0x5a0, out: 0x704a
+lh :: offset: 0x5a2, out: 0xfffffffffffffba6
+lh :: offset: 0x5a4, out: 0xffffffffffffaf97
+lh :: offset: 0x5a6, out: 0x3c07
+lh :: offset: 0x5a8, out: 0xffffffffffff8bfe
+lh :: offset: 0x5aa, out: 0x4c5
+lh :: offset: 0x5ac, out: 0x64dc
+lh :: offset: 0x5ae, out: 0x5213
+lh :: offset: 0x5b0, out: 0xffffffffffffaebc
+lh :: offset: 0x5b2, out: 0xffffffffffff9ab7
+lh :: offset: 0x5b4, out: 0xffffffffffffbb58
+lh :: offset: 0x5b6, out: 0xffffffffffffe0f7
+lh :: offset: 0x5b8, out: 0xffffffffffff954d
+lh :: offset: 0x5ba, out: 0xffffffffffffdeeb
+lh :: offset: 0x5bc, out: 0xffffffffffffc60c
+lh :: offset: 0x5be, out: 0xffffffffffffe336
+lh :: offset: 0x5c0, out: 0x416e
+lh :: offset: 0x5c2, out: 0x6f52
+lh :: offset: 0x5c4, out: 0x120c
+lh :: offset: 0x5c6, out: 0xffffffffffffd5b2
+lh :: offset: 0x5c8, out: 0xffffffffffff8a34
+lh :: offset: 0x5ca, out: 0x7e62
+lh :: offset: 0x5cc, out: 0xffffffffffffd4ff
+lh :: offset: 0x5ce, out: 0xffffffffffff85a2
+lh :: offset: 0x5d0, out: 0x7e07
+lh :: offset: 0x5d2, out: 0x4a4e
+lh :: offset: 0x5d4, out: 0x2b65
+lh :: offset: 0x5d6, out: 0xffffffffffff986a
+lh :: offset: 0x5d8, out: 0xffffffffffff9b55
+lh :: offset: 0x5da, out: 0x3a48
+lh :: offset: 0x5dc, out: 0xffffffffffffeac4
+lh :: offset: 0x5de, out: 0xffffffffffffa974
+lh :: offset: 0x5e0, out: 0xfffffffffffff8f5
+lh :: offset: 0x5e2, out: 0x72f1
+lh :: offset: 0x5e4, out: 0xffffffffffffc162
+lh :: offset: 0x5e6, out: 0xffffffffffffa388
+lh :: offset: 0x5e8, out: 0x5ea9
+lh :: offset: 0x5ea, out: 0xffffffffffffe749
+lh :: offset: 0x5ec, out: 0x1f45
+lh :: offset: 0x5ee, out: 0xffffffffffffe8c1
+lh :: offset: 0x5f0, out: 0xffffffffffffc8b4
+lh :: offset: 0x5f2, out: 0x5cc1
+lh :: offset: 0x5f4, out: 0x5a76
+lh :: offset: 0x5f6, out: 0xffffffffffffadaa
+lh :: offset: 0x5f8, out: 0x5c0
+lh :: offset: 0x5fa, out: 0xffffffffffffdfa6
+lh :: offset: 0x5fc, out: 0xffffffffffffce88
+lh :: offset: 0x5fe, out: 0x7ab4
+lh :: offset: 0x600, out: 0xffffffffffffb04f
+lh :: offset: 0x602, out: 0x59a7
+lh :: offset: 0x604, out: 0xffffffffffffd6e6
+lh :: offset: 0x606, out: 0xffffffffffffb42a
+lh :: offset: 0x608, out: 0xffffffffffff922f
+lh :: offset: 0x60a, out: 0xffffffffffffb728
+lh :: offset: 0x60c, out: 0x485a
+lh :: offset: 0x60e, out: 0x4bf8
+lh :: offset: 0x610, out: 0xffffffffffffa7fb
+lh :: offset: 0x612, out: 0x3b66
+lh :: offset: 0x614, out: 0xffffffffffffd60c
+lh :: offset: 0x616, out: 0x76a3
+lh :: offset: 0x618, out: 0xffffffffffff8eda
+lh :: offset: 0x61a, out: 0xfffffffffffffdc2
+lh :: offset: 0x61c, out: 0xffffffffffffc6af
+lh :: offset: 0x61e, out: 0x31e0
+lh :: offset: 0x620, out: 0xffffffffffff999d
+lh :: offset: 0x622, out: 0xffffffffffffbf0c
+lh :: offset: 0x624, out: 0x6bb4
+lh :: offset: 0x626, out: 0x5360
+lh :: offset: 0x628, out: 0x19f0
+lh :: offset: 0x62a, out: 0x1b79
+lh :: offset: 0x62c, out: 0x12c8
+lh :: offset: 0x62e, out: 0x32fc
+lh :: offset: 0x630, out: 0xfffffffffffffcd6
+lh :: offset: 0x632, out: 0xffffffffffffc72e
+lh :: offset: 0x634, out: 0xffffffffffff8384
+lh :: offset: 0x636, out: 0x3ef8
+lh :: offset: 0x638, out: 0x3580
+lh :: offset: 0x63a, out: 0x6a2a
+lh :: offset: 0x63c, out: 0xffffffffffffc7bb
+lh :: offset: 0x63e, out: 0x38b1
+lh :: offset: 0x640, out: 0x77c9
+lh :: offset: 0x642, out: 0x1dca
+lh :: offset: 0x644, out: 0xfffffffffffff612
+lh :: offset: 0x646, out: 0x15eb
+lh :: offset: 0x648, out: 0x47ae
+lh :: offset: 0x64a, out: 0xfffffffffffffd91
+lh :: offset: 0x64c, out: 0xffffffffffffcdd9
+lh :: offset: 0x64e, out: 0x5eaa
+lh :: offset: 0x650, out: 0x1117
+lh :: offset: 0x652, out: 0xffffffffffff81e9
+lh :: offset: 0x654, out: 0x70f9
+lh :: offset: 0x656, out: 0xffffffffffffbb84
+lh :: offset: 0x658, out: 0x32e0
+lh :: offset: 0x65a, out: 0xffffffffffffc6a5
+lh :: offset: 0x65c, out: 0x2aea
+lh :: offset: 0x65e, out: 0x5d4
+lh :: offset: 0x660, out: 0xffffffffffff9e63
+lh :: offset: 0x662, out: 0x19fb
+lh :: offset: 0x664, out: 0xfffffffffffff364
+lh :: offset: 0x666, out: 0x14ab
+lh :: offset: 0x668, out: 0x2aac
+lh :: offset: 0x66a, out: 0xffffffffffffa8d7
+lh :: offset: 0x66c, out: 0x559a
+lh :: offset: 0x66e, out: 0x249d
+lh :: offset: 0x670, out: 0x30ec
+lh :: offset: 0x672, out: 0x84b
+lh :: offset: 0x674, out: 0x764f
+lh :: offset: 0x676, out: 0xcd6
+lh :: offset: 0x678, out: 0xffffffffffff8fdf
+lh :: offset: 0x67a, out: 0xffffffffffff9246
+lh :: offset: 0x67c, out: 0xffffffffffffac07
+lh :: offset: 0x67e, out: 0x7f03
+lh :: offset: 0x680, out: 0x70f5
+lh :: offset: 0x682, out: 0x56e6
+lh :: offset: 0x684, out: 0xffffffffffffce6d
+lh :: offset: 0x686, out: 0x7e35
+lh :: offset: 0x688, out: 0x2711
+lh :: offset: 0x68a, out: 0x1a65
+lh :: offset: 0x68c, out: 0x2859
+lh :: offset: 0x68e, out: 0x1528
+lh :: offset: 0x690, out: 0xffffffffffffa9fb
+lh :: offset: 0x692, out: 0xffffffffffffd215
+lh :: offset: 0x694, out: 0x3283
+lh :: offset: 0x696, out: 0xffffffffffff9e1c
+lh :: offset: 0x698, out: 0x417
+lh :: offset: 0x69a, out: 0x282a
+lh :: offset: 0x69c, out: 0xffffffffffffc049
+lh :: offset: 0x69e, out: 0xffffffffffff8d95
+lh :: offset: 0x6a0, out: 0x58f3
+lh :: offset: 0x6a2, out: 0xffffffffffff9780
+lh :: offset: 0x6a4, out: 0xffffffffffffa490
+lh :: offset: 0x6a6, out: 0xfffffffffffff2e7
+lh :: offset: 0x6a8, out: 0xffffffffffffb1aa
+lh :: offset: 0x6aa, out: 0x975
+lh :: offset: 0x6ac, out: 0x4cca
+lh :: offset: 0x6ae, out: 0x775b
+lh :: offset: 0x6b0, out: 0x1020
+lh :: offset: 0x6b2, out: 0x3511
+lh :: offset: 0x6b4, out: 0xffffffffffff84a6
+lh :: offset: 0x6b6, out: 0xa2b
+lh :: offset: 0x6b8, out: 0xffffffffffff8b6f
+lh :: offset: 0x6ba, out: 0xffffffffffffa7d8
+lh :: offset: 0x6bc, out: 0xffffffffffffa0d3
+lh :: offset: 0x6be, out: 0x23f
+lh :: offset: 0x6c0, out: 0xffffffffffffdedd
+lh :: offset: 0x6c2, out: 0xffffffffffff9941
+lh :: offset: 0x6c4, out: 0xffffffffffff91b7
+lh :: offset: 0x6c6, out: 0xffffffffffffa3d9
+lh :: offset: 0x6c8, out: 0xffffffffffff9508
+lh :: offset: 0x6ca, out: 0x5a0d
+lh :: offset: 0x6cc, out: 0xffffffffffffb483
+lh :: offset: 0x6ce, out: 0x751c
+lh :: offset: 0x6d0, out: 0xffffffffffffb2d3
+lh :: offset: 0x6d2, out: 0x625b
+lh :: offset: 0x6d4, out: 0xffffffffffffad35
+lh :: offset: 0x6d6, out: 0xffffffffffff949c
+lh :: offset: 0x6d8, out: 0xffffffffffff9739
+lh :: offset: 0x6da, out: 0xffffffffffffa692
+lh :: offset: 0x6dc, out: 0x7f35
+lh :: offset: 0x6de, out: 0x7f56
+lh :: offset: 0x6e0, out: 0x7d27
+lh :: offset: 0x6e2, out: 0xffffffffffffdb8d
+lh :: offset: 0x6e4, out: 0xffffffffffff88e0
+lh :: offset: 0x6e6, out: 0x185b
+lh :: offset: 0x6e8, out: 0x1b91
+lh :: offset: 0x6ea, out: 0x2fd6
+lh :: offset: 0x6ec, out: 0x4cd2
+lh :: offset: 0x6ee, out: 0x255a
+lh :: offset: 0x6f0, out: 0x3f7b
+lh :: offset: 0x6f2, out: 0xffffffffffffa436
+lh :: offset: 0x6f4, out: 0xffffffffffffd589
+lh :: offset: 0x6f6, out: 0x1048
+lh :: offset: 0x6f8, out: 0x5790
+lh :: offset: 0x6fa, out: 0xfffffffffffff460
+lh :: offset: 0x6fc, out: 0x5708
+lh :: offset: 0x6fe, out: 0x6a6d
+lh :: offset: 0x700, out: 0x697f
+lh :: offset: 0x702, out: 0xffffffffffffde35
+lh :: offset: 0x704, out: 0xffffffffffffcbab
+lh :: offset: 0x706, out: 0xffffffffffffd58e
+lh :: offset: 0x708, out: 0xffffffffffffa5f1
+lh :: offset: 0x70a, out: 0x8c0
+lh :: offset: 0x70c, out: 0x48fd
+lh :: offset: 0x70e, out: 0x5755
+lh :: offset: 0x710, out: 0xffffffffffff8ddb
+lh :: offset: 0x712, out: 0xffffffffffff8ed9
+lh :: offset: 0x714, out: 0x40fb
+lh :: offset: 0x716, out: 0xffffffffffff8bb6
+lh :: offset: 0x718, out: 0x78cc
+lh :: offset: 0x71a, out: 0xffffffffffffabc5
+lh :: offset: 0x71c, out: 0xffffffffffffd51e
+lh :: offset: 0x71e, out: 0xffffffffffffbe00
+lh :: offset: 0x720, out: 0xab2
+lh :: offset: 0x722, out: 0x1c17
+lh :: offset: 0x724, out: 0x224a
+lh :: offset: 0x726, out: 0x2f7e
+lh :: offset: 0x728, out: 0x56a7
+lh :: offset: 0x72a, out: 0xffffffffffffa222
+lh :: offset: 0x72c, out: 0xfffffffffffff12c
+lh :: offset: 0x72e, out: 0xffffffffffffa978
+lh :: offset: 0x730, out: 0xffffffffffffe02f
+lh :: offset: 0x732, out: 0xffffffffffff811e
+lh :: offset: 0x734, out: 0xffffffffffffa93b
+lh :: offset: 0x736, out: 0xffffffffffff9950
+lh :: offset: 0x738, out: 0x6a0c
+lh :: offset: 0x73a, out: 0xffffffffffffc679
+lh :: offset: 0x73c, out: 0xffffffffffffea93
+lh :: offset: 0x73e, out: 0xffffffffffffb44e
+lh :: offset: 0x740, out: 0xffffffffffffb657
+lh :: offset: 0x742, out: 0x6c0e
+lh :: offset: 0x744, out: 0xfffffffffffffca0
+lh :: offset: 0x746, out: 0xfffffffffffffe71
+lh :: offset: 0x748, out: 0xffffffffffffaf57
+lh :: offset: 0x74a, out: 0xfffffffffffff818
+lh :: offset: 0x74c, out: 0x393d
+lh :: offset: 0x74e, out: 0x4ed6
+lh :: offset: 0x750, out: 0x770a
+lh :: offset: 0x752, out: 0x236
+lh :: offset: 0x754, out: 0xffffffffffff9020
+lh :: offset: 0x756, out: 0xfffffffffffff22e
+lh :: offset: 0x758, out: 0xffffffffffffc45d
+lh :: offset: 0x75a, out: 0xffffffffffffafd0
+lh :: offset: 0x75c, out: 0xffffffffffffb6c7
+lh :: offset: 0x75e, out: 0xffffffffffff81ef
+lh :: offset: 0x760, out: 0x315b
+lh :: offset: 0x762, out: 0xffffffffffff8102
+lh :: offset: 0x764, out: 0xfffffffffffff351
+lh :: offset: 0x766, out: 0xffffffffffffeed8
+lh :: offset: 0x768, out: 0xfffffffffffffd5e
+lh :: offset: 0x76a, out: 0xffffffffffff995e
+lh :: offset: 0x76c, out: 0xffffffffffffefb9
+lh :: offset: 0x76e, out: 0xffffffffffffadaf
+lh :: offset: 0x770, out: 0x3086
+lh :: offset: 0x772, out: 0xffffffffffffeb25
+lh :: offset: 0x774, out: 0x1933
+lh :: offset: 0x776, out: 0x3406
+lh :: offset: 0x778, out: 0x52bc
+lh :: offset: 0x77a, out: 0x4b4c
+lh :: offset: 0x77c, out: 0xffffffffffffda26
+lh :: offset: 0x77e, out: 0x1748
+lh :: offset: 0x780, out: 0xffffffffffffbe89
+lh :: offset: 0x782, out: 0xffffffffffff9302
+lh :: offset: 0x784, out: 0xfffffffffffffc9a
+lh :: offset: 0x786, out: 0x34fd
+lh :: offset: 0x788, out: 0xffffffffffffd180
+lh :: offset: 0x78a, out: 0xffffffffffffc521
+lh :: offset: 0x78c, out: 0x78c3
+lh :: offset: 0x78e, out: 0xffffffffffffd002
+lh :: offset: 0x790, out: 0x7a5d
+lh :: offset: 0x792, out: 0xffffffffffffc1d3
+lh :: offset: 0x794, out: 0x44a4
+lh :: offset: 0x796, out: 0xffffffffffffe909
+lh :: offset: 0x798, out: 0xffffffffffff9839
+lh :: offset: 0x79a, out: 0xffffffffffffddef
+lh :: offset: 0x79c, out: 0x698f
+lh :: offset: 0x79e, out: 0x65fd
+lh :: offset: 0x7a0, out: 0xffffffffffffaf52
+lh :: offset: 0x7a2, out: 0xffffffffffff81b5
+lh :: offset: 0x7a4, out: 0xffffffffffffe3ad
+lh :: offset: 0x7a6, out: 0xffffffffffffc49e
+lh :: offset: 0x7a8, out: 0x63e9
+lh :: offset: 0x7aa, out: 0xffffffffffffbdb2
+lh :: offset: 0x7ac, out: 0x41e8
+lh :: offset: 0x7ae, out: 0x7aa9
+lh :: offset: 0x7b0, out: 0xffffffffffffb58d
+lh :: offset: 0x7b2, out: 0x42f3
+lh :: offset: 0x7b4, out: 0x209e
+lh :: offset: 0x7b6, out: 0x372c
+lh :: offset: 0x7b8, out: 0xffffffffffffa83b
+lh :: offset: 0x7ba, out: 0xffffffffffffe122
+lh :: offset: 0x7bc, out: 0x70b7
+lh :: offset: 0x7be, out: 0x30f8
+lh :: offset: 0x7c0, out: 0x30ec
+lh :: offset: 0x7c2, out: 0x6789
+lh :: offset: 0x7c4, out: 0xffffffffffffde4b
+lh :: offset: 0x7c6, out: 0xffffffffffff9e02
+lh :: offset: 0x7c8, out: 0x631e
+lh :: offset: 0x7ca, out: 0xffffffffffff9826
+lh :: offset: 0x7cc, out: 0xffffffffffffa863
+lh :: offset: 0x7ce, out: 0xffffffffffffcd61
+lh :: offset: 0x7d0, out: 0xffffffffffffd3ca
+lh :: offset: 0x7d2, out: 0xffffffffffff9a7b
+lh :: offset: 0x7d4, out: 0xffffffffffffbc89
+lh :: offset: 0x7d6, out: 0xffffffffffffae87
+lh :: offset: 0x7d8, out: 0xffffffffffffaf17
+lh :: offset: 0x7da, out: 0x6481
+lh :: offset: 0x7dc, out: 0x644d
+lh :: offset: 0x7de, out: 0x58ec
+lh :: offset: 0x7e0, out: 0xffffffffffffb666
+lh :: offset: 0x7e2, out: 0xffffffffffffb236
+lh :: offset: 0x7e4, out: 0xffffffffffffce5f
+lh :: offset: 0x7e6, out: 0x680c
+lh :: offset: 0x7e8, out: 0x4d75
+lh :: offset: 0x7ea, out: 0x1f6d
+lh :: offset: 0x7ec, out: 0xffffffffffff9947
+lh :: offset: 0x7ee, out: 0x3baa
+lh :: offset: 0x7f0, out: 0x236b
+lh :: offset: 0x7f2, out: 0x5f12
+lh :: offset: 0x7f4, out: 0xffffffffffff9b44
+lh :: offset: 0x7f6, out: 0x614d
+lh :: offset: 0x7f8, out: 0x4121
+lh :: offset: 0x7fa, out: 0x1ba8
+lh :: offset: 0x7fc, out: 0xffffffffffffec66
+lh :: offset: 0x7fe, out: 0xffffffffffffa2a6
+lhu :: offset: 0x0, out: 0x0
+lhu :: offset: 0x2, out: 0x0
+lhu :: offset: 0x4, out: 0x0
+lhu :: offset: 0x6, out: 0x0
+lhu :: offset: 0x8, out: 0x3b6e
+lhu :: offset: 0xa, out: 0x982
+lhu :: offset: 0xc, out: 0x26d9
+lhu :: offset: 0xe, out: 0xd43
+lhu :: offset: 0x10, out: 0x76dc
+lhu :: offset: 0x12, out: 0x1304
+lhu :: offset: 0x14, out: 0x6b6b
+lhu :: offset: 0x16, out: 0x17c5
+lhu :: offset: 0x18, out: 0x4db2
+lhu :: offset: 0x1a, out: 0x1a86
+lhu :: offset: 0x1c, out: 0x5005
+lhu :: offset: 0x1e, out: 0x1e47
+lhu :: offset: 0x20, out: 0xedb8
+lhu :: offset: 0x22, out: 0x2608
+lhu :: offset: 0x24, out: 0xf00f
+lhu :: offset: 0x26, out: 0x22c9
+lhu :: offset: 0x28, out: 0xd6d6
+lhu :: offset: 0x2a, out: 0x2f8a
+lhu :: offset: 0x2c, out: 0xcb61
+lhu :: offset: 0x2e, out: 0x2b4b
+lhu :: offset: 0x30, out: 0x9b64
+lhu :: offset: 0x32, out: 0x350c
+lhu :: offset: 0x34, out: 0x86d3
+lhu :: offset: 0x36, out: 0x31cd
+lhu :: offset: 0x38, out: 0xa00a
+lhu :: offset: 0x3a, out: 0x3c8e
+lhu :: offset: 0x3c, out: 0xbdbd
+lhu :: offset: 0x3e, out: 0x384f
+lhu :: offset: 0x40, out: 0xdb70
+lhu :: offset: 0x42, out: 0x4c11
+lhu :: offset: 0x44, out: 0xc6c7
+lhu :: offset: 0x46, out: 0x48d0
+lhu :: offset: 0x48, out: 0xe01e
+lhu :: offset: 0x4a, out: 0x4593
+lhu :: offset: 0x4c, out: 0xfda9
+lhu :: offset: 0x4e, out: 0x4152
+lhu :: offset: 0x50, out: 0xadac
+lhu :: offset: 0x52, out: 0x5f15
+lhu :: offset: 0x54, out: 0xb01b
+lhu :: offset: 0x56, out: 0x5bd4
+lhu :: offset: 0x58, out: 0x96c2
+lhu :: offset: 0x5a, out: 0x5697
+lhu :: offset: 0x5c, out: 0x8b75
+lhu :: offset: 0x5e, out: 0x5256
+lhu :: offset: 0x60, out: 0x36c8
+lhu :: offset: 0x62, out: 0x6a19
+lhu :: offset: 0x64, out: 0x2b7f
+lhu :: offset: 0x66, out: 0x6ed8
+lhu :: offset: 0x68, out: 0xda6
+lhu :: offset: 0x6a, out: 0x639b
+lhu :: offset: 0x6c, out: 0x1011
+lhu :: offset: 0x6e, out: 0x675a
+lhu :: offset: 0x70, out: 0x4014
+lhu :: offset: 0x72, out: 0x791d
+lhu :: offset: 0x74, out: 0x5da3
+lhu :: offset: 0x76, out: 0x7ddc
+lhu :: offset: 0x78, out: 0x7b7a
+lhu :: offset: 0x7a, out: 0x709f
+lhu :: offset: 0x7c, out: 0x66cd
+lhu :: offset: 0x7e, out: 0x745e
+lhu :: offset: 0x80, out: 0xb6e0
+lhu :: offset: 0x82, out: 0x9823
+lhu :: offset: 0x84, out: 0xab57
+lhu :: offset: 0x86, out: 0x9ce2
+lhu :: offset: 0x88, out: 0x8d8e
+lhu :: offset: 0x8a, out: 0x91a1
+lhu :: offset: 0x8c, out: 0x9039
+lhu :: offset: 0x8e, out: 0x9560
+lhu :: offset: 0x90, out: 0xc03c
+lhu :: offset: 0x92, out: 0x8b27
+lhu :: offset: 0x94, out: 0xdd8b
+lhu :: offset: 0x96, out: 0x8fe6
+lhu :: offset: 0x98, out: 0xfb52
+lhu :: offset: 0x9a, out: 0x82a5
+lhu :: offset: 0x9c, out: 0xe6e5
+lhu :: offset: 0x9e, out: 0x8664
+lhu :: offset: 0xa0, out: 0x5b58
+lhu :: offset: 0xa2, out: 0xbe2b
+lhu :: offset: 0xa4, out: 0x46ef
+lhu :: offset: 0xa6, out: 0xbaea
+lhu :: offset: 0xa8, out: 0x6036
+lhu :: offset: 0xaa, out: 0xb7a9
+lhu :: offset: 0xac, out: 0x7d81
+lhu :: offset: 0xae, out: 0xb368
+lhu :: offset: 0xb0, out: 0x2d84
+lhu :: offset: 0xb2, out: 0xad2f
+lhu :: offset: 0xb4, out: 0x3033
+lhu :: offset: 0xb6, out: 0xa9ee
+lhu :: offset: 0xb8, out: 0x16ea
+lhu :: offset: 0xba, out: 0xa4ad
+lhu :: offset: 0xbc, out: 0xb5d
+lhu :: offset: 0xbe, out: 0xa06c
+lhu :: offset: 0xc0, out: 0x6d90
+lhu :: offset: 0xc2, out: 0xd432
+lhu :: offset: 0xc4, out: 0x7027
+lhu :: offset: 0xc6, out: 0xd0f3
+lhu :: offset: 0xc8, out: 0x56fe
+lhu :: offset: 0xca, out: 0xddb0
+lhu :: offset: 0xcc, out: 0x4b49
+lhu :: offset: 0xce, out: 0xd971
+lhu :: offset: 0xd0, out: 0x1b4c
+lhu :: offset: 0xd2, out: 0xc736
+lhu :: offset: 0xd4, out: 0x6fb
+lhu :: offset: 0xd6, out: 0xc3f7
+lhu :: offset: 0xd8, out: 0x2022
+lhu :: offset: 0xda, out: 0xceb4
+lhu :: offset: 0xdc, out: 0x3d95
+lhu :: offset: 0xde, out: 0xca75
+lhu :: offset: 0xe0, out: 0x8028
+lhu :: offset: 0xe2, out: 0xf23a
+lhu :: offset: 0xe4, out: 0x9d9f
+lhu :: offset: 0xe6, out: 0xf6fb
+lhu :: offset: 0xe8, out: 0xbb46
+lhu :: offset: 0xea, out: 0xfbb8
+lhu :: offset: 0xec, out: 0xa6f1
+lhu :: offset: 0xee, out: 0xff79
+lhu :: offset: 0xf0, out: 0xf6f4
+lhu :: offset: 0xf2, out: 0xe13e
+lhu :: offset: 0xf4, out: 0xeb43
+lhu :: offset: 0xf6, out: 0xe5ff
+lhu :: offset: 0xf8, out: 0xcd9a
+lhu :: offset: 0xfa, out: 0xe8bc
+lhu :: offset: 0xfc, out: 0xd02d
+lhu :: offset: 0xfe, out: 0xec7d
+lhu :: offset: 0x100, out: 0x7077
+lhu :: offset: 0x102, out: 0x3486
+lhu :: offset: 0x104, out: 0x6dc0
+lhu :: offset: 0x106, out: 0x3047
+lhu :: offset: 0x108, out: 0x4b19
+lhu :: offset: 0x10a, out: 0x3d04
+lhu :: offset: 0x10c, out: 0x56ae
+lhu :: offset: 0x10e, out: 0x39c5
+lhu :: offset: 0x110, out: 0x6ab
+lhu :: offset: 0x112, out: 0x2782
+lhu :: offset: 0x114, out: 0x1b1c
+lhu :: offset: 0x116, out: 0x2343
+lhu :: offset: 0x118, out: 0x3dc5
+lhu :: offset: 0x11a, out: 0x2e00
+lhu :: offset: 0x11c, out: 0x2072
+lhu :: offset: 0x11e, out: 0x2ac1
+lhu :: offset: 0x120, out: 0x9dcf
+lhu :: offset: 0x122, out: 0x128e
+lhu :: offset: 0x124, out: 0x8078
+lhu :: offset: 0x126, out: 0x164f
+lhu :: offset: 0x128, out: 0xa6a1
+lhu :: offset: 0x12a, out: 0x1b0c
+lhu :: offset: 0x12c, out: 0xbb16
+lhu :: offset: 0x12e, out: 0x1fcd
+lhu :: offset: 0x130, out: 0xeb13
+lhu :: offset: 0x132, out: 0x18a
+lhu :: offset: 0x134, out: 0xf6a4
+lhu :: offset: 0x136, out: 0x54b
+lhu :: offset: 0x138, out: 0xd07d
+lhu :: offset: 0x13a, out: 0x808
+lhu :: offset: 0x13c, out: 0xcdca
+lhu :: offset: 0x13e, out: 0xcc9
+lhu :: offset: 0x140, out: 0xab07
+lhu :: offset: 0x142, out: 0x7897
+lhu :: offset: 0x144, out: 0xb6b0
+lhu :: offset: 0x146, out: 0x7c56
+lhu :: offset: 0x148, out: 0x9069
+lhu :: offset: 0x14a, out: 0x7115
+lhu :: offset: 0x14c, out: 0x8dde
+lhu :: offset: 0x14e, out: 0x75d4
+lhu :: offset: 0x150, out: 0xdddb
+lhu :: offset: 0x152, out: 0x6b93
+lhu :: offset: 0x154, out: 0xc06c
+lhu :: offset: 0x156, out: 0x6f52
+lhu :: offset: 0x158, out: 0xe6b5
+lhu :: offset: 0x15a, out: 0x6211
+lhu :: offset: 0x15c, out: 0xfb02
+lhu :: offset: 0x15e, out: 0x66d0
+lhu :: offset: 0x160, out: 0x46bf
+lhu :: offset: 0x162, out: 0x5e9f
+lhu :: offset: 0x164, out: 0x5b08
+lhu :: offset: 0x166, out: 0x5a5e
+lhu :: offset: 0x168, out: 0x7dd1
+lhu :: offset: 0x16a, out: 0x571d
+lhu :: offset: 0x16c, out: 0x6066
+lhu :: offset: 0x16e, out: 0x53dc
+lhu :: offset: 0x170, out: 0x3063
+lhu :: offset: 0x172, out: 0x4d9b
+lhu :: offset: 0x174, out: 0x2dd4
+lhu :: offset: 0x176, out: 0x495a
+lhu :: offset: 0x178, out: 0xb0d
+lhu :: offset: 0x17a, out: 0x4419
+lhu :: offset: 0x17c, out: 0x16ba
+lhu :: offset: 0x17e, out: 0x40d8
+lhu :: offset: 0x180, out: 0xc697
+lhu :: offset: 0x182, out: 0xaca5
+lhu :: offset: 0x184, out: 0xdb20
+lhu :: offset: 0x186, out: 0xa864
+lhu :: offset: 0x188, out: 0xfdf9
+lhu :: offset: 0x18a, out: 0xa527
+lhu :: offset: 0x18c, out: 0xe04e
+lhu :: offset: 0x18e, out: 0xa1e6
+lhu :: offset: 0x190, out: 0xb04b
+lhu :: offset: 0x192, out: 0xbfa1
+lhu :: offset: 0x194, out: 0xadfc
+lhu :: offset: 0x196, out: 0xbb60
+lhu :: offset: 0x198, out: 0x8b25
+lhu :: offset: 0x19a, out: 0xb623
+lhu :: offset: 0x19c, out: 0x9692
+lhu :: offset: 0x19e, out: 0xb2e2
+lhu :: offset: 0x1a0, out: 0x2b2f
+lhu :: offset: 0x1a2, out: 0x8aad
+lhu :: offset: 0x1a4, out: 0x0
+lhu :: offset: 0x1a6, out: 0x0
+lhu :: offset: 0x1a8, out: 0x0
+lhu :: offset: 0x1aa, out: 0x0
+lhu :: offset: 0x1ac, out: 0xdf6
+lhu :: offset: 0x1ae, out: 0x87ee
+lhu :: offset: 0x1b0, out: 0x5df3
+lhu :: offset: 0x1b2, out: 0x99a9
+lhu :: offset: 0x1b4, out: 0x4044
+lhu :: offset: 0x1b6, out: 0x9d68
+lhu :: offset: 0x1b8, out: 0x669d
+lhu :: offset: 0x1ba, out: 0x902b
+lhu :: offset: 0x1bc, out: 0x7b2a
+lhu :: offset: 0x1be, out: 0x94ea
+lhu :: offset: 0x1c0, out: 0x1de7
+lhu :: offset: 0x1c2, out: 0xe0b4
+lhu :: offset: 0x1c4, out: 0x50
+lhu :: offset: 0x1c6, out: 0xe475
+lhu :: offset: 0x1c8, out: 0x2689
+lhu :: offset: 0x1ca, out: 0xe936
+lhu :: offset: 0x1cc, out: 0x3b3e
+lhu :: offset: 0x1ce, out: 0xedf7
+lhu :: offset: 0x1d0, out: 0x6b3b
+lhu :: offset: 0x1d2, out: 0xf3b0
+lhu :: offset: 0x1d4, out: 0x768c
+lhu :: offset: 0x1d6, out: 0xf771
+lhu :: offset: 0x1d8, out: 0x5055
+lhu :: offset: 0x1da, out: 0xfa32
+lhu :: offset: 0x1dc, out: 0x4de2
+lhu :: offset: 0x1de, out: 0xfef3
+lhu :: offset: 0x1e0, out: 0xf05f
+lhu :: offset: 0x1e2, out: 0xc6bc
+lhu :: offset: 0x1e4, out: 0xede8
+lhu :: offset: 0x1e6, out: 0xc27d
+lhu :: offset: 0x1e8, out: 0xcb31
+lhu :: offset: 0x1ea, out: 0xcf3e
+lhu :: offset: 0x1ec, out: 0xd686
+lhu :: offset: 0x1ee, out: 0xcbff
+lhu :: offset: 0x1f0, out: 0x8683
+lhu :: offset: 0x1f2, out: 0xd5b8
+lhu :: offset: 0x1f4, out: 0x9b34
+lhu :: offset: 0x1f6, out: 0xd179
+lhu :: offset: 0x1f8, out: 0xbded
+lhu :: offset: 0x1fa, out: 0xdc3a
+lhu :: offset: 0x1fc, out: 0xa05a
+lhu :: offset: 0x1fe, out: 0xd8fb
+lhu :: offset: 0x200, out: 0xe0ee
+lhu :: offset: 0x202, out: 0x690c
+lhu :: offset: 0x204, out: 0xfd59
+lhu :: offset: 0x206, out: 0x6dcd
+lhu :: offset: 0x208, out: 0xdb80
+lhu :: offset: 0x20a, out: 0x608e
+lhu :: offset: 0x20c, out: 0xc637
+lhu :: offset: 0x20e, out: 0x644f
+lhu :: offset: 0x210, out: 0x9632
+lhu :: offset: 0x212, out: 0x7a08
+lhu :: offset: 0x214, out: 0x8b85
+lhu :: offset: 0x216, out: 0x7ec9
+lhu :: offset: 0x218, out: 0xad5c
+lhu :: offset: 0x21a, out: 0x738a
+lhu :: offset: 0x21c, out: 0xb0eb
+lhu :: offset: 0x21e, out: 0x774b
+lhu :: offset: 0x220, out: 0xd56
+lhu :: offset: 0x222, out: 0x4f04
+lhu :: offset: 0x224, out: 0x10e1
+lhu :: offset: 0x226, out: 0x4bc5
+lhu :: offset: 0x228, out: 0x3638
+lhu :: offset: 0x22a, out: 0x4686
+lhu :: offset: 0x22c, out: 0x2b8f
+lhu :: offset: 0x22e, out: 0x4247
+lhu :: offset: 0x230, out: 0x7b8a
+lhu :: offset: 0x232, out: 0x5c00
+lhu :: offset: 0x234, out: 0x663d
+lhu :: offset: 0x236, out: 0x58c1
+lhu :: offset: 0x238, out: 0x40e4
+lhu :: offset: 0x23a, out: 0x5582
+lhu :: offset: 0x23c, out: 0x5d53
+lhu :: offset: 0x23e, out: 0x5143
+lhu :: offset: 0x240, out: 0x3b9e
+lhu :: offset: 0x242, out: 0x251d
+lhu :: offset: 0x244, out: 0x2629
+lhu :: offset: 0x246, out: 0x21dc
+lhu :: offset: 0x248, out: 0xf0
+lhu :: offset: 0x24a, out: 0x2c9f
+lhu :: offset: 0x24c, out: 0x1d47
+lhu :: offset: 0x24e, out: 0x285e
+lhu :: offset: 0x250, out: 0x4d42
+lhu :: offset: 0x252, out: 0x3619
+lhu :: offset: 0x254, out: 0x50f5
+lhu :: offset: 0x256, out: 0x32d8
+lhu :: offset: 0x258, out: 0x762c
+lhu :: offset: 0x25a, out: 0x3f9b
+lhu :: offset: 0x25c, out: 0x6b9b
+lhu :: offset: 0x25e, out: 0x3b5a
+lhu :: offset: 0x260, out: 0xd626
+lhu :: offset: 0x262, out: 0x315
+lhu :: offset: 0x264, out: 0xcb91
+lhu :: offset: 0x266, out: 0x7d4
+lhu :: offset: 0x268, out: 0xed48
+lhu :: offset: 0x26a, out: 0xa97
+lhu :: offset: 0x26c, out: 0xf0ff
+lhu :: offset: 0x26e, out: 0xe56
+lhu :: offset: 0x270, out: 0xa0fa
+lhu :: offset: 0x272, out: 0x1011
+lhu :: offset: 0x274, out: 0xbd4d
+lhu :: offset: 0x276, out: 0x14d0
+lhu :: offset: 0x278, out: 0x9b94
+lhu :: offset: 0x27a, out: 0x1993
+lhu :: offset: 0x27c, out: 0x8623
+lhu :: offset: 0x27e, out: 0x1d52
+lhu :: offset: 0x280, out: 0x560e
+lhu :: offset: 0x282, out: 0xf12f
+lhu :: offset: 0x284, out: 0x4bb9
+lhu :: offset: 0x286, out: 0xf5ee
+lhu :: offset: 0x288, out: 0x6d60
+lhu :: offset: 0x28a, out: 0xf8ad
+lhu :: offset: 0x28c, out: 0x70d7
+lhu :: offset: 0x28e, out: 0xfc6c
+lhu :: offset: 0x290, out: 0x20d2
+lhu :: offset: 0x292, out: 0xe22b
+lhu :: offset: 0x294, out: 0x3d65
+lhu :: offset: 0x296, out: 0xe6ea
+lhu :: offset: 0x298, out: 0x1bbc
+lhu :: offset: 0x29a, out: 0xeba9
+lhu :: offset: 0x29c, out: 0x60b
+lhu :: offset: 0x29e, out: 0xef68
+lhu :: offset: 0x2a0, out: 0xbbb6
+lhu :: offset: 0x2a2, out: 0xd727
+lhu :: offset: 0x2a4, out: 0xa601
+lhu :: offset: 0x2a6, out: 0xd3e6
+lhu :: offset: 0x2a8, out: 0x80d8
+lhu :: offset: 0x2aa, out: 0xdea5
+lhu :: offset: 0x2ac, out: 0x9d6f
+lhu :: offset: 0x2ae, out: 0xda64
+lhu :: offset: 0x2b0, out: 0xcd6a
+lhu :: offset: 0x2b2, out: 0xc423
+lhu :: offset: 0x2b4, out: 0x0
+lhu :: offset: 0x2b6, out: 0x0
+lhu :: offset: 0x2b8, out: 0xf604
+lhu :: offset: 0x2ba, out: 0xcda1
+lhu :: offset: 0x2bc, out: 0x0
+lhu :: offset: 0x2be, out: 0x0
+lhu :: offset: 0x2c0, out: 0x8d7e
+lhu :: offset: 0x2c2, out: 0xbd3e
+lhu :: offset: 0x2c4, out: 0x90c9
+lhu :: offset: 0x2c6, out: 0xb9ff
+lhu :: offset: 0x2c8, out: 0xb610
+lhu :: offset: 0x2ca, out: 0xb4bc
+lhu :: offset: 0x2cc, out: 0xaba7
+lhu :: offset: 0x2ce, out: 0xb07d
+lhu :: offset: 0x2d0, out: 0xfba2
+lhu :: offset: 0x2d2, out: 0xae3a
+lhu :: offset: 0x2d4, out: 0xe615
+lhu :: offset: 0x2d6, out: 0xaafb
+lhu :: offset: 0x2d8, out: 0xc0cc
+lhu :: offset: 0x2da, out: 0xa7b8
+lhu :: offset: 0x2dc, out: 0xdd7b
+lhu :: offset: 0x2de, out: 0xa379
+lhu :: offset: 0x2e0, out: 0x60c6
+lhu :: offset: 0x2e2, out: 0x9b36
+lhu :: offset: 0x2e4, out: 0x7d71
+lhu :: offset: 0x2e6, out: 0x9ff7
+lhu :: offset: 0x2e8, out: 0x5ba8
+lhu :: offset: 0x2ea, out: 0x92b4
+lhu :: offset: 0x2ec, out: 0x461f
+lhu :: offset: 0x2ee, out: 0x9675
+lhu :: offset: 0x2f0, out: 0x161a
+lhu :: offset: 0x2f2, out: 0x8832
+lhu :: offset: 0x2f4, out: 0xbad
+lhu :: offset: 0x2f6, out: 0x8cf3
+lhu :: offset: 0x2f8, out: 0x2d74
+lhu :: offset: 0x2fa, out: 0x81b0
+lhu :: offset: 0x2fc, out: 0x30c3
+lhu :: offset: 0x2fe, out: 0x8571
+lhu :: offset: 0x300, out: 0x9099
+lhu :: offset: 0x302, out: 0x5d8a
+lhu :: offset: 0x304, out: 0x8d2e
+lhu :: offset: 0x306, out: 0x594b
+lhu :: offset: 0x308, out: 0xabf7
+lhu :: offset: 0x30a, out: 0x5408
+lhu :: offset: 0x30c, out: 0xb640
+lhu :: offset: 0x30e, out: 0x50c9
+lhu :: offset: 0x310, out: 0xe645
+lhu :: offset: 0x312, out: 0x4e8e
+lhu :: offset: 0x314, out: 0xfbf2
+lhu :: offset: 0x316, out: 0x4a4f
+lhu :: offset: 0x318, out: 0xdd2b
+lhu :: offset: 0x31a, out: 0x470c
+lhu :: offset: 0x31c, out: 0xc09c
+lhu :: offset: 0x31e, out: 0x43cd
+lhu :: offset: 0x320, out: 0x7d21
+lhu :: offset: 0x322, out: 0x7b82
+lhu :: offset: 0x324, out: 0x6096
+lhu :: offset: 0x326, out: 0x7f43
+lhu :: offset: 0x328, out: 0x464f
+lhu :: offset: 0x32a, out: 0x7200
+lhu :: offset: 0x32c, out: 0x5bf8
+lhu :: offset: 0x32e, out: 0x76c1
+lhu :: offset: 0x330, out: 0xbfd
+lhu :: offset: 0x332, out: 0x6886
+lhu :: offset: 0x334, out: 0x164a
+lhu :: offset: 0x336, out: 0x6c47
+lhu :: offset: 0x338, out: 0x3093
+lhu :: offset: 0x33a, out: 0x6104
+lhu :: offset: 0x33c, out: 0x2d24
+lhu :: offset: 0x33e, out: 0x65c5
+lhu :: offset: 0x340, out: 0x4be9
+lhu :: offset: 0x342, out: 0x119b
+lhu :: offset: 0x344, out: 0x565e
+lhu :: offset: 0x346, out: 0x155a
+lhu :: offset: 0x348, out: 0x7087
+lhu :: offset: 0x34a, out: 0x1819
+lhu :: offset: 0x34c, out: 0x6d30
+lhu :: offset: 0x34e, out: 0x1cd8
+lhu :: offset: 0x350, out: 0x3d35
+lhu :: offset: 0x352, out: 0x29f
+lhu :: offset: 0x354, out: 0x2082
+lhu :: offset: 0x356, out: 0x65e
+lhu :: offset: 0x358, out: 0x65b
+lhu :: offset: 0x35a, out: 0xb1d
+lhu :: offset: 0x35c, out: 0x1bec
+lhu :: offset: 0x35e, out: 0xfdc
+lhu :: offset: 0x360, out: 0xa651
+lhu :: offset: 0x362, out: 0x3793
+lhu :: offset: 0x364, out: 0xbbe6
+lhu :: offset: 0x366, out: 0x3352
+lhu :: offset: 0x368, out: 0x9d3f
+lhu :: offset: 0x36a, out: 0x3e11
+lhu :: offset: 0x36c, out: 0x8088
+lhu :: offset: 0x36e, out: 0x3ad0
+lhu :: offset: 0x370, out: 0xd08d
+lhu :: offset: 0x372, out: 0x2497
+lhu :: offset: 0x374, out: 0xcd3a
+lhu :: offset: 0x376, out: 0x2056
+lhu :: offset: 0x378, out: 0xebe3
+lhu :: offset: 0x37a, out: 0x2d15
+lhu :: offset: 0x37c, out: 0xf654
+lhu :: offset: 0x37e, out: 0x29d4
+lhu :: offset: 0x380, out: 0x2679
+lhu :: offset: 0x382, out: 0xc5a9
+lhu :: offset: 0x384, out: 0x3bce
+lhu :: offset: 0x386, out: 0xc168
+lhu :: offset: 0x388, out: 0x1d17
+lhu :: offset: 0x38a, out: 0xcc2b
+lhu :: offset: 0x38c, out: 0xa0
+lhu :: offset: 0x38e, out: 0xc8ea
+lhu :: offset: 0x390, out: 0x50a5
+lhu :: offset: 0x392, out: 0xd6ad
+lhu :: offset: 0x394, out: 0x4d12
+lhu :: offset: 0x396, out: 0xd26c
+lhu :: offset: 0x398, out: 0x6bcb
+lhu :: offset: 0x39a, out: 0xdf2f
+lhu :: offset: 0x39c, out: 0x767c
+lhu :: offset: 0x39e, out: 0xdbee
+lhu :: offset: 0x3a0, out: 0xcbc1
+lhu :: offset: 0x3a2, out: 0xe3a1
+lhu :: offset: 0x3a4, out: 0xd676
+lhu :: offset: 0x3a6, out: 0xe760
+lhu :: offset: 0x3a8, out: 0xf0af
+lhu :: offset: 0x3aa, out: 0xea23
+lhu :: offset: 0x3ac, out: 0xed18
+lhu :: offset: 0x3ae, out: 0xeee2
+lhu :: offset: 0x3b0, out: 0xbd1d
+lhu :: offset: 0x3b2, out: 0xf0a5
+lhu :: offset: 0x3b4, out: 0xa0aa
+lhu :: offset: 0x3b6, out: 0xf464
+lhu :: offset: 0x3b8, out: 0x8673
+lhu :: offset: 0x3ba, out: 0xf927
+lhu :: offset: 0x3bc, out: 0x9bc4
+lhu :: offset: 0x3be, out: 0xfde6
+lhu :: offset: 0x3c0, out: 0xfd09
+lhu :: offset: 0x3c2, out: 0x89b8
+lhu :: offset: 0x3c4, out: 0xe0be
+lhu :: offset: 0x3c6, out: 0x8d79
+lhu :: offset: 0x3c8, out: 0xc667
+lhu :: offset: 0x3ca, out: 0x803a
+lhu :: offset: 0x3cc, out: 0xdbd0
+lhu :: offset: 0x3ce, out: 0x84fb
+lhu :: offset: 0x3d0, out: 0x8bd5
+lhu :: offset: 0x3d2, out: 0x9abc
+lhu :: offset: 0x3d4, out: 0x9662
+lhu :: offset: 0x3d6, out: 0x9e7d
+lhu :: offset: 0x3d8, out: 0xb0bb
+lhu :: offset: 0x3da, out: 0x933e
+lhu :: offset: 0x3dc, out: 0xad0c
+lhu :: offset: 0x3de, out: 0x97ff
+lhu :: offset: 0x3e0, out: 0x10b1
+lhu :: offset: 0x3e2, out: 0xafb0
+lhu :: offset: 0x3e4, out: 0xd06
+lhu :: offset: 0x3e6, out: 0xab71
+lhu :: offset: 0x3e8, out: 0x2bdf
+lhu :: offset: 0x3ea, out: 0xa632
+lhu :: offset: 0x3ec, out: 0x3668
+lhu :: offset: 0x3ee, out: 0xa2f3
+lhu :: offset: 0x3f0, out: 0x666d
+lhu :: offset: 0x3f2, out: 0xbcb4
+lhu :: offset: 0x3f4, out: 0x7bda
+lhu :: offset: 0x3f6, out: 0xb875
+lhu :: offset: 0x3f8, out: 0x5d03
+lhu :: offset: 0x3fa, out: 0xb536
+lhu :: offset: 0x3fc, out: 0x40b4
+lhu :: offset: 0x3fe, out: 0xb1f7
+lhu :: offset: 0x0, out: 0xd6aa
+lhu :: offset: 0x2, out: 0x12b
+lhu :: offset: 0x4, out: 0x0
+lhu :: offset: 0x6, out: 0x0
+lhu :: offset: 0x8, out: 0xab13
+lhu :: offset: 0xa, out: 0x82d2
+lhu :: offset: 0xc, out: 0x8763
+lhu :: offset: 0xe, out: 0x7e
+lhu :: offset: 0x10, out: 0x10f3
+lhu :: offset: 0x12, out: 0xc315
+lhu :: offset: 0x14, out: 0x6e9a
+lhu :: offset: 0x16, out: 0x976d
+lhu :: offset: 0x18, out: 0xa5fb
+lhu :: offset: 0x1a, out: 0x5ad6
+lhu :: offset: 0x1c, out: 0x6d77
+lhu :: offset: 0x1e, out: 0xb774
+lhu :: offset: 0x20, out: 0xb502
+lhu :: offset: 0x22, out: 0x8677
+lhu :: offset: 0x24, out: 0xc0a2
+lhu :: offset: 0x26, out: 0x42b0
+lhu :: offset: 0x28, out: 0x30ad
+lhu :: offset: 0x2a, out: 0x9e3c
+lhu :: offset: 0x2c, out: 0x9d31
+lhu :: offset: 0x2e, out: 0x2aa8
+lhu :: offset: 0x30, out: 0x413d
+lhu :: offset: 0x32, out: 0x77fb
+lhu :: offset: 0x34, out: 0x8ec3
+lhu :: offset: 0x36, out: 0x1f30
+lhu :: offset: 0x38, out: 0xe4f7
+lhu :: offset: 0x3a, out: 0xc760
+lhu :: offset: 0x3c, out: 0x4213
+lhu :: offset: 0x3e, out: 0x7aa0
+lhu :: offset: 0x40, out: 0xdca0
+lhu :: offset: 0x42, out: 0x1ad8
+lhu :: offset: 0x44, out: 0x5cc5
+lhu :: offset: 0x46, out: 0x9e70
+lhu :: offset: 0x48, out: 0xa60d
+lhu :: offset: 0x4a, out: 0x9615
+lhu :: offset: 0x4c, out: 0xda86
+lhu :: offset: 0x4e, out: 0x4b3d
+lhu :: offset: 0x50, out: 0xd41d
+lhu :: offset: 0x52, out: 0x6353
+lhu :: offset: 0x54, out: 0xa4dd
+lhu :: offset: 0x56, out: 0x5e7
+lhu :: offset: 0x58, out: 0xd413
+lhu :: offset: 0x5a, out: 0xc40b
+lhu :: offset: 0x5c, out: 0x5a9d
+lhu :: offset: 0x5e, out: 0x3af3
+lhu :: offset: 0x60, out: 0xa180
+lhu :: offset: 0x62, out: 0x9a08
+lhu :: offset: 0x64, out: 0x556
+lhu :: offset: 0x66, out: 0x47f5
+lhu :: offset: 0x68, out: 0x40f
+lhu :: offset: 0x6a, out: 0xd6d2
+lhu :: offset: 0x6c, out: 0xb77f
+lhu :: offset: 0x6e, out: 0x9564
+lhu :: offset: 0x70, out: 0x6bbe
+lhu :: offset: 0x72, out: 0xb2c7
+lhu :: offset: 0x74, out: 0x8279
+lhu :: offset: 0x76, out: 0xcebc
+lhu :: offset: 0x78, out: 0xe4c7
+lhu :: offset: 0x7a, out: 0x1f18
+lhu :: offset: 0x7c, out: 0x4c2f
+lhu :: offset: 0x7e, out: 0xb503
+lhu :: offset: 0x80, out: 0xa797
+lhu :: offset: 0x82, out: 0x81af
+lhu :: offset: 0x84, out: 0x52fc
+lhu :: offset: 0x86, out: 0x94ff
+lhu :: offset: 0x88, out: 0x50ea
+lhu :: offset: 0x8a, out: 0x6dfc
+lhu :: offset: 0x8c, out: 0xd916
+lhu :: offset: 0x8e, out: 0x31d8
+lhu :: offset: 0x90, out: 0x95b1
+lhu :: offset: 0x92, out: 0x78e8
+lhu :: offset: 0x94, out: 0x9bd6
+lhu :: offset: 0x96, out: 0x3654
+lhu :: offset: 0x98, out: 0x259b
+lhu :: offset: 0x9a, out: 0x9b63
+lhu :: offset: 0x9c, out: 0xa631
+lhu :: offset: 0x9e, out: 0x85e0
+lhu :: offset: 0xa0, out: 0x7ac5
+lhu :: offset: 0xa2, out: 0xccf1
+lhu :: offset: 0xa4, out: 0x3eca
+lhu :: offset: 0xa6, out: 0x556b
+lhu :: offset: 0xa8, out: 0xa0fb
+lhu :: offset: 0xaa, out: 0x81ee
+lhu :: offset: 0xac, out: 0x5fc5
+lhu :: offset: 0xae, out: 0xb42f
+lhu :: offset: 0xb0, out: 0x2d97
+lhu :: offset: 0xb2, out: 0x1468
+lhu :: offset: 0xb4, out: 0xfec
+lhu :: offset: 0xb6, out: 0x25b5
+lhu :: offset: 0xb8, out: 0x87a
+lhu :: offset: 0xba, out: 0x2cfb
+lhu :: offset: 0xbc, out: 0xc513
+lhu :: offset: 0xbe, out: 0xfc93
+lhu :: offset: 0xc0, out: 0x766
+lhu :: offset: 0xc2, out: 0xcda2
+lhu :: offset: 0xc4, out: 0xd9a9
+lhu :: offset: 0xc6, out: 0x3c2c
+lhu :: offset: 0xc8, out: 0xda3e
+lhu :: offset: 0xca, out: 0x7d72
+lhu :: offset: 0xcc, out: 0x722a
+lhu :: offset: 0xce, out: 0x1791
+lhu :: offset: 0xd0, out: 0x24ad
+lhu :: offset: 0xd2, out: 0x93ce
+lhu :: offset: 0xd4, out: 0xc9d1
+lhu :: offset: 0xd6, out: 0x87c
+lhu :: offset: 0xd8, out: 0x4ed2
+lhu :: offset: 0xda, out: 0x3898
+lhu :: offset: 0xdc, out: 0x7570
+lhu :: offset: 0xde, out: 0x1d2a
+lhu :: offset: 0xe0, out: 0xd036
+lhu :: offset: 0xe2, out: 0x710c
+lhu :: offset: 0xe4, out: 0x70db
+lhu :: offset: 0xe6, out: 0xd0d0
+lhu :: offset: 0xe8, out: 0x5604
+lhu :: offset: 0xea, out: 0x341
+lhu :: offset: 0xec, out: 0x1c7d
+lhu :: offset: 0xee, out: 0x39c2
+lhu :: offset: 0xf0, out: 0x31ce
+lhu :: offset: 0xf2, out: 0x8ecc
+lhu :: offset: 0xf4, out: 0xb7af
+lhu :: offset: 0xf6, out: 0x8e94
+lhu :: offset: 0xf8, out: 0x674f
+lhu :: offset: 0xfa, out: 0x1ce7
+lhu :: offset: 0xfc, out: 0x6a8d
+lhu :: offset: 0xfe, out: 0x24eb
+lhu :: offset: 0x100, out: 0xe4a7
+lhu :: offset: 0x102, out: 0x12d6
+lhu :: offset: 0x104, out: 0x4544
+lhu :: offset: 0x106, out: 0x2f39
+lhu :: offset: 0x108, out: 0x4c54
+lhu :: offset: 0x10a, out: 0x56da
+lhu :: offset: 0x10c, out: 0xc2b7
+lhu :: offset: 0x10e, out: 0x2608
+lhu :: offset: 0x110, out: 0x252f
+lhu :: offset: 0x112, out: 0xc8d7
+lhu :: offset: 0x114, out: 0x2da
+lhu :: offset: 0x116, out: 0x9001
+lhu :: offset: 0x118, out: 0xa4f7
+lhu :: offset: 0x11a, out: 0xf2ef
+lhu :: offset: 0x11c, out: 0xd5f1
+lhu :: offset: 0x11e, out: 0xc890
+lhu :: offset: 0x120, out: 0xa214
+lhu :: offset: 0x122, out: 0xc8b0
+lhu :: offset: 0x124, out: 0x5cb
+lhu :: offset: 0x126, out: 0xed50
+lhu :: offset: 0x128, out: 0x136c
+lhu :: offset: 0x12a, out: 0x5991
+lhu :: offset: 0x12c, out: 0x9189
+lhu :: offset: 0x12e, out: 0x3147
+lhu :: offset: 0x130, out: 0xb6f3
+lhu :: offset: 0x132, out: 0x9a2f
+lhu :: offset: 0x134, out: 0xcff9
+lhu :: offset: 0x136, out: 0xc6ee
+lhu :: offset: 0x138, out: 0x5270
+lhu :: offset: 0x13a, out: 0x3889
+lhu :: offset: 0x13c, out: 0x5212
+lhu :: offset: 0x13e, out: 0xa809
+lhu :: offset: 0x140, out: 0x5040
+lhu :: offset: 0x142, out: 0xad76
+lhu :: offset: 0x144, out: 0xa04
+lhu :: offset: 0x146, out: 0x8775
+lhu :: offset: 0x148, out: 0x5a83
+lhu :: offset: 0x14a, out: 0x84bb
+lhu :: offset: 0x14c, out: 0xe85e
+lhu :: offset: 0x14e, out: 0x2c3d
+lhu :: offset: 0x150, out: 0xaa67
+lhu :: offset: 0x152, out: 0xc506
+lhu :: offset: 0x154, out: 0xff8f
+lhu :: offset: 0x156, out: 0xae6a
+lhu :: offset: 0x158, out: 0x5ee3
+lhu :: offset: 0x15a, out: 0x60ed
+lhu :: offset: 0x15c, out: 0x12dd
+lhu :: offset: 0x15e, out: 0xc071
+lhu :: offset: 0x160, out: 0xca5a
+lhu :: offset: 0x162, out: 0x30dc
+lhu :: offset: 0x164, out: 0x70f6
+lhu :: offset: 0x166, out: 0xc4c7
+lhu :: offset: 0x168, out: 0x5277
+lhu :: offset: 0x16a, out: 0x83cd
+lhu :: offset: 0x16c, out: 0x2b23
+lhu :: offset: 0x16e, out: 0xdfec
+lhu :: offset: 0x170, out: 0xd96b
+lhu :: offset: 0x172, out: 0xff7
+lhu :: offset: 0x174, out: 0xba26
+lhu :: offset: 0x176, out: 0xd3ad
+lhu :: offset: 0x178, out: 0xc00e
+lhu :: offset: 0x17a, out: 0x8418
+lhu :: offset: 0x17c, out: 0xaa79
+lhu :: offset: 0x17e, out: 0x4ab4
+lhu :: offset: 0x180, out: 0xf0b8
+lhu :: offset: 0x182, out: 0xde0
+lhu :: offset: 0x184, out: 0x35e
+lhu :: offset: 0x186, out: 0xbb8c
+lhu :: offset: 0x188, out: 0xdcf1
+lhu :: offset: 0x18a, out: 0xa97f
+lhu :: offset: 0x18c, out: 0x6f54
+lhu :: offset: 0x18e, out: 0x33b0
+lhu :: offset: 0x190, out: 0xc081
+lhu :: offset: 0x192, out: 0x3fd1
+lhu :: offset: 0x194, out: 0x3f37
+lhu :: offset: 0x196, out: 0x7743
+lhu :: offset: 0x198, out: 0x95e4
+lhu :: offset: 0x19a, out: 0xc921
+lhu :: offset: 0x19c, out: 0xd993
+lhu :: offset: 0x19e, out: 0xec91
+lhu :: offset: 0x1a0, out: 0xa5ab
+lhu :: offset: 0x1a2, out: 0x95b1
+lhu :: offset: 0x1a4, out: 0xf6a7
+lhu :: offset: 0x1a6, out: 0x49fb
+lhu :: offset: 0x1a8, out: 0x8d1e
+lhu :: offset: 0x1aa, out: 0xc7ce
+lhu :: offset: 0x1ac, out: 0x4378
+lhu :: offset: 0x1ae, out: 0x1936
+lhu :: offset: 0x1b0, out: 0x4907
+lhu :: offset: 0x1b2, out: 0x2f38
+lhu :: offset: 0x1b4, out: 0x8def
+lhu :: offset: 0x1b6, out: 0xb99e
+lhu :: offset: 0x1b8, out: 0x12fe
+lhu :: offset: 0x1ba, out: 0x582b
+lhu :: offset: 0x1bc, out: 0xcdcd
+lhu :: offset: 0x1be, out: 0x47ea
+lhu :: offset: 0x1c0, out: 0x8c4f
+lhu :: offset: 0x1c2, out: 0x7655
+lhu :: offset: 0x1c4, out: 0x884e
+lhu :: offset: 0x1c6, out: 0xd685
+lhu :: offset: 0x1c8, out: 0x95c7
+lhu :: offset: 0x1ca, out: 0x34c1
+lhu :: offset: 0x1cc, out: 0xd62a
+lhu :: offset: 0x1ce, out: 0x6168
+lhu :: offset: 0x1d0, out: 0x7405
+lhu :: offset: 0x1d2, out: 0x4df4
+lhu :: offset: 0x1d4, out: 0x6989
+lhu :: offset: 0x1d6, out: 0xd301
+lhu :: offset: 0x1d8, out: 0x6db
+lhu :: offset: 0x1da, out: 0x6cbb
+lhu :: offset: 0x1dc, out: 0x90bf
+lhu :: offset: 0x1de, out: 0x1ca1
+lhu :: offset: 0x1e0, out: 0x393a
+lhu :: offset: 0x1e2, out: 0x9cae
+lhu :: offset: 0x1e4, out: 0xf02
+lhu :: offset: 0x1e6, out: 0x5830
+lhu :: offset: 0x1e8, out: 0xbc2d
+lhu :: offset: 0x1ea, out: 0xdc7e
+lhu :: offset: 0x1ec, out: 0x5fdb
+lhu :: offset: 0x1ee, out: 0x9a99
+lhu :: offset: 0x1f0, out: 0x5b48
+lhu :: offset: 0x1f2, out: 0xe340
+lhu :: offset: 0x1f4, out: 0x47b
+lhu :: offset: 0x1f6, out: 0x8a96
+lhu :: offset: 0x1f8, out: 0xd322
+lhu :: offset: 0x1fa, out: 0xd519
+lhu :: offset: 0x1fc, out: 0xafd2
+lhu :: offset: 0x1fe, out: 0x75bf
+lhu :: offset: 0x200, out: 0xf6ad
+lhu :: offset: 0x202, out: 0xa630
+lhu :: offset: 0x204, out: 0x867
+lhu :: offset: 0x206, out: 0xde23
+lhu :: offset: 0x208, out: 0x3260
+lhu :: offset: 0x20a, out: 0x5610
+lhu :: offset: 0x20c, out: 0xcf2
+lhu :: offset: 0x20e, out: 0x2c0a
+lhu :: offset: 0x210, out: 0x18ef
+lhu :: offset: 0x212, out: 0x249b
+lhu :: offset: 0x214, out: 0x544
+lhu :: offset: 0x216, out: 0x94a9
+lhu :: offset: 0x218, out: 0xfcde
+lhu :: offset: 0x21a, out: 0x5b56
+lhu :: offset: 0x21c, out: 0x9fb5
+lhu :: offset: 0x21e, out: 0xf951
+lhu :: offset: 0x220, out: 0x319b
+lhu :: offset: 0x222, out: 0x468
+lhu :: offset: 0x224, out: 0xf820
+lhu :: offset: 0x226, out: 0x81da
+lhu :: offset: 0x228, out: 0xf2ec
+lhu :: offset: 0x22a, out: 0x5725
+lhu :: offset: 0x22c, out: 0xca5a
+lhu :: offset: 0x22e, out: 0x8c61
+lhu :: offset: 0x230, out: 0xc8bf
+lhu :: offset: 0x232, out: 0xc25d
+lhu :: offset: 0x234, out: 0xa6dd
+lhu :: offset: 0x236, out: 0x8b95
+lhu :: offset: 0x238, out: 0x162f
+lhu :: offset: 0x23a, out: 0xdac6
+lhu :: offset: 0x23c, out: 0xe751
+lhu :: offset: 0x23e, out: 0x300c
+lhu :: offset: 0x240, out: 0xa850
+lhu :: offset: 0x242, out: 0xba52
+lhu :: offset: 0x244, out: 0xfdf3
+lhu :: offset: 0x246, out: 0x6778
+lhu :: offset: 0x248, out: 0x479f
+lhu :: offset: 0x24a, out: 0xda78
+lhu :: offset: 0x24c, out: 0xb1f7
+lhu :: offset: 0x24e, out: 0xad00
+lhu :: offset: 0x250, out: 0xd98a
+lhu :: offset: 0x252, out: 0xa6b6
+lhu :: offset: 0x254, out: 0x4168
+lhu :: offset: 0x256, out: 0x8d4
+lhu :: offset: 0x258, out: 0x4413
+lhu :: offset: 0x25a, out: 0xce63
+lhu :: offset: 0x25c, out: 0x381d
+lhu :: offset: 0x25e, out: 0xf518
+lhu :: offset: 0x260, out: 0x5fc0
+lhu :: offset: 0x262, out: 0xe525
+lhu :: offset: 0x264, out: 0x7f3f
+lhu :: offset: 0x266, out: 0xe462
+lhu :: offset: 0x268, out: 0x1f28
+lhu :: offset: 0x26a, out: 0x7632
+lhu :: offset: 0x26c, out: 0x92e1
+lhu :: offset: 0x26e, out: 0xccd3
+lhu :: offset: 0x270, out: 0xfd8f
+lhu :: offset: 0x272, out: 0x4018
+lhu :: offset: 0x274, out: 0x6494
+lhu :: offset: 0x276, out: 0x8294
+lhu :: offset: 0x278, out: 0xf0e5
+lhu :: offset: 0x27a, out: 0x52e8
+lhu :: offset: 0x27c, out: 0x2040
+lhu :: offset: 0x27e, out: 0x15d3
+lhu :: offset: 0x280, out: 0xf344
+lhu :: offset: 0x282, out: 0x880f
+lhu :: offset: 0x284, out: 0x83d2
+lhu :: offset: 0x286, out: 0x7caf
+lhu :: offset: 0x288, out: 0xefd7
+lhu :: offset: 0x28a, out: 0x747d
+lhu :: offset: 0x28c, out: 0xa04c
+lhu :: offset: 0x28e, out: 0xf156
+lhu :: offset: 0x290, out: 0xd710
+lhu :: offset: 0x292, out: 0xf31
+lhu :: offset: 0x294, out: 0x601c
+lhu :: offset: 0x296, out: 0x93e2
+lhu :: offset: 0x298, out: 0xd933
+lhu :: offset: 0x29a, out: 0x131c
+lhu :: offset: 0x29c, out: 0xa679
+lhu :: offset: 0x29e, out: 0xe1e1
+lhu :: offset: 0x2a0, out: 0xa427
+lhu :: offset: 0x2a2, out: 0xa76f
+lhu :: offset: 0x2a4, out: 0x6b75
+lhu :: offset: 0x2a6, out: 0x2429
+lhu :: offset: 0x2a8, out: 0xe56a
+lhu :: offset: 0x2aa, out: 0x139e
+lhu :: offset: 0x2ac, out: 0xe2d2
+lhu :: offset: 0x2ae, out: 0xd296
+lhu :: offset: 0x2b0, out: 0xa5c0
+lhu :: offset: 0x2b2, out: 0x6dc2
+lhu :: offset: 0x2b4, out: 0x447f
+lhu :: offset: 0x2b6, out: 0x5a82
+lhu :: offset: 0x2b8, out: 0xc168
+lhu :: offset: 0x2ba, out: 0xc07d
+lhu :: offset: 0x2bc, out: 0x9e80
+lhu :: offset: 0x2be, out: 0x76c8
+lhu :: offset: 0x2c0, out: 0x348f
+lhu :: offset: 0x2c2, out: 0x4bfe
+lhu :: offset: 0x2c4, out: 0xc345
+lhu :: offset: 0x2c6, out: 0x70d
+lhu :: offset: 0x2c8, out: 0x241b
+lhu :: offset: 0x2ca, out: 0xdd6d
+lhu :: offset: 0x2cc, out: 0x7123
+lhu :: offset: 0x2ce, out: 0xbddc
+lhu :: offset: 0x2d0, out: 0xcebe
+lhu :: offset: 0x2d2, out: 0xa59f
+lhu :: offset: 0x2d4, out: 0xb727
+lhu :: offset: 0x2d6, out: 0xf62f
+lhu :: offset: 0x2d8, out: 0x46fb
+lhu :: offset: 0x2da, out: 0xf9f
+lhu :: offset: 0x2dc, out: 0x27e9
+lhu :: offset: 0x2de, out: 0x109f
+lhu :: offset: 0x2e0, out: 0x99d7
+lhu :: offset: 0x2e2, out: 0xafd1
+lhu :: offset: 0x2e4, out: 0xdaa9
+lhu :: offset: 0x2e6, out: 0x3f63
+lhu :: offset: 0x2e8, out: 0x84f2
+lhu :: offset: 0x2ea, out: 0xa3d4
+lhu :: offset: 0x2ec, out: 0x312e
+lhu :: offset: 0x2ee, out: 0xdbcb
+lhu :: offset: 0x2f0, out: 0xe4c6
+lhu :: offset: 0x2f2, out: 0xda4f
+lhu :: offset: 0x2f4, out: 0x3faa
+lhu :: offset: 0x2f6, out: 0x1f35
+lhu :: offset: 0x2f8, out: 0xc260
+lhu :: offset: 0x2fa, out: 0x7150
+lhu :: offset: 0x2fc, out: 0x6ee0
+lhu :: offset: 0x2fe, out: 0x8b08
+lhu :: offset: 0x300, out: 0x7f25
+lhu :: offset: 0x302, out: 0xd925
+lhu :: offset: 0x304, out: 0x50d5
+lhu :: offset: 0x306, out: 0xe547
+lhu :: offset: 0x308, out: 0xdb5b
+lhu :: offset: 0x30a, out: 0xe9a6
+lhu :: offset: 0x30c, out: 0x625f
+lhu :: offset: 0x30e, out: 0x3d69
+lhu :: offset: 0x310, out: 0xac96
+lhu :: offset: 0x312, out: 0x4340
+lhu :: offset: 0x314, out: 0xe042
+lhu :: offset: 0x316, out: 0x70a3
+lhu :: offset: 0x318, out: 0x171e
+lhu :: offset: 0x31a, out: 0x6980
+lhu :: offset: 0x31c, out: 0x8f03
+lhu :: offset: 0x31e, out: 0xc047
+lhu :: offset: 0x320, out: 0x29e3
+lhu :: offset: 0x322, out: 0x1cf9
+lhu :: offset: 0x324, out: 0x39a5
+lhu :: offset: 0x326, out: 0x3ce8
+lhu :: offset: 0x328, out: 0x8958
+lhu :: offset: 0x32a, out: 0x5eb6
+lhu :: offset: 0x32c, out: 0xfa89
+lhu :: offset: 0x32e, out: 0xe2fb
+lhu :: offset: 0x330, out: 0x25b7
+lhu :: offset: 0x332, out: 0x76ed
+lhu :: offset: 0x334, out: 0xb05d
+lhu :: offset: 0x336, out: 0xd24b
+lhu :: offset: 0x338, out: 0x12f1
+lhu :: offset: 0x33a, out: 0x1703
+lhu :: offset: 0x33c, out: 0x682c
+lhu :: offset: 0x33e, out: 0xeb9
+lhu :: offset: 0x340, out: 0x1d0d
+lhu :: offset: 0x342, out: 0xdd30
+lhu :: offset: 0x344, out: 0x5280
+lhu :: offset: 0x346, out: 0x8478
+lhu :: offset: 0x348, out: 0xd6ef
+lhu :: offset: 0x34a, out: 0x1f8f
+lhu :: offset: 0x34c, out: 0x77aa
+lhu :: offset: 0x34e, out: 0x179c
+lhu :: offset: 0x350, out: 0x436d
+lhu :: offset: 0x352, out: 0x2998
+lhu :: offset: 0x354, out: 0x4ced
+lhu :: offset: 0x356, out: 0x2644
+lhu :: offset: 0x358, out: 0xa708
+lhu :: offset: 0x35a, out: 0xd58c
+lhu :: offset: 0x35c, out: 0x5c9d
+lhu :: offset: 0x35e, out: 0x717
+lhu :: offset: 0x360, out: 0x3287
+lhu :: offset: 0x362, out: 0x5583
+lhu :: offset: 0x364, out: 0x610
+lhu :: offset: 0x366, out: 0x663d
+lhu :: offset: 0x368, out: 0xd68b
+lhu :: offset: 0x36a, out: 0x8951
+lhu :: offset: 0x36c, out: 0xd048
+lhu :: offset: 0x36e, out: 0xab7d
+lhu :: offset: 0x370, out: 0x471b
+lhu :: offset: 0x372, out: 0xe82
+lhu :: offset: 0x374, out: 0x2367
+lhu :: offset: 0x376, out: 0xf698
+lhu :: offset: 0x378, out: 0x26b2
+lhu :: offset: 0x37a, out: 0xd98d
+lhu :: offset: 0x37c, out: 0x6c59
+lhu :: offset: 0x37e, out: 0x3688
+lhu :: offset: 0x380, out: 0xe479
+lhu :: offset: 0x382, out: 0xd32b
+lhu :: offset: 0x384, out: 0x4bdb
+lhu :: offset: 0x386, out: 0x9ca
+lhu :: offset: 0x388, out: 0xe61f
+lhu :: offset: 0x38a, out: 0x9962
+lhu :: offset: 0x38c, out: 0x7d1d
+lhu :: offset: 0x38e, out: 0xfd5d
+lhu :: offset: 0x390, out: 0x74df
+lhu :: offset: 0x392, out: 0xcad3
+lhu :: offset: 0x394, out: 0x553e
+lhu :: offset: 0x396, out: 0x3f46
+lhu :: offset: 0x398, out: 0xf2a7
+lhu :: offset: 0x39a, out: 0x3eed
+lhu :: offset: 0x39c, out: 0xb97d
+lhu :: offset: 0x39e, out: 0x2e9a
+lhu :: offset: 0x3a0, out: 0x9f33
+lhu :: offset: 0x3a2, out: 0x3c0c
+lhu :: offset: 0x3a4, out: 0xf7fa
+lhu :: offset: 0x3a6, out: 0x36a6
+lhu :: offset: 0x3a8, out: 0xc9dc
+lhu :: offset: 0x3aa, out: 0x155e
+lhu :: offset: 0x3ac, out: 0x38e3
+lhu :: offset: 0x3ae, out: 0x8bb9
+lhu :: offset: 0x3b0, out: 0x8206
+lhu :: offset: 0x3b2, out: 0x1947
+lhu :: offset: 0x3b4, out: 0x25c4
+lhu :: offset: 0x3b6, out: 0xd2df
+lhu :: offset: 0x3b8, out: 0x1825
+lhu :: offset: 0x3ba, out: 0xeb32
+lhu :: offset: 0x3bc, out: 0xbf27
+lhu :: offset: 0x3be, out: 0xbc65
+lhu :: offset: 0x3c0, out: 0xc7da
+lhu :: offset: 0x3c2, out: 0x7a8b
+lhu :: offset: 0x3c4, out: 0x8fe6
+lhu :: offset: 0x3c6, out: 0xa8b0
+lhu :: offset: 0x3c8, out: 0xcde8
+lhu :: offset: 0x3ca, out: 0xf8df
+lhu :: offset: 0x3cc, out: 0x5bca
+lhu :: offset: 0x3ce, out: 0x852b
+lhu :: offset: 0x3d0, out: 0x9269
+lhu :: offset: 0x3d2, out: 0x59a9
+lhu :: offset: 0x3d4, out: 0x909b
+lhu :: offset: 0x3d6, out: 0x478
+lhu :: offset: 0x3d8, out: 0x360f
+lhu :: offset: 0x3da, out: 0x7857
+lhu :: offset: 0x3dc, out: 0x1cc8
+lhu :: offset: 0x3de, out: 0xbfb3
+lhu :: offset: 0x3e0, out: 0xe9a2
+lhu :: offset: 0x3e2, out: 0x7f89
+lhu :: offset: 0x3e4, out: 0xed5e
+lhu :: offset: 0x3e6, out: 0xb665
+lhu :: offset: 0x3e8, out: 0xd5e4
+lhu :: offset: 0x3ea, out: 0xb7a8
+lhu :: offset: 0x3ec, out: 0x9474
+lhu :: offset: 0x3ee, out: 0x15da
+lhu :: offset: 0x3f0, out: 0xfcc
+lhu :: offset: 0x3f2, out: 0x2af9
+lhu :: offset: 0x3f4, out: 0x537d
+lhu :: offset: 0x3f6, out: 0xf6b3
+lhu :: offset: 0x3f8, out: 0x1897
+lhu :: offset: 0x3fa, out: 0x2b96
+lhu :: offset: 0x3fc, out: 0x7cfe
+lhu :: offset: 0x3fe, out: 0x223d
+lhu :: offset: 0x400, out: 0x4a4b
+lhu :: offset: 0x402, out: 0x3373
+lhu :: offset: 0x404, out: 0x34f5
+lhu :: offset: 0x406, out: 0x420b
+lhu :: offset: 0x408, out: 0xb33c
+lhu :: offset: 0x40a, out: 0xdd46
+lhu :: offset: 0x40c, out: 0x8c8d
+lhu :: offset: 0x40e, out: 0x897c
+lhu :: offset: 0x410, out: 0xccd9
+lhu :: offset: 0x412, out: 0xe392
+lhu :: offset: 0x414, out: 0x7445
+lhu :: offset: 0x416, out: 0x7a38
+lhu :: offset: 0x418, out: 0xc9
+lhu :: offset: 0x41a, out: 0xd800
+lhu :: offset: 0x41c, out: 0x29b1
+lhu :: offset: 0x41e, out: 0x512f
+lhu :: offset: 0x420, out: 0x20a
+lhu :: offset: 0x422, out: 0x3dad
+lhu :: offset: 0x424, out: 0xd5c5
+lhu :: offset: 0x426, out: 0xeade
+lhu :: offset: 0x428, out: 0xa35b
+lhu :: offset: 0x42a, out: 0x31ee
+lhu :: offset: 0x42c, out: 0x29d7
+lhu :: offset: 0x42e, out: 0x8a62
+lhu :: offset: 0x430, out: 0x5649
+lhu :: offset: 0x432, out: 0x4898
+lhu :: offset: 0x434, out: 0x3f9e
+lhu :: offset: 0x436, out: 0x2c3c
+lhu :: offset: 0x438, out: 0xb77
+lhu :: offset: 0x43a, out: 0xdc9c
+lhu :: offset: 0x43c, out: 0x1e78
+lhu :: offset: 0x43e, out: 0x7ff6
+lhu :: offset: 0x440, out: 0x68ec
+lhu :: offset: 0x442, out: 0x1d5e
+lhu :: offset: 0x444, out: 0xb0e0
+lhu :: offset: 0x446, out: 0x2299
+lhu :: offset: 0x448, out: 0x6e25
+lhu :: offset: 0x44a, out: 0x3d0c
+lhu :: offset: 0x44c, out: 0x467
+lhu :: offset: 0x44e, out: 0x7c3b
+lhu :: offset: 0x450, out: 0x6587
+lhu :: offset: 0x452, out: 0xe7fb
+lhu :: offset: 0x454, out: 0x17c1
+lhu :: offset: 0x456, out: 0x164e
+lhu :: offset: 0x458, out: 0x950b
+lhu :: offset: 0x45a, out: 0x56d4
+lhu :: offset: 0x45c, out: 0xa28b
+lhu :: offset: 0x45e, out: 0xfa4c
+lhu :: offset: 0x460, out: 0xa08a
+lhu :: offset: 0x462, out: 0xbe7f
+lhu :: offset: 0x464, out: 0xa314
+lhu :: offset: 0x466, out: 0xe5e9
+lhu :: offset: 0x468, out: 0x49c5
+lhu :: offset: 0x46a, out: 0x1596
+lhu :: offset: 0x46c, out: 0x8164
+lhu :: offset: 0x46e, out: 0xf8be
+lhu :: offset: 0x470, out: 0x9b17
+lhu :: offset: 0x472, out: 0x84e6
+lhu :: offset: 0x474, out: 0x2597
+lhu :: offset: 0x476, out: 0x7ca3
+lhu :: offset: 0x478, out: 0x4f5c
+lhu :: offset: 0x47a, out: 0xa1f2
+lhu :: offset: 0x47c, out: 0x543c
+lhu :: offset: 0x47e, out: 0xfc8d
+lhu :: offset: 0x480, out: 0x9e36
+lhu :: offset: 0x482, out: 0xe345
+lhu :: offset: 0x484, out: 0x6ca0
+lhu :: offset: 0x486, out: 0x4aeb
+lhu :: offset: 0x488, out: 0x80fa
+lhu :: offset: 0x48a, out: 0x1879
+lhu :: offset: 0x48c, out: 0xe18e
+lhu :: offset: 0x48e, out: 0xc532
+lhu :: offset: 0x490, out: 0x7d1c
+lhu :: offset: 0x492, out: 0x4f28
+lhu :: offset: 0x494, out: 0xec29
+lhu :: offset: 0x496, out: 0xb3fd
+lhu :: offset: 0x498, out: 0x2b90
+lhu :: offset: 0x49a, out: 0x4973
+lhu :: offset: 0x49c, out: 0x660a
+lhu :: offset: 0x49e, out: 0xb620
+lhu :: offset: 0x4a0, out: 0xe991
+lhu :: offset: 0x4a2, out: 0x6cfd
+lhu :: offset: 0x4a4, out: 0x38f1
+lhu :: offset: 0x4a6, out: 0x9931
+lhu :: offset: 0x4a8, out: 0x7b9
+lhu :: offset: 0x4aa, out: 0x7d54
+lhu :: offset: 0x4ac, out: 0xd133
+lhu :: offset: 0x4ae, out: 0xde02
+lhu :: offset: 0x4b0, out: 0xb15a
+lhu :: offset: 0x4b2, out: 0xe1da
+lhu :: offset: 0x4b4, out: 0x90e1
+lhu :: offset: 0x4b6, out: 0x13a3
+lhu :: offset: 0x4b8, out: 0x16c8
+lhu :: offset: 0x4ba, out: 0x8287
+lhu :: offset: 0x4bc, out: 0x91a6
+lhu :: offset: 0x4be, out: 0x7434
+lhu :: offset: 0x4c0, out: 0x92f2
+lhu :: offset: 0x4c2, out: 0xede2
+lhu :: offset: 0x4c4, out: 0x404a
+lhu :: offset: 0x4c6, out: 0x8cff
+lhu :: offset: 0x4c8, out: 0x7636
+lhu :: offset: 0x4ca, out: 0x1f83
+lhu :: offset: 0x4cc, out: 0xc0db
+lhu :: offset: 0x4ce, out: 0xb9ce
+lhu :: offset: 0x4d0, out: 0x771c
+lhu :: offset: 0x4d2, out: 0x509
+lhu :: offset: 0x4d4, out: 0x5aa7
+lhu :: offset: 0x4d6, out: 0x2eaa
+lhu :: offset: 0x4d8, out: 0x241b
+lhu :: offset: 0x4da, out: 0x1875
+lhu :: offset: 0x4dc, out: 0x538e
+lhu :: offset: 0x4de, out: 0xd327
+lhu :: offset: 0x4e0, out: 0x9b6b
+lhu :: offset: 0x4e2, out: 0x8b73
+lhu :: offset: 0x4e4, out: 0xf854
+lhu :: offset: 0x4e6, out: 0x42e9
+lhu :: offset: 0x4e8, out: 0xba1a
+lhu :: offset: 0x4ea, out: 0xeccb
+lhu :: offset: 0x4ec, out: 0xe50c
+lhu :: offset: 0x4ee, out: 0x78e4
+lhu :: offset: 0x4f0, out: 0x27cb
+lhu :: offset: 0x4f2, out: 0xcd9d
+lhu :: offset: 0x4f4, out: 0xfa3f
+lhu :: offset: 0x4f6, out: 0xf6b6
+lhu :: offset: 0x4f8, out: 0x9423
+lhu :: offset: 0x4fa, out: 0xae3e
+lhu :: offset: 0x4fc, out: 0x6483
+lhu :: offset: 0x4fe, out: 0x7391
+lhu :: offset: 0x500, out: 0x8561
+lhu :: offset: 0x502, out: 0xe12
+lhu :: offset: 0x504, out: 0xf70a
+lhu :: offset: 0x506, out: 0x276a
+lhu :: offset: 0x508, out: 0x4b6e
+lhu :: offset: 0x50a, out: 0xb5e7
+lhu :: offset: 0x50c, out: 0x5bf6
+lhu :: offset: 0x50e, out: 0x304
+lhu :: offset: 0x510, out: 0xcfa6
+lhu :: offset: 0x512, out: 0x8ac
+lhu :: offset: 0x514, out: 0x3f13
+lhu :: offset: 0x516, out: 0x2022
+lhu :: offset: 0x518, out: 0xb5f5
+lhu :: offset: 0x51a, out: 0x3976
+lhu :: offset: 0x51c, out: 0x5574
+lhu :: offset: 0x51e, out: 0xf83c
+lhu :: offset: 0x520, out: 0x3c3d
+lhu :: offset: 0x522, out: 0x4692
+lhu :: offset: 0x524, out: 0x20f9
+lhu :: offset: 0x526, out: 0x1f97
+lhu :: offset: 0x528, out: 0x48dd
+lhu :: offset: 0x52a, out: 0x6d24
+lhu :: offset: 0x52c, out: 0x2850
+lhu :: offset: 0x52e, out: 0x620d
+lhu :: offset: 0x530, out: 0xa732
+lhu :: offset: 0x532, out: 0x9ff4
+lhu :: offset: 0x534, out: 0x21e9
+lhu :: offset: 0x536, out: 0x60a5
+lhu :: offset: 0x538, out: 0xf0b
+lhu :: offset: 0x53a, out: 0x5c68
+lhu :: offset: 0x53c, out: 0xf3ab
+lhu :: offset: 0x53e, out: 0x5a08
+lhu :: offset: 0x540, out: 0x3d26
+lhu :: offset: 0x542, out: 0x800f
+lhu :: offset: 0x544, out: 0x9be7
+lhu :: offset: 0x546, out: 0xc7a5
+lhu :: offset: 0x548, out: 0x1b41
+lhu :: offset: 0x54a, out: 0x82ca
+lhu :: offset: 0x54c, out: 0xdf29
+lhu :: offset: 0x54e, out: 0x1aec
+lhu :: offset: 0x550, out: 0x9dcd
+lhu :: offset: 0x552, out: 0x60d1
+lhu :: offset: 0x554, out: 0x13a2
+lhu :: offset: 0x556, out: 0x2b86
+lhu :: offset: 0x558, out: 0xbe7f
+lhu :: offset: 0x55a, out: 0xe8b
+lhu :: offset: 0x55c, out: 0xac8b
+lhu :: offset: 0x55e, out: 0x2518
+lhu :: offset: 0x560, out: 0x486b
+lhu :: offset: 0x562, out: 0x2fcf
+lhu :: offset: 0x564, out: 0x568d
+lhu :: offset: 0x566, out: 0x743e
+lhu :: offset: 0x568, out: 0x1728
+lhu :: offset: 0x56a, out: 0x34c3
+lhu :: offset: 0x56c, out: 0x646f
+lhu :: offset: 0x56e, out: 0x126f
+lhu :: offset: 0x570, out: 0x4d12
+lhu :: offset: 0x572, out: 0x56fc
+lhu :: offset: 0x574, out: 0x1961
+lhu :: offset: 0x576, out: 0xaab0
+lhu :: offset: 0x578, out: 0xd342
+lhu :: offset: 0x57a, out: 0x8595
+lhu :: offset: 0x57c, out: 0xcd33
+lhu :: offset: 0x57e, out: 0x7535
+lhu :: offset: 0x580, out: 0x46ec
+lhu :: offset: 0x582, out: 0x4223
+lhu :: offset: 0x584, out: 0x54da
+lhu :: offset: 0x586, out: 0xdfb2
+lhu :: offset: 0x588, out: 0xab2a
+lhu :: offset: 0x58a, out: 0x81
+lhu :: offset: 0x58c, out: 0x26c9
+lhu :: offset: 0x58e, out: 0xa867
+lhu :: offset: 0x590, out: 0x7438
+lhu :: offset: 0x592, out: 0x679d
+lhu :: offset: 0x594, out: 0xffa1
+lhu :: offset: 0x596, out: 0x9bfe
+lhu :: offset: 0x598, out: 0xe244
+lhu :: offset: 0x59a, out: 0xb7de
+lhu :: offset: 0x59c, out: 0x9826
+lhu :: offset: 0x59e, out: 0xc769
+lhu :: offset: 0x5a0, out: 0x704a
+lhu :: offset: 0x5a2, out: 0xfba6
+lhu :: offset: 0x5a4, out: 0xaf97
+lhu :: offset: 0x5a6, out: 0x3c07
+lhu :: offset: 0x5a8, out: 0x8bfe
+lhu :: offset: 0x5aa, out: 0x4c5
+lhu :: offset: 0x5ac, out: 0x64dc
+lhu :: offset: 0x5ae, out: 0x5213
+lhu :: offset: 0x5b0, out: 0xaebc
+lhu :: offset: 0x5b2, out: 0x9ab7
+lhu :: offset: 0x5b4, out: 0xbb58
+lhu :: offset: 0x5b6, out: 0xe0f7
+lhu :: offset: 0x5b8, out: 0x954d
+lhu :: offset: 0x5ba, out: 0xdeeb
+lhu :: offset: 0x5bc, out: 0xc60c
+lhu :: offset: 0x5be, out: 0xe336
+lhu :: offset: 0x5c0, out: 0x416e
+lhu :: offset: 0x5c2, out: 0x6f52
+lhu :: offset: 0x5c4, out: 0x120c
+lhu :: offset: 0x5c6, out: 0xd5b2
+lhu :: offset: 0x5c8, out: 0x8a34
+lhu :: offset: 0x5ca, out: 0x7e62
+lhu :: offset: 0x5cc, out: 0xd4ff
+lhu :: offset: 0x5ce, out: 0x85a2
+lhu :: offset: 0x5d0, out: 0x7e07
+lhu :: offset: 0x5d2, out: 0x4a4e
+lhu :: offset: 0x5d4, out: 0x2b65
+lhu :: offset: 0x5d6, out: 0x986a
+lhu :: offset: 0x5d8, out: 0x9b55
+lhu :: offset: 0x5da, out: 0x3a48
+lhu :: offset: 0x5dc, out: 0xeac4
+lhu :: offset: 0x5de, out: 0xa974
+lhu :: offset: 0x5e0, out: 0xf8f5
+lhu :: offset: 0x5e2, out: 0x72f1
+lhu :: offset: 0x5e4, out: 0xc162
+lhu :: offset: 0x5e6, out: 0xa388
+lhu :: offset: 0x5e8, out: 0x5ea9
+lhu :: offset: 0x5ea, out: 0xe749
+lhu :: offset: 0x5ec, out: 0x1f45
+lhu :: offset: 0x5ee, out: 0xe8c1
+lhu :: offset: 0x5f0, out: 0xc8b4
+lhu :: offset: 0x5f2, out: 0x5cc1
+lhu :: offset: 0x5f4, out: 0x5a76
+lhu :: offset: 0x5f6, out: 0xadaa
+lhu :: offset: 0x5f8, out: 0x5c0
+lhu :: offset: 0x5fa, out: 0xdfa6
+lhu :: offset: 0x5fc, out: 0xce88
+lhu :: offset: 0x5fe, out: 0x7ab4
+lhu :: offset: 0x600, out: 0xb04f
+lhu :: offset: 0x602, out: 0x59a7
+lhu :: offset: 0x604, out: 0xd6e6
+lhu :: offset: 0x606, out: 0xb42a
+lhu :: offset: 0x608, out: 0x922f
+lhu :: offset: 0x60a, out: 0xb728
+lhu :: offset: 0x60c, out: 0x485a
+lhu :: offset: 0x60e, out: 0x4bf8
+lhu :: offset: 0x610, out: 0xa7fb
+lhu :: offset: 0x612, out: 0x3b66
+lhu :: offset: 0x614, out: 0xd60c
+lhu :: offset: 0x616, out: 0x76a3
+lhu :: offset: 0x618, out: 0x8eda
+lhu :: offset: 0x61a, out: 0xfdc2
+lhu :: offset: 0x61c, out: 0xc6af
+lhu :: offset: 0x61e, out: 0x31e0
+lhu :: offset: 0x620, out: 0x999d
+lhu :: offset: 0x622, out: 0xbf0c
+lhu :: offset: 0x624, out: 0x6bb4
+lhu :: offset: 0x626, out: 0x5360
+lhu :: offset: 0x628, out: 0x19f0
+lhu :: offset: 0x62a, out: 0x1b79
+lhu :: offset: 0x62c, out: 0x12c8
+lhu :: offset: 0x62e, out: 0x32fc
+lhu :: offset: 0x630, out: 0xfcd6
+lhu :: offset: 0x632, out: 0xc72e
+lhu :: offset: 0x634, out: 0x8384
+lhu :: offset: 0x636, out: 0x3ef8
+lhu :: offset: 0x638, out: 0x3580
+lhu :: offset: 0x63a, out: 0x6a2a
+lhu :: offset: 0x63c, out: 0xc7bb
+lhu :: offset: 0x63e, out: 0x38b1
+lhu :: offset: 0x640, out: 0x77c9
+lhu :: offset: 0x642, out: 0x1dca
+lhu :: offset: 0x644, out: 0xf612
+lhu :: offset: 0x646, out: 0x15eb
+lhu :: offset: 0x648, out: 0x47ae
+lhu :: offset: 0x64a, out: 0xfd91
+lhu :: offset: 0x64c, out: 0xcdd9
+lhu :: offset: 0x64e, out: 0x5eaa
+lhu :: offset: 0x650, out: 0x1117
+lhu :: offset: 0x652, out: 0x81e9
+lhu :: offset: 0x654, out: 0x70f9
+lhu :: offset: 0x656, out: 0xbb84
+lhu :: offset: 0x658, out: 0x32e0
+lhu :: offset: 0x65a, out: 0xc6a5
+lhu :: offset: 0x65c, out: 0x2aea
+lhu :: offset: 0x65e, out: 0x5d4
+lhu :: offset: 0x660, out: 0x9e63
+lhu :: offset: 0x662, out: 0x19fb
+lhu :: offset: 0x664, out: 0xf364
+lhu :: offset: 0x666, out: 0x14ab
+lhu :: offset: 0x668, out: 0x2aac
+lhu :: offset: 0x66a, out: 0xa8d7
+lhu :: offset: 0x66c, out: 0x559a
+lhu :: offset: 0x66e, out: 0x249d
+lhu :: offset: 0x670, out: 0x30ec
+lhu :: offset: 0x672, out: 0x84b
+lhu :: offset: 0x674, out: 0x764f
+lhu :: offset: 0x676, out: 0xcd6
+lhu :: offset: 0x678, out: 0x8fdf
+lhu :: offset: 0x67a, out: 0x9246
+lhu :: offset: 0x67c, out: 0xac07
+lhu :: offset: 0x67e, out: 0x7f03
+lhu :: offset: 0x680, out: 0x70f5
+lhu :: offset: 0x682, out: 0x56e6
+lhu :: offset: 0x684, out: 0xce6d
+lhu :: offset: 0x686, out: 0x7e35
+lhu :: offset: 0x688, out: 0x2711
+lhu :: offset: 0x68a, out: 0x1a65
+lhu :: offset: 0x68c, out: 0x2859
+lhu :: offset: 0x68e, out: 0x1528
+lhu :: offset: 0x690, out: 0xa9fb
+lhu :: offset: 0x692, out: 0xd215
+lhu :: offset: 0x694, out: 0x3283
+lhu :: offset: 0x696, out: 0x9e1c
+lhu :: offset: 0x698, out: 0x417
+lhu :: offset: 0x69a, out: 0x282a
+lhu :: offset: 0x69c, out: 0xc049
+lhu :: offset: 0x69e, out: 0x8d95
+lhu :: offset: 0x6a0, out: 0x58f3
+lhu :: offset: 0x6a2, out: 0x9780
+lhu :: offset: 0x6a4, out: 0xa490
+lhu :: offset: 0x6a6, out: 0xf2e7
+lhu :: offset: 0x6a8, out: 0xb1aa
+lhu :: offset: 0x6aa, out: 0x975
+lhu :: offset: 0x6ac, out: 0x4cca
+lhu :: offset: 0x6ae, out: 0x775b
+lhu :: offset: 0x6b0, out: 0x1020
+lhu :: offset: 0x6b2, out: 0x3511
+lhu :: offset: 0x6b4, out: 0x84a6
+lhu :: offset: 0x6b6, out: 0xa2b
+lhu :: offset: 0x6b8, out: 0x8b6f
+lhu :: offset: 0x6ba, out: 0xa7d8
+lhu :: offset: 0x6bc, out: 0xa0d3
+lhu :: offset: 0x6be, out: 0x23f
+lhu :: offset: 0x6c0, out: 0xdedd
+lhu :: offset: 0x6c2, out: 0x9941
+lhu :: offset: 0x6c4, out: 0x91b7
+lhu :: offset: 0x6c6, out: 0xa3d9
+lhu :: offset: 0x6c8, out: 0x9508
+lhu :: offset: 0x6ca, out: 0x5a0d
+lhu :: offset: 0x6cc, out: 0xb483
+lhu :: offset: 0x6ce, out: 0x751c
+lhu :: offset: 0x6d0, out: 0xb2d3
+lhu :: offset: 0x6d2, out: 0x625b
+lhu :: offset: 0x6d4, out: 0xad35
+lhu :: offset: 0x6d6, out: 0x949c
+lhu :: offset: 0x6d8, out: 0x9739
+lhu :: offset: 0x6da, out: 0xa692
+lhu :: offset: 0x6dc, out: 0x7f35
+lhu :: offset: 0x6de, out: 0x7f56
+lhu :: offset: 0x6e0, out: 0x7d27
+lhu :: offset: 0x6e2, out: 0xdb8d
+lhu :: offset: 0x6e4, out: 0x88e0
+lhu :: offset: 0x6e6, out: 0x185b
+lhu :: offset: 0x6e8, out: 0x1b91
+lhu :: offset: 0x6ea, out: 0x2fd6
+lhu :: offset: 0x6ec, out: 0x4cd2
+lhu :: offset: 0x6ee, out: 0x255a
+lhu :: offset: 0x6f0, out: 0x3f7b
+lhu :: offset: 0x6f2, out: 0xa436
+lhu :: offset: 0x6f4, out: 0xd589
+lhu :: offset: 0x6f6, out: 0x1048
+lhu :: offset: 0x6f8, out: 0x5790
+lhu :: offset: 0x6fa, out: 0xf460
+lhu :: offset: 0x6fc, out: 0x5708
+lhu :: offset: 0x6fe, out: 0x6a6d
+lhu :: offset: 0x700, out: 0x697f
+lhu :: offset: 0x702, out: 0xde35
+lhu :: offset: 0x704, out: 0xcbab
+lhu :: offset: 0x706, out: 0xd58e
+lhu :: offset: 0x708, out: 0xa5f1
+lhu :: offset: 0x70a, out: 0x8c0
+lhu :: offset: 0x70c, out: 0x48fd
+lhu :: offset: 0x70e, out: 0x5755
+lhu :: offset: 0x710, out: 0x8ddb
+lhu :: offset: 0x712, out: 0x8ed9
+lhu :: offset: 0x714, out: 0x40fb
+lhu :: offset: 0x716, out: 0x8bb6
+lhu :: offset: 0x718, out: 0x78cc
+lhu :: offset: 0x71a, out: 0xabc5
+lhu :: offset: 0x71c, out: 0xd51e
+lhu :: offset: 0x71e, out: 0xbe00
+lhu :: offset: 0x720, out: 0xab2
+lhu :: offset: 0x722, out: 0x1c17
+lhu :: offset: 0x724, out: 0x224a
+lhu :: offset: 0x726, out: 0x2f7e
+lhu :: offset: 0x728, out: 0x56a7
+lhu :: offset: 0x72a, out: 0xa222
+lhu :: offset: 0x72c, out: 0xf12c
+lhu :: offset: 0x72e, out: 0xa978
+lhu :: offset: 0x730, out: 0xe02f
+lhu :: offset: 0x732, out: 0x811e
+lhu :: offset: 0x734, out: 0xa93b
+lhu :: offset: 0x736, out: 0x9950
+lhu :: offset: 0x738, out: 0x6a0c
+lhu :: offset: 0x73a, out: 0xc679
+lhu :: offset: 0x73c, out: 0xea93
+lhu :: offset: 0x73e, out: 0xb44e
+lhu :: offset: 0x740, out: 0xb657
+lhu :: offset: 0x742, out: 0x6c0e
+lhu :: offset: 0x744, out: 0xfca0
+lhu :: offset: 0x746, out: 0xfe71
+lhu :: offset: 0x748, out: 0xaf57
+lhu :: offset: 0x74a, out: 0xf818
+lhu :: offset: 0x74c, out: 0x393d
+lhu :: offset: 0x74e, out: 0x4ed6
+lhu :: offset: 0x750, out: 0x770a
+lhu :: offset: 0x752, out: 0x236
+lhu :: offset: 0x754, out: 0x9020
+lhu :: offset: 0x756, out: 0xf22e
+lhu :: offset: 0x758, out: 0xc45d
+lhu :: offset: 0x75a, out: 0xafd0
+lhu :: offset: 0x75c, out: 0xb6c7
+lhu :: offset: 0x75e, out: 0x81ef
+lhu :: offset: 0x760, out: 0x315b
+lhu :: offset: 0x762, out: 0x8102
+lhu :: offset: 0x764, out: 0xf351
+lhu :: offset: 0x766, out: 0xeed8
+lhu :: offset: 0x768, out: 0xfd5e
+lhu :: offset: 0x76a, out: 0x995e
+lhu :: offset: 0x76c, out: 0xefb9
+lhu :: offset: 0x76e, out: 0xadaf
+lhu :: offset: 0x770, out: 0x3086
+lhu :: offset: 0x772, out: 0xeb25
+lhu :: offset: 0x774, out: 0x1933
+lhu :: offset: 0x776, out: 0x3406
+lhu :: offset: 0x778, out: 0x52bc
+lhu :: offset: 0x77a, out: 0x4b4c
+lhu :: offset: 0x77c, out: 0xda26
+lhu :: offset: 0x77e, out: 0x1748
+lhu :: offset: 0x780, out: 0xbe89
+lhu :: offset: 0x782, out: 0x9302
+lhu :: offset: 0x784, out: 0xfc9a
+lhu :: offset: 0x786, out: 0x34fd
+lhu :: offset: 0x788, out: 0xd180
+lhu :: offset: 0x78a, out: 0xc521
+lhu :: offset: 0x78c, out: 0x78c3
+lhu :: offset: 0x78e, out: 0xd002
+lhu :: offset: 0x790, out: 0x7a5d
+lhu :: offset: 0x792, out: 0xc1d3
+lhu :: offset: 0x794, out: 0x44a4
+lhu :: offset: 0x796, out: 0xe909
+lhu :: offset: 0x798, out: 0x9839
+lhu :: offset: 0x79a, out: 0xddef
+lhu :: offset: 0x79c, out: 0x698f
+lhu :: offset: 0x79e, out: 0x65fd
+lhu :: offset: 0x7a0, out: 0xaf52
+lhu :: offset: 0x7a2, out: 0x81b5
+lhu :: offset: 0x7a4, out: 0xe3ad
+lhu :: offset: 0x7a6, out: 0xc49e
+lhu :: offset: 0x7a8, out: 0x63e9
+lhu :: offset: 0x7aa, out: 0xbdb2
+lhu :: offset: 0x7ac, out: 0x41e8
+lhu :: offset: 0x7ae, out: 0x7aa9
+lhu :: offset: 0x7b0, out: 0xb58d
+lhu :: offset: 0x7b2, out: 0x42f3
+lhu :: offset: 0x7b4, out: 0x209e
+lhu :: offset: 0x7b6, out: 0x372c
+lhu :: offset: 0x7b8, out: 0xa83b
+lhu :: offset: 0x7ba, out: 0xe122
+lhu :: offset: 0x7bc, out: 0x70b7
+lhu :: offset: 0x7be, out: 0x30f8
+lhu :: offset: 0x7c0, out: 0x30ec
+lhu :: offset: 0x7c2, out: 0x6789
+lhu :: offset: 0x7c4, out: 0xde4b
+lhu :: offset: 0x7c6, out: 0x9e02
+lhu :: offset: 0x7c8, out: 0x631e
+lhu :: offset: 0x7ca, out: 0x9826
+lhu :: offset: 0x7cc, out: 0xa863
+lhu :: offset: 0x7ce, out: 0xcd61
+lhu :: offset: 0x7d0, out: 0xd3ca
+lhu :: offset: 0x7d2, out: 0x9a7b
+lhu :: offset: 0x7d4, out: 0xbc89
+lhu :: offset: 0x7d6, out: 0xae87
+lhu :: offset: 0x7d8, out: 0xaf17
+lhu :: offset: 0x7da, out: 0x6481
+lhu :: offset: 0x7dc, out: 0x644d
+lhu :: offset: 0x7de, out: 0x58ec
+lhu :: offset: 0x7e0, out: 0xb666
+lhu :: offset: 0x7e2, out: 0xb236
+lhu :: offset: 0x7e4, out: 0xce5f
+lhu :: offset: 0x7e6, out: 0x680c
+lhu :: offset: 0x7e8, out: 0x4d75
+lhu :: offset: 0x7ea, out: 0x1f6d
+lhu :: offset: 0x7ec, out: 0x9947
+lhu :: offset: 0x7ee, out: 0x3baa
+lhu :: offset: 0x7f0, out: 0x236b
+lhu :: offset: 0x7f2, out: 0x5f12
+lhu :: offset: 0x7f4, out: 0x9b44
+lhu :: offset: 0x7f6, out: 0x614d
+lhu :: offset: 0x7f8, out: 0x4121
+lhu :: offset: 0x7fa, out: 0x1ba8
+lhu :: offset: 0x7fc, out: 0xec66
+lhu :: offset: 0x7fe, out: 0xa2a6
+lw :: offset: 0x0, out: 0x0
+lw :: offset: 0x4, out: 0x0
+lw :: offset: 0x8, out: 0x9823b6e
+lw :: offset: 0xc, out: 0xd4326d9
+lw :: offset: 0x10, out: 0x130476dc
+lw :: offset: 0x14, out: 0x17c56b6b
+lw :: offset: 0x18, out: 0x1a864db2
+lw :: offset: 0x1c, out: 0x1e475005
+lw :: offset: 0x20, out: 0x2608edb8
+lw :: offset: 0x24, out: 0x22c9f00f
+lw :: offset: 0x28, out: 0x2f8ad6d6
+lw :: offset: 0x2c, out: 0x2b4bcb61
+lw :: offset: 0x30, out: 0x350c9b64
+lw :: offset: 0x34, out: 0x31cd86d3
+lw :: offset: 0x38, out: 0x3c8ea00a
+lw :: offset: 0x3c, out: 0x384fbdbd
+lw :: offset: 0x40, out: 0x4c11db70
+lw :: offset: 0x44, out: 0x48d0c6c7
+lw :: offset: 0x48, out: 0x4593e01e
+lw :: offset: 0x4c, out: 0x4152fda9
+lw :: offset: 0x50, out: 0x5f15adac
+lw :: offset: 0x54, out: 0x5bd4b01b
+lw :: offset: 0x58, out: 0x569796c2
+lw :: offset: 0x5c, out: 0x52568b75
+lw :: offset: 0x60, out: 0x6a1936c8
+lw :: offset: 0x64, out: 0x6ed82b7f
+lw :: offset: 0x68, out: 0x639b0da6
+lw :: offset: 0x6c, out: 0x675a1011
+lw :: offset: 0x70, out: 0x791d4014
+lw :: offset: 0x74, out: 0x7ddc5da3
+lw :: offset: 0x78, out: 0x709f7b7a
+lw :: offset: 0x7c, out: 0x745e66cd
+lw :: offset: 0x80, out: 0xffffffff9823b6e0
+lw :: offset: 0x84, out: 0xffffffff9ce2ab57
+lw :: offset: 0x88, out: 0xffffffff91a18d8e
+lw :: offset: 0x8c, out: 0xffffffff95609039
+lw :: offset: 0x90, out: 0xffffffff8b27c03c
+lw :: offset: 0x94, out: 0xffffffff8fe6dd8b
+lw :: offset: 0x98, out: 0xffffffff82a5fb52
+lw :: offset: 0x9c, out: 0xffffffff8664e6e5
+lw :: offset: 0xa0, out: 0xffffffffbe2b5b58
+lw :: offset: 0xa4, out: 0xffffffffbaea46ef
+lw :: offset: 0xa8, out: 0xffffffffb7a96036
+lw :: offset: 0xac, out: 0xffffffffb3687d81
+lw :: offset: 0xb0, out: 0xffffffffad2f2d84
+lw :: offset: 0xb4, out: 0xffffffffa9ee3033
+lw :: offset: 0xb8, out: 0xffffffffa4ad16ea
+lw :: offset: 0xbc, out: 0xffffffffa06c0b5d
+lw :: offset: 0xc0, out: 0xffffffffd4326d90
+lw :: offset: 0xc4, out: 0xffffffffd0f37027
+lw :: offset: 0xc8, out: 0xffffffffddb056fe
+lw :: offset: 0xcc, out: 0xffffffffd9714b49
+lw :: offset: 0xd0, out: 0xffffffffc7361b4c
+lw :: offset: 0xd4, out: 0xffffffffc3f706fb
+lw :: offset: 0xd8, out: 0xffffffffceb42022
+lw :: offset: 0xdc, out: 0xffffffffca753d95
+lw :: offset: 0xe0, out: 0xfffffffff23a8028
+lw :: offset: 0xe4, out: 0xfffffffff6fb9d9f
+lw :: offset: 0xe8, out: 0xfffffffffbb8bb46
+lw :: offset: 0xec, out: 0xffffffffff79a6f1
+lw :: offset: 0xf0, out: 0xffffffffe13ef6f4
+lw :: offset: 0xf4, out: 0xffffffffe5ffeb43
+lw :: offset: 0xf8, out: 0xffffffffe8bccd9a
+lw :: offset: 0xfc, out: 0xffffffffec7dd02d
+lw :: offset: 0x100, out: 0x34867077
+lw :: offset: 0x104, out: 0x30476dc0
+lw :: offset: 0x108, out: 0x3d044b19
+lw :: offset: 0x10c, out: 0x39c556ae
+lw :: offset: 0x110, out: 0x278206ab
+lw :: offset: 0x114, out: 0x23431b1c
+lw :: offset: 0x118, out: 0x2e003dc5
+lw :: offset: 0x11c, out: 0x2ac12072
+lw :: offset: 0x120, out: 0x128e9dcf
+lw :: offset: 0x124, out: 0x164f8078
+lw :: offset: 0x128, out: 0x1b0ca6a1
+lw :: offset: 0x12c, out: 0x1fcdbb16
+lw :: offset: 0x130, out: 0x18aeb13
+lw :: offset: 0x134, out: 0x54bf6a4
+lw :: offset: 0x138, out: 0x808d07d
+lw :: offset: 0x13c, out: 0xcc9cdca
+lw :: offset: 0x140, out: 0x7897ab07
+lw :: offset: 0x144, out: 0x7c56b6b0
+lw :: offset: 0x148, out: 0x71159069
+lw :: offset: 0x14c, out: 0x75d48dde
+lw :: offset: 0x150, out: 0x6b93dddb
+lw :: offset: 0x154, out: 0x6f52c06c
+lw :: offset: 0x158, out: 0x6211e6b5
+lw :: offset: 0x15c, out: 0x66d0fb02
+lw :: offset: 0x160, out: 0x5e9f46bf
+lw :: offset: 0x164, out: 0x5a5e5b08
+lw :: offset: 0x168, out: 0x571d7dd1
+lw :: offset: 0x16c, out: 0x53dc6066
+lw :: offset: 0x170, out: 0x4d9b3063
+lw :: offset: 0x174, out: 0x495a2dd4
+lw :: offset: 0x178, out: 0x44190b0d
+lw :: offset: 0x17c, out: 0x40d816ba
+lw :: offset: 0x180, out: 0xffffffffaca5c697
+lw :: offset: 0x184, out: 0xffffffffa864db20
+lw :: offset: 0x188, out: 0xffffffffa527fdf9
+lw :: offset: 0x18c, out: 0xffffffffa1e6e04e
+lw :: offset: 0x190, out: 0xffffffffbfa1b04b
+lw :: offset: 0x194, out: 0xffffffffbb60adfc
+lw :: offset: 0x198, out: 0xffffffffb6238b25
+lw :: offset: 0x19c, out: 0xffffffffb2e29692
+lw :: offset: 0x1a0, out: 0xffffffff8aad2b2f
+lw :: offset: 0x1a4, out: 0x0
+lw :: offset: 0x1a8, out: 0x0
+lw :: offset: 0x1ac, out: 0xffffffff87ee0df6
+lw :: offset: 0x1b0, out: 0xffffffff99a95df3
+lw :: offset: 0x1b4, out: 0xffffffff9d684044
+lw :: offset: 0x1b8, out: 0xffffffff902b669d
+lw :: offset: 0x1bc, out: 0xffffffff94ea7b2a
+lw :: offset: 0x1c0, out: 0xffffffffe0b41de7
+lw :: offset: 0x1c4, out: 0xffffffffe4750050
+lw :: offset: 0x1c8, out: 0xffffffffe9362689
+lw :: offset: 0x1cc, out: 0xffffffffedf73b3e
+lw :: offset: 0x1d0, out: 0xfffffffff3b06b3b
+lw :: offset: 0x1d4, out: 0xfffffffff771768c
+lw :: offset: 0x1d8, out: 0xfffffffffa325055
+lw :: offset: 0x1dc, out: 0xfffffffffef34de2
+lw :: offset: 0x1e0, out: 0xffffffffc6bcf05f
+lw :: offset: 0x1e4, out: 0xffffffffc27dede8
+lw :: offset: 0x1e8, out: 0xffffffffcf3ecb31
+lw :: offset: 0x1ec, out: 0xffffffffcbffd686
+lw :: offset: 0x1f0, out: 0xffffffffd5b88683
+lw :: offset: 0x1f4, out: 0xffffffffd1799b34
+lw :: offset: 0x1f8, out: 0xffffffffdc3abded
+lw :: offset: 0x1fc, out: 0xffffffffd8fba05a
+lw :: offset: 0x200, out: 0x690ce0ee
+lw :: offset: 0x204, out: 0x6dcdfd59
+lw :: offset: 0x208, out: 0x608edb80
+lw :: offset: 0x20c, out: 0x644fc637
+lw :: offset: 0x210, out: 0x7a089632
+lw :: offset: 0x214, out: 0x7ec98b85
+lw :: offset: 0x218, out: 0x738aad5c
+lw :: offset: 0x21c, out: 0x774bb0eb
+lw :: offset: 0x220, out: 0x4f040d56
+lw :: offset: 0x224, out: 0x4bc510e1
+lw :: offset: 0x228, out: 0x46863638
+lw :: offset: 0x22c, out: 0x42472b8f
+lw :: offset: 0x230, out: 0x5c007b8a
+lw :: offset: 0x234, out: 0x58c1663d
+lw :: offset: 0x238, out: 0x558240e4
+lw :: offset: 0x23c, out: 0x51435d53
+lw :: offset: 0x240, out: 0x251d3b9e
+lw :: offset: 0x244, out: 0x21dc2629
+lw :: offset: 0x248, out: 0x2c9f00f0
+lw :: offset: 0x24c, out: 0x285e1d47
+lw :: offset: 0x250, out: 0x36194d42
+lw :: offset: 0x254, out: 0x32d850f5
+lw :: offset: 0x258, out: 0x3f9b762c
+lw :: offset: 0x25c, out: 0x3b5a6b9b
+lw :: offset: 0x260, out: 0x315d626
+lw :: offset: 0x264, out: 0x7d4cb91
+lw :: offset: 0x268, out: 0xa97ed48
+lw :: offset: 0x26c, out: 0xe56f0ff
+lw :: offset: 0x270, out: 0x1011a0fa
+lw :: offset: 0x274, out: 0x14d0bd4d
+lw :: offset: 0x278, out: 0x19939b94
+lw :: offset: 0x27c, out: 0x1d528623
+lw :: offset: 0x280, out: 0xfffffffff12f560e
+lw :: offset: 0x284, out: 0xfffffffff5ee4bb9
+lw :: offset: 0x288, out: 0xfffffffff8ad6d60
+lw :: offset: 0x28c, out: 0xfffffffffc6c70d7
+lw :: offset: 0x290, out: 0xffffffffe22b20d2
+lw :: offset: 0x294, out: 0xffffffffe6ea3d65
+lw :: offset: 0x298, out: 0xffffffffeba91bbc
+lw :: offset: 0x29c, out: 0xffffffffef68060b
+lw :: offset: 0x2a0, out: 0xffffffffd727bbb6
+lw :: offset: 0x2a4, out: 0xffffffffd3e6a601
+lw :: offset: 0x2a8, out: 0xffffffffdea580d8
+lw :: offset: 0x2ac, out: 0xffffffffda649d6f
+lw :: offset: 0x2b0, out: 0xffffffffc423cd6a
+lw :: offset: 0x2b4, out: 0x0
+lw :: offset: 0x2b8, out: 0xffffffffcda1f604
+lw :: offset: 0x2bc, out: 0x0
+lw :: offset: 0x2c0, out: 0xffffffffbd3e8d7e
+lw :: offset: 0x2c4, out: 0xffffffffb9ff90c9
+lw :: offset: 0x2c8, out: 0xffffffffb4bcb610
+lw :: offset: 0x2cc, out: 0xffffffffb07daba7
+lw :: offset: 0x2d0, out: 0xffffffffae3afba2
+lw :: offset: 0x2d4, out: 0xffffffffaafbe615
+lw :: offset: 0x2d8, out: 0xffffffffa7b8c0cc
+lw :: offset: 0x2dc, out: 0xffffffffa379dd7b
+lw :: offset: 0x2e0, out: 0xffffffff9b3660c6
+lw :: offset: 0x2e4, out: 0xffffffff9ff77d71
+lw :: offset: 0x2e8, out: 0xffffffff92b45ba8
+lw :: offset: 0x2ec, out: 0xffffffff9675461f
+lw :: offset: 0x2f0, out: 0xffffffff8832161a
+lw :: offset: 0x2f4, out: 0xffffffff8cf30bad
+lw :: offset: 0x2f8, out: 0xffffffff81b02d74
+lw :: offset: 0x2fc, out: 0xffffffff857130c3
+lw :: offset: 0x300, out: 0x5d8a9099
+lw :: offset: 0x304, out: 0x594b8d2e
+lw :: offset: 0x308, out: 0x5408abf7
+lw :: offset: 0x30c, out: 0x50c9b640
+lw :: offset: 0x310, out: 0x4e8ee645
+lw :: offset: 0x314, out: 0x4a4ffbf2
+lw :: offset: 0x318, out: 0x470cdd2b
+lw :: offset: 0x31c, out: 0x43cdc09c
+lw :: offset: 0x320, out: 0x7b827d21
+lw :: offset: 0x324, out: 0x7f436096
+lw :: offset: 0x328, out: 0x7200464f
+lw :: offset: 0x32c, out: 0x76c15bf8
+lw :: offset: 0x330, out: 0x68860bfd
+lw :: offset: 0x334, out: 0x6c47164a
+lw :: offset: 0x338, out: 0x61043093
+lw :: offset: 0x33c, out: 0x65c52d24
+lw :: offset: 0x340, out: 0x119b4be9
+lw :: offset: 0x344, out: 0x155a565e
+lw :: offset: 0x348, out: 0x18197087
+lw :: offset: 0x34c, out: 0x1cd86d30
+lw :: offset: 0x350, out: 0x29f3d35
+lw :: offset: 0x354, out: 0x65e2082
+lw :: offset: 0x358, out: 0xb1d065b
+lw :: offset: 0x35c, out: 0xfdc1bec
+lw :: offset: 0x360, out: 0x3793a651
+lw :: offset: 0x364, out: 0x3352bbe6
+lw :: offset: 0x368, out: 0x3e119d3f
+lw :: offset: 0x36c, out: 0x3ad08088
+lw :: offset: 0x370, out: 0x2497d08d
+lw :: offset: 0x374, out: 0x2056cd3a
+lw :: offset: 0x378, out: 0x2d15ebe3
+lw :: offset: 0x37c, out: 0x29d4f654
+lw :: offset: 0x380, out: 0xffffffffc5a92679
+lw :: offset: 0x384, out: 0xffffffffc1683bce
+lw :: offset: 0x388, out: 0xffffffffcc2b1d17
+lw :: offset: 0x38c, out: 0xffffffffc8ea00a0
+lw :: offset: 0x390, out: 0xffffffffd6ad50a5
+lw :: offset: 0x394, out: 0xffffffffd26c4d12
+lw :: offset: 0x398, out: 0xffffffffdf2f6bcb
+lw :: offset: 0x39c, out: 0xffffffffdbee767c
+lw :: offset: 0x3a0, out: 0xffffffffe3a1cbc1
+lw :: offset: 0x3a4, out: 0xffffffffe760d676
+lw :: offset: 0x3a8, out: 0xffffffffea23f0af
+lw :: offset: 0x3ac, out: 0xffffffffeee2ed18
+lw :: offset: 0x3b0, out: 0xfffffffff0a5bd1d
+lw :: offset: 0x3b4, out: 0xfffffffff464a0aa
+lw :: offset: 0x3b8, out: 0xfffffffff9278673
+lw :: offset: 0x3bc, out: 0xfffffffffde69bc4
+lw :: offset: 0x3c0, out: 0xffffffff89b8fd09
+lw :: offset: 0x3c4, out: 0xffffffff8d79e0be
+lw :: offset: 0x3c8, out: 0xffffffff803ac667
+lw :: offset: 0x3cc, out: 0xffffffff84fbdbd0
+lw :: offset: 0x3d0, out: 0xffffffff9abc8bd5
+lw :: offset: 0x3d4, out: 0xffffffff9e7d9662
+lw :: offset: 0x3d8, out: 0xffffffff933eb0bb
+lw :: offset: 0x3dc, out: 0xffffffff97ffad0c
+lw :: offset: 0x3e0, out: 0xffffffffafb010b1
+lw :: offset: 0x3e4, out: 0xffffffffab710d06
+lw :: offset: 0x3e8, out: 0xffffffffa6322bdf
+lw :: offset: 0x3ec, out: 0xffffffffa2f33668
+lw :: offset: 0x3f0, out: 0xffffffffbcb4666d
+lw :: offset: 0x3f4, out: 0xffffffffb8757bda
+lw :: offset: 0x3f8, out: 0xffffffffb5365d03
+lw :: offset: 0x3fc, out: 0xffffffffb1f740b4
+lw :: offset: 0x0, out: 0x12bd6aa
+lw :: offset: 0x4, out: 0x0
+lw :: offset: 0x8, out: 0xffffffff82d2ab13
+lw :: offset: 0xc, out: 0x7e8763
+lw :: offset: 0x10, out: 0xffffffffc31510f3
+lw :: offset: 0x14, out: 0xffffffff976d6e9a
+lw :: offset: 0x18, out: 0x5ad6a5fb
+lw :: offset: 0x1c, out: 0xffffffffb7746d77
+lw :: offset: 0x20, out: 0xffffffff8677b502
+lw :: offset: 0x24, out: 0x42b0c0a2
+lw :: offset: 0x28, out: 0xffffffff9e3c30ad
+lw :: offset: 0x2c, out: 0x2aa89d31
+lw :: offset: 0x30, out: 0x77fb413d
+lw :: offset: 0x34, out: 0x1f308ec3
+lw :: offset: 0x38, out: 0xffffffffc760e4f7
+lw :: offset: 0x3c, out: 0x7aa04213
+lw :: offset: 0x40, out: 0x1ad8dca0
+lw :: offset: 0x44, out: 0xffffffff9e705cc5
+lw :: offset: 0x48, out: 0xffffffff9615a60d
+lw :: offset: 0x4c, out: 0x4b3dda86
+lw :: offset: 0x50, out: 0x6353d41d
+lw :: offset: 0x54, out: 0x5e7a4dd
+lw :: offset: 0x58, out: 0xffffffffc40bd413
+lw :: offset: 0x5c, out: 0x3af35a9d
+lw :: offset: 0x60, out: 0xffffffff9a08a180
+lw :: offset: 0x64, out: 0x47f50556
+lw :: offset: 0x68, out: 0xffffffffd6d2040f
+lw :: offset: 0x6c, out: 0xffffffff9564b77f
+lw :: offset: 0x70, out: 0xffffffffb2c76bbe
+lw :: offset: 0x74, out: 0xffffffffcebc8279
+lw :: offset: 0x78, out: 0x1f18e4c7
+lw :: offset: 0x7c, out: 0xffffffffb5034c2f
+lw :: offset: 0x80, out: 0xffffffff81afa797
+lw :: offset: 0x84, out: 0xffffffff94ff52fc
+lw :: offset: 0x88, out: 0x6dfc50ea
+lw :: offset: 0x8c, out: 0x31d8d916
+lw :: offset: 0x90, out: 0x78e895b1
+lw :: offset: 0x94, out: 0x36549bd6
+lw :: offset: 0x98, out: 0xffffffff9b63259b
+lw :: offset: 0x9c, out: 0xffffffff85e0a631
+lw :: offset: 0xa0, out: 0xffffffffccf17ac5
+lw :: offset: 0xa4, out: 0x556b3eca
+lw :: offset: 0xa8, out: 0xffffffff81eea0fb
+lw :: offset: 0xac, out: 0xffffffffb42f5fc5
+lw :: offset: 0xb0, out: 0x14682d97
+lw :: offset: 0xb4, out: 0x25b50fec
+lw :: offset: 0xb8, out: 0x2cfb087a
+lw :: offset: 0xbc, out: 0xfffffffffc93c513
+lw :: offset: 0xc0, out: 0xffffffffcda20766
+lw :: offset: 0xc4, out: 0x3c2cd9a9
+lw :: offset: 0xc8, out: 0x7d72da3e
+lw :: offset: 0xcc, out: 0x1791722a
+lw :: offset: 0xd0, out: 0xffffffff93ce24ad
+lw :: offset: 0xd4, out: 0x87cc9d1
+lw :: offset: 0xd8, out: 0x38984ed2
+lw :: offset: 0xdc, out: 0x1d2a7570
+lw :: offset: 0xe0, out: 0x710cd036
+lw :: offset: 0xe4, out: 0xffffffffd0d070db
+lw :: offset: 0xe8, out: 0x3415604
+lw :: offset: 0xec, out: 0x39c21c7d
+lw :: offset: 0xf0, out: 0xffffffff8ecc31ce
+lw :: offset: 0xf4, out: 0xffffffff8e94b7af
+lw :: offset: 0xf8, out: 0x1ce7674f
+lw :: offset: 0xfc, out: 0x24eb6a8d
+lw :: offset: 0x100, out: 0x12d6e4a7
+lw :: offset: 0x104, out: 0x2f394544
+lw :: offset: 0x108, out: 0x56da4c54
+lw :: offset: 0x10c, out: 0x2608c2b7
+lw :: offset: 0x110, out: 0xffffffffc8d7252f
+lw :: offset: 0x114, out: 0xffffffff900102da
+lw :: offset: 0x118, out: 0xfffffffff2efa4f7
+lw :: offset: 0x11c, out: 0xffffffffc890d5f1
+lw :: offset: 0x120, out: 0xffffffffc8b0a214
+lw :: offset: 0x124, out: 0xffffffffed5005cb
+lw :: offset: 0x128, out: 0x5991136c
+lw :: offset: 0x12c, out: 0x31479189
+lw :: offset: 0x130, out: 0xffffffff9a2fb6f3
+lw :: offset: 0x134, out: 0xffffffffc6eecff9
+lw :: offset: 0x138, out: 0x38895270
+lw :: offset: 0x13c, out: 0xffffffffa8095212
+lw :: offset: 0x140, out: 0xffffffffad765040
+lw :: offset: 0x144, out: 0xffffffff87750a04
+lw :: offset: 0x148, out: 0xffffffff84bb5a83
+lw :: offset: 0x14c, out: 0x2c3de85e
+lw :: offset: 0x150, out: 0xffffffffc506aa67
+lw :: offset: 0x154, out: 0xffffffffae6aff8f
+lw :: offset: 0x158, out: 0x60ed5ee3
+lw :: offset: 0x15c, out: 0xffffffffc07112dd
+lw :: offset: 0x160, out: 0x30dcca5a
+lw :: offset: 0x164, out: 0xffffffffc4c770f6
+lw :: offset: 0x168, out: 0xffffffff83cd5277
+lw :: offset: 0x16c, out: 0xffffffffdfec2b23
+lw :: offset: 0x170, out: 0xff7d96b
+lw :: offset: 0x174, out: 0xffffffffd3adba26
+lw :: offset: 0x178, out: 0xffffffff8418c00e
+lw :: offset: 0x17c, out: 0x4ab4aa79
+lw :: offset: 0x180, out: 0xde0f0b8
+lw :: offset: 0x184, out: 0xffffffffbb8c035e
+lw :: offset: 0x188, out: 0xffffffffa97fdcf1
+lw :: offset: 0x18c, out: 0x33b06f54
+lw :: offset: 0x190, out: 0x3fd1c081
+lw :: offset: 0x194, out: 0x77433f37
+lw :: offset: 0x198, out: 0xffffffffc92195e4
+lw :: offset: 0x19c, out: 0xffffffffec91d993
+lw :: offset: 0x1a0, out: 0xffffffff95b1a5ab
+lw :: offset: 0x1a4, out: 0x49fbf6a7
+lw :: offset: 0x1a8, out: 0xffffffffc7ce8d1e
+lw :: offset: 0x1ac, out: 0x19364378
+lw :: offset: 0x1b0, out: 0x2f384907
+lw :: offset: 0x1b4, out: 0xffffffffb99e8def
+lw :: offset: 0x1b8, out: 0x582b12fe
+lw :: offset: 0x1bc, out: 0x47eacdcd
+lw :: offset: 0x1c0, out: 0x76558c4f
+lw :: offset: 0x1c4, out: 0xffffffffd685884e
+lw :: offset: 0x1c8, out: 0x34c195c7
+lw :: offset: 0x1cc, out: 0x6168d62a
+lw :: offset: 0x1d0, out: 0x4df47405
+lw :: offset: 0x1d4, out: 0xffffffffd3016989
+lw :: offset: 0x1d8, out: 0x6cbb06db
+lw :: offset: 0x1dc, out: 0x1ca190bf
+lw :: offset: 0x1e0, out: 0xffffffff9cae393a
+lw :: offset: 0x1e4, out: 0x58300f02
+lw :: offset: 0x1e8, out: 0xffffffffdc7ebc2d
+lw :: offset: 0x1ec, out: 0xffffffff9a995fdb
+lw :: offset: 0x1f0, out: 0xffffffffe3405b48
+lw :: offset: 0x1f4, out: 0xffffffff8a96047b
+lw :: offset: 0x1f8, out: 0xffffffffd519d322
+lw :: offset: 0x1fc, out: 0x75bfafd2
+lw :: offset: 0x200, out: 0xffffffffa630f6ad
+lw :: offset: 0x204, out: 0xffffffffde230867
+lw :: offset: 0x208, out: 0x56103260
+lw :: offset: 0x20c, out: 0x2c0a0cf2
+lw :: offset: 0x210, out: 0x249b18ef
+lw :: offset: 0x214, out: 0xffffffff94a90544
+lw :: offset: 0x218, out: 0x5b56fcde
+lw :: offset: 0x21c, out: 0xfffffffff9519fb5
+lw :: offset: 0x220, out: 0x468319b
+lw :: offset: 0x224, out: 0xffffffff81daf820
+lw :: offset: 0x228, out: 0x5725f2ec
+lw :: offset: 0x22c, out: 0xffffffff8c61ca5a
+lw :: offset: 0x230, out: 0xffffffffc25dc8bf
+lw :: offset: 0x234, out: 0xffffffff8b95a6dd
+lw :: offset: 0x238, out: 0xffffffffdac6162f
+lw :: offset: 0x23c, out: 0x300ce751
+lw :: offset: 0x240, out: 0xffffffffba52a850
+lw :: offset: 0x244, out: 0x6778fdf3
+lw :: offset: 0x248, out: 0xffffffffda78479f
+lw :: offset: 0x24c, out: 0xffffffffad00b1f7
+lw :: offset: 0x250, out: 0xffffffffa6b6d98a
+lw :: offset: 0x254, out: 0x8d44168
+lw :: offset: 0x258, out: 0xffffffffce634413
+lw :: offset: 0x25c, out: 0xfffffffff518381d
+lw :: offset: 0x260, out: 0xffffffffe5255fc0
+lw :: offset: 0x264, out: 0xffffffffe4627f3f
+lw :: offset: 0x268, out: 0x76321f28
+lw :: offset: 0x26c, out: 0xffffffffccd392e1
+lw :: offset: 0x270, out: 0x4018fd8f
+lw :: offset: 0x274, out: 0xffffffff82946494
+lw :: offset: 0x278, out: 0x52e8f0e5
+lw :: offset: 0x27c, out: 0x15d32040
+lw :: offset: 0x280, out: 0xffffffff880ff344
+lw :: offset: 0x284, out: 0x7caf83d2
+lw :: offset: 0x288, out: 0x747defd7
+lw :: offset: 0x28c, out: 0xfffffffff156a04c
+lw :: offset: 0x290, out: 0xf31d710
+lw :: offset: 0x294, out: 0xffffffff93e2601c
+lw :: offset: 0x298, out: 0x131cd933
+lw :: offset: 0x29c, out: 0xffffffffe1e1a679
+lw :: offset: 0x2a0, out: 0xffffffffa76fa427
+lw :: offset: 0x2a4, out: 0x24296b75
+lw :: offset: 0x2a8, out: 0x139ee56a
+lw :: offset: 0x2ac, out: 0xffffffffd296e2d2
+lw :: offset: 0x2b0, out: 0x6dc2a5c0
+lw :: offset: 0x2b4, out: 0x5a82447f
+lw :: offset: 0x2b8, out: 0xffffffffc07dc168
+lw :: offset: 0x2bc, out: 0x76c89e80
+lw :: offset: 0x2c0, out: 0x4bfe348f
+lw :: offset: 0x2c4, out: 0x70dc345
+lw :: offset: 0x2c8, out: 0xffffffffdd6d241b
+lw :: offset: 0x2cc, out: 0xffffffffbddc7123
+lw :: offset: 0x2d0, out: 0xffffffffa59fcebe
+lw :: offset: 0x2d4, out: 0xfffffffff62fb727
+lw :: offset: 0x2d8, out: 0xf9f46fb
+lw :: offset: 0x2dc, out: 0x109f27e9
+lw :: offset: 0x2e0, out: 0xffffffffafd199d7
+lw :: offset: 0x2e4, out: 0x3f63daa9
+lw :: offset: 0x2e8, out: 0xffffffffa3d484f2
+lw :: offset: 0x2ec, out: 0xffffffffdbcb312e
+lw :: offset: 0x2f0, out: 0xffffffffda4fe4c6
+lw :: offset: 0x2f4, out: 0x1f353faa
+lw :: offset: 0x2f8, out: 0x7150c260
+lw :: offset: 0x2fc, out: 0xffffffff8b086ee0
+lw :: offset: 0x300, out: 0xffffffffd9257f25
+lw :: offset: 0x304, out: 0xffffffffe54750d5
+lw :: offset: 0x308, out: 0xffffffffe9a6db5b
+lw :: offset: 0x30c, out: 0x3d69625f
+lw :: offset: 0x310, out: 0x4340ac96
+lw :: offset: 0x314, out: 0x70a3e042
+lw :: offset: 0x318, out: 0x6980171e
+lw :: offset: 0x31c, out: 0xffffffffc0478f03
+lw :: offset: 0x320, out: 0x1cf929e3
+lw :: offset: 0x324, out: 0x3ce839a5
+lw :: offset: 0x328, out: 0x5eb68958
+lw :: offset: 0x32c, out: 0xffffffffe2fbfa89
+lw :: offset: 0x330, out: 0x76ed25b7
+lw :: offset: 0x334, out: 0xffffffffd24bb05d
+lw :: offset: 0x338, out: 0x170312f1
+lw :: offset: 0x33c, out: 0xeb9682c
+lw :: offset: 0x340, out: 0xffffffffdd301d0d
+lw :: offset: 0x344, out: 0xffffffff84785280
+lw :: offset: 0x348, out: 0x1f8fd6ef
+lw :: offset: 0x34c, out: 0x179c77aa
+lw :: offset: 0x350, out: 0x2998436d
+lw :: offset: 0x354, out: 0x26444ced
+lw :: offset: 0x358, out: 0xffffffffd58ca708
+lw :: offset: 0x35c, out: 0x7175c9d
+lw :: offset: 0x360, out: 0x55833287
+lw :: offset: 0x364, out: 0x663d0610
+lw :: offset: 0x368, out: 0xffffffff8951d68b
+lw :: offset: 0x36c, out: 0xffffffffab7dd048
+lw :: offset: 0x370, out: 0xe82471b
+lw :: offset: 0x374, out: 0xfffffffff6982367
+lw :: offset: 0x378, out: 0xffffffffd98d26b2
+lw :: offset: 0x37c, out: 0x36886c59
+lw :: offset: 0x380, out: 0xffffffffd32be479
+lw :: offset: 0x384, out: 0x9ca4bdb
+lw :: offset: 0x388, out: 0xffffffff9962e61f
+lw :: offset: 0x38c, out: 0xfffffffffd5d7d1d
+lw :: offset: 0x390, out: 0xffffffffcad374df
+lw :: offset: 0x394, out: 0x3f46553e
+lw :: offset: 0x398, out: 0x3eedf2a7
+lw :: offset: 0x39c, out: 0x2e9ab97d
+lw :: offset: 0x3a0, out: 0x3c0c9f33
+lw :: offset: 0x3a4, out: 0x36a6f7fa
+lw :: offset: 0x3a8, out: 0x155ec9dc
+lw :: offset: 0x3ac, out: 0xffffffff8bb938e3
+lw :: offset: 0x3b0, out: 0x19478206
+lw :: offset: 0x3b4, out: 0xffffffffd2df25c4
+lw :: offset: 0x3b8, out: 0xffffffffeb321825
+lw :: offset: 0x3bc, out: 0xffffffffbc65bf27
+lw :: offset: 0x3c0, out: 0x7a8bc7da
+lw :: offset: 0x3c4, out: 0xffffffffa8b08fe6
+lw :: offset: 0x3c8, out: 0xfffffffff8dfcde8
+lw :: offset: 0x3cc, out: 0xffffffff852b5bca
+lw :: offset: 0x3d0, out: 0x59a99269
+lw :: offset: 0x3d4, out: 0x478909b
+lw :: offset: 0x3d8, out: 0x7857360f
+lw :: offset: 0x3dc, out: 0xffffffffbfb31cc8
+lw :: offset: 0x3e0, out: 0x7f89e9a2
+lw :: offset: 0x3e4, out: 0xffffffffb665ed5e
+lw :: offset: 0x3e8, out: 0xffffffffb7a8d5e4
+lw :: offset: 0x3ec, out: 0x15da9474
+lw :: offset: 0x3f0, out: 0x2af90fcc
+lw :: offset: 0x3f4, out: 0xfffffffff6b3537d
+lw :: offset: 0x3f8, out: 0x2b961897
+lw :: offset: 0x3fc, out: 0x223d7cfe
+lw :: offset: 0x400, out: 0x33734a4b
+lw :: offset: 0x404, out: 0x420b34f5
+lw :: offset: 0x408, out: 0xffffffffdd46b33c
+lw :: offset: 0x40c, out: 0xffffffff897c8c8d
+lw :: offset: 0x410, out: 0xffffffffe392ccd9
+lw :: offset: 0x414, out: 0x7a387445
+lw :: offset: 0x418, out: 0xffffffffd80000c9
+lw :: offset: 0x41c, out: 0x512f29b1
+lw :: offset: 0x420, out: 0x3dad020a
+lw :: offset: 0x424, out: 0xffffffffeaded5c5
+lw :: offset: 0x428, out: 0x31eea35b
+lw :: offset: 0x42c, out: 0xffffffff8a6229d7
+lw :: offset: 0x430, out: 0x48985649
+lw :: offset: 0x434, out: 0x2c3c3f9e
+lw :: offset: 0x438, out: 0xffffffffdc9c0b77
+lw :: offset: 0x43c, out: 0x7ff61e78
+lw :: offset: 0x440, out: 0x1d5e68ec
+lw :: offset: 0x444, out: 0x2299b0e0
+lw :: offset: 0x448, out: 0x3d0c6e25
+lw :: offset: 0x44c, out: 0x7c3b0467
+lw :: offset: 0x450, out: 0xffffffffe7fb6587
+lw :: offset: 0x454, out: 0x164e17c1
+lw :: offset: 0x458, out: 0x56d4950b
+lw :: offset: 0x45c, out: 0xfffffffffa4ca28b
+lw :: offset: 0x460, out: 0xffffffffbe7fa08a
+lw :: offset: 0x464, out: 0xffffffffe5e9a314
+lw :: offset: 0x468, out: 0x159649c5
+lw :: offset: 0x46c, out: 0xfffffffff8be8164
+lw :: offset: 0x470, out: 0xffffffff84e69b17
+lw :: offset: 0x474, out: 0x7ca32597
+lw :: offset: 0x478, out: 0xffffffffa1f24f5c
+lw :: offset: 0x47c, out: 0xfffffffffc8d543c
+lw :: offset: 0x480, out: 0xffffffffe3459e36
+lw :: offset: 0x484, out: 0x4aeb6ca0
+lw :: offset: 0x488, out: 0x187980fa
+lw :: offset: 0x48c, out: 0xffffffffc532e18e
+lw :: offset: 0x490, out: 0x4f287d1c
+lw :: offset: 0x494, out: 0xffffffffb3fdec29
+lw :: offset: 0x498, out: 0x49732b90
+lw :: offset: 0x49c, out: 0xffffffffb620660a
+lw :: offset: 0x4a0, out: 0x6cfde991
+lw :: offset: 0x4a4, out: 0xffffffff993138f1
+lw :: offset: 0x4a8, out: 0x7d5407b9
+lw :: offset: 0x4ac, out: 0xffffffffde02d133
+lw :: offset: 0x4b0, out: 0xffffffffe1dab15a
+lw :: offset: 0x4b4, out: 0x13a390e1
+lw :: offset: 0x4b8, out: 0xffffffff828716c8
+lw :: offset: 0x4bc, out: 0x743491a6
+lw :: offset: 0x4c0, out: 0xffffffffede292f2
+lw :: offset: 0x4c4, out: 0xffffffff8cff404a
+lw :: offset: 0x4c8, out: 0x1f837636
+lw :: offset: 0x4cc, out: 0xffffffffb9cec0db
+lw :: offset: 0x4d0, out: 0x509771c
+lw :: offset: 0x4d4, out: 0x2eaa5aa7
+lw :: offset: 0x4d8, out: 0x1875241b
+lw :: offset: 0x4dc, out: 0xffffffffd327538e
+lw :: offset: 0x4e0, out: 0xffffffff8b739b6b
+lw :: offset: 0x4e4, out: 0x42e9f854
+lw :: offset: 0x4e8, out: 0xffffffffeccbba1a
+lw :: offset: 0x4ec, out: 0x78e4e50c
+lw :: offset: 0x4f0, out: 0xffffffffcd9d27cb
+lw :: offset: 0x4f4, out: 0xfffffffff6b6fa3f
+lw :: offset: 0x4f8, out: 0xffffffffae3e9423
+lw :: offset: 0x4fc, out: 0x73916483
+lw :: offset: 0x500, out: 0xe128561
+lw :: offset: 0x504, out: 0x276af70a
+lw :: offset: 0x508, out: 0xffffffffb5e74b6e
+lw :: offset: 0x50c, out: 0x3045bf6
+lw :: offset: 0x510, out: 0x8accfa6
+lw :: offset: 0x514, out: 0x20223f13
+lw :: offset: 0x518, out: 0x3976b5f5
+lw :: offset: 0x51c, out: 0xfffffffff83c5574
+lw :: offset: 0x520, out: 0x46923c3d
+lw :: offset: 0x524, out: 0x1f9720f9
+lw :: offset: 0x528, out: 0x6d2448dd
+lw :: offset: 0x52c, out: 0x620d2850
+lw :: offset: 0x530, out: 0xffffffff9ff4a732
+lw :: offset: 0x534, out: 0x60a521e9
+lw :: offset: 0x538, out: 0x5c680f0b
+lw :: offset: 0x53c, out: 0x5a08f3ab
+lw :: offset: 0x540, out: 0xffffffff800f3d26
+lw :: offset: 0x544, out: 0xffffffffc7a59be7
+lw :: offset: 0x548, out: 0xffffffff82ca1b41
+lw :: offset: 0x54c, out: 0x1aecdf29
+lw :: offset: 0x550, out: 0x60d19dcd
+lw :: offset: 0x554, out: 0x2b8613a2
+lw :: offset: 0x558, out: 0xe8bbe7f
+lw :: offset: 0x55c, out: 0x2518ac8b
+lw :: offset: 0x560, out: 0x2fcf486b
+lw :: offset: 0x564, out: 0x743e568d
+lw :: offset: 0x568, out: 0x34c31728
+lw :: offset: 0x56c, out: 0x126f646f
+lw :: offset: 0x570, out: 0x56fc4d12
+lw :: offset: 0x574, out: 0xffffffffaab01961
+lw :: offset: 0x578, out: 0xffffffff8595d342
+lw :: offset: 0x57c, out: 0x7535cd33
+lw :: offset: 0x580, out: 0x422346ec
+lw :: offset: 0x584, out: 0xffffffffdfb254da
+lw :: offset: 0x588, out: 0x81ab2a
+lw :: offset: 0x58c, out: 0xffffffffa86726c9
+lw :: offset: 0x590, out: 0x679d7438
+lw :: offset: 0x594, out: 0xffffffff9bfeffa1
+lw :: offset: 0x598, out: 0xffffffffb7dee244
+lw :: offset: 0x59c, out: 0xffffffffc7699826
+lw :: offset: 0x5a0, out: 0xfffffffffba6704a
+lw :: offset: 0x5a4, out: 0x3c07af97
+lw :: offset: 0x5a8, out: 0x4c58bfe
+lw :: offset: 0x5ac, out: 0x521364dc
+lw :: offset: 0x5b0, out: 0xffffffff9ab7aebc
+lw :: offset: 0x5b4, out: 0xffffffffe0f7bb58
+lw :: offset: 0x5b8, out: 0xffffffffdeeb954d
+lw :: offset: 0x5bc, out: 0xffffffffe336c60c
+lw :: offset: 0x5c0, out: 0x6f52416e
+lw :: offset: 0x5c4, out: 0xffffffffd5b2120c
+lw :: offset: 0x5c8, out: 0x7e628a34
+lw :: offset: 0x5cc, out: 0xffffffff85a2d4ff
+lw :: offset: 0x5d0, out: 0x4a4e7e07
+lw :: offset: 0x5d4, out: 0xffffffff986a2b65
+lw :: offset: 0x5d8, out: 0x3a489b55
+lw :: offset: 0x5dc, out: 0xffffffffa974eac4
+lw :: offset: 0x5e0, out: 0x72f1f8f5
+lw :: offset: 0x5e4, out: 0xffffffffa388c162
+lw :: offset: 0x5e8, out: 0xffffffffe7495ea9
+lw :: offset: 0x5ec, out: 0xffffffffe8c11f45
+lw :: offset: 0x5f0, out: 0x5cc1c8b4
+lw :: offset: 0x5f4, out: 0xffffffffadaa5a76
+lw :: offset: 0x5f8, out: 0xffffffffdfa605c0
+lw :: offset: 0x5fc, out: 0x7ab4ce88
+lw :: offset: 0x600, out: 0x59a7b04f
+lw :: offset: 0x604, out: 0xffffffffb42ad6e6
+lw :: offset: 0x608, out: 0xffffffffb728922f
+lw :: offset: 0x60c, out: 0x4bf8485a
+lw :: offset: 0x610, out: 0x3b66a7fb
+lw :: offset: 0x614, out: 0x76a3d60c
+lw :: offset: 0x618, out: 0xfffffffffdc28eda
+lw :: offset: 0x61c, out: 0x31e0c6af
+lw :: offset: 0x620, out: 0xffffffffbf0c999d
+lw :: offset: 0x624, out: 0x53606bb4
+lw :: offset: 0x628, out: 0x1b7919f0
+lw :: offset: 0x62c, out: 0x32fc12c8
+lw :: offset: 0x630, out: 0xffffffffc72efcd6
+lw :: offset: 0x634, out: 0x3ef88384
+lw :: offset: 0x638, out: 0x6a2a3580
+lw :: offset: 0x63c, out: 0x38b1c7bb
+lw :: offset: 0x640, out: 0x1dca77c9
+lw :: offset: 0x644, out: 0x15ebf612
+lw :: offset: 0x648, out: 0xfffffffffd9147ae
+lw :: offset: 0x64c, out: 0x5eaacdd9
+lw :: offset: 0x650, out: 0xffffffff81e91117
+lw :: offset: 0x654, out: 0xffffffffbb8470f9
+lw :: offset: 0x658, out: 0xffffffffc6a532e0
+lw :: offset: 0x65c, out: 0x5d42aea
+lw :: offset: 0x660, out: 0x19fb9e63
+lw :: offset: 0x664, out: 0x14abf364
+lw :: offset: 0x668, out: 0xffffffffa8d72aac
+lw :: offset: 0x66c, out: 0x249d559a
+lw :: offset: 0x670, out: 0x84b30ec
+lw :: offset: 0x674, out: 0xcd6764f
+lw :: offset: 0x678, out: 0xffffffff92468fdf
+lw :: offset: 0x67c, out: 0x7f03ac07
+lw :: offset: 0x680, out: 0x56e670f5
+lw :: offset: 0x684, out: 0x7e35ce6d
+lw :: offset: 0x688, out: 0x1a652711
+lw :: offset: 0x68c, out: 0x15282859
+lw :: offset: 0x690, out: 0xffffffffd215a9fb
+lw :: offset: 0x694, out: 0xffffffff9e1c3283
+lw :: offset: 0x698, out: 0x282a0417
+lw :: offset: 0x69c, out: 0xffffffff8d95c049
+lw :: offset: 0x6a0, out: 0xffffffff978058f3
+lw :: offset: 0x6a4, out: 0xfffffffff2e7a490
+lw :: offset: 0x6a8, out: 0x975b1aa
+lw :: offset: 0x6ac, out: 0x775b4cca
+lw :: offset: 0x6b0, out: 0x35111020
+lw :: offset: 0x6b4, out: 0xa2b84a6
+lw :: offset: 0x6b8, out: 0xffffffffa7d88b6f
+lw :: offset: 0x6bc, out: 0x23fa0d3
+lw :: offset: 0x6c0, out: 0xffffffff9941dedd
+lw :: offset: 0x6c4, out: 0xffffffffa3d991b7
+lw :: offset: 0x6c8, out: 0x5a0d9508
+lw :: offset: 0x6cc, out: 0x751cb483
+lw :: offset: 0x6d0, out: 0x625bb2d3
+lw :: offset: 0x6d4, out: 0xffffffff949cad35
+lw :: offset: 0x6d8, out: 0xffffffffa6929739
+lw :: offset: 0x6dc, out: 0x7f567f35
+lw :: offset: 0x6e0, out: 0xffffffffdb8d7d27
+lw :: offset: 0x6e4, out: 0x185b88e0
+lw :: offset: 0x6e8, out: 0x2fd61b91
+lw :: offset: 0x6ec, out: 0x255a4cd2
+lw :: offset: 0x6f0, out: 0xffffffffa4363f7b
+lw :: offset: 0x6f4, out: 0x1048d589
+lw :: offset: 0x6f8, out: 0xfffffffff4605790
+lw :: offset: 0x6fc, out: 0x6a6d5708
+lw :: offset: 0x700, out: 0xffffffffde35697f
+lw :: offset: 0x704, out: 0xffffffffd58ecbab
+lw :: offset: 0x708, out: 0x8c0a5f1
+lw :: offset: 0x70c, out: 0x575548fd
+lw :: offset: 0x710, out: 0xffffffff8ed98ddb
+lw :: offset: 0x714, out: 0xffffffff8bb640fb
+lw :: offset: 0x718, out: 0xffffffffabc578cc
+lw :: offset: 0x71c, out: 0xffffffffbe00d51e
+lw :: offset: 0x720, out: 0x1c170ab2
+lw :: offset: 0x724, out: 0x2f7e224a
+lw :: offset: 0x728, out: 0xffffffffa22256a7
+lw :: offset: 0x72c, out: 0xffffffffa978f12c
+lw :: offset: 0x730, out: 0xffffffff811ee02f
+lw :: offset: 0x734, out: 0xffffffff9950a93b
+lw :: offset: 0x738, out: 0xffffffffc6796a0c
+lw :: offset: 0x73c, out: 0xffffffffb44eea93
+lw :: offset: 0x740, out: 0x6c0eb657
+lw :: offset: 0x744, out: 0xfffffffffe71fca0
+lw :: offset: 0x748, out: 0xfffffffff818af57
+lw :: offset: 0x74c, out: 0x4ed6393d
+lw :: offset: 0x750, out: 0x236770a
+lw :: offset: 0x754, out: 0xfffffffff22e9020
+lw :: offset: 0x758, out: 0xffffffffafd0c45d
+lw :: offset: 0x75c, out: 0xffffffff81efb6c7
+lw :: offset: 0x760, out: 0xffffffff8102315b
+lw :: offset: 0x764, out: 0xffffffffeed8f351
+lw :: offset: 0x768, out: 0xffffffff995efd5e
+lw :: offset: 0x76c, out: 0xffffffffadafefb9
+lw :: offset: 0x770, out: 0xffffffffeb253086
+lw :: offset: 0x774, out: 0x34061933
+lw :: offset: 0x778, out: 0x4b4c52bc
+lw :: offset: 0x77c, out: 0x1748da26
+lw :: offset: 0x780, out: 0xffffffff9302be89
+lw :: offset: 0x784, out: 0x34fdfc9a
+lw :: offset: 0x788, out: 0xffffffffc521d180
+lw :: offset: 0x78c, out: 0xffffffffd00278c3
+lw :: offset: 0x790, out: 0xffffffffc1d37a5d
+lw :: offset: 0x794, out: 0xffffffffe90944a4
+lw :: offset: 0x798, out: 0xffffffffddef9839
+lw :: offset: 0x79c, out: 0x65fd698f
+lw :: offset: 0x7a0, out: 0xffffffff81b5af52
+lw :: offset: 0x7a4, out: 0xffffffffc49ee3ad
+lw :: offset: 0x7a8, out: 0xffffffffbdb263e9
+lw :: offset: 0x7ac, out: 0x7aa941e8
+lw :: offset: 0x7b0, out: 0x42f3b58d
+lw :: offset: 0x7b4, out: 0x372c209e
+lw :: offset: 0x7b8, out: 0xffffffffe122a83b
+lw :: offset: 0x7bc, out: 0x30f870b7
+lw :: offset: 0x7c0, out: 0x678930ec
+lw :: offset: 0x7c4, out: 0xffffffff9e02de4b
+lw :: offset: 0x7c8, out: 0xffffffff9826631e
+lw :: offset: 0x7cc, out: 0xffffffffcd61a863
+lw :: offset: 0x7d0, out: 0xffffffff9a7bd3ca
+lw :: offset: 0x7d4, out: 0xffffffffae87bc89
+lw :: offset: 0x7d8, out: 0x6481af17
+lw :: offset: 0x7dc, out: 0x58ec644d
+lw :: offset: 0x7e0, out: 0xffffffffb236b666
+lw :: offset: 0x7e4, out: 0x680cce5f
+lw :: offset: 0x7e8, out: 0x1f6d4d75
+lw :: offset: 0x7ec, out: 0x3baa9947
+lw :: offset: 0x7f0, out: 0x5f12236b
+lw :: offset: 0x7f4, out: 0x614d9b44
+lw :: offset: 0x7f8, out: 0x1ba84121
+lw :: offset: 0x7fc, out: 0xffffffffa2a6ec66
+lwl :: offset: 0x0, out: 0x0
+lwl :: offset: 0x1, out: 0x0
+lwl :: offset: 0x2, out: 0x0
+lwl :: offset: 0x3, out: 0x0
+lwl :: offset: 0x4, out: 0x0
+lwl :: offset: 0x5, out: 0x0
+lwl :: offset: 0x6, out: 0x0
+lwl :: offset: 0x7, out: 0x0
+lwl :: offset: 0x8, out: 0x6e000000
+lwl :: offset: 0x9, out: 0x3b6e0000
+lwl :: offset: 0xa, out: 0xffffffff823b6e00
+lwl :: offset: 0xb, out: 0x9823b6e
+lwl :: offset: 0xc, out: 0xffffffffd9000000
+lwl :: offset: 0xd, out: 0x26d90000
+lwl :: offset: 0xe, out: 0x4326d900
+lwl :: offset: 0xf, out: 0xd4326d9
+lwl :: offset: 0x10, out: 0xffffffffdc000000
+lwl :: offset: 0x11, out: 0x76dc0000
+lwl :: offset: 0x12, out: 0x476dc00
+lwl :: offset: 0x13, out: 0x130476dc
+lwl :: offset: 0x14, out: 0x6b000000
+lwl :: offset: 0x15, out: 0x6b6b0000
+lwl :: offset: 0x16, out: 0xffffffffc56b6b00
+lwl :: offset: 0x17, out: 0x17c56b6b
+lwl :: offset: 0x18, out: 0xffffffffb2000000
+lwl :: offset: 0x19, out: 0x4db20000
+lwl :: offset: 0x1a, out: 0xffffffff864db200
+lwl :: offset: 0x1b, out: 0x1a864db2
+lwl :: offset: 0x1c, out: 0x5000000
+lwl :: offset: 0x1d, out: 0x50050000
+lwl :: offset: 0x1e, out: 0x47500500
+lwl :: offset: 0x1f, out: 0x1e475005
+lwl :: offset: 0x20, out: 0xffffffffb8000000
+lwl :: offset: 0x21, out: 0xffffffffedb80000
+lwl :: offset: 0x22, out: 0x8edb800
+lwl :: offset: 0x23, out: 0x2608edb8
+lwl :: offset: 0x24, out: 0xf000000
+lwl :: offset: 0x25, out: 0xfffffffff00f0000
+lwl :: offset: 0x26, out: 0xffffffffc9f00f00
+lwl :: offset: 0x27, out: 0x22c9f00f
+lwl :: offset: 0x28, out: 0xffffffffd6000000
+lwl :: offset: 0x29, out: 0xffffffffd6d60000
+lwl :: offset: 0x2a, out: 0xffffffff8ad6d600
+lwl :: offset: 0x2b, out: 0x2f8ad6d6
+lwl :: offset: 0x2c, out: 0x61000000
+lwl :: offset: 0x2d, out: 0xffffffffcb610000
+lwl :: offset: 0x2e, out: 0x4bcb6100
+lwl :: offset: 0x2f, out: 0x2b4bcb61
+lwl :: offset: 0x30, out: 0x64000000
+lwl :: offset: 0x31, out: 0xffffffff9b640000
+lwl :: offset: 0x32, out: 0xc9b6400
+lwl :: offset: 0x33, out: 0x350c9b64
+lwl :: offset: 0x34, out: 0xffffffffd3000000
+lwl :: offset: 0x35, out: 0xffffffff86d30000
+lwl :: offset: 0x36, out: 0xffffffffcd86d300
+lwl :: offset: 0x37, out: 0x31cd86d3
+lwl :: offset: 0x38, out: 0xa000000
+lwl :: offset: 0x39, out: 0xffffffffa00a0000
+lwl :: offset: 0x3a, out: 0xffffffff8ea00a00
+lwl :: offset: 0x3b, out: 0x3c8ea00a
+lwl :: offset: 0x3c, out: 0xffffffffbd000000
+lwl :: offset: 0x3d, out: 0xffffffffbdbd0000
+lwl :: offset: 0x3e, out: 0x4fbdbd00
+lwl :: offset: 0x3f, out: 0x384fbdbd
+lwl :: offset: 0x40, out: 0x70000000
+lwl :: offset: 0x41, out: 0xffffffffdb700000
+lwl :: offset: 0x42, out: 0x11db7000
+lwl :: offset: 0x43, out: 0x4c11db70
+lwl :: offset: 0x44, out: 0xffffffffc7000000
+lwl :: offset: 0x45, out: 0xffffffffc6c70000
+lwl :: offset: 0x46, out: 0xffffffffd0c6c700
+lwl :: offset: 0x47, out: 0x48d0c6c7
+lwl :: offset: 0x48, out: 0x1e000000
+lwl :: offset: 0x49, out: 0xffffffffe01e0000
+lwl :: offset: 0x4a, out: 0xffffffff93e01e00
+lwl :: offset: 0x4b, out: 0x4593e01e
+lwl :: offset: 0x4c, out: 0xffffffffa9000000
+lwl :: offset: 0x4d, out: 0xfffffffffda90000
+lwl :: offset: 0x4e, out: 0x52fda900
+lwl :: offset: 0x4f, out: 0x4152fda9
+lwl :: offset: 0x50, out: 0xffffffffac000000
+lwl :: offset: 0x51, out: 0xffffffffadac0000
+lwl :: offset: 0x52, out: 0x15adac00
+lwl :: offset: 0x53, out: 0x5f15adac
+lwl :: offset: 0x54, out: 0x1b000000
+lwl :: offset: 0x55, out: 0xffffffffb01b0000
+lwl :: offset: 0x56, out: 0xffffffffd4b01b00
+lwl :: offset: 0x57, out: 0x5bd4b01b
+lwl :: offset: 0x58, out: 0xffffffffc2000000
+lwl :: offset: 0x59, out: 0xffffffff96c20000
+lwl :: offset: 0x5a, out: 0xffffffff9796c200
+lwl :: offset: 0x5b, out: 0x569796c2
+lwl :: offset: 0x5c, out: 0x75000000
+lwl :: offset: 0x5d, out: 0xffffffff8b750000
+lwl :: offset: 0x5e, out: 0x568b7500
+lwl :: offset: 0x5f, out: 0x52568b75
+lwl :: offset: 0x60, out: 0xffffffffc8000000
+lwl :: offset: 0x61, out: 0x36c80000
+lwl :: offset: 0x62, out: 0x1936c800
+lwl :: offset: 0x63, out: 0x6a1936c8
+lwl :: offset: 0x64, out: 0x7f000000
+lwl :: offset: 0x65, out: 0x2b7f0000
+lwl :: offset: 0x66, out: 0xffffffffd82b7f00
+lwl :: offset: 0x67, out: 0x6ed82b7f
+lwl :: offset: 0x68, out: 0xffffffffa6000000
+lwl :: offset: 0x69, out: 0xda60000
+lwl :: offset: 0x6a, out: 0xffffffff9b0da600
+lwl :: offset: 0x6b, out: 0x639b0da6
+lwl :: offset: 0x6c, out: 0x11000000
+lwl :: offset: 0x6d, out: 0x10110000
+lwl :: offset: 0x6e, out: 0x5a101100
+lwl :: offset: 0x6f, out: 0x675a1011
+lwl :: offset: 0x70, out: 0x14000000
+lwl :: offset: 0x71, out: 0x40140000
+lwl :: offset: 0x72, out: 0x1d401400
+lwl :: offset: 0x73, out: 0x791d4014
+lwl :: offset: 0x74, out: 0xffffffffa3000000
+lwl :: offset: 0x75, out: 0x5da30000
+lwl :: offset: 0x76, out: 0xffffffffdc5da300
+lwl :: offset: 0x77, out: 0x7ddc5da3
+lwl :: offset: 0x78, out: 0x7a000000
+lwl :: offset: 0x79, out: 0x7b7a0000
+lwl :: offset: 0x7a, out: 0xffffffff9f7b7a00
+lwl :: offset: 0x7b, out: 0x709f7b7a
+lwl :: offset: 0x7c, out: 0xffffffffcd000000
+lwl :: offset: 0x7d, out: 0x66cd0000
+lwl :: offset: 0x7e, out: 0x5e66cd00
+lwl :: offset: 0x7f, out: 0x745e66cd
+lwl :: offset: 0x80, out: 0xffffffffe0000000
+lwl :: offset: 0x81, out: 0xffffffffb6e00000
+lwl :: offset: 0x82, out: 0x23b6e000
+lwl :: offset: 0x83, out: 0xffffffff9823b6e0
+lwl :: offset: 0x84, out: 0x57000000
+lwl :: offset: 0x85, out: 0xffffffffab570000
+lwl :: offset: 0x86, out: 0xffffffffe2ab5700
+lwl :: offset: 0x87, out: 0xffffffff9ce2ab57
+lwl :: offset: 0x88, out: 0xffffffff8e000000
+lwl :: offset: 0x89, out: 0xffffffff8d8e0000
+lwl :: offset: 0x8a, out: 0xffffffffa18d8e00
+lwl :: offset: 0x8b, out: 0xffffffff91a18d8e
+lwl :: offset: 0x8c, out: 0x39000000
+lwl :: offset: 0x8d, out: 0xffffffff90390000
+lwl :: offset: 0x8e, out: 0x60903900
+lwl :: offset: 0x8f, out: 0xffffffff95609039
+lwl :: offset: 0x90, out: 0x3c000000
+lwl :: offset: 0x91, out: 0xffffffffc03c0000
+lwl :: offset: 0x92, out: 0x27c03c00
+lwl :: offset: 0x93, out: 0xffffffff8b27c03c
+lwl :: offset: 0x94, out: 0xffffffff8b000000
+lwl :: offset: 0x95, out: 0xffffffffdd8b0000
+lwl :: offset: 0x96, out: 0xffffffffe6dd8b00
+lwl :: offset: 0x97, out: 0xffffffff8fe6dd8b
+lwl :: offset: 0x98, out: 0x52000000
+lwl :: offset: 0x99, out: 0xfffffffffb520000
+lwl :: offset: 0x9a, out: 0xffffffffa5fb5200
+lwl :: offset: 0x9b, out: 0xffffffff82a5fb52
+lwl :: offset: 0x9c, out: 0xffffffffe5000000
+lwl :: offset: 0x9d, out: 0xffffffffe6e50000
+lwl :: offset: 0x9e, out: 0x64e6e500
+lwl :: offset: 0x9f, out: 0xffffffff8664e6e5
+lwl :: offset: 0xa0, out: 0x58000000
+lwl :: offset: 0xa1, out: 0x5b580000
+lwl :: offset: 0xa2, out: 0x2b5b5800
+lwl :: offset: 0xa3, out: 0xffffffffbe2b5b58
+lwl :: offset: 0xa4, out: 0xffffffffef000000
+lwl :: offset: 0xa5, out: 0x46ef0000
+lwl :: offset: 0xa6, out: 0xffffffffea46ef00
+lwl :: offset: 0xa7, out: 0xffffffffbaea46ef
+lwl :: offset: 0xa8, out: 0x36000000
+lwl :: offset: 0xa9, out: 0x60360000
+lwl :: offset: 0xaa, out: 0xffffffffa9603600
+lwl :: offset: 0xab, out: 0xffffffffb7a96036
+lwl :: offset: 0xac, out: 0xffffffff81000000
+lwl :: offset: 0xad, out: 0x7d810000
+lwl :: offset: 0xae, out: 0x687d8100
+lwl :: offset: 0xaf, out: 0xffffffffb3687d81
+lwl :: offset: 0xb0, out: 0xffffffff84000000
+lwl :: offset: 0xb1, out: 0x2d840000
+lwl :: offset: 0xb2, out: 0x2f2d8400
+lwl :: offset: 0xb3, out: 0xffffffffad2f2d84
+lwl :: offset: 0xb4, out: 0x33000000
+lwl :: offset: 0xb5, out: 0x30330000
+lwl :: offset: 0xb6, out: 0xffffffffee303300
+lwl :: offset: 0xb7, out: 0xffffffffa9ee3033
+lwl :: offset: 0xb8, out: 0xffffffffea000000
+lwl :: offset: 0xb9, out: 0x16ea0000
+lwl :: offset: 0xba, out: 0xffffffffad16ea00
+lwl :: offset: 0xbb, out: 0xffffffffa4ad16ea
+lwl :: offset: 0xbc, out: 0x5d000000
+lwl :: offset: 0xbd, out: 0xb5d0000
+lwl :: offset: 0xbe, out: 0x6c0b5d00
+lwl :: offset: 0xbf, out: 0xffffffffa06c0b5d
+lwl :: offset: 0xc0, out: 0xffffffff90000000
+lwl :: offset: 0xc1, out: 0x6d900000
+lwl :: offset: 0xc2, out: 0x326d9000
+lwl :: offset: 0xc3, out: 0xffffffffd4326d90
+lwl :: offset: 0xc4, out: 0x27000000
+lwl :: offset: 0xc5, out: 0x70270000
+lwl :: offset: 0xc6, out: 0xfffffffff3702700
+lwl :: offset: 0xc7, out: 0xffffffffd0f37027
+lwl :: offset: 0xc8, out: 0xfffffffffe000000
+lwl :: offset: 0xc9, out: 0x56fe0000
+lwl :: offset: 0xca, out: 0xffffffffb056fe00
+lwl :: offset: 0xcb, out: 0xffffffffddb056fe
+lwl :: offset: 0xcc, out: 0x49000000
+lwl :: offset: 0xcd, out: 0x4b490000
+lwl :: offset: 0xce, out: 0x714b4900
+lwl :: offset: 0xcf, out: 0xffffffffd9714b49
+lwl :: offset: 0xd0, out: 0x4c000000
+lwl :: offset: 0xd1, out: 0x1b4c0000
+lwl :: offset: 0xd2, out: 0x361b4c00
+lwl :: offset: 0xd3, out: 0xffffffffc7361b4c
+lwl :: offset: 0xd4, out: 0xfffffffffb000000
+lwl :: offset: 0xd5, out: 0x6fb0000
+lwl :: offset: 0xd6, out: 0xfffffffff706fb00
+lwl :: offset: 0xd7, out: 0xffffffffc3f706fb
+lwl :: offset: 0xd8, out: 0x22000000
+lwl :: offset: 0xd9, out: 0x20220000
+lwl :: offset: 0xda, out: 0xffffffffb4202200
+lwl :: offset: 0xdb, out: 0xffffffffceb42022
+lwl :: offset: 0xdc, out: 0xffffffff95000000
+lwl :: offset: 0xdd, out: 0x3d950000
+lwl :: offset: 0xde, out: 0x753d9500
+lwl :: offset: 0xdf, out: 0xffffffffca753d95
+lwl :: offset: 0xe0, out: 0x28000000
+lwl :: offset: 0xe1, out: 0xffffffff80280000
+lwl :: offset: 0xe2, out: 0x3a802800
+lwl :: offset: 0xe3, out: 0xfffffffff23a8028
+lwl :: offset: 0xe4, out: 0xffffffff9f000000
+lwl :: offset: 0xe5, out: 0xffffffff9d9f0000
+lwl :: offset: 0xe6, out: 0xfffffffffb9d9f00
+lwl :: offset: 0xe7, out: 0xfffffffff6fb9d9f
+lwl :: offset: 0xe8, out: 0x46000000
+lwl :: offset: 0xe9, out: 0xffffffffbb460000
+lwl :: offset: 0xea, out: 0xffffffffb8bb4600
+lwl :: offset: 0xeb, out: 0xfffffffffbb8bb46
+lwl :: offset: 0xec, out: 0xfffffffff1000000
+lwl :: offset: 0xed, out: 0xffffffffa6f10000
+lwl :: offset: 0xee, out: 0x79a6f100
+lwl :: offset: 0xef, out: 0xffffffffff79a6f1
+lwl :: offset: 0xf0, out: 0xfffffffff4000000
+lwl :: offset: 0xf1, out: 0xfffffffff6f40000
+lwl :: offset: 0xf2, out: 0x3ef6f400
+lwl :: offset: 0xf3, out: 0xffffffffe13ef6f4
+lwl :: offset: 0xf4, out: 0x43000000
+lwl :: offset: 0xf5, out: 0xffffffffeb430000
+lwl :: offset: 0xf6, out: 0xffffffffffeb4300
+lwl :: offset: 0xf7, out: 0xffffffffe5ffeb43
+lwl :: offset: 0xf8, out: 0xffffffff9a000000
+lwl :: offset: 0xf9, out: 0xffffffffcd9a0000
+lwl :: offset: 0xfa, out: 0xffffffffbccd9a00
+lwl :: offset: 0xfb, out: 0xffffffffe8bccd9a
+lwl :: offset: 0xfc, out: 0x2d000000
+lwl :: offset: 0xfd, out: 0xffffffffd02d0000
+lwl :: offset: 0xfe, out: 0x7dd02d00
+lwl :: offset: 0xff, out: 0xffffffffec7dd02d
+lwl :: offset: 0x100, out: 0x77000000
+lwl :: offset: 0x101, out: 0x70770000
+lwl :: offset: 0x102, out: 0xffffffff86707700
+lwl :: offset: 0x103, out: 0x34867077
+lwl :: offset: 0x104, out: 0xffffffffc0000000
+lwl :: offset: 0x105, out: 0x6dc00000
+lwl :: offset: 0x106, out: 0x476dc000
+lwl :: offset: 0x107, out: 0x30476dc0
+lwl :: offset: 0x108, out: 0x19000000
+lwl :: offset: 0x109, out: 0x4b190000
+lwl :: offset: 0x10a, out: 0x44b1900
+lwl :: offset: 0x10b, out: 0x3d044b19
+lwl :: offset: 0x10c, out: 0xffffffffae000000
+lwl :: offset: 0x10d, out: 0x56ae0000
+lwl :: offset: 0x10e, out: 0xffffffffc556ae00
+lwl :: offset: 0x10f, out: 0x39c556ae
+lwl :: offset: 0x110, out: 0xffffffffab000000
+lwl :: offset: 0x111, out: 0x6ab0000
+lwl :: offset: 0x112, out: 0xffffffff8206ab00
+lwl :: offset: 0x113, out: 0x278206ab
+lwl :: offset: 0x114, out: 0x1c000000
+lwl :: offset: 0x115, out: 0x1b1c0000
+lwl :: offset: 0x116, out: 0x431b1c00
+lwl :: offset: 0x117, out: 0x23431b1c
+lwl :: offset: 0x118, out: 0xffffffffc5000000
+lwl :: offset: 0x119, out: 0x3dc50000
+lwl :: offset: 0x11a, out: 0x3dc500
+lwl :: offset: 0x11b, out: 0x2e003dc5
+lwl :: offset: 0x11c, out: 0x72000000
+lwl :: offset: 0x11d, out: 0x20720000
+lwl :: offset: 0x11e, out: 0xffffffffc1207200
+lwl :: offset: 0x11f, out: 0x2ac12072
+lwl :: offset: 0x120, out: 0xffffffffcf000000
+lwl :: offset: 0x121, out: 0xffffffff9dcf0000
+lwl :: offset: 0x122, out: 0xffffffff8e9dcf00
+lwl :: offset: 0x123, out: 0x128e9dcf
+lwl :: offset: 0x124, out: 0x78000000
+lwl :: offset: 0x125, out: 0xffffffff80780000
+lwl :: offset: 0x126, out: 0x4f807800
+lwl :: offset: 0x127, out: 0x164f8078
+lwl :: offset: 0x128, out: 0xffffffffa1000000
+lwl :: offset: 0x129, out: 0xffffffffa6a10000
+lwl :: offset: 0x12a, out: 0xca6a100
+lwl :: offset: 0x12b, out: 0x1b0ca6a1
+lwl :: offset: 0x12c, out: 0x16000000
+lwl :: offset: 0x12d, out: 0xffffffffbb160000
+lwl :: offset: 0x12e, out: 0xffffffffcdbb1600
+lwl :: offset: 0x12f, out: 0x1fcdbb16
+lwl :: offset: 0x130, out: 0x13000000
+lwl :: offset: 0x131, out: 0xffffffffeb130000
+lwl :: offset: 0x132, out: 0xffffffff8aeb1300
+lwl :: offset: 0x133, out: 0x18aeb13
+lwl :: offset: 0x134, out: 0xffffffffa4000000
+lwl :: offset: 0x135, out: 0xfffffffff6a40000
+lwl :: offset: 0x136, out: 0x4bf6a400
+lwl :: offset: 0x137, out: 0x54bf6a4
+lwl :: offset: 0x138, out: 0x7d000000
+lwl :: offset: 0x139, out: 0xffffffffd07d0000
+lwl :: offset: 0x13a, out: 0x8d07d00
+lwl :: offset: 0x13b, out: 0x808d07d
+lwl :: offset: 0x13c, out: 0xffffffffca000000
+lwl :: offset: 0x13d, out: 0xffffffffcdca0000
+lwl :: offset: 0x13e, out: 0xffffffffc9cdca00
+lwl :: offset: 0x13f, out: 0xcc9cdca
+lwl :: offset: 0x140, out: 0x7000000
+lwl :: offset: 0x141, out: 0xffffffffab070000
+lwl :: offset: 0x142, out: 0xffffffff97ab0700
+lwl :: offset: 0x143, out: 0x7897ab07
+lwl :: offset: 0x144, out: 0xffffffffb0000000
+lwl :: offset: 0x145, out: 0xffffffffb6b00000
+lwl :: offset: 0x146, out: 0x56b6b000
+lwl :: offset: 0x147, out: 0x7c56b6b0
+lwl :: offset: 0x148, out: 0x69000000
+lwl :: offset: 0x149, out: 0xffffffff90690000
+lwl :: offset: 0x14a, out: 0x15906900
+lwl :: offset: 0x14b, out: 0x71159069
+lwl :: offset: 0x14c, out: 0xffffffffde000000
+lwl :: offset: 0x14d, out: 0xffffffff8dde0000
+lwl :: offset: 0x14e, out: 0xffffffffd48dde00
+lwl :: offset: 0x14f, out: 0x75d48dde
+lwl :: offset: 0x150, out: 0xffffffffdb000000
+lwl :: offset: 0x151, out: 0xffffffffdddb0000
+lwl :: offset: 0x152, out: 0xffffffff93dddb00
+lwl :: offset: 0x153, out: 0x6b93dddb
+lwl :: offset: 0x154, out: 0x6c000000
+lwl :: offset: 0x155, out: 0xffffffffc06c0000
+lwl :: offset: 0x156, out: 0x52c06c00
+lwl :: offset: 0x157, out: 0x6f52c06c
+lwl :: offset: 0x158, out: 0xffffffffb5000000
+lwl :: offset: 0x159, out: 0xffffffffe6b50000
+lwl :: offset: 0x15a, out: 0x11e6b500
+lwl :: offset: 0x15b, out: 0x6211e6b5
+lwl :: offset: 0x15c, out: 0x2000000
+lwl :: offset: 0x15d, out: 0xfffffffffb020000
+lwl :: offset: 0x15e, out: 0xffffffffd0fb0200
+lwl :: offset: 0x15f, out: 0x66d0fb02
+lwl :: offset: 0x160, out: 0xffffffffbf000000
+lwl :: offset: 0x161, out: 0x46bf0000
+lwl :: offset: 0x162, out: 0xffffffff9f46bf00
+lwl :: offset: 0x163, out: 0x5e9f46bf
+lwl :: offset: 0x164, out: 0x8000000
+lwl :: offset: 0x165, out: 0x5b080000
+lwl :: offset: 0x166, out: 0x5e5b0800
+lwl :: offset: 0x167, out: 0x5a5e5b08
+lwl :: offset: 0x168, out: 0xffffffffd1000000
+lwl :: offset: 0x169, out: 0x7dd10000
+lwl :: offset: 0x16a, out: 0x1d7dd100
+lwl :: offset: 0x16b, out: 0x571d7dd1
+lwl :: offset: 0x16c, out: 0x66000000
+lwl :: offset: 0x16d, out: 0x60660000
+lwl :: offset: 0x16e, out: 0xffffffffdc606600
+lwl :: offset: 0x16f, out: 0x53dc6066
+lwl :: offset: 0x170, out: 0x63000000
+lwl :: offset: 0x171, out: 0x30630000
+lwl :: offset: 0x172, out: 0xffffffff9b306300
+lwl :: offset: 0x173, out: 0x4d9b3063
+lwl :: offset: 0x174, out: 0xffffffffd4000000
+lwl :: offset: 0x175, out: 0x2dd40000
+lwl :: offset: 0x176, out: 0x5a2dd400
+lwl :: offset: 0x177, out: 0x495a2dd4
+lwl :: offset: 0x178, out: 0xd000000
+lwl :: offset: 0x179, out: 0xb0d0000
+lwl :: offset: 0x17a, out: 0x190b0d00
+lwl :: offset: 0x17b, out: 0x44190b0d
+lwl :: offset: 0x17c, out: 0xffffffffba000000
+lwl :: offset: 0x17d, out: 0x16ba0000
+lwl :: offset: 0x17e, out: 0xffffffffd816ba00
+lwl :: offset: 0x17f, out: 0x40d816ba
+lwl :: offset: 0x180, out: 0xffffffff97000000
+lwl :: offset: 0x181, out: 0xffffffffc6970000
+lwl :: offset: 0x182, out: 0xffffffffa5c69700
+lwl :: offset: 0x183, out: 0xffffffffaca5c697
+lwl :: offset: 0x184, out: 0x20000000
+lwl :: offset: 0x185, out: 0xffffffffdb200000
+lwl :: offset: 0x186, out: 0x64db2000
+lwl :: offset: 0x187, out: 0xffffffffa864db20
+lwl :: offset: 0x188, out: 0xfffffffff9000000
+lwl :: offset: 0x189, out: 0xfffffffffdf90000
+lwl :: offset: 0x18a, out: 0x27fdf900
+lwl :: offset: 0x18b, out: 0xffffffffa527fdf9
+lwl :: offset: 0x18c, out: 0x4e000000
+lwl :: offset: 0x18d, out: 0xffffffffe04e0000
+lwl :: offset: 0x18e, out: 0xffffffffe6e04e00
+lwl :: offset: 0x18f, out: 0xffffffffa1e6e04e
+lwl :: offset: 0x190, out: 0x4b000000
+lwl :: offset: 0x191, out: 0xffffffffb04b0000
+lwl :: offset: 0x192, out: 0xffffffffa1b04b00
+lwl :: offset: 0x193, out: 0xffffffffbfa1b04b
+lwl :: offset: 0x194, out: 0xfffffffffc000000
+lwl :: offset: 0x195, out: 0xffffffffadfc0000
+lwl :: offset: 0x196, out: 0x60adfc00
+lwl :: offset: 0x197, out: 0xffffffffbb60adfc
+lwl :: offset: 0x198, out: 0x25000000
+lwl :: offset: 0x199, out: 0xffffffff8b250000
+lwl :: offset: 0x19a, out: 0x238b2500
+lwl :: offset: 0x19b, out: 0xffffffffb6238b25
+lwl :: offset: 0x19c, out: 0xffffffff92000000
+lwl :: offset: 0x19d, out: 0xffffffff96920000
+lwl :: offset: 0x19e, out: 0xffffffffe2969200
+lwl :: offset: 0x19f, out: 0xffffffffb2e29692
+lwl :: offset: 0x1a0, out: 0x2f000000
+lwl :: offset: 0x1a1, out: 0x2b2f0000
+lwl :: offset: 0x1a2, out: 0xffffffffad2b2f00
+lwl :: offset: 0x1a3, out: 0xffffffff8aad2b2f
+lwl :: offset: 0x1a4, out: 0x0
+lwl :: offset: 0x1a5, out: 0x0
+lwl :: offset: 0x1a6, out: 0x0
+lwl :: offset: 0x1a7, out: 0x0
+lwl :: offset: 0x1a8, out: 0x0
+lwl :: offset: 0x1a9, out: 0x0
+lwl :: offset: 0x1aa, out: 0x0
+lwl :: offset: 0x1ab, out: 0x0
+lwl :: offset: 0x1ac, out: 0xfffffffff6000000
+lwl :: offset: 0x1ad, out: 0xdf60000
+lwl :: offset: 0x1ae, out: 0xffffffffee0df600
+lwl :: offset: 0x1af, out: 0xffffffff87ee0df6
+lwl :: offset: 0x1b0, out: 0xfffffffff3000000
+lwl :: offset: 0x1b1, out: 0x5df30000
+lwl :: offset: 0x1b2, out: 0xffffffffa95df300
+lwl :: offset: 0x1b3, out: 0xffffffff99a95df3
+lwl :: offset: 0x1b4, out: 0x44000000
+lwl :: offset: 0x1b5, out: 0x40440000
+lwl :: offset: 0x1b6, out: 0x68404400
+lwl :: offset: 0x1b7, out: 0xffffffff9d684044
+lwl :: offset: 0x1b8, out: 0xffffffff9d000000
+lwl :: offset: 0x1b9, out: 0x669d0000
+lwl :: offset: 0x1ba, out: 0x2b669d00
+lwl :: offset: 0x1bb, out: 0xffffffff902b669d
+lwl :: offset: 0x1bc, out: 0x2a000000
+lwl :: offset: 0x1bd, out: 0x7b2a0000
+lwl :: offset: 0x1be, out: 0xffffffffea7b2a00
+lwl :: offset: 0x1bf, out: 0xffffffff94ea7b2a
+lwl :: offset: 0x1c0, out: 0xffffffffe7000000
+lwl :: offset: 0x1c1, out: 0x1de70000
+lwl :: offset: 0x1c2, out: 0xffffffffb41de700
+lwl :: offset: 0x1c3, out: 0xffffffffe0b41de7
+lwl :: offset: 0x1c4, out: 0x50000000
+lwl :: offset: 0x1c5, out: 0x500000
+lwl :: offset: 0x1c6, out: 0x75005000
+lwl :: offset: 0x1c7, out: 0xffffffffe4750050
+lwl :: offset: 0x1c8, out: 0xffffffff89000000
+lwl :: offset: 0x1c9, out: 0x26890000
+lwl :: offset: 0x1ca, out: 0x36268900
+lwl :: offset: 0x1cb, out: 0xffffffffe9362689
+lwl :: offset: 0x1cc, out: 0x3e000000
+lwl :: offset: 0x1cd, out: 0x3b3e0000
+lwl :: offset: 0x1ce, out: 0xfffffffff73b3e00
+lwl :: offset: 0x1cf, out: 0xffffffffedf73b3e
+lwl :: offset: 0x1d0, out: 0x3b000000
+lwl :: offset: 0x1d1, out: 0x6b3b0000
+lwl :: offset: 0x1d2, out: 0xffffffffb06b3b00
+lwl :: offset: 0x1d3, out: 0xfffffffff3b06b3b
+lwl :: offset: 0x1d4, out: 0xffffffff8c000000
+lwl :: offset: 0x1d5, out: 0x768c0000
+lwl :: offset: 0x1d6, out: 0x71768c00
+lwl :: offset: 0x1d7, out: 0xfffffffff771768c
+lwl :: offset: 0x1d8, out: 0x55000000
+lwl :: offset: 0x1d9, out: 0x50550000
+lwl :: offset: 0x1da, out: 0x32505500
+lwl :: offset: 0x1db, out: 0xfffffffffa325055
+lwl :: offset: 0x1dc, out: 0xffffffffe2000000
+lwl :: offset: 0x1dd, out: 0x4de20000
+lwl :: offset: 0x1de, out: 0xfffffffff34de200
+lwl :: offset: 0x1df, out: 0xfffffffffef34de2
+lwl :: offset: 0x1e0, out: 0x5f000000
+lwl :: offset: 0x1e1, out: 0xfffffffff05f0000
+lwl :: offset: 0x1e2, out: 0xffffffffbcf05f00
+lwl :: offset: 0x1e3, out: 0xffffffffc6bcf05f
+lwl :: offset: 0x1e4, out: 0xffffffffe8000000
+lwl :: offset: 0x1e5, out: 0xffffffffede80000
+lwl :: offset: 0x1e6, out: 0x7dede800
+lwl :: offset: 0x1e7, out: 0xffffffffc27dede8
+lwl :: offset: 0x1e8, out: 0x31000000
+lwl :: offset: 0x1e9, out: 0xffffffffcb310000
+lwl :: offset: 0x1ea, out: 0x3ecb3100
+lwl :: offset: 0x1eb, out: 0xffffffffcf3ecb31
+lwl :: offset: 0x1ec, out: 0xffffffff86000000
+lwl :: offset: 0x1ed, out: 0xffffffffd6860000
+lwl :: offset: 0x1ee, out: 0xffffffffffd68600
+lwl :: offset: 0x1ef, out: 0xffffffffcbffd686
+lwl :: offset: 0x1f0, out: 0xffffffff83000000
+lwl :: offset: 0x1f1, out: 0xffffffff86830000
+lwl :: offset: 0x1f2, out: 0xffffffffb8868300
+lwl :: offset: 0x1f3, out: 0xffffffffd5b88683
+lwl :: offset: 0x1f4, out: 0x34000000
+lwl :: offset: 0x1f5, out: 0xffffffff9b340000
+lwl :: offset: 0x1f6, out: 0x799b3400
+lwl :: offset: 0x1f7, out: 0xffffffffd1799b34
+lwl :: offset: 0x1f8, out: 0xffffffffed000000
+lwl :: offset: 0x1f9, out: 0xffffffffbded0000
+lwl :: offset: 0x1fa, out: 0x3abded00
+lwl :: offset: 0x1fb, out: 0xffffffffdc3abded
+lwl :: offset: 0x1fc, out: 0x5a000000
+lwl :: offset: 0x1fd, out: 0xffffffffa05a0000
+lwl :: offset: 0x1fe, out: 0xfffffffffba05a00
+lwl :: offset: 0x1ff, out: 0xffffffffd8fba05a
+lwl :: offset: 0x200, out: 0xffffffffee000000
+lwl :: offset: 0x201, out: 0xffffffffe0ee0000
+lwl :: offset: 0x202, out: 0xce0ee00
+lwl :: offset: 0x203, out: 0x690ce0ee
+lwl :: offset: 0x204, out: 0x59000000
+lwl :: offset: 0x205, out: 0xfffffffffd590000
+lwl :: offset: 0x206, out: 0xffffffffcdfd5900
+lwl :: offset: 0x207, out: 0x6dcdfd59
+lwl :: offset: 0x208, out: 0xffffffff80000000
+lwl :: offset: 0x209, out: 0xffffffffdb800000
+lwl :: offset: 0x20a, out: 0xffffffff8edb8000
+lwl :: offset: 0x20b, out: 0x608edb80
+lwl :: offset: 0x20c, out: 0x37000000
+lwl :: offset: 0x20d, out: 0xffffffffc6370000
+lwl :: offset: 0x20e, out: 0x4fc63700
+lwl :: offset: 0x20f, out: 0x644fc637
+lwl :: offset: 0x210, out: 0x32000000
+lwl :: offset: 0x211, out: 0xffffffff96320000
+lwl :: offset: 0x212, out: 0x8963200
+lwl :: offset: 0x213, out: 0x7a089632
+lwl :: offset: 0x214, out: 0xffffffff85000000
+lwl :: offset: 0x215, out: 0xffffffff8b850000
+lwl :: offset: 0x216, out: 0xffffffffc98b8500
+lwl :: offset: 0x217, out: 0x7ec98b85
+lwl :: offset: 0x218, out: 0x5c000000
+lwl :: offset: 0x219, out: 0xffffffffad5c0000
+lwl :: offset: 0x21a, out: 0xffffffff8aad5c00
+lwl :: offset: 0x21b, out: 0x738aad5c
+lwl :: offset: 0x21c, out: 0xffffffffeb000000
+lwl :: offset: 0x21d, out: 0xffffffffb0eb0000
+lwl :: offset: 0x21e, out: 0x4bb0eb00
+lwl :: offset: 0x21f, out: 0x774bb0eb
+lwl :: offset: 0x220, out: 0x56000000
+lwl :: offset: 0x221, out: 0xd560000
+lwl :: offset: 0x222, out: 0x40d5600
+lwl :: offset: 0x223, out: 0x4f040d56
+lwl :: offset: 0x224, out: 0xffffffffe1000000
+lwl :: offset: 0x225, out: 0x10e10000
+lwl :: offset: 0x226, out: 0xffffffffc510e100
+lwl :: offset: 0x227, out: 0x4bc510e1
+lwl :: offset: 0x228, out: 0x38000000
+lwl :: offset: 0x229, out: 0x36380000
+lwl :: offset: 0x22a, out: 0xffffffff86363800
+lwl :: offset: 0x22b, out: 0x46863638
+lwl :: offset: 0x22c, out: 0xffffffff8f000000
+lwl :: offset: 0x22d, out: 0x2b8f0000
+lwl :: offset: 0x22e, out: 0x472b8f00
+lwl :: offset: 0x22f, out: 0x42472b8f
+lwl :: offset: 0x230, out: 0xffffffff8a000000
+lwl :: offset: 0x231, out: 0x7b8a0000
+lwl :: offset: 0x232, out: 0x7b8a00
+lwl :: offset: 0x233, out: 0x5c007b8a
+lwl :: offset: 0x234, out: 0x3d000000
+lwl :: offset: 0x235, out: 0x663d0000
+lwl :: offset: 0x236, out: 0xffffffffc1663d00
+lwl :: offset: 0x237, out: 0x58c1663d
+lwl :: offset: 0x238, out: 0xffffffffe4000000
+lwl :: offset: 0x239, out: 0x40e40000
+lwl :: offset: 0x23a, out: 0xffffffff8240e400
+lwl :: offset: 0x23b, out: 0x558240e4
+lwl :: offset: 0x23c, out: 0x53000000
+lwl :: offset: 0x23d, out: 0x5d530000
+lwl :: offset: 0x23e, out: 0x435d5300
+lwl :: offset: 0x23f, out: 0x51435d53
+lwl :: offset: 0x240, out: 0xffffffff9e000000
+lwl :: offset: 0x241, out: 0x3b9e0000
+lwl :: offset: 0x242, out: 0x1d3b9e00
+lwl :: offset: 0x243, out: 0x251d3b9e
+lwl :: offset: 0x244, out: 0x29000000
+lwl :: offset: 0x245, out: 0x26290000
+lwl :: offset: 0x246, out: 0xffffffffdc262900
+lwl :: offset: 0x247, out: 0x21dc2629
+lwl :: offset: 0x248, out: 0xfffffffff0000000
+lwl :: offset: 0x249, out: 0xf00000
+lwl :: offset: 0x24a, out: 0xffffffff9f00f000
+lwl :: offset: 0x24b, out: 0x2c9f00f0
+lwl :: offset: 0x24c, out: 0x47000000
+lwl :: offset: 0x24d, out: 0x1d470000
+lwl :: offset: 0x24e, out: 0x5e1d4700
+lwl :: offset: 0x24f, out: 0x285e1d47
+lwl :: offset: 0x250, out: 0x42000000
+lwl :: offset: 0x251, out: 0x4d420000
+lwl :: offset: 0x252, out: 0x194d4200
+lwl :: offset: 0x253, out: 0x36194d42
+lwl :: offset: 0x254, out: 0xfffffffff5000000
+lwl :: offset: 0x255, out: 0x50f50000
+lwl :: offset: 0x256, out: 0xffffffffd850f500
+lwl :: offset: 0x257, out: 0x32d850f5
+lwl :: offset: 0x258, out: 0x2c000000
+lwl :: offset: 0x259, out: 0x762c0000
+lwl :: offset: 0x25a, out: 0xffffffff9b762c00
+lwl :: offset: 0x25b, out: 0x3f9b762c
+lwl :: offset: 0x25c, out: 0xffffffff9b000000
+lwl :: offset: 0x25d, out: 0x6b9b0000
+lwl :: offset: 0x25e, out: 0x5a6b9b00
+lwl :: offset: 0x25f, out: 0x3b5a6b9b
+lwl :: offset: 0x260, out: 0x26000000
+lwl :: offset: 0x261, out: 0xffffffffd6260000
+lwl :: offset: 0x262, out: 0x15d62600
+lwl :: offset: 0x263, out: 0x315d626
+lwl :: offset: 0x264, out: 0xffffffff91000000
+lwl :: offset: 0x265, out: 0xffffffffcb910000
+lwl :: offset: 0x266, out: 0xffffffffd4cb9100
+lwl :: offset: 0x267, out: 0x7d4cb91
+lwl :: offset: 0x268, out: 0x48000000
+lwl :: offset: 0x269, out: 0xffffffffed480000
+lwl :: offset: 0x26a, out: 0xffffffff97ed4800
+lwl :: offset: 0x26b, out: 0xa97ed48
+lwl :: offset: 0x26c, out: 0xffffffffff000000
+lwl :: offset: 0x26d, out: 0xfffffffff0ff0000
+lwl :: offset: 0x26e, out: 0x56f0ff00
+lwl :: offset: 0x26f, out: 0xe56f0ff
+lwl :: offset: 0x270, out: 0xfffffffffa000000
+lwl :: offset: 0x271, out: 0xffffffffa0fa0000
+lwl :: offset: 0x272, out: 0x11a0fa00
+lwl :: offset: 0x273, out: 0x1011a0fa
+lwl :: offset: 0x274, out: 0x4d000000
+lwl :: offset: 0x275, out: 0xffffffffbd4d0000
+lwl :: offset: 0x276, out: 0xffffffffd0bd4d00
+lwl :: offset: 0x277, out: 0x14d0bd4d
+lwl :: offset: 0x278, out: 0xffffffff94000000
+lwl :: offset: 0x279, out: 0xffffffff9b940000
+lwl :: offset: 0x27a, out: 0xffffffff939b9400
+lwl :: offset: 0x27b, out: 0x19939b94
+lwl :: offset: 0x27c, out: 0x23000000
+lwl :: offset: 0x27d, out: 0xffffffff86230000
+lwl :: offset: 0x27e, out: 0x52862300
+lwl :: offset: 0x27f, out: 0x1d528623
+lwl :: offset: 0x280, out: 0xe000000
+lwl :: offset: 0x281, out: 0x560e0000
+lwl :: offset: 0x282, out: 0x2f560e00
+lwl :: offset: 0x283, out: 0xfffffffff12f560e
+lwl :: offset: 0x284, out: 0xffffffffb9000000
+lwl :: offset: 0x285, out: 0x4bb90000
+lwl :: offset: 0x286, out: 0xffffffffee4bb900
+lwl :: offset: 0x287, out: 0xfffffffff5ee4bb9
+lwl :: offset: 0x288, out: 0x60000000
+lwl :: offset: 0x289, out: 0x6d600000
+lwl :: offset: 0x28a, out: 0xffffffffad6d6000
+lwl :: offset: 0x28b, out: 0xfffffffff8ad6d60
+lwl :: offset: 0x28c, out: 0xffffffffd7000000
+lwl :: offset: 0x28d, out: 0x70d70000
+lwl :: offset: 0x28e, out: 0x6c70d700
+lwl :: offset: 0x28f, out: 0xfffffffffc6c70d7
+lwl :: offset: 0x290, out: 0xffffffffd2000000
+lwl :: offset: 0x291, out: 0x20d20000
+lwl :: offset: 0x292, out: 0x2b20d200
+lwl :: offset: 0x293, out: 0xffffffffe22b20d2
+lwl :: offset: 0x294, out: 0x65000000
+lwl :: offset: 0x295, out: 0x3d650000
+lwl :: offset: 0x296, out: 0xffffffffea3d6500
+lwl :: offset: 0x297, out: 0xffffffffe6ea3d65
+lwl :: offset: 0x298, out: 0xffffffffbc000000
+lwl :: offset: 0x299, out: 0x1bbc0000
+lwl :: offset: 0x29a, out: 0xffffffffa91bbc00
+lwl :: offset: 0x29b, out: 0xffffffffeba91bbc
+lwl :: offset: 0x29c, out: 0xb000000
+lwl :: offset: 0x29d, out: 0x60b0000
+lwl :: offset: 0x29e, out: 0x68060b00
+lwl :: offset: 0x29f, out: 0xffffffffef68060b
+lwl :: offset: 0x2a0, out: 0xffffffffb6000000
+lwl :: offset: 0x2a1, out: 0xffffffffbbb60000
+lwl :: offset: 0x2a2, out: 0x27bbb600
+lwl :: offset: 0x2a3, out: 0xffffffffd727bbb6
+lwl :: offset: 0x2a4, out: 0x1000000
+lwl :: offset: 0x2a5, out: 0xffffffffa6010000
+lwl :: offset: 0x2a6, out: 0xffffffffe6a60100
+lwl :: offset: 0x2a7, out: 0xffffffffd3e6a601
+lwl :: offset: 0x2a8, out: 0xffffffffd8000000
+lwl :: offset: 0x2a9, out: 0xffffffff80d80000
+lwl :: offset: 0x2aa, out: 0xffffffffa580d800
+lwl :: offset: 0x2ab, out: 0xffffffffdea580d8
+lwl :: offset: 0x2ac, out: 0x6f000000
+lwl :: offset: 0x2ad, out: 0xffffffff9d6f0000
+lwl :: offset: 0x2ae, out: 0x649d6f00
+lwl :: offset: 0x2af, out: 0xffffffffda649d6f
+lwl :: offset: 0x2b0, out: 0x6a000000
+lwl :: offset: 0x2b1, out: 0xffffffffcd6a0000
+lwl :: offset: 0x2b2, out: 0x23cd6a00
+lwl :: offset: 0x2b3, out: 0xffffffffc423cd6a
+lwl :: offset: 0x2b4, out: 0x0
+lwl :: offset: 0x2b5, out: 0x0
+lwl :: offset: 0x2b6, out: 0x0
+lwl :: offset: 0x2b7, out: 0x0
+lwl :: offset: 0x2b8, out: 0x4000000
+lwl :: offset: 0x2b9, out: 0xfffffffff6040000
+lwl :: offset: 0x2ba, out: 0xffffffffa1f60400
+lwl :: offset: 0x2bb, out: 0xffffffffcda1f604
+lwl :: offset: 0x2bc, out: 0x0
+lwl :: offset: 0x2bd, out: 0x0
+lwl :: offset: 0x2be, out: 0x0
+lwl :: offset: 0x2bf, out: 0x0
+lwl :: offset: 0x2c0, out: 0x7e000000
+lwl :: offset: 0x2c1, out: 0xffffffff8d7e0000
+lwl :: offset: 0x2c2, out: 0x3e8d7e00
+lwl :: offset: 0x2c3, out: 0xffffffffbd3e8d7e
+lwl :: offset: 0x2c4, out: 0xffffffffc9000000
+lwl :: offset: 0x2c5, out: 0xffffffff90c90000
+lwl :: offset: 0x2c6, out: 0xffffffffff90c900
+lwl :: offset: 0x2c7, out: 0xffffffffb9ff90c9
+lwl :: offset: 0x2c8, out: 0x10000000
+lwl :: offset: 0x2c9, out: 0xffffffffb6100000
+lwl :: offset: 0x2ca, out: 0xffffffffbcb61000
+lwl :: offset: 0x2cb, out: 0xffffffffb4bcb610
+lwl :: offset: 0x2cc, out: 0xffffffffa7000000
+lwl :: offset: 0x2cd, out: 0xffffffffaba70000
+lwl :: offset: 0x2ce, out: 0x7daba700
+lwl :: offset: 0x2cf, out: 0xffffffffb07daba7
+lwl :: offset: 0x2d0, out: 0xffffffffa2000000
+lwl :: offset: 0x2d1, out: 0xfffffffffba20000
+lwl :: offset: 0x2d2, out: 0x3afba200
+lwl :: offset: 0x2d3, out: 0xffffffffae3afba2
+lwl :: offset: 0x2d4, out: 0x15000000
+lwl :: offset: 0x2d5, out: 0xffffffffe6150000
+lwl :: offset: 0x2d6, out: 0xfffffffffbe61500
+lwl :: offset: 0x2d7, out: 0xffffffffaafbe615
+lwl :: offset: 0x2d8, out: 0xffffffffcc000000
+lwl :: offset: 0x2d9, out: 0xffffffffc0cc0000
+lwl :: offset: 0x2da, out: 0xffffffffb8c0cc00
+lwl :: offset: 0x2db, out: 0xffffffffa7b8c0cc
+lwl :: offset: 0x2dc, out: 0x7b000000
+lwl :: offset: 0x2dd, out: 0xffffffffdd7b0000
+lwl :: offset: 0x2de, out: 0x79dd7b00
+lwl :: offset: 0x2df, out: 0xffffffffa379dd7b
+lwl :: offset: 0x2e0, out: 0xffffffffc6000000
+lwl :: offset: 0x2e1, out: 0x60c60000
+lwl :: offset: 0x2e2, out: 0x3660c600
+lwl :: offset: 0x2e3, out: 0xffffffff9b3660c6
+lwl :: offset: 0x2e4, out: 0x71000000
+lwl :: offset: 0x2e5, out: 0x7d710000
+lwl :: offset: 0x2e6, out: 0xfffffffff77d7100
+lwl :: offset: 0x2e7, out: 0xffffffff9ff77d71
+lwl :: offset: 0x2e8, out: 0xffffffffa8000000
+lwl :: offset: 0x2e9, out: 0x5ba80000
+lwl :: offset: 0x2ea, out: 0xffffffffb45ba800
+lwl :: offset: 0x2eb, out: 0xffffffff92b45ba8
+lwl :: offset: 0x2ec, out: 0x1f000000
+lwl :: offset: 0x2ed, out: 0x461f0000
+lwl :: offset: 0x2ee, out: 0x75461f00
+lwl :: offset: 0x2ef, out: 0xffffffff9675461f
+lwl :: offset: 0x2f0, out: 0x1a000000
+lwl :: offset: 0x2f1, out: 0x161a0000
+lwl :: offset: 0x2f2, out: 0x32161a00
+lwl :: offset: 0x2f3, out: 0xffffffff8832161a
+lwl :: offset: 0x2f4, out: 0xffffffffad000000
+lwl :: offset: 0x2f5, out: 0xbad0000
+lwl :: offset: 0x2f6, out: 0xfffffffff30bad00
+lwl :: offset: 0x2f7, out: 0xffffffff8cf30bad
+lwl :: offset: 0x2f8, out: 0x74000000
+lwl :: offset: 0x2f9, out: 0x2d740000
+lwl :: offset: 0x2fa, out: 0xffffffffb02d7400
+lwl :: offset: 0x2fb, out: 0xffffffff81b02d74
+lwl :: offset: 0x2fc, out: 0xffffffffc3000000
+lwl :: offset: 0x2fd, out: 0x30c30000
+lwl :: offset: 0x2fe, out: 0x7130c300
+lwl :: offset: 0x2ff, out: 0xffffffff857130c3
+lwl :: offset: 0x300, out: 0xffffffff99000000
+lwl :: offset: 0x301, out: 0xffffffff90990000
+lwl :: offset: 0x302, out: 0xffffffff8a909900
+lwl :: offset: 0x303, out: 0x5d8a9099
+lwl :: offset: 0x304, out: 0x2e000000
+lwl :: offset: 0x305, out: 0xffffffff8d2e0000
+lwl :: offset: 0x306, out: 0x4b8d2e00
+lwl :: offset: 0x307, out: 0x594b8d2e
+lwl :: offset: 0x308, out: 0xfffffffff7000000
+lwl :: offset: 0x309, out: 0xffffffffabf70000
+lwl :: offset: 0x30a, out: 0x8abf700
+lwl :: offset: 0x30b, out: 0x5408abf7
+lwl :: offset: 0x30c, out: 0x40000000
+lwl :: offset: 0x30d, out: 0xffffffffb6400000
+lwl :: offset: 0x30e, out: 0xffffffffc9b64000
+lwl :: offset: 0x30f, out: 0x50c9b640
+lwl :: offset: 0x310, out: 0x45000000
+lwl :: offset: 0x311, out: 0xffffffffe6450000
+lwl :: offset: 0x312, out: 0xffffffff8ee64500
+lwl :: offset: 0x313, out: 0x4e8ee645
+lwl :: offset: 0x314, out: 0xfffffffff2000000
+lwl :: offset: 0x315, out: 0xfffffffffbf20000
+lwl :: offset: 0x316, out: 0x4ffbf200
+lwl :: offset: 0x317, out: 0x4a4ffbf2
+lwl :: offset: 0x318, out: 0x2b000000
+lwl :: offset: 0x319, out: 0xffffffffdd2b0000
+lwl :: offset: 0x31a, out: 0xcdd2b00
+lwl :: offset: 0x31b, out: 0x470cdd2b
+lwl :: offset: 0x31c, out: 0xffffffff9c000000
+lwl :: offset: 0x31d, out: 0xffffffffc09c0000
+lwl :: offset: 0x31e, out: 0xffffffffcdc09c00
+lwl :: offset: 0x31f, out: 0x43cdc09c
+lwl :: offset: 0x320, out: 0x21000000
+lwl :: offset: 0x321, out: 0x7d210000
+lwl :: offset: 0x322, out: 0xffffffff827d2100
+lwl :: offset: 0x323, out: 0x7b827d21
+lwl :: offset: 0x324, out: 0xffffffff96000000
+lwl :: offset: 0x325, out: 0x60960000
+lwl :: offset: 0x326, out: 0x43609600
+lwl :: offset: 0x327, out: 0x7f436096
+lwl :: offset: 0x328, out: 0x4f000000
+lwl :: offset: 0x329, out: 0x464f0000
+lwl :: offset: 0x32a, out: 0x464f00
+lwl :: offset: 0x32b, out: 0x7200464f
+lwl :: offset: 0x32c, out: 0xfffffffff8000000
+lwl :: offset: 0x32d, out: 0x5bf80000
+lwl :: offset: 0x32e, out: 0xffffffffc15bf800
+lwl :: offset: 0x32f, out: 0x76c15bf8
+lwl :: offset: 0x330, out: 0xfffffffffd000000
+lwl :: offset: 0x331, out: 0xbfd0000
+lwl :: offset: 0x332, out: 0xffffffff860bfd00
+lwl :: offset: 0x333, out: 0x68860bfd
+lwl :: offset: 0x334, out: 0x4a000000
+lwl :: offset: 0x335, out: 0x164a0000
+lwl :: offset: 0x336, out: 0x47164a00
+lwl :: offset: 0x337, out: 0x6c47164a
+lwl :: offset: 0x338, out: 0xffffffff93000000
+lwl :: offset: 0x339, out: 0x30930000
+lwl :: offset: 0x33a, out: 0x4309300
+lwl :: offset: 0x33b, out: 0x61043093
+lwl :: offset: 0x33c, out: 0x24000000
+lwl :: offset: 0x33d, out: 0x2d240000
+lwl :: offset: 0x33e, out: 0xffffffffc52d2400
+lwl :: offset: 0x33f, out: 0x65c52d24
+lwl :: offset: 0x340, out: 0xffffffffe9000000
+lwl :: offset: 0x341, out: 0x4be90000
+lwl :: offset: 0x342, out: 0xffffffff9b4be900
+lwl :: offset: 0x343, out: 0x119b4be9
+lwl :: offset: 0x344, out: 0x5e000000
+lwl :: offset: 0x345, out: 0x565e0000
+lwl :: offset: 0x346, out: 0x5a565e00
+lwl :: offset: 0x347, out: 0x155a565e
+lwl :: offset: 0x348, out: 0xffffffff87000000
+lwl :: offset: 0x349, out: 0x70870000
+lwl :: offset: 0x34a, out: 0x19708700
+lwl :: offset: 0x34b, out: 0x18197087
+lwl :: offset: 0x34c, out: 0x30000000
+lwl :: offset: 0x34d, out: 0x6d300000
+lwl :: offset: 0x34e, out: 0xffffffffd86d3000
+lwl :: offset: 0x34f, out: 0x1cd86d30
+lwl :: offset: 0x350, out: 0x35000000
+lwl :: offset: 0x351, out: 0x3d350000
+lwl :: offset: 0x352, out: 0xffffffff9f3d3500
+lwl :: offset: 0x353, out: 0x29f3d35
+lwl :: offset: 0x354, out: 0xffffffff82000000
+lwl :: offset: 0x355, out: 0x20820000
+lwl :: offset: 0x356, out: 0x5e208200
+lwl :: offset: 0x357, out: 0x65e2082
+lwl :: offset: 0x358, out: 0x5b000000
+lwl :: offset: 0x359, out: 0x65b0000
+lwl :: offset: 0x35a, out: 0x1d065b00
+lwl :: offset: 0x35b, out: 0xb1d065b
+lwl :: offset: 0x35c, out: 0xffffffffec000000
+lwl :: offset: 0x35d, out: 0x1bec0000
+lwl :: offset: 0x35e, out: 0xffffffffdc1bec00
+lwl :: offset: 0x35f, out: 0xfdc1bec
+lwl :: offset: 0x360, out: 0x51000000
+lwl :: offset: 0x361, out: 0xffffffffa6510000
+lwl :: offset: 0x362, out: 0xffffffff93a65100
+lwl :: offset: 0x363, out: 0x3793a651
+lwl :: offset: 0x364, out: 0xffffffffe6000000
+lwl :: offset: 0x365, out: 0xffffffffbbe60000
+lwl :: offset: 0x366, out: 0x52bbe600
+lwl :: offset: 0x367, out: 0x3352bbe6
+lwl :: offset: 0x368, out: 0x3f000000
+lwl :: offset: 0x369, out: 0xffffffff9d3f0000
+lwl :: offset: 0x36a, out: 0x119d3f00
+lwl :: offset: 0x36b, out: 0x3e119d3f
+lwl :: offset: 0x36c, out: 0xffffffff88000000
+lwl :: offset: 0x36d, out: 0xffffffff80880000
+lwl :: offset: 0x36e, out: 0xffffffffd0808800
+lwl :: offset: 0x36f, out: 0x3ad08088
+lwl :: offset: 0x370, out: 0xffffffff8d000000
+lwl :: offset: 0x371, out: 0xffffffffd08d0000
+lwl :: offset: 0x372, out: 0xffffffff97d08d00
+lwl :: offset: 0x373, out: 0x2497d08d
+lwl :: offset: 0x374, out: 0x3a000000
+lwl :: offset: 0x375, out: 0xffffffffcd3a0000
+lwl :: offset: 0x376, out: 0x56cd3a00
+lwl :: offset: 0x377, out: 0x2056cd3a
+lwl :: offset: 0x378, out: 0xffffffffe3000000
+lwl :: offset: 0x379, out: 0xffffffffebe30000
+lwl :: offset: 0x37a, out: 0x15ebe300
+lwl :: offset: 0x37b, out: 0x2d15ebe3
+lwl :: offset: 0x37c, out: 0x54000000
+lwl :: offset: 0x37d, out: 0xfffffffff6540000
+lwl :: offset: 0x37e, out: 0xffffffffd4f65400
+lwl :: offset: 0x37f, out: 0x29d4f654
+lwl :: offset: 0x380, out: 0x79000000
+lwl :: offset: 0x381, out: 0x26790000
+lwl :: offset: 0x382, out: 0xffffffffa9267900
+lwl :: offset: 0x383, out: 0xffffffffc5a92679
+lwl :: offset: 0x384, out: 0xffffffffce000000
+lwl :: offset: 0x385, out: 0x3bce0000
+lwl :: offset: 0x386, out: 0x683bce00
+lwl :: offset: 0x387, out: 0xffffffffc1683bce
+lwl :: offset: 0x388, out: 0x17000000
+lwl :: offset: 0x389, out: 0x1d170000
+lwl :: offset: 0x38a, out: 0x2b1d1700
+lwl :: offset: 0x38b, out: 0xffffffffcc2b1d17
+lwl :: offset: 0x38c, out: 0xffffffffa0000000
+lwl :: offset: 0x38d, out: 0xa00000
+lwl :: offset: 0x38e, out: 0xffffffffea00a000
+lwl :: offset: 0x38f, out: 0xffffffffc8ea00a0
+lwl :: offset: 0x390, out: 0xffffffffa5000000
+lwl :: offset: 0x391, out: 0x50a50000
+lwl :: offset: 0x392, out: 0xffffffffad50a500
+lwl :: offset: 0x393, out: 0xffffffffd6ad50a5
+lwl :: offset: 0x394, out: 0x12000000
+lwl :: offset: 0x395, out: 0x4d120000
+lwl :: offset: 0x396, out: 0x6c4d1200
+lwl :: offset: 0x397, out: 0xffffffffd26c4d12
+lwl :: offset: 0x398, out: 0xffffffffcb000000
+lwl :: offset: 0x399, out: 0x6bcb0000
+lwl :: offset: 0x39a, out: 0x2f6bcb00
+lwl :: offset: 0x39b, out: 0xffffffffdf2f6bcb
+lwl :: offset: 0x39c, out: 0x7c000000
+lwl :: offset: 0x39d, out: 0x767c0000
+lwl :: offset: 0x39e, out: 0xffffffffee767c00
+lwl :: offset: 0x39f, out: 0xffffffffdbee767c
+lwl :: offset: 0x3a0, out: 0xffffffffc1000000
+lwl :: offset: 0x3a1, out: 0xffffffffcbc10000
+lwl :: offset: 0x3a2, out: 0xffffffffa1cbc100
+lwl :: offset: 0x3a3, out: 0xffffffffe3a1cbc1
+lwl :: offset: 0x3a4, out: 0x76000000
+lwl :: offset: 0x3a5, out: 0xffffffffd6760000
+lwl :: offset: 0x3a6, out: 0x60d67600
+lwl :: offset: 0x3a7, out: 0xffffffffe760d676
+lwl :: offset: 0x3a8, out: 0xffffffffaf000000
+lwl :: offset: 0x3a9, out: 0xfffffffff0af0000
+lwl :: offset: 0x3aa, out: 0x23f0af00
+lwl :: offset: 0x3ab, out: 0xffffffffea23f0af
+lwl :: offset: 0x3ac, out: 0x18000000
+lwl :: offset: 0x3ad, out: 0xffffffffed180000
+lwl :: offset: 0x3ae, out: 0xffffffffe2ed1800
+lwl :: offset: 0x3af, out: 0xffffffffeee2ed18
+lwl :: offset: 0x3b0, out: 0x1d000000
+lwl :: offset: 0x3b1, out: 0xffffffffbd1d0000
+lwl :: offset: 0x3b2, out: 0xffffffffa5bd1d00
+lwl :: offset: 0x3b3, out: 0xfffffffff0a5bd1d
+lwl :: offset: 0x3b4, out: 0xffffffffaa000000
+lwl :: offset: 0x3b5, out: 0xffffffffa0aa0000
+lwl :: offset: 0x3b6, out: 0x64a0aa00
+lwl :: offset: 0x3b7, out: 0xfffffffff464a0aa
+lwl :: offset: 0x3b8, out: 0x73000000
+lwl :: offset: 0x3b9, out: 0xffffffff86730000
+lwl :: offset: 0x3ba, out: 0x27867300
+lwl :: offset: 0x3bb, out: 0xfffffffff9278673
+lwl :: offset: 0x3bc, out: 0xffffffffc4000000
+lwl :: offset: 0x3bd, out: 0xffffffff9bc40000
+lwl :: offset: 0x3be, out: 0xffffffffe69bc400
+lwl :: offset: 0x3bf, out: 0xfffffffffde69bc4
+lwl :: offset: 0x3c0, out: 0x9000000
+lwl :: offset: 0x3c1, out: 0xfffffffffd090000
+lwl :: offset: 0x3c2, out: 0xffffffffb8fd0900
+lwl :: offset: 0x3c3, out: 0xffffffff89b8fd09
+lwl :: offset: 0x3c4, out: 0xffffffffbe000000
+lwl :: offset: 0x3c5, out: 0xffffffffe0be0000
+lwl :: offset: 0x3c6, out: 0x79e0be00
+lwl :: offset: 0x3c7, out: 0xffffffff8d79e0be
+lwl :: offset: 0x3c8, out: 0x67000000
+lwl :: offset: 0x3c9, out: 0xffffffffc6670000
+lwl :: offset: 0x3ca, out: 0x3ac66700
+lwl :: offset: 0x3cb, out: 0xffffffff803ac667
+lwl :: offset: 0x3cc, out: 0xffffffffd0000000
+lwl :: offset: 0x3cd, out: 0xffffffffdbd00000
+lwl :: offset: 0x3ce, out: 0xfffffffffbdbd000
+lwl :: offset: 0x3cf, out: 0xffffffff84fbdbd0
+lwl :: offset: 0x3d0, out: 0xffffffffd5000000
+lwl :: offset: 0x3d1, out: 0xffffffff8bd50000
+lwl :: offset: 0x3d2, out: 0xffffffffbc8bd500
+lwl :: offset: 0x3d3, out: 0xffffffff9abc8bd5
+lwl :: offset: 0x3d4, out: 0x62000000
+lwl :: offset: 0x3d5, out: 0xffffffff96620000
+lwl :: offset: 0x3d6, out: 0x7d966200
+lwl :: offset: 0x3d7, out: 0xffffffff9e7d9662
+lwl :: offset: 0x3d8, out: 0xffffffffbb000000
+lwl :: offset: 0x3d9, out: 0xffffffffb0bb0000
+lwl :: offset: 0x3da, out: 0x3eb0bb00
+lwl :: offset: 0x3db, out: 0xffffffff933eb0bb
+lwl :: offset: 0x3dc, out: 0xc000000
+lwl :: offset: 0x3dd, out: 0xffffffffad0c0000
+lwl :: offset: 0x3de, out: 0xffffffffffad0c00
+lwl :: offset: 0x3df, out: 0xffffffff97ffad0c
+lwl :: offset: 0x3e0, out: 0xffffffffb1000000
+lwl :: offset: 0x3e1, out: 0x10b10000
+lwl :: offset: 0x3e2, out: 0xffffffffb010b100
+lwl :: offset: 0x3e3, out: 0xffffffffafb010b1
+lwl :: offset: 0x3e4, out: 0x6000000
+lwl :: offset: 0x3e5, out: 0xd060000
+lwl :: offset: 0x3e6, out: 0x710d0600
+lwl :: offset: 0x3e7, out: 0xffffffffab710d06
+lwl :: offset: 0x3e8, out: 0xffffffffdf000000
+lwl :: offset: 0x3e9, out: 0x2bdf0000
+lwl :: offset: 0x3ea, out: 0x322bdf00
+lwl :: offset: 0x3eb, out: 0xffffffffa6322bdf
+lwl :: offset: 0x3ec, out: 0x68000000
+lwl :: offset: 0x3ed, out: 0x36680000
+lwl :: offset: 0x3ee, out: 0xfffffffff3366800
+lwl :: offset: 0x3ef, out: 0xffffffffa2f33668
+lwl :: offset: 0x3f0, out: 0x6d000000
+lwl :: offset: 0x3f1, out: 0x666d0000
+lwl :: offset: 0x3f2, out: 0xffffffffb4666d00
+lwl :: offset: 0x3f3, out: 0xffffffffbcb4666d
+lwl :: offset: 0x3f4, out: 0xffffffffda000000
+lwl :: offset: 0x3f5, out: 0x7bda0000
+lwl :: offset: 0x3f6, out: 0x757bda00
+lwl :: offset: 0x3f7, out: 0xffffffffb8757bda
+lwl :: offset: 0x3f8, out: 0x3000000
+lwl :: offset: 0x3f9, out: 0x5d030000
+lwl :: offset: 0x3fa, out: 0x365d0300
+lwl :: offset: 0x3fb, out: 0xffffffffb5365d03
+lwl :: offset: 0x3fc, out: 0xffffffffb4000000
+lwl :: offset: 0x3fd, out: 0x40b40000
+lwl :: offset: 0x3fe, out: 0xfffffffff740b400
+lwl :: offset: 0x3ff, out: 0xffffffffb1f740b4
+lwl :: offset: 0x0, out: 0xffffffffaa000000
+lwl :: offset: 0x1, out: 0xffffffffd6aa0000
+lwl :: offset: 0x2, out: 0x2bd6aa00
+lwl :: offset: 0x3, out: 0x12bd6aa
+lwl :: offset: 0x4, out: 0x0
+lwl :: offset: 0x5, out: 0x0
+lwl :: offset: 0x6, out: 0x0
+lwl :: offset: 0x7, out: 0x0
+lwl :: offset: 0x8, out: 0x13000000
+lwl :: offset: 0x9, out: 0xffffffffab130000
+lwl :: offset: 0xa, out: 0xffffffffd2ab1300
+lwl :: offset: 0xb, out: 0xffffffff82d2ab13
+lwl :: offset: 0xc, out: 0x63000000
+lwl :: offset: 0xd, out: 0xffffffff87630000
+lwl :: offset: 0xe, out: 0x7e876300
+lwl :: offset: 0xf, out: 0x7e8763
+lwl :: offset: 0x10, out: 0xfffffffff3000000
+lwl :: offset: 0x11, out: 0x10f30000
+lwl :: offset: 0x12, out: 0x1510f300
+lwl :: offset: 0x13, out: 0xffffffffc31510f3
+lwl :: offset: 0x14, out: 0xffffffff9a000000
+lwl :: offset: 0x15, out: 0x6e9a0000
+lwl :: offset: 0x16, out: 0x6d6e9a00
+lwl :: offset: 0x17, out: 0xffffffff976d6e9a
+lwl :: offset: 0x18, out: 0xfffffffffb000000
+lwl :: offset: 0x19, out: 0xffffffffa5fb0000
+lwl :: offset: 0x1a, out: 0xffffffffd6a5fb00
+lwl :: offset: 0x1b, out: 0x5ad6a5fb
+lwl :: offset: 0x1c, out: 0x77000000
+lwl :: offset: 0x1d, out: 0x6d770000
+lwl :: offset: 0x1e, out: 0x746d7700
+lwl :: offset: 0x1f, out: 0xffffffffb7746d77
+lwl :: offset: 0x20, out: 0x2000000
+lwl :: offset: 0x21, out: 0xffffffffb5020000
+lwl :: offset: 0x22, out: 0x77b50200
+lwl :: offset: 0x23, out: 0xffffffff8677b502
+lwl :: offset: 0x24, out: 0xffffffffa2000000
+lwl :: offset: 0x25, out: 0xffffffffc0a20000
+lwl :: offset: 0x26, out: 0xffffffffb0c0a200
+lwl :: offset: 0x27, out: 0x42b0c0a2
+lwl :: offset: 0x28, out: 0xffffffffad000000
+lwl :: offset: 0x29, out: 0x30ad0000
+lwl :: offset: 0x2a, out: 0x3c30ad00
+lwl :: offset: 0x2b, out: 0xffffffff9e3c30ad
+lwl :: offset: 0x2c, out: 0x31000000
+lwl :: offset: 0x2d, out: 0xffffffff9d310000
+lwl :: offset: 0x2e, out: 0xffffffffa89d3100
+lwl :: offset: 0x2f, out: 0x2aa89d31
+lwl :: offset: 0x30, out: 0x3d000000
+lwl :: offset: 0x31, out: 0x413d0000
+lwl :: offset: 0x32, out: 0xfffffffffb413d00
+lwl :: offset: 0x33, out: 0x77fb413d
+lwl :: offset: 0x34, out: 0xffffffffc3000000
+lwl :: offset: 0x35, out: 0xffffffff8ec30000
+lwl :: offset: 0x36, out: 0x308ec300
+lwl :: offset: 0x37, out: 0x1f308ec3
+lwl :: offset: 0x38, out: 0xfffffffff7000000
+lwl :: offset: 0x39, out: 0xffffffffe4f70000
+lwl :: offset: 0x3a, out: 0x60e4f700
+lwl :: offset: 0x3b, out: 0xffffffffc760e4f7
+lwl :: offset: 0x3c, out: 0x13000000
+lwl :: offset: 0x3d, out: 0x42130000
+lwl :: offset: 0x3e, out: 0xffffffffa0421300
+lwl :: offset: 0x3f, out: 0x7aa04213
+lwl :: offset: 0x40, out: 0xffffffffa0000000
+lwl :: offset: 0x41, out: 0xffffffffdca00000
+lwl :: offset: 0x42, out: 0xffffffffd8dca000
+lwl :: offset: 0x43, out: 0x1ad8dca0
+lwl :: offset: 0x44, out: 0xffffffffc5000000
+lwl :: offset: 0x45, out: 0x5cc50000
+lwl :: offset: 0x46, out: 0x705cc500
+lwl :: offset: 0x47, out: 0xffffffff9e705cc5
+lwl :: offset: 0x48, out: 0xd000000
+lwl :: offset: 0x49, out: 0xffffffffa60d0000
+lwl :: offset: 0x4a, out: 0x15a60d00
+lwl :: offset: 0x4b, out: 0xffffffff9615a60d
+lwl :: offset: 0x4c, out: 0xffffffff86000000
+lwl :: offset: 0x4d, out: 0xffffffffda860000
+lwl :: offset: 0x4e, out: 0x3dda8600
+lwl :: offset: 0x4f, out: 0x4b3dda86
+lwl :: offset: 0x50, out: 0x1d000000
+lwl :: offset: 0x51, out: 0xffffffffd41d0000
+lwl :: offset: 0x52, out: 0x53d41d00
+lwl :: offset: 0x53, out: 0x6353d41d
+lwl :: offset: 0x54, out: 0xffffffffdd000000
+lwl :: offset: 0x55, out: 0xffffffffa4dd0000
+lwl :: offset: 0x56, out: 0xffffffffe7a4dd00
+lwl :: offset: 0x57, out: 0x5e7a4dd
+lwl :: offset: 0x58, out: 0x13000000
+lwl :: offset: 0x59, out: 0xffffffffd4130000
+lwl :: offset: 0x5a, out: 0xbd41300
+lwl :: offset: 0x5b, out: 0xffffffffc40bd413
+lwl :: offset: 0x5c, out: 0xffffffff9d000000
+lwl :: offset: 0x5d, out: 0x5a9d0000
+lwl :: offset: 0x5e, out: 0xfffffffff35a9d00
+lwl :: offset: 0x5f, out: 0x3af35a9d
+lwl :: offset: 0x60, out: 0xffffffff80000000
+lwl :: offset: 0x61, out: 0xffffffffa1800000
+lwl :: offset: 0x62, out: 0x8a18000
+lwl :: offset: 0x63, out: 0xffffffff9a08a180
+lwl :: offset: 0x64, out: 0x56000000
+lwl :: offset: 0x65, out: 0x5560000
+lwl :: offset: 0x66, out: 0xfffffffff5055600
+lwl :: offset: 0x67, out: 0x47f50556
+lwl :: offset: 0x68, out: 0xf000000
+lwl :: offset: 0x69, out: 0x40f0000
+lwl :: offset: 0x6a, out: 0xffffffffd2040f00
+lwl :: offset: 0x6b, out: 0xffffffffd6d2040f
+lwl :: offset: 0x6c, out: 0x7f000000
+lwl :: offset: 0x6d, out: 0xffffffffb77f0000
+lwl :: offset: 0x6e, out: 0x64b77f00
+lwl :: offset: 0x6f, out: 0xffffffff9564b77f
+lwl :: offset: 0x70, out: 0xffffffffbe000000
+lwl :: offset: 0x71, out: 0x6bbe0000
+lwl :: offset: 0x72, out: 0xffffffffc76bbe00
+lwl :: offset: 0x73, out: 0xffffffffb2c76bbe
+lwl :: offset: 0x74, out: 0x79000000
+lwl :: offset: 0x75, out: 0xffffffff82790000
+lwl :: offset: 0x76, out: 0xffffffffbc827900
+lwl :: offset: 0x77, out: 0xffffffffcebc8279
+lwl :: offset: 0x78, out: 0xffffffffc7000000
+lwl :: offset: 0x79, out: 0xffffffffe4c70000
+lwl :: offset: 0x7a, out: 0x18e4c700
+lwl :: offset: 0x7b, out: 0x1f18e4c7
+lwl :: offset: 0x7c, out: 0x2f000000
+lwl :: offset: 0x7d, out: 0x4c2f0000
+lwl :: offset: 0x7e, out: 0x34c2f00
+lwl :: offset: 0x7f, out: 0xffffffffb5034c2f
+lwl :: offset: 0x80, out: 0xffffffff97000000
+lwl :: offset: 0x81, out: 0xffffffffa7970000
+lwl :: offset: 0x82, out: 0xffffffffafa79700
+lwl :: offset: 0x83, out: 0xffffffff81afa797
+lwl :: offset: 0x84, out: 0xfffffffffc000000
+lwl :: offset: 0x85, out: 0x52fc0000
+lwl :: offset: 0x86, out: 0xffffffffff52fc00
+lwl :: offset: 0x87, out: 0xffffffff94ff52fc
+lwl :: offset: 0x88, out: 0xffffffffea000000
+lwl :: offset: 0x89, out: 0x50ea0000
+lwl :: offset: 0x8a, out: 0xfffffffffc50ea00
+lwl :: offset: 0x8b, out: 0x6dfc50ea
+lwl :: offset: 0x8c, out: 0x16000000
+lwl :: offset: 0x8d, out: 0xffffffffd9160000
+lwl :: offset: 0x8e, out: 0xffffffffd8d91600
+lwl :: offset: 0x8f, out: 0x31d8d916
+lwl :: offset: 0x90, out: 0xffffffffb1000000
+lwl :: offset: 0x91, out: 0xffffffff95b10000
+lwl :: offset: 0x92, out: 0xffffffffe895b100
+lwl :: offset: 0x93, out: 0x78e895b1
+lwl :: offset: 0x94, out: 0xffffffffd6000000
+lwl :: offset: 0x95, out: 0xffffffff9bd60000
+lwl :: offset: 0x96, out: 0x549bd600
+lwl :: offset: 0x97, out: 0x36549bd6
+lwl :: offset: 0x98, out: 0xffffffff9b000000
+lwl :: offset: 0x99, out: 0x259b0000
+lwl :: offset: 0x9a, out: 0x63259b00
+lwl :: offset: 0x9b, out: 0xffffffff9b63259b
+lwl :: offset: 0x9c, out: 0x31000000
+lwl :: offset: 0x9d, out: 0xffffffffa6310000
+lwl :: offset: 0x9e, out: 0xffffffffe0a63100
+lwl :: offset: 0x9f, out: 0xffffffff85e0a631
+lwl :: offset: 0xa0, out: 0xffffffffc5000000
+lwl :: offset: 0xa1, out: 0x7ac50000
+lwl :: offset: 0xa2, out: 0xfffffffff17ac500
+lwl :: offset: 0xa3, out: 0xffffffffccf17ac5
+lwl :: offset: 0xa4, out: 0xffffffffca000000
+lwl :: offset: 0xa5, out: 0x3eca0000
+lwl :: offset: 0xa6, out: 0x6b3eca00
+lwl :: offset: 0xa7, out: 0x556b3eca
+lwl :: offset: 0xa8, out: 0xfffffffffb000000
+lwl :: offset: 0xa9, out: 0xffffffffa0fb0000
+lwl :: offset: 0xaa, out: 0xffffffffeea0fb00
+lwl :: offset: 0xab, out: 0xffffffff81eea0fb
+lwl :: offset: 0xac, out: 0xffffffffc5000000
+lwl :: offset: 0xad, out: 0x5fc50000
+lwl :: offset: 0xae, out: 0x2f5fc500
+lwl :: offset: 0xaf, out: 0xffffffffb42f5fc5
+lwl :: offset: 0xb0, out: 0xffffffff97000000
+lwl :: offset: 0xb1, out: 0x2d970000
+lwl :: offset: 0xb2, out: 0x682d9700
+lwl :: offset: 0xb3, out: 0x14682d97
+lwl :: offset: 0xb4, out: 0xffffffffec000000
+lwl :: offset: 0xb5, out: 0xfec0000
+lwl :: offset: 0xb6, out: 0xffffffffb50fec00
+lwl :: offset: 0xb7, out: 0x25b50fec
+lwl :: offset: 0xb8, out: 0x7a000000
+lwl :: offset: 0xb9, out: 0x87a0000
+lwl :: offset: 0xba, out: 0xfffffffffb087a00
+lwl :: offset: 0xbb, out: 0x2cfb087a
+lwl :: offset: 0xbc, out: 0x13000000
+lwl :: offset: 0xbd, out: 0xffffffffc5130000
+lwl :: offset: 0xbe, out: 0xffffffff93c51300
+lwl :: offset: 0xbf, out: 0xfffffffffc93c513
+lwl :: offset: 0xc0, out: 0x66000000
+lwl :: offset: 0xc1, out: 0x7660000
+lwl :: offset: 0xc2, out: 0xffffffffa2076600
+lwl :: offset: 0xc3, out: 0xffffffffcda20766
+lwl :: offset: 0xc4, out: 0xffffffffa9000000
+lwl :: offset: 0xc5, out: 0xffffffffd9a90000
+lwl :: offset: 0xc6, out: 0x2cd9a900
+lwl :: offset: 0xc7, out: 0x3c2cd9a9
+lwl :: offset: 0xc8, out: 0x3e000000
+lwl :: offset: 0xc9, out: 0xffffffffda3e0000
+lwl :: offset: 0xca, out: 0x72da3e00
+lwl :: offset: 0xcb, out: 0x7d72da3e
+lwl :: offset: 0xcc, out: 0x2a000000
+lwl :: offset: 0xcd, out: 0x722a0000
+lwl :: offset: 0xce, out: 0xffffffff91722a00
+lwl :: offset: 0xcf, out: 0x1791722a
+lwl :: offset: 0xd0, out: 0xffffffffad000000
+lwl :: offset: 0xd1, out: 0x24ad0000
+lwl :: offset: 0xd2, out: 0xffffffffce24ad00
+lwl :: offset: 0xd3, out: 0xffffffff93ce24ad
+lwl :: offset: 0xd4, out: 0xffffffffd1000000
+lwl :: offset: 0xd5, out: 0xffffffffc9d10000
+lwl :: offset: 0xd6, out: 0x7cc9d100
+lwl :: offset: 0xd7, out: 0x87cc9d1
+lwl :: offset: 0xd8, out: 0xffffffffd2000000
+lwl :: offset: 0xd9, out: 0x4ed20000
+lwl :: offset: 0xda, out: 0xffffffff984ed200
+lwl :: offset: 0xdb, out: 0x38984ed2
+lwl :: offset: 0xdc, out: 0x70000000
+lwl :: offset: 0xdd, out: 0x75700000
+lwl :: offset: 0xde, out: 0x2a757000
+lwl :: offset: 0xdf, out: 0x1d2a7570
+lwl :: offset: 0xe0, out: 0x36000000
+lwl :: offset: 0xe1, out: 0xffffffffd0360000
+lwl :: offset: 0xe2, out: 0xcd03600
+lwl :: offset: 0xe3, out: 0x710cd036
+lwl :: offset: 0xe4, out: 0xffffffffdb000000
+lwl :: offset: 0xe5, out: 0x70db0000
+lwl :: offset: 0xe6, out: 0xffffffffd070db00
+lwl :: offset: 0xe7, out: 0xffffffffd0d070db
+lwl :: offset: 0xe8, out: 0x4000000
+lwl :: offset: 0xe9, out: 0x56040000
+lwl :: offset: 0xea, out: 0x41560400
+lwl :: offset: 0xeb, out: 0x3415604
+lwl :: offset: 0xec, out: 0x7d000000
+lwl :: offset: 0xed, out: 0x1c7d0000
+lwl :: offset: 0xee, out: 0xffffffffc21c7d00
+lwl :: offset: 0xef, out: 0x39c21c7d
+lwl :: offset: 0xf0, out: 0xffffffffce000000
+lwl :: offset: 0xf1, out: 0x31ce0000
+lwl :: offset: 0xf2, out: 0xffffffffcc31ce00
+lwl :: offset: 0xf3, out: 0xffffffff8ecc31ce
+lwl :: offset: 0xf4, out: 0xffffffffaf000000
+lwl :: offset: 0xf5, out: 0xffffffffb7af0000
+lwl :: offset: 0xf6, out: 0xffffffff94b7af00
+lwl :: offset: 0xf7, out: 0xffffffff8e94b7af
+lwl :: offset: 0xf8, out: 0x4f000000
+lwl :: offset: 0xf9, out: 0x674f0000
+lwl :: offset: 0xfa, out: 0xffffffffe7674f00
+lwl :: offset: 0xfb, out: 0x1ce7674f
+lwl :: offset: 0xfc, out: 0xffffffff8d000000
+lwl :: offset: 0xfd, out: 0x6a8d0000
+lwl :: offset: 0xfe, out: 0xffffffffeb6a8d00
+lwl :: offset: 0xff, out: 0x24eb6a8d
+lwl :: offset: 0x100, out: 0xffffffffa7000000
+lwl :: offset: 0x101, out: 0xffffffffe4a70000
+lwl :: offset: 0x102, out: 0xffffffffd6e4a700
+lwl :: offset: 0x103, out: 0x12d6e4a7
+lwl :: offset: 0x104, out: 0x44000000
+lwl :: offset: 0x105, out: 0x45440000
+lwl :: offset: 0x106, out: 0x39454400
+lwl :: offset: 0x107, out: 0x2f394544
+lwl :: offset: 0x108, out: 0x54000000
+lwl :: offset: 0x109, out: 0x4c540000
+lwl :: offset: 0x10a, out: 0xffffffffda4c5400
+lwl :: offset: 0x10b, out: 0x56da4c54
+lwl :: offset: 0x10c, out: 0xffffffffb7000000
+lwl :: offset: 0x10d, out: 0xffffffffc2b70000
+lwl :: offset: 0x10e, out: 0x8c2b700
+lwl :: offset: 0x10f, out: 0x2608c2b7
+lwl :: offset: 0x110, out: 0x2f000000
+lwl :: offset: 0x111, out: 0x252f0000
+lwl :: offset: 0x112, out: 0xffffffffd7252f00
+lwl :: offset: 0x113, out: 0xffffffffc8d7252f
+lwl :: offset: 0x114, out: 0xffffffffda000000
+lwl :: offset: 0x115, out: 0x2da0000
+lwl :: offset: 0x116, out: 0x102da00
+lwl :: offset: 0x117, out: 0xffffffff900102da
+lwl :: offset: 0x118, out: 0xfffffffff7000000
+lwl :: offset: 0x119, out: 0xffffffffa4f70000
+lwl :: offset: 0x11a, out: 0xffffffffefa4f700
+lwl :: offset: 0x11b, out: 0xfffffffff2efa4f7
+lwl :: offset: 0x11c, out: 0xfffffffff1000000
+lwl :: offset: 0x11d, out: 0xffffffffd5f10000
+lwl :: offset: 0x11e, out: 0xffffffff90d5f100
+lwl :: offset: 0x11f, out: 0xffffffffc890d5f1
+lwl :: offset: 0x120, out: 0x14000000
+lwl :: offset: 0x121, out: 0xffffffffa2140000
+lwl :: offset: 0x122, out: 0xffffffffb0a21400
+lwl :: offset: 0x123, out: 0xffffffffc8b0a214
+lwl :: offset: 0x124, out: 0xffffffffcb000000
+lwl :: offset: 0x125, out: 0x5cb0000
+lwl :: offset: 0x126, out: 0x5005cb00
+lwl :: offset: 0x127, out: 0xffffffffed5005cb
+lwl :: offset: 0x128, out: 0x6c000000
+lwl :: offset: 0x129, out: 0x136c0000
+lwl :: offset: 0x12a, out: 0xffffffff91136c00
+lwl :: offset: 0x12b, out: 0x5991136c
+lwl :: offset: 0x12c, out: 0xffffffff89000000
+lwl :: offset: 0x12d, out: 0xffffffff91890000
+lwl :: offset: 0x12e, out: 0x47918900
+lwl :: offset: 0x12f, out: 0x31479189
+lwl :: offset: 0x130, out: 0xfffffffff3000000
+lwl :: offset: 0x131, out: 0xffffffffb6f30000
+lwl :: offset: 0x132, out: 0x2fb6f300
+lwl :: offset: 0x133, out: 0xffffffff9a2fb6f3
+lwl :: offset: 0x134, out: 0xfffffffff9000000
+lwl :: offset: 0x135, out: 0xffffffffcff90000
+lwl :: offset: 0x136, out: 0xffffffffeecff900
+lwl :: offset: 0x137, out: 0xffffffffc6eecff9
+lwl :: offset: 0x138, out: 0x70000000
+lwl :: offset: 0x139, out: 0x52700000
+lwl :: offset: 0x13a, out: 0xffffffff89527000
+lwl :: offset: 0x13b, out: 0x38895270
+lwl :: offset: 0x13c, out: 0x12000000
+lwl :: offset: 0x13d, out: 0x52120000
+lwl :: offset: 0x13e, out: 0x9521200
+lwl :: offset: 0x13f, out: 0xffffffffa8095212
+lwl :: offset: 0x140, out: 0x40000000
+lwl :: offset: 0x141, out: 0x50400000
+lwl :: offset: 0x142, out: 0x76504000
+lwl :: offset: 0x143, out: 0xffffffffad765040
+lwl :: offset: 0x144, out: 0x4000000
+lwl :: offset: 0x145, out: 0xa040000
+lwl :: offset: 0x146, out: 0x750a0400
+lwl :: offset: 0x147, out: 0xffffffff87750a04
+lwl :: offset: 0x148, out: 0xffffffff83000000
+lwl :: offset: 0x149, out: 0x5a830000
+lwl :: offset: 0x14a, out: 0xffffffffbb5a8300
+lwl :: offset: 0x14b, out: 0xffffffff84bb5a83
+lwl :: offset: 0x14c, out: 0x5e000000
+lwl :: offset: 0x14d, out: 0xffffffffe85e0000
+lwl :: offset: 0x14e, out: 0x3de85e00
+lwl :: offset: 0x14f, out: 0x2c3de85e
+lwl :: offset: 0x150, out: 0x67000000
+lwl :: offset: 0x151, out: 0xffffffffaa670000
+lwl :: offset: 0x152, out: 0x6aa6700
+lwl :: offset: 0x153, out: 0xffffffffc506aa67
+lwl :: offset: 0x154, out: 0xffffffff8f000000
+lwl :: offset: 0x155, out: 0xffffffffff8f0000
+lwl :: offset: 0x156, out: 0x6aff8f00
+lwl :: offset: 0x157, out: 0xffffffffae6aff8f
+lwl :: offset: 0x158, out: 0xffffffffe3000000
+lwl :: offset: 0x159, out: 0x5ee30000
+lwl :: offset: 0x15a, out: 0xffffffffed5ee300
+lwl :: offset: 0x15b, out: 0x60ed5ee3
+lwl :: offset: 0x15c, out: 0xffffffffdd000000
+lwl :: offset: 0x15d, out: 0x12dd0000
+lwl :: offset: 0x15e, out: 0x7112dd00
+lwl :: offset: 0x15f, out: 0xffffffffc07112dd
+lwl :: offset: 0x160, out: 0x5a000000
+lwl :: offset: 0x161, out: 0xffffffffca5a0000
+lwl :: offset: 0x162, out: 0xffffffffdcca5a00
+lwl :: offset: 0x163, out: 0x30dcca5a
+lwl :: offset: 0x164, out: 0xfffffffff6000000
+lwl :: offset: 0x165, out: 0x70f60000
+lwl :: offset: 0x166, out: 0xffffffffc770f600
+lwl :: offset: 0x167, out: 0xffffffffc4c770f6
+lwl :: offset: 0x168, out: 0x77000000
+lwl :: offset: 0x169, out: 0x52770000
+lwl :: offset: 0x16a, out: 0xffffffffcd527700
+lwl :: offset: 0x16b, out: 0xffffffff83cd5277
+lwl :: offset: 0x16c, out: 0x23000000
+lwl :: offset: 0x16d, out: 0x2b230000
+lwl :: offset: 0x16e, out: 0xffffffffec2b2300
+lwl :: offset: 0x16f, out: 0xffffffffdfec2b23
+lwl :: offset: 0x170, out: 0x6b000000
+lwl :: offset: 0x171, out: 0xffffffffd96b0000
+lwl :: offset: 0x172, out: 0xfffffffff7d96b00
+lwl :: offset: 0x173, out: 0xff7d96b
+lwl :: offset: 0x174, out: 0x26000000
+lwl :: offset: 0x175, out: 0xffffffffba260000
+lwl :: offset: 0x176, out: 0xffffffffadba2600
+lwl :: offset: 0x177, out: 0xffffffffd3adba26
+lwl :: offset: 0x178, out: 0xe000000
+lwl :: offset: 0x179, out: 0xffffffffc00e0000
+lwl :: offset: 0x17a, out: 0x18c00e00
+lwl :: offset: 0x17b, out: 0xffffffff8418c00e
+lwl :: offset: 0x17c, out: 0x79000000
+lwl :: offset: 0x17d, out: 0xffffffffaa790000
+lwl :: offset: 0x17e, out: 0xffffffffb4aa7900
+lwl :: offset: 0x17f, out: 0x4ab4aa79
+lwl :: offset: 0x180, out: 0xffffffffb8000000
+lwl :: offset: 0x181, out: 0xfffffffff0b80000
+lwl :: offset: 0x182, out: 0xffffffffe0f0b800
+lwl :: offset: 0x183, out: 0xde0f0b8
+lwl :: offset: 0x184, out: 0x5e000000
+lwl :: offset: 0x185, out: 0x35e0000
+lwl :: offset: 0x186, out: 0xffffffff8c035e00
+lwl :: offset: 0x187, out: 0xffffffffbb8c035e
+lwl :: offset: 0x188, out: 0xfffffffff1000000
+lwl :: offset: 0x189, out: 0xffffffffdcf10000
+lwl :: offset: 0x18a, out: 0x7fdcf100
+lwl :: offset: 0x18b, out: 0xffffffffa97fdcf1
+lwl :: offset: 0x18c, out: 0x54000000
+lwl :: offset: 0x18d, out: 0x6f540000
+lwl :: offset: 0x18e, out: 0xffffffffb06f5400
+lwl :: offset: 0x18f, out: 0x33b06f54
+lwl :: offset: 0x190, out: 0xffffffff81000000
+lwl :: offset: 0x191, out: 0xffffffffc0810000
+lwl :: offset: 0x192, out: 0xffffffffd1c08100
+lwl :: offset: 0x193, out: 0x3fd1c081
+lwl :: offset: 0x194, out: 0x37000000
+lwl :: offset: 0x195, out: 0x3f370000
+lwl :: offset: 0x196, out: 0x433f3700
+lwl :: offset: 0x197, out: 0x77433f37
+lwl :: offset: 0x198, out: 0xffffffffe4000000
+lwl :: offset: 0x199, out: 0xffffffff95e40000
+lwl :: offset: 0x19a, out: 0x2195e400
+lwl :: offset: 0x19b, out: 0xffffffffc92195e4
+lwl :: offset: 0x19c, out: 0xffffffff93000000
+lwl :: offset: 0x19d, out: 0xffffffffd9930000
+lwl :: offset: 0x19e, out: 0xffffffff91d99300
+lwl :: offset: 0x19f, out: 0xffffffffec91d993
+lwl :: offset: 0x1a0, out: 0xffffffffab000000
+lwl :: offset: 0x1a1, out: 0xffffffffa5ab0000
+lwl :: offset: 0x1a2, out: 0xffffffffb1a5ab00
+lwl :: offset: 0x1a3, out: 0xffffffff95b1a5ab
+lwl :: offset: 0x1a4, out: 0xffffffffa7000000
+lwl :: offset: 0x1a5, out: 0xfffffffff6a70000
+lwl :: offset: 0x1a6, out: 0xfffffffffbf6a700
+lwl :: offset: 0x1a7, out: 0x49fbf6a7
+lwl :: offset: 0x1a8, out: 0x1e000000
+lwl :: offset: 0x1a9, out: 0xffffffff8d1e0000
+lwl :: offset: 0x1aa, out: 0xffffffffce8d1e00
+lwl :: offset: 0x1ab, out: 0xffffffffc7ce8d1e
+lwl :: offset: 0x1ac, out: 0x78000000
+lwl :: offset: 0x1ad, out: 0x43780000
+lwl :: offset: 0x1ae, out: 0x36437800
+lwl :: offset: 0x1af, out: 0x19364378
+lwl :: offset: 0x1b0, out: 0x7000000
+lwl :: offset: 0x1b1, out: 0x49070000
+lwl :: offset: 0x1b2, out: 0x38490700
+lwl :: offset: 0x1b3, out: 0x2f384907
+lwl :: offset: 0x1b4, out: 0xffffffffef000000
+lwl :: offset: 0x1b5, out: 0xffffffff8def0000
+lwl :: offset: 0x1b6, out: 0xffffffff9e8def00
+lwl :: offset: 0x1b7, out: 0xffffffffb99e8def
+lwl :: offset: 0x1b8, out: 0xfffffffffe000000
+lwl :: offset: 0x1b9, out: 0x12fe0000
+lwl :: offset: 0x1ba, out: 0x2b12fe00
+lwl :: offset: 0x1bb, out: 0x582b12fe
+lwl :: offset: 0x1bc, out: 0xffffffffcd000000
+lwl :: offset: 0x1bd, out: 0xffffffffcdcd0000
+lwl :: offset: 0x1be, out: 0xffffffffeacdcd00
+lwl :: offset: 0x1bf, out: 0x47eacdcd
+lwl :: offset: 0x1c0, out: 0x4f000000
+lwl :: offset: 0x1c1, out: 0xffffffff8c4f0000
+lwl :: offset: 0x1c2, out: 0x558c4f00
+lwl :: offset: 0x1c3, out: 0x76558c4f
+lwl :: offset: 0x1c4, out: 0x4e000000
+lwl :: offset: 0x1c5, out: 0xffffffff884e0000
+lwl :: offset: 0x1c6, out: 0xffffffff85884e00
+lwl :: offset: 0x1c7, out: 0xffffffffd685884e
+lwl :: offset: 0x1c8, out: 0xffffffffc7000000
+lwl :: offset: 0x1c9, out: 0xffffffff95c70000
+lwl :: offset: 0x1ca, out: 0xffffffffc195c700
+lwl :: offset: 0x1cb, out: 0x34c195c7
+lwl :: offset: 0x1cc, out: 0x2a000000
+lwl :: offset: 0x1cd, out: 0xffffffffd62a0000
+lwl :: offset: 0x1ce, out: 0x68d62a00
+lwl :: offset: 0x1cf, out: 0x6168d62a
+lwl :: offset: 0x1d0, out: 0x5000000
+lwl :: offset: 0x1d1, out: 0x74050000
+lwl :: offset: 0x1d2, out: 0xfffffffff4740500
+lwl :: offset: 0x1d3, out: 0x4df47405
+lwl :: offset: 0x1d4, out: 0xffffffff89000000
+lwl :: offset: 0x1d5, out: 0x69890000
+lwl :: offset: 0x1d6, out: 0x1698900
+lwl :: offset: 0x1d7, out: 0xffffffffd3016989
+lwl :: offset: 0x1d8, out: 0xffffffffdb000000
+lwl :: offset: 0x1d9, out: 0x6db0000
+lwl :: offset: 0x1da, out: 0xffffffffbb06db00
+lwl :: offset: 0x1db, out: 0x6cbb06db
+lwl :: offset: 0x1dc, out: 0xffffffffbf000000
+lwl :: offset: 0x1dd, out: 0xffffffff90bf0000
+lwl :: offset: 0x1de, out: 0xffffffffa190bf00
+lwl :: offset: 0x1df, out: 0x1ca190bf
+lwl :: offset: 0x1e0, out: 0x3a000000
+lwl :: offset: 0x1e1, out: 0x393a0000
+lwl :: offset: 0x1e2, out: 0xffffffffae393a00
+lwl :: offset: 0x1e3, out: 0xffffffff9cae393a
+lwl :: offset: 0x1e4, out: 0x2000000
+lwl :: offset: 0x1e5, out: 0xf020000
+lwl :: offset: 0x1e6, out: 0x300f0200
+lwl :: offset: 0x1e7, out: 0x58300f02
+lwl :: offset: 0x1e8, out: 0x2d000000
+lwl :: offset: 0x1e9, out: 0xffffffffbc2d0000
+lwl :: offset: 0x1ea, out: 0x7ebc2d00
+lwl :: offset: 0x1eb, out: 0xffffffffdc7ebc2d
+lwl :: offset: 0x1ec, out: 0xffffffffdb000000
+lwl :: offset: 0x1ed, out: 0x5fdb0000
+lwl :: offset: 0x1ee, out: 0xffffffff995fdb00
+lwl :: offset: 0x1ef, out: 0xffffffff9a995fdb
+lwl :: offset: 0x1f0, out: 0x48000000
+lwl :: offset: 0x1f1, out: 0x5b480000
+lwl :: offset: 0x1f2, out: 0x405b4800
+lwl :: offset: 0x1f3, out: 0xffffffffe3405b48
+lwl :: offset: 0x1f4, out: 0x7b000000
+lwl :: offset: 0x1f5, out: 0x47b0000
+lwl :: offset: 0x1f6, out: 0xffffffff96047b00
+lwl :: offset: 0x1f7, out: 0xffffffff8a96047b
+lwl :: offset: 0x1f8, out: 0x22000000
+lwl :: offset: 0x1f9, out: 0xffffffffd3220000
+lwl :: offset: 0x1fa, out: 0x19d32200
+lwl :: offset: 0x1fb, out: 0xffffffffd519d322
+lwl :: offset: 0x1fc, out: 0xffffffffd2000000
+lwl :: offset: 0x1fd, out: 0xffffffffafd20000
+lwl :: offset: 0x1fe, out: 0xffffffffbfafd200
+lwl :: offset: 0x1ff, out: 0x75bfafd2
+lwl :: offset: 0x200, out: 0xffffffffad000000
+lwl :: offset: 0x201, out: 0xfffffffff6ad0000
+lwl :: offset: 0x202, out: 0x30f6ad00
+lwl :: offset: 0x203, out: 0xffffffffa630f6ad
+lwl :: offset: 0x204, out: 0x67000000
+lwl :: offset: 0x205, out: 0x8670000
+lwl :: offset: 0x206, out: 0x23086700
+lwl :: offset: 0x207, out: 0xffffffffde230867
+lwl :: offset: 0x208, out: 0x60000000
+lwl :: offset: 0x209, out: 0x32600000
+lwl :: offset: 0x20a, out: 0x10326000
+lwl :: offset: 0x20b, out: 0x56103260
+lwl :: offset: 0x20c, out: 0xfffffffff2000000
+lwl :: offset: 0x20d, out: 0xcf20000
+lwl :: offset: 0x20e, out: 0xa0cf200
+lwl :: offset: 0x20f, out: 0x2c0a0cf2
+lwl :: offset: 0x210, out: 0xffffffffef000000
+lwl :: offset: 0x211, out: 0x18ef0000
+lwl :: offset: 0x212, out: 0xffffffff9b18ef00
+lwl :: offset: 0x213, out: 0x249b18ef
+lwl :: offset: 0x214, out: 0x44000000
+lwl :: offset: 0x215, out: 0x5440000
+lwl :: offset: 0x216, out: 0xffffffffa9054400
+lwl :: offset: 0x217, out: 0xffffffff94a90544
+lwl :: offset: 0x218, out: 0xffffffffde000000
+lwl :: offset: 0x219, out: 0xfffffffffcde0000
+lwl :: offset: 0x21a, out: 0x56fcde00
+lwl :: offset: 0x21b, out: 0x5b56fcde
+lwl :: offset: 0x21c, out: 0xffffffffb5000000
+lwl :: offset: 0x21d, out: 0xffffffff9fb50000
+lwl :: offset: 0x21e, out: 0x519fb500
+lwl :: offset: 0x21f, out: 0xfffffffff9519fb5
+lwl :: offset: 0x220, out: 0xffffffff9b000000
+lwl :: offset: 0x221, out: 0x319b0000
+lwl :: offset: 0x222, out: 0x68319b00
+lwl :: offset: 0x223, out: 0x468319b
+lwl :: offset: 0x224, out: 0x20000000
+lwl :: offset: 0x225, out: 0xfffffffff8200000
+lwl :: offset: 0x226, out: 0xffffffffdaf82000
+lwl :: offset: 0x227, out: 0xffffffff81daf820
+lwl :: offset: 0x228, out: 0xffffffffec000000
+lwl :: offset: 0x229, out: 0xfffffffff2ec0000
+lwl :: offset: 0x22a, out: 0x25f2ec00
+lwl :: offset: 0x22b, out: 0x5725f2ec
+lwl :: offset: 0x22c, out: 0x5a000000
+lwl :: offset: 0x22d, out: 0xffffffffca5a0000
+lwl :: offset: 0x22e, out: 0x61ca5a00
+lwl :: offset: 0x22f, out: 0xffffffff8c61ca5a
+lwl :: offset: 0x230, out: 0xffffffffbf000000
+lwl :: offset: 0x231, out: 0xffffffffc8bf0000
+lwl :: offset: 0x232, out: 0x5dc8bf00
+lwl :: offset: 0x233, out: 0xffffffffc25dc8bf
+lwl :: offset: 0x234, out: 0xffffffffdd000000
+lwl :: offset: 0x235, out: 0xffffffffa6dd0000
+lwl :: offset: 0x236, out: 0xffffffff95a6dd00
+lwl :: offset: 0x237, out: 0xffffffff8b95a6dd
+lwl :: offset: 0x238, out: 0x2f000000
+lwl :: offset: 0x239, out: 0x162f0000
+lwl :: offset: 0x23a, out: 0xffffffffc6162f00
+lwl :: offset: 0x23b, out: 0xffffffffdac6162f
+lwl :: offset: 0x23c, out: 0x51000000
+lwl :: offset: 0x23d, out: 0xffffffffe7510000
+lwl :: offset: 0x23e, out: 0xce75100
+lwl :: offset: 0x23f, out: 0x300ce751
+lwl :: offset: 0x240, out: 0x50000000
+lwl :: offset: 0x241, out: 0xffffffffa8500000
+lwl :: offset: 0x242, out: 0x52a85000
+lwl :: offset: 0x243, out: 0xffffffffba52a850
+lwl :: offset: 0x244, out: 0xfffffffff3000000
+lwl :: offset: 0x245, out: 0xfffffffffdf30000
+lwl :: offset: 0x246, out: 0x78fdf300
+lwl :: offset: 0x247, out: 0x6778fdf3
+lwl :: offset: 0x248, out: 0xffffffff9f000000
+lwl :: offset: 0x249, out: 0x479f0000
+lwl :: offset: 0x24a, out: 0x78479f00
+lwl :: offset: 0x24b, out: 0xffffffffda78479f
+lwl :: offset: 0x24c, out: 0xfffffffff7000000
+lwl :: offset: 0x24d, out: 0xffffffffb1f70000
+lwl :: offset: 0x24e, out: 0xb1f700
+lwl :: offset: 0x24f, out: 0xffffffffad00b1f7
+lwl :: offset: 0x250, out: 0xffffffff8a000000
+lwl :: offset: 0x251, out: 0xffffffffd98a0000
+lwl :: offset: 0x252, out: 0xffffffffb6d98a00
+lwl :: offset: 0x253, out: 0xffffffffa6b6d98a
+lwl :: offset: 0x254, out: 0x68000000
+lwl :: offset: 0x255, out: 0x41680000
+lwl :: offset: 0x256, out: 0xffffffffd4416800
+lwl :: offset: 0x257, out: 0x8d44168
+lwl :: offset: 0x258, out: 0x13000000
+lwl :: offset: 0x259, out: 0x44130000
+lwl :: offset: 0x25a, out: 0x63441300
+lwl :: offset: 0x25b, out: 0xffffffffce634413
+lwl :: offset: 0x25c, out: 0x1d000000
+lwl :: offset: 0x25d, out: 0x381d0000
+lwl :: offset: 0x25e, out: 0x18381d00
+lwl :: offset: 0x25f, out: 0xfffffffff518381d
+lwl :: offset: 0x260, out: 0xffffffffc0000000
+lwl :: offset: 0x261, out: 0x5fc00000
+lwl :: offset: 0x262, out: 0x255fc000
+lwl :: offset: 0x263, out: 0xffffffffe5255fc0
+lwl :: offset: 0x264, out: 0x3f000000
+lwl :: offset: 0x265, out: 0x7f3f0000
+lwl :: offset: 0x266, out: 0x627f3f00
+lwl :: offset: 0x267, out: 0xffffffffe4627f3f
+lwl :: offset: 0x268, out: 0x28000000
+lwl :: offset: 0x269, out: 0x1f280000
+lwl :: offset: 0x26a, out: 0x321f2800
+lwl :: offset: 0x26b, out: 0x76321f28
+lwl :: offset: 0x26c, out: 0xffffffffe1000000
+lwl :: offset: 0x26d, out: 0xffffffff92e10000
+lwl :: offset: 0x26e, out: 0xffffffffd392e100
+lwl :: offset: 0x26f, out: 0xffffffffccd392e1
+lwl :: offset: 0x270, out: 0xffffffff8f000000
+lwl :: offset: 0x271, out: 0xfffffffffd8f0000
+lwl :: offset: 0x272, out: 0x18fd8f00
+lwl :: offset: 0x273, out: 0x4018fd8f
+lwl :: offset: 0x274, out: 0xffffffff94000000
+lwl :: offset: 0x275, out: 0x64940000
+lwl :: offset: 0x276, out: 0xffffffff94649400
+lwl :: offset: 0x277, out: 0xffffffff82946494
+lwl :: offset: 0x278, out: 0xffffffffe5000000
+lwl :: offset: 0x279, out: 0xfffffffff0e50000
+lwl :: offset: 0x27a, out: 0xffffffffe8f0e500
+lwl :: offset: 0x27b, out: 0x52e8f0e5
+lwl :: offset: 0x27c, out: 0x40000000
+lwl :: offset: 0x27d, out: 0x20400000
+lwl :: offset: 0x27e, out: 0xffffffffd3204000
+lwl :: offset: 0x27f, out: 0x15d32040
+lwl :: offset: 0x280, out: 0x44000000
+lwl :: offset: 0x281, out: 0xfffffffff3440000
+lwl :: offset: 0x282, out: 0xff34400
+lwl :: offset: 0x283, out: 0xffffffff880ff344
+lwl :: offset: 0x284, out: 0xffffffffd2000000
+lwl :: offset: 0x285, out: 0xffffffff83d20000
+lwl :: offset: 0x286, out: 0xffffffffaf83d200
+lwl :: offset: 0x287, out: 0x7caf83d2
+lwl :: offset: 0x288, out: 0xffffffffd7000000
+lwl :: offset: 0x289, out: 0xffffffffefd70000
+lwl :: offset: 0x28a, out: 0x7defd700
+lwl :: offset: 0x28b, out: 0x747defd7
+lwl :: offset: 0x28c, out: 0x4c000000
+lwl :: offset: 0x28d, out: 0xffffffffa04c0000
+lwl :: offset: 0x28e, out: 0x56a04c00
+lwl :: offset: 0x28f, out: 0xfffffffff156a04c
+lwl :: offset: 0x290, out: 0x10000000
+lwl :: offset: 0x291, out: 0xffffffffd7100000
+lwl :: offset: 0x292, out: 0x31d71000
+lwl :: offset: 0x293, out: 0xf31d710
+lwl :: offset: 0x294, out: 0x1c000000
+lwl :: offset: 0x295, out: 0x601c0000
+lwl :: offset: 0x296, out: 0xffffffffe2601c00
+lwl :: offset: 0x297, out: 0xffffffff93e2601c
+lwl :: offset: 0x298, out: 0x33000000
+lwl :: offset: 0x299, out: 0xffffffffd9330000
+lwl :: offset: 0x29a, out: 0x1cd93300
+lwl :: offset: 0x29b, out: 0x131cd933
+lwl :: offset: 0x29c, out: 0x79000000
+lwl :: offset: 0x29d, out: 0xffffffffa6790000
+lwl :: offset: 0x29e, out: 0xffffffffe1a67900
+lwl :: offset: 0x29f, out: 0xffffffffe1e1a679
+lwl :: offset: 0x2a0, out: 0x27000000
+lwl :: offset: 0x2a1, out: 0xffffffffa4270000
+lwl :: offset: 0x2a2, out: 0x6fa42700
+lwl :: offset: 0x2a3, out: 0xffffffffa76fa427
+lwl :: offset: 0x2a4, out: 0x75000000
+lwl :: offset: 0x2a5, out: 0x6b750000
+lwl :: offset: 0x2a6, out: 0x296b7500
+lwl :: offset: 0x2a7, out: 0x24296b75
+lwl :: offset: 0x2a8, out: 0x6a000000
+lwl :: offset: 0x2a9, out: 0xffffffffe56a0000
+lwl :: offset: 0x2aa, out: 0xffffffff9ee56a00
+lwl :: offset: 0x2ab, out: 0x139ee56a
+lwl :: offset: 0x2ac, out: 0xffffffffd2000000
+lwl :: offset: 0x2ad, out: 0xffffffffe2d20000
+lwl :: offset: 0x2ae, out: 0xffffffff96e2d200
+lwl :: offset: 0x2af, out: 0xffffffffd296e2d2
+lwl :: offset: 0x2b0, out: 0xffffffffc0000000
+lwl :: offset: 0x2b1, out: 0xffffffffa5c00000
+lwl :: offset: 0x2b2, out: 0xffffffffc2a5c000
+lwl :: offset: 0x2b3, out: 0x6dc2a5c0
+lwl :: offset: 0x2b4, out: 0x7f000000
+lwl :: offset: 0x2b5, out: 0x447f0000
+lwl :: offset: 0x2b6, out: 0xffffffff82447f00
+lwl :: offset: 0x2b7, out: 0x5a82447f
+lwl :: offset: 0x2b8, out: 0x68000000
+lwl :: offset: 0x2b9, out: 0xffffffffc1680000
+lwl :: offset: 0x2ba, out: 0x7dc16800
+lwl :: offset: 0x2bb, out: 0xffffffffc07dc168
+lwl :: offset: 0x2bc, out: 0xffffffff80000000
+lwl :: offset: 0x2bd, out: 0xffffffff9e800000
+lwl :: offset: 0x2be, out: 0xffffffffc89e8000
+lwl :: offset: 0x2bf, out: 0x76c89e80
+lwl :: offset: 0x2c0, out: 0xffffffff8f000000
+lwl :: offset: 0x2c1, out: 0x348f0000
+lwl :: offset: 0x2c2, out: 0xfffffffffe348f00
+lwl :: offset: 0x2c3, out: 0x4bfe348f
+lwl :: offset: 0x2c4, out: 0x45000000
+lwl :: offset: 0x2c5, out: 0xffffffffc3450000
+lwl :: offset: 0x2c6, out: 0xdc34500
+lwl :: offset: 0x2c7, out: 0x70dc345
+lwl :: offset: 0x2c8, out: 0x1b000000
+lwl :: offset: 0x2c9, out: 0x241b0000
+lwl :: offset: 0x2ca, out: 0x6d241b00
+lwl :: offset: 0x2cb, out: 0xffffffffdd6d241b
+lwl :: offset: 0x2cc, out: 0x23000000
+lwl :: offset: 0x2cd, out: 0x71230000
+lwl :: offset: 0x2ce, out: 0xffffffffdc712300
+lwl :: offset: 0x2cf, out: 0xffffffffbddc7123
+lwl :: offset: 0x2d0, out: 0xffffffffbe000000
+lwl :: offset: 0x2d1, out: 0xffffffffcebe0000
+lwl :: offset: 0x2d2, out: 0xffffffff9fcebe00
+lwl :: offset: 0x2d3, out: 0xffffffffa59fcebe
+lwl :: offset: 0x2d4, out: 0x27000000
+lwl :: offset: 0x2d5, out: 0xffffffffb7270000
+lwl :: offset: 0x2d6, out: 0x2fb72700
+lwl :: offset: 0x2d7, out: 0xfffffffff62fb727
+lwl :: offset: 0x2d8, out: 0xfffffffffb000000
+lwl :: offset: 0x2d9, out: 0x46fb0000
+lwl :: offset: 0x2da, out: 0xffffffff9f46fb00
+lwl :: offset: 0x2db, out: 0xf9f46fb
+lwl :: offset: 0x2dc, out: 0xffffffffe9000000
+lwl :: offset: 0x2dd, out: 0x27e90000
+lwl :: offset: 0x2de, out: 0xffffffff9f27e900
+lwl :: offset: 0x2df, out: 0x109f27e9
+lwl :: offset: 0x2e0, out: 0xffffffffd7000000
+lwl :: offset: 0x2e1, out: 0xffffffff99d70000
+lwl :: offset: 0x2e2, out: 0xffffffffd199d700
+lwl :: offset: 0x2e3, out: 0xffffffffafd199d7
+lwl :: offset: 0x2e4, out: 0xffffffffa9000000
+lwl :: offset: 0x2e5, out: 0xffffffffdaa90000
+lwl :: offset: 0x2e6, out: 0x63daa900
+lwl :: offset: 0x2e7, out: 0x3f63daa9
+lwl :: offset: 0x2e8, out: 0xfffffffff2000000
+lwl :: offset: 0x2e9, out: 0xffffffff84f20000
+lwl :: offset: 0x2ea, out: 0xffffffffd484f200
+lwl :: offset: 0x2eb, out: 0xffffffffa3d484f2
+lwl :: offset: 0x2ec, out: 0x2e000000
+lwl :: offset: 0x2ed, out: 0x312e0000
+lwl :: offset: 0x2ee, out: 0xffffffffcb312e00
+lwl :: offset: 0x2ef, out: 0xffffffffdbcb312e
+lwl :: offset: 0x2f0, out: 0xffffffffc6000000
+lwl :: offset: 0x2f1, out: 0xffffffffe4c60000
+lwl :: offset: 0x2f2, out: 0x4fe4c600
+lwl :: offset: 0x2f3, out: 0xffffffffda4fe4c6
+lwl :: offset: 0x2f4, out: 0xffffffffaa000000
+lwl :: offset: 0x2f5, out: 0x3faa0000
+lwl :: offset: 0x2f6, out: 0x353faa00
+lwl :: offset: 0x2f7, out: 0x1f353faa
+lwl :: offset: 0x2f8, out: 0x60000000
+lwl :: offset: 0x2f9, out: 0xffffffffc2600000
+lwl :: offset: 0x2fa, out: 0x50c26000
+lwl :: offset: 0x2fb, out: 0x7150c260
+lwl :: offset: 0x2fc, out: 0xffffffffe0000000
+lwl :: offset: 0x2fd, out: 0x6ee00000
+lwl :: offset: 0x2fe, out: 0x86ee000
+lwl :: offset: 0x2ff, out: 0xffffffff8b086ee0
+lwl :: offset: 0x300, out: 0x25000000
+lwl :: offset: 0x301, out: 0x7f250000
+lwl :: offset: 0x302, out: 0x257f2500
+lwl :: offset: 0x303, out: 0xffffffffd9257f25
+lwl :: offset: 0x304, out: 0xffffffffd5000000
+lwl :: offset: 0x305, out: 0x50d50000
+lwl :: offset: 0x306, out: 0x4750d500
+lwl :: offset: 0x307, out: 0xffffffffe54750d5
+lwl :: offset: 0x308, out: 0x5b000000
+lwl :: offset: 0x309, out: 0xffffffffdb5b0000
+lwl :: offset: 0x30a, out: 0xffffffffa6db5b00
+lwl :: offset: 0x30b, out: 0xffffffffe9a6db5b
+lwl :: offset: 0x30c, out: 0x5f000000
+lwl :: offset: 0x30d, out: 0x625f0000
+lwl :: offset: 0x30e, out: 0x69625f00
+lwl :: offset: 0x30f, out: 0x3d69625f
+lwl :: offset: 0x310, out: 0xffffffff96000000
+lwl :: offset: 0x311, out: 0xffffffffac960000
+lwl :: offset: 0x312, out: 0x40ac9600
+lwl :: offset: 0x313, out: 0x4340ac96
+lwl :: offset: 0x314, out: 0x42000000
+lwl :: offset: 0x315, out: 0xffffffffe0420000
+lwl :: offset: 0x316, out: 0xffffffffa3e04200
+lwl :: offset: 0x317, out: 0x70a3e042
+lwl :: offset: 0x318, out: 0x1e000000
+lwl :: offset: 0x319, out: 0x171e0000
+lwl :: offset: 0x31a, out: 0xffffffff80171e00
+lwl :: offset: 0x31b, out: 0x6980171e
+lwl :: offset: 0x31c, out: 0x3000000
+lwl :: offset: 0x31d, out: 0xffffffff8f030000
+lwl :: offset: 0x31e, out: 0x478f0300
+lwl :: offset: 0x31f, out: 0xffffffffc0478f03
+lwl :: offset: 0x320, out: 0xffffffffe3000000
+lwl :: offset: 0x321, out: 0x29e30000
+lwl :: offset: 0x322, out: 0xfffffffff929e300
+lwl :: offset: 0x323, out: 0x1cf929e3
+lwl :: offset: 0x324, out: 0xffffffffa5000000
+lwl :: offset: 0x325, out: 0x39a50000
+lwl :: offset: 0x326, out: 0xffffffffe839a500
+lwl :: offset: 0x327, out: 0x3ce839a5
+lwl :: offset: 0x328, out: 0x58000000
+lwl :: offset: 0x329, out: 0xffffffff89580000
+lwl :: offset: 0x32a, out: 0xffffffffb6895800
+lwl :: offset: 0x32b, out: 0x5eb68958
+lwl :: offset: 0x32c, out: 0xffffffff89000000
+lwl :: offset: 0x32d, out: 0xfffffffffa890000
+lwl :: offset: 0x32e, out: 0xfffffffffbfa8900
+lwl :: offset: 0x32f, out: 0xffffffffe2fbfa89
+lwl :: offset: 0x330, out: 0xffffffffb7000000
+lwl :: offset: 0x331, out: 0x25b70000
+lwl :: offset: 0x332, out: 0xffffffffed25b700
+lwl :: offset: 0x333, out: 0x76ed25b7
+lwl :: offset: 0x334, out: 0x5d000000
+lwl :: offset: 0x335, out: 0xffffffffb05d0000
+lwl :: offset: 0x336, out: 0x4bb05d00
+lwl :: offset: 0x337, out: 0xffffffffd24bb05d
+lwl :: offset: 0x338, out: 0xfffffffff1000000
+lwl :: offset: 0x339, out: 0x12f10000
+lwl :: offset: 0x33a, out: 0x312f100
+lwl :: offset: 0x33b, out: 0x170312f1
+lwl :: offset: 0x33c, out: 0x2c000000
+lwl :: offset: 0x33d, out: 0x682c0000
+lwl :: offset: 0x33e, out: 0xffffffffb9682c00
+lwl :: offset: 0x33f, out: 0xeb9682c
+lwl :: offset: 0x340, out: 0xd000000
+lwl :: offset: 0x341, out: 0x1d0d0000
+lwl :: offset: 0x342, out: 0x301d0d00
+lwl :: offset: 0x343, out: 0xffffffffdd301d0d
+lwl :: offset: 0x344, out: 0xffffffff80000000
+lwl :: offset: 0x345, out: 0x52800000
+lwl :: offset: 0x346, out: 0x78528000
+lwl :: offset: 0x347, out: 0xffffffff84785280
+lwl :: offset: 0x348, out: 0xffffffffef000000
+lwl :: offset: 0x349, out: 0xffffffffd6ef0000
+lwl :: offset: 0x34a, out: 0xffffffff8fd6ef00
+lwl :: offset: 0x34b, out: 0x1f8fd6ef
+lwl :: offset: 0x34c, out: 0xffffffffaa000000
+lwl :: offset: 0x34d, out: 0x77aa0000
+lwl :: offset: 0x34e, out: 0xffffffff9c77aa00
+lwl :: offset: 0x34f, out: 0x179c77aa
+lwl :: offset: 0x350, out: 0x6d000000
+lwl :: offset: 0x351, out: 0x436d0000
+lwl :: offset: 0x352, out: 0xffffffff98436d00
+lwl :: offset: 0x353, out: 0x2998436d
+lwl :: offset: 0x354, out: 0xffffffffed000000
+lwl :: offset: 0x355, out: 0x4ced0000
+lwl :: offset: 0x356, out: 0x444ced00
+lwl :: offset: 0x357, out: 0x26444ced
+lwl :: offset: 0x358, out: 0x8000000
+lwl :: offset: 0x359, out: 0xffffffffa7080000
+lwl :: offset: 0x35a, out: 0xffffffff8ca70800
+lwl :: offset: 0x35b, out: 0xffffffffd58ca708
+lwl :: offset: 0x35c, out: 0xffffffff9d000000
+lwl :: offset: 0x35d, out: 0x5c9d0000
+lwl :: offset: 0x35e, out: 0x175c9d00
+lwl :: offset: 0x35f, out: 0x7175c9d
+lwl :: offset: 0x360, out: 0xffffffff87000000
+lwl :: offset: 0x361, out: 0x32870000
+lwl :: offset: 0x362, out: 0xffffffff83328700
+lwl :: offset: 0x363, out: 0x55833287
+lwl :: offset: 0x364, out: 0x10000000
+lwl :: offset: 0x365, out: 0x6100000
+lwl :: offset: 0x366, out: 0x3d061000
+lwl :: offset: 0x367, out: 0x663d0610
+lwl :: offset: 0x368, out: 0xffffffff8b000000
+lwl :: offset: 0x369, out: 0xffffffffd68b0000
+lwl :: offset: 0x36a, out: 0x51d68b00
+lwl :: offset: 0x36b, out: 0xffffffff8951d68b
+lwl :: offset: 0x36c, out: 0x48000000
+lwl :: offset: 0x36d, out: 0xffffffffd0480000
+lwl :: offset: 0x36e, out: 0x7dd04800
+lwl :: offset: 0x36f, out: 0xffffffffab7dd048
+lwl :: offset: 0x370, out: 0x1b000000
+lwl :: offset: 0x371, out: 0x471b0000
+lwl :: offset: 0x372, out: 0xffffffff82471b00
+lwl :: offset: 0x373, out: 0xe82471b
+lwl :: offset: 0x374, out: 0x67000000
+lwl :: offset: 0x375, out: 0x23670000
+lwl :: offset: 0x376, out: 0xffffffff98236700
+lwl :: offset: 0x377, out: 0xfffffffff6982367
+lwl :: offset: 0x378, out: 0xffffffffb2000000
+lwl :: offset: 0x379, out: 0x26b20000
+lwl :: offset: 0x37a, out: 0xffffffff8d26b200
+lwl :: offset: 0x37b, out: 0xffffffffd98d26b2
+lwl :: offset: 0x37c, out: 0x59000000
+lwl :: offset: 0x37d, out: 0x6c590000
+lwl :: offset: 0x37e, out: 0xffffffff886c5900
+lwl :: offset: 0x37f, out: 0x36886c59
+lwl :: offset: 0x380, out: 0x79000000
+lwl :: offset: 0x381, out: 0xffffffffe4790000
+lwl :: offset: 0x382, out: 0x2be47900
+lwl :: offset: 0x383, out: 0xffffffffd32be479
+lwl :: offset: 0x384, out: 0xffffffffdb000000
+lwl :: offset: 0x385, out: 0x4bdb0000
+lwl :: offset: 0x386, out: 0xffffffffca4bdb00
+lwl :: offset: 0x387, out: 0x9ca4bdb
+lwl :: offset: 0x388, out: 0x1f000000
+lwl :: offset: 0x389, out: 0xffffffffe61f0000
+lwl :: offset: 0x38a, out: 0x62e61f00
+lwl :: offset: 0x38b, out: 0xffffffff9962e61f
+lwl :: offset: 0x38c, out: 0x1d000000
+lwl :: offset: 0x38d, out: 0x7d1d0000
+lwl :: offset: 0x38e, out: 0x5d7d1d00
+lwl :: offset: 0x38f, out: 0xfffffffffd5d7d1d
+lwl :: offset: 0x390, out: 0xffffffffdf000000
+lwl :: offset: 0x391, out: 0x74df0000
+lwl :: offset: 0x392, out: 0xffffffffd374df00
+lwl :: offset: 0x393, out: 0xffffffffcad374df
+lwl :: offset: 0x394, out: 0x3e000000
+lwl :: offset: 0x395, out: 0x553e0000
+lwl :: offset: 0x396, out: 0x46553e00
+lwl :: offset: 0x397, out: 0x3f46553e
+lwl :: offset: 0x398, out: 0xffffffffa7000000
+lwl :: offset: 0x399, out: 0xfffffffff2a70000
+lwl :: offset: 0x39a, out: 0xffffffffedf2a700
+lwl :: offset: 0x39b, out: 0x3eedf2a7
+lwl :: offset: 0x39c, out: 0x7d000000
+lwl :: offset: 0x39d, out: 0xffffffffb97d0000
+lwl :: offset: 0x39e, out: 0xffffffff9ab97d00
+lwl :: offset: 0x39f, out: 0x2e9ab97d
+lwl :: offset: 0x3a0, out: 0x33000000
+lwl :: offset: 0x3a1, out: 0xffffffff9f330000
+lwl :: offset: 0x3a2, out: 0xc9f3300
+lwl :: offset: 0x3a3, out: 0x3c0c9f33
+lwl :: offset: 0x3a4, out: 0xfffffffffa000000
+lwl :: offset: 0x3a5, out: 0xfffffffff7fa0000
+lwl :: offset: 0x3a6, out: 0xffffffffa6f7fa00
+lwl :: offset: 0x3a7, out: 0x36a6f7fa
+lwl :: offset: 0x3a8, out: 0xffffffffdc000000
+lwl :: offset: 0x3a9, out: 0xffffffffc9dc0000
+lwl :: offset: 0x3aa, out: 0x5ec9dc00
+lwl :: offset: 0x3ab, out: 0x155ec9dc
+lwl :: offset: 0x3ac, out: 0xffffffffe3000000
+lwl :: offset: 0x3ad, out: 0x38e30000
+lwl :: offset: 0x3ae, out: 0xffffffffb938e300
+lwl :: offset: 0x3af, out: 0xffffffff8bb938e3
+lwl :: offset: 0x3b0, out: 0x6000000
+lwl :: offset: 0x3b1, out: 0xffffffff82060000
+lwl :: offset: 0x3b2, out: 0x47820600
+lwl :: offset: 0x3b3, out: 0x19478206
+lwl :: offset: 0x3b4, out: 0xffffffffc4000000
+lwl :: offset: 0x3b5, out: 0x25c40000
+lwl :: offset: 0x3b6, out: 0xffffffffdf25c400
+lwl :: offset: 0x3b7, out: 0xffffffffd2df25c4
+lwl :: offset: 0x3b8, out: 0x25000000
+lwl :: offset: 0x3b9, out: 0x18250000
+lwl :: offset: 0x3ba, out: 0x32182500
+lwl :: offset: 0x3bb, out: 0xffffffffeb321825
+lwl :: offset: 0x3bc, out: 0x27000000
+lwl :: offset: 0x3bd, out: 0xffffffffbf270000
+lwl :: offset: 0x3be, out: 0x65bf2700
+lwl :: offset: 0x3bf, out: 0xffffffffbc65bf27
+lwl :: offset: 0x3c0, out: 0xffffffffda000000
+lwl :: offset: 0x3c1, out: 0xffffffffc7da0000
+lwl :: offset: 0x3c2, out: 0xffffffff8bc7da00
+lwl :: offset: 0x3c3, out: 0x7a8bc7da
+lwl :: offset: 0x3c4, out: 0xffffffffe6000000
+lwl :: offset: 0x3c5, out: 0xffffffff8fe60000
+lwl :: offset: 0x3c6, out: 0xffffffffb08fe600
+lwl :: offset: 0x3c7, out: 0xffffffffa8b08fe6
+lwl :: offset: 0x3c8, out: 0xffffffffe8000000
+lwl :: offset: 0x3c9, out: 0xffffffffcde80000
+lwl :: offset: 0x3ca, out: 0xffffffffdfcde800
+lwl :: offset: 0x3cb, out: 0xfffffffff8dfcde8
+lwl :: offset: 0x3cc, out: 0xffffffffca000000
+lwl :: offset: 0x3cd, out: 0x5bca0000
+lwl :: offset: 0x3ce, out: 0x2b5bca00
+lwl :: offset: 0x3cf, out: 0xffffffff852b5bca
+lwl :: offset: 0x3d0, out: 0x69000000
+lwl :: offset: 0x3d1, out: 0xffffffff92690000
+lwl :: offset: 0x3d2, out: 0xffffffffa9926900
+lwl :: offset: 0x3d3, out: 0x59a99269
+lwl :: offset: 0x3d4, out: 0xffffffff9b000000
+lwl :: offset: 0x3d5, out: 0xffffffff909b0000
+lwl :: offset: 0x3d6, out: 0x78909b00
+lwl :: offset: 0x3d7, out: 0x478909b
+lwl :: offset: 0x3d8, out: 0xf000000
+lwl :: offset: 0x3d9, out: 0x360f0000
+lwl :: offset: 0x3da, out: 0x57360f00
+lwl :: offset: 0x3db, out: 0x7857360f
+lwl :: offset: 0x3dc, out: 0xffffffffc8000000
+lwl :: offset: 0x3dd, out: 0x1cc80000
+lwl :: offset: 0x3de, out: 0xffffffffb31cc800
+lwl :: offset: 0x3df, out: 0xffffffffbfb31cc8
+lwl :: offset: 0x3e0, out: 0xffffffffa2000000
+lwl :: offset: 0x3e1, out: 0xffffffffe9a20000
+lwl :: offset: 0x3e2, out: 0xffffffff89e9a200
+lwl :: offset: 0x3e3, out: 0x7f89e9a2
+lwl :: offset: 0x3e4, out: 0x5e000000
+lwl :: offset: 0x3e5, out: 0xffffffffed5e0000
+lwl :: offset: 0x3e6, out: 0x65ed5e00
+lwl :: offset: 0x3e7, out: 0xffffffffb665ed5e
+lwl :: offset: 0x3e8, out: 0xffffffffe4000000
+lwl :: offset: 0x3e9, out: 0xffffffffd5e40000
+lwl :: offset: 0x3ea, out: 0xffffffffa8d5e400
+lwl :: offset: 0x3eb, out: 0xffffffffb7a8d5e4
+lwl :: offset: 0x3ec, out: 0x74000000
+lwl :: offset: 0x3ed, out: 0xffffffff94740000
+lwl :: offset: 0x3ee, out: 0xffffffffda947400
+lwl :: offset: 0x3ef, out: 0x15da9474
+lwl :: offset: 0x3f0, out: 0xffffffffcc000000
+lwl :: offset: 0x3f1, out: 0xfcc0000
+lwl :: offset: 0x3f2, out: 0xfffffffff90fcc00
+lwl :: offset: 0x3f3, out: 0x2af90fcc
+lwl :: offset: 0x3f4, out: 0x7d000000
+lwl :: offset: 0x3f5, out: 0x537d0000
+lwl :: offset: 0x3f6, out: 0xffffffffb3537d00
+lwl :: offset: 0x3f7, out: 0xfffffffff6b3537d
+lwl :: offset: 0x3f8, out: 0xffffffff97000000
+lwl :: offset: 0x3f9, out: 0x18970000
+lwl :: offset: 0x3fa, out: 0xffffffff96189700
+lwl :: offset: 0x3fb, out: 0x2b961897
+lwl :: offset: 0x3fc, out: 0xfffffffffe000000
+lwl :: offset: 0x3fd, out: 0x7cfe0000
+lwl :: offset: 0x3fe, out: 0x3d7cfe00
+lwl :: offset: 0x3ff, out: 0x223d7cfe
+lwl :: offset: 0x400, out: 0x4b000000
+lwl :: offset: 0x401, out: 0x4a4b0000
+lwl :: offset: 0x402, out: 0x734a4b00
+lwl :: offset: 0x403, out: 0x33734a4b
+lwl :: offset: 0x404, out: 0xfffffffff5000000
+lwl :: offset: 0x405, out: 0x34f50000
+lwl :: offset: 0x406, out: 0xb34f500
+lwl :: offset: 0x407, out: 0x420b34f5
+lwl :: offset: 0x408, out: 0x3c000000
+lwl :: offset: 0x409, out: 0xffffffffb33c0000
+lwl :: offset: 0x40a, out: 0x46b33c00
+lwl :: offset: 0x40b, out: 0xffffffffdd46b33c
+lwl :: offset: 0x40c, out: 0xffffffff8d000000
+lwl :: offset: 0x40d, out: 0xffffffff8c8d0000
+lwl :: offset: 0x40e, out: 0x7c8c8d00
+lwl :: offset: 0x40f, out: 0xffffffff897c8c8d
+lwl :: offset: 0x410, out: 0xffffffffd9000000
+lwl :: offset: 0x411, out: 0xffffffffccd90000
+lwl :: offset: 0x412, out: 0xffffffff92ccd900
+lwl :: offset: 0x413, out: 0xffffffffe392ccd9
+lwl :: offset: 0x414, out: 0x45000000
+lwl :: offset: 0x415, out: 0x74450000
+lwl :: offset: 0x416, out: 0x38744500
+lwl :: offset: 0x417, out: 0x7a387445
+lwl :: offset: 0x418, out: 0xffffffffc9000000
+lwl :: offset: 0x419, out: 0xc90000
+lwl :: offset: 0x41a, out: 0xc900
+lwl :: offset: 0x41b, out: 0xffffffffd80000c9
+lwl :: offset: 0x41c, out: 0xffffffffb1000000
+lwl :: offset: 0x41d, out: 0x29b10000
+lwl :: offset: 0x41e, out: 0x2f29b100
+lwl :: offset: 0x41f, out: 0x512f29b1
+lwl :: offset: 0x420, out: 0xa000000
+lwl :: offset: 0x421, out: 0x20a0000
+lwl :: offset: 0x422, out: 0xffffffffad020a00
+lwl :: offset: 0x423, out: 0x3dad020a
+lwl :: offset: 0x424, out: 0xffffffffc5000000
+lwl :: offset: 0x425, out: 0xffffffffd5c50000
+lwl :: offset: 0x426, out: 0xffffffffded5c500
+lwl :: offset: 0x427, out: 0xffffffffeaded5c5
+lwl :: offset: 0x428, out: 0x5b000000
+lwl :: offset: 0x429, out: 0xffffffffa35b0000
+lwl :: offset: 0x42a, out: 0xffffffffeea35b00
+lwl :: offset: 0x42b, out: 0x31eea35b
+lwl :: offset: 0x42c, out: 0xffffffffd7000000
+lwl :: offset: 0x42d, out: 0x29d70000
+lwl :: offset: 0x42e, out: 0x6229d700
+lwl :: offset: 0x42f, out: 0xffffffff8a6229d7
+lwl :: offset: 0x430, out: 0x49000000
+lwl :: offset: 0x431, out: 0x56490000
+lwl :: offset: 0x432, out: 0xffffffff98564900
+lwl :: offset: 0x433, out: 0x48985649
+lwl :: offset: 0x434, out: 0xffffffff9e000000
+lwl :: offset: 0x435, out: 0x3f9e0000
+lwl :: offset: 0x436, out: 0x3c3f9e00
+lwl :: offset: 0x437, out: 0x2c3c3f9e
+lwl :: offset: 0x438, out: 0x77000000
+lwl :: offset: 0x439, out: 0xb770000
+lwl :: offset: 0x43a, out: 0xffffffff9c0b7700
+lwl :: offset: 0x43b, out: 0xffffffffdc9c0b77
+lwl :: offset: 0x43c, out: 0x78000000
+lwl :: offset: 0x43d, out: 0x1e780000
+lwl :: offset: 0x43e, out: 0xfffffffff61e7800
+lwl :: offset: 0x43f, out: 0x7ff61e78
+lwl :: offset: 0x440, out: 0xffffffffec000000
+lwl :: offset: 0x441, out: 0x68ec0000
+lwl :: offset: 0x442, out: 0x5e68ec00
+lwl :: offset: 0x443, out: 0x1d5e68ec
+lwl :: offset: 0x444, out: 0xffffffffe0000000
+lwl :: offset: 0x445, out: 0xffffffffb0e00000
+lwl :: offset: 0x446, out: 0xffffffff99b0e000
+lwl :: offset: 0x447, out: 0x2299b0e0
+lwl :: offset: 0x448, out: 0x25000000
+lwl :: offset: 0x449, out: 0x6e250000
+lwl :: offset: 0x44a, out: 0xc6e2500
+lwl :: offset: 0x44b, out: 0x3d0c6e25
+lwl :: offset: 0x44c, out: 0x67000000
+lwl :: offset: 0x44d, out: 0x4670000
+lwl :: offset: 0x44e, out: 0x3b046700
+lwl :: offset: 0x44f, out: 0x7c3b0467
+lwl :: offset: 0x450, out: 0xffffffff87000000
+lwl :: offset: 0x451, out: 0x65870000
+lwl :: offset: 0x452, out: 0xfffffffffb658700
+lwl :: offset: 0x453, out: 0xffffffffe7fb6587
+lwl :: offset: 0x454, out: 0xffffffffc1000000
+lwl :: offset: 0x455, out: 0x17c10000
+lwl :: offset: 0x456, out: 0x4e17c100
+lwl :: offset: 0x457, out: 0x164e17c1
+lwl :: offset: 0x458, out: 0xb000000
+lwl :: offset: 0x459, out: 0xffffffff950b0000
+lwl :: offset: 0x45a, out: 0xffffffffd4950b00
+lwl :: offset: 0x45b, out: 0x56d4950b
+lwl :: offset: 0x45c, out: 0xffffffff8b000000
+lwl :: offset: 0x45d, out: 0xffffffffa28b0000
+lwl :: offset: 0x45e, out: 0x4ca28b00
+lwl :: offset: 0x45f, out: 0xfffffffffa4ca28b
+lwl :: offset: 0x460, out: 0xffffffff8a000000
+lwl :: offset: 0x461, out: 0xffffffffa08a0000
+lwl :: offset: 0x462, out: 0x7fa08a00
+lwl :: offset: 0x463, out: 0xffffffffbe7fa08a
+lwl :: offset: 0x464, out: 0x14000000
+lwl :: offset: 0x465, out: 0xffffffffa3140000
+lwl :: offset: 0x466, out: 0xffffffffe9a31400
+lwl :: offset: 0x467, out: 0xffffffffe5e9a314
+lwl :: offset: 0x468, out: 0xffffffffc5000000
+lwl :: offset: 0x469, out: 0x49c50000
+lwl :: offset: 0x46a, out: 0xffffffff9649c500
+lwl :: offset: 0x46b, out: 0x159649c5
+lwl :: offset: 0x46c, out: 0x64000000
+lwl :: offset: 0x46d, out: 0xffffffff81640000
+lwl :: offset: 0x46e, out: 0xffffffffbe816400
+lwl :: offset: 0x46f, out: 0xfffffffff8be8164
+lwl :: offset: 0x470, out: 0x17000000
+lwl :: offset: 0x471, out: 0xffffffff9b170000
+lwl :: offset: 0x472, out: 0xffffffffe69b1700
+lwl :: offset: 0x473, out: 0xffffffff84e69b17
+lwl :: offset: 0x474, out: 0xffffffff97000000
+lwl :: offset: 0x475, out: 0x25970000
+lwl :: offset: 0x476, out: 0xffffffffa3259700
+lwl :: offset: 0x477, out: 0x7ca32597
+lwl :: offset: 0x478, out: 0x5c000000
+lwl :: offset: 0x479, out: 0x4f5c0000
+lwl :: offset: 0x47a, out: 0xfffffffff24f5c00
+lwl :: offset: 0x47b, out: 0xffffffffa1f24f5c
+lwl :: offset: 0x47c, out: 0x3c000000
+lwl :: offset: 0x47d, out: 0x543c0000
+lwl :: offset: 0x47e, out: 0xffffffff8d543c00
+lwl :: offset: 0x47f, out: 0xfffffffffc8d543c
+lwl :: offset: 0x480, out: 0x36000000
+lwl :: offset: 0x481, out: 0xffffffff9e360000
+lwl :: offset: 0x482, out: 0x459e3600
+lwl :: offset: 0x483, out: 0xffffffffe3459e36
+lwl :: offset: 0x484, out: 0xffffffffa0000000
+lwl :: offset: 0x485, out: 0x6ca00000
+lwl :: offset: 0x486, out: 0xffffffffeb6ca000
+lwl :: offset: 0x487, out: 0x4aeb6ca0
+lwl :: offset: 0x488, out: 0xfffffffffa000000
+lwl :: offset: 0x489, out: 0xffffffff80fa0000
+lwl :: offset: 0x48a, out: 0x7980fa00
+lwl :: offset: 0x48b, out: 0x187980fa
+lwl :: offset: 0x48c, out: 0xffffffff8e000000
+lwl :: offset: 0x48d, out: 0xffffffffe18e0000
+lwl :: offset: 0x48e, out: 0x32e18e00
+lwl :: offset: 0x48f, out: 0xffffffffc532e18e
+lwl :: offset: 0x490, out: 0x1c000000
+lwl :: offset: 0x491, out: 0x7d1c0000
+lwl :: offset: 0x492, out: 0x287d1c00
+lwl :: offset: 0x493, out: 0x4f287d1c
+lwl :: offset: 0x494, out: 0x29000000
+lwl :: offset: 0x495, out: 0xffffffffec290000
+lwl :: offset: 0x496, out: 0xfffffffffdec2900
+lwl :: offset: 0x497, out: 0xffffffffb3fdec29
+lwl :: offset: 0x498, out: 0xffffffff90000000
+lwl :: offset: 0x499, out: 0x2b900000
+lwl :: offset: 0x49a, out: 0x732b9000
+lwl :: offset: 0x49b, out: 0x49732b90
+lwl :: offset: 0x49c, out: 0xa000000
+lwl :: offset: 0x49d, out: 0x660a0000
+lwl :: offset: 0x49e, out: 0x20660a00
+lwl :: offset: 0x49f, out: 0xffffffffb620660a
+lwl :: offset: 0x4a0, out: 0xffffffff91000000
+lwl :: offset: 0x4a1, out: 0xffffffffe9910000
+lwl :: offset: 0x4a2, out: 0xfffffffffde99100
+lwl :: offset: 0x4a3, out: 0x6cfde991
+lwl :: offset: 0x4a4, out: 0xfffffffff1000000
+lwl :: offset: 0x4a5, out: 0x38f10000
+lwl :: offset: 0x4a6, out: 0x3138f100
+lwl :: offset: 0x4a7, out: 0xffffffff993138f1
+lwl :: offset: 0x4a8, out: 0xffffffffb9000000
+lwl :: offset: 0x4a9, out: 0x7b90000
+lwl :: offset: 0x4aa, out: 0x5407b900
+lwl :: offset: 0x4ab, out: 0x7d5407b9
+lwl :: offset: 0x4ac, out: 0x33000000
+lwl :: offset: 0x4ad, out: 0xffffffffd1330000
+lwl :: offset: 0x4ae, out: 0x2d13300
+lwl :: offset: 0x4af, out: 0xffffffffde02d133
+lwl :: offset: 0x4b0, out: 0x5a000000
+lwl :: offset: 0x4b1, out: 0xffffffffb15a0000
+lwl :: offset: 0x4b2, out: 0xffffffffdab15a00
+lwl :: offset: 0x4b3, out: 0xffffffffe1dab15a
+lwl :: offset: 0x4b4, out: 0xffffffffe1000000
+lwl :: offset: 0x4b5, out: 0xffffffff90e10000
+lwl :: offset: 0x4b6, out: 0xffffffffa390e100
+lwl :: offset: 0x4b7, out: 0x13a390e1
+lwl :: offset: 0x4b8, out: 0xffffffffc8000000
+lwl :: offset: 0x4b9, out: 0x16c80000
+lwl :: offset: 0x4ba, out: 0xffffffff8716c800
+lwl :: offset: 0x4bb, out: 0xffffffff828716c8
+lwl :: offset: 0x4bc, out: 0xffffffffa6000000
+lwl :: offset: 0x4bd, out: 0xffffffff91a60000
+lwl :: offset: 0x4be, out: 0x3491a600
+lwl :: offset: 0x4bf, out: 0x743491a6
+lwl :: offset: 0x4c0, out: 0xfffffffff2000000
+lwl :: offset: 0x4c1, out: 0xffffffff92f20000
+lwl :: offset: 0x4c2, out: 0xffffffffe292f200
+lwl :: offset: 0x4c3, out: 0xffffffffede292f2
+lwl :: offset: 0x4c4, out: 0x4a000000
+lwl :: offset: 0x4c5, out: 0x404a0000
+lwl :: offset: 0x4c6, out: 0xffffffffff404a00
+lwl :: offset: 0x4c7, out: 0xffffffff8cff404a
+lwl :: offset: 0x4c8, out: 0x36000000
+lwl :: offset: 0x4c9, out: 0x76360000
+lwl :: offset: 0x4ca, out: 0xffffffff83763600
+lwl :: offset: 0x4cb, out: 0x1f837636
+lwl :: offset: 0x4cc, out: 0xffffffffdb000000
+lwl :: offset: 0x4cd, out: 0xffffffffc0db0000
+lwl :: offset: 0x4ce, out: 0xffffffffcec0db00
+lwl :: offset: 0x4cf, out: 0xffffffffb9cec0db
+lwl :: offset: 0x4d0, out: 0x1c000000
+lwl :: offset: 0x4d1, out: 0x771c0000
+lwl :: offset: 0x4d2, out: 0x9771c00
+lwl :: offset: 0x4d3, out: 0x509771c
+lwl :: offset: 0x4d4, out: 0xffffffffa7000000
+lwl :: offset: 0x4d5, out: 0x5aa70000
+lwl :: offset: 0x4d6, out: 0xffffffffaa5aa700
+lwl :: offset: 0x4d7, out: 0x2eaa5aa7
+lwl :: offset: 0x4d8, out: 0x1b000000
+lwl :: offset: 0x4d9, out: 0x241b0000
+lwl :: offset: 0x4da, out: 0x75241b00
+lwl :: offset: 0x4db, out: 0x1875241b
+lwl :: offset: 0x4dc, out: 0xffffffff8e000000
+lwl :: offset: 0x4dd, out: 0x538e0000
+lwl :: offset: 0x4de, out: 0x27538e00
+lwl :: offset: 0x4df, out: 0xffffffffd327538e
+lwl :: offset: 0x4e0, out: 0x6b000000
+lwl :: offset: 0x4e1, out: 0xffffffff9b6b0000
+lwl :: offset: 0x4e2, out: 0x739b6b00
+lwl :: offset: 0x4e3, out: 0xffffffff8b739b6b
+lwl :: offset: 0x4e4, out: 0x54000000
+lwl :: offset: 0x4e5, out: 0xfffffffff8540000
+lwl :: offset: 0x4e6, out: 0xffffffffe9f85400
+lwl :: offset: 0x4e7, out: 0x42e9f854
+lwl :: offset: 0x4e8, out: 0x1a000000
+lwl :: offset: 0x4e9, out: 0xffffffffba1a0000
+lwl :: offset: 0x4ea, out: 0xffffffffcbba1a00
+lwl :: offset: 0x4eb, out: 0xffffffffeccbba1a
+lwl :: offset: 0x4ec, out: 0xc000000
+lwl :: offset: 0x4ed, out: 0xffffffffe50c0000
+lwl :: offset: 0x4ee, out: 0xffffffffe4e50c00
+lwl :: offset: 0x4ef, out: 0x78e4e50c
+lwl :: offset: 0x4f0, out: 0xffffffffcb000000
+lwl :: offset: 0x4f1, out: 0x27cb0000
+lwl :: offset: 0x4f2, out: 0xffffffff9d27cb00
+lwl :: offset: 0x4f3, out: 0xffffffffcd9d27cb
+lwl :: offset: 0x4f4, out: 0x3f000000
+lwl :: offset: 0x4f5, out: 0xfffffffffa3f0000
+lwl :: offset: 0x4f6, out: 0xffffffffb6fa3f00
+lwl :: offset: 0x4f7, out: 0xfffffffff6b6fa3f
+lwl :: offset: 0x4f8, out: 0x23000000
+lwl :: offset: 0x4f9, out: 0xffffffff94230000
+lwl :: offset: 0x4fa, out: 0x3e942300
+lwl :: offset: 0x4fb, out: 0xffffffffae3e9423
+lwl :: offset: 0x4fc, out: 0xffffffff83000000
+lwl :: offset: 0x4fd, out: 0x64830000
+lwl :: offset: 0x4fe, out: 0xffffffff91648300
+lwl :: offset: 0x4ff, out: 0x73916483
+lwl :: offset: 0x500, out: 0x61000000
+lwl :: offset: 0x501, out: 0xffffffff85610000
+lwl :: offset: 0x502, out: 0x12856100
+lwl :: offset: 0x503, out: 0xe128561
+lwl :: offset: 0x504, out: 0xa000000
+lwl :: offset: 0x505, out: 0xfffffffff70a0000
+lwl :: offset: 0x506, out: 0x6af70a00
+lwl :: offset: 0x507, out: 0x276af70a
+lwl :: offset: 0x508, out: 0x6e000000
+lwl :: offset: 0x509, out: 0x4b6e0000
+lwl :: offset: 0x50a, out: 0xffffffffe74b6e00
+lwl :: offset: 0x50b, out: 0xffffffffb5e74b6e
+lwl :: offset: 0x50c, out: 0xfffffffff6000000
+lwl :: offset: 0x50d, out: 0x5bf60000
+lwl :: offset: 0x50e, out: 0x45bf600
+lwl :: offset: 0x50f, out: 0x3045bf6
+lwl :: offset: 0x510, out: 0xffffffffa6000000
+lwl :: offset: 0x511, out: 0xffffffffcfa60000
+lwl :: offset: 0x512, out: 0xffffffffaccfa600
+lwl :: offset: 0x513, out: 0x8accfa6
+lwl :: offset: 0x514, out: 0x13000000
+lwl :: offset: 0x515, out: 0x3f130000
+lwl :: offset: 0x516, out: 0x223f1300
+lwl :: offset: 0x517, out: 0x20223f13
+lwl :: offset: 0x518, out: 0xfffffffff5000000
+lwl :: offset: 0x519, out: 0xffffffffb5f50000
+lwl :: offset: 0x51a, out: 0x76b5f500
+lwl :: offset: 0x51b, out: 0x3976b5f5
+lwl :: offset: 0x51c, out: 0x74000000
+lwl :: offset: 0x51d, out: 0x55740000
+lwl :: offset: 0x51e, out: 0x3c557400
+lwl :: offset: 0x51f, out: 0xfffffffff83c5574
+lwl :: offset: 0x520, out: 0x3d000000
+lwl :: offset: 0x521, out: 0x3c3d0000
+lwl :: offset: 0x522, out: 0xffffffff923c3d00
+lwl :: offset: 0x523, out: 0x46923c3d
+lwl :: offset: 0x524, out: 0xfffffffff9000000
+lwl :: offset: 0x525, out: 0x20f90000
+lwl :: offset: 0x526, out: 0xffffffff9720f900
+lwl :: offset: 0x527, out: 0x1f9720f9
+lwl :: offset: 0x528, out: 0xffffffffdd000000
+lwl :: offset: 0x529, out: 0x48dd0000
+lwl :: offset: 0x52a, out: 0x2448dd00
+lwl :: offset: 0x52b, out: 0x6d2448dd
+lwl :: offset: 0x52c, out: 0x50000000
+lwl :: offset: 0x52d, out: 0x28500000
+lwl :: offset: 0x52e, out: 0xd285000
+lwl :: offset: 0x52f, out: 0x620d2850
+lwl :: offset: 0x530, out: 0x32000000
+lwl :: offset: 0x531, out: 0xffffffffa7320000
+lwl :: offset: 0x532, out: 0xfffffffff4a73200
+lwl :: offset: 0x533, out: 0xffffffff9ff4a732
+lwl :: offset: 0x534, out: 0xffffffffe9000000
+lwl :: offset: 0x535, out: 0x21e90000
+lwl :: offset: 0x536, out: 0xffffffffa521e900
+lwl :: offset: 0x537, out: 0x60a521e9
+lwl :: offset: 0x538, out: 0xb000000
+lwl :: offset: 0x539, out: 0xf0b0000
+lwl :: offset: 0x53a, out: 0x680f0b00
+lwl :: offset: 0x53b, out: 0x5c680f0b
+lwl :: offset: 0x53c, out: 0xffffffffab000000
+lwl :: offset: 0x53d, out: 0xfffffffff3ab0000
+lwl :: offset: 0x53e, out: 0x8f3ab00
+lwl :: offset: 0x53f, out: 0x5a08f3ab
+lwl :: offset: 0x540, out: 0x26000000
+lwl :: offset: 0x541, out: 0x3d260000
+lwl :: offset: 0x542, out: 0xf3d2600
+lwl :: offset: 0x543, out: 0xffffffff800f3d26
+lwl :: offset: 0x544, out: 0xffffffffe7000000
+lwl :: offset: 0x545, out: 0xffffffff9be70000
+lwl :: offset: 0x546, out: 0xffffffffa59be700
+lwl :: offset: 0x547, out: 0xffffffffc7a59be7
+lwl :: offset: 0x548, out: 0x41000000
+lwl :: offset: 0x549, out: 0x1b410000
+lwl :: offset: 0x54a, out: 0xffffffffca1b4100
+lwl :: offset: 0x54b, out: 0xffffffff82ca1b41
+lwl :: offset: 0x54c, out: 0x29000000
+lwl :: offset: 0x54d, out: 0xffffffffdf290000
+lwl :: offset: 0x54e, out: 0xffffffffecdf2900
+lwl :: offset: 0x54f, out: 0x1aecdf29
+lwl :: offset: 0x550, out: 0xffffffffcd000000
+lwl :: offset: 0x551, out: 0xffffffff9dcd0000
+lwl :: offset: 0x552, out: 0xffffffffd19dcd00
+lwl :: offset: 0x553, out: 0x60d19dcd
+lwl :: offset: 0x554, out: 0xffffffffa2000000
+lwl :: offset: 0x555, out: 0x13a20000
+lwl :: offset: 0x556, out: 0xffffffff8613a200
+lwl :: offset: 0x557, out: 0x2b8613a2
+lwl :: offset: 0x558, out: 0x7f000000
+lwl :: offset: 0x559, out: 0xffffffffbe7f0000
+lwl :: offset: 0x55a, out: 0xffffffff8bbe7f00
+lwl :: offset: 0x55b, out: 0xe8bbe7f
+lwl :: offset: 0x55c, out: 0xffffffff8b000000
+lwl :: offset: 0x55d, out: 0xffffffffac8b0000
+lwl :: offset: 0x55e, out: 0x18ac8b00
+lwl :: offset: 0x55f, out: 0x2518ac8b
+lwl :: offset: 0x560, out: 0x6b000000
+lwl :: offset: 0x561, out: 0x486b0000
+lwl :: offset: 0x562, out: 0xffffffffcf486b00
+lwl :: offset: 0x563, out: 0x2fcf486b
+lwl :: offset: 0x564, out: 0xffffffff8d000000
+lwl :: offset: 0x565, out: 0x568d0000
+lwl :: offset: 0x566, out: 0x3e568d00
+lwl :: offset: 0x567, out: 0x743e568d
+lwl :: offset: 0x568, out: 0x28000000
+lwl :: offset: 0x569, out: 0x17280000
+lwl :: offset: 0x56a, out: 0xffffffffc3172800
+lwl :: offset: 0x56b, out: 0x34c31728
+lwl :: offset: 0x56c, out: 0x6f000000
+lwl :: offset: 0x56d, out: 0x646f0000
+lwl :: offset: 0x56e, out: 0x6f646f00
+lwl :: offset: 0x56f, out: 0x126f646f
+lwl :: offset: 0x570, out: 0x12000000
+lwl :: offset: 0x571, out: 0x4d120000
+lwl :: offset: 0x572, out: 0xfffffffffc4d1200
+lwl :: offset: 0x573, out: 0x56fc4d12
+lwl :: offset: 0x574, out: 0x61000000
+lwl :: offset: 0x575, out: 0x19610000
+lwl :: offset: 0x576, out: 0xffffffffb0196100
+lwl :: offset: 0x577, out: 0xffffffffaab01961
+lwl :: offset: 0x578, out: 0x42000000
+lwl :: offset: 0x579, out: 0xffffffffd3420000
+lwl :: offset: 0x57a, out: 0xffffffff95d34200
+lwl :: offset: 0x57b, out: 0xffffffff8595d342
+lwl :: offset: 0x57c, out: 0x33000000
+lwl :: offset: 0x57d, out: 0xffffffffcd330000
+lwl :: offset: 0x57e, out: 0x35cd3300
+lwl :: offset: 0x57f, out: 0x7535cd33
+lwl :: offset: 0x580, out: 0xffffffffec000000
+lwl :: offset: 0x581, out: 0x46ec0000
+lwl :: offset: 0x582, out: 0x2346ec00
+lwl :: offset: 0x583, out: 0x422346ec
+lwl :: offset: 0x584, out: 0xffffffffda000000
+lwl :: offset: 0x585, out: 0x54da0000
+lwl :: offset: 0x586, out: 0xffffffffb254da00
+lwl :: offset: 0x587, out: 0xffffffffdfb254da
+lwl :: offset: 0x588, out: 0x2a000000
+lwl :: offset: 0x589, out: 0xffffffffab2a0000
+lwl :: offset: 0x58a, out: 0xffffffff81ab2a00
+lwl :: offset: 0x58b, out: 0x81ab2a
+lwl :: offset: 0x58c, out: 0xffffffffc9000000
+lwl :: offset: 0x58d, out: 0x26c90000
+lwl :: offset: 0x58e, out: 0x6726c900
+lwl :: offset: 0x58f, out: 0xffffffffa86726c9
+lwl :: offset: 0x590, out: 0x38000000
+lwl :: offset: 0x591, out: 0x74380000
+lwl :: offset: 0x592, out: 0xffffffff9d743800
+lwl :: offset: 0x593, out: 0x679d7438
+lwl :: offset: 0x594, out: 0xffffffffa1000000
+lwl :: offset: 0x595, out: 0xffffffffffa10000
+lwl :: offset: 0x596, out: 0xfffffffffeffa100
+lwl :: offset: 0x597, out: 0xffffffff9bfeffa1
+lwl :: offset: 0x598, out: 0x44000000
+lwl :: offset: 0x599, out: 0xffffffffe2440000
+lwl :: offset: 0x59a, out: 0xffffffffdee24400
+lwl :: offset: 0x59b, out: 0xffffffffb7dee244
+lwl :: offset: 0x59c, out: 0x26000000
+lwl :: offset: 0x59d, out: 0xffffffff98260000
+lwl :: offset: 0x59e, out: 0x69982600
+lwl :: offset: 0x59f, out: 0xffffffffc7699826
+lwl :: offset: 0x5a0, out: 0x4a000000
+lwl :: offset: 0x5a1, out: 0x704a0000
+lwl :: offset: 0x5a2, out: 0xffffffffa6704a00
+lwl :: offset: 0x5a3, out: 0xfffffffffba6704a
+lwl :: offset: 0x5a4, out: 0xffffffff97000000
+lwl :: offset: 0x5a5, out: 0xffffffffaf970000
+lwl :: offset: 0x5a6, out: 0x7af9700
+lwl :: offset: 0x5a7, out: 0x3c07af97
+lwl :: offset: 0x5a8, out: 0xfffffffffe000000
+lwl :: offset: 0x5a9, out: 0xffffffff8bfe0000
+lwl :: offset: 0x5aa, out: 0xffffffffc58bfe00
+lwl :: offset: 0x5ab, out: 0x4c58bfe
+lwl :: offset: 0x5ac, out: 0xffffffffdc000000
+lwl :: offset: 0x5ad, out: 0x64dc0000
+lwl :: offset: 0x5ae, out: 0x1364dc00
+lwl :: offset: 0x5af, out: 0x521364dc
+lwl :: offset: 0x5b0, out: 0xffffffffbc000000
+lwl :: offset: 0x5b1, out: 0xffffffffaebc0000
+lwl :: offset: 0x5b2, out: 0xffffffffb7aebc00
+lwl :: offset: 0x5b3, out: 0xffffffff9ab7aebc
+lwl :: offset: 0x5b4, out: 0x58000000
+lwl :: offset: 0x5b5, out: 0xffffffffbb580000
+lwl :: offset: 0x5b6, out: 0xfffffffff7bb5800
+lwl :: offset: 0x5b7, out: 0xffffffffe0f7bb58
+lwl :: offset: 0x5b8, out: 0x4d000000
+lwl :: offset: 0x5b9, out: 0xffffffff954d0000
+lwl :: offset: 0x5ba, out: 0xffffffffeb954d00
+lwl :: offset: 0x5bb, out: 0xffffffffdeeb954d
+lwl :: offset: 0x5bc, out: 0xc000000
+lwl :: offset: 0x5bd, out: 0xffffffffc60c0000
+lwl :: offset: 0x5be, out: 0x36c60c00
+lwl :: offset: 0x5bf, out: 0xffffffffe336c60c
+lwl :: offset: 0x5c0, out: 0x6e000000
+lwl :: offset: 0x5c1, out: 0x416e0000
+lwl :: offset: 0x5c2, out: 0x52416e00
+lwl :: offset: 0x5c3, out: 0x6f52416e
+lwl :: offset: 0x5c4, out: 0xc000000
+lwl :: offset: 0x5c5, out: 0x120c0000
+lwl :: offset: 0x5c6, out: 0xffffffffb2120c00
+lwl :: offset: 0x5c7, out: 0xffffffffd5b2120c
+lwl :: offset: 0x5c8, out: 0x34000000
+lwl :: offset: 0x5c9, out: 0xffffffff8a340000
+lwl :: offset: 0x5ca, out: 0x628a3400
+lwl :: offset: 0x5cb, out: 0x7e628a34
+lwl :: offset: 0x5cc, out: 0xffffffffff000000
+lwl :: offset: 0x5cd, out: 0xffffffffd4ff0000
+lwl :: offset: 0x5ce, out: 0xffffffffa2d4ff00
+lwl :: offset: 0x5cf, out: 0xffffffff85a2d4ff
+lwl :: offset: 0x5d0, out: 0x7000000
+lwl :: offset: 0x5d1, out: 0x7e070000
+lwl :: offset: 0x5d2, out: 0x4e7e0700
+lwl :: offset: 0x5d3, out: 0x4a4e7e07
+lwl :: offset: 0x5d4, out: 0x65000000
+lwl :: offset: 0x5d5, out: 0x2b650000
+lwl :: offset: 0x5d6, out: 0x6a2b6500
+lwl :: offset: 0x5d7, out: 0xffffffff986a2b65
+lwl :: offset: 0x5d8, out: 0x55000000
+lwl :: offset: 0x5d9, out: 0xffffffff9b550000
+lwl :: offset: 0x5da, out: 0x489b5500
+lwl :: offset: 0x5db, out: 0x3a489b55
+lwl :: offset: 0x5dc, out: 0xffffffffc4000000
+lwl :: offset: 0x5dd, out: 0xffffffffeac40000
+lwl :: offset: 0x5de, out: 0x74eac400
+lwl :: offset: 0x5df, out: 0xffffffffa974eac4
+lwl :: offset: 0x5e0, out: 0xfffffffff5000000
+lwl :: offset: 0x5e1, out: 0xfffffffff8f50000
+lwl :: offset: 0x5e2, out: 0xfffffffff1f8f500
+lwl :: offset: 0x5e3, out: 0x72f1f8f5
+lwl :: offset: 0x5e4, out: 0x62000000
+lwl :: offset: 0x5e5, out: 0xffffffffc1620000
+lwl :: offset: 0x5e6, out: 0xffffffff88c16200
+lwl :: offset: 0x5e7, out: 0xffffffffa388c162
+lwl :: offset: 0x5e8, out: 0xffffffffa9000000
+lwl :: offset: 0x5e9, out: 0x5ea90000
+lwl :: offset: 0x5ea, out: 0x495ea900
+lwl :: offset: 0x5eb, out: 0xffffffffe7495ea9
+lwl :: offset: 0x5ec, out: 0x45000000
+lwl :: offset: 0x5ed, out: 0x1f450000
+lwl :: offset: 0x5ee, out: 0xffffffffc11f4500
+lwl :: offset: 0x5ef, out: 0xffffffffe8c11f45
+lwl :: offset: 0x5f0, out: 0xffffffffb4000000
+lwl :: offset: 0x5f1, out: 0xffffffffc8b40000
+lwl :: offset: 0x5f2, out: 0xffffffffc1c8b400
+lwl :: offset: 0x5f3, out: 0x5cc1c8b4
+lwl :: offset: 0x5f4, out: 0x76000000
+lwl :: offset: 0x5f5, out: 0x5a760000
+lwl :: offset: 0x5f6, out: 0xffffffffaa5a7600
+lwl :: offset: 0x5f7, out: 0xffffffffadaa5a76
+lwl :: offset: 0x5f8, out: 0xffffffffc0000000
+lwl :: offset: 0x5f9, out: 0x5c00000
+lwl :: offset: 0x5fa, out: 0xffffffffa605c000
+lwl :: offset: 0x5fb, out: 0xffffffffdfa605c0
+lwl :: offset: 0x5fc, out: 0xffffffff88000000
+lwl :: offset: 0x5fd, out: 0xffffffffce880000
+lwl :: offset: 0x5fe, out: 0xffffffffb4ce8800
+lwl :: offset: 0x5ff, out: 0x7ab4ce88
+lwl :: offset: 0x600, out: 0x4f000000
+lwl :: offset: 0x601, out: 0xffffffffb04f0000
+lwl :: offset: 0x602, out: 0xffffffffa7b04f00
+lwl :: offset: 0x603, out: 0x59a7b04f
+lwl :: offset: 0x604, out: 0xffffffffe6000000
+lwl :: offset: 0x605, out: 0xffffffffd6e60000
+lwl :: offset: 0x606, out: 0x2ad6e600
+lwl :: offset: 0x607, out: 0xffffffffb42ad6e6
+lwl :: offset: 0x608, out: 0x2f000000
+lwl :: offset: 0x609, out: 0xffffffff922f0000
+lwl :: offset: 0x60a, out: 0x28922f00
+lwl :: offset: 0x60b, out: 0xffffffffb728922f
+lwl :: offset: 0x60c, out: 0x5a000000
+lwl :: offset: 0x60d, out: 0x485a0000
+lwl :: offset: 0x60e, out: 0xfffffffff8485a00
+lwl :: offset: 0x60f, out: 0x4bf8485a
+lwl :: offset: 0x610, out: 0xfffffffffb000000
+lwl :: offset: 0x611, out: 0xffffffffa7fb0000
+lwl :: offset: 0x612, out: 0x66a7fb00
+lwl :: offset: 0x613, out: 0x3b66a7fb
+lwl :: offset: 0x614, out: 0xc000000
+lwl :: offset: 0x615, out: 0xffffffffd60c0000
+lwl :: offset: 0x616, out: 0xffffffffa3d60c00
+lwl :: offset: 0x617, out: 0x76a3d60c
+lwl :: offset: 0x618, out: 0xffffffffda000000
+lwl :: offset: 0x619, out: 0xffffffff8eda0000
+lwl :: offset: 0x61a, out: 0xffffffffc28eda00
+lwl :: offset: 0x61b, out: 0xfffffffffdc28eda
+lwl :: offset: 0x61c, out: 0xffffffffaf000000
+lwl :: offset: 0x61d, out: 0xffffffffc6af0000
+lwl :: offset: 0x61e, out: 0xffffffffe0c6af00
+lwl :: offset: 0x61f, out: 0x31e0c6af
+lwl :: offset: 0x620, out: 0xffffffff9d000000
+lwl :: offset: 0x621, out: 0xffffffff999d0000
+lwl :: offset: 0x622, out: 0xc999d00
+lwl :: offset: 0x623, out: 0xffffffffbf0c999d
+lwl :: offset: 0x624, out: 0xffffffffb4000000
+lwl :: offset: 0x625, out: 0x6bb40000
+lwl :: offset: 0x626, out: 0x606bb400
+lwl :: offset: 0x627, out: 0x53606bb4
+lwl :: offset: 0x628, out: 0xfffffffff0000000
+lwl :: offset: 0x629, out: 0x19f00000
+lwl :: offset: 0x62a, out: 0x7919f000
+lwl :: offset: 0x62b, out: 0x1b7919f0
+lwl :: offset: 0x62c, out: 0xffffffffc8000000
+lwl :: offset: 0x62d, out: 0x12c80000
+lwl :: offset: 0x62e, out: 0xfffffffffc12c800
+lwl :: offset: 0x62f, out: 0x32fc12c8
+lwl :: offset: 0x630, out: 0xffffffffd6000000
+lwl :: offset: 0x631, out: 0xfffffffffcd60000
+lwl :: offset: 0x632, out: 0x2efcd600
+lwl :: offset: 0x633, out: 0xffffffffc72efcd6
+lwl :: offset: 0x634, out: 0xffffffff84000000
+lwl :: offset: 0x635, out: 0xffffffff83840000
+lwl :: offset: 0x636, out: 0xfffffffff8838400
+lwl :: offset: 0x637, out: 0x3ef88384
+lwl :: offset: 0x638, out: 0xffffffff80000000
+lwl :: offset: 0x639, out: 0x35800000
+lwl :: offset: 0x63a, out: 0x2a358000
+lwl :: offset: 0x63b, out: 0x6a2a3580
+lwl :: offset: 0x63c, out: 0xffffffffbb000000
+lwl :: offset: 0x63d, out: 0xffffffffc7bb0000
+lwl :: offset: 0x63e, out: 0xffffffffb1c7bb00
+lwl :: offset: 0x63f, out: 0x38b1c7bb
+lwl :: offset: 0x640, out: 0xffffffffc9000000
+lwl :: offset: 0x641, out: 0x77c90000
+lwl :: offset: 0x642, out: 0xffffffffca77c900
+lwl :: offset: 0x643, out: 0x1dca77c9
+lwl :: offset: 0x644, out: 0x12000000
+lwl :: offset: 0x645, out: 0xfffffffff6120000
+lwl :: offset: 0x646, out: 0xffffffffebf61200
+lwl :: offset: 0x647, out: 0x15ebf612
+lwl :: offset: 0x648, out: 0xffffffffae000000
+lwl :: offset: 0x649, out: 0x47ae0000
+lwl :: offset: 0x64a, out: 0xffffffff9147ae00
+lwl :: offset: 0x64b, out: 0xfffffffffd9147ae
+lwl :: offset: 0x64c, out: 0xffffffffd9000000
+lwl :: offset: 0x64d, out: 0xffffffffcdd90000
+lwl :: offset: 0x64e, out: 0xffffffffaacdd900
+lwl :: offset: 0x64f, out: 0x5eaacdd9
+lwl :: offset: 0x650, out: 0x17000000
+lwl :: offset: 0x651, out: 0x11170000
+lwl :: offset: 0x652, out: 0xffffffffe9111700
+lwl :: offset: 0x653, out: 0xffffffff81e91117
+lwl :: offset: 0x654, out: 0xfffffffff9000000
+lwl :: offset: 0x655, out: 0x70f90000
+lwl :: offset: 0x656, out: 0xffffffff8470f900
+lwl :: offset: 0x657, out: 0xffffffffbb8470f9
+lwl :: offset: 0x658, out: 0xffffffffe0000000
+lwl :: offset: 0x659, out: 0x32e00000
+lwl :: offset: 0x65a, out: 0xffffffffa532e000
+lwl :: offset: 0x65b, out: 0xffffffffc6a532e0
+lwl :: offset: 0x65c, out: 0xffffffffea000000
+lwl :: offset: 0x65d, out: 0x2aea0000
+lwl :: offset: 0x65e, out: 0xffffffffd42aea00
+lwl :: offset: 0x65f, out: 0x5d42aea
+lwl :: offset: 0x660, out: 0x63000000
+lwl :: offset: 0x661, out: 0xffffffff9e630000
+lwl :: offset: 0x662, out: 0xfffffffffb9e6300
+lwl :: offset: 0x663, out: 0x19fb9e63
+lwl :: offset: 0x664, out: 0x64000000
+lwl :: offset: 0x665, out: 0xfffffffff3640000
+lwl :: offset: 0x666, out: 0xffffffffabf36400
+lwl :: offset: 0x667, out: 0x14abf364
+lwl :: offset: 0x668, out: 0xffffffffac000000
+lwl :: offset: 0x669, out: 0x2aac0000
+lwl :: offset: 0x66a, out: 0xffffffffd72aac00
+lwl :: offset: 0x66b, out: 0xffffffffa8d72aac
+lwl :: offset: 0x66c, out: 0xffffffff9a000000
+lwl :: offset: 0x66d, out: 0x559a0000
+lwl :: offset: 0x66e, out: 0xffffffff9d559a00
+lwl :: offset: 0x66f, out: 0x249d559a
+lwl :: offset: 0x670, out: 0xffffffffec000000
+lwl :: offset: 0x671, out: 0x30ec0000
+lwl :: offset: 0x672, out: 0x4b30ec00
+lwl :: offset: 0x673, out: 0x84b30ec
+lwl :: offset: 0x674, out: 0x4f000000
+lwl :: offset: 0x675, out: 0x764f0000
+lwl :: offset: 0x676, out: 0xffffffffd6764f00
+lwl :: offset: 0x677, out: 0xcd6764f
+lwl :: offset: 0x678, out: 0xffffffffdf000000
+lwl :: offset: 0x679, out: 0xffffffff8fdf0000
+lwl :: offset: 0x67a, out: 0x468fdf00
+lwl :: offset: 0x67b, out: 0xffffffff92468fdf
+lwl :: offset: 0x67c, out: 0x7000000
+lwl :: offset: 0x67d, out: 0xffffffffac070000
+lwl :: offset: 0x67e, out: 0x3ac0700
+lwl :: offset: 0x67f, out: 0x7f03ac07
+lwl :: offset: 0x680, out: 0xfffffffff5000000
+lwl :: offset: 0x681, out: 0x70f50000
+lwl :: offset: 0x682, out: 0xffffffffe670f500
+lwl :: offset: 0x683, out: 0x56e670f5
+lwl :: offset: 0x684, out: 0x6d000000
+lwl :: offset: 0x685, out: 0xffffffffce6d0000
+lwl :: offset: 0x686, out: 0x35ce6d00
+lwl :: offset: 0x687, out: 0x7e35ce6d
+lwl :: offset: 0x688, out: 0x11000000
+lwl :: offset: 0x689, out: 0x27110000
+lwl :: offset: 0x68a, out: 0x65271100
+lwl :: offset: 0x68b, out: 0x1a652711
+lwl :: offset: 0x68c, out: 0x59000000
+lwl :: offset: 0x68d, out: 0x28590000
+lwl :: offset: 0x68e, out: 0x28285900
+lwl :: offset: 0x68f, out: 0x15282859
+lwl :: offset: 0x690, out: 0xfffffffffb000000
+lwl :: offset: 0x691, out: 0xffffffffa9fb0000
+lwl :: offset: 0x692, out: 0x15a9fb00
+lwl :: offset: 0x693, out: 0xffffffffd215a9fb
+lwl :: offset: 0x694, out: 0xffffffff83000000
+lwl :: offset: 0x695, out: 0x32830000
+lwl :: offset: 0x696, out: 0x1c328300
+lwl :: offset: 0x697, out: 0xffffffff9e1c3283
+lwl :: offset: 0x698, out: 0x17000000
+lwl :: offset: 0x699, out: 0x4170000
+lwl :: offset: 0x69a, out: 0x2a041700
+lwl :: offset: 0x69b, out: 0x282a0417
+lwl :: offset: 0x69c, out: 0x49000000
+lwl :: offset: 0x69d, out: 0xffffffffc0490000
+lwl :: offset: 0x69e, out: 0xffffffff95c04900
+lwl :: offset: 0x69f, out: 0xffffffff8d95c049
+lwl :: offset: 0x6a0, out: 0xfffffffff3000000
+lwl :: offset: 0x6a1, out: 0x58f30000
+lwl :: offset: 0x6a2, out: 0xffffffff8058f300
+lwl :: offset: 0x6a3, out: 0xffffffff978058f3
+lwl :: offset: 0x6a4, out: 0xffffffff90000000
+lwl :: offset: 0x6a5, out: 0xffffffffa4900000
+lwl :: offset: 0x6a6, out: 0xffffffffe7a49000
+lwl :: offset: 0x6a7, out: 0xfffffffff2e7a490
+lwl :: offset: 0x6a8, out: 0xffffffffaa000000
+lwl :: offset: 0x6a9, out: 0xffffffffb1aa0000
+lwl :: offset: 0x6aa, out: 0x75b1aa00
+lwl :: offset: 0x6ab, out: 0x975b1aa
+lwl :: offset: 0x6ac, out: 0xffffffffca000000
+lwl :: offset: 0x6ad, out: 0x4cca0000
+lwl :: offset: 0x6ae, out: 0x5b4cca00
+lwl :: offset: 0x6af, out: 0x775b4cca
+lwl :: offset: 0x6b0, out: 0x20000000
+lwl :: offset: 0x6b1, out: 0x10200000
+lwl :: offset: 0x6b2, out: 0x11102000
+lwl :: offset: 0x6b3, out: 0x35111020
+lwl :: offset: 0x6b4, out: 0xffffffffa6000000
+lwl :: offset: 0x6b5, out: 0xffffffff84a60000
+lwl :: offset: 0x6b6, out: 0x2b84a600
+lwl :: offset: 0x6b7, out: 0xa2b84a6
+lwl :: offset: 0x6b8, out: 0x6f000000
+lwl :: offset: 0x6b9, out: 0xffffffff8b6f0000
+lwl :: offset: 0x6ba, out: 0xffffffffd88b6f00
+lwl :: offset: 0x6bb, out: 0xffffffffa7d88b6f
+lwl :: offset: 0x6bc, out: 0xffffffffd3000000
+lwl :: offset: 0x6bd, out: 0xffffffffa0d30000
+lwl :: offset: 0x6be, out: 0x3fa0d300
+lwl :: offset: 0x6bf, out: 0x23fa0d3
+lwl :: offset: 0x6c0, out: 0xffffffffdd000000
+lwl :: offset: 0x6c1, out: 0xffffffffdedd0000
+lwl :: offset: 0x6c2, out: 0x41dedd00
+lwl :: offset: 0x6c3, out: 0xffffffff9941dedd
+lwl :: offset: 0x6c4, out: 0xffffffffb7000000
+lwl :: offset: 0x6c5, out: 0xffffffff91b70000
+lwl :: offset: 0x6c6, out: 0xffffffffd991b700
+lwl :: offset: 0x6c7, out: 0xffffffffa3d991b7
+lwl :: offset: 0x6c8, out: 0x8000000
+lwl :: offset: 0x6c9, out: 0xffffffff95080000
+lwl :: offset: 0x6ca, out: 0xd950800
+lwl :: offset: 0x6cb, out: 0x5a0d9508
+lwl :: offset: 0x6cc, out: 0xffffffff83000000
+lwl :: offset: 0x6cd, out: 0xffffffffb4830000
+lwl :: offset: 0x6ce, out: 0x1cb48300
+lwl :: offset: 0x6cf, out: 0x751cb483
+lwl :: offset: 0x6d0, out: 0xffffffffd3000000
+lwl :: offset: 0x6d1, out: 0xffffffffb2d30000
+lwl :: offset: 0x6d2, out: 0x5bb2d300
+lwl :: offset: 0x6d3, out: 0x625bb2d3
+lwl :: offset: 0x6d4, out: 0x35000000
+lwl :: offset: 0x6d5, out: 0xffffffffad350000
+lwl :: offset: 0x6d6, out: 0xffffffff9cad3500
+lwl :: offset: 0x6d7, out: 0xffffffff949cad35
+lwl :: offset: 0x6d8, out: 0x39000000
+lwl :: offset: 0x6d9, out: 0xffffffff97390000
+lwl :: offset: 0x6da, out: 0xffffffff92973900
+lwl :: offset: 0x6db, out: 0xffffffffa6929739
+lwl :: offset: 0x6dc, out: 0x35000000
+lwl :: offset: 0x6dd, out: 0x7f350000
+lwl :: offset: 0x6de, out: 0x567f3500
+lwl :: offset: 0x6df, out: 0x7f567f35
+lwl :: offset: 0x6e0, out: 0x27000000
+lwl :: offset: 0x6e1, out: 0x7d270000
+lwl :: offset: 0x6e2, out: 0xffffffff8d7d2700
+lwl :: offset: 0x6e3, out: 0xffffffffdb8d7d27
+lwl :: offset: 0x6e4, out: 0xffffffffe0000000
+lwl :: offset: 0x6e5, out: 0xffffffff88e00000
+lwl :: offset: 0x6e6, out: 0x5b88e000
+lwl :: offset: 0x6e7, out: 0x185b88e0
+lwl :: offset: 0x6e8, out: 0xffffffff91000000
+lwl :: offset: 0x6e9, out: 0x1b910000
+lwl :: offset: 0x6ea, out: 0xffffffffd61b9100
+lwl :: offset: 0x6eb, out: 0x2fd61b91
+lwl :: offset: 0x6ec, out: 0xffffffffd2000000
+lwl :: offset: 0x6ed, out: 0x4cd20000
+lwl :: offset: 0x6ee, out: 0x5a4cd200
+lwl :: offset: 0x6ef, out: 0x255a4cd2
+lwl :: offset: 0x6f0, out: 0x7b000000
+lwl :: offset: 0x6f1, out: 0x3f7b0000
+lwl :: offset: 0x6f2, out: 0x363f7b00
+lwl :: offset: 0x6f3, out: 0xffffffffa4363f7b
+lwl :: offset: 0x6f4, out: 0xffffffff89000000
+lwl :: offset: 0x6f5, out: 0xffffffffd5890000
+lwl :: offset: 0x6f6, out: 0x48d58900
+lwl :: offset: 0x6f7, out: 0x1048d589
+lwl :: offset: 0x6f8, out: 0xffffffff90000000
+lwl :: offset: 0x6f9, out: 0x57900000
+lwl :: offset: 0x6fa, out: 0x60579000
+lwl :: offset: 0x6fb, out: 0xfffffffff4605790
+lwl :: offset: 0x6fc, out: 0x8000000
+lwl :: offset: 0x6fd, out: 0x57080000
+lwl :: offset: 0x6fe, out: 0x6d570800
+lwl :: offset: 0x6ff, out: 0x6a6d5708
+lwl :: offset: 0x700, out: 0x7f000000
+lwl :: offset: 0x701, out: 0x697f0000
+lwl :: offset: 0x702, out: 0x35697f00
+lwl :: offset: 0x703, out: 0xffffffffde35697f
+lwl :: offset: 0x704, out: 0xffffffffab000000
+lwl :: offset: 0x705, out: 0xffffffffcbab0000
+lwl :: offset: 0x706, out: 0xffffffff8ecbab00
+lwl :: offset: 0x707, out: 0xffffffffd58ecbab
+lwl :: offset: 0x708, out: 0xfffffffff1000000
+lwl :: offset: 0x709, out: 0xffffffffa5f10000
+lwl :: offset: 0x70a, out: 0xffffffffc0a5f100
+lwl :: offset: 0x70b, out: 0x8c0a5f1
+lwl :: offset: 0x70c, out: 0xfffffffffd000000
+lwl :: offset: 0x70d, out: 0x48fd0000
+lwl :: offset: 0x70e, out: 0x5548fd00
+lwl :: offset: 0x70f, out: 0x575548fd
+lwl :: offset: 0x710, out: 0xffffffffdb000000
+lwl :: offset: 0x711, out: 0xffffffff8ddb0000
+lwl :: offset: 0x712, out: 0xffffffffd98ddb00
+lwl :: offset: 0x713, out: 0xffffffff8ed98ddb
+lwl :: offset: 0x714, out: 0xfffffffffb000000
+lwl :: offset: 0x715, out: 0x40fb0000
+lwl :: offset: 0x716, out: 0xffffffffb640fb00
+lwl :: offset: 0x717, out: 0xffffffff8bb640fb
+lwl :: offset: 0x718, out: 0xffffffffcc000000
+lwl :: offset: 0x719, out: 0x78cc0000
+lwl :: offset: 0x71a, out: 0xffffffffc578cc00
+lwl :: offset: 0x71b, out: 0xffffffffabc578cc
+lwl :: offset: 0x71c, out: 0x1e000000
+lwl :: offset: 0x71d, out: 0xffffffffd51e0000
+lwl :: offset: 0x71e, out: 0xd51e00
+lwl :: offset: 0x71f, out: 0xffffffffbe00d51e
+lwl :: offset: 0x720, out: 0xffffffffb2000000
+lwl :: offset: 0x721, out: 0xab20000
+lwl :: offset: 0x722, out: 0x170ab200
+lwl :: offset: 0x723, out: 0x1c170ab2
+lwl :: offset: 0x724, out: 0x4a000000
+lwl :: offset: 0x725, out: 0x224a0000
+lwl :: offset: 0x726, out: 0x7e224a00
+lwl :: offset: 0x727, out: 0x2f7e224a
+lwl :: offset: 0x728, out: 0xffffffffa7000000
+lwl :: offset: 0x729, out: 0x56a70000
+lwl :: offset: 0x72a, out: 0x2256a700
+lwl :: offset: 0x72b, out: 0xffffffffa22256a7
+lwl :: offset: 0x72c, out: 0x2c000000
+lwl :: offset: 0x72d, out: 0xfffffffff12c0000
+lwl :: offset: 0x72e, out: 0x78f12c00
+lwl :: offset: 0x72f, out: 0xffffffffa978f12c
+lwl :: offset: 0x730, out: 0x2f000000
+lwl :: offset: 0x731, out: 0xffffffffe02f0000
+lwl :: offset: 0x732, out: 0x1ee02f00
+lwl :: offset: 0x733, out: 0xffffffff811ee02f
+lwl :: offset: 0x734, out: 0x3b000000
+lwl :: offset: 0x735, out: 0xffffffffa93b0000
+lwl :: offset: 0x736, out: 0x50a93b00
+lwl :: offset: 0x737, out: 0xffffffff9950a93b
+lwl :: offset: 0x738, out: 0xc000000
+lwl :: offset: 0x739, out: 0x6a0c0000
+lwl :: offset: 0x73a, out: 0x796a0c00
+lwl :: offset: 0x73b, out: 0xffffffffc6796a0c
+lwl :: offset: 0x73c, out: 0xffffffff93000000
+lwl :: offset: 0x73d, out: 0xffffffffea930000
+lwl :: offset: 0x73e, out: 0x4eea9300
+lwl :: offset: 0x73f, out: 0xffffffffb44eea93
+lwl :: offset: 0x740, out: 0x57000000
+lwl :: offset: 0x741, out: 0xffffffffb6570000
+lwl :: offset: 0x742, out: 0xeb65700
+lwl :: offset: 0x743, out: 0x6c0eb657
+lwl :: offset: 0x744, out: 0xffffffffa0000000
+lwl :: offset: 0x745, out: 0xfffffffffca00000
+lwl :: offset: 0x746, out: 0x71fca000
+lwl :: offset: 0x747, out: 0xfffffffffe71fca0
+lwl :: offset: 0x748, out: 0x57000000
+lwl :: offset: 0x749, out: 0xffffffffaf570000
+lwl :: offset: 0x74a, out: 0x18af5700
+lwl :: offset: 0x74b, out: 0xfffffffff818af57
+lwl :: offset: 0x74c, out: 0x3d000000
+lwl :: offset: 0x74d, out: 0x393d0000
+lwl :: offset: 0x74e, out: 0xffffffffd6393d00
+lwl :: offset: 0x74f, out: 0x4ed6393d
+lwl :: offset: 0x750, out: 0xa000000
+lwl :: offset: 0x751, out: 0x770a0000
+lwl :: offset: 0x752, out: 0x36770a00
+lwl :: offset: 0x753, out: 0x236770a
+lwl :: offset: 0x754, out: 0x20000000
+lwl :: offset: 0x755, out: 0xffffffff90200000
+lwl :: offset: 0x756, out: 0x2e902000
+lwl :: offset: 0x757, out: 0xfffffffff22e9020
+lwl :: offset: 0x758, out: 0x5d000000
+lwl :: offset: 0x759, out: 0xffffffffc45d0000
+lwl :: offset: 0x75a, out: 0xffffffffd0c45d00
+lwl :: offset: 0x75b, out: 0xffffffffafd0c45d
+lwl :: offset: 0x75c, out: 0xffffffffc7000000
+lwl :: offset: 0x75d, out: 0xffffffffb6c70000
+lwl :: offset: 0x75e, out: 0xffffffffefb6c700
+lwl :: offset: 0x75f, out: 0xffffffff81efb6c7
+lwl :: offset: 0x760, out: 0x5b000000
+lwl :: offset: 0x761, out: 0x315b0000
+lwl :: offset: 0x762, out: 0x2315b00
+lwl :: offset: 0x763, out: 0xffffffff8102315b
+lwl :: offset: 0x764, out: 0x51000000
+lwl :: offset: 0x765, out: 0xfffffffff3510000
+lwl :: offset: 0x766, out: 0xffffffffd8f35100
+lwl :: offset: 0x767, out: 0xffffffffeed8f351
+lwl :: offset: 0x768, out: 0x5e000000
+lwl :: offset: 0x769, out: 0xfffffffffd5e0000
+lwl :: offset: 0x76a, out: 0x5efd5e00
+lwl :: offset: 0x76b, out: 0xffffffff995efd5e
+lwl :: offset: 0x76c, out: 0xffffffffb9000000
+lwl :: offset: 0x76d, out: 0xffffffffefb90000
+lwl :: offset: 0x76e, out: 0xffffffffafefb900
+lwl :: offset: 0x76f, out: 0xffffffffadafefb9
+lwl :: offset: 0x770, out: 0xffffffff86000000
+lwl :: offset: 0x771, out: 0x30860000
+lwl :: offset: 0x772, out: 0x25308600
+lwl :: offset: 0x773, out: 0xffffffffeb253086
+lwl :: offset: 0x774, out: 0x33000000
+lwl :: offset: 0x775, out: 0x19330000
+lwl :: offset: 0x776, out: 0x6193300
+lwl :: offset: 0x777, out: 0x34061933
+lwl :: offset: 0x778, out: 0xffffffffbc000000
+lwl :: offset: 0x779, out: 0x52bc0000
+lwl :: offset: 0x77a, out: 0x4c52bc00
+lwl :: offset: 0x77b, out: 0x4b4c52bc
+lwl :: offset: 0x77c, out: 0x26000000
+lwl :: offset: 0x77d, out: 0xffffffffda260000
+lwl :: offset: 0x77e, out: 0x48da2600
+lwl :: offset: 0x77f, out: 0x1748da26
+lwl :: offset: 0x780, out: 0xffffffff89000000
+lwl :: offset: 0x781, out: 0xffffffffbe890000
+lwl :: offset: 0x782, out: 0x2be8900
+lwl :: offset: 0x783, out: 0xffffffff9302be89
+lwl :: offset: 0x784, out: 0xffffffff9a000000
+lwl :: offset: 0x785, out: 0xfffffffffc9a0000
+lwl :: offset: 0x786, out: 0xfffffffffdfc9a00
+lwl :: offset: 0x787, out: 0x34fdfc9a
+lwl :: offset: 0x788, out: 0xffffffff80000000
+lwl :: offset: 0x789, out: 0xffffffffd1800000
+lwl :: offset: 0x78a, out: 0x21d18000
+lwl :: offset: 0x78b, out: 0xffffffffc521d180
+lwl :: offset: 0x78c, out: 0xffffffffc3000000
+lwl :: offset: 0x78d, out: 0x78c30000
+lwl :: offset: 0x78e, out: 0x278c300
+lwl :: offset: 0x78f, out: 0xffffffffd00278c3
+lwl :: offset: 0x790, out: 0x5d000000
+lwl :: offset: 0x791, out: 0x7a5d0000
+lwl :: offset: 0x792, out: 0xffffffffd37a5d00
+lwl :: offset: 0x793, out: 0xffffffffc1d37a5d
+lwl :: offset: 0x794, out: 0xffffffffa4000000
+lwl :: offset: 0x795, out: 0x44a40000
+lwl :: offset: 0x796, out: 0x944a400
+lwl :: offset: 0x797, out: 0xffffffffe90944a4
+lwl :: offset: 0x798, out: 0x39000000
+lwl :: offset: 0x799, out: 0xffffffff98390000
+lwl :: offset: 0x79a, out: 0xffffffffef983900
+lwl :: offset: 0x79b, out: 0xffffffffddef9839
+lwl :: offset: 0x79c, out: 0xffffffff8f000000
+lwl :: offset: 0x79d, out: 0x698f0000
+lwl :: offset: 0x79e, out: 0xfffffffffd698f00
+lwl :: offset: 0x79f, out: 0x65fd698f
+lwl :: offset: 0x7a0, out: 0x52000000
+lwl :: offset: 0x7a1, out: 0xffffffffaf520000
+lwl :: offset: 0x7a2, out: 0xffffffffb5af5200
+lwl :: offset: 0x7a3, out: 0xffffffff81b5af52
+lwl :: offset: 0x7a4, out: 0xffffffffad000000
+lwl :: offset: 0x7a5, out: 0xffffffffe3ad0000
+lwl :: offset: 0x7a6, out: 0xffffffff9ee3ad00
+lwl :: offset: 0x7a7, out: 0xffffffffc49ee3ad
+lwl :: offset: 0x7a8, out: 0xffffffffe9000000
+lwl :: offset: 0x7a9, out: 0x63e90000
+lwl :: offset: 0x7aa, out: 0xffffffffb263e900
+lwl :: offset: 0x7ab, out: 0xffffffffbdb263e9
+lwl :: offset: 0x7ac, out: 0xffffffffe8000000
+lwl :: offset: 0x7ad, out: 0x41e80000
+lwl :: offset: 0x7ae, out: 0xffffffffa941e800
+lwl :: offset: 0x7af, out: 0x7aa941e8
+lwl :: offset: 0x7b0, out: 0xffffffff8d000000
+lwl :: offset: 0x7b1, out: 0xffffffffb58d0000
+lwl :: offset: 0x7b2, out: 0xfffffffff3b58d00
+lwl :: offset: 0x7b3, out: 0x42f3b58d
+lwl :: offset: 0x7b4, out: 0xffffffff9e000000
+lwl :: offset: 0x7b5, out: 0x209e0000
+lwl :: offset: 0x7b6, out: 0x2c209e00
+lwl :: offset: 0x7b7, out: 0x372c209e
+lwl :: offset: 0x7b8, out: 0x3b000000
+lwl :: offset: 0x7b9, out: 0xffffffffa83b0000
+lwl :: offset: 0x7ba, out: 0x22a83b00
+lwl :: offset: 0x7bb, out: 0xffffffffe122a83b
+lwl :: offset: 0x7bc, out: 0xffffffffb7000000
+lwl :: offset: 0x7bd, out: 0x70b70000
+lwl :: offset: 0x7be, out: 0xfffffffff870b700
+lwl :: offset: 0x7bf, out: 0x30f870b7
+lwl :: offset: 0x7c0, out: 0xffffffffec000000
+lwl :: offset: 0x7c1, out: 0x30ec0000
+lwl :: offset: 0x7c2, out: 0xffffffff8930ec00
+lwl :: offset: 0x7c3, out: 0x678930ec
+lwl :: offset: 0x7c4, out: 0x4b000000
+lwl :: offset: 0x7c5, out: 0xffffffffde4b0000
+lwl :: offset: 0x7c6, out: 0x2de4b00
+lwl :: offset: 0x7c7, out: 0xffffffff9e02de4b
+lwl :: offset: 0x7c8, out: 0x1e000000
+lwl :: offset: 0x7c9, out: 0x631e0000
+lwl :: offset: 0x7ca, out: 0x26631e00
+lwl :: offset: 0x7cb, out: 0xffffffff9826631e
+lwl :: offset: 0x7cc, out: 0x63000000
+lwl :: offset: 0x7cd, out: 0xffffffffa8630000
+lwl :: offset: 0x7ce, out: 0x61a86300
+lwl :: offset: 0x7cf, out: 0xffffffffcd61a863
+lwl :: offset: 0x7d0, out: 0xffffffffca000000
+lwl :: offset: 0x7d1, out: 0xffffffffd3ca0000
+lwl :: offset: 0x7d2, out: 0x7bd3ca00
+lwl :: offset: 0x7d3, out: 0xffffffff9a7bd3ca
+lwl :: offset: 0x7d4, out: 0xffffffff89000000
+lwl :: offset: 0x7d5, out: 0xffffffffbc890000
+lwl :: offset: 0x7d6, out: 0xffffffff87bc8900
+lwl :: offset: 0x7d7, out: 0xffffffffae87bc89
+lwl :: offset: 0x7d8, out: 0x17000000
+lwl :: offset: 0x7d9, out: 0xffffffffaf170000
+lwl :: offset: 0x7da, out: 0xffffffff81af1700
+lwl :: offset: 0x7db, out: 0x6481af17
+lwl :: offset: 0x7dc, out: 0x4d000000
+lwl :: offset: 0x7dd, out: 0x644d0000
+lwl :: offset: 0x7de, out: 0xffffffffec644d00
+lwl :: offset: 0x7df, out: 0x58ec644d
+lwl :: offset: 0x7e0, out: 0x66000000
+lwl :: offset: 0x7e1, out: 0xffffffffb6660000
+lwl :: offset: 0x7e2, out: 0x36b66600
+lwl :: offset: 0x7e3, out: 0xffffffffb236b666
+lwl :: offset: 0x7e4, out: 0x5f000000
+lwl :: offset: 0x7e5, out: 0xffffffffce5f0000
+lwl :: offset: 0x7e6, out: 0xcce5f00
+lwl :: offset: 0x7e7, out: 0x680cce5f
+lwl :: offset: 0x7e8, out: 0x75000000
+lwl :: offset: 0x7e9, out: 0x4d750000
+lwl :: offset: 0x7ea, out: 0x6d4d7500
+lwl :: offset: 0x7eb, out: 0x1f6d4d75
+lwl :: offset: 0x7ec, out: 0x47000000
+lwl :: offset: 0x7ed, out: 0xffffffff99470000
+lwl :: offset: 0x7ee, out: 0xffffffffaa994700
+lwl :: offset: 0x7ef, out: 0x3baa9947
+lwl :: offset: 0x7f0, out: 0x6b000000
+lwl :: offset: 0x7f1, out: 0x236b0000
+lwl :: offset: 0x7f2, out: 0x12236b00
+lwl :: offset: 0x7f3, out: 0x5f12236b
+lwl :: offset: 0x7f4, out: 0x44000000
+lwl :: offset: 0x7f5, out: 0xffffffff9b440000
+lwl :: offset: 0x7f6, out: 0x4d9b4400
+lwl :: offset: 0x7f7, out: 0x614d9b44
+lwl :: offset: 0x7f8, out: 0x21000000
+lwl :: offset: 0x7f9, out: 0x41210000
+lwl :: offset: 0x7fa, out: 0xffffffffa8412100
+lwl :: offset: 0x7fb, out: 0x1ba84121
+lwl :: offset: 0x7fc, out: 0x66000000
+lwl :: offset: 0x7fd, out: 0xffffffffec660000
+lwl :: offset: 0x7fe, out: 0xffffffffa6ec6600
+lwl :: offset: 0x7ff, out: 0xffffffffa2a6ec66
+lwr :: offset: 0x0, out: 0x0
+lwr :: offset: 0x1, out: 0x0
+lwr :: offset: 0x2, out: 0x0
+lwr :: offset: 0x3, out: 0x0
+lwr :: offset: 0x4, out: 0x0
+lwr :: offset: 0x5, out: 0x0
+lwr :: offset: 0x6, out: 0x0
+lwr :: offset: 0x7, out: 0x0
+lwr :: offset: 0x8, out: 0x9823b6e
+lwr :: offset: 0x9, out: 0x9823b
+lwr :: offset: 0xa, out: 0x982
+lwr :: offset: 0xb, out: 0x9
+lwr :: offset: 0xc, out: 0xd4326d9
+lwr :: offset: 0xd, out: 0xd4326
+lwr :: offset: 0xe, out: 0xd43
+lwr :: offset: 0xf, out: 0xd
+lwr :: offset: 0x10, out: 0x130476dc
+lwr :: offset: 0x11, out: 0x130476
+lwr :: offset: 0x12, out: 0x1304
+lwr :: offset: 0x13, out: 0x13
+lwr :: offset: 0x14, out: 0x17c56b6b
+lwr :: offset: 0x15, out: 0x17c56b
+lwr :: offset: 0x16, out: 0x17c5
+lwr :: offset: 0x17, out: 0x17
+lwr :: offset: 0x18, out: 0x1a864db2
+lwr :: offset: 0x19, out: 0x1a864d
+lwr :: offset: 0x1a, out: 0x1a86
+lwr :: offset: 0x1b, out: 0x1a
+lwr :: offset: 0x1c, out: 0x1e475005
+lwr :: offset: 0x1d, out: 0x1e4750
+lwr :: offset: 0x1e, out: 0x1e47
+lwr :: offset: 0x1f, out: 0x1e
+lwr :: offset: 0x20, out: 0x2608edb8
+lwr :: offset: 0x21, out: 0x2608ed
+lwr :: offset: 0x22, out: 0x2608
+lwr :: offset: 0x23, out: 0x26
+lwr :: offset: 0x24, out: 0x22c9f00f
+lwr :: offset: 0x25, out: 0x22c9f0
+lwr :: offset: 0x26, out: 0x22c9
+lwr :: offset: 0x27, out: 0x22
+lwr :: offset: 0x28, out: 0x2f8ad6d6
+lwr :: offset: 0x29, out: 0x2f8ad6
+lwr :: offset: 0x2a, out: 0x2f8a
+lwr :: offset: 0x2b, out: 0x2f
+lwr :: offset: 0x2c, out: 0x2b4bcb61
+lwr :: offset: 0x2d, out: 0x2b4bcb
+lwr :: offset: 0x2e, out: 0x2b4b
+lwr :: offset: 0x2f, out: 0x2b
+lwr :: offset: 0x30, out: 0x350c9b64
+lwr :: offset: 0x31, out: 0x350c9b
+lwr :: offset: 0x32, out: 0x350c
+lwr :: offset: 0x33, out: 0x35
+lwr :: offset: 0x34, out: 0x31cd86d3
+lwr :: offset: 0x35, out: 0x31cd86
+lwr :: offset: 0x36, out: 0x31cd
+lwr :: offset: 0x37, out: 0x31
+lwr :: offset: 0x38, out: 0x3c8ea00a
+lwr :: offset: 0x39, out: 0x3c8ea0
+lwr :: offset: 0x3a, out: 0x3c8e
+lwr :: offset: 0x3b, out: 0x3c
+lwr :: offset: 0x3c, out: 0x384fbdbd
+lwr :: offset: 0x3d, out: 0x384fbd
+lwr :: offset: 0x3e, out: 0x384f
+lwr :: offset: 0x3f, out: 0x38
+lwr :: offset: 0x40, out: 0x4c11db70
+lwr :: offset: 0x41, out: 0x4c11db
+lwr :: offset: 0x42, out: 0x4c11
+lwr :: offset: 0x43, out: 0x4c
+lwr :: offset: 0x44, out: 0x48d0c6c7
+lwr :: offset: 0x45, out: 0x48d0c6
+lwr :: offset: 0x46, out: 0x48d0
+lwr :: offset: 0x47, out: 0x48
+lwr :: offset: 0x48, out: 0x4593e01e
+lwr :: offset: 0x49, out: 0x4593e0
+lwr :: offset: 0x4a, out: 0x4593
+lwr :: offset: 0x4b, out: 0x45
+lwr :: offset: 0x4c, out: 0x4152fda9
+lwr :: offset: 0x4d, out: 0x4152fd
+lwr :: offset: 0x4e, out: 0x4152
+lwr :: offset: 0x4f, out: 0x41
+lwr :: offset: 0x50, out: 0x5f15adac
+lwr :: offset: 0x51, out: 0x5f15ad
+lwr :: offset: 0x52, out: 0x5f15
+lwr :: offset: 0x53, out: 0x5f
+lwr :: offset: 0x54, out: 0x5bd4b01b
+lwr :: offset: 0x55, out: 0x5bd4b0
+lwr :: offset: 0x56, out: 0x5bd4
+lwr :: offset: 0x57, out: 0x5b
+lwr :: offset: 0x58, out: 0x569796c2
+lwr :: offset: 0x59, out: 0x569796
+lwr :: offset: 0x5a, out: 0x5697
+lwr :: offset: 0x5b, out: 0x56
+lwr :: offset: 0x5c, out: 0x52568b75
+lwr :: offset: 0x5d, out: 0x52568b
+lwr :: offset: 0x5e, out: 0x5256
+lwr :: offset: 0x5f, out: 0x52
+lwr :: offset: 0x60, out: 0x6a1936c8
+lwr :: offset: 0x61, out: 0x6a1936
+lwr :: offset: 0x62, out: 0x6a19
+lwr :: offset: 0x63, out: 0x6a
+lwr :: offset: 0x64, out: 0x6ed82b7f
+lwr :: offset: 0x65, out: 0x6ed82b
+lwr :: offset: 0x66, out: 0x6ed8
+lwr :: offset: 0x67, out: 0x6e
+lwr :: offset: 0x68, out: 0x639b0da6
+lwr :: offset: 0x69, out: 0x639b0d
+lwr :: offset: 0x6a, out: 0x639b
+lwr :: offset: 0x6b, out: 0x63
+lwr :: offset: 0x6c, out: 0x675a1011
+lwr :: offset: 0x6d, out: 0x675a10
+lwr :: offset: 0x6e, out: 0x675a
+lwr :: offset: 0x6f, out: 0x67
+lwr :: offset: 0x70, out: 0x791d4014
+lwr :: offset: 0x71, out: 0x791d40
+lwr :: offset: 0x72, out: 0x791d
+lwr :: offset: 0x73, out: 0x79
+lwr :: offset: 0x74, out: 0x7ddc5da3
+lwr :: offset: 0x75, out: 0x7ddc5d
+lwr :: offset: 0x76, out: 0x7ddc
+lwr :: offset: 0x77, out: 0x7d
+lwr :: offset: 0x78, out: 0x709f7b7a
+lwr :: offset: 0x79, out: 0x709f7b
+lwr :: offset: 0x7a, out: 0x709f
+lwr :: offset: 0x7b, out: 0x70
+lwr :: offset: 0x7c, out: 0x745e66cd
+lwr :: offset: 0x7d, out: 0x745e66
+lwr :: offset: 0x7e, out: 0x745e
+lwr :: offset: 0x7f, out: 0x74
+lwr :: offset: 0x80, out: 0xffffffff9823b6e0
+lwr :: offset: 0x81, out: 0x9823b6
+lwr :: offset: 0x82, out: 0x9823
+lwr :: offset: 0x83, out: 0x98
+lwr :: offset: 0x84, out: 0xffffffff9ce2ab57
+lwr :: offset: 0x85, out: 0x9ce2ab
+lwr :: offset: 0x86, out: 0x9ce2
+lwr :: offset: 0x87, out: 0x9c
+lwr :: offset: 0x88, out: 0xffffffff91a18d8e
+lwr :: offset: 0x89, out: 0x91a18d
+lwr :: offset: 0x8a, out: 0x91a1
+lwr :: offset: 0x8b, out: 0x91
+lwr :: offset: 0x8c, out: 0xffffffff95609039
+lwr :: offset: 0x8d, out: 0x956090
+lwr :: offset: 0x8e, out: 0x9560
+lwr :: offset: 0x8f, out: 0x95
+lwr :: offset: 0x90, out: 0xffffffff8b27c03c
+lwr :: offset: 0x91, out: 0x8b27c0
+lwr :: offset: 0x92, out: 0x8b27
+lwr :: offset: 0x93, out: 0x8b
+lwr :: offset: 0x94, out: 0xffffffff8fe6dd8b
+lwr :: offset: 0x95, out: 0x8fe6dd
+lwr :: offset: 0x96, out: 0x8fe6
+lwr :: offset: 0x97, out: 0x8f
+lwr :: offset: 0x98, out: 0xffffffff82a5fb52
+lwr :: offset: 0x99, out: 0x82a5fb
+lwr :: offset: 0x9a, out: 0x82a5
+lwr :: offset: 0x9b, out: 0x82
+lwr :: offset: 0x9c, out: 0xffffffff8664e6e5
+lwr :: offset: 0x9d, out: 0x8664e6
+lwr :: offset: 0x9e, out: 0x8664
+lwr :: offset: 0x9f, out: 0x86
+lwr :: offset: 0xa0, out: 0xffffffffbe2b5b58
+lwr :: offset: 0xa1, out: 0xbe2b5b
+lwr :: offset: 0xa2, out: 0xbe2b
+lwr :: offset: 0xa3, out: 0xbe
+lwr :: offset: 0xa4, out: 0xffffffffbaea46ef
+lwr :: offset: 0xa5, out: 0xbaea46
+lwr :: offset: 0xa6, out: 0xbaea
+lwr :: offset: 0xa7, out: 0xba
+lwr :: offset: 0xa8, out: 0xffffffffb7a96036
+lwr :: offset: 0xa9, out: 0xb7a960
+lwr :: offset: 0xaa, out: 0xb7a9
+lwr :: offset: 0xab, out: 0xb7
+lwr :: offset: 0xac, out: 0xffffffffb3687d81
+lwr :: offset: 0xad, out: 0xb3687d
+lwr :: offset: 0xae, out: 0xb368
+lwr :: offset: 0xaf, out: 0xb3
+lwr :: offset: 0xb0, out: 0xffffffffad2f2d84
+lwr :: offset: 0xb1, out: 0xad2f2d
+lwr :: offset: 0xb2, out: 0xad2f
+lwr :: offset: 0xb3, out: 0xad
+lwr :: offset: 0xb4, out: 0xffffffffa9ee3033
+lwr :: offset: 0xb5, out: 0xa9ee30
+lwr :: offset: 0xb6, out: 0xa9ee
+lwr :: offset: 0xb7, out: 0xa9
+lwr :: offset: 0xb8, out: 0xffffffffa4ad16ea
+lwr :: offset: 0xb9, out: 0xa4ad16
+lwr :: offset: 0xba, out: 0xa4ad
+lwr :: offset: 0xbb, out: 0xa4
+lwr :: offset: 0xbc, out: 0xffffffffa06c0b5d
+lwr :: offset: 0xbd, out: 0xa06c0b
+lwr :: offset: 0xbe, out: 0xa06c
+lwr :: offset: 0xbf, out: 0xa0
+lwr :: offset: 0xc0, out: 0xffffffffd4326d90
+lwr :: offset: 0xc1, out: 0xd4326d
+lwr :: offset: 0xc2, out: 0xd432
+lwr :: offset: 0xc3, out: 0xd4
+lwr :: offset: 0xc4, out: 0xffffffffd0f37027
+lwr :: offset: 0xc5, out: 0xd0f370
+lwr :: offset: 0xc6, out: 0xd0f3
+lwr :: offset: 0xc7, out: 0xd0
+lwr :: offset: 0xc8, out: 0xffffffffddb056fe
+lwr :: offset: 0xc9, out: 0xddb056
+lwr :: offset: 0xca, out: 0xddb0
+lwr :: offset: 0xcb, out: 0xdd
+lwr :: offset: 0xcc, out: 0xffffffffd9714b49
+lwr :: offset: 0xcd, out: 0xd9714b
+lwr :: offset: 0xce, out: 0xd971
+lwr :: offset: 0xcf, out: 0xd9
+lwr :: offset: 0xd0, out: 0xffffffffc7361b4c
+lwr :: offset: 0xd1, out: 0xc7361b
+lwr :: offset: 0xd2, out: 0xc736
+lwr :: offset: 0xd3, out: 0xc7
+lwr :: offset: 0xd4, out: 0xffffffffc3f706fb
+lwr :: offset: 0xd5, out: 0xc3f706
+lwr :: offset: 0xd6, out: 0xc3f7
+lwr :: offset: 0xd7, out: 0xc3
+lwr :: offset: 0xd8, out: 0xffffffffceb42022
+lwr :: offset: 0xd9, out: 0xceb420
+lwr :: offset: 0xda, out: 0xceb4
+lwr :: offset: 0xdb, out: 0xce
+lwr :: offset: 0xdc, out: 0xffffffffca753d95
+lwr :: offset: 0xdd, out: 0xca753d
+lwr :: offset: 0xde, out: 0xca75
+lwr :: offset: 0xdf, out: 0xca
+lwr :: offset: 0xe0, out: 0xfffffffff23a8028
+lwr :: offset: 0xe1, out: 0xf23a80
+lwr :: offset: 0xe2, out: 0xf23a
+lwr :: offset: 0xe3, out: 0xf2
+lwr :: offset: 0xe4, out: 0xfffffffff6fb9d9f
+lwr :: offset: 0xe5, out: 0xf6fb9d
+lwr :: offset: 0xe6, out: 0xf6fb
+lwr :: offset: 0xe7, out: 0xf6
+lwr :: offset: 0xe8, out: 0xfffffffffbb8bb46
+lwr :: offset: 0xe9, out: 0xfbb8bb
+lwr :: offset: 0xea, out: 0xfbb8
+lwr :: offset: 0xeb, out: 0xfb
+lwr :: offset: 0xec, out: 0xffffffffff79a6f1
+lwr :: offset: 0xed, out: 0xff79a6
+lwr :: offset: 0xee, out: 0xff79
+lwr :: offset: 0xef, out: 0xff
+lwr :: offset: 0xf0, out: 0xffffffffe13ef6f4
+lwr :: offset: 0xf1, out: 0xe13ef6
+lwr :: offset: 0xf2, out: 0xe13e
+lwr :: offset: 0xf3, out: 0xe1
+lwr :: offset: 0xf4, out: 0xffffffffe5ffeb43
+lwr :: offset: 0xf5, out: 0xe5ffeb
+lwr :: offset: 0xf6, out: 0xe5ff
+lwr :: offset: 0xf7, out: 0xe5
+lwr :: offset: 0xf8, out: 0xffffffffe8bccd9a
+lwr :: offset: 0xf9, out: 0xe8bccd
+lwr :: offset: 0xfa, out: 0xe8bc
+lwr :: offset: 0xfb, out: 0xe8
+lwr :: offset: 0xfc, out: 0xffffffffec7dd02d
+lwr :: offset: 0xfd, out: 0xec7dd0
+lwr :: offset: 0xfe, out: 0xec7d
+lwr :: offset: 0xff, out: 0xec
+lwr :: offset: 0x100, out: 0x34867077
+lwr :: offset: 0x101, out: 0x348670
+lwr :: offset: 0x102, out: 0x3486
+lwr :: offset: 0x103, out: 0x34
+lwr :: offset: 0x104, out: 0x30476dc0
+lwr :: offset: 0x105, out: 0x30476d
+lwr :: offset: 0x106, out: 0x3047
+lwr :: offset: 0x107, out: 0x30
+lwr :: offset: 0x108, out: 0x3d044b19
+lwr :: offset: 0x109, out: 0x3d044b
+lwr :: offset: 0x10a, out: 0x3d04
+lwr :: offset: 0x10b, out: 0x3d
+lwr :: offset: 0x10c, out: 0x39c556ae
+lwr :: offset: 0x10d, out: 0x39c556
+lwr :: offset: 0x10e, out: 0x39c5
+lwr :: offset: 0x10f, out: 0x39
+lwr :: offset: 0x110, out: 0x278206ab
+lwr :: offset: 0x111, out: 0x278206
+lwr :: offset: 0x112, out: 0x2782
+lwr :: offset: 0x113, out: 0x27
+lwr :: offset: 0x114, out: 0x23431b1c
+lwr :: offset: 0x115, out: 0x23431b
+lwr :: offset: 0x116, out: 0x2343
+lwr :: offset: 0x117, out: 0x23
+lwr :: offset: 0x118, out: 0x2e003dc5
+lwr :: offset: 0x119, out: 0x2e003d
+lwr :: offset: 0x11a, out: 0x2e00
+lwr :: offset: 0x11b, out: 0x2e
+lwr :: offset: 0x11c, out: 0x2ac12072
+lwr :: offset: 0x11d, out: 0x2ac120
+lwr :: offset: 0x11e, out: 0x2ac1
+lwr :: offset: 0x11f, out: 0x2a
+lwr :: offset: 0x120, out: 0x128e9dcf
+lwr :: offset: 0x121, out: 0x128e9d
+lwr :: offset: 0x122, out: 0x128e
+lwr :: offset: 0x123, out: 0x12
+lwr :: offset: 0x124, out: 0x164f8078
+lwr :: offset: 0x125, out: 0x164f80
+lwr :: offset: 0x126, out: 0x164f
+lwr :: offset: 0x127, out: 0x16
+lwr :: offset: 0x128, out: 0x1b0ca6a1
+lwr :: offset: 0x129, out: 0x1b0ca6
+lwr :: offset: 0x12a, out: 0x1b0c
+lwr :: offset: 0x12b, out: 0x1b
+lwr :: offset: 0x12c, out: 0x1fcdbb16
+lwr :: offset: 0x12d, out: 0x1fcdbb
+lwr :: offset: 0x12e, out: 0x1fcd
+lwr :: offset: 0x12f, out: 0x1f
+lwr :: offset: 0x130, out: 0x18aeb13
+lwr :: offset: 0x131, out: 0x18aeb
+lwr :: offset: 0x132, out: 0x18a
+lwr :: offset: 0x133, out: 0x1
+lwr :: offset: 0x134, out: 0x54bf6a4
+lwr :: offset: 0x135, out: 0x54bf6
+lwr :: offset: 0x136, out: 0x54b
+lwr :: offset: 0x137, out: 0x5
+lwr :: offset: 0x138, out: 0x808d07d
+lwr :: offset: 0x139, out: 0x808d0
+lwr :: offset: 0x13a, out: 0x808
+lwr :: offset: 0x13b, out: 0x8
+lwr :: offset: 0x13c, out: 0xcc9cdca
+lwr :: offset: 0x13d, out: 0xcc9cd
+lwr :: offset: 0x13e, out: 0xcc9
+lwr :: offset: 0x13f, out: 0xc
+lwr :: offset: 0x140, out: 0x7897ab07
+lwr :: offset: 0x141, out: 0x7897ab
+lwr :: offset: 0x142, out: 0x7897
+lwr :: offset: 0x143, out: 0x78
+lwr :: offset: 0x144, out: 0x7c56b6b0
+lwr :: offset: 0x145, out: 0x7c56b6
+lwr :: offset: 0x146, out: 0x7c56
+lwr :: offset: 0x147, out: 0x7c
+lwr :: offset: 0x148, out: 0x71159069
+lwr :: offset: 0x149, out: 0x711590
+lwr :: offset: 0x14a, out: 0x7115
+lwr :: offset: 0x14b, out: 0x71
+lwr :: offset: 0x14c, out: 0x75d48dde
+lwr :: offset: 0x14d, out: 0x75d48d
+lwr :: offset: 0x14e, out: 0x75d4
+lwr :: offset: 0x14f, out: 0x75
+lwr :: offset: 0x150, out: 0x6b93dddb
+lwr :: offset: 0x151, out: 0x6b93dd
+lwr :: offset: 0x152, out: 0x6b93
+lwr :: offset: 0x153, out: 0x6b
+lwr :: offset: 0x154, out: 0x6f52c06c
+lwr :: offset: 0x155, out: 0x6f52c0
+lwr :: offset: 0x156, out: 0x6f52
+lwr :: offset: 0x157, out: 0x6f
+lwr :: offset: 0x158, out: 0x6211e6b5
+lwr :: offset: 0x159, out: 0x6211e6
+lwr :: offset: 0x15a, out: 0x6211
+lwr :: offset: 0x15b, out: 0x62
+lwr :: offset: 0x15c, out: 0x66d0fb02
+lwr :: offset: 0x15d, out: 0x66d0fb
+lwr :: offset: 0x15e, out: 0x66d0
+lwr :: offset: 0x15f, out: 0x66
+lwr :: offset: 0x160, out: 0x5e9f46bf
+lwr :: offset: 0x161, out: 0x5e9f46
+lwr :: offset: 0x162, out: 0x5e9f
+lwr :: offset: 0x163, out: 0x5e
+lwr :: offset: 0x164, out: 0x5a5e5b08
+lwr :: offset: 0x165, out: 0x5a5e5b
+lwr :: offset: 0x166, out: 0x5a5e
+lwr :: offset: 0x167, out: 0x5a
+lwr :: offset: 0x168, out: 0x571d7dd1
+lwr :: offset: 0x169, out: 0x571d7d
+lwr :: offset: 0x16a, out: 0x571d
+lwr :: offset: 0x16b, out: 0x57
+lwr :: offset: 0x16c, out: 0x53dc6066
+lwr :: offset: 0x16d, out: 0x53dc60
+lwr :: offset: 0x16e, out: 0x53dc
+lwr :: offset: 0x16f, out: 0x53
+lwr :: offset: 0x170, out: 0x4d9b3063
+lwr :: offset: 0x171, out: 0x4d9b30
+lwr :: offset: 0x172, out: 0x4d9b
+lwr :: offset: 0x173, out: 0x4d
+lwr :: offset: 0x174, out: 0x495a2dd4
+lwr :: offset: 0x175, out: 0x495a2d
+lwr :: offset: 0x176, out: 0x495a
+lwr :: offset: 0x177, out: 0x49
+lwr :: offset: 0x178, out: 0x44190b0d
+lwr :: offset: 0x179, out: 0x44190b
+lwr :: offset: 0x17a, out: 0x4419
+lwr :: offset: 0x17b, out: 0x44
+lwr :: offset: 0x17c, out: 0x40d816ba
+lwr :: offset: 0x17d, out: 0x40d816
+lwr :: offset: 0x17e, out: 0x40d8
+lwr :: offset: 0x17f, out: 0x40
+lwr :: offset: 0x180, out: 0xffffffffaca5c697
+lwr :: offset: 0x181, out: 0xaca5c6
+lwr :: offset: 0x182, out: 0xaca5
+lwr :: offset: 0x183, out: 0xac
+lwr :: offset: 0x184, out: 0xffffffffa864db20
+lwr :: offset: 0x185, out: 0xa864db
+lwr :: offset: 0x186, out: 0xa864
+lwr :: offset: 0x187, out: 0xa8
+lwr :: offset: 0x188, out: 0xffffffffa527fdf9
+lwr :: offset: 0x189, out: 0xa527fd
+lwr :: offset: 0x18a, out: 0xa527
+lwr :: offset: 0x18b, out: 0xa5
+lwr :: offset: 0x18c, out: 0xffffffffa1e6e04e
+lwr :: offset: 0x18d, out: 0xa1e6e0
+lwr :: offset: 0x18e, out: 0xa1e6
+lwr :: offset: 0x18f, out: 0xa1
+lwr :: offset: 0x190, out: 0xffffffffbfa1b04b
+lwr :: offset: 0x191, out: 0xbfa1b0
+lwr :: offset: 0x192, out: 0xbfa1
+lwr :: offset: 0x193, out: 0xbf
+lwr :: offset: 0x194, out: 0xffffffffbb60adfc
+lwr :: offset: 0x195, out: 0xbb60ad
+lwr :: offset: 0x196, out: 0xbb60
+lwr :: offset: 0x197, out: 0xbb
+lwr :: offset: 0x198, out: 0xffffffffb6238b25
+lwr :: offset: 0x199, out: 0xb6238b
+lwr :: offset: 0x19a, out: 0xb623
+lwr :: offset: 0x19b, out: 0xb6
+lwr :: offset: 0x19c, out: 0xffffffffb2e29692
+lwr :: offset: 0x19d, out: 0xb2e296
+lwr :: offset: 0x19e, out: 0xb2e2
+lwr :: offset: 0x19f, out: 0xb2
+lwr :: offset: 0x1a0, out: 0xffffffff8aad2b2f
+lwr :: offset: 0x1a1, out: 0x8aad2b
+lwr :: offset: 0x1a2, out: 0x8aad
+lwr :: offset: 0x1a3, out: 0x8a
+lwr :: offset: 0x1a4, out: 0x0
+lwr :: offset: 0x1a5, out: 0x0
+lwr :: offset: 0x1a6, out: 0x0
+lwr :: offset: 0x1a7, out: 0x0
+lwr :: offset: 0x1a8, out: 0x0
+lwr :: offset: 0x1a9, out: 0x0
+lwr :: offset: 0x1aa, out: 0x0
+lwr :: offset: 0x1ab, out: 0x0
+lwr :: offset: 0x1ac, out: 0xffffffff87ee0df6
+lwr :: offset: 0x1ad, out: 0x87ee0d
+lwr :: offset: 0x1ae, out: 0x87ee
+lwr :: offset: 0x1af, out: 0x87
+lwr :: offset: 0x1b0, out: 0xffffffff99a95df3
+lwr :: offset: 0x1b1, out: 0x99a95d
+lwr :: offset: 0x1b2, out: 0x99a9
+lwr :: offset: 0x1b3, out: 0x99
+lwr :: offset: 0x1b4, out: 0xffffffff9d684044
+lwr :: offset: 0x1b5, out: 0x9d6840
+lwr :: offset: 0x1b6, out: 0x9d68
+lwr :: offset: 0x1b7, out: 0x9d
+lwr :: offset: 0x1b8, out: 0xffffffff902b669d
+lwr :: offset: 0x1b9, out: 0x902b66
+lwr :: offset: 0x1ba, out: 0x902b
+lwr :: offset: 0x1bb, out: 0x90
+lwr :: offset: 0x1bc, out: 0xffffffff94ea7b2a
+lwr :: offset: 0x1bd, out: 0x94ea7b
+lwr :: offset: 0x1be, out: 0x94ea
+lwr :: offset: 0x1bf, out: 0x94
+lwr :: offset: 0x1c0, out: 0xffffffffe0b41de7
+lwr :: offset: 0x1c1, out: 0xe0b41d
+lwr :: offset: 0x1c2, out: 0xe0b4
+lwr :: offset: 0x1c3, out: 0xe0
+lwr :: offset: 0x1c4, out: 0xffffffffe4750050
+lwr :: offset: 0x1c5, out: 0xe47500
+lwr :: offset: 0x1c6, out: 0xe475
+lwr :: offset: 0x1c7, out: 0xe4
+lwr :: offset: 0x1c8, out: 0xffffffffe9362689
+lwr :: offset: 0x1c9, out: 0xe93626
+lwr :: offset: 0x1ca, out: 0xe936
+lwr :: offset: 0x1cb, out: 0xe9
+lwr :: offset: 0x1cc, out: 0xffffffffedf73b3e
+lwr :: offset: 0x1cd, out: 0xedf73b
+lwr :: offset: 0x1ce, out: 0xedf7
+lwr :: offset: 0x1cf, out: 0xed
+lwr :: offset: 0x1d0, out: 0xfffffffff3b06b3b
+lwr :: offset: 0x1d1, out: 0xf3b06b
+lwr :: offset: 0x1d2, out: 0xf3b0
+lwr :: offset: 0x1d3, out: 0xf3
+lwr :: offset: 0x1d4, out: 0xfffffffff771768c
+lwr :: offset: 0x1d5, out: 0xf77176
+lwr :: offset: 0x1d6, out: 0xf771
+lwr :: offset: 0x1d7, out: 0xf7
+lwr :: offset: 0x1d8, out: 0xfffffffffa325055
+lwr :: offset: 0x1d9, out: 0xfa3250
+lwr :: offset: 0x1da, out: 0xfa32
+lwr :: offset: 0x1db, out: 0xfa
+lwr :: offset: 0x1dc, out: 0xfffffffffef34de2
+lwr :: offset: 0x1dd, out: 0xfef34d
+lwr :: offset: 0x1de, out: 0xfef3
+lwr :: offset: 0x1df, out: 0xfe
+lwr :: offset: 0x1e0, out: 0xffffffffc6bcf05f
+lwr :: offset: 0x1e1, out: 0xc6bcf0
+lwr :: offset: 0x1e2, out: 0xc6bc
+lwr :: offset: 0x1e3, out: 0xc6
+lwr :: offset: 0x1e4, out: 0xffffffffc27dede8
+lwr :: offset: 0x1e5, out: 0xc27ded
+lwr :: offset: 0x1e6, out: 0xc27d
+lwr :: offset: 0x1e7, out: 0xc2
+lwr :: offset: 0x1e8, out: 0xffffffffcf3ecb31
+lwr :: offset: 0x1e9, out: 0xcf3ecb
+lwr :: offset: 0x1ea, out: 0xcf3e
+lwr :: offset: 0x1eb, out: 0xcf
+lwr :: offset: 0x1ec, out: 0xffffffffcbffd686
+lwr :: offset: 0x1ed, out: 0xcbffd6
+lwr :: offset: 0x1ee, out: 0xcbff
+lwr :: offset: 0x1ef, out: 0xcb
+lwr :: offset: 0x1f0, out: 0xffffffffd5b88683
+lwr :: offset: 0x1f1, out: 0xd5b886
+lwr :: offset: 0x1f2, out: 0xd5b8
+lwr :: offset: 0x1f3, out: 0xd5
+lwr :: offset: 0x1f4, out: 0xffffffffd1799b34
+lwr :: offset: 0x1f5, out: 0xd1799b
+lwr :: offset: 0x1f6, out: 0xd179
+lwr :: offset: 0x1f7, out: 0xd1
+lwr :: offset: 0x1f8, out: 0xffffffffdc3abded
+lwr :: offset: 0x1f9, out: 0xdc3abd
+lwr :: offset: 0x1fa, out: 0xdc3a
+lwr :: offset: 0x1fb, out: 0xdc
+lwr :: offset: 0x1fc, out: 0xffffffffd8fba05a
+lwr :: offset: 0x1fd, out: 0xd8fba0
+lwr :: offset: 0x1fe, out: 0xd8fb
+lwr :: offset: 0x1ff, out: 0xd8
+lwr :: offset: 0x200, out: 0x690ce0ee
+lwr :: offset: 0x201, out: 0x690ce0
+lwr :: offset: 0x202, out: 0x690c
+lwr :: offset: 0x203, out: 0x69
+lwr :: offset: 0x204, out: 0x6dcdfd59
+lwr :: offset: 0x205, out: 0x6dcdfd
+lwr :: offset: 0x206, out: 0x6dcd
+lwr :: offset: 0x207, out: 0x6d
+lwr :: offset: 0x208, out: 0x608edb80
+lwr :: offset: 0x209, out: 0x608edb
+lwr :: offset: 0x20a, out: 0x608e
+lwr :: offset: 0x20b, out: 0x60
+lwr :: offset: 0x20c, out: 0x644fc637
+lwr :: offset: 0x20d, out: 0x644fc6
+lwr :: offset: 0x20e, out: 0x644f
+lwr :: offset: 0x20f, out: 0x64
+lwr :: offset: 0x210, out: 0x7a089632
+lwr :: offset: 0x211, out: 0x7a0896
+lwr :: offset: 0x212, out: 0x7a08
+lwr :: offset: 0x213, out: 0x7a
+lwr :: offset: 0x214, out: 0x7ec98b85
+lwr :: offset: 0x215, out: 0x7ec98b
+lwr :: offset: 0x216, out: 0x7ec9
+lwr :: offset: 0x217, out: 0x7e
+lwr :: offset: 0x218, out: 0x738aad5c
+lwr :: offset: 0x219, out: 0x738aad
+lwr :: offset: 0x21a, out: 0x738a
+lwr :: offset: 0x21b, out: 0x73
+lwr :: offset: 0x21c, out: 0x774bb0eb
+lwr :: offset: 0x21d, out: 0x774bb0
+lwr :: offset: 0x21e, out: 0x774b
+lwr :: offset: 0x21f, out: 0x77
+lwr :: offset: 0x220, out: 0x4f040d56
+lwr :: offset: 0x221, out: 0x4f040d
+lwr :: offset: 0x222, out: 0x4f04
+lwr :: offset: 0x223, out: 0x4f
+lwr :: offset: 0x224, out: 0x4bc510e1
+lwr :: offset: 0x225, out: 0x4bc510
+lwr :: offset: 0x226, out: 0x4bc5
+lwr :: offset: 0x227, out: 0x4b
+lwr :: offset: 0x228, out: 0x46863638
+lwr :: offset: 0x229, out: 0x468636
+lwr :: offset: 0x22a, out: 0x4686
+lwr :: offset: 0x22b, out: 0x46
+lwr :: offset: 0x22c, out: 0x42472b8f
+lwr :: offset: 0x22d, out: 0x42472b
+lwr :: offset: 0x22e, out: 0x4247
+lwr :: offset: 0x22f, out: 0x42
+lwr :: offset: 0x230, out: 0x5c007b8a
+lwr :: offset: 0x231, out: 0x5c007b
+lwr :: offset: 0x232, out: 0x5c00
+lwr :: offset: 0x233, out: 0x5c
+lwr :: offset: 0x234, out: 0x58c1663d
+lwr :: offset: 0x235, out: 0x58c166
+lwr :: offset: 0x236, out: 0x58c1
+lwr :: offset: 0x237, out: 0x58
+lwr :: offset: 0x238, out: 0x558240e4
+lwr :: offset: 0x239, out: 0x558240
+lwr :: offset: 0x23a, out: 0x5582
+lwr :: offset: 0x23b, out: 0x55
+lwr :: offset: 0x23c, out: 0x51435d53
+lwr :: offset: 0x23d, out: 0x51435d
+lwr :: offset: 0x23e, out: 0x5143
+lwr :: offset: 0x23f, out: 0x51
+lwr :: offset: 0x240, out: 0x251d3b9e
+lwr :: offset: 0x241, out: 0x251d3b
+lwr :: offset: 0x242, out: 0x251d
+lwr :: offset: 0x243, out: 0x25
+lwr :: offset: 0x244, out: 0x21dc2629
+lwr :: offset: 0x245, out: 0x21dc26
+lwr :: offset: 0x246, out: 0x21dc
+lwr :: offset: 0x247, out: 0x21
+lwr :: offset: 0x248, out: 0x2c9f00f0
+lwr :: offset: 0x249, out: 0x2c9f00
+lwr :: offset: 0x24a, out: 0x2c9f
+lwr :: offset: 0x24b, out: 0x2c
+lwr :: offset: 0x24c, out: 0x285e1d47
+lwr :: offset: 0x24d, out: 0x285e1d
+lwr :: offset: 0x24e, out: 0x285e
+lwr :: offset: 0x24f, out: 0x28
+lwr :: offset: 0x250, out: 0x36194d42
+lwr :: offset: 0x251, out: 0x36194d
+lwr :: offset: 0x252, out: 0x3619
+lwr :: offset: 0x253, out: 0x36
+lwr :: offset: 0x254, out: 0x32d850f5
+lwr :: offset: 0x255, out: 0x32d850
+lwr :: offset: 0x256, out: 0x32d8
+lwr :: offset: 0x257, out: 0x32
+lwr :: offset: 0x258, out: 0x3f9b762c
+lwr :: offset: 0x259, out: 0x3f9b76
+lwr :: offset: 0x25a, out: 0x3f9b
+lwr :: offset: 0x25b, out: 0x3f
+lwr :: offset: 0x25c, out: 0x3b5a6b9b
+lwr :: offset: 0x25d, out: 0x3b5a6b
+lwr :: offset: 0x25e, out: 0x3b5a
+lwr :: offset: 0x25f, out: 0x3b
+lwr :: offset: 0x260, out: 0x315d626
+lwr :: offset: 0x261, out: 0x315d6
+lwr :: offset: 0x262, out: 0x315
+lwr :: offset: 0x263, out: 0x3
+lwr :: offset: 0x264, out: 0x7d4cb91
+lwr :: offset: 0x265, out: 0x7d4cb
+lwr :: offset: 0x266, out: 0x7d4
+lwr :: offset: 0x267, out: 0x7
+lwr :: offset: 0x268, out: 0xa97ed48
+lwr :: offset: 0x269, out: 0xa97ed
+lwr :: offset: 0x26a, out: 0xa97
+lwr :: offset: 0x26b, out: 0xa
+lwr :: offset: 0x26c, out: 0xe56f0ff
+lwr :: offset: 0x26d, out: 0xe56f0
+lwr :: offset: 0x26e, out: 0xe56
+lwr :: offset: 0x26f, out: 0xe
+lwr :: offset: 0x270, out: 0x1011a0fa
+lwr :: offset: 0x271, out: 0x1011a0
+lwr :: offset: 0x272, out: 0x1011
+lwr :: offset: 0x273, out: 0x10
+lwr :: offset: 0x274, out: 0x14d0bd4d
+lwr :: offset: 0x275, out: 0x14d0bd
+lwr :: offset: 0x276, out: 0x14d0
+lwr :: offset: 0x277, out: 0x14
+lwr :: offset: 0x278, out: 0x19939b94
+lwr :: offset: 0x279, out: 0x19939b
+lwr :: offset: 0x27a, out: 0x1993
+lwr :: offset: 0x27b, out: 0x19
+lwr :: offset: 0x27c, out: 0x1d528623
+lwr :: offset: 0x27d, out: 0x1d5286
+lwr :: offset: 0x27e, out: 0x1d52
+lwr :: offset: 0x27f, out: 0x1d
+lwr :: offset: 0x280, out: 0xfffffffff12f560e
+lwr :: offset: 0x281, out: 0xf12f56
+lwr :: offset: 0x282, out: 0xf12f
+lwr :: offset: 0x283, out: 0xf1
+lwr :: offset: 0x284, out: 0xfffffffff5ee4bb9
+lwr :: offset: 0x285, out: 0xf5ee4b
+lwr :: offset: 0x286, out: 0xf5ee
+lwr :: offset: 0x287, out: 0xf5
+lwr :: offset: 0x288, out: 0xfffffffff8ad6d60
+lwr :: offset: 0x289, out: 0xf8ad6d
+lwr :: offset: 0x28a, out: 0xf8ad
+lwr :: offset: 0x28b, out: 0xf8
+lwr :: offset: 0x28c, out: 0xfffffffffc6c70d7
+lwr :: offset: 0x28d, out: 0xfc6c70
+lwr :: offset: 0x28e, out: 0xfc6c
+lwr :: offset: 0x28f, out: 0xfc
+lwr :: offset: 0x290, out: 0xffffffffe22b20d2
+lwr :: offset: 0x291, out: 0xe22b20
+lwr :: offset: 0x292, out: 0xe22b
+lwr :: offset: 0x293, out: 0xe2
+lwr :: offset: 0x294, out: 0xffffffffe6ea3d65
+lwr :: offset: 0x295, out: 0xe6ea3d
+lwr :: offset: 0x296, out: 0xe6ea
+lwr :: offset: 0x297, out: 0xe6
+lwr :: offset: 0x298, out: 0xffffffffeba91bbc
+lwr :: offset: 0x299, out: 0xeba91b
+lwr :: offset: 0x29a, out: 0xeba9
+lwr :: offset: 0x29b, out: 0xeb
+lwr :: offset: 0x29c, out: 0xffffffffef68060b
+lwr :: offset: 0x29d, out: 0xef6806
+lwr :: offset: 0x29e, out: 0xef68
+lwr :: offset: 0x29f, out: 0xef
+lwr :: offset: 0x2a0, out: 0xffffffffd727bbb6
+lwr :: offset: 0x2a1, out: 0xd727bb
+lwr :: offset: 0x2a2, out: 0xd727
+lwr :: offset: 0x2a3, out: 0xd7
+lwr :: offset: 0x2a4, out: 0xffffffffd3e6a601
+lwr :: offset: 0x2a5, out: 0xd3e6a6
+lwr :: offset: 0x2a6, out: 0xd3e6
+lwr :: offset: 0x2a7, out: 0xd3
+lwr :: offset: 0x2a8, out: 0xffffffffdea580d8
+lwr :: offset: 0x2a9, out: 0xdea580
+lwr :: offset: 0x2aa, out: 0xdea5
+lwr :: offset: 0x2ab, out: 0xde
+lwr :: offset: 0x2ac, out: 0xffffffffda649d6f
+lwr :: offset: 0x2ad, out: 0xda649d
+lwr :: offset: 0x2ae, out: 0xda64
+lwr :: offset: 0x2af, out: 0xda
+lwr :: offset: 0x2b0, out: 0xffffffffc423cd6a
+lwr :: offset: 0x2b1, out: 0xc423cd
+lwr :: offset: 0x2b2, out: 0xc423
+lwr :: offset: 0x2b3, out: 0xc4
+lwr :: offset: 0x2b4, out: 0x0
+lwr :: offset: 0x2b5, out: 0x0
+lwr :: offset: 0x2b6, out: 0x0
+lwr :: offset: 0x2b7, out: 0x0
+lwr :: offset: 0x2b8, out: 0xffffffffcda1f604
+lwr :: offset: 0x2b9, out: 0xcda1f6
+lwr :: offset: 0x2ba, out: 0xcda1
+lwr :: offset: 0x2bb, out: 0xcd
+lwr :: offset: 0x2bc, out: 0x0
+lwr :: offset: 0x2bd, out: 0x0
+lwr :: offset: 0x2be, out: 0x0
+lwr :: offset: 0x2bf, out: 0x0
+lwr :: offset: 0x2c0, out: 0xffffffffbd3e8d7e
+lwr :: offset: 0x2c1, out: 0xbd3e8d
+lwr :: offset: 0x2c2, out: 0xbd3e
+lwr :: offset: 0x2c3, out: 0xbd
+lwr :: offset: 0x2c4, out: 0xffffffffb9ff90c9
+lwr :: offset: 0x2c5, out: 0xb9ff90
+lwr :: offset: 0x2c6, out: 0xb9ff
+lwr :: offset: 0x2c7, out: 0xb9
+lwr :: offset: 0x2c8, out: 0xffffffffb4bcb610
+lwr :: offset: 0x2c9, out: 0xb4bcb6
+lwr :: offset: 0x2ca, out: 0xb4bc
+lwr :: offset: 0x2cb, out: 0xb4
+lwr :: offset: 0x2cc, out: 0xffffffffb07daba7
+lwr :: offset: 0x2cd, out: 0xb07dab
+lwr :: offset: 0x2ce, out: 0xb07d
+lwr :: offset: 0x2cf, out: 0xb0
+lwr :: offset: 0x2d0, out: 0xffffffffae3afba2
+lwr :: offset: 0x2d1, out: 0xae3afb
+lwr :: offset: 0x2d2, out: 0xae3a
+lwr :: offset: 0x2d3, out: 0xae
+lwr :: offset: 0x2d4, out: 0xffffffffaafbe615
+lwr :: offset: 0x2d5, out: 0xaafbe6
+lwr :: offset: 0x2d6, out: 0xaafb
+lwr :: offset: 0x2d7, out: 0xaa
+lwr :: offset: 0x2d8, out: 0xffffffffa7b8c0cc
+lwr :: offset: 0x2d9, out: 0xa7b8c0
+lwr :: offset: 0x2da, out: 0xa7b8
+lwr :: offset: 0x2db, out: 0xa7
+lwr :: offset: 0x2dc, out: 0xffffffffa379dd7b
+lwr :: offset: 0x2dd, out: 0xa379dd
+lwr :: offset: 0x2de, out: 0xa379
+lwr :: offset: 0x2df, out: 0xa3
+lwr :: offset: 0x2e0, out: 0xffffffff9b3660c6
+lwr :: offset: 0x2e1, out: 0x9b3660
+lwr :: offset: 0x2e2, out: 0x9b36
+lwr :: offset: 0x2e3, out: 0x9b
+lwr :: offset: 0x2e4, out: 0xffffffff9ff77d71
+lwr :: offset: 0x2e5, out: 0x9ff77d
+lwr :: offset: 0x2e6, out: 0x9ff7
+lwr :: offset: 0x2e7, out: 0x9f
+lwr :: offset: 0x2e8, out: 0xffffffff92b45ba8
+lwr :: offset: 0x2e9, out: 0x92b45b
+lwr :: offset: 0x2ea, out: 0x92b4
+lwr :: offset: 0x2eb, out: 0x92
+lwr :: offset: 0x2ec, out: 0xffffffff9675461f
+lwr :: offset: 0x2ed, out: 0x967546
+lwr :: offset: 0x2ee, out: 0x9675
+lwr :: offset: 0x2ef, out: 0x96
+lwr :: offset: 0x2f0, out: 0xffffffff8832161a
+lwr :: offset: 0x2f1, out: 0x883216
+lwr :: offset: 0x2f2, out: 0x8832
+lwr :: offset: 0x2f3, out: 0x88
+lwr :: offset: 0x2f4, out: 0xffffffff8cf30bad
+lwr :: offset: 0x2f5, out: 0x8cf30b
+lwr :: offset: 0x2f6, out: 0x8cf3
+lwr :: offset: 0x2f7, out: 0x8c
+lwr :: offset: 0x2f8, out: 0xffffffff81b02d74
+lwr :: offset: 0x2f9, out: 0x81b02d
+lwr :: offset: 0x2fa, out: 0x81b0
+lwr :: offset: 0x2fb, out: 0x81
+lwr :: offset: 0x2fc, out: 0xffffffff857130c3
+lwr :: offset: 0x2fd, out: 0x857130
+lwr :: offset: 0x2fe, out: 0x8571
+lwr :: offset: 0x2ff, out: 0x85
+lwr :: offset: 0x300, out: 0x5d8a9099
+lwr :: offset: 0x301, out: 0x5d8a90
+lwr :: offset: 0x302, out: 0x5d8a
+lwr :: offset: 0x303, out: 0x5d
+lwr :: offset: 0x304, out: 0x594b8d2e
+lwr :: offset: 0x305, out: 0x594b8d
+lwr :: offset: 0x306, out: 0x594b
+lwr :: offset: 0x307, out: 0x59
+lwr :: offset: 0x308, out: 0x5408abf7
+lwr :: offset: 0x309, out: 0x5408ab
+lwr :: offset: 0x30a, out: 0x5408
+lwr :: offset: 0x30b, out: 0x54
+lwr :: offset: 0x30c, out: 0x50c9b640
+lwr :: offset: 0x30d, out: 0x50c9b6
+lwr :: offset: 0x30e, out: 0x50c9
+lwr :: offset: 0x30f, out: 0x50
+lwr :: offset: 0x310, out: 0x4e8ee645
+lwr :: offset: 0x311, out: 0x4e8ee6
+lwr :: offset: 0x312, out: 0x4e8e
+lwr :: offset: 0x313, out: 0x4e
+lwr :: offset: 0x314, out: 0x4a4ffbf2
+lwr :: offset: 0x315, out: 0x4a4ffb
+lwr :: offset: 0x316, out: 0x4a4f
+lwr :: offset: 0x317, out: 0x4a
+lwr :: offset: 0x318, out: 0x470cdd2b
+lwr :: offset: 0x319, out: 0x470cdd
+lwr :: offset: 0x31a, out: 0x470c
+lwr :: offset: 0x31b, out: 0x47
+lwr :: offset: 0x31c, out: 0x43cdc09c
+lwr :: offset: 0x31d, out: 0x43cdc0
+lwr :: offset: 0x31e, out: 0x43cd
+lwr :: offset: 0x31f, out: 0x43
+lwr :: offset: 0x320, out: 0x7b827d21
+lwr :: offset: 0x321, out: 0x7b827d
+lwr :: offset: 0x322, out: 0x7b82
+lwr :: offset: 0x323, out: 0x7b
+lwr :: offset: 0x324, out: 0x7f436096
+lwr :: offset: 0x325, out: 0x7f4360
+lwr :: offset: 0x326, out: 0x7f43
+lwr :: offset: 0x327, out: 0x7f
+lwr :: offset: 0x328, out: 0x7200464f
+lwr :: offset: 0x329, out: 0x720046
+lwr :: offset: 0x32a, out: 0x7200
+lwr :: offset: 0x32b, out: 0x72
+lwr :: offset: 0x32c, out: 0x76c15bf8
+lwr :: offset: 0x32d, out: 0x76c15b
+lwr :: offset: 0x32e, out: 0x76c1
+lwr :: offset: 0x32f, out: 0x76
+lwr :: offset: 0x330, out: 0x68860bfd
+lwr :: offset: 0x331, out: 0x68860b
+lwr :: offset: 0x332, out: 0x6886
+lwr :: offset: 0x333, out: 0x68
+lwr :: offset: 0x334, out: 0x6c47164a
+lwr :: offset: 0x335, out: 0x6c4716
+lwr :: offset: 0x336, out: 0x6c47
+lwr :: offset: 0x337, out: 0x6c
+lwr :: offset: 0x338, out: 0x61043093
+lwr :: offset: 0x339, out: 0x610430
+lwr :: offset: 0x33a, out: 0x6104
+lwr :: offset: 0x33b, out: 0x61
+lwr :: offset: 0x33c, out: 0x65c52d24
+lwr :: offset: 0x33d, out: 0x65c52d
+lwr :: offset: 0x33e, out: 0x65c5
+lwr :: offset: 0x33f, out: 0x65
+lwr :: offset: 0x340, out: 0x119b4be9
+lwr :: offset: 0x341, out: 0x119b4b
+lwr :: offset: 0x342, out: 0x119b
+lwr :: offset: 0x343, out: 0x11
+lwr :: offset: 0x344, out: 0x155a565e
+lwr :: offset: 0x345, out: 0x155a56
+lwr :: offset: 0x346, out: 0x155a
+lwr :: offset: 0x347, out: 0x15
+lwr :: offset: 0x348, out: 0x18197087
+lwr :: offset: 0x349, out: 0x181970
+lwr :: offset: 0x34a, out: 0x1819
+lwr :: offset: 0x34b, out: 0x18
+lwr :: offset: 0x34c, out: 0x1cd86d30
+lwr :: offset: 0x34d, out: 0x1cd86d
+lwr :: offset: 0x34e, out: 0x1cd8
+lwr :: offset: 0x34f, out: 0x1c
+lwr :: offset: 0x350, out: 0x29f3d35
+lwr :: offset: 0x351, out: 0x29f3d
+lwr :: offset: 0x352, out: 0x29f
+lwr :: offset: 0x353, out: 0x2
+lwr :: offset: 0x354, out: 0x65e2082
+lwr :: offset: 0x355, out: 0x65e20
+lwr :: offset: 0x356, out: 0x65e
+lwr :: offset: 0x357, out: 0x6
+lwr :: offset: 0x358, out: 0xb1d065b
+lwr :: offset: 0x359, out: 0xb1d06
+lwr :: offset: 0x35a, out: 0xb1d
+lwr :: offset: 0x35b, out: 0xb
+lwr :: offset: 0x35c, out: 0xfdc1bec
+lwr :: offset: 0x35d, out: 0xfdc1b
+lwr :: offset: 0x35e, out: 0xfdc
+lwr :: offset: 0x35f, out: 0xf
+lwr :: offset: 0x360, out: 0x3793a651
+lwr :: offset: 0x361, out: 0x3793a6
+lwr :: offset: 0x362, out: 0x3793
+lwr :: offset: 0x363, out: 0x37
+lwr :: offset: 0x364, out: 0x3352bbe6
+lwr :: offset: 0x365, out: 0x3352bb
+lwr :: offset: 0x366, out: 0x3352
+lwr :: offset: 0x367, out: 0x33
+lwr :: offset: 0x368, out: 0x3e119d3f
+lwr :: offset: 0x369, out: 0x3e119d
+lwr :: offset: 0x36a, out: 0x3e11
+lwr :: offset: 0x36b, out: 0x3e
+lwr :: offset: 0x36c, out: 0x3ad08088
+lwr :: offset: 0x36d, out: 0x3ad080
+lwr :: offset: 0x36e, out: 0x3ad0
+lwr :: offset: 0x36f, out: 0x3a
+lwr :: offset: 0x370, out: 0x2497d08d
+lwr :: offset: 0x371, out: 0x2497d0
+lwr :: offset: 0x372, out: 0x2497
+lwr :: offset: 0x373, out: 0x24
+lwr :: offset: 0x374, out: 0x2056cd3a
+lwr :: offset: 0x375, out: 0x2056cd
+lwr :: offset: 0x376, out: 0x2056
+lwr :: offset: 0x377, out: 0x20
+lwr :: offset: 0x378, out: 0x2d15ebe3
+lwr :: offset: 0x379, out: 0x2d15eb
+lwr :: offset: 0x37a, out: 0x2d15
+lwr :: offset: 0x37b, out: 0x2d
+lwr :: offset: 0x37c, out: 0x29d4f654
+lwr :: offset: 0x37d, out: 0x29d4f6
+lwr :: offset: 0x37e, out: 0x29d4
+lwr :: offset: 0x37f, out: 0x29
+lwr :: offset: 0x380, out: 0xffffffffc5a92679
+lwr :: offset: 0x381, out: 0xc5a926
+lwr :: offset: 0x382, out: 0xc5a9
+lwr :: offset: 0x383, out: 0xc5
+lwr :: offset: 0x384, out: 0xffffffffc1683bce
+lwr :: offset: 0x385, out: 0xc1683b
+lwr :: offset: 0x386, out: 0xc168
+lwr :: offset: 0x387, out: 0xc1
+lwr :: offset: 0x388, out: 0xffffffffcc2b1d17
+lwr :: offset: 0x389, out: 0xcc2b1d
+lwr :: offset: 0x38a, out: 0xcc2b
+lwr :: offset: 0x38b, out: 0xcc
+lwr :: offset: 0x38c, out: 0xffffffffc8ea00a0
+lwr :: offset: 0x38d, out: 0xc8ea00
+lwr :: offset: 0x38e, out: 0xc8ea
+lwr :: offset: 0x38f, out: 0xc8
+lwr :: offset: 0x390, out: 0xffffffffd6ad50a5
+lwr :: offset: 0x391, out: 0xd6ad50
+lwr :: offset: 0x392, out: 0xd6ad
+lwr :: offset: 0x393, out: 0xd6
+lwr :: offset: 0x394, out: 0xffffffffd26c4d12
+lwr :: offset: 0x395, out: 0xd26c4d
+lwr :: offset: 0x396, out: 0xd26c
+lwr :: offset: 0x397, out: 0xd2
+lwr :: offset: 0x398, out: 0xffffffffdf2f6bcb
+lwr :: offset: 0x399, out: 0xdf2f6b
+lwr :: offset: 0x39a, out: 0xdf2f
+lwr :: offset: 0x39b, out: 0xdf
+lwr :: offset: 0x39c, out: 0xffffffffdbee767c
+lwr :: offset: 0x39d, out: 0xdbee76
+lwr :: offset: 0x39e, out: 0xdbee
+lwr :: offset: 0x39f, out: 0xdb
+lwr :: offset: 0x3a0, out: 0xffffffffe3a1cbc1
+lwr :: offset: 0x3a1, out: 0xe3a1cb
+lwr :: offset: 0x3a2, out: 0xe3a1
+lwr :: offset: 0x3a3, out: 0xe3
+lwr :: offset: 0x3a4, out: 0xffffffffe760d676
+lwr :: offset: 0x3a5, out: 0xe760d6
+lwr :: offset: 0x3a6, out: 0xe760
+lwr :: offset: 0x3a7, out: 0xe7
+lwr :: offset: 0x3a8, out: 0xffffffffea23f0af
+lwr :: offset: 0x3a9, out: 0xea23f0
+lwr :: offset: 0x3aa, out: 0xea23
+lwr :: offset: 0x3ab, out: 0xea
+lwr :: offset: 0x3ac, out: 0xffffffffeee2ed18
+lwr :: offset: 0x3ad, out: 0xeee2ed
+lwr :: offset: 0x3ae, out: 0xeee2
+lwr :: offset: 0x3af, out: 0xee
+lwr :: offset: 0x3b0, out: 0xfffffffff0a5bd1d
+lwr :: offset: 0x3b1, out: 0xf0a5bd
+lwr :: offset: 0x3b2, out: 0xf0a5
+lwr :: offset: 0x3b3, out: 0xf0
+lwr :: offset: 0x3b4, out: 0xfffffffff464a0aa
+lwr :: offset: 0x3b5, out: 0xf464a0
+lwr :: offset: 0x3b6, out: 0xf464
+lwr :: offset: 0x3b7, out: 0xf4
+lwr :: offset: 0x3b8, out: 0xfffffffff9278673
+lwr :: offset: 0x3b9, out: 0xf92786
+lwr :: offset: 0x3ba, out: 0xf927
+lwr :: offset: 0x3bb, out: 0xf9
+lwr :: offset: 0x3bc, out: 0xfffffffffde69bc4
+lwr :: offset: 0x3bd, out: 0xfde69b
+lwr :: offset: 0x3be, out: 0xfde6
+lwr :: offset: 0x3bf, out: 0xfd
+lwr :: offset: 0x3c0, out: 0xffffffff89b8fd09
+lwr :: offset: 0x3c1, out: 0x89b8fd
+lwr :: offset: 0x3c2, out: 0x89b8
+lwr :: offset: 0x3c3, out: 0x89
+lwr :: offset: 0x3c4, out: 0xffffffff8d79e0be
+lwr :: offset: 0x3c5, out: 0x8d79e0
+lwr :: offset: 0x3c6, out: 0x8d79
+lwr :: offset: 0x3c7, out: 0x8d
+lwr :: offset: 0x3c8, out: 0xffffffff803ac667
+lwr :: offset: 0x3c9, out: 0x803ac6
+lwr :: offset: 0x3ca, out: 0x803a
+lwr :: offset: 0x3cb, out: 0x80
+lwr :: offset: 0x3cc, out: 0xffffffff84fbdbd0
+lwr :: offset: 0x3cd, out: 0x84fbdb
+lwr :: offset: 0x3ce, out: 0x84fb
+lwr :: offset: 0x3cf, out: 0x84
+lwr :: offset: 0x3d0, out: 0xffffffff9abc8bd5
+lwr :: offset: 0x3d1, out: 0x9abc8b
+lwr :: offset: 0x3d2, out: 0x9abc
+lwr :: offset: 0x3d3, out: 0x9a
+lwr :: offset: 0x3d4, out: 0xffffffff9e7d9662
+lwr :: offset: 0x3d5, out: 0x9e7d96
+lwr :: offset: 0x3d6, out: 0x9e7d
+lwr :: offset: 0x3d7, out: 0x9e
+lwr :: offset: 0x3d8, out: 0xffffffff933eb0bb
+lwr :: offset: 0x3d9, out: 0x933eb0
+lwr :: offset: 0x3da, out: 0x933e
+lwr :: offset: 0x3db, out: 0x93
+lwr :: offset: 0x3dc, out: 0xffffffff97ffad0c
+lwr :: offset: 0x3dd, out: 0x97ffad
+lwr :: offset: 0x3de, out: 0x97ff
+lwr :: offset: 0x3df, out: 0x97
+lwr :: offset: 0x3e0, out: 0xffffffffafb010b1
+lwr :: offset: 0x3e1, out: 0xafb010
+lwr :: offset: 0x3e2, out: 0xafb0
+lwr :: offset: 0x3e3, out: 0xaf
+lwr :: offset: 0x3e4, out: 0xffffffffab710d06
+lwr :: offset: 0x3e5, out: 0xab710d
+lwr :: offset: 0x3e6, out: 0xab71
+lwr :: offset: 0x3e7, out: 0xab
+lwr :: offset: 0x3e8, out: 0xffffffffa6322bdf
+lwr :: offset: 0x3e9, out: 0xa6322b
+lwr :: offset: 0x3ea, out: 0xa632
+lwr :: offset: 0x3eb, out: 0xa6
+lwr :: offset: 0x3ec, out: 0xffffffffa2f33668
+lwr :: offset: 0x3ed, out: 0xa2f336
+lwr :: offset: 0x3ee, out: 0xa2f3
+lwr :: offset: 0x3ef, out: 0xa2
+lwr :: offset: 0x3f0, out: 0xffffffffbcb4666d
+lwr :: offset: 0x3f1, out: 0xbcb466
+lwr :: offset: 0x3f2, out: 0xbcb4
+lwr :: offset: 0x3f3, out: 0xbc
+lwr :: offset: 0x3f4, out: 0xffffffffb8757bda
+lwr :: offset: 0x3f5, out: 0xb8757b
+lwr :: offset: 0x3f6, out: 0xb875
+lwr :: offset: 0x3f7, out: 0xb8
+lwr :: offset: 0x3f8, out: 0xffffffffb5365d03
+lwr :: offset: 0x3f9, out: 0xb5365d
+lwr :: offset: 0x3fa, out: 0xb536
+lwr :: offset: 0x3fb, out: 0xb5
+lwr :: offset: 0x3fc, out: 0xffffffffb1f740b4
+lwr :: offset: 0x3fd, out: 0xb1f740
+lwr :: offset: 0x3fe, out: 0xb1f7
+lwr :: offset: 0x3ff, out: 0xb1
+lwr :: offset: 0x0, out: 0x12bd6aa
+lwr :: offset: 0x1, out: 0x12bd6
+lwr :: offset: 0x2, out: 0x12b
+lwr :: offset: 0x3, out: 0x1
+lwr :: offset: 0x4, out: 0x0
+lwr :: offset: 0x5, out: 0x0
+lwr :: offset: 0x6, out: 0x0
+lwr :: offset: 0x7, out: 0x0
+lwr :: offset: 0x8, out: 0xffffffff82d2ab13
+lwr :: offset: 0x9, out: 0x82d2ab
+lwr :: offset: 0xa, out: 0x82d2
+lwr :: offset: 0xb, out: 0x82
+lwr :: offset: 0xc, out: 0x7e8763
+lwr :: offset: 0xd, out: 0x7e87
+lwr :: offset: 0xe, out: 0x7e
+lwr :: offset: 0xf, out: 0x0
+lwr :: offset: 0x10, out: 0xffffffffc31510f3
+lwr :: offset: 0x11, out: 0xc31510
+lwr :: offset: 0x12, out: 0xc315
+lwr :: offset: 0x13, out: 0xc3
+lwr :: offset: 0x14, out: 0xffffffff976d6e9a
+lwr :: offset: 0x15, out: 0x976d6e
+lwr :: offset: 0x16, out: 0x976d
+lwr :: offset: 0x17, out: 0x97
+lwr :: offset: 0x18, out: 0x5ad6a5fb
+lwr :: offset: 0x19, out: 0x5ad6a5
+lwr :: offset: 0x1a, out: 0x5ad6
+lwr :: offset: 0x1b, out: 0x5a
+lwr :: offset: 0x1c, out: 0xffffffffb7746d77
+lwr :: offset: 0x1d, out: 0xb7746d
+lwr :: offset: 0x1e, out: 0xb774
+lwr :: offset: 0x1f, out: 0xb7
+lwr :: offset: 0x20, out: 0xffffffff8677b502
+lwr :: offset: 0x21, out: 0x8677b5
+lwr :: offset: 0x22, out: 0x8677
+lwr :: offset: 0x23, out: 0x86
+lwr :: offset: 0x24, out: 0x42b0c0a2
+lwr :: offset: 0x25, out: 0x42b0c0
+lwr :: offset: 0x26, out: 0x42b0
+lwr :: offset: 0x27, out: 0x42
+lwr :: offset: 0x28, out: 0xffffffff9e3c30ad
+lwr :: offset: 0x29, out: 0x9e3c30
+lwr :: offset: 0x2a, out: 0x9e3c
+lwr :: offset: 0x2b, out: 0x9e
+lwr :: offset: 0x2c, out: 0x2aa89d31
+lwr :: offset: 0x2d, out: 0x2aa89d
+lwr :: offset: 0x2e, out: 0x2aa8
+lwr :: offset: 0x2f, out: 0x2a
+lwr :: offset: 0x30, out: 0x77fb413d
+lwr :: offset: 0x31, out: 0x77fb41
+lwr :: offset: 0x32, out: 0x77fb
+lwr :: offset: 0x33, out: 0x77
+lwr :: offset: 0x34, out: 0x1f308ec3
+lwr :: offset: 0x35, out: 0x1f308e
+lwr :: offset: 0x36, out: 0x1f30
+lwr :: offset: 0x37, out: 0x1f
+lwr :: offset: 0x38, out: 0xffffffffc760e4f7
+lwr :: offset: 0x39, out: 0xc760e4
+lwr :: offset: 0x3a, out: 0xc760
+lwr :: offset: 0x3b, out: 0xc7
+lwr :: offset: 0x3c, out: 0x7aa04213
+lwr :: offset: 0x3d, out: 0x7aa042
+lwr :: offset: 0x3e, out: 0x7aa0
+lwr :: offset: 0x3f, out: 0x7a
+lwr :: offset: 0x40, out: 0x1ad8dca0
+lwr :: offset: 0x41, out: 0x1ad8dc
+lwr :: offset: 0x42, out: 0x1ad8
+lwr :: offset: 0x43, out: 0x1a
+lwr :: offset: 0x44, out: 0xffffffff9e705cc5
+lwr :: offset: 0x45, out: 0x9e705c
+lwr :: offset: 0x46, out: 0x9e70
+lwr :: offset: 0x47, out: 0x9e
+lwr :: offset: 0x48, out: 0xffffffff9615a60d
+lwr :: offset: 0x49, out: 0x9615a6
+lwr :: offset: 0x4a, out: 0x9615
+lwr :: offset: 0x4b, out: 0x96
+lwr :: offset: 0x4c, out: 0x4b3dda86
+lwr :: offset: 0x4d, out: 0x4b3dda
+lwr :: offset: 0x4e, out: 0x4b3d
+lwr :: offset: 0x4f, out: 0x4b
+lwr :: offset: 0x50, out: 0x6353d41d
+lwr :: offset: 0x51, out: 0x6353d4
+lwr :: offset: 0x52, out: 0x6353
+lwr :: offset: 0x53, out: 0x63
+lwr :: offset: 0x54, out: 0x5e7a4dd
+lwr :: offset: 0x55, out: 0x5e7a4
+lwr :: offset: 0x56, out: 0x5e7
+lwr :: offset: 0x57, out: 0x5
+lwr :: offset: 0x58, out: 0xffffffffc40bd413
+lwr :: offset: 0x59, out: 0xc40bd4
+lwr :: offset: 0x5a, out: 0xc40b
+lwr :: offset: 0x5b, out: 0xc4
+lwr :: offset: 0x5c, out: 0x3af35a9d
+lwr :: offset: 0x5d, out: 0x3af35a
+lwr :: offset: 0x5e, out: 0x3af3
+lwr :: offset: 0x5f, out: 0x3a
+lwr :: offset: 0x60, out: 0xffffffff9a08a180
+lwr :: offset: 0x61, out: 0x9a08a1
+lwr :: offset: 0x62, out: 0x9a08
+lwr :: offset: 0x63, out: 0x9a
+lwr :: offset: 0x64, out: 0x47f50556
+lwr :: offset: 0x65, out: 0x47f505
+lwr :: offset: 0x66, out: 0x47f5
+lwr :: offset: 0x67, out: 0x47
+lwr :: offset: 0x68, out: 0xffffffffd6d2040f
+lwr :: offset: 0x69, out: 0xd6d204
+lwr :: offset: 0x6a, out: 0xd6d2
+lwr :: offset: 0x6b, out: 0xd6
+lwr :: offset: 0x6c, out: 0xffffffff9564b77f
+lwr :: offset: 0x6d, out: 0x9564b7
+lwr :: offset: 0x6e, out: 0x9564
+lwr :: offset: 0x6f, out: 0x95
+lwr :: offset: 0x70, out: 0xffffffffb2c76bbe
+lwr :: offset: 0x71, out: 0xb2c76b
+lwr :: offset: 0x72, out: 0xb2c7
+lwr :: offset: 0x73, out: 0xb2
+lwr :: offset: 0x74, out: 0xffffffffcebc8279
+lwr :: offset: 0x75, out: 0xcebc82
+lwr :: offset: 0x76, out: 0xcebc
+lwr :: offset: 0x77, out: 0xce
+lwr :: offset: 0x78, out: 0x1f18e4c7
+lwr :: offset: 0x79, out: 0x1f18e4
+lwr :: offset: 0x7a, out: 0x1f18
+lwr :: offset: 0x7b, out: 0x1f
+lwr :: offset: 0x7c, out: 0xffffffffb5034c2f
+lwr :: offset: 0x7d, out: 0xb5034c
+lwr :: offset: 0x7e, out: 0xb503
+lwr :: offset: 0x7f, out: 0xb5
+lwr :: offset: 0x80, out: 0xffffffff81afa797
+lwr :: offset: 0x81, out: 0x81afa7
+lwr :: offset: 0x82, out: 0x81af
+lwr :: offset: 0x83, out: 0x81
+lwr :: offset: 0x84, out: 0xffffffff94ff52fc
+lwr :: offset: 0x85, out: 0x94ff52
+lwr :: offset: 0x86, out: 0x94ff
+lwr :: offset: 0x87, out: 0x94
+lwr :: offset: 0x88, out: 0x6dfc50ea
+lwr :: offset: 0x89, out: 0x6dfc50
+lwr :: offset: 0x8a, out: 0x6dfc
+lwr :: offset: 0x8b, out: 0x6d
+lwr :: offset: 0x8c, out: 0x31d8d916
+lwr :: offset: 0x8d, out: 0x31d8d9
+lwr :: offset: 0x8e, out: 0x31d8
+lwr :: offset: 0x8f, out: 0x31
+lwr :: offset: 0x90, out: 0x78e895b1
+lwr :: offset: 0x91, out: 0x78e895
+lwr :: offset: 0x92, out: 0x78e8
+lwr :: offset: 0x93, out: 0x78
+lwr :: offset: 0x94, out: 0x36549bd6
+lwr :: offset: 0x95, out: 0x36549b
+lwr :: offset: 0x96, out: 0x3654
+lwr :: offset: 0x97, out: 0x36
+lwr :: offset: 0x98, out: 0xffffffff9b63259b
+lwr :: offset: 0x99, out: 0x9b6325
+lwr :: offset: 0x9a, out: 0x9b63
+lwr :: offset: 0x9b, out: 0x9b
+lwr :: offset: 0x9c, out: 0xffffffff85e0a631
+lwr :: offset: 0x9d, out: 0x85e0a6
+lwr :: offset: 0x9e, out: 0x85e0
+lwr :: offset: 0x9f, out: 0x85
+lwr :: offset: 0xa0, out: 0xffffffffccf17ac5
+lwr :: offset: 0xa1, out: 0xccf17a
+lwr :: offset: 0xa2, out: 0xccf1
+lwr :: offset: 0xa3, out: 0xcc
+lwr :: offset: 0xa4, out: 0x556b3eca
+lwr :: offset: 0xa5, out: 0x556b3e
+lwr :: offset: 0xa6, out: 0x556b
+lwr :: offset: 0xa7, out: 0x55
+lwr :: offset: 0xa8, out: 0xffffffff81eea0fb
+lwr :: offset: 0xa9, out: 0x81eea0
+lwr :: offset: 0xaa, out: 0x81ee
+lwr :: offset: 0xab, out: 0x81
+lwr :: offset: 0xac, out: 0xffffffffb42f5fc5
+lwr :: offset: 0xad, out: 0xb42f5f
+lwr :: offset: 0xae, out: 0xb42f
+lwr :: offset: 0xaf, out: 0xb4
+lwr :: offset: 0xb0, out: 0x14682d97
+lwr :: offset: 0xb1, out: 0x14682d
+lwr :: offset: 0xb2, out: 0x1468
+lwr :: offset: 0xb3, out: 0x14
+lwr :: offset: 0xb4, out: 0x25b50fec
+lwr :: offset: 0xb5, out: 0x25b50f
+lwr :: offset: 0xb6, out: 0x25b5
+lwr :: offset: 0xb7, out: 0x25
+lwr :: offset: 0xb8, out: 0x2cfb087a
+lwr :: offset: 0xb9, out: 0x2cfb08
+lwr :: offset: 0xba, out: 0x2cfb
+lwr :: offset: 0xbb, out: 0x2c
+lwr :: offset: 0xbc, out: 0xfffffffffc93c513
+lwr :: offset: 0xbd, out: 0xfc93c5
+lwr :: offset: 0xbe, out: 0xfc93
+lwr :: offset: 0xbf, out: 0xfc
+lwr :: offset: 0xc0, out: 0xffffffffcda20766
+lwr :: offset: 0xc1, out: 0xcda207
+lwr :: offset: 0xc2, out: 0xcda2
+lwr :: offset: 0xc3, out: 0xcd
+lwr :: offset: 0xc4, out: 0x3c2cd9a9
+lwr :: offset: 0xc5, out: 0x3c2cd9
+lwr :: offset: 0xc6, out: 0x3c2c
+lwr :: offset: 0xc7, out: 0x3c
+lwr :: offset: 0xc8, out: 0x7d72da3e
+lwr :: offset: 0xc9, out: 0x7d72da
+lwr :: offset: 0xca, out: 0x7d72
+lwr :: offset: 0xcb, out: 0x7d
+lwr :: offset: 0xcc, out: 0x1791722a
+lwr :: offset: 0xcd, out: 0x179172
+lwr :: offset: 0xce, out: 0x1791
+lwr :: offset: 0xcf, out: 0x17
+lwr :: offset: 0xd0, out: 0xffffffff93ce24ad
+lwr :: offset: 0xd1, out: 0x93ce24
+lwr :: offset: 0xd2, out: 0x93ce
+lwr :: offset: 0xd3, out: 0x93
+lwr :: offset: 0xd4, out: 0x87cc9d1
+lwr :: offset: 0xd5, out: 0x87cc9
+lwr :: offset: 0xd6, out: 0x87c
+lwr :: offset: 0xd7, out: 0x8
+lwr :: offset: 0xd8, out: 0x38984ed2
+lwr :: offset: 0xd9, out: 0x38984e
+lwr :: offset: 0xda, out: 0x3898
+lwr :: offset: 0xdb, out: 0x38
+lwr :: offset: 0xdc, out: 0x1d2a7570
+lwr :: offset: 0xdd, out: 0x1d2a75
+lwr :: offset: 0xde, out: 0x1d2a
+lwr :: offset: 0xdf, out: 0x1d
+lwr :: offset: 0xe0, out: 0x710cd036
+lwr :: offset: 0xe1, out: 0x710cd0
+lwr :: offset: 0xe2, out: 0x710c
+lwr :: offset: 0xe3, out: 0x71
+lwr :: offset: 0xe4, out: 0xffffffffd0d070db
+lwr :: offset: 0xe5, out: 0xd0d070
+lwr :: offset: 0xe6, out: 0xd0d0
+lwr :: offset: 0xe7, out: 0xd0
+lwr :: offset: 0xe8, out: 0x3415604
+lwr :: offset: 0xe9, out: 0x34156
+lwr :: offset: 0xea, out: 0x341
+lwr :: offset: 0xeb, out: 0x3
+lwr :: offset: 0xec, out: 0x39c21c7d
+lwr :: offset: 0xed, out: 0x39c21c
+lwr :: offset: 0xee, out: 0x39c2
+lwr :: offset: 0xef, out: 0x39
+lwr :: offset: 0xf0, out: 0xffffffff8ecc31ce
+lwr :: offset: 0xf1, out: 0x8ecc31
+lwr :: offset: 0xf2, out: 0x8ecc
+lwr :: offset: 0xf3, out: 0x8e
+lwr :: offset: 0xf4, out: 0xffffffff8e94b7af
+lwr :: offset: 0xf5, out: 0x8e94b7
+lwr :: offset: 0xf6, out: 0x8e94
+lwr :: offset: 0xf7, out: 0x8e
+lwr :: offset: 0xf8, out: 0x1ce7674f
+lwr :: offset: 0xf9, out: 0x1ce767
+lwr :: offset: 0xfa, out: 0x1ce7
+lwr :: offset: 0xfb, out: 0x1c
+lwr :: offset: 0xfc, out: 0x24eb6a8d
+lwr :: offset: 0xfd, out: 0x24eb6a
+lwr :: offset: 0xfe, out: 0x24eb
+lwr :: offset: 0xff, out: 0x24
+lwr :: offset: 0x100, out: 0x12d6e4a7
+lwr :: offset: 0x101, out: 0x12d6e4
+lwr :: offset: 0x102, out: 0x12d6
+lwr :: offset: 0x103, out: 0x12
+lwr :: offset: 0x104, out: 0x2f394544
+lwr :: offset: 0x105, out: 0x2f3945
+lwr :: offset: 0x106, out: 0x2f39
+lwr :: offset: 0x107, out: 0x2f
+lwr :: offset: 0x108, out: 0x56da4c54
+lwr :: offset: 0x109, out: 0x56da4c
+lwr :: offset: 0x10a, out: 0x56da
+lwr :: offset: 0x10b, out: 0x56
+lwr :: offset: 0x10c, out: 0x2608c2b7
+lwr :: offset: 0x10d, out: 0x2608c2
+lwr :: offset: 0x10e, out: 0x2608
+lwr :: offset: 0x10f, out: 0x26
+lwr :: offset: 0x110, out: 0xffffffffc8d7252f
+lwr :: offset: 0x111, out: 0xc8d725
+lwr :: offset: 0x112, out: 0xc8d7
+lwr :: offset: 0x113, out: 0xc8
+lwr :: offset: 0x114, out: 0xffffffff900102da
+lwr :: offset: 0x115, out: 0x900102
+lwr :: offset: 0x116, out: 0x9001
+lwr :: offset: 0x117, out: 0x90
+lwr :: offset: 0x118, out: 0xfffffffff2efa4f7
+lwr :: offset: 0x119, out: 0xf2efa4
+lwr :: offset: 0x11a, out: 0xf2ef
+lwr :: offset: 0x11b, out: 0xf2
+lwr :: offset: 0x11c, out: 0xffffffffc890d5f1
+lwr :: offset: 0x11d, out: 0xc890d5
+lwr :: offset: 0x11e, out: 0xc890
+lwr :: offset: 0x11f, out: 0xc8
+lwr :: offset: 0x120, out: 0xffffffffc8b0a214
+lwr :: offset: 0x121, out: 0xc8b0a2
+lwr :: offset: 0x122, out: 0xc8b0
+lwr :: offset: 0x123, out: 0xc8
+lwr :: offset: 0x124, out: 0xffffffffed5005cb
+lwr :: offset: 0x125, out: 0xed5005
+lwr :: offset: 0x126, out: 0xed50
+lwr :: offset: 0x127, out: 0xed
+lwr :: offset: 0x128, out: 0x5991136c
+lwr :: offset: 0x129, out: 0x599113
+lwr :: offset: 0x12a, out: 0x5991
+lwr :: offset: 0x12b, out: 0x59
+lwr :: offset: 0x12c, out: 0x31479189
+lwr :: offset: 0x12d, out: 0x314791
+lwr :: offset: 0x12e, out: 0x3147
+lwr :: offset: 0x12f, out: 0x31
+lwr :: offset: 0x130, out: 0xffffffff9a2fb6f3
+lwr :: offset: 0x131, out: 0x9a2fb6
+lwr :: offset: 0x132, out: 0x9a2f
+lwr :: offset: 0x133, out: 0x9a
+lwr :: offset: 0x134, out: 0xffffffffc6eecff9
+lwr :: offset: 0x135, out: 0xc6eecf
+lwr :: offset: 0x136, out: 0xc6ee
+lwr :: offset: 0x137, out: 0xc6
+lwr :: offset: 0x138, out: 0x38895270
+lwr :: offset: 0x139, out: 0x388952
+lwr :: offset: 0x13a, out: 0x3889
+lwr :: offset: 0x13b, out: 0x38
+lwr :: offset: 0x13c, out: 0xffffffffa8095212
+lwr :: offset: 0x13d, out: 0xa80952
+lwr :: offset: 0x13e, out: 0xa809
+lwr :: offset: 0x13f, out: 0xa8
+lwr :: offset: 0x140, out: 0xffffffffad765040
+lwr :: offset: 0x141, out: 0xad7650
+lwr :: offset: 0x142, out: 0xad76
+lwr :: offset: 0x143, out: 0xad
+lwr :: offset: 0x144, out: 0xffffffff87750a04
+lwr :: offset: 0x145, out: 0x87750a
+lwr :: offset: 0x146, out: 0x8775
+lwr :: offset: 0x147, out: 0x87
+lwr :: offset: 0x148, out: 0xffffffff84bb5a83
+lwr :: offset: 0x149, out: 0x84bb5a
+lwr :: offset: 0x14a, out: 0x84bb
+lwr :: offset: 0x14b, out: 0x84
+lwr :: offset: 0x14c, out: 0x2c3de85e
+lwr :: offset: 0x14d, out: 0x2c3de8
+lwr :: offset: 0x14e, out: 0x2c3d
+lwr :: offset: 0x14f, out: 0x2c
+lwr :: offset: 0x150, out: 0xffffffffc506aa67
+lwr :: offset: 0x151, out: 0xc506aa
+lwr :: offset: 0x152, out: 0xc506
+lwr :: offset: 0x153, out: 0xc5
+lwr :: offset: 0x154, out: 0xffffffffae6aff8f
+lwr :: offset: 0x155, out: 0xae6aff
+lwr :: offset: 0x156, out: 0xae6a
+lwr :: offset: 0x157, out: 0xae
+lwr :: offset: 0x158, out: 0x60ed5ee3
+lwr :: offset: 0x159, out: 0x60ed5e
+lwr :: offset: 0x15a, out: 0x60ed
+lwr :: offset: 0x15b, out: 0x60
+lwr :: offset: 0x15c, out: 0xffffffffc07112dd
+lwr :: offset: 0x15d, out: 0xc07112
+lwr :: offset: 0x15e, out: 0xc071
+lwr :: offset: 0x15f, out: 0xc0
+lwr :: offset: 0x160, out: 0x30dcca5a
+lwr :: offset: 0x161, out: 0x30dcca
+lwr :: offset: 0x162, out: 0x30dc
+lwr :: offset: 0x163, out: 0x30
+lwr :: offset: 0x164, out: 0xffffffffc4c770f6
+lwr :: offset: 0x165, out: 0xc4c770
+lwr :: offset: 0x166, out: 0xc4c7
+lwr :: offset: 0x167, out: 0xc4
+lwr :: offset: 0x168, out: 0xffffffff83cd5277
+lwr :: offset: 0x169, out: 0x83cd52
+lwr :: offset: 0x16a, out: 0x83cd
+lwr :: offset: 0x16b, out: 0x83
+lwr :: offset: 0x16c, out: 0xffffffffdfec2b23
+lwr :: offset: 0x16d, out: 0xdfec2b
+lwr :: offset: 0x16e, out: 0xdfec
+lwr :: offset: 0x16f, out: 0xdf
+lwr :: offset: 0x170, out: 0xff7d96b
+lwr :: offset: 0x171, out: 0xff7d9
+lwr :: offset: 0x172, out: 0xff7
+lwr :: offset: 0x173, out: 0xf
+lwr :: offset: 0x174, out: 0xffffffffd3adba26
+lwr :: offset: 0x175, out: 0xd3adba
+lwr :: offset: 0x176, out: 0xd3ad
+lwr :: offset: 0x177, out: 0xd3
+lwr :: offset: 0x178, out: 0xffffffff8418c00e
+lwr :: offset: 0x179, out: 0x8418c0
+lwr :: offset: 0x17a, out: 0x8418
+lwr :: offset: 0x17b, out: 0x84
+lwr :: offset: 0x17c, out: 0x4ab4aa79
+lwr :: offset: 0x17d, out: 0x4ab4aa
+lwr :: offset: 0x17e, out: 0x4ab4
+lwr :: offset: 0x17f, out: 0x4a
+lwr :: offset: 0x180, out: 0xde0f0b8
+lwr :: offset: 0x181, out: 0xde0f0
+lwr :: offset: 0x182, out: 0xde0
+lwr :: offset: 0x183, out: 0xd
+lwr :: offset: 0x184, out: 0xffffffffbb8c035e
+lwr :: offset: 0x185, out: 0xbb8c03
+lwr :: offset: 0x186, out: 0xbb8c
+lwr :: offset: 0x187, out: 0xbb
+lwr :: offset: 0x188, out: 0xffffffffa97fdcf1
+lwr :: offset: 0x189, out: 0xa97fdc
+lwr :: offset: 0x18a, out: 0xa97f
+lwr :: offset: 0x18b, out: 0xa9
+lwr :: offset: 0x18c, out: 0x33b06f54
+lwr :: offset: 0x18d, out: 0x33b06f
+lwr :: offset: 0x18e, out: 0x33b0
+lwr :: offset: 0x18f, out: 0x33
+lwr :: offset: 0x190, out: 0x3fd1c081
+lwr :: offset: 0x191, out: 0x3fd1c0
+lwr :: offset: 0x192, out: 0x3fd1
+lwr :: offset: 0x193, out: 0x3f
+lwr :: offset: 0x194, out: 0x77433f37
+lwr :: offset: 0x195, out: 0x77433f
+lwr :: offset: 0x196, out: 0x7743
+lwr :: offset: 0x197, out: 0x77
+lwr :: offset: 0x198, out: 0xffffffffc92195e4
+lwr :: offset: 0x199, out: 0xc92195
+lwr :: offset: 0x19a, out: 0xc921
+lwr :: offset: 0x19b, out: 0xc9
+lwr :: offset: 0x19c, out: 0xffffffffec91d993
+lwr :: offset: 0x19d, out: 0xec91d9
+lwr :: offset: 0x19e, out: 0xec91
+lwr :: offset: 0x19f, out: 0xec
+lwr :: offset: 0x1a0, out: 0xffffffff95b1a5ab
+lwr :: offset: 0x1a1, out: 0x95b1a5
+lwr :: offset: 0x1a2, out: 0x95b1
+lwr :: offset: 0x1a3, out: 0x95
+lwr :: offset: 0x1a4, out: 0x49fbf6a7
+lwr :: offset: 0x1a5, out: 0x49fbf6
+lwr :: offset: 0x1a6, out: 0x49fb
+lwr :: offset: 0x1a7, out: 0x49
+lwr :: offset: 0x1a8, out: 0xffffffffc7ce8d1e
+lwr :: offset: 0x1a9, out: 0xc7ce8d
+lwr :: offset: 0x1aa, out: 0xc7ce
+lwr :: offset: 0x1ab, out: 0xc7
+lwr :: offset: 0x1ac, out: 0x19364378
+lwr :: offset: 0x1ad, out: 0x193643
+lwr :: offset: 0x1ae, out: 0x1936
+lwr :: offset: 0x1af, out: 0x19
+lwr :: offset: 0x1b0, out: 0x2f384907
+lwr :: offset: 0x1b1, out: 0x2f3849
+lwr :: offset: 0x1b2, out: 0x2f38
+lwr :: offset: 0x1b3, out: 0x2f
+lwr :: offset: 0x1b4, out: 0xffffffffb99e8def
+lwr :: offset: 0x1b5, out: 0xb99e8d
+lwr :: offset: 0x1b6, out: 0xb99e
+lwr :: offset: 0x1b7, out: 0xb9
+lwr :: offset: 0x1b8, out: 0x582b12fe
+lwr :: offset: 0x1b9, out: 0x582b12
+lwr :: offset: 0x1ba, out: 0x582b
+lwr :: offset: 0x1bb, out: 0x58
+lwr :: offset: 0x1bc, out: 0x47eacdcd
+lwr :: offset: 0x1bd, out: 0x47eacd
+lwr :: offset: 0x1be, out: 0x47ea
+lwr :: offset: 0x1bf, out: 0x47
+lwr :: offset: 0x1c0, out: 0x76558c4f
+lwr :: offset: 0x1c1, out: 0x76558c
+lwr :: offset: 0x1c2, out: 0x7655
+lwr :: offset: 0x1c3, out: 0x76
+lwr :: offset: 0x1c4, out: 0xffffffffd685884e
+lwr :: offset: 0x1c5, out: 0xd68588
+lwr :: offset: 0x1c6, out: 0xd685
+lwr :: offset: 0x1c7, out: 0xd6
+lwr :: offset: 0x1c8, out: 0x34c195c7
+lwr :: offset: 0x1c9, out: 0x34c195
+lwr :: offset: 0x1ca, out: 0x34c1
+lwr :: offset: 0x1cb, out: 0x34
+lwr :: offset: 0x1cc, out: 0x6168d62a
+lwr :: offset: 0x1cd, out: 0x6168d6
+lwr :: offset: 0x1ce, out: 0x6168
+lwr :: offset: 0x1cf, out: 0x61
+lwr :: offset: 0x1d0, out: 0x4df47405
+lwr :: offset: 0x1d1, out: 0x4df474
+lwr :: offset: 0x1d2, out: 0x4df4
+lwr :: offset: 0x1d3, out: 0x4d
+lwr :: offset: 0x1d4, out: 0xffffffffd3016989
+lwr :: offset: 0x1d5, out: 0xd30169
+lwr :: offset: 0x1d6, out: 0xd301
+lwr :: offset: 0x1d7, out: 0xd3
+lwr :: offset: 0x1d8, out: 0x6cbb06db
+lwr :: offset: 0x1d9, out: 0x6cbb06
+lwr :: offset: 0x1da, out: 0x6cbb
+lwr :: offset: 0x1db, out: 0x6c
+lwr :: offset: 0x1dc, out: 0x1ca190bf
+lwr :: offset: 0x1dd, out: 0x1ca190
+lwr :: offset: 0x1de, out: 0x1ca1
+lwr :: offset: 0x1df, out: 0x1c
+lwr :: offset: 0x1e0, out: 0xffffffff9cae393a
+lwr :: offset: 0x1e1, out: 0x9cae39
+lwr :: offset: 0x1e2, out: 0x9cae
+lwr :: offset: 0x1e3, out: 0x9c
+lwr :: offset: 0x1e4, out: 0x58300f02
+lwr :: offset: 0x1e5, out: 0x58300f
+lwr :: offset: 0x1e6, out: 0x5830
+lwr :: offset: 0x1e7, out: 0x58
+lwr :: offset: 0x1e8, out: 0xffffffffdc7ebc2d
+lwr :: offset: 0x1e9, out: 0xdc7ebc
+lwr :: offset: 0x1ea, out: 0xdc7e
+lwr :: offset: 0x1eb, out: 0xdc
+lwr :: offset: 0x1ec, out: 0xffffffff9a995fdb
+lwr :: offset: 0x1ed, out: 0x9a995f
+lwr :: offset: 0x1ee, out: 0x9a99
+lwr :: offset: 0x1ef, out: 0x9a
+lwr :: offset: 0x1f0, out: 0xffffffffe3405b48
+lwr :: offset: 0x1f1, out: 0xe3405b
+lwr :: offset: 0x1f2, out: 0xe340
+lwr :: offset: 0x1f3, out: 0xe3
+lwr :: offset: 0x1f4, out: 0xffffffff8a96047b
+lwr :: offset: 0x1f5, out: 0x8a9604
+lwr :: offset: 0x1f6, out: 0x8a96
+lwr :: offset: 0x1f7, out: 0x8a
+lwr :: offset: 0x1f8, out: 0xffffffffd519d322
+lwr :: offset: 0x1f9, out: 0xd519d3
+lwr :: offset: 0x1fa, out: 0xd519
+lwr :: offset: 0x1fb, out: 0xd5
+lwr :: offset: 0x1fc, out: 0x75bfafd2
+lwr :: offset: 0x1fd, out: 0x75bfaf
+lwr :: offset: 0x1fe, out: 0x75bf
+lwr :: offset: 0x1ff, out: 0x75
+lwr :: offset: 0x200, out: 0xffffffffa630f6ad
+lwr :: offset: 0x201, out: 0xa630f6
+lwr :: offset: 0x202, out: 0xa630
+lwr :: offset: 0x203, out: 0xa6
+lwr :: offset: 0x204, out: 0xffffffffde230867
+lwr :: offset: 0x205, out: 0xde2308
+lwr :: offset: 0x206, out: 0xde23
+lwr :: offset: 0x207, out: 0xde
+lwr :: offset: 0x208, out: 0x56103260
+lwr :: offset: 0x209, out: 0x561032
+lwr :: offset: 0x20a, out: 0x5610
+lwr :: offset: 0x20b, out: 0x56
+lwr :: offset: 0x20c, out: 0x2c0a0cf2
+lwr :: offset: 0x20d, out: 0x2c0a0c
+lwr :: offset: 0x20e, out: 0x2c0a
+lwr :: offset: 0x20f, out: 0x2c
+lwr :: offset: 0x210, out: 0x249b18ef
+lwr :: offset: 0x211, out: 0x249b18
+lwr :: offset: 0x212, out: 0x249b
+lwr :: offset: 0x213, out: 0x24
+lwr :: offset: 0x214, out: 0xffffffff94a90544
+lwr :: offset: 0x215, out: 0x94a905
+lwr :: offset: 0x216, out: 0x94a9
+lwr :: offset: 0x217, out: 0x94
+lwr :: offset: 0x218, out: 0x5b56fcde
+lwr :: offset: 0x219, out: 0x5b56fc
+lwr :: offset: 0x21a, out: 0x5b56
+lwr :: offset: 0x21b, out: 0x5b
+lwr :: offset: 0x21c, out: 0xfffffffff9519fb5
+lwr :: offset: 0x21d, out: 0xf9519f
+lwr :: offset: 0x21e, out: 0xf951
+lwr :: offset: 0x21f, out: 0xf9
+lwr :: offset: 0x220, out: 0x468319b
+lwr :: offset: 0x221, out: 0x46831
+lwr :: offset: 0x222, out: 0x468
+lwr :: offset: 0x223, out: 0x4
+lwr :: offset: 0x224, out: 0xffffffff81daf820
+lwr :: offset: 0x225, out: 0x81daf8
+lwr :: offset: 0x226, out: 0x81da
+lwr :: offset: 0x227, out: 0x81
+lwr :: offset: 0x228, out: 0x5725f2ec
+lwr :: offset: 0x229, out: 0x5725f2
+lwr :: offset: 0x22a, out: 0x5725
+lwr :: offset: 0x22b, out: 0x57
+lwr :: offset: 0x22c, out: 0xffffffff8c61ca5a
+lwr :: offset: 0x22d, out: 0x8c61ca
+lwr :: offset: 0x22e, out: 0x8c61
+lwr :: offset: 0x22f, out: 0x8c
+lwr :: offset: 0x230, out: 0xffffffffc25dc8bf
+lwr :: offset: 0x231, out: 0xc25dc8
+lwr :: offset: 0x232, out: 0xc25d
+lwr :: offset: 0x233, out: 0xc2
+lwr :: offset: 0x234, out: 0xffffffff8b95a6dd
+lwr :: offset: 0x235, out: 0x8b95a6
+lwr :: offset: 0x236, out: 0x8b95
+lwr :: offset: 0x237, out: 0x8b
+lwr :: offset: 0x238, out: 0xffffffffdac6162f
+lwr :: offset: 0x239, out: 0xdac616
+lwr :: offset: 0x23a, out: 0xdac6
+lwr :: offset: 0x23b, out: 0xda
+lwr :: offset: 0x23c, out: 0x300ce751
+lwr :: offset: 0x23d, out: 0x300ce7
+lwr :: offset: 0x23e, out: 0x300c
+lwr :: offset: 0x23f, out: 0x30
+lwr :: offset: 0x240, out: 0xffffffffba52a850
+lwr :: offset: 0x241, out: 0xba52a8
+lwr :: offset: 0x242, out: 0xba52
+lwr :: offset: 0x243, out: 0xba
+lwr :: offset: 0x244, out: 0x6778fdf3
+lwr :: offset: 0x245, out: 0x6778fd
+lwr :: offset: 0x246, out: 0x6778
+lwr :: offset: 0x247, out: 0x67
+lwr :: offset: 0x248, out: 0xffffffffda78479f
+lwr :: offset: 0x249, out: 0xda7847
+lwr :: offset: 0x24a, out: 0xda78
+lwr :: offset: 0x24b, out: 0xda
+lwr :: offset: 0x24c, out: 0xffffffffad00b1f7
+lwr :: offset: 0x24d, out: 0xad00b1
+lwr :: offset: 0x24e, out: 0xad00
+lwr :: offset: 0x24f, out: 0xad
+lwr :: offset: 0x250, out: 0xffffffffa6b6d98a
+lwr :: offset: 0x251, out: 0xa6b6d9
+lwr :: offset: 0x252, out: 0xa6b6
+lwr :: offset: 0x253, out: 0xa6
+lwr :: offset: 0x254, out: 0x8d44168
+lwr :: offset: 0x255, out: 0x8d441
+lwr :: offset: 0x256, out: 0x8d4
+lwr :: offset: 0x257, out: 0x8
+lwr :: offset: 0x258, out: 0xffffffffce634413
+lwr :: offset: 0x259, out: 0xce6344
+lwr :: offset: 0x25a, out: 0xce63
+lwr :: offset: 0x25b, out: 0xce
+lwr :: offset: 0x25c, out: 0xfffffffff518381d
+lwr :: offset: 0x25d, out: 0xf51838
+lwr :: offset: 0x25e, out: 0xf518
+lwr :: offset: 0x25f, out: 0xf5
+lwr :: offset: 0x260, out: 0xffffffffe5255fc0
+lwr :: offset: 0x261, out: 0xe5255f
+lwr :: offset: 0x262, out: 0xe525
+lwr :: offset: 0x263, out: 0xe5
+lwr :: offset: 0x264, out: 0xffffffffe4627f3f
+lwr :: offset: 0x265, out: 0xe4627f
+lwr :: offset: 0x266, out: 0xe462
+lwr :: offset: 0x267, out: 0xe4
+lwr :: offset: 0x268, out: 0x76321f28
+lwr :: offset: 0x269, out: 0x76321f
+lwr :: offset: 0x26a, out: 0x7632
+lwr :: offset: 0x26b, out: 0x76
+lwr :: offset: 0x26c, out: 0xffffffffccd392e1
+lwr :: offset: 0x26d, out: 0xccd392
+lwr :: offset: 0x26e, out: 0xccd3
+lwr :: offset: 0x26f, out: 0xcc
+lwr :: offset: 0x270, out: 0x4018fd8f
+lwr :: offset: 0x271, out: 0x4018fd
+lwr :: offset: 0x272, out: 0x4018
+lwr :: offset: 0x273, out: 0x40
+lwr :: offset: 0x274, out: 0xffffffff82946494
+lwr :: offset: 0x275, out: 0x829464
+lwr :: offset: 0x276, out: 0x8294
+lwr :: offset: 0x277, out: 0x82
+lwr :: offset: 0x278, out: 0x52e8f0e5
+lwr :: offset: 0x279, out: 0x52e8f0
+lwr :: offset: 0x27a, out: 0x52e8
+lwr :: offset: 0x27b, out: 0x52
+lwr :: offset: 0x27c, out: 0x15d32040
+lwr :: offset: 0x27d, out: 0x15d320
+lwr :: offset: 0x27e, out: 0x15d3
+lwr :: offset: 0x27f, out: 0x15
+lwr :: offset: 0x280, out: 0xffffffff880ff344
+lwr :: offset: 0x281, out: 0x880ff3
+lwr :: offset: 0x282, out: 0x880f
+lwr :: offset: 0x283, out: 0x88
+lwr :: offset: 0x284, out: 0x7caf83d2
+lwr :: offset: 0x285, out: 0x7caf83
+lwr :: offset: 0x286, out: 0x7caf
+lwr :: offset: 0x287, out: 0x7c
+lwr :: offset: 0x288, out: 0x747defd7
+lwr :: offset: 0x289, out: 0x747def
+lwr :: offset: 0x28a, out: 0x747d
+lwr :: offset: 0x28b, out: 0x74
+lwr :: offset: 0x28c, out: 0xfffffffff156a04c
+lwr :: offset: 0x28d, out: 0xf156a0
+lwr :: offset: 0x28e, out: 0xf156
+lwr :: offset: 0x28f, out: 0xf1
+lwr :: offset: 0x290, out: 0xf31d710
+lwr :: offset: 0x291, out: 0xf31d7
+lwr :: offset: 0x292, out: 0xf31
+lwr :: offset: 0x293, out: 0xf
+lwr :: offset: 0x294, out: 0xffffffff93e2601c
+lwr :: offset: 0x295, out: 0x93e260
+lwr :: offset: 0x296, out: 0x93e2
+lwr :: offset: 0x297, out: 0x93
+lwr :: offset: 0x298, out: 0x131cd933
+lwr :: offset: 0x299, out: 0x131cd9
+lwr :: offset: 0x29a, out: 0x131c
+lwr :: offset: 0x29b, out: 0x13
+lwr :: offset: 0x29c, out: 0xffffffffe1e1a679
+lwr :: offset: 0x29d, out: 0xe1e1a6
+lwr :: offset: 0x29e, out: 0xe1e1
+lwr :: offset: 0x29f, out: 0xe1
+lwr :: offset: 0x2a0, out: 0xffffffffa76fa427
+lwr :: offset: 0x2a1, out: 0xa76fa4
+lwr :: offset: 0x2a2, out: 0xa76f
+lwr :: offset: 0x2a3, out: 0xa7
+lwr :: offset: 0x2a4, out: 0x24296b75
+lwr :: offset: 0x2a5, out: 0x24296b
+lwr :: offset: 0x2a6, out: 0x2429
+lwr :: offset: 0x2a7, out: 0x24
+lwr :: offset: 0x2a8, out: 0x139ee56a
+lwr :: offset: 0x2a9, out: 0x139ee5
+lwr :: offset: 0x2aa, out: 0x139e
+lwr :: offset: 0x2ab, out: 0x13
+lwr :: offset: 0x2ac, out: 0xffffffffd296e2d2
+lwr :: offset: 0x2ad, out: 0xd296e2
+lwr :: offset: 0x2ae, out: 0xd296
+lwr :: offset: 0x2af, out: 0xd2
+lwr :: offset: 0x2b0, out: 0x6dc2a5c0
+lwr :: offset: 0x2b1, out: 0x6dc2a5
+lwr :: offset: 0x2b2, out: 0x6dc2
+lwr :: offset: 0x2b3, out: 0x6d
+lwr :: offset: 0x2b4, out: 0x5a82447f
+lwr :: offset: 0x2b5, out: 0x5a8244
+lwr :: offset: 0x2b6, out: 0x5a82
+lwr :: offset: 0x2b7, out: 0x5a
+lwr :: offset: 0x2b8, out: 0xffffffffc07dc168
+lwr :: offset: 0x2b9, out: 0xc07dc1
+lwr :: offset: 0x2ba, out: 0xc07d
+lwr :: offset: 0x2bb, out: 0xc0
+lwr :: offset: 0x2bc, out: 0x76c89e80
+lwr :: offset: 0x2bd, out: 0x76c89e
+lwr :: offset: 0x2be, out: 0x76c8
+lwr :: offset: 0x2bf, out: 0x76
+lwr :: offset: 0x2c0, out: 0x4bfe348f
+lwr :: offset: 0x2c1, out: 0x4bfe34
+lwr :: offset: 0x2c2, out: 0x4bfe
+lwr :: offset: 0x2c3, out: 0x4b
+lwr :: offset: 0x2c4, out: 0x70dc345
+lwr :: offset: 0x2c5, out: 0x70dc3
+lwr :: offset: 0x2c6, out: 0x70d
+lwr :: offset: 0x2c7, out: 0x7
+lwr :: offset: 0x2c8, out: 0xffffffffdd6d241b
+lwr :: offset: 0x2c9, out: 0xdd6d24
+lwr :: offset: 0x2ca, out: 0xdd6d
+lwr :: offset: 0x2cb, out: 0xdd
+lwr :: offset: 0x2cc, out: 0xffffffffbddc7123
+lwr :: offset: 0x2cd, out: 0xbddc71
+lwr :: offset: 0x2ce, out: 0xbddc
+lwr :: offset: 0x2cf, out: 0xbd
+lwr :: offset: 0x2d0, out: 0xffffffffa59fcebe
+lwr :: offset: 0x2d1, out: 0xa59fce
+lwr :: offset: 0x2d2, out: 0xa59f
+lwr :: offset: 0x2d3, out: 0xa5
+lwr :: offset: 0x2d4, out: 0xfffffffff62fb727
+lwr :: offset: 0x2d5, out: 0xf62fb7
+lwr :: offset: 0x2d6, out: 0xf62f
+lwr :: offset: 0x2d7, out: 0xf6
+lwr :: offset: 0x2d8, out: 0xf9f46fb
+lwr :: offset: 0x2d9, out: 0xf9f46
+lwr :: offset: 0x2da, out: 0xf9f
+lwr :: offset: 0x2db, out: 0xf
+lwr :: offset: 0x2dc, out: 0x109f27e9
+lwr :: offset: 0x2dd, out: 0x109f27
+lwr :: offset: 0x2de, out: 0x109f
+lwr :: offset: 0x2df, out: 0x10
+lwr :: offset: 0x2e0, out: 0xffffffffafd199d7
+lwr :: offset: 0x2e1, out: 0xafd199
+lwr :: offset: 0x2e2, out: 0xafd1
+lwr :: offset: 0x2e3, out: 0xaf
+lwr :: offset: 0x2e4, out: 0x3f63daa9
+lwr :: offset: 0x2e5, out: 0x3f63da
+lwr :: offset: 0x2e6, out: 0x3f63
+lwr :: offset: 0x2e7, out: 0x3f
+lwr :: offset: 0x2e8, out: 0xffffffffa3d484f2
+lwr :: offset: 0x2e9, out: 0xa3d484
+lwr :: offset: 0x2ea, out: 0xa3d4
+lwr :: offset: 0x2eb, out: 0xa3
+lwr :: offset: 0x2ec, out: 0xffffffffdbcb312e
+lwr :: offset: 0x2ed, out: 0xdbcb31
+lwr :: offset: 0x2ee, out: 0xdbcb
+lwr :: offset: 0x2ef, out: 0xdb
+lwr :: offset: 0x2f0, out: 0xffffffffda4fe4c6
+lwr :: offset: 0x2f1, out: 0xda4fe4
+lwr :: offset: 0x2f2, out: 0xda4f
+lwr :: offset: 0x2f3, out: 0xda
+lwr :: offset: 0x2f4, out: 0x1f353faa
+lwr :: offset: 0x2f5, out: 0x1f353f
+lwr :: offset: 0x2f6, out: 0x1f35
+lwr :: offset: 0x2f7, out: 0x1f
+lwr :: offset: 0x2f8, out: 0x7150c260
+lwr :: offset: 0x2f9, out: 0x7150c2
+lwr :: offset: 0x2fa, out: 0x7150
+lwr :: offset: 0x2fb, out: 0x71
+lwr :: offset: 0x2fc, out: 0xffffffff8b086ee0
+lwr :: offset: 0x2fd, out: 0x8b086e
+lwr :: offset: 0x2fe, out: 0x8b08
+lwr :: offset: 0x2ff, out: 0x8b
+lwr :: offset: 0x300, out: 0xffffffffd9257f25
+lwr :: offset: 0x301, out: 0xd9257f
+lwr :: offset: 0x302, out: 0xd925
+lwr :: offset: 0x303, out: 0xd9
+lwr :: offset: 0x304, out: 0xffffffffe54750d5
+lwr :: offset: 0x305, out: 0xe54750
+lwr :: offset: 0x306, out: 0xe547
+lwr :: offset: 0x307, out: 0xe5
+lwr :: offset: 0x308, out: 0xffffffffe9a6db5b
+lwr :: offset: 0x309, out: 0xe9a6db
+lwr :: offset: 0x30a, out: 0xe9a6
+lwr :: offset: 0x30b, out: 0xe9
+lwr :: offset: 0x30c, out: 0x3d69625f
+lwr :: offset: 0x30d, out: 0x3d6962
+lwr :: offset: 0x30e, out: 0x3d69
+lwr :: offset: 0x30f, out: 0x3d
+lwr :: offset: 0x310, out: 0x4340ac96
+lwr :: offset: 0x311, out: 0x4340ac
+lwr :: offset: 0x312, out: 0x4340
+lwr :: offset: 0x313, out: 0x43
+lwr :: offset: 0x314, out: 0x70a3e042
+lwr :: offset: 0x315, out: 0x70a3e0
+lwr :: offset: 0x316, out: 0x70a3
+lwr :: offset: 0x317, out: 0x70
+lwr :: offset: 0x318, out: 0x6980171e
+lwr :: offset: 0x319, out: 0x698017
+lwr :: offset: 0x31a, out: 0x6980
+lwr :: offset: 0x31b, out: 0x69
+lwr :: offset: 0x31c, out: 0xffffffffc0478f03
+lwr :: offset: 0x31d, out: 0xc0478f
+lwr :: offset: 0x31e, out: 0xc047
+lwr :: offset: 0x31f, out: 0xc0
+lwr :: offset: 0x320, out: 0x1cf929e3
+lwr :: offset: 0x321, out: 0x1cf929
+lwr :: offset: 0x322, out: 0x1cf9
+lwr :: offset: 0x323, out: 0x1c
+lwr :: offset: 0x324, out: 0x3ce839a5
+lwr :: offset: 0x325, out: 0x3ce839
+lwr :: offset: 0x326, out: 0x3ce8
+lwr :: offset: 0x327, out: 0x3c
+lwr :: offset: 0x328, out: 0x5eb68958
+lwr :: offset: 0x329, out: 0x5eb689
+lwr :: offset: 0x32a, out: 0x5eb6
+lwr :: offset: 0x32b, out: 0x5e
+lwr :: offset: 0x32c, out: 0xffffffffe2fbfa89
+lwr :: offset: 0x32d, out: 0xe2fbfa
+lwr :: offset: 0x32e, out: 0xe2fb
+lwr :: offset: 0x32f, out: 0xe2
+lwr :: offset: 0x330, out: 0x76ed25b7
+lwr :: offset: 0x331, out: 0x76ed25
+lwr :: offset: 0x332, out: 0x76ed
+lwr :: offset: 0x333, out: 0x76
+lwr :: offset: 0x334, out: 0xffffffffd24bb05d
+lwr :: offset: 0x335, out: 0xd24bb0
+lwr :: offset: 0x336, out: 0xd24b
+lwr :: offset: 0x337, out: 0xd2
+lwr :: offset: 0x338, out: 0x170312f1
+lwr :: offset: 0x339, out: 0x170312
+lwr :: offset: 0x33a, out: 0x1703
+lwr :: offset: 0x33b, out: 0x17
+lwr :: offset: 0x33c, out: 0xeb9682c
+lwr :: offset: 0x33d, out: 0xeb968
+lwr :: offset: 0x33e, out: 0xeb9
+lwr :: offset: 0x33f, out: 0xe
+lwr :: offset: 0x340, out: 0xffffffffdd301d0d
+lwr :: offset: 0x341, out: 0xdd301d
+lwr :: offset: 0x342, out: 0xdd30
+lwr :: offset: 0x343, out: 0xdd
+lwr :: offset: 0x344, out: 0xffffffff84785280
+lwr :: offset: 0x345, out: 0x847852
+lwr :: offset: 0x346, out: 0x8478
+lwr :: offset: 0x347, out: 0x84
+lwr :: offset: 0x348, out: 0x1f8fd6ef
+lwr :: offset: 0x349, out: 0x1f8fd6
+lwr :: offset: 0x34a, out: 0x1f8f
+lwr :: offset: 0x34b, out: 0x1f
+lwr :: offset: 0x34c, out: 0x179c77aa
+lwr :: offset: 0x34d, out: 0x179c77
+lwr :: offset: 0x34e, out: 0x179c
+lwr :: offset: 0x34f, out: 0x17
+lwr :: offset: 0x350, out: 0x2998436d
+lwr :: offset: 0x351, out: 0x299843
+lwr :: offset: 0x352, out: 0x2998
+lwr :: offset: 0x353, out: 0x29
+lwr :: offset: 0x354, out: 0x26444ced
+lwr :: offset: 0x355, out: 0x26444c
+lwr :: offset: 0x356, out: 0x2644
+lwr :: offset: 0x357, out: 0x26
+lwr :: offset: 0x358, out: 0xffffffffd58ca708
+lwr :: offset: 0x359, out: 0xd58ca7
+lwr :: offset: 0x35a, out: 0xd58c
+lwr :: offset: 0x35b, out: 0xd5
+lwr :: offset: 0x35c, out: 0x7175c9d
+lwr :: offset: 0x35d, out: 0x7175c
+lwr :: offset: 0x35e, out: 0x717
+lwr :: offset: 0x35f, out: 0x7
+lwr :: offset: 0x360, out: 0x55833287
+lwr :: offset: 0x361, out: 0x558332
+lwr :: offset: 0x362, out: 0x5583
+lwr :: offset: 0x363, out: 0x55
+lwr :: offset: 0x364, out: 0x663d0610
+lwr :: offset: 0x365, out: 0x663d06
+lwr :: offset: 0x366, out: 0x663d
+lwr :: offset: 0x367, out: 0x66
+lwr :: offset: 0x368, out: 0xffffffff8951d68b
+lwr :: offset: 0x369, out: 0x8951d6
+lwr :: offset: 0x36a, out: 0x8951
+lwr :: offset: 0x36b, out: 0x89
+lwr :: offset: 0x36c, out: 0xffffffffab7dd048
+lwr :: offset: 0x36d, out: 0xab7dd0
+lwr :: offset: 0x36e, out: 0xab7d
+lwr :: offset: 0x36f, out: 0xab
+lwr :: offset: 0x370, out: 0xe82471b
+lwr :: offset: 0x371, out: 0xe8247
+lwr :: offset: 0x372, out: 0xe82
+lwr :: offset: 0x373, out: 0xe
+lwr :: offset: 0x374, out: 0xfffffffff6982367
+lwr :: offset: 0x375, out: 0xf69823
+lwr :: offset: 0x376, out: 0xf698
+lwr :: offset: 0x377, out: 0xf6
+lwr :: offset: 0x378, out: 0xffffffffd98d26b2
+lwr :: offset: 0x379, out: 0xd98d26
+lwr :: offset: 0x37a, out: 0xd98d
+lwr :: offset: 0x37b, out: 0xd9
+lwr :: offset: 0x37c, out: 0x36886c59
+lwr :: offset: 0x37d, out: 0x36886c
+lwr :: offset: 0x37e, out: 0x3688
+lwr :: offset: 0x37f, out: 0x36
+lwr :: offset: 0x380, out: 0xffffffffd32be479
+lwr :: offset: 0x381, out: 0xd32be4
+lwr :: offset: 0x382, out: 0xd32b
+lwr :: offset: 0x383, out: 0xd3
+lwr :: offset: 0x384, out: 0x9ca4bdb
+lwr :: offset: 0x385, out: 0x9ca4b
+lwr :: offset: 0x386, out: 0x9ca
+lwr :: offset: 0x387, out: 0x9
+lwr :: offset: 0x388, out: 0xffffffff9962e61f
+lwr :: offset: 0x389, out: 0x9962e6
+lwr :: offset: 0x38a, out: 0x9962
+lwr :: offset: 0x38b, out: 0x99
+lwr :: offset: 0x38c, out: 0xfffffffffd5d7d1d
+lwr :: offset: 0x38d, out: 0xfd5d7d
+lwr :: offset: 0x38e, out: 0xfd5d
+lwr :: offset: 0x38f, out: 0xfd
+lwr :: offset: 0x390, out: 0xffffffffcad374df
+lwr :: offset: 0x391, out: 0xcad374
+lwr :: offset: 0x392, out: 0xcad3
+lwr :: offset: 0x393, out: 0xca
+lwr :: offset: 0x394, out: 0x3f46553e
+lwr :: offset: 0x395, out: 0x3f4655
+lwr :: offset: 0x396, out: 0x3f46
+lwr :: offset: 0x397, out: 0x3f
+lwr :: offset: 0x398, out: 0x3eedf2a7
+lwr :: offset: 0x399, out: 0x3eedf2
+lwr :: offset: 0x39a, out: 0x3eed
+lwr :: offset: 0x39b, out: 0x3e
+lwr :: offset: 0x39c, out: 0x2e9ab97d
+lwr :: offset: 0x39d, out: 0x2e9ab9
+lwr :: offset: 0x39e, out: 0x2e9a
+lwr :: offset: 0x39f, out: 0x2e
+lwr :: offset: 0x3a0, out: 0x3c0c9f33
+lwr :: offset: 0x3a1, out: 0x3c0c9f
+lwr :: offset: 0x3a2, out: 0x3c0c
+lwr :: offset: 0x3a3, out: 0x3c
+lwr :: offset: 0x3a4, out: 0x36a6f7fa
+lwr :: offset: 0x3a5, out: 0x36a6f7
+lwr :: offset: 0x3a6, out: 0x36a6
+lwr :: offset: 0x3a7, out: 0x36
+lwr :: offset: 0x3a8, out: 0x155ec9dc
+lwr :: offset: 0x3a9, out: 0x155ec9
+lwr :: offset: 0x3aa, out: 0x155e
+lwr :: offset: 0x3ab, out: 0x15
+lwr :: offset: 0x3ac, out: 0xffffffff8bb938e3
+lwr :: offset: 0x3ad, out: 0x8bb938
+lwr :: offset: 0x3ae, out: 0x8bb9
+lwr :: offset: 0x3af, out: 0x8b
+lwr :: offset: 0x3b0, out: 0x19478206
+lwr :: offset: 0x3b1, out: 0x194782
+lwr :: offset: 0x3b2, out: 0x1947
+lwr :: offset: 0x3b3, out: 0x19
+lwr :: offset: 0x3b4, out: 0xffffffffd2df25c4
+lwr :: offset: 0x3b5, out: 0xd2df25
+lwr :: offset: 0x3b6, out: 0xd2df
+lwr :: offset: 0x3b7, out: 0xd2
+lwr :: offset: 0x3b8, out: 0xffffffffeb321825
+lwr :: offset: 0x3b9, out: 0xeb3218
+lwr :: offset: 0x3ba, out: 0xeb32
+lwr :: offset: 0x3bb, out: 0xeb
+lwr :: offset: 0x3bc, out: 0xffffffffbc65bf27
+lwr :: offset: 0x3bd, out: 0xbc65bf
+lwr :: offset: 0x3be, out: 0xbc65
+lwr :: offset: 0x3bf, out: 0xbc
+lwr :: offset: 0x3c0, out: 0x7a8bc7da
+lwr :: offset: 0x3c1, out: 0x7a8bc7
+lwr :: offset: 0x3c2, out: 0x7a8b
+lwr :: offset: 0x3c3, out: 0x7a
+lwr :: offset: 0x3c4, out: 0xffffffffa8b08fe6
+lwr :: offset: 0x3c5, out: 0xa8b08f
+lwr :: offset: 0x3c6, out: 0xa8b0
+lwr :: offset: 0x3c7, out: 0xa8
+lwr :: offset: 0x3c8, out: 0xfffffffff8dfcde8
+lwr :: offset: 0x3c9, out: 0xf8dfcd
+lwr :: offset: 0x3ca, out: 0xf8df
+lwr :: offset: 0x3cb, out: 0xf8
+lwr :: offset: 0x3cc, out: 0xffffffff852b5bca
+lwr :: offset: 0x3cd, out: 0x852b5b
+lwr :: offset: 0x3ce, out: 0x852b
+lwr :: offset: 0x3cf, out: 0x85
+lwr :: offset: 0x3d0, out: 0x59a99269
+lwr :: offset: 0x3d1, out: 0x59a992
+lwr :: offset: 0x3d2, out: 0x59a9
+lwr :: offset: 0x3d3, out: 0x59
+lwr :: offset: 0x3d4, out: 0x478909b
+lwr :: offset: 0x3d5, out: 0x47890
+lwr :: offset: 0x3d6, out: 0x478
+lwr :: offset: 0x3d7, out: 0x4
+lwr :: offset: 0x3d8, out: 0x7857360f
+lwr :: offset: 0x3d9, out: 0x785736
+lwr :: offset: 0x3da, out: 0x7857
+lwr :: offset: 0x3db, out: 0x78
+lwr :: offset: 0x3dc, out: 0xffffffffbfb31cc8
+lwr :: offset: 0x3dd, out: 0xbfb31c
+lwr :: offset: 0x3de, out: 0xbfb3
+lwr :: offset: 0x3df, out: 0xbf
+lwr :: offset: 0x3e0, out: 0x7f89e9a2
+lwr :: offset: 0x3e1, out: 0x7f89e9
+lwr :: offset: 0x3e2, out: 0x7f89
+lwr :: offset: 0x3e3, out: 0x7f
+lwr :: offset: 0x3e4, out: 0xffffffffb665ed5e
+lwr :: offset: 0x3e5, out: 0xb665ed
+lwr :: offset: 0x3e6, out: 0xb665
+lwr :: offset: 0x3e7, out: 0xb6
+lwr :: offset: 0x3e8, out: 0xffffffffb7a8d5e4
+lwr :: offset: 0x3e9, out: 0xb7a8d5
+lwr :: offset: 0x3ea, out: 0xb7a8
+lwr :: offset: 0x3eb, out: 0xb7
+lwr :: offset: 0x3ec, out: 0x15da9474
+lwr :: offset: 0x3ed, out: 0x15da94
+lwr :: offset: 0x3ee, out: 0x15da
+lwr :: offset: 0x3ef, out: 0x15
+lwr :: offset: 0x3f0, out: 0x2af90fcc
+lwr :: offset: 0x3f1, out: 0x2af90f
+lwr :: offset: 0x3f2, out: 0x2af9
+lwr :: offset: 0x3f3, out: 0x2a
+lwr :: offset: 0x3f4, out: 0xfffffffff6b3537d
+lwr :: offset: 0x3f5, out: 0xf6b353
+lwr :: offset: 0x3f6, out: 0xf6b3
+lwr :: offset: 0x3f7, out: 0xf6
+lwr :: offset: 0x3f8, out: 0x2b961897
+lwr :: offset: 0x3f9, out: 0x2b9618
+lwr :: offset: 0x3fa, out: 0x2b96
+lwr :: offset: 0x3fb, out: 0x2b
+lwr :: offset: 0x3fc, out: 0x223d7cfe
+lwr :: offset: 0x3fd, out: 0x223d7c
+lwr :: offset: 0x3fe, out: 0x223d
+lwr :: offset: 0x3ff, out: 0x22
+lwr :: offset: 0x400, out: 0x33734a4b
+lwr :: offset: 0x401, out: 0x33734a
+lwr :: offset: 0x402, out: 0x3373
+lwr :: offset: 0x403, out: 0x33
+lwr :: offset: 0x404, out: 0x420b34f5
+lwr :: offset: 0x405, out: 0x420b34
+lwr :: offset: 0x406, out: 0x420b
+lwr :: offset: 0x407, out: 0x42
+lwr :: offset: 0x408, out: 0xffffffffdd46b33c
+lwr :: offset: 0x409, out: 0xdd46b3
+lwr :: offset: 0x40a, out: 0xdd46
+lwr :: offset: 0x40b, out: 0xdd
+lwr :: offset: 0x40c, out: 0xffffffff897c8c8d
+lwr :: offset: 0x40d, out: 0x897c8c
+lwr :: offset: 0x40e, out: 0x897c
+lwr :: offset: 0x40f, out: 0x89
+lwr :: offset: 0x410, out: 0xffffffffe392ccd9
+lwr :: offset: 0x411, out: 0xe392cc
+lwr :: offset: 0x412, out: 0xe392
+lwr :: offset: 0x413, out: 0xe3
+lwr :: offset: 0x414, out: 0x7a387445
+lwr :: offset: 0x415, out: 0x7a3874
+lwr :: offset: 0x416, out: 0x7a38
+lwr :: offset: 0x417, out: 0x7a
+lwr :: offset: 0x418, out: 0xffffffffd80000c9
+lwr :: offset: 0x419, out: 0xd80000
+lwr :: offset: 0x41a, out: 0xd800
+lwr :: offset: 0x41b, out: 0xd8
+lwr :: offset: 0x41c, out: 0x512f29b1
+lwr :: offset: 0x41d, out: 0x512f29
+lwr :: offset: 0x41e, out: 0x512f
+lwr :: offset: 0x41f, out: 0x51
+lwr :: offset: 0x420, out: 0x3dad020a
+lwr :: offset: 0x421, out: 0x3dad02
+lwr :: offset: 0x422, out: 0x3dad
+lwr :: offset: 0x423, out: 0x3d
+lwr :: offset: 0x424, out: 0xffffffffeaded5c5
+lwr :: offset: 0x425, out: 0xeaded5
+lwr :: offset: 0x426, out: 0xeade
+lwr :: offset: 0x427, out: 0xea
+lwr :: offset: 0x428, out: 0x31eea35b
+lwr :: offset: 0x429, out: 0x31eea3
+lwr :: offset: 0x42a, out: 0x31ee
+lwr :: offset: 0x42b, out: 0x31
+lwr :: offset: 0x42c, out: 0xffffffff8a6229d7
+lwr :: offset: 0x42d, out: 0x8a6229
+lwr :: offset: 0x42e, out: 0x8a62
+lwr :: offset: 0x42f, out: 0x8a
+lwr :: offset: 0x430, out: 0x48985649
+lwr :: offset: 0x431, out: 0x489856
+lwr :: offset: 0x432, out: 0x4898
+lwr :: offset: 0x433, out: 0x48
+lwr :: offset: 0x434, out: 0x2c3c3f9e
+lwr :: offset: 0x435, out: 0x2c3c3f
+lwr :: offset: 0x436, out: 0x2c3c
+lwr :: offset: 0x437, out: 0x2c
+lwr :: offset: 0x438, out: 0xffffffffdc9c0b77
+lwr :: offset: 0x439, out: 0xdc9c0b
+lwr :: offset: 0x43a, out: 0xdc9c
+lwr :: offset: 0x43b, out: 0xdc
+lwr :: offset: 0x43c, out: 0x7ff61e78
+lwr :: offset: 0x43d, out: 0x7ff61e
+lwr :: offset: 0x43e, out: 0x7ff6
+lwr :: offset: 0x43f, out: 0x7f
+lwr :: offset: 0x440, out: 0x1d5e68ec
+lwr :: offset: 0x441, out: 0x1d5e68
+lwr :: offset: 0x442, out: 0x1d5e
+lwr :: offset: 0x443, out: 0x1d
+lwr :: offset: 0x444, out: 0x2299b0e0
+lwr :: offset: 0x445, out: 0x2299b0
+lwr :: offset: 0x446, out: 0x2299
+lwr :: offset: 0x447, out: 0x22
+lwr :: offset: 0x448, out: 0x3d0c6e25
+lwr :: offset: 0x449, out: 0x3d0c6e
+lwr :: offset: 0x44a, out: 0x3d0c
+lwr :: offset: 0x44b, out: 0x3d
+lwr :: offset: 0x44c, out: 0x7c3b0467
+lwr :: offset: 0x44d, out: 0x7c3b04
+lwr :: offset: 0x44e, out: 0x7c3b
+lwr :: offset: 0x44f, out: 0x7c
+lwr :: offset: 0x450, out: 0xffffffffe7fb6587
+lwr :: offset: 0x451, out: 0xe7fb65
+lwr :: offset: 0x452, out: 0xe7fb
+lwr :: offset: 0x453, out: 0xe7
+lwr :: offset: 0x454, out: 0x164e17c1
+lwr :: offset: 0x455, out: 0x164e17
+lwr :: offset: 0x456, out: 0x164e
+lwr :: offset: 0x457, out: 0x16
+lwr :: offset: 0x458, out: 0x56d4950b
+lwr :: offset: 0x459, out: 0x56d495
+lwr :: offset: 0x45a, out: 0x56d4
+lwr :: offset: 0x45b, out: 0x56
+lwr :: offset: 0x45c, out: 0xfffffffffa4ca28b
+lwr :: offset: 0x45d, out: 0xfa4ca2
+lwr :: offset: 0x45e, out: 0xfa4c
+lwr :: offset: 0x45f, out: 0xfa
+lwr :: offset: 0x460, out: 0xffffffffbe7fa08a
+lwr :: offset: 0x461, out: 0xbe7fa0
+lwr :: offset: 0x462, out: 0xbe7f
+lwr :: offset: 0x463, out: 0xbe
+lwr :: offset: 0x464, out: 0xffffffffe5e9a314
+lwr :: offset: 0x465, out: 0xe5e9a3
+lwr :: offset: 0x466, out: 0xe5e9
+lwr :: offset: 0x467, out: 0xe5
+lwr :: offset: 0x468, out: 0x159649c5
+lwr :: offset: 0x469, out: 0x159649
+lwr :: offset: 0x46a, out: 0x1596
+lwr :: offset: 0x46b, out: 0x15
+lwr :: offset: 0x46c, out: 0xfffffffff8be8164
+lwr :: offset: 0x46d, out: 0xf8be81
+lwr :: offset: 0x46e, out: 0xf8be
+lwr :: offset: 0x46f, out: 0xf8
+lwr :: offset: 0x470, out: 0xffffffff84e69b17
+lwr :: offset: 0x471, out: 0x84e69b
+lwr :: offset: 0x472, out: 0x84e6
+lwr :: offset: 0x473, out: 0x84
+lwr :: offset: 0x474, out: 0x7ca32597
+lwr :: offset: 0x475, out: 0x7ca325
+lwr :: offset: 0x476, out: 0x7ca3
+lwr :: offset: 0x477, out: 0x7c
+lwr :: offset: 0x478, out: 0xffffffffa1f24f5c
+lwr :: offset: 0x479, out: 0xa1f24f
+lwr :: offset: 0x47a, out: 0xa1f2
+lwr :: offset: 0x47b, out: 0xa1
+lwr :: offset: 0x47c, out: 0xfffffffffc8d543c
+lwr :: offset: 0x47d, out: 0xfc8d54
+lwr :: offset: 0x47e, out: 0xfc8d
+lwr :: offset: 0x47f, out: 0xfc
+lwr :: offset: 0x480, out: 0xffffffffe3459e36
+lwr :: offset: 0x481, out: 0xe3459e
+lwr :: offset: 0x482, out: 0xe345
+lwr :: offset: 0x483, out: 0xe3
+lwr :: offset: 0x484, out: 0x4aeb6ca0
+lwr :: offset: 0x485, out: 0x4aeb6c
+lwr :: offset: 0x486, out: 0x4aeb
+lwr :: offset: 0x487, out: 0x4a
+lwr :: offset: 0x488, out: 0x187980fa
+lwr :: offset: 0x489, out: 0x187980
+lwr :: offset: 0x48a, out: 0x1879
+lwr :: offset: 0x48b, out: 0x18
+lwr :: offset: 0x48c, out: 0xffffffffc532e18e
+lwr :: offset: 0x48d, out: 0xc532e1
+lwr :: offset: 0x48e, out: 0xc532
+lwr :: offset: 0x48f, out: 0xc5
+lwr :: offset: 0x490, out: 0x4f287d1c
+lwr :: offset: 0x491, out: 0x4f287d
+lwr :: offset: 0x492, out: 0x4f28
+lwr :: offset: 0x493, out: 0x4f
+lwr :: offset: 0x494, out: 0xffffffffb3fdec29
+lwr :: offset: 0x495, out: 0xb3fdec
+lwr :: offset: 0x496, out: 0xb3fd
+lwr :: offset: 0x497, out: 0xb3
+lwr :: offset: 0x498, out: 0x49732b90
+lwr :: offset: 0x499, out: 0x49732b
+lwr :: offset: 0x49a, out: 0x4973
+lwr :: offset: 0x49b, out: 0x49
+lwr :: offset: 0x49c, out: 0xffffffffb620660a
+lwr :: offset: 0x49d, out: 0xb62066
+lwr :: offset: 0x49e, out: 0xb620
+lwr :: offset: 0x49f, out: 0xb6
+lwr :: offset: 0x4a0, out: 0x6cfde991
+lwr :: offset: 0x4a1, out: 0x6cfde9
+lwr :: offset: 0x4a2, out: 0x6cfd
+lwr :: offset: 0x4a3, out: 0x6c
+lwr :: offset: 0x4a4, out: 0xffffffff993138f1
+lwr :: offset: 0x4a5, out: 0x993138
+lwr :: offset: 0x4a6, out: 0x9931
+lwr :: offset: 0x4a7, out: 0x99
+lwr :: offset: 0x4a8, out: 0x7d5407b9
+lwr :: offset: 0x4a9, out: 0x7d5407
+lwr :: offset: 0x4aa, out: 0x7d54
+lwr :: offset: 0x4ab, out: 0x7d
+lwr :: offset: 0x4ac, out: 0xffffffffde02d133
+lwr :: offset: 0x4ad, out: 0xde02d1
+lwr :: offset: 0x4ae, out: 0xde02
+lwr :: offset: 0x4af, out: 0xde
+lwr :: offset: 0x4b0, out: 0xffffffffe1dab15a
+lwr :: offset: 0x4b1, out: 0xe1dab1
+lwr :: offset: 0x4b2, out: 0xe1da
+lwr :: offset: 0x4b3, out: 0xe1
+lwr :: offset: 0x4b4, out: 0x13a390e1
+lwr :: offset: 0x4b5, out: 0x13a390
+lwr :: offset: 0x4b6, out: 0x13a3
+lwr :: offset: 0x4b7, out: 0x13
+lwr :: offset: 0x4b8, out: 0xffffffff828716c8
+lwr :: offset: 0x4b9, out: 0x828716
+lwr :: offset: 0x4ba, out: 0x8287
+lwr :: offset: 0x4bb, out: 0x82
+lwr :: offset: 0x4bc, out: 0x743491a6
+lwr :: offset: 0x4bd, out: 0x743491
+lwr :: offset: 0x4be, out: 0x7434
+lwr :: offset: 0x4bf, out: 0x74
+lwr :: offset: 0x4c0, out: 0xffffffffede292f2
+lwr :: offset: 0x4c1, out: 0xede292
+lwr :: offset: 0x4c2, out: 0xede2
+lwr :: offset: 0x4c3, out: 0xed
+lwr :: offset: 0x4c4, out: 0xffffffff8cff404a
+lwr :: offset: 0x4c5, out: 0x8cff40
+lwr :: offset: 0x4c6, out: 0x8cff
+lwr :: offset: 0x4c7, out: 0x8c
+lwr :: offset: 0x4c8, out: 0x1f837636
+lwr :: offset: 0x4c9, out: 0x1f8376
+lwr :: offset: 0x4ca, out: 0x1f83
+lwr :: offset: 0x4cb, out: 0x1f
+lwr :: offset: 0x4cc, out: 0xffffffffb9cec0db
+lwr :: offset: 0x4cd, out: 0xb9cec0
+lwr :: offset: 0x4ce, out: 0xb9ce
+lwr :: offset: 0x4cf, out: 0xb9
+lwr :: offset: 0x4d0, out: 0x509771c
+lwr :: offset: 0x4d1, out: 0x50977
+lwr :: offset: 0x4d2, out: 0x509
+lwr :: offset: 0x4d3, out: 0x5
+lwr :: offset: 0x4d4, out: 0x2eaa5aa7
+lwr :: offset: 0x4d5, out: 0x2eaa5a
+lwr :: offset: 0x4d6, out: 0x2eaa
+lwr :: offset: 0x4d7, out: 0x2e
+lwr :: offset: 0x4d8, out: 0x1875241b
+lwr :: offset: 0x4d9, out: 0x187524
+lwr :: offset: 0x4da, out: 0x1875
+lwr :: offset: 0x4db, out: 0x18
+lwr :: offset: 0x4dc, out: 0xffffffffd327538e
+lwr :: offset: 0x4dd, out: 0xd32753
+lwr :: offset: 0x4de, out: 0xd327
+lwr :: offset: 0x4df, out: 0xd3
+lwr :: offset: 0x4e0, out: 0xffffffff8b739b6b
+lwr :: offset: 0x4e1, out: 0x8b739b
+lwr :: offset: 0x4e2, out: 0x8b73
+lwr :: offset: 0x4e3, out: 0x8b
+lwr :: offset: 0x4e4, out: 0x42e9f854
+lwr :: offset: 0x4e5, out: 0x42e9f8
+lwr :: offset: 0x4e6, out: 0x42e9
+lwr :: offset: 0x4e7, out: 0x42
+lwr :: offset: 0x4e8, out: 0xffffffffeccbba1a
+lwr :: offset: 0x4e9, out: 0xeccbba
+lwr :: offset: 0x4ea, out: 0xeccb
+lwr :: offset: 0x4eb, out: 0xec
+lwr :: offset: 0x4ec, out: 0x78e4e50c
+lwr :: offset: 0x4ed, out: 0x78e4e5
+lwr :: offset: 0x4ee, out: 0x78e4
+lwr :: offset: 0x4ef, out: 0x78
+lwr :: offset: 0x4f0, out: 0xffffffffcd9d27cb
+lwr :: offset: 0x4f1, out: 0xcd9d27
+lwr :: offset: 0x4f2, out: 0xcd9d
+lwr :: offset: 0x4f3, out: 0xcd
+lwr :: offset: 0x4f4, out: 0xfffffffff6b6fa3f
+lwr :: offset: 0x4f5, out: 0xf6b6fa
+lwr :: offset: 0x4f6, out: 0xf6b6
+lwr :: offset: 0x4f7, out: 0xf6
+lwr :: offset: 0x4f8, out: 0xffffffffae3e9423
+lwr :: offset: 0x4f9, out: 0xae3e94
+lwr :: offset: 0x4fa, out: 0xae3e
+lwr :: offset: 0x4fb, out: 0xae
+lwr :: offset: 0x4fc, out: 0x73916483
+lwr :: offset: 0x4fd, out: 0x739164
+lwr :: offset: 0x4fe, out: 0x7391
+lwr :: offset: 0x4ff, out: 0x73
+lwr :: offset: 0x500, out: 0xe128561
+lwr :: offset: 0x501, out: 0xe1285
+lwr :: offset: 0x502, out: 0xe12
+lwr :: offset: 0x503, out: 0xe
+lwr :: offset: 0x504, out: 0x276af70a
+lwr :: offset: 0x505, out: 0x276af7
+lwr :: offset: 0x506, out: 0x276a
+lwr :: offset: 0x507, out: 0x27
+lwr :: offset: 0x508, out: 0xffffffffb5e74b6e
+lwr :: offset: 0x509, out: 0xb5e74b
+lwr :: offset: 0x50a, out: 0xb5e7
+lwr :: offset: 0x50b, out: 0xb5
+lwr :: offset: 0x50c, out: 0x3045bf6
+lwr :: offset: 0x50d, out: 0x3045b
+lwr :: offset: 0x50e, out: 0x304
+lwr :: offset: 0x50f, out: 0x3
+lwr :: offset: 0x510, out: 0x8accfa6
+lwr :: offset: 0x511, out: 0x8accf
+lwr :: offset: 0x512, out: 0x8ac
+lwr :: offset: 0x513, out: 0x8
+lwr :: offset: 0x514, out: 0x20223f13
+lwr :: offset: 0x515, out: 0x20223f
+lwr :: offset: 0x516, out: 0x2022
+lwr :: offset: 0x517, out: 0x20
+lwr :: offset: 0x518, out: 0x3976b5f5
+lwr :: offset: 0x519, out: 0x3976b5
+lwr :: offset: 0x51a, out: 0x3976
+lwr :: offset: 0x51b, out: 0x39
+lwr :: offset: 0x51c, out: 0xfffffffff83c5574
+lwr :: offset: 0x51d, out: 0xf83c55
+lwr :: offset: 0x51e, out: 0xf83c
+lwr :: offset: 0x51f, out: 0xf8
+lwr :: offset: 0x520, out: 0x46923c3d
+lwr :: offset: 0x521, out: 0x46923c
+lwr :: offset: 0x522, out: 0x4692
+lwr :: offset: 0x523, out: 0x46
+lwr :: offset: 0x524, out: 0x1f9720f9
+lwr :: offset: 0x525, out: 0x1f9720
+lwr :: offset: 0x526, out: 0x1f97
+lwr :: offset: 0x527, out: 0x1f
+lwr :: offset: 0x528, out: 0x6d2448dd
+lwr :: offset: 0x529, out: 0x6d2448
+lwr :: offset: 0x52a, out: 0x6d24
+lwr :: offset: 0x52b, out: 0x6d
+lwr :: offset: 0x52c, out: 0x620d2850
+lwr :: offset: 0x52d, out: 0x620d28
+lwr :: offset: 0x52e, out: 0x620d
+lwr :: offset: 0x52f, out: 0x62
+lwr :: offset: 0x530, out: 0xffffffff9ff4a732
+lwr :: offset: 0x531, out: 0x9ff4a7
+lwr :: offset: 0x532, out: 0x9ff4
+lwr :: offset: 0x533, out: 0x9f
+lwr :: offset: 0x534, out: 0x60a521e9
+lwr :: offset: 0x535, out: 0x60a521
+lwr :: offset: 0x536, out: 0x60a5
+lwr :: offset: 0x537, out: 0x60
+lwr :: offset: 0x538, out: 0x5c680f0b
+lwr :: offset: 0x539, out: 0x5c680f
+lwr :: offset: 0x53a, out: 0x5c68
+lwr :: offset: 0x53b, out: 0x5c
+lwr :: offset: 0x53c, out: 0x5a08f3ab
+lwr :: offset: 0x53d, out: 0x5a08f3
+lwr :: offset: 0x53e, out: 0x5a08
+lwr :: offset: 0x53f, out: 0x5a
+lwr :: offset: 0x540, out: 0xffffffff800f3d26
+lwr :: offset: 0x541, out: 0x800f3d
+lwr :: offset: 0x542, out: 0x800f
+lwr :: offset: 0x543, out: 0x80
+lwr :: offset: 0x544, out: 0xffffffffc7a59be7
+lwr :: offset: 0x545, out: 0xc7a59b
+lwr :: offset: 0x546, out: 0xc7a5
+lwr :: offset: 0x547, out: 0xc7
+lwr :: offset: 0x548, out: 0xffffffff82ca1b41
+lwr :: offset: 0x549, out: 0x82ca1b
+lwr :: offset: 0x54a, out: 0x82ca
+lwr :: offset: 0x54b, out: 0x82
+lwr :: offset: 0x54c, out: 0x1aecdf29
+lwr :: offset: 0x54d, out: 0x1aecdf
+lwr :: offset: 0x54e, out: 0x1aec
+lwr :: offset: 0x54f, out: 0x1a
+lwr :: offset: 0x550, out: 0x60d19dcd
+lwr :: offset: 0x551, out: 0x60d19d
+lwr :: offset: 0x552, out: 0x60d1
+lwr :: offset: 0x553, out: 0x60
+lwr :: offset: 0x554, out: 0x2b8613a2
+lwr :: offset: 0x555, out: 0x2b8613
+lwr :: offset: 0x556, out: 0x2b86
+lwr :: offset: 0x557, out: 0x2b
+lwr :: offset: 0x558, out: 0xe8bbe7f
+lwr :: offset: 0x559, out: 0xe8bbe
+lwr :: offset: 0x55a, out: 0xe8b
+lwr :: offset: 0x55b, out: 0xe
+lwr :: offset: 0x55c, out: 0x2518ac8b
+lwr :: offset: 0x55d, out: 0x2518ac
+lwr :: offset: 0x55e, out: 0x2518
+lwr :: offset: 0x55f, out: 0x25
+lwr :: offset: 0x560, out: 0x2fcf486b
+lwr :: offset: 0x561, out: 0x2fcf48
+lwr :: offset: 0x562, out: 0x2fcf
+lwr :: offset: 0x563, out: 0x2f
+lwr :: offset: 0x564, out: 0x743e568d
+lwr :: offset: 0x565, out: 0x743e56
+lwr :: offset: 0x566, out: 0x743e
+lwr :: offset: 0x567, out: 0x74
+lwr :: offset: 0x568, out: 0x34c31728
+lwr :: offset: 0x569, out: 0x34c317
+lwr :: offset: 0x56a, out: 0x34c3
+lwr :: offset: 0x56b, out: 0x34
+lwr :: offset: 0x56c, out: 0x126f646f
+lwr :: offset: 0x56d, out: 0x126f64
+lwr :: offset: 0x56e, out: 0x126f
+lwr :: offset: 0x56f, out: 0x12
+lwr :: offset: 0x570, out: 0x56fc4d12
+lwr :: offset: 0x571, out: 0x56fc4d
+lwr :: offset: 0x572, out: 0x56fc
+lwr :: offset: 0x573, out: 0x56
+lwr :: offset: 0x574, out: 0xffffffffaab01961
+lwr :: offset: 0x575, out: 0xaab019
+lwr :: offset: 0x576, out: 0xaab0
+lwr :: offset: 0x577, out: 0xaa
+lwr :: offset: 0x578, out: 0xffffffff8595d342
+lwr :: offset: 0x579, out: 0x8595d3
+lwr :: offset: 0x57a, out: 0x8595
+lwr :: offset: 0x57b, out: 0x85
+lwr :: offset: 0x57c, out: 0x7535cd33
+lwr :: offset: 0x57d, out: 0x7535cd
+lwr :: offset: 0x57e, out: 0x7535
+lwr :: offset: 0x57f, out: 0x75
+lwr :: offset: 0x580, out: 0x422346ec
+lwr :: offset: 0x581, out: 0x422346
+lwr :: offset: 0x582, out: 0x4223
+lwr :: offset: 0x583, out: 0x42
+lwr :: offset: 0x584, out: 0xffffffffdfb254da
+lwr :: offset: 0x585, out: 0xdfb254
+lwr :: offset: 0x586, out: 0xdfb2
+lwr :: offset: 0x587, out: 0xdf
+lwr :: offset: 0x588, out: 0x81ab2a
+lwr :: offset: 0x589, out: 0x81ab
+lwr :: offset: 0x58a, out: 0x81
+lwr :: offset: 0x58b, out: 0x0
+lwr :: offset: 0x58c, out: 0xffffffffa86726c9
+lwr :: offset: 0x58d, out: 0xa86726
+lwr :: offset: 0x58e, out: 0xa867
+lwr :: offset: 0x58f, out: 0xa8
+lwr :: offset: 0x590, out: 0x679d7438
+lwr :: offset: 0x591, out: 0x679d74
+lwr :: offset: 0x592, out: 0x679d
+lwr :: offset: 0x593, out: 0x67
+lwr :: offset: 0x594, out: 0xffffffff9bfeffa1
+lwr :: offset: 0x595, out: 0x9bfeff
+lwr :: offset: 0x596, out: 0x9bfe
+lwr :: offset: 0x597, out: 0x9b
+lwr :: offset: 0x598, out: 0xffffffffb7dee244
+lwr :: offset: 0x599, out: 0xb7dee2
+lwr :: offset: 0x59a, out: 0xb7de
+lwr :: offset: 0x59b, out: 0xb7
+lwr :: offset: 0x59c, out: 0xffffffffc7699826
+lwr :: offset: 0x59d, out: 0xc76998
+lwr :: offset: 0x59e, out: 0xc769
+lwr :: offset: 0x59f, out: 0xc7
+lwr :: offset: 0x5a0, out: 0xfffffffffba6704a
+lwr :: offset: 0x5a1, out: 0xfba670
+lwr :: offset: 0x5a2, out: 0xfba6
+lwr :: offset: 0x5a3, out: 0xfb
+lwr :: offset: 0x5a4, out: 0x3c07af97
+lwr :: offset: 0x5a5, out: 0x3c07af
+lwr :: offset: 0x5a6, out: 0x3c07
+lwr :: offset: 0x5a7, out: 0x3c
+lwr :: offset: 0x5a8, out: 0x4c58bfe
+lwr :: offset: 0x5a9, out: 0x4c58b
+lwr :: offset: 0x5aa, out: 0x4c5
+lwr :: offset: 0x5ab, out: 0x4
+lwr :: offset: 0x5ac, out: 0x521364dc
+lwr :: offset: 0x5ad, out: 0x521364
+lwr :: offset: 0x5ae, out: 0x5213
+lwr :: offset: 0x5af, out: 0x52
+lwr :: offset: 0x5b0, out: 0xffffffff9ab7aebc
+lwr :: offset: 0x5b1, out: 0x9ab7ae
+lwr :: offset: 0x5b2, out: 0x9ab7
+lwr :: offset: 0x5b3, out: 0x9a
+lwr :: offset: 0x5b4, out: 0xffffffffe0f7bb58
+lwr :: offset: 0x5b5, out: 0xe0f7bb
+lwr :: offset: 0x5b6, out: 0xe0f7
+lwr :: offset: 0x5b7, out: 0xe0
+lwr :: offset: 0x5b8, out: 0xffffffffdeeb954d
+lwr :: offset: 0x5b9, out: 0xdeeb95
+lwr :: offset: 0x5ba, out: 0xdeeb
+lwr :: offset: 0x5bb, out: 0xde
+lwr :: offset: 0x5bc, out: 0xffffffffe336c60c
+lwr :: offset: 0x5bd, out: 0xe336c6
+lwr :: offset: 0x5be, out: 0xe336
+lwr :: offset: 0x5bf, out: 0xe3
+lwr :: offset: 0x5c0, out: 0x6f52416e
+lwr :: offset: 0x5c1, out: 0x6f5241
+lwr :: offset: 0x5c2, out: 0x6f52
+lwr :: offset: 0x5c3, out: 0x6f
+lwr :: offset: 0x5c4, out: 0xffffffffd5b2120c
+lwr :: offset: 0x5c5, out: 0xd5b212
+lwr :: offset: 0x5c6, out: 0xd5b2
+lwr :: offset: 0x5c7, out: 0xd5
+lwr :: offset: 0x5c8, out: 0x7e628a34
+lwr :: offset: 0x5c9, out: 0x7e628a
+lwr :: offset: 0x5ca, out: 0x7e62
+lwr :: offset: 0x5cb, out: 0x7e
+lwr :: offset: 0x5cc, out: 0xffffffff85a2d4ff
+lwr :: offset: 0x5cd, out: 0x85a2d4
+lwr :: offset: 0x5ce, out: 0x85a2
+lwr :: offset: 0x5cf, out: 0x85
+lwr :: offset: 0x5d0, out: 0x4a4e7e07
+lwr :: offset: 0x5d1, out: 0x4a4e7e
+lwr :: offset: 0x5d2, out: 0x4a4e
+lwr :: offset: 0x5d3, out: 0x4a
+lwr :: offset: 0x5d4, out: 0xffffffff986a2b65
+lwr :: offset: 0x5d5, out: 0x986a2b
+lwr :: offset: 0x5d6, out: 0x986a
+lwr :: offset: 0x5d7, out: 0x98
+lwr :: offset: 0x5d8, out: 0x3a489b55
+lwr :: offset: 0x5d9, out: 0x3a489b
+lwr :: offset: 0x5da, out: 0x3a48
+lwr :: offset: 0x5db, out: 0x3a
+lwr :: offset: 0x5dc, out: 0xffffffffa974eac4
+lwr :: offset: 0x5dd, out: 0xa974ea
+lwr :: offset: 0x5de, out: 0xa974
+lwr :: offset: 0x5df, out: 0xa9
+lwr :: offset: 0x5e0, out: 0x72f1f8f5
+lwr :: offset: 0x5e1, out: 0x72f1f8
+lwr :: offset: 0x5e2, out: 0x72f1
+lwr :: offset: 0x5e3, out: 0x72
+lwr :: offset: 0x5e4, out: 0xffffffffa388c162
+lwr :: offset: 0x5e5, out: 0xa388c1
+lwr :: offset: 0x5e6, out: 0xa388
+lwr :: offset: 0x5e7, out: 0xa3
+lwr :: offset: 0x5e8, out: 0xffffffffe7495ea9
+lwr :: offset: 0x5e9, out: 0xe7495e
+lwr :: offset: 0x5ea, out: 0xe749
+lwr :: offset: 0x5eb, out: 0xe7
+lwr :: offset: 0x5ec, out: 0xffffffffe8c11f45
+lwr :: offset: 0x5ed, out: 0xe8c11f
+lwr :: offset: 0x5ee, out: 0xe8c1
+lwr :: offset: 0x5ef, out: 0xe8
+lwr :: offset: 0x5f0, out: 0x5cc1c8b4
+lwr :: offset: 0x5f1, out: 0x5cc1c8
+lwr :: offset: 0x5f2, out: 0x5cc1
+lwr :: offset: 0x5f3, out: 0x5c
+lwr :: offset: 0x5f4, out: 0xffffffffadaa5a76
+lwr :: offset: 0x5f5, out: 0xadaa5a
+lwr :: offset: 0x5f6, out: 0xadaa
+lwr :: offset: 0x5f7, out: 0xad
+lwr :: offset: 0x5f8, out: 0xffffffffdfa605c0
+lwr :: offset: 0x5f9, out: 0xdfa605
+lwr :: offset: 0x5fa, out: 0xdfa6
+lwr :: offset: 0x5fb, out: 0xdf
+lwr :: offset: 0x5fc, out: 0x7ab4ce88
+lwr :: offset: 0x5fd, out: 0x7ab4ce
+lwr :: offset: 0x5fe, out: 0x7ab4
+lwr :: offset: 0x5ff, out: 0x7a
+lwr :: offset: 0x600, out: 0x59a7b04f
+lwr :: offset: 0x601, out: 0x59a7b0
+lwr :: offset: 0x602, out: 0x59a7
+lwr :: offset: 0x603, out: 0x59
+lwr :: offset: 0x604, out: 0xffffffffb42ad6e6
+lwr :: offset: 0x605, out: 0xb42ad6
+lwr :: offset: 0x606, out: 0xb42a
+lwr :: offset: 0x607, out: 0xb4
+lwr :: offset: 0x608, out: 0xffffffffb728922f
+lwr :: offset: 0x609, out: 0xb72892
+lwr :: offset: 0x60a, out: 0xb728
+lwr :: offset: 0x60b, out: 0xb7
+lwr :: offset: 0x60c, out: 0x4bf8485a
+lwr :: offset: 0x60d, out: 0x4bf848
+lwr :: offset: 0x60e, out: 0x4bf8
+lwr :: offset: 0x60f, out: 0x4b
+lwr :: offset: 0x610, out: 0x3b66a7fb
+lwr :: offset: 0x611, out: 0x3b66a7
+lwr :: offset: 0x612, out: 0x3b66
+lwr :: offset: 0x613, out: 0x3b
+lwr :: offset: 0x614, out: 0x76a3d60c
+lwr :: offset: 0x615, out: 0x76a3d6
+lwr :: offset: 0x616, out: 0x76a3
+lwr :: offset: 0x617, out: 0x76
+lwr :: offset: 0x618, out: 0xfffffffffdc28eda
+lwr :: offset: 0x619, out: 0xfdc28e
+lwr :: offset: 0x61a, out: 0xfdc2
+lwr :: offset: 0x61b, out: 0xfd
+lwr :: offset: 0x61c, out: 0x31e0c6af
+lwr :: offset: 0x61d, out: 0x31e0c6
+lwr :: offset: 0x61e, out: 0x31e0
+lwr :: offset: 0x61f, out: 0x31
+lwr :: offset: 0x620, out: 0xffffffffbf0c999d
+lwr :: offset: 0x621, out: 0xbf0c99
+lwr :: offset: 0x622, out: 0xbf0c
+lwr :: offset: 0x623, out: 0xbf
+lwr :: offset: 0x624, out: 0x53606bb4
+lwr :: offset: 0x625, out: 0x53606b
+lwr :: offset: 0x626, out: 0x5360
+lwr :: offset: 0x627, out: 0x53
+lwr :: offset: 0x628, out: 0x1b7919f0
+lwr :: offset: 0x629, out: 0x1b7919
+lwr :: offset: 0x62a, out: 0x1b79
+lwr :: offset: 0x62b, out: 0x1b
+lwr :: offset: 0x62c, out: 0x32fc12c8
+lwr :: offset: 0x62d, out: 0x32fc12
+lwr :: offset: 0x62e, out: 0x32fc
+lwr :: offset: 0x62f, out: 0x32
+lwr :: offset: 0x630, out: 0xffffffffc72efcd6
+lwr :: offset: 0x631, out: 0xc72efc
+lwr :: offset: 0x632, out: 0xc72e
+lwr :: offset: 0x633, out: 0xc7
+lwr :: offset: 0x634, out: 0x3ef88384
+lwr :: offset: 0x635, out: 0x3ef883
+lwr :: offset: 0x636, out: 0x3ef8
+lwr :: offset: 0x637, out: 0x3e
+lwr :: offset: 0x638, out: 0x6a2a3580
+lwr :: offset: 0x639, out: 0x6a2a35
+lwr :: offset: 0x63a, out: 0x6a2a
+lwr :: offset: 0x63b, out: 0x6a
+lwr :: offset: 0x63c, out: 0x38b1c7bb
+lwr :: offset: 0x63d, out: 0x38b1c7
+lwr :: offset: 0x63e, out: 0x38b1
+lwr :: offset: 0x63f, out: 0x38
+lwr :: offset: 0x640, out: 0x1dca77c9
+lwr :: offset: 0x641, out: 0x1dca77
+lwr :: offset: 0x642, out: 0x1dca
+lwr :: offset: 0x643, out: 0x1d
+lwr :: offset: 0x644, out: 0x15ebf612
+lwr :: offset: 0x645, out: 0x15ebf6
+lwr :: offset: 0x646, out: 0x15eb
+lwr :: offset: 0x647, out: 0x15
+lwr :: offset: 0x648, out: 0xfffffffffd9147ae
+lwr :: offset: 0x649, out: 0xfd9147
+lwr :: offset: 0x64a, out: 0xfd91
+lwr :: offset: 0x64b, out: 0xfd
+lwr :: offset: 0x64c, out: 0x5eaacdd9
+lwr :: offset: 0x64d, out: 0x5eaacd
+lwr :: offset: 0x64e, out: 0x5eaa
+lwr :: offset: 0x64f, out: 0x5e
+lwr :: offset: 0x650, out: 0xffffffff81e91117
+lwr :: offset: 0x651, out: 0x81e911
+lwr :: offset: 0x652, out: 0x81e9
+lwr :: offset: 0x653, out: 0x81
+lwr :: offset: 0x654, out: 0xffffffffbb8470f9
+lwr :: offset: 0x655, out: 0xbb8470
+lwr :: offset: 0x656, out: 0xbb84
+lwr :: offset: 0x657, out: 0xbb
+lwr :: offset: 0x658, out: 0xffffffffc6a532e0
+lwr :: offset: 0x659, out: 0xc6a532
+lwr :: offset: 0x65a, out: 0xc6a5
+lwr :: offset: 0x65b, out: 0xc6
+lwr :: offset: 0x65c, out: 0x5d42aea
+lwr :: offset: 0x65d, out: 0x5d42a
+lwr :: offset: 0x65e, out: 0x5d4
+lwr :: offset: 0x65f, out: 0x5
+lwr :: offset: 0x660, out: 0x19fb9e63
+lwr :: offset: 0x661, out: 0x19fb9e
+lwr :: offset: 0x662, out: 0x19fb
+lwr :: offset: 0x663, out: 0x19
+lwr :: offset: 0x664, out: 0x14abf364
+lwr :: offset: 0x665, out: 0x14abf3
+lwr :: offset: 0x666, out: 0x14ab
+lwr :: offset: 0x667, out: 0x14
+lwr :: offset: 0x668, out: 0xffffffffa8d72aac
+lwr :: offset: 0x669, out: 0xa8d72a
+lwr :: offset: 0x66a, out: 0xa8d7
+lwr :: offset: 0x66b, out: 0xa8
+lwr :: offset: 0x66c, out: 0x249d559a
+lwr :: offset: 0x66d, out: 0x249d55
+lwr :: offset: 0x66e, out: 0x249d
+lwr :: offset: 0x66f, out: 0x24
+lwr :: offset: 0x670, out: 0x84b30ec
+lwr :: offset: 0x671, out: 0x84b30
+lwr :: offset: 0x672, out: 0x84b
+lwr :: offset: 0x673, out: 0x8
+lwr :: offset: 0x674, out: 0xcd6764f
+lwr :: offset: 0x675, out: 0xcd676
+lwr :: offset: 0x676, out: 0xcd6
+lwr :: offset: 0x677, out: 0xc
+lwr :: offset: 0x678, out: 0xffffffff92468fdf
+lwr :: offset: 0x679, out: 0x92468f
+lwr :: offset: 0x67a, out: 0x9246
+lwr :: offset: 0x67b, out: 0x92
+lwr :: offset: 0x67c, out: 0x7f03ac07
+lwr :: offset: 0x67d, out: 0x7f03ac
+lwr :: offset: 0x67e, out: 0x7f03
+lwr :: offset: 0x67f, out: 0x7f
+lwr :: offset: 0x680, out: 0x56e670f5
+lwr :: offset: 0x681, out: 0x56e670
+lwr :: offset: 0x682, out: 0x56e6
+lwr :: offset: 0x683, out: 0x56
+lwr :: offset: 0x684, out: 0x7e35ce6d
+lwr :: offset: 0x685, out: 0x7e35ce
+lwr :: offset: 0x686, out: 0x7e35
+lwr :: offset: 0x687, out: 0x7e
+lwr :: offset: 0x688, out: 0x1a652711
+lwr :: offset: 0x689, out: 0x1a6527
+lwr :: offset: 0x68a, out: 0x1a65
+lwr :: offset: 0x68b, out: 0x1a
+lwr :: offset: 0x68c, out: 0x15282859
+lwr :: offset: 0x68d, out: 0x152828
+lwr :: offset: 0x68e, out: 0x1528
+lwr :: offset: 0x68f, out: 0x15
+lwr :: offset: 0x690, out: 0xffffffffd215a9fb
+lwr :: offset: 0x691, out: 0xd215a9
+lwr :: offset: 0x692, out: 0xd215
+lwr :: offset: 0x693, out: 0xd2
+lwr :: offset: 0x694, out: 0xffffffff9e1c3283
+lwr :: offset: 0x695, out: 0x9e1c32
+lwr :: offset: 0x696, out: 0x9e1c
+lwr :: offset: 0x697, out: 0x9e
+lwr :: offset: 0x698, out: 0x282a0417
+lwr :: offset: 0x699, out: 0x282a04
+lwr :: offset: 0x69a, out: 0x282a
+lwr :: offset: 0x69b, out: 0x28
+lwr :: offset: 0x69c, out: 0xffffffff8d95c049
+lwr :: offset: 0x69d, out: 0x8d95c0
+lwr :: offset: 0x69e, out: 0x8d95
+lwr :: offset: 0x69f, out: 0x8d
+lwr :: offset: 0x6a0, out: 0xffffffff978058f3
+lwr :: offset: 0x6a1, out: 0x978058
+lwr :: offset: 0x6a2, out: 0x9780
+lwr :: offset: 0x6a3, out: 0x97
+lwr :: offset: 0x6a4, out: 0xfffffffff2e7a490
+lwr :: offset: 0x6a5, out: 0xf2e7a4
+lwr :: offset: 0x6a6, out: 0xf2e7
+lwr :: offset: 0x6a7, out: 0xf2
+lwr :: offset: 0x6a8, out: 0x975b1aa
+lwr :: offset: 0x6a9, out: 0x975b1
+lwr :: offset: 0x6aa, out: 0x975
+lwr :: offset: 0x6ab, out: 0x9
+lwr :: offset: 0x6ac, out: 0x775b4cca
+lwr :: offset: 0x6ad, out: 0x775b4c
+lwr :: offset: 0x6ae, out: 0x775b
+lwr :: offset: 0x6af, out: 0x77
+lwr :: offset: 0x6b0, out: 0x35111020
+lwr :: offset: 0x6b1, out: 0x351110
+lwr :: offset: 0x6b2, out: 0x3511
+lwr :: offset: 0x6b3, out: 0x35
+lwr :: offset: 0x6b4, out: 0xa2b84a6
+lwr :: offset: 0x6b5, out: 0xa2b84
+lwr :: offset: 0x6b6, out: 0xa2b
+lwr :: offset: 0x6b7, out: 0xa
+lwr :: offset: 0x6b8, out: 0xffffffffa7d88b6f
+lwr :: offset: 0x6b9, out: 0xa7d88b
+lwr :: offset: 0x6ba, out: 0xa7d8
+lwr :: offset: 0x6bb, out: 0xa7
+lwr :: offset: 0x6bc, out: 0x23fa0d3
+lwr :: offset: 0x6bd, out: 0x23fa0
+lwr :: offset: 0x6be, out: 0x23f
+lwr :: offset: 0x6bf, out: 0x2
+lwr :: offset: 0x6c0, out: 0xffffffff9941dedd
+lwr :: offset: 0x6c1, out: 0x9941de
+lwr :: offset: 0x6c2, out: 0x9941
+lwr :: offset: 0x6c3, out: 0x99
+lwr :: offset: 0x6c4, out: 0xffffffffa3d991b7
+lwr :: offset: 0x6c5, out: 0xa3d991
+lwr :: offset: 0x6c6, out: 0xa3d9
+lwr :: offset: 0x6c7, out: 0xa3
+lwr :: offset: 0x6c8, out: 0x5a0d9508
+lwr :: offset: 0x6c9, out: 0x5a0d95
+lwr :: offset: 0x6ca, out: 0x5a0d
+lwr :: offset: 0x6cb, out: 0x5a
+lwr :: offset: 0x6cc, out: 0x751cb483
+lwr :: offset: 0x6cd, out: 0x751cb4
+lwr :: offset: 0x6ce, out: 0x751c
+lwr :: offset: 0x6cf, out: 0x75
+lwr :: offset: 0x6d0, out: 0x625bb2d3
+lwr :: offset: 0x6d1, out: 0x625bb2
+lwr :: offset: 0x6d2, out: 0x625b
+lwr :: offset: 0x6d3, out: 0x62
+lwr :: offset: 0x6d4, out: 0xffffffff949cad35
+lwr :: offset: 0x6d5, out: 0x949cad
+lwr :: offset: 0x6d6, out: 0x949c
+lwr :: offset: 0x6d7, out: 0x94
+lwr :: offset: 0x6d8, out: 0xffffffffa6929739
+lwr :: offset: 0x6d9, out: 0xa69297
+lwr :: offset: 0x6da, out: 0xa692
+lwr :: offset: 0x6db, out: 0xa6
+lwr :: offset: 0x6dc, out: 0x7f567f35
+lwr :: offset: 0x6dd, out: 0x7f567f
+lwr :: offset: 0x6de, out: 0x7f56
+lwr :: offset: 0x6df, out: 0x7f
+lwr :: offset: 0x6e0, out: 0xffffffffdb8d7d27
+lwr :: offset: 0x6e1, out: 0xdb8d7d
+lwr :: offset: 0x6e2, out: 0xdb8d
+lwr :: offset: 0x6e3, out: 0xdb
+lwr :: offset: 0x6e4, out: 0x185b88e0
+lwr :: offset: 0x6e5, out: 0x185b88
+lwr :: offset: 0x6e6, out: 0x185b
+lwr :: offset: 0x6e7, out: 0x18
+lwr :: offset: 0x6e8, out: 0x2fd61b91
+lwr :: offset: 0x6e9, out: 0x2fd61b
+lwr :: offset: 0x6ea, out: 0x2fd6
+lwr :: offset: 0x6eb, out: 0x2f
+lwr :: offset: 0x6ec, out: 0x255a4cd2
+lwr :: offset: 0x6ed, out: 0x255a4c
+lwr :: offset: 0x6ee, out: 0x255a
+lwr :: offset: 0x6ef, out: 0x25
+lwr :: offset: 0x6f0, out: 0xffffffffa4363f7b
+lwr :: offset: 0x6f1, out: 0xa4363f
+lwr :: offset: 0x6f2, out: 0xa436
+lwr :: offset: 0x6f3, out: 0xa4
+lwr :: offset: 0x6f4, out: 0x1048d589
+lwr :: offset: 0x6f5, out: 0x1048d5
+lwr :: offset: 0x6f6, out: 0x1048
+lwr :: offset: 0x6f7, out: 0x10
+lwr :: offset: 0x6f8, out: 0xfffffffff4605790
+lwr :: offset: 0x6f9, out: 0xf46057
+lwr :: offset: 0x6fa, out: 0xf460
+lwr :: offset: 0x6fb, out: 0xf4
+lwr :: offset: 0x6fc, out: 0x6a6d5708
+lwr :: offset: 0x6fd, out: 0x6a6d57
+lwr :: offset: 0x6fe, out: 0x6a6d
+lwr :: offset: 0x6ff, out: 0x6a
+lwr :: offset: 0x700, out: 0xffffffffde35697f
+lwr :: offset: 0x701, out: 0xde3569
+lwr :: offset: 0x702, out: 0xde35
+lwr :: offset: 0x703, out: 0xde
+lwr :: offset: 0x704, out: 0xffffffffd58ecbab
+lwr :: offset: 0x705, out: 0xd58ecb
+lwr :: offset: 0x706, out: 0xd58e
+lwr :: offset: 0x707, out: 0xd5
+lwr :: offset: 0x708, out: 0x8c0a5f1
+lwr :: offset: 0x709, out: 0x8c0a5
+lwr :: offset: 0x70a, out: 0x8c0
+lwr :: offset: 0x70b, out: 0x8
+lwr :: offset: 0x70c, out: 0x575548fd
+lwr :: offset: 0x70d, out: 0x575548
+lwr :: offset: 0x70e, out: 0x5755
+lwr :: offset: 0x70f, out: 0x57
+lwr :: offset: 0x710, out: 0xffffffff8ed98ddb
+lwr :: offset: 0x711, out: 0x8ed98d
+lwr :: offset: 0x712, out: 0x8ed9
+lwr :: offset: 0x713, out: 0x8e
+lwr :: offset: 0x714, out: 0xffffffff8bb640fb
+lwr :: offset: 0x715, out: 0x8bb640
+lwr :: offset: 0x716, out: 0x8bb6
+lwr :: offset: 0x717, out: 0x8b
+lwr :: offset: 0x718, out: 0xffffffffabc578cc
+lwr :: offset: 0x719, out: 0xabc578
+lwr :: offset: 0x71a, out: 0xabc5
+lwr :: offset: 0x71b, out: 0xab
+lwr :: offset: 0x71c, out: 0xffffffffbe00d51e
+lwr :: offset: 0x71d, out: 0xbe00d5
+lwr :: offset: 0x71e, out: 0xbe00
+lwr :: offset: 0x71f, out: 0xbe
+lwr :: offset: 0x720, out: 0x1c170ab2
+lwr :: offset: 0x721, out: 0x1c170a
+lwr :: offset: 0x722, out: 0x1c17
+lwr :: offset: 0x723, out: 0x1c
+lwr :: offset: 0x724, out: 0x2f7e224a
+lwr :: offset: 0x725, out: 0x2f7e22
+lwr :: offset: 0x726, out: 0x2f7e
+lwr :: offset: 0x727, out: 0x2f
+lwr :: offset: 0x728, out: 0xffffffffa22256a7
+lwr :: offset: 0x729, out: 0xa22256
+lwr :: offset: 0x72a, out: 0xa222
+lwr :: offset: 0x72b, out: 0xa2
+lwr :: offset: 0x72c, out: 0xffffffffa978f12c
+lwr :: offset: 0x72d, out: 0xa978f1
+lwr :: offset: 0x72e, out: 0xa978
+lwr :: offset: 0x72f, out: 0xa9
+lwr :: offset: 0x730, out: 0xffffffff811ee02f
+lwr :: offset: 0x731, out: 0x811ee0
+lwr :: offset: 0x732, out: 0x811e
+lwr :: offset: 0x733, out: 0x81
+lwr :: offset: 0x734, out: 0xffffffff9950a93b
+lwr :: offset: 0x735, out: 0x9950a9
+lwr :: offset: 0x736, out: 0x9950
+lwr :: offset: 0x737, out: 0x99
+lwr :: offset: 0x738, out: 0xffffffffc6796a0c
+lwr :: offset: 0x739, out: 0xc6796a
+lwr :: offset: 0x73a, out: 0xc679
+lwr :: offset: 0x73b, out: 0xc6
+lwr :: offset: 0x73c, out: 0xffffffffb44eea93
+lwr :: offset: 0x73d, out: 0xb44eea
+lwr :: offset: 0x73e, out: 0xb44e
+lwr :: offset: 0x73f, out: 0xb4
+lwr :: offset: 0x740, out: 0x6c0eb657
+lwr :: offset: 0x741, out: 0x6c0eb6
+lwr :: offset: 0x742, out: 0x6c0e
+lwr :: offset: 0x743, out: 0x6c
+lwr :: offset: 0x744, out: 0xfffffffffe71fca0
+lwr :: offset: 0x745, out: 0xfe71fc
+lwr :: offset: 0x746, out: 0xfe71
+lwr :: offset: 0x747, out: 0xfe
+lwr :: offset: 0x748, out: 0xfffffffff818af57
+lwr :: offset: 0x749, out: 0xf818af
+lwr :: offset: 0x74a, out: 0xf818
+lwr :: offset: 0x74b, out: 0xf8
+lwr :: offset: 0x74c, out: 0x4ed6393d
+lwr :: offset: 0x74d, out: 0x4ed639
+lwr :: offset: 0x74e, out: 0x4ed6
+lwr :: offset: 0x74f, out: 0x4e
+lwr :: offset: 0x750, out: 0x236770a
+lwr :: offset: 0x751, out: 0x23677
+lwr :: offset: 0x752, out: 0x236
+lwr :: offset: 0x753, out: 0x2
+lwr :: offset: 0x754, out: 0xfffffffff22e9020
+lwr :: offset: 0x755, out: 0xf22e90
+lwr :: offset: 0x756, out: 0xf22e
+lwr :: offset: 0x757, out: 0xf2
+lwr :: offset: 0x758, out: 0xffffffffafd0c45d
+lwr :: offset: 0x759, out: 0xafd0c4
+lwr :: offset: 0x75a, out: 0xafd0
+lwr :: offset: 0x75b, out: 0xaf
+lwr :: offset: 0x75c, out: 0xffffffff81efb6c7
+lwr :: offset: 0x75d, out: 0x81efb6
+lwr :: offset: 0x75e, out: 0x81ef
+lwr :: offset: 0x75f, out: 0x81
+lwr :: offset: 0x760, out: 0xffffffff8102315b
+lwr :: offset: 0x761, out: 0x810231
+lwr :: offset: 0x762, out: 0x8102
+lwr :: offset: 0x763, out: 0x81
+lwr :: offset: 0x764, out: 0xffffffffeed8f351
+lwr :: offset: 0x765, out: 0xeed8f3
+lwr :: offset: 0x766, out: 0xeed8
+lwr :: offset: 0x767, out: 0xee
+lwr :: offset: 0x768, out: 0xffffffff995efd5e
+lwr :: offset: 0x769, out: 0x995efd
+lwr :: offset: 0x76a, out: 0x995e
+lwr :: offset: 0x76b, out: 0x99
+lwr :: offset: 0x76c, out: 0xffffffffadafefb9
+lwr :: offset: 0x76d, out: 0xadafef
+lwr :: offset: 0x76e, out: 0xadaf
+lwr :: offset: 0x76f, out: 0xad
+lwr :: offset: 0x770, out: 0xffffffffeb253086
+lwr :: offset: 0x771, out: 0xeb2530
+lwr :: offset: 0x772, out: 0xeb25
+lwr :: offset: 0x773, out: 0xeb
+lwr :: offset: 0x774, out: 0x34061933
+lwr :: offset: 0x775, out: 0x340619
+lwr :: offset: 0x776, out: 0x3406
+lwr :: offset: 0x777, out: 0x34
+lwr :: offset: 0x778, out: 0x4b4c52bc
+lwr :: offset: 0x779, out: 0x4b4c52
+lwr :: offset: 0x77a, out: 0x4b4c
+lwr :: offset: 0x77b, out: 0x4b
+lwr :: offset: 0x77c, out: 0x1748da26
+lwr :: offset: 0x77d, out: 0x1748da
+lwr :: offset: 0x77e, out: 0x1748
+lwr :: offset: 0x77f, out: 0x17
+lwr :: offset: 0x780, out: 0xffffffff9302be89
+lwr :: offset: 0x781, out: 0x9302be
+lwr :: offset: 0x782, out: 0x9302
+lwr :: offset: 0x783, out: 0x93
+lwr :: offset: 0x784, out: 0x34fdfc9a
+lwr :: offset: 0x785, out: 0x34fdfc
+lwr :: offset: 0x786, out: 0x34fd
+lwr :: offset: 0x787, out: 0x34
+lwr :: offset: 0x788, out: 0xffffffffc521d180
+lwr :: offset: 0x789, out: 0xc521d1
+lwr :: offset: 0x78a, out: 0xc521
+lwr :: offset: 0x78b, out: 0xc5
+lwr :: offset: 0x78c, out: 0xffffffffd00278c3
+lwr :: offset: 0x78d, out: 0xd00278
+lwr :: offset: 0x78e, out: 0xd002
+lwr :: offset: 0x78f, out: 0xd0
+lwr :: offset: 0x790, out: 0xffffffffc1d37a5d
+lwr :: offset: 0x791, out: 0xc1d37a
+lwr :: offset: 0x792, out: 0xc1d3
+lwr :: offset: 0x793, out: 0xc1
+lwr :: offset: 0x794, out: 0xffffffffe90944a4
+lwr :: offset: 0x795, out: 0xe90944
+lwr :: offset: 0x796, out: 0xe909
+lwr :: offset: 0x797, out: 0xe9
+lwr :: offset: 0x798, out: 0xffffffffddef9839
+lwr :: offset: 0x799, out: 0xddef98
+lwr :: offset: 0x79a, out: 0xddef
+lwr :: offset: 0x79b, out: 0xdd
+lwr :: offset: 0x79c, out: 0x65fd698f
+lwr :: offset: 0x79d, out: 0x65fd69
+lwr :: offset: 0x79e, out: 0x65fd
+lwr :: offset: 0x79f, out: 0x65
+lwr :: offset: 0x7a0, out: 0xffffffff81b5af52
+lwr :: offset: 0x7a1, out: 0x81b5af
+lwr :: offset: 0x7a2, out: 0x81b5
+lwr :: offset: 0x7a3, out: 0x81
+lwr :: offset: 0x7a4, out: 0xffffffffc49ee3ad
+lwr :: offset: 0x7a5, out: 0xc49ee3
+lwr :: offset: 0x7a6, out: 0xc49e
+lwr :: offset: 0x7a7, out: 0xc4
+lwr :: offset: 0x7a8, out: 0xffffffffbdb263e9
+lwr :: offset: 0x7a9, out: 0xbdb263
+lwr :: offset: 0x7aa, out: 0xbdb2
+lwr :: offset: 0x7ab, out: 0xbd
+lwr :: offset: 0x7ac, out: 0x7aa941e8
+lwr :: offset: 0x7ad, out: 0x7aa941
+lwr :: offset: 0x7ae, out: 0x7aa9
+lwr :: offset: 0x7af, out: 0x7a
+lwr :: offset: 0x7b0, out: 0x42f3b58d
+lwr :: offset: 0x7b1, out: 0x42f3b5
+lwr :: offset: 0x7b2, out: 0x42f3
+lwr :: offset: 0x7b3, out: 0x42
+lwr :: offset: 0x7b4, out: 0x372c209e
+lwr :: offset: 0x7b5, out: 0x372c20
+lwr :: offset: 0x7b6, out: 0x372c
+lwr :: offset: 0x7b7, out: 0x37
+lwr :: offset: 0x7b8, out: 0xffffffffe122a83b
+lwr :: offset: 0x7b9, out: 0xe122a8
+lwr :: offset: 0x7ba, out: 0xe122
+lwr :: offset: 0x7bb, out: 0xe1
+lwr :: offset: 0x7bc, out: 0x30f870b7
+lwr :: offset: 0x7bd, out: 0x30f870
+lwr :: offset: 0x7be, out: 0x30f8
+lwr :: offset: 0x7bf, out: 0x30
+lwr :: offset: 0x7c0, out: 0x678930ec
+lwr :: offset: 0x7c1, out: 0x678930
+lwr :: offset: 0x7c2, out: 0x6789
+lwr :: offset: 0x7c3, out: 0x67
+lwr :: offset: 0x7c4, out: 0xffffffff9e02de4b
+lwr :: offset: 0x7c5, out: 0x9e02de
+lwr :: offset: 0x7c6, out: 0x9e02
+lwr :: offset: 0x7c7, out: 0x9e
+lwr :: offset: 0x7c8, out: 0xffffffff9826631e
+lwr :: offset: 0x7c9, out: 0x982663
+lwr :: offset: 0x7ca, out: 0x9826
+lwr :: offset: 0x7cb, out: 0x98
+lwr :: offset: 0x7cc, out: 0xffffffffcd61a863
+lwr :: offset: 0x7cd, out: 0xcd61a8
+lwr :: offset: 0x7ce, out: 0xcd61
+lwr :: offset: 0x7cf, out: 0xcd
+lwr :: offset: 0x7d0, out: 0xffffffff9a7bd3ca
+lwr :: offset: 0x7d1, out: 0x9a7bd3
+lwr :: offset: 0x7d2, out: 0x9a7b
+lwr :: offset: 0x7d3, out: 0x9a
+lwr :: offset: 0x7d4, out: 0xffffffffae87bc89
+lwr :: offset: 0x7d5, out: 0xae87bc
+lwr :: offset: 0x7d6, out: 0xae87
+lwr :: offset: 0x7d7, out: 0xae
+lwr :: offset: 0x7d8, out: 0x6481af17
+lwr :: offset: 0x7d9, out: 0x6481af
+lwr :: offset: 0x7da, out: 0x6481
+lwr :: offset: 0x7db, out: 0x64
+lwr :: offset: 0x7dc, out: 0x58ec644d
+lwr :: offset: 0x7dd, out: 0x58ec64
+lwr :: offset: 0x7de, out: 0x58ec
+lwr :: offset: 0x7df, out: 0x58
+lwr :: offset: 0x7e0, out: 0xffffffffb236b666
+lwr :: offset: 0x7e1, out: 0xb236b6
+lwr :: offset: 0x7e2, out: 0xb236
+lwr :: offset: 0x7e3, out: 0xb2
+lwr :: offset: 0x7e4, out: 0x680cce5f
+lwr :: offset: 0x7e5, out: 0x680cce
+lwr :: offset: 0x7e6, out: 0x680c
+lwr :: offset: 0x7e7, out: 0x68
+lwr :: offset: 0x7e8, out: 0x1f6d4d75
+lwr :: offset: 0x7e9, out: 0x1f6d4d
+lwr :: offset: 0x7ea, out: 0x1f6d
+lwr :: offset: 0x7eb, out: 0x1f
+lwr :: offset: 0x7ec, out: 0x3baa9947
+lwr :: offset: 0x7ed, out: 0x3baa99
+lwr :: offset: 0x7ee, out: 0x3baa
+lwr :: offset: 0x7ef, out: 0x3b
+lwr :: offset: 0x7f0, out: 0x5f12236b
+lwr :: offset: 0x7f1, out: 0x5f1223
+lwr :: offset: 0x7f2, out: 0x5f12
+lwr :: offset: 0x7f3, out: 0x5f
+lwr :: offset: 0x7f4, out: 0x614d9b44
+lwr :: offset: 0x7f5, out: 0x614d9b
+lwr :: offset: 0x7f6, out: 0x614d
+lwr :: offset: 0x7f7, out: 0x61
+lwr :: offset: 0x7f8, out: 0x1ba84121
+lwr :: offset: 0x7f9, out: 0x1ba841
+lwr :: offset: 0x7fa, out: 0x1ba8
+lwr :: offset: 0x7fb, out: 0x1b
+lwr :: offset: 0x7fc, out: 0xffffffffa2a6ec66
+lwr :: offset: 0x7fd, out: 0xa2a6ec
+lwr :: offset: 0x7fe, out: 0xa2a6
+lwr :: offset: 0x7ff, out: 0xa2
+lwu :: offset: 0x0, out: 0x0
+lwu :: offset: 0x4, out: 0x0
+lwu :: offset: 0x8, out: 0x9823b6e
+lwu :: offset: 0xc, out: 0xd4326d9
+lwu :: offset: 0x10, out: 0x130476dc
+lwu :: offset: 0x14, out: 0x17c56b6b
+lwu :: offset: 0x18, out: 0x1a864db2
+lwu :: offset: 0x1c, out: 0x1e475005
+lwu :: offset: 0x20, out: 0x2608edb8
+lwu :: offset: 0x24, out: 0x22c9f00f
+lwu :: offset: 0x28, out: 0x2f8ad6d6
+lwu :: offset: 0x2c, out: 0x2b4bcb61
+lwu :: offset: 0x30, out: 0x350c9b64
+lwu :: offset: 0x34, out: 0x31cd86d3
+lwu :: offset: 0x38, out: 0x3c8ea00a
+lwu :: offset: 0x3c, out: 0x384fbdbd
+lwu :: offset: 0x40, out: 0x4c11db70
+lwu :: offset: 0x44, out: 0x48d0c6c7
+lwu :: offset: 0x48, out: 0x4593e01e
+lwu :: offset: 0x4c, out: 0x4152fda9
+lwu :: offset: 0x50, out: 0x5f15adac
+lwu :: offset: 0x54, out: 0x5bd4b01b
+lwu :: offset: 0x58, out: 0x569796c2
+lwu :: offset: 0x5c, out: 0x52568b75
+lwu :: offset: 0x60, out: 0x6a1936c8
+lwu :: offset: 0x64, out: 0x6ed82b7f
+lwu :: offset: 0x68, out: 0x639b0da6
+lwu :: offset: 0x6c, out: 0x675a1011
+lwu :: offset: 0x70, out: 0x791d4014
+lwu :: offset: 0x74, out: 0x7ddc5da3
+lwu :: offset: 0x78, out: 0x709f7b7a
+lwu :: offset: 0x7c, out: 0x745e66cd
+lwu :: offset: 0x80, out: 0x9823b6e0
+lwu :: offset: 0x84, out: 0x9ce2ab57
+lwu :: offset: 0x88, out: 0x91a18d8e
+lwu :: offset: 0x8c, out: 0x95609039
+lwu :: offset: 0x90, out: 0x8b27c03c
+lwu :: offset: 0x94, out: 0x8fe6dd8b
+lwu :: offset: 0x98, out: 0x82a5fb52
+lwu :: offset: 0x9c, out: 0x8664e6e5
+lwu :: offset: 0xa0, out: 0xbe2b5b58
+lwu :: offset: 0xa4, out: 0xbaea46ef
+lwu :: offset: 0xa8, out: 0xb7a96036
+lwu :: offset: 0xac, out: 0xb3687d81
+lwu :: offset: 0xb0, out: 0xad2f2d84
+lwu :: offset: 0xb4, out: 0xa9ee3033
+lwu :: offset: 0xb8, out: 0xa4ad16ea
+lwu :: offset: 0xbc, out: 0xa06c0b5d
+lwu :: offset: 0xc0, out: 0xd4326d90
+lwu :: offset: 0xc4, out: 0xd0f37027
+lwu :: offset: 0xc8, out: 0xddb056fe
+lwu :: offset: 0xcc, out: 0xd9714b49
+lwu :: offset: 0xd0, out: 0xc7361b4c
+lwu :: offset: 0xd4, out: 0xc3f706fb
+lwu :: offset: 0xd8, out: 0xceb42022
+lwu :: offset: 0xdc, out: 0xca753d95
+lwu :: offset: 0xe0, out: 0xf23a8028
+lwu :: offset: 0xe4, out: 0xf6fb9d9f
+lwu :: offset: 0xe8, out: 0xfbb8bb46
+lwu :: offset: 0xec, out: 0xff79a6f1
+lwu :: offset: 0xf0, out: 0xe13ef6f4
+lwu :: offset: 0xf4, out: 0xe5ffeb43
+lwu :: offset: 0xf8, out: 0xe8bccd9a
+lwu :: offset: 0xfc, out: 0xec7dd02d
+lwu :: offset: 0x100, out: 0x34867077
+lwu :: offset: 0x104, out: 0x30476dc0
+lwu :: offset: 0x108, out: 0x3d044b19
+lwu :: offset: 0x10c, out: 0x39c556ae
+lwu :: offset: 0x110, out: 0x278206ab
+lwu :: offset: 0x114, out: 0x23431b1c
+lwu :: offset: 0x118, out: 0x2e003dc5
+lwu :: offset: 0x11c, out: 0x2ac12072
+lwu :: offset: 0x120, out: 0x128e9dcf
+lwu :: offset: 0x124, out: 0x164f8078
+lwu :: offset: 0x128, out: 0x1b0ca6a1
+lwu :: offset: 0x12c, out: 0x1fcdbb16
+lwu :: offset: 0x130, out: 0x18aeb13
+lwu :: offset: 0x134, out: 0x54bf6a4
+lwu :: offset: 0x138, out: 0x808d07d
+lwu :: offset: 0x13c, out: 0xcc9cdca
+lwu :: offset: 0x140, out: 0x7897ab07
+lwu :: offset: 0x144, out: 0x7c56b6b0
+lwu :: offset: 0x148, out: 0x71159069
+lwu :: offset: 0x14c, out: 0x75d48dde
+lwu :: offset: 0x150, out: 0x6b93dddb
+lwu :: offset: 0x154, out: 0x6f52c06c
+lwu :: offset: 0x158, out: 0x6211e6b5
+lwu :: offset: 0x15c, out: 0x66d0fb02
+lwu :: offset: 0x160, out: 0x5e9f46bf
+lwu :: offset: 0x164, out: 0x5a5e5b08
+lwu :: offset: 0x168, out: 0x571d7dd1
+lwu :: offset: 0x16c, out: 0x53dc6066
+lwu :: offset: 0x170, out: 0x4d9b3063
+lwu :: offset: 0x174, out: 0x495a2dd4
+lwu :: offset: 0x178, out: 0x44190b0d
+lwu :: offset: 0x17c, out: 0x40d816ba
+lwu :: offset: 0x180, out: 0xaca5c697
+lwu :: offset: 0x184, out: 0xa864db20
+lwu :: offset: 0x188, out: 0xa527fdf9
+lwu :: offset: 0x18c, out: 0xa1e6e04e
+lwu :: offset: 0x190, out: 0xbfa1b04b
+lwu :: offset: 0x194, out: 0xbb60adfc
+lwu :: offset: 0x198, out: 0xb6238b25
+lwu :: offset: 0x19c, out: 0xb2e29692
+lwu :: offset: 0x1a0, out: 0x8aad2b2f
+lwu :: offset: 0x1a4, out: 0x0
+lwu :: offset: 0x1a8, out: 0x0
+lwu :: offset: 0x1ac, out: 0x87ee0df6
+lwu :: offset: 0x1b0, out: 0x99a95df3
+lwu :: offset: 0x1b4, out: 0x9d684044
+lwu :: offset: 0x1b8, out: 0x902b669d
+lwu :: offset: 0x1bc, out: 0x94ea7b2a
+lwu :: offset: 0x1c0, out: 0xe0b41de7
+lwu :: offset: 0x1c4, out: 0xe4750050
+lwu :: offset: 0x1c8, out: 0xe9362689
+lwu :: offset: 0x1cc, out: 0xedf73b3e
+lwu :: offset: 0x1d0, out: 0xf3b06b3b
+lwu :: offset: 0x1d4, out: 0xf771768c
+lwu :: offset: 0x1d8, out: 0xfa325055
+lwu :: offset: 0x1dc, out: 0xfef34de2
+lwu :: offset: 0x1e0, out: 0xc6bcf05f
+lwu :: offset: 0x1e4, out: 0xc27dede8
+lwu :: offset: 0x1e8, out: 0xcf3ecb31
+lwu :: offset: 0x1ec, out: 0xcbffd686
+lwu :: offset: 0x1f0, out: 0xd5b88683
+lwu :: offset: 0x1f4, out: 0xd1799b34
+lwu :: offset: 0x1f8, out: 0xdc3abded
+lwu :: offset: 0x1fc, out: 0xd8fba05a
+lwu :: offset: 0x200, out: 0x690ce0ee
+lwu :: offset: 0x204, out: 0x6dcdfd59
+lwu :: offset: 0x208, out: 0x608edb80
+lwu :: offset: 0x20c, out: 0x644fc637
+lwu :: offset: 0x210, out: 0x7a089632
+lwu :: offset: 0x214, out: 0x7ec98b85
+lwu :: offset: 0x218, out: 0x738aad5c
+lwu :: offset: 0x21c, out: 0x774bb0eb
+lwu :: offset: 0x220, out: 0x4f040d56
+lwu :: offset: 0x224, out: 0x4bc510e1
+lwu :: offset: 0x228, out: 0x46863638
+lwu :: offset: 0x22c, out: 0x42472b8f
+lwu :: offset: 0x230, out: 0x5c007b8a
+lwu :: offset: 0x234, out: 0x58c1663d
+lwu :: offset: 0x238, out: 0x558240e4
+lwu :: offset: 0x23c, out: 0x51435d53
+lwu :: offset: 0x240, out: 0x251d3b9e
+lwu :: offset: 0x244, out: 0x21dc2629
+lwu :: offset: 0x248, out: 0x2c9f00f0
+lwu :: offset: 0x24c, out: 0x285e1d47
+lwu :: offset: 0x250, out: 0x36194d42
+lwu :: offset: 0x254, out: 0x32d850f5
+lwu :: offset: 0x258, out: 0x3f9b762c
+lwu :: offset: 0x25c, out: 0x3b5a6b9b
+lwu :: offset: 0x260, out: 0x315d626
+lwu :: offset: 0x264, out: 0x7d4cb91
+lwu :: offset: 0x268, out: 0xa97ed48
+lwu :: offset: 0x26c, out: 0xe56f0ff
+lwu :: offset: 0x270, out: 0x1011a0fa
+lwu :: offset: 0x274, out: 0x14d0bd4d
+lwu :: offset: 0x278, out: 0x19939b94
+lwu :: offset: 0x27c, out: 0x1d528623
+lwu :: offset: 0x280, out: 0xf12f560e
+lwu :: offset: 0x284, out: 0xf5ee4bb9
+lwu :: offset: 0x288, out: 0xf8ad6d60
+lwu :: offset: 0x28c, out: 0xfc6c70d7
+lwu :: offset: 0x290, out: 0xe22b20d2
+lwu :: offset: 0x294, out: 0xe6ea3d65
+lwu :: offset: 0x298, out: 0xeba91bbc
+lwu :: offset: 0x29c, out: 0xef68060b
+lwu :: offset: 0x2a0, out: 0xd727bbb6
+lwu :: offset: 0x2a4, out: 0xd3e6a601
+lwu :: offset: 0x2a8, out: 0xdea580d8
+lwu :: offset: 0x2ac, out: 0xda649d6f
+lwu :: offset: 0x2b0, out: 0xc423cd6a
+lwu :: offset: 0x2b4, out: 0x0
+lwu :: offset: 0x2b8, out: 0xcda1f604
+lwu :: offset: 0x2bc, out: 0x0
+lwu :: offset: 0x2c0, out: 0xbd3e8d7e
+lwu :: offset: 0x2c4, out: 0xb9ff90c9
+lwu :: offset: 0x2c8, out: 0xb4bcb610
+lwu :: offset: 0x2cc, out: 0xb07daba7
+lwu :: offset: 0x2d0, out: 0xae3afba2
+lwu :: offset: 0x2d4, out: 0xaafbe615
+lwu :: offset: 0x2d8, out: 0xa7b8c0cc
+lwu :: offset: 0x2dc, out: 0xa379dd7b
+lwu :: offset: 0x2e0, out: 0x9b3660c6
+lwu :: offset: 0x2e4, out: 0x9ff77d71
+lwu :: offset: 0x2e8, out: 0x92b45ba8
+lwu :: offset: 0x2ec, out: 0x9675461f
+lwu :: offset: 0x2f0, out: 0x8832161a
+lwu :: offset: 0x2f4, out: 0x8cf30bad
+lwu :: offset: 0x2f8, out: 0x81b02d74
+lwu :: offset: 0x2fc, out: 0x857130c3
+lwu :: offset: 0x300, out: 0x5d8a9099
+lwu :: offset: 0x304, out: 0x594b8d2e
+lwu :: offset: 0x308, out: 0x5408abf7
+lwu :: offset: 0x30c, out: 0x50c9b640
+lwu :: offset: 0x310, out: 0x4e8ee645
+lwu :: offset: 0x314, out: 0x4a4ffbf2
+lwu :: offset: 0x318, out: 0x470cdd2b
+lwu :: offset: 0x31c, out: 0x43cdc09c
+lwu :: offset: 0x320, out: 0x7b827d21
+lwu :: offset: 0x324, out: 0x7f436096
+lwu :: offset: 0x328, out: 0x7200464f
+lwu :: offset: 0x32c, out: 0x76c15bf8
+lwu :: offset: 0x330, out: 0x68860bfd
+lwu :: offset: 0x334, out: 0x6c47164a
+lwu :: offset: 0x338, out: 0x61043093
+lwu :: offset: 0x33c, out: 0x65c52d24
+lwu :: offset: 0x340, out: 0x119b4be9
+lwu :: offset: 0x344, out: 0x155a565e
+lwu :: offset: 0x348, out: 0x18197087
+lwu :: offset: 0x34c, out: 0x1cd86d30
+lwu :: offset: 0x350, out: 0x29f3d35
+lwu :: offset: 0x354, out: 0x65e2082
+lwu :: offset: 0x358, out: 0xb1d065b
+lwu :: offset: 0x35c, out: 0xfdc1bec
+lwu :: offset: 0x360, out: 0x3793a651
+lwu :: offset: 0x364, out: 0x3352bbe6
+lwu :: offset: 0x368, out: 0x3e119d3f
+lwu :: offset: 0x36c, out: 0x3ad08088
+lwu :: offset: 0x370, out: 0x2497d08d
+lwu :: offset: 0x374, out: 0x2056cd3a
+lwu :: offset: 0x378, out: 0x2d15ebe3
+lwu :: offset: 0x37c, out: 0x29d4f654
+lwu :: offset: 0x380, out: 0xc5a92679
+lwu :: offset: 0x384, out: 0xc1683bce
+lwu :: offset: 0x388, out: 0xcc2b1d17
+lwu :: offset: 0x38c, out: 0xc8ea00a0
+lwu :: offset: 0x390, out: 0xd6ad50a5
+lwu :: offset: 0x394, out: 0xd26c4d12
+lwu :: offset: 0x398, out: 0xdf2f6bcb
+lwu :: offset: 0x39c, out: 0xdbee767c
+lwu :: offset: 0x3a0, out: 0xe3a1cbc1
+lwu :: offset: 0x3a4, out: 0xe760d676
+lwu :: offset: 0x3a8, out: 0xea23f0af
+lwu :: offset: 0x3ac, out: 0xeee2ed18
+lwu :: offset: 0x3b0, out: 0xf0a5bd1d
+lwu :: offset: 0x3b4, out: 0xf464a0aa
+lwu :: offset: 0x3b8, out: 0xf9278673
+lwu :: offset: 0x3bc, out: 0xfde69bc4
+lwu :: offset: 0x3c0, out: 0x89b8fd09
+lwu :: offset: 0x3c4, out: 0x8d79e0be
+lwu :: offset: 0x3c8, out: 0x803ac667
+lwu :: offset: 0x3cc, out: 0x84fbdbd0
+lwu :: offset: 0x3d0, out: 0x9abc8bd5
+lwu :: offset: 0x3d4, out: 0x9e7d9662
+lwu :: offset: 0x3d8, out: 0x933eb0bb
+lwu :: offset: 0x3dc, out: 0x97ffad0c
+lwu :: offset: 0x3e0, out: 0xafb010b1
+lwu :: offset: 0x3e4, out: 0xab710d06
+lwu :: offset: 0x3e8, out: 0xa6322bdf
+lwu :: offset: 0x3ec, out: 0xa2f33668
+lwu :: offset: 0x3f0, out: 0xbcb4666d
+lwu :: offset: 0x3f4, out: 0xb8757bda
+lwu :: offset: 0x3f8, out: 0xb5365d03
+lwu :: offset: 0x3fc, out: 0xb1f740b4
+lwu :: offset: 0x0, out: 0x12bd6aa
+lwu :: offset: 0x4, out: 0x0
+lwu :: offset: 0x8, out: 0x82d2ab13
+lwu :: offset: 0xc, out: 0x7e8763
+lwu :: offset: 0x10, out: 0xc31510f3
+lwu :: offset: 0x14, out: 0x976d6e9a
+lwu :: offset: 0x18, out: 0x5ad6a5fb
+lwu :: offset: 0x1c, out: 0xb7746d77
+lwu :: offset: 0x20, out: 0x8677b502
+lwu :: offset: 0x24, out: 0x42b0c0a2
+lwu :: offset: 0x28, out: 0x9e3c30ad
+lwu :: offset: 0x2c, out: 0x2aa89d31
+lwu :: offset: 0x30, out: 0x77fb413d
+lwu :: offset: 0x34, out: 0x1f308ec3
+lwu :: offset: 0x38, out: 0xc760e4f7
+lwu :: offset: 0x3c, out: 0x7aa04213
+lwu :: offset: 0x40, out: 0x1ad8dca0
+lwu :: offset: 0x44, out: 0x9e705cc5
+lwu :: offset: 0x48, out: 0x9615a60d
+lwu :: offset: 0x4c, out: 0x4b3dda86
+lwu :: offset: 0x50, out: 0x6353d41d
+lwu :: offset: 0x54, out: 0x5e7a4dd
+lwu :: offset: 0x58, out: 0xc40bd413
+lwu :: offset: 0x5c, out: 0x3af35a9d
+lwu :: offset: 0x60, out: 0x9a08a180
+lwu :: offset: 0x64, out: 0x47f50556
+lwu :: offset: 0x68, out: 0xd6d2040f
+lwu :: offset: 0x6c, out: 0x9564b77f
+lwu :: offset: 0x70, out: 0xb2c76bbe
+lwu :: offset: 0x74, out: 0xcebc8279
+lwu :: offset: 0x78, out: 0x1f18e4c7
+lwu :: offset: 0x7c, out: 0xb5034c2f
+lwu :: offset: 0x80, out: 0x81afa797
+lwu :: offset: 0x84, out: 0x94ff52fc
+lwu :: offset: 0x88, out: 0x6dfc50ea
+lwu :: offset: 0x8c, out: 0x31d8d916
+lwu :: offset: 0x90, out: 0x78e895b1
+lwu :: offset: 0x94, out: 0x36549bd6
+lwu :: offset: 0x98, out: 0x9b63259b
+lwu :: offset: 0x9c, out: 0x85e0a631
+lwu :: offset: 0xa0, out: 0xccf17ac5
+lwu :: offset: 0xa4, out: 0x556b3eca
+lwu :: offset: 0xa8, out: 0x81eea0fb
+lwu :: offset: 0xac, out: 0xb42f5fc5
+lwu :: offset: 0xb0, out: 0x14682d97
+lwu :: offset: 0xb4, out: 0x25b50fec
+lwu :: offset: 0xb8, out: 0x2cfb087a
+lwu :: offset: 0xbc, out: 0xfc93c513
+lwu :: offset: 0xc0, out: 0xcda20766
+lwu :: offset: 0xc4, out: 0x3c2cd9a9
+lwu :: offset: 0xc8, out: 0x7d72da3e
+lwu :: offset: 0xcc, out: 0x1791722a
+lwu :: offset: 0xd0, out: 0x93ce24ad
+lwu :: offset: 0xd4, out: 0x87cc9d1
+lwu :: offset: 0xd8, out: 0x38984ed2
+lwu :: offset: 0xdc, out: 0x1d2a7570
+lwu :: offset: 0xe0, out: 0x710cd036
+lwu :: offset: 0xe4, out: 0xd0d070db
+lwu :: offset: 0xe8, out: 0x3415604
+lwu :: offset: 0xec, out: 0x39c21c7d
+lwu :: offset: 0xf0, out: 0x8ecc31ce
+lwu :: offset: 0xf4, out: 0x8e94b7af
+lwu :: offset: 0xf8, out: 0x1ce7674f
+lwu :: offset: 0xfc, out: 0x24eb6a8d
+lwu :: offset: 0x100, out: 0x12d6e4a7
+lwu :: offset: 0x104, out: 0x2f394544
+lwu :: offset: 0x108, out: 0x56da4c54
+lwu :: offset: 0x10c, out: 0x2608c2b7
+lwu :: offset: 0x110, out: 0xc8d7252f
+lwu :: offset: 0x114, out: 0x900102da
+lwu :: offset: 0x118, out: 0xf2efa4f7
+lwu :: offset: 0x11c, out: 0xc890d5f1
+lwu :: offset: 0x120, out: 0xc8b0a214
+lwu :: offset: 0x124, out: 0xed5005cb
+lwu :: offset: 0x128, out: 0x5991136c
+lwu :: offset: 0x12c, out: 0x31479189
+lwu :: offset: 0x130, out: 0x9a2fb6f3
+lwu :: offset: 0x134, out: 0xc6eecff9
+lwu :: offset: 0x138, out: 0x38895270
+lwu :: offset: 0x13c, out: 0xa8095212
+lwu :: offset: 0x140, out: 0xad765040
+lwu :: offset: 0x144, out: 0x87750a04
+lwu :: offset: 0x148, out: 0x84bb5a83
+lwu :: offset: 0x14c, out: 0x2c3de85e
+lwu :: offset: 0x150, out: 0xc506aa67
+lwu :: offset: 0x154, out: 0xae6aff8f
+lwu :: offset: 0x158, out: 0x60ed5ee3
+lwu :: offset: 0x15c, out: 0xc07112dd
+lwu :: offset: 0x160, out: 0x30dcca5a
+lwu :: offset: 0x164, out: 0xc4c770f6
+lwu :: offset: 0x168, out: 0x83cd5277
+lwu :: offset: 0x16c, out: 0xdfec2b23
+lwu :: offset: 0x170, out: 0xff7d96b
+lwu :: offset: 0x174, out: 0xd3adba26
+lwu :: offset: 0x178, out: 0x8418c00e
+lwu :: offset: 0x17c, out: 0x4ab4aa79
+lwu :: offset: 0x180, out: 0xde0f0b8
+lwu :: offset: 0x184, out: 0xbb8c035e
+lwu :: offset: 0x188, out: 0xa97fdcf1
+lwu :: offset: 0x18c, out: 0x33b06f54
+lwu :: offset: 0x190, out: 0x3fd1c081
+lwu :: offset: 0x194, out: 0x77433f37
+lwu :: offset: 0x198, out: 0xc92195e4
+lwu :: offset: 0x19c, out: 0xec91d993
+lwu :: offset: 0x1a0, out: 0x95b1a5ab
+lwu :: offset: 0x1a4, out: 0x49fbf6a7
+lwu :: offset: 0x1a8, out: 0xc7ce8d1e
+lwu :: offset: 0x1ac, out: 0x19364378
+lwu :: offset: 0x1b0, out: 0x2f384907
+lwu :: offset: 0x1b4, out: 0xb99e8def
+lwu :: offset: 0x1b8, out: 0x582b12fe
+lwu :: offset: 0x1bc, out: 0x47eacdcd
+lwu :: offset: 0x1c0, out: 0x76558c4f
+lwu :: offset: 0x1c4, out: 0xd685884e
+lwu :: offset: 0x1c8, out: 0x34c195c7
+lwu :: offset: 0x1cc, out: 0x6168d62a
+lwu :: offset: 0x1d0, out: 0x4df47405
+lwu :: offset: 0x1d4, out: 0xd3016989
+lwu :: offset: 0x1d8, out: 0x6cbb06db
+lwu :: offset: 0x1dc, out: 0x1ca190bf
+lwu :: offset: 0x1e0, out: 0x9cae393a
+lwu :: offset: 0x1e4, out: 0x58300f02
+lwu :: offset: 0x1e8, out: 0xdc7ebc2d
+lwu :: offset: 0x1ec, out: 0x9a995fdb
+lwu :: offset: 0x1f0, out: 0xe3405b48
+lwu :: offset: 0x1f4, out: 0x8a96047b
+lwu :: offset: 0x1f8, out: 0xd519d322
+lwu :: offset: 0x1fc, out: 0x75bfafd2
+lwu :: offset: 0x200, out: 0xa630f6ad
+lwu :: offset: 0x204, out: 0xde230867
+lwu :: offset: 0x208, out: 0x56103260
+lwu :: offset: 0x20c, out: 0x2c0a0cf2
+lwu :: offset: 0x210, out: 0x249b18ef
+lwu :: offset: 0x214, out: 0x94a90544
+lwu :: offset: 0x218, out: 0x5b56fcde
+lwu :: offset: 0x21c, out: 0xf9519fb5
+lwu :: offset: 0x220, out: 0x468319b
+lwu :: offset: 0x224, out: 0x81daf820
+lwu :: offset: 0x228, out: 0x5725f2ec
+lwu :: offset: 0x22c, out: 0x8c61ca5a
+lwu :: offset: 0x230, out: 0xc25dc8bf
+lwu :: offset: 0x234, out: 0x8b95a6dd
+lwu :: offset: 0x238, out: 0xdac6162f
+lwu :: offset: 0x23c, out: 0x300ce751
+lwu :: offset: 0x240, out: 0xba52a850
+lwu :: offset: 0x244, out: 0x6778fdf3
+lwu :: offset: 0x248, out: 0xda78479f
+lwu :: offset: 0x24c, out: 0xad00b1f7
+lwu :: offset: 0x250, out: 0xa6b6d98a
+lwu :: offset: 0x254, out: 0x8d44168
+lwu :: offset: 0x258, out: 0xce634413
+lwu :: offset: 0x25c, out: 0xf518381d
+lwu :: offset: 0x260, out: 0xe5255fc0
+lwu :: offset: 0x264, out: 0xe4627f3f
+lwu :: offset: 0x268, out: 0x76321f28
+lwu :: offset: 0x26c, out: 0xccd392e1
+lwu :: offset: 0x270, out: 0x4018fd8f
+lwu :: offset: 0x274, out: 0x82946494
+lwu :: offset: 0x278, out: 0x52e8f0e5
+lwu :: offset: 0x27c, out: 0x15d32040
+lwu :: offset: 0x280, out: 0x880ff344
+lwu :: offset: 0x284, out: 0x7caf83d2
+lwu :: offset: 0x288, out: 0x747defd7
+lwu :: offset: 0x28c, out: 0xf156a04c
+lwu :: offset: 0x290, out: 0xf31d710
+lwu :: offset: 0x294, out: 0x93e2601c
+lwu :: offset: 0x298, out: 0x131cd933
+lwu :: offset: 0x29c, out: 0xe1e1a679
+lwu :: offset: 0x2a0, out: 0xa76fa427
+lwu :: offset: 0x2a4, out: 0x24296b75
+lwu :: offset: 0x2a8, out: 0x139ee56a
+lwu :: offset: 0x2ac, out: 0xd296e2d2
+lwu :: offset: 0x2b0, out: 0x6dc2a5c0
+lwu :: offset: 0x2b4, out: 0x5a82447f
+lwu :: offset: 0x2b8, out: 0xc07dc168
+lwu :: offset: 0x2bc, out: 0x76c89e80
+lwu :: offset: 0x2c0, out: 0x4bfe348f
+lwu :: offset: 0x2c4, out: 0x70dc345
+lwu :: offset: 0x2c8, out: 0xdd6d241b
+lwu :: offset: 0x2cc, out: 0xbddc7123
+lwu :: offset: 0x2d0, out: 0xa59fcebe
+lwu :: offset: 0x2d4, out: 0xf62fb727
+lwu :: offset: 0x2d8, out: 0xf9f46fb
+lwu :: offset: 0x2dc, out: 0x109f27e9
+lwu :: offset: 0x2e0, out: 0xafd199d7
+lwu :: offset: 0x2e4, out: 0x3f63daa9
+lwu :: offset: 0x2e8, out: 0xa3d484f2
+lwu :: offset: 0x2ec, out: 0xdbcb312e
+lwu :: offset: 0x2f0, out: 0xda4fe4c6
+lwu :: offset: 0x2f4, out: 0x1f353faa
+lwu :: offset: 0x2f8, out: 0x7150c260
+lwu :: offset: 0x2fc, out: 0x8b086ee0
+lwu :: offset: 0x300, out: 0xd9257f25
+lwu :: offset: 0x304, out: 0xe54750d5
+lwu :: offset: 0x308, out: 0xe9a6db5b
+lwu :: offset: 0x30c, out: 0x3d69625f
+lwu :: offset: 0x310, out: 0x4340ac96
+lwu :: offset: 0x314, out: 0x70a3e042
+lwu :: offset: 0x318, out: 0x6980171e
+lwu :: offset: 0x31c, out: 0xc0478f03
+lwu :: offset: 0x320, out: 0x1cf929e3
+lwu :: offset: 0x324, out: 0x3ce839a5
+lwu :: offset: 0x328, out: 0x5eb68958
+lwu :: offset: 0x32c, out: 0xe2fbfa89
+lwu :: offset: 0x330, out: 0x76ed25b7
+lwu :: offset: 0x334, out: 0xd24bb05d
+lwu :: offset: 0x338, out: 0x170312f1
+lwu :: offset: 0x33c, out: 0xeb9682c
+lwu :: offset: 0x340, out: 0xdd301d0d
+lwu :: offset: 0x344, out: 0x84785280
+lwu :: offset: 0x348, out: 0x1f8fd6ef
+lwu :: offset: 0x34c, out: 0x179c77aa
+lwu :: offset: 0x350, out: 0x2998436d
+lwu :: offset: 0x354, out: 0x26444ced
+lwu :: offset: 0x358, out: 0xd58ca708
+lwu :: offset: 0x35c, out: 0x7175c9d
+lwu :: offset: 0x360, out: 0x55833287
+lwu :: offset: 0x364, out: 0x663d0610
+lwu :: offset: 0x368, out: 0x8951d68b
+lwu :: offset: 0x36c, out: 0xab7dd048
+lwu :: offset: 0x370, out: 0xe82471b
+lwu :: offset: 0x374, out: 0xf6982367
+lwu :: offset: 0x378, out: 0xd98d26b2
+lwu :: offset: 0x37c, out: 0x36886c59
+lwu :: offset: 0x380, out: 0xd32be479
+lwu :: offset: 0x384, out: 0x9ca4bdb
+lwu :: offset: 0x388, out: 0x9962e61f
+lwu :: offset: 0x38c, out: 0xfd5d7d1d
+lwu :: offset: 0x390, out: 0xcad374df
+lwu :: offset: 0x394, out: 0x3f46553e
+lwu :: offset: 0x398, out: 0x3eedf2a7
+lwu :: offset: 0x39c, out: 0x2e9ab97d
+lwu :: offset: 0x3a0, out: 0x3c0c9f33
+lwu :: offset: 0x3a4, out: 0x36a6f7fa
+lwu :: offset: 0x3a8, out: 0x155ec9dc
+lwu :: offset: 0x3ac, out: 0x8bb938e3
+lwu :: offset: 0x3b0, out: 0x19478206
+lwu :: offset: 0x3b4, out: 0xd2df25c4
+lwu :: offset: 0x3b8, out: 0xeb321825
+lwu :: offset: 0x3bc, out: 0xbc65bf27
+lwu :: offset: 0x3c0, out: 0x7a8bc7da
+lwu :: offset: 0x3c4, out: 0xa8b08fe6
+lwu :: offset: 0x3c8, out: 0xf8dfcde8
+lwu :: offset: 0x3cc, out: 0x852b5bca
+lwu :: offset: 0x3d0, out: 0x59a99269
+lwu :: offset: 0x3d4, out: 0x478909b
+lwu :: offset: 0x3d8, out: 0x7857360f
+lwu :: offset: 0x3dc, out: 0xbfb31cc8
+lwu :: offset: 0x3e0, out: 0x7f89e9a2
+lwu :: offset: 0x3e4, out: 0xb665ed5e
+lwu :: offset: 0x3e8, out: 0xb7a8d5e4
+lwu :: offset: 0x3ec, out: 0x15da9474
+lwu :: offset: 0x3f0, out: 0x2af90fcc
+lwu :: offset: 0x3f4, out: 0xf6b3537d
+lwu :: offset: 0x3f8, out: 0x2b961897
+lwu :: offset: 0x3fc, out: 0x223d7cfe
+lwu :: offset: 0x400, out: 0x33734a4b
+lwu :: offset: 0x404, out: 0x420b34f5
+lwu :: offset: 0x408, out: 0xdd46b33c
+lwu :: offset: 0x40c, out: 0x897c8c8d
+lwu :: offset: 0x410, out: 0xe392ccd9
+lwu :: offset: 0x414, out: 0x7a387445
+lwu :: offset: 0x418, out: 0xd80000c9
+lwu :: offset: 0x41c, out: 0x512f29b1
+lwu :: offset: 0x420, out: 0x3dad020a
+lwu :: offset: 0x424, out: 0xeaded5c5
+lwu :: offset: 0x428, out: 0x31eea35b
+lwu :: offset: 0x42c, out: 0x8a6229d7
+lwu :: offset: 0x430, out: 0x48985649
+lwu :: offset: 0x434, out: 0x2c3c3f9e
+lwu :: offset: 0x438, out: 0xdc9c0b77
+lwu :: offset: 0x43c, out: 0x7ff61e78
+lwu :: offset: 0x440, out: 0x1d5e68ec
+lwu :: offset: 0x444, out: 0x2299b0e0
+lwu :: offset: 0x448, out: 0x3d0c6e25
+lwu :: offset: 0x44c, out: 0x7c3b0467
+lwu :: offset: 0x450, out: 0xe7fb6587
+lwu :: offset: 0x454, out: 0x164e17c1
+lwu :: offset: 0x458, out: 0x56d4950b
+lwu :: offset: 0x45c, out: 0xfa4ca28b
+lwu :: offset: 0x460, out: 0xbe7fa08a
+lwu :: offset: 0x464, out: 0xe5e9a314
+lwu :: offset: 0x468, out: 0x159649c5
+lwu :: offset: 0x46c, out: 0xf8be8164
+lwu :: offset: 0x470, out: 0x84e69b17
+lwu :: offset: 0x474, out: 0x7ca32597
+lwu :: offset: 0x478, out: 0xa1f24f5c
+lwu :: offset: 0x47c, out: 0xfc8d543c
+lwu :: offset: 0x480, out: 0xe3459e36
+lwu :: offset: 0x484, out: 0x4aeb6ca0
+lwu :: offset: 0x488, out: 0x187980fa
+lwu :: offset: 0x48c, out: 0xc532e18e
+lwu :: offset: 0x490, out: 0x4f287d1c
+lwu :: offset: 0x494, out: 0xb3fdec29
+lwu :: offset: 0x498, out: 0x49732b90
+lwu :: offset: 0x49c, out: 0xb620660a
+lwu :: offset: 0x4a0, out: 0x6cfde991
+lwu :: offset: 0x4a4, out: 0x993138f1
+lwu :: offset: 0x4a8, out: 0x7d5407b9
+lwu :: offset: 0x4ac, out: 0xde02d133
+lwu :: offset: 0x4b0, out: 0xe1dab15a
+lwu :: offset: 0x4b4, out: 0x13a390e1
+lwu :: offset: 0x4b8, out: 0x828716c8
+lwu :: offset: 0x4bc, out: 0x743491a6
+lwu :: offset: 0x4c0, out: 0xede292f2
+lwu :: offset: 0x4c4, out: 0x8cff404a
+lwu :: offset: 0x4c8, out: 0x1f837636
+lwu :: offset: 0x4cc, out: 0xb9cec0db
+lwu :: offset: 0x4d0, out: 0x509771c
+lwu :: offset: 0x4d4, out: 0x2eaa5aa7
+lwu :: offset: 0x4d8, out: 0x1875241b
+lwu :: offset: 0x4dc, out: 0xd327538e
+lwu :: offset: 0x4e0, out: 0x8b739b6b
+lwu :: offset: 0x4e4, out: 0x42e9f854
+lwu :: offset: 0x4e8, out: 0xeccbba1a
+lwu :: offset: 0x4ec, out: 0x78e4e50c
+lwu :: offset: 0x4f0, out: 0xcd9d27cb
+lwu :: offset: 0x4f4, out: 0xf6b6fa3f
+lwu :: offset: 0x4f8, out: 0xae3e9423
+lwu :: offset: 0x4fc, out: 0x73916483
+lwu :: offset: 0x500, out: 0xe128561
+lwu :: offset: 0x504, out: 0x276af70a
+lwu :: offset: 0x508, out: 0xb5e74b6e
+lwu :: offset: 0x50c, out: 0x3045bf6
+lwu :: offset: 0x510, out: 0x8accfa6
+lwu :: offset: 0x514, out: 0x20223f13
+lwu :: offset: 0x518, out: 0x3976b5f5
+lwu :: offset: 0x51c, out: 0xf83c5574
+lwu :: offset: 0x520, out: 0x46923c3d
+lwu :: offset: 0x524, out: 0x1f9720f9
+lwu :: offset: 0x528, out: 0x6d2448dd
+lwu :: offset: 0x52c, out: 0x620d2850
+lwu :: offset: 0x530, out: 0x9ff4a732
+lwu :: offset: 0x534, out: 0x60a521e9
+lwu :: offset: 0x538, out: 0x5c680f0b
+lwu :: offset: 0x53c, out: 0x5a08f3ab
+lwu :: offset: 0x540, out: 0x800f3d26
+lwu :: offset: 0x544, out: 0xc7a59be7
+lwu :: offset: 0x548, out: 0x82ca1b41
+lwu :: offset: 0x54c, out: 0x1aecdf29
+lwu :: offset: 0x550, out: 0x60d19dcd
+lwu :: offset: 0x554, out: 0x2b8613a2
+lwu :: offset: 0x558, out: 0xe8bbe7f
+lwu :: offset: 0x55c, out: 0x2518ac8b
+lwu :: offset: 0x560, out: 0x2fcf486b
+lwu :: offset: 0x564, out: 0x743e568d
+lwu :: offset: 0x568, out: 0x34c31728
+lwu :: offset: 0x56c, out: 0x126f646f
+lwu :: offset: 0x570, out: 0x56fc4d12
+lwu :: offset: 0x574, out: 0xaab01961
+lwu :: offset: 0x578, out: 0x8595d342
+lwu :: offset: 0x57c, out: 0x7535cd33
+lwu :: offset: 0x580, out: 0x422346ec
+lwu :: offset: 0x584, out: 0xdfb254da
+lwu :: offset: 0x588, out: 0x81ab2a
+lwu :: offset: 0x58c, out: 0xa86726c9
+lwu :: offset: 0x590, out: 0x679d7438
+lwu :: offset: 0x594, out: 0x9bfeffa1
+lwu :: offset: 0x598, out: 0xb7dee244
+lwu :: offset: 0x59c, out: 0xc7699826
+lwu :: offset: 0x5a0, out: 0xfba6704a
+lwu :: offset: 0x5a4, out: 0x3c07af97
+lwu :: offset: 0x5a8, out: 0x4c58bfe
+lwu :: offset: 0x5ac, out: 0x521364dc
+lwu :: offset: 0x5b0, out: 0x9ab7aebc
+lwu :: offset: 0x5b4, out: 0xe0f7bb58
+lwu :: offset: 0x5b8, out: 0xdeeb954d
+lwu :: offset: 0x5bc, out: 0xe336c60c
+lwu :: offset: 0x5c0, out: 0x6f52416e
+lwu :: offset: 0x5c4, out: 0xd5b2120c
+lwu :: offset: 0x5c8, out: 0x7e628a34
+lwu :: offset: 0x5cc, out: 0x85a2d4ff
+lwu :: offset: 0x5d0, out: 0x4a4e7e07
+lwu :: offset: 0x5d4, out: 0x986a2b65
+lwu :: offset: 0x5d8, out: 0x3a489b55
+lwu :: offset: 0x5dc, out: 0xa974eac4
+lwu :: offset: 0x5e0, out: 0x72f1f8f5
+lwu :: offset: 0x5e4, out: 0xa388c162
+lwu :: offset: 0x5e8, out: 0xe7495ea9
+lwu :: offset: 0x5ec, out: 0xe8c11f45
+lwu :: offset: 0x5f0, out: 0x5cc1c8b4
+lwu :: offset: 0x5f4, out: 0xadaa5a76
+lwu :: offset: 0x5f8, out: 0xdfa605c0
+lwu :: offset: 0x5fc, out: 0x7ab4ce88
+lwu :: offset: 0x600, out: 0x59a7b04f
+lwu :: offset: 0x604, out: 0xb42ad6e6
+lwu :: offset: 0x608, out: 0xb728922f
+lwu :: offset: 0x60c, out: 0x4bf8485a
+lwu :: offset: 0x610, out: 0x3b66a7fb
+lwu :: offset: 0x614, out: 0x76a3d60c
+lwu :: offset: 0x618, out: 0xfdc28eda
+lwu :: offset: 0x61c, out: 0x31e0c6af
+lwu :: offset: 0x620, out: 0xbf0c999d
+lwu :: offset: 0x624, out: 0x53606bb4
+lwu :: offset: 0x628, out: 0x1b7919f0
+lwu :: offset: 0x62c, out: 0x32fc12c8
+lwu :: offset: 0x630, out: 0xc72efcd6
+lwu :: offset: 0x634, out: 0x3ef88384
+lwu :: offset: 0x638, out: 0x6a2a3580
+lwu :: offset: 0x63c, out: 0x38b1c7bb
+lwu :: offset: 0x640, out: 0x1dca77c9
+lwu :: offset: 0x644, out: 0x15ebf612
+lwu :: offset: 0x648, out: 0xfd9147ae
+lwu :: offset: 0x64c, out: 0x5eaacdd9
+lwu :: offset: 0x650, out: 0x81e91117
+lwu :: offset: 0x654, out: 0xbb8470f9
+lwu :: offset: 0x658, out: 0xc6a532e0
+lwu :: offset: 0x65c, out: 0x5d42aea
+lwu :: offset: 0x660, out: 0x19fb9e63
+lwu :: offset: 0x664, out: 0x14abf364
+lwu :: offset: 0x668, out: 0xa8d72aac
+lwu :: offset: 0x66c, out: 0x249d559a
+lwu :: offset: 0x670, out: 0x84b30ec
+lwu :: offset: 0x674, out: 0xcd6764f
+lwu :: offset: 0x678, out: 0x92468fdf
+lwu :: offset: 0x67c, out: 0x7f03ac07
+lwu :: offset: 0x680, out: 0x56e670f5
+lwu :: offset: 0x684, out: 0x7e35ce6d
+lwu :: offset: 0x688, out: 0x1a652711
+lwu :: offset: 0x68c, out: 0x15282859
+lwu :: offset: 0x690, out: 0xd215a9fb
+lwu :: offset: 0x694, out: 0x9e1c3283
+lwu :: offset: 0x698, out: 0x282a0417
+lwu :: offset: 0x69c, out: 0x8d95c049
+lwu :: offset: 0x6a0, out: 0x978058f3
+lwu :: offset: 0x6a4, out: 0xf2e7a490
+lwu :: offset: 0x6a8, out: 0x975b1aa
+lwu :: offset: 0x6ac, out: 0x775b4cca
+lwu :: offset: 0x6b0, out: 0x35111020
+lwu :: offset: 0x6b4, out: 0xa2b84a6
+lwu :: offset: 0x6b8, out: 0xa7d88b6f
+lwu :: offset: 0x6bc, out: 0x23fa0d3
+lwu :: offset: 0x6c0, out: 0x9941dedd
+lwu :: offset: 0x6c4, out: 0xa3d991b7
+lwu :: offset: 0x6c8, out: 0x5a0d9508
+lwu :: offset: 0x6cc, out: 0x751cb483
+lwu :: offset: 0x6d0, out: 0x625bb2d3
+lwu :: offset: 0x6d4, out: 0x949cad35
+lwu :: offset: 0x6d8, out: 0xa6929739
+lwu :: offset: 0x6dc, out: 0x7f567f35
+lwu :: offset: 0x6e0, out: 0xdb8d7d27
+lwu :: offset: 0x6e4, out: 0x185b88e0
+lwu :: offset: 0x6e8, out: 0x2fd61b91
+lwu :: offset: 0x6ec, out: 0x255a4cd2
+lwu :: offset: 0x6f0, out: 0xa4363f7b
+lwu :: offset: 0x6f4, out: 0x1048d589
+lwu :: offset: 0x6f8, out: 0xf4605790
+lwu :: offset: 0x6fc, out: 0x6a6d5708
+lwu :: offset: 0x700, out: 0xde35697f
+lwu :: offset: 0x704, out: 0xd58ecbab
+lwu :: offset: 0x708, out: 0x8c0a5f1
+lwu :: offset: 0x70c, out: 0x575548fd
+lwu :: offset: 0x710, out: 0x8ed98ddb
+lwu :: offset: 0x714, out: 0x8bb640fb
+lwu :: offset: 0x718, out: 0xabc578cc
+lwu :: offset: 0x71c, out: 0xbe00d51e
+lwu :: offset: 0x720, out: 0x1c170ab2
+lwu :: offset: 0x724, out: 0x2f7e224a
+lwu :: offset: 0x728, out: 0xa22256a7
+lwu :: offset: 0x72c, out: 0xa978f12c
+lwu :: offset: 0x730, out: 0x811ee02f
+lwu :: offset: 0x734, out: 0x9950a93b
+lwu :: offset: 0x738, out: 0xc6796a0c
+lwu :: offset: 0x73c, out: 0xb44eea93
+lwu :: offset: 0x740, out: 0x6c0eb657
+lwu :: offset: 0x744, out: 0xfe71fca0
+lwu :: offset: 0x748, out: 0xf818af57
+lwu :: offset: 0x74c, out: 0x4ed6393d
+lwu :: offset: 0x750, out: 0x236770a
+lwu :: offset: 0x754, out: 0xf22e9020
+lwu :: offset: 0x758, out: 0xafd0c45d
+lwu :: offset: 0x75c, out: 0x81efb6c7
+lwu :: offset: 0x760, out: 0x8102315b
+lwu :: offset: 0x764, out: 0xeed8f351
+lwu :: offset: 0x768, out: 0x995efd5e
+lwu :: offset: 0x76c, out: 0xadafefb9
+lwu :: offset: 0x770, out: 0xeb253086
+lwu :: offset: 0x774, out: 0x34061933
+lwu :: offset: 0x778, out: 0x4b4c52bc
+lwu :: offset: 0x77c, out: 0x1748da26
+lwu :: offset: 0x780, out: 0x9302be89
+lwu :: offset: 0x784, out: 0x34fdfc9a
+lwu :: offset: 0x788, out: 0xc521d180
+lwu :: offset: 0x78c, out: 0xd00278c3
+lwu :: offset: 0x790, out: 0xc1d37a5d
+lwu :: offset: 0x794, out: 0xe90944a4
+lwu :: offset: 0x798, out: 0xddef9839
+lwu :: offset: 0x79c, out: 0x65fd698f
+lwu :: offset: 0x7a0, out: 0x81b5af52
+lwu :: offset: 0x7a4, out: 0xc49ee3ad
+lwu :: offset: 0x7a8, out: 0xbdb263e9
+lwu :: offset: 0x7ac, out: 0x7aa941e8
+lwu :: offset: 0x7b0, out: 0x42f3b58d
+lwu :: offset: 0x7b4, out: 0x372c209e
+lwu :: offset: 0x7b8, out: 0xe122a83b
+lwu :: offset: 0x7bc, out: 0x30f870b7
+lwu :: offset: 0x7c0, out: 0x678930ec
+lwu :: offset: 0x7c4, out: 0x9e02de4b
+lwu :: offset: 0x7c8, out: 0x9826631e
+lwu :: offset: 0x7cc, out: 0xcd61a863
+lwu :: offset: 0x7d0, out: 0x9a7bd3ca
+lwu :: offset: 0x7d4, out: 0xae87bc89
+lwu :: offset: 0x7d8, out: 0x6481af17
+lwu :: offset: 0x7dc, out: 0x58ec644d
+lwu :: offset: 0x7e0, out: 0xb236b666
+lwu :: offset: 0x7e4, out: 0x680cce5f
+lwu :: offset: 0x7e8, out: 0x1f6d4d75
+lwu :: offset: 0x7ec, out: 0x3baa9947
+lwu :: offset: 0x7f0, out: 0x5f12236b
+lwu :: offset: 0x7f4, out: 0x614d9b44
+lwu :: offset: 0x7f8, out: 0x1ba84121
+lwu :: offset: 0x7fc, out: 0xa2a6ec66
+sb :: offset: 0x0, out: 0xaa, outHI: 0x0
+sb :: offset: 0x1, out: 0xd6aa, outHI: 0x0
+sb :: offset: 0x2, out: 0x2bd6aa, outHI: 0x0
+sb :: offset: 0x3, out: 0x12bd6aa, outHI: 0x0
+sb :: offset: 0x4, out: 0x12bd6aa, outHI: 0x0
+sb :: offset: 0x5, out: 0x12bd6aa, outHI: 0x0
+sb :: offset: 0x6, out: 0x12bd6aa, outHI: 0x0
+sb :: offset: 0x7, out: 0x12bd6aa, outHI: 0x0
+sb :: offset: 0x8, out: 0x13, outHI: 0x0
+sb :: offset: 0x9, out: 0xab13, outHI: 0x0
+sb :: offset: 0xa, out: 0xd2ab13, outHI: 0x0
+sb :: offset: 0xb, out: 0x82d2ab13, outHI: 0x0
+sb :: offset: 0xc, out: 0x6382d2ab13, outHI: 0x0
+sb :: offset: 0xd, out: 0x876382d2ab13, outHI: 0x0
+sb :: offset: 0xe, out: 0x7e876382d2ab13, outHI: 0x0
+sb :: offset: 0xf, out: 0x7e876382d2ab13, outHI: 0x0
+sb :: offset: 0x10, out: 0xf3, outHI: 0x0
+sb :: offset: 0x11, out: 0x10f3, outHI: 0x0
+sb :: offset: 0x12, out: 0x1510f3, outHI: 0x0
+sb :: offset: 0x13, out: 0xc31510f3, outHI: 0x0
+sb :: offset: 0x14, out: 0x9ac31510f3, outHI: 0x0
+sb :: offset: 0x15, out: 0x6e9ac31510f3, outHI: 0x0
+sb :: offset: 0x16, out: 0x6d6e9ac31510f3, outHI: 0x0
+sb :: offset: 0x17, out: 0x976d6e9ac31510f3, outHI: 0x0
+sb :: offset: 0x18, out: 0xfb, outHI: 0x0
+sb :: offset: 0x19, out: 0xa5fb, outHI: 0x0
+sb :: offset: 0x1a, out: 0xd6a5fb, outHI: 0x0
+sb :: offset: 0x1b, out: 0x5ad6a5fb, outHI: 0x0
+sb :: offset: 0x1c, out: 0x775ad6a5fb, outHI: 0x0
+sb :: offset: 0x1d, out: 0x6d775ad6a5fb, outHI: 0x0
+sb :: offset: 0x1e, out: 0x746d775ad6a5fb, outHI: 0x0
+sb :: offset: 0x1f, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sb :: offset: 0x20, out: 0x2, outHI: 0x0
+sb :: offset: 0x21, out: 0xb502, outHI: 0x0
+sb :: offset: 0x22, out: 0x77b502, outHI: 0x0
+sb :: offset: 0x23, out: 0x8677b502, outHI: 0x0
+sb :: offset: 0x24, out: 0xa28677b502, outHI: 0x0
+sb :: offset: 0x25, out: 0xc0a28677b502, outHI: 0x0
+sb :: offset: 0x26, out: 0xb0c0a28677b502, outHI: 0x0
+sb :: offset: 0x27, out: 0x42b0c0a28677b502, outHI: 0x0
+sb :: offset: 0x28, out: 0xad, outHI: 0x0
+sb :: offset: 0x29, out: 0x30ad, outHI: 0x0
+sb :: offset: 0x2a, out: 0x3c30ad, outHI: 0x0
+sb :: offset: 0x2b, out: 0x9e3c30ad, outHI: 0x0
+sb :: offset: 0x2c, out: 0x319e3c30ad, outHI: 0x0
+sb :: offset: 0x2d, out: 0x9d319e3c30ad, outHI: 0x0
+sb :: offset: 0x2e, out: 0xa89d319e3c30ad, outHI: 0x0
+sb :: offset: 0x2f, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sb :: offset: 0x30, out: 0x3d, outHI: 0x0
+sb :: offset: 0x31, out: 0x413d, outHI: 0x0
+sb :: offset: 0x32, out: 0xfb413d, outHI: 0x0
+sb :: offset: 0x33, out: 0x77fb413d, outHI: 0x0
+sb :: offset: 0x34, out: 0xc377fb413d, outHI: 0x0
+sb :: offset: 0x35, out: 0x8ec377fb413d, outHI: 0x0
+sb :: offset: 0x36, out: 0x308ec377fb413d, outHI: 0x0
+sb :: offset: 0x37, out: 0x1f308ec377fb413d, outHI: 0x0
+sb :: offset: 0x38, out: 0xf7, outHI: 0x0
+sb :: offset: 0x39, out: 0xe4f7, outHI: 0x0
+sb :: offset: 0x3a, out: 0x60e4f7, outHI: 0x0
+sb :: offset: 0x3b, out: 0xc760e4f7, outHI: 0x0
+sb :: offset: 0x3c, out: 0x13c760e4f7, outHI: 0x0
+sb :: offset: 0x3d, out: 0x4213c760e4f7, outHI: 0x0
+sb :: offset: 0x3e, out: 0xa04213c760e4f7, outHI: 0x0
+sb :: offset: 0x3f, out: 0x7aa04213c760e4f7, outHI: 0x0
+sb :: offset: 0x40, out: 0xa0, outHI: 0x0
+sb :: offset: 0x41, out: 0xdca0, outHI: 0x0
+sb :: offset: 0x42, out: 0xd8dca0, outHI: 0x0
+sb :: offset: 0x43, out: 0x1ad8dca0, outHI: 0x0
+sb :: offset: 0x44, out: 0xc51ad8dca0, outHI: 0x0
+sb :: offset: 0x45, out: 0x5cc51ad8dca0, outHI: 0x0
+sb :: offset: 0x46, out: 0x705cc51ad8dca0, outHI: 0x0
+sb :: offset: 0x47, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sb :: offset: 0x48, out: 0xd, outHI: 0x0
+sb :: offset: 0x49, out: 0xa60d, outHI: 0x0
+sb :: offset: 0x4a, out: 0x15a60d, outHI: 0x0
+sb :: offset: 0x4b, out: 0x9615a60d, outHI: 0x0
+sb :: offset: 0x4c, out: 0x869615a60d, outHI: 0x0
+sb :: offset: 0x4d, out: 0xda869615a60d, outHI: 0x0
+sb :: offset: 0x4e, out: 0x3dda869615a60d, outHI: 0x0
+sb :: offset: 0x4f, out: 0x4b3dda869615a60d, outHI: 0x0
+sb :: offset: 0x50, out: 0x1d, outHI: 0x0
+sb :: offset: 0x51, out: 0xd41d, outHI: 0x0
+sb :: offset: 0x52, out: 0x53d41d, outHI: 0x0
+sb :: offset: 0x53, out: 0x6353d41d, outHI: 0x0
+sb :: offset: 0x54, out: 0xdd6353d41d, outHI: 0x0
+sb :: offset: 0x55, out: 0xa4dd6353d41d, outHI: 0x0
+sb :: offset: 0x56, out: 0xe7a4dd6353d41d, outHI: 0x0
+sb :: offset: 0x57, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sb :: offset: 0x58, out: 0x13, outHI: 0x0
+sb :: offset: 0x59, out: 0xd413, outHI: 0x0
+sb :: offset: 0x5a, out: 0xbd413, outHI: 0x0
+sb :: offset: 0x5b, out: 0xc40bd413, outHI: 0x0
+sb :: offset: 0x5c, out: 0x9dc40bd413, outHI: 0x0
+sb :: offset: 0x5d, out: 0x5a9dc40bd413, outHI: 0x0
+sb :: offset: 0x5e, out: 0xf35a9dc40bd413, outHI: 0x0
+sb :: offset: 0x5f, out: 0x3af35a9dc40bd413, outHI: 0x0
+sb :: offset: 0x60, out: 0x80, outHI: 0x0
+sb :: offset: 0x61, out: 0xa180, outHI: 0x0
+sb :: offset: 0x62, out: 0x8a180, outHI: 0x0
+sb :: offset: 0x63, out: 0x9a08a180, outHI: 0x0
+sb :: offset: 0x64, out: 0x569a08a180, outHI: 0x0
+sb :: offset: 0x65, out: 0x5569a08a180, outHI: 0x0
+sb :: offset: 0x66, out: 0xf505569a08a180, outHI: 0x0
+sb :: offset: 0x67, out: 0x47f505569a08a180, outHI: 0x0
+sb :: offset: 0x68, out: 0xf, outHI: 0x0
+sb :: offset: 0x69, out: 0x40f, outHI: 0x0
+sb :: offset: 0x6a, out: 0xd2040f, outHI: 0x0
+sb :: offset: 0x6b, out: 0xd6d2040f, outHI: 0x0
+sb :: offset: 0x6c, out: 0x7fd6d2040f, outHI: 0x0
+sb :: offset: 0x6d, out: 0xb77fd6d2040f, outHI: 0x0
+sb :: offset: 0x6e, out: 0x64b77fd6d2040f, outHI: 0x0
+sb :: offset: 0x6f, out: 0x9564b77fd6d2040f, outHI: 0x0
+sb :: offset: 0x70, out: 0xbe, outHI: 0x0
+sb :: offset: 0x71, out: 0x6bbe, outHI: 0x0
+sb :: offset: 0x72, out: 0xc76bbe, outHI: 0x0
+sb :: offset: 0x73, out: 0xb2c76bbe, outHI: 0x0
+sb :: offset: 0x74, out: 0x79b2c76bbe, outHI: 0x0
+sb :: offset: 0x75, out: 0x8279b2c76bbe, outHI: 0x0
+sb :: offset: 0x76, out: 0xbc8279b2c76bbe, outHI: 0x0
+sb :: offset: 0x77, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sb :: offset: 0x78, out: 0xc7, outHI: 0x0
+sb :: offset: 0x79, out: 0xe4c7, outHI: 0x0
+sb :: offset: 0x7a, out: 0x18e4c7, outHI: 0x0
+sb :: offset: 0x7b, out: 0x1f18e4c7, outHI: 0x0
+sb :: offset: 0x7c, out: 0x2f1f18e4c7, outHI: 0x0
+sb :: offset: 0x7d, out: 0x4c2f1f18e4c7, outHI: 0x0
+sb :: offset: 0x7e, out: 0x34c2f1f18e4c7, outHI: 0x0
+sb :: offset: 0x7f, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sb :: offset: 0x80, out: 0x97, outHI: 0x0
+sb :: offset: 0x81, out: 0xa797, outHI: 0x0
+sb :: offset: 0x82, out: 0xafa797, outHI: 0x0
+sb :: offset: 0x83, out: 0x81afa797, outHI: 0x0
+sb :: offset: 0x84, out: 0xfc81afa797, outHI: 0x0
+sb :: offset: 0x85, out: 0x52fc81afa797, outHI: 0x0
+sb :: offset: 0x86, out: 0xff52fc81afa797, outHI: 0x0
+sb :: offset: 0x87, out: 0x94ff52fc81afa797, outHI: 0x0
+sb :: offset: 0x88, out: 0xea, outHI: 0x0
+sb :: offset: 0x89, out: 0x50ea, outHI: 0x0
+sb :: offset: 0x8a, out: 0xfc50ea, outHI: 0x0
+sb :: offset: 0x8b, out: 0x6dfc50ea, outHI: 0x0
+sb :: offset: 0x8c, out: 0x166dfc50ea, outHI: 0x0
+sb :: offset: 0x8d, out: 0xd9166dfc50ea, outHI: 0x0
+sb :: offset: 0x8e, out: 0xd8d9166dfc50ea, outHI: 0x0
+sb :: offset: 0x8f, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sb :: offset: 0x90, out: 0xb1, outHI: 0x0
+sb :: offset: 0x91, out: 0x95b1, outHI: 0x0
+sb :: offset: 0x92, out: 0xe895b1, outHI: 0x0
+sb :: offset: 0x93, out: 0x78e895b1, outHI: 0x0
+sb :: offset: 0x94, out: 0xd678e895b1, outHI: 0x0
+sb :: offset: 0x95, out: 0x9bd678e895b1, outHI: 0x0
+sb :: offset: 0x96, out: 0x549bd678e895b1, outHI: 0x0
+sb :: offset: 0x97, out: 0x36549bd678e895b1, outHI: 0x0
+sb :: offset: 0x98, out: 0x9b, outHI: 0x0
+sb :: offset: 0x99, out: 0x259b, outHI: 0x0
+sb :: offset: 0x9a, out: 0x63259b, outHI: 0x0
+sb :: offset: 0x9b, out: 0x9b63259b, outHI: 0x0
+sb :: offset: 0x9c, out: 0x319b63259b, outHI: 0x0
+sb :: offset: 0x9d, out: 0xa6319b63259b, outHI: 0x0
+sb :: offset: 0x9e, out: 0xe0a6319b63259b, outHI: 0x0
+sb :: offset: 0x9f, out: 0x85e0a6319b63259b, outHI: 0x0
+sb :: offset: 0xa0, out: 0xc5, outHI: 0x0
+sb :: offset: 0xa1, out: 0x7ac5, outHI: 0x0
+sb :: offset: 0xa2, out: 0xf17ac5, outHI: 0x0
+sb :: offset: 0xa3, out: 0xccf17ac5, outHI: 0x0
+sb :: offset: 0xa4, out: 0xcaccf17ac5, outHI: 0x0
+sb :: offset: 0xa5, out: 0x3ecaccf17ac5, outHI: 0x0
+sb :: offset: 0xa6, out: 0x6b3ecaccf17ac5, outHI: 0x0
+sb :: offset: 0xa7, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sb :: offset: 0xa8, out: 0xfb, outHI: 0x0
+sb :: offset: 0xa9, out: 0xa0fb, outHI: 0x0
+sb :: offset: 0xaa, out: 0xeea0fb, outHI: 0x0
+sb :: offset: 0xab, out: 0x81eea0fb, outHI: 0x0
+sb :: offset: 0xac, out: 0xc581eea0fb, outHI: 0x0
+sb :: offset: 0xad, out: 0x5fc581eea0fb, outHI: 0x0
+sb :: offset: 0xae, out: 0x2f5fc581eea0fb, outHI: 0x0
+sb :: offset: 0xaf, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sb :: offset: 0xb0, out: 0x97, outHI: 0x0
+sb :: offset: 0xb1, out: 0x2d97, outHI: 0x0
+sb :: offset: 0xb2, out: 0x682d97, outHI: 0x0
+sb :: offset: 0xb3, out: 0x14682d97, outHI: 0x0
+sb :: offset: 0xb4, out: 0xec14682d97, outHI: 0x0
+sb :: offset: 0xb5, out: 0xfec14682d97, outHI: 0x0
+sb :: offset: 0xb6, out: 0xb50fec14682d97, outHI: 0x0
+sb :: offset: 0xb7, out: 0x25b50fec14682d97, outHI: 0x0
+sb :: offset: 0xb8, out: 0x7a, outHI: 0x0
+sb :: offset: 0xb9, out: 0x87a, outHI: 0x0
+sb :: offset: 0xba, out: 0xfb087a, outHI: 0x0
+sb :: offset: 0xbb, out: 0x2cfb087a, outHI: 0x0
+sb :: offset: 0xbc, out: 0x132cfb087a, outHI: 0x0
+sb :: offset: 0xbd, out: 0xc5132cfb087a, outHI: 0x0
+sb :: offset: 0xbe, out: 0x93c5132cfb087a, outHI: 0x0
+sb :: offset: 0xbf, out: 0xfc93c5132cfb087a, outHI: 0x0
+sb :: offset: 0xc0, out: 0x66, outHI: 0x0
+sb :: offset: 0xc1, out: 0x766, outHI: 0x0
+sb :: offset: 0xc2, out: 0xa20766, outHI: 0x0
+sb :: offset: 0xc3, out: 0xcda20766, outHI: 0x0
+sb :: offset: 0xc4, out: 0xa9cda20766, outHI: 0x0
+sb :: offset: 0xc5, out: 0xd9a9cda20766, outHI: 0x0
+sb :: offset: 0xc6, out: 0x2cd9a9cda20766, outHI: 0x0
+sb :: offset: 0xc7, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sb :: offset: 0xc8, out: 0x3e, outHI: 0x0
+sb :: offset: 0xc9, out: 0xda3e, outHI: 0x0
+sb :: offset: 0xca, out: 0x72da3e, outHI: 0x0
+sb :: offset: 0xcb, out: 0x7d72da3e, outHI: 0x0
+sb :: offset: 0xcc, out: 0x2a7d72da3e, outHI: 0x0
+sb :: offset: 0xcd, out: 0x722a7d72da3e, outHI: 0x0
+sb :: offset: 0xce, out: 0x91722a7d72da3e, outHI: 0x0
+sb :: offset: 0xcf, out: 0x1791722a7d72da3e, outHI: 0x0
+sb :: offset: 0xd0, out: 0xad, outHI: 0x0
+sb :: offset: 0xd1, out: 0x24ad, outHI: 0x0
+sb :: offset: 0xd2, out: 0xce24ad, outHI: 0x0
+sb :: offset: 0xd3, out: 0x93ce24ad, outHI: 0x0
+sb :: offset: 0xd4, out: 0xd193ce24ad, outHI: 0x0
+sb :: offset: 0xd5, out: 0xc9d193ce24ad, outHI: 0x0
+sb :: offset: 0xd6, out: 0x7cc9d193ce24ad, outHI: 0x0
+sb :: offset: 0xd7, out: 0x87cc9d193ce24ad, outHI: 0x0
+sb :: offset: 0xd8, out: 0xd2, outHI: 0x0
+sb :: offset: 0xd9, out: 0x4ed2, outHI: 0x0
+sb :: offset: 0xda, out: 0x984ed2, outHI: 0x0
+sb :: offset: 0xdb, out: 0x38984ed2, outHI: 0x0
+sb :: offset: 0xdc, out: 0x7038984ed2, outHI: 0x0
+sb :: offset: 0xdd, out: 0x757038984ed2, outHI: 0x0
+sb :: offset: 0xde, out: 0x2a757038984ed2, outHI: 0x0
+sb :: offset: 0xdf, out: 0x1d2a757038984ed2, outHI: 0x0
+sb :: offset: 0xe0, out: 0x36, outHI: 0x0
+sb :: offset: 0xe1, out: 0xd036, outHI: 0x0
+sb :: offset: 0xe2, out: 0xcd036, outHI: 0x0
+sb :: offset: 0xe3, out: 0x710cd036, outHI: 0x0
+sb :: offset: 0xe4, out: 0xdb710cd036, outHI: 0x0
+sb :: offset: 0xe5, out: 0x70db710cd036, outHI: 0x0
+sb :: offset: 0xe6, out: 0xd070db710cd036, outHI: 0x0
+sb :: offset: 0xe7, out: 0xd0d070db710cd036, outHI: 0x0
+sb :: offset: 0xe8, out: 0x4, outHI: 0x0
+sb :: offset: 0xe9, out: 0x5604, outHI: 0x0
+sb :: offset: 0xea, out: 0x415604, outHI: 0x0
+sb :: offset: 0xeb, out: 0x3415604, outHI: 0x0
+sb :: offset: 0xec, out: 0x7d03415604, outHI: 0x0
+sb :: offset: 0xed, out: 0x1c7d03415604, outHI: 0x0
+sb :: offset: 0xee, out: 0xc21c7d03415604, outHI: 0x0
+sb :: offset: 0xef, out: 0x39c21c7d03415604, outHI: 0x0
+sb :: offset: 0xf0, out: 0xce, outHI: 0x0
+sb :: offset: 0xf1, out: 0x31ce, outHI: 0x0
+sb :: offset: 0xf2, out: 0xcc31ce, outHI: 0x0
+sb :: offset: 0xf3, out: 0x8ecc31ce, outHI: 0x0
+sb :: offset: 0xf4, out: 0xaf8ecc31ce, outHI: 0x0
+sb :: offset: 0xf5, out: 0xb7af8ecc31ce, outHI: 0x0
+sb :: offset: 0xf6, out: 0x94b7af8ecc31ce, outHI: 0x0
+sb :: offset: 0xf7, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sb :: offset: 0xf8, out: 0x4f, outHI: 0x0
+sb :: offset: 0xf9, out: 0x674f, outHI: 0x0
+sb :: offset: 0xfa, out: 0xe7674f, outHI: 0x0
+sb :: offset: 0xfb, out: 0x1ce7674f, outHI: 0x0
+sb :: offset: 0xfc, out: 0x8d1ce7674f, outHI: 0x0
+sb :: offset: 0xfd, out: 0x6a8d1ce7674f, outHI: 0x0
+sb :: offset: 0xfe, out: 0xeb6a8d1ce7674f, outHI: 0x0
+sb :: offset: 0xff, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sb :: offset: 0x100, out: 0xa7, outHI: 0x0
+sb :: offset: 0x101, out: 0xe4a7, outHI: 0x0
+sb :: offset: 0x102, out: 0xd6e4a7, outHI: 0x0
+sb :: offset: 0x103, out: 0x12d6e4a7, outHI: 0x0
+sb :: offset: 0x104, out: 0x4412d6e4a7, outHI: 0x0
+sb :: offset: 0x105, out: 0x454412d6e4a7, outHI: 0x0
+sb :: offset: 0x106, out: 0x39454412d6e4a7, outHI: 0x0
+sb :: offset: 0x107, out: 0x2f39454412d6e4a7, outHI: 0x0
+sb :: offset: 0x108, out: 0x54, outHI: 0x0
+sb :: offset: 0x109, out: 0x4c54, outHI: 0x0
+sb :: offset: 0x10a, out: 0xda4c54, outHI: 0x0
+sb :: offset: 0x10b, out: 0x56da4c54, outHI: 0x0
+sb :: offset: 0x10c, out: 0xb756da4c54, outHI: 0x0
+sb :: offset: 0x10d, out: 0xc2b756da4c54, outHI: 0x0
+sb :: offset: 0x10e, out: 0x8c2b756da4c54, outHI: 0x0
+sb :: offset: 0x10f, out: 0x2608c2b756da4c54, outHI: 0x0
+sb :: offset: 0x110, out: 0x2f, outHI: 0x0
+sb :: offset: 0x111, out: 0x252f, outHI: 0x0
+sb :: offset: 0x112, out: 0xd7252f, outHI: 0x0
+sb :: offset: 0x113, out: 0xc8d7252f, outHI: 0x0
+sb :: offset: 0x114, out: 0xdac8d7252f, outHI: 0x0
+sb :: offset: 0x115, out: 0x2dac8d7252f, outHI: 0x0
+sb :: offset: 0x116, out: 0x102dac8d7252f, outHI: 0x0
+sb :: offset: 0x117, out: 0x900102dac8d7252f, outHI: 0x0
+sb :: offset: 0x118, out: 0xf7, outHI: 0x0
+sb :: offset: 0x119, out: 0xa4f7, outHI: 0x0
+sb :: offset: 0x11a, out: 0xefa4f7, outHI: 0x0
+sb :: offset: 0x11b, out: 0xf2efa4f7, outHI: 0x0
+sb :: offset: 0x11c, out: 0xf1f2efa4f7, outHI: 0x0
+sb :: offset: 0x11d, out: 0xd5f1f2efa4f7, outHI: 0x0
+sb :: offset: 0x11e, out: 0x90d5f1f2efa4f7, outHI: 0x0
+sb :: offset: 0x11f, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sb :: offset: 0x120, out: 0x14, outHI: 0x0
+sb :: offset: 0x121, out: 0xa214, outHI: 0x0
+sb :: offset: 0x122, out: 0xb0a214, outHI: 0x0
+sb :: offset: 0x123, out: 0xc8b0a214, outHI: 0x0
+sb :: offset: 0x124, out: 0xcbc8b0a214, outHI: 0x0
+sb :: offset: 0x125, out: 0x5cbc8b0a214, outHI: 0x0
+sb :: offset: 0x126, out: 0x5005cbc8b0a214, outHI: 0x0
+sb :: offset: 0x127, out: 0xed5005cbc8b0a214, outHI: 0x0
+sb :: offset: 0x128, out: 0x6c, outHI: 0x0
+sb :: offset: 0x129, out: 0x136c, outHI: 0x0
+sb :: offset: 0x12a, out: 0x91136c, outHI: 0x0
+sb :: offset: 0x12b, out: 0x5991136c, outHI: 0x0
+sb :: offset: 0x12c, out: 0x895991136c, outHI: 0x0
+sb :: offset: 0x12d, out: 0x91895991136c, outHI: 0x0
+sb :: offset: 0x12e, out: 0x4791895991136c, outHI: 0x0
+sb :: offset: 0x12f, out: 0x314791895991136c, outHI: 0x0
+sb :: offset: 0x130, out: 0xf3, outHI: 0x0
+sb :: offset: 0x131, out: 0xb6f3, outHI: 0x0
+sb :: offset: 0x132, out: 0x2fb6f3, outHI: 0x0
+sb :: offset: 0x133, out: 0x9a2fb6f3, outHI: 0x0
+sb :: offset: 0x134, out: 0xf99a2fb6f3, outHI: 0x0
+sb :: offset: 0x135, out: 0xcff99a2fb6f3, outHI: 0x0
+sb :: offset: 0x136, out: 0xeecff99a2fb6f3, outHI: 0x0
+sb :: offset: 0x137, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sb :: offset: 0x138, out: 0x70, outHI: 0x0
+sb :: offset: 0x139, out: 0x5270, outHI: 0x0
+sb :: offset: 0x13a, out: 0x895270, outHI: 0x0
+sb :: offset: 0x13b, out: 0x38895270, outHI: 0x0
+sb :: offset: 0x13c, out: 0x1238895270, outHI: 0x0
+sb :: offset: 0x13d, out: 0x521238895270, outHI: 0x0
+sb :: offset: 0x13e, out: 0x9521238895270, outHI: 0x0
+sb :: offset: 0x13f, out: 0xa809521238895270, outHI: 0x0
+sb :: offset: 0x140, out: 0x40, outHI: 0x0
+sb :: offset: 0x141, out: 0x5040, outHI: 0x0
+sb :: offset: 0x142, out: 0x765040, outHI: 0x0
+sb :: offset: 0x143, out: 0xad765040, outHI: 0x0
+sb :: offset: 0x144, out: 0x4ad765040, outHI: 0x0
+sb :: offset: 0x145, out: 0xa04ad765040, outHI: 0x0
+sb :: offset: 0x146, out: 0x750a04ad765040, outHI: 0x0
+sb :: offset: 0x147, out: 0x87750a04ad765040, outHI: 0x0
+sb :: offset: 0x148, out: 0x83, outHI: 0x0
+sb :: offset: 0x149, out: 0x5a83, outHI: 0x0
+sb :: offset: 0x14a, out: 0xbb5a83, outHI: 0x0
+sb :: offset: 0x14b, out: 0x84bb5a83, outHI: 0x0
+sb :: offset: 0x14c, out: 0x5e84bb5a83, outHI: 0x0
+sb :: offset: 0x14d, out: 0xe85e84bb5a83, outHI: 0x0
+sb :: offset: 0x14e, out: 0x3de85e84bb5a83, outHI: 0x0
+sb :: offset: 0x14f, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sb :: offset: 0x150, out: 0x67, outHI: 0x0
+sb :: offset: 0x151, out: 0xaa67, outHI: 0x0
+sb :: offset: 0x152, out: 0x6aa67, outHI: 0x0
+sb :: offset: 0x153, out: 0xc506aa67, outHI: 0x0
+sb :: offset: 0x154, out: 0x8fc506aa67, outHI: 0x0
+sb :: offset: 0x155, out: 0xff8fc506aa67, outHI: 0x0
+sb :: offset: 0x156, out: 0x6aff8fc506aa67, outHI: 0x0
+sb :: offset: 0x157, out: 0xae6aff8fc506aa67, outHI: 0x0
+sb :: offset: 0x158, out: 0xe3, outHI: 0x0
+sb :: offset: 0x159, out: 0x5ee3, outHI: 0x0
+sb :: offset: 0x15a, out: 0xed5ee3, outHI: 0x0
+sb :: offset: 0x15b, out: 0x60ed5ee3, outHI: 0x0
+sb :: offset: 0x15c, out: 0xdd60ed5ee3, outHI: 0x0
+sb :: offset: 0x15d, out: 0x12dd60ed5ee3, outHI: 0x0
+sb :: offset: 0x15e, out: 0x7112dd60ed5ee3, outHI: 0x0
+sb :: offset: 0x15f, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sb :: offset: 0x160, out: 0x5a, outHI: 0x0
+sb :: offset: 0x161, out: 0xca5a, outHI: 0x0
+sb :: offset: 0x162, out: 0xdcca5a, outHI: 0x0
+sb :: offset: 0x163, out: 0x30dcca5a, outHI: 0x0
+sb :: offset: 0x164, out: 0xf630dcca5a, outHI: 0x0
+sb :: offset: 0x165, out: 0x70f630dcca5a, outHI: 0x0
+sb :: offset: 0x166, out: 0xc770f630dcca5a, outHI: 0x0
+sb :: offset: 0x167, out: 0xc4c770f630dcca5a, outHI: 0x0
+sb :: offset: 0x168, out: 0x77, outHI: 0x0
+sb :: offset: 0x169, out: 0x5277, outHI: 0x0
+sb :: offset: 0x16a, out: 0xcd5277, outHI: 0x0
+sb :: offset: 0x16b, out: 0x83cd5277, outHI: 0x0
+sb :: offset: 0x16c, out: 0x2383cd5277, outHI: 0x0
+sb :: offset: 0x16d, out: 0x2b2383cd5277, outHI: 0x0
+sb :: offset: 0x16e, out: 0xec2b2383cd5277, outHI: 0x0
+sb :: offset: 0x16f, out: 0xdfec2b2383cd5277, outHI: 0x0
+sb :: offset: 0x170, out: 0x6b, outHI: 0x0
+sb :: offset: 0x171, out: 0xd96b, outHI: 0x0
+sb :: offset: 0x172, out: 0xf7d96b, outHI: 0x0
+sb :: offset: 0x173, out: 0xff7d96b, outHI: 0x0
+sb :: offset: 0x174, out: 0x260ff7d96b, outHI: 0x0
+sb :: offset: 0x175, out: 0xba260ff7d96b, outHI: 0x0
+sb :: offset: 0x176, out: 0xadba260ff7d96b, outHI: 0x0
+sb :: offset: 0x177, out: 0xd3adba260ff7d96b, outHI: 0x0
+sb :: offset: 0x178, out: 0xe, outHI: 0x0
+sb :: offset: 0x179, out: 0xc00e, outHI: 0x0
+sb :: offset: 0x17a, out: 0x18c00e, outHI: 0x0
+sb :: offset: 0x17b, out: 0x8418c00e, outHI: 0x0
+sb :: offset: 0x17c, out: 0x798418c00e, outHI: 0x0
+sb :: offset: 0x17d, out: 0xaa798418c00e, outHI: 0x0
+sb :: offset: 0x17e, out: 0xb4aa798418c00e, outHI: 0x0
+sb :: offset: 0x17f, out: 0x4ab4aa798418c00e, outHI: 0x0
+sb :: offset: 0x180, out: 0xb8, outHI: 0x0
+sb :: offset: 0x181, out: 0xf0b8, outHI: 0x0
+sb :: offset: 0x182, out: 0xe0f0b8, outHI: 0x0
+sb :: offset: 0x183, out: 0xde0f0b8, outHI: 0x0
+sb :: offset: 0x184, out: 0x5e0de0f0b8, outHI: 0x0
+sb :: offset: 0x185, out: 0x35e0de0f0b8, outHI: 0x0
+sb :: offset: 0x186, out: 0x8c035e0de0f0b8, outHI: 0x0
+sb :: offset: 0x187, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sb :: offset: 0x188, out: 0xf1, outHI: 0x0
+sb :: offset: 0x189, out: 0xdcf1, outHI: 0x0
+sb :: offset: 0x18a, out: 0x7fdcf1, outHI: 0x0
+sb :: offset: 0x18b, out: 0xa97fdcf1, outHI: 0x0
+sb :: offset: 0x18c, out: 0x54a97fdcf1, outHI: 0x0
+sb :: offset: 0x18d, out: 0x6f54a97fdcf1, outHI: 0x0
+sb :: offset: 0x18e, out: 0xb06f54a97fdcf1, outHI: 0x0
+sb :: offset: 0x18f, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sb :: offset: 0x190, out: 0x81, outHI: 0x0
+sb :: offset: 0x191, out: 0xc081, outHI: 0x0
+sb :: offset: 0x192, out: 0xd1c081, outHI: 0x0
+sb :: offset: 0x193, out: 0x3fd1c081, outHI: 0x0
+sb :: offset: 0x194, out: 0x373fd1c081, outHI: 0x0
+sb :: offset: 0x195, out: 0x3f373fd1c081, outHI: 0x0
+sb :: offset: 0x196, out: 0x433f373fd1c081, outHI: 0x0
+sb :: offset: 0x197, out: 0x77433f373fd1c081, outHI: 0x0
+sb :: offset: 0x198, out: 0xe4, outHI: 0x0
+sb :: offset: 0x199, out: 0x95e4, outHI: 0x0
+sb :: offset: 0x19a, out: 0x2195e4, outHI: 0x0
+sb :: offset: 0x19b, out: 0xc92195e4, outHI: 0x0
+sb :: offset: 0x19c, out: 0x93c92195e4, outHI: 0x0
+sb :: offset: 0x19d, out: 0xd993c92195e4, outHI: 0x0
+sb :: offset: 0x19e, out: 0x91d993c92195e4, outHI: 0x0
+sb :: offset: 0x19f, out: 0xec91d993c92195e4, outHI: 0x0
+sb :: offset: 0x1a0, out: 0xab, outHI: 0x0
+sb :: offset: 0x1a1, out: 0xa5ab, outHI: 0x0
+sb :: offset: 0x1a2, out: 0xb1a5ab, outHI: 0x0
+sb :: offset: 0x1a3, out: 0x95b1a5ab, outHI: 0x0
+sb :: offset: 0x1a4, out: 0xa795b1a5ab, outHI: 0x0
+sb :: offset: 0x1a5, out: 0xf6a795b1a5ab, outHI: 0x0
+sb :: offset: 0x1a6, out: 0xfbf6a795b1a5ab, outHI: 0x0
+sb :: offset: 0x1a7, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sb :: offset: 0x1a8, out: 0x1e, outHI: 0x0
+sb :: offset: 0x1a9, out: 0x8d1e, outHI: 0x0
+sb :: offset: 0x1aa, out: 0xce8d1e, outHI: 0x0
+sb :: offset: 0x1ab, out: 0xc7ce8d1e, outHI: 0x0
+sb :: offset: 0x1ac, out: 0x78c7ce8d1e, outHI: 0x0
+sb :: offset: 0x1ad, out: 0x4378c7ce8d1e, outHI: 0x0
+sb :: offset: 0x1ae, out: 0x364378c7ce8d1e, outHI: 0x0
+sb :: offset: 0x1af, out: 0x19364378c7ce8d1e, outHI: 0x0
+sb :: offset: 0x1b0, out: 0x7, outHI: 0x0
+sb :: offset: 0x1b1, out: 0x4907, outHI: 0x0
+sb :: offset: 0x1b2, out: 0x384907, outHI: 0x0
+sb :: offset: 0x1b3, out: 0x2f384907, outHI: 0x0
+sb :: offset: 0x1b4, out: 0xef2f384907, outHI: 0x0
+sb :: offset: 0x1b5, out: 0x8def2f384907, outHI: 0x0
+sb :: offset: 0x1b6, out: 0x9e8def2f384907, outHI: 0x0
+sb :: offset: 0x1b7, out: 0xb99e8def2f384907, outHI: 0x0
+sb :: offset: 0x1b8, out: 0xfe, outHI: 0x0
+sb :: offset: 0x1b9, out: 0x12fe, outHI: 0x0
+sb :: offset: 0x1ba, out: 0x2b12fe, outHI: 0x0
+sb :: offset: 0x1bb, out: 0x582b12fe, outHI: 0x0
+sb :: offset: 0x1bc, out: 0xcd582b12fe, outHI: 0x0
+sb :: offset: 0x1bd, out: 0xcdcd582b12fe, outHI: 0x0
+sb :: offset: 0x1be, out: 0xeacdcd582b12fe, outHI: 0x0
+sb :: offset: 0x1bf, out: 0x47eacdcd582b12fe, outHI: 0x0
+sb :: offset: 0x1c0, out: 0x4f, outHI: 0x0
+sb :: offset: 0x1c1, out: 0x8c4f, outHI: 0x0
+sb :: offset: 0x1c2, out: 0x558c4f, outHI: 0x0
+sb :: offset: 0x1c3, out: 0x76558c4f, outHI: 0x0
+sb :: offset: 0x1c4, out: 0x4e76558c4f, outHI: 0x0
+sb :: offset: 0x1c5, out: 0x884e76558c4f, outHI: 0x0
+sb :: offset: 0x1c6, out: 0x85884e76558c4f, outHI: 0x0
+sb :: offset: 0x1c7, out: 0xd685884e76558c4f, outHI: 0x0
+sb :: offset: 0x1c8, out: 0xc7, outHI: 0x0
+sb :: offset: 0x1c9, out: 0x95c7, outHI: 0x0
+sb :: offset: 0x1ca, out: 0xc195c7, outHI: 0x0
+sb :: offset: 0x1cb, out: 0x34c195c7, outHI: 0x0
+sb :: offset: 0x1cc, out: 0x2a34c195c7, outHI: 0x0
+sb :: offset: 0x1cd, out: 0xd62a34c195c7, outHI: 0x0
+sb :: offset: 0x1ce, out: 0x68d62a34c195c7, outHI: 0x0
+sb :: offset: 0x1cf, out: 0x6168d62a34c195c7, outHI: 0x0
+sb :: offset: 0x1d0, out: 0x5, outHI: 0x0
+sb :: offset: 0x1d1, out: 0x7405, outHI: 0x0
+sb :: offset: 0x1d2, out: 0xf47405, outHI: 0x0
+sb :: offset: 0x1d3, out: 0x4df47405, outHI: 0x0
+sb :: offset: 0x1d4, out: 0x894df47405, outHI: 0x0
+sb :: offset: 0x1d5, out: 0x69894df47405, outHI: 0x0
+sb :: offset: 0x1d6, out: 0x169894df47405, outHI: 0x0
+sb :: offset: 0x1d7, out: 0xd30169894df47405, outHI: 0x0
+sb :: offset: 0x1d8, out: 0xdb, outHI: 0x0
+sb :: offset: 0x1d9, out: 0x6db, outHI: 0x0
+sb :: offset: 0x1da, out: 0xbb06db, outHI: 0x0
+sb :: offset: 0x1db, out: 0x6cbb06db, outHI: 0x0
+sb :: offset: 0x1dc, out: 0xbf6cbb06db, outHI: 0x0
+sb :: offset: 0x1dd, out: 0x90bf6cbb06db, outHI: 0x0
+sb :: offset: 0x1de, out: 0xa190bf6cbb06db, outHI: 0x0
+sb :: offset: 0x1df, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sb :: offset: 0x1e0, out: 0x3a, outHI: 0x0
+sb :: offset: 0x1e1, out: 0x393a, outHI: 0x0
+sb :: offset: 0x1e2, out: 0xae393a, outHI: 0x0
+sb :: offset: 0x1e3, out: 0x9cae393a, outHI: 0x0
+sb :: offset: 0x1e4, out: 0x29cae393a, outHI: 0x0
+sb :: offset: 0x1e5, out: 0xf029cae393a, outHI: 0x0
+sb :: offset: 0x1e6, out: 0x300f029cae393a, outHI: 0x0
+sb :: offset: 0x1e7, out: 0x58300f029cae393a, outHI: 0x0
+sb :: offset: 0x1e8, out: 0x2d, outHI: 0x0
+sb :: offset: 0x1e9, out: 0xbc2d, outHI: 0x0
+sb :: offset: 0x1ea, out: 0x7ebc2d, outHI: 0x0
+sb :: offset: 0x1eb, out: 0xdc7ebc2d, outHI: 0x0
+sb :: offset: 0x1ec, out: 0xdbdc7ebc2d, outHI: 0x0
+sb :: offset: 0x1ed, out: 0x5fdbdc7ebc2d, outHI: 0x0
+sb :: offset: 0x1ee, out: 0x995fdbdc7ebc2d, outHI: 0x0
+sb :: offset: 0x1ef, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sb :: offset: 0x1f0, out: 0x48, outHI: 0x0
+sb :: offset: 0x1f1, out: 0x5b48, outHI: 0x0
+sb :: offset: 0x1f2, out: 0x405b48, outHI: 0x0
+sb :: offset: 0x1f3, out: 0xe3405b48, outHI: 0x0
+sb :: offset: 0x1f4, out: 0x7be3405b48, outHI: 0x0
+sb :: offset: 0x1f5, out: 0x47be3405b48, outHI: 0x0
+sb :: offset: 0x1f6, out: 0x96047be3405b48, outHI: 0x0
+sb :: offset: 0x1f7, out: 0x8a96047be3405b48, outHI: 0x0
+sb :: offset: 0x1f8, out: 0x22, outHI: 0x0
+sb :: offset: 0x1f9, out: 0xd322, outHI: 0x0
+sb :: offset: 0x1fa, out: 0x19d322, outHI: 0x0
+sb :: offset: 0x1fb, out: 0xd519d322, outHI: 0x0
+sb :: offset: 0x1fc, out: 0xd2d519d322, outHI: 0x0
+sb :: offset: 0x1fd, out: 0xafd2d519d322, outHI: 0x0
+sb :: offset: 0x1fe, out: 0xbfafd2d519d322, outHI: 0x0
+sb :: offset: 0x1ff, out: 0x75bfafd2d519d322, outHI: 0x0
+sb :: offset: 0x200, out: 0xad, outHI: 0x0
+sb :: offset: 0x201, out: 0xf6ad, outHI: 0x0
+sb :: offset: 0x202, out: 0x30f6ad, outHI: 0x0
+sb :: offset: 0x203, out: 0xa630f6ad, outHI: 0x0
+sb :: offset: 0x204, out: 0x67a630f6ad, outHI: 0x0
+sb :: offset: 0x205, out: 0x867a630f6ad, outHI: 0x0
+sb :: offset: 0x206, out: 0x230867a630f6ad, outHI: 0x0
+sb :: offset: 0x207, out: 0xde230867a630f6ad, outHI: 0x0
+sb :: offset: 0x208, out: 0x60, outHI: 0x0
+sb :: offset: 0x209, out: 0x3260, outHI: 0x0
+sb :: offset: 0x20a, out: 0x103260, outHI: 0x0
+sb :: offset: 0x20b, out: 0x56103260, outHI: 0x0
+sb :: offset: 0x20c, out: 0xf256103260, outHI: 0x0
+sb :: offset: 0x20d, out: 0xcf256103260, outHI: 0x0
+sb :: offset: 0x20e, out: 0xa0cf256103260, outHI: 0x0
+sb :: offset: 0x20f, out: 0x2c0a0cf256103260, outHI: 0x0
+sb :: offset: 0x210, out: 0xef, outHI: 0x0
+sb :: offset: 0x211, out: 0x18ef, outHI: 0x0
+sb :: offset: 0x212, out: 0x9b18ef, outHI: 0x0
+sb :: offset: 0x213, out: 0x249b18ef, outHI: 0x0
+sb :: offset: 0x214, out: 0x44249b18ef, outHI: 0x0
+sb :: offset: 0x215, out: 0x544249b18ef, outHI: 0x0
+sb :: offset: 0x216, out: 0xa90544249b18ef, outHI: 0x0
+sb :: offset: 0x217, out: 0x94a90544249b18ef, outHI: 0x0
+sb :: offset: 0x218, out: 0xde, outHI: 0x0
+sb :: offset: 0x219, out: 0xfcde, outHI: 0x0
+sb :: offset: 0x21a, out: 0x56fcde, outHI: 0x0
+sb :: offset: 0x21b, out: 0x5b56fcde, outHI: 0x0
+sb :: offset: 0x21c, out: 0xb55b56fcde, outHI: 0x0
+sb :: offset: 0x21d, out: 0x9fb55b56fcde, outHI: 0x0
+sb :: offset: 0x21e, out: 0x519fb55b56fcde, outHI: 0x0
+sb :: offset: 0x21f, out: 0xf9519fb55b56fcde, outHI: 0x0
+sb :: offset: 0x220, out: 0x9b, outHI: 0x0
+sb :: offset: 0x221, out: 0x319b, outHI: 0x0
+sb :: offset: 0x222, out: 0x68319b, outHI: 0x0
+sb :: offset: 0x223, out: 0x468319b, outHI: 0x0
+sb :: offset: 0x224, out: 0x200468319b, outHI: 0x0
+sb :: offset: 0x225, out: 0xf8200468319b, outHI: 0x0
+sb :: offset: 0x226, out: 0xdaf8200468319b, outHI: 0x0
+sb :: offset: 0x227, out: 0x81daf8200468319b, outHI: 0x0
+sb :: offset: 0x228, out: 0xec, outHI: 0x0
+sb :: offset: 0x229, out: 0xf2ec, outHI: 0x0
+sb :: offset: 0x22a, out: 0x25f2ec, outHI: 0x0
+sb :: offset: 0x22b, out: 0x5725f2ec, outHI: 0x0
+sb :: offset: 0x22c, out: 0x5a5725f2ec, outHI: 0x0
+sb :: offset: 0x22d, out: 0xca5a5725f2ec, outHI: 0x0
+sb :: offset: 0x22e, out: 0x61ca5a5725f2ec, outHI: 0x0
+sb :: offset: 0x22f, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sb :: offset: 0x230, out: 0xbf, outHI: 0x0
+sb :: offset: 0x231, out: 0xc8bf, outHI: 0x0
+sb :: offset: 0x232, out: 0x5dc8bf, outHI: 0x0
+sb :: offset: 0x233, out: 0xc25dc8bf, outHI: 0x0
+sb :: offset: 0x234, out: 0xddc25dc8bf, outHI: 0x0
+sb :: offset: 0x235, out: 0xa6ddc25dc8bf, outHI: 0x0
+sb :: offset: 0x236, out: 0x95a6ddc25dc8bf, outHI: 0x0
+sb :: offset: 0x237, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sb :: offset: 0x238, out: 0x2f, outHI: 0x0
+sb :: offset: 0x239, out: 0x162f, outHI: 0x0
+sb :: offset: 0x23a, out: 0xc6162f, outHI: 0x0
+sb :: offset: 0x23b, out: 0xdac6162f, outHI: 0x0
+sb :: offset: 0x23c, out: 0x51dac6162f, outHI: 0x0
+sb :: offset: 0x23d, out: 0xe751dac6162f, outHI: 0x0
+sb :: offset: 0x23e, out: 0xce751dac6162f, outHI: 0x0
+sb :: offset: 0x23f, out: 0x300ce751dac6162f, outHI: 0x0
+sb :: offset: 0x240, out: 0x50, outHI: 0x0
+sb :: offset: 0x241, out: 0xa850, outHI: 0x0
+sb :: offset: 0x242, out: 0x52a850, outHI: 0x0
+sb :: offset: 0x243, out: 0xba52a850, outHI: 0x0
+sb :: offset: 0x244, out: 0xf3ba52a850, outHI: 0x0
+sb :: offset: 0x245, out: 0xfdf3ba52a850, outHI: 0x0
+sb :: offset: 0x246, out: 0x78fdf3ba52a850, outHI: 0x0
+sb :: offset: 0x247, out: 0x6778fdf3ba52a850, outHI: 0x0
+sb :: offset: 0x248, out: 0x9f, outHI: 0x0
+sb :: offset: 0x249, out: 0x479f, outHI: 0x0
+sb :: offset: 0x24a, out: 0x78479f, outHI: 0x0
+sb :: offset: 0x24b, out: 0xda78479f, outHI: 0x0
+sb :: offset: 0x24c, out: 0xf7da78479f, outHI: 0x0
+sb :: offset: 0x24d, out: 0xb1f7da78479f, outHI: 0x0
+sb :: offset: 0x24e, out: 0xb1f7da78479f, outHI: 0x0
+sb :: offset: 0x24f, out: 0xad00b1f7da78479f, outHI: 0x0
+sb :: offset: 0x250, out: 0x8a, outHI: 0x0
+sb :: offset: 0x251, out: 0xd98a, outHI: 0x0
+sb :: offset: 0x252, out: 0xb6d98a, outHI: 0x0
+sb :: offset: 0x253, out: 0xa6b6d98a, outHI: 0x0
+sb :: offset: 0x254, out: 0x68a6b6d98a, outHI: 0x0
+sb :: offset: 0x255, out: 0x4168a6b6d98a, outHI: 0x0
+sb :: offset: 0x256, out: 0xd44168a6b6d98a, outHI: 0x0
+sb :: offset: 0x257, out: 0x8d44168a6b6d98a, outHI: 0x0
+sb :: offset: 0x258, out: 0x13, outHI: 0x0
+sb :: offset: 0x259, out: 0x4413, outHI: 0x0
+sb :: offset: 0x25a, out: 0x634413, outHI: 0x0
+sb :: offset: 0x25b, out: 0xce634413, outHI: 0x0
+sb :: offset: 0x25c, out: 0x1dce634413, outHI: 0x0
+sb :: offset: 0x25d, out: 0x381dce634413, outHI: 0x0
+sb :: offset: 0x25e, out: 0x18381dce634413, outHI: 0x0
+sb :: offset: 0x25f, out: 0xf518381dce634413, outHI: 0x0
+sb :: offset: 0x260, out: 0xc0, outHI: 0x0
+sb :: offset: 0x261, out: 0x5fc0, outHI: 0x0
+sb :: offset: 0x262, out: 0x255fc0, outHI: 0x0
+sb :: offset: 0x263, out: 0xe5255fc0, outHI: 0x0
+sb :: offset: 0x264, out: 0x3fe5255fc0, outHI: 0x0
+sb :: offset: 0x265, out: 0x7f3fe5255fc0, outHI: 0x0
+sb :: offset: 0x266, out: 0x627f3fe5255fc0, outHI: 0x0
+sb :: offset: 0x267, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sb :: offset: 0x268, out: 0x28, outHI: 0x0
+sb :: offset: 0x269, out: 0x1f28, outHI: 0x0
+sb :: offset: 0x26a, out: 0x321f28, outHI: 0x0
+sb :: offset: 0x26b, out: 0x76321f28, outHI: 0x0
+sb :: offset: 0x26c, out: 0xe176321f28, outHI: 0x0
+sb :: offset: 0x26d, out: 0x92e176321f28, outHI: 0x0
+sb :: offset: 0x26e, out: 0xd392e176321f28, outHI: 0x0
+sb :: offset: 0x26f, out: 0xccd392e176321f28, outHI: 0x0
+sb :: offset: 0x270, out: 0x8f, outHI: 0x0
+sb :: offset: 0x271, out: 0xfd8f, outHI: 0x0
+sb :: offset: 0x272, out: 0x18fd8f, outHI: 0x0
+sb :: offset: 0x273, out: 0x4018fd8f, outHI: 0x0
+sb :: offset: 0x274, out: 0x944018fd8f, outHI: 0x0
+sb :: offset: 0x275, out: 0x64944018fd8f, outHI: 0x0
+sb :: offset: 0x276, out: 0x9464944018fd8f, outHI: 0x0
+sb :: offset: 0x277, out: 0x829464944018fd8f, outHI: 0x0
+sb :: offset: 0x278, out: 0xe5, outHI: 0x0
+sb :: offset: 0x279, out: 0xf0e5, outHI: 0x0
+sb :: offset: 0x27a, out: 0xe8f0e5, outHI: 0x0
+sb :: offset: 0x27b, out: 0x52e8f0e5, outHI: 0x0
+sb :: offset: 0x27c, out: 0x4052e8f0e5, outHI: 0x0
+sb :: offset: 0x27d, out: 0x204052e8f0e5, outHI: 0x0
+sb :: offset: 0x27e, out: 0xd3204052e8f0e5, outHI: 0x0
+sb :: offset: 0x27f, out: 0x15d3204052e8f0e5, outHI: 0x0
+sb :: offset: 0x280, out: 0x44, outHI: 0x0
+sb :: offset: 0x281, out: 0xf344, outHI: 0x0
+sb :: offset: 0x282, out: 0xff344, outHI: 0x0
+sb :: offset: 0x283, out: 0x880ff344, outHI: 0x0
+sb :: offset: 0x284, out: 0xd2880ff344, outHI: 0x0
+sb :: offset: 0x285, out: 0x83d2880ff344, outHI: 0x0
+sb :: offset: 0x286, out: 0xaf83d2880ff344, outHI: 0x0
+sb :: offset: 0x287, out: 0x7caf83d2880ff344, outHI: 0x0
+sb :: offset: 0x288, out: 0xd7, outHI: 0x0
+sb :: offset: 0x289, out: 0xefd7, outHI: 0x0
+sb :: offset: 0x28a, out: 0x7defd7, outHI: 0x0
+sb :: offset: 0x28b, out: 0x747defd7, outHI: 0x0
+sb :: offset: 0x28c, out: 0x4c747defd7, outHI: 0x0
+sb :: offset: 0x28d, out: 0xa04c747defd7, outHI: 0x0
+sb :: offset: 0x28e, out: 0x56a04c747defd7, outHI: 0x0
+sb :: offset: 0x28f, out: 0xf156a04c747defd7, outHI: 0x0
+sb :: offset: 0x290, out: 0x10, outHI: 0x0
+sb :: offset: 0x291, out: 0xd710, outHI: 0x0
+sb :: offset: 0x292, out: 0x31d710, outHI: 0x0
+sb :: offset: 0x293, out: 0xf31d710, outHI: 0x0
+sb :: offset: 0x294, out: 0x1c0f31d710, outHI: 0x0
+sb :: offset: 0x295, out: 0x601c0f31d710, outHI: 0x0
+sb :: offset: 0x296, out: 0xe2601c0f31d710, outHI: 0x0
+sb :: offset: 0x297, out: 0x93e2601c0f31d710, outHI: 0x0
+sb :: offset: 0x298, out: 0x33, outHI: 0x0
+sb :: offset: 0x299, out: 0xd933, outHI: 0x0
+sb :: offset: 0x29a, out: 0x1cd933, outHI: 0x0
+sb :: offset: 0x29b, out: 0x131cd933, outHI: 0x0
+sb :: offset: 0x29c, out: 0x79131cd933, outHI: 0x0
+sb :: offset: 0x29d, out: 0xa679131cd933, outHI: 0x0
+sb :: offset: 0x29e, out: 0xe1a679131cd933, outHI: 0x0
+sb :: offset: 0x29f, out: 0xe1e1a679131cd933, outHI: 0x0
+sb :: offset: 0x2a0, out: 0x27, outHI: 0x0
+sb :: offset: 0x2a1, out: 0xa427, outHI: 0x0
+sb :: offset: 0x2a2, out: 0x6fa427, outHI: 0x0
+sb :: offset: 0x2a3, out: 0xa76fa427, outHI: 0x0
+sb :: offset: 0x2a4, out: 0x75a76fa427, outHI: 0x0
+sb :: offset: 0x2a5, out: 0x6b75a76fa427, outHI: 0x0
+sb :: offset: 0x2a6, out: 0x296b75a76fa427, outHI: 0x0
+sb :: offset: 0x2a7, out: 0x24296b75a76fa427, outHI: 0x0
+sb :: offset: 0x2a8, out: 0x6a, outHI: 0x0
+sb :: offset: 0x2a9, out: 0xe56a, outHI: 0x0
+sb :: offset: 0x2aa, out: 0x9ee56a, outHI: 0x0
+sb :: offset: 0x2ab, out: 0x139ee56a, outHI: 0x0
+sb :: offset: 0x2ac, out: 0xd2139ee56a, outHI: 0x0
+sb :: offset: 0x2ad, out: 0xe2d2139ee56a, outHI: 0x0
+sb :: offset: 0x2ae, out: 0x96e2d2139ee56a, outHI: 0x0
+sb :: offset: 0x2af, out: 0xd296e2d2139ee56a, outHI: 0x0
+sb :: offset: 0x2b0, out: 0xc0, outHI: 0x0
+sb :: offset: 0x2b1, out: 0xa5c0, outHI: 0x0
+sb :: offset: 0x2b2, out: 0xc2a5c0, outHI: 0x0
+sb :: offset: 0x2b3, out: 0x6dc2a5c0, outHI: 0x0
+sb :: offset: 0x2b4, out: 0x7f6dc2a5c0, outHI: 0x0
+sb :: offset: 0x2b5, out: 0x447f6dc2a5c0, outHI: 0x0
+sb :: offset: 0x2b6, out: 0x82447f6dc2a5c0, outHI: 0x0
+sb :: offset: 0x2b7, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sb :: offset: 0x2b8, out: 0x68, outHI: 0x0
+sb :: offset: 0x2b9, out: 0xc168, outHI: 0x0
+sb :: offset: 0x2ba, out: 0x7dc168, outHI: 0x0
+sb :: offset: 0x2bb, out: 0xc07dc168, outHI: 0x0
+sb :: offset: 0x2bc, out: 0x80c07dc168, outHI: 0x0
+sb :: offset: 0x2bd, out: 0x9e80c07dc168, outHI: 0x0
+sb :: offset: 0x2be, out: 0xc89e80c07dc168, outHI: 0x0
+sb :: offset: 0x2bf, out: 0x76c89e80c07dc168, outHI: 0x0
+sb :: offset: 0x2c0, out: 0x8f, outHI: 0x0
+sb :: offset: 0x2c1, out: 0x348f, outHI: 0x0
+sb :: offset: 0x2c2, out: 0xfe348f, outHI: 0x0
+sb :: offset: 0x2c3, out: 0x4bfe348f, outHI: 0x0
+sb :: offset: 0x2c4, out: 0x454bfe348f, outHI: 0x0
+sb :: offset: 0x2c5, out: 0xc3454bfe348f, outHI: 0x0
+sb :: offset: 0x2c6, out: 0xdc3454bfe348f, outHI: 0x0
+sb :: offset: 0x2c7, out: 0x70dc3454bfe348f, outHI: 0x0
+sb :: offset: 0x2c8, out: 0x1b, outHI: 0x0
+sb :: offset: 0x2c9, out: 0x241b, outHI: 0x0
+sb :: offset: 0x2ca, out: 0x6d241b, outHI: 0x0
+sb :: offset: 0x2cb, out: 0xdd6d241b, outHI: 0x0
+sb :: offset: 0x2cc, out: 0x23dd6d241b, outHI: 0x0
+sb :: offset: 0x2cd, out: 0x7123dd6d241b, outHI: 0x0
+sb :: offset: 0x2ce, out: 0xdc7123dd6d241b, outHI: 0x0
+sb :: offset: 0x2cf, out: 0xbddc7123dd6d241b, outHI: 0x0
+sb :: offset: 0x2d0, out: 0xbe, outHI: 0x0
+sb :: offset: 0x2d1, out: 0xcebe, outHI: 0x0
+sb :: offset: 0x2d2, out: 0x9fcebe, outHI: 0x0
+sb :: offset: 0x2d3, out: 0xa59fcebe, outHI: 0x0
+sb :: offset: 0x2d4, out: 0x27a59fcebe, outHI: 0x0
+sb :: offset: 0x2d5, out: 0xb727a59fcebe, outHI: 0x0
+sb :: offset: 0x2d6, out: 0x2fb727a59fcebe, outHI: 0x0
+sb :: offset: 0x2d7, out: 0xf62fb727a59fcebe, outHI: 0x0
+sb :: offset: 0x2d8, out: 0xfb, outHI: 0x0
+sb :: offset: 0x2d9, out: 0x46fb, outHI: 0x0
+sb :: offset: 0x2da, out: 0x9f46fb, outHI: 0x0
+sb :: offset: 0x2db, out: 0xf9f46fb, outHI: 0x0
+sb :: offset: 0x2dc, out: 0xe90f9f46fb, outHI: 0x0
+sb :: offset: 0x2dd, out: 0x27e90f9f46fb, outHI: 0x0
+sb :: offset: 0x2de, out: 0x9f27e90f9f46fb, outHI: 0x0
+sb :: offset: 0x2df, out: 0x109f27e90f9f46fb, outHI: 0x0
+sb :: offset: 0x2e0, out: 0xd7, outHI: 0x0
+sb :: offset: 0x2e1, out: 0x99d7, outHI: 0x0
+sb :: offset: 0x2e2, out: 0xd199d7, outHI: 0x0
+sb :: offset: 0x2e3, out: 0xafd199d7, outHI: 0x0
+sb :: offset: 0x2e4, out: 0xa9afd199d7, outHI: 0x0
+sb :: offset: 0x2e5, out: 0xdaa9afd199d7, outHI: 0x0
+sb :: offset: 0x2e6, out: 0x63daa9afd199d7, outHI: 0x0
+sb :: offset: 0x2e7, out: 0x3f63daa9afd199d7, outHI: 0x0
+sb :: offset: 0x2e8, out: 0xf2, outHI: 0x0
+sb :: offset: 0x2e9, out: 0x84f2, outHI: 0x0
+sb :: offset: 0x2ea, out: 0xd484f2, outHI: 0x0
+sb :: offset: 0x2eb, out: 0xa3d484f2, outHI: 0x0
+sb :: offset: 0x2ec, out: 0x2ea3d484f2, outHI: 0x0
+sb :: offset: 0x2ed, out: 0x312ea3d484f2, outHI: 0x0
+sb :: offset: 0x2ee, out: 0xcb312ea3d484f2, outHI: 0x0
+sb :: offset: 0x2ef, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sb :: offset: 0x2f0, out: 0xc6, outHI: 0x0
+sb :: offset: 0x2f1, out: 0xe4c6, outHI: 0x0
+sb :: offset: 0x2f2, out: 0x4fe4c6, outHI: 0x0
+sb :: offset: 0x2f3, out: 0xda4fe4c6, outHI: 0x0
+sb :: offset: 0x2f4, out: 0xaada4fe4c6, outHI: 0x0
+sb :: offset: 0x2f5, out: 0x3faada4fe4c6, outHI: 0x0
+sb :: offset: 0x2f6, out: 0x353faada4fe4c6, outHI: 0x0
+sb :: offset: 0x2f7, out: 0x1f353faada4fe4c6, outHI: 0x0
+sb :: offset: 0x2f8, out: 0x60, outHI: 0x0
+sb :: offset: 0x2f9, out: 0xc260, outHI: 0x0
+sb :: offset: 0x2fa, out: 0x50c260, outHI: 0x0
+sb :: offset: 0x2fb, out: 0x7150c260, outHI: 0x0
+sb :: offset: 0x2fc, out: 0xe07150c260, outHI: 0x0
+sb :: offset: 0x2fd, out: 0x6ee07150c260, outHI: 0x0
+sb :: offset: 0x2fe, out: 0x86ee07150c260, outHI: 0x0
+sb :: offset: 0x2ff, out: 0x8b086ee07150c260, outHI: 0x0
+sb :: offset: 0x300, out: 0x25, outHI: 0x0
+sb :: offset: 0x301, out: 0x7f25, outHI: 0x0
+sb :: offset: 0x302, out: 0x257f25, outHI: 0x0
+sb :: offset: 0x303, out: 0xd9257f25, outHI: 0x0
+sb :: offset: 0x304, out: 0xd5d9257f25, outHI: 0x0
+sb :: offset: 0x305, out: 0x50d5d9257f25, outHI: 0x0
+sb :: offset: 0x306, out: 0x4750d5d9257f25, outHI: 0x0
+sb :: offset: 0x307, out: 0xe54750d5d9257f25, outHI: 0x0
+sb :: offset: 0x308, out: 0x5b, outHI: 0x0
+sb :: offset: 0x309, out: 0xdb5b, outHI: 0x0
+sb :: offset: 0x30a, out: 0xa6db5b, outHI: 0x0
+sb :: offset: 0x30b, out: 0xe9a6db5b, outHI: 0x0
+sb :: offset: 0x30c, out: 0x5fe9a6db5b, outHI: 0x0
+sb :: offset: 0x30d, out: 0x625fe9a6db5b, outHI: 0x0
+sb :: offset: 0x30e, out: 0x69625fe9a6db5b, outHI: 0x0
+sb :: offset: 0x30f, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sb :: offset: 0x310, out: 0x96, outHI: 0x0
+sb :: offset: 0x311, out: 0xac96, outHI: 0x0
+sb :: offset: 0x312, out: 0x40ac96, outHI: 0x0
+sb :: offset: 0x313, out: 0x4340ac96, outHI: 0x0
+sb :: offset: 0x314, out: 0x424340ac96, outHI: 0x0
+sb :: offset: 0x315, out: 0xe0424340ac96, outHI: 0x0
+sb :: offset: 0x316, out: 0xa3e0424340ac96, outHI: 0x0
+sb :: offset: 0x317, out: 0x70a3e0424340ac96, outHI: 0x0
+sb :: offset: 0x318, out: 0x1e, outHI: 0x0
+sb :: offset: 0x319, out: 0x171e, outHI: 0x0
+sb :: offset: 0x31a, out: 0x80171e, outHI: 0x0
+sb :: offset: 0x31b, out: 0x6980171e, outHI: 0x0
+sb :: offset: 0x31c, out: 0x36980171e, outHI: 0x0
+sb :: offset: 0x31d, out: 0x8f036980171e, outHI: 0x0
+sb :: offset: 0x31e, out: 0x478f036980171e, outHI: 0x0
+sb :: offset: 0x31f, out: 0xc0478f036980171e, outHI: 0x0
+sb :: offset: 0x320, out: 0xe3, outHI: 0x0
+sb :: offset: 0x321, out: 0x29e3, outHI: 0x0
+sb :: offset: 0x322, out: 0xf929e3, outHI: 0x0
+sb :: offset: 0x323, out: 0x1cf929e3, outHI: 0x0
+sb :: offset: 0x324, out: 0xa51cf929e3, outHI: 0x0
+sb :: offset: 0x325, out: 0x39a51cf929e3, outHI: 0x0
+sb :: offset: 0x326, out: 0xe839a51cf929e3, outHI: 0x0
+sb :: offset: 0x327, out: 0x3ce839a51cf929e3, outHI: 0x0
+sb :: offset: 0x328, out: 0x58, outHI: 0x0
+sb :: offset: 0x329, out: 0x8958, outHI: 0x0
+sb :: offset: 0x32a, out: 0xb68958, outHI: 0x0
+sb :: offset: 0x32b, out: 0x5eb68958, outHI: 0x0
+sb :: offset: 0x32c, out: 0x895eb68958, outHI: 0x0
+sb :: offset: 0x32d, out: 0xfa895eb68958, outHI: 0x0
+sb :: offset: 0x32e, out: 0xfbfa895eb68958, outHI: 0x0
+sb :: offset: 0x32f, out: 0xe2fbfa895eb68958, outHI: 0x0
+sb :: offset: 0x330, out: 0xb7, outHI: 0x0
+sb :: offset: 0x331, out: 0x25b7, outHI: 0x0
+sb :: offset: 0x332, out: 0xed25b7, outHI: 0x0
+sb :: offset: 0x333, out: 0x76ed25b7, outHI: 0x0
+sb :: offset: 0x334, out: 0x5d76ed25b7, outHI: 0x0
+sb :: offset: 0x335, out: 0xb05d76ed25b7, outHI: 0x0
+sb :: offset: 0x336, out: 0x4bb05d76ed25b7, outHI: 0x0
+sb :: offset: 0x337, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sb :: offset: 0x338, out: 0xf1, outHI: 0x0
+sb :: offset: 0x339, out: 0x12f1, outHI: 0x0
+sb :: offset: 0x33a, out: 0x312f1, outHI: 0x0
+sb :: offset: 0x33b, out: 0x170312f1, outHI: 0x0
+sb :: offset: 0x33c, out: 0x2c170312f1, outHI: 0x0
+sb :: offset: 0x33d, out: 0x682c170312f1, outHI: 0x0
+sb :: offset: 0x33e, out: 0xb9682c170312f1, outHI: 0x0
+sb :: offset: 0x33f, out: 0xeb9682c170312f1, outHI: 0x0
+sb :: offset: 0x340, out: 0xd, outHI: 0x0
+sb :: offset: 0x341, out: 0x1d0d, outHI: 0x0
+sb :: offset: 0x342, out: 0x301d0d, outHI: 0x0
+sb :: offset: 0x343, out: 0xdd301d0d, outHI: 0x0
+sb :: offset: 0x344, out: 0x80dd301d0d, outHI: 0x0
+sb :: offset: 0x345, out: 0x5280dd301d0d, outHI: 0x0
+sb :: offset: 0x346, out: 0x785280dd301d0d, outHI: 0x0
+sb :: offset: 0x347, out: 0x84785280dd301d0d, outHI: 0x0
+sb :: offset: 0x348, out: 0xef, outHI: 0x0
+sb :: offset: 0x349, out: 0xd6ef, outHI: 0x0
+sb :: offset: 0x34a, out: 0x8fd6ef, outHI: 0x0
+sb :: offset: 0x34b, out: 0x1f8fd6ef, outHI: 0x0
+sb :: offset: 0x34c, out: 0xaa1f8fd6ef, outHI: 0x0
+sb :: offset: 0x34d, out: 0x77aa1f8fd6ef, outHI: 0x0
+sb :: offset: 0x34e, out: 0x9c77aa1f8fd6ef, outHI: 0x0
+sb :: offset: 0x34f, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sb :: offset: 0x350, out: 0x6d, outHI: 0x0
+sb :: offset: 0x351, out: 0x436d, outHI: 0x0
+sb :: offset: 0x352, out: 0x98436d, outHI: 0x0
+sb :: offset: 0x353, out: 0x2998436d, outHI: 0x0
+sb :: offset: 0x354, out: 0xed2998436d, outHI: 0x0
+sb :: offset: 0x355, out: 0x4ced2998436d, outHI: 0x0
+sb :: offset: 0x356, out: 0x444ced2998436d, outHI: 0x0
+sb :: offset: 0x357, out: 0x26444ced2998436d, outHI: 0x0
+sb :: offset: 0x358, out: 0x8, outHI: 0x0
+sb :: offset: 0x359, out: 0xa708, outHI: 0x0
+sb :: offset: 0x35a, out: 0x8ca708, outHI: 0x0
+sb :: offset: 0x35b, out: 0xd58ca708, outHI: 0x0
+sb :: offset: 0x35c, out: 0x9dd58ca708, outHI: 0x0
+sb :: offset: 0x35d, out: 0x5c9dd58ca708, outHI: 0x0
+sb :: offset: 0x35e, out: 0x175c9dd58ca708, outHI: 0x0
+sb :: offset: 0x35f, out: 0x7175c9dd58ca708, outHI: 0x0
+sb :: offset: 0x360, out: 0x87, outHI: 0x0
+sb :: offset: 0x361, out: 0x3287, outHI: 0x0
+sb :: offset: 0x362, out: 0x833287, outHI: 0x0
+sb :: offset: 0x363, out: 0x55833287, outHI: 0x0
+sb :: offset: 0x364, out: 0x1055833287, outHI: 0x0
+sb :: offset: 0x365, out: 0x61055833287, outHI: 0x0
+sb :: offset: 0x366, out: 0x3d061055833287, outHI: 0x0
+sb :: offset: 0x367, out: 0x663d061055833287, outHI: 0x0
+sb :: offset: 0x368, out: 0x8b, outHI: 0x0
+sb :: offset: 0x369, out: 0xd68b, outHI: 0x0
+sb :: offset: 0x36a, out: 0x51d68b, outHI: 0x0
+sb :: offset: 0x36b, out: 0x8951d68b, outHI: 0x0
+sb :: offset: 0x36c, out: 0x488951d68b, outHI: 0x0
+sb :: offset: 0x36d, out: 0xd0488951d68b, outHI: 0x0
+sb :: offset: 0x36e, out: 0x7dd0488951d68b, outHI: 0x0
+sb :: offset: 0x36f, out: 0xab7dd0488951d68b, outHI: 0x0
+sb :: offset: 0x370, out: 0x1b, outHI: 0x0
+sb :: offset: 0x371, out: 0x471b, outHI: 0x0
+sb :: offset: 0x372, out: 0x82471b, outHI: 0x0
+sb :: offset: 0x373, out: 0xe82471b, outHI: 0x0
+sb :: offset: 0x374, out: 0x670e82471b, outHI: 0x0
+sb :: offset: 0x375, out: 0x23670e82471b, outHI: 0x0
+sb :: offset: 0x376, out: 0x9823670e82471b, outHI: 0x0
+sb :: offset: 0x377, out: 0xf69823670e82471b, outHI: 0x0
+sb :: offset: 0x378, out: 0xb2, outHI: 0x0
+sb :: offset: 0x379, out: 0x26b2, outHI: 0x0
+sb :: offset: 0x37a, out: 0x8d26b2, outHI: 0x0
+sb :: offset: 0x37b, out: 0xd98d26b2, outHI: 0x0
+sb :: offset: 0x37c, out: 0x59d98d26b2, outHI: 0x0
+sb :: offset: 0x37d, out: 0x6c59d98d26b2, outHI: 0x0
+sb :: offset: 0x37e, out: 0x886c59d98d26b2, outHI: 0x0
+sb :: offset: 0x37f, out: 0x36886c59d98d26b2, outHI: 0x0
+sb :: offset: 0x380, out: 0x79, outHI: 0x0
+sb :: offset: 0x381, out: 0xe479, outHI: 0x0
+sb :: offset: 0x382, out: 0x2be479, outHI: 0x0
+sb :: offset: 0x383, out: 0xd32be479, outHI: 0x0
+sb :: offset: 0x384, out: 0xdbd32be479, outHI: 0x0
+sb :: offset: 0x385, out: 0x4bdbd32be479, outHI: 0x0
+sb :: offset: 0x386, out: 0xca4bdbd32be479, outHI: 0x0
+sb :: offset: 0x387, out: 0x9ca4bdbd32be479, outHI: 0x0
+sb :: offset: 0x388, out: 0x1f, outHI: 0x0
+sb :: offset: 0x389, out: 0xe61f, outHI: 0x0
+sb :: offset: 0x38a, out: 0x62e61f, outHI: 0x0
+sb :: offset: 0x38b, out: 0x9962e61f, outHI: 0x0
+sb :: offset: 0x38c, out: 0x1d9962e61f, outHI: 0x0
+sb :: offset: 0x38d, out: 0x7d1d9962e61f, outHI: 0x0
+sb :: offset: 0x38e, out: 0x5d7d1d9962e61f, outHI: 0x0
+sb :: offset: 0x38f, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sb :: offset: 0x390, out: 0xdf, outHI: 0x0
+sb :: offset: 0x391, out: 0x74df, outHI: 0x0
+sb :: offset: 0x392, out: 0xd374df, outHI: 0x0
+sb :: offset: 0x393, out: 0xcad374df, outHI: 0x0
+sb :: offset: 0x394, out: 0x3ecad374df, outHI: 0x0
+sb :: offset: 0x395, out: 0x553ecad374df, outHI: 0x0
+sb :: offset: 0x396, out: 0x46553ecad374df, outHI: 0x0
+sb :: offset: 0x397, out: 0x3f46553ecad374df, outHI: 0x0
+sb :: offset: 0x398, out: 0xa7, outHI: 0x0
+sb :: offset: 0x399, out: 0xf2a7, outHI: 0x0
+sb :: offset: 0x39a, out: 0xedf2a7, outHI: 0x0
+sb :: offset: 0x39b, out: 0x3eedf2a7, outHI: 0x0
+sb :: offset: 0x39c, out: 0x7d3eedf2a7, outHI: 0x0
+sb :: offset: 0x39d, out: 0xb97d3eedf2a7, outHI: 0x0
+sb :: offset: 0x39e, out: 0x9ab97d3eedf2a7, outHI: 0x0
+sb :: offset: 0x39f, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sb :: offset: 0x3a0, out: 0x33, outHI: 0x0
+sb :: offset: 0x3a1, out: 0x9f33, outHI: 0x0
+sb :: offset: 0x3a2, out: 0xc9f33, outHI: 0x0
+sb :: offset: 0x3a3, out: 0x3c0c9f33, outHI: 0x0
+sb :: offset: 0x3a4, out: 0xfa3c0c9f33, outHI: 0x0
+sb :: offset: 0x3a5, out: 0xf7fa3c0c9f33, outHI: 0x0
+sb :: offset: 0x3a6, out: 0xa6f7fa3c0c9f33, outHI: 0x0
+sb :: offset: 0x3a7, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sb :: offset: 0x3a8, out: 0xdc, outHI: 0x0
+sb :: offset: 0x3a9, out: 0xc9dc, outHI: 0x0
+sb :: offset: 0x3aa, out: 0x5ec9dc, outHI: 0x0
+sb :: offset: 0x3ab, out: 0x155ec9dc, outHI: 0x0
+sb :: offset: 0x3ac, out: 0xe3155ec9dc, outHI: 0x0
+sb :: offset: 0x3ad, out: 0x38e3155ec9dc, outHI: 0x0
+sb :: offset: 0x3ae, out: 0xb938e3155ec9dc, outHI: 0x0
+sb :: offset: 0x3af, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sb :: offset: 0x3b0, out: 0x6, outHI: 0x0
+sb :: offset: 0x3b1, out: 0x8206, outHI: 0x0
+sb :: offset: 0x3b2, out: 0x478206, outHI: 0x0
+sb :: offset: 0x3b3, out: 0x19478206, outHI: 0x0
+sb :: offset: 0x3b4, out: 0xc419478206, outHI: 0x0
+sb :: offset: 0x3b5, out: 0x25c419478206, outHI: 0x0
+sb :: offset: 0x3b6, out: 0xdf25c419478206, outHI: 0x0
+sb :: offset: 0x3b7, out: 0xd2df25c419478206, outHI: 0x0
+sb :: offset: 0x3b8, out: 0x25, outHI: 0x0
+sb :: offset: 0x3b9, out: 0x1825, outHI: 0x0
+sb :: offset: 0x3ba, out: 0x321825, outHI: 0x0
+sb :: offset: 0x3bb, out: 0xeb321825, outHI: 0x0
+sb :: offset: 0x3bc, out: 0x27eb321825, outHI: 0x0
+sb :: offset: 0x3bd, out: 0xbf27eb321825, outHI: 0x0
+sb :: offset: 0x3be, out: 0x65bf27eb321825, outHI: 0x0
+sb :: offset: 0x3bf, out: 0xbc65bf27eb321825, outHI: 0x0
+sb :: offset: 0x3c0, out: 0xda, outHI: 0x0
+sb :: offset: 0x3c1, out: 0xc7da, outHI: 0x0
+sb :: offset: 0x3c2, out: 0x8bc7da, outHI: 0x0
+sb :: offset: 0x3c3, out: 0x7a8bc7da, outHI: 0x0
+sb :: offset: 0x3c4, out: 0xe67a8bc7da, outHI: 0x0
+sb :: offset: 0x3c5, out: 0x8fe67a8bc7da, outHI: 0x0
+sb :: offset: 0x3c6, out: 0xb08fe67a8bc7da, outHI: 0x0
+sb :: offset: 0x3c7, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sb :: offset: 0x3c8, out: 0xe8, outHI: 0x0
+sb :: offset: 0x3c9, out: 0xcde8, outHI: 0x0
+sb :: offset: 0x3ca, out: 0xdfcde8, outHI: 0x0
+sb :: offset: 0x3cb, out: 0xf8dfcde8, outHI: 0x0
+sb :: offset: 0x3cc, out: 0xcaf8dfcde8, outHI: 0x0
+sb :: offset: 0x3cd, out: 0x5bcaf8dfcde8, outHI: 0x0
+sb :: offset: 0x3ce, out: 0x2b5bcaf8dfcde8, outHI: 0x0
+sb :: offset: 0x3cf, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sb :: offset: 0x3d0, out: 0x69, outHI: 0x0
+sb :: offset: 0x3d1, out: 0x9269, outHI: 0x0
+sb :: offset: 0x3d2, out: 0xa99269, outHI: 0x0
+sb :: offset: 0x3d3, out: 0x59a99269, outHI: 0x0
+sb :: offset: 0x3d4, out: 0x9b59a99269, outHI: 0x0
+sb :: offset: 0x3d5, out: 0x909b59a99269, outHI: 0x0
+sb :: offset: 0x3d6, out: 0x78909b59a99269, outHI: 0x0
+sb :: offset: 0x3d7, out: 0x478909b59a99269, outHI: 0x0
+sb :: offset: 0x3d8, out: 0xf, outHI: 0x0
+sb :: offset: 0x3d9, out: 0x360f, outHI: 0x0
+sb :: offset: 0x3da, out: 0x57360f, outHI: 0x0
+sb :: offset: 0x3db, out: 0x7857360f, outHI: 0x0
+sb :: offset: 0x3dc, out: 0xc87857360f, outHI: 0x0
+sb :: offset: 0x3dd, out: 0x1cc87857360f, outHI: 0x0
+sb :: offset: 0x3de, out: 0xb31cc87857360f, outHI: 0x0
+sb :: offset: 0x3df, out: 0xbfb31cc87857360f, outHI: 0x0
+sb :: offset: 0x3e0, out: 0xa2, outHI: 0x0
+sb :: offset: 0x3e1, out: 0xe9a2, outHI: 0x0
+sb :: offset: 0x3e2, out: 0x89e9a2, outHI: 0x0
+sb :: offset: 0x3e3, out: 0x7f89e9a2, outHI: 0x0
+sb :: offset: 0x3e4, out: 0x5e7f89e9a2, outHI: 0x0
+sb :: offset: 0x3e5, out: 0xed5e7f89e9a2, outHI: 0x0
+sb :: offset: 0x3e6, out: 0x65ed5e7f89e9a2, outHI: 0x0
+sb :: offset: 0x3e7, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sb :: offset: 0x3e8, out: 0xe4, outHI: 0x0
+sb :: offset: 0x3e9, out: 0xd5e4, outHI: 0x0
+sb :: offset: 0x3ea, out: 0xa8d5e4, outHI: 0x0
+sb :: offset: 0x3eb, out: 0xb7a8d5e4, outHI: 0x0
+sb :: offset: 0x3ec, out: 0x74b7a8d5e4, outHI: 0x0
+sb :: offset: 0x3ed, out: 0x9474b7a8d5e4, outHI: 0x0
+sb :: offset: 0x3ee, out: 0xda9474b7a8d5e4, outHI: 0x0
+sb :: offset: 0x3ef, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sb :: offset: 0x3f0, out: 0xcc, outHI: 0x0
+sb :: offset: 0x3f1, out: 0xfcc, outHI: 0x0
+sb :: offset: 0x3f2, out: 0xf90fcc, outHI: 0x0
+sb :: offset: 0x3f3, out: 0x2af90fcc, outHI: 0x0
+sb :: offset: 0x3f4, out: 0x7d2af90fcc, outHI: 0x0
+sb :: offset: 0x3f5, out: 0x537d2af90fcc, outHI: 0x0
+sb :: offset: 0x3f6, out: 0xb3537d2af90fcc, outHI: 0x0
+sb :: offset: 0x3f7, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sb :: offset: 0x3f8, out: 0x97, outHI: 0x0
+sb :: offset: 0x3f9, out: 0x1897, outHI: 0x0
+sb :: offset: 0x3fa, out: 0x961897, outHI: 0x0
+sb :: offset: 0x3fb, out: 0x2b961897, outHI: 0x0
+sb :: offset: 0x3fc, out: 0xfe2b961897, outHI: 0x0
+sb :: offset: 0x3fd, out: 0x7cfe2b961897, outHI: 0x0
+sb :: offset: 0x3fe, out: 0x3d7cfe2b961897, outHI: 0x0
+sb :: offset: 0x3ff, out: 0x223d7cfe2b961897, outHI: 0x0
+sb :: offset: 0x400, out: 0x4b, outHI: 0x0
+sb :: offset: 0x401, out: 0x4a4b, outHI: 0x0
+sb :: offset: 0x402, out: 0x734a4b, outHI: 0x0
+sb :: offset: 0x403, out: 0x33734a4b, outHI: 0x0
+sb :: offset: 0x404, out: 0xf533734a4b, outHI: 0x0
+sb :: offset: 0x405, out: 0x34f533734a4b, outHI: 0x0
+sb :: offset: 0x406, out: 0xb34f533734a4b, outHI: 0x0
+sb :: offset: 0x407, out: 0x420b34f533734a4b, outHI: 0x0
+sb :: offset: 0x408, out: 0x3c, outHI: 0x0
+sb :: offset: 0x409, out: 0xb33c, outHI: 0x0
+sb :: offset: 0x40a, out: 0x46b33c, outHI: 0x0
+sb :: offset: 0x40b, out: 0xdd46b33c, outHI: 0x0
+sb :: offset: 0x40c, out: 0x8ddd46b33c, outHI: 0x0
+sb :: offset: 0x40d, out: 0x8c8ddd46b33c, outHI: 0x0
+sb :: offset: 0x40e, out: 0x7c8c8ddd46b33c, outHI: 0x0
+sb :: offset: 0x40f, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sb :: offset: 0x410, out: 0xd9, outHI: 0x0
+sb :: offset: 0x411, out: 0xccd9, outHI: 0x0
+sb :: offset: 0x412, out: 0x92ccd9, outHI: 0x0
+sb :: offset: 0x413, out: 0xe392ccd9, outHI: 0x0
+sb :: offset: 0x414, out: 0x45e392ccd9, outHI: 0x0
+sb :: offset: 0x415, out: 0x7445e392ccd9, outHI: 0x0
+sb :: offset: 0x416, out: 0x387445e392ccd9, outHI: 0x0
+sb :: offset: 0x417, out: 0x7a387445e392ccd9, outHI: 0x0
+sb :: offset: 0x418, out: 0xc9, outHI: 0x0
+sb :: offset: 0x419, out: 0xc9, outHI: 0x0
+sb :: offset: 0x41a, out: 0xc9, outHI: 0x0
+sb :: offset: 0x41b, out: 0xd80000c9, outHI: 0x0
+sb :: offset: 0x41c, out: 0xb1d80000c9, outHI: 0x0
+sb :: offset: 0x41d, out: 0x29b1d80000c9, outHI: 0x0
+sb :: offset: 0x41e, out: 0x2f29b1d80000c9, outHI: 0x0
+sb :: offset: 0x41f, out: 0x512f29b1d80000c9, outHI: 0x0
+sb :: offset: 0x420, out: 0xa, outHI: 0x0
+sb :: offset: 0x421, out: 0x20a, outHI: 0x0
+sb :: offset: 0x422, out: 0xad020a, outHI: 0x0
+sb :: offset: 0x423, out: 0x3dad020a, outHI: 0x0
+sb :: offset: 0x424, out: 0xc53dad020a, outHI: 0x0
+sb :: offset: 0x425, out: 0xd5c53dad020a, outHI: 0x0
+sb :: offset: 0x426, out: 0xded5c53dad020a, outHI: 0x0
+sb :: offset: 0x427, out: 0xeaded5c53dad020a, outHI: 0x0
+sb :: offset: 0x428, out: 0x5b, outHI: 0x0
+sb :: offset: 0x429, out: 0xa35b, outHI: 0x0
+sb :: offset: 0x42a, out: 0xeea35b, outHI: 0x0
+sb :: offset: 0x42b, out: 0x31eea35b, outHI: 0x0
+sb :: offset: 0x42c, out: 0xd731eea35b, outHI: 0x0
+sb :: offset: 0x42d, out: 0x29d731eea35b, outHI: 0x0
+sb :: offset: 0x42e, out: 0x6229d731eea35b, outHI: 0x0
+sb :: offset: 0x42f, out: 0x8a6229d731eea35b, outHI: 0x0
+sb :: offset: 0x430, out: 0x49, outHI: 0x0
+sb :: offset: 0x431, out: 0x5649, outHI: 0x0
+sb :: offset: 0x432, out: 0x985649, outHI: 0x0
+sb :: offset: 0x433, out: 0x48985649, outHI: 0x0
+sb :: offset: 0x434, out: 0x9e48985649, outHI: 0x0
+sb :: offset: 0x435, out: 0x3f9e48985649, outHI: 0x0
+sb :: offset: 0x436, out: 0x3c3f9e48985649, outHI: 0x0
+sb :: offset: 0x437, out: 0x2c3c3f9e48985649, outHI: 0x0
+sb :: offset: 0x438, out: 0x77, outHI: 0x0
+sb :: offset: 0x439, out: 0xb77, outHI: 0x0
+sb :: offset: 0x43a, out: 0x9c0b77, outHI: 0x0
+sb :: offset: 0x43b, out: 0xdc9c0b77, outHI: 0x0
+sb :: offset: 0x43c, out: 0x78dc9c0b77, outHI: 0x0
+sb :: offset: 0x43d, out: 0x1e78dc9c0b77, outHI: 0x0
+sb :: offset: 0x43e, out: 0xf61e78dc9c0b77, outHI: 0x0
+sb :: offset: 0x43f, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sb :: offset: 0x440, out: 0xec, outHI: 0x0
+sb :: offset: 0x441, out: 0x68ec, outHI: 0x0
+sb :: offset: 0x442, out: 0x5e68ec, outHI: 0x0
+sb :: offset: 0x443, out: 0x1d5e68ec, outHI: 0x0
+sb :: offset: 0x444, out: 0xe01d5e68ec, outHI: 0x0
+sb :: offset: 0x445, out: 0xb0e01d5e68ec, outHI: 0x0
+sb :: offset: 0x446, out: 0x99b0e01d5e68ec, outHI: 0x0
+sb :: offset: 0x447, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sb :: offset: 0x448, out: 0x25, outHI: 0x0
+sb :: offset: 0x449, out: 0x6e25, outHI: 0x0
+sb :: offset: 0x44a, out: 0xc6e25, outHI: 0x0
+sb :: offset: 0x44b, out: 0x3d0c6e25, outHI: 0x0
+sb :: offset: 0x44c, out: 0x673d0c6e25, outHI: 0x0
+sb :: offset: 0x44d, out: 0x4673d0c6e25, outHI: 0x0
+sb :: offset: 0x44e, out: 0x3b04673d0c6e25, outHI: 0x0
+sb :: offset: 0x44f, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sb :: offset: 0x450, out: 0x87, outHI: 0x0
+sb :: offset: 0x451, out: 0x6587, outHI: 0x0
+sb :: offset: 0x452, out: 0xfb6587, outHI: 0x0
+sb :: offset: 0x453, out: 0xe7fb6587, outHI: 0x0
+sb :: offset: 0x454, out: 0xc1e7fb6587, outHI: 0x0
+sb :: offset: 0x455, out: 0x17c1e7fb6587, outHI: 0x0
+sb :: offset: 0x456, out: 0x4e17c1e7fb6587, outHI: 0x0
+sb :: offset: 0x457, out: 0x164e17c1e7fb6587, outHI: 0x0
+sb :: offset: 0x458, out: 0xb, outHI: 0x0
+sb :: offset: 0x459, out: 0x950b, outHI: 0x0
+sb :: offset: 0x45a, out: 0xd4950b, outHI: 0x0
+sb :: offset: 0x45b, out: 0x56d4950b, outHI: 0x0
+sb :: offset: 0x45c, out: 0x8b56d4950b, outHI: 0x0
+sb :: offset: 0x45d, out: 0xa28b56d4950b, outHI: 0x0
+sb :: offset: 0x45e, out: 0x4ca28b56d4950b, outHI: 0x0
+sb :: offset: 0x45f, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sb :: offset: 0x460, out: 0x8a, outHI: 0x0
+sb :: offset: 0x461, out: 0xa08a, outHI: 0x0
+sb :: offset: 0x462, out: 0x7fa08a, outHI: 0x0
+sb :: offset: 0x463, out: 0xbe7fa08a, outHI: 0x0
+sb :: offset: 0x464, out: 0x14be7fa08a, outHI: 0x0
+sb :: offset: 0x465, out: 0xa314be7fa08a, outHI: 0x0
+sb :: offset: 0x466, out: 0xe9a314be7fa08a, outHI: 0x0
+sb :: offset: 0x467, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sb :: offset: 0x468, out: 0xc5, outHI: 0x0
+sb :: offset: 0x469, out: 0x49c5, outHI: 0x0
+sb :: offset: 0x46a, out: 0x9649c5, outHI: 0x0
+sb :: offset: 0x46b, out: 0x159649c5, outHI: 0x0
+sb :: offset: 0x46c, out: 0x64159649c5, outHI: 0x0
+sb :: offset: 0x46d, out: 0x8164159649c5, outHI: 0x0
+sb :: offset: 0x46e, out: 0xbe8164159649c5, outHI: 0x0
+sb :: offset: 0x46f, out: 0xf8be8164159649c5, outHI: 0x0
+sb :: offset: 0x470, out: 0x17, outHI: 0x0
+sb :: offset: 0x471, out: 0x9b17, outHI: 0x0
+sb :: offset: 0x472, out: 0xe69b17, outHI: 0x0
+sb :: offset: 0x473, out: 0x84e69b17, outHI: 0x0
+sb :: offset: 0x474, out: 0x9784e69b17, outHI: 0x0
+sb :: offset: 0x475, out: 0x259784e69b17, outHI: 0x0
+sb :: offset: 0x476, out: 0xa3259784e69b17, outHI: 0x0
+sb :: offset: 0x477, out: 0x7ca3259784e69b17, outHI: 0x0
+sb :: offset: 0x478, out: 0x5c, outHI: 0x0
+sb :: offset: 0x479, out: 0x4f5c, outHI: 0x0
+sb :: offset: 0x47a, out: 0xf24f5c, outHI: 0x0
+sb :: offset: 0x47b, out: 0xa1f24f5c, outHI: 0x0
+sb :: offset: 0x47c, out: 0x3ca1f24f5c, outHI: 0x0
+sb :: offset: 0x47d, out: 0x543ca1f24f5c, outHI: 0x0
+sb :: offset: 0x47e, out: 0x8d543ca1f24f5c, outHI: 0x0
+sb :: offset: 0x47f, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sb :: offset: 0x480, out: 0x36, outHI: 0x0
+sb :: offset: 0x481, out: 0x9e36, outHI: 0x0
+sb :: offset: 0x482, out: 0x459e36, outHI: 0x0
+sb :: offset: 0x483, out: 0xe3459e36, outHI: 0x0
+sb :: offset: 0x484, out: 0xa0e3459e36, outHI: 0x0
+sb :: offset: 0x485, out: 0x6ca0e3459e36, outHI: 0x0
+sb :: offset: 0x486, out: 0xeb6ca0e3459e36, outHI: 0x0
+sb :: offset: 0x487, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sb :: offset: 0x488, out: 0xfa, outHI: 0x0
+sb :: offset: 0x489, out: 0x80fa, outHI: 0x0
+sb :: offset: 0x48a, out: 0x7980fa, outHI: 0x0
+sb :: offset: 0x48b, out: 0x187980fa, outHI: 0x0
+sb :: offset: 0x48c, out: 0x8e187980fa, outHI: 0x0
+sb :: offset: 0x48d, out: 0xe18e187980fa, outHI: 0x0
+sb :: offset: 0x48e, out: 0x32e18e187980fa, outHI: 0x0
+sb :: offset: 0x48f, out: 0xc532e18e187980fa, outHI: 0x0
+sb :: offset: 0x490, out: 0x1c, outHI: 0x0
+sb :: offset: 0x491, out: 0x7d1c, outHI: 0x0
+sb :: offset: 0x492, out: 0x287d1c, outHI: 0x0
+sb :: offset: 0x493, out: 0x4f287d1c, outHI: 0x0
+sb :: offset: 0x494, out: 0x294f287d1c, outHI: 0x0
+sb :: offset: 0x495, out: 0xec294f287d1c, outHI: 0x0
+sb :: offset: 0x496, out: 0xfdec294f287d1c, outHI: 0x0
+sb :: offset: 0x497, out: 0xb3fdec294f287d1c, outHI: 0x0
+sb :: offset: 0x498, out: 0x90, outHI: 0x0
+sb :: offset: 0x499, out: 0x2b90, outHI: 0x0
+sb :: offset: 0x49a, out: 0x732b90, outHI: 0x0
+sb :: offset: 0x49b, out: 0x49732b90, outHI: 0x0
+sb :: offset: 0x49c, out: 0xa49732b90, outHI: 0x0
+sb :: offset: 0x49d, out: 0x660a49732b90, outHI: 0x0
+sb :: offset: 0x49e, out: 0x20660a49732b90, outHI: 0x0
+sb :: offset: 0x49f, out: 0xb620660a49732b90, outHI: 0x0
+sb :: offset: 0x4a0, out: 0x91, outHI: 0x0
+sb :: offset: 0x4a1, out: 0xe991, outHI: 0x0
+sb :: offset: 0x4a2, out: 0xfde991, outHI: 0x0
+sb :: offset: 0x4a3, out: 0x6cfde991, outHI: 0x0
+sb :: offset: 0x4a4, out: 0xf16cfde991, outHI: 0x0
+sb :: offset: 0x4a5, out: 0x38f16cfde991, outHI: 0x0
+sb :: offset: 0x4a6, out: 0x3138f16cfde991, outHI: 0x0
+sb :: offset: 0x4a7, out: 0x993138f16cfde991, outHI: 0x0
+sb :: offset: 0x4a8, out: 0xb9, outHI: 0x0
+sb :: offset: 0x4a9, out: 0x7b9, outHI: 0x0
+sb :: offset: 0x4aa, out: 0x5407b9, outHI: 0x0
+sb :: offset: 0x4ab, out: 0x7d5407b9, outHI: 0x0
+sb :: offset: 0x4ac, out: 0x337d5407b9, outHI: 0x0
+sb :: offset: 0x4ad, out: 0xd1337d5407b9, outHI: 0x0
+sb :: offset: 0x4ae, out: 0x2d1337d5407b9, outHI: 0x0
+sb :: offset: 0x4af, out: 0xde02d1337d5407b9, outHI: 0x0
+sb :: offset: 0x4b0, out: 0x5a, outHI: 0x0
+sb :: offset: 0x4b1, out: 0xb15a, outHI: 0x0
+sb :: offset: 0x4b2, out: 0xdab15a, outHI: 0x0
+sb :: offset: 0x4b3, out: 0xe1dab15a, outHI: 0x0
+sb :: offset: 0x4b4, out: 0xe1e1dab15a, outHI: 0x0
+sb :: offset: 0x4b5, out: 0x90e1e1dab15a, outHI: 0x0
+sb :: offset: 0x4b6, out: 0xa390e1e1dab15a, outHI: 0x0
+sb :: offset: 0x4b7, out: 0x13a390e1e1dab15a, outHI: 0x0
+sb :: offset: 0x4b8, out: 0xc8, outHI: 0x0
+sb :: offset: 0x4b9, out: 0x16c8, outHI: 0x0
+sb :: offset: 0x4ba, out: 0x8716c8, outHI: 0x0
+sb :: offset: 0x4bb, out: 0x828716c8, outHI: 0x0
+sb :: offset: 0x4bc, out: 0xa6828716c8, outHI: 0x0
+sb :: offset: 0x4bd, out: 0x91a6828716c8, outHI: 0x0
+sb :: offset: 0x4be, out: 0x3491a6828716c8, outHI: 0x0
+sb :: offset: 0x4bf, out: 0x743491a6828716c8, outHI: 0x0
+sb :: offset: 0x4c0, out: 0xf2, outHI: 0x0
+sb :: offset: 0x4c1, out: 0x92f2, outHI: 0x0
+sb :: offset: 0x4c2, out: 0xe292f2, outHI: 0x0
+sb :: offset: 0x4c3, out: 0xede292f2, outHI: 0x0
+sb :: offset: 0x4c4, out: 0x4aede292f2, outHI: 0x0
+sb :: offset: 0x4c5, out: 0x404aede292f2, outHI: 0x0
+sb :: offset: 0x4c6, out: 0xff404aede292f2, outHI: 0x0
+sb :: offset: 0x4c7, out: 0x8cff404aede292f2, outHI: 0x0
+sb :: offset: 0x4c8, out: 0x36, outHI: 0x0
+sb :: offset: 0x4c9, out: 0x7636, outHI: 0x0
+sb :: offset: 0x4ca, out: 0x837636, outHI: 0x0
+sb :: offset: 0x4cb, out: 0x1f837636, outHI: 0x0
+sb :: offset: 0x4cc, out: 0xdb1f837636, outHI: 0x0
+sb :: offset: 0x4cd, out: 0xc0db1f837636, outHI: 0x0
+sb :: offset: 0x4ce, out: 0xcec0db1f837636, outHI: 0x0
+sb :: offset: 0x4cf, out: 0xb9cec0db1f837636, outHI: 0x0
+sb :: offset: 0x4d0, out: 0x1c, outHI: 0x0
+sb :: offset: 0x4d1, out: 0x771c, outHI: 0x0
+sb :: offset: 0x4d2, out: 0x9771c, outHI: 0x0
+sb :: offset: 0x4d3, out: 0x509771c, outHI: 0x0
+sb :: offset: 0x4d4, out: 0xa70509771c, outHI: 0x0
+sb :: offset: 0x4d5, out: 0x5aa70509771c, outHI: 0x0
+sb :: offset: 0x4d6, out: 0xaa5aa70509771c, outHI: 0x0
+sb :: offset: 0x4d7, out: 0x2eaa5aa70509771c, outHI: 0x0
+sb :: offset: 0x4d8, out: 0x1b, outHI: 0x0
+sb :: offset: 0x4d9, out: 0x241b, outHI: 0x0
+sb :: offset: 0x4da, out: 0x75241b, outHI: 0x0
+sb :: offset: 0x4db, out: 0x1875241b, outHI: 0x0
+sb :: offset: 0x4dc, out: 0x8e1875241b, outHI: 0x0
+sb :: offset: 0x4dd, out: 0x538e1875241b, outHI: 0x0
+sb :: offset: 0x4de, out: 0x27538e1875241b, outHI: 0x0
+sb :: offset: 0x4df, out: 0xd327538e1875241b, outHI: 0x0
+sb :: offset: 0x4e0, out: 0x6b, outHI: 0x0
+sb :: offset: 0x4e1, out: 0x9b6b, outHI: 0x0
+sb :: offset: 0x4e2, out: 0x739b6b, outHI: 0x0
+sb :: offset: 0x4e3, out: 0x8b739b6b, outHI: 0x0
+sb :: offset: 0x4e4, out: 0x548b739b6b, outHI: 0x0
+sb :: offset: 0x4e5, out: 0xf8548b739b6b, outHI: 0x0
+sb :: offset: 0x4e6, out: 0xe9f8548b739b6b, outHI: 0x0
+sb :: offset: 0x4e7, out: 0x42e9f8548b739b6b, outHI: 0x0
+sb :: offset: 0x4e8, out: 0x1a, outHI: 0x0
+sb :: offset: 0x4e9, out: 0xba1a, outHI: 0x0
+sb :: offset: 0x4ea, out: 0xcbba1a, outHI: 0x0
+sb :: offset: 0x4eb, out: 0xeccbba1a, outHI: 0x0
+sb :: offset: 0x4ec, out: 0xceccbba1a, outHI: 0x0
+sb :: offset: 0x4ed, out: 0xe50ceccbba1a, outHI: 0x0
+sb :: offset: 0x4ee, out: 0xe4e50ceccbba1a, outHI: 0x0
+sb :: offset: 0x4ef, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sb :: offset: 0x4f0, out: 0xcb, outHI: 0x0
+sb :: offset: 0x4f1, out: 0x27cb, outHI: 0x0
+sb :: offset: 0x4f2, out: 0x9d27cb, outHI: 0x0
+sb :: offset: 0x4f3, out: 0xcd9d27cb, outHI: 0x0
+sb :: offset: 0x4f4, out: 0x3fcd9d27cb, outHI: 0x0
+sb :: offset: 0x4f5, out: 0xfa3fcd9d27cb, outHI: 0x0
+sb :: offset: 0x4f6, out: 0xb6fa3fcd9d27cb, outHI: 0x0
+sb :: offset: 0x4f7, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sb :: offset: 0x4f8, out: 0x23, outHI: 0x0
+sb :: offset: 0x4f9, out: 0x9423, outHI: 0x0
+sb :: offset: 0x4fa, out: 0x3e9423, outHI: 0x0
+sb :: offset: 0x4fb, out: 0xae3e9423, outHI: 0x0
+sb :: offset: 0x4fc, out: 0x83ae3e9423, outHI: 0x0
+sb :: offset: 0x4fd, out: 0x6483ae3e9423, outHI: 0x0
+sb :: offset: 0x4fe, out: 0x916483ae3e9423, outHI: 0x0
+sb :: offset: 0x4ff, out: 0x73916483ae3e9423, outHI: 0x0
+sb :: offset: 0x500, out: 0x61, outHI: 0x0
+sb :: offset: 0x501, out: 0x8561, outHI: 0x0
+sb :: offset: 0x502, out: 0x128561, outHI: 0x0
+sb :: offset: 0x503, out: 0xe128561, outHI: 0x0
+sb :: offset: 0x504, out: 0xa0e128561, outHI: 0x0
+sb :: offset: 0x505, out: 0xf70a0e128561, outHI: 0x0
+sb :: offset: 0x506, out: 0x6af70a0e128561, outHI: 0x0
+sb :: offset: 0x507, out: 0x276af70a0e128561, outHI: 0x0
+sb :: offset: 0x508, out: 0x6e, outHI: 0x0
+sb :: offset: 0x509, out: 0x4b6e, outHI: 0x0
+sb :: offset: 0x50a, out: 0xe74b6e, outHI: 0x0
+sb :: offset: 0x50b, out: 0xb5e74b6e, outHI: 0x0
+sb :: offset: 0x50c, out: 0xf6b5e74b6e, outHI: 0x0
+sb :: offset: 0x50d, out: 0x5bf6b5e74b6e, outHI: 0x0
+sb :: offset: 0x50e, out: 0x45bf6b5e74b6e, outHI: 0x0
+sb :: offset: 0x50f, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sb :: offset: 0x510, out: 0xa6, outHI: 0x0
+sb :: offset: 0x511, out: 0xcfa6, outHI: 0x0
+sb :: offset: 0x512, out: 0xaccfa6, outHI: 0x0
+sb :: offset: 0x513, out: 0x8accfa6, outHI: 0x0
+sb :: offset: 0x514, out: 0x1308accfa6, outHI: 0x0
+sb :: offset: 0x515, out: 0x3f1308accfa6, outHI: 0x0
+sb :: offset: 0x516, out: 0x223f1308accfa6, outHI: 0x0
+sb :: offset: 0x517, out: 0x20223f1308accfa6, outHI: 0x0
+sb :: offset: 0x518, out: 0xf5, outHI: 0x0
+sb :: offset: 0x519, out: 0xb5f5, outHI: 0x0
+sb :: offset: 0x51a, out: 0x76b5f5, outHI: 0x0
+sb :: offset: 0x51b, out: 0x3976b5f5, outHI: 0x0
+sb :: offset: 0x51c, out: 0x743976b5f5, outHI: 0x0
+sb :: offset: 0x51d, out: 0x55743976b5f5, outHI: 0x0
+sb :: offset: 0x51e, out: 0x3c55743976b5f5, outHI: 0x0
+sb :: offset: 0x51f, out: 0xf83c55743976b5f5, outHI: 0x0
+sb :: offset: 0x520, out: 0x3d, outHI: 0x0
+sb :: offset: 0x521, out: 0x3c3d, outHI: 0x0
+sb :: offset: 0x522, out: 0x923c3d, outHI: 0x0
+sb :: offset: 0x523, out: 0x46923c3d, outHI: 0x0
+sb :: offset: 0x524, out: 0xf946923c3d, outHI: 0x0
+sb :: offset: 0x525, out: 0x20f946923c3d, outHI: 0x0
+sb :: offset: 0x526, out: 0x9720f946923c3d, outHI: 0x0
+sb :: offset: 0x527, out: 0x1f9720f946923c3d, outHI: 0x0
+sb :: offset: 0x528, out: 0xdd, outHI: 0x0
+sb :: offset: 0x529, out: 0x48dd, outHI: 0x0
+sb :: offset: 0x52a, out: 0x2448dd, outHI: 0x0
+sb :: offset: 0x52b, out: 0x6d2448dd, outHI: 0x0
+sb :: offset: 0x52c, out: 0x506d2448dd, outHI: 0x0
+sb :: offset: 0x52d, out: 0x28506d2448dd, outHI: 0x0
+sb :: offset: 0x52e, out: 0xd28506d2448dd, outHI: 0x0
+sb :: offset: 0x52f, out: 0x620d28506d2448dd, outHI: 0x0
+sb :: offset: 0x530, out: 0x32, outHI: 0x0
+sb :: offset: 0x531, out: 0xa732, outHI: 0x0
+sb :: offset: 0x532, out: 0xf4a732, outHI: 0x0
+sb :: offset: 0x533, out: 0x9ff4a732, outHI: 0x0
+sb :: offset: 0x534, out: 0xe99ff4a732, outHI: 0x0
+sb :: offset: 0x535, out: 0x21e99ff4a732, outHI: 0x0
+sb :: offset: 0x536, out: 0xa521e99ff4a732, outHI: 0x0
+sb :: offset: 0x537, out: 0x60a521e99ff4a732, outHI: 0x0
+sb :: offset: 0x538, out: 0xb, outHI: 0x0
+sb :: offset: 0x539, out: 0xf0b, outHI: 0x0
+sb :: offset: 0x53a, out: 0x680f0b, outHI: 0x0
+sb :: offset: 0x53b, out: 0x5c680f0b, outHI: 0x0
+sb :: offset: 0x53c, out: 0xab5c680f0b, outHI: 0x0
+sb :: offset: 0x53d, out: 0xf3ab5c680f0b, outHI: 0x0
+sb :: offset: 0x53e, out: 0x8f3ab5c680f0b, outHI: 0x0
+sb :: offset: 0x53f, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sb :: offset: 0x540, out: 0x26, outHI: 0x0
+sb :: offset: 0x541, out: 0x3d26, outHI: 0x0
+sb :: offset: 0x542, out: 0xf3d26, outHI: 0x0
+sb :: offset: 0x543, out: 0x800f3d26, outHI: 0x0
+sb :: offset: 0x544, out: 0xe7800f3d26, outHI: 0x0
+sb :: offset: 0x545, out: 0x9be7800f3d26, outHI: 0x0
+sb :: offset: 0x546, out: 0xa59be7800f3d26, outHI: 0x0
+sb :: offset: 0x547, out: 0xc7a59be7800f3d26, outHI: 0x0
+sb :: offset: 0x548, out: 0x41, outHI: 0x0
+sb :: offset: 0x549, out: 0x1b41, outHI: 0x0
+sb :: offset: 0x54a, out: 0xca1b41, outHI: 0x0
+sb :: offset: 0x54b, out: 0x82ca1b41, outHI: 0x0
+sb :: offset: 0x54c, out: 0x2982ca1b41, outHI: 0x0
+sb :: offset: 0x54d, out: 0xdf2982ca1b41, outHI: 0x0
+sb :: offset: 0x54e, out: 0xecdf2982ca1b41, outHI: 0x0
+sb :: offset: 0x54f, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sb :: offset: 0x550, out: 0xcd, outHI: 0x0
+sb :: offset: 0x551, out: 0x9dcd, outHI: 0x0
+sb :: offset: 0x552, out: 0xd19dcd, outHI: 0x0
+sb :: offset: 0x553, out: 0x60d19dcd, outHI: 0x0
+sb :: offset: 0x554, out: 0xa260d19dcd, outHI: 0x0
+sb :: offset: 0x555, out: 0x13a260d19dcd, outHI: 0x0
+sb :: offset: 0x556, out: 0x8613a260d19dcd, outHI: 0x0
+sb :: offset: 0x557, out: 0x2b8613a260d19dcd, outHI: 0x0
+sb :: offset: 0x558, out: 0x7f, outHI: 0x0
+sb :: offset: 0x559, out: 0xbe7f, outHI: 0x0
+sb :: offset: 0x55a, out: 0x8bbe7f, outHI: 0x0
+sb :: offset: 0x55b, out: 0xe8bbe7f, outHI: 0x0
+sb :: offset: 0x55c, out: 0x8b0e8bbe7f, outHI: 0x0
+sb :: offset: 0x55d, out: 0xac8b0e8bbe7f, outHI: 0x0
+sb :: offset: 0x55e, out: 0x18ac8b0e8bbe7f, outHI: 0x0
+sb :: offset: 0x55f, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sb :: offset: 0x560, out: 0x6b, outHI: 0x0
+sb :: offset: 0x561, out: 0x486b, outHI: 0x0
+sb :: offset: 0x562, out: 0xcf486b, outHI: 0x0
+sb :: offset: 0x563, out: 0x2fcf486b, outHI: 0x0
+sb :: offset: 0x564, out: 0x8d2fcf486b, outHI: 0x0
+sb :: offset: 0x565, out: 0x568d2fcf486b, outHI: 0x0
+sb :: offset: 0x566, out: 0x3e568d2fcf486b, outHI: 0x0
+sb :: offset: 0x567, out: 0x743e568d2fcf486b, outHI: 0x0
+sb :: offset: 0x568, out: 0x28, outHI: 0x0
+sb :: offset: 0x569, out: 0x1728, outHI: 0x0
+sb :: offset: 0x56a, out: 0xc31728, outHI: 0x0
+sb :: offset: 0x56b, out: 0x34c31728, outHI: 0x0
+sb :: offset: 0x56c, out: 0x6f34c31728, outHI: 0x0
+sb :: offset: 0x56d, out: 0x646f34c31728, outHI: 0x0
+sb :: offset: 0x56e, out: 0x6f646f34c31728, outHI: 0x0
+sb :: offset: 0x56f, out: 0x126f646f34c31728, outHI: 0x0
+sb :: offset: 0x570, out: 0x12, outHI: 0x0
+sb :: offset: 0x571, out: 0x4d12, outHI: 0x0
+sb :: offset: 0x572, out: 0xfc4d12, outHI: 0x0
+sb :: offset: 0x573, out: 0x56fc4d12, outHI: 0x0
+sb :: offset: 0x574, out: 0x6156fc4d12, outHI: 0x0
+sb :: offset: 0x575, out: 0x196156fc4d12, outHI: 0x0
+sb :: offset: 0x576, out: 0xb0196156fc4d12, outHI: 0x0
+sb :: offset: 0x577, out: 0xaab0196156fc4d12, outHI: 0x0
+sb :: offset: 0x578, out: 0x42, outHI: 0x0
+sb :: offset: 0x579, out: 0xd342, outHI: 0x0
+sb :: offset: 0x57a, out: 0x95d342, outHI: 0x0
+sb :: offset: 0x57b, out: 0x8595d342, outHI: 0x0
+sb :: offset: 0x57c, out: 0x338595d342, outHI: 0x0
+sb :: offset: 0x57d, out: 0xcd338595d342, outHI: 0x0
+sb :: offset: 0x57e, out: 0x35cd338595d342, outHI: 0x0
+sb :: offset: 0x57f, out: 0x7535cd338595d342, outHI: 0x0
+sb :: offset: 0x580, out: 0xec, outHI: 0x0
+sb :: offset: 0x581, out: 0x46ec, outHI: 0x0
+sb :: offset: 0x582, out: 0x2346ec, outHI: 0x0
+sb :: offset: 0x583, out: 0x422346ec, outHI: 0x0
+sb :: offset: 0x584, out: 0xda422346ec, outHI: 0x0
+sb :: offset: 0x585, out: 0x54da422346ec, outHI: 0x0
+sb :: offset: 0x586, out: 0xb254da422346ec, outHI: 0x0
+sb :: offset: 0x587, out: 0xdfb254da422346ec, outHI: 0x0
+sb :: offset: 0x588, out: 0x2a, outHI: 0x0
+sb :: offset: 0x589, out: 0xab2a, outHI: 0x0
+sb :: offset: 0x58a, out: 0x81ab2a, outHI: 0x0
+sb :: offset: 0x58b, out: 0x81ab2a, outHI: 0x0
+sb :: offset: 0x58c, out: 0xc90081ab2a, outHI: 0x0
+sb :: offset: 0x58d, out: 0x26c90081ab2a, outHI: 0x0
+sb :: offset: 0x58e, out: 0x6726c90081ab2a, outHI: 0x0
+sb :: offset: 0x58f, out: 0xa86726c90081ab2a, outHI: 0x0
+sb :: offset: 0x590, out: 0x38, outHI: 0x0
+sb :: offset: 0x591, out: 0x7438, outHI: 0x0
+sb :: offset: 0x592, out: 0x9d7438, outHI: 0x0
+sb :: offset: 0x593, out: 0x679d7438, outHI: 0x0
+sb :: offset: 0x594, out: 0xa1679d7438, outHI: 0x0
+sb :: offset: 0x595, out: 0xffa1679d7438, outHI: 0x0
+sb :: offset: 0x596, out: 0xfeffa1679d7438, outHI: 0x0
+sb :: offset: 0x597, out: 0x9bfeffa1679d7438, outHI: 0x0
+sb :: offset: 0x598, out: 0x44, outHI: 0x0
+sb :: offset: 0x599, out: 0xe244, outHI: 0x0
+sb :: offset: 0x59a, out: 0xdee244, outHI: 0x0
+sb :: offset: 0x59b, out: 0xb7dee244, outHI: 0x0
+sb :: offset: 0x59c, out: 0x26b7dee244, outHI: 0x0
+sb :: offset: 0x59d, out: 0x9826b7dee244, outHI: 0x0
+sb :: offset: 0x59e, out: 0x699826b7dee244, outHI: 0x0
+sb :: offset: 0x59f, out: 0xc7699826b7dee244, outHI: 0x0
+sb :: offset: 0x5a0, out: 0x4a, outHI: 0x0
+sb :: offset: 0x5a1, out: 0x704a, outHI: 0x0
+sb :: offset: 0x5a2, out: 0xa6704a, outHI: 0x0
+sb :: offset: 0x5a3, out: 0xfba6704a, outHI: 0x0
+sb :: offset: 0x5a4, out: 0x97fba6704a, outHI: 0x0
+sb :: offset: 0x5a5, out: 0xaf97fba6704a, outHI: 0x0
+sb :: offset: 0x5a6, out: 0x7af97fba6704a, outHI: 0x0
+sb :: offset: 0x5a7, out: 0x3c07af97fba6704a, outHI: 0x0
+sb :: offset: 0x5a8, out: 0xfe, outHI: 0x0
+sb :: offset: 0x5a9, out: 0x8bfe, outHI: 0x0
+sb :: offset: 0x5aa, out: 0xc58bfe, outHI: 0x0
+sb :: offset: 0x5ab, out: 0x4c58bfe, outHI: 0x0
+sb :: offset: 0x5ac, out: 0xdc04c58bfe, outHI: 0x0
+sb :: offset: 0x5ad, out: 0x64dc04c58bfe, outHI: 0x0
+sb :: offset: 0x5ae, out: 0x1364dc04c58bfe, outHI: 0x0
+sb :: offset: 0x5af, out: 0x521364dc04c58bfe, outHI: 0x0
+sb :: offset: 0x5b0, out: 0xbc, outHI: 0x0
+sb :: offset: 0x5b1, out: 0xaebc, outHI: 0x0
+sb :: offset: 0x5b2, out: 0xb7aebc, outHI: 0x0
+sb :: offset: 0x5b3, out: 0x9ab7aebc, outHI: 0x0
+sb :: offset: 0x5b4, out: 0x589ab7aebc, outHI: 0x0
+sb :: offset: 0x5b5, out: 0xbb589ab7aebc, outHI: 0x0
+sb :: offset: 0x5b6, out: 0xf7bb589ab7aebc, outHI: 0x0
+sb :: offset: 0x5b7, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sb :: offset: 0x5b8, out: 0x4d, outHI: 0x0
+sb :: offset: 0x5b9, out: 0x954d, outHI: 0x0
+sb :: offset: 0x5ba, out: 0xeb954d, outHI: 0x0
+sb :: offset: 0x5bb, out: 0xdeeb954d, outHI: 0x0
+sb :: offset: 0x5bc, out: 0xcdeeb954d, outHI: 0x0
+sb :: offset: 0x5bd, out: 0xc60cdeeb954d, outHI: 0x0
+sb :: offset: 0x5be, out: 0x36c60cdeeb954d, outHI: 0x0
+sb :: offset: 0x5bf, out: 0xe336c60cdeeb954d, outHI: 0x0
+sb :: offset: 0x5c0, out: 0x6e, outHI: 0x0
+sb :: offset: 0x5c1, out: 0x416e, outHI: 0x0
+sb :: offset: 0x5c2, out: 0x52416e, outHI: 0x0
+sb :: offset: 0x5c3, out: 0x6f52416e, outHI: 0x0
+sb :: offset: 0x5c4, out: 0xc6f52416e, outHI: 0x0
+sb :: offset: 0x5c5, out: 0x120c6f52416e, outHI: 0x0
+sb :: offset: 0x5c6, out: 0xb2120c6f52416e, outHI: 0x0
+sb :: offset: 0x5c7, out: 0xd5b2120c6f52416e, outHI: 0x0
+sb :: offset: 0x5c8, out: 0x34, outHI: 0x0
+sb :: offset: 0x5c9, out: 0x8a34, outHI: 0x0
+sb :: offset: 0x5ca, out: 0x628a34, outHI: 0x0
+sb :: offset: 0x5cb, out: 0x7e628a34, outHI: 0x0
+sb :: offset: 0x5cc, out: 0xff7e628a34, outHI: 0x0
+sb :: offset: 0x5cd, out: 0xd4ff7e628a34, outHI: 0x0
+sb :: offset: 0x5ce, out: 0xa2d4ff7e628a34, outHI: 0x0
+sb :: offset: 0x5cf, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sb :: offset: 0x5d0, out: 0x7, outHI: 0x0
+sb :: offset: 0x5d1, out: 0x7e07, outHI: 0x0
+sb :: offset: 0x5d2, out: 0x4e7e07, outHI: 0x0
+sb :: offset: 0x5d3, out: 0x4a4e7e07, outHI: 0x0
+sb :: offset: 0x5d4, out: 0x654a4e7e07, outHI: 0x0
+sb :: offset: 0x5d5, out: 0x2b654a4e7e07, outHI: 0x0
+sb :: offset: 0x5d6, out: 0x6a2b654a4e7e07, outHI: 0x0
+sb :: offset: 0x5d7, out: 0x986a2b654a4e7e07, outHI: 0x0
+sb :: offset: 0x5d8, out: 0x55, outHI: 0x0
+sb :: offset: 0x5d9, out: 0x9b55, outHI: 0x0
+sb :: offset: 0x5da, out: 0x489b55, outHI: 0x0
+sb :: offset: 0x5db, out: 0x3a489b55, outHI: 0x0
+sb :: offset: 0x5dc, out: 0xc43a489b55, outHI: 0x0
+sb :: offset: 0x5dd, out: 0xeac43a489b55, outHI: 0x0
+sb :: offset: 0x5de, out: 0x74eac43a489b55, outHI: 0x0
+sb :: offset: 0x5df, out: 0xa974eac43a489b55, outHI: 0x0
+sb :: offset: 0x5e0, out: 0xf5, outHI: 0x0
+sb :: offset: 0x5e1, out: 0xf8f5, outHI: 0x0
+sb :: offset: 0x5e2, out: 0xf1f8f5, outHI: 0x0
+sb :: offset: 0x5e3, out: 0x72f1f8f5, outHI: 0x0
+sb :: offset: 0x5e4, out: 0x6272f1f8f5, outHI: 0x0
+sb :: offset: 0x5e5, out: 0xc16272f1f8f5, outHI: 0x0
+sb :: offset: 0x5e6, out: 0x88c16272f1f8f5, outHI: 0x0
+sb :: offset: 0x5e7, out: 0xa388c16272f1f8f5, outHI: 0x0
+sb :: offset: 0x5e8, out: 0xa9, outHI: 0x0
+sb :: offset: 0x5e9, out: 0x5ea9, outHI: 0x0
+sb :: offset: 0x5ea, out: 0x495ea9, outHI: 0x0
+sb :: offset: 0x5eb, out: 0xe7495ea9, outHI: 0x0
+sb :: offset: 0x5ec, out: 0x45e7495ea9, outHI: 0x0
+sb :: offset: 0x5ed, out: 0x1f45e7495ea9, outHI: 0x0
+sb :: offset: 0x5ee, out: 0xc11f45e7495ea9, outHI: 0x0
+sb :: offset: 0x5ef, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sb :: offset: 0x5f0, out: 0xb4, outHI: 0x0
+sb :: offset: 0x5f1, out: 0xc8b4, outHI: 0x0
+sb :: offset: 0x5f2, out: 0xc1c8b4, outHI: 0x0
+sb :: offset: 0x5f3, out: 0x5cc1c8b4, outHI: 0x0
+sb :: offset: 0x5f4, out: 0x765cc1c8b4, outHI: 0x0
+sb :: offset: 0x5f5, out: 0x5a765cc1c8b4, outHI: 0x0
+sb :: offset: 0x5f6, out: 0xaa5a765cc1c8b4, outHI: 0x0
+sb :: offset: 0x5f7, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sb :: offset: 0x5f8, out: 0xc0, outHI: 0x0
+sb :: offset: 0x5f9, out: 0x5c0, outHI: 0x0
+sb :: offset: 0x5fa, out: 0xa605c0, outHI: 0x0
+sb :: offset: 0x5fb, out: 0xdfa605c0, outHI: 0x0
+sb :: offset: 0x5fc, out: 0x88dfa605c0, outHI: 0x0
+sb :: offset: 0x5fd, out: 0xce88dfa605c0, outHI: 0x0
+sb :: offset: 0x5fe, out: 0xb4ce88dfa605c0, outHI: 0x0
+sb :: offset: 0x5ff, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sb :: offset: 0x600, out: 0x4f, outHI: 0x0
+sb :: offset: 0x601, out: 0xb04f, outHI: 0x0
+sb :: offset: 0x602, out: 0xa7b04f, outHI: 0x0
+sb :: offset: 0x603, out: 0x59a7b04f, outHI: 0x0
+sb :: offset: 0x604, out: 0xe659a7b04f, outHI: 0x0
+sb :: offset: 0x605, out: 0xd6e659a7b04f, outHI: 0x0
+sb :: offset: 0x606, out: 0x2ad6e659a7b04f, outHI: 0x0
+sb :: offset: 0x607, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sb :: offset: 0x608, out: 0x2f, outHI: 0x0
+sb :: offset: 0x609, out: 0x922f, outHI: 0x0
+sb :: offset: 0x60a, out: 0x28922f, outHI: 0x0
+sb :: offset: 0x60b, out: 0xb728922f, outHI: 0x0
+sb :: offset: 0x60c, out: 0x5ab728922f, outHI: 0x0
+sb :: offset: 0x60d, out: 0x485ab728922f, outHI: 0x0
+sb :: offset: 0x60e, out: 0xf8485ab728922f, outHI: 0x0
+sb :: offset: 0x60f, out: 0x4bf8485ab728922f, outHI: 0x0
+sb :: offset: 0x610, out: 0xfb, outHI: 0x0
+sb :: offset: 0x611, out: 0xa7fb, outHI: 0x0
+sb :: offset: 0x612, out: 0x66a7fb, outHI: 0x0
+sb :: offset: 0x613, out: 0x3b66a7fb, outHI: 0x0
+sb :: offset: 0x614, out: 0xc3b66a7fb, outHI: 0x0
+sb :: offset: 0x615, out: 0xd60c3b66a7fb, outHI: 0x0
+sb :: offset: 0x616, out: 0xa3d60c3b66a7fb, outHI: 0x0
+sb :: offset: 0x617, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sb :: offset: 0x618, out: 0xda, outHI: 0x0
+sb :: offset: 0x619, out: 0x8eda, outHI: 0x0
+sb :: offset: 0x61a, out: 0xc28eda, outHI: 0x0
+sb :: offset: 0x61b, out: 0xfdc28eda, outHI: 0x0
+sb :: offset: 0x61c, out: 0xaffdc28eda, outHI: 0x0
+sb :: offset: 0x61d, out: 0xc6affdc28eda, outHI: 0x0
+sb :: offset: 0x61e, out: 0xe0c6affdc28eda, outHI: 0x0
+sb :: offset: 0x61f, out: 0x31e0c6affdc28eda, outHI: 0x0
+sb :: offset: 0x620, out: 0x9d, outHI: 0x0
+sb :: offset: 0x621, out: 0x999d, outHI: 0x0
+sb :: offset: 0x622, out: 0xc999d, outHI: 0x0
+sb :: offset: 0x623, out: 0xbf0c999d, outHI: 0x0
+sb :: offset: 0x624, out: 0xb4bf0c999d, outHI: 0x0
+sb :: offset: 0x625, out: 0x6bb4bf0c999d, outHI: 0x0
+sb :: offset: 0x626, out: 0x606bb4bf0c999d, outHI: 0x0
+sb :: offset: 0x627, out: 0x53606bb4bf0c999d, outHI: 0x0
+sb :: offset: 0x628, out: 0xf0, outHI: 0x0
+sb :: offset: 0x629, out: 0x19f0, outHI: 0x0
+sb :: offset: 0x62a, out: 0x7919f0, outHI: 0x0
+sb :: offset: 0x62b, out: 0x1b7919f0, outHI: 0x0
+sb :: offset: 0x62c, out: 0xc81b7919f0, outHI: 0x0
+sb :: offset: 0x62d, out: 0x12c81b7919f0, outHI: 0x0
+sb :: offset: 0x62e, out: 0xfc12c81b7919f0, outHI: 0x0
+sb :: offset: 0x62f, out: 0x32fc12c81b7919f0, outHI: 0x0
+sb :: offset: 0x630, out: 0xd6, outHI: 0x0
+sb :: offset: 0x631, out: 0xfcd6, outHI: 0x0
+sb :: offset: 0x632, out: 0x2efcd6, outHI: 0x0
+sb :: offset: 0x633, out: 0xc72efcd6, outHI: 0x0
+sb :: offset: 0x634, out: 0x84c72efcd6, outHI: 0x0
+sb :: offset: 0x635, out: 0x8384c72efcd6, outHI: 0x0
+sb :: offset: 0x636, out: 0xf88384c72efcd6, outHI: 0x0
+sb :: offset: 0x637, out: 0x3ef88384c72efcd6, outHI: 0x0
+sb :: offset: 0x638, out: 0x80, outHI: 0x0
+sb :: offset: 0x639, out: 0x3580, outHI: 0x0
+sb :: offset: 0x63a, out: 0x2a3580, outHI: 0x0
+sb :: offset: 0x63b, out: 0x6a2a3580, outHI: 0x0
+sb :: offset: 0x63c, out: 0xbb6a2a3580, outHI: 0x0
+sb :: offset: 0x63d, out: 0xc7bb6a2a3580, outHI: 0x0
+sb :: offset: 0x63e, out: 0xb1c7bb6a2a3580, outHI: 0x0
+sb :: offset: 0x63f, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sb :: offset: 0x640, out: 0xc9, outHI: 0x0
+sb :: offset: 0x641, out: 0x77c9, outHI: 0x0
+sb :: offset: 0x642, out: 0xca77c9, outHI: 0x0
+sb :: offset: 0x643, out: 0x1dca77c9, outHI: 0x0
+sb :: offset: 0x644, out: 0x121dca77c9, outHI: 0x0
+sb :: offset: 0x645, out: 0xf6121dca77c9, outHI: 0x0
+sb :: offset: 0x646, out: 0xebf6121dca77c9, outHI: 0x0
+sb :: offset: 0x647, out: 0x15ebf6121dca77c9, outHI: 0x0
+sb :: offset: 0x648, out: 0xae, outHI: 0x0
+sb :: offset: 0x649, out: 0x47ae, outHI: 0x0
+sb :: offset: 0x64a, out: 0x9147ae, outHI: 0x0
+sb :: offset: 0x64b, out: 0xfd9147ae, outHI: 0x0
+sb :: offset: 0x64c, out: 0xd9fd9147ae, outHI: 0x0
+sb :: offset: 0x64d, out: 0xcdd9fd9147ae, outHI: 0x0
+sb :: offset: 0x64e, out: 0xaacdd9fd9147ae, outHI: 0x0
+sb :: offset: 0x64f, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sb :: offset: 0x650, out: 0x17, outHI: 0x0
+sb :: offset: 0x651, out: 0x1117, outHI: 0x0
+sb :: offset: 0x652, out: 0xe91117, outHI: 0x0
+sb :: offset: 0x653, out: 0x81e91117, outHI: 0x0
+sb :: offset: 0x654, out: 0xf981e91117, outHI: 0x0
+sb :: offset: 0x655, out: 0x70f981e91117, outHI: 0x0
+sb :: offset: 0x656, out: 0x8470f981e91117, outHI: 0x0
+sb :: offset: 0x657, out: 0xbb8470f981e91117, outHI: 0x0
+sb :: offset: 0x658, out: 0xe0, outHI: 0x0
+sb :: offset: 0x659, out: 0x32e0, outHI: 0x0
+sb :: offset: 0x65a, out: 0xa532e0, outHI: 0x0
+sb :: offset: 0x65b, out: 0xc6a532e0, outHI: 0x0
+sb :: offset: 0x65c, out: 0xeac6a532e0, outHI: 0x0
+sb :: offset: 0x65d, out: 0x2aeac6a532e0, outHI: 0x0
+sb :: offset: 0x65e, out: 0xd42aeac6a532e0, outHI: 0x0
+sb :: offset: 0x65f, out: 0x5d42aeac6a532e0, outHI: 0x0
+sb :: offset: 0x660, out: 0x63, outHI: 0x0
+sb :: offset: 0x661, out: 0x9e63, outHI: 0x0
+sb :: offset: 0x662, out: 0xfb9e63, outHI: 0x0
+sb :: offset: 0x663, out: 0x19fb9e63, outHI: 0x0
+sb :: offset: 0x664, out: 0x6419fb9e63, outHI: 0x0
+sb :: offset: 0x665, out: 0xf36419fb9e63, outHI: 0x0
+sb :: offset: 0x666, out: 0xabf36419fb9e63, outHI: 0x0
+sb :: offset: 0x667, out: 0x14abf36419fb9e63, outHI: 0x0
+sb :: offset: 0x668, out: 0xac, outHI: 0x0
+sb :: offset: 0x669, out: 0x2aac, outHI: 0x0
+sb :: offset: 0x66a, out: 0xd72aac, outHI: 0x0
+sb :: offset: 0x66b, out: 0xa8d72aac, outHI: 0x0
+sb :: offset: 0x66c, out: 0x9aa8d72aac, outHI: 0x0
+sb :: offset: 0x66d, out: 0x559aa8d72aac, outHI: 0x0
+sb :: offset: 0x66e, out: 0x9d559aa8d72aac, outHI: 0x0
+sb :: offset: 0x66f, out: 0x249d559aa8d72aac, outHI: 0x0
+sb :: offset: 0x670, out: 0xec, outHI: 0x0
+sb :: offset: 0x671, out: 0x30ec, outHI: 0x0
+sb :: offset: 0x672, out: 0x4b30ec, outHI: 0x0
+sb :: offset: 0x673, out: 0x84b30ec, outHI: 0x0
+sb :: offset: 0x674, out: 0x4f084b30ec, outHI: 0x0
+sb :: offset: 0x675, out: 0x764f084b30ec, outHI: 0x0
+sb :: offset: 0x676, out: 0xd6764f084b30ec, outHI: 0x0
+sb :: offset: 0x677, out: 0xcd6764f084b30ec, outHI: 0x0
+sb :: offset: 0x678, out: 0xdf, outHI: 0x0
+sb :: offset: 0x679, out: 0x8fdf, outHI: 0x0
+sb :: offset: 0x67a, out: 0x468fdf, outHI: 0x0
+sb :: offset: 0x67b, out: 0x92468fdf, outHI: 0x0
+sb :: offset: 0x67c, out: 0x792468fdf, outHI: 0x0
+sb :: offset: 0x67d, out: 0xac0792468fdf, outHI: 0x0
+sb :: offset: 0x67e, out: 0x3ac0792468fdf, outHI: 0x0
+sb :: offset: 0x67f, out: 0x7f03ac0792468fdf, outHI: 0x0
+sb :: offset: 0x680, out: 0xf5, outHI: 0x0
+sb :: offset: 0x681, out: 0x70f5, outHI: 0x0
+sb :: offset: 0x682, out: 0xe670f5, outHI: 0x0
+sb :: offset: 0x683, out: 0x56e670f5, outHI: 0x0
+sb :: offset: 0x684, out: 0x6d56e670f5, outHI: 0x0
+sb :: offset: 0x685, out: 0xce6d56e670f5, outHI: 0x0
+sb :: offset: 0x686, out: 0x35ce6d56e670f5, outHI: 0x0
+sb :: offset: 0x687, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sb :: offset: 0x688, out: 0x11, outHI: 0x0
+sb :: offset: 0x689, out: 0x2711, outHI: 0x0
+sb :: offset: 0x68a, out: 0x652711, outHI: 0x0
+sb :: offset: 0x68b, out: 0x1a652711, outHI: 0x0
+sb :: offset: 0x68c, out: 0x591a652711, outHI: 0x0
+sb :: offset: 0x68d, out: 0x28591a652711, outHI: 0x0
+sb :: offset: 0x68e, out: 0x2828591a652711, outHI: 0x0
+sb :: offset: 0x68f, out: 0x152828591a652711, outHI: 0x0
+sb :: offset: 0x690, out: 0xfb, outHI: 0x0
+sb :: offset: 0x691, out: 0xa9fb, outHI: 0x0
+sb :: offset: 0x692, out: 0x15a9fb, outHI: 0x0
+sb :: offset: 0x693, out: 0xd215a9fb, outHI: 0x0
+sb :: offset: 0x694, out: 0x83d215a9fb, outHI: 0x0
+sb :: offset: 0x695, out: 0x3283d215a9fb, outHI: 0x0
+sb :: offset: 0x696, out: 0x1c3283d215a9fb, outHI: 0x0
+sb :: offset: 0x697, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sb :: offset: 0x698, out: 0x17, outHI: 0x0
+sb :: offset: 0x699, out: 0x417, outHI: 0x0
+sb :: offset: 0x69a, out: 0x2a0417, outHI: 0x0
+sb :: offset: 0x69b, out: 0x282a0417, outHI: 0x0
+sb :: offset: 0x69c, out: 0x49282a0417, outHI: 0x0
+sb :: offset: 0x69d, out: 0xc049282a0417, outHI: 0x0
+sb :: offset: 0x69e, out: 0x95c049282a0417, outHI: 0x0
+sb :: offset: 0x69f, out: 0x8d95c049282a0417, outHI: 0x0
+sb :: offset: 0x6a0, out: 0xf3, outHI: 0x0
+sb :: offset: 0x6a1, out: 0x58f3, outHI: 0x0
+sb :: offset: 0x6a2, out: 0x8058f3, outHI: 0x0
+sb :: offset: 0x6a3, out: 0x978058f3, outHI: 0x0
+sb :: offset: 0x6a4, out: 0x90978058f3, outHI: 0x0
+sb :: offset: 0x6a5, out: 0xa490978058f3, outHI: 0x0
+sb :: offset: 0x6a6, out: 0xe7a490978058f3, outHI: 0x0
+sb :: offset: 0x6a7, out: 0xf2e7a490978058f3, outHI: 0x0
+sb :: offset: 0x6a8, out: 0xaa, outHI: 0x0
+sb :: offset: 0x6a9, out: 0xb1aa, outHI: 0x0
+sb :: offset: 0x6aa, out: 0x75b1aa, outHI: 0x0
+sb :: offset: 0x6ab, out: 0x975b1aa, outHI: 0x0
+sb :: offset: 0x6ac, out: 0xca0975b1aa, outHI: 0x0
+sb :: offset: 0x6ad, out: 0x4cca0975b1aa, outHI: 0x0
+sb :: offset: 0x6ae, out: 0x5b4cca0975b1aa, outHI: 0x0
+sb :: offset: 0x6af, out: 0x775b4cca0975b1aa, outHI: 0x0
+sb :: offset: 0x6b0, out: 0x20, outHI: 0x0
+sb :: offset: 0x6b1, out: 0x1020, outHI: 0x0
+sb :: offset: 0x6b2, out: 0x111020, outHI: 0x0
+sb :: offset: 0x6b3, out: 0x35111020, outHI: 0x0
+sb :: offset: 0x6b4, out: 0xa635111020, outHI: 0x0
+sb :: offset: 0x6b5, out: 0x84a635111020, outHI: 0x0
+sb :: offset: 0x6b6, out: 0x2b84a635111020, outHI: 0x0
+sb :: offset: 0x6b7, out: 0xa2b84a635111020, outHI: 0x0
+sb :: offset: 0x6b8, out: 0x6f, outHI: 0x0
+sb :: offset: 0x6b9, out: 0x8b6f, outHI: 0x0
+sb :: offset: 0x6ba, out: 0xd88b6f, outHI: 0x0
+sb :: offset: 0x6bb, out: 0xa7d88b6f, outHI: 0x0
+sb :: offset: 0x6bc, out: 0xd3a7d88b6f, outHI: 0x0
+sb :: offset: 0x6bd, out: 0xa0d3a7d88b6f, outHI: 0x0
+sb :: offset: 0x6be, out: 0x3fa0d3a7d88b6f, outHI: 0x0
+sb :: offset: 0x6bf, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sb :: offset: 0x6c0, out: 0xdd, outHI: 0x0
+sb :: offset: 0x6c1, out: 0xdedd, outHI: 0x0
+sb :: offset: 0x6c2, out: 0x41dedd, outHI: 0x0
+sb :: offset: 0x6c3, out: 0x9941dedd, outHI: 0x0
+sb :: offset: 0x6c4, out: 0xb79941dedd, outHI: 0x0
+sb :: offset: 0x6c5, out: 0x91b79941dedd, outHI: 0x0
+sb :: offset: 0x6c6, out: 0xd991b79941dedd, outHI: 0x0
+sb :: offset: 0x6c7, out: 0xa3d991b79941dedd, outHI: 0x0
+sb :: offset: 0x6c8, out: 0x8, outHI: 0x0
+sb :: offset: 0x6c9, out: 0x9508, outHI: 0x0
+sb :: offset: 0x6ca, out: 0xd9508, outHI: 0x0
+sb :: offset: 0x6cb, out: 0x5a0d9508, outHI: 0x0
+sb :: offset: 0x6cc, out: 0x835a0d9508, outHI: 0x0
+sb :: offset: 0x6cd, out: 0xb4835a0d9508, outHI: 0x0
+sb :: offset: 0x6ce, out: 0x1cb4835a0d9508, outHI: 0x0
+sb :: offset: 0x6cf, out: 0x751cb4835a0d9508, outHI: 0x0
+sb :: offset: 0x6d0, out: 0xd3, outHI: 0x0
+sb :: offset: 0x6d1, out: 0xb2d3, outHI: 0x0
+sb :: offset: 0x6d2, out: 0x5bb2d3, outHI: 0x0
+sb :: offset: 0x6d3, out: 0x625bb2d3, outHI: 0x0
+sb :: offset: 0x6d4, out: 0x35625bb2d3, outHI: 0x0
+sb :: offset: 0x6d5, out: 0xad35625bb2d3, outHI: 0x0
+sb :: offset: 0x6d6, out: 0x9cad35625bb2d3, outHI: 0x0
+sb :: offset: 0x6d7, out: 0x949cad35625bb2d3, outHI: 0x0
+sb :: offset: 0x6d8, out: 0x39, outHI: 0x0
+sb :: offset: 0x6d9, out: 0x9739, outHI: 0x0
+sb :: offset: 0x6da, out: 0x929739, outHI: 0x0
+sb :: offset: 0x6db, out: 0xa6929739, outHI: 0x0
+sb :: offset: 0x6dc, out: 0x35a6929739, outHI: 0x0
+sb :: offset: 0x6dd, out: 0x7f35a6929739, outHI: 0x0
+sb :: offset: 0x6de, out: 0x567f35a6929739, outHI: 0x0
+sb :: offset: 0x6df, out: 0x7f567f35a6929739, outHI: 0x0
+sb :: offset: 0x6e0, out: 0x27, outHI: 0x0
+sb :: offset: 0x6e1, out: 0x7d27, outHI: 0x0
+sb :: offset: 0x6e2, out: 0x8d7d27, outHI: 0x0
+sb :: offset: 0x6e3, out: 0xdb8d7d27, outHI: 0x0
+sb :: offset: 0x6e4, out: 0xe0db8d7d27, outHI: 0x0
+sb :: offset: 0x6e5, out: 0x88e0db8d7d27, outHI: 0x0
+sb :: offset: 0x6e6, out: 0x5b88e0db8d7d27, outHI: 0x0
+sb :: offset: 0x6e7, out: 0x185b88e0db8d7d27, outHI: 0x0
+sb :: offset: 0x6e8, out: 0x91, outHI: 0x0
+sb :: offset: 0x6e9, out: 0x1b91, outHI: 0x0
+sb :: offset: 0x6ea, out: 0xd61b91, outHI: 0x0
+sb :: offset: 0x6eb, out: 0x2fd61b91, outHI: 0x0
+sb :: offset: 0x6ec, out: 0xd22fd61b91, outHI: 0x0
+sb :: offset: 0x6ed, out: 0x4cd22fd61b91, outHI: 0x0
+sb :: offset: 0x6ee, out: 0x5a4cd22fd61b91, outHI: 0x0
+sb :: offset: 0x6ef, out: 0x255a4cd22fd61b91, outHI: 0x0
+sb :: offset: 0x6f0, out: 0x7b, outHI: 0x0
+sb :: offset: 0x6f1, out: 0x3f7b, outHI: 0x0
+sb :: offset: 0x6f2, out: 0x363f7b, outHI: 0x0
+sb :: offset: 0x6f3, out: 0xa4363f7b, outHI: 0x0
+sb :: offset: 0x6f4, out: 0x89a4363f7b, outHI: 0x0
+sb :: offset: 0x6f5, out: 0xd589a4363f7b, outHI: 0x0
+sb :: offset: 0x6f6, out: 0x48d589a4363f7b, outHI: 0x0
+sb :: offset: 0x6f7, out: 0x1048d589a4363f7b, outHI: 0x0
+sb :: offset: 0x6f8, out: 0x90, outHI: 0x0
+sb :: offset: 0x6f9, out: 0x5790, outHI: 0x0
+sb :: offset: 0x6fa, out: 0x605790, outHI: 0x0
+sb :: offset: 0x6fb, out: 0xf4605790, outHI: 0x0
+sb :: offset: 0x6fc, out: 0x8f4605790, outHI: 0x0
+sb :: offset: 0x6fd, out: 0x5708f4605790, outHI: 0x0
+sb :: offset: 0x6fe, out: 0x6d5708f4605790, outHI: 0x0
+sb :: offset: 0x6ff, out: 0x6a6d5708f4605790, outHI: 0x0
+sb :: offset: 0x700, out: 0x7f, outHI: 0x0
+sb :: offset: 0x701, out: 0x697f, outHI: 0x0
+sb :: offset: 0x702, out: 0x35697f, outHI: 0x0
+sb :: offset: 0x703, out: 0xde35697f, outHI: 0x0
+sb :: offset: 0x704, out: 0xabde35697f, outHI: 0x0
+sb :: offset: 0x705, out: 0xcbabde35697f, outHI: 0x0
+sb :: offset: 0x706, out: 0x8ecbabde35697f, outHI: 0x0
+sb :: offset: 0x707, out: 0xd58ecbabde35697f, outHI: 0x0
+sb :: offset: 0x708, out: 0xf1, outHI: 0x0
+sb :: offset: 0x709, out: 0xa5f1, outHI: 0x0
+sb :: offset: 0x70a, out: 0xc0a5f1, outHI: 0x0
+sb :: offset: 0x70b, out: 0x8c0a5f1, outHI: 0x0
+sb :: offset: 0x70c, out: 0xfd08c0a5f1, outHI: 0x0
+sb :: offset: 0x70d, out: 0x48fd08c0a5f1, outHI: 0x0
+sb :: offset: 0x70e, out: 0x5548fd08c0a5f1, outHI: 0x0
+sb :: offset: 0x70f, out: 0x575548fd08c0a5f1, outHI: 0x0
+sb :: offset: 0x710, out: 0xdb, outHI: 0x0
+sb :: offset: 0x711, out: 0x8ddb, outHI: 0x0
+sb :: offset: 0x712, out: 0xd98ddb, outHI: 0x0
+sb :: offset: 0x713, out: 0x8ed98ddb, outHI: 0x0
+sb :: offset: 0x714, out: 0xfb8ed98ddb, outHI: 0x0
+sb :: offset: 0x715, out: 0x40fb8ed98ddb, outHI: 0x0
+sb :: offset: 0x716, out: 0xb640fb8ed98ddb, outHI: 0x0
+sb :: offset: 0x717, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sb :: offset: 0x718, out: 0xcc, outHI: 0x0
+sb :: offset: 0x719, out: 0x78cc, outHI: 0x0
+sb :: offset: 0x71a, out: 0xc578cc, outHI: 0x0
+sb :: offset: 0x71b, out: 0xabc578cc, outHI: 0x0
+sb :: offset: 0x71c, out: 0x1eabc578cc, outHI: 0x0
+sb :: offset: 0x71d, out: 0xd51eabc578cc, outHI: 0x0
+sb :: offset: 0x71e, out: 0xd51eabc578cc, outHI: 0x0
+sb :: offset: 0x71f, out: 0xbe00d51eabc578cc, outHI: 0x0
+sb :: offset: 0x720, out: 0xb2, outHI: 0x0
+sb :: offset: 0x721, out: 0xab2, outHI: 0x0
+sb :: offset: 0x722, out: 0x170ab2, outHI: 0x0
+sb :: offset: 0x723, out: 0x1c170ab2, outHI: 0x0
+sb :: offset: 0x724, out: 0x4a1c170ab2, outHI: 0x0
+sb :: offset: 0x725, out: 0x224a1c170ab2, outHI: 0x0
+sb :: offset: 0x726, out: 0x7e224a1c170ab2, outHI: 0x0
+sb :: offset: 0x727, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sb :: offset: 0x728, out: 0xa7, outHI: 0x0
+sb :: offset: 0x729, out: 0x56a7, outHI: 0x0
+sb :: offset: 0x72a, out: 0x2256a7, outHI: 0x0
+sb :: offset: 0x72b, out: 0xa22256a7, outHI: 0x0
+sb :: offset: 0x72c, out: 0x2ca22256a7, outHI: 0x0
+sb :: offset: 0x72d, out: 0xf12ca22256a7, outHI: 0x0
+sb :: offset: 0x72e, out: 0x78f12ca22256a7, outHI: 0x0
+sb :: offset: 0x72f, out: 0xa978f12ca22256a7, outHI: 0x0
+sb :: offset: 0x730, out: 0x2f, outHI: 0x0
+sb :: offset: 0x731, out: 0xe02f, outHI: 0x0
+sb :: offset: 0x732, out: 0x1ee02f, outHI: 0x0
+sb :: offset: 0x733, out: 0x811ee02f, outHI: 0x0
+sb :: offset: 0x734, out: 0x3b811ee02f, outHI: 0x0
+sb :: offset: 0x735, out: 0xa93b811ee02f, outHI: 0x0
+sb :: offset: 0x736, out: 0x50a93b811ee02f, outHI: 0x0
+sb :: offset: 0x737, out: 0x9950a93b811ee02f, outHI: 0x0
+sb :: offset: 0x738, out: 0xc, outHI: 0x0
+sb :: offset: 0x739, out: 0x6a0c, outHI: 0x0
+sb :: offset: 0x73a, out: 0x796a0c, outHI: 0x0
+sb :: offset: 0x73b, out: 0xc6796a0c, outHI: 0x0
+sb :: offset: 0x73c, out: 0x93c6796a0c, outHI: 0x0
+sb :: offset: 0x73d, out: 0xea93c6796a0c, outHI: 0x0
+sb :: offset: 0x73e, out: 0x4eea93c6796a0c, outHI: 0x0
+sb :: offset: 0x73f, out: 0xb44eea93c6796a0c, outHI: 0x0
+sb :: offset: 0x740, out: 0x57, outHI: 0x0
+sb :: offset: 0x741, out: 0xb657, outHI: 0x0
+sb :: offset: 0x742, out: 0xeb657, outHI: 0x0
+sb :: offset: 0x743, out: 0x6c0eb657, outHI: 0x0
+sb :: offset: 0x744, out: 0xa06c0eb657, outHI: 0x0
+sb :: offset: 0x745, out: 0xfca06c0eb657, outHI: 0x0
+sb :: offset: 0x746, out: 0x71fca06c0eb657, outHI: 0x0
+sb :: offset: 0x747, out: 0xfe71fca06c0eb657, outHI: 0x0
+sb :: offset: 0x748, out: 0x57, outHI: 0x0
+sb :: offset: 0x749, out: 0xaf57, outHI: 0x0
+sb :: offset: 0x74a, out: 0x18af57, outHI: 0x0
+sb :: offset: 0x74b, out: 0xf818af57, outHI: 0x0
+sb :: offset: 0x74c, out: 0x3df818af57, outHI: 0x0
+sb :: offset: 0x74d, out: 0x393df818af57, outHI: 0x0
+sb :: offset: 0x74e, out: 0xd6393df818af57, outHI: 0x0
+sb :: offset: 0x74f, out: 0x4ed6393df818af57, outHI: 0x0
+sb :: offset: 0x750, out: 0xa, outHI: 0x0
+sb :: offset: 0x751, out: 0x770a, outHI: 0x0
+sb :: offset: 0x752, out: 0x36770a, outHI: 0x0
+sb :: offset: 0x753, out: 0x236770a, outHI: 0x0
+sb :: offset: 0x754, out: 0x200236770a, outHI: 0x0
+sb :: offset: 0x755, out: 0x90200236770a, outHI: 0x0
+sb :: offset: 0x756, out: 0x2e90200236770a, outHI: 0x0
+sb :: offset: 0x757, out: 0xf22e90200236770a, outHI: 0x0
+sb :: offset: 0x758, out: 0x5d, outHI: 0x0
+sb :: offset: 0x759, out: 0xc45d, outHI: 0x0
+sb :: offset: 0x75a, out: 0xd0c45d, outHI: 0x0
+sb :: offset: 0x75b, out: 0xafd0c45d, outHI: 0x0
+sb :: offset: 0x75c, out: 0xc7afd0c45d, outHI: 0x0
+sb :: offset: 0x75d, out: 0xb6c7afd0c45d, outHI: 0x0
+sb :: offset: 0x75e, out: 0xefb6c7afd0c45d, outHI: 0x0
+sb :: offset: 0x75f, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sb :: offset: 0x760, out: 0x5b, outHI: 0x0
+sb :: offset: 0x761, out: 0x315b, outHI: 0x0
+sb :: offset: 0x762, out: 0x2315b, outHI: 0x0
+sb :: offset: 0x763, out: 0x8102315b, outHI: 0x0
+sb :: offset: 0x764, out: 0x518102315b, outHI: 0x0
+sb :: offset: 0x765, out: 0xf3518102315b, outHI: 0x0
+sb :: offset: 0x766, out: 0xd8f3518102315b, outHI: 0x0
+sb :: offset: 0x767, out: 0xeed8f3518102315b, outHI: 0x0
+sb :: offset: 0x768, out: 0x5e, outHI: 0x0
+sb :: offset: 0x769, out: 0xfd5e, outHI: 0x0
+sb :: offset: 0x76a, out: 0x5efd5e, outHI: 0x0
+sb :: offset: 0x76b, out: 0x995efd5e, outHI: 0x0
+sb :: offset: 0x76c, out: 0xb9995efd5e, outHI: 0x0
+sb :: offset: 0x76d, out: 0xefb9995efd5e, outHI: 0x0
+sb :: offset: 0x76e, out: 0xafefb9995efd5e, outHI: 0x0
+sb :: offset: 0x76f, out: 0xadafefb9995efd5e, outHI: 0x0
+sb :: offset: 0x770, out: 0x86, outHI: 0x0
+sb :: offset: 0x771, out: 0x3086, outHI: 0x0
+sb :: offset: 0x772, out: 0x253086, outHI: 0x0
+sb :: offset: 0x773, out: 0xeb253086, outHI: 0x0
+sb :: offset: 0x774, out: 0x33eb253086, outHI: 0x0
+sb :: offset: 0x775, out: 0x1933eb253086, outHI: 0x0
+sb :: offset: 0x776, out: 0x61933eb253086, outHI: 0x0
+sb :: offset: 0x777, out: 0x34061933eb253086, outHI: 0x0
+sb :: offset: 0x778, out: 0xbc, outHI: 0x0
+sb :: offset: 0x779, out: 0x52bc, outHI: 0x0
+sb :: offset: 0x77a, out: 0x4c52bc, outHI: 0x0
+sb :: offset: 0x77b, out: 0x4b4c52bc, outHI: 0x0
+sb :: offset: 0x77c, out: 0x264b4c52bc, outHI: 0x0
+sb :: offset: 0x77d, out: 0xda264b4c52bc, outHI: 0x0
+sb :: offset: 0x77e, out: 0x48da264b4c52bc, outHI: 0x0
+sb :: offset: 0x77f, out: 0x1748da264b4c52bc, outHI: 0x0
+sb :: offset: 0x780, out: 0x89, outHI: 0x0
+sb :: offset: 0x781, out: 0xbe89, outHI: 0x0
+sb :: offset: 0x782, out: 0x2be89, outHI: 0x0
+sb :: offset: 0x783, out: 0x9302be89, outHI: 0x0
+sb :: offset: 0x784, out: 0x9a9302be89, outHI: 0x0
+sb :: offset: 0x785, out: 0xfc9a9302be89, outHI: 0x0
+sb :: offset: 0x786, out: 0xfdfc9a9302be89, outHI: 0x0
+sb :: offset: 0x787, out: 0x34fdfc9a9302be89, outHI: 0x0
+sb :: offset: 0x788, out: 0x80, outHI: 0x0
+sb :: offset: 0x789, out: 0xd180, outHI: 0x0
+sb :: offset: 0x78a, out: 0x21d180, outHI: 0x0
+sb :: offset: 0x78b, out: 0xc521d180, outHI: 0x0
+sb :: offset: 0x78c, out: 0xc3c521d180, outHI: 0x0
+sb :: offset: 0x78d, out: 0x78c3c521d180, outHI: 0x0
+sb :: offset: 0x78e, out: 0x278c3c521d180, outHI: 0x0
+sb :: offset: 0x78f, out: 0xd00278c3c521d180, outHI: 0x0
+sb :: offset: 0x790, out: 0x5d, outHI: 0x0
+sb :: offset: 0x791, out: 0x7a5d, outHI: 0x0
+sb :: offset: 0x792, out: 0xd37a5d, outHI: 0x0
+sb :: offset: 0x793, out: 0xc1d37a5d, outHI: 0x0
+sb :: offset: 0x794, out: 0xa4c1d37a5d, outHI: 0x0
+sb :: offset: 0x795, out: 0x44a4c1d37a5d, outHI: 0x0
+sb :: offset: 0x796, out: 0x944a4c1d37a5d, outHI: 0x0
+sb :: offset: 0x797, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sb :: offset: 0x798, out: 0x39, outHI: 0x0
+sb :: offset: 0x799, out: 0x9839, outHI: 0x0
+sb :: offset: 0x79a, out: 0xef9839, outHI: 0x0
+sb :: offset: 0x79b, out: 0xddef9839, outHI: 0x0
+sb :: offset: 0x79c, out: 0x8fddef9839, outHI: 0x0
+sb :: offset: 0x79d, out: 0x698fddef9839, outHI: 0x0
+sb :: offset: 0x79e, out: 0xfd698fddef9839, outHI: 0x0
+sb :: offset: 0x79f, out: 0x65fd698fddef9839, outHI: 0x0
+sb :: offset: 0x7a0, out: 0x52, outHI: 0x0
+sb :: offset: 0x7a1, out: 0xaf52, outHI: 0x0
+sb :: offset: 0x7a2, out: 0xb5af52, outHI: 0x0
+sb :: offset: 0x7a3, out: 0x81b5af52, outHI: 0x0
+sb :: offset: 0x7a4, out: 0xad81b5af52, outHI: 0x0
+sb :: offset: 0x7a5, out: 0xe3ad81b5af52, outHI: 0x0
+sb :: offset: 0x7a6, out: 0x9ee3ad81b5af52, outHI: 0x0
+sb :: offset: 0x7a7, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sb :: offset: 0x7a8, out: 0xe9, outHI: 0x0
+sb :: offset: 0x7a9, out: 0x63e9, outHI: 0x0
+sb :: offset: 0x7aa, out: 0xb263e9, outHI: 0x0
+sb :: offset: 0x7ab, out: 0xbdb263e9, outHI: 0x0
+sb :: offset: 0x7ac, out: 0xe8bdb263e9, outHI: 0x0
+sb :: offset: 0x7ad, out: 0x41e8bdb263e9, outHI: 0x0
+sb :: offset: 0x7ae, out: 0xa941e8bdb263e9, outHI: 0x0
+sb :: offset: 0x7af, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sb :: offset: 0x7b0, out: 0x8d, outHI: 0x0
+sb :: offset: 0x7b1, out: 0xb58d, outHI: 0x0
+sb :: offset: 0x7b2, out: 0xf3b58d, outHI: 0x0
+sb :: offset: 0x7b3, out: 0x42f3b58d, outHI: 0x0
+sb :: offset: 0x7b4, out: 0x9e42f3b58d, outHI: 0x0
+sb :: offset: 0x7b5, out: 0x209e42f3b58d, outHI: 0x0
+sb :: offset: 0x7b6, out: 0x2c209e42f3b58d, outHI: 0x0
+sb :: offset: 0x7b7, out: 0x372c209e42f3b58d, outHI: 0x0
+sb :: offset: 0x7b8, out: 0x3b, outHI: 0x0
+sb :: offset: 0x7b9, out: 0xa83b, outHI: 0x0
+sb :: offset: 0x7ba, out: 0x22a83b, outHI: 0x0
+sb :: offset: 0x7bb, out: 0xe122a83b, outHI: 0x0
+sb :: offset: 0x7bc, out: 0xb7e122a83b, outHI: 0x0
+sb :: offset: 0x7bd, out: 0x70b7e122a83b, outHI: 0x0
+sb :: offset: 0x7be, out: 0xf870b7e122a83b, outHI: 0x0
+sb :: offset: 0x7bf, out: 0x30f870b7e122a83b, outHI: 0x0
+sb :: offset: 0x7c0, out: 0xec, outHI: 0x0
+sb :: offset: 0x7c1, out: 0x30ec, outHI: 0x0
+sb :: offset: 0x7c2, out: 0x8930ec, outHI: 0x0
+sb :: offset: 0x7c3, out: 0x678930ec, outHI: 0x0
+sb :: offset: 0x7c4, out: 0x4b678930ec, outHI: 0x0
+sb :: offset: 0x7c5, out: 0xde4b678930ec, outHI: 0x0
+sb :: offset: 0x7c6, out: 0x2de4b678930ec, outHI: 0x0
+sb :: offset: 0x7c7, out: 0x9e02de4b678930ec, outHI: 0x0
+sb :: offset: 0x7c8, out: 0x1e, outHI: 0x0
+sb :: offset: 0x7c9, out: 0x631e, outHI: 0x0
+sb :: offset: 0x7ca, out: 0x26631e, outHI: 0x0
+sb :: offset: 0x7cb, out: 0x9826631e, outHI: 0x0
+sb :: offset: 0x7cc, out: 0x639826631e, outHI: 0x0
+sb :: offset: 0x7cd, out: 0xa8639826631e, outHI: 0x0
+sb :: offset: 0x7ce, out: 0x61a8639826631e, outHI: 0x0
+sb :: offset: 0x7cf, out: 0xcd61a8639826631e, outHI: 0x0
+sb :: offset: 0x7d0, out: 0xca, outHI: 0x0
+sb :: offset: 0x7d1, out: 0xd3ca, outHI: 0x0
+sb :: offset: 0x7d2, out: 0x7bd3ca, outHI: 0x0
+sb :: offset: 0x7d3, out: 0x9a7bd3ca, outHI: 0x0
+sb :: offset: 0x7d4, out: 0x899a7bd3ca, outHI: 0x0
+sb :: offset: 0x7d5, out: 0xbc899a7bd3ca, outHI: 0x0
+sb :: offset: 0x7d6, out: 0x87bc899a7bd3ca, outHI: 0x0
+sb :: offset: 0x7d7, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sb :: offset: 0x7d8, out: 0x17, outHI: 0x0
+sb :: offset: 0x7d9, out: 0xaf17, outHI: 0x0
+sb :: offset: 0x7da, out: 0x81af17, outHI: 0x0
+sb :: offset: 0x7db, out: 0x6481af17, outHI: 0x0
+sb :: offset: 0x7dc, out: 0x4d6481af17, outHI: 0x0
+sb :: offset: 0x7dd, out: 0x644d6481af17, outHI: 0x0
+sb :: offset: 0x7de, out: 0xec644d6481af17, outHI: 0x0
+sb :: offset: 0x7df, out: 0x58ec644d6481af17, outHI: 0x0
+sb :: offset: 0x7e0, out: 0x66, outHI: 0x0
+sb :: offset: 0x7e1, out: 0xb666, outHI: 0x0
+sb :: offset: 0x7e2, out: 0x36b666, outHI: 0x0
+sb :: offset: 0x7e3, out: 0xb236b666, outHI: 0x0
+sb :: offset: 0x7e4, out: 0x5fb236b666, outHI: 0x0
+sb :: offset: 0x7e5, out: 0xce5fb236b666, outHI: 0x0
+sb :: offset: 0x7e6, out: 0xcce5fb236b666, outHI: 0x0
+sb :: offset: 0x7e7, out: 0x680cce5fb236b666, outHI: 0x0
+sb :: offset: 0x7e8, out: 0x75, outHI: 0x0
+sb :: offset: 0x7e9, out: 0x4d75, outHI: 0x0
+sb :: offset: 0x7ea, out: 0x6d4d75, outHI: 0x0
+sb :: offset: 0x7eb, out: 0x1f6d4d75, outHI: 0x0
+sb :: offset: 0x7ec, out: 0x471f6d4d75, outHI: 0x0
+sb :: offset: 0x7ed, out: 0x99471f6d4d75, outHI: 0x0
+sb :: offset: 0x7ee, out: 0xaa99471f6d4d75, outHI: 0x0
+sb :: offset: 0x7ef, out: 0x3baa99471f6d4d75, outHI: 0x0
+sb :: offset: 0x7f0, out: 0x6b, outHI: 0x0
+sb :: offset: 0x7f1, out: 0x236b, outHI: 0x0
+sb :: offset: 0x7f2, out: 0x12236b, outHI: 0x0
+sb :: offset: 0x7f3, out: 0x5f12236b, outHI: 0x0
+sb :: offset: 0x7f4, out: 0x445f12236b, outHI: 0x0
+sb :: offset: 0x7f5, out: 0x9b445f12236b, outHI: 0x0
+sb :: offset: 0x7f6, out: 0x4d9b445f12236b, outHI: 0x0
+sb :: offset: 0x7f7, out: 0x614d9b445f12236b, outHI: 0x0
+sd :: offset: 0x0, out: 0x12bd6aa, outHI: 0x0
+sd :: offset: 0x8, out: 0x7e876382d2ab13, outHI: 0x0
+sd :: offset: 0x10, out: 0x976d6e9ac31510f3, outHI: 0x0
+sd :: offset: 0x18, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sd :: offset: 0x20, out: 0x42b0c0a28677b502, outHI: 0x0
+sd :: offset: 0x28, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sd :: offset: 0x30, out: 0x1f308ec377fb413d, outHI: 0x0
+sd :: offset: 0x38, out: 0x7aa04213c760e4f7, outHI: 0x0
+sd :: offset: 0x40, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sd :: offset: 0x48, out: 0x4b3dda869615a60d, outHI: 0x0
+sd :: offset: 0x50, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sd :: offset: 0x58, out: 0x3af35a9dc40bd413, outHI: 0x0
+sd :: offset: 0x60, out: 0x47f505569a08a180, outHI: 0x0
+sd :: offset: 0x68, out: 0x9564b77fd6d2040f, outHI: 0x0
+sd :: offset: 0x70, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sd :: offset: 0x78, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sd :: offset: 0x80, out: 0x94ff52fc81afa797, outHI: 0x0
+sd :: offset: 0x88, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sd :: offset: 0x90, out: 0x36549bd678e895b1, outHI: 0x0
+sd :: offset: 0x98, out: 0x85e0a6319b63259b, outHI: 0x0
+sd :: offset: 0xa0, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sd :: offset: 0xa8, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sd :: offset: 0xb0, out: 0x25b50fec14682d97, outHI: 0x0
+sd :: offset: 0xb8, out: 0xfc93c5132cfb087a, outHI: 0x0
+sd :: offset: 0xc0, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sd :: offset: 0xc8, out: 0x1791722a7d72da3e, outHI: 0x0
+sd :: offset: 0xd0, out: 0x87cc9d193ce24ad, outHI: 0x0
+sd :: offset: 0xd8, out: 0x1d2a757038984ed2, outHI: 0x0
+sd :: offset: 0xe0, out: 0xd0d070db710cd036, outHI: 0x0
+sd :: offset: 0xe8, out: 0x39c21c7d03415604, outHI: 0x0
+sd :: offset: 0xf0, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sd :: offset: 0xf8, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sd :: offset: 0x100, out: 0x2f39454412d6e4a7, outHI: 0x0
+sd :: offset: 0x108, out: 0x2608c2b756da4c54, outHI: 0x0
+sd :: offset: 0x110, out: 0x900102dac8d7252f, outHI: 0x0
+sd :: offset: 0x118, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sd :: offset: 0x120, out: 0xed5005cbc8b0a214, outHI: 0x0
+sd :: offset: 0x128, out: 0x314791895991136c, outHI: 0x0
+sd :: offset: 0x130, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sd :: offset: 0x138, out: 0xa809521238895270, outHI: 0x0
+sd :: offset: 0x140, out: 0x87750a04ad765040, outHI: 0x0
+sd :: offset: 0x148, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sd :: offset: 0x150, out: 0xae6aff8fc506aa67, outHI: 0x0
+sd :: offset: 0x158, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sd :: offset: 0x160, out: 0xc4c770f630dcca5a, outHI: 0x0
+sd :: offset: 0x168, out: 0xdfec2b2383cd5277, outHI: 0x0
+sd :: offset: 0x170, out: 0xd3adba260ff7d96b, outHI: 0x0
+sd :: offset: 0x178, out: 0x4ab4aa798418c00e, outHI: 0x0
+sd :: offset: 0x180, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sd :: offset: 0x188, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sd :: offset: 0x190, out: 0x77433f373fd1c081, outHI: 0x0
+sd :: offset: 0x198, out: 0xec91d993c92195e4, outHI: 0x0
+sd :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sd :: offset: 0x1a8, out: 0x19364378c7ce8d1e, outHI: 0x0
+sd :: offset: 0x1b0, out: 0xb99e8def2f384907, outHI: 0x0
+sd :: offset: 0x1b8, out: 0x47eacdcd582b12fe, outHI: 0x0
+sd :: offset: 0x1c0, out: 0xd685884e76558c4f, outHI: 0x0
+sd :: offset: 0x1c8, out: 0x6168d62a34c195c7, outHI: 0x0
+sd :: offset: 0x1d0, out: 0xd30169894df47405, outHI: 0x0
+sd :: offset: 0x1d8, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sd :: offset: 0x1e0, out: 0x58300f029cae393a, outHI: 0x0
+sd :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sd :: offset: 0x1f0, out: 0x8a96047be3405b48, outHI: 0x0
+sd :: offset: 0x1f8, out: 0x75bfafd2d519d322, outHI: 0x0
+sd :: offset: 0x200, out: 0xde230867a630f6ad, outHI: 0x0
+sd :: offset: 0x208, out: 0x2c0a0cf256103260, outHI: 0x0
+sd :: offset: 0x210, out: 0x94a90544249b18ef, outHI: 0x0
+sd :: offset: 0x218, out: 0xf9519fb55b56fcde, outHI: 0x0
+sd :: offset: 0x220, out: 0x81daf8200468319b, outHI: 0x0
+sd :: offset: 0x228, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sd :: offset: 0x230, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sd :: offset: 0x238, out: 0x300ce751dac6162f, outHI: 0x0
+sd :: offset: 0x240, out: 0x6778fdf3ba52a850, outHI: 0x0
+sd :: offset: 0x248, out: 0xad00b1f7da78479f, outHI: 0x0
+sd :: offset: 0x250, out: 0x8d44168a6b6d98a, outHI: 0x0
+sd :: offset: 0x258, out: 0xf518381dce634413, outHI: 0x0
+sd :: offset: 0x260, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sd :: offset: 0x268, out: 0xccd392e176321f28, outHI: 0x0
+sd :: offset: 0x270, out: 0x829464944018fd8f, outHI: 0x0
+sd :: offset: 0x278, out: 0x15d3204052e8f0e5, outHI: 0x0
+sd :: offset: 0x280, out: 0x7caf83d2880ff344, outHI: 0x0
+sd :: offset: 0x288, out: 0xf156a04c747defd7, outHI: 0x0
+sd :: offset: 0x290, out: 0x93e2601c0f31d710, outHI: 0x0
+sd :: offset: 0x298, out: 0xe1e1a679131cd933, outHI: 0x0
+sd :: offset: 0x2a0, out: 0x24296b75a76fa427, outHI: 0x0
+sd :: offset: 0x2a8, out: 0xd296e2d2139ee56a, outHI: 0x0
+sd :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sd :: offset: 0x2b8, out: 0x76c89e80c07dc168, outHI: 0x0
+sd :: offset: 0x2c0, out: 0x70dc3454bfe348f, outHI: 0x0
+sd :: offset: 0x2c8, out: 0xbddc7123dd6d241b, outHI: 0x0
+sd :: offset: 0x2d0, out: 0xf62fb727a59fcebe, outHI: 0x0
+sd :: offset: 0x2d8, out: 0x109f27e90f9f46fb, outHI: 0x0
+sd :: offset: 0x2e0, out: 0x3f63daa9afd199d7, outHI: 0x0
+sd :: offset: 0x2e8, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sd :: offset: 0x2f0, out: 0x1f353faada4fe4c6, outHI: 0x0
+sd :: offset: 0x2f8, out: 0x8b086ee07150c260, outHI: 0x0
+sd :: offset: 0x300, out: 0xe54750d5d9257f25, outHI: 0x0
+sd :: offset: 0x308, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sd :: offset: 0x310, out: 0x70a3e0424340ac96, outHI: 0x0
+sd :: offset: 0x318, out: 0xc0478f036980171e, outHI: 0x0
+sd :: offset: 0x320, out: 0x3ce839a51cf929e3, outHI: 0x0
+sd :: offset: 0x328, out: 0xe2fbfa895eb68958, outHI: 0x0
+sd :: offset: 0x330, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sd :: offset: 0x338, out: 0xeb9682c170312f1, outHI: 0x0
+sd :: offset: 0x340, out: 0x84785280dd301d0d, outHI: 0x0
+sd :: offset: 0x348, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sd :: offset: 0x350, out: 0x26444ced2998436d, outHI: 0x0
+sd :: offset: 0x358, out: 0x7175c9dd58ca708, outHI: 0x0
+sd :: offset: 0x360, out: 0x663d061055833287, outHI: 0x0
+sd :: offset: 0x368, out: 0xab7dd0488951d68b, outHI: 0x0
+sd :: offset: 0x370, out: 0xf69823670e82471b, outHI: 0x0
+sd :: offset: 0x378, out: 0x36886c59d98d26b2, outHI: 0x0
+sd :: offset: 0x380, out: 0x9ca4bdbd32be479, outHI: 0x0
+sd :: offset: 0x388, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sd :: offset: 0x390, out: 0x3f46553ecad374df, outHI: 0x0
+sd :: offset: 0x398, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sd :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sd :: offset: 0x3a8, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sd :: offset: 0x3b0, out: 0xd2df25c419478206, outHI: 0x0
+sd :: offset: 0x3b8, out: 0xbc65bf27eb321825, outHI: 0x0
+sd :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sd :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sd :: offset: 0x3d0, out: 0x478909b59a99269, outHI: 0x0
+sd :: offset: 0x3d8, out: 0xbfb31cc87857360f, outHI: 0x0
+sd :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sd :: offset: 0x3e8, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sd :: offset: 0x3f0, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sd :: offset: 0x3f8, out: 0x223d7cfe2b961897, outHI: 0x0
+sd :: offset: 0x400, out: 0x420b34f533734a4b, outHI: 0x0
+sd :: offset: 0x408, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sd :: offset: 0x410, out: 0x7a387445e392ccd9, outHI: 0x0
+sd :: offset: 0x418, out: 0x512f29b1d80000c9, outHI: 0x0
+sd :: offset: 0x420, out: 0xeaded5c53dad020a, outHI: 0x0
+sd :: offset: 0x428, out: 0x8a6229d731eea35b, outHI: 0x0
+sd :: offset: 0x430, out: 0x2c3c3f9e48985649, outHI: 0x0
+sd :: offset: 0x438, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sd :: offset: 0x440, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sd :: offset: 0x448, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sd :: offset: 0x450, out: 0x164e17c1e7fb6587, outHI: 0x0
+sd :: offset: 0x458, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sd :: offset: 0x460, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sd :: offset: 0x468, out: 0xf8be8164159649c5, outHI: 0x0
+sd :: offset: 0x470, out: 0x7ca3259784e69b17, outHI: 0x0
+sd :: offset: 0x478, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sd :: offset: 0x480, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sd :: offset: 0x488, out: 0xc532e18e187980fa, outHI: 0x0
+sd :: offset: 0x490, out: 0xb3fdec294f287d1c, outHI: 0x0
+sd :: offset: 0x498, out: 0xb620660a49732b90, outHI: 0x0
+sd :: offset: 0x4a0, out: 0x993138f16cfde991, outHI: 0x0
+sd :: offset: 0x4a8, out: 0xde02d1337d5407b9, outHI: 0x0
+sd :: offset: 0x4b0, out: 0x13a390e1e1dab15a, outHI: 0x0
+sd :: offset: 0x4b8, out: 0x743491a6828716c8, outHI: 0x0
+sd :: offset: 0x4c0, out: 0x8cff404aede292f2, outHI: 0x0
+sd :: offset: 0x4c8, out: 0xb9cec0db1f837636, outHI: 0x0
+sd :: offset: 0x4d0, out: 0x2eaa5aa70509771c, outHI: 0x0
+sd :: offset: 0x4d8, out: 0xd327538e1875241b, outHI: 0x0
+sd :: offset: 0x4e0, out: 0x42e9f8548b739b6b, outHI: 0x0
+sd :: offset: 0x4e8, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sd :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sd :: offset: 0x4f8, out: 0x73916483ae3e9423, outHI: 0x0
+sd :: offset: 0x500, out: 0x276af70a0e128561, outHI: 0x0
+sd :: offset: 0x508, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sd :: offset: 0x510, out: 0x20223f1308accfa6, outHI: 0x0
+sd :: offset: 0x518, out: 0xf83c55743976b5f5, outHI: 0x0
+sd :: offset: 0x520, out: 0x1f9720f946923c3d, outHI: 0x0
+sd :: offset: 0x528, out: 0x620d28506d2448dd, outHI: 0x0
+sd :: offset: 0x530, out: 0x60a521e99ff4a732, outHI: 0x0
+sd :: offset: 0x538, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sd :: offset: 0x540, out: 0xc7a59be7800f3d26, outHI: 0x0
+sd :: offset: 0x548, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sd :: offset: 0x550, out: 0x2b8613a260d19dcd, outHI: 0x0
+sd :: offset: 0x558, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sd :: offset: 0x560, out: 0x743e568d2fcf486b, outHI: 0x0
+sd :: offset: 0x568, out: 0x126f646f34c31728, outHI: 0x0
+sd :: offset: 0x570, out: 0xaab0196156fc4d12, outHI: 0x0
+sd :: offset: 0x578, out: 0x7535cd338595d342, outHI: 0x0
+sd :: offset: 0x580, out: 0xdfb254da422346ec, outHI: 0x0
+sd :: offset: 0x588, out: 0xa86726c90081ab2a, outHI: 0x0
+sd :: offset: 0x590, out: 0x9bfeffa1679d7438, outHI: 0x0
+sd :: offset: 0x598, out: 0xc7699826b7dee244, outHI: 0x0
+sd :: offset: 0x5a0, out: 0x3c07af97fba6704a, outHI: 0x0
+sd :: offset: 0x5a8, out: 0x521364dc04c58bfe, outHI: 0x0
+sd :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sd :: offset: 0x5b8, out: 0xe336c60cdeeb954d, outHI: 0x0
+sd :: offset: 0x5c0, out: 0xd5b2120c6f52416e, outHI: 0x0
+sd :: offset: 0x5c8, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sd :: offset: 0x5d0, out: 0x986a2b654a4e7e07, outHI: 0x0
+sd :: offset: 0x5d8, out: 0xa974eac43a489b55, outHI: 0x0
+sd :: offset: 0x5e0, out: 0xa388c16272f1f8f5, outHI: 0x0
+sd :: offset: 0x5e8, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sd :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sd :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sd :: offset: 0x600, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sd :: offset: 0x608, out: 0x4bf8485ab728922f, outHI: 0x0
+sd :: offset: 0x610, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sd :: offset: 0x618, out: 0x31e0c6affdc28eda, outHI: 0x0
+sd :: offset: 0x620, out: 0x53606bb4bf0c999d, outHI: 0x0
+sd :: offset: 0x628, out: 0x32fc12c81b7919f0, outHI: 0x0
+sd :: offset: 0x630, out: 0x3ef88384c72efcd6, outHI: 0x0
+sd :: offset: 0x638, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sd :: offset: 0x640, out: 0x15ebf6121dca77c9, outHI: 0x0
+sd :: offset: 0x648, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sd :: offset: 0x650, out: 0xbb8470f981e91117, outHI: 0x0
+sd :: offset: 0x658, out: 0x5d42aeac6a532e0, outHI: 0x0
+sd :: offset: 0x660, out: 0x14abf36419fb9e63, outHI: 0x0
+sd :: offset: 0x668, out: 0x249d559aa8d72aac, outHI: 0x0
+sd :: offset: 0x670, out: 0xcd6764f084b30ec, outHI: 0x0
+sd :: offset: 0x678, out: 0x7f03ac0792468fdf, outHI: 0x0
+sd :: offset: 0x680, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sd :: offset: 0x688, out: 0x152828591a652711, outHI: 0x0
+sd :: offset: 0x690, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sd :: offset: 0x698, out: 0x8d95c049282a0417, outHI: 0x0
+sd :: offset: 0x6a0, out: 0xf2e7a490978058f3, outHI: 0x0
+sd :: offset: 0x6a8, out: 0x775b4cca0975b1aa, outHI: 0x0
+sd :: offset: 0x6b0, out: 0xa2b84a635111020, outHI: 0x0
+sd :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sd :: offset: 0x6c0, out: 0xa3d991b79941dedd, outHI: 0x0
+sd :: offset: 0x6c8, out: 0x751cb4835a0d9508, outHI: 0x0
+sd :: offset: 0x6d0, out: 0x949cad35625bb2d3, outHI: 0x0
+sd :: offset: 0x6d8, out: 0x7f567f35a6929739, outHI: 0x0
+sd :: offset: 0x6e0, out: 0x185b88e0db8d7d27, outHI: 0x0
+sd :: offset: 0x6e8, out: 0x255a4cd22fd61b91, outHI: 0x0
+sd :: offset: 0x6f0, out: 0x1048d589a4363f7b, outHI: 0x0
+sd :: offset: 0x6f8, out: 0x6a6d5708f4605790, outHI: 0x0
+sd :: offset: 0x700, out: 0xd58ecbabde35697f, outHI: 0x0
+sd :: offset: 0x708, out: 0x575548fd08c0a5f1, outHI: 0x0
+sd :: offset: 0x710, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sd :: offset: 0x718, out: 0xbe00d51eabc578cc, outHI: 0x0
+sd :: offset: 0x720, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sd :: offset: 0x728, out: 0xa978f12ca22256a7, outHI: 0x0
+sd :: offset: 0x730, out: 0x9950a93b811ee02f, outHI: 0x0
+sd :: offset: 0x738, out: 0xb44eea93c6796a0c, outHI: 0x0
+sd :: offset: 0x740, out: 0xfe71fca06c0eb657, outHI: 0x0
+sd :: offset: 0x748, out: 0x4ed6393df818af57, outHI: 0x0
+sd :: offset: 0x750, out: 0xf22e90200236770a, outHI: 0x0
+sd :: offset: 0x758, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sd :: offset: 0x760, out: 0xeed8f3518102315b, outHI: 0x0
+sd :: offset: 0x768, out: 0xadafefb9995efd5e, outHI: 0x0
+sd :: offset: 0x770, out: 0x34061933eb253086, outHI: 0x0
+sd :: offset: 0x778, out: 0x1748da264b4c52bc, outHI: 0x0
+sd :: offset: 0x780, out: 0x34fdfc9a9302be89, outHI: 0x0
+sd :: offset: 0x788, out: 0xd00278c3c521d180, outHI: 0x0
+sd :: offset: 0x790, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sd :: offset: 0x798, out: 0x65fd698fddef9839, outHI: 0x0
+sd :: offset: 0x7a0, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sd :: offset: 0x7a8, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sd :: offset: 0x7b0, out: 0x372c209e42f3b58d, outHI: 0x0
+sd :: offset: 0x7b8, out: 0x30f870b7e122a83b, outHI: 0x0
+sd :: offset: 0x7c0, out: 0x9e02de4b678930ec, outHI: 0x0
+sd :: offset: 0x7c8, out: 0xcd61a8639826631e, outHI: 0x0
+sd :: offset: 0x7d0, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sd :: offset: 0x7d8, out: 0x58ec644d6481af17, outHI: 0x0
+sd :: offset: 0x7e0, out: 0x680cce5fb236b666, outHI: 0x0
+sd :: offset: 0x7e8, out: 0x3baa99471f6d4d75, outHI: 0x0
+sd :: offset: 0x7f0, out: 0x614d9b445f12236b, outHI: 0x0
+sdl :: offset: 0x0, out: 0x0, outHI: 0x0
+sdl :: offset: 0x1, out: 0x1300, outHI: 0x0
+sdl :: offset: 0x2, out: 0xab1300, outHI: 0x0
+sdl :: offset: 0x3, out: 0xd2ab1300, outHI: 0x0
+sdl :: offset: 0x4, out: 0x82d2ab1300, outHI: 0x0
+sdl :: offset: 0x5, out: 0x6382d2ab1300, outHI: 0x0
+sdl :: offset: 0x6, out: 0x876382d2ab1300, outHI: 0x0
+sdl :: offset: 0x7, out: 0x7e876382d2ab1300, outHI: 0x0
+sdl :: offset: 0x8, out: 0x0, outHI: 0x0
+sdl :: offset: 0x9, out: 0xf300, outHI: 0x0
+sdl :: offset: 0xa, out: 0x10f300, outHI: 0x0
+sdl :: offset: 0xb, out: 0x1510f300, outHI: 0x0
+sdl :: offset: 0xc, out: 0xc31510f300, outHI: 0x0
+sdl :: offset: 0xd, out: 0x9ac31510f300, outHI: 0x0
+sdl :: offset: 0xe, out: 0x6e9ac31510f300, outHI: 0x0
+sdl :: offset: 0xf, out: 0x6d6e9ac31510f300, outHI: 0x0
+sdl :: offset: 0x10, out: 0x97, outHI: 0x0
+sdl :: offset: 0x11, out: 0xfb97, outHI: 0x0
+sdl :: offset: 0x12, out: 0xa5fb97, outHI: 0x0
+sdl :: offset: 0x13, out: 0xd6a5fb97, outHI: 0x0
+sdl :: offset: 0x14, out: 0x5ad6a5fb97, outHI: 0x0
+sdl :: offset: 0x15, out: 0x775ad6a5fb97, outHI: 0x0
+sdl :: offset: 0x16, out: 0x6d775ad6a5fb97, outHI: 0x0
+sdl :: offset: 0x17, out: 0x746d775ad6a5fb97, outHI: 0x0
+sdl :: offset: 0x18, out: 0xb7, outHI: 0x0
+sdl :: offset: 0x19, out: 0x2b7, outHI: 0x0
+sdl :: offset: 0x1a, out: 0xb502b7, outHI: 0x0
+sdl :: offset: 0x1b, out: 0x77b502b7, outHI: 0x0
+sdl :: offset: 0x1c, out: 0x8677b502b7, outHI: 0x0
+sdl :: offset: 0x1d, out: 0xa28677b502b7, outHI: 0x0
+sdl :: offset: 0x1e, out: 0xc0a28677b502b7, outHI: 0x0
+sdl :: offset: 0x1f, out: 0xb0c0a28677b502b7, outHI: 0x0
+sdl :: offset: 0x20, out: 0x42, outHI: 0x0
+sdl :: offset: 0x21, out: 0xad42, outHI: 0x0
+sdl :: offset: 0x22, out: 0x30ad42, outHI: 0x0
+sdl :: offset: 0x23, out: 0x3c30ad42, outHI: 0x0
+sdl :: offset: 0x24, out: 0x9e3c30ad42, outHI: 0x0
+sdl :: offset: 0x25, out: 0x319e3c30ad42, outHI: 0x0
+sdl :: offset: 0x26, out: 0x9d319e3c30ad42, outHI: 0x0
+sdl :: offset: 0x27, out: 0xa89d319e3c30ad42, outHI: 0x0
+sdl :: offset: 0x28, out: 0x2a, outHI: 0x0
+sdl :: offset: 0x29, out: 0x3d2a, outHI: 0x0
+sdl :: offset: 0x2a, out: 0x413d2a, outHI: 0x0
+sdl :: offset: 0x2b, out: 0xfb413d2a, outHI: 0x0
+sdl :: offset: 0x2c, out: 0x77fb413d2a, outHI: 0x0
+sdl :: offset: 0x2d, out: 0xc377fb413d2a, outHI: 0x0
+sdl :: offset: 0x2e, out: 0x8ec377fb413d2a, outHI: 0x0
+sdl :: offset: 0x2f, out: 0x308ec377fb413d2a, outHI: 0x0
+sdl :: offset: 0x30, out: 0x1f, outHI: 0x0
+sdl :: offset: 0x31, out: 0xf71f, outHI: 0x0
+sdl :: offset: 0x32, out: 0xe4f71f, outHI: 0x0
+sdl :: offset: 0x33, out: 0x60e4f71f, outHI: 0x0
+sdl :: offset: 0x34, out: 0xc760e4f71f, outHI: 0x0
+sdl :: offset: 0x35, out: 0x13c760e4f71f, outHI: 0x0
+sdl :: offset: 0x36, out: 0x4213c760e4f71f, outHI: 0x0
+sdl :: offset: 0x37, out: 0xa04213c760e4f71f, outHI: 0x0
+sdl :: offset: 0x38, out: 0x7a, outHI: 0x0
+sdl :: offset: 0x39, out: 0xa07a, outHI: 0x0
+sdl :: offset: 0x3a, out: 0xdca07a, outHI: 0x0
+sdl :: offset: 0x3b, out: 0xd8dca07a, outHI: 0x0
+sdl :: offset: 0x3c, out: 0x1ad8dca07a, outHI: 0x0
+sdl :: offset: 0x3d, out: 0xc51ad8dca07a, outHI: 0x0
+sdl :: offset: 0x3e, out: 0x5cc51ad8dca07a, outHI: 0x0
+sdl :: offset: 0x3f, out: 0x705cc51ad8dca07a, outHI: 0x0
+sdl :: offset: 0x40, out: 0x9e, outHI: 0x0
+sdl :: offset: 0x41, out: 0xd9e, outHI: 0x0
+sdl :: offset: 0x42, out: 0xa60d9e, outHI: 0x0
+sdl :: offset: 0x43, out: 0x15a60d9e, outHI: 0x0
+sdl :: offset: 0x44, out: 0x9615a60d9e, outHI: 0x0
+sdl :: offset: 0x45, out: 0x869615a60d9e, outHI: 0x0
+sdl :: offset: 0x46, out: 0xda869615a60d9e, outHI: 0x0
+sdl :: offset: 0x47, out: 0x3dda869615a60d9e, outHI: 0x0
+sdl :: offset: 0x48, out: 0x4b, outHI: 0x0
+sdl :: offset: 0x49, out: 0x1d4b, outHI: 0x0
+sdl :: offset: 0x4a, out: 0xd41d4b, outHI: 0x0
+sdl :: offset: 0x4b, out: 0x53d41d4b, outHI: 0x0
+sdl :: offset: 0x4c, out: 0x6353d41d4b, outHI: 0x0
+sdl :: offset: 0x4d, out: 0xdd6353d41d4b, outHI: 0x0
+sdl :: offset: 0x4e, out: 0xa4dd6353d41d4b, outHI: 0x0
+sdl :: offset: 0x4f, out: 0xe7a4dd6353d41d4b, outHI: 0x0
+sdl :: offset: 0x50, out: 0x5, outHI: 0x0
+sdl :: offset: 0x51, out: 0x1305, outHI: 0x0
+sdl :: offset: 0x52, out: 0xd41305, outHI: 0x0
+sdl :: offset: 0x53, out: 0xbd41305, outHI: 0x0
+sdl :: offset: 0x54, out: 0xc40bd41305, outHI: 0x0
+sdl :: offset: 0x55, out: 0x9dc40bd41305, outHI: 0x0
+sdl :: offset: 0x56, out: 0x5a9dc40bd41305, outHI: 0x0
+sdl :: offset: 0x57, out: 0xf35a9dc40bd41305, outHI: 0x0
+sdl :: offset: 0x58, out: 0x3a, outHI: 0x0
+sdl :: offset: 0x59, out: 0x803a, outHI: 0x0
+sdl :: offset: 0x5a, out: 0xa1803a, outHI: 0x0
+sdl :: offset: 0x5b, out: 0x8a1803a, outHI: 0x0
+sdl :: offset: 0x5c, out: 0x9a08a1803a, outHI: 0x0
+sdl :: offset: 0x5d, out: 0x569a08a1803a, outHI: 0x0
+sdl :: offset: 0x5e, out: 0x5569a08a1803a, outHI: 0x0
+sdl :: offset: 0x5f, out: 0xf505569a08a1803a, outHI: 0x0
+sdl :: offset: 0x60, out: 0x47, outHI: 0x0
+sdl :: offset: 0x61, out: 0xf47, outHI: 0x0
+sdl :: offset: 0x62, out: 0x40f47, outHI: 0x0
+sdl :: offset: 0x63, out: 0xd2040f47, outHI: 0x0
+sdl :: offset: 0x64, out: 0xd6d2040f47, outHI: 0x0
+sdl :: offset: 0x65, out: 0x7fd6d2040f47, outHI: 0x0
+sdl :: offset: 0x66, out: 0xb77fd6d2040f47, outHI: 0x0
+sdl :: offset: 0x67, out: 0x64b77fd6d2040f47, outHI: 0x0
+sdl :: offset: 0x68, out: 0x95, outHI: 0x0
+sdl :: offset: 0x69, out: 0xbe95, outHI: 0x0
+sdl :: offset: 0x6a, out: 0x6bbe95, outHI: 0x0
+sdl :: offset: 0x6b, out: 0xc76bbe95, outHI: 0x0
+sdl :: offset: 0x6c, out: 0xb2c76bbe95, outHI: 0x0
+sdl :: offset: 0x6d, out: 0x79b2c76bbe95, outHI: 0x0
+sdl :: offset: 0x6e, out: 0x8279b2c76bbe95, outHI: 0x0
+sdl :: offset: 0x6f, out: 0xbc8279b2c76bbe95, outHI: 0x0
+sdl :: offset: 0x70, out: 0xce, outHI: 0x0
+sdl :: offset: 0x71, out: 0xc7ce, outHI: 0x0
+sdl :: offset: 0x72, out: 0xe4c7ce, outHI: 0x0
+sdl :: offset: 0x73, out: 0x18e4c7ce, outHI: 0x0
+sdl :: offset: 0x74, out: 0x1f18e4c7ce, outHI: 0x0
+sdl :: offset: 0x75, out: 0x2f1f18e4c7ce, outHI: 0x0
+sdl :: offset: 0x76, out: 0x4c2f1f18e4c7ce, outHI: 0x0
+sdl :: offset: 0x77, out: 0x34c2f1f18e4c7ce, outHI: 0x0
+sdl :: offset: 0x78, out: 0xb5, outHI: 0x0
+sdl :: offset: 0x79, out: 0x97b5, outHI: 0x0
+sdl :: offset: 0x7a, out: 0xa797b5, outHI: 0x0
+sdl :: offset: 0x7b, out: 0xafa797b5, outHI: 0x0
+sdl :: offset: 0x7c, out: 0x81afa797b5, outHI: 0x0
+sdl :: offset: 0x7d, out: 0xfc81afa797b5, outHI: 0x0
+sdl :: offset: 0x7e, out: 0x52fc81afa797b5, outHI: 0x0
+sdl :: offset: 0x7f, out: 0xff52fc81afa797b5, outHI: 0x0
+sdl :: offset: 0x80, out: 0x94, outHI: 0x0
+sdl :: offset: 0x81, out: 0xea94, outHI: 0x0
+sdl :: offset: 0x82, out: 0x50ea94, outHI: 0x0
+sdl :: offset: 0x83, out: 0xfc50ea94, outHI: 0x0
+sdl :: offset: 0x84, out: 0x6dfc50ea94, outHI: 0x0
+sdl :: offset: 0x85, out: 0x166dfc50ea94, outHI: 0x0
+sdl :: offset: 0x86, out: 0xd9166dfc50ea94, outHI: 0x0
+sdl :: offset: 0x87, out: 0xd8d9166dfc50ea94, outHI: 0x0
+sdl :: offset: 0x88, out: 0x31, outHI: 0x0
+sdl :: offset: 0x89, out: 0xb131, outHI: 0x0
+sdl :: offset: 0x8a, out: 0x95b131, outHI: 0x0
+sdl :: offset: 0x8b, out: 0xe895b131, outHI: 0x0
+sdl :: offset: 0x8c, out: 0x78e895b131, outHI: 0x0
+sdl :: offset: 0x8d, out: 0xd678e895b131, outHI: 0x0
+sdl :: offset: 0x8e, out: 0x9bd678e895b131, outHI: 0x0
+sdl :: offset: 0x8f, out: 0x549bd678e895b131, outHI: 0x0
+sdl :: offset: 0x90, out: 0x36, outHI: 0x0
+sdl :: offset: 0x91, out: 0x9b36, outHI: 0x0
+sdl :: offset: 0x92, out: 0x259b36, outHI: 0x0
+sdl :: offset: 0x93, out: 0x63259b36, outHI: 0x0
+sdl :: offset: 0x94, out: 0x9b63259b36, outHI: 0x0
+sdl :: offset: 0x95, out: 0x319b63259b36, outHI: 0x0
+sdl :: offset: 0x96, out: 0xa6319b63259b36, outHI: 0x0
+sdl :: offset: 0x97, out: 0xe0a6319b63259b36, outHI: 0x0
+sdl :: offset: 0x98, out: 0x85, outHI: 0x0
+sdl :: offset: 0x99, out: 0xc585, outHI: 0x0
+sdl :: offset: 0x9a, out: 0x7ac585, outHI: 0x0
+sdl :: offset: 0x9b, out: 0xf17ac585, outHI: 0x0
+sdl :: offset: 0x9c, out: 0xccf17ac585, outHI: 0x0
+sdl :: offset: 0x9d, out: 0xcaccf17ac585, outHI: 0x0
+sdl :: offset: 0x9e, out: 0x3ecaccf17ac585, outHI: 0x0
+sdl :: offset: 0x9f, out: 0x6b3ecaccf17ac585, outHI: 0x0
+sdl :: offset: 0xa0, out: 0x55, outHI: 0x0
+sdl :: offset: 0xa1, out: 0xfb55, outHI: 0x0
+sdl :: offset: 0xa2, out: 0xa0fb55, outHI: 0x0
+sdl :: offset: 0xa3, out: 0xeea0fb55, outHI: 0x0
+sdl :: offset: 0xa4, out: 0x81eea0fb55, outHI: 0x0
+sdl :: offset: 0xa5, out: 0xc581eea0fb55, outHI: 0x0
+sdl :: offset: 0xa6, out: 0x5fc581eea0fb55, outHI: 0x0
+sdl :: offset: 0xa7, out: 0x2f5fc581eea0fb55, outHI: 0x0
+sdl :: offset: 0xa8, out: 0xb4, outHI: 0x0
+sdl :: offset: 0xa9, out: 0x97b4, outHI: 0x0
+sdl :: offset: 0xaa, out: 0x2d97b4, outHI: 0x0
+sdl :: offset: 0xab, out: 0x682d97b4, outHI: 0x0
+sdl :: offset: 0xac, out: 0x14682d97b4, outHI: 0x0
+sdl :: offset: 0xad, out: 0xec14682d97b4, outHI: 0x0
+sdl :: offset: 0xae, out: 0xfec14682d97b4, outHI: 0x0
+sdl :: offset: 0xaf, out: 0xb50fec14682d97b4, outHI: 0x0
+sdl :: offset: 0xb0, out: 0x25, outHI: 0x0
+sdl :: offset: 0xb1, out: 0x7a25, outHI: 0x0
+sdl :: offset: 0xb2, out: 0x87a25, outHI: 0x0
+sdl :: offset: 0xb3, out: 0xfb087a25, outHI: 0x0
+sdl :: offset: 0xb4, out: 0x2cfb087a25, outHI: 0x0
+sdl :: offset: 0xb5, out: 0x132cfb087a25, outHI: 0x0
+sdl :: offset: 0xb6, out: 0xc5132cfb087a25, outHI: 0x0
+sdl :: offset: 0xb7, out: 0x93c5132cfb087a25, outHI: 0x0
+sdl :: offset: 0xb8, out: 0xfc, outHI: 0x0
+sdl :: offset: 0xb9, out: 0x66fc, outHI: 0x0
+sdl :: offset: 0xba, out: 0x766fc, outHI: 0x0
+sdl :: offset: 0xbb, out: 0xa20766fc, outHI: 0x0
+sdl :: offset: 0xbc, out: 0xcda20766fc, outHI: 0x0
+sdl :: offset: 0xbd, out: 0xa9cda20766fc, outHI: 0x0
+sdl :: offset: 0xbe, out: 0xd9a9cda20766fc, outHI: 0x0
+sdl :: offset: 0xbf, out: 0x2cd9a9cda20766fc, outHI: 0x0
+sdl :: offset: 0xc0, out: 0x3c, outHI: 0x0
+sdl :: offset: 0xc1, out: 0x3e3c, outHI: 0x0
+sdl :: offset: 0xc2, out: 0xda3e3c, outHI: 0x0
+sdl :: offset: 0xc3, out: 0x72da3e3c, outHI: 0x0
+sdl :: offset: 0xc4, out: 0x7d72da3e3c, outHI: 0x0
+sdl :: offset: 0xc5, out: 0x2a7d72da3e3c, outHI: 0x0
+sdl :: offset: 0xc6, out: 0x722a7d72da3e3c, outHI: 0x0
+sdl :: offset: 0xc7, out: 0x91722a7d72da3e3c, outHI: 0x0
+sdl :: offset: 0xc8, out: 0x17, outHI: 0x0
+sdl :: offset: 0xc9, out: 0xad17, outHI: 0x0
+sdl :: offset: 0xca, out: 0x24ad17, outHI: 0x0
+sdl :: offset: 0xcb, out: 0xce24ad17, outHI: 0x0
+sdl :: offset: 0xcc, out: 0x93ce24ad17, outHI: 0x0
+sdl :: offset: 0xcd, out: 0xd193ce24ad17, outHI: 0x0
+sdl :: offset: 0xce, out: 0xc9d193ce24ad17, outHI: 0x0
+sdl :: offset: 0xcf, out: 0x7cc9d193ce24ad17, outHI: 0x0
+sdl :: offset: 0xd0, out: 0x8, outHI: 0x0
+sdl :: offset: 0xd1, out: 0xd208, outHI: 0x0
+sdl :: offset: 0xd2, out: 0x4ed208, outHI: 0x0
+sdl :: offset: 0xd3, out: 0x984ed208, outHI: 0x0
+sdl :: offset: 0xd4, out: 0x38984ed208, outHI: 0x0
+sdl :: offset: 0xd5, out: 0x7038984ed208, outHI: 0x0
+sdl :: offset: 0xd6, out: 0x757038984ed208, outHI: 0x0
+sdl :: offset: 0xd7, out: 0x2a757038984ed208, outHI: 0x0
+sdl :: offset: 0xd8, out: 0x1d, outHI: 0x0
+sdl :: offset: 0xd9, out: 0x361d, outHI: 0x0
+sdl :: offset: 0xda, out: 0xd0361d, outHI: 0x0
+sdl :: offset: 0xdb, out: 0xcd0361d, outHI: 0x0
+sdl :: offset: 0xdc, out: 0x710cd0361d, outHI: 0x0
+sdl :: offset: 0xdd, out: 0xdb710cd0361d, outHI: 0x0
+sdl :: offset: 0xde, out: 0x70db710cd0361d, outHI: 0x0
+sdl :: offset: 0xdf, out: 0xd070db710cd0361d, outHI: 0x0
+sdl :: offset: 0xe0, out: 0xd0, outHI: 0x0
+sdl :: offset: 0xe1, out: 0x4d0, outHI: 0x0
+sdl :: offset: 0xe2, out: 0x5604d0, outHI: 0x0
+sdl :: offset: 0xe3, out: 0x415604d0, outHI: 0x0
+sdl :: offset: 0xe4, out: 0x3415604d0, outHI: 0x0
+sdl :: offset: 0xe5, out: 0x7d03415604d0, outHI: 0x0
+sdl :: offset: 0xe6, out: 0x1c7d03415604d0, outHI: 0x0
+sdl :: offset: 0xe7, out: 0xc21c7d03415604d0, outHI: 0x0
+sdl :: offset: 0xe8, out: 0x39, outHI: 0x0
+sdl :: offset: 0xe9, out: 0xce39, outHI: 0x0
+sdl :: offset: 0xea, out: 0x31ce39, outHI: 0x0
+sdl :: offset: 0xeb, out: 0xcc31ce39, outHI: 0x0
+sdl :: offset: 0xec, out: 0x8ecc31ce39, outHI: 0x0
+sdl :: offset: 0xed, out: 0xaf8ecc31ce39, outHI: 0x0
+sdl :: offset: 0xee, out: 0xb7af8ecc31ce39, outHI: 0x0
+sdl :: offset: 0xef, out: 0x94b7af8ecc31ce39, outHI: 0x0
+sdl :: offset: 0xf0, out: 0x8e, outHI: 0x0
+sdl :: offset: 0xf1, out: 0x4f8e, outHI: 0x0
+sdl :: offset: 0xf2, out: 0x674f8e, outHI: 0x0
+sdl :: offset: 0xf3, out: 0xe7674f8e, outHI: 0x0
+sdl :: offset: 0xf4, out: 0x1ce7674f8e, outHI: 0x0
+sdl :: offset: 0xf5, out: 0x8d1ce7674f8e, outHI: 0x0
+sdl :: offset: 0xf6, out: 0x6a8d1ce7674f8e, outHI: 0x0
+sdl :: offset: 0xf7, out: 0xeb6a8d1ce7674f8e, outHI: 0x0
+sdl :: offset: 0xf8, out: 0x24, outHI: 0x0
+sdl :: offset: 0xf9, out: 0xa724, outHI: 0x0
+sdl :: offset: 0xfa, out: 0xe4a724, outHI: 0x0
+sdl :: offset: 0xfb, out: 0xd6e4a724, outHI: 0x0
+sdl :: offset: 0xfc, out: 0x12d6e4a724, outHI: 0x0
+sdl :: offset: 0xfd, out: 0x4412d6e4a724, outHI: 0x0
+sdl :: offset: 0xfe, out: 0x454412d6e4a724, outHI: 0x0
+sdl :: offset: 0xff, out: 0x39454412d6e4a724, outHI: 0x0
+sdl :: offset: 0x100, out: 0x2f, outHI: 0x0
+sdl :: offset: 0x101, out: 0x542f, outHI: 0x0
+sdl :: offset: 0x102, out: 0x4c542f, outHI: 0x0
+sdl :: offset: 0x103, out: 0xda4c542f, outHI: 0x0
+sdl :: offset: 0x104, out: 0x56da4c542f, outHI: 0x0
+sdl :: offset: 0x105, out: 0xb756da4c542f, outHI: 0x0
+sdl :: offset: 0x106, out: 0xc2b756da4c542f, outHI: 0x0
+sdl :: offset: 0x107, out: 0x8c2b756da4c542f, outHI: 0x0
+sdl :: offset: 0x108, out: 0x26, outHI: 0x0
+sdl :: offset: 0x109, out: 0x2f26, outHI: 0x0
+sdl :: offset: 0x10a, out: 0x252f26, outHI: 0x0
+sdl :: offset: 0x10b, out: 0xd7252f26, outHI: 0x0
+sdl :: offset: 0x10c, out: 0xc8d7252f26, outHI: 0x0
+sdl :: offset: 0x10d, out: 0xdac8d7252f26, outHI: 0x0
+sdl :: offset: 0x10e, out: 0x2dac8d7252f26, outHI: 0x0
+sdl :: offset: 0x10f, out: 0x102dac8d7252f26, outHI: 0x0
+sdl :: offset: 0x110, out: 0x90, outHI: 0x0
+sdl :: offset: 0x111, out: 0xf790, outHI: 0x0
+sdl :: offset: 0x112, out: 0xa4f790, outHI: 0x0
+sdl :: offset: 0x113, out: 0xefa4f790, outHI: 0x0
+sdl :: offset: 0x114, out: 0xf2efa4f790, outHI: 0x0
+sdl :: offset: 0x115, out: 0xf1f2efa4f790, outHI: 0x0
+sdl :: offset: 0x116, out: 0xd5f1f2efa4f790, outHI: 0x0
+sdl :: offset: 0x117, out: 0x90d5f1f2efa4f790, outHI: 0x0
+sdl :: offset: 0x118, out: 0xc8, outHI: 0x0
+sdl :: offset: 0x119, out: 0x14c8, outHI: 0x0
+sdl :: offset: 0x11a, out: 0xa214c8, outHI: 0x0
+sdl :: offset: 0x11b, out: 0xb0a214c8, outHI: 0x0
+sdl :: offset: 0x11c, out: 0xc8b0a214c8, outHI: 0x0
+sdl :: offset: 0x11d, out: 0xcbc8b0a214c8, outHI: 0x0
+sdl :: offset: 0x11e, out: 0x5cbc8b0a214c8, outHI: 0x0
+sdl :: offset: 0x11f, out: 0x5005cbc8b0a214c8, outHI: 0x0
+sdl :: offset: 0x120, out: 0xed, outHI: 0x0
+sdl :: offset: 0x121, out: 0x6ced, outHI: 0x0
+sdl :: offset: 0x122, out: 0x136ced, outHI: 0x0
+sdl :: offset: 0x123, out: 0x91136ced, outHI: 0x0
+sdl :: offset: 0x124, out: 0x5991136ced, outHI: 0x0
+sdl :: offset: 0x125, out: 0x895991136ced, outHI: 0x0
+sdl :: offset: 0x126, out: 0x91895991136ced, outHI: 0x0
+sdl :: offset: 0x127, out: 0x4791895991136ced, outHI: 0x0
+sdl :: offset: 0x128, out: 0x31, outHI: 0x0
+sdl :: offset: 0x129, out: 0xf331, outHI: 0x0
+sdl :: offset: 0x12a, out: 0xb6f331, outHI: 0x0
+sdl :: offset: 0x12b, out: 0x2fb6f331, outHI: 0x0
+sdl :: offset: 0x12c, out: 0x9a2fb6f331, outHI: 0x0
+sdl :: offset: 0x12d, out: 0xf99a2fb6f331, outHI: 0x0
+sdl :: offset: 0x12e, out: 0xcff99a2fb6f331, outHI: 0x0
+sdl :: offset: 0x12f, out: 0xeecff99a2fb6f331, outHI: 0x0
+sdl :: offset: 0x130, out: 0xc6, outHI: 0x0
+sdl :: offset: 0x131, out: 0x70c6, outHI: 0x0
+sdl :: offset: 0x132, out: 0x5270c6, outHI: 0x0
+sdl :: offset: 0x133, out: 0x895270c6, outHI: 0x0
+sdl :: offset: 0x134, out: 0x38895270c6, outHI: 0x0
+sdl :: offset: 0x135, out: 0x1238895270c6, outHI: 0x0
+sdl :: offset: 0x136, out: 0x521238895270c6, outHI: 0x0
+sdl :: offset: 0x137, out: 0x9521238895270c6, outHI: 0x0
+sdl :: offset: 0x138, out: 0xa8, outHI: 0x0
+sdl :: offset: 0x139, out: 0x40a8, outHI: 0x0
+sdl :: offset: 0x13a, out: 0x5040a8, outHI: 0x0
+sdl :: offset: 0x13b, out: 0x765040a8, outHI: 0x0
+sdl :: offset: 0x13c, out: 0xad765040a8, outHI: 0x0
+sdl :: offset: 0x13d, out: 0x4ad765040a8, outHI: 0x0
+sdl :: offset: 0x13e, out: 0xa04ad765040a8, outHI: 0x0
+sdl :: offset: 0x13f, out: 0x750a04ad765040a8, outHI: 0x0
+sdl :: offset: 0x140, out: 0x87, outHI: 0x0
+sdl :: offset: 0x141, out: 0x8387, outHI: 0x0
+sdl :: offset: 0x142, out: 0x5a8387, outHI: 0x0
+sdl :: offset: 0x143, out: 0xbb5a8387, outHI: 0x0
+sdl :: offset: 0x144, out: 0x84bb5a8387, outHI: 0x0
+sdl :: offset: 0x145, out: 0x5e84bb5a8387, outHI: 0x0
+sdl :: offset: 0x146, out: 0xe85e84bb5a8387, outHI: 0x0
+sdl :: offset: 0x147, out: 0x3de85e84bb5a8387, outHI: 0x0
+sdl :: offset: 0x148, out: 0x2c, outHI: 0x0
+sdl :: offset: 0x149, out: 0x672c, outHI: 0x0
+sdl :: offset: 0x14a, out: 0xaa672c, outHI: 0x0
+sdl :: offset: 0x14b, out: 0x6aa672c, outHI: 0x0
+sdl :: offset: 0x14c, out: 0xc506aa672c, outHI: 0x0
+sdl :: offset: 0x14d, out: 0x8fc506aa672c, outHI: 0x0
+sdl :: offset: 0x14e, out: 0xff8fc506aa672c, outHI: 0x0
+sdl :: offset: 0x14f, out: 0x6aff8fc506aa672c, outHI: 0x0
+sdl :: offset: 0x150, out: 0xae, outHI: 0x0
+sdl :: offset: 0x151, out: 0xe3ae, outHI: 0x0
+sdl :: offset: 0x152, out: 0x5ee3ae, outHI: 0x0
+sdl :: offset: 0x153, out: 0xed5ee3ae, outHI: 0x0
+sdl :: offset: 0x154, out: 0x60ed5ee3ae, outHI: 0x0
+sdl :: offset: 0x155, out: 0xdd60ed5ee3ae, outHI: 0x0
+sdl :: offset: 0x156, out: 0x12dd60ed5ee3ae, outHI: 0x0
+sdl :: offset: 0x157, out: 0x7112dd60ed5ee3ae, outHI: 0x0
+sdl :: offset: 0x158, out: 0xc0, outHI: 0x0
+sdl :: offset: 0x159, out: 0x5ac0, outHI: 0x0
+sdl :: offset: 0x15a, out: 0xca5ac0, outHI: 0x0
+sdl :: offset: 0x15b, out: 0xdcca5ac0, outHI: 0x0
+sdl :: offset: 0x15c, out: 0x30dcca5ac0, outHI: 0x0
+sdl :: offset: 0x15d, out: 0xf630dcca5ac0, outHI: 0x0
+sdl :: offset: 0x15e, out: 0x70f630dcca5ac0, outHI: 0x0
+sdl :: offset: 0x15f, out: 0xc770f630dcca5ac0, outHI: 0x0
+sdl :: offset: 0x160, out: 0xc4, outHI: 0x0
+sdl :: offset: 0x161, out: 0x77c4, outHI: 0x0
+sdl :: offset: 0x162, out: 0x5277c4, outHI: 0x0
+sdl :: offset: 0x163, out: 0xcd5277c4, outHI: 0x0
+sdl :: offset: 0x164, out: 0x83cd5277c4, outHI: 0x0
+sdl :: offset: 0x165, out: 0x2383cd5277c4, outHI: 0x0
+sdl :: offset: 0x166, out: 0x2b2383cd5277c4, outHI: 0x0
+sdl :: offset: 0x167, out: 0xec2b2383cd5277c4, outHI: 0x0
+sdl :: offset: 0x168, out: 0xdf, outHI: 0x0
+sdl :: offset: 0x169, out: 0x6bdf, outHI: 0x0
+sdl :: offset: 0x16a, out: 0xd96bdf, outHI: 0x0
+sdl :: offset: 0x16b, out: 0xf7d96bdf, outHI: 0x0
+sdl :: offset: 0x16c, out: 0xff7d96bdf, outHI: 0x0
+sdl :: offset: 0x16d, out: 0x260ff7d96bdf, outHI: 0x0
+sdl :: offset: 0x16e, out: 0xba260ff7d96bdf, outHI: 0x0
+sdl :: offset: 0x16f, out: 0xadba260ff7d96bdf, outHI: 0x0
+sdl :: offset: 0x170, out: 0xd3, outHI: 0x0
+sdl :: offset: 0x171, out: 0xed3, outHI: 0x0
+sdl :: offset: 0x172, out: 0xc00ed3, outHI: 0x0
+sdl :: offset: 0x173, out: 0x18c00ed3, outHI: 0x0
+sdl :: offset: 0x174, out: 0x8418c00ed3, outHI: 0x0
+sdl :: offset: 0x175, out: 0x798418c00ed3, outHI: 0x0
+sdl :: offset: 0x176, out: 0xaa798418c00ed3, outHI: 0x0
+sdl :: offset: 0x177, out: 0xb4aa798418c00ed3, outHI: 0x0
+sdl :: offset: 0x178, out: 0x4a, outHI: 0x0
+sdl :: offset: 0x179, out: 0xb84a, outHI: 0x0
+sdl :: offset: 0x17a, out: 0xf0b84a, outHI: 0x0
+sdl :: offset: 0x17b, out: 0xe0f0b84a, outHI: 0x0
+sdl :: offset: 0x17c, out: 0xde0f0b84a, outHI: 0x0
+sdl :: offset: 0x17d, out: 0x5e0de0f0b84a, outHI: 0x0
+sdl :: offset: 0x17e, out: 0x35e0de0f0b84a, outHI: 0x0
+sdl :: offset: 0x17f, out: 0x8c035e0de0f0b84a, outHI: 0x0
+sdl :: offset: 0x180, out: 0xbb, outHI: 0x0
+sdl :: offset: 0x181, out: 0xf1bb, outHI: 0x0
+sdl :: offset: 0x182, out: 0xdcf1bb, outHI: 0x0
+sdl :: offset: 0x183, out: 0x7fdcf1bb, outHI: 0x0
+sdl :: offset: 0x184, out: 0xa97fdcf1bb, outHI: 0x0
+sdl :: offset: 0x185, out: 0x54a97fdcf1bb, outHI: 0x0
+sdl :: offset: 0x186, out: 0x6f54a97fdcf1bb, outHI: 0x0
+sdl :: offset: 0x187, out: 0xb06f54a97fdcf1bb, outHI: 0x0
+sdl :: offset: 0x188, out: 0x33, outHI: 0x0
+sdl :: offset: 0x189, out: 0x8133, outHI: 0x0
+sdl :: offset: 0x18a, out: 0xc08133, outHI: 0x0
+sdl :: offset: 0x18b, out: 0xd1c08133, outHI: 0x0
+sdl :: offset: 0x18c, out: 0x3fd1c08133, outHI: 0x0
+sdl :: offset: 0x18d, out: 0x373fd1c08133, outHI: 0x0
+sdl :: offset: 0x18e, out: 0x3f373fd1c08133, outHI: 0x0
+sdl :: offset: 0x18f, out: 0x433f373fd1c08133, outHI: 0x0
+sdl :: offset: 0x190, out: 0x77, outHI: 0x0
+sdl :: offset: 0x191, out: 0xe477, outHI: 0x0
+sdl :: offset: 0x192, out: 0x95e477, outHI: 0x0
+sdl :: offset: 0x193, out: 0x2195e477, outHI: 0x0
+sdl :: offset: 0x194, out: 0xc92195e477, outHI: 0x0
+sdl :: offset: 0x195, out: 0x93c92195e477, outHI: 0x0
+sdl :: offset: 0x196, out: 0xd993c92195e477, outHI: 0x0
+sdl :: offset: 0x197, out: 0x91d993c92195e477, outHI: 0x0
+sdl :: offset: 0x198, out: 0xec, outHI: 0x0
+sdl :: offset: 0x199, out: 0xabec, outHI: 0x0
+sdl :: offset: 0x19a, out: 0xa5abec, outHI: 0x0
+sdl :: offset: 0x19b, out: 0xb1a5abec, outHI: 0x0
+sdl :: offset: 0x19c, out: 0x95b1a5abec, outHI: 0x0
+sdl :: offset: 0x19d, out: 0xa795b1a5abec, outHI: 0x0
+sdl :: offset: 0x19e, out: 0xf6a795b1a5abec, outHI: 0x0
+sdl :: offset: 0x19f, out: 0xfbf6a795b1a5abec, outHI: 0x0
+sdl :: offset: 0x1a0, out: 0x49, outHI: 0x0
+sdl :: offset: 0x1a1, out: 0x1e49, outHI: 0x0
+sdl :: offset: 0x1a2, out: 0x8d1e49, outHI: 0x0
+sdl :: offset: 0x1a3, out: 0xce8d1e49, outHI: 0x0
+sdl :: offset: 0x1a4, out: 0xc7ce8d1e49, outHI: 0x0
+sdl :: offset: 0x1a5, out: 0x78c7ce8d1e49, outHI: 0x0
+sdl :: offset: 0x1a6, out: 0x4378c7ce8d1e49, outHI: 0x0
+sdl :: offset: 0x1a7, out: 0x364378c7ce8d1e49, outHI: 0x0
+sdl :: offset: 0x1a8, out: 0x19, outHI: 0x0
+sdl :: offset: 0x1a9, out: 0x719, outHI: 0x0
+sdl :: offset: 0x1aa, out: 0x490719, outHI: 0x0
+sdl :: offset: 0x1ab, out: 0x38490719, outHI: 0x0
+sdl :: offset: 0x1ac, out: 0x2f38490719, outHI: 0x0
+sdl :: offset: 0x1ad, out: 0xef2f38490719, outHI: 0x0
+sdl :: offset: 0x1ae, out: 0x8def2f38490719, outHI: 0x0
+sdl :: offset: 0x1af, out: 0x9e8def2f38490719, outHI: 0x0
+sdl :: offset: 0x1b0, out: 0xb9, outHI: 0x0
+sdl :: offset: 0x1b1, out: 0xfeb9, outHI: 0x0
+sdl :: offset: 0x1b2, out: 0x12feb9, outHI: 0x0
+sdl :: offset: 0x1b3, out: 0x2b12feb9, outHI: 0x0
+sdl :: offset: 0x1b4, out: 0x582b12feb9, outHI: 0x0
+sdl :: offset: 0x1b5, out: 0xcd582b12feb9, outHI: 0x0
+sdl :: offset: 0x1b6, out: 0xcdcd582b12feb9, outHI: 0x0
+sdl :: offset: 0x1b7, out: 0xeacdcd582b12feb9, outHI: 0x0
+sdl :: offset: 0x1b8, out: 0x47, outHI: 0x0
+sdl :: offset: 0x1b9, out: 0x4f47, outHI: 0x0
+sdl :: offset: 0x1ba, out: 0x8c4f47, outHI: 0x0
+sdl :: offset: 0x1bb, out: 0x558c4f47, outHI: 0x0
+sdl :: offset: 0x1bc, out: 0x76558c4f47, outHI: 0x0
+sdl :: offset: 0x1bd, out: 0x4e76558c4f47, outHI: 0x0
+sdl :: offset: 0x1be, out: 0x884e76558c4f47, outHI: 0x0
+sdl :: offset: 0x1bf, out: 0x85884e76558c4f47, outHI: 0x0
+sdl :: offset: 0x1c0, out: 0xd6, outHI: 0x0
+sdl :: offset: 0x1c1, out: 0xc7d6, outHI: 0x0
+sdl :: offset: 0x1c2, out: 0x95c7d6, outHI: 0x0
+sdl :: offset: 0x1c3, out: 0xc195c7d6, outHI: 0x0
+sdl :: offset: 0x1c4, out: 0x34c195c7d6, outHI: 0x0
+sdl :: offset: 0x1c5, out: 0x2a34c195c7d6, outHI: 0x0
+sdl :: offset: 0x1c6, out: 0xd62a34c195c7d6, outHI: 0x0
+sdl :: offset: 0x1c7, out: 0x68d62a34c195c7d6, outHI: 0x0
+sdl :: offset: 0x1c8, out: 0x61, outHI: 0x0
+sdl :: offset: 0x1c9, out: 0x561, outHI: 0x0
+sdl :: offset: 0x1ca, out: 0x740561, outHI: 0x0
+sdl :: offset: 0x1cb, out: 0xf4740561, outHI: 0x0
+sdl :: offset: 0x1cc, out: 0x4df4740561, outHI: 0x0
+sdl :: offset: 0x1cd, out: 0x894df4740561, outHI: 0x0
+sdl :: offset: 0x1ce, out: 0x69894df4740561, outHI: 0x0
+sdl :: offset: 0x1cf, out: 0x169894df4740561, outHI: 0x0
+sdl :: offset: 0x1d0, out: 0xd3, outHI: 0x0
+sdl :: offset: 0x1d1, out: 0xdbd3, outHI: 0x0
+sdl :: offset: 0x1d2, out: 0x6dbd3, outHI: 0x0
+sdl :: offset: 0x1d3, out: 0xbb06dbd3, outHI: 0x0
+sdl :: offset: 0x1d4, out: 0x6cbb06dbd3, outHI: 0x0
+sdl :: offset: 0x1d5, out: 0xbf6cbb06dbd3, outHI: 0x0
+sdl :: offset: 0x1d6, out: 0x90bf6cbb06dbd3, outHI: 0x0
+sdl :: offset: 0x1d7, out: 0xa190bf6cbb06dbd3, outHI: 0x0
+sdl :: offset: 0x1d8, out: 0x1c, outHI: 0x0
+sdl :: offset: 0x1d9, out: 0x3a1c, outHI: 0x0
+sdl :: offset: 0x1da, out: 0x393a1c, outHI: 0x0
+sdl :: offset: 0x1db, out: 0xae393a1c, outHI: 0x0
+sdl :: offset: 0x1dc, out: 0x9cae393a1c, outHI: 0x0
+sdl :: offset: 0x1dd, out: 0x29cae393a1c, outHI: 0x0
+sdl :: offset: 0x1de, out: 0xf029cae393a1c, outHI: 0x0
+sdl :: offset: 0x1df, out: 0x300f029cae393a1c, outHI: 0x0
+sdl :: offset: 0x1e0, out: 0x58, outHI: 0x0
+sdl :: offset: 0x1e1, out: 0x2d58, outHI: 0x0
+sdl :: offset: 0x1e2, out: 0xbc2d58, outHI: 0x0
+sdl :: offset: 0x1e3, out: 0x7ebc2d58, outHI: 0x0
+sdl :: offset: 0x1e4, out: 0xdc7ebc2d58, outHI: 0x0
+sdl :: offset: 0x1e5, out: 0xdbdc7ebc2d58, outHI: 0x0
+sdl :: offset: 0x1e6, out: 0x5fdbdc7ebc2d58, outHI: 0x0
+sdl :: offset: 0x1e7, out: 0x995fdbdc7ebc2d58, outHI: 0x0
+sdl :: offset: 0x1e8, out: 0x9a, outHI: 0x0
+sdl :: offset: 0x1e9, out: 0x489a, outHI: 0x0
+sdl :: offset: 0x1ea, out: 0x5b489a, outHI: 0x0
+sdl :: offset: 0x1eb, out: 0x405b489a, outHI: 0x0
+sdl :: offset: 0x1ec, out: 0xe3405b489a, outHI: 0x0
+sdl :: offset: 0x1ed, out: 0x7be3405b489a, outHI: 0x0
+sdl :: offset: 0x1ee, out: 0x47be3405b489a, outHI: 0x0
+sdl :: offset: 0x1ef, out: 0x96047be3405b489a, outHI: 0x0
+sdl :: offset: 0x1f0, out: 0x8a, outHI: 0x0
+sdl :: offset: 0x1f1, out: 0x228a, outHI: 0x0
+sdl :: offset: 0x1f2, out: 0xd3228a, outHI: 0x0
+sdl :: offset: 0x1f3, out: 0x19d3228a, outHI: 0x0
+sdl :: offset: 0x1f4, out: 0xd519d3228a, outHI: 0x0
+sdl :: offset: 0x1f5, out: 0xd2d519d3228a, outHI: 0x0
+sdl :: offset: 0x1f6, out: 0xafd2d519d3228a, outHI: 0x0
+sdl :: offset: 0x1f7, out: 0xbfafd2d519d3228a, outHI: 0x0
+sdl :: offset: 0x1f8, out: 0x75, outHI: 0x0
+sdl :: offset: 0x1f9, out: 0xad75, outHI: 0x0
+sdl :: offset: 0x1fa, out: 0xf6ad75, outHI: 0x0
+sdl :: offset: 0x1fb, out: 0x30f6ad75, outHI: 0x0
+sdl :: offset: 0x1fc, out: 0xa630f6ad75, outHI: 0x0
+sdl :: offset: 0x1fd, out: 0x67a630f6ad75, outHI: 0x0
+sdl :: offset: 0x1fe, out: 0x867a630f6ad75, outHI: 0x0
+sdl :: offset: 0x1ff, out: 0x230867a630f6ad75, outHI: 0x0
+sdl :: offset: 0x200, out: 0xde, outHI: 0x0
+sdl :: offset: 0x201, out: 0x60de, outHI: 0x0
+sdl :: offset: 0x202, out: 0x3260de, outHI: 0x0
+sdl :: offset: 0x203, out: 0x103260de, outHI: 0x0
+sdl :: offset: 0x204, out: 0x56103260de, outHI: 0x0
+sdl :: offset: 0x205, out: 0xf256103260de, outHI: 0x0
+sdl :: offset: 0x206, out: 0xcf256103260de, outHI: 0x0
+sdl :: offset: 0x207, out: 0xa0cf256103260de, outHI: 0x0
+sdl :: offset: 0x208, out: 0x2c, outHI: 0x0
+sdl :: offset: 0x209, out: 0xef2c, outHI: 0x0
+sdl :: offset: 0x20a, out: 0x18ef2c, outHI: 0x0
+sdl :: offset: 0x20b, out: 0x9b18ef2c, outHI: 0x0
+sdl :: offset: 0x20c, out: 0x249b18ef2c, outHI: 0x0
+sdl :: offset: 0x20d, out: 0x44249b18ef2c, outHI: 0x0
+sdl :: offset: 0x20e, out: 0x544249b18ef2c, outHI: 0x0
+sdl :: offset: 0x20f, out: 0xa90544249b18ef2c, outHI: 0x0
+sdl :: offset: 0x210, out: 0x94, outHI: 0x0
+sdl :: offset: 0x211, out: 0xde94, outHI: 0x0
+sdl :: offset: 0x212, out: 0xfcde94, outHI: 0x0
+sdl :: offset: 0x213, out: 0x56fcde94, outHI: 0x0
+sdl :: offset: 0x214, out: 0x5b56fcde94, outHI: 0x0
+sdl :: offset: 0x215, out: 0xb55b56fcde94, outHI: 0x0
+sdl :: offset: 0x216, out: 0x9fb55b56fcde94, outHI: 0x0
+sdl :: offset: 0x217, out: 0x519fb55b56fcde94, outHI: 0x0
+sdl :: offset: 0x218, out: 0xf9, outHI: 0x0
+sdl :: offset: 0x219, out: 0x9bf9, outHI: 0x0
+sdl :: offset: 0x21a, out: 0x319bf9, outHI: 0x0
+sdl :: offset: 0x21b, out: 0x68319bf9, outHI: 0x0
+sdl :: offset: 0x21c, out: 0x468319bf9, outHI: 0x0
+sdl :: offset: 0x21d, out: 0x200468319bf9, outHI: 0x0
+sdl :: offset: 0x21e, out: 0xf8200468319bf9, outHI: 0x0
+sdl :: offset: 0x21f, out: 0xdaf8200468319bf9, outHI: 0x0
+sdl :: offset: 0x220, out: 0x81, outHI: 0x0
+sdl :: offset: 0x221, out: 0xec81, outHI: 0x0
+sdl :: offset: 0x222, out: 0xf2ec81, outHI: 0x0
+sdl :: offset: 0x223, out: 0x25f2ec81, outHI: 0x0
+sdl :: offset: 0x224, out: 0x5725f2ec81, outHI: 0x0
+sdl :: offset: 0x225, out: 0x5a5725f2ec81, outHI: 0x0
+sdl :: offset: 0x226, out: 0xca5a5725f2ec81, outHI: 0x0
+sdl :: offset: 0x227, out: 0x61ca5a5725f2ec81, outHI: 0x0
+sdl :: offset: 0x228, out: 0x8c, outHI: 0x0
+sdl :: offset: 0x229, out: 0xbf8c, outHI: 0x0
+sdl :: offset: 0x22a, out: 0xc8bf8c, outHI: 0x0
+sdl :: offset: 0x22b, out: 0x5dc8bf8c, outHI: 0x0
+sdl :: offset: 0x22c, out: 0xc25dc8bf8c, outHI: 0x0
+sdl :: offset: 0x22d, out: 0xddc25dc8bf8c, outHI: 0x0
+sdl :: offset: 0x22e, out: 0xa6ddc25dc8bf8c, outHI: 0x0
+sdl :: offset: 0x22f, out: 0x95a6ddc25dc8bf8c, outHI: 0x0
+sdl :: offset: 0x230, out: 0x8b, outHI: 0x0
+sdl :: offset: 0x231, out: 0x2f8b, outHI: 0x0
+sdl :: offset: 0x232, out: 0x162f8b, outHI: 0x0
+sdl :: offset: 0x233, out: 0xc6162f8b, outHI: 0x0
+sdl :: offset: 0x234, out: 0xdac6162f8b, outHI: 0x0
+sdl :: offset: 0x235, out: 0x51dac6162f8b, outHI: 0x0
+sdl :: offset: 0x236, out: 0xe751dac6162f8b, outHI: 0x0
+sdl :: offset: 0x237, out: 0xce751dac6162f8b, outHI: 0x0
+sdl :: offset: 0x238, out: 0x30, outHI: 0x0
+sdl :: offset: 0x239, out: 0x5030, outHI: 0x0
+sdl :: offset: 0x23a, out: 0xa85030, outHI: 0x0
+sdl :: offset: 0x23b, out: 0x52a85030, outHI: 0x0
+sdl :: offset: 0x23c, out: 0xba52a85030, outHI: 0x0
+sdl :: offset: 0x23d, out: 0xf3ba52a85030, outHI: 0x0
+sdl :: offset: 0x23e, out: 0xfdf3ba52a85030, outHI: 0x0
+sdl :: offset: 0x23f, out: 0x78fdf3ba52a85030, outHI: 0x0
+sdl :: offset: 0x240, out: 0x67, outHI: 0x0
+sdl :: offset: 0x241, out: 0x9f67, outHI: 0x0
+sdl :: offset: 0x242, out: 0x479f67, outHI: 0x0
+sdl :: offset: 0x243, out: 0x78479f67, outHI: 0x0
+sdl :: offset: 0x244, out: 0xda78479f67, outHI: 0x0
+sdl :: offset: 0x245, out: 0xf7da78479f67, outHI: 0x0
+sdl :: offset: 0x246, out: 0xb1f7da78479f67, outHI: 0x0
+sdl :: offset: 0x247, out: 0xb1f7da78479f67, outHI: 0x0
+sdl :: offset: 0x248, out: 0xad, outHI: 0x0
+sdl :: offset: 0x249, out: 0x8aad, outHI: 0x0
+sdl :: offset: 0x24a, out: 0xd98aad, outHI: 0x0
+sdl :: offset: 0x24b, out: 0xb6d98aad, outHI: 0x0
+sdl :: offset: 0x24c, out: 0xa6b6d98aad, outHI: 0x0
+sdl :: offset: 0x24d, out: 0x68a6b6d98aad, outHI: 0x0
+sdl :: offset: 0x24e, out: 0x4168a6b6d98aad, outHI: 0x0
+sdl :: offset: 0x24f, out: 0xd44168a6b6d98aad, outHI: 0x0
+sdl :: offset: 0x250, out: 0x8, outHI: 0x0
+sdl :: offset: 0x251, out: 0x1308, outHI: 0x0
+sdl :: offset: 0x252, out: 0x441308, outHI: 0x0
+sdl :: offset: 0x253, out: 0x63441308, outHI: 0x0
+sdl :: offset: 0x254, out: 0xce63441308, outHI: 0x0
+sdl :: offset: 0x255, out: 0x1dce63441308, outHI: 0x0
+sdl :: offset: 0x256, out: 0x381dce63441308, outHI: 0x0
+sdl :: offset: 0x257, out: 0x18381dce63441308, outHI: 0x0
+sdl :: offset: 0x258, out: 0xf5, outHI: 0x0
+sdl :: offset: 0x259, out: 0xc0f5, outHI: 0x0
+sdl :: offset: 0x25a, out: 0x5fc0f5, outHI: 0x0
+sdl :: offset: 0x25b, out: 0x255fc0f5, outHI: 0x0
+sdl :: offset: 0x25c, out: 0xe5255fc0f5, outHI: 0x0
+sdl :: offset: 0x25d, out: 0x3fe5255fc0f5, outHI: 0x0
+sdl :: offset: 0x25e, out: 0x7f3fe5255fc0f5, outHI: 0x0
+sdl :: offset: 0x25f, out: 0x627f3fe5255fc0f5, outHI: 0x0
+sdl :: offset: 0x260, out: 0xe4, outHI: 0x0
+sdl :: offset: 0x261, out: 0x28e4, outHI: 0x0
+sdl :: offset: 0x262, out: 0x1f28e4, outHI: 0x0
+sdl :: offset: 0x263, out: 0x321f28e4, outHI: 0x0
+sdl :: offset: 0x264, out: 0x76321f28e4, outHI: 0x0
+sdl :: offset: 0x265, out: 0xe176321f28e4, outHI: 0x0
+sdl :: offset: 0x266, out: 0x92e176321f28e4, outHI: 0x0
+sdl :: offset: 0x267, out: 0xd392e176321f28e4, outHI: 0x0
+sdl :: offset: 0x268, out: 0xcc, outHI: 0x0
+sdl :: offset: 0x269, out: 0x8fcc, outHI: 0x0
+sdl :: offset: 0x26a, out: 0xfd8fcc, outHI: 0x0
+sdl :: offset: 0x26b, out: 0x18fd8fcc, outHI: 0x0
+sdl :: offset: 0x26c, out: 0x4018fd8fcc, outHI: 0x0
+sdl :: offset: 0x26d, out: 0x944018fd8fcc, outHI: 0x0
+sdl :: offset: 0x26e, out: 0x64944018fd8fcc, outHI: 0x0
+sdl :: offset: 0x26f, out: 0x9464944018fd8fcc, outHI: 0x0
+sdl :: offset: 0x270, out: 0x82, outHI: 0x0
+sdl :: offset: 0x271, out: 0xe582, outHI: 0x0
+sdl :: offset: 0x272, out: 0xf0e582, outHI: 0x0
+sdl :: offset: 0x273, out: 0xe8f0e582, outHI: 0x0
+sdl :: offset: 0x274, out: 0x52e8f0e582, outHI: 0x0
+sdl :: offset: 0x275, out: 0x4052e8f0e582, outHI: 0x0
+sdl :: offset: 0x276, out: 0x204052e8f0e582, outHI: 0x0
+sdl :: offset: 0x277, out: 0xd3204052e8f0e582, outHI: 0x0
+sdl :: offset: 0x278, out: 0x15, outHI: 0x0
+sdl :: offset: 0x279, out: 0x4415, outHI: 0x0
+sdl :: offset: 0x27a, out: 0xf34415, outHI: 0x0
+sdl :: offset: 0x27b, out: 0xff34415, outHI: 0x0
+sdl :: offset: 0x27c, out: 0x880ff34415, outHI: 0x0
+sdl :: offset: 0x27d, out: 0xd2880ff34415, outHI: 0x0
+sdl :: offset: 0x27e, out: 0x83d2880ff34415, outHI: 0x0
+sdl :: offset: 0x27f, out: 0xaf83d2880ff34415, outHI: 0x0
+sdl :: offset: 0x280, out: 0x7c, outHI: 0x0
+sdl :: offset: 0x281, out: 0xd77c, outHI: 0x0
+sdl :: offset: 0x282, out: 0xefd77c, outHI: 0x0
+sdl :: offset: 0x283, out: 0x7defd77c, outHI: 0x0
+sdl :: offset: 0x284, out: 0x747defd77c, outHI: 0x0
+sdl :: offset: 0x285, out: 0x4c747defd77c, outHI: 0x0
+sdl :: offset: 0x286, out: 0xa04c747defd77c, outHI: 0x0
+sdl :: offset: 0x287, out: 0x56a04c747defd77c, outHI: 0x0
+sdl :: offset: 0x288, out: 0xf1, outHI: 0x0
+sdl :: offset: 0x289, out: 0x10f1, outHI: 0x0
+sdl :: offset: 0x28a, out: 0xd710f1, outHI: 0x0
+sdl :: offset: 0x28b, out: 0x31d710f1, outHI: 0x0
+sdl :: offset: 0x28c, out: 0xf31d710f1, outHI: 0x0
+sdl :: offset: 0x28d, out: 0x1c0f31d710f1, outHI: 0x0
+sdl :: offset: 0x28e, out: 0x601c0f31d710f1, outHI: 0x0
+sdl :: offset: 0x28f, out: 0xe2601c0f31d710f1, outHI: 0x0
+sdl :: offset: 0x290, out: 0x93, outHI: 0x0
+sdl :: offset: 0x291, out: 0x3393, outHI: 0x0
+sdl :: offset: 0x292, out: 0xd93393, outHI: 0x0
+sdl :: offset: 0x293, out: 0x1cd93393, outHI: 0x0
+sdl :: offset: 0x294, out: 0x131cd93393, outHI: 0x0
+sdl :: offset: 0x295, out: 0x79131cd93393, outHI: 0x0
+sdl :: offset: 0x296, out: 0xa679131cd93393, outHI: 0x0
+sdl :: offset: 0x297, out: 0xe1a679131cd93393, outHI: 0x0
+sdl :: offset: 0x298, out: 0xe1, outHI: 0x0
+sdl :: offset: 0x299, out: 0x27e1, outHI: 0x0
+sdl :: offset: 0x29a, out: 0xa427e1, outHI: 0x0
+sdl :: offset: 0x29b, out: 0x6fa427e1, outHI: 0x0
+sdl :: offset: 0x29c, out: 0xa76fa427e1, outHI: 0x0
+sdl :: offset: 0x29d, out: 0x75a76fa427e1, outHI: 0x0
+sdl :: offset: 0x29e, out: 0x6b75a76fa427e1, outHI: 0x0
+sdl :: offset: 0x29f, out: 0x296b75a76fa427e1, outHI: 0x0
+sdl :: offset: 0x2a0, out: 0x24, outHI: 0x0
+sdl :: offset: 0x2a1, out: 0x6a24, outHI: 0x0
+sdl :: offset: 0x2a2, out: 0xe56a24, outHI: 0x0
+sdl :: offset: 0x2a3, out: 0x9ee56a24, outHI: 0x0
+sdl :: offset: 0x2a4, out: 0x139ee56a24, outHI: 0x0
+sdl :: offset: 0x2a5, out: 0xd2139ee56a24, outHI: 0x0
+sdl :: offset: 0x2a6, out: 0xe2d2139ee56a24, outHI: 0x0
+sdl :: offset: 0x2a7, out: 0x96e2d2139ee56a24, outHI: 0x0
+sdl :: offset: 0x2a8, out: 0xd2, outHI: 0x0
+sdl :: offset: 0x2a9, out: 0xc0d2, outHI: 0x0
+sdl :: offset: 0x2aa, out: 0xa5c0d2, outHI: 0x0
+sdl :: offset: 0x2ab, out: 0xc2a5c0d2, outHI: 0x0
+sdl :: offset: 0x2ac, out: 0x6dc2a5c0d2, outHI: 0x0
+sdl :: offset: 0x2ad, out: 0x7f6dc2a5c0d2, outHI: 0x0
+sdl :: offset: 0x2ae, out: 0x447f6dc2a5c0d2, outHI: 0x0
+sdl :: offset: 0x2af, out: 0x82447f6dc2a5c0d2, outHI: 0x0
+sdl :: offset: 0x2b0, out: 0x5a, outHI: 0x0
+sdl :: offset: 0x2b1, out: 0x685a, outHI: 0x0
+sdl :: offset: 0x2b2, out: 0xc1685a, outHI: 0x0
+sdl :: offset: 0x2b3, out: 0x7dc1685a, outHI: 0x0
+sdl :: offset: 0x2b4, out: 0xc07dc1685a, outHI: 0x0
+sdl :: offset: 0x2b5, out: 0x80c07dc1685a, outHI: 0x0
+sdl :: offset: 0x2b6, out: 0x9e80c07dc1685a, outHI: 0x0
+sdl :: offset: 0x2b7, out: 0xc89e80c07dc1685a, outHI: 0x0
+sdl :: offset: 0x2b8, out: 0x76, outHI: 0x0
+sdl :: offset: 0x2b9, out: 0x8f76, outHI: 0x0
+sdl :: offset: 0x2ba, out: 0x348f76, outHI: 0x0
+sdl :: offset: 0x2bb, out: 0xfe348f76, outHI: 0x0
+sdl :: offset: 0x2bc, out: 0x4bfe348f76, outHI: 0x0
+sdl :: offset: 0x2bd, out: 0x454bfe348f76, outHI: 0x0
+sdl :: offset: 0x2be, out: 0xc3454bfe348f76, outHI: 0x0
+sdl :: offset: 0x2bf, out: 0xdc3454bfe348f76, outHI: 0x0
+sdl :: offset: 0x2c0, out: 0x7, outHI: 0x0
+sdl :: offset: 0x2c1, out: 0x1b07, outHI: 0x0
+sdl :: offset: 0x2c2, out: 0x241b07, outHI: 0x0
+sdl :: offset: 0x2c3, out: 0x6d241b07, outHI: 0x0
+sdl :: offset: 0x2c4, out: 0xdd6d241b07, outHI: 0x0
+sdl :: offset: 0x2c5, out: 0x23dd6d241b07, outHI: 0x0
+sdl :: offset: 0x2c6, out: 0x7123dd6d241b07, outHI: 0x0
+sdl :: offset: 0x2c7, out: 0xdc7123dd6d241b07, outHI: 0x0
+sdl :: offset: 0x2c8, out: 0xbd, outHI: 0x0
+sdl :: offset: 0x2c9, out: 0xbebd, outHI: 0x0
+sdl :: offset: 0x2ca, out: 0xcebebd, outHI: 0x0
+sdl :: offset: 0x2cb, out: 0x9fcebebd, outHI: 0x0
+sdl :: offset: 0x2cc, out: 0xa59fcebebd, outHI: 0x0
+sdl :: offset: 0x2cd, out: 0x27a59fcebebd, outHI: 0x0
+sdl :: offset: 0x2ce, out: 0xb727a59fcebebd, outHI: 0x0
+sdl :: offset: 0x2cf, out: 0x2fb727a59fcebebd, outHI: 0x0
+sdl :: offset: 0x2d0, out: 0xf6, outHI: 0x0
+sdl :: offset: 0x2d1, out: 0xfbf6, outHI: 0x0
+sdl :: offset: 0x2d2, out: 0x46fbf6, outHI: 0x0
+sdl :: offset: 0x2d3, out: 0x9f46fbf6, outHI: 0x0
+sdl :: offset: 0x2d4, out: 0xf9f46fbf6, outHI: 0x0
+sdl :: offset: 0x2d5, out: 0xe90f9f46fbf6, outHI: 0x0
+sdl :: offset: 0x2d6, out: 0x27e90f9f46fbf6, outHI: 0x0
+sdl :: offset: 0x2d7, out: 0x9f27e90f9f46fbf6, outHI: 0x0
+sdl :: offset: 0x2d8, out: 0x10, outHI: 0x0
+sdl :: offset: 0x2d9, out: 0xd710, outHI: 0x0
+sdl :: offset: 0x2da, out: 0x99d710, outHI: 0x0
+sdl :: offset: 0x2db, out: 0xd199d710, outHI: 0x0
+sdl :: offset: 0x2dc, out: 0xafd199d710, outHI: 0x0
+sdl :: offset: 0x2dd, out: 0xa9afd199d710, outHI: 0x0
+sdl :: offset: 0x2de, out: 0xdaa9afd199d710, outHI: 0x0
+sdl :: offset: 0x2df, out: 0x63daa9afd199d710, outHI: 0x0
+sdl :: offset: 0x2e0, out: 0x3f, outHI: 0x0
+sdl :: offset: 0x2e1, out: 0xf23f, outHI: 0x0
+sdl :: offset: 0x2e2, out: 0x84f23f, outHI: 0x0
+sdl :: offset: 0x2e3, out: 0xd484f23f, outHI: 0x0
+sdl :: offset: 0x2e4, out: 0xa3d484f23f, outHI: 0x0
+sdl :: offset: 0x2e5, out: 0x2ea3d484f23f, outHI: 0x0
+sdl :: offset: 0x2e6, out: 0x312ea3d484f23f, outHI: 0x0
+sdl :: offset: 0x2e7, out: 0xcb312ea3d484f23f, outHI: 0x0
+sdl :: offset: 0x2e8, out: 0xdb, outHI: 0x0
+sdl :: offset: 0x2e9, out: 0xc6db, outHI: 0x0
+sdl :: offset: 0x2ea, out: 0xe4c6db, outHI: 0x0
+sdl :: offset: 0x2eb, out: 0x4fe4c6db, outHI: 0x0
+sdl :: offset: 0x2ec, out: 0xda4fe4c6db, outHI: 0x0
+sdl :: offset: 0x2ed, out: 0xaada4fe4c6db, outHI: 0x0
+sdl :: offset: 0x2ee, out: 0x3faada4fe4c6db, outHI: 0x0
+sdl :: offset: 0x2ef, out: 0x353faada4fe4c6db, outHI: 0x0
+sdl :: offset: 0x2f0, out: 0x1f, outHI: 0x0
+sdl :: offset: 0x2f1, out: 0x601f, outHI: 0x0
+sdl :: offset: 0x2f2, out: 0xc2601f, outHI: 0x0
+sdl :: offset: 0x2f3, out: 0x50c2601f, outHI: 0x0
+sdl :: offset: 0x2f4, out: 0x7150c2601f, outHI: 0x0
+sdl :: offset: 0x2f5, out: 0xe07150c2601f, outHI: 0x0
+sdl :: offset: 0x2f6, out: 0x6ee07150c2601f, outHI: 0x0
+sdl :: offset: 0x2f7, out: 0x86ee07150c2601f, outHI: 0x0
+sdl :: offset: 0x2f8, out: 0x8b, outHI: 0x0
+sdl :: offset: 0x2f9, out: 0x258b, outHI: 0x0
+sdl :: offset: 0x2fa, out: 0x7f258b, outHI: 0x0
+sdl :: offset: 0x2fb, out: 0x257f258b, outHI: 0x0
+sdl :: offset: 0x2fc, out: 0xd9257f258b, outHI: 0x0
+sdl :: offset: 0x2fd, out: 0xd5d9257f258b, outHI: 0x0
+sdl :: offset: 0x2fe, out: 0x50d5d9257f258b, outHI: 0x0
+sdl :: offset: 0x2ff, out: 0x4750d5d9257f258b, outHI: 0x0
+sdl :: offset: 0x300, out: 0xe5, outHI: 0x0
+sdl :: offset: 0x301, out: 0x5be5, outHI: 0x0
+sdl :: offset: 0x302, out: 0xdb5be5, outHI: 0x0
+sdl :: offset: 0x303, out: 0xa6db5be5, outHI: 0x0
+sdl :: offset: 0x304, out: 0xe9a6db5be5, outHI: 0x0
+sdl :: offset: 0x305, out: 0x5fe9a6db5be5, outHI: 0x0
+sdl :: offset: 0x306, out: 0x625fe9a6db5be5, outHI: 0x0
+sdl :: offset: 0x307, out: 0x69625fe9a6db5be5, outHI: 0x0
+sdl :: offset: 0x308, out: 0x3d, outHI: 0x0
+sdl :: offset: 0x309, out: 0x963d, outHI: 0x0
+sdl :: offset: 0x30a, out: 0xac963d, outHI: 0x0
+sdl :: offset: 0x30b, out: 0x40ac963d, outHI: 0x0
+sdl :: offset: 0x30c, out: 0x4340ac963d, outHI: 0x0
+sdl :: offset: 0x30d, out: 0x424340ac963d, outHI: 0x0
+sdl :: offset: 0x30e, out: 0xe0424340ac963d, outHI: 0x0
+sdl :: offset: 0x30f, out: 0xa3e0424340ac963d, outHI: 0x0
+sdl :: offset: 0x310, out: 0x70, outHI: 0x0
+sdl :: offset: 0x311, out: 0x1e70, outHI: 0x0
+sdl :: offset: 0x312, out: 0x171e70, outHI: 0x0
+sdl :: offset: 0x313, out: 0x80171e70, outHI: 0x0
+sdl :: offset: 0x314, out: 0x6980171e70, outHI: 0x0
+sdl :: offset: 0x315, out: 0x36980171e70, outHI: 0x0
+sdl :: offset: 0x316, out: 0x8f036980171e70, outHI: 0x0
+sdl :: offset: 0x317, out: 0x478f036980171e70, outHI: 0x0
+sdl :: offset: 0x318, out: 0xc0, outHI: 0x0
+sdl :: offset: 0x319, out: 0xe3c0, outHI: 0x0
+sdl :: offset: 0x31a, out: 0x29e3c0, outHI: 0x0
+sdl :: offset: 0x31b, out: 0xf929e3c0, outHI: 0x0
+sdl :: offset: 0x31c, out: 0x1cf929e3c0, outHI: 0x0
+sdl :: offset: 0x31d, out: 0xa51cf929e3c0, outHI: 0x0
+sdl :: offset: 0x31e, out: 0x39a51cf929e3c0, outHI: 0x0
+sdl :: offset: 0x31f, out: 0xe839a51cf929e3c0, outHI: 0x0
+sdl :: offset: 0x320, out: 0x3c, outHI: 0x0
+sdl :: offset: 0x321, out: 0x583c, outHI: 0x0
+sdl :: offset: 0x322, out: 0x89583c, outHI: 0x0
+sdl :: offset: 0x323, out: 0xb689583c, outHI: 0x0
+sdl :: offset: 0x324, out: 0x5eb689583c, outHI: 0x0
+sdl :: offset: 0x325, out: 0x895eb689583c, outHI: 0x0
+sdl :: offset: 0x326, out: 0xfa895eb689583c, outHI: 0x0
+sdl :: offset: 0x327, out: 0xfbfa895eb689583c, outHI: 0x0
+sdl :: offset: 0x328, out: 0xe2, outHI: 0x0
+sdl :: offset: 0x329, out: 0xb7e2, outHI: 0x0
+sdl :: offset: 0x32a, out: 0x25b7e2, outHI: 0x0
+sdl :: offset: 0x32b, out: 0xed25b7e2, outHI: 0x0
+sdl :: offset: 0x32c, out: 0x76ed25b7e2, outHI: 0x0
+sdl :: offset: 0x32d, out: 0x5d76ed25b7e2, outHI: 0x0
+sdl :: offset: 0x32e, out: 0xb05d76ed25b7e2, outHI: 0x0
+sdl :: offset: 0x32f, out: 0x4bb05d76ed25b7e2, outHI: 0x0
+sdl :: offset: 0x330, out: 0xd2, outHI: 0x0
+sdl :: offset: 0x331, out: 0xf1d2, outHI: 0x0
+sdl :: offset: 0x332, out: 0x12f1d2, outHI: 0x0
+sdl :: offset: 0x333, out: 0x312f1d2, outHI: 0x0
+sdl :: offset: 0x334, out: 0x170312f1d2, outHI: 0x0
+sdl :: offset: 0x335, out: 0x2c170312f1d2, outHI: 0x0
+sdl :: offset: 0x336, out: 0x682c170312f1d2, outHI: 0x0
+sdl :: offset: 0x337, out: 0xb9682c170312f1d2, outHI: 0x0
+sdl :: offset: 0x338, out: 0xe, outHI: 0x0
+sdl :: offset: 0x339, out: 0xd0e, outHI: 0x0
+sdl :: offset: 0x33a, out: 0x1d0d0e, outHI: 0x0
+sdl :: offset: 0x33b, out: 0x301d0d0e, outHI: 0x0
+sdl :: offset: 0x33c, out: 0xdd301d0d0e, outHI: 0x0
+sdl :: offset: 0x33d, out: 0x80dd301d0d0e, outHI: 0x0
+sdl :: offset: 0x33e, out: 0x5280dd301d0d0e, outHI: 0x0
+sdl :: offset: 0x33f, out: 0x785280dd301d0d0e, outHI: 0x0
+sdl :: offset: 0x340, out: 0x84, outHI: 0x0
+sdl :: offset: 0x341, out: 0xef84, outHI: 0x0
+sdl :: offset: 0x342, out: 0xd6ef84, outHI: 0x0
+sdl :: offset: 0x343, out: 0x8fd6ef84, outHI: 0x0
+sdl :: offset: 0x344, out: 0x1f8fd6ef84, outHI: 0x0
+sdl :: offset: 0x345, out: 0xaa1f8fd6ef84, outHI: 0x0
+sdl :: offset: 0x346, out: 0x77aa1f8fd6ef84, outHI: 0x0
+sdl :: offset: 0x347, out: 0x9c77aa1f8fd6ef84, outHI: 0x0
+sdl :: offset: 0x348, out: 0x17, outHI: 0x0
+sdl :: offset: 0x349, out: 0x6d17, outHI: 0x0
+sdl :: offset: 0x34a, out: 0x436d17, outHI: 0x0
+sdl :: offset: 0x34b, out: 0x98436d17, outHI: 0x0
+sdl :: offset: 0x34c, out: 0x2998436d17, outHI: 0x0
+sdl :: offset: 0x34d, out: 0xed2998436d17, outHI: 0x0
+sdl :: offset: 0x34e, out: 0x4ced2998436d17, outHI: 0x0
+sdl :: offset: 0x34f, out: 0x444ced2998436d17, outHI: 0x0
+sdl :: offset: 0x350, out: 0x26, outHI: 0x0
+sdl :: offset: 0x351, out: 0x826, outHI: 0x0
+sdl :: offset: 0x352, out: 0xa70826, outHI: 0x0
+sdl :: offset: 0x353, out: 0x8ca70826, outHI: 0x0
+sdl :: offset: 0x354, out: 0xd58ca70826, outHI: 0x0
+sdl :: offset: 0x355, out: 0x9dd58ca70826, outHI: 0x0
+sdl :: offset: 0x356, out: 0x5c9dd58ca70826, outHI: 0x0
+sdl :: offset: 0x357, out: 0x175c9dd58ca70826, outHI: 0x0
+sdl :: offset: 0x358, out: 0x7, outHI: 0x0
+sdl :: offset: 0x359, out: 0x8707, outHI: 0x0
+sdl :: offset: 0x35a, out: 0x328707, outHI: 0x0
+sdl :: offset: 0x35b, out: 0x83328707, outHI: 0x0
+sdl :: offset: 0x35c, out: 0x5583328707, outHI: 0x0
+sdl :: offset: 0x35d, out: 0x105583328707, outHI: 0x0
+sdl :: offset: 0x35e, out: 0x6105583328707, outHI: 0x0
+sdl :: offset: 0x35f, out: 0x3d06105583328707, outHI: 0x0
+sdl :: offset: 0x360, out: 0x66, outHI: 0x0
+sdl :: offset: 0x361, out: 0x8b66, outHI: 0x0
+sdl :: offset: 0x362, out: 0xd68b66, outHI: 0x0
+sdl :: offset: 0x363, out: 0x51d68b66, outHI: 0x0
+sdl :: offset: 0x364, out: 0x8951d68b66, outHI: 0x0
+sdl :: offset: 0x365, out: 0x488951d68b66, outHI: 0x0
+sdl :: offset: 0x366, out: 0xd0488951d68b66, outHI: 0x0
+sdl :: offset: 0x367, out: 0x7dd0488951d68b66, outHI: 0x0
+sdl :: offset: 0x368, out: 0xab, outHI: 0x0
+sdl :: offset: 0x369, out: 0x1bab, outHI: 0x0
+sdl :: offset: 0x36a, out: 0x471bab, outHI: 0x0
+sdl :: offset: 0x36b, out: 0x82471bab, outHI: 0x0
+sdl :: offset: 0x36c, out: 0xe82471bab, outHI: 0x0
+sdl :: offset: 0x36d, out: 0x670e82471bab, outHI: 0x0
+sdl :: offset: 0x36e, out: 0x23670e82471bab, outHI: 0x0
+sdl :: offset: 0x36f, out: 0x9823670e82471bab, outHI: 0x0
+sdl :: offset: 0x370, out: 0xf6, outHI: 0x0
+sdl :: offset: 0x371, out: 0xb2f6, outHI: 0x0
+sdl :: offset: 0x372, out: 0x26b2f6, outHI: 0x0
+sdl :: offset: 0x373, out: 0x8d26b2f6, outHI: 0x0
+sdl :: offset: 0x374, out: 0xd98d26b2f6, outHI: 0x0
+sdl :: offset: 0x375, out: 0x59d98d26b2f6, outHI: 0x0
+sdl :: offset: 0x376, out: 0x6c59d98d26b2f6, outHI: 0x0
+sdl :: offset: 0x377, out: 0x886c59d98d26b2f6, outHI: 0x0
+sdl :: offset: 0x378, out: 0x36, outHI: 0x0
+sdl :: offset: 0x379, out: 0x7936, outHI: 0x0
+sdl :: offset: 0x37a, out: 0xe47936, outHI: 0x0
+sdl :: offset: 0x37b, out: 0x2be47936, outHI: 0x0
+sdl :: offset: 0x37c, out: 0xd32be47936, outHI: 0x0
+sdl :: offset: 0x37d, out: 0xdbd32be47936, outHI: 0x0
+sdl :: offset: 0x37e, out: 0x4bdbd32be47936, outHI: 0x0
+sdl :: offset: 0x37f, out: 0xca4bdbd32be47936, outHI: 0x0
+sdl :: offset: 0x380, out: 0x9, outHI: 0x0
+sdl :: offset: 0x381, out: 0x1f09, outHI: 0x0
+sdl :: offset: 0x382, out: 0xe61f09, outHI: 0x0
+sdl :: offset: 0x383, out: 0x62e61f09, outHI: 0x0
+sdl :: offset: 0x384, out: 0x9962e61f09, outHI: 0x0
+sdl :: offset: 0x385, out: 0x1d9962e61f09, outHI: 0x0
+sdl :: offset: 0x386, out: 0x7d1d9962e61f09, outHI: 0x0
+sdl :: offset: 0x387, out: 0x5d7d1d9962e61f09, outHI: 0x0
+sdl :: offset: 0x388, out: 0xfd, outHI: 0x0
+sdl :: offset: 0x389, out: 0xdffd, outHI: 0x0
+sdl :: offset: 0x38a, out: 0x74dffd, outHI: 0x0
+sdl :: offset: 0x38b, out: 0xd374dffd, outHI: 0x0
+sdl :: offset: 0x38c, out: 0xcad374dffd, outHI: 0x0
+sdl :: offset: 0x38d, out: 0x3ecad374dffd, outHI: 0x0
+sdl :: offset: 0x38e, out: 0x553ecad374dffd, outHI: 0x0
+sdl :: offset: 0x38f, out: 0x46553ecad374dffd, outHI: 0x0
+sdl :: offset: 0x390, out: 0x3f, outHI: 0x0
+sdl :: offset: 0x391, out: 0xa73f, outHI: 0x0
+sdl :: offset: 0x392, out: 0xf2a73f, outHI: 0x0
+sdl :: offset: 0x393, out: 0xedf2a73f, outHI: 0x0
+sdl :: offset: 0x394, out: 0x3eedf2a73f, outHI: 0x0
+sdl :: offset: 0x395, out: 0x7d3eedf2a73f, outHI: 0x0
+sdl :: offset: 0x396, out: 0xb97d3eedf2a73f, outHI: 0x0
+sdl :: offset: 0x397, out: 0x9ab97d3eedf2a73f, outHI: 0x0
+sdl :: offset: 0x398, out: 0x2e, outHI: 0x0
+sdl :: offset: 0x399, out: 0x332e, outHI: 0x0
+sdl :: offset: 0x39a, out: 0x9f332e, outHI: 0x0
+sdl :: offset: 0x39b, out: 0xc9f332e, outHI: 0x0
+sdl :: offset: 0x39c, out: 0x3c0c9f332e, outHI: 0x0
+sdl :: offset: 0x39d, out: 0xfa3c0c9f332e, outHI: 0x0
+sdl :: offset: 0x39e, out: 0xf7fa3c0c9f332e, outHI: 0x0
+sdl :: offset: 0x39f, out: 0xa6f7fa3c0c9f332e, outHI: 0x0
+sdl :: offset: 0x3a0, out: 0x36, outHI: 0x0
+sdl :: offset: 0x3a1, out: 0xdc36, outHI: 0x0
+sdl :: offset: 0x3a2, out: 0xc9dc36, outHI: 0x0
+sdl :: offset: 0x3a3, out: 0x5ec9dc36, outHI: 0x0
+sdl :: offset: 0x3a4, out: 0x155ec9dc36, outHI: 0x0
+sdl :: offset: 0x3a5, out: 0xe3155ec9dc36, outHI: 0x0
+sdl :: offset: 0x3a6, out: 0x38e3155ec9dc36, outHI: 0x0
+sdl :: offset: 0x3a7, out: 0xb938e3155ec9dc36, outHI: 0x0
+sdl :: offset: 0x3a8, out: 0x8b, outHI: 0x0
+sdl :: offset: 0x3a9, out: 0x68b, outHI: 0x0
+sdl :: offset: 0x3aa, out: 0x82068b, outHI: 0x0
+sdl :: offset: 0x3ab, out: 0x4782068b, outHI: 0x0
+sdl :: offset: 0x3ac, out: 0x194782068b, outHI: 0x0
+sdl :: offset: 0x3ad, out: 0xc4194782068b, outHI: 0x0
+sdl :: offset: 0x3ae, out: 0x25c4194782068b, outHI: 0x0
+sdl :: offset: 0x3af, out: 0xdf25c4194782068b, outHI: 0x0
+sdl :: offset: 0x3b0, out: 0xd2, outHI: 0x0
+sdl :: offset: 0x3b1, out: 0x25d2, outHI: 0x0
+sdl :: offset: 0x3b2, out: 0x1825d2, outHI: 0x0
+sdl :: offset: 0x3b3, out: 0x321825d2, outHI: 0x0
+sdl :: offset: 0x3b4, out: 0xeb321825d2, outHI: 0x0
+sdl :: offset: 0x3b5, out: 0x27eb321825d2, outHI: 0x0
+sdl :: offset: 0x3b6, out: 0xbf27eb321825d2, outHI: 0x0
+sdl :: offset: 0x3b7, out: 0x65bf27eb321825d2, outHI: 0x0
+sdl :: offset: 0x3b8, out: 0xbc, outHI: 0x0
+sdl :: offset: 0x3b9, out: 0xdabc, outHI: 0x0
+sdl :: offset: 0x3ba, out: 0xc7dabc, outHI: 0x0
+sdl :: offset: 0x3bb, out: 0x8bc7dabc, outHI: 0x0
+sdl :: offset: 0x3bc, out: 0x7a8bc7dabc, outHI: 0x0
+sdl :: offset: 0x3bd, out: 0xe67a8bc7dabc, outHI: 0x0
+sdl :: offset: 0x3be, out: 0x8fe67a8bc7dabc, outHI: 0x0
+sdl :: offset: 0x3bf, out: 0xb08fe67a8bc7dabc, outHI: 0x0
+sdl :: offset: 0x3c0, out: 0xa8, outHI: 0x0
+sdl :: offset: 0x3c1, out: 0xe8a8, outHI: 0x0
+sdl :: offset: 0x3c2, out: 0xcde8a8, outHI: 0x0
+sdl :: offset: 0x3c3, out: 0xdfcde8a8, outHI: 0x0
+sdl :: offset: 0x3c4, out: 0xf8dfcde8a8, outHI: 0x0
+sdl :: offset: 0x3c5, out: 0xcaf8dfcde8a8, outHI: 0x0
+sdl :: offset: 0x3c6, out: 0x5bcaf8dfcde8a8, outHI: 0x0
+sdl :: offset: 0x3c7, out: 0x2b5bcaf8dfcde8a8, outHI: 0x0
+sdl :: offset: 0x3c8, out: 0x85, outHI: 0x0
+sdl :: offset: 0x3c9, out: 0x6985, outHI: 0x0
+sdl :: offset: 0x3ca, out: 0x926985, outHI: 0x0
+sdl :: offset: 0x3cb, out: 0xa9926985, outHI: 0x0
+sdl :: offset: 0x3cc, out: 0x59a9926985, outHI: 0x0
+sdl :: offset: 0x3cd, out: 0x9b59a9926985, outHI: 0x0
+sdl :: offset: 0x3ce, out: 0x909b59a9926985, outHI: 0x0
+sdl :: offset: 0x3cf, out: 0x78909b59a9926985, outHI: 0x0
+sdl :: offset: 0x3d0, out: 0x4, outHI: 0x0
+sdl :: offset: 0x3d1, out: 0xf04, outHI: 0x0
+sdl :: offset: 0x3d2, out: 0x360f04, outHI: 0x0
+sdl :: offset: 0x3d3, out: 0x57360f04, outHI: 0x0
+sdl :: offset: 0x3d4, out: 0x7857360f04, outHI: 0x0
+sdl :: offset: 0x3d5, out: 0xc87857360f04, outHI: 0x0
+sdl :: offset: 0x3d6, out: 0x1cc87857360f04, outHI: 0x0
+sdl :: offset: 0x3d7, out: 0xb31cc87857360f04, outHI: 0x0
+sdl :: offset: 0x3d8, out: 0xbf, outHI: 0x0
+sdl :: offset: 0x3d9, out: 0xa2bf, outHI: 0x0
+sdl :: offset: 0x3da, out: 0xe9a2bf, outHI: 0x0
+sdl :: offset: 0x3db, out: 0x89e9a2bf, outHI: 0x0
+sdl :: offset: 0x3dc, out: 0x7f89e9a2bf, outHI: 0x0
+sdl :: offset: 0x3dd, out: 0x5e7f89e9a2bf, outHI: 0x0
+sdl :: offset: 0x3de, out: 0xed5e7f89e9a2bf, outHI: 0x0
+sdl :: offset: 0x3df, out: 0x65ed5e7f89e9a2bf, outHI: 0x0
+sdl :: offset: 0x3e0, out: 0xb6, outHI: 0x0
+sdl :: offset: 0x3e1, out: 0xe4b6, outHI: 0x0
+sdl :: offset: 0x3e2, out: 0xd5e4b6, outHI: 0x0
+sdl :: offset: 0x3e3, out: 0xa8d5e4b6, outHI: 0x0
+sdl :: offset: 0x3e4, out: 0xb7a8d5e4b6, outHI: 0x0
+sdl :: offset: 0x3e5, out: 0x74b7a8d5e4b6, outHI: 0x0
+sdl :: offset: 0x3e6, out: 0x9474b7a8d5e4b6, outHI: 0x0
+sdl :: offset: 0x3e7, out: 0xda9474b7a8d5e4b6, outHI: 0x0
+sdl :: offset: 0x3e8, out: 0x15, outHI: 0x0
+sdl :: offset: 0x3e9, out: 0xcc15, outHI: 0x0
+sdl :: offset: 0x3ea, out: 0xfcc15, outHI: 0x0
+sdl :: offset: 0x3eb, out: 0xf90fcc15, outHI: 0x0
+sdl :: offset: 0x3ec, out: 0x2af90fcc15, outHI: 0x0
+sdl :: offset: 0x3ed, out: 0x7d2af90fcc15, outHI: 0x0
+sdl :: offset: 0x3ee, out: 0x537d2af90fcc15, outHI: 0x0
+sdl :: offset: 0x3ef, out: 0xb3537d2af90fcc15, outHI: 0x0
+sdl :: offset: 0x3f0, out: 0xf6, outHI: 0x0
+sdl :: offset: 0x3f1, out: 0x97f6, outHI: 0x0
+sdl :: offset: 0x3f2, out: 0x1897f6, outHI: 0x0
+sdl :: offset: 0x3f3, out: 0x961897f6, outHI: 0x0
+sdl :: offset: 0x3f4, out: 0x2b961897f6, outHI: 0x0
+sdl :: offset: 0x3f5, out: 0xfe2b961897f6, outHI: 0x0
+sdl :: offset: 0x3f6, out: 0x7cfe2b961897f6, outHI: 0x0
+sdl :: offset: 0x3f7, out: 0x3d7cfe2b961897f6, outHI: 0x0
+sdl :: offset: 0x3f8, out: 0x22, outHI: 0x0
+sdl :: offset: 0x3f9, out: 0x4b22, outHI: 0x0
+sdl :: offset: 0x3fa, out: 0x4a4b22, outHI: 0x0
+sdl :: offset: 0x3fb, out: 0x734a4b22, outHI: 0x0
+sdl :: offset: 0x3fc, out: 0x33734a4b22, outHI: 0x0
+sdl :: offset: 0x3fd, out: 0xf533734a4b22, outHI: 0x0
+sdl :: offset: 0x3fe, out: 0x34f533734a4b22, outHI: 0x0
+sdl :: offset: 0x3ff, out: 0xb34f533734a4b22, outHI: 0x0
+sdl :: offset: 0x400, out: 0x42, outHI: 0x0
+sdl :: offset: 0x401, out: 0x3c42, outHI: 0x0
+sdl :: offset: 0x402, out: 0xb33c42, outHI: 0x0
+sdl :: offset: 0x403, out: 0x46b33c42, outHI: 0x0
+sdl :: offset: 0x404, out: 0xdd46b33c42, outHI: 0x0
+sdl :: offset: 0x405, out: 0x8ddd46b33c42, outHI: 0x0
+sdl :: offset: 0x406, out: 0x8c8ddd46b33c42, outHI: 0x0
+sdl :: offset: 0x407, out: 0x7c8c8ddd46b33c42, outHI: 0x0
+sdl :: offset: 0x408, out: 0x89, outHI: 0x0
+sdl :: offset: 0x409, out: 0xd989, outHI: 0x0
+sdl :: offset: 0x40a, out: 0xccd989, outHI: 0x0
+sdl :: offset: 0x40b, out: 0x92ccd989, outHI: 0x0
+sdl :: offset: 0x40c, out: 0xe392ccd989, outHI: 0x0
+sdl :: offset: 0x40d, out: 0x45e392ccd989, outHI: 0x0
+sdl :: offset: 0x40e, out: 0x7445e392ccd989, outHI: 0x0
+sdl :: offset: 0x40f, out: 0x387445e392ccd989, outHI: 0x0
+sdl :: offset: 0x410, out: 0x7a, outHI: 0x0
+sdl :: offset: 0x411, out: 0xc97a, outHI: 0x0
+sdl :: offset: 0x412, out: 0xc97a, outHI: 0x0
+sdl :: offset: 0x413, out: 0xc97a, outHI: 0x0
+sdl :: offset: 0x414, out: 0xd80000c97a, outHI: 0x0
+sdl :: offset: 0x415, out: 0xb1d80000c97a, outHI: 0x0
+sdl :: offset: 0x416, out: 0x29b1d80000c97a, outHI: 0x0
+sdl :: offset: 0x417, out: 0x2f29b1d80000c97a, outHI: 0x0
+sdl :: offset: 0x418, out: 0x51, outHI: 0x0
+sdl :: offset: 0x419, out: 0xa51, outHI: 0x0
+sdl :: offset: 0x41a, out: 0x20a51, outHI: 0x0
+sdl :: offset: 0x41b, out: 0xad020a51, outHI: 0x0
+sdl :: offset: 0x41c, out: 0x3dad020a51, outHI: 0x0
+sdl :: offset: 0x41d, out: 0xc53dad020a51, outHI: 0x0
+sdl :: offset: 0x41e, out: 0xd5c53dad020a51, outHI: 0x0
+sdl :: offset: 0x41f, out: 0xded5c53dad020a51, outHI: 0x0
+sdl :: offset: 0x420, out: 0xea, outHI: 0x0
+sdl :: offset: 0x421, out: 0x5bea, outHI: 0x0
+sdl :: offset: 0x422, out: 0xa35bea, outHI: 0x0
+sdl :: offset: 0x423, out: 0xeea35bea, outHI: 0x0
+sdl :: offset: 0x424, out: 0x31eea35bea, outHI: 0x0
+sdl :: offset: 0x425, out: 0xd731eea35bea, outHI: 0x0
+sdl :: offset: 0x426, out: 0x29d731eea35bea, outHI: 0x0
+sdl :: offset: 0x427, out: 0x6229d731eea35bea, outHI: 0x0
+sdl :: offset: 0x428, out: 0x8a, outHI: 0x0
+sdl :: offset: 0x429, out: 0x498a, outHI: 0x0
+sdl :: offset: 0x42a, out: 0x56498a, outHI: 0x0
+sdl :: offset: 0x42b, out: 0x9856498a, outHI: 0x0
+sdl :: offset: 0x42c, out: 0x489856498a, outHI: 0x0
+sdl :: offset: 0x42d, out: 0x9e489856498a, outHI: 0x0
+sdl :: offset: 0x42e, out: 0x3f9e489856498a, outHI: 0x0
+sdl :: offset: 0x42f, out: 0x3c3f9e489856498a, outHI: 0x0
+sdl :: offset: 0x430, out: 0x2c, outHI: 0x0
+sdl :: offset: 0x431, out: 0x772c, outHI: 0x0
+sdl :: offset: 0x432, out: 0xb772c, outHI: 0x0
+sdl :: offset: 0x433, out: 0x9c0b772c, outHI: 0x0
+sdl :: offset: 0x434, out: 0xdc9c0b772c, outHI: 0x0
+sdl :: offset: 0x435, out: 0x78dc9c0b772c, outHI: 0x0
+sdl :: offset: 0x436, out: 0x1e78dc9c0b772c, outHI: 0x0
+sdl :: offset: 0x437, out: 0xf61e78dc9c0b772c, outHI: 0x0
+sdl :: offset: 0x438, out: 0x7f, outHI: 0x0
+sdl :: offset: 0x439, out: 0xec7f, outHI: 0x0
+sdl :: offset: 0x43a, out: 0x68ec7f, outHI: 0x0
+sdl :: offset: 0x43b, out: 0x5e68ec7f, outHI: 0x0
+sdl :: offset: 0x43c, out: 0x1d5e68ec7f, outHI: 0x0
+sdl :: offset: 0x43d, out: 0xe01d5e68ec7f, outHI: 0x0
+sdl :: offset: 0x43e, out: 0xb0e01d5e68ec7f, outHI: 0x0
+sdl :: offset: 0x43f, out: 0x99b0e01d5e68ec7f, outHI: 0x0
+sdl :: offset: 0x440, out: 0x22, outHI: 0x0
+sdl :: offset: 0x441, out: 0x2522, outHI: 0x0
+sdl :: offset: 0x442, out: 0x6e2522, outHI: 0x0
+sdl :: offset: 0x443, out: 0xc6e2522, outHI: 0x0
+sdl :: offset: 0x444, out: 0x3d0c6e2522, outHI: 0x0
+sdl :: offset: 0x445, out: 0x673d0c6e2522, outHI: 0x0
+sdl :: offset: 0x446, out: 0x4673d0c6e2522, outHI: 0x0
+sdl :: offset: 0x447, out: 0x3b04673d0c6e2522, outHI: 0x0
+sdl :: offset: 0x448, out: 0x7c, outHI: 0x0
+sdl :: offset: 0x449, out: 0x877c, outHI: 0x0
+sdl :: offset: 0x44a, out: 0x65877c, outHI: 0x0
+sdl :: offset: 0x44b, out: 0xfb65877c, outHI: 0x0
+sdl :: offset: 0x44c, out: 0xe7fb65877c, outHI: 0x0
+sdl :: offset: 0x44d, out: 0xc1e7fb65877c, outHI: 0x0
+sdl :: offset: 0x44e, out: 0x17c1e7fb65877c, outHI: 0x0
+sdl :: offset: 0x44f, out: 0x4e17c1e7fb65877c, outHI: 0x0
+sdl :: offset: 0x450, out: 0x16, outHI: 0x0
+sdl :: offset: 0x451, out: 0xb16, outHI: 0x0
+sdl :: offset: 0x452, out: 0x950b16, outHI: 0x0
+sdl :: offset: 0x453, out: 0xd4950b16, outHI: 0x0
+sdl :: offset: 0x454, out: 0x56d4950b16, outHI: 0x0
+sdl :: offset: 0x455, out: 0x8b56d4950b16, outHI: 0x0
+sdl :: offset: 0x456, out: 0xa28b56d4950b16, outHI: 0x0
+sdl :: offset: 0x457, out: 0x4ca28b56d4950b16, outHI: 0x0
+sdl :: offset: 0x458, out: 0xfa, outHI: 0x0
+sdl :: offset: 0x459, out: 0x8afa, outHI: 0x0
+sdl :: offset: 0x45a, out: 0xa08afa, outHI: 0x0
+sdl :: offset: 0x45b, out: 0x7fa08afa, outHI: 0x0
+sdl :: offset: 0x45c, out: 0xbe7fa08afa, outHI: 0x0
+sdl :: offset: 0x45d, out: 0x14be7fa08afa, outHI: 0x0
+sdl :: offset: 0x45e, out: 0xa314be7fa08afa, outHI: 0x0
+sdl :: offset: 0x45f, out: 0xe9a314be7fa08afa, outHI: 0x0
+sdl :: offset: 0x460, out: 0xe5, outHI: 0x0
+sdl :: offset: 0x461, out: 0xc5e5, outHI: 0x0
+sdl :: offset: 0x462, out: 0x49c5e5, outHI: 0x0
+sdl :: offset: 0x463, out: 0x9649c5e5, outHI: 0x0
+sdl :: offset: 0x464, out: 0x159649c5e5, outHI: 0x0
+sdl :: offset: 0x465, out: 0x64159649c5e5, outHI: 0x0
+sdl :: offset: 0x466, out: 0x8164159649c5e5, outHI: 0x0
+sdl :: offset: 0x467, out: 0xbe8164159649c5e5, outHI: 0x0
+sdl :: offset: 0x468, out: 0xf8, outHI: 0x0
+sdl :: offset: 0x469, out: 0x17f8, outHI: 0x0
+sdl :: offset: 0x46a, out: 0x9b17f8, outHI: 0x0
+sdl :: offset: 0x46b, out: 0xe69b17f8, outHI: 0x0
+sdl :: offset: 0x46c, out: 0x84e69b17f8, outHI: 0x0
+sdl :: offset: 0x46d, out: 0x9784e69b17f8, outHI: 0x0
+sdl :: offset: 0x46e, out: 0x259784e69b17f8, outHI: 0x0
+sdl :: offset: 0x46f, out: 0xa3259784e69b17f8, outHI: 0x0
+sdl :: offset: 0x470, out: 0x7c, outHI: 0x0
+sdl :: offset: 0x471, out: 0x5c7c, outHI: 0x0
+sdl :: offset: 0x472, out: 0x4f5c7c, outHI: 0x0
+sdl :: offset: 0x473, out: 0xf24f5c7c, outHI: 0x0
+sdl :: offset: 0x474, out: 0xa1f24f5c7c, outHI: 0x0
+sdl :: offset: 0x475, out: 0x3ca1f24f5c7c, outHI: 0x0
+sdl :: offset: 0x476, out: 0x543ca1f24f5c7c, outHI: 0x0
+sdl :: offset: 0x477, out: 0x8d543ca1f24f5c7c, outHI: 0x0
+sdl :: offset: 0x478, out: 0xfc, outHI: 0x0
+sdl :: offset: 0x479, out: 0x36fc, outHI: 0x0
+sdl :: offset: 0x47a, out: 0x9e36fc, outHI: 0x0
+sdl :: offset: 0x47b, out: 0x459e36fc, outHI: 0x0
+sdl :: offset: 0x47c, out: 0xe3459e36fc, outHI: 0x0
+sdl :: offset: 0x47d, out: 0xa0e3459e36fc, outHI: 0x0
+sdl :: offset: 0x47e, out: 0x6ca0e3459e36fc, outHI: 0x0
+sdl :: offset: 0x47f, out: 0xeb6ca0e3459e36fc, outHI: 0x0
+sdl :: offset: 0x480, out: 0x4a, outHI: 0x0
+sdl :: offset: 0x481, out: 0xfa4a, outHI: 0x0
+sdl :: offset: 0x482, out: 0x80fa4a, outHI: 0x0
+sdl :: offset: 0x483, out: 0x7980fa4a, outHI: 0x0
+sdl :: offset: 0x484, out: 0x187980fa4a, outHI: 0x0
+sdl :: offset: 0x485, out: 0x8e187980fa4a, outHI: 0x0
+sdl :: offset: 0x486, out: 0xe18e187980fa4a, outHI: 0x0
+sdl :: offset: 0x487, out: 0x32e18e187980fa4a, outHI: 0x0
+sdl :: offset: 0x488, out: 0xc5, outHI: 0x0
+sdl :: offset: 0x489, out: 0x1cc5, outHI: 0x0
+sdl :: offset: 0x48a, out: 0x7d1cc5, outHI: 0x0
+sdl :: offset: 0x48b, out: 0x287d1cc5, outHI: 0x0
+sdl :: offset: 0x48c, out: 0x4f287d1cc5, outHI: 0x0
+sdl :: offset: 0x48d, out: 0x294f287d1cc5, outHI: 0x0
+sdl :: offset: 0x48e, out: 0xec294f287d1cc5, outHI: 0x0
+sdl :: offset: 0x48f, out: 0xfdec294f287d1cc5, outHI: 0x0
+sdl :: offset: 0x490, out: 0xb3, outHI: 0x0
+sdl :: offset: 0x491, out: 0x90b3, outHI: 0x0
+sdl :: offset: 0x492, out: 0x2b90b3, outHI: 0x0
+sdl :: offset: 0x493, out: 0x732b90b3, outHI: 0x0
+sdl :: offset: 0x494, out: 0x49732b90b3, outHI: 0x0
+sdl :: offset: 0x495, out: 0xa49732b90b3, outHI: 0x0
+sdl :: offset: 0x496, out: 0x660a49732b90b3, outHI: 0x0
+sdl :: offset: 0x497, out: 0x20660a49732b90b3, outHI: 0x0
+sdl :: offset: 0x498, out: 0xb6, outHI: 0x0
+sdl :: offset: 0x499, out: 0x91b6, outHI: 0x0
+sdl :: offset: 0x49a, out: 0xe991b6, outHI: 0x0
+sdl :: offset: 0x49b, out: 0xfde991b6, outHI: 0x0
+sdl :: offset: 0x49c, out: 0x6cfde991b6, outHI: 0x0
+sdl :: offset: 0x49d, out: 0xf16cfde991b6, outHI: 0x0
+sdl :: offset: 0x49e, out: 0x38f16cfde991b6, outHI: 0x0
+sdl :: offset: 0x49f, out: 0x3138f16cfde991b6, outHI: 0x0
+sdl :: offset: 0x4a0, out: 0x99, outHI: 0x0
+sdl :: offset: 0x4a1, out: 0xb999, outHI: 0x0
+sdl :: offset: 0x4a2, out: 0x7b999, outHI: 0x0
+sdl :: offset: 0x4a3, out: 0x5407b999, outHI: 0x0
+sdl :: offset: 0x4a4, out: 0x7d5407b999, outHI: 0x0
+sdl :: offset: 0x4a5, out: 0x337d5407b999, outHI: 0x0
+sdl :: offset: 0x4a6, out: 0xd1337d5407b999, outHI: 0x0
+sdl :: offset: 0x4a7, out: 0x2d1337d5407b999, outHI: 0x0
+sdl :: offset: 0x4a8, out: 0xde, outHI: 0x0
+sdl :: offset: 0x4a9, out: 0x5ade, outHI: 0x0
+sdl :: offset: 0x4aa, out: 0xb15ade, outHI: 0x0
+sdl :: offset: 0x4ab, out: 0xdab15ade, outHI: 0x0
+sdl :: offset: 0x4ac, out: 0xe1dab15ade, outHI: 0x0
+sdl :: offset: 0x4ad, out: 0xe1e1dab15ade, outHI: 0x0
+sdl :: offset: 0x4ae, out: 0x90e1e1dab15ade, outHI: 0x0
+sdl :: offset: 0x4af, out: 0xa390e1e1dab15ade, outHI: 0x0
+sdl :: offset: 0x4b0, out: 0x13, outHI: 0x0
+sdl :: offset: 0x4b1, out: 0xc813, outHI: 0x0
+sdl :: offset: 0x4b2, out: 0x16c813, outHI: 0x0
+sdl :: offset: 0x4b3, out: 0x8716c813, outHI: 0x0
+sdl :: offset: 0x4b4, out: 0x828716c813, outHI: 0x0
+sdl :: offset: 0x4b5, out: 0xa6828716c813, outHI: 0x0
+sdl :: offset: 0x4b6, out: 0x91a6828716c813, outHI: 0x0
+sdl :: offset: 0x4b7, out: 0x3491a6828716c813, outHI: 0x0
+sdl :: offset: 0x4b8, out: 0x74, outHI: 0x0
+sdl :: offset: 0x4b9, out: 0xf274, outHI: 0x0
+sdl :: offset: 0x4ba, out: 0x92f274, outHI: 0x0
+sdl :: offset: 0x4bb, out: 0xe292f274, outHI: 0x0
+sdl :: offset: 0x4bc, out: 0xede292f274, outHI: 0x0
+sdl :: offset: 0x4bd, out: 0x4aede292f274, outHI: 0x0
+sdl :: offset: 0x4be, out: 0x404aede292f274, outHI: 0x0
+sdl :: offset: 0x4bf, out: 0xff404aede292f274, outHI: 0x0
+sdl :: offset: 0x4c0, out: 0x8c, outHI: 0x0
+sdl :: offset: 0x4c1, out: 0x368c, outHI: 0x0
+sdl :: offset: 0x4c2, out: 0x76368c, outHI: 0x0
+sdl :: offset: 0x4c3, out: 0x8376368c, outHI: 0x0
+sdl :: offset: 0x4c4, out: 0x1f8376368c, outHI: 0x0
+sdl :: offset: 0x4c5, out: 0xdb1f8376368c, outHI: 0x0
+sdl :: offset: 0x4c6, out: 0xc0db1f8376368c, outHI: 0x0
+sdl :: offset: 0x4c7, out: 0xcec0db1f8376368c, outHI: 0x0
+sdl :: offset: 0x4c8, out: 0xb9, outHI: 0x0
+sdl :: offset: 0x4c9, out: 0x1cb9, outHI: 0x0
+sdl :: offset: 0x4ca, out: 0x771cb9, outHI: 0x0
+sdl :: offset: 0x4cb, out: 0x9771cb9, outHI: 0x0
+sdl :: offset: 0x4cc, out: 0x509771cb9, outHI: 0x0
+sdl :: offset: 0x4cd, out: 0xa70509771cb9, outHI: 0x0
+sdl :: offset: 0x4ce, out: 0x5aa70509771cb9, outHI: 0x0
+sdl :: offset: 0x4cf, out: 0xaa5aa70509771cb9, outHI: 0x0
+sdl :: offset: 0x4d0, out: 0x2e, outHI: 0x0
+sdl :: offset: 0x4d1, out: 0x1b2e, outHI: 0x0
+sdl :: offset: 0x4d2, out: 0x241b2e, outHI: 0x0
+sdl :: offset: 0x4d3, out: 0x75241b2e, outHI: 0x0
+sdl :: offset: 0x4d4, out: 0x1875241b2e, outHI: 0x0
+sdl :: offset: 0x4d5, out: 0x8e1875241b2e, outHI: 0x0
+sdl :: offset: 0x4d6, out: 0x538e1875241b2e, outHI: 0x0
+sdl :: offset: 0x4d7, out: 0x27538e1875241b2e, outHI: 0x0
+sdl :: offset: 0x4d8, out: 0xd3, outHI: 0x0
+sdl :: offset: 0x4d9, out: 0x6bd3, outHI: 0x0
+sdl :: offset: 0x4da, out: 0x9b6bd3, outHI: 0x0
+sdl :: offset: 0x4db, out: 0x739b6bd3, outHI: 0x0
+sdl :: offset: 0x4dc, out: 0x8b739b6bd3, outHI: 0x0
+sdl :: offset: 0x4dd, out: 0x548b739b6bd3, outHI: 0x0
+sdl :: offset: 0x4de, out: 0xf8548b739b6bd3, outHI: 0x0
+sdl :: offset: 0x4df, out: 0xe9f8548b739b6bd3, outHI: 0x0
+sdl :: offset: 0x4e0, out: 0x42, outHI: 0x0
+sdl :: offset: 0x4e1, out: 0x1a42, outHI: 0x0
+sdl :: offset: 0x4e2, out: 0xba1a42, outHI: 0x0
+sdl :: offset: 0x4e3, out: 0xcbba1a42, outHI: 0x0
+sdl :: offset: 0x4e4, out: 0xeccbba1a42, outHI: 0x0
+sdl :: offset: 0x4e5, out: 0xceccbba1a42, outHI: 0x0
+sdl :: offset: 0x4e6, out: 0xe50ceccbba1a42, outHI: 0x0
+sdl :: offset: 0x4e7, out: 0xe4e50ceccbba1a42, outHI: 0x0
+sdl :: offset: 0x4e8, out: 0x78, outHI: 0x0
+sdl :: offset: 0x4e9, out: 0xcb78, outHI: 0x0
+sdl :: offset: 0x4ea, out: 0x27cb78, outHI: 0x0
+sdl :: offset: 0x4eb, out: 0x9d27cb78, outHI: 0x0
+sdl :: offset: 0x4ec, out: 0xcd9d27cb78, outHI: 0x0
+sdl :: offset: 0x4ed, out: 0x3fcd9d27cb78, outHI: 0x0
+sdl :: offset: 0x4ee, out: 0xfa3fcd9d27cb78, outHI: 0x0
+sdl :: offset: 0x4ef, out: 0xb6fa3fcd9d27cb78, outHI: 0x0
+sdl :: offset: 0x4f0, out: 0xf6, outHI: 0x0
+sdl :: offset: 0x4f1, out: 0x23f6, outHI: 0x0
+sdl :: offset: 0x4f2, out: 0x9423f6, outHI: 0x0
+sdl :: offset: 0x4f3, out: 0x3e9423f6, outHI: 0x0
+sdl :: offset: 0x4f4, out: 0xae3e9423f6, outHI: 0x0
+sdl :: offset: 0x4f5, out: 0x83ae3e9423f6, outHI: 0x0
+sdl :: offset: 0x4f6, out: 0x6483ae3e9423f6, outHI: 0x0
+sdl :: offset: 0x4f7, out: 0x916483ae3e9423f6, outHI: 0x0
+sdl :: offset: 0x4f8, out: 0x73, outHI: 0x0
+sdl :: offset: 0x4f9, out: 0x6173, outHI: 0x0
+sdl :: offset: 0x4fa, out: 0x856173, outHI: 0x0
+sdl :: offset: 0x4fb, out: 0x12856173, outHI: 0x0
+sdl :: offset: 0x4fc, out: 0xe12856173, outHI: 0x0
+sdl :: offset: 0x4fd, out: 0xa0e12856173, outHI: 0x0
+sdl :: offset: 0x4fe, out: 0xf70a0e12856173, outHI: 0x0
+sdl :: offset: 0x4ff, out: 0x6af70a0e12856173, outHI: 0x0
+sdl :: offset: 0x500, out: 0x27, outHI: 0x0
+sdl :: offset: 0x501, out: 0x6e27, outHI: 0x0
+sdl :: offset: 0x502, out: 0x4b6e27, outHI: 0x0
+sdl :: offset: 0x503, out: 0xe74b6e27, outHI: 0x0
+sdl :: offset: 0x504, out: 0xb5e74b6e27, outHI: 0x0
+sdl :: offset: 0x505, out: 0xf6b5e74b6e27, outHI: 0x0
+sdl :: offset: 0x506, out: 0x5bf6b5e74b6e27, outHI: 0x0
+sdl :: offset: 0x507, out: 0x45bf6b5e74b6e27, outHI: 0x0
+sdl :: offset: 0x508, out: 0x3, outHI: 0x0
+sdl :: offset: 0x509, out: 0xa603, outHI: 0x0
+sdl :: offset: 0x50a, out: 0xcfa603, outHI: 0x0
+sdl :: offset: 0x50b, out: 0xaccfa603, outHI: 0x0
+sdl :: offset: 0x50c, out: 0x8accfa603, outHI: 0x0
+sdl :: offset: 0x50d, out: 0x1308accfa603, outHI: 0x0
+sdl :: offset: 0x50e, out: 0x3f1308accfa603, outHI: 0x0
+sdl :: offset: 0x50f, out: 0x223f1308accfa603, outHI: 0x0
+sdl :: offset: 0x510, out: 0x20, outHI: 0x0
+sdl :: offset: 0x511, out: 0xf520, outHI: 0x0
+sdl :: offset: 0x512, out: 0xb5f520, outHI: 0x0
+sdl :: offset: 0x513, out: 0x76b5f520, outHI: 0x0
+sdl :: offset: 0x514, out: 0x3976b5f520, outHI: 0x0
+sdl :: offset: 0x515, out: 0x743976b5f520, outHI: 0x0
+sdl :: offset: 0x516, out: 0x55743976b5f520, outHI: 0x0
+sdl :: offset: 0x517, out: 0x3c55743976b5f520, outHI: 0x0
+sdl :: offset: 0x518, out: 0xf8, outHI: 0x0
+sdl :: offset: 0x519, out: 0x3df8, outHI: 0x0
+sdl :: offset: 0x51a, out: 0x3c3df8, outHI: 0x0
+sdl :: offset: 0x51b, out: 0x923c3df8, outHI: 0x0
+sdl :: offset: 0x51c, out: 0x46923c3df8, outHI: 0x0
+sdl :: offset: 0x51d, out: 0xf946923c3df8, outHI: 0x0
+sdl :: offset: 0x51e, out: 0x20f946923c3df8, outHI: 0x0
+sdl :: offset: 0x51f, out: 0x9720f946923c3df8, outHI: 0x0
+sdl :: offset: 0x520, out: 0x1f, outHI: 0x0
+sdl :: offset: 0x521, out: 0xdd1f, outHI: 0x0
+sdl :: offset: 0x522, out: 0x48dd1f, outHI: 0x0
+sdl :: offset: 0x523, out: 0x2448dd1f, outHI: 0x0
+sdl :: offset: 0x524, out: 0x6d2448dd1f, outHI: 0x0
+sdl :: offset: 0x525, out: 0x506d2448dd1f, outHI: 0x0
+sdl :: offset: 0x526, out: 0x28506d2448dd1f, outHI: 0x0
+sdl :: offset: 0x527, out: 0xd28506d2448dd1f, outHI: 0x0
+sdl :: offset: 0x528, out: 0x62, outHI: 0x0
+sdl :: offset: 0x529, out: 0x3262, outHI: 0x0
+sdl :: offset: 0x52a, out: 0xa73262, outHI: 0x0
+sdl :: offset: 0x52b, out: 0xf4a73262, outHI: 0x0
+sdl :: offset: 0x52c, out: 0x9ff4a73262, outHI: 0x0
+sdl :: offset: 0x52d, out: 0xe99ff4a73262, outHI: 0x0
+sdl :: offset: 0x52e, out: 0x21e99ff4a73262, outHI: 0x0
+sdl :: offset: 0x52f, out: 0xa521e99ff4a73262, outHI: 0x0
+sdl :: offset: 0x530, out: 0x60, outHI: 0x0
+sdl :: offset: 0x531, out: 0xb60, outHI: 0x0
+sdl :: offset: 0x532, out: 0xf0b60, outHI: 0x0
+sdl :: offset: 0x533, out: 0x680f0b60, outHI: 0x0
+sdl :: offset: 0x534, out: 0x5c680f0b60, outHI: 0x0
+sdl :: offset: 0x535, out: 0xab5c680f0b60, outHI: 0x0
+sdl :: offset: 0x536, out: 0xf3ab5c680f0b60, outHI: 0x0
+sdl :: offset: 0x537, out: 0x8f3ab5c680f0b60, outHI: 0x0
+sdl :: offset: 0x538, out: 0x5a, outHI: 0x0
+sdl :: offset: 0x539, out: 0x265a, outHI: 0x0
+sdl :: offset: 0x53a, out: 0x3d265a, outHI: 0x0
+sdl :: offset: 0x53b, out: 0xf3d265a, outHI: 0x0
+sdl :: offset: 0x53c, out: 0x800f3d265a, outHI: 0x0
+sdl :: offset: 0x53d, out: 0xe7800f3d265a, outHI: 0x0
+sdl :: offset: 0x53e, out: 0x9be7800f3d265a, outHI: 0x0
+sdl :: offset: 0x53f, out: 0xa59be7800f3d265a, outHI: 0x0
+sdl :: offset: 0x540, out: 0xc7, outHI: 0x0
+sdl :: offset: 0x541, out: 0x41c7, outHI: 0x0
+sdl :: offset: 0x542, out: 0x1b41c7, outHI: 0x0
+sdl :: offset: 0x543, out: 0xca1b41c7, outHI: 0x0
+sdl :: offset: 0x544, out: 0x82ca1b41c7, outHI: 0x0
+sdl :: offset: 0x545, out: 0x2982ca1b41c7, outHI: 0x0
+sdl :: offset: 0x546, out: 0xdf2982ca1b41c7, outHI: 0x0
+sdl :: offset: 0x547, out: 0xecdf2982ca1b41c7, outHI: 0x0
+sdl :: offset: 0x548, out: 0x1a, outHI: 0x0
+sdl :: offset: 0x549, out: 0xcd1a, outHI: 0x0
+sdl :: offset: 0x54a, out: 0x9dcd1a, outHI: 0x0
+sdl :: offset: 0x54b, out: 0xd19dcd1a, outHI: 0x0
+sdl :: offset: 0x54c, out: 0x60d19dcd1a, outHI: 0x0
+sdl :: offset: 0x54d, out: 0xa260d19dcd1a, outHI: 0x0
+sdl :: offset: 0x54e, out: 0x13a260d19dcd1a, outHI: 0x0
+sdl :: offset: 0x54f, out: 0x8613a260d19dcd1a, outHI: 0x0
+sdl :: offset: 0x550, out: 0x2b, outHI: 0x0
+sdl :: offset: 0x551, out: 0x7f2b, outHI: 0x0
+sdl :: offset: 0x552, out: 0xbe7f2b, outHI: 0x0
+sdl :: offset: 0x553, out: 0x8bbe7f2b, outHI: 0x0
+sdl :: offset: 0x554, out: 0xe8bbe7f2b, outHI: 0x0
+sdl :: offset: 0x555, out: 0x8b0e8bbe7f2b, outHI: 0x0
+sdl :: offset: 0x556, out: 0xac8b0e8bbe7f2b, outHI: 0x0
+sdl :: offset: 0x557, out: 0x18ac8b0e8bbe7f2b, outHI: 0x0
+sdl :: offset: 0x558, out: 0x25, outHI: 0x0
+sdl :: offset: 0x559, out: 0x6b25, outHI: 0x0
+sdl :: offset: 0x55a, out: 0x486b25, outHI: 0x0
+sdl :: offset: 0x55b, out: 0xcf486b25, outHI: 0x0
+sdl :: offset: 0x55c, out: 0x2fcf486b25, outHI: 0x0
+sdl :: offset: 0x55d, out: 0x8d2fcf486b25, outHI: 0x0
+sdl :: offset: 0x55e, out: 0x568d2fcf486b25, outHI: 0x0
+sdl :: offset: 0x55f, out: 0x3e568d2fcf486b25, outHI: 0x0
+sdl :: offset: 0x560, out: 0x74, outHI: 0x0
+sdl :: offset: 0x561, out: 0x2874, outHI: 0x0
+sdl :: offset: 0x562, out: 0x172874, outHI: 0x0
+sdl :: offset: 0x563, out: 0xc3172874, outHI: 0x0
+sdl :: offset: 0x564, out: 0x34c3172874, outHI: 0x0
+sdl :: offset: 0x565, out: 0x6f34c3172874, outHI: 0x0
+sdl :: offset: 0x566, out: 0x646f34c3172874, outHI: 0x0
+sdl :: offset: 0x567, out: 0x6f646f34c3172874, outHI: 0x0
+sdl :: offset: 0x568, out: 0x12, outHI: 0x0
+sdl :: offset: 0x569, out: 0x1212, outHI: 0x0
+sdl :: offset: 0x56a, out: 0x4d1212, outHI: 0x0
+sdl :: offset: 0x56b, out: 0xfc4d1212, outHI: 0x0
+sdl :: offset: 0x56c, out: 0x56fc4d1212, outHI: 0x0
+sdl :: offset: 0x56d, out: 0x6156fc4d1212, outHI: 0x0
+sdl :: offset: 0x56e, out: 0x196156fc4d1212, outHI: 0x0
+sdl :: offset: 0x56f, out: 0xb0196156fc4d1212, outHI: 0x0
+sdl :: offset: 0x570, out: 0xaa, outHI: 0x0
+sdl :: offset: 0x571, out: 0x42aa, outHI: 0x0
+sdl :: offset: 0x572, out: 0xd342aa, outHI: 0x0
+sdl :: offset: 0x573, out: 0x95d342aa, outHI: 0x0
+sdl :: offset: 0x574, out: 0x8595d342aa, outHI: 0x0
+sdl :: offset: 0x575, out: 0x338595d342aa, outHI: 0x0
+sdl :: offset: 0x576, out: 0xcd338595d342aa, outHI: 0x0
+sdl :: offset: 0x577, out: 0x35cd338595d342aa, outHI: 0x0
+sdl :: offset: 0x578, out: 0x75, outHI: 0x0
+sdl :: offset: 0x579, out: 0xec75, outHI: 0x0
+sdl :: offset: 0x57a, out: 0x46ec75, outHI: 0x0
+sdl :: offset: 0x57b, out: 0x2346ec75, outHI: 0x0
+sdl :: offset: 0x57c, out: 0x422346ec75, outHI: 0x0
+sdl :: offset: 0x57d, out: 0xda422346ec75, outHI: 0x0
+sdl :: offset: 0x57e, out: 0x54da422346ec75, outHI: 0x0
+sdl :: offset: 0x57f, out: 0xb254da422346ec75, outHI: 0x0
+sdl :: offset: 0x580, out: 0xdf, outHI: 0x0
+sdl :: offset: 0x581, out: 0x2adf, outHI: 0x0
+sdl :: offset: 0x582, out: 0xab2adf, outHI: 0x0
+sdl :: offset: 0x583, out: 0x81ab2adf, outHI: 0x0
+sdl :: offset: 0x584, out: 0x81ab2adf, outHI: 0x0
+sdl :: offset: 0x585, out: 0xc90081ab2adf, outHI: 0x0
+sdl :: offset: 0x586, out: 0x26c90081ab2adf, outHI: 0x0
+sdl :: offset: 0x587, out: 0x6726c90081ab2adf, outHI: 0x0
+sdl :: offset: 0x588, out: 0xa8, outHI: 0x0
+sdl :: offset: 0x589, out: 0x38a8, outHI: 0x0
+sdl :: offset: 0x58a, out: 0x7438a8, outHI: 0x0
+sdl :: offset: 0x58b, out: 0x9d7438a8, outHI: 0x0
+sdl :: offset: 0x58c, out: 0x679d7438a8, outHI: 0x0
+sdl :: offset: 0x58d, out: 0xa1679d7438a8, outHI: 0x0
+sdl :: offset: 0x58e, out: 0xffa1679d7438a8, outHI: 0x0
+sdl :: offset: 0x58f, out: 0xfeffa1679d7438a8, outHI: 0x0
+sdl :: offset: 0x590, out: 0x9b, outHI: 0x0
+sdl :: offset: 0x591, out: 0x449b, outHI: 0x0
+sdl :: offset: 0x592, out: 0xe2449b, outHI: 0x0
+sdl :: offset: 0x593, out: 0xdee2449b, outHI: 0x0
+sdl :: offset: 0x594, out: 0xb7dee2449b, outHI: 0x0
+sdl :: offset: 0x595, out: 0x26b7dee2449b, outHI: 0x0
+sdl :: offset: 0x596, out: 0x9826b7dee2449b, outHI: 0x0
+sdl :: offset: 0x597, out: 0x699826b7dee2449b, outHI: 0x0
+sdl :: offset: 0x598, out: 0xc7, outHI: 0x0
+sdl :: offset: 0x599, out: 0x4ac7, outHI: 0x0
+sdl :: offset: 0x59a, out: 0x704ac7, outHI: 0x0
+sdl :: offset: 0x59b, out: 0xa6704ac7, outHI: 0x0
+sdl :: offset: 0x59c, out: 0xfba6704ac7, outHI: 0x0
+sdl :: offset: 0x59d, out: 0x97fba6704ac7, outHI: 0x0
+sdl :: offset: 0x59e, out: 0xaf97fba6704ac7, outHI: 0x0
+sdl :: offset: 0x59f, out: 0x7af97fba6704ac7, outHI: 0x0
+sdl :: offset: 0x5a0, out: 0x3c, outHI: 0x0
+sdl :: offset: 0x5a1, out: 0xfe3c, outHI: 0x0
+sdl :: offset: 0x5a2, out: 0x8bfe3c, outHI: 0x0
+sdl :: offset: 0x5a3, out: 0xc58bfe3c, outHI: 0x0
+sdl :: offset: 0x5a4, out: 0x4c58bfe3c, outHI: 0x0
+sdl :: offset: 0x5a5, out: 0xdc04c58bfe3c, outHI: 0x0
+sdl :: offset: 0x5a6, out: 0x64dc04c58bfe3c, outHI: 0x0
+sdl :: offset: 0x5a7, out: 0x1364dc04c58bfe3c, outHI: 0x0
+sdl :: offset: 0x5a8, out: 0x52, outHI: 0x0
+sdl :: offset: 0x5a9, out: 0xbc52, outHI: 0x0
+sdl :: offset: 0x5aa, out: 0xaebc52, outHI: 0x0
+sdl :: offset: 0x5ab, out: 0xb7aebc52, outHI: 0x0
+sdl :: offset: 0x5ac, out: 0x9ab7aebc52, outHI: 0x0
+sdl :: offset: 0x5ad, out: 0x589ab7aebc52, outHI: 0x0
+sdl :: offset: 0x5ae, out: 0xbb589ab7aebc52, outHI: 0x0
+sdl :: offset: 0x5af, out: 0xf7bb589ab7aebc52, outHI: 0x0
+sdl :: offset: 0x5b0, out: 0xe0, outHI: 0x0
+sdl :: offset: 0x5b1, out: 0x4de0, outHI: 0x0
+sdl :: offset: 0x5b2, out: 0x954de0, outHI: 0x0
+sdl :: offset: 0x5b3, out: 0xeb954de0, outHI: 0x0
+sdl :: offset: 0x5b4, out: 0xdeeb954de0, outHI: 0x0
+sdl :: offset: 0x5b5, out: 0xcdeeb954de0, outHI: 0x0
+sdl :: offset: 0x5b6, out: 0xc60cdeeb954de0, outHI: 0x0
+sdl :: offset: 0x5b7, out: 0x36c60cdeeb954de0, outHI: 0x0
+sdl :: offset: 0x5b8, out: 0xe3, outHI: 0x0
+sdl :: offset: 0x5b9, out: 0x6ee3, outHI: 0x0
+sdl :: offset: 0x5ba, out: 0x416ee3, outHI: 0x0
+sdl :: offset: 0x5bb, out: 0x52416ee3, outHI: 0x0
+sdl :: offset: 0x5bc, out: 0x6f52416ee3, outHI: 0x0
+sdl :: offset: 0x5bd, out: 0xc6f52416ee3, outHI: 0x0
+sdl :: offset: 0x5be, out: 0x120c6f52416ee3, outHI: 0x0
+sdl :: offset: 0x5bf, out: 0xb2120c6f52416ee3, outHI: 0x0
+sdl :: offset: 0x5c0, out: 0xd5, outHI: 0x0
+sdl :: offset: 0x5c1, out: 0x34d5, outHI: 0x0
+sdl :: offset: 0x5c2, out: 0x8a34d5, outHI: 0x0
+sdl :: offset: 0x5c3, out: 0x628a34d5, outHI: 0x0
+sdl :: offset: 0x5c4, out: 0x7e628a34d5, outHI: 0x0
+sdl :: offset: 0x5c5, out: 0xff7e628a34d5, outHI: 0x0
+sdl :: offset: 0x5c6, out: 0xd4ff7e628a34d5, outHI: 0x0
+sdl :: offset: 0x5c7, out: 0xa2d4ff7e628a34d5, outHI: 0x0
+sdl :: offset: 0x5c8, out: 0x85, outHI: 0x0
+sdl :: offset: 0x5c9, out: 0x785, outHI: 0x0
+sdl :: offset: 0x5ca, out: 0x7e0785, outHI: 0x0
+sdl :: offset: 0x5cb, out: 0x4e7e0785, outHI: 0x0
+sdl :: offset: 0x5cc, out: 0x4a4e7e0785, outHI: 0x0
+sdl :: offset: 0x5cd, out: 0x654a4e7e0785, outHI: 0x0
+sdl :: offset: 0x5ce, out: 0x2b654a4e7e0785, outHI: 0x0
+sdl :: offset: 0x5cf, out: 0x6a2b654a4e7e0785, outHI: 0x0
+sdl :: offset: 0x5d0, out: 0x98, outHI: 0x0
+sdl :: offset: 0x5d1, out: 0x5598, outHI: 0x0
+sdl :: offset: 0x5d2, out: 0x9b5598, outHI: 0x0
+sdl :: offset: 0x5d3, out: 0x489b5598, outHI: 0x0
+sdl :: offset: 0x5d4, out: 0x3a489b5598, outHI: 0x0
+sdl :: offset: 0x5d5, out: 0xc43a489b5598, outHI: 0x0
+sdl :: offset: 0x5d6, out: 0xeac43a489b5598, outHI: 0x0
+sdl :: offset: 0x5d7, out: 0x74eac43a489b5598, outHI: 0x0
+sdl :: offset: 0x5d8, out: 0xa9, outHI: 0x0
+sdl :: offset: 0x5d9, out: 0xf5a9, outHI: 0x0
+sdl :: offset: 0x5da, out: 0xf8f5a9, outHI: 0x0
+sdl :: offset: 0x5db, out: 0xf1f8f5a9, outHI: 0x0
+sdl :: offset: 0x5dc, out: 0x72f1f8f5a9, outHI: 0x0
+sdl :: offset: 0x5dd, out: 0x6272f1f8f5a9, outHI: 0x0
+sdl :: offset: 0x5de, out: 0xc16272f1f8f5a9, outHI: 0x0
+sdl :: offset: 0x5df, out: 0x88c16272f1f8f5a9, outHI: 0x0
+sdl :: offset: 0x5e0, out: 0xa3, outHI: 0x0
+sdl :: offset: 0x5e1, out: 0xa9a3, outHI: 0x0
+sdl :: offset: 0x5e2, out: 0x5ea9a3, outHI: 0x0
+sdl :: offset: 0x5e3, out: 0x495ea9a3, outHI: 0x0
+sdl :: offset: 0x5e4, out: 0xe7495ea9a3, outHI: 0x0
+sdl :: offset: 0x5e5, out: 0x45e7495ea9a3, outHI: 0x0
+sdl :: offset: 0x5e6, out: 0x1f45e7495ea9a3, outHI: 0x0
+sdl :: offset: 0x5e7, out: 0xc11f45e7495ea9a3, outHI: 0x0
+sdl :: offset: 0x5e8, out: 0xe8, outHI: 0x0
+sdl :: offset: 0x5e9, out: 0xb4e8, outHI: 0x0
+sdl :: offset: 0x5ea, out: 0xc8b4e8, outHI: 0x0
+sdl :: offset: 0x5eb, out: 0xc1c8b4e8, outHI: 0x0
+sdl :: offset: 0x5ec, out: 0x5cc1c8b4e8, outHI: 0x0
+sdl :: offset: 0x5ed, out: 0x765cc1c8b4e8, outHI: 0x0
+sdl :: offset: 0x5ee, out: 0x5a765cc1c8b4e8, outHI: 0x0
+sdl :: offset: 0x5ef, out: 0xaa5a765cc1c8b4e8, outHI: 0x0
+sdl :: offset: 0x5f0, out: 0xad, outHI: 0x0
+sdl :: offset: 0x5f1, out: 0xc0ad, outHI: 0x0
+sdl :: offset: 0x5f2, out: 0x5c0ad, outHI: 0x0
+sdl :: offset: 0x5f3, out: 0xa605c0ad, outHI: 0x0
+sdl :: offset: 0x5f4, out: 0xdfa605c0ad, outHI: 0x0
+sdl :: offset: 0x5f5, out: 0x88dfa605c0ad, outHI: 0x0
+sdl :: offset: 0x5f6, out: 0xce88dfa605c0ad, outHI: 0x0
+sdl :: offset: 0x5f7, out: 0xb4ce88dfa605c0ad, outHI: 0x0
+sdl :: offset: 0x5f8, out: 0x7a, outHI: 0x0
+sdl :: offset: 0x5f9, out: 0x4f7a, outHI: 0x0
+sdl :: offset: 0x5fa, out: 0xb04f7a, outHI: 0x0
+sdl :: offset: 0x5fb, out: 0xa7b04f7a, outHI: 0x0
+sdl :: offset: 0x5fc, out: 0x59a7b04f7a, outHI: 0x0
+sdl :: offset: 0x5fd, out: 0xe659a7b04f7a, outHI: 0x0
+sdl :: offset: 0x5fe, out: 0xd6e659a7b04f7a, outHI: 0x0
+sdl :: offset: 0x5ff, out: 0x2ad6e659a7b04f7a, outHI: 0x0
+sdl :: offset: 0x600, out: 0xb4, outHI: 0x0
+sdl :: offset: 0x601, out: 0x2fb4, outHI: 0x0
+sdl :: offset: 0x602, out: 0x922fb4, outHI: 0x0
+sdl :: offset: 0x603, out: 0x28922fb4, outHI: 0x0
+sdl :: offset: 0x604, out: 0xb728922fb4, outHI: 0x0
+sdl :: offset: 0x605, out: 0x5ab728922fb4, outHI: 0x0
+sdl :: offset: 0x606, out: 0x485ab728922fb4, outHI: 0x0
+sdl :: offset: 0x607, out: 0xf8485ab728922fb4, outHI: 0x0
+sdl :: offset: 0x608, out: 0x4b, outHI: 0x0
+sdl :: offset: 0x609, out: 0xfb4b, outHI: 0x0
+sdl :: offset: 0x60a, out: 0xa7fb4b, outHI: 0x0
+sdl :: offset: 0x60b, out: 0x66a7fb4b, outHI: 0x0
+sdl :: offset: 0x60c, out: 0x3b66a7fb4b, outHI: 0x0
+sdl :: offset: 0x60d, out: 0xc3b66a7fb4b, outHI: 0x0
+sdl :: offset: 0x60e, out: 0xd60c3b66a7fb4b, outHI: 0x0
+sdl :: offset: 0x60f, out: 0xa3d60c3b66a7fb4b, outHI: 0x0
+sdl :: offset: 0x610, out: 0x76, outHI: 0x0
+sdl :: offset: 0x611, out: 0xda76, outHI: 0x0
+sdl :: offset: 0x612, out: 0x8eda76, outHI: 0x0
+sdl :: offset: 0x613, out: 0xc28eda76, outHI: 0x0
+sdl :: offset: 0x614, out: 0xfdc28eda76, outHI: 0x0
+sdl :: offset: 0x615, out: 0xaffdc28eda76, outHI: 0x0
+sdl :: offset: 0x616, out: 0xc6affdc28eda76, outHI: 0x0
+sdl :: offset: 0x617, out: 0xe0c6affdc28eda76, outHI: 0x0
+sdl :: offset: 0x618, out: 0x31, outHI: 0x0
+sdl :: offset: 0x619, out: 0x9d31, outHI: 0x0
+sdl :: offset: 0x61a, out: 0x999d31, outHI: 0x0
+sdl :: offset: 0x61b, out: 0xc999d31, outHI: 0x0
+sdl :: offset: 0x61c, out: 0xbf0c999d31, outHI: 0x0
+sdl :: offset: 0x61d, out: 0xb4bf0c999d31, outHI: 0x0
+sdl :: offset: 0x61e, out: 0x6bb4bf0c999d31, outHI: 0x0
+sdl :: offset: 0x61f, out: 0x606bb4bf0c999d31, outHI: 0x0
+sdl :: offset: 0x620, out: 0x53, outHI: 0x0
+sdl :: offset: 0x621, out: 0xf053, outHI: 0x0
+sdl :: offset: 0x622, out: 0x19f053, outHI: 0x0
+sdl :: offset: 0x623, out: 0x7919f053, outHI: 0x0
+sdl :: offset: 0x624, out: 0x1b7919f053, outHI: 0x0
+sdl :: offset: 0x625, out: 0xc81b7919f053, outHI: 0x0
+sdl :: offset: 0x626, out: 0x12c81b7919f053, outHI: 0x0
+sdl :: offset: 0x627, out: 0xfc12c81b7919f053, outHI: 0x0
+sdl :: offset: 0x628, out: 0x32, outHI: 0x0
+sdl :: offset: 0x629, out: 0xd632, outHI: 0x0
+sdl :: offset: 0x62a, out: 0xfcd632, outHI: 0x0
+sdl :: offset: 0x62b, out: 0x2efcd632, outHI: 0x0
+sdl :: offset: 0x62c, out: 0xc72efcd632, outHI: 0x0
+sdl :: offset: 0x62d, out: 0x84c72efcd632, outHI: 0x0
+sdl :: offset: 0x62e, out: 0x8384c72efcd632, outHI: 0x0
+sdl :: offset: 0x62f, out: 0xf88384c72efcd632, outHI: 0x0
+sdl :: offset: 0x630, out: 0x3e, outHI: 0x0
+sdl :: offset: 0x631, out: 0x803e, outHI: 0x0
+sdl :: offset: 0x632, out: 0x35803e, outHI: 0x0
+sdl :: offset: 0x633, out: 0x2a35803e, outHI: 0x0
+sdl :: offset: 0x634, out: 0x6a2a35803e, outHI: 0x0
+sdl :: offset: 0x635, out: 0xbb6a2a35803e, outHI: 0x0
+sdl :: offset: 0x636, out: 0xc7bb6a2a35803e, outHI: 0x0
+sdl :: offset: 0x637, out: 0xb1c7bb6a2a35803e, outHI: 0x0
+sdl :: offset: 0x638, out: 0x38, outHI: 0x0
+sdl :: offset: 0x639, out: 0xc938, outHI: 0x0
+sdl :: offset: 0x63a, out: 0x77c938, outHI: 0x0
+sdl :: offset: 0x63b, out: 0xca77c938, outHI: 0x0
+sdl :: offset: 0x63c, out: 0x1dca77c938, outHI: 0x0
+sdl :: offset: 0x63d, out: 0x121dca77c938, outHI: 0x0
+sdl :: offset: 0x63e, out: 0xf6121dca77c938, outHI: 0x0
+sdl :: offset: 0x63f, out: 0xebf6121dca77c938, outHI: 0x0
+sdl :: offset: 0x640, out: 0x15, outHI: 0x0
+sdl :: offset: 0x641, out: 0xae15, outHI: 0x0
+sdl :: offset: 0x642, out: 0x47ae15, outHI: 0x0
+sdl :: offset: 0x643, out: 0x9147ae15, outHI: 0x0
+sdl :: offset: 0x644, out: 0xfd9147ae15, outHI: 0x0
+sdl :: offset: 0x645, out: 0xd9fd9147ae15, outHI: 0x0
+sdl :: offset: 0x646, out: 0xcdd9fd9147ae15, outHI: 0x0
+sdl :: offset: 0x647, out: 0xaacdd9fd9147ae15, outHI: 0x0
+sdl :: offset: 0x648, out: 0x5e, outHI: 0x0
+sdl :: offset: 0x649, out: 0x175e, outHI: 0x0
+sdl :: offset: 0x64a, out: 0x11175e, outHI: 0x0
+sdl :: offset: 0x64b, out: 0xe911175e, outHI: 0x0
+sdl :: offset: 0x64c, out: 0x81e911175e, outHI: 0x0
+sdl :: offset: 0x64d, out: 0xf981e911175e, outHI: 0x0
+sdl :: offset: 0x64e, out: 0x70f981e911175e, outHI: 0x0
+sdl :: offset: 0x64f, out: 0x8470f981e911175e, outHI: 0x0
+sdl :: offset: 0x650, out: 0xbb, outHI: 0x0
+sdl :: offset: 0x651, out: 0xe0bb, outHI: 0x0
+sdl :: offset: 0x652, out: 0x32e0bb, outHI: 0x0
+sdl :: offset: 0x653, out: 0xa532e0bb, outHI: 0x0
+sdl :: offset: 0x654, out: 0xc6a532e0bb, outHI: 0x0
+sdl :: offset: 0x655, out: 0xeac6a532e0bb, outHI: 0x0
+sdl :: offset: 0x656, out: 0x2aeac6a532e0bb, outHI: 0x0
+sdl :: offset: 0x657, out: 0xd42aeac6a532e0bb, outHI: 0x0
+sdl :: offset: 0x658, out: 0x5, outHI: 0x0
+sdl :: offset: 0x659, out: 0x6305, outHI: 0x0
+sdl :: offset: 0x65a, out: 0x9e6305, outHI: 0x0
+sdl :: offset: 0x65b, out: 0xfb9e6305, outHI: 0x0
+sdl :: offset: 0x65c, out: 0x19fb9e6305, outHI: 0x0
+sdl :: offset: 0x65d, out: 0x6419fb9e6305, outHI: 0x0
+sdl :: offset: 0x65e, out: 0xf36419fb9e6305, outHI: 0x0
+sdl :: offset: 0x65f, out: 0xabf36419fb9e6305, outHI: 0x0
+sdl :: offset: 0x660, out: 0x14, outHI: 0x0
+sdl :: offset: 0x661, out: 0xac14, outHI: 0x0
+sdl :: offset: 0x662, out: 0x2aac14, outHI: 0x0
+sdl :: offset: 0x663, out: 0xd72aac14, outHI: 0x0
+sdl :: offset: 0x664, out: 0xa8d72aac14, outHI: 0x0
+sdl :: offset: 0x665, out: 0x9aa8d72aac14, outHI: 0x0
+sdl :: offset: 0x666, out: 0x559aa8d72aac14, outHI: 0x0
+sdl :: offset: 0x667, out: 0x9d559aa8d72aac14, outHI: 0x0
+sdl :: offset: 0x668, out: 0x24, outHI: 0x0
+sdl :: offset: 0x669, out: 0xec24, outHI: 0x0
+sdl :: offset: 0x66a, out: 0x30ec24, outHI: 0x0
+sdl :: offset: 0x66b, out: 0x4b30ec24, outHI: 0x0
+sdl :: offset: 0x66c, out: 0x84b30ec24, outHI: 0x0
+sdl :: offset: 0x66d, out: 0x4f084b30ec24, outHI: 0x0
+sdl :: offset: 0x66e, out: 0x764f084b30ec24, outHI: 0x0
+sdl :: offset: 0x66f, out: 0xd6764f084b30ec24, outHI: 0x0
+sdl :: offset: 0x670, out: 0xc, outHI: 0x0
+sdl :: offset: 0x671, out: 0xdf0c, outHI: 0x0
+sdl :: offset: 0x672, out: 0x8fdf0c, outHI: 0x0
+sdl :: offset: 0x673, out: 0x468fdf0c, outHI: 0x0
+sdl :: offset: 0x674, out: 0x92468fdf0c, outHI: 0x0
+sdl :: offset: 0x675, out: 0x792468fdf0c, outHI: 0x0
+sdl :: offset: 0x676, out: 0xac0792468fdf0c, outHI: 0x0
+sdl :: offset: 0x677, out: 0x3ac0792468fdf0c, outHI: 0x0
+sdl :: offset: 0x678, out: 0x7f, outHI: 0x0
+sdl :: offset: 0x679, out: 0xf57f, outHI: 0x0
+sdl :: offset: 0x67a, out: 0x70f57f, outHI: 0x0
+sdl :: offset: 0x67b, out: 0xe670f57f, outHI: 0x0
+sdl :: offset: 0x67c, out: 0x56e670f57f, outHI: 0x0
+sdl :: offset: 0x67d, out: 0x6d56e670f57f, outHI: 0x0
+sdl :: offset: 0x67e, out: 0xce6d56e670f57f, outHI: 0x0
+sdl :: offset: 0x67f, out: 0x35ce6d56e670f57f, outHI: 0x0
+sdl :: offset: 0x680, out: 0x7e, outHI: 0x0
+sdl :: offset: 0x681, out: 0x117e, outHI: 0x0
+sdl :: offset: 0x682, out: 0x27117e, outHI: 0x0
+sdl :: offset: 0x683, out: 0x6527117e, outHI: 0x0
+sdl :: offset: 0x684, out: 0x1a6527117e, outHI: 0x0
+sdl :: offset: 0x685, out: 0x591a6527117e, outHI: 0x0
+sdl :: offset: 0x686, out: 0x28591a6527117e, outHI: 0x0
+sdl :: offset: 0x687, out: 0x2828591a6527117e, outHI: 0x0
+sdl :: offset: 0x688, out: 0x15, outHI: 0x0
+sdl :: offset: 0x689, out: 0xfb15, outHI: 0x0
+sdl :: offset: 0x68a, out: 0xa9fb15, outHI: 0x0
+sdl :: offset: 0x68b, out: 0x15a9fb15, outHI: 0x0
+sdl :: offset: 0x68c, out: 0xd215a9fb15, outHI: 0x0
+sdl :: offset: 0x68d, out: 0x83d215a9fb15, outHI: 0x0
+sdl :: offset: 0x68e, out: 0x3283d215a9fb15, outHI: 0x0
+sdl :: offset: 0x68f, out: 0x1c3283d215a9fb15, outHI: 0x0
+sdl :: offset: 0x690, out: 0x9e, outHI: 0x0
+sdl :: offset: 0x691, out: 0x179e, outHI: 0x0
+sdl :: offset: 0x692, out: 0x4179e, outHI: 0x0
+sdl :: offset: 0x693, out: 0x2a04179e, outHI: 0x0
+sdl :: offset: 0x694, out: 0x282a04179e, outHI: 0x0
+sdl :: offset: 0x695, out: 0x49282a04179e, outHI: 0x0
+sdl :: offset: 0x696, out: 0xc049282a04179e, outHI: 0x0
+sdl :: offset: 0x697, out: 0x95c049282a04179e, outHI: 0x0
+sdl :: offset: 0x698, out: 0x8d, outHI: 0x0
+sdl :: offset: 0x699, out: 0xf38d, outHI: 0x0
+sdl :: offset: 0x69a, out: 0x58f38d, outHI: 0x0
+sdl :: offset: 0x69b, out: 0x8058f38d, outHI: 0x0
+sdl :: offset: 0x69c, out: 0x978058f38d, outHI: 0x0
+sdl :: offset: 0x69d, out: 0x90978058f38d, outHI: 0x0
+sdl :: offset: 0x69e, out: 0xa490978058f38d, outHI: 0x0
+sdl :: offset: 0x69f, out: 0xe7a490978058f38d, outHI: 0x0
+sdl :: offset: 0x6a0, out: 0xf2, outHI: 0x0
+sdl :: offset: 0x6a1, out: 0xaaf2, outHI: 0x0
+sdl :: offset: 0x6a2, out: 0xb1aaf2, outHI: 0x0
+sdl :: offset: 0x6a3, out: 0x75b1aaf2, outHI: 0x0
+sdl :: offset: 0x6a4, out: 0x975b1aaf2, outHI: 0x0
+sdl :: offset: 0x6a5, out: 0xca0975b1aaf2, outHI: 0x0
+sdl :: offset: 0x6a6, out: 0x4cca0975b1aaf2, outHI: 0x0
+sdl :: offset: 0x6a7, out: 0x5b4cca0975b1aaf2, outHI: 0x0
+sdl :: offset: 0x6a8, out: 0x77, outHI: 0x0
+sdl :: offset: 0x6a9, out: 0x2077, outHI: 0x0
+sdl :: offset: 0x6aa, out: 0x102077, outHI: 0x0
+sdl :: offset: 0x6ab, out: 0x11102077, outHI: 0x0
+sdl :: offset: 0x6ac, out: 0x3511102077, outHI: 0x0
+sdl :: offset: 0x6ad, out: 0xa63511102077, outHI: 0x0
+sdl :: offset: 0x6ae, out: 0x84a63511102077, outHI: 0x0
+sdl :: offset: 0x6af, out: 0x2b84a63511102077, outHI: 0x0
+sdl :: offset: 0x6b0, out: 0xa, outHI: 0x0
+sdl :: offset: 0x6b1, out: 0x6f0a, outHI: 0x0
+sdl :: offset: 0x6b2, out: 0x8b6f0a, outHI: 0x0
+sdl :: offset: 0x6b3, out: 0xd88b6f0a, outHI: 0x0
+sdl :: offset: 0x6b4, out: 0xa7d88b6f0a, outHI: 0x0
+sdl :: offset: 0x6b5, out: 0xd3a7d88b6f0a, outHI: 0x0
+sdl :: offset: 0x6b6, out: 0xa0d3a7d88b6f0a, outHI: 0x0
+sdl :: offset: 0x6b7, out: 0x3fa0d3a7d88b6f0a, outHI: 0x0
+sdl :: offset: 0x6b8, out: 0x2, outHI: 0x0
+sdl :: offset: 0x6b9, out: 0xdd02, outHI: 0x0
+sdl :: offset: 0x6ba, out: 0xdedd02, outHI: 0x0
+sdl :: offset: 0x6bb, out: 0x41dedd02, outHI: 0x0
+sdl :: offset: 0x6bc, out: 0x9941dedd02, outHI: 0x0
+sdl :: offset: 0x6bd, out: 0xb79941dedd02, outHI: 0x0
+sdl :: offset: 0x6be, out: 0x91b79941dedd02, outHI: 0x0
+sdl :: offset: 0x6bf, out: 0xd991b79941dedd02, outHI: 0x0
+sdl :: offset: 0x6c0, out: 0xa3, outHI: 0x0
+sdl :: offset: 0x6c1, out: 0x8a3, outHI: 0x0
+sdl :: offset: 0x6c2, out: 0x9508a3, outHI: 0x0
+sdl :: offset: 0x6c3, out: 0xd9508a3, outHI: 0x0
+sdl :: offset: 0x6c4, out: 0x5a0d9508a3, outHI: 0x0
+sdl :: offset: 0x6c5, out: 0x835a0d9508a3, outHI: 0x0
+sdl :: offset: 0x6c6, out: 0xb4835a0d9508a3, outHI: 0x0
+sdl :: offset: 0x6c7, out: 0x1cb4835a0d9508a3, outHI: 0x0
+sdl :: offset: 0x6c8, out: 0x75, outHI: 0x0
+sdl :: offset: 0x6c9, out: 0xd375, outHI: 0x0
+sdl :: offset: 0x6ca, out: 0xb2d375, outHI: 0x0
+sdl :: offset: 0x6cb, out: 0x5bb2d375, outHI: 0x0
+sdl :: offset: 0x6cc, out: 0x625bb2d375, outHI: 0x0
+sdl :: offset: 0x6cd, out: 0x35625bb2d375, outHI: 0x0
+sdl :: offset: 0x6ce, out: 0xad35625bb2d375, outHI: 0x0
+sdl :: offset: 0x6cf, out: 0x9cad35625bb2d375, outHI: 0x0
+sdl :: offset: 0x6d0, out: 0x94, outHI: 0x0
+sdl :: offset: 0x6d1, out: 0x3994, outHI: 0x0
+sdl :: offset: 0x6d2, out: 0x973994, outHI: 0x0
+sdl :: offset: 0x6d3, out: 0x92973994, outHI: 0x0
+sdl :: offset: 0x6d4, out: 0xa692973994, outHI: 0x0
+sdl :: offset: 0x6d5, out: 0x35a692973994, outHI: 0x0
+sdl :: offset: 0x6d6, out: 0x7f35a692973994, outHI: 0x0
+sdl :: offset: 0x6d7, out: 0x567f35a692973994, outHI: 0x0
+sdl :: offset: 0x6d8, out: 0x7f, outHI: 0x0
+sdl :: offset: 0x6d9, out: 0x277f, outHI: 0x0
+sdl :: offset: 0x6da, out: 0x7d277f, outHI: 0x0
+sdl :: offset: 0x6db, out: 0x8d7d277f, outHI: 0x0
+sdl :: offset: 0x6dc, out: 0xdb8d7d277f, outHI: 0x0
+sdl :: offset: 0x6dd, out: 0xe0db8d7d277f, outHI: 0x0
+sdl :: offset: 0x6de, out: 0x88e0db8d7d277f, outHI: 0x0
+sdl :: offset: 0x6df, out: 0x5b88e0db8d7d277f, outHI: 0x0
+sdl :: offset: 0x6e0, out: 0x18, outHI: 0x0
+sdl :: offset: 0x6e1, out: 0x9118, outHI: 0x0
+sdl :: offset: 0x6e2, out: 0x1b9118, outHI: 0x0
+sdl :: offset: 0x6e3, out: 0xd61b9118, outHI: 0x0
+sdl :: offset: 0x6e4, out: 0x2fd61b9118, outHI: 0x0
+sdl :: offset: 0x6e5, out: 0xd22fd61b9118, outHI: 0x0
+sdl :: offset: 0x6e6, out: 0x4cd22fd61b9118, outHI: 0x0
+sdl :: offset: 0x6e7, out: 0x5a4cd22fd61b9118, outHI: 0x0
+sdl :: offset: 0x6e8, out: 0x25, outHI: 0x0
+sdl :: offset: 0x6e9, out: 0x7b25, outHI: 0x0
+sdl :: offset: 0x6ea, out: 0x3f7b25, outHI: 0x0
+sdl :: offset: 0x6eb, out: 0x363f7b25, outHI: 0x0
+sdl :: offset: 0x6ec, out: 0xa4363f7b25, outHI: 0x0
+sdl :: offset: 0x6ed, out: 0x89a4363f7b25, outHI: 0x0
+sdl :: offset: 0x6ee, out: 0xd589a4363f7b25, outHI: 0x0
+sdl :: offset: 0x6ef, out: 0x48d589a4363f7b25, outHI: 0x0
+sdl :: offset: 0x6f0, out: 0x10, outHI: 0x0
+sdl :: offset: 0x6f1, out: 0x9010, outHI: 0x0
+sdl :: offset: 0x6f2, out: 0x579010, outHI: 0x0
+sdl :: offset: 0x6f3, out: 0x60579010, outHI: 0x0
+sdl :: offset: 0x6f4, out: 0xf460579010, outHI: 0x0
+sdl :: offset: 0x6f5, out: 0x8f460579010, outHI: 0x0
+sdl :: offset: 0x6f6, out: 0x5708f460579010, outHI: 0x0
+sdl :: offset: 0x6f7, out: 0x6d5708f460579010, outHI: 0x0
+sdl :: offset: 0x6f8, out: 0x6a, outHI: 0x0
+sdl :: offset: 0x6f9, out: 0x7f6a, outHI: 0x0
+sdl :: offset: 0x6fa, out: 0x697f6a, outHI: 0x0
+sdl :: offset: 0x6fb, out: 0x35697f6a, outHI: 0x0
+sdl :: offset: 0x6fc, out: 0xde35697f6a, outHI: 0x0
+sdl :: offset: 0x6fd, out: 0xabde35697f6a, outHI: 0x0
+sdl :: offset: 0x6fe, out: 0xcbabde35697f6a, outHI: 0x0
+sdl :: offset: 0x6ff, out: 0x8ecbabde35697f6a, outHI: 0x0
+sdl :: offset: 0x700, out: 0xd5, outHI: 0x0
+sdl :: offset: 0x701, out: 0xf1d5, outHI: 0x0
+sdl :: offset: 0x702, out: 0xa5f1d5, outHI: 0x0
+sdl :: offset: 0x703, out: 0xc0a5f1d5, outHI: 0x0
+sdl :: offset: 0x704, out: 0x8c0a5f1d5, outHI: 0x0
+sdl :: offset: 0x705, out: 0xfd08c0a5f1d5, outHI: 0x0
+sdl :: offset: 0x706, out: 0x48fd08c0a5f1d5, outHI: 0x0
+sdl :: offset: 0x707, out: 0x5548fd08c0a5f1d5, outHI: 0x0
+sdl :: offset: 0x708, out: 0x57, outHI: 0x0
+sdl :: offset: 0x709, out: 0xdb57, outHI: 0x0
+sdl :: offset: 0x70a, out: 0x8ddb57, outHI: 0x0
+sdl :: offset: 0x70b, out: 0xd98ddb57, outHI: 0x0
+sdl :: offset: 0x70c, out: 0x8ed98ddb57, outHI: 0x0
+sdl :: offset: 0x70d, out: 0xfb8ed98ddb57, outHI: 0x0
+sdl :: offset: 0x70e, out: 0x40fb8ed98ddb57, outHI: 0x0
+sdl :: offset: 0x70f, out: 0xb640fb8ed98ddb57, outHI: 0x0
+sdl :: offset: 0x710, out: 0x8b, outHI: 0x0
+sdl :: offset: 0x711, out: 0xcc8b, outHI: 0x0
+sdl :: offset: 0x712, out: 0x78cc8b, outHI: 0x0
+sdl :: offset: 0x713, out: 0xc578cc8b, outHI: 0x0
+sdl :: offset: 0x714, out: 0xabc578cc8b, outHI: 0x0
+sdl :: offset: 0x715, out: 0x1eabc578cc8b, outHI: 0x0
+sdl :: offset: 0x716, out: 0xd51eabc578cc8b, outHI: 0x0
+sdl :: offset: 0x717, out: 0xd51eabc578cc8b, outHI: 0x0
+sdl :: offset: 0x718, out: 0xbe, outHI: 0x0
+sdl :: offset: 0x719, out: 0xb2be, outHI: 0x0
+sdl :: offset: 0x71a, out: 0xab2be, outHI: 0x0
+sdl :: offset: 0x71b, out: 0x170ab2be, outHI: 0x0
+sdl :: offset: 0x71c, out: 0x1c170ab2be, outHI: 0x0
+sdl :: offset: 0x71d, out: 0x4a1c170ab2be, outHI: 0x0
+sdl :: offset: 0x71e, out: 0x224a1c170ab2be, outHI: 0x0
+sdl :: offset: 0x71f, out: 0x7e224a1c170ab2be, outHI: 0x0
+sdl :: offset: 0x720, out: 0x2f, outHI: 0x0
+sdl :: offset: 0x721, out: 0xa72f, outHI: 0x0
+sdl :: offset: 0x722, out: 0x56a72f, outHI: 0x0
+sdl :: offset: 0x723, out: 0x2256a72f, outHI: 0x0
+sdl :: offset: 0x724, out: 0xa22256a72f, outHI: 0x0
+sdl :: offset: 0x725, out: 0x2ca22256a72f, outHI: 0x0
+sdl :: offset: 0x726, out: 0xf12ca22256a72f, outHI: 0x0
+sdl :: offset: 0x727, out: 0x78f12ca22256a72f, outHI: 0x0
+sdl :: offset: 0x728, out: 0xa9, outHI: 0x0
+sdl :: offset: 0x729, out: 0x2fa9, outHI: 0x0
+sdl :: offset: 0x72a, out: 0xe02fa9, outHI: 0x0
+sdl :: offset: 0x72b, out: 0x1ee02fa9, outHI: 0x0
+sdl :: offset: 0x72c, out: 0x811ee02fa9, outHI: 0x0
+sdl :: offset: 0x72d, out: 0x3b811ee02fa9, outHI: 0x0
+sdl :: offset: 0x72e, out: 0xa93b811ee02fa9, outHI: 0x0
+sdl :: offset: 0x72f, out: 0x50a93b811ee02fa9, outHI: 0x0
+sdl :: offset: 0x730, out: 0x99, outHI: 0x0
+sdl :: offset: 0x731, out: 0xc99, outHI: 0x0
+sdl :: offset: 0x732, out: 0x6a0c99, outHI: 0x0
+sdl :: offset: 0x733, out: 0x796a0c99, outHI: 0x0
+sdl :: offset: 0x734, out: 0xc6796a0c99, outHI: 0x0
+sdl :: offset: 0x735, out: 0x93c6796a0c99, outHI: 0x0
+sdl :: offset: 0x736, out: 0xea93c6796a0c99, outHI: 0x0
+sdl :: offset: 0x737, out: 0x4eea93c6796a0c99, outHI: 0x0
+sdl :: offset: 0x738, out: 0xb4, outHI: 0x0
+sdl :: offset: 0x739, out: 0x57b4, outHI: 0x0
+sdl :: offset: 0x73a, out: 0xb657b4, outHI: 0x0
+sdl :: offset: 0x73b, out: 0xeb657b4, outHI: 0x0
+sdl :: offset: 0x73c, out: 0x6c0eb657b4, outHI: 0x0
+sdl :: offset: 0x73d, out: 0xa06c0eb657b4, outHI: 0x0
+sdl :: offset: 0x73e, out: 0xfca06c0eb657b4, outHI: 0x0
+sdl :: offset: 0x73f, out: 0x71fca06c0eb657b4, outHI: 0x0
+sdl :: offset: 0x740, out: 0xfe, outHI: 0x0
+sdl :: offset: 0x741, out: 0x57fe, outHI: 0x0
+sdl :: offset: 0x742, out: 0xaf57fe, outHI: 0x0
+sdl :: offset: 0x743, out: 0x18af57fe, outHI: 0x0
+sdl :: offset: 0x744, out: 0xf818af57fe, outHI: 0x0
+sdl :: offset: 0x745, out: 0x3df818af57fe, outHI: 0x0
+sdl :: offset: 0x746, out: 0x393df818af57fe, outHI: 0x0
+sdl :: offset: 0x747, out: 0xd6393df818af57fe, outHI: 0x0
+sdl :: offset: 0x748, out: 0x4e, outHI: 0x0
+sdl :: offset: 0x749, out: 0xa4e, outHI: 0x0
+sdl :: offset: 0x74a, out: 0x770a4e, outHI: 0x0
+sdl :: offset: 0x74b, out: 0x36770a4e, outHI: 0x0
+sdl :: offset: 0x74c, out: 0x236770a4e, outHI: 0x0
+sdl :: offset: 0x74d, out: 0x200236770a4e, outHI: 0x0
+sdl :: offset: 0x74e, out: 0x90200236770a4e, outHI: 0x0
+sdl :: offset: 0x74f, out: 0x2e90200236770a4e, outHI: 0x0
+sdl :: offset: 0x750, out: 0xf2, outHI: 0x0
+sdl :: offset: 0x751, out: 0x5df2, outHI: 0x0
+sdl :: offset: 0x752, out: 0xc45df2, outHI: 0x0
+sdl :: offset: 0x753, out: 0xd0c45df2, outHI: 0x0
+sdl :: offset: 0x754, out: 0xafd0c45df2, outHI: 0x0
+sdl :: offset: 0x755, out: 0xc7afd0c45df2, outHI: 0x0
+sdl :: offset: 0x756, out: 0xb6c7afd0c45df2, outHI: 0x0
+sdl :: offset: 0x757, out: 0xefb6c7afd0c45df2, outHI: 0x0
+sdl :: offset: 0x758, out: 0x81, outHI: 0x0
+sdl :: offset: 0x759, out: 0x5b81, outHI: 0x0
+sdl :: offset: 0x75a, out: 0x315b81, outHI: 0x0
+sdl :: offset: 0x75b, out: 0x2315b81, outHI: 0x0
+sdl :: offset: 0x75c, out: 0x8102315b81, outHI: 0x0
+sdl :: offset: 0x75d, out: 0x518102315b81, outHI: 0x0
+sdl :: offset: 0x75e, out: 0xf3518102315b81, outHI: 0x0
+sdl :: offset: 0x75f, out: 0xd8f3518102315b81, outHI: 0x0
+sdl :: offset: 0x760, out: 0xee, outHI: 0x0
+sdl :: offset: 0x761, out: 0x5eee, outHI: 0x0
+sdl :: offset: 0x762, out: 0xfd5eee, outHI: 0x0
+sdl :: offset: 0x763, out: 0x5efd5eee, outHI: 0x0
+sdl :: offset: 0x764, out: 0x995efd5eee, outHI: 0x0
+sdl :: offset: 0x765, out: 0xb9995efd5eee, outHI: 0x0
+sdl :: offset: 0x766, out: 0xefb9995efd5eee, outHI: 0x0
+sdl :: offset: 0x767, out: 0xafefb9995efd5eee, outHI: 0x0
+sdl :: offset: 0x768, out: 0xad, outHI: 0x0
+sdl :: offset: 0x769, out: 0x86ad, outHI: 0x0
+sdl :: offset: 0x76a, out: 0x3086ad, outHI: 0x0
+sdl :: offset: 0x76b, out: 0x253086ad, outHI: 0x0
+sdl :: offset: 0x76c, out: 0xeb253086ad, outHI: 0x0
+sdl :: offset: 0x76d, out: 0x33eb253086ad, outHI: 0x0
+sdl :: offset: 0x76e, out: 0x1933eb253086ad, outHI: 0x0
+sdl :: offset: 0x76f, out: 0x61933eb253086ad, outHI: 0x0
+sdl :: offset: 0x770, out: 0x34, outHI: 0x0
+sdl :: offset: 0x771, out: 0xbc34, outHI: 0x0
+sdl :: offset: 0x772, out: 0x52bc34, outHI: 0x0
+sdl :: offset: 0x773, out: 0x4c52bc34, outHI: 0x0
+sdl :: offset: 0x774, out: 0x4b4c52bc34, outHI: 0x0
+sdl :: offset: 0x775, out: 0x264b4c52bc34, outHI: 0x0
+sdl :: offset: 0x776, out: 0xda264b4c52bc34, outHI: 0x0
+sdl :: offset: 0x777, out: 0x48da264b4c52bc34, outHI: 0x0
+sdl :: offset: 0x778, out: 0x17, outHI: 0x0
+sdl :: offset: 0x779, out: 0x8917, outHI: 0x0
+sdl :: offset: 0x77a, out: 0xbe8917, outHI: 0x0
+sdl :: offset: 0x77b, out: 0x2be8917, outHI: 0x0
+sdl :: offset: 0x77c, out: 0x9302be8917, outHI: 0x0
+sdl :: offset: 0x77d, out: 0x9a9302be8917, outHI: 0x0
+sdl :: offset: 0x77e, out: 0xfc9a9302be8917, outHI: 0x0
+sdl :: offset: 0x77f, out: 0xfdfc9a9302be8917, outHI: 0x0
+sdl :: offset: 0x780, out: 0x34, outHI: 0x0
+sdl :: offset: 0x781, out: 0x8034, outHI: 0x0
+sdl :: offset: 0x782, out: 0xd18034, outHI: 0x0
+sdl :: offset: 0x783, out: 0x21d18034, outHI: 0x0
+sdl :: offset: 0x784, out: 0xc521d18034, outHI: 0x0
+sdl :: offset: 0x785, out: 0xc3c521d18034, outHI: 0x0
+sdl :: offset: 0x786, out: 0x78c3c521d18034, outHI: 0x0
+sdl :: offset: 0x787, out: 0x278c3c521d18034, outHI: 0x0
+sdl :: offset: 0x788, out: 0xd0, outHI: 0x0
+sdl :: offset: 0x789, out: 0x5dd0, outHI: 0x0
+sdl :: offset: 0x78a, out: 0x7a5dd0, outHI: 0x0
+sdl :: offset: 0x78b, out: 0xd37a5dd0, outHI: 0x0
+sdl :: offset: 0x78c, out: 0xc1d37a5dd0, outHI: 0x0
+sdl :: offset: 0x78d, out: 0xa4c1d37a5dd0, outHI: 0x0
+sdl :: offset: 0x78e, out: 0x44a4c1d37a5dd0, outHI: 0x0
+sdl :: offset: 0x78f, out: 0x944a4c1d37a5dd0, outHI: 0x0
+sdl :: offset: 0x790, out: 0xe9, outHI: 0x0
+sdl :: offset: 0x791, out: 0x39e9, outHI: 0x0
+sdl :: offset: 0x792, out: 0x9839e9, outHI: 0x0
+sdl :: offset: 0x793, out: 0xef9839e9, outHI: 0x0
+sdl :: offset: 0x794, out: 0xddef9839e9, outHI: 0x0
+sdl :: offset: 0x795, out: 0x8fddef9839e9, outHI: 0x0
+sdl :: offset: 0x796, out: 0x698fddef9839e9, outHI: 0x0
+sdl :: offset: 0x797, out: 0xfd698fddef9839e9, outHI: 0x0
+sdl :: offset: 0x798, out: 0x65, outHI: 0x0
+sdl :: offset: 0x799, out: 0x5265, outHI: 0x0
+sdl :: offset: 0x79a, out: 0xaf5265, outHI: 0x0
+sdl :: offset: 0x79b, out: 0xb5af5265, outHI: 0x0
+sdl :: offset: 0x79c, out: 0x81b5af5265, outHI: 0x0
+sdl :: offset: 0x79d, out: 0xad81b5af5265, outHI: 0x0
+sdl :: offset: 0x79e, out: 0xe3ad81b5af5265, outHI: 0x0
+sdl :: offset: 0x79f, out: 0x9ee3ad81b5af5265, outHI: 0x0
+sdl :: offset: 0x7a0, out: 0xc4, outHI: 0x0
+sdl :: offset: 0x7a1, out: 0xe9c4, outHI: 0x0
+sdl :: offset: 0x7a2, out: 0x63e9c4, outHI: 0x0
+sdl :: offset: 0x7a3, out: 0xb263e9c4, outHI: 0x0
+sdl :: offset: 0x7a4, out: 0xbdb263e9c4, outHI: 0x0
+sdl :: offset: 0x7a5, out: 0xe8bdb263e9c4, outHI: 0x0
+sdl :: offset: 0x7a6, out: 0x41e8bdb263e9c4, outHI: 0x0
+sdl :: offset: 0x7a7, out: 0xa941e8bdb263e9c4, outHI: 0x0
+sdl :: offset: 0x7a8, out: 0x7a, outHI: 0x0
+sdl :: offset: 0x7a9, out: 0x8d7a, outHI: 0x0
+sdl :: offset: 0x7aa, out: 0xb58d7a, outHI: 0x0
+sdl :: offset: 0x7ab, out: 0xf3b58d7a, outHI: 0x0
+sdl :: offset: 0x7ac, out: 0x42f3b58d7a, outHI: 0x0
+sdl :: offset: 0x7ad, out: 0x9e42f3b58d7a, outHI: 0x0
+sdl :: offset: 0x7ae, out: 0x209e42f3b58d7a, outHI: 0x0
+sdl :: offset: 0x7af, out: 0x2c209e42f3b58d7a, outHI: 0x0
+sdl :: offset: 0x7b0, out: 0x37, outHI: 0x0
+sdl :: offset: 0x7b1, out: 0x3b37, outHI: 0x0
+sdl :: offset: 0x7b2, out: 0xa83b37, outHI: 0x0
+sdl :: offset: 0x7b3, out: 0x22a83b37, outHI: 0x0
+sdl :: offset: 0x7b4, out: 0xe122a83b37, outHI: 0x0
+sdl :: offset: 0x7b5, out: 0xb7e122a83b37, outHI: 0x0
+sdl :: offset: 0x7b6, out: 0x70b7e122a83b37, outHI: 0x0
+sdl :: offset: 0x7b7, out: 0xf870b7e122a83b37, outHI: 0x0
+sdl :: offset: 0x7b8, out: 0x30, outHI: 0x0
+sdl :: offset: 0x7b9, out: 0xec30, outHI: 0x0
+sdl :: offset: 0x7ba, out: 0x30ec30, outHI: 0x0
+sdl :: offset: 0x7bb, out: 0x8930ec30, outHI: 0x0
+sdl :: offset: 0x7bc, out: 0x678930ec30, outHI: 0x0
+sdl :: offset: 0x7bd, out: 0x4b678930ec30, outHI: 0x0
+sdl :: offset: 0x7be, out: 0xde4b678930ec30, outHI: 0x0
+sdl :: offset: 0x7bf, out: 0x2de4b678930ec30, outHI: 0x0
+sdl :: offset: 0x7c0, out: 0x9e, outHI: 0x0
+sdl :: offset: 0x7c1, out: 0x1e9e, outHI: 0x0
+sdl :: offset: 0x7c2, out: 0x631e9e, outHI: 0x0
+sdl :: offset: 0x7c3, out: 0x26631e9e, outHI: 0x0
+sdl :: offset: 0x7c4, out: 0x9826631e9e, outHI: 0x0
+sdl :: offset: 0x7c5, out: 0x639826631e9e, outHI: 0x0
+sdl :: offset: 0x7c6, out: 0xa8639826631e9e, outHI: 0x0
+sdl :: offset: 0x7c7, out: 0x61a8639826631e9e, outHI: 0x0
+sdl :: offset: 0x7c8, out: 0xcd, outHI: 0x0
+sdl :: offset: 0x7c9, out: 0xcacd, outHI: 0x0
+sdl :: offset: 0x7ca, out: 0xd3cacd, outHI: 0x0
+sdl :: offset: 0x7cb, out: 0x7bd3cacd, outHI: 0x0
+sdl :: offset: 0x7cc, out: 0x9a7bd3cacd, outHI: 0x0
+sdl :: offset: 0x7cd, out: 0x899a7bd3cacd, outHI: 0x0
+sdl :: offset: 0x7ce, out: 0xbc899a7bd3cacd, outHI: 0x0
+sdl :: offset: 0x7cf, out: 0x87bc899a7bd3cacd, outHI: 0x0
+sdl :: offset: 0x7d0, out: 0xae, outHI: 0x0
+sdl :: offset: 0x7d1, out: 0x17ae, outHI: 0x0
+sdl :: offset: 0x7d2, out: 0xaf17ae, outHI: 0x0
+sdl :: offset: 0x7d3, out: 0x81af17ae, outHI: 0x0
+sdl :: offset: 0x7d4, out: 0x6481af17ae, outHI: 0x0
+sdl :: offset: 0x7d5, out: 0x4d6481af17ae, outHI: 0x0
+sdl :: offset: 0x7d6, out: 0x644d6481af17ae, outHI: 0x0
+sdl :: offset: 0x7d7, out: 0xec644d6481af17ae, outHI: 0x0
+sdl :: offset: 0x7d8, out: 0x58, outHI: 0x0
+sdl :: offset: 0x7d9, out: 0x6658, outHI: 0x0
+sdl :: offset: 0x7da, out: 0xb66658, outHI: 0x0
+sdl :: offset: 0x7db, out: 0x36b66658, outHI: 0x0
+sdl :: offset: 0x7dc, out: 0xb236b66658, outHI: 0x0
+sdl :: offset: 0x7dd, out: 0x5fb236b66658, outHI: 0x0
+sdl :: offset: 0x7de, out: 0xce5fb236b66658, outHI: 0x0
+sdl :: offset: 0x7df, out: 0xcce5fb236b66658, outHI: 0x0
+sdl :: offset: 0x7e0, out: 0x68, outHI: 0x0
+sdl :: offset: 0x7e1, out: 0x7568, outHI: 0x0
+sdl :: offset: 0x7e2, out: 0x4d7568, outHI: 0x0
+sdl :: offset: 0x7e3, out: 0x6d4d7568, outHI: 0x0
+sdl :: offset: 0x7e4, out: 0x1f6d4d7568, outHI: 0x0
+sdl :: offset: 0x7e5, out: 0x471f6d4d7568, outHI: 0x0
+sdl :: offset: 0x7e6, out: 0x99471f6d4d7568, outHI: 0x0
+sdl :: offset: 0x7e7, out: 0xaa99471f6d4d7568, outHI: 0x0
+sdl :: offset: 0x7e8, out: 0x3b, outHI: 0x0
+sdl :: offset: 0x7e9, out: 0x6b3b, outHI: 0x0
+sdl :: offset: 0x7ea, out: 0x236b3b, outHI: 0x0
+sdl :: offset: 0x7eb, out: 0x12236b3b, outHI: 0x0
+sdl :: offset: 0x7ec, out: 0x5f12236b3b, outHI: 0x0
+sdl :: offset: 0x7ed, out: 0x445f12236b3b, outHI: 0x0
+sdl :: offset: 0x7ee, out: 0x9b445f12236b3b, outHI: 0x0
+sdl :: offset: 0x7ef, out: 0x4d9b445f12236b3b, outHI: 0x0
+sdl :: offset: 0x7f0, out: 0x61, outHI: 0x0
+sdl :: offset: 0x7f1, out: 0x2161, outHI: 0x0
+sdl :: offset: 0x7f2, out: 0x412161, outHI: 0x0
+sdl :: offset: 0x7f3, out: 0xa8412161, outHI: 0x0
+sdl :: offset: 0x7f4, out: 0x1ba8412161, outHI: 0x0
+sdl :: offset: 0x7f5, out: 0x661ba8412161, outHI: 0x0
+sdl :: offset: 0x7f6, out: 0xec661ba8412161, outHI: 0x0
+sdl :: offset: 0x7f7, out: 0xa6ec661ba8412161, outHI: 0x0
+sdr :: offset: 0x8, out: 0x7e876382d2ab13, outHI: 0x0
+sdr :: offset: 0x9, out: 0x7e876382d2ab13, outHI: 0x0
+sdr :: offset: 0xa, out: 0x7e876382d2ab13, outHI: 0x0
+sdr :: offset: 0xb, out: 0x7e876382d2ab13, outHI: 0x0
+sdr :: offset: 0xc, out: 0x7e876382d2ab13, outHI: 0x0
+sdr :: offset: 0xd, out: 0x7e876382d2ab13, outHI: 0x0
+sdr :: offset: 0xe, out: 0x7e876382d2ab13, outHI: 0x0
+sdr :: offset: 0xf, out: 0x7e876382d2ab13, outHI: 0x0
+sdr :: offset: 0x10, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdr :: offset: 0x11, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdr :: offset: 0x12, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdr :: offset: 0x13, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdr :: offset: 0x14, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdr :: offset: 0x15, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdr :: offset: 0x16, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdr :: offset: 0x17, out: 0x976d6e9ac31510f3, outHI: 0x0
+sdr :: offset: 0x18, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdr :: offset: 0x19, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdr :: offset: 0x1a, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdr :: offset: 0x1b, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdr :: offset: 0x1c, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdr :: offset: 0x1d, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdr :: offset: 0x1e, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdr :: offset: 0x1f, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sdr :: offset: 0x20, out: 0x42b0c0a28677b502, outHI: 0x0
+sdr :: offset: 0x21, out: 0x42b0c0a28677b502, outHI: 0x0
+sdr :: offset: 0x22, out: 0x42b0c0a28677b502, outHI: 0x0
+sdr :: offset: 0x23, out: 0x42b0c0a28677b502, outHI: 0x0
+sdr :: offset: 0x24, out: 0x42b0c0a28677b502, outHI: 0x0
+sdr :: offset: 0x25, out: 0x42b0c0a28677b502, outHI: 0x0
+sdr :: offset: 0x26, out: 0x42b0c0a28677b502, outHI: 0x0
+sdr :: offset: 0x27, out: 0x42b0c0a28677b502, outHI: 0x0
+sdr :: offset: 0x28, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdr :: offset: 0x29, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdr :: offset: 0x2a, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdr :: offset: 0x2b, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdr :: offset: 0x2c, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdr :: offset: 0x2d, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdr :: offset: 0x2e, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdr :: offset: 0x2f, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sdr :: offset: 0x30, out: 0x1f308ec377fb413d, outHI: 0x0
+sdr :: offset: 0x31, out: 0x1f308ec377fb413d, outHI: 0x0
+sdr :: offset: 0x32, out: 0x1f308ec377fb413d, outHI: 0x0
+sdr :: offset: 0x33, out: 0x1f308ec377fb413d, outHI: 0x0
+sdr :: offset: 0x34, out: 0x1f308ec377fb413d, outHI: 0x0
+sdr :: offset: 0x35, out: 0x1f308ec377fb413d, outHI: 0x0
+sdr :: offset: 0x36, out: 0x1f308ec377fb413d, outHI: 0x0
+sdr :: offset: 0x37, out: 0x1f308ec377fb413d, outHI: 0x0
+sdr :: offset: 0x38, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdr :: offset: 0x39, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdr :: offset: 0x3a, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdr :: offset: 0x3b, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdr :: offset: 0x3c, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdr :: offset: 0x3d, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdr :: offset: 0x3e, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdr :: offset: 0x3f, out: 0x7aa04213c760e4f7, outHI: 0x0
+sdr :: offset: 0x40, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdr :: offset: 0x41, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdr :: offset: 0x42, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdr :: offset: 0x43, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdr :: offset: 0x44, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdr :: offset: 0x45, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdr :: offset: 0x46, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdr :: offset: 0x47, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sdr :: offset: 0x48, out: 0x4b3dda869615a60d, outHI: 0x0
+sdr :: offset: 0x49, out: 0x4b3dda869615a60d, outHI: 0x0
+sdr :: offset: 0x4a, out: 0x4b3dda869615a60d, outHI: 0x0
+sdr :: offset: 0x4b, out: 0x4b3dda869615a60d, outHI: 0x0
+sdr :: offset: 0x4c, out: 0x4b3dda869615a60d, outHI: 0x0
+sdr :: offset: 0x4d, out: 0x4b3dda869615a60d, outHI: 0x0
+sdr :: offset: 0x4e, out: 0x4b3dda869615a60d, outHI: 0x0
+sdr :: offset: 0x4f, out: 0x4b3dda869615a60d, outHI: 0x0
+sdr :: offset: 0x50, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdr :: offset: 0x51, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdr :: offset: 0x52, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdr :: offset: 0x53, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdr :: offset: 0x54, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdr :: offset: 0x55, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdr :: offset: 0x56, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdr :: offset: 0x57, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sdr :: offset: 0x58, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdr :: offset: 0x59, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdr :: offset: 0x5a, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdr :: offset: 0x5b, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdr :: offset: 0x5c, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdr :: offset: 0x5d, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdr :: offset: 0x5e, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdr :: offset: 0x5f, out: 0x3af35a9dc40bd413, outHI: 0x0
+sdr :: offset: 0x60, out: 0x47f505569a08a180, outHI: 0x0
+sdr :: offset: 0x61, out: 0x47f505569a08a180, outHI: 0x0
+sdr :: offset: 0x62, out: 0x47f505569a08a180, outHI: 0x0
+sdr :: offset: 0x63, out: 0x47f505569a08a180, outHI: 0x0
+sdr :: offset: 0x64, out: 0x47f505569a08a180, outHI: 0x0
+sdr :: offset: 0x65, out: 0x47f505569a08a180, outHI: 0x0
+sdr :: offset: 0x66, out: 0x47f505569a08a180, outHI: 0x0
+sdr :: offset: 0x67, out: 0x47f505569a08a180, outHI: 0x0
+sdr :: offset: 0x68, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdr :: offset: 0x69, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdr :: offset: 0x6a, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdr :: offset: 0x6b, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdr :: offset: 0x6c, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdr :: offset: 0x6d, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdr :: offset: 0x6e, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdr :: offset: 0x6f, out: 0x9564b77fd6d2040f, outHI: 0x0
+sdr :: offset: 0x70, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdr :: offset: 0x71, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdr :: offset: 0x72, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdr :: offset: 0x73, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdr :: offset: 0x74, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdr :: offset: 0x75, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdr :: offset: 0x76, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdr :: offset: 0x77, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sdr :: offset: 0x78, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdr :: offset: 0x79, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdr :: offset: 0x7a, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdr :: offset: 0x7b, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdr :: offset: 0x7c, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdr :: offset: 0x7d, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdr :: offset: 0x7e, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdr :: offset: 0x7f, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sdr :: offset: 0x80, out: 0x94ff52fc81afa797, outHI: 0x0
+sdr :: offset: 0x81, out: 0x94ff52fc81afa797, outHI: 0x0
+sdr :: offset: 0x82, out: 0x94ff52fc81afa797, outHI: 0x0
+sdr :: offset: 0x83, out: 0x94ff52fc81afa797, outHI: 0x0
+sdr :: offset: 0x84, out: 0x94ff52fc81afa797, outHI: 0x0
+sdr :: offset: 0x85, out: 0x94ff52fc81afa797, outHI: 0x0
+sdr :: offset: 0x86, out: 0x94ff52fc81afa797, outHI: 0x0
+sdr :: offset: 0x87, out: 0x94ff52fc81afa797, outHI: 0x0
+sdr :: offset: 0x88, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdr :: offset: 0x89, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdr :: offset: 0x8a, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdr :: offset: 0x8b, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdr :: offset: 0x8c, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdr :: offset: 0x8d, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdr :: offset: 0x8e, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdr :: offset: 0x8f, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sdr :: offset: 0x90, out: 0x36549bd678e895b1, outHI: 0x0
+sdr :: offset: 0x91, out: 0x36549bd678e895b1, outHI: 0x0
+sdr :: offset: 0x92, out: 0x36549bd678e895b1, outHI: 0x0
+sdr :: offset: 0x93, out: 0x36549bd678e895b1, outHI: 0x0
+sdr :: offset: 0x94, out: 0x36549bd678e895b1, outHI: 0x0
+sdr :: offset: 0x95, out: 0x36549bd678e895b1, outHI: 0x0
+sdr :: offset: 0x96, out: 0x36549bd678e895b1, outHI: 0x0
+sdr :: offset: 0x97, out: 0x36549bd678e895b1, outHI: 0x0
+sdr :: offset: 0x98, out: 0x85e0a6319b63259b, outHI: 0x0
+sdr :: offset: 0x99, out: 0x85e0a6319b63259b, outHI: 0x0
+sdr :: offset: 0x9a, out: 0x85e0a6319b63259b, outHI: 0x0
+sdr :: offset: 0x9b, out: 0x85e0a6319b63259b, outHI: 0x0
+sdr :: offset: 0x9c, out: 0x85e0a6319b63259b, outHI: 0x0
+sdr :: offset: 0x9d, out: 0x85e0a6319b63259b, outHI: 0x0
+sdr :: offset: 0x9e, out: 0x85e0a6319b63259b, outHI: 0x0
+sdr :: offset: 0x9f, out: 0x85e0a6319b63259b, outHI: 0x0
+sdr :: offset: 0xa0, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdr :: offset: 0xa1, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdr :: offset: 0xa2, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdr :: offset: 0xa3, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdr :: offset: 0xa4, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdr :: offset: 0xa5, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdr :: offset: 0xa6, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdr :: offset: 0xa7, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sdr :: offset: 0xa8, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdr :: offset: 0xa9, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdr :: offset: 0xaa, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdr :: offset: 0xab, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdr :: offset: 0xac, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdr :: offset: 0xad, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdr :: offset: 0xae, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdr :: offset: 0xaf, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sdr :: offset: 0xb0, out: 0x25b50fec14682d97, outHI: 0x0
+sdr :: offset: 0xb1, out: 0x25b50fec14682d97, outHI: 0x0
+sdr :: offset: 0xb2, out: 0x25b50fec14682d97, outHI: 0x0
+sdr :: offset: 0xb3, out: 0x25b50fec14682d97, outHI: 0x0
+sdr :: offset: 0xb4, out: 0x25b50fec14682d97, outHI: 0x0
+sdr :: offset: 0xb5, out: 0x25b50fec14682d97, outHI: 0x0
+sdr :: offset: 0xb6, out: 0x25b50fec14682d97, outHI: 0x0
+sdr :: offset: 0xb7, out: 0x25b50fec14682d97, outHI: 0x0
+sdr :: offset: 0xb8, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdr :: offset: 0xb9, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdr :: offset: 0xba, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdr :: offset: 0xbb, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdr :: offset: 0xbc, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdr :: offset: 0xbd, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdr :: offset: 0xbe, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdr :: offset: 0xbf, out: 0xfc93c5132cfb087a, outHI: 0x0
+sdr :: offset: 0xc0, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdr :: offset: 0xc1, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdr :: offset: 0xc2, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdr :: offset: 0xc3, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdr :: offset: 0xc4, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdr :: offset: 0xc5, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdr :: offset: 0xc6, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdr :: offset: 0xc7, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sdr :: offset: 0xc8, out: 0x1791722a7d72da3e, outHI: 0x0
+sdr :: offset: 0xc9, out: 0x1791722a7d72da3e, outHI: 0x0
+sdr :: offset: 0xca, out: 0x1791722a7d72da3e, outHI: 0x0
+sdr :: offset: 0xcb, out: 0x1791722a7d72da3e, outHI: 0x0
+sdr :: offset: 0xcc, out: 0x1791722a7d72da3e, outHI: 0x0
+sdr :: offset: 0xcd, out: 0x1791722a7d72da3e, outHI: 0x0
+sdr :: offset: 0xce, out: 0x1791722a7d72da3e, outHI: 0x0
+sdr :: offset: 0xcf, out: 0x1791722a7d72da3e, outHI: 0x0
+sdr :: offset: 0xd0, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdr :: offset: 0xd1, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdr :: offset: 0xd2, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdr :: offset: 0xd3, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdr :: offset: 0xd4, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdr :: offset: 0xd5, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdr :: offset: 0xd6, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdr :: offset: 0xd7, out: 0x87cc9d193ce24ad, outHI: 0x0
+sdr :: offset: 0xd8, out: 0x1d2a757038984ed2, outHI: 0x0
+sdr :: offset: 0xd9, out: 0x1d2a757038984ed2, outHI: 0x0
+sdr :: offset: 0xda, out: 0x1d2a757038984ed2, outHI: 0x0
+sdr :: offset: 0xdb, out: 0x1d2a757038984ed2, outHI: 0x0
+sdr :: offset: 0xdc, out: 0x1d2a757038984ed2, outHI: 0x0
+sdr :: offset: 0xdd, out: 0x1d2a757038984ed2, outHI: 0x0
+sdr :: offset: 0xde, out: 0x1d2a757038984ed2, outHI: 0x0
+sdr :: offset: 0xdf, out: 0x1d2a757038984ed2, outHI: 0x0
+sdr :: offset: 0xe0, out: 0xd0d070db710cd036, outHI: 0x0
+sdr :: offset: 0xe1, out: 0xd0d070db710cd036, outHI: 0x0
+sdr :: offset: 0xe2, out: 0xd0d070db710cd036, outHI: 0x0
+sdr :: offset: 0xe3, out: 0xd0d070db710cd036, outHI: 0x0
+sdr :: offset: 0xe4, out: 0xd0d070db710cd036, outHI: 0x0
+sdr :: offset: 0xe5, out: 0xd0d070db710cd036, outHI: 0x0
+sdr :: offset: 0xe6, out: 0xd0d070db710cd036, outHI: 0x0
+sdr :: offset: 0xe7, out: 0xd0d070db710cd036, outHI: 0x0
+sdr :: offset: 0xe8, out: 0x39c21c7d03415604, outHI: 0x0
+sdr :: offset: 0xe9, out: 0x39c21c7d03415604, outHI: 0x0
+sdr :: offset: 0xea, out: 0x39c21c7d03415604, outHI: 0x0
+sdr :: offset: 0xeb, out: 0x39c21c7d03415604, outHI: 0x0
+sdr :: offset: 0xec, out: 0x39c21c7d03415604, outHI: 0x0
+sdr :: offset: 0xed, out: 0x39c21c7d03415604, outHI: 0x0
+sdr :: offset: 0xee, out: 0x39c21c7d03415604, outHI: 0x0
+sdr :: offset: 0xef, out: 0x39c21c7d03415604, outHI: 0x0
+sdr :: offset: 0xf0, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdr :: offset: 0xf1, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdr :: offset: 0xf2, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdr :: offset: 0xf3, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdr :: offset: 0xf4, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdr :: offset: 0xf5, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdr :: offset: 0xf6, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdr :: offset: 0xf7, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sdr :: offset: 0xf8, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdr :: offset: 0xf9, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdr :: offset: 0xfa, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdr :: offset: 0xfb, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdr :: offset: 0xfc, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdr :: offset: 0xfd, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdr :: offset: 0xfe, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdr :: offset: 0xff, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sdr :: offset: 0x100, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdr :: offset: 0x101, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdr :: offset: 0x102, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdr :: offset: 0x103, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdr :: offset: 0x104, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdr :: offset: 0x105, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdr :: offset: 0x106, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdr :: offset: 0x107, out: 0x2f39454412d6e4a7, outHI: 0x0
+sdr :: offset: 0x108, out: 0x2608c2b756da4c54, outHI: 0x0
+sdr :: offset: 0x109, out: 0x2608c2b756da4c54, outHI: 0x0
+sdr :: offset: 0x10a, out: 0x2608c2b756da4c54, outHI: 0x0
+sdr :: offset: 0x10b, out: 0x2608c2b756da4c54, outHI: 0x0
+sdr :: offset: 0x10c, out: 0x2608c2b756da4c54, outHI: 0x0
+sdr :: offset: 0x10d, out: 0x2608c2b756da4c54, outHI: 0x0
+sdr :: offset: 0x10e, out: 0x2608c2b756da4c54, outHI: 0x0
+sdr :: offset: 0x10f, out: 0x2608c2b756da4c54, outHI: 0x0
+sdr :: offset: 0x110, out: 0x900102dac8d7252f, outHI: 0x0
+sdr :: offset: 0x111, out: 0x900102dac8d7252f, outHI: 0x0
+sdr :: offset: 0x112, out: 0x900102dac8d7252f, outHI: 0x0
+sdr :: offset: 0x113, out: 0x900102dac8d7252f, outHI: 0x0
+sdr :: offset: 0x114, out: 0x900102dac8d7252f, outHI: 0x0
+sdr :: offset: 0x115, out: 0x900102dac8d7252f, outHI: 0x0
+sdr :: offset: 0x116, out: 0x900102dac8d7252f, outHI: 0x0
+sdr :: offset: 0x117, out: 0x900102dac8d7252f, outHI: 0x0
+sdr :: offset: 0x118, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdr :: offset: 0x119, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdr :: offset: 0x11a, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdr :: offset: 0x11b, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdr :: offset: 0x11c, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdr :: offset: 0x11d, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdr :: offset: 0x11e, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdr :: offset: 0x11f, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sdr :: offset: 0x120, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdr :: offset: 0x121, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdr :: offset: 0x122, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdr :: offset: 0x123, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdr :: offset: 0x124, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdr :: offset: 0x125, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdr :: offset: 0x126, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdr :: offset: 0x127, out: 0xed5005cbc8b0a214, outHI: 0x0
+sdr :: offset: 0x128, out: 0x314791895991136c, outHI: 0x0
+sdr :: offset: 0x129, out: 0x314791895991136c, outHI: 0x0
+sdr :: offset: 0x12a, out: 0x314791895991136c, outHI: 0x0
+sdr :: offset: 0x12b, out: 0x314791895991136c, outHI: 0x0
+sdr :: offset: 0x12c, out: 0x314791895991136c, outHI: 0x0
+sdr :: offset: 0x12d, out: 0x314791895991136c, outHI: 0x0
+sdr :: offset: 0x12e, out: 0x314791895991136c, outHI: 0x0
+sdr :: offset: 0x12f, out: 0x314791895991136c, outHI: 0x0
+sdr :: offset: 0x130, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdr :: offset: 0x131, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdr :: offset: 0x132, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdr :: offset: 0x133, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdr :: offset: 0x134, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdr :: offset: 0x135, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdr :: offset: 0x136, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdr :: offset: 0x137, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sdr :: offset: 0x138, out: 0xa809521238895270, outHI: 0x0
+sdr :: offset: 0x139, out: 0xa809521238895270, outHI: 0x0
+sdr :: offset: 0x13a, out: 0xa809521238895270, outHI: 0x0
+sdr :: offset: 0x13b, out: 0xa809521238895270, outHI: 0x0
+sdr :: offset: 0x13c, out: 0xa809521238895270, outHI: 0x0
+sdr :: offset: 0x13d, out: 0xa809521238895270, outHI: 0x0
+sdr :: offset: 0x13e, out: 0xa809521238895270, outHI: 0x0
+sdr :: offset: 0x13f, out: 0xa809521238895270, outHI: 0x0
+sdr :: offset: 0x140, out: 0x87750a04ad765040, outHI: 0x0
+sdr :: offset: 0x141, out: 0x87750a04ad765040, outHI: 0x0
+sdr :: offset: 0x142, out: 0x87750a04ad765040, outHI: 0x0
+sdr :: offset: 0x143, out: 0x87750a04ad765040, outHI: 0x0
+sdr :: offset: 0x144, out: 0x87750a04ad765040, outHI: 0x0
+sdr :: offset: 0x145, out: 0x87750a04ad765040, outHI: 0x0
+sdr :: offset: 0x146, out: 0x87750a04ad765040, outHI: 0x0
+sdr :: offset: 0x147, out: 0x87750a04ad765040, outHI: 0x0
+sdr :: offset: 0x148, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdr :: offset: 0x149, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdr :: offset: 0x14a, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdr :: offset: 0x14b, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdr :: offset: 0x14c, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdr :: offset: 0x14d, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdr :: offset: 0x14e, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdr :: offset: 0x14f, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sdr :: offset: 0x150, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdr :: offset: 0x151, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdr :: offset: 0x152, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdr :: offset: 0x153, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdr :: offset: 0x154, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdr :: offset: 0x155, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdr :: offset: 0x156, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdr :: offset: 0x157, out: 0xae6aff8fc506aa67, outHI: 0x0
+sdr :: offset: 0x158, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdr :: offset: 0x159, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdr :: offset: 0x15a, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdr :: offset: 0x15b, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdr :: offset: 0x15c, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdr :: offset: 0x15d, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdr :: offset: 0x15e, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdr :: offset: 0x15f, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sdr :: offset: 0x160, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdr :: offset: 0x161, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdr :: offset: 0x162, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdr :: offset: 0x163, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdr :: offset: 0x164, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdr :: offset: 0x165, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdr :: offset: 0x166, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdr :: offset: 0x167, out: 0xc4c770f630dcca5a, outHI: 0x0
+sdr :: offset: 0x168, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdr :: offset: 0x169, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdr :: offset: 0x16a, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdr :: offset: 0x16b, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdr :: offset: 0x16c, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdr :: offset: 0x16d, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdr :: offset: 0x16e, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdr :: offset: 0x16f, out: 0xdfec2b2383cd5277, outHI: 0x0
+sdr :: offset: 0x170, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdr :: offset: 0x171, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdr :: offset: 0x172, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdr :: offset: 0x173, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdr :: offset: 0x174, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdr :: offset: 0x175, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdr :: offset: 0x176, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdr :: offset: 0x177, out: 0xd3adba260ff7d96b, outHI: 0x0
+sdr :: offset: 0x178, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdr :: offset: 0x179, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdr :: offset: 0x17a, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdr :: offset: 0x17b, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdr :: offset: 0x17c, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdr :: offset: 0x17d, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdr :: offset: 0x17e, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdr :: offset: 0x17f, out: 0x4ab4aa798418c00e, outHI: 0x0
+sdr :: offset: 0x180, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdr :: offset: 0x181, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdr :: offset: 0x182, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdr :: offset: 0x183, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdr :: offset: 0x184, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdr :: offset: 0x185, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdr :: offset: 0x186, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdr :: offset: 0x187, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sdr :: offset: 0x188, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdr :: offset: 0x189, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdr :: offset: 0x18a, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdr :: offset: 0x18b, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdr :: offset: 0x18c, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdr :: offset: 0x18d, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdr :: offset: 0x18e, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdr :: offset: 0x18f, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sdr :: offset: 0x190, out: 0x77433f373fd1c081, outHI: 0x0
+sdr :: offset: 0x191, out: 0x77433f373fd1c081, outHI: 0x0
+sdr :: offset: 0x192, out: 0x77433f373fd1c081, outHI: 0x0
+sdr :: offset: 0x193, out: 0x77433f373fd1c081, outHI: 0x0
+sdr :: offset: 0x194, out: 0x77433f373fd1c081, outHI: 0x0
+sdr :: offset: 0x195, out: 0x77433f373fd1c081, outHI: 0x0
+sdr :: offset: 0x196, out: 0x77433f373fd1c081, outHI: 0x0
+sdr :: offset: 0x197, out: 0x77433f373fd1c081, outHI: 0x0
+sdr :: offset: 0x198, out: 0xec91d993c92195e4, outHI: 0x0
+sdr :: offset: 0x199, out: 0xec91d993c92195e4, outHI: 0x0
+sdr :: offset: 0x19a, out: 0xec91d993c92195e4, outHI: 0x0
+sdr :: offset: 0x19b, out: 0xec91d993c92195e4, outHI: 0x0
+sdr :: offset: 0x19c, out: 0xec91d993c92195e4, outHI: 0x0
+sdr :: offset: 0x19d, out: 0xec91d993c92195e4, outHI: 0x0
+sdr :: offset: 0x19e, out: 0xec91d993c92195e4, outHI: 0x0
+sdr :: offset: 0x19f, out: 0xec91d993c92195e4, outHI: 0x0
+sdr :: offset: 0x1a0, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdr :: offset: 0x1a1, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdr :: offset: 0x1a2, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdr :: offset: 0x1a3, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdr :: offset: 0x1a4, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdr :: offset: 0x1a5, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdr :: offset: 0x1a6, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdr :: offset: 0x1a7, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sdr :: offset: 0x1a8, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdr :: offset: 0x1a9, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdr :: offset: 0x1aa, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdr :: offset: 0x1ab, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdr :: offset: 0x1ac, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdr :: offset: 0x1ad, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdr :: offset: 0x1ae, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdr :: offset: 0x1af, out: 0x19364378c7ce8d1e, outHI: 0x0
+sdr :: offset: 0x1b0, out: 0xb99e8def2f384907, outHI: 0x0
+sdr :: offset: 0x1b1, out: 0xb99e8def2f384907, outHI: 0x0
+sdr :: offset: 0x1b2, out: 0xb99e8def2f384907, outHI: 0x0
+sdr :: offset: 0x1b3, out: 0xb99e8def2f384907, outHI: 0x0
+sdr :: offset: 0x1b4, out: 0xb99e8def2f384907, outHI: 0x0
+sdr :: offset: 0x1b5, out: 0xb99e8def2f384907, outHI: 0x0
+sdr :: offset: 0x1b6, out: 0xb99e8def2f384907, outHI: 0x0
+sdr :: offset: 0x1b7, out: 0xb99e8def2f384907, outHI: 0x0
+sdr :: offset: 0x1b8, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdr :: offset: 0x1b9, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdr :: offset: 0x1ba, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdr :: offset: 0x1bb, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdr :: offset: 0x1bc, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdr :: offset: 0x1bd, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdr :: offset: 0x1be, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdr :: offset: 0x1bf, out: 0x47eacdcd582b12fe, outHI: 0x0
+sdr :: offset: 0x1c0, out: 0xd685884e76558c4f, outHI: 0x0
+sdr :: offset: 0x1c1, out: 0xd685884e76558c4f, outHI: 0x0
+sdr :: offset: 0x1c2, out: 0xd685884e76558c4f, outHI: 0x0
+sdr :: offset: 0x1c3, out: 0xd685884e76558c4f, outHI: 0x0
+sdr :: offset: 0x1c4, out: 0xd685884e76558c4f, outHI: 0x0
+sdr :: offset: 0x1c5, out: 0xd685884e76558c4f, outHI: 0x0
+sdr :: offset: 0x1c6, out: 0xd685884e76558c4f, outHI: 0x0
+sdr :: offset: 0x1c7, out: 0xd685884e76558c4f, outHI: 0x0
+sdr :: offset: 0x1c8, out: 0x6168d62a34c195c7, outHI: 0x0
+sdr :: offset: 0x1c9, out: 0x6168d62a34c195c7, outHI: 0x0
+sdr :: offset: 0x1ca, out: 0x6168d62a34c195c7, outHI: 0x0
+sdr :: offset: 0x1cb, out: 0x6168d62a34c195c7, outHI: 0x0
+sdr :: offset: 0x1cc, out: 0x6168d62a34c195c7, outHI: 0x0
+sdr :: offset: 0x1cd, out: 0x6168d62a34c195c7, outHI: 0x0
+sdr :: offset: 0x1ce, out: 0x6168d62a34c195c7, outHI: 0x0
+sdr :: offset: 0x1cf, out: 0x6168d62a34c195c7, outHI: 0x0
+sdr :: offset: 0x1d0, out: 0xd30169894df47405, outHI: 0x0
+sdr :: offset: 0x1d1, out: 0xd30169894df47405, outHI: 0x0
+sdr :: offset: 0x1d2, out: 0xd30169894df47405, outHI: 0x0
+sdr :: offset: 0x1d3, out: 0xd30169894df47405, outHI: 0x0
+sdr :: offset: 0x1d4, out: 0xd30169894df47405, outHI: 0x0
+sdr :: offset: 0x1d5, out: 0xd30169894df47405, outHI: 0x0
+sdr :: offset: 0x1d6, out: 0xd30169894df47405, outHI: 0x0
+sdr :: offset: 0x1d7, out: 0xd30169894df47405, outHI: 0x0
+sdr :: offset: 0x1d8, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdr :: offset: 0x1d9, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdr :: offset: 0x1da, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdr :: offset: 0x1db, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdr :: offset: 0x1dc, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdr :: offset: 0x1dd, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdr :: offset: 0x1de, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdr :: offset: 0x1df, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sdr :: offset: 0x1e0, out: 0x58300f029cae393a, outHI: 0x0
+sdr :: offset: 0x1e1, out: 0x58300f029cae393a, outHI: 0x0
+sdr :: offset: 0x1e2, out: 0x58300f029cae393a, outHI: 0x0
+sdr :: offset: 0x1e3, out: 0x58300f029cae393a, outHI: 0x0
+sdr :: offset: 0x1e4, out: 0x58300f029cae393a, outHI: 0x0
+sdr :: offset: 0x1e5, out: 0x58300f029cae393a, outHI: 0x0
+sdr :: offset: 0x1e6, out: 0x58300f029cae393a, outHI: 0x0
+sdr :: offset: 0x1e7, out: 0x58300f029cae393a, outHI: 0x0
+sdr :: offset: 0x1e8, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdr :: offset: 0x1e9, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdr :: offset: 0x1ea, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdr :: offset: 0x1eb, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdr :: offset: 0x1ec, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdr :: offset: 0x1ed, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdr :: offset: 0x1ee, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdr :: offset: 0x1ef, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sdr :: offset: 0x1f0, out: 0x8a96047be3405b48, outHI: 0x0
+sdr :: offset: 0x1f1, out: 0x8a96047be3405b48, outHI: 0x0
+sdr :: offset: 0x1f2, out: 0x8a96047be3405b48, outHI: 0x0
+sdr :: offset: 0x1f3, out: 0x8a96047be3405b48, outHI: 0x0
+sdr :: offset: 0x1f4, out: 0x8a96047be3405b48, outHI: 0x0
+sdr :: offset: 0x1f5, out: 0x8a96047be3405b48, outHI: 0x0
+sdr :: offset: 0x1f6, out: 0x8a96047be3405b48, outHI: 0x0
+sdr :: offset: 0x1f7, out: 0x8a96047be3405b48, outHI: 0x0
+sdr :: offset: 0x1f8, out: 0x75bfafd2d519d322, outHI: 0x0
+sdr :: offset: 0x1f9, out: 0x75bfafd2d519d322, outHI: 0x0
+sdr :: offset: 0x1fa, out: 0x75bfafd2d519d322, outHI: 0x0
+sdr :: offset: 0x1fb, out: 0x75bfafd2d519d322, outHI: 0x0
+sdr :: offset: 0x1fc, out: 0x75bfafd2d519d322, outHI: 0x0
+sdr :: offset: 0x1fd, out: 0x75bfafd2d519d322, outHI: 0x0
+sdr :: offset: 0x1fe, out: 0x75bfafd2d519d322, outHI: 0x0
+sdr :: offset: 0x1ff, out: 0x75bfafd2d519d322, outHI: 0x0
+sdr :: offset: 0x200, out: 0xde230867a630f6ad, outHI: 0x0
+sdr :: offset: 0x201, out: 0xde230867a630f6ad, outHI: 0x0
+sdr :: offset: 0x202, out: 0xde230867a630f6ad, outHI: 0x0
+sdr :: offset: 0x203, out: 0xde230867a630f6ad, outHI: 0x0
+sdr :: offset: 0x204, out: 0xde230867a630f6ad, outHI: 0x0
+sdr :: offset: 0x205, out: 0xde230867a630f6ad, outHI: 0x0
+sdr :: offset: 0x206, out: 0xde230867a630f6ad, outHI: 0x0
+sdr :: offset: 0x207, out: 0xde230867a630f6ad, outHI: 0x0
+sdr :: offset: 0x208, out: 0x2c0a0cf256103260, outHI: 0x0
+sdr :: offset: 0x209, out: 0x2c0a0cf256103260, outHI: 0x0
+sdr :: offset: 0x20a, out: 0x2c0a0cf256103260, outHI: 0x0
+sdr :: offset: 0x20b, out: 0x2c0a0cf256103260, outHI: 0x0
+sdr :: offset: 0x20c, out: 0x2c0a0cf256103260, outHI: 0x0
+sdr :: offset: 0x20d, out: 0x2c0a0cf256103260, outHI: 0x0
+sdr :: offset: 0x20e, out: 0x2c0a0cf256103260, outHI: 0x0
+sdr :: offset: 0x20f, out: 0x2c0a0cf256103260, outHI: 0x0
+sdr :: offset: 0x210, out: 0x94a90544249b18ef, outHI: 0x0
+sdr :: offset: 0x211, out: 0x94a90544249b18ef, outHI: 0x0
+sdr :: offset: 0x212, out: 0x94a90544249b18ef, outHI: 0x0
+sdr :: offset: 0x213, out: 0x94a90544249b18ef, outHI: 0x0
+sdr :: offset: 0x214, out: 0x94a90544249b18ef, outHI: 0x0
+sdr :: offset: 0x215, out: 0x94a90544249b18ef, outHI: 0x0
+sdr :: offset: 0x216, out: 0x94a90544249b18ef, outHI: 0x0
+sdr :: offset: 0x217, out: 0x94a90544249b18ef, outHI: 0x0
+sdr :: offset: 0x218, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdr :: offset: 0x219, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdr :: offset: 0x21a, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdr :: offset: 0x21b, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdr :: offset: 0x21c, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdr :: offset: 0x21d, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdr :: offset: 0x21e, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdr :: offset: 0x21f, out: 0xf9519fb55b56fcde, outHI: 0x0
+sdr :: offset: 0x220, out: 0x81daf8200468319b, outHI: 0x0
+sdr :: offset: 0x221, out: 0x81daf8200468319b, outHI: 0x0
+sdr :: offset: 0x222, out: 0x81daf8200468319b, outHI: 0x0
+sdr :: offset: 0x223, out: 0x81daf8200468319b, outHI: 0x0
+sdr :: offset: 0x224, out: 0x81daf8200468319b, outHI: 0x0
+sdr :: offset: 0x225, out: 0x81daf8200468319b, outHI: 0x0
+sdr :: offset: 0x226, out: 0x81daf8200468319b, outHI: 0x0
+sdr :: offset: 0x227, out: 0x81daf8200468319b, outHI: 0x0
+sdr :: offset: 0x228, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdr :: offset: 0x229, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdr :: offset: 0x22a, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdr :: offset: 0x22b, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdr :: offset: 0x22c, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdr :: offset: 0x22d, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdr :: offset: 0x22e, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdr :: offset: 0x22f, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sdr :: offset: 0x230, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdr :: offset: 0x231, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdr :: offset: 0x232, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdr :: offset: 0x233, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdr :: offset: 0x234, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdr :: offset: 0x235, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdr :: offset: 0x236, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdr :: offset: 0x237, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sdr :: offset: 0x238, out: 0x300ce751dac6162f, outHI: 0x0
+sdr :: offset: 0x239, out: 0x300ce751dac6162f, outHI: 0x0
+sdr :: offset: 0x23a, out: 0x300ce751dac6162f, outHI: 0x0
+sdr :: offset: 0x23b, out: 0x300ce751dac6162f, outHI: 0x0
+sdr :: offset: 0x23c, out: 0x300ce751dac6162f, outHI: 0x0
+sdr :: offset: 0x23d, out: 0x300ce751dac6162f, outHI: 0x0
+sdr :: offset: 0x23e, out: 0x300ce751dac6162f, outHI: 0x0
+sdr :: offset: 0x23f, out: 0x300ce751dac6162f, outHI: 0x0
+sdr :: offset: 0x240, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdr :: offset: 0x241, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdr :: offset: 0x242, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdr :: offset: 0x243, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdr :: offset: 0x244, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdr :: offset: 0x245, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdr :: offset: 0x246, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdr :: offset: 0x247, out: 0x6778fdf3ba52a850, outHI: 0x0
+sdr :: offset: 0x248, out: 0xad00b1f7da78479f, outHI: 0x0
+sdr :: offset: 0x249, out: 0xad00b1f7da78479f, outHI: 0x0
+sdr :: offset: 0x24a, out: 0xad00b1f7da78479f, outHI: 0x0
+sdr :: offset: 0x24b, out: 0xad00b1f7da78479f, outHI: 0x0
+sdr :: offset: 0x24c, out: 0xad00b1f7da78479f, outHI: 0x0
+sdr :: offset: 0x24d, out: 0xad00b1f7da78479f, outHI: 0x0
+sdr :: offset: 0x24e, out: 0xad00b1f7da78479f, outHI: 0x0
+sdr :: offset: 0x24f, out: 0xad00b1f7da78479f, outHI: 0x0
+sdr :: offset: 0x250, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdr :: offset: 0x251, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdr :: offset: 0x252, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdr :: offset: 0x253, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdr :: offset: 0x254, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdr :: offset: 0x255, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdr :: offset: 0x256, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdr :: offset: 0x257, out: 0x8d44168a6b6d98a, outHI: 0x0
+sdr :: offset: 0x258, out: 0xf518381dce634413, outHI: 0x0
+sdr :: offset: 0x259, out: 0xf518381dce634413, outHI: 0x0
+sdr :: offset: 0x25a, out: 0xf518381dce634413, outHI: 0x0
+sdr :: offset: 0x25b, out: 0xf518381dce634413, outHI: 0x0
+sdr :: offset: 0x25c, out: 0xf518381dce634413, outHI: 0x0
+sdr :: offset: 0x25d, out: 0xf518381dce634413, outHI: 0x0
+sdr :: offset: 0x25e, out: 0xf518381dce634413, outHI: 0x0
+sdr :: offset: 0x25f, out: 0xf518381dce634413, outHI: 0x0
+sdr :: offset: 0x260, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdr :: offset: 0x261, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdr :: offset: 0x262, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdr :: offset: 0x263, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdr :: offset: 0x264, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdr :: offset: 0x265, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdr :: offset: 0x266, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdr :: offset: 0x267, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sdr :: offset: 0x268, out: 0xccd392e176321f28, outHI: 0x0
+sdr :: offset: 0x269, out: 0xccd392e176321f28, outHI: 0x0
+sdr :: offset: 0x26a, out: 0xccd392e176321f28, outHI: 0x0
+sdr :: offset: 0x26b, out: 0xccd392e176321f28, outHI: 0x0
+sdr :: offset: 0x26c, out: 0xccd392e176321f28, outHI: 0x0
+sdr :: offset: 0x26d, out: 0xccd392e176321f28, outHI: 0x0
+sdr :: offset: 0x26e, out: 0xccd392e176321f28, outHI: 0x0
+sdr :: offset: 0x26f, out: 0xccd392e176321f28, outHI: 0x0
+sdr :: offset: 0x270, out: 0x829464944018fd8f, outHI: 0x0
+sdr :: offset: 0x271, out: 0x829464944018fd8f, outHI: 0x0
+sdr :: offset: 0x272, out: 0x829464944018fd8f, outHI: 0x0
+sdr :: offset: 0x273, out: 0x829464944018fd8f, outHI: 0x0
+sdr :: offset: 0x274, out: 0x829464944018fd8f, outHI: 0x0
+sdr :: offset: 0x275, out: 0x829464944018fd8f, outHI: 0x0
+sdr :: offset: 0x276, out: 0x829464944018fd8f, outHI: 0x0
+sdr :: offset: 0x277, out: 0x829464944018fd8f, outHI: 0x0
+sdr :: offset: 0x278, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdr :: offset: 0x279, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdr :: offset: 0x27a, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdr :: offset: 0x27b, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdr :: offset: 0x27c, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdr :: offset: 0x27d, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdr :: offset: 0x27e, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdr :: offset: 0x27f, out: 0x15d3204052e8f0e5, outHI: 0x0
+sdr :: offset: 0x280, out: 0x7caf83d2880ff344, outHI: 0x0
+sdr :: offset: 0x281, out: 0x7caf83d2880ff344, outHI: 0x0
+sdr :: offset: 0x282, out: 0x7caf83d2880ff344, outHI: 0x0
+sdr :: offset: 0x283, out: 0x7caf83d2880ff344, outHI: 0x0
+sdr :: offset: 0x284, out: 0x7caf83d2880ff344, outHI: 0x0
+sdr :: offset: 0x285, out: 0x7caf83d2880ff344, outHI: 0x0
+sdr :: offset: 0x286, out: 0x7caf83d2880ff344, outHI: 0x0
+sdr :: offset: 0x287, out: 0x7caf83d2880ff344, outHI: 0x0
+sdr :: offset: 0x288, out: 0xf156a04c747defd7, outHI: 0x0
+sdr :: offset: 0x289, out: 0xf156a04c747defd7, outHI: 0x0
+sdr :: offset: 0x28a, out: 0xf156a04c747defd7, outHI: 0x0
+sdr :: offset: 0x28b, out: 0xf156a04c747defd7, outHI: 0x0
+sdr :: offset: 0x28c, out: 0xf156a04c747defd7, outHI: 0x0
+sdr :: offset: 0x28d, out: 0xf156a04c747defd7, outHI: 0x0
+sdr :: offset: 0x28e, out: 0xf156a04c747defd7, outHI: 0x0
+sdr :: offset: 0x28f, out: 0xf156a04c747defd7, outHI: 0x0
+sdr :: offset: 0x290, out: 0x93e2601c0f31d710, outHI: 0x0
+sdr :: offset: 0x291, out: 0x93e2601c0f31d710, outHI: 0x0
+sdr :: offset: 0x292, out: 0x93e2601c0f31d710, outHI: 0x0
+sdr :: offset: 0x293, out: 0x93e2601c0f31d710, outHI: 0x0
+sdr :: offset: 0x294, out: 0x93e2601c0f31d710, outHI: 0x0
+sdr :: offset: 0x295, out: 0x93e2601c0f31d710, outHI: 0x0
+sdr :: offset: 0x296, out: 0x93e2601c0f31d710, outHI: 0x0
+sdr :: offset: 0x297, out: 0x93e2601c0f31d710, outHI: 0x0
+sdr :: offset: 0x298, out: 0xe1e1a679131cd933, outHI: 0x0
+sdr :: offset: 0x299, out: 0xe1e1a679131cd933, outHI: 0x0
+sdr :: offset: 0x29a, out: 0xe1e1a679131cd933, outHI: 0x0
+sdr :: offset: 0x29b, out: 0xe1e1a679131cd933, outHI: 0x0
+sdr :: offset: 0x29c, out: 0xe1e1a679131cd933, outHI: 0x0
+sdr :: offset: 0x29d, out: 0xe1e1a679131cd933, outHI: 0x0
+sdr :: offset: 0x29e, out: 0xe1e1a679131cd933, outHI: 0x0
+sdr :: offset: 0x29f, out: 0xe1e1a679131cd933, outHI: 0x0
+sdr :: offset: 0x2a0, out: 0x24296b75a76fa427, outHI: 0x0
+sdr :: offset: 0x2a1, out: 0x24296b75a76fa427, outHI: 0x0
+sdr :: offset: 0x2a2, out: 0x24296b75a76fa427, outHI: 0x0
+sdr :: offset: 0x2a3, out: 0x24296b75a76fa427, outHI: 0x0
+sdr :: offset: 0x2a4, out: 0x24296b75a76fa427, outHI: 0x0
+sdr :: offset: 0x2a5, out: 0x24296b75a76fa427, outHI: 0x0
+sdr :: offset: 0x2a6, out: 0x24296b75a76fa427, outHI: 0x0
+sdr :: offset: 0x2a7, out: 0x24296b75a76fa427, outHI: 0x0
+sdr :: offset: 0x2a8, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdr :: offset: 0x2a9, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdr :: offset: 0x2aa, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdr :: offset: 0x2ab, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdr :: offset: 0x2ac, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdr :: offset: 0x2ad, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdr :: offset: 0x2ae, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdr :: offset: 0x2af, out: 0xd296e2d2139ee56a, outHI: 0x0
+sdr :: offset: 0x2b0, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdr :: offset: 0x2b1, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdr :: offset: 0x2b2, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdr :: offset: 0x2b3, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdr :: offset: 0x2b4, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdr :: offset: 0x2b5, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdr :: offset: 0x2b6, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdr :: offset: 0x2b7, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sdr :: offset: 0x2b8, out: 0x76c89e80c07dc168, outHI: 0x0
+sdr :: offset: 0x2b9, out: 0x76c89e80c07dc168, outHI: 0x0
+sdr :: offset: 0x2ba, out: 0x76c89e80c07dc168, outHI: 0x0
+sdr :: offset: 0x2bb, out: 0x76c89e80c07dc168, outHI: 0x0
+sdr :: offset: 0x2bc, out: 0x76c89e80c07dc168, outHI: 0x0
+sdr :: offset: 0x2bd, out: 0x76c89e80c07dc168, outHI: 0x0
+sdr :: offset: 0x2be, out: 0x76c89e80c07dc168, outHI: 0x0
+sdr :: offset: 0x2bf, out: 0x76c89e80c07dc168, outHI: 0x0
+sdr :: offset: 0x2c0, out: 0x70dc3454bfe348f, outHI: 0x0
+sdr :: offset: 0x2c1, out: 0x70dc3454bfe348f, outHI: 0x0
+sdr :: offset: 0x2c2, out: 0x70dc3454bfe348f, outHI: 0x0
+sdr :: offset: 0x2c3, out: 0x70dc3454bfe348f, outHI: 0x0
+sdr :: offset: 0x2c4, out: 0x70dc3454bfe348f, outHI: 0x0
+sdr :: offset: 0x2c5, out: 0x70dc3454bfe348f, outHI: 0x0
+sdr :: offset: 0x2c6, out: 0x70dc3454bfe348f, outHI: 0x0
+sdr :: offset: 0x2c7, out: 0x70dc3454bfe348f, outHI: 0x0
+sdr :: offset: 0x2c8, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdr :: offset: 0x2c9, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdr :: offset: 0x2ca, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdr :: offset: 0x2cb, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdr :: offset: 0x2cc, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdr :: offset: 0x2cd, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdr :: offset: 0x2ce, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdr :: offset: 0x2cf, out: 0xbddc7123dd6d241b, outHI: 0x0
+sdr :: offset: 0x2d0, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdr :: offset: 0x2d1, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdr :: offset: 0x2d2, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdr :: offset: 0x2d3, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdr :: offset: 0x2d4, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdr :: offset: 0x2d5, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdr :: offset: 0x2d6, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdr :: offset: 0x2d7, out: 0xf62fb727a59fcebe, outHI: 0x0
+sdr :: offset: 0x2d8, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdr :: offset: 0x2d9, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdr :: offset: 0x2da, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdr :: offset: 0x2db, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdr :: offset: 0x2dc, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdr :: offset: 0x2dd, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdr :: offset: 0x2de, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdr :: offset: 0x2df, out: 0x109f27e90f9f46fb, outHI: 0x0
+sdr :: offset: 0x2e0, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdr :: offset: 0x2e1, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdr :: offset: 0x2e2, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdr :: offset: 0x2e3, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdr :: offset: 0x2e4, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdr :: offset: 0x2e5, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdr :: offset: 0x2e6, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdr :: offset: 0x2e7, out: 0x3f63daa9afd199d7, outHI: 0x0
+sdr :: offset: 0x2e8, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdr :: offset: 0x2e9, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdr :: offset: 0x2ea, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdr :: offset: 0x2eb, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdr :: offset: 0x2ec, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdr :: offset: 0x2ed, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdr :: offset: 0x2ee, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdr :: offset: 0x2ef, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sdr :: offset: 0x2f0, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdr :: offset: 0x2f1, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdr :: offset: 0x2f2, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdr :: offset: 0x2f3, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdr :: offset: 0x2f4, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdr :: offset: 0x2f5, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdr :: offset: 0x2f6, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdr :: offset: 0x2f7, out: 0x1f353faada4fe4c6, outHI: 0x0
+sdr :: offset: 0x2f8, out: 0x8b086ee07150c260, outHI: 0x0
+sdr :: offset: 0x2f9, out: 0x8b086ee07150c260, outHI: 0x0
+sdr :: offset: 0x2fa, out: 0x8b086ee07150c260, outHI: 0x0
+sdr :: offset: 0x2fb, out: 0x8b086ee07150c260, outHI: 0x0
+sdr :: offset: 0x2fc, out: 0x8b086ee07150c260, outHI: 0x0
+sdr :: offset: 0x2fd, out: 0x8b086ee07150c260, outHI: 0x0
+sdr :: offset: 0x2fe, out: 0x8b086ee07150c260, outHI: 0x0
+sdr :: offset: 0x2ff, out: 0x8b086ee07150c260, outHI: 0x0
+sdr :: offset: 0x300, out: 0xe54750d5d9257f25, outHI: 0x0
+sdr :: offset: 0x301, out: 0xe54750d5d9257f25, outHI: 0x0
+sdr :: offset: 0x302, out: 0xe54750d5d9257f25, outHI: 0x0
+sdr :: offset: 0x303, out: 0xe54750d5d9257f25, outHI: 0x0
+sdr :: offset: 0x304, out: 0xe54750d5d9257f25, outHI: 0x0
+sdr :: offset: 0x305, out: 0xe54750d5d9257f25, outHI: 0x0
+sdr :: offset: 0x306, out: 0xe54750d5d9257f25, outHI: 0x0
+sdr :: offset: 0x307, out: 0xe54750d5d9257f25, outHI: 0x0
+sdr :: offset: 0x308, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdr :: offset: 0x309, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdr :: offset: 0x30a, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdr :: offset: 0x30b, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdr :: offset: 0x30c, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdr :: offset: 0x30d, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdr :: offset: 0x30e, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdr :: offset: 0x30f, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sdr :: offset: 0x310, out: 0x70a3e0424340ac96, outHI: 0x0
+sdr :: offset: 0x311, out: 0x70a3e0424340ac96, outHI: 0x0
+sdr :: offset: 0x312, out: 0x70a3e0424340ac96, outHI: 0x0
+sdr :: offset: 0x313, out: 0x70a3e0424340ac96, outHI: 0x0
+sdr :: offset: 0x314, out: 0x70a3e0424340ac96, outHI: 0x0
+sdr :: offset: 0x315, out: 0x70a3e0424340ac96, outHI: 0x0
+sdr :: offset: 0x316, out: 0x70a3e0424340ac96, outHI: 0x0
+sdr :: offset: 0x317, out: 0x70a3e0424340ac96, outHI: 0x0
+sdr :: offset: 0x318, out: 0xc0478f036980171e, outHI: 0x0
+sdr :: offset: 0x319, out: 0xc0478f036980171e, outHI: 0x0
+sdr :: offset: 0x31a, out: 0xc0478f036980171e, outHI: 0x0
+sdr :: offset: 0x31b, out: 0xc0478f036980171e, outHI: 0x0
+sdr :: offset: 0x31c, out: 0xc0478f036980171e, outHI: 0x0
+sdr :: offset: 0x31d, out: 0xc0478f036980171e, outHI: 0x0
+sdr :: offset: 0x31e, out: 0xc0478f036980171e, outHI: 0x0
+sdr :: offset: 0x31f, out: 0xc0478f036980171e, outHI: 0x0
+sdr :: offset: 0x320, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdr :: offset: 0x321, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdr :: offset: 0x322, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdr :: offset: 0x323, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdr :: offset: 0x324, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdr :: offset: 0x325, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdr :: offset: 0x326, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdr :: offset: 0x327, out: 0x3ce839a51cf929e3, outHI: 0x0
+sdr :: offset: 0x328, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdr :: offset: 0x329, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdr :: offset: 0x32a, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdr :: offset: 0x32b, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdr :: offset: 0x32c, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdr :: offset: 0x32d, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdr :: offset: 0x32e, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdr :: offset: 0x32f, out: 0xe2fbfa895eb68958, outHI: 0x0
+sdr :: offset: 0x330, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdr :: offset: 0x331, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdr :: offset: 0x332, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdr :: offset: 0x333, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdr :: offset: 0x334, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdr :: offset: 0x335, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdr :: offset: 0x336, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdr :: offset: 0x337, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sdr :: offset: 0x338, out: 0xeb9682c170312f1, outHI: 0x0
+sdr :: offset: 0x339, out: 0xeb9682c170312f1, outHI: 0x0
+sdr :: offset: 0x33a, out: 0xeb9682c170312f1, outHI: 0x0
+sdr :: offset: 0x33b, out: 0xeb9682c170312f1, outHI: 0x0
+sdr :: offset: 0x33c, out: 0xeb9682c170312f1, outHI: 0x0
+sdr :: offset: 0x33d, out: 0xeb9682c170312f1, outHI: 0x0
+sdr :: offset: 0x33e, out: 0xeb9682c170312f1, outHI: 0x0
+sdr :: offset: 0x33f, out: 0xeb9682c170312f1, outHI: 0x0
+sdr :: offset: 0x340, out: 0x84785280dd301d0d, outHI: 0x0
+sdr :: offset: 0x341, out: 0x84785280dd301d0d, outHI: 0x0
+sdr :: offset: 0x342, out: 0x84785280dd301d0d, outHI: 0x0
+sdr :: offset: 0x343, out: 0x84785280dd301d0d, outHI: 0x0
+sdr :: offset: 0x344, out: 0x84785280dd301d0d, outHI: 0x0
+sdr :: offset: 0x345, out: 0x84785280dd301d0d, outHI: 0x0
+sdr :: offset: 0x346, out: 0x84785280dd301d0d, outHI: 0x0
+sdr :: offset: 0x347, out: 0x84785280dd301d0d, outHI: 0x0
+sdr :: offset: 0x348, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdr :: offset: 0x349, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdr :: offset: 0x34a, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdr :: offset: 0x34b, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdr :: offset: 0x34c, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdr :: offset: 0x34d, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdr :: offset: 0x34e, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdr :: offset: 0x34f, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sdr :: offset: 0x350, out: 0x26444ced2998436d, outHI: 0x0
+sdr :: offset: 0x351, out: 0x26444ced2998436d, outHI: 0x0
+sdr :: offset: 0x352, out: 0x26444ced2998436d, outHI: 0x0
+sdr :: offset: 0x353, out: 0x26444ced2998436d, outHI: 0x0
+sdr :: offset: 0x354, out: 0x26444ced2998436d, outHI: 0x0
+sdr :: offset: 0x355, out: 0x26444ced2998436d, outHI: 0x0
+sdr :: offset: 0x356, out: 0x26444ced2998436d, outHI: 0x0
+sdr :: offset: 0x357, out: 0x26444ced2998436d, outHI: 0x0
+sdr :: offset: 0x358, out: 0x7175c9dd58ca708, outHI: 0x0
+sdr :: offset: 0x359, out: 0x7175c9dd58ca708, outHI: 0x0
+sdr :: offset: 0x35a, out: 0x7175c9dd58ca708, outHI: 0x0
+sdr :: offset: 0x35b, out: 0x7175c9dd58ca708, outHI: 0x0
+sdr :: offset: 0x35c, out: 0x7175c9dd58ca708, outHI: 0x0
+sdr :: offset: 0x35d, out: 0x7175c9dd58ca708, outHI: 0x0
+sdr :: offset: 0x35e, out: 0x7175c9dd58ca708, outHI: 0x0
+sdr :: offset: 0x35f, out: 0x7175c9dd58ca708, outHI: 0x0
+sdr :: offset: 0x360, out: 0x663d061055833287, outHI: 0x0
+sdr :: offset: 0x361, out: 0x663d061055833287, outHI: 0x0
+sdr :: offset: 0x362, out: 0x663d061055833287, outHI: 0x0
+sdr :: offset: 0x363, out: 0x663d061055833287, outHI: 0x0
+sdr :: offset: 0x364, out: 0x663d061055833287, outHI: 0x0
+sdr :: offset: 0x365, out: 0x663d061055833287, outHI: 0x0
+sdr :: offset: 0x366, out: 0x663d061055833287, outHI: 0x0
+sdr :: offset: 0x367, out: 0x663d061055833287, outHI: 0x0
+sdr :: offset: 0x368, out: 0xab7dd0488951d68b, outHI: 0x0
+sdr :: offset: 0x369, out: 0xab7dd0488951d68b, outHI: 0x0
+sdr :: offset: 0x36a, out: 0xab7dd0488951d68b, outHI: 0x0
+sdr :: offset: 0x36b, out: 0xab7dd0488951d68b, outHI: 0x0
+sdr :: offset: 0x36c, out: 0xab7dd0488951d68b, outHI: 0x0
+sdr :: offset: 0x36d, out: 0xab7dd0488951d68b, outHI: 0x0
+sdr :: offset: 0x36e, out: 0xab7dd0488951d68b, outHI: 0x0
+sdr :: offset: 0x36f, out: 0xab7dd0488951d68b, outHI: 0x0
+sdr :: offset: 0x370, out: 0xf69823670e82471b, outHI: 0x0
+sdr :: offset: 0x371, out: 0xf69823670e82471b, outHI: 0x0
+sdr :: offset: 0x372, out: 0xf69823670e82471b, outHI: 0x0
+sdr :: offset: 0x373, out: 0xf69823670e82471b, outHI: 0x0
+sdr :: offset: 0x374, out: 0xf69823670e82471b, outHI: 0x0
+sdr :: offset: 0x375, out: 0xf69823670e82471b, outHI: 0x0
+sdr :: offset: 0x376, out: 0xf69823670e82471b, outHI: 0x0
+sdr :: offset: 0x377, out: 0xf69823670e82471b, outHI: 0x0
+sdr :: offset: 0x378, out: 0x36886c59d98d26b2, outHI: 0x0
+sdr :: offset: 0x379, out: 0x36886c59d98d26b2, outHI: 0x0
+sdr :: offset: 0x37a, out: 0x36886c59d98d26b2, outHI: 0x0
+sdr :: offset: 0x37b, out: 0x36886c59d98d26b2, outHI: 0x0
+sdr :: offset: 0x37c, out: 0x36886c59d98d26b2, outHI: 0x0
+sdr :: offset: 0x37d, out: 0x36886c59d98d26b2, outHI: 0x0
+sdr :: offset: 0x37e, out: 0x36886c59d98d26b2, outHI: 0x0
+sdr :: offset: 0x37f, out: 0x36886c59d98d26b2, outHI: 0x0
+sdr :: offset: 0x380, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdr :: offset: 0x381, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdr :: offset: 0x382, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdr :: offset: 0x383, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdr :: offset: 0x384, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdr :: offset: 0x385, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdr :: offset: 0x386, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdr :: offset: 0x387, out: 0x9ca4bdbd32be479, outHI: 0x0
+sdr :: offset: 0x388, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdr :: offset: 0x389, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdr :: offset: 0x38a, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdr :: offset: 0x38b, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdr :: offset: 0x38c, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdr :: offset: 0x38d, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdr :: offset: 0x38e, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdr :: offset: 0x38f, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sdr :: offset: 0x390, out: 0x3f46553ecad374df, outHI: 0x0
+sdr :: offset: 0x391, out: 0x3f46553ecad374df, outHI: 0x0
+sdr :: offset: 0x392, out: 0x3f46553ecad374df, outHI: 0x0
+sdr :: offset: 0x393, out: 0x3f46553ecad374df, outHI: 0x0
+sdr :: offset: 0x394, out: 0x3f46553ecad374df, outHI: 0x0
+sdr :: offset: 0x395, out: 0x3f46553ecad374df, outHI: 0x0
+sdr :: offset: 0x396, out: 0x3f46553ecad374df, outHI: 0x0
+sdr :: offset: 0x397, out: 0x3f46553ecad374df, outHI: 0x0
+sdr :: offset: 0x398, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdr :: offset: 0x399, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdr :: offset: 0x39a, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdr :: offset: 0x39b, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdr :: offset: 0x39c, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdr :: offset: 0x39d, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdr :: offset: 0x39e, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdr :: offset: 0x39f, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sdr :: offset: 0x3a0, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdr :: offset: 0x3a1, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdr :: offset: 0x3a2, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdr :: offset: 0x3a3, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdr :: offset: 0x3a4, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdr :: offset: 0x3a5, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdr :: offset: 0x3a6, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdr :: offset: 0x3a7, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sdr :: offset: 0x3a8, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdr :: offset: 0x3a9, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdr :: offset: 0x3aa, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdr :: offset: 0x3ab, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdr :: offset: 0x3ac, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdr :: offset: 0x3ad, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdr :: offset: 0x3ae, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdr :: offset: 0x3af, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sdr :: offset: 0x3b0, out: 0xd2df25c419478206, outHI: 0x0
+sdr :: offset: 0x3b1, out: 0xd2df25c419478206, outHI: 0x0
+sdr :: offset: 0x3b2, out: 0xd2df25c419478206, outHI: 0x0
+sdr :: offset: 0x3b3, out: 0xd2df25c419478206, outHI: 0x0
+sdr :: offset: 0x3b4, out: 0xd2df25c419478206, outHI: 0x0
+sdr :: offset: 0x3b5, out: 0xd2df25c419478206, outHI: 0x0
+sdr :: offset: 0x3b6, out: 0xd2df25c419478206, outHI: 0x0
+sdr :: offset: 0x3b7, out: 0xd2df25c419478206, outHI: 0x0
+sdr :: offset: 0x3b8, out: 0xbc65bf27eb321825, outHI: 0x0
+sdr :: offset: 0x3b9, out: 0xbc65bf27eb321825, outHI: 0x0
+sdr :: offset: 0x3ba, out: 0xbc65bf27eb321825, outHI: 0x0
+sdr :: offset: 0x3bb, out: 0xbc65bf27eb321825, outHI: 0x0
+sdr :: offset: 0x3bc, out: 0xbc65bf27eb321825, outHI: 0x0
+sdr :: offset: 0x3bd, out: 0xbc65bf27eb321825, outHI: 0x0
+sdr :: offset: 0x3be, out: 0xbc65bf27eb321825, outHI: 0x0
+sdr :: offset: 0x3bf, out: 0xbc65bf27eb321825, outHI: 0x0
+sdr :: offset: 0x3c0, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdr :: offset: 0x3c1, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdr :: offset: 0x3c2, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdr :: offset: 0x3c3, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdr :: offset: 0x3c4, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdr :: offset: 0x3c5, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdr :: offset: 0x3c6, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdr :: offset: 0x3c7, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sdr :: offset: 0x3c8, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdr :: offset: 0x3c9, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdr :: offset: 0x3ca, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdr :: offset: 0x3cb, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdr :: offset: 0x3cc, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdr :: offset: 0x3cd, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdr :: offset: 0x3ce, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdr :: offset: 0x3cf, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sdr :: offset: 0x3d0, out: 0x478909b59a99269, outHI: 0x0
+sdr :: offset: 0x3d1, out: 0x478909b59a99269, outHI: 0x0
+sdr :: offset: 0x3d2, out: 0x478909b59a99269, outHI: 0x0
+sdr :: offset: 0x3d3, out: 0x478909b59a99269, outHI: 0x0
+sdr :: offset: 0x3d4, out: 0x478909b59a99269, outHI: 0x0
+sdr :: offset: 0x3d5, out: 0x478909b59a99269, outHI: 0x0
+sdr :: offset: 0x3d6, out: 0x478909b59a99269, outHI: 0x0
+sdr :: offset: 0x3d7, out: 0x478909b59a99269, outHI: 0x0
+sdr :: offset: 0x3d8, out: 0xbfb31cc87857360f, outHI: 0x0
+sdr :: offset: 0x3d9, out: 0xbfb31cc87857360f, outHI: 0x0
+sdr :: offset: 0x3da, out: 0xbfb31cc87857360f, outHI: 0x0
+sdr :: offset: 0x3db, out: 0xbfb31cc87857360f, outHI: 0x0
+sdr :: offset: 0x3dc, out: 0xbfb31cc87857360f, outHI: 0x0
+sdr :: offset: 0x3dd, out: 0xbfb31cc87857360f, outHI: 0x0
+sdr :: offset: 0x3de, out: 0xbfb31cc87857360f, outHI: 0x0
+sdr :: offset: 0x3df, out: 0xbfb31cc87857360f, outHI: 0x0
+sdr :: offset: 0x3e0, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdr :: offset: 0x3e1, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdr :: offset: 0x3e2, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdr :: offset: 0x3e3, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdr :: offset: 0x3e4, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdr :: offset: 0x3e5, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdr :: offset: 0x3e6, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdr :: offset: 0x3e7, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sdr :: offset: 0x3e8, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdr :: offset: 0x3e9, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdr :: offset: 0x3ea, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdr :: offset: 0x3eb, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdr :: offset: 0x3ec, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdr :: offset: 0x3ed, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdr :: offset: 0x3ee, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdr :: offset: 0x3ef, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sdr :: offset: 0x3f0, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdr :: offset: 0x3f1, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdr :: offset: 0x3f2, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdr :: offset: 0x3f3, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdr :: offset: 0x3f4, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdr :: offset: 0x3f5, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdr :: offset: 0x3f6, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdr :: offset: 0x3f7, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sdr :: offset: 0x3f8, out: 0x223d7cfe2b961897, outHI: 0x0
+sdr :: offset: 0x3f9, out: 0x223d7cfe2b961897, outHI: 0x0
+sdr :: offset: 0x3fa, out: 0x223d7cfe2b961897, outHI: 0x0
+sdr :: offset: 0x3fb, out: 0x223d7cfe2b961897, outHI: 0x0
+sdr :: offset: 0x3fc, out: 0x223d7cfe2b961897, outHI: 0x0
+sdr :: offset: 0x3fd, out: 0x223d7cfe2b961897, outHI: 0x0
+sdr :: offset: 0x3fe, out: 0x223d7cfe2b961897, outHI: 0x0
+sdr :: offset: 0x3ff, out: 0x223d7cfe2b961897, outHI: 0x0
+sdr :: offset: 0x400, out: 0x420b34f533734a4b, outHI: 0x0
+sdr :: offset: 0x401, out: 0x420b34f533734a4b, outHI: 0x0
+sdr :: offset: 0x402, out: 0x420b34f533734a4b, outHI: 0x0
+sdr :: offset: 0x403, out: 0x420b34f533734a4b, outHI: 0x0
+sdr :: offset: 0x404, out: 0x420b34f533734a4b, outHI: 0x0
+sdr :: offset: 0x405, out: 0x420b34f533734a4b, outHI: 0x0
+sdr :: offset: 0x406, out: 0x420b34f533734a4b, outHI: 0x0
+sdr :: offset: 0x407, out: 0x420b34f533734a4b, outHI: 0x0
+sdr :: offset: 0x408, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdr :: offset: 0x409, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdr :: offset: 0x40a, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdr :: offset: 0x40b, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdr :: offset: 0x40c, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdr :: offset: 0x40d, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdr :: offset: 0x40e, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdr :: offset: 0x40f, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sdr :: offset: 0x410, out: 0x7a387445e392ccd9, outHI: 0x0
+sdr :: offset: 0x411, out: 0x7a387445e392ccd9, outHI: 0x0
+sdr :: offset: 0x412, out: 0x7a387445e392ccd9, outHI: 0x0
+sdr :: offset: 0x413, out: 0x7a387445e392ccd9, outHI: 0x0
+sdr :: offset: 0x414, out: 0x7a387445e392ccd9, outHI: 0x0
+sdr :: offset: 0x415, out: 0x7a387445e392ccd9, outHI: 0x0
+sdr :: offset: 0x416, out: 0x7a387445e392ccd9, outHI: 0x0
+sdr :: offset: 0x417, out: 0x7a387445e392ccd9, outHI: 0x0
+sdr :: offset: 0x418, out: 0x512f29b1d80000c9, outHI: 0x0
+sdr :: offset: 0x419, out: 0x512f29b1d80000c9, outHI: 0x0
+sdr :: offset: 0x41a, out: 0x512f29b1d80000c9, outHI: 0x0
+sdr :: offset: 0x41b, out: 0x512f29b1d80000c9, outHI: 0x0
+sdr :: offset: 0x41c, out: 0x512f29b1d80000c9, outHI: 0x0
+sdr :: offset: 0x41d, out: 0x512f29b1d80000c9, outHI: 0x0
+sdr :: offset: 0x41e, out: 0x512f29b1d80000c9, outHI: 0x0
+sdr :: offset: 0x41f, out: 0x512f29b1d80000c9, outHI: 0x0
+sdr :: offset: 0x420, out: 0xeaded5c53dad020a, outHI: 0x0
+sdr :: offset: 0x421, out: 0xeaded5c53dad020a, outHI: 0x0
+sdr :: offset: 0x422, out: 0xeaded5c53dad020a, outHI: 0x0
+sdr :: offset: 0x423, out: 0xeaded5c53dad020a, outHI: 0x0
+sdr :: offset: 0x424, out: 0xeaded5c53dad020a, outHI: 0x0
+sdr :: offset: 0x425, out: 0xeaded5c53dad020a, outHI: 0x0
+sdr :: offset: 0x426, out: 0xeaded5c53dad020a, outHI: 0x0
+sdr :: offset: 0x427, out: 0xeaded5c53dad020a, outHI: 0x0
+sdr :: offset: 0x428, out: 0x8a6229d731eea35b, outHI: 0x0
+sdr :: offset: 0x429, out: 0x8a6229d731eea35b, outHI: 0x0
+sdr :: offset: 0x42a, out: 0x8a6229d731eea35b, outHI: 0x0
+sdr :: offset: 0x42b, out: 0x8a6229d731eea35b, outHI: 0x0
+sdr :: offset: 0x42c, out: 0x8a6229d731eea35b, outHI: 0x0
+sdr :: offset: 0x42d, out: 0x8a6229d731eea35b, outHI: 0x0
+sdr :: offset: 0x42e, out: 0x8a6229d731eea35b, outHI: 0x0
+sdr :: offset: 0x42f, out: 0x8a6229d731eea35b, outHI: 0x0
+sdr :: offset: 0x430, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdr :: offset: 0x431, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdr :: offset: 0x432, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdr :: offset: 0x433, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdr :: offset: 0x434, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdr :: offset: 0x435, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdr :: offset: 0x436, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdr :: offset: 0x437, out: 0x2c3c3f9e48985649, outHI: 0x0
+sdr :: offset: 0x438, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdr :: offset: 0x439, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdr :: offset: 0x43a, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdr :: offset: 0x43b, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdr :: offset: 0x43c, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdr :: offset: 0x43d, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdr :: offset: 0x43e, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdr :: offset: 0x43f, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sdr :: offset: 0x440, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdr :: offset: 0x441, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdr :: offset: 0x442, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdr :: offset: 0x443, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdr :: offset: 0x444, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdr :: offset: 0x445, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdr :: offset: 0x446, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdr :: offset: 0x447, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sdr :: offset: 0x448, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdr :: offset: 0x449, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdr :: offset: 0x44a, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdr :: offset: 0x44b, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdr :: offset: 0x44c, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdr :: offset: 0x44d, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdr :: offset: 0x44e, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdr :: offset: 0x44f, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sdr :: offset: 0x450, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdr :: offset: 0x451, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdr :: offset: 0x452, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdr :: offset: 0x453, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdr :: offset: 0x454, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdr :: offset: 0x455, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdr :: offset: 0x456, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdr :: offset: 0x457, out: 0x164e17c1e7fb6587, outHI: 0x0
+sdr :: offset: 0x458, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdr :: offset: 0x459, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdr :: offset: 0x45a, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdr :: offset: 0x45b, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdr :: offset: 0x45c, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdr :: offset: 0x45d, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdr :: offset: 0x45e, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdr :: offset: 0x45f, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sdr :: offset: 0x460, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdr :: offset: 0x461, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdr :: offset: 0x462, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdr :: offset: 0x463, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdr :: offset: 0x464, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdr :: offset: 0x465, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdr :: offset: 0x466, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdr :: offset: 0x467, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sdr :: offset: 0x468, out: 0xf8be8164159649c5, outHI: 0x0
+sdr :: offset: 0x469, out: 0xf8be8164159649c5, outHI: 0x0
+sdr :: offset: 0x46a, out: 0xf8be8164159649c5, outHI: 0x0
+sdr :: offset: 0x46b, out: 0xf8be8164159649c5, outHI: 0x0
+sdr :: offset: 0x46c, out: 0xf8be8164159649c5, outHI: 0x0
+sdr :: offset: 0x46d, out: 0xf8be8164159649c5, outHI: 0x0
+sdr :: offset: 0x46e, out: 0xf8be8164159649c5, outHI: 0x0
+sdr :: offset: 0x46f, out: 0xf8be8164159649c5, outHI: 0x0
+sdr :: offset: 0x470, out: 0x7ca3259784e69b17, outHI: 0x0
+sdr :: offset: 0x471, out: 0x7ca3259784e69b17, outHI: 0x0
+sdr :: offset: 0x472, out: 0x7ca3259784e69b17, outHI: 0x0
+sdr :: offset: 0x473, out: 0x7ca3259784e69b17, outHI: 0x0
+sdr :: offset: 0x474, out: 0x7ca3259784e69b17, outHI: 0x0
+sdr :: offset: 0x475, out: 0x7ca3259784e69b17, outHI: 0x0
+sdr :: offset: 0x476, out: 0x7ca3259784e69b17, outHI: 0x0
+sdr :: offset: 0x477, out: 0x7ca3259784e69b17, outHI: 0x0
+sdr :: offset: 0x478, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdr :: offset: 0x479, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdr :: offset: 0x47a, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdr :: offset: 0x47b, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdr :: offset: 0x47c, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdr :: offset: 0x47d, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdr :: offset: 0x47e, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdr :: offset: 0x47f, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sdr :: offset: 0x480, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdr :: offset: 0x481, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdr :: offset: 0x482, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdr :: offset: 0x483, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdr :: offset: 0x484, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdr :: offset: 0x485, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdr :: offset: 0x486, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdr :: offset: 0x487, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sdr :: offset: 0x488, out: 0xc532e18e187980fa, outHI: 0x0
+sdr :: offset: 0x489, out: 0xc532e18e187980fa, outHI: 0x0
+sdr :: offset: 0x48a, out: 0xc532e18e187980fa, outHI: 0x0
+sdr :: offset: 0x48b, out: 0xc532e18e187980fa, outHI: 0x0
+sdr :: offset: 0x48c, out: 0xc532e18e187980fa, outHI: 0x0
+sdr :: offset: 0x48d, out: 0xc532e18e187980fa, outHI: 0x0
+sdr :: offset: 0x48e, out: 0xc532e18e187980fa, outHI: 0x0
+sdr :: offset: 0x48f, out: 0xc532e18e187980fa, outHI: 0x0
+sdr :: offset: 0x490, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdr :: offset: 0x491, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdr :: offset: 0x492, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdr :: offset: 0x493, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdr :: offset: 0x494, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdr :: offset: 0x495, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdr :: offset: 0x496, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdr :: offset: 0x497, out: 0xb3fdec294f287d1c, outHI: 0x0
+sdr :: offset: 0x498, out: 0xb620660a49732b90, outHI: 0x0
+sdr :: offset: 0x499, out: 0xb620660a49732b90, outHI: 0x0
+sdr :: offset: 0x49a, out: 0xb620660a49732b90, outHI: 0x0
+sdr :: offset: 0x49b, out: 0xb620660a49732b90, outHI: 0x0
+sdr :: offset: 0x49c, out: 0xb620660a49732b90, outHI: 0x0
+sdr :: offset: 0x49d, out: 0xb620660a49732b90, outHI: 0x0
+sdr :: offset: 0x49e, out: 0xb620660a49732b90, outHI: 0x0
+sdr :: offset: 0x49f, out: 0xb620660a49732b90, outHI: 0x0
+sdr :: offset: 0x4a0, out: 0x993138f16cfde991, outHI: 0x0
+sdr :: offset: 0x4a1, out: 0x993138f16cfde991, outHI: 0x0
+sdr :: offset: 0x4a2, out: 0x993138f16cfde991, outHI: 0x0
+sdr :: offset: 0x4a3, out: 0x993138f16cfde991, outHI: 0x0
+sdr :: offset: 0x4a4, out: 0x993138f16cfde991, outHI: 0x0
+sdr :: offset: 0x4a5, out: 0x993138f16cfde991, outHI: 0x0
+sdr :: offset: 0x4a6, out: 0x993138f16cfde991, outHI: 0x0
+sdr :: offset: 0x4a7, out: 0x993138f16cfde991, outHI: 0x0
+sdr :: offset: 0x4a8, out: 0xde02d1337d5407b9, outHI: 0x0
+sdr :: offset: 0x4a9, out: 0xde02d1337d5407b9, outHI: 0x0
+sdr :: offset: 0x4aa, out: 0xde02d1337d5407b9, outHI: 0x0
+sdr :: offset: 0x4ab, out: 0xde02d1337d5407b9, outHI: 0x0
+sdr :: offset: 0x4ac, out: 0xde02d1337d5407b9, outHI: 0x0
+sdr :: offset: 0x4ad, out: 0xde02d1337d5407b9, outHI: 0x0
+sdr :: offset: 0x4ae, out: 0xde02d1337d5407b9, outHI: 0x0
+sdr :: offset: 0x4af, out: 0xde02d1337d5407b9, outHI: 0x0
+sdr :: offset: 0x4b0, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdr :: offset: 0x4b1, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdr :: offset: 0x4b2, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdr :: offset: 0x4b3, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdr :: offset: 0x4b4, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdr :: offset: 0x4b5, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdr :: offset: 0x4b6, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdr :: offset: 0x4b7, out: 0x13a390e1e1dab15a, outHI: 0x0
+sdr :: offset: 0x4b8, out: 0x743491a6828716c8, outHI: 0x0
+sdr :: offset: 0x4b9, out: 0x743491a6828716c8, outHI: 0x0
+sdr :: offset: 0x4ba, out: 0x743491a6828716c8, outHI: 0x0
+sdr :: offset: 0x4bb, out: 0x743491a6828716c8, outHI: 0x0
+sdr :: offset: 0x4bc, out: 0x743491a6828716c8, outHI: 0x0
+sdr :: offset: 0x4bd, out: 0x743491a6828716c8, outHI: 0x0
+sdr :: offset: 0x4be, out: 0x743491a6828716c8, outHI: 0x0
+sdr :: offset: 0x4bf, out: 0x743491a6828716c8, outHI: 0x0
+sdr :: offset: 0x4c0, out: 0x8cff404aede292f2, outHI: 0x0
+sdr :: offset: 0x4c1, out: 0x8cff404aede292f2, outHI: 0x0
+sdr :: offset: 0x4c2, out: 0x8cff404aede292f2, outHI: 0x0
+sdr :: offset: 0x4c3, out: 0x8cff404aede292f2, outHI: 0x0
+sdr :: offset: 0x4c4, out: 0x8cff404aede292f2, outHI: 0x0
+sdr :: offset: 0x4c5, out: 0x8cff404aede292f2, outHI: 0x0
+sdr :: offset: 0x4c6, out: 0x8cff404aede292f2, outHI: 0x0
+sdr :: offset: 0x4c7, out: 0x8cff404aede292f2, outHI: 0x0
+sdr :: offset: 0x4c8, out: 0xb9cec0db1f837636, outHI: 0x0
+sdr :: offset: 0x4c9, out: 0xb9cec0db1f837636, outHI: 0x0
+sdr :: offset: 0x4ca, out: 0xb9cec0db1f837636, outHI: 0x0
+sdr :: offset: 0x4cb, out: 0xb9cec0db1f837636, outHI: 0x0
+sdr :: offset: 0x4cc, out: 0xb9cec0db1f837636, outHI: 0x0
+sdr :: offset: 0x4cd, out: 0xb9cec0db1f837636, outHI: 0x0
+sdr :: offset: 0x4ce, out: 0xb9cec0db1f837636, outHI: 0x0
+sdr :: offset: 0x4cf, out: 0xb9cec0db1f837636, outHI: 0x0
+sdr :: offset: 0x4d0, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdr :: offset: 0x4d1, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdr :: offset: 0x4d2, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdr :: offset: 0x4d3, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdr :: offset: 0x4d4, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdr :: offset: 0x4d5, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdr :: offset: 0x4d6, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdr :: offset: 0x4d7, out: 0x2eaa5aa70509771c, outHI: 0x0
+sdr :: offset: 0x4d8, out: 0xd327538e1875241b, outHI: 0x0
+sdr :: offset: 0x4d9, out: 0xd327538e1875241b, outHI: 0x0
+sdr :: offset: 0x4da, out: 0xd327538e1875241b, outHI: 0x0
+sdr :: offset: 0x4db, out: 0xd327538e1875241b, outHI: 0x0
+sdr :: offset: 0x4dc, out: 0xd327538e1875241b, outHI: 0x0
+sdr :: offset: 0x4dd, out: 0xd327538e1875241b, outHI: 0x0
+sdr :: offset: 0x4de, out: 0xd327538e1875241b, outHI: 0x0
+sdr :: offset: 0x4df, out: 0xd327538e1875241b, outHI: 0x0
+sdr :: offset: 0x4e0, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdr :: offset: 0x4e1, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdr :: offset: 0x4e2, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdr :: offset: 0x4e3, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdr :: offset: 0x4e4, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdr :: offset: 0x4e5, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdr :: offset: 0x4e6, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdr :: offset: 0x4e7, out: 0x42e9f8548b739b6b, outHI: 0x0
+sdr :: offset: 0x4e8, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdr :: offset: 0x4e9, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdr :: offset: 0x4ea, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdr :: offset: 0x4eb, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdr :: offset: 0x4ec, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdr :: offset: 0x4ed, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdr :: offset: 0x4ee, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdr :: offset: 0x4ef, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sdr :: offset: 0x4f0, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdr :: offset: 0x4f1, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdr :: offset: 0x4f2, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdr :: offset: 0x4f3, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdr :: offset: 0x4f4, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdr :: offset: 0x4f5, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdr :: offset: 0x4f6, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdr :: offset: 0x4f7, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sdr :: offset: 0x4f8, out: 0x73916483ae3e9423, outHI: 0x0
+sdr :: offset: 0x4f9, out: 0x73916483ae3e9423, outHI: 0x0
+sdr :: offset: 0x4fa, out: 0x73916483ae3e9423, outHI: 0x0
+sdr :: offset: 0x4fb, out: 0x73916483ae3e9423, outHI: 0x0
+sdr :: offset: 0x4fc, out: 0x73916483ae3e9423, outHI: 0x0
+sdr :: offset: 0x4fd, out: 0x73916483ae3e9423, outHI: 0x0
+sdr :: offset: 0x4fe, out: 0x73916483ae3e9423, outHI: 0x0
+sdr :: offset: 0x4ff, out: 0x73916483ae3e9423, outHI: 0x0
+sdr :: offset: 0x500, out: 0x276af70a0e128561, outHI: 0x0
+sdr :: offset: 0x501, out: 0x276af70a0e128561, outHI: 0x0
+sdr :: offset: 0x502, out: 0x276af70a0e128561, outHI: 0x0
+sdr :: offset: 0x503, out: 0x276af70a0e128561, outHI: 0x0
+sdr :: offset: 0x504, out: 0x276af70a0e128561, outHI: 0x0
+sdr :: offset: 0x505, out: 0x276af70a0e128561, outHI: 0x0
+sdr :: offset: 0x506, out: 0x276af70a0e128561, outHI: 0x0
+sdr :: offset: 0x507, out: 0x276af70a0e128561, outHI: 0x0
+sdr :: offset: 0x508, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdr :: offset: 0x509, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdr :: offset: 0x50a, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdr :: offset: 0x50b, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdr :: offset: 0x50c, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdr :: offset: 0x50d, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdr :: offset: 0x50e, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdr :: offset: 0x50f, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sdr :: offset: 0x510, out: 0x20223f1308accfa6, outHI: 0x0
+sdr :: offset: 0x511, out: 0x20223f1308accfa6, outHI: 0x0
+sdr :: offset: 0x512, out: 0x20223f1308accfa6, outHI: 0x0
+sdr :: offset: 0x513, out: 0x20223f1308accfa6, outHI: 0x0
+sdr :: offset: 0x514, out: 0x20223f1308accfa6, outHI: 0x0
+sdr :: offset: 0x515, out: 0x20223f1308accfa6, outHI: 0x0
+sdr :: offset: 0x516, out: 0x20223f1308accfa6, outHI: 0x0
+sdr :: offset: 0x517, out: 0x20223f1308accfa6, outHI: 0x0
+sdr :: offset: 0x518, out: 0xf83c55743976b5f5, outHI: 0x0
+sdr :: offset: 0x519, out: 0xf83c55743976b5f5, outHI: 0x0
+sdr :: offset: 0x51a, out: 0xf83c55743976b5f5, outHI: 0x0
+sdr :: offset: 0x51b, out: 0xf83c55743976b5f5, outHI: 0x0
+sdr :: offset: 0x51c, out: 0xf83c55743976b5f5, outHI: 0x0
+sdr :: offset: 0x51d, out: 0xf83c55743976b5f5, outHI: 0x0
+sdr :: offset: 0x51e, out: 0xf83c55743976b5f5, outHI: 0x0
+sdr :: offset: 0x51f, out: 0xf83c55743976b5f5, outHI: 0x0
+sdr :: offset: 0x520, out: 0x1f9720f946923c3d, outHI: 0x0
+sdr :: offset: 0x521, out: 0x1f9720f946923c3d, outHI: 0x0
+sdr :: offset: 0x522, out: 0x1f9720f946923c3d, outHI: 0x0
+sdr :: offset: 0x523, out: 0x1f9720f946923c3d, outHI: 0x0
+sdr :: offset: 0x524, out: 0x1f9720f946923c3d, outHI: 0x0
+sdr :: offset: 0x525, out: 0x1f9720f946923c3d, outHI: 0x0
+sdr :: offset: 0x526, out: 0x1f9720f946923c3d, outHI: 0x0
+sdr :: offset: 0x527, out: 0x1f9720f946923c3d, outHI: 0x0
+sdr :: offset: 0x528, out: 0x620d28506d2448dd, outHI: 0x0
+sdr :: offset: 0x529, out: 0x620d28506d2448dd, outHI: 0x0
+sdr :: offset: 0x52a, out: 0x620d28506d2448dd, outHI: 0x0
+sdr :: offset: 0x52b, out: 0x620d28506d2448dd, outHI: 0x0
+sdr :: offset: 0x52c, out: 0x620d28506d2448dd, outHI: 0x0
+sdr :: offset: 0x52d, out: 0x620d28506d2448dd, outHI: 0x0
+sdr :: offset: 0x52e, out: 0x620d28506d2448dd, outHI: 0x0
+sdr :: offset: 0x52f, out: 0x620d28506d2448dd, outHI: 0x0
+sdr :: offset: 0x530, out: 0x60a521e99ff4a732, outHI: 0x0
+sdr :: offset: 0x531, out: 0x60a521e99ff4a732, outHI: 0x0
+sdr :: offset: 0x532, out: 0x60a521e99ff4a732, outHI: 0x0
+sdr :: offset: 0x533, out: 0x60a521e99ff4a732, outHI: 0x0
+sdr :: offset: 0x534, out: 0x60a521e99ff4a732, outHI: 0x0
+sdr :: offset: 0x535, out: 0x60a521e99ff4a732, outHI: 0x0
+sdr :: offset: 0x536, out: 0x60a521e99ff4a732, outHI: 0x0
+sdr :: offset: 0x537, out: 0x60a521e99ff4a732, outHI: 0x0
+sdr :: offset: 0x538, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdr :: offset: 0x539, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdr :: offset: 0x53a, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdr :: offset: 0x53b, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdr :: offset: 0x53c, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdr :: offset: 0x53d, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdr :: offset: 0x53e, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdr :: offset: 0x53f, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sdr :: offset: 0x540, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdr :: offset: 0x541, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdr :: offset: 0x542, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdr :: offset: 0x543, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdr :: offset: 0x544, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdr :: offset: 0x545, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdr :: offset: 0x546, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdr :: offset: 0x547, out: 0xc7a59be7800f3d26, outHI: 0x0
+sdr :: offset: 0x548, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdr :: offset: 0x549, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdr :: offset: 0x54a, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdr :: offset: 0x54b, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdr :: offset: 0x54c, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdr :: offset: 0x54d, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdr :: offset: 0x54e, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdr :: offset: 0x54f, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sdr :: offset: 0x550, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdr :: offset: 0x551, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdr :: offset: 0x552, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdr :: offset: 0x553, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdr :: offset: 0x554, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdr :: offset: 0x555, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdr :: offset: 0x556, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdr :: offset: 0x557, out: 0x2b8613a260d19dcd, outHI: 0x0
+sdr :: offset: 0x558, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdr :: offset: 0x559, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdr :: offset: 0x55a, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdr :: offset: 0x55b, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdr :: offset: 0x55c, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdr :: offset: 0x55d, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdr :: offset: 0x55e, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdr :: offset: 0x55f, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sdr :: offset: 0x560, out: 0x743e568d2fcf486b, outHI: 0x0
+sdr :: offset: 0x561, out: 0x743e568d2fcf486b, outHI: 0x0
+sdr :: offset: 0x562, out: 0x743e568d2fcf486b, outHI: 0x0
+sdr :: offset: 0x563, out: 0x743e568d2fcf486b, outHI: 0x0
+sdr :: offset: 0x564, out: 0x743e568d2fcf486b, outHI: 0x0
+sdr :: offset: 0x565, out: 0x743e568d2fcf486b, outHI: 0x0
+sdr :: offset: 0x566, out: 0x743e568d2fcf486b, outHI: 0x0
+sdr :: offset: 0x567, out: 0x743e568d2fcf486b, outHI: 0x0
+sdr :: offset: 0x568, out: 0x126f646f34c31728, outHI: 0x0
+sdr :: offset: 0x569, out: 0x126f646f34c31728, outHI: 0x0
+sdr :: offset: 0x56a, out: 0x126f646f34c31728, outHI: 0x0
+sdr :: offset: 0x56b, out: 0x126f646f34c31728, outHI: 0x0
+sdr :: offset: 0x56c, out: 0x126f646f34c31728, outHI: 0x0
+sdr :: offset: 0x56d, out: 0x126f646f34c31728, outHI: 0x0
+sdr :: offset: 0x56e, out: 0x126f646f34c31728, outHI: 0x0
+sdr :: offset: 0x56f, out: 0x126f646f34c31728, outHI: 0x0
+sdr :: offset: 0x570, out: 0xaab0196156fc4d12, outHI: 0x0
+sdr :: offset: 0x571, out: 0xaab0196156fc4d12, outHI: 0x0
+sdr :: offset: 0x572, out: 0xaab0196156fc4d12, outHI: 0x0
+sdr :: offset: 0x573, out: 0xaab0196156fc4d12, outHI: 0x0
+sdr :: offset: 0x574, out: 0xaab0196156fc4d12, outHI: 0x0
+sdr :: offset: 0x575, out: 0xaab0196156fc4d12, outHI: 0x0
+sdr :: offset: 0x576, out: 0xaab0196156fc4d12, outHI: 0x0
+sdr :: offset: 0x577, out: 0xaab0196156fc4d12, outHI: 0x0
+sdr :: offset: 0x578, out: 0x7535cd338595d342, outHI: 0x0
+sdr :: offset: 0x579, out: 0x7535cd338595d342, outHI: 0x0
+sdr :: offset: 0x57a, out: 0x7535cd338595d342, outHI: 0x0
+sdr :: offset: 0x57b, out: 0x7535cd338595d342, outHI: 0x0
+sdr :: offset: 0x57c, out: 0x7535cd338595d342, outHI: 0x0
+sdr :: offset: 0x57d, out: 0x7535cd338595d342, outHI: 0x0
+sdr :: offset: 0x57e, out: 0x7535cd338595d342, outHI: 0x0
+sdr :: offset: 0x57f, out: 0x7535cd338595d342, outHI: 0x0
+sdr :: offset: 0x580, out: 0xdfb254da422346ec, outHI: 0x0
+sdr :: offset: 0x581, out: 0xdfb254da422346ec, outHI: 0x0
+sdr :: offset: 0x582, out: 0xdfb254da422346ec, outHI: 0x0
+sdr :: offset: 0x583, out: 0xdfb254da422346ec, outHI: 0x0
+sdr :: offset: 0x584, out: 0xdfb254da422346ec, outHI: 0x0
+sdr :: offset: 0x585, out: 0xdfb254da422346ec, outHI: 0x0
+sdr :: offset: 0x586, out: 0xdfb254da422346ec, outHI: 0x0
+sdr :: offset: 0x587, out: 0xdfb254da422346ec, outHI: 0x0
+sdr :: offset: 0x588, out: 0xa86726c90081ab2a, outHI: 0x0
+sdr :: offset: 0x589, out: 0xa86726c90081ab2a, outHI: 0x0
+sdr :: offset: 0x58a, out: 0xa86726c90081ab2a, outHI: 0x0
+sdr :: offset: 0x58b, out: 0xa86726c90081ab2a, outHI: 0x0
+sdr :: offset: 0x58c, out: 0xa86726c90081ab2a, outHI: 0x0
+sdr :: offset: 0x58d, out: 0xa86726c90081ab2a, outHI: 0x0
+sdr :: offset: 0x58e, out: 0xa86726c90081ab2a, outHI: 0x0
+sdr :: offset: 0x58f, out: 0xa86726c90081ab2a, outHI: 0x0
+sdr :: offset: 0x590, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdr :: offset: 0x591, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdr :: offset: 0x592, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdr :: offset: 0x593, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdr :: offset: 0x594, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdr :: offset: 0x595, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdr :: offset: 0x596, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdr :: offset: 0x597, out: 0x9bfeffa1679d7438, outHI: 0x0
+sdr :: offset: 0x598, out: 0xc7699826b7dee244, outHI: 0x0
+sdr :: offset: 0x599, out: 0xc7699826b7dee244, outHI: 0x0
+sdr :: offset: 0x59a, out: 0xc7699826b7dee244, outHI: 0x0
+sdr :: offset: 0x59b, out: 0xc7699826b7dee244, outHI: 0x0
+sdr :: offset: 0x59c, out: 0xc7699826b7dee244, outHI: 0x0
+sdr :: offset: 0x59d, out: 0xc7699826b7dee244, outHI: 0x0
+sdr :: offset: 0x59e, out: 0xc7699826b7dee244, outHI: 0x0
+sdr :: offset: 0x59f, out: 0xc7699826b7dee244, outHI: 0x0
+sdr :: offset: 0x5a0, out: 0x3c07af97fba6704a, outHI: 0x0
+sdr :: offset: 0x5a1, out: 0x3c07af97fba6704a, outHI: 0x0
+sdr :: offset: 0x5a2, out: 0x3c07af97fba6704a, outHI: 0x0
+sdr :: offset: 0x5a3, out: 0x3c07af97fba6704a, outHI: 0x0
+sdr :: offset: 0x5a4, out: 0x3c07af97fba6704a, outHI: 0x0
+sdr :: offset: 0x5a5, out: 0x3c07af97fba6704a, outHI: 0x0
+sdr :: offset: 0x5a6, out: 0x3c07af97fba6704a, outHI: 0x0
+sdr :: offset: 0x5a7, out: 0x3c07af97fba6704a, outHI: 0x0
+sdr :: offset: 0x5a8, out: 0x521364dc04c58bfe, outHI: 0x0
+sdr :: offset: 0x5a9, out: 0x521364dc04c58bfe, outHI: 0x0
+sdr :: offset: 0x5aa, out: 0x521364dc04c58bfe, outHI: 0x0
+sdr :: offset: 0x5ab, out: 0x521364dc04c58bfe, outHI: 0x0
+sdr :: offset: 0x5ac, out: 0x521364dc04c58bfe, outHI: 0x0
+sdr :: offset: 0x5ad, out: 0x521364dc04c58bfe, outHI: 0x0
+sdr :: offset: 0x5ae, out: 0x521364dc04c58bfe, outHI: 0x0
+sdr :: offset: 0x5af, out: 0x521364dc04c58bfe, outHI: 0x0
+sdr :: offset: 0x5b0, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdr :: offset: 0x5b1, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdr :: offset: 0x5b2, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdr :: offset: 0x5b3, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdr :: offset: 0x5b4, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdr :: offset: 0x5b5, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdr :: offset: 0x5b6, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdr :: offset: 0x5b7, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sdr :: offset: 0x5b8, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdr :: offset: 0x5b9, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdr :: offset: 0x5ba, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdr :: offset: 0x5bb, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdr :: offset: 0x5bc, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdr :: offset: 0x5bd, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdr :: offset: 0x5be, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdr :: offset: 0x5bf, out: 0xe336c60cdeeb954d, outHI: 0x0
+sdr :: offset: 0x5c0, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdr :: offset: 0x5c1, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdr :: offset: 0x5c2, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdr :: offset: 0x5c3, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdr :: offset: 0x5c4, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdr :: offset: 0x5c5, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdr :: offset: 0x5c6, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdr :: offset: 0x5c7, out: 0xd5b2120c6f52416e, outHI: 0x0
+sdr :: offset: 0x5c8, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdr :: offset: 0x5c9, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdr :: offset: 0x5ca, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdr :: offset: 0x5cb, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdr :: offset: 0x5cc, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdr :: offset: 0x5cd, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdr :: offset: 0x5ce, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdr :: offset: 0x5cf, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sdr :: offset: 0x5d0, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdr :: offset: 0x5d1, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdr :: offset: 0x5d2, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdr :: offset: 0x5d3, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdr :: offset: 0x5d4, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdr :: offset: 0x5d5, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdr :: offset: 0x5d6, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdr :: offset: 0x5d7, out: 0x986a2b654a4e7e07, outHI: 0x0
+sdr :: offset: 0x5d8, out: 0xa974eac43a489b55, outHI: 0x0
+sdr :: offset: 0x5d9, out: 0xa974eac43a489b55, outHI: 0x0
+sdr :: offset: 0x5da, out: 0xa974eac43a489b55, outHI: 0x0
+sdr :: offset: 0x5db, out: 0xa974eac43a489b55, outHI: 0x0
+sdr :: offset: 0x5dc, out: 0xa974eac43a489b55, outHI: 0x0
+sdr :: offset: 0x5dd, out: 0xa974eac43a489b55, outHI: 0x0
+sdr :: offset: 0x5de, out: 0xa974eac43a489b55, outHI: 0x0
+sdr :: offset: 0x5df, out: 0xa974eac43a489b55, outHI: 0x0
+sdr :: offset: 0x5e0, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdr :: offset: 0x5e1, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdr :: offset: 0x5e2, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdr :: offset: 0x5e3, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdr :: offset: 0x5e4, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdr :: offset: 0x5e5, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdr :: offset: 0x5e6, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdr :: offset: 0x5e7, out: 0xa388c16272f1f8f5, outHI: 0x0
+sdr :: offset: 0x5e8, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdr :: offset: 0x5e9, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdr :: offset: 0x5ea, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdr :: offset: 0x5eb, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdr :: offset: 0x5ec, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdr :: offset: 0x5ed, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdr :: offset: 0x5ee, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdr :: offset: 0x5ef, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sdr :: offset: 0x5f0, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdr :: offset: 0x5f1, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdr :: offset: 0x5f2, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdr :: offset: 0x5f3, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdr :: offset: 0x5f4, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdr :: offset: 0x5f5, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdr :: offset: 0x5f6, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdr :: offset: 0x5f7, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sdr :: offset: 0x5f8, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdr :: offset: 0x5f9, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdr :: offset: 0x5fa, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdr :: offset: 0x5fb, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdr :: offset: 0x5fc, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdr :: offset: 0x5fd, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdr :: offset: 0x5fe, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdr :: offset: 0x5ff, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sdr :: offset: 0x600, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdr :: offset: 0x601, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdr :: offset: 0x602, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdr :: offset: 0x603, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdr :: offset: 0x604, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdr :: offset: 0x605, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdr :: offset: 0x606, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdr :: offset: 0x607, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sdr :: offset: 0x608, out: 0x4bf8485ab728922f, outHI: 0x0
+sdr :: offset: 0x609, out: 0x4bf8485ab728922f, outHI: 0x0
+sdr :: offset: 0x60a, out: 0x4bf8485ab728922f, outHI: 0x0
+sdr :: offset: 0x60b, out: 0x4bf8485ab728922f, outHI: 0x0
+sdr :: offset: 0x60c, out: 0x4bf8485ab728922f, outHI: 0x0
+sdr :: offset: 0x60d, out: 0x4bf8485ab728922f, outHI: 0x0
+sdr :: offset: 0x60e, out: 0x4bf8485ab728922f, outHI: 0x0
+sdr :: offset: 0x60f, out: 0x4bf8485ab728922f, outHI: 0x0
+sdr :: offset: 0x610, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdr :: offset: 0x611, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdr :: offset: 0x612, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdr :: offset: 0x613, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdr :: offset: 0x614, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdr :: offset: 0x615, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdr :: offset: 0x616, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdr :: offset: 0x617, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sdr :: offset: 0x618, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdr :: offset: 0x619, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdr :: offset: 0x61a, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdr :: offset: 0x61b, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdr :: offset: 0x61c, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdr :: offset: 0x61d, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdr :: offset: 0x61e, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdr :: offset: 0x61f, out: 0x31e0c6affdc28eda, outHI: 0x0
+sdr :: offset: 0x620, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdr :: offset: 0x621, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdr :: offset: 0x622, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdr :: offset: 0x623, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdr :: offset: 0x624, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdr :: offset: 0x625, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdr :: offset: 0x626, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdr :: offset: 0x627, out: 0x53606bb4bf0c999d, outHI: 0x0
+sdr :: offset: 0x628, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdr :: offset: 0x629, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdr :: offset: 0x62a, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdr :: offset: 0x62b, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdr :: offset: 0x62c, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdr :: offset: 0x62d, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdr :: offset: 0x62e, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdr :: offset: 0x62f, out: 0x32fc12c81b7919f0, outHI: 0x0
+sdr :: offset: 0x630, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdr :: offset: 0x631, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdr :: offset: 0x632, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdr :: offset: 0x633, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdr :: offset: 0x634, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdr :: offset: 0x635, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdr :: offset: 0x636, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdr :: offset: 0x637, out: 0x3ef88384c72efcd6, outHI: 0x0
+sdr :: offset: 0x638, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdr :: offset: 0x639, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdr :: offset: 0x63a, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdr :: offset: 0x63b, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdr :: offset: 0x63c, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdr :: offset: 0x63d, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdr :: offset: 0x63e, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdr :: offset: 0x63f, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sdr :: offset: 0x640, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdr :: offset: 0x641, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdr :: offset: 0x642, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdr :: offset: 0x643, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdr :: offset: 0x644, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdr :: offset: 0x645, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdr :: offset: 0x646, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdr :: offset: 0x647, out: 0x15ebf6121dca77c9, outHI: 0x0
+sdr :: offset: 0x648, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdr :: offset: 0x649, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdr :: offset: 0x64a, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdr :: offset: 0x64b, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdr :: offset: 0x64c, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdr :: offset: 0x64d, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdr :: offset: 0x64e, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdr :: offset: 0x64f, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sdr :: offset: 0x650, out: 0xbb8470f981e91117, outHI: 0x0
+sdr :: offset: 0x651, out: 0xbb8470f981e91117, outHI: 0x0
+sdr :: offset: 0x652, out: 0xbb8470f981e91117, outHI: 0x0
+sdr :: offset: 0x653, out: 0xbb8470f981e91117, outHI: 0x0
+sdr :: offset: 0x654, out: 0xbb8470f981e91117, outHI: 0x0
+sdr :: offset: 0x655, out: 0xbb8470f981e91117, outHI: 0x0
+sdr :: offset: 0x656, out: 0xbb8470f981e91117, outHI: 0x0
+sdr :: offset: 0x657, out: 0xbb8470f981e91117, outHI: 0x0
+sdr :: offset: 0x658, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdr :: offset: 0x659, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdr :: offset: 0x65a, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdr :: offset: 0x65b, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdr :: offset: 0x65c, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdr :: offset: 0x65d, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdr :: offset: 0x65e, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdr :: offset: 0x65f, out: 0x5d42aeac6a532e0, outHI: 0x0
+sdr :: offset: 0x660, out: 0x14abf36419fb9e63, outHI: 0x0
+sdr :: offset: 0x661, out: 0x14abf36419fb9e63, outHI: 0x0
+sdr :: offset: 0x662, out: 0x14abf36419fb9e63, outHI: 0x0
+sdr :: offset: 0x663, out: 0x14abf36419fb9e63, outHI: 0x0
+sdr :: offset: 0x664, out: 0x14abf36419fb9e63, outHI: 0x0
+sdr :: offset: 0x665, out: 0x14abf36419fb9e63, outHI: 0x0
+sdr :: offset: 0x666, out: 0x14abf36419fb9e63, outHI: 0x0
+sdr :: offset: 0x667, out: 0x14abf36419fb9e63, outHI: 0x0
+sdr :: offset: 0x668, out: 0x249d559aa8d72aac, outHI: 0x0
+sdr :: offset: 0x669, out: 0x249d559aa8d72aac, outHI: 0x0
+sdr :: offset: 0x66a, out: 0x249d559aa8d72aac, outHI: 0x0
+sdr :: offset: 0x66b, out: 0x249d559aa8d72aac, outHI: 0x0
+sdr :: offset: 0x66c, out: 0x249d559aa8d72aac, outHI: 0x0
+sdr :: offset: 0x66d, out: 0x249d559aa8d72aac, outHI: 0x0
+sdr :: offset: 0x66e, out: 0x249d559aa8d72aac, outHI: 0x0
+sdr :: offset: 0x66f, out: 0x249d559aa8d72aac, outHI: 0x0
+sdr :: offset: 0x670, out: 0xcd6764f084b30ec, outHI: 0x0
+sdr :: offset: 0x671, out: 0xcd6764f084b30ec, outHI: 0x0
+sdr :: offset: 0x672, out: 0xcd6764f084b30ec, outHI: 0x0
+sdr :: offset: 0x673, out: 0xcd6764f084b30ec, outHI: 0x0
+sdr :: offset: 0x674, out: 0xcd6764f084b30ec, outHI: 0x0
+sdr :: offset: 0x675, out: 0xcd6764f084b30ec, outHI: 0x0
+sdr :: offset: 0x676, out: 0xcd6764f084b30ec, outHI: 0x0
+sdr :: offset: 0x677, out: 0xcd6764f084b30ec, outHI: 0x0
+sdr :: offset: 0x678, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdr :: offset: 0x679, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdr :: offset: 0x67a, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdr :: offset: 0x67b, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdr :: offset: 0x67c, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdr :: offset: 0x67d, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdr :: offset: 0x67e, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdr :: offset: 0x67f, out: 0x7f03ac0792468fdf, outHI: 0x0
+sdr :: offset: 0x680, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdr :: offset: 0x681, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdr :: offset: 0x682, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdr :: offset: 0x683, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdr :: offset: 0x684, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdr :: offset: 0x685, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdr :: offset: 0x686, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdr :: offset: 0x687, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sdr :: offset: 0x688, out: 0x152828591a652711, outHI: 0x0
+sdr :: offset: 0x689, out: 0x152828591a652711, outHI: 0x0
+sdr :: offset: 0x68a, out: 0x152828591a652711, outHI: 0x0
+sdr :: offset: 0x68b, out: 0x152828591a652711, outHI: 0x0
+sdr :: offset: 0x68c, out: 0x152828591a652711, outHI: 0x0
+sdr :: offset: 0x68d, out: 0x152828591a652711, outHI: 0x0
+sdr :: offset: 0x68e, out: 0x152828591a652711, outHI: 0x0
+sdr :: offset: 0x68f, out: 0x152828591a652711, outHI: 0x0
+sdr :: offset: 0x690, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdr :: offset: 0x691, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdr :: offset: 0x692, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdr :: offset: 0x693, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdr :: offset: 0x694, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdr :: offset: 0x695, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdr :: offset: 0x696, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdr :: offset: 0x697, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sdr :: offset: 0x698, out: 0x8d95c049282a0417, outHI: 0x0
+sdr :: offset: 0x699, out: 0x8d95c049282a0417, outHI: 0x0
+sdr :: offset: 0x69a, out: 0x8d95c049282a0417, outHI: 0x0
+sdr :: offset: 0x69b, out: 0x8d95c049282a0417, outHI: 0x0
+sdr :: offset: 0x69c, out: 0x8d95c049282a0417, outHI: 0x0
+sdr :: offset: 0x69d, out: 0x8d95c049282a0417, outHI: 0x0
+sdr :: offset: 0x69e, out: 0x8d95c049282a0417, outHI: 0x0
+sdr :: offset: 0x69f, out: 0x8d95c049282a0417, outHI: 0x0
+sdr :: offset: 0x6a0, out: 0xf2e7a490978058f3, outHI: 0x0
+sdr :: offset: 0x6a1, out: 0xf2e7a490978058f3, outHI: 0x0
+sdr :: offset: 0x6a2, out: 0xf2e7a490978058f3, outHI: 0x0
+sdr :: offset: 0x6a3, out: 0xf2e7a490978058f3, outHI: 0x0
+sdr :: offset: 0x6a4, out: 0xf2e7a490978058f3, outHI: 0x0
+sdr :: offset: 0x6a5, out: 0xf2e7a490978058f3, outHI: 0x0
+sdr :: offset: 0x6a6, out: 0xf2e7a490978058f3, outHI: 0x0
+sdr :: offset: 0x6a7, out: 0xf2e7a490978058f3, outHI: 0x0
+sdr :: offset: 0x6a8, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdr :: offset: 0x6a9, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdr :: offset: 0x6aa, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdr :: offset: 0x6ab, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdr :: offset: 0x6ac, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdr :: offset: 0x6ad, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdr :: offset: 0x6ae, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdr :: offset: 0x6af, out: 0x775b4cca0975b1aa, outHI: 0x0
+sdr :: offset: 0x6b0, out: 0xa2b84a635111020, outHI: 0x0
+sdr :: offset: 0x6b1, out: 0xa2b84a635111020, outHI: 0x0
+sdr :: offset: 0x6b2, out: 0xa2b84a635111020, outHI: 0x0
+sdr :: offset: 0x6b3, out: 0xa2b84a635111020, outHI: 0x0
+sdr :: offset: 0x6b4, out: 0xa2b84a635111020, outHI: 0x0
+sdr :: offset: 0x6b5, out: 0xa2b84a635111020, outHI: 0x0
+sdr :: offset: 0x6b6, out: 0xa2b84a635111020, outHI: 0x0
+sdr :: offset: 0x6b7, out: 0xa2b84a635111020, outHI: 0x0
+sdr :: offset: 0x6b8, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdr :: offset: 0x6b9, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdr :: offset: 0x6ba, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdr :: offset: 0x6bb, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdr :: offset: 0x6bc, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdr :: offset: 0x6bd, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdr :: offset: 0x6be, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdr :: offset: 0x6bf, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sdr :: offset: 0x6c0, out: 0xa3d991b79941dedd, outHI: 0x0
+sdr :: offset: 0x6c1, out: 0xa3d991b79941dedd, outHI: 0x0
+sdr :: offset: 0x6c2, out: 0xa3d991b79941dedd, outHI: 0x0
+sdr :: offset: 0x6c3, out: 0xa3d991b79941dedd, outHI: 0x0
+sdr :: offset: 0x6c4, out: 0xa3d991b79941dedd, outHI: 0x0
+sdr :: offset: 0x6c5, out: 0xa3d991b79941dedd, outHI: 0x0
+sdr :: offset: 0x6c6, out: 0xa3d991b79941dedd, outHI: 0x0
+sdr :: offset: 0x6c7, out: 0xa3d991b79941dedd, outHI: 0x0
+sdr :: offset: 0x6c8, out: 0x751cb4835a0d9508, outHI: 0x0
+sdr :: offset: 0x6c9, out: 0x751cb4835a0d9508, outHI: 0x0
+sdr :: offset: 0x6ca, out: 0x751cb4835a0d9508, outHI: 0x0
+sdr :: offset: 0x6cb, out: 0x751cb4835a0d9508, outHI: 0x0
+sdr :: offset: 0x6cc, out: 0x751cb4835a0d9508, outHI: 0x0
+sdr :: offset: 0x6cd, out: 0x751cb4835a0d9508, outHI: 0x0
+sdr :: offset: 0x6ce, out: 0x751cb4835a0d9508, outHI: 0x0
+sdr :: offset: 0x6cf, out: 0x751cb4835a0d9508, outHI: 0x0
+sdr :: offset: 0x6d0, out: 0x949cad35625bb2d3, outHI: 0x0
+sdr :: offset: 0x6d1, out: 0x949cad35625bb2d3, outHI: 0x0
+sdr :: offset: 0x6d2, out: 0x949cad35625bb2d3, outHI: 0x0
+sdr :: offset: 0x6d3, out: 0x949cad35625bb2d3, outHI: 0x0
+sdr :: offset: 0x6d4, out: 0x949cad35625bb2d3, outHI: 0x0
+sdr :: offset: 0x6d5, out: 0x949cad35625bb2d3, outHI: 0x0
+sdr :: offset: 0x6d6, out: 0x949cad35625bb2d3, outHI: 0x0
+sdr :: offset: 0x6d7, out: 0x949cad35625bb2d3, outHI: 0x0
+sdr :: offset: 0x6d8, out: 0x7f567f35a6929739, outHI: 0x0
+sdr :: offset: 0x6d9, out: 0x7f567f35a6929739, outHI: 0x0
+sdr :: offset: 0x6da, out: 0x7f567f35a6929739, outHI: 0x0
+sdr :: offset: 0x6db, out: 0x7f567f35a6929739, outHI: 0x0
+sdr :: offset: 0x6dc, out: 0x7f567f35a6929739, outHI: 0x0
+sdr :: offset: 0x6dd, out: 0x7f567f35a6929739, outHI: 0x0
+sdr :: offset: 0x6de, out: 0x7f567f35a6929739, outHI: 0x0
+sdr :: offset: 0x6df, out: 0x7f567f35a6929739, outHI: 0x0
+sdr :: offset: 0x6e0, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdr :: offset: 0x6e1, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdr :: offset: 0x6e2, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdr :: offset: 0x6e3, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdr :: offset: 0x6e4, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdr :: offset: 0x6e5, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdr :: offset: 0x6e6, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdr :: offset: 0x6e7, out: 0x185b88e0db8d7d27, outHI: 0x0
+sdr :: offset: 0x6e8, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdr :: offset: 0x6e9, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdr :: offset: 0x6ea, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdr :: offset: 0x6eb, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdr :: offset: 0x6ec, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdr :: offset: 0x6ed, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdr :: offset: 0x6ee, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdr :: offset: 0x6ef, out: 0x255a4cd22fd61b91, outHI: 0x0
+sdr :: offset: 0x6f0, out: 0x1048d589a4363f7b, outHI: 0x0
+sdr :: offset: 0x6f1, out: 0x1048d589a4363f7b, outHI: 0x0
+sdr :: offset: 0x6f2, out: 0x1048d589a4363f7b, outHI: 0x0
+sdr :: offset: 0x6f3, out: 0x1048d589a4363f7b, outHI: 0x0
+sdr :: offset: 0x6f4, out: 0x1048d589a4363f7b, outHI: 0x0
+sdr :: offset: 0x6f5, out: 0x1048d589a4363f7b, outHI: 0x0
+sdr :: offset: 0x6f6, out: 0x1048d589a4363f7b, outHI: 0x0
+sdr :: offset: 0x6f7, out: 0x1048d589a4363f7b, outHI: 0x0
+sdr :: offset: 0x6f8, out: 0x6a6d5708f4605790, outHI: 0x0
+sdr :: offset: 0x6f9, out: 0x6a6d5708f4605790, outHI: 0x0
+sdr :: offset: 0x6fa, out: 0x6a6d5708f4605790, outHI: 0x0
+sdr :: offset: 0x6fb, out: 0x6a6d5708f4605790, outHI: 0x0
+sdr :: offset: 0x6fc, out: 0x6a6d5708f4605790, outHI: 0x0
+sdr :: offset: 0x6fd, out: 0x6a6d5708f4605790, outHI: 0x0
+sdr :: offset: 0x6fe, out: 0x6a6d5708f4605790, outHI: 0x0
+sdr :: offset: 0x6ff, out: 0x6a6d5708f4605790, outHI: 0x0
+sdr :: offset: 0x700, out: 0xd58ecbabde35697f, outHI: 0x0
+sdr :: offset: 0x701, out: 0xd58ecbabde35697f, outHI: 0x0
+sdr :: offset: 0x702, out: 0xd58ecbabde35697f, outHI: 0x0
+sdr :: offset: 0x703, out: 0xd58ecbabde35697f, outHI: 0x0
+sdr :: offset: 0x704, out: 0xd58ecbabde35697f, outHI: 0x0
+sdr :: offset: 0x705, out: 0xd58ecbabde35697f, outHI: 0x0
+sdr :: offset: 0x706, out: 0xd58ecbabde35697f, outHI: 0x0
+sdr :: offset: 0x707, out: 0xd58ecbabde35697f, outHI: 0x0
+sdr :: offset: 0x708, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdr :: offset: 0x709, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdr :: offset: 0x70a, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdr :: offset: 0x70b, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdr :: offset: 0x70c, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdr :: offset: 0x70d, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdr :: offset: 0x70e, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdr :: offset: 0x70f, out: 0x575548fd08c0a5f1, outHI: 0x0
+sdr :: offset: 0x710, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdr :: offset: 0x711, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdr :: offset: 0x712, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdr :: offset: 0x713, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdr :: offset: 0x714, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdr :: offset: 0x715, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdr :: offset: 0x716, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdr :: offset: 0x717, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sdr :: offset: 0x718, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdr :: offset: 0x719, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdr :: offset: 0x71a, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdr :: offset: 0x71b, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdr :: offset: 0x71c, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdr :: offset: 0x71d, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdr :: offset: 0x71e, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdr :: offset: 0x71f, out: 0xbe00d51eabc578cc, outHI: 0x0
+sdr :: offset: 0x720, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdr :: offset: 0x721, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdr :: offset: 0x722, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdr :: offset: 0x723, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdr :: offset: 0x724, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdr :: offset: 0x725, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdr :: offset: 0x726, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdr :: offset: 0x727, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sdr :: offset: 0x728, out: 0xa978f12ca22256a7, outHI: 0x0
+sdr :: offset: 0x729, out: 0xa978f12ca22256a7, outHI: 0x0
+sdr :: offset: 0x72a, out: 0xa978f12ca22256a7, outHI: 0x0
+sdr :: offset: 0x72b, out: 0xa978f12ca22256a7, outHI: 0x0
+sdr :: offset: 0x72c, out: 0xa978f12ca22256a7, outHI: 0x0
+sdr :: offset: 0x72d, out: 0xa978f12ca22256a7, outHI: 0x0
+sdr :: offset: 0x72e, out: 0xa978f12ca22256a7, outHI: 0x0
+sdr :: offset: 0x72f, out: 0xa978f12ca22256a7, outHI: 0x0
+sdr :: offset: 0x730, out: 0x9950a93b811ee02f, outHI: 0x0
+sdr :: offset: 0x731, out: 0x9950a93b811ee02f, outHI: 0x0
+sdr :: offset: 0x732, out: 0x9950a93b811ee02f, outHI: 0x0
+sdr :: offset: 0x733, out: 0x9950a93b811ee02f, outHI: 0x0
+sdr :: offset: 0x734, out: 0x9950a93b811ee02f, outHI: 0x0
+sdr :: offset: 0x735, out: 0x9950a93b811ee02f, outHI: 0x0
+sdr :: offset: 0x736, out: 0x9950a93b811ee02f, outHI: 0x0
+sdr :: offset: 0x737, out: 0x9950a93b811ee02f, outHI: 0x0
+sdr :: offset: 0x738, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdr :: offset: 0x739, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdr :: offset: 0x73a, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdr :: offset: 0x73b, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdr :: offset: 0x73c, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdr :: offset: 0x73d, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdr :: offset: 0x73e, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdr :: offset: 0x73f, out: 0xb44eea93c6796a0c, outHI: 0x0
+sdr :: offset: 0x740, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdr :: offset: 0x741, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdr :: offset: 0x742, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdr :: offset: 0x743, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdr :: offset: 0x744, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdr :: offset: 0x745, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdr :: offset: 0x746, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdr :: offset: 0x747, out: 0xfe71fca06c0eb657, outHI: 0x0
+sdr :: offset: 0x748, out: 0x4ed6393df818af57, outHI: 0x0
+sdr :: offset: 0x749, out: 0x4ed6393df818af57, outHI: 0x0
+sdr :: offset: 0x74a, out: 0x4ed6393df818af57, outHI: 0x0
+sdr :: offset: 0x74b, out: 0x4ed6393df818af57, outHI: 0x0
+sdr :: offset: 0x74c, out: 0x4ed6393df818af57, outHI: 0x0
+sdr :: offset: 0x74d, out: 0x4ed6393df818af57, outHI: 0x0
+sdr :: offset: 0x74e, out: 0x4ed6393df818af57, outHI: 0x0
+sdr :: offset: 0x74f, out: 0x4ed6393df818af57, outHI: 0x0
+sdr :: offset: 0x750, out: 0xf22e90200236770a, outHI: 0x0
+sdr :: offset: 0x751, out: 0xf22e90200236770a, outHI: 0x0
+sdr :: offset: 0x752, out: 0xf22e90200236770a, outHI: 0x0
+sdr :: offset: 0x753, out: 0xf22e90200236770a, outHI: 0x0
+sdr :: offset: 0x754, out: 0xf22e90200236770a, outHI: 0x0
+sdr :: offset: 0x755, out: 0xf22e90200236770a, outHI: 0x0
+sdr :: offset: 0x756, out: 0xf22e90200236770a, outHI: 0x0
+sdr :: offset: 0x757, out: 0xf22e90200236770a, outHI: 0x0
+sdr :: offset: 0x758, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdr :: offset: 0x759, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdr :: offset: 0x75a, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdr :: offset: 0x75b, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdr :: offset: 0x75c, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdr :: offset: 0x75d, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdr :: offset: 0x75e, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdr :: offset: 0x75f, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sdr :: offset: 0x760, out: 0xeed8f3518102315b, outHI: 0x0
+sdr :: offset: 0x761, out: 0xeed8f3518102315b, outHI: 0x0
+sdr :: offset: 0x762, out: 0xeed8f3518102315b, outHI: 0x0
+sdr :: offset: 0x763, out: 0xeed8f3518102315b, outHI: 0x0
+sdr :: offset: 0x764, out: 0xeed8f3518102315b, outHI: 0x0
+sdr :: offset: 0x765, out: 0xeed8f3518102315b, outHI: 0x0
+sdr :: offset: 0x766, out: 0xeed8f3518102315b, outHI: 0x0
+sdr :: offset: 0x767, out: 0xeed8f3518102315b, outHI: 0x0
+sdr :: offset: 0x768, out: 0xadafefb9995efd5e, outHI: 0x0
+sdr :: offset: 0x769, out: 0xadafefb9995efd5e, outHI: 0x0
+sdr :: offset: 0x76a, out: 0xadafefb9995efd5e, outHI: 0x0
+sdr :: offset: 0x76b, out: 0xadafefb9995efd5e, outHI: 0x0
+sdr :: offset: 0x76c, out: 0xadafefb9995efd5e, outHI: 0x0
+sdr :: offset: 0x76d, out: 0xadafefb9995efd5e, outHI: 0x0
+sdr :: offset: 0x76e, out: 0xadafefb9995efd5e, outHI: 0x0
+sdr :: offset: 0x76f, out: 0xadafefb9995efd5e, outHI: 0x0
+sdr :: offset: 0x770, out: 0x34061933eb253086, outHI: 0x0
+sdr :: offset: 0x771, out: 0x34061933eb253086, outHI: 0x0
+sdr :: offset: 0x772, out: 0x34061933eb253086, outHI: 0x0
+sdr :: offset: 0x773, out: 0x34061933eb253086, outHI: 0x0
+sdr :: offset: 0x774, out: 0x34061933eb253086, outHI: 0x0
+sdr :: offset: 0x775, out: 0x34061933eb253086, outHI: 0x0
+sdr :: offset: 0x776, out: 0x34061933eb253086, outHI: 0x0
+sdr :: offset: 0x777, out: 0x34061933eb253086, outHI: 0x0
+sdr :: offset: 0x778, out: 0x1748da264b4c52bc, outHI: 0x0
+sdr :: offset: 0x779, out: 0x1748da264b4c52bc, outHI: 0x0
+sdr :: offset: 0x77a, out: 0x1748da264b4c52bc, outHI: 0x0
+sdr :: offset: 0x77b, out: 0x1748da264b4c52bc, outHI: 0x0
+sdr :: offset: 0x77c, out: 0x1748da264b4c52bc, outHI: 0x0
+sdr :: offset: 0x77d, out: 0x1748da264b4c52bc, outHI: 0x0
+sdr :: offset: 0x77e, out: 0x1748da264b4c52bc, outHI: 0x0
+sdr :: offset: 0x77f, out: 0x1748da264b4c52bc, outHI: 0x0
+sdr :: offset: 0x780, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdr :: offset: 0x781, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdr :: offset: 0x782, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdr :: offset: 0x783, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdr :: offset: 0x784, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdr :: offset: 0x785, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdr :: offset: 0x786, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdr :: offset: 0x787, out: 0x34fdfc9a9302be89, outHI: 0x0
+sdr :: offset: 0x788, out: 0xd00278c3c521d180, outHI: 0x0
+sdr :: offset: 0x789, out: 0xd00278c3c521d180, outHI: 0x0
+sdr :: offset: 0x78a, out: 0xd00278c3c521d180, outHI: 0x0
+sdr :: offset: 0x78b, out: 0xd00278c3c521d180, outHI: 0x0
+sdr :: offset: 0x78c, out: 0xd00278c3c521d180, outHI: 0x0
+sdr :: offset: 0x78d, out: 0xd00278c3c521d180, outHI: 0x0
+sdr :: offset: 0x78e, out: 0xd00278c3c521d180, outHI: 0x0
+sdr :: offset: 0x78f, out: 0xd00278c3c521d180, outHI: 0x0
+sdr :: offset: 0x790, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdr :: offset: 0x791, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdr :: offset: 0x792, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdr :: offset: 0x793, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdr :: offset: 0x794, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdr :: offset: 0x795, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdr :: offset: 0x796, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdr :: offset: 0x797, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sdr :: offset: 0x798, out: 0x65fd698fddef9839, outHI: 0x0
+sdr :: offset: 0x799, out: 0x65fd698fddef9839, outHI: 0x0
+sdr :: offset: 0x79a, out: 0x65fd698fddef9839, outHI: 0x0
+sdr :: offset: 0x79b, out: 0x65fd698fddef9839, outHI: 0x0
+sdr :: offset: 0x79c, out: 0x65fd698fddef9839, outHI: 0x0
+sdr :: offset: 0x79d, out: 0x65fd698fddef9839, outHI: 0x0
+sdr :: offset: 0x79e, out: 0x65fd698fddef9839, outHI: 0x0
+sdr :: offset: 0x79f, out: 0x65fd698fddef9839, outHI: 0x0
+sdr :: offset: 0x7a0, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdr :: offset: 0x7a1, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdr :: offset: 0x7a2, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdr :: offset: 0x7a3, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdr :: offset: 0x7a4, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdr :: offset: 0x7a5, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdr :: offset: 0x7a6, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdr :: offset: 0x7a7, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sdr :: offset: 0x7a8, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdr :: offset: 0x7a9, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdr :: offset: 0x7aa, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdr :: offset: 0x7ab, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdr :: offset: 0x7ac, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdr :: offset: 0x7ad, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdr :: offset: 0x7ae, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdr :: offset: 0x7af, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sdr :: offset: 0x7b0, out: 0x372c209e42f3b58d, outHI: 0x0
+sdr :: offset: 0x7b1, out: 0x372c209e42f3b58d, outHI: 0x0
+sdr :: offset: 0x7b2, out: 0x372c209e42f3b58d, outHI: 0x0
+sdr :: offset: 0x7b3, out: 0x372c209e42f3b58d, outHI: 0x0
+sdr :: offset: 0x7b4, out: 0x372c209e42f3b58d, outHI: 0x0
+sdr :: offset: 0x7b5, out: 0x372c209e42f3b58d, outHI: 0x0
+sdr :: offset: 0x7b6, out: 0x372c209e42f3b58d, outHI: 0x0
+sdr :: offset: 0x7b7, out: 0x372c209e42f3b58d, outHI: 0x0
+sdr :: offset: 0x7b8, out: 0x30f870b7e122a83b, outHI: 0x0
+sdr :: offset: 0x7b9, out: 0x30f870b7e122a83b, outHI: 0x0
+sdr :: offset: 0x7ba, out: 0x30f870b7e122a83b, outHI: 0x0
+sdr :: offset: 0x7bb, out: 0x30f870b7e122a83b, outHI: 0x0
+sdr :: offset: 0x7bc, out: 0x30f870b7e122a83b, outHI: 0x0
+sdr :: offset: 0x7bd, out: 0x30f870b7e122a83b, outHI: 0x0
+sdr :: offset: 0x7be, out: 0x30f870b7e122a83b, outHI: 0x0
+sdr :: offset: 0x7bf, out: 0x30f870b7e122a83b, outHI: 0x0
+sdr :: offset: 0x7c0, out: 0x9e02de4b678930ec, outHI: 0x0
+sdr :: offset: 0x7c1, out: 0x9e02de4b678930ec, outHI: 0x0
+sdr :: offset: 0x7c2, out: 0x9e02de4b678930ec, outHI: 0x0
+sdr :: offset: 0x7c3, out: 0x9e02de4b678930ec, outHI: 0x0
+sdr :: offset: 0x7c4, out: 0x9e02de4b678930ec, outHI: 0x0
+sdr :: offset: 0x7c5, out: 0x9e02de4b678930ec, outHI: 0x0
+sdr :: offset: 0x7c6, out: 0x9e02de4b678930ec, outHI: 0x0
+sdr :: offset: 0x7c7, out: 0x9e02de4b678930ec, outHI: 0x0
+sdr :: offset: 0x7c8, out: 0xcd61a8639826631e, outHI: 0x0
+sdr :: offset: 0x7c9, out: 0xcd61a8639826631e, outHI: 0x0
+sdr :: offset: 0x7ca, out: 0xcd61a8639826631e, outHI: 0x0
+sdr :: offset: 0x7cb, out: 0xcd61a8639826631e, outHI: 0x0
+sdr :: offset: 0x7cc, out: 0xcd61a8639826631e, outHI: 0x0
+sdr :: offset: 0x7cd, out: 0xcd61a8639826631e, outHI: 0x0
+sdr :: offset: 0x7ce, out: 0xcd61a8639826631e, outHI: 0x0
+sdr :: offset: 0x7cf, out: 0xcd61a8639826631e, outHI: 0x0
+sdr :: offset: 0x7d0, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdr :: offset: 0x7d1, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdr :: offset: 0x7d2, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdr :: offset: 0x7d3, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdr :: offset: 0x7d4, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdr :: offset: 0x7d5, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdr :: offset: 0x7d6, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdr :: offset: 0x7d7, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sdr :: offset: 0x7d8, out: 0x58ec644d6481af17, outHI: 0x0
+sdr :: offset: 0x7d9, out: 0x58ec644d6481af17, outHI: 0x0
+sdr :: offset: 0x7da, out: 0x58ec644d6481af17, outHI: 0x0
+sdr :: offset: 0x7db, out: 0x58ec644d6481af17, outHI: 0x0
+sdr :: offset: 0x7dc, out: 0x58ec644d6481af17, outHI: 0x0
+sdr :: offset: 0x7dd, out: 0x58ec644d6481af17, outHI: 0x0
+sdr :: offset: 0x7de, out: 0x58ec644d6481af17, outHI: 0x0
+sdr :: offset: 0x7df, out: 0x58ec644d6481af17, outHI: 0x0
+sdr :: offset: 0x7e0, out: 0x680cce5fb236b666, outHI: 0x0
+sdr :: offset: 0x7e1, out: 0x680cce5fb236b666, outHI: 0x0
+sdr :: offset: 0x7e2, out: 0x680cce5fb236b666, outHI: 0x0
+sdr :: offset: 0x7e3, out: 0x680cce5fb236b666, outHI: 0x0
+sdr :: offset: 0x7e4, out: 0x680cce5fb236b666, outHI: 0x0
+sdr :: offset: 0x7e5, out: 0x680cce5fb236b666, outHI: 0x0
+sdr :: offset: 0x7e6, out: 0x680cce5fb236b666, outHI: 0x0
+sdr :: offset: 0x7e7, out: 0x680cce5fb236b666, outHI: 0x0
+sdr :: offset: 0x7e8, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdr :: offset: 0x7e9, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdr :: offset: 0x7ea, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdr :: offset: 0x7eb, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdr :: offset: 0x7ec, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdr :: offset: 0x7ed, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdr :: offset: 0x7ee, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdr :: offset: 0x7ef, out: 0x3baa99471f6d4d75, outHI: 0x0
+sdr :: offset: 0x7f0, out: 0x614d9b445f12236b, outHI: 0x0
+sdr :: offset: 0x7f1, out: 0x614d9b445f12236b, outHI: 0x0
+sdr :: offset: 0x7f2, out: 0x614d9b445f12236b, outHI: 0x0
+sdr :: offset: 0x7f3, out: 0x614d9b445f12236b, outHI: 0x0
+sdr :: offset: 0x7f4, out: 0x614d9b445f12236b, outHI: 0x0
+sdr :: offset: 0x7f5, out: 0x614d9b445f12236b, outHI: 0x0
+sdr :: offset: 0x7f6, out: 0x614d9b445f12236b, outHI: 0x0
+sdr :: offset: 0x7f7, out: 0x614d9b445f12236b, outHI: 0x0
+sh :: offset: 0x0, out: 0xd6aa, outHI: 0x0
+sh :: offset: 0x2, out: 0x12bd6aa, outHI: 0x0
+sh :: offset: 0x4, out: 0x12bd6aa, outHI: 0x0
+sh :: offset: 0x6, out: 0x12bd6aa, outHI: 0x0
+sh :: offset: 0x8, out: 0xab13, outHI: 0x0
+sh :: offset: 0xa, out: 0x82d2ab13, outHI: 0x0
+sh :: offset: 0xc, out: 0x876382d2ab13, outHI: 0x0
+sh :: offset: 0xe, out: 0x7e876382d2ab13, outHI: 0x0
+sh :: offset: 0x10, out: 0x10f3, outHI: 0x0
+sh :: offset: 0x12, out: 0xc31510f3, outHI: 0x0
+sh :: offset: 0x14, out: 0x6e9ac31510f3, outHI: 0x0
+sh :: offset: 0x16, out: 0x976d6e9ac31510f3, outHI: 0x0
+sh :: offset: 0x18, out: 0xa5fb, outHI: 0x0
+sh :: offset: 0x1a, out: 0x5ad6a5fb, outHI: 0x0
+sh :: offset: 0x1c, out: 0x6d775ad6a5fb, outHI: 0x0
+sh :: offset: 0x1e, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sh :: offset: 0x20, out: 0xb502, outHI: 0x0
+sh :: offset: 0x22, out: 0x8677b502, outHI: 0x0
+sh :: offset: 0x24, out: 0xc0a28677b502, outHI: 0x0
+sh :: offset: 0x26, out: 0x42b0c0a28677b502, outHI: 0x0
+sh :: offset: 0x28, out: 0x30ad, outHI: 0x0
+sh :: offset: 0x2a, out: 0x9e3c30ad, outHI: 0x0
+sh :: offset: 0x2c, out: 0x9d319e3c30ad, outHI: 0x0
+sh :: offset: 0x2e, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sh :: offset: 0x30, out: 0x413d, outHI: 0x0
+sh :: offset: 0x32, out: 0x77fb413d, outHI: 0x0
+sh :: offset: 0x34, out: 0x8ec377fb413d, outHI: 0x0
+sh :: offset: 0x36, out: 0x1f308ec377fb413d, outHI: 0x0
+sh :: offset: 0x38, out: 0xe4f7, outHI: 0x0
+sh :: offset: 0x3a, out: 0xc760e4f7, outHI: 0x0
+sh :: offset: 0x3c, out: 0x4213c760e4f7, outHI: 0x0
+sh :: offset: 0x3e, out: 0x7aa04213c760e4f7, outHI: 0x0
+sh :: offset: 0x40, out: 0xdca0, outHI: 0x0
+sh :: offset: 0x42, out: 0x1ad8dca0, outHI: 0x0
+sh :: offset: 0x44, out: 0x5cc51ad8dca0, outHI: 0x0
+sh :: offset: 0x46, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sh :: offset: 0x48, out: 0xa60d, outHI: 0x0
+sh :: offset: 0x4a, out: 0x9615a60d, outHI: 0x0
+sh :: offset: 0x4c, out: 0xda869615a60d, outHI: 0x0
+sh :: offset: 0x4e, out: 0x4b3dda869615a60d, outHI: 0x0
+sh :: offset: 0x50, out: 0xd41d, outHI: 0x0
+sh :: offset: 0x52, out: 0x6353d41d, outHI: 0x0
+sh :: offset: 0x54, out: 0xa4dd6353d41d, outHI: 0x0
+sh :: offset: 0x56, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sh :: offset: 0x58, out: 0xd413, outHI: 0x0
+sh :: offset: 0x5a, out: 0xc40bd413, outHI: 0x0
+sh :: offset: 0x5c, out: 0x5a9dc40bd413, outHI: 0x0
+sh :: offset: 0x5e, out: 0x3af35a9dc40bd413, outHI: 0x0
+sh :: offset: 0x60, out: 0xa180, outHI: 0x0
+sh :: offset: 0x62, out: 0x9a08a180, outHI: 0x0
+sh :: offset: 0x64, out: 0x5569a08a180, outHI: 0x0
+sh :: offset: 0x66, out: 0x47f505569a08a180, outHI: 0x0
+sh :: offset: 0x68, out: 0x40f, outHI: 0x0
+sh :: offset: 0x6a, out: 0xd6d2040f, outHI: 0x0
+sh :: offset: 0x6c, out: 0xb77fd6d2040f, outHI: 0x0
+sh :: offset: 0x6e, out: 0x9564b77fd6d2040f, outHI: 0x0
+sh :: offset: 0x70, out: 0x6bbe, outHI: 0x0
+sh :: offset: 0x72, out: 0xb2c76bbe, outHI: 0x0
+sh :: offset: 0x74, out: 0x8279b2c76bbe, outHI: 0x0
+sh :: offset: 0x76, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sh :: offset: 0x78, out: 0xe4c7, outHI: 0x0
+sh :: offset: 0x7a, out: 0x1f18e4c7, outHI: 0x0
+sh :: offset: 0x7c, out: 0x4c2f1f18e4c7, outHI: 0x0
+sh :: offset: 0x7e, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sh :: offset: 0x80, out: 0xa797, outHI: 0x0
+sh :: offset: 0x82, out: 0x81afa797, outHI: 0x0
+sh :: offset: 0x84, out: 0x52fc81afa797, outHI: 0x0
+sh :: offset: 0x86, out: 0x94ff52fc81afa797, outHI: 0x0
+sh :: offset: 0x88, out: 0x50ea, outHI: 0x0
+sh :: offset: 0x8a, out: 0x6dfc50ea, outHI: 0x0
+sh :: offset: 0x8c, out: 0xd9166dfc50ea, outHI: 0x0
+sh :: offset: 0x8e, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sh :: offset: 0x90, out: 0x95b1, outHI: 0x0
+sh :: offset: 0x92, out: 0x78e895b1, outHI: 0x0
+sh :: offset: 0x94, out: 0x9bd678e895b1, outHI: 0x0
+sh :: offset: 0x96, out: 0x36549bd678e895b1, outHI: 0x0
+sh :: offset: 0x98, out: 0x259b, outHI: 0x0
+sh :: offset: 0x9a, out: 0x9b63259b, outHI: 0x0
+sh :: offset: 0x9c, out: 0xa6319b63259b, outHI: 0x0
+sh :: offset: 0x9e, out: 0x85e0a6319b63259b, outHI: 0x0
+sh :: offset: 0xa0, out: 0x7ac5, outHI: 0x0
+sh :: offset: 0xa2, out: 0xccf17ac5, outHI: 0x0
+sh :: offset: 0xa4, out: 0x3ecaccf17ac5, outHI: 0x0
+sh :: offset: 0xa6, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sh :: offset: 0xa8, out: 0xa0fb, outHI: 0x0
+sh :: offset: 0xaa, out: 0x81eea0fb, outHI: 0x0
+sh :: offset: 0xac, out: 0x5fc581eea0fb, outHI: 0x0
+sh :: offset: 0xae, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sh :: offset: 0xb0, out: 0x2d97, outHI: 0x0
+sh :: offset: 0xb2, out: 0x14682d97, outHI: 0x0
+sh :: offset: 0xb4, out: 0xfec14682d97, outHI: 0x0
+sh :: offset: 0xb6, out: 0x25b50fec14682d97, outHI: 0x0
+sh :: offset: 0xb8, out: 0x87a, outHI: 0x0
+sh :: offset: 0xba, out: 0x2cfb087a, outHI: 0x0
+sh :: offset: 0xbc, out: 0xc5132cfb087a, outHI: 0x0
+sh :: offset: 0xbe, out: 0xfc93c5132cfb087a, outHI: 0x0
+sh :: offset: 0xc0, out: 0x766, outHI: 0x0
+sh :: offset: 0xc2, out: 0xcda20766, outHI: 0x0
+sh :: offset: 0xc4, out: 0xd9a9cda20766, outHI: 0x0
+sh :: offset: 0xc6, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sh :: offset: 0xc8, out: 0xda3e, outHI: 0x0
+sh :: offset: 0xca, out: 0x7d72da3e, outHI: 0x0
+sh :: offset: 0xcc, out: 0x722a7d72da3e, outHI: 0x0
+sh :: offset: 0xce, out: 0x1791722a7d72da3e, outHI: 0x0
+sh :: offset: 0xd0, out: 0x24ad, outHI: 0x0
+sh :: offset: 0xd2, out: 0x93ce24ad, outHI: 0x0
+sh :: offset: 0xd4, out: 0xc9d193ce24ad, outHI: 0x0
+sh :: offset: 0xd6, out: 0x87cc9d193ce24ad, outHI: 0x0
+sh :: offset: 0xd8, out: 0x4ed2, outHI: 0x0
+sh :: offset: 0xda, out: 0x38984ed2, outHI: 0x0
+sh :: offset: 0xdc, out: 0x757038984ed2, outHI: 0x0
+sh :: offset: 0xde, out: 0x1d2a757038984ed2, outHI: 0x0
+sh :: offset: 0xe0, out: 0xd036, outHI: 0x0
+sh :: offset: 0xe2, out: 0x710cd036, outHI: 0x0
+sh :: offset: 0xe4, out: 0x70db710cd036, outHI: 0x0
+sh :: offset: 0xe6, out: 0xd0d070db710cd036, outHI: 0x0
+sh :: offset: 0xe8, out: 0x5604, outHI: 0x0
+sh :: offset: 0xea, out: 0x3415604, outHI: 0x0
+sh :: offset: 0xec, out: 0x1c7d03415604, outHI: 0x0
+sh :: offset: 0xee, out: 0x39c21c7d03415604, outHI: 0x0
+sh :: offset: 0xf0, out: 0x31ce, outHI: 0x0
+sh :: offset: 0xf2, out: 0x8ecc31ce, outHI: 0x0
+sh :: offset: 0xf4, out: 0xb7af8ecc31ce, outHI: 0x0
+sh :: offset: 0xf6, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sh :: offset: 0xf8, out: 0x674f, outHI: 0x0
+sh :: offset: 0xfa, out: 0x1ce7674f, outHI: 0x0
+sh :: offset: 0xfc, out: 0x6a8d1ce7674f, outHI: 0x0
+sh :: offset: 0xfe, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sh :: offset: 0x100, out: 0xe4a7, outHI: 0x0
+sh :: offset: 0x102, out: 0x12d6e4a7, outHI: 0x0
+sh :: offset: 0x104, out: 0x454412d6e4a7, outHI: 0x0
+sh :: offset: 0x106, out: 0x2f39454412d6e4a7, outHI: 0x0
+sh :: offset: 0x108, out: 0x4c54, outHI: 0x0
+sh :: offset: 0x10a, out: 0x56da4c54, outHI: 0x0
+sh :: offset: 0x10c, out: 0xc2b756da4c54, outHI: 0x0
+sh :: offset: 0x10e, out: 0x2608c2b756da4c54, outHI: 0x0
+sh :: offset: 0x110, out: 0x252f, outHI: 0x0
+sh :: offset: 0x112, out: 0xc8d7252f, outHI: 0x0
+sh :: offset: 0x114, out: 0x2dac8d7252f, outHI: 0x0
+sh :: offset: 0x116, out: 0x900102dac8d7252f, outHI: 0x0
+sh :: offset: 0x118, out: 0xa4f7, outHI: 0x0
+sh :: offset: 0x11a, out: 0xf2efa4f7, outHI: 0x0
+sh :: offset: 0x11c, out: 0xd5f1f2efa4f7, outHI: 0x0
+sh :: offset: 0x11e, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sh :: offset: 0x120, out: 0xa214, outHI: 0x0
+sh :: offset: 0x122, out: 0xc8b0a214, outHI: 0x0
+sh :: offset: 0x124, out: 0x5cbc8b0a214, outHI: 0x0
+sh :: offset: 0x126, out: 0xed5005cbc8b0a214, outHI: 0x0
+sh :: offset: 0x128, out: 0x136c, outHI: 0x0
+sh :: offset: 0x12a, out: 0x5991136c, outHI: 0x0
+sh :: offset: 0x12c, out: 0x91895991136c, outHI: 0x0
+sh :: offset: 0x12e, out: 0x314791895991136c, outHI: 0x0
+sh :: offset: 0x130, out: 0xb6f3, outHI: 0x0
+sh :: offset: 0x132, out: 0x9a2fb6f3, outHI: 0x0
+sh :: offset: 0x134, out: 0xcff99a2fb6f3, outHI: 0x0
+sh :: offset: 0x136, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sh :: offset: 0x138, out: 0x5270, outHI: 0x0
+sh :: offset: 0x13a, out: 0x38895270, outHI: 0x0
+sh :: offset: 0x13c, out: 0x521238895270, outHI: 0x0
+sh :: offset: 0x13e, out: 0xa809521238895270, outHI: 0x0
+sh :: offset: 0x140, out: 0x5040, outHI: 0x0
+sh :: offset: 0x142, out: 0xad765040, outHI: 0x0
+sh :: offset: 0x144, out: 0xa04ad765040, outHI: 0x0
+sh :: offset: 0x146, out: 0x87750a04ad765040, outHI: 0x0
+sh :: offset: 0x148, out: 0x5a83, outHI: 0x0
+sh :: offset: 0x14a, out: 0x84bb5a83, outHI: 0x0
+sh :: offset: 0x14c, out: 0xe85e84bb5a83, outHI: 0x0
+sh :: offset: 0x14e, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sh :: offset: 0x150, out: 0xaa67, outHI: 0x0
+sh :: offset: 0x152, out: 0xc506aa67, outHI: 0x0
+sh :: offset: 0x154, out: 0xff8fc506aa67, outHI: 0x0
+sh :: offset: 0x156, out: 0xae6aff8fc506aa67, outHI: 0x0
+sh :: offset: 0x158, out: 0x5ee3, outHI: 0x0
+sh :: offset: 0x15a, out: 0x60ed5ee3, outHI: 0x0
+sh :: offset: 0x15c, out: 0x12dd60ed5ee3, outHI: 0x0
+sh :: offset: 0x15e, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sh :: offset: 0x160, out: 0xca5a, outHI: 0x0
+sh :: offset: 0x162, out: 0x30dcca5a, outHI: 0x0
+sh :: offset: 0x164, out: 0x70f630dcca5a, outHI: 0x0
+sh :: offset: 0x166, out: 0xc4c770f630dcca5a, outHI: 0x0
+sh :: offset: 0x168, out: 0x5277, outHI: 0x0
+sh :: offset: 0x16a, out: 0x83cd5277, outHI: 0x0
+sh :: offset: 0x16c, out: 0x2b2383cd5277, outHI: 0x0
+sh :: offset: 0x16e, out: 0xdfec2b2383cd5277, outHI: 0x0
+sh :: offset: 0x170, out: 0xd96b, outHI: 0x0
+sh :: offset: 0x172, out: 0xff7d96b, outHI: 0x0
+sh :: offset: 0x174, out: 0xba260ff7d96b, outHI: 0x0
+sh :: offset: 0x176, out: 0xd3adba260ff7d96b, outHI: 0x0
+sh :: offset: 0x178, out: 0xc00e, outHI: 0x0
+sh :: offset: 0x17a, out: 0x8418c00e, outHI: 0x0
+sh :: offset: 0x17c, out: 0xaa798418c00e, outHI: 0x0
+sh :: offset: 0x17e, out: 0x4ab4aa798418c00e, outHI: 0x0
+sh :: offset: 0x180, out: 0xf0b8, outHI: 0x0
+sh :: offset: 0x182, out: 0xde0f0b8, outHI: 0x0
+sh :: offset: 0x184, out: 0x35e0de0f0b8, outHI: 0x0
+sh :: offset: 0x186, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sh :: offset: 0x188, out: 0xdcf1, outHI: 0x0
+sh :: offset: 0x18a, out: 0xa97fdcf1, outHI: 0x0
+sh :: offset: 0x18c, out: 0x6f54a97fdcf1, outHI: 0x0
+sh :: offset: 0x18e, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sh :: offset: 0x190, out: 0xc081, outHI: 0x0
+sh :: offset: 0x192, out: 0x3fd1c081, outHI: 0x0
+sh :: offset: 0x194, out: 0x3f373fd1c081, outHI: 0x0
+sh :: offset: 0x196, out: 0x77433f373fd1c081, outHI: 0x0
+sh :: offset: 0x198, out: 0x95e4, outHI: 0x0
+sh :: offset: 0x19a, out: 0xc92195e4, outHI: 0x0
+sh :: offset: 0x19c, out: 0xd993c92195e4, outHI: 0x0
+sh :: offset: 0x19e, out: 0xec91d993c92195e4, outHI: 0x0
+sh :: offset: 0x1a0, out: 0xa5ab, outHI: 0x0
+sh :: offset: 0x1a2, out: 0x95b1a5ab, outHI: 0x0
+sh :: offset: 0x1a4, out: 0xf6a795b1a5ab, outHI: 0x0
+sh :: offset: 0x1a6, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sh :: offset: 0x1a8, out: 0x8d1e, outHI: 0x0
+sh :: offset: 0x1aa, out: 0xc7ce8d1e, outHI: 0x0
+sh :: offset: 0x1ac, out: 0x4378c7ce8d1e, outHI: 0x0
+sh :: offset: 0x1ae, out: 0x19364378c7ce8d1e, outHI: 0x0
+sh :: offset: 0x1b0, out: 0x4907, outHI: 0x0
+sh :: offset: 0x1b2, out: 0x2f384907, outHI: 0x0
+sh :: offset: 0x1b4, out: 0x8def2f384907, outHI: 0x0
+sh :: offset: 0x1b6, out: 0xb99e8def2f384907, outHI: 0x0
+sh :: offset: 0x1b8, out: 0x12fe, outHI: 0x0
+sh :: offset: 0x1ba, out: 0x582b12fe, outHI: 0x0
+sh :: offset: 0x1bc, out: 0xcdcd582b12fe, outHI: 0x0
+sh :: offset: 0x1be, out: 0x47eacdcd582b12fe, outHI: 0x0
+sh :: offset: 0x1c0, out: 0x8c4f, outHI: 0x0
+sh :: offset: 0x1c2, out: 0x76558c4f, outHI: 0x0
+sh :: offset: 0x1c4, out: 0x884e76558c4f, outHI: 0x0
+sh :: offset: 0x1c6, out: 0xd685884e76558c4f, outHI: 0x0
+sh :: offset: 0x1c8, out: 0x95c7, outHI: 0x0
+sh :: offset: 0x1ca, out: 0x34c195c7, outHI: 0x0
+sh :: offset: 0x1cc, out: 0xd62a34c195c7, outHI: 0x0
+sh :: offset: 0x1ce, out: 0x6168d62a34c195c7, outHI: 0x0
+sh :: offset: 0x1d0, out: 0x7405, outHI: 0x0
+sh :: offset: 0x1d2, out: 0x4df47405, outHI: 0x0
+sh :: offset: 0x1d4, out: 0x69894df47405, outHI: 0x0
+sh :: offset: 0x1d6, out: 0xd30169894df47405, outHI: 0x0
+sh :: offset: 0x1d8, out: 0x6db, outHI: 0x0
+sh :: offset: 0x1da, out: 0x6cbb06db, outHI: 0x0
+sh :: offset: 0x1dc, out: 0x90bf6cbb06db, outHI: 0x0
+sh :: offset: 0x1de, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sh :: offset: 0x1e0, out: 0x393a, outHI: 0x0
+sh :: offset: 0x1e2, out: 0x9cae393a, outHI: 0x0
+sh :: offset: 0x1e4, out: 0xf029cae393a, outHI: 0x0
+sh :: offset: 0x1e6, out: 0x58300f029cae393a, outHI: 0x0
+sh :: offset: 0x1e8, out: 0xbc2d, outHI: 0x0
+sh :: offset: 0x1ea, out: 0xdc7ebc2d, outHI: 0x0
+sh :: offset: 0x1ec, out: 0x5fdbdc7ebc2d, outHI: 0x0
+sh :: offset: 0x1ee, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sh :: offset: 0x1f0, out: 0x5b48, outHI: 0x0
+sh :: offset: 0x1f2, out: 0xe3405b48, outHI: 0x0
+sh :: offset: 0x1f4, out: 0x47be3405b48, outHI: 0x0
+sh :: offset: 0x1f6, out: 0x8a96047be3405b48, outHI: 0x0
+sh :: offset: 0x1f8, out: 0xd322, outHI: 0x0
+sh :: offset: 0x1fa, out: 0xd519d322, outHI: 0x0
+sh :: offset: 0x1fc, out: 0xafd2d519d322, outHI: 0x0
+sh :: offset: 0x1fe, out: 0x75bfafd2d519d322, outHI: 0x0
+sh :: offset: 0x200, out: 0xf6ad, outHI: 0x0
+sh :: offset: 0x202, out: 0xa630f6ad, outHI: 0x0
+sh :: offset: 0x204, out: 0x867a630f6ad, outHI: 0x0
+sh :: offset: 0x206, out: 0xde230867a630f6ad, outHI: 0x0
+sh :: offset: 0x208, out: 0x3260, outHI: 0x0
+sh :: offset: 0x20a, out: 0x56103260, outHI: 0x0
+sh :: offset: 0x20c, out: 0xcf256103260, outHI: 0x0
+sh :: offset: 0x20e, out: 0x2c0a0cf256103260, outHI: 0x0
+sh :: offset: 0x210, out: 0x18ef, outHI: 0x0
+sh :: offset: 0x212, out: 0x249b18ef, outHI: 0x0
+sh :: offset: 0x214, out: 0x544249b18ef, outHI: 0x0
+sh :: offset: 0x216, out: 0x94a90544249b18ef, outHI: 0x0
+sh :: offset: 0x218, out: 0xfcde, outHI: 0x0
+sh :: offset: 0x21a, out: 0x5b56fcde, outHI: 0x0
+sh :: offset: 0x21c, out: 0x9fb55b56fcde, outHI: 0x0
+sh :: offset: 0x21e, out: 0xf9519fb55b56fcde, outHI: 0x0
+sh :: offset: 0x220, out: 0x319b, outHI: 0x0
+sh :: offset: 0x222, out: 0x468319b, outHI: 0x0
+sh :: offset: 0x224, out: 0xf8200468319b, outHI: 0x0
+sh :: offset: 0x226, out: 0x81daf8200468319b, outHI: 0x0
+sh :: offset: 0x228, out: 0xf2ec, outHI: 0x0
+sh :: offset: 0x22a, out: 0x5725f2ec, outHI: 0x0
+sh :: offset: 0x22c, out: 0xca5a5725f2ec, outHI: 0x0
+sh :: offset: 0x22e, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sh :: offset: 0x230, out: 0xc8bf, outHI: 0x0
+sh :: offset: 0x232, out: 0xc25dc8bf, outHI: 0x0
+sh :: offset: 0x234, out: 0xa6ddc25dc8bf, outHI: 0x0
+sh :: offset: 0x236, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sh :: offset: 0x238, out: 0x162f, outHI: 0x0
+sh :: offset: 0x23a, out: 0xdac6162f, outHI: 0x0
+sh :: offset: 0x23c, out: 0xe751dac6162f, outHI: 0x0
+sh :: offset: 0x23e, out: 0x300ce751dac6162f, outHI: 0x0
+sh :: offset: 0x240, out: 0xa850, outHI: 0x0
+sh :: offset: 0x242, out: 0xba52a850, outHI: 0x0
+sh :: offset: 0x244, out: 0xfdf3ba52a850, outHI: 0x0
+sh :: offset: 0x246, out: 0x6778fdf3ba52a850, outHI: 0x0
+sh :: offset: 0x248, out: 0x479f, outHI: 0x0
+sh :: offset: 0x24a, out: 0xda78479f, outHI: 0x0
+sh :: offset: 0x24c, out: 0xb1f7da78479f, outHI: 0x0
+sh :: offset: 0x24e, out: 0xad00b1f7da78479f, outHI: 0x0
+sh :: offset: 0x250, out: 0xd98a, outHI: 0x0
+sh :: offset: 0x252, out: 0xa6b6d98a, outHI: 0x0
+sh :: offset: 0x254, out: 0x4168a6b6d98a, outHI: 0x0
+sh :: offset: 0x256, out: 0x8d44168a6b6d98a, outHI: 0x0
+sh :: offset: 0x258, out: 0x4413, outHI: 0x0
+sh :: offset: 0x25a, out: 0xce634413, outHI: 0x0
+sh :: offset: 0x25c, out: 0x381dce634413, outHI: 0x0
+sh :: offset: 0x25e, out: 0xf518381dce634413, outHI: 0x0
+sh :: offset: 0x260, out: 0x5fc0, outHI: 0x0
+sh :: offset: 0x262, out: 0xe5255fc0, outHI: 0x0
+sh :: offset: 0x264, out: 0x7f3fe5255fc0, outHI: 0x0
+sh :: offset: 0x266, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sh :: offset: 0x268, out: 0x1f28, outHI: 0x0
+sh :: offset: 0x26a, out: 0x76321f28, outHI: 0x0
+sh :: offset: 0x26c, out: 0x92e176321f28, outHI: 0x0
+sh :: offset: 0x26e, out: 0xccd392e176321f28, outHI: 0x0
+sh :: offset: 0x270, out: 0xfd8f, outHI: 0x0
+sh :: offset: 0x272, out: 0x4018fd8f, outHI: 0x0
+sh :: offset: 0x274, out: 0x64944018fd8f, outHI: 0x0
+sh :: offset: 0x276, out: 0x829464944018fd8f, outHI: 0x0
+sh :: offset: 0x278, out: 0xf0e5, outHI: 0x0
+sh :: offset: 0x27a, out: 0x52e8f0e5, outHI: 0x0
+sh :: offset: 0x27c, out: 0x204052e8f0e5, outHI: 0x0
+sh :: offset: 0x27e, out: 0x15d3204052e8f0e5, outHI: 0x0
+sh :: offset: 0x280, out: 0xf344, outHI: 0x0
+sh :: offset: 0x282, out: 0x880ff344, outHI: 0x0
+sh :: offset: 0x284, out: 0x83d2880ff344, outHI: 0x0
+sh :: offset: 0x286, out: 0x7caf83d2880ff344, outHI: 0x0
+sh :: offset: 0x288, out: 0xefd7, outHI: 0x0
+sh :: offset: 0x28a, out: 0x747defd7, outHI: 0x0
+sh :: offset: 0x28c, out: 0xa04c747defd7, outHI: 0x0
+sh :: offset: 0x28e, out: 0xf156a04c747defd7, outHI: 0x0
+sh :: offset: 0x290, out: 0xd710, outHI: 0x0
+sh :: offset: 0x292, out: 0xf31d710, outHI: 0x0
+sh :: offset: 0x294, out: 0x601c0f31d710, outHI: 0x0
+sh :: offset: 0x296, out: 0x93e2601c0f31d710, outHI: 0x0
+sh :: offset: 0x298, out: 0xd933, outHI: 0x0
+sh :: offset: 0x29a, out: 0x131cd933, outHI: 0x0
+sh :: offset: 0x29c, out: 0xa679131cd933, outHI: 0x0
+sh :: offset: 0x29e, out: 0xe1e1a679131cd933, outHI: 0x0
+sh :: offset: 0x2a0, out: 0xa427, outHI: 0x0
+sh :: offset: 0x2a2, out: 0xa76fa427, outHI: 0x0
+sh :: offset: 0x2a4, out: 0x6b75a76fa427, outHI: 0x0
+sh :: offset: 0x2a6, out: 0x24296b75a76fa427, outHI: 0x0
+sh :: offset: 0x2a8, out: 0xe56a, outHI: 0x0
+sh :: offset: 0x2aa, out: 0x139ee56a, outHI: 0x0
+sh :: offset: 0x2ac, out: 0xe2d2139ee56a, outHI: 0x0
+sh :: offset: 0x2ae, out: 0xd296e2d2139ee56a, outHI: 0x0
+sh :: offset: 0x2b0, out: 0xa5c0, outHI: 0x0
+sh :: offset: 0x2b2, out: 0x6dc2a5c0, outHI: 0x0
+sh :: offset: 0x2b4, out: 0x447f6dc2a5c0, outHI: 0x0
+sh :: offset: 0x2b6, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sh :: offset: 0x2b8, out: 0xc168, outHI: 0x0
+sh :: offset: 0x2ba, out: 0xc07dc168, outHI: 0x0
+sh :: offset: 0x2bc, out: 0x9e80c07dc168, outHI: 0x0
+sh :: offset: 0x2be, out: 0x76c89e80c07dc168, outHI: 0x0
+sh :: offset: 0x2c0, out: 0x348f, outHI: 0x0
+sh :: offset: 0x2c2, out: 0x4bfe348f, outHI: 0x0
+sh :: offset: 0x2c4, out: 0xc3454bfe348f, outHI: 0x0
+sh :: offset: 0x2c6, out: 0x70dc3454bfe348f, outHI: 0x0
+sh :: offset: 0x2c8, out: 0x241b, outHI: 0x0
+sh :: offset: 0x2ca, out: 0xdd6d241b, outHI: 0x0
+sh :: offset: 0x2cc, out: 0x7123dd6d241b, outHI: 0x0
+sh :: offset: 0x2ce, out: 0xbddc7123dd6d241b, outHI: 0x0
+sh :: offset: 0x2d0, out: 0xcebe, outHI: 0x0
+sh :: offset: 0x2d2, out: 0xa59fcebe, outHI: 0x0
+sh :: offset: 0x2d4, out: 0xb727a59fcebe, outHI: 0x0
+sh :: offset: 0x2d6, out: 0xf62fb727a59fcebe, outHI: 0x0
+sh :: offset: 0x2d8, out: 0x46fb, outHI: 0x0
+sh :: offset: 0x2da, out: 0xf9f46fb, outHI: 0x0
+sh :: offset: 0x2dc, out: 0x27e90f9f46fb, outHI: 0x0
+sh :: offset: 0x2de, out: 0x109f27e90f9f46fb, outHI: 0x0
+sh :: offset: 0x2e0, out: 0x99d7, outHI: 0x0
+sh :: offset: 0x2e2, out: 0xafd199d7, outHI: 0x0
+sh :: offset: 0x2e4, out: 0xdaa9afd199d7, outHI: 0x0
+sh :: offset: 0x2e6, out: 0x3f63daa9afd199d7, outHI: 0x0
+sh :: offset: 0x2e8, out: 0x84f2, outHI: 0x0
+sh :: offset: 0x2ea, out: 0xa3d484f2, outHI: 0x0
+sh :: offset: 0x2ec, out: 0x312ea3d484f2, outHI: 0x0
+sh :: offset: 0x2ee, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sh :: offset: 0x2f0, out: 0xe4c6, outHI: 0x0
+sh :: offset: 0x2f2, out: 0xda4fe4c6, outHI: 0x0
+sh :: offset: 0x2f4, out: 0x3faada4fe4c6, outHI: 0x0
+sh :: offset: 0x2f6, out: 0x1f353faada4fe4c6, outHI: 0x0
+sh :: offset: 0x2f8, out: 0xc260, outHI: 0x0
+sh :: offset: 0x2fa, out: 0x7150c260, outHI: 0x0
+sh :: offset: 0x2fc, out: 0x6ee07150c260, outHI: 0x0
+sh :: offset: 0x2fe, out: 0x8b086ee07150c260, outHI: 0x0
+sh :: offset: 0x300, out: 0x7f25, outHI: 0x0
+sh :: offset: 0x302, out: 0xd9257f25, outHI: 0x0
+sh :: offset: 0x304, out: 0x50d5d9257f25, outHI: 0x0
+sh :: offset: 0x306, out: 0xe54750d5d9257f25, outHI: 0x0
+sh :: offset: 0x308, out: 0xdb5b, outHI: 0x0
+sh :: offset: 0x30a, out: 0xe9a6db5b, outHI: 0x0
+sh :: offset: 0x30c, out: 0x625fe9a6db5b, outHI: 0x0
+sh :: offset: 0x30e, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sh :: offset: 0x310, out: 0xac96, outHI: 0x0
+sh :: offset: 0x312, out: 0x4340ac96, outHI: 0x0
+sh :: offset: 0x314, out: 0xe0424340ac96, outHI: 0x0
+sh :: offset: 0x316, out: 0x70a3e0424340ac96, outHI: 0x0
+sh :: offset: 0x318, out: 0x171e, outHI: 0x0
+sh :: offset: 0x31a, out: 0x6980171e, outHI: 0x0
+sh :: offset: 0x31c, out: 0x8f036980171e, outHI: 0x0
+sh :: offset: 0x31e, out: 0xc0478f036980171e, outHI: 0x0
+sh :: offset: 0x320, out: 0x29e3, outHI: 0x0
+sh :: offset: 0x322, out: 0x1cf929e3, outHI: 0x0
+sh :: offset: 0x324, out: 0x39a51cf929e3, outHI: 0x0
+sh :: offset: 0x326, out: 0x3ce839a51cf929e3, outHI: 0x0
+sh :: offset: 0x328, out: 0x8958, outHI: 0x0
+sh :: offset: 0x32a, out: 0x5eb68958, outHI: 0x0
+sh :: offset: 0x32c, out: 0xfa895eb68958, outHI: 0x0
+sh :: offset: 0x32e, out: 0xe2fbfa895eb68958, outHI: 0x0
+sh :: offset: 0x330, out: 0x25b7, outHI: 0x0
+sh :: offset: 0x332, out: 0x76ed25b7, outHI: 0x0
+sh :: offset: 0x334, out: 0xb05d76ed25b7, outHI: 0x0
+sh :: offset: 0x336, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sh :: offset: 0x338, out: 0x12f1, outHI: 0x0
+sh :: offset: 0x33a, out: 0x170312f1, outHI: 0x0
+sh :: offset: 0x33c, out: 0x682c170312f1, outHI: 0x0
+sh :: offset: 0x33e, out: 0xeb9682c170312f1, outHI: 0x0
+sh :: offset: 0x340, out: 0x1d0d, outHI: 0x0
+sh :: offset: 0x342, out: 0xdd301d0d, outHI: 0x0
+sh :: offset: 0x344, out: 0x5280dd301d0d, outHI: 0x0
+sh :: offset: 0x346, out: 0x84785280dd301d0d, outHI: 0x0
+sh :: offset: 0x348, out: 0xd6ef, outHI: 0x0
+sh :: offset: 0x34a, out: 0x1f8fd6ef, outHI: 0x0
+sh :: offset: 0x34c, out: 0x77aa1f8fd6ef, outHI: 0x0
+sh :: offset: 0x34e, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sh :: offset: 0x350, out: 0x436d, outHI: 0x0
+sh :: offset: 0x352, out: 0x2998436d, outHI: 0x0
+sh :: offset: 0x354, out: 0x4ced2998436d, outHI: 0x0
+sh :: offset: 0x356, out: 0x26444ced2998436d, outHI: 0x0
+sh :: offset: 0x358, out: 0xa708, outHI: 0x0
+sh :: offset: 0x35a, out: 0xd58ca708, outHI: 0x0
+sh :: offset: 0x35c, out: 0x5c9dd58ca708, outHI: 0x0
+sh :: offset: 0x35e, out: 0x7175c9dd58ca708, outHI: 0x0
+sh :: offset: 0x360, out: 0x3287, outHI: 0x0
+sh :: offset: 0x362, out: 0x55833287, outHI: 0x0
+sh :: offset: 0x364, out: 0x61055833287, outHI: 0x0
+sh :: offset: 0x366, out: 0x663d061055833287, outHI: 0x0
+sh :: offset: 0x368, out: 0xd68b, outHI: 0x0
+sh :: offset: 0x36a, out: 0x8951d68b, outHI: 0x0
+sh :: offset: 0x36c, out: 0xd0488951d68b, outHI: 0x0
+sh :: offset: 0x36e, out: 0xab7dd0488951d68b, outHI: 0x0
+sh :: offset: 0x370, out: 0x471b, outHI: 0x0
+sh :: offset: 0x372, out: 0xe82471b, outHI: 0x0
+sh :: offset: 0x374, out: 0x23670e82471b, outHI: 0x0
+sh :: offset: 0x376, out: 0xf69823670e82471b, outHI: 0x0
+sh :: offset: 0x378, out: 0x26b2, outHI: 0x0
+sh :: offset: 0x37a, out: 0xd98d26b2, outHI: 0x0
+sh :: offset: 0x37c, out: 0x6c59d98d26b2, outHI: 0x0
+sh :: offset: 0x37e, out: 0x36886c59d98d26b2, outHI: 0x0
+sh :: offset: 0x380, out: 0xe479, outHI: 0x0
+sh :: offset: 0x382, out: 0xd32be479, outHI: 0x0
+sh :: offset: 0x384, out: 0x4bdbd32be479, outHI: 0x0
+sh :: offset: 0x386, out: 0x9ca4bdbd32be479, outHI: 0x0
+sh :: offset: 0x388, out: 0xe61f, outHI: 0x0
+sh :: offset: 0x38a, out: 0x9962e61f, outHI: 0x0
+sh :: offset: 0x38c, out: 0x7d1d9962e61f, outHI: 0x0
+sh :: offset: 0x38e, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sh :: offset: 0x390, out: 0x74df, outHI: 0x0
+sh :: offset: 0x392, out: 0xcad374df, outHI: 0x0
+sh :: offset: 0x394, out: 0x553ecad374df, outHI: 0x0
+sh :: offset: 0x396, out: 0x3f46553ecad374df, outHI: 0x0
+sh :: offset: 0x398, out: 0xf2a7, outHI: 0x0
+sh :: offset: 0x39a, out: 0x3eedf2a7, outHI: 0x0
+sh :: offset: 0x39c, out: 0xb97d3eedf2a7, outHI: 0x0
+sh :: offset: 0x39e, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sh :: offset: 0x3a0, out: 0x9f33, outHI: 0x0
+sh :: offset: 0x3a2, out: 0x3c0c9f33, outHI: 0x0
+sh :: offset: 0x3a4, out: 0xf7fa3c0c9f33, outHI: 0x0
+sh :: offset: 0x3a6, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sh :: offset: 0x3a8, out: 0xc9dc, outHI: 0x0
+sh :: offset: 0x3aa, out: 0x155ec9dc, outHI: 0x0
+sh :: offset: 0x3ac, out: 0x38e3155ec9dc, outHI: 0x0
+sh :: offset: 0x3ae, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sh :: offset: 0x3b0, out: 0x8206, outHI: 0x0
+sh :: offset: 0x3b2, out: 0x19478206, outHI: 0x0
+sh :: offset: 0x3b4, out: 0x25c419478206, outHI: 0x0
+sh :: offset: 0x3b6, out: 0xd2df25c419478206, outHI: 0x0
+sh :: offset: 0x3b8, out: 0x1825, outHI: 0x0
+sh :: offset: 0x3ba, out: 0xeb321825, outHI: 0x0
+sh :: offset: 0x3bc, out: 0xbf27eb321825, outHI: 0x0
+sh :: offset: 0x3be, out: 0xbc65bf27eb321825, outHI: 0x0
+sh :: offset: 0x3c0, out: 0xc7da, outHI: 0x0
+sh :: offset: 0x3c2, out: 0x7a8bc7da, outHI: 0x0
+sh :: offset: 0x3c4, out: 0x8fe67a8bc7da, outHI: 0x0
+sh :: offset: 0x3c6, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sh :: offset: 0x3c8, out: 0xcde8, outHI: 0x0
+sh :: offset: 0x3ca, out: 0xf8dfcde8, outHI: 0x0
+sh :: offset: 0x3cc, out: 0x5bcaf8dfcde8, outHI: 0x0
+sh :: offset: 0x3ce, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sh :: offset: 0x3d0, out: 0x9269, outHI: 0x0
+sh :: offset: 0x3d2, out: 0x59a99269, outHI: 0x0
+sh :: offset: 0x3d4, out: 0x909b59a99269, outHI: 0x0
+sh :: offset: 0x3d6, out: 0x478909b59a99269, outHI: 0x0
+sh :: offset: 0x3d8, out: 0x360f, outHI: 0x0
+sh :: offset: 0x3da, out: 0x7857360f, outHI: 0x0
+sh :: offset: 0x3dc, out: 0x1cc87857360f, outHI: 0x0
+sh :: offset: 0x3de, out: 0xbfb31cc87857360f, outHI: 0x0
+sh :: offset: 0x3e0, out: 0xe9a2, outHI: 0x0
+sh :: offset: 0x3e2, out: 0x7f89e9a2, outHI: 0x0
+sh :: offset: 0x3e4, out: 0xed5e7f89e9a2, outHI: 0x0
+sh :: offset: 0x3e6, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sh :: offset: 0x3e8, out: 0xd5e4, outHI: 0x0
+sh :: offset: 0x3ea, out: 0xb7a8d5e4, outHI: 0x0
+sh :: offset: 0x3ec, out: 0x9474b7a8d5e4, outHI: 0x0
+sh :: offset: 0x3ee, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sh :: offset: 0x3f0, out: 0xfcc, outHI: 0x0
+sh :: offset: 0x3f2, out: 0x2af90fcc, outHI: 0x0
+sh :: offset: 0x3f4, out: 0x537d2af90fcc, outHI: 0x0
+sh :: offset: 0x3f6, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sh :: offset: 0x3f8, out: 0x1897, outHI: 0x0
+sh :: offset: 0x3fa, out: 0x2b961897, outHI: 0x0
+sh :: offset: 0x3fc, out: 0x7cfe2b961897, outHI: 0x0
+sh :: offset: 0x3fe, out: 0x223d7cfe2b961897, outHI: 0x0
+sh :: offset: 0x400, out: 0x4a4b, outHI: 0x0
+sh :: offset: 0x402, out: 0x33734a4b, outHI: 0x0
+sh :: offset: 0x404, out: 0x34f533734a4b, outHI: 0x0
+sh :: offset: 0x406, out: 0x420b34f533734a4b, outHI: 0x0
+sh :: offset: 0x408, out: 0xb33c, outHI: 0x0
+sh :: offset: 0x40a, out: 0xdd46b33c, outHI: 0x0
+sh :: offset: 0x40c, out: 0x8c8ddd46b33c, outHI: 0x0
+sh :: offset: 0x40e, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sh :: offset: 0x410, out: 0xccd9, outHI: 0x0
+sh :: offset: 0x412, out: 0xe392ccd9, outHI: 0x0
+sh :: offset: 0x414, out: 0x7445e392ccd9, outHI: 0x0
+sh :: offset: 0x416, out: 0x7a387445e392ccd9, outHI: 0x0
+sh :: offset: 0x418, out: 0xc9, outHI: 0x0
+sh :: offset: 0x41a, out: 0xd80000c9, outHI: 0x0
+sh :: offset: 0x41c, out: 0x29b1d80000c9, outHI: 0x0
+sh :: offset: 0x41e, out: 0x512f29b1d80000c9, outHI: 0x0
+sh :: offset: 0x420, out: 0x20a, outHI: 0x0
+sh :: offset: 0x422, out: 0x3dad020a, outHI: 0x0
+sh :: offset: 0x424, out: 0xd5c53dad020a, outHI: 0x0
+sh :: offset: 0x426, out: 0xeaded5c53dad020a, outHI: 0x0
+sh :: offset: 0x428, out: 0xa35b, outHI: 0x0
+sh :: offset: 0x42a, out: 0x31eea35b, outHI: 0x0
+sh :: offset: 0x42c, out: 0x29d731eea35b, outHI: 0x0
+sh :: offset: 0x42e, out: 0x8a6229d731eea35b, outHI: 0x0
+sh :: offset: 0x430, out: 0x5649, outHI: 0x0
+sh :: offset: 0x432, out: 0x48985649, outHI: 0x0
+sh :: offset: 0x434, out: 0x3f9e48985649, outHI: 0x0
+sh :: offset: 0x436, out: 0x2c3c3f9e48985649, outHI: 0x0
+sh :: offset: 0x438, out: 0xb77, outHI: 0x0
+sh :: offset: 0x43a, out: 0xdc9c0b77, outHI: 0x0
+sh :: offset: 0x43c, out: 0x1e78dc9c0b77, outHI: 0x0
+sh :: offset: 0x43e, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sh :: offset: 0x440, out: 0x68ec, outHI: 0x0
+sh :: offset: 0x442, out: 0x1d5e68ec, outHI: 0x0
+sh :: offset: 0x444, out: 0xb0e01d5e68ec, outHI: 0x0
+sh :: offset: 0x446, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sh :: offset: 0x448, out: 0x6e25, outHI: 0x0
+sh :: offset: 0x44a, out: 0x3d0c6e25, outHI: 0x0
+sh :: offset: 0x44c, out: 0x4673d0c6e25, outHI: 0x0
+sh :: offset: 0x44e, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sh :: offset: 0x450, out: 0x6587, outHI: 0x0
+sh :: offset: 0x452, out: 0xe7fb6587, outHI: 0x0
+sh :: offset: 0x454, out: 0x17c1e7fb6587, outHI: 0x0
+sh :: offset: 0x456, out: 0x164e17c1e7fb6587, outHI: 0x0
+sh :: offset: 0x458, out: 0x950b, outHI: 0x0
+sh :: offset: 0x45a, out: 0x56d4950b, outHI: 0x0
+sh :: offset: 0x45c, out: 0xa28b56d4950b, outHI: 0x0
+sh :: offset: 0x45e, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sh :: offset: 0x460, out: 0xa08a, outHI: 0x0
+sh :: offset: 0x462, out: 0xbe7fa08a, outHI: 0x0
+sh :: offset: 0x464, out: 0xa314be7fa08a, outHI: 0x0
+sh :: offset: 0x466, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sh :: offset: 0x468, out: 0x49c5, outHI: 0x0
+sh :: offset: 0x46a, out: 0x159649c5, outHI: 0x0
+sh :: offset: 0x46c, out: 0x8164159649c5, outHI: 0x0
+sh :: offset: 0x46e, out: 0xf8be8164159649c5, outHI: 0x0
+sh :: offset: 0x470, out: 0x9b17, outHI: 0x0
+sh :: offset: 0x472, out: 0x84e69b17, outHI: 0x0
+sh :: offset: 0x474, out: 0x259784e69b17, outHI: 0x0
+sh :: offset: 0x476, out: 0x7ca3259784e69b17, outHI: 0x0
+sh :: offset: 0x478, out: 0x4f5c, outHI: 0x0
+sh :: offset: 0x47a, out: 0xa1f24f5c, outHI: 0x0
+sh :: offset: 0x47c, out: 0x543ca1f24f5c, outHI: 0x0
+sh :: offset: 0x47e, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sh :: offset: 0x480, out: 0x9e36, outHI: 0x0
+sh :: offset: 0x482, out: 0xe3459e36, outHI: 0x0
+sh :: offset: 0x484, out: 0x6ca0e3459e36, outHI: 0x0
+sh :: offset: 0x486, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sh :: offset: 0x488, out: 0x80fa, outHI: 0x0
+sh :: offset: 0x48a, out: 0x187980fa, outHI: 0x0
+sh :: offset: 0x48c, out: 0xe18e187980fa, outHI: 0x0
+sh :: offset: 0x48e, out: 0xc532e18e187980fa, outHI: 0x0
+sh :: offset: 0x490, out: 0x7d1c, outHI: 0x0
+sh :: offset: 0x492, out: 0x4f287d1c, outHI: 0x0
+sh :: offset: 0x494, out: 0xec294f287d1c, outHI: 0x0
+sh :: offset: 0x496, out: 0xb3fdec294f287d1c, outHI: 0x0
+sh :: offset: 0x498, out: 0x2b90, outHI: 0x0
+sh :: offset: 0x49a, out: 0x49732b90, outHI: 0x0
+sh :: offset: 0x49c, out: 0x660a49732b90, outHI: 0x0
+sh :: offset: 0x49e, out: 0xb620660a49732b90, outHI: 0x0
+sh :: offset: 0x4a0, out: 0xe991, outHI: 0x0
+sh :: offset: 0x4a2, out: 0x6cfde991, outHI: 0x0
+sh :: offset: 0x4a4, out: 0x38f16cfde991, outHI: 0x0
+sh :: offset: 0x4a6, out: 0x993138f16cfde991, outHI: 0x0
+sh :: offset: 0x4a8, out: 0x7b9, outHI: 0x0
+sh :: offset: 0x4aa, out: 0x7d5407b9, outHI: 0x0
+sh :: offset: 0x4ac, out: 0xd1337d5407b9, outHI: 0x0
+sh :: offset: 0x4ae, out: 0xde02d1337d5407b9, outHI: 0x0
+sh :: offset: 0x4b0, out: 0xb15a, outHI: 0x0
+sh :: offset: 0x4b2, out: 0xe1dab15a, outHI: 0x0
+sh :: offset: 0x4b4, out: 0x90e1e1dab15a, outHI: 0x0
+sh :: offset: 0x4b6, out: 0x13a390e1e1dab15a, outHI: 0x0
+sh :: offset: 0x4b8, out: 0x16c8, outHI: 0x0
+sh :: offset: 0x4ba, out: 0x828716c8, outHI: 0x0
+sh :: offset: 0x4bc, out: 0x91a6828716c8, outHI: 0x0
+sh :: offset: 0x4be, out: 0x743491a6828716c8, outHI: 0x0
+sh :: offset: 0x4c0, out: 0x92f2, outHI: 0x0
+sh :: offset: 0x4c2, out: 0xede292f2, outHI: 0x0
+sh :: offset: 0x4c4, out: 0x404aede292f2, outHI: 0x0
+sh :: offset: 0x4c6, out: 0x8cff404aede292f2, outHI: 0x0
+sh :: offset: 0x4c8, out: 0x7636, outHI: 0x0
+sh :: offset: 0x4ca, out: 0x1f837636, outHI: 0x0
+sh :: offset: 0x4cc, out: 0xc0db1f837636, outHI: 0x0
+sh :: offset: 0x4ce, out: 0xb9cec0db1f837636, outHI: 0x0
+sh :: offset: 0x4d0, out: 0x771c, outHI: 0x0
+sh :: offset: 0x4d2, out: 0x509771c, outHI: 0x0
+sh :: offset: 0x4d4, out: 0x5aa70509771c, outHI: 0x0
+sh :: offset: 0x4d6, out: 0x2eaa5aa70509771c, outHI: 0x0
+sh :: offset: 0x4d8, out: 0x241b, outHI: 0x0
+sh :: offset: 0x4da, out: 0x1875241b, outHI: 0x0
+sh :: offset: 0x4dc, out: 0x538e1875241b, outHI: 0x0
+sh :: offset: 0x4de, out: 0xd327538e1875241b, outHI: 0x0
+sh :: offset: 0x4e0, out: 0x9b6b, outHI: 0x0
+sh :: offset: 0x4e2, out: 0x8b739b6b, outHI: 0x0
+sh :: offset: 0x4e4, out: 0xf8548b739b6b, outHI: 0x0
+sh :: offset: 0x4e6, out: 0x42e9f8548b739b6b, outHI: 0x0
+sh :: offset: 0x4e8, out: 0xba1a, outHI: 0x0
+sh :: offset: 0x4ea, out: 0xeccbba1a, outHI: 0x0
+sh :: offset: 0x4ec, out: 0xe50ceccbba1a, outHI: 0x0
+sh :: offset: 0x4ee, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sh :: offset: 0x4f0, out: 0x27cb, outHI: 0x0
+sh :: offset: 0x4f2, out: 0xcd9d27cb, outHI: 0x0
+sh :: offset: 0x4f4, out: 0xfa3fcd9d27cb, outHI: 0x0
+sh :: offset: 0x4f6, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sh :: offset: 0x4f8, out: 0x9423, outHI: 0x0
+sh :: offset: 0x4fa, out: 0xae3e9423, outHI: 0x0
+sh :: offset: 0x4fc, out: 0x6483ae3e9423, outHI: 0x0
+sh :: offset: 0x4fe, out: 0x73916483ae3e9423, outHI: 0x0
+sh :: offset: 0x500, out: 0x8561, outHI: 0x0
+sh :: offset: 0x502, out: 0xe128561, outHI: 0x0
+sh :: offset: 0x504, out: 0xf70a0e128561, outHI: 0x0
+sh :: offset: 0x506, out: 0x276af70a0e128561, outHI: 0x0
+sh :: offset: 0x508, out: 0x4b6e, outHI: 0x0
+sh :: offset: 0x50a, out: 0xb5e74b6e, outHI: 0x0
+sh :: offset: 0x50c, out: 0x5bf6b5e74b6e, outHI: 0x0
+sh :: offset: 0x50e, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sh :: offset: 0x510, out: 0xcfa6, outHI: 0x0
+sh :: offset: 0x512, out: 0x8accfa6, outHI: 0x0
+sh :: offset: 0x514, out: 0x3f1308accfa6, outHI: 0x0
+sh :: offset: 0x516, out: 0x20223f1308accfa6, outHI: 0x0
+sh :: offset: 0x518, out: 0xb5f5, outHI: 0x0
+sh :: offset: 0x51a, out: 0x3976b5f5, outHI: 0x0
+sh :: offset: 0x51c, out: 0x55743976b5f5, outHI: 0x0
+sh :: offset: 0x51e, out: 0xf83c55743976b5f5, outHI: 0x0
+sh :: offset: 0x520, out: 0x3c3d, outHI: 0x0
+sh :: offset: 0x522, out: 0x46923c3d, outHI: 0x0
+sh :: offset: 0x524, out: 0x20f946923c3d, outHI: 0x0
+sh :: offset: 0x526, out: 0x1f9720f946923c3d, outHI: 0x0
+sh :: offset: 0x528, out: 0x48dd, outHI: 0x0
+sh :: offset: 0x52a, out: 0x6d2448dd, outHI: 0x0
+sh :: offset: 0x52c, out: 0x28506d2448dd, outHI: 0x0
+sh :: offset: 0x52e, out: 0x620d28506d2448dd, outHI: 0x0
+sh :: offset: 0x530, out: 0xa732, outHI: 0x0
+sh :: offset: 0x532, out: 0x9ff4a732, outHI: 0x0
+sh :: offset: 0x534, out: 0x21e99ff4a732, outHI: 0x0
+sh :: offset: 0x536, out: 0x60a521e99ff4a732, outHI: 0x0
+sh :: offset: 0x538, out: 0xf0b, outHI: 0x0
+sh :: offset: 0x53a, out: 0x5c680f0b, outHI: 0x0
+sh :: offset: 0x53c, out: 0xf3ab5c680f0b, outHI: 0x0
+sh :: offset: 0x53e, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sh :: offset: 0x540, out: 0x3d26, outHI: 0x0
+sh :: offset: 0x542, out: 0x800f3d26, outHI: 0x0
+sh :: offset: 0x544, out: 0x9be7800f3d26, outHI: 0x0
+sh :: offset: 0x546, out: 0xc7a59be7800f3d26, outHI: 0x0
+sh :: offset: 0x548, out: 0x1b41, outHI: 0x0
+sh :: offset: 0x54a, out: 0x82ca1b41, outHI: 0x0
+sh :: offset: 0x54c, out: 0xdf2982ca1b41, outHI: 0x0
+sh :: offset: 0x54e, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sh :: offset: 0x550, out: 0x9dcd, outHI: 0x0
+sh :: offset: 0x552, out: 0x60d19dcd, outHI: 0x0
+sh :: offset: 0x554, out: 0x13a260d19dcd, outHI: 0x0
+sh :: offset: 0x556, out: 0x2b8613a260d19dcd, outHI: 0x0
+sh :: offset: 0x558, out: 0xbe7f, outHI: 0x0
+sh :: offset: 0x55a, out: 0xe8bbe7f, outHI: 0x0
+sh :: offset: 0x55c, out: 0xac8b0e8bbe7f, outHI: 0x0
+sh :: offset: 0x55e, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sh :: offset: 0x560, out: 0x486b, outHI: 0x0
+sh :: offset: 0x562, out: 0x2fcf486b, outHI: 0x0
+sh :: offset: 0x564, out: 0x568d2fcf486b, outHI: 0x0
+sh :: offset: 0x566, out: 0x743e568d2fcf486b, outHI: 0x0
+sh :: offset: 0x568, out: 0x1728, outHI: 0x0
+sh :: offset: 0x56a, out: 0x34c31728, outHI: 0x0
+sh :: offset: 0x56c, out: 0x646f34c31728, outHI: 0x0
+sh :: offset: 0x56e, out: 0x126f646f34c31728, outHI: 0x0
+sh :: offset: 0x570, out: 0x4d12, outHI: 0x0
+sh :: offset: 0x572, out: 0x56fc4d12, outHI: 0x0
+sh :: offset: 0x574, out: 0x196156fc4d12, outHI: 0x0
+sh :: offset: 0x576, out: 0xaab0196156fc4d12, outHI: 0x0
+sh :: offset: 0x578, out: 0xd342, outHI: 0x0
+sh :: offset: 0x57a, out: 0x8595d342, outHI: 0x0
+sh :: offset: 0x57c, out: 0xcd338595d342, outHI: 0x0
+sh :: offset: 0x57e, out: 0x7535cd338595d342, outHI: 0x0
+sh :: offset: 0x580, out: 0x46ec, outHI: 0x0
+sh :: offset: 0x582, out: 0x422346ec, outHI: 0x0
+sh :: offset: 0x584, out: 0x54da422346ec, outHI: 0x0
+sh :: offset: 0x586, out: 0xdfb254da422346ec, outHI: 0x0
+sh :: offset: 0x588, out: 0xab2a, outHI: 0x0
+sh :: offset: 0x58a, out: 0x81ab2a, outHI: 0x0
+sh :: offset: 0x58c, out: 0x26c90081ab2a, outHI: 0x0
+sh :: offset: 0x58e, out: 0xa86726c90081ab2a, outHI: 0x0
+sh :: offset: 0x590, out: 0x7438, outHI: 0x0
+sh :: offset: 0x592, out: 0x679d7438, outHI: 0x0
+sh :: offset: 0x594, out: 0xffa1679d7438, outHI: 0x0
+sh :: offset: 0x596, out: 0x9bfeffa1679d7438, outHI: 0x0
+sh :: offset: 0x598, out: 0xe244, outHI: 0x0
+sh :: offset: 0x59a, out: 0xb7dee244, outHI: 0x0
+sh :: offset: 0x59c, out: 0x9826b7dee244, outHI: 0x0
+sh :: offset: 0x59e, out: 0xc7699826b7dee244, outHI: 0x0
+sh :: offset: 0x5a0, out: 0x704a, outHI: 0x0
+sh :: offset: 0x5a2, out: 0xfba6704a, outHI: 0x0
+sh :: offset: 0x5a4, out: 0xaf97fba6704a, outHI: 0x0
+sh :: offset: 0x5a6, out: 0x3c07af97fba6704a, outHI: 0x0
+sh :: offset: 0x5a8, out: 0x8bfe, outHI: 0x0
+sh :: offset: 0x5aa, out: 0x4c58bfe, outHI: 0x0
+sh :: offset: 0x5ac, out: 0x64dc04c58bfe, outHI: 0x0
+sh :: offset: 0x5ae, out: 0x521364dc04c58bfe, outHI: 0x0
+sh :: offset: 0x5b0, out: 0xaebc, outHI: 0x0
+sh :: offset: 0x5b2, out: 0x9ab7aebc, outHI: 0x0
+sh :: offset: 0x5b4, out: 0xbb589ab7aebc, outHI: 0x0
+sh :: offset: 0x5b6, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sh :: offset: 0x5b8, out: 0x954d, outHI: 0x0
+sh :: offset: 0x5ba, out: 0xdeeb954d, outHI: 0x0
+sh :: offset: 0x5bc, out: 0xc60cdeeb954d, outHI: 0x0
+sh :: offset: 0x5be, out: 0xe336c60cdeeb954d, outHI: 0x0
+sh :: offset: 0x5c0, out: 0x416e, outHI: 0x0
+sh :: offset: 0x5c2, out: 0x6f52416e, outHI: 0x0
+sh :: offset: 0x5c4, out: 0x120c6f52416e, outHI: 0x0
+sh :: offset: 0x5c6, out: 0xd5b2120c6f52416e, outHI: 0x0
+sh :: offset: 0x5c8, out: 0x8a34, outHI: 0x0
+sh :: offset: 0x5ca, out: 0x7e628a34, outHI: 0x0
+sh :: offset: 0x5cc, out: 0xd4ff7e628a34, outHI: 0x0
+sh :: offset: 0x5ce, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sh :: offset: 0x5d0, out: 0x7e07, outHI: 0x0
+sh :: offset: 0x5d2, out: 0x4a4e7e07, outHI: 0x0
+sh :: offset: 0x5d4, out: 0x2b654a4e7e07, outHI: 0x0
+sh :: offset: 0x5d6, out: 0x986a2b654a4e7e07, outHI: 0x0
+sh :: offset: 0x5d8, out: 0x9b55, outHI: 0x0
+sh :: offset: 0x5da, out: 0x3a489b55, outHI: 0x0
+sh :: offset: 0x5dc, out: 0xeac43a489b55, outHI: 0x0
+sh :: offset: 0x5de, out: 0xa974eac43a489b55, outHI: 0x0
+sh :: offset: 0x5e0, out: 0xf8f5, outHI: 0x0
+sh :: offset: 0x5e2, out: 0x72f1f8f5, outHI: 0x0
+sh :: offset: 0x5e4, out: 0xc16272f1f8f5, outHI: 0x0
+sh :: offset: 0x5e6, out: 0xa388c16272f1f8f5, outHI: 0x0
+sh :: offset: 0x5e8, out: 0x5ea9, outHI: 0x0
+sh :: offset: 0x5ea, out: 0xe7495ea9, outHI: 0x0
+sh :: offset: 0x5ec, out: 0x1f45e7495ea9, outHI: 0x0
+sh :: offset: 0x5ee, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sh :: offset: 0x5f0, out: 0xc8b4, outHI: 0x0
+sh :: offset: 0x5f2, out: 0x5cc1c8b4, outHI: 0x0
+sh :: offset: 0x5f4, out: 0x5a765cc1c8b4, outHI: 0x0
+sh :: offset: 0x5f6, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sh :: offset: 0x5f8, out: 0x5c0, outHI: 0x0
+sh :: offset: 0x5fa, out: 0xdfa605c0, outHI: 0x0
+sh :: offset: 0x5fc, out: 0xce88dfa605c0, outHI: 0x0
+sh :: offset: 0x5fe, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sh :: offset: 0x600, out: 0xb04f, outHI: 0x0
+sh :: offset: 0x602, out: 0x59a7b04f, outHI: 0x0
+sh :: offset: 0x604, out: 0xd6e659a7b04f, outHI: 0x0
+sh :: offset: 0x606, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sh :: offset: 0x608, out: 0x922f, outHI: 0x0
+sh :: offset: 0x60a, out: 0xb728922f, outHI: 0x0
+sh :: offset: 0x60c, out: 0x485ab728922f, outHI: 0x0
+sh :: offset: 0x60e, out: 0x4bf8485ab728922f, outHI: 0x0
+sh :: offset: 0x610, out: 0xa7fb, outHI: 0x0
+sh :: offset: 0x612, out: 0x3b66a7fb, outHI: 0x0
+sh :: offset: 0x614, out: 0xd60c3b66a7fb, outHI: 0x0
+sh :: offset: 0x616, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sh :: offset: 0x618, out: 0x8eda, outHI: 0x0
+sh :: offset: 0x61a, out: 0xfdc28eda, outHI: 0x0
+sh :: offset: 0x61c, out: 0xc6affdc28eda, outHI: 0x0
+sh :: offset: 0x61e, out: 0x31e0c6affdc28eda, outHI: 0x0
+sh :: offset: 0x620, out: 0x999d, outHI: 0x0
+sh :: offset: 0x622, out: 0xbf0c999d, outHI: 0x0
+sh :: offset: 0x624, out: 0x6bb4bf0c999d, outHI: 0x0
+sh :: offset: 0x626, out: 0x53606bb4bf0c999d, outHI: 0x0
+sh :: offset: 0x628, out: 0x19f0, outHI: 0x0
+sh :: offset: 0x62a, out: 0x1b7919f0, outHI: 0x0
+sh :: offset: 0x62c, out: 0x12c81b7919f0, outHI: 0x0
+sh :: offset: 0x62e, out: 0x32fc12c81b7919f0, outHI: 0x0
+sh :: offset: 0x630, out: 0xfcd6, outHI: 0x0
+sh :: offset: 0x632, out: 0xc72efcd6, outHI: 0x0
+sh :: offset: 0x634, out: 0x8384c72efcd6, outHI: 0x0
+sh :: offset: 0x636, out: 0x3ef88384c72efcd6, outHI: 0x0
+sh :: offset: 0x638, out: 0x3580, outHI: 0x0
+sh :: offset: 0x63a, out: 0x6a2a3580, outHI: 0x0
+sh :: offset: 0x63c, out: 0xc7bb6a2a3580, outHI: 0x0
+sh :: offset: 0x63e, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sh :: offset: 0x640, out: 0x77c9, outHI: 0x0
+sh :: offset: 0x642, out: 0x1dca77c9, outHI: 0x0
+sh :: offset: 0x644, out: 0xf6121dca77c9, outHI: 0x0
+sh :: offset: 0x646, out: 0x15ebf6121dca77c9, outHI: 0x0
+sh :: offset: 0x648, out: 0x47ae, outHI: 0x0
+sh :: offset: 0x64a, out: 0xfd9147ae, outHI: 0x0
+sh :: offset: 0x64c, out: 0xcdd9fd9147ae, outHI: 0x0
+sh :: offset: 0x64e, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sh :: offset: 0x650, out: 0x1117, outHI: 0x0
+sh :: offset: 0x652, out: 0x81e91117, outHI: 0x0
+sh :: offset: 0x654, out: 0x70f981e91117, outHI: 0x0
+sh :: offset: 0x656, out: 0xbb8470f981e91117, outHI: 0x0
+sh :: offset: 0x658, out: 0x32e0, outHI: 0x0
+sh :: offset: 0x65a, out: 0xc6a532e0, outHI: 0x0
+sh :: offset: 0x65c, out: 0x2aeac6a532e0, outHI: 0x0
+sh :: offset: 0x65e, out: 0x5d42aeac6a532e0, outHI: 0x0
+sh :: offset: 0x660, out: 0x9e63, outHI: 0x0
+sh :: offset: 0x662, out: 0x19fb9e63, outHI: 0x0
+sh :: offset: 0x664, out: 0xf36419fb9e63, outHI: 0x0
+sh :: offset: 0x666, out: 0x14abf36419fb9e63, outHI: 0x0
+sh :: offset: 0x668, out: 0x2aac, outHI: 0x0
+sh :: offset: 0x66a, out: 0xa8d72aac, outHI: 0x0
+sh :: offset: 0x66c, out: 0x559aa8d72aac, outHI: 0x0
+sh :: offset: 0x66e, out: 0x249d559aa8d72aac, outHI: 0x0
+sh :: offset: 0x670, out: 0x30ec, outHI: 0x0
+sh :: offset: 0x672, out: 0x84b30ec, outHI: 0x0
+sh :: offset: 0x674, out: 0x764f084b30ec, outHI: 0x0
+sh :: offset: 0x676, out: 0xcd6764f084b30ec, outHI: 0x0
+sh :: offset: 0x678, out: 0x8fdf, outHI: 0x0
+sh :: offset: 0x67a, out: 0x92468fdf, outHI: 0x0
+sh :: offset: 0x67c, out: 0xac0792468fdf, outHI: 0x0
+sh :: offset: 0x67e, out: 0x7f03ac0792468fdf, outHI: 0x0
+sh :: offset: 0x680, out: 0x70f5, outHI: 0x0
+sh :: offset: 0x682, out: 0x56e670f5, outHI: 0x0
+sh :: offset: 0x684, out: 0xce6d56e670f5, outHI: 0x0
+sh :: offset: 0x686, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sh :: offset: 0x688, out: 0x2711, outHI: 0x0
+sh :: offset: 0x68a, out: 0x1a652711, outHI: 0x0
+sh :: offset: 0x68c, out: 0x28591a652711, outHI: 0x0
+sh :: offset: 0x68e, out: 0x152828591a652711, outHI: 0x0
+sh :: offset: 0x690, out: 0xa9fb, outHI: 0x0
+sh :: offset: 0x692, out: 0xd215a9fb, outHI: 0x0
+sh :: offset: 0x694, out: 0x3283d215a9fb, outHI: 0x0
+sh :: offset: 0x696, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sh :: offset: 0x698, out: 0x417, outHI: 0x0
+sh :: offset: 0x69a, out: 0x282a0417, outHI: 0x0
+sh :: offset: 0x69c, out: 0xc049282a0417, outHI: 0x0
+sh :: offset: 0x69e, out: 0x8d95c049282a0417, outHI: 0x0
+sh :: offset: 0x6a0, out: 0x58f3, outHI: 0x0
+sh :: offset: 0x6a2, out: 0x978058f3, outHI: 0x0
+sh :: offset: 0x6a4, out: 0xa490978058f3, outHI: 0x0
+sh :: offset: 0x6a6, out: 0xf2e7a490978058f3, outHI: 0x0
+sh :: offset: 0x6a8, out: 0xb1aa, outHI: 0x0
+sh :: offset: 0x6aa, out: 0x975b1aa, outHI: 0x0
+sh :: offset: 0x6ac, out: 0x4cca0975b1aa, outHI: 0x0
+sh :: offset: 0x6ae, out: 0x775b4cca0975b1aa, outHI: 0x0
+sh :: offset: 0x6b0, out: 0x1020, outHI: 0x0
+sh :: offset: 0x6b2, out: 0x35111020, outHI: 0x0
+sh :: offset: 0x6b4, out: 0x84a635111020, outHI: 0x0
+sh :: offset: 0x6b6, out: 0xa2b84a635111020, outHI: 0x0
+sh :: offset: 0x6b8, out: 0x8b6f, outHI: 0x0
+sh :: offset: 0x6ba, out: 0xa7d88b6f, outHI: 0x0
+sh :: offset: 0x6bc, out: 0xa0d3a7d88b6f, outHI: 0x0
+sh :: offset: 0x6be, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sh :: offset: 0x6c0, out: 0xdedd, outHI: 0x0
+sh :: offset: 0x6c2, out: 0x9941dedd, outHI: 0x0
+sh :: offset: 0x6c4, out: 0x91b79941dedd, outHI: 0x0
+sh :: offset: 0x6c6, out: 0xa3d991b79941dedd, outHI: 0x0
+sh :: offset: 0x6c8, out: 0x9508, outHI: 0x0
+sh :: offset: 0x6ca, out: 0x5a0d9508, outHI: 0x0
+sh :: offset: 0x6cc, out: 0xb4835a0d9508, outHI: 0x0
+sh :: offset: 0x6ce, out: 0x751cb4835a0d9508, outHI: 0x0
+sh :: offset: 0x6d0, out: 0xb2d3, outHI: 0x0
+sh :: offset: 0x6d2, out: 0x625bb2d3, outHI: 0x0
+sh :: offset: 0x6d4, out: 0xad35625bb2d3, outHI: 0x0
+sh :: offset: 0x6d6, out: 0x949cad35625bb2d3, outHI: 0x0
+sh :: offset: 0x6d8, out: 0x9739, outHI: 0x0
+sh :: offset: 0x6da, out: 0xa6929739, outHI: 0x0
+sh :: offset: 0x6dc, out: 0x7f35a6929739, outHI: 0x0
+sh :: offset: 0x6de, out: 0x7f567f35a6929739, outHI: 0x0
+sh :: offset: 0x6e0, out: 0x7d27, outHI: 0x0
+sh :: offset: 0x6e2, out: 0xdb8d7d27, outHI: 0x0
+sh :: offset: 0x6e4, out: 0x88e0db8d7d27, outHI: 0x0
+sh :: offset: 0x6e6, out: 0x185b88e0db8d7d27, outHI: 0x0
+sh :: offset: 0x6e8, out: 0x1b91, outHI: 0x0
+sh :: offset: 0x6ea, out: 0x2fd61b91, outHI: 0x0
+sh :: offset: 0x6ec, out: 0x4cd22fd61b91, outHI: 0x0
+sh :: offset: 0x6ee, out: 0x255a4cd22fd61b91, outHI: 0x0
+sh :: offset: 0x6f0, out: 0x3f7b, outHI: 0x0
+sh :: offset: 0x6f2, out: 0xa4363f7b, outHI: 0x0
+sh :: offset: 0x6f4, out: 0xd589a4363f7b, outHI: 0x0
+sh :: offset: 0x6f6, out: 0x1048d589a4363f7b, outHI: 0x0
+sh :: offset: 0x6f8, out: 0x5790, outHI: 0x0
+sh :: offset: 0x6fa, out: 0xf4605790, outHI: 0x0
+sh :: offset: 0x6fc, out: 0x5708f4605790, outHI: 0x0
+sh :: offset: 0x6fe, out: 0x6a6d5708f4605790, outHI: 0x0
+sh :: offset: 0x700, out: 0x697f, outHI: 0x0
+sh :: offset: 0x702, out: 0xde35697f, outHI: 0x0
+sh :: offset: 0x704, out: 0xcbabde35697f, outHI: 0x0
+sh :: offset: 0x706, out: 0xd58ecbabde35697f, outHI: 0x0
+sh :: offset: 0x708, out: 0xa5f1, outHI: 0x0
+sh :: offset: 0x70a, out: 0x8c0a5f1, outHI: 0x0
+sh :: offset: 0x70c, out: 0x48fd08c0a5f1, outHI: 0x0
+sh :: offset: 0x70e, out: 0x575548fd08c0a5f1, outHI: 0x0
+sh :: offset: 0x710, out: 0x8ddb, outHI: 0x0
+sh :: offset: 0x712, out: 0x8ed98ddb, outHI: 0x0
+sh :: offset: 0x714, out: 0x40fb8ed98ddb, outHI: 0x0
+sh :: offset: 0x716, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sh :: offset: 0x718, out: 0x78cc, outHI: 0x0
+sh :: offset: 0x71a, out: 0xabc578cc, outHI: 0x0
+sh :: offset: 0x71c, out: 0xd51eabc578cc, outHI: 0x0
+sh :: offset: 0x71e, out: 0xbe00d51eabc578cc, outHI: 0x0
+sh :: offset: 0x720, out: 0xab2, outHI: 0x0
+sh :: offset: 0x722, out: 0x1c170ab2, outHI: 0x0
+sh :: offset: 0x724, out: 0x224a1c170ab2, outHI: 0x0
+sh :: offset: 0x726, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sh :: offset: 0x728, out: 0x56a7, outHI: 0x0
+sh :: offset: 0x72a, out: 0xa22256a7, outHI: 0x0
+sh :: offset: 0x72c, out: 0xf12ca22256a7, outHI: 0x0
+sh :: offset: 0x72e, out: 0xa978f12ca22256a7, outHI: 0x0
+sh :: offset: 0x730, out: 0xe02f, outHI: 0x0
+sh :: offset: 0x732, out: 0x811ee02f, outHI: 0x0
+sh :: offset: 0x734, out: 0xa93b811ee02f, outHI: 0x0
+sh :: offset: 0x736, out: 0x9950a93b811ee02f, outHI: 0x0
+sh :: offset: 0x738, out: 0x6a0c, outHI: 0x0
+sh :: offset: 0x73a, out: 0xc6796a0c, outHI: 0x0
+sh :: offset: 0x73c, out: 0xea93c6796a0c, outHI: 0x0
+sh :: offset: 0x73e, out: 0xb44eea93c6796a0c, outHI: 0x0
+sh :: offset: 0x740, out: 0xb657, outHI: 0x0
+sh :: offset: 0x742, out: 0x6c0eb657, outHI: 0x0
+sh :: offset: 0x744, out: 0xfca06c0eb657, outHI: 0x0
+sh :: offset: 0x746, out: 0xfe71fca06c0eb657, outHI: 0x0
+sh :: offset: 0x748, out: 0xaf57, outHI: 0x0
+sh :: offset: 0x74a, out: 0xf818af57, outHI: 0x0
+sh :: offset: 0x74c, out: 0x393df818af57, outHI: 0x0
+sh :: offset: 0x74e, out: 0x4ed6393df818af57, outHI: 0x0
+sh :: offset: 0x750, out: 0x770a, outHI: 0x0
+sh :: offset: 0x752, out: 0x236770a, outHI: 0x0
+sh :: offset: 0x754, out: 0x90200236770a, outHI: 0x0
+sh :: offset: 0x756, out: 0xf22e90200236770a, outHI: 0x0
+sh :: offset: 0x758, out: 0xc45d, outHI: 0x0
+sh :: offset: 0x75a, out: 0xafd0c45d, outHI: 0x0
+sh :: offset: 0x75c, out: 0xb6c7afd0c45d, outHI: 0x0
+sh :: offset: 0x75e, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sh :: offset: 0x760, out: 0x315b, outHI: 0x0
+sh :: offset: 0x762, out: 0x8102315b, outHI: 0x0
+sh :: offset: 0x764, out: 0xf3518102315b, outHI: 0x0
+sh :: offset: 0x766, out: 0xeed8f3518102315b, outHI: 0x0
+sh :: offset: 0x768, out: 0xfd5e, outHI: 0x0
+sh :: offset: 0x76a, out: 0x995efd5e, outHI: 0x0
+sh :: offset: 0x76c, out: 0xefb9995efd5e, outHI: 0x0
+sh :: offset: 0x76e, out: 0xadafefb9995efd5e, outHI: 0x0
+sh :: offset: 0x770, out: 0x3086, outHI: 0x0
+sh :: offset: 0x772, out: 0xeb253086, outHI: 0x0
+sh :: offset: 0x774, out: 0x1933eb253086, outHI: 0x0
+sh :: offset: 0x776, out: 0x34061933eb253086, outHI: 0x0
+sh :: offset: 0x778, out: 0x52bc, outHI: 0x0
+sh :: offset: 0x77a, out: 0x4b4c52bc, outHI: 0x0
+sh :: offset: 0x77c, out: 0xda264b4c52bc, outHI: 0x0
+sh :: offset: 0x77e, out: 0x1748da264b4c52bc, outHI: 0x0
+sh :: offset: 0x780, out: 0xbe89, outHI: 0x0
+sh :: offset: 0x782, out: 0x9302be89, outHI: 0x0
+sh :: offset: 0x784, out: 0xfc9a9302be89, outHI: 0x0
+sh :: offset: 0x786, out: 0x34fdfc9a9302be89, outHI: 0x0
+sh :: offset: 0x788, out: 0xd180, outHI: 0x0
+sh :: offset: 0x78a, out: 0xc521d180, outHI: 0x0
+sh :: offset: 0x78c, out: 0x78c3c521d180, outHI: 0x0
+sh :: offset: 0x78e, out: 0xd00278c3c521d180, outHI: 0x0
+sh :: offset: 0x790, out: 0x7a5d, outHI: 0x0
+sh :: offset: 0x792, out: 0xc1d37a5d, outHI: 0x0
+sh :: offset: 0x794, out: 0x44a4c1d37a5d, outHI: 0x0
+sh :: offset: 0x796, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sh :: offset: 0x798, out: 0x9839, outHI: 0x0
+sh :: offset: 0x79a, out: 0xddef9839, outHI: 0x0
+sh :: offset: 0x79c, out: 0x698fddef9839, outHI: 0x0
+sh :: offset: 0x79e, out: 0x65fd698fddef9839, outHI: 0x0
+sh :: offset: 0x7a0, out: 0xaf52, outHI: 0x0
+sh :: offset: 0x7a2, out: 0x81b5af52, outHI: 0x0
+sh :: offset: 0x7a4, out: 0xe3ad81b5af52, outHI: 0x0
+sh :: offset: 0x7a6, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sh :: offset: 0x7a8, out: 0x63e9, outHI: 0x0
+sh :: offset: 0x7aa, out: 0xbdb263e9, outHI: 0x0
+sh :: offset: 0x7ac, out: 0x41e8bdb263e9, outHI: 0x0
+sh :: offset: 0x7ae, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sh :: offset: 0x7b0, out: 0xb58d, outHI: 0x0
+sh :: offset: 0x7b2, out: 0x42f3b58d, outHI: 0x0
+sh :: offset: 0x7b4, out: 0x209e42f3b58d, outHI: 0x0
+sh :: offset: 0x7b6, out: 0x372c209e42f3b58d, outHI: 0x0
+sh :: offset: 0x7b8, out: 0xa83b, outHI: 0x0
+sh :: offset: 0x7ba, out: 0xe122a83b, outHI: 0x0
+sh :: offset: 0x7bc, out: 0x70b7e122a83b, outHI: 0x0
+sh :: offset: 0x7be, out: 0x30f870b7e122a83b, outHI: 0x0
+sh :: offset: 0x7c0, out: 0x30ec, outHI: 0x0
+sh :: offset: 0x7c2, out: 0x678930ec, outHI: 0x0
+sh :: offset: 0x7c4, out: 0xde4b678930ec, outHI: 0x0
+sh :: offset: 0x7c6, out: 0x9e02de4b678930ec, outHI: 0x0
+sh :: offset: 0x7c8, out: 0x631e, outHI: 0x0
+sh :: offset: 0x7ca, out: 0x9826631e, outHI: 0x0
+sh :: offset: 0x7cc, out: 0xa8639826631e, outHI: 0x0
+sh :: offset: 0x7ce, out: 0xcd61a8639826631e, outHI: 0x0
+sh :: offset: 0x7d0, out: 0xd3ca, outHI: 0x0
+sh :: offset: 0x7d2, out: 0x9a7bd3ca, outHI: 0x0
+sh :: offset: 0x7d4, out: 0xbc899a7bd3ca, outHI: 0x0
+sh :: offset: 0x7d6, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sh :: offset: 0x7d8, out: 0xaf17, outHI: 0x0
+sh :: offset: 0x7da, out: 0x6481af17, outHI: 0x0
+sh :: offset: 0x7dc, out: 0x644d6481af17, outHI: 0x0
+sh :: offset: 0x7de, out: 0x58ec644d6481af17, outHI: 0x0
+sh :: offset: 0x7e0, out: 0xb666, outHI: 0x0
+sh :: offset: 0x7e2, out: 0xb236b666, outHI: 0x0
+sh :: offset: 0x7e4, out: 0xce5fb236b666, outHI: 0x0
+sh :: offset: 0x7e6, out: 0x680cce5fb236b666, outHI: 0x0
+sh :: offset: 0x7e8, out: 0x4d75, outHI: 0x0
+sh :: offset: 0x7ea, out: 0x1f6d4d75, outHI: 0x0
+sh :: offset: 0x7ec, out: 0x99471f6d4d75, outHI: 0x0
+sh :: offset: 0x7ee, out: 0x3baa99471f6d4d75, outHI: 0x0
+sh :: offset: 0x7f0, out: 0x236b, outHI: 0x0
+sh :: offset: 0x7f2, out: 0x5f12236b, outHI: 0x0
+sh :: offset: 0x7f4, out: 0x9b445f12236b, outHI: 0x0
+sh :: offset: 0x7f6, out: 0x614d9b445f12236b, outHI: 0x0
+sw :: offset: 0x0, out: 0x12bd6aa, outHI: 0x0
+sw :: offset: 0x4, out: 0x12bd6aa, outHI: 0x0
+sw :: offset: 0x8, out: 0x82d2ab13, outHI: 0x0
+sw :: offset: 0xc, out: 0x7e876382d2ab13, outHI: 0x0
+sw :: offset: 0x10, out: 0xc31510f3, outHI: 0x0
+sw :: offset: 0x14, out: 0x976d6e9ac31510f3, outHI: 0x0
+sw :: offset: 0x18, out: 0x5ad6a5fb, outHI: 0x0
+sw :: offset: 0x1c, out: 0xb7746d775ad6a5fb, outHI: 0x0
+sw :: offset: 0x20, out: 0x8677b502, outHI: 0x0
+sw :: offset: 0x24, out: 0x42b0c0a28677b502, outHI: 0x0
+sw :: offset: 0x28, out: 0x9e3c30ad, outHI: 0x0
+sw :: offset: 0x2c, out: 0x2aa89d319e3c30ad, outHI: 0x0
+sw :: offset: 0x30, out: 0x77fb413d, outHI: 0x0
+sw :: offset: 0x34, out: 0x1f308ec377fb413d, outHI: 0x0
+sw :: offset: 0x38, out: 0xc760e4f7, outHI: 0x0
+sw :: offset: 0x3c, out: 0x7aa04213c760e4f7, outHI: 0x0
+sw :: offset: 0x40, out: 0x1ad8dca0, outHI: 0x0
+sw :: offset: 0x44, out: 0x9e705cc51ad8dca0, outHI: 0x0
+sw :: offset: 0x48, out: 0x9615a60d, outHI: 0x0
+sw :: offset: 0x4c, out: 0x4b3dda869615a60d, outHI: 0x0
+sw :: offset: 0x50, out: 0x6353d41d, outHI: 0x0
+sw :: offset: 0x54, out: 0x5e7a4dd6353d41d, outHI: 0x0
+sw :: offset: 0x58, out: 0xc40bd413, outHI: 0x0
+sw :: offset: 0x5c, out: 0x3af35a9dc40bd413, outHI: 0x0
+sw :: offset: 0x60, out: 0x9a08a180, outHI: 0x0
+sw :: offset: 0x64, out: 0x47f505569a08a180, outHI: 0x0
+sw :: offset: 0x68, out: 0xd6d2040f, outHI: 0x0
+sw :: offset: 0x6c, out: 0x9564b77fd6d2040f, outHI: 0x0
+sw :: offset: 0x70, out: 0xb2c76bbe, outHI: 0x0
+sw :: offset: 0x74, out: 0xcebc8279b2c76bbe, outHI: 0x0
+sw :: offset: 0x78, out: 0x1f18e4c7, outHI: 0x0
+sw :: offset: 0x7c, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+sw :: offset: 0x80, out: 0x81afa797, outHI: 0x0
+sw :: offset: 0x84, out: 0x94ff52fc81afa797, outHI: 0x0
+sw :: offset: 0x88, out: 0x6dfc50ea, outHI: 0x0
+sw :: offset: 0x8c, out: 0x31d8d9166dfc50ea, outHI: 0x0
+sw :: offset: 0x90, out: 0x78e895b1, outHI: 0x0
+sw :: offset: 0x94, out: 0x36549bd678e895b1, outHI: 0x0
+sw :: offset: 0x98, out: 0x9b63259b, outHI: 0x0
+sw :: offset: 0x9c, out: 0x85e0a6319b63259b, outHI: 0x0
+sw :: offset: 0xa0, out: 0xccf17ac5, outHI: 0x0
+sw :: offset: 0xa4, out: 0x556b3ecaccf17ac5, outHI: 0x0
+sw :: offset: 0xa8, out: 0x81eea0fb, outHI: 0x0
+sw :: offset: 0xac, out: 0xb42f5fc581eea0fb, outHI: 0x0
+sw :: offset: 0xb0, out: 0x14682d97, outHI: 0x0
+sw :: offset: 0xb4, out: 0x25b50fec14682d97, outHI: 0x0
+sw :: offset: 0xb8, out: 0x2cfb087a, outHI: 0x0
+sw :: offset: 0xbc, out: 0xfc93c5132cfb087a, outHI: 0x0
+sw :: offset: 0xc0, out: 0xcda20766, outHI: 0x0
+sw :: offset: 0xc4, out: 0x3c2cd9a9cda20766, outHI: 0x0
+sw :: offset: 0xc8, out: 0x7d72da3e, outHI: 0x0
+sw :: offset: 0xcc, out: 0x1791722a7d72da3e, outHI: 0x0
+sw :: offset: 0xd0, out: 0x93ce24ad, outHI: 0x0
+sw :: offset: 0xd4, out: 0x87cc9d193ce24ad, outHI: 0x0
+sw :: offset: 0xd8, out: 0x38984ed2, outHI: 0x0
+sw :: offset: 0xdc, out: 0x1d2a757038984ed2, outHI: 0x0
+sw :: offset: 0xe0, out: 0x710cd036, outHI: 0x0
+sw :: offset: 0xe4, out: 0xd0d070db710cd036, outHI: 0x0
+sw :: offset: 0xe8, out: 0x3415604, outHI: 0x0
+sw :: offset: 0xec, out: 0x39c21c7d03415604, outHI: 0x0
+sw :: offset: 0xf0, out: 0x8ecc31ce, outHI: 0x0
+sw :: offset: 0xf4, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+sw :: offset: 0xf8, out: 0x1ce7674f, outHI: 0x0
+sw :: offset: 0xfc, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+sw :: offset: 0x100, out: 0x12d6e4a7, outHI: 0x0
+sw :: offset: 0x104, out: 0x2f39454412d6e4a7, outHI: 0x0
+sw :: offset: 0x108, out: 0x56da4c54, outHI: 0x0
+sw :: offset: 0x10c, out: 0x2608c2b756da4c54, outHI: 0x0
+sw :: offset: 0x110, out: 0xc8d7252f, outHI: 0x0
+sw :: offset: 0x114, out: 0x900102dac8d7252f, outHI: 0x0
+sw :: offset: 0x118, out: 0xf2efa4f7, outHI: 0x0
+sw :: offset: 0x11c, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+sw :: offset: 0x120, out: 0xc8b0a214, outHI: 0x0
+sw :: offset: 0x124, out: 0xed5005cbc8b0a214, outHI: 0x0
+sw :: offset: 0x128, out: 0x5991136c, outHI: 0x0
+sw :: offset: 0x12c, out: 0x314791895991136c, outHI: 0x0
+sw :: offset: 0x130, out: 0x9a2fb6f3, outHI: 0x0
+sw :: offset: 0x134, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+sw :: offset: 0x138, out: 0x38895270, outHI: 0x0
+sw :: offset: 0x13c, out: 0xa809521238895270, outHI: 0x0
+sw :: offset: 0x140, out: 0xad765040, outHI: 0x0
+sw :: offset: 0x144, out: 0x87750a04ad765040, outHI: 0x0
+sw :: offset: 0x148, out: 0x84bb5a83, outHI: 0x0
+sw :: offset: 0x14c, out: 0x2c3de85e84bb5a83, outHI: 0x0
+sw :: offset: 0x150, out: 0xc506aa67, outHI: 0x0
+sw :: offset: 0x154, out: 0xae6aff8fc506aa67, outHI: 0x0
+sw :: offset: 0x158, out: 0x60ed5ee3, outHI: 0x0
+sw :: offset: 0x15c, out: 0xc07112dd60ed5ee3, outHI: 0x0
+sw :: offset: 0x160, out: 0x30dcca5a, outHI: 0x0
+sw :: offset: 0x164, out: 0xc4c770f630dcca5a, outHI: 0x0
+sw :: offset: 0x168, out: 0x83cd5277, outHI: 0x0
+sw :: offset: 0x16c, out: 0xdfec2b2383cd5277, outHI: 0x0
+sw :: offset: 0x170, out: 0xff7d96b, outHI: 0x0
+sw :: offset: 0x174, out: 0xd3adba260ff7d96b, outHI: 0x0
+sw :: offset: 0x178, out: 0x8418c00e, outHI: 0x0
+sw :: offset: 0x17c, out: 0x4ab4aa798418c00e, outHI: 0x0
+sw :: offset: 0x180, out: 0xde0f0b8, outHI: 0x0
+sw :: offset: 0x184, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+sw :: offset: 0x188, out: 0xa97fdcf1, outHI: 0x0
+sw :: offset: 0x18c, out: 0x33b06f54a97fdcf1, outHI: 0x0
+sw :: offset: 0x190, out: 0x3fd1c081, outHI: 0x0
+sw :: offset: 0x194, out: 0x77433f373fd1c081, outHI: 0x0
+sw :: offset: 0x198, out: 0xc92195e4, outHI: 0x0
+sw :: offset: 0x19c, out: 0xec91d993c92195e4, outHI: 0x0
+sw :: offset: 0x1a0, out: 0x95b1a5ab, outHI: 0x0
+sw :: offset: 0x1a4, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+sw :: offset: 0x1a8, out: 0xc7ce8d1e, outHI: 0x0
+sw :: offset: 0x1ac, out: 0x19364378c7ce8d1e, outHI: 0x0
+sw :: offset: 0x1b0, out: 0x2f384907, outHI: 0x0
+sw :: offset: 0x1b4, out: 0xb99e8def2f384907, outHI: 0x0
+sw :: offset: 0x1b8, out: 0x582b12fe, outHI: 0x0
+sw :: offset: 0x1bc, out: 0x47eacdcd582b12fe, outHI: 0x0
+sw :: offset: 0x1c0, out: 0x76558c4f, outHI: 0x0
+sw :: offset: 0x1c4, out: 0xd685884e76558c4f, outHI: 0x0
+sw :: offset: 0x1c8, out: 0x34c195c7, outHI: 0x0
+sw :: offset: 0x1cc, out: 0x6168d62a34c195c7, outHI: 0x0
+sw :: offset: 0x1d0, out: 0x4df47405, outHI: 0x0
+sw :: offset: 0x1d4, out: 0xd30169894df47405, outHI: 0x0
+sw :: offset: 0x1d8, out: 0x6cbb06db, outHI: 0x0
+sw :: offset: 0x1dc, out: 0x1ca190bf6cbb06db, outHI: 0x0
+sw :: offset: 0x1e0, out: 0x9cae393a, outHI: 0x0
+sw :: offset: 0x1e4, out: 0x58300f029cae393a, outHI: 0x0
+sw :: offset: 0x1e8, out: 0xdc7ebc2d, outHI: 0x0
+sw :: offset: 0x1ec, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+sw :: offset: 0x1f0, out: 0xe3405b48, outHI: 0x0
+sw :: offset: 0x1f4, out: 0x8a96047be3405b48, outHI: 0x0
+sw :: offset: 0x1f8, out: 0xd519d322, outHI: 0x0
+sw :: offset: 0x1fc, out: 0x75bfafd2d519d322, outHI: 0x0
+sw :: offset: 0x200, out: 0xa630f6ad, outHI: 0x0
+sw :: offset: 0x204, out: 0xde230867a630f6ad, outHI: 0x0
+sw :: offset: 0x208, out: 0x56103260, outHI: 0x0
+sw :: offset: 0x20c, out: 0x2c0a0cf256103260, outHI: 0x0
+sw :: offset: 0x210, out: 0x249b18ef, outHI: 0x0
+sw :: offset: 0x214, out: 0x94a90544249b18ef, outHI: 0x0
+sw :: offset: 0x218, out: 0x5b56fcde, outHI: 0x0
+sw :: offset: 0x21c, out: 0xf9519fb55b56fcde, outHI: 0x0
+sw :: offset: 0x220, out: 0x468319b, outHI: 0x0
+sw :: offset: 0x224, out: 0x81daf8200468319b, outHI: 0x0
+sw :: offset: 0x228, out: 0x5725f2ec, outHI: 0x0
+sw :: offset: 0x22c, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+sw :: offset: 0x230, out: 0xc25dc8bf, outHI: 0x0
+sw :: offset: 0x234, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+sw :: offset: 0x238, out: 0xdac6162f, outHI: 0x0
+sw :: offset: 0x23c, out: 0x300ce751dac6162f, outHI: 0x0
+sw :: offset: 0x240, out: 0xba52a850, outHI: 0x0
+sw :: offset: 0x244, out: 0x6778fdf3ba52a850, outHI: 0x0
+sw :: offset: 0x248, out: 0xda78479f, outHI: 0x0
+sw :: offset: 0x24c, out: 0xad00b1f7da78479f, outHI: 0x0
+sw :: offset: 0x250, out: 0xa6b6d98a, outHI: 0x0
+sw :: offset: 0x254, out: 0x8d44168a6b6d98a, outHI: 0x0
+sw :: offset: 0x258, out: 0xce634413, outHI: 0x0
+sw :: offset: 0x25c, out: 0xf518381dce634413, outHI: 0x0
+sw :: offset: 0x260, out: 0xe5255fc0, outHI: 0x0
+sw :: offset: 0x264, out: 0xe4627f3fe5255fc0, outHI: 0x0
+sw :: offset: 0x268, out: 0x76321f28, outHI: 0x0
+sw :: offset: 0x26c, out: 0xccd392e176321f28, outHI: 0x0
+sw :: offset: 0x270, out: 0x4018fd8f, outHI: 0x0
+sw :: offset: 0x274, out: 0x829464944018fd8f, outHI: 0x0
+sw :: offset: 0x278, out: 0x52e8f0e5, outHI: 0x0
+sw :: offset: 0x27c, out: 0x15d3204052e8f0e5, outHI: 0x0
+sw :: offset: 0x280, out: 0x880ff344, outHI: 0x0
+sw :: offset: 0x284, out: 0x7caf83d2880ff344, outHI: 0x0
+sw :: offset: 0x288, out: 0x747defd7, outHI: 0x0
+sw :: offset: 0x28c, out: 0xf156a04c747defd7, outHI: 0x0
+sw :: offset: 0x290, out: 0xf31d710, outHI: 0x0
+sw :: offset: 0x294, out: 0x93e2601c0f31d710, outHI: 0x0
+sw :: offset: 0x298, out: 0x131cd933, outHI: 0x0
+sw :: offset: 0x29c, out: 0xe1e1a679131cd933, outHI: 0x0
+sw :: offset: 0x2a0, out: 0xa76fa427, outHI: 0x0
+sw :: offset: 0x2a4, out: 0x24296b75a76fa427, outHI: 0x0
+sw :: offset: 0x2a8, out: 0x139ee56a, outHI: 0x0
+sw :: offset: 0x2ac, out: 0xd296e2d2139ee56a, outHI: 0x0
+sw :: offset: 0x2b0, out: 0x6dc2a5c0, outHI: 0x0
+sw :: offset: 0x2b4, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+sw :: offset: 0x2b8, out: 0xc07dc168, outHI: 0x0
+sw :: offset: 0x2bc, out: 0x76c89e80c07dc168, outHI: 0x0
+sw :: offset: 0x2c0, out: 0x4bfe348f, outHI: 0x0
+sw :: offset: 0x2c4, out: 0x70dc3454bfe348f, outHI: 0x0
+sw :: offset: 0x2c8, out: 0xdd6d241b, outHI: 0x0
+sw :: offset: 0x2cc, out: 0xbddc7123dd6d241b, outHI: 0x0
+sw :: offset: 0x2d0, out: 0xa59fcebe, outHI: 0x0
+sw :: offset: 0x2d4, out: 0xf62fb727a59fcebe, outHI: 0x0
+sw :: offset: 0x2d8, out: 0xf9f46fb, outHI: 0x0
+sw :: offset: 0x2dc, out: 0x109f27e90f9f46fb, outHI: 0x0
+sw :: offset: 0x2e0, out: 0xafd199d7, outHI: 0x0
+sw :: offset: 0x2e4, out: 0x3f63daa9afd199d7, outHI: 0x0
+sw :: offset: 0x2e8, out: 0xa3d484f2, outHI: 0x0
+sw :: offset: 0x2ec, out: 0xdbcb312ea3d484f2, outHI: 0x0
+sw :: offset: 0x2f0, out: 0xda4fe4c6, outHI: 0x0
+sw :: offset: 0x2f4, out: 0x1f353faada4fe4c6, outHI: 0x0
+sw :: offset: 0x2f8, out: 0x7150c260, outHI: 0x0
+sw :: offset: 0x2fc, out: 0x8b086ee07150c260, outHI: 0x0
+sw :: offset: 0x300, out: 0xd9257f25, outHI: 0x0
+sw :: offset: 0x304, out: 0xe54750d5d9257f25, outHI: 0x0
+sw :: offset: 0x308, out: 0xe9a6db5b, outHI: 0x0
+sw :: offset: 0x30c, out: 0x3d69625fe9a6db5b, outHI: 0x0
+sw :: offset: 0x310, out: 0x4340ac96, outHI: 0x0
+sw :: offset: 0x314, out: 0x70a3e0424340ac96, outHI: 0x0
+sw :: offset: 0x318, out: 0x6980171e, outHI: 0x0
+sw :: offset: 0x31c, out: 0xc0478f036980171e, outHI: 0x0
+sw :: offset: 0x320, out: 0x1cf929e3, outHI: 0x0
+sw :: offset: 0x324, out: 0x3ce839a51cf929e3, outHI: 0x0
+sw :: offset: 0x328, out: 0x5eb68958, outHI: 0x0
+sw :: offset: 0x32c, out: 0xe2fbfa895eb68958, outHI: 0x0
+sw :: offset: 0x330, out: 0x76ed25b7, outHI: 0x0
+sw :: offset: 0x334, out: 0xd24bb05d76ed25b7, outHI: 0x0
+sw :: offset: 0x338, out: 0x170312f1, outHI: 0x0
+sw :: offset: 0x33c, out: 0xeb9682c170312f1, outHI: 0x0
+sw :: offset: 0x340, out: 0xdd301d0d, outHI: 0x0
+sw :: offset: 0x344, out: 0x84785280dd301d0d, outHI: 0x0
+sw :: offset: 0x348, out: 0x1f8fd6ef, outHI: 0x0
+sw :: offset: 0x34c, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+sw :: offset: 0x350, out: 0x2998436d, outHI: 0x0
+sw :: offset: 0x354, out: 0x26444ced2998436d, outHI: 0x0
+sw :: offset: 0x358, out: 0xd58ca708, outHI: 0x0
+sw :: offset: 0x35c, out: 0x7175c9dd58ca708, outHI: 0x0
+sw :: offset: 0x360, out: 0x55833287, outHI: 0x0
+sw :: offset: 0x364, out: 0x663d061055833287, outHI: 0x0
+sw :: offset: 0x368, out: 0x8951d68b, outHI: 0x0
+sw :: offset: 0x36c, out: 0xab7dd0488951d68b, outHI: 0x0
+sw :: offset: 0x370, out: 0xe82471b, outHI: 0x0
+sw :: offset: 0x374, out: 0xf69823670e82471b, outHI: 0x0
+sw :: offset: 0x378, out: 0xd98d26b2, outHI: 0x0
+sw :: offset: 0x37c, out: 0x36886c59d98d26b2, outHI: 0x0
+sw :: offset: 0x380, out: 0xd32be479, outHI: 0x0
+sw :: offset: 0x384, out: 0x9ca4bdbd32be479, outHI: 0x0
+sw :: offset: 0x388, out: 0x9962e61f, outHI: 0x0
+sw :: offset: 0x38c, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+sw :: offset: 0x390, out: 0xcad374df, outHI: 0x0
+sw :: offset: 0x394, out: 0x3f46553ecad374df, outHI: 0x0
+sw :: offset: 0x398, out: 0x3eedf2a7, outHI: 0x0
+sw :: offset: 0x39c, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+sw :: offset: 0x3a0, out: 0x3c0c9f33, outHI: 0x0
+sw :: offset: 0x3a4, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+sw :: offset: 0x3a8, out: 0x155ec9dc, outHI: 0x0
+sw :: offset: 0x3ac, out: 0x8bb938e3155ec9dc, outHI: 0x0
+sw :: offset: 0x3b0, out: 0x19478206, outHI: 0x0
+sw :: offset: 0x3b4, out: 0xd2df25c419478206, outHI: 0x0
+sw :: offset: 0x3b8, out: 0xeb321825, outHI: 0x0
+sw :: offset: 0x3bc, out: 0xbc65bf27eb321825, outHI: 0x0
+sw :: offset: 0x3c0, out: 0x7a8bc7da, outHI: 0x0
+sw :: offset: 0x3c4, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+sw :: offset: 0x3c8, out: 0xf8dfcde8, outHI: 0x0
+sw :: offset: 0x3cc, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+sw :: offset: 0x3d0, out: 0x59a99269, outHI: 0x0
+sw :: offset: 0x3d4, out: 0x478909b59a99269, outHI: 0x0
+sw :: offset: 0x3d8, out: 0x7857360f, outHI: 0x0
+sw :: offset: 0x3dc, out: 0xbfb31cc87857360f, outHI: 0x0
+sw :: offset: 0x3e0, out: 0x7f89e9a2, outHI: 0x0
+sw :: offset: 0x3e4, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+sw :: offset: 0x3e8, out: 0xb7a8d5e4, outHI: 0x0
+sw :: offset: 0x3ec, out: 0x15da9474b7a8d5e4, outHI: 0x0
+sw :: offset: 0x3f0, out: 0x2af90fcc, outHI: 0x0
+sw :: offset: 0x3f4, out: 0xf6b3537d2af90fcc, outHI: 0x0
+sw :: offset: 0x3f8, out: 0x2b961897, outHI: 0x0
+sw :: offset: 0x3fc, out: 0x223d7cfe2b961897, outHI: 0x0
+sw :: offset: 0x400, out: 0x33734a4b, outHI: 0x0
+sw :: offset: 0x404, out: 0x420b34f533734a4b, outHI: 0x0
+sw :: offset: 0x408, out: 0xdd46b33c, outHI: 0x0
+sw :: offset: 0x40c, out: 0x897c8c8ddd46b33c, outHI: 0x0
+sw :: offset: 0x410, out: 0xe392ccd9, outHI: 0x0
+sw :: offset: 0x414, out: 0x7a387445e392ccd9, outHI: 0x0
+sw :: offset: 0x418, out: 0xd80000c9, outHI: 0x0
+sw :: offset: 0x41c, out: 0x512f29b1d80000c9, outHI: 0x0
+sw :: offset: 0x420, out: 0x3dad020a, outHI: 0x0
+sw :: offset: 0x424, out: 0xeaded5c53dad020a, outHI: 0x0
+sw :: offset: 0x428, out: 0x31eea35b, outHI: 0x0
+sw :: offset: 0x42c, out: 0x8a6229d731eea35b, outHI: 0x0
+sw :: offset: 0x430, out: 0x48985649, outHI: 0x0
+sw :: offset: 0x434, out: 0x2c3c3f9e48985649, outHI: 0x0
+sw :: offset: 0x438, out: 0xdc9c0b77, outHI: 0x0
+sw :: offset: 0x43c, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+sw :: offset: 0x440, out: 0x1d5e68ec, outHI: 0x0
+sw :: offset: 0x444, out: 0x2299b0e01d5e68ec, outHI: 0x0
+sw :: offset: 0x448, out: 0x3d0c6e25, outHI: 0x0
+sw :: offset: 0x44c, out: 0x7c3b04673d0c6e25, outHI: 0x0
+sw :: offset: 0x450, out: 0xe7fb6587, outHI: 0x0
+sw :: offset: 0x454, out: 0x164e17c1e7fb6587, outHI: 0x0
+sw :: offset: 0x458, out: 0x56d4950b, outHI: 0x0
+sw :: offset: 0x45c, out: 0xfa4ca28b56d4950b, outHI: 0x0
+sw :: offset: 0x460, out: 0xbe7fa08a, outHI: 0x0
+sw :: offset: 0x464, out: 0xe5e9a314be7fa08a, outHI: 0x0
+sw :: offset: 0x468, out: 0x159649c5, outHI: 0x0
+sw :: offset: 0x46c, out: 0xf8be8164159649c5, outHI: 0x0
+sw :: offset: 0x470, out: 0x84e69b17, outHI: 0x0
+sw :: offset: 0x474, out: 0x7ca3259784e69b17, outHI: 0x0
+sw :: offset: 0x478, out: 0xa1f24f5c, outHI: 0x0
+sw :: offset: 0x47c, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+sw :: offset: 0x480, out: 0xe3459e36, outHI: 0x0
+sw :: offset: 0x484, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+sw :: offset: 0x488, out: 0x187980fa, outHI: 0x0
+sw :: offset: 0x48c, out: 0xc532e18e187980fa, outHI: 0x0
+sw :: offset: 0x490, out: 0x4f287d1c, outHI: 0x0
+sw :: offset: 0x494, out: 0xb3fdec294f287d1c, outHI: 0x0
+sw :: offset: 0x498, out: 0x49732b90, outHI: 0x0
+sw :: offset: 0x49c, out: 0xb620660a49732b90, outHI: 0x0
+sw :: offset: 0x4a0, out: 0x6cfde991, outHI: 0x0
+sw :: offset: 0x4a4, out: 0x993138f16cfde991, outHI: 0x0
+sw :: offset: 0x4a8, out: 0x7d5407b9, outHI: 0x0
+sw :: offset: 0x4ac, out: 0xde02d1337d5407b9, outHI: 0x0
+sw :: offset: 0x4b0, out: 0xe1dab15a, outHI: 0x0
+sw :: offset: 0x4b4, out: 0x13a390e1e1dab15a, outHI: 0x0
+sw :: offset: 0x4b8, out: 0x828716c8, outHI: 0x0
+sw :: offset: 0x4bc, out: 0x743491a6828716c8, outHI: 0x0
+sw :: offset: 0x4c0, out: 0xede292f2, outHI: 0x0
+sw :: offset: 0x4c4, out: 0x8cff404aede292f2, outHI: 0x0
+sw :: offset: 0x4c8, out: 0x1f837636, outHI: 0x0
+sw :: offset: 0x4cc, out: 0xb9cec0db1f837636, outHI: 0x0
+sw :: offset: 0x4d0, out: 0x509771c, outHI: 0x0
+sw :: offset: 0x4d4, out: 0x2eaa5aa70509771c, outHI: 0x0
+sw :: offset: 0x4d8, out: 0x1875241b, outHI: 0x0
+sw :: offset: 0x4dc, out: 0xd327538e1875241b, outHI: 0x0
+sw :: offset: 0x4e0, out: 0x8b739b6b, outHI: 0x0
+sw :: offset: 0x4e4, out: 0x42e9f8548b739b6b, outHI: 0x0
+sw :: offset: 0x4e8, out: 0xeccbba1a, outHI: 0x0
+sw :: offset: 0x4ec, out: 0x78e4e50ceccbba1a, outHI: 0x0
+sw :: offset: 0x4f0, out: 0xcd9d27cb, outHI: 0x0
+sw :: offset: 0x4f4, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+sw :: offset: 0x4f8, out: 0xae3e9423, outHI: 0x0
+sw :: offset: 0x4fc, out: 0x73916483ae3e9423, outHI: 0x0
+sw :: offset: 0x500, out: 0xe128561, outHI: 0x0
+sw :: offset: 0x504, out: 0x276af70a0e128561, outHI: 0x0
+sw :: offset: 0x508, out: 0xb5e74b6e, outHI: 0x0
+sw :: offset: 0x50c, out: 0x3045bf6b5e74b6e, outHI: 0x0
+sw :: offset: 0x510, out: 0x8accfa6, outHI: 0x0
+sw :: offset: 0x514, out: 0x20223f1308accfa6, outHI: 0x0
+sw :: offset: 0x518, out: 0x3976b5f5, outHI: 0x0
+sw :: offset: 0x51c, out: 0xf83c55743976b5f5, outHI: 0x0
+sw :: offset: 0x520, out: 0x46923c3d, outHI: 0x0
+sw :: offset: 0x524, out: 0x1f9720f946923c3d, outHI: 0x0
+sw :: offset: 0x528, out: 0x6d2448dd, outHI: 0x0
+sw :: offset: 0x52c, out: 0x620d28506d2448dd, outHI: 0x0
+sw :: offset: 0x530, out: 0x9ff4a732, outHI: 0x0
+sw :: offset: 0x534, out: 0x60a521e99ff4a732, outHI: 0x0
+sw :: offset: 0x538, out: 0x5c680f0b, outHI: 0x0
+sw :: offset: 0x53c, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+sw :: offset: 0x540, out: 0x800f3d26, outHI: 0x0
+sw :: offset: 0x544, out: 0xc7a59be7800f3d26, outHI: 0x0
+sw :: offset: 0x548, out: 0x82ca1b41, outHI: 0x0
+sw :: offset: 0x54c, out: 0x1aecdf2982ca1b41, outHI: 0x0
+sw :: offset: 0x550, out: 0x60d19dcd, outHI: 0x0
+sw :: offset: 0x554, out: 0x2b8613a260d19dcd, outHI: 0x0
+sw :: offset: 0x558, out: 0xe8bbe7f, outHI: 0x0
+sw :: offset: 0x55c, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+sw :: offset: 0x560, out: 0x2fcf486b, outHI: 0x0
+sw :: offset: 0x564, out: 0x743e568d2fcf486b, outHI: 0x0
+sw :: offset: 0x568, out: 0x34c31728, outHI: 0x0
+sw :: offset: 0x56c, out: 0x126f646f34c31728, outHI: 0x0
+sw :: offset: 0x570, out: 0x56fc4d12, outHI: 0x0
+sw :: offset: 0x574, out: 0xaab0196156fc4d12, outHI: 0x0
+sw :: offset: 0x578, out: 0x8595d342, outHI: 0x0
+sw :: offset: 0x57c, out: 0x7535cd338595d342, outHI: 0x0
+sw :: offset: 0x580, out: 0x422346ec, outHI: 0x0
+sw :: offset: 0x584, out: 0xdfb254da422346ec, outHI: 0x0
+sw :: offset: 0x588, out: 0x81ab2a, outHI: 0x0
+sw :: offset: 0x58c, out: 0xa86726c90081ab2a, outHI: 0x0
+sw :: offset: 0x590, out: 0x679d7438, outHI: 0x0
+sw :: offset: 0x594, out: 0x9bfeffa1679d7438, outHI: 0x0
+sw :: offset: 0x598, out: 0xb7dee244, outHI: 0x0
+sw :: offset: 0x59c, out: 0xc7699826b7dee244, outHI: 0x0
+sw :: offset: 0x5a0, out: 0xfba6704a, outHI: 0x0
+sw :: offset: 0x5a4, out: 0x3c07af97fba6704a, outHI: 0x0
+sw :: offset: 0x5a8, out: 0x4c58bfe, outHI: 0x0
+sw :: offset: 0x5ac, out: 0x521364dc04c58bfe, outHI: 0x0
+sw :: offset: 0x5b0, out: 0x9ab7aebc, outHI: 0x0
+sw :: offset: 0x5b4, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+sw :: offset: 0x5b8, out: 0xdeeb954d, outHI: 0x0
+sw :: offset: 0x5bc, out: 0xe336c60cdeeb954d, outHI: 0x0
+sw :: offset: 0x5c0, out: 0x6f52416e, outHI: 0x0
+sw :: offset: 0x5c4, out: 0xd5b2120c6f52416e, outHI: 0x0
+sw :: offset: 0x5c8, out: 0x7e628a34, outHI: 0x0
+sw :: offset: 0x5cc, out: 0x85a2d4ff7e628a34, outHI: 0x0
+sw :: offset: 0x5d0, out: 0x4a4e7e07, outHI: 0x0
+sw :: offset: 0x5d4, out: 0x986a2b654a4e7e07, outHI: 0x0
+sw :: offset: 0x5d8, out: 0x3a489b55, outHI: 0x0
+sw :: offset: 0x5dc, out: 0xa974eac43a489b55, outHI: 0x0
+sw :: offset: 0x5e0, out: 0x72f1f8f5, outHI: 0x0
+sw :: offset: 0x5e4, out: 0xa388c16272f1f8f5, outHI: 0x0
+sw :: offset: 0x5e8, out: 0xe7495ea9, outHI: 0x0
+sw :: offset: 0x5ec, out: 0xe8c11f45e7495ea9, outHI: 0x0
+sw :: offset: 0x5f0, out: 0x5cc1c8b4, outHI: 0x0
+sw :: offset: 0x5f4, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+sw :: offset: 0x5f8, out: 0xdfa605c0, outHI: 0x0
+sw :: offset: 0x5fc, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+sw :: offset: 0x600, out: 0x59a7b04f, outHI: 0x0
+sw :: offset: 0x604, out: 0xb42ad6e659a7b04f, outHI: 0x0
+sw :: offset: 0x608, out: 0xb728922f, outHI: 0x0
+sw :: offset: 0x60c, out: 0x4bf8485ab728922f, outHI: 0x0
+sw :: offset: 0x610, out: 0x3b66a7fb, outHI: 0x0
+sw :: offset: 0x614, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+sw :: offset: 0x618, out: 0xfdc28eda, outHI: 0x0
+sw :: offset: 0x61c, out: 0x31e0c6affdc28eda, outHI: 0x0
+sw :: offset: 0x620, out: 0xbf0c999d, outHI: 0x0
+sw :: offset: 0x624, out: 0x53606bb4bf0c999d, outHI: 0x0
+sw :: offset: 0x628, out: 0x1b7919f0, outHI: 0x0
+sw :: offset: 0x62c, out: 0x32fc12c81b7919f0, outHI: 0x0
+sw :: offset: 0x630, out: 0xc72efcd6, outHI: 0x0
+sw :: offset: 0x634, out: 0x3ef88384c72efcd6, outHI: 0x0
+sw :: offset: 0x638, out: 0x6a2a3580, outHI: 0x0
+sw :: offset: 0x63c, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+sw :: offset: 0x640, out: 0x1dca77c9, outHI: 0x0
+sw :: offset: 0x644, out: 0x15ebf6121dca77c9, outHI: 0x0
+sw :: offset: 0x648, out: 0xfd9147ae, outHI: 0x0
+sw :: offset: 0x64c, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+sw :: offset: 0x650, out: 0x81e91117, outHI: 0x0
+sw :: offset: 0x654, out: 0xbb8470f981e91117, outHI: 0x0
+sw :: offset: 0x658, out: 0xc6a532e0, outHI: 0x0
+sw :: offset: 0x65c, out: 0x5d42aeac6a532e0, outHI: 0x0
+sw :: offset: 0x660, out: 0x19fb9e63, outHI: 0x0
+sw :: offset: 0x664, out: 0x14abf36419fb9e63, outHI: 0x0
+sw :: offset: 0x668, out: 0xa8d72aac, outHI: 0x0
+sw :: offset: 0x66c, out: 0x249d559aa8d72aac, outHI: 0x0
+sw :: offset: 0x670, out: 0x84b30ec, outHI: 0x0
+sw :: offset: 0x674, out: 0xcd6764f084b30ec, outHI: 0x0
+sw :: offset: 0x678, out: 0x92468fdf, outHI: 0x0
+sw :: offset: 0x67c, out: 0x7f03ac0792468fdf, outHI: 0x0
+sw :: offset: 0x680, out: 0x56e670f5, outHI: 0x0
+sw :: offset: 0x684, out: 0x7e35ce6d56e670f5, outHI: 0x0
+sw :: offset: 0x688, out: 0x1a652711, outHI: 0x0
+sw :: offset: 0x68c, out: 0x152828591a652711, outHI: 0x0
+sw :: offset: 0x690, out: 0xd215a9fb, outHI: 0x0
+sw :: offset: 0x694, out: 0x9e1c3283d215a9fb, outHI: 0x0
+sw :: offset: 0x698, out: 0x282a0417, outHI: 0x0
+sw :: offset: 0x69c, out: 0x8d95c049282a0417, outHI: 0x0
+sw :: offset: 0x6a0, out: 0x978058f3, outHI: 0x0
+sw :: offset: 0x6a4, out: 0xf2e7a490978058f3, outHI: 0x0
+sw :: offset: 0x6a8, out: 0x975b1aa, outHI: 0x0
+sw :: offset: 0x6ac, out: 0x775b4cca0975b1aa, outHI: 0x0
+sw :: offset: 0x6b0, out: 0x35111020, outHI: 0x0
+sw :: offset: 0x6b4, out: 0xa2b84a635111020, outHI: 0x0
+sw :: offset: 0x6b8, out: 0xa7d88b6f, outHI: 0x0
+sw :: offset: 0x6bc, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+sw :: offset: 0x6c0, out: 0x9941dedd, outHI: 0x0
+sw :: offset: 0x6c4, out: 0xa3d991b79941dedd, outHI: 0x0
+sw :: offset: 0x6c8, out: 0x5a0d9508, outHI: 0x0
+sw :: offset: 0x6cc, out: 0x751cb4835a0d9508, outHI: 0x0
+sw :: offset: 0x6d0, out: 0x625bb2d3, outHI: 0x0
+sw :: offset: 0x6d4, out: 0x949cad35625bb2d3, outHI: 0x0
+sw :: offset: 0x6d8, out: 0xa6929739, outHI: 0x0
+sw :: offset: 0x6dc, out: 0x7f567f35a6929739, outHI: 0x0
+sw :: offset: 0x6e0, out: 0xdb8d7d27, outHI: 0x0
+sw :: offset: 0x6e4, out: 0x185b88e0db8d7d27, outHI: 0x0
+sw :: offset: 0x6e8, out: 0x2fd61b91, outHI: 0x0
+sw :: offset: 0x6ec, out: 0x255a4cd22fd61b91, outHI: 0x0
+sw :: offset: 0x6f0, out: 0xa4363f7b, outHI: 0x0
+sw :: offset: 0x6f4, out: 0x1048d589a4363f7b, outHI: 0x0
+sw :: offset: 0x6f8, out: 0xf4605790, outHI: 0x0
+sw :: offset: 0x6fc, out: 0x6a6d5708f4605790, outHI: 0x0
+sw :: offset: 0x700, out: 0xde35697f, outHI: 0x0
+sw :: offset: 0x704, out: 0xd58ecbabde35697f, outHI: 0x0
+sw :: offset: 0x708, out: 0x8c0a5f1, outHI: 0x0
+sw :: offset: 0x70c, out: 0x575548fd08c0a5f1, outHI: 0x0
+sw :: offset: 0x710, out: 0x8ed98ddb, outHI: 0x0
+sw :: offset: 0x714, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+sw :: offset: 0x718, out: 0xabc578cc, outHI: 0x0
+sw :: offset: 0x71c, out: 0xbe00d51eabc578cc, outHI: 0x0
+sw :: offset: 0x720, out: 0x1c170ab2, outHI: 0x0
+sw :: offset: 0x724, out: 0x2f7e224a1c170ab2, outHI: 0x0
+sw :: offset: 0x728, out: 0xa22256a7, outHI: 0x0
+sw :: offset: 0x72c, out: 0xa978f12ca22256a7, outHI: 0x0
+sw :: offset: 0x730, out: 0x811ee02f, outHI: 0x0
+sw :: offset: 0x734, out: 0x9950a93b811ee02f, outHI: 0x0
+sw :: offset: 0x738, out: 0xc6796a0c, outHI: 0x0
+sw :: offset: 0x73c, out: 0xb44eea93c6796a0c, outHI: 0x0
+sw :: offset: 0x740, out: 0x6c0eb657, outHI: 0x0
+sw :: offset: 0x744, out: 0xfe71fca06c0eb657, outHI: 0x0
+sw :: offset: 0x748, out: 0xf818af57, outHI: 0x0
+sw :: offset: 0x74c, out: 0x4ed6393df818af57, outHI: 0x0
+sw :: offset: 0x750, out: 0x236770a, outHI: 0x0
+sw :: offset: 0x754, out: 0xf22e90200236770a, outHI: 0x0
+sw :: offset: 0x758, out: 0xafd0c45d, outHI: 0x0
+sw :: offset: 0x75c, out: 0x81efb6c7afd0c45d, outHI: 0x0
+sw :: offset: 0x760, out: 0x8102315b, outHI: 0x0
+sw :: offset: 0x764, out: 0xeed8f3518102315b, outHI: 0x0
+sw :: offset: 0x768, out: 0x995efd5e, outHI: 0x0
+sw :: offset: 0x76c, out: 0xadafefb9995efd5e, outHI: 0x0
+sw :: offset: 0x770, out: 0xeb253086, outHI: 0x0
+sw :: offset: 0x774, out: 0x34061933eb253086, outHI: 0x0
+sw :: offset: 0x778, out: 0x4b4c52bc, outHI: 0x0
+sw :: offset: 0x77c, out: 0x1748da264b4c52bc, outHI: 0x0
+sw :: offset: 0x780, out: 0x9302be89, outHI: 0x0
+sw :: offset: 0x784, out: 0x34fdfc9a9302be89, outHI: 0x0
+sw :: offset: 0x788, out: 0xc521d180, outHI: 0x0
+sw :: offset: 0x78c, out: 0xd00278c3c521d180, outHI: 0x0
+sw :: offset: 0x790, out: 0xc1d37a5d, outHI: 0x0
+sw :: offset: 0x794, out: 0xe90944a4c1d37a5d, outHI: 0x0
+sw :: offset: 0x798, out: 0xddef9839, outHI: 0x0
+sw :: offset: 0x79c, out: 0x65fd698fddef9839, outHI: 0x0
+sw :: offset: 0x7a0, out: 0x81b5af52, outHI: 0x0
+sw :: offset: 0x7a4, out: 0xc49ee3ad81b5af52, outHI: 0x0
+sw :: offset: 0x7a8, out: 0xbdb263e9, outHI: 0x0
+sw :: offset: 0x7ac, out: 0x7aa941e8bdb263e9, outHI: 0x0
+sw :: offset: 0x7b0, out: 0x42f3b58d, outHI: 0x0
+sw :: offset: 0x7b4, out: 0x372c209e42f3b58d, outHI: 0x0
+sw :: offset: 0x7b8, out: 0xe122a83b, outHI: 0x0
+sw :: offset: 0x7bc, out: 0x30f870b7e122a83b, outHI: 0x0
+sw :: offset: 0x7c0, out: 0x678930ec, outHI: 0x0
+sw :: offset: 0x7c4, out: 0x9e02de4b678930ec, outHI: 0x0
+sw :: offset: 0x7c8, out: 0x9826631e, outHI: 0x0
+sw :: offset: 0x7cc, out: 0xcd61a8639826631e, outHI: 0x0
+sw :: offset: 0x7d0, out: 0x9a7bd3ca, outHI: 0x0
+sw :: offset: 0x7d4, out: 0xae87bc899a7bd3ca, outHI: 0x0
+sw :: offset: 0x7d8, out: 0x6481af17, outHI: 0x0
+sw :: offset: 0x7dc, out: 0x58ec644d6481af17, outHI: 0x0
+sw :: offset: 0x7e0, out: 0xb236b666, outHI: 0x0
+sw :: offset: 0x7e4, out: 0x680cce5fb236b666, outHI: 0x0
+sw :: offset: 0x7e8, out: 0x1f6d4d75, outHI: 0x0
+sw :: offset: 0x7ec, out: 0x3baa99471f6d4d75, outHI: 0x0
+sw :: offset: 0x7f0, out: 0x5f12236b, outHI: 0x0
+sw :: offset: 0x7f4, out: 0x614d9b445f12236b, outHI: 0x0
+swl :: offset: 0x4, out: 0x0, outHI: 0x0
+swl :: offset: 0x5, out: 0x130000000000, outHI: 0x0
+swl :: offset: 0x6, out: 0xab130000000000, outHI: 0x0
+swl :: offset: 0x7, out: 0xd2ab130000000000, outHI: 0x0
+swl :: offset: 0x8, out: 0x82, outHI: 0x0
+swl :: offset: 0x9, out: 0x6382, outHI: 0x0
+swl :: offset: 0xa, out: 0x876382, outHI: 0x0
+swl :: offset: 0xb, out: 0x7e876382, outHI: 0x0
+swl :: offset: 0xc, out: 0x7e876382, outHI: 0x0
+swl :: offset: 0xd, out: 0xf3007e876382, outHI: 0x0
+swl :: offset: 0xe, out: 0x10f3007e876382, outHI: 0x0
+swl :: offset: 0xf, out: 0x1510f3007e876382, outHI: 0x0
+swl :: offset: 0x10, out: 0xc3, outHI: 0x0
+swl :: offset: 0x11, out: 0x9ac3, outHI: 0x0
+swl :: offset: 0x12, out: 0x6e9ac3, outHI: 0x0
+swl :: offset: 0x13, out: 0x6d6e9ac3, outHI: 0x0
+swl :: offset: 0x14, out: 0x976d6e9ac3, outHI: 0x0
+swl :: offset: 0x15, out: 0xfb976d6e9ac3, outHI: 0x0
+swl :: offset: 0x16, out: 0xa5fb976d6e9ac3, outHI: 0x0
+swl :: offset: 0x17, out: 0xd6a5fb976d6e9ac3, outHI: 0x0
+swl :: offset: 0x18, out: 0x5a, outHI: 0x0
+swl :: offset: 0x19, out: 0x775a, outHI: 0x0
+swl :: offset: 0x1a, out: 0x6d775a, outHI: 0x0
+swl :: offset: 0x1b, out: 0x746d775a, outHI: 0x0
+swl :: offset: 0x1c, out: 0xb7746d775a, outHI: 0x0
+swl :: offset: 0x1d, out: 0x2b7746d775a, outHI: 0x0
+swl :: offset: 0x1e, out: 0xb502b7746d775a, outHI: 0x0
+swl :: offset: 0x1f, out: 0x77b502b7746d775a, outHI: 0x0
+swl :: offset: 0x20, out: 0x86, outHI: 0x0
+swl :: offset: 0x21, out: 0xa286, outHI: 0x0
+swl :: offset: 0x22, out: 0xc0a286, outHI: 0x0
+swl :: offset: 0x23, out: 0xb0c0a286, outHI: 0x0
+swl :: offset: 0x24, out: 0x42b0c0a286, outHI: 0x0
+swl :: offset: 0x25, out: 0xad42b0c0a286, outHI: 0x0
+swl :: offset: 0x26, out: 0x30ad42b0c0a286, outHI: 0x0
+swl :: offset: 0x27, out: 0x3c30ad42b0c0a286, outHI: 0x0
+swl :: offset: 0x28, out: 0x9e, outHI: 0x0
+swl :: offset: 0x29, out: 0x319e, outHI: 0x0
+swl :: offset: 0x2a, out: 0x9d319e, outHI: 0x0
+swl :: offset: 0x2b, out: 0xa89d319e, outHI: 0x0
+swl :: offset: 0x2c, out: 0x2aa89d319e, outHI: 0x0
+swl :: offset: 0x2d, out: 0x3d2aa89d319e, outHI: 0x0
+swl :: offset: 0x2e, out: 0x413d2aa89d319e, outHI: 0x0
+swl :: offset: 0x2f, out: 0xfb413d2aa89d319e, outHI: 0x0
+swl :: offset: 0x30, out: 0x77, outHI: 0x0
+swl :: offset: 0x31, out: 0xc377, outHI: 0x0
+swl :: offset: 0x32, out: 0x8ec377, outHI: 0x0
+swl :: offset: 0x33, out: 0x308ec377, outHI: 0x0
+swl :: offset: 0x34, out: 0x1f308ec377, outHI: 0x0
+swl :: offset: 0x35, out: 0xf71f308ec377, outHI: 0x0
+swl :: offset: 0x36, out: 0xe4f71f308ec377, outHI: 0x0
+swl :: offset: 0x37, out: 0x60e4f71f308ec377, outHI: 0x0
+swl :: offset: 0x38, out: 0xc7, outHI: 0x0
+swl :: offset: 0x39, out: 0x13c7, outHI: 0x0
+swl :: offset: 0x3a, out: 0x4213c7, outHI: 0x0
+swl :: offset: 0x3b, out: 0xa04213c7, outHI: 0x0
+swl :: offset: 0x3c, out: 0x7aa04213c7, outHI: 0x0
+swl :: offset: 0x3d, out: 0xa07aa04213c7, outHI: 0x0
+swl :: offset: 0x3e, out: 0xdca07aa04213c7, outHI: 0x0
+swl :: offset: 0x3f, out: 0xd8dca07aa04213c7, outHI: 0x0
+swl :: offset: 0x40, out: 0x1a, outHI: 0x0
+swl :: offset: 0x41, out: 0xc51a, outHI: 0x0
+swl :: offset: 0x42, out: 0x5cc51a, outHI: 0x0
+swl :: offset: 0x43, out: 0x705cc51a, outHI: 0x0
+swl :: offset: 0x44, out: 0x9e705cc51a, outHI: 0x0
+swl :: offset: 0x45, out: 0xd9e705cc51a, outHI: 0x0
+swl :: offset: 0x46, out: 0xa60d9e705cc51a, outHI: 0x0
+swl :: offset: 0x47, out: 0x15a60d9e705cc51a, outHI: 0x0
+swl :: offset: 0x48, out: 0x96, outHI: 0x0
+swl :: offset: 0x49, out: 0x8696, outHI: 0x0
+swl :: offset: 0x4a, out: 0xda8696, outHI: 0x0
+swl :: offset: 0x4b, out: 0x3dda8696, outHI: 0x0
+swl :: offset: 0x4c, out: 0x4b3dda8696, outHI: 0x0
+swl :: offset: 0x4d, out: 0x1d4b3dda8696, outHI: 0x0
+swl :: offset: 0x4e, out: 0xd41d4b3dda8696, outHI: 0x0
+swl :: offset: 0x4f, out: 0x53d41d4b3dda8696, outHI: 0x0
+swl :: offset: 0x50, out: 0x63, outHI: 0x0
+swl :: offset: 0x51, out: 0xdd63, outHI: 0x0
+swl :: offset: 0x52, out: 0xa4dd63, outHI: 0x0
+swl :: offset: 0x53, out: 0xe7a4dd63, outHI: 0x0
+swl :: offset: 0x54, out: 0x5e7a4dd63, outHI: 0x0
+swl :: offset: 0x55, out: 0x1305e7a4dd63, outHI: 0x0
+swl :: offset: 0x56, out: 0xd41305e7a4dd63, outHI: 0x0
+swl :: offset: 0x57, out: 0xbd41305e7a4dd63, outHI: 0x0
+swl :: offset: 0x58, out: 0xc4, outHI: 0x0
+swl :: offset: 0x59, out: 0x9dc4, outHI: 0x0
+swl :: offset: 0x5a, out: 0x5a9dc4, outHI: 0x0
+swl :: offset: 0x5b, out: 0xf35a9dc4, outHI: 0x0
+swl :: offset: 0x5c, out: 0x3af35a9dc4, outHI: 0x0
+swl :: offset: 0x5d, out: 0x803af35a9dc4, outHI: 0x0
+swl :: offset: 0x5e, out: 0xa1803af35a9dc4, outHI: 0x0
+swl :: offset: 0x5f, out: 0x8a1803af35a9dc4, outHI: 0x0
+swl :: offset: 0x60, out: 0x9a, outHI: 0x0
+swl :: offset: 0x61, out: 0x569a, outHI: 0x0
+swl :: offset: 0x62, out: 0x5569a, outHI: 0x0
+swl :: offset: 0x63, out: 0xf505569a, outHI: 0x0
+swl :: offset: 0x64, out: 0x47f505569a, outHI: 0x0
+swl :: offset: 0x65, out: 0xf47f505569a, outHI: 0x0
+swl :: offset: 0x66, out: 0x40f47f505569a, outHI: 0x0
+swl :: offset: 0x67, out: 0xd2040f47f505569a, outHI: 0x0
+swl :: offset: 0x68, out: 0xd6, outHI: 0x0
+swl :: offset: 0x69, out: 0x7fd6, outHI: 0x0
+swl :: offset: 0x6a, out: 0xb77fd6, outHI: 0x0
+swl :: offset: 0x6b, out: 0x64b77fd6, outHI: 0x0
+swl :: offset: 0x6c, out: 0x9564b77fd6, outHI: 0x0
+swl :: offset: 0x6d, out: 0xbe9564b77fd6, outHI: 0x0
+swl :: offset: 0x6e, out: 0x6bbe9564b77fd6, outHI: 0x0
+swl :: offset: 0x6f, out: 0xc76bbe9564b77fd6, outHI: 0x0
+swl :: offset: 0x70, out: 0xb2, outHI: 0x0
+swl :: offset: 0x71, out: 0x79b2, outHI: 0x0
+swl :: offset: 0x72, out: 0x8279b2, outHI: 0x0
+swl :: offset: 0x73, out: 0xbc8279b2, outHI: 0x0
+swl :: offset: 0x74, out: 0xcebc8279b2, outHI: 0x0
+swl :: offset: 0x75, out: 0xc7cebc8279b2, outHI: 0x0
+swl :: offset: 0x76, out: 0xe4c7cebc8279b2, outHI: 0x0
+swl :: offset: 0x77, out: 0x18e4c7cebc8279b2, outHI: 0x0
+swl :: offset: 0x78, out: 0x1f, outHI: 0x0
+swl :: offset: 0x79, out: 0x2f1f, outHI: 0x0
+swl :: offset: 0x7a, out: 0x4c2f1f, outHI: 0x0
+swl :: offset: 0x7b, out: 0x34c2f1f, outHI: 0x0
+swl :: offset: 0x7c, out: 0xb5034c2f1f, outHI: 0x0
+swl :: offset: 0x7d, out: 0x97b5034c2f1f, outHI: 0x0
+swl :: offset: 0x7e, out: 0xa797b5034c2f1f, outHI: 0x0
+swl :: offset: 0x7f, out: 0xafa797b5034c2f1f, outHI: 0x0
+swl :: offset: 0x80, out: 0x81, outHI: 0x0
+swl :: offset: 0x81, out: 0xfc81, outHI: 0x0
+swl :: offset: 0x82, out: 0x52fc81, outHI: 0x0
+swl :: offset: 0x83, out: 0xff52fc81, outHI: 0x0
+swl :: offset: 0x84, out: 0x94ff52fc81, outHI: 0x0
+swl :: offset: 0x85, out: 0xea94ff52fc81, outHI: 0x0
+swl :: offset: 0x86, out: 0x50ea94ff52fc81, outHI: 0x0
+swl :: offset: 0x87, out: 0xfc50ea94ff52fc81, outHI: 0x0
+swl :: offset: 0x88, out: 0x6d, outHI: 0x0
+swl :: offset: 0x89, out: 0x166d, outHI: 0x0
+swl :: offset: 0x8a, out: 0xd9166d, outHI: 0x0
+swl :: offset: 0x8b, out: 0xd8d9166d, outHI: 0x0
+swl :: offset: 0x8c, out: 0x31d8d9166d, outHI: 0x0
+swl :: offset: 0x8d, out: 0xb131d8d9166d, outHI: 0x0
+swl :: offset: 0x8e, out: 0x95b131d8d9166d, outHI: 0x0
+swl :: offset: 0x8f, out: 0xe895b131d8d9166d, outHI: 0x0
+swl :: offset: 0x90, out: 0x78, outHI: 0x0
+swl :: offset: 0x91, out: 0xd678, outHI: 0x0
+swl :: offset: 0x92, out: 0x9bd678, outHI: 0x0
+swl :: offset: 0x93, out: 0x549bd678, outHI: 0x0
+swl :: offset: 0x94, out: 0x36549bd678, outHI: 0x0
+swl :: offset: 0x95, out: 0x9b36549bd678, outHI: 0x0
+swl :: offset: 0x96, out: 0x259b36549bd678, outHI: 0x0
+swl :: offset: 0x97, out: 0x63259b36549bd678, outHI: 0x0
+swl :: offset: 0x98, out: 0x9b, outHI: 0x0
+swl :: offset: 0x99, out: 0x319b, outHI: 0x0
+swl :: offset: 0x9a, out: 0xa6319b, outHI: 0x0
+swl :: offset: 0x9b, out: 0xe0a6319b, outHI: 0x0
+swl :: offset: 0x9c, out: 0x85e0a6319b, outHI: 0x0
+swl :: offset: 0x9d, out: 0xc585e0a6319b, outHI: 0x0
+swl :: offset: 0x9e, out: 0x7ac585e0a6319b, outHI: 0x0
+swl :: offset: 0x9f, out: 0xf17ac585e0a6319b, outHI: 0x0
+swl :: offset: 0xa0, out: 0xcc, outHI: 0x0
+swl :: offset: 0xa1, out: 0xcacc, outHI: 0x0
+swl :: offset: 0xa2, out: 0x3ecacc, outHI: 0x0
+swl :: offset: 0xa3, out: 0x6b3ecacc, outHI: 0x0
+swl :: offset: 0xa4, out: 0x556b3ecacc, outHI: 0x0
+swl :: offset: 0xa5, out: 0xfb556b3ecacc, outHI: 0x0
+swl :: offset: 0xa6, out: 0xa0fb556b3ecacc, outHI: 0x0
+swl :: offset: 0xa7, out: 0xeea0fb556b3ecacc, outHI: 0x0
+swl :: offset: 0xa8, out: 0x81, outHI: 0x0
+swl :: offset: 0xa9, out: 0xc581, outHI: 0x0
+swl :: offset: 0xaa, out: 0x5fc581, outHI: 0x0
+swl :: offset: 0xab, out: 0x2f5fc581, outHI: 0x0
+swl :: offset: 0xac, out: 0xb42f5fc581, outHI: 0x0
+swl :: offset: 0xad, out: 0x97b42f5fc581, outHI: 0x0
+swl :: offset: 0xae, out: 0x2d97b42f5fc581, outHI: 0x0
+swl :: offset: 0xaf, out: 0x682d97b42f5fc581, outHI: 0x0
+swl :: offset: 0xb0, out: 0x14, outHI: 0x0
+swl :: offset: 0xb1, out: 0xec14, outHI: 0x0
+swl :: offset: 0xb2, out: 0xfec14, outHI: 0x0
+swl :: offset: 0xb3, out: 0xb50fec14, outHI: 0x0
+swl :: offset: 0xb4, out: 0x25b50fec14, outHI: 0x0
+swl :: offset: 0xb5, out: 0x7a25b50fec14, outHI: 0x0
+swl :: offset: 0xb6, out: 0x87a25b50fec14, outHI: 0x0
+swl :: offset: 0xb7, out: 0xfb087a25b50fec14, outHI: 0x0
+swl :: offset: 0xb8, out: 0x2c, outHI: 0x0
+swl :: offset: 0xb9, out: 0x132c, outHI: 0x0
+swl :: offset: 0xba, out: 0xc5132c, outHI: 0x0
+swl :: offset: 0xbb, out: 0x93c5132c, outHI: 0x0
+swl :: offset: 0xbc, out: 0xfc93c5132c, outHI: 0x0
+swl :: offset: 0xbd, out: 0x66fc93c5132c, outHI: 0x0
+swl :: offset: 0xbe, out: 0x766fc93c5132c, outHI: 0x0
+swl :: offset: 0xbf, out: 0xa20766fc93c5132c, outHI: 0x0
+swl :: offset: 0xc0, out: 0xcd, outHI: 0x0
+swl :: offset: 0xc1, out: 0xa9cd, outHI: 0x0
+swl :: offset: 0xc2, out: 0xd9a9cd, outHI: 0x0
+swl :: offset: 0xc3, out: 0x2cd9a9cd, outHI: 0x0
+swl :: offset: 0xc4, out: 0x3c2cd9a9cd, outHI: 0x0
+swl :: offset: 0xc5, out: 0x3e3c2cd9a9cd, outHI: 0x0
+swl :: offset: 0xc6, out: 0xda3e3c2cd9a9cd, outHI: 0x0
+swl :: offset: 0xc7, out: 0x72da3e3c2cd9a9cd, outHI: 0x0
+swl :: offset: 0xc8, out: 0x7d, outHI: 0x0
+swl :: offset: 0xc9, out: 0x2a7d, outHI: 0x0
+swl :: offset: 0xca, out: 0x722a7d, outHI: 0x0
+swl :: offset: 0xcb, out: 0x91722a7d, outHI: 0x0
+swl :: offset: 0xcc, out: 0x1791722a7d, outHI: 0x0
+swl :: offset: 0xcd, out: 0xad1791722a7d, outHI: 0x0
+swl :: offset: 0xce, out: 0x24ad1791722a7d, outHI: 0x0
+swl :: offset: 0xcf, out: 0xce24ad1791722a7d, outHI: 0x0
+swl :: offset: 0xd0, out: 0x93, outHI: 0x0
+swl :: offset: 0xd1, out: 0xd193, outHI: 0x0
+swl :: offset: 0xd2, out: 0xc9d193, outHI: 0x0
+swl :: offset: 0xd3, out: 0x7cc9d193, outHI: 0x0
+swl :: offset: 0xd4, out: 0x87cc9d193, outHI: 0x0
+swl :: offset: 0xd5, out: 0xd2087cc9d193, outHI: 0x0
+swl :: offset: 0xd6, out: 0x4ed2087cc9d193, outHI: 0x0
+swl :: offset: 0xd7, out: 0x984ed2087cc9d193, outHI: 0x0
+swl :: offset: 0xd8, out: 0x38, outHI: 0x0
+swl :: offset: 0xd9, out: 0x7038, outHI: 0x0
+swl :: offset: 0xda, out: 0x757038, outHI: 0x0
+swl :: offset: 0xdb, out: 0x2a757038, outHI: 0x0
+swl :: offset: 0xdc, out: 0x1d2a757038, outHI: 0x0
+swl :: offset: 0xdd, out: 0x361d2a757038, outHI: 0x0
+swl :: offset: 0xde, out: 0xd0361d2a757038, outHI: 0x0
+swl :: offset: 0xdf, out: 0xcd0361d2a757038, outHI: 0x0
+swl :: offset: 0xe0, out: 0x71, outHI: 0x0
+swl :: offset: 0xe1, out: 0xdb71, outHI: 0x0
+swl :: offset: 0xe2, out: 0x70db71, outHI: 0x0
+swl :: offset: 0xe3, out: 0xd070db71, outHI: 0x0
+swl :: offset: 0xe4, out: 0xd0d070db71, outHI: 0x0
+swl :: offset: 0xe5, out: 0x4d0d070db71, outHI: 0x0
+swl :: offset: 0xe6, out: 0x5604d0d070db71, outHI: 0x0
+swl :: offset: 0xe7, out: 0x415604d0d070db71, outHI: 0x0
+swl :: offset: 0xe8, out: 0x3, outHI: 0x0
+swl :: offset: 0xe9, out: 0x7d03, outHI: 0x0
+swl :: offset: 0xea, out: 0x1c7d03, outHI: 0x0
+swl :: offset: 0xeb, out: 0xc21c7d03, outHI: 0x0
+swl :: offset: 0xec, out: 0x39c21c7d03, outHI: 0x0
+swl :: offset: 0xed, out: 0xce39c21c7d03, outHI: 0x0
+swl :: offset: 0xee, out: 0x31ce39c21c7d03, outHI: 0x0
+swl :: offset: 0xef, out: 0xcc31ce39c21c7d03, outHI: 0x0
+swl :: offset: 0xf0, out: 0x8e, outHI: 0x0
+swl :: offset: 0xf1, out: 0xaf8e, outHI: 0x0
+swl :: offset: 0xf2, out: 0xb7af8e, outHI: 0x0
+swl :: offset: 0xf3, out: 0x94b7af8e, outHI: 0x0
+swl :: offset: 0xf4, out: 0x8e94b7af8e, outHI: 0x0
+swl :: offset: 0xf5, out: 0x4f8e94b7af8e, outHI: 0x0
+swl :: offset: 0xf6, out: 0x674f8e94b7af8e, outHI: 0x0
+swl :: offset: 0xf7, out: 0xe7674f8e94b7af8e, outHI: 0x0
+swl :: offset: 0xf8, out: 0x1c, outHI: 0x0
+swl :: offset: 0xf9, out: 0x8d1c, outHI: 0x0
+swl :: offset: 0xfa, out: 0x6a8d1c, outHI: 0x0
+swl :: offset: 0xfb, out: 0xeb6a8d1c, outHI: 0x0
+swl :: offset: 0xfc, out: 0x24eb6a8d1c, outHI: 0x0
+swl :: offset: 0xfd, out: 0xa724eb6a8d1c, outHI: 0x0
+swl :: offset: 0xfe, out: 0xe4a724eb6a8d1c, outHI: 0x0
+swl :: offset: 0xff, out: 0xd6e4a724eb6a8d1c, outHI: 0x0
+swl :: offset: 0x100, out: 0x12, outHI: 0x0
+swl :: offset: 0x101, out: 0x4412, outHI: 0x0
+swl :: offset: 0x102, out: 0x454412, outHI: 0x0
+swl :: offset: 0x103, out: 0x39454412, outHI: 0x0
+swl :: offset: 0x104, out: 0x2f39454412, outHI: 0x0
+swl :: offset: 0x105, out: 0x542f39454412, outHI: 0x0
+swl :: offset: 0x106, out: 0x4c542f39454412, outHI: 0x0
+swl :: offset: 0x107, out: 0xda4c542f39454412, outHI: 0x0
+swl :: offset: 0x108, out: 0x56, outHI: 0x0
+swl :: offset: 0x109, out: 0xb756, outHI: 0x0
+swl :: offset: 0x10a, out: 0xc2b756, outHI: 0x0
+swl :: offset: 0x10b, out: 0x8c2b756, outHI: 0x0
+swl :: offset: 0x10c, out: 0x2608c2b756, outHI: 0x0
+swl :: offset: 0x10d, out: 0x2f2608c2b756, outHI: 0x0
+swl :: offset: 0x10e, out: 0x252f2608c2b756, outHI: 0x0
+swl :: offset: 0x10f, out: 0xd7252f2608c2b756, outHI: 0x0
+swl :: offset: 0x110, out: 0xc8, outHI: 0x0
+swl :: offset: 0x111, out: 0xdac8, outHI: 0x0
+swl :: offset: 0x112, out: 0x2dac8, outHI: 0x0
+swl :: offset: 0x113, out: 0x102dac8, outHI: 0x0
+swl :: offset: 0x114, out: 0x900102dac8, outHI: 0x0
+swl :: offset: 0x115, out: 0xf7900102dac8, outHI: 0x0
+swl :: offset: 0x116, out: 0xa4f7900102dac8, outHI: 0x0
+swl :: offset: 0x117, out: 0xefa4f7900102dac8, outHI: 0x0
+swl :: offset: 0x118, out: 0xf2, outHI: 0x0
+swl :: offset: 0x119, out: 0xf1f2, outHI: 0x0
+swl :: offset: 0x11a, out: 0xd5f1f2, outHI: 0x0
+swl :: offset: 0x11b, out: 0x90d5f1f2, outHI: 0x0
+swl :: offset: 0x11c, out: 0xc890d5f1f2, outHI: 0x0
+swl :: offset: 0x11d, out: 0x14c890d5f1f2, outHI: 0x0
+swl :: offset: 0x11e, out: 0xa214c890d5f1f2, outHI: 0x0
+swl :: offset: 0x11f, out: 0xb0a214c890d5f1f2, outHI: 0x0
+swl :: offset: 0x120, out: 0xc8, outHI: 0x0
+swl :: offset: 0x121, out: 0xcbc8, outHI: 0x0
+swl :: offset: 0x122, out: 0x5cbc8, outHI: 0x0
+swl :: offset: 0x123, out: 0x5005cbc8, outHI: 0x0
+swl :: offset: 0x124, out: 0xed5005cbc8, outHI: 0x0
+swl :: offset: 0x125, out: 0x6ced5005cbc8, outHI: 0x0
+swl :: offset: 0x126, out: 0x136ced5005cbc8, outHI: 0x0
+swl :: offset: 0x127, out: 0x91136ced5005cbc8, outHI: 0x0
+swl :: offset: 0x128, out: 0x59, outHI: 0x0
+swl :: offset: 0x129, out: 0x8959, outHI: 0x0
+swl :: offset: 0x12a, out: 0x918959, outHI: 0x0
+swl :: offset: 0x12b, out: 0x47918959, outHI: 0x0
+swl :: offset: 0x12c, out: 0x3147918959, outHI: 0x0
+swl :: offset: 0x12d, out: 0xf33147918959, outHI: 0x0
+swl :: offset: 0x12e, out: 0xb6f33147918959, outHI: 0x0
+swl :: offset: 0x12f, out: 0x2fb6f33147918959, outHI: 0x0
+swl :: offset: 0x130, out: 0x9a, outHI: 0x0
+swl :: offset: 0x131, out: 0xf99a, outHI: 0x0
+swl :: offset: 0x132, out: 0xcff99a, outHI: 0x0
+swl :: offset: 0x133, out: 0xeecff99a, outHI: 0x0
+swl :: offset: 0x134, out: 0xc6eecff99a, outHI: 0x0
+swl :: offset: 0x135, out: 0x70c6eecff99a, outHI: 0x0
+swl :: offset: 0x136, out: 0x5270c6eecff99a, outHI: 0x0
+swl :: offset: 0x137, out: 0x895270c6eecff99a, outHI: 0x0
+swl :: offset: 0x138, out: 0x38, outHI: 0x0
+swl :: offset: 0x139, out: 0x1238, outHI: 0x0
+swl :: offset: 0x13a, out: 0x521238, outHI: 0x0
+swl :: offset: 0x13b, out: 0x9521238, outHI: 0x0
+swl :: offset: 0x13c, out: 0xa809521238, outHI: 0x0
+swl :: offset: 0x13d, out: 0x40a809521238, outHI: 0x0
+swl :: offset: 0x13e, out: 0x5040a809521238, outHI: 0x0
+swl :: offset: 0x13f, out: 0x765040a809521238, outHI: 0x0
+swl :: offset: 0x140, out: 0xad, outHI: 0x0
+swl :: offset: 0x141, out: 0x4ad, outHI: 0x0
+swl :: offset: 0x142, out: 0xa04ad, outHI: 0x0
+swl :: offset: 0x143, out: 0x750a04ad, outHI: 0x0
+swl :: offset: 0x144, out: 0x87750a04ad, outHI: 0x0
+swl :: offset: 0x145, out: 0x8387750a04ad, outHI: 0x0
+swl :: offset: 0x146, out: 0x5a8387750a04ad, outHI: 0x0
+swl :: offset: 0x147, out: 0xbb5a8387750a04ad, outHI: 0x0
+swl :: offset: 0x148, out: 0x84, outHI: 0x0
+swl :: offset: 0x149, out: 0x5e84, outHI: 0x0
+swl :: offset: 0x14a, out: 0xe85e84, outHI: 0x0
+swl :: offset: 0x14b, out: 0x3de85e84, outHI: 0x0
+swl :: offset: 0x14c, out: 0x2c3de85e84, outHI: 0x0
+swl :: offset: 0x14d, out: 0x672c3de85e84, outHI: 0x0
+swl :: offset: 0x14e, out: 0xaa672c3de85e84, outHI: 0x0
+swl :: offset: 0x14f, out: 0x6aa672c3de85e84, outHI: 0x0
+swl :: offset: 0x150, out: 0xc5, outHI: 0x0
+swl :: offset: 0x151, out: 0x8fc5, outHI: 0x0
+swl :: offset: 0x152, out: 0xff8fc5, outHI: 0x0
+swl :: offset: 0x153, out: 0x6aff8fc5, outHI: 0x0
+swl :: offset: 0x154, out: 0xae6aff8fc5, outHI: 0x0
+swl :: offset: 0x155, out: 0xe3ae6aff8fc5, outHI: 0x0
+swl :: offset: 0x156, out: 0x5ee3ae6aff8fc5, outHI: 0x0
+swl :: offset: 0x157, out: 0xed5ee3ae6aff8fc5, outHI: 0x0
+swl :: offset: 0x158, out: 0x60, outHI: 0x0
+swl :: offset: 0x159, out: 0xdd60, outHI: 0x0
+swl :: offset: 0x15a, out: 0x12dd60, outHI: 0x0
+swl :: offset: 0x15b, out: 0x7112dd60, outHI: 0x0
+swl :: offset: 0x15c, out: 0xc07112dd60, outHI: 0x0
+swl :: offset: 0x15d, out: 0x5ac07112dd60, outHI: 0x0
+swl :: offset: 0x15e, out: 0xca5ac07112dd60, outHI: 0x0
+swl :: offset: 0x15f, out: 0xdcca5ac07112dd60, outHI: 0x0
+swl :: offset: 0x160, out: 0x30, outHI: 0x0
+swl :: offset: 0x161, out: 0xf630, outHI: 0x0
+swl :: offset: 0x162, out: 0x70f630, outHI: 0x0
+swl :: offset: 0x163, out: 0xc770f630, outHI: 0x0
+swl :: offset: 0x164, out: 0xc4c770f630, outHI: 0x0
+swl :: offset: 0x165, out: 0x77c4c770f630, outHI: 0x0
+swl :: offset: 0x166, out: 0x5277c4c770f630, outHI: 0x0
+swl :: offset: 0x167, out: 0xcd5277c4c770f630, outHI: 0x0
+swl :: offset: 0x168, out: 0x83, outHI: 0x0
+swl :: offset: 0x169, out: 0x2383, outHI: 0x0
+swl :: offset: 0x16a, out: 0x2b2383, outHI: 0x0
+swl :: offset: 0x16b, out: 0xec2b2383, outHI: 0x0
+swl :: offset: 0x16c, out: 0xdfec2b2383, outHI: 0x0
+swl :: offset: 0x16d, out: 0x6bdfec2b2383, outHI: 0x0
+swl :: offset: 0x16e, out: 0xd96bdfec2b2383, outHI: 0x0
+swl :: offset: 0x16f, out: 0xf7d96bdfec2b2383, outHI: 0x0
+swl :: offset: 0x170, out: 0xf, outHI: 0x0
+swl :: offset: 0x171, out: 0x260f, outHI: 0x0
+swl :: offset: 0x172, out: 0xba260f, outHI: 0x0
+swl :: offset: 0x173, out: 0xadba260f, outHI: 0x0
+swl :: offset: 0x174, out: 0xd3adba260f, outHI: 0x0
+swl :: offset: 0x175, out: 0xed3adba260f, outHI: 0x0
+swl :: offset: 0x176, out: 0xc00ed3adba260f, outHI: 0x0
+swl :: offset: 0x177, out: 0x18c00ed3adba260f, outHI: 0x0
+swl :: offset: 0x178, out: 0x84, outHI: 0x0
+swl :: offset: 0x179, out: 0x7984, outHI: 0x0
+swl :: offset: 0x17a, out: 0xaa7984, outHI: 0x0
+swl :: offset: 0x17b, out: 0xb4aa7984, outHI: 0x0
+swl :: offset: 0x17c, out: 0x4ab4aa7984, outHI: 0x0
+swl :: offset: 0x17d, out: 0xb84ab4aa7984, outHI: 0x0
+swl :: offset: 0x17e, out: 0xf0b84ab4aa7984, outHI: 0x0
+swl :: offset: 0x17f, out: 0xe0f0b84ab4aa7984, outHI: 0x0
+swl :: offset: 0x180, out: 0xd, outHI: 0x0
+swl :: offset: 0x181, out: 0x5e0d, outHI: 0x0
+swl :: offset: 0x182, out: 0x35e0d, outHI: 0x0
+swl :: offset: 0x183, out: 0x8c035e0d, outHI: 0x0
+swl :: offset: 0x184, out: 0xbb8c035e0d, outHI: 0x0
+swl :: offset: 0x185, out: 0xf1bb8c035e0d, outHI: 0x0
+swl :: offset: 0x186, out: 0xdcf1bb8c035e0d, outHI: 0x0
+swl :: offset: 0x187, out: 0x7fdcf1bb8c035e0d, outHI: 0x0
+swl :: offset: 0x188, out: 0xa9, outHI: 0x0
+swl :: offset: 0x189, out: 0x54a9, outHI: 0x0
+swl :: offset: 0x18a, out: 0x6f54a9, outHI: 0x0
+swl :: offset: 0x18b, out: 0xb06f54a9, outHI: 0x0
+swl :: offset: 0x18c, out: 0x33b06f54a9, outHI: 0x0
+swl :: offset: 0x18d, out: 0x8133b06f54a9, outHI: 0x0
+swl :: offset: 0x18e, out: 0xc08133b06f54a9, outHI: 0x0
+swl :: offset: 0x18f, out: 0xd1c08133b06f54a9, outHI: 0x0
+swl :: offset: 0x190, out: 0x3f, outHI: 0x0
+swl :: offset: 0x191, out: 0x373f, outHI: 0x0
+swl :: offset: 0x192, out: 0x3f373f, outHI: 0x0
+swl :: offset: 0x193, out: 0x433f373f, outHI: 0x0
+swl :: offset: 0x194, out: 0x77433f373f, outHI: 0x0
+swl :: offset: 0x195, out: 0xe477433f373f, outHI: 0x0
+swl :: offset: 0x196, out: 0x95e477433f373f, outHI: 0x0
+swl :: offset: 0x197, out: 0x2195e477433f373f, outHI: 0x0
+swl :: offset: 0x198, out: 0xc9, outHI: 0x0
+swl :: offset: 0x199, out: 0x93c9, outHI: 0x0
+swl :: offset: 0x19a, out: 0xd993c9, outHI: 0x0
+swl :: offset: 0x19b, out: 0x91d993c9, outHI: 0x0
+swl :: offset: 0x19c, out: 0xec91d993c9, outHI: 0x0
+swl :: offset: 0x19d, out: 0xabec91d993c9, outHI: 0x0
+swl :: offset: 0x19e, out: 0xa5abec91d993c9, outHI: 0x0
+swl :: offset: 0x19f, out: 0xb1a5abec91d993c9, outHI: 0x0
+swl :: offset: 0x1a0, out: 0x95, outHI: 0x0
+swl :: offset: 0x1a1, out: 0xa795, outHI: 0x0
+swl :: offset: 0x1a2, out: 0xf6a795, outHI: 0x0
+swl :: offset: 0x1a3, out: 0xfbf6a795, outHI: 0x0
+swl :: offset: 0x1a4, out: 0x49fbf6a795, outHI: 0x0
+swl :: offset: 0x1a5, out: 0x1e49fbf6a795, outHI: 0x0
+swl :: offset: 0x1a6, out: 0x8d1e49fbf6a795, outHI: 0x0
+swl :: offset: 0x1a7, out: 0xce8d1e49fbf6a795, outHI: 0x0
+swl :: offset: 0x1a8, out: 0xc7, outHI: 0x0
+swl :: offset: 0x1a9, out: 0x78c7, outHI: 0x0
+swl :: offset: 0x1aa, out: 0x4378c7, outHI: 0x0
+swl :: offset: 0x1ab, out: 0x364378c7, outHI: 0x0
+swl :: offset: 0x1ac, out: 0x19364378c7, outHI: 0x0
+swl :: offset: 0x1ad, out: 0x719364378c7, outHI: 0x0
+swl :: offset: 0x1ae, out: 0x490719364378c7, outHI: 0x0
+swl :: offset: 0x1af, out: 0x38490719364378c7, outHI: 0x0
+swl :: offset: 0x1b0, out: 0x2f, outHI: 0x0
+swl :: offset: 0x1b1, out: 0xef2f, outHI: 0x0
+swl :: offset: 0x1b2, out: 0x8def2f, outHI: 0x0
+swl :: offset: 0x1b3, out: 0x9e8def2f, outHI: 0x0
+swl :: offset: 0x1b4, out: 0xb99e8def2f, outHI: 0x0
+swl :: offset: 0x1b5, out: 0xfeb99e8def2f, outHI: 0x0
+swl :: offset: 0x1b6, out: 0x12feb99e8def2f, outHI: 0x0
+swl :: offset: 0x1b7, out: 0x2b12feb99e8def2f, outHI: 0x0
+swl :: offset: 0x1b8, out: 0x58, outHI: 0x0
+swl :: offset: 0x1b9, out: 0xcd58, outHI: 0x0
+swl :: offset: 0x1ba, out: 0xcdcd58, outHI: 0x0
+swl :: offset: 0x1bb, out: 0xeacdcd58, outHI: 0x0
+swl :: offset: 0x1bc, out: 0x47eacdcd58, outHI: 0x0
+swl :: offset: 0x1bd, out: 0x4f47eacdcd58, outHI: 0x0
+swl :: offset: 0x1be, out: 0x8c4f47eacdcd58, outHI: 0x0
+swl :: offset: 0x1bf, out: 0x558c4f47eacdcd58, outHI: 0x0
+swl :: offset: 0x1c0, out: 0x76, outHI: 0x0
+swl :: offset: 0x1c1, out: 0x4e76, outHI: 0x0
+swl :: offset: 0x1c2, out: 0x884e76, outHI: 0x0
+swl :: offset: 0x1c3, out: 0x85884e76, outHI: 0x0
+swl :: offset: 0x1c4, out: 0xd685884e76, outHI: 0x0
+swl :: offset: 0x1c5, out: 0xc7d685884e76, outHI: 0x0
+swl :: offset: 0x1c6, out: 0x95c7d685884e76, outHI: 0x0
+swl :: offset: 0x1c7, out: 0xc195c7d685884e76, outHI: 0x0
+swl :: offset: 0x1c8, out: 0x34, outHI: 0x0
+swl :: offset: 0x1c9, out: 0x2a34, outHI: 0x0
+swl :: offset: 0x1ca, out: 0xd62a34, outHI: 0x0
+swl :: offset: 0x1cb, out: 0x68d62a34, outHI: 0x0
+swl :: offset: 0x1cc, out: 0x6168d62a34, outHI: 0x0
+swl :: offset: 0x1cd, out: 0x56168d62a34, outHI: 0x0
+swl :: offset: 0x1ce, out: 0x74056168d62a34, outHI: 0x0
+swl :: offset: 0x1cf, out: 0xf474056168d62a34, outHI: 0x0
+swl :: offset: 0x1d0, out: 0x4d, outHI: 0x0
+swl :: offset: 0x1d1, out: 0x894d, outHI: 0x0
+swl :: offset: 0x1d2, out: 0x69894d, outHI: 0x0
+swl :: offset: 0x1d3, out: 0x169894d, outHI: 0x0
+swl :: offset: 0x1d4, out: 0xd30169894d, outHI: 0x0
+swl :: offset: 0x1d5, out: 0xdbd30169894d, outHI: 0x0
+swl :: offset: 0x1d6, out: 0x6dbd30169894d, outHI: 0x0
+swl :: offset: 0x1d7, out: 0xbb06dbd30169894d, outHI: 0x0
+swl :: offset: 0x1d8, out: 0x6c, outHI: 0x0
+swl :: offset: 0x1d9, out: 0xbf6c, outHI: 0x0
+swl :: offset: 0x1da, out: 0x90bf6c, outHI: 0x0
+swl :: offset: 0x1db, out: 0xa190bf6c, outHI: 0x0
+swl :: offset: 0x1dc, out: 0x1ca190bf6c, outHI: 0x0
+swl :: offset: 0x1dd, out: 0x3a1ca190bf6c, outHI: 0x0
+swl :: offset: 0x1de, out: 0x393a1ca190bf6c, outHI: 0x0
+swl :: offset: 0x1df, out: 0xae393a1ca190bf6c, outHI: 0x0
+swl :: offset: 0x1e0, out: 0x9c, outHI: 0x0
+swl :: offset: 0x1e1, out: 0x29c, outHI: 0x0
+swl :: offset: 0x1e2, out: 0xf029c, outHI: 0x0
+swl :: offset: 0x1e3, out: 0x300f029c, outHI: 0x0
+swl :: offset: 0x1e4, out: 0x58300f029c, outHI: 0x0
+swl :: offset: 0x1e5, out: 0x2d58300f029c, outHI: 0x0
+swl :: offset: 0x1e6, out: 0xbc2d58300f029c, outHI: 0x0
+swl :: offset: 0x1e7, out: 0x7ebc2d58300f029c, outHI: 0x0
+swl :: offset: 0x1e8, out: 0xdc, outHI: 0x0
+swl :: offset: 0x1e9, out: 0xdbdc, outHI: 0x0
+swl :: offset: 0x1ea, out: 0x5fdbdc, outHI: 0x0
+swl :: offset: 0x1eb, out: 0x995fdbdc, outHI: 0x0
+swl :: offset: 0x1ec, out: 0x9a995fdbdc, outHI: 0x0
+swl :: offset: 0x1ed, out: 0x489a995fdbdc, outHI: 0x0
+swl :: offset: 0x1ee, out: 0x5b489a995fdbdc, outHI: 0x0
+swl :: offset: 0x1ef, out: 0x405b489a995fdbdc, outHI: 0x0
+swl :: offset: 0x1f0, out: 0xe3, outHI: 0x0
+swl :: offset: 0x1f1, out: 0x7be3, outHI: 0x0
+swl :: offset: 0x1f2, out: 0x47be3, outHI: 0x0
+swl :: offset: 0x1f3, out: 0x96047be3, outHI: 0x0
+swl :: offset: 0x1f4, out: 0x8a96047be3, outHI: 0x0
+swl :: offset: 0x1f5, out: 0x228a96047be3, outHI: 0x0
+swl :: offset: 0x1f6, out: 0xd3228a96047be3, outHI: 0x0
+swl :: offset: 0x1f7, out: 0x19d3228a96047be3, outHI: 0x0
+swl :: offset: 0x1f8, out: 0xd5, outHI: 0x0
+swl :: offset: 0x1f9, out: 0xd2d5, outHI: 0x0
+swl :: offset: 0x1fa, out: 0xafd2d5, outHI: 0x0
+swl :: offset: 0x1fb, out: 0xbfafd2d5, outHI: 0x0
+swl :: offset: 0x1fc, out: 0x75bfafd2d5, outHI: 0x0
+swl :: offset: 0x1fd, out: 0xad75bfafd2d5, outHI: 0x0
+swl :: offset: 0x1fe, out: 0xf6ad75bfafd2d5, outHI: 0x0
+swl :: offset: 0x1ff, out: 0x30f6ad75bfafd2d5, outHI: 0x0
+swl :: offset: 0x200, out: 0xa6, outHI: 0x0
+swl :: offset: 0x201, out: 0x67a6, outHI: 0x0
+swl :: offset: 0x202, out: 0x867a6, outHI: 0x0
+swl :: offset: 0x203, out: 0x230867a6, outHI: 0x0
+swl :: offset: 0x204, out: 0xde230867a6, outHI: 0x0
+swl :: offset: 0x205, out: 0x60de230867a6, outHI: 0x0
+swl :: offset: 0x206, out: 0x3260de230867a6, outHI: 0x0
+swl :: offset: 0x207, out: 0x103260de230867a6, outHI: 0x0
+swl :: offset: 0x208, out: 0x56, outHI: 0x0
+swl :: offset: 0x209, out: 0xf256, outHI: 0x0
+swl :: offset: 0x20a, out: 0xcf256, outHI: 0x0
+swl :: offset: 0x20b, out: 0xa0cf256, outHI: 0x0
+swl :: offset: 0x20c, out: 0x2c0a0cf256, outHI: 0x0
+swl :: offset: 0x20d, out: 0xef2c0a0cf256, outHI: 0x0
+swl :: offset: 0x20e, out: 0x18ef2c0a0cf256, outHI: 0x0
+swl :: offset: 0x20f, out: 0x9b18ef2c0a0cf256, outHI: 0x0
+swl :: offset: 0x210, out: 0x24, outHI: 0x0
+swl :: offset: 0x211, out: 0x4424, outHI: 0x0
+swl :: offset: 0x212, out: 0x54424, outHI: 0x0
+swl :: offset: 0x213, out: 0xa9054424, outHI: 0x0
+swl :: offset: 0x214, out: 0x94a9054424, outHI: 0x0
+swl :: offset: 0x215, out: 0xde94a9054424, outHI: 0x0
+swl :: offset: 0x216, out: 0xfcde94a9054424, outHI: 0x0
+swl :: offset: 0x217, out: 0x56fcde94a9054424, outHI: 0x0
+swl :: offset: 0x218, out: 0x5b, outHI: 0x0
+swl :: offset: 0x219, out: 0xb55b, outHI: 0x0
+swl :: offset: 0x21a, out: 0x9fb55b, outHI: 0x0
+swl :: offset: 0x21b, out: 0x519fb55b, outHI: 0x0
+swl :: offset: 0x21c, out: 0xf9519fb55b, outHI: 0x0
+swl :: offset: 0x21d, out: 0x9bf9519fb55b, outHI: 0x0
+swl :: offset: 0x21e, out: 0x319bf9519fb55b, outHI: 0x0
+swl :: offset: 0x21f, out: 0x68319bf9519fb55b, outHI: 0x0
+swl :: offset: 0x220, out: 0x4, outHI: 0x0
+swl :: offset: 0x221, out: 0x2004, outHI: 0x0
+swl :: offset: 0x222, out: 0xf82004, outHI: 0x0
+swl :: offset: 0x223, out: 0xdaf82004, outHI: 0x0
+swl :: offset: 0x224, out: 0x81daf82004, outHI: 0x0
+swl :: offset: 0x225, out: 0xec81daf82004, outHI: 0x0
+swl :: offset: 0x226, out: 0xf2ec81daf82004, outHI: 0x0
+swl :: offset: 0x227, out: 0x25f2ec81daf82004, outHI: 0x0
+swl :: offset: 0x228, out: 0x57, outHI: 0x0
+swl :: offset: 0x229, out: 0x5a57, outHI: 0x0
+swl :: offset: 0x22a, out: 0xca5a57, outHI: 0x0
+swl :: offset: 0x22b, out: 0x61ca5a57, outHI: 0x0
+swl :: offset: 0x22c, out: 0x8c61ca5a57, outHI: 0x0
+swl :: offset: 0x22d, out: 0xbf8c61ca5a57, outHI: 0x0
+swl :: offset: 0x22e, out: 0xc8bf8c61ca5a57, outHI: 0x0
+swl :: offset: 0x22f, out: 0x5dc8bf8c61ca5a57, outHI: 0x0
+swl :: offset: 0x230, out: 0xc2, outHI: 0x0
+swl :: offset: 0x231, out: 0xddc2, outHI: 0x0
+swl :: offset: 0x232, out: 0xa6ddc2, outHI: 0x0
+swl :: offset: 0x233, out: 0x95a6ddc2, outHI: 0x0
+swl :: offset: 0x234, out: 0x8b95a6ddc2, outHI: 0x0
+swl :: offset: 0x235, out: 0x2f8b95a6ddc2, outHI: 0x0
+swl :: offset: 0x236, out: 0x162f8b95a6ddc2, outHI: 0x0
+swl :: offset: 0x237, out: 0xc6162f8b95a6ddc2, outHI: 0x0
+swl :: offset: 0x238, out: 0xda, outHI: 0x0
+swl :: offset: 0x239, out: 0x51da, outHI: 0x0
+swl :: offset: 0x23a, out: 0xe751da, outHI: 0x0
+swl :: offset: 0x23b, out: 0xce751da, outHI: 0x0
+swl :: offset: 0x23c, out: 0x300ce751da, outHI: 0x0
+swl :: offset: 0x23d, out: 0x50300ce751da, outHI: 0x0
+swl :: offset: 0x23e, out: 0xa850300ce751da, outHI: 0x0
+swl :: offset: 0x23f, out: 0x52a850300ce751da, outHI: 0x0
+swl :: offset: 0x240, out: 0xba, outHI: 0x0
+swl :: offset: 0x241, out: 0xf3ba, outHI: 0x0
+swl :: offset: 0x242, out: 0xfdf3ba, outHI: 0x0
+swl :: offset: 0x243, out: 0x78fdf3ba, outHI: 0x0
+swl :: offset: 0x244, out: 0x6778fdf3ba, outHI: 0x0
+swl :: offset: 0x245, out: 0x9f6778fdf3ba, outHI: 0x0
+swl :: offset: 0x246, out: 0x479f6778fdf3ba, outHI: 0x0
+swl :: offset: 0x247, out: 0x78479f6778fdf3ba, outHI: 0x0
+swl :: offset: 0x248, out: 0xda, outHI: 0x0
+swl :: offset: 0x249, out: 0xf7da, outHI: 0x0
+swl :: offset: 0x24a, out: 0xb1f7da, outHI: 0x0
+swl :: offset: 0x24b, out: 0xb1f7da, outHI: 0x0
+swl :: offset: 0x24c, out: 0xad00b1f7da, outHI: 0x0
+swl :: offset: 0x24d, out: 0x8aad00b1f7da, outHI: 0x0
+swl :: offset: 0x24e, out: 0xd98aad00b1f7da, outHI: 0x0
+swl :: offset: 0x24f, out: 0xb6d98aad00b1f7da, outHI: 0x0
+swl :: offset: 0x250, out: 0xa6, outHI: 0x0
+swl :: offset: 0x251, out: 0x68a6, outHI: 0x0
+swl :: offset: 0x252, out: 0x4168a6, outHI: 0x0
+swl :: offset: 0x253, out: 0xd44168a6, outHI: 0x0
+swl :: offset: 0x254, out: 0x8d44168a6, outHI: 0x0
+swl :: offset: 0x255, out: 0x1308d44168a6, outHI: 0x0
+swl :: offset: 0x256, out: 0x441308d44168a6, outHI: 0x0
+swl :: offset: 0x257, out: 0x63441308d44168a6, outHI: 0x0
+swl :: offset: 0x258, out: 0xce, outHI: 0x0
+swl :: offset: 0x259, out: 0x1dce, outHI: 0x0
+swl :: offset: 0x25a, out: 0x381dce, outHI: 0x0
+swl :: offset: 0x25b, out: 0x18381dce, outHI: 0x0
+swl :: offset: 0x25c, out: 0xf518381dce, outHI: 0x0
+swl :: offset: 0x25d, out: 0xc0f518381dce, outHI: 0x0
+swl :: offset: 0x25e, out: 0x5fc0f518381dce, outHI: 0x0
+swl :: offset: 0x25f, out: 0x255fc0f518381dce, outHI: 0x0
+swl :: offset: 0x260, out: 0xe5, outHI: 0x0
+swl :: offset: 0x261, out: 0x3fe5, outHI: 0x0
+swl :: offset: 0x262, out: 0x7f3fe5, outHI: 0x0
+swl :: offset: 0x263, out: 0x627f3fe5, outHI: 0x0
+swl :: offset: 0x264, out: 0xe4627f3fe5, outHI: 0x0
+swl :: offset: 0x265, out: 0x28e4627f3fe5, outHI: 0x0
+swl :: offset: 0x266, out: 0x1f28e4627f3fe5, outHI: 0x0
+swl :: offset: 0x267, out: 0x321f28e4627f3fe5, outHI: 0x0
+swl :: offset: 0x268, out: 0x76, outHI: 0x0
+swl :: offset: 0x269, out: 0xe176, outHI: 0x0
+swl :: offset: 0x26a, out: 0x92e176, outHI: 0x0
+swl :: offset: 0x26b, out: 0xd392e176, outHI: 0x0
+swl :: offset: 0x26c, out: 0xccd392e176, outHI: 0x0
+swl :: offset: 0x26d, out: 0x8fccd392e176, outHI: 0x0
+swl :: offset: 0x26e, out: 0xfd8fccd392e176, outHI: 0x0
+swl :: offset: 0x26f, out: 0x18fd8fccd392e176, outHI: 0x0
+swl :: offset: 0x270, out: 0x40, outHI: 0x0
+swl :: offset: 0x271, out: 0x9440, outHI: 0x0
+swl :: offset: 0x272, out: 0x649440, outHI: 0x0
+swl :: offset: 0x273, out: 0x94649440, outHI: 0x0
+swl :: offset: 0x274, out: 0x8294649440, outHI: 0x0
+swl :: offset: 0x275, out: 0xe58294649440, outHI: 0x0
+swl :: offset: 0x276, out: 0xf0e58294649440, outHI: 0x0
+swl :: offset: 0x277, out: 0xe8f0e58294649440, outHI: 0x0
+swl :: offset: 0x278, out: 0x52, outHI: 0x0
+swl :: offset: 0x279, out: 0x4052, outHI: 0x0
+swl :: offset: 0x27a, out: 0x204052, outHI: 0x0
+swl :: offset: 0x27b, out: 0xd3204052, outHI: 0x0
+swl :: offset: 0x27c, out: 0x15d3204052, outHI: 0x0
+swl :: offset: 0x27d, out: 0x4415d3204052, outHI: 0x0
+swl :: offset: 0x27e, out: 0xf34415d3204052, outHI: 0x0
+swl :: offset: 0x27f, out: 0xff34415d3204052, outHI: 0x0
+swl :: offset: 0x280, out: 0x88, outHI: 0x0
+swl :: offset: 0x281, out: 0xd288, outHI: 0x0
+swl :: offset: 0x282, out: 0x83d288, outHI: 0x0
+swl :: offset: 0x283, out: 0xaf83d288, outHI: 0x0
+swl :: offset: 0x284, out: 0x7caf83d288, outHI: 0x0
+swl :: offset: 0x285, out: 0xd77caf83d288, outHI: 0x0
+swl :: offset: 0x286, out: 0xefd77caf83d288, outHI: 0x0
+swl :: offset: 0x287, out: 0x7defd77caf83d288, outHI: 0x0
+swl :: offset: 0x288, out: 0x74, outHI: 0x0
+swl :: offset: 0x289, out: 0x4c74, outHI: 0x0
+swl :: offset: 0x28a, out: 0xa04c74, outHI: 0x0
+swl :: offset: 0x28b, out: 0x56a04c74, outHI: 0x0
+swl :: offset: 0x28c, out: 0xf156a04c74, outHI: 0x0
+swl :: offset: 0x28d, out: 0x10f156a04c74, outHI: 0x0
+swl :: offset: 0x28e, out: 0xd710f156a04c74, outHI: 0x0
+swl :: offset: 0x28f, out: 0x31d710f156a04c74, outHI: 0x0
+swl :: offset: 0x290, out: 0xf, outHI: 0x0
+swl :: offset: 0x291, out: 0x1c0f, outHI: 0x0
+swl :: offset: 0x292, out: 0x601c0f, outHI: 0x0
+swl :: offset: 0x293, out: 0xe2601c0f, outHI: 0x0
+swl :: offset: 0x294, out: 0x93e2601c0f, outHI: 0x0
+swl :: offset: 0x295, out: 0x3393e2601c0f, outHI: 0x0
+swl :: offset: 0x296, out: 0xd93393e2601c0f, outHI: 0x0
+swl :: offset: 0x297, out: 0x1cd93393e2601c0f, outHI: 0x0
+swl :: offset: 0x298, out: 0x13, outHI: 0x0
+swl :: offset: 0x299, out: 0x7913, outHI: 0x0
+swl :: offset: 0x29a, out: 0xa67913, outHI: 0x0
+swl :: offset: 0x29b, out: 0xe1a67913, outHI: 0x0
+swl :: offset: 0x29c, out: 0xe1e1a67913, outHI: 0x0
+swl :: offset: 0x29d, out: 0x27e1e1a67913, outHI: 0x0
+swl :: offset: 0x29e, out: 0xa427e1e1a67913, outHI: 0x0
+swl :: offset: 0x29f, out: 0x6fa427e1e1a67913, outHI: 0x0
+swl :: offset: 0x2a0, out: 0xa7, outHI: 0x0
+swl :: offset: 0x2a1, out: 0x75a7, outHI: 0x0
+swl :: offset: 0x2a2, out: 0x6b75a7, outHI: 0x0
+swl :: offset: 0x2a3, out: 0x296b75a7, outHI: 0x0
+swl :: offset: 0x2a4, out: 0x24296b75a7, outHI: 0x0
+swl :: offset: 0x2a5, out: 0x6a24296b75a7, outHI: 0x0
+swl :: offset: 0x2a6, out: 0xe56a24296b75a7, outHI: 0x0
+swl :: offset: 0x2a7, out: 0x9ee56a24296b75a7, outHI: 0x0
+swl :: offset: 0x2a8, out: 0x13, outHI: 0x0
+swl :: offset: 0x2a9, out: 0xd213, outHI: 0x0
+swl :: offset: 0x2aa, out: 0xe2d213, outHI: 0x0
+swl :: offset: 0x2ab, out: 0x96e2d213, outHI: 0x0
+swl :: offset: 0x2ac, out: 0xd296e2d213, outHI: 0x0
+swl :: offset: 0x2ad, out: 0xc0d296e2d213, outHI: 0x0
+swl :: offset: 0x2ae, out: 0xa5c0d296e2d213, outHI: 0x0
+swl :: offset: 0x2af, out: 0xc2a5c0d296e2d213, outHI: 0x0
+swl :: offset: 0x2b0, out: 0x6d, outHI: 0x0
+swl :: offset: 0x2b1, out: 0x7f6d, outHI: 0x0
+swl :: offset: 0x2b2, out: 0x447f6d, outHI: 0x0
+swl :: offset: 0x2b3, out: 0x82447f6d, outHI: 0x0
+swl :: offset: 0x2b4, out: 0x5a82447f6d, outHI: 0x0
+swl :: offset: 0x2b5, out: 0x685a82447f6d, outHI: 0x0
+swl :: offset: 0x2b6, out: 0xc1685a82447f6d, outHI: 0x0
+swl :: offset: 0x2b7, out: 0x7dc1685a82447f6d, outHI: 0x0
+swl :: offset: 0x2b8, out: 0xc0, outHI: 0x0
+swl :: offset: 0x2b9, out: 0x80c0, outHI: 0x0
+swl :: offset: 0x2ba, out: 0x9e80c0, outHI: 0x0
+swl :: offset: 0x2bb, out: 0xc89e80c0, outHI: 0x0
+swl :: offset: 0x2bc, out: 0x76c89e80c0, outHI: 0x0
+swl :: offset: 0x2bd, out: 0x8f76c89e80c0, outHI: 0x0
+swl :: offset: 0x2be, out: 0x348f76c89e80c0, outHI: 0x0
+swl :: offset: 0x2bf, out: 0xfe348f76c89e80c0, outHI: 0x0
+swl :: offset: 0x2c0, out: 0x4b, outHI: 0x0
+swl :: offset: 0x2c1, out: 0x454b, outHI: 0x0
+swl :: offset: 0x2c2, out: 0xc3454b, outHI: 0x0
+swl :: offset: 0x2c3, out: 0xdc3454b, outHI: 0x0
+swl :: offset: 0x2c4, out: 0x70dc3454b, outHI: 0x0
+swl :: offset: 0x2c5, out: 0x1b070dc3454b, outHI: 0x0
+swl :: offset: 0x2c6, out: 0x241b070dc3454b, outHI: 0x0
+swl :: offset: 0x2c7, out: 0x6d241b070dc3454b, outHI: 0x0
+swl :: offset: 0x2c8, out: 0xdd, outHI: 0x0
+swl :: offset: 0x2c9, out: 0x23dd, outHI: 0x0
+swl :: offset: 0x2ca, out: 0x7123dd, outHI: 0x0
+swl :: offset: 0x2cb, out: 0xdc7123dd, outHI: 0x0
+swl :: offset: 0x2cc, out: 0xbddc7123dd, outHI: 0x0
+swl :: offset: 0x2cd, out: 0xbebddc7123dd, outHI: 0x0
+swl :: offset: 0x2ce, out: 0xcebebddc7123dd, outHI: 0x0
+swl :: offset: 0x2cf, out: 0x9fcebebddc7123dd, outHI: 0x0
+swl :: offset: 0x2d0, out: 0xa5, outHI: 0x0
+swl :: offset: 0x2d1, out: 0x27a5, outHI: 0x0
+swl :: offset: 0x2d2, out: 0xb727a5, outHI: 0x0
+swl :: offset: 0x2d3, out: 0x2fb727a5, outHI: 0x0
+swl :: offset: 0x2d4, out: 0xf62fb727a5, outHI: 0x0
+swl :: offset: 0x2d5, out: 0xfbf62fb727a5, outHI: 0x0
+swl :: offset: 0x2d6, out: 0x46fbf62fb727a5, outHI: 0x0
+swl :: offset: 0x2d7, out: 0x9f46fbf62fb727a5, outHI: 0x0
+swl :: offset: 0x2d8, out: 0xf, outHI: 0x0
+swl :: offset: 0x2d9, out: 0xe90f, outHI: 0x0
+swl :: offset: 0x2da, out: 0x27e90f, outHI: 0x0
+swl :: offset: 0x2db, out: 0x9f27e90f, outHI: 0x0
+swl :: offset: 0x2dc, out: 0x109f27e90f, outHI: 0x0
+swl :: offset: 0x2dd, out: 0xd7109f27e90f, outHI: 0x0
+swl :: offset: 0x2de, out: 0x99d7109f27e90f, outHI: 0x0
+swl :: offset: 0x2df, out: 0xd199d7109f27e90f, outHI: 0x0
+swl :: offset: 0x2e0, out: 0xaf, outHI: 0x0
+swl :: offset: 0x2e1, out: 0xa9af, outHI: 0x0
+swl :: offset: 0x2e2, out: 0xdaa9af, outHI: 0x0
+swl :: offset: 0x2e3, out: 0x63daa9af, outHI: 0x0
+swl :: offset: 0x2e4, out: 0x3f63daa9af, outHI: 0x0
+swl :: offset: 0x2e5, out: 0xf23f63daa9af, outHI: 0x0
+swl :: offset: 0x2e6, out: 0x84f23f63daa9af, outHI: 0x0
+swl :: offset: 0x2e7, out: 0xd484f23f63daa9af, outHI: 0x0
+swl :: offset: 0x2e8, out: 0xa3, outHI: 0x0
+swl :: offset: 0x2e9, out: 0x2ea3, outHI: 0x0
+swl :: offset: 0x2ea, out: 0x312ea3, outHI: 0x0
+swl :: offset: 0x2eb, out: 0xcb312ea3, outHI: 0x0
+swl :: offset: 0x2ec, out: 0xdbcb312ea3, outHI: 0x0
+swl :: offset: 0x2ed, out: 0xc6dbcb312ea3, outHI: 0x0
+swl :: offset: 0x2ee, out: 0xe4c6dbcb312ea3, outHI: 0x0
+swl :: offset: 0x2ef, out: 0x4fe4c6dbcb312ea3, outHI: 0x0
+swl :: offset: 0x2f0, out: 0xda, outHI: 0x0
+swl :: offset: 0x2f1, out: 0xaada, outHI: 0x0
+swl :: offset: 0x2f2, out: 0x3faada, outHI: 0x0
+swl :: offset: 0x2f3, out: 0x353faada, outHI: 0x0
+swl :: offset: 0x2f4, out: 0x1f353faada, outHI: 0x0
+swl :: offset: 0x2f5, out: 0x601f353faada, outHI: 0x0
+swl :: offset: 0x2f6, out: 0xc2601f353faada, outHI: 0x0
+swl :: offset: 0x2f7, out: 0x50c2601f353faada, outHI: 0x0
+swl :: offset: 0x2f8, out: 0x71, outHI: 0x0
+swl :: offset: 0x2f9, out: 0xe071, outHI: 0x0
+swl :: offset: 0x2fa, out: 0x6ee071, outHI: 0x0
+swl :: offset: 0x2fb, out: 0x86ee071, outHI: 0x0
+swl :: offset: 0x2fc, out: 0x8b086ee071, outHI: 0x0
+swl :: offset: 0x2fd, out: 0x258b086ee071, outHI: 0x0
+swl :: offset: 0x2fe, out: 0x7f258b086ee071, outHI: 0x0
+swl :: offset: 0x2ff, out: 0x257f258b086ee071, outHI: 0x0
+swl :: offset: 0x300, out: 0xd9, outHI: 0x0
+swl :: offset: 0x301, out: 0xd5d9, outHI: 0x0
+swl :: offset: 0x302, out: 0x50d5d9, outHI: 0x0
+swl :: offset: 0x303, out: 0x4750d5d9, outHI: 0x0
+swl :: offset: 0x304, out: 0xe54750d5d9, outHI: 0x0
+swl :: offset: 0x305, out: 0x5be54750d5d9, outHI: 0x0
+swl :: offset: 0x306, out: 0xdb5be54750d5d9, outHI: 0x0
+swl :: offset: 0x307, out: 0xa6db5be54750d5d9, outHI: 0x0
+swl :: offset: 0x308, out: 0xe9, outHI: 0x0
+swl :: offset: 0x309, out: 0x5fe9, outHI: 0x0
+swl :: offset: 0x30a, out: 0x625fe9, outHI: 0x0
+swl :: offset: 0x30b, out: 0x69625fe9, outHI: 0x0
+swl :: offset: 0x30c, out: 0x3d69625fe9, outHI: 0x0
+swl :: offset: 0x30d, out: 0x963d69625fe9, outHI: 0x0
+swl :: offset: 0x30e, out: 0xac963d69625fe9, outHI: 0x0
+swl :: offset: 0x30f, out: 0x40ac963d69625fe9, outHI: 0x0
+swl :: offset: 0x310, out: 0x43, outHI: 0x0
+swl :: offset: 0x311, out: 0x4243, outHI: 0x0
+swl :: offset: 0x312, out: 0xe04243, outHI: 0x0
+swl :: offset: 0x313, out: 0xa3e04243, outHI: 0x0
+swl :: offset: 0x314, out: 0x70a3e04243, outHI: 0x0
+swl :: offset: 0x315, out: 0x1e70a3e04243, outHI: 0x0
+swl :: offset: 0x316, out: 0x171e70a3e04243, outHI: 0x0
+swl :: offset: 0x317, out: 0x80171e70a3e04243, outHI: 0x0
+swl :: offset: 0x318, out: 0x69, outHI: 0x0
+swl :: offset: 0x319, out: 0x369, outHI: 0x0
+swl :: offset: 0x31a, out: 0x8f0369, outHI: 0x0
+swl :: offset: 0x31b, out: 0x478f0369, outHI: 0x0
+swl :: offset: 0x31c, out: 0xc0478f0369, outHI: 0x0
+swl :: offset: 0x31d, out: 0xe3c0478f0369, outHI: 0x0
+swl :: offset: 0x31e, out: 0x29e3c0478f0369, outHI: 0x0
+swl :: offset: 0x31f, out: 0xf929e3c0478f0369, outHI: 0x0
+swl :: offset: 0x320, out: 0x1c, outHI: 0x0
+swl :: offset: 0x321, out: 0xa51c, outHI: 0x0
+swl :: offset: 0x322, out: 0x39a51c, outHI: 0x0
+swl :: offset: 0x323, out: 0xe839a51c, outHI: 0x0
+swl :: offset: 0x324, out: 0x3ce839a51c, outHI: 0x0
+swl :: offset: 0x325, out: 0x583ce839a51c, outHI: 0x0
+swl :: offset: 0x326, out: 0x89583ce839a51c, outHI: 0x0
+swl :: offset: 0x327, out: 0xb689583ce839a51c, outHI: 0x0
+swl :: offset: 0x328, out: 0x5e, outHI: 0x0
+swl :: offset: 0x329, out: 0x895e, outHI: 0x0
+swl :: offset: 0x32a, out: 0xfa895e, outHI: 0x0
+swl :: offset: 0x32b, out: 0xfbfa895e, outHI: 0x0
+swl :: offset: 0x32c, out: 0xe2fbfa895e, outHI: 0x0
+swl :: offset: 0x32d, out: 0xb7e2fbfa895e, outHI: 0x0
+swl :: offset: 0x32e, out: 0x25b7e2fbfa895e, outHI: 0x0
+swl :: offset: 0x32f, out: 0xed25b7e2fbfa895e, outHI: 0x0
+swl :: offset: 0x330, out: 0x76, outHI: 0x0
+swl :: offset: 0x331, out: 0x5d76, outHI: 0x0
+swl :: offset: 0x332, out: 0xb05d76, outHI: 0x0
+swl :: offset: 0x333, out: 0x4bb05d76, outHI: 0x0
+swl :: offset: 0x334, out: 0xd24bb05d76, outHI: 0x0
+swl :: offset: 0x335, out: 0xf1d24bb05d76, outHI: 0x0
+swl :: offset: 0x336, out: 0x12f1d24bb05d76, outHI: 0x0
+swl :: offset: 0x337, out: 0x312f1d24bb05d76, outHI: 0x0
+swl :: offset: 0x338, out: 0x17, outHI: 0x0
+swl :: offset: 0x339, out: 0x2c17, outHI: 0x0
+swl :: offset: 0x33a, out: 0x682c17, outHI: 0x0
+swl :: offset: 0x33b, out: 0xb9682c17, outHI: 0x0
+swl :: offset: 0x33c, out: 0xeb9682c17, outHI: 0x0
+swl :: offset: 0x33d, out: 0xd0eb9682c17, outHI: 0x0
+swl :: offset: 0x33e, out: 0x1d0d0eb9682c17, outHI: 0x0
+swl :: offset: 0x33f, out: 0x301d0d0eb9682c17, outHI: 0x0
+swl :: offset: 0x340, out: 0xdd, outHI: 0x0
+swl :: offset: 0x341, out: 0x80dd, outHI: 0x0
+swl :: offset: 0x342, out: 0x5280dd, outHI: 0x0
+swl :: offset: 0x343, out: 0x785280dd, outHI: 0x0
+swl :: offset: 0x344, out: 0x84785280dd, outHI: 0x0
+swl :: offset: 0x345, out: 0xef84785280dd, outHI: 0x0
+swl :: offset: 0x346, out: 0xd6ef84785280dd, outHI: 0x0
+swl :: offset: 0x347, out: 0x8fd6ef84785280dd, outHI: 0x0
+swl :: offset: 0x348, out: 0x1f, outHI: 0x0
+swl :: offset: 0x349, out: 0xaa1f, outHI: 0x0
+swl :: offset: 0x34a, out: 0x77aa1f, outHI: 0x0
+swl :: offset: 0x34b, out: 0x9c77aa1f, outHI: 0x0
+swl :: offset: 0x34c, out: 0x179c77aa1f, outHI: 0x0
+swl :: offset: 0x34d, out: 0x6d179c77aa1f, outHI: 0x0
+swl :: offset: 0x34e, out: 0x436d179c77aa1f, outHI: 0x0
+swl :: offset: 0x34f, out: 0x98436d179c77aa1f, outHI: 0x0
+swl :: offset: 0x350, out: 0x29, outHI: 0x0
+swl :: offset: 0x351, out: 0xed29, outHI: 0x0
+swl :: offset: 0x352, out: 0x4ced29, outHI: 0x0
+swl :: offset: 0x353, out: 0x444ced29, outHI: 0x0
+swl :: offset: 0x354, out: 0x26444ced29, outHI: 0x0
+swl :: offset: 0x355, out: 0x826444ced29, outHI: 0x0
+swl :: offset: 0x356, out: 0xa70826444ced29, outHI: 0x0
+swl :: offset: 0x357, out: 0x8ca70826444ced29, outHI: 0x0
+swl :: offset: 0x358, out: 0xd5, outHI: 0x0
+swl :: offset: 0x359, out: 0x9dd5, outHI: 0x0
+swl :: offset: 0x35a, out: 0x5c9dd5, outHI: 0x0
+swl :: offset: 0x35b, out: 0x175c9dd5, outHI: 0x0
+swl :: offset: 0x35c, out: 0x7175c9dd5, outHI: 0x0
+swl :: offset: 0x35d, out: 0x8707175c9dd5, outHI: 0x0
+swl :: offset: 0x35e, out: 0x328707175c9dd5, outHI: 0x0
+swl :: offset: 0x35f, out: 0x83328707175c9dd5, outHI: 0x0
+swl :: offset: 0x360, out: 0x55, outHI: 0x0
+swl :: offset: 0x361, out: 0x1055, outHI: 0x0
+swl :: offset: 0x362, out: 0x61055, outHI: 0x0
+swl :: offset: 0x363, out: 0x3d061055, outHI: 0x0
+swl :: offset: 0x364, out: 0x663d061055, outHI: 0x0
+swl :: offset: 0x365, out: 0x8b663d061055, outHI: 0x0
+swl :: offset: 0x366, out: 0xd68b663d061055, outHI: 0x0
+swl :: offset: 0x367, out: 0x51d68b663d061055, outHI: 0x0
+swl :: offset: 0x368, out: 0x89, outHI: 0x0
+swl :: offset: 0x369, out: 0x4889, outHI: 0x0
+swl :: offset: 0x36a, out: 0xd04889, outHI: 0x0
+swl :: offset: 0x36b, out: 0x7dd04889, outHI: 0x0
+swl :: offset: 0x36c, out: 0xab7dd04889, outHI: 0x0
+swl :: offset: 0x36d, out: 0x1bab7dd04889, outHI: 0x0
+swl :: offset: 0x36e, out: 0x471bab7dd04889, outHI: 0x0
+swl :: offset: 0x36f, out: 0x82471bab7dd04889, outHI: 0x0
+swl :: offset: 0x370, out: 0xe, outHI: 0x0
+swl :: offset: 0x371, out: 0x670e, outHI: 0x0
+swl :: offset: 0x372, out: 0x23670e, outHI: 0x0
+swl :: offset: 0x373, out: 0x9823670e, outHI: 0x0
+swl :: offset: 0x374, out: 0xf69823670e, outHI: 0x0
+swl :: offset: 0x375, out: 0xb2f69823670e, outHI: 0x0
+swl :: offset: 0x376, out: 0x26b2f69823670e, outHI: 0x0
+swl :: offset: 0x377, out: 0x8d26b2f69823670e, outHI: 0x0
+swl :: offset: 0x378, out: 0xd9, outHI: 0x0
+swl :: offset: 0x379, out: 0x59d9, outHI: 0x0
+swl :: offset: 0x37a, out: 0x6c59d9, outHI: 0x0
+swl :: offset: 0x37b, out: 0x886c59d9, outHI: 0x0
+swl :: offset: 0x37c, out: 0x36886c59d9, outHI: 0x0
+swl :: offset: 0x37d, out: 0x7936886c59d9, outHI: 0x0
+swl :: offset: 0x37e, out: 0xe47936886c59d9, outHI: 0x0
+swl :: offset: 0x37f, out: 0x2be47936886c59d9, outHI: 0x0
+swl :: offset: 0x380, out: 0xd3, outHI: 0x0
+swl :: offset: 0x381, out: 0xdbd3, outHI: 0x0
+swl :: offset: 0x382, out: 0x4bdbd3, outHI: 0x0
+swl :: offset: 0x383, out: 0xca4bdbd3, outHI: 0x0
+swl :: offset: 0x384, out: 0x9ca4bdbd3, outHI: 0x0
+swl :: offset: 0x385, out: 0x1f09ca4bdbd3, outHI: 0x0
+swl :: offset: 0x386, out: 0xe61f09ca4bdbd3, outHI: 0x0
+swl :: offset: 0x387, out: 0x62e61f09ca4bdbd3, outHI: 0x0
+swl :: offset: 0x388, out: 0x99, outHI: 0x0
+swl :: offset: 0x389, out: 0x1d99, outHI: 0x0
+swl :: offset: 0x38a, out: 0x7d1d99, outHI: 0x0
+swl :: offset: 0x38b, out: 0x5d7d1d99, outHI: 0x0
+swl :: offset: 0x38c, out: 0xfd5d7d1d99, outHI: 0x0
+swl :: offset: 0x38d, out: 0xdffd5d7d1d99, outHI: 0x0
+swl :: offset: 0x38e, out: 0x74dffd5d7d1d99, outHI: 0x0
+swl :: offset: 0x38f, out: 0xd374dffd5d7d1d99, outHI: 0x0
+swl :: offset: 0x390, out: 0xca, outHI: 0x0
+swl :: offset: 0x391, out: 0x3eca, outHI: 0x0
+swl :: offset: 0x392, out: 0x553eca, outHI: 0x0
+swl :: offset: 0x393, out: 0x46553eca, outHI: 0x0
+swl :: offset: 0x394, out: 0x3f46553eca, outHI: 0x0
+swl :: offset: 0x395, out: 0xa73f46553eca, outHI: 0x0
+swl :: offset: 0x396, out: 0xf2a73f46553eca, outHI: 0x0
+swl :: offset: 0x397, out: 0xedf2a73f46553eca, outHI: 0x0
+swl :: offset: 0x398, out: 0x3e, outHI: 0x0
+swl :: offset: 0x399, out: 0x7d3e, outHI: 0x0
+swl :: offset: 0x39a, out: 0xb97d3e, outHI: 0x0
+swl :: offset: 0x39b, out: 0x9ab97d3e, outHI: 0x0
+swl :: offset: 0x39c, out: 0x2e9ab97d3e, outHI: 0x0
+swl :: offset: 0x39d, out: 0x332e9ab97d3e, outHI: 0x0
+swl :: offset: 0x39e, out: 0x9f332e9ab97d3e, outHI: 0x0
+swl :: offset: 0x39f, out: 0xc9f332e9ab97d3e, outHI: 0x0
+swl :: offset: 0x3a0, out: 0x3c, outHI: 0x0
+swl :: offset: 0x3a1, out: 0xfa3c, outHI: 0x0
+swl :: offset: 0x3a2, out: 0xf7fa3c, outHI: 0x0
+swl :: offset: 0x3a3, out: 0xa6f7fa3c, outHI: 0x0
+swl :: offset: 0x3a4, out: 0x36a6f7fa3c, outHI: 0x0
+swl :: offset: 0x3a5, out: 0xdc36a6f7fa3c, outHI: 0x0
+swl :: offset: 0x3a6, out: 0xc9dc36a6f7fa3c, outHI: 0x0
+swl :: offset: 0x3a7, out: 0x5ec9dc36a6f7fa3c, outHI: 0x0
+swl :: offset: 0x3a8, out: 0x15, outHI: 0x0
+swl :: offset: 0x3a9, out: 0xe315, outHI: 0x0
+swl :: offset: 0x3aa, out: 0x38e315, outHI: 0x0
+swl :: offset: 0x3ab, out: 0xb938e315, outHI: 0x0
+swl :: offset: 0x3ac, out: 0x8bb938e315, outHI: 0x0
+swl :: offset: 0x3ad, out: 0x68bb938e315, outHI: 0x0
+swl :: offset: 0x3ae, out: 0x82068bb938e315, outHI: 0x0
+swl :: offset: 0x3af, out: 0x4782068bb938e315, outHI: 0x0
+swl :: offset: 0x3b0, out: 0x19, outHI: 0x0
+swl :: offset: 0x3b1, out: 0xc419, outHI: 0x0
+swl :: offset: 0x3b2, out: 0x25c419, outHI: 0x0
+swl :: offset: 0x3b3, out: 0xdf25c419, outHI: 0x0
+swl :: offset: 0x3b4, out: 0xd2df25c419, outHI: 0x0
+swl :: offset: 0x3b5, out: 0x25d2df25c419, outHI: 0x0
+swl :: offset: 0x3b6, out: 0x1825d2df25c419, outHI: 0x0
+swl :: offset: 0x3b7, out: 0x321825d2df25c419, outHI: 0x0
+swl :: offset: 0x3b8, out: 0xeb, outHI: 0x0
+swl :: offset: 0x3b9, out: 0x27eb, outHI: 0x0
+swl :: offset: 0x3ba, out: 0xbf27eb, outHI: 0x0
+swl :: offset: 0x3bb, out: 0x65bf27eb, outHI: 0x0
+swl :: offset: 0x3bc, out: 0xbc65bf27eb, outHI: 0x0
+swl :: offset: 0x3bd, out: 0xdabc65bf27eb, outHI: 0x0
+swl :: offset: 0x3be, out: 0xc7dabc65bf27eb, outHI: 0x0
+swl :: offset: 0x3bf, out: 0x8bc7dabc65bf27eb, outHI: 0x0
+swl :: offset: 0x3c0, out: 0x7a, outHI: 0x0
+swl :: offset: 0x3c1, out: 0xe67a, outHI: 0x0
+swl :: offset: 0x3c2, out: 0x8fe67a, outHI: 0x0
+swl :: offset: 0x3c3, out: 0xb08fe67a, outHI: 0x0
+swl :: offset: 0x3c4, out: 0xa8b08fe67a, outHI: 0x0
+swl :: offset: 0x3c5, out: 0xe8a8b08fe67a, outHI: 0x0
+swl :: offset: 0x3c6, out: 0xcde8a8b08fe67a, outHI: 0x0
+swl :: offset: 0x3c7, out: 0xdfcde8a8b08fe67a, outHI: 0x0
+swl :: offset: 0x3c8, out: 0xf8, outHI: 0x0
+swl :: offset: 0x3c9, out: 0xcaf8, outHI: 0x0
+swl :: offset: 0x3ca, out: 0x5bcaf8, outHI: 0x0
+swl :: offset: 0x3cb, out: 0x2b5bcaf8, outHI: 0x0
+swl :: offset: 0x3cc, out: 0x852b5bcaf8, outHI: 0x0
+swl :: offset: 0x3cd, out: 0x69852b5bcaf8, outHI: 0x0
+swl :: offset: 0x3ce, out: 0x9269852b5bcaf8, outHI: 0x0
+swl :: offset: 0x3cf, out: 0xa99269852b5bcaf8, outHI: 0x0
+swl :: offset: 0x3d0, out: 0x59, outHI: 0x0
+swl :: offset: 0x3d1, out: 0x9b59, outHI: 0x0
+swl :: offset: 0x3d2, out: 0x909b59, outHI: 0x0
+swl :: offset: 0x3d3, out: 0x78909b59, outHI: 0x0
+swl :: offset: 0x3d4, out: 0x478909b59, outHI: 0x0
+swl :: offset: 0x3d5, out: 0xf0478909b59, outHI: 0x0
+swl :: offset: 0x3d6, out: 0x360f0478909b59, outHI: 0x0
+swl :: offset: 0x3d7, out: 0x57360f0478909b59, outHI: 0x0
+swl :: offset: 0x3d8, out: 0x78, outHI: 0x0
+swl :: offset: 0x3d9, out: 0xc878, outHI: 0x0
+swl :: offset: 0x3da, out: 0x1cc878, outHI: 0x0
+swl :: offset: 0x3db, out: 0xb31cc878, outHI: 0x0
+swl :: offset: 0x3dc, out: 0xbfb31cc878, outHI: 0x0
+swl :: offset: 0x3dd, out: 0xa2bfb31cc878, outHI: 0x0
+swl :: offset: 0x3de, out: 0xe9a2bfb31cc878, outHI: 0x0
+swl :: offset: 0x3df, out: 0x89e9a2bfb31cc878, outHI: 0x0
+swl :: offset: 0x3e0, out: 0x7f, outHI: 0x0
+swl :: offset: 0x3e1, out: 0x5e7f, outHI: 0x0
+swl :: offset: 0x3e2, out: 0xed5e7f, outHI: 0x0
+swl :: offset: 0x3e3, out: 0x65ed5e7f, outHI: 0x0
+swl :: offset: 0x3e4, out: 0xb665ed5e7f, outHI: 0x0
+swl :: offset: 0x3e5, out: 0xe4b665ed5e7f, outHI: 0x0
+swl :: offset: 0x3e6, out: 0xd5e4b665ed5e7f, outHI: 0x0
+swl :: offset: 0x3e7, out: 0xa8d5e4b665ed5e7f, outHI: 0x0
+swl :: offset: 0x3e8, out: 0xb7, outHI: 0x0
+swl :: offset: 0x3e9, out: 0x74b7, outHI: 0x0
+swl :: offset: 0x3ea, out: 0x9474b7, outHI: 0x0
+swl :: offset: 0x3eb, out: 0xda9474b7, outHI: 0x0
+swl :: offset: 0x3ec, out: 0x15da9474b7, outHI: 0x0
+swl :: offset: 0x3ed, out: 0xcc15da9474b7, outHI: 0x0
+swl :: offset: 0x3ee, out: 0xfcc15da9474b7, outHI: 0x0
+swl :: offset: 0x3ef, out: 0xf90fcc15da9474b7, outHI: 0x0
+swl :: offset: 0x3f0, out: 0x2a, outHI: 0x0
+swl :: offset: 0x3f1, out: 0x7d2a, outHI: 0x0
+swl :: offset: 0x3f2, out: 0x537d2a, outHI: 0x0
+swl :: offset: 0x3f3, out: 0xb3537d2a, outHI: 0x0
+swl :: offset: 0x3f4, out: 0xf6b3537d2a, outHI: 0x0
+swl :: offset: 0x3f5, out: 0x97f6b3537d2a, outHI: 0x0
+swl :: offset: 0x3f6, out: 0x1897f6b3537d2a, outHI: 0x0
+swl :: offset: 0x3f7, out: 0x961897f6b3537d2a, outHI: 0x0
+swl :: offset: 0x3f8, out: 0x2b, outHI: 0x0
+swl :: offset: 0x3f9, out: 0xfe2b, outHI: 0x0
+swl :: offset: 0x3fa, out: 0x7cfe2b, outHI: 0x0
+swl :: offset: 0x3fb, out: 0x3d7cfe2b, outHI: 0x0
+swl :: offset: 0x3fc, out: 0x223d7cfe2b, outHI: 0x0
+swl :: offset: 0x3fd, out: 0x4b223d7cfe2b, outHI: 0x0
+swl :: offset: 0x3fe, out: 0x4a4b223d7cfe2b, outHI: 0x0
+swl :: offset: 0x3ff, out: 0x734a4b223d7cfe2b, outHI: 0x0
+swl :: offset: 0x400, out: 0x33, outHI: 0x0
+swl :: offset: 0x401, out: 0xf533, outHI: 0x0
+swl :: offset: 0x402, out: 0x34f533, outHI: 0x0
+swl :: offset: 0x403, out: 0xb34f533, outHI: 0x0
+swl :: offset: 0x404, out: 0x420b34f533, outHI: 0x0
+swl :: offset: 0x405, out: 0x3c420b34f533, outHI: 0x0
+swl :: offset: 0x406, out: 0xb33c420b34f533, outHI: 0x0
+swl :: offset: 0x407, out: 0x46b33c420b34f533, outHI: 0x0
+swl :: offset: 0x408, out: 0xdd, outHI: 0x0
+swl :: offset: 0x409, out: 0x8ddd, outHI: 0x0
+swl :: offset: 0x40a, out: 0x8c8ddd, outHI: 0x0
+swl :: offset: 0x40b, out: 0x7c8c8ddd, outHI: 0x0
+swl :: offset: 0x40c, out: 0x897c8c8ddd, outHI: 0x0
+swl :: offset: 0x40d, out: 0xd9897c8c8ddd, outHI: 0x0
+swl :: offset: 0x40e, out: 0xccd9897c8c8ddd, outHI: 0x0
+swl :: offset: 0x40f, out: 0x92ccd9897c8c8ddd, outHI: 0x0
+swl :: offset: 0x410, out: 0xe3, outHI: 0x0
+swl :: offset: 0x411, out: 0x45e3, outHI: 0x0
+swl :: offset: 0x412, out: 0x7445e3, outHI: 0x0
+swl :: offset: 0x413, out: 0x387445e3, outHI: 0x0
+swl :: offset: 0x414, out: 0x7a387445e3, outHI: 0x0
+swl :: offset: 0x415, out: 0xc97a387445e3, outHI: 0x0
+swl :: offset: 0x416, out: 0xc97a387445e3, outHI: 0x0
+swl :: offset: 0x417, out: 0xc97a387445e3, outHI: 0x0
+swl :: offset: 0x418, out: 0xd8, outHI: 0x0
+swl :: offset: 0x419, out: 0xb1d8, outHI: 0x0
+swl :: offset: 0x41a, out: 0x29b1d8, outHI: 0x0
+swl :: offset: 0x41b, out: 0x2f29b1d8, outHI: 0x0
+swl :: offset: 0x41c, out: 0x512f29b1d8, outHI: 0x0
+swl :: offset: 0x41d, out: 0xa512f29b1d8, outHI: 0x0
+swl :: offset: 0x41e, out: 0x20a512f29b1d8, outHI: 0x0
+swl :: offset: 0x41f, out: 0xad020a512f29b1d8, outHI: 0x0
+swl :: offset: 0x420, out: 0x3d, outHI: 0x0
+swl :: offset: 0x421, out: 0xc53d, outHI: 0x0
+swl :: offset: 0x422, out: 0xd5c53d, outHI: 0x0
+swl :: offset: 0x423, out: 0xded5c53d, outHI: 0x0
+swl :: offset: 0x424, out: 0xeaded5c53d, outHI: 0x0
+swl :: offset: 0x425, out: 0x5beaded5c53d, outHI: 0x0
+swl :: offset: 0x426, out: 0xa35beaded5c53d, outHI: 0x0
+swl :: offset: 0x427, out: 0xeea35beaded5c53d, outHI: 0x0
+swl :: offset: 0x428, out: 0x31, outHI: 0x0
+swl :: offset: 0x429, out: 0xd731, outHI: 0x0
+swl :: offset: 0x42a, out: 0x29d731, outHI: 0x0
+swl :: offset: 0x42b, out: 0x6229d731, outHI: 0x0
+swl :: offset: 0x42c, out: 0x8a6229d731, outHI: 0x0
+swl :: offset: 0x42d, out: 0x498a6229d731, outHI: 0x0
+swl :: offset: 0x42e, out: 0x56498a6229d731, outHI: 0x0
+swl :: offset: 0x42f, out: 0x9856498a6229d731, outHI: 0x0
+swl :: offset: 0x430, out: 0x48, outHI: 0x0
+swl :: offset: 0x431, out: 0x9e48, outHI: 0x0
+swl :: offset: 0x432, out: 0x3f9e48, outHI: 0x0
+swl :: offset: 0x433, out: 0x3c3f9e48, outHI: 0x0
+swl :: offset: 0x434, out: 0x2c3c3f9e48, outHI: 0x0
+swl :: offset: 0x435, out: 0x772c3c3f9e48, outHI: 0x0
+swl :: offset: 0x436, out: 0xb772c3c3f9e48, outHI: 0x0
+swl :: offset: 0x437, out: 0x9c0b772c3c3f9e48, outHI: 0x0
+swl :: offset: 0x438, out: 0xdc, outHI: 0x0
+swl :: offset: 0x439, out: 0x78dc, outHI: 0x0
+swl :: offset: 0x43a, out: 0x1e78dc, outHI: 0x0
+swl :: offset: 0x43b, out: 0xf61e78dc, outHI: 0x0
+swl :: offset: 0x43c, out: 0x7ff61e78dc, outHI: 0x0
+swl :: offset: 0x43d, out: 0xec7ff61e78dc, outHI: 0x0
+swl :: offset: 0x43e, out: 0x68ec7ff61e78dc, outHI: 0x0
+swl :: offset: 0x43f, out: 0x5e68ec7ff61e78dc, outHI: 0x0
+swl :: offset: 0x440, out: 0x1d, outHI: 0x0
+swl :: offset: 0x441, out: 0xe01d, outHI: 0x0
+swl :: offset: 0x442, out: 0xb0e01d, outHI: 0x0
+swl :: offset: 0x443, out: 0x99b0e01d, outHI: 0x0
+swl :: offset: 0x444, out: 0x2299b0e01d, outHI: 0x0
+swl :: offset: 0x445, out: 0x252299b0e01d, outHI: 0x0
+swl :: offset: 0x446, out: 0x6e252299b0e01d, outHI: 0x0
+swl :: offset: 0x447, out: 0xc6e252299b0e01d, outHI: 0x0
+swl :: offset: 0x448, out: 0x3d, outHI: 0x0
+swl :: offset: 0x449, out: 0x673d, outHI: 0x0
+swl :: offset: 0x44a, out: 0x4673d, outHI: 0x0
+swl :: offset: 0x44b, out: 0x3b04673d, outHI: 0x0
+swl :: offset: 0x44c, out: 0x7c3b04673d, outHI: 0x0
+swl :: offset: 0x44d, out: 0x877c3b04673d, outHI: 0x0
+swl :: offset: 0x44e, out: 0x65877c3b04673d, outHI: 0x0
+swl :: offset: 0x44f, out: 0xfb65877c3b04673d, outHI: 0x0
+swl :: offset: 0x450, out: 0xe7, outHI: 0x0
+swl :: offset: 0x451, out: 0xc1e7, outHI: 0x0
+swl :: offset: 0x452, out: 0x17c1e7, outHI: 0x0
+swl :: offset: 0x453, out: 0x4e17c1e7, outHI: 0x0
+swl :: offset: 0x454, out: 0x164e17c1e7, outHI: 0x0
+swl :: offset: 0x455, out: 0xb164e17c1e7, outHI: 0x0
+swl :: offset: 0x456, out: 0x950b164e17c1e7, outHI: 0x0
+swl :: offset: 0x457, out: 0xd4950b164e17c1e7, outHI: 0x0
+swl :: offset: 0x458, out: 0x56, outHI: 0x0
+swl :: offset: 0x459, out: 0x8b56, outHI: 0x0
+swl :: offset: 0x45a, out: 0xa28b56, outHI: 0x0
+swl :: offset: 0x45b, out: 0x4ca28b56, outHI: 0x0
+swl :: offset: 0x45c, out: 0xfa4ca28b56, outHI: 0x0
+swl :: offset: 0x45d, out: 0x8afa4ca28b56, outHI: 0x0
+swl :: offset: 0x45e, out: 0xa08afa4ca28b56, outHI: 0x0
+swl :: offset: 0x45f, out: 0x7fa08afa4ca28b56, outHI: 0x0
+swl :: offset: 0x460, out: 0xbe, outHI: 0x0
+swl :: offset: 0x461, out: 0x14be, outHI: 0x0
+swl :: offset: 0x462, out: 0xa314be, outHI: 0x0
+swl :: offset: 0x463, out: 0xe9a314be, outHI: 0x0
+swl :: offset: 0x464, out: 0xe5e9a314be, outHI: 0x0
+swl :: offset: 0x465, out: 0xc5e5e9a314be, outHI: 0x0
+swl :: offset: 0x466, out: 0x49c5e5e9a314be, outHI: 0x0
+swl :: offset: 0x467, out: 0x9649c5e5e9a314be, outHI: 0x0
+swl :: offset: 0x468, out: 0x15, outHI: 0x0
+swl :: offset: 0x469, out: 0x6415, outHI: 0x0
+swl :: offset: 0x46a, out: 0x816415, outHI: 0x0
+swl :: offset: 0x46b, out: 0xbe816415, outHI: 0x0
+swl :: offset: 0x46c, out: 0xf8be816415, outHI: 0x0
+swl :: offset: 0x46d, out: 0x17f8be816415, outHI: 0x0
+swl :: offset: 0x46e, out: 0x9b17f8be816415, outHI: 0x0
+swl :: offset: 0x46f, out: 0xe69b17f8be816415, outHI: 0x0
+swl :: offset: 0x470, out: 0x84, outHI: 0x0
+swl :: offset: 0x471, out: 0x9784, outHI: 0x0
+swl :: offset: 0x472, out: 0x259784, outHI: 0x0
+swl :: offset: 0x473, out: 0xa3259784, outHI: 0x0
+swl :: offset: 0x474, out: 0x7ca3259784, outHI: 0x0
+swl :: offset: 0x475, out: 0x5c7ca3259784, outHI: 0x0
+swl :: offset: 0x476, out: 0x4f5c7ca3259784, outHI: 0x0
+swl :: offset: 0x477, out: 0xf24f5c7ca3259784, outHI: 0x0
+swl :: offset: 0x478, out: 0xa1, outHI: 0x0
+swl :: offset: 0x479, out: 0x3ca1, outHI: 0x0
+swl :: offset: 0x47a, out: 0x543ca1, outHI: 0x0
+swl :: offset: 0x47b, out: 0x8d543ca1, outHI: 0x0
+swl :: offset: 0x47c, out: 0xfc8d543ca1, outHI: 0x0
+swl :: offset: 0x47d, out: 0x36fc8d543ca1, outHI: 0x0
+swl :: offset: 0x47e, out: 0x9e36fc8d543ca1, outHI: 0x0
+swl :: offset: 0x47f, out: 0x459e36fc8d543ca1, outHI: 0x0
+swl :: offset: 0x480, out: 0xe3, outHI: 0x0
+swl :: offset: 0x481, out: 0xa0e3, outHI: 0x0
+swl :: offset: 0x482, out: 0x6ca0e3, outHI: 0x0
+swl :: offset: 0x483, out: 0xeb6ca0e3, outHI: 0x0
+swl :: offset: 0x484, out: 0x4aeb6ca0e3, outHI: 0x0
+swl :: offset: 0x485, out: 0xfa4aeb6ca0e3, outHI: 0x0
+swl :: offset: 0x486, out: 0x80fa4aeb6ca0e3, outHI: 0x0
+swl :: offset: 0x487, out: 0x7980fa4aeb6ca0e3, outHI: 0x0
+swl :: offset: 0x488, out: 0x18, outHI: 0x0
+swl :: offset: 0x489, out: 0x8e18, outHI: 0x0
+swl :: offset: 0x48a, out: 0xe18e18, outHI: 0x0
+swl :: offset: 0x48b, out: 0x32e18e18, outHI: 0x0
+swl :: offset: 0x48c, out: 0xc532e18e18, outHI: 0x0
+swl :: offset: 0x48d, out: 0x1cc532e18e18, outHI: 0x0
+swl :: offset: 0x48e, out: 0x7d1cc532e18e18, outHI: 0x0
+swl :: offset: 0x48f, out: 0x287d1cc532e18e18, outHI: 0x0
+swl :: offset: 0x490, out: 0x4f, outHI: 0x0
+swl :: offset: 0x491, out: 0x294f, outHI: 0x0
+swl :: offset: 0x492, out: 0xec294f, outHI: 0x0
+swl :: offset: 0x493, out: 0xfdec294f, outHI: 0x0
+swl :: offset: 0x494, out: 0xb3fdec294f, outHI: 0x0
+swl :: offset: 0x495, out: 0x90b3fdec294f, outHI: 0x0
+swl :: offset: 0x496, out: 0x2b90b3fdec294f, outHI: 0x0
+swl :: offset: 0x497, out: 0x732b90b3fdec294f, outHI: 0x0
+swl :: offset: 0x498, out: 0x49, outHI: 0x0
+swl :: offset: 0x499, out: 0xa49, outHI: 0x0
+swl :: offset: 0x49a, out: 0x660a49, outHI: 0x0
+swl :: offset: 0x49b, out: 0x20660a49, outHI: 0x0
+swl :: offset: 0x49c, out: 0xb620660a49, outHI: 0x0
+swl :: offset: 0x49d, out: 0x91b620660a49, outHI: 0x0
+swl :: offset: 0x49e, out: 0xe991b620660a49, outHI: 0x0
+swl :: offset: 0x49f, out: 0xfde991b620660a49, outHI: 0x0
+swl :: offset: 0x4a0, out: 0x6c, outHI: 0x0
+swl :: offset: 0x4a1, out: 0xf16c, outHI: 0x0
+swl :: offset: 0x4a2, out: 0x38f16c, outHI: 0x0
+swl :: offset: 0x4a3, out: 0x3138f16c, outHI: 0x0
+swl :: offset: 0x4a4, out: 0x993138f16c, outHI: 0x0
+swl :: offset: 0x4a5, out: 0xb9993138f16c, outHI: 0x0
+swl :: offset: 0x4a6, out: 0x7b9993138f16c, outHI: 0x0
+swl :: offset: 0x4a7, out: 0x5407b9993138f16c, outHI: 0x0
+swl :: offset: 0x4a8, out: 0x7d, outHI: 0x0
+swl :: offset: 0x4a9, out: 0x337d, outHI: 0x0
+swl :: offset: 0x4aa, out: 0xd1337d, outHI: 0x0
+swl :: offset: 0x4ab, out: 0x2d1337d, outHI: 0x0
+swl :: offset: 0x4ac, out: 0xde02d1337d, outHI: 0x0
+swl :: offset: 0x4ad, out: 0x5ade02d1337d, outHI: 0x0
+swl :: offset: 0x4ae, out: 0xb15ade02d1337d, outHI: 0x0
+swl :: offset: 0x4af, out: 0xdab15ade02d1337d, outHI: 0x0
+swl :: offset: 0x4b0, out: 0xe1, outHI: 0x0
+swl :: offset: 0x4b1, out: 0xe1e1, outHI: 0x0
+swl :: offset: 0x4b2, out: 0x90e1e1, outHI: 0x0
+swl :: offset: 0x4b3, out: 0xa390e1e1, outHI: 0x0
+swl :: offset: 0x4b4, out: 0x13a390e1e1, outHI: 0x0
+swl :: offset: 0x4b5, out: 0xc813a390e1e1, outHI: 0x0
+swl :: offset: 0x4b6, out: 0x16c813a390e1e1, outHI: 0x0
+swl :: offset: 0x4b7, out: 0x8716c813a390e1e1, outHI: 0x0
+swl :: offset: 0x4b8, out: 0x82, outHI: 0x0
+swl :: offset: 0x4b9, out: 0xa682, outHI: 0x0
+swl :: offset: 0x4ba, out: 0x91a682, outHI: 0x0
+swl :: offset: 0x4bb, out: 0x3491a682, outHI: 0x0
+swl :: offset: 0x4bc, out: 0x743491a682, outHI: 0x0
+swl :: offset: 0x4bd, out: 0xf2743491a682, outHI: 0x0
+swl :: offset: 0x4be, out: 0x92f2743491a682, outHI: 0x0
+swl :: offset: 0x4bf, out: 0xe292f2743491a682, outHI: 0x0
+swl :: offset: 0x4c0, out: 0xed, outHI: 0x0
+swl :: offset: 0x4c1, out: 0x4aed, outHI: 0x0
+swl :: offset: 0x4c2, out: 0x404aed, outHI: 0x0
+swl :: offset: 0x4c3, out: 0xff404aed, outHI: 0x0
+swl :: offset: 0x4c4, out: 0x8cff404aed, outHI: 0x0
+swl :: offset: 0x4c5, out: 0x368cff404aed, outHI: 0x0
+swl :: offset: 0x4c6, out: 0x76368cff404aed, outHI: 0x0
+swl :: offset: 0x4c7, out: 0x8376368cff404aed, outHI: 0x0
+swl :: offset: 0x4c8, out: 0x1f, outHI: 0x0
+swl :: offset: 0x4c9, out: 0xdb1f, outHI: 0x0
+swl :: offset: 0x4ca, out: 0xc0db1f, outHI: 0x0
+swl :: offset: 0x4cb, out: 0xcec0db1f, outHI: 0x0
+swl :: offset: 0x4cc, out: 0xb9cec0db1f, outHI: 0x0
+swl :: offset: 0x4cd, out: 0x1cb9cec0db1f, outHI: 0x0
+swl :: offset: 0x4ce, out: 0x771cb9cec0db1f, outHI: 0x0
+swl :: offset: 0x4cf, out: 0x9771cb9cec0db1f, outHI: 0x0
+swl :: offset: 0x4d0, out: 0x5, outHI: 0x0
+swl :: offset: 0x4d1, out: 0xa705, outHI: 0x0
+swl :: offset: 0x4d2, out: 0x5aa705, outHI: 0x0
+swl :: offset: 0x4d3, out: 0xaa5aa705, outHI: 0x0
+swl :: offset: 0x4d4, out: 0x2eaa5aa705, outHI: 0x0
+swl :: offset: 0x4d5, out: 0x1b2eaa5aa705, outHI: 0x0
+swl :: offset: 0x4d6, out: 0x241b2eaa5aa705, outHI: 0x0
+swl :: offset: 0x4d7, out: 0x75241b2eaa5aa705, outHI: 0x0
+swl :: offset: 0x4d8, out: 0x18, outHI: 0x0
+swl :: offset: 0x4d9, out: 0x8e18, outHI: 0x0
+swl :: offset: 0x4da, out: 0x538e18, outHI: 0x0
+swl :: offset: 0x4db, out: 0x27538e18, outHI: 0x0
+swl :: offset: 0x4dc, out: 0xd327538e18, outHI: 0x0
+swl :: offset: 0x4dd, out: 0x6bd327538e18, outHI: 0x0
+swl :: offset: 0x4de, out: 0x9b6bd327538e18, outHI: 0x0
+swl :: offset: 0x4df, out: 0x739b6bd327538e18, outHI: 0x0
+swl :: offset: 0x4e0, out: 0x8b, outHI: 0x0
+swl :: offset: 0x4e1, out: 0x548b, outHI: 0x0
+swl :: offset: 0x4e2, out: 0xf8548b, outHI: 0x0
+swl :: offset: 0x4e3, out: 0xe9f8548b, outHI: 0x0
+swl :: offset: 0x4e4, out: 0x42e9f8548b, outHI: 0x0
+swl :: offset: 0x4e5, out: 0x1a42e9f8548b, outHI: 0x0
+swl :: offset: 0x4e6, out: 0xba1a42e9f8548b, outHI: 0x0
+swl :: offset: 0x4e7, out: 0xcbba1a42e9f8548b, outHI: 0x0
+swl :: offset: 0x4e8, out: 0xec, outHI: 0x0
+swl :: offset: 0x4e9, out: 0xcec, outHI: 0x0
+swl :: offset: 0x4ea, out: 0xe50cec, outHI: 0x0
+swl :: offset: 0x4eb, out: 0xe4e50cec, outHI: 0x0
+swl :: offset: 0x4ec, out: 0x78e4e50cec, outHI: 0x0
+swl :: offset: 0x4ed, out: 0xcb78e4e50cec, outHI: 0x0
+swl :: offset: 0x4ee, out: 0x27cb78e4e50cec, outHI: 0x0
+swl :: offset: 0x4ef, out: 0x9d27cb78e4e50cec, outHI: 0x0
+swl :: offset: 0x4f0, out: 0xcd, outHI: 0x0
+swl :: offset: 0x4f1, out: 0x3fcd, outHI: 0x0
+swl :: offset: 0x4f2, out: 0xfa3fcd, outHI: 0x0
+swl :: offset: 0x4f3, out: 0xb6fa3fcd, outHI: 0x0
+swl :: offset: 0x4f4, out: 0xf6b6fa3fcd, outHI: 0x0
+swl :: offset: 0x4f5, out: 0x23f6b6fa3fcd, outHI: 0x0
+swl :: offset: 0x4f6, out: 0x9423f6b6fa3fcd, outHI: 0x0
+swl :: offset: 0x4f7, out: 0x3e9423f6b6fa3fcd, outHI: 0x0
+swl :: offset: 0x4f8, out: 0xae, outHI: 0x0
+swl :: offset: 0x4f9, out: 0x83ae, outHI: 0x0
+swl :: offset: 0x4fa, out: 0x6483ae, outHI: 0x0
+swl :: offset: 0x4fb, out: 0x916483ae, outHI: 0x0
+swl :: offset: 0x4fc, out: 0x73916483ae, outHI: 0x0
+swl :: offset: 0x4fd, out: 0x6173916483ae, outHI: 0x0
+swl :: offset: 0x4fe, out: 0x856173916483ae, outHI: 0x0
+swl :: offset: 0x4ff, out: 0x12856173916483ae, outHI: 0x0
+swl :: offset: 0x500, out: 0xe, outHI: 0x0
+swl :: offset: 0x501, out: 0xa0e, outHI: 0x0
+swl :: offset: 0x502, out: 0xf70a0e, outHI: 0x0
+swl :: offset: 0x503, out: 0x6af70a0e, outHI: 0x0
+swl :: offset: 0x504, out: 0x276af70a0e, outHI: 0x0
+swl :: offset: 0x505, out: 0x6e276af70a0e, outHI: 0x0
+swl :: offset: 0x506, out: 0x4b6e276af70a0e, outHI: 0x0
+swl :: offset: 0x507, out: 0xe74b6e276af70a0e, outHI: 0x0
+swl :: offset: 0x508, out: 0xb5, outHI: 0x0
+swl :: offset: 0x509, out: 0xf6b5, outHI: 0x0
+swl :: offset: 0x50a, out: 0x5bf6b5, outHI: 0x0
+swl :: offset: 0x50b, out: 0x45bf6b5, outHI: 0x0
+swl :: offset: 0x50c, out: 0x3045bf6b5, outHI: 0x0
+swl :: offset: 0x50d, out: 0xa603045bf6b5, outHI: 0x0
+swl :: offset: 0x50e, out: 0xcfa603045bf6b5, outHI: 0x0
+swl :: offset: 0x50f, out: 0xaccfa603045bf6b5, outHI: 0x0
+swl :: offset: 0x510, out: 0x8, outHI: 0x0
+swl :: offset: 0x511, out: 0x1308, outHI: 0x0
+swl :: offset: 0x512, out: 0x3f1308, outHI: 0x0
+swl :: offset: 0x513, out: 0x223f1308, outHI: 0x0
+swl :: offset: 0x514, out: 0x20223f1308, outHI: 0x0
+swl :: offset: 0x515, out: 0xf520223f1308, outHI: 0x0
+swl :: offset: 0x516, out: 0xb5f520223f1308, outHI: 0x0
+swl :: offset: 0x517, out: 0x76b5f520223f1308, outHI: 0x0
+swl :: offset: 0x518, out: 0x39, outHI: 0x0
+swl :: offset: 0x519, out: 0x7439, outHI: 0x0
+swl :: offset: 0x51a, out: 0x557439, outHI: 0x0
+swl :: offset: 0x51b, out: 0x3c557439, outHI: 0x0
+swl :: offset: 0x51c, out: 0xf83c557439, outHI: 0x0
+swl :: offset: 0x51d, out: 0x3df83c557439, outHI: 0x0
+swl :: offset: 0x51e, out: 0x3c3df83c557439, outHI: 0x0
+swl :: offset: 0x51f, out: 0x923c3df83c557439, outHI: 0x0
+swl :: offset: 0x520, out: 0x46, outHI: 0x0
+swl :: offset: 0x521, out: 0xf946, outHI: 0x0
+swl :: offset: 0x522, out: 0x20f946, outHI: 0x0
+swl :: offset: 0x523, out: 0x9720f946, outHI: 0x0
+swl :: offset: 0x524, out: 0x1f9720f946, outHI: 0x0
+swl :: offset: 0x525, out: 0xdd1f9720f946, outHI: 0x0
+swl :: offset: 0x526, out: 0x48dd1f9720f946, outHI: 0x0
+swl :: offset: 0x527, out: 0x2448dd1f9720f946, outHI: 0x0
+swl :: offset: 0x528, out: 0x6d, outHI: 0x0
+swl :: offset: 0x529, out: 0x506d, outHI: 0x0
+swl :: offset: 0x52a, out: 0x28506d, outHI: 0x0
+swl :: offset: 0x52b, out: 0xd28506d, outHI: 0x0
+swl :: offset: 0x52c, out: 0x620d28506d, outHI: 0x0
+swl :: offset: 0x52d, out: 0x32620d28506d, outHI: 0x0
+swl :: offset: 0x52e, out: 0xa732620d28506d, outHI: 0x0
+swl :: offset: 0x52f, out: 0xf4a732620d28506d, outHI: 0x0
+swl :: offset: 0x530, out: 0x9f, outHI: 0x0
+swl :: offset: 0x531, out: 0xe99f, outHI: 0x0
+swl :: offset: 0x532, out: 0x21e99f, outHI: 0x0
+swl :: offset: 0x533, out: 0xa521e99f, outHI: 0x0
+swl :: offset: 0x534, out: 0x60a521e99f, outHI: 0x0
+swl :: offset: 0x535, out: 0xb60a521e99f, outHI: 0x0
+swl :: offset: 0x536, out: 0xf0b60a521e99f, outHI: 0x0
+swl :: offset: 0x537, out: 0x680f0b60a521e99f, outHI: 0x0
+swl :: offset: 0x538, out: 0x5c, outHI: 0x0
+swl :: offset: 0x539, out: 0xab5c, outHI: 0x0
+swl :: offset: 0x53a, out: 0xf3ab5c, outHI: 0x0
+swl :: offset: 0x53b, out: 0x8f3ab5c, outHI: 0x0
+swl :: offset: 0x53c, out: 0x5a08f3ab5c, outHI: 0x0
+swl :: offset: 0x53d, out: 0x265a08f3ab5c, outHI: 0x0
+swl :: offset: 0x53e, out: 0x3d265a08f3ab5c, outHI: 0x0
+swl :: offset: 0x53f, out: 0xf3d265a08f3ab5c, outHI: 0x0
+swl :: offset: 0x540, out: 0x80, outHI: 0x0
+swl :: offset: 0x541, out: 0xe780, outHI: 0x0
+swl :: offset: 0x542, out: 0x9be780, outHI: 0x0
+swl :: offset: 0x543, out: 0xa59be780, outHI: 0x0
+swl :: offset: 0x544, out: 0xc7a59be780, outHI: 0x0
+swl :: offset: 0x545, out: 0x41c7a59be780, outHI: 0x0
+swl :: offset: 0x546, out: 0x1b41c7a59be780, outHI: 0x0
+swl :: offset: 0x547, out: 0xca1b41c7a59be780, outHI: 0x0
+swl :: offset: 0x548, out: 0x82, outHI: 0x0
+swl :: offset: 0x549, out: 0x2982, outHI: 0x0
+swl :: offset: 0x54a, out: 0xdf2982, outHI: 0x0
+swl :: offset: 0x54b, out: 0xecdf2982, outHI: 0x0
+swl :: offset: 0x54c, out: 0x1aecdf2982, outHI: 0x0
+swl :: offset: 0x54d, out: 0xcd1aecdf2982, outHI: 0x0
+swl :: offset: 0x54e, out: 0x9dcd1aecdf2982, outHI: 0x0
+swl :: offset: 0x54f, out: 0xd19dcd1aecdf2982, outHI: 0x0
+swl :: offset: 0x550, out: 0x60, outHI: 0x0
+swl :: offset: 0x551, out: 0xa260, outHI: 0x0
+swl :: offset: 0x552, out: 0x13a260, outHI: 0x0
+swl :: offset: 0x553, out: 0x8613a260, outHI: 0x0
+swl :: offset: 0x554, out: 0x2b8613a260, outHI: 0x0
+swl :: offset: 0x555, out: 0x7f2b8613a260, outHI: 0x0
+swl :: offset: 0x556, out: 0xbe7f2b8613a260, outHI: 0x0
+swl :: offset: 0x557, out: 0x8bbe7f2b8613a260, outHI: 0x0
+swl :: offset: 0x558, out: 0xe, outHI: 0x0
+swl :: offset: 0x559, out: 0x8b0e, outHI: 0x0
+swl :: offset: 0x55a, out: 0xac8b0e, outHI: 0x0
+swl :: offset: 0x55b, out: 0x18ac8b0e, outHI: 0x0
+swl :: offset: 0x55c, out: 0x2518ac8b0e, outHI: 0x0
+swl :: offset: 0x55d, out: 0x6b2518ac8b0e, outHI: 0x0
+swl :: offset: 0x55e, out: 0x486b2518ac8b0e, outHI: 0x0
+swl :: offset: 0x55f, out: 0xcf486b2518ac8b0e, outHI: 0x0
+swl :: offset: 0x560, out: 0x2f, outHI: 0x0
+swl :: offset: 0x561, out: 0x8d2f, outHI: 0x0
+swl :: offset: 0x562, out: 0x568d2f, outHI: 0x0
+swl :: offset: 0x563, out: 0x3e568d2f, outHI: 0x0
+swl :: offset: 0x564, out: 0x743e568d2f, outHI: 0x0
+swl :: offset: 0x565, out: 0x28743e568d2f, outHI: 0x0
+swl :: offset: 0x566, out: 0x1728743e568d2f, outHI: 0x0
+swl :: offset: 0x567, out: 0xc31728743e568d2f, outHI: 0x0
+swl :: offset: 0x568, out: 0x34, outHI: 0x0
+swl :: offset: 0x569, out: 0x6f34, outHI: 0x0
+swl :: offset: 0x56a, out: 0x646f34, outHI: 0x0
+swl :: offset: 0x56b, out: 0x6f646f34, outHI: 0x0
+swl :: offset: 0x56c, out: 0x126f646f34, outHI: 0x0
+swl :: offset: 0x56d, out: 0x12126f646f34, outHI: 0x0
+swl :: offset: 0x56e, out: 0x4d12126f646f34, outHI: 0x0
+swl :: offset: 0x56f, out: 0xfc4d12126f646f34, outHI: 0x0
+swl :: offset: 0x570, out: 0x56, outHI: 0x0
+swl :: offset: 0x571, out: 0x6156, outHI: 0x0
+swl :: offset: 0x572, out: 0x196156, outHI: 0x0
+swl :: offset: 0x573, out: 0xb0196156, outHI: 0x0
+swl :: offset: 0x574, out: 0xaab0196156, outHI: 0x0
+swl :: offset: 0x575, out: 0x42aab0196156, outHI: 0x0
+swl :: offset: 0x576, out: 0xd342aab0196156, outHI: 0x0
+swl :: offset: 0x577, out: 0x95d342aab0196156, outHI: 0x0
+swl :: offset: 0x578, out: 0x85, outHI: 0x0
+swl :: offset: 0x579, out: 0x3385, outHI: 0x0
+swl :: offset: 0x57a, out: 0xcd3385, outHI: 0x0
+swl :: offset: 0x57b, out: 0x35cd3385, outHI: 0x0
+swl :: offset: 0x57c, out: 0x7535cd3385, outHI: 0x0
+swl :: offset: 0x57d, out: 0xec7535cd3385, outHI: 0x0
+swl :: offset: 0x57e, out: 0x46ec7535cd3385, outHI: 0x0
+swl :: offset: 0x57f, out: 0x2346ec7535cd3385, outHI: 0x0
+swl :: offset: 0x580, out: 0x42, outHI: 0x0
+swl :: offset: 0x581, out: 0xda42, outHI: 0x0
+swl :: offset: 0x582, out: 0x54da42, outHI: 0x0
+swl :: offset: 0x583, out: 0xb254da42, outHI: 0x0
+swl :: offset: 0x584, out: 0xdfb254da42, outHI: 0x0
+swl :: offset: 0x585, out: 0x2adfb254da42, outHI: 0x0
+swl :: offset: 0x586, out: 0xab2adfb254da42, outHI: 0x0
+swl :: offset: 0x587, out: 0x81ab2adfb254da42, outHI: 0x0
+swl :: offset: 0x588, out: 0x0, outHI: 0x0
+swl :: offset: 0x589, out: 0xc900, outHI: 0x0
+swl :: offset: 0x58a, out: 0x26c900, outHI: 0x0
+swl :: offset: 0x58b, out: 0x6726c900, outHI: 0x0
+swl :: offset: 0x58c, out: 0xa86726c900, outHI: 0x0
+swl :: offset: 0x58d, out: 0x38a86726c900, outHI: 0x0
+swl :: offset: 0x58e, out: 0x7438a86726c900, outHI: 0x0
+swl :: offset: 0x58f, out: 0x9d7438a86726c900, outHI: 0x0
+swl :: offset: 0x590, out: 0x67, outHI: 0x0
+swl :: offset: 0x591, out: 0xa167, outHI: 0x0
+swl :: offset: 0x592, out: 0xffa167, outHI: 0x0
+swl :: offset: 0x593, out: 0xfeffa167, outHI: 0x0
+swl :: offset: 0x594, out: 0x9bfeffa167, outHI: 0x0
+swl :: offset: 0x595, out: 0x449bfeffa167, outHI: 0x0
+swl :: offset: 0x596, out: 0xe2449bfeffa167, outHI: 0x0
+swl :: offset: 0x597, out: 0xdee2449bfeffa167, outHI: 0x0
+swl :: offset: 0x598, out: 0xb7, outHI: 0x0
+swl :: offset: 0x599, out: 0x26b7, outHI: 0x0
+swl :: offset: 0x59a, out: 0x9826b7, outHI: 0x0
+swl :: offset: 0x59b, out: 0x699826b7, outHI: 0x0
+swl :: offset: 0x59c, out: 0xc7699826b7, outHI: 0x0
+swl :: offset: 0x59d, out: 0x4ac7699826b7, outHI: 0x0
+swl :: offset: 0x59e, out: 0x704ac7699826b7, outHI: 0x0
+swl :: offset: 0x59f, out: 0xa6704ac7699826b7, outHI: 0x0
+swl :: offset: 0x5a0, out: 0xfb, outHI: 0x0
+swl :: offset: 0x5a1, out: 0x97fb, outHI: 0x0
+swl :: offset: 0x5a2, out: 0xaf97fb, outHI: 0x0
+swl :: offset: 0x5a3, out: 0x7af97fb, outHI: 0x0
+swl :: offset: 0x5a4, out: 0x3c07af97fb, outHI: 0x0
+swl :: offset: 0x5a5, out: 0xfe3c07af97fb, outHI: 0x0
+swl :: offset: 0x5a6, out: 0x8bfe3c07af97fb, outHI: 0x0
+swl :: offset: 0x5a7, out: 0xc58bfe3c07af97fb, outHI: 0x0
+swl :: offset: 0x5a8, out: 0x4, outHI: 0x0
+swl :: offset: 0x5a9, out: 0xdc04, outHI: 0x0
+swl :: offset: 0x5aa, out: 0x64dc04, outHI: 0x0
+swl :: offset: 0x5ab, out: 0x1364dc04, outHI: 0x0
+swl :: offset: 0x5ac, out: 0x521364dc04, outHI: 0x0
+swl :: offset: 0x5ad, out: 0xbc521364dc04, outHI: 0x0
+swl :: offset: 0x5ae, out: 0xaebc521364dc04, outHI: 0x0
+swl :: offset: 0x5af, out: 0xb7aebc521364dc04, outHI: 0x0
+swl :: offset: 0x5b0, out: 0x9a, outHI: 0x0
+swl :: offset: 0x5b1, out: 0x589a, outHI: 0x0
+swl :: offset: 0x5b2, out: 0xbb589a, outHI: 0x0
+swl :: offset: 0x5b3, out: 0xf7bb589a, outHI: 0x0
+swl :: offset: 0x5b4, out: 0xe0f7bb589a, outHI: 0x0
+swl :: offset: 0x5b5, out: 0x4de0f7bb589a, outHI: 0x0
+swl :: offset: 0x5b6, out: 0x954de0f7bb589a, outHI: 0x0
+swl :: offset: 0x5b7, out: 0xeb954de0f7bb589a, outHI: 0x0
+swl :: offset: 0x5b8, out: 0xde, outHI: 0x0
+swl :: offset: 0x5b9, out: 0xcde, outHI: 0x0
+swl :: offset: 0x5ba, out: 0xc60cde, outHI: 0x0
+swl :: offset: 0x5bb, out: 0x36c60cde, outHI: 0x0
+swl :: offset: 0x5bc, out: 0xe336c60cde, outHI: 0x0
+swl :: offset: 0x5bd, out: 0x6ee336c60cde, outHI: 0x0
+swl :: offset: 0x5be, out: 0x416ee336c60cde, outHI: 0x0
+swl :: offset: 0x5bf, out: 0x52416ee336c60cde, outHI: 0x0
+swl :: offset: 0x5c0, out: 0x6f, outHI: 0x0
+swl :: offset: 0x5c1, out: 0xc6f, outHI: 0x0
+swl :: offset: 0x5c2, out: 0x120c6f, outHI: 0x0
+swl :: offset: 0x5c3, out: 0xb2120c6f, outHI: 0x0
+swl :: offset: 0x5c4, out: 0xd5b2120c6f, outHI: 0x0
+swl :: offset: 0x5c5, out: 0x34d5b2120c6f, outHI: 0x0
+swl :: offset: 0x5c6, out: 0x8a34d5b2120c6f, outHI: 0x0
+swl :: offset: 0x5c7, out: 0x628a34d5b2120c6f, outHI: 0x0
+swl :: offset: 0x5c8, out: 0x7e, outHI: 0x0
+swl :: offset: 0x5c9, out: 0xff7e, outHI: 0x0
+swl :: offset: 0x5ca, out: 0xd4ff7e, outHI: 0x0
+swl :: offset: 0x5cb, out: 0xa2d4ff7e, outHI: 0x0
+swl :: offset: 0x5cc, out: 0x85a2d4ff7e, outHI: 0x0
+swl :: offset: 0x5cd, out: 0x785a2d4ff7e, outHI: 0x0
+swl :: offset: 0x5ce, out: 0x7e0785a2d4ff7e, outHI: 0x0
+swl :: offset: 0x5cf, out: 0x4e7e0785a2d4ff7e, outHI: 0x0
+swl :: offset: 0x5d0, out: 0x4a, outHI: 0x0
+swl :: offset: 0x5d1, out: 0x654a, outHI: 0x0
+swl :: offset: 0x5d2, out: 0x2b654a, outHI: 0x0
+swl :: offset: 0x5d3, out: 0x6a2b654a, outHI: 0x0
+swl :: offset: 0x5d4, out: 0x986a2b654a, outHI: 0x0
+swl :: offset: 0x5d5, out: 0x55986a2b654a, outHI: 0x0
+swl :: offset: 0x5d6, out: 0x9b55986a2b654a, outHI: 0x0
+swl :: offset: 0x5d7, out: 0x489b55986a2b654a, outHI: 0x0
+swl :: offset: 0x5d8, out: 0x3a, outHI: 0x0
+swl :: offset: 0x5d9, out: 0xc43a, outHI: 0x0
+swl :: offset: 0x5da, out: 0xeac43a, outHI: 0x0
+swl :: offset: 0x5db, out: 0x74eac43a, outHI: 0x0
+swl :: offset: 0x5dc, out: 0xa974eac43a, outHI: 0x0
+swl :: offset: 0x5dd, out: 0xf5a974eac43a, outHI: 0x0
+swl :: offset: 0x5de, out: 0xf8f5a974eac43a, outHI: 0x0
+swl :: offset: 0x5df, out: 0xf1f8f5a974eac43a, outHI: 0x0
+swl :: offset: 0x5e0, out: 0x72, outHI: 0x0
+swl :: offset: 0x5e1, out: 0x6272, outHI: 0x0
+swl :: offset: 0x5e2, out: 0xc16272, outHI: 0x0
+swl :: offset: 0x5e3, out: 0x88c16272, outHI: 0x0
+swl :: offset: 0x5e4, out: 0xa388c16272, outHI: 0x0
+swl :: offset: 0x5e5, out: 0xa9a388c16272, outHI: 0x0
+swl :: offset: 0x5e6, out: 0x5ea9a388c16272, outHI: 0x0
+swl :: offset: 0x5e7, out: 0x495ea9a388c16272, outHI: 0x0
+swl :: offset: 0x5e8, out: 0xe7, outHI: 0x0
+swl :: offset: 0x5e9, out: 0x45e7, outHI: 0x0
+swl :: offset: 0x5ea, out: 0x1f45e7, outHI: 0x0
+swl :: offset: 0x5eb, out: 0xc11f45e7, outHI: 0x0
+swl :: offset: 0x5ec, out: 0xe8c11f45e7, outHI: 0x0
+swl :: offset: 0x5ed, out: 0xb4e8c11f45e7, outHI: 0x0
+swl :: offset: 0x5ee, out: 0xc8b4e8c11f45e7, outHI: 0x0
+swl :: offset: 0x5ef, out: 0xc1c8b4e8c11f45e7, outHI: 0x0
+swl :: offset: 0x5f0, out: 0x5c, outHI: 0x0
+swl :: offset: 0x5f1, out: 0x765c, outHI: 0x0
+swl :: offset: 0x5f2, out: 0x5a765c, outHI: 0x0
+swl :: offset: 0x5f3, out: 0xaa5a765c, outHI: 0x0
+swl :: offset: 0x5f4, out: 0xadaa5a765c, outHI: 0x0
+swl :: offset: 0x5f5, out: 0xc0adaa5a765c, outHI: 0x0
+swl :: offset: 0x5f6, out: 0x5c0adaa5a765c, outHI: 0x0
+swl :: offset: 0x5f7, out: 0xa605c0adaa5a765c, outHI: 0x0
+swl :: offset: 0x5f8, out: 0xdf, outHI: 0x0
+swl :: offset: 0x5f9, out: 0x88df, outHI: 0x0
+swl :: offset: 0x5fa, out: 0xce88df, outHI: 0x0
+swl :: offset: 0x5fb, out: 0xb4ce88df, outHI: 0x0
+swl :: offset: 0x5fc, out: 0x7ab4ce88df, outHI: 0x0
+swl :: offset: 0x5fd, out: 0x4f7ab4ce88df, outHI: 0x0
+swl :: offset: 0x5fe, out: 0xb04f7ab4ce88df, outHI: 0x0
+swl :: offset: 0x5ff, out: 0xa7b04f7ab4ce88df, outHI: 0x0
+swl :: offset: 0x600, out: 0x59, outHI: 0x0
+swl :: offset: 0x601, out: 0xe659, outHI: 0x0
+swl :: offset: 0x602, out: 0xd6e659, outHI: 0x0
+swl :: offset: 0x603, out: 0x2ad6e659, outHI: 0x0
+swl :: offset: 0x604, out: 0xb42ad6e659, outHI: 0x0
+swl :: offset: 0x605, out: 0x2fb42ad6e659, outHI: 0x0
+swl :: offset: 0x606, out: 0x922fb42ad6e659, outHI: 0x0
+swl :: offset: 0x607, out: 0x28922fb42ad6e659, outHI: 0x0
+swl :: offset: 0x608, out: 0xb7, outHI: 0x0
+swl :: offset: 0x609, out: 0x5ab7, outHI: 0x0
+swl :: offset: 0x60a, out: 0x485ab7, outHI: 0x0
+swl :: offset: 0x60b, out: 0xf8485ab7, outHI: 0x0
+swl :: offset: 0x60c, out: 0x4bf8485ab7, outHI: 0x0
+swl :: offset: 0x60d, out: 0xfb4bf8485ab7, outHI: 0x0
+swl :: offset: 0x60e, out: 0xa7fb4bf8485ab7, outHI: 0x0
+swl :: offset: 0x60f, out: 0x66a7fb4bf8485ab7, outHI: 0x0
+swl :: offset: 0x610, out: 0x3b, outHI: 0x0
+swl :: offset: 0x611, out: 0xc3b, outHI: 0x0
+swl :: offset: 0x612, out: 0xd60c3b, outHI: 0x0
+swl :: offset: 0x613, out: 0xa3d60c3b, outHI: 0x0
+swl :: offset: 0x614, out: 0x76a3d60c3b, outHI: 0x0
+swl :: offset: 0x615, out: 0xda76a3d60c3b, outHI: 0x0
+swl :: offset: 0x616, out: 0x8eda76a3d60c3b, outHI: 0x0
+swl :: offset: 0x617, out: 0xc28eda76a3d60c3b, outHI: 0x0
+swl :: offset: 0x618, out: 0xfd, outHI: 0x0
+swl :: offset: 0x619, out: 0xaffd, outHI: 0x0
+swl :: offset: 0x61a, out: 0xc6affd, outHI: 0x0
+swl :: offset: 0x61b, out: 0xe0c6affd, outHI: 0x0
+swl :: offset: 0x61c, out: 0x31e0c6affd, outHI: 0x0
+swl :: offset: 0x61d, out: 0x9d31e0c6affd, outHI: 0x0
+swl :: offset: 0x61e, out: 0x999d31e0c6affd, outHI: 0x0
+swl :: offset: 0x61f, out: 0xc999d31e0c6affd, outHI: 0x0
+swl :: offset: 0x620, out: 0xbf, outHI: 0x0
+swl :: offset: 0x621, out: 0xb4bf, outHI: 0x0
+swl :: offset: 0x622, out: 0x6bb4bf, outHI: 0x0
+swl :: offset: 0x623, out: 0x606bb4bf, outHI: 0x0
+swl :: offset: 0x624, out: 0x53606bb4bf, outHI: 0x0
+swl :: offset: 0x625, out: 0xf053606bb4bf, outHI: 0x0
+swl :: offset: 0x626, out: 0x19f053606bb4bf, outHI: 0x0
+swl :: offset: 0x627, out: 0x7919f053606bb4bf, outHI: 0x0
+swl :: offset: 0x628, out: 0x1b, outHI: 0x0
+swl :: offset: 0x629, out: 0xc81b, outHI: 0x0
+swl :: offset: 0x62a, out: 0x12c81b, outHI: 0x0
+swl :: offset: 0x62b, out: 0xfc12c81b, outHI: 0x0
+swl :: offset: 0x62c, out: 0x32fc12c81b, outHI: 0x0
+swl :: offset: 0x62d, out: 0xd632fc12c81b, outHI: 0x0
+swl :: offset: 0x62e, out: 0xfcd632fc12c81b, outHI: 0x0
+swl :: offset: 0x62f, out: 0x2efcd632fc12c81b, outHI: 0x0
+swl :: offset: 0x630, out: 0xc7, outHI: 0x0
+swl :: offset: 0x631, out: 0x84c7, outHI: 0x0
+swl :: offset: 0x632, out: 0x8384c7, outHI: 0x0
+swl :: offset: 0x633, out: 0xf88384c7, outHI: 0x0
+swl :: offset: 0x634, out: 0x3ef88384c7, outHI: 0x0
+swl :: offset: 0x635, out: 0x803ef88384c7, outHI: 0x0
+swl :: offset: 0x636, out: 0x35803ef88384c7, outHI: 0x0
+swl :: offset: 0x637, out: 0x2a35803ef88384c7, outHI: 0x0
+swl :: offset: 0x638, out: 0x6a, outHI: 0x0
+swl :: offset: 0x639, out: 0xbb6a, outHI: 0x0
+swl :: offset: 0x63a, out: 0xc7bb6a, outHI: 0x0
+swl :: offset: 0x63b, out: 0xb1c7bb6a, outHI: 0x0
+swl :: offset: 0x63c, out: 0x38b1c7bb6a, outHI: 0x0
+swl :: offset: 0x63d, out: 0xc938b1c7bb6a, outHI: 0x0
+swl :: offset: 0x63e, out: 0x77c938b1c7bb6a, outHI: 0x0
+swl :: offset: 0x63f, out: 0xca77c938b1c7bb6a, outHI: 0x0
+swl :: offset: 0x640, out: 0x1d, outHI: 0x0
+swl :: offset: 0x641, out: 0x121d, outHI: 0x0
+swl :: offset: 0x642, out: 0xf6121d, outHI: 0x0
+swl :: offset: 0x643, out: 0xebf6121d, outHI: 0x0
+swl :: offset: 0x644, out: 0x15ebf6121d, outHI: 0x0
+swl :: offset: 0x645, out: 0xae15ebf6121d, outHI: 0x0
+swl :: offset: 0x646, out: 0x47ae15ebf6121d, outHI: 0x0
+swl :: offset: 0x647, out: 0x9147ae15ebf6121d, outHI: 0x0
+swl :: offset: 0x648, out: 0xfd, outHI: 0x0
+swl :: offset: 0x649, out: 0xd9fd, outHI: 0x0
+swl :: offset: 0x64a, out: 0xcdd9fd, outHI: 0x0
+swl :: offset: 0x64b, out: 0xaacdd9fd, outHI: 0x0
+swl :: offset: 0x64c, out: 0x5eaacdd9fd, outHI: 0x0
+swl :: offset: 0x64d, out: 0x175eaacdd9fd, outHI: 0x0
+swl :: offset: 0x64e, out: 0x11175eaacdd9fd, outHI: 0x0
+swl :: offset: 0x64f, out: 0xe911175eaacdd9fd, outHI: 0x0
+swl :: offset: 0x650, out: 0x81, outHI: 0x0
+swl :: offset: 0x651, out: 0xf981, outHI: 0x0
+swl :: offset: 0x652, out: 0x70f981, outHI: 0x0
+swl :: offset: 0x653, out: 0x8470f981, outHI: 0x0
+swl :: offset: 0x654, out: 0xbb8470f981, outHI: 0x0
+swl :: offset: 0x655, out: 0xe0bb8470f981, outHI: 0x0
+swl :: offset: 0x656, out: 0x32e0bb8470f981, outHI: 0x0
+swl :: offset: 0x657, out: 0xa532e0bb8470f981, outHI: 0x0
+swl :: offset: 0x658, out: 0xc6, outHI: 0x0
+swl :: offset: 0x659, out: 0xeac6, outHI: 0x0
+swl :: offset: 0x65a, out: 0x2aeac6, outHI: 0x0
+swl :: offset: 0x65b, out: 0xd42aeac6, outHI: 0x0
+swl :: offset: 0x65c, out: 0x5d42aeac6, outHI: 0x0
+swl :: offset: 0x65d, out: 0x6305d42aeac6, outHI: 0x0
+swl :: offset: 0x65e, out: 0x9e6305d42aeac6, outHI: 0x0
+swl :: offset: 0x65f, out: 0xfb9e6305d42aeac6, outHI: 0x0
+swl :: offset: 0x660, out: 0x19, outHI: 0x0
+swl :: offset: 0x661, out: 0x6419, outHI: 0x0
+swl :: offset: 0x662, out: 0xf36419, outHI: 0x0
+swl :: offset: 0x663, out: 0xabf36419, outHI: 0x0
+swl :: offset: 0x664, out: 0x14abf36419, outHI: 0x0
+swl :: offset: 0x665, out: 0xac14abf36419, outHI: 0x0
+swl :: offset: 0x666, out: 0x2aac14abf36419, outHI: 0x0
+swl :: offset: 0x667, out: 0xd72aac14abf36419, outHI: 0x0
+swl :: offset: 0x668, out: 0xa8, outHI: 0x0
+swl :: offset: 0x669, out: 0x9aa8, outHI: 0x0
+swl :: offset: 0x66a, out: 0x559aa8, outHI: 0x0
+swl :: offset: 0x66b, out: 0x9d559aa8, outHI: 0x0
+swl :: offset: 0x66c, out: 0x249d559aa8, outHI: 0x0
+swl :: offset: 0x66d, out: 0xec249d559aa8, outHI: 0x0
+swl :: offset: 0x66e, out: 0x30ec249d559aa8, outHI: 0x0
+swl :: offset: 0x66f, out: 0x4b30ec249d559aa8, outHI: 0x0
+swl :: offset: 0x670, out: 0x8, outHI: 0x0
+swl :: offset: 0x671, out: 0x4f08, outHI: 0x0
+swl :: offset: 0x672, out: 0x764f08, outHI: 0x0
+swl :: offset: 0x673, out: 0xd6764f08, outHI: 0x0
+swl :: offset: 0x674, out: 0xcd6764f08, outHI: 0x0
+swl :: offset: 0x675, out: 0xdf0cd6764f08, outHI: 0x0
+swl :: offset: 0x676, out: 0x8fdf0cd6764f08, outHI: 0x0
+swl :: offset: 0x677, out: 0x468fdf0cd6764f08, outHI: 0x0
+swl :: offset: 0x678, out: 0x92, outHI: 0x0
+swl :: offset: 0x679, out: 0x792, outHI: 0x0
+swl :: offset: 0x67a, out: 0xac0792, outHI: 0x0
+swl :: offset: 0x67b, out: 0x3ac0792, outHI: 0x0
+swl :: offset: 0x67c, out: 0x7f03ac0792, outHI: 0x0
+swl :: offset: 0x67d, out: 0xf57f03ac0792, outHI: 0x0
+swl :: offset: 0x67e, out: 0x70f57f03ac0792, outHI: 0x0
+swl :: offset: 0x67f, out: 0xe670f57f03ac0792, outHI: 0x0
+swl :: offset: 0x680, out: 0x56, outHI: 0x0
+swl :: offset: 0x681, out: 0x6d56, outHI: 0x0
+swl :: offset: 0x682, out: 0xce6d56, outHI: 0x0
+swl :: offset: 0x683, out: 0x35ce6d56, outHI: 0x0
+swl :: offset: 0x684, out: 0x7e35ce6d56, outHI: 0x0
+swl :: offset: 0x685, out: 0x117e35ce6d56, outHI: 0x0
+swl :: offset: 0x686, out: 0x27117e35ce6d56, outHI: 0x0
+swl :: offset: 0x687, out: 0x6527117e35ce6d56, outHI: 0x0
+swl :: offset: 0x688, out: 0x1a, outHI: 0x0
+swl :: offset: 0x689, out: 0x591a, outHI: 0x0
+swl :: offset: 0x68a, out: 0x28591a, outHI: 0x0
+swl :: offset: 0x68b, out: 0x2828591a, outHI: 0x0
+swl :: offset: 0x68c, out: 0x152828591a, outHI: 0x0
+swl :: offset: 0x68d, out: 0xfb152828591a, outHI: 0x0
+swl :: offset: 0x68e, out: 0xa9fb152828591a, outHI: 0x0
+swl :: offset: 0x68f, out: 0x15a9fb152828591a, outHI: 0x0
+swl :: offset: 0x690, out: 0xd2, outHI: 0x0
+swl :: offset: 0x691, out: 0x83d2, outHI: 0x0
+swl :: offset: 0x692, out: 0x3283d2, outHI: 0x0
+swl :: offset: 0x693, out: 0x1c3283d2, outHI: 0x0
+swl :: offset: 0x694, out: 0x9e1c3283d2, outHI: 0x0
+swl :: offset: 0x695, out: 0x179e1c3283d2, outHI: 0x0
+swl :: offset: 0x696, out: 0x4179e1c3283d2, outHI: 0x0
+swl :: offset: 0x697, out: 0x2a04179e1c3283d2, outHI: 0x0
+swl :: offset: 0x698, out: 0x28, outHI: 0x0
+swl :: offset: 0x699, out: 0x4928, outHI: 0x0
+swl :: offset: 0x69a, out: 0xc04928, outHI: 0x0
+swl :: offset: 0x69b, out: 0x95c04928, outHI: 0x0
+swl :: offset: 0x69c, out: 0x8d95c04928, outHI: 0x0
+swl :: offset: 0x69d, out: 0xf38d95c04928, outHI: 0x0
+swl :: offset: 0x69e, out: 0x58f38d95c04928, outHI: 0x0
+swl :: offset: 0x69f, out: 0x8058f38d95c04928, outHI: 0x0
+swl :: offset: 0x6a0, out: 0x97, outHI: 0x0
+swl :: offset: 0x6a1, out: 0x9097, outHI: 0x0
+swl :: offset: 0x6a2, out: 0xa49097, outHI: 0x0
+swl :: offset: 0x6a3, out: 0xe7a49097, outHI: 0x0
+swl :: offset: 0x6a4, out: 0xf2e7a49097, outHI: 0x0
+swl :: offset: 0x6a5, out: 0xaaf2e7a49097, outHI: 0x0
+swl :: offset: 0x6a6, out: 0xb1aaf2e7a49097, outHI: 0x0
+swl :: offset: 0x6a7, out: 0x75b1aaf2e7a49097, outHI: 0x0
+swl :: offset: 0x6a8, out: 0x9, outHI: 0x0
+swl :: offset: 0x6a9, out: 0xca09, outHI: 0x0
+swl :: offset: 0x6aa, out: 0x4cca09, outHI: 0x0
+swl :: offset: 0x6ab, out: 0x5b4cca09, outHI: 0x0
+swl :: offset: 0x6ac, out: 0x775b4cca09, outHI: 0x0
+swl :: offset: 0x6ad, out: 0x20775b4cca09, outHI: 0x0
+swl :: offset: 0x6ae, out: 0x1020775b4cca09, outHI: 0x0
+swl :: offset: 0x6af, out: 0x111020775b4cca09, outHI: 0x0
+swl :: offset: 0x6b0, out: 0x35, outHI: 0x0
+swl :: offset: 0x6b1, out: 0xa635, outHI: 0x0
+swl :: offset: 0x6b2, out: 0x84a635, outHI: 0x0
+swl :: offset: 0x6b3, out: 0x2b84a635, outHI: 0x0
+swl :: offset: 0x6b4, out: 0xa2b84a635, outHI: 0x0
+swl :: offset: 0x6b5, out: 0x6f0a2b84a635, outHI: 0x0
+swl :: offset: 0x6b6, out: 0x8b6f0a2b84a635, outHI: 0x0
+swl :: offset: 0x6b7, out: 0xd88b6f0a2b84a635, outHI: 0x0
+swl :: offset: 0x6b8, out: 0xa7, outHI: 0x0
+swl :: offset: 0x6b9, out: 0xd3a7, outHI: 0x0
+swl :: offset: 0x6ba, out: 0xa0d3a7, outHI: 0x0
+swl :: offset: 0x6bb, out: 0x3fa0d3a7, outHI: 0x0
+swl :: offset: 0x6bc, out: 0x23fa0d3a7, outHI: 0x0
+swl :: offset: 0x6bd, out: 0xdd023fa0d3a7, outHI: 0x0
+swl :: offset: 0x6be, out: 0xdedd023fa0d3a7, outHI: 0x0
+swl :: offset: 0x6bf, out: 0x41dedd023fa0d3a7, outHI: 0x0
+swl :: offset: 0x6c0, out: 0x99, outHI: 0x0
+swl :: offset: 0x6c1, out: 0xb799, outHI: 0x0
+swl :: offset: 0x6c2, out: 0x91b799, outHI: 0x0
+swl :: offset: 0x6c3, out: 0xd991b799, outHI: 0x0
+swl :: offset: 0x6c4, out: 0xa3d991b799, outHI: 0x0
+swl :: offset: 0x6c5, out: 0x8a3d991b799, outHI: 0x0
+swl :: offset: 0x6c6, out: 0x9508a3d991b799, outHI: 0x0
+swl :: offset: 0x6c7, out: 0xd9508a3d991b799, outHI: 0x0
+swl :: offset: 0x6c8, out: 0x5a, outHI: 0x0
+swl :: offset: 0x6c9, out: 0x835a, outHI: 0x0
+swl :: offset: 0x6ca, out: 0xb4835a, outHI: 0x0
+swl :: offset: 0x6cb, out: 0x1cb4835a, outHI: 0x0
+swl :: offset: 0x6cc, out: 0x751cb4835a, outHI: 0x0
+swl :: offset: 0x6cd, out: 0xd3751cb4835a, outHI: 0x0
+swl :: offset: 0x6ce, out: 0xb2d3751cb4835a, outHI: 0x0
+swl :: offset: 0x6cf, out: 0x5bb2d3751cb4835a, outHI: 0x0
+swl :: offset: 0x6d0, out: 0x62, outHI: 0x0
+swl :: offset: 0x6d1, out: 0x3562, outHI: 0x0
+swl :: offset: 0x6d2, out: 0xad3562, outHI: 0x0
+swl :: offset: 0x6d3, out: 0x9cad3562, outHI: 0x0
+swl :: offset: 0x6d4, out: 0x949cad3562, outHI: 0x0
+swl :: offset: 0x6d5, out: 0x39949cad3562, outHI: 0x0
+swl :: offset: 0x6d6, out: 0x9739949cad3562, outHI: 0x0
+swl :: offset: 0x6d7, out: 0x929739949cad3562, outHI: 0x0
+swl :: offset: 0x6d8, out: 0xa6, outHI: 0x0
+swl :: offset: 0x6d9, out: 0x35a6, outHI: 0x0
+swl :: offset: 0x6da, out: 0x7f35a6, outHI: 0x0
+swl :: offset: 0x6db, out: 0x567f35a6, outHI: 0x0
+swl :: offset: 0x6dc, out: 0x7f567f35a6, outHI: 0x0
+swl :: offset: 0x6dd, out: 0x277f567f35a6, outHI: 0x0
+swl :: offset: 0x6de, out: 0x7d277f567f35a6, outHI: 0x0
+swl :: offset: 0x6df, out: 0x8d7d277f567f35a6, outHI: 0x0
+swl :: offset: 0x6e0, out: 0xdb, outHI: 0x0
+swl :: offset: 0x6e1, out: 0xe0db, outHI: 0x0
+swl :: offset: 0x6e2, out: 0x88e0db, outHI: 0x0
+swl :: offset: 0x6e3, out: 0x5b88e0db, outHI: 0x0
+swl :: offset: 0x6e4, out: 0x185b88e0db, outHI: 0x0
+swl :: offset: 0x6e5, out: 0x91185b88e0db, outHI: 0x0
+swl :: offset: 0x6e6, out: 0x1b91185b88e0db, outHI: 0x0
+swl :: offset: 0x6e7, out: 0xd61b91185b88e0db, outHI: 0x0
+swl :: offset: 0x6e8, out: 0x2f, outHI: 0x0
+swl :: offset: 0x6e9, out: 0xd22f, outHI: 0x0
+swl :: offset: 0x6ea, out: 0x4cd22f, outHI: 0x0
+swl :: offset: 0x6eb, out: 0x5a4cd22f, outHI: 0x0
+swl :: offset: 0x6ec, out: 0x255a4cd22f, outHI: 0x0
+swl :: offset: 0x6ed, out: 0x7b255a4cd22f, outHI: 0x0
+swl :: offset: 0x6ee, out: 0x3f7b255a4cd22f, outHI: 0x0
+swl :: offset: 0x6ef, out: 0x363f7b255a4cd22f, outHI: 0x0
+swl :: offset: 0x6f0, out: 0xa4, outHI: 0x0
+swl :: offset: 0x6f1, out: 0x89a4, outHI: 0x0
+swl :: offset: 0x6f2, out: 0xd589a4, outHI: 0x0
+swl :: offset: 0x6f3, out: 0x48d589a4, outHI: 0x0
+swl :: offset: 0x6f4, out: 0x1048d589a4, outHI: 0x0
+swl :: offset: 0x6f5, out: 0x901048d589a4, outHI: 0x0
+swl :: offset: 0x6f6, out: 0x57901048d589a4, outHI: 0x0
+swl :: offset: 0x6f7, out: 0x6057901048d589a4, outHI: 0x0
+swl :: offset: 0x6f8, out: 0xf4, outHI: 0x0
+swl :: offset: 0x6f9, out: 0x8f4, outHI: 0x0
+swl :: offset: 0x6fa, out: 0x5708f4, outHI: 0x0
+swl :: offset: 0x6fb, out: 0x6d5708f4, outHI: 0x0
+swl :: offset: 0x6fc, out: 0x6a6d5708f4, outHI: 0x0
+swl :: offset: 0x6fd, out: 0x7f6a6d5708f4, outHI: 0x0
+swl :: offset: 0x6fe, out: 0x697f6a6d5708f4, outHI: 0x0
+swl :: offset: 0x6ff, out: 0x35697f6a6d5708f4, outHI: 0x0
+swl :: offset: 0x700, out: 0xde, outHI: 0x0
+swl :: offset: 0x701, out: 0xabde, outHI: 0x0
+swl :: offset: 0x702, out: 0xcbabde, outHI: 0x0
+swl :: offset: 0x703, out: 0x8ecbabde, outHI: 0x0
+swl :: offset: 0x704, out: 0xd58ecbabde, outHI: 0x0
+swl :: offset: 0x705, out: 0xf1d58ecbabde, outHI: 0x0
+swl :: offset: 0x706, out: 0xa5f1d58ecbabde, outHI: 0x0
+swl :: offset: 0x707, out: 0xc0a5f1d58ecbabde, outHI: 0x0
+swl :: offset: 0x708, out: 0x8, outHI: 0x0
+swl :: offset: 0x709, out: 0xfd08, outHI: 0x0
+swl :: offset: 0x70a, out: 0x48fd08, outHI: 0x0
+swl :: offset: 0x70b, out: 0x5548fd08, outHI: 0x0
+swl :: offset: 0x70c, out: 0x575548fd08, outHI: 0x0
+swl :: offset: 0x70d, out: 0xdb575548fd08, outHI: 0x0
+swl :: offset: 0x70e, out: 0x8ddb575548fd08, outHI: 0x0
+swl :: offset: 0x70f, out: 0xd98ddb575548fd08, outHI: 0x0
+swl :: offset: 0x710, out: 0x8e, outHI: 0x0
+swl :: offset: 0x711, out: 0xfb8e, outHI: 0x0
+swl :: offset: 0x712, out: 0x40fb8e, outHI: 0x0
+swl :: offset: 0x713, out: 0xb640fb8e, outHI: 0x0
+swl :: offset: 0x714, out: 0x8bb640fb8e, outHI: 0x0
+swl :: offset: 0x715, out: 0xcc8bb640fb8e, outHI: 0x0
+swl :: offset: 0x716, out: 0x78cc8bb640fb8e, outHI: 0x0
+swl :: offset: 0x717, out: 0xc578cc8bb640fb8e, outHI: 0x0
+swl :: offset: 0x718, out: 0xab, outHI: 0x0
+swl :: offset: 0x719, out: 0x1eab, outHI: 0x0
+swl :: offset: 0x71a, out: 0xd51eab, outHI: 0x0
+swl :: offset: 0x71b, out: 0xd51eab, outHI: 0x0
+swl :: offset: 0x71c, out: 0xbe00d51eab, outHI: 0x0
+swl :: offset: 0x71d, out: 0xb2be00d51eab, outHI: 0x0
+swl :: offset: 0x71e, out: 0xab2be00d51eab, outHI: 0x0
+swl :: offset: 0x71f, out: 0x170ab2be00d51eab, outHI: 0x0
+swl :: offset: 0x720, out: 0x1c, outHI: 0x0
+swl :: offset: 0x721, out: 0x4a1c, outHI: 0x0
+swl :: offset: 0x722, out: 0x224a1c, outHI: 0x0
+swl :: offset: 0x723, out: 0x7e224a1c, outHI: 0x0
+swl :: offset: 0x724, out: 0x2f7e224a1c, outHI: 0x0
+swl :: offset: 0x725, out: 0xa72f7e224a1c, outHI: 0x0
+swl :: offset: 0x726, out: 0x56a72f7e224a1c, outHI: 0x0
+swl :: offset: 0x727, out: 0x2256a72f7e224a1c, outHI: 0x0
+swl :: offset: 0x728, out: 0xa2, outHI: 0x0
+swl :: offset: 0x729, out: 0x2ca2, outHI: 0x0
+swl :: offset: 0x72a, out: 0xf12ca2, outHI: 0x0
+swl :: offset: 0x72b, out: 0x78f12ca2, outHI: 0x0
+swl :: offset: 0x72c, out: 0xa978f12ca2, outHI: 0x0
+swl :: offset: 0x72d, out: 0x2fa978f12ca2, outHI: 0x0
+swl :: offset: 0x72e, out: 0xe02fa978f12ca2, outHI: 0x0
+swl :: offset: 0x72f, out: 0x1ee02fa978f12ca2, outHI: 0x0
+swl :: offset: 0x730, out: 0x81, outHI: 0x0
+swl :: offset: 0x731, out: 0x3b81, outHI: 0x0
+swl :: offset: 0x732, out: 0xa93b81, outHI: 0x0
+swl :: offset: 0x733, out: 0x50a93b81, outHI: 0x0
+swl :: offset: 0x734, out: 0x9950a93b81, outHI: 0x0
+swl :: offset: 0x735, out: 0xc9950a93b81, outHI: 0x0
+swl :: offset: 0x736, out: 0x6a0c9950a93b81, outHI: 0x0
+swl :: offset: 0x737, out: 0x796a0c9950a93b81, outHI: 0x0
+swl :: offset: 0x738, out: 0xc6, outHI: 0x0
+swl :: offset: 0x739, out: 0x93c6, outHI: 0x0
+swl :: offset: 0x73a, out: 0xea93c6, outHI: 0x0
+swl :: offset: 0x73b, out: 0x4eea93c6, outHI: 0x0
+swl :: offset: 0x73c, out: 0xb44eea93c6, outHI: 0x0
+swl :: offset: 0x73d, out: 0x57b44eea93c6, outHI: 0x0
+swl :: offset: 0x73e, out: 0xb657b44eea93c6, outHI: 0x0
+swl :: offset: 0x73f, out: 0xeb657b44eea93c6, outHI: 0x0
+swl :: offset: 0x740, out: 0x6c, outHI: 0x0
+swl :: offset: 0x741, out: 0xa06c, outHI: 0x0
+swl :: offset: 0x742, out: 0xfca06c, outHI: 0x0
+swl :: offset: 0x743, out: 0x71fca06c, outHI: 0x0
+swl :: offset: 0x744, out: 0xfe71fca06c, outHI: 0x0
+swl :: offset: 0x745, out: 0x57fe71fca06c, outHI: 0x0
+swl :: offset: 0x746, out: 0xaf57fe71fca06c, outHI: 0x0
+swl :: offset: 0x747, out: 0x18af57fe71fca06c, outHI: 0x0
+swl :: offset: 0x748, out: 0xf8, outHI: 0x0
+swl :: offset: 0x749, out: 0x3df8, outHI: 0x0
+swl :: offset: 0x74a, out: 0x393df8, outHI: 0x0
+swl :: offset: 0x74b, out: 0xd6393df8, outHI: 0x0
+swl :: offset: 0x74c, out: 0x4ed6393df8, outHI: 0x0
+swl :: offset: 0x74d, out: 0xa4ed6393df8, outHI: 0x0
+swl :: offset: 0x74e, out: 0x770a4ed6393df8, outHI: 0x0
+swl :: offset: 0x74f, out: 0x36770a4ed6393df8, outHI: 0x0
+swl :: offset: 0x750, out: 0x2, outHI: 0x0
+swl :: offset: 0x751, out: 0x2002, outHI: 0x0
+swl :: offset: 0x752, out: 0x902002, outHI: 0x0
+swl :: offset: 0x753, out: 0x2e902002, outHI: 0x0
+swl :: offset: 0x754, out: 0xf22e902002, outHI: 0x0
+swl :: offset: 0x755, out: 0x5df22e902002, outHI: 0x0
+swl :: offset: 0x756, out: 0xc45df22e902002, outHI: 0x0
+swl :: offset: 0x757, out: 0xd0c45df22e902002, outHI: 0x0
+swl :: offset: 0x758, out: 0xaf, outHI: 0x0
+swl :: offset: 0x759, out: 0xc7af, outHI: 0x0
+swl :: offset: 0x75a, out: 0xb6c7af, outHI: 0x0
+swl :: offset: 0x75b, out: 0xefb6c7af, outHI: 0x0
+swl :: offset: 0x75c, out: 0x81efb6c7af, outHI: 0x0
+swl :: offset: 0x75d, out: 0x5b81efb6c7af, outHI: 0x0
+swl :: offset: 0x75e, out: 0x315b81efb6c7af, outHI: 0x0
+swl :: offset: 0x75f, out: 0x2315b81efb6c7af, outHI: 0x0
+swl :: offset: 0x760, out: 0x81, outHI: 0x0
+swl :: offset: 0x761, out: 0x5181, outHI: 0x0
+swl :: offset: 0x762, out: 0xf35181, outHI: 0x0
+swl :: offset: 0x763, out: 0xd8f35181, outHI: 0x0
+swl :: offset: 0x764, out: 0xeed8f35181, outHI: 0x0
+swl :: offset: 0x765, out: 0x5eeed8f35181, outHI: 0x0
+swl :: offset: 0x766, out: 0xfd5eeed8f35181, outHI: 0x0
+swl :: offset: 0x767, out: 0x5efd5eeed8f35181, outHI: 0x0
+swl :: offset: 0x768, out: 0x99, outHI: 0x0
+swl :: offset: 0x769, out: 0xb999, outHI: 0x0
+swl :: offset: 0x76a, out: 0xefb999, outHI: 0x0
+swl :: offset: 0x76b, out: 0xafefb999, outHI: 0x0
+swl :: offset: 0x76c, out: 0xadafefb999, outHI: 0x0
+swl :: offset: 0x76d, out: 0x86adafefb999, outHI: 0x0
+swl :: offset: 0x76e, out: 0x3086adafefb999, outHI: 0x0
+swl :: offset: 0x76f, out: 0x253086adafefb999, outHI: 0x0
+swl :: offset: 0x770, out: 0xeb, outHI: 0x0
+swl :: offset: 0x771, out: 0x33eb, outHI: 0x0
+swl :: offset: 0x772, out: 0x1933eb, outHI: 0x0
+swl :: offset: 0x773, out: 0x61933eb, outHI: 0x0
+swl :: offset: 0x774, out: 0x34061933eb, outHI: 0x0
+swl :: offset: 0x775, out: 0xbc34061933eb, outHI: 0x0
+swl :: offset: 0x776, out: 0x52bc34061933eb, outHI: 0x0
+swl :: offset: 0x777, out: 0x4c52bc34061933eb, outHI: 0x0
+swl :: offset: 0x778, out: 0x4b, outHI: 0x0
+swl :: offset: 0x779, out: 0x264b, outHI: 0x0
+swl :: offset: 0x77a, out: 0xda264b, outHI: 0x0
+swl :: offset: 0x77b, out: 0x48da264b, outHI: 0x0
+swl :: offset: 0x77c, out: 0x1748da264b, outHI: 0x0
+swl :: offset: 0x77d, out: 0x891748da264b, outHI: 0x0
+swl :: offset: 0x77e, out: 0xbe891748da264b, outHI: 0x0
+swl :: offset: 0x77f, out: 0x2be891748da264b, outHI: 0x0
+swl :: offset: 0x780, out: 0x93, outHI: 0x0
+swl :: offset: 0x781, out: 0x9a93, outHI: 0x0
+swl :: offset: 0x782, out: 0xfc9a93, outHI: 0x0
+swl :: offset: 0x783, out: 0xfdfc9a93, outHI: 0x0
+swl :: offset: 0x784, out: 0x34fdfc9a93, outHI: 0x0
+swl :: offset: 0x785, out: 0x8034fdfc9a93, outHI: 0x0
+swl :: offset: 0x786, out: 0xd18034fdfc9a93, outHI: 0x0
+swl :: offset: 0x787, out: 0x21d18034fdfc9a93, outHI: 0x0
+swl :: offset: 0x788, out: 0xc5, outHI: 0x0
+swl :: offset: 0x789, out: 0xc3c5, outHI: 0x0
+swl :: offset: 0x78a, out: 0x78c3c5, outHI: 0x0
+swl :: offset: 0x78b, out: 0x278c3c5, outHI: 0x0
+swl :: offset: 0x78c, out: 0xd00278c3c5, outHI: 0x0
+swl :: offset: 0x78d, out: 0x5dd00278c3c5, outHI: 0x0
+swl :: offset: 0x78e, out: 0x7a5dd00278c3c5, outHI: 0x0
+swl :: offset: 0x78f, out: 0xd37a5dd00278c3c5, outHI: 0x0
+swl :: offset: 0x790, out: 0xc1, outHI: 0x0
+swl :: offset: 0x791, out: 0xa4c1, outHI: 0x0
+swl :: offset: 0x792, out: 0x44a4c1, outHI: 0x0
+swl :: offset: 0x793, out: 0x944a4c1, outHI: 0x0
+swl :: offset: 0x794, out: 0xe90944a4c1, outHI: 0x0
+swl :: offset: 0x795, out: 0x39e90944a4c1, outHI: 0x0
+swl :: offset: 0x796, out: 0x9839e90944a4c1, outHI: 0x0
+swl :: offset: 0x797, out: 0xef9839e90944a4c1, outHI: 0x0
+swl :: offset: 0x798, out: 0xdd, outHI: 0x0
+swl :: offset: 0x799, out: 0x8fdd, outHI: 0x0
+swl :: offset: 0x79a, out: 0x698fdd, outHI: 0x0
+swl :: offset: 0x79b, out: 0xfd698fdd, outHI: 0x0
+swl :: offset: 0x79c, out: 0x65fd698fdd, outHI: 0x0
+swl :: offset: 0x79d, out: 0x5265fd698fdd, outHI: 0x0
+swl :: offset: 0x79e, out: 0xaf5265fd698fdd, outHI: 0x0
+swl :: offset: 0x79f, out: 0xb5af5265fd698fdd, outHI: 0x0
+swl :: offset: 0x7a0, out: 0x81, outHI: 0x0
+swl :: offset: 0x7a1, out: 0xad81, outHI: 0x0
+swl :: offset: 0x7a2, out: 0xe3ad81, outHI: 0x0
+swl :: offset: 0x7a3, out: 0x9ee3ad81, outHI: 0x0
+swl :: offset: 0x7a4, out: 0xc49ee3ad81, outHI: 0x0
+swl :: offset: 0x7a5, out: 0xe9c49ee3ad81, outHI: 0x0
+swl :: offset: 0x7a6, out: 0x63e9c49ee3ad81, outHI: 0x0
+swl :: offset: 0x7a7, out: 0xb263e9c49ee3ad81, outHI: 0x0
+swl :: offset: 0x7a8, out: 0xbd, outHI: 0x0
+swl :: offset: 0x7a9, out: 0xe8bd, outHI: 0x0
+swl :: offset: 0x7aa, out: 0x41e8bd, outHI: 0x0
+swl :: offset: 0x7ab, out: 0xa941e8bd, outHI: 0x0
+swl :: offset: 0x7ac, out: 0x7aa941e8bd, outHI: 0x0
+swl :: offset: 0x7ad, out: 0x8d7aa941e8bd, outHI: 0x0
+swl :: offset: 0x7ae, out: 0xb58d7aa941e8bd, outHI: 0x0
+swl :: offset: 0x7af, out: 0xf3b58d7aa941e8bd, outHI: 0x0
+swl :: offset: 0x7b0, out: 0x42, outHI: 0x0
+swl :: offset: 0x7b1, out: 0x9e42, outHI: 0x0
+swl :: offset: 0x7b2, out: 0x209e42, outHI: 0x0
+swl :: offset: 0x7b3, out: 0x2c209e42, outHI: 0x0
+swl :: offset: 0x7b4, out: 0x372c209e42, outHI: 0x0
+swl :: offset: 0x7b5, out: 0x3b372c209e42, outHI: 0x0
+swl :: offset: 0x7b6, out: 0xa83b372c209e42, outHI: 0x0
+swl :: offset: 0x7b7, out: 0x22a83b372c209e42, outHI: 0x0
+swl :: offset: 0x7b8, out: 0xe1, outHI: 0x0
+swl :: offset: 0x7b9, out: 0xb7e1, outHI: 0x0
+swl :: offset: 0x7ba, out: 0x70b7e1, outHI: 0x0
+swl :: offset: 0x7bb, out: 0xf870b7e1, outHI: 0x0
+swl :: offset: 0x7bc, out: 0x30f870b7e1, outHI: 0x0
+swl :: offset: 0x7bd, out: 0xec30f870b7e1, outHI: 0x0
+swl :: offset: 0x7be, out: 0x30ec30f870b7e1, outHI: 0x0
+swl :: offset: 0x7bf, out: 0x8930ec30f870b7e1, outHI: 0x0
+swl :: offset: 0x7c0, out: 0x67, outHI: 0x0
+swl :: offset: 0x7c1, out: 0x4b67, outHI: 0x0
+swl :: offset: 0x7c2, out: 0xde4b67, outHI: 0x0
+swl :: offset: 0x7c3, out: 0x2de4b67, outHI: 0x0
+swl :: offset: 0x7c4, out: 0x9e02de4b67, outHI: 0x0
+swl :: offset: 0x7c5, out: 0x1e9e02de4b67, outHI: 0x0
+swl :: offset: 0x7c6, out: 0x631e9e02de4b67, outHI: 0x0
+swl :: offset: 0x7c7, out: 0x26631e9e02de4b67, outHI: 0x0
+swl :: offset: 0x7c8, out: 0x98, outHI: 0x0
+swl :: offset: 0x7c9, out: 0x6398, outHI: 0x0
+swl :: offset: 0x7ca, out: 0xa86398, outHI: 0x0
+swl :: offset: 0x7cb, out: 0x61a86398, outHI: 0x0
+swl :: offset: 0x7cc, out: 0xcd61a86398, outHI: 0x0
+swl :: offset: 0x7cd, out: 0xcacd61a86398, outHI: 0x0
+swl :: offset: 0x7ce, out: 0xd3cacd61a86398, outHI: 0x0
+swl :: offset: 0x7cf, out: 0x7bd3cacd61a86398, outHI: 0x0
+swl :: offset: 0x7d0, out: 0x9a, outHI: 0x0
+swl :: offset: 0x7d1, out: 0x899a, outHI: 0x0
+swl :: offset: 0x7d2, out: 0xbc899a, outHI: 0x0
+swl :: offset: 0x7d3, out: 0x87bc899a, outHI: 0x0
+swl :: offset: 0x7d4, out: 0xae87bc899a, outHI: 0x0
+swl :: offset: 0x7d5, out: 0x17ae87bc899a, outHI: 0x0
+swl :: offset: 0x7d6, out: 0xaf17ae87bc899a, outHI: 0x0
+swl :: offset: 0x7d7, out: 0x81af17ae87bc899a, outHI: 0x0
+swl :: offset: 0x7d8, out: 0x64, outHI: 0x0
+swl :: offset: 0x7d9, out: 0x4d64, outHI: 0x0
+swl :: offset: 0x7da, out: 0x644d64, outHI: 0x0
+swl :: offset: 0x7db, out: 0xec644d64, outHI: 0x0
+swl :: offset: 0x7dc, out: 0x58ec644d64, outHI: 0x0
+swl :: offset: 0x7dd, out: 0x6658ec644d64, outHI: 0x0
+swl :: offset: 0x7de, out: 0xb66658ec644d64, outHI: 0x0
+swl :: offset: 0x7df, out: 0x36b66658ec644d64, outHI: 0x0
+swl :: offset: 0x7e0, out: 0xb2, outHI: 0x0
+swl :: offset: 0x7e1, out: 0x5fb2, outHI: 0x0
+swl :: offset: 0x7e2, out: 0xce5fb2, outHI: 0x0
+swl :: offset: 0x7e3, out: 0xcce5fb2, outHI: 0x0
+swl :: offset: 0x7e4, out: 0x680cce5fb2, outHI: 0x0
+swl :: offset: 0x7e5, out: 0x75680cce5fb2, outHI: 0x0
+swl :: offset: 0x7e6, out: 0x4d75680cce5fb2, outHI: 0x0
+swl :: offset: 0x7e7, out: 0x6d4d75680cce5fb2, outHI: 0x0
+swl :: offset: 0x7e8, out: 0x1f, outHI: 0x0
+swl :: offset: 0x7e9, out: 0x471f, outHI: 0x0
+swl :: offset: 0x7ea, out: 0x99471f, outHI: 0x0
+swl :: offset: 0x7eb, out: 0xaa99471f, outHI: 0x0
+swl :: offset: 0x7ec, out: 0x3baa99471f, outHI: 0x0
+swl :: offset: 0x7ed, out: 0x6b3baa99471f, outHI: 0x0
+swl :: offset: 0x7ee, out: 0x236b3baa99471f, outHI: 0x0
+swl :: offset: 0x7ef, out: 0x12236b3baa99471f, outHI: 0x0
+swl :: offset: 0x7f0, out: 0x5f, outHI: 0x0
+swl :: offset: 0x7f1, out: 0x445f, outHI: 0x0
+swl :: offset: 0x7f2, out: 0x9b445f, outHI: 0x0
+swl :: offset: 0x7f3, out: 0x4d9b445f, outHI: 0x0
+swl :: offset: 0x7f4, out: 0x614d9b445f, outHI: 0x0
+swl :: offset: 0x7f5, out: 0x21614d9b445f, outHI: 0x0
+swl :: offset: 0x7f6, out: 0x4121614d9b445f, outHI: 0x0
+swl :: offset: 0x7f7, out: 0xa84121614d9b445f, outHI: 0x0
+swr :: offset: 0x4, out: 0x0, outHI: 0x0
+swr :: offset: 0x5, out: 0x0, outHI: 0x0
+swr :: offset: 0x6, out: 0x0, outHI: 0x0
+swr :: offset: 0x7, out: 0x0, outHI: 0x0
+swr :: offset: 0x8, out: 0x82d2ab13, outHI: 0x0
+swr :: offset: 0x9, out: 0x82d2ab13, outHI: 0x0
+swr :: offset: 0xa, out: 0x82d2ab13, outHI: 0x0
+swr :: offset: 0xb, out: 0x82d2ab13, outHI: 0x0
+swr :: offset: 0xc, out: 0x7e876382d2ab13, outHI: 0x0
+swr :: offset: 0xd, out: 0x7e876382d2ab13, outHI: 0x0
+swr :: offset: 0xe, out: 0x7e876382d2ab13, outHI: 0x0
+swr :: offset: 0xf, out: 0x7e876382d2ab13, outHI: 0x0
+swr :: offset: 0x10, out: 0xc31510f3, outHI: 0x0
+swr :: offset: 0x11, out: 0xc31510f3, outHI: 0x0
+swr :: offset: 0x12, out: 0xc31510f3, outHI: 0x0
+swr :: offset: 0x13, out: 0xc31510f3, outHI: 0x0
+swr :: offset: 0x14, out: 0x976d6e9ac31510f3, outHI: 0x0
+swr :: offset: 0x15, out: 0x976d6e9ac31510f3, outHI: 0x0
+swr :: offset: 0x16, out: 0x976d6e9ac31510f3, outHI: 0x0
+swr :: offset: 0x17, out: 0x976d6e9ac31510f3, outHI: 0x0
+swr :: offset: 0x18, out: 0x5ad6a5fb, outHI: 0x0
+swr :: offset: 0x19, out: 0x5ad6a5fb, outHI: 0x0
+swr :: offset: 0x1a, out: 0x5ad6a5fb, outHI: 0x0
+swr :: offset: 0x1b, out: 0x5ad6a5fb, outHI: 0x0
+swr :: offset: 0x1c, out: 0xb7746d775ad6a5fb, outHI: 0x0
+swr :: offset: 0x1d, out: 0xb7746d775ad6a5fb, outHI: 0x0
+swr :: offset: 0x1e, out: 0xb7746d775ad6a5fb, outHI: 0x0
+swr :: offset: 0x1f, out: 0xb7746d775ad6a5fb, outHI: 0x0
+swr :: offset: 0x20, out: 0x8677b502, outHI: 0x0
+swr :: offset: 0x21, out: 0x8677b502, outHI: 0x0
+swr :: offset: 0x22, out: 0x8677b502, outHI: 0x0
+swr :: offset: 0x23, out: 0x8677b502, outHI: 0x0
+swr :: offset: 0x24, out: 0x42b0c0a28677b502, outHI: 0x0
+swr :: offset: 0x25, out: 0x42b0c0a28677b502, outHI: 0x0
+swr :: offset: 0x26, out: 0x42b0c0a28677b502, outHI: 0x0
+swr :: offset: 0x27, out: 0x42b0c0a28677b502, outHI: 0x0
+swr :: offset: 0x28, out: 0x9e3c30ad, outHI: 0x0
+swr :: offset: 0x29, out: 0x9e3c30ad, outHI: 0x0
+swr :: offset: 0x2a, out: 0x9e3c30ad, outHI: 0x0
+swr :: offset: 0x2b, out: 0x9e3c30ad, outHI: 0x0
+swr :: offset: 0x2c, out: 0x2aa89d319e3c30ad, outHI: 0x0
+swr :: offset: 0x2d, out: 0x2aa89d319e3c30ad, outHI: 0x0
+swr :: offset: 0x2e, out: 0x2aa89d319e3c30ad, outHI: 0x0
+swr :: offset: 0x2f, out: 0x2aa89d319e3c30ad, outHI: 0x0
+swr :: offset: 0x30, out: 0x77fb413d, outHI: 0x0
+swr :: offset: 0x31, out: 0x77fb413d, outHI: 0x0
+swr :: offset: 0x32, out: 0x77fb413d, outHI: 0x0
+swr :: offset: 0x33, out: 0x77fb413d, outHI: 0x0
+swr :: offset: 0x34, out: 0x1f308ec377fb413d, outHI: 0x0
+swr :: offset: 0x35, out: 0x1f308ec377fb413d, outHI: 0x0
+swr :: offset: 0x36, out: 0x1f308ec377fb413d, outHI: 0x0
+swr :: offset: 0x37, out: 0x1f308ec377fb413d, outHI: 0x0
+swr :: offset: 0x38, out: 0xc760e4f7, outHI: 0x0
+swr :: offset: 0x39, out: 0xc760e4f7, outHI: 0x0
+swr :: offset: 0x3a, out: 0xc760e4f7, outHI: 0x0
+swr :: offset: 0x3b, out: 0xc760e4f7, outHI: 0x0
+swr :: offset: 0x3c, out: 0x7aa04213c760e4f7, outHI: 0x0
+swr :: offset: 0x3d, out: 0x7aa04213c760e4f7, outHI: 0x0
+swr :: offset: 0x3e, out: 0x7aa04213c760e4f7, outHI: 0x0
+swr :: offset: 0x3f, out: 0x7aa04213c760e4f7, outHI: 0x0
+swr :: offset: 0x40, out: 0x1ad8dca0, outHI: 0x0
+swr :: offset: 0x41, out: 0x1ad8dca0, outHI: 0x0
+swr :: offset: 0x42, out: 0x1ad8dca0, outHI: 0x0
+swr :: offset: 0x43, out: 0x1ad8dca0, outHI: 0x0
+swr :: offset: 0x44, out: 0x9e705cc51ad8dca0, outHI: 0x0
+swr :: offset: 0x45, out: 0x9e705cc51ad8dca0, outHI: 0x0
+swr :: offset: 0x46, out: 0x9e705cc51ad8dca0, outHI: 0x0
+swr :: offset: 0x47, out: 0x9e705cc51ad8dca0, outHI: 0x0
+swr :: offset: 0x48, out: 0x9615a60d, outHI: 0x0
+swr :: offset: 0x49, out: 0x9615a60d, outHI: 0x0
+swr :: offset: 0x4a, out: 0x9615a60d, outHI: 0x0
+swr :: offset: 0x4b, out: 0x9615a60d, outHI: 0x0
+swr :: offset: 0x4c, out: 0x4b3dda869615a60d, outHI: 0x0
+swr :: offset: 0x4d, out: 0x4b3dda869615a60d, outHI: 0x0
+swr :: offset: 0x4e, out: 0x4b3dda869615a60d, outHI: 0x0
+swr :: offset: 0x4f, out: 0x4b3dda869615a60d, outHI: 0x0
+swr :: offset: 0x50, out: 0x6353d41d, outHI: 0x0
+swr :: offset: 0x51, out: 0x6353d41d, outHI: 0x0
+swr :: offset: 0x52, out: 0x6353d41d, outHI: 0x0
+swr :: offset: 0x53, out: 0x6353d41d, outHI: 0x0
+swr :: offset: 0x54, out: 0x5e7a4dd6353d41d, outHI: 0x0
+swr :: offset: 0x55, out: 0x5e7a4dd6353d41d, outHI: 0x0
+swr :: offset: 0x56, out: 0x5e7a4dd6353d41d, outHI: 0x0
+swr :: offset: 0x57, out: 0x5e7a4dd6353d41d, outHI: 0x0
+swr :: offset: 0x58, out: 0xc40bd413, outHI: 0x0
+swr :: offset: 0x59, out: 0xc40bd413, outHI: 0x0
+swr :: offset: 0x5a, out: 0xc40bd413, outHI: 0x0
+swr :: offset: 0x5b, out: 0xc40bd413, outHI: 0x0
+swr :: offset: 0x5c, out: 0x3af35a9dc40bd413, outHI: 0x0
+swr :: offset: 0x5d, out: 0x3af35a9dc40bd413, outHI: 0x0
+swr :: offset: 0x5e, out: 0x3af35a9dc40bd413, outHI: 0x0
+swr :: offset: 0x5f, out: 0x3af35a9dc40bd413, outHI: 0x0
+swr :: offset: 0x60, out: 0x9a08a180, outHI: 0x0
+swr :: offset: 0x61, out: 0x9a08a180, outHI: 0x0
+swr :: offset: 0x62, out: 0x9a08a180, outHI: 0x0
+swr :: offset: 0x63, out: 0x9a08a180, outHI: 0x0
+swr :: offset: 0x64, out: 0x47f505569a08a180, outHI: 0x0
+swr :: offset: 0x65, out: 0x47f505569a08a180, outHI: 0x0
+swr :: offset: 0x66, out: 0x47f505569a08a180, outHI: 0x0
+swr :: offset: 0x67, out: 0x47f505569a08a180, outHI: 0x0
+swr :: offset: 0x68, out: 0xd6d2040f, outHI: 0x0
+swr :: offset: 0x69, out: 0xd6d2040f, outHI: 0x0
+swr :: offset: 0x6a, out: 0xd6d2040f, outHI: 0x0
+swr :: offset: 0x6b, out: 0xd6d2040f, outHI: 0x0
+swr :: offset: 0x6c, out: 0x9564b77fd6d2040f, outHI: 0x0
+swr :: offset: 0x6d, out: 0x9564b77fd6d2040f, outHI: 0x0
+swr :: offset: 0x6e, out: 0x9564b77fd6d2040f, outHI: 0x0
+swr :: offset: 0x6f, out: 0x9564b77fd6d2040f, outHI: 0x0
+swr :: offset: 0x70, out: 0xb2c76bbe, outHI: 0x0
+swr :: offset: 0x71, out: 0xb2c76bbe, outHI: 0x0
+swr :: offset: 0x72, out: 0xb2c76bbe, outHI: 0x0
+swr :: offset: 0x73, out: 0xb2c76bbe, outHI: 0x0
+swr :: offset: 0x74, out: 0xcebc8279b2c76bbe, outHI: 0x0
+swr :: offset: 0x75, out: 0xcebc8279b2c76bbe, outHI: 0x0
+swr :: offset: 0x76, out: 0xcebc8279b2c76bbe, outHI: 0x0
+swr :: offset: 0x77, out: 0xcebc8279b2c76bbe, outHI: 0x0
+swr :: offset: 0x78, out: 0x1f18e4c7, outHI: 0x0
+swr :: offset: 0x79, out: 0x1f18e4c7, outHI: 0x0
+swr :: offset: 0x7a, out: 0x1f18e4c7, outHI: 0x0
+swr :: offset: 0x7b, out: 0x1f18e4c7, outHI: 0x0
+swr :: offset: 0x7c, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+swr :: offset: 0x7d, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+swr :: offset: 0x7e, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+swr :: offset: 0x7f, out: 0xb5034c2f1f18e4c7, outHI: 0x0
+swr :: offset: 0x80, out: 0x81afa797, outHI: 0x0
+swr :: offset: 0x81, out: 0x81afa797, outHI: 0x0
+swr :: offset: 0x82, out: 0x81afa797, outHI: 0x0
+swr :: offset: 0x83, out: 0x81afa797, outHI: 0x0
+swr :: offset: 0x84, out: 0x94ff52fc81afa797, outHI: 0x0
+swr :: offset: 0x85, out: 0x94ff52fc81afa797, outHI: 0x0
+swr :: offset: 0x86, out: 0x94ff52fc81afa797, outHI: 0x0
+swr :: offset: 0x87, out: 0x94ff52fc81afa797, outHI: 0x0
+swr :: offset: 0x88, out: 0x6dfc50ea, outHI: 0x0
+swr :: offset: 0x89, out: 0x6dfc50ea, outHI: 0x0
+swr :: offset: 0x8a, out: 0x6dfc50ea, outHI: 0x0
+swr :: offset: 0x8b, out: 0x6dfc50ea, outHI: 0x0
+swr :: offset: 0x8c, out: 0x31d8d9166dfc50ea, outHI: 0x0
+swr :: offset: 0x8d, out: 0x31d8d9166dfc50ea, outHI: 0x0
+swr :: offset: 0x8e, out: 0x31d8d9166dfc50ea, outHI: 0x0
+swr :: offset: 0x8f, out: 0x31d8d9166dfc50ea, outHI: 0x0
+swr :: offset: 0x90, out: 0x78e895b1, outHI: 0x0
+swr :: offset: 0x91, out: 0x78e895b1, outHI: 0x0
+swr :: offset: 0x92, out: 0x78e895b1, outHI: 0x0
+swr :: offset: 0x93, out: 0x78e895b1, outHI: 0x0
+swr :: offset: 0x94, out: 0x36549bd678e895b1, outHI: 0x0
+swr :: offset: 0x95, out: 0x36549bd678e895b1, outHI: 0x0
+swr :: offset: 0x96, out: 0x36549bd678e895b1, outHI: 0x0
+swr :: offset: 0x97, out: 0x36549bd678e895b1, outHI: 0x0
+swr :: offset: 0x98, out: 0x9b63259b, outHI: 0x0
+swr :: offset: 0x99, out: 0x9b63259b, outHI: 0x0
+swr :: offset: 0x9a, out: 0x9b63259b, outHI: 0x0
+swr :: offset: 0x9b, out: 0x9b63259b, outHI: 0x0
+swr :: offset: 0x9c, out: 0x85e0a6319b63259b, outHI: 0x0
+swr :: offset: 0x9d, out: 0x85e0a6319b63259b, outHI: 0x0
+swr :: offset: 0x9e, out: 0x85e0a6319b63259b, outHI: 0x0
+swr :: offset: 0x9f, out: 0x85e0a6319b63259b, outHI: 0x0
+swr :: offset: 0xa0, out: 0xccf17ac5, outHI: 0x0
+swr :: offset: 0xa1, out: 0xccf17ac5, outHI: 0x0
+swr :: offset: 0xa2, out: 0xccf17ac5, outHI: 0x0
+swr :: offset: 0xa3, out: 0xccf17ac5, outHI: 0x0
+swr :: offset: 0xa4, out: 0x556b3ecaccf17ac5, outHI: 0x0
+swr :: offset: 0xa5, out: 0x556b3ecaccf17ac5, outHI: 0x0
+swr :: offset: 0xa6, out: 0x556b3ecaccf17ac5, outHI: 0x0
+swr :: offset: 0xa7, out: 0x556b3ecaccf17ac5, outHI: 0x0
+swr :: offset: 0xa8, out: 0x81eea0fb, outHI: 0x0
+swr :: offset: 0xa9, out: 0x81eea0fb, outHI: 0x0
+swr :: offset: 0xaa, out: 0x81eea0fb, outHI: 0x0
+swr :: offset: 0xab, out: 0x81eea0fb, outHI: 0x0
+swr :: offset: 0xac, out: 0xb42f5fc581eea0fb, outHI: 0x0
+swr :: offset: 0xad, out: 0xb42f5fc581eea0fb, outHI: 0x0
+swr :: offset: 0xae, out: 0xb42f5fc581eea0fb, outHI: 0x0
+swr :: offset: 0xaf, out: 0xb42f5fc581eea0fb, outHI: 0x0
+swr :: offset: 0xb0, out: 0x14682d97, outHI: 0x0
+swr :: offset: 0xb1, out: 0x14682d97, outHI: 0x0
+swr :: offset: 0xb2, out: 0x14682d97, outHI: 0x0
+swr :: offset: 0xb3, out: 0x14682d97, outHI: 0x0
+swr :: offset: 0xb4, out: 0x25b50fec14682d97, outHI: 0x0
+swr :: offset: 0xb5, out: 0x25b50fec14682d97, outHI: 0x0
+swr :: offset: 0xb6, out: 0x25b50fec14682d97, outHI: 0x0
+swr :: offset: 0xb7, out: 0x25b50fec14682d97, outHI: 0x0
+swr :: offset: 0xb8, out: 0x2cfb087a, outHI: 0x0
+swr :: offset: 0xb9, out: 0x2cfb087a, outHI: 0x0
+swr :: offset: 0xba, out: 0x2cfb087a, outHI: 0x0
+swr :: offset: 0xbb, out: 0x2cfb087a, outHI: 0x0
+swr :: offset: 0xbc, out: 0xfc93c5132cfb087a, outHI: 0x0
+swr :: offset: 0xbd, out: 0xfc93c5132cfb087a, outHI: 0x0
+swr :: offset: 0xbe, out: 0xfc93c5132cfb087a, outHI: 0x0
+swr :: offset: 0xbf, out: 0xfc93c5132cfb087a, outHI: 0x0
+swr :: offset: 0xc0, out: 0xcda20766, outHI: 0x0
+swr :: offset: 0xc1, out: 0xcda20766, outHI: 0x0
+swr :: offset: 0xc2, out: 0xcda20766, outHI: 0x0
+swr :: offset: 0xc3, out: 0xcda20766, outHI: 0x0
+swr :: offset: 0xc4, out: 0x3c2cd9a9cda20766, outHI: 0x0
+swr :: offset: 0xc5, out: 0x3c2cd9a9cda20766, outHI: 0x0
+swr :: offset: 0xc6, out: 0x3c2cd9a9cda20766, outHI: 0x0
+swr :: offset: 0xc7, out: 0x3c2cd9a9cda20766, outHI: 0x0
+swr :: offset: 0xc8, out: 0x7d72da3e, outHI: 0x0
+swr :: offset: 0xc9, out: 0x7d72da3e, outHI: 0x0
+swr :: offset: 0xca, out: 0x7d72da3e, outHI: 0x0
+swr :: offset: 0xcb, out: 0x7d72da3e, outHI: 0x0
+swr :: offset: 0xcc, out: 0x1791722a7d72da3e, outHI: 0x0
+swr :: offset: 0xcd, out: 0x1791722a7d72da3e, outHI: 0x0
+swr :: offset: 0xce, out: 0x1791722a7d72da3e, outHI: 0x0
+swr :: offset: 0xcf, out: 0x1791722a7d72da3e, outHI: 0x0
+swr :: offset: 0xd0, out: 0x93ce24ad, outHI: 0x0
+swr :: offset: 0xd1, out: 0x93ce24ad, outHI: 0x0
+swr :: offset: 0xd2, out: 0x93ce24ad, outHI: 0x0
+swr :: offset: 0xd3, out: 0x93ce24ad, outHI: 0x0
+swr :: offset: 0xd4, out: 0x87cc9d193ce24ad, outHI: 0x0
+swr :: offset: 0xd5, out: 0x87cc9d193ce24ad, outHI: 0x0
+swr :: offset: 0xd6, out: 0x87cc9d193ce24ad, outHI: 0x0
+swr :: offset: 0xd7, out: 0x87cc9d193ce24ad, outHI: 0x0
+swr :: offset: 0xd8, out: 0x38984ed2, outHI: 0x0
+swr :: offset: 0xd9, out: 0x38984ed2, outHI: 0x0
+swr :: offset: 0xda, out: 0x38984ed2, outHI: 0x0
+swr :: offset: 0xdb, out: 0x38984ed2, outHI: 0x0
+swr :: offset: 0xdc, out: 0x1d2a757038984ed2, outHI: 0x0
+swr :: offset: 0xdd, out: 0x1d2a757038984ed2, outHI: 0x0
+swr :: offset: 0xde, out: 0x1d2a757038984ed2, outHI: 0x0
+swr :: offset: 0xdf, out: 0x1d2a757038984ed2, outHI: 0x0
+swr :: offset: 0xe0, out: 0x710cd036, outHI: 0x0
+swr :: offset: 0xe1, out: 0x710cd036, outHI: 0x0
+swr :: offset: 0xe2, out: 0x710cd036, outHI: 0x0
+swr :: offset: 0xe3, out: 0x710cd036, outHI: 0x0
+swr :: offset: 0xe4, out: 0xd0d070db710cd036, outHI: 0x0
+swr :: offset: 0xe5, out: 0xd0d070db710cd036, outHI: 0x0
+swr :: offset: 0xe6, out: 0xd0d070db710cd036, outHI: 0x0
+swr :: offset: 0xe7, out: 0xd0d070db710cd036, outHI: 0x0
+swr :: offset: 0xe8, out: 0x3415604, outHI: 0x0
+swr :: offset: 0xe9, out: 0x3415604, outHI: 0x0
+swr :: offset: 0xea, out: 0x3415604, outHI: 0x0
+swr :: offset: 0xeb, out: 0x3415604, outHI: 0x0
+swr :: offset: 0xec, out: 0x39c21c7d03415604, outHI: 0x0
+swr :: offset: 0xed, out: 0x39c21c7d03415604, outHI: 0x0
+swr :: offset: 0xee, out: 0x39c21c7d03415604, outHI: 0x0
+swr :: offset: 0xef, out: 0x39c21c7d03415604, outHI: 0x0
+swr :: offset: 0xf0, out: 0x8ecc31ce, outHI: 0x0
+swr :: offset: 0xf1, out: 0x8ecc31ce, outHI: 0x0
+swr :: offset: 0xf2, out: 0x8ecc31ce, outHI: 0x0
+swr :: offset: 0xf3, out: 0x8ecc31ce, outHI: 0x0
+swr :: offset: 0xf4, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+swr :: offset: 0xf5, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+swr :: offset: 0xf6, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+swr :: offset: 0xf7, out: 0x8e94b7af8ecc31ce, outHI: 0x0
+swr :: offset: 0xf8, out: 0x1ce7674f, outHI: 0x0
+swr :: offset: 0xf9, out: 0x1ce7674f, outHI: 0x0
+swr :: offset: 0xfa, out: 0x1ce7674f, outHI: 0x0
+swr :: offset: 0xfb, out: 0x1ce7674f, outHI: 0x0
+swr :: offset: 0xfc, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+swr :: offset: 0xfd, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+swr :: offset: 0xfe, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+swr :: offset: 0xff, out: 0x24eb6a8d1ce7674f, outHI: 0x0
+swr :: offset: 0x100, out: 0x12d6e4a7, outHI: 0x0
+swr :: offset: 0x101, out: 0x12d6e4a7, outHI: 0x0
+swr :: offset: 0x102, out: 0x12d6e4a7, outHI: 0x0
+swr :: offset: 0x103, out: 0x12d6e4a7, outHI: 0x0
+swr :: offset: 0x104, out: 0x2f39454412d6e4a7, outHI: 0x0
+swr :: offset: 0x105, out: 0x2f39454412d6e4a7, outHI: 0x0
+swr :: offset: 0x106, out: 0x2f39454412d6e4a7, outHI: 0x0
+swr :: offset: 0x107, out: 0x2f39454412d6e4a7, outHI: 0x0
+swr :: offset: 0x108, out: 0x56da4c54, outHI: 0x0
+swr :: offset: 0x109, out: 0x56da4c54, outHI: 0x0
+swr :: offset: 0x10a, out: 0x56da4c54, outHI: 0x0
+swr :: offset: 0x10b, out: 0x56da4c54, outHI: 0x0
+swr :: offset: 0x10c, out: 0x2608c2b756da4c54, outHI: 0x0
+swr :: offset: 0x10d, out: 0x2608c2b756da4c54, outHI: 0x0
+swr :: offset: 0x10e, out: 0x2608c2b756da4c54, outHI: 0x0
+swr :: offset: 0x10f, out: 0x2608c2b756da4c54, outHI: 0x0
+swr :: offset: 0x110, out: 0xc8d7252f, outHI: 0x0
+swr :: offset: 0x111, out: 0xc8d7252f, outHI: 0x0
+swr :: offset: 0x112, out: 0xc8d7252f, outHI: 0x0
+swr :: offset: 0x113, out: 0xc8d7252f, outHI: 0x0
+swr :: offset: 0x114, out: 0x900102dac8d7252f, outHI: 0x0
+swr :: offset: 0x115, out: 0x900102dac8d7252f, outHI: 0x0
+swr :: offset: 0x116, out: 0x900102dac8d7252f, outHI: 0x0
+swr :: offset: 0x117, out: 0x900102dac8d7252f, outHI: 0x0
+swr :: offset: 0x118, out: 0xf2efa4f7, outHI: 0x0
+swr :: offset: 0x119, out: 0xf2efa4f7, outHI: 0x0
+swr :: offset: 0x11a, out: 0xf2efa4f7, outHI: 0x0
+swr :: offset: 0x11b, out: 0xf2efa4f7, outHI: 0x0
+swr :: offset: 0x11c, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+swr :: offset: 0x11d, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+swr :: offset: 0x11e, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+swr :: offset: 0x11f, out: 0xc890d5f1f2efa4f7, outHI: 0x0
+swr :: offset: 0x120, out: 0xc8b0a214, outHI: 0x0
+swr :: offset: 0x121, out: 0xc8b0a214, outHI: 0x0
+swr :: offset: 0x122, out: 0xc8b0a214, outHI: 0x0
+swr :: offset: 0x123, out: 0xc8b0a214, outHI: 0x0
+swr :: offset: 0x124, out: 0xed5005cbc8b0a214, outHI: 0x0
+swr :: offset: 0x125, out: 0xed5005cbc8b0a214, outHI: 0x0
+swr :: offset: 0x126, out: 0xed5005cbc8b0a214, outHI: 0x0
+swr :: offset: 0x127, out: 0xed5005cbc8b0a214, outHI: 0x0
+swr :: offset: 0x128, out: 0x5991136c, outHI: 0x0
+swr :: offset: 0x129, out: 0x5991136c, outHI: 0x0
+swr :: offset: 0x12a, out: 0x5991136c, outHI: 0x0
+swr :: offset: 0x12b, out: 0x5991136c, outHI: 0x0
+swr :: offset: 0x12c, out: 0x314791895991136c, outHI: 0x0
+swr :: offset: 0x12d, out: 0x314791895991136c, outHI: 0x0
+swr :: offset: 0x12e, out: 0x314791895991136c, outHI: 0x0
+swr :: offset: 0x12f, out: 0x314791895991136c, outHI: 0x0
+swr :: offset: 0x130, out: 0x9a2fb6f3, outHI: 0x0
+swr :: offset: 0x131, out: 0x9a2fb6f3, outHI: 0x0
+swr :: offset: 0x132, out: 0x9a2fb6f3, outHI: 0x0
+swr :: offset: 0x133, out: 0x9a2fb6f3, outHI: 0x0
+swr :: offset: 0x134, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+swr :: offset: 0x135, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+swr :: offset: 0x136, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+swr :: offset: 0x137, out: 0xc6eecff99a2fb6f3, outHI: 0x0
+swr :: offset: 0x138, out: 0x38895270, outHI: 0x0
+swr :: offset: 0x139, out: 0x38895270, outHI: 0x0
+swr :: offset: 0x13a, out: 0x38895270, outHI: 0x0
+swr :: offset: 0x13b, out: 0x38895270, outHI: 0x0
+swr :: offset: 0x13c, out: 0xa809521238895270, outHI: 0x0
+swr :: offset: 0x13d, out: 0xa809521238895270, outHI: 0x0
+swr :: offset: 0x13e, out: 0xa809521238895270, outHI: 0x0
+swr :: offset: 0x13f, out: 0xa809521238895270, outHI: 0x0
+swr :: offset: 0x140, out: 0xad765040, outHI: 0x0
+swr :: offset: 0x141, out: 0xad765040, outHI: 0x0
+swr :: offset: 0x142, out: 0xad765040, outHI: 0x0
+swr :: offset: 0x143, out: 0xad765040, outHI: 0x0
+swr :: offset: 0x144, out: 0x87750a04ad765040, outHI: 0x0
+swr :: offset: 0x145, out: 0x87750a04ad765040, outHI: 0x0
+swr :: offset: 0x146, out: 0x87750a04ad765040, outHI: 0x0
+swr :: offset: 0x147, out: 0x87750a04ad765040, outHI: 0x0
+swr :: offset: 0x148, out: 0x84bb5a83, outHI: 0x0
+swr :: offset: 0x149, out: 0x84bb5a83, outHI: 0x0
+swr :: offset: 0x14a, out: 0x84bb5a83, outHI: 0x0
+swr :: offset: 0x14b, out: 0x84bb5a83, outHI: 0x0
+swr :: offset: 0x14c, out: 0x2c3de85e84bb5a83, outHI: 0x0
+swr :: offset: 0x14d, out: 0x2c3de85e84bb5a83, outHI: 0x0
+swr :: offset: 0x14e, out: 0x2c3de85e84bb5a83, outHI: 0x0
+swr :: offset: 0x14f, out: 0x2c3de85e84bb5a83, outHI: 0x0
+swr :: offset: 0x150, out: 0xc506aa67, outHI: 0x0
+swr :: offset: 0x151, out: 0xc506aa67, outHI: 0x0
+swr :: offset: 0x152, out: 0xc506aa67, outHI: 0x0
+swr :: offset: 0x153, out: 0xc506aa67, outHI: 0x0
+swr :: offset: 0x154, out: 0xae6aff8fc506aa67, outHI: 0x0
+swr :: offset: 0x155, out: 0xae6aff8fc506aa67, outHI: 0x0
+swr :: offset: 0x156, out: 0xae6aff8fc506aa67, outHI: 0x0
+swr :: offset: 0x157, out: 0xae6aff8fc506aa67, outHI: 0x0
+swr :: offset: 0x158, out: 0x60ed5ee3, outHI: 0x0
+swr :: offset: 0x159, out: 0x60ed5ee3, outHI: 0x0
+swr :: offset: 0x15a, out: 0x60ed5ee3, outHI: 0x0
+swr :: offset: 0x15b, out: 0x60ed5ee3, outHI: 0x0
+swr :: offset: 0x15c, out: 0xc07112dd60ed5ee3, outHI: 0x0
+swr :: offset: 0x15d, out: 0xc07112dd60ed5ee3, outHI: 0x0
+swr :: offset: 0x15e, out: 0xc07112dd60ed5ee3, outHI: 0x0
+swr :: offset: 0x15f, out: 0xc07112dd60ed5ee3, outHI: 0x0
+swr :: offset: 0x160, out: 0x30dcca5a, outHI: 0x0
+swr :: offset: 0x161, out: 0x30dcca5a, outHI: 0x0
+swr :: offset: 0x162, out: 0x30dcca5a, outHI: 0x0
+swr :: offset: 0x163, out: 0x30dcca5a, outHI: 0x0
+swr :: offset: 0x164, out: 0xc4c770f630dcca5a, outHI: 0x0
+swr :: offset: 0x165, out: 0xc4c770f630dcca5a, outHI: 0x0
+swr :: offset: 0x166, out: 0xc4c770f630dcca5a, outHI: 0x0
+swr :: offset: 0x167, out: 0xc4c770f630dcca5a, outHI: 0x0
+swr :: offset: 0x168, out: 0x83cd5277, outHI: 0x0
+swr :: offset: 0x169, out: 0x83cd5277, outHI: 0x0
+swr :: offset: 0x16a, out: 0x83cd5277, outHI: 0x0
+swr :: offset: 0x16b, out: 0x83cd5277, outHI: 0x0
+swr :: offset: 0x16c, out: 0xdfec2b2383cd5277, outHI: 0x0
+swr :: offset: 0x16d, out: 0xdfec2b2383cd5277, outHI: 0x0
+swr :: offset: 0x16e, out: 0xdfec2b2383cd5277, outHI: 0x0
+swr :: offset: 0x16f, out: 0xdfec2b2383cd5277, outHI: 0x0
+swr :: offset: 0x170, out: 0xff7d96b, outHI: 0x0
+swr :: offset: 0x171, out: 0xff7d96b, outHI: 0x0
+swr :: offset: 0x172, out: 0xff7d96b, outHI: 0x0
+swr :: offset: 0x173, out: 0xff7d96b, outHI: 0x0
+swr :: offset: 0x174, out: 0xd3adba260ff7d96b, outHI: 0x0
+swr :: offset: 0x175, out: 0xd3adba260ff7d96b, outHI: 0x0
+swr :: offset: 0x176, out: 0xd3adba260ff7d96b, outHI: 0x0
+swr :: offset: 0x177, out: 0xd3adba260ff7d96b, outHI: 0x0
+swr :: offset: 0x178, out: 0x8418c00e, outHI: 0x0
+swr :: offset: 0x179, out: 0x8418c00e, outHI: 0x0
+swr :: offset: 0x17a, out: 0x8418c00e, outHI: 0x0
+swr :: offset: 0x17b, out: 0x8418c00e, outHI: 0x0
+swr :: offset: 0x17c, out: 0x4ab4aa798418c00e, outHI: 0x0
+swr :: offset: 0x17d, out: 0x4ab4aa798418c00e, outHI: 0x0
+swr :: offset: 0x17e, out: 0x4ab4aa798418c00e, outHI: 0x0
+swr :: offset: 0x17f, out: 0x4ab4aa798418c00e, outHI: 0x0
+swr :: offset: 0x180, out: 0xde0f0b8, outHI: 0x0
+swr :: offset: 0x181, out: 0xde0f0b8, outHI: 0x0
+swr :: offset: 0x182, out: 0xde0f0b8, outHI: 0x0
+swr :: offset: 0x183, out: 0xde0f0b8, outHI: 0x0
+swr :: offset: 0x184, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+swr :: offset: 0x185, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+swr :: offset: 0x186, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+swr :: offset: 0x187, out: 0xbb8c035e0de0f0b8, outHI: 0x0
+swr :: offset: 0x188, out: 0xa97fdcf1, outHI: 0x0
+swr :: offset: 0x189, out: 0xa97fdcf1, outHI: 0x0
+swr :: offset: 0x18a, out: 0xa97fdcf1, outHI: 0x0
+swr :: offset: 0x18b, out: 0xa97fdcf1, outHI: 0x0
+swr :: offset: 0x18c, out: 0x33b06f54a97fdcf1, outHI: 0x0
+swr :: offset: 0x18d, out: 0x33b06f54a97fdcf1, outHI: 0x0
+swr :: offset: 0x18e, out: 0x33b06f54a97fdcf1, outHI: 0x0
+swr :: offset: 0x18f, out: 0x33b06f54a97fdcf1, outHI: 0x0
+swr :: offset: 0x190, out: 0x3fd1c081, outHI: 0x0
+swr :: offset: 0x191, out: 0x3fd1c081, outHI: 0x0
+swr :: offset: 0x192, out: 0x3fd1c081, outHI: 0x0
+swr :: offset: 0x193, out: 0x3fd1c081, outHI: 0x0
+swr :: offset: 0x194, out: 0x77433f373fd1c081, outHI: 0x0
+swr :: offset: 0x195, out: 0x77433f373fd1c081, outHI: 0x0
+swr :: offset: 0x196, out: 0x77433f373fd1c081, outHI: 0x0
+swr :: offset: 0x197, out: 0x77433f373fd1c081, outHI: 0x0
+swr :: offset: 0x198, out: 0xc92195e4, outHI: 0x0
+swr :: offset: 0x199, out: 0xc92195e4, outHI: 0x0
+swr :: offset: 0x19a, out: 0xc92195e4, outHI: 0x0
+swr :: offset: 0x19b, out: 0xc92195e4, outHI: 0x0
+swr :: offset: 0x19c, out: 0xec91d993c92195e4, outHI: 0x0
+swr :: offset: 0x19d, out: 0xec91d993c92195e4, outHI: 0x0
+swr :: offset: 0x19e, out: 0xec91d993c92195e4, outHI: 0x0
+swr :: offset: 0x19f, out: 0xec91d993c92195e4, outHI: 0x0
+swr :: offset: 0x1a0, out: 0x95b1a5ab, outHI: 0x0
+swr :: offset: 0x1a1, out: 0x95b1a5ab, outHI: 0x0
+swr :: offset: 0x1a2, out: 0x95b1a5ab, outHI: 0x0
+swr :: offset: 0x1a3, out: 0x95b1a5ab, outHI: 0x0
+swr :: offset: 0x1a4, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+swr :: offset: 0x1a5, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+swr :: offset: 0x1a6, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+swr :: offset: 0x1a7, out: 0x49fbf6a795b1a5ab, outHI: 0x0
+swr :: offset: 0x1a8, out: 0xc7ce8d1e, outHI: 0x0
+swr :: offset: 0x1a9, out: 0xc7ce8d1e, outHI: 0x0
+swr :: offset: 0x1aa, out: 0xc7ce8d1e, outHI: 0x0
+swr :: offset: 0x1ab, out: 0xc7ce8d1e, outHI: 0x0
+swr :: offset: 0x1ac, out: 0x19364378c7ce8d1e, outHI: 0x0
+swr :: offset: 0x1ad, out: 0x19364378c7ce8d1e, outHI: 0x0
+swr :: offset: 0x1ae, out: 0x19364378c7ce8d1e, outHI: 0x0
+swr :: offset: 0x1af, out: 0x19364378c7ce8d1e, outHI: 0x0
+swr :: offset: 0x1b0, out: 0x2f384907, outHI: 0x0
+swr :: offset: 0x1b1, out: 0x2f384907, outHI: 0x0
+swr :: offset: 0x1b2, out: 0x2f384907, outHI: 0x0
+swr :: offset: 0x1b3, out: 0x2f384907, outHI: 0x0
+swr :: offset: 0x1b4, out: 0xb99e8def2f384907, outHI: 0x0
+swr :: offset: 0x1b5, out: 0xb99e8def2f384907, outHI: 0x0
+swr :: offset: 0x1b6, out: 0xb99e8def2f384907, outHI: 0x0
+swr :: offset: 0x1b7, out: 0xb99e8def2f384907, outHI: 0x0
+swr :: offset: 0x1b8, out: 0x582b12fe, outHI: 0x0
+swr :: offset: 0x1b9, out: 0x582b12fe, outHI: 0x0
+swr :: offset: 0x1ba, out: 0x582b12fe, outHI: 0x0
+swr :: offset: 0x1bb, out: 0x582b12fe, outHI: 0x0
+swr :: offset: 0x1bc, out: 0x47eacdcd582b12fe, outHI: 0x0
+swr :: offset: 0x1bd, out: 0x47eacdcd582b12fe, outHI: 0x0
+swr :: offset: 0x1be, out: 0x47eacdcd582b12fe, outHI: 0x0
+swr :: offset: 0x1bf, out: 0x47eacdcd582b12fe, outHI: 0x0
+swr :: offset: 0x1c0, out: 0x76558c4f, outHI: 0x0
+swr :: offset: 0x1c1, out: 0x76558c4f, outHI: 0x0
+swr :: offset: 0x1c2, out: 0x76558c4f, outHI: 0x0
+swr :: offset: 0x1c3, out: 0x76558c4f, outHI: 0x0
+swr :: offset: 0x1c4, out: 0xd685884e76558c4f, outHI: 0x0
+swr :: offset: 0x1c5, out: 0xd685884e76558c4f, outHI: 0x0
+swr :: offset: 0x1c6, out: 0xd685884e76558c4f, outHI: 0x0
+swr :: offset: 0x1c7, out: 0xd685884e76558c4f, outHI: 0x0
+swr :: offset: 0x1c8, out: 0x34c195c7, outHI: 0x0
+swr :: offset: 0x1c9, out: 0x34c195c7, outHI: 0x0
+swr :: offset: 0x1ca, out: 0x34c195c7, outHI: 0x0
+swr :: offset: 0x1cb, out: 0x34c195c7, outHI: 0x0
+swr :: offset: 0x1cc, out: 0x6168d62a34c195c7, outHI: 0x0
+swr :: offset: 0x1cd, out: 0x6168d62a34c195c7, outHI: 0x0
+swr :: offset: 0x1ce, out: 0x6168d62a34c195c7, outHI: 0x0
+swr :: offset: 0x1cf, out: 0x6168d62a34c195c7, outHI: 0x0
+swr :: offset: 0x1d0, out: 0x4df47405, outHI: 0x0
+swr :: offset: 0x1d1, out: 0x4df47405, outHI: 0x0
+swr :: offset: 0x1d2, out: 0x4df47405, outHI: 0x0
+swr :: offset: 0x1d3, out: 0x4df47405, outHI: 0x0
+swr :: offset: 0x1d4, out: 0xd30169894df47405, outHI: 0x0
+swr :: offset: 0x1d5, out: 0xd30169894df47405, outHI: 0x0
+swr :: offset: 0x1d6, out: 0xd30169894df47405, outHI: 0x0
+swr :: offset: 0x1d7, out: 0xd30169894df47405, outHI: 0x0
+swr :: offset: 0x1d8, out: 0x6cbb06db, outHI: 0x0
+swr :: offset: 0x1d9, out: 0x6cbb06db, outHI: 0x0
+swr :: offset: 0x1da, out: 0x6cbb06db, outHI: 0x0
+swr :: offset: 0x1db, out: 0x6cbb06db, outHI: 0x0
+swr :: offset: 0x1dc, out: 0x1ca190bf6cbb06db, outHI: 0x0
+swr :: offset: 0x1dd, out: 0x1ca190bf6cbb06db, outHI: 0x0
+swr :: offset: 0x1de, out: 0x1ca190bf6cbb06db, outHI: 0x0
+swr :: offset: 0x1df, out: 0x1ca190bf6cbb06db, outHI: 0x0
+swr :: offset: 0x1e0, out: 0x9cae393a, outHI: 0x0
+swr :: offset: 0x1e1, out: 0x9cae393a, outHI: 0x0
+swr :: offset: 0x1e2, out: 0x9cae393a, outHI: 0x0
+swr :: offset: 0x1e3, out: 0x9cae393a, outHI: 0x0
+swr :: offset: 0x1e4, out: 0x58300f029cae393a, outHI: 0x0
+swr :: offset: 0x1e5, out: 0x58300f029cae393a, outHI: 0x0
+swr :: offset: 0x1e6, out: 0x58300f029cae393a, outHI: 0x0
+swr :: offset: 0x1e7, out: 0x58300f029cae393a, outHI: 0x0
+swr :: offset: 0x1e8, out: 0xdc7ebc2d, outHI: 0x0
+swr :: offset: 0x1e9, out: 0xdc7ebc2d, outHI: 0x0
+swr :: offset: 0x1ea, out: 0xdc7ebc2d, outHI: 0x0
+swr :: offset: 0x1eb, out: 0xdc7ebc2d, outHI: 0x0
+swr :: offset: 0x1ec, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+swr :: offset: 0x1ed, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+swr :: offset: 0x1ee, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+swr :: offset: 0x1ef, out: 0x9a995fdbdc7ebc2d, outHI: 0x0
+swr :: offset: 0x1f0, out: 0xe3405b48, outHI: 0x0
+swr :: offset: 0x1f1, out: 0xe3405b48, outHI: 0x0
+swr :: offset: 0x1f2, out: 0xe3405b48, outHI: 0x0
+swr :: offset: 0x1f3, out: 0xe3405b48, outHI: 0x0
+swr :: offset: 0x1f4, out: 0x8a96047be3405b48, outHI: 0x0
+swr :: offset: 0x1f5, out: 0x8a96047be3405b48, outHI: 0x0
+swr :: offset: 0x1f6, out: 0x8a96047be3405b48, outHI: 0x0
+swr :: offset: 0x1f7, out: 0x8a96047be3405b48, outHI: 0x0
+swr :: offset: 0x1f8, out: 0xd519d322, outHI: 0x0
+swr :: offset: 0x1f9, out: 0xd519d322, outHI: 0x0
+swr :: offset: 0x1fa, out: 0xd519d322, outHI: 0x0
+swr :: offset: 0x1fb, out: 0xd519d322, outHI: 0x0
+swr :: offset: 0x1fc, out: 0x75bfafd2d519d322, outHI: 0x0
+swr :: offset: 0x1fd, out: 0x75bfafd2d519d322, outHI: 0x0
+swr :: offset: 0x1fe, out: 0x75bfafd2d519d322, outHI: 0x0
+swr :: offset: 0x1ff, out: 0x75bfafd2d519d322, outHI: 0x0
+swr :: offset: 0x200, out: 0xa630f6ad, outHI: 0x0
+swr :: offset: 0x201, out: 0xa630f6ad, outHI: 0x0
+swr :: offset: 0x202, out: 0xa630f6ad, outHI: 0x0
+swr :: offset: 0x203, out: 0xa630f6ad, outHI: 0x0
+swr :: offset: 0x204, out: 0xde230867a630f6ad, outHI: 0x0
+swr :: offset: 0x205, out: 0xde230867a630f6ad, outHI: 0x0
+swr :: offset: 0x206, out: 0xde230867a630f6ad, outHI: 0x0
+swr :: offset: 0x207, out: 0xde230867a630f6ad, outHI: 0x0
+swr :: offset: 0x208, out: 0x56103260, outHI: 0x0
+swr :: offset: 0x209, out: 0x56103260, outHI: 0x0
+swr :: offset: 0x20a, out: 0x56103260, outHI: 0x0
+swr :: offset: 0x20b, out: 0x56103260, outHI: 0x0
+swr :: offset: 0x20c, out: 0x2c0a0cf256103260, outHI: 0x0
+swr :: offset: 0x20d, out: 0x2c0a0cf256103260, outHI: 0x0
+swr :: offset: 0x20e, out: 0x2c0a0cf256103260, outHI: 0x0
+swr :: offset: 0x20f, out: 0x2c0a0cf256103260, outHI: 0x0
+swr :: offset: 0x210, out: 0x249b18ef, outHI: 0x0
+swr :: offset: 0x211, out: 0x249b18ef, outHI: 0x0
+swr :: offset: 0x212, out: 0x249b18ef, outHI: 0x0
+swr :: offset: 0x213, out: 0x249b18ef, outHI: 0x0
+swr :: offset: 0x214, out: 0x94a90544249b18ef, outHI: 0x0
+swr :: offset: 0x215, out: 0x94a90544249b18ef, outHI: 0x0
+swr :: offset: 0x216, out: 0x94a90544249b18ef, outHI: 0x0
+swr :: offset: 0x217, out: 0x94a90544249b18ef, outHI: 0x0
+swr :: offset: 0x218, out: 0x5b56fcde, outHI: 0x0
+swr :: offset: 0x219, out: 0x5b56fcde, outHI: 0x0
+swr :: offset: 0x21a, out: 0x5b56fcde, outHI: 0x0
+swr :: offset: 0x21b, out: 0x5b56fcde, outHI: 0x0
+swr :: offset: 0x21c, out: 0xf9519fb55b56fcde, outHI: 0x0
+swr :: offset: 0x21d, out: 0xf9519fb55b56fcde, outHI: 0x0
+swr :: offset: 0x21e, out: 0xf9519fb55b56fcde, outHI: 0x0
+swr :: offset: 0x21f, out: 0xf9519fb55b56fcde, outHI: 0x0
+swr :: offset: 0x220, out: 0x468319b, outHI: 0x0
+swr :: offset: 0x221, out: 0x468319b, outHI: 0x0
+swr :: offset: 0x222, out: 0x468319b, outHI: 0x0
+swr :: offset: 0x223, out: 0x468319b, outHI: 0x0
+swr :: offset: 0x224, out: 0x81daf8200468319b, outHI: 0x0
+swr :: offset: 0x225, out: 0x81daf8200468319b, outHI: 0x0
+swr :: offset: 0x226, out: 0x81daf8200468319b, outHI: 0x0
+swr :: offset: 0x227, out: 0x81daf8200468319b, outHI: 0x0
+swr :: offset: 0x228, out: 0x5725f2ec, outHI: 0x0
+swr :: offset: 0x229, out: 0x5725f2ec, outHI: 0x0
+swr :: offset: 0x22a, out: 0x5725f2ec, outHI: 0x0
+swr :: offset: 0x22b, out: 0x5725f2ec, outHI: 0x0
+swr :: offset: 0x22c, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+swr :: offset: 0x22d, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+swr :: offset: 0x22e, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+swr :: offset: 0x22f, out: 0x8c61ca5a5725f2ec, outHI: 0x0
+swr :: offset: 0x230, out: 0xc25dc8bf, outHI: 0x0
+swr :: offset: 0x231, out: 0xc25dc8bf, outHI: 0x0
+swr :: offset: 0x232, out: 0xc25dc8bf, outHI: 0x0
+swr :: offset: 0x233, out: 0xc25dc8bf, outHI: 0x0
+swr :: offset: 0x234, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+swr :: offset: 0x235, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+swr :: offset: 0x236, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+swr :: offset: 0x237, out: 0x8b95a6ddc25dc8bf, outHI: 0x0
+swr :: offset: 0x238, out: 0xdac6162f, outHI: 0x0
+swr :: offset: 0x239, out: 0xdac6162f, outHI: 0x0
+swr :: offset: 0x23a, out: 0xdac6162f, outHI: 0x0
+swr :: offset: 0x23b, out: 0xdac6162f, outHI: 0x0
+swr :: offset: 0x23c, out: 0x300ce751dac6162f, outHI: 0x0
+swr :: offset: 0x23d, out: 0x300ce751dac6162f, outHI: 0x0
+swr :: offset: 0x23e, out: 0x300ce751dac6162f, outHI: 0x0
+swr :: offset: 0x23f, out: 0x300ce751dac6162f, outHI: 0x0
+swr :: offset: 0x240, out: 0xba52a850, outHI: 0x0
+swr :: offset: 0x241, out: 0xba52a850, outHI: 0x0
+swr :: offset: 0x242, out: 0xba52a850, outHI: 0x0
+swr :: offset: 0x243, out: 0xba52a850, outHI: 0x0
+swr :: offset: 0x244, out: 0x6778fdf3ba52a850, outHI: 0x0
+swr :: offset: 0x245, out: 0x6778fdf3ba52a850, outHI: 0x0
+swr :: offset: 0x246, out: 0x6778fdf3ba52a850, outHI: 0x0
+swr :: offset: 0x247, out: 0x6778fdf3ba52a850, outHI: 0x0
+swr :: offset: 0x248, out: 0xda78479f, outHI: 0x0
+swr :: offset: 0x249, out: 0xda78479f, outHI: 0x0
+swr :: offset: 0x24a, out: 0xda78479f, outHI: 0x0
+swr :: offset: 0x24b, out: 0xda78479f, outHI: 0x0
+swr :: offset: 0x24c, out: 0xad00b1f7da78479f, outHI: 0x0
+swr :: offset: 0x24d, out: 0xad00b1f7da78479f, outHI: 0x0
+swr :: offset: 0x24e, out: 0xad00b1f7da78479f, outHI: 0x0
+swr :: offset: 0x24f, out: 0xad00b1f7da78479f, outHI: 0x0
+swr :: offset: 0x250, out: 0xa6b6d98a, outHI: 0x0
+swr :: offset: 0x251, out: 0xa6b6d98a, outHI: 0x0
+swr :: offset: 0x252, out: 0xa6b6d98a, outHI: 0x0
+swr :: offset: 0x253, out: 0xa6b6d98a, outHI: 0x0
+swr :: offset: 0x254, out: 0x8d44168a6b6d98a, outHI: 0x0
+swr :: offset: 0x255, out: 0x8d44168a6b6d98a, outHI: 0x0
+swr :: offset: 0x256, out: 0x8d44168a6b6d98a, outHI: 0x0
+swr :: offset: 0x257, out: 0x8d44168a6b6d98a, outHI: 0x0
+swr :: offset: 0x258, out: 0xce634413, outHI: 0x0
+swr :: offset: 0x259, out: 0xce634413, outHI: 0x0
+swr :: offset: 0x25a, out: 0xce634413, outHI: 0x0
+swr :: offset: 0x25b, out: 0xce634413, outHI: 0x0
+swr :: offset: 0x25c, out: 0xf518381dce634413, outHI: 0x0
+swr :: offset: 0x25d, out: 0xf518381dce634413, outHI: 0x0
+swr :: offset: 0x25e, out: 0xf518381dce634413, outHI: 0x0
+swr :: offset: 0x25f, out: 0xf518381dce634413, outHI: 0x0
+swr :: offset: 0x260, out: 0xe5255fc0, outHI: 0x0
+swr :: offset: 0x261, out: 0xe5255fc0, outHI: 0x0
+swr :: offset: 0x262, out: 0xe5255fc0, outHI: 0x0
+swr :: offset: 0x263, out: 0xe5255fc0, outHI: 0x0
+swr :: offset: 0x264, out: 0xe4627f3fe5255fc0, outHI: 0x0
+swr :: offset: 0x265, out: 0xe4627f3fe5255fc0, outHI: 0x0
+swr :: offset: 0x266, out: 0xe4627f3fe5255fc0, outHI: 0x0
+swr :: offset: 0x267, out: 0xe4627f3fe5255fc0, outHI: 0x0
+swr :: offset: 0x268, out: 0x76321f28, outHI: 0x0
+swr :: offset: 0x269, out: 0x76321f28, outHI: 0x0
+swr :: offset: 0x26a, out: 0x76321f28, outHI: 0x0
+swr :: offset: 0x26b, out: 0x76321f28, outHI: 0x0
+swr :: offset: 0x26c, out: 0xccd392e176321f28, outHI: 0x0
+swr :: offset: 0x26d, out: 0xccd392e176321f28, outHI: 0x0
+swr :: offset: 0x26e, out: 0xccd392e176321f28, outHI: 0x0
+swr :: offset: 0x26f, out: 0xccd392e176321f28, outHI: 0x0
+swr :: offset: 0x270, out: 0x4018fd8f, outHI: 0x0
+swr :: offset: 0x271, out: 0x4018fd8f, outHI: 0x0
+swr :: offset: 0x272, out: 0x4018fd8f, outHI: 0x0
+swr :: offset: 0x273, out: 0x4018fd8f, outHI: 0x0
+swr :: offset: 0x274, out: 0x829464944018fd8f, outHI: 0x0
+swr :: offset: 0x275, out: 0x829464944018fd8f, outHI: 0x0
+swr :: offset: 0x276, out: 0x829464944018fd8f, outHI: 0x0
+swr :: offset: 0x277, out: 0x829464944018fd8f, outHI: 0x0
+swr :: offset: 0x278, out: 0x52e8f0e5, outHI: 0x0
+swr :: offset: 0x279, out: 0x52e8f0e5, outHI: 0x0
+swr :: offset: 0x27a, out: 0x52e8f0e5, outHI: 0x0
+swr :: offset: 0x27b, out: 0x52e8f0e5, outHI: 0x0
+swr :: offset: 0x27c, out: 0x15d3204052e8f0e5, outHI: 0x0
+swr :: offset: 0x27d, out: 0x15d3204052e8f0e5, outHI: 0x0
+swr :: offset: 0x27e, out: 0x15d3204052e8f0e5, outHI: 0x0
+swr :: offset: 0x27f, out: 0x15d3204052e8f0e5, outHI: 0x0
+swr :: offset: 0x280, out: 0x880ff344, outHI: 0x0
+swr :: offset: 0x281, out: 0x880ff344, outHI: 0x0
+swr :: offset: 0x282, out: 0x880ff344, outHI: 0x0
+swr :: offset: 0x283, out: 0x880ff344, outHI: 0x0
+swr :: offset: 0x284, out: 0x7caf83d2880ff344, outHI: 0x0
+swr :: offset: 0x285, out: 0x7caf83d2880ff344, outHI: 0x0
+swr :: offset: 0x286, out: 0x7caf83d2880ff344, outHI: 0x0
+swr :: offset: 0x287, out: 0x7caf83d2880ff344, outHI: 0x0
+swr :: offset: 0x288, out: 0x747defd7, outHI: 0x0
+swr :: offset: 0x289, out: 0x747defd7, outHI: 0x0
+swr :: offset: 0x28a, out: 0x747defd7, outHI: 0x0
+swr :: offset: 0x28b, out: 0x747defd7, outHI: 0x0
+swr :: offset: 0x28c, out: 0xf156a04c747defd7, outHI: 0x0
+swr :: offset: 0x28d, out: 0xf156a04c747defd7, outHI: 0x0
+swr :: offset: 0x28e, out: 0xf156a04c747defd7, outHI: 0x0
+swr :: offset: 0x28f, out: 0xf156a04c747defd7, outHI: 0x0
+swr :: offset: 0x290, out: 0xf31d710, outHI: 0x0
+swr :: offset: 0x291, out: 0xf31d710, outHI: 0x0
+swr :: offset: 0x292, out: 0xf31d710, outHI: 0x0
+swr :: offset: 0x293, out: 0xf31d710, outHI: 0x0
+swr :: offset: 0x294, out: 0x93e2601c0f31d710, outHI: 0x0
+swr :: offset: 0x295, out: 0x93e2601c0f31d710, outHI: 0x0
+swr :: offset: 0x296, out: 0x93e2601c0f31d710, outHI: 0x0
+swr :: offset: 0x297, out: 0x93e2601c0f31d710, outHI: 0x0
+swr :: offset: 0x298, out: 0x131cd933, outHI: 0x0
+swr :: offset: 0x299, out: 0x131cd933, outHI: 0x0
+swr :: offset: 0x29a, out: 0x131cd933, outHI: 0x0
+swr :: offset: 0x29b, out: 0x131cd933, outHI: 0x0
+swr :: offset: 0x29c, out: 0xe1e1a679131cd933, outHI: 0x0
+swr :: offset: 0x29d, out: 0xe1e1a679131cd933, outHI: 0x0
+swr :: offset: 0x29e, out: 0xe1e1a679131cd933, outHI: 0x0
+swr :: offset: 0x29f, out: 0xe1e1a679131cd933, outHI: 0x0
+swr :: offset: 0x2a0, out: 0xa76fa427, outHI: 0x0
+swr :: offset: 0x2a1, out: 0xa76fa427, outHI: 0x0
+swr :: offset: 0x2a2, out: 0xa76fa427, outHI: 0x0
+swr :: offset: 0x2a3, out: 0xa76fa427, outHI: 0x0
+swr :: offset: 0x2a4, out: 0x24296b75a76fa427, outHI: 0x0
+swr :: offset: 0x2a5, out: 0x24296b75a76fa427, outHI: 0x0
+swr :: offset: 0x2a6, out: 0x24296b75a76fa427, outHI: 0x0
+swr :: offset: 0x2a7, out: 0x24296b75a76fa427, outHI: 0x0
+swr :: offset: 0x2a8, out: 0x139ee56a, outHI: 0x0
+swr :: offset: 0x2a9, out: 0x139ee56a, outHI: 0x0
+swr :: offset: 0x2aa, out: 0x139ee56a, outHI: 0x0
+swr :: offset: 0x2ab, out: 0x139ee56a, outHI: 0x0
+swr :: offset: 0x2ac, out: 0xd296e2d2139ee56a, outHI: 0x0
+swr :: offset: 0x2ad, out: 0xd296e2d2139ee56a, outHI: 0x0
+swr :: offset: 0x2ae, out: 0xd296e2d2139ee56a, outHI: 0x0
+swr :: offset: 0x2af, out: 0xd296e2d2139ee56a, outHI: 0x0
+swr :: offset: 0x2b0, out: 0x6dc2a5c0, outHI: 0x0
+swr :: offset: 0x2b1, out: 0x6dc2a5c0, outHI: 0x0
+swr :: offset: 0x2b2, out: 0x6dc2a5c0, outHI: 0x0
+swr :: offset: 0x2b3, out: 0x6dc2a5c0, outHI: 0x0
+swr :: offset: 0x2b4, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+swr :: offset: 0x2b5, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+swr :: offset: 0x2b6, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+swr :: offset: 0x2b7, out: 0x5a82447f6dc2a5c0, outHI: 0x0
+swr :: offset: 0x2b8, out: 0xc07dc168, outHI: 0x0
+swr :: offset: 0x2b9, out: 0xc07dc168, outHI: 0x0
+swr :: offset: 0x2ba, out: 0xc07dc168, outHI: 0x0
+swr :: offset: 0x2bb, out: 0xc07dc168, outHI: 0x0
+swr :: offset: 0x2bc, out: 0x76c89e80c07dc168, outHI: 0x0
+swr :: offset: 0x2bd, out: 0x76c89e80c07dc168, outHI: 0x0
+swr :: offset: 0x2be, out: 0x76c89e80c07dc168, outHI: 0x0
+swr :: offset: 0x2bf, out: 0x76c89e80c07dc168, outHI: 0x0
+swr :: offset: 0x2c0, out: 0x4bfe348f, outHI: 0x0
+swr :: offset: 0x2c1, out: 0x4bfe348f, outHI: 0x0
+swr :: offset: 0x2c2, out: 0x4bfe348f, outHI: 0x0
+swr :: offset: 0x2c3, out: 0x4bfe348f, outHI: 0x0
+swr :: offset: 0x2c4, out: 0x70dc3454bfe348f, outHI: 0x0
+swr :: offset: 0x2c5, out: 0x70dc3454bfe348f, outHI: 0x0
+swr :: offset: 0x2c6, out: 0x70dc3454bfe348f, outHI: 0x0
+swr :: offset: 0x2c7, out: 0x70dc3454bfe348f, outHI: 0x0
+swr :: offset: 0x2c8, out: 0xdd6d241b, outHI: 0x0
+swr :: offset: 0x2c9, out: 0xdd6d241b, outHI: 0x0
+swr :: offset: 0x2ca, out: 0xdd6d241b, outHI: 0x0
+swr :: offset: 0x2cb, out: 0xdd6d241b, outHI: 0x0
+swr :: offset: 0x2cc, out: 0xbddc7123dd6d241b, outHI: 0x0
+swr :: offset: 0x2cd, out: 0xbddc7123dd6d241b, outHI: 0x0
+swr :: offset: 0x2ce, out: 0xbddc7123dd6d241b, outHI: 0x0
+swr :: offset: 0x2cf, out: 0xbddc7123dd6d241b, outHI: 0x0
+swr :: offset: 0x2d0, out: 0xa59fcebe, outHI: 0x0
+swr :: offset: 0x2d1, out: 0xa59fcebe, outHI: 0x0
+swr :: offset: 0x2d2, out: 0xa59fcebe, outHI: 0x0
+swr :: offset: 0x2d3, out: 0xa59fcebe, outHI: 0x0
+swr :: offset: 0x2d4, out: 0xf62fb727a59fcebe, outHI: 0x0
+swr :: offset: 0x2d5, out: 0xf62fb727a59fcebe, outHI: 0x0
+swr :: offset: 0x2d6, out: 0xf62fb727a59fcebe, outHI: 0x0
+swr :: offset: 0x2d7, out: 0xf62fb727a59fcebe, outHI: 0x0
+swr :: offset: 0x2d8, out: 0xf9f46fb, outHI: 0x0
+swr :: offset: 0x2d9, out: 0xf9f46fb, outHI: 0x0
+swr :: offset: 0x2da, out: 0xf9f46fb, outHI: 0x0
+swr :: offset: 0x2db, out: 0xf9f46fb, outHI: 0x0
+swr :: offset: 0x2dc, out: 0x109f27e90f9f46fb, outHI: 0x0
+swr :: offset: 0x2dd, out: 0x109f27e90f9f46fb, outHI: 0x0
+swr :: offset: 0x2de, out: 0x109f27e90f9f46fb, outHI: 0x0
+swr :: offset: 0x2df, out: 0x109f27e90f9f46fb, outHI: 0x0
+swr :: offset: 0x2e0, out: 0xafd199d7, outHI: 0x0
+swr :: offset: 0x2e1, out: 0xafd199d7, outHI: 0x0
+swr :: offset: 0x2e2, out: 0xafd199d7, outHI: 0x0
+swr :: offset: 0x2e3, out: 0xafd199d7, outHI: 0x0
+swr :: offset: 0x2e4, out: 0x3f63daa9afd199d7, outHI: 0x0
+swr :: offset: 0x2e5, out: 0x3f63daa9afd199d7, outHI: 0x0
+swr :: offset: 0x2e6, out: 0x3f63daa9afd199d7, outHI: 0x0
+swr :: offset: 0x2e7, out: 0x3f63daa9afd199d7, outHI: 0x0
+swr :: offset: 0x2e8, out: 0xa3d484f2, outHI: 0x0
+swr :: offset: 0x2e9, out: 0xa3d484f2, outHI: 0x0
+swr :: offset: 0x2ea, out: 0xa3d484f2, outHI: 0x0
+swr :: offset: 0x2eb, out: 0xa3d484f2, outHI: 0x0
+swr :: offset: 0x2ec, out: 0xdbcb312ea3d484f2, outHI: 0x0
+swr :: offset: 0x2ed, out: 0xdbcb312ea3d484f2, outHI: 0x0
+swr :: offset: 0x2ee, out: 0xdbcb312ea3d484f2, outHI: 0x0
+swr :: offset: 0x2ef, out: 0xdbcb312ea3d484f2, outHI: 0x0
+swr :: offset: 0x2f0, out: 0xda4fe4c6, outHI: 0x0
+swr :: offset: 0x2f1, out: 0xda4fe4c6, outHI: 0x0
+swr :: offset: 0x2f2, out: 0xda4fe4c6, outHI: 0x0
+swr :: offset: 0x2f3, out: 0xda4fe4c6, outHI: 0x0
+swr :: offset: 0x2f4, out: 0x1f353faada4fe4c6, outHI: 0x0
+swr :: offset: 0x2f5, out: 0x1f353faada4fe4c6, outHI: 0x0
+swr :: offset: 0x2f6, out: 0x1f353faada4fe4c6, outHI: 0x0
+swr :: offset: 0x2f7, out: 0x1f353faada4fe4c6, outHI: 0x0
+swr :: offset: 0x2f8, out: 0x7150c260, outHI: 0x0
+swr :: offset: 0x2f9, out: 0x7150c260, outHI: 0x0
+swr :: offset: 0x2fa, out: 0x7150c260, outHI: 0x0
+swr :: offset: 0x2fb, out: 0x7150c260, outHI: 0x0
+swr :: offset: 0x2fc, out: 0x8b086ee07150c260, outHI: 0x0
+swr :: offset: 0x2fd, out: 0x8b086ee07150c260, outHI: 0x0
+swr :: offset: 0x2fe, out: 0x8b086ee07150c260, outHI: 0x0
+swr :: offset: 0x2ff, out: 0x8b086ee07150c260, outHI: 0x0
+swr :: offset: 0x300, out: 0xd9257f25, outHI: 0x0
+swr :: offset: 0x301, out: 0xd9257f25, outHI: 0x0
+swr :: offset: 0x302, out: 0xd9257f25, outHI: 0x0
+swr :: offset: 0x303, out: 0xd9257f25, outHI: 0x0
+swr :: offset: 0x304, out: 0xe54750d5d9257f25, outHI: 0x0
+swr :: offset: 0x305, out: 0xe54750d5d9257f25, outHI: 0x0
+swr :: offset: 0x306, out: 0xe54750d5d9257f25, outHI: 0x0
+swr :: offset: 0x307, out: 0xe54750d5d9257f25, outHI: 0x0
+swr :: offset: 0x308, out: 0xe9a6db5b, outHI: 0x0
+swr :: offset: 0x309, out: 0xe9a6db5b, outHI: 0x0
+swr :: offset: 0x30a, out: 0xe9a6db5b, outHI: 0x0
+swr :: offset: 0x30b, out: 0xe9a6db5b, outHI: 0x0
+swr :: offset: 0x30c, out: 0x3d69625fe9a6db5b, outHI: 0x0
+swr :: offset: 0x30d, out: 0x3d69625fe9a6db5b, outHI: 0x0
+swr :: offset: 0x30e, out: 0x3d69625fe9a6db5b, outHI: 0x0
+swr :: offset: 0x30f, out: 0x3d69625fe9a6db5b, outHI: 0x0
+swr :: offset: 0x310, out: 0x4340ac96, outHI: 0x0
+swr :: offset: 0x311, out: 0x4340ac96, outHI: 0x0
+swr :: offset: 0x312, out: 0x4340ac96, outHI: 0x0
+swr :: offset: 0x313, out: 0x4340ac96, outHI: 0x0
+swr :: offset: 0x314, out: 0x70a3e0424340ac96, outHI: 0x0
+swr :: offset: 0x315, out: 0x70a3e0424340ac96, outHI: 0x0
+swr :: offset: 0x316, out: 0x70a3e0424340ac96, outHI: 0x0
+swr :: offset: 0x317, out: 0x70a3e0424340ac96, outHI: 0x0
+swr :: offset: 0x318, out: 0x6980171e, outHI: 0x0
+swr :: offset: 0x319, out: 0x6980171e, outHI: 0x0
+swr :: offset: 0x31a, out: 0x6980171e, outHI: 0x0
+swr :: offset: 0x31b, out: 0x6980171e, outHI: 0x0
+swr :: offset: 0x31c, out: 0xc0478f036980171e, outHI: 0x0
+swr :: offset: 0x31d, out: 0xc0478f036980171e, outHI: 0x0
+swr :: offset: 0x31e, out: 0xc0478f036980171e, outHI: 0x0
+swr :: offset: 0x31f, out: 0xc0478f036980171e, outHI: 0x0
+swr :: offset: 0x320, out: 0x1cf929e3, outHI: 0x0
+swr :: offset: 0x321, out: 0x1cf929e3, outHI: 0x0
+swr :: offset: 0x322, out: 0x1cf929e3, outHI: 0x0
+swr :: offset: 0x323, out: 0x1cf929e3, outHI: 0x0
+swr :: offset: 0x324, out: 0x3ce839a51cf929e3, outHI: 0x0
+swr :: offset: 0x325, out: 0x3ce839a51cf929e3, outHI: 0x0
+swr :: offset: 0x326, out: 0x3ce839a51cf929e3, outHI: 0x0
+swr :: offset: 0x327, out: 0x3ce839a51cf929e3, outHI: 0x0
+swr :: offset: 0x328, out: 0x5eb68958, outHI: 0x0
+swr :: offset: 0x329, out: 0x5eb68958, outHI: 0x0
+swr :: offset: 0x32a, out: 0x5eb68958, outHI: 0x0
+swr :: offset: 0x32b, out: 0x5eb68958, outHI: 0x0
+swr :: offset: 0x32c, out: 0xe2fbfa895eb68958, outHI: 0x0
+swr :: offset: 0x32d, out: 0xe2fbfa895eb68958, outHI: 0x0
+swr :: offset: 0x32e, out: 0xe2fbfa895eb68958, outHI: 0x0
+swr :: offset: 0x32f, out: 0xe2fbfa895eb68958, outHI: 0x0
+swr :: offset: 0x330, out: 0x76ed25b7, outHI: 0x0
+swr :: offset: 0x331, out: 0x76ed25b7, outHI: 0x0
+swr :: offset: 0x332, out: 0x76ed25b7, outHI: 0x0
+swr :: offset: 0x333, out: 0x76ed25b7, outHI: 0x0
+swr :: offset: 0x334, out: 0xd24bb05d76ed25b7, outHI: 0x0
+swr :: offset: 0x335, out: 0xd24bb05d76ed25b7, outHI: 0x0
+swr :: offset: 0x336, out: 0xd24bb05d76ed25b7, outHI: 0x0
+swr :: offset: 0x337, out: 0xd24bb05d76ed25b7, outHI: 0x0
+swr :: offset: 0x338, out: 0x170312f1, outHI: 0x0
+swr :: offset: 0x339, out: 0x170312f1, outHI: 0x0
+swr :: offset: 0x33a, out: 0x170312f1, outHI: 0x0
+swr :: offset: 0x33b, out: 0x170312f1, outHI: 0x0
+swr :: offset: 0x33c, out: 0xeb9682c170312f1, outHI: 0x0
+swr :: offset: 0x33d, out: 0xeb9682c170312f1, outHI: 0x0
+swr :: offset: 0x33e, out: 0xeb9682c170312f1, outHI: 0x0
+swr :: offset: 0x33f, out: 0xeb9682c170312f1, outHI: 0x0
+swr :: offset: 0x340, out: 0xdd301d0d, outHI: 0x0
+swr :: offset: 0x341, out: 0xdd301d0d, outHI: 0x0
+swr :: offset: 0x342, out: 0xdd301d0d, outHI: 0x0
+swr :: offset: 0x343, out: 0xdd301d0d, outHI: 0x0
+swr :: offset: 0x344, out: 0x84785280dd301d0d, outHI: 0x0
+swr :: offset: 0x345, out: 0x84785280dd301d0d, outHI: 0x0
+swr :: offset: 0x346, out: 0x84785280dd301d0d, outHI: 0x0
+swr :: offset: 0x347, out: 0x84785280dd301d0d, outHI: 0x0
+swr :: offset: 0x348, out: 0x1f8fd6ef, outHI: 0x0
+swr :: offset: 0x349, out: 0x1f8fd6ef, outHI: 0x0
+swr :: offset: 0x34a, out: 0x1f8fd6ef, outHI: 0x0
+swr :: offset: 0x34b, out: 0x1f8fd6ef, outHI: 0x0
+swr :: offset: 0x34c, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+swr :: offset: 0x34d, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+swr :: offset: 0x34e, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+swr :: offset: 0x34f, out: 0x179c77aa1f8fd6ef, outHI: 0x0
+swr :: offset: 0x350, out: 0x2998436d, outHI: 0x0
+swr :: offset: 0x351, out: 0x2998436d, outHI: 0x0
+swr :: offset: 0x352, out: 0x2998436d, outHI: 0x0
+swr :: offset: 0x353, out: 0x2998436d, outHI: 0x0
+swr :: offset: 0x354, out: 0x26444ced2998436d, outHI: 0x0
+swr :: offset: 0x355, out: 0x26444ced2998436d, outHI: 0x0
+swr :: offset: 0x356, out: 0x26444ced2998436d, outHI: 0x0
+swr :: offset: 0x357, out: 0x26444ced2998436d, outHI: 0x0
+swr :: offset: 0x358, out: 0xd58ca708, outHI: 0x0
+swr :: offset: 0x359, out: 0xd58ca708, outHI: 0x0
+swr :: offset: 0x35a, out: 0xd58ca708, outHI: 0x0
+swr :: offset: 0x35b, out: 0xd58ca708, outHI: 0x0
+swr :: offset: 0x35c, out: 0x7175c9dd58ca708, outHI: 0x0
+swr :: offset: 0x35d, out: 0x7175c9dd58ca708, outHI: 0x0
+swr :: offset: 0x35e, out: 0x7175c9dd58ca708, outHI: 0x0
+swr :: offset: 0x35f, out: 0x7175c9dd58ca708, outHI: 0x0
+swr :: offset: 0x360, out: 0x55833287, outHI: 0x0
+swr :: offset: 0x361, out: 0x55833287, outHI: 0x0
+swr :: offset: 0x362, out: 0x55833287, outHI: 0x0
+swr :: offset: 0x363, out: 0x55833287, outHI: 0x0
+swr :: offset: 0x364, out: 0x663d061055833287, outHI: 0x0
+swr :: offset: 0x365, out: 0x663d061055833287, outHI: 0x0
+swr :: offset: 0x366, out: 0x663d061055833287, outHI: 0x0
+swr :: offset: 0x367, out: 0x663d061055833287, outHI: 0x0
+swr :: offset: 0x368, out: 0x8951d68b, outHI: 0x0
+swr :: offset: 0x369, out: 0x8951d68b, outHI: 0x0
+swr :: offset: 0x36a, out: 0x8951d68b, outHI: 0x0
+swr :: offset: 0x36b, out: 0x8951d68b, outHI: 0x0
+swr :: offset: 0x36c, out: 0xab7dd0488951d68b, outHI: 0x0
+swr :: offset: 0x36d, out: 0xab7dd0488951d68b, outHI: 0x0
+swr :: offset: 0x36e, out: 0xab7dd0488951d68b, outHI: 0x0
+swr :: offset: 0x36f, out: 0xab7dd0488951d68b, outHI: 0x0
+swr :: offset: 0x370, out: 0xe82471b, outHI: 0x0
+swr :: offset: 0x371, out: 0xe82471b, outHI: 0x0
+swr :: offset: 0x372, out: 0xe82471b, outHI: 0x0
+swr :: offset: 0x373, out: 0xe82471b, outHI: 0x0
+swr :: offset: 0x374, out: 0xf69823670e82471b, outHI: 0x0
+swr :: offset: 0x375, out: 0xf69823670e82471b, outHI: 0x0
+swr :: offset: 0x376, out: 0xf69823670e82471b, outHI: 0x0
+swr :: offset: 0x377, out: 0xf69823670e82471b, outHI: 0x0
+swr :: offset: 0x378, out: 0xd98d26b2, outHI: 0x0
+swr :: offset: 0x379, out: 0xd98d26b2, outHI: 0x0
+swr :: offset: 0x37a, out: 0xd98d26b2, outHI: 0x0
+swr :: offset: 0x37b, out: 0xd98d26b2, outHI: 0x0
+swr :: offset: 0x37c, out: 0x36886c59d98d26b2, outHI: 0x0
+swr :: offset: 0x37d, out: 0x36886c59d98d26b2, outHI: 0x0
+swr :: offset: 0x37e, out: 0x36886c59d98d26b2, outHI: 0x0
+swr :: offset: 0x37f, out: 0x36886c59d98d26b2, outHI: 0x0
+swr :: offset: 0x380, out: 0xd32be479, outHI: 0x0
+swr :: offset: 0x381, out: 0xd32be479, outHI: 0x0
+swr :: offset: 0x382, out: 0xd32be479, outHI: 0x0
+swr :: offset: 0x383, out: 0xd32be479, outHI: 0x0
+swr :: offset: 0x384, out: 0x9ca4bdbd32be479, outHI: 0x0
+swr :: offset: 0x385, out: 0x9ca4bdbd32be479, outHI: 0x0
+swr :: offset: 0x386, out: 0x9ca4bdbd32be479, outHI: 0x0
+swr :: offset: 0x387, out: 0x9ca4bdbd32be479, outHI: 0x0
+swr :: offset: 0x388, out: 0x9962e61f, outHI: 0x0
+swr :: offset: 0x389, out: 0x9962e61f, outHI: 0x0
+swr :: offset: 0x38a, out: 0x9962e61f, outHI: 0x0
+swr :: offset: 0x38b, out: 0x9962e61f, outHI: 0x0
+swr :: offset: 0x38c, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+swr :: offset: 0x38d, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+swr :: offset: 0x38e, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+swr :: offset: 0x38f, out: 0xfd5d7d1d9962e61f, outHI: 0x0
+swr :: offset: 0x390, out: 0xcad374df, outHI: 0x0
+swr :: offset: 0x391, out: 0xcad374df, outHI: 0x0
+swr :: offset: 0x392, out: 0xcad374df, outHI: 0x0
+swr :: offset: 0x393, out: 0xcad374df, outHI: 0x0
+swr :: offset: 0x394, out: 0x3f46553ecad374df, outHI: 0x0
+swr :: offset: 0x395, out: 0x3f46553ecad374df, outHI: 0x0
+swr :: offset: 0x396, out: 0x3f46553ecad374df, outHI: 0x0
+swr :: offset: 0x397, out: 0x3f46553ecad374df, outHI: 0x0
+swr :: offset: 0x398, out: 0x3eedf2a7, outHI: 0x0
+swr :: offset: 0x399, out: 0x3eedf2a7, outHI: 0x0
+swr :: offset: 0x39a, out: 0x3eedf2a7, outHI: 0x0
+swr :: offset: 0x39b, out: 0x3eedf2a7, outHI: 0x0
+swr :: offset: 0x39c, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+swr :: offset: 0x39d, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+swr :: offset: 0x39e, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+swr :: offset: 0x39f, out: 0x2e9ab97d3eedf2a7, outHI: 0x0
+swr :: offset: 0x3a0, out: 0x3c0c9f33, outHI: 0x0
+swr :: offset: 0x3a1, out: 0x3c0c9f33, outHI: 0x0
+swr :: offset: 0x3a2, out: 0x3c0c9f33, outHI: 0x0
+swr :: offset: 0x3a3, out: 0x3c0c9f33, outHI: 0x0
+swr :: offset: 0x3a4, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+swr :: offset: 0x3a5, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+swr :: offset: 0x3a6, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+swr :: offset: 0x3a7, out: 0x36a6f7fa3c0c9f33, outHI: 0x0
+swr :: offset: 0x3a8, out: 0x155ec9dc, outHI: 0x0
+swr :: offset: 0x3a9, out: 0x155ec9dc, outHI: 0x0
+swr :: offset: 0x3aa, out: 0x155ec9dc, outHI: 0x0
+swr :: offset: 0x3ab, out: 0x155ec9dc, outHI: 0x0
+swr :: offset: 0x3ac, out: 0x8bb938e3155ec9dc, outHI: 0x0
+swr :: offset: 0x3ad, out: 0x8bb938e3155ec9dc, outHI: 0x0
+swr :: offset: 0x3ae, out: 0x8bb938e3155ec9dc, outHI: 0x0
+swr :: offset: 0x3af, out: 0x8bb938e3155ec9dc, outHI: 0x0
+swr :: offset: 0x3b0, out: 0x19478206, outHI: 0x0
+swr :: offset: 0x3b1, out: 0x19478206, outHI: 0x0
+swr :: offset: 0x3b2, out: 0x19478206, outHI: 0x0
+swr :: offset: 0x3b3, out: 0x19478206, outHI: 0x0
+swr :: offset: 0x3b4, out: 0xd2df25c419478206, outHI: 0x0
+swr :: offset: 0x3b5, out: 0xd2df25c419478206, outHI: 0x0
+swr :: offset: 0x3b6, out: 0xd2df25c419478206, outHI: 0x0
+swr :: offset: 0x3b7, out: 0xd2df25c419478206, outHI: 0x0
+swr :: offset: 0x3b8, out: 0xeb321825, outHI: 0x0
+swr :: offset: 0x3b9, out: 0xeb321825, outHI: 0x0
+swr :: offset: 0x3ba, out: 0xeb321825, outHI: 0x0
+swr :: offset: 0x3bb, out: 0xeb321825, outHI: 0x0
+swr :: offset: 0x3bc, out: 0xbc65bf27eb321825, outHI: 0x0
+swr :: offset: 0x3bd, out: 0xbc65bf27eb321825, outHI: 0x0
+swr :: offset: 0x3be, out: 0xbc65bf27eb321825, outHI: 0x0
+swr :: offset: 0x3bf, out: 0xbc65bf27eb321825, outHI: 0x0
+swr :: offset: 0x3c0, out: 0x7a8bc7da, outHI: 0x0
+swr :: offset: 0x3c1, out: 0x7a8bc7da, outHI: 0x0
+swr :: offset: 0x3c2, out: 0x7a8bc7da, outHI: 0x0
+swr :: offset: 0x3c3, out: 0x7a8bc7da, outHI: 0x0
+swr :: offset: 0x3c4, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+swr :: offset: 0x3c5, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+swr :: offset: 0x3c6, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+swr :: offset: 0x3c7, out: 0xa8b08fe67a8bc7da, outHI: 0x0
+swr :: offset: 0x3c8, out: 0xf8dfcde8, outHI: 0x0
+swr :: offset: 0x3c9, out: 0xf8dfcde8, outHI: 0x0
+swr :: offset: 0x3ca, out: 0xf8dfcde8, outHI: 0x0
+swr :: offset: 0x3cb, out: 0xf8dfcde8, outHI: 0x0
+swr :: offset: 0x3cc, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+swr :: offset: 0x3cd, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+swr :: offset: 0x3ce, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+swr :: offset: 0x3cf, out: 0x852b5bcaf8dfcde8, outHI: 0x0
+swr :: offset: 0x3d0, out: 0x59a99269, outHI: 0x0
+swr :: offset: 0x3d1, out: 0x59a99269, outHI: 0x0
+swr :: offset: 0x3d2, out: 0x59a99269, outHI: 0x0
+swr :: offset: 0x3d3, out: 0x59a99269, outHI: 0x0
+swr :: offset: 0x3d4, out: 0x478909b59a99269, outHI: 0x0
+swr :: offset: 0x3d5, out: 0x478909b59a99269, outHI: 0x0
+swr :: offset: 0x3d6, out: 0x478909b59a99269, outHI: 0x0
+swr :: offset: 0x3d7, out: 0x478909b59a99269, outHI: 0x0
+swr :: offset: 0x3d8, out: 0x7857360f, outHI: 0x0
+swr :: offset: 0x3d9, out: 0x7857360f, outHI: 0x0
+swr :: offset: 0x3da, out: 0x7857360f, outHI: 0x0
+swr :: offset: 0x3db, out: 0x7857360f, outHI: 0x0
+swr :: offset: 0x3dc, out: 0xbfb31cc87857360f, outHI: 0x0
+swr :: offset: 0x3dd, out: 0xbfb31cc87857360f, outHI: 0x0
+swr :: offset: 0x3de, out: 0xbfb31cc87857360f, outHI: 0x0
+swr :: offset: 0x3df, out: 0xbfb31cc87857360f, outHI: 0x0
+swr :: offset: 0x3e0, out: 0x7f89e9a2, outHI: 0x0
+swr :: offset: 0x3e1, out: 0x7f89e9a2, outHI: 0x0
+swr :: offset: 0x3e2, out: 0x7f89e9a2, outHI: 0x0
+swr :: offset: 0x3e3, out: 0x7f89e9a2, outHI: 0x0
+swr :: offset: 0x3e4, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+swr :: offset: 0x3e5, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+swr :: offset: 0x3e6, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+swr :: offset: 0x3e7, out: 0xb665ed5e7f89e9a2, outHI: 0x0
+swr :: offset: 0x3e8, out: 0xb7a8d5e4, outHI: 0x0
+swr :: offset: 0x3e9, out: 0xb7a8d5e4, outHI: 0x0
+swr :: offset: 0x3ea, out: 0xb7a8d5e4, outHI: 0x0
+swr :: offset: 0x3eb, out: 0xb7a8d5e4, outHI: 0x0
+swr :: offset: 0x3ec, out: 0x15da9474b7a8d5e4, outHI: 0x0
+swr :: offset: 0x3ed, out: 0x15da9474b7a8d5e4, outHI: 0x0
+swr :: offset: 0x3ee, out: 0x15da9474b7a8d5e4, outHI: 0x0
+swr :: offset: 0x3ef, out: 0x15da9474b7a8d5e4, outHI: 0x0
+swr :: offset: 0x3f0, out: 0x2af90fcc, outHI: 0x0
+swr :: offset: 0x3f1, out: 0x2af90fcc, outHI: 0x0
+swr :: offset: 0x3f2, out: 0x2af90fcc, outHI: 0x0
+swr :: offset: 0x3f3, out: 0x2af90fcc, outHI: 0x0
+swr :: offset: 0x3f4, out: 0xf6b3537d2af90fcc, outHI: 0x0
+swr :: offset: 0x3f5, out: 0xf6b3537d2af90fcc, outHI: 0x0
+swr :: offset: 0x3f6, out: 0xf6b3537d2af90fcc, outHI: 0x0
+swr :: offset: 0x3f7, out: 0xf6b3537d2af90fcc, outHI: 0x0
+swr :: offset: 0x3f8, out: 0x2b961897, outHI: 0x0
+swr :: offset: 0x3f9, out: 0x2b961897, outHI: 0x0
+swr :: offset: 0x3fa, out: 0x2b961897, outHI: 0x0
+swr :: offset: 0x3fb, out: 0x2b961897, outHI: 0x0
+swr :: offset: 0x3fc, out: 0x223d7cfe2b961897, outHI: 0x0
+swr :: offset: 0x3fd, out: 0x223d7cfe2b961897, outHI: 0x0
+swr :: offset: 0x3fe, out: 0x223d7cfe2b961897, outHI: 0x0
+swr :: offset: 0x3ff, out: 0x223d7cfe2b961897, outHI: 0x0
+swr :: offset: 0x400, out: 0x33734a4b, outHI: 0x0
+swr :: offset: 0x401, out: 0x33734a4b, outHI: 0x0
+swr :: offset: 0x402, out: 0x33734a4b, outHI: 0x0
+swr :: offset: 0x403, out: 0x33734a4b, outHI: 0x0
+swr :: offset: 0x404, out: 0x420b34f533734a4b, outHI: 0x0
+swr :: offset: 0x405, out: 0x420b34f533734a4b, outHI: 0x0
+swr :: offset: 0x406, out: 0x420b34f533734a4b, outHI: 0x0
+swr :: offset: 0x407, out: 0x420b34f533734a4b, outHI: 0x0
+swr :: offset: 0x408, out: 0xdd46b33c, outHI: 0x0
+swr :: offset: 0x409, out: 0xdd46b33c, outHI: 0x0
+swr :: offset: 0x40a, out: 0xdd46b33c, outHI: 0x0
+swr :: offset: 0x40b, out: 0xdd46b33c, outHI: 0x0
+swr :: offset: 0x40c, out: 0x897c8c8ddd46b33c, outHI: 0x0
+swr :: offset: 0x40d, out: 0x897c8c8ddd46b33c, outHI: 0x0
+swr :: offset: 0x40e, out: 0x897c8c8ddd46b33c, outHI: 0x0
+swr :: offset: 0x40f, out: 0x897c8c8ddd46b33c, outHI: 0x0
+swr :: offset: 0x410, out: 0xe392ccd9, outHI: 0x0
+swr :: offset: 0x411, out: 0xe392ccd9, outHI: 0x0
+swr :: offset: 0x412, out: 0xe392ccd9, outHI: 0x0
+swr :: offset: 0x413, out: 0xe392ccd9, outHI: 0x0
+swr :: offset: 0x414, out: 0x7a387445e392ccd9, outHI: 0x0
+swr :: offset: 0x415, out: 0x7a387445e392ccd9, outHI: 0x0
+swr :: offset: 0x416, out: 0x7a387445e392ccd9, outHI: 0x0
+swr :: offset: 0x417, out: 0x7a387445e392ccd9, outHI: 0x0
+swr :: offset: 0x418, out: 0xd80000c9, outHI: 0x0
+swr :: offset: 0x419, out: 0xd80000c9, outHI: 0x0
+swr :: offset: 0x41a, out: 0xd80000c9, outHI: 0x0
+swr :: offset: 0x41b, out: 0xd80000c9, outHI: 0x0
+swr :: offset: 0x41c, out: 0x512f29b1d80000c9, outHI: 0x0
+swr :: offset: 0x41d, out: 0x512f29b1d80000c9, outHI: 0x0
+swr :: offset: 0x41e, out: 0x512f29b1d80000c9, outHI: 0x0
+swr :: offset: 0x41f, out: 0x512f29b1d80000c9, outHI: 0x0
+swr :: offset: 0x420, out: 0x3dad020a, outHI: 0x0
+swr :: offset: 0x421, out: 0x3dad020a, outHI: 0x0
+swr :: offset: 0x422, out: 0x3dad020a, outHI: 0x0
+swr :: offset: 0x423, out: 0x3dad020a, outHI: 0x0
+swr :: offset: 0x424, out: 0xeaded5c53dad020a, outHI: 0x0
+swr :: offset: 0x425, out: 0xeaded5c53dad020a, outHI: 0x0
+swr :: offset: 0x426, out: 0xeaded5c53dad020a, outHI: 0x0
+swr :: offset: 0x427, out: 0xeaded5c53dad020a, outHI: 0x0
+swr :: offset: 0x428, out: 0x31eea35b, outHI: 0x0
+swr :: offset: 0x429, out: 0x31eea35b, outHI: 0x0
+swr :: offset: 0x42a, out: 0x31eea35b, outHI: 0x0
+swr :: offset: 0x42b, out: 0x31eea35b, outHI: 0x0
+swr :: offset: 0x42c, out: 0x8a6229d731eea35b, outHI: 0x0
+swr :: offset: 0x42d, out: 0x8a6229d731eea35b, outHI: 0x0
+swr :: offset: 0x42e, out: 0x8a6229d731eea35b, outHI: 0x0
+swr :: offset: 0x42f, out: 0x8a6229d731eea35b, outHI: 0x0
+swr :: offset: 0x430, out: 0x48985649, outHI: 0x0
+swr :: offset: 0x431, out: 0x48985649, outHI: 0x0
+swr :: offset: 0x432, out: 0x48985649, outHI: 0x0
+swr :: offset: 0x433, out: 0x48985649, outHI: 0x0
+swr :: offset: 0x434, out: 0x2c3c3f9e48985649, outHI: 0x0
+swr :: offset: 0x435, out: 0x2c3c3f9e48985649, outHI: 0x0
+swr :: offset: 0x436, out: 0x2c3c3f9e48985649, outHI: 0x0
+swr :: offset: 0x437, out: 0x2c3c3f9e48985649, outHI: 0x0
+swr :: offset: 0x438, out: 0xdc9c0b77, outHI: 0x0
+swr :: offset: 0x439, out: 0xdc9c0b77, outHI: 0x0
+swr :: offset: 0x43a, out: 0xdc9c0b77, outHI: 0x0
+swr :: offset: 0x43b, out: 0xdc9c0b77, outHI: 0x0
+swr :: offset: 0x43c, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+swr :: offset: 0x43d, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+swr :: offset: 0x43e, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+swr :: offset: 0x43f, out: 0x7ff61e78dc9c0b77, outHI: 0x0
+swr :: offset: 0x440, out: 0x1d5e68ec, outHI: 0x0
+swr :: offset: 0x441, out: 0x1d5e68ec, outHI: 0x0
+swr :: offset: 0x442, out: 0x1d5e68ec, outHI: 0x0
+swr :: offset: 0x443, out: 0x1d5e68ec, outHI: 0x0
+swr :: offset: 0x444, out: 0x2299b0e01d5e68ec, outHI: 0x0
+swr :: offset: 0x445, out: 0x2299b0e01d5e68ec, outHI: 0x0
+swr :: offset: 0x446, out: 0x2299b0e01d5e68ec, outHI: 0x0
+swr :: offset: 0x447, out: 0x2299b0e01d5e68ec, outHI: 0x0
+swr :: offset: 0x448, out: 0x3d0c6e25, outHI: 0x0
+swr :: offset: 0x449, out: 0x3d0c6e25, outHI: 0x0
+swr :: offset: 0x44a, out: 0x3d0c6e25, outHI: 0x0
+swr :: offset: 0x44b, out: 0x3d0c6e25, outHI: 0x0
+swr :: offset: 0x44c, out: 0x7c3b04673d0c6e25, outHI: 0x0
+swr :: offset: 0x44d, out: 0x7c3b04673d0c6e25, outHI: 0x0
+swr :: offset: 0x44e, out: 0x7c3b04673d0c6e25, outHI: 0x0
+swr :: offset: 0x44f, out: 0x7c3b04673d0c6e25, outHI: 0x0
+swr :: offset: 0x450, out: 0xe7fb6587, outHI: 0x0
+swr :: offset: 0x451, out: 0xe7fb6587, outHI: 0x0
+swr :: offset: 0x452, out: 0xe7fb6587, outHI: 0x0
+swr :: offset: 0x453, out: 0xe7fb6587, outHI: 0x0
+swr :: offset: 0x454, out: 0x164e17c1e7fb6587, outHI: 0x0
+swr :: offset: 0x455, out: 0x164e17c1e7fb6587, outHI: 0x0
+swr :: offset: 0x456, out: 0x164e17c1e7fb6587, outHI: 0x0
+swr :: offset: 0x457, out: 0x164e17c1e7fb6587, outHI: 0x0
+swr :: offset: 0x458, out: 0x56d4950b, outHI: 0x0
+swr :: offset: 0x459, out: 0x56d4950b, outHI: 0x0
+swr :: offset: 0x45a, out: 0x56d4950b, outHI: 0x0
+swr :: offset: 0x45b, out: 0x56d4950b, outHI: 0x0
+swr :: offset: 0x45c, out: 0xfa4ca28b56d4950b, outHI: 0x0
+swr :: offset: 0x45d, out: 0xfa4ca28b56d4950b, outHI: 0x0
+swr :: offset: 0x45e, out: 0xfa4ca28b56d4950b, outHI: 0x0
+swr :: offset: 0x45f, out: 0xfa4ca28b56d4950b, outHI: 0x0
+swr :: offset: 0x460, out: 0xbe7fa08a, outHI: 0x0
+swr :: offset: 0x461, out: 0xbe7fa08a, outHI: 0x0
+swr :: offset: 0x462, out: 0xbe7fa08a, outHI: 0x0
+swr :: offset: 0x463, out: 0xbe7fa08a, outHI: 0x0
+swr :: offset: 0x464, out: 0xe5e9a314be7fa08a, outHI: 0x0
+swr :: offset: 0x465, out: 0xe5e9a314be7fa08a, outHI: 0x0
+swr :: offset: 0x466, out: 0xe5e9a314be7fa08a, outHI: 0x0
+swr :: offset: 0x467, out: 0xe5e9a314be7fa08a, outHI: 0x0
+swr :: offset: 0x468, out: 0x159649c5, outHI: 0x0
+swr :: offset: 0x469, out: 0x159649c5, outHI: 0x0
+swr :: offset: 0x46a, out: 0x159649c5, outHI: 0x0
+swr :: offset: 0x46b, out: 0x159649c5, outHI: 0x0
+swr :: offset: 0x46c, out: 0xf8be8164159649c5, outHI: 0x0
+swr :: offset: 0x46d, out: 0xf8be8164159649c5, outHI: 0x0
+swr :: offset: 0x46e, out: 0xf8be8164159649c5, outHI: 0x0
+swr :: offset: 0x46f, out: 0xf8be8164159649c5, outHI: 0x0
+swr :: offset: 0x470, out: 0x84e69b17, outHI: 0x0
+swr :: offset: 0x471, out: 0x84e69b17, outHI: 0x0
+swr :: offset: 0x472, out: 0x84e69b17, outHI: 0x0
+swr :: offset: 0x473, out: 0x84e69b17, outHI: 0x0
+swr :: offset: 0x474, out: 0x7ca3259784e69b17, outHI: 0x0
+swr :: offset: 0x475, out: 0x7ca3259784e69b17, outHI: 0x0
+swr :: offset: 0x476, out: 0x7ca3259784e69b17, outHI: 0x0
+swr :: offset: 0x477, out: 0x7ca3259784e69b17, outHI: 0x0
+swr :: offset: 0x478, out: 0xa1f24f5c, outHI: 0x0
+swr :: offset: 0x479, out: 0xa1f24f5c, outHI: 0x0
+swr :: offset: 0x47a, out: 0xa1f24f5c, outHI: 0x0
+swr :: offset: 0x47b, out: 0xa1f24f5c, outHI: 0x0
+swr :: offset: 0x47c, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+swr :: offset: 0x47d, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+swr :: offset: 0x47e, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+swr :: offset: 0x47f, out: 0xfc8d543ca1f24f5c, outHI: 0x0
+swr :: offset: 0x480, out: 0xe3459e36, outHI: 0x0
+swr :: offset: 0x481, out: 0xe3459e36, outHI: 0x0
+swr :: offset: 0x482, out: 0xe3459e36, outHI: 0x0
+swr :: offset: 0x483, out: 0xe3459e36, outHI: 0x0
+swr :: offset: 0x484, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+swr :: offset: 0x485, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+swr :: offset: 0x486, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+swr :: offset: 0x487, out: 0x4aeb6ca0e3459e36, outHI: 0x0
+swr :: offset: 0x488, out: 0x187980fa, outHI: 0x0
+swr :: offset: 0x489, out: 0x187980fa, outHI: 0x0
+swr :: offset: 0x48a, out: 0x187980fa, outHI: 0x0
+swr :: offset: 0x48b, out: 0x187980fa, outHI: 0x0
+swr :: offset: 0x48c, out: 0xc532e18e187980fa, outHI: 0x0
+swr :: offset: 0x48d, out: 0xc532e18e187980fa, outHI: 0x0
+swr :: offset: 0x48e, out: 0xc532e18e187980fa, outHI: 0x0
+swr :: offset: 0x48f, out: 0xc532e18e187980fa, outHI: 0x0
+swr :: offset: 0x490, out: 0x4f287d1c, outHI: 0x0
+swr :: offset: 0x491, out: 0x4f287d1c, outHI: 0x0
+swr :: offset: 0x492, out: 0x4f287d1c, outHI: 0x0
+swr :: offset: 0x493, out: 0x4f287d1c, outHI: 0x0
+swr :: offset: 0x494, out: 0xb3fdec294f287d1c, outHI: 0x0
+swr :: offset: 0x495, out: 0xb3fdec294f287d1c, outHI: 0x0
+swr :: offset: 0x496, out: 0xb3fdec294f287d1c, outHI: 0x0
+swr :: offset: 0x497, out: 0xb3fdec294f287d1c, outHI: 0x0
+swr :: offset: 0x498, out: 0x49732b90, outHI: 0x0
+swr :: offset: 0x499, out: 0x49732b90, outHI: 0x0
+swr :: offset: 0x49a, out: 0x49732b90, outHI: 0x0
+swr :: offset: 0x49b, out: 0x49732b90, outHI: 0x0
+swr :: offset: 0x49c, out: 0xb620660a49732b90, outHI: 0x0
+swr :: offset: 0x49d, out: 0xb620660a49732b90, outHI: 0x0
+swr :: offset: 0x49e, out: 0xb620660a49732b90, outHI: 0x0
+swr :: offset: 0x49f, out: 0xb620660a49732b90, outHI: 0x0
+swr :: offset: 0x4a0, out: 0x6cfde991, outHI: 0x0
+swr :: offset: 0x4a1, out: 0x6cfde991, outHI: 0x0
+swr :: offset: 0x4a2, out: 0x6cfde991, outHI: 0x0
+swr :: offset: 0x4a3, out: 0x6cfde991, outHI: 0x0
+swr :: offset: 0x4a4, out: 0x993138f16cfde991, outHI: 0x0
+swr :: offset: 0x4a5, out: 0x993138f16cfde991, outHI: 0x0
+swr :: offset: 0x4a6, out: 0x993138f16cfde991, outHI: 0x0
+swr :: offset: 0x4a7, out: 0x993138f16cfde991, outHI: 0x0
+swr :: offset: 0x4a8, out: 0x7d5407b9, outHI: 0x0
+swr :: offset: 0x4a9, out: 0x7d5407b9, outHI: 0x0
+swr :: offset: 0x4aa, out: 0x7d5407b9, outHI: 0x0
+swr :: offset: 0x4ab, out: 0x7d5407b9, outHI: 0x0
+swr :: offset: 0x4ac, out: 0xde02d1337d5407b9, outHI: 0x0
+swr :: offset: 0x4ad, out: 0xde02d1337d5407b9, outHI: 0x0
+swr :: offset: 0x4ae, out: 0xde02d1337d5407b9, outHI: 0x0
+swr :: offset: 0x4af, out: 0xde02d1337d5407b9, outHI: 0x0
+swr :: offset: 0x4b0, out: 0xe1dab15a, outHI: 0x0
+swr :: offset: 0x4b1, out: 0xe1dab15a, outHI: 0x0
+swr :: offset: 0x4b2, out: 0xe1dab15a, outHI: 0x0
+swr :: offset: 0x4b3, out: 0xe1dab15a, outHI: 0x0
+swr :: offset: 0x4b4, out: 0x13a390e1e1dab15a, outHI: 0x0
+swr :: offset: 0x4b5, out: 0x13a390e1e1dab15a, outHI: 0x0
+swr :: offset: 0x4b6, out: 0x13a390e1e1dab15a, outHI: 0x0
+swr :: offset: 0x4b7, out: 0x13a390e1e1dab15a, outHI: 0x0
+swr :: offset: 0x4b8, out: 0x828716c8, outHI: 0x0
+swr :: offset: 0x4b9, out: 0x828716c8, outHI: 0x0
+swr :: offset: 0x4ba, out: 0x828716c8, outHI: 0x0
+swr :: offset: 0x4bb, out: 0x828716c8, outHI: 0x0
+swr :: offset: 0x4bc, out: 0x743491a6828716c8, outHI: 0x0
+swr :: offset: 0x4bd, out: 0x743491a6828716c8, outHI: 0x0
+swr :: offset: 0x4be, out: 0x743491a6828716c8, outHI: 0x0
+swr :: offset: 0x4bf, out: 0x743491a6828716c8, outHI: 0x0
+swr :: offset: 0x4c0, out: 0xede292f2, outHI: 0x0
+swr :: offset: 0x4c1, out: 0xede292f2, outHI: 0x0
+swr :: offset: 0x4c2, out: 0xede292f2, outHI: 0x0
+swr :: offset: 0x4c3, out: 0xede292f2, outHI: 0x0
+swr :: offset: 0x4c4, out: 0x8cff404aede292f2, outHI: 0x0
+swr :: offset: 0x4c5, out: 0x8cff404aede292f2, outHI: 0x0
+swr :: offset: 0x4c6, out: 0x8cff404aede292f2, outHI: 0x0
+swr :: offset: 0x4c7, out: 0x8cff404aede292f2, outHI: 0x0
+swr :: offset: 0x4c8, out: 0x1f837636, outHI: 0x0
+swr :: offset: 0x4c9, out: 0x1f837636, outHI: 0x0
+swr :: offset: 0x4ca, out: 0x1f837636, outHI: 0x0
+swr :: offset: 0x4cb, out: 0x1f837636, outHI: 0x0
+swr :: offset: 0x4cc, out: 0xb9cec0db1f837636, outHI: 0x0
+swr :: offset: 0x4cd, out: 0xb9cec0db1f837636, outHI: 0x0
+swr :: offset: 0x4ce, out: 0xb9cec0db1f837636, outHI: 0x0
+swr :: offset: 0x4cf, out: 0xb9cec0db1f837636, outHI: 0x0
+swr :: offset: 0x4d0, out: 0x509771c, outHI: 0x0
+swr :: offset: 0x4d1, out: 0x509771c, outHI: 0x0
+swr :: offset: 0x4d2, out: 0x509771c, outHI: 0x0
+swr :: offset: 0x4d3, out: 0x509771c, outHI: 0x0
+swr :: offset: 0x4d4, out: 0x2eaa5aa70509771c, outHI: 0x0
+swr :: offset: 0x4d5, out: 0x2eaa5aa70509771c, outHI: 0x0
+swr :: offset: 0x4d6, out: 0x2eaa5aa70509771c, outHI: 0x0
+swr :: offset: 0x4d7, out: 0x2eaa5aa70509771c, outHI: 0x0
+swr :: offset: 0x4d8, out: 0x1875241b, outHI: 0x0
+swr :: offset: 0x4d9, out: 0x1875241b, outHI: 0x0
+swr :: offset: 0x4da, out: 0x1875241b, outHI: 0x0
+swr :: offset: 0x4db, out: 0x1875241b, outHI: 0x0
+swr :: offset: 0x4dc, out: 0xd327538e1875241b, outHI: 0x0
+swr :: offset: 0x4dd, out: 0xd327538e1875241b, outHI: 0x0
+swr :: offset: 0x4de, out: 0xd327538e1875241b, outHI: 0x0
+swr :: offset: 0x4df, out: 0xd327538e1875241b, outHI: 0x0
+swr :: offset: 0x4e0, out: 0x8b739b6b, outHI: 0x0
+swr :: offset: 0x4e1, out: 0x8b739b6b, outHI: 0x0
+swr :: offset: 0x4e2, out: 0x8b739b6b, outHI: 0x0
+swr :: offset: 0x4e3, out: 0x8b739b6b, outHI: 0x0
+swr :: offset: 0x4e4, out: 0x42e9f8548b739b6b, outHI: 0x0
+swr :: offset: 0x4e5, out: 0x42e9f8548b739b6b, outHI: 0x0
+swr :: offset: 0x4e6, out: 0x42e9f8548b739b6b, outHI: 0x0
+swr :: offset: 0x4e7, out: 0x42e9f8548b739b6b, outHI: 0x0
+swr :: offset: 0x4e8, out: 0xeccbba1a, outHI: 0x0
+swr :: offset: 0x4e9, out: 0xeccbba1a, outHI: 0x0
+swr :: offset: 0x4ea, out: 0xeccbba1a, outHI: 0x0
+swr :: offset: 0x4eb, out: 0xeccbba1a, outHI: 0x0
+swr :: offset: 0x4ec, out: 0x78e4e50ceccbba1a, outHI: 0x0
+swr :: offset: 0x4ed, out: 0x78e4e50ceccbba1a, outHI: 0x0
+swr :: offset: 0x4ee, out: 0x78e4e50ceccbba1a, outHI: 0x0
+swr :: offset: 0x4ef, out: 0x78e4e50ceccbba1a, outHI: 0x0
+swr :: offset: 0x4f0, out: 0xcd9d27cb, outHI: 0x0
+swr :: offset: 0x4f1, out: 0xcd9d27cb, outHI: 0x0
+swr :: offset: 0x4f2, out: 0xcd9d27cb, outHI: 0x0
+swr :: offset: 0x4f3, out: 0xcd9d27cb, outHI: 0x0
+swr :: offset: 0x4f4, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+swr :: offset: 0x4f5, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+swr :: offset: 0x4f6, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+swr :: offset: 0x4f7, out: 0xf6b6fa3fcd9d27cb, outHI: 0x0
+swr :: offset: 0x4f8, out: 0xae3e9423, outHI: 0x0
+swr :: offset: 0x4f9, out: 0xae3e9423, outHI: 0x0
+swr :: offset: 0x4fa, out: 0xae3e9423, outHI: 0x0
+swr :: offset: 0x4fb, out: 0xae3e9423, outHI: 0x0
+swr :: offset: 0x4fc, out: 0x73916483ae3e9423, outHI: 0x0
+swr :: offset: 0x4fd, out: 0x73916483ae3e9423, outHI: 0x0
+swr :: offset: 0x4fe, out: 0x73916483ae3e9423, outHI: 0x0
+swr :: offset: 0x4ff, out: 0x73916483ae3e9423, outHI: 0x0
+swr :: offset: 0x500, out: 0xe128561, outHI: 0x0
+swr :: offset: 0x501, out: 0xe128561, outHI: 0x0
+swr :: offset: 0x502, out: 0xe128561, outHI: 0x0
+swr :: offset: 0x503, out: 0xe128561, outHI: 0x0
+swr :: offset: 0x504, out: 0x276af70a0e128561, outHI: 0x0
+swr :: offset: 0x505, out: 0x276af70a0e128561, outHI: 0x0
+swr :: offset: 0x506, out: 0x276af70a0e128561, outHI: 0x0
+swr :: offset: 0x507, out: 0x276af70a0e128561, outHI: 0x0
+swr :: offset: 0x508, out: 0xb5e74b6e, outHI: 0x0
+swr :: offset: 0x509, out: 0xb5e74b6e, outHI: 0x0
+swr :: offset: 0x50a, out: 0xb5e74b6e, outHI: 0x0
+swr :: offset: 0x50b, out: 0xb5e74b6e, outHI: 0x0
+swr :: offset: 0x50c, out: 0x3045bf6b5e74b6e, outHI: 0x0
+swr :: offset: 0x50d, out: 0x3045bf6b5e74b6e, outHI: 0x0
+swr :: offset: 0x50e, out: 0x3045bf6b5e74b6e, outHI: 0x0
+swr :: offset: 0x50f, out: 0x3045bf6b5e74b6e, outHI: 0x0
+swr :: offset: 0x510, out: 0x8accfa6, outHI: 0x0
+swr :: offset: 0x511, out: 0x8accfa6, outHI: 0x0
+swr :: offset: 0x512, out: 0x8accfa6, outHI: 0x0
+swr :: offset: 0x513, out: 0x8accfa6, outHI: 0x0
+swr :: offset: 0x514, out: 0x20223f1308accfa6, outHI: 0x0
+swr :: offset: 0x515, out: 0x20223f1308accfa6, outHI: 0x0
+swr :: offset: 0x516, out: 0x20223f1308accfa6, outHI: 0x0
+swr :: offset: 0x517, out: 0x20223f1308accfa6, outHI: 0x0
+swr :: offset: 0x518, out: 0x3976b5f5, outHI: 0x0
+swr :: offset: 0x519, out: 0x3976b5f5, outHI: 0x0
+swr :: offset: 0x51a, out: 0x3976b5f5, outHI: 0x0
+swr :: offset: 0x51b, out: 0x3976b5f5, outHI: 0x0
+swr :: offset: 0x51c, out: 0xf83c55743976b5f5, outHI: 0x0
+swr :: offset: 0x51d, out: 0xf83c55743976b5f5, outHI: 0x0
+swr :: offset: 0x51e, out: 0xf83c55743976b5f5, outHI: 0x0
+swr :: offset: 0x51f, out: 0xf83c55743976b5f5, outHI: 0x0
+swr :: offset: 0x520, out: 0x46923c3d, outHI: 0x0
+swr :: offset: 0x521, out: 0x46923c3d, outHI: 0x0
+swr :: offset: 0x522, out: 0x46923c3d, outHI: 0x0
+swr :: offset: 0x523, out: 0x46923c3d, outHI: 0x0
+swr :: offset: 0x524, out: 0x1f9720f946923c3d, outHI: 0x0
+swr :: offset: 0x525, out: 0x1f9720f946923c3d, outHI: 0x0
+swr :: offset: 0x526, out: 0x1f9720f946923c3d, outHI: 0x0
+swr :: offset: 0x527, out: 0x1f9720f946923c3d, outHI: 0x0
+swr :: offset: 0x528, out: 0x6d2448dd, outHI: 0x0
+swr :: offset: 0x529, out: 0x6d2448dd, outHI: 0x0
+swr :: offset: 0x52a, out: 0x6d2448dd, outHI: 0x0
+swr :: offset: 0x52b, out: 0x6d2448dd, outHI: 0x0
+swr :: offset: 0x52c, out: 0x620d28506d2448dd, outHI: 0x0
+swr :: offset: 0x52d, out: 0x620d28506d2448dd, outHI: 0x0
+swr :: offset: 0x52e, out: 0x620d28506d2448dd, outHI: 0x0
+swr :: offset: 0x52f, out: 0x620d28506d2448dd, outHI: 0x0
+swr :: offset: 0x530, out: 0x9ff4a732, outHI: 0x0
+swr :: offset: 0x531, out: 0x9ff4a732, outHI: 0x0
+swr :: offset: 0x532, out: 0x9ff4a732, outHI: 0x0
+swr :: offset: 0x533, out: 0x9ff4a732, outHI: 0x0
+swr :: offset: 0x534, out: 0x60a521e99ff4a732, outHI: 0x0
+swr :: offset: 0x535, out: 0x60a521e99ff4a732, outHI: 0x0
+swr :: offset: 0x536, out: 0x60a521e99ff4a732, outHI: 0x0
+swr :: offset: 0x537, out: 0x60a521e99ff4a732, outHI: 0x0
+swr :: offset: 0x538, out: 0x5c680f0b, outHI: 0x0
+swr :: offset: 0x539, out: 0x5c680f0b, outHI: 0x0
+swr :: offset: 0x53a, out: 0x5c680f0b, outHI: 0x0
+swr :: offset: 0x53b, out: 0x5c680f0b, outHI: 0x0
+swr :: offset: 0x53c, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+swr :: offset: 0x53d, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+swr :: offset: 0x53e, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+swr :: offset: 0x53f, out: 0x5a08f3ab5c680f0b, outHI: 0x0
+swr :: offset: 0x540, out: 0x800f3d26, outHI: 0x0
+swr :: offset: 0x541, out: 0x800f3d26, outHI: 0x0
+swr :: offset: 0x542, out: 0x800f3d26, outHI: 0x0
+swr :: offset: 0x543, out: 0x800f3d26, outHI: 0x0
+swr :: offset: 0x544, out: 0xc7a59be7800f3d26, outHI: 0x0
+swr :: offset: 0x545, out: 0xc7a59be7800f3d26, outHI: 0x0
+swr :: offset: 0x546, out: 0xc7a59be7800f3d26, outHI: 0x0
+swr :: offset: 0x547, out: 0xc7a59be7800f3d26, outHI: 0x0
+swr :: offset: 0x548, out: 0x82ca1b41, outHI: 0x0
+swr :: offset: 0x549, out: 0x82ca1b41, outHI: 0x0
+swr :: offset: 0x54a, out: 0x82ca1b41, outHI: 0x0
+swr :: offset: 0x54b, out: 0x82ca1b41, outHI: 0x0
+swr :: offset: 0x54c, out: 0x1aecdf2982ca1b41, outHI: 0x0
+swr :: offset: 0x54d, out: 0x1aecdf2982ca1b41, outHI: 0x0
+swr :: offset: 0x54e, out: 0x1aecdf2982ca1b41, outHI: 0x0
+swr :: offset: 0x54f, out: 0x1aecdf2982ca1b41, outHI: 0x0
+swr :: offset: 0x550, out: 0x60d19dcd, outHI: 0x0
+swr :: offset: 0x551, out: 0x60d19dcd, outHI: 0x0
+swr :: offset: 0x552, out: 0x60d19dcd, outHI: 0x0
+swr :: offset: 0x553, out: 0x60d19dcd, outHI: 0x0
+swr :: offset: 0x554, out: 0x2b8613a260d19dcd, outHI: 0x0
+swr :: offset: 0x555, out: 0x2b8613a260d19dcd, outHI: 0x0
+swr :: offset: 0x556, out: 0x2b8613a260d19dcd, outHI: 0x0
+swr :: offset: 0x557, out: 0x2b8613a260d19dcd, outHI: 0x0
+swr :: offset: 0x558, out: 0xe8bbe7f, outHI: 0x0
+swr :: offset: 0x559, out: 0xe8bbe7f, outHI: 0x0
+swr :: offset: 0x55a, out: 0xe8bbe7f, outHI: 0x0
+swr :: offset: 0x55b, out: 0xe8bbe7f, outHI: 0x0
+swr :: offset: 0x55c, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+swr :: offset: 0x55d, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+swr :: offset: 0x55e, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+swr :: offset: 0x55f, out: 0x2518ac8b0e8bbe7f, outHI: 0x0
+swr :: offset: 0x560, out: 0x2fcf486b, outHI: 0x0
+swr :: offset: 0x561, out: 0x2fcf486b, outHI: 0x0
+swr :: offset: 0x562, out: 0x2fcf486b, outHI: 0x0
+swr :: offset: 0x563, out: 0x2fcf486b, outHI: 0x0
+swr :: offset: 0x564, out: 0x743e568d2fcf486b, outHI: 0x0
+swr :: offset: 0x565, out: 0x743e568d2fcf486b, outHI: 0x0
+swr :: offset: 0x566, out: 0x743e568d2fcf486b, outHI: 0x0
+swr :: offset: 0x567, out: 0x743e568d2fcf486b, outHI: 0x0
+swr :: offset: 0x568, out: 0x34c31728, outHI: 0x0
+swr :: offset: 0x569, out: 0x34c31728, outHI: 0x0
+swr :: offset: 0x56a, out: 0x34c31728, outHI: 0x0
+swr :: offset: 0x56b, out: 0x34c31728, outHI: 0x0
+swr :: offset: 0x56c, out: 0x126f646f34c31728, outHI: 0x0
+swr :: offset: 0x56d, out: 0x126f646f34c31728, outHI: 0x0
+swr :: offset: 0x56e, out: 0x126f646f34c31728, outHI: 0x0
+swr :: offset: 0x56f, out: 0x126f646f34c31728, outHI: 0x0
+swr :: offset: 0x570, out: 0x56fc4d12, outHI: 0x0
+swr :: offset: 0x571, out: 0x56fc4d12, outHI: 0x0
+swr :: offset: 0x572, out: 0x56fc4d12, outHI: 0x0
+swr :: offset: 0x573, out: 0x56fc4d12, outHI: 0x0
+swr :: offset: 0x574, out: 0xaab0196156fc4d12, outHI: 0x0
+swr :: offset: 0x575, out: 0xaab0196156fc4d12, outHI: 0x0
+swr :: offset: 0x576, out: 0xaab0196156fc4d12, outHI: 0x0
+swr :: offset: 0x577, out: 0xaab0196156fc4d12, outHI: 0x0
+swr :: offset: 0x578, out: 0x8595d342, outHI: 0x0
+swr :: offset: 0x579, out: 0x8595d342, outHI: 0x0
+swr :: offset: 0x57a, out: 0x8595d342, outHI: 0x0
+swr :: offset: 0x57b, out: 0x8595d342, outHI: 0x0
+swr :: offset: 0x57c, out: 0x7535cd338595d342, outHI: 0x0
+swr :: offset: 0x57d, out: 0x7535cd338595d342, outHI: 0x0
+swr :: offset: 0x57e, out: 0x7535cd338595d342, outHI: 0x0
+swr :: offset: 0x57f, out: 0x7535cd338595d342, outHI: 0x0
+swr :: offset: 0x580, out: 0x422346ec, outHI: 0x0
+swr :: offset: 0x581, out: 0x422346ec, outHI: 0x0
+swr :: offset: 0x582, out: 0x422346ec, outHI: 0x0
+swr :: offset: 0x583, out: 0x422346ec, outHI: 0x0
+swr :: offset: 0x584, out: 0xdfb254da422346ec, outHI: 0x0
+swr :: offset: 0x585, out: 0xdfb254da422346ec, outHI: 0x0
+swr :: offset: 0x586, out: 0xdfb254da422346ec, outHI: 0x0
+swr :: offset: 0x587, out: 0xdfb254da422346ec, outHI: 0x0
+swr :: offset: 0x588, out: 0x81ab2a, outHI: 0x0
+swr :: offset: 0x589, out: 0x81ab2a, outHI: 0x0
+swr :: offset: 0x58a, out: 0x81ab2a, outHI: 0x0
+swr :: offset: 0x58b, out: 0x81ab2a, outHI: 0x0
+swr :: offset: 0x58c, out: 0xa86726c90081ab2a, outHI: 0x0
+swr :: offset: 0x58d, out: 0xa86726c90081ab2a, outHI: 0x0
+swr :: offset: 0x58e, out: 0xa86726c90081ab2a, outHI: 0x0
+swr :: offset: 0x58f, out: 0xa86726c90081ab2a, outHI: 0x0
+swr :: offset: 0x590, out: 0x679d7438, outHI: 0x0
+swr :: offset: 0x591, out: 0x679d7438, outHI: 0x0
+swr :: offset: 0x592, out: 0x679d7438, outHI: 0x0
+swr :: offset: 0x593, out: 0x679d7438, outHI: 0x0
+swr :: offset: 0x594, out: 0x9bfeffa1679d7438, outHI: 0x0
+swr :: offset: 0x595, out: 0x9bfeffa1679d7438, outHI: 0x0
+swr :: offset: 0x596, out: 0x9bfeffa1679d7438, outHI: 0x0
+swr :: offset: 0x597, out: 0x9bfeffa1679d7438, outHI: 0x0
+swr :: offset: 0x598, out: 0xb7dee244, outHI: 0x0
+swr :: offset: 0x599, out: 0xb7dee244, outHI: 0x0
+swr :: offset: 0x59a, out: 0xb7dee244, outHI: 0x0
+swr :: offset: 0x59b, out: 0xb7dee244, outHI: 0x0
+swr :: offset: 0x59c, out: 0xc7699826b7dee244, outHI: 0x0
+swr :: offset: 0x59d, out: 0xc7699826b7dee244, outHI: 0x0
+swr :: offset: 0x59e, out: 0xc7699826b7dee244, outHI: 0x0
+swr :: offset: 0x59f, out: 0xc7699826b7dee244, outHI: 0x0
+swr :: offset: 0x5a0, out: 0xfba6704a, outHI: 0x0
+swr :: offset: 0x5a1, out: 0xfba6704a, outHI: 0x0
+swr :: offset: 0x5a2, out: 0xfba6704a, outHI: 0x0
+swr :: offset: 0x5a3, out: 0xfba6704a, outHI: 0x0
+swr :: offset: 0x5a4, out: 0x3c07af97fba6704a, outHI: 0x0
+swr :: offset: 0x5a5, out: 0x3c07af97fba6704a, outHI: 0x0
+swr :: offset: 0x5a6, out: 0x3c07af97fba6704a, outHI: 0x0
+swr :: offset: 0x5a7, out: 0x3c07af97fba6704a, outHI: 0x0
+swr :: offset: 0x5a8, out: 0x4c58bfe, outHI: 0x0
+swr :: offset: 0x5a9, out: 0x4c58bfe, outHI: 0x0
+swr :: offset: 0x5aa, out: 0x4c58bfe, outHI: 0x0
+swr :: offset: 0x5ab, out: 0x4c58bfe, outHI: 0x0
+swr :: offset: 0x5ac, out: 0x521364dc04c58bfe, outHI: 0x0
+swr :: offset: 0x5ad, out: 0x521364dc04c58bfe, outHI: 0x0
+swr :: offset: 0x5ae, out: 0x521364dc04c58bfe, outHI: 0x0
+swr :: offset: 0x5af, out: 0x521364dc04c58bfe, outHI: 0x0
+swr :: offset: 0x5b0, out: 0x9ab7aebc, outHI: 0x0
+swr :: offset: 0x5b1, out: 0x9ab7aebc, outHI: 0x0
+swr :: offset: 0x5b2, out: 0x9ab7aebc, outHI: 0x0
+swr :: offset: 0x5b3, out: 0x9ab7aebc, outHI: 0x0
+swr :: offset: 0x5b4, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+swr :: offset: 0x5b5, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+swr :: offset: 0x5b6, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+swr :: offset: 0x5b7, out: 0xe0f7bb589ab7aebc, outHI: 0x0
+swr :: offset: 0x5b8, out: 0xdeeb954d, outHI: 0x0
+swr :: offset: 0x5b9, out: 0xdeeb954d, outHI: 0x0
+swr :: offset: 0x5ba, out: 0xdeeb954d, outHI: 0x0
+swr :: offset: 0x5bb, out: 0xdeeb954d, outHI: 0x0
+swr :: offset: 0x5bc, out: 0xe336c60cdeeb954d, outHI: 0x0
+swr :: offset: 0x5bd, out: 0xe336c60cdeeb954d, outHI: 0x0
+swr :: offset: 0x5be, out: 0xe336c60cdeeb954d, outHI: 0x0
+swr :: offset: 0x5bf, out: 0xe336c60cdeeb954d, outHI: 0x0
+swr :: offset: 0x5c0, out: 0x6f52416e, outHI: 0x0
+swr :: offset: 0x5c1, out: 0x6f52416e, outHI: 0x0
+swr :: offset: 0x5c2, out: 0x6f52416e, outHI: 0x0
+swr :: offset: 0x5c3, out: 0x6f52416e, outHI: 0x0
+swr :: offset: 0x5c4, out: 0xd5b2120c6f52416e, outHI: 0x0
+swr :: offset: 0x5c5, out: 0xd5b2120c6f52416e, outHI: 0x0
+swr :: offset: 0x5c6, out: 0xd5b2120c6f52416e, outHI: 0x0
+swr :: offset: 0x5c7, out: 0xd5b2120c6f52416e, outHI: 0x0
+swr :: offset: 0x5c8, out: 0x7e628a34, outHI: 0x0
+swr :: offset: 0x5c9, out: 0x7e628a34, outHI: 0x0
+swr :: offset: 0x5ca, out: 0x7e628a34, outHI: 0x0
+swr :: offset: 0x5cb, out: 0x7e628a34, outHI: 0x0
+swr :: offset: 0x5cc, out: 0x85a2d4ff7e628a34, outHI: 0x0
+swr :: offset: 0x5cd, out: 0x85a2d4ff7e628a34, outHI: 0x0
+swr :: offset: 0x5ce, out: 0x85a2d4ff7e628a34, outHI: 0x0
+swr :: offset: 0x5cf, out: 0x85a2d4ff7e628a34, outHI: 0x0
+swr :: offset: 0x5d0, out: 0x4a4e7e07, outHI: 0x0
+swr :: offset: 0x5d1, out: 0x4a4e7e07, outHI: 0x0
+swr :: offset: 0x5d2, out: 0x4a4e7e07, outHI: 0x0
+swr :: offset: 0x5d3, out: 0x4a4e7e07, outHI: 0x0
+swr :: offset: 0x5d4, out: 0x986a2b654a4e7e07, outHI: 0x0
+swr :: offset: 0x5d5, out: 0x986a2b654a4e7e07, outHI: 0x0
+swr :: offset: 0x5d6, out: 0x986a2b654a4e7e07, outHI: 0x0
+swr :: offset: 0x5d7, out: 0x986a2b654a4e7e07, outHI: 0x0
+swr :: offset: 0x5d8, out: 0x3a489b55, outHI: 0x0
+swr :: offset: 0x5d9, out: 0x3a489b55, outHI: 0x0
+swr :: offset: 0x5da, out: 0x3a489b55, outHI: 0x0
+swr :: offset: 0x5db, out: 0x3a489b55, outHI: 0x0
+swr :: offset: 0x5dc, out: 0xa974eac43a489b55, outHI: 0x0
+swr :: offset: 0x5dd, out: 0xa974eac43a489b55, outHI: 0x0
+swr :: offset: 0x5de, out: 0xa974eac43a489b55, outHI: 0x0
+swr :: offset: 0x5df, out: 0xa974eac43a489b55, outHI: 0x0
+swr :: offset: 0x5e0, out: 0x72f1f8f5, outHI: 0x0
+swr :: offset: 0x5e1, out: 0x72f1f8f5, outHI: 0x0
+swr :: offset: 0x5e2, out: 0x72f1f8f5, outHI: 0x0
+swr :: offset: 0x5e3, out: 0x72f1f8f5, outHI: 0x0
+swr :: offset: 0x5e4, out: 0xa388c16272f1f8f5, outHI: 0x0
+swr :: offset: 0x5e5, out: 0xa388c16272f1f8f5, outHI: 0x0
+swr :: offset: 0x5e6, out: 0xa388c16272f1f8f5, outHI: 0x0
+swr :: offset: 0x5e7, out: 0xa388c16272f1f8f5, outHI: 0x0
+swr :: offset: 0x5e8, out: 0xe7495ea9, outHI: 0x0
+swr :: offset: 0x5e9, out: 0xe7495ea9, outHI: 0x0
+swr :: offset: 0x5ea, out: 0xe7495ea9, outHI: 0x0
+swr :: offset: 0x5eb, out: 0xe7495ea9, outHI: 0x0
+swr :: offset: 0x5ec, out: 0xe8c11f45e7495ea9, outHI: 0x0
+swr :: offset: 0x5ed, out: 0xe8c11f45e7495ea9, outHI: 0x0
+swr :: offset: 0x5ee, out: 0xe8c11f45e7495ea9, outHI: 0x0
+swr :: offset: 0x5ef, out: 0xe8c11f45e7495ea9, outHI: 0x0
+swr :: offset: 0x5f0, out: 0x5cc1c8b4, outHI: 0x0
+swr :: offset: 0x5f1, out: 0x5cc1c8b4, outHI: 0x0
+swr :: offset: 0x5f2, out: 0x5cc1c8b4, outHI: 0x0
+swr :: offset: 0x5f3, out: 0x5cc1c8b4, outHI: 0x0
+swr :: offset: 0x5f4, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+swr :: offset: 0x5f5, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+swr :: offset: 0x5f6, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+swr :: offset: 0x5f7, out: 0xadaa5a765cc1c8b4, outHI: 0x0
+swr :: offset: 0x5f8, out: 0xdfa605c0, outHI: 0x0
+swr :: offset: 0x5f9, out: 0xdfa605c0, outHI: 0x0
+swr :: offset: 0x5fa, out: 0xdfa605c0, outHI: 0x0
+swr :: offset: 0x5fb, out: 0xdfa605c0, outHI: 0x0
+swr :: offset: 0x5fc, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+swr :: offset: 0x5fd, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+swr :: offset: 0x5fe, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+swr :: offset: 0x5ff, out: 0x7ab4ce88dfa605c0, outHI: 0x0
+swr :: offset: 0x600, out: 0x59a7b04f, outHI: 0x0
+swr :: offset: 0x601, out: 0x59a7b04f, outHI: 0x0
+swr :: offset: 0x602, out: 0x59a7b04f, outHI: 0x0
+swr :: offset: 0x603, out: 0x59a7b04f, outHI: 0x0
+swr :: offset: 0x604, out: 0xb42ad6e659a7b04f, outHI: 0x0
+swr :: offset: 0x605, out: 0xb42ad6e659a7b04f, outHI: 0x0
+swr :: offset: 0x606, out: 0xb42ad6e659a7b04f, outHI: 0x0
+swr :: offset: 0x607, out: 0xb42ad6e659a7b04f, outHI: 0x0
+swr :: offset: 0x608, out: 0xb728922f, outHI: 0x0
+swr :: offset: 0x609, out: 0xb728922f, outHI: 0x0
+swr :: offset: 0x60a, out: 0xb728922f, outHI: 0x0
+swr :: offset: 0x60b, out: 0xb728922f, outHI: 0x0
+swr :: offset: 0x60c, out: 0x4bf8485ab728922f, outHI: 0x0
+swr :: offset: 0x60d, out: 0x4bf8485ab728922f, outHI: 0x0
+swr :: offset: 0x60e, out: 0x4bf8485ab728922f, outHI: 0x0
+swr :: offset: 0x60f, out: 0x4bf8485ab728922f, outHI: 0x0
+swr :: offset: 0x610, out: 0x3b66a7fb, outHI: 0x0
+swr :: offset: 0x611, out: 0x3b66a7fb, outHI: 0x0
+swr :: offset: 0x612, out: 0x3b66a7fb, outHI: 0x0
+swr :: offset: 0x613, out: 0x3b66a7fb, outHI: 0x0
+swr :: offset: 0x614, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+swr :: offset: 0x615, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+swr :: offset: 0x616, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+swr :: offset: 0x617, out: 0x76a3d60c3b66a7fb, outHI: 0x0
+swr :: offset: 0x618, out: 0xfdc28eda, outHI: 0x0
+swr :: offset: 0x619, out: 0xfdc28eda, outHI: 0x0
+swr :: offset: 0x61a, out: 0xfdc28eda, outHI: 0x0
+swr :: offset: 0x61b, out: 0xfdc28eda, outHI: 0x0
+swr :: offset: 0x61c, out: 0x31e0c6affdc28eda, outHI: 0x0
+swr :: offset: 0x61d, out: 0x31e0c6affdc28eda, outHI: 0x0
+swr :: offset: 0x61e, out: 0x31e0c6affdc28eda, outHI: 0x0
+swr :: offset: 0x61f, out: 0x31e0c6affdc28eda, outHI: 0x0
+swr :: offset: 0x620, out: 0xbf0c999d, outHI: 0x0
+swr :: offset: 0x621, out: 0xbf0c999d, outHI: 0x0
+swr :: offset: 0x622, out: 0xbf0c999d, outHI: 0x0
+swr :: offset: 0x623, out: 0xbf0c999d, outHI: 0x0
+swr :: offset: 0x624, out: 0x53606bb4bf0c999d, outHI: 0x0
+swr :: offset: 0x625, out: 0x53606bb4bf0c999d, outHI: 0x0
+swr :: offset: 0x626, out: 0x53606bb4bf0c999d, outHI: 0x0
+swr :: offset: 0x627, out: 0x53606bb4bf0c999d, outHI: 0x0
+swr :: offset: 0x628, out: 0x1b7919f0, outHI: 0x0
+swr :: offset: 0x629, out: 0x1b7919f0, outHI: 0x0
+swr :: offset: 0x62a, out: 0x1b7919f0, outHI: 0x0
+swr :: offset: 0x62b, out: 0x1b7919f0, outHI: 0x0
+swr :: offset: 0x62c, out: 0x32fc12c81b7919f0, outHI: 0x0
+swr :: offset: 0x62d, out: 0x32fc12c81b7919f0, outHI: 0x0
+swr :: offset: 0x62e, out: 0x32fc12c81b7919f0, outHI: 0x0
+swr :: offset: 0x62f, out: 0x32fc12c81b7919f0, outHI: 0x0
+swr :: offset: 0x630, out: 0xc72efcd6, outHI: 0x0
+swr :: offset: 0x631, out: 0xc72efcd6, outHI: 0x0
+swr :: offset: 0x632, out: 0xc72efcd6, outHI: 0x0
+swr :: offset: 0x633, out: 0xc72efcd6, outHI: 0x0
+swr :: offset: 0x634, out: 0x3ef88384c72efcd6, outHI: 0x0
+swr :: offset: 0x635, out: 0x3ef88384c72efcd6, outHI: 0x0
+swr :: offset: 0x636, out: 0x3ef88384c72efcd6, outHI: 0x0
+swr :: offset: 0x637, out: 0x3ef88384c72efcd6, outHI: 0x0
+swr :: offset: 0x638, out: 0x6a2a3580, outHI: 0x0
+swr :: offset: 0x639, out: 0x6a2a3580, outHI: 0x0
+swr :: offset: 0x63a, out: 0x6a2a3580, outHI: 0x0
+swr :: offset: 0x63b, out: 0x6a2a3580, outHI: 0x0
+swr :: offset: 0x63c, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+swr :: offset: 0x63d, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+swr :: offset: 0x63e, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+swr :: offset: 0x63f, out: 0x38b1c7bb6a2a3580, outHI: 0x0
+swr :: offset: 0x640, out: 0x1dca77c9, outHI: 0x0
+swr :: offset: 0x641, out: 0x1dca77c9, outHI: 0x0
+swr :: offset: 0x642, out: 0x1dca77c9, outHI: 0x0
+swr :: offset: 0x643, out: 0x1dca77c9, outHI: 0x0
+swr :: offset: 0x644, out: 0x15ebf6121dca77c9, outHI: 0x0
+swr :: offset: 0x645, out: 0x15ebf6121dca77c9, outHI: 0x0
+swr :: offset: 0x646, out: 0x15ebf6121dca77c9, outHI: 0x0
+swr :: offset: 0x647, out: 0x15ebf6121dca77c9, outHI: 0x0
+swr :: offset: 0x648, out: 0xfd9147ae, outHI: 0x0
+swr :: offset: 0x649, out: 0xfd9147ae, outHI: 0x0
+swr :: offset: 0x64a, out: 0xfd9147ae, outHI: 0x0
+swr :: offset: 0x64b, out: 0xfd9147ae, outHI: 0x0
+swr :: offset: 0x64c, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+swr :: offset: 0x64d, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+swr :: offset: 0x64e, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+swr :: offset: 0x64f, out: 0x5eaacdd9fd9147ae, outHI: 0x0
+swr :: offset: 0x650, out: 0x81e91117, outHI: 0x0
+swr :: offset: 0x651, out: 0x81e91117, outHI: 0x0
+swr :: offset: 0x652, out: 0x81e91117, outHI: 0x0
+swr :: offset: 0x653, out: 0x81e91117, outHI: 0x0
+swr :: offset: 0x654, out: 0xbb8470f981e91117, outHI: 0x0
+swr :: offset: 0x655, out: 0xbb8470f981e91117, outHI: 0x0
+swr :: offset: 0x656, out: 0xbb8470f981e91117, outHI: 0x0
+swr :: offset: 0x657, out: 0xbb8470f981e91117, outHI: 0x0
+swr :: offset: 0x658, out: 0xc6a532e0, outHI: 0x0
+swr :: offset: 0x659, out: 0xc6a532e0, outHI: 0x0
+swr :: offset: 0x65a, out: 0xc6a532e0, outHI: 0x0
+swr :: offset: 0x65b, out: 0xc6a532e0, outHI: 0x0
+swr :: offset: 0x65c, out: 0x5d42aeac6a532e0, outHI: 0x0
+swr :: offset: 0x65d, out: 0x5d42aeac6a532e0, outHI: 0x0
+swr :: offset: 0x65e, out: 0x5d42aeac6a532e0, outHI: 0x0
+swr :: offset: 0x65f, out: 0x5d42aeac6a532e0, outHI: 0x0
+swr :: offset: 0x660, out: 0x19fb9e63, outHI: 0x0
+swr :: offset: 0x661, out: 0x19fb9e63, outHI: 0x0
+swr :: offset: 0x662, out: 0x19fb9e63, outHI: 0x0
+swr :: offset: 0x663, out: 0x19fb9e63, outHI: 0x0
+swr :: offset: 0x664, out: 0x14abf36419fb9e63, outHI: 0x0
+swr :: offset: 0x665, out: 0x14abf36419fb9e63, outHI: 0x0
+swr :: offset: 0x666, out: 0x14abf36419fb9e63, outHI: 0x0
+swr :: offset: 0x667, out: 0x14abf36419fb9e63, outHI: 0x0
+swr :: offset: 0x668, out: 0xa8d72aac, outHI: 0x0
+swr :: offset: 0x669, out: 0xa8d72aac, outHI: 0x0
+swr :: offset: 0x66a, out: 0xa8d72aac, outHI: 0x0
+swr :: offset: 0x66b, out: 0xa8d72aac, outHI: 0x0
+swr :: offset: 0x66c, out: 0x249d559aa8d72aac, outHI: 0x0
+swr :: offset: 0x66d, out: 0x249d559aa8d72aac, outHI: 0x0
+swr :: offset: 0x66e, out: 0x249d559aa8d72aac, outHI: 0x0
+swr :: offset: 0x66f, out: 0x249d559aa8d72aac, outHI: 0x0
+swr :: offset: 0x670, out: 0x84b30ec, outHI: 0x0
+swr :: offset: 0x671, out: 0x84b30ec, outHI: 0x0
+swr :: offset: 0x672, out: 0x84b30ec, outHI: 0x0
+swr :: offset: 0x673, out: 0x84b30ec, outHI: 0x0
+swr :: offset: 0x674, out: 0xcd6764f084b30ec, outHI: 0x0
+swr :: offset: 0x675, out: 0xcd6764f084b30ec, outHI: 0x0
+swr :: offset: 0x676, out: 0xcd6764f084b30ec, outHI: 0x0
+swr :: offset: 0x677, out: 0xcd6764f084b30ec, outHI: 0x0
+swr :: offset: 0x678, out: 0x92468fdf, outHI: 0x0
+swr :: offset: 0x679, out: 0x92468fdf, outHI: 0x0
+swr :: offset: 0x67a, out: 0x92468fdf, outHI: 0x0
+swr :: offset: 0x67b, out: 0x92468fdf, outHI: 0x0
+swr :: offset: 0x67c, out: 0x7f03ac0792468fdf, outHI: 0x0
+swr :: offset: 0x67d, out: 0x7f03ac0792468fdf, outHI: 0x0
+swr :: offset: 0x67e, out: 0x7f03ac0792468fdf, outHI: 0x0
+swr :: offset: 0x67f, out: 0x7f03ac0792468fdf, outHI: 0x0
+swr :: offset: 0x680, out: 0x56e670f5, outHI: 0x0
+swr :: offset: 0x681, out: 0x56e670f5, outHI: 0x0
+swr :: offset: 0x682, out: 0x56e670f5, outHI: 0x0
+swr :: offset: 0x683, out: 0x56e670f5, outHI: 0x0
+swr :: offset: 0x684, out: 0x7e35ce6d56e670f5, outHI: 0x0
+swr :: offset: 0x685, out: 0x7e35ce6d56e670f5, outHI: 0x0
+swr :: offset: 0x686, out: 0x7e35ce6d56e670f5, outHI: 0x0
+swr :: offset: 0x687, out: 0x7e35ce6d56e670f5, outHI: 0x0
+swr :: offset: 0x688, out: 0x1a652711, outHI: 0x0
+swr :: offset: 0x689, out: 0x1a652711, outHI: 0x0
+swr :: offset: 0x68a, out: 0x1a652711, outHI: 0x0
+swr :: offset: 0x68b, out: 0x1a652711, outHI: 0x0
+swr :: offset: 0x68c, out: 0x152828591a652711, outHI: 0x0
+swr :: offset: 0x68d, out: 0x152828591a652711, outHI: 0x0
+swr :: offset: 0x68e, out: 0x152828591a652711, outHI: 0x0
+swr :: offset: 0x68f, out: 0x152828591a652711, outHI: 0x0
+swr :: offset: 0x690, out: 0xd215a9fb, outHI: 0x0
+swr :: offset: 0x691, out: 0xd215a9fb, outHI: 0x0
+swr :: offset: 0x692, out: 0xd215a9fb, outHI: 0x0
+swr :: offset: 0x693, out: 0xd215a9fb, outHI: 0x0
+swr :: offset: 0x694, out: 0x9e1c3283d215a9fb, outHI: 0x0
+swr :: offset: 0x695, out: 0x9e1c3283d215a9fb, outHI: 0x0
+swr :: offset: 0x696, out: 0x9e1c3283d215a9fb, outHI: 0x0
+swr :: offset: 0x697, out: 0x9e1c3283d215a9fb, outHI: 0x0
+swr :: offset: 0x698, out: 0x282a0417, outHI: 0x0
+swr :: offset: 0x699, out: 0x282a0417, outHI: 0x0
+swr :: offset: 0x69a, out: 0x282a0417, outHI: 0x0
+swr :: offset: 0x69b, out: 0x282a0417, outHI: 0x0
+swr :: offset: 0x69c, out: 0x8d95c049282a0417, outHI: 0x0
+swr :: offset: 0x69d, out: 0x8d95c049282a0417, outHI: 0x0
+swr :: offset: 0x69e, out: 0x8d95c049282a0417, outHI: 0x0
+swr :: offset: 0x69f, out: 0x8d95c049282a0417, outHI: 0x0
+swr :: offset: 0x6a0, out: 0x978058f3, outHI: 0x0
+swr :: offset: 0x6a1, out: 0x978058f3, outHI: 0x0
+swr :: offset: 0x6a2, out: 0x978058f3, outHI: 0x0
+swr :: offset: 0x6a3, out: 0x978058f3, outHI: 0x0
+swr :: offset: 0x6a4, out: 0xf2e7a490978058f3, outHI: 0x0
+swr :: offset: 0x6a5, out: 0xf2e7a490978058f3, outHI: 0x0
+swr :: offset: 0x6a6, out: 0xf2e7a490978058f3, outHI: 0x0
+swr :: offset: 0x6a7, out: 0xf2e7a490978058f3, outHI: 0x0
+swr :: offset: 0x6a8, out: 0x975b1aa, outHI: 0x0
+swr :: offset: 0x6a9, out: 0x975b1aa, outHI: 0x0
+swr :: offset: 0x6aa, out: 0x975b1aa, outHI: 0x0
+swr :: offset: 0x6ab, out: 0x975b1aa, outHI: 0x0
+swr :: offset: 0x6ac, out: 0x775b4cca0975b1aa, outHI: 0x0
+swr :: offset: 0x6ad, out: 0x775b4cca0975b1aa, outHI: 0x0
+swr :: offset: 0x6ae, out: 0x775b4cca0975b1aa, outHI: 0x0
+swr :: offset: 0x6af, out: 0x775b4cca0975b1aa, outHI: 0x0
+swr :: offset: 0x6b0, out: 0x35111020, outHI: 0x0
+swr :: offset: 0x6b1, out: 0x35111020, outHI: 0x0
+swr :: offset: 0x6b2, out: 0x35111020, outHI: 0x0
+swr :: offset: 0x6b3, out: 0x35111020, outHI: 0x0
+swr :: offset: 0x6b4, out: 0xa2b84a635111020, outHI: 0x0
+swr :: offset: 0x6b5, out: 0xa2b84a635111020, outHI: 0x0
+swr :: offset: 0x6b6, out: 0xa2b84a635111020, outHI: 0x0
+swr :: offset: 0x6b7, out: 0xa2b84a635111020, outHI: 0x0
+swr :: offset: 0x6b8, out: 0xa7d88b6f, outHI: 0x0
+swr :: offset: 0x6b9, out: 0xa7d88b6f, outHI: 0x0
+swr :: offset: 0x6ba, out: 0xa7d88b6f, outHI: 0x0
+swr :: offset: 0x6bb, out: 0xa7d88b6f, outHI: 0x0
+swr :: offset: 0x6bc, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+swr :: offset: 0x6bd, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+swr :: offset: 0x6be, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+swr :: offset: 0x6bf, out: 0x23fa0d3a7d88b6f, outHI: 0x0
+swr :: offset: 0x6c0, out: 0x9941dedd, outHI: 0x0
+swr :: offset: 0x6c1, out: 0x9941dedd, outHI: 0x0
+swr :: offset: 0x6c2, out: 0x9941dedd, outHI: 0x0
+swr :: offset: 0x6c3, out: 0x9941dedd, outHI: 0x0
+swr :: offset: 0x6c4, out: 0xa3d991b79941dedd, outHI: 0x0
+swr :: offset: 0x6c5, out: 0xa3d991b79941dedd, outHI: 0x0
+swr :: offset: 0x6c6, out: 0xa3d991b79941dedd, outHI: 0x0
+swr :: offset: 0x6c7, out: 0xa3d991b79941dedd, outHI: 0x0
+swr :: offset: 0x6c8, out: 0x5a0d9508, outHI: 0x0
+swr :: offset: 0x6c9, out: 0x5a0d9508, outHI: 0x0
+swr :: offset: 0x6ca, out: 0x5a0d9508, outHI: 0x0
+swr :: offset: 0x6cb, out: 0x5a0d9508, outHI: 0x0
+swr :: offset: 0x6cc, out: 0x751cb4835a0d9508, outHI: 0x0
+swr :: offset: 0x6cd, out: 0x751cb4835a0d9508, outHI: 0x0
+swr :: offset: 0x6ce, out: 0x751cb4835a0d9508, outHI: 0x0
+swr :: offset: 0x6cf, out: 0x751cb4835a0d9508, outHI: 0x0
+swr :: offset: 0x6d0, out: 0x625bb2d3, outHI: 0x0
+swr :: offset: 0x6d1, out: 0x625bb2d3, outHI: 0x0
+swr :: offset: 0x6d2, out: 0x625bb2d3, outHI: 0x0
+swr :: offset: 0x6d3, out: 0x625bb2d3, outHI: 0x0
+swr :: offset: 0x6d4, out: 0x949cad35625bb2d3, outHI: 0x0
+swr :: offset: 0x6d5, out: 0x949cad35625bb2d3, outHI: 0x0
+swr :: offset: 0x6d6, out: 0x949cad35625bb2d3, outHI: 0x0
+swr :: offset: 0x6d7, out: 0x949cad35625bb2d3, outHI: 0x0
+swr :: offset: 0x6d8, out: 0xa6929739, outHI: 0x0
+swr :: offset: 0x6d9, out: 0xa6929739, outHI: 0x0
+swr :: offset: 0x6da, out: 0xa6929739, outHI: 0x0
+swr :: offset: 0x6db, out: 0xa6929739, outHI: 0x0
+swr :: offset: 0x6dc, out: 0x7f567f35a6929739, outHI: 0x0
+swr :: offset: 0x6dd, out: 0x7f567f35a6929739, outHI: 0x0
+swr :: offset: 0x6de, out: 0x7f567f35a6929739, outHI: 0x0
+swr :: offset: 0x6df, out: 0x7f567f35a6929739, outHI: 0x0
+swr :: offset: 0x6e0, out: 0xdb8d7d27, outHI: 0x0
+swr :: offset: 0x6e1, out: 0xdb8d7d27, outHI: 0x0
+swr :: offset: 0x6e2, out: 0xdb8d7d27, outHI: 0x0
+swr :: offset: 0x6e3, out: 0xdb8d7d27, outHI: 0x0
+swr :: offset: 0x6e4, out: 0x185b88e0db8d7d27, outHI: 0x0
+swr :: offset: 0x6e5, out: 0x185b88e0db8d7d27, outHI: 0x0
+swr :: offset: 0x6e6, out: 0x185b88e0db8d7d27, outHI: 0x0
+swr :: offset: 0x6e7, out: 0x185b88e0db8d7d27, outHI: 0x0
+swr :: offset: 0x6e8, out: 0x2fd61b91, outHI: 0x0
+swr :: offset: 0x6e9, out: 0x2fd61b91, outHI: 0x0
+swr :: offset: 0x6ea, out: 0x2fd61b91, outHI: 0x0
+swr :: offset: 0x6eb, out: 0x2fd61b91, outHI: 0x0
+swr :: offset: 0x6ec, out: 0x255a4cd22fd61b91, outHI: 0x0
+swr :: offset: 0x6ed, out: 0x255a4cd22fd61b91, outHI: 0x0
+swr :: offset: 0x6ee, out: 0x255a4cd22fd61b91, outHI: 0x0
+swr :: offset: 0x6ef, out: 0x255a4cd22fd61b91, outHI: 0x0
+swr :: offset: 0x6f0, out: 0xa4363f7b, outHI: 0x0
+swr :: offset: 0x6f1, out: 0xa4363f7b, outHI: 0x0
+swr :: offset: 0x6f2, out: 0xa4363f7b, outHI: 0x0
+swr :: offset: 0x6f3, out: 0xa4363f7b, outHI: 0x0
+swr :: offset: 0x6f4, out: 0x1048d589a4363f7b, outHI: 0x0
+swr :: offset: 0x6f5, out: 0x1048d589a4363f7b, outHI: 0x0
+swr :: offset: 0x6f6, out: 0x1048d589a4363f7b, outHI: 0x0
+swr :: offset: 0x6f7, out: 0x1048d589a4363f7b, outHI: 0x0
+swr :: offset: 0x6f8, out: 0xf4605790, outHI: 0x0
+swr :: offset: 0x6f9, out: 0xf4605790, outHI: 0x0
+swr :: offset: 0x6fa, out: 0xf4605790, outHI: 0x0
+swr :: offset: 0x6fb, out: 0xf4605790, outHI: 0x0
+swr :: offset: 0x6fc, out: 0x6a6d5708f4605790, outHI: 0x0
+swr :: offset: 0x6fd, out: 0x6a6d5708f4605790, outHI: 0x0
+swr :: offset: 0x6fe, out: 0x6a6d5708f4605790, outHI: 0x0
+swr :: offset: 0x6ff, out: 0x6a6d5708f4605790, outHI: 0x0
+swr :: offset: 0x700, out: 0xde35697f, outHI: 0x0
+swr :: offset: 0x701, out: 0xde35697f, outHI: 0x0
+swr :: offset: 0x702, out: 0xde35697f, outHI: 0x0
+swr :: offset: 0x703, out: 0xde35697f, outHI: 0x0
+swr :: offset: 0x704, out: 0xd58ecbabde35697f, outHI: 0x0
+swr :: offset: 0x705, out: 0xd58ecbabde35697f, outHI: 0x0
+swr :: offset: 0x706, out: 0xd58ecbabde35697f, outHI: 0x0
+swr :: offset: 0x707, out: 0xd58ecbabde35697f, outHI: 0x0
+swr :: offset: 0x708, out: 0x8c0a5f1, outHI: 0x0
+swr :: offset: 0x709, out: 0x8c0a5f1, outHI: 0x0
+swr :: offset: 0x70a, out: 0x8c0a5f1, outHI: 0x0
+swr :: offset: 0x70b, out: 0x8c0a5f1, outHI: 0x0
+swr :: offset: 0x70c, out: 0x575548fd08c0a5f1, outHI: 0x0
+swr :: offset: 0x70d, out: 0x575548fd08c0a5f1, outHI: 0x0
+swr :: offset: 0x70e, out: 0x575548fd08c0a5f1, outHI: 0x0
+swr :: offset: 0x70f, out: 0x575548fd08c0a5f1, outHI: 0x0
+swr :: offset: 0x710, out: 0x8ed98ddb, outHI: 0x0
+swr :: offset: 0x711, out: 0x8ed98ddb, outHI: 0x0
+swr :: offset: 0x712, out: 0x8ed98ddb, outHI: 0x0
+swr :: offset: 0x713, out: 0x8ed98ddb, outHI: 0x0
+swr :: offset: 0x714, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+swr :: offset: 0x715, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+swr :: offset: 0x716, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+swr :: offset: 0x717, out: 0x8bb640fb8ed98ddb, outHI: 0x0
+swr :: offset: 0x718, out: 0xabc578cc, outHI: 0x0
+swr :: offset: 0x719, out: 0xabc578cc, outHI: 0x0
+swr :: offset: 0x71a, out: 0xabc578cc, outHI: 0x0
+swr :: offset: 0x71b, out: 0xabc578cc, outHI: 0x0
+swr :: offset: 0x71c, out: 0xbe00d51eabc578cc, outHI: 0x0
+swr :: offset: 0x71d, out: 0xbe00d51eabc578cc, outHI: 0x0
+swr :: offset: 0x71e, out: 0xbe00d51eabc578cc, outHI: 0x0
+swr :: offset: 0x71f, out: 0xbe00d51eabc578cc, outHI: 0x0
+swr :: offset: 0x720, out: 0x1c170ab2, outHI: 0x0
+swr :: offset: 0x721, out: 0x1c170ab2, outHI: 0x0
+swr :: offset: 0x722, out: 0x1c170ab2, outHI: 0x0
+swr :: offset: 0x723, out: 0x1c170ab2, outHI: 0x0
+swr :: offset: 0x724, out: 0x2f7e224a1c170ab2, outHI: 0x0
+swr :: offset: 0x725, out: 0x2f7e224a1c170ab2, outHI: 0x0
+swr :: offset: 0x726, out: 0x2f7e224a1c170ab2, outHI: 0x0
+swr :: offset: 0x727, out: 0x2f7e224a1c170ab2, outHI: 0x0
+swr :: offset: 0x728, out: 0xa22256a7, outHI: 0x0
+swr :: offset: 0x729, out: 0xa22256a7, outHI: 0x0
+swr :: offset: 0x72a, out: 0xa22256a7, outHI: 0x0
+swr :: offset: 0x72b, out: 0xa22256a7, outHI: 0x0
+swr :: offset: 0x72c, out: 0xa978f12ca22256a7, outHI: 0x0
+swr :: offset: 0x72d, out: 0xa978f12ca22256a7, outHI: 0x0
+swr :: offset: 0x72e, out: 0xa978f12ca22256a7, outHI: 0x0
+swr :: offset: 0x72f, out: 0xa978f12ca22256a7, outHI: 0x0
+swr :: offset: 0x730, out: 0x811ee02f, outHI: 0x0
+swr :: offset: 0x731, out: 0x811ee02f, outHI: 0x0
+swr :: offset: 0x732, out: 0x811ee02f, outHI: 0x0
+swr :: offset: 0x733, out: 0x811ee02f, outHI: 0x0
+swr :: offset: 0x734, out: 0x9950a93b811ee02f, outHI: 0x0
+swr :: offset: 0x735, out: 0x9950a93b811ee02f, outHI: 0x0
+swr :: offset: 0x736, out: 0x9950a93b811ee02f, outHI: 0x0
+swr :: offset: 0x737, out: 0x9950a93b811ee02f, outHI: 0x0
+swr :: offset: 0x738, out: 0xc6796a0c, outHI: 0x0
+swr :: offset: 0x739, out: 0xc6796a0c, outHI: 0x0
+swr :: offset: 0x73a, out: 0xc6796a0c, outHI: 0x0
+swr :: offset: 0x73b, out: 0xc6796a0c, outHI: 0x0
+swr :: offset: 0x73c, out: 0xb44eea93c6796a0c, outHI: 0x0
+swr :: offset: 0x73d, out: 0xb44eea93c6796a0c, outHI: 0x0
+swr :: offset: 0x73e, out: 0xb44eea93c6796a0c, outHI: 0x0
+swr :: offset: 0x73f, out: 0xb44eea93c6796a0c, outHI: 0x0
+swr :: offset: 0x740, out: 0x6c0eb657, outHI: 0x0
+swr :: offset: 0x741, out: 0x6c0eb657, outHI: 0x0
+swr :: offset: 0x742, out: 0x6c0eb657, outHI: 0x0
+swr :: offset: 0x743, out: 0x6c0eb657, outHI: 0x0
+swr :: offset: 0x744, out: 0xfe71fca06c0eb657, outHI: 0x0
+swr :: offset: 0x745, out: 0xfe71fca06c0eb657, outHI: 0x0
+swr :: offset: 0x746, out: 0xfe71fca06c0eb657, outHI: 0x0
+swr :: offset: 0x747, out: 0xfe71fca06c0eb657, outHI: 0x0
+swr :: offset: 0x748, out: 0xf818af57, outHI: 0x0
+swr :: offset: 0x749, out: 0xf818af57, outHI: 0x0
+swr :: offset: 0x74a, out: 0xf818af57, outHI: 0x0
+swr :: offset: 0x74b, out: 0xf818af57, outHI: 0x0
+swr :: offset: 0x74c, out: 0x4ed6393df818af57, outHI: 0x0
+swr :: offset: 0x74d, out: 0x4ed6393df818af57, outHI: 0x0
+swr :: offset: 0x74e, out: 0x4ed6393df818af57, outHI: 0x0
+swr :: offset: 0x74f, out: 0x4ed6393df818af57, outHI: 0x0
+swr :: offset: 0x750, out: 0x236770a, outHI: 0x0
+swr :: offset: 0x751, out: 0x236770a, outHI: 0x0
+swr :: offset: 0x752, out: 0x236770a, outHI: 0x0
+swr :: offset: 0x753, out: 0x236770a, outHI: 0x0
+swr :: offset: 0x754, out: 0xf22e90200236770a, outHI: 0x0
+swr :: offset: 0x755, out: 0xf22e90200236770a, outHI: 0x0
+swr :: offset: 0x756, out: 0xf22e90200236770a, outHI: 0x0
+swr :: offset: 0x757, out: 0xf22e90200236770a, outHI: 0x0
+swr :: offset: 0x758, out: 0xafd0c45d, outHI: 0x0
+swr :: offset: 0x759, out: 0xafd0c45d, outHI: 0x0
+swr :: offset: 0x75a, out: 0xafd0c45d, outHI: 0x0
+swr :: offset: 0x75b, out: 0xafd0c45d, outHI: 0x0
+swr :: offset: 0x75c, out: 0x81efb6c7afd0c45d, outHI: 0x0
+swr :: offset: 0x75d, out: 0x81efb6c7afd0c45d, outHI: 0x0
+swr :: offset: 0x75e, out: 0x81efb6c7afd0c45d, outHI: 0x0
+swr :: offset: 0x75f, out: 0x81efb6c7afd0c45d, outHI: 0x0
+swr :: offset: 0x760, out: 0x8102315b, outHI: 0x0
+swr :: offset: 0x761, out: 0x8102315b, outHI: 0x0
+swr :: offset: 0x762, out: 0x8102315b, outHI: 0x0
+swr :: offset: 0x763, out: 0x8102315b, outHI: 0x0
+swr :: offset: 0x764, out: 0xeed8f3518102315b, outHI: 0x0
+swr :: offset: 0x765, out: 0xeed8f3518102315b, outHI: 0x0
+swr :: offset: 0x766, out: 0xeed8f3518102315b, outHI: 0x0
+swr :: offset: 0x767, out: 0xeed8f3518102315b, outHI: 0x0
+swr :: offset: 0x768, out: 0x995efd5e, outHI: 0x0
+swr :: offset: 0x769, out: 0x995efd5e, outHI: 0x0
+swr :: offset: 0x76a, out: 0x995efd5e, outHI: 0x0
+swr :: offset: 0x76b, out: 0x995efd5e, outHI: 0x0
+swr :: offset: 0x76c, out: 0xadafefb9995efd5e, outHI: 0x0
+swr :: offset: 0x76d, out: 0xadafefb9995efd5e, outHI: 0x0
+swr :: offset: 0x76e, out: 0xadafefb9995efd5e, outHI: 0x0
+swr :: offset: 0x76f, out: 0xadafefb9995efd5e, outHI: 0x0
+swr :: offset: 0x770, out: 0xeb253086, outHI: 0x0
+swr :: offset: 0x771, out: 0xeb253086, outHI: 0x0
+swr :: offset: 0x772, out: 0xeb253086, outHI: 0x0
+swr :: offset: 0x773, out: 0xeb253086, outHI: 0x0
+swr :: offset: 0x774, out: 0x34061933eb253086, outHI: 0x0
+swr :: offset: 0x775, out: 0x34061933eb253086, outHI: 0x0
+swr :: offset: 0x776, out: 0x34061933eb253086, outHI: 0x0
+swr :: offset: 0x777, out: 0x34061933eb253086, outHI: 0x0
+swr :: offset: 0x778, out: 0x4b4c52bc, outHI: 0x0
+swr :: offset: 0x779, out: 0x4b4c52bc, outHI: 0x0
+swr :: offset: 0x77a, out: 0x4b4c52bc, outHI: 0x0
+swr :: offset: 0x77b, out: 0x4b4c52bc, outHI: 0x0
+swr :: offset: 0x77c, out: 0x1748da264b4c52bc, outHI: 0x0
+swr :: offset: 0x77d, out: 0x1748da264b4c52bc, outHI: 0x0
+swr :: offset: 0x77e, out: 0x1748da264b4c52bc, outHI: 0x0
+swr :: offset: 0x77f, out: 0x1748da264b4c52bc, outHI: 0x0
+swr :: offset: 0x780, out: 0x9302be89, outHI: 0x0
+swr :: offset: 0x781, out: 0x9302be89, outHI: 0x0
+swr :: offset: 0x782, out: 0x9302be89, outHI: 0x0
+swr :: offset: 0x783, out: 0x9302be89, outHI: 0x0
+swr :: offset: 0x784, out: 0x34fdfc9a9302be89, outHI: 0x0
+swr :: offset: 0x785, out: 0x34fdfc9a9302be89, outHI: 0x0
+swr :: offset: 0x786, out: 0x34fdfc9a9302be89, outHI: 0x0
+swr :: offset: 0x787, out: 0x34fdfc9a9302be89, outHI: 0x0
+swr :: offset: 0x788, out: 0xc521d180, outHI: 0x0
+swr :: offset: 0x789, out: 0xc521d180, outHI: 0x0
+swr :: offset: 0x78a, out: 0xc521d180, outHI: 0x0
+swr :: offset: 0x78b, out: 0xc521d180, outHI: 0x0
+swr :: offset: 0x78c, out: 0xd00278c3c521d180, outHI: 0x0
+swr :: offset: 0x78d, out: 0xd00278c3c521d180, outHI: 0x0
+swr :: offset: 0x78e, out: 0xd00278c3c521d180, outHI: 0x0
+swr :: offset: 0x78f, out: 0xd00278c3c521d180, outHI: 0x0
+swr :: offset: 0x790, out: 0xc1d37a5d, outHI: 0x0
+swr :: offset: 0x791, out: 0xc1d37a5d, outHI: 0x0
+swr :: offset: 0x792, out: 0xc1d37a5d, outHI: 0x0
+swr :: offset: 0x793, out: 0xc1d37a5d, outHI: 0x0
+swr :: offset: 0x794, out: 0xe90944a4c1d37a5d, outHI: 0x0
+swr :: offset: 0x795, out: 0xe90944a4c1d37a5d, outHI: 0x0
+swr :: offset: 0x796, out: 0xe90944a4c1d37a5d, outHI: 0x0
+swr :: offset: 0x797, out: 0xe90944a4c1d37a5d, outHI: 0x0
+swr :: offset: 0x798, out: 0xddef9839, outHI: 0x0
+swr :: offset: 0x799, out: 0xddef9839, outHI: 0x0
+swr :: offset: 0x79a, out: 0xddef9839, outHI: 0x0
+swr :: offset: 0x79b, out: 0xddef9839, outHI: 0x0
+swr :: offset: 0x79c, out: 0x65fd698fddef9839, outHI: 0x0
+swr :: offset: 0x79d, out: 0x65fd698fddef9839, outHI: 0x0
+swr :: offset: 0x79e, out: 0x65fd698fddef9839, outHI: 0x0
+swr :: offset: 0x79f, out: 0x65fd698fddef9839, outHI: 0x0
+swr :: offset: 0x7a0, out: 0x81b5af52, outHI: 0x0
+swr :: offset: 0x7a1, out: 0x81b5af52, outHI: 0x0
+swr :: offset: 0x7a2, out: 0x81b5af52, outHI: 0x0
+swr :: offset: 0x7a3, out: 0x81b5af52, outHI: 0x0
+swr :: offset: 0x7a4, out: 0xc49ee3ad81b5af52, outHI: 0x0
+swr :: offset: 0x7a5, out: 0xc49ee3ad81b5af52, outHI: 0x0
+swr :: offset: 0x7a6, out: 0xc49ee3ad81b5af52, outHI: 0x0
+swr :: offset: 0x7a7, out: 0xc49ee3ad81b5af52, outHI: 0x0
+swr :: offset: 0x7a8, out: 0xbdb263e9, outHI: 0x0
+swr :: offset: 0x7a9, out: 0xbdb263e9, outHI: 0x0
+swr :: offset: 0x7aa, out: 0xbdb263e9, outHI: 0x0
+swr :: offset: 0x7ab, out: 0xbdb263e9, outHI: 0x0
+swr :: offset: 0x7ac, out: 0x7aa941e8bdb263e9, outHI: 0x0
+swr :: offset: 0x7ad, out: 0x7aa941e8bdb263e9, outHI: 0x0
+swr :: offset: 0x7ae, out: 0x7aa941e8bdb263e9, outHI: 0x0
+swr :: offset: 0x7af, out: 0x7aa941e8bdb263e9, outHI: 0x0
+swr :: offset: 0x7b0, out: 0x42f3b58d, outHI: 0x0
+swr :: offset: 0x7b1, out: 0x42f3b58d, outHI: 0x0
+swr :: offset: 0x7b2, out: 0x42f3b58d, outHI: 0x0
+swr :: offset: 0x7b3, out: 0x42f3b58d, outHI: 0x0
+swr :: offset: 0x7b4, out: 0x372c209e42f3b58d, outHI: 0x0
+swr :: offset: 0x7b5, out: 0x372c209e42f3b58d, outHI: 0x0
+swr :: offset: 0x7b6, out: 0x372c209e42f3b58d, outHI: 0x0
+swr :: offset: 0x7b7, out: 0x372c209e42f3b58d, outHI: 0x0
+swr :: offset: 0x7b8, out: 0xe122a83b, outHI: 0x0
+swr :: offset: 0x7b9, out: 0xe122a83b, outHI: 0x0
+swr :: offset: 0x7ba, out: 0xe122a83b, outHI: 0x0
+swr :: offset: 0x7bb, out: 0xe122a83b, outHI: 0x0
+swr :: offset: 0x7bc, out: 0x30f870b7e122a83b, outHI: 0x0
+swr :: offset: 0x7bd, out: 0x30f870b7e122a83b, outHI: 0x0
+swr :: offset: 0x7be, out: 0x30f870b7e122a83b, outHI: 0x0
+swr :: offset: 0x7bf, out: 0x30f870b7e122a83b, outHI: 0x0
+swr :: offset: 0x7c0, out: 0x678930ec, outHI: 0x0
+swr :: offset: 0x7c1, out: 0x678930ec, outHI: 0x0
+swr :: offset: 0x7c2, out: 0x678930ec, outHI: 0x0
+swr :: offset: 0x7c3, out: 0x678930ec, outHI: 0x0
+swr :: offset: 0x7c4, out: 0x9e02de4b678930ec, outHI: 0x0
+swr :: offset: 0x7c5, out: 0x9e02de4b678930ec, outHI: 0x0
+swr :: offset: 0x7c6, out: 0x9e02de4b678930ec, outHI: 0x0
+swr :: offset: 0x7c7, out: 0x9e02de4b678930ec, outHI: 0x0
+swr :: offset: 0x7c8, out: 0x9826631e, outHI: 0x0
+swr :: offset: 0x7c9, out: 0x9826631e, outHI: 0x0
+swr :: offset: 0x7ca, out: 0x9826631e, outHI: 0x0
+swr :: offset: 0x7cb, out: 0x9826631e, outHI: 0x0
+swr :: offset: 0x7cc, out: 0xcd61a8639826631e, outHI: 0x0
+swr :: offset: 0x7cd, out: 0xcd61a8639826631e, outHI: 0x0
+swr :: offset: 0x7ce, out: 0xcd61a8639826631e, outHI: 0x0
+swr :: offset: 0x7cf, out: 0xcd61a8639826631e, outHI: 0x0
+swr :: offset: 0x7d0, out: 0x9a7bd3ca, outHI: 0x0
+swr :: offset: 0x7d1, out: 0x9a7bd3ca, outHI: 0x0
+swr :: offset: 0x7d2, out: 0x9a7bd3ca, outHI: 0x0
+swr :: offset: 0x7d3, out: 0x9a7bd3ca, outHI: 0x0
+swr :: offset: 0x7d4, out: 0xae87bc899a7bd3ca, outHI: 0x0
+swr :: offset: 0x7d5, out: 0xae87bc899a7bd3ca, outHI: 0x0
+swr :: offset: 0x7d6, out: 0xae87bc899a7bd3ca, outHI: 0x0
+swr :: offset: 0x7d7, out: 0xae87bc899a7bd3ca, outHI: 0x0
+swr :: offset: 0x7d8, out: 0x6481af17, outHI: 0x0
+swr :: offset: 0x7d9, out: 0x6481af17, outHI: 0x0
+swr :: offset: 0x7da, out: 0x6481af17, outHI: 0x0
+swr :: offset: 0x7db, out: 0x6481af17, outHI: 0x0
+swr :: offset: 0x7dc, out: 0x58ec644d6481af17, outHI: 0x0
+swr :: offset: 0x7dd, out: 0x58ec644d6481af17, outHI: 0x0
+swr :: offset: 0x7de, out: 0x58ec644d6481af17, outHI: 0x0
+swr :: offset: 0x7df, out: 0x58ec644d6481af17, outHI: 0x0
+swr :: offset: 0x7e0, out: 0xb236b666, outHI: 0x0
+swr :: offset: 0x7e1, out: 0xb236b666, outHI: 0x0
+swr :: offset: 0x7e2, out: 0xb236b666, outHI: 0x0
+swr :: offset: 0x7e3, out: 0xb236b666, outHI: 0x0
+swr :: offset: 0x7e4, out: 0x680cce5fb236b666, outHI: 0x0
+swr :: offset: 0x7e5, out: 0x680cce5fb236b666, outHI: 0x0
+swr :: offset: 0x7e6, out: 0x680cce5fb236b666, outHI: 0x0
+swr :: offset: 0x7e7, out: 0x680cce5fb236b666, outHI: 0x0
+swr :: offset: 0x7e8, out: 0x1f6d4d75, outHI: 0x0
+swr :: offset: 0x7e9, out: 0x1f6d4d75, outHI: 0x0
+swr :: offset: 0x7ea, out: 0x1f6d4d75, outHI: 0x0
+swr :: offset: 0x7eb, out: 0x1f6d4d75, outHI: 0x0
+swr :: offset: 0x7ec, out: 0x3baa99471f6d4d75, outHI: 0x0
+swr :: offset: 0x7ed, out: 0x3baa99471f6d4d75, outHI: 0x0
+swr :: offset: 0x7ee, out: 0x3baa99471f6d4d75, outHI: 0x0
+swr :: offset: 0x7ef, out: 0x3baa99471f6d4d75, outHI: 0x0
+swr :: offset: 0x7f0, out: 0x5f12236b, outHI: 0x0
+swr :: offset: 0x7f1, out: 0x5f12236b, outHI: 0x0
+swr :: offset: 0x7f2, out: 0x5f12236b, outHI: 0x0
+swr :: offset: 0x7f3, out: 0x5f12236b, outHI: 0x0
+swr :: offset: 0x7f4, out: 0x614d9b445f12236b, outHI: 0x0
+swr :: offset: 0x7f5, out: 0x614d9b445f12236b, outHI: 0x0
+swr :: offset: 0x7f6, out: 0x614d9b445f12236b, outHI: 0x0
+swr :: offset: 0x7f7, out: 0x614d9b445f12236b, outHI: 0x0
diff --git a/none/tests/mips64/load_store.vgtest b/none/tests/mips64/load_store.vgtest
new file mode 100644
index 0000000..5624fd3
--- /dev/null
+++ b/none/tests/mips64/load_store.vgtest
@@ -0,0 +1,2 @@
+prog: load_store
+vgopts: -q
diff --git a/none/tests/mips64/load_store_multiple.c b/none/tests/mips64/load_store_multiple.c
new file mode 100644
index 0000000..b2186db
--- /dev/null
+++ b/none/tests/mips64/load_store_multiple.c
@@ -0,0 +1,350 @@
+#include <stdio.h>
+
+unsigned int mem[] = {
+   0x121f1e1f, 0, 3, -1,
+   0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a,
+   0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a,
+   0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+};
+
+unsigned int mem1[] = {
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+   0xffffffff, 0, 0, 0,
+   0, 0, 0, 0
+};
+
+unsigned int mem2[] = {
+   0x0000e680, 0x00010700, 0x0000e7dc, 0x0000b0d0,
+   0x2ab05fd0, 0x0000b6a0, 0x0000be80, 0x0000de10,
+   0x0000df20, 0x2ab05fe0, 0x0000dfd0, 0x00010300
+};
+
+#define TESTINST1(instruction, RTval, offset, RT, RS)  \
+{                                                      \
+   unsigned int out;                                   \
+   __asm__ __volatile__(                               \
+      "move $"#RS", %1"                 "\n\t"         \
+      "li   $"#RT", "#RTval             "\n\t"         \
+      instruction                       "\n\t"         \
+      "lw   %0,     "#offset"($"#RS")"  "\n\t"         \
+      : "=&r" (out)                                    \
+      : "r" (mem1), "r" (RTval)                        \
+      : #RT, #RS                                       \
+   );                                                  \
+   printf("%s :: RTval: 0x%x, out: 0x%x\n",            \
+          instruction, RTval, out);                    \
+   out = 0;                                            \
+   __asm__ __volatile__(                               \
+      "move $"#RS", %1"                 "\n\t"         \
+      "li   $"#RT", " #RTval            "\n\t"         \
+      instruction                       "\n\t"         \
+      "lw   %0,     "#offset"($"#RS")"  "\n\t"         \
+      : "=&r" (out)                                    \
+      : "r" (mem), "r" (RTval)                         \
+      : #RT, #RS                                       \
+   );                                                  \
+   printf("%s :: RTval: 0x%x, out: 0x%x\n",            \
+          instruction, RTval, out);                    \
+}
+
+/* swl $t0, 3($t1)
+   swr $t0, 0($t1) */
+#define TESTINSTsw(RTval, offset, RT, RS)                                    \
+{                                                                            \
+   unsigned int out;                                                         \
+   __asm__ __volatile__(                                                     \
+      "move   $"#RS", %1"               "\n\t"                               \
+      "daddiu $"#RS", $"#RS", "#offset  "\n\t"                               \
+      "li     $"#RT", "#RTval           "\n\t"                               \
+      "swl    $t0,    3($t1)"           "\n\t"                               \
+      "swr    $t0,    0($t1)"           "\n\t"                               \
+      "lw     %0,     0($"#RS")"        "\n\t"                               \
+      : "=&r" (out)                                                          \
+      : "r" (mem2), "r" (RTval)                                              \
+      : #RT, #RS                                                             \
+   );                                                                        \
+   printf("swl $t0, 3($t1)\nswr $t0, 0($t1)\n :: RTval: 0x%x, out: 0x%x\n",  \
+          RTval, out);                                                       \
+}
+
+void ppMem(unsigned int* m, int len)
+{
+   int i;
+   printf("MEM1:\n");
+   for (i = 0; i < len; i += 4) {
+      printf("0x%x, 0x%x, 0x%x, 0x%x\n", m[i], m[i+1], m[i+2], m[i+3]);
+      m[i] = 0;
+      m[i+1] = 0;
+      m[i+2] = 0;
+      m[i+3] = 0;
+      if (i == 2) {
+         m[i] = 0xffffffff;
+         m[i+1] = 0;
+         m[i+2] = 0;
+         m[i+3] = 0;
+      }
+   }
+}
+
+void ppMem1(unsigned int* m, int len)
+{
+   int i;
+   printf("MEM:\n");
+   for (i = 0; i < len; i += 4) {
+      printf("0x%x, 0x%x, 0x%x, 0x%x\n", m[i], m[i+1], m[i+2], m[i+3]);
+   }
+   m[0] = 0x121f1e1f;
+   m[1] = 0;
+   m[2] = 3;
+   m[3] = -1;
+   m[4] = 0x232f2e2f;
+   m[5] = 0x242c2b2b;
+   m[6] = 0x252a2e2b;
+   m[7] = 0x262d2d2a;
+   m[8] = 0x3f343f3e;
+   m[9] = 0x3e353d3c;
+   m[10] = 0x363a3c3b;
+   m[11] = 0x3b373b3a;
+   m[12] = 0x454f4e45;
+   m[13] = 0x4e464d46;
+   m[14] = 0x474d474c;
+   m[15] = 0x4a484a4c;
+}
+
+void ppMem2(unsigned int* m, int len)
+{
+   int i;
+   printf("MEM:\n");
+   for (i = 0; i < len; i=i+4) {
+      printf("0x%x, 0x%x, 0x%x, 0x%x\n", m[i], m[i+1], m[i+2], m[i+3]);
+   }
+
+   m[0] = 0x0000e680;
+   m[1] = 0x00010700;
+   m[2] = 0x0000e7dc;
+   m[3] = 0x0000b0d0;
+   m[4] = 0x2ab05fd0;
+   m[5] = 0x0000b6a0;
+   m[6] = 0x0000be80;
+   m[7] = 0x0000de10;
+   m[8] = 0x0000df20;
+   m[9] = 0x2ab05fe0;
+   m[10] = 0x0000dfd0;
+   m[11] = 0x00010300;
+}
+
+int main()
+{
+   printf("sb\n");
+   TESTINST1("sb $t0, 3($t1)",  0,          3,  t0, t1);
+   TESTINST1("sb $t0, 5($t1)",  0x31415927, 5,  t0, t1);
+   TESTINST1("sb $t0, 7($t1)",  0x7fffffff, 7,  t0, t1);
+   TESTINST1("sb $t0, 1($t1)",  0x80000000, 1,  t0, t1);
+   TESTINST1("sb $t0, 2($t1)",  0x80000000, 2,  t0, t1);
+   TESTINST1("sb $t0, 6($t1)",  0x7fffffff, 6,  t0, t1);
+   TESTINST1("sb $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+   TESTINST1("sb $t0, 8($t1)",  -1,         8,  t0, t1);
+   TESTINST1("sb $t0, 0($t1)",  0x31415927, 0,  t0, t1);
+   TESTINST1("sb $t0, 0($t1)",  0x0dd00000, 0,  t0, t1);
+   TESTINST1("sb $t0, 0($t1)",  655,        0,  t0, t1);
+   TESTINST1("sb $t0, 0($t1)",  -655,       0,  t0, t1);
+   TESTINST1("sb $t0, 0($t1)",  15,         0,  t0, t1);
+   TESTINST1("sb $t0, 0($t1)",  1,          0,  t0, t1);
+   TESTINST1("sb $t0, 0($t1)",  53,         0,  t0, t1);
+   TESTINST1("sb $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("sb $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("sb $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+   TESTINST1("sb $t0, 35($t1)", 0xffffffff, 35, t0, t1);
+   TESTINST1("sb $t0, 41($t1)", 0x31415927, 41, t0, t1);
+   TESTINST1("sb $t0, 42($t1)", 0x7fffffff, 42, t0, t1);
+   TESTINST1("sb $t0, 45($t1)", 0x80000000, 45, t0, t1);
+   TESTINST1("sb $t0, 51($t1)", 655,        51, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("sh\n");
+   TESTINST1("sh $t0, 1($t1)",  0,          1,  t0, t1);
+   TESTINST1("sh $t0, 3($t1)",  0x31415927, 3,  t0, t1);
+   TESTINST1("sh $t0, 5($t1)",  0x7fffffff, 5,  t0, t1);
+   TESTINST1("sh $t0, 7($t1)",  0x80000000, 7,  t0, t1);
+   TESTINST1("sh $t0, 9($t1)",  0x80000000, 9,  t0, t1);
+   TESTINST1("sh $t0, 6($t1)",  0x7fffffff, 6,  t0, t1);
+   TESTINST1("sh $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+   TESTINST1("sh $t0, 8($t1)",  -1,         8,  t0, t1);
+   TESTINST1("sh $t0, 0($t1)",  0x31415927, 0,  t0, t1);
+   TESTINST1("sh $t0, 0($t1)",  0x0dd00000, 0,  t0, t1);
+   TESTINST1("sh $t0, 0($t1)",  655,        0,  t0, t1);
+   TESTINST1("sh $t0, 0($t1)",  -655,       0,  t0, t1);
+   TESTINST1("sh $t0, 0($t1)",  15,         0,  t0, t1);
+   TESTINST1("sh $t0, 0($t1)",  1,          0,  t0, t1);
+   TESTINST1("sh $t0, 0($t1)",  53,         0,  t0, t1);
+   TESTINST1("sh $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("sh $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("sh $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+   TESTINST1("sh $t0, 35($t1)", 0xffffffff, 35, t0, t1);
+   TESTINST1("sh $t0, 41($t1)", 0x31415927, 41, t0, t1);
+   TESTINST1("sh $t0, 47($t1)", 0x7fffffff, 47, t0, t1);
+   TESTINST1("sh $t0, 49($t1)", 0x80000000, 49, t0, t1);
+   TESTINST1("sh $t0, 51($t1)", 655,        51, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("sw\n");
+   TESTINST1("sw $t0, 1($t1)",  0,          1,  t0, t1);
+   TESTINST1("sw $t0, 3($t1)",  0x31415927, 3,  t0, t1);
+   TESTINST1("sw $t0, 5($t1)",  0x7fffffff, 5,  t0, t1);
+   TESTINST1("sw $t0, 7($t1)",  0x80000000, 7,  t0, t1);
+   TESTINST1("sw $t0, 9($t1)",  0x80000000, 9,  t0, t1);
+   TESTINST1("sw $t0, 6($t1)",  0x7fffffff, 6,  t0, t1);
+   TESTINST1("sw $t0, 15($t1)", 0x7fffffff, 11, t0, t1);
+   TESTINST1("sw $t0, 8($t1)",  -1,         8,  t0, t1);
+   TESTINST1("sw $t0, 0($t1)",  0x31415927, 0,  t0, t1);
+   TESTINST1("sw $t0, 0($t1)",  0x0dd00000, 0,  t0, t1);
+   TESTINST1("sw $t0, 0($t1)",  655,        0,  t0, t1);
+   TESTINST1("sw $t0, 0($t1)",  -655,       0,  t0, t1);
+   TESTINST1("sw $t0, 0($t1)",  15,         0,  t0, t1);
+   TESTINST1("sw $t0, 0($t1)",  1,          0,  t0, t1);
+   TESTINST1("sw $t0, 0($t1)",  53,         0,  t0, t1);
+   TESTINST1("sw $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("sw $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("sw $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+   TESTINST1("sw $t0, 37($t1)", 0xffffffff, 37, t0, t1);
+   TESTINST1("sw $t0, 49($t1)", 0x31415927, 49, t0, t1);
+   TESTINST1("sw $t0, 41($t1)", 0x7fffffff, 41, t0, t1);
+   TESTINST1("sw $t0, 43($t1)", 0x80000000, 43, t0, t1);
+   TESTINST1("sw $t0, 51($t1)", 655,        51, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("swl\n");
+   TESTINST1("swl $t0, 1($t1)",  0,          1,  t0, t1);
+   TESTINST1("swl $t0, 3($t1)",  0x31415927, 3,  t0, t1);
+   TESTINST1("swl $t0, 5($t1)",  0x7fffffff, 5,  t0, t1);
+   TESTINST1("swl $t0, 7($t1)",  0x80000000, 7,  t0, t1);
+   TESTINST1("swl $t0, 9($t1)",  0x80000000, 9,  t0, t1);
+   TESTINST1("swl $t0, 6($t1)",  0x7fffffff, 6,  t0, t1);
+   TESTINST1("swl $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+   TESTINST1("swl $t0, 8($t1)",  -1,         8,  t0, t1);
+   TESTINST1("swl $t0, 0($t1)",  0x31415927, 0,  t0, t1);
+   TESTINST1("swl $t0, 0($t1)",  0x0dd00000, 0,  t0, t1);
+   TESTINST1("swl $t0, 0($t1)",  655,        0,  t0, t1);
+   TESTINST1("swl $t0, 0($t1)",  -655,       0,  t0, t1);
+   TESTINST1("swl $t0, 0($t1)",  15,         0,  t0, t1);
+   TESTINST1("swl $t0, 0($t1)",  1,          0,  t0, t1);
+   TESTINST1("swl $t0, 0($t1)",  53,         0,  t0, t1);
+   TESTINST1("swl $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("swl $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("swl $t0, 33($t1)", 0xffffffff, 33, t0, t1);
+   TESTINST1("swl $t0, 35($t1)", 0xffffffff, 35, t0, t1);
+   TESTINST1("swl $t0, 41($t1)", 0x31415927, 41, t0, t1);
+   TESTINST1("swl $t0, 45($t1)", 0x7fffffff, 45, t0, t1);
+   TESTINST1("swl $t0, 49($t1)", 0x80000000, 49, t0, t1);
+   TESTINST1("swl $t0, 51($t1)", 655,        51, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("swr\n");
+   TESTINST1("swr $t0, 1($t1)",  0,          1,  t0, t1);
+   TESTINST1("swr $t0, 3($t1)",  0x31415927, 3,  t0, t1);
+   TESTINST1("swr $t0, 5($t1)",  0x7fffffff, 5,  t0, t1);
+   TESTINST1("swr $t0, 7($t1)",  0x80000000, 7,  t0, t1);
+   TESTINST1("swr $t0, 9($t1)",  0x80000000, 9,  t0, t1);
+   TESTINST1("swr $t0, 6($t1)",  0x7fffffff, 6,  t0, t1);
+   TESTINST1("swr $t0, 11($t1)", 0x7fffffff, 11, t0, t1);
+   TESTINST1("swr $t0, 8($t1)",  -1,         8,  t0, t1);
+   TESTINST1("swr $t0, 0($t1)",  0x31415927, 0,  t0, t1);
+   TESTINST1("swr $t0, 0($t1)",  0x0dd00000, 0,  t0, t1);
+   TESTINST1("swr $t0, 0($t1)",  655,        0,  t0, t1);
+   TESTINST1("swr $t0, 0($t1)",  -655,       0,  t0, t1);
+   TESTINST1("swr $t0, 0($t1)",  15,         0,  t0, t1);
+   TESTINST1("swr $t0, 0($t1)",  1,          0,  t0, t1);
+   TESTINST1("swr $t0, 0($t1)",  53,         0,  t0, t1);
+   TESTINST1("swr $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("swr $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("swr $t0, 31($t1)", 0xffffffff, 31, t0, t1);
+   TESTINST1("swr $t0, 33($t1)", 0xffffffff, 33, t0, t1);
+   TESTINST1("swr $t0, 45($t1)", 0x31415927, 45, t0, t1);
+   TESTINST1("swr $t0, 47($t1)", 0x7fffffff, 47, t0, t1);
+   TESTINST1("swr $t0, 49($t1)", 0x80000000, 49, t0, t1);
+   TESTINST1("swr $t0, 51($t1)", 655,        51, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("ulw\n");
+   TESTINST1("ulw $t0, 0($t1)",  0,          0,  t0, t1);
+   TESTINST1("ulw $t0, 0($t1)",  0x31415927, 0,  t0, t1);
+   TESTINST1("ulw $t0, 0($t1)",  0x7fffffff, 0,  t0, t1);
+   TESTINST1("ulw $t0, 0($t1)",  0x80000000, 0,  t0, t1);
+   TESTINST1("ulw $t0, 2($t1)",  0x80000000, 2,  t0, t1);
+   TESTINST1("ulw $t0, 6($t1)",  0x7fffffff, 6,  t0, t1);
+   TESTINST1("ulw $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+   TESTINST1("ulw $t0, 8($t1)",  -1,         8,  t0, t1);
+   TESTINST1("ulw $t0, 0($t1)",  0x31415927, 0,  t0, t1);
+   TESTINST1("ulw $t0, 0($t1)",  0x0dd00000, 0,  t0, t1);
+   TESTINST1("ulw $t0, 0($t1)",  655,        0,  t0, t1);
+   TESTINST1("ulw $t0, 0($t1)",  -655,       0,  t0, t1);
+   TESTINST1("ulw $t0, 0($t1)",  15,         0,  t0, t1);
+   TESTINST1("ulw $t0, 0($t1)",  1,          0,  t0, t1);
+   TESTINST1("ulw $t0, 0($t1)",  53,         0,  t0, t1);
+   TESTINST1("ulw $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("ulw $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("ulw $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+   TESTINST1("ulw $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+   TESTINST1("ulw $t0, 40($t1)", 0x31415927, 40, t0, t1);
+   TESTINST1("ulw $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+   TESTINST1("ulw $t0, 48($t1)", 0x80000000, 48, t0, t1);
+   TESTINST1("ulw $t0, 52($t1)", 655,        52, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("usw\n");
+   TESTINST1("usw $t0, 0($t1)",  0,          0,  t0, t1);
+   TESTINST1("usw $t0, 0($t1)",  0x31415927, 0,  t0, t1);
+   TESTINST1("usw $t0, 0($t1)",  0x7fffffff, 0,  t0, t1);
+   TESTINST1("usw $t0, 0($t1)",  0x80000000, 0,  t0, t1);
+   TESTINST1("usw $t0, 2($t1)",  0x80000000, 2,  t0, t1);
+   TESTINST1("usw $t0, 6($t1)",  0x7fffffff, 6,  t0, t1);
+   TESTINST1("usw $t0, 10($t1)", 0x7fffffff, 10, t0, t1);
+   TESTINST1("usw $t0, 8($t1)",  -1,         8,  t0, t1);
+   TESTINST1("usw $t0, 0($t1)",  0x31415927, 0,  t0, t1);
+   TESTINST1("usw $t0, 0($t1)",  0x0dd00000, 0,  t0, t1);
+   TESTINST1("usw $t0, 0($t1)",  655,        0,  t0, t1);
+   TESTINST1("usw $t0, 0($t1)",  -655,       0,  t0, t1);
+   TESTINST1("usw $t0, 0($t1)",  15,         0,  t0, t1);
+   TESTINST1("usw $t0, 0($t1)",  1,          0,  t0, t1);
+   TESTINST1("usw $t0, 0($t1)",  53,         0,  t0, t1);
+   TESTINST1("usw $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("usw $t0, 2($t1)",  0xffffffff, 2,  t0, t1);
+   TESTINST1("usw $t0, 32($t1)", 0xffffffff, 32, t0, t1);
+   TESTINST1("usw $t0, 36($t1)", 0xffffffff, 36, t0, t1);
+   TESTINST1("usw $t0, 40($t1)", 0x31415927, 40, t0, t1);
+   TESTINST1("usw $t0, 44($t1)", 0x7fffffff, 44, t0, t1);
+   TESTINST1("usw $t0, 48($t1)", 0x80000000, 48, t0, t1);
+   TESTINST1("usw $t0, 52($t1)", 655,        52, t0, t1);
+   ppMem(mem1, 16);
+   ppMem1(mem, 16);
+
+   printf("swl $t0, 3($t0)\nswr $t0, 0($t0)\n");
+   TESTINSTsw(0x4853000,  0,  t0, t1);
+   ppMem2(mem2, 12);
+   TESTINSTsw(0x4853000,  4,  t0, t1);
+   ppMem2(mem2, 12);
+   TESTINSTsw(0x4863700,  8,  t0, t1);
+   ppMem2(mem2, 12);
+   TESTINSTsw(0x48aedd0,  12, t0, t1);
+   ppMem2(mem2, 12);
+   TESTINSTsw(0x2aaee700, 16, t0, t1);
+   ppMem2(mem2, 12);
+   TESTINSTsw(0x2aaee7ff, 20, t0, t1);
+   ppMem2(mem2, 12);
+   TESTINSTsw(0x2aaeffff, 24, t0, t1);
+   ppMem2(mem2, 12);
+   TESTINSTsw(0x4863700,  28, t0, t1);
+   ppMem2(mem2, 12);
+   TESTINSTsw(0x2aaee700, 32, t0, t1);
+   ppMem2(mem2, 12);
+
+   return 0;
+}
+
diff --git a/none/tests/mips64/load_store_multiple.stderr.exp b/none/tests/mips64/load_store_multiple.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/load_store_multiple.stderr.exp
diff --git a/none/tests/mips64/load_store_multiple.stdout.exp-BE b/none/tests/mips64/load_store_multiple.stdout.exp-BE
new file mode 100644
index 0000000..4e1c961
--- /dev/null
+++ b/none/tests/mips64/load_store_multiple.stdout.exp-BE
@@ -0,0 +1,464 @@
+sb
+sb $t0, 3($t1) :: RTval: 0x0, out: 0x0
+sb $t0, 3($t1) :: RTval: 0x0, out: 0x0
+sb $t0, 5($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 5($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 7($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 7($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 1($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 1($t1) :: RTval: 0x80000000, out: 0x1e0000
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x27
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x27
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sb $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff0000ff
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff0000ff
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x8f000000
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x8f000000
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71000000
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71000000
+sb $t0, 0($t1) :: RTval: 0xf, out: 0xf000000
+sb $t0, 0($t1) :: RTval: 0xf, out: 0xf000000
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x1000000
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x1000000
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x35000000
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x35000000
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff000027
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff000027
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff000027
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff000027
+sb $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sb $t0, 31($t1) :: RTval: 0xffffffff, out: 0xff3f343f
+sb $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff000000
+sb $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff3e353d
+sb $t0, 41($t1) :: RTval: 0x31415927, out: 0x27000000
+sb $t0, 41($t1) :: RTval: 0x31415927, out: 0x273c3b3b
+sb $t0, 42($t1) :: RTval: 0x7fffffff, out: 0xff000000
+sb $t0, 42($t1) :: RTval: 0x7fffffff, out: 0xff3b3b37
+sb $t0, 45($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 45($t1) :: RTval: 0x80000000, out: 0x3b3a45
+sb $t0, 51($t1) :: RTval: 0x28f, out: 0x8f000000
+sb $t0, 51($t1) :: RTval: 0x28f, out: 0x8f4e464d
+MEM1:
+0x3500ff00, 0x27ffff, 0xff0000ff, 0x0
+0x0, 0x0, 0x0, 0xff
+0xffffffff, 0x0, 0x27ff00, 0x0
+0x8f, 0x0, 0x0, 0x0
+MEM:
+0x3500ff00, 0x27ffff, 0xff0000ff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2dff
+0x3f343fff, 0x3e353d3c, 0x3627ff3b, 0x3b003b3a
+0x454f4e8f, 0x4e464d46, 0x474d474c, 0x4a484a4c
+sh
+sh $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sh $t0, 1($t1) :: RTval: 0x0, out: 0x1f00
+sh $t0, 3($t1) :: RTval: 0x31415927, out: 0x59270000
+sh $t0, 3($t1) :: RTval: 0x31415927, out: 0x59270000
+sh $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 9($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 9($t1) :: RTval: 0x80000000, out: 0x3ff
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffff00ff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffff00ff
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x59270059
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x59270059
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x59
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x59
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x28f0059
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x28f0059
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfd710059
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfd710059
+sh $t0, 0($t1) :: RTval: 0xf, out: 0xf0059
+sh $t0, 0($t1) :: RTval: 0xf, out: 0xf0059
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x10059
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x10059
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x350059
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x350059
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff27ff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff27ff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff27ff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff27ff
+sh $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffff0000
+sh $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffff343f
+sh $t0, 35($t1) :: RTval: 0xffffffff, out: 0xffff0000
+sh $t0, 35($t1) :: RTval: 0xffffffff, out: 0xffff353d
+sh $t0, 41($t1) :: RTval: 0x31415927, out: 0x59270000
+sh $t0, 41($t1) :: RTval: 0x31415927, out: 0x59273b3b
+sh $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+sh $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xffff4f4e
+sh $t0, 49($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 49($t1) :: RTval: 0x80000000, out: 0x454e
+sh $t0, 51($t1) :: RTval: 0x28f, out: 0x28f0000
+sh $t0, 51($t1) :: RTval: 0x28f, out: 0x28f464d
+MEM1:
+0x35ffff, 0x27ffffff, 0xffff00ff, 0xff000000
+0x0, 0x0, 0x0, 0xff
+0xff0000ff, 0xff000000, 0x592700, 0xff
+0xff000002, 0x8f000000, 0x0, 0x0
+MEM:
+0x35ffff, 0x27ffffff, 0xffff00ff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2dff
+0xff343fff, 0xff353d3c, 0x3659273b, 0x3b373bff
+0xff000002, 0x8f464d46, 0x474d474c, 0x4a484a4c
+sw
+sw $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 3($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 3($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 9($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 9($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 15($t1) :: RTval: 0x7fffffff, out: 0x0
+sw $t0, 15($t1) :: RTval: 0x7fffffff, out: 0xffff
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 37($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 37($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 49($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 49($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 41($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 41($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 43($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 43($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 51($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 51($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff, 0xffff7fff, 0xffffffff, 0x7f
+0xffffff00, 0x0, 0x0, 0xff
+0xffffff00, 0xffffff, 0xff7fff80, 0x0
+0x314100, 0x28f00, 0x0, 0x0
+MEM:
+0xffff, 0xffff7fff, 0xffffffff, 0xffff7f
+0xffffff2f, 0x242c2b2b, 0x252a2e2b, 0x262d2dff
+0xffffff3e, 0x3effffff, 0xff7fff80, 0x3a
+0x45314100, 0x28f46, 0x474d474c, 0x4a484a4c
+swl
+swl $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swl $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swl $t0, 3($t1) :: RTval: 0x31415927, out: 0x31000000
+swl $t0, 3($t1) :: RTval: 0x31415927, out: 0x31000000
+swl $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffff00
+swl $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffff00
+swl $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 9($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 9($t1) :: RTval: 0x80000000, out: 0x800000ff
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fff0080
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fff0080
+swl $t0, 11($t1) :: RTval: 0x7fffffff, out: 0x7f000000
+swl $t0, 11($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swl $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swl $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff007f
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff007f
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff007f
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff007f
+swl $t0, 33($t1) :: RTval: 0xffffffff, out: 0xffffff00
+swl $t0, 33($t1) :: RTval: 0xffffffff, out: 0xffffff3e
+swl $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff000000
+swl $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff3e353d
+swl $t0, 41($t1) :: RTval: 0x31415927, out: 0x31415900
+swl $t0, 41($t1) :: RTval: 0x31415927, out: 0x3141593b
+swl $t0, 45($t1) :: RTval: 0x7fffffff, out: 0x7fffff00
+swl $t0, 45($t1) :: RTval: 0x7fffffff, out: 0x7fffff45
+swl $t0, 49($t1) :: RTval: 0x80000000, out: 0x80000000
+swl $t0, 49($t1) :: RTval: 0x80000000, out: 0x8000004e
+swl $t0, 51($t1) :: RTval: 0x28f, out: 0x0
+swl $t0, 51($t1) :: RTval: 0x28f, out: 0x4e464d
+MEM1:
+0xffff, 0x7f7fff, 0xffffffff, 0x0
+0x0, 0x0, 0x0, 0x0
+0xffffff, 0x0, 0x314159, 0x7fffff
+0x800000, 0x0, 0x0, 0x0
+MEM:
+0xffff, 0x7f7fff, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0x3fffffff, 0x3e353d3c, 0x36314159, 0x3b7fffff
+0x45800000, 0x4e464d46, 0x474d474c, 0x4a484a4c
+swr
+swr $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swr $t0, 1($t1) :: RTval: 0x0, out: 0x1e1f00
+swr $t0, 3($t1) :: RTval: 0x31415927, out: 0x27000000
+swr $t0, 3($t1) :: RTval: 0x31415927, out: 0x27000000
+swr $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 9($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 9($t1) :: RTval: 0x80000000, out: 0x3ff
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x27415927
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x27415927
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0x415927
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0x415927
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x8f415927
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x8f415927
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71415927
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71415927
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf415927
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf415927
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x1415927
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x1415927
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x35415927
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x35415927
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff27ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff27ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff27ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff27ffff
+swr $t0, 31($t1) :: RTval: 0xffffffff, out: 0xff000000
+swr $t0, 31($t1) :: RTval: 0xffffffff, out: 0xff3f343f
+swr $t0, 33($t1) :: RTval: 0xffffffff, out: 0xff000000
+swr $t0, 33($t1) :: RTval: 0xffffffff, out: 0xff3f3e3e
+swr $t0, 45($t1) :: RTval: 0x31415927, out: 0x27000000
+swr $t0, 45($t1) :: RTval: 0x31415927, out: 0x273b3a45
+swr $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xff000000
+swr $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xff454f4e
+swr $t0, 49($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 49($t1) :: RTval: 0x80000000, out: 0x4e454e
+swr $t0, 51($t1) :: RTval: 0x28f, out: 0x8f000000
+swr $t0, 51($t1) :: RTval: 0x28f, out: 0x8f4e464d
+MEM1:
+0xffffff27, 0xffffff00, 0xffffffff, 0x0
+0x0, 0x0, 0x0, 0xffffffff
+0xffff0000, 0x0, 0x0, 0x7fffffff
+0x28f, 0x0, 0x0, 0x0
+MEM:
+0xffffff27, 0xffffff00, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0xffffffff
+0xffff3f3e, 0x3e353d3c, 0x363a3c3b, 0x7fffffff
+0x28f, 0x4e464d46, 0x474d474c, 0x4a484a4c
+ulw
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x1e1f0000
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x3ffff
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x3
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x1e1f0000
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x1e1f0000
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x3f343f3e
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x3e353d3c
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x363a3c3b
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x3b373b3a
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x454f4e45
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x4e464d46
+MEM1:
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+MEM:
+0x121f1e1f, 0x0, 0x3, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a
+0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+usw
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff, 0xffff7fff, 0xffffffff, 0xffff0000
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x0, 0x0
+MEM:
+0xffff, 0xffff7fff, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x474d474c, 0x4a484a4c
+swl $t0, 3($t0)
+swr $t0, 0($t0)
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0xe604
+MEM:
+0xe604, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0x10704
+MEM:
+0xe680, 0x10704, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0xe704
+MEM:
+0xe680, 0x10700, 0xe704, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x48aedd0, out: 0xd000b004
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xd000b004
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0xb05f2a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0xb05f2a, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee7ff, out: 0xff00b62a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xff00b62a, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaeffff, out: 0xff00be2a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xff00be2a, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0xde04
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde04
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0xdf2a
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf2a, 0x2ab05fe0, 0xdfd0, 0x10300
diff --git a/none/tests/mips64/load_store_multiple.stdout.exp-LE b/none/tests/mips64/load_store_multiple.stdout.exp-LE
new file mode 100644
index 0000000..d9579b9
--- /dev/null
+++ b/none/tests/mips64/load_store_multiple.stdout.exp-LE
@@ -0,0 +1,464 @@
+sb
+sb $t0, 3($t1) :: RTval: 0x0, out: 0x0
+sb $t0, 3($t1) :: RTval: 0x0, out: 0x0
+sb $t0, 5($t1) :: RTval: 0x31415927, out: 0x27
+sb $t0, 5($t1) :: RTval: 0x31415927, out: 0x3000027
+sb $t0, 7($t1) :: RTval: 0x7fffffff, out: 0xff
+sb $t0, 7($t1) :: RTval: 0x7fffffff, out: 0x3ff
+sb $t0, 1($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 1($t1) :: RTval: 0x80000000, out: 0x1f00
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x27000000
+sb $t0, 2($t1) :: RTval: 0x80000000, out: 0x27000000
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff
+sb $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x3ffff
+sb $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xff
+sb $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff0000ff
+sb $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff0000ff
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27
+sb $t0, 0($t1) :: RTval: 0x31415927, out: 0x27
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x8f
+sb $t0, 0($t1) :: RTval: 0x28f, out: 0x8f
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71
+sb $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x71
+sb $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sb $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sb $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sb $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0x270000ff
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0x270000ff
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0x270000ff
+sb $t0, 2($t1) :: RTval: 0xffffffff, out: 0x270000ff
+sb $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sb $t0, 31($t1) :: RTval: 0xffffffff, out: 0x343f3eff
+sb $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff
+sb $t0, 35($t1) :: RTval: 0xffffffff, out: 0x353d3cff
+sb $t0, 41($t1) :: RTval: 0x31415927, out: 0x27
+sb $t0, 41($t1) :: RTval: 0x31415927, out: 0x3a363a27
+sb $t0, 42($t1) :: RTval: 0x7fffffff, out: 0xff
+sb $t0, 42($t1) :: RTval: 0x7fffffff, out: 0x3b3a36ff
+sb $t0, 45($t1) :: RTval: 0x80000000, out: 0x0
+sb $t0, 45($t1) :: RTval: 0x80000000, out: 0x453b3700
+sb $t0, 51($t1) :: RTval: 0x28f, out: 0x8f
+sb $t0, 51($t1) :: RTval: 0x28f, out: 0x464d468f
+MEM1:
+0xff0035, 0xffff2700, 0xff0000ff, 0x0
+0x0, 0x0, 0x0, 0xff000000
+0xffffffff, 0x0, 0xff2700, 0x0
+0x8f000000, 0x0, 0x0, 0x0
+MEM:
+0xff0035, 0xffff2700, 0xff0000ff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0xff2d2d2a
+0xff343f3e, 0x3e353d3c, 0x36ff273b, 0x3b37003a
+0x8f4f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+sh
+sh $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sh $t0, 1($t1) :: RTval: 0x0, out: 0x120000
+sh $t0, 3($t1) :: RTval: 0x31415927, out: 0x5927
+sh $t0, 3($t1) :: RTval: 0x31415927, out: 0x5927
+sh $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x300ffff
+sh $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 9($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 9($t1) :: RTval: 0x80000000, out: 0xff000000
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+sh $t0, 8($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x27005927
+sh $t0, 0($t1) :: RTval: 0x31415927, out: 0x27005927
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x27000000
+sh $t0, 0($t1) :: RTval: 0xdd00000, out: 0x27000000
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x2700028f
+sh $t0, 0($t1) :: RTval: 0x28f, out: 0x2700028f
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x2700fd71
+sh $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x2700fd71
+sh $t0, 0($t1) :: RTval: 0xf, out: 0x2700000f
+sh $t0, 0($t1) :: RTval: 0xf, out: 0x2700000f
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x27000001
+sh $t0, 0($t1) :: RTval: 0x1, out: 0x27000001
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x27000035
+sh $t0, 0($t1) :: RTval: 0x35, out: 0x27000035
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff59ffff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff59ffff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff59ffff
+sh $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff59ffff
+sh $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffff
+sh $t0, 31($t1) :: RTval: 0xffffffff, out: 0x343fffff
+sh $t0, 35($t1) :: RTval: 0xffffffff, out: 0xffff
+sh $t0, 35($t1) :: RTval: 0xffffffff, out: 0x353dffff
+sh $t0, 41($t1) :: RTval: 0x31415927, out: 0x5927
+sh $t0, 41($t1) :: RTval: 0x31415927, out: 0x3a365927
+sh $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xffff
+sh $t0, 47($t1) :: RTval: 0x7fffffff, out: 0x4f4effff
+sh $t0, 49($t1) :: RTval: 0x80000000, out: 0x0
+sh $t0, 49($t1) :: RTval: 0x80000000, out: 0x46450000
+sh $t0, 51($t1) :: RTval: 0x28f, out: 0x28f
+sh $t0, 51($t1) :: RTval: 0x28f, out: 0x464d028f
+MEM1:
+0xffff0035, 0xffffff59, 0xff00ffff, 0xff
+0x0, 0x0, 0x0, 0xff000000
+0xff0000ff, 0xff, 0x592700, 0xff000000
+0x8f0000ff, 0x2, 0x0, 0x0
+MEM:
+0xffff0035, 0xffffff59, 0xff00ffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0xff2d2d2a
+0xff343fff, 0x3e353dff, 0x3659273b, 0xff373b3a
+0x8f0000ff, 0x4e464d02, 0x474d474c, 0x4a484a4c
+sw
+sw $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 1($t1) :: RTval: 0x0, out: 0x0
+sw $t0, 3($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 3($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 7($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 9($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 9($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 15($t1) :: RTval: 0x7fffffff, out: 0x8000
+sw $t0, 15($t1) :: RTval: 0x7fffffff, out: 0xffff8000
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 31($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 37($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 37($t1) :: RTval: 0xffffffff, out: 0xffffffff
+sw $t0, 49($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 49($t1) :: RTval: 0x31415927, out: 0x31415927
+sw $t0, 41($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 41($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+sw $t0, 43($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 43($t1) :: RTval: 0x80000000, out: 0x80000000
+sw $t0, 51($t1) :: RTval: 0x28f, out: 0x28f
+sw $t0, 51($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff0035, 0xffffffff, 0xffffffff, 0xff000080
+0x7fffff, 0x0, 0x0, 0xff000000
+0xffffff, 0xffffff00, 0xffffff, 0x800000
+0x8f592700, 0x2, 0x0, 0x0
+MEM:
+0xffff0035, 0xffffffff, 0xffffffff, 0xffffff80
+0x237fffff, 0x242c2b2b, 0x252a2e2b, 0xff2d2d2a
+0x3fffffff, 0xffffff3c, 0xffffff, 0x3b800000
+0x8f592745, 0x4e000002, 0x474d474c, 0x4a484a4c
+swl
+swl $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swl $t0, 1($t1) :: RTval: 0x0, out: 0x121f00
+swl $t0, 3($t1) :: RTval: 0x31415927, out: 0x31
+swl $t0, 3($t1) :: RTval: 0x31415927, out: 0x31
+swl $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x7f
+swl $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x300007f
+swl $t0, 7($t1) :: RTval: 0x80000000, out: 0x80
+swl $t0, 7($t1) :: RTval: 0x80000000, out: 0x380
+swl $t0, 9($t1) :: RTval: 0x80000000, out: 0x80
+swl $t0, 9($t1) :: RTval: 0x80000000, out: 0xff000080
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x8000807f
+swl $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x8000807f
+swl $t0, 11($t1) :: RTval: 0x7fffffff, out: 0x7f
+swl $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffff7f
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0x7fffffff
+swl $t0, 8($t1) :: RTval: 0xffffffff, out: 0x7fffffff
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415931
+swl $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415931
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0x3141590d
+swl $t0, 0($t1) :: RTval: 0xdd00000, out: 0x3141590d
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0x28f, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x314159ff
+swl $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x314159ff
+swl $t0, 0($t1) :: RTval: 0xf, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0xf, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0x1, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x31415900
+swl $t0, 0($t1) :: RTval: 0x35, out: 0x31415900
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff31ff
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff31ff
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff31ff
+swl $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffff31ff
+swl $t0, 33($t1) :: RTval: 0xffffffff, out: 0xff
+swl $t0, 33($t1) :: RTval: 0xffffffff, out: 0x3c3f34ff
+swl $t0, 35($t1) :: RTval: 0xffffffff, out: 0xff
+swl $t0, 35($t1) :: RTval: 0xffffffff, out: 0x353d3cff
+swl $t0, 41($t1) :: RTval: 0x31415927, out: 0x31
+swl $t0, 41($t1) :: RTval: 0x31415927, out: 0x3a363a31
+swl $t0, 45($t1) :: RTval: 0x7fffffff, out: 0x7f
+swl $t0, 45($t1) :: RTval: 0x7fffffff, out: 0x453b377f
+swl $t0, 49($t1) :: RTval: 0x80000000, out: 0x80
+swl $t0, 49($t1) :: RTval: 0x80000000, out: 0x46454f80
+swl $t0, 51($t1) :: RTval: 0x28f, out: 0x0
+swl $t0, 51($t1) :: RTval: 0x28f, out: 0x464d4600
+MEM1:
+0x31ffffff, 0x807fffff, 0x7fffffff, 0x0
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0x0, 0x3141, 0x7fff
+0x28f, 0x0, 0x0, 0x0
+MEM:
+0x31ffffff, 0x807fffff, 0x7fffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0x3e353d3c, 0x363a3141, 0x3b377fff
+0x28f, 0x4e464d46, 0x474d474c, 0x4a484a4c
+swr
+swr $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swr $t0, 1($t1) :: RTval: 0x0, out: 0x0
+swr $t0, 3($t1) :: RTval: 0x31415927, out: 0x27
+swr $t0, 3($t1) :: RTval: 0x31415927, out: 0x27
+swr $t0, 5($t1) :: RTval: 0x7fffffff, out: 0xffffff
+swr $t0, 5($t1) :: RTval: 0x7fffffff, out: 0x3ffffff
+swr $t0, 7($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 7($t1) :: RTval: 0x80000000, out: 0x300
+swr $t0, 9($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 9($t1) :: RTval: 0x80000000, out: 0xff000000
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0xffff
+swr $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x3ffff
+swr $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xff
+swr $t0, 11($t1) :: RTval: 0x7fffffff, out: 0xffffffff
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swr $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swr $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swr $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swr $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swr $t0, 0($t1) :: RTval: 0xf, out: 0xf
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swr $t0, 0($t1) :: RTval: 0x1, out: 0x1
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swr $t0, 0($t1) :: RTval: 0x35, out: 0x35
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+swr $t0, 2($t1) :: RTval: 0xffffffff, out: 0xff00ffff
+swr $t0, 31($t1) :: RTval: 0xffffffff, out: 0xff
+swr $t0, 31($t1) :: RTval: 0xffffffff, out: 0x343f3eff
+swr $t0, 33($t1) :: RTval: 0xffffffff, out: 0xffffff
+swr $t0, 33($t1) :: RTval: 0xffffffff, out: 0x3cffffff
+swr $t0, 45($t1) :: RTval: 0x31415927, out: 0x415927
+swr $t0, 45($t1) :: RTval: 0x31415927, out: 0x45415927
+swr $t0, 47($t1) :: RTval: 0x7fffffff, out: 0xff
+swr $t0, 47($t1) :: RTval: 0x7fffffff, out: 0x4f4e45ff
+swr $t0, 49($t1) :: RTval: 0x80000000, out: 0x0
+swr $t0, 49($t1) :: RTval: 0x80000000, out: 0x46000000
+swr $t0, 51($t1) :: RTval: 0x28f, out: 0x8f
+swr $t0, 51($t1) :: RTval: 0x28f, out: 0x464d468f
+MEM1:
+0xffff0035, 0xffffff00, 0xffffffff, 0x0
+0x0, 0x0, 0x0, 0xff000000
+0xffffff00, 0x0, 0x0, 0xff592700
+0x8f000000, 0x0, 0x0, 0x0
+MEM:
+0xffff0035, 0xffffff00, 0xffffffff, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0xff2d2d2a
+0xffffff3e, 0x3e353d3c, 0x363a3c3b, 0xff59273a
+0x8f000045, 0x4e464d46, 0x474d474c, 0x4a484a4c
+ulw
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x0, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x80000000, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0x80000000, out: 0x121f
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x30000
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0xffff0000
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 8($t1) :: RTval: 0xffffffff, out: 0x3
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x31415927, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xdd00000, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x28f, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0xf, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x1, out: 0x121f1e1f
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x0
+ulw $t0, 0($t1) :: RTval: 0x35, out: 0x121f1e1f
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x121f
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 2($t1) :: RTval: 0xffffffff, out: 0x121f
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 32($t1) :: RTval: 0xffffffff, out: 0x3f343f3e
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x0
+ulw $t0, 36($t1) :: RTval: 0xffffffff, out: 0x3e353d3c
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x0
+ulw $t0, 40($t1) :: RTval: 0x31415927, out: 0x363a3c3b
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x0
+ulw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x3b373b3a
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x0
+ulw $t0, 48($t1) :: RTval: 0x80000000, out: 0x454f4e45
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x0
+ulw $t0, 52($t1) :: RTval: 0x28f, out: 0x4e464d46
+MEM1:
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+0x0, 0x0, 0x0, 0x0
+MEM:
+0x121f1e1f, 0x0, 0x3, 0xffffffff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0x3f343f3e, 0x3e353d3c, 0x363a3c3b, 0x3b373b3a
+0x454f4e45, 0x4e464d46, 0x474d474c, 0x4a484a4c
+usw
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x0, out: 0x0
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 0($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 2($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 6($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 10($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 8($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0xdd00000, out: 0xdd00000
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xfffffd71, out: 0xfffffd71
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0xf, out: 0xf
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x1, out: 0x1
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 0($t1) :: RTval: 0x35, out: 0x35
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 2($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 32($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 36($t1) :: RTval: 0xffffffff, out: 0xffffffff
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 40($t1) :: RTval: 0x31415927, out: 0x31415927
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 44($t1) :: RTval: 0x7fffffff, out: 0x7fffffff
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 48($t1) :: RTval: 0x80000000, out: 0x80000000
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+usw $t0, 52($t1) :: RTval: 0x28f, out: 0x28f
+MEM1:
+0xffff0035, 0xffffffff, 0xffffffff, 0x7fff
+0x0, 0x0, 0x0, 0x0
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x0, 0x0
+MEM:
+0xffff0035, 0xffffffff, 0xffffffff, 0xffff7fff
+0x232f2e2f, 0x242c2b2b, 0x252a2e2b, 0x262d2d2a
+0xffffffff, 0xffffffff, 0x31415927, 0x7fffffff
+0x80000000, 0x28f, 0x474d474c, 0x4a484a4c
+swl $t0, 3($t0)
+swr $t0, 0($t0)
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0x4853000
+MEM:
+0x4853000, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4853000, out: 0x4853000
+MEM:
+0xe680, 0x4853000, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0x4863700
+MEM:
+0xe680, 0x10700, 0x4863700, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x48aedd0, out: 0x48aedd0
+MEM:
+0xe680, 0x10700, 0xe7dc, 0x48aedd0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0x2aaee700
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2aaee700, 0xb6a0, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee7ff, out: 0x2aaee7ff
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0x2aaee7ff, 0xbe80, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaeffff, out: 0x2aaeffff
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0x2aaeffff, 0xde10
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x4863700, out: 0x4863700
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0x4863700
+0xdf20, 0x2ab05fe0, 0xdfd0, 0x10300
+swl $t0, 3($t1)
+swr $t0, 0($t1)
+ :: RTval: 0x2aaee700, out: 0x2aaee700
+MEM:
+0xe680, 0x10700, 0xe7dc, 0xb0d0
+0x2ab05fd0, 0xb6a0, 0xbe80, 0xde10
+0x2aaee700, 0x2ab05fe0, 0xdfd0, 0x10300
diff --git a/none/tests/mips64/load_store_multiple.vgtest b/none/tests/mips64/load_store_multiple.vgtest
new file mode 100644
index 0000000..79a3337
--- /dev/null
+++ b/none/tests/mips64/load_store_multiple.vgtest
@@ -0,0 +1,2 @@
+prog: load_store_multiple
+vgopts: -q
diff --git a/none/tests/mips64/load_store_unaligned.c b/none/tests/mips64/load_store_unaligned.c
new file mode 100644
index 0000000..59e3d3d
--- /dev/null
+++ b/none/tests/mips64/load_store_unaligned.c
@@ -0,0 +1,46 @@
+#include <stdio.h>
+
+#define N 16
+#define SOLL 8 /* size of unsigned long long */
+
+unsigned long long memSrc[] = {
+   0x12345658121f1e1f, 0,          
+   3,                  -1,
+   0x232f2e2f56568441, 0x242c2b2b1236548c,
+   0xffffffff252a2e2b, 0x262d2d2a4521dddd,
+   0x3f343f3e22222222, 0x3e353d3c41231548,
+   0x363a3c3b45421212, 0x3b373b3a4545afcb,
+   0x454f4e4556984525, 0xfffffffffffffffc,
+   0x474d474c55aaaaaa, 0x4a484a4c65665659
+};
+
+unsigned long long memDst[] = {
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+   0, 0, 0, 0,
+};
+
+int main()
+{
+   int i, index;
+   unsigned long long outLoad;
+   for (i = 0; i < N * SOLL; i++) {
+      outLoad = 0;
+      __asm__ __volatile__(
+         "move  $t0, %1"        "\n\t"
+         "move  $t1, %2"        "\n\t"
+         "luxc1 $f0, $t1($t0)"  "\n\t"
+         "dmfc1 %0,  $f0"       "\n\t"
+         "move  $t0, %3"        "\n\t"
+         "suxc1 $f0, $t1($t0)"  "\n\t"
+         : "=r" (outLoad)
+         : "r" (memSrc), "r" (i), "r" (memDst)
+         : "t0", "t1", "$f0"
+      );
+      index = (i / SOLL) % N;
+      printf("i: %d, memSrc[%d]: 0x%llx, memDst[%d]: 0x%llx, outLoad: 0x%llx\n",
+              i, index, memSrc[index], index, memDst[index], outLoad);
+   }
+   return 0;
+}
diff --git a/none/tests/mips64/load_store_unaligned.stderr.exp b/none/tests/mips64/load_store_unaligned.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/load_store_unaligned.stderr.exp
diff --git a/none/tests/mips64/load_store_unaligned.stdout.exp b/none/tests/mips64/load_store_unaligned.stdout.exp
new file mode 100644
index 0000000..2e3aa9f
--- /dev/null
+++ b/none/tests/mips64/load_store_unaligned.stdout.exp
@@ -0,0 +1,128 @@
+i: 0, memSrc[0]: 0x12345658121f1e1f, memDst[0]: 0x12345658121f1e1f, outLoad: 0x12345658121f1e1f
+i: 1, memSrc[0]: 0x12345658121f1e1f, memDst[0]: 0x12345658121f1e1f, outLoad: 0x12345658121f1e1f
+i: 2, memSrc[0]: 0x12345658121f1e1f, memDst[0]: 0x12345658121f1e1f, outLoad: 0x12345658121f1e1f
+i: 3, memSrc[0]: 0x12345658121f1e1f, memDst[0]: 0x12345658121f1e1f, outLoad: 0x12345658121f1e1f
+i: 4, memSrc[0]: 0x12345658121f1e1f, memDst[0]: 0x12345658121f1e1f, outLoad: 0x12345658121f1e1f
+i: 5, memSrc[0]: 0x12345658121f1e1f, memDst[0]: 0x12345658121f1e1f, outLoad: 0x12345658121f1e1f
+i: 6, memSrc[0]: 0x12345658121f1e1f, memDst[0]: 0x12345658121f1e1f, outLoad: 0x12345658121f1e1f
+i: 7, memSrc[0]: 0x12345658121f1e1f, memDst[0]: 0x12345658121f1e1f, outLoad: 0x12345658121f1e1f
+i: 8, memSrc[1]: 0x0, memDst[1]: 0x0, outLoad: 0x0
+i: 9, memSrc[1]: 0x0, memDst[1]: 0x0, outLoad: 0x0
+i: 10, memSrc[1]: 0x0, memDst[1]: 0x0, outLoad: 0x0
+i: 11, memSrc[1]: 0x0, memDst[1]: 0x0, outLoad: 0x0
+i: 12, memSrc[1]: 0x0, memDst[1]: 0x0, outLoad: 0x0
+i: 13, memSrc[1]: 0x0, memDst[1]: 0x0, outLoad: 0x0
+i: 14, memSrc[1]: 0x0, memDst[1]: 0x0, outLoad: 0x0
+i: 15, memSrc[1]: 0x0, memDst[1]: 0x0, outLoad: 0x0
+i: 16, memSrc[2]: 0x3, memDst[2]: 0x3, outLoad: 0x3
+i: 17, memSrc[2]: 0x3, memDst[2]: 0x3, outLoad: 0x3
+i: 18, memSrc[2]: 0x3, memDst[2]: 0x3, outLoad: 0x3
+i: 19, memSrc[2]: 0x3, memDst[2]: 0x3, outLoad: 0x3
+i: 20, memSrc[2]: 0x3, memDst[2]: 0x3, outLoad: 0x3
+i: 21, memSrc[2]: 0x3, memDst[2]: 0x3, outLoad: 0x3
+i: 22, memSrc[2]: 0x3, memDst[2]: 0x3, outLoad: 0x3
+i: 23, memSrc[2]: 0x3, memDst[2]: 0x3, outLoad: 0x3
+i: 24, memSrc[3]: 0xffffffffffffffff, memDst[3]: 0xffffffffffffffff, outLoad: 0xffffffffffffffff
+i: 25, memSrc[3]: 0xffffffffffffffff, memDst[3]: 0xffffffffffffffff, outLoad: 0xffffffffffffffff
+i: 26, memSrc[3]: 0xffffffffffffffff, memDst[3]: 0xffffffffffffffff, outLoad: 0xffffffffffffffff
+i: 27, memSrc[3]: 0xffffffffffffffff, memDst[3]: 0xffffffffffffffff, outLoad: 0xffffffffffffffff
+i: 28, memSrc[3]: 0xffffffffffffffff, memDst[3]: 0xffffffffffffffff, outLoad: 0xffffffffffffffff
+i: 29, memSrc[3]: 0xffffffffffffffff, memDst[3]: 0xffffffffffffffff, outLoad: 0xffffffffffffffff
+i: 30, memSrc[3]: 0xffffffffffffffff, memDst[3]: 0xffffffffffffffff, outLoad: 0xffffffffffffffff
+i: 31, memSrc[3]: 0xffffffffffffffff, memDst[3]: 0xffffffffffffffff, outLoad: 0xffffffffffffffff
+i: 32, memSrc[4]: 0x232f2e2f56568441, memDst[4]: 0x232f2e2f56568441, outLoad: 0x232f2e2f56568441
+i: 33, memSrc[4]: 0x232f2e2f56568441, memDst[4]: 0x232f2e2f56568441, outLoad: 0x232f2e2f56568441
+i: 34, memSrc[4]: 0x232f2e2f56568441, memDst[4]: 0x232f2e2f56568441, outLoad: 0x232f2e2f56568441
+i: 35, memSrc[4]: 0x232f2e2f56568441, memDst[4]: 0x232f2e2f56568441, outLoad: 0x232f2e2f56568441
+i: 36, memSrc[4]: 0x232f2e2f56568441, memDst[4]: 0x232f2e2f56568441, outLoad: 0x232f2e2f56568441
+i: 37, memSrc[4]: 0x232f2e2f56568441, memDst[4]: 0x232f2e2f56568441, outLoad: 0x232f2e2f56568441
+i: 38, memSrc[4]: 0x232f2e2f56568441, memDst[4]: 0x232f2e2f56568441, outLoad: 0x232f2e2f56568441
+i: 39, memSrc[4]: 0x232f2e2f56568441, memDst[4]: 0x232f2e2f56568441, outLoad: 0x232f2e2f56568441
+i: 40, memSrc[5]: 0x242c2b2b1236548c, memDst[5]: 0x242c2b2b1236548c, outLoad: 0x242c2b2b1236548c
+i: 41, memSrc[5]: 0x242c2b2b1236548c, memDst[5]: 0x242c2b2b1236548c, outLoad: 0x242c2b2b1236548c
+i: 42, memSrc[5]: 0x242c2b2b1236548c, memDst[5]: 0x242c2b2b1236548c, outLoad: 0x242c2b2b1236548c
+i: 43, memSrc[5]: 0x242c2b2b1236548c, memDst[5]: 0x242c2b2b1236548c, outLoad: 0x242c2b2b1236548c
+i: 44, memSrc[5]: 0x242c2b2b1236548c, memDst[5]: 0x242c2b2b1236548c, outLoad: 0x242c2b2b1236548c
+i: 45, memSrc[5]: 0x242c2b2b1236548c, memDst[5]: 0x242c2b2b1236548c, outLoad: 0x242c2b2b1236548c
+i: 46, memSrc[5]: 0x242c2b2b1236548c, memDst[5]: 0x242c2b2b1236548c, outLoad: 0x242c2b2b1236548c
+i: 47, memSrc[5]: 0x242c2b2b1236548c, memDst[5]: 0x242c2b2b1236548c, outLoad: 0x242c2b2b1236548c
+i: 48, memSrc[6]: 0xffffffff252a2e2b, memDst[6]: 0xffffffff252a2e2b, outLoad: 0xffffffff252a2e2b
+i: 49, memSrc[6]: 0xffffffff252a2e2b, memDst[6]: 0xffffffff252a2e2b, outLoad: 0xffffffff252a2e2b
+i: 50, memSrc[6]: 0xffffffff252a2e2b, memDst[6]: 0xffffffff252a2e2b, outLoad: 0xffffffff252a2e2b
+i: 51, memSrc[6]: 0xffffffff252a2e2b, memDst[6]: 0xffffffff252a2e2b, outLoad: 0xffffffff252a2e2b
+i: 52, memSrc[6]: 0xffffffff252a2e2b, memDst[6]: 0xffffffff252a2e2b, outLoad: 0xffffffff252a2e2b
+i: 53, memSrc[6]: 0xffffffff252a2e2b, memDst[6]: 0xffffffff252a2e2b, outLoad: 0xffffffff252a2e2b
+i: 54, memSrc[6]: 0xffffffff252a2e2b, memDst[6]: 0xffffffff252a2e2b, outLoad: 0xffffffff252a2e2b
+i: 55, memSrc[6]: 0xffffffff252a2e2b, memDst[6]: 0xffffffff252a2e2b, outLoad: 0xffffffff252a2e2b
+i: 56, memSrc[7]: 0x262d2d2a4521dddd, memDst[7]: 0x262d2d2a4521dddd, outLoad: 0x262d2d2a4521dddd
+i: 57, memSrc[7]: 0x262d2d2a4521dddd, memDst[7]: 0x262d2d2a4521dddd, outLoad: 0x262d2d2a4521dddd
+i: 58, memSrc[7]: 0x262d2d2a4521dddd, memDst[7]: 0x262d2d2a4521dddd, outLoad: 0x262d2d2a4521dddd
+i: 59, memSrc[7]: 0x262d2d2a4521dddd, memDst[7]: 0x262d2d2a4521dddd, outLoad: 0x262d2d2a4521dddd
+i: 60, memSrc[7]: 0x262d2d2a4521dddd, memDst[7]: 0x262d2d2a4521dddd, outLoad: 0x262d2d2a4521dddd
+i: 61, memSrc[7]: 0x262d2d2a4521dddd, memDst[7]: 0x262d2d2a4521dddd, outLoad: 0x262d2d2a4521dddd
+i: 62, memSrc[7]: 0x262d2d2a4521dddd, memDst[7]: 0x262d2d2a4521dddd, outLoad: 0x262d2d2a4521dddd
+i: 63, memSrc[7]: 0x262d2d2a4521dddd, memDst[7]: 0x262d2d2a4521dddd, outLoad: 0x262d2d2a4521dddd
+i: 64, memSrc[8]: 0x3f343f3e22222222, memDst[8]: 0x3f343f3e22222222, outLoad: 0x3f343f3e22222222
+i: 65, memSrc[8]: 0x3f343f3e22222222, memDst[8]: 0x3f343f3e22222222, outLoad: 0x3f343f3e22222222
+i: 66, memSrc[8]: 0x3f343f3e22222222, memDst[8]: 0x3f343f3e22222222, outLoad: 0x3f343f3e22222222
+i: 67, memSrc[8]: 0x3f343f3e22222222, memDst[8]: 0x3f343f3e22222222, outLoad: 0x3f343f3e22222222
+i: 68, memSrc[8]: 0x3f343f3e22222222, memDst[8]: 0x3f343f3e22222222, outLoad: 0x3f343f3e22222222
+i: 69, memSrc[8]: 0x3f343f3e22222222, memDst[8]: 0x3f343f3e22222222, outLoad: 0x3f343f3e22222222
+i: 70, memSrc[8]: 0x3f343f3e22222222, memDst[8]: 0x3f343f3e22222222, outLoad: 0x3f343f3e22222222
+i: 71, memSrc[8]: 0x3f343f3e22222222, memDst[8]: 0x3f343f3e22222222, outLoad: 0x3f343f3e22222222
+i: 72, memSrc[9]: 0x3e353d3c41231548, memDst[9]: 0x3e353d3c41231548, outLoad: 0x3e353d3c41231548
+i: 73, memSrc[9]: 0x3e353d3c41231548, memDst[9]: 0x3e353d3c41231548, outLoad: 0x3e353d3c41231548
+i: 74, memSrc[9]: 0x3e353d3c41231548, memDst[9]: 0x3e353d3c41231548, outLoad: 0x3e353d3c41231548
+i: 75, memSrc[9]: 0x3e353d3c41231548, memDst[9]: 0x3e353d3c41231548, outLoad: 0x3e353d3c41231548
+i: 76, memSrc[9]: 0x3e353d3c41231548, memDst[9]: 0x3e353d3c41231548, outLoad: 0x3e353d3c41231548
+i: 77, memSrc[9]: 0x3e353d3c41231548, memDst[9]: 0x3e353d3c41231548, outLoad: 0x3e353d3c41231548
+i: 78, memSrc[9]: 0x3e353d3c41231548, memDst[9]: 0x3e353d3c41231548, outLoad: 0x3e353d3c41231548
+i: 79, memSrc[9]: 0x3e353d3c41231548, memDst[9]: 0x3e353d3c41231548, outLoad: 0x3e353d3c41231548
+i: 80, memSrc[10]: 0x363a3c3b45421212, memDst[10]: 0x363a3c3b45421212, outLoad: 0x363a3c3b45421212
+i: 81, memSrc[10]: 0x363a3c3b45421212, memDst[10]: 0x363a3c3b45421212, outLoad: 0x363a3c3b45421212
+i: 82, memSrc[10]: 0x363a3c3b45421212, memDst[10]: 0x363a3c3b45421212, outLoad: 0x363a3c3b45421212
+i: 83, memSrc[10]: 0x363a3c3b45421212, memDst[10]: 0x363a3c3b45421212, outLoad: 0x363a3c3b45421212
+i: 84, memSrc[10]: 0x363a3c3b45421212, memDst[10]: 0x363a3c3b45421212, outLoad: 0x363a3c3b45421212
+i: 85, memSrc[10]: 0x363a3c3b45421212, memDst[10]: 0x363a3c3b45421212, outLoad: 0x363a3c3b45421212
+i: 86, memSrc[10]: 0x363a3c3b45421212, memDst[10]: 0x363a3c3b45421212, outLoad: 0x363a3c3b45421212
+i: 87, memSrc[10]: 0x363a3c3b45421212, memDst[10]: 0x363a3c3b45421212, outLoad: 0x363a3c3b45421212
+i: 88, memSrc[11]: 0x3b373b3a4545afcb, memDst[11]: 0x3b373b3a4545afcb, outLoad: 0x3b373b3a4545afcb
+i: 89, memSrc[11]: 0x3b373b3a4545afcb, memDst[11]: 0x3b373b3a4545afcb, outLoad: 0x3b373b3a4545afcb
+i: 90, memSrc[11]: 0x3b373b3a4545afcb, memDst[11]: 0x3b373b3a4545afcb, outLoad: 0x3b373b3a4545afcb
+i: 91, memSrc[11]: 0x3b373b3a4545afcb, memDst[11]: 0x3b373b3a4545afcb, outLoad: 0x3b373b3a4545afcb
+i: 92, memSrc[11]: 0x3b373b3a4545afcb, memDst[11]: 0x3b373b3a4545afcb, outLoad: 0x3b373b3a4545afcb
+i: 93, memSrc[11]: 0x3b373b3a4545afcb, memDst[11]: 0x3b373b3a4545afcb, outLoad: 0x3b373b3a4545afcb
+i: 94, memSrc[11]: 0x3b373b3a4545afcb, memDst[11]: 0x3b373b3a4545afcb, outLoad: 0x3b373b3a4545afcb
+i: 95, memSrc[11]: 0x3b373b3a4545afcb, memDst[11]: 0x3b373b3a4545afcb, outLoad: 0x3b373b3a4545afcb
+i: 96, memSrc[12]: 0x454f4e4556984525, memDst[12]: 0x454f4e4556984525, outLoad: 0x454f4e4556984525
+i: 97, memSrc[12]: 0x454f4e4556984525, memDst[12]: 0x454f4e4556984525, outLoad: 0x454f4e4556984525
+i: 98, memSrc[12]: 0x454f4e4556984525, memDst[12]: 0x454f4e4556984525, outLoad: 0x454f4e4556984525
+i: 99, memSrc[12]: 0x454f4e4556984525, memDst[12]: 0x454f4e4556984525, outLoad: 0x454f4e4556984525
+i: 100, memSrc[12]: 0x454f4e4556984525, memDst[12]: 0x454f4e4556984525, outLoad: 0x454f4e4556984525
+i: 101, memSrc[12]: 0x454f4e4556984525, memDst[12]: 0x454f4e4556984525, outLoad: 0x454f4e4556984525
+i: 102, memSrc[12]: 0x454f4e4556984525, memDst[12]: 0x454f4e4556984525, outLoad: 0x454f4e4556984525
+i: 103, memSrc[12]: 0x454f4e4556984525, memDst[12]: 0x454f4e4556984525, outLoad: 0x454f4e4556984525
+i: 104, memSrc[13]: 0xfffffffffffffffc, memDst[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffffffffc
+i: 105, memSrc[13]: 0xfffffffffffffffc, memDst[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffffffffc
+i: 106, memSrc[13]: 0xfffffffffffffffc, memDst[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffffffffc
+i: 107, memSrc[13]: 0xfffffffffffffffc, memDst[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffffffffc
+i: 108, memSrc[13]: 0xfffffffffffffffc, memDst[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffffffffc
+i: 109, memSrc[13]: 0xfffffffffffffffc, memDst[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffffffffc
+i: 110, memSrc[13]: 0xfffffffffffffffc, memDst[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffffffffc
+i: 111, memSrc[13]: 0xfffffffffffffffc, memDst[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffffffffc
+i: 112, memSrc[14]: 0x474d474c55aaaaaa, memDst[14]: 0x474d474c55aaaaaa, outLoad: 0x474d474c55aaaaaa
+i: 113, memSrc[14]: 0x474d474c55aaaaaa, memDst[14]: 0x474d474c55aaaaaa, outLoad: 0x474d474c55aaaaaa
+i: 114, memSrc[14]: 0x474d474c55aaaaaa, memDst[14]: 0x474d474c55aaaaaa, outLoad: 0x474d474c55aaaaaa
+i: 115, memSrc[14]: 0x474d474c55aaaaaa, memDst[14]: 0x474d474c55aaaaaa, outLoad: 0x474d474c55aaaaaa
+i: 116, memSrc[14]: 0x474d474c55aaaaaa, memDst[14]: 0x474d474c55aaaaaa, outLoad: 0x474d474c55aaaaaa
+i: 117, memSrc[14]: 0x474d474c55aaaaaa, memDst[14]: 0x474d474c55aaaaaa, outLoad: 0x474d474c55aaaaaa
+i: 118, memSrc[14]: 0x474d474c55aaaaaa, memDst[14]: 0x474d474c55aaaaaa, outLoad: 0x474d474c55aaaaaa
+i: 119, memSrc[14]: 0x474d474c55aaaaaa, memDst[14]: 0x474d474c55aaaaaa, outLoad: 0x474d474c55aaaaaa
+i: 120, memSrc[15]: 0x4a484a4c65665659, memDst[15]: 0x4a484a4c65665659, outLoad: 0x4a484a4c65665659
+i: 121, memSrc[15]: 0x4a484a4c65665659, memDst[15]: 0x4a484a4c65665659, outLoad: 0x4a484a4c65665659
+i: 122, memSrc[15]: 0x4a484a4c65665659, memDst[15]: 0x4a484a4c65665659, outLoad: 0x4a484a4c65665659
+i: 123, memSrc[15]: 0x4a484a4c65665659, memDst[15]: 0x4a484a4c65665659, outLoad: 0x4a484a4c65665659
+i: 124, memSrc[15]: 0x4a484a4c65665659, memDst[15]: 0x4a484a4c65665659, outLoad: 0x4a484a4c65665659
+i: 125, memSrc[15]: 0x4a484a4c65665659, memDst[15]: 0x4a484a4c65665659, outLoad: 0x4a484a4c65665659
+i: 126, memSrc[15]: 0x4a484a4c65665659, memDst[15]: 0x4a484a4c65665659, outLoad: 0x4a484a4c65665659
+i: 127, memSrc[15]: 0x4a484a4c65665659, memDst[15]: 0x4a484a4c65665659, outLoad: 0x4a484a4c65665659
diff --git a/none/tests/mips64/load_store_unaligned.vgtest b/none/tests/mips64/load_store_unaligned.vgtest
new file mode 100644
index 0000000..e5e836c
--- /dev/null
+++ b/none/tests/mips64/load_store_unaligned.vgtest
@@ -0,0 +1,2 @@
+prog: load_store_unaligned
+vgopts: -q
diff --git a/none/tests/mips64/logical_instructions.c b/none/tests/mips64/logical_instructions.c
new file mode 100644
index 0000000..4b798fe
--- /dev/null
+++ b/none/tests/mips64/logical_instructions.c
@@ -0,0 +1,103 @@
+#include <stdio.h>
+#include "const.h"
+#include "macro_int.h"
+
+typedef enum {
+   AND=0,  ANDI,   LUI,    NOR,
+   OR,     ORI,    XOR,    XORI
+} logical_op;
+
+int main()
+{
+   logical_op op;
+   int i;
+   init_reg_val2();
+   for (op = AND; op <= XORI; op++) {
+      for (i = 0; i < N; i++) {
+         switch (op) {
+            case AND:
+               /* No Integer Overflow exception occurs under any
+                  circumstances. */
+               TEST1("and $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                          t0, t1, t2);
+               TEST1("and $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                          s0, s1, s2);
+               break;
+
+            case ANDI:
+               /* No Integer Overflow exception occurs under any
+                  circumstances. */
+               TEST2("andi $t0, $t1, 0xff",   reg_val1[i], 0xff,   t0, t1);
+               TEST2("andi $t2, $t3, 0xffff", reg_val1[i], 0xffff, t2, t3);
+               TEST2("andi $a0, $a1, 0x0",    reg_val1[i], 0x0,    a0, a1);
+               TEST2("andi $s0, $s1, 0x23",   reg_val1[i], 0x23,   s0, s1);
+               TEST2("andi $t0, $t1, 0xff",   reg_val2[i], 0xff,   t0, t1);
+               TEST2("andi $t2, $t3, 0xffff", reg_val2[i], 0xffff, t2, t3);
+               TEST2("andi $a0, $a1, 0x0",    reg_val2[i], 0x0,    a0, a1);
+               TEST2("andi $s0, $s1, 0x23",   reg_val2[i], 0x23,   s0, s1);
+               break;
+
+            case LUI:
+               /* No Integer Overflow exception occurs under any
+                  circumstances. */
+               if (i == 0) {
+                  TEST6("lui $t0, 0xffff", 0xffff, t0);
+                  TEST6("lui $a0, 0x0",    0x0,    a0);
+                  TEST6("lui $t9, 0xff",   0xff,   t9);
+                  TEST6("lui $v0, 0xfff",  0xfff,  v0);
+                  TEST6("lui $s0, 0x2",    0x2,    s0);
+               }
+               break;
+
+            case NOR:
+               /* No arithmetic exception occurs under any circumstances. */
+               TEST1("nor $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                          t0, t1, t2);
+               TEST1("nor $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                          s0, s1, s2);
+               break;
+
+            case OR:
+               /* No arithmetic exception occurs under any circumstances. */
+               TEST1("or $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                         t0, t1, t2);
+               TEST1("or $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                         s0, s1, s2);
+               break;
+
+            case ORI:
+               /* No arithmetic exception occurs under any circumstances. */
+               TEST2("ori $t0, $t1, 0xff",   reg_val1[i], 0xff,   t0, t1);
+               TEST2("ori $t2, $t3, 0xffff", reg_val1[i], 0xffff, t2, t3);
+               TEST2("ori $a0, $a1, 0x0",    reg_val1[i], 0x0,    a0, a1);
+               TEST2("ori $s0, $s1, 0x23",   reg_val1[i], 0x23,   s0, s1);
+               TEST2("ori $t0, $t1, 0xff",   reg_val2[i], 0xff,   t0, t1);
+               TEST2("ori $t2, $t3, 0xffff", reg_val2[i], 0xffff, t2, t3);
+               TEST2("ori $a0, $a1, 0x0",    reg_val2[i], 0x0,    a0, a1);
+               TEST2("ori $s0, $s1, 0x23",   reg_val2[i], 0x23,   s0, s1);
+               break;
+
+            case XOR:
+               /* No arithmetic exception occurs under any circumstances. */
+               TEST1("xor $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                          t0, t1, t2);
+               TEST1("xor $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                          s0, s1, s2);
+               break;
+
+            case XORI:
+               /* No arithmetic exception occurs under any circumstances. */
+               TEST2("xori $t0, $t1, 0xff",   reg_val1[i], 0xff,   t0, t1);
+               TEST2("xori $t2, $t3, 0xffff", reg_val1[i], 0xffff, t2, t3);
+               TEST2("xori $a0, $a1, 0x0",    reg_val1[i], 0x0,    a0, a1);
+               TEST2("xori $s0, $s1, 0x23",   reg_val1[i], 0x23,   s0, s1);
+               TEST2("xori $t0, $t1, 0xff",   reg_val2[i], 0xff,   t0, t1);
+               TEST2("xori $t2, $t3, 0xffff", reg_val2[i], 0xffff, t2, t3);
+               TEST2("xori $a0, $a1, 0x0",    reg_val2[i], 0x0,    a0, a1);
+               TEST2("xori $s0, $s1, 0x23",   reg_val2[i], 0x23,   s0, s1);
+               break;
+         }
+      }
+   }
+   return 0;
+}
diff --git a/none/tests/mips64/logical_instructions.stderr.exp b/none/tests/mips64/logical_instructions.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/logical_instructions.stderr.exp
diff --git a/none/tests/mips64/logical_instructions.stdout.exp b/none/tests/mips64/logical_instructions.stdout.exp
new file mode 100644
index 0000000..47b26b9
--- /dev/null
+++ b/none/tests/mips64/logical_instructions.stdout.exp
@@ -0,0 +1,8197 @@
+and $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+and $s0, $s1, $s2 :: rd 0x1284020, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+and $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+and $s0, $s1, $s2 :: rd 0x4c834002122303, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+and $t0, $t1, $t2 :: rd 0x8003b4a, rs 0x9823b6e, rt 0xffffffffb8757bda
+and $s0, $s1, $s2 :: rd 0x1328080203050071, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+and $t0, $t1, $t2 :: rd 0xc002649, rs 0xd4326d9, rt 0xffffffffbcb4666d
+and $s0, $s1, $s2 :: rd 0x20044c571216a462, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+and $t0, $t1, $t2 :: rd 0x2003648, rs 0x130476dc, rt 0xffffffffa2f33668
+and $s0, $s1, $s2 :: rd 0x40a040000401a502, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+and $t0, $t1, $t2 :: rd 0x6002b4b, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+and $s0, $s1, $s2 :: rd 0x2a809c019a381088, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+and $t0, $t1, $t2 :: rd 0xa000d02, rs 0x1a864db2, rt 0xffffffffab710d06
+and $s0, $s1, $s2 :: rd 0xd2088431022411c, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+and $t0, $t1, $t2 :: rd 0xe001001, rs 0x1e475005, rt 0xffffffffafb010b1
+and $s0, $s1, $s2 :: rd 0x1a004203470020e4, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+and $t0, $t1, $t2 :: rd 0x608ad08, rs 0x2608edb8, rt 0xffffffff97ffad0c
+and $s0, $s1, $s2 :: rd 0x1070508500008820, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+and $t0, $t1, $t2 :: rd 0x208b00b, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+and $s0, $s1, $s2 :: rd 0x32c00860211a40d, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+and $t0, $t1, $t2 :: rd 0xe089642, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+and $s0, $s1, $s2 :: rd 0xa100c821124009, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+and $t0, $t1, $t2 :: rd 0xa088b41, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+and $s0, $s1, $s2 :: rd 0x92428d80018412, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+and $t0, $t1, $t2 :: rd 0x4089b40, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+and $s0, $s1, $s2 :: rd 0x45f5010698088000, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+and $t0, $t1, $t2 :: rd 0x88643, rs 0x31cd86d3, rt 0xffffffff803ac667
+and $s0, $s1, $s2 :: rd 0x81000424c0d2000d, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+and $t0, $t1, $t2 :: rd 0xc08a00a, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+and $s0, $s1, $s2 :: rd 0xc000004180014180, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+and $t0, $t1, $t2 :: rd 0x808bd09, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+and $s0, $s1, $s2 :: rd 0x34014c0a1300a481, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+and $t0, $t1, $t2 :: rd 0x4c009b40, rs 0x4c11db70, rt 0xfffffffffde69bc4
+and $s0, $s1, $s2 :: rd 0x14485224010c0294, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+and $t0, $t1, $t2 :: rd 0x48008643, rs 0x48d0c6c7, rt 0xfffffffff9278673
+and $s0, $s1, $s2 :: rd 0x3000191269241082, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+and $t0, $t1, $t2 :: rd 0x4400a00a, rs 0x4593e01e, rt 0xfffffffff464a0aa
+and $s0, $s1, $s2 :: rd 0x24048b9018489510, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+and $t0, $t1, $t2 :: rd 0x4000bd09, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+and $s0, $s1, $s2 :: rd 0x84c0a2118102211b, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+and $t0, $t1, $t2 :: rd 0x4e00ad08, rs 0x5f15adac, rt 0xffffffffeee2ed18
+and $s0, $s1, $s2 :: rd 0x16b36c28cd04045, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+and $t0, $t1, $t2 :: rd 0x4a00b00b, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+and $s0, $s1, $s2 :: rd 0xb02e10000026200a, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+and $t0, $t1, $t2 :: rd 0x46009642, rs 0x569796c2, rt 0xffffffffe760d676
+and $s0, $s1, $s2 :: rd 0x494092c10082d17, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+and $t0, $t1, $t2 :: rd 0x42008b41, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+and $s0, $s1, $s2 :: rd 0xfc11c4002c0a0052, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+and $t0, $t1, $t2 :: rd 0x4a083648, rs 0x6a1936c8, rt 0xffffffffdbee767c
+and $s0, $s1, $s2 :: rd 0x340cc881c4200204, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+and $t0, $t1, $t2 :: rd 0x4e082b4b, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+and $s0, $s1, $s2 :: rd 0x1110202a0112c02e, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+and $t0, $t1, $t2 :: rd 0x42080d02, rs 0x639b0da6, rt 0xffffffffd26c4d12
+and $s0, $s1, $s2 :: rd 0x878c100820204a5, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+and $t0, $t1, $t2 :: rd 0x46081001, rs 0x675a1011, rt 0xffffffffd6ad50a5
+and $s0, $s1, $s2 :: rd 0xd2a204018100a92, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+and $t0, $t1, $t2 :: rd 0x48080000, rs 0x791d4014, rt 0xffffffffc8ea00a0
+and $s0, $s1, $s2 :: rd 0x9000501a21045004, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+and $t0, $t1, $t2 :: rd 0x4c081d03, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+and $s0, $s1, $s2 :: rd 0x982007902410400, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+and $t0, $t1, $t2 :: rd 0x40083b4a, rs 0x709f7b7a, rt 0xffffffffc1683bce
+and $s0, $s1, $s2 :: rd 0x61400ad08c021c0, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+and $t0, $t1, $t2 :: rd 0x44082649, rs 0x745e66cd, rt 0xffffffffc5a92679
+and $s0, $s1, $s2 :: rd 0x48a4a891c25614f, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+and $t0, $t1, $t2 :: rd 0x800b640, rs 0xffffffff9823b6e0, rt 0x29d4f654
+and $s0, $s1, $s2 :: rd 0x2a29450010404480, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+and $t0, $t1, $t2 :: rd 0xc00ab43, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+and $s0, $s1, $s2 :: rd 0x8c08104120c50, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+and $t0, $t1, $t2 :: rd 0x8d0a, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+and $s0, $s1, $s2 :: rd 0xd208d60101, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+and $t0, $t1, $t2 :: rd 0x4009009, rs 0xffffffff95609039, rt 0x2497d08d
+and $s0, $s1, $s2 :: rd 0x81080e0d28d2427, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+and $t0, $t1, $t2 :: rd 0xa008008, rs 0xffffffff8b27c03c, rt 0x3ad08088
+and $s0, $s1, $s2 :: rd 0x6d50050180908210, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+and $t0, $t1, $t2 :: rd 0xe009d0b, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+and $s0, $s1, $s2 :: rd 0x1004810140111240, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+and $t0, $t1, $t2 :: rd 0x200bb42, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+and $s0, $s1, $s2 :: rd 0x440c84811a0d9400, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+and $t0, $t1, $t2 :: rd 0x600a641, rs 0xffffffff8664e6e5, rt 0x3793a651
+and $s0, $s1, $s2 :: rd 0xa009101218015250, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+and $t0, $t1, $t2 :: rd 0xe081b48, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+and $s0, $s1, $s2 :: rd 0x2350000a5500040, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+and $t0, $t1, $t2 :: rd 0xa08064b, rs 0xffffffffbaea46ef, rt 0xb1d065b
+and $s0, $s1, $s2 :: rd 0x829800604111000, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+and $t0, $t1, $t2 :: rd 0x6082002, rs 0xffffffffb7a96036, rt 0x65e2082
+and $s0, $s1, $s2 :: rd 0x264a4c8a0104a022, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+and $t0, $t1, $t2 :: rd 0x2083d01, rs 0xffffffffb3687d81, rt 0x29f3d35
+and $s0, $s1, $s2 :: rd 0xc0610090008058e3, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+and $t0, $t1, $t2 :: rd 0xc082d00, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+and $s0, $s1, $s2 :: rd 0x8485404020080012, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+and $t0, $t1, $t2 :: rd 0x8083003, rs 0xffffffffa9ee3033, rt 0x18197087
+and $s0, $s1, $s2 :: rd 0x9e0c220382050073, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+and $t0, $t1, $t2 :: rd 0x408164a, rs 0xffffffffa4ad16ea, rt 0x155a565e
+and $s0, $s1, $s2 :: rd 0x112828000a650101, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+and $t0, $t1, $t2 :: rd 0x80b49, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+and $s0, $s1, $s2 :: rd 0x4a348a6904004004, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+and $t0, $t1, $t2 :: rd 0x44002d00, rs 0xffffffffd4326d90, rt 0x65c52d24
+and $s0, $s1, $s2 :: rd 0x3b00000600408098, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+and $t0, $t1, $t2 :: rd 0x40003003, rs 0xffffffffd0f37027, rt 0x61043093
+and $s0, $s1, $s2 :: rd 0x906644084b10e0, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+and $t0, $t1, $t2 :: rd 0x4c00164a, rs 0xffffffffddb056fe, rt 0x6c47164a
+and $s0, $s1, $s2 :: rd 0x2401151228d10080, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+and $t0, $t1, $t2 :: rd 0x48000b49, rs 0xffffffffd9714b49, rt 0x68860bfd
+and $s0, $s1, $s2 :: rd 0x481d10009219460, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+and $t0, $t1, $t2 :: rd 0x46001b48, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+and $s0, $s1, $s2 :: rd 0x1d022a284a120a0, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+and $t0, $t1, $t2 :: rd 0x4200064b, rs 0xffffffffc3f706fb, rt 0x7200464f
+and $s0, $s1, $s2 :: rd 0x1904407881c80116, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+and $t0, $t1, $t2 :: rd 0x4e002002, rs 0xffffffffceb42022, rt 0x7f436096
+and $s0, $s1, $s2 :: rd 0x188a8dc92d104106, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+and $t0, $t1, $t2 :: rd 0x4a003d01, rs 0xffffffffca753d95, rt 0x7b827d21
+and $s0, $s1, $s2 :: rd 0x5eac400180a12c8, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+and $t0, $t1, $t2 :: rd 0x42088008, rs 0xfffffffff23a8028, rt 0x43cdc09c
+and $s0, $s1, $s2 :: rd 0x1081800a62000400, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+and $t0, $t1, $t2 :: rd 0x46089d0b, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+and $s0, $s1, $s2 :: rd 0x20688200040094c6, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+and $t0, $t1, $t2 :: rd 0x4a08bb42, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+and $s0, $s1, $s2 :: rd 0x1200008809701000, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+and $t0, $t1, $t2 :: rd 0x4e08a641, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+and $s0, $s1, $s2 :: rd 0x102000b42c080099, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+and $t0, $t1, $t2 :: rd 0x4008b640, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+and $s0, $s1, $s2 :: rd 0x102006029c82081a, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+and $t0, $t1, $t2 :: rd 0x4408ab43, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+and $s0, $s1, $s2 :: rd 0x128156081866a429, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+and $t0, $t1, $t2 :: rd 0x48088d0a, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+and $s0, $s1, $s2 :: rd 0xa90005aa3001208, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+and $t0, $t1, $t2 :: rd 0x4c089009, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+and $s0, $s1, $s2 :: rd 0x342a86c251019002, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+and $t0, $t1, $t2 :: rd 0x4003043, rs 0x34867077, rt 0xffffffff857130c3
+and $s0, $s1, $s2 :: rd 0x5a20080086200480, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+and $t0, $t1, $t2 :: rd 0x2d40, rs 0x30476dc0, rt 0xffffffff81b02d74
+and $s0, $s1, $s2 :: rd 0x2c0a087254000020, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+and $t0, $t1, $t2 :: rd 0xc000b09, rs 0x3d044b19, rt 0xffffffff8cf30bad
+and $s0, $s1, $s2 :: rd 0x80810544240918a9, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+and $t0, $t1, $t2 :: rd 0x800160a, rs 0x39c556ae, rt 0xffffffff8832161a
+and $s0, $s1, $s2 :: rd 0xa10081205250f8d4, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+and $t0, $t1, $t2 :: rd 0x600060b, rs 0x278206ab, rt 0xffffffff9675461f
+and $s0, $s1, $s2 :: rd 0x8150e80000481111, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+and $t0, $t1, $t2 :: rd 0x2001b08, rs 0x23431b1c, rt 0xffffffff92b45ba8
+and $s0, $s1, $s2 :: rd 0x88600a4042047204, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+and $t0, $t1, $t2 :: rd 0xe003d41, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+and $s0, $s1, $s2 :: rd 0x818084dd42408834, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+and $t0, $t1, $t2 :: rd 0xa002042, rs 0x2ac12072, rt 0xffffffff9b3660c6
+and $s0, $s1, $s2 :: rd 0x100002004a42002e, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+and $t0, $t1, $t2 :: rd 0x2089d4b, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+and $s0, $s1, $s2 :: rd 0x6330c4009a428040, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+and $t0, $t1, $t2 :: rd 0x6088048, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+and $s0, $s1, $s2 :: rd 0xa000b1509a30069c, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+and $t0, $t1, $t2 :: rd 0xa08a601, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+and $s0, $s1, $s2 :: rd 0x1040480484898a, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+and $t0, $t1, $t2 :: rd 0xe08bb02, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+and $s0, $s1, $s2 :: rd 0x34002815ca224002, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+and $t0, $t1, $t2 :: rd 0x8ab03, rs 0x18aeb13, rt 0xffffffffb07daba7
+and $s0, $s1, $s2 :: rd 0xc4601826a5044240, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+and $t0, $t1, $t2 :: rd 0x408b600, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+and $s0, $s1, $s2 :: rd 0x88d292a166101428, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+and $t0, $t1, $t2 :: rd 0x8089049, rs 0x808d07d, rt 0xffffffffb9ff90c9
+and $s0, $s1, $s2 :: rd 0x800424800000a90a, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+and $t0, $t1, $t2 :: rd 0xc088d4a, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+and $s0, $s1, $s2 :: rd 0x15920040422040e4, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+and $t0, $t1, $t2 :: rd 0x0, rs 0x7897ab07, rt 0x0
+and $s0, $s1, $s2 :: rd 0x742581128005d340, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+and $t0, $t1, $t2 :: rd 0x4c00b600, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+and $s0, $s1, $s2 :: rd 0xa0100040547c4d12, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+and $t0, $t1, $t2 :: rd 0x0, rs 0x71159069, rt 0x0
+and $s0, $s1, $s2 :: rd 0x1262600c04011700, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+and $t0, $t1, $t2 :: rd 0x44008d4a, rs 0x75d48dde, rt 0xffffffffc423cd6a
+and $s0, $s1, $s2 :: rd 0x60200609030c4823, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+and $t0, $t1, $t2 :: rd 0x4a009d4b, rs 0x6b93dddb, rt 0xffffffffda649d6f
+and $s0, $s1, $s2 :: rd 0x24082801060ba427, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+and $t0, $t1, $t2 :: rd 0x4e008048, rs 0x6f52c06c, rt 0xffffffffdea580d8
+and $s0, $s1, $s2 :: rd 0x286028200908548, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+and $t0, $t1, $t2 :: rd 0x4200a601, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+and $s0, $s1, $s2 :: rd 0x1a80442900c20140, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+and $t0, $t1, $t2 :: rd 0x4600bb02, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+and $s0, $s1, $s2 :: rd 0x46809a80800d0120, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+and $t0, $t1, $t2 :: rd 0x4e08060b, rs 0x5e9f46bf, rt 0xffffffffef68060b
+and $s0, $s1, $s2 :: rd 0x208c3014868040b, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+and $t0, $t1, $t2 :: rd 0x4a081b08, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+and $s0, $s1, $s2 :: rd 0x208421219d642412, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+and $t0, $t1, $t2 :: rd 0x46083d41, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+and $s0, $s1, $s2 :: rd 0x620d20002504489c, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+and $t0, $t1, $t2 :: rd 0x42082042, rs 0x53dc6066, rt 0xffffffffe22b20d2
+and $s0, $s1, $s2 :: rd 0x109720e906920439, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+and $t0, $t1, $t2 :: rd 0x4c083043, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+and $s0, $s1, $s2 :: rd 0x38205020295091d5, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+and $t0, $t1, $t2 :: rd 0x48082d40, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+and $s0, $s1, $s2 :: rd 0x23102008484a2, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+and $t0, $t1, $t2 :: rd 0x44080b09, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+and $s0, $s1, $s2 :: rd 0x3041ba290474046, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+and $t0, $t1, $t2 :: rd 0x4008160a, rs 0x40d816ba, rt 0xfffffffff12f560e
+and $s0, $s1, $s2 :: rd 0x308660000108060, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+and $t0, $t1, $t2 :: rd 0xc008603, rs 0xffffffffaca5c697, rt 0x1d528623
+and $s0, $s1, $s2 :: rd 0x6101408188241421, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+and $t0, $t1, $t2 :: rd 0x8009b00, rs 0xffffffffa864db20, rt 0x19939b94
+and $s0, $s1, $s2 :: rd 0x3420621fc984034b, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+and $t0, $t1, $t2 :: rd 0x400bd49, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+and $s0, $s1, $s2 :: rd 0x70a0e0004040a812, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+and $t0, $t1, $t2 :: rd 0xa04a, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+and $s0, $s1, $s2 :: rd 0x404188000900130a, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+and $t0, $t1, $t2 :: rd 0xe00b04b, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+and $s0, $s1, $s2 :: rd 0x1020118418712003, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+and $t0, $t1, $t2 :: rd 0xa00ad48, rs 0xffffffffbb60adfc, rt 0xa97ed48
+and $s0, $s1, $s2 :: rd 0x22aa5a8104000118, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+and $t0, $t1, $t2 :: rd 0x6008b01, rs 0xffffffffb6238b25, rt 0x7d4cb91
+and $s0, $s1, $s2 :: rd 0x904a805916812436, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+and $t0, $t1, $t2 :: rd 0x2009602, rs 0xffffffffb2e29692, rt 0x315d626
+and $s0, $s1, $s2 :: rd 0xcb94008050212f0, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+and $t0, $t1, $t2 :: rd 0xa082b0b, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+and $s0, $s1, $s2 :: rd 0x430108080001408, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+and $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+and $s0, $s1, $s2 :: rd 0x138010a0018a904a, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+and $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+and $s0, $s1, $s2 :: rd 0x600402129100329, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+and $t0, $t1, $t2 :: rd 0x6080d42, rs 0xffffffff87ee0df6, rt 0x36194d42
+and $s0, $s1, $s2 :: rd 0x1111891448ca100, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+and $t0, $t1, $t2 :: rd 0x8081d43, rs 0xffffffff99a95df3, rt 0x285e1d47
+and $s0, $s1, $s2 :: rd 0x2620060041032280, rs 0x663d061055833287, rt 0xb620660a49732b90
+and $t0, $t1, $t2 :: rd 0xc080040, rs 0xffffffff9d684044, rt 0x2c9f00f0
+and $s0, $s1, $s2 :: rd 0xa37dc00809005408, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+and $t0, $t1, $t2 :: rd 0x82609, rs 0xffffffff902b669d, rt 0x21dc2629
+and $s0, $s1, $s2 :: rd 0xc41021060800001a, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+and $t0, $t1, $t2 :: rd 0x4083b0a, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+and $s0, $s1, $s2 :: rd 0x2886c00c1050632, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+and $t0, $t1, $t2 :: rd 0x40001d43, rs 0xffffffffe0b41de7, rt 0x51435d53
+and $s0, $s1, $s2 :: rd 0x888401881224458, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+and $t0, $t1, $t2 :: rd 0x44000040, rs 0xffffffffe4750050, rt 0x558240e4
+and $s0, $s1, $s2 :: rd 0x7c01251580628217, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+and $t0, $t1, $t2 :: rd 0x48002609, rs 0xffffffffe9362689, rt 0x58c1663d
+and $s0, $s1, $s2 :: rd 0x38060124009240c5, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+and $t0, $t1, $t2 :: rd 0x4c003b0a, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+and $s0, $s1, $s2 :: rd 0x2488a1143e6da082, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+and $t0, $t1, $t2 :: rd 0x42002b0b, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+and $s0, $s1, $s2 :: rd 0x3204a28a14049503, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+and $t0, $t1, $t2 :: rd 0x46003608, rs 0xfffffffff771768c, rt 0x46863638
+and $s0, $s1, $s2 :: rd 0x20810c1055a4184, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+and $t0, $t1, $t2 :: rd 0x4a001041, rs 0xfffffffffa325055, rt 0x4bc510e1
+and $s0, $s1, $s2 :: rd 0x501b044419040204, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+and $t0, $t1, $t2 :: rd 0x4e000d42, rs 0xfffffffffef34de2, rt 0x4f040d56
+and $s0, $s1, $s2 :: rd 0x2001b02009120824, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+and $t0, $t1, $t2 :: rd 0x4608b04b, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+and $s0, $s1, $s2 :: rd 0x28b00e6058880352, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+and $t0, $t1, $t2 :: rd 0x4208ad48, rs 0xffffffffc27dede8, rt 0x738aad5c
+and $s0, $s1, $s2 :: rd 0x4281b8a48984448, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+and $t0, $t1, $t2 :: rd 0x4e088b01, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+and $s0, $s1, $s2 :: rd 0x60009311a88249, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+and $t0, $t1, $t2 :: rd 0x4a089602, rs 0xffffffffcbffd686, rt 0x7a089632
+and $s0, $s1, $s2 :: rd 0xaa9214c03805020a, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+and $t0, $t1, $t2 :: rd 0x44088603, rs 0xffffffffd5b88683, rt 0x644fc637
+and $s0, $s1, $s2 :: rd 0x1025291058000080, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+and $t0, $t1, $t2 :: rd 0x40089b00, rs 0xffffffffd1799b34, rt 0x608edb80
+and $s0, $s1, $s2 :: rd 0x10181444a380c4c0, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+and $t0, $t1, $t2 :: rd 0x4c08bd49, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+and $s0, $s1, $s2 :: rd 0x8030000d0840030c, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+and $t0, $t1, $t2 :: rd 0x4808a04a, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+and $s0, $s1, $s2 :: rd 0x20934f423120803, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+and $t0, $t1, $t2 :: rd 0x4808a04a, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+and $s0, $s1, $s2 :: rd 0x20934f423120803, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+and $t0, $t1, $t2 :: rd 0x4c08bd49, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+and $s0, $s1, $s2 :: rd 0x8030000d0840030c, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+and $t0, $t1, $t2 :: rd 0x40089b00, rs 0x608edb80, rt 0xffffffffd1799b34
+and $s0, $s1, $s2 :: rd 0x10181444a380c4c0, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+and $t0, $t1, $t2 :: rd 0x44088603, rs 0x644fc637, rt 0xffffffffd5b88683
+and $s0, $s1, $s2 :: rd 0x1025291058000080, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+and $t0, $t1, $t2 :: rd 0x4a089602, rs 0x7a089632, rt 0xffffffffcbffd686
+and $s0, $s1, $s2 :: rd 0xaa9214c03805020a, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+and $t0, $t1, $t2 :: rd 0x4e088b01, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+and $s0, $s1, $s2 :: rd 0x60009311a88249, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+and $t0, $t1, $t2 :: rd 0x4208ad48, rs 0x738aad5c, rt 0xffffffffc27dede8
+and $s0, $s1, $s2 :: rd 0x4281b8a48984448, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+and $t0, $t1, $t2 :: rd 0x4608b04b, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+and $s0, $s1, $s2 :: rd 0x28b00e6058880352, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+and $t0, $t1, $t2 :: rd 0x4e000d42, rs 0x4f040d56, rt 0xfffffffffef34de2
+and $s0, $s1, $s2 :: rd 0x2001b02009120824, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+and $t0, $t1, $t2 :: rd 0x4a001041, rs 0x4bc510e1, rt 0xfffffffffa325055
+and $s0, $s1, $s2 :: rd 0x501b044419040204, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+and $t0, $t1, $t2 :: rd 0x46003608, rs 0x46863638, rt 0xfffffffff771768c
+and $s0, $s1, $s2 :: rd 0x20810c1055a4184, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+and $t0, $t1, $t2 :: rd 0x42002b0b, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+and $s0, $s1, $s2 :: rd 0x3204a28a14049503, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+and $t0, $t1, $t2 :: rd 0x4c003b0a, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+and $s0, $s1, $s2 :: rd 0x2488a1143e6da082, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+and $t0, $t1, $t2 :: rd 0x48002609, rs 0x58c1663d, rt 0xffffffffe9362689
+and $s0, $s1, $s2 :: rd 0x38060124009240c5, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+and $t0, $t1, $t2 :: rd 0x44000040, rs 0x558240e4, rt 0xffffffffe4750050
+and $s0, $s1, $s2 :: rd 0x7c01251580628217, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+and $t0, $t1, $t2 :: rd 0x40001d43, rs 0x51435d53, rt 0xffffffffe0b41de7
+and $s0, $s1, $s2 :: rd 0x888401881224458, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+and $t0, $t1, $t2 :: rd 0x4083b0a, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+and $s0, $s1, $s2 :: rd 0x2886c00c1050632, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+and $t0, $t1, $t2 :: rd 0x82609, rs 0x21dc2629, rt 0xffffffff902b669d
+and $s0, $s1, $s2 :: rd 0xc41021060800001a, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+and $t0, $t1, $t2 :: rd 0xc080040, rs 0x2c9f00f0, rt 0xffffffff9d684044
+and $s0, $s1, $s2 :: rd 0xa37dc00809005408, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+and $t0, $t1, $t2 :: rd 0x8081d43, rs 0x285e1d47, rt 0xffffffff99a95df3
+and $s0, $s1, $s2 :: rd 0x2620060041032280, rs 0xb620660a49732b90, rt 0x663d061055833287
+and $t0, $t1, $t2 :: rd 0x6080d42, rs 0x36194d42, rt 0xffffffff87ee0df6
+and $s0, $s1, $s2 :: rd 0x1111891448ca100, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+and $t0, $t1, $t2 :: rd 0x0, rs 0x32d850f5, rt 0x0
+and $s0, $s1, $s2 :: rd 0x600402129100329, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+and $t0, $t1, $t2 :: rd 0x0, rs 0x3f9b762c, rt 0x0
+and $s0, $s1, $s2 :: rd 0x138010a0018a904a, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+and $t0, $t1, $t2 :: rd 0xa082b0b, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+and $s0, $s1, $s2 :: rd 0x430108080001408, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+and $t0, $t1, $t2 :: rd 0x2009602, rs 0x315d626, rt 0xffffffffb2e29692
+and $s0, $s1, $s2 :: rd 0xcb94008050212f0, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+and $t0, $t1, $t2 :: rd 0x6008b01, rs 0x7d4cb91, rt 0xffffffffb6238b25
+and $s0, $s1, $s2 :: rd 0x904a805916812436, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+and $t0, $t1, $t2 :: rd 0xa00ad48, rs 0xa97ed48, rt 0xffffffffbb60adfc
+and $s0, $s1, $s2 :: rd 0x22aa5a8104000118, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+and $t0, $t1, $t2 :: rd 0xe00b04b, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+and $s0, $s1, $s2 :: rd 0x1020118418712003, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+and $t0, $t1, $t2 :: rd 0xa04a, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+and $s0, $s1, $s2 :: rd 0x404188000900130a, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+and $t0, $t1, $t2 :: rd 0x400bd49, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+and $s0, $s1, $s2 :: rd 0x70a0e0004040a812, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+and $t0, $t1, $t2 :: rd 0x8009b00, rs 0x19939b94, rt 0xffffffffa864db20
+and $s0, $s1, $s2 :: rd 0x3420621fc984034b, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+and $t0, $t1, $t2 :: rd 0xc008603, rs 0x1d528623, rt 0xffffffffaca5c697
+and $s0, $s1, $s2 :: rd 0x6101408188241421, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+and $t0, $t1, $t2 :: rd 0x4008160a, rs 0xfffffffff12f560e, rt 0x40d816ba
+and $s0, $s1, $s2 :: rd 0x308660000108060, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+and $t0, $t1, $t2 :: rd 0x44080b09, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+and $s0, $s1, $s2 :: rd 0x3041ba290474046, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+and $t0, $t1, $t2 :: rd 0x48082d40, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+and $s0, $s1, $s2 :: rd 0x23102008484a2, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+and $t0, $t1, $t2 :: rd 0x4c083043, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+and $s0, $s1, $s2 :: rd 0x38205020295091d5, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+and $t0, $t1, $t2 :: rd 0x42082042, rs 0xffffffffe22b20d2, rt 0x53dc6066
+and $s0, $s1, $s2 :: rd 0x109720e906920439, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+and $t0, $t1, $t2 :: rd 0x46083d41, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+and $s0, $s1, $s2 :: rd 0x620d20002504489c, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+and $t0, $t1, $t2 :: rd 0x4a081b08, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+and $s0, $s1, $s2 :: rd 0x208421219d642412, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+and $t0, $t1, $t2 :: rd 0x4e08060b, rs 0xffffffffef68060b, rt 0x5e9f46bf
+and $s0, $s1, $s2 :: rd 0x208c3014868040b, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+and $t0, $t1, $t2 :: rd 0x4600bb02, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+and $s0, $s1, $s2 :: rd 0x46809a80800d0120, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+and $t0, $t1, $t2 :: rd 0x4200a601, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+and $s0, $s1, $s2 :: rd 0x1a80442900c20140, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+and $t0, $t1, $t2 :: rd 0x4e008048, rs 0xffffffffdea580d8, rt 0x6f52c06c
+and $s0, $s1, $s2 :: rd 0x286028200908548, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+and $t0, $t1, $t2 :: rd 0x4a009d4b, rs 0xffffffffda649d6f, rt 0x6b93dddb
+and $s0, $s1, $s2 :: rd 0x24082801060ba427, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+and $t0, $t1, $t2 :: rd 0x44008d4a, rs 0xffffffffc423cd6a, rt 0x75d48dde
+and $s0, $s1, $s2 :: rd 0x60200609030c4823, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+and $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+and $s0, $s1, $s2 :: rd 0x1262600c04011700, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+and $t0, $t1, $t2 :: rd 0x4c00b600, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+and $s0, $s1, $s2 :: rd 0xa0100040547c4d12, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+and $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+and $s0, $s1, $s2 :: rd 0x742581128005d340, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+and $t0, $t1, $t2 :: rd 0xc088d4a, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+and $s0, $s1, $s2 :: rd 0x15920040422040e4, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+and $t0, $t1, $t2 :: rd 0x8089049, rs 0xffffffffb9ff90c9, rt 0x808d07d
+and $s0, $s1, $s2 :: rd 0x800424800000a90a, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+and $t0, $t1, $t2 :: rd 0x408b600, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+and $s0, $s1, $s2 :: rd 0x88d292a166101428, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+and $t0, $t1, $t2 :: rd 0x8ab03, rs 0xffffffffb07daba7, rt 0x18aeb13
+and $s0, $s1, $s2 :: rd 0xc4601826a5044240, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+and $t0, $t1, $t2 :: rd 0xe08bb02, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+and $s0, $s1, $s2 :: rd 0x34002815ca224002, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+and $t0, $t1, $t2 :: rd 0xa08a601, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+and $s0, $s1, $s2 :: rd 0x1040480484898a, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+and $t0, $t1, $t2 :: rd 0x6088048, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+and $s0, $s1, $s2 :: rd 0xa000b1509a30069c, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+and $t0, $t1, $t2 :: rd 0x2089d4b, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+and $s0, $s1, $s2 :: rd 0x6330c4009a428040, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+and $t0, $t1, $t2 :: rd 0xa002042, rs 0xffffffff9b3660c6, rt 0x2ac12072
+and $s0, $s1, $s2 :: rd 0x100002004a42002e, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+and $t0, $t1, $t2 :: rd 0xe003d41, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+and $s0, $s1, $s2 :: rd 0x818084dd42408834, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+and $t0, $t1, $t2 :: rd 0x2001b08, rs 0xffffffff92b45ba8, rt 0x23431b1c
+and $s0, $s1, $s2 :: rd 0x88600a4042047204, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+and $t0, $t1, $t2 :: rd 0x600060b, rs 0xffffffff9675461f, rt 0x278206ab
+and $s0, $s1, $s2 :: rd 0x8150e80000481111, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+and $t0, $t1, $t2 :: rd 0x800160a, rs 0xffffffff8832161a, rt 0x39c556ae
+and $s0, $s1, $s2 :: rd 0xa10081205250f8d4, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+and $t0, $t1, $t2 :: rd 0xc000b09, rs 0xffffffff8cf30bad, rt 0x3d044b19
+and $s0, $s1, $s2 :: rd 0x80810544240918a9, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+and $t0, $t1, $t2 :: rd 0x2d40, rs 0xffffffff81b02d74, rt 0x30476dc0
+and $s0, $s1, $s2 :: rd 0x2c0a087254000020, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+and $t0, $t1, $t2 :: rd 0x4003043, rs 0xffffffff857130c3, rt 0x34867077
+and $s0, $s1, $s2 :: rd 0x5a20080086200480, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+and $t0, $t1, $t2 :: rd 0x4c089009, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+and $s0, $s1, $s2 :: rd 0x342a86c251019002, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+and $t0, $t1, $t2 :: rd 0x48088d0a, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+and $s0, $s1, $s2 :: rd 0xa90005aa3001208, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+and $t0, $t1, $t2 :: rd 0x4408ab43, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+and $s0, $s1, $s2 :: rd 0x128156081866a429, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+and $t0, $t1, $t2 :: rd 0x4008b640, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+and $s0, $s1, $s2 :: rd 0x102006029c82081a, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+and $t0, $t1, $t2 :: rd 0x4e08a641, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+and $s0, $s1, $s2 :: rd 0x102000b42c080099, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+and $t0, $t1, $t2 :: rd 0x4a08bb42, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+and $s0, $s1, $s2 :: rd 0x1200008809701000, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+and $t0, $t1, $t2 :: rd 0x46089d0b, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+and $s0, $s1, $s2 :: rd 0x20688200040094c6, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+and $t0, $t1, $t2 :: rd 0x42088008, rs 0x43cdc09c, rt 0xfffffffff23a8028
+and $s0, $s1, $s2 :: rd 0x1081800a62000400, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+and $t0, $t1, $t2 :: rd 0x4a003d01, rs 0x7b827d21, rt 0xffffffffca753d95
+and $s0, $s1, $s2 :: rd 0x5eac400180a12c8, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+and $t0, $t1, $t2 :: rd 0x4e002002, rs 0x7f436096, rt 0xffffffffceb42022
+and $s0, $s1, $s2 :: rd 0x188a8dc92d104106, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+and $t0, $t1, $t2 :: rd 0x4200064b, rs 0x7200464f, rt 0xffffffffc3f706fb
+and $s0, $s1, $s2 :: rd 0x1904407881c80116, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+and $t0, $t1, $t2 :: rd 0x46001b48, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+and $s0, $s1, $s2 :: rd 0x1d022a284a120a0, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+and $t0, $t1, $t2 :: rd 0x48000b49, rs 0x68860bfd, rt 0xffffffffd9714b49
+and $s0, $s1, $s2 :: rd 0x481d10009219460, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+and $t0, $t1, $t2 :: rd 0x4c00164a, rs 0x6c47164a, rt 0xffffffffddb056fe
+and $s0, $s1, $s2 :: rd 0x2401151228d10080, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+and $t0, $t1, $t2 :: rd 0x40003003, rs 0x61043093, rt 0xffffffffd0f37027
+and $s0, $s1, $s2 :: rd 0x906644084b10e0, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+and $t0, $t1, $t2 :: rd 0x44002d00, rs 0x65c52d24, rt 0xffffffffd4326d90
+and $s0, $s1, $s2 :: rd 0x3b00000600408098, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+and $t0, $t1, $t2 :: rd 0x80b49, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+and $s0, $s1, $s2 :: rd 0x4a348a6904004004, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+and $t0, $t1, $t2 :: rd 0x408164a, rs 0x155a565e, rt 0xffffffffa4ad16ea
+and $s0, $s1, $s2 :: rd 0x112828000a650101, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+and $t0, $t1, $t2 :: rd 0x8083003, rs 0x18197087, rt 0xffffffffa9ee3033
+and $s0, $s1, $s2 :: rd 0x9e0c220382050073, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+and $t0, $t1, $t2 :: rd 0xc082d00, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+and $s0, $s1, $s2 :: rd 0x8485404020080012, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+and $t0, $t1, $t2 :: rd 0x2083d01, rs 0x29f3d35, rt 0xffffffffb3687d81
+and $s0, $s1, $s2 :: rd 0xc0610090008058e3, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+and $t0, $t1, $t2 :: rd 0x6082002, rs 0x65e2082, rt 0xffffffffb7a96036
+and $s0, $s1, $s2 :: rd 0x264a4c8a0104a022, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+and $t0, $t1, $t2 :: rd 0xa08064b, rs 0xb1d065b, rt 0xffffffffbaea46ef
+and $s0, $s1, $s2 :: rd 0x829800604111000, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+and $t0, $t1, $t2 :: rd 0xe081b48, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+and $s0, $s1, $s2 :: rd 0x2350000a5500040, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+and $t0, $t1, $t2 :: rd 0x600a641, rs 0x3793a651, rt 0xffffffff8664e6e5
+and $s0, $s1, $s2 :: rd 0xa009101218015250, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+and $t0, $t1, $t2 :: rd 0x200bb42, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+and $s0, $s1, $s2 :: rd 0x440c84811a0d9400, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+and $t0, $t1, $t2 :: rd 0xe009d0b, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+and $s0, $s1, $s2 :: rd 0x1004810140111240, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+and $t0, $t1, $t2 :: rd 0xa008008, rs 0x3ad08088, rt 0xffffffff8b27c03c
+and $s0, $s1, $s2 :: rd 0x6d50050180908210, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+and $t0, $t1, $t2 :: rd 0x4009009, rs 0x2497d08d, rt 0xffffffff95609039
+and $s0, $s1, $s2 :: rd 0x81080e0d28d2427, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+and $t0, $t1, $t2 :: rd 0x8d0a, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+and $s0, $s1, $s2 :: rd 0xd208d60101, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+and $t0, $t1, $t2 :: rd 0xc00ab43, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+and $s0, $s1, $s2 :: rd 0x8c08104120c50, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+and $t0, $t1, $t2 :: rd 0x800b640, rs 0x29d4f654, rt 0xffffffff9823b6e0
+and $s0, $s1, $s2 :: rd 0x2a29450010404480, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+and $t0, $t1, $t2 :: rd 0x44082649, rs 0xffffffffc5a92679, rt 0x745e66cd
+and $s0, $s1, $s2 :: rd 0x48a4a891c25614f, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+and $t0, $t1, $t2 :: rd 0x40083b4a, rs 0xffffffffc1683bce, rt 0x709f7b7a
+and $s0, $s1, $s2 :: rd 0x61400ad08c021c0, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+and $t0, $t1, $t2 :: rd 0x4c081d03, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+and $s0, $s1, $s2 :: rd 0x982007902410400, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+and $t0, $t1, $t2 :: rd 0x48080000, rs 0xffffffffc8ea00a0, rt 0x791d4014
+and $s0, $s1, $s2 :: rd 0x9000501a21045004, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+and $t0, $t1, $t2 :: rd 0x46081001, rs 0xffffffffd6ad50a5, rt 0x675a1011
+and $s0, $s1, $s2 :: rd 0xd2a204018100a92, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+and $t0, $t1, $t2 :: rd 0x42080d02, rs 0xffffffffd26c4d12, rt 0x639b0da6
+and $s0, $s1, $s2 :: rd 0x878c100820204a5, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+and $t0, $t1, $t2 :: rd 0x4e082b4b, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+and $s0, $s1, $s2 :: rd 0x1110202a0112c02e, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+and $t0, $t1, $t2 :: rd 0x4a083648, rs 0xffffffffdbee767c, rt 0x6a1936c8
+and $s0, $s1, $s2 :: rd 0x340cc881c4200204, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+and $t0, $t1, $t2 :: rd 0x42008b41, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+and $s0, $s1, $s2 :: rd 0xfc11c4002c0a0052, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+and $t0, $t1, $t2 :: rd 0x46009642, rs 0xffffffffe760d676, rt 0x569796c2
+and $s0, $s1, $s2 :: rd 0x494092c10082d17, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+and $t0, $t1, $t2 :: rd 0x4a00b00b, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+and $s0, $s1, $s2 :: rd 0xb02e10000026200a, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+and $t0, $t1, $t2 :: rd 0x4e00ad08, rs 0xffffffffeee2ed18, rt 0x5f15adac
+and $s0, $s1, $s2 :: rd 0x16b36c28cd04045, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+and $t0, $t1, $t2 :: rd 0x4000bd09, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+and $s0, $s1, $s2 :: rd 0x84c0a2118102211b, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+and $t0, $t1, $t2 :: rd 0x4400a00a, rs 0xfffffffff464a0aa, rt 0x4593e01e
+and $s0, $s1, $s2 :: rd 0x24048b9018489510, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+and $t0, $t1, $t2 :: rd 0x48008643, rs 0xfffffffff9278673, rt 0x48d0c6c7
+and $s0, $s1, $s2 :: rd 0x3000191269241082, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+and $t0, $t1, $t2 :: rd 0x4c009b40, rs 0xfffffffffde69bc4, rt 0x4c11db70
+and $s0, $s1, $s2 :: rd 0x14485224010c0294, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+and $t0, $t1, $t2 :: rd 0x808bd09, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+and $s0, $s1, $s2 :: rd 0x34014c0a1300a481, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+and $t0, $t1, $t2 :: rd 0xc08a00a, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+and $s0, $s1, $s2 :: rd 0xc000004180014180, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+and $t0, $t1, $t2 :: rd 0x88643, rs 0xffffffff803ac667, rt 0x31cd86d3
+and $s0, $s1, $s2 :: rd 0x81000424c0d2000d, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+and $t0, $t1, $t2 :: rd 0x4089b40, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+and $s0, $s1, $s2 :: rd 0x45f5010698088000, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+and $t0, $t1, $t2 :: rd 0xa088b41, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+and $s0, $s1, $s2 :: rd 0x92428d80018412, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+and $t0, $t1, $t2 :: rd 0xe089642, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+and $s0, $s1, $s2 :: rd 0xa100c821124009, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+and $t0, $t1, $t2 :: rd 0x208b00b, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+and $s0, $s1, $s2 :: rd 0x32c00860211a40d, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+and $t0, $t1, $t2 :: rd 0x608ad08, rs 0xffffffff97ffad0c, rt 0x2608edb8
+and $s0, $s1, $s2 :: rd 0x1070508500008820, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+and $t0, $t1, $t2 :: rd 0xe001001, rs 0xffffffffafb010b1, rt 0x1e475005
+and $s0, $s1, $s2 :: rd 0x1a004203470020e4, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+and $t0, $t1, $t2 :: rd 0xa000d02, rs 0xffffffffab710d06, rt 0x1a864db2
+and $s0, $s1, $s2 :: rd 0xd2088431022411c, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+and $t0, $t1, $t2 :: rd 0x6002b4b, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+and $s0, $s1, $s2 :: rd 0x2a809c019a381088, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+and $t0, $t1, $t2 :: rd 0x2003648, rs 0xffffffffa2f33668, rt 0x130476dc
+and $s0, $s1, $s2 :: rd 0x40a040000401a502, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+and $t0, $t1, $t2 :: rd 0xc002649, rs 0xffffffffbcb4666d, rt 0xd4326d9
+and $s0, $s1, $s2 :: rd 0x20044c571216a462, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+and $t0, $t1, $t2 :: rd 0x8003b4a, rs 0xffffffffb8757bda, rt 0x9823b6e
+and $s0, $s1, $s2 :: rd 0x1328080203050071, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+and $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb5365d03, rt 0x0
+and $s0, $s1, $s2 :: rd 0x4c834002122303, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+and $t0, $t1, $t2 :: rd 0x0, rs 0xffffffffb1f740b4, rt 0x0
+and $s0, $s1, $s2 :: rd 0x1284020, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+andi $t0, $t1, 0xff :: rt 0x0, rs 0x0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xaa, rs 0x12bd6aa, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd6aa, rs 0x12bd6aa, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x12bd6aa, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x12bd6aa, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x0, rs 0x0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x13, rs 0x7e876382d2ab13, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xab13, rs 0x7e876382d2ab13, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7e876382d2ab13, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x7e876382d2ab13, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6e, rs 0x9823b6e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3b6e, rs 0x9823b6e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x9823b6e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x9823b6e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf3, rs 0x976d6e9ac31510f3, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x10f3, rs 0x976d6e9ac31510f3, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x976d6e9ac31510f3, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x976d6e9ac31510f3, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd9, rs 0xd4326d9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x26d9, rs 0xd4326d9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd4326d9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xd4326d9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfb, rs 0xb7746d775ad6a5fb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa5fb, rs 0xb7746d775ad6a5fb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xb7746d775ad6a5fb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xb7746d775ad6a5fb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xdc, rs 0x130476dc, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x76dc, rs 0x130476dc, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x130476dc, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x130476dc, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2, rs 0x42b0c0a28677b502, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb502, rs 0x42b0c0a28677b502, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x42b0c0a28677b502, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6b, rs 0x17c56b6b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6b6b, rs 0x17c56b6b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x17c56b6b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x17c56b6b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xad, rs 0x2aa89d319e3c30ad, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x30ad, rs 0x2aa89d319e3c30ad, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x2aa89d319e3c30ad, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb2, rs 0x1a864db2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4db2, rs 0x1a864db2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1a864db2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x1a864db2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3d, rs 0x1f308ec377fb413d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x413d, rs 0x1f308ec377fb413d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x1f308ec377fb413d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5, rs 0x1e475005, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5005, rs 0x1e475005, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1e475005, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x1e475005, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf7, rs 0x7aa04213c760e4f7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe4f7, rs 0x7aa04213c760e4f7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x7aa04213c760e4f7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb8, rs 0x2608edb8, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xedb8, rs 0x2608edb8, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2608edb8, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x2608edb8, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa0, rs 0x9e705cc51ad8dca0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdca0, rs 0x9e705cc51ad8dca0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x9e705cc51ad8dca0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x9e705cc51ad8dca0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf, rs 0x22c9f00f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf00f, rs 0x22c9f00f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x22c9f00f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x22c9f00f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd, rs 0x4b3dda869615a60d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa60d, rs 0x4b3dda869615a60d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x4b3dda869615a60d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd6, rs 0x2f8ad6d6, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd6d6, rs 0x2f8ad6d6, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x2f8ad6d6, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1d, rs 0x5e7a4dd6353d41d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd41d, rs 0x5e7a4dd6353d41d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x5e7a4dd6353d41d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x61, rs 0x2b4bcb61, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xcb61, rs 0x2b4bcb61, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2b4bcb61, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x2b4bcb61, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x13, rs 0x3af35a9dc40bd413, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd413, rs 0x3af35a9dc40bd413, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x3af35a9dc40bd413, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x64, rs 0x350c9b64, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9b64, rs 0x350c9b64, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x350c9b64, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x350c9b64, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x80, rs 0x47f505569a08a180, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa180, rs 0x47f505569a08a180, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x47f505569a08a180, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x47f505569a08a180, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd3, rs 0x31cd86d3, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x86d3, rs 0x31cd86d3, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x31cd86d3, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x31cd86d3, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf, rs 0x9564b77fd6d2040f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x40f, rs 0x9564b77fd6d2040f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x9564b77fd6d2040f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x9564b77fd6d2040f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa, rs 0x3c8ea00a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa00a, rs 0x3c8ea00a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3c8ea00a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x3c8ea00a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xbe, rs 0xcebc8279b2c76bbe, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6bbe, rs 0xcebc8279b2c76bbe, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xcebc8279b2c76bbe, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xcebc8279b2c76bbe, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xbd, rs 0x384fbdbd, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbdbd, rs 0x384fbdbd, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x384fbdbd, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x384fbdbd, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc7, rs 0xb5034c2f1f18e4c7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe4c7, rs 0xb5034c2f1f18e4c7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xb5034c2f1f18e4c7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xb5034c2f1f18e4c7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x70, rs 0x4c11db70, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdb70, rs 0x4c11db70, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4c11db70, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x4c11db70, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x97, rs 0x94ff52fc81afa797, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa797, rs 0x94ff52fc81afa797, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x94ff52fc81afa797, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x94ff52fc81afa797, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc7, rs 0x48d0c6c7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc6c7, rs 0x48d0c6c7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x48d0c6c7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x48d0c6c7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xea, rs 0x31d8d9166dfc50ea, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x50ea, rs 0x31d8d9166dfc50ea, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x31d8d9166dfc50ea, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1e, rs 0x4593e01e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe01e, rs 0x4593e01e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4593e01e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x4593e01e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb1, rs 0x36549bd678e895b1, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x95b1, rs 0x36549bd678e895b1, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x36549bd678e895b1, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x36549bd678e895b1, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa9, rs 0x4152fda9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfda9, rs 0x4152fda9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4152fda9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x4152fda9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x9b, rs 0x85e0a6319b63259b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x259b, rs 0x85e0a6319b63259b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x85e0a6319b63259b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x85e0a6319b63259b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xac, rs 0x5f15adac, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xadac, rs 0x5f15adac, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5f15adac, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x5f15adac, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc5, rs 0x556b3ecaccf17ac5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7ac5, rs 0x556b3ecaccf17ac5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x556b3ecaccf17ac5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1b, rs 0x5bd4b01b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb01b, rs 0x5bd4b01b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5bd4b01b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x5bd4b01b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfb, rs 0xb42f5fc581eea0fb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa0fb, rs 0xb42f5fc581eea0fb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xb42f5fc581eea0fb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xb42f5fc581eea0fb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc2, rs 0x569796c2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x96c2, rs 0x569796c2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x569796c2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x569796c2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x97, rs 0x25b50fec14682d97, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2d97, rs 0x25b50fec14682d97, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x25b50fec14682d97, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x25b50fec14682d97, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x75, rs 0x52568b75, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8b75, rs 0x52568b75, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x52568b75, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x52568b75, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7a, rs 0xfc93c5132cfb087a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x87a, rs 0xfc93c5132cfb087a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfc93c5132cfb087a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xfc93c5132cfb087a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc8, rs 0x6a1936c8, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x36c8, rs 0x6a1936c8, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x6a1936c8, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x6a1936c8, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x66, rs 0x3c2cd9a9cda20766, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x766, rs 0x3c2cd9a9cda20766, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x3c2cd9a9cda20766, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7f, rs 0x6ed82b7f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2b7f, rs 0x6ed82b7f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x6ed82b7f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x6ed82b7f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3e, rs 0x1791722a7d72da3e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xda3e, rs 0x1791722a7d72da3e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x1791722a7d72da3e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa6, rs 0x639b0da6, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xda6, rs 0x639b0da6, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x639b0da6, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x639b0da6, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xad, rs 0x87cc9d193ce24ad, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x24ad, rs 0x87cc9d193ce24ad, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x87cc9d193ce24ad, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x11, rs 0x675a1011, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1011, rs 0x675a1011, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x675a1011, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x675a1011, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd2, rs 0x1d2a757038984ed2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4ed2, rs 0x1d2a757038984ed2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x1d2a757038984ed2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x14, rs 0x791d4014, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4014, rs 0x791d4014, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x791d4014, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x791d4014, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x36, rs 0xd0d070db710cd036, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd036, rs 0xd0d070db710cd036, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd0d070db710cd036, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xd0d070db710cd036, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa3, rs 0x7ddc5da3, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5da3, rs 0x7ddc5da3, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7ddc5da3, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x7ddc5da3, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4, rs 0x39c21c7d03415604, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5604, rs 0x39c21c7d03415604, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x39c21c7d03415604, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x39c21c7d03415604, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7a, rs 0x709f7b7a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7b7a, rs 0x709f7b7a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x709f7b7a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x709f7b7a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xce, rs 0x8e94b7af8ecc31ce, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x31ce, rs 0x8e94b7af8ecc31ce, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x8e94b7af8ecc31ce, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x8e94b7af8ecc31ce, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xcd, rs 0x745e66cd, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x66cd, rs 0x745e66cd, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x745e66cd, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x745e66cd, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4f, rs 0x24eb6a8d1ce7674f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x674f, rs 0x24eb6a8d1ce7674f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x24eb6a8d1ce7674f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe0, rs 0xffffffff9823b6e0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb6e0, rs 0xffffffff9823b6e0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9823b6e0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffff9823b6e0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa7, rs 0x2f39454412d6e4a7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe4a7, rs 0x2f39454412d6e4a7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x2f39454412d6e4a7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x57, rs 0xffffffff9ce2ab57, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xab57, rs 0xffffffff9ce2ab57, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9ce2ab57, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffff9ce2ab57, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x54, rs 0x2608c2b756da4c54, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4c54, rs 0x2608c2b756da4c54, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8e, rs 0xffffffff91a18d8e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8d8e, rs 0xffffffff91a18d8e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff91a18d8e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffff91a18d8e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2f, rs 0x900102dac8d7252f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x252f, rs 0x900102dac8d7252f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x900102dac8d7252f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x900102dac8d7252f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x39, rs 0xffffffff95609039, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9039, rs 0xffffffff95609039, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff95609039, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffff95609039, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf7, rs 0xc890d5f1f2efa4f7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa4f7, rs 0xc890d5f1f2efa4f7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xc890d5f1f2efa4f7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xc890d5f1f2efa4f7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3c, rs 0xffffffff8b27c03c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc03c, rs 0xffffffff8b27c03c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8b27c03c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffff8b27c03c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x14, rs 0xed5005cbc8b0a214, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa214, rs 0xed5005cbc8b0a214, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8b, rs 0xffffffff8fe6dd8b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdd8b, rs 0xffffffff8fe6dd8b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8fe6dd8b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffff8fe6dd8b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6c, rs 0x314791895991136c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x136c, rs 0x314791895991136c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x314791895991136c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x314791895991136c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x52, rs 0xffffffff82a5fb52, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfb52, rs 0xffffffff82a5fb52, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff82a5fb52, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffff82a5fb52, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf3, rs 0xc6eecff99a2fb6f3, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb6f3, rs 0xc6eecff99a2fb6f3, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xc6eecff99a2fb6f3, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xc6eecff99a2fb6f3, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe5, rs 0xffffffff8664e6e5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe6e5, rs 0xffffffff8664e6e5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8664e6e5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffff8664e6e5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x70, rs 0xa809521238895270, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5270, rs 0xa809521238895270, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xa809521238895270, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xa809521238895270, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x58, rs 0xffffffffbe2b5b58, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5b58, rs 0xffffffffbe2b5b58, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x40, rs 0x87750a04ad765040, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5040, rs 0x87750a04ad765040, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x87750a04ad765040, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x87750a04ad765040, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xef, rs 0xffffffffbaea46ef, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x46ef, rs 0xffffffffbaea46ef, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbaea46ef, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffffbaea46ef, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x83, rs 0x2c3de85e84bb5a83, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5a83, rs 0x2c3de85e84bb5a83, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x2c3de85e84bb5a83, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x36, rs 0xffffffffb7a96036, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6036, rs 0xffffffffb7a96036, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb7a96036, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffffb7a96036, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x67, rs 0xae6aff8fc506aa67, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xaa67, rs 0xae6aff8fc506aa67, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xae6aff8fc506aa67, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xae6aff8fc506aa67, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x81, rs 0xffffffffb3687d81, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7d81, rs 0xffffffffb3687d81, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb3687d81, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb3687d81, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe3, rs 0xc07112dd60ed5ee3, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5ee3, rs 0xc07112dd60ed5ee3, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xc07112dd60ed5ee3, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xc07112dd60ed5ee3, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x84, rs 0xffffffffad2f2d84, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2d84, rs 0xffffffffad2f2d84, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5a, rs 0xc4c770f630dcca5a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xca5a, rs 0xc4c770f630dcca5a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xc4c770f630dcca5a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xc4c770f630dcca5a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x33, rs 0xffffffffa9ee3033, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3033, rs 0xffffffffa9ee3033, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa9ee3033, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffffa9ee3033, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x77, rs 0xdfec2b2383cd5277, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5277, rs 0xdfec2b2383cd5277, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xdfec2b2383cd5277, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xdfec2b2383cd5277, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xea, rs 0xffffffffa4ad16ea, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x16ea, rs 0xffffffffa4ad16ea, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa4ad16ea, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffffa4ad16ea, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6b, rs 0xd3adba260ff7d96b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd96b, rs 0xd3adba260ff7d96b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd3adba260ff7d96b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xd3adba260ff7d96b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5d, rs 0xffffffffa06c0b5d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb5d, rs 0xffffffffa06c0b5d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa06c0b5d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe, rs 0x4ab4aa798418c00e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc00e, rs 0x4ab4aa798418c00e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x4ab4aa798418c00e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x90, rs 0xffffffffd4326d90, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6d90, rs 0xffffffffd4326d90, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd4326d90, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffd4326d90, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb8, rs 0xbb8c035e0de0f0b8, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf0b8, rs 0xbb8c035e0de0f0b8, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xbb8c035e0de0f0b8, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xbb8c035e0de0f0b8, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x27, rs 0xffffffffd0f37027, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7027, rs 0xffffffffd0f37027, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd0f37027, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffffd0f37027, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf1, rs 0x33b06f54a97fdcf1, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdcf1, rs 0x33b06f54a97fdcf1, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x33b06f54a97fdcf1, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfe, rs 0xffffffffddb056fe, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x56fe, rs 0xffffffffddb056fe, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffddb056fe, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffffddb056fe, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x81, rs 0x77433f373fd1c081, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc081, rs 0x77433f373fd1c081, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x77433f373fd1c081, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x77433f373fd1c081, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x49, rs 0xffffffffd9714b49, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4b49, rs 0xffffffffd9714b49, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd9714b49, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd9714b49, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe4, rs 0xec91d993c92195e4, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x95e4, rs 0xec91d993c92195e4, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xec91d993c92195e4, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xec91d993c92195e4, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4c, rs 0xffffffffc7361b4c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1b4c, rs 0xffffffffc7361b4c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xab, rs 0x49fbf6a795b1a5ab, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa5ab, rs 0x49fbf6a795b1a5ab, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x49fbf6a795b1a5ab, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfb, rs 0xffffffffc3f706fb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6fb, rs 0xffffffffc3f706fb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc3f706fb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffffc3f706fb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1e, rs 0x19364378c7ce8d1e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8d1e, rs 0x19364378c7ce8d1e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x19364378c7ce8d1e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x22, rs 0xffffffffceb42022, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2022, rs 0xffffffffceb42022, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffceb42022, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffffceb42022, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7, rs 0xb99e8def2f384907, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4907, rs 0xb99e8def2f384907, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xb99e8def2f384907, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xb99e8def2f384907, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x95, rs 0xffffffffca753d95, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3d95, rs 0xffffffffca753d95, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffca753d95, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffca753d95, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfe, rs 0x47eacdcd582b12fe, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x12fe, rs 0x47eacdcd582b12fe, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x47eacdcd582b12fe, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x28, rs 0xfffffffff23a8028, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8028, rs 0xfffffffff23a8028, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff23a8028, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xfffffffff23a8028, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4f, rs 0xd685884e76558c4f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8c4f, rs 0xd685884e76558c4f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd685884e76558c4f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xd685884e76558c4f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x9f, rs 0xfffffffff6fb9d9f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9d9f, rs 0xfffffffff6fb9d9f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff6fb9d9f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xfffffffff6fb9d9f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc7, rs 0x6168d62a34c195c7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x95c7, rs 0x6168d62a34c195c7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x6168d62a34c195c7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x46, rs 0xfffffffffbb8bb46, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbb46, rs 0xfffffffffbb8bb46, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffbb8bb46, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xfffffffffbb8bb46, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5, rs 0xd30169894df47405, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7405, rs 0xd30169894df47405, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd30169894df47405, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xd30169894df47405, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf1, rs 0xffffffffff79a6f1, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa6f1, rs 0xffffffffff79a6f1, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffff79a6f1, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffffff79a6f1, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xdb, rs 0x1ca190bf6cbb06db, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6db, rs 0x1ca190bf6cbb06db, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x1ca190bf6cbb06db, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf4, rs 0xffffffffe13ef6f4, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf6f4, rs 0xffffffffe13ef6f4, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe13ef6f4, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffffe13ef6f4, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3a, rs 0x58300f029cae393a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x393a, rs 0x58300f029cae393a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x58300f029cae393a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x58300f029cae393a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x43, rs 0xffffffffe5ffeb43, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xeb43, rs 0xffffffffe5ffeb43, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe5ffeb43, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffffe5ffeb43, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2d, rs 0x9a995fdbdc7ebc2d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbc2d, rs 0x9a995fdbdc7ebc2d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x9a995fdbdc7ebc2d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x9a, rs 0xffffffffe8bccd9a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xcd9a, rs 0xffffffffe8bccd9a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe8bccd9a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffffe8bccd9a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x48, rs 0x8a96047be3405b48, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5b48, rs 0x8a96047be3405b48, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x8a96047be3405b48, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x8a96047be3405b48, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2d, rs 0xffffffffec7dd02d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd02d, rs 0xffffffffec7dd02d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffec7dd02d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffffec7dd02d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x22, rs 0x75bfafd2d519d322, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd322, rs 0x75bfafd2d519d322, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x75bfafd2d519d322, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x77, rs 0x34867077, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7077, rs 0x34867077, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x34867077, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x34867077, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xad, rs 0xde230867a630f6ad, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf6ad, rs 0xde230867a630f6ad, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xde230867a630f6ad, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xde230867a630f6ad, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc0, rs 0x30476dc0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6dc0, rs 0x30476dc0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x30476dc0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x30476dc0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x60, rs 0x2c0a0cf256103260, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3260, rs 0x2c0a0cf256103260, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x2c0a0cf256103260, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x19, rs 0x3d044b19, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4b19, rs 0x3d044b19, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3d044b19, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x3d044b19, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xef, rs 0x94a90544249b18ef, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x18ef, rs 0x94a90544249b18ef, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x94a90544249b18ef, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x94a90544249b18ef, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xae, rs 0x39c556ae, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x56ae, rs 0x39c556ae, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x39c556ae, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x39c556ae, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xde, rs 0xf9519fb55b56fcde, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfcde, rs 0xf9519fb55b56fcde, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xf9519fb55b56fcde, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xf9519fb55b56fcde, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xab, rs 0x278206ab, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6ab, rs 0x278206ab, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x278206ab, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x278206ab, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x9b, rs 0x81daf8200468319b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x319b, rs 0x81daf8200468319b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x81daf8200468319b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x81daf8200468319b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1c, rs 0x23431b1c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1b1c, rs 0x23431b1c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x23431b1c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x23431b1c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xec, rs 0x8c61ca5a5725f2ec, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf2ec, rs 0x8c61ca5a5725f2ec, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x8c61ca5a5725f2ec, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x8c61ca5a5725f2ec, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc5, rs 0x2e003dc5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3dc5, rs 0x2e003dc5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2e003dc5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x2e003dc5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xbf, rs 0x8b95a6ddc25dc8bf, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc8bf, rs 0x8b95a6ddc25dc8bf, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x8b95a6ddc25dc8bf, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x72, rs 0x2ac12072, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2072, rs 0x2ac12072, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2ac12072, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x2ac12072, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2f, rs 0x300ce751dac6162f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x162f, rs 0x300ce751dac6162f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x300ce751dac6162f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x300ce751dac6162f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xcf, rs 0x128e9dcf, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9dcf, rs 0x128e9dcf, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x128e9dcf, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x128e9dcf, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x50, rs 0x6778fdf3ba52a850, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa850, rs 0x6778fdf3ba52a850, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x78, rs 0x164f8078, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8078, rs 0x164f8078, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x164f8078, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x164f8078, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x9f, rs 0xad00b1f7da78479f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x479f, rs 0xad00b1f7da78479f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xad00b1f7da78479f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xad00b1f7da78479f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa1, rs 0x1b0ca6a1, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa6a1, rs 0x1b0ca6a1, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x1b0ca6a1, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8a, rs 0x8d44168a6b6d98a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd98a, rs 0x8d44168a6b6d98a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x8d44168a6b6d98a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x16, rs 0x1fcdbb16, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbb16, rs 0x1fcdbb16, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1fcdbb16, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x1fcdbb16, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x13, rs 0xf518381dce634413, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4413, rs 0xf518381dce634413, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xf518381dce634413, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xf518381dce634413, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x13, rs 0x18aeb13, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xeb13, rs 0x18aeb13, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x18aeb13, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x18aeb13, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc0, rs 0xe4627f3fe5255fc0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5fc0, rs 0xe4627f3fe5255fc0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa4, rs 0x54bf6a4, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf6a4, rs 0x54bf6a4, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x54bf6a4, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x54bf6a4, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x28, rs 0xccd392e176321f28, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1f28, rs 0xccd392e176321f28, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xccd392e176321f28, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xccd392e176321f28, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7d, rs 0x808d07d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd07d, rs 0x808d07d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x808d07d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x808d07d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8f, rs 0x829464944018fd8f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfd8f, rs 0x829464944018fd8f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x829464944018fd8f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x829464944018fd8f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xca, rs 0xcc9cdca, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xcdca, rs 0xcc9cdca, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xcc9cdca, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xcc9cdca, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe5, rs 0x15d3204052e8f0e5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf0e5, rs 0x15d3204052e8f0e5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x15d3204052e8f0e5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7, rs 0x7897ab07, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xab07, rs 0x7897ab07, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7897ab07, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x7897ab07, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x44, rs 0x7caf83d2880ff344, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf344, rs 0x7caf83d2880ff344, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb0, rs 0x7c56b6b0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb6b0, rs 0x7c56b6b0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7c56b6b0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x7c56b6b0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd7, rs 0xf156a04c747defd7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xefd7, rs 0xf156a04c747defd7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xf156a04c747defd7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xf156a04c747defd7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x69, rs 0x71159069, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9069, rs 0x71159069, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x71159069, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x71159069, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x10, rs 0x93e2601c0f31d710, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd710, rs 0x93e2601c0f31d710, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xde, rs 0x75d48dde, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8dde, rs 0x75d48dde, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x75d48dde, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x75d48dde, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x33, rs 0xe1e1a679131cd933, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd933, rs 0xe1e1a679131cd933, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xe1e1a679131cd933, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xe1e1a679131cd933, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xdb, rs 0x6b93dddb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdddb, rs 0x6b93dddb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x6b93dddb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x6b93dddb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x27, rs 0x24296b75a76fa427, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa427, rs 0x24296b75a76fa427, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x24296b75a76fa427, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x24296b75a76fa427, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6c, rs 0x6f52c06c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc06c, rs 0x6f52c06c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x6f52c06c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x6f52c06c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6a, rs 0xd296e2d2139ee56a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe56a, rs 0xd296e2d2139ee56a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd296e2d2139ee56a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xd296e2d2139ee56a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb5, rs 0x6211e6b5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe6b5, rs 0x6211e6b5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x6211e6b5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x6211e6b5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc0, rs 0x5a82447f6dc2a5c0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa5c0, rs 0x5a82447f6dc2a5c0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2, rs 0x66d0fb02, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfb02, rs 0x66d0fb02, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x66d0fb02, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x66d0fb02, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x68, rs 0x76c89e80c07dc168, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc168, rs 0x76c89e80c07dc168, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x76c89e80c07dc168, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xbf, rs 0x5e9f46bf, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x46bf, rs 0x5e9f46bf, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5e9f46bf, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x5e9f46bf, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8f, rs 0x70dc3454bfe348f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x348f, rs 0x70dc3454bfe348f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x70dc3454bfe348f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8, rs 0x5a5e5b08, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5b08, rs 0x5a5e5b08, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5a5e5b08, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x5a5e5b08, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1b, rs 0xbddc7123dd6d241b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x241b, rs 0xbddc7123dd6d241b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xbddc7123dd6d241b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xbddc7123dd6d241b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd1, rs 0x571d7dd1, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7dd1, rs 0x571d7dd1, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x571d7dd1, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x571d7dd1, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xbe, rs 0xf62fb727a59fcebe, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xcebe, rs 0xf62fb727a59fcebe, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xf62fb727a59fcebe, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xf62fb727a59fcebe, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x66, rs 0x53dc6066, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6066, rs 0x53dc6066, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x53dc6066, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x53dc6066, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfb, rs 0x109f27e90f9f46fb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x46fb, rs 0x109f27e90f9f46fb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x109f27e90f9f46fb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x63, rs 0x4d9b3063, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3063, rs 0x4d9b3063, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4d9b3063, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x4d9b3063, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd7, rs 0x3f63daa9afd199d7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x99d7, rs 0x3f63daa9afd199d7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x3f63daa9afd199d7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd4, rs 0x495a2dd4, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2dd4, rs 0x495a2dd4, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x495a2dd4, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x495a2dd4, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf2, rs 0xdbcb312ea3d484f2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x84f2, rs 0xdbcb312ea3d484f2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xdbcb312ea3d484f2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xdbcb312ea3d484f2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd, rs 0x44190b0d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb0d, rs 0x44190b0d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x44190b0d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x44190b0d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc6, rs 0x1f353faada4fe4c6, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe4c6, rs 0x1f353faada4fe4c6, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x1f353faada4fe4c6, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xba, rs 0x40d816ba, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x16ba, rs 0x40d816ba, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x40d816ba, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x40d816ba, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x60, rs 0x8b086ee07150c260, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc260, rs 0x8b086ee07150c260, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x8b086ee07150c260, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x8b086ee07150c260, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x97, rs 0xffffffffaca5c697, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc697, rs 0xffffffffaca5c697, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffaca5c697, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffffaca5c697, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x25, rs 0xe54750d5d9257f25, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7f25, rs 0xe54750d5d9257f25, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xe54750d5d9257f25, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xe54750d5d9257f25, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x20, rs 0xffffffffa864db20, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdb20, rs 0xffffffffa864db20, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa864db20, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffffa864db20, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5b, rs 0x3d69625fe9a6db5b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdb5b, rs 0x3d69625fe9a6db5b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x3d69625fe9a6db5b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf9, rs 0xffffffffa527fdf9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfdf9, rs 0xffffffffa527fdf9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa527fdf9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffffa527fdf9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x96, rs 0x70a3e0424340ac96, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xac96, rs 0x70a3e0424340ac96, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x70a3e0424340ac96, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4e, rs 0xffffffffa1e6e04e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe04e, rs 0xffffffffa1e6e04e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa1e6e04e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffffa1e6e04e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1e, rs 0xc0478f036980171e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x171e, rs 0xc0478f036980171e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xc0478f036980171e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xc0478f036980171e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4b, rs 0xffffffffbfa1b04b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb04b, rs 0xffffffffbfa1b04b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbfa1b04b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffffbfa1b04b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe3, rs 0x3ce839a51cf929e3, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x29e3, rs 0x3ce839a51cf929e3, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x3ce839a51cf929e3, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfc, rs 0xffffffffbb60adfc, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xadfc, rs 0xffffffffbb60adfc, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbb60adfc, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffffbb60adfc, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x58, rs 0xe2fbfa895eb68958, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8958, rs 0xe2fbfa895eb68958, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x25, rs 0xffffffffb6238b25, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8b25, rs 0xffffffffb6238b25, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb6238b25, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffffb6238b25, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb7, rs 0xd24bb05d76ed25b7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x25b7, rs 0xd24bb05d76ed25b7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd24bb05d76ed25b7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xd24bb05d76ed25b7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x92, rs 0xffffffffb2e29692, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9692, rs 0xffffffffb2e29692, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb2e29692, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffffb2e29692, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf1, rs 0xeb9682c170312f1, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x12f1, rs 0xeb9682c170312f1, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xeb9682c170312f1, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xeb9682c170312f1, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2f, rs 0xffffffff8aad2b2f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2b2f, rs 0xffffffff8aad2b2f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8aad2b2f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffff8aad2b2f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd, rs 0x84785280dd301d0d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1d0d, rs 0x84785280dd301d0d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x84785280dd301d0d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x84785280dd301d0d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x0, rs 0x0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xef, rs 0x179c77aa1f8fd6ef, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd6ef, rs 0x179c77aa1f8fd6ef, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x179c77aa1f8fd6ef, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x0, rs 0x0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6d, rs 0x26444ced2998436d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x436d, rs 0x26444ced2998436d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x26444ced2998436d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x26444ced2998436d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf6, rs 0xffffffff87ee0df6, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdf6, rs 0xffffffff87ee0df6, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff87ee0df6, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffff87ee0df6, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8, rs 0x7175c9dd58ca708, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa708, rs 0x7175c9dd58ca708, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf3, rs 0xffffffff99a95df3, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5df3, rs 0xffffffff99a95df3, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff99a95df3, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffff99a95df3, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x87, rs 0x663d061055833287, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3287, rs 0x663d061055833287, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x663d061055833287, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x663d061055833287, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x44, rs 0xffffffff9d684044, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4044, rs 0xffffffff9d684044, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9d684044, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff9d684044, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8b, rs 0xab7dd0488951d68b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd68b, rs 0xab7dd0488951d68b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xab7dd0488951d68b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xab7dd0488951d68b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x9d, rs 0xffffffff902b669d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x669d, rs 0xffffffff902b669d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff902b669d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff902b669d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1b, rs 0xf69823670e82471b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x471b, rs 0xf69823670e82471b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xf69823670e82471b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xf69823670e82471b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2a, rs 0xffffffff94ea7b2a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7b2a, rs 0xffffffff94ea7b2a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff94ea7b2a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffff94ea7b2a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb2, rs 0x36886c59d98d26b2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x26b2, rs 0x36886c59d98d26b2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x36886c59d98d26b2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe7, rs 0xffffffffe0b41de7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1de7, rs 0xffffffffe0b41de7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe0b41de7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffffe0b41de7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x79, rs 0x9ca4bdbd32be479, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe479, rs 0x9ca4bdbd32be479, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x9ca4bdbd32be479, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x50, rs 0xffffffffe4750050, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x50, rs 0xffffffffe4750050, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe4750050, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffe4750050, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1f, rs 0xfd5d7d1d9962e61f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe61f, rs 0xfd5d7d1d9962e61f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfd5d7d1d9962e61f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xfd5d7d1d9962e61f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x89, rs 0xffffffffe9362689, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2689, rs 0xffffffffe9362689, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe9362689, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe9362689, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xdf, rs 0x3f46553ecad374df, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x74df, rs 0x3f46553ecad374df, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3f46553ecad374df, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x3f46553ecad374df, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3e, rs 0xffffffffedf73b3e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3b3e, rs 0xffffffffedf73b3e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffedf73b3e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffffedf73b3e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa7, rs 0x2e9ab97d3eedf2a7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf2a7, rs 0x2e9ab97d3eedf2a7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x2e9ab97d3eedf2a7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3b, rs 0xfffffffff3b06b3b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6b3b, rs 0xfffffffff3b06b3b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff3b06b3b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xfffffffff3b06b3b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x33, rs 0x36a6f7fa3c0c9f33, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9f33, rs 0x36a6f7fa3c0c9f33, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x36a6f7fa3c0c9f33, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8c, rs 0xfffffffff771768c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x768c, rs 0xfffffffff771768c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff771768c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffff771768c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xdc, rs 0x8bb938e3155ec9dc, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc9dc, rs 0x8bb938e3155ec9dc, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x55, rs 0xfffffffffa325055, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5055, rs 0xfffffffffa325055, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffa325055, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffffa325055, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6, rs 0xd2df25c419478206, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8206, rs 0xd2df25c419478206, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd2df25c419478206, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xd2df25c419478206, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe2, rs 0xfffffffffef34de2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4de2, rs 0xfffffffffef34de2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffef34de2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xfffffffffef34de2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x25, rs 0xbc65bf27eb321825, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1825, rs 0xbc65bf27eb321825, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xbc65bf27eb321825, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xbc65bf27eb321825, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5f, rs 0xffffffffc6bcf05f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf05f, rs 0xffffffffc6bcf05f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc6bcf05f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffffc6bcf05f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xda, rs 0xa8b08fe67a8bc7da, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc7da, rs 0xa8b08fe67a8bc7da, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xa8b08fe67a8bc7da, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xa8b08fe67a8bc7da, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe8, rs 0xffffffffc27dede8, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xede8, rs 0xffffffffc27dede8, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc27dede8, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffffc27dede8, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe8, rs 0x852b5bcaf8dfcde8, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xcde8, rs 0x852b5bcaf8dfcde8, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x852b5bcaf8dfcde8, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x852b5bcaf8dfcde8, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x31, rs 0xffffffffcf3ecb31, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xcb31, rs 0xffffffffcf3ecb31, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcf3ecb31, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffffcf3ecb31, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x69, rs 0x478909b59a99269, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9269, rs 0x478909b59a99269, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x478909b59a99269, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x478909b59a99269, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x86, rs 0xffffffffcbffd686, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd686, rs 0xffffffffcbffd686, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcbffd686, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffffcbffd686, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf, rs 0xbfb31cc87857360f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x360f, rs 0xbfb31cc87857360f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xbfb31cc87857360f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xbfb31cc87857360f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x83, rs 0xffffffffd5b88683, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8683, rs 0xffffffffd5b88683, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd5b88683, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffffd5b88683, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa2, rs 0xb665ed5e7f89e9a2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe9a2, rs 0xb665ed5e7f89e9a2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xb665ed5e7f89e9a2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xb665ed5e7f89e9a2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x34, rs 0xffffffffd1799b34, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9b34, rs 0xffffffffd1799b34, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd1799b34, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffffd1799b34, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe4, rs 0x15da9474b7a8d5e4, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd5e4, rs 0x15da9474b7a8d5e4, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x15da9474b7a8d5e4, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xed, rs 0xffffffffdc3abded, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbded, rs 0xffffffffdc3abded, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdc3abded, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffffdc3abded, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xcc, rs 0xf6b3537d2af90fcc, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfcc, rs 0xf6b3537d2af90fcc, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5a, rs 0xffffffffd8fba05a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa05a, rs 0xffffffffd8fba05a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd8fba05a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffffd8fba05a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x97, rs 0x223d7cfe2b961897, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1897, rs 0x223d7cfe2b961897, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x223d7cfe2b961897, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xee, rs 0x690ce0ee, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe0ee, rs 0x690ce0ee, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x690ce0ee, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x690ce0ee, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4b, rs 0x420b34f533734a4b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4a4b, rs 0x420b34f533734a4b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x420b34f533734a4b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x420b34f533734a4b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x59, rs 0x6dcdfd59, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfd59, rs 0x6dcdfd59, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x6dcdfd59, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x6dcdfd59, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3c, rs 0x897c8c8ddd46b33c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb33c, rs 0x897c8c8ddd46b33c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x897c8c8ddd46b33c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x897c8c8ddd46b33c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x80, rs 0x608edb80, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdb80, rs 0x608edb80, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x608edb80, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x608edb80, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd9, rs 0x7a387445e392ccd9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xccd9, rs 0x7a387445e392ccd9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x7a387445e392ccd9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x37, rs 0x644fc637, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc637, rs 0x644fc637, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x644fc637, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x644fc637, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc9, rs 0x512f29b1d80000c9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc9, rs 0x512f29b1d80000c9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x512f29b1d80000c9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x32, rs 0x7a089632, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9632, rs 0x7a089632, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7a089632, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x7a089632, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa, rs 0xeaded5c53dad020a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x20a, rs 0xeaded5c53dad020a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xeaded5c53dad020a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xeaded5c53dad020a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x85, rs 0x7ec98b85, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8b85, rs 0x7ec98b85, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7ec98b85, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x7ec98b85, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5b, rs 0x8a6229d731eea35b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa35b, rs 0x8a6229d731eea35b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x8a6229d731eea35b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x8a6229d731eea35b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5c, rs 0x738aad5c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xad5c, rs 0x738aad5c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x738aad5c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x738aad5c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x49, rs 0x2c3c3f9e48985649, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5649, rs 0x2c3c3f9e48985649, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x2c3c3f9e48985649, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xeb, rs 0x774bb0eb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb0eb, rs 0x774bb0eb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x774bb0eb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x774bb0eb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x77, rs 0x7ff61e78dc9c0b77, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb77, rs 0x7ff61e78dc9c0b77, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x7ff61e78dc9c0b77, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x56, rs 0x4f040d56, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd56, rs 0x4f040d56, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4f040d56, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x4f040d56, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xec, rs 0x2299b0e01d5e68ec, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x68ec, rs 0x2299b0e01d5e68ec, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x2299b0e01d5e68ec, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe1, rs 0x4bc510e1, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x10e1, rs 0x4bc510e1, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4bc510e1, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x4bc510e1, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x25, rs 0x7c3b04673d0c6e25, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6e25, rs 0x7c3b04673d0c6e25, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x7c3b04673d0c6e25, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x38, rs 0x46863638, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3638, rs 0x46863638, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x46863638, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x46863638, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x87, rs 0x164e17c1e7fb6587, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6587, rs 0x164e17c1e7fb6587, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x164e17c1e7fb6587, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8f, rs 0x42472b8f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2b8f, rs 0x42472b8f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x42472b8f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x42472b8f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb, rs 0xfa4ca28b56d4950b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x950b, rs 0xfa4ca28b56d4950b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfa4ca28b56d4950b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xfa4ca28b56d4950b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8a, rs 0x5c007b8a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7b8a, rs 0x5c007b8a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5c007b8a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x5c007b8a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8a, rs 0xe5e9a314be7fa08a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa08a, rs 0xe5e9a314be7fa08a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xe5e9a314be7fa08a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xe5e9a314be7fa08a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3d, rs 0x58c1663d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x663d, rs 0x58c1663d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x58c1663d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x58c1663d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc5, rs 0xf8be8164159649c5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x49c5, rs 0xf8be8164159649c5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xf8be8164159649c5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xf8be8164159649c5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe4, rs 0x558240e4, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x40e4, rs 0x558240e4, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x558240e4, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x558240e4, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x17, rs 0x7ca3259784e69b17, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9b17, rs 0x7ca3259784e69b17, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x7ca3259784e69b17, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x53, rs 0x51435d53, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5d53, rs 0x51435d53, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x51435d53, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x51435d53, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5c, rs 0xfc8d543ca1f24f5c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4f5c, rs 0xfc8d543ca1f24f5c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x9e, rs 0x251d3b9e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3b9e, rs 0x251d3b9e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x251d3b9e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x251d3b9e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x36, rs 0x4aeb6ca0e3459e36, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9e36, rs 0x4aeb6ca0e3459e36, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x4aeb6ca0e3459e36, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x29, rs 0x21dc2629, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2629, rs 0x21dc2629, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x21dc2629, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x21dc2629, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfa, rs 0xc532e18e187980fa, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x80fa, rs 0xc532e18e187980fa, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xc532e18e187980fa, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xc532e18e187980fa, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf0, rs 0x2c9f00f0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf0, rs 0x2c9f00f0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2c9f00f0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x2c9f00f0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1c, rs 0xb3fdec294f287d1c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7d1c, rs 0xb3fdec294f287d1c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x47, rs 0x285e1d47, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1d47, rs 0x285e1d47, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x285e1d47, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x285e1d47, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x90, rs 0xb620660a49732b90, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2b90, rs 0xb620660a49732b90, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xb620660a49732b90, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xb620660a49732b90, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x42, rs 0x36194d42, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4d42, rs 0x36194d42, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x36194d42, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x36194d42, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x91, rs 0x993138f16cfde991, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe991, rs 0x993138f16cfde991, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x993138f16cfde991, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x993138f16cfde991, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf5, rs 0x32d850f5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x50f5, rs 0x32d850f5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x32d850f5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x32d850f5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb9, rs 0xde02d1337d5407b9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7b9, rs 0xde02d1337d5407b9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xde02d1337d5407b9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xde02d1337d5407b9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2c, rs 0x3f9b762c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x762c, rs 0x3f9b762c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3f9b762c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x3f9b762c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5a, rs 0x13a390e1e1dab15a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb15a, rs 0x13a390e1e1dab15a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x13a390e1e1dab15a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x9b, rs 0x3b5a6b9b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6b9b, rs 0x3b5a6b9b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x3b5a6b9b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc8, rs 0x743491a6828716c8, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x16c8, rs 0x743491a6828716c8, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x743491a6828716c8, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x743491a6828716c8, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x26, rs 0x315d626, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd626, rs 0x315d626, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x315d626, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x315d626, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf2, rs 0x8cff404aede292f2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x92f2, rs 0x8cff404aede292f2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x8cff404aede292f2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x8cff404aede292f2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x91, rs 0x7d4cb91, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xcb91, rs 0x7d4cb91, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7d4cb91, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x7d4cb91, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x36, rs 0xb9cec0db1f837636, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7636, rs 0xb9cec0db1f837636, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xb9cec0db1f837636, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xb9cec0db1f837636, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x48, rs 0xa97ed48, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xed48, rs 0xa97ed48, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xa97ed48, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xa97ed48, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1c, rs 0x2eaa5aa70509771c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x771c, rs 0x2eaa5aa70509771c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xff, rs 0xe56f0ff, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf0ff, rs 0xe56f0ff, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xe56f0ff, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xe56f0ff, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1b, rs 0xd327538e1875241b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x241b, rs 0xd327538e1875241b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd327538e1875241b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xd327538e1875241b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfa, rs 0x1011a0fa, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa0fa, rs 0x1011a0fa, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1011a0fa, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x1011a0fa, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6b, rs 0x42e9f8548b739b6b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9b6b, rs 0x42e9f8548b739b6b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x42e9f8548b739b6b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4d, rs 0x14d0bd4d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbd4d, rs 0x14d0bd4d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x14d0bd4d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x14d0bd4d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1a, rs 0x78e4e50ceccbba1a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xba1a, rs 0x78e4e50ceccbba1a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x78e4e50ceccbba1a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x94, rs 0x19939b94, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9b94, rs 0x19939b94, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x19939b94, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x19939b94, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xcb, rs 0xf6b6fa3fcd9d27cb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x27cb, rs 0xf6b6fa3fcd9d27cb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xf6b6fa3fcd9d27cb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x23, rs 0x1d528623, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8623, rs 0x1d528623, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1d528623, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x1d528623, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x23, rs 0x73916483ae3e9423, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9423, rs 0x73916483ae3e9423, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x73916483ae3e9423, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x73916483ae3e9423, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe, rs 0xfffffffff12f560e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x560e, rs 0xfffffffff12f560e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff12f560e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xfffffffff12f560e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x61, rs 0x276af70a0e128561, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8561, rs 0x276af70a0e128561, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x276af70a0e128561, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x276af70a0e128561, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb9, rs 0xfffffffff5ee4bb9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4bb9, rs 0xfffffffff5ee4bb9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff5ee4bb9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xfffffffff5ee4bb9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6e, rs 0x3045bf6b5e74b6e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4b6e, rs 0x3045bf6b5e74b6e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x3045bf6b5e74b6e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x60, rs 0xfffffffff8ad6d60, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6d60, rs 0xfffffffff8ad6d60, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff8ad6d60, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xfffffffff8ad6d60, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa6, rs 0x20223f1308accfa6, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xcfa6, rs 0x20223f1308accfa6, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x20223f1308accfa6, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x20223f1308accfa6, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd7, rs 0xfffffffffc6c70d7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x70d7, rs 0xfffffffffc6c70d7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffc6c70d7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xfffffffffc6c70d7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf5, rs 0xf83c55743976b5f5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb5f5, rs 0xf83c55743976b5f5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xf83c55743976b5f5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xf83c55743976b5f5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd2, rs 0xffffffffe22b20d2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x20d2, rs 0xffffffffe22b20d2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe22b20d2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffffe22b20d2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3d, rs 0x1f9720f946923c3d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3c3d, rs 0x1f9720f946923c3d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x1f9720f946923c3d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x65, rs 0xffffffffe6ea3d65, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3d65, rs 0xffffffffe6ea3d65, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe6ea3d65, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffffe6ea3d65, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xdd, rs 0x620d28506d2448dd, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x48dd, rs 0x620d28506d2448dd, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x620d28506d2448dd, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x620d28506d2448dd, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xbc, rs 0xffffffffeba91bbc, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1bbc, rs 0xffffffffeba91bbc, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffeba91bbc, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffffeba91bbc, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x32, rs 0x60a521e99ff4a732, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa732, rs 0x60a521e99ff4a732, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x60a521e99ff4a732, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb, rs 0xffffffffef68060b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x60b, rs 0xffffffffef68060b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffef68060b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffffef68060b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb, rs 0x5a08f3ab5c680f0b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf0b, rs 0x5a08f3ab5c680f0b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x5a08f3ab5c680f0b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb6, rs 0xffffffffd727bbb6, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbbb6, rs 0xffffffffd727bbb6, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd727bbb6, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffffd727bbb6, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x26, rs 0xc7a59be7800f3d26, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3d26, rs 0xc7a59be7800f3d26, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xc7a59be7800f3d26, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xc7a59be7800f3d26, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa601, rs 0xffffffffd3e6a601, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd3e6a601, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x41, rs 0x1aecdf2982ca1b41, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1b41, rs 0x1aecdf2982ca1b41, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x1aecdf2982ca1b41, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd8, rs 0xffffffffdea580d8, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x80d8, rs 0xffffffffdea580d8, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdea580d8, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffdea580d8, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xcd, rs 0x2b8613a260d19dcd, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9dcd, rs 0x2b8613a260d19dcd, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x2b8613a260d19dcd, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6f, rs 0xffffffffda649d6f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9d6f, rs 0xffffffffda649d6f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffda649d6f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffffda649d6f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7f, rs 0x2518ac8b0e8bbe7f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbe7f, rs 0x2518ac8b0e8bbe7f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x2518ac8b0e8bbe7f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6a, rs 0xffffffffc423cd6a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xcd6a, rs 0xffffffffc423cd6a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc423cd6a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffffc423cd6a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6b, rs 0x743e568d2fcf486b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x486b, rs 0x743e568d2fcf486b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x743e568d2fcf486b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x0, rs 0x0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x28, rs 0x126f646f34c31728, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1728, rs 0x126f646f34c31728, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x126f646f34c31728, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x126f646f34c31728, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4, rs 0xffffffffcda1f604, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf604, rs 0xffffffffcda1f604, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcda1f604, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffcda1f604, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x12, rs 0xaab0196156fc4d12, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4d12, rs 0xaab0196156fc4d12, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xaab0196156fc4d12, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xaab0196156fc4d12, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x0, rs 0x0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x0, rs 0x0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x42, rs 0x7535cd338595d342, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd342, rs 0x7535cd338595d342, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7535cd338595d342, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x7535cd338595d342, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7e, rs 0xffffffffbd3e8d7e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8d7e, rs 0xffffffffbd3e8d7e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbd3e8d7e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffffbd3e8d7e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xec, rs 0xdfb254da422346ec, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x46ec, rs 0xdfb254da422346ec, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xdfb254da422346ec, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xdfb254da422346ec, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc9, rs 0xffffffffb9ff90c9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x90c9, rs 0xffffffffb9ff90c9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb9ff90c9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2a, rs 0xa86726c90081ab2a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xab2a, rs 0xa86726c90081ab2a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xa86726c90081ab2a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xa86726c90081ab2a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x10, rs 0xffffffffb4bcb610, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb610, rs 0xffffffffb4bcb610, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x38, rs 0x9bfeffa1679d7438, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7438, rs 0x9bfeffa1679d7438, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x9bfeffa1679d7438, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x9bfeffa1679d7438, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa7, rs 0xffffffffb07daba7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xaba7, rs 0xffffffffb07daba7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb07daba7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffffb07daba7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x44, rs 0xc7699826b7dee244, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe244, rs 0xc7699826b7dee244, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xc7699826b7dee244, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xc7699826b7dee244, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa2, rs 0xffffffffae3afba2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfba2, rs 0xffffffffae3afba2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffae3afba2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffffae3afba2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4a, rs 0x3c07af97fba6704a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x704a, rs 0x3c07af97fba6704a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x3c07af97fba6704a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x15, rs 0xffffffffaafbe615, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe615, rs 0xffffffffaafbe615, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffaafbe615, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffaafbe615, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfe, rs 0x521364dc04c58bfe, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8bfe, rs 0x521364dc04c58bfe, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x521364dc04c58bfe, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xcc, rs 0xffffffffa7b8c0cc, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc0cc, rs 0xffffffffa7b8c0cc, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xbc, rs 0xe0f7bb589ab7aebc, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xaebc, rs 0xe0f7bb589ab7aebc, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xe0f7bb589ab7aebc, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xe0f7bb589ab7aebc, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7b, rs 0xffffffffa379dd7b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdd7b, rs 0xffffffffa379dd7b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa379dd7b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffffa379dd7b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4d, rs 0xe336c60cdeeb954d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x954d, rs 0xe336c60cdeeb954d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xe336c60cdeeb954d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc6, rs 0xffffffff9b3660c6, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x60c6, rs 0xffffffff9b3660c6, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9b3660c6, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffff9b3660c6, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6e, rs 0xd5b2120c6f52416e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x416e, rs 0xd5b2120c6f52416e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd5b2120c6f52416e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xd5b2120c6f52416e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x71, rs 0xffffffff9ff77d71, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7d71, rs 0xffffffff9ff77d71, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9ff77d71, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffff9ff77d71, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x34, rs 0x85a2d4ff7e628a34, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8a34, rs 0x85a2d4ff7e628a34, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x85a2d4ff7e628a34, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x85a2d4ff7e628a34, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa8, rs 0xffffffff92b45ba8, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5ba8, rs 0xffffffff92b45ba8, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff92b45ba8, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffff92b45ba8, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7, rs 0x986a2b654a4e7e07, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7e07, rs 0x986a2b654a4e7e07, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x986a2b654a4e7e07, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x986a2b654a4e7e07, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1f, rs 0xffffffff9675461f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x461f, rs 0xffffffff9675461f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9675461f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffff9675461f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x55, rs 0xa974eac43a489b55, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9b55, rs 0xa974eac43a489b55, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xa974eac43a489b55, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xa974eac43a489b55, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1a, rs 0xffffffff8832161a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x161a, rs 0xffffffff8832161a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8832161a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffff8832161a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf5, rs 0xa388c16272f1f8f5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf8f5, rs 0xa388c16272f1f8f5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xa388c16272f1f8f5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xa388c16272f1f8f5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xad, rs 0xffffffff8cf30bad, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbad, rs 0xffffffff8cf30bad, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8cf30bad, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffff8cf30bad, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa9, rs 0xe8c11f45e7495ea9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5ea9, rs 0xe8c11f45e7495ea9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xe8c11f45e7495ea9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xe8c11f45e7495ea9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x74, rs 0xffffffff81b02d74, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2d74, rs 0xffffffff81b02d74, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff81b02d74, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffff81b02d74, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb4, rs 0xadaa5a765cc1c8b4, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc8b4, rs 0xadaa5a765cc1c8b4, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xadaa5a765cc1c8b4, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xadaa5a765cc1c8b4, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc3, rs 0xffffffff857130c3, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x30c3, rs 0xffffffff857130c3, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff857130c3, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffff857130c3, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc0, rs 0x7ab4ce88dfa605c0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5c0, rs 0x7ab4ce88dfa605c0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x99, rs 0x5d8a9099, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9099, rs 0x5d8a9099, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5d8a9099, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x5d8a9099, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4f, rs 0xb42ad6e659a7b04f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb04f, rs 0xb42ad6e659a7b04f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xb42ad6e659a7b04f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xb42ad6e659a7b04f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2e, rs 0x594b8d2e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8d2e, rs 0x594b8d2e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x594b8d2e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x594b8d2e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2f, rs 0x4bf8485ab728922f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x922f, rs 0x4bf8485ab728922f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x4bf8485ab728922f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf7, rs 0x5408abf7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xabf7, rs 0x5408abf7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5408abf7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x5408abf7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfb, rs 0x76a3d60c3b66a7fb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa7fb, rs 0x76a3d60c3b66a7fb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x76a3d60c3b66a7fb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x40, rs 0x50c9b640, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb640, rs 0x50c9b640, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x50c9b640, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x50c9b640, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xda, rs 0x31e0c6affdc28eda, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8eda, rs 0x31e0c6affdc28eda, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x31e0c6affdc28eda, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x45, rs 0x4e8ee645, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe645, rs 0x4e8ee645, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4e8ee645, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x4e8ee645, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x9d, rs 0x53606bb4bf0c999d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x999d, rs 0x53606bb4bf0c999d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x53606bb4bf0c999d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf2, rs 0x4a4ffbf2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfbf2, rs 0x4a4ffbf2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x4a4ffbf2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf0, rs 0x32fc12c81b7919f0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x19f0, rs 0x32fc12c81b7919f0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x32fc12c81b7919f0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2b, rs 0x470cdd2b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdd2b, rs 0x470cdd2b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x470cdd2b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x470cdd2b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd6, rs 0x3ef88384c72efcd6, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfcd6, rs 0x3ef88384c72efcd6, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x3ef88384c72efcd6, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x9c, rs 0x43cdc09c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc09c, rs 0x43cdc09c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x43cdc09c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x43cdc09c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x80, rs 0x38b1c7bb6a2a3580, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3580, rs 0x38b1c7bb6a2a3580, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x21, rs 0x7b827d21, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7d21, rs 0x7b827d21, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7b827d21, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x7b827d21, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc9, rs 0x15ebf6121dca77c9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x77c9, rs 0x15ebf6121dca77c9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x15ebf6121dca77c9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x96, rs 0x7f436096, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6096, rs 0x7f436096, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7f436096, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x7f436096, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xae, rs 0x5eaacdd9fd9147ae, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x47ae, rs 0x5eaacdd9fd9147ae, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x5eaacdd9fd9147ae, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4f, rs 0x7200464f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x464f, rs 0x7200464f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7200464f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x7200464f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x17, rs 0xbb8470f981e91117, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1117, rs 0xbb8470f981e91117, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xbb8470f981e91117, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xbb8470f981e91117, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf8, rs 0x76c15bf8, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5bf8, rs 0x76c15bf8, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x76c15bf8, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x76c15bf8, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe0, rs 0x5d42aeac6a532e0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x32e0, rs 0x5d42aeac6a532e0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x5d42aeac6a532e0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfd, rs 0x68860bfd, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbfd, rs 0x68860bfd, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x68860bfd, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x68860bfd, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x63, rs 0x14abf36419fb9e63, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9e63, rs 0x14abf36419fb9e63, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x14abf36419fb9e63, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x4a, rs 0x6c47164a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x164a, rs 0x6c47164a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x6c47164a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x6c47164a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xac, rs 0x249d559aa8d72aac, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2aac, rs 0x249d559aa8d72aac, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x249d559aa8d72aac, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x93, rs 0x61043093, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3093, rs 0x61043093, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x61043093, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x61043093, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xec, rs 0xcd6764f084b30ec, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x30ec, rs 0xcd6764f084b30ec, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xcd6764f084b30ec, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x24, rs 0x65c52d24, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2d24, rs 0x65c52d24, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x65c52d24, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x65c52d24, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xdf, rs 0x7f03ac0792468fdf, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8fdf, rs 0x7f03ac0792468fdf, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x7f03ac0792468fdf, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe9, rs 0x119b4be9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4be9, rs 0x119b4be9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x119b4be9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x119b4be9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf5, rs 0x7e35ce6d56e670f5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x70f5, rs 0x7e35ce6d56e670f5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x7e35ce6d56e670f5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5e, rs 0x155a565e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x565e, rs 0x155a565e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x155a565e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x155a565e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x11, rs 0x152828591a652711, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2711, rs 0x152828591a652711, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x152828591a652711, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x152828591a652711, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x87, rs 0x18197087, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7087, rs 0x18197087, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x18197087, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x18197087, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xfb, rs 0x9e1c3283d215a9fb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa9fb, rs 0x9e1c3283d215a9fb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x9e1c3283d215a9fb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x9e1c3283d215a9fb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x30, rs 0x1cd86d30, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6d30, rs 0x1cd86d30, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1cd86d30, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x1cd86d30, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x17, rs 0x8d95c049282a0417, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x417, rs 0x8d95c049282a0417, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x8d95c049282a0417, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x8d95c049282a0417, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x35, rs 0x29f3d35, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3d35, rs 0x29f3d35, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x29f3d35, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x29f3d35, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf3, rs 0xf2e7a490978058f3, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x58f3, rs 0xf2e7a490978058f3, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xf2e7a490978058f3, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xf2e7a490978058f3, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x82, rs 0x65e2082, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2082, rs 0x65e2082, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x65e2082, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x65e2082, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xaa, rs 0x775b4cca0975b1aa, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb1aa, rs 0x775b4cca0975b1aa, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x775b4cca0975b1aa, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5b, rs 0xb1d065b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x65b, rs 0xb1d065b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xb1d065b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xb1d065b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x20, rs 0xa2b84a635111020, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1020, rs 0xa2b84a635111020, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xa2b84a635111020, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xa2b84a635111020, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xec, rs 0xfdc1bec, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1bec, rs 0xfdc1bec, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfdc1bec, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xfdc1bec, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6f, rs 0x23fa0d3a7d88b6f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8b6f, rs 0x23fa0d3a7d88b6f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x23fa0d3a7d88b6f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x51, rs 0x3793a651, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa651, rs 0x3793a651, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3793a651, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x3793a651, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xdd, rs 0xa3d991b79941dedd, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdedd, rs 0xa3d991b79941dedd, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xa3d991b79941dedd, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xa3d991b79941dedd, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe6, rs 0x3352bbe6, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbbe6, rs 0x3352bbe6, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3352bbe6, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x3352bbe6, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8, rs 0x751cb4835a0d9508, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9508, rs 0x751cb4835a0d9508, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3f, rs 0x3e119d3f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9d3f, rs 0x3e119d3f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3e119d3f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x3e119d3f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd3, rs 0x949cad35625bb2d3, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb2d3, rs 0x949cad35625bb2d3, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x949cad35625bb2d3, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x949cad35625bb2d3, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x88, rs 0x3ad08088, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8088, rs 0x3ad08088, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3ad08088, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x3ad08088, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x39, rs 0x7f567f35a6929739, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9739, rs 0x7f567f35a6929739, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7f567f35a6929739, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x7f567f35a6929739, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8d, rs 0x2497d08d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd08d, rs 0x2497d08d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2497d08d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x2497d08d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x27, rs 0x185b88e0db8d7d27, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7d27, rs 0x185b88e0db8d7d27, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x185b88e0db8d7d27, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3a, rs 0x2056cd3a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xcd3a, rs 0x2056cd3a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2056cd3a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x2056cd3a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x91, rs 0x255a4cd22fd61b91, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1b91, rs 0x255a4cd22fd61b91, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x255a4cd22fd61b91, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe3, rs 0x2d15ebe3, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xebe3, rs 0x2d15ebe3, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2d15ebe3, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x2d15ebe3, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7b, rs 0x1048d589a4363f7b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3f7b, rs 0x1048d589a4363f7b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x1048d589a4363f7b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x54, rs 0x29d4f654, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf654, rs 0x29d4f654, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x29d4f654, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x29d4f654, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x90, rs 0x6a6d5708f4605790, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5790, rs 0x6a6d5708f4605790, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x79, rs 0xffffffffc5a92679, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2679, rs 0xffffffffc5a92679, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc5a92679, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffffc5a92679, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7f, rs 0xd58ecbabde35697f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x697f, rs 0xd58ecbabde35697f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd58ecbabde35697f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xd58ecbabde35697f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xce, rs 0xffffffffc1683bce, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3bce, rs 0xffffffffc1683bce, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc1683bce, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffffc1683bce, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xf1, rs 0x575548fd08c0a5f1, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa5f1, rs 0x575548fd08c0a5f1, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x575548fd08c0a5f1, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x17, rs 0xffffffffcc2b1d17, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x1d17, rs 0xffffffffcc2b1d17, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffcc2b1d17, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffffcc2b1d17, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xdb, rs 0x8bb640fb8ed98ddb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8ddb, rs 0x8bb640fb8ed98ddb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x8bb640fb8ed98ddb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x8bb640fb8ed98ddb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa0, rs 0xffffffffc8ea00a0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa0, rs 0xffffffffc8ea00a0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffc8ea00a0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffffc8ea00a0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xcc, rs 0xbe00d51eabc578cc, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x78cc, rs 0xbe00d51eabc578cc, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa5, rs 0xffffffffd6ad50a5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x50a5, rs 0xffffffffd6ad50a5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd6ad50a5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffffd6ad50a5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb2, rs 0x2f7e224a1c170ab2, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xab2, rs 0x2f7e224a1c170ab2, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x2f7e224a1c170ab2, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x12, rs 0xffffffffd26c4d12, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4d12, rs 0xffffffffd26c4d12, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffd26c4d12, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffffd26c4d12, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa7, rs 0xa978f12ca22256a7, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x56a7, rs 0xa978f12ca22256a7, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xa978f12ca22256a7, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xa978f12ca22256a7, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xcb, rs 0xffffffffdf2f6bcb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6bcb, rs 0xffffffffdf2f6bcb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdf2f6bcb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffffdf2f6bcb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x2f, rs 0x9950a93b811ee02f, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe02f, rs 0x9950a93b811ee02f, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x9950a93b811ee02f, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x9950a93b811ee02f, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x7c, rs 0xffffffffdbee767c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x767c, rs 0xffffffffdbee767c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffdbee767c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffffdbee767c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc, rs 0xb44eea93c6796a0c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x6a0c, rs 0xb44eea93c6796a0c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc1, rs 0xffffffffe3a1cbc1, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xcbc1, rs 0xffffffffe3a1cbc1, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe3a1cbc1, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x57, rs 0xfe71fca06c0eb657, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb657, rs 0xfe71fca06c0eb657, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfe71fca06c0eb657, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xfe71fca06c0eb657, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x76, rs 0xffffffffe760d676, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd676, rs 0xffffffffe760d676, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffe760d676, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffffe760d676, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x57, rs 0x4ed6393df818af57, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xaf57, rs 0x4ed6393df818af57, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x4ed6393df818af57, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x4ed6393df818af57, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xaf, rs 0xffffffffea23f0af, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xf0af, rs 0xffffffffea23f0af, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffea23f0af, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffffea23f0af, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xa, rs 0xf22e90200236770a, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x770a, rs 0xf22e90200236770a, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xf22e90200236770a, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xf22e90200236770a, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x18, rs 0xffffffffeee2ed18, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xed18, rs 0xffffffffeee2ed18, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5d, rs 0x81efb6c7afd0c45d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc45d, rs 0x81efb6c7afd0c45d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x81efb6c7afd0c45d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1d, rs 0xfffffffff0a5bd1d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbd1d, rs 0xfffffffff0a5bd1d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff0a5bd1d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5b, rs 0xeed8f3518102315b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x315b, rs 0xeed8f3518102315b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xeed8f3518102315b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xeed8f3518102315b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xaa, rs 0xfffffffff464a0aa, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa0aa, rs 0xfffffffff464a0aa, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff464a0aa, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xfffffffff464a0aa, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5e, rs 0xadafefb9995efd5e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfd5e, rs 0xadafefb9995efd5e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xadafefb9995efd5e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xadafefb9995efd5e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x73, rs 0xfffffffff9278673, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8673, rs 0xfffffffff9278673, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffff9278673, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xfffffffff9278673, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x86, rs 0x34061933eb253086, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3086, rs 0x34061933eb253086, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x34061933eb253086, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0x34061933eb253086, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc4, rs 0xfffffffffde69bc4, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9bc4, rs 0xfffffffffde69bc4, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xbc, rs 0x1748da264b4c52bc, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x52bc, rs 0x1748da264b4c52bc, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x1748da264b4c52bc, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x9, rs 0xffffffff89b8fd09, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xfd09, rs 0xffffffff89b8fd09, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff89b8fd09, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff89b8fd09, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x89, rs 0x34fdfc9a9302be89, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xbe89, rs 0x34fdfc9a9302be89, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x34fdfc9a9302be89, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xbe, rs 0xffffffff8d79e0be, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xe0be, rs 0xffffffff8d79e0be, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff8d79e0be, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffff8d79e0be, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x80, rs 0xd00278c3c521d180, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd180, rs 0xd00278c3c521d180, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xd00278c3c521d180, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xd00278c3c521d180, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x67, rs 0xffffffff803ac667, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xc667, rs 0xffffffff803ac667, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff803ac667, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffff803ac667, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x5d, rs 0xe90944a4c1d37a5d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7a5d, rs 0xe90944a4c1d37a5d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xe90944a4c1d37a5d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd0, rs 0xffffffff84fbdbd0, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xdbd0, rs 0xffffffff84fbdbd0, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x39, rs 0x65fd698fddef9839, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9839, rs 0x65fd698fddef9839, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x65fd698fddef9839, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x65fd698fddef9839, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xd5, rs 0xffffffff9abc8bd5, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x8bd5, rs 0xffffffff9abc8bd5, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9abc8bd5, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x52, rs 0xc49ee3ad81b5af52, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xaf52, rs 0xc49ee3ad81b5af52, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xc49ee3ad81b5af52, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xc49ee3ad81b5af52, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x62, rs 0xffffffff9e7d9662, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x9662, rs 0xffffffff9e7d9662, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff9e7d9662, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0xffffffff9e7d9662, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xe9, rs 0x7aa941e8bdb263e9, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x63e9, rs 0x7aa941e8bdb263e9, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x7aa941e8bdb263e9, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xbb, rs 0xffffffff933eb0bb, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb0bb, rs 0xffffffff933eb0bb, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff933eb0bb, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0xffffffff933eb0bb, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x8d, rs 0x372c209e42f3b58d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb58d, rs 0x372c209e42f3b58d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x1, rs 0x372c209e42f3b58d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xc, rs 0xffffffff97ffad0c, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xad0c, rs 0xffffffff97ffad0c, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3b, rs 0x30f870b7e122a83b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xa83b, rs 0x30f870b7e122a83b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x30f870b7e122a83b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb1, rs 0xffffffffafb010b1, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x10b1, rs 0xffffffffafb010b1, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffafb010b1, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffffafb010b1, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xec, rs 0x9e02de4b678930ec, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x30ec, rs 0x9e02de4b678930ec, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x9e02de4b678930ec, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0x9e02de4b678930ec, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6, rs 0xffffffffab710d06, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd06, rs 0xffffffffab710d06, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffab710d06, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffffab710d06, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x1e, rs 0xcd61a8639826631e, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x631e, rs 0xcd61a8639826631e, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xcd61a8639826631e, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xcd61a8639826631e, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xdf, rs 0xffffffffa6322bdf, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x2bdf, rs 0xffffffffa6322bdf, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa6322bdf, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffffa6322bdf, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xca, rs 0xae87bc899a7bd3ca, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xd3ca, rs 0xae87bc899a7bd3ca, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xae87bc899a7bd3ca, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xae87bc899a7bd3ca, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x68, rs 0xffffffffa2f33668, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x3668, rs 0xffffffffa2f33668, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffa2f33668, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffffa2f33668, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x17, rs 0x58ec644d6481af17, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xaf17, rs 0x58ec644d6481af17, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x58ec644d6481af17, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0x58ec644d6481af17, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6d, rs 0xffffffffbcb4666d, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x666d, rs 0xffffffffbcb4666d, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffbcb4666d, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xffffffffbcb4666d, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x66, rs 0x680cce5fb236b666, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0xb666, rs 0x680cce5fb236b666, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x680cce5fb236b666, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x22, rs 0x680cce5fb236b666, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xda, rs 0xffffffffb8757bda, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x7bda, rs 0xffffffffb8757bda, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb8757bda, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x2, rs 0xffffffffb8757bda, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x75, rs 0x3baa99471f6d4d75, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4d75, rs 0x3baa99471f6d4d75, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0x3baa99471f6d4d75, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x3, rs 0xffffffffb5365d03, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x5d03, rs 0xffffffffb5365d03, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb5365d03, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x3, rs 0xffffffffb5365d03, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x6b, rs 0x614d9b445f12236b, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x236b, rs 0x614d9b445f12236b, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0x614d9b445f12236b, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x23, rs 0x614d9b445f12236b, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0xb4, rs 0xffffffffb1f740b4, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x40b4, rs 0xffffffffb1f740b4, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xffffffffb1f740b4, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x20, rs 0xffffffffb1f740b4, imm 0x0023
+andi $t0, $t1, 0xff :: rt 0x21, rs 0xa2a6ec661ba84121, imm 0x00ff
+andi $t2, $t3, 0xffff :: rt 0x4121, rs 0xa2a6ec661ba84121, imm 0xffff
+andi $a0, $a1, 0x0 :: rt 0x0, rs 0xa2a6ec661ba84121, imm 0x0000
+andi $s0, $s1, 0x23 :: rt 0x21, rs 0xa2a6ec661ba84121, imm 0x0023
+lui $t0, 0xffff :: rt 0xffffffffffff0000, imm 0xffff
+lui $a0, 0x0 :: rt 0x0, imm 0x0000
+lui $t9, 0xff :: rt 0xff0000, imm 0x00ff
+lui $v0, 0xfff :: rt 0xfff0000, imm 0x0fff
+lui $s0, 0x2 :: rt 0x20000, imm 0x0002
+nor $t0, $t1, $t2 :: rd 0x4e08bf4b, rs 0x0, rt 0xffffffffb1f740b4
+nor $s0, $s1, $s2 :: rd 0x5d591399e4542854, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+nor $t0, $t1, $t2 :: rd 0x4ac9a2fc, rs 0x0, rt 0xffffffffb5365d03
+nor $s0, $s1, $s2 :: rd 0x9e806098202d5484, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+nor $t0, $t1, $t2 :: rd 0x46088401, rs 0x9823b6e, rt 0xffffffffb8757bda
+nor $s0, $s1, $s2 :: rd 0x401000202082a208, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+nor $t0, $t1, $t2 :: rd 0x42089902, rs 0xd4326d9, rt 0xffffffffbcb4666d
+nor $s0, $s1, $s2 :: rd 0x83108005094800, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+nor $t0, $t1, $t2 :: rd 0x4c088903, rs 0x130476dc, rt 0xffffffffa2f33668
+nor $s0, $s1, $s2 :: rd 0xa5031b10190840e8, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+nor $t0, $t1, $t2 :: rd 0x48089400, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+nor $s0, $s1, $s2 :: rd 0x5150424661800c10, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+nor $t0, $t1, $t2 :: rd 0x4408b249, rs 0x1a864db2, rt 0xffffffffab710d06
+nor $s0, $s1, $s2 :: rd 0x208e511c00009cc0, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+nor $t0, $t1, $t2 :: rd 0x4008af4a, rs 0x1e475005, rt 0xffffffffafb010b1
+nor $s0, $s1, $s2 :: rd 0x15d21a418160b00, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+nor $t0, $t1, $t2 :: rd 0x48001243, rs 0x2608edb8, rt 0xffffffff97ffad0c
+nor $s0, $s1, $s2 :: rd 0x4107830804050344, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+nor $t0, $t1, $t2 :: rd 0x4c000f40, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+nor $s0, $s1, $s2 :: rd 0x80c2056129084872, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+nor $t0, $t1, $t2 :: rd 0x40002909, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+nor $s0, $s1, $s2 :: rd 0x80101a02000c0802, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+nor $t0, $t1, $t2 :: rd 0x4400340a, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+nor $s0, $s1, $s2 :: rd 0x10004423a4000ac, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+nor $t0, $t1, $t2 :: rd 0x4a00240b, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+nor $s0, $s1, $s2 :: rd 0x9802922020104646, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+nor $t0, $t1, $t2 :: rd 0x4e003908, rs 0x31cd86d3, rt 0xffffffff803ac667
+nor $s0, $s1, $s2 :: rd 0x2920800282c81a0, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+nor $t0, $t1, $t2 :: rd 0x42001f41, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+nor $s0, $s1, $s2 :: rd 0x2141050408180441, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+nor $t0, $t1, $t2 :: rd 0x46000242, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+nor $s0, $s1, $s2 :: rd 0x4a00034060e50130, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+nor $t0, $t1, $t2 :: rd 0x208240b, rs 0x4c11db70, rt 0xfffffffffde69bc4
+nor $s0, $s1, $s2 :: rd 0x6800250134100840, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+nor $t0, $t1, $t2 :: rd 0x6083908, rs 0x48d0c6c7, rt 0xfffffffff9278673
+nor $s0, $s1, $s2 :: rd 0xca2126c810028f11, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+nor $t0, $t1, $t2 :: rd 0xa081f41, rs 0x4593e01e, rt 0xfffffffff464a0aa
+nor $s0, $s1, $s2 :: rd 0x4000000006010200, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+nor $t0, $t1, $t2 :: rd 0xe080242, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+nor $s0, $s1, $s2 :: rd 0x1007088e649cca24, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+nor $t0, $t1, $t2 :: rd 0x81243, rs 0x5f15adac, rt 0xffffffffeee2ed18
+nor $s0, $s1, $s2 :: rd 0x2a104130100e0122, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+nor $t0, $t1, $t2 :: rd 0x4080f40, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+nor $s0, $s1, $s2 :: rd 0x9d0201a7c010804, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+nor $t0, $t1, $t2 :: rd 0x8082909, rs 0x569796c2, rt 0xffffffffe760d676
+nor $s0, $s1, $s2 :: rd 0x9008c00203875028, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+nor $t0, $t1, $t2 :: rd 0xc08340a, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+nor $s0, $s1, $s2 :: rd 0x10c024c93004180, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+nor $t0, $t1, $t2 :: rd 0x4008903, rs 0x6a1936c8, rt 0xffffffffdbee767c
+nor $s0, $s1, $s2 :: rd 0x4391044430049091, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+nor $t0, $t1, $t2 :: rd 0x9400, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+nor $s0, $s1, $s2 :: rd 0x602e04c4028105c0, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+nor $t0, $t1, $t2 :: rd 0xc00b249, rs 0x639b0da6, rt 0xffffffffd26c4d12
+nor $s0, $s1, $s2 :: rd 0x568306024c118950, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+nor $t0, $t1, $t2 :: rd 0x800af4a, rs 0x675a1011, rt 0xffffffffd6ad50a5
+nor $s0, $s1, $s2 :: rd 0xc0818885c360b10d, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+nor $t0, $t1, $t2 :: rd 0x600bf4b, rs 0x791d4014, rt 0xffffffffc8ea00a0
+nor $s0, $s1, $s2 :: rd 0x12f0a2004320701, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+nor $t0, $t1, $t2 :: rd 0x200a248, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+nor $s0, $s1, $s2 :: rd 0x4409a30070262020, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+nor $t0, $t1, $t2 :: rd 0xe008401, rs 0x709f7b7a, rt 0xffffffffc1683bce
+nor $s0, $s1, $s2 :: rd 0x202a000071334a00, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+nor $t0, $t1, $t2 :: rd 0xa009902, rs 0x745e66cd, rt 0xffffffffc5a92679
+nor $s0, $s1, $s2 :: rd 0xa10145021089080, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+nor $t0, $t1, $t2 :: rd 0x4608090b, rs 0xffffffff9823b6e0, rt 0x29d4f654
+nor $s0, $s1, $s2 :: rd 0x9082a8b309090848, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+nor $t0, $t1, $t2 :: rd 0x42081408, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+nor $s0, $s1, $s2 :: rd 0xc9b7284009018080, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+nor $t0, $t1, $t2 :: rd 0x4e083241, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+nor $s0, $s1, $s2 :: rd 0x4aa4b1251028c040, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+nor $t0, $t1, $t2 :: rd 0x4a082f42, rs 0xffffffff95609039, rt 0x2497d08d
+nor $s0, $s1, $s2 :: rd 0x2724220e04100208, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+nor $t0, $t1, $t2 :: rd 0x44083f43, rs 0xffffffff8b27c03c, rt 0x3ad08088
+nor $s0, $s1, $s2 :: rd 0xa98000114d48c2, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+nor $t0, $t1, $t2 :: rd 0x40082240, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+nor $s0, $s1, $s2 :: rd 0x4a20424284244c00, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+nor $t0, $t1, $t2 :: rd 0x4c080409, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+nor $s0, $s1, $s2 :: rd 0x801000425d04804, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+nor $t0, $t1, $t2 :: rd 0x4808190a, rs 0xffffffff8664e6e5, rt 0x3793a651
+nor $s0, $s1, $s2 :: rd 0x54262c4846362102, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+nor $t0, $t1, $t2 :: rd 0x4000a403, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+nor $s0, $s1, $s2 :: rd 0x7880552850012490, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+nor $t0, $t1, $t2 :: rd 0x4400b900, rs 0xffffffffbaea46ef, rt 0xb1d065b
+nor $s0, $s1, $s2 :: rd 0xd1c013014a44a55c, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+nor $t0, $t1, $t2 :: rd 0x48009f49, rs 0xffffffffb7a96036, rt 0x65e2082
+nor $s0, $s1, $s2 :: rd 0x84003032884410, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+nor $t0, $t1, $t2 :: rd 0x4c00824a, rs 0xffffffffb3687d81, rt 0x29f3d35
+nor $s0, $s1, $s2 :: rd 0xd0849220812a10c, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+nor $t0, $t1, $t2 :: rd 0x4200924b, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+nor $s0, $s1, $s2 :: rd 0x32280f00c70131a0, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+nor $t0, $t1, $t2 :: rd 0x46008f48, rs 0xffffffffa9ee3033, rt 0x18197087
+nor $s0, $s1, $s2 :: rd 0x2003c45c2c220400, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+nor $t0, $t1, $t2 :: rd 0x4a00a901, rs 0xffffffffa4ad16ea, rt 0x155a565e
+nor $s0, $s1, $s2 :: rd 0x28524580e0080084, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+nor $t0, $t1, $t2 :: rd 0x4e00b402, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+nor $s0, $s1, $s2 :: rd 0x814a118229010f00, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+nor $t0, $t1, $t2 :: rd 0xa08924b, rs 0xffffffffd4326d90, rt 0x65c52d24
+nor $s0, $s1, $s2 :: rd 0x7050a060190000, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+nor $t0, $t1, $t2 :: rd 0xe088f48, rs 0xffffffffd0f37027, rt 0x61043093
+nor $s0, $s1, $s2 :: rd 0xc00980a056800302, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+nor $t0, $t1, $t2 :: rd 0x208a901, rs 0xffffffffddb056fe, rt 0x6c47164a
+nor $s0, $s1, $s2 :: rd 0x8820804040281552, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+nor $t0, $t1, $t2 :: rd 0x608b402, rs 0xffffffffd9714b49, rt 0x68860bfd
+nor $s0, $s1, $s2 :: rd 0x344040826046018, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+nor $t0, $t1, $t2 :: rd 0x808a403, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+nor $s0, $s1, $s2 :: rd 0xb2000110284a4814, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+nor $t0, $t1, $t2 :: rd 0xc08b900, rs 0xffffffffc3f706fb, rt 0x7200464f
+nor $s0, $s1, $s2 :: rd 0x44498c06381062e0, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+nor $t0, $t1, $t2 :: rd 0x89f49, rs 0xffffffffceb42022, rt 0x7f436096
+nor $s0, $s1, $s2 :: rd 0x4132000046b050, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+nor $t0, $t1, $t2 :: rd 0x408824a, rs 0xffffffffca753d95, rt 0x7b827d21
+nor $s0, $s1, $s2 :: rd 0xa8140020a2148800, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+nor $t0, $t1, $t2 :: rd 0xc003f43, rs 0xfffffffff23a8028, rt 0x43cdc09c
+nor $s0, $s1, $s2 :: rd 0x14a300081804230, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+nor $t0, $t1, $t2 :: rd 0x8002240, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+nor $s0, $s1, $s2 :: rd 0x8007285108100228, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+nor $t0, $t1, $t2 :: rd 0x4000409, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+nor $s0, $s1, $s2 :: rd 0xc028436a002820a, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+nor $t0, $t1, $t2 :: rd 0x190a, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+nor $s0, $s1, $s2 :: rd 0xa01e044000406020, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+nor $t0, $t1, $t2 :: rd 0xe00090b, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+nor $s0, $s1, $s2 :: rd 0x860f305002114005, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+nor $t0, $t1, $t2 :: rd 0xa001408, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+nor $s0, $s1, $s2 :: rd 0x144202000814000, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+nor $t0, $t1, $t2 :: rd 0x6003241, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+nor $s0, $s1, $s2 :: rd 0x3401b38408972490, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+nor $t0, $t1, $t2 :: rd 0x2002f42, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+nor $s0, $s1, $s2 :: rd 0xa40000922400c90, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+nor $t0, $t1, $t2 :: rd 0x4a088f08, rs 0x34867077, rt 0xffffffff857130c3
+nor $s0, $s1, $s2 :: rd 0x148311000490812, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+nor $t0, $t1, $t2 :: rd 0x4e08920b, rs 0x30476dc0, rt 0xffffffff81b02d74
+nor $s0, $s1, $s2 :: rd 0x5255a109a12e050b, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+nor $t0, $t1, $t2 :: rd 0x4208b442, rs 0x3d044b19, rt 0xffffffff8cf30bad
+nor $s0, $s1, $s2 :: rd 0x316e0ba1824a110, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+nor $t0, $t1, $t2 :: rd 0x4608a941, rs 0x39c556ae, rt 0xffffffff8832161a
+nor $s0, $s1, $s2 :: rd 0x426200884080300, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+nor $t0, $t1, $t2 :: rd 0x4808b940, rs 0x278206ab, rt 0xffffffff9675461f
+nor $s0, $s1, $s2 :: rd 0x5601051bc1974420, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+nor $t0, $t1, $t2 :: rd 0x4c08a443, rs 0x23431b1c, rt 0xffffffff92b45ba8
+nor $s0, $s1, $s2 :: rd 0x63941480a0900110, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+nor $t0, $t1, $t2 :: rd 0x4008820a, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+nor $s0, $s1, $s2 :: rd 0x7048090001803540, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+nor $t0, $t1, $t2 :: rd 0x44089f09, rs 0x2ac12072, rt 0xffffffff9b3660c6
+nor $s0, $s1, $s2 :: rd 0xa4108a20029a890, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+nor $t0, $t1, $t2 :: rd 0x4c002200, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+nor $s0, $s1, $s2 :: rd 0x18810000010442a2, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+nor $t0, $t1, $t2 :: rd 0x48003f03, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+nor $s0, $s1, $s2 :: rd 0x1208440025001040, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+nor $t0, $t1, $t2 :: rd 0x4400194a, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+nor $s0, $s1, $s2 :: rd 0xa5289a0359082401, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+nor $t0, $t1, $t2 :: rd 0x40000449, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+nor $s0, $s1, $s2 :: rd 0x2e0406000188ba4, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+nor $t0, $t1, $t2 :: rd 0x4e001448, rs 0x18aeb13, rt 0xffffffffb07daba7
+nor $s0, $s1, $s2 :: rd 0x189400c00800003b, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+nor $t0, $t1, $t2 :: rd 0x4a00094b, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+nor $s0, $s1, $s2 :: rd 0x2000001e884080c7, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+nor $t0, $t1, $t2 :: rd 0x46002f02, rs 0x808d07d, rt 0xffffffffb9ff90c9
+nor $s0, $s1, $s2 :: rd 0x55089922bf660050, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+nor $t0, $t1, $t2 :: rd 0x42003201, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+nor $s0, $s1, $s2 :: rd 0x200c8b25ad140912, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+nor $t0, $t1, $t2 :: rd 0xffffffff876854f8, rs 0x7897ab07, rt 0x0
+nor $s0, $s1, $s2 :: rd 0x8240300c72600cb9, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+nor $t0, $t1, $t2 :: rd 0x208094b, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+nor $s0, $s1, $s2 :: rd 0x409469289021028, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+nor $t0, $t1, $t2 :: rd 0xffffffff8eea6f96, rs 0x71159069, rt 0x0
+nor $s0, $s1, $s2 :: rd 0x6c109b80c00c28c7, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+nor $t0, $t1, $t2 :: rd 0xa083201, rs 0x75d48dde, rt 0xffffffffc423cd6a
+nor $s0, $s1, $s2 :: rd 0xa000902c0202684, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+nor $t0, $t1, $t2 :: rd 0x4082200, rs 0x6b93dddb, rt 0xffffffffda649d6f
+nor $s0, $s1, $s2 :: rd 0xdac6100050104180, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+nor $t0, $t1, $t2 :: rd 0x83f03, rs 0x6f52c06c, rt 0xffffffffdea580d8
+nor $s0, $s1, $s2 :: rd 0x4690c0d8c200210, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+nor $t0, $t1, $t2 :: rd 0xc08194a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+nor $s0, $s1, $s2 :: rd 0xa51120801035403e, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+nor $t0, $t1, $t2 :: rd 0x8080449, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+nor $s0, $s1, $s2 :: rd 0x81260183f800291, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+nor $t0, $t1, $t2 :: rd 0xb940, rs 0x5e9f46bf, rt 0xffffffffef68060b
+nor $s0, $s1, $s2 :: rd 0xa0f20c10a001c070, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+nor $t0, $t1, $t2 :: rd 0x400a443, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+nor $s0, $s1, $s2 :: rd 0x2028e14200258c4, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+nor $t0, $t1, $t2 :: rd 0x800820a, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+nor $s0, $s1, $s2 :: rd 0x9d0408812403100, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+nor $t0, $t1, $t2 :: rd 0xc009f09, rs 0x53dc6066, rt 0xffffffffe22b20d2
+nor $s0, $s1, $s2 :: rd 0xe060d806b0608100, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+nor $t0, $t1, $t2 :: rd 0x2008f08, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+nor $s0, $s1, $s2 :: rd 0x80200240084208, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+nor $t0, $t1, $t2 :: rd 0x600920b, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+nor $s0, $s1, $s2 :: rd 0x414c0c054033009, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+nor $t0, $t1, $t2 :: rd 0xa00b442, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+nor $s0, $s1, $s2 :: rd 0xe0ca800100101011, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+nor $t0, $t1, $t2 :: rd 0xe00a941, rs 0x40d816ba, rt 0xfffffffff12f560e
+nor $s0, $s1, $s2 :: rd 0x5095001580ad389e, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+nor $t0, $t1, $t2 :: rd 0x42083948, rs 0xffffffffaca5c697, rt 0x1d528623
+nor $s0, $s1, $s2 :: rd 0x8288b2800c000d8, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+nor $t0, $t1, $t2 :: rd 0x4608244b, rs 0xffffffffa864db20, rt 0x19939b94
+nor $s0, $s1, $s2 :: rd 0x58012400024, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+nor $t0, $t1, $t2 :: rd 0x4a080202, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+nor $s0, $s1, $s2 :: rd 0x87181ab110344161, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+nor $t0, $t1, $t2 :: rd 0x4e081f01, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+nor $s0, $s1, $s2 :: rd 0x3d1000a8140c6080, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+nor $t0, $t1, $t2 :: rd 0x40080f00, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+nor $s0, $s1, $s2 :: rd 0x108450e302d204, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+nor $t0, $t1, $t2 :: rd 0x44081203, rs 0xffffffffbb60adfc, rt 0xa97ed48
+nor $s0, $s1, $s2 :: rd 0x11040550a04000a3, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+nor $t0, $t1, $t2 :: rd 0x4808344a, rs 0xffffffffb6238b25, rt 0x7d4cb91
+nor $s0, $s1, $s2 :: rd 0x4300f2080108848, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+nor $t0, $t1, $t2 :: rd 0x4c082949, rs 0xffffffffb2e29692, rt 0x315d626
+nor $s0, $s1, $s2 :: rd 0x71009791001c6d0c, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+nor $t0, $t1, $t2 :: rd 0x44009440, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+nor $s0, $s1, $s2 :: rd 0xb832c592048e032, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+nor $t0, $t1, $t2 :: rd 0xffffffffc06489d3, rs 0x0, rt 0x3f9b762c
+nor $s0, $s1, $s2 :: rd 0xe840081400200800, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+nor $t0, $t1, $t2 :: rd 0xffffffffcd27af0a, rs 0x0, rt 0x32d850f5
+nor $s0, $s1, $s2 :: rd 0x1b922008223b802, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+nor $t0, $t1, $t2 :: rd 0x4800b209, rs 0xffffffff87ee0df6, rt 0x36194d42
+nor $s0, $s1, $s2 :: rd 0x60c8830202021066, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+nor $t0, $t1, $t2 :: rd 0x4600a208, rs 0xffffffff99a95df3, rt 0x285e1d47
+nor $s0, $s1, $s2 :: rd 0x9c299e5a20cc468, rs 0x663d061055833287, rt 0xb620660a49732b90
+nor $t0, $t1, $t2 :: rd 0x4200bf0b, rs 0xffffffff9d684044, rt 0x2c9f00f0
+nor $s0, $s1, $s2 :: rd 0x4402039630860060, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+nor $t0, $t1, $t2 :: rd 0x4e009942, rs 0xffffffff902b669d, rt 0x21dc2629
+nor $s0, $s1, $s2 :: rd 0x8451c10e1043804, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+nor $t0, $t1, $t2 :: rd 0x4a008441, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+nor $s0, $s1, $s2 :: rd 0x8114930604324149, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+nor $t0, $t1, $t2 :: rd 0xe08a208, rs 0xffffffffe0b41de7, rt 0x51435d53
+nor $s0, $s1, $s2 :: rd 0x230a0000c041082, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+nor $t0, $t1, $t2 :: rd 0xa08bf0b, rs 0xffffffffe4750050, rt 0x558240e4
+nor $s0, $s1, $s2 :: rd 0x2008260621900e0, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+nor $t0, $t1, $t2 :: rd 0x6089942, rs 0xffffffffe9362689, rt 0x58c1663d
+nor $s0, $s1, $s2 :: rd 0x12a8120288220, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+nor $t0, $t1, $t2 :: rd 0x2088441, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+nor $s0, $s1, $s2 :: rd 0x1004448241000d50, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+nor $t0, $t1, $t2 :: rd 0xc089440, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+nor $s0, $s1, $s2 :: rd 0x1110804812360c4, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+nor $t0, $t1, $t2 :: rd 0x8088943, rs 0xfffffffff771768c, rt 0x46863638
+nor $s0, $s1, $s2 :: rd 0x6000c01c08001220, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+nor $t0, $t1, $t2 :: rd 0x408af0a, rs 0xfffffffffa325055, rt 0x4bc510e1
+nor $s0, $s1, $s2 :: rd 0x100da18c2b011d8, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+nor $t0, $t1, $t2 :: rd 0x8b209, rs 0xfffffffffef34de2, rt 0x4f040d56
+nor $s0, $s1, $s2 :: rd 0x4102401800818712, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+nor $t0, $t1, $t2 :: rd 0x8000f00, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+nor $s0, $s1, $s2 :: rd 0x9600101603000, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+nor $t0, $t1, $t2 :: rd 0xc001203, rs 0xffffffffc27dede8, rt 0x738aad5c
+nor $s0, $s1, $s2 :: rd 0x52c0802107202016, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+nor $t0, $t1, $t2 :: rd 0x344a, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+nor $s0, $s1, $s2 :: rd 0x7185462086104c84, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+nor $t0, $t1, $t2 :: rd 0x4002949, rs 0xffffffffcbffd686, rt 0x7a089632
+nor $s0, $s1, $s2 :: rd 0x22328200c9f0, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+nor $t0, $t1, $t2 :: rd 0xa003948, rs 0xffffffffd5b88683, rt 0x644fc637
+nor $s0, $s1, $s2 :: rd 0x890120000761614, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+nor $t0, $t1, $t2 :: rd 0xe00244b, rs 0xffffffffd1799b34, rt 0x608edb80
+nor $s0, $s1, $s2 :: rd 0x80050b8a08452202, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+nor $t0, $t1, $t2 :: rd 0x2000202, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+nor $s0, $s1, $s2 :: rd 0x200200004003, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+nor $t0, $t1, $t2 :: rd 0x6001f01, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+nor $s0, $s1, $s2 :: rd 0x9dc08300c408a520, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+nor $t0, $t1, $t2 :: rd 0x6001f01, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+nor $s0, $s1, $s2 :: rd 0x9dc08300c408a520, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+nor $t0, $t1, $t2 :: rd 0x2000202, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+nor $s0, $s1, $s2 :: rd 0x200200004003, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+nor $t0, $t1, $t2 :: rd 0xe00244b, rs 0x608edb80, rt 0xffffffffd1799b34
+nor $s0, $s1, $s2 :: rd 0x80050b8a08452202, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+nor $t0, $t1, $t2 :: rd 0xa003948, rs 0x644fc637, rt 0xffffffffd5b88683
+nor $s0, $s1, $s2 :: rd 0x890120000761614, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+nor $t0, $t1, $t2 :: rd 0x4002949, rs 0x7a089632, rt 0xffffffffcbffd686
+nor $s0, $s1, $s2 :: rd 0x22328200c9f0, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+nor $t0, $t1, $t2 :: rd 0x344a, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+nor $s0, $s1, $s2 :: rd 0x7185462086104c84, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+nor $t0, $t1, $t2 :: rd 0xc001203, rs 0x738aad5c, rt 0xffffffffc27dede8
+nor $s0, $s1, $s2 :: rd 0x52c0802107202016, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+nor $t0, $t1, $t2 :: rd 0x8000f00, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+nor $s0, $s1, $s2 :: rd 0x9600101603000, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+nor $t0, $t1, $t2 :: rd 0x8b209, rs 0x4f040d56, rt 0xfffffffffef34de2
+nor $s0, $s1, $s2 :: rd 0x4102401800818712, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+nor $t0, $t1, $t2 :: rd 0x408af0a, rs 0x4bc510e1, rt 0xfffffffffa325055
+nor $s0, $s1, $s2 :: rd 0x100da18c2b011d8, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+nor $t0, $t1, $t2 :: rd 0x8088943, rs 0x46863638, rt 0xfffffffff771768c
+nor $s0, $s1, $s2 :: rd 0x6000c01c08001220, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+nor $t0, $t1, $t2 :: rd 0xc089440, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+nor $s0, $s1, $s2 :: rd 0x1110804812360c4, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+nor $t0, $t1, $t2 :: rd 0x2088441, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+nor $s0, $s1, $s2 :: rd 0x1004448241000d50, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+nor $t0, $t1, $t2 :: rd 0x6089942, rs 0x58c1663d, rt 0xffffffffe9362689
+nor $s0, $s1, $s2 :: rd 0x12a8120288220, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+nor $t0, $t1, $t2 :: rd 0xa08bf0b, rs 0x558240e4, rt 0xffffffffe4750050
+nor $s0, $s1, $s2 :: rd 0x2008260621900e0, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+nor $t0, $t1, $t2 :: rd 0xe08a208, rs 0x51435d53, rt 0xffffffffe0b41de7
+nor $s0, $s1, $s2 :: rd 0x230a0000c041082, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+nor $t0, $t1, $t2 :: rd 0x4a008441, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+nor $s0, $s1, $s2 :: rd 0x8114930604324149, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+nor $t0, $t1, $t2 :: rd 0x4e009942, rs 0x21dc2629, rt 0xffffffff902b669d
+nor $s0, $s1, $s2 :: rd 0x8451c10e1043804, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+nor $t0, $t1, $t2 :: rd 0x4200bf0b, rs 0x2c9f00f0, rt 0xffffffff9d684044
+nor $s0, $s1, $s2 :: rd 0x4402039630860060, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+nor $t0, $t1, $t2 :: rd 0x4600a208, rs 0x285e1d47, rt 0xffffffff99a95df3
+nor $s0, $s1, $s2 :: rd 0x9c299e5a20cc468, rs 0xb620660a49732b90, rt 0x663d061055833287
+nor $t0, $t1, $t2 :: rd 0x4800b209, rs 0x36194d42, rt 0xffffffff87ee0df6
+nor $s0, $s1, $s2 :: rd 0x60c8830202021066, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+nor $t0, $t1, $t2 :: rd 0xffffffffcd27af0a, rs 0x32d850f5, rt 0x0
+nor $s0, $s1, $s2 :: rd 0x1b922008223b802, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+nor $t0, $t1, $t2 :: rd 0xffffffffc06489d3, rs 0x3f9b762c, rt 0x0
+nor $s0, $s1, $s2 :: rd 0xe840081400200800, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+nor $t0, $t1, $t2 :: rd 0x44009440, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+nor $s0, $s1, $s2 :: rd 0xb832c592048e032, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+nor $t0, $t1, $t2 :: rd 0x4c082949, rs 0x315d626, rt 0xffffffffb2e29692
+nor $s0, $s1, $s2 :: rd 0x71009791001c6d0c, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+nor $t0, $t1, $t2 :: rd 0x4808344a, rs 0x7d4cb91, rt 0xffffffffb6238b25
+nor $s0, $s1, $s2 :: rd 0x4300f2080108848, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+nor $t0, $t1, $t2 :: rd 0x44081203, rs 0xa97ed48, rt 0xffffffffbb60adfc
+nor $s0, $s1, $s2 :: rd 0x11040550a04000a3, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+nor $t0, $t1, $t2 :: rd 0x40080f00, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+nor $s0, $s1, $s2 :: rd 0x108450e302d204, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+nor $t0, $t1, $t2 :: rd 0x4e081f01, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+nor $s0, $s1, $s2 :: rd 0x3d1000a8140c6080, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+nor $t0, $t1, $t2 :: rd 0x4a080202, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+nor $s0, $s1, $s2 :: rd 0x87181ab110344161, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+nor $t0, $t1, $t2 :: rd 0x4608244b, rs 0x19939b94, rt 0xffffffffa864db20
+nor $s0, $s1, $s2 :: rd 0x58012400024, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+nor $t0, $t1, $t2 :: rd 0x42083948, rs 0x1d528623, rt 0xffffffffaca5c697
+nor $s0, $s1, $s2 :: rd 0x8288b2800c000d8, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+nor $t0, $t1, $t2 :: rd 0xe00a941, rs 0xfffffffff12f560e, rt 0x40d816ba
+nor $s0, $s1, $s2 :: rd 0x5095001580ad389e, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+nor $t0, $t1, $t2 :: rd 0xa00b442, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+nor $s0, $s1, $s2 :: rd 0xe0ca800100101011, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+nor $t0, $t1, $t2 :: rd 0x600920b, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+nor $s0, $s1, $s2 :: rd 0x414c0c054033009, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+nor $t0, $t1, $t2 :: rd 0x2008f08, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+nor $s0, $s1, $s2 :: rd 0x80200240084208, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+nor $t0, $t1, $t2 :: rd 0xc009f09, rs 0xffffffffe22b20d2, rt 0x53dc6066
+nor $s0, $s1, $s2 :: rd 0xe060d806b0608100, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+nor $t0, $t1, $t2 :: rd 0x800820a, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+nor $s0, $s1, $s2 :: rd 0x9d0408812403100, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+nor $t0, $t1, $t2 :: rd 0x400a443, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+nor $s0, $s1, $s2 :: rd 0x2028e14200258c4, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+nor $t0, $t1, $t2 :: rd 0xb940, rs 0xffffffffef68060b, rt 0x5e9f46bf
+nor $s0, $s1, $s2 :: rd 0xa0f20c10a001c070, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+nor $t0, $t1, $t2 :: rd 0x8080449, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+nor $s0, $s1, $s2 :: rd 0x81260183f800291, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+nor $t0, $t1, $t2 :: rd 0xc08194a, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+nor $s0, $s1, $s2 :: rd 0xa51120801035403e, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+nor $t0, $t1, $t2 :: rd 0x83f03, rs 0xffffffffdea580d8, rt 0x6f52c06c
+nor $s0, $s1, $s2 :: rd 0x4690c0d8c200210, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+nor $t0, $t1, $t2 :: rd 0x4082200, rs 0xffffffffda649d6f, rt 0x6b93dddb
+nor $s0, $s1, $s2 :: rd 0xdac6100050104180, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+nor $t0, $t1, $t2 :: rd 0xa083201, rs 0xffffffffc423cd6a, rt 0x75d48dde
+nor $s0, $s1, $s2 :: rd 0xa000902c0202684, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+nor $t0, $t1, $t2 :: rd 0xffffffff8eea6f96, rs 0x0, rt 0x71159069
+nor $s0, $s1, $s2 :: rd 0x6c109b80c00c28c7, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+nor $t0, $t1, $t2 :: rd 0x208094b, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+nor $s0, $s1, $s2 :: rd 0x409469289021028, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+nor $t0, $t1, $t2 :: rd 0xffffffff876854f8, rs 0x0, rt 0x7897ab07
+nor $s0, $s1, $s2 :: rd 0x8240300c72600cb9, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+nor $t0, $t1, $t2 :: rd 0x42003201, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+nor $s0, $s1, $s2 :: rd 0x200c8b25ad140912, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+nor $t0, $t1, $t2 :: rd 0x46002f02, rs 0xffffffffb9ff90c9, rt 0x808d07d
+nor $s0, $s1, $s2 :: rd 0x55089922bf660050, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+nor $t0, $t1, $t2 :: rd 0x4a00094b, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+nor $s0, $s1, $s2 :: rd 0x2000001e884080c7, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+nor $t0, $t1, $t2 :: rd 0x4e001448, rs 0xffffffffb07daba7, rt 0x18aeb13
+nor $s0, $s1, $s2 :: rd 0x189400c00800003b, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+nor $t0, $t1, $t2 :: rd 0x40000449, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+nor $s0, $s1, $s2 :: rd 0x2e0406000188ba4, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+nor $t0, $t1, $t2 :: rd 0x4400194a, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+nor $s0, $s1, $s2 :: rd 0xa5289a0359082401, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+nor $t0, $t1, $t2 :: rd 0x48003f03, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+nor $s0, $s1, $s2 :: rd 0x1208440025001040, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+nor $t0, $t1, $t2 :: rd 0x4c002200, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+nor $s0, $s1, $s2 :: rd 0x18810000010442a2, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+nor $t0, $t1, $t2 :: rd 0x44089f09, rs 0xffffffff9b3660c6, rt 0x2ac12072
+nor $s0, $s1, $s2 :: rd 0xa4108a20029a890, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+nor $t0, $t1, $t2 :: rd 0x4008820a, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+nor $s0, $s1, $s2 :: rd 0x7048090001803540, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+nor $t0, $t1, $t2 :: rd 0x4c08a443, rs 0xffffffff92b45ba8, rt 0x23431b1c
+nor $s0, $s1, $s2 :: rd 0x63941480a0900110, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+nor $t0, $t1, $t2 :: rd 0x4808b940, rs 0xffffffff9675461f, rt 0x278206ab
+nor $s0, $s1, $s2 :: rd 0x5601051bc1974420, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+nor $t0, $t1, $t2 :: rd 0x4608a941, rs 0xffffffff8832161a, rt 0x39c556ae
+nor $s0, $s1, $s2 :: rd 0x426200884080300, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+nor $t0, $t1, $t2 :: rd 0x4208b442, rs 0xffffffff8cf30bad, rt 0x3d044b19
+nor $s0, $s1, $s2 :: rd 0x316e0ba1824a110, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+nor $t0, $t1, $t2 :: rd 0x4e08920b, rs 0xffffffff81b02d74, rt 0x30476dc0
+nor $s0, $s1, $s2 :: rd 0x5255a109a12e050b, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+nor $t0, $t1, $t2 :: rd 0x4a088f08, rs 0xffffffff857130c3, rt 0x34867077
+nor $s0, $s1, $s2 :: rd 0x148311000490812, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+nor $t0, $t1, $t2 :: rd 0x2002f42, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+nor $s0, $s1, $s2 :: rd 0xa40000922400c90, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+nor $t0, $t1, $t2 :: rd 0x6003241, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+nor $s0, $s1, $s2 :: rd 0x3401b38408972490, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+nor $t0, $t1, $t2 :: rd 0xa001408, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+nor $s0, $s1, $s2 :: rd 0x144202000814000, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+nor $t0, $t1, $t2 :: rd 0xe00090b, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+nor $s0, $s1, $s2 :: rd 0x860f305002114005, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+nor $t0, $t1, $t2 :: rd 0x190a, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+nor $s0, $s1, $s2 :: rd 0xa01e044000406020, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+nor $t0, $t1, $t2 :: rd 0x4000409, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+nor $s0, $s1, $s2 :: rd 0xc028436a002820a, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+nor $t0, $t1, $t2 :: rd 0x8002240, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+nor $s0, $s1, $s2 :: rd 0x8007285108100228, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+nor $t0, $t1, $t2 :: rd 0xc003f43, rs 0x43cdc09c, rt 0xfffffffff23a8028
+nor $s0, $s1, $s2 :: rd 0x14a300081804230, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+nor $t0, $t1, $t2 :: rd 0x408824a, rs 0x7b827d21, rt 0xffffffffca753d95
+nor $s0, $s1, $s2 :: rd 0xa8140020a2148800, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+nor $t0, $t1, $t2 :: rd 0x89f49, rs 0x7f436096, rt 0xffffffffceb42022
+nor $s0, $s1, $s2 :: rd 0x4132000046b050, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+nor $t0, $t1, $t2 :: rd 0xc08b900, rs 0x7200464f, rt 0xffffffffc3f706fb
+nor $s0, $s1, $s2 :: rd 0x44498c06381062e0, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+nor $t0, $t1, $t2 :: rd 0x808a403, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+nor $s0, $s1, $s2 :: rd 0xb2000110284a4814, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+nor $t0, $t1, $t2 :: rd 0x608b402, rs 0x68860bfd, rt 0xffffffffd9714b49
+nor $s0, $s1, $s2 :: rd 0x344040826046018, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+nor $t0, $t1, $t2 :: rd 0x208a901, rs 0x6c47164a, rt 0xffffffffddb056fe
+nor $s0, $s1, $s2 :: rd 0x8820804040281552, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+nor $t0, $t1, $t2 :: rd 0xe088f48, rs 0x61043093, rt 0xffffffffd0f37027
+nor $s0, $s1, $s2 :: rd 0xc00980a056800302, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+nor $t0, $t1, $t2 :: rd 0xa08924b, rs 0x65c52d24, rt 0xffffffffd4326d90
+nor $s0, $s1, $s2 :: rd 0x7050a060190000, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+nor $t0, $t1, $t2 :: rd 0x4e00b402, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+nor $s0, $s1, $s2 :: rd 0x814a118229010f00, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+nor $t0, $t1, $t2 :: rd 0x4a00a901, rs 0x155a565e, rt 0xffffffffa4ad16ea
+nor $s0, $s1, $s2 :: rd 0x28524580e0080084, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+nor $t0, $t1, $t2 :: rd 0x46008f48, rs 0x18197087, rt 0xffffffffa9ee3033
+nor $s0, $s1, $s2 :: rd 0x2003c45c2c220400, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+nor $t0, $t1, $t2 :: rd 0x4200924b, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+nor $s0, $s1, $s2 :: rd 0x32280f00c70131a0, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+nor $t0, $t1, $t2 :: rd 0x4c00824a, rs 0x29f3d35, rt 0xffffffffb3687d81
+nor $s0, $s1, $s2 :: rd 0xd0849220812a10c, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+nor $t0, $t1, $t2 :: rd 0x48009f49, rs 0x65e2082, rt 0xffffffffb7a96036
+nor $s0, $s1, $s2 :: rd 0x84003032884410, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+nor $t0, $t1, $t2 :: rd 0x4400b900, rs 0xb1d065b, rt 0xffffffffbaea46ef
+nor $s0, $s1, $s2 :: rd 0xd1c013014a44a55c, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+nor $t0, $t1, $t2 :: rd 0x4000a403, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+nor $s0, $s1, $s2 :: rd 0x7880552850012490, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+nor $t0, $t1, $t2 :: rd 0x4808190a, rs 0x3793a651, rt 0xffffffff8664e6e5
+nor $s0, $s1, $s2 :: rd 0x54262c4846362102, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+nor $t0, $t1, $t2 :: rd 0x4c080409, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+nor $s0, $s1, $s2 :: rd 0x801000425d04804, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+nor $t0, $t1, $t2 :: rd 0x40082240, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+nor $s0, $s1, $s2 :: rd 0x4a20424284244c00, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+nor $t0, $t1, $t2 :: rd 0x44083f43, rs 0x3ad08088, rt 0xffffffff8b27c03c
+nor $s0, $s1, $s2 :: rd 0xa98000114d48c2, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+nor $t0, $t1, $t2 :: rd 0x4a082f42, rs 0x2497d08d, rt 0xffffffff95609039
+nor $s0, $s1, $s2 :: rd 0x2724220e04100208, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+nor $t0, $t1, $t2 :: rd 0x4e083241, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+nor $s0, $s1, $s2 :: rd 0x4aa4b1251028c040, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+nor $t0, $t1, $t2 :: rd 0x42081408, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+nor $s0, $s1, $s2 :: rd 0xc9b7284009018080, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+nor $t0, $t1, $t2 :: rd 0x4608090b, rs 0x29d4f654, rt 0xffffffff9823b6e0
+nor $s0, $s1, $s2 :: rd 0x9082a8b309090848, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+nor $t0, $t1, $t2 :: rd 0xa009902, rs 0xffffffffc5a92679, rt 0x745e66cd
+nor $s0, $s1, $s2 :: rd 0xa10145021089080, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+nor $t0, $t1, $t2 :: rd 0xe008401, rs 0xffffffffc1683bce, rt 0x709f7b7a
+nor $s0, $s1, $s2 :: rd 0x202a000071334a00, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+nor $t0, $t1, $t2 :: rd 0x200a248, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+nor $s0, $s1, $s2 :: rd 0x4409a30070262020, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+nor $t0, $t1, $t2 :: rd 0x600bf4b, rs 0xffffffffc8ea00a0, rt 0x791d4014
+nor $s0, $s1, $s2 :: rd 0x12f0a2004320701, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+nor $t0, $t1, $t2 :: rd 0x800af4a, rs 0xffffffffd6ad50a5, rt 0x675a1011
+nor $s0, $s1, $s2 :: rd 0xc0818885c360b10d, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+nor $t0, $t1, $t2 :: rd 0xc00b249, rs 0xffffffffd26c4d12, rt 0x639b0da6
+nor $s0, $s1, $s2 :: rd 0x568306024c118950, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+nor $t0, $t1, $t2 :: rd 0x9400, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+nor $s0, $s1, $s2 :: rd 0x602e04c4028105c0, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+nor $t0, $t1, $t2 :: rd 0x4008903, rs 0xffffffffdbee767c, rt 0x6a1936c8
+nor $s0, $s1, $s2 :: rd 0x4391044430049091, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+nor $t0, $t1, $t2 :: rd 0xc08340a, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+nor $s0, $s1, $s2 :: rd 0x10c024c93004180, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+nor $t0, $t1, $t2 :: rd 0x8082909, rs 0xffffffffe760d676, rt 0x569796c2
+nor $s0, $s1, $s2 :: rd 0x9008c00203875028, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+nor $t0, $t1, $t2 :: rd 0x4080f40, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+nor $s0, $s1, $s2 :: rd 0x9d0201a7c010804, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+nor $t0, $t1, $t2 :: rd 0x81243, rs 0xffffffffeee2ed18, rt 0x5f15adac
+nor $s0, $s1, $s2 :: rd 0x2a104130100e0122, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+nor $t0, $t1, $t2 :: rd 0xe080242, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+nor $s0, $s1, $s2 :: rd 0x1007088e649cca24, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+nor $t0, $t1, $t2 :: rd 0xa081f41, rs 0xfffffffff464a0aa, rt 0x4593e01e
+nor $s0, $s1, $s2 :: rd 0x4000000006010200, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+nor $t0, $t1, $t2 :: rd 0x6083908, rs 0xfffffffff9278673, rt 0x48d0c6c7
+nor $s0, $s1, $s2 :: rd 0xca2126c810028f11, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+nor $t0, $t1, $t2 :: rd 0x208240b, rs 0xfffffffffde69bc4, rt 0x4c11db70
+nor $s0, $s1, $s2 :: rd 0x6800250134100840, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+nor $t0, $t1, $t2 :: rd 0x46000242, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+nor $s0, $s1, $s2 :: rd 0x4a00034060e50130, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+nor $t0, $t1, $t2 :: rd 0x42001f41, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+nor $s0, $s1, $s2 :: rd 0x2141050408180441, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+nor $t0, $t1, $t2 :: rd 0x4e003908, rs 0xffffffff803ac667, rt 0x31cd86d3
+nor $s0, $s1, $s2 :: rd 0x2920800282c81a0, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+nor $t0, $t1, $t2 :: rd 0x4a00240b, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+nor $s0, $s1, $s2 :: rd 0x9802922020104646, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+nor $t0, $t1, $t2 :: rd 0x4400340a, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+nor $s0, $s1, $s2 :: rd 0x10004423a4000ac, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+nor $t0, $t1, $t2 :: rd 0x40002909, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+nor $s0, $s1, $s2 :: rd 0x80101a02000c0802, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+nor $t0, $t1, $t2 :: rd 0x4c000f40, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+nor $s0, $s1, $s2 :: rd 0x80c2056129084872, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+nor $t0, $t1, $t2 :: rd 0x48001243, rs 0xffffffff97ffad0c, rt 0x2608edb8
+nor $s0, $s1, $s2 :: rd 0x4107830804050344, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+nor $t0, $t1, $t2 :: rd 0x4008af4a, rs 0xffffffffafb010b1, rt 0x1e475005
+nor $s0, $s1, $s2 :: rd 0x15d21a418160b00, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+nor $t0, $t1, $t2 :: rd 0x4408b249, rs 0xffffffffab710d06, rt 0x1a864db2
+nor $s0, $s1, $s2 :: rd 0x208e511c00009cc0, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+nor $t0, $t1, $t2 :: rd 0x48089400, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+nor $s0, $s1, $s2 :: rd 0x5150424661800c10, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+nor $t0, $t1, $t2 :: rd 0x4c088903, rs 0xffffffffa2f33668, rt 0x130476dc
+nor $s0, $s1, $s2 :: rd 0xa5031b10190840e8, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+nor $t0, $t1, $t2 :: rd 0x42089902, rs 0xffffffffbcb4666d, rt 0xd4326d9
+nor $s0, $s1, $s2 :: rd 0x83108005094800, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+nor $t0, $t1, $t2 :: rd 0x46088401, rs 0xffffffffb8757bda, rt 0x9823b6e
+nor $s0, $s1, $s2 :: rd 0x401000202082a208, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+nor $t0, $t1, $t2 :: rd 0x4ac9a2fc, rs 0xffffffffb5365d03, rt 0x0
+nor $s0, $s1, $s2 :: rd 0x9e806098202d5484, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+nor $t0, $t1, $t2 :: rd 0x4e08bf4b, rs 0xffffffffb1f740b4, rt 0x0
+nor $s0, $s1, $s2 :: rd 0x5d591399e4542854, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+or $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x0, rt 0xffffffffb1f740b4
+or $s0, $s1, $s2 :: rd 0xa2a6ec661babd7ab, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+or $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0x0, rt 0xffffffffb5365d03
+or $s0, $s1, $s2 :: rd 0x617f9f67dfd2ab7b, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+or $t0, $t1, $t2 :: rd 0xffffffffb9f77bfe, rs 0x9823b6e, rt 0xffffffffb8757bda
+or $s0, $s1, $s2 :: rd 0xbfefffdfdf7d5df7, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+or $t0, $t1, $t2 :: rd 0xffffffffbdf766fd, rs 0xd4326d9, rt 0xffffffffbcb4666d
+or $s0, $s1, $s2 :: rd 0xff7cef7ffaf6b7ff, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+or $t0, $t1, $t2 :: rd 0xffffffffb3f776fc, rs 0x130476dc, rt 0xffffffffa2f33668
+or $s0, $s1, $s2 :: rd 0x5afce4efe6f7bf17, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+or $t0, $t1, $t2 :: rd 0xffffffffb7f76bff, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+or $s0, $s1, $s2 :: rd 0xaeafbdb99e7ff3ef, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+or $t0, $t1, $t2 :: rd 0xffffffffbbf74db6, rs 0x1a864db2, rt 0xffffffffab710d06
+or $s0, $s1, $s2 :: rd 0xdf71aee3ffff633f, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+or $t0, $t1, $t2 :: rd 0xffffffffbff750b5, rs 0x1e475005, rt 0xffffffffafb010b1
+or $s0, $s1, $s2 :: rd 0xfea2de5be7e9f4ff, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+or $t0, $t1, $t2 :: rd 0xffffffffb7ffedbc, rs 0x2608edb8, rt 0xffffffff97ffad0c
+or $s0, $s1, $s2 :: rd 0xbef87cf7fbfafcbb, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+or $t0, $t1, $t2 :: rd 0xffffffffb3fff0bf, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+or $s0, $s1, $s2 :: rd 0x7f3dfa9ed6f7b78d, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+or $t0, $t1, $t2 :: rd 0xffffffffbfffd6f6, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+or $s0, $s1, $s2 :: rd 0x7fefe5fdfff3f7fd, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+or $t0, $t1, $t2 :: rd 0xffffffffbbffcbf5, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+or $s0, $s1, $s2 :: rd 0xfefffbbdc5bfff53, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+or $t0, $t1, $t2 :: rd 0xffffffffb5ffdbf4, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+or $s0, $s1, $s2 :: rd 0x67fd6ddfdfefb9b9, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+or $t0, $t1, $t2 :: rd 0xffffffffb1ffc6f7, rs 0x31cd86d3, rt 0xffffffff803ac667
+or $s0, $s1, $s2 :: rd 0xfd6df7ffd7d37e5f, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+or $t0, $t1, $t2 :: rd 0xffffffffbdffe0be, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+or $s0, $s1, $s2 :: rd 0xdebefafbf7e7fbbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+or $t0, $t1, $t2 :: rd 0xffffffffb9fffdbd, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+or $s0, $s1, $s2 :: rd 0xb5fffcbf9f1afecf, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+or $t0, $t1, $t2 :: rd 0xfffffffffdf7dbf4, rs 0x4c11db70, rt 0xfffffffffde69bc4
+or $s0, $s1, $s2 :: rd 0x97ffdafecbeff7bf, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+or $t0, $t1, $t2 :: rd 0xfffffffff9f7c6f7, rs 0x48d0c6c7, rt 0xfffffffff9278673
+or $s0, $s1, $s2 :: rd 0x35ded937effd70ee, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+or $t0, $t1, $t2 :: rd 0xfffffffff5f7e0be, rs 0x4593e01e, rt 0xfffffffff464a0aa
+or $s0, $s1, $s2 :: rd 0xbffffffff9fefdff, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+or $t0, $t1, $t2 :: rd 0xfffffffff1f7fdbd, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+or $s0, $s1, $s2 :: rd 0xeff8f7719b6335db, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+or $t0, $t1, $t2 :: rd 0xfffffffffff7edbc, rs 0x5f15adac, rt 0xffffffffeee2ed18
+or $s0, $s1, $s2 :: rd 0xd5efbecfeff1fedd, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+or $t0, $t1, $t2 :: rd 0xfffffffffbf7f0bf, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+or $s0, $s1, $s2 :: rd 0xf62fdfe583fef7fb, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+or $t0, $t1, $t2 :: rd 0xfffffffff7f7d6f6, rs 0x569796c2, rt 0xffffffffe760d676
+or $s0, $s1, $s2 :: rd 0x6ff73ffdfc78afd7, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+or $t0, $t1, $t2 :: rd 0xfffffffff3f7cbf5, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+or $s0, $s1, $s2 :: rd 0xfef3fdb36cffbe7f, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+or $t0, $t1, $t2 :: rd 0xfffffffffbff76fc, rs 0x6a1936c8, rt 0xffffffffdbee767c
+or $s0, $s1, $s2 :: rd 0xbc6efbbbcffb6f6e, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+or $t0, $t1, $t2 :: rd 0xffffffffffff6bff, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+or $s0, $s1, $s2 :: rd 0x9fd1fb3bfd7efa3f, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+or $t0, $t1, $t2 :: rd 0xfffffffff3ff4db6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+or $s0, $s1, $s2 :: rd 0xa97cf9fdb3ee76af, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+or $t0, $t1, $t2 :: rd 0xfffffffff7ff50b5, rs 0x675a1011, rt 0xffffffffd6ad50a5
+or $s0, $s1, $s2 :: rd 0x3f7e777a3c9f4ef2, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+or $t0, $t1, $t2 :: rd 0xfffffffff9ff40b4, rs 0x791d4014, rt 0xffffffffc8ea00a0
+or $s0, $s1, $s2 :: rd 0xfed0f5dffbcdf8fe, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+or $t0, $t1, $t2 :: rd 0xfffffffffdff5db7, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+or $s0, $s1, $s2 :: rd 0xbbf65cff8fd9dfdf, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+or $t0, $t1, $t2 :: rd 0xfffffffff1ff7bfe, rs 0x709f7b7a, rt 0xffffffffc1683bce
+or $s0, $s1, $s2 :: rd 0xdfd5ffff8eccb5ff, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+or $t0, $t1, $t2 :: rd 0xfffffffff5ff66fd, rs 0x745e66cd, rt 0xffffffffc5a92679
+or $s0, $s1, $s2 :: rd 0xf5efebafdef76f7f, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+or $t0, $t1, $t2 :: rd 0xffffffffb9f7f6f4, rs 0xffffffff9823b6e0, rt 0x29d4f654
+or $s0, $s1, $s2 :: rd 0x6f7d574cf6f6f7b7, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+or $t0, $t1, $t2 :: rd 0xffffffffbdf7ebf7, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+or $s0, $s1, $s2 :: rd 0x3648d7bff6fe7f7f, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+or $t0, $t1, $t2 :: rd 0xffffffffb1f7cdbe, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+or $s0, $s1, $s2 :: rd 0xb55b4edaefd73fbf, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+or $t0, $t1, $t2 :: rd 0xffffffffb5f7d0bd, rs 0xffffffff95609039, rt 0x2497d08d
+or $s0, $s1, $s2 :: rd 0xd8dbddf1fbeffdf7, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+or $t0, $t1, $t2 :: rd 0xffffffffbbf7c0bc, rs 0xffffffff8b27c03c, rt 0x3ad08088
+or $s0, $s1, $s2 :: rd 0xff567fffeeb2b73d, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+or $t0, $t1, $t2 :: rd 0xffffffffbff7ddbf, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+or $s0, $s1, $s2 :: rd 0xb5dfbdbd7bdbb3ff, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+or $t0, $t1, $t2 :: rd 0xffffffffb3f7fbf6, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+or $s0, $s1, $s2 :: rd 0xf7fefffbda2fb7fb, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+or $t0, $t1, $t2 :: rd 0xffffffffb7f7e6f5, rs 0xffffffff8664e6e5, rt 0x3793a651
+or $s0, $s1, $s2 :: rd 0xabd9d3b7b9c9defd, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+or $t0, $t1, $t2 :: rd 0xffffffffbfff5bfc, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+or $s0, $s1, $s2 :: rd 0x877faad7affedb6f, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+or $t0, $t1, $t2 :: rd 0xffffffffbbff46ff, rs 0xffffffffbaea46ef, rt 0xb1d065b
+or $s0, $s1, $s2 :: rd 0x2e3fecfeb5bb5aa3, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+or $t0, $t1, $t2 :: rd 0xffffffffb7ff60b6, rs 0xffffffffb7a96036, rt 0x65e2082
+or $s0, $s1, $s2 :: rd 0xff7bffcfcd77bbef, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+or $t0, $t1, $t2 :: rd 0xffffffffb3ff7db5, rs 0xffffffffb3687d81, rt 0x29f3d35
+or $s0, $s1, $s2 :: rd 0xf2f7b6ddf7ed5ef3, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+or $t0, $t1, $t2 :: rd 0xffffffffbdff6db4, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+or $s0, $s1, $s2 :: rd 0xcdd7f0ff38fece5f, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+or $t0, $t1, $t2 :: rd 0xffffffffb9ff70b7, rs 0xffffffffa9ee3033, rt 0x18197087
+or $s0, $s1, $s2 :: rd 0xdffc3ba3d3ddfbff, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+or $t0, $t1, $t2 :: rd 0xffffffffb5ff56fe, rs 0xffffffffa4ad16ea, rt 0x155a565e
+or $s0, $s1, $s2 :: rd 0xd7adba7f1ff7ff7b, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+or $t0, $t1, $t2 :: rd 0xffffffffb1ff4bfd, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+or $s0, $s1, $s2 :: rd 0x7eb5ee7dd6fef0ff, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+or $t0, $t1, $t2 :: rd 0xfffffffff5f76db4, rs 0xffffffffd4326d90, rt 0x65c52d24
+or $s0, $s1, $s2 :: rd 0xff8faf5f9fe6ffff, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+or $t0, $t1, $t2 :: rd 0xfffffffff1f770b7, rs 0xffffffffd0f37027, rt 0x61043093
+or $s0, $s1, $s2 :: rd 0x3ff67f5fa97ffcfd, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+or $t0, $t1, $t2 :: rd 0xfffffffffdf756fe, rs 0xffffffffddb056fe, rt 0x6c47164a
+or $s0, $s1, $s2 :: rd 0x77df7fbfbfd7eaad, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+or $t0, $t1, $t2 :: rd 0xfffffffff9f74bfd, rs 0xffffffffd9714b49, rt 0x68860bfd
+or $s0, $s1, $s2 :: rd 0xfcbbfbf7d9fb9fe7, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+or $t0, $t1, $t2 :: rd 0xfffffffff7f75bfc, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+or $s0, $s1, $s2 :: rd 0x4dfffeefd7b5b7eb, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+or $t0, $t1, $t2 :: rd 0xfffffffff3f746ff, rs 0xffffffffc3f706fb, rt 0x7200464f
+or $s0, $s1, $s2 :: rd 0xbbb673f9c7ef9d1f, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+or $t0, $t1, $t2 :: rd 0xfffffffffff760b6, rs 0xffffffffceb42022, rt 0x7f436096
+or $s0, $s1, $s2 :: rd 0xffbecdffffb94faf, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+or $t0, $t1, $t2 :: rd 0xfffffffffbf77db5, rs 0xffffffffca753d95, rt 0x7b827d21
+or $s0, $s1, $s2 :: rd 0x57ebffdf5deb77ff, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+or $t0, $t1, $t2 :: rd 0xfffffffff3ffc0bc, rs 0xfffffffff23a8028, rt 0x43cdc09c
+or $s0, $s1, $s2 :: rd 0xfeb5cfff7e7fbdcf, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+or $t0, $t1, $t2 :: rd 0xfffffffff7ffddbf, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+or $s0, $s1, $s2 :: rd 0x7ff8d7aef7effdd7, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+or $t0, $t1, $t2 :: rd 0xfffffffffbfffbf6, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+or $s0, $s1, $s2 :: rd 0xf3fd7bc95ffd7df5, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+or $t0, $t1, $t2 :: rd 0xffffffffffffe6f5, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+or $s0, $s1, $s2 :: rd 0x5fe1fbbfffbf9fdf, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+or $t0, $t1, $t2 :: rd 0xfffffffff1fff6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+or $s0, $s1, $s2 :: rd 0x79f0cfaffdeebffa, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+or $t0, $t1, $t2 :: rd 0xfffffffff5ffebf7, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+or $s0, $s1, $s2 :: rd 0xfebbdfdfff7ebfff, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+or $t0, $t1, $t2 :: rd 0xfffffffff9ffcdbe, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+or $s0, $s1, $s2 :: rd 0xcbfe4c7bf768db6f, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+or $t0, $t1, $t2 :: rd 0xfffffffffdffd0bd, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+or $s0, $s1, $s2 :: rd 0xf5bffff6ddbff36f, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+or $t0, $t1, $t2 :: rd 0xffffffffb5f770f7, rs 0x34867077, rt 0xffffffff857130c3
+or $s0, $s1, $s2 :: rd 0xfeb7ceefffb6f7ed, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+or $t0, $t1, $t2 :: rd 0xffffffffb1f76df4, rs 0x30476dc0, rt 0xffffffff81b02d74
+or $s0, $s1, $s2 :: rd 0xadaa5ef65ed1faf4, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+or $t0, $t1, $t2 :: rd 0xffffffffbdf74bbd, rs 0x3d044b19, rt 0xffffffff8cf30bad
+or $s0, $s1, $s2 :: rd 0xfce91f45e7db5eef, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+or $t0, $t1, $t2 :: rd 0xffffffffb9f756be, rs 0x39c556ae, rt 0xffffffff8832161a
+or $s0, $s1, $s2 :: rd 0xfbd9dff77bf7fcff, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+or $t0, $t1, $t2 :: rd 0xffffffffb7f746bf, rs 0x278206ab, rt 0xffffffff9675461f
+or $s0, $s1, $s2 :: rd 0xa9fefae43e68bbdf, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+or $t0, $t1, $t2 :: rd 0xffffffffb3f75bbc, rs 0x23431b1c, rt 0xffffffff92b45ba8
+or $s0, $s1, $s2 :: rd 0x9c6beb7f5f6ffeef, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+or $t0, $t1, $t2 :: rd 0xffffffffbff77df5, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+or $s0, $s1, $s2 :: rd 0x8fb7f6fffe7fcabf, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+or $t0, $t1, $t2 :: rd 0xffffffffbbf760f6, rs 0x2ac12072, rt 0xffffffff9b3660c6
+or $s0, $s1, $s2 :: rd 0xf5bef75dffd6576f, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+or $t0, $t1, $t2 :: rd 0xffffffffb3ffddff, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+or $s0, $s1, $s2 :: rd 0xe77efffffefbbd5d, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+or $t0, $t1, $t2 :: rd 0xffffffffb7ffc0fc, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+or $s0, $s1, $s2 :: rd 0xedf7bbffdaffefbf, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+or $t0, $t1, $t2 :: rd 0xffffffffbbffe6b5, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+or $s0, $s1, $s2 :: rd 0x5ad765fca6f7dbfe, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+or $t0, $t1, $t2 :: rd 0xffffffffbffffbb6, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+or $s0, $s1, $s2 :: rd 0xfd1fbf9fffe7745b, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+or $t0, $t1, $t2 :: rd 0xffffffffb1ffebb7, rs 0x18aeb13, rt 0xffffffffb07daba7
+or $s0, $s1, $s2 :: rd 0xe76bff3ff7ffffc4, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+or $t0, $t1, $t2 :: rd 0xffffffffb5fff6b4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+or $s0, $s1, $s2 :: rd 0xdfffffe177bf7f38, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+or $t0, $t1, $t2 :: rd 0xffffffffb9ffd0fd, rs 0x808d07d, rt 0xffffffffb9ff90c9
+or $s0, $s1, $s2 :: rd 0xaaf766dd4099ffaf, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+or $t0, $t1, $t2 :: rd 0xffffffffbdffcdfe, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+or $s0, $s1, $s2 :: rd 0xdff374da52ebf6ed, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+or $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+or $s0, $s1, $s2 :: rd 0x7dbfcff38d9ff346, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+or $t0, $t1, $t2 :: rd 0xfffffffffdf7f6b4, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+or $s0, $s1, $s2 :: rd 0xfbf6b96d76fdefd7, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+or $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+or $s0, $s1, $s2 :: rd 0x93ef647f3ff3d738, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+or $t0, $t1, $t2 :: rd 0xfffffffff5f7cdfe, rs 0x75d48dde, rt 0xffffffffc423cd6a
+or $s0, $s1, $s2 :: rd 0xf5fff6fd3fdfd97b, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+or $t0, $t1, $t2 :: rd 0xfffffffffbf7ddff, rs 0x6b93dddb, rt 0xffffffffda649d6f
+or $s0, $s1, $s2 :: rd 0x2539efffafefbe7f, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+or $t0, $t1, $t2 :: rd 0xfffffffffff7c0fc, rs 0x6f52c06c, rt 0xffffffffdea580d8
+or $s0, $s1, $s2 :: rd 0xfb96f3f273dffdef, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+or $t0, $t1, $t2 :: rd 0xfffffffff3f7e6b5, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+or $s0, $s1, $s2 :: rd 0x5aeedf7fefcabfc1, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+or $t0, $t1, $t2 :: rd 0xfffffffff7f7fbb6, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+or $s0, $s1, $s2 :: rd 0xf7ed9fe7c07ffd6e, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+or $t0, $t1, $t2 :: rd 0xffffffffffff46bf, rs 0x5e9f46bf, rt 0xffffffffef68060b
+or $s0, $s1, $s2 :: rd 0x5f0df3ef5ffe3f8f, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+or $t0, $t1, $t2 :: rd 0xfffffffffbff5bbc, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+or $s0, $s1, $s2 :: rd 0xfdfd71ebdffda73b, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+or $t0, $t1, $t2 :: rd 0xfffffffff7ff7df5, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+or $s0, $s1, $s2 :: rd 0xf62fbf77edbfceff, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+or $t0, $t1, $t2 :: rd 0xfffffffff3ff60f6, rs 0x53dc6066, rt 0xffffffffe22b20d2
+or $s0, $s1, $s2 :: rd 0x1f9f27f94f9f7eff, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+or $t0, $t1, $t2 :: rd 0xfffffffffdff70f7, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+or $s0, $s1, $s2 :: rd 0xff7fdffdbff7bdf7, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+or $t0, $t1, $t2 :: rd 0xfffffffff9ff6df4, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+or $s0, $s1, $s2 :: rd 0xfbeb3f3fabfccff6, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+or $t0, $t1, $t2 :: rd 0xfffffffff5ff4bbd, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+or $s0, $s1, $s2 :: rd 0x1f357ffeffefefee, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+or $t0, $t1, $t2 :: rd 0xfffffffff1ff56be, rs 0x40d816ba, rt 0xfffffffff12f560e
+or $s0, $s1, $s2 :: rd 0xaf6affea7f52c761, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+or $t0, $t1, $t2 :: rd 0xffffffffbdf7c6b7, rs 0xffffffffaca5c697, rt 0x1d528623
+or $s0, $s1, $s2 :: rd 0xf7d774d7ff3fff27, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+or $t0, $t1, $t2 :: rd 0xffffffffb9f7dbb4, rs 0xffffffffa864db20, rt 0x19939b94
+or $s0, $s1, $s2 :: rd 0xfffffa7fedbfffdb, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+or $t0, $t1, $t2 :: rd 0xffffffffb5f7fdfd, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+or $s0, $s1, $s2 :: rd 0x78e7e54eefcbbe9e, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+or $t0, $t1, $t2 :: rd 0xffffffffb1f7e0fe, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+or $s0, $s1, $s2 :: rd 0xc2efff57ebf39f7f, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+or $t0, $t1, $t2 :: rd 0xffffffffbff7f0ff, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+or $s0, $s1, $s2 :: rd 0xffef7baf1cfd2dfb, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+or $t0, $t1, $t2 :: rd 0xffffffffbbf7edfc, rs 0xffffffffbb60adfc, rt 0xa97ed48
+or $s0, $s1, $s2 :: rd 0xeefbfaaf5fbfff5c, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+or $t0, $t1, $t2 :: rd 0xffffffffb7f7cbb5, rs 0xffffffffb6238b25, rt 0x7d4cb91
+or $s0, $s1, $s2 :: rd 0xfbcff0df7fef77b7, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+or $t0, $t1, $t2 :: rd 0xffffffffb3f7d6b6, rs 0xffffffffb2e29692, rt 0x315d626
+or $s0, $s1, $s2 :: rd 0x8eff686effe392f3, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+or $t0, $t1, $t2 :: rd 0xffffffffbbff6bbf, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+or $s0, $s1, $s2 :: rd 0xf47cd3a6dfb71fcd, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+or $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x0, rt 0x3f9b762c
+or $s0, $s1, $s2 :: rd 0x17bff7ebffdff7ff, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+or $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x0, rt 0x32d850f5
+or $s0, $s1, $s2 :: rd 0xfe46ddff7ddc47fd, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+or $t0, $t1, $t2 :: rd 0xffffffffb7ff4df6, rs 0xffffffff87ee0df6, rt 0x36194d42
+or $s0, $s1, $s2 :: rd 0x9f377cfdfdfdef99, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+or $t0, $t1, $t2 :: rd 0xffffffffb9ff5df7, rs 0xffffffff99a95df3, rt 0x285e1d47
+or $s0, $s1, $s2 :: rd 0xf63d661a5df33b97, rs 0x663d061055833287, rt 0xb620660a49732b90
+or $t0, $t1, $t2 :: rd 0xffffffffbdff40f4, rs 0xffffffff9d684044, rt 0x2c9f00f0
+or $s0, $s1, $s2 :: rd 0xbbfdfc69cf79ff9f, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+or $t0, $t1, $t2 :: rd 0xffffffffb1ff66bd, rs 0xffffffff902b669d, rt 0x21dc2629
+or $s0, $s1, $s2 :: rd 0xf7bae3ef1efbc7fb, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+or $t0, $t1, $t2 :: rd 0xffffffffb5ff7bbe, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+or $s0, $s1, $s2 :: rd 0x7eeb6cf9fbcdbeb6, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+or $t0, $t1, $t2 :: rd 0xfffffffff1f75df7, rs 0xffffffffe0b41de7, rt 0x51435d53
+or $s0, $s1, $s2 :: rd 0xfdcf5ffff3fbef7d, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+or $t0, $t1, $t2 :: rd 0xfffffffff5f740f4, rs 0xffffffffe4750050, rt 0x558240e4
+or $s0, $s1, $s2 :: rd 0xfdff7d9f9de6ff1f, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+or $t0, $t1, $t2 :: rd 0xfffffffff9f766bd, rs 0xffffffffe9362689, rt 0x58c1663d
+or $s0, $s1, $s2 :: rd 0xfffed57edfd77ddf, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+or $t0, $t1, $t2 :: rd 0xfffffffffdf77bbe, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+or $s0, $s1, $s2 :: rd 0xeffbbb7dbefff2af, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+or $t0, $t1, $t2 :: rd 0xfffffffff3f76bbf, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+or $s0, $s1, $s2 :: rd 0xfeeef7fb7edc9f3b, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+or $t0, $t1, $t2 :: rd 0xfffffffff7f776bc, rs 0xfffffffff771768c, rt 0x46863638
+or $s0, $s1, $s2 :: rd 0x9fff3fe3f7ffeddf, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+or $t0, $t1, $t2 :: rd 0xfffffffffbf750f5, rs 0xfffffffffa325055, rt 0x4bc510e1
+or $s0, $s1, $s2 :: rd 0xfeff25e73d4fee27, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+or $t0, $t1, $t2 :: rd 0xfffffffffff74df6, rs 0xfffffffffef34de2, rt 0x4f040d56
+or $s0, $s1, $s2 :: rd 0xbefdbfe7ff7e78ed, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+or $t0, $t1, $t2 :: rd 0xfffffffff7fff0ff, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+or $s0, $s1, $s2 :: rd 0xfff69ffefe9fcfff, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+or $t0, $t1, $t2 :: rd 0xfffffffff3ffedfc, rs 0xffffffffc27dede8, rt 0x738aad5c
+or $s0, $s1, $s2 :: rd 0xad3f7fdef8dfdfe9, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+or $t0, $t1, $t2 :: rd 0xffffffffffffcbb5, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+or $s0, $s1, $s2 :: rd 0x8e7ab9df79efb37b, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+or $t0, $t1, $t2 :: rd 0xfffffffffbffd6b6, rs 0xffffffffcbffd686, rt 0x7a089632
+or $s0, $s1, $s2 :: rd 0xffffddcd7dff360f, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+or $t0, $t1, $t2 :: rd 0xfffffffff5ffc6b7, rs 0xffffffffd5b88683, rt 0x644fc637
+or $s0, $s1, $s2 :: rd 0xf76fedffff89e9eb, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+or $t0, $t1, $t2 :: rd 0xfffffffff1ffdbb4, rs 0xffffffffd1799b34, rt 0x608edb80
+or $s0, $s1, $s2 :: rd 0x7ffaf475f7baddfd, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+or $t0, $t1, $t2 :: rd 0xfffffffffdfffdfd, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+or $s0, $s1, $s2 :: rd 0xffffdffdffffbffc, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+or $t0, $t1, $t2 :: rd 0xfffffffff9ffe0fe, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+or $s0, $s1, $s2 :: rd 0x623f7cff3bf75adf, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+or $t0, $t1, $t2 :: rd 0xfffffffff9ffe0fe, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+or $s0, $s1, $s2 :: rd 0x623f7cff3bf75adf, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+or $t0, $t1, $t2 :: rd 0xfffffffffdfffdfd, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+or $s0, $s1, $s2 :: rd 0xffffdffdffffbffc, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+or $t0, $t1, $t2 :: rd 0xfffffffff1ffdbb4, rs 0x608edb80, rt 0xffffffffd1799b34
+or $s0, $s1, $s2 :: rd 0x7ffaf475f7baddfd, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+or $t0, $t1, $t2 :: rd 0xfffffffff5ffc6b7, rs 0x644fc637, rt 0xffffffffd5b88683
+or $s0, $s1, $s2 :: rd 0xf76fedffff89e9eb, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+or $t0, $t1, $t2 :: rd 0xfffffffffbffd6b6, rs 0x7a089632, rt 0xffffffffcbffd686
+or $s0, $s1, $s2 :: rd 0xffffddcd7dff360f, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+or $t0, $t1, $t2 :: rd 0xffffffffffffcbb5, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+or $s0, $s1, $s2 :: rd 0x8e7ab9df79efb37b, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+or $t0, $t1, $t2 :: rd 0xfffffffff3ffedfc, rs 0x738aad5c, rt 0xffffffffc27dede8
+or $s0, $s1, $s2 :: rd 0xad3f7fdef8dfdfe9, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+or $t0, $t1, $t2 :: rd 0xfffffffff7fff0ff, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+or $s0, $s1, $s2 :: rd 0xfff69ffefe9fcfff, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+or $t0, $t1, $t2 :: rd 0xfffffffffff74df6, rs 0x4f040d56, rt 0xfffffffffef34de2
+or $s0, $s1, $s2 :: rd 0xbefdbfe7ff7e78ed, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+or $t0, $t1, $t2 :: rd 0xfffffffffbf750f5, rs 0x4bc510e1, rt 0xfffffffffa325055
+or $s0, $s1, $s2 :: rd 0xfeff25e73d4fee27, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+or $t0, $t1, $t2 :: rd 0xfffffffff7f776bc, rs 0x46863638, rt 0xfffffffff771768c
+or $s0, $s1, $s2 :: rd 0x9fff3fe3f7ffeddf, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+or $t0, $t1, $t2 :: rd 0xfffffffff3f76bbf, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+or $s0, $s1, $s2 :: rd 0xfeeef7fb7edc9f3b, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+or $t0, $t1, $t2 :: rd 0xfffffffffdf77bbe, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+or $s0, $s1, $s2 :: rd 0xeffbbb7dbefff2af, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+or $t0, $t1, $t2 :: rd 0xfffffffff9f766bd, rs 0x58c1663d, rt 0xffffffffe9362689
+or $s0, $s1, $s2 :: rd 0xfffed57edfd77ddf, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+or $t0, $t1, $t2 :: rd 0xfffffffff5f740f4, rs 0x558240e4, rt 0xffffffffe4750050
+or $s0, $s1, $s2 :: rd 0xfdff7d9f9de6ff1f, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+or $t0, $t1, $t2 :: rd 0xfffffffff1f75df7, rs 0x51435d53, rt 0xffffffffe0b41de7
+or $s0, $s1, $s2 :: rd 0xfdcf5ffff3fbef7d, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+or $t0, $t1, $t2 :: rd 0xffffffffb5ff7bbe, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+or $s0, $s1, $s2 :: rd 0x7eeb6cf9fbcdbeb6, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+or $t0, $t1, $t2 :: rd 0xffffffffb1ff66bd, rs 0x21dc2629, rt 0xffffffff902b669d
+or $s0, $s1, $s2 :: rd 0xf7bae3ef1efbc7fb, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+or $t0, $t1, $t2 :: rd 0xffffffffbdff40f4, rs 0x2c9f00f0, rt 0xffffffff9d684044
+or $s0, $s1, $s2 :: rd 0xbbfdfc69cf79ff9f, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+or $t0, $t1, $t2 :: rd 0xffffffffb9ff5df7, rs 0x285e1d47, rt 0xffffffff99a95df3
+or $s0, $s1, $s2 :: rd 0xf63d661a5df33b97, rs 0xb620660a49732b90, rt 0x663d061055833287
+or $t0, $t1, $t2 :: rd 0xffffffffb7ff4df6, rs 0x36194d42, rt 0xffffffff87ee0df6
+or $s0, $s1, $s2 :: rd 0x9f377cfdfdfdef99, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+or $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+or $s0, $s1, $s2 :: rd 0xfe46ddff7ddc47fd, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+or $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+or $s0, $s1, $s2 :: rd 0x17bff7ebffdff7ff, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+or $t0, $t1, $t2 :: rd 0xffffffffbbff6bbf, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+or $s0, $s1, $s2 :: rd 0xf47cd3a6dfb71fcd, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+or $t0, $t1, $t2 :: rd 0xffffffffb3f7d6b6, rs 0x315d626, rt 0xffffffffb2e29692
+or $s0, $s1, $s2 :: rd 0x8eff686effe392f3, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+or $t0, $t1, $t2 :: rd 0xffffffffb7f7cbb5, rs 0x7d4cb91, rt 0xffffffffb6238b25
+or $s0, $s1, $s2 :: rd 0xfbcff0df7fef77b7, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+or $t0, $t1, $t2 :: rd 0xffffffffbbf7edfc, rs 0xa97ed48, rt 0xffffffffbb60adfc
+or $s0, $s1, $s2 :: rd 0xeefbfaaf5fbfff5c, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+or $t0, $t1, $t2 :: rd 0xffffffffbff7f0ff, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+or $s0, $s1, $s2 :: rd 0xffef7baf1cfd2dfb, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+or $t0, $t1, $t2 :: rd 0xffffffffb1f7e0fe, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+or $s0, $s1, $s2 :: rd 0xc2efff57ebf39f7f, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+or $t0, $t1, $t2 :: rd 0xffffffffb5f7fdfd, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+or $s0, $s1, $s2 :: rd 0x78e7e54eefcbbe9e, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+or $t0, $t1, $t2 :: rd 0xffffffffb9f7dbb4, rs 0x19939b94, rt 0xffffffffa864db20
+or $s0, $s1, $s2 :: rd 0xfffffa7fedbfffdb, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+or $t0, $t1, $t2 :: rd 0xffffffffbdf7c6b7, rs 0x1d528623, rt 0xffffffffaca5c697
+or $s0, $s1, $s2 :: rd 0xf7d774d7ff3fff27, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+or $t0, $t1, $t2 :: rd 0xfffffffff1ff56be, rs 0xfffffffff12f560e, rt 0x40d816ba
+or $s0, $s1, $s2 :: rd 0xaf6affea7f52c761, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+or $t0, $t1, $t2 :: rd 0xfffffffff5ff4bbd, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+or $s0, $s1, $s2 :: rd 0x1f357ffeffefefee, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+or $t0, $t1, $t2 :: rd 0xfffffffff9ff6df4, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+or $s0, $s1, $s2 :: rd 0xfbeb3f3fabfccff6, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+or $t0, $t1, $t2 :: rd 0xfffffffffdff70f7, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+or $s0, $s1, $s2 :: rd 0xff7fdffdbff7bdf7, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+or $t0, $t1, $t2 :: rd 0xfffffffff3ff60f6, rs 0xffffffffe22b20d2, rt 0x53dc6066
+or $s0, $s1, $s2 :: rd 0x1f9f27f94f9f7eff, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+or $t0, $t1, $t2 :: rd 0xfffffffff7ff7df5, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+or $s0, $s1, $s2 :: rd 0xf62fbf77edbfceff, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+or $t0, $t1, $t2 :: rd 0xfffffffffbff5bbc, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+or $s0, $s1, $s2 :: rd 0xfdfd71ebdffda73b, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+or $t0, $t1, $t2 :: rd 0xffffffffffff46bf, rs 0xffffffffef68060b, rt 0x5e9f46bf
+or $s0, $s1, $s2 :: rd 0x5f0df3ef5ffe3f8f, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+or $t0, $t1, $t2 :: rd 0xfffffffff7f7fbb6, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+or $s0, $s1, $s2 :: rd 0xf7ed9fe7c07ffd6e, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+or $t0, $t1, $t2 :: rd 0xfffffffff3f7e6b5, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+or $s0, $s1, $s2 :: rd 0x5aeedf7fefcabfc1, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+or $t0, $t1, $t2 :: rd 0xfffffffffff7c0fc, rs 0xffffffffdea580d8, rt 0x6f52c06c
+or $s0, $s1, $s2 :: rd 0xfb96f3f273dffdef, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+or $t0, $t1, $t2 :: rd 0xfffffffffbf7ddff, rs 0xffffffffda649d6f, rt 0x6b93dddb
+or $s0, $s1, $s2 :: rd 0x2539efffafefbe7f, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+or $t0, $t1, $t2 :: rd 0xfffffffff5f7cdfe, rs 0xffffffffc423cd6a, rt 0x75d48dde
+or $s0, $s1, $s2 :: rd 0xf5fff6fd3fdfd97b, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+or $t0, $t1, $t2 :: rd 0x71159069, rs 0x0, rt 0x71159069
+or $s0, $s1, $s2 :: rd 0x93ef647f3ff3d738, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+or $t0, $t1, $t2 :: rd 0xfffffffffdf7f6b4, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+or $s0, $s1, $s2 :: rd 0xfbf6b96d76fdefd7, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+or $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x0, rt 0x7897ab07
+or $s0, $s1, $s2 :: rd 0x7dbfcff38d9ff346, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+or $t0, $t1, $t2 :: rd 0xffffffffbdffcdfe, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+or $s0, $s1, $s2 :: rd 0xdff374da52ebf6ed, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+or $t0, $t1, $t2 :: rd 0xffffffffb9ffd0fd, rs 0xffffffffb9ff90c9, rt 0x808d07d
+or $s0, $s1, $s2 :: rd 0xaaf766dd4099ffaf, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+or $t0, $t1, $t2 :: rd 0xffffffffb5fff6b4, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+or $s0, $s1, $s2 :: rd 0xdfffffe177bf7f38, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+or $t0, $t1, $t2 :: rd 0xffffffffb1ffebb7, rs 0xffffffffb07daba7, rt 0x18aeb13
+or $s0, $s1, $s2 :: rd 0xe76bff3ff7ffffc4, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+or $t0, $t1, $t2 :: rd 0xffffffffbffffbb6, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+or $s0, $s1, $s2 :: rd 0xfd1fbf9fffe7745b, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+or $t0, $t1, $t2 :: rd 0xffffffffbbffe6b5, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+or $s0, $s1, $s2 :: rd 0x5ad765fca6f7dbfe, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+or $t0, $t1, $t2 :: rd 0xffffffffb7ffc0fc, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+or $s0, $s1, $s2 :: rd 0xedf7bbffdaffefbf, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+or $t0, $t1, $t2 :: rd 0xffffffffb3ffddff, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+or $s0, $s1, $s2 :: rd 0xe77efffffefbbd5d, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+or $t0, $t1, $t2 :: rd 0xffffffffbbf760f6, rs 0xffffffff9b3660c6, rt 0x2ac12072
+or $s0, $s1, $s2 :: rd 0xf5bef75dffd6576f, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+or $t0, $t1, $t2 :: rd 0xffffffffbff77df5, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+or $s0, $s1, $s2 :: rd 0x8fb7f6fffe7fcabf, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+or $t0, $t1, $t2 :: rd 0xffffffffb3f75bbc, rs 0xffffffff92b45ba8, rt 0x23431b1c
+or $s0, $s1, $s2 :: rd 0x9c6beb7f5f6ffeef, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+or $t0, $t1, $t2 :: rd 0xffffffffb7f746bf, rs 0xffffffff9675461f, rt 0x278206ab
+or $s0, $s1, $s2 :: rd 0xa9fefae43e68bbdf, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+or $t0, $t1, $t2 :: rd 0xffffffffb9f756be, rs 0xffffffff8832161a, rt 0x39c556ae
+or $s0, $s1, $s2 :: rd 0xfbd9dff77bf7fcff, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+or $t0, $t1, $t2 :: rd 0xffffffffbdf74bbd, rs 0xffffffff8cf30bad, rt 0x3d044b19
+or $s0, $s1, $s2 :: rd 0xfce91f45e7db5eef, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+or $t0, $t1, $t2 :: rd 0xffffffffb1f76df4, rs 0xffffffff81b02d74, rt 0x30476dc0
+or $s0, $s1, $s2 :: rd 0xadaa5ef65ed1faf4, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+or $t0, $t1, $t2 :: rd 0xffffffffb5f770f7, rs 0xffffffff857130c3, rt 0x34867077
+or $s0, $s1, $s2 :: rd 0xfeb7ceefffb6f7ed, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+or $t0, $t1, $t2 :: rd 0xfffffffffdffd0bd, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+or $s0, $s1, $s2 :: rd 0xf5bffff6ddbff36f, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+or $t0, $t1, $t2 :: rd 0xfffffffff9ffcdbe, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+or $s0, $s1, $s2 :: rd 0xcbfe4c7bf768db6f, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+or $t0, $t1, $t2 :: rd 0xfffffffff5ffebf7, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+or $s0, $s1, $s2 :: rd 0xfebbdfdfff7ebfff, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+or $t0, $t1, $t2 :: rd 0xfffffffff1fff6f4, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+or $s0, $s1, $s2 :: rd 0x79f0cfaffdeebffa, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+or $t0, $t1, $t2 :: rd 0xffffffffffffe6f5, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+or $s0, $s1, $s2 :: rd 0x5fe1fbbfffbf9fdf, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+or $t0, $t1, $t2 :: rd 0xfffffffffbfffbf6, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+or $s0, $s1, $s2 :: rd 0xf3fd7bc95ffd7df5, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+or $t0, $t1, $t2 :: rd 0xfffffffff7ffddbf, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+or $s0, $s1, $s2 :: rd 0x7ff8d7aef7effdd7, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+or $t0, $t1, $t2 :: rd 0xfffffffff3ffc0bc, rs 0x43cdc09c, rt 0xfffffffff23a8028
+or $s0, $s1, $s2 :: rd 0xfeb5cfff7e7fbdcf, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+or $t0, $t1, $t2 :: rd 0xfffffffffbf77db5, rs 0x7b827d21, rt 0xffffffffca753d95
+or $s0, $s1, $s2 :: rd 0x57ebffdf5deb77ff, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+or $t0, $t1, $t2 :: rd 0xfffffffffff760b6, rs 0x7f436096, rt 0xffffffffceb42022
+or $s0, $s1, $s2 :: rd 0xffbecdffffb94faf, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+or $t0, $t1, $t2 :: rd 0xfffffffff3f746ff, rs 0x7200464f, rt 0xffffffffc3f706fb
+or $s0, $s1, $s2 :: rd 0xbbb673f9c7ef9d1f, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+or $t0, $t1, $t2 :: rd 0xfffffffff7f75bfc, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+or $s0, $s1, $s2 :: rd 0x4dfffeefd7b5b7eb, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+or $t0, $t1, $t2 :: rd 0xfffffffff9f74bfd, rs 0x68860bfd, rt 0xffffffffd9714b49
+or $s0, $s1, $s2 :: rd 0xfcbbfbf7d9fb9fe7, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+or $t0, $t1, $t2 :: rd 0xfffffffffdf756fe, rs 0x6c47164a, rt 0xffffffffddb056fe
+or $s0, $s1, $s2 :: rd 0x77df7fbfbfd7eaad, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+or $t0, $t1, $t2 :: rd 0xfffffffff1f770b7, rs 0x61043093, rt 0xffffffffd0f37027
+or $s0, $s1, $s2 :: rd 0x3ff67f5fa97ffcfd, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+or $t0, $t1, $t2 :: rd 0xfffffffff5f76db4, rs 0x65c52d24, rt 0xffffffffd4326d90
+or $s0, $s1, $s2 :: rd 0xff8faf5f9fe6ffff, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+or $t0, $t1, $t2 :: rd 0xffffffffb1ff4bfd, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+or $s0, $s1, $s2 :: rd 0x7eb5ee7dd6fef0ff, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+or $t0, $t1, $t2 :: rd 0xffffffffb5ff56fe, rs 0x155a565e, rt 0xffffffffa4ad16ea
+or $s0, $s1, $s2 :: rd 0xd7adba7f1ff7ff7b, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+or $t0, $t1, $t2 :: rd 0xffffffffb9ff70b7, rs 0x18197087, rt 0xffffffffa9ee3033
+or $s0, $s1, $s2 :: rd 0xdffc3ba3d3ddfbff, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+or $t0, $t1, $t2 :: rd 0xffffffffbdff6db4, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+or $s0, $s1, $s2 :: rd 0xcdd7f0ff38fece5f, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+or $t0, $t1, $t2 :: rd 0xffffffffb3ff7db5, rs 0x29f3d35, rt 0xffffffffb3687d81
+or $s0, $s1, $s2 :: rd 0xf2f7b6ddf7ed5ef3, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+or $t0, $t1, $t2 :: rd 0xffffffffb7ff60b6, rs 0x65e2082, rt 0xffffffffb7a96036
+or $s0, $s1, $s2 :: rd 0xff7bffcfcd77bbef, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+or $t0, $t1, $t2 :: rd 0xffffffffbbff46ff, rs 0xb1d065b, rt 0xffffffffbaea46ef
+or $s0, $s1, $s2 :: rd 0x2e3fecfeb5bb5aa3, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+or $t0, $t1, $t2 :: rd 0xffffffffbfff5bfc, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+or $s0, $s1, $s2 :: rd 0x877faad7affedb6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+or $t0, $t1, $t2 :: rd 0xffffffffb7f7e6f5, rs 0x3793a651, rt 0xffffffff8664e6e5
+or $s0, $s1, $s2 :: rd 0xabd9d3b7b9c9defd, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+or $t0, $t1, $t2 :: rd 0xffffffffb3f7fbf6, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+or $s0, $s1, $s2 :: rd 0xf7fefffbda2fb7fb, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+or $t0, $t1, $t2 :: rd 0xffffffffbff7ddbf, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+or $s0, $s1, $s2 :: rd 0xb5dfbdbd7bdbb3ff, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+or $t0, $t1, $t2 :: rd 0xffffffffbbf7c0bc, rs 0x3ad08088, rt 0xffffffff8b27c03c
+or $s0, $s1, $s2 :: rd 0xff567fffeeb2b73d, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+or $t0, $t1, $t2 :: rd 0xffffffffb5f7d0bd, rs 0x2497d08d, rt 0xffffffff95609039
+or $s0, $s1, $s2 :: rd 0xd8dbddf1fbeffdf7, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+or $t0, $t1, $t2 :: rd 0xffffffffb1f7cdbe, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+or $s0, $s1, $s2 :: rd 0xb55b4edaefd73fbf, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+or $t0, $t1, $t2 :: rd 0xffffffffbdf7ebf7, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+or $s0, $s1, $s2 :: rd 0x3648d7bff6fe7f7f, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+or $t0, $t1, $t2 :: rd 0xffffffffb9f7f6f4, rs 0x29d4f654, rt 0xffffffff9823b6e0
+or $s0, $s1, $s2 :: rd 0x6f7d574cf6f6f7b7, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+or $t0, $t1, $t2 :: rd 0xfffffffff5ff66fd, rs 0xffffffffc5a92679, rt 0x745e66cd
+or $s0, $s1, $s2 :: rd 0xf5efebafdef76f7f, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+or $t0, $t1, $t2 :: rd 0xfffffffff1ff7bfe, rs 0xffffffffc1683bce, rt 0x709f7b7a
+or $s0, $s1, $s2 :: rd 0xdfd5ffff8eccb5ff, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+or $t0, $t1, $t2 :: rd 0xfffffffffdff5db7, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+or $s0, $s1, $s2 :: rd 0xbbf65cff8fd9dfdf, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+or $t0, $t1, $t2 :: rd 0xfffffffff9ff40b4, rs 0xffffffffc8ea00a0, rt 0x791d4014
+or $s0, $s1, $s2 :: rd 0xfed0f5dffbcdf8fe, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+or $t0, $t1, $t2 :: rd 0xfffffffff7ff50b5, rs 0xffffffffd6ad50a5, rt 0x675a1011
+or $s0, $s1, $s2 :: rd 0x3f7e777a3c9f4ef2, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+or $t0, $t1, $t2 :: rd 0xfffffffff3ff4db6, rs 0xffffffffd26c4d12, rt 0x639b0da6
+or $s0, $s1, $s2 :: rd 0xa97cf9fdb3ee76af, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+or $t0, $t1, $t2 :: rd 0xffffffffffff6bff, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+or $s0, $s1, $s2 :: rd 0x9fd1fb3bfd7efa3f, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+or $t0, $t1, $t2 :: rd 0xfffffffffbff76fc, rs 0xffffffffdbee767c, rt 0x6a1936c8
+or $s0, $s1, $s2 :: rd 0xbc6efbbbcffb6f6e, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+or $t0, $t1, $t2 :: rd 0xfffffffff3f7cbf5, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+or $s0, $s1, $s2 :: rd 0xfef3fdb36cffbe7f, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+or $t0, $t1, $t2 :: rd 0xfffffffff7f7d6f6, rs 0xffffffffe760d676, rt 0x569796c2
+or $s0, $s1, $s2 :: rd 0x6ff73ffdfc78afd7, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+or $t0, $t1, $t2 :: rd 0xfffffffffbf7f0bf, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+or $s0, $s1, $s2 :: rd 0xf62fdfe583fef7fb, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+or $t0, $t1, $t2 :: rd 0xfffffffffff7edbc, rs 0xffffffffeee2ed18, rt 0x5f15adac
+or $s0, $s1, $s2 :: rd 0xd5efbecfeff1fedd, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+or $t0, $t1, $t2 :: rd 0xfffffffff1f7fdbd, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+or $s0, $s1, $s2 :: rd 0xeff8f7719b6335db, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+or $t0, $t1, $t2 :: rd 0xfffffffff5f7e0be, rs 0xfffffffff464a0aa, rt 0x4593e01e
+or $s0, $s1, $s2 :: rd 0xbffffffff9fefdff, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+or $t0, $t1, $t2 :: rd 0xfffffffff9f7c6f7, rs 0xfffffffff9278673, rt 0x48d0c6c7
+or $s0, $s1, $s2 :: rd 0x35ded937effd70ee, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+or $t0, $t1, $t2 :: rd 0xfffffffffdf7dbf4, rs 0xfffffffffde69bc4, rt 0x4c11db70
+or $s0, $s1, $s2 :: rd 0x97ffdafecbeff7bf, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+or $t0, $t1, $t2 :: rd 0xffffffffb9fffdbd, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+or $s0, $s1, $s2 :: rd 0xb5fffcbf9f1afecf, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+or $t0, $t1, $t2 :: rd 0xffffffffbdffe0be, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+or $s0, $s1, $s2 :: rd 0xdebefafbf7e7fbbe, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+or $t0, $t1, $t2 :: rd 0xffffffffb1ffc6f7, rs 0xffffffff803ac667, rt 0x31cd86d3
+or $s0, $s1, $s2 :: rd 0xfd6df7ffd7d37e5f, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+or $t0, $t1, $t2 :: rd 0xffffffffb5ffdbf4, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+or $s0, $s1, $s2 :: rd 0x67fd6ddfdfefb9b9, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+or $t0, $t1, $t2 :: rd 0xffffffffbbffcbf5, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+or $s0, $s1, $s2 :: rd 0xfefffbbdc5bfff53, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+or $t0, $t1, $t2 :: rd 0xffffffffbfffd6f6, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+or $s0, $s1, $s2 :: rd 0x7fefe5fdfff3f7fd, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+or $t0, $t1, $t2 :: rd 0xffffffffb3fff0bf, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+or $s0, $s1, $s2 :: rd 0x7f3dfa9ed6f7b78d, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+or $t0, $t1, $t2 :: rd 0xffffffffb7ffedbc, rs 0xffffffff97ffad0c, rt 0x2608edb8
+or $s0, $s1, $s2 :: rd 0xbef87cf7fbfafcbb, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+or $t0, $t1, $t2 :: rd 0xffffffffbff750b5, rs 0xffffffffafb010b1, rt 0x1e475005
+or $s0, $s1, $s2 :: rd 0xfea2de5be7e9f4ff, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+or $t0, $t1, $t2 :: rd 0xffffffffbbf74db6, rs 0xffffffffab710d06, rt 0x1a864db2
+or $s0, $s1, $s2 :: rd 0xdf71aee3ffff633f, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+or $t0, $t1, $t2 :: rd 0xffffffffb7f76bff, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+or $s0, $s1, $s2 :: rd 0xaeafbdb99e7ff3ef, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+or $t0, $t1, $t2 :: rd 0xffffffffb3f776fc, rs 0xffffffffa2f33668, rt 0x130476dc
+or $s0, $s1, $s2 :: rd 0x5afce4efe6f7bf17, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+or $t0, $t1, $t2 :: rd 0xffffffffbdf766fd, rs 0xffffffffbcb4666d, rt 0xd4326d9
+or $s0, $s1, $s2 :: rd 0xff7cef7ffaf6b7ff, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+or $t0, $t1, $t2 :: rd 0xffffffffb9f77bfe, rs 0xffffffffb8757bda, rt 0x9823b6e
+or $s0, $s1, $s2 :: rd 0xbfefffdfdf7d5df7, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+or $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+or $s0, $s1, $s2 :: rd 0x617f9f67dfd2ab7b, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+or $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+or $s0, $s1, $s2 :: rd 0xa2a6ec661babd7ab, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+ori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x12bd6ff, rs 0x12bd6aa, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x12bffff, rs 0x12bd6aa, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x12bd6ab, rs 0x12bd6aa, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7e876382d2abff, rs 0x7e876382d2ab13, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7e876382d2ffff, rs 0x7e876382d2ab13, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7e876382d2ab33, rs 0x7e876382d2ab13, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x9823bff, rs 0x9823b6e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x982ffff, rs 0x9823b6e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x9823b6f, rs 0x9823b6e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x976d6e9ac31510ff, rs 0x976d6e9ac31510f3, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x976d6e9ac315ffff, rs 0x976d6e9ac31510f3, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd4326ff, rs 0xd4326d9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd43ffff, rs 0xd4326d9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd4326fb, rs 0xd4326d9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xb7746d775ad6a5ff, rs 0xb7746d775ad6a5fb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xb7746d775ad6ffff, rs 0xb7746d775ad6a5fb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x130476ff, rs 0x130476dc, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1304ffff, rs 0x130476dc, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x130476ff, rs 0x130476dc, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x42b0c0a28677b5ff, rs 0x42b0c0a28677b502, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x42b0c0a28677ffff, rs 0x42b0c0a28677b502, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x42b0c0a28677b523, rs 0x42b0c0a28677b502, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x17c56bff, rs 0x17c56b6b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x17c5ffff, rs 0x17c56b6b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2aa89d319e3c30ff, rs 0x2aa89d319e3c30ad, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2aa89d319e3cffff, rs 0x2aa89d319e3c30ad, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2aa89d319e3c30af, rs 0x2aa89d319e3c30ad, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1a864dff, rs 0x1a864db2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1a86ffff, rs 0x1a864db2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1a864db3, rs 0x1a864db2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1f308ec377fb41ff, rs 0x1f308ec377fb413d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1f308ec377fbffff, rs 0x1f308ec377fb413d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1f308ec377fb413f, rs 0x1f308ec377fb413d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1e4750ff, rs 0x1e475005, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1e47ffff, rs 0x1e475005, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1e475027, rs 0x1e475005, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7aa04213c760e4ff, rs 0x7aa04213c760e4f7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7aa04213c760ffff, rs 0x7aa04213c760e4f7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2608edff, rs 0x2608edb8, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2608ffff, rs 0x2608edb8, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2608edbb, rs 0x2608edb8, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x9e705cc51ad8dcff, rs 0x9e705cc51ad8dca0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x9e705cc51ad8ffff, rs 0x9e705cc51ad8dca0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x9e705cc51ad8dca3, rs 0x9e705cc51ad8dca0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x22c9f0ff, rs 0x22c9f00f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x22c9ffff, rs 0x22c9f00f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x22c9f02f, rs 0x22c9f00f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4b3dda869615a6ff, rs 0x4b3dda869615a60d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4b3dda869615ffff, rs 0x4b3dda869615a60d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4b3dda869615a62f, rs 0x4b3dda869615a60d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2f8ad6ff, rs 0x2f8ad6d6, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2f8affff, rs 0x2f8ad6d6, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2f8ad6f7, rs 0x2f8ad6d6, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5e7a4dd6353d4ff, rs 0x5e7a4dd6353d41d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5e7a4dd6353ffff, rs 0x5e7a4dd6353d41d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5e7a4dd6353d43f, rs 0x5e7a4dd6353d41d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2b4bcbff, rs 0x2b4bcb61, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2b4bffff, rs 0x2b4bcb61, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2b4bcb63, rs 0x2b4bcb61, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3af35a9dc40bd4ff, rs 0x3af35a9dc40bd413, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3af35a9dc40bffff, rs 0x3af35a9dc40bd413, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3af35a9dc40bd433, rs 0x3af35a9dc40bd413, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x350c9bff, rs 0x350c9b64, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x350cffff, rs 0x350c9b64, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x350c9b67, rs 0x350c9b64, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x47f505569a08a1ff, rs 0x47f505569a08a180, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x47f505569a08ffff, rs 0x47f505569a08a180, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x47f505569a08a1a3, rs 0x47f505569a08a180, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x31cd86ff, rs 0x31cd86d3, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x31cdffff, rs 0x31cd86d3, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x31cd86f3, rs 0x31cd86d3, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x9564b77fd6d204ff, rs 0x9564b77fd6d2040f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x9564b77fd6d2ffff, rs 0x9564b77fd6d2040f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x9564b77fd6d2042f, rs 0x9564b77fd6d2040f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3c8ea0ff, rs 0x3c8ea00a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3c8effff, rs 0x3c8ea00a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3c8ea02b, rs 0x3c8ea00a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xcebc8279b2c76bff, rs 0xcebc8279b2c76bbe, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xcebc8279b2c7ffff, rs 0xcebc8279b2c76bbe, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xcebc8279b2c76bbf, rs 0xcebc8279b2c76bbe, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x384fbdff, rs 0x384fbdbd, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x384fffff, rs 0x384fbdbd, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x384fbdbf, rs 0x384fbdbd, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xb5034c2f1f18e4ff, rs 0xb5034c2f1f18e4c7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xb5034c2f1f18ffff, rs 0xb5034c2f1f18e4c7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xb5034c2f1f18e4e7, rs 0xb5034c2f1f18e4c7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4c11dbff, rs 0x4c11db70, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4c11ffff, rs 0x4c11db70, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4c11db73, rs 0x4c11db70, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x94ff52fc81afa7ff, rs 0x94ff52fc81afa797, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x94ff52fc81afffff, rs 0x94ff52fc81afa797, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x94ff52fc81afa7b7, rs 0x94ff52fc81afa797, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x48d0c6ff, rs 0x48d0c6c7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x48d0ffff, rs 0x48d0c6c7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x48d0c6e7, rs 0x48d0c6c7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x31d8d9166dfc50ff, rs 0x31d8d9166dfc50ea, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x31d8d9166dfcffff, rs 0x31d8d9166dfc50ea, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x31d8d9166dfc50eb, rs 0x31d8d9166dfc50ea, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4593e0ff, rs 0x4593e01e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4593ffff, rs 0x4593e01e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4593e03f, rs 0x4593e01e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x36549bd678e895ff, rs 0x36549bd678e895b1, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x36549bd678e8ffff, rs 0x36549bd678e895b1, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x36549bd678e895b3, rs 0x36549bd678e895b1, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4152fdff, rs 0x4152fda9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4152ffff, rs 0x4152fda9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4152fdab, rs 0x4152fda9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x85e0a6319b6325ff, rs 0x85e0a6319b63259b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x85e0a6319b63ffff, rs 0x85e0a6319b63259b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x85e0a6319b6325bb, rs 0x85e0a6319b63259b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5f15adff, rs 0x5f15adac, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5f15ffff, rs 0x5f15adac, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5f15adaf, rs 0x5f15adac, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x556b3ecaccf17aff, rs 0x556b3ecaccf17ac5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x556b3ecaccf1ffff, rs 0x556b3ecaccf17ac5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x556b3ecaccf17ae7, rs 0x556b3ecaccf17ac5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5bd4b0ff, rs 0x5bd4b01b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5bd4ffff, rs 0x5bd4b01b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5bd4b03b, rs 0x5bd4b01b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xb42f5fc581eea0ff, rs 0xb42f5fc581eea0fb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xb42f5fc581eeffff, rs 0xb42f5fc581eea0fb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x569796ff, rs 0x569796c2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5697ffff, rs 0x569796c2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x569796e3, rs 0x569796c2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x25b50fec14682dff, rs 0x25b50fec14682d97, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x25b50fec1468ffff, rs 0x25b50fec14682d97, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x25b50fec14682db7, rs 0x25b50fec14682d97, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x52568bff, rs 0x52568b75, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5256ffff, rs 0x52568b75, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x52568b77, rs 0x52568b75, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfc93c5132cfb08ff, rs 0xfc93c5132cfb087a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfc93c5132cfbffff, rs 0xfc93c5132cfb087a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfc93c5132cfb087b, rs 0xfc93c5132cfb087a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x6a1936ff, rs 0x6a1936c8, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6a19ffff, rs 0x6a1936c8, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x6a1936eb, rs 0x6a1936c8, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3c2cd9a9cda207ff, rs 0x3c2cd9a9cda20766, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3c2cd9a9cda2ffff, rs 0x3c2cd9a9cda20766, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3c2cd9a9cda20767, rs 0x3c2cd9a9cda20766, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x6ed82bff, rs 0x6ed82b7f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6ed8ffff, rs 0x6ed82b7f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1791722a7d72daff, rs 0x1791722a7d72da3e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1791722a7d72ffff, rs 0x1791722a7d72da3e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1791722a7d72da3f, rs 0x1791722a7d72da3e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x639b0dff, rs 0x639b0da6, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x639bffff, rs 0x639b0da6, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x639b0da7, rs 0x639b0da6, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x87cc9d193ce24ff, rs 0x87cc9d193ce24ad, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x87cc9d193ceffff, rs 0x87cc9d193ce24ad, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x87cc9d193ce24af, rs 0x87cc9d193ce24ad, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x675a10ff, rs 0x675a1011, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x675affff, rs 0x675a1011, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x675a1033, rs 0x675a1011, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1d2a757038984eff, rs 0x1d2a757038984ed2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1d2a75703898ffff, rs 0x1d2a757038984ed2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1d2a757038984ef3, rs 0x1d2a757038984ed2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x791d40ff, rs 0x791d4014, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x791dffff, rs 0x791d4014, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x791d4037, rs 0x791d4014, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd0d070db710cd0ff, rs 0xd0d070db710cd036, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd0d070db710cffff, rs 0xd0d070db710cd036, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd0d070db710cd037, rs 0xd0d070db710cd036, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7ddc5dff, rs 0x7ddc5da3, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7ddcffff, rs 0x7ddc5da3, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x39c21c7d034156ff, rs 0x39c21c7d03415604, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x39c21c7d0341ffff, rs 0x39c21c7d03415604, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x39c21c7d03415627, rs 0x39c21c7d03415604, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x709f7bff, rs 0x709f7b7a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x709fffff, rs 0x709f7b7a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x709f7b7b, rs 0x709f7b7a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x8e94b7af8ecc31ff, rs 0x8e94b7af8ecc31ce, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x8e94b7af8eccffff, rs 0x8e94b7af8ecc31ce, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x8e94b7af8ecc31ef, rs 0x8e94b7af8ecc31ce, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x745e66ff, rs 0x745e66cd, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x745effff, rs 0x745e66cd, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x745e66ef, rs 0x745e66cd, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x24eb6a8d1ce767ff, rs 0x24eb6a8d1ce7674f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x24eb6a8d1ce7ffff, rs 0x24eb6a8d1ce7674f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x24eb6a8d1ce7676f, rs 0x24eb6a8d1ce7674f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff9823b6ff, rs 0xffffffff9823b6e0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff9823ffff, rs 0xffffffff9823b6e0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff9823b6e3, rs 0xffffffff9823b6e0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2f39454412d6e4ff, rs 0x2f39454412d6e4a7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2f39454412d6ffff, rs 0x2f39454412d6e4a7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff9ce2abff, rs 0xffffffff9ce2ab57, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff9ce2ffff, rs 0xffffffff9ce2ab57, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff9ce2ab77, rs 0xffffffff9ce2ab57, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2608c2b756da4cff, rs 0x2608c2b756da4c54, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2608c2b756daffff, rs 0x2608c2b756da4c54, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2608c2b756da4c77, rs 0x2608c2b756da4c54, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff91a18dff, rs 0xffffffff91a18d8e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff91a1ffff, rs 0xffffffff91a18d8e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff91a18daf, rs 0xffffffff91a18d8e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x900102dac8d725ff, rs 0x900102dac8d7252f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x900102dac8d7ffff, rs 0x900102dac8d7252f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff956090ff, rs 0xffffffff95609039, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff9560ffff, rs 0xffffffff95609039, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff9560903b, rs 0xffffffff95609039, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xc890d5f1f2efa4ff, rs 0xc890d5f1f2efa4f7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xc890d5f1f2efffff, rs 0xc890d5f1f2efa4f7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff8b27c0ff, rs 0xffffffff8b27c03c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff8b27ffff, rs 0xffffffff8b27c03c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff8b27c03f, rs 0xffffffff8b27c03c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xed5005cbc8b0a2ff, rs 0xed5005cbc8b0a214, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xed5005cbc8b0ffff, rs 0xed5005cbc8b0a214, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xed5005cbc8b0a237, rs 0xed5005cbc8b0a214, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff8fe6ddff, rs 0xffffffff8fe6dd8b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff8fe6ffff, rs 0xffffffff8fe6dd8b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff8fe6ddab, rs 0xffffffff8fe6dd8b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x31479189599113ff, rs 0x314791895991136c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x314791895991ffff, rs 0x314791895991136c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x314791895991136f, rs 0x314791895991136c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff82a5fbff, rs 0xffffffff82a5fb52, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff82a5ffff, rs 0xffffffff82a5fb52, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff82a5fb73, rs 0xffffffff82a5fb52, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xc6eecff99a2fb6ff, rs 0xc6eecff99a2fb6f3, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xc6eecff99a2fffff, rs 0xc6eecff99a2fb6f3, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff8664e6ff, rs 0xffffffff8664e6e5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff8664ffff, rs 0xffffffff8664e6e5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff8664e6e7, rs 0xffffffff8664e6e5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xa8095212388952ff, rs 0xa809521238895270, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xa80952123889ffff, rs 0xa809521238895270, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xa809521238895273, rs 0xa809521238895270, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffbe2b5bff, rs 0xffffffffbe2b5b58, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffbe2bffff, rs 0xffffffffbe2b5b58, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffbe2b5b7b, rs 0xffffffffbe2b5b58, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x87750a04ad7650ff, rs 0x87750a04ad765040, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x87750a04ad76ffff, rs 0x87750a04ad765040, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x87750a04ad765063, rs 0x87750a04ad765040, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffbaea46ff, rs 0xffffffffbaea46ef, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffbaeaffff, rs 0xffffffffbaea46ef, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2c3de85e84bb5aff, rs 0x2c3de85e84bb5a83, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2c3de85e84bbffff, rs 0x2c3de85e84bb5a83, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2c3de85e84bb5aa3, rs 0x2c3de85e84bb5a83, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffb7a960ff, rs 0xffffffffb7a96036, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffb7a9ffff, rs 0xffffffffb7a96036, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffb7a96037, rs 0xffffffffb7a96036, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xae6aff8fc506aaff, rs 0xae6aff8fc506aa67, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xae6aff8fc506ffff, rs 0xae6aff8fc506aa67, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffb3687dff, rs 0xffffffffb3687d81, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffb368ffff, rs 0xffffffffb3687d81, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffb3687da3, rs 0xffffffffb3687d81, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xc07112dd60ed5eff, rs 0xc07112dd60ed5ee3, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xc07112dd60edffff, rs 0xc07112dd60ed5ee3, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffad2f2dff, rs 0xffffffffad2f2d84, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffad2fffff, rs 0xffffffffad2f2d84, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffad2f2da7, rs 0xffffffffad2f2d84, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xc4c770f630dccaff, rs 0xc4c770f630dcca5a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xc4c770f630dcffff, rs 0xc4c770f630dcca5a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xc4c770f630dcca7b, rs 0xc4c770f630dcca5a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffa9ee30ff, rs 0xffffffffa9ee3033, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffa9eeffff, rs 0xffffffffa9ee3033, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xdfec2b2383cd52ff, rs 0xdfec2b2383cd5277, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xdfec2b2383cdffff, rs 0xdfec2b2383cd5277, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffa4ad16ff, rs 0xffffffffa4ad16ea, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffa4adffff, rs 0xffffffffa4ad16ea, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffa4ad16eb, rs 0xffffffffa4ad16ea, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd3adba260ff7d9ff, rs 0xd3adba260ff7d96b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd3adba260ff7ffff, rs 0xd3adba260ff7d96b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffa06c0bff, rs 0xffffffffa06c0b5d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffa06cffff, rs 0xffffffffa06c0b5d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffa06c0b7f, rs 0xffffffffa06c0b5d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4ab4aa798418c0ff, rs 0x4ab4aa798418c00e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4ab4aa798418ffff, rs 0x4ab4aa798418c00e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4ab4aa798418c02f, rs 0x4ab4aa798418c00e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffd4326dff, rs 0xffffffffd4326d90, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffd432ffff, rs 0xffffffffd4326d90, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffd4326db3, rs 0xffffffffd4326d90, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xbb8c035e0de0f0ff, rs 0xbb8c035e0de0f0b8, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xbb8c035e0de0ffff, rs 0xbb8c035e0de0f0b8, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xbb8c035e0de0f0bb, rs 0xbb8c035e0de0f0b8, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffd0f370ff, rs 0xffffffffd0f37027, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffd0f3ffff, rs 0xffffffffd0f37027, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x33b06f54a97fdcff, rs 0x33b06f54a97fdcf1, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x33b06f54a97fffff, rs 0x33b06f54a97fdcf1, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x33b06f54a97fdcf3, rs 0x33b06f54a97fdcf1, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffddb056ff, rs 0xffffffffddb056fe, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffddb0ffff, rs 0xffffffffddb056fe, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffddb056ff, rs 0xffffffffddb056fe, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x77433f373fd1c0ff, rs 0x77433f373fd1c081, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x77433f373fd1ffff, rs 0x77433f373fd1c081, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x77433f373fd1c0a3, rs 0x77433f373fd1c081, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffd9714bff, rs 0xffffffffd9714b49, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffd971ffff, rs 0xffffffffd9714b49, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffd9714b6b, rs 0xffffffffd9714b49, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xec91d993c92195ff, rs 0xec91d993c92195e4, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xec91d993c921ffff, rs 0xec91d993c92195e4, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xec91d993c92195e7, rs 0xec91d993c92195e4, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffc7361bff, rs 0xffffffffc7361b4c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffc736ffff, rs 0xffffffffc7361b4c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffc7361b6f, rs 0xffffffffc7361b4c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x49fbf6a795b1a5ff, rs 0x49fbf6a795b1a5ab, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x49fbf6a795b1ffff, rs 0x49fbf6a795b1a5ab, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffc3f706ff, rs 0xffffffffc3f706fb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffc3f7ffff, rs 0xffffffffc3f706fb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x19364378c7ce8dff, rs 0x19364378c7ce8d1e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x19364378c7ceffff, rs 0x19364378c7ce8d1e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x19364378c7ce8d3f, rs 0x19364378c7ce8d1e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffceb420ff, rs 0xffffffffceb42022, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffceb4ffff, rs 0xffffffffceb42022, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffceb42023, rs 0xffffffffceb42022, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xb99e8def2f3849ff, rs 0xb99e8def2f384907, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xb99e8def2f38ffff, rs 0xb99e8def2f384907, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xb99e8def2f384927, rs 0xb99e8def2f384907, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffca753dff, rs 0xffffffffca753d95, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffca75ffff, rs 0xffffffffca753d95, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffca753db7, rs 0xffffffffca753d95, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x47eacdcd582b12ff, rs 0x47eacdcd582b12fe, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x47eacdcd582bffff, rs 0x47eacdcd582b12fe, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x47eacdcd582b12ff, rs 0x47eacdcd582b12fe, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffff23a80ff, rs 0xfffffffff23a8028, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffff23affff, rs 0xfffffffff23a8028, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffff23a802b, rs 0xfffffffff23a8028, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd685884e76558cff, rs 0xd685884e76558c4f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd685884e7655ffff, rs 0xd685884e76558c4f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd685884e76558c6f, rs 0xd685884e76558c4f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffff6fb9dff, rs 0xfffffffff6fb9d9f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffff6fbffff, rs 0xfffffffff6fb9d9f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffff6fb9dbf, rs 0xfffffffff6fb9d9f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x6168d62a34c195ff, rs 0x6168d62a34c195c7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6168d62a34c1ffff, rs 0x6168d62a34c195c7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x6168d62a34c195e7, rs 0x6168d62a34c195c7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffffbb8bbff, rs 0xfffffffffbb8bb46, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffffbb8ffff, rs 0xfffffffffbb8bb46, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffffbb8bb67, rs 0xfffffffffbb8bb46, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd30169894df474ff, rs 0xd30169894df47405, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd30169894df4ffff, rs 0xd30169894df47405, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd30169894df47427, rs 0xd30169894df47405, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffff79a6ff, rs 0xffffffffff79a6f1, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffff79ffff, rs 0xffffffffff79a6f1, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffff79a6f3, rs 0xffffffffff79a6f1, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1ca190bf6cbb06ff, rs 0x1ca190bf6cbb06db, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1ca190bf6cbbffff, rs 0x1ca190bf6cbb06db, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1ca190bf6cbb06fb, rs 0x1ca190bf6cbb06db, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffe13ef6ff, rs 0xffffffffe13ef6f4, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffe13effff, rs 0xffffffffe13ef6f4, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffe13ef6f7, rs 0xffffffffe13ef6f4, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x58300f029cae39ff, rs 0x58300f029cae393a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x58300f029caeffff, rs 0x58300f029cae393a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x58300f029cae393b, rs 0x58300f029cae393a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffe5ffebff, rs 0xffffffffe5ffeb43, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffe5ffffff, rs 0xffffffffe5ffeb43, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffe5ffeb63, rs 0xffffffffe5ffeb43, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x9a995fdbdc7ebcff, rs 0x9a995fdbdc7ebc2d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x9a995fdbdc7effff, rs 0x9a995fdbdc7ebc2d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x9a995fdbdc7ebc2f, rs 0x9a995fdbdc7ebc2d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffe8bccdff, rs 0xffffffffe8bccd9a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffe8bcffff, rs 0xffffffffe8bccd9a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffe8bccdbb, rs 0xffffffffe8bccd9a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x8a96047be3405bff, rs 0x8a96047be3405b48, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x8a96047be340ffff, rs 0x8a96047be3405b48, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x8a96047be3405b6b, rs 0x8a96047be3405b48, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffec7dd0ff, rs 0xffffffffec7dd02d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffec7dffff, rs 0xffffffffec7dd02d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffec7dd02f, rs 0xffffffffec7dd02d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x75bfafd2d519d3ff, rs 0x75bfafd2d519d322, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x75bfafd2d519ffff, rs 0x75bfafd2d519d322, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x75bfafd2d519d323, rs 0x75bfafd2d519d322, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x348670ff, rs 0x34867077, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3486ffff, rs 0x34867077, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x34867077, rs 0x34867077, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xde230867a630f6ff, rs 0xde230867a630f6ad, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xde230867a630ffff, rs 0xde230867a630f6ad, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xde230867a630f6af, rs 0xde230867a630f6ad, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x30476dff, rs 0x30476dc0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3047ffff, rs 0x30476dc0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x30476de3, rs 0x30476dc0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2c0a0cf2561032ff, rs 0x2c0a0cf256103260, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2c0a0cf25610ffff, rs 0x2c0a0cf256103260, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2c0a0cf256103263, rs 0x2c0a0cf256103260, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3d044bff, rs 0x3d044b19, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3d04ffff, rs 0x3d044b19, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3d044b3b, rs 0x3d044b19, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x94a90544249b18ff, rs 0x94a90544249b18ef, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x94a90544249bffff, rs 0x94a90544249b18ef, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x39c556ff, rs 0x39c556ae, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x39c5ffff, rs 0x39c556ae, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x39c556af, rs 0x39c556ae, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xf9519fb55b56fcff, rs 0xf9519fb55b56fcde, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xf9519fb55b56ffff, rs 0xf9519fb55b56fcde, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xf9519fb55b56fcff, rs 0xf9519fb55b56fcde, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x278206ff, rs 0x278206ab, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2782ffff, rs 0x278206ab, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x278206ab, rs 0x278206ab, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x81daf820046831ff, rs 0x81daf8200468319b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x81daf8200468ffff, rs 0x81daf8200468319b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x81daf820046831bb, rs 0x81daf8200468319b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x23431bff, rs 0x23431b1c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2343ffff, rs 0x23431b1c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x23431b3f, rs 0x23431b1c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x8c61ca5a5725f2ff, rs 0x8c61ca5a5725f2ec, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x8c61ca5a5725ffff, rs 0x8c61ca5a5725f2ec, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x8c61ca5a5725f2ef, rs 0x8c61ca5a5725f2ec, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2e003dff, rs 0x2e003dc5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2e00ffff, rs 0x2e003dc5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2e003de7, rs 0x2e003dc5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x8b95a6ddc25dc8ff, rs 0x8b95a6ddc25dc8bf, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x8b95a6ddc25dffff, rs 0x8b95a6ddc25dc8bf, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2ac120ff, rs 0x2ac12072, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2ac1ffff, rs 0x2ac12072, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2ac12073, rs 0x2ac12072, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x300ce751dac616ff, rs 0x300ce751dac6162f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x300ce751dac6ffff, rs 0x300ce751dac6162f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x128e9dff, rs 0x128e9dcf, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x128effff, rs 0x128e9dcf, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x128e9def, rs 0x128e9dcf, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x6778fdf3ba52a8ff, rs 0x6778fdf3ba52a850, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6778fdf3ba52ffff, rs 0x6778fdf3ba52a850, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x6778fdf3ba52a873, rs 0x6778fdf3ba52a850, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x164f80ff, rs 0x164f8078, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x164fffff, rs 0x164f8078, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x164f807b, rs 0x164f8078, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xad00b1f7da7847ff, rs 0xad00b1f7da78479f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xad00b1f7da78ffff, rs 0xad00b1f7da78479f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xad00b1f7da7847bf, rs 0xad00b1f7da78479f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1b0ca6ff, rs 0x1b0ca6a1, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1b0cffff, rs 0x1b0ca6a1, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1b0ca6a3, rs 0x1b0ca6a1, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x8d44168a6b6d9ff, rs 0x8d44168a6b6d98a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x8d44168a6b6ffff, rs 0x8d44168a6b6d98a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x8d44168a6b6d9ab, rs 0x8d44168a6b6d98a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1fcdbbff, rs 0x1fcdbb16, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1fcdffff, rs 0x1fcdbb16, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1fcdbb37, rs 0x1fcdbb16, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xf518381dce6344ff, rs 0xf518381dce634413, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xf518381dce63ffff, rs 0xf518381dce634413, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xf518381dce634433, rs 0xf518381dce634413, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x18aebff, rs 0x18aeb13, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x18affff, rs 0x18aeb13, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x18aeb33, rs 0x18aeb13, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xe4627f3fe5255fff, rs 0xe4627f3fe5255fc0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xe4627f3fe525ffff, rs 0xe4627f3fe5255fc0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xe4627f3fe5255fe3, rs 0xe4627f3fe5255fc0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x54bf6ff, rs 0x54bf6a4, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x54bffff, rs 0x54bf6a4, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x54bf6a7, rs 0x54bf6a4, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xccd392e176321fff, rs 0xccd392e176321f28, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xccd392e17632ffff, rs 0xccd392e176321f28, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xccd392e176321f2b, rs 0xccd392e176321f28, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x808d0ff, rs 0x808d07d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x808ffff, rs 0x808d07d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x808d07f, rs 0x808d07d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x829464944018fdff, rs 0x829464944018fd8f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x829464944018ffff, rs 0x829464944018fd8f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x829464944018fdaf, rs 0x829464944018fd8f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xcc9cdff, rs 0xcc9cdca, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xcc9ffff, rs 0xcc9cdca, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xcc9cdeb, rs 0xcc9cdca, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x15d3204052e8f0ff, rs 0x15d3204052e8f0e5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x15d3204052e8ffff, rs 0x15d3204052e8f0e5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x15d3204052e8f0e7, rs 0x15d3204052e8f0e5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7897abff, rs 0x7897ab07, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7897ffff, rs 0x7897ab07, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7897ab27, rs 0x7897ab07, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7caf83d2880ff3ff, rs 0x7caf83d2880ff344, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7caf83d2880fffff, rs 0x7caf83d2880ff344, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7caf83d2880ff367, rs 0x7caf83d2880ff344, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7c56b6ff, rs 0x7c56b6b0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7c56ffff, rs 0x7c56b6b0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7c56b6b3, rs 0x7c56b6b0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xf156a04c747defff, rs 0xf156a04c747defd7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xf156a04c747dffff, rs 0xf156a04c747defd7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xf156a04c747deff7, rs 0xf156a04c747defd7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x711590ff, rs 0x71159069, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7115ffff, rs 0x71159069, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7115906b, rs 0x71159069, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x93e2601c0f31d7ff, rs 0x93e2601c0f31d710, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x93e2601c0f31ffff, rs 0x93e2601c0f31d710, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x93e2601c0f31d733, rs 0x93e2601c0f31d710, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x75d48dff, rs 0x75d48dde, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x75d4ffff, rs 0x75d48dde, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x75d48dff, rs 0x75d48dde, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xe1e1a679131cd9ff, rs 0xe1e1a679131cd933, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xe1e1a679131cffff, rs 0xe1e1a679131cd933, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x6b93ddff, rs 0x6b93dddb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6b93ffff, rs 0x6b93dddb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x6b93ddfb, rs 0x6b93dddb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x24296b75a76fa4ff, rs 0x24296b75a76fa427, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x24296b75a76fffff, rs 0x24296b75a76fa427, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x6f52c0ff, rs 0x6f52c06c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6f52ffff, rs 0x6f52c06c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x6f52c06f, rs 0x6f52c06c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd296e2d2139ee5ff, rs 0xd296e2d2139ee56a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd296e2d2139effff, rs 0xd296e2d2139ee56a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd296e2d2139ee56b, rs 0xd296e2d2139ee56a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x6211e6ff, rs 0x6211e6b5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6211ffff, rs 0x6211e6b5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x6211e6b7, rs 0x6211e6b5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5a82447f6dc2a5ff, rs 0x5a82447f6dc2a5c0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5a82447f6dc2ffff, rs 0x5a82447f6dc2a5c0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5a82447f6dc2a5e3, rs 0x5a82447f6dc2a5c0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x66d0fbff, rs 0x66d0fb02, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x66d0ffff, rs 0x66d0fb02, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x66d0fb23, rs 0x66d0fb02, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x76c89e80c07dc1ff, rs 0x76c89e80c07dc168, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x76c89e80c07dffff, rs 0x76c89e80c07dc168, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x76c89e80c07dc16b, rs 0x76c89e80c07dc168, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5e9f46ff, rs 0x5e9f46bf, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5e9fffff, rs 0x5e9f46bf, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x70dc3454bfe34ff, rs 0x70dc3454bfe348f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x70dc3454bfeffff, rs 0x70dc3454bfe348f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x70dc3454bfe34af, rs 0x70dc3454bfe348f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5a5e5bff, rs 0x5a5e5b08, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5a5effff, rs 0x5a5e5b08, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5a5e5b2b, rs 0x5a5e5b08, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xbddc7123dd6d24ff, rs 0xbddc7123dd6d241b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xbddc7123dd6dffff, rs 0xbddc7123dd6d241b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xbddc7123dd6d243b, rs 0xbddc7123dd6d241b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x571d7dff, rs 0x571d7dd1, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x571dffff, rs 0x571d7dd1, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x571d7df3, rs 0x571d7dd1, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xf62fb727a59fceff, rs 0xf62fb727a59fcebe, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xf62fb727a59fffff, rs 0xf62fb727a59fcebe, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xf62fb727a59fcebf, rs 0xf62fb727a59fcebe, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x53dc60ff, rs 0x53dc6066, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x53dcffff, rs 0x53dc6066, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x53dc6067, rs 0x53dc6066, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x109f27e90f9f46ff, rs 0x109f27e90f9f46fb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x109f27e90f9fffff, rs 0x109f27e90f9f46fb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4d9b30ff, rs 0x4d9b3063, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4d9bffff, rs 0x4d9b3063, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3f63daa9afd199ff, rs 0x3f63daa9afd199d7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3f63daa9afd1ffff, rs 0x3f63daa9afd199d7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3f63daa9afd199f7, rs 0x3f63daa9afd199d7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x495a2dff, rs 0x495a2dd4, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x495affff, rs 0x495a2dd4, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x495a2df7, rs 0x495a2dd4, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xdbcb312ea3d484ff, rs 0xdbcb312ea3d484f2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xdbcb312ea3d4ffff, rs 0xdbcb312ea3d484f2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xdbcb312ea3d484f3, rs 0xdbcb312ea3d484f2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x44190bff, rs 0x44190b0d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4419ffff, rs 0x44190b0d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x44190b2f, rs 0x44190b0d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1f353faada4fe4ff, rs 0x1f353faada4fe4c6, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1f353faada4fffff, rs 0x1f353faada4fe4c6, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1f353faada4fe4e7, rs 0x1f353faada4fe4c6, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x40d816ff, rs 0x40d816ba, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x40d8ffff, rs 0x40d816ba, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x40d816bb, rs 0x40d816ba, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x8b086ee07150c2ff, rs 0x8b086ee07150c260, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x8b086ee07150ffff, rs 0x8b086ee07150c260, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x8b086ee07150c263, rs 0x8b086ee07150c260, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffaca5c6ff, rs 0xffffffffaca5c697, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffaca5ffff, rs 0xffffffffaca5c697, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffaca5c6b7, rs 0xffffffffaca5c697, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xe54750d5d9257fff, rs 0xe54750d5d9257f25, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xe54750d5d925ffff, rs 0xe54750d5d9257f25, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xe54750d5d9257f27, rs 0xe54750d5d9257f25, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffa864dbff, rs 0xffffffffa864db20, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffa864ffff, rs 0xffffffffa864db20, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffa864db23, rs 0xffffffffa864db20, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3d69625fe9a6dbff, rs 0x3d69625fe9a6db5b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3d69625fe9a6ffff, rs 0x3d69625fe9a6db5b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3d69625fe9a6db7b, rs 0x3d69625fe9a6db5b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffa527fdff, rs 0xffffffffa527fdf9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffa527ffff, rs 0xffffffffa527fdf9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffa527fdfb, rs 0xffffffffa527fdf9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x70a3e0424340acff, rs 0x70a3e0424340ac96, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x70a3e0424340ffff, rs 0x70a3e0424340ac96, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x70a3e0424340acb7, rs 0x70a3e0424340ac96, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffa1e6e0ff, rs 0xffffffffa1e6e04e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffa1e6ffff, rs 0xffffffffa1e6e04e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffa1e6e06f, rs 0xffffffffa1e6e04e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xc0478f03698017ff, rs 0xc0478f036980171e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xc0478f036980ffff, rs 0xc0478f036980171e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xc0478f036980173f, rs 0xc0478f036980171e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffbfa1b0ff, rs 0xffffffffbfa1b04b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffbfa1ffff, rs 0xffffffffbfa1b04b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffbfa1b06b, rs 0xffffffffbfa1b04b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3ce839a51cf929ff, rs 0x3ce839a51cf929e3, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3ce839a51cf9ffff, rs 0x3ce839a51cf929e3, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffbb60adff, rs 0xffffffffbb60adfc, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffbb60ffff, rs 0xffffffffbb60adfc, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffbb60adff, rs 0xffffffffbb60adfc, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xe2fbfa895eb689ff, rs 0xe2fbfa895eb68958, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xe2fbfa895eb6ffff, rs 0xe2fbfa895eb68958, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xe2fbfa895eb6897b, rs 0xe2fbfa895eb68958, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffb6238bff, rs 0xffffffffb6238b25, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffb623ffff, rs 0xffffffffb6238b25, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffb6238b27, rs 0xffffffffb6238b25, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd24bb05d76ed25ff, rs 0xd24bb05d76ed25b7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd24bb05d76edffff, rs 0xd24bb05d76ed25b7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffb2e296ff, rs 0xffffffffb2e29692, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffb2e2ffff, rs 0xffffffffb2e29692, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffb2e296b3, rs 0xffffffffb2e29692, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xeb9682c170312ff, rs 0xeb9682c170312f1, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xeb9682c1703ffff, rs 0xeb9682c170312f1, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xeb9682c170312f3, rs 0xeb9682c170312f1, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff8aad2bff, rs 0xffffffff8aad2b2f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff8aadffff, rs 0xffffffff8aad2b2f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x84785280dd301dff, rs 0x84785280dd301d0d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x84785280dd30ffff, rs 0x84785280dd301d0d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x84785280dd301d2f, rs 0x84785280dd301d0d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x179c77aa1f8fd6ff, rs 0x179c77aa1f8fd6ef, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x179c77aa1f8fffff, rs 0x179c77aa1f8fd6ef, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x26444ced299843ff, rs 0x26444ced2998436d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x26444ced2998ffff, rs 0x26444ced2998436d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x26444ced2998436f, rs 0x26444ced2998436d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff87ee0dff, rs 0xffffffff87ee0df6, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff87eeffff, rs 0xffffffff87ee0df6, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff87ee0df7, rs 0xffffffff87ee0df6, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7175c9dd58ca7ff, rs 0x7175c9dd58ca708, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7175c9dd58cffff, rs 0x7175c9dd58ca708, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7175c9dd58ca72b, rs 0x7175c9dd58ca708, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff99a95dff, rs 0xffffffff99a95df3, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff99a9ffff, rs 0xffffffff99a95df3, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x663d0610558332ff, rs 0x663d061055833287, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x663d06105583ffff, rs 0x663d061055833287, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x663d0610558332a7, rs 0x663d061055833287, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff9d6840ff, rs 0xffffffff9d684044, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff9d68ffff, rs 0xffffffff9d684044, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff9d684067, rs 0xffffffff9d684044, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xab7dd0488951d6ff, rs 0xab7dd0488951d68b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xab7dd0488951ffff, rs 0xab7dd0488951d68b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xab7dd0488951d6ab, rs 0xab7dd0488951d68b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff902b66ff, rs 0xffffffff902b669d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff902bffff, rs 0xffffffff902b669d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff902b66bf, rs 0xffffffff902b669d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xf69823670e8247ff, rs 0xf69823670e82471b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xf69823670e82ffff, rs 0xf69823670e82471b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xf69823670e82473b, rs 0xf69823670e82471b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff94ea7bff, rs 0xffffffff94ea7b2a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff94eaffff, rs 0xffffffff94ea7b2a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff94ea7b2b, rs 0xffffffff94ea7b2a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x36886c59d98d26ff, rs 0x36886c59d98d26b2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x36886c59d98dffff, rs 0x36886c59d98d26b2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x36886c59d98d26b3, rs 0x36886c59d98d26b2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffe0b41dff, rs 0xffffffffe0b41de7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffe0b4ffff, rs 0xffffffffe0b41de7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x9ca4bdbd32be4ff, rs 0x9ca4bdbd32be479, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x9ca4bdbd32bffff, rs 0x9ca4bdbd32be479, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x9ca4bdbd32be47b, rs 0x9ca4bdbd32be479, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffe47500ff, rs 0xffffffffe4750050, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffe475ffff, rs 0xffffffffe4750050, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffe4750073, rs 0xffffffffe4750050, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfd5d7d1d9962e6ff, rs 0xfd5d7d1d9962e61f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfd5d7d1d9962ffff, rs 0xfd5d7d1d9962e61f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfd5d7d1d9962e63f, rs 0xfd5d7d1d9962e61f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffe93626ff, rs 0xffffffffe9362689, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffe936ffff, rs 0xffffffffe9362689, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffe93626ab, rs 0xffffffffe9362689, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3f46553ecad374ff, rs 0x3f46553ecad374df, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3f46553ecad3ffff, rs 0x3f46553ecad374df, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3f46553ecad374ff, rs 0x3f46553ecad374df, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffedf73bff, rs 0xffffffffedf73b3e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffedf7ffff, rs 0xffffffffedf73b3e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffedf73b3f, rs 0xffffffffedf73b3e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2e9ab97d3eedf2ff, rs 0x2e9ab97d3eedf2a7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2e9ab97d3eedffff, rs 0x2e9ab97d3eedf2a7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffff3b06bff, rs 0xfffffffff3b06b3b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffff3b0ffff, rs 0xfffffffff3b06b3b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x36a6f7fa3c0c9fff, rs 0x36a6f7fa3c0c9f33, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x36a6f7fa3c0cffff, rs 0x36a6f7fa3c0c9f33, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffff77176ff, rs 0xfffffffff771768c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffff771ffff, rs 0xfffffffff771768c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffff77176af, rs 0xfffffffff771768c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x8bb938e3155ec9ff, rs 0x8bb938e3155ec9dc, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x8bb938e3155effff, rs 0x8bb938e3155ec9dc, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x8bb938e3155ec9ff, rs 0x8bb938e3155ec9dc, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffffa3250ff, rs 0xfffffffffa325055, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffffa32ffff, rs 0xfffffffffa325055, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffffa325077, rs 0xfffffffffa325055, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd2df25c4194782ff, rs 0xd2df25c419478206, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd2df25c41947ffff, rs 0xd2df25c419478206, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd2df25c419478227, rs 0xd2df25c419478206, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffffef34dff, rs 0xfffffffffef34de2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffffef3ffff, rs 0xfffffffffef34de2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffffef34de3, rs 0xfffffffffef34de2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xbc65bf27eb3218ff, rs 0xbc65bf27eb321825, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xbc65bf27eb32ffff, rs 0xbc65bf27eb321825, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xbc65bf27eb321827, rs 0xbc65bf27eb321825, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffc6bcf0ff, rs 0xffffffffc6bcf05f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffc6bcffff, rs 0xffffffffc6bcf05f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffc6bcf07f, rs 0xffffffffc6bcf05f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xa8b08fe67a8bc7ff, rs 0xa8b08fe67a8bc7da, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xa8b08fe67a8bffff, rs 0xa8b08fe67a8bc7da, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xa8b08fe67a8bc7fb, rs 0xa8b08fe67a8bc7da, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffc27dedff, rs 0xffffffffc27dede8, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffc27dffff, rs 0xffffffffc27dede8, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffc27dedeb, rs 0xffffffffc27dede8, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x852b5bcaf8dfcdff, rs 0x852b5bcaf8dfcde8, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x852b5bcaf8dfffff, rs 0x852b5bcaf8dfcde8, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x852b5bcaf8dfcdeb, rs 0x852b5bcaf8dfcde8, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffcf3ecbff, rs 0xffffffffcf3ecb31, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffcf3effff, rs 0xffffffffcf3ecb31, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffcf3ecb33, rs 0xffffffffcf3ecb31, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x478909b59a992ff, rs 0x478909b59a99269, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x478909b59a9ffff, rs 0x478909b59a99269, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x478909b59a9926b, rs 0x478909b59a99269, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffcbffd6ff, rs 0xffffffffcbffd686, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffcbffffff, rs 0xffffffffcbffd686, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffcbffd6a7, rs 0xffffffffcbffd686, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xbfb31cc8785736ff, rs 0xbfb31cc87857360f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xbfb31cc87857ffff, rs 0xbfb31cc87857360f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xbfb31cc87857362f, rs 0xbfb31cc87857360f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffd5b886ff, rs 0xffffffffd5b88683, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffd5b8ffff, rs 0xffffffffd5b88683, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffd5b886a3, rs 0xffffffffd5b88683, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xb665ed5e7f89e9ff, rs 0xb665ed5e7f89e9a2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xb665ed5e7f89ffff, rs 0xb665ed5e7f89e9a2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xb665ed5e7f89e9a3, rs 0xb665ed5e7f89e9a2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffd1799bff, rs 0xffffffffd1799b34, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffd179ffff, rs 0xffffffffd1799b34, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffd1799b37, rs 0xffffffffd1799b34, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x15da9474b7a8d5ff, rs 0x15da9474b7a8d5e4, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x15da9474b7a8ffff, rs 0x15da9474b7a8d5e4, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x15da9474b7a8d5e7, rs 0x15da9474b7a8d5e4, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffdc3abdff, rs 0xffffffffdc3abded, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffdc3affff, rs 0xffffffffdc3abded, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffdc3abdef, rs 0xffffffffdc3abded, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xf6b3537d2af90fff, rs 0xf6b3537d2af90fcc, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xf6b3537d2af9ffff, rs 0xf6b3537d2af90fcc, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xf6b3537d2af90fef, rs 0xf6b3537d2af90fcc, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffd8fba0ff, rs 0xffffffffd8fba05a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffd8fbffff, rs 0xffffffffd8fba05a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffd8fba07b, rs 0xffffffffd8fba05a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x223d7cfe2b9618ff, rs 0x223d7cfe2b961897, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x223d7cfe2b96ffff, rs 0x223d7cfe2b961897, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x223d7cfe2b9618b7, rs 0x223d7cfe2b961897, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x690ce0ff, rs 0x690ce0ee, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x690cffff, rs 0x690ce0ee, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x690ce0ef, rs 0x690ce0ee, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x420b34f533734aff, rs 0x420b34f533734a4b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x420b34f53373ffff, rs 0x420b34f533734a4b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x420b34f533734a6b, rs 0x420b34f533734a4b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x6dcdfdff, rs 0x6dcdfd59, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6dcdffff, rs 0x6dcdfd59, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x6dcdfd7b, rs 0x6dcdfd59, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x897c8c8ddd46b3ff, rs 0x897c8c8ddd46b33c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x897c8c8ddd46ffff, rs 0x897c8c8ddd46b33c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x897c8c8ddd46b33f, rs 0x897c8c8ddd46b33c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x608edbff, rs 0x608edb80, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x608effff, rs 0x608edb80, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x608edba3, rs 0x608edb80, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7a387445e392ccff, rs 0x7a387445e392ccd9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7a387445e392ffff, rs 0x7a387445e392ccd9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7a387445e392ccfb, rs 0x7a387445e392ccd9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x644fc6ff, rs 0x644fc637, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x644fffff, rs 0x644fc637, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x644fc637, rs 0x644fc637, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x512f29b1d80000ff, rs 0x512f29b1d80000c9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x512f29b1d800ffff, rs 0x512f29b1d80000c9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x512f29b1d80000eb, rs 0x512f29b1d80000c9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7a0896ff, rs 0x7a089632, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7a08ffff, rs 0x7a089632, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7a089633, rs 0x7a089632, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xeaded5c53dad02ff, rs 0xeaded5c53dad020a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xeaded5c53dadffff, rs 0xeaded5c53dad020a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xeaded5c53dad022b, rs 0xeaded5c53dad020a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7ec98bff, rs 0x7ec98b85, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7ec9ffff, rs 0x7ec98b85, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7ec98ba7, rs 0x7ec98b85, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x8a6229d731eea3ff, rs 0x8a6229d731eea35b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x8a6229d731eeffff, rs 0x8a6229d731eea35b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x8a6229d731eea37b, rs 0x8a6229d731eea35b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x738aadff, rs 0x738aad5c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x738affff, rs 0x738aad5c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x738aad7f, rs 0x738aad5c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2c3c3f9e489856ff, rs 0x2c3c3f9e48985649, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2c3c3f9e4898ffff, rs 0x2c3c3f9e48985649, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2c3c3f9e4898566b, rs 0x2c3c3f9e48985649, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x774bb0ff, rs 0x774bb0eb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x774bffff, rs 0x774bb0eb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7ff61e78dc9c0bff, rs 0x7ff61e78dc9c0b77, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7ff61e78dc9cffff, rs 0x7ff61e78dc9c0b77, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4f040dff, rs 0x4f040d56, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4f04ffff, rs 0x4f040d56, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4f040d77, rs 0x4f040d56, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2299b0e01d5e68ff, rs 0x2299b0e01d5e68ec, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2299b0e01d5effff, rs 0x2299b0e01d5e68ec, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2299b0e01d5e68ef, rs 0x2299b0e01d5e68ec, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4bc510ff, rs 0x4bc510e1, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4bc5ffff, rs 0x4bc510e1, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4bc510e3, rs 0x4bc510e1, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7c3b04673d0c6eff, rs 0x7c3b04673d0c6e25, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7c3b04673d0cffff, rs 0x7c3b04673d0c6e25, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7c3b04673d0c6e27, rs 0x7c3b04673d0c6e25, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x468636ff, rs 0x46863638, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4686ffff, rs 0x46863638, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4686363b, rs 0x46863638, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x164e17c1e7fb65ff, rs 0x164e17c1e7fb6587, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x164e17c1e7fbffff, rs 0x164e17c1e7fb6587, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x164e17c1e7fb65a7, rs 0x164e17c1e7fb6587, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x42472bff, rs 0x42472b8f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4247ffff, rs 0x42472b8f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x42472baf, rs 0x42472b8f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfa4ca28b56d495ff, rs 0xfa4ca28b56d4950b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfa4ca28b56d4ffff, rs 0xfa4ca28b56d4950b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfa4ca28b56d4952b, rs 0xfa4ca28b56d4950b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5c007bff, rs 0x5c007b8a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5c00ffff, rs 0x5c007b8a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5c007bab, rs 0x5c007b8a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xe5e9a314be7fa0ff, rs 0xe5e9a314be7fa08a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xe5e9a314be7fffff, rs 0xe5e9a314be7fa08a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xe5e9a314be7fa0ab, rs 0xe5e9a314be7fa08a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x58c166ff, rs 0x58c1663d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x58c1ffff, rs 0x58c1663d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x58c1663f, rs 0x58c1663d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xf8be8164159649ff, rs 0xf8be8164159649c5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xf8be81641596ffff, rs 0xf8be8164159649c5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xf8be8164159649e7, rs 0xf8be8164159649c5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x558240ff, rs 0x558240e4, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5582ffff, rs 0x558240e4, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x558240e7, rs 0x558240e4, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7ca3259784e69bff, rs 0x7ca3259784e69b17, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7ca3259784e6ffff, rs 0x7ca3259784e69b17, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7ca3259784e69b37, rs 0x7ca3259784e69b17, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x51435dff, rs 0x51435d53, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5143ffff, rs 0x51435d53, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x51435d73, rs 0x51435d53, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfc8d543ca1f24fff, rs 0xfc8d543ca1f24f5c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfc8d543ca1f2ffff, rs 0xfc8d543ca1f24f5c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfc8d543ca1f24f7f, rs 0xfc8d543ca1f24f5c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x251d3bff, rs 0x251d3b9e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x251dffff, rs 0x251d3b9e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x251d3bbf, rs 0x251d3b9e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4aeb6ca0e3459eff, rs 0x4aeb6ca0e3459e36, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4aeb6ca0e345ffff, rs 0x4aeb6ca0e3459e36, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4aeb6ca0e3459e37, rs 0x4aeb6ca0e3459e36, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x21dc26ff, rs 0x21dc2629, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x21dcffff, rs 0x21dc2629, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x21dc262b, rs 0x21dc2629, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xc532e18e187980ff, rs 0xc532e18e187980fa, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xc532e18e1879ffff, rs 0xc532e18e187980fa, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xc532e18e187980fb, rs 0xc532e18e187980fa, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2c9f00ff, rs 0x2c9f00f0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2c9fffff, rs 0x2c9f00f0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2c9f00f3, rs 0x2c9f00f0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xb3fdec294f287dff, rs 0xb3fdec294f287d1c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xb3fdec294f28ffff, rs 0xb3fdec294f287d1c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xb3fdec294f287d3f, rs 0xb3fdec294f287d1c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x285e1dff, rs 0x285e1d47, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x285effff, rs 0x285e1d47, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x285e1d67, rs 0x285e1d47, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xb620660a49732bff, rs 0xb620660a49732b90, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xb620660a4973ffff, rs 0xb620660a49732b90, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xb620660a49732bb3, rs 0xb620660a49732b90, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x36194dff, rs 0x36194d42, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3619ffff, rs 0x36194d42, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x36194d63, rs 0x36194d42, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x993138f16cfde9ff, rs 0x993138f16cfde991, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x993138f16cfdffff, rs 0x993138f16cfde991, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x993138f16cfde9b3, rs 0x993138f16cfde991, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x32d850ff, rs 0x32d850f5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x32d8ffff, rs 0x32d850f5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x32d850f7, rs 0x32d850f5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xde02d1337d5407ff, rs 0xde02d1337d5407b9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xde02d1337d54ffff, rs 0xde02d1337d5407b9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xde02d1337d5407bb, rs 0xde02d1337d5407b9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3f9b76ff, rs 0x3f9b762c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3f9bffff, rs 0x3f9b762c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3f9b762f, rs 0x3f9b762c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x13a390e1e1dab1ff, rs 0x13a390e1e1dab15a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x13a390e1e1daffff, rs 0x13a390e1e1dab15a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x13a390e1e1dab17b, rs 0x13a390e1e1dab15a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3b5a6bff, rs 0x3b5a6b9b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3b5affff, rs 0x3b5a6b9b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3b5a6bbb, rs 0x3b5a6b9b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x743491a6828716ff, rs 0x743491a6828716c8, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x743491a68287ffff, rs 0x743491a6828716c8, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x743491a6828716eb, rs 0x743491a6828716c8, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x315d6ff, rs 0x315d626, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x315ffff, rs 0x315d626, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x315d627, rs 0x315d626, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x8cff404aede292ff, rs 0x8cff404aede292f2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x8cff404aede2ffff, rs 0x8cff404aede292f2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x8cff404aede292f3, rs 0x8cff404aede292f2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7d4cbff, rs 0x7d4cb91, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7d4ffff, rs 0x7d4cb91, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7d4cbb3, rs 0x7d4cb91, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xb9cec0db1f8376ff, rs 0xb9cec0db1f837636, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xb9cec0db1f83ffff, rs 0xb9cec0db1f837636, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xb9cec0db1f837637, rs 0xb9cec0db1f837636, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xa97edff, rs 0xa97ed48, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xa97ffff, rs 0xa97ed48, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xa97ed6b, rs 0xa97ed48, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2eaa5aa7050977ff, rs 0x2eaa5aa70509771c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2eaa5aa70509ffff, rs 0x2eaa5aa70509771c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2eaa5aa70509773f, rs 0x2eaa5aa70509771c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xe56ffff, rs 0xe56f0ff, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd327538e187524ff, rs 0xd327538e1875241b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd327538e1875ffff, rs 0xd327538e1875241b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd327538e1875243b, rs 0xd327538e1875241b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1011a0ff, rs 0x1011a0fa, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1011ffff, rs 0x1011a0fa, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1011a0fb, rs 0x1011a0fa, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x42e9f8548b739bff, rs 0x42e9f8548b739b6b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x42e9f8548b73ffff, rs 0x42e9f8548b739b6b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x14d0bdff, rs 0x14d0bd4d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x14d0ffff, rs 0x14d0bd4d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x14d0bd6f, rs 0x14d0bd4d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x78e4e50ceccbbaff, rs 0x78e4e50ceccbba1a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x78e4e50ceccbffff, rs 0x78e4e50ceccbba1a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x78e4e50ceccbba3b, rs 0x78e4e50ceccbba1a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x19939bff, rs 0x19939b94, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1993ffff, rs 0x19939b94, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x19939bb7, rs 0x19939b94, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xf6b6fa3fcd9d27ff, rs 0xf6b6fa3fcd9d27cb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xf6b6fa3fcd9dffff, rs 0xf6b6fa3fcd9d27cb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xf6b6fa3fcd9d27eb, rs 0xf6b6fa3fcd9d27cb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1d5286ff, rs 0x1d528623, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1d52ffff, rs 0x1d528623, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1d528623, rs 0x1d528623, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x73916483ae3e94ff, rs 0x73916483ae3e9423, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x73916483ae3effff, rs 0x73916483ae3e9423, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffff12f56ff, rs 0xfffffffff12f560e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffff12fffff, rs 0xfffffffff12f560e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffff12f562f, rs 0xfffffffff12f560e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x276af70a0e1285ff, rs 0x276af70a0e128561, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x276af70a0e12ffff, rs 0x276af70a0e128561, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x276af70a0e128563, rs 0x276af70a0e128561, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffff5ee4bff, rs 0xfffffffff5ee4bb9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffff5eeffff, rs 0xfffffffff5ee4bb9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffff5ee4bbb, rs 0xfffffffff5ee4bb9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3045bf6b5e74bff, rs 0x3045bf6b5e74b6e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3045bf6b5e7ffff, rs 0x3045bf6b5e74b6e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3045bf6b5e74b6f, rs 0x3045bf6b5e74b6e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffff8ad6dff, rs 0xfffffffff8ad6d60, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffff8adffff, rs 0xfffffffff8ad6d60, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffff8ad6d63, rs 0xfffffffff8ad6d60, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x20223f1308accfff, rs 0x20223f1308accfa6, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x20223f1308acffff, rs 0x20223f1308accfa6, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x20223f1308accfa7, rs 0x20223f1308accfa6, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffffc6c70ff, rs 0xfffffffffc6c70d7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffffc6cffff, rs 0xfffffffffc6c70d7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffffc6c70f7, rs 0xfffffffffc6c70d7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xf83c55743976b5ff, rs 0xf83c55743976b5f5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xf83c55743976ffff, rs 0xf83c55743976b5f5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xf83c55743976b5f7, rs 0xf83c55743976b5f5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffe22b20ff, rs 0xffffffffe22b20d2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffe22bffff, rs 0xffffffffe22b20d2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffe22b20f3, rs 0xffffffffe22b20d2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1f9720f946923cff, rs 0x1f9720f946923c3d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1f9720f94692ffff, rs 0x1f9720f946923c3d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1f9720f946923c3f, rs 0x1f9720f946923c3d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffe6ea3dff, rs 0xffffffffe6ea3d65, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffe6eaffff, rs 0xffffffffe6ea3d65, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffe6ea3d67, rs 0xffffffffe6ea3d65, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x620d28506d2448ff, rs 0x620d28506d2448dd, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x620d28506d24ffff, rs 0x620d28506d2448dd, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x620d28506d2448ff, rs 0x620d28506d2448dd, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffeba91bff, rs 0xffffffffeba91bbc, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffeba9ffff, rs 0xffffffffeba91bbc, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffeba91bbf, rs 0xffffffffeba91bbc, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x60a521e99ff4a7ff, rs 0x60a521e99ff4a732, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x60a521e99ff4ffff, rs 0x60a521e99ff4a732, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x60a521e99ff4a733, rs 0x60a521e99ff4a732, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffef6806ff, rs 0xffffffffef68060b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffef68ffff, rs 0xffffffffef68060b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffef68062b, rs 0xffffffffef68060b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5a08f3ab5c680fff, rs 0x5a08f3ab5c680f0b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5a08f3ab5c68ffff, rs 0x5a08f3ab5c680f0b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5a08f3ab5c680f2b, rs 0x5a08f3ab5c680f0b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffd727bbff, rs 0xffffffffd727bbb6, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffd727ffff, rs 0xffffffffd727bbb6, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffd727bbb7, rs 0xffffffffd727bbb6, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xc7a59be7800f3dff, rs 0xc7a59be7800f3d26, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xc7a59be7800fffff, rs 0xc7a59be7800f3d26, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xc7a59be7800f3d27, rs 0xc7a59be7800f3d26, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffd3e6a6ff, rs 0xffffffffd3e6a601, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffd3e6ffff, rs 0xffffffffd3e6a601, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffd3e6a623, rs 0xffffffffd3e6a601, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1aecdf2982ca1bff, rs 0x1aecdf2982ca1b41, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1aecdf2982caffff, rs 0x1aecdf2982ca1b41, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1aecdf2982ca1b63, rs 0x1aecdf2982ca1b41, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffdea580ff, rs 0xffffffffdea580d8, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffdea5ffff, rs 0xffffffffdea580d8, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffdea580fb, rs 0xffffffffdea580d8, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2b8613a260d19dff, rs 0x2b8613a260d19dcd, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2b8613a260d1ffff, rs 0x2b8613a260d19dcd, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2b8613a260d19def, rs 0x2b8613a260d19dcd, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffda649dff, rs 0xffffffffda649d6f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffda64ffff, rs 0xffffffffda649d6f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2518ac8b0e8bbeff, rs 0x2518ac8b0e8bbe7f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2518ac8b0e8bffff, rs 0x2518ac8b0e8bbe7f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffc423cdff, rs 0xffffffffc423cd6a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffc423ffff, rs 0xffffffffc423cd6a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffc423cd6b, rs 0xffffffffc423cd6a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x743e568d2fcf48ff, rs 0x743e568d2fcf486b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x743e568d2fcfffff, rs 0x743e568d2fcf486b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x126f646f34c317ff, rs 0x126f646f34c31728, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x126f646f34c3ffff, rs 0x126f646f34c31728, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x126f646f34c3172b, rs 0x126f646f34c31728, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffcda1f6ff, rs 0xffffffffcda1f604, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffcda1ffff, rs 0xffffffffcda1f604, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffcda1f627, rs 0xffffffffcda1f604, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xaab0196156fc4dff, rs 0xaab0196156fc4d12, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xaab0196156fcffff, rs 0xaab0196156fc4d12, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xaab0196156fc4d33, rs 0xaab0196156fc4d12, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7535cd338595d3ff, rs 0x7535cd338595d342, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7535cd338595ffff, rs 0x7535cd338595d342, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7535cd338595d363, rs 0x7535cd338595d342, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffbd3e8dff, rs 0xffffffffbd3e8d7e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffbd3effff, rs 0xffffffffbd3e8d7e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffbd3e8d7f, rs 0xffffffffbd3e8d7e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xdfb254da422346ff, rs 0xdfb254da422346ec, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xdfb254da4223ffff, rs 0xdfb254da422346ec, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xdfb254da422346ef, rs 0xdfb254da422346ec, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffb9ff90ff, rs 0xffffffffb9ff90c9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffb9ffffff, rs 0xffffffffb9ff90c9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffb9ff90eb, rs 0xffffffffb9ff90c9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xa86726c90081abff, rs 0xa86726c90081ab2a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xa86726c90081ffff, rs 0xa86726c90081ab2a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xa86726c90081ab2b, rs 0xa86726c90081ab2a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffb4bcb6ff, rs 0xffffffffb4bcb610, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffb4bcffff, rs 0xffffffffb4bcb610, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffb4bcb633, rs 0xffffffffb4bcb610, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x9bfeffa1679d74ff, rs 0x9bfeffa1679d7438, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x9bfeffa1679dffff, rs 0x9bfeffa1679d7438, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x9bfeffa1679d743b, rs 0x9bfeffa1679d7438, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffb07dabff, rs 0xffffffffb07daba7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffb07dffff, rs 0xffffffffb07daba7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xc7699826b7dee2ff, rs 0xc7699826b7dee244, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xc7699826b7deffff, rs 0xc7699826b7dee244, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xc7699826b7dee267, rs 0xc7699826b7dee244, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffae3afbff, rs 0xffffffffae3afba2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffae3affff, rs 0xffffffffae3afba2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffae3afba3, rs 0xffffffffae3afba2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3c07af97fba670ff, rs 0x3c07af97fba6704a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3c07af97fba6ffff, rs 0x3c07af97fba6704a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3c07af97fba6706b, rs 0x3c07af97fba6704a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffaafbe6ff, rs 0xffffffffaafbe615, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffaafbffff, rs 0xffffffffaafbe615, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffaafbe637, rs 0xffffffffaafbe615, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x521364dc04c58bff, rs 0x521364dc04c58bfe, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x521364dc04c5ffff, rs 0x521364dc04c58bfe, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x521364dc04c58bff, rs 0x521364dc04c58bfe, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffa7b8c0ff, rs 0xffffffffa7b8c0cc, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffa7b8ffff, rs 0xffffffffa7b8c0cc, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffa7b8c0ef, rs 0xffffffffa7b8c0cc, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xe0f7bb589ab7aeff, rs 0xe0f7bb589ab7aebc, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xe0f7bb589ab7ffff, rs 0xe0f7bb589ab7aebc, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xe0f7bb589ab7aebf, rs 0xe0f7bb589ab7aebc, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffa379ddff, rs 0xffffffffa379dd7b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffa379ffff, rs 0xffffffffa379dd7b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xe336c60cdeeb95ff, rs 0xe336c60cdeeb954d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xe336c60cdeebffff, rs 0xe336c60cdeeb954d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xe336c60cdeeb956f, rs 0xe336c60cdeeb954d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff9b3660ff, rs 0xffffffff9b3660c6, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff9b36ffff, rs 0xffffffff9b3660c6, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff9b3660e7, rs 0xffffffff9b3660c6, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd5b2120c6f5241ff, rs 0xd5b2120c6f52416e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd5b2120c6f52ffff, rs 0xd5b2120c6f52416e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd5b2120c6f52416f, rs 0xd5b2120c6f52416e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff9ff77dff, rs 0xffffffff9ff77d71, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff9ff7ffff, rs 0xffffffff9ff77d71, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff9ff77d73, rs 0xffffffff9ff77d71, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x85a2d4ff7e628aff, rs 0x85a2d4ff7e628a34, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x85a2d4ff7e62ffff, rs 0x85a2d4ff7e628a34, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x85a2d4ff7e628a37, rs 0x85a2d4ff7e628a34, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff92b45bff, rs 0xffffffff92b45ba8, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff92b4ffff, rs 0xffffffff92b45ba8, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff92b45bab, rs 0xffffffff92b45ba8, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x986a2b654a4e7eff, rs 0x986a2b654a4e7e07, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x986a2b654a4effff, rs 0x986a2b654a4e7e07, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x986a2b654a4e7e27, rs 0x986a2b654a4e7e07, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff967546ff, rs 0xffffffff9675461f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff9675ffff, rs 0xffffffff9675461f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff9675463f, rs 0xffffffff9675461f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xa974eac43a489bff, rs 0xa974eac43a489b55, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xa974eac43a48ffff, rs 0xa974eac43a489b55, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xa974eac43a489b77, rs 0xa974eac43a489b55, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff883216ff, rs 0xffffffff8832161a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff8832ffff, rs 0xffffffff8832161a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff8832163b, rs 0xffffffff8832161a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xa388c16272f1f8ff, rs 0xa388c16272f1f8f5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xa388c16272f1ffff, rs 0xa388c16272f1f8f5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xa388c16272f1f8f7, rs 0xa388c16272f1f8f5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff8cf30bff, rs 0xffffffff8cf30bad, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff8cf3ffff, rs 0xffffffff8cf30bad, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff8cf30baf, rs 0xffffffff8cf30bad, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xe8c11f45e7495eff, rs 0xe8c11f45e7495ea9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xe8c11f45e749ffff, rs 0xe8c11f45e7495ea9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xe8c11f45e7495eab, rs 0xe8c11f45e7495ea9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff81b02dff, rs 0xffffffff81b02d74, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff81b0ffff, rs 0xffffffff81b02d74, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff81b02d77, rs 0xffffffff81b02d74, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xadaa5a765cc1c8ff, rs 0xadaa5a765cc1c8b4, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xadaa5a765cc1ffff, rs 0xadaa5a765cc1c8b4, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xadaa5a765cc1c8b7, rs 0xadaa5a765cc1c8b4, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff857130ff, rs 0xffffffff857130c3, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff8571ffff, rs 0xffffffff857130c3, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff857130e3, rs 0xffffffff857130c3, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7ab4ce88dfa605ff, rs 0x7ab4ce88dfa605c0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7ab4ce88dfa6ffff, rs 0x7ab4ce88dfa605c0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7ab4ce88dfa605e3, rs 0x7ab4ce88dfa605c0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5d8a90ff, rs 0x5d8a9099, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5d8affff, rs 0x5d8a9099, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5d8a90bb, rs 0x5d8a9099, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xb42ad6e659a7b0ff, rs 0xb42ad6e659a7b04f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xb42ad6e659a7ffff, rs 0xb42ad6e659a7b04f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xb42ad6e659a7b06f, rs 0xb42ad6e659a7b04f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x594b8dff, rs 0x594b8d2e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x594bffff, rs 0x594b8d2e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x594b8d2f, rs 0x594b8d2e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4bf8485ab72892ff, rs 0x4bf8485ab728922f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4bf8485ab728ffff, rs 0x4bf8485ab728922f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5408abff, rs 0x5408abf7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5408ffff, rs 0x5408abf7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x76a3d60c3b66a7ff, rs 0x76a3d60c3b66a7fb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x76a3d60c3b66ffff, rs 0x76a3d60c3b66a7fb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x50c9b6ff, rs 0x50c9b640, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x50c9ffff, rs 0x50c9b640, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x50c9b663, rs 0x50c9b640, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x31e0c6affdc28eff, rs 0x31e0c6affdc28eda, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x31e0c6affdc2ffff, rs 0x31e0c6affdc28eda, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x31e0c6affdc28efb, rs 0x31e0c6affdc28eda, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4e8ee6ff, rs 0x4e8ee645, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4e8effff, rs 0x4e8ee645, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4e8ee667, rs 0x4e8ee645, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x53606bb4bf0c99ff, rs 0x53606bb4bf0c999d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x53606bb4bf0cffff, rs 0x53606bb4bf0c999d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x53606bb4bf0c99bf, rs 0x53606bb4bf0c999d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4a4ffbff, rs 0x4a4ffbf2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4a4fffff, rs 0x4a4ffbf2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4a4ffbf3, rs 0x4a4ffbf2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x32fc12c81b7919ff, rs 0x32fc12c81b7919f0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x32fc12c81b79ffff, rs 0x32fc12c81b7919f0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x32fc12c81b7919f3, rs 0x32fc12c81b7919f0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x470cddff, rs 0x470cdd2b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x470cffff, rs 0x470cdd2b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3ef88384c72efcff, rs 0x3ef88384c72efcd6, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3ef88384c72effff, rs 0x3ef88384c72efcd6, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3ef88384c72efcf7, rs 0x3ef88384c72efcd6, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x43cdc0ff, rs 0x43cdc09c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x43cdffff, rs 0x43cdc09c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x43cdc0bf, rs 0x43cdc09c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x38b1c7bb6a2a35ff, rs 0x38b1c7bb6a2a3580, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x38b1c7bb6a2affff, rs 0x38b1c7bb6a2a3580, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x38b1c7bb6a2a35a3, rs 0x38b1c7bb6a2a3580, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7b827dff, rs 0x7b827d21, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7b82ffff, rs 0x7b827d21, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7b827d23, rs 0x7b827d21, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x15ebf6121dca77ff, rs 0x15ebf6121dca77c9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x15ebf6121dcaffff, rs 0x15ebf6121dca77c9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x15ebf6121dca77eb, rs 0x15ebf6121dca77c9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7f4360ff, rs 0x7f436096, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7f43ffff, rs 0x7f436096, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7f4360b7, rs 0x7f436096, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5eaacdd9fd9147ff, rs 0x5eaacdd9fd9147ae, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5eaacdd9fd91ffff, rs 0x5eaacdd9fd9147ae, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5eaacdd9fd9147af, rs 0x5eaacdd9fd9147ae, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x720046ff, rs 0x7200464f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7200ffff, rs 0x7200464f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7200466f, rs 0x7200464f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xbb8470f981e911ff, rs 0xbb8470f981e91117, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xbb8470f981e9ffff, rs 0xbb8470f981e91117, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xbb8470f981e91137, rs 0xbb8470f981e91117, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x76c15bff, rs 0x76c15bf8, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x76c1ffff, rs 0x76c15bf8, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x76c15bfb, rs 0x76c15bf8, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x5d42aeac6a532ff, rs 0x5d42aeac6a532e0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x5d42aeac6a5ffff, rs 0x5d42aeac6a532e0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x5d42aeac6a532e3, rs 0x5d42aeac6a532e0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x68860bff, rs 0x68860bfd, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6886ffff, rs 0x68860bfd, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x68860bff, rs 0x68860bfd, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x14abf36419fb9eff, rs 0x14abf36419fb9e63, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x14abf36419fbffff, rs 0x14abf36419fb9e63, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x6c4716ff, rs 0x6c47164a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6c47ffff, rs 0x6c47164a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x6c47166b, rs 0x6c47164a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x249d559aa8d72aff, rs 0x249d559aa8d72aac, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x249d559aa8d7ffff, rs 0x249d559aa8d72aac, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x249d559aa8d72aaf, rs 0x249d559aa8d72aac, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x610430ff, rs 0x61043093, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6104ffff, rs 0x61043093, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x610430b3, rs 0x61043093, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xcd6764f084b30ff, rs 0xcd6764f084b30ec, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xcd6764f084bffff, rs 0xcd6764f084b30ec, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xcd6764f084b30ef, rs 0xcd6764f084b30ec, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x65c52dff, rs 0x65c52d24, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x65c5ffff, rs 0x65c52d24, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x65c52d27, rs 0x65c52d24, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7f03ac0792468fff, rs 0x7f03ac0792468fdf, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7f03ac079246ffff, rs 0x7f03ac0792468fdf, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7f03ac0792468fff, rs 0x7f03ac0792468fdf, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x119b4bff, rs 0x119b4be9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x119bffff, rs 0x119b4be9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x119b4beb, rs 0x119b4be9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7e35ce6d56e670ff, rs 0x7e35ce6d56e670f5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7e35ce6d56e6ffff, rs 0x7e35ce6d56e670f5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7e35ce6d56e670f7, rs 0x7e35ce6d56e670f5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x155a56ff, rs 0x155a565e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x155affff, rs 0x155a565e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x155a567f, rs 0x155a565e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x152828591a6527ff, rs 0x152828591a652711, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x152828591a65ffff, rs 0x152828591a652711, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x152828591a652733, rs 0x152828591a652711, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x181970ff, rs 0x18197087, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1819ffff, rs 0x18197087, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x181970a7, rs 0x18197087, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x9e1c3283d215a9ff, rs 0x9e1c3283d215a9fb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x9e1c3283d215ffff, rs 0x9e1c3283d215a9fb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1cd86dff, rs 0x1cd86d30, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1cd8ffff, rs 0x1cd86d30, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1cd86d33, rs 0x1cd86d30, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x8d95c049282a04ff, rs 0x8d95c049282a0417, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x8d95c049282affff, rs 0x8d95c049282a0417, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x8d95c049282a0437, rs 0x8d95c049282a0417, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x29f3dff, rs 0x29f3d35, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x29fffff, rs 0x29f3d35, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x29f3d37, rs 0x29f3d35, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xf2e7a490978058ff, rs 0xf2e7a490978058f3, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xf2e7a4909780ffff, rs 0xf2e7a490978058f3, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x65e20ff, rs 0x65e2082, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x65effff, rs 0x65e2082, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x65e20a3, rs 0x65e2082, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x775b4cca0975b1ff, rs 0x775b4cca0975b1aa, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x775b4cca0975ffff, rs 0x775b4cca0975b1aa, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x775b4cca0975b1ab, rs 0x775b4cca0975b1aa, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xb1d06ff, rs 0xb1d065b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xb1dffff, rs 0xb1d065b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xb1d067b, rs 0xb1d065b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xa2b84a6351110ff, rs 0xa2b84a635111020, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xa2b84a63511ffff, rs 0xa2b84a635111020, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xa2b84a635111023, rs 0xa2b84a635111020, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfdc1bff, rs 0xfdc1bec, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfdcffff, rs 0xfdc1bec, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfdc1bef, rs 0xfdc1bec, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x23fa0d3a7d88bff, rs 0x23fa0d3a7d88b6f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x23fa0d3a7d8ffff, rs 0x23fa0d3a7d88b6f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3793a6ff, rs 0x3793a651, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3793ffff, rs 0x3793a651, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3793a673, rs 0x3793a651, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xa3d991b79941deff, rs 0xa3d991b79941dedd, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xa3d991b79941ffff, rs 0xa3d991b79941dedd, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xa3d991b79941deff, rs 0xa3d991b79941dedd, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3352bbff, rs 0x3352bbe6, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3352ffff, rs 0x3352bbe6, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3352bbe7, rs 0x3352bbe6, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x751cb4835a0d95ff, rs 0x751cb4835a0d9508, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x751cb4835a0dffff, rs 0x751cb4835a0d9508, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x751cb4835a0d952b, rs 0x751cb4835a0d9508, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3e119dff, rs 0x3e119d3f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3e11ffff, rs 0x3e119d3f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x949cad35625bb2ff, rs 0x949cad35625bb2d3, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x949cad35625bffff, rs 0x949cad35625bb2d3, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x949cad35625bb2f3, rs 0x949cad35625bb2d3, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3ad080ff, rs 0x3ad08088, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3ad0ffff, rs 0x3ad08088, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3ad080ab, rs 0x3ad08088, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7f567f35a69297ff, rs 0x7f567f35a6929739, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7f567f35a692ffff, rs 0x7f567f35a6929739, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7f567f35a692973b, rs 0x7f567f35a6929739, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2497d0ff, rs 0x2497d08d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2497ffff, rs 0x2497d08d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2497d0af, rs 0x2497d08d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x185b88e0db8d7dff, rs 0x185b88e0db8d7d27, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x185b88e0db8dffff, rs 0x185b88e0db8d7d27, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2056cdff, rs 0x2056cd3a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2056ffff, rs 0x2056cd3a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2056cd3b, rs 0x2056cd3a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x255a4cd22fd61bff, rs 0x255a4cd22fd61b91, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x255a4cd22fd6ffff, rs 0x255a4cd22fd61b91, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x255a4cd22fd61bb3, rs 0x255a4cd22fd61b91, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2d15ebff, rs 0x2d15ebe3, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2d15ffff, rs 0x2d15ebe3, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1048d589a4363fff, rs 0x1048d589a4363f7b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1048d589a436ffff, rs 0x1048d589a4363f7b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x29d4f6ff, rs 0x29d4f654, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x29d4ffff, rs 0x29d4f654, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x29d4f677, rs 0x29d4f654, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x6a6d5708f46057ff, rs 0x6a6d5708f4605790, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x6a6d5708f460ffff, rs 0x6a6d5708f4605790, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x6a6d5708f46057b3, rs 0x6a6d5708f4605790, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffc5a926ff, rs 0xffffffffc5a92679, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffc5a9ffff, rs 0xffffffffc5a92679, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffc5a9267b, rs 0xffffffffc5a92679, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd58ecbabde3569ff, rs 0xd58ecbabde35697f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd58ecbabde35ffff, rs 0xd58ecbabde35697f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffc1683bff, rs 0xffffffffc1683bce, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffc168ffff, rs 0xffffffffc1683bce, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffc1683bef, rs 0xffffffffc1683bce, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x575548fd08c0a5ff, rs 0x575548fd08c0a5f1, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x575548fd08c0ffff, rs 0x575548fd08c0a5f1, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x575548fd08c0a5f3, rs 0x575548fd08c0a5f1, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffcc2b1dff, rs 0xffffffffcc2b1d17, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffcc2bffff, rs 0xffffffffcc2b1d17, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffcc2b1d37, rs 0xffffffffcc2b1d17, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x8bb640fb8ed98dff, rs 0x8bb640fb8ed98ddb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x8bb640fb8ed9ffff, rs 0x8bb640fb8ed98ddb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x8bb640fb8ed98dfb, rs 0x8bb640fb8ed98ddb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffc8ea00ff, rs 0xffffffffc8ea00a0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffc8eaffff, rs 0xffffffffc8ea00a0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffc8ea00a3, rs 0xffffffffc8ea00a0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xbe00d51eabc578ff, rs 0xbe00d51eabc578cc, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xbe00d51eabc5ffff, rs 0xbe00d51eabc578cc, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xbe00d51eabc578ef, rs 0xbe00d51eabc578cc, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffd6ad50ff, rs 0xffffffffd6ad50a5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffd6adffff, rs 0xffffffffd6ad50a5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffd6ad50a7, rs 0xffffffffd6ad50a5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x2f7e224a1c170aff, rs 0x2f7e224a1c170ab2, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x2f7e224a1c17ffff, rs 0x2f7e224a1c170ab2, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x2f7e224a1c170ab3, rs 0x2f7e224a1c170ab2, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffd26c4dff, rs 0xffffffffd26c4d12, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffd26cffff, rs 0xffffffffd26c4d12, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffd26c4d33, rs 0xffffffffd26c4d12, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xa978f12ca22256ff, rs 0xa978f12ca22256a7, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xa978f12ca222ffff, rs 0xa978f12ca22256a7, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffdf2f6bff, rs 0xffffffffdf2f6bcb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffdf2fffff, rs 0xffffffffdf2f6bcb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffdf2f6beb, rs 0xffffffffdf2f6bcb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x9950a93b811ee0ff, rs 0x9950a93b811ee02f, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x9950a93b811effff, rs 0x9950a93b811ee02f, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffdbee76ff, rs 0xffffffffdbee767c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffdbeeffff, rs 0xffffffffdbee767c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffdbee767f, rs 0xffffffffdbee767c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xb44eea93c6796aff, rs 0xb44eea93c6796a0c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xb44eea93c679ffff, rs 0xb44eea93c6796a0c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xb44eea93c6796a2f, rs 0xb44eea93c6796a0c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffe3a1cbff, rs 0xffffffffe3a1cbc1, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffe3a1ffff, rs 0xffffffffe3a1cbc1, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffe3a1cbe3, rs 0xffffffffe3a1cbc1, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfe71fca06c0eb6ff, rs 0xfe71fca06c0eb657, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfe71fca06c0effff, rs 0xfe71fca06c0eb657, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfe71fca06c0eb677, rs 0xfe71fca06c0eb657, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffe760d6ff, rs 0xffffffffe760d676, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffe760ffff, rs 0xffffffffe760d676, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffe760d677, rs 0xffffffffe760d676, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x4ed6393df818afff, rs 0x4ed6393df818af57, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x4ed6393df818ffff, rs 0x4ed6393df818af57, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x4ed6393df818af77, rs 0x4ed6393df818af57, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffea23f0ff, rs 0xffffffffea23f0af, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffea23ffff, rs 0xffffffffea23f0af, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xf22e9020023677ff, rs 0xf22e90200236770a, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xf22e90200236ffff, rs 0xf22e90200236770a, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xf22e90200236772b, rs 0xf22e90200236770a, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffeee2edff, rs 0xffffffffeee2ed18, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffeee2ffff, rs 0xffffffffeee2ed18, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffeee2ed3b, rs 0xffffffffeee2ed18, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x81efb6c7afd0c4ff, rs 0x81efb6c7afd0c45d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x81efb6c7afd0ffff, rs 0x81efb6c7afd0c45d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x81efb6c7afd0c47f, rs 0x81efb6c7afd0c45d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffff0a5bdff, rs 0xfffffffff0a5bd1d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffff0a5ffff, rs 0xfffffffff0a5bd1d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffff0a5bd3f, rs 0xfffffffff0a5bd1d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xeed8f351810231ff, rs 0xeed8f3518102315b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xeed8f3518102ffff, rs 0xeed8f3518102315b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xeed8f3518102317b, rs 0xeed8f3518102315b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffff464a0ff, rs 0xfffffffff464a0aa, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffff464ffff, rs 0xfffffffff464a0aa, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffff464a0ab, rs 0xfffffffff464a0aa, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xadafefb9995efdff, rs 0xadafefb9995efd5e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xadafefb9995effff, rs 0xadafefb9995efd5e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xadafefb9995efd7f, rs 0xadafefb9995efd5e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffff92786ff, rs 0xfffffffff9278673, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffff927ffff, rs 0xfffffffff9278673, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x34061933eb2530ff, rs 0x34061933eb253086, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x34061933eb25ffff, rs 0x34061933eb253086, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x34061933eb2530a7, rs 0x34061933eb253086, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xfffffffffde69bff, rs 0xfffffffffde69bc4, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xfffffffffde6ffff, rs 0xfffffffffde69bc4, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xfffffffffde69be7, rs 0xfffffffffde69bc4, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x1748da264b4c52ff, rs 0x1748da264b4c52bc, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x1748da264b4cffff, rs 0x1748da264b4c52bc, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x1748da264b4c52bf, rs 0x1748da264b4c52bc, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff89b8fdff, rs 0xffffffff89b8fd09, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff89b8ffff, rs 0xffffffff89b8fd09, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff89b8fd2b, rs 0xffffffff89b8fd09, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x34fdfc9a9302beff, rs 0x34fdfc9a9302be89, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x34fdfc9a9302ffff, rs 0x34fdfc9a9302be89, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x34fdfc9a9302beab, rs 0x34fdfc9a9302be89, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff8d79e0ff, rs 0xffffffff8d79e0be, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff8d79ffff, rs 0xffffffff8d79e0be, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff8d79e0bf, rs 0xffffffff8d79e0be, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xd00278c3c521d1ff, rs 0xd00278c3c521d180, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xd00278c3c521ffff, rs 0xd00278c3c521d180, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xd00278c3c521d1a3, rs 0xd00278c3c521d180, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff803ac6ff, rs 0xffffffff803ac667, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff803affff, rs 0xffffffff803ac667, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xe90944a4c1d37aff, rs 0xe90944a4c1d37a5d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xe90944a4c1d3ffff, rs 0xe90944a4c1d37a5d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xe90944a4c1d37a7f, rs 0xe90944a4c1d37a5d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff84fbdbff, rs 0xffffffff84fbdbd0, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff84fbffff, rs 0xffffffff84fbdbd0, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff84fbdbf3, rs 0xffffffff84fbdbd0, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x65fd698fddef98ff, rs 0x65fd698fddef9839, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x65fd698fddefffff, rs 0x65fd698fddef9839, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x65fd698fddef983b, rs 0x65fd698fddef9839, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff9abc8bff, rs 0xffffffff9abc8bd5, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff9abcffff, rs 0xffffffff9abc8bd5, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff9abc8bf7, rs 0xffffffff9abc8bd5, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xc49ee3ad81b5afff, rs 0xc49ee3ad81b5af52, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xc49ee3ad81b5ffff, rs 0xc49ee3ad81b5af52, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xc49ee3ad81b5af73, rs 0xc49ee3ad81b5af52, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff9e7d96ff, rs 0xffffffff9e7d9662, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff9e7dffff, rs 0xffffffff9e7d9662, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff9e7d9663, rs 0xffffffff9e7d9662, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x7aa941e8bdb263ff, rs 0x7aa941e8bdb263e9, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x7aa941e8bdb2ffff, rs 0x7aa941e8bdb263e9, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x7aa941e8bdb263eb, rs 0x7aa941e8bdb263e9, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff933eb0ff, rs 0xffffffff933eb0bb, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff933effff, rs 0xffffffff933eb0bb, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x372c209e42f3b5ff, rs 0x372c209e42f3b58d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x372c209e42f3ffff, rs 0x372c209e42f3b58d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x372c209e42f3b5af, rs 0x372c209e42f3b58d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffff97ffadff, rs 0xffffffff97ffad0c, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffff97ffffff, rs 0xffffffff97ffad0c, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffff97ffad2f, rs 0xffffffff97ffad0c, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x30f870b7e122a8ff, rs 0x30f870b7e122a83b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x30f870b7e122ffff, rs 0x30f870b7e122a83b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffafb010ff, rs 0xffffffffafb010b1, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffafb0ffff, rs 0xffffffffafb010b1, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffafb010b3, rs 0xffffffffafb010b1, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x9e02de4b678930ff, rs 0x9e02de4b678930ec, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x9e02de4b6789ffff, rs 0x9e02de4b678930ec, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x9e02de4b678930ef, rs 0x9e02de4b678930ec, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffab710dff, rs 0xffffffffab710d06, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffab71ffff, rs 0xffffffffab710d06, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffab710d27, rs 0xffffffffab710d06, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xcd61a863982663ff, rs 0xcd61a8639826631e, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xcd61a8639826ffff, rs 0xcd61a8639826631e, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xcd61a8639826633f, rs 0xcd61a8639826631e, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffa6322bff, rs 0xffffffffa6322bdf, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffa632ffff, rs 0xffffffffa6322bdf, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffa6322bff, rs 0xffffffffa6322bdf, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xae87bc899a7bd3ff, rs 0xae87bc899a7bd3ca, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xae87bc899a7bffff, rs 0xae87bc899a7bd3ca, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xae87bc899a7bd3eb, rs 0xae87bc899a7bd3ca, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffa2f336ff, rs 0xffffffffa2f33668, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffa2f3ffff, rs 0xffffffffa2f33668, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffa2f3366b, rs 0xffffffffa2f33668, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x58ec644d6481afff, rs 0x58ec644d6481af17, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x58ec644d6481ffff, rs 0x58ec644d6481af17, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x58ec644d6481af37, rs 0x58ec644d6481af17, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffbcb466ff, rs 0xffffffffbcb4666d, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffbcb4ffff, rs 0xffffffffbcb4666d, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffbcb4666f, rs 0xffffffffbcb4666d, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x680cce5fb236b6ff, rs 0x680cce5fb236b666, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x680cce5fb236ffff, rs 0x680cce5fb236b666, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x680cce5fb236b667, rs 0x680cce5fb236b666, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffb8757bff, rs 0xffffffffb8757bda, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffb875ffff, rs 0xffffffffb8757bda, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffb8757bfb, rs 0xffffffffb8757bda, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x3baa99471f6d4dff, rs 0x3baa99471f6d4d75, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x3baa99471f6dffff, rs 0x3baa99471f6d4d75, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x3baa99471f6d4d77, rs 0x3baa99471f6d4d75, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffb5365dff, rs 0xffffffffb5365d03, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffb536ffff, rs 0xffffffffb5365d03, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffb5365d23, rs 0xffffffffb5365d03, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0x614d9b445f1223ff, rs 0x614d9b445f12236b, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0x614d9b445f12ffff, rs 0x614d9b445f12236b, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xffffffffb1f740ff, rs 0xffffffffb1f740b4, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xffffffffb1f7ffff, rs 0xffffffffb1f740b4, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xffffffffb1f740b7, rs 0xffffffffb1f740b4, imm 0x0023
+ori $t0, $t1, 0xff :: rt 0xa2a6ec661ba841ff, rs 0xa2a6ec661ba84121, imm 0x00ff
+ori $t2, $t3, 0xffff :: rt 0xa2a6ec661ba8ffff, rs 0xa2a6ec661ba84121, imm 0xffff
+ori $a0, $a1, 0x0 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+ori $s0, $s1, 0x23 :: rt 0xa2a6ec661ba84123, rs 0xa2a6ec661ba84121, imm 0x0023
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x0, rt 0xffffffffb1f740b4
+xor $s0, $s1, $s2 :: rd 0xa2a6ec661a83978b, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+xor $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0x0, rt 0xffffffffb5365d03
+xor $s0, $s1, $s2 :: rd 0x61331c27ddc08878, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x9823b6e, rt 0xffffffffb8757bda
+xor $s0, $s1, $s2 :: rd 0xacc7f7dddc785d86, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xd4326d9, rt 0xffffffffbcb4666d
+xor $s0, $s1, $s2 :: rd 0xdf78a328e8e0139d, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x130476dc, rt 0xffffffffa2f33668
+xor $s0, $s1, $s2 :: rd 0x1a5ca4efe2f61a15, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+xor $s0, $s1, $s2 :: rd 0x842f21b80447e367, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x1a864db2, rt 0xffffffffab710d06
+xor $s0, $s1, $s2 :: rd 0xd25126a0efdd2223, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x1e475005, rt 0xffffffffafb010b1
+xor $s0, $s1, $s2 :: rd 0xe4a29c58a0e9d41b, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x2608edb8, rt 0xffffffff97ffad0c
+xor $s0, $s1, $s2 :: rd 0xae882c72fbfa749b, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+xor $s0, $s1, $s2 :: rd 0x7c11fa18d4e61380, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+xor $s0, $s1, $s2 :: rd 0x7f4ee535dee1b7f4, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+xor $s0, $s1, $s2 :: rd 0xfe6db93045be7b41, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+xor $s0, $s1, $s2 :: rd 0x22086cd947e739b9, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x31cd86d3, rt 0xffffffff803ac667
+xor $s0, $s1, $s2 :: rd 0x7c6df3db17017e52, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+xor $s0, $s1, $s2 :: rd 0x1ebefaba77e6ba3e, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+xor $s0, $s1, $s2 :: rd 0x81feb0b58c1a5a4e, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x4c11db70, rt 0xfffffffffde69bc4
+xor $s0, $s1, $s2 :: rd 0x83b788dacae3f52b, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x48d0c6c7, rt 0xfffffffff9278673
+xor $s0, $s1, $s2 :: rd 0x5dec02586d9606c, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x4593e01e, rt 0xfffffffff464a0aa
+xor $s0, $s1, $s2 :: rd 0x9bfb746fe1b668ef, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+xor $s0, $s1, $s2 :: rd 0x6b3855601a6114c0, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x5f15adac, rt 0xffffffffeee2ed18
+xor $s0, $s1, $s2 :: rd 0xd484880d6321be98, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+xor $s0, $s1, $s2 :: rd 0x4601cfe583d8d7f1, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x569796c2, rt 0xffffffffe760d676
+xor $s0, $s1, $s2 :: rd 0x6b6336d1ec7082c0, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+xor $s0, $s1, $s2 :: rd 0x2e239b340f5be2d, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x6a1936c8, rt 0xffffffffdbee767c
+xor $s0, $s1, $s2 :: rd 0x8862333a0bdb6d6a, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+xor $s0, $s1, $s2 :: rd 0x8ec1db11fc6c3a11, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x639b0da6, rt 0xffffffffd26c4d12
+xor $s0, $s1, $s2 :: rd 0xa10438fd31ec720a, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x675a1011, rt 0xffffffffd6ad50a5
+xor $s0, $s1, $s2 :: rd 0x3254573a248f4460, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x791d4014, rt 0xffffffffc8ea00a0
+xor $s0, $s1, $s2 :: rd 0x6ed0a5c5dac9a8fa, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+xor $s0, $s1, $s2 :: rd 0xb2745c868d98dbdf, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x709f7b7a, rt 0xffffffffc1683bce
+xor $s0, $s1, $s2 :: rd 0xd9c1ff52860c943f, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x745e66cd, rt 0xffffffffc5a92679
+xor $s0, $s1, $s2 :: rd 0xf165a126c2d20e30, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff9823b6e0, rt 0x29d4f654
+xor $s0, $s1, $s2 :: rd 0x4554124ce6b6b337, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+xor $s0, $s1, $s2 :: rd 0x3640173ef2ec732f, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+xor $s0, $s1, $s2 :: rd 0xb55b4e08e7013ebe, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff95609039, rt 0x2497d08d
+xor $s0, $s1, $s2 :: rd 0xd0cb5d112962d9d0, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff8b27c03c, rt 0x3ad08088
+xor $s0, $s1, $s2 :: rd 0x92067afe6e22352d, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+xor $s0, $s1, $s2 :: rd 0xa5db3cbc3bcaa1bf, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+xor $s0, $s1, $s2 :: rd 0xb3f27b7ac02223fb, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff8664e6e5, rt 0x3793a651
+xor $s0, $s1, $s2 :: rd 0xbd0c3a5a1c88cad, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+xor $s0, $s1, $s2 :: rd 0x854aaad70aaedb2f, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffbaea46ef, rt 0xb1d065b
+xor $s0, $s1, $s2 :: rd 0x26166cf8b1aa4aa3, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb7a96036, rt 0x65e2082
+xor $s0, $s1, $s2 :: rd 0xd931b345cc731bcd, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb3687d81, rt 0x29f3d35
+xor $s0, $s1, $s2 :: rd 0x3296b64df76d0610, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+xor $s0, $s1, $s2 :: rd 0x4952b0bf18f6ce4d, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffa9ee3033, rt 0x18197087
+xor $s0, $s1, $s2 :: rd 0x41f019a051d8fb8c, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffa4ad16ea, rt 0x155a565e
+xor $s0, $s1, $s2 :: rd 0xc685927f1592fe7a, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+xor $s0, $s1, $s2 :: rd 0x34816414d2feb0fb, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffd4326d90, rt 0x65c52d24
+xor $s0, $s1, $s2 :: rd 0xc48faf599fa67f67, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffd0f37027, rt 0x61043093
+xor $s0, $s1, $s2 :: rd 0x3f66191ba134ec1d, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffddb056fe, rt 0x6c47164a
+xor $s0, $s1, $s2 :: rd 0x53de6aad9706ea2d, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffd9714b49, rt 0x68860bfd
+xor $s0, $s1, $s2 :: rd 0xf83a2af7d0da0b87, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+xor $s0, $s1, $s2 :: rd 0x4c2fdc4d5314974b, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffc3f706fb, rt 0x7200464f
+xor $s0, $s1, $s2 :: rd 0xa2b2338146279c09, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffceb42022, rt 0x7f436096
+xor $s0, $s1, $s2 :: rd 0xe7344036d2a90ea9, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffca753d95, rt 0x7b827d21
+xor $s0, $s1, $s2 :: rd 0x52013bdf45e16537, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffff23a8028, rt 0x43cdc09c
+xor $s0, $s1, $s2 :: rd 0xee344ff51c7fb9cf, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+xor $s0, $s1, $s2 :: rd 0x5f9055aef3ef6911, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+xor $s0, $s1, $s2 :: rd 0xe1fd7b41568d6df5, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+xor $s0, $s1, $s2 :: rd 0x4fc1fb0bd3b79f46, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+xor $s0, $s1, $s2 :: rd 0x69d0c9ad616cb7e0, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+xor $s0, $s1, $s2 :: rd 0xec3a89d7e7181bd6, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+xor $s0, $s1, $s2 :: rd 0xc16e4c215468c967, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+xor $s0, $s1, $s2 :: rd 0xc19579348cbe636d, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x34867077, rt 0xffffffff857130c3
+xor $s0, $s1, $s2 :: rd 0xa497c6ef7996f36d, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x30476dc0, rt 0xffffffff81b02d74
+xor $s0, $s1, $s2 :: rd 0x81a056840ad1fad4, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x3d044b19, rt 0xffffffff8cf30bad
+xor $s0, $s1, $s2 :: rd 0x7c681a01c3d24646, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x39c556ae, rt 0xffffffff8832161a
+xor $s0, $s1, $s2 :: rd 0x5ad95ed729a7042b, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x278206ab, rt 0xffffffff9675461f
+xor $s0, $s1, $s2 :: rd 0x28ae12e43e20aace, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x23431b1c, rt 0xffffffff92b45ba8
+xor $s0, $s1, $s2 :: rd 0x140be13f1d6b8ceb, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+xor $s0, $s1, $s2 :: rd 0xe377222bc3f428b, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x2ac12072, rt 0xffffffff9b3660c6
+xor $s0, $s1, $s2 :: rd 0xe5bef55db5945741, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+xor $s0, $s1, $s2 :: rd 0x844e3bff64b93d1d, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+xor $s0, $s1, $s2 :: rd 0x4df70aaf40cfe923, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+xor $s0, $s1, $s2 :: rd 0x5ac725b4a2735274, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+xor $s0, $s1, $s2 :: rd 0xc91f978a35c53459, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x18aeb13, rt 0xffffffffb07daba7
+xor $s0, $s1, $s2 :: rd 0x230be71952fbbd84, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+xor $s0, $s1, $s2 :: rd 0x572d6d4011af6b10, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x808d07d, rt 0xffffffffb9ff90c9
+xor $s0, $s1, $s2 :: rd 0x2af3425d409956a5, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+xor $s0, $s1, $s2 :: rd 0xca61749a10cbb609, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+xor $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+xor $s0, $s1, $s2 :: rd 0x99a4ee10d9a2006, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+xor $s0, $s1, $s2 :: rd 0x5be6b92d2281a2c5, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+xor $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+xor $s0, $s1, $s2 :: rd 0x818d04733bf2c038, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x75d48dde, rt 0xffffffffc423cd6a
+xor $s0, $s1, $s2 :: rd 0x95dff0f43cd39158, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x6b93dddb, rt 0xffffffffda649d6f
+xor $s0, $s1, $s2 :: rd 0x131c7fea9e41a58, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x6f52c06c, rt 0xffffffffdea580d8
+xor $s0, $s1, $s2 :: rd 0xf910f170734f78a7, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+xor $s0, $s1, $s2 :: rd 0x406e9b56ef08be81, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+xor $s0, $s1, $s2 :: rd 0xb16d05674072fc4e, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x5e9f46bf, rt 0xffffffffef68060b
+xor $s0, $s1, $s2 :: rd 0x5d0530ee17963b84, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+xor $s0, $s1, $s2 :: rd 0xdd7950ca42998329, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+xor $s0, $s1, $s2 :: rd 0x94229f77c8bb8663, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x53dc6066, rt 0xffffffffe22b20d2
+xor $s0, $s1, $s2 :: rd 0xf080710490d7ac6, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+xor $s0, $s1, $s2 :: rd 0xc75f8fdd96a72c22, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+xor $s0, $s1, $s2 :: rd 0xfbe90e3dab784b54, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+xor $s0, $s1, $s2 :: rd 0x1c31645c6fa8afa8, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x40d816ba, rt 0xfffffffff12f560e
+xor $s0, $s1, $s2 :: rd 0xac6299ea7f424701, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffaca5c697, rt 0x1d528623
+xor $s0, $s1, $s2 :: rd 0x96d63456771beb06, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffa864db20, rt 0x19939b94
+xor $s0, $s1, $s2 :: rd 0xcbdf9860243bfc90, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+xor $s0, $s1, $s2 :: rd 0x847054eaf8b168c, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+xor $s0, $s1, $s2 :: rd 0x82ae7757e2f38c75, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+xor $s0, $s1, $s2 :: rd 0xefcf6a2b048c0df8, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffbb60adfc, rt 0xa97ed48
+xor $s0, $s1, $s2 :: rd 0xcc51a02e5bbffe44, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb6238b25, rt 0x7d4cb91
+xor $s0, $s1, $s2 :: rd 0x6b857086696e5381, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb2e29692, rt 0x315d626
+xor $s0, $s1, $s2 :: rd 0x82462866fae18003, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+xor $s0, $s1, $s2 :: rd 0xf04cc3265fb70bc5, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+xor $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x0, rt 0x3f9b762c
+xor $s0, $s1, $s2 :: rd 0x43fe74bfe5567b5, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+xor $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x0, rt 0x32d850f5
+xor $s0, $s1, $s2 :: rd 0xf8469dde54cc44d4, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff87ee0df6, rt 0x36194d42
+xor $s0, $s1, $s2 :: rd 0x9e26646cb9714e99, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff99a95df3, rt 0x285e1d47
+xor $s0, $s1, $s2 :: rd 0xd01d601a1cf01917, rs 0x663d061055833287, rt 0xb620660a49732b90
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff9d684044, rt 0x2c9f00f0
+xor $s0, $s1, $s2 :: rd 0x18803c61c679ab97, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff902b669d, rt 0x21dc2629
+xor $s0, $s1, $s2 :: rd 0x33aac2e916fbc7e1, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+xor $s0, $s1, $s2 :: rd 0x7c6300f93ac8b884, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffe0b41de7, rt 0x51435d53
+xor $s0, $s1, $s2 :: rd 0xf5471fe772d9ab25, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffe4750050, rt 0x558240e4
+xor $s0, $s1, $s2 :: rd 0x81fe588a1d847d08, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffe9362689, rt 0x58c1663d
+xor $s0, $s1, $s2 :: rd 0xc7f8d45adf453d1a, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+xor $s0, $s1, $s2 :: rd 0xcb731a698092522d, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+xor $s0, $s1, $s2 :: rd 0xccea55716ad80a38, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffff771768c, rt 0x46863638
+xor $s0, $s1, $s2 :: rd 0x9df72f22f2a5ac5b, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffffa325055, rt 0x4bc510e1
+xor $s0, $s1, $s2 :: rd 0xaee421a3244bec23, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffffef34de2, rt 0x4f040d56
+xor $s0, $s1, $s2 :: rd 0x9efc0fc7f66c70c9, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+xor $s0, $s1, $s2 :: rd 0xd746919ea617ccad, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffc27dede8, rt 0x738aad5c
+xor $s0, $s1, $s2 :: rd 0xa9176454b0479ba1, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+xor $s0, $s1, $s2 :: rd 0x8e1ab94c68473132, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffcbffd686, rt 0x7a089632
+xor $s0, $s1, $s2 :: rd 0x556dc90d45fa3405, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffd5b88683, rt 0x644fc637
+xor $s0, $s1, $s2 :: rd 0xe74ac4efa789e96b, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffd1799b34, rt 0x608edb80
+xor $s0, $s1, $s2 :: rd 0x6fe2e031543a193d, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+xor $s0, $s1, $s2 :: rd 0x7fcfdff0f7bfbcf0, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+xor $s0, $s1, $s2 :: rd 0x6036480b18e552dc, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+xor $s0, $s1, $s2 :: rd 0x6036480b18e552dc, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+xor $s0, $s1, $s2 :: rd 0x7fcfdff0f7bfbcf0, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x608edb80, rt 0xffffffffd1799b34
+xor $s0, $s1, $s2 :: rd 0x6fe2e031543a193d, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x644fc637, rt 0xffffffffd5b88683
+xor $s0, $s1, $s2 :: rd 0xe74ac4efa789e96b, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x7a089632, rt 0xffffffffcbffd686
+xor $s0, $s1, $s2 :: rd 0x556dc90d45fa3405, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+xor $s0, $s1, $s2 :: rd 0x8e1ab94c68473132, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x738aad5c, rt 0xffffffffc27dede8
+xor $s0, $s1, $s2 :: rd 0xa9176454b0479ba1, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+xor $s0, $s1, $s2 :: rd 0xd746919ea617ccad, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x4f040d56, rt 0xfffffffffef34de2
+xor $s0, $s1, $s2 :: rd 0x9efc0fc7f66c70c9, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x4bc510e1, rt 0xfffffffffa325055
+xor $s0, $s1, $s2 :: rd 0xaee421a3244bec23, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x46863638, rt 0xfffffffff771768c
+xor $s0, $s1, $s2 :: rd 0x9df72f22f2a5ac5b, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+xor $s0, $s1, $s2 :: rd 0xccea55716ad80a38, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+xor $s0, $s1, $s2 :: rd 0xcb731a698092522d, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x58c1663d, rt 0xffffffffe9362689
+xor $s0, $s1, $s2 :: rd 0xc7f8d45adf453d1a, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x558240e4, rt 0xffffffffe4750050
+xor $s0, $s1, $s2 :: rd 0x81fe588a1d847d08, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x51435d53, rt 0xffffffffe0b41de7
+xor $s0, $s1, $s2 :: rd 0xf5471fe772d9ab25, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+xor $s0, $s1, $s2 :: rd 0x7c6300f93ac8b884, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x21dc2629, rt 0xffffffff902b669d
+xor $s0, $s1, $s2 :: rd 0x33aac2e916fbc7e1, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x2c9f00f0, rt 0xffffffff9d684044
+xor $s0, $s1, $s2 :: rd 0x18803c61c679ab97, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x285e1d47, rt 0xffffffff99a95df3
+xor $s0, $s1, $s2 :: rd 0xd01d601a1cf01917, rs 0xb620660a49732b90, rt 0x663d061055833287
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x36194d42, rt 0xffffffff87ee0df6
+xor $s0, $s1, $s2 :: rd 0x9e26646cb9714e99, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+xor $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+xor $s0, $s1, $s2 :: rd 0xf8469dde54cc44d4, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+xor $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+xor $s0, $s1, $s2 :: rd 0x43fe74bfe5567b5, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+xor $s0, $s1, $s2 :: rd 0xf04cc3265fb70bc5, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x315d626, rt 0xffffffffb2e29692
+xor $s0, $s1, $s2 :: rd 0x82462866fae18003, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x7d4cb91, rt 0xffffffffb6238b25
+xor $s0, $s1, $s2 :: rd 0x6b857086696e5381, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xa97ed48, rt 0xffffffffbb60adfc
+xor $s0, $s1, $s2 :: rd 0xcc51a02e5bbffe44, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+xor $s0, $s1, $s2 :: rd 0xefcf6a2b048c0df8, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+xor $s0, $s1, $s2 :: rd 0x82ae7757e2f38c75, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+xor $s0, $s1, $s2 :: rd 0x847054eaf8b168c, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x19939b94, rt 0xffffffffa864db20
+xor $s0, $s1, $s2 :: rd 0xcbdf9860243bfc90, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x1d528623, rt 0xffffffffaca5c697
+xor $s0, $s1, $s2 :: rd 0x96d63456771beb06, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffff12f560e, rt 0x40d816ba
+xor $s0, $s1, $s2 :: rd 0xac6299ea7f424701, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+xor $s0, $s1, $s2 :: rd 0x1c31645c6fa8afa8, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+xor $s0, $s1, $s2 :: rd 0xfbe90e3dab784b54, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+xor $s0, $s1, $s2 :: rd 0xc75f8fdd96a72c22, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffe22b20d2, rt 0x53dc6066
+xor $s0, $s1, $s2 :: rd 0xf080710490d7ac6, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+xor $s0, $s1, $s2 :: rd 0x94229f77c8bb8663, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+xor $s0, $s1, $s2 :: rd 0xdd7950ca42998329, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffef68060b, rt 0x5e9f46bf
+xor $s0, $s1, $s2 :: rd 0x5d0530ee17963b84, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+xor $s0, $s1, $s2 :: rd 0xb16d05674072fc4e, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+xor $s0, $s1, $s2 :: rd 0x406e9b56ef08be81, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffdea580d8, rt 0x6f52c06c
+xor $s0, $s1, $s2 :: rd 0xf910f170734f78a7, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffda649d6f, rt 0x6b93dddb
+xor $s0, $s1, $s2 :: rd 0x131c7fea9e41a58, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffc423cd6a, rt 0x75d48dde
+xor $s0, $s1, $s2 :: rd 0x95dff0f43cd39158, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+xor $t0, $t1, $t2 :: rd 0x71159069, rs 0x0, rt 0x71159069
+xor $s0, $s1, $s2 :: rd 0x818d04733bf2c038, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+xor $s0, $s1, $s2 :: rd 0x5be6b92d2281a2c5, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+xor $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x0, rt 0x7897ab07
+xor $s0, $s1, $s2 :: rd 0x99a4ee10d9a2006, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+xor $s0, $s1, $s2 :: rd 0xca61749a10cbb609, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb9ff90c9, rt 0x808d07d
+xor $s0, $s1, $s2 :: rd 0x2af3425d409956a5, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+xor $s0, $s1, $s2 :: rd 0x572d6d4011af6b10, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb07daba7, rt 0x18aeb13
+xor $s0, $s1, $s2 :: rd 0x230be71952fbbd84, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+xor $s0, $s1, $s2 :: rd 0xc91f978a35c53459, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+xor $s0, $s1, $s2 :: rd 0x5ac725b4a2735274, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+xor $s0, $s1, $s2 :: rd 0x4df70aaf40cfe923, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+xor $s0, $s1, $s2 :: rd 0x844e3bff64b93d1d, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff9b3660c6, rt 0x2ac12072
+xor $s0, $s1, $s2 :: rd 0xe5bef55db5945741, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+xor $s0, $s1, $s2 :: rd 0xe377222bc3f428b, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff92b45ba8, rt 0x23431b1c
+xor $s0, $s1, $s2 :: rd 0x140be13f1d6b8ceb, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff9675461f, rt 0x278206ab
+xor $s0, $s1, $s2 :: rd 0x28ae12e43e20aace, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff8832161a, rt 0x39c556ae
+xor $s0, $s1, $s2 :: rd 0x5ad95ed729a7042b, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff8cf30bad, rt 0x3d044b19
+xor $s0, $s1, $s2 :: rd 0x7c681a01c3d24646, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff81b02d74, rt 0x30476dc0
+xor $s0, $s1, $s2 :: rd 0x81a056840ad1fad4, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff857130c3, rt 0x34867077
+xor $s0, $s1, $s2 :: rd 0xa497c6ef7996f36d, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+xor $s0, $s1, $s2 :: rd 0xc19579348cbe636d, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+xor $s0, $s1, $s2 :: rd 0xc16e4c215468c967, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+xor $s0, $s1, $s2 :: rd 0xec3a89d7e7181bd6, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+xor $s0, $s1, $s2 :: rd 0x69d0c9ad616cb7e0, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+xor $s0, $s1, $s2 :: rd 0x4fc1fb0bd3b79f46, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+xor $s0, $s1, $s2 :: rd 0xe1fd7b41568d6df5, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+xor $s0, $s1, $s2 :: rd 0x5f9055aef3ef6911, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x43cdc09c, rt 0xfffffffff23a8028
+xor $s0, $s1, $s2 :: rd 0xee344ff51c7fb9cf, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x7b827d21, rt 0xffffffffca753d95
+xor $s0, $s1, $s2 :: rd 0x52013bdf45e16537, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x7f436096, rt 0xffffffffceb42022
+xor $s0, $s1, $s2 :: rd 0xe7344036d2a90ea9, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x7200464f, rt 0xffffffffc3f706fb
+xor $s0, $s1, $s2 :: rd 0xa2b2338146279c09, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+xor $s0, $s1, $s2 :: rd 0x4c2fdc4d5314974b, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x68860bfd, rt 0xffffffffd9714b49
+xor $s0, $s1, $s2 :: rd 0xf83a2af7d0da0b87, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x6c47164a, rt 0xffffffffddb056fe
+xor $s0, $s1, $s2 :: rd 0x53de6aad9706ea2d, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x61043093, rt 0xffffffffd0f37027
+xor $s0, $s1, $s2 :: rd 0x3f66191ba134ec1d, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x65c52d24, rt 0xffffffffd4326d90
+xor $s0, $s1, $s2 :: rd 0xc48faf599fa67f67, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+xor $s0, $s1, $s2 :: rd 0x34816414d2feb0fb, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x155a565e, rt 0xffffffffa4ad16ea
+xor $s0, $s1, $s2 :: rd 0xc685927f1592fe7a, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x18197087, rt 0xffffffffa9ee3033
+xor $s0, $s1, $s2 :: rd 0x41f019a051d8fb8c, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+xor $s0, $s1, $s2 :: rd 0x4952b0bf18f6ce4d, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x29f3d35, rt 0xffffffffb3687d81
+xor $s0, $s1, $s2 :: rd 0x3296b64df76d0610, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x65e2082, rt 0xffffffffb7a96036
+xor $s0, $s1, $s2 :: rd 0xd931b345cc731bcd, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xb1d065b, rt 0xffffffffbaea46ef
+xor $s0, $s1, $s2 :: rd 0x26166cf8b1aa4aa3, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+xor $s0, $s1, $s2 :: rd 0x854aaad70aaedb2f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x3793a651, rt 0xffffffff8664e6e5
+xor $s0, $s1, $s2 :: rd 0xbd0c3a5a1c88cad, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+xor $s0, $s1, $s2 :: rd 0xb3f27b7ac02223fb, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+xor $s0, $s1, $s2 :: rd 0xa5db3cbc3bcaa1bf, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x3ad08088, rt 0xffffffff8b27c03c
+xor $s0, $s1, $s2 :: rd 0x92067afe6e22352d, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x2497d08d, rt 0xffffffff95609039
+xor $s0, $s1, $s2 :: rd 0xd0cb5d112962d9d0, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+xor $s0, $s1, $s2 :: rd 0xb55b4e08e7013ebe, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+xor $s0, $s1, $s2 :: rd 0x3640173ef2ec732f, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0x29d4f654, rt 0xffffffff9823b6e0
+xor $s0, $s1, $s2 :: rd 0x4554124ce6b6b337, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffc5a92679, rt 0x745e66cd
+xor $s0, $s1, $s2 :: rd 0xf165a126c2d20e30, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffc1683bce, rt 0x709f7b7a
+xor $s0, $s1, $s2 :: rd 0xd9c1ff52860c943f, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+xor $s0, $s1, $s2 :: rd 0xb2745c868d98dbdf, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffc8ea00a0, rt 0x791d4014
+xor $s0, $s1, $s2 :: rd 0x6ed0a5c5dac9a8fa, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffd6ad50a5, rt 0x675a1011
+xor $s0, $s1, $s2 :: rd 0x3254573a248f4460, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffd26c4d12, rt 0x639b0da6
+xor $s0, $s1, $s2 :: rd 0xa10438fd31ec720a, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+xor $s0, $s1, $s2 :: rd 0x8ec1db11fc6c3a11, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffdbee767c, rt 0x6a1936c8
+xor $s0, $s1, $s2 :: rd 0x8862333a0bdb6d6a, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+xor $s0, $s1, $s2 :: rd 0x2e239b340f5be2d, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffe760d676, rt 0x569796c2
+xor $s0, $s1, $s2 :: rd 0x6b6336d1ec7082c0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+xor $s0, $s1, $s2 :: rd 0x4601cfe583d8d7f1, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffeee2ed18, rt 0x5f15adac
+xor $s0, $s1, $s2 :: rd 0xd484880d6321be98, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+xor $s0, $s1, $s2 :: rd 0x6b3855601a6114c0, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffff464a0aa, rt 0x4593e01e
+xor $s0, $s1, $s2 :: rd 0x9bfb746fe1b668ef, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffff9278673, rt 0x48d0c6c7
+xor $s0, $s1, $s2 :: rd 0x5dec02586d9606c, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xfffffffffde69bc4, rt 0x4c11db70
+xor $s0, $s1, $s2 :: rd 0x83b788dacae3f52b, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+xor $s0, $s1, $s2 :: rd 0x81feb0b58c1a5a4e, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+xor $s0, $s1, $s2 :: rd 0x1ebefaba77e6ba3e, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff803ac667, rt 0x31cd86d3
+xor $s0, $s1, $s2 :: rd 0x7c6df3db17017e52, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+xor $s0, $s1, $s2 :: rd 0x22086cd947e739b9, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+xor $s0, $s1, $s2 :: rd 0xfe6db93045be7b41, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+xor $s0, $s1, $s2 :: rd 0x7f4ee535dee1b7f4, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+xor $s0, $s1, $s2 :: rd 0x7c11fa18d4e61380, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffff97ffad0c, rt 0x2608edb8
+xor $s0, $s1, $s2 :: rd 0xae882c72fbfa749b, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffafb010b1, rt 0x1e475005
+xor $s0, $s1, $s2 :: rd 0xe4a29c58a0e9d41b, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffab710d06, rt 0x1a864db2
+xor $s0, $s1, $s2 :: rd 0xd25126a0efdd2223, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+xor $s0, $s1, $s2 :: rd 0x842f21b80447e367, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffa2f33668, rt 0x130476dc
+xor $s0, $s1, $s2 :: rd 0x1a5ca4efe2f61a15, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffbcb4666d, rt 0xd4326d9
+xor $s0, $s1, $s2 :: rd 0xdf78a328e8e0139d, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb8757bda, rt 0x9823b6e
+xor $s0, $s1, $s2 :: rd 0xacc7f7dddc785d86, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+xor $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+xor $s0, $s1, $s2 :: rd 0x61331c27ddc08878, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+xor $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+xor $s0, $s1, $s2 :: rd 0xa2a6ec661a83978b, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+xori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x12bd655, rs 0x12bd6aa, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x12b2955, rs 0x12bd6aa, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x12bd689, rs 0x12bd6aa, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7e876382d2abec, rs 0x7e876382d2ab13, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7e876382d254ec, rs 0x7e876382d2ab13, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7e876382d2ab30, rs 0x7e876382d2ab13, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x9823b91, rs 0x9823b6e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x982c491, rs 0x9823b6e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x9823b4d, rs 0x9823b6e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x976d6e9ac315100c, rs 0x976d6e9ac31510f3, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x976d6e9ac315ef0c, rs 0x976d6e9ac31510f3, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x976d6e9ac31510d0, rs 0x976d6e9ac31510f3, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd432626, rs 0xd4326d9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd43d926, rs 0xd4326d9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd4326fa, rs 0xd4326d9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xb7746d775ad6a504, rs 0xb7746d775ad6a5fb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xb7746d775ad65a04, rs 0xb7746d775ad6a5fb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xb7746d775ad6a5d8, rs 0xb7746d775ad6a5fb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x13047623, rs 0x130476dc, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x13048923, rs 0x130476dc, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x130476ff, rs 0x130476dc, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x42b0c0a28677b5fd, rs 0x42b0c0a28677b502, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x42b0c0a286774afd, rs 0x42b0c0a28677b502, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x42b0c0a28677b521, rs 0x42b0c0a28677b502, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x17c56b94, rs 0x17c56b6b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x17c59494, rs 0x17c56b6b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x17c56b48, rs 0x17c56b6b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2aa89d319e3c3052, rs 0x2aa89d319e3c30ad, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2aa89d319e3ccf52, rs 0x2aa89d319e3c30ad, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2aa89d319e3c308e, rs 0x2aa89d319e3c30ad, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1a864d4d, rs 0x1a864db2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1a86b24d, rs 0x1a864db2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1a864d91, rs 0x1a864db2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1f308ec377fb41c2, rs 0x1f308ec377fb413d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1f308ec377fbbec2, rs 0x1f308ec377fb413d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1f308ec377fb411e, rs 0x1f308ec377fb413d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1e4750fa, rs 0x1e475005, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1e47affa, rs 0x1e475005, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1e475026, rs 0x1e475005, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7aa04213c760e408, rs 0x7aa04213c760e4f7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7aa04213c7601b08, rs 0x7aa04213c760e4f7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7aa04213c760e4d4, rs 0x7aa04213c760e4f7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2608ed47, rs 0x2608edb8, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x26081247, rs 0x2608edb8, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2608ed9b, rs 0x2608edb8, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x9e705cc51ad8dc5f, rs 0x9e705cc51ad8dca0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x9e705cc51ad8235f, rs 0x9e705cc51ad8dca0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x9e705cc51ad8dc83, rs 0x9e705cc51ad8dca0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x22c9f0f0, rs 0x22c9f00f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x22c90ff0, rs 0x22c9f00f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x22c9f02c, rs 0x22c9f00f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4b3dda869615a6f2, rs 0x4b3dda869615a60d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4b3dda86961559f2, rs 0x4b3dda869615a60d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4b3dda869615a62e, rs 0x4b3dda869615a60d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2f8ad629, rs 0x2f8ad6d6, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2f8a2929, rs 0x2f8ad6d6, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2f8ad6f5, rs 0x2f8ad6d6, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5e7a4dd6353d4e2, rs 0x5e7a4dd6353d41d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5e7a4dd63532be2, rs 0x5e7a4dd6353d41d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5e7a4dd6353d43e, rs 0x5e7a4dd6353d41d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2b4bcb9e, rs 0x2b4bcb61, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2b4b349e, rs 0x2b4bcb61, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2b4bcb42, rs 0x2b4bcb61, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3af35a9dc40bd4ec, rs 0x3af35a9dc40bd413, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3af35a9dc40b2bec, rs 0x3af35a9dc40bd413, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3af35a9dc40bd430, rs 0x3af35a9dc40bd413, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x350c9b9b, rs 0x350c9b64, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x350c649b, rs 0x350c9b64, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x350c9b47, rs 0x350c9b64, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x47f505569a08a17f, rs 0x47f505569a08a180, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x47f505569a085e7f, rs 0x47f505569a08a180, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x47f505569a08a1a3, rs 0x47f505569a08a180, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x31cd862c, rs 0x31cd86d3, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x31cd792c, rs 0x31cd86d3, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x31cd86f0, rs 0x31cd86d3, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x9564b77fd6d204f0, rs 0x9564b77fd6d2040f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x9564b77fd6d2fbf0, rs 0x9564b77fd6d2040f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x9564b77fd6d2042c, rs 0x9564b77fd6d2040f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3c8ea0f5, rs 0x3c8ea00a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3c8e5ff5, rs 0x3c8ea00a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3c8ea029, rs 0x3c8ea00a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xcebc8279b2c76b41, rs 0xcebc8279b2c76bbe, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xcebc8279b2c79441, rs 0xcebc8279b2c76bbe, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xcebc8279b2c76b9d, rs 0xcebc8279b2c76bbe, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x384fbd42, rs 0x384fbdbd, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x384f4242, rs 0x384fbdbd, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x384fbd9e, rs 0x384fbdbd, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xb5034c2f1f18e438, rs 0xb5034c2f1f18e4c7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xb5034c2f1f181b38, rs 0xb5034c2f1f18e4c7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xb5034c2f1f18e4e4, rs 0xb5034c2f1f18e4c7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4c11db8f, rs 0x4c11db70, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4c11248f, rs 0x4c11db70, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4c11db53, rs 0x4c11db70, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x94ff52fc81afa768, rs 0x94ff52fc81afa797, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x94ff52fc81af5868, rs 0x94ff52fc81afa797, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x94ff52fc81afa7b4, rs 0x94ff52fc81afa797, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x48d0c638, rs 0x48d0c6c7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x48d03938, rs 0x48d0c6c7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x48d0c6e4, rs 0x48d0c6c7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x31d8d9166dfc5015, rs 0x31d8d9166dfc50ea, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x31d8d9166dfcaf15, rs 0x31d8d9166dfc50ea, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x31d8d9166dfc50c9, rs 0x31d8d9166dfc50ea, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4593e0e1, rs 0x4593e01e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x45931fe1, rs 0x4593e01e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4593e03d, rs 0x4593e01e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x36549bd678e8954e, rs 0x36549bd678e895b1, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x36549bd678e86a4e, rs 0x36549bd678e895b1, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x36549bd678e89592, rs 0x36549bd678e895b1, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4152fd56, rs 0x4152fda9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x41520256, rs 0x4152fda9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4152fd8a, rs 0x4152fda9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x85e0a6319b632564, rs 0x85e0a6319b63259b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x85e0a6319b63da64, rs 0x85e0a6319b63259b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x85e0a6319b6325b8, rs 0x85e0a6319b63259b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5f15ad53, rs 0x5f15adac, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5f155253, rs 0x5f15adac, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5f15ad8f, rs 0x5f15adac, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x556b3ecaccf17a3a, rs 0x556b3ecaccf17ac5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x556b3ecaccf1853a, rs 0x556b3ecaccf17ac5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x556b3ecaccf17ae6, rs 0x556b3ecaccf17ac5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5bd4b0e4, rs 0x5bd4b01b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5bd44fe4, rs 0x5bd4b01b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5bd4b038, rs 0x5bd4b01b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xb42f5fc581eea004, rs 0xb42f5fc581eea0fb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xb42f5fc581ee5f04, rs 0xb42f5fc581eea0fb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xb42f5fc581eea0d8, rs 0xb42f5fc581eea0fb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5697963d, rs 0x569796c2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5697693d, rs 0x569796c2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x569796e1, rs 0x569796c2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x25b50fec14682d68, rs 0x25b50fec14682d97, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x25b50fec1468d268, rs 0x25b50fec14682d97, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x25b50fec14682db4, rs 0x25b50fec14682d97, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x52568b8a, rs 0x52568b75, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5256748a, rs 0x52568b75, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x52568b56, rs 0x52568b75, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfc93c5132cfb0885, rs 0xfc93c5132cfb087a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfc93c5132cfbf785, rs 0xfc93c5132cfb087a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfc93c5132cfb0859, rs 0xfc93c5132cfb087a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x6a193637, rs 0x6a1936c8, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6a19c937, rs 0x6a1936c8, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x6a1936eb, rs 0x6a1936c8, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3c2cd9a9cda20799, rs 0x3c2cd9a9cda20766, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3c2cd9a9cda2f899, rs 0x3c2cd9a9cda20766, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3c2cd9a9cda20745, rs 0x3c2cd9a9cda20766, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x6ed82b80, rs 0x6ed82b7f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6ed8d480, rs 0x6ed82b7f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x6ed82b5c, rs 0x6ed82b7f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1791722a7d72dac1, rs 0x1791722a7d72da3e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1791722a7d7225c1, rs 0x1791722a7d72da3e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1791722a7d72da1d, rs 0x1791722a7d72da3e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x639b0d59, rs 0x639b0da6, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x639bf259, rs 0x639b0da6, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x639b0d85, rs 0x639b0da6, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x87cc9d193ce2452, rs 0x87cc9d193ce24ad, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x87cc9d193cedb52, rs 0x87cc9d193ce24ad, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x87cc9d193ce248e, rs 0x87cc9d193ce24ad, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x675a10ee, rs 0x675a1011, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x675aefee, rs 0x675a1011, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x675a1032, rs 0x675a1011, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1d2a757038984e2d, rs 0x1d2a757038984ed2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1d2a75703898b12d, rs 0x1d2a757038984ed2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1d2a757038984ef1, rs 0x1d2a757038984ed2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x791d40eb, rs 0x791d4014, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x791dbfeb, rs 0x791d4014, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x791d4037, rs 0x791d4014, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd0d070db710cd0c9, rs 0xd0d070db710cd036, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd0d070db710c2fc9, rs 0xd0d070db710cd036, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd0d070db710cd015, rs 0xd0d070db710cd036, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7ddc5d5c, rs 0x7ddc5da3, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7ddca25c, rs 0x7ddc5da3, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7ddc5d80, rs 0x7ddc5da3, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x39c21c7d034156fb, rs 0x39c21c7d03415604, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x39c21c7d0341a9fb, rs 0x39c21c7d03415604, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x39c21c7d03415627, rs 0x39c21c7d03415604, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x709f7b85, rs 0x709f7b7a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x709f8485, rs 0x709f7b7a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x709f7b59, rs 0x709f7b7a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x8e94b7af8ecc3131, rs 0x8e94b7af8ecc31ce, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8e94b7af8eccce31, rs 0x8e94b7af8ecc31ce, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x8e94b7af8ecc31ed, rs 0x8e94b7af8ecc31ce, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x745e6632, rs 0x745e66cd, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x745e9932, rs 0x745e66cd, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x745e66ee, rs 0x745e66cd, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x24eb6a8d1ce767b0, rs 0x24eb6a8d1ce7674f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x24eb6a8d1ce798b0, rs 0x24eb6a8d1ce7674f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x24eb6a8d1ce7676c, rs 0x24eb6a8d1ce7674f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff9823b61f, rs 0xffffffff9823b6e0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff9823491f, rs 0xffffffff9823b6e0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff9823b6c3, rs 0xffffffff9823b6e0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2f39454412d6e458, rs 0x2f39454412d6e4a7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2f39454412d61b58, rs 0x2f39454412d6e4a7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2f39454412d6e484, rs 0x2f39454412d6e4a7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff9ce2aba8, rs 0xffffffff9ce2ab57, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff9ce254a8, rs 0xffffffff9ce2ab57, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff9ce2ab74, rs 0xffffffff9ce2ab57, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2608c2b756da4cab, rs 0x2608c2b756da4c54, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2608c2b756dab3ab, rs 0x2608c2b756da4c54, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2608c2b756da4c77, rs 0x2608c2b756da4c54, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff91a18d71, rs 0xffffffff91a18d8e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff91a17271, rs 0xffffffff91a18d8e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff91a18dad, rs 0xffffffff91a18d8e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x900102dac8d725d0, rs 0x900102dac8d7252f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x900102dac8d7dad0, rs 0x900102dac8d7252f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x900102dac8d7250c, rs 0x900102dac8d7252f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff956090c6, rs 0xffffffff95609039, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff95606fc6, rs 0xffffffff95609039, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff9560901a, rs 0xffffffff95609039, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xc890d5f1f2efa408, rs 0xc890d5f1f2efa4f7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xc890d5f1f2ef5b08, rs 0xc890d5f1f2efa4f7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xc890d5f1f2efa4d4, rs 0xc890d5f1f2efa4f7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff8b27c0c3, rs 0xffffffff8b27c03c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff8b273fc3, rs 0xffffffff8b27c03c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff8b27c01f, rs 0xffffffff8b27c03c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xed5005cbc8b0a2eb, rs 0xed5005cbc8b0a214, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xed5005cbc8b05deb, rs 0xed5005cbc8b0a214, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xed5005cbc8b0a237, rs 0xed5005cbc8b0a214, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff8fe6dd74, rs 0xffffffff8fe6dd8b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff8fe62274, rs 0xffffffff8fe6dd8b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff8fe6dda8, rs 0xffffffff8fe6dd8b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3147918959911393, rs 0x314791895991136c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x314791895991ec93, rs 0x314791895991136c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x314791895991134f, rs 0x314791895991136c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff82a5fbad, rs 0xffffffff82a5fb52, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff82a504ad, rs 0xffffffff82a5fb52, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff82a5fb71, rs 0xffffffff82a5fb52, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xc6eecff99a2fb60c, rs 0xc6eecff99a2fb6f3, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xc6eecff99a2f490c, rs 0xc6eecff99a2fb6f3, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xc6eecff99a2fb6d0, rs 0xc6eecff99a2fb6f3, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff8664e61a, rs 0xffffffff8664e6e5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff8664191a, rs 0xffffffff8664e6e5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff8664e6c6, rs 0xffffffff8664e6e5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xa80952123889528f, rs 0xa809521238895270, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xa80952123889ad8f, rs 0xa809521238895270, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xa809521238895253, rs 0xa809521238895270, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffbe2b5ba7, rs 0xffffffffbe2b5b58, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffbe2ba4a7, rs 0xffffffffbe2b5b58, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffbe2b5b7b, rs 0xffffffffbe2b5b58, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x87750a04ad7650bf, rs 0x87750a04ad765040, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x87750a04ad76afbf, rs 0x87750a04ad765040, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x87750a04ad765063, rs 0x87750a04ad765040, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffbaea4610, rs 0xffffffffbaea46ef, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffbaeab910, rs 0xffffffffbaea46ef, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffbaea46cc, rs 0xffffffffbaea46ef, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2c3de85e84bb5a7c, rs 0x2c3de85e84bb5a83, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2c3de85e84bba57c, rs 0x2c3de85e84bb5a83, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2c3de85e84bb5aa0, rs 0x2c3de85e84bb5a83, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffb7a960c9, rs 0xffffffffb7a96036, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffb7a99fc9, rs 0xffffffffb7a96036, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffb7a96015, rs 0xffffffffb7a96036, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xae6aff8fc506aa98, rs 0xae6aff8fc506aa67, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xae6aff8fc5065598, rs 0xae6aff8fc506aa67, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xae6aff8fc506aa44, rs 0xae6aff8fc506aa67, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffb3687d7e, rs 0xffffffffb3687d81, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffb368827e, rs 0xffffffffb3687d81, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffb3687da2, rs 0xffffffffb3687d81, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xc07112dd60ed5e1c, rs 0xc07112dd60ed5ee3, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xc07112dd60eda11c, rs 0xc07112dd60ed5ee3, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xc07112dd60ed5ec0, rs 0xc07112dd60ed5ee3, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffad2f2d7b, rs 0xffffffffad2f2d84, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffad2fd27b, rs 0xffffffffad2f2d84, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffad2f2da7, rs 0xffffffffad2f2d84, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xc4c770f630dccaa5, rs 0xc4c770f630dcca5a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xc4c770f630dc35a5, rs 0xc4c770f630dcca5a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xc4c770f630dcca79, rs 0xc4c770f630dcca5a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffa9ee30cc, rs 0xffffffffa9ee3033, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffa9eecfcc, rs 0xffffffffa9ee3033, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffa9ee3010, rs 0xffffffffa9ee3033, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xdfec2b2383cd5288, rs 0xdfec2b2383cd5277, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xdfec2b2383cdad88, rs 0xdfec2b2383cd5277, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xdfec2b2383cd5254, rs 0xdfec2b2383cd5277, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffa4ad1615, rs 0xffffffffa4ad16ea, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffa4ade915, rs 0xffffffffa4ad16ea, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffa4ad16c9, rs 0xffffffffa4ad16ea, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd3adba260ff7d994, rs 0xd3adba260ff7d96b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd3adba260ff72694, rs 0xd3adba260ff7d96b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd3adba260ff7d948, rs 0xd3adba260ff7d96b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffa06c0ba2, rs 0xffffffffa06c0b5d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffa06cf4a2, rs 0xffffffffa06c0b5d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffa06c0b7e, rs 0xffffffffa06c0b5d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4ab4aa798418c0f1, rs 0x4ab4aa798418c00e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4ab4aa7984183ff1, rs 0x4ab4aa798418c00e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4ab4aa798418c02d, rs 0x4ab4aa798418c00e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffd4326d6f, rs 0xffffffffd4326d90, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffd432926f, rs 0xffffffffd4326d90, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffd4326db3, rs 0xffffffffd4326d90, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xbb8c035e0de0f047, rs 0xbb8c035e0de0f0b8, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xbb8c035e0de00f47, rs 0xbb8c035e0de0f0b8, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xbb8c035e0de0f09b, rs 0xbb8c035e0de0f0b8, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffd0f370d8, rs 0xffffffffd0f37027, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffd0f38fd8, rs 0xffffffffd0f37027, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffd0f37004, rs 0xffffffffd0f37027, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x33b06f54a97fdc0e, rs 0x33b06f54a97fdcf1, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x33b06f54a97f230e, rs 0x33b06f54a97fdcf1, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x33b06f54a97fdcd2, rs 0x33b06f54a97fdcf1, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffddb05601, rs 0xffffffffddb056fe, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffddb0a901, rs 0xffffffffddb056fe, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffddb056dd, rs 0xffffffffddb056fe, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x77433f373fd1c07e, rs 0x77433f373fd1c081, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x77433f373fd13f7e, rs 0x77433f373fd1c081, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x77433f373fd1c0a2, rs 0x77433f373fd1c081, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffd9714bb6, rs 0xffffffffd9714b49, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffd971b4b6, rs 0xffffffffd9714b49, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffd9714b6a, rs 0xffffffffd9714b49, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xec91d993c921951b, rs 0xec91d993c92195e4, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xec91d993c9216a1b, rs 0xec91d993c92195e4, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xec91d993c92195c7, rs 0xec91d993c92195e4, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffc7361bb3, rs 0xffffffffc7361b4c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffc736e4b3, rs 0xffffffffc7361b4c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffc7361b6f, rs 0xffffffffc7361b4c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x49fbf6a795b1a554, rs 0x49fbf6a795b1a5ab, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x49fbf6a795b15a54, rs 0x49fbf6a795b1a5ab, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x49fbf6a795b1a588, rs 0x49fbf6a795b1a5ab, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffc3f70604, rs 0xffffffffc3f706fb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffc3f7f904, rs 0xffffffffc3f706fb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffc3f706d8, rs 0xffffffffc3f706fb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x19364378c7ce8de1, rs 0x19364378c7ce8d1e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x19364378c7ce72e1, rs 0x19364378c7ce8d1e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x19364378c7ce8d3d, rs 0x19364378c7ce8d1e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffceb420dd, rs 0xffffffffceb42022, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffceb4dfdd, rs 0xffffffffceb42022, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffceb42001, rs 0xffffffffceb42022, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xb99e8def2f3849f8, rs 0xb99e8def2f384907, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xb99e8def2f38b6f8, rs 0xb99e8def2f384907, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xb99e8def2f384924, rs 0xb99e8def2f384907, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffca753d6a, rs 0xffffffffca753d95, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffca75c26a, rs 0xffffffffca753d95, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffca753db6, rs 0xffffffffca753d95, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x47eacdcd582b1201, rs 0x47eacdcd582b12fe, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x47eacdcd582bed01, rs 0x47eacdcd582b12fe, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x47eacdcd582b12dd, rs 0x47eacdcd582b12fe, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffff23a80d7, rs 0xfffffffff23a8028, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffff23a7fd7, rs 0xfffffffff23a8028, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffff23a800b, rs 0xfffffffff23a8028, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd685884e76558cb0, rs 0xd685884e76558c4f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd685884e765573b0, rs 0xd685884e76558c4f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd685884e76558c6c, rs 0xd685884e76558c4f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffff6fb9d60, rs 0xfffffffff6fb9d9f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffff6fb6260, rs 0xfffffffff6fb9d9f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffff6fb9dbc, rs 0xfffffffff6fb9d9f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x6168d62a34c19538, rs 0x6168d62a34c195c7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6168d62a34c16a38, rs 0x6168d62a34c195c7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x6168d62a34c195e4, rs 0x6168d62a34c195c7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffffbb8bbb9, rs 0xfffffffffbb8bb46, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffffbb844b9, rs 0xfffffffffbb8bb46, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffffbb8bb65, rs 0xfffffffffbb8bb46, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd30169894df474fa, rs 0xd30169894df47405, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd30169894df48bfa, rs 0xd30169894df47405, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd30169894df47426, rs 0xd30169894df47405, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffff79a60e, rs 0xffffffffff79a6f1, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffff79590e, rs 0xffffffffff79a6f1, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffff79a6d2, rs 0xffffffffff79a6f1, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1ca190bf6cbb0624, rs 0x1ca190bf6cbb06db, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1ca190bf6cbbf924, rs 0x1ca190bf6cbb06db, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1ca190bf6cbb06f8, rs 0x1ca190bf6cbb06db, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffe13ef60b, rs 0xffffffffe13ef6f4, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffe13e090b, rs 0xffffffffe13ef6f4, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffe13ef6d7, rs 0xffffffffe13ef6f4, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x58300f029cae39c5, rs 0x58300f029cae393a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x58300f029caec6c5, rs 0x58300f029cae393a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x58300f029cae3919, rs 0x58300f029cae393a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffe5ffebbc, rs 0xffffffffe5ffeb43, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffe5ff14bc, rs 0xffffffffe5ffeb43, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffe5ffeb60, rs 0xffffffffe5ffeb43, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x9a995fdbdc7ebcd2, rs 0x9a995fdbdc7ebc2d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x9a995fdbdc7e43d2, rs 0x9a995fdbdc7ebc2d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x9a995fdbdc7ebc0e, rs 0x9a995fdbdc7ebc2d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffe8bccd65, rs 0xffffffffe8bccd9a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffe8bc3265, rs 0xffffffffe8bccd9a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffe8bccdb9, rs 0xffffffffe8bccd9a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x8a96047be3405bb7, rs 0x8a96047be3405b48, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8a96047be340a4b7, rs 0x8a96047be3405b48, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x8a96047be3405b6b, rs 0x8a96047be3405b48, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffec7dd0d2, rs 0xffffffffec7dd02d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffec7d2fd2, rs 0xffffffffec7dd02d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffec7dd00e, rs 0xffffffffec7dd02d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x75bfafd2d519d3dd, rs 0x75bfafd2d519d322, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x75bfafd2d5192cdd, rs 0x75bfafd2d519d322, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x75bfafd2d519d301, rs 0x75bfafd2d519d322, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x34867088, rs 0x34867077, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x34868f88, rs 0x34867077, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x34867054, rs 0x34867077, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xde230867a630f652, rs 0xde230867a630f6ad, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xde230867a6300952, rs 0xde230867a630f6ad, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xde230867a630f68e, rs 0xde230867a630f6ad, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x30476d3f, rs 0x30476dc0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3047923f, rs 0x30476dc0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x30476de3, rs 0x30476dc0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2c0a0cf25610329f, rs 0x2c0a0cf256103260, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2c0a0cf25610cd9f, rs 0x2c0a0cf256103260, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2c0a0cf256103243, rs 0x2c0a0cf256103260, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3d044be6, rs 0x3d044b19, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3d04b4e6, rs 0x3d044b19, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3d044b3a, rs 0x3d044b19, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x94a90544249b1810, rs 0x94a90544249b18ef, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x94a90544249be710, rs 0x94a90544249b18ef, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x94a90544249b18cc, rs 0x94a90544249b18ef, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x39c55651, rs 0x39c556ae, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x39c5a951, rs 0x39c556ae, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x39c5568d, rs 0x39c556ae, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xf9519fb55b56fc21, rs 0xf9519fb55b56fcde, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xf9519fb55b560321, rs 0xf9519fb55b56fcde, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xf9519fb55b56fcfd, rs 0xf9519fb55b56fcde, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x27820654, rs 0x278206ab, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2782f954, rs 0x278206ab, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x27820688, rs 0x278206ab, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x81daf82004683164, rs 0x81daf8200468319b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x81daf8200468ce64, rs 0x81daf8200468319b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x81daf820046831b8, rs 0x81daf8200468319b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x23431be3, rs 0x23431b1c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2343e4e3, rs 0x23431b1c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x23431b3f, rs 0x23431b1c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x8c61ca5a5725f213, rs 0x8c61ca5a5725f2ec, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8c61ca5a57250d13, rs 0x8c61ca5a5725f2ec, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x8c61ca5a5725f2cf, rs 0x8c61ca5a5725f2ec, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2e003d3a, rs 0x2e003dc5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2e00c23a, rs 0x2e003dc5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2e003de6, rs 0x2e003dc5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x8b95a6ddc25dc840, rs 0x8b95a6ddc25dc8bf, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8b95a6ddc25d3740, rs 0x8b95a6ddc25dc8bf, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x8b95a6ddc25dc89c, rs 0x8b95a6ddc25dc8bf, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2ac1208d, rs 0x2ac12072, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2ac1df8d, rs 0x2ac12072, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2ac12051, rs 0x2ac12072, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x300ce751dac616d0, rs 0x300ce751dac6162f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x300ce751dac6e9d0, rs 0x300ce751dac6162f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x300ce751dac6160c, rs 0x300ce751dac6162f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x128e9d30, rs 0x128e9dcf, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x128e6230, rs 0x128e9dcf, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x128e9dec, rs 0x128e9dcf, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x6778fdf3ba52a8af, rs 0x6778fdf3ba52a850, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6778fdf3ba5257af, rs 0x6778fdf3ba52a850, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x6778fdf3ba52a873, rs 0x6778fdf3ba52a850, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x164f8087, rs 0x164f8078, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x164f7f87, rs 0x164f8078, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x164f805b, rs 0x164f8078, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xad00b1f7da784760, rs 0xad00b1f7da78479f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xad00b1f7da78b860, rs 0xad00b1f7da78479f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xad00b1f7da7847bc, rs 0xad00b1f7da78479f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1b0ca65e, rs 0x1b0ca6a1, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1b0c595e, rs 0x1b0ca6a1, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1b0ca682, rs 0x1b0ca6a1, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x8d44168a6b6d975, rs 0x8d44168a6b6d98a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8d44168a6b62675, rs 0x8d44168a6b6d98a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x8d44168a6b6d9a9, rs 0x8d44168a6b6d98a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1fcdbbe9, rs 0x1fcdbb16, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1fcd44e9, rs 0x1fcdbb16, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1fcdbb35, rs 0x1fcdbb16, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xf518381dce6344ec, rs 0xf518381dce634413, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xf518381dce63bbec, rs 0xf518381dce634413, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xf518381dce634430, rs 0xf518381dce634413, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x18aebec, rs 0x18aeb13, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x18a14ec, rs 0x18aeb13, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x18aeb30, rs 0x18aeb13, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xe4627f3fe5255f3f, rs 0xe4627f3fe5255fc0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xe4627f3fe525a03f, rs 0xe4627f3fe5255fc0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xe4627f3fe5255fe3, rs 0xe4627f3fe5255fc0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x54bf65b, rs 0x54bf6a4, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x54b095b, rs 0x54bf6a4, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x54bf687, rs 0x54bf6a4, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xccd392e176321fd7, rs 0xccd392e176321f28, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xccd392e17632e0d7, rs 0xccd392e176321f28, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xccd392e176321f0b, rs 0xccd392e176321f28, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x808d082, rs 0x808d07d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8082f82, rs 0x808d07d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x808d05e, rs 0x808d07d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x829464944018fd70, rs 0x829464944018fd8f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8294649440180270, rs 0x829464944018fd8f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x829464944018fdac, rs 0x829464944018fd8f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xcc9cd35, rs 0xcc9cdca, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xcc93235, rs 0xcc9cdca, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xcc9cde9, rs 0xcc9cdca, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x15d3204052e8f01a, rs 0x15d3204052e8f0e5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x15d3204052e80f1a, rs 0x15d3204052e8f0e5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x15d3204052e8f0c6, rs 0x15d3204052e8f0e5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7897abf8, rs 0x7897ab07, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x789754f8, rs 0x7897ab07, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7897ab24, rs 0x7897ab07, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7caf83d2880ff3bb, rs 0x7caf83d2880ff344, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7caf83d2880f0cbb, rs 0x7caf83d2880ff344, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7caf83d2880ff367, rs 0x7caf83d2880ff344, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7c56b64f, rs 0x7c56b6b0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7c56494f, rs 0x7c56b6b0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7c56b693, rs 0x7c56b6b0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xf156a04c747def28, rs 0xf156a04c747defd7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xf156a04c747d1028, rs 0xf156a04c747defd7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xf156a04c747deff4, rs 0xf156a04c747defd7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x71159096, rs 0x71159069, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x71156f96, rs 0x71159069, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7115904a, rs 0x71159069, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x93e2601c0f31d7ef, rs 0x93e2601c0f31d710, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x93e2601c0f3128ef, rs 0x93e2601c0f31d710, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x93e2601c0f31d733, rs 0x93e2601c0f31d710, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x75d48d21, rs 0x75d48dde, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x75d47221, rs 0x75d48dde, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x75d48dfd, rs 0x75d48dde, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xe1e1a679131cd9cc, rs 0xe1e1a679131cd933, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xe1e1a679131c26cc, rs 0xe1e1a679131cd933, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xe1e1a679131cd910, rs 0xe1e1a679131cd933, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x6b93dd24, rs 0x6b93dddb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6b932224, rs 0x6b93dddb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x6b93ddf8, rs 0x6b93dddb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x24296b75a76fa4d8, rs 0x24296b75a76fa427, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x24296b75a76f5bd8, rs 0x24296b75a76fa427, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x24296b75a76fa404, rs 0x24296b75a76fa427, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x6f52c093, rs 0x6f52c06c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6f523f93, rs 0x6f52c06c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x6f52c04f, rs 0x6f52c06c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd296e2d2139ee595, rs 0xd296e2d2139ee56a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd296e2d2139e1a95, rs 0xd296e2d2139ee56a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd296e2d2139ee549, rs 0xd296e2d2139ee56a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x6211e64a, rs 0x6211e6b5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6211194a, rs 0x6211e6b5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x6211e696, rs 0x6211e6b5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5a82447f6dc2a53f, rs 0x5a82447f6dc2a5c0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5a82447f6dc25a3f, rs 0x5a82447f6dc2a5c0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5a82447f6dc2a5e3, rs 0x5a82447f6dc2a5c0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x66d0fbfd, rs 0x66d0fb02, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x66d004fd, rs 0x66d0fb02, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x66d0fb21, rs 0x66d0fb02, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x76c89e80c07dc197, rs 0x76c89e80c07dc168, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x76c89e80c07d3e97, rs 0x76c89e80c07dc168, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x76c89e80c07dc14b, rs 0x76c89e80c07dc168, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5e9f4640, rs 0x5e9f46bf, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5e9fb940, rs 0x5e9f46bf, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5e9f469c, rs 0x5e9f46bf, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x70dc3454bfe3470, rs 0x70dc3454bfe348f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x70dc3454bfecb70, rs 0x70dc3454bfe348f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x70dc3454bfe34ac, rs 0x70dc3454bfe348f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5a5e5bf7, rs 0x5a5e5b08, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5a5ea4f7, rs 0x5a5e5b08, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5a5e5b2b, rs 0x5a5e5b08, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xbddc7123dd6d24e4, rs 0xbddc7123dd6d241b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xbddc7123dd6ddbe4, rs 0xbddc7123dd6d241b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xbddc7123dd6d2438, rs 0xbddc7123dd6d241b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x571d7d2e, rs 0x571d7dd1, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x571d822e, rs 0x571d7dd1, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x571d7df2, rs 0x571d7dd1, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xf62fb727a59fce41, rs 0xf62fb727a59fcebe, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xf62fb727a59f3141, rs 0xf62fb727a59fcebe, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xf62fb727a59fce9d, rs 0xf62fb727a59fcebe, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x53dc6099, rs 0x53dc6066, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x53dc9f99, rs 0x53dc6066, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x53dc6045, rs 0x53dc6066, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x109f27e90f9f4604, rs 0x109f27e90f9f46fb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x109f27e90f9fb904, rs 0x109f27e90f9f46fb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x109f27e90f9f46d8, rs 0x109f27e90f9f46fb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4d9b309c, rs 0x4d9b3063, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4d9bcf9c, rs 0x4d9b3063, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4d9b3040, rs 0x4d9b3063, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3f63daa9afd19928, rs 0x3f63daa9afd199d7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3f63daa9afd16628, rs 0x3f63daa9afd199d7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3f63daa9afd199f4, rs 0x3f63daa9afd199d7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x495a2d2b, rs 0x495a2dd4, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x495ad22b, rs 0x495a2dd4, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x495a2df7, rs 0x495a2dd4, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xdbcb312ea3d4840d, rs 0xdbcb312ea3d484f2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xdbcb312ea3d47b0d, rs 0xdbcb312ea3d484f2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xdbcb312ea3d484d1, rs 0xdbcb312ea3d484f2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x44190bf2, rs 0x44190b0d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4419f4f2, rs 0x44190b0d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x44190b2e, rs 0x44190b0d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1f353faada4fe439, rs 0x1f353faada4fe4c6, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1f353faada4f1b39, rs 0x1f353faada4fe4c6, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1f353faada4fe4e5, rs 0x1f353faada4fe4c6, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x40d81645, rs 0x40d816ba, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x40d8e945, rs 0x40d816ba, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x40d81699, rs 0x40d816ba, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x8b086ee07150c29f, rs 0x8b086ee07150c260, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8b086ee071503d9f, rs 0x8b086ee07150c260, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x8b086ee07150c243, rs 0x8b086ee07150c260, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffaca5c668, rs 0xffffffffaca5c697, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffaca53968, rs 0xffffffffaca5c697, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffaca5c6b4, rs 0xffffffffaca5c697, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xe54750d5d9257fda, rs 0xe54750d5d9257f25, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xe54750d5d92580da, rs 0xe54750d5d9257f25, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xe54750d5d9257f06, rs 0xe54750d5d9257f25, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffa864dbdf, rs 0xffffffffa864db20, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffa86424df, rs 0xffffffffa864db20, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffa864db03, rs 0xffffffffa864db20, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3d69625fe9a6dba4, rs 0x3d69625fe9a6db5b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3d69625fe9a624a4, rs 0x3d69625fe9a6db5b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3d69625fe9a6db78, rs 0x3d69625fe9a6db5b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffa527fd06, rs 0xffffffffa527fdf9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffa5270206, rs 0xffffffffa527fdf9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffa527fdda, rs 0xffffffffa527fdf9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x70a3e0424340ac69, rs 0x70a3e0424340ac96, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x70a3e04243405369, rs 0x70a3e0424340ac96, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x70a3e0424340acb5, rs 0x70a3e0424340ac96, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffa1e6e0b1, rs 0xffffffffa1e6e04e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffa1e61fb1, rs 0xffffffffa1e6e04e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffa1e6e06d, rs 0xffffffffa1e6e04e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xc0478f03698017e1, rs 0xc0478f036980171e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xc0478f036980e8e1, rs 0xc0478f036980171e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xc0478f036980173d, rs 0xc0478f036980171e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffbfa1b0b4, rs 0xffffffffbfa1b04b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffbfa14fb4, rs 0xffffffffbfa1b04b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffbfa1b068, rs 0xffffffffbfa1b04b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3ce839a51cf9291c, rs 0x3ce839a51cf929e3, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3ce839a51cf9d61c, rs 0x3ce839a51cf929e3, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3ce839a51cf929c0, rs 0x3ce839a51cf929e3, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffbb60ad03, rs 0xffffffffbb60adfc, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffbb605203, rs 0xffffffffbb60adfc, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffbb60addf, rs 0xffffffffbb60adfc, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xe2fbfa895eb689a7, rs 0xe2fbfa895eb68958, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xe2fbfa895eb676a7, rs 0xe2fbfa895eb68958, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xe2fbfa895eb6897b, rs 0xe2fbfa895eb68958, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffb6238bda, rs 0xffffffffb6238b25, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffb62374da, rs 0xffffffffb6238b25, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffb6238b06, rs 0xffffffffb6238b25, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd24bb05d76ed2548, rs 0xd24bb05d76ed25b7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd24bb05d76edda48, rs 0xd24bb05d76ed25b7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd24bb05d76ed2594, rs 0xd24bb05d76ed25b7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffb2e2966d, rs 0xffffffffb2e29692, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffb2e2696d, rs 0xffffffffb2e29692, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffb2e296b1, rs 0xffffffffb2e29692, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xeb9682c1703120e, rs 0xeb9682c170312f1, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xeb9682c1703ed0e, rs 0xeb9682c170312f1, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xeb9682c170312d2, rs 0xeb9682c170312f1, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff8aad2bd0, rs 0xffffffff8aad2b2f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff8aadd4d0, rs 0xffffffff8aad2b2f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff8aad2b0c, rs 0xffffffff8aad2b2f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x84785280dd301df2, rs 0x84785280dd301d0d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x84785280dd30e2f2, rs 0x84785280dd301d0d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x84785280dd301d2e, rs 0x84785280dd301d0d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x179c77aa1f8fd610, rs 0x179c77aa1f8fd6ef, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x179c77aa1f8f2910, rs 0x179c77aa1f8fd6ef, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x179c77aa1f8fd6cc, rs 0x179c77aa1f8fd6ef, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x26444ced29984392, rs 0x26444ced2998436d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x26444ced2998bc92, rs 0x26444ced2998436d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x26444ced2998434e, rs 0x26444ced2998436d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff87ee0d09, rs 0xffffffff87ee0df6, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff87eef209, rs 0xffffffff87ee0df6, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff87ee0dd5, rs 0xffffffff87ee0df6, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7175c9dd58ca7f7, rs 0x7175c9dd58ca708, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7175c9dd58c58f7, rs 0x7175c9dd58ca708, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7175c9dd58ca72b, rs 0x7175c9dd58ca708, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff99a95d0c, rs 0xffffffff99a95df3, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff99a9a20c, rs 0xffffffff99a95df3, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff99a95dd0, rs 0xffffffff99a95df3, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x663d061055833278, rs 0x663d061055833287, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x663d06105583cd78, rs 0x663d061055833287, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x663d0610558332a4, rs 0x663d061055833287, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff9d6840bb, rs 0xffffffff9d684044, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff9d68bfbb, rs 0xffffffff9d684044, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff9d684067, rs 0xffffffff9d684044, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xab7dd0488951d674, rs 0xab7dd0488951d68b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xab7dd04889512974, rs 0xab7dd0488951d68b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xab7dd0488951d6a8, rs 0xab7dd0488951d68b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff902b6662, rs 0xffffffff902b669d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff902b9962, rs 0xffffffff902b669d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff902b66be, rs 0xffffffff902b669d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xf69823670e8247e4, rs 0xf69823670e82471b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xf69823670e82b8e4, rs 0xf69823670e82471b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xf69823670e824738, rs 0xf69823670e82471b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff94ea7bd5, rs 0xffffffff94ea7b2a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff94ea84d5, rs 0xffffffff94ea7b2a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff94ea7b09, rs 0xffffffff94ea7b2a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x36886c59d98d264d, rs 0x36886c59d98d26b2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x36886c59d98dd94d, rs 0x36886c59d98d26b2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x36886c59d98d2691, rs 0x36886c59d98d26b2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffe0b41d18, rs 0xffffffffe0b41de7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffe0b4e218, rs 0xffffffffe0b41de7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffe0b41dc4, rs 0xffffffffe0b41de7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x9ca4bdbd32be486, rs 0x9ca4bdbd32be479, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x9ca4bdbd32b1b86, rs 0x9ca4bdbd32be479, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x9ca4bdbd32be45a, rs 0x9ca4bdbd32be479, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffe47500af, rs 0xffffffffe4750050, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffe475ffaf, rs 0xffffffffe4750050, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffe4750073, rs 0xffffffffe4750050, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfd5d7d1d9962e6e0, rs 0xfd5d7d1d9962e61f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfd5d7d1d996219e0, rs 0xfd5d7d1d9962e61f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfd5d7d1d9962e63c, rs 0xfd5d7d1d9962e61f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffe9362676, rs 0xffffffffe9362689, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffe936d976, rs 0xffffffffe9362689, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffe93626aa, rs 0xffffffffe9362689, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3f46553ecad37420, rs 0x3f46553ecad374df, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3f46553ecad38b20, rs 0x3f46553ecad374df, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3f46553ecad374fc, rs 0x3f46553ecad374df, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffedf73bc1, rs 0xffffffffedf73b3e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffedf7c4c1, rs 0xffffffffedf73b3e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffedf73b1d, rs 0xffffffffedf73b3e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2e9ab97d3eedf258, rs 0x2e9ab97d3eedf2a7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2e9ab97d3eed0d58, rs 0x2e9ab97d3eedf2a7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2e9ab97d3eedf284, rs 0x2e9ab97d3eedf2a7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffff3b06bc4, rs 0xfffffffff3b06b3b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffff3b094c4, rs 0xfffffffff3b06b3b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffff3b06b18, rs 0xfffffffff3b06b3b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x36a6f7fa3c0c9fcc, rs 0x36a6f7fa3c0c9f33, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x36a6f7fa3c0c60cc, rs 0x36a6f7fa3c0c9f33, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x36a6f7fa3c0c9f10, rs 0x36a6f7fa3c0c9f33, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffff7717673, rs 0xfffffffff771768c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffff7718973, rs 0xfffffffff771768c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffff77176af, rs 0xfffffffff771768c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x8bb938e3155ec923, rs 0x8bb938e3155ec9dc, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8bb938e3155e3623, rs 0x8bb938e3155ec9dc, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x8bb938e3155ec9ff, rs 0x8bb938e3155ec9dc, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffffa3250aa, rs 0xfffffffffa325055, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffffa32afaa, rs 0xfffffffffa325055, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffffa325076, rs 0xfffffffffa325055, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd2df25c4194782f9, rs 0xd2df25c419478206, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd2df25c419477df9, rs 0xd2df25c419478206, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd2df25c419478225, rs 0xd2df25c419478206, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffffef34d1d, rs 0xfffffffffef34de2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffffef3b21d, rs 0xfffffffffef34de2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffffef34dc1, rs 0xfffffffffef34de2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xbc65bf27eb3218da, rs 0xbc65bf27eb321825, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xbc65bf27eb32e7da, rs 0xbc65bf27eb321825, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xbc65bf27eb321806, rs 0xbc65bf27eb321825, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffc6bcf0a0, rs 0xffffffffc6bcf05f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffc6bc0fa0, rs 0xffffffffc6bcf05f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffc6bcf07c, rs 0xffffffffc6bcf05f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xa8b08fe67a8bc725, rs 0xa8b08fe67a8bc7da, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xa8b08fe67a8b3825, rs 0xa8b08fe67a8bc7da, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xa8b08fe67a8bc7f9, rs 0xa8b08fe67a8bc7da, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffc27ded17, rs 0xffffffffc27dede8, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffc27d1217, rs 0xffffffffc27dede8, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffc27dedcb, rs 0xffffffffc27dede8, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x852b5bcaf8dfcd17, rs 0x852b5bcaf8dfcde8, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x852b5bcaf8df3217, rs 0x852b5bcaf8dfcde8, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x852b5bcaf8dfcdcb, rs 0x852b5bcaf8dfcde8, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffcf3ecbce, rs 0xffffffffcf3ecb31, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffcf3e34ce, rs 0xffffffffcf3ecb31, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffcf3ecb12, rs 0xffffffffcf3ecb31, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x478909b59a99296, rs 0x478909b59a99269, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x478909b59a96d96, rs 0x478909b59a99269, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x478909b59a9924a, rs 0x478909b59a99269, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffcbffd679, rs 0xffffffffcbffd686, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffcbff2979, rs 0xffffffffcbffd686, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffcbffd6a5, rs 0xffffffffcbffd686, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xbfb31cc8785736f0, rs 0xbfb31cc87857360f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xbfb31cc87857c9f0, rs 0xbfb31cc87857360f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xbfb31cc87857362c, rs 0xbfb31cc87857360f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffd5b8867c, rs 0xffffffffd5b88683, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffd5b8797c, rs 0xffffffffd5b88683, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffd5b886a0, rs 0xffffffffd5b88683, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xb665ed5e7f89e95d, rs 0xb665ed5e7f89e9a2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xb665ed5e7f89165d, rs 0xb665ed5e7f89e9a2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xb665ed5e7f89e981, rs 0xb665ed5e7f89e9a2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffd1799bcb, rs 0xffffffffd1799b34, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffd17964cb, rs 0xffffffffd1799b34, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffd1799b17, rs 0xffffffffd1799b34, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x15da9474b7a8d51b, rs 0x15da9474b7a8d5e4, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x15da9474b7a82a1b, rs 0x15da9474b7a8d5e4, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x15da9474b7a8d5c7, rs 0x15da9474b7a8d5e4, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffdc3abd12, rs 0xffffffffdc3abded, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffdc3a4212, rs 0xffffffffdc3abded, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffdc3abdce, rs 0xffffffffdc3abded, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xf6b3537d2af90f33, rs 0xf6b3537d2af90fcc, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xf6b3537d2af9f033, rs 0xf6b3537d2af90fcc, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xf6b3537d2af90fef, rs 0xf6b3537d2af90fcc, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffd8fba0a5, rs 0xffffffffd8fba05a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffd8fb5fa5, rs 0xffffffffd8fba05a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffd8fba079, rs 0xffffffffd8fba05a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x223d7cfe2b961868, rs 0x223d7cfe2b961897, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x223d7cfe2b96e768, rs 0x223d7cfe2b961897, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x223d7cfe2b9618b4, rs 0x223d7cfe2b961897, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x690ce011, rs 0x690ce0ee, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x690c1f11, rs 0x690ce0ee, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x690ce0cd, rs 0x690ce0ee, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x420b34f533734ab4, rs 0x420b34f533734a4b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x420b34f53373b5b4, rs 0x420b34f533734a4b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x420b34f533734a68, rs 0x420b34f533734a4b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x6dcdfda6, rs 0x6dcdfd59, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6dcd02a6, rs 0x6dcdfd59, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x6dcdfd7a, rs 0x6dcdfd59, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x897c8c8ddd46b3c3, rs 0x897c8c8ddd46b33c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x897c8c8ddd464cc3, rs 0x897c8c8ddd46b33c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x897c8c8ddd46b31f, rs 0x897c8c8ddd46b33c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x608edb7f, rs 0x608edb80, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x608e247f, rs 0x608edb80, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x608edba3, rs 0x608edb80, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7a387445e392cc26, rs 0x7a387445e392ccd9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7a387445e3923326, rs 0x7a387445e392ccd9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7a387445e392ccfa, rs 0x7a387445e392ccd9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x644fc6c8, rs 0x644fc637, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x644f39c8, rs 0x644fc637, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x644fc614, rs 0x644fc637, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x512f29b1d8000036, rs 0x512f29b1d80000c9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x512f29b1d800ff36, rs 0x512f29b1d80000c9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x512f29b1d80000ea, rs 0x512f29b1d80000c9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7a0896cd, rs 0x7a089632, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7a0869cd, rs 0x7a089632, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7a089611, rs 0x7a089632, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xeaded5c53dad02f5, rs 0xeaded5c53dad020a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xeaded5c53dadfdf5, rs 0xeaded5c53dad020a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xeaded5c53dad0229, rs 0xeaded5c53dad020a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7ec98b7a, rs 0x7ec98b85, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7ec9747a, rs 0x7ec98b85, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7ec98ba6, rs 0x7ec98b85, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x8a6229d731eea3a4, rs 0x8a6229d731eea35b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8a6229d731ee5ca4, rs 0x8a6229d731eea35b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x8a6229d731eea378, rs 0x8a6229d731eea35b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x738aada3, rs 0x738aad5c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x738a52a3, rs 0x738aad5c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x738aad7f, rs 0x738aad5c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2c3c3f9e489856b6, rs 0x2c3c3f9e48985649, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2c3c3f9e4898a9b6, rs 0x2c3c3f9e48985649, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2c3c3f9e4898566a, rs 0x2c3c3f9e48985649, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x774bb014, rs 0x774bb0eb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x774b4f14, rs 0x774bb0eb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x774bb0c8, rs 0x774bb0eb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7ff61e78dc9c0b88, rs 0x7ff61e78dc9c0b77, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7ff61e78dc9cf488, rs 0x7ff61e78dc9c0b77, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7ff61e78dc9c0b54, rs 0x7ff61e78dc9c0b77, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4f040da9, rs 0x4f040d56, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4f04f2a9, rs 0x4f040d56, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4f040d75, rs 0x4f040d56, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2299b0e01d5e6813, rs 0x2299b0e01d5e68ec, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2299b0e01d5e9713, rs 0x2299b0e01d5e68ec, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2299b0e01d5e68cf, rs 0x2299b0e01d5e68ec, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4bc5101e, rs 0x4bc510e1, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4bc5ef1e, rs 0x4bc510e1, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4bc510c2, rs 0x4bc510e1, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7c3b04673d0c6eda, rs 0x7c3b04673d0c6e25, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7c3b04673d0c91da, rs 0x7c3b04673d0c6e25, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7c3b04673d0c6e06, rs 0x7c3b04673d0c6e25, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x468636c7, rs 0x46863638, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4686c9c7, rs 0x46863638, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4686361b, rs 0x46863638, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x164e17c1e7fb6578, rs 0x164e17c1e7fb6587, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x164e17c1e7fb9a78, rs 0x164e17c1e7fb6587, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x164e17c1e7fb65a4, rs 0x164e17c1e7fb6587, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x42472b70, rs 0x42472b8f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4247d470, rs 0x42472b8f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x42472bac, rs 0x42472b8f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfa4ca28b56d495f4, rs 0xfa4ca28b56d4950b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfa4ca28b56d46af4, rs 0xfa4ca28b56d4950b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfa4ca28b56d49528, rs 0xfa4ca28b56d4950b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5c007b75, rs 0x5c007b8a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5c008475, rs 0x5c007b8a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5c007ba9, rs 0x5c007b8a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xe5e9a314be7fa075, rs 0xe5e9a314be7fa08a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xe5e9a314be7f5f75, rs 0xe5e9a314be7fa08a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xe5e9a314be7fa0a9, rs 0xe5e9a314be7fa08a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x58c166c2, rs 0x58c1663d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x58c199c2, rs 0x58c1663d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x58c1661e, rs 0x58c1663d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xf8be81641596493a, rs 0xf8be8164159649c5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xf8be81641596b63a, rs 0xf8be8164159649c5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xf8be8164159649e6, rs 0xf8be8164159649c5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5582401b, rs 0x558240e4, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5582bf1b, rs 0x558240e4, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x558240c7, rs 0x558240e4, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7ca3259784e69be8, rs 0x7ca3259784e69b17, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7ca3259784e664e8, rs 0x7ca3259784e69b17, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7ca3259784e69b34, rs 0x7ca3259784e69b17, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x51435dac, rs 0x51435d53, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5143a2ac, rs 0x51435d53, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x51435d70, rs 0x51435d53, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfc8d543ca1f24fa3, rs 0xfc8d543ca1f24f5c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfc8d543ca1f2b0a3, rs 0xfc8d543ca1f24f5c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfc8d543ca1f24f7f, rs 0xfc8d543ca1f24f5c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x251d3b61, rs 0x251d3b9e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x251dc461, rs 0x251d3b9e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x251d3bbd, rs 0x251d3b9e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4aeb6ca0e3459ec9, rs 0x4aeb6ca0e3459e36, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4aeb6ca0e34561c9, rs 0x4aeb6ca0e3459e36, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4aeb6ca0e3459e15, rs 0x4aeb6ca0e3459e36, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x21dc26d6, rs 0x21dc2629, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x21dcd9d6, rs 0x21dc2629, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x21dc260a, rs 0x21dc2629, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xc532e18e18798005, rs 0xc532e18e187980fa, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xc532e18e18797f05, rs 0xc532e18e187980fa, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xc532e18e187980d9, rs 0xc532e18e187980fa, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2c9f000f, rs 0x2c9f00f0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2c9fff0f, rs 0x2c9f00f0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2c9f00d3, rs 0x2c9f00f0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xb3fdec294f287de3, rs 0xb3fdec294f287d1c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xb3fdec294f2882e3, rs 0xb3fdec294f287d1c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xb3fdec294f287d3f, rs 0xb3fdec294f287d1c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x285e1db8, rs 0x285e1d47, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x285ee2b8, rs 0x285e1d47, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x285e1d64, rs 0x285e1d47, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xb620660a49732b6f, rs 0xb620660a49732b90, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xb620660a4973d46f, rs 0xb620660a49732b90, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xb620660a49732bb3, rs 0xb620660a49732b90, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x36194dbd, rs 0x36194d42, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3619b2bd, rs 0x36194d42, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x36194d61, rs 0x36194d42, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x993138f16cfde96e, rs 0x993138f16cfde991, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x993138f16cfd166e, rs 0x993138f16cfde991, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x993138f16cfde9b2, rs 0x993138f16cfde991, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x32d8500a, rs 0x32d850f5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x32d8af0a, rs 0x32d850f5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x32d850d6, rs 0x32d850f5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xde02d1337d540746, rs 0xde02d1337d5407b9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xde02d1337d54f846, rs 0xde02d1337d5407b9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xde02d1337d54079a, rs 0xde02d1337d5407b9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3f9b76d3, rs 0x3f9b762c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3f9b89d3, rs 0x3f9b762c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3f9b760f, rs 0x3f9b762c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x13a390e1e1dab1a5, rs 0x13a390e1e1dab15a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x13a390e1e1da4ea5, rs 0x13a390e1e1dab15a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x13a390e1e1dab179, rs 0x13a390e1e1dab15a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3b5a6b64, rs 0x3b5a6b9b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3b5a9464, rs 0x3b5a6b9b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3b5a6bb8, rs 0x3b5a6b9b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x743491a682871637, rs 0x743491a6828716c8, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x743491a68287e937, rs 0x743491a6828716c8, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x743491a6828716eb, rs 0x743491a6828716c8, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x315d6d9, rs 0x315d626, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x31529d9, rs 0x315d626, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x315d605, rs 0x315d626, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x8cff404aede2920d, rs 0x8cff404aede292f2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8cff404aede26d0d, rs 0x8cff404aede292f2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x8cff404aede292d1, rs 0x8cff404aede292f2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7d4cb6e, rs 0x7d4cb91, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7d4346e, rs 0x7d4cb91, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7d4cbb2, rs 0x7d4cb91, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xb9cec0db1f8376c9, rs 0xb9cec0db1f837636, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xb9cec0db1f8389c9, rs 0xb9cec0db1f837636, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xb9cec0db1f837615, rs 0xb9cec0db1f837636, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xa97edb7, rs 0xa97ed48, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xa9712b7, rs 0xa97ed48, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xa97ed6b, rs 0xa97ed48, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2eaa5aa7050977e3, rs 0x2eaa5aa70509771c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2eaa5aa7050988e3, rs 0x2eaa5aa70509771c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2eaa5aa70509773f, rs 0x2eaa5aa70509771c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xe56f000, rs 0xe56f0ff, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xe560f00, rs 0xe56f0ff, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xe56f0dc, rs 0xe56f0ff, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd327538e187524e4, rs 0xd327538e1875241b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd327538e1875dbe4, rs 0xd327538e1875241b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd327538e18752438, rs 0xd327538e1875241b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1011a005, rs 0x1011a0fa, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x10115f05, rs 0x1011a0fa, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1011a0d9, rs 0x1011a0fa, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x42e9f8548b739b94, rs 0x42e9f8548b739b6b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x42e9f8548b736494, rs 0x42e9f8548b739b6b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x42e9f8548b739b48, rs 0x42e9f8548b739b6b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x14d0bdb2, rs 0x14d0bd4d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x14d042b2, rs 0x14d0bd4d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x14d0bd6e, rs 0x14d0bd4d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x78e4e50ceccbbae5, rs 0x78e4e50ceccbba1a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x78e4e50ceccb45e5, rs 0x78e4e50ceccbba1a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x78e4e50ceccbba39, rs 0x78e4e50ceccbba1a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x19939b6b, rs 0x19939b94, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1993646b, rs 0x19939b94, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x19939bb7, rs 0x19939b94, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xf6b6fa3fcd9d2734, rs 0xf6b6fa3fcd9d27cb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xf6b6fa3fcd9dd834, rs 0xf6b6fa3fcd9d27cb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xf6b6fa3fcd9d27e8, rs 0xf6b6fa3fcd9d27cb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1d5286dc, rs 0x1d528623, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1d5279dc, rs 0x1d528623, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1d528600, rs 0x1d528623, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x73916483ae3e94dc, rs 0x73916483ae3e9423, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x73916483ae3e6bdc, rs 0x73916483ae3e9423, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x73916483ae3e9400, rs 0x73916483ae3e9423, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffff12f56f1, rs 0xfffffffff12f560e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffff12fa9f1, rs 0xfffffffff12f560e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffff12f562d, rs 0xfffffffff12f560e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x276af70a0e12859e, rs 0x276af70a0e128561, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x276af70a0e127a9e, rs 0x276af70a0e128561, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x276af70a0e128542, rs 0x276af70a0e128561, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffff5ee4b46, rs 0xfffffffff5ee4bb9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffff5eeb446, rs 0xfffffffff5ee4bb9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffff5ee4b9a, rs 0xfffffffff5ee4bb9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3045bf6b5e74b91, rs 0x3045bf6b5e74b6e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3045bf6b5e7b491, rs 0x3045bf6b5e74b6e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3045bf6b5e74b4d, rs 0x3045bf6b5e74b6e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffff8ad6d9f, rs 0xfffffffff8ad6d60, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffff8ad929f, rs 0xfffffffff8ad6d60, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffff8ad6d43, rs 0xfffffffff8ad6d60, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x20223f1308accf59, rs 0x20223f1308accfa6, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x20223f1308ac3059, rs 0x20223f1308accfa6, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x20223f1308accf85, rs 0x20223f1308accfa6, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffffc6c7028, rs 0xfffffffffc6c70d7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffffc6c8f28, rs 0xfffffffffc6c70d7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffffc6c70f4, rs 0xfffffffffc6c70d7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xf83c55743976b50a, rs 0xf83c55743976b5f5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xf83c557439764a0a, rs 0xf83c55743976b5f5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xf83c55743976b5d6, rs 0xf83c55743976b5f5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffe22b202d, rs 0xffffffffe22b20d2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffe22bdf2d, rs 0xffffffffe22b20d2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffe22b20f1, rs 0xffffffffe22b20d2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1f9720f946923cc2, rs 0x1f9720f946923c3d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1f9720f94692c3c2, rs 0x1f9720f946923c3d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1f9720f946923c1e, rs 0x1f9720f946923c3d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffe6ea3d9a, rs 0xffffffffe6ea3d65, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffe6eac29a, rs 0xffffffffe6ea3d65, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffe6ea3d46, rs 0xffffffffe6ea3d65, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x620d28506d244822, rs 0x620d28506d2448dd, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x620d28506d24b722, rs 0x620d28506d2448dd, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x620d28506d2448fe, rs 0x620d28506d2448dd, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffeba91b43, rs 0xffffffffeba91bbc, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffeba9e443, rs 0xffffffffeba91bbc, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffeba91b9f, rs 0xffffffffeba91bbc, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x60a521e99ff4a7cd, rs 0x60a521e99ff4a732, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x60a521e99ff458cd, rs 0x60a521e99ff4a732, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x60a521e99ff4a711, rs 0x60a521e99ff4a732, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffef6806f4, rs 0xffffffffef68060b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffef68f9f4, rs 0xffffffffef68060b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffef680628, rs 0xffffffffef68060b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5a08f3ab5c680ff4, rs 0x5a08f3ab5c680f0b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5a08f3ab5c68f0f4, rs 0x5a08f3ab5c680f0b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5a08f3ab5c680f28, rs 0x5a08f3ab5c680f0b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffd727bb49, rs 0xffffffffd727bbb6, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffd7274449, rs 0xffffffffd727bbb6, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffd727bb95, rs 0xffffffffd727bbb6, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xc7a59be7800f3dd9, rs 0xc7a59be7800f3d26, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xc7a59be7800fc2d9, rs 0xc7a59be7800f3d26, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xc7a59be7800f3d05, rs 0xc7a59be7800f3d26, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffd3e6a6fe, rs 0xffffffffd3e6a601, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffd3e659fe, rs 0xffffffffd3e6a601, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffd3e6a622, rs 0xffffffffd3e6a601, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1aecdf2982ca1bbe, rs 0x1aecdf2982ca1b41, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1aecdf2982cae4be, rs 0x1aecdf2982ca1b41, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1aecdf2982ca1b62, rs 0x1aecdf2982ca1b41, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffdea58027, rs 0xffffffffdea580d8, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffdea57f27, rs 0xffffffffdea580d8, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffdea580fb, rs 0xffffffffdea580d8, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2b8613a260d19d32, rs 0x2b8613a260d19dcd, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2b8613a260d16232, rs 0x2b8613a260d19dcd, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2b8613a260d19dee, rs 0x2b8613a260d19dcd, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffda649d90, rs 0xffffffffda649d6f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffda646290, rs 0xffffffffda649d6f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffda649d4c, rs 0xffffffffda649d6f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2518ac8b0e8bbe80, rs 0x2518ac8b0e8bbe7f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2518ac8b0e8b4180, rs 0x2518ac8b0e8bbe7f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2518ac8b0e8bbe5c, rs 0x2518ac8b0e8bbe7f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffc423cd95, rs 0xffffffffc423cd6a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffc4233295, rs 0xffffffffc423cd6a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffc423cd49, rs 0xffffffffc423cd6a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x743e568d2fcf4894, rs 0x743e568d2fcf486b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x743e568d2fcfb794, rs 0x743e568d2fcf486b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x743e568d2fcf4848, rs 0x743e568d2fcf486b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x126f646f34c317d7, rs 0x126f646f34c31728, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x126f646f34c3e8d7, rs 0x126f646f34c31728, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x126f646f34c3170b, rs 0x126f646f34c31728, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffcda1f6fb, rs 0xffffffffcda1f604, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffcda109fb, rs 0xffffffffcda1f604, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffcda1f627, rs 0xffffffffcda1f604, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xaab0196156fc4ded, rs 0xaab0196156fc4d12, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xaab0196156fcb2ed, rs 0xaab0196156fc4d12, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xaab0196156fc4d31, rs 0xaab0196156fc4d12, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xff, rs 0x0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffff, rs 0x0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x0, rs 0x0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x23, rs 0x0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7535cd338595d3bd, rs 0x7535cd338595d342, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7535cd3385952cbd, rs 0x7535cd338595d342, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7535cd338595d361, rs 0x7535cd338595d342, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffbd3e8d81, rs 0xffffffffbd3e8d7e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffbd3e7281, rs 0xffffffffbd3e8d7e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffbd3e8d5d, rs 0xffffffffbd3e8d7e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xdfb254da42234613, rs 0xdfb254da422346ec, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xdfb254da4223b913, rs 0xdfb254da422346ec, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xdfb254da422346cf, rs 0xdfb254da422346ec, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffb9ff9036, rs 0xffffffffb9ff90c9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffb9ff6f36, rs 0xffffffffb9ff90c9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffb9ff90ea, rs 0xffffffffb9ff90c9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xa86726c90081abd5, rs 0xa86726c90081ab2a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xa86726c9008154d5, rs 0xa86726c90081ab2a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xa86726c90081ab09, rs 0xa86726c90081ab2a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffb4bcb6ef, rs 0xffffffffb4bcb610, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffb4bc49ef, rs 0xffffffffb4bcb610, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffb4bcb633, rs 0xffffffffb4bcb610, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x9bfeffa1679d74c7, rs 0x9bfeffa1679d7438, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x9bfeffa1679d8bc7, rs 0x9bfeffa1679d7438, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x9bfeffa1679d741b, rs 0x9bfeffa1679d7438, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffb07dab58, rs 0xffffffffb07daba7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffb07d5458, rs 0xffffffffb07daba7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffb07dab84, rs 0xffffffffb07daba7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xc7699826b7dee2bb, rs 0xc7699826b7dee244, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xc7699826b7de1dbb, rs 0xc7699826b7dee244, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xc7699826b7dee267, rs 0xc7699826b7dee244, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffae3afb5d, rs 0xffffffffae3afba2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffae3a045d, rs 0xffffffffae3afba2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffae3afb81, rs 0xffffffffae3afba2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3c07af97fba670b5, rs 0x3c07af97fba6704a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3c07af97fba68fb5, rs 0x3c07af97fba6704a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3c07af97fba67069, rs 0x3c07af97fba6704a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffaafbe6ea, rs 0xffffffffaafbe615, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffaafb19ea, rs 0xffffffffaafbe615, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffaafbe636, rs 0xffffffffaafbe615, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x521364dc04c58b01, rs 0x521364dc04c58bfe, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x521364dc04c57401, rs 0x521364dc04c58bfe, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x521364dc04c58bdd, rs 0x521364dc04c58bfe, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffa7b8c033, rs 0xffffffffa7b8c0cc, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffa7b83f33, rs 0xffffffffa7b8c0cc, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffa7b8c0ef, rs 0xffffffffa7b8c0cc, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xe0f7bb589ab7ae43, rs 0xe0f7bb589ab7aebc, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xe0f7bb589ab75143, rs 0xe0f7bb589ab7aebc, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xe0f7bb589ab7ae9f, rs 0xe0f7bb589ab7aebc, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffa379dd84, rs 0xffffffffa379dd7b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffa3792284, rs 0xffffffffa379dd7b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffa379dd58, rs 0xffffffffa379dd7b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xe336c60cdeeb95b2, rs 0xe336c60cdeeb954d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xe336c60cdeeb6ab2, rs 0xe336c60cdeeb954d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xe336c60cdeeb956e, rs 0xe336c60cdeeb954d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff9b366039, rs 0xffffffff9b3660c6, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff9b369f39, rs 0xffffffff9b3660c6, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff9b3660e5, rs 0xffffffff9b3660c6, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd5b2120c6f524191, rs 0xd5b2120c6f52416e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd5b2120c6f52be91, rs 0xd5b2120c6f52416e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd5b2120c6f52414d, rs 0xd5b2120c6f52416e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff9ff77d8e, rs 0xffffffff9ff77d71, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff9ff7828e, rs 0xffffffff9ff77d71, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff9ff77d52, rs 0xffffffff9ff77d71, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x85a2d4ff7e628acb, rs 0x85a2d4ff7e628a34, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x85a2d4ff7e6275cb, rs 0x85a2d4ff7e628a34, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x85a2d4ff7e628a17, rs 0x85a2d4ff7e628a34, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff92b45b57, rs 0xffffffff92b45ba8, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff92b4a457, rs 0xffffffff92b45ba8, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff92b45b8b, rs 0xffffffff92b45ba8, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x986a2b654a4e7ef8, rs 0x986a2b654a4e7e07, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x986a2b654a4e81f8, rs 0x986a2b654a4e7e07, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x986a2b654a4e7e24, rs 0x986a2b654a4e7e07, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff967546e0, rs 0xffffffff9675461f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff9675b9e0, rs 0xffffffff9675461f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff9675463c, rs 0xffffffff9675461f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xa974eac43a489baa, rs 0xa974eac43a489b55, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xa974eac43a4864aa, rs 0xa974eac43a489b55, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xa974eac43a489b76, rs 0xa974eac43a489b55, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff883216e5, rs 0xffffffff8832161a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff8832e9e5, rs 0xffffffff8832161a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff88321639, rs 0xffffffff8832161a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xa388c16272f1f80a, rs 0xa388c16272f1f8f5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xa388c16272f1070a, rs 0xa388c16272f1f8f5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xa388c16272f1f8d6, rs 0xa388c16272f1f8f5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff8cf30b52, rs 0xffffffff8cf30bad, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff8cf3f452, rs 0xffffffff8cf30bad, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff8cf30b8e, rs 0xffffffff8cf30bad, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xe8c11f45e7495e56, rs 0xe8c11f45e7495ea9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xe8c11f45e749a156, rs 0xe8c11f45e7495ea9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xe8c11f45e7495e8a, rs 0xe8c11f45e7495ea9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff81b02d8b, rs 0xffffffff81b02d74, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff81b0d28b, rs 0xffffffff81b02d74, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff81b02d57, rs 0xffffffff81b02d74, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xadaa5a765cc1c84b, rs 0xadaa5a765cc1c8b4, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xadaa5a765cc1374b, rs 0xadaa5a765cc1c8b4, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xadaa5a765cc1c897, rs 0xadaa5a765cc1c8b4, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff8571303c, rs 0xffffffff857130c3, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff8571cf3c, rs 0xffffffff857130c3, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff857130e0, rs 0xffffffff857130c3, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7ab4ce88dfa6053f, rs 0x7ab4ce88dfa605c0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7ab4ce88dfa6fa3f, rs 0x7ab4ce88dfa605c0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7ab4ce88dfa605e3, rs 0x7ab4ce88dfa605c0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5d8a9066, rs 0x5d8a9099, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5d8a6f66, rs 0x5d8a9099, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5d8a90ba, rs 0x5d8a9099, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xb42ad6e659a7b0b0, rs 0xb42ad6e659a7b04f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xb42ad6e659a74fb0, rs 0xb42ad6e659a7b04f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xb42ad6e659a7b06c, rs 0xb42ad6e659a7b04f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x594b8dd1, rs 0x594b8d2e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x594b72d1, rs 0x594b8d2e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x594b8d0d, rs 0x594b8d2e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4bf8485ab72892d0, rs 0x4bf8485ab728922f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4bf8485ab7286dd0, rs 0x4bf8485ab728922f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4bf8485ab728920c, rs 0x4bf8485ab728922f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5408ab08, rs 0x5408abf7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x54085408, rs 0x5408abf7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5408abd4, rs 0x5408abf7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x76a3d60c3b66a704, rs 0x76a3d60c3b66a7fb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x76a3d60c3b665804, rs 0x76a3d60c3b66a7fb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x76a3d60c3b66a7d8, rs 0x76a3d60c3b66a7fb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x50c9b6bf, rs 0x50c9b640, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x50c949bf, rs 0x50c9b640, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x50c9b663, rs 0x50c9b640, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x31e0c6affdc28e25, rs 0x31e0c6affdc28eda, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x31e0c6affdc27125, rs 0x31e0c6affdc28eda, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x31e0c6affdc28ef9, rs 0x31e0c6affdc28eda, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4e8ee6ba, rs 0x4e8ee645, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4e8e19ba, rs 0x4e8ee645, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4e8ee666, rs 0x4e8ee645, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x53606bb4bf0c9962, rs 0x53606bb4bf0c999d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x53606bb4bf0c6662, rs 0x53606bb4bf0c999d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x53606bb4bf0c99be, rs 0x53606bb4bf0c999d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4a4ffb0d, rs 0x4a4ffbf2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4a4f040d, rs 0x4a4ffbf2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4a4ffbd1, rs 0x4a4ffbf2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x32fc12c81b79190f, rs 0x32fc12c81b7919f0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x32fc12c81b79e60f, rs 0x32fc12c81b7919f0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x32fc12c81b7919d3, rs 0x32fc12c81b7919f0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x470cddd4, rs 0x470cdd2b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x470c22d4, rs 0x470cdd2b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x470cdd08, rs 0x470cdd2b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3ef88384c72efc29, rs 0x3ef88384c72efcd6, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3ef88384c72e0329, rs 0x3ef88384c72efcd6, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3ef88384c72efcf5, rs 0x3ef88384c72efcd6, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x43cdc063, rs 0x43cdc09c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x43cd3f63, rs 0x43cdc09c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x43cdc0bf, rs 0x43cdc09c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x38b1c7bb6a2a357f, rs 0x38b1c7bb6a2a3580, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x38b1c7bb6a2aca7f, rs 0x38b1c7bb6a2a3580, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x38b1c7bb6a2a35a3, rs 0x38b1c7bb6a2a3580, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7b827dde, rs 0x7b827d21, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7b8282de, rs 0x7b827d21, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7b827d02, rs 0x7b827d21, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x15ebf6121dca7736, rs 0x15ebf6121dca77c9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x15ebf6121dca8836, rs 0x15ebf6121dca77c9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x15ebf6121dca77ea, rs 0x15ebf6121dca77c9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7f436069, rs 0x7f436096, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7f439f69, rs 0x7f436096, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7f4360b5, rs 0x7f436096, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5eaacdd9fd914751, rs 0x5eaacdd9fd9147ae, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5eaacdd9fd91b851, rs 0x5eaacdd9fd9147ae, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5eaacdd9fd91478d, rs 0x5eaacdd9fd9147ae, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x720046b0, rs 0x7200464f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7200b9b0, rs 0x7200464f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7200466c, rs 0x7200464f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xbb8470f981e911e8, rs 0xbb8470f981e91117, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xbb8470f981e9eee8, rs 0xbb8470f981e91117, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xbb8470f981e91134, rs 0xbb8470f981e91117, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x76c15b07, rs 0x76c15bf8, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x76c1a407, rs 0x76c15bf8, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x76c15bdb, rs 0x76c15bf8, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x5d42aeac6a5321f, rs 0x5d42aeac6a532e0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x5d42aeac6a5cd1f, rs 0x5d42aeac6a532e0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x5d42aeac6a532c3, rs 0x5d42aeac6a532e0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x68860b02, rs 0x68860bfd, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6886f402, rs 0x68860bfd, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x68860bde, rs 0x68860bfd, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x14abf36419fb9e9c, rs 0x14abf36419fb9e63, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x14abf36419fb619c, rs 0x14abf36419fb9e63, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x14abf36419fb9e40, rs 0x14abf36419fb9e63, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x6c4716b5, rs 0x6c47164a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6c47e9b5, rs 0x6c47164a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x6c471669, rs 0x6c47164a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x249d559aa8d72a53, rs 0x249d559aa8d72aac, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x249d559aa8d7d553, rs 0x249d559aa8d72aac, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x249d559aa8d72a8f, rs 0x249d559aa8d72aac, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x6104306c, rs 0x61043093, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6104cf6c, rs 0x61043093, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x610430b0, rs 0x61043093, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xcd6764f084b3013, rs 0xcd6764f084b30ec, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xcd6764f084bcf13, rs 0xcd6764f084b30ec, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xcd6764f084b30cf, rs 0xcd6764f084b30ec, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x65c52ddb, rs 0x65c52d24, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x65c5d2db, rs 0x65c52d24, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x65c52d07, rs 0x65c52d24, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7f03ac0792468f20, rs 0x7f03ac0792468fdf, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7f03ac0792467020, rs 0x7f03ac0792468fdf, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7f03ac0792468ffc, rs 0x7f03ac0792468fdf, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x119b4b16, rs 0x119b4be9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x119bb416, rs 0x119b4be9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x119b4bca, rs 0x119b4be9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7e35ce6d56e6700a, rs 0x7e35ce6d56e670f5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7e35ce6d56e68f0a, rs 0x7e35ce6d56e670f5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7e35ce6d56e670d6, rs 0x7e35ce6d56e670f5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x155a56a1, rs 0x155a565e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x155aa9a1, rs 0x155a565e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x155a567d, rs 0x155a565e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x152828591a6527ee, rs 0x152828591a652711, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x152828591a65d8ee, rs 0x152828591a652711, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x152828591a652732, rs 0x152828591a652711, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x18197078, rs 0x18197087, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x18198f78, rs 0x18197087, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x181970a4, rs 0x18197087, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x9e1c3283d215a904, rs 0x9e1c3283d215a9fb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x9e1c3283d2155604, rs 0x9e1c3283d215a9fb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x9e1c3283d215a9d8, rs 0x9e1c3283d215a9fb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1cd86dcf, rs 0x1cd86d30, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1cd892cf, rs 0x1cd86d30, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1cd86d13, rs 0x1cd86d30, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x8d95c049282a04e8, rs 0x8d95c049282a0417, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8d95c049282afbe8, rs 0x8d95c049282a0417, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x8d95c049282a0434, rs 0x8d95c049282a0417, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x29f3dca, rs 0x29f3d35, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x29fc2ca, rs 0x29f3d35, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x29f3d16, rs 0x29f3d35, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xf2e7a4909780580c, rs 0xf2e7a490978058f3, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xf2e7a4909780a70c, rs 0xf2e7a490978058f3, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xf2e7a490978058d0, rs 0xf2e7a490978058f3, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x65e207d, rs 0x65e2082, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x65edf7d, rs 0x65e2082, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x65e20a1, rs 0x65e2082, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x775b4cca0975b155, rs 0x775b4cca0975b1aa, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x775b4cca09754e55, rs 0x775b4cca0975b1aa, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x775b4cca0975b189, rs 0x775b4cca0975b1aa, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xb1d06a4, rs 0xb1d065b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xb1df9a4, rs 0xb1d065b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xb1d0678, rs 0xb1d065b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xa2b84a6351110df, rs 0xa2b84a635111020, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xa2b84a63511efdf, rs 0xa2b84a635111020, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xa2b84a635111003, rs 0xa2b84a635111020, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfdc1b13, rs 0xfdc1bec, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfdce413, rs 0xfdc1bec, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfdc1bcf, rs 0xfdc1bec, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x23fa0d3a7d88b90, rs 0x23fa0d3a7d88b6f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x23fa0d3a7d87490, rs 0x23fa0d3a7d88b6f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x23fa0d3a7d88b4c, rs 0x23fa0d3a7d88b6f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3793a6ae, rs 0x3793a651, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x379359ae, rs 0x3793a651, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3793a672, rs 0x3793a651, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xa3d991b79941de22, rs 0xa3d991b79941dedd, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xa3d991b799412122, rs 0xa3d991b79941dedd, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xa3d991b79941defe, rs 0xa3d991b79941dedd, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3352bb19, rs 0x3352bbe6, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x33524419, rs 0x3352bbe6, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3352bbc5, rs 0x3352bbe6, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x751cb4835a0d95f7, rs 0x751cb4835a0d9508, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x751cb4835a0d6af7, rs 0x751cb4835a0d9508, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x751cb4835a0d952b, rs 0x751cb4835a0d9508, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3e119dc0, rs 0x3e119d3f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3e1162c0, rs 0x3e119d3f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3e119d1c, rs 0x3e119d3f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x949cad35625bb22c, rs 0x949cad35625bb2d3, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x949cad35625b4d2c, rs 0x949cad35625bb2d3, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x949cad35625bb2f0, rs 0x949cad35625bb2d3, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3ad08077, rs 0x3ad08088, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3ad07f77, rs 0x3ad08088, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3ad080ab, rs 0x3ad08088, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7f567f35a69297c6, rs 0x7f567f35a6929739, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7f567f35a69268c6, rs 0x7f567f35a6929739, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7f567f35a692971a, rs 0x7f567f35a6929739, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2497d072, rs 0x2497d08d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x24972f72, rs 0x2497d08d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2497d0ae, rs 0x2497d08d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x185b88e0db8d7dd8, rs 0x185b88e0db8d7d27, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x185b88e0db8d82d8, rs 0x185b88e0db8d7d27, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x185b88e0db8d7d04, rs 0x185b88e0db8d7d27, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2056cdc5, rs 0x2056cd3a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x205632c5, rs 0x2056cd3a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2056cd19, rs 0x2056cd3a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x255a4cd22fd61b6e, rs 0x255a4cd22fd61b91, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x255a4cd22fd6e46e, rs 0x255a4cd22fd61b91, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x255a4cd22fd61bb2, rs 0x255a4cd22fd61b91, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2d15eb1c, rs 0x2d15ebe3, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2d15141c, rs 0x2d15ebe3, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2d15ebc0, rs 0x2d15ebe3, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1048d589a4363f84, rs 0x1048d589a4363f7b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1048d589a436c084, rs 0x1048d589a4363f7b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1048d589a4363f58, rs 0x1048d589a4363f7b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x29d4f6ab, rs 0x29d4f654, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x29d409ab, rs 0x29d4f654, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x29d4f677, rs 0x29d4f654, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x6a6d5708f460576f, rs 0x6a6d5708f4605790, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x6a6d5708f460a86f, rs 0x6a6d5708f4605790, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x6a6d5708f46057b3, rs 0x6a6d5708f4605790, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffc5a92686, rs 0xffffffffc5a92679, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffc5a9d986, rs 0xffffffffc5a92679, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffc5a9265a, rs 0xffffffffc5a92679, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd58ecbabde356980, rs 0xd58ecbabde35697f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd58ecbabde359680, rs 0xd58ecbabde35697f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd58ecbabde35695c, rs 0xd58ecbabde35697f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffc1683b31, rs 0xffffffffc1683bce, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffc168c431, rs 0xffffffffc1683bce, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffc1683bed, rs 0xffffffffc1683bce, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x575548fd08c0a50e, rs 0x575548fd08c0a5f1, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x575548fd08c05a0e, rs 0x575548fd08c0a5f1, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x575548fd08c0a5d2, rs 0x575548fd08c0a5f1, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffcc2b1de8, rs 0xffffffffcc2b1d17, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffcc2be2e8, rs 0xffffffffcc2b1d17, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffcc2b1d34, rs 0xffffffffcc2b1d17, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x8bb640fb8ed98d24, rs 0x8bb640fb8ed98ddb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x8bb640fb8ed97224, rs 0x8bb640fb8ed98ddb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x8bb640fb8ed98df8, rs 0x8bb640fb8ed98ddb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffc8ea005f, rs 0xffffffffc8ea00a0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffc8eaff5f, rs 0xffffffffc8ea00a0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffc8ea0083, rs 0xffffffffc8ea00a0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xbe00d51eabc57833, rs 0xbe00d51eabc578cc, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xbe00d51eabc58733, rs 0xbe00d51eabc578cc, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xbe00d51eabc578ef, rs 0xbe00d51eabc578cc, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffd6ad505a, rs 0xffffffffd6ad50a5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffd6adaf5a, rs 0xffffffffd6ad50a5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffd6ad5086, rs 0xffffffffd6ad50a5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x2f7e224a1c170a4d, rs 0x2f7e224a1c170ab2, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x2f7e224a1c17f54d, rs 0x2f7e224a1c170ab2, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x2f7e224a1c170a91, rs 0x2f7e224a1c170ab2, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffd26c4ded, rs 0xffffffffd26c4d12, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffd26cb2ed, rs 0xffffffffd26c4d12, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffd26c4d31, rs 0xffffffffd26c4d12, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xa978f12ca2225658, rs 0xa978f12ca22256a7, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xa978f12ca222a958, rs 0xa978f12ca22256a7, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xa978f12ca2225684, rs 0xa978f12ca22256a7, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffdf2f6b34, rs 0xffffffffdf2f6bcb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffdf2f9434, rs 0xffffffffdf2f6bcb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffdf2f6be8, rs 0xffffffffdf2f6bcb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x9950a93b811ee0d0, rs 0x9950a93b811ee02f, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x9950a93b811e1fd0, rs 0x9950a93b811ee02f, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x9950a93b811ee00c, rs 0x9950a93b811ee02f, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffdbee7683, rs 0xffffffffdbee767c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffdbee8983, rs 0xffffffffdbee767c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffdbee765f, rs 0xffffffffdbee767c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xb44eea93c6796af3, rs 0xb44eea93c6796a0c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xb44eea93c67995f3, rs 0xb44eea93c6796a0c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xb44eea93c6796a2f, rs 0xb44eea93c6796a0c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffe3a1cb3e, rs 0xffffffffe3a1cbc1, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffe3a1343e, rs 0xffffffffe3a1cbc1, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffe3a1cbe2, rs 0xffffffffe3a1cbc1, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfe71fca06c0eb6a8, rs 0xfe71fca06c0eb657, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfe71fca06c0e49a8, rs 0xfe71fca06c0eb657, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfe71fca06c0eb674, rs 0xfe71fca06c0eb657, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffe760d689, rs 0xffffffffe760d676, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffe7602989, rs 0xffffffffe760d676, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffe760d655, rs 0xffffffffe760d676, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x4ed6393df818afa8, rs 0x4ed6393df818af57, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x4ed6393df81850a8, rs 0x4ed6393df818af57, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x4ed6393df818af74, rs 0x4ed6393df818af57, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffea23f050, rs 0xffffffffea23f0af, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffea230f50, rs 0xffffffffea23f0af, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffea23f08c, rs 0xffffffffea23f0af, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xf22e9020023677f5, rs 0xf22e90200236770a, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xf22e9020023688f5, rs 0xf22e90200236770a, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xf22e902002367729, rs 0xf22e90200236770a, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffeee2ede7, rs 0xffffffffeee2ed18, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffeee212e7, rs 0xffffffffeee2ed18, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffeee2ed3b, rs 0xffffffffeee2ed18, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x81efb6c7afd0c4a2, rs 0x81efb6c7afd0c45d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x81efb6c7afd03ba2, rs 0x81efb6c7afd0c45d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x81efb6c7afd0c47e, rs 0x81efb6c7afd0c45d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffff0a5bde2, rs 0xfffffffff0a5bd1d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffff0a542e2, rs 0xfffffffff0a5bd1d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffff0a5bd3e, rs 0xfffffffff0a5bd1d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xeed8f351810231a4, rs 0xeed8f3518102315b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xeed8f3518102cea4, rs 0xeed8f3518102315b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xeed8f35181023178, rs 0xeed8f3518102315b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffff464a055, rs 0xfffffffff464a0aa, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffff4645f55, rs 0xfffffffff464a0aa, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffff464a089, rs 0xfffffffff464a0aa, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xadafefb9995efda1, rs 0xadafefb9995efd5e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xadafefb9995e02a1, rs 0xadafefb9995efd5e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xadafefb9995efd7d, rs 0xadafefb9995efd5e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffff927868c, rs 0xfffffffff9278673, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffff927798c, rs 0xfffffffff9278673, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffff9278650, rs 0xfffffffff9278673, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x34061933eb253079, rs 0x34061933eb253086, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x34061933eb25cf79, rs 0x34061933eb253086, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x34061933eb2530a5, rs 0x34061933eb253086, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xfffffffffde69b3b, rs 0xfffffffffde69bc4, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xfffffffffde6643b, rs 0xfffffffffde69bc4, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xfffffffffde69be7, rs 0xfffffffffde69bc4, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x1748da264b4c5243, rs 0x1748da264b4c52bc, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x1748da264b4cad43, rs 0x1748da264b4c52bc, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x1748da264b4c529f, rs 0x1748da264b4c52bc, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff89b8fdf6, rs 0xffffffff89b8fd09, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff89b802f6, rs 0xffffffff89b8fd09, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff89b8fd2a, rs 0xffffffff89b8fd09, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x34fdfc9a9302be76, rs 0x34fdfc9a9302be89, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x34fdfc9a93024176, rs 0x34fdfc9a9302be89, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x34fdfc9a9302beaa, rs 0x34fdfc9a9302be89, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff8d79e041, rs 0xffffffff8d79e0be, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff8d791f41, rs 0xffffffff8d79e0be, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff8d79e09d, rs 0xffffffff8d79e0be, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xd00278c3c521d17f, rs 0xd00278c3c521d180, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xd00278c3c5212e7f, rs 0xd00278c3c521d180, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xd00278c3c521d1a3, rs 0xd00278c3c521d180, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff803ac698, rs 0xffffffff803ac667, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff803a3998, rs 0xffffffff803ac667, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff803ac644, rs 0xffffffff803ac667, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xe90944a4c1d37aa2, rs 0xe90944a4c1d37a5d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xe90944a4c1d385a2, rs 0xe90944a4c1d37a5d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xe90944a4c1d37a7e, rs 0xe90944a4c1d37a5d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff84fbdb2f, rs 0xffffffff84fbdbd0, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff84fb242f, rs 0xffffffff84fbdbd0, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff84fbdbf3, rs 0xffffffff84fbdbd0, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x65fd698fddef98c6, rs 0x65fd698fddef9839, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x65fd698fddef67c6, rs 0x65fd698fddef9839, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x65fd698fddef981a, rs 0x65fd698fddef9839, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff9abc8b2a, rs 0xffffffff9abc8bd5, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff9abc742a, rs 0xffffffff9abc8bd5, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff9abc8bf6, rs 0xffffffff9abc8bd5, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xc49ee3ad81b5afad, rs 0xc49ee3ad81b5af52, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xc49ee3ad81b550ad, rs 0xc49ee3ad81b5af52, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xc49ee3ad81b5af71, rs 0xc49ee3ad81b5af52, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff9e7d969d, rs 0xffffffff9e7d9662, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff9e7d699d, rs 0xffffffff9e7d9662, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff9e7d9641, rs 0xffffffff9e7d9662, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x7aa941e8bdb26316, rs 0x7aa941e8bdb263e9, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x7aa941e8bdb29c16, rs 0x7aa941e8bdb263e9, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x7aa941e8bdb263ca, rs 0x7aa941e8bdb263e9, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff933eb044, rs 0xffffffff933eb0bb, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff933e4f44, rs 0xffffffff933eb0bb, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff933eb098, rs 0xffffffff933eb0bb, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x372c209e42f3b572, rs 0x372c209e42f3b58d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x372c209e42f34a72, rs 0x372c209e42f3b58d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x372c209e42f3b5ae, rs 0x372c209e42f3b58d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffff97ffadf3, rs 0xffffffff97ffad0c, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffff97ff52f3, rs 0xffffffff97ffad0c, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffff97ffad2f, rs 0xffffffff97ffad0c, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x30f870b7e122a8c4, rs 0x30f870b7e122a83b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x30f870b7e12257c4, rs 0x30f870b7e122a83b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x30f870b7e122a818, rs 0x30f870b7e122a83b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffafb0104e, rs 0xffffffffafb010b1, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffafb0ef4e, rs 0xffffffffafb010b1, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffafb01092, rs 0xffffffffafb010b1, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x9e02de4b67893013, rs 0x9e02de4b678930ec, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x9e02de4b6789cf13, rs 0x9e02de4b678930ec, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x9e02de4b678930cf, rs 0x9e02de4b678930ec, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffab710df9, rs 0xffffffffab710d06, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffab71f2f9, rs 0xffffffffab710d06, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffab710d25, rs 0xffffffffab710d06, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xcd61a863982663e1, rs 0xcd61a8639826631e, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xcd61a86398269ce1, rs 0xcd61a8639826631e, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xcd61a8639826633d, rs 0xcd61a8639826631e, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffa6322b20, rs 0xffffffffa6322bdf, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffa632d420, rs 0xffffffffa6322bdf, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffa6322bfc, rs 0xffffffffa6322bdf, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xae87bc899a7bd335, rs 0xae87bc899a7bd3ca, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xae87bc899a7b2c35, rs 0xae87bc899a7bd3ca, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xae87bc899a7bd3e9, rs 0xae87bc899a7bd3ca, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffa2f33697, rs 0xffffffffa2f33668, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffa2f3c997, rs 0xffffffffa2f33668, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffa2f3364b, rs 0xffffffffa2f33668, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x58ec644d6481afe8, rs 0x58ec644d6481af17, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x58ec644d648150e8, rs 0x58ec644d6481af17, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x58ec644d6481af34, rs 0x58ec644d6481af17, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffbcb46692, rs 0xffffffffbcb4666d, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffbcb49992, rs 0xffffffffbcb4666d, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffbcb4664e, rs 0xffffffffbcb4666d, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x680cce5fb236b699, rs 0x680cce5fb236b666, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x680cce5fb2364999, rs 0x680cce5fb236b666, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x680cce5fb236b645, rs 0x680cce5fb236b666, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffb8757b25, rs 0xffffffffb8757bda, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffb8758425, rs 0xffffffffb8757bda, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffb8757bf9, rs 0xffffffffb8757bda, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x3baa99471f6d4d8a, rs 0x3baa99471f6d4d75, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x3baa99471f6db28a, rs 0x3baa99471f6d4d75, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x3baa99471f6d4d56, rs 0x3baa99471f6d4d75, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffb5365dfc, rs 0xffffffffb5365d03, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffb536a2fc, rs 0xffffffffb5365d03, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffb5365d20, rs 0xffffffffb5365d03, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0x614d9b445f122394, rs 0x614d9b445f12236b, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0x614d9b445f12dc94, rs 0x614d9b445f12236b, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0x614d9b445f122348, rs 0x614d9b445f12236b, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xffffffffb1f7404b, rs 0xffffffffb1f740b4, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xffffffffb1f7bf4b, rs 0xffffffffb1f740b4, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xffffffffb1f74097, rs 0xffffffffb1f740b4, imm 0x0023
+xori $t0, $t1, 0xff :: rt 0xa2a6ec661ba841de, rs 0xa2a6ec661ba84121, imm 0x00ff
+xori $t2, $t3, 0xffff :: rt 0xa2a6ec661ba8bede, rs 0xa2a6ec661ba84121, imm 0xffff
+xori $a0, $a1, 0x0 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+xori $s0, $s1, 0x23 :: rt 0xa2a6ec661ba84102, rs 0xa2a6ec661ba84121, imm 0x0023
diff --git a/none/tests/mips64/logical_instructions.vgtest b/none/tests/mips64/logical_instructions.vgtest
new file mode 100644
index 0000000..9f67795
--- /dev/null
+++ b/none/tests/mips64/logical_instructions.vgtest
@@ -0,0 +1,2 @@
+prog: logical_instructions
+vgopts: -q
diff --git a/none/tests/mips64/macro_fpu.h b/none/tests/mips64/macro_fpu.h
new file mode 100644
index 0000000..2d1c48c
--- /dev/null
+++ b/none/tests/mips64/macro_fpu.h
@@ -0,0 +1,338 @@
+#include "const.h"
+
+typedef enum {
+   ABSS=0, ABSD,   ADDS,   ADDD,
+   DIVS,   DIVD,   MULS,   MULD,
+   NEGS,   NEGD,   SQRTS,  SQRTD,
+   SUBS,   SUBD,   RECIPS, RECIPD,
+   RSQRTS, RSQRTD, MSUBS,  MSUBD,
+   MADDS,  MADDD,  NMADDS, NMADDD,
+   NMSUBS, NMSUBD
+} flt_art_op_t;
+
+typedef enum {
+   CEILWS=0, CEILWD,  FLOORWS,  FLOORWD,
+   ROUNDWS,  ROUNDWD, TRUNCWS,  TRUNCWD,
+   CEILLS,   CEILLD,  FLOORLS,  FLOORLD,
+   ROUNDLS,  ROUNDLD, TRUNCLS,  TRUNCLD
+} flt_dir_op_t;
+
+typedef enum {
+   CVTDS, CVTDW, CVTSD, CVTSW,
+   CVTWS, CVTWD, CVTDL, CVTLS,
+   CVTLD, CVTSL,
+} flt_round_op_t;
+
+const char *flt_art_op_names[] = {
+   "abs.s",   "abs.d",   "add.s",   "add.d",
+   "div.s",   "div.d",   "mul.s",   "mul.d",
+   "neg.s",   "neg.d",   "sqrt.s",  "sqrt.d",
+   "sub.s",   "sub.d",   "recip.s", "recip.d",
+   "rsqrt.s", "rsqrt.d", "msub.s",  "msub.d",
+   "madd.s",  "madd.d",  "nmadd.s", "nmadd.d",
+   "nmsub.s", "nmsub.d"
+};
+
+const char *flt_dir_op_names[] = {
+   "ceil.w.s",  "ceil.w.d",
+   "floor.w.s", "floor.w.d",
+   "round.w.s", "round.w.d",
+   "trunc.w.s", "trunc.w.d",
+   "ceil.l.s",  "ceil.l.d",
+   "floor.l.s", "floor.l.d",
+   "round.l.s", "round.l.d",
+   "trunc.l.s", "trunc.l.d"
+};
+
+const char *flt_round_op_names[] = {
+   "cvt.d.s", "cvt.d.w",
+   "cvt.s.d", "cvt.s.w",
+   "cvt.w.s", "cvt.w.d",
+   "cvt.d.l", "cvt.l.s",
+   "cvt.l.d", "cvt.s.l",
+};
+
+#define UNOPdd(op)         \
+   fd_d = 0;               \
+   __asm__ __volatile__(   \
+      op" %0, %1"  "\n\t"  \
+      : "=f"(fd_d)         \
+      : "f"(fs_d[i])       \
+   );
+
+#define UNOPff(op)        \
+   fd_f = 0;              \
+   __asm__ __volatile__(  \
+      op" %0, %1"  "\n\t" \
+      : "=f"(fd_f)        \
+      : "f"(fs_f[i])      \
+   );
+
+#define UNOPfd(op)        \
+   fd_d = 0;              \
+   __asm__ __volatile__(  \
+      op" %0, %1"  "\n\t" \
+      : "=f"(fd_d)        \
+      : "f"(fs_f[i])      \
+   );
+
+#define UNOPdf(op)        \
+   fd_f = 0;              \
+   __asm__ __volatile__(  \
+      op" %0, %1"  "\n\t" \
+      : "=f"(fd_f)        \
+      : "f"(fs_d[i])      \
+   );
+
+#define UNOPfw(op)             \
+   fd_w = 0;                   \
+   __asm__ __volatile__(       \
+      op"   $f0, %1"   "\n\t"  \
+      "mfc1 %0,  $f0"  "\n\t"  \
+      : "=r"(fd_w)             \
+      : "f"(fs_f[i])           \
+      : "$f0"                  \
+   );
+
+#define UNOPdw(op)             \
+   fd_w = 0;                   \
+   __asm__ __volatile__(       \
+      op"   $f0, %1"   "\n\t"  \
+      "mfc1 %0,  $f0"  "\n\t"  \
+      : "=r"(fd_w)             \
+      : "f"(fs_d[i])           \
+      : "$f0"                  \
+   );
+
+#define UNOPwd(op)            \
+   fd_d = 0;                  \
+   __asm__ __volatile__(      \
+      "mtc1 %1, $f0"  "\n\t"  \
+      op"   %0, $f0"  "\n\t"  \
+      : "=f"(fd_d)            \
+      : "r"(fs_w[i])          \
+      : "$f0"                 \
+   );
+
+#define UNOPwf(op)            \
+   fd_f = 0;                  \
+   __asm__ __volatile__(      \
+      "mtc1 %1, $f0"  "\n\t"  \
+      op"   %0, $f0"  "\n\t"  \
+      : "=f"(fd_f)            \
+      : "r"(fs_w[i])          \
+      : "$f0"                 \
+   );
+
+#define UNOPld(op)             \
+   fd_d = 0;                   \
+   __asm__ __volatile__(       \
+      "dmtc1 %1, $f0"  "\n\t"  \
+      op"    %0, $f0"  "\n\t"  \
+      : "=f"(fd_d)             \
+      : "r"(fs_l[i])           \
+      : "$f0"                  \
+   );
+
+#define UNOPdl(op)              \
+   fd_l = 0;                    \
+   __asm__ __volatile__(        \
+      op"    $f0, %1"   "\n\t"  \
+      "dmfc1 %0,  $f0"  "\n\t"  \
+      : "=r"(fd_l)              \
+      : "f"(fs_d[i])            \
+      : "$f0"                   \
+   );
+
+#define UNOPls(op)             \
+   fd_f = 0;                   \
+   __asm__ __volatile__(       \
+      "dmtc1 %1, $f0"  "\n\t"  \
+      op"    %0, $f0"  "\n\t"  \
+      : "=f"(fd_f)             \
+      : "r"(fs_l[i])           \
+      : "$f0"                  \
+   );
+
+#define UNOPsl(op)              \
+   fd_l = 0;                    \
+   __asm__ __volatile__(        \
+      op"    $f0, %1"   "\n\t"  \
+      "dmfc1 %0,  $f0"  "\n\t"  \
+      : "=r"(fd_l)              \
+      : "f"(fs_f[i])            \
+      : "$f0"                   \
+   );
+
+#define BINOPf(op)                    \
+   fd_f = 0;                          \
+   __asm__ __volatile__(              \
+      op" %0, %1, %2"  "\n\t"         \
+      : "=f" (fd_f)                   \
+      : "f" (fs_f[i]), "f" (ft_f[i])  \
+   );
+
+#define BINOPd(op)                    \
+   fd_d = 0;                          \
+   __asm__ __volatile__(              \
+      op" %0, %1, %2"  "\n\t"         \
+      : "=f"(fd_d)                    \
+      : "f" (fs_d[i]), "f" (ft_d[i])  \
+   );
+
+#define TRIOPf(op)                                    \
+   fd_f = 0;                                          \
+   __asm__ __volatile__(                              \
+      op" %0, %1, %2, %3"  "\n\t"                     \
+      : "=f" (fd_f)                                   \
+      : "f" (fr_f[i]), "f" (fs_f[i]) , "f" (ft_f[i])  \
+   );
+
+#define TRIOPd(op)                                    \
+   fd_d = 0;                                          \
+   __asm__ __volatile__(                              \
+      op" %0, %1, %2, %3"  "\n\t"                     \
+      : "=f"(fd_d)                                    \
+      : "f" (fr_d[i]), "f" (fs_d[i]) , "f" (ft_d[i])  \
+   );
+
+/* Conditional macros.*/
+#define TESTINST1s(instruction, RDval)               \
+{                                                    \
+   float outf = 0;                                   \
+   __asm__ __volatile__(                             \
+      ".set        noreorder"                "\n\t"  \
+      "mov.s       $f1,   %1"                "\n\t"  \
+      "mov.s       $f2,   %2"                "\n\t"  \
+      "mtc1        $zero, $f0"               "\n\t"  \
+      "c.eq.s      $f1,   $f2"               "\n\t"  \
+      instruction" end"instruction"s"#RDval  "\n\t"  \
+      "nop"                                  "\n\t"  \
+      "add.s       $f0,   $f0, $f1"          "\n\t"  \
+      "end"instruction"s"#RDval":"           "\n\t"  \
+      "add.s       $f0,   $f0, $f2"          "\n\t"  \
+      "mov.s       %0,    $f0"               "\n\t"  \
+      ".set        reorder"                  "\n\t"  \
+      : "=f" (outf)                                  \
+      : "f" (fs_f[i]) , "f" (ft_f[i])                \
+      : "$f0", "$f1", "$f2"                          \
+   );                                                \
+   printf("%s, c.eq.s   out=%f, fs=%f, ft=%f\n",     \
+          instruction, outf, fs_f[i], ft_f[i]);      \
+}
+
+#define TESTINST1d(instruction, RDval)               \
+{                                                    \
+   double outd = 0;                                  \
+   __asm__ __volatile__(                             \
+      ".set        noreorder"                "\n\t"  \
+      "mov.d       $f1,   %1"                "\n\t"  \
+      "mov.d       $f2,   %2"                "\n\t"  \
+      "dmtc1       $zero, $f0"               "\n\t"  \
+      "c.eq.d      $f1,   $f2"               "\n\t"  \
+      instruction" end"instruction"d"#RDval  "\n\t"  \
+      "nop"                                  "\n\t"  \
+      "add.d       $f0,   $f0, $f1"          "\n\t"  \
+      "end"instruction"d"#RDval":"           "\n\t"  \
+      "add.d       $f0,   $f0, $f2"          "\n\t"  \
+      "mov.d       %0,    $f0"               "\n\t"  \
+      ".set        reorder"                  "\n\t"  \
+      : "=f" (outd)                                  \
+      : "f" (fs_d[i]) , "f" (ft_d[i])                \
+      : "$f0", "$f1", "$f2"                          \
+   );                                                \
+   printf("%s, c.eq.d   out=%f, fs=%f, ft=%f\n",     \
+          instruction, outd, fs_d[i], ft_d[i]);      \
+}
+
+#define TESTINST2s(instruction, RDval)               \
+{                                                    \
+   float outf = 0;                                   \
+   __asm__ __volatile__(                             \
+      ".set        noreorder"                "\n\t"  \
+      "mov.s       $f1,   %1"                "\n\t"  \
+      "mov.s       $f2,   %2"                "\n\t"  \
+      "mtc1        $zero, $f0"               "\n\t"  \
+      "c.eq.s      $f1,   $f2"               "\n\t"  \
+      instruction" end"instruction"s"#RDval  "\n\t"  \
+      "add.s       $f0,   $f0, $f1"          "\n\t"  \
+      "end"instruction"s"#RDval":"           "\n\t"  \
+      "add.s       $f0,   $f0, $f2"          "\n\t"  \
+      "mov.s       %0, $f0"                  "\n\t"  \
+      ".set        reorder"                  "\n\t"  \
+      : "=f" (outf)                                  \
+      : "f" (fs_f[i]) , "f" (ft_f[i])                \
+      : "$f0", "$f1", "$f2"                          \
+   );                                                \
+   printf("%s, c.eq.s   out=%f, fs=%f, ft=%f\n",     \
+          instruction, outf, fs_f[i], ft_f[i]);      \
+}
+
+#define TESTINST2d(instruction, RDval)               \
+{                                                    \
+   double outd = 0;                                  \
+   __asm__ __volatile__(                             \
+      ".set        noreorder"                "\n\t"  \
+      "mov.d       $f1,   %1"                "\n\t"  \
+      "mov.d       $f2,   %2"                "\n\t"  \
+      "dmtc1       $zero, $f0"               "\n\t"  \
+      "c.eq.d      $f1,   $f2"               "\n\t"  \
+      instruction" end"instruction"d"#RDval  "\n\t"  \
+      "add.d       $f0,   $f0, $f1"          "\n\t"  \
+      "end"instruction"d"#RDval":"           "\n\t"  \
+      "add.d       $f0,   $f0, $f2"          "\n\t"  \
+      "mov.d       %0, $f0"                  "\n\t"  \
+      ".set        reorder"                  "\n\t"  \
+      : "=f" (outd)                                  \
+      : "f" (fs_d[i]) , "f" (ft_d[i])                \
+      : "$f0", "$f1", "$f2"                          \
+   );                                                \
+   printf("%s, c.eq.d   out=%f, fs=%f, ft=%f\n",     \
+          instruction, outd, fs_d[i], ft_d[i]);      \
+}
+
+#define TESTINST_CONDs(instruction, RDval)       \
+{                                                \
+   float outf = 0;                               \
+   __asm__ __volatile__(                         \
+      ".set        noreorder"         "\n\t"     \
+      "mov.s       $f1,   %1"         "\n\t"     \
+      "mov.s       $f2,   %2"         "\n\t"     \
+      "mov.s       $f0,   %1"         "\n\t"     \
+      instruction" $f1,   $f2"        "\n\t"     \
+      "bc1f end"instruction"s"#RDval  "\n\t"     \
+      "nop"                           "\n\t"     \
+      "add.s       $f0,   $f0, $f2"   "\n\t"     \
+      "end"instruction"s"#RDval":"    "\n\t"     \
+      "mov.s       %0,    $f0"        "\n\t"     \
+      ".set        reorder"           "\n\t"     \
+      : "=f" (outf)                              \
+      : "f" (fs_f[i]) , "f" (ft_f[i])            \
+      : "$f0", "$f1", "$f2"                      \
+   );                                            \
+   printf("%s, bc1f   out=%f, fs=%f, ft=%f\n",   \
+          instruction, outf, fs_f[i], ft_f[i]);  \
+}
+
+#define TESTINST_CONDd(instruction, RDval)       \
+{                                                \
+   double outd = 0;                              \
+   __asm__ __volatile__(                         \
+      ".set        noreorder"         "\n\t"     \
+      "mov.d       $f1,   %1"         "\n\t"     \
+      "mov.d       $f2,   %2"         "\n\t"     \
+      "mov.d       $f0,   %1"         "\n\t"     \
+      instruction" $f1,   $f2"        "\n\t"     \
+      "bc1f end"instruction"d"#RDval  "\n\t"     \
+      "nop"                           "\n\t"     \
+      "add.d       $f0,   $f0, $f2"   "\n\t"     \
+      "end"instruction"d"#RDval":"    "\n\t"     \
+      "mov.d       %0,    $f0"        "\n\t"     \
+      ".set        reorder"           "\n\t"     \
+      : "=f" (outd)                              \
+      : "f" (fs_d[i]) , "f" (ft_d[i])            \
+      : "$f0", "$f1", "$f2"                      \
+   );                                            \
+   printf("%s, bc1f   out=%f, fs=%f, ft=%f\n",   \
+          instruction, outd, fs_d[i], ft_d[i]);  \
+}
diff --git a/none/tests/mips64/macro_int.h b/none/tests/mips64/macro_int.h
new file mode 100644
index 0000000..e2fea7b
--- /dev/null
+++ b/none/tests/mips64/macro_int.h
@@ -0,0 +1,103 @@
+#define TEST1(instruction, RSval, RTval, RD, RS, RT)  \
+{                                                     \
+   unsigned long long out;                            \
+   __asm__ __volatile__(                              \
+      "move $"#RS", %1"     "\n\t"                    \
+      "move $"#RT", %2"     "\n\t"                    \
+      "move $"#RD", $zero"  "\n\t"                    \
+      instruction           "\n\t"                    \
+      "move %0,     $"#RD   "\n\t"                    \
+      : "=r" (out)                                    \
+      : "r" (RSval), "r" (RTval)                      \
+      : #RD, #RS, #RT                                 \
+   );                                                 \
+   printf("%s :: rd 0x%llx, rs 0x%llx, rt 0x%llx\n",  \
+          instruction, out, (long long) RSval,        \
+          (long long) RTval);                         \
+}
+
+#define TEST2(instruction, RSval, imm, RT, RS)         \
+{                                                      \
+   unsigned long long out;                             \
+   __asm__ __volatile__(                               \
+      "move $"#RS", %1"     "\n\t"                     \
+      "move $"#RT", $zero"  "\n\t"                     \
+      instruction           "\n\t"                     \
+      "move %0,     $"#RT   "\n\t"                     \
+      : "=r" (out)                                     \
+      : "r" (RSval)                                    \
+      : #RT, #RS                                       \
+   );                                                  \
+   printf("%s :: rt 0x%llx, rs 0x%llx, imm 0x%04x\n",  \
+          instruction, out, (long long) RSval, imm);   \
+}
+
+#define TEST3(instruction, RSval, RD, RS)        \
+{                                                \
+   unsigned long long out;                       \
+   __asm__ __volatile__(                         \
+      "move $"#RS", %1"     "\n\t"               \
+      "move $"#RD", $zero"  "\n\t"               \
+      instruction           "\n\t"               \
+      "move %0,     $"#RD   "\n\t"               \
+      : "=r" (out)                               \
+      : "r" (RSval)                              \
+      : #RD, #RS                                 \
+   );                                            \
+   printf("%s :: rd 0x%llx, rs 0x%llx\n",        \
+          instruction, out, (long long) RSval);  \
+}
+
+#define TEST4(instruction, RSval, RTval, RS, RT)                       \
+{                                                                      \
+   unsigned long long HI;                                              \
+   unsigned long long LO;                                              \
+   __asm__ __volatile__(                                               \
+      "move $"#RS", %2"  "\n\t"                                        \
+      "move $"#RT", %3"  "\n\t"                                        \
+      "mthi $zero"       "\n\t"                                        \
+      "mtlo $zero"       "\n\t"                                        \
+      instruction        "\n\t"                                        \
+      "mfhi %0"          "\n\t"                                        \
+      "mflo %1"          "\n\t"                                        \
+      : "=r" (HI), "=r" (LO)                                           \
+      : "r" (RSval), "r"(RTval)                                        \
+      : #RS, #RT                                                       \
+   );                                                                  \
+   printf("%s :: rs 0x%llx, rt 0x%llx, HI 0x%llx, LO 0x%llx\n",        \
+          instruction, (long long) RSval, (long long) RTval, HI, LO);  \
+}
+
+#define TEST5(instruction, RSval, RTval, RS, RT)                       \
+{                                                                      \
+   unsigned long long HI;                                              \
+   unsigned long long LO;                                              \
+   __asm__ __volatile__(                                               \
+      "move $"#RS", %2"  "\n\t"                                        \
+      "move $"#RT", %3"  "\n\t"                                        \
+      "mthi $"#RS        "\n\t"                                        \
+      "mtlo $"#RT        "\n\t"                                        \
+      instruction        "\n\t"                                        \
+      "mfhi %0"          "\n\t"                                        \
+      "mflo %1"          "\n\t"                                        \
+      : "=r" (HI), "=r" (LO)                                           \
+      : "r" (RSval), "r"(RTval)                                        \
+      : #RS, #RT                                                       \
+   );                                                                  \
+   printf("%s :: rs 0x%llx, rt 0x%llx, HI 0x%llx, LO 0x%llx\n",        \
+          instruction, (long long) RSval, (long long) RTval, HI, LO);  \
+}
+
+#define TEST6(instruction, imm, RT)         \
+{                                           \
+   unsigned long long out;                  \
+   __asm__ __volatile__(                    \
+      "move $"#RT", $zero"  "\n\t"          \
+      instruction           "\n\t"          \
+      "move %0, $"#RT       "\n\t"          \
+      : "=r" (out) :                        \
+      : #RT                                 \
+   );                                       \
+   printf("%s :: rt 0x%llx, imm 0x%04x\n",  \
+          instruction, out, imm);           \
+}
diff --git a/none/tests/mips64/macro_load_store.h b/none/tests/mips64/macro_load_store.h
new file mode 100644
index 0000000..7fb34c6
--- /dev/null
+++ b/none/tests/mips64/macro_load_store.h
@@ -0,0 +1,159 @@
+#include "const.h"
+
+#define TEST1(instruction, offset, mem)        \
+{                                              \
+   unsigned long out = 0;                      \
+   __asm__ __volatile__(                       \
+      "move        $t0, %1"        "\n\t"      \
+      "move        $t1, %2"        "\n\t"      \
+      "daddu       $t0, $t0, $t1"  "\n\t"      \
+      "move        $t1, $zero"     "\n\t"      \
+      instruction" $t1, 0($t0)"    "\n\t"      \
+      "move        %0,  $t1"       "\n\t"      \
+      : "=r" (out)                             \
+      : "r" (mem), "r" (offset)                \
+      : "t0", "t1"                             \
+   );                                          \
+   printf("%s :: offset: 0x%x, out: 0x%lx\n",  \
+          instruction, offset, out);           \
+}
+
+#define TEST2(instruction, offset)                           \
+{                                                            \
+   unsigned long out = 0;                                    \
+   unsigned long outHI = 0;                                  \
+   __asm__ __volatile__(                                     \
+      "move        $t0, %2"          "\n\t"                  \
+      "move        $t1, %4"          "\n\t"                  \
+      "daddu       $t0, $t0, $t1"    "\n\t"                  \
+      "ld          $t3, 0($t0)"      "\n\t"                  \
+      "move        $t1, %3"          "\n\t"                  \
+      "move        $t2, %4"          "\n\t"                  \
+      "daddu       $t1, $t1, $t2"    "\n\t"                  \
+      instruction" $t3, 0($t1)"      "\n\t"                  \
+      "li          $t2, 7"           "\n\t"                  \
+      "nor         $t2, $t2, $zero"  "\n\t"                  \
+      "and         $t1, $t1, $t2"    "\n\t"                  \
+      "ld          %0,  0($t1)"      "\n\t"                  \
+      "ld          %1,  8($t1)"      "\n\t"                  \
+      : "=r" (out), "=r" (outHI)                             \
+      : "r" (reg_val2) , "r" (reg_val_zero), "r" (offset)    \
+      : "t0", "t1", "t2", "t3"                               \
+   );                                                        \
+   printf("%s :: offset: 0x%x, out: 0x%lx, outHI: 0x%lx\n",  \
+          instruction, offset, out, outHI);                  \
+}
+
+#define TEST3(instruction, offset, mem)         \
+{                                               \
+   unsigned long long out = 0;                  \
+   __asm__ __volatile__(                        \
+      "move        $t0,   %1"        "\n\t"     \
+      "move        $t1,   %2"        "\n\t"     \
+      "daddu       $t0,   $t0, $t1"  "\n\t"     \
+      "dmtc1       $zero, $f0"       "\n\t"     \
+      instruction" $f0,  0($t0)"     "\n\t"     \
+      "dmfc1       %0,    $f0"       "\n\t"     \
+      : "=r" (out)                              \
+      : "r" (mem) , "r" (offset)                \
+      : "t0", "t1", "$f0"                       \
+   );                                           \
+   printf("%s :: offset: 0x%x, out: 0x%llx\n",  \
+          instruction, offset, out);            \
+}
+
+#define TEST3w(instruction, offset, mem)      \
+{                                             \
+   unsigned int out = 0;                      \
+   __asm__ __volatile__(                      \
+      "move        $t0,   %1"        "\n\t"   \
+      "move        $t1,   %2"        "\n\t"   \
+      "daddu       $t0,   $t0, $t1"  "\n\t"   \
+      "dmtc1       $zero, $f0"       "\n\t"   \
+      instruction" $f0,  0($t0)"     "\n\t"   \
+      "mfc1        %0,    $f0"       "\n\t"   \
+      : "=r" (out)                            \
+      : "r" (mem) , "r" (offset)              \
+      : "t0", "t1", "$f0"                     \
+   );                                         \
+   printf("%s :: offset: 0x%x, out: 0x%x\n",  \
+          instruction, offset, out);          \
+}
+
+#define TEST4(instruction, offset)                         \
+{                                                          \
+   unsigned long long out = 0;                             \
+   __asm__ __volatile__(                                   \
+      "move        $t0, %1"        "\n\t"                  \
+      "move        $t1, %3"        "\n\t"                  \
+      "daddu       $t0, $t0, $t1"  "\n\t"                  \
+      "ld          $t2, 0($t0)"    "\n\t"                  \
+      "move        $t0, %2"        "\n\t"                  \
+      "daddu       $t0, $t0, $t1"  "\n\t"                  \
+      "dmtc1       $t2, $f0"       "\n\t"                  \
+      instruction" $f0, 0($t0)"    "\n\t"                  \
+      "ld          %0,  0($t0)"    "\n\t"                  \
+      : "=r" (out)                                         \
+      : "r" (reg_val1) , "r" (reg_val_zero), "r" (offset)  \
+      : "t0", "t1", "t2", "$f0"                            \
+   );                                                      \
+   printf("%s :: offset: 0x%x, out: 0x%llx\n",             \
+          instruction, offset, out);                       \
+}
+
+#define TEST5(instruction, offset, mem)         \
+{                                               \
+   unsigned long long out = 0;                  \
+   __asm__ __volatile__(                        \
+      "move        $t0,   %1"        "\n\t"     \
+      "move        $t1,   %2"        "\n\t"     \
+      "dmtc1       $zero, $f0"       "\n\t"     \
+      instruction" $f0,   $t1($t0)"  "\n\t"     \
+      "dmfc1       %0,    $f0"       "\n\t"     \
+      : "=r" (out)                              \
+      : "r" (mem) , "r" (offset)                \
+      : "t0", "t1", "$f0"                       \
+   );                                           \
+   printf("%s :: offset: 0x%x, out: 0x%llx\n",  \
+          instruction, offset, out);            \
+}
+
+#define TEST5w(instruction, offset, mem)      \
+{                                             \
+   unsigned int out = 0;                      \
+   __asm__ __volatile__(                      \
+      "move        $t0,   %1"        "\n\t"   \
+      "move        $t1,   %2"        "\n\t"   \
+      "dmtc1       $zero, $f0"       "\n\t"   \
+      instruction" $f0,   $t1($t0)"  "\n\t"   \
+      "mfc1        %0,    $f0"       "\n\t"   \
+      : "=r" (out)                            \
+      : "r" (mem) , "r" (offset)              \
+      : "t0", "t1", "$f0"                     \
+   );                                         \
+   printf("%s :: offset: 0x%x, out: 0x%x\n",  \
+          instruction, offset, out);          \
+}
+
+#define TEST6(instruction, offset)                         \
+{                                                          \
+   unsigned long long out = 0;                             \
+   __asm__ __volatile__(                                   \
+      "move        $t0, %1"        "\n\t"                  \
+      "move        $t1, %3"        "\n\t"                  \
+      "daddu       $t0, $t0, $t1"  "\n\t"                  \
+      "ld          $t3, 0($t0)"    "\n\t"                  \
+      "move        $t1, %2"        "\n\t"                  \
+      "move        $t2, %3"        "\n\t"                  \
+      "daddu       $t1, $t1, $t2"  "\n\t"                  \
+      "dmtc1       $t3, $f3"       "\n\t"                  \
+      "move        $t0, %3"        "\n\t"                  \
+      instruction" $f3, $t0($t1)"  "\n\t"                  \
+      "ld          %0,  0($t1)"    "\n\t"                  \
+      : "=r" (out)                                         \
+      : "r" (reg_val2) , "r" (reg_val_zero), "r" (offset)  \
+      : "t0", "t1", "t2", "t3"                             \
+   );                                                      \
+   printf("%s :: offset: 0x%x, out: 0x%llx\n",             \
+          instruction, offset, out);                       \
+}
diff --git a/none/tests/mips64/move_instructions.c b/none/tests/mips64/move_instructions.c
new file mode 100644
index 0000000..647e6fc
--- /dev/null
+++ b/none/tests/mips64/move_instructions.c
@@ -0,0 +1,371 @@
+#include <stdio.h>
+#include "const.h"
+
+const float reg_val_f[] = {
+   -347856.475, 356047.56,   -1.0,       23.04,
+   1752,        0.0024575,   0.00000001, -248562.76,
+   1384.6,      -7.2945676,  1000000000, -5786.47,
+   -347856.475, 356047.56,   -1.0,       23.04,
+   0,           456.2489562, 3,          -1,
+   -45786.476,  456.2489562, 34.00046,   45786.476,
+   0,           456.2489562, 3,          -1,
+   1384.6,      -7.2945676,  1000000000, -5786.47,
+   1752,        0.0024575,   0.00000001, -248562.76,
+   -45786.476,  456.2489562, 34.00046,   45786.476,
+   1752065,     107,         -45667.24,  -7.2945676,
+   -347856.475, 356047.56,   -1.0,       23.04,
+   -347856.475, 356047.56,   -1.0,       23.04,
+   1752,        0.0024575,   0.00000001, -248562.76,
+   1384.6,      -7.2945676,  1000000000, -5786.47,
+   -347856.475, 356047.56,   -1.0,       23.04,
+   0,           456.2489562, 3,          -1,
+   -45786.476,  456.2489562, 34.00046,   45786.476,
+   0,           456.2489562, 3,          -1,
+   1384.6,      -7.2945676,  1000000000, -5786.47,
+   1752,        0.0024575,   0.00000001, -248562.76,
+   -45786.476,  456.2489562, 34.00046,   45786.476,
+   1752065,     107,         -45667.24,  -7.2945676,
+   -347856.475, 356047.56,   -1.0,       23.04
+};
+
+const float fs1_f[] = {
+   0,           456.2489562, 3,          -1,
+   1384.6,      -7.2945676,  1000000000, -5786.47,
+   1752,        0.0024575,   0.00000001, -248562.76,
+   -45786.476,  456.2489562, 34.00046,   45786.476,
+   1752065,     107,         -45667.24,  -7.2945676,
+   -347856.475, 356047.56,   -1.0,       23.04
+};
+
+const double fs2_f[] = {
+   0,           456.2489562, 3,           -1,
+   -7.2945676,  1384.6,      1000000000,  -5786.47,
+   1752,        0.0024575,   -248562.76,  0.00000001,
+   -45786.476,  45786.476,   456.2489562, 34.00046,
+   1752065,     107,         -45667.24,   -7.2945676,
+   -347856.475, 23.04        -1.0,        356047.56
+};
+
+#define TEST1(mem)                                           \
+{                                                            \
+   unsigned long long out;                                   \
+   __asm__ __volatile__(                                     \
+      ".set  noreorder"  "\n\t"                              \
+      ".set  nomacro"    "\n\t"                              \
+      "move  $t0, %1"    "\n\t"                              \
+      "mtc1  $t0, $f0"   "\n\t"                              \
+      "mov.s $f1, $f0"   "\n\t"                              \
+      "mfc1  $t1, $f1"   "\n\t"                              \
+      "move  %0,  $t1"   "\n\t"                              \
+      ".set  reorder"    "\n\t"                              \
+      ".set  macro"      "\n\t"                              \
+      : "=r" (out)                                           \
+      : "r" (mem)                                            \
+      : "t0", "t1", "$f0", "$f1"                             \
+   );                                                        \
+   printf("mtc1, mov.s, mfc1 :: mem: 0x%llx out: 0x%llx\n",  \
+          (long long)mem, out);                              \
+}
+
+#define TEST2(mem)                                             \
+{                                                              \
+   unsigned long long out;                                     \
+   __asm__ __volatile__(                                       \
+      ".set  noreorder"  "\n\t"                                \
+      ".set  nomacro"    "\n\t"                                \
+      "move  $t0, %1"    "\n\t"                                \
+      "dmtc1 $t0, $f2"   "\n\t"                                \
+      "mov.d $f0, $f2"   "\n\t"                                \
+      "dmfc1 $t1, $f0"   "\n\t"                                \
+      "move  %0,  $t1"   "\n\t"                                \
+      ".set  reorder"  "\n\t"                                  \
+      ".set  macro"    "\n\t"                                  \
+      : "=r" (out)                                             \
+      : "r" (mem)                                              \
+      : "t0", "t1", "$f0", "$f2"                               \
+   );                                                          \
+   printf("dmtc1, mov.d, dmfc1 :: mem: 0x%llx out: 0x%llx\n",  \
+          (long long)mem, out);                                \
+}
+
+/* movX.s fd, fs */
+#define TEST3(instruction, FD, FS, cc, offset)    \
+{                                                 \
+   unsigned int out;                              \
+   __asm__ __volatile__(                          \
+      "li     $t0,    1"               "\n\t"     \
+      "move   $t1,    %1"              "\n\t"     \
+      "mtc1   $t0,    $f0"             "\n\t"     \
+      "mtc1   $t1,    $f2"             "\n\t"     \
+      "dmtc1  $zero,  $"#FD            "\n\t"     \
+      "dmtc1  $zero,  $"#FS            "\n\t"     \
+      "c.eq.s $f0,    $f2"             "\n\t"     \
+      "move   $t0,    %2"              "\n\t"     \
+      "lwc1   $"#FS", "#offset"($t0)"  "\n\t"     \
+      instruction                      "\n\t"     \
+      "mfc1   %0,     $"#FD            "\n\t"     \
+      : "=r" (out)                                \
+      : "r" (cc), "r" (reg_val_f)                 \
+      : "t0", "t1", "$"#FD, "$"#FS, "$f0", "$f2"  \
+   );                                             \
+   printf("%s :: out: 0x%x, cc: %d\n",            \
+          instruction, out, cc);                  \
+}
+
+/* movX.d fd, fs */
+#define TEST3d(instruction, FD, FS, cc, offset)   \
+{                                                 \
+   unsigned long long out;                        \
+   __asm__ __volatile__(                          \
+      "li     $t0,    1"               "\n\t"     \
+      "move   $t1,    %1"              "\n\t"     \
+      "mtc1   $t0,    $f0"             "\n\t"     \
+      "mtc1   $t1,    $f2"             "\n\t"     \
+      "dmtc1  $zero,  $"#FD            "\n\t"     \
+      "c.eq.s $f0,    $f2"             "\n\t"     \
+      "move   $t0,    %2"              "\n\t"     \
+      "ldc1   $"#FS", "#offset"($t0)"  "\n\t"     \
+      instruction                      "\n\t"     \
+      "dmfc1  %0,     $"#FD            "\n\t"     \
+      : "=r" (out)                                \
+      : "r" (cc), "r" (reg_val_f)                 \
+      : "t0", "t1", "$"#FD, "$"#FS, "$f0", "$f2"  \
+   );                                             \
+   printf("%s :: out: 0x%llx, cc: %d\n",          \
+          instruction, out, cc);                  \
+}
+
+/* movX.s fd, fs, rt */
+#define TEST4(instruction, offset, RTval, FD, FS, RT)  \
+{                                                      \
+   unsigned int out;                                   \
+   __asm__ __volatile__(                               \
+      "move  $"#RT", %2"              "\n\t"           \
+      "dmtc1 $zero,  $"#FD            "\n\t"           \
+      "dmtc1 $zero,  $"#FS            "\n\t"           \
+      "move  $t0,    %1"              "\n\t"           \
+      "lwc1  $"#FS", "#offset"($t0)"  "\n\t"           \
+      instruction                     "\n\t"           \
+      "mfc1 %0,     $"#FD"\n\t"                        \
+      : "=r" (out)                                     \
+      : "r" (reg_val_f), "r" (RTval)                   \
+      : "t0", #RT, "$"#FD, "$"#FS                      \
+   );                                                  \
+   printf("%s :: out: 0x%x\n", instruction, out);      \
+}
+
+/* movX.d fd, fs, rt */
+#define TEST4d(instruction, offset, RTval, FD, FS, RT)  \
+{                                                       \
+   unsigned long long out;                              \
+   __asm__ __volatile__(                                \
+      "move  $"#RT", %2"              "\n\t"            \
+      "dmtc1 $zero,  $"#FD            "\n\t"            \
+      "dmtc1 $zero,  $"#FS            "\n\t"            \
+      "move  $t0,    %1"              "\n\t"            \
+      "ldc1  $"#FS", "#offset"($t0)"  "\n\t"            \
+      instruction                     "\n\t"            \
+      "dmfc1 %0,     $"#FD            "\n\t"            \
+      : "=r" (out)                                      \
+      : "r" (reg_val_f), "r" (RTval)                    \
+      : #RT, "t0", "$"#FD, "$"#FS                       \
+   );                                                   \
+   printf("%s :: out: 0x%llx\n", instruction, out);     \
+}
+
+/* movf, movt */
+#define TEST5(instruction, RDval, RSval, RD, RS)                  \
+{                                                                 \
+   unsigned long out;                                             \
+   __asm__ __volatile__(                                          \
+      "c.eq.s      %3,     %4"             "\n\t"                 \
+      "move        $"#RD", %1"             "\n\t"                 \
+      "move        $"#RS", %2"             "\n\t"                 \
+      instruction" $"#RD", $"#RS", $fcc0"  "\n\t"                 \
+      "move        %0,     $"#RD           "\n\t"                 \
+      : "=r" (out)                                                \
+      : "r" (RDval), "r" (RSval), "f" (fs1_f[i]), "f" (fs2_f[i])  \
+      : #RD, #RS                                                  \
+   );                                                             \
+   printf("%s ::  RDval: 0x%x, RSval: 0x%x, out: 0x%lx\n",        \
+          instruction, RDval, RSval, out);                        \
+}
+
+int main()
+{
+   int i;
+   init_reg_val2();
+
+   for (i = 0; i < N; i++) {
+      TEST1(reg_val1[i]);
+      TEST2(reg_val1[i]);
+      TEST1(reg_val2[i]);
+      TEST2(reg_val2[i]);
+   }
+
+   printf("--- MOVF.S ---\n");
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 1, 0);
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 1, 8);
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 1, 16);
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 1, 24);
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 1, 32)
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 1, 40)
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 1, 48)
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 1, 56)
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 0, 0);
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 0, 8);
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 0, 16);
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 0, 24);
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 0, 32);
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 0, 40);
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 0, 48);
+   TEST3("movf.s  $f4, $f6, $fcc0", f4, f6, 0, 56);
+
+   printf("--- MOVF.D ---\n");
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 1, 0);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 1, 8);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 1, 16);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 1, 24);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 1, 32);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 1, 40)
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 1, 48)
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 1, 56)
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 0, 0);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 0, 8);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 0, 16);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 0, 24);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 0, 32);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 0, 40);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 0, 48);
+   TEST3d("movf.d  $f4, $f6, $fcc0", f4, f6, 0, 56);
+
+   printf("--- MOVN.S ---\n");
+   TEST4("movn.s  $f0, $f2, $11", 0,  0,          f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 0,  1,          f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 8,  0xffff,     f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 16, -1,         f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 16, 5,          f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 24, 0,          f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 24, 0,          f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 32, 5,          f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 32, 125487,     f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 40, 68,         f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 40, -122544,    f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 48, 0,          f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 48, 0,          f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 56, 0xffffffff, f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 56, 0x80000000, f0, f2, 11);
+   TEST4("movn.s  $f0, $f2, $11", 64, 0x7fffffff, f0, f2, 11);
+
+   printf("--- MOVN.D ---\n");
+   TEST4d("movn.d $f0, $f2, $11", 0,  0,          f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 0,  1,          f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 8,  0xffff,     f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 8,  -1,         f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 16, 5,          f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 24, 0,          f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 24, 0,          f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 32, 5,          f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 32, 125487,     f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 40, 68,         f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 40, -122544,    f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 48, 0,          f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 48, 0,          f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 56, 0xffffffff, f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 56, 0x80000000, f0, f2, 11);
+   TEST4d("movn.d $f0, $f2, $11", 64, 0x7fffffff, f0, f2, 11);
+
+   printf("--- MOVT.S ---\n");
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 1, 0);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 1, 0);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 1, 8);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 1, 16);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 1, 24);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 1, 32);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 1, 40)
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 1, 48)
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 1, 56)
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 0, 0);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 0, 8);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 0, 16);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 0, 24);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 0, 32);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 0, 40);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 0, 48);
+   TEST3("movt.s  $f4, $f6, $fcc0", f4, f6, 0, 56);
+
+   printf("--- MOVT.D ---\n");
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 1, 0);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 1, 0);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 1, 8);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 1, 16);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 1, 24);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 1, 32);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 1, 40)
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 1, 48)
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 1, 56)
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 0, 0);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 0, 8);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 0, 16);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 0, 24);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 0, 32);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 0, 40);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 0, 48);
+   TEST3d("movt.d  $f4, $f6, $fcc0", f4, f6, 0, 56);
+
+   printf("--- MOVZ.S ---\n");
+   TEST4("movz.s $f0, $f2, $11", 0,  0,          f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 8,  1,          f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 8,  0xffff,     f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 16, -1,         f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 16, 5,          f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 24, 0,          f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 24, 0,          f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 32, 5,          f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 32, 125487,     f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 40, 68,         f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 40, -122544,    f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 48, 0,          f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 48, 0,          f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 56, 0xffffffff, f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 56, 0x80000000, f0, f2, 11);
+   TEST4("movz.s $f0, $f2, $11", 64, 0x7fffffff, f0, f2, 11);
+
+   printf("--- MOVZ.D ---\n");
+   TEST4d("movz.d $f0, $f2, $11", 0,  0,          f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 0,  1,          f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 8,  0xffff,     f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 16, -1,         f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 16, 5,          f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 24, 0,          f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 24, 0,          f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 32, 5,          f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 32, 125487,     f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 40, 68,         f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 40, -122544,    f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 48, 0,          f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 48, 0,          f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 56, 0xffffffff, f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 56, 0x80000000, f0, f2, 11);
+   TEST4d("movz.d $f0, $f2, $11", 64, 0x7fffffff, f0, f2, 11);
+
+   printf("--- MOVF --- if FPConditionalCode(cc) == 0 then "
+          "out = RSval else out = RDval\n");
+   for (i = 0; i < 24; i++) {
+      TEST5("movf", 0xaaaaaaaa, 0x80000000, t0, t1);
+      TEST5("movf", 0xccccffff, 0xffffffff, t1, t2);
+      TEST5("movf", 0xffffaaaa, 0xaaaaffff, t3, t1);
+      TEST5("movf", 0x0,        0xffffffff, t3, t0);
+   }
+
+   printf("--- MOVT --- if FPConditionalCode(cc) == 1 then "
+          "out = RSval else out = RDval\n");
+   for (i = 0; i < 24; i++) {
+      TEST5("movt", 0x0,        0xffffffff, t0, t1);
+      TEST5("movt", 0x11111111, 0xeeeeffff, t1, t2);
+      TEST5("movt", 0x5555ffff, 0xffffffff, t3, t1);
+      TEST5("movt", 0xeeeeeeee, 0xffffeeee, t3, t0);
+   }
+
+   return 0;
+}
diff --git a/none/tests/mips64/move_instructions.stderr.exp b/none/tests/mips64/move_instructions.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/move_instructions.stderr.exp
diff --git a/none/tests/mips64/move_instructions.stdout.exp-BE b/none/tests/mips64/move_instructions.stdout.exp-BE
new file mode 100644
index 0000000..242199b
--- /dev/null
+++ b/none/tests/mips64/move_instructions.stdout.exp-BE
@@ -0,0 +1,1356 @@
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x12bd6aa out: 0x12bd6aa
+dmtc1, mov.d, dmfc1 :: mem: 0x12bd6aa out: 0x12bd6aa
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x7e876382d2ab13 out: 0xffffffff82d2ab13
+dmtc1, mov.d, dmfc1 :: mem: 0x7e876382d2ab13 out: 0x7e876382d2ab13
+mtc1, mov.s, mfc1 :: mem: 0x9823b6e out: 0x9823b6e
+dmtc1, mov.d, dmfc1 :: mem: 0x9823b6e out: 0x9823b6e
+mtc1, mov.s, mfc1 :: mem: 0x976d6e9ac31510f3 out: 0xffffffffc31510f3
+dmtc1, mov.d, dmfc1 :: mem: 0x976d6e9ac31510f3 out: 0x976d6e9ac31510f3
+mtc1, mov.s, mfc1 :: mem: 0xd4326d9 out: 0xd4326d9
+dmtc1, mov.d, dmfc1 :: mem: 0xd4326d9 out: 0xd4326d9
+mtc1, mov.s, mfc1 :: mem: 0xb7746d775ad6a5fb out: 0x5ad6a5fb
+dmtc1, mov.d, dmfc1 :: mem: 0xb7746d775ad6a5fb out: 0xb7746d775ad6a5fb
+mtc1, mov.s, mfc1 :: mem: 0x130476dc out: 0x130476dc
+dmtc1, mov.d, dmfc1 :: mem: 0x130476dc out: 0x130476dc
+mtc1, mov.s, mfc1 :: mem: 0x42b0c0a28677b502 out: 0xffffffff8677b502
+dmtc1, mov.d, dmfc1 :: mem: 0x42b0c0a28677b502 out: 0x42b0c0a28677b502
+mtc1, mov.s, mfc1 :: mem: 0x17c56b6b out: 0x17c56b6b
+dmtc1, mov.d, dmfc1 :: mem: 0x17c56b6b out: 0x17c56b6b
+mtc1, mov.s, mfc1 :: mem: 0x2aa89d319e3c30ad out: 0xffffffff9e3c30ad
+dmtc1, mov.d, dmfc1 :: mem: 0x2aa89d319e3c30ad out: 0x2aa89d319e3c30ad
+mtc1, mov.s, mfc1 :: mem: 0x1a864db2 out: 0x1a864db2
+dmtc1, mov.d, dmfc1 :: mem: 0x1a864db2 out: 0x1a864db2
+mtc1, mov.s, mfc1 :: mem: 0x1f308ec377fb413d out: 0x77fb413d
+dmtc1, mov.d, dmfc1 :: mem: 0x1f308ec377fb413d out: 0x1f308ec377fb413d
+mtc1, mov.s, mfc1 :: mem: 0x1e475005 out: 0x1e475005
+dmtc1, mov.d, dmfc1 :: mem: 0x1e475005 out: 0x1e475005
+mtc1, mov.s, mfc1 :: mem: 0x7aa04213c760e4f7 out: 0xffffffffc760e4f7
+dmtc1, mov.d, dmfc1 :: mem: 0x7aa04213c760e4f7 out: 0x7aa04213c760e4f7
+mtc1, mov.s, mfc1 :: mem: 0x2608edb8 out: 0x2608edb8
+dmtc1, mov.d, dmfc1 :: mem: 0x2608edb8 out: 0x2608edb8
+mtc1, mov.s, mfc1 :: mem: 0x9e705cc51ad8dca0 out: 0x1ad8dca0
+dmtc1, mov.d, dmfc1 :: mem: 0x9e705cc51ad8dca0 out: 0x9e705cc51ad8dca0
+mtc1, mov.s, mfc1 :: mem: 0x22c9f00f out: 0x22c9f00f
+dmtc1, mov.d, dmfc1 :: mem: 0x22c9f00f out: 0x22c9f00f
+mtc1, mov.s, mfc1 :: mem: 0x4b3dda869615a60d out: 0xffffffff9615a60d
+dmtc1, mov.d, dmfc1 :: mem: 0x4b3dda869615a60d out: 0x4b3dda869615a60d
+mtc1, mov.s, mfc1 :: mem: 0x2f8ad6d6 out: 0x2f8ad6d6
+dmtc1, mov.d, dmfc1 :: mem: 0x2f8ad6d6 out: 0x2f8ad6d6
+mtc1, mov.s, mfc1 :: mem: 0x5e7a4dd6353d41d out: 0x6353d41d
+dmtc1, mov.d, dmfc1 :: mem: 0x5e7a4dd6353d41d out: 0x5e7a4dd6353d41d
+mtc1, mov.s, mfc1 :: mem: 0x2b4bcb61 out: 0x2b4bcb61
+dmtc1, mov.d, dmfc1 :: mem: 0x2b4bcb61 out: 0x2b4bcb61
+mtc1, mov.s, mfc1 :: mem: 0x3af35a9dc40bd413 out: 0xffffffffc40bd413
+dmtc1, mov.d, dmfc1 :: mem: 0x3af35a9dc40bd413 out: 0x3af35a9dc40bd413
+mtc1, mov.s, mfc1 :: mem: 0x350c9b64 out: 0x350c9b64
+dmtc1, mov.d, dmfc1 :: mem: 0x350c9b64 out: 0x350c9b64
+mtc1, mov.s, mfc1 :: mem: 0x47f505569a08a180 out: 0xffffffff9a08a180
+dmtc1, mov.d, dmfc1 :: mem: 0x47f505569a08a180 out: 0x47f505569a08a180
+mtc1, mov.s, mfc1 :: mem: 0x31cd86d3 out: 0x31cd86d3
+dmtc1, mov.d, dmfc1 :: mem: 0x31cd86d3 out: 0x31cd86d3
+mtc1, mov.s, mfc1 :: mem: 0x9564b77fd6d2040f out: 0xffffffffd6d2040f
+dmtc1, mov.d, dmfc1 :: mem: 0x9564b77fd6d2040f out: 0x9564b77fd6d2040f
+mtc1, mov.s, mfc1 :: mem: 0x3c8ea00a out: 0x3c8ea00a
+dmtc1, mov.d, dmfc1 :: mem: 0x3c8ea00a out: 0x3c8ea00a
+mtc1, mov.s, mfc1 :: mem: 0xcebc8279b2c76bbe out: 0xffffffffb2c76bbe
+dmtc1, mov.d, dmfc1 :: mem: 0xcebc8279b2c76bbe out: 0xcebc8279b2c76bbe
+mtc1, mov.s, mfc1 :: mem: 0x384fbdbd out: 0x384fbdbd
+dmtc1, mov.d, dmfc1 :: mem: 0x384fbdbd out: 0x384fbdbd
+mtc1, mov.s, mfc1 :: mem: 0xb5034c2f1f18e4c7 out: 0x1f18e4c7
+dmtc1, mov.d, dmfc1 :: mem: 0xb5034c2f1f18e4c7 out: 0xb5034c2f1f18e4c7
+mtc1, mov.s, mfc1 :: mem: 0x4c11db70 out: 0x4c11db70
+dmtc1, mov.d, dmfc1 :: mem: 0x4c11db70 out: 0x4c11db70
+mtc1, mov.s, mfc1 :: mem: 0x94ff52fc81afa797 out: 0xffffffff81afa797
+dmtc1, mov.d, dmfc1 :: mem: 0x94ff52fc81afa797 out: 0x94ff52fc81afa797
+mtc1, mov.s, mfc1 :: mem: 0x48d0c6c7 out: 0x48d0c6c7
+dmtc1, mov.d, dmfc1 :: mem: 0x48d0c6c7 out: 0x48d0c6c7
+mtc1, mov.s, mfc1 :: mem: 0x31d8d9166dfc50ea out: 0x6dfc50ea
+dmtc1, mov.d, dmfc1 :: mem: 0x31d8d9166dfc50ea out: 0x31d8d9166dfc50ea
+mtc1, mov.s, mfc1 :: mem: 0x4593e01e out: 0x4593e01e
+dmtc1, mov.d, dmfc1 :: mem: 0x4593e01e out: 0x4593e01e
+mtc1, mov.s, mfc1 :: mem: 0x36549bd678e895b1 out: 0x78e895b1
+dmtc1, mov.d, dmfc1 :: mem: 0x36549bd678e895b1 out: 0x36549bd678e895b1
+mtc1, mov.s, mfc1 :: mem: 0x4152fda9 out: 0x4152fda9
+dmtc1, mov.d, dmfc1 :: mem: 0x4152fda9 out: 0x4152fda9
+mtc1, mov.s, mfc1 :: mem: 0x85e0a6319b63259b out: 0xffffffff9b63259b
+dmtc1, mov.d, dmfc1 :: mem: 0x85e0a6319b63259b out: 0x85e0a6319b63259b
+mtc1, mov.s, mfc1 :: mem: 0x5f15adac out: 0x5f15adac
+dmtc1, mov.d, dmfc1 :: mem: 0x5f15adac out: 0x5f15adac
+mtc1, mov.s, mfc1 :: mem: 0x556b3ecaccf17ac5 out: 0xffffffffccf17ac5
+dmtc1, mov.d, dmfc1 :: mem: 0x556b3ecaccf17ac5 out: 0x556b3ecaccf17ac5
+mtc1, mov.s, mfc1 :: mem: 0x5bd4b01b out: 0x5bd4b01b
+dmtc1, mov.d, dmfc1 :: mem: 0x5bd4b01b out: 0x5bd4b01b
+mtc1, mov.s, mfc1 :: mem: 0xb42f5fc581eea0fb out: 0xffffffff81eea0fb
+dmtc1, mov.d, dmfc1 :: mem: 0xb42f5fc581eea0fb out: 0xb42f5fc581eea0fb
+mtc1, mov.s, mfc1 :: mem: 0x569796c2 out: 0x569796c2
+dmtc1, mov.d, dmfc1 :: mem: 0x569796c2 out: 0x569796c2
+mtc1, mov.s, mfc1 :: mem: 0x25b50fec14682d97 out: 0x14682d97
+dmtc1, mov.d, dmfc1 :: mem: 0x25b50fec14682d97 out: 0x25b50fec14682d97
+mtc1, mov.s, mfc1 :: mem: 0x52568b75 out: 0x52568b75
+dmtc1, mov.d, dmfc1 :: mem: 0x52568b75 out: 0x52568b75
+mtc1, mov.s, mfc1 :: mem: 0xfc93c5132cfb087a out: 0x2cfb087a
+dmtc1, mov.d, dmfc1 :: mem: 0xfc93c5132cfb087a out: 0xfc93c5132cfb087a
+mtc1, mov.s, mfc1 :: mem: 0x6a1936c8 out: 0x6a1936c8
+dmtc1, mov.d, dmfc1 :: mem: 0x6a1936c8 out: 0x6a1936c8
+mtc1, mov.s, mfc1 :: mem: 0x3c2cd9a9cda20766 out: 0xffffffffcda20766
+dmtc1, mov.d, dmfc1 :: mem: 0x3c2cd9a9cda20766 out: 0x3c2cd9a9cda20766
+mtc1, mov.s, mfc1 :: mem: 0x6ed82b7f out: 0x6ed82b7f
+dmtc1, mov.d, dmfc1 :: mem: 0x6ed82b7f out: 0x6ed82b7f
+mtc1, mov.s, mfc1 :: mem: 0x1791722a7d72da3e out: 0x7d72da3e
+dmtc1, mov.d, dmfc1 :: mem: 0x1791722a7d72da3e out: 0x1791722a7d72da3e
+mtc1, mov.s, mfc1 :: mem: 0x639b0da6 out: 0x639b0da6
+dmtc1, mov.d, dmfc1 :: mem: 0x639b0da6 out: 0x639b0da6
+mtc1, mov.s, mfc1 :: mem: 0x87cc9d193ce24ad out: 0xffffffff93ce24ad
+dmtc1, mov.d, dmfc1 :: mem: 0x87cc9d193ce24ad out: 0x87cc9d193ce24ad
+mtc1, mov.s, mfc1 :: mem: 0x675a1011 out: 0x675a1011
+dmtc1, mov.d, dmfc1 :: mem: 0x675a1011 out: 0x675a1011
+mtc1, mov.s, mfc1 :: mem: 0x1d2a757038984ed2 out: 0x38984ed2
+dmtc1, mov.d, dmfc1 :: mem: 0x1d2a757038984ed2 out: 0x1d2a757038984ed2
+mtc1, mov.s, mfc1 :: mem: 0x791d4014 out: 0x791d4014
+dmtc1, mov.d, dmfc1 :: mem: 0x791d4014 out: 0x791d4014
+mtc1, mov.s, mfc1 :: mem: 0xd0d070db710cd036 out: 0x710cd036
+dmtc1, mov.d, dmfc1 :: mem: 0xd0d070db710cd036 out: 0xd0d070db710cd036
+mtc1, mov.s, mfc1 :: mem: 0x7ddc5da3 out: 0x7ddc5da3
+dmtc1, mov.d, dmfc1 :: mem: 0x7ddc5da3 out: 0x7ddc5da3
+mtc1, mov.s, mfc1 :: mem: 0x39c21c7d03415604 out: 0x3415604
+dmtc1, mov.d, dmfc1 :: mem: 0x39c21c7d03415604 out: 0x39c21c7d03415604
+mtc1, mov.s, mfc1 :: mem: 0x709f7b7a out: 0x709f7b7a
+dmtc1, mov.d, dmfc1 :: mem: 0x709f7b7a out: 0x709f7b7a
+mtc1, mov.s, mfc1 :: mem: 0x8e94b7af8ecc31ce out: 0xffffffff8ecc31ce
+dmtc1, mov.d, dmfc1 :: mem: 0x8e94b7af8ecc31ce out: 0x8e94b7af8ecc31ce
+mtc1, mov.s, mfc1 :: mem: 0x745e66cd out: 0x745e66cd
+dmtc1, mov.d, dmfc1 :: mem: 0x745e66cd out: 0x745e66cd
+mtc1, mov.s, mfc1 :: mem: 0x24eb6a8d1ce7674f out: 0x1ce7674f
+dmtc1, mov.d, dmfc1 :: mem: 0x24eb6a8d1ce7674f out: 0x24eb6a8d1ce7674f
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9823b6e0 out: 0xffffffff9823b6e0
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9823b6e0 out: 0xffffffff9823b6e0
+mtc1, mov.s, mfc1 :: mem: 0x2f39454412d6e4a7 out: 0x12d6e4a7
+dmtc1, mov.d, dmfc1 :: mem: 0x2f39454412d6e4a7 out: 0x2f39454412d6e4a7
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9ce2ab57 out: 0xffffffff9ce2ab57
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9ce2ab57 out: 0xffffffff9ce2ab57
+mtc1, mov.s, mfc1 :: mem: 0x2608c2b756da4c54 out: 0x56da4c54
+dmtc1, mov.d, dmfc1 :: mem: 0x2608c2b756da4c54 out: 0x2608c2b756da4c54
+mtc1, mov.s, mfc1 :: mem: 0xffffffff91a18d8e out: 0xffffffff91a18d8e
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff91a18d8e out: 0xffffffff91a18d8e
+mtc1, mov.s, mfc1 :: mem: 0x900102dac8d7252f out: 0xffffffffc8d7252f
+dmtc1, mov.d, dmfc1 :: mem: 0x900102dac8d7252f out: 0x900102dac8d7252f
+mtc1, mov.s, mfc1 :: mem: 0xffffffff95609039 out: 0xffffffff95609039
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff95609039 out: 0xffffffff95609039
+mtc1, mov.s, mfc1 :: mem: 0xc890d5f1f2efa4f7 out: 0xfffffffff2efa4f7
+dmtc1, mov.d, dmfc1 :: mem: 0xc890d5f1f2efa4f7 out: 0xc890d5f1f2efa4f7
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8b27c03c out: 0xffffffff8b27c03c
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8b27c03c out: 0xffffffff8b27c03c
+mtc1, mov.s, mfc1 :: mem: 0xed5005cbc8b0a214 out: 0xffffffffc8b0a214
+dmtc1, mov.d, dmfc1 :: mem: 0xed5005cbc8b0a214 out: 0xed5005cbc8b0a214
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8fe6dd8b out: 0xffffffff8fe6dd8b
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8fe6dd8b out: 0xffffffff8fe6dd8b
+mtc1, mov.s, mfc1 :: mem: 0x314791895991136c out: 0x5991136c
+dmtc1, mov.d, dmfc1 :: mem: 0x314791895991136c out: 0x314791895991136c
+mtc1, mov.s, mfc1 :: mem: 0xffffffff82a5fb52 out: 0xffffffff82a5fb52
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff82a5fb52 out: 0xffffffff82a5fb52
+mtc1, mov.s, mfc1 :: mem: 0xc6eecff99a2fb6f3 out: 0xffffffff9a2fb6f3
+dmtc1, mov.d, dmfc1 :: mem: 0xc6eecff99a2fb6f3 out: 0xc6eecff99a2fb6f3
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8664e6e5 out: 0xffffffff8664e6e5
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8664e6e5 out: 0xffffffff8664e6e5
+mtc1, mov.s, mfc1 :: mem: 0xa809521238895270 out: 0x38895270
+dmtc1, mov.d, dmfc1 :: mem: 0xa809521238895270 out: 0xa809521238895270
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbe2b5b58 out: 0xffffffffbe2b5b58
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbe2b5b58 out: 0xffffffffbe2b5b58
+mtc1, mov.s, mfc1 :: mem: 0x87750a04ad765040 out: 0xffffffffad765040
+dmtc1, mov.d, dmfc1 :: mem: 0x87750a04ad765040 out: 0x87750a04ad765040
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbaea46ef out: 0xffffffffbaea46ef
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbaea46ef out: 0xffffffffbaea46ef
+mtc1, mov.s, mfc1 :: mem: 0x2c3de85e84bb5a83 out: 0xffffffff84bb5a83
+dmtc1, mov.d, dmfc1 :: mem: 0x2c3de85e84bb5a83 out: 0x2c3de85e84bb5a83
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb7a96036 out: 0xffffffffb7a96036
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb7a96036 out: 0xffffffffb7a96036
+mtc1, mov.s, mfc1 :: mem: 0xae6aff8fc506aa67 out: 0xffffffffc506aa67
+dmtc1, mov.d, dmfc1 :: mem: 0xae6aff8fc506aa67 out: 0xae6aff8fc506aa67
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb3687d81 out: 0xffffffffb3687d81
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb3687d81 out: 0xffffffffb3687d81
+mtc1, mov.s, mfc1 :: mem: 0xc07112dd60ed5ee3 out: 0x60ed5ee3
+dmtc1, mov.d, dmfc1 :: mem: 0xc07112dd60ed5ee3 out: 0xc07112dd60ed5ee3
+mtc1, mov.s, mfc1 :: mem: 0xffffffffad2f2d84 out: 0xffffffffad2f2d84
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffad2f2d84 out: 0xffffffffad2f2d84
+mtc1, mov.s, mfc1 :: mem: 0xc4c770f630dcca5a out: 0x30dcca5a
+dmtc1, mov.d, dmfc1 :: mem: 0xc4c770f630dcca5a out: 0xc4c770f630dcca5a
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa9ee3033 out: 0xffffffffa9ee3033
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa9ee3033 out: 0xffffffffa9ee3033
+mtc1, mov.s, mfc1 :: mem: 0xdfec2b2383cd5277 out: 0xffffffff83cd5277
+dmtc1, mov.d, dmfc1 :: mem: 0xdfec2b2383cd5277 out: 0xdfec2b2383cd5277
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa4ad16ea out: 0xffffffffa4ad16ea
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa4ad16ea out: 0xffffffffa4ad16ea
+mtc1, mov.s, mfc1 :: mem: 0xd3adba260ff7d96b out: 0xff7d96b
+dmtc1, mov.d, dmfc1 :: mem: 0xd3adba260ff7d96b out: 0xd3adba260ff7d96b
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa06c0b5d out: 0xffffffffa06c0b5d
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa06c0b5d out: 0xffffffffa06c0b5d
+mtc1, mov.s, mfc1 :: mem: 0x4ab4aa798418c00e out: 0xffffffff8418c00e
+dmtc1, mov.d, dmfc1 :: mem: 0x4ab4aa798418c00e out: 0x4ab4aa798418c00e
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd4326d90 out: 0xffffffffd4326d90
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd4326d90 out: 0xffffffffd4326d90
+mtc1, mov.s, mfc1 :: mem: 0xbb8c035e0de0f0b8 out: 0xde0f0b8
+dmtc1, mov.d, dmfc1 :: mem: 0xbb8c035e0de0f0b8 out: 0xbb8c035e0de0f0b8
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd0f37027 out: 0xffffffffd0f37027
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd0f37027 out: 0xffffffffd0f37027
+mtc1, mov.s, mfc1 :: mem: 0x33b06f54a97fdcf1 out: 0xffffffffa97fdcf1
+dmtc1, mov.d, dmfc1 :: mem: 0x33b06f54a97fdcf1 out: 0x33b06f54a97fdcf1
+mtc1, mov.s, mfc1 :: mem: 0xffffffffddb056fe out: 0xffffffffddb056fe
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffddb056fe out: 0xffffffffddb056fe
+mtc1, mov.s, mfc1 :: mem: 0x77433f373fd1c081 out: 0x3fd1c081
+dmtc1, mov.d, dmfc1 :: mem: 0x77433f373fd1c081 out: 0x77433f373fd1c081
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd9714b49 out: 0xffffffffd9714b49
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd9714b49 out: 0xffffffffd9714b49
+mtc1, mov.s, mfc1 :: mem: 0xec91d993c92195e4 out: 0xffffffffc92195e4
+dmtc1, mov.d, dmfc1 :: mem: 0xec91d993c92195e4 out: 0xec91d993c92195e4
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc7361b4c out: 0xffffffffc7361b4c
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc7361b4c out: 0xffffffffc7361b4c
+mtc1, mov.s, mfc1 :: mem: 0x49fbf6a795b1a5ab out: 0xffffffff95b1a5ab
+dmtc1, mov.d, dmfc1 :: mem: 0x49fbf6a795b1a5ab out: 0x49fbf6a795b1a5ab
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc3f706fb out: 0xffffffffc3f706fb
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc3f706fb out: 0xffffffffc3f706fb
+mtc1, mov.s, mfc1 :: mem: 0x19364378c7ce8d1e out: 0xffffffffc7ce8d1e
+dmtc1, mov.d, dmfc1 :: mem: 0x19364378c7ce8d1e out: 0x19364378c7ce8d1e
+mtc1, mov.s, mfc1 :: mem: 0xffffffffceb42022 out: 0xffffffffceb42022
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffceb42022 out: 0xffffffffceb42022
+mtc1, mov.s, mfc1 :: mem: 0xb99e8def2f384907 out: 0x2f384907
+dmtc1, mov.d, dmfc1 :: mem: 0xb99e8def2f384907 out: 0xb99e8def2f384907
+mtc1, mov.s, mfc1 :: mem: 0xffffffffca753d95 out: 0xffffffffca753d95
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffca753d95 out: 0xffffffffca753d95
+mtc1, mov.s, mfc1 :: mem: 0x47eacdcd582b12fe out: 0x582b12fe
+dmtc1, mov.d, dmfc1 :: mem: 0x47eacdcd582b12fe out: 0x47eacdcd582b12fe
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff23a8028 out: 0xfffffffff23a8028
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff23a8028 out: 0xfffffffff23a8028
+mtc1, mov.s, mfc1 :: mem: 0xd685884e76558c4f out: 0x76558c4f
+dmtc1, mov.d, dmfc1 :: mem: 0xd685884e76558c4f out: 0xd685884e76558c4f
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff6fb9d9f out: 0xfffffffff6fb9d9f
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff6fb9d9f out: 0xfffffffff6fb9d9f
+mtc1, mov.s, mfc1 :: mem: 0x6168d62a34c195c7 out: 0x34c195c7
+dmtc1, mov.d, dmfc1 :: mem: 0x6168d62a34c195c7 out: 0x6168d62a34c195c7
+mtc1, mov.s, mfc1 :: mem: 0xfffffffffbb8bb46 out: 0xfffffffffbb8bb46
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffffbb8bb46 out: 0xfffffffffbb8bb46
+mtc1, mov.s, mfc1 :: mem: 0xd30169894df47405 out: 0x4df47405
+dmtc1, mov.d, dmfc1 :: mem: 0xd30169894df47405 out: 0xd30169894df47405
+mtc1, mov.s, mfc1 :: mem: 0xffffffffff79a6f1 out: 0xffffffffff79a6f1
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffff79a6f1 out: 0xffffffffff79a6f1
+mtc1, mov.s, mfc1 :: mem: 0x1ca190bf6cbb06db out: 0x6cbb06db
+dmtc1, mov.d, dmfc1 :: mem: 0x1ca190bf6cbb06db out: 0x1ca190bf6cbb06db
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe13ef6f4 out: 0xffffffffe13ef6f4
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe13ef6f4 out: 0xffffffffe13ef6f4
+mtc1, mov.s, mfc1 :: mem: 0x58300f029cae393a out: 0xffffffff9cae393a
+dmtc1, mov.d, dmfc1 :: mem: 0x58300f029cae393a out: 0x58300f029cae393a
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe5ffeb43 out: 0xffffffffe5ffeb43
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe5ffeb43 out: 0xffffffffe5ffeb43
+mtc1, mov.s, mfc1 :: mem: 0x9a995fdbdc7ebc2d out: 0xffffffffdc7ebc2d
+dmtc1, mov.d, dmfc1 :: mem: 0x9a995fdbdc7ebc2d out: 0x9a995fdbdc7ebc2d
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe8bccd9a out: 0xffffffffe8bccd9a
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe8bccd9a out: 0xffffffffe8bccd9a
+mtc1, mov.s, mfc1 :: mem: 0x8a96047be3405b48 out: 0xffffffffe3405b48
+dmtc1, mov.d, dmfc1 :: mem: 0x8a96047be3405b48 out: 0x8a96047be3405b48
+mtc1, mov.s, mfc1 :: mem: 0xffffffffec7dd02d out: 0xffffffffec7dd02d
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffec7dd02d out: 0xffffffffec7dd02d
+mtc1, mov.s, mfc1 :: mem: 0x75bfafd2d519d322 out: 0xffffffffd519d322
+dmtc1, mov.d, dmfc1 :: mem: 0x75bfafd2d519d322 out: 0x75bfafd2d519d322
+mtc1, mov.s, mfc1 :: mem: 0x34867077 out: 0x34867077
+dmtc1, mov.d, dmfc1 :: mem: 0x34867077 out: 0x34867077
+mtc1, mov.s, mfc1 :: mem: 0xde230867a630f6ad out: 0xffffffffa630f6ad
+dmtc1, mov.d, dmfc1 :: mem: 0xde230867a630f6ad out: 0xde230867a630f6ad
+mtc1, mov.s, mfc1 :: mem: 0x30476dc0 out: 0x30476dc0
+dmtc1, mov.d, dmfc1 :: mem: 0x30476dc0 out: 0x30476dc0
+mtc1, mov.s, mfc1 :: mem: 0x2c0a0cf256103260 out: 0x56103260
+dmtc1, mov.d, dmfc1 :: mem: 0x2c0a0cf256103260 out: 0x2c0a0cf256103260
+mtc1, mov.s, mfc1 :: mem: 0x3d044b19 out: 0x3d044b19
+dmtc1, mov.d, dmfc1 :: mem: 0x3d044b19 out: 0x3d044b19
+mtc1, mov.s, mfc1 :: mem: 0x94a90544249b18ef out: 0x249b18ef
+dmtc1, mov.d, dmfc1 :: mem: 0x94a90544249b18ef out: 0x94a90544249b18ef
+mtc1, mov.s, mfc1 :: mem: 0x39c556ae out: 0x39c556ae
+dmtc1, mov.d, dmfc1 :: mem: 0x39c556ae out: 0x39c556ae
+mtc1, mov.s, mfc1 :: mem: 0xf9519fb55b56fcde out: 0x5b56fcde
+dmtc1, mov.d, dmfc1 :: mem: 0xf9519fb55b56fcde out: 0xf9519fb55b56fcde
+mtc1, mov.s, mfc1 :: mem: 0x278206ab out: 0x278206ab
+dmtc1, mov.d, dmfc1 :: mem: 0x278206ab out: 0x278206ab
+mtc1, mov.s, mfc1 :: mem: 0x81daf8200468319b out: 0x468319b
+dmtc1, mov.d, dmfc1 :: mem: 0x81daf8200468319b out: 0x81daf8200468319b
+mtc1, mov.s, mfc1 :: mem: 0x23431b1c out: 0x23431b1c
+dmtc1, mov.d, dmfc1 :: mem: 0x23431b1c out: 0x23431b1c
+mtc1, mov.s, mfc1 :: mem: 0x8c61ca5a5725f2ec out: 0x5725f2ec
+dmtc1, mov.d, dmfc1 :: mem: 0x8c61ca5a5725f2ec out: 0x8c61ca5a5725f2ec
+mtc1, mov.s, mfc1 :: mem: 0x2e003dc5 out: 0x2e003dc5
+dmtc1, mov.d, dmfc1 :: mem: 0x2e003dc5 out: 0x2e003dc5
+mtc1, mov.s, mfc1 :: mem: 0x8b95a6ddc25dc8bf out: 0xffffffffc25dc8bf
+dmtc1, mov.d, dmfc1 :: mem: 0x8b95a6ddc25dc8bf out: 0x8b95a6ddc25dc8bf
+mtc1, mov.s, mfc1 :: mem: 0x2ac12072 out: 0x2ac12072
+dmtc1, mov.d, dmfc1 :: mem: 0x2ac12072 out: 0x2ac12072
+mtc1, mov.s, mfc1 :: mem: 0x300ce751dac6162f out: 0xffffffffdac6162f
+dmtc1, mov.d, dmfc1 :: mem: 0x300ce751dac6162f out: 0x300ce751dac6162f
+mtc1, mov.s, mfc1 :: mem: 0x128e9dcf out: 0x128e9dcf
+dmtc1, mov.d, dmfc1 :: mem: 0x128e9dcf out: 0x128e9dcf
+mtc1, mov.s, mfc1 :: mem: 0x6778fdf3ba52a850 out: 0xffffffffba52a850
+dmtc1, mov.d, dmfc1 :: mem: 0x6778fdf3ba52a850 out: 0x6778fdf3ba52a850
+mtc1, mov.s, mfc1 :: mem: 0x164f8078 out: 0x164f8078
+dmtc1, mov.d, dmfc1 :: mem: 0x164f8078 out: 0x164f8078
+mtc1, mov.s, mfc1 :: mem: 0xad00b1f7da78479f out: 0xffffffffda78479f
+dmtc1, mov.d, dmfc1 :: mem: 0xad00b1f7da78479f out: 0xad00b1f7da78479f
+mtc1, mov.s, mfc1 :: mem: 0x1b0ca6a1 out: 0x1b0ca6a1
+dmtc1, mov.d, dmfc1 :: mem: 0x1b0ca6a1 out: 0x1b0ca6a1
+mtc1, mov.s, mfc1 :: mem: 0x8d44168a6b6d98a out: 0xffffffffa6b6d98a
+dmtc1, mov.d, dmfc1 :: mem: 0x8d44168a6b6d98a out: 0x8d44168a6b6d98a
+mtc1, mov.s, mfc1 :: mem: 0x1fcdbb16 out: 0x1fcdbb16
+dmtc1, mov.d, dmfc1 :: mem: 0x1fcdbb16 out: 0x1fcdbb16
+mtc1, mov.s, mfc1 :: mem: 0xf518381dce634413 out: 0xffffffffce634413
+dmtc1, mov.d, dmfc1 :: mem: 0xf518381dce634413 out: 0xf518381dce634413
+mtc1, mov.s, mfc1 :: mem: 0x18aeb13 out: 0x18aeb13
+dmtc1, mov.d, dmfc1 :: mem: 0x18aeb13 out: 0x18aeb13
+mtc1, mov.s, mfc1 :: mem: 0xe4627f3fe5255fc0 out: 0xffffffffe5255fc0
+dmtc1, mov.d, dmfc1 :: mem: 0xe4627f3fe5255fc0 out: 0xe4627f3fe5255fc0
+mtc1, mov.s, mfc1 :: mem: 0x54bf6a4 out: 0x54bf6a4
+dmtc1, mov.d, dmfc1 :: mem: 0x54bf6a4 out: 0x54bf6a4
+mtc1, mov.s, mfc1 :: mem: 0xccd392e176321f28 out: 0x76321f28
+dmtc1, mov.d, dmfc1 :: mem: 0xccd392e176321f28 out: 0xccd392e176321f28
+mtc1, mov.s, mfc1 :: mem: 0x808d07d out: 0x808d07d
+dmtc1, mov.d, dmfc1 :: mem: 0x808d07d out: 0x808d07d
+mtc1, mov.s, mfc1 :: mem: 0x829464944018fd8f out: 0x4018fd8f
+dmtc1, mov.d, dmfc1 :: mem: 0x829464944018fd8f out: 0x829464944018fd8f
+mtc1, mov.s, mfc1 :: mem: 0xcc9cdca out: 0xcc9cdca
+dmtc1, mov.d, dmfc1 :: mem: 0xcc9cdca out: 0xcc9cdca
+mtc1, mov.s, mfc1 :: mem: 0x15d3204052e8f0e5 out: 0x52e8f0e5
+dmtc1, mov.d, dmfc1 :: mem: 0x15d3204052e8f0e5 out: 0x15d3204052e8f0e5
+mtc1, mov.s, mfc1 :: mem: 0x7897ab07 out: 0x7897ab07
+dmtc1, mov.d, dmfc1 :: mem: 0x7897ab07 out: 0x7897ab07
+mtc1, mov.s, mfc1 :: mem: 0x7caf83d2880ff344 out: 0xffffffff880ff344
+dmtc1, mov.d, dmfc1 :: mem: 0x7caf83d2880ff344 out: 0x7caf83d2880ff344
+mtc1, mov.s, mfc1 :: mem: 0x7c56b6b0 out: 0x7c56b6b0
+dmtc1, mov.d, dmfc1 :: mem: 0x7c56b6b0 out: 0x7c56b6b0
+mtc1, mov.s, mfc1 :: mem: 0xf156a04c747defd7 out: 0x747defd7
+dmtc1, mov.d, dmfc1 :: mem: 0xf156a04c747defd7 out: 0xf156a04c747defd7
+mtc1, mov.s, mfc1 :: mem: 0x71159069 out: 0x71159069
+dmtc1, mov.d, dmfc1 :: mem: 0x71159069 out: 0x71159069
+mtc1, mov.s, mfc1 :: mem: 0x93e2601c0f31d710 out: 0xf31d710
+dmtc1, mov.d, dmfc1 :: mem: 0x93e2601c0f31d710 out: 0x93e2601c0f31d710
+mtc1, mov.s, mfc1 :: mem: 0x75d48dde out: 0x75d48dde
+dmtc1, mov.d, dmfc1 :: mem: 0x75d48dde out: 0x75d48dde
+mtc1, mov.s, mfc1 :: mem: 0xe1e1a679131cd933 out: 0x131cd933
+dmtc1, mov.d, dmfc1 :: mem: 0xe1e1a679131cd933 out: 0xe1e1a679131cd933
+mtc1, mov.s, mfc1 :: mem: 0x6b93dddb out: 0x6b93dddb
+dmtc1, mov.d, dmfc1 :: mem: 0x6b93dddb out: 0x6b93dddb
+mtc1, mov.s, mfc1 :: mem: 0x24296b75a76fa427 out: 0xffffffffa76fa427
+dmtc1, mov.d, dmfc1 :: mem: 0x24296b75a76fa427 out: 0x24296b75a76fa427
+mtc1, mov.s, mfc1 :: mem: 0x6f52c06c out: 0x6f52c06c
+dmtc1, mov.d, dmfc1 :: mem: 0x6f52c06c out: 0x6f52c06c
+mtc1, mov.s, mfc1 :: mem: 0xd296e2d2139ee56a out: 0x139ee56a
+dmtc1, mov.d, dmfc1 :: mem: 0xd296e2d2139ee56a out: 0xd296e2d2139ee56a
+mtc1, mov.s, mfc1 :: mem: 0x6211e6b5 out: 0x6211e6b5
+dmtc1, mov.d, dmfc1 :: mem: 0x6211e6b5 out: 0x6211e6b5
+mtc1, mov.s, mfc1 :: mem: 0x5a82447f6dc2a5c0 out: 0x6dc2a5c0
+dmtc1, mov.d, dmfc1 :: mem: 0x5a82447f6dc2a5c0 out: 0x5a82447f6dc2a5c0
+mtc1, mov.s, mfc1 :: mem: 0x66d0fb02 out: 0x66d0fb02
+dmtc1, mov.d, dmfc1 :: mem: 0x66d0fb02 out: 0x66d0fb02
+mtc1, mov.s, mfc1 :: mem: 0x76c89e80c07dc168 out: 0xffffffffc07dc168
+dmtc1, mov.d, dmfc1 :: mem: 0x76c89e80c07dc168 out: 0x76c89e80c07dc168
+mtc1, mov.s, mfc1 :: mem: 0x5e9f46bf out: 0x5e9f46bf
+dmtc1, mov.d, dmfc1 :: mem: 0x5e9f46bf out: 0x5e9f46bf
+mtc1, mov.s, mfc1 :: mem: 0x70dc3454bfe348f out: 0x4bfe348f
+dmtc1, mov.d, dmfc1 :: mem: 0x70dc3454bfe348f out: 0x70dc3454bfe348f
+mtc1, mov.s, mfc1 :: mem: 0x5a5e5b08 out: 0x5a5e5b08
+dmtc1, mov.d, dmfc1 :: mem: 0x5a5e5b08 out: 0x5a5e5b08
+mtc1, mov.s, mfc1 :: mem: 0xbddc7123dd6d241b out: 0xffffffffdd6d241b
+dmtc1, mov.d, dmfc1 :: mem: 0xbddc7123dd6d241b out: 0xbddc7123dd6d241b
+mtc1, mov.s, mfc1 :: mem: 0x571d7dd1 out: 0x571d7dd1
+dmtc1, mov.d, dmfc1 :: mem: 0x571d7dd1 out: 0x571d7dd1
+mtc1, mov.s, mfc1 :: mem: 0xf62fb727a59fcebe out: 0xffffffffa59fcebe
+dmtc1, mov.d, dmfc1 :: mem: 0xf62fb727a59fcebe out: 0xf62fb727a59fcebe
+mtc1, mov.s, mfc1 :: mem: 0x53dc6066 out: 0x53dc6066
+dmtc1, mov.d, dmfc1 :: mem: 0x53dc6066 out: 0x53dc6066
+mtc1, mov.s, mfc1 :: mem: 0x109f27e90f9f46fb out: 0xf9f46fb
+dmtc1, mov.d, dmfc1 :: mem: 0x109f27e90f9f46fb out: 0x109f27e90f9f46fb
+mtc1, mov.s, mfc1 :: mem: 0x4d9b3063 out: 0x4d9b3063
+dmtc1, mov.d, dmfc1 :: mem: 0x4d9b3063 out: 0x4d9b3063
+mtc1, mov.s, mfc1 :: mem: 0x3f63daa9afd199d7 out: 0xffffffffafd199d7
+dmtc1, mov.d, dmfc1 :: mem: 0x3f63daa9afd199d7 out: 0x3f63daa9afd199d7
+mtc1, mov.s, mfc1 :: mem: 0x495a2dd4 out: 0x495a2dd4
+dmtc1, mov.d, dmfc1 :: mem: 0x495a2dd4 out: 0x495a2dd4
+mtc1, mov.s, mfc1 :: mem: 0xdbcb312ea3d484f2 out: 0xffffffffa3d484f2
+dmtc1, mov.d, dmfc1 :: mem: 0xdbcb312ea3d484f2 out: 0xdbcb312ea3d484f2
+mtc1, mov.s, mfc1 :: mem: 0x44190b0d out: 0x44190b0d
+dmtc1, mov.d, dmfc1 :: mem: 0x44190b0d out: 0x44190b0d
+mtc1, mov.s, mfc1 :: mem: 0x1f353faada4fe4c6 out: 0xffffffffda4fe4c6
+dmtc1, mov.d, dmfc1 :: mem: 0x1f353faada4fe4c6 out: 0x1f353faada4fe4c6
+mtc1, mov.s, mfc1 :: mem: 0x40d816ba out: 0x40d816ba
+dmtc1, mov.d, dmfc1 :: mem: 0x40d816ba out: 0x40d816ba
+mtc1, mov.s, mfc1 :: mem: 0x8b086ee07150c260 out: 0x7150c260
+dmtc1, mov.d, dmfc1 :: mem: 0x8b086ee07150c260 out: 0x8b086ee07150c260
+mtc1, mov.s, mfc1 :: mem: 0xffffffffaca5c697 out: 0xffffffffaca5c697
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffaca5c697 out: 0xffffffffaca5c697
+mtc1, mov.s, mfc1 :: mem: 0xe54750d5d9257f25 out: 0xffffffffd9257f25
+dmtc1, mov.d, dmfc1 :: mem: 0xe54750d5d9257f25 out: 0xe54750d5d9257f25
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa864db20 out: 0xffffffffa864db20
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa864db20 out: 0xffffffffa864db20
+mtc1, mov.s, mfc1 :: mem: 0x3d69625fe9a6db5b out: 0xffffffffe9a6db5b
+dmtc1, mov.d, dmfc1 :: mem: 0x3d69625fe9a6db5b out: 0x3d69625fe9a6db5b
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa527fdf9 out: 0xffffffffa527fdf9
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa527fdf9 out: 0xffffffffa527fdf9
+mtc1, mov.s, mfc1 :: mem: 0x70a3e0424340ac96 out: 0x4340ac96
+dmtc1, mov.d, dmfc1 :: mem: 0x70a3e0424340ac96 out: 0x70a3e0424340ac96
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa1e6e04e out: 0xffffffffa1e6e04e
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa1e6e04e out: 0xffffffffa1e6e04e
+mtc1, mov.s, mfc1 :: mem: 0xc0478f036980171e out: 0x6980171e
+dmtc1, mov.d, dmfc1 :: mem: 0xc0478f036980171e out: 0xc0478f036980171e
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbfa1b04b out: 0xffffffffbfa1b04b
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbfa1b04b out: 0xffffffffbfa1b04b
+mtc1, mov.s, mfc1 :: mem: 0x3ce839a51cf929e3 out: 0x1cf929e3
+dmtc1, mov.d, dmfc1 :: mem: 0x3ce839a51cf929e3 out: 0x3ce839a51cf929e3
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbb60adfc out: 0xffffffffbb60adfc
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbb60adfc out: 0xffffffffbb60adfc
+mtc1, mov.s, mfc1 :: mem: 0xe2fbfa895eb68958 out: 0x5eb68958
+dmtc1, mov.d, dmfc1 :: mem: 0xe2fbfa895eb68958 out: 0xe2fbfa895eb68958
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb6238b25 out: 0xffffffffb6238b25
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb6238b25 out: 0xffffffffb6238b25
+mtc1, mov.s, mfc1 :: mem: 0xd24bb05d76ed25b7 out: 0x76ed25b7
+dmtc1, mov.d, dmfc1 :: mem: 0xd24bb05d76ed25b7 out: 0xd24bb05d76ed25b7
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb2e29692 out: 0xffffffffb2e29692
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb2e29692 out: 0xffffffffb2e29692
+mtc1, mov.s, mfc1 :: mem: 0xeb9682c170312f1 out: 0x170312f1
+dmtc1, mov.d, dmfc1 :: mem: 0xeb9682c170312f1 out: 0xeb9682c170312f1
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8aad2b2f out: 0xffffffff8aad2b2f
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8aad2b2f out: 0xffffffff8aad2b2f
+mtc1, mov.s, mfc1 :: mem: 0x84785280dd301d0d out: 0xffffffffdd301d0d
+dmtc1, mov.d, dmfc1 :: mem: 0x84785280dd301d0d out: 0x84785280dd301d0d
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x179c77aa1f8fd6ef out: 0x1f8fd6ef
+dmtc1, mov.d, dmfc1 :: mem: 0x179c77aa1f8fd6ef out: 0x179c77aa1f8fd6ef
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x26444ced2998436d out: 0x2998436d
+dmtc1, mov.d, dmfc1 :: mem: 0x26444ced2998436d out: 0x26444ced2998436d
+mtc1, mov.s, mfc1 :: mem: 0xffffffff87ee0df6 out: 0xffffffff87ee0df6
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff87ee0df6 out: 0xffffffff87ee0df6
+mtc1, mov.s, mfc1 :: mem: 0x7175c9dd58ca708 out: 0xffffffffd58ca708
+dmtc1, mov.d, dmfc1 :: mem: 0x7175c9dd58ca708 out: 0x7175c9dd58ca708
+mtc1, mov.s, mfc1 :: mem: 0xffffffff99a95df3 out: 0xffffffff99a95df3
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff99a95df3 out: 0xffffffff99a95df3
+mtc1, mov.s, mfc1 :: mem: 0x663d061055833287 out: 0x55833287
+dmtc1, mov.d, dmfc1 :: mem: 0x663d061055833287 out: 0x663d061055833287
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9d684044 out: 0xffffffff9d684044
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9d684044 out: 0xffffffff9d684044
+mtc1, mov.s, mfc1 :: mem: 0xab7dd0488951d68b out: 0xffffffff8951d68b
+dmtc1, mov.d, dmfc1 :: mem: 0xab7dd0488951d68b out: 0xab7dd0488951d68b
+mtc1, mov.s, mfc1 :: mem: 0xffffffff902b669d out: 0xffffffff902b669d
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff902b669d out: 0xffffffff902b669d
+mtc1, mov.s, mfc1 :: mem: 0xf69823670e82471b out: 0xe82471b
+dmtc1, mov.d, dmfc1 :: mem: 0xf69823670e82471b out: 0xf69823670e82471b
+mtc1, mov.s, mfc1 :: mem: 0xffffffff94ea7b2a out: 0xffffffff94ea7b2a
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff94ea7b2a out: 0xffffffff94ea7b2a
+mtc1, mov.s, mfc1 :: mem: 0x36886c59d98d26b2 out: 0xffffffffd98d26b2
+dmtc1, mov.d, dmfc1 :: mem: 0x36886c59d98d26b2 out: 0x36886c59d98d26b2
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe0b41de7 out: 0xffffffffe0b41de7
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe0b41de7 out: 0xffffffffe0b41de7
+mtc1, mov.s, mfc1 :: mem: 0x9ca4bdbd32be479 out: 0xffffffffd32be479
+dmtc1, mov.d, dmfc1 :: mem: 0x9ca4bdbd32be479 out: 0x9ca4bdbd32be479
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe4750050 out: 0xffffffffe4750050
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe4750050 out: 0xffffffffe4750050
+mtc1, mov.s, mfc1 :: mem: 0xfd5d7d1d9962e61f out: 0xffffffff9962e61f
+dmtc1, mov.d, dmfc1 :: mem: 0xfd5d7d1d9962e61f out: 0xfd5d7d1d9962e61f
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe9362689 out: 0xffffffffe9362689
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe9362689 out: 0xffffffffe9362689
+mtc1, mov.s, mfc1 :: mem: 0x3f46553ecad374df out: 0xffffffffcad374df
+dmtc1, mov.d, dmfc1 :: mem: 0x3f46553ecad374df out: 0x3f46553ecad374df
+mtc1, mov.s, mfc1 :: mem: 0xffffffffedf73b3e out: 0xffffffffedf73b3e
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffedf73b3e out: 0xffffffffedf73b3e
+mtc1, mov.s, mfc1 :: mem: 0x2e9ab97d3eedf2a7 out: 0x3eedf2a7
+dmtc1, mov.d, dmfc1 :: mem: 0x2e9ab97d3eedf2a7 out: 0x2e9ab97d3eedf2a7
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff3b06b3b out: 0xfffffffff3b06b3b
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff3b06b3b out: 0xfffffffff3b06b3b
+mtc1, mov.s, mfc1 :: mem: 0x36a6f7fa3c0c9f33 out: 0x3c0c9f33
+dmtc1, mov.d, dmfc1 :: mem: 0x36a6f7fa3c0c9f33 out: 0x36a6f7fa3c0c9f33
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff771768c out: 0xfffffffff771768c
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff771768c out: 0xfffffffff771768c
+mtc1, mov.s, mfc1 :: mem: 0x8bb938e3155ec9dc out: 0x155ec9dc
+dmtc1, mov.d, dmfc1 :: mem: 0x8bb938e3155ec9dc out: 0x8bb938e3155ec9dc
+mtc1, mov.s, mfc1 :: mem: 0xfffffffffa325055 out: 0xfffffffffa325055
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffffa325055 out: 0xfffffffffa325055
+mtc1, mov.s, mfc1 :: mem: 0xd2df25c419478206 out: 0x19478206
+dmtc1, mov.d, dmfc1 :: mem: 0xd2df25c419478206 out: 0xd2df25c419478206
+mtc1, mov.s, mfc1 :: mem: 0xfffffffffef34de2 out: 0xfffffffffef34de2
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffffef34de2 out: 0xfffffffffef34de2
+mtc1, mov.s, mfc1 :: mem: 0xbc65bf27eb321825 out: 0xffffffffeb321825
+dmtc1, mov.d, dmfc1 :: mem: 0xbc65bf27eb321825 out: 0xbc65bf27eb321825
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc6bcf05f out: 0xffffffffc6bcf05f
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc6bcf05f out: 0xffffffffc6bcf05f
+mtc1, mov.s, mfc1 :: mem: 0xa8b08fe67a8bc7da out: 0x7a8bc7da
+dmtc1, mov.d, dmfc1 :: mem: 0xa8b08fe67a8bc7da out: 0xa8b08fe67a8bc7da
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc27dede8 out: 0xffffffffc27dede8
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc27dede8 out: 0xffffffffc27dede8
+mtc1, mov.s, mfc1 :: mem: 0x852b5bcaf8dfcde8 out: 0xfffffffff8dfcde8
+dmtc1, mov.d, dmfc1 :: mem: 0x852b5bcaf8dfcde8 out: 0x852b5bcaf8dfcde8
+mtc1, mov.s, mfc1 :: mem: 0xffffffffcf3ecb31 out: 0xffffffffcf3ecb31
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffcf3ecb31 out: 0xffffffffcf3ecb31
+mtc1, mov.s, mfc1 :: mem: 0x478909b59a99269 out: 0x59a99269
+dmtc1, mov.d, dmfc1 :: mem: 0x478909b59a99269 out: 0x478909b59a99269
+mtc1, mov.s, mfc1 :: mem: 0xffffffffcbffd686 out: 0xffffffffcbffd686
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffcbffd686 out: 0xffffffffcbffd686
+mtc1, mov.s, mfc1 :: mem: 0xbfb31cc87857360f out: 0x7857360f
+dmtc1, mov.d, dmfc1 :: mem: 0xbfb31cc87857360f out: 0xbfb31cc87857360f
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd5b88683 out: 0xffffffffd5b88683
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd5b88683 out: 0xffffffffd5b88683
+mtc1, mov.s, mfc1 :: mem: 0xb665ed5e7f89e9a2 out: 0x7f89e9a2
+dmtc1, mov.d, dmfc1 :: mem: 0xb665ed5e7f89e9a2 out: 0xb665ed5e7f89e9a2
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd1799b34 out: 0xffffffffd1799b34
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd1799b34 out: 0xffffffffd1799b34
+mtc1, mov.s, mfc1 :: mem: 0x15da9474b7a8d5e4 out: 0xffffffffb7a8d5e4
+dmtc1, mov.d, dmfc1 :: mem: 0x15da9474b7a8d5e4 out: 0x15da9474b7a8d5e4
+mtc1, mov.s, mfc1 :: mem: 0xffffffffdc3abded out: 0xffffffffdc3abded
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffdc3abded out: 0xffffffffdc3abded
+mtc1, mov.s, mfc1 :: mem: 0xf6b3537d2af90fcc out: 0x2af90fcc
+dmtc1, mov.d, dmfc1 :: mem: 0xf6b3537d2af90fcc out: 0xf6b3537d2af90fcc
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd8fba05a out: 0xffffffffd8fba05a
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd8fba05a out: 0xffffffffd8fba05a
+mtc1, mov.s, mfc1 :: mem: 0x223d7cfe2b961897 out: 0x2b961897
+dmtc1, mov.d, dmfc1 :: mem: 0x223d7cfe2b961897 out: 0x223d7cfe2b961897
+mtc1, mov.s, mfc1 :: mem: 0x690ce0ee out: 0x690ce0ee
+dmtc1, mov.d, dmfc1 :: mem: 0x690ce0ee out: 0x690ce0ee
+mtc1, mov.s, mfc1 :: mem: 0x420b34f533734a4b out: 0x33734a4b
+dmtc1, mov.d, dmfc1 :: mem: 0x420b34f533734a4b out: 0x420b34f533734a4b
+mtc1, mov.s, mfc1 :: mem: 0x6dcdfd59 out: 0x6dcdfd59
+dmtc1, mov.d, dmfc1 :: mem: 0x6dcdfd59 out: 0x6dcdfd59
+mtc1, mov.s, mfc1 :: mem: 0x897c8c8ddd46b33c out: 0xffffffffdd46b33c
+dmtc1, mov.d, dmfc1 :: mem: 0x897c8c8ddd46b33c out: 0x897c8c8ddd46b33c
+mtc1, mov.s, mfc1 :: mem: 0x608edb80 out: 0x608edb80
+dmtc1, mov.d, dmfc1 :: mem: 0x608edb80 out: 0x608edb80
+mtc1, mov.s, mfc1 :: mem: 0x7a387445e392ccd9 out: 0xffffffffe392ccd9
+dmtc1, mov.d, dmfc1 :: mem: 0x7a387445e392ccd9 out: 0x7a387445e392ccd9
+mtc1, mov.s, mfc1 :: mem: 0x644fc637 out: 0x644fc637
+dmtc1, mov.d, dmfc1 :: mem: 0x644fc637 out: 0x644fc637
+mtc1, mov.s, mfc1 :: mem: 0x512f29b1d80000c9 out: 0xffffffffd80000c9
+dmtc1, mov.d, dmfc1 :: mem: 0x512f29b1d80000c9 out: 0x512f29b1d80000c9
+mtc1, mov.s, mfc1 :: mem: 0x7a089632 out: 0x7a089632
+dmtc1, mov.d, dmfc1 :: mem: 0x7a089632 out: 0x7a089632
+mtc1, mov.s, mfc1 :: mem: 0xeaded5c53dad020a out: 0x3dad020a
+dmtc1, mov.d, dmfc1 :: mem: 0xeaded5c53dad020a out: 0xeaded5c53dad020a
+mtc1, mov.s, mfc1 :: mem: 0x7ec98b85 out: 0x7ec98b85
+dmtc1, mov.d, dmfc1 :: mem: 0x7ec98b85 out: 0x7ec98b85
+mtc1, mov.s, mfc1 :: mem: 0x8a6229d731eea35b out: 0x31eea35b
+dmtc1, mov.d, dmfc1 :: mem: 0x8a6229d731eea35b out: 0x8a6229d731eea35b
+mtc1, mov.s, mfc1 :: mem: 0x738aad5c out: 0x738aad5c
+dmtc1, mov.d, dmfc1 :: mem: 0x738aad5c out: 0x738aad5c
+mtc1, mov.s, mfc1 :: mem: 0x2c3c3f9e48985649 out: 0x48985649
+dmtc1, mov.d, dmfc1 :: mem: 0x2c3c3f9e48985649 out: 0x2c3c3f9e48985649
+mtc1, mov.s, mfc1 :: mem: 0x774bb0eb out: 0x774bb0eb
+dmtc1, mov.d, dmfc1 :: mem: 0x774bb0eb out: 0x774bb0eb
+mtc1, mov.s, mfc1 :: mem: 0x7ff61e78dc9c0b77 out: 0xffffffffdc9c0b77
+dmtc1, mov.d, dmfc1 :: mem: 0x7ff61e78dc9c0b77 out: 0x7ff61e78dc9c0b77
+mtc1, mov.s, mfc1 :: mem: 0x4f040d56 out: 0x4f040d56
+dmtc1, mov.d, dmfc1 :: mem: 0x4f040d56 out: 0x4f040d56
+mtc1, mov.s, mfc1 :: mem: 0x2299b0e01d5e68ec out: 0x1d5e68ec
+dmtc1, mov.d, dmfc1 :: mem: 0x2299b0e01d5e68ec out: 0x2299b0e01d5e68ec
+mtc1, mov.s, mfc1 :: mem: 0x4bc510e1 out: 0x4bc510e1
+dmtc1, mov.d, dmfc1 :: mem: 0x4bc510e1 out: 0x4bc510e1
+mtc1, mov.s, mfc1 :: mem: 0x7c3b04673d0c6e25 out: 0x3d0c6e25
+dmtc1, mov.d, dmfc1 :: mem: 0x7c3b04673d0c6e25 out: 0x7c3b04673d0c6e25
+mtc1, mov.s, mfc1 :: mem: 0x46863638 out: 0x46863638
+dmtc1, mov.d, dmfc1 :: mem: 0x46863638 out: 0x46863638
+mtc1, mov.s, mfc1 :: mem: 0x164e17c1e7fb6587 out: 0xffffffffe7fb6587
+dmtc1, mov.d, dmfc1 :: mem: 0x164e17c1e7fb6587 out: 0x164e17c1e7fb6587
+mtc1, mov.s, mfc1 :: mem: 0x42472b8f out: 0x42472b8f
+dmtc1, mov.d, dmfc1 :: mem: 0x42472b8f out: 0x42472b8f
+mtc1, mov.s, mfc1 :: mem: 0xfa4ca28b56d4950b out: 0x56d4950b
+dmtc1, mov.d, dmfc1 :: mem: 0xfa4ca28b56d4950b out: 0xfa4ca28b56d4950b
+mtc1, mov.s, mfc1 :: mem: 0x5c007b8a out: 0x5c007b8a
+dmtc1, mov.d, dmfc1 :: mem: 0x5c007b8a out: 0x5c007b8a
+mtc1, mov.s, mfc1 :: mem: 0xe5e9a314be7fa08a out: 0xffffffffbe7fa08a
+dmtc1, mov.d, dmfc1 :: mem: 0xe5e9a314be7fa08a out: 0xe5e9a314be7fa08a
+mtc1, mov.s, mfc1 :: mem: 0x58c1663d out: 0x58c1663d
+dmtc1, mov.d, dmfc1 :: mem: 0x58c1663d out: 0x58c1663d
+mtc1, mov.s, mfc1 :: mem: 0xf8be8164159649c5 out: 0x159649c5
+dmtc1, mov.d, dmfc1 :: mem: 0xf8be8164159649c5 out: 0xf8be8164159649c5
+mtc1, mov.s, mfc1 :: mem: 0x558240e4 out: 0x558240e4
+dmtc1, mov.d, dmfc1 :: mem: 0x558240e4 out: 0x558240e4
+mtc1, mov.s, mfc1 :: mem: 0x7ca3259784e69b17 out: 0xffffffff84e69b17
+dmtc1, mov.d, dmfc1 :: mem: 0x7ca3259784e69b17 out: 0x7ca3259784e69b17
+mtc1, mov.s, mfc1 :: mem: 0x51435d53 out: 0x51435d53
+dmtc1, mov.d, dmfc1 :: mem: 0x51435d53 out: 0x51435d53
+mtc1, mov.s, mfc1 :: mem: 0xfc8d543ca1f24f5c out: 0xffffffffa1f24f5c
+dmtc1, mov.d, dmfc1 :: mem: 0xfc8d543ca1f24f5c out: 0xfc8d543ca1f24f5c
+mtc1, mov.s, mfc1 :: mem: 0x251d3b9e out: 0x251d3b9e
+dmtc1, mov.d, dmfc1 :: mem: 0x251d3b9e out: 0x251d3b9e
+mtc1, mov.s, mfc1 :: mem: 0x4aeb6ca0e3459e36 out: 0xffffffffe3459e36
+dmtc1, mov.d, dmfc1 :: mem: 0x4aeb6ca0e3459e36 out: 0x4aeb6ca0e3459e36
+mtc1, mov.s, mfc1 :: mem: 0x21dc2629 out: 0x21dc2629
+dmtc1, mov.d, dmfc1 :: mem: 0x21dc2629 out: 0x21dc2629
+mtc1, mov.s, mfc1 :: mem: 0xc532e18e187980fa out: 0x187980fa
+dmtc1, mov.d, dmfc1 :: mem: 0xc532e18e187980fa out: 0xc532e18e187980fa
+mtc1, mov.s, mfc1 :: mem: 0x2c9f00f0 out: 0x2c9f00f0
+dmtc1, mov.d, dmfc1 :: mem: 0x2c9f00f0 out: 0x2c9f00f0
+mtc1, mov.s, mfc1 :: mem: 0xb3fdec294f287d1c out: 0x4f287d1c
+dmtc1, mov.d, dmfc1 :: mem: 0xb3fdec294f287d1c out: 0xb3fdec294f287d1c
+mtc1, mov.s, mfc1 :: mem: 0x285e1d47 out: 0x285e1d47
+dmtc1, mov.d, dmfc1 :: mem: 0x285e1d47 out: 0x285e1d47
+mtc1, mov.s, mfc1 :: mem: 0xb620660a49732b90 out: 0x49732b90
+dmtc1, mov.d, dmfc1 :: mem: 0xb620660a49732b90 out: 0xb620660a49732b90
+mtc1, mov.s, mfc1 :: mem: 0x36194d42 out: 0x36194d42
+dmtc1, mov.d, dmfc1 :: mem: 0x36194d42 out: 0x36194d42
+mtc1, mov.s, mfc1 :: mem: 0x993138f16cfde991 out: 0x6cfde991
+dmtc1, mov.d, dmfc1 :: mem: 0x993138f16cfde991 out: 0x993138f16cfde991
+mtc1, mov.s, mfc1 :: mem: 0x32d850f5 out: 0x32d850f5
+dmtc1, mov.d, dmfc1 :: mem: 0x32d850f5 out: 0x32d850f5
+mtc1, mov.s, mfc1 :: mem: 0xde02d1337d5407b9 out: 0x7d5407b9
+dmtc1, mov.d, dmfc1 :: mem: 0xde02d1337d5407b9 out: 0xde02d1337d5407b9
+mtc1, mov.s, mfc1 :: mem: 0x3f9b762c out: 0x3f9b762c
+dmtc1, mov.d, dmfc1 :: mem: 0x3f9b762c out: 0x3f9b762c
+mtc1, mov.s, mfc1 :: mem: 0x13a390e1e1dab15a out: 0xffffffffe1dab15a
+dmtc1, mov.d, dmfc1 :: mem: 0x13a390e1e1dab15a out: 0x13a390e1e1dab15a
+mtc1, mov.s, mfc1 :: mem: 0x3b5a6b9b out: 0x3b5a6b9b
+dmtc1, mov.d, dmfc1 :: mem: 0x3b5a6b9b out: 0x3b5a6b9b
+mtc1, mov.s, mfc1 :: mem: 0x743491a6828716c8 out: 0xffffffff828716c8
+dmtc1, mov.d, dmfc1 :: mem: 0x743491a6828716c8 out: 0x743491a6828716c8
+mtc1, mov.s, mfc1 :: mem: 0x315d626 out: 0x315d626
+dmtc1, mov.d, dmfc1 :: mem: 0x315d626 out: 0x315d626
+mtc1, mov.s, mfc1 :: mem: 0x8cff404aede292f2 out: 0xffffffffede292f2
+dmtc1, mov.d, dmfc1 :: mem: 0x8cff404aede292f2 out: 0x8cff404aede292f2
+mtc1, mov.s, mfc1 :: mem: 0x7d4cb91 out: 0x7d4cb91
+dmtc1, mov.d, dmfc1 :: mem: 0x7d4cb91 out: 0x7d4cb91
+mtc1, mov.s, mfc1 :: mem: 0xb9cec0db1f837636 out: 0x1f837636
+dmtc1, mov.d, dmfc1 :: mem: 0xb9cec0db1f837636 out: 0xb9cec0db1f837636
+mtc1, mov.s, mfc1 :: mem: 0xa97ed48 out: 0xa97ed48
+dmtc1, mov.d, dmfc1 :: mem: 0xa97ed48 out: 0xa97ed48
+mtc1, mov.s, mfc1 :: mem: 0x2eaa5aa70509771c out: 0x509771c
+dmtc1, mov.d, dmfc1 :: mem: 0x2eaa5aa70509771c out: 0x2eaa5aa70509771c
+mtc1, mov.s, mfc1 :: mem: 0xe56f0ff out: 0xe56f0ff
+dmtc1, mov.d, dmfc1 :: mem: 0xe56f0ff out: 0xe56f0ff
+mtc1, mov.s, mfc1 :: mem: 0xd327538e1875241b out: 0x1875241b
+dmtc1, mov.d, dmfc1 :: mem: 0xd327538e1875241b out: 0xd327538e1875241b
+mtc1, mov.s, mfc1 :: mem: 0x1011a0fa out: 0x1011a0fa
+dmtc1, mov.d, dmfc1 :: mem: 0x1011a0fa out: 0x1011a0fa
+mtc1, mov.s, mfc1 :: mem: 0x42e9f8548b739b6b out: 0xffffffff8b739b6b
+dmtc1, mov.d, dmfc1 :: mem: 0x42e9f8548b739b6b out: 0x42e9f8548b739b6b
+mtc1, mov.s, mfc1 :: mem: 0x14d0bd4d out: 0x14d0bd4d
+dmtc1, mov.d, dmfc1 :: mem: 0x14d0bd4d out: 0x14d0bd4d
+mtc1, mov.s, mfc1 :: mem: 0x78e4e50ceccbba1a out: 0xffffffffeccbba1a
+dmtc1, mov.d, dmfc1 :: mem: 0x78e4e50ceccbba1a out: 0x78e4e50ceccbba1a
+mtc1, mov.s, mfc1 :: mem: 0x19939b94 out: 0x19939b94
+dmtc1, mov.d, dmfc1 :: mem: 0x19939b94 out: 0x19939b94
+mtc1, mov.s, mfc1 :: mem: 0xf6b6fa3fcd9d27cb out: 0xffffffffcd9d27cb
+dmtc1, mov.d, dmfc1 :: mem: 0xf6b6fa3fcd9d27cb out: 0xf6b6fa3fcd9d27cb
+mtc1, mov.s, mfc1 :: mem: 0x1d528623 out: 0x1d528623
+dmtc1, mov.d, dmfc1 :: mem: 0x1d528623 out: 0x1d528623
+mtc1, mov.s, mfc1 :: mem: 0x73916483ae3e9423 out: 0xffffffffae3e9423
+dmtc1, mov.d, dmfc1 :: mem: 0x73916483ae3e9423 out: 0x73916483ae3e9423
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff12f560e out: 0xfffffffff12f560e
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff12f560e out: 0xfffffffff12f560e
+mtc1, mov.s, mfc1 :: mem: 0x276af70a0e128561 out: 0xe128561
+dmtc1, mov.d, dmfc1 :: mem: 0x276af70a0e128561 out: 0x276af70a0e128561
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff5ee4bb9 out: 0xfffffffff5ee4bb9
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff5ee4bb9 out: 0xfffffffff5ee4bb9
+mtc1, mov.s, mfc1 :: mem: 0x3045bf6b5e74b6e out: 0xffffffffb5e74b6e
+dmtc1, mov.d, dmfc1 :: mem: 0x3045bf6b5e74b6e out: 0x3045bf6b5e74b6e
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff8ad6d60 out: 0xfffffffff8ad6d60
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff8ad6d60 out: 0xfffffffff8ad6d60
+mtc1, mov.s, mfc1 :: mem: 0x20223f1308accfa6 out: 0x8accfa6
+dmtc1, mov.d, dmfc1 :: mem: 0x20223f1308accfa6 out: 0x20223f1308accfa6
+mtc1, mov.s, mfc1 :: mem: 0xfffffffffc6c70d7 out: 0xfffffffffc6c70d7
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffffc6c70d7 out: 0xfffffffffc6c70d7
+mtc1, mov.s, mfc1 :: mem: 0xf83c55743976b5f5 out: 0x3976b5f5
+dmtc1, mov.d, dmfc1 :: mem: 0xf83c55743976b5f5 out: 0xf83c55743976b5f5
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe22b20d2 out: 0xffffffffe22b20d2
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe22b20d2 out: 0xffffffffe22b20d2
+mtc1, mov.s, mfc1 :: mem: 0x1f9720f946923c3d out: 0x46923c3d
+dmtc1, mov.d, dmfc1 :: mem: 0x1f9720f946923c3d out: 0x1f9720f946923c3d
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe6ea3d65 out: 0xffffffffe6ea3d65
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe6ea3d65 out: 0xffffffffe6ea3d65
+mtc1, mov.s, mfc1 :: mem: 0x620d28506d2448dd out: 0x6d2448dd
+dmtc1, mov.d, dmfc1 :: mem: 0x620d28506d2448dd out: 0x620d28506d2448dd
+mtc1, mov.s, mfc1 :: mem: 0xffffffffeba91bbc out: 0xffffffffeba91bbc
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffeba91bbc out: 0xffffffffeba91bbc
+mtc1, mov.s, mfc1 :: mem: 0x60a521e99ff4a732 out: 0xffffffff9ff4a732
+dmtc1, mov.d, dmfc1 :: mem: 0x60a521e99ff4a732 out: 0x60a521e99ff4a732
+mtc1, mov.s, mfc1 :: mem: 0xffffffffef68060b out: 0xffffffffef68060b
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffef68060b out: 0xffffffffef68060b
+mtc1, mov.s, mfc1 :: mem: 0x5a08f3ab5c680f0b out: 0x5c680f0b
+dmtc1, mov.d, dmfc1 :: mem: 0x5a08f3ab5c680f0b out: 0x5a08f3ab5c680f0b
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd727bbb6 out: 0xffffffffd727bbb6
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd727bbb6 out: 0xffffffffd727bbb6
+mtc1, mov.s, mfc1 :: mem: 0xc7a59be7800f3d26 out: 0xffffffff800f3d26
+dmtc1, mov.d, dmfc1 :: mem: 0xc7a59be7800f3d26 out: 0xc7a59be7800f3d26
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd3e6a601 out: 0xffffffffd3e6a601
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd3e6a601 out: 0xffffffffd3e6a601
+mtc1, mov.s, mfc1 :: mem: 0x1aecdf2982ca1b41 out: 0xffffffff82ca1b41
+dmtc1, mov.d, dmfc1 :: mem: 0x1aecdf2982ca1b41 out: 0x1aecdf2982ca1b41
+mtc1, mov.s, mfc1 :: mem: 0xffffffffdea580d8 out: 0xffffffffdea580d8
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffdea580d8 out: 0xffffffffdea580d8
+mtc1, mov.s, mfc1 :: mem: 0x2b8613a260d19dcd out: 0x60d19dcd
+dmtc1, mov.d, dmfc1 :: mem: 0x2b8613a260d19dcd out: 0x2b8613a260d19dcd
+mtc1, mov.s, mfc1 :: mem: 0xffffffffda649d6f out: 0xffffffffda649d6f
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffda649d6f out: 0xffffffffda649d6f
+mtc1, mov.s, mfc1 :: mem: 0x2518ac8b0e8bbe7f out: 0xe8bbe7f
+dmtc1, mov.d, dmfc1 :: mem: 0x2518ac8b0e8bbe7f out: 0x2518ac8b0e8bbe7f
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc423cd6a out: 0xffffffffc423cd6a
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc423cd6a out: 0xffffffffc423cd6a
+mtc1, mov.s, mfc1 :: mem: 0x743e568d2fcf486b out: 0x2fcf486b
+dmtc1, mov.d, dmfc1 :: mem: 0x743e568d2fcf486b out: 0x743e568d2fcf486b
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x126f646f34c31728 out: 0x34c31728
+dmtc1, mov.d, dmfc1 :: mem: 0x126f646f34c31728 out: 0x126f646f34c31728
+mtc1, mov.s, mfc1 :: mem: 0xffffffffcda1f604 out: 0xffffffffcda1f604
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffcda1f604 out: 0xffffffffcda1f604
+mtc1, mov.s, mfc1 :: mem: 0xaab0196156fc4d12 out: 0x56fc4d12
+dmtc1, mov.d, dmfc1 :: mem: 0xaab0196156fc4d12 out: 0xaab0196156fc4d12
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x7535cd338595d342 out: 0xffffffff8595d342
+dmtc1, mov.d, dmfc1 :: mem: 0x7535cd338595d342 out: 0x7535cd338595d342
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbd3e8d7e out: 0xffffffffbd3e8d7e
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbd3e8d7e out: 0xffffffffbd3e8d7e
+mtc1, mov.s, mfc1 :: mem: 0xdfb254da422346ec out: 0x422346ec
+dmtc1, mov.d, dmfc1 :: mem: 0xdfb254da422346ec out: 0xdfb254da422346ec
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb9ff90c9 out: 0xffffffffb9ff90c9
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb9ff90c9 out: 0xffffffffb9ff90c9
+mtc1, mov.s, mfc1 :: mem: 0xa86726c90081ab2a out: 0x81ab2a
+dmtc1, mov.d, dmfc1 :: mem: 0xa86726c90081ab2a out: 0xa86726c90081ab2a
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb4bcb610 out: 0xffffffffb4bcb610
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb4bcb610 out: 0xffffffffb4bcb610
+mtc1, mov.s, mfc1 :: mem: 0x9bfeffa1679d7438 out: 0x679d7438
+dmtc1, mov.d, dmfc1 :: mem: 0x9bfeffa1679d7438 out: 0x9bfeffa1679d7438
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb07daba7 out: 0xffffffffb07daba7
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb07daba7 out: 0xffffffffb07daba7
+mtc1, mov.s, mfc1 :: mem: 0xc7699826b7dee244 out: 0xffffffffb7dee244
+dmtc1, mov.d, dmfc1 :: mem: 0xc7699826b7dee244 out: 0xc7699826b7dee244
+mtc1, mov.s, mfc1 :: mem: 0xffffffffae3afba2 out: 0xffffffffae3afba2
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffae3afba2 out: 0xffffffffae3afba2
+mtc1, mov.s, mfc1 :: mem: 0x3c07af97fba6704a out: 0xfffffffffba6704a
+dmtc1, mov.d, dmfc1 :: mem: 0x3c07af97fba6704a out: 0x3c07af97fba6704a
+mtc1, mov.s, mfc1 :: mem: 0xffffffffaafbe615 out: 0xffffffffaafbe615
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffaafbe615 out: 0xffffffffaafbe615
+mtc1, mov.s, mfc1 :: mem: 0x521364dc04c58bfe out: 0x4c58bfe
+dmtc1, mov.d, dmfc1 :: mem: 0x521364dc04c58bfe out: 0x521364dc04c58bfe
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa7b8c0cc out: 0xffffffffa7b8c0cc
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa7b8c0cc out: 0xffffffffa7b8c0cc
+mtc1, mov.s, mfc1 :: mem: 0xe0f7bb589ab7aebc out: 0xffffffff9ab7aebc
+dmtc1, mov.d, dmfc1 :: mem: 0xe0f7bb589ab7aebc out: 0xe0f7bb589ab7aebc
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa379dd7b out: 0xffffffffa379dd7b
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa379dd7b out: 0xffffffffa379dd7b
+mtc1, mov.s, mfc1 :: mem: 0xe336c60cdeeb954d out: 0xffffffffdeeb954d
+dmtc1, mov.d, dmfc1 :: mem: 0xe336c60cdeeb954d out: 0xe336c60cdeeb954d
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9b3660c6 out: 0xffffffff9b3660c6
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9b3660c6 out: 0xffffffff9b3660c6
+mtc1, mov.s, mfc1 :: mem: 0xd5b2120c6f52416e out: 0x6f52416e
+dmtc1, mov.d, dmfc1 :: mem: 0xd5b2120c6f52416e out: 0xd5b2120c6f52416e
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9ff77d71 out: 0xffffffff9ff77d71
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9ff77d71 out: 0xffffffff9ff77d71
+mtc1, mov.s, mfc1 :: mem: 0x85a2d4ff7e628a34 out: 0x7e628a34
+dmtc1, mov.d, dmfc1 :: mem: 0x85a2d4ff7e628a34 out: 0x85a2d4ff7e628a34
+mtc1, mov.s, mfc1 :: mem: 0xffffffff92b45ba8 out: 0xffffffff92b45ba8
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff92b45ba8 out: 0xffffffff92b45ba8
+mtc1, mov.s, mfc1 :: mem: 0x986a2b654a4e7e07 out: 0x4a4e7e07
+dmtc1, mov.d, dmfc1 :: mem: 0x986a2b654a4e7e07 out: 0x986a2b654a4e7e07
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9675461f out: 0xffffffff9675461f
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9675461f out: 0xffffffff9675461f
+mtc1, mov.s, mfc1 :: mem: 0xa974eac43a489b55 out: 0x3a489b55
+dmtc1, mov.d, dmfc1 :: mem: 0xa974eac43a489b55 out: 0xa974eac43a489b55
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8832161a out: 0xffffffff8832161a
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8832161a out: 0xffffffff8832161a
+mtc1, mov.s, mfc1 :: mem: 0xa388c16272f1f8f5 out: 0x72f1f8f5
+dmtc1, mov.d, dmfc1 :: mem: 0xa388c16272f1f8f5 out: 0xa388c16272f1f8f5
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8cf30bad out: 0xffffffff8cf30bad
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8cf30bad out: 0xffffffff8cf30bad
+mtc1, mov.s, mfc1 :: mem: 0xe8c11f45e7495ea9 out: 0xffffffffe7495ea9
+dmtc1, mov.d, dmfc1 :: mem: 0xe8c11f45e7495ea9 out: 0xe8c11f45e7495ea9
+mtc1, mov.s, mfc1 :: mem: 0xffffffff81b02d74 out: 0xffffffff81b02d74
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff81b02d74 out: 0xffffffff81b02d74
+mtc1, mov.s, mfc1 :: mem: 0xadaa5a765cc1c8b4 out: 0x5cc1c8b4
+dmtc1, mov.d, dmfc1 :: mem: 0xadaa5a765cc1c8b4 out: 0xadaa5a765cc1c8b4
+mtc1, mov.s, mfc1 :: mem: 0xffffffff857130c3 out: 0xffffffff857130c3
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff857130c3 out: 0xffffffff857130c3
+mtc1, mov.s, mfc1 :: mem: 0x7ab4ce88dfa605c0 out: 0xffffffffdfa605c0
+dmtc1, mov.d, dmfc1 :: mem: 0x7ab4ce88dfa605c0 out: 0x7ab4ce88dfa605c0
+mtc1, mov.s, mfc1 :: mem: 0x5d8a9099 out: 0x5d8a9099
+dmtc1, mov.d, dmfc1 :: mem: 0x5d8a9099 out: 0x5d8a9099
+mtc1, mov.s, mfc1 :: mem: 0xb42ad6e659a7b04f out: 0x59a7b04f
+dmtc1, mov.d, dmfc1 :: mem: 0xb42ad6e659a7b04f out: 0xb42ad6e659a7b04f
+mtc1, mov.s, mfc1 :: mem: 0x594b8d2e out: 0x594b8d2e
+dmtc1, mov.d, dmfc1 :: mem: 0x594b8d2e out: 0x594b8d2e
+mtc1, mov.s, mfc1 :: mem: 0x4bf8485ab728922f out: 0xffffffffb728922f
+dmtc1, mov.d, dmfc1 :: mem: 0x4bf8485ab728922f out: 0x4bf8485ab728922f
+mtc1, mov.s, mfc1 :: mem: 0x5408abf7 out: 0x5408abf7
+dmtc1, mov.d, dmfc1 :: mem: 0x5408abf7 out: 0x5408abf7
+mtc1, mov.s, mfc1 :: mem: 0x76a3d60c3b66a7fb out: 0x3b66a7fb
+dmtc1, mov.d, dmfc1 :: mem: 0x76a3d60c3b66a7fb out: 0x76a3d60c3b66a7fb
+mtc1, mov.s, mfc1 :: mem: 0x50c9b640 out: 0x50c9b640
+dmtc1, mov.d, dmfc1 :: mem: 0x50c9b640 out: 0x50c9b640
+mtc1, mov.s, mfc1 :: mem: 0x31e0c6affdc28eda out: 0xfffffffffdc28eda
+dmtc1, mov.d, dmfc1 :: mem: 0x31e0c6affdc28eda out: 0x31e0c6affdc28eda
+mtc1, mov.s, mfc1 :: mem: 0x4e8ee645 out: 0x4e8ee645
+dmtc1, mov.d, dmfc1 :: mem: 0x4e8ee645 out: 0x4e8ee645
+mtc1, mov.s, mfc1 :: mem: 0x53606bb4bf0c999d out: 0xffffffffbf0c999d
+dmtc1, mov.d, dmfc1 :: mem: 0x53606bb4bf0c999d out: 0x53606bb4bf0c999d
+mtc1, mov.s, mfc1 :: mem: 0x4a4ffbf2 out: 0x4a4ffbf2
+dmtc1, mov.d, dmfc1 :: mem: 0x4a4ffbf2 out: 0x4a4ffbf2
+mtc1, mov.s, mfc1 :: mem: 0x32fc12c81b7919f0 out: 0x1b7919f0
+dmtc1, mov.d, dmfc1 :: mem: 0x32fc12c81b7919f0 out: 0x32fc12c81b7919f0
+mtc1, mov.s, mfc1 :: mem: 0x470cdd2b out: 0x470cdd2b
+dmtc1, mov.d, dmfc1 :: mem: 0x470cdd2b out: 0x470cdd2b
+mtc1, mov.s, mfc1 :: mem: 0x3ef88384c72efcd6 out: 0xffffffffc72efcd6
+dmtc1, mov.d, dmfc1 :: mem: 0x3ef88384c72efcd6 out: 0x3ef88384c72efcd6
+mtc1, mov.s, mfc1 :: mem: 0x43cdc09c out: 0x43cdc09c
+dmtc1, mov.d, dmfc1 :: mem: 0x43cdc09c out: 0x43cdc09c
+mtc1, mov.s, mfc1 :: mem: 0x38b1c7bb6a2a3580 out: 0x6a2a3580
+dmtc1, mov.d, dmfc1 :: mem: 0x38b1c7bb6a2a3580 out: 0x38b1c7bb6a2a3580
+mtc1, mov.s, mfc1 :: mem: 0x7b827d21 out: 0x7b827d21
+dmtc1, mov.d, dmfc1 :: mem: 0x7b827d21 out: 0x7b827d21
+mtc1, mov.s, mfc1 :: mem: 0x15ebf6121dca77c9 out: 0x1dca77c9
+dmtc1, mov.d, dmfc1 :: mem: 0x15ebf6121dca77c9 out: 0x15ebf6121dca77c9
+mtc1, mov.s, mfc1 :: mem: 0x7f436096 out: 0x7f436096
+dmtc1, mov.d, dmfc1 :: mem: 0x7f436096 out: 0x7f436096
+mtc1, mov.s, mfc1 :: mem: 0x5eaacdd9fd9147ae out: 0xfffffffffd9147ae
+dmtc1, mov.d, dmfc1 :: mem: 0x5eaacdd9fd9147ae out: 0x5eaacdd9fd9147ae
+mtc1, mov.s, mfc1 :: mem: 0x7200464f out: 0x7200464f
+dmtc1, mov.d, dmfc1 :: mem: 0x7200464f out: 0x7200464f
+mtc1, mov.s, mfc1 :: mem: 0xbb8470f981e91117 out: 0xffffffff81e91117
+dmtc1, mov.d, dmfc1 :: mem: 0xbb8470f981e91117 out: 0xbb8470f981e91117
+mtc1, mov.s, mfc1 :: mem: 0x76c15bf8 out: 0x76c15bf8
+dmtc1, mov.d, dmfc1 :: mem: 0x76c15bf8 out: 0x76c15bf8
+mtc1, mov.s, mfc1 :: mem: 0x5d42aeac6a532e0 out: 0xffffffffc6a532e0
+dmtc1, mov.d, dmfc1 :: mem: 0x5d42aeac6a532e0 out: 0x5d42aeac6a532e0
+mtc1, mov.s, mfc1 :: mem: 0x68860bfd out: 0x68860bfd
+dmtc1, mov.d, dmfc1 :: mem: 0x68860bfd out: 0x68860bfd
+mtc1, mov.s, mfc1 :: mem: 0x14abf36419fb9e63 out: 0x19fb9e63
+dmtc1, mov.d, dmfc1 :: mem: 0x14abf36419fb9e63 out: 0x14abf36419fb9e63
+mtc1, mov.s, mfc1 :: mem: 0x6c47164a out: 0x6c47164a
+dmtc1, mov.d, dmfc1 :: mem: 0x6c47164a out: 0x6c47164a
+mtc1, mov.s, mfc1 :: mem: 0x249d559aa8d72aac out: 0xffffffffa8d72aac
+dmtc1, mov.d, dmfc1 :: mem: 0x249d559aa8d72aac out: 0x249d559aa8d72aac
+mtc1, mov.s, mfc1 :: mem: 0x61043093 out: 0x61043093
+dmtc1, mov.d, dmfc1 :: mem: 0x61043093 out: 0x61043093
+mtc1, mov.s, mfc1 :: mem: 0xcd6764f084b30ec out: 0x84b30ec
+dmtc1, mov.d, dmfc1 :: mem: 0xcd6764f084b30ec out: 0xcd6764f084b30ec
+mtc1, mov.s, mfc1 :: mem: 0x65c52d24 out: 0x65c52d24
+dmtc1, mov.d, dmfc1 :: mem: 0x65c52d24 out: 0x65c52d24
+mtc1, mov.s, mfc1 :: mem: 0x7f03ac0792468fdf out: 0xffffffff92468fdf
+dmtc1, mov.d, dmfc1 :: mem: 0x7f03ac0792468fdf out: 0x7f03ac0792468fdf
+mtc1, mov.s, mfc1 :: mem: 0x119b4be9 out: 0x119b4be9
+dmtc1, mov.d, dmfc1 :: mem: 0x119b4be9 out: 0x119b4be9
+mtc1, mov.s, mfc1 :: mem: 0x7e35ce6d56e670f5 out: 0x56e670f5
+dmtc1, mov.d, dmfc1 :: mem: 0x7e35ce6d56e670f5 out: 0x7e35ce6d56e670f5
+mtc1, mov.s, mfc1 :: mem: 0x155a565e out: 0x155a565e
+dmtc1, mov.d, dmfc1 :: mem: 0x155a565e out: 0x155a565e
+mtc1, mov.s, mfc1 :: mem: 0x152828591a652711 out: 0x1a652711
+dmtc1, mov.d, dmfc1 :: mem: 0x152828591a652711 out: 0x152828591a652711
+mtc1, mov.s, mfc1 :: mem: 0x18197087 out: 0x18197087
+dmtc1, mov.d, dmfc1 :: mem: 0x18197087 out: 0x18197087
+mtc1, mov.s, mfc1 :: mem: 0x9e1c3283d215a9fb out: 0xffffffffd215a9fb
+dmtc1, mov.d, dmfc1 :: mem: 0x9e1c3283d215a9fb out: 0x9e1c3283d215a9fb
+mtc1, mov.s, mfc1 :: mem: 0x1cd86d30 out: 0x1cd86d30
+dmtc1, mov.d, dmfc1 :: mem: 0x1cd86d30 out: 0x1cd86d30
+mtc1, mov.s, mfc1 :: mem: 0x8d95c049282a0417 out: 0x282a0417
+dmtc1, mov.d, dmfc1 :: mem: 0x8d95c049282a0417 out: 0x8d95c049282a0417
+mtc1, mov.s, mfc1 :: mem: 0x29f3d35 out: 0x29f3d35
+dmtc1, mov.d, dmfc1 :: mem: 0x29f3d35 out: 0x29f3d35
+mtc1, mov.s, mfc1 :: mem: 0xf2e7a490978058f3 out: 0xffffffff978058f3
+dmtc1, mov.d, dmfc1 :: mem: 0xf2e7a490978058f3 out: 0xf2e7a490978058f3
+mtc1, mov.s, mfc1 :: mem: 0x65e2082 out: 0x65e2082
+dmtc1, mov.d, dmfc1 :: mem: 0x65e2082 out: 0x65e2082
+mtc1, mov.s, mfc1 :: mem: 0x775b4cca0975b1aa out: 0x975b1aa
+dmtc1, mov.d, dmfc1 :: mem: 0x775b4cca0975b1aa out: 0x775b4cca0975b1aa
+mtc1, mov.s, mfc1 :: mem: 0xb1d065b out: 0xb1d065b
+dmtc1, mov.d, dmfc1 :: mem: 0xb1d065b out: 0xb1d065b
+mtc1, mov.s, mfc1 :: mem: 0xa2b84a635111020 out: 0x35111020
+dmtc1, mov.d, dmfc1 :: mem: 0xa2b84a635111020 out: 0xa2b84a635111020
+mtc1, mov.s, mfc1 :: mem: 0xfdc1bec out: 0xfdc1bec
+dmtc1, mov.d, dmfc1 :: mem: 0xfdc1bec out: 0xfdc1bec
+mtc1, mov.s, mfc1 :: mem: 0x23fa0d3a7d88b6f out: 0xffffffffa7d88b6f
+dmtc1, mov.d, dmfc1 :: mem: 0x23fa0d3a7d88b6f out: 0x23fa0d3a7d88b6f
+mtc1, mov.s, mfc1 :: mem: 0x3793a651 out: 0x3793a651
+dmtc1, mov.d, dmfc1 :: mem: 0x3793a651 out: 0x3793a651
+mtc1, mov.s, mfc1 :: mem: 0xa3d991b79941dedd out: 0xffffffff9941dedd
+dmtc1, mov.d, dmfc1 :: mem: 0xa3d991b79941dedd out: 0xa3d991b79941dedd
+mtc1, mov.s, mfc1 :: mem: 0x3352bbe6 out: 0x3352bbe6
+dmtc1, mov.d, dmfc1 :: mem: 0x3352bbe6 out: 0x3352bbe6
+mtc1, mov.s, mfc1 :: mem: 0x751cb4835a0d9508 out: 0x5a0d9508
+dmtc1, mov.d, dmfc1 :: mem: 0x751cb4835a0d9508 out: 0x751cb4835a0d9508
+mtc1, mov.s, mfc1 :: mem: 0x3e119d3f out: 0x3e119d3f
+dmtc1, mov.d, dmfc1 :: mem: 0x3e119d3f out: 0x3e119d3f
+mtc1, mov.s, mfc1 :: mem: 0x949cad35625bb2d3 out: 0x625bb2d3
+dmtc1, mov.d, dmfc1 :: mem: 0x949cad35625bb2d3 out: 0x949cad35625bb2d3
+mtc1, mov.s, mfc1 :: mem: 0x3ad08088 out: 0x3ad08088
+dmtc1, mov.d, dmfc1 :: mem: 0x3ad08088 out: 0x3ad08088
+mtc1, mov.s, mfc1 :: mem: 0x7f567f35a6929739 out: 0xffffffffa6929739
+dmtc1, mov.d, dmfc1 :: mem: 0x7f567f35a6929739 out: 0x7f567f35a6929739
+mtc1, mov.s, mfc1 :: mem: 0x2497d08d out: 0x2497d08d
+dmtc1, mov.d, dmfc1 :: mem: 0x2497d08d out: 0x2497d08d
+mtc1, mov.s, mfc1 :: mem: 0x185b88e0db8d7d27 out: 0xffffffffdb8d7d27
+dmtc1, mov.d, dmfc1 :: mem: 0x185b88e0db8d7d27 out: 0x185b88e0db8d7d27
+mtc1, mov.s, mfc1 :: mem: 0x2056cd3a out: 0x2056cd3a
+dmtc1, mov.d, dmfc1 :: mem: 0x2056cd3a out: 0x2056cd3a
+mtc1, mov.s, mfc1 :: mem: 0x255a4cd22fd61b91 out: 0x2fd61b91
+dmtc1, mov.d, dmfc1 :: mem: 0x255a4cd22fd61b91 out: 0x255a4cd22fd61b91
+mtc1, mov.s, mfc1 :: mem: 0x2d15ebe3 out: 0x2d15ebe3
+dmtc1, mov.d, dmfc1 :: mem: 0x2d15ebe3 out: 0x2d15ebe3
+mtc1, mov.s, mfc1 :: mem: 0x1048d589a4363f7b out: 0xffffffffa4363f7b
+dmtc1, mov.d, dmfc1 :: mem: 0x1048d589a4363f7b out: 0x1048d589a4363f7b
+mtc1, mov.s, mfc1 :: mem: 0x29d4f654 out: 0x29d4f654
+dmtc1, mov.d, dmfc1 :: mem: 0x29d4f654 out: 0x29d4f654
+mtc1, mov.s, mfc1 :: mem: 0x6a6d5708f4605790 out: 0xfffffffff4605790
+dmtc1, mov.d, dmfc1 :: mem: 0x6a6d5708f4605790 out: 0x6a6d5708f4605790
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc5a92679 out: 0xffffffffc5a92679
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc5a92679 out: 0xffffffffc5a92679
+mtc1, mov.s, mfc1 :: mem: 0xd58ecbabde35697f out: 0xffffffffde35697f
+dmtc1, mov.d, dmfc1 :: mem: 0xd58ecbabde35697f out: 0xd58ecbabde35697f
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc1683bce out: 0xffffffffc1683bce
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc1683bce out: 0xffffffffc1683bce
+mtc1, mov.s, mfc1 :: mem: 0x575548fd08c0a5f1 out: 0x8c0a5f1
+dmtc1, mov.d, dmfc1 :: mem: 0x575548fd08c0a5f1 out: 0x575548fd08c0a5f1
+mtc1, mov.s, mfc1 :: mem: 0xffffffffcc2b1d17 out: 0xffffffffcc2b1d17
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffcc2b1d17 out: 0xffffffffcc2b1d17
+mtc1, mov.s, mfc1 :: mem: 0x8bb640fb8ed98ddb out: 0xffffffff8ed98ddb
+dmtc1, mov.d, dmfc1 :: mem: 0x8bb640fb8ed98ddb out: 0x8bb640fb8ed98ddb
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc8ea00a0 out: 0xffffffffc8ea00a0
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc8ea00a0 out: 0xffffffffc8ea00a0
+mtc1, mov.s, mfc1 :: mem: 0xbe00d51eabc578cc out: 0xffffffffabc578cc
+dmtc1, mov.d, dmfc1 :: mem: 0xbe00d51eabc578cc out: 0xbe00d51eabc578cc
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd6ad50a5 out: 0xffffffffd6ad50a5
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd6ad50a5 out: 0xffffffffd6ad50a5
+mtc1, mov.s, mfc1 :: mem: 0x2f7e224a1c170ab2 out: 0x1c170ab2
+dmtc1, mov.d, dmfc1 :: mem: 0x2f7e224a1c170ab2 out: 0x2f7e224a1c170ab2
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd26c4d12 out: 0xffffffffd26c4d12
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd26c4d12 out: 0xffffffffd26c4d12
+mtc1, mov.s, mfc1 :: mem: 0xa978f12ca22256a7 out: 0xffffffffa22256a7
+dmtc1, mov.d, dmfc1 :: mem: 0xa978f12ca22256a7 out: 0xa978f12ca22256a7
+mtc1, mov.s, mfc1 :: mem: 0xffffffffdf2f6bcb out: 0xffffffffdf2f6bcb
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffdf2f6bcb out: 0xffffffffdf2f6bcb
+mtc1, mov.s, mfc1 :: mem: 0x9950a93b811ee02f out: 0xffffffff811ee02f
+dmtc1, mov.d, dmfc1 :: mem: 0x9950a93b811ee02f out: 0x9950a93b811ee02f
+mtc1, mov.s, mfc1 :: mem: 0xffffffffdbee767c out: 0xffffffffdbee767c
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffdbee767c out: 0xffffffffdbee767c
+mtc1, mov.s, mfc1 :: mem: 0xb44eea93c6796a0c out: 0xffffffffc6796a0c
+dmtc1, mov.d, dmfc1 :: mem: 0xb44eea93c6796a0c out: 0xb44eea93c6796a0c
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe3a1cbc1 out: 0xffffffffe3a1cbc1
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe3a1cbc1 out: 0xffffffffe3a1cbc1
+mtc1, mov.s, mfc1 :: mem: 0xfe71fca06c0eb657 out: 0x6c0eb657
+dmtc1, mov.d, dmfc1 :: mem: 0xfe71fca06c0eb657 out: 0xfe71fca06c0eb657
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe760d676 out: 0xffffffffe760d676
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe760d676 out: 0xffffffffe760d676
+mtc1, mov.s, mfc1 :: mem: 0x4ed6393df818af57 out: 0xfffffffff818af57
+dmtc1, mov.d, dmfc1 :: mem: 0x4ed6393df818af57 out: 0x4ed6393df818af57
+mtc1, mov.s, mfc1 :: mem: 0xffffffffea23f0af out: 0xffffffffea23f0af
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffea23f0af out: 0xffffffffea23f0af
+mtc1, mov.s, mfc1 :: mem: 0xf22e90200236770a out: 0x236770a
+dmtc1, mov.d, dmfc1 :: mem: 0xf22e90200236770a out: 0xf22e90200236770a
+mtc1, mov.s, mfc1 :: mem: 0xffffffffeee2ed18 out: 0xffffffffeee2ed18
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffeee2ed18 out: 0xffffffffeee2ed18
+mtc1, mov.s, mfc1 :: mem: 0x81efb6c7afd0c45d out: 0xffffffffafd0c45d
+dmtc1, mov.d, dmfc1 :: mem: 0x81efb6c7afd0c45d out: 0x81efb6c7afd0c45d
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff0a5bd1d out: 0xfffffffff0a5bd1d
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff0a5bd1d out: 0xfffffffff0a5bd1d
+mtc1, mov.s, mfc1 :: mem: 0xeed8f3518102315b out: 0xffffffff8102315b
+dmtc1, mov.d, dmfc1 :: mem: 0xeed8f3518102315b out: 0xeed8f3518102315b
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff464a0aa out: 0xfffffffff464a0aa
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff464a0aa out: 0xfffffffff464a0aa
+mtc1, mov.s, mfc1 :: mem: 0xadafefb9995efd5e out: 0xffffffff995efd5e
+dmtc1, mov.d, dmfc1 :: mem: 0xadafefb9995efd5e out: 0xadafefb9995efd5e
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff9278673 out: 0xfffffffff9278673
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff9278673 out: 0xfffffffff9278673
+mtc1, mov.s, mfc1 :: mem: 0x34061933eb253086 out: 0xffffffffeb253086
+dmtc1, mov.d, dmfc1 :: mem: 0x34061933eb253086 out: 0x34061933eb253086
+mtc1, mov.s, mfc1 :: mem: 0xfffffffffde69bc4 out: 0xfffffffffde69bc4
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffffde69bc4 out: 0xfffffffffde69bc4
+mtc1, mov.s, mfc1 :: mem: 0x1748da264b4c52bc out: 0x4b4c52bc
+dmtc1, mov.d, dmfc1 :: mem: 0x1748da264b4c52bc out: 0x1748da264b4c52bc
+mtc1, mov.s, mfc1 :: mem: 0xffffffff89b8fd09 out: 0xffffffff89b8fd09
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff89b8fd09 out: 0xffffffff89b8fd09
+mtc1, mov.s, mfc1 :: mem: 0x34fdfc9a9302be89 out: 0xffffffff9302be89
+dmtc1, mov.d, dmfc1 :: mem: 0x34fdfc9a9302be89 out: 0x34fdfc9a9302be89
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8d79e0be out: 0xffffffff8d79e0be
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8d79e0be out: 0xffffffff8d79e0be
+mtc1, mov.s, mfc1 :: mem: 0xd00278c3c521d180 out: 0xffffffffc521d180
+dmtc1, mov.d, dmfc1 :: mem: 0xd00278c3c521d180 out: 0xd00278c3c521d180
+mtc1, mov.s, mfc1 :: mem: 0xffffffff803ac667 out: 0xffffffff803ac667
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff803ac667 out: 0xffffffff803ac667
+mtc1, mov.s, mfc1 :: mem: 0xe90944a4c1d37a5d out: 0xffffffffc1d37a5d
+dmtc1, mov.d, dmfc1 :: mem: 0xe90944a4c1d37a5d out: 0xe90944a4c1d37a5d
+mtc1, mov.s, mfc1 :: mem: 0xffffffff84fbdbd0 out: 0xffffffff84fbdbd0
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff84fbdbd0 out: 0xffffffff84fbdbd0
+mtc1, mov.s, mfc1 :: mem: 0x65fd698fddef9839 out: 0xffffffffddef9839
+dmtc1, mov.d, dmfc1 :: mem: 0x65fd698fddef9839 out: 0x65fd698fddef9839
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9abc8bd5 out: 0xffffffff9abc8bd5
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9abc8bd5 out: 0xffffffff9abc8bd5
+mtc1, mov.s, mfc1 :: mem: 0xc49ee3ad81b5af52 out: 0xffffffff81b5af52
+dmtc1, mov.d, dmfc1 :: mem: 0xc49ee3ad81b5af52 out: 0xc49ee3ad81b5af52
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9e7d9662 out: 0xffffffff9e7d9662
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9e7d9662 out: 0xffffffff9e7d9662
+mtc1, mov.s, mfc1 :: mem: 0x7aa941e8bdb263e9 out: 0xffffffffbdb263e9
+dmtc1, mov.d, dmfc1 :: mem: 0x7aa941e8bdb263e9 out: 0x7aa941e8bdb263e9
+mtc1, mov.s, mfc1 :: mem: 0xffffffff933eb0bb out: 0xffffffff933eb0bb
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff933eb0bb out: 0xffffffff933eb0bb
+mtc1, mov.s, mfc1 :: mem: 0x372c209e42f3b58d out: 0x42f3b58d
+dmtc1, mov.d, dmfc1 :: mem: 0x372c209e42f3b58d out: 0x372c209e42f3b58d
+mtc1, mov.s, mfc1 :: mem: 0xffffffff97ffad0c out: 0xffffffff97ffad0c
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff97ffad0c out: 0xffffffff97ffad0c
+mtc1, mov.s, mfc1 :: mem: 0x30f870b7e122a83b out: 0xffffffffe122a83b
+dmtc1, mov.d, dmfc1 :: mem: 0x30f870b7e122a83b out: 0x30f870b7e122a83b
+mtc1, mov.s, mfc1 :: mem: 0xffffffffafb010b1 out: 0xffffffffafb010b1
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffafb010b1 out: 0xffffffffafb010b1
+mtc1, mov.s, mfc1 :: mem: 0x9e02de4b678930ec out: 0x678930ec
+dmtc1, mov.d, dmfc1 :: mem: 0x9e02de4b678930ec out: 0x9e02de4b678930ec
+mtc1, mov.s, mfc1 :: mem: 0xffffffffab710d06 out: 0xffffffffab710d06
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffab710d06 out: 0xffffffffab710d06
+mtc1, mov.s, mfc1 :: mem: 0xcd61a8639826631e out: 0xffffffff9826631e
+dmtc1, mov.d, dmfc1 :: mem: 0xcd61a8639826631e out: 0xcd61a8639826631e
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa6322bdf out: 0xffffffffa6322bdf
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa6322bdf out: 0xffffffffa6322bdf
+mtc1, mov.s, mfc1 :: mem: 0xae87bc899a7bd3ca out: 0xffffffff9a7bd3ca
+dmtc1, mov.d, dmfc1 :: mem: 0xae87bc899a7bd3ca out: 0xae87bc899a7bd3ca
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa2f33668 out: 0xffffffffa2f33668
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa2f33668 out: 0xffffffffa2f33668
+mtc1, mov.s, mfc1 :: mem: 0x58ec644d6481af17 out: 0x6481af17
+dmtc1, mov.d, dmfc1 :: mem: 0x58ec644d6481af17 out: 0x58ec644d6481af17
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbcb4666d out: 0xffffffffbcb4666d
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbcb4666d out: 0xffffffffbcb4666d
+mtc1, mov.s, mfc1 :: mem: 0x680cce5fb236b666 out: 0xffffffffb236b666
+dmtc1, mov.d, dmfc1 :: mem: 0x680cce5fb236b666 out: 0x680cce5fb236b666
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb8757bda out: 0xffffffffb8757bda
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb8757bda out: 0xffffffffb8757bda
+mtc1, mov.s, mfc1 :: mem: 0x3baa99471f6d4d75 out: 0x1f6d4d75
+dmtc1, mov.d, dmfc1 :: mem: 0x3baa99471f6d4d75 out: 0x3baa99471f6d4d75
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb5365d03 out: 0xffffffffb5365d03
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb5365d03 out: 0xffffffffb5365d03
+mtc1, mov.s, mfc1 :: mem: 0x614d9b445f12236b out: 0x5f12236b
+dmtc1, mov.d, dmfc1 :: mem: 0x614d9b445f12236b out: 0x614d9b445f12236b
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb1f740b4 out: 0xffffffffb1f740b4
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb1f740b4 out: 0xffffffffb1f740b4
+mtc1, mov.s, mfc1 :: mem: 0xa2a6ec661ba84121 out: 0x1ba84121
+dmtc1, mov.d, dmfc1 :: mem: 0xa2a6ec661ba84121 out: 0xa2a6ec661ba84121
+--- MOVF.S ---
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0xc8a9da0f, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0xbf800000, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0x44db0000, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0x322bcc77, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0x44ad1333, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0x4e6e6b28, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0xc8a9da0f, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0xbf800000, cc: 0
+--- MOVF.D ---
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0xc8a9da0f48add9f2, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0xbf80000041b851ec, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0x44db00003b210e02, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0x322bcc77c872bcb1, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0x44ad1333c0e96d19, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0x4e6e6b28c5b4d3c3, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0xc8a9da0f48add9f2, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0xbf80000041b851ec, cc: 0
+--- MOVN.S ---
+movn.s  $f0, $f2, $11 :: out: 0x0
+movn.s  $f0, $f2, $11 :: out: 0xc8a9da0f
+movn.s  $f0, $f2, $11 :: out: 0xbf800000
+movn.s  $f0, $f2, $11 :: out: 0x44db0000
+movn.s  $f0, $f2, $11 :: out: 0x44db0000
+movn.s  $f0, $f2, $11 :: out: 0x0
+movn.s  $f0, $f2, $11 :: out: 0x0
+movn.s  $f0, $f2, $11 :: out: 0x44ad1333
+movn.s  $f0, $f2, $11 :: out: 0x44ad1333
+movn.s  $f0, $f2, $11 :: out: 0x4e6e6b28
+movn.s  $f0, $f2, $11 :: out: 0x4e6e6b28
+movn.s  $f0, $f2, $11 :: out: 0x0
+movn.s  $f0, $f2, $11 :: out: 0x0
+movn.s  $f0, $f2, $11 :: out: 0xbf800000
+movn.s  $f0, $f2, $11 :: out: 0xbf800000
+movn.s  $f0, $f2, $11 :: out: 0x0
+--- MOVN.D ---
+movn.d $f0, $f2, $11 :: out: 0x0
+movn.d $f0, $f2, $11 :: out: 0xc8a9da0f48add9f2
+movn.d $f0, $f2, $11 :: out: 0xbf80000041b851ec
+movn.d $f0, $f2, $11 :: out: 0xbf80000041b851ec
+movn.d $f0, $f2, $11 :: out: 0x44db00003b210e02
+movn.d $f0, $f2, $11 :: out: 0x0
+movn.d $f0, $f2, $11 :: out: 0x0
+movn.d $f0, $f2, $11 :: out: 0x44ad1333c0e96d19
+movn.d $f0, $f2, $11 :: out: 0x44ad1333c0e96d19
+movn.d $f0, $f2, $11 :: out: 0x4e6e6b28c5b4d3c3
+movn.d $f0, $f2, $11 :: out: 0x4e6e6b28c5b4d3c3
+movn.d $f0, $f2, $11 :: out: 0x0
+movn.d $f0, $f2, $11 :: out: 0x0
+movn.d $f0, $f2, $11 :: out: 0xbf80000041b851ec
+movn.d $f0, $f2, $11 :: out: 0xbf80000041b851ec
+movn.d $f0, $f2, $11 :: out: 0x43e41fde
+--- MOVT.S ---
+movt.s  $f4, $f6, $fcc0 :: out: 0xc8a9da0f, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0xc8a9da0f, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0xbf800000, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0x44db0000, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0x322bcc77, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0x44ad1333, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0x4e6e6b28, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0xc8a9da0f, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0xbf800000, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+--- MOVT.D ---
+movt.d  $f4, $f6, $fcc0 :: out: 0xc8a9da0f48add9f2, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0xc8a9da0f48add9f2, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0xbf80000041b851ec, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0x44db00003b210e02, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0x322bcc77c872bcb1, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0x44ad1333c0e96d19, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0x4e6e6b28c5b4d3c3, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0xc8a9da0f48add9f2, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0xbf80000041b851ec, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+--- MOVZ.S ---
+movz.s $f0, $f2, $11 :: out: 0xc8a9da0f
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x322bcc77
+movz.s $f0, $f2, $11 :: out: 0x322bcc77
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0xc8a9da0f
+movz.s $f0, $f2, $11 :: out: 0xc8a9da0f
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+--- MOVZ.D ---
+movz.d $f0, $f2, $11 :: out: 0xc8a9da0f48add9f2
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x322bcc77c872bcb1
+movz.d $f0, $f2, $11 :: out: 0x322bcc77c872bcb1
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0xc8a9da0f48add9f2
+movz.d $f0, $f2, $11 :: out: 0xc8a9da0f48add9f2
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+--- MOVF --- if FPConditionalCode(cc) == 0 then out = RSval else out = RDval
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffffaaaaaaaa
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffccccffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffffffaaaa
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+--- MOVT --- if FPConditionalCode(cc) == 1 then out = RSval else out = RDval
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0xffffffffeeeeffff
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffffffeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
diff --git a/none/tests/mips64/move_instructions.stdout.exp-LE b/none/tests/mips64/move_instructions.stdout.exp-LE
new file mode 100644
index 0000000..3fcecda
--- /dev/null
+++ b/none/tests/mips64/move_instructions.stdout.exp-LE
@@ -0,0 +1,1356 @@
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x12bd6aa out: 0x12bd6aa
+dmtc1, mov.d, dmfc1 :: mem: 0x12bd6aa out: 0x12bd6aa
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x7e876382d2ab13 out: 0xffffffff82d2ab13
+dmtc1, mov.d, dmfc1 :: mem: 0x7e876382d2ab13 out: 0x7e876382d2ab13
+mtc1, mov.s, mfc1 :: mem: 0x9823b6e out: 0x9823b6e
+dmtc1, mov.d, dmfc1 :: mem: 0x9823b6e out: 0x9823b6e
+mtc1, mov.s, mfc1 :: mem: 0x976d6e9ac31510f3 out: 0xffffffffc31510f3
+dmtc1, mov.d, dmfc1 :: mem: 0x976d6e9ac31510f3 out: 0x976d6e9ac31510f3
+mtc1, mov.s, mfc1 :: mem: 0xd4326d9 out: 0xd4326d9
+dmtc1, mov.d, dmfc1 :: mem: 0xd4326d9 out: 0xd4326d9
+mtc1, mov.s, mfc1 :: mem: 0xb7746d775ad6a5fb out: 0x5ad6a5fb
+dmtc1, mov.d, dmfc1 :: mem: 0xb7746d775ad6a5fb out: 0xb7746d775ad6a5fb
+mtc1, mov.s, mfc1 :: mem: 0x130476dc out: 0x130476dc
+dmtc1, mov.d, dmfc1 :: mem: 0x130476dc out: 0x130476dc
+mtc1, mov.s, mfc1 :: mem: 0x42b0c0a28677b502 out: 0xffffffff8677b502
+dmtc1, mov.d, dmfc1 :: mem: 0x42b0c0a28677b502 out: 0x42b0c0a28677b502
+mtc1, mov.s, mfc1 :: mem: 0x17c56b6b out: 0x17c56b6b
+dmtc1, mov.d, dmfc1 :: mem: 0x17c56b6b out: 0x17c56b6b
+mtc1, mov.s, mfc1 :: mem: 0x2aa89d319e3c30ad out: 0xffffffff9e3c30ad
+dmtc1, mov.d, dmfc1 :: mem: 0x2aa89d319e3c30ad out: 0x2aa89d319e3c30ad
+mtc1, mov.s, mfc1 :: mem: 0x1a864db2 out: 0x1a864db2
+dmtc1, mov.d, dmfc1 :: mem: 0x1a864db2 out: 0x1a864db2
+mtc1, mov.s, mfc1 :: mem: 0x1f308ec377fb413d out: 0x77fb413d
+dmtc1, mov.d, dmfc1 :: mem: 0x1f308ec377fb413d out: 0x1f308ec377fb413d
+mtc1, mov.s, mfc1 :: mem: 0x1e475005 out: 0x1e475005
+dmtc1, mov.d, dmfc1 :: mem: 0x1e475005 out: 0x1e475005
+mtc1, mov.s, mfc1 :: mem: 0x7aa04213c760e4f7 out: 0xffffffffc760e4f7
+dmtc1, mov.d, dmfc1 :: mem: 0x7aa04213c760e4f7 out: 0x7aa04213c760e4f7
+mtc1, mov.s, mfc1 :: mem: 0x2608edb8 out: 0x2608edb8
+dmtc1, mov.d, dmfc1 :: mem: 0x2608edb8 out: 0x2608edb8
+mtc1, mov.s, mfc1 :: mem: 0x9e705cc51ad8dca0 out: 0x1ad8dca0
+dmtc1, mov.d, dmfc1 :: mem: 0x9e705cc51ad8dca0 out: 0x9e705cc51ad8dca0
+mtc1, mov.s, mfc1 :: mem: 0x22c9f00f out: 0x22c9f00f
+dmtc1, mov.d, dmfc1 :: mem: 0x22c9f00f out: 0x22c9f00f
+mtc1, mov.s, mfc1 :: mem: 0x4b3dda869615a60d out: 0xffffffff9615a60d
+dmtc1, mov.d, dmfc1 :: mem: 0x4b3dda869615a60d out: 0x4b3dda869615a60d
+mtc1, mov.s, mfc1 :: mem: 0x2f8ad6d6 out: 0x2f8ad6d6
+dmtc1, mov.d, dmfc1 :: mem: 0x2f8ad6d6 out: 0x2f8ad6d6
+mtc1, mov.s, mfc1 :: mem: 0x5e7a4dd6353d41d out: 0x6353d41d
+dmtc1, mov.d, dmfc1 :: mem: 0x5e7a4dd6353d41d out: 0x5e7a4dd6353d41d
+mtc1, mov.s, mfc1 :: mem: 0x2b4bcb61 out: 0x2b4bcb61
+dmtc1, mov.d, dmfc1 :: mem: 0x2b4bcb61 out: 0x2b4bcb61
+mtc1, mov.s, mfc1 :: mem: 0x3af35a9dc40bd413 out: 0xffffffffc40bd413
+dmtc1, mov.d, dmfc1 :: mem: 0x3af35a9dc40bd413 out: 0x3af35a9dc40bd413
+mtc1, mov.s, mfc1 :: mem: 0x350c9b64 out: 0x350c9b64
+dmtc1, mov.d, dmfc1 :: mem: 0x350c9b64 out: 0x350c9b64
+mtc1, mov.s, mfc1 :: mem: 0x47f505569a08a180 out: 0xffffffff9a08a180
+dmtc1, mov.d, dmfc1 :: mem: 0x47f505569a08a180 out: 0x47f505569a08a180
+mtc1, mov.s, mfc1 :: mem: 0x31cd86d3 out: 0x31cd86d3
+dmtc1, mov.d, dmfc1 :: mem: 0x31cd86d3 out: 0x31cd86d3
+mtc1, mov.s, mfc1 :: mem: 0x9564b77fd6d2040f out: 0xffffffffd6d2040f
+dmtc1, mov.d, dmfc1 :: mem: 0x9564b77fd6d2040f out: 0x9564b77fd6d2040f
+mtc1, mov.s, mfc1 :: mem: 0x3c8ea00a out: 0x3c8ea00a
+dmtc1, mov.d, dmfc1 :: mem: 0x3c8ea00a out: 0x3c8ea00a
+mtc1, mov.s, mfc1 :: mem: 0xcebc8279b2c76bbe out: 0xffffffffb2c76bbe
+dmtc1, mov.d, dmfc1 :: mem: 0xcebc8279b2c76bbe out: 0xcebc8279b2c76bbe
+mtc1, mov.s, mfc1 :: mem: 0x384fbdbd out: 0x384fbdbd
+dmtc1, mov.d, dmfc1 :: mem: 0x384fbdbd out: 0x384fbdbd
+mtc1, mov.s, mfc1 :: mem: 0xb5034c2f1f18e4c7 out: 0x1f18e4c7
+dmtc1, mov.d, dmfc1 :: mem: 0xb5034c2f1f18e4c7 out: 0xb5034c2f1f18e4c7
+mtc1, mov.s, mfc1 :: mem: 0x4c11db70 out: 0x4c11db70
+dmtc1, mov.d, dmfc1 :: mem: 0x4c11db70 out: 0x4c11db70
+mtc1, mov.s, mfc1 :: mem: 0x94ff52fc81afa797 out: 0xffffffff81afa797
+dmtc1, mov.d, dmfc1 :: mem: 0x94ff52fc81afa797 out: 0x94ff52fc81afa797
+mtc1, mov.s, mfc1 :: mem: 0x48d0c6c7 out: 0x48d0c6c7
+dmtc1, mov.d, dmfc1 :: mem: 0x48d0c6c7 out: 0x48d0c6c7
+mtc1, mov.s, mfc1 :: mem: 0x31d8d9166dfc50ea out: 0x6dfc50ea
+dmtc1, mov.d, dmfc1 :: mem: 0x31d8d9166dfc50ea out: 0x31d8d9166dfc50ea
+mtc1, mov.s, mfc1 :: mem: 0x4593e01e out: 0x4593e01e
+dmtc1, mov.d, dmfc1 :: mem: 0x4593e01e out: 0x4593e01e
+mtc1, mov.s, mfc1 :: mem: 0x36549bd678e895b1 out: 0x78e895b1
+dmtc1, mov.d, dmfc1 :: mem: 0x36549bd678e895b1 out: 0x36549bd678e895b1
+mtc1, mov.s, mfc1 :: mem: 0x4152fda9 out: 0x4152fda9
+dmtc1, mov.d, dmfc1 :: mem: 0x4152fda9 out: 0x4152fda9
+mtc1, mov.s, mfc1 :: mem: 0x85e0a6319b63259b out: 0xffffffff9b63259b
+dmtc1, mov.d, dmfc1 :: mem: 0x85e0a6319b63259b out: 0x85e0a6319b63259b
+mtc1, mov.s, mfc1 :: mem: 0x5f15adac out: 0x5f15adac
+dmtc1, mov.d, dmfc1 :: mem: 0x5f15adac out: 0x5f15adac
+mtc1, mov.s, mfc1 :: mem: 0x556b3ecaccf17ac5 out: 0xffffffffccf17ac5
+dmtc1, mov.d, dmfc1 :: mem: 0x556b3ecaccf17ac5 out: 0x556b3ecaccf17ac5
+mtc1, mov.s, mfc1 :: mem: 0x5bd4b01b out: 0x5bd4b01b
+dmtc1, mov.d, dmfc1 :: mem: 0x5bd4b01b out: 0x5bd4b01b
+mtc1, mov.s, mfc1 :: mem: 0xb42f5fc581eea0fb out: 0xffffffff81eea0fb
+dmtc1, mov.d, dmfc1 :: mem: 0xb42f5fc581eea0fb out: 0xb42f5fc581eea0fb
+mtc1, mov.s, mfc1 :: mem: 0x569796c2 out: 0x569796c2
+dmtc1, mov.d, dmfc1 :: mem: 0x569796c2 out: 0x569796c2
+mtc1, mov.s, mfc1 :: mem: 0x25b50fec14682d97 out: 0x14682d97
+dmtc1, mov.d, dmfc1 :: mem: 0x25b50fec14682d97 out: 0x25b50fec14682d97
+mtc1, mov.s, mfc1 :: mem: 0x52568b75 out: 0x52568b75
+dmtc1, mov.d, dmfc1 :: mem: 0x52568b75 out: 0x52568b75
+mtc1, mov.s, mfc1 :: mem: 0xfc93c5132cfb087a out: 0x2cfb087a
+dmtc1, mov.d, dmfc1 :: mem: 0xfc93c5132cfb087a out: 0xfc93c5132cfb087a
+mtc1, mov.s, mfc1 :: mem: 0x6a1936c8 out: 0x6a1936c8
+dmtc1, mov.d, dmfc1 :: mem: 0x6a1936c8 out: 0x6a1936c8
+mtc1, mov.s, mfc1 :: mem: 0x3c2cd9a9cda20766 out: 0xffffffffcda20766
+dmtc1, mov.d, dmfc1 :: mem: 0x3c2cd9a9cda20766 out: 0x3c2cd9a9cda20766
+mtc1, mov.s, mfc1 :: mem: 0x6ed82b7f out: 0x6ed82b7f
+dmtc1, mov.d, dmfc1 :: mem: 0x6ed82b7f out: 0x6ed82b7f
+mtc1, mov.s, mfc1 :: mem: 0x1791722a7d72da3e out: 0x7d72da3e
+dmtc1, mov.d, dmfc1 :: mem: 0x1791722a7d72da3e out: 0x1791722a7d72da3e
+mtc1, mov.s, mfc1 :: mem: 0x639b0da6 out: 0x639b0da6
+dmtc1, mov.d, dmfc1 :: mem: 0x639b0da6 out: 0x639b0da6
+mtc1, mov.s, mfc1 :: mem: 0x87cc9d193ce24ad out: 0xffffffff93ce24ad
+dmtc1, mov.d, dmfc1 :: mem: 0x87cc9d193ce24ad out: 0x87cc9d193ce24ad
+mtc1, mov.s, mfc1 :: mem: 0x675a1011 out: 0x675a1011
+dmtc1, mov.d, dmfc1 :: mem: 0x675a1011 out: 0x675a1011
+mtc1, mov.s, mfc1 :: mem: 0x1d2a757038984ed2 out: 0x38984ed2
+dmtc1, mov.d, dmfc1 :: mem: 0x1d2a757038984ed2 out: 0x1d2a757038984ed2
+mtc1, mov.s, mfc1 :: mem: 0x791d4014 out: 0x791d4014
+dmtc1, mov.d, dmfc1 :: mem: 0x791d4014 out: 0x791d4014
+mtc1, mov.s, mfc1 :: mem: 0xd0d070db710cd036 out: 0x710cd036
+dmtc1, mov.d, dmfc1 :: mem: 0xd0d070db710cd036 out: 0xd0d070db710cd036
+mtc1, mov.s, mfc1 :: mem: 0x7ddc5da3 out: 0x7ddc5da3
+dmtc1, mov.d, dmfc1 :: mem: 0x7ddc5da3 out: 0x7ddc5da3
+mtc1, mov.s, mfc1 :: mem: 0x39c21c7d03415604 out: 0x3415604
+dmtc1, mov.d, dmfc1 :: mem: 0x39c21c7d03415604 out: 0x39c21c7d03415604
+mtc1, mov.s, mfc1 :: mem: 0x709f7b7a out: 0x709f7b7a
+dmtc1, mov.d, dmfc1 :: mem: 0x709f7b7a out: 0x709f7b7a
+mtc1, mov.s, mfc1 :: mem: 0x8e94b7af8ecc31ce out: 0xffffffff8ecc31ce
+dmtc1, mov.d, dmfc1 :: mem: 0x8e94b7af8ecc31ce out: 0x8e94b7af8ecc31ce
+mtc1, mov.s, mfc1 :: mem: 0x745e66cd out: 0x745e66cd
+dmtc1, mov.d, dmfc1 :: mem: 0x745e66cd out: 0x745e66cd
+mtc1, mov.s, mfc1 :: mem: 0x24eb6a8d1ce7674f out: 0x1ce7674f
+dmtc1, mov.d, dmfc1 :: mem: 0x24eb6a8d1ce7674f out: 0x24eb6a8d1ce7674f
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9823b6e0 out: 0xffffffff9823b6e0
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9823b6e0 out: 0xffffffff9823b6e0
+mtc1, mov.s, mfc1 :: mem: 0x2f39454412d6e4a7 out: 0x12d6e4a7
+dmtc1, mov.d, dmfc1 :: mem: 0x2f39454412d6e4a7 out: 0x2f39454412d6e4a7
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9ce2ab57 out: 0xffffffff9ce2ab57
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9ce2ab57 out: 0xffffffff9ce2ab57
+mtc1, mov.s, mfc1 :: mem: 0x2608c2b756da4c54 out: 0x56da4c54
+dmtc1, mov.d, dmfc1 :: mem: 0x2608c2b756da4c54 out: 0x2608c2b756da4c54
+mtc1, mov.s, mfc1 :: mem: 0xffffffff91a18d8e out: 0xffffffff91a18d8e
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff91a18d8e out: 0xffffffff91a18d8e
+mtc1, mov.s, mfc1 :: mem: 0x900102dac8d7252f out: 0xffffffffc8d7252f
+dmtc1, mov.d, dmfc1 :: mem: 0x900102dac8d7252f out: 0x900102dac8d7252f
+mtc1, mov.s, mfc1 :: mem: 0xffffffff95609039 out: 0xffffffff95609039
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff95609039 out: 0xffffffff95609039
+mtc1, mov.s, mfc1 :: mem: 0xc890d5f1f2efa4f7 out: 0xfffffffff2efa4f7
+dmtc1, mov.d, dmfc1 :: mem: 0xc890d5f1f2efa4f7 out: 0xc890d5f1f2efa4f7
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8b27c03c out: 0xffffffff8b27c03c
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8b27c03c out: 0xffffffff8b27c03c
+mtc1, mov.s, mfc1 :: mem: 0xed5005cbc8b0a214 out: 0xffffffffc8b0a214
+dmtc1, mov.d, dmfc1 :: mem: 0xed5005cbc8b0a214 out: 0xed5005cbc8b0a214
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8fe6dd8b out: 0xffffffff8fe6dd8b
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8fe6dd8b out: 0xffffffff8fe6dd8b
+mtc1, mov.s, mfc1 :: mem: 0x314791895991136c out: 0x5991136c
+dmtc1, mov.d, dmfc1 :: mem: 0x314791895991136c out: 0x314791895991136c
+mtc1, mov.s, mfc1 :: mem: 0xffffffff82a5fb52 out: 0xffffffff82a5fb52
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff82a5fb52 out: 0xffffffff82a5fb52
+mtc1, mov.s, mfc1 :: mem: 0xc6eecff99a2fb6f3 out: 0xffffffff9a2fb6f3
+dmtc1, mov.d, dmfc1 :: mem: 0xc6eecff99a2fb6f3 out: 0xc6eecff99a2fb6f3
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8664e6e5 out: 0xffffffff8664e6e5
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8664e6e5 out: 0xffffffff8664e6e5
+mtc1, mov.s, mfc1 :: mem: 0xa809521238895270 out: 0x38895270
+dmtc1, mov.d, dmfc1 :: mem: 0xa809521238895270 out: 0xa809521238895270
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbe2b5b58 out: 0xffffffffbe2b5b58
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbe2b5b58 out: 0xffffffffbe2b5b58
+mtc1, mov.s, mfc1 :: mem: 0x87750a04ad765040 out: 0xffffffffad765040
+dmtc1, mov.d, dmfc1 :: mem: 0x87750a04ad765040 out: 0x87750a04ad765040
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbaea46ef out: 0xffffffffbaea46ef
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbaea46ef out: 0xffffffffbaea46ef
+mtc1, mov.s, mfc1 :: mem: 0x2c3de85e84bb5a83 out: 0xffffffff84bb5a83
+dmtc1, mov.d, dmfc1 :: mem: 0x2c3de85e84bb5a83 out: 0x2c3de85e84bb5a83
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb7a96036 out: 0xffffffffb7a96036
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb7a96036 out: 0xffffffffb7a96036
+mtc1, mov.s, mfc1 :: mem: 0xae6aff8fc506aa67 out: 0xffffffffc506aa67
+dmtc1, mov.d, dmfc1 :: mem: 0xae6aff8fc506aa67 out: 0xae6aff8fc506aa67
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb3687d81 out: 0xffffffffb3687d81
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb3687d81 out: 0xffffffffb3687d81
+mtc1, mov.s, mfc1 :: mem: 0xc07112dd60ed5ee3 out: 0x60ed5ee3
+dmtc1, mov.d, dmfc1 :: mem: 0xc07112dd60ed5ee3 out: 0xc07112dd60ed5ee3
+mtc1, mov.s, mfc1 :: mem: 0xffffffffad2f2d84 out: 0xffffffffad2f2d84
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffad2f2d84 out: 0xffffffffad2f2d84
+mtc1, mov.s, mfc1 :: mem: 0xc4c770f630dcca5a out: 0x30dcca5a
+dmtc1, mov.d, dmfc1 :: mem: 0xc4c770f630dcca5a out: 0xc4c770f630dcca5a
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa9ee3033 out: 0xffffffffa9ee3033
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa9ee3033 out: 0xffffffffa9ee3033
+mtc1, mov.s, mfc1 :: mem: 0xdfec2b2383cd5277 out: 0xffffffff83cd5277
+dmtc1, mov.d, dmfc1 :: mem: 0xdfec2b2383cd5277 out: 0xdfec2b2383cd5277
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa4ad16ea out: 0xffffffffa4ad16ea
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa4ad16ea out: 0xffffffffa4ad16ea
+mtc1, mov.s, mfc1 :: mem: 0xd3adba260ff7d96b out: 0xff7d96b
+dmtc1, mov.d, dmfc1 :: mem: 0xd3adba260ff7d96b out: 0xd3adba260ff7d96b
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa06c0b5d out: 0xffffffffa06c0b5d
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa06c0b5d out: 0xffffffffa06c0b5d
+mtc1, mov.s, mfc1 :: mem: 0x4ab4aa798418c00e out: 0xffffffff8418c00e
+dmtc1, mov.d, dmfc1 :: mem: 0x4ab4aa798418c00e out: 0x4ab4aa798418c00e
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd4326d90 out: 0xffffffffd4326d90
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd4326d90 out: 0xffffffffd4326d90
+mtc1, mov.s, mfc1 :: mem: 0xbb8c035e0de0f0b8 out: 0xde0f0b8
+dmtc1, mov.d, dmfc1 :: mem: 0xbb8c035e0de0f0b8 out: 0xbb8c035e0de0f0b8
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd0f37027 out: 0xffffffffd0f37027
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd0f37027 out: 0xffffffffd0f37027
+mtc1, mov.s, mfc1 :: mem: 0x33b06f54a97fdcf1 out: 0xffffffffa97fdcf1
+dmtc1, mov.d, dmfc1 :: mem: 0x33b06f54a97fdcf1 out: 0x33b06f54a97fdcf1
+mtc1, mov.s, mfc1 :: mem: 0xffffffffddb056fe out: 0xffffffffddb056fe
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffddb056fe out: 0xffffffffddb056fe
+mtc1, mov.s, mfc1 :: mem: 0x77433f373fd1c081 out: 0x3fd1c081
+dmtc1, mov.d, dmfc1 :: mem: 0x77433f373fd1c081 out: 0x77433f373fd1c081
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd9714b49 out: 0xffffffffd9714b49
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd9714b49 out: 0xffffffffd9714b49
+mtc1, mov.s, mfc1 :: mem: 0xec91d993c92195e4 out: 0xffffffffc92195e4
+dmtc1, mov.d, dmfc1 :: mem: 0xec91d993c92195e4 out: 0xec91d993c92195e4
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc7361b4c out: 0xffffffffc7361b4c
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc7361b4c out: 0xffffffffc7361b4c
+mtc1, mov.s, mfc1 :: mem: 0x49fbf6a795b1a5ab out: 0xffffffff95b1a5ab
+dmtc1, mov.d, dmfc1 :: mem: 0x49fbf6a795b1a5ab out: 0x49fbf6a795b1a5ab
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc3f706fb out: 0xffffffffc3f706fb
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc3f706fb out: 0xffffffffc3f706fb
+mtc1, mov.s, mfc1 :: mem: 0x19364378c7ce8d1e out: 0xffffffffc7ce8d1e
+dmtc1, mov.d, dmfc1 :: mem: 0x19364378c7ce8d1e out: 0x19364378c7ce8d1e
+mtc1, mov.s, mfc1 :: mem: 0xffffffffceb42022 out: 0xffffffffceb42022
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffceb42022 out: 0xffffffffceb42022
+mtc1, mov.s, mfc1 :: mem: 0xb99e8def2f384907 out: 0x2f384907
+dmtc1, mov.d, dmfc1 :: mem: 0xb99e8def2f384907 out: 0xb99e8def2f384907
+mtc1, mov.s, mfc1 :: mem: 0xffffffffca753d95 out: 0xffffffffca753d95
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffca753d95 out: 0xffffffffca753d95
+mtc1, mov.s, mfc1 :: mem: 0x47eacdcd582b12fe out: 0x582b12fe
+dmtc1, mov.d, dmfc1 :: mem: 0x47eacdcd582b12fe out: 0x47eacdcd582b12fe
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff23a8028 out: 0xfffffffff23a8028
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff23a8028 out: 0xfffffffff23a8028
+mtc1, mov.s, mfc1 :: mem: 0xd685884e76558c4f out: 0x76558c4f
+dmtc1, mov.d, dmfc1 :: mem: 0xd685884e76558c4f out: 0xd685884e76558c4f
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff6fb9d9f out: 0xfffffffff6fb9d9f
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff6fb9d9f out: 0xfffffffff6fb9d9f
+mtc1, mov.s, mfc1 :: mem: 0x6168d62a34c195c7 out: 0x34c195c7
+dmtc1, mov.d, dmfc1 :: mem: 0x6168d62a34c195c7 out: 0x6168d62a34c195c7
+mtc1, mov.s, mfc1 :: mem: 0xfffffffffbb8bb46 out: 0xfffffffffbb8bb46
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffffbb8bb46 out: 0xfffffffffbb8bb46
+mtc1, mov.s, mfc1 :: mem: 0xd30169894df47405 out: 0x4df47405
+dmtc1, mov.d, dmfc1 :: mem: 0xd30169894df47405 out: 0xd30169894df47405
+mtc1, mov.s, mfc1 :: mem: 0xffffffffff79a6f1 out: 0xffffffffff79a6f1
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffff79a6f1 out: 0xffffffffff79a6f1
+mtc1, mov.s, mfc1 :: mem: 0x1ca190bf6cbb06db out: 0x6cbb06db
+dmtc1, mov.d, dmfc1 :: mem: 0x1ca190bf6cbb06db out: 0x1ca190bf6cbb06db
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe13ef6f4 out: 0xffffffffe13ef6f4
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe13ef6f4 out: 0xffffffffe13ef6f4
+mtc1, mov.s, mfc1 :: mem: 0x58300f029cae393a out: 0xffffffff9cae393a
+dmtc1, mov.d, dmfc1 :: mem: 0x58300f029cae393a out: 0x58300f029cae393a
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe5ffeb43 out: 0xffffffffe5ffeb43
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe5ffeb43 out: 0xffffffffe5ffeb43
+mtc1, mov.s, mfc1 :: mem: 0x9a995fdbdc7ebc2d out: 0xffffffffdc7ebc2d
+dmtc1, mov.d, dmfc1 :: mem: 0x9a995fdbdc7ebc2d out: 0x9a995fdbdc7ebc2d
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe8bccd9a out: 0xffffffffe8bccd9a
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe8bccd9a out: 0xffffffffe8bccd9a
+mtc1, mov.s, mfc1 :: mem: 0x8a96047be3405b48 out: 0xffffffffe3405b48
+dmtc1, mov.d, dmfc1 :: mem: 0x8a96047be3405b48 out: 0x8a96047be3405b48
+mtc1, mov.s, mfc1 :: mem: 0xffffffffec7dd02d out: 0xffffffffec7dd02d
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffec7dd02d out: 0xffffffffec7dd02d
+mtc1, mov.s, mfc1 :: mem: 0x75bfafd2d519d322 out: 0xffffffffd519d322
+dmtc1, mov.d, dmfc1 :: mem: 0x75bfafd2d519d322 out: 0x75bfafd2d519d322
+mtc1, mov.s, mfc1 :: mem: 0x34867077 out: 0x34867077
+dmtc1, mov.d, dmfc1 :: mem: 0x34867077 out: 0x34867077
+mtc1, mov.s, mfc1 :: mem: 0xde230867a630f6ad out: 0xffffffffa630f6ad
+dmtc1, mov.d, dmfc1 :: mem: 0xde230867a630f6ad out: 0xde230867a630f6ad
+mtc1, mov.s, mfc1 :: mem: 0x30476dc0 out: 0x30476dc0
+dmtc1, mov.d, dmfc1 :: mem: 0x30476dc0 out: 0x30476dc0
+mtc1, mov.s, mfc1 :: mem: 0x2c0a0cf256103260 out: 0x56103260
+dmtc1, mov.d, dmfc1 :: mem: 0x2c0a0cf256103260 out: 0x2c0a0cf256103260
+mtc1, mov.s, mfc1 :: mem: 0x3d044b19 out: 0x3d044b19
+dmtc1, mov.d, dmfc1 :: mem: 0x3d044b19 out: 0x3d044b19
+mtc1, mov.s, mfc1 :: mem: 0x94a90544249b18ef out: 0x249b18ef
+dmtc1, mov.d, dmfc1 :: mem: 0x94a90544249b18ef out: 0x94a90544249b18ef
+mtc1, mov.s, mfc1 :: mem: 0x39c556ae out: 0x39c556ae
+dmtc1, mov.d, dmfc1 :: mem: 0x39c556ae out: 0x39c556ae
+mtc1, mov.s, mfc1 :: mem: 0xf9519fb55b56fcde out: 0x5b56fcde
+dmtc1, mov.d, dmfc1 :: mem: 0xf9519fb55b56fcde out: 0xf9519fb55b56fcde
+mtc1, mov.s, mfc1 :: mem: 0x278206ab out: 0x278206ab
+dmtc1, mov.d, dmfc1 :: mem: 0x278206ab out: 0x278206ab
+mtc1, mov.s, mfc1 :: mem: 0x81daf8200468319b out: 0x468319b
+dmtc1, mov.d, dmfc1 :: mem: 0x81daf8200468319b out: 0x81daf8200468319b
+mtc1, mov.s, mfc1 :: mem: 0x23431b1c out: 0x23431b1c
+dmtc1, mov.d, dmfc1 :: mem: 0x23431b1c out: 0x23431b1c
+mtc1, mov.s, mfc1 :: mem: 0x8c61ca5a5725f2ec out: 0x5725f2ec
+dmtc1, mov.d, dmfc1 :: mem: 0x8c61ca5a5725f2ec out: 0x8c61ca5a5725f2ec
+mtc1, mov.s, mfc1 :: mem: 0x2e003dc5 out: 0x2e003dc5
+dmtc1, mov.d, dmfc1 :: mem: 0x2e003dc5 out: 0x2e003dc5
+mtc1, mov.s, mfc1 :: mem: 0x8b95a6ddc25dc8bf out: 0xffffffffc25dc8bf
+dmtc1, mov.d, dmfc1 :: mem: 0x8b95a6ddc25dc8bf out: 0x8b95a6ddc25dc8bf
+mtc1, mov.s, mfc1 :: mem: 0x2ac12072 out: 0x2ac12072
+dmtc1, mov.d, dmfc1 :: mem: 0x2ac12072 out: 0x2ac12072
+mtc1, mov.s, mfc1 :: mem: 0x300ce751dac6162f out: 0xffffffffdac6162f
+dmtc1, mov.d, dmfc1 :: mem: 0x300ce751dac6162f out: 0x300ce751dac6162f
+mtc1, mov.s, mfc1 :: mem: 0x128e9dcf out: 0x128e9dcf
+dmtc1, mov.d, dmfc1 :: mem: 0x128e9dcf out: 0x128e9dcf
+mtc1, mov.s, mfc1 :: mem: 0x6778fdf3ba52a850 out: 0xffffffffba52a850
+dmtc1, mov.d, dmfc1 :: mem: 0x6778fdf3ba52a850 out: 0x6778fdf3ba52a850
+mtc1, mov.s, mfc1 :: mem: 0x164f8078 out: 0x164f8078
+dmtc1, mov.d, dmfc1 :: mem: 0x164f8078 out: 0x164f8078
+mtc1, mov.s, mfc1 :: mem: 0xad00b1f7da78479f out: 0xffffffffda78479f
+dmtc1, mov.d, dmfc1 :: mem: 0xad00b1f7da78479f out: 0xad00b1f7da78479f
+mtc1, mov.s, mfc1 :: mem: 0x1b0ca6a1 out: 0x1b0ca6a1
+dmtc1, mov.d, dmfc1 :: mem: 0x1b0ca6a1 out: 0x1b0ca6a1
+mtc1, mov.s, mfc1 :: mem: 0x8d44168a6b6d98a out: 0xffffffffa6b6d98a
+dmtc1, mov.d, dmfc1 :: mem: 0x8d44168a6b6d98a out: 0x8d44168a6b6d98a
+mtc1, mov.s, mfc1 :: mem: 0x1fcdbb16 out: 0x1fcdbb16
+dmtc1, mov.d, dmfc1 :: mem: 0x1fcdbb16 out: 0x1fcdbb16
+mtc1, mov.s, mfc1 :: mem: 0xf518381dce634413 out: 0xffffffffce634413
+dmtc1, mov.d, dmfc1 :: mem: 0xf518381dce634413 out: 0xf518381dce634413
+mtc1, mov.s, mfc1 :: mem: 0x18aeb13 out: 0x18aeb13
+dmtc1, mov.d, dmfc1 :: mem: 0x18aeb13 out: 0x18aeb13
+mtc1, mov.s, mfc1 :: mem: 0xe4627f3fe5255fc0 out: 0xffffffffe5255fc0
+dmtc1, mov.d, dmfc1 :: mem: 0xe4627f3fe5255fc0 out: 0xe4627f3fe5255fc0
+mtc1, mov.s, mfc1 :: mem: 0x54bf6a4 out: 0x54bf6a4
+dmtc1, mov.d, dmfc1 :: mem: 0x54bf6a4 out: 0x54bf6a4
+mtc1, mov.s, mfc1 :: mem: 0xccd392e176321f28 out: 0x76321f28
+dmtc1, mov.d, dmfc1 :: mem: 0xccd392e176321f28 out: 0xccd392e176321f28
+mtc1, mov.s, mfc1 :: mem: 0x808d07d out: 0x808d07d
+dmtc1, mov.d, dmfc1 :: mem: 0x808d07d out: 0x808d07d
+mtc1, mov.s, mfc1 :: mem: 0x829464944018fd8f out: 0x4018fd8f
+dmtc1, mov.d, dmfc1 :: mem: 0x829464944018fd8f out: 0x829464944018fd8f
+mtc1, mov.s, mfc1 :: mem: 0xcc9cdca out: 0xcc9cdca
+dmtc1, mov.d, dmfc1 :: mem: 0xcc9cdca out: 0xcc9cdca
+mtc1, mov.s, mfc1 :: mem: 0x15d3204052e8f0e5 out: 0x52e8f0e5
+dmtc1, mov.d, dmfc1 :: mem: 0x15d3204052e8f0e5 out: 0x15d3204052e8f0e5
+mtc1, mov.s, mfc1 :: mem: 0x7897ab07 out: 0x7897ab07
+dmtc1, mov.d, dmfc1 :: mem: 0x7897ab07 out: 0x7897ab07
+mtc1, mov.s, mfc1 :: mem: 0x7caf83d2880ff344 out: 0xffffffff880ff344
+dmtc1, mov.d, dmfc1 :: mem: 0x7caf83d2880ff344 out: 0x7caf83d2880ff344
+mtc1, mov.s, mfc1 :: mem: 0x7c56b6b0 out: 0x7c56b6b0
+dmtc1, mov.d, dmfc1 :: mem: 0x7c56b6b0 out: 0x7c56b6b0
+mtc1, mov.s, mfc1 :: mem: 0xf156a04c747defd7 out: 0x747defd7
+dmtc1, mov.d, dmfc1 :: mem: 0xf156a04c747defd7 out: 0xf156a04c747defd7
+mtc1, mov.s, mfc1 :: mem: 0x71159069 out: 0x71159069
+dmtc1, mov.d, dmfc1 :: mem: 0x71159069 out: 0x71159069
+mtc1, mov.s, mfc1 :: mem: 0x93e2601c0f31d710 out: 0xf31d710
+dmtc1, mov.d, dmfc1 :: mem: 0x93e2601c0f31d710 out: 0x93e2601c0f31d710
+mtc1, mov.s, mfc1 :: mem: 0x75d48dde out: 0x75d48dde
+dmtc1, mov.d, dmfc1 :: mem: 0x75d48dde out: 0x75d48dde
+mtc1, mov.s, mfc1 :: mem: 0xe1e1a679131cd933 out: 0x131cd933
+dmtc1, mov.d, dmfc1 :: mem: 0xe1e1a679131cd933 out: 0xe1e1a679131cd933
+mtc1, mov.s, mfc1 :: mem: 0x6b93dddb out: 0x6b93dddb
+dmtc1, mov.d, dmfc1 :: mem: 0x6b93dddb out: 0x6b93dddb
+mtc1, mov.s, mfc1 :: mem: 0x24296b75a76fa427 out: 0xffffffffa76fa427
+dmtc1, mov.d, dmfc1 :: mem: 0x24296b75a76fa427 out: 0x24296b75a76fa427
+mtc1, mov.s, mfc1 :: mem: 0x6f52c06c out: 0x6f52c06c
+dmtc1, mov.d, dmfc1 :: mem: 0x6f52c06c out: 0x6f52c06c
+mtc1, mov.s, mfc1 :: mem: 0xd296e2d2139ee56a out: 0x139ee56a
+dmtc1, mov.d, dmfc1 :: mem: 0xd296e2d2139ee56a out: 0xd296e2d2139ee56a
+mtc1, mov.s, mfc1 :: mem: 0x6211e6b5 out: 0x6211e6b5
+dmtc1, mov.d, dmfc1 :: mem: 0x6211e6b5 out: 0x6211e6b5
+mtc1, mov.s, mfc1 :: mem: 0x5a82447f6dc2a5c0 out: 0x6dc2a5c0
+dmtc1, mov.d, dmfc1 :: mem: 0x5a82447f6dc2a5c0 out: 0x5a82447f6dc2a5c0
+mtc1, mov.s, mfc1 :: mem: 0x66d0fb02 out: 0x66d0fb02
+dmtc1, mov.d, dmfc1 :: mem: 0x66d0fb02 out: 0x66d0fb02
+mtc1, mov.s, mfc1 :: mem: 0x76c89e80c07dc168 out: 0xffffffffc07dc168
+dmtc1, mov.d, dmfc1 :: mem: 0x76c89e80c07dc168 out: 0x76c89e80c07dc168
+mtc1, mov.s, mfc1 :: mem: 0x5e9f46bf out: 0x5e9f46bf
+dmtc1, mov.d, dmfc1 :: mem: 0x5e9f46bf out: 0x5e9f46bf
+mtc1, mov.s, mfc1 :: mem: 0x70dc3454bfe348f out: 0x4bfe348f
+dmtc1, mov.d, dmfc1 :: mem: 0x70dc3454bfe348f out: 0x70dc3454bfe348f
+mtc1, mov.s, mfc1 :: mem: 0x5a5e5b08 out: 0x5a5e5b08
+dmtc1, mov.d, dmfc1 :: mem: 0x5a5e5b08 out: 0x5a5e5b08
+mtc1, mov.s, mfc1 :: mem: 0xbddc7123dd6d241b out: 0xffffffffdd6d241b
+dmtc1, mov.d, dmfc1 :: mem: 0xbddc7123dd6d241b out: 0xbddc7123dd6d241b
+mtc1, mov.s, mfc1 :: mem: 0x571d7dd1 out: 0x571d7dd1
+dmtc1, mov.d, dmfc1 :: mem: 0x571d7dd1 out: 0x571d7dd1
+mtc1, mov.s, mfc1 :: mem: 0xf62fb727a59fcebe out: 0xffffffffa59fcebe
+dmtc1, mov.d, dmfc1 :: mem: 0xf62fb727a59fcebe out: 0xf62fb727a59fcebe
+mtc1, mov.s, mfc1 :: mem: 0x53dc6066 out: 0x53dc6066
+dmtc1, mov.d, dmfc1 :: mem: 0x53dc6066 out: 0x53dc6066
+mtc1, mov.s, mfc1 :: mem: 0x109f27e90f9f46fb out: 0xf9f46fb
+dmtc1, mov.d, dmfc1 :: mem: 0x109f27e90f9f46fb out: 0x109f27e90f9f46fb
+mtc1, mov.s, mfc1 :: mem: 0x4d9b3063 out: 0x4d9b3063
+dmtc1, mov.d, dmfc1 :: mem: 0x4d9b3063 out: 0x4d9b3063
+mtc1, mov.s, mfc1 :: mem: 0x3f63daa9afd199d7 out: 0xffffffffafd199d7
+dmtc1, mov.d, dmfc1 :: mem: 0x3f63daa9afd199d7 out: 0x3f63daa9afd199d7
+mtc1, mov.s, mfc1 :: mem: 0x495a2dd4 out: 0x495a2dd4
+dmtc1, mov.d, dmfc1 :: mem: 0x495a2dd4 out: 0x495a2dd4
+mtc1, mov.s, mfc1 :: mem: 0xdbcb312ea3d484f2 out: 0xffffffffa3d484f2
+dmtc1, mov.d, dmfc1 :: mem: 0xdbcb312ea3d484f2 out: 0xdbcb312ea3d484f2
+mtc1, mov.s, mfc1 :: mem: 0x44190b0d out: 0x44190b0d
+dmtc1, mov.d, dmfc1 :: mem: 0x44190b0d out: 0x44190b0d
+mtc1, mov.s, mfc1 :: mem: 0x1f353faada4fe4c6 out: 0xffffffffda4fe4c6
+dmtc1, mov.d, dmfc1 :: mem: 0x1f353faada4fe4c6 out: 0x1f353faada4fe4c6
+mtc1, mov.s, mfc1 :: mem: 0x40d816ba out: 0x40d816ba
+dmtc1, mov.d, dmfc1 :: mem: 0x40d816ba out: 0x40d816ba
+mtc1, mov.s, mfc1 :: mem: 0x8b086ee07150c260 out: 0x7150c260
+dmtc1, mov.d, dmfc1 :: mem: 0x8b086ee07150c260 out: 0x8b086ee07150c260
+mtc1, mov.s, mfc1 :: mem: 0xffffffffaca5c697 out: 0xffffffffaca5c697
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffaca5c697 out: 0xffffffffaca5c697
+mtc1, mov.s, mfc1 :: mem: 0xe54750d5d9257f25 out: 0xffffffffd9257f25
+dmtc1, mov.d, dmfc1 :: mem: 0xe54750d5d9257f25 out: 0xe54750d5d9257f25
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa864db20 out: 0xffffffffa864db20
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa864db20 out: 0xffffffffa864db20
+mtc1, mov.s, mfc1 :: mem: 0x3d69625fe9a6db5b out: 0xffffffffe9a6db5b
+dmtc1, mov.d, dmfc1 :: mem: 0x3d69625fe9a6db5b out: 0x3d69625fe9a6db5b
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa527fdf9 out: 0xffffffffa527fdf9
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa527fdf9 out: 0xffffffffa527fdf9
+mtc1, mov.s, mfc1 :: mem: 0x70a3e0424340ac96 out: 0x4340ac96
+dmtc1, mov.d, dmfc1 :: mem: 0x70a3e0424340ac96 out: 0x70a3e0424340ac96
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa1e6e04e out: 0xffffffffa1e6e04e
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa1e6e04e out: 0xffffffffa1e6e04e
+mtc1, mov.s, mfc1 :: mem: 0xc0478f036980171e out: 0x6980171e
+dmtc1, mov.d, dmfc1 :: mem: 0xc0478f036980171e out: 0xc0478f036980171e
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbfa1b04b out: 0xffffffffbfa1b04b
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbfa1b04b out: 0xffffffffbfa1b04b
+mtc1, mov.s, mfc1 :: mem: 0x3ce839a51cf929e3 out: 0x1cf929e3
+dmtc1, mov.d, dmfc1 :: mem: 0x3ce839a51cf929e3 out: 0x3ce839a51cf929e3
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbb60adfc out: 0xffffffffbb60adfc
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbb60adfc out: 0xffffffffbb60adfc
+mtc1, mov.s, mfc1 :: mem: 0xe2fbfa895eb68958 out: 0x5eb68958
+dmtc1, mov.d, dmfc1 :: mem: 0xe2fbfa895eb68958 out: 0xe2fbfa895eb68958
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb6238b25 out: 0xffffffffb6238b25
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb6238b25 out: 0xffffffffb6238b25
+mtc1, mov.s, mfc1 :: mem: 0xd24bb05d76ed25b7 out: 0x76ed25b7
+dmtc1, mov.d, dmfc1 :: mem: 0xd24bb05d76ed25b7 out: 0xd24bb05d76ed25b7
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb2e29692 out: 0xffffffffb2e29692
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb2e29692 out: 0xffffffffb2e29692
+mtc1, mov.s, mfc1 :: mem: 0xeb9682c170312f1 out: 0x170312f1
+dmtc1, mov.d, dmfc1 :: mem: 0xeb9682c170312f1 out: 0xeb9682c170312f1
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8aad2b2f out: 0xffffffff8aad2b2f
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8aad2b2f out: 0xffffffff8aad2b2f
+mtc1, mov.s, mfc1 :: mem: 0x84785280dd301d0d out: 0xffffffffdd301d0d
+dmtc1, mov.d, dmfc1 :: mem: 0x84785280dd301d0d out: 0x84785280dd301d0d
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x179c77aa1f8fd6ef out: 0x1f8fd6ef
+dmtc1, mov.d, dmfc1 :: mem: 0x179c77aa1f8fd6ef out: 0x179c77aa1f8fd6ef
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x26444ced2998436d out: 0x2998436d
+dmtc1, mov.d, dmfc1 :: mem: 0x26444ced2998436d out: 0x26444ced2998436d
+mtc1, mov.s, mfc1 :: mem: 0xffffffff87ee0df6 out: 0xffffffff87ee0df6
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff87ee0df6 out: 0xffffffff87ee0df6
+mtc1, mov.s, mfc1 :: mem: 0x7175c9dd58ca708 out: 0xffffffffd58ca708
+dmtc1, mov.d, dmfc1 :: mem: 0x7175c9dd58ca708 out: 0x7175c9dd58ca708
+mtc1, mov.s, mfc1 :: mem: 0xffffffff99a95df3 out: 0xffffffff99a95df3
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff99a95df3 out: 0xffffffff99a95df3
+mtc1, mov.s, mfc1 :: mem: 0x663d061055833287 out: 0x55833287
+dmtc1, mov.d, dmfc1 :: mem: 0x663d061055833287 out: 0x663d061055833287
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9d684044 out: 0xffffffff9d684044
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9d684044 out: 0xffffffff9d684044
+mtc1, mov.s, mfc1 :: mem: 0xab7dd0488951d68b out: 0xffffffff8951d68b
+dmtc1, mov.d, dmfc1 :: mem: 0xab7dd0488951d68b out: 0xab7dd0488951d68b
+mtc1, mov.s, mfc1 :: mem: 0xffffffff902b669d out: 0xffffffff902b669d
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff902b669d out: 0xffffffff902b669d
+mtc1, mov.s, mfc1 :: mem: 0xf69823670e82471b out: 0xe82471b
+dmtc1, mov.d, dmfc1 :: mem: 0xf69823670e82471b out: 0xf69823670e82471b
+mtc1, mov.s, mfc1 :: mem: 0xffffffff94ea7b2a out: 0xffffffff94ea7b2a
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff94ea7b2a out: 0xffffffff94ea7b2a
+mtc1, mov.s, mfc1 :: mem: 0x36886c59d98d26b2 out: 0xffffffffd98d26b2
+dmtc1, mov.d, dmfc1 :: mem: 0x36886c59d98d26b2 out: 0x36886c59d98d26b2
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe0b41de7 out: 0xffffffffe0b41de7
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe0b41de7 out: 0xffffffffe0b41de7
+mtc1, mov.s, mfc1 :: mem: 0x9ca4bdbd32be479 out: 0xffffffffd32be479
+dmtc1, mov.d, dmfc1 :: mem: 0x9ca4bdbd32be479 out: 0x9ca4bdbd32be479
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe4750050 out: 0xffffffffe4750050
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe4750050 out: 0xffffffffe4750050
+mtc1, mov.s, mfc1 :: mem: 0xfd5d7d1d9962e61f out: 0xffffffff9962e61f
+dmtc1, mov.d, dmfc1 :: mem: 0xfd5d7d1d9962e61f out: 0xfd5d7d1d9962e61f
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe9362689 out: 0xffffffffe9362689
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe9362689 out: 0xffffffffe9362689
+mtc1, mov.s, mfc1 :: mem: 0x3f46553ecad374df out: 0xffffffffcad374df
+dmtc1, mov.d, dmfc1 :: mem: 0x3f46553ecad374df out: 0x3f46553ecad374df
+mtc1, mov.s, mfc1 :: mem: 0xffffffffedf73b3e out: 0xffffffffedf73b3e
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffedf73b3e out: 0xffffffffedf73b3e
+mtc1, mov.s, mfc1 :: mem: 0x2e9ab97d3eedf2a7 out: 0x3eedf2a7
+dmtc1, mov.d, dmfc1 :: mem: 0x2e9ab97d3eedf2a7 out: 0x2e9ab97d3eedf2a7
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff3b06b3b out: 0xfffffffff3b06b3b
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff3b06b3b out: 0xfffffffff3b06b3b
+mtc1, mov.s, mfc1 :: mem: 0x36a6f7fa3c0c9f33 out: 0x3c0c9f33
+dmtc1, mov.d, dmfc1 :: mem: 0x36a6f7fa3c0c9f33 out: 0x36a6f7fa3c0c9f33
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff771768c out: 0xfffffffff771768c
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff771768c out: 0xfffffffff771768c
+mtc1, mov.s, mfc1 :: mem: 0x8bb938e3155ec9dc out: 0x155ec9dc
+dmtc1, mov.d, dmfc1 :: mem: 0x8bb938e3155ec9dc out: 0x8bb938e3155ec9dc
+mtc1, mov.s, mfc1 :: mem: 0xfffffffffa325055 out: 0xfffffffffa325055
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffffa325055 out: 0xfffffffffa325055
+mtc1, mov.s, mfc1 :: mem: 0xd2df25c419478206 out: 0x19478206
+dmtc1, mov.d, dmfc1 :: mem: 0xd2df25c419478206 out: 0xd2df25c419478206
+mtc1, mov.s, mfc1 :: mem: 0xfffffffffef34de2 out: 0xfffffffffef34de2
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffffef34de2 out: 0xfffffffffef34de2
+mtc1, mov.s, mfc1 :: mem: 0xbc65bf27eb321825 out: 0xffffffffeb321825
+dmtc1, mov.d, dmfc1 :: mem: 0xbc65bf27eb321825 out: 0xbc65bf27eb321825
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc6bcf05f out: 0xffffffffc6bcf05f
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc6bcf05f out: 0xffffffffc6bcf05f
+mtc1, mov.s, mfc1 :: mem: 0xa8b08fe67a8bc7da out: 0x7a8bc7da
+dmtc1, mov.d, dmfc1 :: mem: 0xa8b08fe67a8bc7da out: 0xa8b08fe67a8bc7da
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc27dede8 out: 0xffffffffc27dede8
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc27dede8 out: 0xffffffffc27dede8
+mtc1, mov.s, mfc1 :: mem: 0x852b5bcaf8dfcde8 out: 0xfffffffff8dfcde8
+dmtc1, mov.d, dmfc1 :: mem: 0x852b5bcaf8dfcde8 out: 0x852b5bcaf8dfcde8
+mtc1, mov.s, mfc1 :: mem: 0xffffffffcf3ecb31 out: 0xffffffffcf3ecb31
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffcf3ecb31 out: 0xffffffffcf3ecb31
+mtc1, mov.s, mfc1 :: mem: 0x478909b59a99269 out: 0x59a99269
+dmtc1, mov.d, dmfc1 :: mem: 0x478909b59a99269 out: 0x478909b59a99269
+mtc1, mov.s, mfc1 :: mem: 0xffffffffcbffd686 out: 0xffffffffcbffd686
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffcbffd686 out: 0xffffffffcbffd686
+mtc1, mov.s, mfc1 :: mem: 0xbfb31cc87857360f out: 0x7857360f
+dmtc1, mov.d, dmfc1 :: mem: 0xbfb31cc87857360f out: 0xbfb31cc87857360f
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd5b88683 out: 0xffffffffd5b88683
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd5b88683 out: 0xffffffffd5b88683
+mtc1, mov.s, mfc1 :: mem: 0xb665ed5e7f89e9a2 out: 0x7f89e9a2
+dmtc1, mov.d, dmfc1 :: mem: 0xb665ed5e7f89e9a2 out: 0xb665ed5e7f89e9a2
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd1799b34 out: 0xffffffffd1799b34
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd1799b34 out: 0xffffffffd1799b34
+mtc1, mov.s, mfc1 :: mem: 0x15da9474b7a8d5e4 out: 0xffffffffb7a8d5e4
+dmtc1, mov.d, dmfc1 :: mem: 0x15da9474b7a8d5e4 out: 0x15da9474b7a8d5e4
+mtc1, mov.s, mfc1 :: mem: 0xffffffffdc3abded out: 0xffffffffdc3abded
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffdc3abded out: 0xffffffffdc3abded
+mtc1, mov.s, mfc1 :: mem: 0xf6b3537d2af90fcc out: 0x2af90fcc
+dmtc1, mov.d, dmfc1 :: mem: 0xf6b3537d2af90fcc out: 0xf6b3537d2af90fcc
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd8fba05a out: 0xffffffffd8fba05a
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd8fba05a out: 0xffffffffd8fba05a
+mtc1, mov.s, mfc1 :: mem: 0x223d7cfe2b961897 out: 0x2b961897
+dmtc1, mov.d, dmfc1 :: mem: 0x223d7cfe2b961897 out: 0x223d7cfe2b961897
+mtc1, mov.s, mfc1 :: mem: 0x690ce0ee out: 0x690ce0ee
+dmtc1, mov.d, dmfc1 :: mem: 0x690ce0ee out: 0x690ce0ee
+mtc1, mov.s, mfc1 :: mem: 0x420b34f533734a4b out: 0x33734a4b
+dmtc1, mov.d, dmfc1 :: mem: 0x420b34f533734a4b out: 0x420b34f533734a4b
+mtc1, mov.s, mfc1 :: mem: 0x6dcdfd59 out: 0x6dcdfd59
+dmtc1, mov.d, dmfc1 :: mem: 0x6dcdfd59 out: 0x6dcdfd59
+mtc1, mov.s, mfc1 :: mem: 0x897c8c8ddd46b33c out: 0xffffffffdd46b33c
+dmtc1, mov.d, dmfc1 :: mem: 0x897c8c8ddd46b33c out: 0x897c8c8ddd46b33c
+mtc1, mov.s, mfc1 :: mem: 0x608edb80 out: 0x608edb80
+dmtc1, mov.d, dmfc1 :: mem: 0x608edb80 out: 0x608edb80
+mtc1, mov.s, mfc1 :: mem: 0x7a387445e392ccd9 out: 0xffffffffe392ccd9
+dmtc1, mov.d, dmfc1 :: mem: 0x7a387445e392ccd9 out: 0x7a387445e392ccd9
+mtc1, mov.s, mfc1 :: mem: 0x644fc637 out: 0x644fc637
+dmtc1, mov.d, dmfc1 :: mem: 0x644fc637 out: 0x644fc637
+mtc1, mov.s, mfc1 :: mem: 0x512f29b1d80000c9 out: 0xffffffffd80000c9
+dmtc1, mov.d, dmfc1 :: mem: 0x512f29b1d80000c9 out: 0x512f29b1d80000c9
+mtc1, mov.s, mfc1 :: mem: 0x7a089632 out: 0x7a089632
+dmtc1, mov.d, dmfc1 :: mem: 0x7a089632 out: 0x7a089632
+mtc1, mov.s, mfc1 :: mem: 0xeaded5c53dad020a out: 0x3dad020a
+dmtc1, mov.d, dmfc1 :: mem: 0xeaded5c53dad020a out: 0xeaded5c53dad020a
+mtc1, mov.s, mfc1 :: mem: 0x7ec98b85 out: 0x7ec98b85
+dmtc1, mov.d, dmfc1 :: mem: 0x7ec98b85 out: 0x7ec98b85
+mtc1, mov.s, mfc1 :: mem: 0x8a6229d731eea35b out: 0x31eea35b
+dmtc1, mov.d, dmfc1 :: mem: 0x8a6229d731eea35b out: 0x8a6229d731eea35b
+mtc1, mov.s, mfc1 :: mem: 0x738aad5c out: 0x738aad5c
+dmtc1, mov.d, dmfc1 :: mem: 0x738aad5c out: 0x738aad5c
+mtc1, mov.s, mfc1 :: mem: 0x2c3c3f9e48985649 out: 0x48985649
+dmtc1, mov.d, dmfc1 :: mem: 0x2c3c3f9e48985649 out: 0x2c3c3f9e48985649
+mtc1, mov.s, mfc1 :: mem: 0x774bb0eb out: 0x774bb0eb
+dmtc1, mov.d, dmfc1 :: mem: 0x774bb0eb out: 0x774bb0eb
+mtc1, mov.s, mfc1 :: mem: 0x7ff61e78dc9c0b77 out: 0xffffffffdc9c0b77
+dmtc1, mov.d, dmfc1 :: mem: 0x7ff61e78dc9c0b77 out: 0x7ff61e78dc9c0b77
+mtc1, mov.s, mfc1 :: mem: 0x4f040d56 out: 0x4f040d56
+dmtc1, mov.d, dmfc1 :: mem: 0x4f040d56 out: 0x4f040d56
+mtc1, mov.s, mfc1 :: mem: 0x2299b0e01d5e68ec out: 0x1d5e68ec
+dmtc1, mov.d, dmfc1 :: mem: 0x2299b0e01d5e68ec out: 0x2299b0e01d5e68ec
+mtc1, mov.s, mfc1 :: mem: 0x4bc510e1 out: 0x4bc510e1
+dmtc1, mov.d, dmfc1 :: mem: 0x4bc510e1 out: 0x4bc510e1
+mtc1, mov.s, mfc1 :: mem: 0x7c3b04673d0c6e25 out: 0x3d0c6e25
+dmtc1, mov.d, dmfc1 :: mem: 0x7c3b04673d0c6e25 out: 0x7c3b04673d0c6e25
+mtc1, mov.s, mfc1 :: mem: 0x46863638 out: 0x46863638
+dmtc1, mov.d, dmfc1 :: mem: 0x46863638 out: 0x46863638
+mtc1, mov.s, mfc1 :: mem: 0x164e17c1e7fb6587 out: 0xffffffffe7fb6587
+dmtc1, mov.d, dmfc1 :: mem: 0x164e17c1e7fb6587 out: 0x164e17c1e7fb6587
+mtc1, mov.s, mfc1 :: mem: 0x42472b8f out: 0x42472b8f
+dmtc1, mov.d, dmfc1 :: mem: 0x42472b8f out: 0x42472b8f
+mtc1, mov.s, mfc1 :: mem: 0xfa4ca28b56d4950b out: 0x56d4950b
+dmtc1, mov.d, dmfc1 :: mem: 0xfa4ca28b56d4950b out: 0xfa4ca28b56d4950b
+mtc1, mov.s, mfc1 :: mem: 0x5c007b8a out: 0x5c007b8a
+dmtc1, mov.d, dmfc1 :: mem: 0x5c007b8a out: 0x5c007b8a
+mtc1, mov.s, mfc1 :: mem: 0xe5e9a314be7fa08a out: 0xffffffffbe7fa08a
+dmtc1, mov.d, dmfc1 :: mem: 0xe5e9a314be7fa08a out: 0xe5e9a314be7fa08a
+mtc1, mov.s, mfc1 :: mem: 0x58c1663d out: 0x58c1663d
+dmtc1, mov.d, dmfc1 :: mem: 0x58c1663d out: 0x58c1663d
+mtc1, mov.s, mfc1 :: mem: 0xf8be8164159649c5 out: 0x159649c5
+dmtc1, mov.d, dmfc1 :: mem: 0xf8be8164159649c5 out: 0xf8be8164159649c5
+mtc1, mov.s, mfc1 :: mem: 0x558240e4 out: 0x558240e4
+dmtc1, mov.d, dmfc1 :: mem: 0x558240e4 out: 0x558240e4
+mtc1, mov.s, mfc1 :: mem: 0x7ca3259784e69b17 out: 0xffffffff84e69b17
+dmtc1, mov.d, dmfc1 :: mem: 0x7ca3259784e69b17 out: 0x7ca3259784e69b17
+mtc1, mov.s, mfc1 :: mem: 0x51435d53 out: 0x51435d53
+dmtc1, mov.d, dmfc1 :: mem: 0x51435d53 out: 0x51435d53
+mtc1, mov.s, mfc1 :: mem: 0xfc8d543ca1f24f5c out: 0xffffffffa1f24f5c
+dmtc1, mov.d, dmfc1 :: mem: 0xfc8d543ca1f24f5c out: 0xfc8d543ca1f24f5c
+mtc1, mov.s, mfc1 :: mem: 0x251d3b9e out: 0x251d3b9e
+dmtc1, mov.d, dmfc1 :: mem: 0x251d3b9e out: 0x251d3b9e
+mtc1, mov.s, mfc1 :: mem: 0x4aeb6ca0e3459e36 out: 0xffffffffe3459e36
+dmtc1, mov.d, dmfc1 :: mem: 0x4aeb6ca0e3459e36 out: 0x4aeb6ca0e3459e36
+mtc1, mov.s, mfc1 :: mem: 0x21dc2629 out: 0x21dc2629
+dmtc1, mov.d, dmfc1 :: mem: 0x21dc2629 out: 0x21dc2629
+mtc1, mov.s, mfc1 :: mem: 0xc532e18e187980fa out: 0x187980fa
+dmtc1, mov.d, dmfc1 :: mem: 0xc532e18e187980fa out: 0xc532e18e187980fa
+mtc1, mov.s, mfc1 :: mem: 0x2c9f00f0 out: 0x2c9f00f0
+dmtc1, mov.d, dmfc1 :: mem: 0x2c9f00f0 out: 0x2c9f00f0
+mtc1, mov.s, mfc1 :: mem: 0xb3fdec294f287d1c out: 0x4f287d1c
+dmtc1, mov.d, dmfc1 :: mem: 0xb3fdec294f287d1c out: 0xb3fdec294f287d1c
+mtc1, mov.s, mfc1 :: mem: 0x285e1d47 out: 0x285e1d47
+dmtc1, mov.d, dmfc1 :: mem: 0x285e1d47 out: 0x285e1d47
+mtc1, mov.s, mfc1 :: mem: 0xb620660a49732b90 out: 0x49732b90
+dmtc1, mov.d, dmfc1 :: mem: 0xb620660a49732b90 out: 0xb620660a49732b90
+mtc1, mov.s, mfc1 :: mem: 0x36194d42 out: 0x36194d42
+dmtc1, mov.d, dmfc1 :: mem: 0x36194d42 out: 0x36194d42
+mtc1, mov.s, mfc1 :: mem: 0x993138f16cfde991 out: 0x6cfde991
+dmtc1, mov.d, dmfc1 :: mem: 0x993138f16cfde991 out: 0x993138f16cfde991
+mtc1, mov.s, mfc1 :: mem: 0x32d850f5 out: 0x32d850f5
+dmtc1, mov.d, dmfc1 :: mem: 0x32d850f5 out: 0x32d850f5
+mtc1, mov.s, mfc1 :: mem: 0xde02d1337d5407b9 out: 0x7d5407b9
+dmtc1, mov.d, dmfc1 :: mem: 0xde02d1337d5407b9 out: 0xde02d1337d5407b9
+mtc1, mov.s, mfc1 :: mem: 0x3f9b762c out: 0x3f9b762c
+dmtc1, mov.d, dmfc1 :: mem: 0x3f9b762c out: 0x3f9b762c
+mtc1, mov.s, mfc1 :: mem: 0x13a390e1e1dab15a out: 0xffffffffe1dab15a
+dmtc1, mov.d, dmfc1 :: mem: 0x13a390e1e1dab15a out: 0x13a390e1e1dab15a
+mtc1, mov.s, mfc1 :: mem: 0x3b5a6b9b out: 0x3b5a6b9b
+dmtc1, mov.d, dmfc1 :: mem: 0x3b5a6b9b out: 0x3b5a6b9b
+mtc1, mov.s, mfc1 :: mem: 0x743491a6828716c8 out: 0xffffffff828716c8
+dmtc1, mov.d, dmfc1 :: mem: 0x743491a6828716c8 out: 0x743491a6828716c8
+mtc1, mov.s, mfc1 :: mem: 0x315d626 out: 0x315d626
+dmtc1, mov.d, dmfc1 :: mem: 0x315d626 out: 0x315d626
+mtc1, mov.s, mfc1 :: mem: 0x8cff404aede292f2 out: 0xffffffffede292f2
+dmtc1, mov.d, dmfc1 :: mem: 0x8cff404aede292f2 out: 0x8cff404aede292f2
+mtc1, mov.s, mfc1 :: mem: 0x7d4cb91 out: 0x7d4cb91
+dmtc1, mov.d, dmfc1 :: mem: 0x7d4cb91 out: 0x7d4cb91
+mtc1, mov.s, mfc1 :: mem: 0xb9cec0db1f837636 out: 0x1f837636
+dmtc1, mov.d, dmfc1 :: mem: 0xb9cec0db1f837636 out: 0xb9cec0db1f837636
+mtc1, mov.s, mfc1 :: mem: 0xa97ed48 out: 0xa97ed48
+dmtc1, mov.d, dmfc1 :: mem: 0xa97ed48 out: 0xa97ed48
+mtc1, mov.s, mfc1 :: mem: 0x2eaa5aa70509771c out: 0x509771c
+dmtc1, mov.d, dmfc1 :: mem: 0x2eaa5aa70509771c out: 0x2eaa5aa70509771c
+mtc1, mov.s, mfc1 :: mem: 0xe56f0ff out: 0xe56f0ff
+dmtc1, mov.d, dmfc1 :: mem: 0xe56f0ff out: 0xe56f0ff
+mtc1, mov.s, mfc1 :: mem: 0xd327538e1875241b out: 0x1875241b
+dmtc1, mov.d, dmfc1 :: mem: 0xd327538e1875241b out: 0xd327538e1875241b
+mtc1, mov.s, mfc1 :: mem: 0x1011a0fa out: 0x1011a0fa
+dmtc1, mov.d, dmfc1 :: mem: 0x1011a0fa out: 0x1011a0fa
+mtc1, mov.s, mfc1 :: mem: 0x42e9f8548b739b6b out: 0xffffffff8b739b6b
+dmtc1, mov.d, dmfc1 :: mem: 0x42e9f8548b739b6b out: 0x42e9f8548b739b6b
+mtc1, mov.s, mfc1 :: mem: 0x14d0bd4d out: 0x14d0bd4d
+dmtc1, mov.d, dmfc1 :: mem: 0x14d0bd4d out: 0x14d0bd4d
+mtc1, mov.s, mfc1 :: mem: 0x78e4e50ceccbba1a out: 0xffffffffeccbba1a
+dmtc1, mov.d, dmfc1 :: mem: 0x78e4e50ceccbba1a out: 0x78e4e50ceccbba1a
+mtc1, mov.s, mfc1 :: mem: 0x19939b94 out: 0x19939b94
+dmtc1, mov.d, dmfc1 :: mem: 0x19939b94 out: 0x19939b94
+mtc1, mov.s, mfc1 :: mem: 0xf6b6fa3fcd9d27cb out: 0xffffffffcd9d27cb
+dmtc1, mov.d, dmfc1 :: mem: 0xf6b6fa3fcd9d27cb out: 0xf6b6fa3fcd9d27cb
+mtc1, mov.s, mfc1 :: mem: 0x1d528623 out: 0x1d528623
+dmtc1, mov.d, dmfc1 :: mem: 0x1d528623 out: 0x1d528623
+mtc1, mov.s, mfc1 :: mem: 0x73916483ae3e9423 out: 0xffffffffae3e9423
+dmtc1, mov.d, dmfc1 :: mem: 0x73916483ae3e9423 out: 0x73916483ae3e9423
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff12f560e out: 0xfffffffff12f560e
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff12f560e out: 0xfffffffff12f560e
+mtc1, mov.s, mfc1 :: mem: 0x276af70a0e128561 out: 0xe128561
+dmtc1, mov.d, dmfc1 :: mem: 0x276af70a0e128561 out: 0x276af70a0e128561
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff5ee4bb9 out: 0xfffffffff5ee4bb9
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff5ee4bb9 out: 0xfffffffff5ee4bb9
+mtc1, mov.s, mfc1 :: mem: 0x3045bf6b5e74b6e out: 0xffffffffb5e74b6e
+dmtc1, mov.d, dmfc1 :: mem: 0x3045bf6b5e74b6e out: 0x3045bf6b5e74b6e
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff8ad6d60 out: 0xfffffffff8ad6d60
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff8ad6d60 out: 0xfffffffff8ad6d60
+mtc1, mov.s, mfc1 :: mem: 0x20223f1308accfa6 out: 0x8accfa6
+dmtc1, mov.d, dmfc1 :: mem: 0x20223f1308accfa6 out: 0x20223f1308accfa6
+mtc1, mov.s, mfc1 :: mem: 0xfffffffffc6c70d7 out: 0xfffffffffc6c70d7
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffffc6c70d7 out: 0xfffffffffc6c70d7
+mtc1, mov.s, mfc1 :: mem: 0xf83c55743976b5f5 out: 0x3976b5f5
+dmtc1, mov.d, dmfc1 :: mem: 0xf83c55743976b5f5 out: 0xf83c55743976b5f5
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe22b20d2 out: 0xffffffffe22b20d2
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe22b20d2 out: 0xffffffffe22b20d2
+mtc1, mov.s, mfc1 :: mem: 0x1f9720f946923c3d out: 0x46923c3d
+dmtc1, mov.d, dmfc1 :: mem: 0x1f9720f946923c3d out: 0x1f9720f946923c3d
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe6ea3d65 out: 0xffffffffe6ea3d65
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe6ea3d65 out: 0xffffffffe6ea3d65
+mtc1, mov.s, mfc1 :: mem: 0x620d28506d2448dd out: 0x6d2448dd
+dmtc1, mov.d, dmfc1 :: mem: 0x620d28506d2448dd out: 0x620d28506d2448dd
+mtc1, mov.s, mfc1 :: mem: 0xffffffffeba91bbc out: 0xffffffffeba91bbc
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffeba91bbc out: 0xffffffffeba91bbc
+mtc1, mov.s, mfc1 :: mem: 0x60a521e99ff4a732 out: 0xffffffff9ff4a732
+dmtc1, mov.d, dmfc1 :: mem: 0x60a521e99ff4a732 out: 0x60a521e99ff4a732
+mtc1, mov.s, mfc1 :: mem: 0xffffffffef68060b out: 0xffffffffef68060b
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffef68060b out: 0xffffffffef68060b
+mtc1, mov.s, mfc1 :: mem: 0x5a08f3ab5c680f0b out: 0x5c680f0b
+dmtc1, mov.d, dmfc1 :: mem: 0x5a08f3ab5c680f0b out: 0x5a08f3ab5c680f0b
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd727bbb6 out: 0xffffffffd727bbb6
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd727bbb6 out: 0xffffffffd727bbb6
+mtc1, mov.s, mfc1 :: mem: 0xc7a59be7800f3d26 out: 0xffffffff800f3d26
+dmtc1, mov.d, dmfc1 :: mem: 0xc7a59be7800f3d26 out: 0xc7a59be7800f3d26
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd3e6a601 out: 0xffffffffd3e6a601
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd3e6a601 out: 0xffffffffd3e6a601
+mtc1, mov.s, mfc1 :: mem: 0x1aecdf2982ca1b41 out: 0xffffffff82ca1b41
+dmtc1, mov.d, dmfc1 :: mem: 0x1aecdf2982ca1b41 out: 0x1aecdf2982ca1b41
+mtc1, mov.s, mfc1 :: mem: 0xffffffffdea580d8 out: 0xffffffffdea580d8
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffdea580d8 out: 0xffffffffdea580d8
+mtc1, mov.s, mfc1 :: mem: 0x2b8613a260d19dcd out: 0x60d19dcd
+dmtc1, mov.d, dmfc1 :: mem: 0x2b8613a260d19dcd out: 0x2b8613a260d19dcd
+mtc1, mov.s, mfc1 :: mem: 0xffffffffda649d6f out: 0xffffffffda649d6f
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffda649d6f out: 0xffffffffda649d6f
+mtc1, mov.s, mfc1 :: mem: 0x2518ac8b0e8bbe7f out: 0xe8bbe7f
+dmtc1, mov.d, dmfc1 :: mem: 0x2518ac8b0e8bbe7f out: 0x2518ac8b0e8bbe7f
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc423cd6a out: 0xffffffffc423cd6a
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc423cd6a out: 0xffffffffc423cd6a
+mtc1, mov.s, mfc1 :: mem: 0x743e568d2fcf486b out: 0x2fcf486b
+dmtc1, mov.d, dmfc1 :: mem: 0x743e568d2fcf486b out: 0x743e568d2fcf486b
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x126f646f34c31728 out: 0x34c31728
+dmtc1, mov.d, dmfc1 :: mem: 0x126f646f34c31728 out: 0x126f646f34c31728
+mtc1, mov.s, mfc1 :: mem: 0xffffffffcda1f604 out: 0xffffffffcda1f604
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffcda1f604 out: 0xffffffffcda1f604
+mtc1, mov.s, mfc1 :: mem: 0xaab0196156fc4d12 out: 0x56fc4d12
+dmtc1, mov.d, dmfc1 :: mem: 0xaab0196156fc4d12 out: 0xaab0196156fc4d12
+mtc1, mov.s, mfc1 :: mem: 0x0 out: 0x0
+dmtc1, mov.d, dmfc1 :: mem: 0x0 out: 0x0
+mtc1, mov.s, mfc1 :: mem: 0x7535cd338595d342 out: 0xffffffff8595d342
+dmtc1, mov.d, dmfc1 :: mem: 0x7535cd338595d342 out: 0x7535cd338595d342
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbd3e8d7e out: 0xffffffffbd3e8d7e
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbd3e8d7e out: 0xffffffffbd3e8d7e
+mtc1, mov.s, mfc1 :: mem: 0xdfb254da422346ec out: 0x422346ec
+dmtc1, mov.d, dmfc1 :: mem: 0xdfb254da422346ec out: 0xdfb254da422346ec
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb9ff90c9 out: 0xffffffffb9ff90c9
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb9ff90c9 out: 0xffffffffb9ff90c9
+mtc1, mov.s, mfc1 :: mem: 0xa86726c90081ab2a out: 0x81ab2a
+dmtc1, mov.d, dmfc1 :: mem: 0xa86726c90081ab2a out: 0xa86726c90081ab2a
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb4bcb610 out: 0xffffffffb4bcb610
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb4bcb610 out: 0xffffffffb4bcb610
+mtc1, mov.s, mfc1 :: mem: 0x9bfeffa1679d7438 out: 0x679d7438
+dmtc1, mov.d, dmfc1 :: mem: 0x9bfeffa1679d7438 out: 0x9bfeffa1679d7438
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb07daba7 out: 0xffffffffb07daba7
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb07daba7 out: 0xffffffffb07daba7
+mtc1, mov.s, mfc1 :: mem: 0xc7699826b7dee244 out: 0xffffffffb7dee244
+dmtc1, mov.d, dmfc1 :: mem: 0xc7699826b7dee244 out: 0xc7699826b7dee244
+mtc1, mov.s, mfc1 :: mem: 0xffffffffae3afba2 out: 0xffffffffae3afba2
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffae3afba2 out: 0xffffffffae3afba2
+mtc1, mov.s, mfc1 :: mem: 0x3c07af97fba6704a out: 0xfffffffffba6704a
+dmtc1, mov.d, dmfc1 :: mem: 0x3c07af97fba6704a out: 0x3c07af97fba6704a
+mtc1, mov.s, mfc1 :: mem: 0xffffffffaafbe615 out: 0xffffffffaafbe615
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffaafbe615 out: 0xffffffffaafbe615
+mtc1, mov.s, mfc1 :: mem: 0x521364dc04c58bfe out: 0x4c58bfe
+dmtc1, mov.d, dmfc1 :: mem: 0x521364dc04c58bfe out: 0x521364dc04c58bfe
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa7b8c0cc out: 0xffffffffa7b8c0cc
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa7b8c0cc out: 0xffffffffa7b8c0cc
+mtc1, mov.s, mfc1 :: mem: 0xe0f7bb589ab7aebc out: 0xffffffff9ab7aebc
+dmtc1, mov.d, dmfc1 :: mem: 0xe0f7bb589ab7aebc out: 0xe0f7bb589ab7aebc
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa379dd7b out: 0xffffffffa379dd7b
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa379dd7b out: 0xffffffffa379dd7b
+mtc1, mov.s, mfc1 :: mem: 0xe336c60cdeeb954d out: 0xffffffffdeeb954d
+dmtc1, mov.d, dmfc1 :: mem: 0xe336c60cdeeb954d out: 0xe336c60cdeeb954d
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9b3660c6 out: 0xffffffff9b3660c6
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9b3660c6 out: 0xffffffff9b3660c6
+mtc1, mov.s, mfc1 :: mem: 0xd5b2120c6f52416e out: 0x6f52416e
+dmtc1, mov.d, dmfc1 :: mem: 0xd5b2120c6f52416e out: 0xd5b2120c6f52416e
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9ff77d71 out: 0xffffffff9ff77d71
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9ff77d71 out: 0xffffffff9ff77d71
+mtc1, mov.s, mfc1 :: mem: 0x85a2d4ff7e628a34 out: 0x7e628a34
+dmtc1, mov.d, dmfc1 :: mem: 0x85a2d4ff7e628a34 out: 0x85a2d4ff7e628a34
+mtc1, mov.s, mfc1 :: mem: 0xffffffff92b45ba8 out: 0xffffffff92b45ba8
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff92b45ba8 out: 0xffffffff92b45ba8
+mtc1, mov.s, mfc1 :: mem: 0x986a2b654a4e7e07 out: 0x4a4e7e07
+dmtc1, mov.d, dmfc1 :: mem: 0x986a2b654a4e7e07 out: 0x986a2b654a4e7e07
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9675461f out: 0xffffffff9675461f
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9675461f out: 0xffffffff9675461f
+mtc1, mov.s, mfc1 :: mem: 0xa974eac43a489b55 out: 0x3a489b55
+dmtc1, mov.d, dmfc1 :: mem: 0xa974eac43a489b55 out: 0xa974eac43a489b55
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8832161a out: 0xffffffff8832161a
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8832161a out: 0xffffffff8832161a
+mtc1, mov.s, mfc1 :: mem: 0xa388c16272f1f8f5 out: 0x72f1f8f5
+dmtc1, mov.d, dmfc1 :: mem: 0xa388c16272f1f8f5 out: 0xa388c16272f1f8f5
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8cf30bad out: 0xffffffff8cf30bad
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8cf30bad out: 0xffffffff8cf30bad
+mtc1, mov.s, mfc1 :: mem: 0xe8c11f45e7495ea9 out: 0xffffffffe7495ea9
+dmtc1, mov.d, dmfc1 :: mem: 0xe8c11f45e7495ea9 out: 0xe8c11f45e7495ea9
+mtc1, mov.s, mfc1 :: mem: 0xffffffff81b02d74 out: 0xffffffff81b02d74
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff81b02d74 out: 0xffffffff81b02d74
+mtc1, mov.s, mfc1 :: mem: 0xadaa5a765cc1c8b4 out: 0x5cc1c8b4
+dmtc1, mov.d, dmfc1 :: mem: 0xadaa5a765cc1c8b4 out: 0xadaa5a765cc1c8b4
+mtc1, mov.s, mfc1 :: mem: 0xffffffff857130c3 out: 0xffffffff857130c3
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff857130c3 out: 0xffffffff857130c3
+mtc1, mov.s, mfc1 :: mem: 0x7ab4ce88dfa605c0 out: 0xffffffffdfa605c0
+dmtc1, mov.d, dmfc1 :: mem: 0x7ab4ce88dfa605c0 out: 0x7ab4ce88dfa605c0
+mtc1, mov.s, mfc1 :: mem: 0x5d8a9099 out: 0x5d8a9099
+dmtc1, mov.d, dmfc1 :: mem: 0x5d8a9099 out: 0x5d8a9099
+mtc1, mov.s, mfc1 :: mem: 0xb42ad6e659a7b04f out: 0x59a7b04f
+dmtc1, mov.d, dmfc1 :: mem: 0xb42ad6e659a7b04f out: 0xb42ad6e659a7b04f
+mtc1, mov.s, mfc1 :: mem: 0x594b8d2e out: 0x594b8d2e
+dmtc1, mov.d, dmfc1 :: mem: 0x594b8d2e out: 0x594b8d2e
+mtc1, mov.s, mfc1 :: mem: 0x4bf8485ab728922f out: 0xffffffffb728922f
+dmtc1, mov.d, dmfc1 :: mem: 0x4bf8485ab728922f out: 0x4bf8485ab728922f
+mtc1, mov.s, mfc1 :: mem: 0x5408abf7 out: 0x5408abf7
+dmtc1, mov.d, dmfc1 :: mem: 0x5408abf7 out: 0x5408abf7
+mtc1, mov.s, mfc1 :: mem: 0x76a3d60c3b66a7fb out: 0x3b66a7fb
+dmtc1, mov.d, dmfc1 :: mem: 0x76a3d60c3b66a7fb out: 0x76a3d60c3b66a7fb
+mtc1, mov.s, mfc1 :: mem: 0x50c9b640 out: 0x50c9b640
+dmtc1, mov.d, dmfc1 :: mem: 0x50c9b640 out: 0x50c9b640
+mtc1, mov.s, mfc1 :: mem: 0x31e0c6affdc28eda out: 0xfffffffffdc28eda
+dmtc1, mov.d, dmfc1 :: mem: 0x31e0c6affdc28eda out: 0x31e0c6affdc28eda
+mtc1, mov.s, mfc1 :: mem: 0x4e8ee645 out: 0x4e8ee645
+dmtc1, mov.d, dmfc1 :: mem: 0x4e8ee645 out: 0x4e8ee645
+mtc1, mov.s, mfc1 :: mem: 0x53606bb4bf0c999d out: 0xffffffffbf0c999d
+dmtc1, mov.d, dmfc1 :: mem: 0x53606bb4bf0c999d out: 0x53606bb4bf0c999d
+mtc1, mov.s, mfc1 :: mem: 0x4a4ffbf2 out: 0x4a4ffbf2
+dmtc1, mov.d, dmfc1 :: mem: 0x4a4ffbf2 out: 0x4a4ffbf2
+mtc1, mov.s, mfc1 :: mem: 0x32fc12c81b7919f0 out: 0x1b7919f0
+dmtc1, mov.d, dmfc1 :: mem: 0x32fc12c81b7919f0 out: 0x32fc12c81b7919f0
+mtc1, mov.s, mfc1 :: mem: 0x470cdd2b out: 0x470cdd2b
+dmtc1, mov.d, dmfc1 :: mem: 0x470cdd2b out: 0x470cdd2b
+mtc1, mov.s, mfc1 :: mem: 0x3ef88384c72efcd6 out: 0xffffffffc72efcd6
+dmtc1, mov.d, dmfc1 :: mem: 0x3ef88384c72efcd6 out: 0x3ef88384c72efcd6
+mtc1, mov.s, mfc1 :: mem: 0x43cdc09c out: 0x43cdc09c
+dmtc1, mov.d, dmfc1 :: mem: 0x43cdc09c out: 0x43cdc09c
+mtc1, mov.s, mfc1 :: mem: 0x38b1c7bb6a2a3580 out: 0x6a2a3580
+dmtc1, mov.d, dmfc1 :: mem: 0x38b1c7bb6a2a3580 out: 0x38b1c7bb6a2a3580
+mtc1, mov.s, mfc1 :: mem: 0x7b827d21 out: 0x7b827d21
+dmtc1, mov.d, dmfc1 :: mem: 0x7b827d21 out: 0x7b827d21
+mtc1, mov.s, mfc1 :: mem: 0x15ebf6121dca77c9 out: 0x1dca77c9
+dmtc1, mov.d, dmfc1 :: mem: 0x15ebf6121dca77c9 out: 0x15ebf6121dca77c9
+mtc1, mov.s, mfc1 :: mem: 0x7f436096 out: 0x7f436096
+dmtc1, mov.d, dmfc1 :: mem: 0x7f436096 out: 0x7f436096
+mtc1, mov.s, mfc1 :: mem: 0x5eaacdd9fd9147ae out: 0xfffffffffd9147ae
+dmtc1, mov.d, dmfc1 :: mem: 0x5eaacdd9fd9147ae out: 0x5eaacdd9fd9147ae
+mtc1, mov.s, mfc1 :: mem: 0x7200464f out: 0x7200464f
+dmtc1, mov.d, dmfc1 :: mem: 0x7200464f out: 0x7200464f
+mtc1, mov.s, mfc1 :: mem: 0xbb8470f981e91117 out: 0xffffffff81e91117
+dmtc1, mov.d, dmfc1 :: mem: 0xbb8470f981e91117 out: 0xbb8470f981e91117
+mtc1, mov.s, mfc1 :: mem: 0x76c15bf8 out: 0x76c15bf8
+dmtc1, mov.d, dmfc1 :: mem: 0x76c15bf8 out: 0x76c15bf8
+mtc1, mov.s, mfc1 :: mem: 0x5d42aeac6a532e0 out: 0xffffffffc6a532e0
+dmtc1, mov.d, dmfc1 :: mem: 0x5d42aeac6a532e0 out: 0x5d42aeac6a532e0
+mtc1, mov.s, mfc1 :: mem: 0x68860bfd out: 0x68860bfd
+dmtc1, mov.d, dmfc1 :: mem: 0x68860bfd out: 0x68860bfd
+mtc1, mov.s, mfc1 :: mem: 0x14abf36419fb9e63 out: 0x19fb9e63
+dmtc1, mov.d, dmfc1 :: mem: 0x14abf36419fb9e63 out: 0x14abf36419fb9e63
+mtc1, mov.s, mfc1 :: mem: 0x6c47164a out: 0x6c47164a
+dmtc1, mov.d, dmfc1 :: mem: 0x6c47164a out: 0x6c47164a
+mtc1, mov.s, mfc1 :: mem: 0x249d559aa8d72aac out: 0xffffffffa8d72aac
+dmtc1, mov.d, dmfc1 :: mem: 0x249d559aa8d72aac out: 0x249d559aa8d72aac
+mtc1, mov.s, mfc1 :: mem: 0x61043093 out: 0x61043093
+dmtc1, mov.d, dmfc1 :: mem: 0x61043093 out: 0x61043093
+mtc1, mov.s, mfc1 :: mem: 0xcd6764f084b30ec out: 0x84b30ec
+dmtc1, mov.d, dmfc1 :: mem: 0xcd6764f084b30ec out: 0xcd6764f084b30ec
+mtc1, mov.s, mfc1 :: mem: 0x65c52d24 out: 0x65c52d24
+dmtc1, mov.d, dmfc1 :: mem: 0x65c52d24 out: 0x65c52d24
+mtc1, mov.s, mfc1 :: mem: 0x7f03ac0792468fdf out: 0xffffffff92468fdf
+dmtc1, mov.d, dmfc1 :: mem: 0x7f03ac0792468fdf out: 0x7f03ac0792468fdf
+mtc1, mov.s, mfc1 :: mem: 0x119b4be9 out: 0x119b4be9
+dmtc1, mov.d, dmfc1 :: mem: 0x119b4be9 out: 0x119b4be9
+mtc1, mov.s, mfc1 :: mem: 0x7e35ce6d56e670f5 out: 0x56e670f5
+dmtc1, mov.d, dmfc1 :: mem: 0x7e35ce6d56e670f5 out: 0x7e35ce6d56e670f5
+mtc1, mov.s, mfc1 :: mem: 0x155a565e out: 0x155a565e
+dmtc1, mov.d, dmfc1 :: mem: 0x155a565e out: 0x155a565e
+mtc1, mov.s, mfc1 :: mem: 0x152828591a652711 out: 0x1a652711
+dmtc1, mov.d, dmfc1 :: mem: 0x152828591a652711 out: 0x152828591a652711
+mtc1, mov.s, mfc1 :: mem: 0x18197087 out: 0x18197087
+dmtc1, mov.d, dmfc1 :: mem: 0x18197087 out: 0x18197087
+mtc1, mov.s, mfc1 :: mem: 0x9e1c3283d215a9fb out: 0xffffffffd215a9fb
+dmtc1, mov.d, dmfc1 :: mem: 0x9e1c3283d215a9fb out: 0x9e1c3283d215a9fb
+mtc1, mov.s, mfc1 :: mem: 0x1cd86d30 out: 0x1cd86d30
+dmtc1, mov.d, dmfc1 :: mem: 0x1cd86d30 out: 0x1cd86d30
+mtc1, mov.s, mfc1 :: mem: 0x8d95c049282a0417 out: 0x282a0417
+dmtc1, mov.d, dmfc1 :: mem: 0x8d95c049282a0417 out: 0x8d95c049282a0417
+mtc1, mov.s, mfc1 :: mem: 0x29f3d35 out: 0x29f3d35
+dmtc1, mov.d, dmfc1 :: mem: 0x29f3d35 out: 0x29f3d35
+mtc1, mov.s, mfc1 :: mem: 0xf2e7a490978058f3 out: 0xffffffff978058f3
+dmtc1, mov.d, dmfc1 :: mem: 0xf2e7a490978058f3 out: 0xf2e7a490978058f3
+mtc1, mov.s, mfc1 :: mem: 0x65e2082 out: 0x65e2082
+dmtc1, mov.d, dmfc1 :: mem: 0x65e2082 out: 0x65e2082
+mtc1, mov.s, mfc1 :: mem: 0x775b4cca0975b1aa out: 0x975b1aa
+dmtc1, mov.d, dmfc1 :: mem: 0x775b4cca0975b1aa out: 0x775b4cca0975b1aa
+mtc1, mov.s, mfc1 :: mem: 0xb1d065b out: 0xb1d065b
+dmtc1, mov.d, dmfc1 :: mem: 0xb1d065b out: 0xb1d065b
+mtc1, mov.s, mfc1 :: mem: 0xa2b84a635111020 out: 0x35111020
+dmtc1, mov.d, dmfc1 :: mem: 0xa2b84a635111020 out: 0xa2b84a635111020
+mtc1, mov.s, mfc1 :: mem: 0xfdc1bec out: 0xfdc1bec
+dmtc1, mov.d, dmfc1 :: mem: 0xfdc1bec out: 0xfdc1bec
+mtc1, mov.s, mfc1 :: mem: 0x23fa0d3a7d88b6f out: 0xffffffffa7d88b6f
+dmtc1, mov.d, dmfc1 :: mem: 0x23fa0d3a7d88b6f out: 0x23fa0d3a7d88b6f
+mtc1, mov.s, mfc1 :: mem: 0x3793a651 out: 0x3793a651
+dmtc1, mov.d, dmfc1 :: mem: 0x3793a651 out: 0x3793a651
+mtc1, mov.s, mfc1 :: mem: 0xa3d991b79941dedd out: 0xffffffff9941dedd
+dmtc1, mov.d, dmfc1 :: mem: 0xa3d991b79941dedd out: 0xa3d991b79941dedd
+mtc1, mov.s, mfc1 :: mem: 0x3352bbe6 out: 0x3352bbe6
+dmtc1, mov.d, dmfc1 :: mem: 0x3352bbe6 out: 0x3352bbe6
+mtc1, mov.s, mfc1 :: mem: 0x751cb4835a0d9508 out: 0x5a0d9508
+dmtc1, mov.d, dmfc1 :: mem: 0x751cb4835a0d9508 out: 0x751cb4835a0d9508
+mtc1, mov.s, mfc1 :: mem: 0x3e119d3f out: 0x3e119d3f
+dmtc1, mov.d, dmfc1 :: mem: 0x3e119d3f out: 0x3e119d3f
+mtc1, mov.s, mfc1 :: mem: 0x949cad35625bb2d3 out: 0x625bb2d3
+dmtc1, mov.d, dmfc1 :: mem: 0x949cad35625bb2d3 out: 0x949cad35625bb2d3
+mtc1, mov.s, mfc1 :: mem: 0x3ad08088 out: 0x3ad08088
+dmtc1, mov.d, dmfc1 :: mem: 0x3ad08088 out: 0x3ad08088
+mtc1, mov.s, mfc1 :: mem: 0x7f567f35a6929739 out: 0xffffffffa6929739
+dmtc1, mov.d, dmfc1 :: mem: 0x7f567f35a6929739 out: 0x7f567f35a6929739
+mtc1, mov.s, mfc1 :: mem: 0x2497d08d out: 0x2497d08d
+dmtc1, mov.d, dmfc1 :: mem: 0x2497d08d out: 0x2497d08d
+mtc1, mov.s, mfc1 :: mem: 0x185b88e0db8d7d27 out: 0xffffffffdb8d7d27
+dmtc1, mov.d, dmfc1 :: mem: 0x185b88e0db8d7d27 out: 0x185b88e0db8d7d27
+mtc1, mov.s, mfc1 :: mem: 0x2056cd3a out: 0x2056cd3a
+dmtc1, mov.d, dmfc1 :: mem: 0x2056cd3a out: 0x2056cd3a
+mtc1, mov.s, mfc1 :: mem: 0x255a4cd22fd61b91 out: 0x2fd61b91
+dmtc1, mov.d, dmfc1 :: mem: 0x255a4cd22fd61b91 out: 0x255a4cd22fd61b91
+mtc1, mov.s, mfc1 :: mem: 0x2d15ebe3 out: 0x2d15ebe3
+dmtc1, mov.d, dmfc1 :: mem: 0x2d15ebe3 out: 0x2d15ebe3
+mtc1, mov.s, mfc1 :: mem: 0x1048d589a4363f7b out: 0xffffffffa4363f7b
+dmtc1, mov.d, dmfc1 :: mem: 0x1048d589a4363f7b out: 0x1048d589a4363f7b
+mtc1, mov.s, mfc1 :: mem: 0x29d4f654 out: 0x29d4f654
+dmtc1, mov.d, dmfc1 :: mem: 0x29d4f654 out: 0x29d4f654
+mtc1, mov.s, mfc1 :: mem: 0x6a6d5708f4605790 out: 0xfffffffff4605790
+dmtc1, mov.d, dmfc1 :: mem: 0x6a6d5708f4605790 out: 0x6a6d5708f4605790
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc5a92679 out: 0xffffffffc5a92679
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc5a92679 out: 0xffffffffc5a92679
+mtc1, mov.s, mfc1 :: mem: 0xd58ecbabde35697f out: 0xffffffffde35697f
+dmtc1, mov.d, dmfc1 :: mem: 0xd58ecbabde35697f out: 0xd58ecbabde35697f
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc1683bce out: 0xffffffffc1683bce
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc1683bce out: 0xffffffffc1683bce
+mtc1, mov.s, mfc1 :: mem: 0x575548fd08c0a5f1 out: 0x8c0a5f1
+dmtc1, mov.d, dmfc1 :: mem: 0x575548fd08c0a5f1 out: 0x575548fd08c0a5f1
+mtc1, mov.s, mfc1 :: mem: 0xffffffffcc2b1d17 out: 0xffffffffcc2b1d17
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffcc2b1d17 out: 0xffffffffcc2b1d17
+mtc1, mov.s, mfc1 :: mem: 0x8bb640fb8ed98ddb out: 0xffffffff8ed98ddb
+dmtc1, mov.d, dmfc1 :: mem: 0x8bb640fb8ed98ddb out: 0x8bb640fb8ed98ddb
+mtc1, mov.s, mfc1 :: mem: 0xffffffffc8ea00a0 out: 0xffffffffc8ea00a0
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffc8ea00a0 out: 0xffffffffc8ea00a0
+mtc1, mov.s, mfc1 :: mem: 0xbe00d51eabc578cc out: 0xffffffffabc578cc
+dmtc1, mov.d, dmfc1 :: mem: 0xbe00d51eabc578cc out: 0xbe00d51eabc578cc
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd6ad50a5 out: 0xffffffffd6ad50a5
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd6ad50a5 out: 0xffffffffd6ad50a5
+mtc1, mov.s, mfc1 :: mem: 0x2f7e224a1c170ab2 out: 0x1c170ab2
+dmtc1, mov.d, dmfc1 :: mem: 0x2f7e224a1c170ab2 out: 0x2f7e224a1c170ab2
+mtc1, mov.s, mfc1 :: mem: 0xffffffffd26c4d12 out: 0xffffffffd26c4d12
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffd26c4d12 out: 0xffffffffd26c4d12
+mtc1, mov.s, mfc1 :: mem: 0xa978f12ca22256a7 out: 0xffffffffa22256a7
+dmtc1, mov.d, dmfc1 :: mem: 0xa978f12ca22256a7 out: 0xa978f12ca22256a7
+mtc1, mov.s, mfc1 :: mem: 0xffffffffdf2f6bcb out: 0xffffffffdf2f6bcb
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffdf2f6bcb out: 0xffffffffdf2f6bcb
+mtc1, mov.s, mfc1 :: mem: 0x9950a93b811ee02f out: 0xffffffff811ee02f
+dmtc1, mov.d, dmfc1 :: mem: 0x9950a93b811ee02f out: 0x9950a93b811ee02f
+mtc1, mov.s, mfc1 :: mem: 0xffffffffdbee767c out: 0xffffffffdbee767c
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffdbee767c out: 0xffffffffdbee767c
+mtc1, mov.s, mfc1 :: mem: 0xb44eea93c6796a0c out: 0xffffffffc6796a0c
+dmtc1, mov.d, dmfc1 :: mem: 0xb44eea93c6796a0c out: 0xb44eea93c6796a0c
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe3a1cbc1 out: 0xffffffffe3a1cbc1
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe3a1cbc1 out: 0xffffffffe3a1cbc1
+mtc1, mov.s, mfc1 :: mem: 0xfe71fca06c0eb657 out: 0x6c0eb657
+dmtc1, mov.d, dmfc1 :: mem: 0xfe71fca06c0eb657 out: 0xfe71fca06c0eb657
+mtc1, mov.s, mfc1 :: mem: 0xffffffffe760d676 out: 0xffffffffe760d676
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffe760d676 out: 0xffffffffe760d676
+mtc1, mov.s, mfc1 :: mem: 0x4ed6393df818af57 out: 0xfffffffff818af57
+dmtc1, mov.d, dmfc1 :: mem: 0x4ed6393df818af57 out: 0x4ed6393df818af57
+mtc1, mov.s, mfc1 :: mem: 0xffffffffea23f0af out: 0xffffffffea23f0af
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffea23f0af out: 0xffffffffea23f0af
+mtc1, mov.s, mfc1 :: mem: 0xf22e90200236770a out: 0x236770a
+dmtc1, mov.d, dmfc1 :: mem: 0xf22e90200236770a out: 0xf22e90200236770a
+mtc1, mov.s, mfc1 :: mem: 0xffffffffeee2ed18 out: 0xffffffffeee2ed18
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffeee2ed18 out: 0xffffffffeee2ed18
+mtc1, mov.s, mfc1 :: mem: 0x81efb6c7afd0c45d out: 0xffffffffafd0c45d
+dmtc1, mov.d, dmfc1 :: mem: 0x81efb6c7afd0c45d out: 0x81efb6c7afd0c45d
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff0a5bd1d out: 0xfffffffff0a5bd1d
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff0a5bd1d out: 0xfffffffff0a5bd1d
+mtc1, mov.s, mfc1 :: mem: 0xeed8f3518102315b out: 0xffffffff8102315b
+dmtc1, mov.d, dmfc1 :: mem: 0xeed8f3518102315b out: 0xeed8f3518102315b
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff464a0aa out: 0xfffffffff464a0aa
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff464a0aa out: 0xfffffffff464a0aa
+mtc1, mov.s, mfc1 :: mem: 0xadafefb9995efd5e out: 0xffffffff995efd5e
+dmtc1, mov.d, dmfc1 :: mem: 0xadafefb9995efd5e out: 0xadafefb9995efd5e
+mtc1, mov.s, mfc1 :: mem: 0xfffffffff9278673 out: 0xfffffffff9278673
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffff9278673 out: 0xfffffffff9278673
+mtc1, mov.s, mfc1 :: mem: 0x34061933eb253086 out: 0xffffffffeb253086
+dmtc1, mov.d, dmfc1 :: mem: 0x34061933eb253086 out: 0x34061933eb253086
+mtc1, mov.s, mfc1 :: mem: 0xfffffffffde69bc4 out: 0xfffffffffde69bc4
+dmtc1, mov.d, dmfc1 :: mem: 0xfffffffffde69bc4 out: 0xfffffffffde69bc4
+mtc1, mov.s, mfc1 :: mem: 0x1748da264b4c52bc out: 0x4b4c52bc
+dmtc1, mov.d, dmfc1 :: mem: 0x1748da264b4c52bc out: 0x1748da264b4c52bc
+mtc1, mov.s, mfc1 :: mem: 0xffffffff89b8fd09 out: 0xffffffff89b8fd09
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff89b8fd09 out: 0xffffffff89b8fd09
+mtc1, mov.s, mfc1 :: mem: 0x34fdfc9a9302be89 out: 0xffffffff9302be89
+dmtc1, mov.d, dmfc1 :: mem: 0x34fdfc9a9302be89 out: 0x34fdfc9a9302be89
+mtc1, mov.s, mfc1 :: mem: 0xffffffff8d79e0be out: 0xffffffff8d79e0be
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff8d79e0be out: 0xffffffff8d79e0be
+mtc1, mov.s, mfc1 :: mem: 0xd00278c3c521d180 out: 0xffffffffc521d180
+dmtc1, mov.d, dmfc1 :: mem: 0xd00278c3c521d180 out: 0xd00278c3c521d180
+mtc1, mov.s, mfc1 :: mem: 0xffffffff803ac667 out: 0xffffffff803ac667
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff803ac667 out: 0xffffffff803ac667
+mtc1, mov.s, mfc1 :: mem: 0xe90944a4c1d37a5d out: 0xffffffffc1d37a5d
+dmtc1, mov.d, dmfc1 :: mem: 0xe90944a4c1d37a5d out: 0xe90944a4c1d37a5d
+mtc1, mov.s, mfc1 :: mem: 0xffffffff84fbdbd0 out: 0xffffffff84fbdbd0
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff84fbdbd0 out: 0xffffffff84fbdbd0
+mtc1, mov.s, mfc1 :: mem: 0x65fd698fddef9839 out: 0xffffffffddef9839
+dmtc1, mov.d, dmfc1 :: mem: 0x65fd698fddef9839 out: 0x65fd698fddef9839
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9abc8bd5 out: 0xffffffff9abc8bd5
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9abc8bd5 out: 0xffffffff9abc8bd5
+mtc1, mov.s, mfc1 :: mem: 0xc49ee3ad81b5af52 out: 0xffffffff81b5af52
+dmtc1, mov.d, dmfc1 :: mem: 0xc49ee3ad81b5af52 out: 0xc49ee3ad81b5af52
+mtc1, mov.s, mfc1 :: mem: 0xffffffff9e7d9662 out: 0xffffffff9e7d9662
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff9e7d9662 out: 0xffffffff9e7d9662
+mtc1, mov.s, mfc1 :: mem: 0x7aa941e8bdb263e9 out: 0xffffffffbdb263e9
+dmtc1, mov.d, dmfc1 :: mem: 0x7aa941e8bdb263e9 out: 0x7aa941e8bdb263e9
+mtc1, mov.s, mfc1 :: mem: 0xffffffff933eb0bb out: 0xffffffff933eb0bb
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff933eb0bb out: 0xffffffff933eb0bb
+mtc1, mov.s, mfc1 :: mem: 0x372c209e42f3b58d out: 0x42f3b58d
+dmtc1, mov.d, dmfc1 :: mem: 0x372c209e42f3b58d out: 0x372c209e42f3b58d
+mtc1, mov.s, mfc1 :: mem: 0xffffffff97ffad0c out: 0xffffffff97ffad0c
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffff97ffad0c out: 0xffffffff97ffad0c
+mtc1, mov.s, mfc1 :: mem: 0x30f870b7e122a83b out: 0xffffffffe122a83b
+dmtc1, mov.d, dmfc1 :: mem: 0x30f870b7e122a83b out: 0x30f870b7e122a83b
+mtc1, mov.s, mfc1 :: mem: 0xffffffffafb010b1 out: 0xffffffffafb010b1
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffafb010b1 out: 0xffffffffafb010b1
+mtc1, mov.s, mfc1 :: mem: 0x9e02de4b678930ec out: 0x678930ec
+dmtc1, mov.d, dmfc1 :: mem: 0x9e02de4b678930ec out: 0x9e02de4b678930ec
+mtc1, mov.s, mfc1 :: mem: 0xffffffffab710d06 out: 0xffffffffab710d06
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffab710d06 out: 0xffffffffab710d06
+mtc1, mov.s, mfc1 :: mem: 0xcd61a8639826631e out: 0xffffffff9826631e
+dmtc1, mov.d, dmfc1 :: mem: 0xcd61a8639826631e out: 0xcd61a8639826631e
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa6322bdf out: 0xffffffffa6322bdf
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa6322bdf out: 0xffffffffa6322bdf
+mtc1, mov.s, mfc1 :: mem: 0xae87bc899a7bd3ca out: 0xffffffff9a7bd3ca
+dmtc1, mov.d, dmfc1 :: mem: 0xae87bc899a7bd3ca out: 0xae87bc899a7bd3ca
+mtc1, mov.s, mfc1 :: mem: 0xffffffffa2f33668 out: 0xffffffffa2f33668
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffa2f33668 out: 0xffffffffa2f33668
+mtc1, mov.s, mfc1 :: mem: 0x58ec644d6481af17 out: 0x6481af17
+dmtc1, mov.d, dmfc1 :: mem: 0x58ec644d6481af17 out: 0x58ec644d6481af17
+mtc1, mov.s, mfc1 :: mem: 0xffffffffbcb4666d out: 0xffffffffbcb4666d
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffbcb4666d out: 0xffffffffbcb4666d
+mtc1, mov.s, mfc1 :: mem: 0x680cce5fb236b666 out: 0xffffffffb236b666
+dmtc1, mov.d, dmfc1 :: mem: 0x680cce5fb236b666 out: 0x680cce5fb236b666
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb8757bda out: 0xffffffffb8757bda
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb8757bda out: 0xffffffffb8757bda
+mtc1, mov.s, mfc1 :: mem: 0x3baa99471f6d4d75 out: 0x1f6d4d75
+dmtc1, mov.d, dmfc1 :: mem: 0x3baa99471f6d4d75 out: 0x3baa99471f6d4d75
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb5365d03 out: 0xffffffffb5365d03
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb5365d03 out: 0xffffffffb5365d03
+mtc1, mov.s, mfc1 :: mem: 0x614d9b445f12236b out: 0x5f12236b
+dmtc1, mov.d, dmfc1 :: mem: 0x614d9b445f12236b out: 0x614d9b445f12236b
+mtc1, mov.s, mfc1 :: mem: 0xffffffffb1f740b4 out: 0xffffffffb1f740b4
+dmtc1, mov.d, dmfc1 :: mem: 0xffffffffb1f740b4 out: 0xffffffffb1f740b4
+mtc1, mov.s, mfc1 :: mem: 0xa2a6ec661ba84121 out: 0x1ba84121
+dmtc1, mov.d, dmfc1 :: mem: 0xa2a6ec661ba84121 out: 0xa2a6ec661ba84121
+--- MOVF.S ---
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.s  $f4, $f6, $fcc0 :: out: 0xc8a9da0f, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0xbf800000, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0x44db0000, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0x322bcc77, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0x44ad1333, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0x4e6e6b28, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0xc8a9da0f, cc: 0
+movf.s  $f4, $f6, $fcc0 :: out: 0xbf800000, cc: 0
+--- MOVF.D ---
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 1
+movf.d  $f4, $f6, $fcc0 :: out: 0x48add9f2c8a9da0f, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0x41b851ecbf800000, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0x3b210e0244db0000, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0xc872bcb1322bcc77, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0xc0e96d1944ad1333, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0xc5b4d3c34e6e6b28, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0x48add9f2c8a9da0f, cc: 0
+movf.d  $f4, $f6, $fcc0 :: out: 0x41b851ecbf800000, cc: 0
+--- MOVN.S ---
+movn.s  $f0, $f2, $11 :: out: 0x0
+movn.s  $f0, $f2, $11 :: out: 0xc8a9da0f
+movn.s  $f0, $f2, $11 :: out: 0xbf800000
+movn.s  $f0, $f2, $11 :: out: 0x44db0000
+movn.s  $f0, $f2, $11 :: out: 0x44db0000
+movn.s  $f0, $f2, $11 :: out: 0x0
+movn.s  $f0, $f2, $11 :: out: 0x0
+movn.s  $f0, $f2, $11 :: out: 0x44ad1333
+movn.s  $f0, $f2, $11 :: out: 0x44ad1333
+movn.s  $f0, $f2, $11 :: out: 0x4e6e6b28
+movn.s  $f0, $f2, $11 :: out: 0x4e6e6b28
+movn.s  $f0, $f2, $11 :: out: 0x0
+movn.s  $f0, $f2, $11 :: out: 0x0
+movn.s  $f0, $f2, $11 :: out: 0xbf800000
+movn.s  $f0, $f2, $11 :: out: 0xbf800000
+movn.s  $f0, $f2, $11 :: out: 0x0
+--- MOVN.D ---
+movn.d $f0, $f2, $11 :: out: 0x0
+movn.d $f0, $f2, $11 :: out: 0x48add9f2c8a9da0f
+movn.d $f0, $f2, $11 :: out: 0x41b851ecbf800000
+movn.d $f0, $f2, $11 :: out: 0x41b851ecbf800000
+movn.d $f0, $f2, $11 :: out: 0x3b210e0244db0000
+movn.d $f0, $f2, $11 :: out: 0x0
+movn.d $f0, $f2, $11 :: out: 0x0
+movn.d $f0, $f2, $11 :: out: 0xc0e96d1944ad1333
+movn.d $f0, $f2, $11 :: out: 0xc0e96d1944ad1333
+movn.d $f0, $f2, $11 :: out: 0xc5b4d3c34e6e6b28
+movn.d $f0, $f2, $11 :: out: 0xc5b4d3c34e6e6b28
+movn.d $f0, $f2, $11 :: out: 0x0
+movn.d $f0, $f2, $11 :: out: 0x0
+movn.d $f0, $f2, $11 :: out: 0x41b851ecbf800000
+movn.d $f0, $f2, $11 :: out: 0x41b851ecbf800000
+movn.d $f0, $f2, $11 :: out: 0x43e41fde00000000
+--- MOVT.S ---
+movt.s  $f4, $f6, $fcc0 :: out: 0xc8a9da0f, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0xc8a9da0f, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0xbf800000, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0x44db0000, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0x322bcc77, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0x44ad1333, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0x4e6e6b28, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0xc8a9da0f, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0xbf800000, cc: 1
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.s  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+--- MOVT.D ---
+movt.d  $f4, $f6, $fcc0 :: out: 0x48add9f2c8a9da0f, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0x48add9f2c8a9da0f, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0x41b851ecbf800000, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0x3b210e0244db0000, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0xc872bcb1322bcc77, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0xc0e96d1944ad1333, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0xc5b4d3c34e6e6b28, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0x48add9f2c8a9da0f, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0x41b851ecbf800000, cc: 1
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+movt.d  $f4, $f6, $fcc0 :: out: 0x0, cc: 0
+--- MOVZ.S ---
+movz.s $f0, $f2, $11 :: out: 0xc8a9da0f
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x322bcc77
+movz.s $f0, $f2, $11 :: out: 0x322bcc77
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0xc8a9da0f
+movz.s $f0, $f2, $11 :: out: 0xc8a9da0f
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+movz.s $f0, $f2, $11 :: out: 0x0
+--- MOVZ.D ---
+movz.d $f0, $f2, $11 :: out: 0x48add9f2c8a9da0f
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0xc872bcb1322bcc77
+movz.d $f0, $f2, $11 :: out: 0xc872bcb1322bcc77
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x48add9f2c8a9da0f
+movz.d $f0, $f2, $11 :: out: 0x48add9f2c8a9da0f
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+movz.d $f0, $f2, $11 :: out: 0x0
+--- MOVF --- if FPConditionalCode(cc) == 0 then out = RSval else out = RDval
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffffaaaaaaaa
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffccccffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffffffaaaa
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xaaaaaaaa, RSval: 0x80000000, out: 0xffffffff80000000
+movf ::  RDval: 0xccccffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movf ::  RDval: 0xffffaaaa, RSval: 0xaaaaffff, out: 0xffffffffaaaaffff
+movf ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+--- MOVT --- if FPConditionalCode(cc) == 1 then out = RSval else out = RDval
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0xffffffffffffffff
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0xffffffffeeeeffff
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0xffffffffffffffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffffffeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
+movt ::  RDval: 0x0, RSval: 0xffffffff, out: 0x0
+movt ::  RDval: 0x11111111, RSval: 0xeeeeffff, out: 0x11111111
+movt ::  RDval: 0x5555ffff, RSval: 0xffffffff, out: 0x5555ffff
+movt ::  RDval: 0xeeeeeeee, RSval: 0xffffeeee, out: 0xffffffffeeeeeeee
diff --git a/none/tests/mips64/move_instructions.vgtest b/none/tests/mips64/move_instructions.vgtest
new file mode 100644
index 0000000..c6cc57b
--- /dev/null
+++ b/none/tests/mips64/move_instructions.vgtest
@@ -0,0 +1,2 @@
+prog: move_instructions
+vgopts: -q
diff --git a/none/tests/mips64/rotate_swap.c b/none/tests/mips64/rotate_swap.c
new file mode 100644
index 0000000..6d983b7
--- /dev/null
+++ b/none/tests/mips64/rotate_swap.c
@@ -0,0 +1,192 @@
+#include <stdio.h>
+
+#define TESTINST_DROTR(instruction, in, SA)        \
+{                                                  \
+   unsigned long long out;                         \
+   __asm__ __volatile__(                           \
+      "move        $t0, $zero"     "\n\t"          \
+      "move        $t1, %1"        "\n\t"          \
+      instruction" $t0, $t1, "#SA  "\n\t"          \
+      "move        %0,  $t0"       "\n\t"          \
+      : "=r" (out)                                 \
+      : "r" (in)                                   \
+      : "t0", "t1"                                 \
+   );                                              \
+   printf("%s :: in 0x%llx, out 0x%llx, SA %d\n",  \
+          instruction, (long long) in, out, SA);   \
+}
+
+#define TESTINST_DROTRV(instruction, in, SA)       \
+{                                                  \
+   unsigned long long out;                         \
+   __asm__ __volatile__(                           \
+      "move        $t0, $zero"     "\n\t"          \
+      "move        $t1, %1"        "\n\t"          \
+      "move        $t2, %2"        "\n\t"          \
+      instruction" $t0, $t1, $t2"  "\n\t"          \
+      "move        %0,  $t0"       "\n\t"          \
+      : "=r" (out)                                 \
+      : "r" (in), "r" (SA)                         \
+      : "t0", "t1", "t2"                           \
+   );                                              \
+   printf("%s :: in 0x%llx, out 0x%llx, SA %d\n",  \
+          instruction, (long long) in, out, SA);   \
+}
+
+#define TESTINST_DSWAP(instruction, in)       \
+{                                             \
+   unsigned long long out;                    \
+   __asm__ __volatile__(                      \
+      "move        $t0, $0"   "\n\t"          \
+      "move        $t1, $0"   "\n\t"          \
+      "move        $t1, %1"   "\n\t"          \
+      instruction" $t0, $t1"  "\n\t"          \
+      "move        %0,  $t0"  "\n\t"          \
+      : "=r" (out)                            \
+      : "r" (in)                              \
+      : "t0", "t1"                            \
+   );                                         \
+   printf("%s :: in 0x%llx, out 0x%llx\n",    \
+          instruction, (long long) in, out);  \
+}
+
+int main()
+{
+#if (__mips == 64) && (__mips_isa_rev >= 2)
+   printf("--- DROTR ---\n");
+   TESTINST_DROTR("drotr", 0x2000ffffffffffff, 16);
+   TESTINST_DROTR("drotr", 0xffff0000ffffffff, 16);
+   TESTINST_DROTR("drotr", 0x2000ffffffffffff, 8);
+   TESTINST_DROTR("drotr", 0x2000ffffffffffff, 4);
+   TESTINST_DROTR("drotr", 0x2000ffffffffffff, 5);
+   TESTINST_DROTR("drotr", 0x31415927ffffffff, 10);
+   TESTINST_DROTR("drotr", 0x2000ffffffffffff, 4);
+   TESTINST_DROTR("drotr", 0x2000ffffffffffff, 0);
+   TESTINST_DROTR("drotr", 0xeeeeffffffffffff, 16);
+   TESTINST_DROTR("drotr", 0x2000ffffffffbbbb, 31);
+   TESTINST_DROTR("drotr", 0x2000ffffffffffff, 16);
+   TESTINST_DROTR("drotr", 0x2000ffffffffffff, 0);
+   TESTINST_DROTR("drotr", 0x7fffffffffffffff, 16);
+   TESTINST_DROTR("drotr", 0x2000ffffffffffff, 2);
+   TESTINST_DROTR("drotr", 0x2000ffffffffffff, 24);
+   TESTINST_DROTR("drotr", 0xfffffff31415927f, 16);
+   TESTINST_DROTR("drotr", 0xffffffffffff0008, 3);
+   TESTINST_DROTR("drotr", 0xffff0000ffffffff, 16);
+   TESTINST_DROTR("drotr", 0xff0000ffffffffff, 16);
+   TESTINST_DROTR("drotr", 0xfffffffff0000fff, 16);
+
+   printf("--- DROTR32 ---\n");
+   TESTINST_DROTR("drotr32", 0x2000ffffffffffff, 16);
+   TESTINST_DROTR("drotr32", 0xffff0000ffffffff, 16);
+   TESTINST_DROTR("drotr32", 0x2000ffffffffffff, 8);
+   TESTINST_DROTR("drotr32", 0x2000ffffffffffff, 4);
+   TESTINST_DROTR("drotr32", 0x2000ffffffffffff, 5);
+   TESTINST_DROTR("drotr32", 0x31415927ffffffff, 10);
+   TESTINST_DROTR("drotr32", 0x2000ffffffffffff, 4);
+   TESTINST_DROTR("drotr32", 0x2000ffffffffffff, 0);
+   TESTINST_DROTR("drotr32", 0xeeeeffffffffffff, 16);
+   TESTINST_DROTR("drotr32", 0x2000ffffffffffff, 31);
+   TESTINST_DROTR("drotr32", 0x2000ffffffffbbbb, 16);
+   TESTINST_DROTR("drotr32", 0x2000ffffffffffff, 0);
+   TESTINST_DROTR("drotr32", 0x7fffffffffffffff, 16);
+   TESTINST_DROTR("drotr32", 0x2000ffffffffffff, 2);
+   TESTINST_DROTR("drotr32", 0x2000ffffffffffff, 24);
+   TESTINST_DROTR("drotr32", 0xfffffff31415927f, 16);
+   TESTINST_DROTR("drotr32", 0xffffffffffff0008, 3);
+   TESTINST_DROTR("drotr32", 0xffff0000ffffffff, 16);
+   TESTINST_DROTR("drotr32", 0xff0000ffffffffff, 16);
+   TESTINST_DROTR("drotr32", 0xfffffffff0000fff, 16);
+
+   printf("--- DROTRV ---\n");
+   TESTINST_DROTRV("drotrv", 0x2000ffffffffffff, 16);
+   TESTINST_DROTRV("drotrv", 0xffff0000ffffffff, 16);
+   TESTINST_DROTRV("drotrv", 0x2000ffffffffffff, 8);
+   TESTINST_DROTRV("drotrv", 0x2000ffffffffffff, 4);
+   TESTINST_DROTRV("drotrv", 0x2000ffffffffffff, 5);
+   TESTINST_DROTRV("drotrv", 0x31415927ffffffff, 10);
+   TESTINST_DROTRV("drotrv", 0x2000ffffffffffff, 4);
+   TESTINST_DROTRV("drotrv", 0x2000ffffffffffff, 0);
+   TESTINST_DROTRV("drotrv", 0xeeeeffffffffffff, 16);
+   TESTINST_DROTRV("drotrv", 0x2000ffffffffffff, 31);
+   TESTINST_DROTRV("drotrv", 0x2000ffffffffbbbb, 16);
+   TESTINST_DROTRV("drotrv", 0x2000ffffffffffff, 0);
+   TESTINST_DROTRV("drotrv", 0x7fffffffffffffff, 16);
+   TESTINST_DROTRV("drotrv", 0x2000ffffffffffff, 2);
+   TESTINST_DROTRV("drotrv", 0x2000ffffffffffff, 24);
+   TESTINST_DROTRV("drotrv", 0xfffffff31415927f, 16);
+   TESTINST_DROTRV("drotrv", 0xffffffffffff0008, 3);
+   TESTINST_DROTRV("drotrv", 0xffff0000ffffffff, 16);
+   TESTINST_DROTRV("drotrv", 0xff0000ffffffffff, 16);
+   TESTINST_DROTRV("drotrv", 0xfffffffff0000fff, 16);
+
+   printf("--- DSBH ---\n");
+   TESTINST_DSWAP("dsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("dsbh", 0xffff0000ffffffff);
+   TESTINST_DSWAP("dsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("dsbh", 0x2000ffffeeeeffff);
+   TESTINST_DSWAP("dsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("dsbh", 0x31415927ffffffff);
+   TESTINST_DSWAP("dsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("dsbh", 0x2000ffffffccccff);
+   TESTINST_DSWAP("dsbh", 0xeeeeffffffffffff);
+   TESTINST_DSWAP("dsbh", 0x2000ffff0000ffff);
+   TESTINST_DSWAP("dsbh", 0x2000ffffffffbbbb);
+   TESTINST_DSWAP("dsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("dsbh", 0x7fffffff5555ffff);
+   TESTINST_DSWAP("dsbh", 0x2000ffffff123123);
+   TESTINST_DSWAP("dsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("dsbh", 0xfffffff31415927f);
+   TESTINST_DSWAP("dsbh", 0xffffffffffff0008);
+   TESTINST_DSWAP("dsbh", 0xffff0000ffff88ff);
+   TESTINST_DSWAP("dsbh", 0xff0000ffffffffff);
+   TESTINST_DSWAP("dsbh", 0xfff10ffff0000fff);
+
+   printf("--- DSHD ---\n");
+   TESTINST_DSWAP("dshd", 0x2002ffffffffffff);
+   TESTINST_DSWAP("dshd", 0xffff0000ffffffff);
+   TESTINST_DSWAP("dshd", 0x2000ffffffffffff);
+   TESTINST_DSWAP("dshd", 0x2000ffffffddddff);
+   TESTINST_DSWAP("dshd", 0x2000ffffffffeeee);
+   TESTINST_DSWAP("dshd", 0x31415927ffffffff);
+   TESTINST_DSWAP("dshd", 0x2000ffffffffaaaa);
+   TESTINST_DSWAP("dshd", 0x2000ffffffbbbbff);
+   TESTINST_DSWAP("dshd", 0xeeeeff33ff22ffff);
+   TESTINST_DSWAP("dshd", 0x2000ffffffffffff);
+   TESTINST_DSWAP("dshd", 0x2000ffffffffbbbb);
+   TESTINST_DSWAP("dshd", 0x2000ffffffffffff);
+   TESTINST_DSWAP("dshd", 0x7fffffffddddffff);
+   TESTINST_DSWAP("dshd", 0x2000ffffffff2222);
+   TESTINST_DSWAP("dshd", 0x2000ffffffffffff);
+   TESTINST_DSWAP("dshd", 0xfffffff31415927f);
+   TESTINST_DSWAP("dshd", 0xffffffffffff0008);
+   TESTINST_DSWAP("dshd", 0xffff0000ffffffff);
+   TESTINST_DSWAP("dshd", 0xff0000ffffffffff);
+   TESTINST_DSWAP("dshd", 0xfffffffff0000fff);
+
+   printf("--- WSBH ---\n");
+   TESTINST_DSWAP("wsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("wsbh", 0xffff0000ffffffff);
+   TESTINST_DSWAP("wsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("wsbh", 0x2000ffffeeeeffff);
+   TESTINST_DSWAP("wsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("wsbh", 0x31415927ffffffff);
+   TESTINST_DSWAP("wsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("wsbh", 0x2000ffffffccccff);
+   TESTINST_DSWAP("wsbh", 0xeeeeffffffffffff);
+   TESTINST_DSWAP("wsbh", 0x2000ffff0000ffff);
+   TESTINST_DSWAP("wsbh", 0x2000ffffffffbbbb);
+   TESTINST_DSWAP("wsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("wsbh", 0x7fffffff5555ffff);
+   TESTINST_DSWAP("wsbh", 0x2000ffffff123123);
+   TESTINST_DSWAP("wsbh", 0x2000ffffffffffff);
+   TESTINST_DSWAP("wsbh", 0xfffffff31415927f);
+   TESTINST_DSWAP("wsbh", 0xffffffffffff0008);
+   TESTINST_DSWAP("wsbh", 0xffff0000ffff88ff);
+   TESTINST_DSWAP("wsbh", 0xff0000ffffffffff);
+   TESTINST_DSWAP("wsbh", 0xfff10ffff0000fff);
+#else
+   printf("This test is testing mips64r2 instructions.\n");
+#endif
+
+   return 0;
+}
diff --git a/none/tests/mips64/rotate_swap.stderr.exp b/none/tests/mips64/rotate_swap.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/rotate_swap.stderr.exp
diff --git a/none/tests/mips64/rotate_swap.stdout.exp-mips64 b/none/tests/mips64/rotate_swap.stdout.exp-mips64
new file mode 100644
index 0000000..4ea1f29
--- /dev/null
+++ b/none/tests/mips64/rotate_swap.stdout.exp-mips64
@@ -0,0 +1 @@
+This test is testing mips64r2 instructions.
diff --git a/none/tests/mips64/rotate_swap.stdout.exp-mips64r2 b/none/tests/mips64/rotate_swap.stdout.exp-mips64r2
new file mode 100644
index 0000000..3547888
--- /dev/null
+++ b/none/tests/mips64/rotate_swap.stdout.exp-mips64r2
@@ -0,0 +1,126 @@
+--- DROTR ---
+drotr :: in 0x2000ffffffffffff, out 0xffff2000ffffffff, SA 16
+drotr :: in 0xffff0000ffffffff, out 0xffffffff0000ffff, SA 16
+drotr :: in 0x2000ffffffffffff, out 0xff2000ffffffffff, SA 8
+drotr :: in 0x2000ffffffffffff, out 0xf2000fffffffffff, SA 4
+drotr :: in 0x2000ffffffffffff, out 0xf90007ffffffffff, SA 5
+drotr :: in 0x31415927ffffffff, out 0xffcc505649ffffff, SA 10
+drotr :: in 0x2000ffffffffffff, out 0xf2000fffffffffff, SA 4
+drotr :: in 0x2000ffffffffffff, out 0x2000ffffffffffff, SA 0
+drotr :: in 0xeeeeffffffffffff, out 0xffffeeeeffffffff, SA 16
+drotr :: in 0x2000ffffffffbbbb, out 0xffff77764001ffff, SA 31
+drotr :: in 0x2000ffffffffffff, out 0xffff2000ffffffff, SA 16
+drotr :: in 0x2000ffffffffffff, out 0x2000ffffffffffff, SA 0
+drotr :: in 0x7fffffffffffffff, out 0xffff7fffffffffff, SA 16
+drotr :: in 0x2000ffffffffffff, out 0xc8003fffffffffff, SA 2
+drotr :: in 0x2000ffffffffffff, out 0xffffff2000ffffff, SA 24
+drotr :: in 0xfffffff31415927f, out 0x927ffffffff31415, SA 16
+drotr :: in 0xffffffffffff0008, out 0x1fffffffffffe001, SA 3
+drotr :: in 0xffff0000ffffffff, out 0xffffffff0000ffff, SA 16
+drotr :: in 0xff0000ffffffffff, out 0xffffff0000ffffff, SA 16
+drotr :: in 0xfffffffff0000fff, out 0xffffffffffff000, SA 16
+--- DROTR32 ---
+drotr32 :: in 0x2000ffffffffffff, out 0xffffffffffff2000, SA 16
+drotr32 :: in 0xffff0000ffffffff, out 0xffffffffffff, SA 16
+drotr32 :: in 0x2000ffffffffffff, out 0xffffffffff2000ff, SA 8
+drotr32 :: in 0x2000ffffffffffff, out 0xfffffffff2000fff, SA 4
+drotr32 :: in 0x2000ffffffffffff, out 0xfffffffff90007ff, SA 5
+drotr32 :: in 0x31415927ffffffff, out 0x49ffffffffcc5056, SA 10
+drotr32 :: in 0x2000ffffffffffff, out 0xfffffffff2000fff, SA 4
+drotr32 :: in 0x2000ffffffffffff, out 0xffffffff2000ffff, SA 0
+drotr32 :: in 0xeeeeffffffffffff, out 0xffffffffffffeeee, SA 16
+drotr32 :: in 0x2000ffffffffffff, out 0x4001fffffffffffe, SA 31
+drotr32 :: in 0x2000ffffffffbbbb, out 0xffffffffbbbb2000, SA 16
+drotr32 :: in 0x2000ffffffffffff, out 0xffffffff2000ffff, SA 0
+drotr32 :: in 0x7fffffffffffffff, out 0xffffffffffff7fff, SA 16
+drotr32 :: in 0x2000ffffffffffff, out 0xffffffffc8003fff, SA 2
+drotr32 :: in 0x2000ffffffffffff, out 0xffffffffffff20, SA 24
+drotr32 :: in 0xfffffff31415927f, out 0xfff31415927fffff, SA 16
+drotr32 :: in 0xffffffffffff0008, out 0xffffe0011fffffff, SA 3
+drotr32 :: in 0xffff0000ffffffff, out 0xffffffffffff, SA 16
+drotr32 :: in 0xff0000ffffffffff, out 0xffffffffffff00, SA 16
+drotr32 :: in 0xfffffffff0000fff, out 0xfffff0000fffffff, SA 16
+--- DROTRV ---
+drotrv :: in 0x2000ffffffffffff, out 0xffff2000ffffffff, SA 16
+drotrv :: in 0xffff0000ffffffff, out 0xffffffff0000ffff, SA 16
+drotrv :: in 0x2000ffffffffffff, out 0xff2000ffffffffff, SA 8
+drotrv :: in 0x2000ffffffffffff, out 0xf2000fffffffffff, SA 4
+drotrv :: in 0x2000ffffffffffff, out 0xf90007ffffffffff, SA 5
+drotrv :: in 0x31415927ffffffff, out 0xffcc505649ffffff, SA 10
+drotrv :: in 0x2000ffffffffffff, out 0xf2000fffffffffff, SA 4
+drotrv :: in 0x2000ffffffffffff, out 0x2000ffffffffffff, SA 0
+drotrv :: in 0xeeeeffffffffffff, out 0xffffeeeeffffffff, SA 16
+drotrv :: in 0x2000ffffffffffff, out 0xfffffffe4001ffff, SA 31
+drotrv :: in 0x2000ffffffffbbbb, out 0xbbbb2000ffffffff, SA 16
+drotrv :: in 0x2000ffffffffffff, out 0x2000ffffffffffff, SA 0
+drotrv :: in 0x7fffffffffffffff, out 0xffff7fffffffffff, SA 16
+drotrv :: in 0x2000ffffffffffff, out 0xc8003fffffffffff, SA 2
+drotrv :: in 0x2000ffffffffffff, out 0xffffff2000ffffff, SA 24
+drotrv :: in 0xfffffff31415927f, out 0x927ffffffff31415, SA 16
+drotrv :: in 0xffffffffffff0008, out 0x1fffffffffffe001, SA 3
+drotrv :: in 0xffff0000ffffffff, out 0xffffffff0000ffff, SA 16
+drotrv :: in 0xff0000ffffffffff, out 0xffffff0000ffffff, SA 16
+drotrv :: in 0xfffffffff0000fff, out 0xffffffffffff000, SA 16
+--- DSBH ---
+dsbh :: in 0x2000ffffffffffff, out 0x20ffffffffffff
+dsbh :: in 0xffff0000ffffffff, out 0xffff0000ffffffff
+dsbh :: in 0x2000ffffffffffff, out 0x20ffffffffffff
+dsbh :: in 0x2000ffffeeeeffff, out 0x20ffffeeeeffff
+dsbh :: in 0x2000ffffffffffff, out 0x20ffffffffffff
+dsbh :: in 0x31415927ffffffff, out 0x41312759ffffffff
+dsbh :: in 0x2000ffffffffffff, out 0x20ffffffffffff
+dsbh :: in 0x2000ffffffccccff, out 0x20ffffccffffcc
+dsbh :: in 0xeeeeffffffffffff, out 0xeeeeffffffffffff
+dsbh :: in 0x2000ffff0000ffff, out 0x20ffff0000ffff
+dsbh :: in 0x2000ffffffffbbbb, out 0x20ffffffffbbbb
+dsbh :: in 0x2000ffffffffffff, out 0x20ffffffffffff
+dsbh :: in 0x7fffffff5555ffff, out 0xff7fffff5555ffff
+dsbh :: in 0x2000ffffff123123, out 0x20ffff12ff2331
+dsbh :: in 0x2000ffffffffffff, out 0x20ffffffffffff
+dsbh :: in 0xfffffff31415927f, out 0xfffff3ff15147f92
+dsbh :: in 0xffffffffffff0008, out 0xffffffffffff0800
+dsbh :: in 0xffff0000ffff88ff, out 0xffff0000ffffff88
+dsbh :: in 0xff0000ffffffffff, out 0xffff00ffffffff
+dsbh :: in 0xfff10ffff0000fff, out 0xf1ffff0f00f0ff0f
+--- DSHD ---
+dshd :: in 0x2002ffffffffffff, out 0xffffffffffff2002
+dshd :: in 0xffff0000ffffffff, out 0xffffffff0000ffff
+dshd :: in 0x2000ffffffffffff, out 0xffffffffffff2000
+dshd :: in 0x2000ffffffddddff, out 0xddffffddffff2000
+dshd :: in 0x2000ffffffffeeee, out 0xeeeeffffffff2000
+dshd :: in 0x31415927ffffffff, out 0xffffffff59273141
+dshd :: in 0x2000ffffffffaaaa, out 0xaaaaffffffff2000
+dshd :: in 0x2000ffffffbbbbff, out 0xbbffffbbffff2000
+dshd :: in 0xeeeeff33ff22ffff, out 0xffffff22ff33eeee
+dshd :: in 0x2000ffffffffffff, out 0xffffffffffff2000
+dshd :: in 0x2000ffffffffbbbb, out 0xbbbbffffffff2000
+dshd :: in 0x2000ffffffffffff, out 0xffffffffffff2000
+dshd :: in 0x7fffffffddddffff, out 0xffffddddffff7fff
+dshd :: in 0x2000ffffffff2222, out 0x2222ffffffff2000
+dshd :: in 0x2000ffffffffffff, out 0xffffffffffff2000
+dshd :: in 0xfffffff31415927f, out 0x927f1415fff3ffff
+dshd :: in 0xffffffffffff0008, out 0x8ffffffffffff
+dshd :: in 0xffff0000ffffffff, out 0xffffffff0000ffff
+dshd :: in 0xff0000ffffffffff, out 0xffffffff00ffff00
+dshd :: in 0xfffffffff0000fff, out 0xffff000ffffffff
+--- WSBH ---
+wsbh :: in 0x2000ffffffffffff, out 0xffffffffffffffff
+wsbh :: in 0xffff0000ffffffff, out 0xffffffffffffffff
+wsbh :: in 0x2000ffffffffffff, out 0xffffffffffffffff
+wsbh :: in 0x2000ffffeeeeffff, out 0xffffffffeeeeffff
+wsbh :: in 0x2000ffffffffffff, out 0xffffffffffffffff
+wsbh :: in 0x31415927ffffffff, out 0xffffffffffffffff
+wsbh :: in 0x2000ffffffffffff, out 0xffffffffffffffff
+wsbh :: in 0x2000ffffffccccff, out 0xffffffffccffffcc
+wsbh :: in 0xeeeeffffffffffff, out 0xffffffffffffffff
+wsbh :: in 0x2000ffff0000ffff, out 0xffff
+wsbh :: in 0x2000ffffffffbbbb, out 0xffffffffffffbbbb
+wsbh :: in 0x2000ffffffffffff, out 0xffffffffffffffff
+wsbh :: in 0x7fffffff5555ffff, out 0x5555ffff
+wsbh :: in 0x2000ffffff123123, out 0x12ff2331
+wsbh :: in 0x2000ffffffffffff, out 0xffffffffffffffff
+wsbh :: in 0xfffffff31415927f, out 0x15147f92
+wsbh :: in 0xffffffffffff0008, out 0xffffffffffff0800
+wsbh :: in 0xffff0000ffff88ff, out 0xffffffffffffff88
+wsbh :: in 0xff0000ffffffffff, out 0xffffffffffffffff
+wsbh :: in 0xfff10ffff0000fff, out 0xf0ff0f
diff --git a/none/tests/mips64/rotate_swap.vgtest b/none/tests/mips64/rotate_swap.vgtest
new file mode 100644
index 0000000..80a297e
--- /dev/null
+++ b/none/tests/mips64/rotate_swap.vgtest
@@ -0,0 +1,2 @@
+prog: rotate_swap
+vgopts: -q
diff --git a/none/tests/mips64/round.c b/none/tests/mips64/round.c
new file mode 100644
index 0000000..fc4e4f1
--- /dev/null
+++ b/none/tests/mips64/round.c
@@ -0,0 +1,163 @@
+#include <stdio.h>
+#include "rounding_mode.h"
+#include "macro_fpu.h"
+
+int directedRoundingMode(flt_dir_op_t op) {
+   int fd_w = 0;
+   long long int fd_l = 0;
+   int i;
+   for (i = 0; i < MAX_ARR; i++) {
+      switch(op) {
+         case CEILWS:
+              UNOPfw("ceil.w.s");
+              printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+              break;
+         case CEILWD:
+              UNOPdw("ceil.w.d");
+              printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+              break;
+         case FLOORWS:
+              UNOPfw("floor.w.s");
+              printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+              break;
+         case FLOORWD:
+              UNOPdw("floor.w.d");
+              printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+              break;
+         case ROUNDWS:
+              UNOPfw("round.w.s");
+              printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+              break;
+         case ROUNDWD:
+              UNOPdw("round.w.d");
+              printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+              break;
+         case TRUNCWS:
+              UNOPfw("trunc.w.s");
+              printf("%s %d %f\n", flt_dir_op_names[op], fd_w, fs_f[i]);
+              break;
+         case TRUNCWD:
+              UNOPdw("trunc.w.d");
+              printf("%s %d %lf\n", flt_dir_op_names[op], fd_w, fs_d[i]);
+              break;
+         case CEILLS:
+              UNOPsl("ceil.l.s");
+              printf("%s %lld %f\n", flt_dir_op_names[op], fd_l, fs_f[i]);
+              break;
+         case CEILLD:
+              UNOPdl("ceil.l.d");
+              printf("%s %lld %lf\n", flt_dir_op_names[op], fd_l, fs_d[i]);
+              break;
+         case FLOORLS:
+              UNOPsl("floor.l.s");
+              printf("%s %lld %f\n", flt_dir_op_names[op], fd_l, fs_f[i]);
+              break;
+         case FLOORLD:
+              UNOPdl("floor.l.d");
+              printf("%s %lld %lf\n", flt_dir_op_names[op], fd_l, fs_d[i]);
+              break;
+         case ROUNDLS:
+              UNOPsl("round.l.s");
+              printf("%s %lld %f\n", flt_dir_op_names[op], fd_l, fs_f[i]);
+              break;
+         case ROUNDLD:
+              UNOPdl("round.l.d");
+              printf("%s %lld %lf\n", flt_dir_op_names[op], fd_l, fs_d[i]);
+              break;
+         case TRUNCLS:
+              UNOPsl("trunc.l.s");
+              printf("%s %lld %f\n", flt_dir_op_names[op], fd_l, fs_f[i]);
+              break;
+         case TRUNCLD:
+              UNOPdl("trunc.l.d");
+              printf("%s %lld %lf\n", flt_dir_op_names[op], fd_l, fs_d[i]);
+              break;
+        default:
+            printf("error\n");
+            break;
+        }
+    }
+   return 0;
+}
+
+int FCSRRoundingMode(flt_round_op_t op1)
+{
+   double fd_d = 0;
+   float fd_f = 0;
+   int fd_w = 0;
+   long long int fd_l = 0;
+   int i;
+   round_mode_t rm;
+   for (rm = TO_NEAREST; rm <= TO_MINUS_INFINITY; rm ++) {
+      set_rounding_mode(rm);
+      printf("roundig mode: %s\n", round_mode_name[rm]);
+      for (i = 0; i < MAX_ARR; i++) {
+         set_rounding_mode(rm);
+         switch(op1) {
+            case CVTDS:
+                 UNOPfd("cvt.d.s");
+                 printf("%s %lf %lf\n", flt_round_op_names[op1], fd_d, fs_f[i]);
+                 break;
+            case CVTDW:
+                 UNOPwd("cvt.d.w");
+                 printf("%s %lf %d\n", flt_round_op_names[op1], fd_d, fs_w[i]);
+                 break;
+            case CVTSD:
+                 UNOPdf("cvt.s.d");
+                 printf("%s %f %lf\n", flt_round_op_names[op1], fd_f, fs_d[i]);
+                 break;
+            case CVTSW:
+                 UNOPwf("cvt.s.w");
+                 printf("%s %f %d\n", flt_round_op_names[op1], fd_f, fs_w[i]);
+                 break;
+            case CVTWS:
+                 UNOPfw("cvt.w.s");
+                 printf("%s %d %f\n", flt_round_op_names[op1], fd_w, fs_f[i]);
+                 break;
+            case CVTWD:
+                 UNOPdw("cvt.w.d");
+                 printf("%s %d %lf\n", flt_round_op_names[op1], fd_w, fs_d[i]);
+                 break;
+            case CVTDL:
+                 UNOPld("cvt.d.l");
+                 printf("%s %lf %ld\n", flt_round_op_names[op1], fd_d, fs_l[i]);
+                 break;
+            case CVTLS:
+                 UNOPsl("cvt.l.s");
+                 printf("%s %lld %f\n", flt_round_op_names[op1], fd_l, fs_f[i]);
+                 break;
+            case CVTLD:
+                 UNOPdl("cvt.l.d");
+                 printf("%s %lld %lf\n", flt_round_op_names[op1], fd_l, fs_d[i]);
+                 break;
+            case CVTSL:
+                 UNOPls("cvt.s.l");
+                 printf("%s %f %ld\n", flt_round_op_names[op1], fd_f, fs_l[i]);
+                 break;
+            default:
+                 printf("error\n");
+                 break;
+         }
+      }
+   }
+   return 0;
+}
+
+int main()
+{
+   flt_dir_op_t op;
+   flt_round_op_t op1;
+
+   printf("-------------------------- %s --------------------------\n",
+        "test FPU Conversion Operations Using a Directed Rounding Mode");
+   for (op = CEILWS; op <= TRUNCLS; op++) {
+      directedRoundingMode(op);
+   }
+
+   printf("-------------------------- %s --------------------------\n",
+        "test FPU Conversion Operations Using the FCSR Rounding Mode");
+   for (op1 = CVTDS; op1 <= CVTSL; op1++) {
+      FCSRRoundingMode(op1);
+   }
+   return 0;
+}
diff --git a/none/tests/mips64/round.stderr.exp b/none/tests/mips64/round.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/round.stderr.exp
diff --git a/none/tests/mips64/round.stdout.exp b/none/tests/mips64/round.stdout.exp
new file mode 100644
index 0000000..3ff1ad2
--- /dev/null
+++ b/none/tests/mips64/round.stdout.exp
@@ -0,0 +1,1362 @@
+-------------------------- test FPU Conversion Operations Using a Directed Rounding Mode --------------------------
+ceil.w.s 0 0.000000
+ceil.w.s 457 456.248962
+ceil.w.s 3 3.000000
+ceil.w.s -1 -1.000000
+ceil.w.s 1385 1384.599976
+ceil.w.s -7 -7.294568
+ceil.w.s 1000000000 1000000000.000000
+ceil.w.s -5786 -5786.470215
+ceil.w.s 1752 1752.000000
+ceil.w.s 1 0.002457
+ceil.w.s 1 0.123400
+ceil.w.s -248562 -248562.765625
+ceil.w.s -45786 -45786.476562
+ceil.w.s 457 456.248962
+ceil.w.s 35 34.000462
+ceil.w.s 45787 45786.476562
+ceil.w.s 1752065 1752065.000000
+ceil.w.s 107 107.000000
+ceil.w.s -45667 -45667.238281
+ceil.w.s -7 -7.294568
+ceil.w.s -347856 -347856.468750
+ceil.w.s 356048 356047.562500
+ceil.w.s -1 -1.000000
+ceil.w.s 24 23.040001
+ceil.w.d 0 0.000000
+ceil.w.d 457 456.248956
+ceil.w.d 3 3.000000
+ceil.w.d -1 -1.000000
+ceil.w.d 1385 1384.600000
+ceil.w.d -7 -7.294568
+ceil.w.d 1000000000 1000000000.000000
+ceil.w.d -5786 -5786.470000
+ceil.w.d 1752 1752.000000
+ceil.w.d 1 0.002458
+ceil.w.d 1 0.000000
+ceil.w.d -248562 -248562.760000
+ceil.w.d -45786 -45786.476000
+ceil.w.d 457 456.248956
+ceil.w.d 35 34.000460
+ceil.w.d 45787 45786.476000
+ceil.w.d 1752065 1752065.000000
+ceil.w.d 107 107.000000
+ceil.w.d -45667 -45667.240000
+ceil.w.d -7 -7.294568
+ceil.w.d -347856 -347856.475000
+ceil.w.d 356048 356047.560000
+ceil.w.d -1 -1.000000
+ceil.w.d 24 23.040000
+floor.w.s 0 0.000000
+floor.w.s 456 456.248962
+floor.w.s 3 3.000000
+floor.w.s -1 -1.000000
+floor.w.s 1384 1384.599976
+floor.w.s -8 -7.294568
+floor.w.s 1000000000 1000000000.000000
+floor.w.s -5787 -5786.470215
+floor.w.s 1752 1752.000000
+floor.w.s 0 0.002457
+floor.w.s 0 0.123400
+floor.w.s -248563 -248562.765625
+floor.w.s -45787 -45786.476562
+floor.w.s 456 456.248962
+floor.w.s 34 34.000462
+floor.w.s 45786 45786.476562
+floor.w.s 1752065 1752065.000000
+floor.w.s 107 107.000000
+floor.w.s -45668 -45667.238281
+floor.w.s -8 -7.294568
+floor.w.s -347857 -347856.468750
+floor.w.s 356047 356047.562500
+floor.w.s -1 -1.000000
+floor.w.s 23 23.040001
+floor.w.d 0 0.000000
+floor.w.d 456 456.248956
+floor.w.d 3 3.000000
+floor.w.d -1 -1.000000
+floor.w.d 1384 1384.600000
+floor.w.d -8 -7.294568
+floor.w.d 1000000000 1000000000.000000
+floor.w.d -5787 -5786.470000
+floor.w.d 1752 1752.000000
+floor.w.d 0 0.002458
+floor.w.d 0 0.000000
+floor.w.d -248563 -248562.760000
+floor.w.d -45787 -45786.476000
+floor.w.d 456 456.248956
+floor.w.d 34 34.000460
+floor.w.d 45786 45786.476000
+floor.w.d 1752065 1752065.000000
+floor.w.d 107 107.000000
+floor.w.d -45668 -45667.240000
+floor.w.d -8 -7.294568
+floor.w.d -347857 -347856.475000
+floor.w.d 356047 356047.560000
+floor.w.d -1 -1.000000
+floor.w.d 23 23.040000
+round.w.s 0 0.000000
+round.w.s 456 456.248962
+round.w.s 3 3.000000
+round.w.s -1 -1.000000
+round.w.s 1385 1384.599976
+round.w.s -7 -7.294568
+round.w.s 1000000000 1000000000.000000
+round.w.s -5786 -5786.470215
+round.w.s 1752 1752.000000
+round.w.s 0 0.002457
+round.w.s 0 0.123400
+round.w.s -248563 -248562.765625
+round.w.s -45786 -45786.476562
+round.w.s 456 456.248962
+round.w.s 34 34.000462
+round.w.s 45786 45786.476562
+round.w.s 1752065 1752065.000000
+round.w.s 107 107.000000
+round.w.s -45667 -45667.238281
+round.w.s -7 -7.294568
+round.w.s -347856 -347856.468750
+round.w.s 356048 356047.562500
+round.w.s -1 -1.000000
+round.w.s 23 23.040001
+round.w.d 0 0.000000
+round.w.d 456 456.248956
+round.w.d 3 3.000000
+round.w.d -1 -1.000000
+round.w.d 1385 1384.600000
+round.w.d -7 -7.294568
+round.w.d 1000000000 1000000000.000000
+round.w.d -5786 -5786.470000
+round.w.d 1752 1752.000000
+round.w.d 0 0.002458
+round.w.d 0 0.000000
+round.w.d -248563 -248562.760000
+round.w.d -45786 -45786.476000
+round.w.d 456 456.248956
+round.w.d 34 34.000460
+round.w.d 45786 45786.476000
+round.w.d 1752065 1752065.000000
+round.w.d 107 107.000000
+round.w.d -45667 -45667.240000
+round.w.d -7 -7.294568
+round.w.d -347856 -347856.475000
+round.w.d 356048 356047.560000
+round.w.d -1 -1.000000
+round.w.d 23 23.040000
+trunc.w.s 0 0.000000
+trunc.w.s 456 456.248962
+trunc.w.s 3 3.000000
+trunc.w.s -1 -1.000000
+trunc.w.s 1384 1384.599976
+trunc.w.s -7 -7.294568
+trunc.w.s 1000000000 1000000000.000000
+trunc.w.s -5786 -5786.470215
+trunc.w.s 1752 1752.000000
+trunc.w.s 0 0.002457
+trunc.w.s 0 0.123400
+trunc.w.s -248562 -248562.765625
+trunc.w.s -45786 -45786.476562
+trunc.w.s 456 456.248962
+trunc.w.s 34 34.000462
+trunc.w.s 45786 45786.476562
+trunc.w.s 1752065 1752065.000000
+trunc.w.s 107 107.000000
+trunc.w.s -45667 -45667.238281
+trunc.w.s -7 -7.294568
+trunc.w.s -347856 -347856.468750
+trunc.w.s 356047 356047.562500
+trunc.w.s -1 -1.000000
+trunc.w.s 23 23.040001
+trunc.w.d 0 0.000000
+trunc.w.d 456 456.248956
+trunc.w.d 3 3.000000
+trunc.w.d -1 -1.000000
+trunc.w.d 1384 1384.600000
+trunc.w.d -7 -7.294568
+trunc.w.d 1000000000 1000000000.000000
+trunc.w.d -5786 -5786.470000
+trunc.w.d 1752 1752.000000
+trunc.w.d 0 0.002458
+trunc.w.d 0 0.000000
+trunc.w.d -248562 -248562.760000
+trunc.w.d -45786 -45786.476000
+trunc.w.d 456 456.248956
+trunc.w.d 34 34.000460
+trunc.w.d 45786 45786.476000
+trunc.w.d 1752065 1752065.000000
+trunc.w.d 107 107.000000
+trunc.w.d -45667 -45667.240000
+trunc.w.d -7 -7.294568
+trunc.w.d -347856 -347856.475000
+trunc.w.d 356047 356047.560000
+trunc.w.d -1 -1.000000
+trunc.w.d 23 23.040000
+ceil.l.s 0 0.000000
+ceil.l.s 457 456.248962
+ceil.l.s 3 3.000000
+ceil.l.s -1 -1.000000
+ceil.l.s 1385 1384.599976
+ceil.l.s -7 -7.294568
+ceil.l.s 1000000000 1000000000.000000
+ceil.l.s -5786 -5786.470215
+ceil.l.s 1752 1752.000000
+ceil.l.s 1 0.002457
+ceil.l.s 1 0.123400
+ceil.l.s -248562 -248562.765625
+ceil.l.s -45786 -45786.476562
+ceil.l.s 457 456.248962
+ceil.l.s 35 34.000462
+ceil.l.s 45787 45786.476562
+ceil.l.s 1752065 1752065.000000
+ceil.l.s 107 107.000000
+ceil.l.s -45667 -45667.238281
+ceil.l.s -7 -7.294568
+ceil.l.s -347856 -347856.468750
+ceil.l.s 356048 356047.562500
+ceil.l.s -1 -1.000000
+ceil.l.s 24 23.040001
+ceil.l.d 0 0.000000
+ceil.l.d 457 456.248956
+ceil.l.d 3 3.000000
+ceil.l.d -1 -1.000000
+ceil.l.d 1385 1384.600000
+ceil.l.d -7 -7.294568
+ceil.l.d 1000000000 1000000000.000000
+ceil.l.d -5786 -5786.470000
+ceil.l.d 1752 1752.000000
+ceil.l.d 1 0.002458
+ceil.l.d 1 0.000000
+ceil.l.d -248562 -248562.760000
+ceil.l.d -45786 -45786.476000
+ceil.l.d 457 456.248956
+ceil.l.d 35 34.000460
+ceil.l.d 45787 45786.476000
+ceil.l.d 1752065 1752065.000000
+ceil.l.d 107 107.000000
+ceil.l.d -45667 -45667.240000
+ceil.l.d -7 -7.294568
+ceil.l.d -347856 -347856.475000
+ceil.l.d 356048 356047.560000
+ceil.l.d -1 -1.000000
+ceil.l.d 24 23.040000
+floor.l.s 0 0.000000
+floor.l.s 456 456.248962
+floor.l.s 3 3.000000
+floor.l.s -1 -1.000000
+floor.l.s 1384 1384.599976
+floor.l.s -8 -7.294568
+floor.l.s 1000000000 1000000000.000000
+floor.l.s -5787 -5786.470215
+floor.l.s 1752 1752.000000
+floor.l.s 0 0.002457
+floor.l.s 0 0.123400
+floor.l.s -248563 -248562.765625
+floor.l.s -45787 -45786.476562
+floor.l.s 456 456.248962
+floor.l.s 34 34.000462
+floor.l.s 45786 45786.476562
+floor.l.s 1752065 1752065.000000
+floor.l.s 107 107.000000
+floor.l.s -45668 -45667.238281
+floor.l.s -8 -7.294568
+floor.l.s -347857 -347856.468750
+floor.l.s 356047 356047.562500
+floor.l.s -1 -1.000000
+floor.l.s 23 23.040001
+floor.l.d 0 0.000000
+floor.l.d 456 456.248956
+floor.l.d 3 3.000000
+floor.l.d -1 -1.000000
+floor.l.d 1384 1384.600000
+floor.l.d -8 -7.294568
+floor.l.d 1000000000 1000000000.000000
+floor.l.d -5787 -5786.470000
+floor.l.d 1752 1752.000000
+floor.l.d 0 0.002458
+floor.l.d 0 0.000000
+floor.l.d -248563 -248562.760000
+floor.l.d -45787 -45786.476000
+floor.l.d 456 456.248956
+floor.l.d 34 34.000460
+floor.l.d 45786 45786.476000
+floor.l.d 1752065 1752065.000000
+floor.l.d 107 107.000000
+floor.l.d -45668 -45667.240000
+floor.l.d -8 -7.294568
+floor.l.d -347857 -347856.475000
+floor.l.d 356047 356047.560000
+floor.l.d -1 -1.000000
+floor.l.d 23 23.040000
+round.l.s 0 0.000000
+round.l.s 456 456.248962
+round.l.s 3 3.000000
+round.l.s -1 -1.000000
+round.l.s 1385 1384.599976
+round.l.s -7 -7.294568
+round.l.s 1000000000 1000000000.000000
+round.l.s -5786 -5786.470215
+round.l.s 1752 1752.000000
+round.l.s 0 0.002457
+round.l.s 0 0.123400
+round.l.s -248563 -248562.765625
+round.l.s -45786 -45786.476562
+round.l.s 456 456.248962
+round.l.s 34 34.000462
+round.l.s 45786 45786.476562
+round.l.s 1752065 1752065.000000
+round.l.s 107 107.000000
+round.l.s -45667 -45667.238281
+round.l.s -7 -7.294568
+round.l.s -347856 -347856.468750
+round.l.s 356048 356047.562500
+round.l.s -1 -1.000000
+round.l.s 23 23.040001
+round.l.d 0 0.000000
+round.l.d 456 456.248956
+round.l.d 3 3.000000
+round.l.d -1 -1.000000
+round.l.d 1385 1384.600000
+round.l.d -7 -7.294568
+round.l.d 1000000000 1000000000.000000
+round.l.d -5786 -5786.470000
+round.l.d 1752 1752.000000
+round.l.d 0 0.002458
+round.l.d 0 0.000000
+round.l.d -248563 -248562.760000
+round.l.d -45786 -45786.476000
+round.l.d 456 456.248956
+round.l.d 34 34.000460
+round.l.d 45786 45786.476000
+round.l.d 1752065 1752065.000000
+round.l.d 107 107.000000
+round.l.d -45667 -45667.240000
+round.l.d -7 -7.294568
+round.l.d -347856 -347856.475000
+round.l.d 356048 356047.560000
+round.l.d -1 -1.000000
+round.l.d 23 23.040000
+trunc.l.s 0 0.000000
+trunc.l.s 456 456.248962
+trunc.l.s 3 3.000000
+trunc.l.s -1 -1.000000
+trunc.l.s 1384 1384.599976
+trunc.l.s -7 -7.294568
+trunc.l.s 1000000000 1000000000.000000
+trunc.l.s -5786 -5786.470215
+trunc.l.s 1752 1752.000000
+trunc.l.s 0 0.002457
+trunc.l.s 0 0.123400
+trunc.l.s -248562 -248562.765625
+trunc.l.s -45786 -45786.476562
+trunc.l.s 456 456.248962
+trunc.l.s 34 34.000462
+trunc.l.s 45786 45786.476562
+trunc.l.s 1752065 1752065.000000
+trunc.l.s 107 107.000000
+trunc.l.s -45667 -45667.238281
+trunc.l.s -7 -7.294568
+trunc.l.s -347856 -347856.468750
+trunc.l.s 356047 356047.562500
+trunc.l.s -1 -1.000000
+trunc.l.s 23 23.040001
+-------------------------- test FPU Conversion Operations Using the FCSR Rounding Mode --------------------------
+roundig mode: near
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.123400 0.123400
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: zero
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.123400 0.123400
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: +inf
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.123400 0.123400
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: -inf
+cvt.d.s 0.000000 0.000000
+cvt.d.s 456.248962 456.248962
+cvt.d.s 3.000000 3.000000
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 1384.599976 1384.599976
+cvt.d.s -7.294568 -7.294568
+cvt.d.s 1000000000.000000 1000000000.000000
+cvt.d.s -5786.470215 -5786.470215
+cvt.d.s 1752.000000 1752.000000
+cvt.d.s 0.002457 0.002457
+cvt.d.s 0.123400 0.123400
+cvt.d.s -248562.765625 -248562.765625
+cvt.d.s -45786.476562 -45786.476562
+cvt.d.s 456.248962 456.248962
+cvt.d.s 34.000462 34.000462
+cvt.d.s 45786.476562 45786.476562
+cvt.d.s 1752065.000000 1752065.000000
+cvt.d.s 107.000000 107.000000
+cvt.d.s -45667.238281 -45667.238281
+cvt.d.s -7.294568 -7.294568
+cvt.d.s -347856.468750 -347856.468750
+cvt.d.s 356047.562500 356047.562500
+cvt.d.s -1.000000 -1.000000
+cvt.d.s 23.040001 23.040001
+roundig mode: near
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: zero
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: +inf
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: -inf
+cvt.d.w 0.000000 0
+cvt.d.w 456.000000 456
+cvt.d.w 3.000000 3
+cvt.d.w -1.000000 -1
+cvt.d.w -1.000000 -1
+cvt.d.w 356.000000 356
+cvt.d.w 1000000000.000000 1000000000
+cvt.d.w -5786.000000 -5786
+cvt.d.w 1752.000000 1752
+cvt.d.w 24575.000000 24575
+cvt.d.w 10.000000 10
+cvt.d.w -248562.000000 -248562
+cvt.d.w -45786.000000 -45786
+cvt.d.w 456.000000 456
+cvt.d.w 34.000000 34
+cvt.d.w 45786.000000 45786
+cvt.d.w 1752065.000000 1752065
+cvt.d.w 107.000000 107
+cvt.d.w -45667.000000 -45667
+cvt.d.w -7.000000 -7
+cvt.d.w -347856.000000 -347856
+cvt.d.w -2147483648.000000 -2147483648
+cvt.d.w 268435455.000000 268435455
+cvt.d.w 23.000000 23
+roundig mode: near
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.599976 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.470215 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002457 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.765625 -248562.760000
+cvt.s.d -45786.476562 -45786.476000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 34.000462 34.000460
+cvt.s.d 45786.476562 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.238281 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.468750 -347856.475000
+cvt.s.d 356047.562500 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.040001 23.040000
+roundig mode: zero
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.599976 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.469727 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002457 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.750000 -248562.760000
+cvt.s.d -45786.472656 -45786.476000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 34.000458 34.000460
+cvt.s.d 45786.472656 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.238281 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.468750 -347856.475000
+cvt.s.d 356047.531250 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.039999 23.040000
+roundig mode: +inf
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.600098 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.469727 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002458 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.750000 -248562.760000
+cvt.s.d -45786.472656 -45786.476000
+cvt.s.d 456.248962 456.248956
+cvt.s.d 34.000462 34.000460
+cvt.s.d 45786.476562 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.238281 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.468750 -347856.475000
+cvt.s.d 356047.562500 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.040001 23.040000
+roundig mode: -inf
+cvt.s.d 0.000000 0.000000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 3.000000 3.000000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 1384.599976 1384.600000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d 1000000000.000000 1000000000.000000
+cvt.s.d -5786.470215 -5786.470000
+cvt.s.d 1752.000000 1752.000000
+cvt.s.d 0.002457 0.002458
+cvt.s.d 0.000000 0.000000
+cvt.s.d -248562.765625 -248562.760000
+cvt.s.d -45786.476562 -45786.476000
+cvt.s.d 456.248932 456.248956
+cvt.s.d 34.000458 34.000460
+cvt.s.d 45786.472656 45786.476000
+cvt.s.d 1752065.000000 1752065.000000
+cvt.s.d 107.000000 107.000000
+cvt.s.d -45667.242188 -45667.240000
+cvt.s.d -7.294568 -7.294568
+cvt.s.d -347856.500000 -347856.475000
+cvt.s.d 356047.531250 356047.560000
+cvt.s.d -1.000000 -1.000000
+cvt.s.d 23.039999 23.040000
+roundig mode: near
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435456.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: zero
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435440.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: +inf
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435456.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: -inf
+cvt.s.w 0.000000 0
+cvt.s.w 456.000000 456
+cvt.s.w 3.000000 3
+cvt.s.w -1.000000 -1
+cvt.s.w -1.000000 -1
+cvt.s.w 356.000000 356
+cvt.s.w 1000000000.000000 1000000000
+cvt.s.w -5786.000000 -5786
+cvt.s.w 1752.000000 1752
+cvt.s.w 24575.000000 24575
+cvt.s.w 10.000000 10
+cvt.s.w -248562.000000 -248562
+cvt.s.w -45786.000000 -45786
+cvt.s.w 456.000000 456
+cvt.s.w 34.000000 34
+cvt.s.w 45786.000000 45786
+cvt.s.w 1752065.000000 1752065
+cvt.s.w 107.000000 107
+cvt.s.w -45667.000000 -45667
+cvt.s.w -7.000000 -7
+cvt.s.w -347856.000000 -347856
+cvt.s.w -2147483648.000000 -2147483648
+cvt.s.w 268435440.000000 268435455
+cvt.s.w 23.000000 23
+roundig mode: near
+cvt.w.s 0 0.000000
+cvt.w.s 456 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1385 1384.599976
+cvt.w.s -7 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5786 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 0 0.002457
+cvt.w.s 0 0.123400
+cvt.w.s -248563 -248562.765625
+cvt.w.s -45786 -45786.476562
+cvt.w.s 456 456.248962
+cvt.w.s 34 34.000462
+cvt.w.s 45786 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45667 -45667.238281
+cvt.w.s -7 -7.294568
+cvt.w.s -347856 -347856.468750
+cvt.w.s 356048 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 23 23.040001
+roundig mode: zero
+cvt.w.s 0 0.000000
+cvt.w.s 456 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1384 1384.599976
+cvt.w.s -7 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5786 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 0 0.002457
+cvt.w.s 0 0.123400
+cvt.w.s -248562 -248562.765625
+cvt.w.s -45786 -45786.476562
+cvt.w.s 456 456.248962
+cvt.w.s 34 34.000462
+cvt.w.s 45786 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45667 -45667.238281
+cvt.w.s -7 -7.294568
+cvt.w.s -347856 -347856.468750
+cvt.w.s 356047 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 23 23.040001
+roundig mode: +inf
+cvt.w.s 0 0.000000
+cvt.w.s 457 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1385 1384.599976
+cvt.w.s -7 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5786 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 1 0.002457
+cvt.w.s 1 0.123400
+cvt.w.s -248562 -248562.765625
+cvt.w.s -45786 -45786.476562
+cvt.w.s 457 456.248962
+cvt.w.s 35 34.000462
+cvt.w.s 45787 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45667 -45667.238281
+cvt.w.s -7 -7.294568
+cvt.w.s -347856 -347856.468750
+cvt.w.s 356048 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 24 23.040001
+roundig mode: -inf
+cvt.w.s 0 0.000000
+cvt.w.s 456 456.248962
+cvt.w.s 3 3.000000
+cvt.w.s -1 -1.000000
+cvt.w.s 1384 1384.599976
+cvt.w.s -8 -7.294568
+cvt.w.s 1000000000 1000000000.000000
+cvt.w.s -5787 -5786.470215
+cvt.w.s 1752 1752.000000
+cvt.w.s 0 0.002457
+cvt.w.s 0 0.123400
+cvt.w.s -248563 -248562.765625
+cvt.w.s -45787 -45786.476562
+cvt.w.s 456 456.248962
+cvt.w.s 34 34.000462
+cvt.w.s 45786 45786.476562
+cvt.w.s 1752065 1752065.000000
+cvt.w.s 107 107.000000
+cvt.w.s -45668 -45667.238281
+cvt.w.s -8 -7.294568
+cvt.w.s -347857 -347856.468750
+cvt.w.s 356047 356047.562500
+cvt.w.s -1 -1.000000
+cvt.w.s 23 23.040001
+roundig mode: near
+cvt.w.d 0 0.000000
+cvt.w.d 456 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1385 1384.600000
+cvt.w.d -7 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5786 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 0 0.002458
+cvt.w.d 0 0.000000
+cvt.w.d -248563 -248562.760000
+cvt.w.d -45786 -45786.476000
+cvt.w.d 456 456.248956
+cvt.w.d 34 34.000460
+cvt.w.d 45786 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45667 -45667.240000
+cvt.w.d -7 -7.294568
+cvt.w.d -347856 -347856.475000
+cvt.w.d 356048 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 23 23.040000
+roundig mode: zero
+cvt.w.d 0 0.000000
+cvt.w.d 456 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1384 1384.600000
+cvt.w.d -7 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5786 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 0 0.002458
+cvt.w.d 0 0.000000
+cvt.w.d -248562 -248562.760000
+cvt.w.d -45786 -45786.476000
+cvt.w.d 456 456.248956
+cvt.w.d 34 34.000460
+cvt.w.d 45786 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45667 -45667.240000
+cvt.w.d -7 -7.294568
+cvt.w.d -347856 -347856.475000
+cvt.w.d 356047 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 23 23.040000
+roundig mode: +inf
+cvt.w.d 0 0.000000
+cvt.w.d 457 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1385 1384.600000
+cvt.w.d -7 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5786 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 1 0.002458
+cvt.w.d 1 0.000000
+cvt.w.d -248562 -248562.760000
+cvt.w.d -45786 -45786.476000
+cvt.w.d 457 456.248956
+cvt.w.d 35 34.000460
+cvt.w.d 45787 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45667 -45667.240000
+cvt.w.d -7 -7.294568
+cvt.w.d -347856 -347856.475000
+cvt.w.d 356048 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 24 23.040000
+roundig mode: -inf
+cvt.w.d 0 0.000000
+cvt.w.d 456 456.248956
+cvt.w.d 3 3.000000
+cvt.w.d -1 -1.000000
+cvt.w.d 1384 1384.600000
+cvt.w.d -8 -7.294568
+cvt.w.d 1000000000 1000000000.000000
+cvt.w.d -5787 -5786.470000
+cvt.w.d 1752 1752.000000
+cvt.w.d 0 0.002458
+cvt.w.d 0 0.000000
+cvt.w.d -248563 -248562.760000
+cvt.w.d -45787 -45786.476000
+cvt.w.d 456 456.248956
+cvt.w.d 34 34.000460
+cvt.w.d 45786 45786.476000
+cvt.w.d 1752065 1752065.000000
+cvt.w.d 107 107.000000
+cvt.w.d -45668 -45667.240000
+cvt.w.d -8 -7.294568
+cvt.w.d -347857 -347856.475000
+cvt.w.d 356047 356047.560000
+cvt.w.d -1 -1.000000
+cvt.w.d 23 23.040000
+roundig mode: near
+cvt.d.l 18.000000 18
+cvt.d.l 25.000000 25
+cvt.d.l 3.000000 3
+cvt.d.l -1.000000 -1
+cvt.d.l 4294967295.000000 4294967295
+cvt.d.l 356.000000 356
+cvt.d.l 1000000.000000 1000000
+cvt.d.l -5786.000000 -5786
+cvt.d.l -1.000000 -1
+cvt.d.l 24575.000000 24575
+cvt.d.l 10.000000 10
+cvt.d.l -125458.000000 -125458
+cvt.d.l -486.000000 -486
+cvt.d.l 456.000000 456
+cvt.d.l 34.000000 34
+cvt.d.l 45786.000000 45786
+cvt.d.l 0.000000 0
+cvt.d.l 1700000.000000 1700000
+cvt.d.l -45667.000000 -45667
+cvt.d.l -7.000000 -7
+cvt.d.l -347856.000000 -347856
+cvt.d.l 2147483648.000000 2147483648
+cvt.d.l 268435455.000000 268435455
+cvt.d.l 23.000000 23
+roundig mode: zero
+cvt.d.l 18.000000 18
+cvt.d.l 25.000000 25
+cvt.d.l 3.000000 3
+cvt.d.l -1.000000 -1
+cvt.d.l 4294967295.000000 4294967295
+cvt.d.l 356.000000 356
+cvt.d.l 1000000.000000 1000000
+cvt.d.l -5786.000000 -5786
+cvt.d.l -1.000000 -1
+cvt.d.l 24575.000000 24575
+cvt.d.l 10.000000 10
+cvt.d.l -125458.000000 -125458
+cvt.d.l -486.000000 -486
+cvt.d.l 456.000000 456
+cvt.d.l 34.000000 34
+cvt.d.l 45786.000000 45786
+cvt.d.l 0.000000 0
+cvt.d.l 1700000.000000 1700000
+cvt.d.l -45667.000000 -45667
+cvt.d.l -7.000000 -7
+cvt.d.l -347856.000000 -347856
+cvt.d.l 2147483648.000000 2147483648
+cvt.d.l 268435455.000000 268435455
+cvt.d.l 23.000000 23
+roundig mode: +inf
+cvt.d.l 18.000000 18
+cvt.d.l 25.000000 25
+cvt.d.l 3.000000 3
+cvt.d.l -1.000000 -1
+cvt.d.l 4294967295.000000 4294967295
+cvt.d.l 356.000000 356
+cvt.d.l 1000000.000000 1000000
+cvt.d.l -5786.000000 -5786
+cvt.d.l -1.000000 -1
+cvt.d.l 24575.000000 24575
+cvt.d.l 10.000000 10
+cvt.d.l -125458.000000 -125458
+cvt.d.l -486.000000 -486
+cvt.d.l 456.000000 456
+cvt.d.l 34.000000 34
+cvt.d.l 45786.000000 45786
+cvt.d.l 0.000000 0
+cvt.d.l 1700000.000000 1700000
+cvt.d.l -45667.000000 -45667
+cvt.d.l -7.000000 -7
+cvt.d.l -347856.000000 -347856
+cvt.d.l 2147483648.000000 2147483648
+cvt.d.l 268435455.000000 268435455
+cvt.d.l 23.000000 23
+roundig mode: -inf
+cvt.d.l 18.000000 18
+cvt.d.l 25.000000 25
+cvt.d.l 3.000000 3
+cvt.d.l -1.000000 -1
+cvt.d.l 4294967295.000000 4294967295
+cvt.d.l 356.000000 356
+cvt.d.l 1000000.000000 1000000
+cvt.d.l -5786.000000 -5786
+cvt.d.l -1.000000 -1
+cvt.d.l 24575.000000 24575
+cvt.d.l 10.000000 10
+cvt.d.l -125458.000000 -125458
+cvt.d.l -486.000000 -486
+cvt.d.l 456.000000 456
+cvt.d.l 34.000000 34
+cvt.d.l 45786.000000 45786
+cvt.d.l 0.000000 0
+cvt.d.l 1700000.000000 1700000
+cvt.d.l -45667.000000 -45667
+cvt.d.l -7.000000 -7
+cvt.d.l -347856.000000 -347856
+cvt.d.l 2147483648.000000 2147483648
+cvt.d.l 268435455.000000 268435455
+cvt.d.l 23.000000 23
+roundig mode: near
+cvt.l.s 0 0.000000
+cvt.l.s 456 456.248962
+cvt.l.s 3 3.000000
+cvt.l.s -1 -1.000000
+cvt.l.s 1385 1384.599976
+cvt.l.s -7 -7.294568
+cvt.l.s 1000000000 1000000000.000000
+cvt.l.s -5786 -5786.470215
+cvt.l.s 1752 1752.000000
+cvt.l.s 0 0.002457
+cvt.l.s 0 0.123400
+cvt.l.s -248563 -248562.765625
+cvt.l.s -45786 -45786.476562
+cvt.l.s 456 456.248962
+cvt.l.s 34 34.000462
+cvt.l.s 45786 45786.476562
+cvt.l.s 1752065 1752065.000000
+cvt.l.s 107 107.000000
+cvt.l.s -45667 -45667.238281
+cvt.l.s -7 -7.294568
+cvt.l.s -347856 -347856.468750
+cvt.l.s 356048 356047.562500
+cvt.l.s -1 -1.000000
+cvt.l.s 23 23.040001
+roundig mode: zero
+cvt.l.s 0 0.000000
+cvt.l.s 456 456.248962
+cvt.l.s 3 3.000000
+cvt.l.s -1 -1.000000
+cvt.l.s 1384 1384.599976
+cvt.l.s -7 -7.294568
+cvt.l.s 1000000000 1000000000.000000
+cvt.l.s -5786 -5786.470215
+cvt.l.s 1752 1752.000000
+cvt.l.s 0 0.002457
+cvt.l.s 0 0.123400
+cvt.l.s -248562 -248562.765625
+cvt.l.s -45786 -45786.476562
+cvt.l.s 456 456.248962
+cvt.l.s 34 34.000462
+cvt.l.s 45786 45786.476562
+cvt.l.s 1752065 1752065.000000
+cvt.l.s 107 107.000000
+cvt.l.s -45667 -45667.238281
+cvt.l.s -7 -7.294568
+cvt.l.s -347856 -347856.468750
+cvt.l.s 356047 356047.562500
+cvt.l.s -1 -1.000000
+cvt.l.s 23 23.040001
+roundig mode: +inf
+cvt.l.s 0 0.000000
+cvt.l.s 457 456.248962
+cvt.l.s 3 3.000000
+cvt.l.s -1 -1.000000
+cvt.l.s 1385 1384.599976
+cvt.l.s -7 -7.294568
+cvt.l.s 1000000000 1000000000.000000
+cvt.l.s -5786 -5786.470215
+cvt.l.s 1752 1752.000000
+cvt.l.s 1 0.002457
+cvt.l.s 1 0.123400
+cvt.l.s -248562 -248562.765625
+cvt.l.s -45786 -45786.476562
+cvt.l.s 457 456.248962
+cvt.l.s 35 34.000462
+cvt.l.s 45787 45786.476562
+cvt.l.s 1752065 1752065.000000
+cvt.l.s 107 107.000000
+cvt.l.s -45667 -45667.238281
+cvt.l.s -7 -7.294568
+cvt.l.s -347856 -347856.468750
+cvt.l.s 356048 356047.562500
+cvt.l.s -1 -1.000000
+cvt.l.s 24 23.040001
+roundig mode: -inf
+cvt.l.s 0 0.000000
+cvt.l.s 456 456.248962
+cvt.l.s 3 3.000000
+cvt.l.s -1 -1.000000
+cvt.l.s 1384 1384.599976
+cvt.l.s -8 -7.294568
+cvt.l.s 1000000000 1000000000.000000
+cvt.l.s -5787 -5786.470215
+cvt.l.s 1752 1752.000000
+cvt.l.s 0 0.002457
+cvt.l.s 0 0.123400
+cvt.l.s -248563 -248562.765625
+cvt.l.s -45787 -45786.476562
+cvt.l.s 456 456.248962
+cvt.l.s 34 34.000462
+cvt.l.s 45786 45786.476562
+cvt.l.s 1752065 1752065.000000
+cvt.l.s 107 107.000000
+cvt.l.s -45668 -45667.238281
+cvt.l.s -8 -7.294568
+cvt.l.s -347857 -347856.468750
+cvt.l.s 356047 356047.562500
+cvt.l.s -1 -1.000000
+cvt.l.s 23 23.040001
+roundig mode: near
+cvt.l.d 0 0.000000
+cvt.l.d 456 456.248956
+cvt.l.d 3 3.000000
+cvt.l.d -1 -1.000000
+cvt.l.d 1385 1384.600000
+cvt.l.d -7 -7.294568
+cvt.l.d 1000000000 1000000000.000000
+cvt.l.d -5786 -5786.470000
+cvt.l.d 1752 1752.000000
+cvt.l.d 0 0.002458
+cvt.l.d 0 0.000000
+cvt.l.d -248563 -248562.760000
+cvt.l.d -45786 -45786.476000
+cvt.l.d 456 456.248956
+cvt.l.d 34 34.000460
+cvt.l.d 45786 45786.476000
+cvt.l.d 1752065 1752065.000000
+cvt.l.d 107 107.000000
+cvt.l.d -45667 -45667.240000
+cvt.l.d -7 -7.294568
+cvt.l.d -347856 -347856.475000
+cvt.l.d 356048 356047.560000
+cvt.l.d -1 -1.000000
+cvt.l.d 23 23.040000
+roundig mode: zero
+cvt.l.d 0 0.000000
+cvt.l.d 456 456.248956
+cvt.l.d 3 3.000000
+cvt.l.d -1 -1.000000
+cvt.l.d 1384 1384.600000
+cvt.l.d -7 -7.294568
+cvt.l.d 1000000000 1000000000.000000
+cvt.l.d -5786 -5786.470000
+cvt.l.d 1752 1752.000000
+cvt.l.d 0 0.002458
+cvt.l.d 0 0.000000
+cvt.l.d -248562 -248562.760000
+cvt.l.d -45786 -45786.476000
+cvt.l.d 456 456.248956
+cvt.l.d 34 34.000460
+cvt.l.d 45786 45786.476000
+cvt.l.d 1752065 1752065.000000
+cvt.l.d 107 107.000000
+cvt.l.d -45667 -45667.240000
+cvt.l.d -7 -7.294568
+cvt.l.d -347856 -347856.475000
+cvt.l.d 356047 356047.560000
+cvt.l.d -1 -1.000000
+cvt.l.d 23 23.040000
+roundig mode: +inf
+cvt.l.d 0 0.000000
+cvt.l.d 457 456.248956
+cvt.l.d 3 3.000000
+cvt.l.d -1 -1.000000
+cvt.l.d 1385 1384.600000
+cvt.l.d -7 -7.294568
+cvt.l.d 1000000000 1000000000.000000
+cvt.l.d -5786 -5786.470000
+cvt.l.d 1752 1752.000000
+cvt.l.d 1 0.002458
+cvt.l.d 1 0.000000
+cvt.l.d -248562 -248562.760000
+cvt.l.d -45786 -45786.476000
+cvt.l.d 457 456.248956
+cvt.l.d 35 34.000460
+cvt.l.d 45787 45786.476000
+cvt.l.d 1752065 1752065.000000
+cvt.l.d 107 107.000000
+cvt.l.d -45667 -45667.240000
+cvt.l.d -7 -7.294568
+cvt.l.d -347856 -347856.475000
+cvt.l.d 356048 356047.560000
+cvt.l.d -1 -1.000000
+cvt.l.d 24 23.040000
+roundig mode: -inf
+cvt.l.d 0 0.000000
+cvt.l.d 456 456.248956
+cvt.l.d 3 3.000000
+cvt.l.d -1 -1.000000
+cvt.l.d 1384 1384.600000
+cvt.l.d -8 -7.294568
+cvt.l.d 1000000000 1000000000.000000
+cvt.l.d -5787 -5786.470000
+cvt.l.d 1752 1752.000000
+cvt.l.d 0 0.002458
+cvt.l.d 0 0.000000
+cvt.l.d -248563 -248562.760000
+cvt.l.d -45787 -45786.476000
+cvt.l.d 456 456.248956
+cvt.l.d 34 34.000460
+cvt.l.d 45786 45786.476000
+cvt.l.d 1752065 1752065.000000
+cvt.l.d 107 107.000000
+cvt.l.d -45668 -45667.240000
+cvt.l.d -8 -7.294568
+cvt.l.d -347857 -347856.475000
+cvt.l.d 356047 356047.560000
+cvt.l.d -1 -1.000000
+cvt.l.d 23 23.040000
+roundig mode: near
+cvt.s.l 18.000000 18
+cvt.s.l 25.000000 25
+cvt.s.l 3.000000 3
+cvt.s.l -1.000000 -1
+cvt.s.l 4294967296.000000 4294967295
+cvt.s.l 356.000000 356
+cvt.s.l 1000000.000000 1000000
+cvt.s.l -5786.000000 -5786
+cvt.s.l -1.000000 -1
+cvt.s.l 24575.000000 24575
+cvt.s.l 10.000000 10
+cvt.s.l -125458.000000 -125458
+cvt.s.l -486.000000 -486
+cvt.s.l 456.000000 456
+cvt.s.l 34.000000 34
+cvt.s.l 45786.000000 45786
+cvt.s.l 0.000000 0
+cvt.s.l 1700000.000000 1700000
+cvt.s.l -45667.000000 -45667
+cvt.s.l -7.000000 -7
+cvt.s.l -347856.000000 -347856
+cvt.s.l 2147483648.000000 2147483648
+cvt.s.l 268435456.000000 268435455
+cvt.s.l 23.000000 23
+roundig mode: zero
+cvt.s.l 18.000000 18
+cvt.s.l 25.000000 25
+cvt.s.l 3.000000 3
+cvt.s.l -1.000000 -1
+cvt.s.l 4294967040.000000 4294967295
+cvt.s.l 356.000000 356
+cvt.s.l 1000000.000000 1000000
+cvt.s.l -5786.000000 -5786
+cvt.s.l -1.000000 -1
+cvt.s.l 24575.000000 24575
+cvt.s.l 10.000000 10
+cvt.s.l -125458.000000 -125458
+cvt.s.l -486.000000 -486
+cvt.s.l 456.000000 456
+cvt.s.l 34.000000 34
+cvt.s.l 45786.000000 45786
+cvt.s.l 0.000000 0
+cvt.s.l 1700000.000000 1700000
+cvt.s.l -45667.000000 -45667
+cvt.s.l -7.000000 -7
+cvt.s.l -347856.000000 -347856
+cvt.s.l 2147483648.000000 2147483648
+cvt.s.l 268435440.000000 268435455
+cvt.s.l 23.000000 23
+roundig mode: +inf
+cvt.s.l 18.000000 18
+cvt.s.l 25.000000 25
+cvt.s.l 3.000000 3
+cvt.s.l -1.000000 -1
+cvt.s.l 4294967296.000000 4294967295
+cvt.s.l 356.000000 356
+cvt.s.l 1000000.000000 1000000
+cvt.s.l -5786.000000 -5786
+cvt.s.l -1.000000 -1
+cvt.s.l 24575.000000 24575
+cvt.s.l 10.000000 10
+cvt.s.l -125458.000000 -125458
+cvt.s.l -486.000000 -486
+cvt.s.l 456.000000 456
+cvt.s.l 34.000000 34
+cvt.s.l 45786.000000 45786
+cvt.s.l 0.000000 0
+cvt.s.l 1700000.000000 1700000
+cvt.s.l -45667.000000 -45667
+cvt.s.l -7.000000 -7
+cvt.s.l -347856.000000 -347856
+cvt.s.l 2147483648.000000 2147483648
+cvt.s.l 268435456.000000 268435455
+cvt.s.l 23.000000 23
+roundig mode: -inf
+cvt.s.l 18.000000 18
+cvt.s.l 25.000000 25
+cvt.s.l 3.000000 3
+cvt.s.l -1.000000 -1
+cvt.s.l 4294967040.000000 4294967295
+cvt.s.l 356.000000 356
+cvt.s.l 1000000.000000 1000000
+cvt.s.l -5786.000000 -5786
+cvt.s.l -1.000000 -1
+cvt.s.l 24575.000000 24575
+cvt.s.l 10.000000 10
+cvt.s.l -125458.000000 -125458
+cvt.s.l -486.000000 -486
+cvt.s.l 456.000000 456
+cvt.s.l 34.000000 34
+cvt.s.l 45786.000000 45786
+cvt.s.l 0.000000 0
+cvt.s.l 1700000.000000 1700000
+cvt.s.l -45667.000000 -45667
+cvt.s.l -7.000000 -7
+cvt.s.l -347856.000000 -347856
+cvt.s.l 2147483648.000000 2147483648
+cvt.s.l 268435440.000000 268435455
+cvt.s.l 23.000000 23
diff --git a/none/tests/mips64/round.vgtest b/none/tests/mips64/round.vgtest
new file mode 100644
index 0000000..d5eb00e
--- /dev/null
+++ b/none/tests/mips64/round.vgtest
@@ -0,0 +1,2 @@
+prog: round
+vgopts: -q
diff --git a/none/tests/mips64/rounding_mode.h b/none/tests/mips64/rounding_mode.h
new file mode 100644
index 0000000..e47ee19
--- /dev/null
+++ b/none/tests/mips64/rounding_mode.h
@@ -0,0 +1,61 @@
+typedef enum {
+   TO_NEAREST=0,
+   TO_ZERO,
+   TO_PLUS_INFINITY,
+   TO_MINUS_INFINITY
+} round_mode_t;
+
+char *round_mode_name[] = { "near", "zero", "+inf", "-inf" };
+
+void set_rounding_mode(round_mode_t mode)
+{
+   switch(mode) {
+      case TO_NEAREST:
+         __asm__ __volatile__(
+            "cfc1 $t0, $31"  "\n\t"
+            "srl  $t0, 2"    "\n\t"
+            "sll  $t0, 2"    "\n\t"
+            "ctc1 $t0, $31"  "\n\t"
+            :
+            :
+            : "t0"
+         );
+         break;
+      case TO_ZERO:
+         __asm__ __volatile__(
+            "cfc1  $t0, $31"  "\n\t"
+            "srl   $t0, 2"    "\n\t"
+            "sll   $t0, 2"    "\n\t"
+            "addiu $t0, 1"    "\n\t"
+            "ctc1  $t0, $31"  "\n\t"
+            :
+            :
+            : "t0"
+         );
+         break;
+      case TO_PLUS_INFINITY:
+         __asm__ __volatile__(
+            "cfc1  $t0, $31"  "\n\t"
+            "srl   $t0, 2"    "\n\t"
+            "sll   $t0, 2"    "\n\t"
+            "addiu $t0, 2"    "\n\t"
+            "ctc1  $t0, $31"  "\n\t"
+            :
+            :
+            : "t0"
+         );
+         break;
+      case TO_MINUS_INFINITY:
+         __asm__ __volatile__(
+            "cfc1  $t0, $31"  "\n\t"
+            "srl   $t0, 2"    "\n\t"
+            "sll   $t0, 2"    "\n\t"
+            "addiu $t0, 3"    "\n\t"
+            "ctc1  $t0, $31"  "\n\t"
+            :
+            :
+            : "t0"
+         );
+         break;
+      }
+}
diff --git a/none/tests/mips64/shift_instructions.c b/none/tests/mips64/shift_instructions.c
new file mode 100644
index 0000000..307f440
--- /dev/null
+++ b/none/tests/mips64/shift_instructions.c
@@ -0,0 +1,205 @@
+#include <stdio.h>
+#include "const.h"
+#include "macro_int.h"
+
+typedef enum {
+    DROTR=0,  DROTR32,   DROTRV,    DSLL,
+    DSLL32,   DSLLV,     DSRA,      DSRA32,
+    DSRAV,    DSRL,      DSRL32,    DSRLV,
+    ROTR,     ROTRV,     SLL,       SLLV,
+    SRA,      SRAV,      SRL,       SRLV
+} logical_op;
+
+int main()
+{
+   logical_op op;
+   int i;
+   init_reg_val2();
+   for (op = DROTR; op <= SRLV; op++) {
+      for (i = 0; i < N; i++) {
+         switch(op) {
+            case DROTR:
+               /* Release 2 Only */
+#if (__mips == 64) && (__mips_isa_rev >= 2)
+               TEST2("drotr $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("drotr $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("drotr $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("drotr $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+               TEST2("drotr $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
+               TEST2("drotr $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
+               TEST2("drotr $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
+               TEST2("drotr $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
+#endif
+               break;
+            case DROTR32:
+               /* Release 2 Only */
+#if (__mips == 64) && (__mips_isa_rev >= 2)
+               TEST2("drotr32 $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("drotr32 $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("drotr32 $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("drotr32 $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+               TEST2("drotr32 $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
+               TEST2("drotr32 $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
+               TEST2("drotr32 $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
+               TEST2("drotr32 $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
+#endif
+               break;
+            case DROTRV:
+               /* Release 2 Only */
+#if (__mips == 64) && (__mips_isa_rev >= 2)
+               TEST1("drotrv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                             t0, t1, t2);
+               TEST1("drotrv $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                             s0, s1, s2);
+#endif
+               break;
+            case DSLL:
+               TEST2("dsll $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("dsll $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("dsll $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("dsll $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+               TEST2("dsll $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
+               TEST2("dsll $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
+               TEST2("dsll $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
+               TEST2("dsll $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
+               break;
+
+            case DSLL32:
+               TEST2("dsll32 $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("dsll32 $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("dsll32 $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("dsll32 $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+               TEST2("dsll32 $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
+               TEST2("dsll32 $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
+               TEST2("dsll32 $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
+               TEST2("dsll32 $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
+               break;
+
+            case DSLLV:
+               TEST1("dsllv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                            t0, t1, t2);
+               TEST1("dsllv $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                            s0, s1, s2);
+               break;
+
+            case DSRA:
+               TEST2("dsra $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("dsra $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("dsra $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("dsra $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+               TEST2("dsra $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
+               TEST2("dsra $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
+               TEST2("dsra $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
+               TEST2("dsra $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
+               break;
+
+            case DSRA32:
+               TEST2("dsra32 $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("dsra32 $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("dsra32 $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("dsra32 $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+               TEST2("dsra32 $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
+               TEST2("dsra32 $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
+               TEST2("dsra32 $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
+               TEST2("dsra32 $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
+               break;
+
+            case DSRAV:
+               TEST1("dsrav $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                            t0, t1, t2);
+               TEST1("dsrav $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                            s0, s1, s2);
+               break;
+
+            case DSRL:
+               TEST2("dsrl $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("dsrl $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("dsrl $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("dsrl $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+               TEST2("dsrl $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
+               TEST2("dsrl $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
+               TEST2("dsrl $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
+               TEST2("dsrl $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
+               break;
+
+            case DSRL32:
+               TEST2("dsrl32 $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("dsrl32 $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("dsrl32 $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("dsrl32 $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+               TEST2("dsrl32 $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
+               TEST2("dsrl32 $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
+               TEST2("dsrl32 $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
+               TEST2("dsrl32 $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
+               break;
+
+            case DSRLV:
+               TEST1("dsrlv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                            t0, t1, t2);
+               TEST1("dsrlv $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                            s0, s1, s2);
+               break;
+
+            case ROTR:
+               /* Release 2 Only */
+#if (__mips == 64) && (__mips_isa_rev >= 2)
+               TEST2("rotr $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("rotr $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("rotr $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("rotr $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+#endif
+               break;
+            case ROTRV:
+               /* Release 2 Only */
+#if (__mips == 64) && (__mips_isa_rev >= 2)
+               TEST1("rotrv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                            t0, t1, t2);
+#endif
+               break;
+            case SLL:
+               TEST2("sll $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("sll $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("sll $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("sll $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+               TEST2("sll $t0, $t1, 0x00", reg_val2[i], 0x00, t0, t1);
+               TEST2("sll $t2, $t3, 0x1f", reg_val2[i], 0x1f, t2, t3);
+               TEST2("sll $a0, $a1, 0x0f", reg_val2[i], 0x0f, a0, a1);
+               TEST2("sll $s0, $s1, 0x03", reg_val2[i], 0x03, s0, s1);
+               break;
+
+            case SLLV:
+               TEST1("sllv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                           t0, t1, t2);
+               TEST1("sllv $s0, $s1, $s2", reg_val2[i], reg_val2[N-i-1],
+                                           s0, s1, s2);
+               break;
+
+            case SRA:
+               TEST2("sra $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("sra $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("sra $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("sra $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+               break;
+
+            case SRAV:
+               TEST1("srav $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                           t0, t1, t2);
+               break;
+
+            case SRL:
+               TEST2("srl $t0, $t1, 0x00", reg_val1[i], 0x00, t0, t1);
+               TEST2("srl $t2, $t3, 0x1f", reg_val1[i], 0x1f, t2, t3);
+               TEST2("srl $a0, $a1, 0x0f", reg_val1[i], 0x0f, a0, a1);
+               TEST2("srl $s0, $s1, 0x03", reg_val1[i], 0x03, s0, s1);
+               break;
+
+            case SRLV:
+               TEST1("srlv $t0, $t1, $t2", reg_val1[i], reg_val1[N-i-1],
+                                           t0, t1, t2);
+               break;
+
+         }
+      }
+   }
+   return 0;
+}
diff --git a/none/tests/mips64/shift_instructions.stderr.exp b/none/tests/mips64/shift_instructions.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/shift_instructions.stderr.exp
diff --git a/none/tests/mips64/shift_instructions.stdout.exp-mips64 b/none/tests/mips64/shift_instructions.stdout.exp-mips64
new file mode 100644
index 0000000..1506018
--- /dev/null
+++ b/none/tests/mips64/shift_instructions.stdout.exp-mips64
@@ -0,0 +1,18944 @@
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x95eb5500000000, rs 0x12bd6aa, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x95eb550000, rs 0x12bd6aa, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x95eb550, rs 0x12bd6aa, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc169558980000000, rs 0x7e876382d2ab13, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x43b1c16955898000, rs 0x7e876382d2ab13, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3f43b1c16955898, rs 0x7e876382d2ab13, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4c11db700000000, rs 0x9823b6e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4c11db70000, rs 0x9823b6e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4c11db70, rs 0x9823b6e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x618a887980000000, rs 0x976d6e9ac31510f3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb74d618a88798000, rs 0x976d6e9ac31510f3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbb6b74d618a88798, rs 0x976d6e9ac31510f3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6a1936c80000000, rs 0xd4326d9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6a1936c8000, rs 0xd4326d9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6a1936c8, rs 0xd4326d9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xad6b52fd80000000, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x36bbad6b52fd8000, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbba36bbad6b52fd8, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9823b6e00000000, rs 0x130476dc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9823b6e0000, rs 0x130476dc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9823b6e0, rs 0x130476dc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x433bda8100000000, rs 0x42b0c0a28677b502, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6051433bda810000, rs 0x42b0c0a28677b502, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1586051433bda810, rs 0x42b0c0a28677b502, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbe2b5b580000000, rs 0x17c56b6b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xbe2b5b58000, rs 0x17c56b6b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbe2b5b58, rs 0x17c56b6b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcf1e185680000000, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4e98cf1e18568000, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5544e98cf1e18568, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd4326d900000000, rs 0x1a864db2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd4326d90000, rs 0x1a864db2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd4326d90, rs 0x1a864db2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbbfda09e80000000, rs 0x1f308ec377fb413d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4761bbfda09e8000, rs 0x1f308ec377fb413d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf984761bbfda09e8, rs 0x1f308ec377fb413d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf23a80280000000, rs 0x1e475005, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf23a8028000, rs 0x1e475005, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf23a8028, rs 0x1e475005, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe3b0727b80000000, rs 0x7aa04213c760e4f7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2109e3b0727b8000, rs 0x7aa04213c760e4f7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd502109e3b0727b8, rs 0x7aa04213c760e4f7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x130476dc00000000, rs 0x2608edb8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x130476dc0000, rs 0x2608edb8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x130476dc0, rs 0x2608edb8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8d6c6e5000000000, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2e628d6c6e500000, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf382e628d6c6e500, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1164f80780000000, rs 0x22c9f00f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1164f8078000, rs 0x22c9f00f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1164f8078, rs 0x22c9f00f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4b0ad30680000000, rs 0x4b3dda869615a60d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xed434b0ad3068000, rs 0x4b3dda869615a60d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x59eed434b0ad3068, rs 0x4b3dda869615a60d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x17c56b6b00000000, rs 0x2f8ad6d6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x17c56b6b0000, rs 0x2f8ad6d6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x17c56b6b0, rs 0x2f8ad6d6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb1a9ea0e80000000, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd26eb1a9ea0e8000, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2f3d26eb1a9ea0e8, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x15a5e5b080000000, rs 0x2b4bcb61, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x15a5e5b08000, rs 0x2b4bcb61, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x15a5e5b08, rs 0x2b4bcb61, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe205ea0980000000, rs 0x3af35a9dc40bd413, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xad4ee205ea098000, rs 0x3af35a9dc40bd413, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd79ad4ee205ea098, rs 0x3af35a9dc40bd413, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1a864db200000000, rs 0x350c9b64, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1a864db20000, rs 0x350c9b64, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1a864db20, rs 0x350c9b64, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4d0450c000000000, rs 0x47f505569a08a180, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x82ab4d0450c00000, rs 0x47f505569a08a180, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3fa82ab4d0450c00, rs 0x47f505569a08a180, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x18e6c36980000000, rs 0x31cd86d3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x18e6c3698000, rs 0x31cd86d3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x18e6c3698, rs 0x31cd86d3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeb69020780000000, rs 0x9564b77fd6d2040f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5bbfeb6902078000, rs 0x9564b77fd6d2040f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xab25bbfeb6902078, rs 0x9564b77fd6d2040f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1e47500500000000, rs 0x3c8ea00a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1e4750050000, rs 0x3c8ea00a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1e4750050, rs 0x3c8ea00a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd963b5df00000000, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x413cd963b5df0000, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x75e413cd963b5df0, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1c27dede80000000, rs 0x384fbdbd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1c27dede8000, rs 0x384fbdbd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1c27dede8, rs 0x384fbdbd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8f8c726380000000, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa6178f8c72638000, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa81a6178f8c72638, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2608edb800000000, rs 0x4c11db70, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2608edb80000, rs 0x4c11db70, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2608edb80, rs 0x4c11db70, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x40d7d3cb80000000, rs 0x94ff52fc81afa797, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa97e40d7d3cb8000, rs 0x94ff52fc81afa797, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa7fa97e40d7d3cb8, rs 0x94ff52fc81afa797, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2468636380000000, rs 0x48d0c6c7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x246863638000, rs 0x48d0c6c7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x246863638, rs 0x48d0c6c7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x36fe287500000000, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6c8b36fe28750000, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8ec6c8b36fe28750, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x22c9f00f00000000, rs 0x4593e01e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x22c9f00f0000, rs 0x4593e01e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x22c9f00f0, rs 0x4593e01e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3c744ad880000000, rs 0x36549bd678e895b1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4deb3c744ad88000, rs 0x36549bd678e895b1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb2a4deb3c744ad88, rs 0x36549bd678e895b1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x20a97ed480000000, rs 0x4152fda9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x20a97ed48000, rs 0x4152fda9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x20a97ed48, rs 0x4152fda9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcdb192cd80000000, rs 0x85e0a6319b63259b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5318cdb192cd8000, rs 0x85e0a6319b63259b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2f05318cdb192cd8, rs 0x85e0a6319b63259b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2f8ad6d600000000, rs 0x5f15adac, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2f8ad6d60000, rs 0x5f15adac, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2f8ad6d60, rs 0x5f15adac, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6678bd6280000000, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9f656678bd628000, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xab59f656678bd628, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2dea580d80000000, rs 0x5bd4b01b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2dea580d8000, rs 0x5bd4b01b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2dea580d8, rs 0x5bd4b01b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0f7507d80000000, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xafe2c0f7507d8000, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa17afe2c0f7507d8, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2b4bcb6100000000, rs 0x569796c2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2b4bcb610000, rs 0x569796c2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2b4bcb610, rs 0x569796c2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa3416cb80000000, rs 0x25b50fec14682d97, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x87f60a3416cb8000, rs 0x25b50fec14682d97, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2da87f60a3416cb8, rs 0x25b50fec14682d97, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x292b45ba80000000, rs 0x52568b75, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x292b45ba8000, rs 0x52568b75, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x292b45ba8, rs 0x52568b75, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x967d843d00000000, rs 0xfc93c5132cfb087a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe289967d843d0000, rs 0xfc93c5132cfb087a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe49e289967d843d0, rs 0xfc93c5132cfb087a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x350c9b6400000000, rs 0x6a1936c8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x350c9b640000, rs 0x6a1936c8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x350c9b640, rs 0x6a1936c8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe6d103b300000000, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6cd4e6d103b30000, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe166cd4e6d103b30, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x376c15bf80000000, rs 0x6ed82b7f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x376c15bf8000, rs 0x6ed82b7f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x376c15bf8, rs 0x6ed82b7f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3eb96d1f00000000, rs 0x1791722a7d72da3e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb9153eb96d1f0000, rs 0x1791722a7d72da3e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbc8b9153eb96d1f0, rs 0x1791722a7d72da3e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x31cd86d300000000, rs 0x639b0da6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x31cd86d30000, rs 0x639b0da6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x31cd86d30, rs 0x639b0da6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc9e7125680000000, rs 0x87cc9d193ce24ad, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x64e8c9e712568000, rs 0x87cc9d193ce24ad, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x43e64e8c9e712568, rs 0x87cc9d193ce24ad, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x33ad080880000000, rs 0x675a1011, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x33ad08088000, rs 0x675a1011, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x33ad08088, rs 0x675a1011, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1c4c276900000000, rs 0x1d2a757038984ed2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3ab81c4c27690000, rs 0x1d2a757038984ed2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe953ab81c4c27690, rs 0x1d2a757038984ed2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3c8ea00a00000000, rs 0x791d4014, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3c8ea00a0000, rs 0x791d4014, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3c8ea00a0, rs 0x791d4014, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb886681b00000000, rs 0xd0d070db710cd036, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x386db886681b0000, rs 0xd0d070db710cd036, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x868386db886681b0, rs 0xd0d070db710cd036, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3eee2ed180000000, rs 0x7ddc5da3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3eee2ed18000, rs 0x7ddc5da3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3eee2ed18, rs 0x7ddc5da3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x81a0ab0200000000, rs 0x39c21c7d03415604, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe3e81a0ab020000, rs 0x39c21c7d03415604, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xce10e3e81a0ab020, rs 0x39c21c7d03415604, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x384fbdbd00000000, rs 0x709f7b7a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x384fbdbd0000, rs 0x709f7b7a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x384fbdbd0, rs 0x709f7b7a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc76618e700000000, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5bd7c76618e70000, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x74a5bd7c76618e70, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3a2f336680000000, rs 0x745e66cd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3a2f33668000, rs 0x745e66cd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3a2f33668, rs 0x745e66cd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8e73b3a780000000, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb5468e73b3a78000, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x275b5468e73b3a78, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcc11db7000000000, rs 0xffffffff9823b6e0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcc11db700000, rs 0xffffffff9823b6e0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcc11db700, rs 0xffffffff9823b6e0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x96b725380000000, rs 0x2f39454412d6e4a7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa2a2096b72538000, rs 0x2f39454412d6e4a7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x79ca2a2096b72538, rs 0x2f39454412d6e4a7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xce7155ab80000000, rs 0xffffffff9ce2ab57, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffce7155ab8000, rs 0xffffffff9ce2ab57, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffce7155ab8, rs 0xffffffff9ce2ab57, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xab6d262a00000000, rs 0x2608c2b756da4c54, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x615bab6d262a0000, rs 0x2608c2b756da4c54, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x304615bab6d262a0, rs 0x2608c2b756da4c54, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc8d0c6c700000000, rs 0xffffffff91a18d8e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc8d0c6c70000, rs 0xffffffff91a18d8e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc8d0c6c70, rs 0xffffffff91a18d8e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x646b929780000000, rs 0x900102dac8d7252f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x816d646b92978000, rs 0x900102dac8d7252f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x800816d646b92978, rs 0x900102dac8d7252f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcab0481c80000000, rs 0xffffffff95609039, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcab0481c8000, rs 0xffffffff95609039, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcab0481c8, rs 0xffffffff95609039, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf977d27b80000000, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6af8f977d27b8000, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4486af8f977d27b8, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc593e01e00000000, rs 0xffffffff8b27c03c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc593e01e0000, rs 0xffffffff8b27c03c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc593e01e0, rs 0xffffffff8b27c03c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe458510a00000000, rs 0xed5005cbc8b0a214, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2e5e458510a0000, rs 0xed5005cbc8b0a214, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6a802e5e458510a0, rs 0xed5005cbc8b0a214, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc7f36ec580000000, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc7f36ec58000, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc7f36ec58, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xacc889b600000000, rs 0x314791895991136c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc8c4acc889b60000, rs 0x314791895991136c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8a3c8c4acc889b60, rs 0x314791895991136c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc152fda900000000, rs 0xffffffff82a5fb52, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc152fda90000, rs 0xffffffff82a5fb52, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc152fda90, rs 0xffffffff82a5fb52, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcd17db7980000000, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x67fccd17db798000, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x37767fccd17db798, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc332737280000000, rs 0xffffffff8664e6e5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc33273728000, rs 0xffffffff8664e6e5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc33273728, rs 0xffffffff8664e6e5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1c44a93800000000, rs 0xa809521238895270, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa9091c44a9380000, rs 0xa809521238895270, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x404a9091c44a9380, rs 0xa809521238895270, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdf15adac00000000, rs 0xffffffffbe2b5b58, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdf15adac0000, rs 0xffffffffbe2b5b58, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdf15adac0, rs 0xffffffffbe2b5b58, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x56bb282000000000, rs 0x87750a04ad765040, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x850256bb28200000, rs 0x87750a04ad765040, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3ba850256bb28200, rs 0x87750a04ad765040, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdd75237780000000, rs 0xffffffffbaea46ef, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdd7523778000, rs 0xffffffffbaea46ef, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdd7523778, rs 0xffffffffbaea46ef, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x425dad4180000000, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf42f425dad418000, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x61ef42f425dad418, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdbd4b01b00000000, rs 0xffffffffb7a96036, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdbd4b01b0000, rs 0xffffffffb7a96036, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdbd4b01b0, rs 0xffffffffb7a96036, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe283553380000000, rs 0xae6aff8fc506aa67, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7fc7e28355338000, rs 0xae6aff8fc506aa67, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x7357fc7e28355338, rs 0xae6aff8fc506aa67, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd9b43ec080000000, rs 0xffffffffb3687d81, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd9b43ec08000, rs 0xffffffffb3687d81, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd9b43ec08, rs 0xffffffffb3687d81, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb076af7180000000, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x896eb076af718000, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x38896eb076af718, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd69796c200000000, rs 0xffffffffad2f2d84, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd69796c20000, rs 0xffffffffad2f2d84, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd69796c20, rs 0xffffffffad2f2d84, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x186e652d00000000, rs 0xc4c770f630dcca5a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb87b186e652d0000, rs 0xc4c770f630dcca5a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x263b87b186e652d0, rs 0xc4c770f630dcca5a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd4f7181980000000, rs 0xffffffffa9ee3033, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd4f718198000, rs 0xffffffffa9ee3033, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd4f718198, rs 0xffffffffa9ee3033, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc1e6a93b80000000, rs 0xdfec2b2383cd5277, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1591c1e6a93b8000, rs 0xdfec2b2383cd5277, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xff61591c1e6a93b8, rs 0xdfec2b2383cd5277, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd2568b7500000000, rs 0xffffffffa4ad16ea, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd2568b750000, rs 0xffffffffa4ad16ea, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd2568b750, rs 0xffffffffa4ad16ea, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x7fbecb580000000, rs 0xd3adba260ff7d96b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xdd1307fbecb58000, rs 0xd3adba260ff7d96b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9d6dd1307fbecb58, rs 0xd3adba260ff7d96b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd03605ae80000000, rs 0xffffffffa06c0b5d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd03605ae8000, rs 0xffffffffa06c0b5d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd03605ae8, rs 0xffffffffa06c0b5d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc20c600700000000, rs 0x4ab4aa798418c00e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x553cc20c60070000, rs 0x4ab4aa798418c00e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x55a553cc20c60070, rs 0x4ab4aa798418c00e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xea1936c800000000, rs 0xffffffffd4326d90, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffea1936c80000, rs 0xffffffffd4326d90, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffea1936c80, rs 0xffffffffd4326d90, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6f0785c00000000, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1af06f0785c0000, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xdc601af06f0785c0, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe879b81380000000, rs 0xffffffffd0f37027, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe879b8138000, rs 0xffffffffd0f37027, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe879b8138, rs 0xffffffffd0f37027, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x54bfee7880000000, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x37aa54bfee788000, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9d837aa54bfee788, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeed82b7f00000000, rs 0xffffffffddb056fe, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffeed82b7f0000, rs 0xffffffffddb056fe, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffeed82b7f0, rs 0xffffffffddb056fe, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9fe8e04080000000, rs 0x77433f373fd1c081, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9f9b9fe8e0408000, rs 0x77433f373fd1c081, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xba19f9b9fe8e0408, rs 0x77433f373fd1c081, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xecb8a5a480000000, rs 0xffffffffd9714b49, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffecb8a5a48000, rs 0xffffffffd9714b49, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffecb8a5a48, rs 0xffffffffd9714b49, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe490caf200000000, rs 0xec91d993c92195e4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xecc9e490caf20000, rs 0xec91d993c92195e4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x648ecc9e490caf20, rs 0xec91d993c92195e4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe39b0da600000000, rs 0xffffffffc7361b4c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe39b0da60000, rs 0xffffffffc7361b4c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe39b0da60, rs 0xffffffffc7361b4c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcad8d2d580000000, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfb53cad8d2d58000, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4fdfb53cad8d2d58, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe1fb837d80000000, rs 0xffffffffc3f706fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe1fb837d8000, rs 0xffffffffc3f706fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe1fb837d8, rs 0xffffffffc3f706fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x63e7468f00000000, rs 0x19364378c7ce8d1e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x21bc63e7468f0000, rs 0x19364378c7ce8d1e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc9b21bc63e7468f0, rs 0x19364378c7ce8d1e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe75a101100000000, rs 0xffffffffceb42022, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe75a10110000, rs 0xffffffffceb42022, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe75a10110, rs 0xffffffffceb42022, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x979c248380000000, rs 0xb99e8def2f384907, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x46f7979c24838000, rs 0xb99e8def2f384907, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xccf46f7979c24838, rs 0xb99e8def2f384907, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe53a9eca80000000, rs 0xffffffffca753d95, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe53a9eca8000, rs 0xffffffffca753d95, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe53a9eca8, rs 0xffffffffca753d95, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xac15897f00000000, rs 0x47eacdcd582b12fe, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x66e6ac15897f0000, rs 0x47eacdcd582b12fe, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3f566e6ac15897f0, rs 0x47eacdcd582b12fe, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf91d401400000000, rs 0xfffffffff23a8028, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff91d40140000, rs 0xfffffffff23a8028, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff91d40140, rs 0xfffffffff23a8028, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3b2ac62780000000, rs 0xd685884e76558c4f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc4273b2ac6278000, rs 0xd685884e76558c4f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb42c4273b2ac6278, rs 0xd685884e76558c4f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfb7dcecf80000000, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffb7dcecf8000, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffb7dcecf8, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1a60cae380000000, rs 0x6168d62a34c195c7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6b151a60cae38000, rs 0x6168d62a34c195c7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb46b151a60cae38, rs 0x6168d62a34c195c7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfddc5da300000000, rs 0xfffffffffbb8bb46, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffddc5da30000, rs 0xfffffffffbb8bb46, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffddc5da30, rs 0xfffffffffbb8bb46, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa6fa3a0280000000, rs 0xd30169894df47405, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb4c4a6fa3a028000, rs 0xd30169894df47405, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x980b4c4a6fa3a028, rs 0xd30169894df47405, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xffbcd37880000000, rs 0xffffffffff79a6f1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffffbcd3788000, rs 0xffffffffff79a6f1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffffbcd3788, rs 0xffffffffff79a6f1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb65d836d80000000, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc85fb65d836d8000, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe50c85fb65d836d8, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf09f7b7a00000000, rs 0xffffffffe13ef6f4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff09f7b7a0000, rs 0xffffffffe13ef6f4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff09f7b7a0, rs 0xffffffffe13ef6f4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4e571c9d00000000, rs 0x58300f029cae393a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7814e571c9d0000, rs 0x58300f029cae393a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc1807814e571c9d0, rs 0x58300f029cae393a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf2fff5a180000000, rs 0xffffffffe5ffeb43, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff2fff5a18000, rs 0xffffffffe5ffeb43, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff2fff5a18, rs 0xffffffffe5ffeb43, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xee3f5e1680000000, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xafedee3f5e168000, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd4cafedee3f5e168, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf45e66cd00000000, rs 0xffffffffe8bccd9a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff45e66cd0000, rs 0xffffffffe8bccd9a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff45e66cd0, rs 0xffffffffe8bccd9a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf1a02da400000000, rs 0x8a96047be3405b48, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x23df1a02da40000, rs 0x8a96047be3405b48, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x54b023df1a02da40, rs 0x8a96047be3405b48, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf63ee81680000000, rs 0xffffffffec7dd02d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff63ee8168000, rs 0xffffffffec7dd02d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff63ee8168, rs 0xffffffffec7dd02d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6a8ce99100000000, rs 0x75bfafd2d519d322, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd7e96a8ce9910000, rs 0x75bfafd2d519d322, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xadfd7e96a8ce9910, rs 0x75bfafd2d519d322, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1a43383b80000000, rs 0x34867077, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1a43383b8000, rs 0x34867077, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1a43383b8, rs 0x34867077, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd3187b5680000000, rs 0xde230867a630f6ad, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x8433d3187b568000, rs 0xde230867a630f6ad, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf118433d3187b568, rs 0xde230867a630f6ad, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1823b6e000000000, rs 0x30476dc0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1823b6e00000, rs 0x30476dc0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1823b6e00, rs 0x30476dc0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2b08193000000000, rs 0x2c0a0cf256103260, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6792b0819300000, rs 0x2c0a0cf256103260, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x60506792b0819300, rs 0x2c0a0cf256103260, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1e82258c80000000, rs 0x3d044b19, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1e82258c8000, rs 0x3d044b19, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1e82258c8, rs 0x3d044b19, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x124d8c7780000000, rs 0x94a90544249b18ef, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x82a2124d8c778000, rs 0x94a90544249b18ef, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa5482a2124d8c778, rs 0x94a90544249b18ef, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1ce2ab5700000000, rs 0x39c556ae, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1ce2ab570000, rs 0x39c556ae, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1ce2ab570, rs 0x39c556ae, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xadab7e6f00000000, rs 0xf9519fb55b56fcde, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcfdaadab7e6f0000, rs 0xf9519fb55b56fcde, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xca8cfdaadab7e6f0, rs 0xf9519fb55b56fcde, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x13c1035580000000, rs 0x278206ab, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x13c103558000, rs 0x278206ab, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x13c103558, rs 0x278206ab, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x23418cd80000000, rs 0x81daf8200468319b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7c10023418cd8000, rs 0x81daf8200468319b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xed7c10023418cd8, rs 0x81daf8200468319b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x11a18d8e00000000, rs 0x23431b1c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x11a18d8e0000, rs 0x23431b1c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x11a18d8e0, rs 0x23431b1c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2b92f97600000000, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe52d2b92f9760000, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x630e52d2b92f9760, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x17001ee280000000, rs 0x2e003dc5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x17001ee28000, rs 0x2e003dc5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x17001ee28, rs 0x2e003dc5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe12ee45f80000000, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd36ee12ee45f8000, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5cad36ee12ee45f8, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1560903900000000, rs 0x2ac12072, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x156090390000, rs 0x2ac12072, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x156090390, rs 0x2ac12072, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xed630b1780000000, rs 0x300ce751dac6162f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x73a8ed630b178000, rs 0x300ce751dac6162f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x80673a8ed630b178, rs 0x300ce751dac6162f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9474ee780000000, rs 0x128e9dcf, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9474ee78000, rs 0x128e9dcf, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9474ee78, rs 0x128e9dcf, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdd29542800000000, rs 0x6778fdf3ba52a850, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7ef9dd2954280000, rs 0x6778fdf3ba52a850, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3bc7ef9dd2954280, rs 0x6778fdf3ba52a850, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb27c03c00000000, rs 0x164f8078, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb27c03c0000, rs 0x164f8078, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb27c03c0, rs 0x164f8078, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xed3c23cf80000000, rs 0xad00b1f7da78479f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x58fbed3c23cf8000, rs 0xad00b1f7da78479f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x68058fbed3c23cf8, rs 0xad00b1f7da78479f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd86535080000000, rs 0x1b0ca6a1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd8653508000, rs 0x1b0ca6a1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd8653508, rs 0x1b0ca6a1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x535b6cc500000000, rs 0x8d44168a6b6d98a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x20b4535b6cc50000, rs 0x8d44168a6b6d98a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x46a20b4535b6cc50, rs 0x8d44168a6b6d98a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfe6dd8b00000000, rs 0x1fcdbb16, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfe6dd8b0000, rs 0x1fcdbb16, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfe6dd8b0, rs 0x1fcdbb16, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe731a20980000000, rs 0xf518381dce634413, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1c0ee731a2098000, rs 0xf518381dce634413, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa8c1c0ee731a2098, rs 0xf518381dce634413, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc5758980000000, rs 0x18aeb13, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc575898000, rs 0x18aeb13, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc575898, rs 0x18aeb13, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf292afe000000000, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3f9ff292afe00000, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2313f9ff292afe00, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2a5fb5200000000, rs 0x54bf6a4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2a5fb520000, rs 0x54bf6a4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2a5fb520, rs 0x54bf6a4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbb190f9400000000, rs 0xccd392e176321f28, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc970bb190f940000, rs 0xccd392e176321f28, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x669c970bb190f940, rs 0xccd392e176321f28, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x404683e80000000, rs 0x808d07d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x404683e8000, rs 0x808d07d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x404683e8, rs 0x808d07d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x200c7ec780000000, rs 0x829464944018fd8f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x324a200c7ec78000, rs 0x829464944018fd8f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x14a324a200c7ec78, rs 0x829464944018fd8f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x664e6e500000000, rs 0xcc9cdca, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x664e6e50000, rs 0xcc9cdca, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x664e6e50, rs 0xcc9cdca, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2974787280000000, rs 0x15d3204052e8f0e5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9020297478728000, rs 0x15d3204052e8f0e5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xae99020297478728, rs 0x15d3204052e8f0e5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3c4bd58380000000, rs 0x7897ab07, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3c4bd5838000, rs 0x7897ab07, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3c4bd5838, rs 0x7897ab07, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4407f9a200000000, rs 0x7caf83d2880ff344, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc1e94407f9a20000, rs 0x7caf83d2880ff344, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe57c1e94407f9a20, rs 0x7caf83d2880ff344, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3e2b5b5800000000, rs 0x7c56b6b0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3e2b5b580000, rs 0x7c56b6b0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3e2b5b580, rs 0x7c56b6b0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3a3ef7eb80000000, rs 0xf156a04c747defd7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x50263a3ef7eb8000, rs 0xf156a04c747defd7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8ab50263a3ef7eb8, rs 0xf156a04c747defd7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x388ac83480000000, rs 0x71159069, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x388ac8348000, rs 0x71159069, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x388ac8348, rs 0x71159069, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x798eb8800000000, rs 0x93e2601c0f31d710, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x300e0798eb880000, rs 0x93e2601c0f31d710, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9f1300e0798eb880, rs 0x93e2601c0f31d710, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3aea46ef00000000, rs 0x75d48dde, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3aea46ef0000, rs 0x75d48dde, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3aea46ef0, rs 0x75d48dde, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x898e6c9980000000, rs 0xe1e1a679131cd933, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd33c898e6c998000, rs 0xe1e1a679131cd933, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf0d33c898e6c998, rs 0xe1e1a679131cd933, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x35c9eeed80000000, rs 0x6b93dddb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x35c9eeed8000, rs 0x6b93dddb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x35c9eeed8, rs 0x6b93dddb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd3b7d21380000000, rs 0x24296b75a76fa427, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb5bad3b7d2138000, rs 0x24296b75a76fa427, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x214b5bad3b7d2138, rs 0x24296b75a76fa427, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x37a9603600000000, rs 0x6f52c06c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x37a960360000, rs 0x6f52c06c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x37a960360, rs 0x6f52c06c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9cf72b500000000, rs 0xd296e2d2139ee56a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x716909cf72b50000, rs 0xd296e2d2139ee56a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x94b716909cf72b50, rs 0xd296e2d2139ee56a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3108f35a80000000, rs 0x6211e6b5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3108f35a8000, rs 0x6211e6b5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3108f35a8, rs 0x6211e6b5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb6e152e000000000, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x223fb6e152e00000, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd41223fb6e152e00, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x33687d8100000000, rs 0x66d0fb02, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x33687d810000, rs 0x66d0fb02, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x33687d810, rs 0x66d0fb02, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x603ee0b400000000, rs 0x76c89e80c07dc168, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4f40603ee0b40000, rs 0x76c89e80c07dc168, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb644f40603ee0b40, rs 0x76c89e80c07dc168, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2f4fa35f80000000, rs 0x5e9f46bf, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2f4fa35f8000, rs 0x5e9f46bf, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2f4fa35f8, rs 0x5e9f46bf, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa5ff1a4780000000, rs 0x70dc3454bfe348f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe1a2a5ff1a478000, rs 0x70dc3454bfe348f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x386e1a2a5ff1a478, rs 0x70dc3454bfe348f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2d2f2d8400000000, rs 0x5a5e5b08, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2d2f2d840000, rs 0x5a5e5b08, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2d2f2d840, rs 0x5a5e5b08, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeeb6920d80000000, rs 0xbddc7123dd6d241b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3891eeb6920d8000, rs 0xbddc7123dd6d241b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xeee3891eeb6920d8, rs 0xbddc7123dd6d241b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2b8ebee880000000, rs 0x571d7dd1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2b8ebee88000, rs 0x571d7dd1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2b8ebee88, rs 0x571d7dd1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd2cfe75f00000000, rs 0xf62fb727a59fcebe, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xdb93d2cfe75f0000, rs 0xf62fb727a59fcebe, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb17db93d2cfe75f0, rs 0xf62fb727a59fcebe, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x29ee303300000000, rs 0x53dc6066, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x29ee30330000, rs 0x53dc6066, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x29ee30330, rs 0x53dc6066, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x87cfa37d80000000, rs 0x109f27e90f9f46fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x93f487cfa37d8000, rs 0x109f27e90f9f46fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x84f93f487cfa37d8, rs 0x109f27e90f9f46fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x26cd983180000000, rs 0x4d9b3063, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x26cd98318000, rs 0x4d9b3063, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x26cd98318, rs 0x4d9b3063, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd7e8cceb80000000, rs 0x3f63daa9afd199d7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xed54d7e8cceb8000, rs 0x3f63daa9afd199d7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfb1ed54d7e8cceb8, rs 0x3f63daa9afd199d7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x24ad16ea00000000, rs 0x495a2dd4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x24ad16ea0000, rs 0x495a2dd4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x24ad16ea0, rs 0x495a2dd4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x51ea427900000000, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x989751ea42790000, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xde5989751ea42790, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x220c858680000000, rs 0x44190b0d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x220c85868000, rs 0x44190b0d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x220c85868, rs 0x44190b0d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6d27f26300000000, rs 0x1f353faada4fe4c6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9fd56d27f2630000, rs 0x1f353faada4fe4c6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf9a9fd56d27f2630, rs 0x1f353faada4fe4c6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x206c0b5d00000000, rs 0x40d816ba, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x206c0b5d0000, rs 0x40d816ba, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x206c0b5d0, rs 0x40d816ba, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x38a8613000000000, rs 0x8b086ee07150c260, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x377038a861300000, rs 0x8b086ee07150c260, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x584377038a861300, rs 0x8b086ee07150c260, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd652e34b80000000, rs 0xffffffffaca5c697, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd652e34b8000, rs 0xffffffffaca5c697, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd652e34b8, rs 0xffffffffaca5c697, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xec92bf9280000000, rs 0xe54750d5d9257f25, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa86aec92bf928000, rs 0xe54750d5d9257f25, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2a3a86aec92bf928, rs 0xe54750d5d9257f25, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd4326d9000000000, rs 0xffffffffa864db20, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd4326d900000, rs 0xffffffffa864db20, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd4326d900, rs 0xffffffffa864db20, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf4d36dad80000000, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb12ff4d36dad8000, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xeb4b12ff4d36dad8, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd293fefc80000000, rs 0xffffffffa527fdf9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd293fefc8000, rs 0xffffffffa527fdf9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd293fefc8, rs 0xffffffffa527fdf9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x21a0564b00000000, rs 0x70a3e0424340ac96, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf02121a0564b0000, rs 0x70a3e0424340ac96, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x851f02121a0564b0, rs 0x70a3e0424340ac96, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd0f3702700000000, rs 0xffffffffa1e6e04e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd0f370270000, rs 0xffffffffa1e6e04e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd0f370270, rs 0xffffffffa1e6e04e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb4c00b8f00000000, rs 0xc0478f036980171e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc781b4c00b8f0000, rs 0xc0478f036980171e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x23c781b4c00b8f0, rs 0xc0478f036980171e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdfd0d82580000000, rs 0xffffffffbfa1b04b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdfd0d8258000, rs 0xffffffffbfa1b04b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdfd0d8258, rs 0xffffffffbfa1b04b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8e7c94f180000000, rs 0x3ce839a51cf929e3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1cd28e7c94f18000, rs 0x3ce839a51cf929e3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe741cd28e7c94f18, rs 0x3ce839a51cf929e3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xddb056fe00000000, rs 0xffffffffbb60adfc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffddb056fe0000, rs 0xffffffffbb60adfc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffddb056fe0, rs 0xffffffffbb60adfc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xaf5b44ac00000000, rs 0xe2fbfa895eb68958, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfd44af5b44ac0000, rs 0xe2fbfa895eb68958, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x17dfd44af5b44ac0, rs 0xe2fbfa895eb68958, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdb11c59280000000, rs 0xffffffffb6238b25, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdb11c5928000, rs 0xffffffffb6238b25, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdb11c5928, rs 0xffffffffb6238b25, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbb7692db80000000, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd82ebb7692db8000, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x925d82ebb7692db8, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd9714b4900000000, rs 0xffffffffb2e29692, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd9714b490000, rs 0xffffffffb2e29692, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd9714b490, rs 0xffffffffb2e29692, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb81897880000000, rs 0xeb9682c170312f1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb4160b8189788000, rs 0xeb9682c170312f1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x75cb4160b8189788, rs 0xeb9682c170312f1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc556959780000000, rs 0xffffffff8aad2b2f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc55695978000, rs 0xffffffff8aad2b2f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc55695978, rs 0xffffffff8aad2b2f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6e980e8680000000, rs 0x84785280dd301d0d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x29406e980e868000, rs 0x84785280dd301d0d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x23c29406e980e868, rs 0x84785280dd301d0d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfc7eb7780000000, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3bd50fc7eb778000, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbce3bd50fc7eb778, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x94cc21b680000000, rs 0x26444ced2998436d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x267694cc21b68000, rs 0x26444ced2998436d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x322267694cc21b68, rs 0x26444ced2998436d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc3f706fb00000000, rs 0xffffffff87ee0df6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc3f706fb0000, rs 0xffffffff87ee0df6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc3f706fb0, rs 0xffffffff87ee0df6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeac6538400000000, rs 0x7175c9dd58ca708, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xae4eeac653840000, rs 0x7175c9dd58ca708, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x38bae4eeac653840, rs 0x7175c9dd58ca708, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xccd4aef980000000, rs 0xffffffff99a95df3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffccd4aef98000, rs 0xffffffff99a95df3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffccd4aef98, rs 0xffffffff99a95df3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2ac1994380000000, rs 0x663d061055833287, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x83082ac199438000, rs 0x663d061055833287, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x31e83082ac199438, rs 0x663d061055833287, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xceb4202200000000, rs 0xffffffff9d684044, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffceb420220000, rs 0xffffffff9d684044, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffceb420220, rs 0xffffffff9d684044, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x44a8eb4580000000, rs 0xab7dd0488951d68b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe82444a8eb458000, rs 0xab7dd0488951d68b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5bee82444a8eb458, rs 0xab7dd0488951d68b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc815b34e80000000, rs 0xffffffff902b669d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc815b34e8000, rs 0xffffffff902b669d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc815b34e8, rs 0xffffffff902b669d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8741238d80000000, rs 0xf69823670e82471b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x11b38741238d8000, rs 0xf69823670e82471b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb4c11b38741238d8, rs 0xf69823670e82471b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xca753d9500000000, rs 0xffffffff94ea7b2a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffca753d950000, rs 0xffffffff94ea7b2a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffca753d950, rs 0xffffffff94ea7b2a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xecc6935900000000, rs 0x36886c59d98d26b2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x362cecc693590000, rs 0x36886c59d98d26b2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb44362cecc693590, rs 0x36886c59d98d26b2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf05a0ef380000000, rs 0xffffffffe0b41de7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff05a0ef38000, rs 0xffffffffe0b41de7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff05a0ef38, rs 0xffffffffe0b41de7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe995f23c80000000, rs 0x9ca4bdbd32be479, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x25ede995f23c8000, rs 0x9ca4bdbd32be479, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4e525ede995f23c8, rs 0x9ca4bdbd32be479, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf23a802800000000, rs 0xffffffffe4750050, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff23a80280000, rs 0xffffffffe4750050, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff23a80280, rs 0xffffffffe4750050, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xccb1730f80000000, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xbe8eccb1730f8000, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xeaebe8eccb1730f8, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf49b134480000000, rs 0xffffffffe9362689, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff49b13448000, rs 0xffffffffe9362689, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff49b13448, rs 0xffffffffe9362689, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6569ba6f80000000, rs 0x3f46553ecad374df, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2a9f6569ba6f8000, rs 0x3f46553ecad374df, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfa32a9f6569ba6f8, rs 0x3f46553ecad374df, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf6fb9d9f00000000, rs 0xffffffffedf73b3e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff6fb9d9f0000, rs 0xffffffffedf73b3e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff6fb9d9f0, rs 0xffffffffedf73b3e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9f76f95380000000, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5cbe9f76f9538000, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x74d5cbe9f76f9538, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf9d8359d80000000, rs 0xfffffffff3b06b3b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff9d8359d8000, rs 0xfffffffff3b06b3b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff9d8359d8, rs 0xfffffffff3b06b3b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1e064f9980000000, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7bfd1e064f998000, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb537bfd1e064f998, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfbb8bb4600000000, rs 0xfffffffff771768c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffbb8bb460000, rs 0xfffffffff771768c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffbb8bb460, rs 0xfffffffff771768c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8aaf64ee00000000, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9c718aaf64ee0000, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5dc9c718aaf64ee0, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfd19282a80000000, rs 0xfffffffffa325055, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffd19282a8000, rs 0xfffffffffa325055, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffd19282a8, rs 0xfffffffffa325055, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xca3c10300000000, rs 0xd2df25c419478206, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x92e20ca3c1030000, rs 0xd2df25c419478206, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x96f92e20ca3c1030, rs 0xd2df25c419478206, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xff79a6f100000000, rs 0xfffffffffef34de2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffff79a6f10000, rs 0xfffffffffef34de2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffff79a6f10, rs 0xfffffffffef34de2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf5990c1280000000, rs 0xbc65bf27eb321825, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xdf93f5990c128000, rs 0xbc65bf27eb321825, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe32df93f5990c128, rs 0xbc65bf27eb321825, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe35e782f80000000, rs 0xffffffffc6bcf05f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe35e782f8000, rs 0xffffffffc6bcf05f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe35e782f8, rs 0xffffffffc6bcf05f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3d45e3ed00000000, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x47f33d45e3ed0000, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x45847f33d45e3ed0, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe13ef6f400000000, rs 0xffffffffc27dede8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe13ef6f40000, rs 0xffffffffc27dede8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe13ef6f40, rs 0xffffffffc27dede8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x7c6fe6f400000000, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xade57c6fe6f40000, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x295ade57c6fe6f40, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe79f659880000000, rs 0xffffffffcf3ecb31, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe79f65988000, rs 0xffffffffcf3ecb31, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe79f65988, rs 0xffffffffcf3ecb31, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xacd4c93480000000, rs 0x478909b59a99269, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x484dacd4c9348000, rs 0x478909b59a99269, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x23c484dacd4c9348, rs 0x478909b59a99269, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe5ffeb4300000000, rs 0xffffffffcbffd686, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe5ffeb430000, rs 0xffffffffcbffd686, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe5ffeb430, rs 0xffffffffcbffd686, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3c2b9b0780000000, rs 0xbfb31cc87857360f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x8e643c2b9b078000, rs 0xbfb31cc87857360f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfd98e643c2b9b078, rs 0xbfb31cc87857360f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeadc434180000000, rs 0xffffffffd5b88683, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffeadc43418000, rs 0xffffffffd5b88683, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffeadc43418, rs 0xffffffffd5b88683, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3fc4f4d100000000, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf6af3fc4f4d10000, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb32f6af3fc4f4d10, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe8bccd9a00000000, rs 0xffffffffd1799b34, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe8bccd9a0000, rs 0xffffffffd1799b34, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe8bccd9a0, rs 0xffffffffd1799b34, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5bd46af200000000, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4a3a5bd46af20000, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xaed4a3a5bd46af20, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xee1d5ef680000000, rs 0xffffffffdc3abded, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffee1d5ef68000, rs 0xffffffffdc3abded, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffee1d5ef68, rs 0xffffffffdc3abded, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x957c87e600000000, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa9be957c87e60000, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb59a9be957c87e60, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xec7dd02d00000000, rs 0xffffffffd8fba05a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffec7dd02d0000, rs 0xffffffffd8fba05a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffec7dd02d0, rs 0xffffffffd8fba05a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x15cb0c4b80000000, rs 0x223d7cfe2b961897, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xbe7f15cb0c4b8000, rs 0x223d7cfe2b961897, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x11ebe7f15cb0c4b8, rs 0x223d7cfe2b961897, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3486707700000000, rs 0x690ce0ee, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x348670770000, rs 0x690ce0ee, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x348670770, rs 0x690ce0ee, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x99b9a52580000000, rs 0x420b34f533734a4b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9a7a99b9a5258000, rs 0x420b34f533734a4b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1059a7a99b9a5258, rs 0x420b34f533734a4b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x36e6feac80000000, rs 0x6dcdfd59, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x36e6feac8000, rs 0x6dcdfd59, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x36e6feac8, rs 0x6dcdfd59, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeea3599e00000000, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4646eea3599e0000, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4be4646eea3599e0, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x30476dc000000000, rs 0x608edb80, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x30476dc00000, rs 0x608edb80, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x30476dc00, rs 0x608edb80, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf1c9666c80000000, rs 0x7a387445e392ccd9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3a22f1c9666c8000, rs 0x7a387445e392ccd9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd1c3a22f1c9666c8, rs 0x7a387445e392ccd9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3227e31b80000000, rs 0x644fc637, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3227e31b8000, rs 0x644fc637, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3227e31b8, rs 0x644fc637, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xec00006480000000, rs 0x512f29b1d80000c9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x94d8ec0000648000, rs 0x512f29b1d80000c9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x89794d8ec0000648, rs 0x512f29b1d80000c9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3d044b1900000000, rs 0x7a089632, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3d044b190000, rs 0x7a089632, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3d044b190, rs 0x7a089632, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9ed6810500000000, rs 0xeaded5c53dad020a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6ae29ed681050000, rs 0xeaded5c53dad020a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x56f6ae29ed681050, rs 0xeaded5c53dad020a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3f64c5c280000000, rs 0x7ec98b85, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3f64c5c28000, rs 0x7ec98b85, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3f64c5c28, rs 0x7ec98b85, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x98f751ad80000000, rs 0x8a6229d731eea35b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x14eb98f751ad8000, rs 0x8a6229d731eea35b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x53114eb98f751ad8, rs 0x8a6229d731eea35b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x39c556ae00000000, rs 0x738aad5c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x39c556ae0000, rs 0x738aad5c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x39c556ae0, rs 0x738aad5c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x244c2b2480000000, rs 0x2c3c3f9e48985649, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1fcf244c2b248000, rs 0x2c3c3f9e48985649, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x61e1fcf244c2b248, rs 0x2c3c3f9e48985649, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3ba5d87580000000, rs 0x774bb0eb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3ba5d8758000, rs 0x774bb0eb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3ba5d8758, rs 0x774bb0eb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6e4e05bb80000000, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf3c6e4e05bb8000, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffb0f3c6e4e05bb8, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x278206ab00000000, rs 0x4f040d56, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x278206ab0000, rs 0x4f040d56, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x278206ab0, rs 0x4f040d56, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeaf347600000000, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd8700eaf34760000, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x14cd8700eaf34760, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x25e2887080000000, rs 0x4bc510e1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x25e288708000, rs 0x4bc510e1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x25e288708, rs 0x4bc510e1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9e86371280000000, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x82339e8637128000, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe1d82339e8637128, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x23431b1c00000000, rs 0x46863638, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x23431b1c0000, rs 0x46863638, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x23431b1c0, rs 0x46863638, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf3fdb2c380000000, rs 0x164e17c1e7fb6587, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xbe0f3fdb2c38000, rs 0x164e17c1e7fb6587, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb270be0f3fdb2c38, rs 0x164e17c1e7fb6587, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x212395c780000000, rs 0x42472b8f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x212395c78000, rs 0x42472b8f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x212395c78, rs 0x42472b8f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xab6a4a8580000000, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5145ab6a4a858000, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd265145ab6a4a858, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2e003dc500000000, rs 0x5c007b8a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2e003dc50000, rs 0x5c007b8a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2e003dc50, rs 0x5c007b8a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5f3fd04500000000, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd18a5f3fd0450000, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2f4d18a5f3fd0450, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2c60b31e80000000, rs 0x58c1663d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2c60b31e8000, rs 0x58c1663d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2c60b31e8, rs 0x58c1663d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xacb24e280000000, rs 0xf8be8164159649c5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x40b20acb24e28000, rs 0xf8be8164159649c5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc5f40b20acb24e28, rs 0xf8be8164159649c5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2ac1207200000000, rs 0x558240e4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2ac120720000, rs 0x558240e4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2ac120720, rs 0x558240e4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc2734d8b80000000, rs 0x7ca3259784e69b17, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x92cbc2734d8b8000, rs 0x7ca3259784e69b17, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe5192cbc2734d8b8, rs 0x7ca3259784e69b17, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x28a1aea980000000, rs 0x51435d53, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x28a1aea98000, rs 0x51435d53, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x28a1aea98, rs 0x51435d53, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x50f927ae00000000, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xaa1e50f927ae0000, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe46aa1e50f927ae0, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x128e9dcf00000000, rs 0x251d3b9e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x128e9dcf0000, rs 0x251d3b9e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x128e9dcf0, rs 0x251d3b9e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x71a2cf1b00000000, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb65071a2cf1b0000, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x575b65071a2cf1b0, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x10ee131480000000, rs 0x21dc2629, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x10ee13148000, rs 0x21dc2629, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x10ee13148, rs 0x21dc2629, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc3cc07d00000000, rs 0xc532e18e187980fa, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x70c70c3cc07d0000, rs 0xc532e18e187980fa, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x29970c70c3cc07d0, rs 0xc532e18e187980fa, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x164f807800000000, rs 0x2c9f00f0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x164f80780000, rs 0x2c9f00f0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x164f80780, rs 0x2c9f00f0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa7943e8e00000000, rs 0xb3fdec294f287d1c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf614a7943e8e0000, rs 0xb3fdec294f287d1c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9fef614a7943e8e0, rs 0xb3fdec294f287d1c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x142f0ea380000000, rs 0x285e1d47, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x142f0ea38000, rs 0x285e1d47, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x142f0ea38, rs 0x285e1d47, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x24b995c800000000, rs 0xb620660a49732b90, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x330524b995c80000, rs 0xb620660a49732b90, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb10330524b995c80, rs 0xb620660a49732b90, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1b0ca6a100000000, rs 0x36194d42, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1b0ca6a10000, rs 0x36194d42, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1b0ca6a10, rs 0x36194d42, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb67ef4c880000000, rs 0x993138f16cfde991, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9c78b67ef4c88000, rs 0x993138f16cfde991, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc989c78b67ef4c88, rs 0x993138f16cfde991, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x196c287a80000000, rs 0x32d850f5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x196c287a8000, rs 0x32d850f5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x196c287a8, rs 0x32d850f5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbeaa03dc80000000, rs 0xde02d1337d5407b9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6899beaa03dc8000, rs 0xde02d1337d5407b9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf016899beaa03dc8, rs 0xde02d1337d5407b9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1fcdbb1600000000, rs 0x3f9b762c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1fcdbb160000, rs 0x3f9b762c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1fcdbb160, rs 0x3f9b762c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf0ed58ad00000000, rs 0x13a390e1e1dab15a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc870f0ed58ad0000, rs 0x13a390e1e1dab15a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9d1c870f0ed58ad0, rs 0x13a390e1e1dab15a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1dad35cd80000000, rs 0x3b5a6b9b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1dad35cd8000, rs 0x3b5a6b9b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1dad35cd8, rs 0x3b5a6b9b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x41438b6400000000, rs 0x743491a6828716c8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x48d341438b640000, rs 0x743491a6828716c8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa1a48d341438b640, rs 0x743491a6828716c8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x18aeb1300000000, rs 0x315d626, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x18aeb130000, rs 0x315d626, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x18aeb130, rs 0x315d626, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x76f1497900000000, rs 0x8cff404aede292f2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa02576f149790000, rs 0x8cff404aede292f2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x67fa02576f149790, rs 0x8cff404aede292f2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3ea65c880000000, rs 0x7d4cb91, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3ea65c88000, rs 0x7d4cb91, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3ea65c88, rs 0x7d4cb91, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8fc1bb1b00000000, rs 0xb9cec0db1f837636, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x606d8fc1bb1b0000, rs 0xb9cec0db1f837636, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xce7606d8fc1bb1b0, rs 0xb9cec0db1f837636, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x54bf6a400000000, rs 0xa97ed48, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x54bf6a40000, rs 0xa97ed48, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x54bf6a40, rs 0xa97ed48, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8284bb8e00000000, rs 0x2eaa5aa70509771c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2d538284bb8e0000, rs 0x2eaa5aa70509771c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x7552d538284bb8e0, rs 0x2eaa5aa70509771c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x72b787f80000000, rs 0xe56f0ff, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x72b787f8000, rs 0xe56f0ff, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x72b787f8, rs 0xe56f0ff, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc3a920d80000000, rs 0xd327538e1875241b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa9c70c3a920d8000, rs 0xd327538e1875241b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x993a9c70c3a920d8, rs 0xd327538e1875241b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x808d07d00000000, rs 0x1011a0fa, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x808d07d0000, rs 0x1011a0fa, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x808d07d0, rs 0x1011a0fa, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x45b9cdb580000000, rs 0x42e9f8548b739b6b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfc2a45b9cdb58000, rs 0x42e9f8548b739b6b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x174fc2a45b9cdb58, rs 0x42e9f8548b739b6b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa685ea680000000, rs 0x14d0bd4d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa685ea68000, rs 0x14d0bd4d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa685ea68, rs 0x14d0bd4d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x7665dd0d00000000, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x72867665dd0d0000, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc7272867665dd0d0, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcc9cdca00000000, rs 0x19939b94, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcc9cdca0000, rs 0x19939b94, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xcc9cdca0, rs 0x19939b94, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe6ce93e580000000, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7d1fe6ce93e58000, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb5b7d1fe6ce93e58, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xea9431180000000, rs 0x1d528623, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xea943118000, rs 0x1d528623, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xea943118, rs 0x1d528623, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd71f4a1180000000, rs 0x73916483ae3e9423, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb241d71f4a118000, rs 0x73916483ae3e9423, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9c8b241d71f4a118, rs 0x73916483ae3e9423, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf897ab0700000000, rs 0xfffffffff12f560e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff897ab070000, rs 0xfffffffff12f560e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff897ab070, rs 0xfffffffff12f560e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x70942b080000000, rs 0x276af70a0e128561, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7b85070942b08000, rs 0x276af70a0e128561, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3b57b85070942b08, rs 0x276af70a0e128561, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfaf725dc80000000, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffaf725dc8000, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffaf725dc8, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5af3a5b700000000, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2dfb5af3a5b70000, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1822dfb5af3a5b70, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfc56b6b000000000, rs 0xfffffffff8ad6d60, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffc56b6b00000, rs 0xfffffffff8ad6d60, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffc56b6b00, rs 0xfffffffff8ad6d60, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x845667d300000000, rs 0x20223f1308accfa6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1f89845667d30000, rs 0x20223f1308accfa6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x111f89845667d30, rs 0x20223f1308accfa6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfe36386b80000000, rs 0xfffffffffc6c70d7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffe36386b8000, rs 0xfffffffffc6c70d7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffe36386b8, rs 0xfffffffffc6c70d7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1cbb5afa80000000, rs 0xf83c55743976b5f5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2aba1cbb5afa8000, rs 0xf83c55743976b5f5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc1e2aba1cbb5afa8, rs 0xf83c55743976b5f5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf115906900000000, rs 0xffffffffe22b20d2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff11590690000, rs 0xffffffffe22b20d2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff11590690, rs 0xffffffffe22b20d2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa3491e1e80000000, rs 0x1f9720f946923c3d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x907ca3491e1e8000, rs 0x1f9720f946923c3d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfcb907ca3491e1e8, rs 0x1f9720f946923c3d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf3751eb280000000, rs 0xffffffffe6ea3d65, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff3751eb28000, rs 0xffffffffe6ea3d65, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff3751eb28, rs 0xffffffffe6ea3d65, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3692246e80000000, rs 0x620d28506d2448dd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x94283692246e8000, rs 0x620d28506d2448dd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x10694283692246e8, rs 0x620d28506d2448dd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf5d48dde00000000, rs 0xffffffffeba91bbc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff5d48dde0000, rs 0xffffffffeba91bbc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff5d48dde0, rs 0xffffffffeba91bbc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcffa539900000000, rs 0x60a521e99ff4a732, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x90f4cffa53990000, rs 0x60a521e99ff4a732, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5290f4cffa53990, rs 0x60a521e99ff4a732, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf7b4030580000000, rs 0xffffffffef68060b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff7b403058000, rs 0xffffffffef68060b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff7b403058, rs 0xffffffffef68060b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xae34078580000000, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x79d5ae3407858000, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd0479d5ae3407858, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeb93dddb00000000, rs 0xffffffffd727bbb6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffeb93dddb0000, rs 0xffffffffd727bbb6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffeb93dddb0, rs 0xffffffffd727bbb6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0079e9300000000, rs 0xc7a59be7800f3d26, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcdf3c0079e930000, rs 0xc7a59be7800f3d26, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3d2cdf3c0079e930, rs 0xc7a59be7800f3d26, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe9f3530080000000, rs 0xffffffffd3e6a601, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe9f353008000, rs 0xffffffffd3e6a601, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe9f353008, rs 0xffffffffd3e6a601, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc1650da080000000, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6f94c1650da08000, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd766f94c1650da08, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xef52c06c00000000, rs 0xffffffffdea580d8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffef52c06c0000, rs 0xffffffffdea580d8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffef52c06c0, rs 0xffffffffdea580d8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3068cee680000000, rs 0x2b8613a260d19dcd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9d13068cee68000, rs 0x2b8613a260d19dcd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5c309d13068cee68, rs 0x2b8613a260d19dcd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xed324eb780000000, rs 0xffffffffda649d6f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffed324eb78000, rs 0xffffffffda649d6f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffed324eb78, rs 0xffffffffda649d6f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8745df3f80000000, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x56458745df3f8000, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x28c56458745df3f8, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe211e6b500000000, rs 0xffffffffc423cd6a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe211e6b50000, rs 0xffffffffc423cd6a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe211e6b50, rs 0xffffffffc423cd6a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x97e7a43580000000, rs 0x743e568d2fcf486b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2b4697e7a4358000, rs 0x743e568d2fcf486b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa1f2b4697e7a4358, rs 0x743e568d2fcf486b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9a618b9400000000, rs 0x126f646f34c31728, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb2379a618b940000, rs 0x126f646f34c31728, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x937b2379a618b940, rs 0x126f646f34c31728, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe6d0fb0200000000, rs 0xffffffffcda1f604, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe6d0fb020000, rs 0xffffffffcda1f604, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe6d0fb020, rs 0xffffffffcda1f604, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xab7e268900000000, rs 0xaab0196156fc4d12, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcb0ab7e26890000, rs 0xaab0196156fc4d12, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5580cb0ab7e26890, rs 0xaab0196156fc4d12, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc2cae9a100000000, rs 0x7535cd338595d342, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe699c2cae9a10000, rs 0x7535cd338595d342, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa9ae699c2cae9a10, rs 0x7535cd338595d342, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xde9f46bf00000000, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffde9f46bf0000, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffde9f46bf0, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2111a37600000000, rs 0xdfb254da422346ec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2a6d2111a3760000, rs 0xdfb254da422346ec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfd92a6d2111a3760, rs 0xdfb254da422346ec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdcffc86480000000, rs 0xffffffffb9ff90c9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdcffc8648000, rs 0xffffffffb9ff90c9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdcffc8648, rs 0xffffffffb9ff90c9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8040d59500000000, rs 0xa86726c90081ab2a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x93648040d5950000, rs 0xa86726c90081ab2a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x43393648040d5950, rs 0xa86726c90081ab2a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xda5e5b0800000000, rs 0xffffffffb4bcb610, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffda5e5b080000, rs 0xffffffffb4bcb610, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffda5e5b080, rs 0xffffffffb4bcb610, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb3ceba1c00000000, rs 0x9bfeffa1679d7438, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7fd0b3ceba1c0000, rs 0x9bfeffa1679d7438, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xdff7fd0b3ceba1c0, rs 0x9bfeffa1679d7438, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd83ed5d380000000, rs 0xffffffffb07daba7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd83ed5d38000, rs 0xffffffffb07daba7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd83ed5d38, rs 0xffffffffb07daba7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5bef712200000000, rs 0xc7699826b7dee244, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcc135bef71220000, rs 0xc7699826b7dee244, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3b4cc135bef71220, rs 0xc7699826b7dee244, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd71d7dd100000000, rs 0xffffffffae3afba2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd71d7dd10000, rs 0xffffffffae3afba2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd71d7dd10, rs 0xffffffffae3afba2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfdd3382500000000, rs 0x3c07af97fba6704a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd7cbfdd338250000, rs 0x3c07af97fba6704a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe03d7cbfdd338250, rs 0x3c07af97fba6704a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd57df30a80000000, rs 0xffffffffaafbe615, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd57df30a8000, rs 0xffffffffaafbe615, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd57df30a8, rs 0xffffffffaafbe615, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x262c5ff00000000, rs 0x521364dc04c58bfe, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb26e0262c5ff0000, rs 0x521364dc04c58bfe, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x909b26e0262c5ff0, rs 0x521364dc04c58bfe, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd3dc606600000000, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd3dc60660000, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd3dc60660, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4d5bd75e00000000, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xddac4d5bd75e0000, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x7bddac4d5bd75e0, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd1bceebd80000000, rs 0xffffffffa379dd7b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd1bceebd8000, rs 0xffffffffa379dd7b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd1bceebd8, rs 0xffffffffa379dd7b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6f75caa680000000, rs 0xe336c60cdeeb954d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x63066f75caa68000, rs 0xe336c60cdeeb954d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x19b63066f75caa68, rs 0xe336c60cdeeb954d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcd9b306300000000, rs 0xffffffff9b3660c6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcd9b30630000, rs 0xffffffff9b3660c6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcd9b30630, rs 0xffffffff9b3660c6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x37a920b700000000, rs 0xd5b2120c6f52416e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x90637a920b70000, rs 0xd5b2120c6f52416e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xad9090637a920b70, rs 0xd5b2120c6f52416e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcffbbeb880000000, rs 0xffffffff9ff77d71, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcffbbeb88000, rs 0xffffffff9ff77d71, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcffbbeb88, rs 0xffffffff9ff77d71, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbf31451a00000000, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6a7fbf31451a0000, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2d16a7fbf31451a0, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc95a2dd400000000, rs 0xffffffff92b45ba8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc95a2dd40000, rs 0xffffffff92b45ba8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc95a2dd40, rs 0xffffffff92b45ba8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa5273f0380000000, rs 0x986a2b654a4e7e07, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x15b2a5273f038000, rs 0x986a2b654a4e7e07, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc3515b2a5273f038, rs 0x986a2b654a4e7e07, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcb3aa30f80000000, rs 0xffffffff9675461f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcb3aa30f8000, rs 0xffffffff9675461f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcb3aa30f8, rs 0xffffffff9675461f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1d244daa80000000, rs 0xa974eac43a489b55, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x75621d244daa8000, rs 0xa974eac43a489b55, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4ba75621d244daa8, rs 0xa974eac43a489b55, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc4190b0d00000000, rs 0xffffffff8832161a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc4190b0d0000, rs 0xffffffff8832161a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc4190b0d0, rs 0xffffffff8832161a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3978fc7a80000000, rs 0xa388c16272f1f8f5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x60b13978fc7a8000, rs 0xa388c16272f1f8f5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1c460b13978fc7a8, rs 0xa388c16272f1f8f5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc67985d680000000, rs 0xffffffff8cf30bad, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc67985d68000, rs 0xffffffff8cf30bad, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc67985d68, rs 0xffffffff8cf30bad, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf3a4af5480000000, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x8fa2f3a4af548000, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4608fa2f3a4af548, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0d816ba00000000, rs 0xffffffff81b02d74, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc0d816ba0000, rs 0xffffffff81b02d74, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc0d816ba0, rs 0xffffffff81b02d74, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2e60e45a00000000, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2d3b2e60e45a0000, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6d52d3b2e60e45a0, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc2b8986180000000, rs 0xffffffff857130c3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc2b898618000, rs 0xffffffff857130c3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc2b898618, rs 0xffffffff857130c3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6fd302e000000000, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x67446fd302e00000, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd5a67446fd302e00, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2ec5484c80000000, rs 0x5d8a9099, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2ec5484c8000, rs 0x5d8a9099, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2ec5484c8, rs 0x5d8a9099, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2cd3d82780000000, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6b732cd3d8278000, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa156b732cd3d8278, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2ca5c69700000000, rs 0x594b8d2e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2ca5c6970000, rs 0x594b8d2e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2ca5c6970, rs 0x594b8d2e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5b94491780000000, rs 0x4bf8485ab728922f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x242d5b9449178000, rs 0x4bf8485ab728922f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5fc242d5b9449178, rs 0x4bf8485ab728922f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2a0455fb80000000, rs 0x5408abf7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2a0455fb8000, rs 0x5408abf7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2a0455fb8, rs 0x5408abf7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1db353fd80000000, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xeb061db353fd8000, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb51eb061db353fd8, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2864db2000000000, rs 0x50c9b640, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2864db200000, rs 0x50c9b640, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2864db200, rs 0x50c9b640, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfee1476d00000000, rs 0x31e0c6affdc28eda, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6357fee1476d0000, rs 0x31e0c6affdc28eda, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8f06357fee1476d0, rs 0x31e0c6affdc28eda, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2747732280000000, rs 0x4e8ee645, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x274773228000, rs 0x4e8ee645, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x274773228, rs 0x4e8ee645, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5f864cce80000000, rs 0x53606bb4bf0c999d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x35da5f864cce8000, rs 0x53606bb4bf0c999d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9b035da5f864cce8, rs 0x53606bb4bf0c999d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2527fdf900000000, rs 0x4a4ffbf2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2527fdf90000, rs 0x4a4ffbf2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2527fdf90, rs 0x4a4ffbf2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdbc8cf800000000, rs 0x32fc12c81b7919f0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9640dbc8cf80000, rs 0x32fc12c81b7919f0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x97e09640dbc8cf80, rs 0x32fc12c81b7919f0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x23866e9580000000, rs 0x470cdd2b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x23866e958000, rs 0x470cdd2b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x23866e958, rs 0x470cdd2b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x63977e6b00000000, rs 0x3ef88384c72efcd6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x41c263977e6b0000, rs 0x3ef88384c72efcd6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf7c41c263977e6b0, rs 0x3ef88384c72efcd6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x21e6e04e00000000, rs 0x43cdc09c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x21e6e04e0000, rs 0x43cdc09c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x21e6e04e0, rs 0x43cdc09c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb5151ac000000000, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe3ddb5151ac00000, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc58e3ddb5151ac00, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3dc13e9080000000, rs 0x7b827d21, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3dc13e908000, rs 0x7b827d21, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3dc13e908, rs 0x7b827d21, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xee53be480000000, rs 0x15ebf6121dca77c9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfb090ee53be48000, rs 0x15ebf6121dca77c9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xaf5fb090ee53be48, rs 0x15ebf6121dca77c9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3fa1b04b00000000, rs 0x7f436096, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3fa1b04b0000, rs 0x7f436096, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3fa1b04b0, rs 0x7f436096, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfec8a3d700000000, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x66ecfec8a3d70000, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf5566ecfec8a3d70, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3900232780000000, rs 0x7200464f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x390023278000, rs 0x7200464f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x390023278, rs 0x7200464f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0f4888b80000000, rs 0xbb8470f981e91117, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x387cc0f4888b8000, rs 0xbb8470f981e91117, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xdc2387cc0f4888b8, rs 0xbb8470f981e91117, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3b60adfc00000000, rs 0x76c15bf8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3b60adfc0000, rs 0x76c15bf8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3b60adfc0, rs 0x76c15bf8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6352997000000000, rs 0x5d42aeac6a532e0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1575635299700000, rs 0x5d42aeac6a532e0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2ea1575635299700, rs 0x5d42aeac6a532e0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x344305fe80000000, rs 0x68860bfd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x344305fe8000, rs 0x68860bfd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x344305fe8, rs 0x68860bfd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcfdcf3180000000, rs 0x14abf36419fb9e63, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf9b20cfdcf318000, rs 0x14abf36419fb9e63, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa55f9b20cfdcf318, rs 0x14abf36419fb9e63, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x36238b2500000000, rs 0x6c47164a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x36238b250000, rs 0x6c47164a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x36238b250, rs 0x6c47164a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x546b955600000000, rs 0x249d559aa8d72aac, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xaacd546b95560000, rs 0x249d559aa8d72aac, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x24eaacd546b95560, rs 0x249d559aa8d72aac, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3082184980000000, rs 0x61043093, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x308218498000, rs 0x61043093, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x308218498, rs 0x61043093, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8425987600000000, rs 0xcd6764f084b30ec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3b27842598760000, rs 0xcd6764f084b30ec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x66b3b27842598760, rs 0xcd6764f084b30ec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x32e2969200000000, rs 0x65c52d24, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x32e296920000, rs 0x65c52d24, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x32e296920, rs 0x65c52d24, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc92347ef80000000, rs 0x7f03ac0792468fdf, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd603c92347ef8000, rs 0x7f03ac0792468fdf, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf81d603c92347ef8, rs 0x7f03ac0792468fdf, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8cda5f480000000, rs 0x119b4be9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x8cda5f48000, rs 0x119b4be9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8cda5f48, rs 0x119b4be9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xab73387a80000000, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe736ab73387a8000, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf1ae736ab73387a8, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xaad2b2f00000000, rs 0x155a565e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xaad2b2f0000, rs 0x155a565e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xaad2b2f0, rs 0x155a565e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8d32938880000000, rs 0x152828591a652711, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x142c8d3293888000, rs 0x152828591a652711, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa94142c8d3293888, rs 0x152828591a652711, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0cb84380000000, rs 0x18197087, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc0cb8438000, rs 0x18197087, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc0cb8438, rs 0x18197087, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe90ad4fd80000000, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1941e90ad4fd8000, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf0e1941e90ad4fd8, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe6c369800000000, rs 0x1cd86d30, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe6c36980000, rs 0x1cd86d30, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe6c36980, rs 0x1cd86d30, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9415020b80000000, rs 0x8d95c049282a0417, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe0249415020b8000, rs 0x8d95c049282a0417, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6cae0249415020b8, rs 0x8d95c049282a0417, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x14f9e9a80000000, rs 0x29f3d35, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x14f9e9a8000, rs 0x29f3d35, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x14f9e9a8, rs 0x29f3d35, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4bc02c7980000000, rs 0xf2e7a490978058f3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd2484bc02c798000, rs 0xf2e7a490978058f3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x973d2484bc02c798, rs 0xf2e7a490978058f3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x32f104100000000, rs 0x65e2082, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x32f10410000, rs 0x65e2082, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x32f10410, rs 0x65e2082, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4bad8d500000000, rs 0x775b4cca0975b1aa, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa66504bad8d50000, rs 0x775b4cca0975b1aa, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbada66504bad8d50, rs 0x775b4cca0975b1aa, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x58e832d80000000, rs 0xb1d065b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x58e832d8000, rs 0xb1d065b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x58e832d8, rs 0xb1d065b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1a88881000000000, rs 0xa2b84a635111020, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc2531a8888100000, rs 0xa2b84a635111020, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x515c2531a8888100, rs 0xa2b84a635111020, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x7ee0df600000000, rs 0xfdc1bec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7ee0df60000, rs 0xfdc1bec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x7ee0df60, rs 0xfdc1bec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd3ec45b780000000, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd069d3ec45b78000, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x11fd069d3ec45b78, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1bc9d32880000000, rs 0x3793a651, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1bc9d3288000, rs 0x3793a651, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1bc9d3288, rs 0x3793a651, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcca0ef6e80000000, rs 0xa3d991b79941dedd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc8dbcca0ef6e8000, rs 0xa3d991b79941dedd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1ecc8dbcca0ef6e8, rs 0xa3d991b79941dedd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x19a95df300000000, rs 0x3352bbe6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x19a95df30000, rs 0x3352bbe6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x19a95df30, rs 0x3352bbe6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xad06ca8400000000, rs 0x751cb4835a0d9508, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5a41ad06ca840000, rs 0x751cb4835a0d9508, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa8e5a41ad06ca840, rs 0x751cb4835a0d9508, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1f08ce9f80000000, rs 0x3e119d3f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1f08ce9f8000, rs 0x3e119d3f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1f08ce9f8, rs 0x3e119d3f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb12dd96980000000, rs 0x949cad35625bb2d3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x569ab12dd9698000, rs 0x949cad35625bb2d3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa4e569ab12dd9698, rs 0x949cad35625bb2d3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1d68404400000000, rs 0x3ad08088, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1d6840440000, rs 0x3ad08088, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1d6840440, rs 0x3ad08088, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd3494b9c80000000, rs 0x7f567f35a6929739, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3f9ad3494b9c8000, rs 0x7f567f35a6929739, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfab3f9ad3494b9c8, rs 0x7f567f35a6929739, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x124be84680000000, rs 0x2497d08d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x124be8468000, rs 0x2497d08d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x124be8468, rs 0x2497d08d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6dc6be9380000000, rs 0x185b88e0db8d7d27, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc4706dc6be938000, rs 0x185b88e0db8d7d27, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc2dc4706dc6be938, rs 0x185b88e0db8d7d27, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x102b669d00000000, rs 0x2056cd3a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x102b669d0000, rs 0x2056cd3a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x102b669d0, rs 0x2056cd3a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x17eb0dc880000000, rs 0x255a4cd22fd61b91, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x266917eb0dc88000, rs 0x255a4cd22fd61b91, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2ad266917eb0dc88, rs 0x255a4cd22fd61b91, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x168af5f180000000, rs 0x2d15ebe3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x168af5f18000, rs 0x2d15ebe3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x168af5f18, rs 0x2d15ebe3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd21b1fbd80000000, rs 0x1048d589a4363f7b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6ac4d21b1fbd8000, rs 0x1048d589a4363f7b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8246ac4d21b1fbd8, rs 0x1048d589a4363f7b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x14ea7b2a00000000, rs 0x29d4f654, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x14ea7b2a0000, rs 0x29d4f654, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x14ea7b2a0, rs 0x29d4f654, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x7a302bc800000000, rs 0x6a6d5708f4605790, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xab847a302bc80000, rs 0x6a6d5708f4605790, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x536ab847a302bc80, rs 0x6a6d5708f4605790, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe2d4933c80000000, rs 0xffffffffc5a92679, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe2d4933c8000, rs 0xffffffffc5a92679, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe2d4933c8, rs 0xffffffffc5a92679, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xef1ab4bf80000000, rs 0xd58ecbabde35697f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x65d5ef1ab4bf8000, rs 0xd58ecbabde35697f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xac765d5ef1ab4bf8, rs 0xd58ecbabde35697f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe0b41de700000000, rs 0xffffffffc1683bce, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe0b41de70000, rs 0xffffffffc1683bce, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe0b41de70, rs 0xffffffffc1683bce, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x846052f880000000, rs 0x575548fd08c0a5f1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa47e846052f88000, rs 0x575548fd08c0a5f1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbaaa47e846052f88, rs 0x575548fd08c0a5f1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe6158e8b80000000, rs 0xffffffffcc2b1d17, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe6158e8b8000, rs 0xffffffffcc2b1d17, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe6158e8b8, rs 0xffffffffcc2b1d17, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc76cc6ed80000000, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x207dc76cc6ed8000, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5db207dc76cc6ed8, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe475005000000000, rs 0xffffffffc8ea00a0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe47500500000, rs 0xffffffffc8ea00a0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe47500500, rs 0xffffffffc8ea00a0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x55e2bc6600000000, rs 0xbe00d51eabc578cc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6a8f55e2bc660000, rs 0xbe00d51eabc578cc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf006a8f55e2bc660, rs 0xbe00d51eabc578cc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeb56a85280000000, rs 0xffffffffd6ad50a5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffeb56a8528000, rs 0xffffffffd6ad50a5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffeb56a8528, rs 0xffffffffd6ad50a5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe0b855900000000, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x11250e0b85590000, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x7bf11250e0b85590, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe936268900000000, rs 0xffffffffd26c4d12, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe93626890000, rs 0xffffffffd26c4d12, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe93626890, rs 0xffffffffd26c4d12, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x51112b5380000000, rs 0xa978f12ca22256a7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x789651112b538000, rs 0xa978f12ca22256a7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4bc789651112b538, rs 0xa978f12ca22256a7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xef97b5e580000000, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffef97b5e58000, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffef97b5e58, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc08f701780000000, rs 0x9950a93b811ee02f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x549dc08f70178000, rs 0x9950a93b811ee02f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xca8549dc08f70178, rs 0x9950a93b811ee02f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xedf73b3e00000000, rs 0xffffffffdbee767c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffedf73b3e0000, rs 0xffffffffdbee767c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffedf73b3e0, rs 0xffffffffdbee767c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe33cb50600000000, rs 0xb44eea93c6796a0c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7549e33cb5060000, rs 0xb44eea93c6796a0c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa277549e33cb5060, rs 0xb44eea93c6796a0c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf1d0e5e080000000, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff1d0e5e08000, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff1d0e5e08, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x36075b2b80000000, rs 0xfe71fca06c0eb657, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfe5036075b2b8000, rs 0xfe71fca06c0eb657, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf38fe5036075b2b8, rs 0xfe71fca06c0eb657, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf3b06b3b00000000, rs 0xffffffffe760d676, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff3b06b3b0000, rs 0xffffffffe760d676, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff3b06b3b0, rs 0xffffffffe760d676, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfc0c57ab80000000, rs 0x4ed6393df818af57, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1c9efc0c57ab8000, rs 0x4ed6393df818af57, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x76b1c9efc0c57ab8, rs 0x4ed6393df818af57, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf511f85780000000, rs 0xffffffffea23f0af, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff511f8578000, rs 0xffffffffea23f0af, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff511f8578, rs 0xffffffffea23f0af, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x11b3b8500000000, rs 0xf22e90200236770a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4810011b3b850000, rs 0xf22e90200236770a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9174810011b3b850, rs 0xf22e90200236770a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf771768c00000000, rs 0xffffffffeee2ed18, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff771768c0000, rs 0xffffffffeee2ed18, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff771768c0, rs 0xffffffffeee2ed18, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd7e8622e80000000, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xdb63d7e8622e8000, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf7db63d7e8622e8, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf852de8e80000000, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff852de8e8000, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff852de8e8, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc08118ad80000000, rs 0xeed8f3518102315b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x79a8c08118ad8000, rs 0xeed8f3518102315b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x76c79a8c08118ad8, rs 0xeed8f3518102315b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfa32505500000000, rs 0xfffffffff464a0aa, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffa3250550000, rs 0xfffffffff464a0aa, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffa3250550, rs 0xfffffffff464a0aa, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xccaf7eaf00000000, rs 0xadafefb9995efd5e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf7dcccaf7eaf0000, rs 0xadafefb9995efd5e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6d7f7dcccaf7eaf0, rs 0xadafefb9995efd5e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfc93c33980000000, rs 0xfffffffff9278673, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffc93c3398000, rs 0xfffffffff9278673, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffc93c3398, rs 0xfffffffff9278673, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf592984300000000, rs 0x34061933eb253086, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc99f59298430000, rs 0x34061933eb253086, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa030c99f59298430, rs 0x34061933eb253086, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfef34de200000000, rs 0xfffffffffde69bc4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffef34de20000, rs 0xfffffffffde69bc4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffef34de20, rs 0xfffffffffde69bc4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x25a6295e00000000, rs 0x1748da264b4c52bc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6d1325a6295e0000, rs 0x1748da264b4c52bc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xba46d1325a6295e0, rs 0x1748da264b4c52bc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc4dc7e8480000000, rs 0xffffffff89b8fd09, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc4dc7e848000, rs 0xffffffff89b8fd09, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc4dc7e848, rs 0xffffffff89b8fd09, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x49815f4480000000, rs 0x34fdfc9a9302be89, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfe4d49815f448000, rs 0x34fdfc9a9302be89, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa7efe4d49815f448, rs 0x34fdfc9a9302be89, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc6bcf05f00000000, rs 0xffffffff8d79e0be, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc6bcf05f0000, rs 0xffffffff8d79e0be, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc6bcf05f0, rs 0xffffffff8d79e0be, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe290e8c000000000, rs 0xd00278c3c521d180, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3c61e290e8c00000, rs 0xd00278c3c521d180, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8013c61e290e8c00, rs 0xd00278c3c521d180, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc01d633380000000, rs 0xffffffff803ac667, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc01d63338000, rs 0xffffffff803ac667, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc01d63338, rs 0xffffffff803ac667, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x60e9bd2e80000000, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa25260e9bd2e8000, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x484a25260e9bd2e8, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc27dede800000000, rs 0xffffffff84fbdbd0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc27dede80000, rs 0xffffffff84fbdbd0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc27dede80, rs 0xffffffff84fbdbd0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeef7cc1c80000000, rs 0x65fd698fddef9839, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb4c7eef7cc1c8000, rs 0x65fd698fddef9839, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2feb4c7eef7cc1c8, rs 0x65fd698fddef9839, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcd5e45ea80000000, rs 0xffffffff9abc8bd5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcd5e45ea8000, rs 0xffffffff9abc8bd5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcd5e45ea8, rs 0xffffffff9abc8bd5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0dad7a900000000, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x71d6c0dad7a90000, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x24f71d6c0dad7a90, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcf3ecb3100000000, rs 0xffffffff9e7d9662, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcf3ecb310000, rs 0xffffffff9e7d9662, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcf3ecb310, rs 0xffffffff9e7d9662, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5ed931f480000000, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa0f45ed931f48000, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd54a0f45ed931f48, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc99f585d80000000, rs 0xffffffff933eb0bb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc99f585d8000, rs 0xffffffff933eb0bb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc99f585d8, rs 0xffffffff933eb0bb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2179dac680000000, rs 0x372c209e42f3b58d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x104f2179dac68000, rs 0x372c209e42f3b58d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb96104f2179dac68, rs 0x372c209e42f3b58d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcbffd68600000000, rs 0xffffffff97ffad0c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcbffd6860000, rs 0xffffffff97ffad0c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcbffd6860, rs 0xffffffff97ffad0c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf091541d80000000, rs 0x30f870b7e122a83b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x385bf091541d8000, rs 0x30f870b7e122a83b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x87c385bf091541d8, rs 0x30f870b7e122a83b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd7d8085880000000, rs 0xffffffffafb010b1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd7d808588000, rs 0xffffffffafb010b1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd7d808588, rs 0xffffffffafb010b1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb3c4987600000000, rs 0x9e02de4b678930ec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6f25b3c498760000, rs 0x9e02de4b678930ec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf016f25b3c498760, rs 0x9e02de4b678930ec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd5b8868300000000, rs 0xffffffffab710d06, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd5b886830000, rs 0xffffffffab710d06, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd5b886830, rs 0xffffffffab710d06, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcc13318f00000000, rs 0xcd61a8639826631e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd431cc13318f0000, rs 0xcd61a8639826631e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6b0d431cc13318f0, rs 0xcd61a8639826631e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd31915ef80000000, rs 0xffffffffa6322bdf, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd31915ef8000, rs 0xffffffffa6322bdf, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd31915ef8, rs 0xffffffffa6322bdf, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcd3de9e500000000, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xde44cd3de9e50000, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x743de44cd3de9e50, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd1799b3400000000, rs 0xffffffffa2f33668, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd1799b340000, rs 0xffffffffa2f33668, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd1799b340, rs 0xffffffffa2f33668, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb240d78b80000000, rs 0x58ec644d6481af17, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3226b240d78b8000, rs 0x58ec644d6481af17, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc763226b240d78b8, rs 0x58ec644d6481af17, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xde5a333680000000, rs 0xffffffffbcb4666d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffde5a33368000, rs 0xffffffffbcb4666d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffde5a33368, rs 0xffffffffbcb4666d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd91b5b3300000000, rs 0x680cce5fb236b666, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x672fd91b5b330000, rs 0x680cce5fb236b666, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x406672fd91b5b330, rs 0x680cce5fb236b666, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdc3abded00000000, rs 0xffffffffb8757bda, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdc3abded0000, rs 0xffffffffb8757bda, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdc3abded0, rs 0xffffffffb8757bda, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8fb6a6ba80000000, rs 0x3baa99471f6d4d75, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4ca38fb6a6ba8000, rs 0x3baa99471f6d4d75, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xdd54ca38fb6a6ba8, rs 0x3baa99471f6d4d75, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xda9b2e8180000000, rs 0xffffffffb5365d03, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffda9b2e818000, rs 0xffffffffb5365d03, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffda9b2e818, rs 0xffffffffb5365d03, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2f8911b580000000, rs 0x614d9b445f12236b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcda22f8911b58000, rs 0x614d9b445f12236b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa6cda22f8911b58, rs 0x614d9b445f12236b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd8fba05a00000000, rs 0xffffffffb1f740b4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd8fba05a0000, rs 0xffffffffb1f740b4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd8fba05a0, rs 0xffffffffb1f740b4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdd4209080000000, rs 0xa2a6ec661ba84121, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x76330dd420908000, rs 0xa2a6ec661ba84121, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x15376330dd420908, rs 0xa2a6ec661ba84121, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x12bd6aa00000000, rs 0x12bd6aa, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb55000000000000, rs 0x12bd6aa, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x95eb55000000000, rs 0x12bd6aa, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x82d2ab1300000000, rs 0x7e876382d2ab13, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7e876382d2ab13, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5589800000000000, rs 0x7e876382d2ab13, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1695589800000000, rs 0x7e876382d2ab13, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9823b6e00000000, rs 0x9823b6e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1db7000000000000, rs 0x9823b6e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4c11db7000000000, rs 0x9823b6e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc31510f300000000, rs 0x976d6e9ac31510f3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x976d6e9ac31510f3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8879800000000000, rs 0x976d6e9ac31510f3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x18a8879800000000, rs 0x976d6e9ac31510f3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd4326d900000000, rs 0xd4326d9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd4326d9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x936c800000000000, rs 0xd4326d9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6a1936c800000000, rs 0xd4326d9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5ad6a5fb00000000, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x52fd800000000000, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd6b52fd800000000, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x130476dc00000000, rs 0x130476dc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3b6e000000000000, rs 0x130476dc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9823b6e000000000, rs 0x130476dc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8677b50200000000, rs 0x42b0c0a28677b502, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xda81000000000000, rs 0x42b0c0a28677b502, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x33bda81000000000, rs 0x42b0c0a28677b502, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x17c56b6b00000000, rs 0x17c56b6b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x17c56b6b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb5b5800000000000, rs 0x17c56b6b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbe2b5b5800000000, rs 0x17c56b6b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9e3c30ad00000000, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1856800000000000, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf1e1856800000000, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1a864db200000000, rs 0x1a864db2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x26d9000000000000, rs 0x1a864db2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd4326d9000000000, rs 0x1a864db2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x77fb413d00000000, rs 0x1f308ec377fb413d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1f308ec377fb413d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa09e800000000000, rs 0x1f308ec377fb413d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbfda09e800000000, rs 0x1f308ec377fb413d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1e47500500000000, rs 0x1e475005, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1e475005, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa802800000000000, rs 0x1e475005, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf23a802800000000, rs 0x1e475005, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc760e4f700000000, rs 0x7aa04213c760e4f7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7aa04213c760e4f7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x727b800000000000, rs 0x7aa04213c760e4f7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3b0727b800000000, rs 0x7aa04213c760e4f7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2608edb800000000, rs 0x2608edb8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x76dc000000000000, rs 0x2608edb8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x30476dc000000000, rs 0x2608edb8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1ad8dca000000000, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6e50000000000000, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd6c6e50000000000, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x22c9f00f00000000, rs 0x22c9f00f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x22c9f00f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf807800000000000, rs 0x22c9f00f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x164f807800000000, rs 0x22c9f00f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9615a60d00000000, rs 0x4b3dda869615a60d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4b3dda869615a60d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd306800000000000, rs 0x4b3dda869615a60d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb0ad306800000000, rs 0x4b3dda869615a60d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2f8ad6d600000000, rs 0x2f8ad6d6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6b6b000000000000, rs 0x2f8ad6d6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7c56b6b000000000, rs 0x2f8ad6d6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6353d41d00000000, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xea0e800000000000, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a9ea0e800000000, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2b4bcb6100000000, rs 0x2b4bcb61, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2b4bcb61, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe5b0800000000000, rs 0x2b4bcb61, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5a5e5b0800000000, rs 0x2b4bcb61, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc40bd41300000000, rs 0x3af35a9dc40bd413, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3af35a9dc40bd413, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xea09800000000000, rs 0x3af35a9dc40bd413, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x205ea09800000000, rs 0x3af35a9dc40bd413, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x350c9b6400000000, rs 0x350c9b64, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4db2000000000000, rs 0x350c9b64, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa864db2000000000, rs 0x350c9b64, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9a08a18000000000, rs 0x47f505569a08a180, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47f505569a08a180, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x50c0000000000000, rs 0x47f505569a08a180, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd0450c0000000000, rs 0x47f505569a08a180, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x31cd86d300000000, rs 0x31cd86d3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x31cd86d3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc369800000000000, rs 0x31cd86d3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8e6c369800000000, rs 0x31cd86d3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd6d2040f00000000, rs 0x9564b77fd6d2040f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x9564b77fd6d2040f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x207800000000000, rs 0x9564b77fd6d2040f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb690207800000000, rs 0x9564b77fd6d2040f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3c8ea00a00000000, rs 0x3c8ea00a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5005000000000000, rs 0x3c8ea00a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe475005000000000, rs 0x3c8ea00a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb2c76bbe00000000, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb5df000000000000, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x963b5df000000000, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x384fbdbd00000000, rs 0x384fbdbd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x384fbdbd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdede800000000000, rs 0x384fbdbd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc27dede800000000, rs 0x384fbdbd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1f18e4c700000000, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7263800000000000, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf8c7263800000000, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4c11db7000000000, rs 0x4c11db70, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xedb8000000000000, rs 0x4c11db70, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x608edb8000000000, rs 0x4c11db70, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81afa79700000000, rs 0x94ff52fc81afa797, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x94ff52fc81afa797, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd3cb800000000000, rs 0x94ff52fc81afa797, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd7d3cb800000000, rs 0x94ff52fc81afa797, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x48d0c6c700000000, rs 0x48d0c6c7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x48d0c6c7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6363800000000000, rs 0x48d0c6c7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4686363800000000, rs 0x48d0c6c7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6dfc50ea00000000, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2875000000000000, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6fe2875000000000, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4593e01e00000000, rs 0x4593e01e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf00f000000000000, rs 0x4593e01e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2c9f00f000000000, rs 0x4593e01e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x78e895b100000000, rs 0x36549bd678e895b1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x36549bd678e895b1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4ad8800000000000, rs 0x36549bd678e895b1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc744ad8800000000, rs 0x36549bd678e895b1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4152fda900000000, rs 0x4152fda9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4152fda9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7ed4800000000000, rs 0x4152fda9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa97ed4800000000, rs 0x4152fda9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9b63259b00000000, rs 0x85e0a6319b63259b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x85e0a6319b63259b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x92cd800000000000, rs 0x85e0a6319b63259b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdb192cd800000000, rs 0x85e0a6319b63259b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5f15adac00000000, rs 0x5f15adac, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd6d6000000000000, rs 0x5f15adac, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf8ad6d6000000000, rs 0x5f15adac, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xccf17ac500000000, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbd62800000000000, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x678bd62800000000, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5bd4b01b00000000, rs 0x5bd4b01b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5bd4b01b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x580d800000000000, rs 0x5bd4b01b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdea580d800000000, rs 0x5bd4b01b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81eea0fb00000000, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x507d800000000000, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf7507d800000000, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x569796c200000000, rs 0x569796c2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcb61000000000000, rs 0x569796c2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb4bcb61000000000, rs 0x569796c2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x14682d9700000000, rs 0x25b50fec14682d97, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x25b50fec14682d97, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x16cb800000000000, rs 0x25b50fec14682d97, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa3416cb800000000, rs 0x25b50fec14682d97, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x52568b7500000000, rs 0x52568b75, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x52568b75, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x45ba800000000000, rs 0x52568b75, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x92b45ba800000000, rs 0x52568b75, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2cfb087a00000000, rs 0xfc93c5132cfb087a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfc93c5132cfb087a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x843d000000000000, rs 0xfc93c5132cfb087a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x67d843d000000000, rs 0xfc93c5132cfb087a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6a1936c800000000, rs 0x6a1936c8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9b64000000000000, rs 0x6a1936c8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x50c9b64000000000, rs 0x6a1936c8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcda2076600000000, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3b3000000000000, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6d103b3000000000, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6ed82b7f00000000, rs 0x6ed82b7f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x6ed82b7f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x15bf800000000000, rs 0x6ed82b7f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x76c15bf800000000, rs 0x6ed82b7f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7d72da3e00000000, rs 0x1791722a7d72da3e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6d1f000000000000, rs 0x1791722a7d72da3e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeb96d1f000000000, rs 0x1791722a7d72da3e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x639b0da600000000, rs 0x639b0da6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x86d3000000000000, rs 0x639b0da6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1cd86d3000000000, rs 0x639b0da6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x93ce24ad00000000, rs 0x87cc9d193ce24ad, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x87cc9d193ce24ad, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1256800000000000, rs 0x87cc9d193ce24ad, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9e71256800000000, rs 0x87cc9d193ce24ad, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x675a101100000000, rs 0x675a1011, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x675a1011, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x808800000000000, rs 0x675a1011, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3ad0808800000000, rs 0x675a1011, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x38984ed200000000, rs 0x1d2a757038984ed2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2769000000000000, rs 0x1d2a757038984ed2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc4c2769000000000, rs 0x1d2a757038984ed2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x791d401400000000, rs 0x791d4014, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa00a000000000000, rs 0x791d4014, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc8ea00a000000000, rs 0x791d4014, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x710cd03600000000, rs 0xd0d070db710cd036, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd0d070db710cd036, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x681b000000000000, rs 0xd0d070db710cd036, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x886681b000000000, rs 0xd0d070db710cd036, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7ddc5da300000000, rs 0x7ddc5da3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7ddc5da3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2ed1800000000000, rs 0x7ddc5da3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeee2ed1800000000, rs 0x7ddc5da3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x341560400000000, rs 0x39c21c7d03415604, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c21c7d03415604, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xab02000000000000, rs 0x39c21c7d03415604, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a0ab02000000000, rs 0x39c21c7d03415604, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x709f7b7a00000000, rs 0x709f7b7a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbdbd000000000000, rs 0x709f7b7a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x84fbdbd000000000, rs 0x709f7b7a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8ecc31ce00000000, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x18e7000000000000, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x76618e7000000000, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x745e66cd00000000, rs 0x745e66cd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x745e66cd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3366800000000000, rs 0x745e66cd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa2f3366800000000, rs 0x745e66cd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1ce7674f00000000, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb3a7800000000000, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe73b3a7800000000, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9823b6e000000000, rs 0xffffffff9823b6e0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9823b6e0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdb70000000000000, rs 0xffffffff9823b6e0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc11db70000000000, rs 0xffffffff9823b6e0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x12d6e4a700000000, rs 0x2f39454412d6e4a7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2f39454412d6e4a7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7253800000000000, rs 0x2f39454412d6e4a7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x96b7253800000000, rs 0x2f39454412d6e4a7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9ce2ab5700000000, rs 0xffffffff9ce2ab57, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff9ce2ab57, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x55ab800000000000, rs 0xffffffff9ce2ab57, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe7155ab800000000, rs 0xffffffff9ce2ab57, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x56da4c5400000000, rs 0x2608c2b756da4c54, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x262a000000000000, rs 0x2608c2b756da4c54, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb6d262a000000000, rs 0x2608c2b756da4c54, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x91a18d8e00000000, rs 0xffffffff91a18d8e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff91a18d8e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc6c7000000000000, rs 0xffffffff91a18d8e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8d0c6c7000000000, rs 0xffffffff91a18d8e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc8d7252f00000000, rs 0x900102dac8d7252f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x900102dac8d7252f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9297800000000000, rs 0x900102dac8d7252f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x46b9297800000000, rs 0x900102dac8d7252f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9560903900000000, rs 0xffffffff95609039, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff95609039, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x481c800000000000, rs 0xffffffff95609039, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xab0481c800000000, rs 0xffffffff95609039, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf2efa4f700000000, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd27b800000000000, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x977d27b800000000, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8b27c03c00000000, rs 0xffffffff8b27c03c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8b27c03c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe01e000000000000, rs 0xffffffff8b27c03c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x593e01e000000000, rs 0xffffffff8b27c03c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc8b0a21400000000, rs 0xed5005cbc8b0a214, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x510a000000000000, rs 0xed5005cbc8b0a214, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x458510a000000000, rs 0xed5005cbc8b0a214, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8fe6dd8b00000000, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6ec5800000000000, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7f36ec5800000000, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5991136c00000000, rs 0x314791895991136c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x314791895991136c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x89b6000000000000, rs 0x314791895991136c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcc889b6000000000, rs 0x314791895991136c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x82a5fb5200000000, rs 0xffffffff82a5fb52, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff82a5fb52, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfda9000000000000, rs 0xffffffff82a5fb52, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x152fda9000000000, rs 0xffffffff82a5fb52, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9a2fb6f300000000, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdb79800000000000, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd17db79800000000, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8664e6e500000000, rs 0xffffffff8664e6e5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff8664e6e5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7372800000000000, rs 0xffffffff8664e6e5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3327372800000000, rs 0xffffffff8664e6e5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3889527000000000, rs 0xa809521238895270, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa809521238895270, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa938000000000000, rs 0xa809521238895270, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc44a938000000000, rs 0xa809521238895270, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbe2b5b5800000000, rs 0xffffffffbe2b5b58, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xadac000000000000, rs 0xffffffffbe2b5b58, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf15adac000000000, rs 0xffffffffbe2b5b58, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xad76504000000000, rs 0x87750a04ad765040, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x87750a04ad765040, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2820000000000000, rs 0x87750a04ad765040, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6bb2820000000000, rs 0x87750a04ad765040, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbaea46ef00000000, rs 0xffffffffbaea46ef, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffbaea46ef, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2377800000000000, rs 0xffffffffbaea46ef, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd752377800000000, rs 0xffffffffbaea46ef, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x84bb5a8300000000, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xad41800000000000, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x25dad41800000000, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb7a9603600000000, rs 0xffffffffb7a96036, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb7a96036, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb01b000000000000, rs 0xffffffffb7a96036, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbd4b01b000000000, rs 0xffffffffb7a96036, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc506aa6700000000, rs 0xae6aff8fc506aa67, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xae6aff8fc506aa67, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5533800000000000, rs 0xae6aff8fc506aa67, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2835533800000000, rs 0xae6aff8fc506aa67, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb3687d8100000000, rs 0xffffffffb3687d81, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffb3687d81, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3ec0800000000000, rs 0xffffffffb3687d81, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9b43ec0800000000, rs 0xffffffffb3687d81, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x60ed5ee300000000, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xaf71800000000000, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x76af71800000000, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xad2f2d8400000000, rs 0xffffffffad2f2d84, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x96c2000000000000, rs 0xffffffffad2f2d84, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x69796c2000000000, rs 0xffffffffad2f2d84, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x30dcca5a00000000, rs 0xc4c770f630dcca5a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc4c770f630dcca5a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x652d000000000000, rs 0xc4c770f630dcca5a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x86e652d000000000, rs 0xc4c770f630dcca5a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa9ee303300000000, rs 0xffffffffa9ee3033, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffa9ee3033, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1819800000000000, rs 0xffffffffa9ee3033, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4f71819800000000, rs 0xffffffffa9ee3033, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x83cd527700000000, rs 0xdfec2b2383cd5277, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xdfec2b2383cd5277, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa93b800000000000, rs 0xdfec2b2383cd5277, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1e6a93b800000000, rs 0xdfec2b2383cd5277, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa4ad16ea00000000, rs 0xffffffffa4ad16ea, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa4ad16ea, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8b75000000000000, rs 0xffffffffa4ad16ea, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2568b75000000000, rs 0xffffffffa4ad16ea, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xff7d96b00000000, rs 0xd3adba260ff7d96b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd3adba260ff7d96b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xecb5800000000000, rs 0xd3adba260ff7d96b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7fbecb5800000000, rs 0xd3adba260ff7d96b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa06c0b5d00000000, rs 0xffffffffa06c0b5d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffa06c0b5d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5ae800000000000, rs 0xffffffffa06c0b5d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3605ae800000000, rs 0xffffffffa06c0b5d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8418c00e00000000, rs 0x4ab4aa798418c00e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6007000000000000, rs 0x4ab4aa798418c00e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x20c6007000000000, rs 0x4ab4aa798418c00e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd4326d9000000000, rs 0xffffffffd4326d90, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd4326d90, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x36c8000000000000, rs 0xffffffffd4326d90, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa1936c8000000000, rs 0xffffffffd4326d90, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xde0f0b800000000, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x785c000000000000, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6f0785c000000000, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd0f3702700000000, rs 0xffffffffd0f37027, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffd0f37027, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb813800000000000, rs 0xffffffffd0f37027, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x879b813800000000, rs 0xffffffffd0f37027, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa97fdcf100000000, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xee78800000000000, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4bfee78800000000, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xddb056fe00000000, rs 0xffffffffddb056fe, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffddb056fe, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2b7f000000000000, rs 0xffffffffddb056fe, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xed82b7f000000000, rs 0xffffffffddb056fe, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3fd1c08100000000, rs 0x77433f373fd1c081, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x77433f373fd1c081, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe040800000000000, rs 0x77433f373fd1c081, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfe8e040800000000, rs 0x77433f373fd1c081, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd9714b4900000000, rs 0xffffffffd9714b49, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffd9714b49, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa5a4800000000000, rs 0xffffffffd9714b49, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcb8a5a4800000000, rs 0xffffffffd9714b49, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc92195e400000000, rs 0xec91d993c92195e4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xec91d993c92195e4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcaf2000000000000, rs 0xec91d993c92195e4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x490caf2000000000, rs 0xec91d993c92195e4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc7361b4c00000000, rs 0xffffffffc7361b4c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xda6000000000000, rs 0xffffffffc7361b4c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x39b0da6000000000, rs 0xffffffffc7361b4c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x95b1a5ab00000000, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd2d5800000000000, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xad8d2d5800000000, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc3f706fb00000000, rs 0xffffffffc3f706fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffc3f706fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x837d800000000000, rs 0xffffffffc3f706fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1fb837d800000000, rs 0xffffffffc3f706fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc7ce8d1e00000000, rs 0x19364378c7ce8d1e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x468f000000000000, rs 0x19364378c7ce8d1e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3e7468f000000000, rs 0x19364378c7ce8d1e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xceb4202200000000, rs 0xffffffffceb42022, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffceb42022, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1011000000000000, rs 0xffffffffceb42022, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x75a1011000000000, rs 0xffffffffceb42022, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2f38490700000000, rs 0xb99e8def2f384907, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb99e8def2f384907, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2483800000000000, rs 0xb99e8def2f384907, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x79c2483800000000, rs 0xb99e8def2f384907, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xca753d9500000000, rs 0xffffffffca753d95, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffca753d95, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9eca800000000000, rs 0xffffffffca753d95, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x53a9eca800000000, rs 0xffffffffca753d95, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x582b12fe00000000, rs 0x47eacdcd582b12fe, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x897f000000000000, rs 0x47eacdcd582b12fe, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc15897f000000000, rs 0x47eacdcd582b12fe, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf23a802800000000, rs 0xfffffffff23a8028, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff23a8028, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4014000000000000, rs 0xfffffffff23a8028, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x91d4014000000000, rs 0xfffffffff23a8028, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x76558c4f00000000, rs 0xd685884e76558c4f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd685884e76558c4f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc627800000000000, rs 0xd685884e76558c4f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb2ac627800000000, rs 0xd685884e76558c4f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf6fb9d9f00000000, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcecf800000000000, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb7dcecf800000000, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x34c195c700000000, rs 0x6168d62a34c195c7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x6168d62a34c195c7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcae3800000000000, rs 0x6168d62a34c195c7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa60cae3800000000, rs 0x6168d62a34c195c7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfbb8bb4600000000, rs 0xfffffffffbb8bb46, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffbb8bb46, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5da3000000000000, rs 0xfffffffffbb8bb46, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xddc5da3000000000, rs 0xfffffffffbb8bb46, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4df4740500000000, rs 0xd30169894df47405, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd30169894df47405, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3a02800000000000, rs 0xd30169894df47405, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6fa3a02800000000, rs 0xd30169894df47405, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xff79a6f100000000, rs 0xffffffffff79a6f1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffff79a6f1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd378800000000000, rs 0xffffffffff79a6f1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfbcd378800000000, rs 0xffffffffff79a6f1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6cbb06db00000000, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x836d800000000000, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x65d836d800000000, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe13ef6f400000000, rs 0xffffffffe13ef6f4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe13ef6f4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7b7a000000000000, rs 0xffffffffe13ef6f4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9f7b7a000000000, rs 0xffffffffe13ef6f4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9cae393a00000000, rs 0x58300f029cae393a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58300f029cae393a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1c9d000000000000, rs 0x58300f029cae393a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe571c9d000000000, rs 0x58300f029cae393a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe5ffeb4300000000, rs 0xffffffffe5ffeb43, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffe5ffeb43, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf5a1800000000000, rs 0xffffffffe5ffeb43, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2fff5a1800000000, rs 0xffffffffe5ffeb43, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdc7ebc2d00000000, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5e16800000000000, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe3f5e16800000000, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe8bccd9a00000000, rs 0xffffffffe8bccd9a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe8bccd9a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x66cd000000000000, rs 0xffffffffe8bccd9a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x45e66cd000000000, rs 0xffffffffe8bccd9a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe3405b4800000000, rs 0x8a96047be3405b48, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8a96047be3405b48, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2da4000000000000, rs 0x8a96047be3405b48, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a02da4000000000, rs 0x8a96047be3405b48, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xec7dd02d00000000, rs 0xffffffffec7dd02d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffec7dd02d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe816800000000000, rs 0xffffffffec7dd02d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x63ee816800000000, rs 0xffffffffec7dd02d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd519d32200000000, rs 0x75bfafd2d519d322, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe991000000000000, rs 0x75bfafd2d519d322, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa8ce991000000000, rs 0x75bfafd2d519d322, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3486707700000000, rs 0x34867077, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x34867077, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x383b800000000000, rs 0x34867077, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa43383b800000000, rs 0x34867077, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa630f6ad00000000, rs 0xde230867a630f6ad, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xde230867a630f6ad, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7b56800000000000, rs 0xde230867a630f6ad, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3187b56800000000, rs 0xde230867a630f6ad, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x30476dc000000000, rs 0x30476dc0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb6e0000000000000, rs 0x30476dc0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x823b6e0000000000, rs 0x30476dc0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5610326000000000, rs 0x2c0a0cf256103260, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1930000000000000, rs 0x2c0a0cf256103260, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb081930000000000, rs 0x2c0a0cf256103260, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3d044b1900000000, rs 0x3d044b19, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3d044b19, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x258c800000000000, rs 0x3d044b19, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe82258c800000000, rs 0x3d044b19, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x249b18ef00000000, rs 0x94a90544249b18ef, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x94a90544249b18ef, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8c77800000000000, rs 0x94a90544249b18ef, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x24d8c77800000000, rs 0x94a90544249b18ef, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x39c556ae00000000, rs 0x39c556ae, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xab57000000000000, rs 0x39c556ae, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xce2ab57000000000, rs 0x39c556ae, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5b56fcde00000000, rs 0xf9519fb55b56fcde, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xf9519fb55b56fcde, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7e6f000000000000, rs 0xf9519fb55b56fcde, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdab7e6f000000000, rs 0xf9519fb55b56fcde, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x278206ab00000000, rs 0x278206ab, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x278206ab, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x355800000000000, rs 0x278206ab, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3c10355800000000, rs 0x278206ab, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x468319b00000000, rs 0x81daf8200468319b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x81daf8200468319b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x18cd800000000000, rs 0x81daf8200468319b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x23418cd800000000, rs 0x81daf8200468319b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x23431b1c00000000, rs 0x23431b1c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8d8e000000000000, rs 0x23431b1c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a18d8e000000000, rs 0x23431b1c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5725f2ec00000000, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf976000000000000, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb92f976000000000, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2e003dc500000000, rs 0x2e003dc5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2e003dc5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1ee2800000000000, rs 0x2e003dc5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7001ee2800000000, rs 0x2e003dc5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc25dc8bf00000000, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe45f800000000000, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x12ee45f800000000, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2ac1207200000000, rs 0x2ac12072, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9039000000000000, rs 0x2ac12072, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5609039000000000, rs 0x2ac12072, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdac6162f00000000, rs 0x300ce751dac6162f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x300ce751dac6162f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb17800000000000, rs 0x300ce751dac6162f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd630b17800000000, rs 0x300ce751dac6162f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x128e9dcf00000000, rs 0x128e9dcf, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x128e9dcf, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4ee7800000000000, rs 0x128e9dcf, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9474ee7800000000, rs 0x128e9dcf, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xba52a85000000000, rs 0x6778fdf3ba52a850, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5428000000000000, rs 0x6778fdf3ba52a850, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd295428000000000, rs 0x6778fdf3ba52a850, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x164f807800000000, rs 0x164f8078, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc03c000000000000, rs 0x164f8078, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb27c03c000000000, rs 0x164f8078, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xda78479f00000000, rs 0xad00b1f7da78479f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xad00b1f7da78479f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x23cf800000000000, rs 0xad00b1f7da78479f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd3c23cf800000000, rs 0xad00b1f7da78479f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1b0ca6a100000000, rs 0x1b0ca6a1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1b0ca6a1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5350800000000000, rs 0x1b0ca6a1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd865350800000000, rs 0x1b0ca6a1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa6b6d98a00000000, rs 0x8d44168a6b6d98a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6cc5000000000000, rs 0x8d44168a6b6d98a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x35b6cc5000000000, rs 0x8d44168a6b6d98a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1fcdbb1600000000, rs 0x1fcdbb16, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdd8b000000000000, rs 0x1fcdbb16, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfe6dd8b000000000, rs 0x1fcdbb16, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xce63441300000000, rs 0xf518381dce634413, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf518381dce634413, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa209800000000000, rs 0xf518381dce634413, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x731a209800000000, rs 0xf518381dce634413, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x18aeb1300000000, rs 0x18aeb13, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x18aeb13, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7589800000000000, rs 0x18aeb13, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc57589800000000, rs 0x18aeb13, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe5255fc000000000, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xafe0000000000000, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x292afe0000000000, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x54bf6a400000000, rs 0x54bf6a4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfb52000000000000, rs 0x54bf6a4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2a5fb52000000000, rs 0x54bf6a4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x76321f2800000000, rs 0xccd392e176321f28, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xccd392e176321f28, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf94000000000000, rs 0xccd392e176321f28, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb190f94000000000, rs 0xccd392e176321f28, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x808d07d00000000, rs 0x808d07d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x808d07d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x683e800000000000, rs 0x808d07d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x404683e800000000, rs 0x808d07d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4018fd8f00000000, rs 0x829464944018fd8f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x829464944018fd8f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7ec7800000000000, rs 0x829464944018fd8f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc7ec7800000000, rs 0x829464944018fd8f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcc9cdca00000000, rs 0xcc9cdca, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe6e5000000000000, rs 0xcc9cdca, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x664e6e5000000000, rs 0xcc9cdca, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x52e8f0e500000000, rs 0x15d3204052e8f0e5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x15d3204052e8f0e5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7872800000000000, rs 0x15d3204052e8f0e5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9747872800000000, rs 0x15d3204052e8f0e5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7897ab0700000000, rs 0x7897ab07, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7897ab07, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd583800000000000, rs 0x7897ab07, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc4bd583800000000, rs 0x7897ab07, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x880ff34400000000, rs 0x7caf83d2880ff344, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf9a2000000000000, rs 0x7caf83d2880ff344, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x407f9a2000000000, rs 0x7caf83d2880ff344, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7c56b6b000000000, rs 0x7c56b6b0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5b58000000000000, rs 0x7c56b6b0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe2b5b58000000000, rs 0x7c56b6b0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x747defd700000000, rs 0xf156a04c747defd7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf156a04c747defd7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf7eb800000000000, rs 0xf156a04c747defd7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa3ef7eb800000000, rs 0xf156a04c747defd7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7115906900000000, rs 0x71159069, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x71159069, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc834800000000000, rs 0x71159069, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x88ac834800000000, rs 0x71159069, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf31d71000000000, rs 0x93e2601c0f31d710, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb88000000000000, rs 0x93e2601c0f31d710, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x798eb88000000000, rs 0x93e2601c0f31d710, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x75d48dde00000000, rs 0x75d48dde, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x46ef000000000000, rs 0x75d48dde, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xaea46ef000000000, rs 0x75d48dde, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x131cd93300000000, rs 0xe1e1a679131cd933, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe1e1a679131cd933, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6c99800000000000, rs 0xe1e1a679131cd933, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x98e6c99800000000, rs 0xe1e1a679131cd933, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6b93dddb00000000, rs 0x6b93dddb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x6b93dddb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeeed800000000000, rs 0x6b93dddb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5c9eeed800000000, rs 0x6b93dddb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa76fa42700000000, rs 0x24296b75a76fa427, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x24296b75a76fa427, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd213800000000000, rs 0x24296b75a76fa427, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3b7d213800000000, rs 0x24296b75a76fa427, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6f52c06c00000000, rs 0x6f52c06c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6036000000000000, rs 0x6f52c06c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7a96036000000000, rs 0x6f52c06c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x139ee56a00000000, rs 0xd296e2d2139ee56a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd296e2d2139ee56a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x72b5000000000000, rs 0xd296e2d2139ee56a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9cf72b5000000000, rs 0xd296e2d2139ee56a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6211e6b500000000, rs 0x6211e6b5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x6211e6b5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf35a800000000000, rs 0x6211e6b5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x108f35a800000000, rs 0x6211e6b5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6dc2a5c000000000, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x52e0000000000000, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6e152e0000000000, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x66d0fb0200000000, rs 0x66d0fb02, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7d81000000000000, rs 0x66d0fb02, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3687d81000000000, rs 0x66d0fb02, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc07dc16800000000, rs 0x76c89e80c07dc168, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe0b4000000000000, rs 0x76c89e80c07dc168, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3ee0b4000000000, rs 0x76c89e80c07dc168, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5e9f46bf00000000, rs 0x5e9f46bf, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5e9f46bf, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa35f800000000000, rs 0x5e9f46bf, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf4fa35f800000000, rs 0x5e9f46bf, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4bfe348f00000000, rs 0x70dc3454bfe348f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x70dc3454bfe348f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1a47800000000000, rs 0x70dc3454bfe348f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5ff1a47800000000, rs 0x70dc3454bfe348f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5a5e5b0800000000, rs 0x5a5e5b08, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2d84000000000000, rs 0x5a5e5b08, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd2f2d84000000000, rs 0x5a5e5b08, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdd6d241b00000000, rs 0xbddc7123dd6d241b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xbddc7123dd6d241b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x920d800000000000, rs 0xbddc7123dd6d241b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeb6920d800000000, rs 0xbddc7123dd6d241b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x571d7dd100000000, rs 0x571d7dd1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x571d7dd1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbee8800000000000, rs 0x571d7dd1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb8ebee8800000000, rs 0x571d7dd1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa59fcebe00000000, rs 0xf62fb727a59fcebe, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xf62fb727a59fcebe, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe75f000000000000, rs 0xf62fb727a59fcebe, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2cfe75f000000000, rs 0xf62fb727a59fcebe, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x53dc606600000000, rs 0x53dc6066, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3033000000000000, rs 0x53dc6066, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9ee3033000000000, rs 0x53dc6066, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf9f46fb00000000, rs 0x109f27e90f9f46fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x109f27e90f9f46fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa37d800000000000, rs 0x109f27e90f9f46fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7cfa37d800000000, rs 0x109f27e90f9f46fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4d9b306300000000, rs 0x4d9b3063, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4d9b3063, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9831800000000000, rs 0x4d9b3063, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6cd9831800000000, rs 0x4d9b3063, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xafd199d700000000, rs 0x3f63daa9afd199d7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3f63daa9afd199d7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcceb800000000000, rs 0x3f63daa9afd199d7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7e8cceb800000000, rs 0x3f63daa9afd199d7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x495a2dd400000000, rs 0x495a2dd4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x16ea000000000000, rs 0x495a2dd4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4ad16ea000000000, rs 0x495a2dd4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa3d484f200000000, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4279000000000000, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1ea4279000000000, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x44190b0d00000000, rs 0x44190b0d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x44190b0d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8586800000000000, rs 0x44190b0d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x20c8586800000000, rs 0x44190b0d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xda4fe4c600000000, rs 0x1f353faada4fe4c6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf263000000000000, rs 0x1f353faada4fe4c6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd27f263000000000, rs 0x1f353faada4fe4c6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x40d816ba00000000, rs 0x40d816ba, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb5d000000000000, rs 0x40d816ba, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6c0b5d000000000, rs 0x40d816ba, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7150c26000000000, rs 0x8b086ee07150c260, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8b086ee07150c260, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6130000000000000, rs 0x8b086ee07150c260, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8a86130000000000, rs 0x8b086ee07150c260, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xaca5c69700000000, rs 0xffffffffaca5c697, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffaca5c697, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe34b800000000000, rs 0xffffffffaca5c697, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x652e34b800000000, rs 0xffffffffaca5c697, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd9257f2500000000, rs 0xe54750d5d9257f25, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe54750d5d9257f25, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbf92800000000000, rs 0xe54750d5d9257f25, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc92bf92800000000, rs 0xe54750d5d9257f25, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa864db2000000000, rs 0xffffffffa864db20, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa864db20, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6d90000000000000, rs 0xffffffffa864db20, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4326d90000000000, rs 0xffffffffa864db20, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe9a6db5b00000000, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6dad800000000000, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4d36dad800000000, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa527fdf900000000, rs 0xffffffffa527fdf9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffa527fdf9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfefc800000000000, rs 0xffffffffa527fdf9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x293fefc800000000, rs 0xffffffffa527fdf9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4340ac9600000000, rs 0x70a3e0424340ac96, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x564b000000000000, rs 0x70a3e0424340ac96, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a0564b000000000, rs 0x70a3e0424340ac96, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa1e6e04e00000000, rs 0xffffffffa1e6e04e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa1e6e04e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7027000000000000, rs 0xffffffffa1e6e04e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf37027000000000, rs 0xffffffffa1e6e04e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6980171e00000000, rs 0xc0478f036980171e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc0478f036980171e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb8f000000000000, rs 0xc0478f036980171e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4c00b8f000000000, rs 0xc0478f036980171e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbfa1b04b00000000, rs 0xffffffffbfa1b04b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffbfa1b04b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd825800000000000, rs 0xffffffffbfa1b04b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfd0d825800000000, rs 0xffffffffbfa1b04b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1cf929e300000000, rs 0x3ce839a51cf929e3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3ce839a51cf929e3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x94f1800000000000, rs 0x3ce839a51cf929e3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe7c94f1800000000, rs 0x3ce839a51cf929e3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbb60adfc00000000, rs 0xffffffffbb60adfc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbb60adfc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x56fe000000000000, rs 0xffffffffbb60adfc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdb056fe000000000, rs 0xffffffffbb60adfc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5eb6895800000000, rs 0xe2fbfa895eb68958, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x44ac000000000000, rs 0xe2fbfa895eb68958, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf5b44ac000000000, rs 0xe2fbfa895eb68958, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb6238b2500000000, rs 0xffffffffb6238b25, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffb6238b25, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc592800000000000, rs 0xffffffffb6238b25, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb11c592800000000, rs 0xffffffffb6238b25, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x76ed25b700000000, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x92db800000000000, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb7692db800000000, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb2e2969200000000, rs 0xffffffffb2e29692, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb2e29692, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4b49000000000000, rs 0xffffffffb2e29692, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9714b49000000000, rs 0xffffffffb2e29692, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x170312f100000000, rs 0xeb9682c170312f1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xeb9682c170312f1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8978800000000000, rs 0xeb9682c170312f1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb818978800000000, rs 0xeb9682c170312f1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8aad2b2f00000000, rs 0xffffffff8aad2b2f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff8aad2b2f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9597800000000000, rs 0xffffffff8aad2b2f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5569597800000000, rs 0xffffffff8aad2b2f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdd301d0d00000000, rs 0x84785280dd301d0d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x84785280dd301d0d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe86800000000000, rs 0x84785280dd301d0d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe980e86800000000, rs 0x84785280dd301d0d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1f8fd6ef00000000, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb77800000000000, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfc7eb77800000000, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2998436d00000000, rs 0x26444ced2998436d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x26444ced2998436d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x21b6800000000000, rs 0x26444ced2998436d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4cc21b6800000000, rs 0x26444ced2998436d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x87ee0df600000000, rs 0xffffffff87ee0df6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff87ee0df6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6fb000000000000, rs 0xffffffff87ee0df6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3f706fb000000000, rs 0xffffffff87ee0df6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd58ca70800000000, rs 0x7175c9dd58ca708, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5384000000000000, rs 0x7175c9dd58ca708, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xac65384000000000, rs 0x7175c9dd58ca708, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x99a95df300000000, rs 0xffffffff99a95df3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff99a95df3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xaef9800000000000, rs 0xffffffff99a95df3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcd4aef9800000000, rs 0xffffffff99a95df3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5583328700000000, rs 0x663d061055833287, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x663d061055833287, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9943800000000000, rs 0x663d061055833287, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xac19943800000000, rs 0x663d061055833287, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9d68404400000000, rs 0xffffffff9d684044, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9d684044, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2022000000000000, rs 0xffffffff9d684044, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeb42022000000000, rs 0xffffffff9d684044, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8951d68b00000000, rs 0xab7dd0488951d68b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xab7dd0488951d68b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb45800000000000, rs 0xab7dd0488951d68b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4a8eb45800000000, rs 0xab7dd0488951d68b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x902b669d00000000, rs 0xffffffff902b669d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff902b669d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb34e800000000000, rs 0xffffffff902b669d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x815b34e800000000, rs 0xffffffff902b669d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe82471b00000000, rs 0xf69823670e82471b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf69823670e82471b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x238d800000000000, rs 0xf69823670e82471b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x741238d800000000, rs 0xf69823670e82471b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x94ea7b2a00000000, rs 0xffffffff94ea7b2a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff94ea7b2a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3d95000000000000, rs 0xffffffff94ea7b2a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa753d95000000000, rs 0xffffffff94ea7b2a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd98d26b200000000, rs 0x36886c59d98d26b2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9359000000000000, rs 0x36886c59d98d26b2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcc69359000000000, rs 0x36886c59d98d26b2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe0b41de700000000, rs 0xffffffffe0b41de7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffe0b41de7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xef3800000000000, rs 0xffffffffe0b41de7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5a0ef3800000000, rs 0xffffffffe0b41de7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd32be47900000000, rs 0x9ca4bdbd32be479, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x9ca4bdbd32be479, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf23c800000000000, rs 0x9ca4bdbd32be479, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x995f23c800000000, rs 0x9ca4bdbd32be479, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe475005000000000, rs 0xffffffffe4750050, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe4750050, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8028000000000000, rs 0xffffffffe4750050, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x23a8028000000000, rs 0xffffffffe4750050, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9962e61f00000000, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x730f800000000000, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcb1730f800000000, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe936268900000000, rs 0xffffffffe9362689, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffe9362689, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1344800000000000, rs 0xffffffffe9362689, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x49b1344800000000, rs 0xffffffffe9362689, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcad374df00000000, rs 0x3f46553ecad374df, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3f46553ecad374df, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xba6f800000000000, rs 0x3f46553ecad374df, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x569ba6f800000000, rs 0x3f46553ecad374df, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xedf73b3e00000000, rs 0xffffffffedf73b3e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffedf73b3e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9d9f000000000000, rs 0xffffffffedf73b3e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6fb9d9f000000000, rs 0xffffffffedf73b3e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3eedf2a700000000, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf953800000000000, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf76f953800000000, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf3b06b3b00000000, rs 0xfffffffff3b06b3b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffff3b06b3b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x359d800000000000, rs 0xfffffffff3b06b3b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9d8359d800000000, rs 0xfffffffff3b06b3b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3c0c9f3300000000, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4f99800000000000, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe064f99800000000, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf771768c00000000, rs 0xfffffffff771768c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff771768c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbb46000000000000, rs 0xfffffffff771768c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbb8bb46000000000, rs 0xfffffffff771768c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x155ec9dc00000000, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x64ee000000000000, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xaaf64ee000000000, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfa32505500000000, rs 0xfffffffffa325055, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffffa325055, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x282a800000000000, rs 0xfffffffffa325055, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd19282a800000000, rs 0xfffffffffa325055, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1947820600000000, rs 0xd2df25c419478206, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd2df25c419478206, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc103000000000000, rs 0xd2df25c419478206, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xca3c103000000000, rs 0xd2df25c419478206, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfef34de200000000, rs 0xfffffffffef34de2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffef34de2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa6f1000000000000, rs 0xfffffffffef34de2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf79a6f1000000000, rs 0xfffffffffef34de2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xeb32182500000000, rs 0xbc65bf27eb321825, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xbc65bf27eb321825, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc12800000000000, rs 0xbc65bf27eb321825, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5990c12800000000, rs 0xbc65bf27eb321825, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc6bcf05f00000000, rs 0xffffffffc6bcf05f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffc6bcf05f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x782f800000000000, rs 0xffffffffc6bcf05f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x35e782f800000000, rs 0xffffffffc6bcf05f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7a8bc7da00000000, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe3ed000000000000, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd45e3ed000000000, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc27dede800000000, rs 0xffffffffc27dede8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc27dede8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf6f4000000000000, rs 0xffffffffc27dede8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x13ef6f4000000000, rs 0xffffffffc27dede8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf8dfcde800000000, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe6f4000000000000, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc6fe6f4000000000, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcf3ecb3100000000, rs 0xffffffffcf3ecb31, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffcf3ecb31, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6598800000000000, rs 0xffffffffcf3ecb31, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x79f6598800000000, rs 0xffffffffcf3ecb31, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x59a9926900000000, rs 0x478909b59a99269, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x478909b59a99269, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc934800000000000, rs 0x478909b59a99269, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcd4c934800000000, rs 0x478909b59a99269, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcbffd68600000000, rs 0xffffffffcbffd686, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffcbffd686, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb43000000000000, rs 0xffffffffcbffd686, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5ffeb43000000000, rs 0xffffffffcbffd686, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7857360f00000000, rs 0xbfb31cc87857360f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xbfb31cc87857360f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9b07800000000000, rs 0xbfb31cc87857360f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc2b9b07800000000, rs 0xbfb31cc87857360f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd5b8868300000000, rs 0xffffffffd5b88683, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffd5b88683, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4341800000000000, rs 0xffffffffd5b88683, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xadc4341800000000, rs 0xffffffffd5b88683, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7f89e9a200000000, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf4d1000000000000, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfc4f4d1000000000, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd1799b3400000000, rs 0xffffffffd1799b34, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd1799b34, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcd9a000000000000, rs 0xffffffffd1799b34, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8bccd9a000000000, rs 0xffffffffd1799b34, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb7a8d5e400000000, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6af2000000000000, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbd46af2000000000, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdc3abded00000000, rs 0xffffffffdc3abded, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffdc3abded, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5ef6800000000000, rs 0xffffffffdc3abded, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe1d5ef6800000000, rs 0xffffffffdc3abded, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2af90fcc00000000, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x87e6000000000000, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x57c87e6000000000, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd8fba05a00000000, rs 0xffffffffd8fba05a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd8fba05a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd02d000000000000, rs 0xffffffffd8fba05a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc7dd02d000000000, rs 0xffffffffd8fba05a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2b96189700000000, rs 0x223d7cfe2b961897, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x223d7cfe2b961897, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc4b800000000000, rs 0x223d7cfe2b961897, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5cb0c4b800000000, rs 0x223d7cfe2b961897, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x690ce0ee00000000, rs 0x690ce0ee, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7077000000000000, rs 0x690ce0ee, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4867077000000000, rs 0x690ce0ee, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x33734a4b00000000, rs 0x420b34f533734a4b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x420b34f533734a4b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa525800000000000, rs 0x420b34f533734a4b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9b9a525800000000, rs 0x420b34f533734a4b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6dcdfd5900000000, rs 0x6dcdfd59, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x6dcdfd59, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfeac800000000000, rs 0x6dcdfd59, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6e6feac800000000, rs 0x6dcdfd59, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdd46b33c00000000, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x599e000000000000, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xea3599e000000000, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x608edb8000000000, rs 0x608edb80, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6dc0000000000000, rs 0x608edb80, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x476dc0000000000, rs 0x608edb80, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe392ccd900000000, rs 0x7a387445e392ccd9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7a387445e392ccd9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x666c800000000000, rs 0x7a387445e392ccd9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1c9666c800000000, rs 0x7a387445e392ccd9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x644fc63700000000, rs 0x644fc637, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x644fc637, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe31b800000000000, rs 0x644fc637, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x227e31b800000000, rs 0x644fc637, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd80000c900000000, rs 0x512f29b1d80000c9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x512f29b1d80000c9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x64800000000000, rs 0x512f29b1d80000c9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc000064800000000, rs 0x512f29b1d80000c9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7a08963200000000, rs 0x7a089632, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4b19000000000000, rs 0x7a089632, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd044b19000000000, rs 0x7a089632, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3dad020a00000000, rs 0xeaded5c53dad020a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xeaded5c53dad020a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8105000000000000, rs 0xeaded5c53dad020a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xed68105000000000, rs 0xeaded5c53dad020a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7ec98b8500000000, rs 0x7ec98b85, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7ec98b85, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc5c2800000000000, rs 0x7ec98b85, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf64c5c2800000000, rs 0x7ec98b85, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x31eea35b00000000, rs 0x8a6229d731eea35b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x8a6229d731eea35b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x51ad800000000000, rs 0x8a6229d731eea35b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8f751ad800000000, rs 0x8a6229d731eea35b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x738aad5c00000000, rs 0x738aad5c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x56ae000000000000, rs 0x738aad5c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9c556ae000000000, rs 0x738aad5c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4898564900000000, rs 0x2c3c3f9e48985649, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2c3c3f9e48985649, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2b24800000000000, rs 0x2c3c3f9e48985649, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x44c2b24800000000, rs 0x2c3c3f9e48985649, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x774bb0eb00000000, rs 0x774bb0eb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x774bb0eb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd875800000000000, rs 0x774bb0eb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xba5d875800000000, rs 0x774bb0eb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdc9c0b7700000000, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5bb800000000000, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe4e05bb800000000, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4f040d5600000000, rs 0x4f040d56, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6ab000000000000, rs 0x4f040d56, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x78206ab000000000, rs 0x4f040d56, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1d5e68ec00000000, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3476000000000000, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeaf3476000000000, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4bc510e100000000, rs 0x4bc510e1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4bc510e1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8870800000000000, rs 0x4bc510e1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5e28870800000000, rs 0x4bc510e1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3d0c6e2500000000, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3712800000000000, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe863712800000000, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4686363800000000, rs 0x46863638, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1b1c000000000000, rs 0x46863638, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3431b1c000000000, rs 0x46863638, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe7fb658700000000, rs 0x164e17c1e7fb6587, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x164e17c1e7fb6587, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb2c3800000000000, rs 0x164e17c1e7fb6587, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3fdb2c3800000000, rs 0x164e17c1e7fb6587, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x42472b8f00000000, rs 0x42472b8f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x42472b8f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x95c7800000000000, rs 0x42472b8f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x12395c7800000000, rs 0x42472b8f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x56d4950b00000000, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4a85800000000000, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb6a4a85800000000, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5c007b8a00000000, rs 0x5c007b8a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3dc5000000000000, rs 0x5c007b8a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe003dc5000000000, rs 0x5c007b8a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbe7fa08a00000000, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd045000000000000, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf3fd045000000000, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x58c1663d00000000, rs 0x58c1663d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x58c1663d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb31e800000000000, rs 0x58c1663d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc60b31e800000000, rs 0x58c1663d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x159649c500000000, rs 0xf8be8164159649c5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf8be8164159649c5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x24e2800000000000, rs 0xf8be8164159649c5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xacb24e2800000000, rs 0xf8be8164159649c5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x558240e400000000, rs 0x558240e4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2072000000000000, rs 0x558240e4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xac12072000000000, rs 0x558240e4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x84e69b1700000000, rs 0x7ca3259784e69b17, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7ca3259784e69b17, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4d8b800000000000, rs 0x7ca3259784e69b17, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2734d8b800000000, rs 0x7ca3259784e69b17, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x51435d5300000000, rs 0x51435d53, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x51435d53, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xaea9800000000000, rs 0x51435d53, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8a1aea9800000000, rs 0x51435d53, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa1f24f5c00000000, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x27ae000000000000, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf927ae000000000, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x251d3b9e00000000, rs 0x251d3b9e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9dcf000000000000, rs 0x251d3b9e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x28e9dcf000000000, rs 0x251d3b9e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe3459e3600000000, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcf1b000000000000, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a2cf1b000000000, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x21dc262900000000, rs 0x21dc2629, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x21dc2629, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1314800000000000, rs 0x21dc2629, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xee1314800000000, rs 0x21dc2629, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x187980fa00000000, rs 0xc532e18e187980fa, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc532e18e187980fa, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc07d000000000000, rs 0xc532e18e187980fa, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc3cc07d000000000, rs 0xc532e18e187980fa, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2c9f00f000000000, rs 0x2c9f00f0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8078000000000000, rs 0x2c9f00f0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x64f8078000000000, rs 0x2c9f00f0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4f287d1c00000000, rs 0xb3fdec294f287d1c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3e8e000000000000, rs 0xb3fdec294f287d1c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7943e8e000000000, rs 0xb3fdec294f287d1c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x285e1d4700000000, rs 0x285e1d47, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x285e1d47, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xea3800000000000, rs 0x285e1d47, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x42f0ea3800000000, rs 0x285e1d47, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x49732b9000000000, rs 0xb620660a49732b90, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb620660a49732b90, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x95c8000000000000, rs 0xb620660a49732b90, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4b995c8000000000, rs 0xb620660a49732b90, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x36194d4200000000, rs 0x36194d42, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa6a1000000000000, rs 0x36194d42, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb0ca6a1000000000, rs 0x36194d42, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6cfde99100000000, rs 0x993138f16cfde991, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x993138f16cfde991, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf4c8800000000000, rs 0x993138f16cfde991, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x67ef4c8800000000, rs 0x993138f16cfde991, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x32d850f500000000, rs 0x32d850f5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x32d850f5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x287a800000000000, rs 0x32d850f5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x96c287a800000000, rs 0x32d850f5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7d5407b900000000, rs 0xde02d1337d5407b9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xde02d1337d5407b9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3dc800000000000, rs 0xde02d1337d5407b9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeaa03dc800000000, rs 0xde02d1337d5407b9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3f9b762c00000000, rs 0x3f9b762c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbb16000000000000, rs 0x3f9b762c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfcdbb16000000000, rs 0x3f9b762c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe1dab15a00000000, rs 0x13a390e1e1dab15a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x58ad000000000000, rs 0x13a390e1e1dab15a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xed58ad000000000, rs 0x13a390e1e1dab15a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3b5a6b9b00000000, rs 0x3b5a6b9b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3b5a6b9b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x35cd800000000000, rs 0x3b5a6b9b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdad35cd800000000, rs 0x3b5a6b9b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x828716c800000000, rs 0x743491a6828716c8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x743491a6828716c8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8b64000000000000, rs 0x743491a6828716c8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1438b64000000000, rs 0x743491a6828716c8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x315d62600000000, rs 0x315d626, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb13000000000000, rs 0x315d626, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x18aeb13000000000, rs 0x315d626, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xede292f200000000, rs 0x8cff404aede292f2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8cff404aede292f2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4979000000000000, rs 0x8cff404aede292f2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6f14979000000000, rs 0x8cff404aede292f2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7d4cb9100000000, rs 0x7d4cb91, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7d4cb91, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x65c8800000000000, rs 0x7d4cb91, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3ea65c8800000000, rs 0x7d4cb91, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1f83763600000000, rs 0xb9cec0db1f837636, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb9cec0db1f837636, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbb1b000000000000, rs 0xb9cec0db1f837636, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfc1bb1b000000000, rs 0xb9cec0db1f837636, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa97ed4800000000, rs 0xa97ed48, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf6a4000000000000, rs 0xa97ed48, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x54bf6a4000000000, rs 0xa97ed48, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x509771c00000000, rs 0x2eaa5aa70509771c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbb8e000000000000, rs 0x2eaa5aa70509771c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x284bb8e000000000, rs 0x2eaa5aa70509771c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe56f0ff00000000, rs 0xe56f0ff, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe56f0ff, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x787f800000000000, rs 0xe56f0ff, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x72b787f800000000, rs 0xe56f0ff, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1875241b00000000, rs 0xd327538e1875241b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd327538e1875241b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x920d800000000000, rs 0xd327538e1875241b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc3a920d800000000, rs 0xd327538e1875241b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1011a0fa00000000, rs 0x1011a0fa, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd07d000000000000, rs 0x1011a0fa, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x808d07d000000000, rs 0x1011a0fa, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8b739b6b00000000, rs 0x42e9f8548b739b6b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x42e9f8548b739b6b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcdb5800000000000, rs 0x42e9f8548b739b6b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5b9cdb5800000000, rs 0x42e9f8548b739b6b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x14d0bd4d00000000, rs 0x14d0bd4d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x14d0bd4d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5ea6800000000000, rs 0x14d0bd4d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa685ea6800000000, rs 0x14d0bd4d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xeccbba1a00000000, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdd0d000000000000, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x665dd0d000000000, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x19939b9400000000, rs 0x19939b94, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcdca000000000000, rs 0x19939b94, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcc9cdca000000000, rs 0x19939b94, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcd9d27cb00000000, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x93e5800000000000, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6ce93e5800000000, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1d52862300000000, rs 0x1d528623, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1d528623, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4311800000000000, rs 0x1d528623, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xea94311800000000, rs 0x1d528623, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xae3e942300000000, rs 0x73916483ae3e9423, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x73916483ae3e9423, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4a11800000000000, rs 0x73916483ae3e9423, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x71f4a11800000000, rs 0x73916483ae3e9423, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf12f560e00000000, rs 0xfffffffff12f560e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff12f560e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xab07000000000000, rs 0xfffffffff12f560e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x897ab07000000000, rs 0xfffffffff12f560e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe12856100000000, rs 0x276af70a0e128561, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x276af70a0e128561, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x42b0800000000000, rs 0x276af70a0e128561, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x70942b0800000000, rs 0x276af70a0e128561, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf5ee4bb900000000, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x25dc800000000000, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xaf725dc800000000, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb5e74b6e00000000, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa5b7000000000000, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xaf3a5b7000000000, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf8ad6d6000000000, rs 0xfffffffff8ad6d60, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff8ad6d60, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb6b0000000000000, rs 0xfffffffff8ad6d60, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc56b6b0000000000, rs 0xfffffffff8ad6d60, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8accfa600000000, rs 0x20223f1308accfa6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x20223f1308accfa6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x67d3000000000000, rs 0x20223f1308accfa6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x45667d3000000000, rs 0x20223f1308accfa6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfc6c70d700000000, rs 0xfffffffffc6c70d7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffffc6c70d7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x386b800000000000, rs 0xfffffffffc6c70d7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe36386b800000000, rs 0xfffffffffc6c70d7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3976b5f500000000, rs 0xf83c55743976b5f5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf83c55743976b5f5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5afa800000000000, rs 0xf83c55743976b5f5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcbb5afa800000000, rs 0xf83c55743976b5f5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe22b20d200000000, rs 0xffffffffe22b20d2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe22b20d2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9069000000000000, rs 0xffffffffe22b20d2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1159069000000000, rs 0xffffffffe22b20d2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x46923c3d00000000, rs 0x1f9720f946923c3d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1f9720f946923c3d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1e1e800000000000, rs 0x1f9720f946923c3d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3491e1e800000000, rs 0x1f9720f946923c3d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe6ea3d6500000000, rs 0xffffffffe6ea3d65, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffe6ea3d65, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1eb2800000000000, rs 0xffffffffe6ea3d65, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3751eb2800000000, rs 0xffffffffe6ea3d65, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6d2448dd00000000, rs 0x620d28506d2448dd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x620d28506d2448dd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x246e800000000000, rs 0x620d28506d2448dd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x692246e800000000, rs 0x620d28506d2448dd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xeba91bbc00000000, rs 0xffffffffeba91bbc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffeba91bbc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8dde000000000000, rs 0xffffffffeba91bbc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5d48dde000000000, rs 0xffffffffeba91bbc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9ff4a73200000000, rs 0x60a521e99ff4a732, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5399000000000000, rs 0x60a521e99ff4a732, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xffa5399000000000, rs 0x60a521e99ff4a732, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xef68060b00000000, rs 0xffffffffef68060b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffef68060b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x305800000000000, rs 0xffffffffef68060b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7b40305800000000, rs 0xffffffffef68060b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5c680f0b00000000, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x785800000000000, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe340785800000000, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd727bbb600000000, rs 0xffffffffd727bbb6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd727bbb6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdddb000000000000, rs 0xffffffffd727bbb6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb93dddb000000000, rs 0xffffffffd727bbb6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x800f3d2600000000, rs 0xc7a59be7800f3d26, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc7a59be7800f3d26, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9e93000000000000, rs 0xc7a59be7800f3d26, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x79e93000000000, rs 0xc7a59be7800f3d26, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd3e6a60100000000, rs 0xffffffffd3e6a601, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffd3e6a601, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5300800000000000, rs 0xffffffffd3e6a601, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9f35300800000000, rs 0xffffffffd3e6a601, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x82ca1b4100000000, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xda0800000000000, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1650da0800000000, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdea580d800000000, rs 0xffffffffdea580d8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffdea580d8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc06c000000000000, rs 0xffffffffdea580d8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf52c06c000000000, rs 0xffffffffdea580d8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x60d19dcd00000000, rs 0x2b8613a260d19dcd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2b8613a260d19dcd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcee6800000000000, rs 0x2b8613a260d19dcd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x68cee6800000000, rs 0x2b8613a260d19dcd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xda649d6f00000000, rs 0xffffffffda649d6f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffda649d6f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4eb7800000000000, rs 0xffffffffda649d6f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd324eb7800000000, rs 0xffffffffda649d6f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe8bbe7f00000000, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdf3f800000000000, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x745df3f800000000, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc423cd6a00000000, rs 0xffffffffc423cd6a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc423cd6a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe6b5000000000000, rs 0xffffffffc423cd6a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x211e6b5000000000, rs 0xffffffffc423cd6a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2fcf486b00000000, rs 0x743e568d2fcf486b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x743e568d2fcf486b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa435800000000000, rs 0x743e568d2fcf486b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7e7a435800000000, rs 0x743e568d2fcf486b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x34c3172800000000, rs 0x126f646f34c31728, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x126f646f34c31728, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8b94000000000000, rs 0x126f646f34c31728, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa618b94000000000, rs 0x126f646f34c31728, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcda1f60400000000, rs 0xffffffffcda1f604, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffcda1f604, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfb02000000000000, rs 0xffffffffcda1f604, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6d0fb02000000000, rs 0xffffffffcda1f604, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x56fc4d1200000000, rs 0xaab0196156fc4d12, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xaab0196156fc4d12, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2689000000000000, rs 0xaab0196156fc4d12, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb7e2689000000000, rs 0xaab0196156fc4d12, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8595d34200000000, rs 0x7535cd338595d342, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7535cd338595d342, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe9a1000000000000, rs 0x7535cd338595d342, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2cae9a1000000000, rs 0x7535cd338595d342, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbd3e8d7e00000000, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x46bf000000000000, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe9f46bf000000000, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x422346ec00000000, rs 0xdfb254da422346ec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xdfb254da422346ec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa376000000000000, rs 0xdfb254da422346ec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x111a376000000000, rs 0xdfb254da422346ec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb9ff90c900000000, rs 0xffffffffb9ff90c9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffb9ff90c9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc864800000000000, rs 0xffffffffb9ff90c9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcffc864800000000, rs 0xffffffffb9ff90c9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81ab2a00000000, rs 0xa86726c90081ab2a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa86726c90081ab2a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd595000000000000, rs 0xa86726c90081ab2a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x40d595000000000, rs 0xa86726c90081ab2a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb4bcb61000000000, rs 0xffffffffb4bcb610, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5b08000000000000, rs 0xffffffffb4bcb610, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa5e5b08000000000, rs 0xffffffffb4bcb610, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x679d743800000000, rs 0x9bfeffa1679d7438, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9bfeffa1679d7438, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xba1c000000000000, rs 0x9bfeffa1679d7438, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3ceba1c000000000, rs 0x9bfeffa1679d7438, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb07daba700000000, rs 0xffffffffb07daba7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffb07daba7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd5d3800000000000, rs 0xffffffffb07daba7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x83ed5d3800000000, rs 0xffffffffb07daba7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb7dee24400000000, rs 0xc7699826b7dee244, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc7699826b7dee244, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7122000000000000, rs 0xc7699826b7dee244, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbef7122000000000, rs 0xc7699826b7dee244, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xae3afba200000000, rs 0xffffffffae3afba2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffae3afba2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7dd1000000000000, rs 0xffffffffae3afba2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x71d7dd1000000000, rs 0xffffffffae3afba2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfba6704a00000000, rs 0x3c07af97fba6704a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3825000000000000, rs 0x3c07af97fba6704a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdd33825000000000, rs 0x3c07af97fba6704a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xaafbe61500000000, rs 0xffffffffaafbe615, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffaafbe615, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf30a800000000000, rs 0xffffffffaafbe615, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x57df30a800000000, rs 0xffffffffaafbe615, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4c58bfe00000000, rs 0x521364dc04c58bfe, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc5ff000000000000, rs 0x521364dc04c58bfe, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x262c5ff000000000, rs 0x521364dc04c58bfe, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa7b8c0cc00000000, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6066000000000000, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3dc6066000000000, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9ab7aebc00000000, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd75e000000000000, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd5bd75e000000000, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa379dd7b00000000, rs 0xffffffffa379dd7b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffa379dd7b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeebd800000000000, rs 0xffffffffa379dd7b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1bceebd800000000, rs 0xffffffffa379dd7b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdeeb954d00000000, rs 0xe336c60cdeeb954d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe336c60cdeeb954d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcaa6800000000000, rs 0xe336c60cdeeb954d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf75caa6800000000, rs 0xe336c60cdeeb954d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9b3660c600000000, rs 0xffffffff9b3660c6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9b3660c6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3063000000000000, rs 0xffffffff9b3660c6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd9b3063000000000, rs 0xffffffff9b3660c6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6f52416e00000000, rs 0xd5b2120c6f52416e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd5b2120c6f52416e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x20b7000000000000, rs 0xd5b2120c6f52416e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7a920b7000000000, rs 0xd5b2120c6f52416e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9ff77d7100000000, rs 0xffffffff9ff77d71, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff9ff77d71, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbeb8800000000000, rs 0xffffffff9ff77d71, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xffbbeb8800000000, rs 0xffffffff9ff77d71, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7e628a3400000000, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x451a000000000000, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf31451a000000000, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x92b45ba800000000, rs 0xffffffff92b45ba8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff92b45ba8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2dd4000000000000, rs 0xffffffff92b45ba8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x95a2dd4000000000, rs 0xffffffff92b45ba8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4a4e7e0700000000, rs 0x986a2b654a4e7e07, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x986a2b654a4e7e07, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3f03800000000000, rs 0x986a2b654a4e7e07, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5273f03800000000, rs 0x986a2b654a4e7e07, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9675461f00000000, rs 0xffffffff9675461f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff9675461f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa30f800000000000, rs 0xffffffff9675461f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb3aa30f800000000, rs 0xffffffff9675461f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3a489b5500000000, rs 0xa974eac43a489b55, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xa974eac43a489b55, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4daa800000000000, rs 0xa974eac43a489b55, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd244daa800000000, rs 0xa974eac43a489b55, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8832161a00000000, rs 0xffffffff8832161a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8832161a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb0d000000000000, rs 0xffffffff8832161a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4190b0d000000000, rs 0xffffffff8832161a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x72f1f8f500000000, rs 0xa388c16272f1f8f5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xa388c16272f1f8f5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfc7a800000000000, rs 0xa388c16272f1f8f5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x978fc7a800000000, rs 0xa388c16272f1f8f5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8cf30bad00000000, rs 0xffffffff8cf30bad, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff8cf30bad, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x85d6800000000000, rs 0xffffffff8cf30bad, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x67985d6800000000, rs 0xffffffff8cf30bad, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe7495ea900000000, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xaf54800000000000, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3a4af54800000000, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81b02d7400000000, rs 0xffffffff81b02d74, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff81b02d74, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x16ba000000000000, rs 0xffffffff81b02d74, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd816ba000000000, rs 0xffffffff81b02d74, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5cc1c8b400000000, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe45a000000000000, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe60e45a000000000, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x857130c300000000, rs 0xffffffff857130c3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff857130c3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9861800000000000, rs 0xffffffff857130c3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2b89861800000000, rs 0xffffffff857130c3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdfa605c000000000, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2e0000000000000, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfd302e0000000000, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5d8a909900000000, rs 0x5d8a9099, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5d8a9099, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x484c800000000000, rs 0x5d8a9099, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xec5484c800000000, rs 0x5d8a9099, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x59a7b04f00000000, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd827800000000000, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcd3d827800000000, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x594b8d2e00000000, rs 0x594b8d2e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc697000000000000, rs 0x594b8d2e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xca5c697000000000, rs 0x594b8d2e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb728922f00000000, rs 0x4bf8485ab728922f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4bf8485ab728922f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4917800000000000, rs 0x4bf8485ab728922f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb944917800000000, rs 0x4bf8485ab728922f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5408abf700000000, rs 0x5408abf7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5408abf7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x55fb800000000000, rs 0x5408abf7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa0455fb800000000, rs 0x5408abf7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3b66a7fb00000000, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x53fd800000000000, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdb353fd800000000, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x50c9b64000000000, rs 0x50c9b640, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdb20000000000000, rs 0x50c9b640, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x864db20000000000, rs 0x50c9b640, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfdc28eda00000000, rs 0x31e0c6affdc28eda, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x476d000000000000, rs 0x31e0c6affdc28eda, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xee1476d000000000, rs 0x31e0c6affdc28eda, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4e8ee64500000000, rs 0x4e8ee645, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4e8ee645, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7322800000000000, rs 0x4e8ee645, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7477322800000000, rs 0x4e8ee645, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbf0c999d00000000, rs 0x53606bb4bf0c999d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x53606bb4bf0c999d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4cce800000000000, rs 0x53606bb4bf0c999d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf864cce800000000, rs 0x53606bb4bf0c999d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4a4ffbf200000000, rs 0x4a4ffbf2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfdf9000000000000, rs 0x4a4ffbf2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x527fdf9000000000, rs 0x4a4ffbf2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1b7919f000000000, rs 0x32fc12c81b7919f0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8cf8000000000000, rs 0x32fc12c81b7919f0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdbc8cf8000000000, rs 0x32fc12c81b7919f0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x470cdd2b00000000, rs 0x470cdd2b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x470cdd2b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6e95800000000000, rs 0x470cdd2b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3866e95800000000, rs 0x470cdd2b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc72efcd600000000, rs 0x3ef88384c72efcd6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7e6b000000000000, rs 0x3ef88384c72efcd6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3977e6b000000000, rs 0x3ef88384c72efcd6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x43cdc09c00000000, rs 0x43cdc09c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe04e000000000000, rs 0x43cdc09c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1e6e04e000000000, rs 0x43cdc09c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6a2a358000000000, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1ac0000000000000, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5151ac0000000000, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7b827d2100000000, rs 0x7b827d21, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7b827d21, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3e90800000000000, rs 0x7b827d21, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdc13e90800000000, rs 0x7b827d21, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1dca77c900000000, rs 0x15ebf6121dca77c9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x15ebf6121dca77c9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3be4800000000000, rs 0x15ebf6121dca77c9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xee53be4800000000, rs 0x15ebf6121dca77c9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7f43609600000000, rs 0x7f436096, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb04b000000000000, rs 0x7f436096, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfa1b04b000000000, rs 0x7f436096, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfd9147ae00000000, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa3d7000000000000, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xec8a3d7000000000, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7200464f00000000, rs 0x7200464f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7200464f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2327800000000000, rs 0x7200464f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9002327800000000, rs 0x7200464f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81e9111700000000, rs 0xbb8470f981e91117, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xbb8470f981e91117, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x888b800000000000, rs 0xbb8470f981e91117, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf4888b800000000, rs 0xbb8470f981e91117, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x76c15bf800000000, rs 0x76c15bf8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xadfc000000000000, rs 0x76c15bf8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb60adfc000000000, rs 0x76c15bf8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc6a532e000000000, rs 0x5d42aeac6a532e0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9970000000000000, rs 0x5d42aeac6a532e0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3529970000000000, rs 0x5d42aeac6a532e0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x68860bfd00000000, rs 0x68860bfd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x68860bfd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5fe800000000000, rs 0x68860bfd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x44305fe800000000, rs 0x68860bfd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x19fb9e6300000000, rs 0x14abf36419fb9e63, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x14abf36419fb9e63, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcf31800000000000, rs 0x14abf36419fb9e63, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcfdcf31800000000, rs 0x14abf36419fb9e63, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6c47164a00000000, rs 0x6c47164a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8b25000000000000, rs 0x6c47164a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6238b25000000000, rs 0x6c47164a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa8d72aac00000000, rs 0x249d559aa8d72aac, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9556000000000000, rs 0x249d559aa8d72aac, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x46b9556000000000, rs 0x249d559aa8d72aac, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6104309300000000, rs 0x61043093, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x61043093, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1849800000000000, rs 0x61043093, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x821849800000000, rs 0x61043093, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x84b30ec00000000, rs 0xcd6764f084b30ec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9876000000000000, rs 0xcd6764f084b30ec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4259876000000000, rs 0xcd6764f084b30ec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x65c52d2400000000, rs 0x65c52d24, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9692000000000000, rs 0x65c52d24, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2e29692000000000, rs 0x65c52d24, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x92468fdf00000000, rs 0x7f03ac0792468fdf, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7f03ac0792468fdf, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x47ef800000000000, rs 0x7f03ac0792468fdf, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x92347ef800000000, rs 0x7f03ac0792468fdf, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x119b4be900000000, rs 0x119b4be9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x119b4be9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa5f4800000000000, rs 0x119b4be9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8cda5f4800000000, rs 0x119b4be9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x56e670f500000000, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x387a800000000000, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb73387a800000000, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x155a565e00000000, rs 0x155a565e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2b2f000000000000, rs 0x155a565e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xaad2b2f000000000, rs 0x155a565e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1a65271100000000, rs 0x152828591a652711, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x152828591a652711, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9388800000000000, rs 0x152828591a652711, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd329388800000000, rs 0x152828591a652711, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1819708700000000, rs 0x18197087, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x18197087, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb843800000000000, rs 0x18197087, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc0cb843800000000, rs 0x18197087, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd215a9fb00000000, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd4fd800000000000, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x90ad4fd800000000, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1cd86d3000000000, rs 0x1cd86d30, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3698000000000000, rs 0x1cd86d30, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe6c3698000000000, rs 0x1cd86d30, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x282a041700000000, rs 0x8d95c049282a0417, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x8d95c049282a0417, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x20b800000000000, rs 0x8d95c049282a0417, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x415020b800000000, rs 0x8d95c049282a0417, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x29f3d3500000000, rs 0x29f3d35, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x29f3d35, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9e9a800000000000, rs 0x29f3d35, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x14f9e9a800000000, rs 0x29f3d35, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x978058f300000000, rs 0xf2e7a490978058f3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf2e7a490978058f3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2c79800000000000, rs 0xf2e7a490978058f3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbc02c79800000000, rs 0xf2e7a490978058f3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x65e208200000000, rs 0x65e2082, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1041000000000000, rs 0x65e2082, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x32f1041000000000, rs 0x65e2082, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x975b1aa00000000, rs 0x775b4cca0975b1aa, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd8d5000000000000, rs 0x775b4cca0975b1aa, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4bad8d5000000000, rs 0x775b4cca0975b1aa, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb1d065b00000000, rs 0xb1d065b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb1d065b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x832d800000000000, rs 0xb1d065b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x58e832d800000000, rs 0xb1d065b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3511102000000000, rs 0xa2b84a635111020, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa2b84a635111020, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8810000000000000, rs 0xa2b84a635111020, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa888810000000000, rs 0xa2b84a635111020, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfdc1bec00000000, rs 0xfdc1bec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdf6000000000000, rs 0xfdc1bec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7ee0df6000000000, rs 0xfdc1bec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa7d88b6f00000000, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x45b7800000000000, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3ec45b7800000000, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3793a65100000000, rs 0x3793a651, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3793a651, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd328800000000000, rs 0x3793a651, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbc9d328800000000, rs 0x3793a651, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9941dedd00000000, rs 0xa3d991b79941dedd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xa3d991b79941dedd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xef6e800000000000, rs 0xa3d991b79941dedd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xca0ef6e800000000, rs 0xa3d991b79941dedd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3352bbe600000000, rs 0x3352bbe6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5df3000000000000, rs 0x3352bbe6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9a95df3000000000, rs 0x3352bbe6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5a0d950800000000, rs 0x751cb4835a0d9508, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xca84000000000000, rs 0x751cb4835a0d9508, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd06ca84000000000, rs 0x751cb4835a0d9508, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3e119d3f00000000, rs 0x3e119d3f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3e119d3f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xce9f800000000000, rs 0x3e119d3f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf08ce9f800000000, rs 0x3e119d3f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x625bb2d300000000, rs 0x949cad35625bb2d3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x949cad35625bb2d3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd969800000000000, rs 0x949cad35625bb2d3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x12dd969800000000, rs 0x949cad35625bb2d3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3ad0808800000000, rs 0x3ad08088, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4044000000000000, rs 0x3ad08088, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd684044000000000, rs 0x3ad08088, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa692973900000000, rs 0x7f567f35a6929739, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7f567f35a6929739, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4b9c800000000000, rs 0x7f567f35a6929739, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3494b9c800000000, rs 0x7f567f35a6929739, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2497d08d00000000, rs 0x2497d08d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2497d08d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe846800000000000, rs 0x2497d08d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x24be846800000000, rs 0x2497d08d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdb8d7d2700000000, rs 0x185b88e0db8d7d27, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x185b88e0db8d7d27, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbe93800000000000, rs 0x185b88e0db8d7d27, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdc6be93800000000, rs 0x185b88e0db8d7d27, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2056cd3a00000000, rs 0x2056cd3a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x669d000000000000, rs 0x2056cd3a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2b669d000000000, rs 0x2056cd3a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2fd61b9100000000, rs 0x255a4cd22fd61b91, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x255a4cd22fd61b91, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdc8800000000000, rs 0x255a4cd22fd61b91, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7eb0dc8800000000, rs 0x255a4cd22fd61b91, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2d15ebe300000000, rs 0x2d15ebe3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2d15ebe3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf5f1800000000000, rs 0x2d15ebe3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x68af5f1800000000, rs 0x2d15ebe3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa4363f7b00000000, rs 0x1048d589a4363f7b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1048d589a4363f7b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1fbd800000000000, rs 0x1048d589a4363f7b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x21b1fbd800000000, rs 0x1048d589a4363f7b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x29d4f65400000000, rs 0x29d4f654, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7b2a000000000000, rs 0x29d4f654, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4ea7b2a000000000, rs 0x29d4f654, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf460579000000000, rs 0x6a6d5708f4605790, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2bc8000000000000, rs 0x6a6d5708f4605790, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa302bc8000000000, rs 0x6a6d5708f4605790, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc5a9267900000000, rs 0xffffffffc5a92679, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffc5a92679, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x933c800000000000, rs 0xffffffffc5a92679, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2d4933c800000000, rs 0xffffffffc5a92679, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xde35697f00000000, rs 0xd58ecbabde35697f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd58ecbabde35697f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb4bf800000000000, rs 0xd58ecbabde35697f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf1ab4bf800000000, rs 0xd58ecbabde35697f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc1683bce00000000, rs 0xffffffffc1683bce, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc1683bce, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1de7000000000000, rs 0xffffffffc1683bce, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb41de7000000000, rs 0xffffffffc1683bce, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8c0a5f100000000, rs 0x575548fd08c0a5f1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x575548fd08c0a5f1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x52f8800000000000, rs 0x575548fd08c0a5f1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x46052f8800000000, rs 0x575548fd08c0a5f1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcc2b1d1700000000, rs 0xffffffffcc2b1d17, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffcc2b1d17, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8e8b800000000000, rs 0xffffffffcc2b1d17, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6158e8b800000000, rs 0xffffffffcc2b1d17, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8ed98ddb00000000, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc6ed800000000000, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x76cc6ed800000000, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc8ea00a000000000, rs 0xffffffffc8ea00a0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc8ea00a0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x50000000000000, rs 0xffffffffc8ea00a0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4750050000000000, rs 0xffffffffc8ea00a0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xabc578cc00000000, rs 0xbe00d51eabc578cc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbc66000000000000, rs 0xbe00d51eabc578cc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5e2bc66000000000, rs 0xbe00d51eabc578cc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd6ad50a500000000, rs 0xffffffffd6ad50a5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffd6ad50a5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa852800000000000, rs 0xffffffffd6ad50a5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb56a852800000000, rs 0xffffffffd6ad50a5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1c170ab200000000, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8559000000000000, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe0b8559000000000, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd26c4d1200000000, rs 0xffffffffd26c4d12, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd26c4d12, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2689000000000000, rs 0xffffffffd26c4d12, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9362689000000000, rs 0xffffffffd26c4d12, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa22256a700000000, rs 0xa978f12ca22256a7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xa978f12ca22256a7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2b53800000000000, rs 0xa978f12ca22256a7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1112b53800000000, rs 0xa978f12ca22256a7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdf2f6bcb00000000, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb5e5800000000000, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf97b5e5800000000, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x811ee02f00000000, rs 0x9950a93b811ee02f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x9950a93b811ee02f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7017800000000000, rs 0x9950a93b811ee02f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8f7017800000000, rs 0x9950a93b811ee02f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdbee767c00000000, rs 0xffffffffdbee767c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffdbee767c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3b3e000000000000, rs 0xffffffffdbee767c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdf73b3e000000000, rs 0xffffffffdbee767c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc6796a0c00000000, rs 0xb44eea93c6796a0c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb506000000000000, rs 0xb44eea93c6796a0c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x33cb506000000000, rs 0xb44eea93c6796a0c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe3a1cbc100000000, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe5e0800000000000, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1d0e5e0800000000, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6c0eb65700000000, rs 0xfe71fca06c0eb657, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfe71fca06c0eb657, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5b2b800000000000, rs 0xfe71fca06c0eb657, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6075b2b800000000, rs 0xfe71fca06c0eb657, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe760d67600000000, rs 0xffffffffe760d676, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe760d676, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6b3b000000000000, rs 0xffffffffe760d676, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3b06b3b000000000, rs 0xffffffffe760d676, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf818af5700000000, rs 0x4ed6393df818af57, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4ed6393df818af57, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x57ab800000000000, rs 0x4ed6393df818af57, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc0c57ab800000000, rs 0x4ed6393df818af57, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xea23f0af00000000, rs 0xffffffffea23f0af, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffea23f0af, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf857800000000000, rs 0xffffffffea23f0af, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x511f857800000000, rs 0xffffffffea23f0af, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x236770a00000000, rs 0xf22e90200236770a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xf22e90200236770a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3b85000000000000, rs 0xf22e90200236770a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x11b3b85000000000, rs 0xf22e90200236770a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xeee2ed1800000000, rs 0xffffffffeee2ed18, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x768c000000000000, rs 0xffffffffeee2ed18, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x771768c000000000, rs 0xffffffffeee2ed18, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xafd0c45d00000000, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x622e800000000000, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7e8622e800000000, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf0a5bd1d00000000, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xde8e800000000000, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x852de8e800000000, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8102315b00000000, rs 0xeed8f3518102315b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xeed8f3518102315b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x18ad800000000000, rs 0xeed8f3518102315b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8118ad800000000, rs 0xeed8f3518102315b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf464a0aa00000000, rs 0xfffffffff464a0aa, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff464a0aa, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5055000000000000, rs 0xfffffffff464a0aa, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa325055000000000, rs 0xfffffffff464a0aa, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x995efd5e00000000, rs 0xadafefb9995efd5e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xadafefb9995efd5e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7eaf000000000000, rs 0xadafefb9995efd5e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcaf7eaf000000000, rs 0xadafefb9995efd5e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf927867300000000, rs 0xfffffffff9278673, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffff9278673, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc339800000000000, rs 0xfffffffff9278673, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc93c339800000000, rs 0xfffffffff9278673, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xeb25308600000000, rs 0x34061933eb253086, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34061933eb253086, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9843000000000000, rs 0x34061933eb253086, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5929843000000000, rs 0x34061933eb253086, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfde69bc400000000, rs 0xfffffffffde69bc4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4de2000000000000, rs 0xfffffffffde69bc4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xef34de2000000000, rs 0xfffffffffde69bc4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4b4c52bc00000000, rs 0x1748da264b4c52bc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x295e000000000000, rs 0x1748da264b4c52bc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5a6295e000000000, rs 0x1748da264b4c52bc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x89b8fd0900000000, rs 0xffffffff89b8fd09, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff89b8fd09, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7e84800000000000, rs 0xffffffff89b8fd09, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4dc7e84800000000, rs 0xffffffff89b8fd09, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9302be8900000000, rs 0x34fdfc9a9302be89, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x34fdfc9a9302be89, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5f44800000000000, rs 0x34fdfc9a9302be89, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9815f44800000000, rs 0x34fdfc9a9302be89, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8d79e0be00000000, rs 0xffffffff8d79e0be, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8d79e0be, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf05f000000000000, rs 0xffffffff8d79e0be, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6bcf05f000000000, rs 0xffffffff8d79e0be, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc521d18000000000, rs 0xd00278c3c521d180, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd00278c3c521d180, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe8c0000000000000, rs 0xd00278c3c521d180, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x290e8c0000000000, rs 0xd00278c3c521d180, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x803ac66700000000, rs 0xffffffff803ac667, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff803ac667, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6333800000000000, rs 0xffffffff803ac667, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1d6333800000000, rs 0xffffffff803ac667, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc1d37a5d00000000, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbd2e800000000000, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe9bd2e800000000, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x84fbdbd000000000, rs 0xffffffff84fbdbd0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xede8000000000000, rs 0xffffffff84fbdbd0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x27dede8000000000, rs 0xffffffff84fbdbd0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xddef983900000000, rs 0x65fd698fddef9839, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x65fd698fddef9839, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcc1c800000000000, rs 0x65fd698fddef9839, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xef7cc1c800000000, rs 0x65fd698fddef9839, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9abc8bd500000000, rs 0xffffffff9abc8bd5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff9abc8bd5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x45ea800000000000, rs 0xffffffff9abc8bd5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd5e45ea800000000, rs 0xffffffff9abc8bd5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81b5af5200000000, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd7a9000000000000, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdad7a9000000000, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9e7d966200000000, rs 0xffffffff9e7d9662, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9e7d9662, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcb31000000000000, rs 0xffffffff9e7d9662, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf3ecb31000000000, rs 0xffffffff9e7d9662, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbdb263e900000000, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x31f4800000000000, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xed931f4800000000, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x933eb0bb00000000, rs 0xffffffff933eb0bb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff933eb0bb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x585d800000000000, rs 0xffffffff933eb0bb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x99f585d800000000, rs 0xffffffff933eb0bb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x42f3b58d00000000, rs 0x372c209e42f3b58d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x372c209e42f3b58d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdac6800000000000, rs 0x372c209e42f3b58d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x179dac6800000000, rs 0x372c209e42f3b58d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x97ffad0c00000000, rs 0xffffffff97ffad0c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd686000000000000, rs 0xffffffff97ffad0c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbffd686000000000, rs 0xffffffff97ffad0c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe122a83b00000000, rs 0x30f870b7e122a83b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x30f870b7e122a83b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x541d800000000000, rs 0x30f870b7e122a83b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x91541d800000000, rs 0x30f870b7e122a83b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xafb010b100000000, rs 0xffffffffafb010b1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffafb010b1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x858800000000000, rs 0xffffffffafb010b1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7d80858800000000, rs 0xffffffffafb010b1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x678930ec00000000, rs 0x9e02de4b678930ec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9e02de4b678930ec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9876000000000000, rs 0x9e02de4b678930ec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3c49876000000000, rs 0x9e02de4b678930ec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xab710d0600000000, rs 0xffffffffab710d06, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffab710d06, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8683000000000000, rs 0xffffffffab710d06, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5b88683000000000, rs 0xffffffffab710d06, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9826631e00000000, rs 0xcd61a8639826631e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcd61a8639826631e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x318f000000000000, rs 0xcd61a8639826631e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc13318f000000000, rs 0xcd61a8639826631e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa6322bdf00000000, rs 0xffffffffa6322bdf, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffa6322bdf, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x15ef800000000000, rs 0xffffffffa6322bdf, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x31915ef800000000, rs 0xffffffffa6322bdf, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9a7bd3ca00000000, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe9e5000000000000, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd3de9e5000000000, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa2f3366800000000, rs 0xffffffffa2f33668, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa2f33668, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9b34000000000000, rs 0xffffffffa2f33668, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1799b34000000000, rs 0xffffffffa2f33668, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6481af1700000000, rs 0x58ec644d6481af17, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x58ec644d6481af17, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd78b800000000000, rs 0x58ec644d6481af17, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x240d78b800000000, rs 0x58ec644d6481af17, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbcb4666d00000000, rs 0xffffffffbcb4666d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffbcb4666d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3336800000000000, rs 0xffffffffbcb4666d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe5a3336800000000, rs 0xffffffffbcb4666d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb236b66600000000, rs 0x680cce5fb236b666, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x680cce5fb236b666, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5b33000000000000, rs 0x680cce5fb236b666, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x91b5b33000000000, rs 0x680cce5fb236b666, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb8757bda00000000, rs 0xffffffffb8757bda, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb8757bda, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbded000000000000, rs 0xffffffffb8757bda, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc3abded000000000, rs 0xffffffffb8757bda, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1f6d4d7500000000, rs 0x3baa99471f6d4d75, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3baa99471f6d4d75, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa6ba800000000000, rs 0x3baa99471f6d4d75, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfb6a6ba800000000, rs 0x3baa99471f6d4d75, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb5365d0300000000, rs 0xffffffffb5365d03, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffb5365d03, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2e81800000000000, rs 0xffffffffb5365d03, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa9b2e81800000000, rs 0xffffffffb5365d03, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5f12236b00000000, rs 0x614d9b445f12236b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x614d9b445f12236b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x11b5800000000000, rs 0x614d9b445f12236b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf8911b5800000000, rs 0x614d9b445f12236b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb1f740b400000000, rs 0xffffffffb1f740b4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb1f740b4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa05a000000000000, rs 0xffffffffb1f740b4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8fba05a000000000, rs 0xffffffffb1f740b4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1ba8412100000000, rs 0xa2a6ec661ba84121, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xa2a6ec661ba84121, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2090800000000000, rs 0xa2a6ec661ba84121, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdd42090800000000, rs 0xa2a6ec661ba84121, imm 0x0003
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+dsllv $s0, $s1, $s2 :: rd 0x257ad5400000000, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+dsllv $s0, $s1, $s2 :: rd 0x9558980000000000, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+dsllv $t0, $t1, $t2 :: rd 0x2608edb8000000, rs 0x9823b6e, rt 0xffffffffb8757bda
+dsllv $s0, $s1, $s2 :: rd 0x1e60000000000000, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+dsllv $t0, $t1, $t2 :: rd 0x64db200000000000, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dsllv $s0, $s1, $s2 :: rd 0xb5a97ec000000000, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+dsllv $t0, $t1, $t2 :: rd 0x476dc0000000000, rs 0x130476dc, rt 0xffffffffa2f33668
+dsllv $s0, $s1, $s2 :: rd 0x51433bda81000000, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+dsllv $t0, $t1, $t2 :: rd 0xbe2b5b580000000, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dsllv $s0, $s1, $s2 :: rd 0xa274c678f0c2b400, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+dsllv $t0, $t1, $t2 :: rd 0x6a1936c80, rs 0x1a864db2, rt 0xffffffffab710d06
+dsllv $s0, $s1, $s2 :: rd 0xddfed04f40000000, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+dsllv $t0, $t1, $t2 :: rd 0xa00a000000000000, rs 0x1e475005, rt 0xffffffffafb010b1
+dsllv $s0, $s1, $s2 :: rd 0xe4f700000000000, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+dsllv $t0, $t1, $t2 :: rd 0x2608edb8000, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dsllv $s0, $s1, $s2 :: rd 0x0, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+dsllv $t0, $t1, $t2 :: rd 0x7800000000000000, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dsllv $s0, $s1, $s2 :: rd 0xbb50d2c2b4c1a000, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+dsllv $t0, $t1, $t2 :: rd 0xbe2b5b5800000000, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dsllv $s0, $s1, $s2 :: rd 0xa7a83a0000000000, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+dsllv $t0, $t1, $t2 :: rd 0x569796c200000, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dsllv $s0, $s1, $s2 :: rd 0x6a77102f504c0000, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+dsllv $t0, $t1, $t2 :: rd 0x350c9b640000, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dsllv $s0, $s1, $s2 :: rd 0x0, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+dsllv $t0, $t1, $t2 :: rd 0xe6c3698000000000, rs 0x31cd86d3, rt 0xffffffff803ac667
+dsllv $s0, $s1, $s2 :: rd 0xfada4081e0000000, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dsllv $s0, $s1, $s2 :: rd 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+dsllv $t0, $t1, $t2 :: rd 0x709f7b7a00, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dsllv $s0, $s1, $s2 :: rd 0x6985e3e31c98e00, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+dsllv $t0, $t1, $t2 :: rd 0x4c11db700, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dsllv $s0, $s1, $s2 :: rd 0x7000000000000000, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+dsllv $t0, $t1, $t2 :: rd 0x3638000000000000, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dsllv $s0, $s1, $s2 :: rd 0x7636459b7f143a80, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+dsllv $t0, $t1, $t2 :: rd 0x4f80780000000000, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dsllv $s0, $s1, $s2 :: rd 0x9e3a256c40000000, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+dsllv $t0, $t1, $t2 :: rd 0x82a5fb520000000, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dsllv $s0, $s1, $s2 :: rd 0x8cdb192cd8000000, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+dsllv $t0, $t1, $t2 :: rd 0x5f15adac000000, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dsllv $s0, $s1, $s2 :: rd 0x599e2f58a0000000, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+dsllv $t0, $t1, $t2 :: rd 0x580d800000000000, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dsllv $s0, $s1, $s2 :: rd 0xbd7f1607ba83ec00, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+dsllv $t0, $t1, $t2 :: rd 0xb080000000000000, rs 0x569796c2, rt 0xffffffffe760d676
+dsllv $s0, $s1, $s2 :: rd 0xf60a3416cb800000, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+dsllv $t0, $t1, $t2 :: rd 0xa4ad16ea, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dsllv $s0, $s1, $s2 :: rd 0x89967d843d000000, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dsllv $s0, $s1, $s2 :: rd 0xcd9a9cda20766000, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+dsllv $t0, $t1, $t2 :: rd 0x376c15bf800, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dsllv $s0, $s1, $s2 :: rd 0x6d1f000000000000, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+dsllv $t0, $t1, $t2 :: rd 0x18e6c36980000, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dsllv $s0, $s1, $s2 :: rd 0xe712568000000000, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+dsllv $t0, $t1, $t2 :: rd 0xeb42022000000000, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dsllv $s0, $s1, $s2 :: rd 0x3b48000000000000, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+dsllv $t0, $t1, $t2 :: rd 0x791d401400000000, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dsllv $s0, $s1, $s2 :: rd 0x70db710cd036000, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+dsllv $t0, $t1, $t2 :: rd 0x3eee2ed1800000, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dsllv $s0, $s1, $s2 :: rd 0xe81a0ab020000000, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+dsllv $t0, $t1, $t2 :: rd 0x1c27dede8000, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dsllv $s0, $s1, $s2 :: rd 0x639c000000000000, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+dsllv $t0, $t1, $t2 :: rd 0x9a00000000000000, rs 0x745e66cd, rt 0xffffffffc5a92679
+dsllv $s0, $s1, $s2 :: rd 0x8000000000000000, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+dsllv $t0, $t1, $t2 :: rd 0xfff9823b6e000000, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dsllv $s0, $s1, $s2 :: rd 0x454412d6e4a70000, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+dsllv $t0, $t1, $t2 :: rd 0xe7155ab800000000, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dsllv $s0, $s1, $s2 :: rd 0xa000000000000000, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+dsllv $t0, $t1, $t2 :: rd 0x3800000000000000, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dsllv $s0, $s1, $s2 :: rd 0x5b591ae4a5e0000, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+dsllv $t0, $t1, $t2 :: rd 0xfffff2ac12072000, rs 0xffffffff95609039, rt 0x2497d08d
+dsllv $s0, $s1, $s2 :: rd 0x77d27b8000000000, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+dsllv $t0, $t1, $t2 :: rd 0xffffff8b27c03c00, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dsllv $s0, $s1, $s2 :: rd 0x2800000000000000, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dsllv $s0, $s1, $s2 :: rd 0x8c4acc889b600000, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+dsllv $t0, $t1, $t2 :: rd 0xa97ed48000000000, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dsllv $s0, $s1, $s2 :: rd 0xeecff99a2fb6f300, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+dsllv $t0, $t1, $t2 :: rd 0xffff0cc9cdca0000, rs 0xffffffff8664e6e5, rt 0x3793a651
+dsllv $s0, $s1, $s2 :: rd 0x47112a4e00000000, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+dsllv $t0, $t1, $t2 :: rd 0xb5b5800000000000, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dsllv $s0, $s1, $s2 :: rd 0x2820000000000000, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+dsllv $t0, $t1, $t2 :: rd 0xfdd7523778000000, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dsllv $s0, $s1, $s2 :: rd 0x84bb5a8300000000, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+dsllv $t0, $t1, $t2 :: rd 0xfffffffedea580d8, rs 0xffffffffb7a96036, rt 0x65e2082
+dsllv $s0, $s1, $s2 :: rd 0x1aa99c0000000000, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+dsllv $t0, $t1, $t2 :: rd 0xb020000000000000, rs 0xffffffffb3687d81, rt 0x29f3d35
+dsllv $s0, $s1, $s2 :: rd 0xf718000000000000, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+dsllv $t0, $t1, $t2 :: rd 0x2d84000000000000, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dsllv $s0, $s1, $s2 :: rd 0x7b186e652d000000, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+dsllv $t0, $t1, $t2 :: rd 0xffffffd4f7181980, rs 0xffffffffa9ee3033, rt 0x18197087
+dsllv $s0, $s1, $s2 :: rd 0xb800000000000000, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+dsllv $t0, $t1, $t2 :: rd 0xe92b45ba80000000, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dsllv $s0, $s1, $s2 :: rd 0x744c1fefb2d60000, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+dsllv $t0, $t1, $t2 :: rd 0xd816ba0000000000, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dsllv $s0, $s1, $s2 :: rd 0x1c0000000000000, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+dsllv $t0, $t1, $t2 :: rd 0x4326d90000000000, rs 0xffffffffd4326d90, rt 0x65c52d24
+dsllv $s0, $s1, $s2 :: rd 0x6f0785c00000000, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+dsllv $t0, $t1, $t2 :: rd 0xfffe879b81380000, rs 0xffffffffd0f37027, rt 0x61043093
+dsllv $s0, $s1, $s2 :: rd 0xfdcf100000000000, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+dsllv $t0, $t1, $t2 :: rd 0xffffff76c15bf800, rs 0xffffffffddb056fe, rt 0x6c47164a
+dsllv $s0, $s1, $s2 :: rd 0x1c08100000000000, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+dsllv $t0, $t1, $t2 :: rd 0x2000000000000000, rs 0xffffffffd9714b49, rt 0x68860bfd
+dsllv $s0, $s1, $s2 :: rd 0x490caf2000000000, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+dsllv $t0, $t1, $t2 :: rd 0x4c00000000000000, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dsllv $s0, $s1, $s2 :: rd 0x95b1a5ab00000000, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+dsllv $t0, $t1, $t2 :: rd 0xffffe1fb837d8000, rs 0xffffffffc3f706fb, rt 0x7200464f
+dsllv $s0, $s1, $s2 :: rd 0xbc63e7468f000000, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+dsllv $t0, $t1, $t2 :: rd 0xfff3ad0808800000, rs 0xffffffffceb42022, rt 0x7f436096
+dsllv $s0, $s1, $s2 :: rd 0x1241c00000000000, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+dsllv $t0, $t1, $t2 :: rd 0x94ea7b2a00000000, rs 0xffffffffca753d95, rt 0x7b827d21
+dsllv $s0, $s1, $s2 :: rd 0xd59b9ab05625fc00, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+dsllv $t0, $t1, $t2 :: rd 0xff23a80280000000, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dsllv $s0, $s1, $s2 :: rd 0xd685884e76558c4f, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+dsllv $t0, $t1, $t2 :: rd 0xdcecf80000000000, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dsllv $s0, $s1, $s2 :: rd 0x8a8d306571c00000, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+dsllv $t0, $t1, $t2 :: rd 0xed18000000000000, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dsllv $s0, $s1, $s2 :: rd 0x7405000000000000, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+dsllv $t0, $t1, $t2 :: rd 0xffffffffef34de20, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dsllv $s0, $s1, $s2 :: rd 0xed9760db60000000, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+dsllv $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dsllv $s0, $s1, $s2 :: rd 0xa72b8e4e8000000, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+dsllv $t0, $t1, $t2 :: rd 0xa180000000000000, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dsllv $s0, $s1, $s2 :: rd 0x6800000000000000, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+dsllv $t0, $t1, $t2 :: rd 0x3366800000000000, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dsllv $s0, $s1, $s2 :: rd 0x2da4000000000000, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+dsllv $t0, $t1, $t2 :: rd 0xffd8fba05a000000, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dsllv $s0, $s1, $s2 :: rd 0xd7e96a8ce9910000, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+dsllv $t0, $t1, $t2 :: rd 0x1a43383b8, rs 0x34867077, rt 0xffffffff857130c3
+dsllv $s0, $s1, $s2 :: rd 0xde230867a630f6ad, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+dsllv $t0, $t1, $t2 :: rd 0xdc00000000000000, rs 0x30476dc0, rt 0xffffffff81b02d74
+dsllv $s0, $s1, $s2 :: rd 0x2600000000000000, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+dsllv $t0, $t1, $t2 :: rd 0x8963200000000000, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dsllv $s0, $s1, $s2 :: rd 0x3631de0000000000, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+dsllv $t0, $t1, $t2 :: rd 0xe7155ab8000000, rs 0x39c556ae, rt 0xffffffff8832161a
+dsllv $s0, $s1, $s2 :: rd 0x9bc0000000000000, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+dsllv $t0, $t1, $t2 :: rd 0x13c1035580000000, rs 0x278206ab, rt 0xffffffff9675461f
+dsllv $s0, $s1, $s2 :: rd 0x4008d0633600000, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+dsllv $t0, $t1, $t2 :: rd 0x431b1c0000000000, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dsllv $s0, $s1, $s2 :: rd 0x30e52d2b92f97600, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+dsllv $t0, $t1, $t2 :: rd 0x7b8a000000000000, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dsllv $s0, $s1, $s2 :: rd 0x8bf0000000000000, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+dsllv $t0, $t1, $t2 :: rd 0xab0481c80, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dsllv $s0, $s1, $s2 :: rd 0x858bc00000000000, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+dsllv $t0, $t1, $t2 :: rd 0x7800000000000000, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dsllv $s0, $s1, $s2 :: rd 0x1fbe774a550a0000, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+dsllv $t0, $t1, $t2 :: rd 0x164f8078000, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dsllv $s0, $s1, $s2 :: rd 0xf000000000000000, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+dsllv $t0, $t1, $t2 :: rd 0x36194d4200000, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dsllv $s0, $s1, $s2 :: rd 0x8000000000000000, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+dsllv $t0, $t1, $t2 :: rd 0x7f36ec5800000000, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dsllv $s0, $s1, $s2 :: rd 0x60e077398d104c00, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+dsllv $t0, $t1, $t2 :: rd 0xc575898000000000, rs 0x18aeb13, rt 0xffffffffb07daba7
+dsllv $s0, $s1, $s2 :: rd 0x4627f3fe5255fc00, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+dsllv $t0, $t1, $t2 :: rd 0x54bf6a40000, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dsllv $s0, $s1, $s2 :: rd 0x2800000000000000, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+dsllv $t0, $t1, $t2 :: rd 0x1011a0fa00, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dsllv $s0, $s1, $s2 :: rd 0x63f63c0000000000, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dsllv $s0, $s1, $s2 :: rd 0x8f0e500000000000, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+dsllv $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0xf2be0f4a203fcd10, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+dsllv $t0, $t1, $t2 :: rd 0x7c56b6b00, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dsllv $s0, $s1, $s2 :: rd 0x8131d1f7bf5c0000, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+dsllv $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0x31d7100000000000, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+dsllv $t0, $t1, $t2 :: rd 0x5237780000000000, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dsllv $s0, $s1, $s2 :: rd 0xe6c9980000000000, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+dsllv $t0, $t1, $t2 :: rd 0xeeed800000000000, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dsllv $s0, $s1, $s2 :: rd 0x8000000000000000, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+dsllv $t0, $t1, $t2 :: rd 0x6f52c06c000000, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dsllv $s0, $s1, $s2 :: rd 0xdc5a4273dcad4000, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+dsllv $t0, $t1, $t2 :: rd 0xc423cd6a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dsllv $s0, $s1, $s2 :: rd 0xb50488fedb854b80, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+dsllv $t0, $t1, $t2 :: rd 0xc080000000000000, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dsllv $s0, $s1, $s2 :: rd 0x1f705a0000000000, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+dsllv $t0, $t1, $t2 :: rd 0x2f4fa35f800, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dsllv $s0, $s1, $s2 :: rd 0x6e1a2a5ff1a47800, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dsllv $s0, $s1, $s2 :: rd 0x906c000000000000, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+dsllv $t0, $t1, $t2 :: rd 0xe3afba2000000000, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dsllv $s0, $s1, $s2 :: rd 0xf4b3f9d7c0000000, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+dsllv $t0, $t1, $t2 :: rd 0x14f7181980000, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dsllv $s0, $s1, $s2 :: rd 0x6000000000000000, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+dsllv $t0, $t1, $t2 :: rd 0x26cd9831800000, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dsllv $s0, $s1, $s2 :: rd 0x3ae0000000000000, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+dsllv $t0, $t1, $t2 :: rd 0x495a2dd400000000, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dsllv $s0, $s1, $s2 :: rd 0xf5213c8000000000, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+dsllv $t0, $t1, $t2 :: rd 0x1a00000000000000, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dsllv $s0, $s1, $s2 :: rd 0xf931800000000000, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+dsllv $t0, $t1, $t2 :: rd 0x103605ae8000, rs 0x40d816ba, rt 0xfffffffff12f560e
+dsllv $s0, $s1, $s2 :: rd 0xe2a184c000000000, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+dsllv $t0, $t1, $t2 :: rd 0x652e34b800000000, rs 0xffffffffaca5c697, rt 0x1d528623
+dsllv $s0, $s1, $s2 :: rd 0xc92bf92800000000, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+dsllv $t0, $t1, $t2 :: rd 0xfffa864db2000000, rs 0xffffffffa864db20, rt 0x19939b94
+dsllv $s0, $s1, $s2 :: rd 0x4b12ff4d36dad800, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+dsllv $t0, $t1, $t2 :: rd 0xfffff4a4ffbf2000, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dsllv $s0, $s1, $s2 :: rd 0x90d02b258000000, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+dsllv $t0, $t1, $t2 :: rd 0x3800000000000000, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dsllv $s0, $s1, $s2 :: rd 0xb8f00000000000, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dsllv $s0, $s1, $s2 :: rd 0x28e7c94f18000000, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+dsllv $t0, $t1, $t2 :: rd 0xffffffbb60adfc00, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dsllv $s0, $s1, $s2 :: rd 0x95eb689580000000, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+dsllv $t0, $t1, $t2 :: rd 0xffff6c47164a0000, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dsllv $s0, $s1, $s2 :: rd 0x6dc0000000000000, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+dsllv $t0, $t1, $t2 :: rd 0xb8a5a48000000000, rs 0xffffffffb2e29692, rt 0x315d626
+dsllv $s0, $s1, $s2 :: rd 0x4bc4000000000000, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+dsllv $t0, $t1, $t2 :: rd 0xfc55695978000000, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dsllv $s0, $s1, $s2 :: rd 0x785280dd301d0d00, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+dsllv $s0, $s1, $s2 :: rd 0xa87e3f5bbc000000, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+dsllv $s0, $s1, $s2 :: rd 0xda00000000000000, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+dsllv $t0, $t1, $t2 :: rd 0xfffffffe1fb837d8, rs 0xffffffff87ee0df6, rt 0x36194d42
+dsllv $s0, $s1, $s2 :: rd 0xb93bab194e100000, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+dsllv $t0, $t1, $t2 :: rd 0xffffffccd4aef980, rs 0xffffffff99a95df3, rt 0x285e1d47
+dsllv $s0, $s1, $s2 :: rd 0x610558332870000, rs 0x663d061055833287, rt 0xb620660a49732b90
+dsllv $t0, $t1, $t2 :: rd 0x4044000000000000, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dsllv $s0, $s1, $s2 :: rd 0x88951d68b0000000, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+dsllv $t0, $t1, $t2 :: rd 0x56cd3a0000000000, rs 0xffffffff902b669d, rt 0x21dc2629
+dsllv $s0, $s1, $s2 :: rd 0x6c00000000000000, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+dsllv $t0, $t1, $t2 :: rd 0xe53a9eca80000000, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dsllv $s0, $s1, $s2 :: rd 0xac80000000000000, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+dsllv $t0, $t1, $t2 :: rd 0xffff05a0ef380000, rs 0xffffffffe0b41de7, rt 0x51435d53
+dsllv $s0, $s1, $s2 :: rd 0xbd32be4790000000, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+dsllv $t0, $t1, $t2 :: rd 0x4750050000000000, rs 0xffffffffe4750050, rt 0x558240e4
+dsllv $s0, $s1, $s2 :: rd 0x8eccb1730f800000, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+dsllv $t0, $t1, $t2 :: rd 0x2000000000000000, rs 0xffffffffe9362689, rt 0x58c1663d
+dsllv $s0, $s1, $s2 :: rd 0xe8caa7d95a6e9be0, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+dsllv $t0, $t1, $t2 :: rd 0xffffffb7dcecf800, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dsllv $s0, $s1, $s2 :: rd 0x6ae5f4fbb7ca9c00, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+dsllv $t0, $t1, $t2 :: rd 0xfffff9d8359d8000, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dsllv $s0, $s1, $s2 :: rd 0x37bfd1e064f99800, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+dsllv $t0, $t1, $t2 :: rd 0x8c00000000000000, rs 0xfffffffff771768c, rt 0x46863638
+dsllv $s0, $s1, $s2 :: rd 0xdc9c718aaf64ee00, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+dsllv $t0, $t1, $t2 :: rd 0xf464a0aa00000000, rs 0xfffffffffa325055, rt 0x4bc510e1
+dsllv $s0, $s1, $s2 :: rd 0x28f040c000000000, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+dsllv $t0, $t1, $t2 :: rd 0xffffbcd378800000, rs 0xfffffffffef34de2, rt 0x4f040d56
+dsllv $s0, $s1, $s2 :: rd 0x2182500000000000, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+dsllv $t0, $t1, $t2 :: rd 0xe782f80000000000, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dsllv $s0, $s1, $s2 :: rd 0xed00000000000000, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+dsllv $t0, $t1, $t2 :: rd 0xfc27dede80000000, rs 0xffffffffc27dede8, rt 0x738aad5c
+dsllv $s0, $s1, $s2 :: rd 0x56b795f1bf9bd000, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+dsllv $t0, $t1, $t2 :: rd 0xfffffff9e7d96620, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dsllv $s0, $s1, $s2 :: rd 0xdacd4c9348000000, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+dsllv $t0, $t1, $t2 :: rd 0x5a18000000000000, rs 0xffffffffcbffd686, rt 0x7a089632
+dsllv $s0, $s1, $s2 :: rd 0xcc7321e15cd83c00, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+dsllv $t0, $t1, $t2 :: rd 0x4180000000000000, rs 0xffffffffd5b88683, rt 0x644fc637
+dsllv $s0, $s1, $s2 :: rd 0xcbdabcff13d34400, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+dsllv $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+dsllv $s0, $s1, $s2 :: rd 0xe96f51abc8000000, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+dsllv $t0, $t1, $t2 :: rd 0xffb8757bda000000, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dsllv $s0, $s1, $s2 :: rd 0xc000000000000000, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+dsllv $t0, $t1, $t2 :: rd 0xe816800000000000, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dsllv $s0, $s1, $s2 :: rd 0xebe7f15cb0c4b800, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+dsllv $t0, $t1, $t2 :: rd 0x1a43383b8000000, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dsllv $s0, $s1, $s2 :: rd 0x7a99b9a525800000, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+dsllv $t0, $t1, $t2 :: rd 0xbfab200000000000, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dsllv $s0, $s1, $s2 :: rd 0xc8c8ddd46b33c000, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+dsllv $t0, $t1, $t2 :: rd 0xb800000000000000, rs 0x608edb80, rt 0xffffffffd1799b34
+dsllv $s0, $s1, $s2 :: rd 0x392ccd9000000000, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+dsllv $t0, $t1, $t2 :: rd 0x3227e31b8, rs 0x644fc637, rt 0xffffffffd5b88683
+dsllv $s0, $s1, $s2 :: rd 0x6000032400000000, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+dsllv $t0, $t1, $t2 :: rd 0x1e82258c80, rs 0x7a089632, rt 0xffffffffcbffd686
+dsllv $s0, $s1, $s2 :: rd 0x6ae29ed681050000, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+dsllv $t0, $t1, $t2 :: rd 0x170a000000000000, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dsllv $s0, $s1, $s2 :: rd 0xdd46b60000000000, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+dsllv $t0, $t1, $t2 :: rd 0x8aad5c0000000000, rs 0x738aad5c, rt 0xffffffffc27dede8
+dsllv $s0, $s1, $s2 :: rd 0x9856490000000000, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+dsllv $t0, $t1, $t2 :: rd 0x3ba5d87580000000, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dsllv $s0, $s1, $s2 :: rd 0xe372702ddc000000, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+dsllv $t0, $t1, $t2 :: rd 0x3c10355800000000, rs 0x4f040d56, rt 0xfffffffffef34de2
+dsllv $s0, $s1, $s2 :: rd 0xabcd1d8000000000, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+dsllv $t0, $t1, $t2 :: rd 0x978a21c200000, rs 0x4bc510e1, rt 0xfffffffffa325055
+dsllv $s0, $s1, $s2 :: rd 0xec119cf431b8940, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+dsllv $t0, $t1, $t2 :: rd 0x46863638000, rs 0x46863638, rt 0xfffffffff771768c
+dsllv $s0, $s1, $s2 :: rd 0x1e7fb65870000000, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+dsllv $t0, $t1, $t2 :: rd 0x7800000000000000, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dsllv $s0, $s1, $s2 :: rd 0xa858000000000000, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dsllv $s0, $s1, $s2 :: rd 0x3fd0450000000000, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+dsllv $t0, $t1, $t2 :: rd 0xb182cc7a00, rs 0x58c1663d, rt 0xffffffffe9362689
+dsllv $s0, $s1, $s2 :: rd 0xacb24e280000000, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+dsllv $t0, $t1, $t2 :: rd 0x558240e40000, rs 0x558240e4, rt 0xffffffffe4750050
+dsllv $s0, $s1, $s2 :: rd 0xc2734d8b80000000, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+dsllv $t0, $t1, $t2 :: rd 0xa1aea98000000000, rs 0x51435d53, rt 0xffffffffe0b41de7
+dsllv $s0, $s1, $s2 :: rd 0xb800000000000000, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+dsllv $t0, $t1, $t2 :: rd 0x74ee780000000000, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dsllv $s0, $s1, $s2 :: rd 0x78d8000000000000, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+dsllv $t0, $t1, $t2 :: rd 0x43b84c520000000, rs 0x21dc2629, rt 0xffffffff902b669d
+dsllv $s0, $s1, $s2 :: rd 0x70c3cc07d0000000, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+dsllv $t0, $t1, $t2 :: rd 0x2c9f00f00, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dsllv $s0, $s1, $s2 :: rd 0xef614a7943e8e000, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+dsllv $t0, $t1, $t2 :: rd 0xea38000000000000, rs 0x285e1d47, rt 0xffffffff99a95df3
+dsllv $s0, $s1, $s2 :: rd 0x10330524b995c800, rs 0xb620660a49732b90, rt 0x663d061055833287
+dsllv $t0, $t1, $t2 :: rd 0x5080000000000000, rs 0x36194d42, rt 0xffffffff87ee0df6
+dsllv $s0, $s1, $s2 :: rd 0x3138f16cfde99100, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+dsllv $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0x80f7200000000000, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+dsllv $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0x58ad000000000000, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+dsllv $t0, $t1, $t2 :: rd 0x35cd800000000000, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dsllv $s0, $s1, $s2 :: rd 0x9234d050e2d90000, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+dsllv $t0, $t1, $t2 :: rd 0xc5758980000, rs 0x315d626, rt 0xffffffffb2e29692
+dsllv $s0, $s1, $s2 :: rd 0x25e4000000000000, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+dsllv $t0, $t1, $t2 :: rd 0xfa99722000000000, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dsllv $s0, $s1, $s2 :: rd 0x1b00000000000000, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dsllv $s0, $s1, $s2 :: rd 0xa70509771c000000, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+dsllv $t0, $t1, $t2 :: rd 0x72b787f800, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dsllv $s0, $s1, $s2 :: rd 0xc3a920d800000000, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+dsllv $t0, $t1, $t2 :: rd 0x404683e8000, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dsllv $s0, $s1, $s2 :: rd 0x22dce6dac0000000, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+dsllv $t0, $t1, $t2 :: rd 0x9a00000000000000, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dsllv $s0, $s1, $s2 :: rd 0x433b32ee86800000, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+dsllv $t0, $t1, $t2 :: rd 0x19939b9400000000, rs 0x19939b94, rt 0xffffffffa864db20
+dsllv $s0, $s1, $s2 :: rd 0xfe6ce93e58000000, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+dsllv $t0, $t1, $t2 :: rd 0xea94311800000, rs 0x1d528623, rt 0xffffffffaca5c697
+dsllv $s0, $s1, $s2 :: rd 0xc7d2846000000000, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+dsllv $t0, $t1, $t2 :: rd 0x3800000000000000, rs 0xfffffffff12f560e, rt 0x40d816ba
+dsllv $s0, $s1, $s2 :: rd 0xe12856100000000, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+dsllv $t0, $t1, $t2 :: rd 0xfffffebdc9772000, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dsllv $s0, $s1, $s2 :: rd 0xc116fdad79d2db80, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+dsllv $t0, $t1, $t2 :: rd 0xffff8ad6d6000000, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dsllv $s0, $s1, $s2 :: rd 0x3e98000000000000, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+dsllv $t0, $t1, $t2 :: rd 0xe36386b800000000, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dsllv $s0, $s1, $s2 :: rd 0xba1cbb5afa800000, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+dsllv $t0, $t1, $t2 :: rd 0x8ac8348000000000, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dsllv $s0, $s1, $s2 :: rd 0xe800000000000000, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+dsllv $t0, $t1, $t2 :: rd 0xffffcdd47aca0000, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dsllv $s0, $s1, $s2 :: rd 0x4000000000000000, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+dsllv $t0, $t1, $t2 :: rd 0xffffffeba91bbc00, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dsllv $s0, $s1, $s2 :: rd 0x4cffa53990000000, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dsllv $s0, $s1, $s2 :: rd 0x79d5ae3407858000, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+dsllv $t0, $t1, $t2 :: rd 0xffffffff5c9eeed8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dsllv $s0, $s1, $s2 :: rd 0xf3d260000000000, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+dsllv $t0, $t1, $t2 :: rd 0xc020000000000000, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dsllv $s0, $s1, $s2 :: rd 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+dsllv $t0, $t1, $t2 :: rd 0x580d800000000000, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dsllv $s0, $s1, $s2 :: rd 0x4677340000000000, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+dsllv $t0, $t1, $t2 :: rd 0xfed324eb78000000, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dsllv $s0, $s1, $s2 :: rd 0x45df3f8000000000, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+dsllv $t0, $t1, $t2 :: rd 0xf108f35a80000000, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dsllv $s0, $s1, $s2 :: rd 0x4358000000000000, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+dsllv $s0, $s1, $s2 :: rd 0x646f34c317280000, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+dsllv $t0, $t1, $t2 :: rd 0xf604000000000000, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dsllv $s0, $s1, $s2 :: rd 0xb0ab7e2689000000, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+dsllv $s0, $s1, $s2 :: rd 0x535cd338595d3420, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+dsllv $t0, $t1, $t2 :: rd 0xfffffef4fa35f800, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dsllv $s0, $s1, $s2 :: rd 0x4468dd8000000000, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+dsllv $t0, $t1, $t2 :: rd 0x2000000000000000, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dsllv $s0, $s1, $s2 :: rd 0x93648040d5950000, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+dsllv $t0, $t1, $t2 :: rd 0x4bcb610000000000, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dsllv $s0, $s1, $s2 :: rd 0x9d74380000000000, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+dsllv $t0, $t1, $t2 :: rd 0xfffd83ed5d380000, rs 0xffffffffb07daba7, rt 0x18aeb13
+dsllv $s0, $s1, $s2 :: rd 0xc7699826b7dee244, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+dsllv $t0, $t1, $t2 :: rd 0xffeb8ebee8800000, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dsllv $s0, $s1, $s2 :: rd 0x7cbfdd3382500000, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+dsllv $t0, $t1, $t2 :: rd 0x55f7cc2a00000000, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dsllv $s0, $s1, $s2 :: rd 0x4d937013162ff800, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+dsllv $t0, $t1, $t2 :: rd 0xcc00000000000000, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dsllv $s0, $s1, $s2 :: rd 0x4d5bd75e00000000, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+dsllv $t0, $t1, $t2 :: rd 0xffffd1bceebd8000, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dsllv $s0, $s1, $s2 :: rd 0xc60cdeeb954d0000, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+dsllv $t0, $t1, $t2 :: rd 0x8318000000000000, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dsllv $s0, $s1, $s2 :: rd 0x20b7000000000000, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+dsllv $t0, $t1, $t2 :: rd 0xfffffff3feefae20, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dsllv $s0, $s1, $s2 :: rd 0x0, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+dsllv $t0, $t1, $t2 :: rd 0xf92b45ba80000000, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dsllv $s0, $s1, $s2 :: rd 0xe7e0700000000000, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+dsllv $t0, $t1, $t2 :: rd 0xaa30f80000000000, rs 0xffffffff9675461f, rt 0x278206ab
+dsllv $s0, $s1, $s2 :: rd 0x21d244daa8000000, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+dsllv $t0, $t1, $t2 :: rd 0x8586800000000000, rs 0xffffffff8832161a, rt 0x39c556ae
+dsllv $s0, $s1, $s2 :: rd 0x9cbc7e3d40000000, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+dsllv $t0, $t1, $t2 :: rd 0xff19e6175a000000, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dsllv $s0, $s1, $s2 :: rd 0xaf54800000000000, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+dsllv $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+dsllv $s0, $s1, $s2 :: rd 0x5cc1c8b400000000, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+dsllv $t0, $t1, $t2 :: rd 0x6180000000000000, rs 0xffffffff857130c3, rt 0x34867077
+dsllv $s0, $s1, $s2 :: rd 0xc0b8000000000000, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+dsllv $t0, $t1, $t2 :: rd 0x5213200000000000, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dsllv $s0, $s1, $s2 :: rd 0x669ec13c00000000, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+dsllv $t0, $t1, $t2 :: rd 0x1652e34b8000000, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dsllv $s0, $s1, $s2 :: rd 0xf8485ab728922f00, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+dsllv $t0, $t1, $t2 :: rd 0x2a0455fb8, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dsllv $s0, $s1, $s2 :: rd 0xd4ff600000000000, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+dsllv $t0, $t1, $t2 :: rd 0x6400000000000000, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dsllv $s0, $s1, $s2 :: rd 0x6800000000000000, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+dsllv $t0, $t1, $t2 :: rd 0xcc8a000000000000, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dsllv $s0, $s1, $s2 :: rd 0xa5f864cce8000000, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+dsllv $t0, $t1, $t2 :: rd 0x1293fefc80, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dsllv $s0, $s1, $s2 :: rd 0x5f8259036f233e00, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+dsllv $t0, $t1, $t2 :: rd 0x23866e9580000000, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dsllv $s0, $s1, $s2 :: rd 0x7c41c263977e6b00, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+dsllv $t0, $t1, $t2 :: rd 0xcdc09c0000000000, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dsllv $s0, $s1, $s2 :: rd 0xe3ddb5151ac00000, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+dsllv $t0, $t1, $t2 :: rd 0xf704fa4200000, rs 0x7b827d21, rt 0xffffffffca753d95
+dsllv $s0, $s1, $s2 :: rd 0x4000000000000000, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+dsllv $t0, $t1, $t2 :: rd 0xfd0d825800000000, rs 0x7f436096, rt 0xffffffffceb42022
+dsllv $s0, $s1, $s2 :: rd 0x5566ecfec8a3d700, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+dsllv $t0, $t1, $t2 :: rd 0x7800000000000000, rs 0x7200464f, rt 0xffffffffc3f706fb
+dsllv $s0, $s1, $s2 :: rd 0x607a4445c0000000, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+dsllv $t0, $t1, $t2 :: rd 0x76c15bf8000, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dsllv $s0, $s1, $s2 :: rd 0x2997000000000000, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+dsllv $t0, $t1, $t2 :: rd 0xd10c17fa00, rs 0x68860bfd, rt 0xffffffffd9714b49
+dsllv $s0, $s1, $s2 :: rd 0x9fb9e63000000000, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x6c47164a, rt 0xffffffffddb056fe
+dsllv $s0, $s1, $s2 :: rd 0x493aab3551ae5558, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+dsllv $t0, $t1, $t2 :: rd 0x8218498000000000, rs 0x61043093, rt 0xffffffffd0f37027
+dsllv $s0, $s1, $s2 :: rd 0x61d8000000000000, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+dsllv $t0, $t1, $t2 :: rd 0x65c52d240000, rs 0x65c52d24, rt 0xffffffffd4326d90
+dsllv $s0, $s1, $s2 :: rd 0xdf00000000000000, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+dsllv $t0, $t1, $t2 :: rd 0x233697d20000000, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dsllv $s0, $s1, $s2 :: rd 0x739b55b99c3d4000, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+dsllv $t0, $t1, $t2 :: rd 0x6959780000000000, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dsllv $s0, $s1, $s2 :: rd 0x2938880000000000, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+dsllv $t0, $t1, $t2 :: rd 0x8438000000000000, rs 0x18197087, rt 0xffffffffa9ee3033
+dsllv $s0, $s1, $s2 :: rd 0xfd80000000000000, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+dsllv $t0, $t1, $t2 :: rd 0x1cd86d300, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dsllv $s0, $s1, $s2 :: rd 0x24a0a8105c000000, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+dsllv $t0, $t1, $t2 :: rd 0x53e7a6a, rs 0x29f3d35, rt 0xffffffffb3687d81
+dsllv $s0, $s1, $s2 :: rd 0xbc02c79800000000, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+dsllv $t0, $t1, $t2 :: rd 0x2080000000000000, rs 0x65e2082, rt 0xffffffffb7a96036
+dsllv $s0, $s1, $s2 :: rd 0xbad8d50000000000, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+dsllv $t0, $t1, $t2 :: rd 0x832d800000000000, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dsllv $s0, $s1, $s2 :: rd 0x515c2531a8888100, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+dsllv $t0, $t1, $t2 :: rd 0xfdc1bec000000, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dsllv $s0, $s1, $s2 :: rd 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+dsllv $t0, $t1, $t2 :: rd 0xf274ca2000000000, rs 0x3793a651, rt 0xffffffff8664e6e5
+dsllv $s0, $s1, $s2 :: rd 0xdedd000000000000, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+dsllv $t0, $t1, $t2 :: rd 0xcd4aef980000, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dsllv $s0, $s1, $s2 :: rd 0xa840000000000000, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+dsllv $t0, $t1, $t2 :: rd 0x1f08ce9f800, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dsllv $s0, $s1, $s2 :: rd 0xbb2d300000000000, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dsllv $s0, $s1, $s2 :: rd 0xf35a692973900000, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+dsllv $t0, $t1, $t2 :: rd 0x1a00000000000000, rs 0x2497d08d, rt 0xffffffff95609039
+dsllv $s0, $s1, $s2 :: rd 0x9380000000000000, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+dsllv $t0, $t1, $t2 :: rd 0x815b34e8000, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dsllv $s0, $s1, $s2 :: rd 0xdc8800000000000, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+dsllv $t0, $t1, $t2 :: rd 0x168af5f1800000, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dsllv $s0, $s1, $s2 :: rd 0x589a4363f7b00000, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+dsllv $t0, $t1, $t2 :: rd 0x29d4f65400000000, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dsllv $s0, $s1, $s2 :: rd 0x302bc80000000000, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+dsllv $t0, $t1, $t2 :: rd 0xfffff8b524cf2000, rs 0xffffffffc5a92679, rt 0x745e66cd
+dsllv $s0, $s1, $s2 :: rd 0x65d5ef1ab4bf8000, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+dsllv $t0, $t1, $t2 :: rd 0x3800000000000000, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dsllv $s0, $s1, $s2 :: rd 0x523f4230297c4000, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+dsllv $t0, $t1, $t2 :: rd 0x6158e8b800000000, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dsllv $s0, $s1, $s2 :: rd 0xbb640fb8ed98ddb0, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+dsllv $t0, $t1, $t2 :: rd 0xfffc8ea00a000000, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dsllv $s0, $s1, $s2 :: rd 0x3300000000000000, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+dsllv $t0, $t1, $t2 :: rd 0xffffad5aa14a0000, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dsllv $s0, $s1, $s2 :: rd 0x8928705c2ac80000, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+dsllv $t0, $t1, $t2 :: rd 0x9b13448000000000, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dsllv $s0, $s1, $s2 :: rd 0x4ad4e00000000000, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dsllv $s0, $s1, $s2 :: rd 0xc000000000000000, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+dsllv $t0, $t1, $t2 :: rd 0xffffffdbee767c00, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dsllv $s0, $s1, $s2 :: rd 0x9e5a830000000000, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+dsllv $t0, $t1, $t2 :: rd 0x7820000000000000, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dsllv $s0, $s1, $s2 :: rd 0x5c00000000000000, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+dsllv $t0, $t1, $t2 :: rd 0xffffffff9d8359d8, rs 0xffffffffe760d676, rt 0x569796c2
+dsllv $s0, $s1, $s2 :: rd 0x9efc0c57ab800000, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+dsllv $t0, $t1, $t2 :: rd 0xff511f8578000000, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dsllv $s0, $s1, $s2 :: rd 0x5000000000000000, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+dsllv $t0, $t1, $t2 :: rd 0x2ed1800000000000, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dsllv $s0, $s1, $s2 :: rd 0x3df6d8f5fa188ba0, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+dsllv $t0, $t1, $t2 :: rd 0x4b7a3a0000000000, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dsllv $s0, $s1, $s2 :: rd 0x8c08118ad8000000, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+dsllv $t0, $t1, $t2 :: rd 0xfd19282a80000000, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dsllv $s0, $s1, $s2 :: rd 0xfabc000000000000, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+dsllv $t0, $t1, $t2 :: rd 0xfffffffc93c33980, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dsllv $s0, $s1, $s2 :: rd 0x94c2180000000000, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+dsllv $t0, $t1, $t2 :: rd 0x9bc4000000000000, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dsllv $s0, $s1, $s2 :: rd 0x1325a6295e000000, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+dsllv $t0, $t1, $t2 :: rd 0x2000000000000000, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dsllv $s0, $s1, $s2 :: rd 0x7efe4d49815f4480, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+dsllv $t0, $t1, $t2 :: rd 0xfffffe35e782f800, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dsllv $s0, $s1, $s2 :: rd 0x0, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+dsllv $t0, $t1, $t2 :: rd 0xfffc01d633380000, rs 0xffffffff803ac667, rt 0x31cd86d3
+dsllv $s0, $s1, $s2 :: rd 0xa25260e9bd2e8000, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+dsllv $t0, $t1, $t2 :: rd 0x4fbdbd0000000000, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dsllv $s0, $s1, $s2 :: rd 0x65fd698fddef9839, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+dsllv $t0, $t1, $t2 :: rd 0x357917aa00000000, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dsllv $s0, $s1, $s2 :: rd 0x1d6c0dad7a900000, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+dsllv $t0, $t1, $t2 :: rd 0xffe79f6598800000, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dsllv $s0, $s1, $s2 :: rd 0x17b64c7d20000000, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+dsllv $t0, $t1, $t2 :: rd 0xffffc99f585d8000, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dsllv $s0, $s1, $s2 :: rd 0x8413c85e76b1a000, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+dsllv $t0, $t1, $t2 :: rd 0xc00000000000000, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dsllv $s0, $s1, $s2 :: rd 0xe122a83b00000000, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+dsllv $t0, $t1, $t2 :: rd 0xfffffff5f6021620, rs 0xffffffffafb010b1, rt 0x1e475005
+dsllv $s0, $s1, $s2 :: rd 0x7600000000000000, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+dsllv $t0, $t1, $t2 :: rd 0x3418000000000000, rs 0xffffffffab710d06, rt 0x1a864db2
+dsllv $s0, $s1, $s2 :: rd 0xc000000000000000, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+dsllv $t0, $t1, $t2 :: rd 0x915ef80000000000, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dsllv $s0, $s1, $s2 :: rd 0x7a79400000000000, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+dsllv $t0, $t1, $t2 :: rd 0xfa2f336680000000, rs 0xffffffffa2f33668, rt 0x130476dc
+dsllv $s0, $s1, $s2 :: rd 0x63b191359206bc5c, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+dsllv $t0, $t1, $t2 :: rd 0xff7968ccda000000, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dsllv $s0, $s1, $s2 :: rd 0x3000000000000000, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+dsllv $t0, $t1, $t2 :: rd 0x5ef6800000000000, rs 0xffffffffb8757bda, rt 0x9823b6e
+dsllv $s0, $s1, $s2 :: rd 0x6ba8000000000000, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+dsllv $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0xda22f8911b580000, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+dsllv $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0xa104840000000000, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x257, rs 0x12bd6aa, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x257ad5, rs 0x12bd6aa, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfd0ec7, rs 0x7e876382d2ab13, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfd0ec705a5, rs 0x7e876382d2ab13, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd0ec705a5562, rs 0x7e876382d2ab13, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1304, rs 0x9823b6e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x130476d, rs 0x9823b6e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff2edadd35, rs 0x976d6e9ac31510f3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff2edadd35862a, rs 0x976d6e9ac31510f3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf2edadd35862a21e, rs 0x976d6e9ac31510f3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1a86, rs 0xd4326d9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1a864db, rs 0xd4326d9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff6ee8daee, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff6ee8daeeb5ad, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf6ee8daeeb5ad4bf, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2608, rs 0x130476dc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2608edb, rs 0x130476dc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x85618145, rs 0x42b0c0a28677b502, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x856181450cef, rs 0x42b0c0a28677b502, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x856181450cef6a0, rs 0x42b0c0a28677b502, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2f8a, rs 0x17c56b6b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2f8ad6d, rs 0x17c56b6b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x55513a63, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x55513a633c78, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x55513a633c78615, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x350c, rs 0x1a864db2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x350c9b6, rs 0x1a864db2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x3e611d86, rs 0x1f308ec377fb413d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3e611d86eff6, rs 0x1f308ec377fb413d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3e611d86eff6827, rs 0x1f308ec377fb413d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3c8e, rs 0x1e475005, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3c8ea00, rs 0x1e475005, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf5408427, rs 0x7aa04213c760e4f7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf54084278ec1, rs 0x7aa04213c760e4f7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf54084278ec1c9e, rs 0x7aa04213c760e4f7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608edb8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4c11db7, rs 0x2608edb8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff3ce0b98a, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff3ce0b98a35b1, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf3ce0b98a35b1b94, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4593, rs 0x22c9f00f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4593e01, rs 0x22c9f00f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x967bb50d, rs 0x4b3dda869615a60d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x967bb50d2c2b, rs 0x4b3dda869615a60d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x967bb50d2c2b4c1, rs 0x4b3dda869615a60d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5f15, rs 0x2f8ad6d6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5f15ada, rs 0x2f8ad6d6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xbcf49ba, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xbcf49bac6a7, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xbcf49bac6a7a83, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5697, rs 0x2b4bcb61, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x569796c, rs 0x2b4bcb61, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x75e6b53b, rs 0x3af35a9dc40bd413, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x75e6b53b8817, rs 0x3af35a9dc40bd413, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x75e6b53b8817a82, rs 0x3af35a9dc40bd413, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6a19, rs 0x350c9b64, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6a1936c, rs 0x350c9b64, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x8fea0aad, rs 0x47f505569a08a180, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8fea0aad3411, rs 0x47f505569a08a180, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8fea0aad3411430, rs 0x47f505569a08a180, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x639b, rs 0x31cd86d3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x639b0da, rs 0x31cd86d3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff2ac96eff, rs 0x9564b77fd6d2040f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff2ac96effada4, rs 0x9564b77fd6d2040f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf2ac96effada4081, rs 0x9564b77fd6d2040f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x791d, rs 0x3c8ea00a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x791d401, rs 0x3c8ea00a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff9d7904f3, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff9d7904f3658e, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf9d7904f3658ed77, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x709f, rs 0x384fbdbd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x709f7b7, rs 0x384fbdbd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff6a06985e, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff6a06985e3e31, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf6a06985e3e31c98, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x9823, rs 0x4c11db70, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x9823b6e, rs 0x4c11db70, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff29fea5f9, rs 0x94ff52fc81afa797, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff29fea5f9035f, rs 0x94ff52fc81afa797, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf29fea5f9035f4f2, rs 0x94ff52fc81afa797, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x91a1, rs 0x48d0c6c7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x91a18d8, rs 0x48d0c6c7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x63b1b22c, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x63b1b22cdbf8, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x63b1b22cdbf8a1d, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8b27, rs 0x4593e01e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8b27c03, rs 0x4593e01e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6ca937ac, rs 0x36549bd678e895b1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6ca937acf1d1, rs 0x36549bd678e895b1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6ca937acf1d12b6, rs 0x36549bd678e895b1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x82a5, rs 0x4152fda9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x82a5fb5, rs 0x4152fda9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff0bc14c63, rs 0x85e0a6319b63259b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff0bc14c6336c6, rs 0x85e0a6319b63259b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf0bc14c6336c64b3, rs 0x85e0a6319b63259b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xbe2b, rs 0x5f15adac, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xbe2b5b5, rs 0x5f15adac, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xaad67d95, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xaad67d9599e2, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xaad67d9599e2f58, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb7a9, rs 0x5bd4b01b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb7a9603, rs 0x5bd4b01b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff685ebf8b, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff685ebf8b03dd, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf685ebf8b03dd41f, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xad2f, rs 0x569796c2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xad2f2d8, rs 0x569796c2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4b6a1fd8, rs 0x25b50fec14682d97, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4b6a1fd828d0, rs 0x25b50fec14682d97, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4b6a1fd828d05b2, rs 0x25b50fec14682d97, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa4ad, rs 0x52568b75, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa4ad16e, rs 0x52568b75, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff9278a26, rs 0xfc93c5132cfb087a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff9278a2659f6, rs 0xfc93c5132cfb087a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff9278a2659f610f, rs 0xfc93c5132cfb087a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd432, rs 0x6a1936c8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd4326d9, rs 0x6a1936c8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7859b353, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7859b3539b44, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7859b3539b440ec, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xddb0, rs 0x6ed82b7f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xddb056f, rs 0x6ed82b7f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2f22e454, rs 0x1791722a7d72da3e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2f22e454fae5, rs 0x1791722a7d72da3e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2f22e454fae5b47, rs 0x1791722a7d72da3e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc736, rs 0x639b0da6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc7361b4, rs 0x639b0da6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x10f993a3, rs 0x87cc9d193ce24ad, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x10f993a3279c, rs 0x87cc9d193ce24ad, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x10f993a3279c495, rs 0x87cc9d193ce24ad, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xceb4, rs 0x675a1011, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xceb4202, rs 0x675a1011, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x3a54eae0, rs 0x1d2a757038984ed2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3a54eae07130, rs 0x1d2a757038984ed2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3a54eae071309da, rs 0x1d2a757038984ed2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf23a, rs 0x791d4014, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf23a802, rs 0x791d4014, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa1a0e1b6, rs 0xd0d070db710cd036, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa1a0e1b6e219, rs 0xd0d070db710cd036, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa1a0e1b6e219a06, rs 0xd0d070db710cd036, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfbb8, rs 0x7ddc5da3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfbb8bb4, rs 0x7ddc5da3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x738438fa, rs 0x39c21c7d03415604, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x738438fa0682, rs 0x39c21c7d03415604, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x738438fa0682ac0, rs 0x39c21c7d03415604, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe13e, rs 0x709f7b7a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe13ef6f, rs 0x709f7b7a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff1d296f5f, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff1d296f5f1d98, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf1d296f5f1d98639, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe8bc, rs 0x745e66cd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe8bccd9, rs 0x745e66cd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x49d6d51a, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x49d6d51a39ce, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x49d6d51a39cece9, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3047, rs 0xffffffff9823b6e0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff30476dc, rs 0xffffffff9823b6e0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x5e728a88, rs 0x2f39454412d6e4a7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5e728a8825ad, rs 0x2f39454412d6e4a7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5e728a8825adc94, rs 0x2f39454412d6e4a7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff39c5, rs 0xffffffff9ce2ab57, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff39c556a, rs 0xffffffff9ce2ab57, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4c11856e, rs 0x2608c2b756da4c54, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4c11856eadb4, rs 0x2608c2b756da4c54, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4c11856eadb498a, rs 0x2608c2b756da4c54, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2343, rs 0xffffffff91a18d8e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff23431b1, rs 0xffffffff91a18d8e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff200205b5, rs 0x900102dac8d7252f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff200205b591ae, rs 0x900102dac8d7252f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf200205b591ae4a5, rs 0x900102dac8d7252f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2ac1, rs 0xffffffff95609039, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff2ac1207, rs 0xffffffff95609039, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff9121abe3, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff9121abe3e5df, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf9121abe3e5df49e, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff164f, rs 0xffffffff8b27c03c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff164f807, rs 0xffffffff8b27c03c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffdaa00b97, rs 0xed5005cbc8b0a214, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffdaa00b979161, rs 0xed5005cbc8b0a214, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfdaa00b979161442, rs 0xed5005cbc8b0a214, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff1fcd, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff1fcdbb1, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x628f2312, rs 0x314791895991136c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x628f2312b322, rs 0x314791895991136c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x628f2312b32226d, rs 0x314791895991136c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff054b, rs 0xffffffff82a5fb52, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff054bf6a, rs 0xffffffff82a5fb52, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff8ddd9ff3, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff8ddd9ff3345f, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf8ddd9ff3345f6de, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff0cc9, rs 0xffffffff8664e6e5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff0cc9cdc, rs 0xffffffff8664e6e5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5012a424, rs 0xa809521238895270, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5012a4247112, rs 0xa809521238895270, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5012a4247112a4e, rs 0xa809521238895270, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff7c56, rs 0xffffffffbe2b5b58, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff7c56b6b, rs 0xffffffffbe2b5b58, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff0eea1409, rs 0x87750a04ad765040, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff0eea14095aec, rs 0x87750a04ad765040, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf0eea14095aeca08, rs 0x87750a04ad765040, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff75d4, rs 0xffffffffbaea46ef, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff75d48dd, rs 0xffffffffbaea46ef, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x587bd0bd, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x587bd0bd0976, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x587bd0bd0976b50, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff6f52, rs 0xffffffffb7a96036, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff6f52c06, rs 0xffffffffb7a96036, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5cd5ff1f, rs 0xae6aff8fc506aa67, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5cd5ff1f8a0d, rs 0xae6aff8fc506aa67, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5cd5ff1f8a0d54c, rs 0xae6aff8fc506aa67, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff66d0, rs 0xffffffffb3687d81, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff66d0fb0, rs 0xffffffffb3687d81, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff80e225ba, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff80e225bac1da, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf80e225bac1dabdc, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff5a5e, rs 0xffffffffad2f2d84, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff5a5e5b0, rs 0xffffffffad2f2d84, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff898ee1ec, rs 0xc4c770f630dcca5a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff898ee1ec61b9, rs 0xc4c770f630dcca5a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf898ee1ec61b994b, rs 0xc4c770f630dcca5a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff53dc, rs 0xffffffffa9ee3033, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff53dc606, rs 0xffffffffa9ee3033, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffbfd85647, rs 0xdfec2b2383cd5277, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffbfd85647079a, rs 0xdfec2b2383cd5277, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfbfd85647079aa4e, rs 0xdfec2b2383cd5277, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff495a, rs 0xffffffffa4ad16ea, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff495a2dd, rs 0xffffffffa4ad16ea, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa75b744c, rs 0xd3adba260ff7d96b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa75b744c1fef, rs 0xd3adba260ff7d96b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa75b744c1fefb2d, rs 0xd3adba260ff7d96b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff40d8, rs 0xffffffffa06c0b5d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff40d816b, rs 0xffffffffa06c0b5d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x956954f3, rs 0x4ab4aa798418c00e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x956954f30831, rs 0x4ab4aa798418c00e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x956954f30831801, rs 0x4ab4aa798418c00e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffa864, rs 0xffffffffd4326d90, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffa864db2, rs 0xffffffffd4326d90, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff771806bc, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff771806bc1bc1, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf771806bc1bc1e17, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffa1e6, rs 0xffffffffd0f37027, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffa1e6e04, rs 0xffffffffd0f37027, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6760dea9, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6760dea952ff, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6760dea952ffb9e, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffbb60, rs 0xffffffffddb056fe, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffbb60adf, rs 0xffffffffddb056fe, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xee867e6e, rs 0x77433f373fd1c081, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xee867e6e7fa3, rs 0x77433f373fd1c081, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xee867e6e7fa3810, rs 0x77433f373fd1c081, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffb2e2, rs 0xffffffffd9714b49, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffb2e2969, rs 0xffffffffd9714b49, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffd923b327, rs 0xec91d993c92195e4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffd923b3279243, rs 0xec91d993c92195e4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd923b32792432bc, rs 0xec91d993c92195e4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff8e6c, rs 0xffffffffc7361b4c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff8e6c369, rs 0xffffffffc7361b4c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x93f7ed4f, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x93f7ed4f2b63, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x93f7ed4f2b634b5, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff87ee, rs 0xffffffffc3f706fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff87ee0df, rs 0xffffffffc3f706fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x326c86f1, rs 0x19364378c7ce8d1e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x326c86f18f9d, rs 0x19364378c7ce8d1e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x326c86f18f9d1a3, rs 0x19364378c7ce8d1e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff9d68, rs 0xffffffffceb42022, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff9d68404, rs 0xffffffffceb42022, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff733d1bde, rs 0xb99e8def2f384907, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff733d1bde5e70, rs 0xb99e8def2f384907, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf733d1bde5e70920, rs 0xb99e8def2f384907, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff94ea, rs 0xffffffffca753d95, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff94ea7b2, rs 0xffffffffca753d95, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x8fd59b9a, rs 0x47eacdcd582b12fe, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8fd59b9ab056, rs 0x47eacdcd582b12fe, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8fd59b9ab05625f, rs 0x47eacdcd582b12fe, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffe475, rs 0xfffffffff23a8028, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffe475005, rs 0xfffffffff23a8028, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffad0b109c, rs 0xd685884e76558c4f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffad0b109cecab, rs 0xd685884e76558c4f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfad0b109cecab189, rs 0xd685884e76558c4f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffedf7, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffedf73b3, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xc2d1ac54, rs 0x6168d62a34c195c7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc2d1ac546983, rs 0x6168d62a34c195c7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc2d1ac5469832b8, rs 0x6168d62a34c195c7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffff771, rs 0xfffffffffbb8bb46, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffff771768, rs 0xfffffffffbb8bb46, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa602d312, rs 0xd30169894df47405, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa602d3129be8, rs 0xd30169894df47405, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa602d3129be8e80, rs 0xd30169894df47405, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffffef3, rs 0xffffffffff79a6f1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffffef34de, rs 0xffffffffff79a6f1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x3943217e, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3943217ed976, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3943217ed9760db, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffc27d, rs 0xffffffffe13ef6f4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffc27dede, rs 0xffffffffe13ef6f4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xb0601e05, rs 0x58300f029cae393a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb0601e05395c, rs 0x58300f029cae393a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb0601e05395c727, rs 0x58300f029cae393a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffcbff, rs 0xffffffffe5ffeb43, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffcbffd68, rs 0xffffffffe5ffeb43, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff3532bfb7, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff3532bfb7b8fd, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf3532bfb7b8fd785, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffd179, rs 0xffffffffe8bccd9a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffd1799b3, rs 0xffffffffe8bccd9a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff152c08f7, rs 0x8a96047be3405b48, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff152c08f7c680, rs 0x8a96047be3405b48, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf152c08f7c680b69, rs 0x8a96047be3405b48, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffd8fb, rs 0xffffffffec7dd02d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffd8fba05, rs 0xffffffffec7dd02d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xeb7f5fa5, rs 0x75bfafd2d519d322, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xeb7f5fa5aa33, rs 0x75bfafd2d519d322, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xeb7f5fa5aa33a64, rs 0x75bfafd2d519d322, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x690c, rs 0x34867077, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x690ce0e, rs 0x34867077, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffbc4610cf, rs 0xde230867a630f6ad, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffbc4610cf4c61, rs 0xde230867a630f6ad, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfbc4610cf4c61ed5, rs 0xde230867a630f6ad, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x608e, rs 0x30476dc0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x608edb8, rs 0x30476dc0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x581419e4, rs 0x2c0a0cf256103260, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x581419e4ac20, rs 0x2c0a0cf256103260, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x581419e4ac2064c, rs 0x2c0a0cf256103260, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7a08, rs 0x3d044b19, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7a08963, rs 0x3d044b19, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff29520a88, rs 0x94a90544249b18ef, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff29520a884936, rs 0x94a90544249b18ef, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf29520a88493631d, rs 0x94a90544249b18ef, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x738a, rs 0x39c556ae, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x738aad5, rs 0x39c556ae, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff2a33f6a, rs 0xf9519fb55b56fcde, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff2a33f6ab6ad, rs 0xf9519fb55b56fcde, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff2a33f6ab6adf9b, rs 0xf9519fb55b56fcde, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4f04, rs 0x278206ab, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4f040d5, rs 0x278206ab, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff03b5f040, rs 0x81daf8200468319b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff03b5f04008d0, rs 0x81daf8200468319b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf03b5f04008d0633, rs 0x81daf8200468319b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4686, rs 0x23431b1c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4686363, rs 0x23431b1c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff18c394b4, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff18c394b4ae4b, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf18c394b4ae4be5d, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5c00, rs 0x2e003dc5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5c007b8, rs 0x2e003dc5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff172b4dbb, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff172b4dbb84bb, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf172b4dbb84bb917, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5582, rs 0x2ac12072, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x558240e, rs 0x2ac12072, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6019cea3, rs 0x300ce751dac6162f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6019cea3b58c, rs 0x300ce751dac6162f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6019cea3b58c2c5, rs 0x300ce751dac6162f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x251d, rs 0x128e9dcf, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x251d3b9, rs 0x128e9dcf, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xcef1fbe7, rs 0x6778fdf3ba52a850, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcef1fbe774a5, rs 0x6778fdf3ba52a850, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcef1fbe774a550a, rs 0x6778fdf3ba52a850, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2c9f, rs 0x164f8078, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2c9f00f, rs 0x164f8078, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5a0163ef, rs 0xad00b1f7da78479f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5a0163efb4f0, rs 0xad00b1f7da78479f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5a0163efb4f08f3, rs 0xad00b1f7da78479f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3619, rs 0x1b0ca6a1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x36194d4, rs 0x1b0ca6a1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x11a882d1, rs 0x8d44168a6b6d98a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x11a882d14d6d, rs 0x8d44168a6b6d98a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x11a882d14d6db31, rs 0x8d44168a6b6d98a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3f9b, rs 0x1fcdbb16, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3f9b762, rs 0x1fcdbb16, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffea30703b, rs 0xf518381dce634413, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffea30703b9cc6, rs 0xf518381dce634413, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfea30703b9cc6882, rs 0xf518381dce634413, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x315, rs 0x18aeb13, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x315d62, rs 0x18aeb13, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffc8c4fe7f, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffc8c4fe7fca4a, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc8c4fe7fca4abf8, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa97, rs 0x54bf6a4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa97ed4, rs 0x54bf6a4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff99a725c2, rs 0xccd392e176321f28, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff99a725c2ec64, rs 0xccd392e176321f28, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf99a725c2ec643e5, rs 0xccd392e176321f28, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1011, rs 0x808d07d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1011a0f, rs 0x808d07d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff0528c928, rs 0x829464944018fd8f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff0528c9288031, rs 0x829464944018fd8f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf0528c9288031fb1, rs 0x829464944018fd8f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1993, rs 0xcc9cdca, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x19939b9, rs 0xcc9cdca, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2ba64080, rs 0x15d3204052e8f0e5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2ba64080a5d1, rs 0x15d3204052e8f0e5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2ba64080a5d1e1c, rs 0x15d3204052e8f0e5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf12f, rs 0x7897ab07, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf12f560, rs 0x7897ab07, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf95f07a5, rs 0x7caf83d2880ff344, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf95f07a5101f, rs 0x7caf83d2880ff344, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf95f07a5101fe68, rs 0x7caf83d2880ff344, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf8ad, rs 0x7c56b6b0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf8ad6d6, rs 0x7c56b6b0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffe2ad4098, rs 0xf156a04c747defd7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffe2ad4098e8fb, rs 0xf156a04c747defd7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfe2ad4098e8fbdfa, rs 0xf156a04c747defd7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe22b, rs 0x71159069, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe22b20d, rs 0x71159069, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff27c4c038, rs 0x93e2601c0f31d710, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff27c4c0381e63, rs 0x93e2601c0f31d710, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf27c4c0381e63ae2, rs 0x93e2601c0f31d710, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xeba9, rs 0x75d48dde, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xeba91bb, rs 0x75d48dde, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffc3c34cf2, rs 0xe1e1a679131cd933, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffc3c34cf22639, rs 0xe1e1a679131cd933, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc3c34cf22639b26, rs 0xe1e1a679131cd933, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd727, rs 0x6b93dddb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd727bbb, rs 0x6b93dddb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4852d6eb, rs 0x24296b75a76fa427, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4852d6eb4edf, rs 0x24296b75a76fa427, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4852d6eb4edf484, rs 0x24296b75a76fa427, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xdea5, rs 0x6f52c06c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xdea580d, rs 0x6f52c06c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa52dc5a4, rs 0xd296e2d2139ee56a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa52dc5a4273d, rs 0xd296e2d2139ee56a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa52dc5a4273dcad, rs 0xd296e2d2139ee56a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc423, rs 0x6211e6b5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc423cd6, rs 0x6211e6b5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xb50488fe, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb50488fedb85, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb50488fedb854b8, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcda1, rs 0x66d0fb02, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcda1f60, rs 0x66d0fb02, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xed913d01, rs 0x76c89e80c07dc168, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xed913d0180fb, rs 0x76c89e80c07dc168, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xed913d0180fb82d, rs 0x76c89e80c07dc168, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xbd3e, rs 0x5e9f46bf, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xbd3e8d7, rs 0x5e9f46bf, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe1b868a, rs 0x70dc3454bfe348f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe1b868a97fc, rs 0x70dc3454bfe348f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe1b868a97fc691, rs 0x70dc3454bfe348f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb4bc, rs 0x5a5e5b08, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb4bcb61, rs 0x5a5e5b08, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff7bb8e247, rs 0xbddc7123dd6d241b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff7bb8e247bada, rs 0xbddc7123dd6d241b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf7bb8e247bada483, rs 0xbddc7123dd6d241b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xae3a, rs 0x571d7dd1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xae3afba, rs 0x571d7dd1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffec5f6e4f, rs 0xf62fb727a59fcebe, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffec5f6e4f4b3f, rs 0xf62fb727a59fcebe, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfec5f6e4f4b3f9d7, rs 0xf62fb727a59fcebe, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa7b8, rs 0x53dc6066, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa7b8c0c, rs 0x53dc6066, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x213e4fd2, rs 0x109f27e90f9f46fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x213e4fd21f3e, rs 0x109f27e90f9f46fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x213e4fd21f3e8df, rs 0x109f27e90f9f46fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x9b36, rs 0x4d9b3063, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x9b3660c, rs 0x4d9b3063, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7ec7b553, rs 0x3f63daa9afd199d7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7ec7b5535fa3, rs 0x3f63daa9afd199d7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7ec7b5535fa333a, rs 0x3f63daa9afd199d7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x92b4, rs 0x495a2dd4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x92b45ba, rs 0x495a2dd4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffb796625d, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffb796625d47a9, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfb796625d47a909e, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8832, rs 0x44190b0d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8832161, rs 0x44190b0d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x3e6a7f55, rs 0x1f353faada4fe4c6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3e6a7f55b49f, rs 0x1f353faada4fe4c6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3e6a7f55b49fc98, rs 0x1f353faada4fe4c6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x81b0, rs 0x40d816ba, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x81b02d7, rs 0x40d816ba, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff1610ddc0, rs 0x8b086ee07150c260, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff1610ddc0e2a1, rs 0x8b086ee07150c260, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf1610ddc0e2a184c, rs 0x8b086ee07150c260, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff594b, rs 0xffffffffaca5c697, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff594b8d2, rs 0xffffffffaca5c697, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffca8ea1ab, rs 0xe54750d5d9257f25, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffca8ea1abb24a, rs 0xe54750d5d9257f25, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfca8ea1abb24afe4, rs 0xe54750d5d9257f25, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff50c9, rs 0xffffffffa864db20, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff50c9b64, rs 0xffffffffa864db20, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7ad2c4bf, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7ad2c4bfd34d, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7ad2c4bfd34db6b, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff4a4f, rs 0xffffffffa527fdf9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff4a4ffbf, rs 0xffffffffa527fdf9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe147c084, rs 0x70a3e0424340ac96, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe147c0848681, rs 0x70a3e0424340ac96, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe147c0848681592, rs 0x70a3e0424340ac96, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff43cd, rs 0xffffffffa1e6e04e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff43cdc09, rs 0xffffffffa1e6e04e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff808f1e06, rs 0xc0478f036980171e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff808f1e06d300, rs 0xc0478f036980171e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf808f1e06d3002e3, rs 0xc0478f036980171e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff7f43, rs 0xffffffffbfa1b04b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff7f43609, rs 0xffffffffbfa1b04b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x79d0734a, rs 0x3ce839a51cf929e3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x79d0734a39f2, rs 0x3ce839a51cf929e3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x79d0734a39f253c, rs 0x3ce839a51cf929e3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff76c1, rs 0xffffffffbb60adfc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff76c15bf, rs 0xffffffffbb60adfc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffc5f7f512, rs 0xe2fbfa895eb68958, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffc5f7f512bd6d, rs 0xe2fbfa895eb68958, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc5f7f512bd6d12b, rs 0xe2fbfa895eb68958, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff6c47, rs 0xffffffffb6238b25, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff6c47164, rs 0xffffffffb6238b25, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa49760ba, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa49760baedda, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa49760baedda4b6, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff65c5, rs 0xffffffffb2e29692, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff65c52d2, rs 0xffffffffb2e29692, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x1d72d058, rs 0xeb9682c170312f1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1d72d0582e06, rs 0xeb9682c170312f1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1d72d0582e0625e, rs 0xeb9682c170312f1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff155a, rs 0xffffffff8aad2b2f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff155a565, rs 0xffffffff8aad2b2f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff08f0a501, rs 0x84785280dd301d0d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff08f0a501ba60, rs 0x84785280dd301d0d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf08f0a501ba603a1, rs 0x84785280dd301d0d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2f38ef54, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2f38ef543f1f, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2f38ef543f1fadd, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4c8899da, rs 0x26444ced2998436d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4c8899da5330, rs 0x26444ced2998436d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4c8899da533086d, rs 0x26444ced2998436d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff0fdc, rs 0xffffffff87ee0df6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff0fdc1be, rs 0xffffffff87ee0df6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe2eb93b, rs 0x7175c9dd58ca708, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe2eb93bab19, rs 0x7175c9dd58ca708, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe2eb93bab194e1, rs 0x7175c9dd58ca708, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3352, rs 0xffffffff99a95df3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff3352bbe, rs 0xffffffff99a95df3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xcc7a0c20, rs 0x663d061055833287, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcc7a0c20ab06, rs 0x663d061055833287, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcc7a0c20ab06650, rs 0x663d061055833287, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3ad0, rs 0xffffffff9d684044, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff3ad0808, rs 0xffffffff9d684044, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff56fba091, rs 0xab7dd0488951d68b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff56fba09112a3, rs 0xab7dd0488951d68b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf56fba09112a3ad1, rs 0xab7dd0488951d68b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2056, rs 0xffffffff902b669d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff2056cd3, rs 0xffffffff902b669d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffed3046ce, rs 0xf69823670e82471b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffed3046ce1d04, rs 0xf69823670e82471b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfed3046ce1d048e3, rs 0xf69823670e82471b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff29d4, rs 0xffffffff94ea7b2a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff29d4f65, rs 0xffffffff94ea7b2a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6d10d8b3, rs 0x36886c59d98d26b2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6d10d8b3b31a, rs 0x36886c59d98d26b2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6d10d8b3b31a4d6, rs 0x36886c59d98d26b2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffc168, rs 0xffffffffe0b41de7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffc1683bc, rs 0xffffffffe0b41de7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x139497b7, rs 0x9ca4bdbd32be479, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x139497b7a657, rs 0x9ca4bdbd32be479, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x139497b7a657c8f, rs 0x9ca4bdbd32be479, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffc8ea, rs 0xffffffffe4750050, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffc8ea00a, rs 0xffffffffe4750050, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffffabafa3b, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffabafa3b32c5, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffabafa3b32c5cc3, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffd26c, rs 0xffffffffe9362689, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffd26c4d1, rs 0xffffffffe9362689, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7e8caa7d, rs 0x3f46553ecad374df, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7e8caa7d95a6, rs 0x3f46553ecad374df, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7e8caa7d95a6e9b, rs 0x3f46553ecad374df, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffdbee, rs 0xffffffffedf73b3e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffdbee767, rs 0xffffffffedf73b3e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x5d3572fa, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5d3572fa7ddb, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5d3572fa7ddbe54, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffe760, rs 0xfffffffff3b06b3b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffe760d67, rs 0xfffffffff3b06b3b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6d4deff4, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6d4deff47819, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6d4deff478193e6, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffeee2, rs 0xfffffffff771768c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffeee2ed1, rs 0xfffffffff771768c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff177271c6, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff177271c62abd, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf177271c62abd93b, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffff464, rs 0xfffffffffa325055, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffff464a0a, rs 0xfffffffffa325055, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa5be4b88, rs 0xd2df25c419478206, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa5be4b88328f, rs 0xd2df25c419478206, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa5be4b88328f040, rs 0xd2df25c419478206, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffffde6, rs 0xfffffffffef34de2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffffde69bc, rs 0xfffffffffef34de2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff78cb7e4f, rs 0xbc65bf27eb321825, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff78cb7e4fd664, rs 0xbc65bf27eb321825, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf78cb7e4fd664304, rs 0xbc65bf27eb321825, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff8d79, rs 0xffffffffc6bcf05f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff8d79e0b, rs 0xffffffffc6bcf05f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff51611fcc, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff51611fccf517, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf51611fccf5178fb, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff84fb, rs 0xffffffffc27dede8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff84fbdbd, rs 0xffffffffc27dede8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff0a56b795, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff0a56b795f1bf, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf0a56b795f1bf9bd, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff9e7d, rs 0xffffffffcf3ecb31, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff9e7d966, rs 0xffffffffcf3ecb31, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x8f12136, rs 0x478909b59a99269, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8f12136b353, rs 0x478909b59a99269, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8f12136b35324d, rs 0x478909b59a99269, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff97ff, rs 0xffffffffcbffd686, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff97ffad0, rs 0xffffffffcbffd686, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff7f663990, rs 0xbfb31cc87857360f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff7f663990f0ae, rs 0xbfb31cc87857360f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf7f663990f0ae6c1, rs 0xbfb31cc87857360f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffab71, rs 0xffffffffd5b88683, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffab710d0, rs 0xffffffffd5b88683, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff6ccbdabc, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff6ccbdabcff13, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf6ccbdabcff13d34, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffa2f3, rs 0xffffffffd1799b34, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffa2f3366, rs 0xffffffffd1799b34, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2bb528e9, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2bb528e96f51, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2bb528e96f51abc, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffb875, rs 0xffffffffdc3abded, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffb8757bd, rs 0xffffffffdc3abded, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffed66a6fa, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffed66a6fa55f2, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfed66a6fa55f21f9, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffb1f7, rs 0xffffffffd8fba05a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffb1f740b, rs 0xffffffffd8fba05a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x447af9fc, rs 0x223d7cfe2b961897, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x447af9fc572c, rs 0x223d7cfe2b961897, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x447af9fc572c312, rs 0x223d7cfe2b961897, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd219, rs 0x690ce0ee, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd219c1d, rs 0x690ce0ee, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x841669ea, rs 0x420b34f533734a4b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x841669ea66e6, rs 0x420b34f533734a4b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x841669ea66e6949, rs 0x420b34f533734a4b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xdb9b, rs 0x6dcdfd59, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xdb9bfab, rs 0x6dcdfd59, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff12f9191b, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff12f9191bba8d, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf12f9191bba8d667, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc11d, rs 0x608edb80, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc11db70, rs 0x608edb80, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf470e88b, rs 0x7a387445e392ccd9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf470e88bc725, rs 0x7a387445e392ccd9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf470e88bc72599b, rs 0x7a387445e392ccd9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc89f, rs 0x644fc637, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc89f8c6, rs 0x644fc637, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xa25e5363, rs 0x512f29b1d80000c9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa25e5363b000, rs 0x512f29b1d80000c9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa25e5363b000019, rs 0x512f29b1d80000c9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf411, rs 0x7a089632, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf4112c6, rs 0x7a089632, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffd5bdab8a, rs 0xeaded5c53dad020a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffd5bdab8a7b5a, rs 0xeaded5c53dad020a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd5bdab8a7b5a041, rs 0xeaded5c53dad020a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfd93, rs 0x7ec98b85, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd93170, rs 0x7ec98b85, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff14c453ae, rs 0x8a6229d731eea35b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff14c453ae63dd, rs 0x8a6229d731eea35b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf14c453ae63dd46b, rs 0x8a6229d731eea35b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe715, rs 0x738aad5c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe7155ab, rs 0x738aad5c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x58787f3c, rs 0x2c3c3f9e48985649, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x58787f3c9130, rs 0x2c3c3f9e48985649, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x58787f3c9130ac9, rs 0x2c3c3f9e48985649, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xee97, rs 0x774bb0eb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xee9761d, rs 0x774bb0eb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffec3cf1, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffec3cf1b938, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffec3cf1b93816e, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x9e08, rs 0x4f040d56, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x9e081aa, rs 0x4f040d56, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x453361c0, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x453361c03abc, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x453361c03abcd1d, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x978a, rs 0x4bc510e1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x978a21c, rs 0x4bc510e1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf87608ce, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf87608ce7a18, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf87608ce7a18dc4, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8d0c, rs 0x46863638, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8d0c6c7, rs 0x46863638, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2c9c2f83, rs 0x164e17c1e7fb6587, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2c9c2f83cff6, rs 0x164e17c1e7fb6587, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2c9c2f83cff6cb0, rs 0x164e17c1e7fb6587, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x848e, rs 0x42472b8f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x848e571, rs 0x42472b8f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff4994516, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff4994516ada9, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff4994516ada92a1, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb800, rs 0x5c007b8a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb800f71, rs 0x5c007b8a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffcbd34629, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffcbd346297cff, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfcbd346297cff411, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb182, rs 0x58c1663d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb182cc7, rs 0x58c1663d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff17d02c8, rs 0xf8be8164159649c5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff17d02c82b2c, rs 0xf8be8164159649c5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff17d02c82b2c938, rs 0xf8be8164159649c5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xab04, rs 0x558240e4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xab0481c, rs 0x558240e4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf9464b2f, rs 0x7ca3259784e69b17, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf9464b2f09cd, rs 0x7ca3259784e69b17, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf9464b2f09cd362, rs 0x7ca3259784e69b17, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa286, rs 0x51435d53, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa286baa, rs 0x51435d53, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff91aa879, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff91aa87943e4, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff91aa87943e49eb, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4a3a, rs 0x251d3b9e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4a3a773, rs 0x251d3b9e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x95d6d941, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x95d6d941c68b, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x95d6d941c68b3c6, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x43b8, rs 0x21dc2629, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x43b84c5, rs 0x21dc2629, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff8a65c31c, rs 0xc532e18e187980fa, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff8a65c31c30f3, rs 0xc532e18e187980fa, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf8a65c31c30f301f, rs 0xc532e18e187980fa, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x593e, rs 0x2c9f00f0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x593e01e, rs 0x2c9f00f0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff67fbd852, rs 0xb3fdec294f287d1c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff67fbd8529e50, rs 0xb3fdec294f287d1c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf67fbd8529e50fa3, rs 0xb3fdec294f287d1c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x50bc, rs 0x285e1d47, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x50bc3a8, rs 0x285e1d47, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff6c40cc14, rs 0xb620660a49732b90, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff6c40cc1492e6, rs 0xb620660a49732b90, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf6c40cc1492e6572, rs 0xb620660a49732b90, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6c32, rs 0x36194d42, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6c329a8, rs 0x36194d42, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff326271e2, rs 0x993138f16cfde991, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff326271e2d9fb, rs 0x993138f16cfde991, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf326271e2d9fbd32, rs 0x993138f16cfde991, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x65b0, rs 0x32d850f5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x65b0a1e, rs 0x32d850f5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffbc05a266, rs 0xde02d1337d5407b9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffbc05a266faa8, rs 0xde02d1337d5407b9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfbc05a266faa80f7, rs 0xde02d1337d5407b9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7f36, rs 0x3f9b762c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7f36ec5, rs 0x3f9b762c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x274721c3, rs 0x13a390e1e1dab15a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x274721c3c3b5, rs 0x13a390e1e1dab15a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x274721c3c3b562b, rs 0x13a390e1e1dab15a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x76b4, rs 0x3b5a6b9b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x76b4d73, rs 0x3b5a6b9b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe869234d, rs 0x743491a6828716c8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe869234d050e, rs 0x743491a6828716c8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe869234d050e2d9, rs 0x743491a6828716c8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x62b, rs 0x315d626, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x62bac4, rs 0x315d626, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff19fe8095, rs 0x8cff404aede292f2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff19fe8095dbc5, rs 0x8cff404aede292f2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf19fe8095dbc525e, rs 0x8cff404aede292f2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfa9, rs 0x7d4cb91, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa9972, rs 0x7d4cb91, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff739d81b6, rs 0xb9cec0db1f837636, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff739d81b63f06, rs 0xb9cec0db1f837636, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf739d81b63f06ec6, rs 0xb9cec0db1f837636, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x152f, rs 0xa97ed48, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x152fda9, rs 0xa97ed48, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x5d54b54e, rs 0x2eaa5aa70509771c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5d54b54e0a12, rs 0x2eaa5aa70509771c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5d54b54e0a12ee3, rs 0x2eaa5aa70509771c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1cad, rs 0xe56f0ff, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1cade1f, rs 0xe56f0ff, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa64ea71c, rs 0xd327538e1875241b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa64ea71c30ea, rs 0xd327538e1875241b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa64ea71c30ea483, rs 0xd327538e1875241b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2023, rs 0x1011a0fa, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x202341f, rs 0x1011a0fa, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x85d3f0a9, rs 0x42e9f8548b739b6b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x85d3f0a916e7, rs 0x42e9f8548b739b6b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x85d3f0a916e736d, rs 0x42e9f8548b739b6b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x29a1, rs 0x14d0bd4d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x29a17a9, rs 0x14d0bd4d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf1c9ca19, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf1c9ca19d997, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf1c9ca19d997743, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3327, rs 0x19939b94, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3327372, rs 0x19939b94, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffed6df47f, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffed6df47f9b3a, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfed6df47f9b3a4f9, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3aa5, rs 0x1d528623, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3aa50c4, rs 0x1d528623, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe722c907, rs 0x73916483ae3e9423, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe722c9075c7d, rs 0x73916483ae3e9423, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe722c9075c7d284, rs 0x73916483ae3e9423, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffe25e, rs 0xfffffffff12f560e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffe25eac1, rs 0xfffffffff12f560e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4ed5ee14, rs 0x276af70a0e128561, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4ed5ee141c25, rs 0x276af70a0e128561, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4ed5ee141c250ac, rs 0x276af70a0e128561, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffebdc, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffebdc977, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x608b7ed, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x608b7ed6bce, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x608b7ed6bce96d, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffff15a, rs 0xfffffffff8ad6d60, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffff15adac, rs 0xfffffffff8ad6d60, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x40447e26, rs 0x20223f1308accfa6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x40447e261159, rs 0x20223f1308accfa6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x40447e2611599f4, rs 0x20223f1308accfa6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffff8d8, rs 0xfffffffffc6c70d7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffff8d8e1a, rs 0xfffffffffc6c70d7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff078aae8, rs 0xf83c55743976b5f5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff078aae872ed, rs 0xf83c55743976b5f5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff078aae872ed6be, rs 0xf83c55743976b5f5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffc456, rs 0xffffffffe22b20d2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffc45641a, rs 0xffffffffe22b20d2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x3f2e41f2, rs 0x1f9720f946923c3d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3f2e41f28d24, rs 0x1f9720f946923c3d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3f2e41f28d24787, rs 0x1f9720f946923c3d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffcdd4, rs 0xffffffffe6ea3d65, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffcdd47ac, rs 0xffffffffe6ea3d65, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xc41a50a0, rs 0x620d28506d2448dd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc41a50a0da48, rs 0x620d28506d2448dd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc41a50a0da4891b, rs 0x620d28506d2448dd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffd752, rs 0xffffffffeba91bbc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffd752377, rs 0xffffffffeba91bbc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xc14a43d3, rs 0x60a521e99ff4a732, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc14a43d33fe9, rs 0x60a521e99ff4a732, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc14a43d33fe94e6, rs 0x60a521e99ff4a732, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffded0, rs 0xffffffffef68060b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffded00c1, rs 0xffffffffef68060b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xb411e756, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb411e756b8d0, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb411e756b8d01e1, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffae4f, rs 0xffffffffd727bbb6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffae4f776, rs 0xffffffffd727bbb6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff8f4b37cf, rs 0xc7a59be7800f3d26, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff8f4b37cf001e, rs 0xc7a59be7800f3d26, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf8f4b37cf001e7a4, rs 0xc7a59be7800f3d26, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffa7cd, rs 0xffffffffd3e6a601, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffa7cd4c0, rs 0xffffffffd3e6a601, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x35d9be53, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x35d9be530594, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x35d9be530594368, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffbd4b, rs 0xffffffffdea580d8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffbd4b01b, rs 0xffffffffdea580d8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x570c2744, rs 0x2b8613a260d19dcd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x570c2744c1a3, rs 0x2b8613a260d19dcd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x570c2744c1a33b9, rs 0x2b8613a260d19dcd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffb4c9, rs 0xffffffffda649d6f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffb4c93ad, rs 0xffffffffda649d6f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4a315916, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4a3159161d17, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4a3159161d177cf, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff8847, rs 0xffffffffc423cd6a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff88479ad, rs 0xffffffffc423cd6a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe87cad1a, rs 0x743e568d2fcf486b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe87cad1a5f9e, rs 0x743e568d2fcf486b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe87cad1a5f9e90d, rs 0x743e568d2fcf486b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x24dec8de, rs 0x126f646f34c31728, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x24dec8de6986, rs 0x126f646f34c31728, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x24dec8de69862e5, rs 0x126f646f34c31728, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff9b43, rs 0xffffffffcda1f604, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff9b43ec0, rs 0xffffffffcda1f604, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff556032c2, rs 0xaab0196156fc4d12, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff556032c2adf8, rs 0xaab0196156fc4d12, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf556032c2adf89a2, rs 0xaab0196156fc4d12, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xea6b9a67, rs 0x7535cd338595d342, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xea6b9a670b2b, rs 0x7535cd338595d342, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xea6b9a670b2ba68, rs 0x7535cd338595d342, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff7a7d, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff7a7d1af, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffbf64a9b4, rs 0xdfb254da422346ec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffbf64a9b48446, rs 0xdfb254da422346ec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfbf64a9b484468dd, rs 0xdfb254da422346ec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff73ff, rs 0xffffffffb9ff90c9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff73ff219, rs 0xffffffffb9ff90c9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff50ce4d92, rs 0xa86726c90081ab2a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff50ce4d920103, rs 0xa86726c90081ab2a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf50ce4d920103565, rs 0xa86726c90081ab2a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff6979, rs 0xffffffffb4bcb610, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff69796c2, rs 0xffffffffb4bcb610, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff37fdff42, rs 0x9bfeffa1679d7438, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff37fdff42cf3a, rs 0x9bfeffa1679d7438, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf37fdff42cf3ae87, rs 0x9bfeffa1679d7438, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff60fb, rs 0xffffffffb07daba7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff60fb574, rs 0xffffffffb07daba7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff8ed3304d, rs 0xc7699826b7dee244, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff8ed3304d6fbd, rs 0xc7699826b7dee244, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf8ed3304d6fbdc48, rs 0xc7699826b7dee244, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff5c75, rs 0xffffffffae3afba2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff5c75f74, rs 0xffffffffae3afba2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x780f5f2f, rs 0x3c07af97fba6704a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x780f5f2ff74c, rs 0x3c07af97fba6704a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x780f5f2ff74ce09, rs 0x3c07af97fba6704a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff55f7, rs 0xffffffffaafbe615, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff55f7cc2, rs 0xffffffffaafbe615, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xa426c9b8, rs 0x521364dc04c58bfe, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa426c9b8098b, rs 0x521364dc04c58bfe, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa426c9b8098b17f, rs 0x521364dc04c58bfe, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff4f71, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff4f71819, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffc1ef76b1, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffc1ef76b1356f, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc1ef76b1356f5d7, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff46f3, rs 0xffffffffa379dd7b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff46f3baf, rs 0xffffffffa379dd7b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffc66d8c19, rs 0xe336c60cdeeb954d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffc66d8c19bdd7, rs 0xe336c60cdeeb954d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc66d8c19bdd72a9, rs 0xe336c60cdeeb954d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff366c, rs 0xffffffff9b3660c6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff366cc18, rs 0xffffffff9b3660c6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffab642418, rs 0xd5b2120c6f52416e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffab642418dea4, rs 0xd5b2120c6f52416e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfab642418dea482d, rs 0xd5b2120c6f52416e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3fee, rs 0xffffffff9ff77d71, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff3feefae, rs 0xffffffff9ff77d71, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff0b45a9fe, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff0b45a9fefcc5, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf0b45a9fefcc5146, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2568, rs 0xffffffff92b45ba8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff2568b75, rs 0xffffffff92b45ba8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff30d456ca, rs 0x986a2b654a4e7e07, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff30d456ca949c, rs 0x986a2b654a4e7e07, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf30d456ca949cfc0, rs 0x986a2b654a4e7e07, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2cea, rs 0xffffffff9675461f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff2cea8c3, rs 0xffffffff9675461f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff52e9d588, rs 0xa974eac43a489b55, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff52e9d5887491, rs 0xa974eac43a489b55, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf52e9d588749136a, rs 0xa974eac43a489b55, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff1064, rs 0xffffffff8832161a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff10642c3, rs 0xffffffff8832161a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff471182c4, rs 0xa388c16272f1f8f5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff471182c4e5e3, rs 0xa388c16272f1f8f5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf471182c4e5e3f1e, rs 0xa388c16272f1f8f5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff19e6, rs 0xffffffff8cf30bad, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff19e6175, rs 0xffffffff8cf30bad, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffd1823e8b, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffd1823e8bce92, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd1823e8bce92bd5, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff0360, rs 0xffffffff81b02d74, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff03605ae, rs 0xffffffff81b02d74, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5b54b4ec, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5b54b4ecb983, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5b54b4ecb983916, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff0ae2, rs 0xffffffff857130c3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff0ae2618, rs 0xffffffff857130c3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf5699d11, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf5699d11bf4c, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5699d11bf4c0b8, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xbb15, rs 0x5d8a9099, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xbb15213, rs 0x5d8a9099, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff6855adcc, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff6855adccb34f, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf6855adccb34f609, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb297, rs 0x594b8d2e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb2971a5, rs 0x594b8d2e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x97f090b5, rs 0x4bf8485ab728922f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x97f090b56e51, rs 0x4bf8485ab728922f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x97f090b56e51245, rs 0x4bf8485ab728922f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa811, rs 0x5408abf7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa81157e, rs 0x5408abf7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xed47ac18, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xed47ac1876cd, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xed47ac1876cd4ff, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa193, rs 0x50c9b640, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa1936c8, rs 0x50c9b640, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x63c18d5f, rs 0x31e0c6affdc28eda, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x63c18d5ffb85, rs 0x31e0c6affdc28eda, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x63c18d5ffb851db, rs 0x31e0c6affdc28eda, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x9d1d, rs 0x4e8ee645, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x9d1dcc8, rs 0x4e8ee645, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xa6c0d769, rs 0x53606bb4bf0c999d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa6c0d7697e19, rs 0x53606bb4bf0c999d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa6c0d7697e19333, rs 0x53606bb4bf0c999d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x949f, rs 0x4a4ffbf2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x949ff7e, rs 0x4a4ffbf2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x65f82590, rs 0x32fc12c81b7919f0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x65f8259036f2, rs 0x32fc12c81b7919f0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x65f8259036f233e, rs 0x32fc12c81b7919f0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8e19, rs 0x470cdd2b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8e19ba5, rs 0x470cdd2b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7df10709, rs 0x3ef88384c72efcd6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7df107098e5d, rs 0x3ef88384c72efcd6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7df107098e5df9a, rs 0x3ef88384c72efcd6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x879b, rs 0x43cdc09c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x879b813, rs 0x43cdc09c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x71638f76, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x71638f76d454, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x71638f76d4546b0, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf704, rs 0x7b827d21, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf704fa4, rs 0x7b827d21, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2bd7ec24, rs 0x15ebf6121dca77c9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2bd7ec243b94, rs 0x15ebf6121dca77c9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2bd7ec243b94ef9, rs 0x15ebf6121dca77c9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfe86, rs 0x7f436096, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfe86c12, rs 0x7f436096, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xbd559bb3, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xbd559bb3fb22, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xbd559bb3fb228f5, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe400, rs 0x7200464f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe4008c9, rs 0x7200464f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff7708e1f3, rs 0xbb8470f981e91117, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff7708e1f303d2, rs 0xbb8470f981e91117, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf7708e1f303d2222, rs 0xbb8470f981e91117, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xed82, rs 0x76c15bf8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xed82b7f, rs 0x76c15bf8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xba855d5, rs 0x5d42aeac6a532e0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xba855d58d4a, rs 0x5d42aeac6a532e0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xba855d58d4a65c, rs 0x5d42aeac6a532e0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd10c, rs 0x68860bfd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd10c17f, rs 0x68860bfd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2957e6c8, rs 0x14abf36419fb9e63, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2957e6c833f7, rs 0x14abf36419fb9e63, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2957e6c833f73cc, rs 0x14abf36419fb9e63, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd88e, rs 0x6c47164a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd88e2c9, rs 0x6c47164a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x493aab35, rs 0x249d559aa8d72aac, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x493aab3551ae, rs 0x249d559aa8d72aac, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x493aab3551ae555, rs 0x249d559aa8d72aac, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc208, rs 0x61043093, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc208612, rs 0x61043093, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x19acec9e, rs 0xcd6764f084b30ec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x19acec9e1096, rs 0xcd6764f084b30ec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x19acec9e109661d, rs 0xcd6764f084b30ec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcb8a, rs 0x65c52d24, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcb8a5a4, rs 0x65c52d24, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfe07580f, rs 0x7f03ac0792468fdf, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfe07580f248d, rs 0x7f03ac0792468fdf, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfe07580f248d1fb, rs 0x7f03ac0792468fdf, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2336, rs 0x119b4be9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x233697d, rs 0x119b4be9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfc6b9cda, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfc6b9cdaadcc, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc6b9cdaadcce1e, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2ab4, rs 0x155a565e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2ab4acb, rs 0x155a565e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2a5050b2, rs 0x152828591a652711, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2a5050b234ca, rs 0x152828591a652711, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2a5050b234ca4e2, rs 0x152828591a652711, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3032, rs 0x18197087, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3032e10, rs 0x18197087, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff3c386507, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff3c386507a42b, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf3c386507a42b53f, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x39b0, rs 0x1cd86d30, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x39b0da6, rs 0x1cd86d30, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff1b2b8092, rs 0x8d95c049282a0417, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff1b2b80925054, rs 0x8d95c049282a0417, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf1b2b80925054082, rs 0x8d95c049282a0417, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x53e, rs 0x29f3d35, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x53e7a6, rs 0x29f3d35, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffe5cf4921, rs 0xf2e7a490978058f3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffe5cf49212f00, rs 0xf2e7a490978058f3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfe5cf49212f00b1e, rs 0xf2e7a490978058f3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcbc, rs 0x65e2082, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcbc410, rs 0x65e2082, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xeeb69994, rs 0x775b4cca0975b1aa, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xeeb6999412eb, rs 0x775b4cca0975b1aa, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xeeb6999412eb635, rs 0x775b4cca0975b1aa, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x163a, rs 0xb1d065b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x163a0cb, rs 0xb1d065b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x1457094c, rs 0xa2b84a635111020, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1457094c6a22, rs 0xa2b84a635111020, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1457094c6a22204, rs 0xa2b84a635111020, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1fb8, rs 0xfdc1bec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1fb837d, rs 0xfdc1bec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x47f41a7, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x47f41a74fb1, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x47f41a74fb116d, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6f27, rs 0x3793a651, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6f274ca, rs 0x3793a651, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff47b3236f, rs 0xa3d991b79941dedd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff47b3236f3283, rs 0xa3d991b79941dedd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf47b3236f3283bdb, rs 0xa3d991b79941dedd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x66a5, rs 0x3352bbe6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x66a577c, rs 0x3352bbe6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xea396906, rs 0x751cb4835a0d9508, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xea396906b41b, rs 0x751cb4835a0d9508, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xea396906b41b2a1, rs 0x751cb4835a0d9508, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7c23, rs 0x3e119d3f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7c233a7, rs 0x3e119d3f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff29395a6a, rs 0x949cad35625bb2d3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff29395a6ac4b7, rs 0x949cad35625bb2d3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf29395a6ac4b765a, rs 0x949cad35625bb2d3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x75a1, rs 0x3ad08088, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x75a1011, rs 0x3ad08088, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfeacfe6b, rs 0x7f567f35a6929739, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfeacfe6b4d25, rs 0x7f567f35a6929739, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfeacfe6b4d252e7, rs 0x7f567f35a6929739, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x492f, rs 0x2497d08d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x492fa11, rs 0x2497d08d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x30b711c1, rs 0x185b88e0db8d7d27, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x30b711c1b71a, rs 0x185b88e0db8d7d27, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x30b711c1b71afa4, rs 0x185b88e0db8d7d27, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x40ad, rs 0x2056cd3a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x40ad9a7, rs 0x2056cd3a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4ab499a4, rs 0x255a4cd22fd61b91, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4ab499a45fac, rs 0x255a4cd22fd61b91, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4ab499a45fac372, rs 0x255a4cd22fd61b91, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5a2b, rs 0x2d15ebe3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5a2bd7c, rs 0x2d15ebe3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2091ab13, rs 0x1048d589a4363f7b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2091ab13486c, rs 0x1048d589a4363f7b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2091ab13486c7ef, rs 0x1048d589a4363f7b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x53a9, rs 0x29d4f654, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x53a9eca, rs 0x29d4f654, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xd4daae11, rs 0x6a6d5708f4605790, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd4daae11e8c0, rs 0x6a6d5708f4605790, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd4daae11e8c0af2, rs 0x6a6d5708f4605790, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff8b52, rs 0xffffffffc5a92679, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff8b524cf, rs 0xffffffffc5a92679, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffab1d9757, rs 0xd58ecbabde35697f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffab1d9757bc6a, rs 0xd58ecbabde35697f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfab1d9757bc6ad2f, rs 0xd58ecbabde35697f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff82d0, rs 0xffffffffc1683bce, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff82d0779, rs 0xffffffffc1683bce, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xaeaa91fa, rs 0x575548fd08c0a5f1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xaeaa91fa1181, rs 0x575548fd08c0a5f1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xaeaa91fa11814be, rs 0x575548fd08c0a5f1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff9856, rs 0xffffffffcc2b1d17, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff98563a2, rs 0xffffffffcc2b1d17, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff176c81f7, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff176c81f71db3, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf176c81f71db31bb, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff91d4, rs 0xffffffffc8ea00a0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff91d4014, rs 0xffffffffc8ea00a0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff7c01aa3d, rs 0xbe00d51eabc578cc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff7c01aa3d578a, rs 0xbe00d51eabc578cc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf7c01aa3d578af19, rs 0xbe00d51eabc578cc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffad5a, rs 0xffffffffd6ad50a5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffad5aa14, rs 0xffffffffd6ad50a5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x5efc4494, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5efc4494382e, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5efc4494382e156, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffa4d8, rs 0xffffffffd26c4d12, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffa4d89a2, rs 0xffffffffd26c4d12, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff52f1e259, rs 0xa978f12ca22256a7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff52f1e2594444, rs 0xa978f12ca22256a7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf52f1e2594444ad4, rs 0xa978f12ca22256a7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffbe5e, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffbe5ed79, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff32a15277, rs 0x9950a93b811ee02f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff32a15277023d, rs 0x9950a93b811ee02f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf32a15277023dc05, rs 0x9950a93b811ee02f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffb7dc, rs 0xffffffffdbee767c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffb7dcecf, rs 0xffffffffdbee767c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff689dd527, rs 0xb44eea93c6796a0c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff689dd5278cf2, rs 0xb44eea93c6796a0c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf689dd5278cf2d41, rs 0xb44eea93c6796a0c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffc743, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffc743978, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffffce3f940, rs 0xfe71fca06c0eb657, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffce3f940d81d, rs 0xfe71fca06c0eb657, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffce3f940d81d6ca, rs 0xfe71fca06c0eb657, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffcec1, rs 0xffffffffe760d676, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffcec1ace, rs 0xffffffffe760d676, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x9dac727b, rs 0x4ed6393df818af57, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x9dac727bf031, rs 0x4ed6393df818af57, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x9dac727bf0315ea, rs 0x4ed6393df818af57, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffd447, rs 0xffffffffea23f0af, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffd447e15, rs 0xffffffffea23f0af, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffe45d2040, rs 0xf22e90200236770a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffe45d2040046c, rs 0xf22e90200236770a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfe45d2040046cee1, rs 0xf22e90200236770a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffddc5, rs 0xffffffffeee2ed18, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffddc5da3, rs 0xffffffffeee2ed18, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff03df6d8f, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff03df6d8f5fa1, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf03df6d8f5fa188b, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffe14b, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffe14b7a3, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffddb1e6a3, rs 0xeed8f3518102315b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffddb1e6a30204, rs 0xeed8f3518102315b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfddb1e6a3020462b, rs 0xeed8f3518102315b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffe8c9, rs 0xfffffffff464a0aa, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffe8c9415, rs 0xfffffffff464a0aa, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5b5fdf73, rs 0xadafefb9995efd5e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5b5fdf7332bd, rs 0xadafefb9995efd5e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5b5fdf7332bdfab, rs 0xadafefb9995efd5e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffff24f, rs 0xfffffffff9278673, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffff24f0ce, rs 0xfffffffff9278673, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x680c3267, rs 0x34061933eb253086, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x680c3267d64a, rs 0x34061933eb253086, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x680c3267d64a610, rs 0x34061933eb253086, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffffbcd, rs 0xfffffffffde69bc4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffffbcd378, rs 0xfffffffffde69bc4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2e91b44c, rs 0x1748da264b4c52bc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2e91b44c9698, rs 0x1748da264b4c52bc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2e91b44c9698a57, rs 0x1748da264b4c52bc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff1371, rs 0xffffffff89b8fd09, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff1371fa1, rs 0xffffffff89b8fd09, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x69fbf935, rs 0x34fdfc9a9302be89, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x69fbf9352605, rs 0x34fdfc9a9302be89, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x69fbf93526057d1, rs 0x34fdfc9a9302be89, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff1af3, rs 0xffffffff8d79e0be, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff1af3c17, rs 0xffffffff8d79e0be, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa004f187, rs 0xd00278c3c521d180, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa004f1878a43, rs 0xd00278c3c521d180, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa004f1878a43a30, rs 0xd00278c3c521d180, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff0075, rs 0xffffffff803ac667, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff00758cc, rs 0xffffffff803ac667, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffd2128949, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffd212894983a6, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd212894983a6f4b, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff09f7, rs 0xffffffff84fbdbd0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff09f7b7a, rs 0xffffffff84fbdbd0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xcbfad31f, rs 0x65fd698fddef9839, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcbfad31fbbdf, rs 0x65fd698fddef9839, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcbfad31fbbdf307, rs 0x65fd698fddef9839, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3579, rs 0xffffffff9abc8bd5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff357917a, rs 0xffffffff9abc8bd5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff893dc75b, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff893dc75b036b, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf893dc75b036b5ea, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3cfb, rs 0xffffffff9e7d9662, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff3cfb2cc, rs 0xffffffff9e7d9662, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf55283d1, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf55283d17b64, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf55283d17b64c7d, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff267d, rs 0xffffffff933eb0bb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff267d617, rs 0xffffffff933eb0bb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6e58413c, rs 0x372c209e42f3b58d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6e58413c85e7, rs 0x372c209e42f3b58d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6e58413c85e76b1, rs 0x372c209e42f3b58d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2fff, rs 0xffffffff97ffad0c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff2fff5a1, rs 0xffffffff97ffad0c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x61f0e16f, rs 0x30f870b7e122a83b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x61f0e16fc245, rs 0x30f870b7e122a83b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x61f0e16fc245507, rs 0x30f870b7e122a83b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff5f60, rs 0xffffffffafb010b1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff5f60216, rs 0xffffffffafb010b1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff3c05bc96, rs 0x9e02de4b678930ec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff3c05bc96cf12, rs 0x9e02de4b678930ec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf3c05bc96cf1261d, rs 0x9e02de4b678930ec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff56e2, rs 0xffffffffab710d06, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff56e21a0, rs 0xffffffffab710d06, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff9ac350c7, rs 0xcd61a8639826631e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff9ac350c7304c, rs 0xcd61a8639826631e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf9ac350c7304cc63, rs 0xcd61a8639826631e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff4c64, rs 0xffffffffa6322bdf, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff4c6457b, rs 0xffffffffa6322bdf, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5d0f7913, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5d0f791334f7, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5d0f791334f7a79, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff45e6, rs 0xffffffffa2f33668, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff45e66cd, rs 0xffffffffa2f33668, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xb1d8c89a, rs 0x58ec644d6481af17, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb1d8c89ac903, rs 0x58ec644d6481af17, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb1d8c89ac9035e2, rs 0x58ec644d6481af17, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff7968, rs 0xffffffffbcb4666d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff7968ccd, rs 0xffffffffbcb4666d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xd0199cbf, rs 0x680cce5fb236b666, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd0199cbf646d, rs 0x680cce5fb236b666, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd0199cbf646d6cc, rs 0x680cce5fb236b666, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff70ea, rs 0xffffffffb8757bda, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff70eaf7b, rs 0xffffffffb8757bda, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7755328e, rs 0x3baa99471f6d4d75, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7755328e3eda, rs 0x3baa99471f6d4d75, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7755328e3eda9ae, rs 0x3baa99471f6d4d75, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff6a6c, rs 0xffffffffb5365d03, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff6a6cba0, rs 0xffffffffb5365d03, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xc29b3688, rs 0x614d9b445f12236b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc29b3688be24, rs 0x614d9b445f12236b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc29b3688be2446d, rs 0x614d9b445f12236b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff63ee, rs 0xffffffffb1f740b4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff63ee816, rs 0xffffffffb1f740b4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff454dd8cc, rs 0xa2a6ec661ba84121, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff454dd8cc3750, rs 0xa2a6ec661ba84121, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf454dd8cc3750824, rs 0xa2a6ec661ba84121, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x12bd6aa, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x12bd6aa, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x12bd6aa, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7e8763, rs 0x7e876382d2ab13, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7e876382d2ab13, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfd, rs 0x7e876382d2ab13, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfd0ec, rs 0x7e876382d2ab13, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x9823b6e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x9823b6e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x9823b6e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff976d6e9a, rs 0x976d6e9ac31510f3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x976d6e9ac31510f3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff2eda, rs 0x976d6e9ac31510f3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff2edadd3, rs 0x976d6e9ac31510f3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xd4326d9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xd4326d9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xd4326d9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb7746d77, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff6ee8, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff6ee8dae, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x130476dc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x130476dc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x130476dc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x42b0c0a2, rs 0x42b0c0a28677b502, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x8561, rs 0x42b0c0a28677b502, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x8561814, rs 0x42b0c0a28677b502, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x17c56b6b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x17c56b6b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x17c56b6b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2aa89d31, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5551, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x55513a6, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1a864db2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1a864db2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1a864db2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1f308ec3, rs 0x1f308ec377fb413d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x3e61, rs 0x1f308ec377fb413d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x3e611d8, rs 0x1f308ec377fb413d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1e475005, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1e475005, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1e475005, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7aa04213, rs 0x7aa04213c760e4f7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf540, rs 0x7aa04213c760e4f7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf540842, rs 0x7aa04213c760e4f7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2608edb8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2608edb8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2608edb8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9e705cc5, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff3ce0, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff3ce0b98, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x22c9f00f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x22c9f00f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x22c9f00f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x4b3dda86, rs 0x4b3dda869615a60d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x967b, rs 0x4b3dda869615a60d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x967bb50, rs 0x4b3dda869615a60d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2f8ad6d6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x5e7a4dd, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xbcf, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xbcf49b, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2b4bcb61, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2b4bcb61, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2b4bcb61, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3af35a9d, rs 0x3af35a9dc40bd413, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x75e6, rs 0x3af35a9dc40bd413, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x75e6b53, rs 0x3af35a9dc40bd413, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x350c9b64, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x350c9b64, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x350c9b64, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x47f50556, rs 0x47f505569a08a180, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47f505569a08a180, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x8fea, rs 0x47f505569a08a180, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x8fea0aa, rs 0x47f505569a08a180, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x31cd86d3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x31cd86d3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x31cd86d3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9564b77f, rs 0x9564b77fd6d2040f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9564b77fd6d2040f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff2ac9, rs 0x9564b77fd6d2040f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff2ac96ef, rs 0x9564b77fd6d2040f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3c8ea00a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3c8ea00a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3c8ea00a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffcebc8279, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff9d79, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff9d7904f, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x384fbdbd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x384fbdbd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x384fbdbd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb5034c2f, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff6a06, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff6a06985, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4c11db70, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4c11db70, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4c11db70, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff94ff52fc, rs 0x94ff52fc81afa797, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x94ff52fc81afa797, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff29fe, rs 0x94ff52fc81afa797, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff29fea5f, rs 0x94ff52fc81afa797, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x48d0c6c7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x48d0c6c7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x48d0c6c7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x31d8d916, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x63b1, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x63b1b22, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4593e01e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4593e01e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4593e01e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x36549bd6, rs 0x36549bd678e895b1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36549bd678e895b1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6ca9, rs 0x36549bd678e895b1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6ca937a, rs 0x36549bd678e895b1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4152fda9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4152fda9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4152fda9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff85e0a631, rs 0x85e0a6319b63259b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x85e0a6319b63259b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff0bc1, rs 0x85e0a6319b63259b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff0bc14c6, rs 0x85e0a6319b63259b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5f15adac, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5f15adac, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5f15adac, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x556b3eca, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xaad6, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xaad67d9, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5bd4b01b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5bd4b01b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5bd4b01b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb42f5fc5, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff685e, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff685ebf8, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x569796c2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x569796c2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x569796c2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x25b50fec, rs 0x25b50fec14682d97, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x25b50fec14682d97, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4b6a, rs 0x25b50fec14682d97, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4b6a1fd, rs 0x25b50fec14682d97, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x52568b75, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x52568b75, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x52568b75, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffffc93c513, rs 0xfc93c5132cfb087a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfc93c5132cfb087a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff927, rs 0xfc93c5132cfb087a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff9278a2, rs 0xfc93c5132cfb087a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6a1936c8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6a1936c8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6a1936c8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3c2cd9a9, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7859, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7859b35, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6ed82b7f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6ed82b7f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6ed82b7f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1791722a, rs 0x1791722a7d72da3e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2f22, rs 0x1791722a7d72da3e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2f22e45, rs 0x1791722a7d72da3e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x639b0da6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x639b0da6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x639b0da6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x87cc9d1, rs 0x87cc9d193ce24ad, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x10f9, rs 0x87cc9d193ce24ad, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x10f993a, rs 0x87cc9d193ce24ad, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x675a1011, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x675a1011, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x675a1011, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1d2a7570, rs 0x1d2a757038984ed2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x3a54, rs 0x1d2a757038984ed2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x3a54eae, rs 0x1d2a757038984ed2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x791d4014, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x791d4014, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x791d4014, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd0d070db, rs 0xd0d070db710cd036, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd0d070db710cd036, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa1a0, rs 0xd0d070db710cd036, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa1a0e1b, rs 0xd0d070db710cd036, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7ddc5da3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7ddc5da3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7ddc5da3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x39c21c7d, rs 0x39c21c7d03415604, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c21c7d03415604, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7384, rs 0x39c21c7d03415604, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x738438f, rs 0x39c21c7d03415604, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x709f7b7a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x709f7b7a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x709f7b7a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8e94b7af, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff1d29, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff1d296f5, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x745e66cd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x745e66cd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x745e66cd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x24eb6a8d, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x49d6, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x49d6d51, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2f394544, rs 0x2f39454412d6e4a7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5e72, rs 0x2f39454412d6e4a7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x5e728a8, rs 0x2f39454412d6e4a7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2608c2b7, rs 0x2608c2b756da4c54, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608c2b756da4c54, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4c11856, rs 0x2608c2b756da4c54, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff900102da, rs 0x900102dac8d7252f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x900102dac8d7252f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff2002, rs 0x900102dac8d7252f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff200205b, rs 0x900102dac8d7252f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc890d5f1, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff9121, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff9121abe, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffed5005cb, rs 0xed5005cbc8b0a214, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xed5005cbc8b0a214, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffdaa0, rs 0xed5005cbc8b0a214, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffdaa00b9, rs 0xed5005cbc8b0a214, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x31479189, rs 0x314791895991136c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x314791895991136c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x628f, rs 0x314791895991136c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x628f231, rs 0x314791895991136c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc6eecff9, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff8ddd, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff8ddd9ff, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa8095212, rs 0xa809521238895270, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa809521238895270, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5012, rs 0xa809521238895270, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5012a42, rs 0xa809521238895270, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff87750a04, rs 0x87750a04ad765040, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x87750a04ad765040, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff0eea, rs 0x87750a04ad765040, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff0eea140, rs 0x87750a04ad765040, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2c3de85e, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x587b, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x587bd0b, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffae6aff8f, rs 0xae6aff8fc506aa67, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xae6aff8fc506aa67, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5cd5, rs 0xae6aff8fc506aa67, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5cd5ff1, rs 0xae6aff8fc506aa67, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc07112dd, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff80e2, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff80e225b, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc4c770f6, rs 0xc4c770f630dcca5a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc4c770f630dcca5a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff898e, rs 0xc4c770f630dcca5a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff898ee1e, rs 0xc4c770f630dcca5a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffdfec2b23, rs 0xdfec2b2383cd5277, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xdfec2b2383cd5277, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffbfd8, rs 0xdfec2b2383cd5277, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffbfd8564, rs 0xdfec2b2383cd5277, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd3adba26, rs 0xd3adba260ff7d96b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd3adba260ff7d96b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa75b, rs 0xd3adba260ff7d96b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa75b744, rs 0xd3adba260ff7d96b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x4ab4aa79, rs 0x4ab4aa798418c00e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x9569, rs 0x4ab4aa798418c00e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x956954f, rs 0x4ab4aa798418c00e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbb8c035e, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff7718, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff771806b, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x33b06f54, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6760, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6760dea, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x77433f37, rs 0x77433f373fd1c081, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x77433f373fd1c081, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xee86, rs 0x77433f373fd1c081, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xee867e6, rs 0x77433f373fd1c081, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffec91d993, rs 0xec91d993c92195e4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xec91d993c92195e4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffd923, rs 0xec91d993c92195e4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffd923b32, rs 0xec91d993c92195e4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x49fbf6a7, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x93f7, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x93f7ed4, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x19364378, rs 0x19364378c7ce8d1e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x326c, rs 0x19364378c7ce8d1e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x326c86f, rs 0x19364378c7ce8d1e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb99e8def, rs 0xb99e8def2f384907, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb99e8def2f384907, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff733d, rs 0xb99e8def2f384907, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff733d1bd, rs 0xb99e8def2f384907, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x47eacdcd, rs 0x47eacdcd582b12fe, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x8fd5, rs 0x47eacdcd582b12fe, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x8fd59b9, rs 0x47eacdcd582b12fe, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd685884e, rs 0xd685884e76558c4f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd685884e76558c4f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffad0b, rs 0xd685884e76558c4f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffad0b109, rs 0xd685884e76558c4f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x6168d62a, rs 0x6168d62a34c195c7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xc2d1, rs 0x6168d62a34c195c7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xc2d1ac5, rs 0x6168d62a34c195c7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd3016989, rs 0xd30169894df47405, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd30169894df47405, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa602, rs 0xd30169894df47405, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa602d31, rs 0xd30169894df47405, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1ca190bf, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x3943, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x3943217, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x58300f02, rs 0x58300f029cae393a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58300f029cae393a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xb060, rs 0x58300f029cae393a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xb0601e0, rs 0x58300f029cae393a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9a995fdb, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff3532, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff3532bfb, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8a96047b, rs 0x8a96047be3405b48, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8a96047be3405b48, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff152c, rs 0x8a96047be3405b48, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff152c08f, rs 0x8a96047be3405b48, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x75bfafd2, rs 0x75bfafd2d519d322, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xeb7f, rs 0x75bfafd2d519d322, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xeb7f5fa, rs 0x75bfafd2d519d322, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x34867077, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x34867077, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x34867077, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffde230867, rs 0xde230867a630f6ad, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xde230867a630f6ad, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffbc46, rs 0xde230867a630f6ad, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffbc4610c, rs 0xde230867a630f6ad, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x30476dc0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x30476dc0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x30476dc0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2c0a0cf2, rs 0x2c0a0cf256103260, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5814, rs 0x2c0a0cf256103260, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x581419e, rs 0x2c0a0cf256103260, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3d044b19, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3d044b19, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3d044b19, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff94a90544, rs 0x94a90544249b18ef, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x94a90544249b18ef, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff2952, rs 0x94a90544249b18ef, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff29520a8, rs 0x94a90544249b18ef, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x39c556ae, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x39c556ae, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x39c556ae, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff9519fb5, rs 0xf9519fb55b56fcde, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf9519fb55b56fcde, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff2a3, rs 0xf9519fb55b56fcde, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff2a33f6, rs 0xf9519fb55b56fcde, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x278206ab, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x278206ab, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x278206ab, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff81daf820, rs 0x81daf8200468319b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x81daf8200468319b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff03b5, rs 0x81daf8200468319b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff03b5f04, rs 0x81daf8200468319b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x23431b1c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x23431b1c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x23431b1c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8c61ca5a, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff18c3, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff18c394b, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2e003dc5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2e003dc5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2e003dc5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8b95a6dd, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff172b, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff172b4db, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2ac12072, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2ac12072, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2ac12072, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x300ce751, rs 0x300ce751dac6162f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x300ce751dac6162f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6019, rs 0x300ce751dac6162f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6019cea, rs 0x300ce751dac6162f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x128e9dcf, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x128e9dcf, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x128e9dcf, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x6778fdf3, rs 0x6778fdf3ba52a850, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xcef1, rs 0x6778fdf3ba52a850, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xcef1fbe, rs 0x6778fdf3ba52a850, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x164f8078, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x164f8078, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x164f8078, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffad00b1f7, rs 0xad00b1f7da78479f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xad00b1f7da78479f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5a01, rs 0xad00b1f7da78479f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5a0163e, rs 0xad00b1f7da78479f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1b0ca6a1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x8d44168, rs 0x8d44168a6b6d98a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x11a8, rs 0x8d44168a6b6d98a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x11a882d, rs 0x8d44168a6b6d98a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1fcdbb16, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1fcdbb16, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1fcdbb16, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff518381d, rs 0xf518381dce634413, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf518381dce634413, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffea30, rs 0xf518381dce634413, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffea30703, rs 0xf518381dce634413, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x18aeb13, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x18aeb13, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x18aeb13, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe4627f3f, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffc8c4, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffc8c4fe7, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x54bf6a4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x54bf6a4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x54bf6a4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffccd392e1, rs 0xccd392e176321f28, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xccd392e176321f28, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff99a7, rs 0xccd392e176321f28, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff99a725c, rs 0xccd392e176321f28, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x808d07d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x808d07d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x808d07d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff82946494, rs 0x829464944018fd8f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x829464944018fd8f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff0528, rs 0x829464944018fd8f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff0528c92, rs 0x829464944018fd8f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xcc9cdca, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xcc9cdca, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xcc9cdca, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x15d32040, rs 0x15d3204052e8f0e5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2ba6, rs 0x15d3204052e8f0e5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2ba6408, rs 0x15d3204052e8f0e5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7897ab07, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7897ab07, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7897ab07, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7caf83d2, rs 0x7caf83d2880ff344, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf95f, rs 0x7caf83d2880ff344, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf95f07a, rs 0x7caf83d2880ff344, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7c56b6b0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7c56b6b0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7c56b6b0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff156a04c, rs 0xf156a04c747defd7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf156a04c747defd7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffe2ad, rs 0xf156a04c747defd7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffe2ad409, rs 0xf156a04c747defd7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x71159069, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x71159069, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x71159069, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff93e2601c, rs 0x93e2601c0f31d710, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x93e2601c0f31d710, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff27c4, rs 0x93e2601c0f31d710, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff27c4c03, rs 0x93e2601c0f31d710, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x75d48dde, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x75d48dde, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x75d48dde, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe1e1a679, rs 0xe1e1a679131cd933, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe1e1a679131cd933, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffc3c3, rs 0xe1e1a679131cd933, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffc3c34cf, rs 0xe1e1a679131cd933, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6b93dddb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6b93dddb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6b93dddb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x24296b75, rs 0x24296b75a76fa427, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x24296b75a76fa427, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4852, rs 0x24296b75a76fa427, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4852d6e, rs 0x24296b75a76fa427, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6f52c06c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6f52c06c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6f52c06c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd296e2d2, rs 0xd296e2d2139ee56a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd296e2d2139ee56a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa52d, rs 0xd296e2d2139ee56a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa52dc5a, rs 0xd296e2d2139ee56a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6211e6b5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6211e6b5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6211e6b5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x5a82447f, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xb504, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xb50488f, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x66d0fb02, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x66d0fb02, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x66d0fb02, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x76c89e80, rs 0x76c89e80c07dc168, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xed91, rs 0x76c89e80c07dc168, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xed913d0, rs 0x76c89e80c07dc168, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5e9f46bf, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5e9f46bf, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5e9f46bf, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x70dc345, rs 0x70dc3454bfe348f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe1b, rs 0x70dc3454bfe348f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe1b868, rs 0x70dc3454bfe348f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5a5e5b08, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5a5e5b08, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5a5e5b08, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbddc7123, rs 0xbddc7123dd6d241b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbddc7123dd6d241b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff7bb8, rs 0xbddc7123dd6d241b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff7bb8e24, rs 0xbddc7123dd6d241b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x571d7dd1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x571d7dd1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x571d7dd1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff62fb727, rs 0xf62fb727a59fcebe, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf62fb727a59fcebe, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffec5f, rs 0xf62fb727a59fcebe, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffec5f6e4, rs 0xf62fb727a59fcebe, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x53dc6066, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x53dc6066, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x53dc6066, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x109f27e9, rs 0x109f27e90f9f46fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x213e, rs 0x109f27e90f9f46fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x213e4fd, rs 0x109f27e90f9f46fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4d9b3063, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4d9b3063, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4d9b3063, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3f63daa9, rs 0x3f63daa9afd199d7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7ec7, rs 0x3f63daa9afd199d7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7ec7b55, rs 0x3f63daa9afd199d7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x495a2dd4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x495a2dd4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x495a2dd4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffdbcb312e, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffb796, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffb796625, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x44190b0d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x44190b0d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x44190b0d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1f353faa, rs 0x1f353faada4fe4c6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x3e6a, rs 0x1f353faada4fe4c6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x3e6a7f5, rs 0x1f353faada4fe4c6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x40d816ba, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x40d816ba, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x40d816ba, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8b086ee0, rs 0x8b086ee07150c260, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8b086ee07150c260, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff1610, rs 0x8b086ee07150c260, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff1610ddc, rs 0x8b086ee07150c260, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe54750d5, rs 0xe54750d5d9257f25, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe54750d5d9257f25, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffca8e, rs 0xe54750d5d9257f25, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffca8ea1a, rs 0xe54750d5d9257f25, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3d69625f, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7ad2, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7ad2c4b, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x70a3e042, rs 0x70a3e0424340ac96, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe147, rs 0x70a3e0424340ac96, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe147c08, rs 0x70a3e0424340ac96, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc0478f03, rs 0xc0478f036980171e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc0478f036980171e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff808f, rs 0xc0478f036980171e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff808f1e0, rs 0xc0478f036980171e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3ce839a5, rs 0x3ce839a51cf929e3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x79d0, rs 0x3ce839a51cf929e3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x79d0734, rs 0x3ce839a51cf929e3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe2fbfa89, rs 0xe2fbfa895eb68958, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe2fbfa895eb68958, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffc5f7, rs 0xe2fbfa895eb68958, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffc5f7f51, rs 0xe2fbfa895eb68958, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd24bb05d, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa497, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa49760b, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xeb9682c, rs 0xeb9682c170312f1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xeb9682c170312f1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x1d72, rs 0xeb9682c170312f1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x1d72d05, rs 0xeb9682c170312f1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff84785280, rs 0x84785280dd301d0d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x84785280dd301d0d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff08f0, rs 0x84785280dd301d0d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff08f0a50, rs 0x84785280dd301d0d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x179c77aa, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2f38, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2f38ef5, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x26444ced, rs 0x26444ced2998436d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x26444ced2998436d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4c88, rs 0x26444ced2998436d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4c8899d, rs 0x26444ced2998436d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7175c9d, rs 0x7175c9dd58ca708, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe2e, rs 0x7175c9dd58ca708, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe2eb93, rs 0x7175c9dd58ca708, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x663d0610, rs 0x663d061055833287, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x663d061055833287, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xcc7a, rs 0x663d061055833287, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xcc7a0c2, rs 0x663d061055833287, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffab7dd048, rs 0xab7dd0488951d68b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xab7dd0488951d68b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff56fb, rs 0xab7dd0488951d68b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff56fba09, rs 0xab7dd0488951d68b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff6982367, rs 0xf69823670e82471b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf69823670e82471b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffed30, rs 0xf69823670e82471b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffed3046c, rs 0xf69823670e82471b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x36886c59, rs 0x36886c59d98d26b2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6d10, rs 0x36886c59d98d26b2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6d10d8b, rs 0x36886c59d98d26b2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x9ca4bdb, rs 0x9ca4bdbd32be479, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x1394, rs 0x9ca4bdbd32be479, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x139497b, rs 0x9ca4bdbd32be479, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffffd5d7d1d, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffffaba, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffabafa3, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3f46553e, rs 0x3f46553ecad374df, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f46553ecad374df, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7e8c, rs 0x3f46553ecad374df, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7e8caa7, rs 0x3f46553ecad374df, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2e9ab97d, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5d35, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x5d3572f, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x36a6f7fa, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6d4d, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6d4deff, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8bb938e3, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff1772, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff177271c, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd2df25c4, rs 0xd2df25c419478206, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd2df25c419478206, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa5be, rs 0xd2df25c419478206, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa5be4b8, rs 0xd2df25c419478206, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbc65bf27, rs 0xbc65bf27eb321825, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbc65bf27eb321825, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff78cb, rs 0xbc65bf27eb321825, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff78cb7e4, rs 0xbc65bf27eb321825, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa8b08fe6, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5161, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff51611fc, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff852b5bca, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff0a56, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff0a56b79, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x478909b, rs 0x478909b59a99269, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x478909b59a99269, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x8f1, rs 0x478909b59a99269, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x8f1213, rs 0x478909b59a99269, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbfb31cc8, rs 0xbfb31cc87857360f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbfb31cc87857360f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff7f66, rs 0xbfb31cc87857360f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff7f66399, rs 0xbfb31cc87857360f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb665ed5e, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff6ccb, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff6ccbdab, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x15da9474, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2bb5, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2bb528e, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff6b3537d, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffed66, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffed66a6f, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x223d7cfe, rs 0x223d7cfe2b961897, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x447a, rs 0x223d7cfe2b961897, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x447af9f, rs 0x223d7cfe2b961897, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x690ce0ee, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x690ce0ee, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x690ce0ee, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x420b34f5, rs 0x420b34f533734a4b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x420b34f533734a4b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x8416, rs 0x420b34f533734a4b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x841669e, rs 0x420b34f533734a4b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6dcdfd59, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6dcdfd59, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6dcdfd59, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff897c8c8d, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff12f9, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff12f9191, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x608edb80, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x608edb80, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x608edb80, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7a387445, rs 0x7a387445e392ccd9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf470, rs 0x7a387445e392ccd9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf470e88, rs 0x7a387445e392ccd9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x644fc637, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x644fc637, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x644fc637, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x512f29b1, rs 0x512f29b1d80000c9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xa25e, rs 0x512f29b1d80000c9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xa25e536, rs 0x512f29b1d80000c9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7a089632, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7a089632, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7a089632, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffeaded5c5, rs 0xeaded5c53dad020a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xeaded5c53dad020a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffd5bd, rs 0xeaded5c53dad020a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffd5bdab8, rs 0xeaded5c53dad020a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7ec98b85, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7ec98b85, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7ec98b85, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8a6229d7, rs 0x8a6229d731eea35b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8a6229d731eea35b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff14c4, rs 0x8a6229d731eea35b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff14c453a, rs 0x8a6229d731eea35b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x738aad5c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x738aad5c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x738aad5c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2c3c3f9e, rs 0x2c3c3f9e48985649, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5878, rs 0x2c3c3f9e48985649, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x58787f3, rs 0x2c3c3f9e48985649, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x774bb0eb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x774bb0eb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x774bb0eb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7ff61e78, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffec, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffec3cf, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4f040d56, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4f040d56, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4f040d56, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2299b0e0, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4533, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x453361c, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4bc510e1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4bc510e1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4bc510e1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7c3b0467, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf876, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf87608c, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x46863638, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x46863638, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x46863638, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x164e17c1, rs 0x164e17c1e7fb6587, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2c9c, rs 0x164e17c1e7fb6587, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2c9c2f8, rs 0x164e17c1e7fb6587, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x42472b8f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x42472b8f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x42472b8f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffffa4ca28b, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff499, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff499451, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5c007b8a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5c007b8a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5c007b8a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe5e9a314, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffcbd3, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffcbd3462, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x58c1663d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x58c1663d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x58c1663d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff8be8164, rs 0xf8be8164159649c5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf8be8164159649c5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff17d, rs 0xf8be8164159649c5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff17d02c, rs 0xf8be8164159649c5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x558240e4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x558240e4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x558240e4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7ca32597, rs 0x7ca3259784e69b17, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf946, rs 0x7ca3259784e69b17, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf9464b2, rs 0x7ca3259784e69b17, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x51435d53, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x51435d53, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x51435d53, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffffc8d543c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff91a, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff91aa87, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x251d3b9e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x251d3b9e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x251d3b9e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x4aeb6ca0, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x95d6, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x95d6d94, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x21dc2629, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x21dc2629, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x21dc2629, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc532e18e, rs 0xc532e18e187980fa, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc532e18e187980fa, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff8a65, rs 0xc532e18e187980fa, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff8a65c31, rs 0xc532e18e187980fa, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2c9f00f0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2c9f00f0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2c9f00f0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb3fdec29, rs 0xb3fdec294f287d1c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb3fdec294f287d1c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff67fb, rs 0xb3fdec294f287d1c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff67fbd85, rs 0xb3fdec294f287d1c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x285e1d47, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x285e1d47, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x285e1d47, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb620660a, rs 0xb620660a49732b90, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb620660a49732b90, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff6c40, rs 0xb620660a49732b90, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff6c40cc1, rs 0xb620660a49732b90, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x36194d42, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x36194d42, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x36194d42, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff993138f1, rs 0x993138f16cfde991, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x993138f16cfde991, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff3262, rs 0x993138f16cfde991, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff326271e, rs 0x993138f16cfde991, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x32d850f5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x32d850f5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x32d850f5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffde02d133, rs 0xde02d1337d5407b9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xde02d1337d5407b9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffbc05, rs 0xde02d1337d5407b9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffbc05a26, rs 0xde02d1337d5407b9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3f9b762c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3f9b762c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3f9b762c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x13a390e1, rs 0x13a390e1e1dab15a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2747, rs 0x13a390e1e1dab15a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x274721c, rs 0x13a390e1e1dab15a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3b5a6b9b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x743491a6, rs 0x743491a6828716c8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x743491a6828716c8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe869, rs 0x743491a6828716c8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe869234, rs 0x743491a6828716c8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x315d626, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x315d626, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x315d626, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8cff404a, rs 0x8cff404aede292f2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8cff404aede292f2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff19fe, rs 0x8cff404aede292f2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff19fe809, rs 0x8cff404aede292f2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7d4cb91, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7d4cb91, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7d4cb91, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb9cec0db, rs 0xb9cec0db1f837636, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb9cec0db1f837636, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff739d, rs 0xb9cec0db1f837636, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff739d81b, rs 0xb9cec0db1f837636, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xa97ed48, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xa97ed48, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xa97ed48, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2eaa5aa7, rs 0x2eaa5aa70509771c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5d54, rs 0x2eaa5aa70509771c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x5d54b54, rs 0x2eaa5aa70509771c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xe56f0ff, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xe56f0ff, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xe56f0ff, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd327538e, rs 0xd327538e1875241b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd327538e1875241b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa64e, rs 0xd327538e1875241b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa64ea71, rs 0xd327538e1875241b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1011a0fa, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1011a0fa, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1011a0fa, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x42e9f854, rs 0x42e9f8548b739b6b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x85d3, rs 0x42e9f8548b739b6b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x85d3f0a, rs 0x42e9f8548b739b6b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x14d0bd4d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x14d0bd4d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x14d0bd4d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x78e4e50c, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf1c9, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf1c9ca1, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x19939b94, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x19939b94, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x19939b94, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff6b6fa3f, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffed6d, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffed6df47, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1d528623, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1d528623, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1d528623, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x73916483, rs 0x73916483ae3e9423, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x73916483ae3e9423, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe722, rs 0x73916483ae3e9423, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe722c90, rs 0x73916483ae3e9423, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x276af70a, rs 0x276af70a0e128561, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x276af70a0e128561, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4ed5, rs 0x276af70a0e128561, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4ed5ee1, rs 0x276af70a0e128561, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3045bf6, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x608, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x608b7e, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x20223f13, rs 0x20223f1308accfa6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x20223f1308accfa6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4044, rs 0x20223f1308accfa6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x40447e2, rs 0x20223f1308accfa6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff83c5574, rs 0xf83c55743976b5f5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf83c55743976b5f5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff078, rs 0xf83c55743976b5f5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff078aae, rs 0xf83c55743976b5f5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1f9720f9, rs 0x1f9720f946923c3d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x3f2e, rs 0x1f9720f946923c3d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x3f2e41f, rs 0x1f9720f946923c3d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x620d2850, rs 0x620d28506d2448dd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x620d28506d2448dd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xc41a, rs 0x620d28506d2448dd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xc41a50a, rs 0x620d28506d2448dd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x60a521e9, rs 0x60a521e99ff4a732, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xc14a, rs 0x60a521e99ff4a732, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xc14a43d, rs 0x60a521e99ff4a732, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x5a08f3ab, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xb411, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xb411e75, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc7a59be7, rs 0xc7a59be7800f3d26, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc7a59be7800f3d26, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff8f4b, rs 0xc7a59be7800f3d26, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff8f4b37c, rs 0xc7a59be7800f3d26, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1aecdf29, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x35d9, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x35d9be5, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2b8613a2, rs 0x2b8613a260d19dcd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x570c, rs 0x2b8613a260d19dcd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x570c274, rs 0x2b8613a260d19dcd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2518ac8b, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4a31, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4a31591, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x743e568d, rs 0x743e568d2fcf486b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe87c, rs 0x743e568d2fcf486b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe87cad1, rs 0x743e568d2fcf486b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x126f646f, rs 0x126f646f34c31728, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x126f646f34c31728, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x24de, rs 0x126f646f34c31728, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x24dec8d, rs 0x126f646f34c31728, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffaab01961, rs 0xaab0196156fc4d12, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xaab0196156fc4d12, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5560, rs 0xaab0196156fc4d12, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff556032c, rs 0xaab0196156fc4d12, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7535cd33, rs 0x7535cd338595d342, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7535cd338595d342, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xea6b, rs 0x7535cd338595d342, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xea6b9a6, rs 0x7535cd338595d342, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffdfb254da, rs 0xdfb254da422346ec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xdfb254da422346ec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffbf64, rs 0xdfb254da422346ec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffbf64a9b, rs 0xdfb254da422346ec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa86726c9, rs 0xa86726c90081ab2a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa86726c90081ab2a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff50ce, rs 0xa86726c90081ab2a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff50ce4d9, rs 0xa86726c90081ab2a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9bfeffa1, rs 0x9bfeffa1679d7438, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9bfeffa1679d7438, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff37fd, rs 0x9bfeffa1679d7438, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff37fdff4, rs 0x9bfeffa1679d7438, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc7699826, rs 0xc7699826b7dee244, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc7699826b7dee244, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff8ed3, rs 0xc7699826b7dee244, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff8ed3304, rs 0xc7699826b7dee244, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3c07af97, rs 0x3c07af97fba6704a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x780f, rs 0x3c07af97fba6704a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x780f5f2, rs 0x3c07af97fba6704a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x521364dc, rs 0x521364dc04c58bfe, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xa426, rs 0x521364dc04c58bfe, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xa426c9b, rs 0x521364dc04c58bfe, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe0f7bb58, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffc1ef, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffc1ef76b, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe336c60c, rs 0xe336c60cdeeb954d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe336c60cdeeb954d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffc66d, rs 0xe336c60cdeeb954d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffc66d8c1, rs 0xe336c60cdeeb954d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd5b2120c, rs 0xd5b2120c6f52416e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd5b2120c6f52416e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffab64, rs 0xd5b2120c6f52416e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffab64241, rs 0xd5b2120c6f52416e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff85a2d4ff, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff0b45, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff0b45a9f, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff986a2b65, rs 0x986a2b654a4e7e07, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x986a2b654a4e7e07, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff30d4, rs 0x986a2b654a4e7e07, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff30d456c, rs 0x986a2b654a4e7e07, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa974eac4, rs 0xa974eac43a489b55, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa974eac43a489b55, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff52e9, rs 0xa974eac43a489b55, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff52e9d58, rs 0xa974eac43a489b55, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa388c162, rs 0xa388c16272f1f8f5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa388c16272f1f8f5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff4711, rs 0xa388c16272f1f8f5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff471182c, rs 0xa388c16272f1f8f5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe8c11f45, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffd182, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffd1823e8, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffadaa5a76, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5b54, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5b54b4e, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7ab4ce88, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf569, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf5699d1, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5d8a9099, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5d8a9099, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5d8a9099, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb42ad6e6, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff6855, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff6855adc, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x594b8d2e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x594b8d2e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x594b8d2e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x4bf8485a, rs 0x4bf8485ab728922f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x97f0, rs 0x4bf8485ab728922f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x97f090b, rs 0x4bf8485ab728922f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5408abf7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5408abf7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5408abf7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x76a3d60c, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xed47, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xed47ac1, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x50c9b640, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x50c9b640, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x50c9b640, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x31e0c6af, rs 0x31e0c6affdc28eda, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x63c1, rs 0x31e0c6affdc28eda, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x63c18d5, rs 0x31e0c6affdc28eda, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4e8ee645, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4e8ee645, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4e8ee645, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x53606bb4, rs 0x53606bb4bf0c999d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xa6c0, rs 0x53606bb4bf0c999d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xa6c0d76, rs 0x53606bb4bf0c999d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4a4ffbf2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x32fc12c8, rs 0x32fc12c81b7919f0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x65f8, rs 0x32fc12c81b7919f0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x65f8259, rs 0x32fc12c81b7919f0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x470cdd2b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x470cdd2b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x470cdd2b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3ef88384, rs 0x3ef88384c72efcd6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7df1, rs 0x3ef88384c72efcd6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7df1070, rs 0x3ef88384c72efcd6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x43cdc09c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x43cdc09c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x43cdc09c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x38b1c7bb, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7163, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x71638f7, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7b827d21, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7b827d21, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7b827d21, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x15ebf612, rs 0x15ebf6121dca77c9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2bd7, rs 0x15ebf6121dca77c9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2bd7ec2, rs 0x15ebf6121dca77c9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7f436096, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7f436096, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7f436096, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x5eaacdd9, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xbd55, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xbd559bb, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7200464f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7200464f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7200464f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbb8470f9, rs 0xbb8470f981e91117, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbb8470f981e91117, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff7708, rs 0xbb8470f981e91117, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff7708e1f, rs 0xbb8470f981e91117, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x76c15bf8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x76c15bf8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x76c15bf8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x5d42aea, rs 0x5d42aeac6a532e0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xba8, rs 0x5d42aeac6a532e0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xba855d, rs 0x5d42aeac6a532e0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x68860bfd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x68860bfd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x68860bfd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x14abf364, rs 0x14abf36419fb9e63, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2957, rs 0x14abf36419fb9e63, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2957e6c, rs 0x14abf36419fb9e63, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6c47164a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6c47164a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6c47164a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x249d559a, rs 0x249d559aa8d72aac, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x493a, rs 0x249d559aa8d72aac, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x493aab3, rs 0x249d559aa8d72aac, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x61043093, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x61043093, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x61043093, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xcd6764f, rs 0xcd6764f084b30ec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x19ac, rs 0xcd6764f084b30ec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x19acec9, rs 0xcd6764f084b30ec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x65c52d24, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x65c52d24, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x65c52d24, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7f03ac07, rs 0x7f03ac0792468fdf, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfe07, rs 0x7f03ac0792468fdf, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfe07580, rs 0x7f03ac0792468fdf, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x119b4be9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x119b4be9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x119b4be9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7e35ce6d, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfc6b, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfc6b9cd, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x155a565e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x155a565e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x155a565e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x15282859, rs 0x152828591a652711, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x152828591a652711, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2a50, rs 0x152828591a652711, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2a5050b, rs 0x152828591a652711, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x18197087, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x18197087, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x18197087, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9e1c3283, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff3c38, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff3c38650, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1cd86d30, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1cd86d30, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1cd86d30, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8d95c049, rs 0x8d95c049282a0417, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8d95c049282a0417, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff1b2b, rs 0x8d95c049282a0417, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff1b2b809, rs 0x8d95c049282a0417, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x29f3d35, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x29f3d35, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x29f3d35, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff2e7a490, rs 0xf2e7a490978058f3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf2e7a490978058f3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffe5cf, rs 0xf2e7a490978058f3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffe5cf492, rs 0xf2e7a490978058f3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x65e2082, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x65e2082, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x65e2082, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x775b4cca, rs 0x775b4cca0975b1aa, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xeeb6, rs 0x775b4cca0975b1aa, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xeeb6999, rs 0x775b4cca0975b1aa, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xb1d065b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xb1d065b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xb1d065b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xa2b84a6, rs 0xa2b84a635111020, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa2b84a635111020, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x1457, rs 0xa2b84a635111020, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x1457094, rs 0xa2b84a635111020, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xfdc1bec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xfdc1bec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xfdc1bec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x23fa0d3, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x47f, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x47f41a, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3793a651, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3793a651, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3793a651, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa3d991b7, rs 0xa3d991b79941dedd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa3d991b79941dedd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff47b3, rs 0xa3d991b79941dedd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff47b3236, rs 0xa3d991b79941dedd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3352bbe6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3352bbe6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3352bbe6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x751cb483, rs 0x751cb4835a0d9508, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xea39, rs 0x751cb4835a0d9508, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xea39690, rs 0x751cb4835a0d9508, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3e119d3f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3e119d3f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3e119d3f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff949cad35, rs 0x949cad35625bb2d3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x949cad35625bb2d3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff2939, rs 0x949cad35625bb2d3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff29395a6, rs 0x949cad35625bb2d3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3ad08088, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3ad08088, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3ad08088, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7f567f35, rs 0x7f567f35a6929739, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f567f35a6929739, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfeac, rs 0x7f567f35a6929739, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfeacfe6, rs 0x7f567f35a6929739, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2497d08d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2497d08d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2497d08d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x185b88e0, rs 0x185b88e0db8d7d27, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x30b7, rs 0x185b88e0db8d7d27, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x30b711c, rs 0x185b88e0db8d7d27, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2056cd3a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2056cd3a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2056cd3a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x255a4cd2, rs 0x255a4cd22fd61b91, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4ab4, rs 0x255a4cd22fd61b91, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4ab499a, rs 0x255a4cd22fd61b91, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2d15ebe3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2d15ebe3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2d15ebe3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1048d589, rs 0x1048d589a4363f7b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2091, rs 0x1048d589a4363f7b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2091ab1, rs 0x1048d589a4363f7b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x29d4f654, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x29d4f654, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x29d4f654, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x6a6d5708, rs 0x6a6d5708f4605790, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xd4da, rs 0x6a6d5708f4605790, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xd4daae1, rs 0x6a6d5708f4605790, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd58ecbab, rs 0xd58ecbabde35697f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd58ecbabde35697f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffab1d, rs 0xd58ecbabde35697f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffab1d975, rs 0xd58ecbabde35697f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x575548fd, rs 0x575548fd08c0a5f1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xaeaa, rs 0x575548fd08c0a5f1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xaeaa91f, rs 0x575548fd08c0a5f1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8bb640fb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff176c, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff176c81f, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbe00d51e, rs 0xbe00d51eabc578cc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbe00d51eabc578cc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff7c01, rs 0xbe00d51eabc578cc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff7c01aa3, rs 0xbe00d51eabc578cc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2f7e224a, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5efc, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x5efc449, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa978f12c, rs 0xa978f12ca22256a7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa978f12ca22256a7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff52f1, rs 0xa978f12ca22256a7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff52f1e25, rs 0xa978f12ca22256a7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9950a93b, rs 0x9950a93b811ee02f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9950a93b811ee02f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff32a1, rs 0x9950a93b811ee02f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff32a1527, rs 0x9950a93b811ee02f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb44eea93, rs 0xb44eea93c6796a0c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb44eea93c6796a0c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff689d, rs 0xb44eea93c6796a0c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff689dd52, rs 0xb44eea93c6796a0c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffffe71fca0, rs 0xfe71fca06c0eb657, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfe71fca06c0eb657, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffffce3, rs 0xfe71fca06c0eb657, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffce3f94, rs 0xfe71fca06c0eb657, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x4ed6393d, rs 0x4ed6393df818af57, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4ed6393df818af57, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x9dac, rs 0x4ed6393df818af57, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x9dac727, rs 0x4ed6393df818af57, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff22e9020, rs 0xf22e90200236770a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf22e90200236770a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffe45d, rs 0xf22e90200236770a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffe45d204, rs 0xf22e90200236770a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff81efb6c7, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff03df, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff03df6d8, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffeed8f351, rs 0xeed8f3518102315b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xeed8f3518102315b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffddb1, rs 0xeed8f3518102315b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffddb1e6a, rs 0xeed8f3518102315b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffadafefb9, rs 0xadafefb9995efd5e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xadafefb9995efd5e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5b5f, rs 0xadafefb9995efd5e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5b5fdf7, rs 0xadafefb9995efd5e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x34061933, rs 0x34061933eb253086, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34061933eb253086, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x680c, rs 0x34061933eb253086, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x680c326, rs 0x34061933eb253086, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1748da26, rs 0x1748da264b4c52bc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2e91, rs 0x1748da264b4c52bc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2e91b44, rs 0x1748da264b4c52bc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x34fdfc9a, rs 0x34fdfc9a9302be89, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x69fb, rs 0x34fdfc9a9302be89, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x69fbf93, rs 0x34fdfc9a9302be89, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd00278c3, rs 0xd00278c3c521d180, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd00278c3c521d180, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa004, rs 0xd00278c3c521d180, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa004f18, rs 0xd00278c3c521d180, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe90944a4, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffd212, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffd212894, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x65fd698f, rs 0x65fd698fddef9839, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65fd698fddef9839, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xcbfa, rs 0x65fd698fddef9839, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xcbfad31, rs 0x65fd698fddef9839, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc49ee3ad, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff893d, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff893dc75, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7aa941e8, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf552, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf55283d, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x372c209e, rs 0x372c209e42f3b58d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6e58, rs 0x372c209e42f3b58d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6e58413, rs 0x372c209e42f3b58d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x30f870b7, rs 0x30f870b7e122a83b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x61f0, rs 0x30f870b7e122a83b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x61f0e16, rs 0x30f870b7e122a83b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9e02de4b, rs 0x9e02de4b678930ec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9e02de4b678930ec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff3c05, rs 0x9e02de4b678930ec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff3c05bc9, rs 0x9e02de4b678930ec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffcd61a863, rs 0xcd61a8639826631e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xcd61a8639826631e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff9ac3, rs 0xcd61a8639826631e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff9ac350c, rs 0xcd61a8639826631e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffae87bc89, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5d0f, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5d0f791, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x58ec644d, rs 0x58ec644d6481af17, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58ec644d6481af17, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xb1d8, rs 0x58ec644d6481af17, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xb1d8c89, rs 0x58ec644d6481af17, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x680cce5f, rs 0x680cce5fb236b666, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x680cce5fb236b666, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xd019, rs 0x680cce5fb236b666, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xd0199cb, rs 0x680cce5fb236b666, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3baa9947, rs 0x3baa99471f6d4d75, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7755, rs 0x3baa99471f6d4d75, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7755328, rs 0x3baa99471f6d4d75, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x614d9b44, rs 0x614d9b445f12236b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x614d9b445f12236b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xc29b, rs 0x614d9b445f12236b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xc29b368, rs 0x614d9b445f12236b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa2a6ec66, rs 0xa2a6ec661ba84121, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa2a6ec661ba84121, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff454d, rs 0xa2a6ec661ba84121, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff454dd8c, rs 0xa2a6ec661ba84121, imm 0x0003
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+dsrav $s0, $s1, $s2 :: rd 0xfd0, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+dsrav $t0, $t1, $t2 :: rd 0x2, rs 0x9823b6e, rt 0xffffffffb8757bda
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffcbb, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffeddd1b5, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x130476dc, rt 0xffffffffa2f33668
+dsrav $s0, $s1, $s2 :: rd 0x856181450c, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dsrav $s0, $s1, $s2 :: rd 0xaaa274c678f0c, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+dsrav $t0, $t1, $t2 :: rd 0x6a1936, rs 0x1a864db2, rt 0xffffffffab710d06
+dsrav $s0, $s1, $s2 :: rd 0x7cc23b0d, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x1e475005, rt 0xffffffffafb010b1
+dsrav $s0, $s1, $s2 :: rd 0x7aa04, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+dsrav $t0, $t1, $t2 :: rd 0x2608e, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffff3, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dsrav $s0, $s1, $s2 :: rd 0x259eed434b0ad, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dsrav $s0, $s1, $s2 :: rd 0x2f3d2, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+dsrav $t0, $t1, $t2 :: rd 0x15a, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dsrav $s0, $s1, $s2 :: rd 0xebcd6a77102, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+dsrav $t0, $t1, $t2 :: rd 0x350c, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dsrav $s0, $s1, $s2 :: rd 0x23, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x31cd86d3, rt 0xffffffff803ac667
+dsrav $s0, $s1, $s2 :: rd 0xfffffffcab25bbfe, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dsrav $s0, $s1, $s2 :: rd 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+dsrav $t0, $t1, $t2 :: rd 0x1c27de, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dsrav $s0, $s1, $s2 :: rd 0xffda81a6178f8c72, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+dsrav $t0, $t1, $t2 :: rd 0x4c11db7, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffff9, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dsrav $s0, $s1, $s2 :: rd 0xc7636459b7f143, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dsrav $s0, $s1, $s2 :: rd 0xd9526f59, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+dsrav $t0, $t1, $t2 :: rd 0x2, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dsrav $s0, $s1, $s2 :: rd 0xfffffff0bc14c633, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+dsrav $t0, $t1, $t2 :: rd 0x5f, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dsrav $s0, $s1, $s2 :: rd 0x2ab59f656, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dsrav $s0, $s1, $s2 :: rd 0xffed0bd7f1607ba8, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x569796c2, rt 0xffffffffe760d676
+dsrav $s0, $s1, $s2 :: rd 0x4b6a1fd828, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+dsrav $t0, $t1, $t2 :: rd 0x292b45ba, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dsrav $s0, $s1, $s2 :: rd 0xfffffff9278a2659, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dsrav $s0, $s1, $s2 :: rd 0x3c2cd9a9cda20, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+dsrav $t0, $t1, $t2 :: rd 0xddb05, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dsrav $s0, $s1, $s2 :: rd 0x2f22, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+dsrav $t0, $t1, $t2 :: rd 0x18e6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dsrav $s0, $s1, $s2 :: rd 0x10f993, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dsrav $s0, $s1, $s2 :: rd 0x74a, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dsrav $s0, $s1, $s2 :: rd 0xfffd0d070db710cd, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+dsrav $t0, $t1, $t2 :: rd 0xfb, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dsrav $s0, $s1, $s2 :: rd 0x738438fa0, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+dsrav $t0, $t1, $t2 :: rd 0x1c27d, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffc74a, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x745e66cd, rt 0xffffffffc5a92679
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffff982, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dsrav $s0, $s1, $s2 :: rd 0x2f39454412d6, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dsrav $s0, $s1, $s2 :: rd 0x4, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dsrav $s0, $s1, $s2 :: rd 0xffffc800816d646b, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffcab04, rs 0xffffffff95609039, rt 0x2497d08d
+dsrav $s0, $s1, $s2 :: rd 0xffffffffff9121ab, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+dsrav $t0, $t1, $t2 :: rd 0xffffffffff8b27c0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffff6, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dsrav $s0, $s1, $s2 :: rd 0x628f2312b32, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dsrav $s0, $s1, $s2 :: rd 0xffc6eecff99a2fb6, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffc332, rs 0xffffffff8664e6e5, rt 0x3793a651
+dsrav $s0, $s1, $s2 :: rd 0xfffffffd404a9091, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffff0eea, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffff7, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dsrav $s0, $s1, $s2 :: rd 0x2c3de85e, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+dsrav $t0, $t1, $t2 :: rd 0xffffffffedea580d, rs 0xffffffffb7a96036, rt 0x65e2082
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffeb9abf, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffb3687d81, rt 0x29f3d35
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffff80e, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dsrav $s0, $s1, $s2 :: rd 0xffffff898ee1ec61, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+dsrav $t0, $t1, $t2 :: rd 0xffffffffff53dc60, rs 0xffffffffa9ee3033, rt 0x18197087
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffb, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffe, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dsrav $s0, $s1, $s2 :: rd 0xffffe9d6dd1307fb, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dsrav $s0, $s1, $s2 :: rd 0x255, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd4326d90, rt 0x65c52d24
+dsrav $s0, $s1, $s2 :: rd 0xffffffff771806bc, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffa1e, rs 0xffffffffd0f37027, rt 0x61043093
+dsrav $s0, $s1, $s2 :: rd 0x33b06, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffff76c15, rs 0xffffffffddb056fe, rt 0x6c47164a
+dsrav $s0, $s1, $s2 :: rd 0x77433, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd9714b49, rt 0x68860bfd
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffd923b32, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dsrav $s0, $s1, $s2 :: rd 0x49fbf6a7, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffff87ee, rs 0xffffffffc3f706fb, rt 0x7200464f
+dsrav $s0, $s1, $s2 :: rd 0x326c86f18f, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffff3a, rs 0xffffffffceb42022, rt 0x7f436096
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffee67a, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffca753d95, rt 0x7b827d21
+dsrav $s0, $s1, $s2 :: rd 0x23f566e6ac1589, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dsrav $s0, $s1, $s2 :: rd 0xd685884e76558c4f, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dsrav $s0, $s1, $s2 :: rd 0x185a358a8d3, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffd301, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffbcd37, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dsrav $s0, $s1, $s2 :: rd 0xe50c85fb, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+dsrav $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dsrav $s0, $s1, $s2 :: rd 0x160c03c0a7, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffff3, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffff152c, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffff6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dsrav $s0, $s1, $s2 :: rd 0xeb7f5fa5aa33, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+dsrav $t0, $t1, $t2 :: rd 0x690ce0e, rs 0x34867077, rt 0xffffffff857130c3
+dsrav $s0, $s1, $s2 :: rd 0xde230867a630f6ad, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x30476dc0, rt 0xffffffff81b02d74
+dsrav $s0, $s1, $s2 :: rd 0x2c0, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffca5482, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+dsrav $t0, $t1, $t2 :: rd 0xe, rs 0x39c556ae, rt 0xffffffff8832161a
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffca, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+dsrav $s0, $s1, $s2 :: rd 0xfffffc0ed7c10023, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dsrav $s0, $s1, $s2 :: rd 0xff18c394b4ae4be5, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffff8b9, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+dsrav $t0, $t1, $t2 :: rd 0xab0481, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dsrav $s0, $s1, $s2 :: rd 0xc033, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dsrav $s0, $s1, $s2 :: rd 0x33bc7ef9dd295, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+dsrav $t0, $t1, $t2 :: rd 0x164f8, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffa, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+dsrav $t0, $t1, $t2 :: rd 0xd8, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dsrav $s0, $s1, $s2 :: rd 0xfffd460e077398d1, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x18aeb13, rt 0xffffffffb07daba7
+dsrav $s0, $s1, $s2 :: rd 0xfe4627f3fe5255fc, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+dsrav $t0, $t1, $t2 :: rd 0x54b, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffcc, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+dsrav $t0, $t1, $t2 :: rd 0x40468, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffe0a519, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dsrav $s0, $s1, $s2 :: rd 0x15d32, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+dsrav $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0x1f2be0f4a203fcd1, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+dsrav $t0, $t1, $t2 :: rd 0x7c56b6b, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dsrav $s0, $s1, $s2 :: rd 0xfffffc55a8131d1f, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+dsrav $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0xffffffffff93e260, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffc3c34, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+dsrav $t0, $t1, $t2 :: rd 0x6f, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dsrav $s0, $s1, $s2 :: rd 0xfffe94b716909cf7, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+dsrav $t0, $t1, $t2 :: rd 0x3108f35a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dsrav $s0, $s1, $s2 :: rd 0x2d41223fb6e152e0, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dsrav $s0, $s1, $s2 :: rd 0x1db227a, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+dsrav $t0, $t1, $t2 :: rd 0xbd3e8, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dsrav $s0, $s1, $s2 :: rd 0xe1b868a97fc6, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffef77, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dsrav $s0, $s1, $s2 :: rd 0xffffffffb17db93d, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+dsrav $t0, $t1, $t2 :: rd 0x14f7, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+dsrav $t0, $t1, $t2 :: rd 0x9b, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dsrav $s0, $s1, $s2 :: rd 0x1fb, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dsrav $s0, $s1, $s2 :: rd 0xffffffffff6f2cc4, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dsrav $s0, $s1, $s2 :: rd 0x7cd4, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+dsrav $t0, $t1, $t2 :: rd 0x10360, rs 0x40d816ba, rt 0xfffffffff12f560e
+dsrav $s0, $s1, $s2 :: rd 0xffffffffc5843770, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffaca5c697, rt 0x1d528623
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffca8ea1a, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffa86, rs 0xffffffffa864db20, rt 0x19939b94
+dsrav $s0, $s1, $s2 :: rd 0x7ad2c4bfd34db, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffd293f, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dsrav $s0, $s1, $s2 :: rd 0x1c28f81090, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffff808f1, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dsrav $s0, $s1, $s2 :: rd 0x79d0734a3, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffbb60ad, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dsrav $s0, $s1, $s2 :: rd 0xfffffffe2fbfa895, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffdb11, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff49, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffb2e29692, rt 0x315d626
+dsrav $s0, $s1, $s2 :: rd 0x3ae, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffff1, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dsrav $s0, $s1, $s2 :: rd 0xff84785280dd301d, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+dsrav $s0, $s1, $s2 :: rd 0x5e71dea87, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+dsrav $s0, $s1, $s2 :: rd 0x13, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+dsrav $t0, $t1, $t2 :: rd 0xffffffffe1fb837d, rs 0xffffffff87ee0df6, rt 0x36194d42
+dsrav $s0, $s1, $s2 :: rd 0x38bae4eeac6, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+dsrav $t0, $t1, $t2 :: rd 0xffffffffff3352bb, rs 0xffffffff99a95df3, rt 0x285e1d47
+dsrav $s0, $s1, $s2 :: rd 0x663d06105583, rs 0x663d061055833287, rt 0xb620660a49732b90
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dsrav $s0, $s1, $s2 :: rd 0xfffffffab7dd0488, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff902b669d, rt 0x21dc2629
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffd, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffe, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dsrav $s0, $s1, $s2 :: rd 0xda, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffc16, rs 0xffffffffe0b41de7, rt 0x51435d53
+dsrav $s0, $s1, $s2 :: rd 0x9ca4bdbd, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe4750050, rt 0x558240e4
+dsrav $s0, $s1, $s2 :: rd 0xfffffffabafa3b32, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe9362689, rt 0x58c1663d
+dsrav $s0, $s1, $s2 :: rd 0x1fa32a9f6569ba6, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffb7dce, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dsrav $s0, $s1, $s2 :: rd 0xba6ae5f4fbb7c, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffe760, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dsrav $s0, $s1, $s2 :: rd 0x6d4deff478193, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff771768c, rt 0x46863638
+dsrav $s0, $s1, $s2 :: rd 0xff177271c62abd93, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffffa325055, rt 0x4bc510e1
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffe96f92e, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffb, rs 0xfffffffffef34de2, rt 0x4f040d56
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffbc65b, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff51, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffc, rs 0xffffffffc27dede8, rt 0x738aad5c
+dsrav $s0, $s1, $s2 :: rd 0xffc295ade57c6fe6, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffe79f659, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dsrav $s0, $s1, $s2 :: rd 0x8f12136b, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffcbffd686, rt 0x7a089632
+dsrav $s0, $s1, $s2 :: rd 0xffefecc7321e15cd, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd5b88683, rt 0x644fc637
+dsrav $s0, $s1, $s2 :: rd 0xffdb32f6af3fc4f4, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+dsrav $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+dsrav $s0, $s1, $s2 :: rd 0xaed4a3a5b, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffee, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffff, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dsrav $s0, $s1, $s2 :: rd 0x447af9fc572c3, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+dsrav $t0, $t1, $t2 :: rd 0x1a, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dsrav $s0, $s1, $s2 :: rd 0x841669ea66, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dsrav $s0, $s1, $s2 :: rd 0xfff897c8c8ddd46b, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x608edb80, rt 0xffffffffd1799b34
+dsrav $s0, $s1, $s2 :: rd 0x7a38744, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+dsrav $t0, $t1, $t2 :: rd 0xc89f8c6, rs 0x644fc637, rt 0xffffffffd5b88683
+dsrav $s0, $s1, $s2 :: rd 0x144bca6c, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+dsrav $t0, $t1, $t2 :: rd 0x1e82258, rs 0x7a089632, rt 0xffffffffcbffd686
+dsrav $s0, $s1, $s2 :: rd 0xffffd5bdab8a7b5a, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffc53114, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x738aad5c, rt 0xffffffffc27dede8
+dsrav $s0, $s1, $s2 :: rd 0x2c3c3f, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dsrav $s0, $s1, $s2 :: rd 0x1ffd879e37, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x4f040d56, rt 0xfffffffffef34de2
+dsrav $s0, $s1, $s2 :: rd 0x114cd87, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+dsrav $t0, $t1, $t2 :: rd 0x25e, rs 0x4bc510e1, rt 0xfffffffffa325055
+dsrav $s0, $s1, $s2 :: rd 0x1f0ec119cf431b8, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+dsrav $t0, $t1, $t2 :: rd 0x46863, rs 0x46863638, rt 0xfffffffff771768c
+dsrav $s0, $s1, $s2 :: rd 0x164e17c1e, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff49, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffcbd346, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+dsrav $t0, $t1, $t2 :: rd 0x2c60b3, rs 0x58c1663d, rt 0xffffffffe9362689
+dsrav $s0, $s1, $s2 :: rd 0xfffffffff17d02c8, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+dsrav $t0, $t1, $t2 :: rd 0x5582, rs 0x558240e4, rt 0xffffffffe4750050
+dsrav $s0, $s1, $s2 :: rd 0xf9464b2f, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x51435d53, rt 0xffffffffe0b41de7
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffe, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dsrav $s0, $s1, $s2 :: rd 0x12ba, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+dsrav $t0, $t1, $t2 :: rd 0x1, rs 0x21dc2629, rt 0xffffffff902b669d
+dsrav $s0, $s1, $s2 :: rd 0xfffffff8a65c31c3, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+dsrav $t0, $t1, $t2 :: rd 0x2c9f00f, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dsrav $s0, $s1, $s2 :: rd 0xfff67fbd8529e50f, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x285e1d47, rt 0xffffffff99a95df3
+dsrav $s0, $s1, $s2 :: rd 0xff6c40cc1492e657, rs 0xb620660a49732b90, rt 0x663d061055833287
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x36194d42, rt 0xffffffff87ee0df6
+dsrav $s0, $s1, $s2 :: rd 0xff993138f16cfde9, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+dsrav $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffef016, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+dsrav $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0x2747, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dsrav $s0, $s1, $s2 :: rd 0x3a1a48d341438, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+dsrav $t0, $t1, $t2 :: rd 0xc5, rs 0x315d626, rt 0xffffffffb2e29692
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffc67f, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff73, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dsrav $s0, $s1, $s2 :: rd 0x2eaa5aa705, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+dsrav $t0, $t1, $t2 :: rd 0x1cade, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffa64ea71, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+dsrav $t0, $t1, $t2 :: rd 0x4046, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dsrav $s0, $s1, $s2 :: rd 0x10ba7e152, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dsrav $s0, $s1, $s2 :: rd 0x1e3939433b3, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x19939b94, rt 0xffffffffa864db20
+dsrav $s0, $s1, $s2 :: rd 0xfffffffed6df47f9, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+dsrav $t0, $t1, $t2 :: rd 0x3a, rs 0x1d528623, rt 0xffffffffaca5c697
+dsrav $s0, $s1, $s2 :: rd 0x39c8b24, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff12f560e, rt 0x40d816ba
+dsrav $s0, $s1, $s2 :: rd 0x276af70a, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffaf72, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dsrav $s0, $s1, $s2 :: rd 0xc116fdad79d2d, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffff8a, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dsrav $s0, $s1, $s2 :: rd 0x808, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dsrav $s0, $s1, $s2 :: rd 0xfffffff078aae872, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dsrav $s0, $s1, $s2 :: rd 0x3, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffff375, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dsrav $s0, $s1, $s2 :: rd 0x1, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffeba91b, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dsrav $s0, $s1, $s2 :: rd 0xc14a43d33, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dsrav $s0, $s1, $s2 :: rd 0xb411e756b8d0, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+dsrav $t0, $t1, $t2 :: rd 0xfffffffff5c9eeed, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffc7a59b, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dsrav $s0, $s1, $s2 :: rd 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dsrav $s0, $s1, $s2 :: rd 0xae184, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffb, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dsrav $s0, $s1, $s2 :: rd 0x4a3159, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dsrav $s0, $s1, $s2 :: rd 0xe87, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+dsrav $s0, $s1, $s2 :: rd 0x126f646f34c3, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dsrav $s0, $s1, $s2 :: rd 0xffffff556032c2ad, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+dsrav $s0, $s1, $s2 :: rd 0x7535cd338595d34, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffef4fa3, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffefd92a6, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dsrav $s0, $s1, $s2 :: rd 0xffff50ce4d920103, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dsrav $s0, $s1, $s2 :: rd 0xffffffffff9bfeff, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffff60f, rs 0xffffffffb07daba7, rt 0x18aeb13
+dsrav $s0, $s1, $s2 :: rd 0xc7699826b7dee244, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffeb8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dsrav $s0, $s1, $s2 :: rd 0x780f5f2ff74, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dsrav $s0, $s1, $s2 :: rd 0x1484d937013162, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dsrav $s0, $s1, $s2 :: rd 0xffffffffc1ef76b1, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffff46f3, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dsrav $s0, $s1, $s2 :: rd 0xffffe336c60cdeeb, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffab64, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffcffbbeb, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffff, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffff9, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffff986a2, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff9675461f, rt 0x278206ab
+dsrav $s0, $s1, $s2 :: rd 0xfffffff52e9d5887, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff8832161a, rt 0x39c556ae
+dsrav $s0, $s1, $s2 :: rd 0xfffffffe8e230589, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffc6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffd182, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+dsrav $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+dsrav $s0, $s1, $s2 :: rd 0xffffffffadaa5a76, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff857130c3, rt 0x34867077
+dsrav $s0, $s1, $s2 :: rd 0x3d5a6, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dsrav $s0, $s1, $s2 :: rd 0xffffffffed0ab5b9, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+dsrav $t0, $t1, $t2 :: rd 0x16, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dsrav $s0, $s1, $s2 :: rd 0x4bf8485ab72892, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+dsrav $t0, $t1, $t2 :: rd 0xa81157e, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dsrav $s0, $s1, $s2 :: rd 0x3b51e, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dsrav $s0, $s1, $s2 :: rd 0xc, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dsrav $s0, $s1, $s2 :: rd 0xa6c0d7697, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+dsrav $t0, $t1, $t2 :: rd 0x1293fef, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dsrav $s0, $s1, $s2 :: rd 0x197e09640dbc8cf, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dsrav $s0, $s1, $s2 :: rd 0x7df107098e5df9, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dsrav $s0, $s1, $s2 :: rd 0x71638f76d454, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+dsrav $t0, $t1, $t2 :: rd 0x3dc, rs 0x7b827d21, rt 0xffffffffca753d95
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x7f436096, rt 0xffffffffceb42022
+dsrav $s0, $s1, $s2 :: rd 0xbd559bb3fb228f, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x7200464f, rt 0xffffffffc3f706fb
+dsrav $s0, $s1, $s2 :: rd 0xfffffffeee11c3e6, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+dsrav $t0, $t1, $t2 :: rd 0x76c15, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dsrav $s0, $s1, $s2 :: rd 0xba85, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+dsrav $t0, $t1, $t2 :: rd 0x344305, rs 0x68860bfd, rt 0xffffffffd9714b49
+dsrav $s0, $s1, $s2 :: rd 0x14abf36, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x6c47164a, rt 0xffffffffddb056fe
+dsrav $s0, $s1, $s2 :: rd 0x124eaacd546b9556, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x61043093, rt 0xffffffffd0f37027
+dsrav $s0, $s1, $s2 :: rd 0x66b, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+dsrav $t0, $t1, $t2 :: rd 0x65c5, rs 0x65c52d24, rt 0xffffffffd4326d90
+dsrav $s0, $s1, $s2 :: rd 0x7f, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dsrav $s0, $s1, $s2 :: rd 0x1f8d739b55b99, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dsrav $s0, $s1, $s2 :: rd 0x2a505, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x18197087, rt 0xffffffffa9ee3033
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff3c, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+dsrav $t0, $t1, $t2 :: rd 0x1cd86d3, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dsrav $s0, $s1, $s2 :: rd 0xffffffe36570124a, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+dsrav $t0, $t1, $t2 :: rd 0x14f9e9a, rs 0x29f3d35, rt 0xffffffffb3687d81
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffe5cf492, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x65e2082, rt 0xffffffffb7a96036
+dsrav $s0, $s1, $s2 :: rd 0xeeb699, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dsrav $s0, $s1, $s2 :: rd 0x1457094c6a22204, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+dsrav $t0, $t1, $t2 :: rd 0xf, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dsrav $s0, $s1, $s2 :: rd 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x3793a651, rt 0xffffffff8664e6e5
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffa3d9, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+dsrav $t0, $t1, $t2 :: rd 0xcd4, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dsrav $s0, $s1, $s2 :: rd 0xea3, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+dsrav $t0, $t1, $t2 :: rd 0x7c233, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffff949ca, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dsrav $s0, $s1, $s2 :: rd 0x7f567f35a69, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x2497d08d, rt 0xffffffff95609039
+dsrav $s0, $s1, $s2 :: rd 0x30, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+dsrav $t0, $t1, $t2 :: rd 0x815b, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dsrav $s0, $s1, $s2 :: rd 0x4ab4, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+dsrav $t0, $t1, $t2 :: rd 0x5a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dsrav $s0, $s1, $s2 :: rd 0x1048d589a43, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dsrav $s0, $s1, $s2 :: rd 0xd4daae, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffe2d49, rs 0xffffffffc5a92679, rt 0x745e66cd
+dsrav $s0, $s1, $s2 :: rd 0xffffab1d9757bc6a, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dsrav $s0, $s1, $s2 :: rd 0x15d5523f42302, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dsrav $s0, $s1, $s2 :: rd 0xf8bb640fb8ed98dd, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffc8e, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffef8, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffeb56, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dsrav $s0, $s1, $s2 :: rd 0xbdf88928705, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffd4bc7, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffe, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffdbee76, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffed13baa, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffff, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+dsrav $t0, $t1, $t2 :: rd 0xfffffffff9d8359d, rs 0xffffffffe760d676, rt 0x569796c2
+dsrav $s0, $s1, $s2 :: rd 0x9dac727bf0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffd, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffe, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dsrav $s0, $s1, $s2 :: rd 0xfc0f7db63d7e8622, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dsrav $s0, $s1, $s2 :: rd 0xfffffffddb1e6a30, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffd6d7, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffff24f0c, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dsrav $s0, $s1, $s2 :: rd 0xd0186, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dsrav $s0, $s1, $s2 :: rd 0x2e91b44c96, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dsrav $s0, $s1, $s2 :: rd 0x69fbf93526057d, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffe35e78, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffff, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffff007, rs 0xffffffff803ac667, rt 0x31cd86d3
+dsrav $s0, $s1, $s2 :: rd 0xffffd212894983a6, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dsrav $s0, $s1, $s2 :: rd 0x65fd698fddef9839, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dsrav $s0, $s1, $s2 :: rd 0xfffff893dc75b036, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffe79, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dsrav $s0, $s1, $s2 :: rd 0x3d54a0f45, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffff267d, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dsrav $s0, $s1, $s2 :: rd 0x1b96104f2179d, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dsrav $s0, $s1, $s2 :: rd 0x30f870b7, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffd7d8085, rs 0xffffffffafb010b1, rt 0x1e475005
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff3c, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffab710d06, rt 0x1a864db2
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffe, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffd743d, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffa, rs 0xffffffffa2f33668, rt 0x130476dc
+dsrav $s0, $s1, $s2 :: rd 0x163b191359206bc5, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffde, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dsrav $s0, $s1, $s2 :: rd 0xd, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffb8757bda, rt 0x9823b6e
+dsrav $s0, $s1, $s2 :: rd 0x775, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+dsrav $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0xc29b3688be2, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+dsrav $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffe8a9bb, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x257, rs 0x12bd6aa, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x257ad5, rs 0x12bd6aa, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xfd0ec7, rs 0x7e876382d2ab13, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfd0ec705a5, rs 0x7e876382d2ab13, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfd0ec705a5562, rs 0x7e876382d2ab13, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1304, rs 0x9823b6e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x130476d, rs 0x9823b6e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x12edadd35, rs 0x976d6e9ac31510f3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x12edadd35862a, rs 0x976d6e9ac31510f3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x12edadd35862a21e, rs 0x976d6e9ac31510f3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a86, rs 0xd4326d9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a864db, rs 0xd4326d9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x16ee8daee, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x16ee8daeeb5ad, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x16ee8daeeb5ad4bf, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2608, rs 0x130476dc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2608edb, rs 0x130476dc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x85618145, rs 0x42b0c0a28677b502, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x856181450cef, rs 0x42b0c0a28677b502, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x856181450cef6a0, rs 0x42b0c0a28677b502, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2f8a, rs 0x17c56b6b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2f8ad6d, rs 0x17c56b6b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x55513a63, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x55513a633c78, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x55513a633c78615, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x350c, rs 0x1a864db2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x350c9b6, rs 0x1a864db2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x3e611d86, rs 0x1f308ec377fb413d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3e611d86eff6, rs 0x1f308ec377fb413d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3e611d86eff6827, rs 0x1f308ec377fb413d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3c8e, rs 0x1e475005, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3c8ea00, rs 0x1e475005, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf5408427, rs 0x7aa04213c760e4f7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf54084278ec1, rs 0x7aa04213c760e4f7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf54084278ec1c9e, rs 0x7aa04213c760e4f7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608edb8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4c11db7, rs 0x2608edb8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x13ce0b98a, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x13ce0b98a35b1, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x13ce0b98a35b1b94, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4593, rs 0x22c9f00f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4593e01, rs 0x22c9f00f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x967bb50d, rs 0x4b3dda869615a60d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x967bb50d2c2b, rs 0x4b3dda869615a60d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x967bb50d2c2b4c1, rs 0x4b3dda869615a60d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5f15, rs 0x2f8ad6d6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5f15ada, rs 0x2f8ad6d6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xbcf49ba, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xbcf49bac6a7, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xbcf49bac6a7a83, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5697, rs 0x2b4bcb61, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x569796c, rs 0x2b4bcb61, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x75e6b53b, rs 0x3af35a9dc40bd413, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x75e6b53b8817, rs 0x3af35a9dc40bd413, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x75e6b53b8817a82, rs 0x3af35a9dc40bd413, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6a19, rs 0x350c9b64, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6a1936c, rs 0x350c9b64, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x8fea0aad, rs 0x47f505569a08a180, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8fea0aad3411, rs 0x47f505569a08a180, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8fea0aad3411430, rs 0x47f505569a08a180, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x639b, rs 0x31cd86d3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x639b0da, rs 0x31cd86d3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x12ac96eff, rs 0x9564b77fd6d2040f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x12ac96effada4, rs 0x9564b77fd6d2040f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x12ac96effada4081, rs 0x9564b77fd6d2040f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x791d, rs 0x3c8ea00a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x791d401, rs 0x3c8ea00a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x19d7904f3, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x19d7904f3658e, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x19d7904f3658ed77, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x709f, rs 0x384fbdbd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x709f7b7, rs 0x384fbdbd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x16a06985e, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x16a06985e3e31, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x16a06985e3e31c98, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x9823, rs 0x4c11db70, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x9823b6e, rs 0x4c11db70, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x129fea5f9, rs 0x94ff52fc81afa797, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x129fea5f9035f, rs 0x94ff52fc81afa797, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x129fea5f9035f4f2, rs 0x94ff52fc81afa797, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x91a1, rs 0x48d0c6c7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x91a18d8, rs 0x48d0c6c7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x63b1b22c, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x63b1b22cdbf8, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x63b1b22cdbf8a1d, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8b27, rs 0x4593e01e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8b27c03, rs 0x4593e01e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6ca937ac, rs 0x36549bd678e895b1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6ca937acf1d1, rs 0x36549bd678e895b1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6ca937acf1d12b6, rs 0x36549bd678e895b1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x82a5, rs 0x4152fda9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x82a5fb5, rs 0x4152fda9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10bc14c63, rs 0x85e0a6319b63259b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10bc14c6336c6, rs 0x85e0a6319b63259b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10bc14c6336c64b3, rs 0x85e0a6319b63259b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xbe2b, rs 0x5f15adac, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xbe2b5b5, rs 0x5f15adac, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xaad67d95, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xaad67d9599e2, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xaad67d9599e2f58, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb7a9, rs 0x5bd4b01b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb7a9603, rs 0x5bd4b01b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1685ebf8b, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1685ebf8b03dd, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1685ebf8b03dd41f, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xad2f, rs 0x569796c2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xad2f2d8, rs 0x569796c2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4b6a1fd8, rs 0x25b50fec14682d97, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4b6a1fd828d0, rs 0x25b50fec14682d97, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4b6a1fd828d05b2, rs 0x25b50fec14682d97, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa4ad, rs 0x52568b75, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa4ad16e, rs 0x52568b75, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f9278a26, rs 0xfc93c5132cfb087a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f9278a2659f6, rs 0xfc93c5132cfb087a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f9278a2659f610f, rs 0xfc93c5132cfb087a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd432, rs 0x6a1936c8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd4326d9, rs 0x6a1936c8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7859b353, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7859b3539b44, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7859b3539b440ec, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xddb0, rs 0x6ed82b7f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xddb056f, rs 0x6ed82b7f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2f22e454, rs 0x1791722a7d72da3e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2f22e454fae5, rs 0x1791722a7d72da3e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2f22e454fae5b47, rs 0x1791722a7d72da3e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc736, rs 0x639b0da6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc7361b4, rs 0x639b0da6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10f993a3, rs 0x87cc9d193ce24ad, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10f993a3279c, rs 0x87cc9d193ce24ad, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10f993a3279c495, rs 0x87cc9d193ce24ad, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xceb4, rs 0x675a1011, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xceb4202, rs 0x675a1011, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x3a54eae0, rs 0x1d2a757038984ed2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3a54eae07130, rs 0x1d2a757038984ed2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3a54eae071309da, rs 0x1d2a757038984ed2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf23a, rs 0x791d4014, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf23a802, rs 0x791d4014, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a1a0e1b6, rs 0xd0d070db710cd036, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a1a0e1b6e219, rs 0xd0d070db710cd036, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a1a0e1b6e219a06, rs 0xd0d070db710cd036, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfbb8, rs 0x7ddc5da3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfbb8bb4, rs 0x7ddc5da3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x738438fa, rs 0x39c21c7d03415604, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x738438fa0682, rs 0x39c21c7d03415604, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x738438fa0682ac0, rs 0x39c21c7d03415604, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe13e, rs 0x709f7b7a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe13ef6f, rs 0x709f7b7a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x11d296f5f, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x11d296f5f1d98, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x11d296f5f1d98639, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe8bc, rs 0x745e66cd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe8bccd9, rs 0x745e66cd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x49d6d51a, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x49d6d51a39ce, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x49d6d51a39cece9, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9823b6e0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3047, rs 0xffffffff9823b6e0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff30476dc, rs 0xffffffff9823b6e0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x5e728a88, rs 0x2f39454412d6e4a7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5e728a8825ad, rs 0x2f39454412d6e4a7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5e728a8825adc94, rs 0x2f39454412d6e4a7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9ce2ab57, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff39c5, rs 0xffffffff9ce2ab57, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff39c556a, rs 0xffffffff9ce2ab57, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4c11856e, rs 0x2608c2b756da4c54, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4c11856eadb4, rs 0x2608c2b756da4c54, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4c11856eadb498a, rs 0x2608c2b756da4c54, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff91a18d8e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2343, rs 0xffffffff91a18d8e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff23431b1, rs 0xffffffff91a18d8e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1200205b5, rs 0x900102dac8d7252f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1200205b591ae, rs 0x900102dac8d7252f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1200205b591ae4a5, rs 0x900102dac8d7252f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff95609039, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2ac1, rs 0xffffffff95609039, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff2ac1207, rs 0xffffffff95609039, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x19121abe3, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x19121abe3e5df, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x19121abe3e5df49e, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8b27c03c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff164f, rs 0xffffffff8b27c03c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff164f807, rs 0xffffffff8b27c03c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1daa00b97, rs 0xed5005cbc8b0a214, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1daa00b979161, rs 0xed5005cbc8b0a214, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1daa00b979161442, rs 0xed5005cbc8b0a214, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff1fcd, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff1fcdbb1, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x628f2312, rs 0x314791895991136c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x628f2312b322, rs 0x314791895991136c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x628f2312b32226d, rs 0x314791895991136c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff82a5fb52, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff054b, rs 0xffffffff82a5fb52, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff054bf6a, rs 0xffffffff82a5fb52, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x18ddd9ff3, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x18ddd9ff3345f, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x18ddd9ff3345f6de, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8664e6e5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff0cc9, rs 0xffffffff8664e6e5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff0cc9cdc, rs 0xffffffff8664e6e5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15012a424, rs 0xa809521238895270, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15012a4247112, rs 0xa809521238895270, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15012a4247112a4e, rs 0xa809521238895270, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbe2b5b58, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff7c56, rs 0xffffffffbe2b5b58, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff7c56b6b, rs 0xffffffffbe2b5b58, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10eea1409, rs 0x87750a04ad765040, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10eea14095aec, rs 0x87750a04ad765040, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10eea14095aeca08, rs 0x87750a04ad765040, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbaea46ef, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff75d4, rs 0xffffffffbaea46ef, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff75d48dd, rs 0xffffffffbaea46ef, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x587bd0bd, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x587bd0bd0976, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x587bd0bd0976b50, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb7a96036, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff6f52, rs 0xffffffffb7a96036, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff6f52c06, rs 0xffffffffb7a96036, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15cd5ff1f, rs 0xae6aff8fc506aa67, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15cd5ff1f8a0d, rs 0xae6aff8fc506aa67, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15cd5ff1f8a0d54c, rs 0xae6aff8fc506aa67, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb3687d81, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff66d0, rs 0xffffffffb3687d81, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff66d0fb0, rs 0xffffffffb3687d81, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x180e225ba, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x180e225bac1da, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x180e225bac1dabdc, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffad2f2d84, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff5a5e, rs 0xffffffffad2f2d84, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff5a5e5b0, rs 0xffffffffad2f2d84, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1898ee1ec, rs 0xc4c770f630dcca5a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1898ee1ec61b9, rs 0xc4c770f630dcca5a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1898ee1ec61b994b, rs 0xc4c770f630dcca5a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa9ee3033, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff53dc, rs 0xffffffffa9ee3033, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff53dc606, rs 0xffffffffa9ee3033, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1bfd85647, rs 0xdfec2b2383cd5277, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1bfd85647079a, rs 0xdfec2b2383cd5277, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1bfd85647079aa4e, rs 0xdfec2b2383cd5277, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa4ad16ea, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff495a, rs 0xffffffffa4ad16ea, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff495a2dd, rs 0xffffffffa4ad16ea, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a75b744c, rs 0xd3adba260ff7d96b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a75b744c1fef, rs 0xd3adba260ff7d96b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a75b744c1fefb2d, rs 0xd3adba260ff7d96b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa06c0b5d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff40d8, rs 0xffffffffa06c0b5d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff40d816b, rs 0xffffffffa06c0b5d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x956954f3, rs 0x4ab4aa798418c00e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x956954f30831, rs 0x4ab4aa798418c00e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x956954f30831801, rs 0x4ab4aa798418c00e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd4326d90, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffa864, rs 0xffffffffd4326d90, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffa864db2, rs 0xffffffffd4326d90, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1771806bc, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1771806bc1bc1, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1771806bc1bc1e17, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd0f37027, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffa1e6, rs 0xffffffffd0f37027, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffa1e6e04, rs 0xffffffffd0f37027, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6760dea9, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6760dea952ff, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6760dea952ffb9e, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffddb056fe, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffbb60, rs 0xffffffffddb056fe, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffbb60adf, rs 0xffffffffddb056fe, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xee867e6e, rs 0x77433f373fd1c081, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xee867e6e7fa3, rs 0x77433f373fd1c081, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xee867e6e7fa3810, rs 0x77433f373fd1c081, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd9714b49, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffb2e2, rs 0xffffffffd9714b49, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffb2e2969, rs 0xffffffffd9714b49, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1d923b327, rs 0xec91d993c92195e4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1d923b3279243, rs 0xec91d993c92195e4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1d923b32792432bc, rs 0xec91d993c92195e4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc7361b4c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff8e6c, rs 0xffffffffc7361b4c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff8e6c369, rs 0xffffffffc7361b4c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x93f7ed4f, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x93f7ed4f2b63, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x93f7ed4f2b634b5, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc3f706fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff87ee, rs 0xffffffffc3f706fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff87ee0df, rs 0xffffffffc3f706fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x326c86f1, rs 0x19364378c7ce8d1e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x326c86f18f9d, rs 0x19364378c7ce8d1e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x326c86f18f9d1a3, rs 0x19364378c7ce8d1e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffceb42022, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff9d68, rs 0xffffffffceb42022, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff9d68404, rs 0xffffffffceb42022, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1733d1bde, rs 0xb99e8def2f384907, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1733d1bde5e70, rs 0xb99e8def2f384907, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1733d1bde5e70920, rs 0xb99e8def2f384907, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffca753d95, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff94ea, rs 0xffffffffca753d95, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff94ea7b2, rs 0xffffffffca753d95, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x8fd59b9a, rs 0x47eacdcd582b12fe, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8fd59b9ab056, rs 0x47eacdcd582b12fe, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8fd59b9ab05625f, rs 0x47eacdcd582b12fe, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff23a8028, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffe475, rs 0xfffffffff23a8028, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffe475005, rs 0xfffffffff23a8028, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ad0b109c, rs 0xd685884e76558c4f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ad0b109cecab, rs 0xd685884e76558c4f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ad0b109cecab189, rs 0xd685884e76558c4f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffedf7, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffedf73b3, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xc2d1ac54, rs 0x6168d62a34c195c7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc2d1ac546983, rs 0x6168d62a34c195c7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc2d1ac5469832b8, rs 0x6168d62a34c195c7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffffbb8bb46, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffff771, rs 0xfffffffffbb8bb46, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffff771768, rs 0xfffffffffbb8bb46, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a602d312, rs 0xd30169894df47405, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a602d3129be8, rs 0xd30169894df47405, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a602d3129be8e80, rs 0xd30169894df47405, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffff79a6f1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffffef3, rs 0xffffffffff79a6f1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffffef34de, rs 0xffffffffff79a6f1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x3943217e, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3943217ed976, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3943217ed9760db, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe13ef6f4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffc27d, rs 0xffffffffe13ef6f4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffc27dede, rs 0xffffffffe13ef6f4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xb0601e05, rs 0x58300f029cae393a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb0601e05395c, rs 0x58300f029cae393a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb0601e05395c727, rs 0x58300f029cae393a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe5ffeb43, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffcbff, rs 0xffffffffe5ffeb43, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffcbffd68, rs 0xffffffffe5ffeb43, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x13532bfb7, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x13532bfb7b8fd, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x13532bfb7b8fd785, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe8bccd9a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffd179, rs 0xffffffffe8bccd9a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffd1799b3, rs 0xffffffffe8bccd9a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1152c08f7, rs 0x8a96047be3405b48, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1152c08f7c680, rs 0x8a96047be3405b48, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1152c08f7c680b69, rs 0x8a96047be3405b48, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffec7dd02d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffd8fb, rs 0xffffffffec7dd02d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffd8fba05, rs 0xffffffffec7dd02d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xeb7f5fa5, rs 0x75bfafd2d519d322, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xeb7f5fa5aa33, rs 0x75bfafd2d519d322, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xeb7f5fa5aa33a64, rs 0x75bfafd2d519d322, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x690c, rs 0x34867077, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x690ce0e, rs 0x34867077, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1bc4610cf, rs 0xde230867a630f6ad, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1bc4610cf4c61, rs 0xde230867a630f6ad, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1bc4610cf4c61ed5, rs 0xde230867a630f6ad, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x608e, rs 0x30476dc0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x608edb8, rs 0x30476dc0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x581419e4, rs 0x2c0a0cf256103260, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x581419e4ac20, rs 0x2c0a0cf256103260, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x581419e4ac2064c, rs 0x2c0a0cf256103260, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7a08, rs 0x3d044b19, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7a08963, rs 0x3d044b19, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x129520a88, rs 0x94a90544249b18ef, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x129520a884936, rs 0x94a90544249b18ef, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x129520a88493631d, rs 0x94a90544249b18ef, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x738a, rs 0x39c556ae, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x738aad5, rs 0x39c556ae, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f2a33f6a, rs 0xf9519fb55b56fcde, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f2a33f6ab6ad, rs 0xf9519fb55b56fcde, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f2a33f6ab6adf9b, rs 0xf9519fb55b56fcde, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4f04, rs 0x278206ab, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4f040d5, rs 0x278206ab, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x103b5f040, rs 0x81daf8200468319b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x103b5f04008d0, rs 0x81daf8200468319b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x103b5f04008d0633, rs 0x81daf8200468319b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4686, rs 0x23431b1c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4686363, rs 0x23431b1c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x118c394b4, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x118c394b4ae4b, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x118c394b4ae4be5d, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5c00, rs 0x2e003dc5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5c007b8, rs 0x2e003dc5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1172b4dbb, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1172b4dbb84bb, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1172b4dbb84bb917, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5582, rs 0x2ac12072, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x558240e, rs 0x2ac12072, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6019cea3, rs 0x300ce751dac6162f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6019cea3b58c, rs 0x300ce751dac6162f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6019cea3b58c2c5, rs 0x300ce751dac6162f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x251d, rs 0x128e9dcf, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x251d3b9, rs 0x128e9dcf, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xcef1fbe7, rs 0x6778fdf3ba52a850, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcef1fbe774a5, rs 0x6778fdf3ba52a850, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcef1fbe774a550a, rs 0x6778fdf3ba52a850, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2c9f, rs 0x164f8078, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2c9f00f, rs 0x164f8078, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15a0163ef, rs 0xad00b1f7da78479f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15a0163efb4f0, rs 0xad00b1f7da78479f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15a0163efb4f08f3, rs 0xad00b1f7da78479f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3619, rs 0x1b0ca6a1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x36194d4, rs 0x1b0ca6a1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x11a882d1, rs 0x8d44168a6b6d98a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x11a882d14d6d, rs 0x8d44168a6b6d98a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x11a882d14d6db31, rs 0x8d44168a6b6d98a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3f9b, rs 0x1fcdbb16, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3f9b762, rs 0x1fcdbb16, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ea30703b, rs 0xf518381dce634413, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ea30703b9cc6, rs 0xf518381dce634413, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ea30703b9cc6882, rs 0xf518381dce634413, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x315, rs 0x18aeb13, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x315d62, rs 0x18aeb13, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1c8c4fe7f, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1c8c4fe7fca4a, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1c8c4fe7fca4abf8, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa97, rs 0x54bf6a4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa97ed4, rs 0x54bf6a4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x199a725c2, rs 0xccd392e176321f28, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x199a725c2ec64, rs 0xccd392e176321f28, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x199a725c2ec643e5, rs 0xccd392e176321f28, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1011, rs 0x808d07d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1011a0f, rs 0x808d07d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10528c928, rs 0x829464944018fd8f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10528c9288031, rs 0x829464944018fd8f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10528c9288031fb1, rs 0x829464944018fd8f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1993, rs 0xcc9cdca, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x19939b9, rs 0xcc9cdca, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2ba64080, rs 0x15d3204052e8f0e5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2ba64080a5d1, rs 0x15d3204052e8f0e5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2ba64080a5d1e1c, rs 0x15d3204052e8f0e5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf12f, rs 0x7897ab07, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf12f560, rs 0x7897ab07, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf95f07a5, rs 0x7caf83d2880ff344, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf95f07a5101f, rs 0x7caf83d2880ff344, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf95f07a5101fe68, rs 0x7caf83d2880ff344, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf8ad, rs 0x7c56b6b0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf8ad6d6, rs 0x7c56b6b0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1e2ad4098, rs 0xf156a04c747defd7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1e2ad4098e8fb, rs 0xf156a04c747defd7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1e2ad4098e8fbdfa, rs 0xf156a04c747defd7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe22b, rs 0x71159069, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe22b20d, rs 0x71159069, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x127c4c038, rs 0x93e2601c0f31d710, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x127c4c0381e63, rs 0x93e2601c0f31d710, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x127c4c0381e63ae2, rs 0x93e2601c0f31d710, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xeba9, rs 0x75d48dde, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xeba91bb, rs 0x75d48dde, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1c3c34cf2, rs 0xe1e1a679131cd933, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1c3c34cf22639, rs 0xe1e1a679131cd933, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1c3c34cf22639b26, rs 0xe1e1a679131cd933, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd727, rs 0x6b93dddb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd727bbb, rs 0x6b93dddb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4852d6eb, rs 0x24296b75a76fa427, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4852d6eb4edf, rs 0x24296b75a76fa427, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4852d6eb4edf484, rs 0x24296b75a76fa427, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xdea5, rs 0x6f52c06c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xdea580d, rs 0x6f52c06c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a52dc5a4, rs 0xd296e2d2139ee56a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a52dc5a4273d, rs 0xd296e2d2139ee56a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a52dc5a4273dcad, rs 0xd296e2d2139ee56a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc423, rs 0x6211e6b5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc423cd6, rs 0x6211e6b5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xb50488fe, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb50488fedb85, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb50488fedb854b8, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcda1, rs 0x66d0fb02, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcda1f60, rs 0x66d0fb02, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xed913d01, rs 0x76c89e80c07dc168, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xed913d0180fb, rs 0x76c89e80c07dc168, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xed913d0180fb82d, rs 0x76c89e80c07dc168, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xbd3e, rs 0x5e9f46bf, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xbd3e8d7, rs 0x5e9f46bf, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe1b868a, rs 0x70dc3454bfe348f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe1b868a97fc, rs 0x70dc3454bfe348f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe1b868a97fc691, rs 0x70dc3454bfe348f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb4bc, rs 0x5a5e5b08, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb4bcb61, rs 0x5a5e5b08, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x17bb8e247, rs 0xbddc7123dd6d241b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x17bb8e247bada, rs 0xbddc7123dd6d241b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x17bb8e247bada483, rs 0xbddc7123dd6d241b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xae3a, rs 0x571d7dd1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xae3afba, rs 0x571d7dd1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ec5f6e4f, rs 0xf62fb727a59fcebe, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ec5f6e4f4b3f, rs 0xf62fb727a59fcebe, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ec5f6e4f4b3f9d7, rs 0xf62fb727a59fcebe, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa7b8, rs 0x53dc6066, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa7b8c0c, rs 0x53dc6066, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x213e4fd2, rs 0x109f27e90f9f46fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x213e4fd21f3e, rs 0x109f27e90f9f46fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x213e4fd21f3e8df, rs 0x109f27e90f9f46fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x9b36, rs 0x4d9b3063, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x9b3660c, rs 0x4d9b3063, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7ec7b553, rs 0x3f63daa9afd199d7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7ec7b5535fa3, rs 0x3f63daa9afd199d7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7ec7b5535fa333a, rs 0x3f63daa9afd199d7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x92b4, rs 0x495a2dd4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x92b45ba, rs 0x495a2dd4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1b796625d, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1b796625d47a9, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1b796625d47a909e, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8832, rs 0x44190b0d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8832161, rs 0x44190b0d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x3e6a7f55, rs 0x1f353faada4fe4c6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3e6a7f55b49f, rs 0x1f353faada4fe4c6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3e6a7f55b49fc98, rs 0x1f353faada4fe4c6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x81b0, rs 0x40d816ba, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x81b02d7, rs 0x40d816ba, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x11610ddc0, rs 0x8b086ee07150c260, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x11610ddc0e2a1, rs 0x8b086ee07150c260, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x11610ddc0e2a184c, rs 0x8b086ee07150c260, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffaca5c697, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff594b, rs 0xffffffffaca5c697, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff594b8d2, rs 0xffffffffaca5c697, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ca8ea1ab, rs 0xe54750d5d9257f25, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ca8ea1abb24a, rs 0xe54750d5d9257f25, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ca8ea1abb24afe4, rs 0xe54750d5d9257f25, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa864db20, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff50c9, rs 0xffffffffa864db20, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff50c9b64, rs 0xffffffffa864db20, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7ad2c4bf, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7ad2c4bfd34d, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7ad2c4bfd34db6b, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa527fdf9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff4a4f, rs 0xffffffffa527fdf9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff4a4ffbf, rs 0xffffffffa527fdf9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe147c084, rs 0x70a3e0424340ac96, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe147c0848681, rs 0x70a3e0424340ac96, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe147c0848681592, rs 0x70a3e0424340ac96, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa1e6e04e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff43cd, rs 0xffffffffa1e6e04e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff43cdc09, rs 0xffffffffa1e6e04e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1808f1e06, rs 0xc0478f036980171e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1808f1e06d300, rs 0xc0478f036980171e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1808f1e06d3002e3, rs 0xc0478f036980171e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbfa1b04b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff7f43, rs 0xffffffffbfa1b04b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff7f43609, rs 0xffffffffbfa1b04b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x79d0734a, rs 0x3ce839a51cf929e3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x79d0734a39f2, rs 0x3ce839a51cf929e3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x79d0734a39f253c, rs 0x3ce839a51cf929e3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbb60adfc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff76c1, rs 0xffffffffbb60adfc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff76c15bf, rs 0xffffffffbb60adfc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1c5f7f512, rs 0xe2fbfa895eb68958, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1c5f7f512bd6d, rs 0xe2fbfa895eb68958, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1c5f7f512bd6d12b, rs 0xe2fbfa895eb68958, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb6238b25, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff6c47, rs 0xffffffffb6238b25, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff6c47164, rs 0xffffffffb6238b25, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a49760ba, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a49760baedda, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a49760baedda4b6, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb2e29692, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff65c5, rs 0xffffffffb2e29692, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff65c52d2, rs 0xffffffffb2e29692, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1d72d058, rs 0xeb9682c170312f1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1d72d0582e06, rs 0xeb9682c170312f1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1d72d0582e0625e, rs 0xeb9682c170312f1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8aad2b2f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff155a, rs 0xffffffff8aad2b2f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff155a565, rs 0xffffffff8aad2b2f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x108f0a501, rs 0x84785280dd301d0d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x108f0a501ba60, rs 0x84785280dd301d0d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x108f0a501ba603a1, rs 0x84785280dd301d0d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2f38ef54, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2f38ef543f1f, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2f38ef543f1fadd, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4c8899da, rs 0x26444ced2998436d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4c8899da5330, rs 0x26444ced2998436d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4c8899da533086d, rs 0x26444ced2998436d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff87ee0df6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff0fdc, rs 0xffffffff87ee0df6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff0fdc1be, rs 0xffffffff87ee0df6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe2eb93b, rs 0x7175c9dd58ca708, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe2eb93bab19, rs 0x7175c9dd58ca708, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe2eb93bab194e1, rs 0x7175c9dd58ca708, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff99a95df3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3352, rs 0xffffffff99a95df3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff3352bbe, rs 0xffffffff99a95df3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xcc7a0c20, rs 0x663d061055833287, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcc7a0c20ab06, rs 0x663d061055833287, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcc7a0c20ab06650, rs 0x663d061055833287, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9d684044, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3ad0, rs 0xffffffff9d684044, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff3ad0808, rs 0xffffffff9d684044, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x156fba091, rs 0xab7dd0488951d68b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x156fba09112a3, rs 0xab7dd0488951d68b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x156fba09112a3ad1, rs 0xab7dd0488951d68b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff902b669d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2056, rs 0xffffffff902b669d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff2056cd3, rs 0xffffffff902b669d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ed3046ce, rs 0xf69823670e82471b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ed3046ce1d04, rs 0xf69823670e82471b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ed3046ce1d048e3, rs 0xf69823670e82471b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff94ea7b2a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff29d4, rs 0xffffffff94ea7b2a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff29d4f65, rs 0xffffffff94ea7b2a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6d10d8b3, rs 0x36886c59d98d26b2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6d10d8b3b31a, rs 0x36886c59d98d26b2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6d10d8b3b31a4d6, rs 0x36886c59d98d26b2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe0b41de7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffc168, rs 0xffffffffe0b41de7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffc1683bc, rs 0xffffffffe0b41de7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x139497b7, rs 0x9ca4bdbd32be479, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x139497b7a657, rs 0x9ca4bdbd32be479, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x139497b7a657c8f, rs 0x9ca4bdbd32be479, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe4750050, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffc8ea, rs 0xffffffffe4750050, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffc8ea00a, rs 0xffffffffe4750050, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1fabafa3b, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fabafa3b32c5, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fabafa3b32c5cc3, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe9362689, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffd26c, rs 0xffffffffe9362689, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffd26c4d1, rs 0xffffffffe9362689, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7e8caa7d, rs 0x3f46553ecad374df, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7e8caa7d95a6, rs 0x3f46553ecad374df, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7e8caa7d95a6e9b, rs 0x3f46553ecad374df, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffedf73b3e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffdbee, rs 0xffffffffedf73b3e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffdbee767, rs 0xffffffffedf73b3e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x5d3572fa, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5d3572fa7ddb, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5d3572fa7ddbe54, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff3b06b3b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffe760, rs 0xfffffffff3b06b3b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffe760d67, rs 0xfffffffff3b06b3b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6d4deff4, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6d4deff47819, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6d4deff478193e6, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff771768c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffeee2, rs 0xfffffffff771768c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffeee2ed1, rs 0xfffffffff771768c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1177271c6, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1177271c62abd, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1177271c62abd93b, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffffa325055, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffff464, rs 0xfffffffffa325055, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffff464a0a, rs 0xfffffffffa325055, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a5be4b88, rs 0xd2df25c419478206, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a5be4b88328f, rs 0xd2df25c419478206, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a5be4b88328f040, rs 0xd2df25c419478206, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffffef34de2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffffde6, rs 0xfffffffffef34de2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffffde69bc, rs 0xfffffffffef34de2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x178cb7e4f, rs 0xbc65bf27eb321825, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x178cb7e4fd664, rs 0xbc65bf27eb321825, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x178cb7e4fd664304, rs 0xbc65bf27eb321825, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc6bcf05f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff8d79, rs 0xffffffffc6bcf05f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff8d79e0b, rs 0xffffffffc6bcf05f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x151611fcc, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x151611fccf517, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x151611fccf5178fb, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc27dede8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff84fb, rs 0xffffffffc27dede8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff84fbdbd, rs 0xffffffffc27dede8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10a56b795, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10a56b795f1bf, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10a56b795f1bf9bd, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffcf3ecb31, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff9e7d, rs 0xffffffffcf3ecb31, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff9e7d966, rs 0xffffffffcf3ecb31, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x8f12136, rs 0x478909b59a99269, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8f12136b353, rs 0x478909b59a99269, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8f12136b35324d, rs 0x478909b59a99269, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffcbffd686, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff97ff, rs 0xffffffffcbffd686, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff97ffad0, rs 0xffffffffcbffd686, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x17f663990, rs 0xbfb31cc87857360f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x17f663990f0ae, rs 0xbfb31cc87857360f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x17f663990f0ae6c1, rs 0xbfb31cc87857360f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd5b88683, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffab71, rs 0xffffffffd5b88683, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffab710d0, rs 0xffffffffd5b88683, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x16ccbdabc, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x16ccbdabcff13, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x16ccbdabcff13d34, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd1799b34, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffa2f3, rs 0xffffffffd1799b34, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffa2f3366, rs 0xffffffffd1799b34, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2bb528e9, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2bb528e96f51, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2bb528e96f51abc, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffdc3abded, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffb875, rs 0xffffffffdc3abded, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffb8757bd, rs 0xffffffffdc3abded, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ed66a6fa, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ed66a6fa55f2, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ed66a6fa55f21f9, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd8fba05a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffb1f7, rs 0xffffffffd8fba05a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffb1f740b, rs 0xffffffffd8fba05a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x447af9fc, rs 0x223d7cfe2b961897, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x447af9fc572c, rs 0x223d7cfe2b961897, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x447af9fc572c312, rs 0x223d7cfe2b961897, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd219, rs 0x690ce0ee, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd219c1d, rs 0x690ce0ee, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x841669ea, rs 0x420b34f533734a4b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x841669ea66e6, rs 0x420b34f533734a4b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x841669ea66e6949, rs 0x420b34f533734a4b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xdb9b, rs 0x6dcdfd59, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xdb9bfab, rs 0x6dcdfd59, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x112f9191b, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x112f9191bba8d, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x112f9191bba8d667, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc11d, rs 0x608edb80, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc11db70, rs 0x608edb80, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf470e88b, rs 0x7a387445e392ccd9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf470e88bc725, rs 0x7a387445e392ccd9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf470e88bc72599b, rs 0x7a387445e392ccd9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc89f, rs 0x644fc637, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc89f8c6, rs 0x644fc637, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xa25e5363, rs 0x512f29b1d80000c9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa25e5363b000, rs 0x512f29b1d80000c9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa25e5363b000019, rs 0x512f29b1d80000c9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf411, rs 0x7a089632, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf4112c6, rs 0x7a089632, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1d5bdab8a, rs 0xeaded5c53dad020a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1d5bdab8a7b5a, rs 0xeaded5c53dad020a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1d5bdab8a7b5a041, rs 0xeaded5c53dad020a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfd93, rs 0x7ec98b85, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfd93170, rs 0x7ec98b85, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x114c453ae, rs 0x8a6229d731eea35b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x114c453ae63dd, rs 0x8a6229d731eea35b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x114c453ae63dd46b, rs 0x8a6229d731eea35b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe715, rs 0x738aad5c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe7155ab, rs 0x738aad5c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x58787f3c, rs 0x2c3c3f9e48985649, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x58787f3c9130, rs 0x2c3c3f9e48985649, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x58787f3c9130ac9, rs 0x2c3c3f9e48985649, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xee97, rs 0x774bb0eb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xee9761d, rs 0x774bb0eb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xffec3cf1, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xffec3cf1b938, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xffec3cf1b93816e, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x9e08, rs 0x4f040d56, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x9e081aa, rs 0x4f040d56, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x453361c0, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x453361c03abc, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x453361c03abcd1d, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x978a, rs 0x4bc510e1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x978a21c, rs 0x4bc510e1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf87608ce, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf87608ce7a18, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf87608ce7a18dc4, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8d0c, rs 0x46863638, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8d0c6c7, rs 0x46863638, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2c9c2f83, rs 0x164e17c1e7fb6587, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2c9c2f83cff6, rs 0x164e17c1e7fb6587, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2c9c2f83cff6cb0, rs 0x164e17c1e7fb6587, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x848e, rs 0x42472b8f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x848e571, rs 0x42472b8f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f4994516, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f4994516ada9, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f4994516ada92a1, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb800, rs 0x5c007b8a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb800f71, rs 0x5c007b8a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1cbd34629, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1cbd346297cff, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1cbd346297cff411, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb182, rs 0x58c1663d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb182cc7, rs 0x58c1663d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f17d02c8, rs 0xf8be8164159649c5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f17d02c82b2c, rs 0xf8be8164159649c5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f17d02c82b2c938, rs 0xf8be8164159649c5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xab04, rs 0x558240e4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xab0481c, rs 0x558240e4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf9464b2f, rs 0x7ca3259784e69b17, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf9464b2f09cd, rs 0x7ca3259784e69b17, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf9464b2f09cd362, rs 0x7ca3259784e69b17, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa286, rs 0x51435d53, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa286baa, rs 0x51435d53, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f91aa879, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f91aa87943e4, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f91aa87943e49eb, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4a3a, rs 0x251d3b9e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4a3a773, rs 0x251d3b9e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x95d6d941, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x95d6d941c68b, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x95d6d941c68b3c6, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x43b8, rs 0x21dc2629, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x43b84c5, rs 0x21dc2629, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x18a65c31c, rs 0xc532e18e187980fa, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x18a65c31c30f3, rs 0xc532e18e187980fa, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x18a65c31c30f301f, rs 0xc532e18e187980fa, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x593e, rs 0x2c9f00f0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x593e01e, rs 0x2c9f00f0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x167fbd852, rs 0xb3fdec294f287d1c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x167fbd8529e50, rs 0xb3fdec294f287d1c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x167fbd8529e50fa3, rs 0xb3fdec294f287d1c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x50bc, rs 0x285e1d47, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x50bc3a8, rs 0x285e1d47, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x16c40cc14, rs 0xb620660a49732b90, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x16c40cc1492e6, rs 0xb620660a49732b90, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x16c40cc1492e6572, rs 0xb620660a49732b90, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6c32, rs 0x36194d42, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6c329a8, rs 0x36194d42, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1326271e2, rs 0x993138f16cfde991, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1326271e2d9fb, rs 0x993138f16cfde991, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1326271e2d9fbd32, rs 0x993138f16cfde991, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x65b0, rs 0x32d850f5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x65b0a1e, rs 0x32d850f5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1bc05a266, rs 0xde02d1337d5407b9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1bc05a266faa8, rs 0xde02d1337d5407b9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1bc05a266faa80f7, rs 0xde02d1337d5407b9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7f36, rs 0x3f9b762c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7f36ec5, rs 0x3f9b762c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x274721c3, rs 0x13a390e1e1dab15a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x274721c3c3b5, rs 0x13a390e1e1dab15a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x274721c3c3b562b, rs 0x13a390e1e1dab15a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x76b4, rs 0x3b5a6b9b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x76b4d73, rs 0x3b5a6b9b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe869234d, rs 0x743491a6828716c8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe869234d050e, rs 0x743491a6828716c8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe869234d050e2d9, rs 0x743491a6828716c8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x62b, rs 0x315d626, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x62bac4, rs 0x315d626, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x119fe8095, rs 0x8cff404aede292f2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x119fe8095dbc5, rs 0x8cff404aede292f2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x119fe8095dbc525e, rs 0x8cff404aede292f2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfa9, rs 0x7d4cb91, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfa9972, rs 0x7d4cb91, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1739d81b6, rs 0xb9cec0db1f837636, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1739d81b63f06, rs 0xb9cec0db1f837636, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1739d81b63f06ec6, rs 0xb9cec0db1f837636, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x152f, rs 0xa97ed48, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x152fda9, rs 0xa97ed48, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x5d54b54e, rs 0x2eaa5aa70509771c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5d54b54e0a12, rs 0x2eaa5aa70509771c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5d54b54e0a12ee3, rs 0x2eaa5aa70509771c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1cad, rs 0xe56f0ff, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1cade1f, rs 0xe56f0ff, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a64ea71c, rs 0xd327538e1875241b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a64ea71c30ea, rs 0xd327538e1875241b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a64ea71c30ea483, rs 0xd327538e1875241b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2023, rs 0x1011a0fa, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x202341f, rs 0x1011a0fa, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x85d3f0a9, rs 0x42e9f8548b739b6b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x85d3f0a916e7, rs 0x42e9f8548b739b6b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x85d3f0a916e736d, rs 0x42e9f8548b739b6b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x29a1, rs 0x14d0bd4d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x29a17a9, rs 0x14d0bd4d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf1c9ca19, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf1c9ca19d997, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf1c9ca19d997743, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3327, rs 0x19939b94, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3327372, rs 0x19939b94, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ed6df47f, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ed6df47f9b3a, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ed6df47f9b3a4f9, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3aa5, rs 0x1d528623, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3aa50c4, rs 0x1d528623, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe722c907, rs 0x73916483ae3e9423, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe722c9075c7d, rs 0x73916483ae3e9423, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe722c9075c7d284, rs 0x73916483ae3e9423, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff12f560e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffe25e, rs 0xfffffffff12f560e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffe25eac1, rs 0xfffffffff12f560e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4ed5ee14, rs 0x276af70a0e128561, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4ed5ee141c25, rs 0x276af70a0e128561, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4ed5ee141c250ac, rs 0x276af70a0e128561, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffebdc, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffebdc977, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x608b7ed, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x608b7ed6bce, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x608b7ed6bce96d, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff8ad6d60, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffff15a, rs 0xfffffffff8ad6d60, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffff15adac, rs 0xfffffffff8ad6d60, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x40447e26, rs 0x20223f1308accfa6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x40447e261159, rs 0x20223f1308accfa6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x40447e2611599f4, rs 0x20223f1308accfa6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffffc6c70d7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffff8d8, rs 0xfffffffffc6c70d7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffff8d8e1a, rs 0xfffffffffc6c70d7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f078aae8, rs 0xf83c55743976b5f5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f078aae872ed, rs 0xf83c55743976b5f5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f078aae872ed6be, rs 0xf83c55743976b5f5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe22b20d2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffc456, rs 0xffffffffe22b20d2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffc45641a, rs 0xffffffffe22b20d2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x3f2e41f2, rs 0x1f9720f946923c3d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3f2e41f28d24, rs 0x1f9720f946923c3d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3f2e41f28d24787, rs 0x1f9720f946923c3d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe6ea3d65, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffcdd4, rs 0xffffffffe6ea3d65, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffcdd47ac, rs 0xffffffffe6ea3d65, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xc41a50a0, rs 0x620d28506d2448dd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc41a50a0da48, rs 0x620d28506d2448dd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc41a50a0da4891b, rs 0x620d28506d2448dd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffeba91bbc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffd752, rs 0xffffffffeba91bbc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffd752377, rs 0xffffffffeba91bbc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xc14a43d3, rs 0x60a521e99ff4a732, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc14a43d33fe9, rs 0x60a521e99ff4a732, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc14a43d33fe94e6, rs 0x60a521e99ff4a732, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffef68060b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffded0, rs 0xffffffffef68060b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffded00c1, rs 0xffffffffef68060b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xb411e756, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb411e756b8d0, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb411e756b8d01e1, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd727bbb6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffae4f, rs 0xffffffffd727bbb6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffae4f776, rs 0xffffffffd727bbb6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x18f4b37cf, rs 0xc7a59be7800f3d26, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x18f4b37cf001e, rs 0xc7a59be7800f3d26, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x18f4b37cf001e7a4, rs 0xc7a59be7800f3d26, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd3e6a601, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffa7cd, rs 0xffffffffd3e6a601, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffa7cd4c0, rs 0xffffffffd3e6a601, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x35d9be53, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x35d9be530594, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x35d9be530594368, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffdea580d8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffbd4b, rs 0xffffffffdea580d8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffbd4b01b, rs 0xffffffffdea580d8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x570c2744, rs 0x2b8613a260d19dcd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x570c2744c1a3, rs 0x2b8613a260d19dcd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x570c2744c1a33b9, rs 0x2b8613a260d19dcd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffda649d6f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffb4c9, rs 0xffffffffda649d6f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffb4c93ad, rs 0xffffffffda649d6f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4a315916, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4a3159161d17, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4a3159161d177cf, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc423cd6a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff8847, rs 0xffffffffc423cd6a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff88479ad, rs 0xffffffffc423cd6a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe87cad1a, rs 0x743e568d2fcf486b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe87cad1a5f9e, rs 0x743e568d2fcf486b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe87cad1a5f9e90d, rs 0x743e568d2fcf486b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x24dec8de, rs 0x126f646f34c31728, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x24dec8de6986, rs 0x126f646f34c31728, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x24dec8de69862e5, rs 0x126f646f34c31728, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffcda1f604, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff9b43, rs 0xffffffffcda1f604, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff9b43ec0, rs 0xffffffffcda1f604, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1556032c2, rs 0xaab0196156fc4d12, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1556032c2adf8, rs 0xaab0196156fc4d12, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1556032c2adf89a2, rs 0xaab0196156fc4d12, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xea6b9a67, rs 0x7535cd338595d342, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xea6b9a670b2b, rs 0x7535cd338595d342, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xea6b9a670b2ba68, rs 0x7535cd338595d342, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff7a7d, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff7a7d1af, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1bf64a9b4, rs 0xdfb254da422346ec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1bf64a9b48446, rs 0xdfb254da422346ec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1bf64a9b484468dd, rs 0xdfb254da422346ec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb9ff90c9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff73ff, rs 0xffffffffb9ff90c9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff73ff219, rs 0xffffffffb9ff90c9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x150ce4d92, rs 0xa86726c90081ab2a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x150ce4d920103, rs 0xa86726c90081ab2a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x150ce4d920103565, rs 0xa86726c90081ab2a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb4bcb610, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff6979, rs 0xffffffffb4bcb610, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff69796c2, rs 0xffffffffb4bcb610, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x137fdff42, rs 0x9bfeffa1679d7438, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x137fdff42cf3a, rs 0x9bfeffa1679d7438, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x137fdff42cf3ae87, rs 0x9bfeffa1679d7438, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb07daba7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff60fb, rs 0xffffffffb07daba7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff60fb574, rs 0xffffffffb07daba7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x18ed3304d, rs 0xc7699826b7dee244, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x18ed3304d6fbd, rs 0xc7699826b7dee244, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x18ed3304d6fbdc48, rs 0xc7699826b7dee244, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffae3afba2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff5c75, rs 0xffffffffae3afba2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff5c75f74, rs 0xffffffffae3afba2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x780f5f2f, rs 0x3c07af97fba6704a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x780f5f2ff74c, rs 0x3c07af97fba6704a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x780f5f2ff74ce09, rs 0x3c07af97fba6704a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffaafbe615, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff55f7, rs 0xffffffffaafbe615, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff55f7cc2, rs 0xffffffffaafbe615, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xa426c9b8, rs 0x521364dc04c58bfe, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa426c9b8098b, rs 0x521364dc04c58bfe, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa426c9b8098b17f, rs 0x521364dc04c58bfe, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff4f71, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff4f71819, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1c1ef76b1, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1c1ef76b1356f, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1c1ef76b1356f5d7, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa379dd7b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff46f3, rs 0xffffffffa379dd7b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff46f3baf, rs 0xffffffffa379dd7b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1c66d8c19, rs 0xe336c60cdeeb954d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1c66d8c19bdd7, rs 0xe336c60cdeeb954d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1c66d8c19bdd72a9, rs 0xe336c60cdeeb954d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9b3660c6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff366c, rs 0xffffffff9b3660c6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff366cc18, rs 0xffffffff9b3660c6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ab642418, rs 0xd5b2120c6f52416e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ab642418dea4, rs 0xd5b2120c6f52416e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ab642418dea482d, rs 0xd5b2120c6f52416e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9ff77d71, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3fee, rs 0xffffffff9ff77d71, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff3feefae, rs 0xffffffff9ff77d71, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10b45a9fe, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10b45a9fefcc5, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10b45a9fefcc5146, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff92b45ba8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2568, rs 0xffffffff92b45ba8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff2568b75, rs 0xffffffff92b45ba8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x130d456ca, rs 0x986a2b654a4e7e07, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x130d456ca949c, rs 0x986a2b654a4e7e07, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x130d456ca949cfc0, rs 0x986a2b654a4e7e07, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9675461f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2cea, rs 0xffffffff9675461f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff2cea8c3, rs 0xffffffff9675461f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x152e9d588, rs 0xa974eac43a489b55, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x152e9d5887491, rs 0xa974eac43a489b55, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x152e9d588749136a, rs 0xa974eac43a489b55, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8832161a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff1064, rs 0xffffffff8832161a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff10642c3, rs 0xffffffff8832161a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1471182c4, rs 0xa388c16272f1f8f5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1471182c4e5e3, rs 0xa388c16272f1f8f5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1471182c4e5e3f1e, rs 0xa388c16272f1f8f5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8cf30bad, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff19e6, rs 0xffffffff8cf30bad, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff19e6175, rs 0xffffffff8cf30bad, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1d1823e8b, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1d1823e8bce92, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1d1823e8bce92bd5, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff81b02d74, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff0360, rs 0xffffffff81b02d74, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff03605ae, rs 0xffffffff81b02d74, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15b54b4ec, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15b54b4ecb983, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15b54b4ecb983916, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff857130c3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff0ae2, rs 0xffffffff857130c3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff0ae2618, rs 0xffffffff857130c3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf5699d11, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf5699d11bf4c, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf5699d11bf4c0b8, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xbb15, rs 0x5d8a9099, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xbb15213, rs 0x5d8a9099, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x16855adcc, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x16855adccb34f, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x16855adccb34f609, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb297, rs 0x594b8d2e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb2971a5, rs 0x594b8d2e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x97f090b5, rs 0x4bf8485ab728922f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x97f090b56e51, rs 0x4bf8485ab728922f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x97f090b56e51245, rs 0x4bf8485ab728922f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa811, rs 0x5408abf7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa81157e, rs 0x5408abf7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xed47ac18, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xed47ac1876cd, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xed47ac1876cd4ff, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa193, rs 0x50c9b640, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa1936c8, rs 0x50c9b640, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x63c18d5f, rs 0x31e0c6affdc28eda, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x63c18d5ffb85, rs 0x31e0c6affdc28eda, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x63c18d5ffb851db, rs 0x31e0c6affdc28eda, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x9d1d, rs 0x4e8ee645, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x9d1dcc8, rs 0x4e8ee645, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xa6c0d769, rs 0x53606bb4bf0c999d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa6c0d7697e19, rs 0x53606bb4bf0c999d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa6c0d7697e19333, rs 0x53606bb4bf0c999d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x949f, rs 0x4a4ffbf2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x949ff7e, rs 0x4a4ffbf2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x65f82590, rs 0x32fc12c81b7919f0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x65f8259036f2, rs 0x32fc12c81b7919f0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x65f8259036f233e, rs 0x32fc12c81b7919f0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8e19, rs 0x470cdd2b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8e19ba5, rs 0x470cdd2b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7df10709, rs 0x3ef88384c72efcd6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7df107098e5d, rs 0x3ef88384c72efcd6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7df107098e5df9a, rs 0x3ef88384c72efcd6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x879b, rs 0x43cdc09c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x879b813, rs 0x43cdc09c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x71638f76, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x71638f76d454, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x71638f76d4546b0, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf704, rs 0x7b827d21, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf704fa4, rs 0x7b827d21, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2bd7ec24, rs 0x15ebf6121dca77c9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2bd7ec243b94, rs 0x15ebf6121dca77c9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2bd7ec243b94ef9, rs 0x15ebf6121dca77c9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfe86, rs 0x7f436096, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfe86c12, rs 0x7f436096, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xbd559bb3, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xbd559bb3fb22, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xbd559bb3fb228f5, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe400, rs 0x7200464f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe4008c9, rs 0x7200464f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x17708e1f3, rs 0xbb8470f981e91117, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x17708e1f303d2, rs 0xbb8470f981e91117, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x17708e1f303d2222, rs 0xbb8470f981e91117, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xed82, rs 0x76c15bf8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xed82b7f, rs 0x76c15bf8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xba855d5, rs 0x5d42aeac6a532e0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xba855d58d4a, rs 0x5d42aeac6a532e0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xba855d58d4a65c, rs 0x5d42aeac6a532e0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd10c, rs 0x68860bfd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd10c17f, rs 0x68860bfd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2957e6c8, rs 0x14abf36419fb9e63, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2957e6c833f7, rs 0x14abf36419fb9e63, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2957e6c833f73cc, rs 0x14abf36419fb9e63, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd88e, rs 0x6c47164a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd88e2c9, rs 0x6c47164a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x493aab35, rs 0x249d559aa8d72aac, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x493aab3551ae, rs 0x249d559aa8d72aac, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x493aab3551ae555, rs 0x249d559aa8d72aac, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc208, rs 0x61043093, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc208612, rs 0x61043093, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x19acec9e, rs 0xcd6764f084b30ec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x19acec9e1096, rs 0xcd6764f084b30ec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x19acec9e109661d, rs 0xcd6764f084b30ec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcb8a, rs 0x65c52d24, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcb8a5a4, rs 0x65c52d24, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xfe07580f, rs 0x7f03ac0792468fdf, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfe07580f248d, rs 0x7f03ac0792468fdf, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfe07580f248d1fb, rs 0x7f03ac0792468fdf, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2336, rs 0x119b4be9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x233697d, rs 0x119b4be9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xfc6b9cda, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfc6b9cdaadcc, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfc6b9cdaadcce1e, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2ab4, rs 0x155a565e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2ab4acb, rs 0x155a565e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2a5050b2, rs 0x152828591a652711, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2a5050b234ca, rs 0x152828591a652711, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2a5050b234ca4e2, rs 0x152828591a652711, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3032, rs 0x18197087, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3032e10, rs 0x18197087, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x13c386507, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x13c386507a42b, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x13c386507a42b53f, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x39b0, rs 0x1cd86d30, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x39b0da6, rs 0x1cd86d30, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x11b2b8092, rs 0x8d95c049282a0417, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x11b2b80925054, rs 0x8d95c049282a0417, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x11b2b80925054082, rs 0x8d95c049282a0417, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x53e, rs 0x29f3d35, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x53e7a6, rs 0x29f3d35, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1e5cf4921, rs 0xf2e7a490978058f3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1e5cf49212f00, rs 0xf2e7a490978058f3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1e5cf49212f00b1e, rs 0xf2e7a490978058f3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcbc, rs 0x65e2082, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcbc410, rs 0x65e2082, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xeeb69994, rs 0x775b4cca0975b1aa, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xeeb6999412eb, rs 0x775b4cca0975b1aa, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xeeb6999412eb635, rs 0x775b4cca0975b1aa, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x163a, rs 0xb1d065b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x163a0cb, rs 0xb1d065b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1457094c, rs 0xa2b84a635111020, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1457094c6a22, rs 0xa2b84a635111020, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1457094c6a22204, rs 0xa2b84a635111020, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fb8, rs 0xfdc1bec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fb837d, rs 0xfdc1bec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x47f41a7, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x47f41a74fb1, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x47f41a74fb116d, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6f27, rs 0x3793a651, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6f274ca, rs 0x3793a651, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x147b3236f, rs 0xa3d991b79941dedd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x147b3236f3283, rs 0xa3d991b79941dedd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x147b3236f3283bdb, rs 0xa3d991b79941dedd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x66a5, rs 0x3352bbe6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x66a577c, rs 0x3352bbe6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xea396906, rs 0x751cb4835a0d9508, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xea396906b41b, rs 0x751cb4835a0d9508, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xea396906b41b2a1, rs 0x751cb4835a0d9508, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7c23, rs 0x3e119d3f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7c233a7, rs 0x3e119d3f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x129395a6a, rs 0x949cad35625bb2d3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x129395a6ac4b7, rs 0x949cad35625bb2d3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x129395a6ac4b765a, rs 0x949cad35625bb2d3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x75a1, rs 0x3ad08088, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x75a1011, rs 0x3ad08088, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xfeacfe6b, rs 0x7f567f35a6929739, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfeacfe6b4d25, rs 0x7f567f35a6929739, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfeacfe6b4d252e7, rs 0x7f567f35a6929739, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x492f, rs 0x2497d08d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x492fa11, rs 0x2497d08d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x30b711c1, rs 0x185b88e0db8d7d27, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x30b711c1b71a, rs 0x185b88e0db8d7d27, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x30b711c1b71afa4, rs 0x185b88e0db8d7d27, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x40ad, rs 0x2056cd3a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x40ad9a7, rs 0x2056cd3a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4ab499a4, rs 0x255a4cd22fd61b91, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4ab499a45fac, rs 0x255a4cd22fd61b91, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4ab499a45fac372, rs 0x255a4cd22fd61b91, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5a2b, rs 0x2d15ebe3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5a2bd7c, rs 0x2d15ebe3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2091ab13, rs 0x1048d589a4363f7b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2091ab13486c, rs 0x1048d589a4363f7b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2091ab13486c7ef, rs 0x1048d589a4363f7b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x53a9, rs 0x29d4f654, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x53a9eca, rs 0x29d4f654, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xd4daae11, rs 0x6a6d5708f4605790, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd4daae11e8c0, rs 0x6a6d5708f4605790, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd4daae11e8c0af2, rs 0x6a6d5708f4605790, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc5a92679, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff8b52, rs 0xffffffffc5a92679, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff8b524cf, rs 0xffffffffc5a92679, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ab1d9757, rs 0xd58ecbabde35697f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ab1d9757bc6a, rs 0xd58ecbabde35697f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ab1d9757bc6ad2f, rs 0xd58ecbabde35697f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc1683bce, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff82d0, rs 0xffffffffc1683bce, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff82d0779, rs 0xffffffffc1683bce, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xaeaa91fa, rs 0x575548fd08c0a5f1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xaeaa91fa1181, rs 0x575548fd08c0a5f1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xaeaa91fa11814be, rs 0x575548fd08c0a5f1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffcc2b1d17, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff9856, rs 0xffffffffcc2b1d17, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff98563a2, rs 0xffffffffcc2b1d17, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1176c81f7, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1176c81f71db3, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1176c81f71db31bb, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc8ea00a0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff91d4, rs 0xffffffffc8ea00a0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff91d4014, rs 0xffffffffc8ea00a0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x17c01aa3d, rs 0xbe00d51eabc578cc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x17c01aa3d578a, rs 0xbe00d51eabc578cc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x17c01aa3d578af19, rs 0xbe00d51eabc578cc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd6ad50a5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffad5a, rs 0xffffffffd6ad50a5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffad5aa14, rs 0xffffffffd6ad50a5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x5efc4494, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5efc4494382e, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5efc4494382e156, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd26c4d12, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffa4d8, rs 0xffffffffd26c4d12, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffa4d89a2, rs 0xffffffffd26c4d12, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x152f1e259, rs 0xa978f12ca22256a7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x152f1e2594444, rs 0xa978f12ca22256a7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x152f1e2594444ad4, rs 0xa978f12ca22256a7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffbe5e, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffbe5ed79, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x132a15277, rs 0x9950a93b811ee02f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x132a15277023d, rs 0x9950a93b811ee02f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x132a15277023dc05, rs 0x9950a93b811ee02f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffdbee767c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffb7dc, rs 0xffffffffdbee767c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffb7dcecf, rs 0xffffffffdbee767c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1689dd527, rs 0xb44eea93c6796a0c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1689dd5278cf2, rs 0xb44eea93c6796a0c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1689dd5278cf2d41, rs 0xb44eea93c6796a0c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffc743, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffc743978, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1fce3f940, rs 0xfe71fca06c0eb657, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fce3f940d81d, rs 0xfe71fca06c0eb657, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fce3f940d81d6ca, rs 0xfe71fca06c0eb657, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe760d676, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffcec1, rs 0xffffffffe760d676, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffcec1ace, rs 0xffffffffe760d676, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x9dac727b, rs 0x4ed6393df818af57, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x9dac727bf031, rs 0x4ed6393df818af57, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x9dac727bf0315ea, rs 0x4ed6393df818af57, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffea23f0af, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffd447, rs 0xffffffffea23f0af, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffd447e15, rs 0xffffffffea23f0af, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1e45d2040, rs 0xf22e90200236770a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1e45d2040046c, rs 0xf22e90200236770a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1e45d2040046cee1, rs 0xf22e90200236770a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffeee2ed18, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffddc5, rs 0xffffffffeee2ed18, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffddc5da3, rs 0xffffffffeee2ed18, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x103df6d8f, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x103df6d8f5fa1, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x103df6d8f5fa188b, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffe14b, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffe14b7a3, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ddb1e6a3, rs 0xeed8f3518102315b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ddb1e6a30204, rs 0xeed8f3518102315b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ddb1e6a3020462b, rs 0xeed8f3518102315b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff464a0aa, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffe8c9, rs 0xfffffffff464a0aa, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffe8c9415, rs 0xfffffffff464a0aa, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15b5fdf73, rs 0xadafefb9995efd5e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15b5fdf7332bd, rs 0xadafefb9995efd5e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15b5fdf7332bdfab, rs 0xadafefb9995efd5e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff9278673, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffff24f, rs 0xfffffffff9278673, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffff24f0ce, rs 0xfffffffff9278673, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x680c3267, rs 0x34061933eb253086, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x680c3267d64a, rs 0x34061933eb253086, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x680c3267d64a610, rs 0x34061933eb253086, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffffde69bc4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffffbcd, rs 0xfffffffffde69bc4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffffbcd378, rs 0xfffffffffde69bc4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2e91b44c, rs 0x1748da264b4c52bc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2e91b44c9698, rs 0x1748da264b4c52bc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2e91b44c9698a57, rs 0x1748da264b4c52bc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff89b8fd09, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff1371, rs 0xffffffff89b8fd09, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff1371fa1, rs 0xffffffff89b8fd09, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x69fbf935, rs 0x34fdfc9a9302be89, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x69fbf9352605, rs 0x34fdfc9a9302be89, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x69fbf93526057d1, rs 0x34fdfc9a9302be89, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8d79e0be, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff1af3, rs 0xffffffff8d79e0be, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff1af3c17, rs 0xffffffff8d79e0be, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a004f187, rs 0xd00278c3c521d180, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a004f1878a43, rs 0xd00278c3c521d180, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a004f1878a43a30, rs 0xd00278c3c521d180, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff803ac667, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff0075, rs 0xffffffff803ac667, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff00758cc, rs 0xffffffff803ac667, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1d2128949, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1d212894983a6, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1d212894983a6f4b, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff84fbdbd0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff09f7, rs 0xffffffff84fbdbd0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff09f7b7a, rs 0xffffffff84fbdbd0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xcbfad31f, rs 0x65fd698fddef9839, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcbfad31fbbdf, rs 0x65fd698fddef9839, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcbfad31fbbdf307, rs 0x65fd698fddef9839, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9abc8bd5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3579, rs 0xffffffff9abc8bd5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff357917a, rs 0xffffffff9abc8bd5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1893dc75b, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1893dc75b036b, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1893dc75b036b5ea, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9e7d9662, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3cfb, rs 0xffffffff9e7d9662, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff3cfb2cc, rs 0xffffffff9e7d9662, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf55283d1, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf55283d17b64, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf55283d17b64c7d, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff933eb0bb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff267d, rs 0xffffffff933eb0bb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff267d617, rs 0xffffffff933eb0bb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6e58413c, rs 0x372c209e42f3b58d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6e58413c85e7, rs 0x372c209e42f3b58d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6e58413c85e76b1, rs 0x372c209e42f3b58d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff97ffad0c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2fff, rs 0xffffffff97ffad0c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff2fff5a1, rs 0xffffffff97ffad0c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x61f0e16f, rs 0x30f870b7e122a83b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x61f0e16fc245, rs 0x30f870b7e122a83b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x61f0e16fc245507, rs 0x30f870b7e122a83b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffafb010b1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff5f60, rs 0xffffffffafb010b1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff5f60216, rs 0xffffffffafb010b1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x13c05bc96, rs 0x9e02de4b678930ec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x13c05bc96cf12, rs 0x9e02de4b678930ec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x13c05bc96cf1261d, rs 0x9e02de4b678930ec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffab710d06, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff56e2, rs 0xffffffffab710d06, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff56e21a0, rs 0xffffffffab710d06, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x19ac350c7, rs 0xcd61a8639826631e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x19ac350c7304c, rs 0xcd61a8639826631e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x19ac350c7304cc63, rs 0xcd61a8639826631e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa6322bdf, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff4c64, rs 0xffffffffa6322bdf, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff4c6457b, rs 0xffffffffa6322bdf, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15d0f7913, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15d0f791334f7, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15d0f791334f7a79, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa2f33668, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff45e6, rs 0xffffffffa2f33668, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff45e66cd, rs 0xffffffffa2f33668, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xb1d8c89a, rs 0x58ec644d6481af17, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb1d8c89ac903, rs 0x58ec644d6481af17, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb1d8c89ac9035e2, rs 0x58ec644d6481af17, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbcb4666d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff7968, rs 0xffffffffbcb4666d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff7968ccd, rs 0xffffffffbcb4666d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xd0199cbf, rs 0x680cce5fb236b666, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd0199cbf646d, rs 0x680cce5fb236b666, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd0199cbf646d6cc, rs 0x680cce5fb236b666, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb8757bda, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff70ea, rs 0xffffffffb8757bda, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff70eaf7b, rs 0xffffffffb8757bda, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7755328e, rs 0x3baa99471f6d4d75, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7755328e3eda, rs 0x3baa99471f6d4d75, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7755328e3eda9ae, rs 0x3baa99471f6d4d75, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb5365d03, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff6a6c, rs 0xffffffffb5365d03, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff6a6cba0, rs 0xffffffffb5365d03, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xc29b3688, rs 0x614d9b445f12236b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc29b3688be24, rs 0x614d9b445f12236b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc29b3688be2446d, rs 0x614d9b445f12236b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb1f740b4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff63ee, rs 0xffffffffb1f740b4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff63ee816, rs 0xffffffffb1f740b4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1454dd8cc, rs 0xa2a6ec661ba84121, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1454dd8cc3750, rs 0xa2a6ec661ba84121, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1454dd8cc3750824, rs 0xa2a6ec661ba84121, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x12bd6aa, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x12bd6aa, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x12bd6aa, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7e8763, rs 0x7e876382d2ab13, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7e876382d2ab13, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xfd, rs 0x7e876382d2ab13, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xfd0ec, rs 0x7e876382d2ab13, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x9823b6e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x9823b6e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x9823b6e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x976d6e9a, rs 0x976d6e9ac31510f3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x12eda, rs 0x976d6e9ac31510f3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x12edadd3, rs 0x976d6e9ac31510f3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xd4326d9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xd4326d9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xd4326d9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb7746d77, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x16ee8, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x16ee8dae, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x130476dc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x130476dc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x130476dc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x42b0c0a2, rs 0x42b0c0a28677b502, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x8561, rs 0x42b0c0a28677b502, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x8561814, rs 0x42b0c0a28677b502, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x17c56b6b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x17c56b6b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x17c56b6b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2aa89d31, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5551, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x55513a6, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1a864db2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1a864db2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1a864db2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1f308ec3, rs 0x1f308ec377fb413d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x3e61, rs 0x1f308ec377fb413d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x3e611d8, rs 0x1f308ec377fb413d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1e475005, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1e475005, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1e475005, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7aa04213, rs 0x7aa04213c760e4f7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf540, rs 0x7aa04213c760e4f7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf540842, rs 0x7aa04213c760e4f7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2608edb8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2608edb8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2608edb8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9e705cc5, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x13ce0, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x13ce0b98, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x22c9f00f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x22c9f00f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x22c9f00f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x4b3dda86, rs 0x4b3dda869615a60d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x967b, rs 0x4b3dda869615a60d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x967bb50, rs 0x4b3dda869615a60d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2f8ad6d6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x5e7a4dd, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xbcf, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xbcf49b, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2b4bcb61, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2b4bcb61, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2b4bcb61, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3af35a9d, rs 0x3af35a9dc40bd413, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x75e6, rs 0x3af35a9dc40bd413, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x75e6b53, rs 0x3af35a9dc40bd413, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x350c9b64, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x350c9b64, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x350c9b64, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x47f50556, rs 0x47f505569a08a180, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47f505569a08a180, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x8fea, rs 0x47f505569a08a180, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x8fea0aa, rs 0x47f505569a08a180, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x31cd86d3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x31cd86d3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x31cd86d3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9564b77f, rs 0x9564b77fd6d2040f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x12ac9, rs 0x9564b77fd6d2040f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x12ac96ef, rs 0x9564b77fd6d2040f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3c8ea00a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3c8ea00a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3c8ea00a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xcebc8279, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x19d79, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x19d7904f, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x384fbdbd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x384fbdbd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x384fbdbd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb5034c2f, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x16a06, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x16a06985, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4c11db70, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4c11db70, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4c11db70, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x94ff52fc, rs 0x94ff52fc81afa797, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x94ff52fc81afa797, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x129fe, rs 0x94ff52fc81afa797, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x129fea5f, rs 0x94ff52fc81afa797, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x48d0c6c7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x48d0c6c7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x48d0c6c7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x31d8d916, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x63b1, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x63b1b22, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4593e01e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4593e01e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4593e01e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x36549bd6, rs 0x36549bd678e895b1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36549bd678e895b1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6ca9, rs 0x36549bd678e895b1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6ca937a, rs 0x36549bd678e895b1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4152fda9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4152fda9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4152fda9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x85e0a631, rs 0x85e0a6319b63259b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x85e0a6319b63259b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10bc1, rs 0x85e0a6319b63259b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10bc14c6, rs 0x85e0a6319b63259b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5f15adac, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5f15adac, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5f15adac, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x556b3eca, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xaad6, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xaad67d9, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5bd4b01b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5bd4b01b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5bd4b01b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb42f5fc5, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1685e, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1685ebf8, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x569796c2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x569796c2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x569796c2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x25b50fec, rs 0x25b50fec14682d97, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x25b50fec14682d97, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4b6a, rs 0x25b50fec14682d97, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4b6a1fd, rs 0x25b50fec14682d97, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x52568b75, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x52568b75, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x52568b75, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xfc93c513, rs 0xfc93c5132cfb087a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f927, rs 0xfc93c5132cfb087a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f9278a2, rs 0xfc93c5132cfb087a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6a1936c8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6a1936c8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6a1936c8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3c2cd9a9, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7859, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7859b35, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6ed82b7f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6ed82b7f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6ed82b7f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1791722a, rs 0x1791722a7d72da3e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2f22, rs 0x1791722a7d72da3e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2f22e45, rs 0x1791722a7d72da3e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x639b0da6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x639b0da6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x639b0da6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x87cc9d1, rs 0x87cc9d193ce24ad, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10f9, rs 0x87cc9d193ce24ad, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10f993a, rs 0x87cc9d193ce24ad, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x675a1011, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x675a1011, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x675a1011, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1d2a7570, rs 0x1d2a757038984ed2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x3a54, rs 0x1d2a757038984ed2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x3a54eae, rs 0x1d2a757038984ed2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x791d4014, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x791d4014, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x791d4014, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd0d070db, rs 0xd0d070db710cd036, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd0d070db710cd036, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a1a0, rs 0xd0d070db710cd036, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a1a0e1b, rs 0xd0d070db710cd036, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7ddc5da3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7ddc5da3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7ddc5da3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x39c21c7d, rs 0x39c21c7d03415604, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c21c7d03415604, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7384, rs 0x39c21c7d03415604, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x738438f, rs 0x39c21c7d03415604, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x709f7b7a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x709f7b7a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x709f7b7a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8e94b7af, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x11d29, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x11d296f5, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x745e66cd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x745e66cd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x745e66cd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x24eb6a8d, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x49d6, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x49d6d51, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9823b6e0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9823b6e0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9823b6e0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9823b6e0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2f394544, rs 0x2f39454412d6e4a7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5e72, rs 0x2f39454412d6e4a7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x5e728a8, rs 0x2f39454412d6e4a7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9ce2ab57, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9ce2ab57, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9ce2ab57, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2608c2b7, rs 0x2608c2b756da4c54, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608c2b756da4c54, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4c11856, rs 0x2608c2b756da4c54, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff91a18d8e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff91a18d8e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff91a18d8e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff91a18d8e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x900102da, rs 0x900102dac8d7252f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x900102dac8d7252f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x12002, rs 0x900102dac8d7252f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1200205b, rs 0x900102dac8d7252f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff95609039, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff95609039, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff95609039, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff95609039, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc890d5f1, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x19121, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x19121abe, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8b27c03c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8b27c03c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8b27c03c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8b27c03c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xed5005cb, rs 0xed5005cbc8b0a214, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1daa0, rs 0xed5005cbc8b0a214, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1daa00b9, rs 0xed5005cbc8b0a214, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x31479189, rs 0x314791895991136c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x314791895991136c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x628f, rs 0x314791895991136c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x628f231, rs 0x314791895991136c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff82a5fb52, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff82a5fb52, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff82a5fb52, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff82a5fb52, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc6eecff9, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x18ddd, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x18ddd9ff, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8664e6e5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8664e6e5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8664e6e5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8664e6e5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa8095212, rs 0xa809521238895270, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa809521238895270, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15012, rs 0xa809521238895270, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15012a42, rs 0xa809521238895270, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbe2b5b58, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbe2b5b58, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbe2b5b58, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x87750a04, rs 0x87750a04ad765040, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x87750a04ad765040, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10eea, rs 0x87750a04ad765040, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10eea140, rs 0x87750a04ad765040, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbaea46ef, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbaea46ef, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbaea46ef, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbaea46ef, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2c3de85e, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x587b, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x587bd0b, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb7a96036, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb7a96036, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb7a96036, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb7a96036, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xae6aff8f, rs 0xae6aff8fc506aa67, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15cd5, rs 0xae6aff8fc506aa67, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15cd5ff1, rs 0xae6aff8fc506aa67, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb3687d81, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb3687d81, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb3687d81, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb3687d81, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc07112dd, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x180e2, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x180e225b, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffad2f2d84, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffad2f2d84, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffad2f2d84, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffad2f2d84, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc4c770f6, rs 0xc4c770f630dcca5a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1898e, rs 0xc4c770f630dcca5a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1898ee1e, rs 0xc4c770f630dcca5a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa9ee3033, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa9ee3033, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa9ee3033, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa9ee3033, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xdfec2b23, rs 0xdfec2b2383cd5277, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1bfd8, rs 0xdfec2b2383cd5277, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1bfd8564, rs 0xdfec2b2383cd5277, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa4ad16ea, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa4ad16ea, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa4ad16ea, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd3adba26, rs 0xd3adba260ff7d96b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a75b, rs 0xd3adba260ff7d96b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a75b744, rs 0xd3adba260ff7d96b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa06c0b5d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa06c0b5d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa06c0b5d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x4ab4aa79, rs 0x4ab4aa798418c00e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x9569, rs 0x4ab4aa798418c00e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x956954f, rs 0x4ab4aa798418c00e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd4326d90, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd4326d90, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd4326d90, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd4326d90, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbb8c035e, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x17718, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1771806b, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd0f37027, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd0f37027, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd0f37027, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd0f37027, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x33b06f54, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6760, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6760dea, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffddb056fe, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffddb056fe, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffddb056fe, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffddb056fe, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x77433f37, rs 0x77433f373fd1c081, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x77433f373fd1c081, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xee86, rs 0x77433f373fd1c081, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xee867e6, rs 0x77433f373fd1c081, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd9714b49, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd9714b49, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd9714b49, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd9714b49, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xec91d993, rs 0xec91d993c92195e4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xec91d993c92195e4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1d923, rs 0xec91d993c92195e4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1d923b32, rs 0xec91d993c92195e4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc7361b4c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc7361b4c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc7361b4c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc7361b4c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x49fbf6a7, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x93f7, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x93f7ed4, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc3f706fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc3f706fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc3f706fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc3f706fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x19364378, rs 0x19364378c7ce8d1e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x326c, rs 0x19364378c7ce8d1e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x326c86f, rs 0x19364378c7ce8d1e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffceb42022, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffceb42022, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffceb42022, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffceb42022, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb99e8def, rs 0xb99e8def2f384907, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb99e8def2f384907, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1733d, rs 0xb99e8def2f384907, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1733d1bd, rs 0xb99e8def2f384907, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffca753d95, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffca753d95, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffca753d95, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffca753d95, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x47eacdcd, rs 0x47eacdcd582b12fe, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x8fd5, rs 0x47eacdcd582b12fe, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x8fd59b9, rs 0x47eacdcd582b12fe, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff23a8028, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff23a8028, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff23a8028, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff23a8028, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd685884e, rs 0xd685884e76558c4f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd685884e76558c4f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ad0b, rs 0xd685884e76558c4f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ad0b109, rs 0xd685884e76558c4f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x6168d62a, rs 0x6168d62a34c195c7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xc2d1, rs 0x6168d62a34c195c7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xc2d1ac5, rs 0x6168d62a34c195c7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffffbb8bb46, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffffbb8bb46, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffffbb8bb46, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd3016989, rs 0xd30169894df47405, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd30169894df47405, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a602, rs 0xd30169894df47405, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a602d31, rs 0xd30169894df47405, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffff79a6f1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffff79a6f1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffff79a6f1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffff79a6f1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1ca190bf, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x3943, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x3943217, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe13ef6f4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe13ef6f4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe13ef6f4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x58300f02, rs 0x58300f029cae393a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58300f029cae393a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xb060, rs 0x58300f029cae393a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xb0601e0, rs 0x58300f029cae393a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe5ffeb43, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe5ffeb43, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe5ffeb43, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9a995fdb, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x13532, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x13532bfb, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe8bccd9a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe8bccd9a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe8bccd9a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8a96047b, rs 0x8a96047be3405b48, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8a96047be3405b48, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1152c, rs 0x8a96047be3405b48, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1152c08f, rs 0x8a96047be3405b48, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffec7dd02d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffec7dd02d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffec7dd02d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffec7dd02d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x75bfafd2, rs 0x75bfafd2d519d322, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xeb7f, rs 0x75bfafd2d519d322, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xeb7f5fa, rs 0x75bfafd2d519d322, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x34867077, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x34867077, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x34867077, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xde230867, rs 0xde230867a630f6ad, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xde230867a630f6ad, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1bc46, rs 0xde230867a630f6ad, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1bc4610c, rs 0xde230867a630f6ad, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x30476dc0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x30476dc0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x30476dc0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2c0a0cf2, rs 0x2c0a0cf256103260, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5814, rs 0x2c0a0cf256103260, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x581419e, rs 0x2c0a0cf256103260, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3d044b19, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3d044b19, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3d044b19, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x94a90544, rs 0x94a90544249b18ef, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x94a90544249b18ef, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x12952, rs 0x94a90544249b18ef, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x129520a8, rs 0x94a90544249b18ef, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x39c556ae, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x39c556ae, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x39c556ae, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf9519fb5, rs 0xf9519fb55b56fcde, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f2a3, rs 0xf9519fb55b56fcde, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f2a33f6, rs 0xf9519fb55b56fcde, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x278206ab, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x278206ab, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x278206ab, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x81daf820, rs 0x81daf8200468319b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x81daf8200468319b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x103b5, rs 0x81daf8200468319b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x103b5f04, rs 0x81daf8200468319b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x23431b1c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x23431b1c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x23431b1c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8c61ca5a, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x118c3, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x118c394b, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2e003dc5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2e003dc5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2e003dc5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8b95a6dd, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1172b, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1172b4db, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2ac12072, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2ac12072, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2ac12072, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x300ce751, rs 0x300ce751dac6162f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x300ce751dac6162f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6019, rs 0x300ce751dac6162f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6019cea, rs 0x300ce751dac6162f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x128e9dcf, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x128e9dcf, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x128e9dcf, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x6778fdf3, rs 0x6778fdf3ba52a850, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xcef1, rs 0x6778fdf3ba52a850, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xcef1fbe, rs 0x6778fdf3ba52a850, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x164f8078, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x164f8078, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x164f8078, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xad00b1f7, rs 0xad00b1f7da78479f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xad00b1f7da78479f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15a01, rs 0xad00b1f7da78479f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15a0163e, rs 0xad00b1f7da78479f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1b0ca6a1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8d44168, rs 0x8d44168a6b6d98a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x11a8, rs 0x8d44168a6b6d98a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x11a882d, rs 0x8d44168a6b6d98a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1fcdbb16, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1fcdbb16, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1fcdbb16, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf518381d, rs 0xf518381dce634413, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf518381dce634413, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ea30, rs 0xf518381dce634413, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ea30703, rs 0xf518381dce634413, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x18aeb13, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x18aeb13, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x18aeb13, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe4627f3f, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1c8c4, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1c8c4fe7, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x54bf6a4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x54bf6a4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x54bf6a4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xccd392e1, rs 0xccd392e176321f28, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xccd392e176321f28, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x199a7, rs 0xccd392e176321f28, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x199a725c, rs 0xccd392e176321f28, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x808d07d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x808d07d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x808d07d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x82946494, rs 0x829464944018fd8f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x829464944018fd8f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10528, rs 0x829464944018fd8f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10528c92, rs 0x829464944018fd8f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xcc9cdca, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xcc9cdca, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xcc9cdca, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x15d32040, rs 0x15d3204052e8f0e5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2ba6, rs 0x15d3204052e8f0e5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2ba6408, rs 0x15d3204052e8f0e5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7897ab07, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7897ab07, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7897ab07, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7caf83d2, rs 0x7caf83d2880ff344, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf95f, rs 0x7caf83d2880ff344, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf95f07a, rs 0x7caf83d2880ff344, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7c56b6b0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7c56b6b0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7c56b6b0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf156a04c, rs 0xf156a04c747defd7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf156a04c747defd7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1e2ad, rs 0xf156a04c747defd7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1e2ad409, rs 0xf156a04c747defd7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x71159069, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x71159069, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x71159069, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x93e2601c, rs 0x93e2601c0f31d710, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x93e2601c0f31d710, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x127c4, rs 0x93e2601c0f31d710, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x127c4c03, rs 0x93e2601c0f31d710, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x75d48dde, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x75d48dde, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x75d48dde, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe1e1a679, rs 0xe1e1a679131cd933, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe1e1a679131cd933, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1c3c3, rs 0xe1e1a679131cd933, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1c3c34cf, rs 0xe1e1a679131cd933, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6b93dddb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6b93dddb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6b93dddb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x24296b75, rs 0x24296b75a76fa427, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x24296b75a76fa427, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4852, rs 0x24296b75a76fa427, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4852d6e, rs 0x24296b75a76fa427, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6f52c06c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6f52c06c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6f52c06c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd296e2d2, rs 0xd296e2d2139ee56a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a52d, rs 0xd296e2d2139ee56a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a52dc5a, rs 0xd296e2d2139ee56a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6211e6b5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6211e6b5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6211e6b5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x5a82447f, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xb504, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xb50488f, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x66d0fb02, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x66d0fb02, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x66d0fb02, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x76c89e80, rs 0x76c89e80c07dc168, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xed91, rs 0x76c89e80c07dc168, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xed913d0, rs 0x76c89e80c07dc168, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5e9f46bf, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5e9f46bf, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5e9f46bf, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x70dc345, rs 0x70dc3454bfe348f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe1b, rs 0x70dc3454bfe348f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe1b868, rs 0x70dc3454bfe348f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5a5e5b08, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5a5e5b08, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5a5e5b08, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbddc7123, rs 0xbddc7123dd6d241b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x17bb8, rs 0xbddc7123dd6d241b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x17bb8e24, rs 0xbddc7123dd6d241b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x571d7dd1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x571d7dd1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x571d7dd1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf62fb727, rs 0xf62fb727a59fcebe, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ec5f, rs 0xf62fb727a59fcebe, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ec5f6e4, rs 0xf62fb727a59fcebe, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x53dc6066, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x53dc6066, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x53dc6066, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x109f27e9, rs 0x109f27e90f9f46fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x213e, rs 0x109f27e90f9f46fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x213e4fd, rs 0x109f27e90f9f46fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4d9b3063, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4d9b3063, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4d9b3063, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3f63daa9, rs 0x3f63daa9afd199d7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7ec7, rs 0x3f63daa9afd199d7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7ec7b55, rs 0x3f63daa9afd199d7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x495a2dd4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x495a2dd4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x495a2dd4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xdbcb312e, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1b796, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1b796625, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x44190b0d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x44190b0d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x44190b0d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1f353faa, rs 0x1f353faada4fe4c6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x3e6a, rs 0x1f353faada4fe4c6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x3e6a7f5, rs 0x1f353faada4fe4c6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x40d816ba, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x40d816ba, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x40d816ba, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8b086ee0, rs 0x8b086ee07150c260, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8b086ee07150c260, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x11610, rs 0x8b086ee07150c260, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x11610ddc, rs 0x8b086ee07150c260, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffaca5c697, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffaca5c697, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffaca5c697, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffaca5c697, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe54750d5, rs 0xe54750d5d9257f25, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe54750d5d9257f25, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ca8e, rs 0xe54750d5d9257f25, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ca8ea1a, rs 0xe54750d5d9257f25, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa864db20, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa864db20, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa864db20, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa864db20, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3d69625f, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7ad2, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7ad2c4b, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa527fdf9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa527fdf9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa527fdf9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa527fdf9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x70a3e042, rs 0x70a3e0424340ac96, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe147, rs 0x70a3e0424340ac96, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe147c08, rs 0x70a3e0424340ac96, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa1e6e04e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa1e6e04e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa1e6e04e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc0478f03, rs 0xc0478f036980171e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc0478f036980171e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1808f, rs 0xc0478f036980171e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1808f1e0, rs 0xc0478f036980171e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbfa1b04b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbfa1b04b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbfa1b04b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3ce839a5, rs 0x3ce839a51cf929e3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x79d0, rs 0x3ce839a51cf929e3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x79d0734, rs 0x3ce839a51cf929e3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbb60adfc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbb60adfc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbb60adfc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbb60adfc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe2fbfa89, rs 0xe2fbfa895eb68958, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1c5f7, rs 0xe2fbfa895eb68958, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1c5f7f51, rs 0xe2fbfa895eb68958, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb6238b25, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb6238b25, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb6238b25, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb6238b25, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd24bb05d, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a497, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a49760b, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb2e29692, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb2e29692, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb2e29692, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb2e29692, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xeb9682c, rs 0xeb9682c170312f1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xeb9682c170312f1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1d72, rs 0xeb9682c170312f1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1d72d05, rs 0xeb9682c170312f1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8aad2b2f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8aad2b2f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8aad2b2f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x84785280, rs 0x84785280dd301d0d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x84785280dd301d0d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x108f0, rs 0x84785280dd301d0d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x108f0a50, rs 0x84785280dd301d0d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x179c77aa, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2f38, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2f38ef5, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x26444ced, rs 0x26444ced2998436d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x26444ced2998436d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4c88, rs 0x26444ced2998436d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4c8899d, rs 0x26444ced2998436d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff87ee0df6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff87ee0df6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff87ee0df6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff87ee0df6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7175c9d, rs 0x7175c9dd58ca708, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe2e, rs 0x7175c9dd58ca708, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe2eb93, rs 0x7175c9dd58ca708, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff99a95df3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff99a95df3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff99a95df3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff99a95df3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x663d0610, rs 0x663d061055833287, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x663d061055833287, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xcc7a, rs 0x663d061055833287, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xcc7a0c2, rs 0x663d061055833287, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9d684044, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9d684044, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9d684044, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9d684044, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xab7dd048, rs 0xab7dd0488951d68b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xab7dd0488951d68b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x156fb, rs 0xab7dd0488951d68b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x156fba09, rs 0xab7dd0488951d68b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff902b669d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff902b669d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff902b669d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff902b669d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf6982367, rs 0xf69823670e82471b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf69823670e82471b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ed30, rs 0xf69823670e82471b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ed3046c, rs 0xf69823670e82471b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff94ea7b2a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff94ea7b2a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff94ea7b2a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x36886c59, rs 0x36886c59d98d26b2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6d10, rs 0x36886c59d98d26b2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6d10d8b, rs 0x36886c59d98d26b2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe0b41de7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe0b41de7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe0b41de7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe0b41de7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9ca4bdb, rs 0x9ca4bdbd32be479, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1394, rs 0x9ca4bdbd32be479, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x139497b, rs 0x9ca4bdbd32be479, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe4750050, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe4750050, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe4750050, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe4750050, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xfd5d7d1d, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1faba, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fabafa3, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe9362689, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe9362689, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe9362689, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe9362689, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3f46553e, rs 0x3f46553ecad374df, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f46553ecad374df, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7e8c, rs 0x3f46553ecad374df, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7e8caa7, rs 0x3f46553ecad374df, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffedf73b3e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffedf73b3e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffedf73b3e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffedf73b3e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2e9ab97d, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5d35, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x5d3572f, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff3b06b3b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff3b06b3b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff3b06b3b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x36a6f7fa, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6d4d, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6d4deff, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff771768c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff771768c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff771768c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff771768c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8bb938e3, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x11772, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1177271c, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffffa325055, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffa325055, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffffa325055, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffffa325055, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd2df25c4, rs 0xd2df25c419478206, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd2df25c419478206, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a5be, rs 0xd2df25c419478206, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a5be4b8, rs 0xd2df25c419478206, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffffef34de2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffef34de2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffffef34de2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffffef34de2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbc65bf27, rs 0xbc65bf27eb321825, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbc65bf27eb321825, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x178cb, rs 0xbc65bf27eb321825, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x178cb7e4, rs 0xbc65bf27eb321825, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc6bcf05f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc6bcf05f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc6bcf05f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa8b08fe6, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15161, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x151611fc, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc27dede8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc27dede8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc27dede8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc27dede8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x852b5bca, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10a56, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10a56b79, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffcf3ecb31, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffcf3ecb31, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffcf3ecb31, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x478909b, rs 0x478909b59a99269, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x478909b59a99269, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x8f1, rs 0x478909b59a99269, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x8f1213, rs 0x478909b59a99269, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffcbffd686, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcbffd686, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffcbffd686, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffcbffd686, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbfb31cc8, rs 0xbfb31cc87857360f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbfb31cc87857360f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x17f66, rs 0xbfb31cc87857360f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x17f66399, rs 0xbfb31cc87857360f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd5b88683, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd5b88683, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd5b88683, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd5b88683, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb665ed5e, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x16ccb, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x16ccbdab, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd1799b34, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd1799b34, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd1799b34, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd1799b34, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x15da9474, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2bb5, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2bb528e, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffdc3abded, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdc3abded, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffdc3abded, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffdc3abded, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf6b3537d, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ed66, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ed66a6f, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd8fba05a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd8fba05a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd8fba05a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd8fba05a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x223d7cfe, rs 0x223d7cfe2b961897, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x447a, rs 0x223d7cfe2b961897, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x447af9f, rs 0x223d7cfe2b961897, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x690ce0ee, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x690ce0ee, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x690ce0ee, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x420b34f5, rs 0x420b34f533734a4b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x420b34f533734a4b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x8416, rs 0x420b34f533734a4b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x841669e, rs 0x420b34f533734a4b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6dcdfd59, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6dcdfd59, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6dcdfd59, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x897c8c8d, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x112f9, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x112f9191, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x608edb80, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x608edb80, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x608edb80, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7a387445, rs 0x7a387445e392ccd9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf470, rs 0x7a387445e392ccd9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf470e88, rs 0x7a387445e392ccd9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x644fc637, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x644fc637, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x644fc637, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x512f29b1, rs 0x512f29b1d80000c9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xa25e, rs 0x512f29b1d80000c9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xa25e536, rs 0x512f29b1d80000c9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7a089632, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7a089632, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7a089632, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xeaded5c5, rs 0xeaded5c53dad020a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xeaded5c53dad020a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1d5bd, rs 0xeaded5c53dad020a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1d5bdab8, rs 0xeaded5c53dad020a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7ec98b85, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7ec98b85, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7ec98b85, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8a6229d7, rs 0x8a6229d731eea35b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8a6229d731eea35b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x114c4, rs 0x8a6229d731eea35b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x114c453a, rs 0x8a6229d731eea35b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x738aad5c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x738aad5c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x738aad5c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2c3c3f9e, rs 0x2c3c3f9e48985649, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5878, rs 0x2c3c3f9e48985649, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x58787f3, rs 0x2c3c3f9e48985649, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x774bb0eb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x774bb0eb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x774bb0eb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7ff61e78, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xffec, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xffec3cf, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4f040d56, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4f040d56, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4f040d56, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2299b0e0, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4533, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x453361c, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4bc510e1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4bc510e1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4bc510e1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7c3b0467, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf876, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf87608c, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x46863638, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x46863638, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x46863638, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x164e17c1, rs 0x164e17c1e7fb6587, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2c9c, rs 0x164e17c1e7fb6587, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2c9c2f8, rs 0x164e17c1e7fb6587, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x42472b8f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x42472b8f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x42472b8f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xfa4ca28b, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f499, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f499451, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5c007b8a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5c007b8a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5c007b8a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe5e9a314, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1cbd3, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1cbd3462, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x58c1663d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x58c1663d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x58c1663d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf8be8164, rs 0xf8be8164159649c5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf8be8164159649c5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f17d, rs 0xf8be8164159649c5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f17d02c, rs 0xf8be8164159649c5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x558240e4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x558240e4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x558240e4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7ca32597, rs 0x7ca3259784e69b17, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf946, rs 0x7ca3259784e69b17, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf9464b2, rs 0x7ca3259784e69b17, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x51435d53, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x51435d53, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x51435d53, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xfc8d543c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f91a, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f91aa87, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x251d3b9e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x251d3b9e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x251d3b9e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x4aeb6ca0, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x95d6, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x95d6d94, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x21dc2629, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x21dc2629, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x21dc2629, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc532e18e, rs 0xc532e18e187980fa, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc532e18e187980fa, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x18a65, rs 0xc532e18e187980fa, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x18a65c31, rs 0xc532e18e187980fa, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2c9f00f0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2c9f00f0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2c9f00f0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb3fdec29, rs 0xb3fdec294f287d1c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x167fb, rs 0xb3fdec294f287d1c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x167fbd85, rs 0xb3fdec294f287d1c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x285e1d47, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x285e1d47, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x285e1d47, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb620660a, rs 0xb620660a49732b90, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb620660a49732b90, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x16c40, rs 0xb620660a49732b90, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x16c40cc1, rs 0xb620660a49732b90, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x36194d42, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x36194d42, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x36194d42, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x993138f1, rs 0x993138f16cfde991, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x993138f16cfde991, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x13262, rs 0x993138f16cfde991, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1326271e, rs 0x993138f16cfde991, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x32d850f5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x32d850f5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x32d850f5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xde02d133, rs 0xde02d1337d5407b9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xde02d1337d5407b9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1bc05, rs 0xde02d1337d5407b9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1bc05a26, rs 0xde02d1337d5407b9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3f9b762c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3f9b762c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3f9b762c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x13a390e1, rs 0x13a390e1e1dab15a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2747, rs 0x13a390e1e1dab15a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x274721c, rs 0x13a390e1e1dab15a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3b5a6b9b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x743491a6, rs 0x743491a6828716c8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x743491a6828716c8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe869, rs 0x743491a6828716c8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe869234, rs 0x743491a6828716c8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x315d626, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x315d626, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x315d626, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8cff404a, rs 0x8cff404aede292f2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8cff404aede292f2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x119fe, rs 0x8cff404aede292f2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x119fe809, rs 0x8cff404aede292f2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7d4cb91, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7d4cb91, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7d4cb91, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb9cec0db, rs 0xb9cec0db1f837636, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb9cec0db1f837636, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1739d, rs 0xb9cec0db1f837636, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1739d81b, rs 0xb9cec0db1f837636, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xa97ed48, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xa97ed48, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xa97ed48, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2eaa5aa7, rs 0x2eaa5aa70509771c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5d54, rs 0x2eaa5aa70509771c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x5d54b54, rs 0x2eaa5aa70509771c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xe56f0ff, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xe56f0ff, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xe56f0ff, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd327538e, rs 0xd327538e1875241b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd327538e1875241b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a64e, rs 0xd327538e1875241b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a64ea71, rs 0xd327538e1875241b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1011a0fa, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1011a0fa, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1011a0fa, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x42e9f854, rs 0x42e9f8548b739b6b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x85d3, rs 0x42e9f8548b739b6b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x85d3f0a, rs 0x42e9f8548b739b6b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x14d0bd4d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x14d0bd4d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x14d0bd4d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x78e4e50c, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf1c9, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf1c9ca1, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x19939b94, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x19939b94, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x19939b94, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf6b6fa3f, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ed6d, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ed6df47, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1d528623, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1d528623, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1d528623, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x73916483, rs 0x73916483ae3e9423, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x73916483ae3e9423, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe722, rs 0x73916483ae3e9423, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe722c90, rs 0x73916483ae3e9423, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff12f560e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff12f560e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff12f560e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff12f560e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x276af70a, rs 0x276af70a0e128561, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x276af70a0e128561, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4ed5, rs 0x276af70a0e128561, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4ed5ee1, rs 0x276af70a0e128561, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3045bf6, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x608, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x608b7e, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff8ad6d60, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff8ad6d60, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff8ad6d60, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x20223f13, rs 0x20223f1308accfa6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x20223f1308accfa6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4044, rs 0x20223f1308accfa6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x40447e2, rs 0x20223f1308accfa6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffffc6c70d7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffffc6c70d7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffffc6c70d7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf83c5574, rs 0xf83c55743976b5f5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf83c55743976b5f5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f078, rs 0xf83c55743976b5f5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f078aae, rs 0xf83c55743976b5f5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe22b20d2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe22b20d2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe22b20d2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe22b20d2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1f9720f9, rs 0x1f9720f946923c3d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x3f2e, rs 0x1f9720f946923c3d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x3f2e41f, rs 0x1f9720f946923c3d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe6ea3d65, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe6ea3d65, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe6ea3d65, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x620d2850, rs 0x620d28506d2448dd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x620d28506d2448dd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xc41a, rs 0x620d28506d2448dd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xc41a50a, rs 0x620d28506d2448dd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffeba91bbc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffeba91bbc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffeba91bbc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffeba91bbc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x60a521e9, rs 0x60a521e99ff4a732, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xc14a, rs 0x60a521e99ff4a732, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xc14a43d, rs 0x60a521e99ff4a732, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffef68060b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffef68060b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffef68060b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffef68060b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x5a08f3ab, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xb411, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xb411e75, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd727bbb6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd727bbb6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd727bbb6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd727bbb6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc7a59be7, rs 0xc7a59be7800f3d26, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x18f4b, rs 0xc7a59be7800f3d26, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x18f4b37c, rs 0xc7a59be7800f3d26, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd3e6a601, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd3e6a601, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd3e6a601, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1aecdf29, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x35d9, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x35d9be5, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffdea580d8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdea580d8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffdea580d8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffdea580d8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2b8613a2, rs 0x2b8613a260d19dcd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x570c, rs 0x2b8613a260d19dcd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x570c274, rs 0x2b8613a260d19dcd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffda649d6f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffda649d6f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffda649d6f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffda649d6f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2518ac8b, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4a31, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4a31591, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc423cd6a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc423cd6a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc423cd6a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc423cd6a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x743e568d, rs 0x743e568d2fcf486b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe87c, rs 0x743e568d2fcf486b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe87cad1, rs 0x743e568d2fcf486b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x126f646f, rs 0x126f646f34c31728, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x126f646f34c31728, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x24de, rs 0x126f646f34c31728, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x24dec8d, rs 0x126f646f34c31728, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffcda1f604, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcda1f604, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffcda1f604, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffcda1f604, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xaab01961, rs 0xaab0196156fc4d12, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xaab0196156fc4d12, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15560, rs 0xaab0196156fc4d12, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1556032c, rs 0xaab0196156fc4d12, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7535cd33, rs 0x7535cd338595d342, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7535cd338595d342, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xea6b, rs 0x7535cd338595d342, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xea6b9a6, rs 0x7535cd338595d342, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xdfb254da, rs 0xdfb254da422346ec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xdfb254da422346ec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1bf64, rs 0xdfb254da422346ec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1bf64a9b, rs 0xdfb254da422346ec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb9ff90c9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb9ff90c9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb9ff90c9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa86726c9, rs 0xa86726c90081ab2a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa86726c90081ab2a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x150ce, rs 0xa86726c90081ab2a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x150ce4d9, rs 0xa86726c90081ab2a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb4bcb610, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb4bcb610, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb4bcb610, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb4bcb610, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9bfeffa1, rs 0x9bfeffa1679d7438, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x137fd, rs 0x9bfeffa1679d7438, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x137fdff4, rs 0x9bfeffa1679d7438, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb07daba7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb07daba7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb07daba7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb07daba7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc7699826, rs 0xc7699826b7dee244, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc7699826b7dee244, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x18ed3, rs 0xc7699826b7dee244, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x18ed3304, rs 0xc7699826b7dee244, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffae3afba2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffae3afba2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffae3afba2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffae3afba2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3c07af97, rs 0x3c07af97fba6704a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x780f, rs 0x3c07af97fba6704a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x780f5f2, rs 0x3c07af97fba6704a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffaafbe615, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffaafbe615, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffaafbe615, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffaafbe615, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x521364dc, rs 0x521364dc04c58bfe, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xa426, rs 0x521364dc04c58bfe, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xa426c9b, rs 0x521364dc04c58bfe, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe0f7bb58, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1c1ef, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1c1ef76b, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa379dd7b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa379dd7b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa379dd7b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa379dd7b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe336c60c, rs 0xe336c60cdeeb954d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1c66d, rs 0xe336c60cdeeb954d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1c66d8c1, rs 0xe336c60cdeeb954d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9b3660c6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9b3660c6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9b3660c6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9b3660c6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd5b2120c, rs 0xd5b2120c6f52416e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ab64, rs 0xd5b2120c6f52416e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ab64241, rs 0xd5b2120c6f52416e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9ff77d71, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9ff77d71, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9ff77d71, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9ff77d71, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x85a2d4ff, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10b45, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10b45a9f, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff92b45ba8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff92b45ba8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff92b45ba8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff92b45ba8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x986a2b65, rs 0x986a2b654a4e7e07, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x130d4, rs 0x986a2b654a4e7e07, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x130d456c, rs 0x986a2b654a4e7e07, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9675461f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9675461f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9675461f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9675461f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa974eac4, rs 0xa974eac43a489b55, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa974eac43a489b55, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x152e9, rs 0xa974eac43a489b55, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x152e9d58, rs 0xa974eac43a489b55, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8832161a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8832161a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8832161a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8832161a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa388c162, rs 0xa388c16272f1f8f5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x14711, rs 0xa388c16272f1f8f5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1471182c, rs 0xa388c16272f1f8f5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8cf30bad, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8cf30bad, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8cf30bad, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8cf30bad, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe8c11f45, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1d182, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1d1823e8, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff81b02d74, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff81b02d74, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff81b02d74, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff81b02d74, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xadaa5a76, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15b54, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15b54b4e, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff857130c3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff857130c3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff857130c3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff857130c3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7ab4ce88, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf569, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf5699d1, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5d8a9099, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5d8a9099, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5d8a9099, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb42ad6e6, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x16855, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x16855adc, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x594b8d2e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x594b8d2e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x594b8d2e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x4bf8485a, rs 0x4bf8485ab728922f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x97f0, rs 0x4bf8485ab728922f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x97f090b, rs 0x4bf8485ab728922f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5408abf7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5408abf7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5408abf7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x76a3d60c, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xed47, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xed47ac1, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x50c9b640, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x50c9b640, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x50c9b640, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x31e0c6af, rs 0x31e0c6affdc28eda, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x63c1, rs 0x31e0c6affdc28eda, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x63c18d5, rs 0x31e0c6affdc28eda, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4e8ee645, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4e8ee645, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4e8ee645, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x53606bb4, rs 0x53606bb4bf0c999d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xa6c0, rs 0x53606bb4bf0c999d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xa6c0d76, rs 0x53606bb4bf0c999d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4a4ffbf2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x32fc12c8, rs 0x32fc12c81b7919f0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x65f8, rs 0x32fc12c81b7919f0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x65f8259, rs 0x32fc12c81b7919f0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x470cdd2b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x470cdd2b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x470cdd2b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3ef88384, rs 0x3ef88384c72efcd6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7df1, rs 0x3ef88384c72efcd6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7df1070, rs 0x3ef88384c72efcd6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x43cdc09c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x43cdc09c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x43cdc09c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x38b1c7bb, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7163, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x71638f7, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7b827d21, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7b827d21, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7b827d21, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x15ebf612, rs 0x15ebf6121dca77c9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2bd7, rs 0x15ebf6121dca77c9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2bd7ec2, rs 0x15ebf6121dca77c9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7f436096, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7f436096, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7f436096, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x5eaacdd9, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xbd55, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xbd559bb, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7200464f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7200464f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7200464f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbb8470f9, rs 0xbb8470f981e91117, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbb8470f981e91117, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x17708, rs 0xbb8470f981e91117, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x17708e1f, rs 0xbb8470f981e91117, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x76c15bf8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x76c15bf8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x76c15bf8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x5d42aea, rs 0x5d42aeac6a532e0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xba8, rs 0x5d42aeac6a532e0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xba855d, rs 0x5d42aeac6a532e0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x68860bfd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x68860bfd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x68860bfd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x14abf364, rs 0x14abf36419fb9e63, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2957, rs 0x14abf36419fb9e63, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2957e6c, rs 0x14abf36419fb9e63, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6c47164a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6c47164a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6c47164a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x249d559a, rs 0x249d559aa8d72aac, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x493a, rs 0x249d559aa8d72aac, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x493aab3, rs 0x249d559aa8d72aac, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x61043093, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x61043093, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x61043093, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xcd6764f, rs 0xcd6764f084b30ec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x19ac, rs 0xcd6764f084b30ec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x19acec9, rs 0xcd6764f084b30ec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x65c52d24, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x65c52d24, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x65c52d24, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7f03ac07, rs 0x7f03ac0792468fdf, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xfe07, rs 0x7f03ac0792468fdf, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xfe07580, rs 0x7f03ac0792468fdf, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x119b4be9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x119b4be9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x119b4be9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7e35ce6d, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xfc6b, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xfc6b9cd, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x155a565e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x155a565e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x155a565e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x15282859, rs 0x152828591a652711, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x152828591a652711, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2a50, rs 0x152828591a652711, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2a5050b, rs 0x152828591a652711, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x18197087, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x18197087, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x18197087, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9e1c3283, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x13c38, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x13c38650, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1cd86d30, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1cd86d30, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1cd86d30, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8d95c049, rs 0x8d95c049282a0417, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8d95c049282a0417, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x11b2b, rs 0x8d95c049282a0417, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x11b2b809, rs 0x8d95c049282a0417, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x29f3d35, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x29f3d35, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x29f3d35, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf2e7a490, rs 0xf2e7a490978058f3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf2e7a490978058f3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1e5cf, rs 0xf2e7a490978058f3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1e5cf492, rs 0xf2e7a490978058f3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x65e2082, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x65e2082, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x65e2082, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x775b4cca, rs 0x775b4cca0975b1aa, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xeeb6, rs 0x775b4cca0975b1aa, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xeeb6999, rs 0x775b4cca0975b1aa, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xb1d065b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xb1d065b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xb1d065b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa2b84a6, rs 0xa2b84a635111020, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa2b84a635111020, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1457, rs 0xa2b84a635111020, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1457094, rs 0xa2b84a635111020, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xfdc1bec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xfdc1bec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xfdc1bec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x23fa0d3, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x47f, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x47f41a, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3793a651, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3793a651, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3793a651, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa3d991b7, rs 0xa3d991b79941dedd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa3d991b79941dedd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x147b3, rs 0xa3d991b79941dedd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x147b3236, rs 0xa3d991b79941dedd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3352bbe6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3352bbe6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3352bbe6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x751cb483, rs 0x751cb4835a0d9508, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xea39, rs 0x751cb4835a0d9508, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xea39690, rs 0x751cb4835a0d9508, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3e119d3f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3e119d3f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3e119d3f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x949cad35, rs 0x949cad35625bb2d3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x949cad35625bb2d3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x12939, rs 0x949cad35625bb2d3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x129395a6, rs 0x949cad35625bb2d3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3ad08088, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3ad08088, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3ad08088, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7f567f35, rs 0x7f567f35a6929739, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f567f35a6929739, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xfeac, rs 0x7f567f35a6929739, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xfeacfe6, rs 0x7f567f35a6929739, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2497d08d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2497d08d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2497d08d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x185b88e0, rs 0x185b88e0db8d7d27, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x30b7, rs 0x185b88e0db8d7d27, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x30b711c, rs 0x185b88e0db8d7d27, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2056cd3a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2056cd3a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2056cd3a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x255a4cd2, rs 0x255a4cd22fd61b91, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4ab4, rs 0x255a4cd22fd61b91, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4ab499a, rs 0x255a4cd22fd61b91, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2d15ebe3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2d15ebe3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2d15ebe3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1048d589, rs 0x1048d589a4363f7b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2091, rs 0x1048d589a4363f7b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2091ab1, rs 0x1048d589a4363f7b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x29d4f654, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x29d4f654, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x29d4f654, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x6a6d5708, rs 0x6a6d5708f4605790, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xd4da, rs 0x6a6d5708f4605790, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xd4daae1, rs 0x6a6d5708f4605790, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc5a92679, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc5a92679, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc5a92679, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc5a92679, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd58ecbab, rs 0xd58ecbabde35697f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd58ecbabde35697f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ab1d, rs 0xd58ecbabde35697f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ab1d975, rs 0xd58ecbabde35697f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc1683bce, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc1683bce, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc1683bce, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc1683bce, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x575548fd, rs 0x575548fd08c0a5f1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xaeaa, rs 0x575548fd08c0a5f1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xaeaa91f, rs 0x575548fd08c0a5f1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffcc2b1d17, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffcc2b1d17, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffcc2b1d17, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8bb640fb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1176c, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1176c81f, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc8ea00a0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc8ea00a0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc8ea00a0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbe00d51e, rs 0xbe00d51eabc578cc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x17c01, rs 0xbe00d51eabc578cc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x17c01aa3, rs 0xbe00d51eabc578cc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd6ad50a5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd6ad50a5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd6ad50a5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2f7e224a, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5efc, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x5efc449, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd26c4d12, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd26c4d12, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd26c4d12, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd26c4d12, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa978f12c, rs 0xa978f12ca22256a7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa978f12ca22256a7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x152f1, rs 0xa978f12ca22256a7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x152f1e25, rs 0xa978f12ca22256a7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9950a93b, rs 0x9950a93b811ee02f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9950a93b811ee02f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x132a1, rs 0x9950a93b811ee02f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x132a1527, rs 0x9950a93b811ee02f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffdbee767c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdbee767c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffdbee767c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffdbee767c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb44eea93, rs 0xb44eea93c6796a0c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1689d, rs 0xb44eea93c6796a0c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1689dd52, rs 0xb44eea93c6796a0c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xfe71fca0, rs 0xfe71fca06c0eb657, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1fce3, rs 0xfe71fca06c0eb657, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fce3f94, rs 0xfe71fca06c0eb657, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe760d676, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe760d676, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe760d676, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe760d676, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x4ed6393d, rs 0x4ed6393df818af57, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4ed6393df818af57, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x9dac, rs 0x4ed6393df818af57, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x9dac727, rs 0x4ed6393df818af57, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffea23f0af, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffea23f0af, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffea23f0af, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffea23f0af, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf22e9020, rs 0xf22e90200236770a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf22e90200236770a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1e45d, rs 0xf22e90200236770a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1e45d204, rs 0xf22e90200236770a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffeee2ed18, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffeee2ed18, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffeee2ed18, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffeee2ed18, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x81efb6c7, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x103df, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x103df6d8, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xeed8f351, rs 0xeed8f3518102315b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xeed8f3518102315b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ddb1, rs 0xeed8f3518102315b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ddb1e6a, rs 0xeed8f3518102315b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff464a0aa, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff464a0aa, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff464a0aa, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff464a0aa, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xadafefb9, rs 0xadafefb9995efd5e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xadafefb9995efd5e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15b5f, rs 0xadafefb9995efd5e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15b5fdf7, rs 0xadafefb9995efd5e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff9278673, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff9278673, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff9278673, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff9278673, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x34061933, rs 0x34061933eb253086, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34061933eb253086, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x680c, rs 0x34061933eb253086, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x680c326, rs 0x34061933eb253086, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffffde69bc4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffde69bc4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffffde69bc4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffffde69bc4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1748da26, rs 0x1748da264b4c52bc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2e91, rs 0x1748da264b4c52bc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2e91b44, rs 0x1748da264b4c52bc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff89b8fd09, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff89b8fd09, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff89b8fd09, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff89b8fd09, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x34fdfc9a, rs 0x34fdfc9a9302be89, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x69fb, rs 0x34fdfc9a9302be89, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x69fbf93, rs 0x34fdfc9a9302be89, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8d79e0be, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8d79e0be, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8d79e0be, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8d79e0be, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd00278c3, rs 0xd00278c3c521d180, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd00278c3c521d180, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a004, rs 0xd00278c3c521d180, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a004f18, rs 0xd00278c3c521d180, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff803ac667, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff803ac667, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff803ac667, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff803ac667, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe90944a4, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1d212, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1d212894, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff84fbdbd0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff84fbdbd0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff84fbdbd0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x65fd698f, rs 0x65fd698fddef9839, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65fd698fddef9839, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xcbfa, rs 0x65fd698fddef9839, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xcbfad31, rs 0x65fd698fddef9839, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9abc8bd5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9abc8bd5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9abc8bd5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc49ee3ad, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1893d, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1893dc75, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9e7d9662, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9e7d9662, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9e7d9662, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9e7d9662, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7aa941e8, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf552, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf55283d, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff933eb0bb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff933eb0bb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff933eb0bb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff933eb0bb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x372c209e, rs 0x372c209e42f3b58d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6e58, rs 0x372c209e42f3b58d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6e58413, rs 0x372c209e42f3b58d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff97ffad0c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff97ffad0c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff97ffad0c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff97ffad0c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x30f870b7, rs 0x30f870b7e122a83b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x61f0, rs 0x30f870b7e122a83b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x61f0e16, rs 0x30f870b7e122a83b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffafb010b1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffafb010b1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffafb010b1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffafb010b1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9e02de4b, rs 0x9e02de4b678930ec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9e02de4b678930ec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x13c05, rs 0x9e02de4b678930ec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x13c05bc9, rs 0x9e02de4b678930ec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffab710d06, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffab710d06, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffab710d06, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffab710d06, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xcd61a863, rs 0xcd61a8639826631e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xcd61a8639826631e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x19ac3, rs 0xcd61a8639826631e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x19ac350c, rs 0xcd61a8639826631e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa6322bdf, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa6322bdf, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa6322bdf, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa6322bdf, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xae87bc89, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15d0f, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15d0f791, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa2f33668, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa2f33668, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa2f33668, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa2f33668, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x58ec644d, rs 0x58ec644d6481af17, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58ec644d6481af17, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xb1d8, rs 0x58ec644d6481af17, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xb1d8c89, rs 0x58ec644d6481af17, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbcb4666d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbcb4666d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbcb4666d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbcb4666d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x680cce5f, rs 0x680cce5fb236b666, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x680cce5fb236b666, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xd019, rs 0x680cce5fb236b666, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xd0199cb, rs 0x680cce5fb236b666, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb8757bda, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb8757bda, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb8757bda, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb8757bda, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3baa9947, rs 0x3baa99471f6d4d75, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7755, rs 0x3baa99471f6d4d75, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7755328, rs 0x3baa99471f6d4d75, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb5365d03, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb5365d03, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb5365d03, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb5365d03, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x614d9b44, rs 0x614d9b445f12236b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x614d9b445f12236b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xc29b, rs 0x614d9b445f12236b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xc29b368, rs 0x614d9b445f12236b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb1f740b4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb1f740b4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb1f740b4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb1f740b4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa2a6ec66, rs 0xa2a6ec661ba84121, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1454d, rs 0xa2a6ec661ba84121, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1454dd8c, rs 0xa2a6ec661ba84121, imm 0x0003
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+dsrlv $s0, $s1, $s2 :: rd 0xfd0, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+dsrlv $t0, $t1, $t2 :: rd 0x2, rs 0x9823b6e, rt 0xffffffffb8757bda
+dsrlv $s0, $s1, $s2 :: rd 0x4bb, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dsrlv $s0, $s1, $s2 :: rd 0x2ddd1b5, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x130476dc, rt 0xffffffffa2f33668
+dsrlv $s0, $s1, $s2 :: rd 0x856181450c, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dsrlv $s0, $s1, $s2 :: rd 0xaaa274c678f0c, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+dsrlv $t0, $t1, $t2 :: rd 0x6a1936, rs 0x1a864db2, rt 0xffffffffab710d06
+dsrlv $s0, $s1, $s2 :: rd 0x7cc23b0d, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x1e475005, rt 0xffffffffafb010b1
+dsrlv $s0, $s1, $s2 :: rd 0x7aa04, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+dsrlv $t0, $t1, $t2 :: rd 0x2608e, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dsrlv $s0, $s1, $s2 :: rd 0x13, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dsrlv $s0, $s1, $s2 :: rd 0x259eed434b0ad, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dsrlv $s0, $s1, $s2 :: rd 0x2f3d2, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+dsrlv $t0, $t1, $t2 :: rd 0x15a, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dsrlv $s0, $s1, $s2 :: rd 0xebcd6a77102, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+dsrlv $t0, $t1, $t2 :: rd 0x350c, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dsrlv $s0, $s1, $s2 :: rd 0x23, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x31cd86d3, rt 0xffffffff803ac667
+dsrlv $s0, $s1, $s2 :: rd 0x4ab25bbfe, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dsrlv $s0, $s1, $s2 :: rd 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+dsrlv $t0, $t1, $t2 :: rd 0x1c27de, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dsrlv $s0, $s1, $s2 :: rd 0x5a81a6178f8c72, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+dsrlv $t0, $t1, $t2 :: rd 0x4c11db7, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dsrlv $s0, $s1, $s2 :: rd 0x9, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dsrlv $s0, $s1, $s2 :: rd 0xc7636459b7f143, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dsrlv $s0, $s1, $s2 :: rd 0xd9526f59, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+dsrlv $t0, $t1, $t2 :: rd 0x2, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dsrlv $s0, $s1, $s2 :: rd 0x10bc14c633, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+dsrlv $t0, $t1, $t2 :: rd 0x5f, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dsrlv $s0, $s1, $s2 :: rd 0x2ab59f656, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dsrlv $s0, $s1, $s2 :: rd 0x2d0bd7f1607ba8, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x569796c2, rt 0xffffffffe760d676
+dsrlv $s0, $s1, $s2 :: rd 0x4b6a1fd828, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+dsrlv $t0, $t1, $t2 :: rd 0x292b45ba, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dsrlv $s0, $s1, $s2 :: rd 0x1f9278a2659, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dsrlv $s0, $s1, $s2 :: rd 0x3c2cd9a9cda20, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+dsrlv $t0, $t1, $t2 :: rd 0xddb05, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dsrlv $s0, $s1, $s2 :: rd 0x2f22, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+dsrlv $t0, $t1, $t2 :: rd 0x18e6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dsrlv $s0, $s1, $s2 :: rd 0x10f993, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dsrlv $s0, $s1, $s2 :: rd 0x74a, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dsrlv $s0, $s1, $s2 :: rd 0xd0d070db710cd, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+dsrlv $t0, $t1, $t2 :: rd 0xfb, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dsrlv $s0, $s1, $s2 :: rd 0x738438fa0, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+dsrlv $t0, $t1, $t2 :: rd 0x1c27d, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dsrlv $s0, $s1, $s2 :: rd 0x474a, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x745e66cd, rt 0xffffffffc5a92679
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+dsrlv $t0, $t1, $t2 :: rd 0xffffffff982, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dsrlv $s0, $s1, $s2 :: rd 0x2f39454412d6, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+dsrlv $t0, $t1, $t2 :: rd 0x1fffffff, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dsrlv $s0, $s1, $s2 :: rd 0x4, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+dsrlv $t0, $t1, $t2 :: rd 0x3f, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dsrlv $s0, $s1, $s2 :: rd 0x4800816d646b, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffcab04, rs 0xffffffff95609039, rt 0x2497d08d
+dsrlv $s0, $s1, $s2 :: rd 0x19121ab, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+dsrlv $t0, $t1, $t2 :: rd 0xffffffff8b27c0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dsrlv $s0, $s1, $s2 :: rd 0x76, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+dsrlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dsrlv $s0, $s1, $s2 :: rd 0x628f2312b32, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffff, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dsrlv $s0, $s1, $s2 :: rd 0xc6eecff99a2fb6, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffc332, rs 0xffffffff8664e6e5, rt 0x3793a651
+dsrlv $s0, $s1, $s2 :: rd 0x5404a9091, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+dsrlv $t0, $t1, $t2 :: rd 0xfffff, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dsrlv $s0, $s1, $s2 :: rd 0x10eea, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff7, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dsrlv $s0, $s1, $s2 :: rd 0x2c3de85e, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffedea580d, rs 0xffffffffb7a96036, rt 0x65e2082
+dsrlv $s0, $s1, $s2 :: rd 0x2b9abf, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+dsrlv $t0, $t1, $t2 :: rd 0x7ff, rs 0xffffffffb3687d81, rt 0x29f3d35
+dsrlv $s0, $s1, $s2 :: rd 0x180e, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+dsrlv $t0, $t1, $t2 :: rd 0xffff, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dsrlv $s0, $s1, $s2 :: rd 0x1898ee1ec61, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff53dc60, rs 0xffffffffa9ee3033, rt 0x18197087
+dsrlv $s0, $s1, $s2 :: rd 0x1b, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffe, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dsrlv $s0, $s1, $s2 :: rd 0x69d6dd1307fb, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+dsrlv $t0, $t1, $t2 :: rd 0x7fffff, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dsrlv $s0, $s1, $s2 :: rd 0x255, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+dsrlv $t0, $t1, $t2 :: rd 0xfffffff, rs 0xffffffffd4326d90, rt 0x65c52d24
+dsrlv $s0, $s1, $s2 :: rd 0x1771806bc, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffffa1e, rs 0xffffffffd0f37027, rt 0x61043093
+dsrlv $s0, $s1, $s2 :: rd 0x33b06, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff76c15, rs 0xffffffffddb056fe, rt 0x6c47164a
+dsrlv $s0, $s1, $s2 :: rd 0x77433, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+dsrlv $t0, $t1, $t2 :: rd 0x7, rs 0xffffffffd9714b49, rt 0x68860bfd
+dsrlv $s0, $s1, $s2 :: rd 0x1d923b32, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+dsrlv $t0, $t1, $t2 :: rd 0xff, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dsrlv $s0, $s1, $s2 :: rd 0x49fbf6a7, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff87ee, rs 0xffffffffc3f706fb, rt 0x7200464f
+dsrlv $s0, $s1, $s2 :: rd 0x326c86f18f, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff3a, rs 0xffffffffceb42022, rt 0x7f436096
+dsrlv $s0, $s1, $s2 :: rd 0x2e67a, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffff, rs 0xffffffffca753d95, rt 0x7b827d21
+dsrlv $s0, $s1, $s2 :: rd 0x23f566e6ac1589, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+dsrlv $t0, $t1, $t2 :: rd 0xfffffffff, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dsrlv $s0, $s1, $s2 :: rd 0xd685884e76558c4f, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+dsrlv $t0, $t1, $t2 :: rd 0x1fffff, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dsrlv $s0, $s1, $s2 :: rd 0x185a358a8d3, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+dsrlv $t0, $t1, $t2 :: rd 0x3fff, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dsrlv $s0, $s1, $s2 :: rd 0xd301, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffffbcd37, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dsrlv $s0, $s1, $s2 :: rd 0xe50c85fb, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dsrlv $s0, $s1, $s2 :: rd 0x160c03c0a7, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+dsrlv $t0, $t1, $t2 :: rd 0x1ff, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dsrlv $s0, $s1, $s2 :: rd 0x13, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+dsrlv $t0, $t1, $t2 :: rd 0x3ffff, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dsrlv $s0, $s1, $s2 :: rd 0x1152c, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+dsrlv $t0, $t1, $t2 :: rd 0x7ffffffff6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dsrlv $s0, $s1, $s2 :: rd 0xeb7f5fa5aa33, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+dsrlv $t0, $t1, $t2 :: rd 0x690ce0e, rs 0x34867077, rt 0xffffffff857130c3
+dsrlv $s0, $s1, $s2 :: rd 0xde230867a630f6ad, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x30476dc0, rt 0xffffffff81b02d74
+dsrlv $s0, $s1, $s2 :: rd 0x2c0, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dsrlv $s0, $s1, $s2 :: rd 0x4a5482, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+dsrlv $t0, $t1, $t2 :: rd 0xe, rs 0x39c556ae, rt 0xffffffff8832161a
+dsrlv $s0, $s1, $s2 :: rd 0x7ca, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+dsrlv $s0, $s1, $s2 :: rd 0x40ed7c10023, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dsrlv $s0, $s1, $s2 :: rd 0x118c394b4ae4be5, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dsrlv $s0, $s1, $s2 :: rd 0x8b9, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+dsrlv $t0, $t1, $t2 :: rd 0xab0481, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dsrlv $s0, $s1, $s2 :: rd 0xc033, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dsrlv $s0, $s1, $s2 :: rd 0x33bc7ef9dd295, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+dsrlv $t0, $t1, $t2 :: rd 0x164f8, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dsrlv $s0, $s1, $s2 :: rd 0xa, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+dsrlv $t0, $t1, $t2 :: rd 0xd8, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dsrlv $s0, $s1, $s2 :: rd 0x3d460e077398d1, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x18aeb13, rt 0xffffffffb07daba7
+dsrlv $s0, $s1, $s2 :: rd 0xe4627f3fe5255fc, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+dsrlv $t0, $t1, $t2 :: rd 0x54b, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dsrlv $s0, $s1, $s2 :: rd 0xcc, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+dsrlv $t0, $t1, $t2 :: rd 0x40468, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dsrlv $s0, $s1, $s2 :: rd 0x20a519, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dsrlv $s0, $s1, $s2 :: rd 0x15d32, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+dsrlv $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0x1f2be0f4a203fcd1, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+dsrlv $t0, $t1, $t2 :: rd 0x7c56b6b, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dsrlv $s0, $s1, $s2 :: rd 0x3c55a8131d1f, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+dsrlv $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0x93e260, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dsrlv $s0, $s1, $s2 :: rd 0x1c3c34, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+dsrlv $t0, $t1, $t2 :: rd 0x6f, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dsrlv $s0, $s1, $s2 :: rd 0x694b716909cf7, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+dsrlv $t0, $t1, $t2 :: rd 0x3108f35a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dsrlv $s0, $s1, $s2 :: rd 0x2d41223fb6e152e0, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dsrlv $s0, $s1, $s2 :: rd 0x1db227a, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+dsrlv $t0, $t1, $t2 :: rd 0xbd3e8, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dsrlv $s0, $s1, $s2 :: rd 0xe1b868a97fc6, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dsrlv $s0, $s1, $s2 :: rd 0x2f77, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dsrlv $s0, $s1, $s2 :: rd 0x7b17db93d, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+dsrlv $t0, $t1, $t2 :: rd 0x14f7, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+dsrlv $t0, $t1, $t2 :: rd 0x9b, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dsrlv $s0, $s1, $s2 :: rd 0x1fb, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dsrlv $s0, $s1, $s2 :: rd 0x36f2cc4, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dsrlv $s0, $s1, $s2 :: rd 0x7cd4, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+dsrlv $t0, $t1, $t2 :: rd 0x10360, rs 0x40d816ba, rt 0xfffffffff12f560e
+dsrlv $s0, $s1, $s2 :: rd 0x45843770, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+dsrlv $t0, $t1, $t2 :: rd 0x1fffffff, rs 0xffffffffaca5c697, rt 0x1d528623
+dsrlv $s0, $s1, $s2 :: rd 0x1ca8ea1a, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffa86, rs 0xffffffffa864db20, rt 0x19939b94
+dsrlv $s0, $s1, $s2 :: rd 0x7ad2c4bfd34db, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffd293f, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dsrlv $s0, $s1, $s2 :: rd 0x1c28f81090, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+dsrlv $t0, $t1, $t2 :: rd 0x3f, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dsrlv $s0, $s1, $s2 :: rd 0x1808f1, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+dsrlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dsrlv $s0, $s1, $s2 :: rd 0x79d0734a3, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffbb60ad, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dsrlv $s0, $s1, $s2 :: rd 0xe2fbfa895, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffdb11, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dsrlv $s0, $s1, $s2 :: rd 0x349, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffff, rs 0xffffffffb2e29692, rt 0x315d626
+dsrlv $s0, $s1, $s2 :: rd 0x3ae, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff1, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dsrlv $s0, $s1, $s2 :: rd 0x84785280dd301d, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+dsrlv $s0, $s1, $s2 :: rd 0x5e71dea87, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+dsrlv $s0, $s1, $s2 :: rd 0x13, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffe1fb837d, rs 0xffffffff87ee0df6, rt 0x36194d42
+dsrlv $s0, $s1, $s2 :: rd 0x38bae4eeac6, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff3352bb, rs 0xffffffff99a95df3, rt 0x285e1d47
+dsrlv $s0, $s1, $s2 :: rd 0x663d06105583, rs 0x663d061055833287, rt 0xb620660a49732b90
+dsrlv $t0, $t1, $t2 :: rd 0xffff, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dsrlv $s0, $s1, $s2 :: rd 0xab7dd0488, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+dsrlv $t0, $t1, $t2 :: rd 0x7fffff, rs 0xffffffff902b669d, rt 0x21dc2629
+dsrlv $s0, $s1, $s2 :: rd 0x3d, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffe, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dsrlv $s0, $s1, $s2 :: rd 0xda, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffffc16, rs 0xffffffffe0b41de7, rt 0x51435d53
+dsrlv $s0, $s1, $s2 :: rd 0x9ca4bdbd, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+dsrlv $t0, $t1, $t2 :: rd 0xfffffff, rs 0xffffffffe4750050, rt 0x558240e4
+dsrlv $s0, $s1, $s2 :: rd 0x1fabafa3b32, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+dsrlv $t0, $t1, $t2 :: rd 0x7, rs 0xffffffffe9362689, rt 0x58c1663d
+dsrlv $s0, $s1, $s2 :: rd 0x1fa32a9f6569ba6, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffffb7dce, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dsrlv $s0, $s1, $s2 :: rd 0xba6ae5f4fbb7c, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffffe760, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dsrlv $s0, $s1, $s2 :: rd 0x6d4deff478193, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+dsrlv $t0, $t1, $t2 :: rd 0xff, rs 0xfffffffff771768c, rt 0x46863638
+dsrlv $s0, $s1, $s2 :: rd 0x1177271c62abd93, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffff, rs 0xfffffffffa325055, rt 0x4bc510e1
+dsrlv $s0, $s1, $s2 :: rd 0x696f92e, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffffb, rs 0xfffffffffef34de2, rt 0x4f040d56
+dsrlv $s0, $s1, $s2 :: rd 0xbc65b, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+dsrlv $t0, $t1, $t2 :: rd 0x1fffff, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dsrlv $s0, $s1, $s2 :: rd 0x151, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffc, rs 0xffffffffc27dede8, rt 0x738aad5c
+dsrlv $s0, $s1, $s2 :: rd 0x4295ade57c6fe6, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffe79f659, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dsrlv $s0, $s1, $s2 :: rd 0x8f12136b, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+dsrlv $t0, $t1, $t2 :: rd 0x3fff, rs 0xffffffffcbffd686, rt 0x7a089632
+dsrlv $s0, $s1, $s2 :: rd 0x2fecc7321e15cd, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+dsrlv $t0, $t1, $t2 :: rd 0x1ff, rs 0xffffffffd5b88683, rt 0x644fc637
+dsrlv $s0, $s1, $s2 :: rd 0x5b32f6af3fc4f4, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+dsrlv $s0, $s1, $s2 :: rd 0xaed4a3a5b, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffee, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dsrlv $s0, $s1, $s2 :: rd 0xf, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+dsrlv $t0, $t1, $t2 :: rd 0x3ffff, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dsrlv $s0, $s1, $s2 :: rd 0x447af9fc572c3, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+dsrlv $t0, $t1, $t2 :: rd 0x1a, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dsrlv $s0, $s1, $s2 :: rd 0x841669ea66, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dsrlv $s0, $s1, $s2 :: rd 0x897c8c8ddd46b, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x608edb80, rt 0xffffffffd1799b34
+dsrlv $s0, $s1, $s2 :: rd 0x7a38744, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+dsrlv $t0, $t1, $t2 :: rd 0xc89f8c6, rs 0x644fc637, rt 0xffffffffd5b88683
+dsrlv $s0, $s1, $s2 :: rd 0x144bca6c, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+dsrlv $t0, $t1, $t2 :: rd 0x1e82258, rs 0x7a089632, rt 0xffffffffcbffd686
+dsrlv $s0, $s1, $s2 :: rd 0x1d5bdab8a7b5a, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dsrlv $s0, $s1, $s2 :: rd 0x453114, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x738aad5c, rt 0xffffffffc27dede8
+dsrlv $s0, $s1, $s2 :: rd 0x2c3c3f, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dsrlv $s0, $s1, $s2 :: rd 0x1ffd879e37, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x4f040d56, rt 0xfffffffffef34de2
+dsrlv $s0, $s1, $s2 :: rd 0x114cd87, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+dsrlv $t0, $t1, $t2 :: rd 0x25e, rs 0x4bc510e1, rt 0xfffffffffa325055
+dsrlv $s0, $s1, $s2 :: rd 0x1f0ec119cf431b8, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+dsrlv $t0, $t1, $t2 :: rd 0x46863, rs 0x46863638, rt 0xfffffffff771768c
+dsrlv $s0, $s1, $s2 :: rd 0x164e17c1e, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dsrlv $s0, $s1, $s2 :: rd 0x1f49, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dsrlv $s0, $s1, $s2 :: rd 0x1cbd346, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+dsrlv $t0, $t1, $t2 :: rd 0x2c60b3, rs 0x58c1663d, rt 0xffffffffe9362689
+dsrlv $s0, $s1, $s2 :: rd 0x1f17d02c8, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+dsrlv $t0, $t1, $t2 :: rd 0x5582, rs 0x558240e4, rt 0xffffffffe4750050
+dsrlv $s0, $s1, $s2 :: rd 0xf9464b2f, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x51435d53, rt 0xffffffffe0b41de7
+dsrlv $s0, $s1, $s2 :: rd 0x7e, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dsrlv $s0, $s1, $s2 :: rd 0x12ba, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+dsrlv $t0, $t1, $t2 :: rd 0x1, rs 0x21dc2629, rt 0xffffffff902b669d
+dsrlv $s0, $s1, $s2 :: rd 0x18a65c31c3, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+dsrlv $t0, $t1, $t2 :: rd 0x2c9f00f, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dsrlv $s0, $s1, $s2 :: rd 0x167fbd8529e50f, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x285e1d47, rt 0xffffffff99a95df3
+dsrlv $s0, $s1, $s2 :: rd 0x16c40cc1492e657, rs 0xb620660a49732b90, rt 0x663d061055833287
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x36194d42, rt 0xffffffff87ee0df6
+dsrlv $s0, $s1, $s2 :: rd 0x993138f16cfde9, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+dsrlv $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0x6f016, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+dsrlv $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0x2747, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dsrlv $s0, $s1, $s2 :: rd 0x3a1a48d341438, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+dsrlv $t0, $t1, $t2 :: rd 0xc5, rs 0x315d626, rt 0xffffffffb2e29692
+dsrlv $s0, $s1, $s2 :: rd 0x467f, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dsrlv $s0, $s1, $s2 :: rd 0x173, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dsrlv $s0, $s1, $s2 :: rd 0x2eaa5aa705, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+dsrlv $t0, $t1, $t2 :: rd 0x1cade, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dsrlv $s0, $s1, $s2 :: rd 0x1a64ea71, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+dsrlv $t0, $t1, $t2 :: rd 0x4046, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dsrlv $s0, $s1, $s2 :: rd 0x10ba7e152, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dsrlv $s0, $s1, $s2 :: rd 0x1e3939433b3, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x19939b94, rt 0xffffffffa864db20
+dsrlv $s0, $s1, $s2 :: rd 0x1ed6df47f9, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+dsrlv $t0, $t1, $t2 :: rd 0x3a, rs 0x1d528623, rt 0xffffffffaca5c697
+dsrlv $s0, $s1, $s2 :: rd 0x39c8b24, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+dsrlv $t0, $t1, $t2 :: rd 0x3f, rs 0xfffffffff12f560e, rt 0x40d816ba
+dsrlv $s0, $s1, $s2 :: rd 0x276af70a, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+dsrlv $t0, $t1, $t2 :: rd 0x7ffffffffaf72, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dsrlv $s0, $s1, $s2 :: rd 0xc116fdad79d2d, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+dsrlv $t0, $t1, $t2 :: rd 0xfffffffff8a, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dsrlv $s0, $s1, $s2 :: rd 0x808, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+dsrlv $t0, $t1, $t2 :: rd 0x1fffffff, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dsrlv $s0, $s1, $s2 :: rd 0x1f078aae872, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffff, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dsrlv $s0, $s1, $s2 :: rd 0x3, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+dsrlv $t0, $t1, $t2 :: rd 0x7ffffffff375, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dsrlv $s0, $s1, $s2 :: rd 0x1, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffeba91b, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dsrlv $s0, $s1, $s2 :: rd 0xc14a43d33, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+dsrlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dsrlv $s0, $s1, $s2 :: rd 0xb411e756b8d0, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff5c9eeed, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dsrlv $s0, $s1, $s2 :: rd 0xc7a59b, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+dsrlv $t0, $t1, $t2 :: rd 0x7ff, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dsrlv $s0, $s1, $s2 :: rd 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+dsrlv $t0, $t1, $t2 :: rd 0xfffff, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dsrlv $s0, $s1, $s2 :: rd 0xae184, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffffb, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dsrlv $s0, $s1, $s2 :: rd 0x4a3159, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dsrlv $s0, $s1, $s2 :: rd 0xe87, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+dsrlv $s0, $s1, $s2 :: rd 0x126f646f34c3, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+dsrlv $t0, $t1, $t2 :: rd 0xffff, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dsrlv $s0, $s1, $s2 :: rd 0x1556032c2ad, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+dsrlv $s0, $s1, $s2 :: rd 0x7535cd338595d34, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffef4fa3, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dsrlv $s0, $s1, $s2 :: rd 0x6fd92a6, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+dsrlv $t0, $t1, $t2 :: rd 0x7, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dsrlv $s0, $s1, $s2 :: rd 0x150ce4d920103, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+dsrlv $t0, $t1, $t2 :: rd 0xfffffff, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dsrlv $s0, $s1, $s2 :: rd 0x9bfeff, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff60f, rs 0xffffffffb07daba7, rt 0x18aeb13
+dsrlv $s0, $s1, $s2 :: rd 0xc7699826b7dee244, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffeb8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dsrlv $s0, $s1, $s2 :: rd 0x780f5f2ff74, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffff, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dsrlv $s0, $s1, $s2 :: rd 0x1484d937013162, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+dsrlv $t0, $t1, $t2 :: rd 0xff, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dsrlv $s0, $s1, $s2 :: rd 0x1c1ef76b1, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff46f3, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dsrlv $s0, $s1, $s2 :: rd 0xe336c60cdeeb, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+dsrlv $t0, $t1, $t2 :: rd 0x3fff, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dsrlv $s0, $s1, $s2 :: rd 0x1ab64, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffcffbbeb, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dsrlv $s0, $s1, $s2 :: rd 0x1, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+dsrlv $t0, $t1, $t2 :: rd 0xffffffff9, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dsrlv $s0, $s1, $s2 :: rd 0x986a2, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+dsrlv $t0, $t1, $t2 :: rd 0x1fffff, rs 0xffffffff9675461f, rt 0x278206ab
+dsrlv $s0, $s1, $s2 :: rd 0x152e9d5887, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+dsrlv $t0, $t1, $t2 :: rd 0x3ffff, rs 0xffffffff8832161a, rt 0x39c556ae
+dsrlv $s0, $s1, $s2 :: rd 0x28e230589, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffc6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dsrlv $s0, $s1, $s2 :: rd 0x1d182, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+dsrlv $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+dsrlv $s0, $s1, $s2 :: rd 0xadaa5a76, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+dsrlv $t0, $t1, $t2 :: rd 0x1ff, rs 0xffffffff857130c3, rt 0x34867077
+dsrlv $s0, $s1, $s2 :: rd 0x3d5a6, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dsrlv $s0, $s1, $s2 :: rd 0x2d0ab5b9, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+dsrlv $t0, $t1, $t2 :: rd 0x16, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dsrlv $s0, $s1, $s2 :: rd 0x4bf8485ab72892, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+dsrlv $t0, $t1, $t2 :: rd 0xa81157e, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dsrlv $s0, $s1, $s2 :: rd 0x3b51e, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dsrlv $s0, $s1, $s2 :: rd 0xc, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dsrlv $s0, $s1, $s2 :: rd 0xa6c0d7697, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+dsrlv $t0, $t1, $t2 :: rd 0x1293fef, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dsrlv $s0, $s1, $s2 :: rd 0x197e09640dbc8cf, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dsrlv $s0, $s1, $s2 :: rd 0x7df107098e5df9, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dsrlv $s0, $s1, $s2 :: rd 0x71638f76d454, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+dsrlv $t0, $t1, $t2 :: rd 0x3dc, rs 0x7b827d21, rt 0xffffffffca753d95
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x7f436096, rt 0xffffffffceb42022
+dsrlv $s0, $s1, $s2 :: rd 0xbd559bb3fb228f, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x7200464f, rt 0xffffffffc3f706fb
+dsrlv $s0, $s1, $s2 :: rd 0x2ee11c3e6, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+dsrlv $t0, $t1, $t2 :: rd 0x76c15, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dsrlv $s0, $s1, $s2 :: rd 0xba85, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+dsrlv $t0, $t1, $t2 :: rd 0x344305, rs 0x68860bfd, rt 0xffffffffd9714b49
+dsrlv $s0, $s1, $s2 :: rd 0x14abf36, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x6c47164a, rt 0xffffffffddb056fe
+dsrlv $s0, $s1, $s2 :: rd 0x124eaacd546b9556, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x61043093, rt 0xffffffffd0f37027
+dsrlv $s0, $s1, $s2 :: rd 0x66b, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+dsrlv $t0, $t1, $t2 :: rd 0x65c5, rs 0x65c52d24, rt 0xffffffffd4326d90
+dsrlv $s0, $s1, $s2 :: rd 0x7f, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dsrlv $s0, $s1, $s2 :: rd 0x1f8d739b55b99, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dsrlv $s0, $s1, $s2 :: rd 0x2a505, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x18197087, rt 0xffffffffa9ee3033
+dsrlv $s0, $s1, $s2 :: rd 0x13c, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+dsrlv $t0, $t1, $t2 :: rd 0x1cd86d3, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dsrlv $s0, $s1, $s2 :: rd 0x236570124a, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+dsrlv $t0, $t1, $t2 :: rd 0x14f9e9a, rs 0x29f3d35, rt 0xffffffffb3687d81
+dsrlv $s0, $s1, $s2 :: rd 0x1e5cf492, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x65e2082, rt 0xffffffffb7a96036
+dsrlv $s0, $s1, $s2 :: rd 0xeeb699, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dsrlv $s0, $s1, $s2 :: rd 0x1457094c6a22204, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+dsrlv $t0, $t1, $t2 :: rd 0xf, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dsrlv $s0, $s1, $s2 :: rd 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x3793a651, rt 0xffffffff8664e6e5
+dsrlv $s0, $s1, $s2 :: rd 0xa3d9, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+dsrlv $t0, $t1, $t2 :: rd 0xcd4, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dsrlv $s0, $s1, $s2 :: rd 0xea3, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+dsrlv $t0, $t1, $t2 :: rd 0x7c233, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dsrlv $s0, $s1, $s2 :: rd 0x949ca, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dsrlv $s0, $s1, $s2 :: rd 0x7f567f35a69, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x2497d08d, rt 0xffffffff95609039
+dsrlv $s0, $s1, $s2 :: rd 0x30, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+dsrlv $t0, $t1, $t2 :: rd 0x815b, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dsrlv $s0, $s1, $s2 :: rd 0x4ab4, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+dsrlv $t0, $t1, $t2 :: rd 0x5a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dsrlv $s0, $s1, $s2 :: rd 0x1048d589a43, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dsrlv $s0, $s1, $s2 :: rd 0xd4daae, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffe2d49, rs 0xffffffffc5a92679, rt 0x745e66cd
+dsrlv $s0, $s1, $s2 :: rd 0x1ab1d9757bc6a, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+dsrlv $t0, $t1, $t2 :: rd 0x3f, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dsrlv $s0, $s1, $s2 :: rd 0x15d5523f42302, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+dsrlv $t0, $t1, $t2 :: rd 0x1fffffff, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dsrlv $s0, $s1, $s2 :: rd 0x8bb640fb8ed98dd, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffc8e, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dsrlv $s0, $s1, $s2 :: rd 0x2f8, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffeb56, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dsrlv $s0, $s1, $s2 :: rd 0xbdf88928705, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffff, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dsrlv $s0, $s1, $s2 :: rd 0x54bc7, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+dsrlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dsrlv $s0, $s1, $s2 :: rd 0x2, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffdbee76, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dsrlv $s0, $s1, $s2 :: rd 0x2d13baa, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+dsrlv $t0, $t1, $t2 :: rd 0x7ff, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dsrlv $s0, $s1, $s2 :: rd 0x3f, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff9d8359d, rs 0xffffffffe760d676, rt 0x569796c2
+dsrlv $s0, $s1, $s2 :: rd 0x9dac727bf0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffffd, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dsrlv $s0, $s1, $s2 :: rd 0x1e, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+dsrlv $t0, $t1, $t2 :: rd 0xfffff, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dsrlv $s0, $s1, $s2 :: rd 0x40f7db63d7e8622, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+dsrlv $t0, $t1, $t2 :: rd 0x7fffff, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dsrlv $s0, $s1, $s2 :: rd 0x1ddb1e6a30, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dsrlv $s0, $s1, $s2 :: rd 0x56d7, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+dsrlv $t0, $t1, $t2 :: rd 0x1fffffffff24f0c, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dsrlv $s0, $s1, $s2 :: rd 0xd0186, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+dsrlv $t0, $t1, $t2 :: rd 0xffff, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dsrlv $s0, $s1, $s2 :: rd 0x2e91b44c96, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+dsrlv $t0, $t1, $t2 :: rd 0x7, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dsrlv $s0, $s1, $s2 :: rd 0x69fbf93526057d, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffe35e78, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dsrlv $s0, $s1, $s2 :: rd 0x3, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff007, rs 0xffffffff803ac667, rt 0x31cd86d3
+dsrlv $s0, $s1, $s2 :: rd 0x1d212894983a6, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+dsrlv $t0, $t1, $t2 :: rd 0xfffffff, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dsrlv $s0, $s1, $s2 :: rd 0x65fd698fddef9839, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffff, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dsrlv $s0, $s1, $s2 :: rd 0x1893dc75b036, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffe79, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dsrlv $s0, $s1, $s2 :: rd 0x3d54a0f45, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff267d, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dsrlv $s0, $s1, $s2 :: rd 0x1b96104f2179d, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+dsrlv $t0, $t1, $t2 :: rd 0xff, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dsrlv $s0, $s1, $s2 :: rd 0x30f870b7, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffd7d8085, rs 0xffffffffafb010b1, rt 0x1e475005
+dsrlv $s0, $s1, $s2 :: rd 0x13c, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+dsrlv $t0, $t1, $t2 :: rd 0x3fff, rs 0xffffffffab710d06, rt 0x1a864db2
+dsrlv $s0, $s1, $s2 :: rd 0x6, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+dsrlv $t0, $t1, $t2 :: rd 0x1fffff, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dsrlv $s0, $s1, $s2 :: rd 0x5743d, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffa, rs 0xffffffffa2f33668, rt 0x130476dc
+dsrlv $s0, $s1, $s2 :: rd 0x163b191359206bc5, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffde, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dsrlv $s0, $s1, $s2 :: rd 0xd, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+dsrlv $t0, $t1, $t2 :: rd 0x3ffff, rs 0xffffffffb8757bda, rt 0x9823b6e
+dsrlv $s0, $s1, $s2 :: rd 0x775, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0xc29b3688be2, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0x28a9bb, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb550000, rs 0x12bd6aa, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x95eb550, rs 0x12bd6aa, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff82d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7e876382d2ab13, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x55898000, rs 0x7e876382d2ab13, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x16955898, rs 0x7e876382d2ab13, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1db70000, rs 0x9823b6e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4c11db70, rs 0x9823b6e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x976d6e9ac31510f3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff88798000, rs 0x976d6e9ac31510f3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x18a88798, rs 0x976d6e9ac31510f3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd4326d9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff936c8000, rs 0xd4326d9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6a1936c8, rs 0xd4326d9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb7746d775ad6a5fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x52fd8000, rs 0xb7746d775ad6a5fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd6b52fd8, rs 0xb7746d775ad6a5fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3b6e0000, rs 0x130476dc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9823b6e0, rs 0x130476dc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8677b502, rs 0x42b0c0a28677b502, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffda810000, rs 0x42b0c0a28677b502, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x33bda810, rs 0x42b0c0a28677b502, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x17c56b6b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb5b58000, rs 0x17c56b6b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbe2b5b58, rs 0x17c56b6b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2aa89d319e3c30ad, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18568000, rs 0x2aa89d319e3c30ad, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff1e18568, rs 0x2aa89d319e3c30ad, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x26d90000, rs 0x1a864db2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd4326d90, rs 0x1a864db2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x77fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1f308ec377fb413d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa09e8000, rs 0x1f308ec377fb413d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbfda09e8, rs 0x1f308ec377fb413d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1e475005, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa8028000, rs 0x1e475005, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff23a8028, rs 0x1e475005, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7aa04213c760e4f7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x727b8000, rs 0x7aa04213c760e4f7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3b0727b8, rs 0x7aa04213c760e4f7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x76dc0000, rs 0x2608edb8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x30476dc0, rs 0x2608edb8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x9e705cc51ad8dca0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6e500000, rs 0x9e705cc51ad8dca0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd6c6e500, rs 0x9e705cc51ad8dca0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x22c9f00f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff8078000, rs 0x22c9f00f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x164f8078, rs 0x22c9f00f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4b3dda869615a60d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd3068000, rs 0x4b3dda869615a60d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb0ad3068, rs 0x4b3dda869615a60d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6b6b0000, rs 0x2f8ad6d6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7c56b6b0, rs 0x2f8ad6d6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5e7a4dd6353d41d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffea0e8000, rs 0x5e7a4dd6353d41d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a9ea0e8, rs 0x5e7a4dd6353d41d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2b4bcb61, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe5b08000, rs 0x2b4bcb61, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5a5e5b08, rs 0x2b4bcb61, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3af35a9dc40bd413, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffea098000, rs 0x3af35a9dc40bd413, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x205ea098, rs 0x3af35a9dc40bd413, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4db20000, rs 0x350c9b64, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa864db20, rs 0x350c9b64, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9a08a180, rs 0x47f505569a08a180, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x47f505569a08a180, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x50c00000, rs 0x47f505569a08a180, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd0450c00, rs 0x47f505569a08a180, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x31cd86d3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc3698000, rs 0x31cd86d3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8e6c3698, rs 0x31cd86d3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x9564b77fd6d2040f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2078000, rs 0x9564b77fd6d2040f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb6902078, rs 0x9564b77fd6d2040f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x50050000, rs 0x3c8ea00a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe4750050, rs 0x3c8ea00a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xcebc8279b2c76bbe, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb5df0000, rs 0xcebc8279b2c76bbe, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff963b5df0, rs 0xcebc8279b2c76bbe, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x384fbdbd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdede8000, rs 0x384fbdbd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc27dede8, rs 0x384fbdbd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb5034c2f1f18e4c7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x72638000, rs 0xb5034c2f1f18e4c7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff8c72638, rs 0xb5034c2f1f18e4c7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffedb80000, rs 0x4c11db70, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x608edb80, rs 0x4c11db70, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x94ff52fc81afa797, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd3cb8000, rs 0x94ff52fc81afa797, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xd7d3cb8, rs 0x94ff52fc81afa797, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x48d0c6c7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x63638000, rs 0x48d0c6c7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x46863638, rs 0x48d0c6c7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x28750000, rs 0x31d8d9166dfc50ea, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6fe28750, rs 0x31d8d9166dfc50ea, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff00f0000, rs 0x4593e01e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2c9f00f0, rs 0x4593e01e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x78e895b1, rs 0x36549bd678e895b1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x36549bd678e895b1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4ad88000, rs 0x36549bd678e895b1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc744ad88, rs 0x36549bd678e895b1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4152fda9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7ed48000, rs 0x4152fda9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xa97ed48, rs 0x4152fda9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x85e0a6319b63259b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff92cd8000, rs 0x85e0a6319b63259b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdb192cd8, rs 0x85e0a6319b63259b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd6d60000, rs 0x5f15adac, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff8ad6d60, rs 0x5f15adac, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x556b3ecaccf17ac5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbd628000, rs 0x556b3ecaccf17ac5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x678bd628, rs 0x556b3ecaccf17ac5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5bd4b01b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x580d8000, rs 0x5bd4b01b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdea580d8, rs 0x5bd4b01b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff81eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb42f5fc581eea0fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x507d8000, rs 0xb42f5fc581eea0fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xf7507d8, rs 0xb42f5fc581eea0fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcb610000, rs 0x569796c2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb4bcb610, rs 0x569796c2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x14682d97, rs 0x25b50fec14682d97, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x25b50fec14682d97, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x16cb8000, rs 0x25b50fec14682d97, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa3416cb8, rs 0x25b50fec14682d97, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x52568b75, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x45ba8000, rs 0x52568b75, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff92b45ba8, rs 0x52568b75, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfc93c5132cfb087a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff843d0000, rs 0xfc93c5132cfb087a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x67d843d0, rs 0xfc93c5132cfb087a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9b640000, rs 0x6a1936c8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x50c9b640, rs 0x6a1936c8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3b30000, rs 0x3c2cd9a9cda20766, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6d103b30, rs 0x3c2cd9a9cda20766, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x6ed82b7f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x15bf8000, rs 0x6ed82b7f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x76c15bf8, rs 0x6ed82b7f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6d1f0000, rs 0x1791722a7d72da3e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeb96d1f0, rs 0x1791722a7d72da3e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff86d30000, rs 0x639b0da6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1cd86d30, rs 0x639b0da6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff93ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x87cc9d193ce24ad, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x12568000, rs 0x87cc9d193ce24ad, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9e712568, rs 0x87cc9d193ce24ad, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x675a1011, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x8088000, rs 0x675a1011, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3ad08088, rs 0x675a1011, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x38984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x27690000, rs 0x1d2a757038984ed2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc4c27690, rs 0x1d2a757038984ed2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa00a0000, rs 0x791d4014, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc8ea00a0, rs 0x791d4014, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x710cd036, rs 0xd0d070db710cd036, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xd0d070db710cd036, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x681b0000, rs 0xd0d070db710cd036, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff886681b0, rs 0xd0d070db710cd036, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7ddc5da3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2ed18000, rs 0x7ddc5da3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeee2ed18, rs 0x7ddc5da3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3415604, rs 0x39c21c7d03415604, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x39c21c7d03415604, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffab020000, rs 0x39c21c7d03415604, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a0ab020, rs 0x39c21c7d03415604, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbdbd0000, rs 0x709f7b7a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff84fbdbd0, rs 0x709f7b7a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8e94b7af8ecc31ce, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18e70000, rs 0x8e94b7af8ecc31ce, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x76618e70, rs 0x8e94b7af8ecc31ce, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x745e66cd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x33668000, rs 0x745e66cd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa2f33668, rs 0x745e66cd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x24eb6a8d1ce7674f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb3a78000, rs 0x24eb6a8d1ce7674f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe73b3a78, rs 0x24eb6a8d1ce7674f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9823b6e0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdb700000, rs 0xffffffff9823b6e0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc11db700, rs 0xffffffff9823b6e0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x12d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2f39454412d6e4a7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x72538000, rs 0x2f39454412d6e4a7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff96b72538, rs 0x2f39454412d6e4a7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff9ce2ab57, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x55ab8000, rs 0xffffffff9ce2ab57, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe7155ab8, rs 0xffffffff9ce2ab57, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x56da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x262a0000, rs 0x2608c2b756da4c54, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb6d262a0, rs 0x2608c2b756da4c54, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff91a18d8e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc6c70000, rs 0xffffffff91a18d8e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8d0c6c70, rs 0xffffffff91a18d8e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x900102dac8d7252f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff92978000, rs 0x900102dac8d7252f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x46b92978, rs 0x900102dac8d7252f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff95609039, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x481c8000, rs 0xffffffff95609039, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffab0481c8, rs 0xffffffff95609039, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xc890d5f1f2efa4f7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd27b8000, rs 0xc890d5f1f2efa4f7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff977d27b8, rs 0xc890d5f1f2efa4f7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8b27c03c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe01e0000, rs 0xffffffff8b27c03c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x593e01e0, rs 0xffffffff8b27c03c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x510a0000, rs 0xed5005cbc8b0a214, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x458510a0, rs 0xed5005cbc8b0a214, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff8fe6dd8b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6ec58000, rs 0xffffffff8fe6dd8b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7f36ec58, rs 0xffffffff8fe6dd8b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5991136c, rs 0x314791895991136c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x314791895991136c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff89b60000, rs 0x314791895991136c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcc889b60, rs 0x314791895991136c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff82a5fb52, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffda90000, rs 0xffffffff82a5fb52, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x152fda90, rs 0xffffffff82a5fb52, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xc6eecff99a2fb6f3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdb798000, rs 0xc6eecff99a2fb6f3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd17db798, rs 0xc6eecff99a2fb6f3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff8664e6e5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x73728000, rs 0xffffffff8664e6e5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x33273728, rs 0xffffffff8664e6e5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x38895270, rs 0xa809521238895270, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xa809521238895270, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa9380000, rs 0xa809521238895270, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc44a9380, rs 0xa809521238895270, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffadac0000, rs 0xffffffffbe2b5b58, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff15adac0, rs 0xffffffffbe2b5b58, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffad765040, rs 0x87750a04ad765040, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x87750a04ad765040, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x28200000, rs 0x87750a04ad765040, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6bb28200, rs 0x87750a04ad765040, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffbaea46ef, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x23778000, rs 0xffffffffbaea46ef, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd7523778, rs 0xffffffffbaea46ef, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2c3de85e84bb5a83, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffad418000, rs 0x2c3de85e84bb5a83, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x25dad418, rs 0x2c3de85e84bb5a83, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb7a96036, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb01b0000, rs 0xffffffffb7a96036, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbd4b01b0, rs 0xffffffffb7a96036, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xae6aff8fc506aa67, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x55338000, rs 0xae6aff8fc506aa67, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x28355338, rs 0xae6aff8fc506aa67, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffb3687d81, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3ec08000, rs 0xffffffffb3687d81, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9b43ec08, rs 0xffffffffb3687d81, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xc07112dd60ed5ee3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffaf718000, rs 0xc07112dd60ed5ee3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x76af718, rs 0xc07112dd60ed5ee3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff96c20000, rs 0xffffffffad2f2d84, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x69796c20, rs 0xffffffffad2f2d84, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x30dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc4c770f630dcca5a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x652d0000, rs 0xc4c770f630dcca5a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff86e652d0, rs 0xc4c770f630dcca5a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffa9ee3033, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18198000, rs 0xffffffffa9ee3033, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4f718198, rs 0xffffffffa9ee3033, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff83cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xdfec2b2383cd5277, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa93b8000, rs 0xdfec2b2383cd5277, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1e6a93b8, rs 0xdfec2b2383cd5277, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa4ad16ea, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8b750000, rs 0xffffffffa4ad16ea, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2568b750, rs 0xffffffffa4ad16ea, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd3adba260ff7d96b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffecb58000, rs 0xd3adba260ff7d96b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7fbecb58, rs 0xd3adba260ff7d96b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffa06c0b5d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5ae8000, rs 0xffffffffa06c0b5d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3605ae8, rs 0xffffffffa06c0b5d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x60070000, rs 0x4ab4aa798418c00e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x20c60070, rs 0x4ab4aa798418c00e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd4326d90, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x36c80000, rs 0xffffffffd4326d90, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa1936c80, rs 0xffffffffd4326d90, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xde0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xbb8c035e0de0f0b8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x785c0000, rs 0xbb8c035e0de0f0b8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6f0785c0, rs 0xbb8c035e0de0f0b8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffd0f37027, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb8138000, rs 0xffffffffd0f37027, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff879b8138, rs 0xffffffffd0f37027, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x33b06f54a97fdcf1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffee788000, rs 0x33b06f54a97fdcf1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4bfee788, rs 0x33b06f54a97fdcf1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffddb056fe, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2b7f0000, rs 0xffffffffddb056fe, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffed82b7f0, rs 0xffffffffddb056fe, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x77433f373fd1c081, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe0408000, rs 0x77433f373fd1c081, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffe8e0408, rs 0x77433f373fd1c081, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffd9714b49, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa5a48000, rs 0xffffffffd9714b49, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcb8a5a48, rs 0xffffffffd9714b49, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc92195e4, rs 0xec91d993c92195e4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xec91d993c92195e4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcaf20000, rs 0xec91d993c92195e4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x490caf20, rs 0xec91d993c92195e4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xda60000, rs 0xffffffffc7361b4c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x39b0da60, rs 0xffffffffc7361b4c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff95b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x49fbf6a795b1a5ab, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd2d58000, rs 0x49fbf6a795b1a5ab, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffad8d2d58, rs 0x49fbf6a795b1a5ab, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffc3f706fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff837d8000, rs 0xffffffffc3f706fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1fb837d8, rs 0xffffffffc3f706fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x468f0000, rs 0x19364378c7ce8d1e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3e7468f0, rs 0x19364378c7ce8d1e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffceb42022, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x10110000, rs 0xffffffffceb42022, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x75a10110, rs 0xffffffffceb42022, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2f384907, rs 0xb99e8def2f384907, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb99e8def2f384907, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x24838000, rs 0xb99e8def2f384907, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x79c24838, rs 0xb99e8def2f384907, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffca753d95, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9eca8000, rs 0xffffffffca753d95, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x53a9eca8, rs 0xffffffffca753d95, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff897f0000, rs 0x47eacdcd582b12fe, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc15897f0, rs 0x47eacdcd582b12fe, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff23a8028, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x40140000, rs 0xfffffffff23a8028, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff91d40140, rs 0xfffffffff23a8028, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd685884e76558c4f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc6278000, rs 0xd685884e76558c4f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb2ac6278, rs 0xd685884e76558c4f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffff6fb9d9f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcecf8000, rs 0xfffffffff6fb9d9f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb7dcecf8, rs 0xfffffffff6fb9d9f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x6168d62a34c195c7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcae38000, rs 0x6168d62a34c195c7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa60cae38, rs 0x6168d62a34c195c7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffbb8bb46, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5da30000, rs 0xfffffffffbb8bb46, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffddc5da30, rs 0xfffffffffbb8bb46, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4df47405, rs 0xd30169894df47405, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd30169894df47405, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3a028000, rs 0xd30169894df47405, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6fa3a028, rs 0xd30169894df47405, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffff79a6f1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd3788000, rs 0xffffffffff79a6f1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffbcd3788, rs 0xffffffffff79a6f1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1ca190bf6cbb06db, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff836d8000, rs 0x1ca190bf6cbb06db, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x65d836d8, rs 0x1ca190bf6cbb06db, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe13ef6f4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7b7a0000, rs 0xffffffffe13ef6f4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x9f7b7a0, rs 0xffffffffe13ef6f4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9cae393a, rs 0x58300f029cae393a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x58300f029cae393a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1c9d0000, rs 0x58300f029cae393a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe571c9d0, rs 0x58300f029cae393a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffe5ffeb43, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff5a18000, rs 0xffffffffe5ffeb43, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2fff5a18, rs 0xffffffffe5ffeb43, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5e168000, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe3f5e168, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe8bccd9a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x66cd0000, rs 0xffffffffe8bccd9a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x45e66cd0, rs 0xffffffffe8bccd9a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe3405b48, rs 0x8a96047be3405b48, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8a96047be3405b48, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2da40000, rs 0x8a96047be3405b48, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a02da40, rs 0x8a96047be3405b48, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffec7dd02d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe8168000, rs 0xffffffffec7dd02d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x63ee8168, rs 0xffffffffec7dd02d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd519d322, rs 0x75bfafd2d519d322, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe9910000, rs 0x75bfafd2d519d322, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa8ce9910, rs 0x75bfafd2d519d322, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x34867077, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x383b8000, rs 0x34867077, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa43383b8, rs 0x34867077, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xde230867a630f6ad, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7b568000, rs 0xde230867a630f6ad, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3187b568, rs 0xde230867a630f6ad, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb6e00000, rs 0x30476dc0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff823b6e00, rs 0x30476dc0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x56103260, rs 0x2c0a0cf256103260, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x19300000, rs 0x2c0a0cf256103260, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb0819300, rs 0x2c0a0cf256103260, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3d044b19, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x258c8000, rs 0x3d044b19, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe82258c8, rs 0x3d044b19, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x94a90544249b18ef, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8c778000, rs 0x94a90544249b18ef, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x24d8c778, rs 0x94a90544249b18ef, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffab570000, rs 0x39c556ae, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffce2ab570, rs 0x39c556ae, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xf9519fb55b56fcde, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7e6f0000, rs 0xf9519fb55b56fcde, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdab7e6f0, rs 0xf9519fb55b56fcde, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x278206ab, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3558000, rs 0x278206ab, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3c103558, rs 0x278206ab, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x468319b, rs 0x81daf8200468319b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x81daf8200468319b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18cd8000, rs 0x81daf8200468319b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x23418cd8, rs 0x81daf8200468319b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8d8e0000, rs 0x23431b1c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a18d8e0, rs 0x23431b1c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8c61ca5a5725f2ec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff9760000, rs 0x8c61ca5a5725f2ec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb92f9760, rs 0x8c61ca5a5725f2ec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2e003dc5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1ee28000, rs 0x2e003dc5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7001ee28, rs 0x2e003dc5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe45f8000, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x12ee45f8, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff90390000, rs 0x2ac12072, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x56090390, rs 0x2ac12072, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdac6162f, rs 0x300ce751dac6162f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x300ce751dac6162f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xb178000, rs 0x300ce751dac6162f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd630b178, rs 0x300ce751dac6162f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x128e9dcf, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4ee78000, rs 0x128e9dcf, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9474ee78, rs 0x128e9dcf, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x54280000, rs 0x6778fdf3ba52a850, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd2954280, rs 0x6778fdf3ba52a850, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc03c0000, rs 0x164f8078, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb27c03c0, rs 0x164f8078, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffda78479f, rs 0xad00b1f7da78479f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xad00b1f7da78479f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x23cf8000, rs 0xad00b1f7da78479f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd3c23cf8, rs 0xad00b1f7da78479f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1b0ca6a1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x53508000, rs 0x1b0ca6a1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd8653508, rs 0x1b0ca6a1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6cc50000, rs 0x8d44168a6b6d98a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x35b6cc50, rs 0x8d44168a6b6d98a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdd8b0000, rs 0x1fcdbb16, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffe6dd8b0, rs 0x1fcdbb16, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffce634413, rs 0xf518381dce634413, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf518381dce634413, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa2098000, rs 0xf518381dce634413, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x731a2098, rs 0xf518381dce634413, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x18aeb13, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x75898000, rs 0x18aeb13, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xc575898, rs 0x18aeb13, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffafe00000, rs 0xe4627f3fe5255fc0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x292afe00, rs 0xe4627f3fe5255fc0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffb520000, rs 0x54bf6a4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2a5fb520, rs 0x54bf6a4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x76321f28, rs 0xccd392e176321f28, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xccd392e176321f28, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xf940000, rs 0xccd392e176321f28, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb190f940, rs 0xccd392e176321f28, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x808d07d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x683e8000, rs 0x808d07d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x404683e8, rs 0x808d07d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4018fd8f, rs 0x829464944018fd8f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x829464944018fd8f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7ec78000, rs 0x829464944018fd8f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xc7ec78, rs 0x829464944018fd8f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe6e50000, rs 0xcc9cdca, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x664e6e50, rs 0xcc9cdca, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x52e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x15d3204052e8f0e5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x78728000, rs 0x15d3204052e8f0e5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff97478728, rs 0x15d3204052e8f0e5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7897ab07, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd5838000, rs 0x7897ab07, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc4bd5838, rs 0x7897ab07, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff9a20000, rs 0x7caf83d2880ff344, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x407f9a20, rs 0x7caf83d2880ff344, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5b580000, rs 0x7c56b6b0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe2b5b580, rs 0x7c56b6b0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x747defd7, rs 0xf156a04c747defd7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf156a04c747defd7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff7eb8000, rs 0xf156a04c747defd7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa3ef7eb8, rs 0xf156a04c747defd7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x71159069, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc8348000, rs 0x71159069, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff88ac8348, rs 0x71159069, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xf31d710, rs 0x93e2601c0f31d710, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb880000, rs 0x93e2601c0f31d710, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x798eb880, rs 0x93e2601c0f31d710, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x46ef0000, rs 0x75d48dde, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffaea46ef0, rs 0x75d48dde, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe1e1a679131cd933, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6c998000, rs 0xe1e1a679131cd933, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff98e6c998, rs 0xe1e1a679131cd933, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x6b93dddb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeeed8000, rs 0x6b93dddb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5c9eeed8, rs 0x6b93dddb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa76fa427, rs 0x24296b75a76fa427, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x24296b75a76fa427, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd2138000, rs 0x24296b75a76fa427, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3b7d2138, rs 0x24296b75a76fa427, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x60360000, rs 0x6f52c06c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7a960360, rs 0x6f52c06c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xd296e2d2139ee56a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x72b50000, rs 0xd296e2d2139ee56a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9cf72b50, rs 0xd296e2d2139ee56a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x6211e6b5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff35a8000, rs 0x6211e6b5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x108f35a8, rs 0x6211e6b5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x52e00000, rs 0x5a82447f6dc2a5c0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6e152e00, rs 0x5a82447f6dc2a5c0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7d810000, rs 0x66d0fb02, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3687d810, rs 0x66d0fb02, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe0b40000, rs 0x76c89e80c07dc168, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3ee0b40, rs 0x76c89e80c07dc168, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5e9f46bf, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa35f8000, rs 0x5e9f46bf, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff4fa35f8, rs 0x5e9f46bf, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x70dc3454bfe348f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1a478000, rs 0x70dc3454bfe348f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5ff1a478, rs 0x70dc3454bfe348f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2d840000, rs 0x5a5e5b08, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd2f2d840, rs 0x5a5e5b08, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xbddc7123dd6d241b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff920d8000, rs 0xbddc7123dd6d241b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeb6920d8, rs 0xbddc7123dd6d241b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x571d7dd1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbee88000, rs 0x571d7dd1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb8ebee88, rs 0x571d7dd1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xf62fb727a59fcebe, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe75f0000, rs 0xf62fb727a59fcebe, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2cfe75f0, rs 0xf62fb727a59fcebe, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x30330000, rs 0x53dc6066, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9ee30330, rs 0x53dc6066, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xf9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x109f27e90f9f46fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa37d8000, rs 0x109f27e90f9f46fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7cfa37d8, rs 0x109f27e90f9f46fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4d9b3063, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff98318000, rs 0x4d9b3063, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6cd98318, rs 0x4d9b3063, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffafd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3f63daa9afd199d7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcceb8000, rs 0x3f63daa9afd199d7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7e8cceb8, rs 0x3f63daa9afd199d7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x16ea0000, rs 0x495a2dd4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4ad16ea0, rs 0x495a2dd4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xdbcb312ea3d484f2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x42790000, rs 0xdbcb312ea3d484f2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1ea42790, rs 0xdbcb312ea3d484f2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x44190b0d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff85868000, rs 0x44190b0d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x20c85868, rs 0x44190b0d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffda4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff2630000, rs 0x1f353faada4fe4c6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd27f2630, rs 0x1f353faada4fe4c6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xb5d0000, rs 0x40d816ba, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6c0b5d0, rs 0x40d816ba, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7150c260, rs 0x8b086ee07150c260, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8b086ee07150c260, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x61300000, rs 0x8b086ee07150c260, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8a861300, rs 0x8b086ee07150c260, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffaca5c697, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe34b8000, rs 0xffffffffaca5c697, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x652e34b8, rs 0xffffffffaca5c697, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe54750d5d9257f25, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbf928000, rs 0xe54750d5d9257f25, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc92bf928, rs 0xe54750d5d9257f25, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa864db20, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6d900000, rs 0xffffffffa864db20, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4326d900, rs 0xffffffffa864db20, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3d69625fe9a6db5b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6dad8000, rs 0x3d69625fe9a6db5b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4d36dad8, rs 0x3d69625fe9a6db5b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffa527fdf9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffefc8000, rs 0xffffffffa527fdf9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x293fefc8, rs 0xffffffffa527fdf9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x564b0000, rs 0x70a3e0424340ac96, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a0564b0, rs 0x70a3e0424340ac96, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa1e6e04e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x70270000, rs 0xffffffffa1e6e04e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xf370270, rs 0xffffffffa1e6e04e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6980171e, rs 0xc0478f036980171e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc0478f036980171e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xb8f0000, rs 0xc0478f036980171e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4c00b8f0, rs 0xc0478f036980171e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffbfa1b04b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd8258000, rs 0xffffffffbfa1b04b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffd0d8258, rs 0xffffffffbfa1b04b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3ce839a51cf929e3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff94f18000, rs 0x3ce839a51cf929e3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe7c94f18, rs 0x3ce839a51cf929e3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbb60adfc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x56fe0000, rs 0xffffffffbb60adfc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdb056fe0, rs 0xffffffffbb60adfc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x44ac0000, rs 0xe2fbfa895eb68958, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff5b44ac0, rs 0xe2fbfa895eb68958, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffb6238b25, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc5928000, rs 0xffffffffb6238b25, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb11c5928, rs 0xffffffffb6238b25, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd24bb05d76ed25b7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff92db8000, rs 0xd24bb05d76ed25b7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb7692db8, rs 0xd24bb05d76ed25b7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb2e29692, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4b490000, rs 0xffffffffb2e29692, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9714b490, rs 0xffffffffb2e29692, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x170312f1, rs 0xeb9682c170312f1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xeb9682c170312f1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff89788000, rs 0xeb9682c170312f1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb8189788, rs 0xeb9682c170312f1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff8aad2b2f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff95978000, rs 0xffffffff8aad2b2f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x55695978, rs 0xffffffff8aad2b2f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x84785280dd301d0d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xe868000, rs 0x84785280dd301d0d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe980e868, rs 0x84785280dd301d0d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x179c77aa1f8fd6ef, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb778000, rs 0x179c77aa1f8fd6ef, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffc7eb778, rs 0x179c77aa1f8fd6ef, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2998436d, rs 0x26444ced2998436d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x26444ced2998436d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x21b68000, rs 0x26444ced2998436d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4cc21b68, rs 0x26444ced2998436d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff87ee0df6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6fb0000, rs 0xffffffff87ee0df6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3f706fb0, rs 0xffffffff87ee0df6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x53840000, rs 0x7175c9dd58ca708, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffac653840, rs 0x7175c9dd58ca708, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff99a95df3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffaef98000, rs 0xffffffff99a95df3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcd4aef98, rs 0xffffffff99a95df3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x55833287, rs 0x663d061055833287, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x663d061055833287, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff99438000, rs 0x663d061055833287, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffac199438, rs 0x663d061055833287, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9d684044, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x20220000, rs 0xffffffff9d684044, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeb420220, rs 0xffffffff9d684044, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xab7dd0488951d68b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb458000, rs 0xab7dd0488951d68b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4a8eb458, rs 0xab7dd0488951d68b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff902b669d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb34e8000, rs 0xffffffff902b669d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff815b34e8, rs 0xffffffff902b669d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xe82471b, rs 0xf69823670e82471b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf69823670e82471b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x238d8000, rs 0xf69823670e82471b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x741238d8, rs 0xf69823670e82471b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff94ea7b2a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3d950000, rs 0xffffffff94ea7b2a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa753d950, rs 0xffffffff94ea7b2a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff93590000, rs 0x36886c59d98d26b2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcc693590, rs 0x36886c59d98d26b2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffe0b41de7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xef38000, rs 0xffffffffe0b41de7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5a0ef38, rs 0xffffffffe0b41de7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x9ca4bdbd32be479, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff23c8000, rs 0x9ca4bdbd32be479, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff995f23c8, rs 0x9ca4bdbd32be479, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe4750050, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff80280000, rs 0xffffffffe4750050, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x23a80280, rs 0xffffffffe4750050, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfd5d7d1d9962e61f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x730f8000, rs 0xfd5d7d1d9962e61f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcb1730f8, rs 0xfd5d7d1d9962e61f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffe9362689, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x13448000, rs 0xffffffffe9362689, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x49b13448, rs 0xffffffffe9362689, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcad374df, rs 0x3f46553ecad374df, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3f46553ecad374df, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffba6f8000, rs 0x3f46553ecad374df, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x569ba6f8, rs 0x3f46553ecad374df, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffedf73b3e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9d9f0000, rs 0xffffffffedf73b3e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6fb9d9f0, rs 0xffffffffedf73b3e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff9538000, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff76f9538, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffff3b06b3b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x359d8000, rs 0xfffffffff3b06b3b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9d8359d8, rs 0xfffffffff3b06b3b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4f998000, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe064f998, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff771768c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbb460000, rs 0xfffffffff771768c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbb8bb460, rs 0xfffffffff771768c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x64ee0000, rs 0x8bb938e3155ec9dc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffaaf64ee0, rs 0x8bb938e3155ec9dc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffffa325055, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x282a8000, rs 0xfffffffffa325055, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd19282a8, rs 0xfffffffffa325055, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x19478206, rs 0xd2df25c419478206, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xd2df25c419478206, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc1030000, rs 0xd2df25c419478206, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffca3c1030, rs 0xd2df25c419478206, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffef34de2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa6f10000, rs 0xfffffffffef34de2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff79a6f10, rs 0xfffffffffef34de2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffeb321825, rs 0xbc65bf27eb321825, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xbc65bf27eb321825, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xc128000, rs 0xbc65bf27eb321825, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5990c128, rs 0xbc65bf27eb321825, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffc6bcf05f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x782f8000, rs 0xffffffffc6bcf05f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x35e782f8, rs 0xffffffffc6bcf05f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xa8b08fe67a8bc7da, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe3ed0000, rs 0xa8b08fe67a8bc7da, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd45e3ed0, rs 0xa8b08fe67a8bc7da, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc27dede8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff6f40000, rs 0xffffffffc27dede8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x13ef6f40, rs 0xffffffffc27dede8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x852b5bcaf8dfcde8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe6f40000, rs 0x852b5bcaf8dfcde8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc6fe6f40, rs 0x852b5bcaf8dfcde8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffcf3ecb31, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x65988000, rs 0xffffffffcf3ecb31, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x79f65988, rs 0xffffffffcf3ecb31, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x59a99269, rs 0x478909b59a99269, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x478909b59a99269, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc9348000, rs 0x478909b59a99269, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcd4c9348, rs 0x478909b59a99269, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffcbffd686, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb430000, rs 0xffffffffcbffd686, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5ffeb430, rs 0xffffffffcbffd686, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7857360f, rs 0xbfb31cc87857360f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xbfb31cc87857360f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9b078000, rs 0xbfb31cc87857360f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc2b9b078, rs 0xbfb31cc87857360f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffd5b88683, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x43418000, rs 0xffffffffd5b88683, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffadc43418, rs 0xffffffffd5b88683, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xb665ed5e7f89e9a2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff4d10000, rs 0xb665ed5e7f89e9a2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffc4f4d10, rs 0xb665ed5e7f89e9a2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd1799b34, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcd9a0000, rs 0xffffffffd1799b34, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8bccd9a0, rs 0xffffffffd1799b34, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6af20000, rs 0x15da9474b7a8d5e4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbd46af20, rs 0x15da9474b7a8d5e4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffdc3abded, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5ef68000, rs 0xffffffffdc3abded, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe1d5ef68, rs 0xffffffffdc3abded, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff87e60000, rs 0xf6b3537d2af90fcc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x57c87e60, rs 0xf6b3537d2af90fcc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd8fba05a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd02d0000, rs 0xffffffffd8fba05a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc7dd02d0, rs 0xffffffffd8fba05a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x223d7cfe2b961897, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xc4b8000, rs 0x223d7cfe2b961897, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5cb0c4b8, rs 0x223d7cfe2b961897, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x70770000, rs 0x690ce0ee, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x48670770, rs 0x690ce0ee, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x33734a4b, rs 0x420b34f533734a4b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x420b34f533734a4b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa5258000, rs 0x420b34f533734a4b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9b9a5258, rs 0x420b34f533734a4b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x6dcdfd59, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffeac8000, rs 0x6dcdfd59, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6e6feac8, rs 0x6dcdfd59, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x897c8c8ddd46b33c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x599e0000, rs 0x897c8c8ddd46b33c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffea3599e0, rs 0x897c8c8ddd46b33c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6dc00000, rs 0x608edb80, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x476dc00, rs 0x608edb80, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7a387445e392ccd9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x666c8000, rs 0x7a387445e392ccd9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1c9666c8, rs 0x7a387445e392ccd9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x644fc637, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe31b8000, rs 0x644fc637, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x227e31b8, rs 0x644fc637, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x512f29b1d80000c9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x648000, rs 0x512f29b1d80000c9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc0000648, rs 0x512f29b1d80000c9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4b190000, rs 0x7a089632, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd044b190, rs 0x7a089632, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xeaded5c53dad020a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff81050000, rs 0xeaded5c53dad020a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffed681050, rs 0xeaded5c53dad020a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7ec98b85, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc5c28000, rs 0x7ec98b85, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff64c5c28, rs 0x7ec98b85, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x31eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x8a6229d731eea35b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x51ad8000, rs 0x8a6229d731eea35b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8f751ad8, rs 0x8a6229d731eea35b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x56ae0000, rs 0x738aad5c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9c556ae0, rs 0x738aad5c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2c3c3f9e48985649, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2b248000, rs 0x2c3c3f9e48985649, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x44c2b248, rs 0x2c3c3f9e48985649, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x774bb0eb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd8758000, rs 0x774bb0eb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffba5d8758, rs 0x774bb0eb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7ff61e78dc9c0b77, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5bb8000, rs 0x7ff61e78dc9c0b77, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe4e05bb8, rs 0x7ff61e78dc9c0b77, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6ab0000, rs 0x4f040d56, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x78206ab0, rs 0x4f040d56, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x34760000, rs 0x2299b0e01d5e68ec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeaf34760, rs 0x2299b0e01d5e68ec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4bc510e1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff88708000, rs 0x4bc510e1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5e288708, rs 0x4bc510e1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7c3b04673d0c6e25, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x37128000, rs 0x7c3b04673d0c6e25, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe8637128, rs 0x7c3b04673d0c6e25, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1b1c0000, rs 0x46863638, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3431b1c0, rs 0x46863638, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x164e17c1e7fb6587, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb2c38000, rs 0x164e17c1e7fb6587, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3fdb2c38, rs 0x164e17c1e7fb6587, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x42472b8f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff95c78000, rs 0x42472b8f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x12395c78, rs 0x42472b8f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfa4ca28b56d4950b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4a858000, rs 0xfa4ca28b56d4950b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb6a4a858, rs 0xfa4ca28b56d4950b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3dc50000, rs 0x5c007b8a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe003dc50, rs 0x5c007b8a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbe7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xe5e9a314be7fa08a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd0450000, rs 0xe5e9a314be7fa08a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff3fd0450, rs 0xe5e9a314be7fa08a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x58c1663d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb31e8000, rs 0x58c1663d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc60b31e8, rs 0x58c1663d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x159649c5, rs 0xf8be8164159649c5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf8be8164159649c5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x24e28000, rs 0xf8be8164159649c5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffacb24e28, rs 0xf8be8164159649c5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x20720000, rs 0x558240e4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffac120720, rs 0x558240e4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff84e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7ca3259784e69b17, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4d8b8000, rs 0x7ca3259784e69b17, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2734d8b8, rs 0x7ca3259784e69b17, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x51435d53, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffaea98000, rs 0x51435d53, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8a1aea98, rs 0x51435d53, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x27ae0000, rs 0xfc8d543ca1f24f5c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xf927ae0, rs 0xfc8d543ca1f24f5c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9dcf0000, rs 0x251d3b9e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x28e9dcf0, rs 0x251d3b9e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcf1b0000, rs 0x4aeb6ca0e3459e36, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a2cf1b0, rs 0x4aeb6ca0e3459e36, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x21dc2629, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x13148000, rs 0x21dc2629, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xee13148, rs 0x21dc2629, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x187980fa, rs 0xc532e18e187980fa, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc532e18e187980fa, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc07d0000, rs 0xc532e18e187980fa, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc3cc07d0, rs 0xc532e18e187980fa, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff80780000, rs 0x2c9f00f0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x64f80780, rs 0x2c9f00f0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3e8e0000, rs 0xb3fdec294f287d1c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7943e8e0, rs 0xb3fdec294f287d1c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x285e1d47, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xea38000, rs 0x285e1d47, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x42f0ea38, rs 0x285e1d47, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x49732b90, rs 0xb620660a49732b90, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xb620660a49732b90, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff95c80000, rs 0xb620660a49732b90, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4b995c80, rs 0xb620660a49732b90, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa6a10000, rs 0x36194d42, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb0ca6a10, rs 0x36194d42, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6cfde991, rs 0x993138f16cfde991, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x993138f16cfde991, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff4c88000, rs 0x993138f16cfde991, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x67ef4c88, rs 0x993138f16cfde991, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x32d850f5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x287a8000, rs 0x32d850f5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff96c287a8, rs 0x32d850f5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xde02d1337d5407b9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3dc8000, rs 0xde02d1337d5407b9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeaa03dc8, rs 0xde02d1337d5407b9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbb160000, rs 0x3f9b762c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffcdbb160, rs 0x3f9b762c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x58ad0000, rs 0x13a390e1e1dab15a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xed58ad0, rs 0x13a390e1e1dab15a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3b5a6b9b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x35cd8000, rs 0x3b5a6b9b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdad35cd8, rs 0x3b5a6b9b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff828716c8, rs 0x743491a6828716c8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x743491a6828716c8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8b640000, rs 0x743491a6828716c8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1438b640, rs 0x743491a6828716c8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb130000, rs 0x315d626, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x18aeb130, rs 0x315d626, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffede292f2, rs 0x8cff404aede292f2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8cff404aede292f2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x49790000, rs 0x8cff404aede292f2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6f149790, rs 0x8cff404aede292f2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7d4cb91, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x65c88000, rs 0x7d4cb91, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3ea65c88, rs 0x7d4cb91, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xb9cec0db1f837636, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbb1b0000, rs 0xb9cec0db1f837636, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffc1bb1b0, rs 0xb9cec0db1f837636, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff6a40000, rs 0xa97ed48, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x54bf6a40, rs 0xa97ed48, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbb8e0000, rs 0x2eaa5aa70509771c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x284bb8e0, rs 0x2eaa5aa70509771c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe56f0ff, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x787f8000, rs 0xe56f0ff, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x72b787f8, rs 0xe56f0ff, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1875241b, rs 0xd327538e1875241b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd327538e1875241b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff920d8000, rs 0xd327538e1875241b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc3a920d8, rs 0xd327538e1875241b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd07d0000, rs 0x1011a0fa, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff808d07d0, rs 0x1011a0fa, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x42e9f8548b739b6b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcdb58000, rs 0x42e9f8548b739b6b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5b9cdb58, rs 0x42e9f8548b739b6b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x14d0bd4d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5ea68000, rs 0x14d0bd4d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa685ea68, rs 0x14d0bd4d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffeccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdd0d0000, rs 0x78e4e50ceccbba1a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x665dd0d0, rs 0x78e4e50ceccbba1a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcdca0000, rs 0x19939b94, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcc9cdca0, rs 0x19939b94, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff93e58000, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6ce93e58, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1d528623, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x43118000, rs 0x1d528623, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffea943118, rs 0x1d528623, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x73916483ae3e9423, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4a118000, rs 0x73916483ae3e9423, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x71f4a118, rs 0x73916483ae3e9423, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff12f560e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffab070000, rs 0xfffffffff12f560e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff897ab070, rs 0xfffffffff12f560e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xe128561, rs 0x276af70a0e128561, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x276af70a0e128561, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x42b08000, rs 0x276af70a0e128561, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x70942b08, rs 0x276af70a0e128561, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffff5ee4bb9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x25dc8000, rs 0xfffffffff5ee4bb9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffaf725dc8, rs 0xfffffffff5ee4bb9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa5b70000, rs 0x3045bf6b5e74b6e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffaf3a5b70, rs 0x3045bf6b5e74b6e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff8ad6d60, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb6b00000, rs 0xfffffffff8ad6d60, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc56b6b00, rs 0xfffffffff8ad6d60, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x8accfa6, rs 0x20223f1308accfa6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x20223f1308accfa6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x67d30000, rs 0x20223f1308accfa6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x45667d30, rs 0x20223f1308accfa6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffffc6c70d7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x386b8000, rs 0xfffffffffc6c70d7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe36386b8, rs 0xfffffffffc6c70d7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf83c55743976b5f5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5afa8000, rs 0xf83c55743976b5f5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcbb5afa8, rs 0xf83c55743976b5f5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe22b20d2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff90690000, rs 0xffffffffe22b20d2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x11590690, rs 0xffffffffe22b20d2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x46923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1f9720f946923c3d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1e1e8000, rs 0x1f9720f946923c3d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3491e1e8, rs 0x1f9720f946923c3d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffe6ea3d65, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1eb28000, rs 0xffffffffe6ea3d65, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3751eb28, rs 0xffffffffe6ea3d65, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x620d28506d2448dd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x246e8000, rs 0x620d28506d2448dd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x692246e8, rs 0x620d28506d2448dd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffeba91bbc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8dde0000, rs 0xffffffffeba91bbc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5d48dde0, rs 0xffffffffeba91bbc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x53990000, rs 0x60a521e99ff4a732, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffffa53990, rs 0x60a521e99ff4a732, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffef68060b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3058000, rs 0xffffffffef68060b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7b403058, rs 0xffffffffef68060b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5a08f3ab5c680f0b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7858000, rs 0x5a08f3ab5c680f0b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe3407858, rs 0x5a08f3ab5c680f0b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd727bbb6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdddb0000, rs 0xffffffffd727bbb6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb93dddb0, rs 0xffffffffd727bbb6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc7a59be7800f3d26, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9e930000, rs 0xc7a59be7800f3d26, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x79e930, rs 0xc7a59be7800f3d26, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffd3e6a601, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x53008000, rs 0xffffffffd3e6a601, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9f353008, rs 0xffffffffd3e6a601, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff82ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1aecdf2982ca1b41, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xda08000, rs 0x1aecdf2982ca1b41, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1650da08, rs 0x1aecdf2982ca1b41, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffdea580d8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc06c0000, rs 0xffffffffdea580d8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff52c06c0, rs 0xffffffffdea580d8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x60d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2b8613a260d19dcd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcee68000, rs 0x2b8613a260d19dcd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x68cee68, rs 0x2b8613a260d19dcd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffda649d6f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4eb78000, rs 0xffffffffda649d6f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd324eb78, rs 0xffffffffda649d6f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xe8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdf3f8000, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x745df3f8, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc423cd6a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe6b50000, rs 0xffffffffc423cd6a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x211e6b50, rs 0xffffffffc423cd6a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x743e568d2fcf486b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa4358000, rs 0x743e568d2fcf486b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7e7a4358, rs 0x743e568d2fcf486b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x34c31728, rs 0x126f646f34c31728, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x126f646f34c31728, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8b940000, rs 0x126f646f34c31728, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa618b940, rs 0x126f646f34c31728, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffcda1f604, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffb020000, rs 0xffffffffcda1f604, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6d0fb020, rs 0xffffffffcda1f604, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x56fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xaab0196156fc4d12, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x26890000, rs 0xaab0196156fc4d12, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb7e26890, rs 0xaab0196156fc4d12, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8595d342, rs 0x7535cd338595d342, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7535cd338595d342, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe9a10000, rs 0x7535cd338595d342, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2cae9a10, rs 0x7535cd338595d342, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbd3e8d7e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x46bf0000, rs 0xffffffffbd3e8d7e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe9f46bf0, rs 0xffffffffbd3e8d7e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x422346ec, rs 0xdfb254da422346ec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xdfb254da422346ec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa3760000, rs 0xdfb254da422346ec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x111a3760, rs 0xdfb254da422346ec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffb9ff90c9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc8648000, rs 0xffffffffb9ff90c9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcffc8648, rs 0xffffffffb9ff90c9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x81ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xa86726c90081ab2a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd5950000, rs 0xa86726c90081ab2a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x40d5950, rs 0xa86726c90081ab2a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5b080000, rs 0xffffffffb4bcb610, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa5e5b080, rs 0xffffffffb4bcb610, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x9bfeffa1679d7438, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffba1c0000, rs 0x9bfeffa1679d7438, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3ceba1c0, rs 0x9bfeffa1679d7438, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffb07daba7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd5d38000, rs 0xffffffffb07daba7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff83ed5d38, rs 0xffffffffb07daba7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb7dee244, rs 0xc7699826b7dee244, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc7699826b7dee244, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x71220000, rs 0xc7699826b7dee244, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbef71220, rs 0xc7699826b7dee244, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffae3afba2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7dd10000, rs 0xffffffffae3afba2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x71d7dd10, rs 0xffffffffae3afba2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x38250000, rs 0x3c07af97fba6704a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdd338250, rs 0x3c07af97fba6704a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffaafbe615, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff30a8000, rs 0xffffffffaafbe615, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x57df30a8, rs 0xffffffffaafbe615, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc5ff0000, rs 0x521364dc04c58bfe, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x262c5ff0, rs 0x521364dc04c58bfe, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x60660000, rs 0xffffffffa7b8c0cc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3dc60660, rs 0xffffffffa7b8c0cc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xe0f7bb589ab7aebc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd75e0000, rs 0xe0f7bb589ab7aebc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd5bd75e0, rs 0xe0f7bb589ab7aebc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffa379dd7b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeebd8000, rs 0xffffffffa379dd7b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1bceebd8, rs 0xffffffffa379dd7b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe336c60cdeeb954d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcaa68000, rs 0xe336c60cdeeb954d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff75caa68, rs 0xe336c60cdeeb954d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9b3660c6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x30630000, rs 0xffffffff9b3660c6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd9b30630, rs 0xffffffff9b3660c6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xd5b2120c6f52416e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x20b70000, rs 0xd5b2120c6f52416e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7a920b70, rs 0xd5b2120c6f52416e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff9ff77d71, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbeb88000, rs 0xffffffff9ff77d71, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffffbbeb88, rs 0xffffffff9ff77d71, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x85a2d4ff7e628a34, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x451a0000, rs 0x85a2d4ff7e628a34, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff31451a0, rs 0x85a2d4ff7e628a34, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff92b45ba8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2dd40000, rs 0xffffffff92b45ba8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff95a2dd40, rs 0xffffffff92b45ba8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x986a2b654a4e7e07, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3f038000, rs 0x986a2b654a4e7e07, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5273f038, rs 0x986a2b654a4e7e07, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff9675461f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa30f8000, rs 0xffffffff9675461f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb3aa30f8, rs 0xffffffff9675461f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3a489b55, rs 0xa974eac43a489b55, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xa974eac43a489b55, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4daa8000, rs 0xa974eac43a489b55, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd244daa8, rs 0xa974eac43a489b55, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8832161a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xb0d0000, rs 0xffffffff8832161a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4190b0d0, rs 0xffffffff8832161a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x72f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xa388c16272f1f8f5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffc7a8000, rs 0xa388c16272f1f8f5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff978fc7a8, rs 0xa388c16272f1f8f5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff8cf30bad, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff85d68000, rs 0xffffffff8cf30bad, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x67985d68, rs 0xffffffff8cf30bad, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe8c11f45e7495ea9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffaf548000, rs 0xe8c11f45e7495ea9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3a4af548, rs 0xe8c11f45e7495ea9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff81b02d74, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x16ba0000, rs 0xffffffff81b02d74, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xd816ba0, rs 0xffffffff81b02d74, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xadaa5a765cc1c8b4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe45a0000, rs 0xadaa5a765cc1c8b4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe60e45a0, rs 0xadaa5a765cc1c8b4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff857130c3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff98618000, rs 0xffffffff857130c3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2b898618, rs 0xffffffff857130c3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2e00000, rs 0x7ab4ce88dfa605c0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffd302e00, rs 0x7ab4ce88dfa605c0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5d8a9099, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x484c8000, rs 0x5d8a9099, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffec5484c8, rs 0x5d8a9099, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x59a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb42ad6e659a7b04f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd8278000, rs 0xb42ad6e659a7b04f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcd3d8278, rs 0xb42ad6e659a7b04f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc6970000, rs 0x594b8d2e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffca5c6970, rs 0x594b8d2e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb728922f, rs 0x4bf8485ab728922f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4bf8485ab728922f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x49178000, rs 0x4bf8485ab728922f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb9449178, rs 0x4bf8485ab728922f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5408abf7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x55fb8000, rs 0x5408abf7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa0455fb8, rs 0x5408abf7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x76a3d60c3b66a7fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x53fd8000, rs 0x76a3d60c3b66a7fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdb353fd8, rs 0x76a3d60c3b66a7fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdb200000, rs 0x50c9b640, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff864db200, rs 0x50c9b640, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x476d0000, rs 0x31e0c6affdc28eda, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffee1476d0, rs 0x31e0c6affdc28eda, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4e8ee645, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x73228000, rs 0x4e8ee645, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x74773228, rs 0x4e8ee645, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x53606bb4bf0c999d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4cce8000, rs 0x53606bb4bf0c999d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff864cce8, rs 0x53606bb4bf0c999d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffdf90000, rs 0x4a4ffbf2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x527fdf90, rs 0x4a4ffbf2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8cf80000, rs 0x32fc12c81b7919f0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdbc8cf80, rs 0x32fc12c81b7919f0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x470cdd2b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6e958000, rs 0x470cdd2b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3866e958, rs 0x470cdd2b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7e6b0000, rs 0x3ef88384c72efcd6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3977e6b0, rs 0x3ef88384c72efcd6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe04e0000, rs 0x43cdc09c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1e6e04e0, rs 0x43cdc09c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1ac00000, rs 0x38b1c7bb6a2a3580, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5151ac00, rs 0x38b1c7bb6a2a3580, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7b827d21, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3e908000, rs 0x7b827d21, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdc13e908, rs 0x7b827d21, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x15ebf6121dca77c9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3be48000, rs 0x15ebf6121dca77c9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffee53be48, rs 0x15ebf6121dca77c9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb04b0000, rs 0x7f436096, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffa1b04b0, rs 0x7f436096, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa3d70000, rs 0x5eaacdd9fd9147ae, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffec8a3d70, rs 0x5eaacdd9fd9147ae, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7200464f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x23278000, rs 0x7200464f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff90023278, rs 0x7200464f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff81e91117, rs 0xbb8470f981e91117, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xbb8470f981e91117, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff888b8000, rs 0xbb8470f981e91117, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xf4888b8, rs 0xbb8470f981e91117, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffadfc0000, rs 0x76c15bf8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb60adfc0, rs 0x76c15bf8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff99700000, rs 0x5d42aeac6a532e0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x35299700, rs 0x5d42aeac6a532e0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x68860bfd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5fe8000, rs 0x68860bfd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x44305fe8, rs 0x68860bfd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x19fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x14abf36419fb9e63, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcf318000, rs 0x14abf36419fb9e63, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcfdcf318, rs 0x14abf36419fb9e63, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8b250000, rs 0x6c47164a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6238b250, rs 0x6c47164a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff95560000, rs 0x249d559aa8d72aac, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x46b95560, rs 0x249d559aa8d72aac, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x61043093, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18498000, rs 0x61043093, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x8218498, rs 0x61043093, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x84b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff98760000, rs 0xcd6764f084b30ec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x42598760, rs 0xcd6764f084b30ec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff96920000, rs 0x65c52d24, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2e296920, rs 0x65c52d24, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff92468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7f03ac0792468fdf, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x47ef8000, rs 0x7f03ac0792468fdf, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff92347ef8, rs 0x7f03ac0792468fdf, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x119b4be9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa5f48000, rs 0x119b4be9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8cda5f48, rs 0x119b4be9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7e35ce6d56e670f5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x387a8000, rs 0x7e35ce6d56e670f5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb73387a8, rs 0x7e35ce6d56e670f5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2b2f0000, rs 0x155a565e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffaad2b2f0, rs 0x155a565e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1a652711, rs 0x152828591a652711, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x152828591a652711, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff93888000, rs 0x152828591a652711, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd3293888, rs 0x152828591a652711, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x18197087, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb8438000, rs 0x18197087, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc0cb8438, rs 0x18197087, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x9e1c3283d215a9fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd4fd8000, rs 0x9e1c3283d215a9fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff90ad4fd8, rs 0x9e1c3283d215a9fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x36980000, rs 0x1cd86d30, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe6c36980, rs 0x1cd86d30, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x282a0417, rs 0x8d95c049282a0417, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x8d95c049282a0417, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x20b8000, rs 0x8d95c049282a0417, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x415020b8, rs 0x8d95c049282a0417, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x29f3d35, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9e9a8000, rs 0x29f3d35, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x14f9e9a8, rs 0x29f3d35, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf2e7a490978058f3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2c798000, rs 0xf2e7a490978058f3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbc02c798, rs 0xf2e7a490978058f3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x10410000, rs 0x65e2082, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x32f10410, rs 0x65e2082, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd8d50000, rs 0x775b4cca0975b1aa, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4bad8d50, rs 0x775b4cca0975b1aa, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb1d065b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff832d8000, rs 0xb1d065b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x58e832d8, rs 0xb1d065b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x35111020, rs 0xa2b84a635111020, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xa2b84a635111020, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff88100000, rs 0xa2b84a635111020, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa8888100, rs 0xa2b84a635111020, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xdf60000, rs 0xfdc1bec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7ee0df60, rs 0xfdc1bec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x23fa0d3a7d88b6f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x45b78000, rs 0x23fa0d3a7d88b6f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3ec45b78, rs 0x23fa0d3a7d88b6f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3793a651, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd3288000, rs 0x3793a651, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbc9d3288, rs 0x3793a651, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xa3d991b79941dedd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffef6e8000, rs 0xa3d991b79941dedd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffca0ef6e8, rs 0xa3d991b79941dedd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5df30000, rs 0x3352bbe6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9a95df30, rs 0x3352bbe6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffca840000, rs 0x751cb4835a0d9508, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd06ca840, rs 0x751cb4835a0d9508, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3e119d3f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffce9f8000, rs 0x3e119d3f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff08ce9f8, rs 0x3e119d3f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x949cad35625bb2d3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd9698000, rs 0x949cad35625bb2d3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x12dd9698, rs 0x949cad35625bb2d3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x40440000, rs 0x3ad08088, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd6840440, rs 0x3ad08088, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa6929739, rs 0x7f567f35a6929739, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7f567f35a6929739, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4b9c8000, rs 0x7f567f35a6929739, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3494b9c8, rs 0x7f567f35a6929739, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2497d08d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe8468000, rs 0x2497d08d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x24be8468, rs 0x2497d08d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdb8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x185b88e0db8d7d27, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbe938000, rs 0x185b88e0db8d7d27, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdc6be938, rs 0x185b88e0db8d7d27, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x669d0000, rs 0x2056cd3a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2b669d0, rs 0x2056cd3a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x255a4cd22fd61b91, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xdc88000, rs 0x255a4cd22fd61b91, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7eb0dc88, rs 0x255a4cd22fd61b91, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2d15ebe3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff5f18000, rs 0x2d15ebe3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x68af5f18, rs 0x2d15ebe3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1048d589a4363f7b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1fbd8000, rs 0x1048d589a4363f7b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x21b1fbd8, rs 0x1048d589a4363f7b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7b2a0000, rs 0x29d4f654, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4ea7b2a0, rs 0x29d4f654, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff4605790, rs 0x6a6d5708f4605790, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2bc80000, rs 0x6a6d5708f4605790, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa302bc80, rs 0x6a6d5708f4605790, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffc5a92679, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff933c8000, rs 0xffffffffc5a92679, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2d4933c8, rs 0xffffffffc5a92679, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd58ecbabde35697f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb4bf8000, rs 0xd58ecbabde35697f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff1ab4bf8, rs 0xd58ecbabde35697f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc1683bce, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1de70000, rs 0xffffffffc1683bce, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xb41de70, rs 0xffffffffc1683bce, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x8c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x575548fd08c0a5f1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x52f88000, rs 0x575548fd08c0a5f1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x46052f88, rs 0x575548fd08c0a5f1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffcc2b1d17, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8e8b8000, rs 0xffffffffcc2b1d17, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6158e8b8, rs 0xffffffffcc2b1d17, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x8bb640fb8ed98ddb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc6ed8000, rs 0x8bb640fb8ed98ddb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x76cc6ed8, rs 0x8bb640fb8ed98ddb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc8ea00a0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x500000, rs 0xffffffffc8ea00a0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x47500500, rs 0xffffffffc8ea00a0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbc660000, rs 0xbe00d51eabc578cc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5e2bc660, rs 0xbe00d51eabc578cc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffd6ad50a5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa8528000, rs 0xffffffffd6ad50a5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb56a8528, rs 0xffffffffd6ad50a5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff85590000, rs 0x2f7e224a1c170ab2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe0b85590, rs 0x2f7e224a1c170ab2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd26c4d12, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x26890000, rs 0xffffffffd26c4d12, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff93626890, rs 0xffffffffd26c4d12, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xa978f12ca22256a7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2b538000, rs 0xa978f12ca22256a7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1112b538, rs 0xa978f12ca22256a7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffdf2f6bcb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb5e58000, rs 0xffffffffdf2f6bcb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff97b5e58, rs 0xffffffffdf2f6bcb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x9950a93b811ee02f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x70178000, rs 0x9950a93b811ee02f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x8f70178, rs 0x9950a93b811ee02f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffdbee767c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3b3e0000, rs 0xffffffffdbee767c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdf73b3e0, rs 0xffffffffdbee767c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb5060000, rs 0xb44eea93c6796a0c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x33cb5060, rs 0xb44eea93c6796a0c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffe3a1cbc1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe5e08000, rs 0xffffffffe3a1cbc1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1d0e5e08, rs 0xffffffffe3a1cbc1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfe71fca06c0eb657, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5b2b8000, rs 0xfe71fca06c0eb657, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6075b2b8, rs 0xfe71fca06c0eb657, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe760d676, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6b3b0000, rs 0xffffffffe760d676, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3b06b3b0, rs 0xffffffffe760d676, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff818af57, rs 0x4ed6393df818af57, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4ed6393df818af57, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x57ab8000, rs 0x4ed6393df818af57, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc0c57ab8, rs 0x4ed6393df818af57, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffea23f0af, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff8578000, rs 0xffffffffea23f0af, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x511f8578, rs 0xffffffffea23f0af, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x236770a, rs 0xf22e90200236770a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xf22e90200236770a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3b850000, rs 0xf22e90200236770a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x11b3b850, rs 0xf22e90200236770a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x768c0000, rs 0xffffffffeee2ed18, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x771768c0, rs 0xffffffffeee2ed18, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffafd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x81efb6c7afd0c45d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x622e8000, rs 0x81efb6c7afd0c45d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7e8622e8, rs 0x81efb6c7afd0c45d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffff0a5bd1d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffde8e8000, rs 0xfffffffff0a5bd1d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff852de8e8, rs 0xfffffffff0a5bd1d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8102315b, rs 0xeed8f3518102315b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xeed8f3518102315b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18ad8000, rs 0xeed8f3518102315b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x8118ad8, rs 0xeed8f3518102315b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff464a0aa, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x50550000, rs 0xfffffffff464a0aa, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa3250550, rs 0xfffffffff464a0aa, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xadafefb9995efd5e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7eaf0000, rs 0xadafefb9995efd5e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcaf7eaf0, rs 0xadafefb9995efd5e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffff9278673, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc3398000, rs 0xfffffffff9278673, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc93c3398, rs 0xfffffffff9278673, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffeb253086, rs 0x34061933eb253086, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x34061933eb253086, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff98430000, rs 0x34061933eb253086, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x59298430, rs 0x34061933eb253086, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4de20000, rs 0xfffffffffde69bc4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffef34de20, rs 0xfffffffffde69bc4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x295e0000, rs 0x1748da264b4c52bc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5a6295e0, rs 0x1748da264b4c52bc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff89b8fd09, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7e848000, rs 0xffffffff89b8fd09, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4dc7e848, rs 0xffffffff89b8fd09, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x34fdfc9a9302be89, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5f448000, rs 0x34fdfc9a9302be89, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9815f448, rs 0x34fdfc9a9302be89, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8d79e0be, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff05f0000, rs 0xffffffff8d79e0be, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6bcf05f0, rs 0xffffffff8d79e0be, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc521d180, rs 0xd00278c3c521d180, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xd00278c3c521d180, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe8c00000, rs 0xd00278c3c521d180, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x290e8c00, rs 0xd00278c3c521d180, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff803ac667, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x63338000, rs 0xffffffff803ac667, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1d63338, rs 0xffffffff803ac667, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe90944a4c1d37a5d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbd2e8000, rs 0xe90944a4c1d37a5d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xe9bd2e8, rs 0xe90944a4c1d37a5d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffede80000, rs 0xffffffff84fbdbd0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x27dede80, rs 0xffffffff84fbdbd0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffddef9839, rs 0x65fd698fddef9839, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x65fd698fddef9839, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcc1c8000, rs 0x65fd698fddef9839, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffef7cc1c8, rs 0x65fd698fddef9839, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff9abc8bd5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x45ea8000, rs 0xffffffff9abc8bd5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd5e45ea8, rs 0xffffffff9abc8bd5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc49ee3ad81b5af52, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd7a90000, rs 0xc49ee3ad81b5af52, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xdad7a90, rs 0xc49ee3ad81b5af52, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9e7d9662, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcb310000, rs 0xffffffff9e7d9662, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff3ecb310, rs 0xffffffff9e7d9662, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7aa941e8bdb263e9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x31f48000, rs 0x7aa941e8bdb263e9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffed931f48, rs 0x7aa941e8bdb263e9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff933eb0bb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x585d8000, rs 0xffffffff933eb0bb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff99f585d8, rs 0xffffffff933eb0bb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x372c209e42f3b58d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdac68000, rs 0x372c209e42f3b58d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x179dac68, rs 0x372c209e42f3b58d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd6860000, rs 0xffffffff97ffad0c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbffd6860, rs 0xffffffff97ffad0c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x30f870b7e122a83b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x541d8000, rs 0x30f870b7e122a83b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x91541d8, rs 0x30f870b7e122a83b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffafb010b1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x8588000, rs 0xffffffffafb010b1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7d808588, rs 0xffffffffafb010b1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x9e02de4b678930ec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff98760000, rs 0x9e02de4b678930ec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3c498760, rs 0x9e02de4b678930ec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffab710d06, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff86830000, rs 0xffffffffab710d06, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5b886830, rs 0xffffffffab710d06, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9826631e, rs 0xcd61a8639826631e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xcd61a8639826631e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x318f0000, rs 0xcd61a8639826631e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc13318f0, rs 0xcd61a8639826631e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffa6322bdf, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x15ef8000, rs 0xffffffffa6322bdf, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x31915ef8, rs 0xffffffffa6322bdf, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xae87bc899a7bd3ca, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe9e50000, rs 0xae87bc899a7bd3ca, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd3de9e50, rs 0xae87bc899a7bd3ca, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa2f33668, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9b340000, rs 0xffffffffa2f33668, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1799b340, rs 0xffffffffa2f33668, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6481af17, rs 0x58ec644d6481af17, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x58ec644d6481af17, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd78b8000, rs 0x58ec644d6481af17, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x240d78b8, rs 0x58ec644d6481af17, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffbcb4666d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x33368000, rs 0xffffffffbcb4666d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe5a33368, rs 0xffffffffbcb4666d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb236b666, rs 0x680cce5fb236b666, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x680cce5fb236b666, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5b330000, rs 0x680cce5fb236b666, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff91b5b330, rs 0x680cce5fb236b666, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb8757bda, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbded0000, rs 0xffffffffb8757bda, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc3abded0, rs 0xffffffffb8757bda, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3baa99471f6d4d75, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa6ba8000, rs 0x3baa99471f6d4d75, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffb6a6ba8, rs 0x3baa99471f6d4d75, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffb5365d03, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2e818000, rs 0xffffffffb5365d03, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa9b2e818, rs 0xffffffffb5365d03, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5f12236b, rs 0x614d9b445f12236b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x614d9b445f12236b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x11b58000, rs 0x614d9b445f12236b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff8911b58, rs 0x614d9b445f12236b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb1f740b4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa05a0000, rs 0xffffffffb1f740b4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8fba05a0, rs 0xffffffffb1f740b4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xa2a6ec661ba84121, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x20908000, rs 0xa2a6ec661ba84121, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdd420908, rs 0xa2a6ec661ba84121, imm 0x0003
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+sllv $s0, $s1, $s2 :: rd 0x257ad54, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+sllv $s0, $s1, $s2 :: rd 0xffffffff95589800, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8000000, rs 0x9823b6e, rt 0xffffffffb8757bda
+sllv $s0, $s1, $s2 :: rd 0x1e600000, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+sllv $t0, $t1, $t2 :: rd 0x64db2000, rs 0xd4326d9, rt 0xffffffffbcb4666d
+sllv $s0, $s1, $s2 :: rd 0xffffffffb5a97ec0, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+sllv $t0, $t1, $t2 :: rd 0x476dc00, rs 0x130476dc, rt 0xffffffffa2f33668
+sllv $s0, $s1, $s2 :: rd 0xffffffff81000000, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+sllv $s0, $s1, $s2 :: rd 0xfffffffff0c2b400, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+sllv $t0, $t1, $t2 :: rd 0xffffffffa1936c80, rs 0x1a864db2, rt 0xffffffffab710d06
+sllv $s0, $s1, $s2 :: rd 0x40000000, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+sllv $t0, $t1, $t2 :: rd 0xffffffffa00a0000, rs 0x1e475005, rt 0xffffffffafb010b1
+sllv $s0, $s1, $s2 :: rd 0xe4f7000, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+sllv $t0, $t1, $t2 :: rd 0xffffffff8edb8000, rs 0x2608edb8, rt 0xffffffff97ffad0c
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+sllv $s0, $s1, $s2 :: rd 0xffffffffb4c1a000, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+sllv $t0, $t1, $t2 :: rd 0xffffffffbe2b5b58, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+sllv $s0, $s1, $s2 :: rd 0xffffffffa7a83a00, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+sllv $t0, $t1, $t2 :: rd 0x6c200000, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+sllv $s0, $s1, $s2 :: rd 0x504c0000, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+sllv $t0, $t1, $t2 :: rd 0xffffffff9b640000, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+sllv $t0, $t1, $t2 :: rd 0xffffffffe6c36980, rs 0x31cd86d3, rt 0xffffffff803ac667
+sllv $s0, $s1, $s2 :: rd 0xffffffffe0000000, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+sllv $s0, $s1, $s2 :: rd 0xffffffffb2c76bbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+sllv $t0, $t1, $t2 :: rd 0xffffffff9f7b7a00, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+sllv $s0, $s1, $s2 :: rd 0x31c98e00, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+sllv $t0, $t1, $t2 :: rd 0xffffffffc11db700, rs 0x4c11db70, rt 0xfffffffffde69bc4
+sllv $s0, $s1, $s2 :: rd 0x70000000, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+sllv $t0, $t1, $t2 :: rd 0x36380000, rs 0x48d0c6c7, rt 0xfffffffff9278673
+sllv $s0, $s1, $s2 :: rd 0x7f143a80, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+sllv $t0, $t1, $t2 :: rd 0x4f807800, rs 0x4593e01e, rt 0xfffffffff464a0aa
+sllv $s0, $s1, $s2 :: rd 0x40000000, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+sllv $s0, $s1, $s2 :: rd 0xffffffffd8000000, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+sllv $t0, $t1, $t2 :: rd 0xffffffffac000000, rs 0x5f15adac, rt 0xffffffffeee2ed18
+sllv $s0, $s1, $s2 :: rd 0xffffffffa0000000, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+sllv $t0, $t1, $t2 :: rd 0x580d8000, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+sllv $s0, $s1, $s2 :: rd 0xffffffffba83ec00, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+sllv $t0, $t1, $t2 :: rd 0xffffffffb0800000, rs 0x569796c2, rt 0xffffffffe760d676
+sllv $s0, $s1, $s2 :: rd 0xffffffffcb800000, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+sllv $t0, $t1, $t2 :: rd 0xffffffffa4ad16ea, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+sllv $s0, $s1, $s2 :: rd 0x3d000000, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x6a1936c8, rt 0xffffffffdbee767c
+sllv $s0, $s1, $s2 :: rd 0x20766000, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+sllv $t0, $t1, $t2 :: rd 0xffffffffc15bf800, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+sllv $s0, $s1, $s2 :: rd 0x6d1f0000, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+sllv $t0, $t1, $t2 :: rd 0x36980000, rs 0x639b0da6, rt 0xffffffffd26c4d12
+sllv $s0, $s1, $s2 :: rd 0xffffffffe7125680, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+sllv $t0, $t1, $t2 :: rd 0xffffffffeb420220, rs 0x675a1011, rt 0xffffffffd6ad50a5
+sllv $s0, $s1, $s2 :: rd 0x3b480000, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+sllv $t0, $t1, $t2 :: rd 0x791d4014, rs 0x791d4014, rt 0xffffffffc8ea00a0
+sllv $s0, $s1, $s2 :: rd 0xffffffffcd036000, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+sllv $t0, $t1, $t2 :: rd 0xffffffffd1800000, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+sllv $s0, $s1, $s2 :: rd 0x20000000, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+sllv $t0, $t1, $t2 :: rd 0xffffffffdede8000, rs 0x709f7b7a, rt 0xffffffffc1683bce
+sllv $s0, $s1, $s2 :: rd 0x639c0000, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+sllv $t0, $t1, $t2 :: rd 0xffffffff9a000000, rs 0x745e66cd, rt 0xffffffffc5a92679
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+sllv $t0, $t1, $t2 :: rd 0x6e000000, rs 0xffffffff9823b6e0, rt 0x29d4f654
+sllv $s0, $s1, $s2 :: rd 0xffffffffe4a70000, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+sllv $t0, $t1, $t2 :: rd 0xffffffffe7155ab8, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+sllv $s0, $s1, $s2 :: rd 0xffffffffa0000000, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+sllv $t0, $t1, $t2 :: rd 0x38000000, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+sllv $s0, $s1, $s2 :: rd 0x4a5e0000, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+sllv $t0, $t1, $t2 :: rd 0x12072000, rs 0xffffffff95609039, rt 0x2497d08d
+sllv $s0, $s1, $s2 :: rd 0x77d27b80, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+sllv $t0, $t1, $t2 :: rd 0x27c03c00, rs 0xffffffff8b27c03c, rt 0x3ad08088
+sllv $s0, $s1, $s2 :: rd 0x28000000, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+sllv $s0, $s1, $s2 :: rd 0xffffffff9b600000, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+sllv $t0, $t1, $t2 :: rd 0xffffffffa97ed480, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+sllv $s0, $s1, $s2 :: rd 0x2fb6f300, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+sllv $t0, $t1, $t2 :: rd 0xffffffffcdca0000, rs 0xffffffff8664e6e5, rt 0x3793a651
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+sllv $t0, $t1, $t2 :: rd 0xffffffffb5b58000, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+sllv $s0, $s1, $s2 :: rd 0x28200000, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0xffffffffbaea46ef, rt 0xb1d065b
+sllv $s0, $s1, $s2 :: rd 0xffffffff84bb5a83, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+sllv $t0, $t1, $t2 :: rd 0xffffffffdea580d8, rs 0xffffffffb7a96036, rt 0x65e2082
+sllv $s0, $s1, $s2 :: rd 0x1aa99c00, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+sllv $t0, $t1, $t2 :: rd 0xffffffffb0200000, rs 0xffffffffb3687d81, rt 0x29f3d35
+sllv $s0, $s1, $s2 :: rd 0xfffffffff7180000, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+sllv $t0, $t1, $t2 :: rd 0x2d840000, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+sllv $s0, $s1, $s2 :: rd 0x2d000000, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+sllv $t0, $t1, $t2 :: rd 0xfffffffff7181980, rs 0xffffffffa9ee3033, rt 0x18197087
+sllv $s0, $s1, $s2 :: rd 0xffffffffb8000000, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffa4ad16ea, rt 0x155a565e
+sllv $s0, $s1, $s2 :: rd 0xffffffffb2d60000, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+sllv $t0, $t1, $t2 :: rd 0xffffffffd816ba00, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+sllv $s0, $s1, $s2 :: rd 0x1c00000, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+sllv $t0, $t1, $t2 :: rd 0x4326d900, rs 0xffffffffd4326d90, rt 0x65c52d24
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+sllv $t0, $t1, $t2 :: rd 0xffffffff81380000, rs 0xffffffffd0f37027, rt 0x61043093
+sllv $s0, $s1, $s2 :: rd 0xfffffffffdcf1000, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+sllv $t0, $t1, $t2 :: rd 0xffffffffc15bf800, rs 0xffffffffddb056fe, rt 0x6c47164a
+sllv $s0, $s1, $s2 :: rd 0x1c081000, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0xffffffffd9714b49, rt 0x68860bfd
+sllv $s0, $s1, $s2 :: rd 0x490caf20, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+sllv $t0, $t1, $t2 :: rd 0x4c000000, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+sllv $s0, $s1, $s2 :: rd 0xffffffff95b1a5ab, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+sllv $t0, $t1, $t2 :: rd 0xffffffff837d8000, rs 0xffffffffc3f706fb, rt 0x7200464f
+sllv $s0, $s1, $s2 :: rd 0xffffffff8f000000, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+sllv $t0, $t1, $t2 :: rd 0x8800000, rs 0xffffffffceb42022, rt 0x7f436096
+sllv $s0, $s1, $s2 :: rd 0x1241c000, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+sllv $t0, $t1, $t2 :: rd 0xffffffff94ea7b2a, rs 0xffffffffca753d95, rt 0x7b827d21
+sllv $s0, $s1, $s2 :: rd 0x5625fc00, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xfffffffff23a8028, rt 0x43cdc09c
+sllv $s0, $s1, $s2 :: rd 0x76558c4f, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+sllv $t0, $t1, $t2 :: rd 0xffffffffdcecf800, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+sllv $s0, $s1, $s2 :: rd 0x71c00000, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+sllv $t0, $t1, $t2 :: rd 0xffffffffed180000, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+sllv $s0, $s1, $s2 :: rd 0x74050000, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+sllv $t0, $t1, $t2 :: rd 0xffffffffef34de20, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+sllv $s0, $s1, $s2 :: rd 0x60000000, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+sllv $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+sllv $s0, $s1, $s2 :: rd 0xffffffffe8000000, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+sllv $t0, $t1, $t2 :: rd 0xffffffffa1800000, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+sllv $s0, $s1, $s2 :: rd 0x68000000, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+sllv $t0, $t1, $t2 :: rd 0x33668000, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+sllv $s0, $s1, $s2 :: rd 0x2da40000, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+sllv $t0, $t1, $t2 :: rd 0x5a000000, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+sllv $s0, $s1, $s2 :: rd 0xffffffffe9910000, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+sllv $t0, $t1, $t2 :: rd 0xffffffffa43383b8, rs 0x34867077, rt 0xffffffff857130c3
+sllv $s0, $s1, $s2 :: rd 0xffffffffa630f6ad, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+sllv $t0, $t1, $t2 :: rd 0xffffffffdc000000, rs 0x30476dc0, rt 0xffffffff81b02d74
+sllv $s0, $s1, $s2 :: rd 0x26000000, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+sllv $t0, $t1, $t2 :: rd 0xffffffff89632000, rs 0x3d044b19, rt 0xffffffff8cf30bad
+sllv $s0, $s1, $s2 :: rd 0x3631de00, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8000000, rs 0x39c556ae, rt 0xffffffff8832161a
+sllv $s0, $s1, $s2 :: rd 0xffffffff9bc00000, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x278206ab, rt 0xffffffff9675461f
+sllv $s0, $s1, $s2 :: rd 0x33600000, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+sllv $t0, $t1, $t2 :: rd 0x431b1c00, rs 0x23431b1c, rt 0xffffffff92b45ba8
+sllv $s0, $s1, $s2 :: rd 0xffffffff92f97600, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+sllv $t0, $t1, $t2 :: rd 0x7b8a0000, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+sllv $s0, $s1, $s2 :: rd 0xffffffff8bf00000, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+sllv $t0, $t1, $t2 :: rd 0xffffffffb0481c80, rs 0x2ac12072, rt 0xffffffff9b3660c6
+sllv $s0, $s1, $s2 :: rd 0xffffffff858bc000, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+sllv $s0, $s1, $s2 :: rd 0x550a0000, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+sllv $t0, $t1, $t2 :: rd 0xfffffffff8078000, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+sllv $s0, $s1, $s2 :: rd 0xfffffffff0000000, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+sllv $t0, $t1, $t2 :: rd 0xffffffffd4200000, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+sllv $t0, $t1, $t2 :: rd 0x7f36ec58, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+sllv $s0, $s1, $s2 :: rd 0xffffffff8d104c00, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+sllv $t0, $t1, $t2 :: rd 0xffffffffc5758980, rs 0x18aeb13, rt 0xffffffffb07daba7
+sllv $s0, $s1, $s2 :: rd 0x5255fc00, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+sllv $t0, $t1, $t2 :: rd 0xfffffffff6a40000, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+sllv $s0, $s1, $s2 :: rd 0x28000000, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+sllv $t0, $t1, $t2 :: rd 0x11a0fa00, rs 0x808d07d, rt 0xffffffffb9ff90c9
+sllv $s0, $s1, $s2 :: rd 0x63f63c00, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+sllv $s0, $s1, $s2 :: rd 0xffffffff8f0e5000, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+sllv $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0x203fcd10, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+sllv $t0, $t1, $t2 :: rd 0xffffffffc56b6b00, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+sllv $s0, $s1, $s2 :: rd 0xffffffffbf5c0000, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+sllv $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0x31d71000, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+sllv $t0, $t1, $t2 :: rd 0x52377800, rs 0x75d48dde, rt 0xffffffffc423cd6a
+sllv $s0, $s1, $s2 :: rd 0xffffffffe6c99800, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+sllv $t0, $t1, $t2 :: rd 0xffffffffeeed8000, rs 0x6b93dddb, rt 0xffffffffda649d6f
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+sllv $t0, $t1, $t2 :: rd 0x6c000000, rs 0x6f52c06c, rt 0xffffffffdea580d8
+sllv $s0, $s1, $s2 :: rd 0xffffffffdcad4000, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+sllv $t0, $t1, $t2 :: rd 0xffffffffc423cd6a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+sllv $s0, $s1, $s2 :: rd 0xffffffffdb854b80, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+sllv $t0, $t1, $t2 :: rd 0xffffffffc0800000, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+sllv $s0, $s1, $s2 :: rd 0x1f705a00, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+sllv $t0, $t1, $t2 :: rd 0xfffffffffa35f800, rs 0x5e9f46bf, rt 0xffffffffef68060b
+sllv $s0, $s1, $s2 :: rd 0xfffffffff1a47800, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+sllv $s0, $s1, $s2 :: rd 0xffffffff906c0000, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+sllv $t0, $t1, $t2 :: rd 0xffffffffe3afba20, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+sllv $t0, $t1, $t2 :: rd 0xffffffff81980000, rs 0x53dc6066, rt 0xffffffffe22b20d2
+sllv $s0, $s1, $s2 :: rd 0x60000000, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+sllv $t0, $t1, $t2 :: rd 0x31800000, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+sllv $s0, $s1, $s2 :: rd 0x3ae00000, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+sllv $t0, $t1, $t2 :: rd 0x495a2dd4, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+sllv $s0, $s1, $s2 :: rd 0xfffffffff5213c80, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+sllv $t0, $t1, $t2 :: rd 0x1a000000, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+sllv $s0, $s1, $s2 :: rd 0xfffffffff9318000, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+sllv $t0, $t1, $t2 :: rd 0x5ae8000, rs 0x40d816ba, rt 0xfffffffff12f560e
+sllv $s0, $s1, $s2 :: rd 0xffffffffe2a184c0, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+sllv $t0, $t1, $t2 :: rd 0x652e34b8, rs 0xffffffffaca5c697, rt 0x1d528623
+sllv $s0, $s1, $s2 :: rd 0xffffffffc92bf928, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+sllv $t0, $t1, $t2 :: rd 0xffffffffb2000000, rs 0xffffffffa864db20, rt 0x19939b94
+sllv $s0, $s1, $s2 :: rd 0x36dad800, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+sllv $t0, $t1, $t2 :: rd 0xffffffffffbf2000, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+sllv $s0, $s1, $s2 :: rd 0x58000000, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+sllv $t0, $t1, $t2 :: rd 0x38000000, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+sllv $s0, $s1, $s2 :: rd 0xb8f000, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+sllv $s0, $s1, $s2 :: rd 0x18000000, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+sllv $t0, $t1, $t2 :: rd 0x60adfc00, rs 0xffffffffbb60adfc, rt 0xa97ed48
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+sllv $t0, $t1, $t2 :: rd 0x164a0000, rs 0xffffffffb6238b25, rt 0x7d4cb91
+sllv $s0, $s1, $s2 :: rd 0x6dc00000, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8a5a480, rs 0xffffffffb2e29692, rt 0x315d626
+sllv $s0, $s1, $s2 :: rd 0x4bc40000, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+sllv $s0, $s1, $s2 :: rd 0x301d0d00, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+sllv $s0, $s1, $s2 :: rd 0xffffffffbc000000, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+sllv $s0, $s1, $s2 :: rd 0xffffffffda000000, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+sllv $t0, $t1, $t2 :: rd 0x1fb837d8, rs 0xffffffff87ee0df6, rt 0x36194d42
+sllv $s0, $s1, $s2 :: rd 0x4e100000, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+sllv $t0, $t1, $t2 :: rd 0xffffffffd4aef980, rs 0xffffffff99a95df3, rt 0x285e1d47
+sllv $s0, $s1, $s2 :: rd 0x32870000, rs 0x663d061055833287, rt 0xb620660a49732b90
+sllv $t0, $t1, $t2 :: rd 0x40440000, rs 0xffffffff9d684044, rt 0x2c9f00f0
+sllv $s0, $s1, $s2 :: rd 0xffffffffb0000000, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+sllv $t0, $t1, $t2 :: rd 0x56cd3a00, rs 0xffffffff902b669d, rt 0x21dc2629
+sllv $s0, $s1, $s2 :: rd 0x6c000000, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+sllv $s0, $s1, $s2 :: rd 0xffffffffac800000, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+sllv $t0, $t1, $t2 :: rd 0xffffffffef380000, rs 0xffffffffe0b41de7, rt 0x51435d53
+sllv $s0, $s1, $s2 :: rd 0xffffffff90000000, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+sllv $t0, $t1, $t2 :: rd 0x47500500, rs 0xffffffffe4750050, rt 0x558240e4
+sllv $s0, $s1, $s2 :: rd 0xf800000, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0xffffffffe9362689, rt 0x58c1663d
+sllv $s0, $s1, $s2 :: rd 0x5a6e9be0, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+sllv $t0, $t1, $t2 :: rd 0xffffffffdcecf800, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+sllv $s0, $s1, $s2 :: rd 0xffffffffb7ca9c00, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+sllv $t0, $t1, $t2 :: rd 0x359d8000, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+sllv $s0, $s1, $s2 :: rd 0x64f99800, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+sllv $t0, $t1, $t2 :: rd 0xffffffff8c000000, rs 0xfffffffff771768c, rt 0x46863638
+sllv $s0, $s1, $s2 :: rd 0xffffffffaf64ee00, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+sllv $t0, $t1, $t2 :: rd 0xfffffffff464a0aa, rs 0xfffffffffa325055, rt 0x4bc510e1
+sllv $s0, $s1, $s2 :: rd 0x28f040c0, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+sllv $t0, $t1, $t2 :: rd 0x78800000, rs 0xfffffffffef34de2, rt 0x4f040d56
+sllv $s0, $s1, $s2 :: rd 0x21825000, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+sllv $t0, $t1, $t2 :: rd 0xffffffffe782f800, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+sllv $s0, $s1, $s2 :: rd 0xffffffffed000000, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffc27dede8, rt 0x738aad5c
+sllv $s0, $s1, $s2 :: rd 0xffffffffbf9bd000, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+sllv $t0, $t1, $t2 :: rd 0xffffffffe7d96620, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+sllv $s0, $s1, $s2 :: rd 0x48000000, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+sllv $t0, $t1, $t2 :: rd 0x5a180000, rs 0xffffffffcbffd686, rt 0x7a089632
+sllv $s0, $s1, $s2 :: rd 0x5cd83c00, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+sllv $t0, $t1, $t2 :: rd 0x41800000, rs 0xffffffffd5b88683, rt 0x644fc637
+sllv $s0, $s1, $s2 :: rd 0x13d34400, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+sllv $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+sllv $s0, $s1, $s2 :: rd 0xffffffffc8000000, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+sllv $t0, $t1, $t2 :: rd 0xffffffffda000000, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+sllv $t0, $t1, $t2 :: rd 0xffffffffe8168000, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+sllv $s0, $s1, $s2 :: rd 0xffffffffb0c4b800, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8000000, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+sllv $s0, $s1, $s2 :: rd 0x25800000, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+sllv $t0, $t1, $t2 :: rd 0xffffffffbfab2000, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+sllv $s0, $s1, $s2 :: rd 0x6b33c000, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8000000, rs 0x608edb80, rt 0xffffffffd1799b34
+sllv $s0, $s1, $s2 :: rd 0x392ccd90, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+sllv $t0, $t1, $t2 :: rd 0x227e31b8, rs 0x644fc637, rt 0xffffffffd5b88683
+sllv $s0, $s1, $s2 :: rd 0x60000324, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+sllv $t0, $t1, $t2 :: rd 0xffffffff82258c80, rs 0x7a089632, rt 0xffffffffcbffd686
+sllv $s0, $s1, $s2 :: rd 0xffffffff81050000, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+sllv $t0, $t1, $t2 :: rd 0x170a0000, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+sllv $s0, $s1, $s2 :: rd 0xffffffffdd46b600, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+sllv $t0, $t1, $t2 :: rd 0xffffffff8aad5c00, rs 0x738aad5c, rt 0xffffffffc27dede8
+sllv $s0, $s1, $s2 :: rd 0xffffffff98564900, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+sllv $s0, $s1, $s2 :: rd 0xffffffffdc000000, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+sllv $t0, $t1, $t2 :: rd 0x3c103558, rs 0x4f040d56, rt 0xfffffffffef34de2
+sllv $s0, $s1, $s2 :: rd 0xffffffffabcd1d80, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+sllv $t0, $t1, $t2 :: rd 0x1c200000, rs 0x4bc510e1, rt 0xfffffffffa325055
+sllv $s0, $s1, $s2 :: rd 0x431b8940, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+sllv $t0, $t1, $t2 :: rd 0x63638000, rs 0x46863638, rt 0xfffffffff771768c
+sllv $s0, $s1, $s2 :: rd 0x70000000, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+sllv $s0, $s1, $s2 :: rd 0xffffffffa8580000, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+sllv $s0, $s1, $s2 :: rd 0x3fd04500, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+sllv $t0, $t1, $t2 :: rd 0xffffffff82cc7a00, rs 0x58c1663d, rt 0xffffffffe9362689
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+sllv $t0, $t1, $t2 :: rd 0x40e40000, rs 0x558240e4, rt 0xffffffffe4750050
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+sllv $t0, $t1, $t2 :: rd 0xffffffffa1aea980, rs 0x51435d53, rt 0xffffffffe0b41de7
+sllv $s0, $s1, $s2 :: rd 0xffffffffb8000000, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+sllv $t0, $t1, $t2 :: rd 0x74ee7800, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+sllv $s0, $s1, $s2 :: rd 0x78d80000, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0x21dc2629, rt 0xffffffff902b669d
+sllv $s0, $s1, $s2 :: rd 0xffffffffd0000000, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+sllv $t0, $t1, $t2 :: rd 0xffffffffc9f00f00, rs 0x2c9f00f0, rt 0xffffffff9d684044
+sllv $s0, $s1, $s2 :: rd 0x43e8e000, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+sllv $t0, $t1, $t2 :: rd 0xffffffffea380000, rs 0x285e1d47, rt 0xffffffff99a95df3
+sllv $s0, $s1, $s2 :: rd 0xffffffffb995c800, rs 0xb620660a49732b90, rt 0x663d061055833287
+sllv $t0, $t1, $t2 :: rd 0x50800000, rs 0x36194d42, rt 0xffffffff87ee0df6
+sllv $s0, $s1, $s2 :: rd 0xfffffffffde99100, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+sllv $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0xffffffff80f72000, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+sllv $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0x58ad0000, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+sllv $t0, $t1, $t2 :: rd 0x35cd8000, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+sllv $s0, $s1, $s2 :: rd 0xffffffffe2d90000, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+sllv $t0, $t1, $t2 :: rd 0x58980000, rs 0x315d626, rt 0xffffffffb2e29692
+sllv $s0, $s1, $s2 :: rd 0x25e40000, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+sllv $t0, $t1, $t2 :: rd 0xfffffffffa997220, rs 0x7d4cb91, rt 0xffffffffb6238b25
+sllv $s0, $s1, $s2 :: rd 0x1b000000, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xa97ed48, rt 0xffffffffbb60adfc
+sllv $s0, $s1, $s2 :: rd 0x1c000000, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+sllv $t0, $t1, $t2 :: rd 0xffffffffb787f800, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+sllv $s0, $s1, $s2 :: rd 0xffffffffc3a920d8, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+sllv $t0, $t1, $t2 :: rd 0x683e8000, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+sllv $t0, $t1, $t2 :: rd 0xffffffff9a000000, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+sllv $s0, $s1, $s2 :: rd 0xffffffff86800000, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+sllv $t0, $t1, $t2 :: rd 0x19939b94, rs 0x19939b94, rt 0xffffffffa864db20
+sllv $s0, $s1, $s2 :: rd 0x58000000, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+sllv $t0, $t1, $t2 :: rd 0x11800000, rs 0x1d528623, rt 0xffffffffaca5c697
+sllv $s0, $s1, $s2 :: rd 0xffffffffc7d28460, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+sllv $t0, $t1, $t2 :: rd 0x38000000, rs 0xfffffffff12f560e, rt 0x40d816ba
+sllv $s0, $s1, $s2 :: rd 0xe128561, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+sllv $t0, $t1, $t2 :: rd 0xffffffffc9772000, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+sllv $s0, $s1, $s2 :: rd 0x79d2db80, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+sllv $t0, $t1, $t2 :: rd 0xffffffffd6000000, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+sllv $s0, $s1, $s2 :: rd 0x3e980000, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+sllv $t0, $t1, $t2 :: rd 0xffffffffe36386b8, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+sllv $s0, $s1, $s2 :: rd 0xfffffffffa800000, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+sllv $t0, $t1, $t2 :: rd 0xffffffff8ac83480, rs 0xffffffffe22b20d2, rt 0x53dc6066
+sllv $s0, $s1, $s2 :: rd 0xffffffffe8000000, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+sllv $t0, $t1, $t2 :: rd 0x7aca0000, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+sllv $s0, $s1, $s2 :: rd 0x40000000, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+sllv $t0, $t1, $t2 :: rd 0xffffffffa91bbc00, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+sllv $s0, $s1, $s2 :: rd 0xffffffff90000000, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffef68060b, rt 0x5e9f46bf
+sllv $s0, $s1, $s2 :: rd 0x7858000, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+sllv $t0, $t1, $t2 :: rd 0x5c9eeed8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+sllv $s0, $s1, $s2 :: rd 0xf3d2600, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+sllv $t0, $t1, $t2 :: rd 0xffffffffc0200000, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+sllv $s0, $s1, $s2 :: rd 0xffffffff82ca1b41, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+sllv $t0, $t1, $t2 :: rd 0x580d8000, rs 0xffffffffdea580d8, rt 0x6f52c06c
+sllv $s0, $s1, $s2 :: rd 0x46773400, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0xffffffffda649d6f, rt 0x6b93dddb
+sllv $s0, $s1, $s2 :: rd 0x45df3f80, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffc423cd6a, rt 0x75d48dde
+sllv $s0, $s1, $s2 :: rd 0x43580000, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+sllv $s0, $s1, $s2 :: rd 0x17280000, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+sllv $t0, $t1, $t2 :: rd 0xfffffffff6040000, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+sllv $s0, $s1, $s2 :: rd 0xffffffff89000000, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+sllv $s0, $s1, $s2 :: rd 0x595d3420, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+sllv $t0, $t1, $t2 :: rd 0xfffffffffa35f800, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+sllv $s0, $s1, $s2 :: rd 0x4468dd80, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0xffffffffb9ff90c9, rt 0x808d07d
+sllv $s0, $s1, $s2 :: rd 0xffffffffd5950000, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+sllv $t0, $t1, $t2 :: rd 0x4bcb6100, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+sllv $s0, $s1, $s2 :: rd 0xffffffff9d743800, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+sllv $t0, $t1, $t2 :: rd 0x5d380000, rs 0xffffffffb07daba7, rt 0x18aeb13
+sllv $s0, $s1, $s2 :: rd 0xffffffffb7dee244, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+sllv $t0, $t1, $t2 :: rd 0xffffffffe8800000, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+sllv $s0, $s1, $s2 :: rd 0xffffffff82500000, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+sllv $t0, $t1, $t2 :: rd 0x55f7cc2a, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+sllv $s0, $s1, $s2 :: rd 0x162ff800, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+sllv $t0, $t1, $t2 :: rd 0xffffffffcc000000, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+sllv $t0, $t1, $t2 :: rd 0xffffffffeebd8000, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+sllv $s0, $s1, $s2 :: rd 0xffffffff954d0000, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+sllv $t0, $t1, $t2 :: rd 0xffffffff83180000, rs 0xffffffff9b3660c6, rt 0x2ac12072
+sllv $s0, $s1, $s2 :: rd 0x20b70000, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+sllv $t0, $t1, $t2 :: rd 0xfffffffffeefae20, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffff92b45ba8, rt 0x23431b1c
+sllv $s0, $s1, $s2 :: rd 0xffffffffe7e07000, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+sllv $t0, $t1, $t2 :: rd 0xffffffffaa30f800, rs 0xffffffff9675461f, rt 0x278206ab
+sllv $s0, $s1, $s2 :: rd 0xffffffffa8000000, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+sllv $t0, $t1, $t2 :: rd 0xffffffff85868000, rs 0xffffffff8832161a, rt 0x39c556ae
+sllv $s0, $s1, $s2 :: rd 0x40000000, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+sllv $t0, $t1, $t2 :: rd 0x5a000000, rs 0xffffffff8cf30bad, rt 0x3d044b19
+sllv $s0, $s1, $s2 :: rd 0xffffffffaf548000, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+sllv $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+sllv $s0, $s1, $s2 :: rd 0x5cc1c8b4, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+sllv $t0, $t1, $t2 :: rd 0x61800000, rs 0xffffffff857130c3, rt 0x34867077
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0b80000, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+sllv $t0, $t1, $t2 :: rd 0x52132000, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+sllv $s0, $s1, $s2 :: rd 0x669ec13c, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8000000, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+sllv $s0, $s1, $s2 :: rd 0x28922f00, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+sllv $t0, $t1, $t2 :: rd 0xffffffffa0455fb8, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+sllv $s0, $s1, $s2 :: rd 0xffffffffd4ff6000, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+sllv $t0, $t1, $t2 :: rd 0x64000000, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+sllv $s0, $s1, $s2 :: rd 0x68000000, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+sllv $t0, $t1, $t2 :: rd 0xffffffffcc8a0000, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+sllv $s0, $s1, $s2 :: rd 0xffffffffe8000000, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+sllv $t0, $t1, $t2 :: rd 0xffffffff93fefc80, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+sllv $s0, $s1, $s2 :: rd 0x6f233e00, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+sllv $s0, $s1, $s2 :: rd 0xffffffff977e6b00, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+sllv $t0, $t1, $t2 :: rd 0xffffffffcdc09c00, rs 0x43cdc09c, rt 0xfffffffff23a8028
+sllv $s0, $s1, $s2 :: rd 0x1ac00000, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+sllv $t0, $t1, $t2 :: rd 0xffffffffa4200000, rs 0x7b827d21, rt 0xffffffffca753d95
+sllv $s0, $s1, $s2 :: rd 0x40000000, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+sllv $t0, $t1, $t2 :: rd 0xfffffffffd0d8258, rs 0x7f436096, rt 0xffffffffceb42022
+sllv $s0, $s1, $s2 :: rd 0xffffffffc8a3d700, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0x7200464f, rt 0xffffffffc3f706fb
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+sllv $t0, $t1, $t2 :: rd 0x15bf8000, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+sllv $s0, $s1, $s2 :: rd 0x29970000, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+sllv $t0, $t1, $t2 :: rd 0xc17fa00, rs 0x68860bfd, rt 0xffffffffd9714b49
+sllv $s0, $s1, $s2 :: rd 0xffffffff9fb9e630, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x6c47164a, rt 0xffffffffddb056fe
+sllv $s0, $s1, $s2 :: rd 0x51ae5558, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+sllv $t0, $t1, $t2 :: rd 0xffffffff82184980, rs 0x61043093, rt 0xffffffffd0f37027
+sllv $s0, $s1, $s2 :: rd 0x61d80000, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+sllv $t0, $t1, $t2 :: rd 0x2d240000, rs 0x65c52d24, rt 0xffffffffd4326d90
+sllv $s0, $s1, $s2 :: rd 0xffffffffdf000000, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+sllv $s0, $s1, $s2 :: rd 0xffffffff9c3d4000, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+sllv $t0, $t1, $t2 :: rd 0x69597800, rs 0x155a565e, rt 0xffffffffa4ad16ea
+sllv $s0, $s1, $s2 :: rd 0x29388800, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+sllv $t0, $t1, $t2 :: rd 0xffffffff84380000, rs 0x18197087, rt 0xffffffffa9ee3033
+sllv $s0, $s1, $s2 :: rd 0xfffffffffd800000, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+sllv $t0, $t1, $t2 :: rd 0xffffffffcd86d300, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+sllv $s0, $s1, $s2 :: rd 0x5c000000, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+sllv $t0, $t1, $t2 :: rd 0x53e7a6a, rs 0x29f3d35, rt 0xffffffffb3687d81
+sllv $s0, $s1, $s2 :: rd 0xffffffffbc02c798, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+sllv $t0, $t1, $t2 :: rd 0x20800000, rs 0x65e2082, rt 0xffffffffb7a96036
+sllv $s0, $s1, $s2 :: rd 0xffffffffbad8d500, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+sllv $t0, $t1, $t2 :: rd 0xffffffff832d8000, rs 0xb1d065b, rt 0xffffffffbaea46ef
+sllv $s0, $s1, $s2 :: rd 0xffffffffa8888100, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+sllv $t0, $t1, $t2 :: rd 0xffffffffec000000, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+sllv $s0, $s1, $s2 :: rd 0xffffffffa7d88b6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+sllv $t0, $t1, $t2 :: rd 0xfffffffff274ca20, rs 0x3793a651, rt 0xffffffff8664e6e5
+sllv $s0, $s1, $s2 :: rd 0xffffffffdedd0000, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+sllv $t0, $t1, $t2 :: rd 0xffffffffef980000, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+sllv $s0, $s1, $s2 :: rd 0xffffffffa8400000, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+sllv $t0, $t1, $t2 :: rd 0xffffffff8ce9f800, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+sllv $s0, $s1, $s2 :: rd 0xffffffffbb2d3000, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x3ad08088, rt 0xffffffff8b27c03c
+sllv $s0, $s1, $s2 :: rd 0x73900000, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+sllv $t0, $t1, $t2 :: rd 0x1a000000, rs 0x2497d08d, rt 0xffffffff95609039
+sllv $s0, $s1, $s2 :: rd 0xffffffff93800000, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+sllv $t0, $t1, $t2 :: rd 0xffffffffb34e8000, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+sllv $s0, $s1, $s2 :: rd 0xdc88000, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+sllv $t0, $t1, $t2 :: rd 0xfffffffff1800000, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+sllv $s0, $s1, $s2 :: rd 0xfffffffff7b00000, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+sllv $t0, $t1, $t2 :: rd 0x29d4f654, rs 0x29d4f654, rt 0xffffffff9823b6e0
+sllv $s0, $s1, $s2 :: rd 0x302bc800, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+sllv $t0, $t1, $t2 :: rd 0x24cf2000, rs 0xffffffffc5a92679, rt 0x745e66cd
+sllv $s0, $s1, $s2 :: rd 0xffffffffb4bf8000, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+sllv $t0, $t1, $t2 :: rd 0x38000000, rs 0xffffffffc1683bce, rt 0x709f7b7a
+sllv $s0, $s1, $s2 :: rd 0x297c4000, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+sllv $t0, $t1, $t2 :: rd 0x6158e8b8, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+sllv $s0, $s1, $s2 :: rd 0xffffffffed98ddb0, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+sllv $t0, $t1, $t2 :: rd 0xa000000, rs 0xffffffffc8ea00a0, rt 0x791d4014
+sllv $s0, $s1, $s2 :: rd 0x33000000, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+sllv $t0, $t1, $t2 :: rd 0xffffffffa14a0000, rs 0xffffffffd6ad50a5, rt 0x675a1011
+sllv $s0, $s1, $s2 :: rd 0x2ac80000, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+sllv $t0, $t1, $t2 :: rd 0xffffffff9b134480, rs 0xffffffffd26c4d12, rt 0x639b0da6
+sllv $s0, $s1, $s2 :: rd 0x4ad4e000, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+sllv $t0, $t1, $t2 :: rd 0xffffffffee767c00, rs 0xffffffffdbee767c, rt 0x6a1936c8
+sllv $s0, $s1, $s2 :: rd 0xffffffff9e5a8300, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+sllv $t0, $t1, $t2 :: rd 0x78200000, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+sllv $s0, $s1, $s2 :: rd 0x5c000000, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+sllv $t0, $t1, $t2 :: rd 0xffffffff9d8359d8, rs 0xffffffffe760d676, rt 0x569796c2
+sllv $s0, $s1, $s2 :: rd 0xffffffffab800000, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+sllv $s0, $s1, $s2 :: rd 0x50000000, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+sllv $t0, $t1, $t2 :: rd 0x2ed18000, rs 0xffffffffeee2ed18, rt 0x5f15adac
+sllv $s0, $s1, $s2 :: rd 0xfffffffffa188ba0, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+sllv $t0, $t1, $t2 :: rd 0x4b7a3a00, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+sllv $s0, $s1, $s2 :: rd 0xffffffffd8000000, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xfffffffff464a0aa, rt 0x4593e01e
+sllv $s0, $s1, $s2 :: rd 0xfffffffffabc0000, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+sllv $t0, $t1, $t2 :: rd 0xffffffff93c33980, rs 0xfffffffff9278673, rt 0x48d0c6c7
+sllv $s0, $s1, $s2 :: rd 0xffffffff94c21800, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+sllv $t0, $t1, $t2 :: rd 0xffffffff9bc40000, rs 0xfffffffffde69bc4, rt 0x4c11db70
+sllv $s0, $s1, $s2 :: rd 0x5e000000, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+sllv $s0, $s1, $s2 :: rd 0xffffffff815f4480, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+sllv $t0, $t1, $t2 :: rd 0xffffffffe782f800, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+sllv $t0, $t1, $t2 :: rd 0x33380000, rs 0xffffffff803ac667, rt 0x31cd86d3
+sllv $s0, $s1, $s2 :: rd 0xffffffffbd2e8000, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+sllv $t0, $t1, $t2 :: rd 0x4fbdbd00, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+sllv $s0, $s1, $s2 :: rd 0xffffffffddef9839, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+sllv $t0, $t1, $t2 :: rd 0x357917aa, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+sllv $s0, $s1, $s2 :: rd 0x7a900000, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+sllv $t0, $t1, $t2 :: rd 0xffffffff98800000, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+sllv $s0, $s1, $s2 :: rd 0x20000000, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+sllv $t0, $t1, $t2 :: rd 0x585d8000, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+sllv $s0, $s1, $s2 :: rd 0x76b1a000, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+sllv $t0, $t1, $t2 :: rd 0xc000000, rs 0xffffffff97ffad0c, rt 0x2608edb8
+sllv $s0, $s1, $s2 :: rd 0xffffffffe122a83b, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+sllv $t0, $t1, $t2 :: rd 0xfffffffff6021620, rs 0xffffffffafb010b1, rt 0x1e475005
+sllv $s0, $s1, $s2 :: rd 0x76000000, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+sllv $t0, $t1, $t2 :: rd 0x34180000, rs 0xffffffffab710d06, rt 0x1a864db2
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+sllv $t0, $t1, $t2 :: rd 0xffffffff915ef800, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+sllv $s0, $s1, $s2 :: rd 0x7a794000, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffa2f33668, rt 0x130476dc
+sllv $s0, $s1, $s2 :: rd 0xffffffff9206bc5c, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+sllv $t0, $t1, $t2 :: rd 0xffffffffda000000, rs 0xffffffffbcb4666d, rt 0xd4326d9
+sllv $s0, $s1, $s2 :: rd 0x30000000, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+sllv $t0, $t1, $t2 :: rd 0x5ef68000, rs 0xffffffffb8757bda, rt 0x9823b6e
+sllv $s0, $s1, $s2 :: rd 0x6ba80000, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+sllv $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0x1b580000, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+sllv $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0xffffffffa1048400, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1304, rs 0x9823b6e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x130476d, rs 0x9823b6e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1a86, rs 0xd4326d9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x1a864db, rs 0xd4326d9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2608, rs 0x130476dc, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x2608edb, rs 0x130476dc, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2f8a, rs 0x17c56b6b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x2f8ad6d, rs 0x17c56b6b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x350c, rs 0x1a864db2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x350c9b6, rs 0x1a864db2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3c8e, rs 0x1e475005, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x3c8ea00, rs 0x1e475005, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608edb8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x4c11db7, rs 0x2608edb8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x4593, rs 0x22c9f00f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x4593e01, rs 0x22c9f00f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x5f15, rs 0x2f8ad6d6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x5f15ada, rs 0x2f8ad6d6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x5697, rs 0x2b4bcb61, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x569796c, rs 0x2b4bcb61, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x6a19, rs 0x350c9b64, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x6a1936c, rs 0x350c9b64, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x639b, rs 0x31cd86d3, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x639b0da, rs 0x31cd86d3, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x791d, rs 0x3c8ea00a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x791d401, rs 0x3c8ea00a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x709f, rs 0x384fbdbd, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x709f7b7, rs 0x384fbdbd, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x9823, rs 0x4c11db70, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x9823b6e, rs 0x4c11db70, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x91a1, rs 0x48d0c6c7, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x91a18d8, rs 0x48d0c6c7, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x8b27, rs 0x4593e01e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x8b27c03, rs 0x4593e01e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x82a5, rs 0x4152fda9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x82a5fb5, rs 0x4152fda9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xbe2b, rs 0x5f15adac, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xbe2b5b5, rs 0x5f15adac, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xb7a9, rs 0x5bd4b01b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xb7a9603, rs 0x5bd4b01b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xad2f, rs 0x569796c2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xad2f2d8, rs 0x569796c2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa4ad, rs 0x52568b75, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa4ad16e, rs 0x52568b75, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xd432, rs 0x6a1936c8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xd4326d9, rs 0x6a1936c8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xddb0, rs 0x6ed82b7f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xddb056f, rs 0x6ed82b7f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xc736, rs 0x639b0da6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xc7361b4, rs 0x639b0da6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xceb4, rs 0x675a1011, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xceb4202, rs 0x675a1011, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xf23a, rs 0x791d4014, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xf23a802, rs 0x791d4014, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfbb8, rs 0x7ddc5da3, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfbb8bb4, rs 0x7ddc5da3, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xe13e, rs 0x709f7b7a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xe13ef6f, rs 0x709f7b7a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xe8bc, rs 0x745e66cd, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xe8bccd9, rs 0x745e66cd, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3047, rs 0xffffffff9823b6e0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff30476dc, rs 0xffffffff9823b6e0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff39c5, rs 0xffffffff9ce2ab57, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff39c556a, rs 0xffffffff9ce2ab57, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2343, rs 0xffffffff91a18d8e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff23431b1, rs 0xffffffff91a18d8e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2ac1, rs 0xffffffff95609039, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff2ac1207, rs 0xffffffff95609039, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff164f, rs 0xffffffff8b27c03c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff164f807, rs 0xffffffff8b27c03c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff1fcd, rs 0xffffffff8fe6dd8b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff1fcdbb1, rs 0xffffffff8fe6dd8b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff054b, rs 0xffffffff82a5fb52, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff054bf6a, rs 0xffffffff82a5fb52, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff0cc9, rs 0xffffffff8664e6e5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff0cc9cdc, rs 0xffffffff8664e6e5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff7c56, rs 0xffffffffbe2b5b58, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff7c56b6b, rs 0xffffffffbe2b5b58, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff75d4, rs 0xffffffffbaea46ef, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff75d48dd, rs 0xffffffffbaea46ef, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff6f52, rs 0xffffffffb7a96036, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff6f52c06, rs 0xffffffffb7a96036, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff66d0, rs 0xffffffffb3687d81, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff66d0fb0, rs 0xffffffffb3687d81, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff5a5e, rs 0xffffffffad2f2d84, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff5a5e5b0, rs 0xffffffffad2f2d84, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff53dc, rs 0xffffffffa9ee3033, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff53dc606, rs 0xffffffffa9ee3033, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff495a, rs 0xffffffffa4ad16ea, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff495a2dd, rs 0xffffffffa4ad16ea, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff40d8, rs 0xffffffffa06c0b5d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff40d816b, rs 0xffffffffa06c0b5d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffa864, rs 0xffffffffd4326d90, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffa864db2, rs 0xffffffffd4326d90, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffa1e6, rs 0xffffffffd0f37027, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffa1e6e04, rs 0xffffffffd0f37027, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffbb60, rs 0xffffffffddb056fe, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffbb60adf, rs 0xffffffffddb056fe, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffb2e2, rs 0xffffffffd9714b49, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffb2e2969, rs 0xffffffffd9714b49, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff8e6c, rs 0xffffffffc7361b4c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff8e6c369, rs 0xffffffffc7361b4c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff87ee, rs 0xffffffffc3f706fb, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff87ee0df, rs 0xffffffffc3f706fb, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff9d68, rs 0xffffffffceb42022, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff9d68404, rs 0xffffffffceb42022, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff94ea, rs 0xffffffffca753d95, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff94ea7b2, rs 0xffffffffca753d95, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffe475, rs 0xfffffffff23a8028, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffe475005, rs 0xfffffffff23a8028, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffedf7, rs 0xfffffffff6fb9d9f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffedf73b3, rs 0xfffffffff6fb9d9f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffff771, rs 0xfffffffffbb8bb46, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffff771768, rs 0xfffffffffbb8bb46, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffffef3, rs 0xffffffffff79a6f1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffffef34de, rs 0xffffffffff79a6f1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffc27d, rs 0xffffffffe13ef6f4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffc27dede, rs 0xffffffffe13ef6f4, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffcbff, rs 0xffffffffe5ffeb43, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffcbffd68, rs 0xffffffffe5ffeb43, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffd179, rs 0xffffffffe8bccd9a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffd1799b3, rs 0xffffffffe8bccd9a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffd8fb, rs 0xffffffffec7dd02d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffd8fba05, rs 0xffffffffec7dd02d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x690c, rs 0x34867077, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x690ce0e, rs 0x34867077, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x608e, rs 0x30476dc0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x608edb8, rs 0x30476dc0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x7a08, rs 0x3d044b19, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x7a08963, rs 0x3d044b19, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x738a, rs 0x39c556ae, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x738aad5, rs 0x39c556ae, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x4f04, rs 0x278206ab, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x4f040d5, rs 0x278206ab, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x4686, rs 0x23431b1c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x4686363, rs 0x23431b1c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x5c00, rs 0x2e003dc5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x5c007b8, rs 0x2e003dc5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x5582, rs 0x2ac12072, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x558240e, rs 0x2ac12072, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x251d, rs 0x128e9dcf, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x251d3b9, rs 0x128e9dcf, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2c9f, rs 0x164f8078, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x2c9f00f, rs 0x164f8078, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3619, rs 0x1b0ca6a1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x36194d4, rs 0x1b0ca6a1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3f9b, rs 0x1fcdbb16, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x3f9b762, rs 0x1fcdbb16, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x315, rs 0x18aeb13, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x315d62, rs 0x18aeb13, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa97, rs 0x54bf6a4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa97ed4, rs 0x54bf6a4, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1011, rs 0x808d07d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x1011a0f, rs 0x808d07d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1993, rs 0xcc9cdca, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x19939b9, rs 0xcc9cdca, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xf12f, rs 0x7897ab07, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xf12f560, rs 0x7897ab07, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xf8ad, rs 0x7c56b6b0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xf8ad6d6, rs 0x7c56b6b0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xe22b, rs 0x71159069, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xe22b20d, rs 0x71159069, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xeba9, rs 0x75d48dde, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xeba91bb, rs 0x75d48dde, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xd727, rs 0x6b93dddb, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xd727bbb, rs 0x6b93dddb, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xdea5, rs 0x6f52c06c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xdea580d, rs 0x6f52c06c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xc423, rs 0x6211e6b5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xc423cd6, rs 0x6211e6b5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xcda1, rs 0x66d0fb02, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xcda1f60, rs 0x66d0fb02, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xbd3e, rs 0x5e9f46bf, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xbd3e8d7, rs 0x5e9f46bf, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xb4bc, rs 0x5a5e5b08, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xb4bcb61, rs 0x5a5e5b08, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xae3a, rs 0x571d7dd1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xae3afba, rs 0x571d7dd1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa7b8, rs 0x53dc6066, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa7b8c0c, rs 0x53dc6066, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x9b36, rs 0x4d9b3063, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x9b3660c, rs 0x4d9b3063, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x92b4, rs 0x495a2dd4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x92b45ba, rs 0x495a2dd4, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x8832, rs 0x44190b0d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x8832161, rs 0x44190b0d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x81b0, rs 0x40d816ba, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x81b02d7, rs 0x40d816ba, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff594b, rs 0xffffffffaca5c697, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff594b8d2, rs 0xffffffffaca5c697, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff50c9, rs 0xffffffffa864db20, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff50c9b64, rs 0xffffffffa864db20, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff4a4f, rs 0xffffffffa527fdf9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff4a4ffbf, rs 0xffffffffa527fdf9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff43cd, rs 0xffffffffa1e6e04e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff43cdc09, rs 0xffffffffa1e6e04e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff7f43, rs 0xffffffffbfa1b04b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff7f43609, rs 0xffffffffbfa1b04b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff76c1, rs 0xffffffffbb60adfc, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff76c15bf, rs 0xffffffffbb60adfc, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff6c47, rs 0xffffffffb6238b25, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff6c47164, rs 0xffffffffb6238b25, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff65c5, rs 0xffffffffb2e29692, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff65c52d2, rs 0xffffffffb2e29692, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff155a, rs 0xffffffff8aad2b2f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff155a565, rs 0xffffffff8aad2b2f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff0fdc, rs 0xffffffff87ee0df6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff0fdc1be, rs 0xffffffff87ee0df6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3352, rs 0xffffffff99a95df3, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff3352bbe, rs 0xffffffff99a95df3, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3ad0, rs 0xffffffff9d684044, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff3ad0808, rs 0xffffffff9d684044, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2056, rs 0xffffffff902b669d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff2056cd3, rs 0xffffffff902b669d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff29d4, rs 0xffffffff94ea7b2a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff29d4f65, rs 0xffffffff94ea7b2a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffc168, rs 0xffffffffe0b41de7, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffc1683bc, rs 0xffffffffe0b41de7, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffc8ea, rs 0xffffffffe4750050, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffc8ea00a, rs 0xffffffffe4750050, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffd26c, rs 0xffffffffe9362689, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffd26c4d1, rs 0xffffffffe9362689, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffdbee, rs 0xffffffffedf73b3e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffdbee767, rs 0xffffffffedf73b3e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffe760, rs 0xfffffffff3b06b3b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffe760d67, rs 0xfffffffff3b06b3b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffeee2, rs 0xfffffffff771768c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffeee2ed1, rs 0xfffffffff771768c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffff464, rs 0xfffffffffa325055, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffff464a0a, rs 0xfffffffffa325055, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffffde6, rs 0xfffffffffef34de2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffffde69bc, rs 0xfffffffffef34de2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff8d79, rs 0xffffffffc6bcf05f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff8d79e0b, rs 0xffffffffc6bcf05f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff84fb, rs 0xffffffffc27dede8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff84fbdbd, rs 0xffffffffc27dede8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff9e7d, rs 0xffffffffcf3ecb31, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff9e7d966, rs 0xffffffffcf3ecb31, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff97ff, rs 0xffffffffcbffd686, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff97ffad0, rs 0xffffffffcbffd686, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffab71, rs 0xffffffffd5b88683, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffab710d0, rs 0xffffffffd5b88683, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffa2f3, rs 0xffffffffd1799b34, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffa2f3366, rs 0xffffffffd1799b34, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffb875, rs 0xffffffffdc3abded, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffb8757bd, rs 0xffffffffdc3abded, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffb1f7, rs 0xffffffffd8fba05a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffb1f740b, rs 0xffffffffd8fba05a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xd219, rs 0x690ce0ee, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xd219c1d, rs 0x690ce0ee, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xdb9b, rs 0x6dcdfd59, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xdb9bfab, rs 0x6dcdfd59, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xc11d, rs 0x608edb80, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xc11db70, rs 0x608edb80, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xc89f, rs 0x644fc637, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xc89f8c6, rs 0x644fc637, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xf411, rs 0x7a089632, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xf4112c6, rs 0x7a089632, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfd93, rs 0x7ec98b85, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfd93170, rs 0x7ec98b85, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xe715, rs 0x738aad5c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xe7155ab, rs 0x738aad5c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xee97, rs 0x774bb0eb, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xee9761d, rs 0x774bb0eb, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x9e08, rs 0x4f040d56, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x9e081aa, rs 0x4f040d56, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x978a, rs 0x4bc510e1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x978a21c, rs 0x4bc510e1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x8d0c, rs 0x46863638, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x8d0c6c7, rs 0x46863638, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x848e, rs 0x42472b8f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x848e571, rs 0x42472b8f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xb800, rs 0x5c007b8a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xb800f71, rs 0x5c007b8a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xb182, rs 0x58c1663d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xb182cc7, rs 0x58c1663d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xab04, rs 0x558240e4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xab0481c, rs 0x558240e4, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa286, rs 0x51435d53, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa286baa, rs 0x51435d53, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x4a3a, rs 0x251d3b9e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x4a3a773, rs 0x251d3b9e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x43b8, rs 0x21dc2629, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x43b84c5, rs 0x21dc2629, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x593e, rs 0x2c9f00f0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x593e01e, rs 0x2c9f00f0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x50bc, rs 0x285e1d47, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x50bc3a8, rs 0x285e1d47, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x6c32, rs 0x36194d42, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x6c329a8, rs 0x36194d42, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x65b0, rs 0x32d850f5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x65b0a1e, rs 0x32d850f5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x7f36, rs 0x3f9b762c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x7f36ec5, rs 0x3f9b762c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x76b4, rs 0x3b5a6b9b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x76b4d73, rs 0x3b5a6b9b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x62b, rs 0x315d626, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x62bac4, rs 0x315d626, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfa9, rs 0x7d4cb91, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfa9972, rs 0x7d4cb91, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x152f, rs 0xa97ed48, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x152fda9, rs 0xa97ed48, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1cad, rs 0xe56f0ff, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x1cade1f, rs 0xe56f0ff, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2023, rs 0x1011a0fa, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x202341f, rs 0x1011a0fa, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x29a1, rs 0x14d0bd4d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x29a17a9, rs 0x14d0bd4d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3327, rs 0x19939b94, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x3327372, rs 0x19939b94, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3aa5, rs 0x1d528623, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x3aa50c4, rs 0x1d528623, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffe25e, rs 0xfffffffff12f560e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffe25eac1, rs 0xfffffffff12f560e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffebdc, rs 0xfffffffff5ee4bb9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffebdc977, rs 0xfffffffff5ee4bb9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffff15a, rs 0xfffffffff8ad6d60, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffff15adac, rs 0xfffffffff8ad6d60, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffff8d8, rs 0xfffffffffc6c70d7, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffff8d8e1a, rs 0xfffffffffc6c70d7, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffc456, rs 0xffffffffe22b20d2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffc45641a, rs 0xffffffffe22b20d2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffcdd4, rs 0xffffffffe6ea3d65, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffcdd47ac, rs 0xffffffffe6ea3d65, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffd752, rs 0xffffffffeba91bbc, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffd752377, rs 0xffffffffeba91bbc, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffded0, rs 0xffffffffef68060b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffded00c1, rs 0xffffffffef68060b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffae4f, rs 0xffffffffd727bbb6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffae4f776, rs 0xffffffffd727bbb6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffa7cd, rs 0xffffffffd3e6a601, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffa7cd4c0, rs 0xffffffffd3e6a601, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffbd4b, rs 0xffffffffdea580d8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffbd4b01b, rs 0xffffffffdea580d8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffb4c9, rs 0xffffffffda649d6f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffb4c93ad, rs 0xffffffffda649d6f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff8847, rs 0xffffffffc423cd6a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff88479ad, rs 0xffffffffc423cd6a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff9b43, rs 0xffffffffcda1f604, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff9b43ec0, rs 0xffffffffcda1f604, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff7a7d, rs 0xffffffffbd3e8d7e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff7a7d1af, rs 0xffffffffbd3e8d7e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff73ff, rs 0xffffffffb9ff90c9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff73ff219, rs 0xffffffffb9ff90c9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff6979, rs 0xffffffffb4bcb610, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff69796c2, rs 0xffffffffb4bcb610, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff60fb, rs 0xffffffffb07daba7, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff60fb574, rs 0xffffffffb07daba7, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff5c75, rs 0xffffffffae3afba2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff5c75f74, rs 0xffffffffae3afba2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff55f7, rs 0xffffffffaafbe615, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff55f7cc2, rs 0xffffffffaafbe615, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff4f71, rs 0xffffffffa7b8c0cc, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff4f71819, rs 0xffffffffa7b8c0cc, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff46f3, rs 0xffffffffa379dd7b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff46f3baf, rs 0xffffffffa379dd7b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff366c, rs 0xffffffff9b3660c6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff366cc18, rs 0xffffffff9b3660c6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3fee, rs 0xffffffff9ff77d71, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff3feefae, rs 0xffffffff9ff77d71, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2568, rs 0xffffffff92b45ba8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff2568b75, rs 0xffffffff92b45ba8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2cea, rs 0xffffffff9675461f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff2cea8c3, rs 0xffffffff9675461f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff1064, rs 0xffffffff8832161a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff10642c3, rs 0xffffffff8832161a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff19e6, rs 0xffffffff8cf30bad, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff19e6175, rs 0xffffffff8cf30bad, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff0360, rs 0xffffffff81b02d74, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff03605ae, rs 0xffffffff81b02d74, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff0ae2, rs 0xffffffff857130c3, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff0ae2618, rs 0xffffffff857130c3, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xbb15, rs 0x5d8a9099, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xbb15213, rs 0x5d8a9099, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xb297, rs 0x594b8d2e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xb2971a5, rs 0x594b8d2e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa811, rs 0x5408abf7, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa81157e, rs 0x5408abf7, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa193, rs 0x50c9b640, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa1936c8, rs 0x50c9b640, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x9d1d, rs 0x4e8ee645, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x9d1dcc8, rs 0x4e8ee645, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x949f, rs 0x4a4ffbf2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x949ff7e, rs 0x4a4ffbf2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x8e19, rs 0x470cdd2b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x8e19ba5, rs 0x470cdd2b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x879b, rs 0x43cdc09c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x879b813, rs 0x43cdc09c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xf704, rs 0x7b827d21, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xf704fa4, rs 0x7b827d21, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfe86, rs 0x7f436096, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfe86c12, rs 0x7f436096, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xe400, rs 0x7200464f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xe4008c9, rs 0x7200464f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xed82, rs 0x76c15bf8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xed82b7f, rs 0x76c15bf8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xd10c, rs 0x68860bfd, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xd10c17f, rs 0x68860bfd, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xd88e, rs 0x6c47164a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xd88e2c9, rs 0x6c47164a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xc208, rs 0x61043093, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xc208612, rs 0x61043093, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xcb8a, rs 0x65c52d24, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xcb8a5a4, rs 0x65c52d24, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2336, rs 0x119b4be9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x233697d, rs 0x119b4be9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2ab4, rs 0x155a565e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x2ab4acb, rs 0x155a565e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3032, rs 0x18197087, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x3032e10, rs 0x18197087, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x39b0, rs 0x1cd86d30, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x39b0da6, rs 0x1cd86d30, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x53e, rs 0x29f3d35, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x53e7a6, rs 0x29f3d35, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xcbc, rs 0x65e2082, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xcbc410, rs 0x65e2082, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x163a, rs 0xb1d065b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x163a0cb, rs 0xb1d065b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1fb8, rs 0xfdc1bec, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x1fb837d, rs 0xfdc1bec, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x6f27, rs 0x3793a651, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x6f274ca, rs 0x3793a651, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x66a5, rs 0x3352bbe6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x66a577c, rs 0x3352bbe6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x7c23, rs 0x3e119d3f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x7c233a7, rs 0x3e119d3f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x75a1, rs 0x3ad08088, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x75a1011, rs 0x3ad08088, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x492f, rs 0x2497d08d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x492fa11, rs 0x2497d08d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x40ad, rs 0x2056cd3a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x40ad9a7, rs 0x2056cd3a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x5a2b, rs 0x2d15ebe3, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x5a2bd7c, rs 0x2d15ebe3, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x53a9, rs 0x29d4f654, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x53a9eca, rs 0x29d4f654, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff8b52, rs 0xffffffffc5a92679, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff8b524cf, rs 0xffffffffc5a92679, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff82d0, rs 0xffffffffc1683bce, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff82d0779, rs 0xffffffffc1683bce, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff9856, rs 0xffffffffcc2b1d17, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff98563a2, rs 0xffffffffcc2b1d17, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff91d4, rs 0xffffffffc8ea00a0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff91d4014, rs 0xffffffffc8ea00a0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffad5a, rs 0xffffffffd6ad50a5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffad5aa14, rs 0xffffffffd6ad50a5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffa4d8, rs 0xffffffffd26c4d12, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffa4d89a2, rs 0xffffffffd26c4d12, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffbe5e, rs 0xffffffffdf2f6bcb, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffbe5ed79, rs 0xffffffffdf2f6bcb, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffb7dc, rs 0xffffffffdbee767c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffb7dcecf, rs 0xffffffffdbee767c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffc743, rs 0xffffffffe3a1cbc1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffc743978, rs 0xffffffffe3a1cbc1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffcec1, rs 0xffffffffe760d676, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffcec1ace, rs 0xffffffffe760d676, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffd447, rs 0xffffffffea23f0af, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffd447e15, rs 0xffffffffea23f0af, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffddc5, rs 0xffffffffeee2ed18, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffddc5da3, rs 0xffffffffeee2ed18, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffe14b, rs 0xfffffffff0a5bd1d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffe14b7a3, rs 0xfffffffff0a5bd1d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffe8c9, rs 0xfffffffff464a0aa, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffe8c9415, rs 0xfffffffff464a0aa, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffff24f, rs 0xfffffffff9278673, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffff24f0ce, rs 0xfffffffff9278673, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffffbcd, rs 0xfffffffffde69bc4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffffbcd378, rs 0xfffffffffde69bc4, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff1371, rs 0xffffffff89b8fd09, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff1371fa1, rs 0xffffffff89b8fd09, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff1af3, rs 0xffffffff8d79e0be, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff1af3c17, rs 0xffffffff8d79e0be, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff0075, rs 0xffffffff803ac667, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff00758cc, rs 0xffffffff803ac667, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff09f7, rs 0xffffffff84fbdbd0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff09f7b7a, rs 0xffffffff84fbdbd0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3579, rs 0xffffffff9abc8bd5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff357917a, rs 0xffffffff9abc8bd5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3cfb, rs 0xffffffff9e7d9662, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff3cfb2cc, rs 0xffffffff9e7d9662, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff267d, rs 0xffffffff933eb0bb, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff267d617, rs 0xffffffff933eb0bb, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2fff, rs 0xffffffff97ffad0c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff2fff5a1, rs 0xffffffff97ffad0c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff5f60, rs 0xffffffffafb010b1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff5f60216, rs 0xffffffffafb010b1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff56e2, rs 0xffffffffab710d06, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff56e21a0, rs 0xffffffffab710d06, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff4c64, rs 0xffffffffa6322bdf, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff4c6457b, rs 0xffffffffa6322bdf, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff45e6, rs 0xffffffffa2f33668, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff45e66cd, rs 0xffffffffa2f33668, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff7968, rs 0xffffffffbcb4666d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff7968ccd, rs 0xffffffffbcb4666d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff70ea, rs 0xffffffffb8757bda, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff70eaf7b, rs 0xffffffffb8757bda, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff6a6c, rs 0xffffffffb5365d03, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff6a6cba0, rs 0xffffffffb5365d03, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff63ee, rs 0xffffffffb1f740b4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff63ee816, rs 0xffffffffb1f740b4, imm 0x0003
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+srav $t0, $t1, $t2 :: rd 0x2, rs 0x9823b6e, rt 0xffffffffb8757bda
+srav $t0, $t1, $t2 :: rd 0x6a19, rs 0xd4326d9, rt 0xffffffffbcb4666d
+srav $t0, $t1, $t2 :: rd 0x130476, rs 0x130476dc, rt 0xffffffffa2f33668
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+srav $t0, $t1, $t2 :: rd 0x6a1936, rs 0x1a864db2, rt 0xffffffffab710d06
+srav $t0, $t1, $t2 :: rd 0xf23, rs 0x1e475005, rt 0xffffffffafb010b1
+srav $t0, $t1, $t2 :: rd 0x2608e, rs 0x2608edb8, rt 0xffffffff97ffad0c
+srav $t0, $t1, $t2 :: rd 0x4, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+srav $t0, $t1, $t2 :: rd 0xbe2b5b5, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+srav $t0, $t1, $t2 :: rd 0x15a, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+srav $t0, $t1, $t2 :: rd 0x350c, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+srav $t0, $t1, $t2 :: rd 0x639b0d, rs 0x31cd86d3, rt 0xffffffff803ac667
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+srav $t0, $t1, $t2 :: rd 0x1c27de, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+srav $t0, $t1, $t2 :: rd 0x4c11db7, rs 0x4c11db70, rt 0xfffffffffde69bc4
+srav $t0, $t1, $t2 :: rd 0x91a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+srav $t0, $t1, $t2 :: rd 0x1164f8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+srav $t0, $t1, $t2 :: rd 0x2, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+srav $t0, $t1, $t2 :: rd 0x5f, rs 0x5f15adac, rt 0xffffffffeee2ed18
+srav $t0, $t1, $t2 :: rd 0xb7a9, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+srav $t0, $t1, $t2 :: rd 0x15a, rs 0x569796c2, rt 0xffffffffe760d676
+srav $t0, $t1, $t2 :: rd 0x292b45ba, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+srav $t0, $t1, $t2 :: rd 0x6, rs 0x6a1936c8, rt 0xffffffffdbee767c
+srav $t0, $t1, $t2 :: rd 0xddb05, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+srav $t0, $t1, $t2 :: rd 0x18e6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+srav $t0, $t1, $t2 :: rd 0x33ad080, rs 0x675a1011, rt 0xffffffffd6ad50a5
+srav $t0, $t1, $t2 :: rd 0x791d4014, rs 0x791d4014, rt 0xffffffffc8ea00a0
+srav $t0, $t1, $t2 :: rd 0xfb, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+srav $t0, $t1, $t2 :: rd 0x1c27d, rs 0x709f7b7a, rt 0xffffffffc1683bce
+srav $t0, $t1, $t2 :: rd 0x3a, rs 0x745e66cd, rt 0xffffffffc5a92679
+srav $t0, $t1, $t2 :: rd 0xfffffffffffff982, rs 0xffffffff9823b6e0, rt 0x29d4f654
+srav $t0, $t1, $t2 :: rd 0xfffffffff39c556a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffe4, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+srav $t0, $t1, $t2 :: rd 0xfffffffffffcab04, rs 0xffffffff95609039, rt 0x2497d08d
+srav $t0, $t1, $t2 :: rd 0xffffffffff8b27c0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+srav $t0, $t1, $t2 :: rd 0xfffffffffe0a97ed, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+srav $t0, $t1, $t2 :: rd 0xffffffffffffc332, rs 0xffffffff8664e6e5, rt 0x3793a651
+srav $t0, $t1, $t2 :: rd 0xfffffffffffbe2b5, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff7, rs 0xffffffffbaea46ef, rt 0xb1d065b
+srav $t0, $t1, $t2 :: rd 0xffffffffedea580d, rs 0xffffffffb7a96036, rt 0x65e2082
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffd9b, rs 0xffffffffb3687d81, rt 0x29f3d35
+srav $t0, $t1, $t2 :: rd 0xffffffffffffad2f, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+srav $t0, $t1, $t2 :: rd 0xffffffffff53dc60, rs 0xffffffffa9ee3033, rt 0x18197087
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffe, rs 0xffffffffa4ad16ea, rt 0x155a565e
+srav $t0, $t1, $t2 :: rd 0xffffffffffd03605, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+srav $t0, $t1, $t2 :: rd 0xfffffffffd4326d9, rs 0xffffffffd4326d90, rt 0x65c52d24
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffa1e, rs 0xffffffffd0f37027, rt 0x61043093
+srav $t0, $t1, $t2 :: rd 0xfffffffffff76c15, rs 0xffffffffddb056fe, rt 0x6c47164a
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffe, rs 0xffffffffd9714b49, rt 0x68860bfd
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffc7, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+srav $t0, $t1, $t2 :: rd 0xffffffffffff87ee, rs 0xffffffffc3f706fb, rt 0x7200464f
+srav $t0, $t1, $t2 :: rd 0xffffffffffffff3a, rs 0xffffffffceb42022, rt 0x7f436096
+srav $t0, $t1, $t2 :: rd 0xffffffffe53a9eca, rs 0xffffffffca753d95, rt 0x7b827d21
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff23a8028, rt 0x43cdc09c
+srav $t0, $t1, $t2 :: rd 0xfffffffffffedf73, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffeee, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+srav $t0, $t1, $t2 :: rd 0xfffffffffffbcd37, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+srav $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffcb, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+srav $t0, $t1, $t2 :: rd 0xffffffffffffa2f3, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+srav $t0, $t1, $t2 :: rd 0x690ce0e, rs 0x34867077, rt 0xffffffff857130c3
+srav $t0, $t1, $t2 :: rd 0x304, rs 0x30476dc0, rt 0xffffffff81b02d74
+srav $t0, $t1, $t2 :: rd 0x1e822, rs 0x3d044b19, rt 0xffffffff8cf30bad
+srav $t0, $t1, $t2 :: rd 0xe, rs 0x39c556ae, rt 0xffffffff8832161a
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+srav $t0, $t1, $t2 :: rd 0x23431b, rs 0x23431b1c, rt 0xffffffff92b45ba8
+srav $t0, $t1, $t2 :: rd 0x1700, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+srav $t0, $t1, $t2 :: rd 0xab0481, rs 0x2ac12072, rt 0xffffffff9b3660c6
+srav $t0, $t1, $t2 :: rd 0x2, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+srav $t0, $t1, $t2 :: rd 0x164f8, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+srav $t0, $t1, $t2 :: rd 0xd8, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+srav $t0, $t1, $t2 :: rd 0x7f36ec5, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+srav $t0, $t1, $t2 :: rd 0x315d6, rs 0x18aeb13, rt 0xffffffffb07daba7
+srav $t0, $t1, $t2 :: rd 0x54b, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+srav $t0, $t1, $t2 :: rd 0x40468, rs 0x808d07d, rt 0xffffffffb9ff90c9
+srav $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+srav $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+srav $t0, $t1, $t2 :: rd 0x7c56b6b, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+srav $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+srav $t0, $t1, $t2 :: rd 0x1d7523, rs 0x75d48dde, rt 0xffffffffc423cd6a
+srav $t0, $t1, $t2 :: rd 0xd727, rs 0x6b93dddb, rt 0xffffffffda649d6f
+srav $t0, $t1, $t2 :: rd 0x6f, rs 0x6f52c06c, rt 0xffffffffdea580d8
+srav $t0, $t1, $t2 :: rd 0x3108f35a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+srav $t0, $t1, $t2 :: rd 0x19b, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+srav $t0, $t1, $t2 :: rd 0xbd3e8, rs 0x5e9f46bf, rt 0xffffffffef68060b
+srav $t0, $t1, $t2 :: rd 0x5, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+srav $t0, $t1, $t2 :: rd 0x2b8ebee, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+srav $t0, $t1, $t2 :: rd 0x14f7, rs 0x53dc6066, rt 0xffffffffe22b20d2
+srav $t0, $t1, $t2 :: rd 0x9b, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+srav $t0, $t1, $t2 :: rd 0x495a2dd4, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+srav $t0, $t1, $t2 :: rd 0x22, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+srav $t0, $t1, $t2 :: rd 0x10360, rs 0x40d816ba, rt 0xfffffffff12f560e
+srav $t0, $t1, $t2 :: rd 0xfffffffff594b8d2, rs 0xffffffffaca5c697, rt 0x1d528623
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffa86, rs 0xffffffffa864db20, rt 0x19939b94
+srav $t0, $t1, $t2 :: rd 0xfffffffffffd293f, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffe8, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+srav $t0, $t1, $t2 :: rd 0xffffffffffbb60ad, rs 0xffffffffbb60adfc, rt 0xa97ed48
+srav $t0, $t1, $t2 :: rd 0xffffffffffffdb11, rs 0xffffffffb6238b25, rt 0x7d4cb91
+srav $t0, $t1, $t2 :: rd 0xfffffffffecb8a5a, rs 0xffffffffb2e29692, rt 0x315d626
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff1, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+srav $t0, $t1, $t2 :: rd 0xffffffffe1fb837d, rs 0xffffffff87ee0df6, rt 0x36194d42
+srav $t0, $t1, $t2 :: rd 0xffffffffff3352bb, rs 0xffffffff99a95df3, rt 0x285e1d47
+srav $t0, $t1, $t2 :: rd 0xffffffffffff9d68, rs 0xffffffff9d684044, rt 0x2c9f00f0
+srav $t0, $t1, $t2 :: rd 0xffffffffffc815b3, rs 0xffffffff902b669d, rt 0x21dc2629
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffe, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffc16, rs 0xffffffffe0b41de7, rt 0x51435d53
+srav $t0, $t1, $t2 :: rd 0xfffffffffe475005, rs 0xffffffffe4750050, rt 0x558240e4
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe9362689, rt 0x58c1663d
+srav $t0, $t1, $t2 :: rd 0xfffffffffffb7dce, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+srav $t0, $t1, $t2 :: rd 0xffffffffffffe760, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff7, rs 0xfffffffff771768c, rt 0x46863638
+srav $t0, $t1, $t2 :: rd 0xfffffffffd19282a, rs 0xfffffffffa325055, rt 0x4bc510e1
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffb, rs 0xfffffffffef34de2, rt 0x4f040d56
+srav $t0, $t1, $t2 :: rd 0xfffffffffff8d79e, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffc, rs 0xffffffffc27dede8, rt 0x738aad5c
+srav $t0, $t1, $t2 :: rd 0xfffffffffe79f659, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+srav $t0, $t1, $t2 :: rd 0xfffffffffffff2ff, rs 0xffffffffcbffd686, rt 0x7a089632
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffab, rs 0xffffffffd5b88683, rt 0x644fc637
+srav $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffee, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+srav $t0, $t1, $t2 :: rd 0xffffffffffff63ee, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+srav $t0, $t1, $t2 :: rd 0x1a, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+srav $t0, $t1, $t2 :: rd 0x36e6f, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+srav $t0, $t1, $t2 :: rd 0x608, rs 0x608edb80, rt 0xffffffffd1799b34
+srav $t0, $t1, $t2 :: rd 0xc89f8c6, rs 0x644fc637, rt 0xffffffffd5b88683
+srav $t0, $t1, $t2 :: rd 0x1e82258, rs 0x7a089632, rt 0xffffffffcbffd686
+srav $t0, $t1, $t2 :: rd 0x3f64, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+srav $t0, $t1, $t2 :: rd 0x738aad, rs 0x738aad5c, rt 0xffffffffc27dede8
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+srav $t0, $t1, $t2 :: rd 0x13c10355, rs 0x4f040d56, rt 0xfffffffffef34de2
+srav $t0, $t1, $t2 :: rd 0x25e, rs 0x4bc510e1, rt 0xfffffffffa325055
+srav $t0, $t1, $t2 :: rd 0x46863, rs 0x46863638, rt 0xfffffffff771768c
+srav $t0, $t1, $t2 :: rd 0x8, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+srav $t0, $t1, $t2 :: rd 0x1, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+srav $t0, $t1, $t2 :: rd 0x2c60b3, rs 0x58c1663d, rt 0xffffffffe9362689
+srav $t0, $t1, $t2 :: rd 0x5582, rs 0x558240e4, rt 0xffffffffe4750050
+srav $t0, $t1, $t2 :: rd 0xa286ba, rs 0x51435d53, rt 0xffffffffe0b41de7
+srav $t0, $t1, $t2 :: rd 0x9474e, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+srav $t0, $t1, $t2 :: rd 0x1, rs 0x21dc2629, rt 0xffffffff902b669d
+srav $t0, $t1, $t2 :: rd 0x2c9f00f, rs 0x2c9f00f0, rt 0xffffffff9d684044
+srav $t0, $t1, $t2 :: rd 0x50b, rs 0x285e1d47, rt 0xffffffff99a95df3
+srav $t0, $t1, $t2 :: rd 0xd8, rs 0x36194d42, rt 0xffffffff87ee0df6
+srav $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+srav $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+srav $t0, $t1, $t2 :: rd 0x76b4, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+srav $t0, $t1, $t2 :: rd 0xc5, rs 0x315d626, rt 0xffffffffb2e29692
+srav $t0, $t1, $t2 :: rd 0x3ea65c, rs 0x7d4cb91, rt 0xffffffffb6238b25
+srav $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+srav $t0, $t1, $t2 :: rd 0x1cade, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+srav $t0, $t1, $t2 :: rd 0x4046, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+srav $t0, $t1, $t2 :: rd 0xa, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+srav $t0, $t1, $t2 :: rd 0x19939b94, rs 0x19939b94, rt 0xffffffffa864db20
+srav $t0, $t1, $t2 :: rd 0x3a, rs 0x1d528623, rt 0xffffffffaca5c697
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffc, rs 0xfffffffff12f560e, rt 0x40d816ba
+srav $t0, $t1, $t2 :: rd 0xffffffffffffaf72, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+srav $t0, $t1, $t2 :: rd 0xffffffffffffff8a, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+srav $t0, $t1, $t2 :: rd 0xffffffffff8d8e1a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+srav $t0, $t1, $t2 :: rd 0xffffffffff88ac83, rs 0xffffffffe22b20d2, rt 0x53dc6066
+srav $t0, $t1, $t2 :: rd 0xfffffffffffff375, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+srav $t0, $t1, $t2 :: rd 0xffffffffffeba91b, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffef68060b, rt 0x5e9f46bf
+srav $t0, $t1, $t2 :: rd 0xfffffffff5c9eeed, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffe9f, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+srav $t0, $t1, $t2 :: rd 0xfffffffffffdea58, rs 0xffffffffdea580d8, rt 0x6f52c06c
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffb, rs 0xffffffffda649d6f, rt 0x6b93dddb
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffc423cd6a, rt 0x75d48dde
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+srav $t0, $t1, $t2 :: rd 0xffffffffffffcda1, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+srav $t0, $t1, $t2 :: rd 0xffffffffffef4fa3, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffd, rs 0xffffffffb9ff90c9, rt 0x808d07d
+srav $t0, $t1, $t2 :: rd 0xfffffffffb4bcb61, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+srav $t0, $t1, $t2 :: rd 0xfffffffffffff60f, rs 0xffffffffb07daba7, rt 0x18aeb13
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffeb8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+srav $t0, $t1, $t2 :: rd 0xffffffffd57df30a, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffa7, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+srav $t0, $t1, $t2 :: rd 0xffffffffffff46f3, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+srav $t0, $t1, $t2 :: rd 0xffffffffffffe6cd, rs 0xffffffff9b3660c6, rt 0x2ac12072
+srav $t0, $t1, $t2 :: rd 0xfffffffffcffbbeb, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff9, rs 0xffffffff92b45ba8, rt 0x23431b1c
+srav $t0, $t1, $t2 :: rd 0xfffffffffff2cea8, rs 0xffffffff9675461f, rt 0x278206ab
+srav $t0, $t1, $t2 :: rd 0xfffffffffffe20c8, rs 0xffffffff8832161a, rt 0x39c556ae
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffc6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+srav $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+srav $t0, $t1, $t2 :: rd 0xffffffffffffff0a, rs 0xffffffff857130c3, rt 0x34867077
+srav $t0, $t1, $t2 :: rd 0x2ec54, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+srav $t0, $t1, $t2 :: rd 0x16, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+srav $t0, $t1, $t2 :: rd 0xa81157e, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+srav $t0, $t1, $t2 :: rd 0x50c, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+srav $t0, $t1, $t2 :: rd 0x2747, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+srav $t0, $t1, $t2 :: rd 0x1293fef, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+srav $t0, $t1, $t2 :: rd 0x43cdc0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+srav $t0, $t1, $t2 :: rd 0x3dc, rs 0x7b827d21, rt 0xffffffffca753d95
+srav $t0, $t1, $t2 :: rd 0x1fd0d825, rs 0x7f436096, rt 0xffffffffceb42022
+srav $t0, $t1, $t2 :: rd 0xe, rs 0x7200464f, rt 0xffffffffc3f706fb
+srav $t0, $t1, $t2 :: rd 0x76c15, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+srav $t0, $t1, $t2 :: rd 0x344305, rs 0x68860bfd, rt 0xffffffffd9714b49
+srav $t0, $t1, $t2 :: rd 0x1, rs 0x6c47164a, rt 0xffffffffddb056fe
+srav $t0, $t1, $t2 :: rd 0xc20861, rs 0x61043093, rt 0xffffffffd0f37027
+srav $t0, $t1, $t2 :: rd 0x65c5, rs 0x65c52d24, rt 0xffffffffd4326d90
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+srav $t0, $t1, $t2 :: rd 0x55695, rs 0x155a565e, rt 0xffffffffa4ad16ea
+srav $t0, $t1, $t2 :: rd 0x303, rs 0x18197087, rt 0xffffffffa9ee3033
+srav $t0, $t1, $t2 :: rd 0x1cd86d3, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+srav $t0, $t1, $t2 :: rd 0x14f9e9a, rs 0x29f3d35, rt 0xffffffffb3687d81
+srav $t0, $t1, $t2 :: rd 0x19, rs 0x65e2082, rt 0xffffffffb7a96036
+srav $t0, $t1, $t2 :: rd 0x163a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+srav $t0, $t1, $t2 :: rd 0xf, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+srav $t0, $t1, $t2 :: rd 0x1bc9d32, rs 0x3793a651, rt 0xffffffff8664e6e5
+srav $t0, $t1, $t2 :: rd 0xcd4, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+srav $t0, $t1, $t2 :: rd 0x7c233, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+srav $t0, $t1, $t2 :: rd 0x3, rs 0x3ad08088, rt 0xffffffff8b27c03c
+srav $t0, $t1, $t2 :: rd 0x12, rs 0x2497d08d, rt 0xffffffff95609039
+srav $t0, $t1, $t2 :: rd 0x815b, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+srav $t0, $t1, $t2 :: rd 0x5a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+srav $t0, $t1, $t2 :: rd 0x29d4f654, rs 0x29d4f654, rt 0xffffffff9823b6e0
+srav $t0, $t1, $t2 :: rd 0xfffffffffffe2d49, rs 0xffffffffc5a92679, rt 0x745e66cd
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff0, rs 0xffffffffc1683bce, rt 0x709f7b7a
+srav $t0, $t1, $t2 :: rd 0xfffffffff98563a2, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffc8e, rs 0xffffffffc8ea00a0, rt 0x791d4014
+srav $t0, $t1, $t2 :: rd 0xffffffffffffeb56, rs 0xffffffffd6ad50a5, rt 0x675a1011
+srav $t0, $t1, $t2 :: rd 0xffffffffff49b134, rs 0xffffffffd26c4d12, rt 0x639b0da6
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+srav $t0, $t1, $t2 :: rd 0xffffffffffdbee76, rs 0xffffffffdbee767c, rt 0x6a1936c8
+srav $t0, $t1, $t2 :: rd 0xffffffffffffff1d, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+srav $t0, $t1, $t2 :: rd 0xfffffffff9d8359d, rs 0xffffffffe760d676, rt 0x569796c2
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffd, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+srav $t0, $t1, $t2 :: rd 0xfffffffffffeee2e, rs 0xffffffffeee2ed18, rt 0x5f15adac
+srav $t0, $t1, $t2 :: rd 0xfffffffffff852de, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff464a0aa, rt 0x4593e01e
+srav $t0, $t1, $t2 :: rd 0xfffffffffff24f0c, rs 0xfffffffff9278673, rt 0x48d0c6c7
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffde6, rs 0xfffffffffde69bc4, rt 0x4c11db70
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffc, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+srav $t0, $t1, $t2 :: rd 0xffffffffffe35e78, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+srav $t0, $t1, $t2 :: rd 0xfffffffffffff007, rs 0xffffffff803ac667, rt 0x31cd86d3
+srav $t0, $t1, $t2 :: rd 0xfffffffff84fbdbd, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+srav $t0, $t1, $t2 :: rd 0xffffffffcd5e45ea, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffe79, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+srav $t0, $t1, $t2 :: rd 0xffffffffffff267d, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+srav $t0, $t1, $t2 :: rd 0xffffffffffffff97, rs 0xffffffff97ffad0c, rt 0x2608edb8
+srav $t0, $t1, $t2 :: rd 0xfffffffffd7d8085, rs 0xffffffffafb010b1, rt 0x1e475005
+srav $t0, $t1, $t2 :: rd 0xffffffffffffeadc, rs 0xffffffffab710d06, rt 0x1a864db2
+srav $t0, $t1, $t2 :: rd 0xfffffffffff4c645, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffa, rs 0xffffffffa2f33668, rt 0x130476dc
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffde, rs 0xffffffffbcb4666d, rt 0xd4326d9
+srav $t0, $t1, $t2 :: rd 0xfffffffffffee1d5, rs 0xffffffffb8757bda, rt 0x9823b6e
+srav $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+srav $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1304, rs 0x9823b6e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x130476d, rs 0x9823b6e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a86, rs 0xd4326d9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a864db, rs 0xd4326d9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2608, rs 0x130476dc, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x2608edb, rs 0x130476dc, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2f8a, rs 0x17c56b6b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x2f8ad6d, rs 0x17c56b6b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x350c, rs 0x1a864db2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x350c9b6, rs 0x1a864db2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3c8e, rs 0x1e475005, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x3c8ea00, rs 0x1e475005, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608edb8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x4c11db7, rs 0x2608edb8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x4593, rs 0x22c9f00f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x4593e01, rs 0x22c9f00f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x5f15, rs 0x2f8ad6d6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x5f15ada, rs 0x2f8ad6d6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x5697, rs 0x2b4bcb61, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x569796c, rs 0x2b4bcb61, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x6a19, rs 0x350c9b64, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x6a1936c, rs 0x350c9b64, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x639b, rs 0x31cd86d3, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x639b0da, rs 0x31cd86d3, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x791d, rs 0x3c8ea00a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x791d401, rs 0x3c8ea00a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x709f, rs 0x384fbdbd, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x709f7b7, rs 0x384fbdbd, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x9823, rs 0x4c11db70, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x9823b6e, rs 0x4c11db70, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x91a1, rs 0x48d0c6c7, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x91a18d8, rs 0x48d0c6c7, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x8b27, rs 0x4593e01e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x8b27c03, rs 0x4593e01e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x82a5, rs 0x4152fda9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x82a5fb5, rs 0x4152fda9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xbe2b, rs 0x5f15adac, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xbe2b5b5, rs 0x5f15adac, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xb7a9, rs 0x5bd4b01b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xb7a9603, rs 0x5bd4b01b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xad2f, rs 0x569796c2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xad2f2d8, rs 0x569796c2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa4ad, rs 0x52568b75, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa4ad16e, rs 0x52568b75, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xd432, rs 0x6a1936c8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xd4326d9, rs 0x6a1936c8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xddb0, rs 0x6ed82b7f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xddb056f, rs 0x6ed82b7f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xc736, rs 0x639b0da6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xc7361b4, rs 0x639b0da6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xceb4, rs 0x675a1011, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xceb4202, rs 0x675a1011, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xf23a, rs 0x791d4014, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xf23a802, rs 0x791d4014, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xfbb8, rs 0x7ddc5da3, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xfbb8bb4, rs 0x7ddc5da3, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xe13e, rs 0x709f7b7a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xe13ef6f, rs 0x709f7b7a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xe8bc, rs 0x745e66cd, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xe8bccd9, rs 0x745e66cd, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9823b6e0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13047, rs 0xffffffff9823b6e0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x130476dc, rs 0xffffffff9823b6e0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x139c5, rs 0xffffffff9ce2ab57, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x139c556a, rs 0xffffffff9ce2ab57, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff91a18d8e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12343, rs 0xffffffff91a18d8e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x123431b1, rs 0xffffffff91a18d8e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff95609039, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12ac1, rs 0xffffffff95609039, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x12ac1207, rs 0xffffffff95609039, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8b27c03c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1164f, rs 0xffffffff8b27c03c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1164f807, rs 0xffffffff8b27c03c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x11fcd, rs 0xffffffff8fe6dd8b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x11fcdbb1, rs 0xffffffff8fe6dd8b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff82a5fb52, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1054b, rs 0xffffffff82a5fb52, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1054bf6a, rs 0xffffffff82a5fb52, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8664e6e5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x10cc9, rs 0xffffffff8664e6e5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x10cc9cdc, rs 0xffffffff8664e6e5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x17c56, rs 0xffffffffbe2b5b58, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x17c56b6b, rs 0xffffffffbe2b5b58, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbaea46ef, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x175d4, rs 0xffffffffbaea46ef, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x175d48dd, rs 0xffffffffbaea46ef, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb7a96036, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x16f52, rs 0xffffffffb7a96036, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x16f52c06, rs 0xffffffffb7a96036, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb3687d81, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x166d0, rs 0xffffffffb3687d81, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x166d0fb0, rs 0xffffffffb3687d81, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffad2f2d84, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x15a5e, rs 0xffffffffad2f2d84, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x15a5e5b0, rs 0xffffffffad2f2d84, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa9ee3033, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x153dc, rs 0xffffffffa9ee3033, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x153dc606, rs 0xffffffffa9ee3033, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1495a, rs 0xffffffffa4ad16ea, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1495a2dd, rs 0xffffffffa4ad16ea, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x140d8, rs 0xffffffffa06c0b5d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x140d816b, rs 0xffffffffa06c0b5d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd4326d90, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a864, rs 0xffffffffd4326d90, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a864db2, rs 0xffffffffd4326d90, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd0f37027, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a1e6, rs 0xffffffffd0f37027, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a1e6e04, rs 0xffffffffd0f37027, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffddb056fe, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1bb60, rs 0xffffffffddb056fe, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1bb60adf, rs 0xffffffffddb056fe, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd9714b49, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1b2e2, rs 0xffffffffd9714b49, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1b2e2969, rs 0xffffffffd9714b49, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc7361b4c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x18e6c, rs 0xffffffffc7361b4c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x18e6c369, rs 0xffffffffc7361b4c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc3f706fb, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x187ee, rs 0xffffffffc3f706fb, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x187ee0df, rs 0xffffffffc3f706fb, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffceb42022, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x19d68, rs 0xffffffffceb42022, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x19d68404, rs 0xffffffffceb42022, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffca753d95, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x194ea, rs 0xffffffffca753d95, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x194ea7b2, rs 0xffffffffca753d95, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff23a8028, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1e475, rs 0xfffffffff23a8028, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1e475005, rs 0xfffffffff23a8028, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1edf7, rs 0xfffffffff6fb9d9f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1edf73b3, rs 0xfffffffff6fb9d9f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1f771, rs 0xfffffffffbb8bb46, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1f771768, rs 0xfffffffffbb8bb46, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffff79a6f1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1fef3, rs 0xffffffffff79a6f1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1fef34de, rs 0xffffffffff79a6f1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1c27d, rs 0xffffffffe13ef6f4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1c27dede, rs 0xffffffffe13ef6f4, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1cbff, rs 0xffffffffe5ffeb43, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1cbffd68, rs 0xffffffffe5ffeb43, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1d179, rs 0xffffffffe8bccd9a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1d1799b3, rs 0xffffffffe8bccd9a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffec7dd02d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1d8fb, rs 0xffffffffec7dd02d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1d8fba05, rs 0xffffffffec7dd02d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x690c, rs 0x34867077, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x690ce0e, rs 0x34867077, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x608e, rs 0x30476dc0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x608edb8, rs 0x30476dc0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x7a08, rs 0x3d044b19, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x7a08963, rs 0x3d044b19, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x738a, rs 0x39c556ae, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x738aad5, rs 0x39c556ae, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x4f04, rs 0x278206ab, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x4f040d5, rs 0x278206ab, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x4686, rs 0x23431b1c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x4686363, rs 0x23431b1c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x5c00, rs 0x2e003dc5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x5c007b8, rs 0x2e003dc5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x5582, rs 0x2ac12072, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x558240e, rs 0x2ac12072, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x251d, rs 0x128e9dcf, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x251d3b9, rs 0x128e9dcf, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2c9f, rs 0x164f8078, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x2c9f00f, rs 0x164f8078, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3619, rs 0x1b0ca6a1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x36194d4, rs 0x1b0ca6a1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3f9b, rs 0x1fcdbb16, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x3f9b762, rs 0x1fcdbb16, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x315, rs 0x18aeb13, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x315d62, rs 0x18aeb13, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa97, rs 0x54bf6a4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa97ed4, rs 0x54bf6a4, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1011, rs 0x808d07d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1011a0f, rs 0x808d07d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1993, rs 0xcc9cdca, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x19939b9, rs 0xcc9cdca, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xf12f, rs 0x7897ab07, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xf12f560, rs 0x7897ab07, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xf8ad, rs 0x7c56b6b0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xf8ad6d6, rs 0x7c56b6b0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xe22b, rs 0x71159069, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xe22b20d, rs 0x71159069, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xeba9, rs 0x75d48dde, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xeba91bb, rs 0x75d48dde, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xd727, rs 0x6b93dddb, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xd727bbb, rs 0x6b93dddb, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xdea5, rs 0x6f52c06c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xdea580d, rs 0x6f52c06c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xc423, rs 0x6211e6b5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xc423cd6, rs 0x6211e6b5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xcda1, rs 0x66d0fb02, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xcda1f60, rs 0x66d0fb02, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xbd3e, rs 0x5e9f46bf, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xbd3e8d7, rs 0x5e9f46bf, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xb4bc, rs 0x5a5e5b08, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xb4bcb61, rs 0x5a5e5b08, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xae3a, rs 0x571d7dd1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xae3afba, rs 0x571d7dd1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa7b8, rs 0x53dc6066, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa7b8c0c, rs 0x53dc6066, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x9b36, rs 0x4d9b3063, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x9b3660c, rs 0x4d9b3063, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x92b4, rs 0x495a2dd4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x92b45ba, rs 0x495a2dd4, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x8832, rs 0x44190b0d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x8832161, rs 0x44190b0d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x81b0, rs 0x40d816ba, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x81b02d7, rs 0x40d816ba, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffaca5c697, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1594b, rs 0xffffffffaca5c697, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1594b8d2, rs 0xffffffffaca5c697, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa864db20, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x150c9, rs 0xffffffffa864db20, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x150c9b64, rs 0xffffffffa864db20, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa527fdf9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x14a4f, rs 0xffffffffa527fdf9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x14a4ffbf, rs 0xffffffffa527fdf9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x143cd, rs 0xffffffffa1e6e04e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x143cdc09, rs 0xffffffffa1e6e04e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x17f43, rs 0xffffffffbfa1b04b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x17f43609, rs 0xffffffffbfa1b04b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbb60adfc, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x176c1, rs 0xffffffffbb60adfc, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x176c15bf, rs 0xffffffffbb60adfc, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb6238b25, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x16c47, rs 0xffffffffb6238b25, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x16c47164, rs 0xffffffffb6238b25, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb2e29692, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x165c5, rs 0xffffffffb2e29692, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x165c52d2, rs 0xffffffffb2e29692, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1155a, rs 0xffffffff8aad2b2f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1155a565, rs 0xffffffff8aad2b2f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff87ee0df6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x10fdc, rs 0xffffffff87ee0df6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x10fdc1be, rs 0xffffffff87ee0df6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff99a95df3, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13352, rs 0xffffffff99a95df3, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x13352bbe, rs 0xffffffff99a95df3, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9d684044, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13ad0, rs 0xffffffff9d684044, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x13ad0808, rs 0xffffffff9d684044, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff902b669d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12056, rs 0xffffffff902b669d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x12056cd3, rs 0xffffffff902b669d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x129d4, rs 0xffffffff94ea7b2a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x129d4f65, rs 0xffffffff94ea7b2a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe0b41de7, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1c168, rs 0xffffffffe0b41de7, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1c1683bc, rs 0xffffffffe0b41de7, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe4750050, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1c8ea, rs 0xffffffffe4750050, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1c8ea00a, rs 0xffffffffe4750050, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe9362689, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1d26c, rs 0xffffffffe9362689, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1d26c4d1, rs 0xffffffffe9362689, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffedf73b3e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1dbee, rs 0xffffffffedf73b3e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1dbee767, rs 0xffffffffedf73b3e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1e760, rs 0xfffffffff3b06b3b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1e760d67, rs 0xfffffffff3b06b3b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff771768c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1eee2, rs 0xfffffffff771768c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1eee2ed1, rs 0xfffffffff771768c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffa325055, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1f464, rs 0xfffffffffa325055, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1f464a0a, rs 0xfffffffffa325055, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffef34de2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1fde6, rs 0xfffffffffef34de2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1fde69bc, rs 0xfffffffffef34de2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x18d79, rs 0xffffffffc6bcf05f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x18d79e0b, rs 0xffffffffc6bcf05f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc27dede8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x184fb, rs 0xffffffffc27dede8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x184fbdbd, rs 0xffffffffc27dede8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x19e7d, rs 0xffffffffcf3ecb31, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x19e7d966, rs 0xffffffffcf3ecb31, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcbffd686, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x197ff, rs 0xffffffffcbffd686, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x197ffad0, rs 0xffffffffcbffd686, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd5b88683, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ab71, rs 0xffffffffd5b88683, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ab710d0, rs 0xffffffffd5b88683, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd1799b34, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a2f3, rs 0xffffffffd1799b34, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a2f3366, rs 0xffffffffd1799b34, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdc3abded, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1b875, rs 0xffffffffdc3abded, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1b8757bd, rs 0xffffffffdc3abded, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd8fba05a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1b1f7, rs 0xffffffffd8fba05a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1b1f740b, rs 0xffffffffd8fba05a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xd219, rs 0x690ce0ee, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xd219c1d, rs 0x690ce0ee, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xdb9b, rs 0x6dcdfd59, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xdb9bfab, rs 0x6dcdfd59, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xc11d, rs 0x608edb80, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xc11db70, rs 0x608edb80, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xc89f, rs 0x644fc637, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xc89f8c6, rs 0x644fc637, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xf411, rs 0x7a089632, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xf4112c6, rs 0x7a089632, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xfd93, rs 0x7ec98b85, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xfd93170, rs 0x7ec98b85, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xe715, rs 0x738aad5c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xe7155ab, rs 0x738aad5c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xee97, rs 0x774bb0eb, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xee9761d, rs 0x774bb0eb, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x9e08, rs 0x4f040d56, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x9e081aa, rs 0x4f040d56, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x978a, rs 0x4bc510e1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x978a21c, rs 0x4bc510e1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x8d0c, rs 0x46863638, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x8d0c6c7, rs 0x46863638, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x848e, rs 0x42472b8f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x848e571, rs 0x42472b8f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xb800, rs 0x5c007b8a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xb800f71, rs 0x5c007b8a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xb182, rs 0x58c1663d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xb182cc7, rs 0x58c1663d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xab04, rs 0x558240e4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xab0481c, rs 0x558240e4, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa286, rs 0x51435d53, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa286baa, rs 0x51435d53, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x4a3a, rs 0x251d3b9e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x4a3a773, rs 0x251d3b9e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x43b8, rs 0x21dc2629, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x43b84c5, rs 0x21dc2629, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x593e, rs 0x2c9f00f0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x593e01e, rs 0x2c9f00f0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x50bc, rs 0x285e1d47, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x50bc3a8, rs 0x285e1d47, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x6c32, rs 0x36194d42, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x6c329a8, rs 0x36194d42, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x65b0, rs 0x32d850f5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x65b0a1e, rs 0x32d850f5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x7f36, rs 0x3f9b762c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x7f36ec5, rs 0x3f9b762c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x76b4, rs 0x3b5a6b9b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x76b4d73, rs 0x3b5a6b9b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x62b, rs 0x315d626, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x62bac4, rs 0x315d626, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xfa9, rs 0x7d4cb91, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xfa9972, rs 0x7d4cb91, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x152f, rs 0xa97ed48, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x152fda9, rs 0xa97ed48, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1cad, rs 0xe56f0ff, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1cade1f, rs 0xe56f0ff, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2023, rs 0x1011a0fa, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x202341f, rs 0x1011a0fa, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x29a1, rs 0x14d0bd4d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x29a17a9, rs 0x14d0bd4d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3327, rs 0x19939b94, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x3327372, rs 0x19939b94, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3aa5, rs 0x1d528623, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x3aa50c4, rs 0x1d528623, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff12f560e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1e25e, rs 0xfffffffff12f560e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1e25eac1, rs 0xfffffffff12f560e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ebdc, rs 0xfffffffff5ee4bb9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ebdc977, rs 0xfffffffff5ee4bb9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1f15a, rs 0xfffffffff8ad6d60, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1f15adac, rs 0xfffffffff8ad6d60, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1f8d8, rs 0xfffffffffc6c70d7, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1f8d8e1a, rs 0xfffffffffc6c70d7, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe22b20d2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1c456, rs 0xffffffffe22b20d2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1c45641a, rs 0xffffffffe22b20d2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1cdd4, rs 0xffffffffe6ea3d65, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1cdd47ac, rs 0xffffffffe6ea3d65, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffeba91bbc, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1d752, rs 0xffffffffeba91bbc, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1d752377, rs 0xffffffffeba91bbc, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffef68060b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ded0, rs 0xffffffffef68060b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ded00c1, rs 0xffffffffef68060b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd727bbb6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ae4f, rs 0xffffffffd727bbb6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ae4f776, rs 0xffffffffd727bbb6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a7cd, rs 0xffffffffd3e6a601, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a7cd4c0, rs 0xffffffffd3e6a601, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdea580d8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1bd4b, rs 0xffffffffdea580d8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1bd4b01b, rs 0xffffffffdea580d8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffda649d6f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1b4c9, rs 0xffffffffda649d6f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1b4c93ad, rs 0xffffffffda649d6f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc423cd6a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x18847, rs 0xffffffffc423cd6a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x188479ad, rs 0xffffffffc423cd6a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcda1f604, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x19b43, rs 0xffffffffcda1f604, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x19b43ec0, rs 0xffffffffcda1f604, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x17a7d, rs 0xffffffffbd3e8d7e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x17a7d1af, rs 0xffffffffbd3e8d7e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x173ff, rs 0xffffffffb9ff90c9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x173ff219, rs 0xffffffffb9ff90c9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb4bcb610, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x16979, rs 0xffffffffb4bcb610, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x169796c2, rs 0xffffffffb4bcb610, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb07daba7, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x160fb, rs 0xffffffffb07daba7, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x160fb574, rs 0xffffffffb07daba7, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffae3afba2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x15c75, rs 0xffffffffae3afba2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x15c75f74, rs 0xffffffffae3afba2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffaafbe615, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x155f7, rs 0xffffffffaafbe615, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x155f7cc2, rs 0xffffffffaafbe615, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x14f71, rs 0xffffffffa7b8c0cc, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x14f71819, rs 0xffffffffa7b8c0cc, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa379dd7b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x146f3, rs 0xffffffffa379dd7b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x146f3baf, rs 0xffffffffa379dd7b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9b3660c6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1366c, rs 0xffffffff9b3660c6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1366cc18, rs 0xffffffff9b3660c6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9ff77d71, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13fee, rs 0xffffffff9ff77d71, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x13feefae, rs 0xffffffff9ff77d71, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff92b45ba8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12568, rs 0xffffffff92b45ba8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x12568b75, rs 0xffffffff92b45ba8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9675461f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12cea, rs 0xffffffff9675461f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x12cea8c3, rs 0xffffffff9675461f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8832161a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x11064, rs 0xffffffff8832161a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x110642c3, rs 0xffffffff8832161a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8cf30bad, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x119e6, rs 0xffffffff8cf30bad, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x119e6175, rs 0xffffffff8cf30bad, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff81b02d74, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x10360, rs 0xffffffff81b02d74, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x103605ae, rs 0xffffffff81b02d74, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff857130c3, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x10ae2, rs 0xffffffff857130c3, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x10ae2618, rs 0xffffffff857130c3, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xbb15, rs 0x5d8a9099, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xbb15213, rs 0x5d8a9099, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xb297, rs 0x594b8d2e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xb2971a5, rs 0x594b8d2e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa811, rs 0x5408abf7, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa81157e, rs 0x5408abf7, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa193, rs 0x50c9b640, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa1936c8, rs 0x50c9b640, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x9d1d, rs 0x4e8ee645, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x9d1dcc8, rs 0x4e8ee645, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x949f, rs 0x4a4ffbf2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x949ff7e, rs 0x4a4ffbf2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x8e19, rs 0x470cdd2b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x8e19ba5, rs 0x470cdd2b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x879b, rs 0x43cdc09c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x879b813, rs 0x43cdc09c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xf704, rs 0x7b827d21, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xf704fa4, rs 0x7b827d21, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xfe86, rs 0x7f436096, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xfe86c12, rs 0x7f436096, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xe400, rs 0x7200464f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xe4008c9, rs 0x7200464f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xed82, rs 0x76c15bf8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xed82b7f, rs 0x76c15bf8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xd10c, rs 0x68860bfd, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xd10c17f, rs 0x68860bfd, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xd88e, rs 0x6c47164a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xd88e2c9, rs 0x6c47164a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xc208, rs 0x61043093, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xc208612, rs 0x61043093, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xcb8a, rs 0x65c52d24, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xcb8a5a4, rs 0x65c52d24, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2336, rs 0x119b4be9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x233697d, rs 0x119b4be9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2ab4, rs 0x155a565e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x2ab4acb, rs 0x155a565e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3032, rs 0x18197087, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x3032e10, rs 0x18197087, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x39b0, rs 0x1cd86d30, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x39b0da6, rs 0x1cd86d30, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x53e, rs 0x29f3d35, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x53e7a6, rs 0x29f3d35, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xcbc, rs 0x65e2082, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xcbc410, rs 0x65e2082, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x163a, rs 0xb1d065b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x163a0cb, rs 0xb1d065b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1fb8, rs 0xfdc1bec, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1fb837d, rs 0xfdc1bec, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x6f27, rs 0x3793a651, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x6f274ca, rs 0x3793a651, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x66a5, rs 0x3352bbe6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x66a577c, rs 0x3352bbe6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x7c23, rs 0x3e119d3f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x7c233a7, rs 0x3e119d3f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x75a1, rs 0x3ad08088, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x75a1011, rs 0x3ad08088, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x492f, rs 0x2497d08d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x492fa11, rs 0x2497d08d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x40ad, rs 0x2056cd3a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x40ad9a7, rs 0x2056cd3a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x5a2b, rs 0x2d15ebe3, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x5a2bd7c, rs 0x2d15ebe3, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x53a9, rs 0x29d4f654, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x53a9eca, rs 0x29d4f654, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc5a92679, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x18b52, rs 0xffffffffc5a92679, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x18b524cf, rs 0xffffffffc5a92679, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc1683bce, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x182d0, rs 0xffffffffc1683bce, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x182d0779, rs 0xffffffffc1683bce, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x19856, rs 0xffffffffcc2b1d17, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x198563a2, rs 0xffffffffcc2b1d17, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x191d4, rs 0xffffffffc8ea00a0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x191d4014, rs 0xffffffffc8ea00a0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ad5a, rs 0xffffffffd6ad50a5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ad5aa14, rs 0xffffffffd6ad50a5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd26c4d12, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a4d8, rs 0xffffffffd26c4d12, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a4d89a2, rs 0xffffffffd26c4d12, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1be5e, rs 0xffffffffdf2f6bcb, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1be5ed79, rs 0xffffffffdf2f6bcb, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdbee767c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1b7dc, rs 0xffffffffdbee767c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1b7dcecf, rs 0xffffffffdbee767c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1c743, rs 0xffffffffe3a1cbc1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1c743978, rs 0xffffffffe3a1cbc1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe760d676, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1cec1, rs 0xffffffffe760d676, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1cec1ace, rs 0xffffffffe760d676, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffea23f0af, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1d447, rs 0xffffffffea23f0af, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1d447e15, rs 0xffffffffea23f0af, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffeee2ed18, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ddc5, rs 0xffffffffeee2ed18, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ddc5da3, rs 0xffffffffeee2ed18, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1e14b, rs 0xfffffffff0a5bd1d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1e14b7a3, rs 0xfffffffff0a5bd1d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff464a0aa, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1e8c9, rs 0xfffffffff464a0aa, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1e8c9415, rs 0xfffffffff464a0aa, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff9278673, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1f24f, rs 0xfffffffff9278673, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1f24f0ce, rs 0xfffffffff9278673, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffde69bc4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1fbcd, rs 0xfffffffffde69bc4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1fbcd378, rs 0xfffffffffde69bc4, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff89b8fd09, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x11371, rs 0xffffffff89b8fd09, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x11371fa1, rs 0xffffffff89b8fd09, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8d79e0be, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x11af3, rs 0xffffffff8d79e0be, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x11af3c17, rs 0xffffffff8d79e0be, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff803ac667, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x10075, rs 0xffffffff803ac667, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x100758cc, rs 0xffffffff803ac667, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x109f7, rs 0xffffffff84fbdbd0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x109f7b7a, rs 0xffffffff84fbdbd0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13579, rs 0xffffffff9abc8bd5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1357917a, rs 0xffffffff9abc8bd5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9e7d9662, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13cfb, rs 0xffffffff9e7d9662, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x13cfb2cc, rs 0xffffffff9e7d9662, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff933eb0bb, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1267d, rs 0xffffffff933eb0bb, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1267d617, rs 0xffffffff933eb0bb, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff97ffad0c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12fff, rs 0xffffffff97ffad0c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x12fff5a1, rs 0xffffffff97ffad0c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffafb010b1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x15f60, rs 0xffffffffafb010b1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x15f60216, rs 0xffffffffafb010b1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffab710d06, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x156e2, rs 0xffffffffab710d06, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x156e21a0, rs 0xffffffffab710d06, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa6322bdf, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x14c64, rs 0xffffffffa6322bdf, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x14c6457b, rs 0xffffffffa6322bdf, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa2f33668, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x145e6, rs 0xffffffffa2f33668, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x145e66cd, rs 0xffffffffa2f33668, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbcb4666d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x17968, rs 0xffffffffbcb4666d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x17968ccd, rs 0xffffffffbcb4666d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb8757bda, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x170ea, rs 0xffffffffb8757bda, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x170eaf7b, rs 0xffffffffb8757bda, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb5365d03, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x16a6c, rs 0xffffffffb5365d03, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x16a6cba0, rs 0xffffffffb5365d03, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb1f740b4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x163ee, rs 0xffffffffb1f740b4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x163ee816, rs 0xffffffffb1f740b4, imm 0x0003
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+srlv $t0, $t1, $t2 :: rd 0x2, rs 0x9823b6e, rt 0xffffffffb8757bda
+srlv $t0, $t1, $t2 :: rd 0x6a19, rs 0xd4326d9, rt 0xffffffffbcb4666d
+srlv $t0, $t1, $t2 :: rd 0x130476, rs 0x130476dc, rt 0xffffffffa2f33668
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+srlv $t0, $t1, $t2 :: rd 0x6a1936, rs 0x1a864db2, rt 0xffffffffab710d06
+srlv $t0, $t1, $t2 :: rd 0xf23, rs 0x1e475005, rt 0xffffffffafb010b1
+srlv $t0, $t1, $t2 :: rd 0x2608e, rs 0x2608edb8, rt 0xffffffff97ffad0c
+srlv $t0, $t1, $t2 :: rd 0x4, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+srlv $t0, $t1, $t2 :: rd 0xbe2b5b5, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+srlv $t0, $t1, $t2 :: rd 0x15a, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+srlv $t0, $t1, $t2 :: rd 0x350c, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+srlv $t0, $t1, $t2 :: rd 0x639b0d, rs 0x31cd86d3, rt 0xffffffff803ac667
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+srlv $t0, $t1, $t2 :: rd 0x1c27de, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+srlv $t0, $t1, $t2 :: rd 0x4c11db7, rs 0x4c11db70, rt 0xfffffffffde69bc4
+srlv $t0, $t1, $t2 :: rd 0x91a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+srlv $t0, $t1, $t2 :: rd 0x1164f8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+srlv $t0, $t1, $t2 :: rd 0x2, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+srlv $t0, $t1, $t2 :: rd 0x5f, rs 0x5f15adac, rt 0xffffffffeee2ed18
+srlv $t0, $t1, $t2 :: rd 0xb7a9, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+srlv $t0, $t1, $t2 :: rd 0x15a, rs 0x569796c2, rt 0xffffffffe760d676
+srlv $t0, $t1, $t2 :: rd 0x292b45ba, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+srlv $t0, $t1, $t2 :: rd 0x6, rs 0x6a1936c8, rt 0xffffffffdbee767c
+srlv $t0, $t1, $t2 :: rd 0xddb05, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+srlv $t0, $t1, $t2 :: rd 0x18e6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+srlv $t0, $t1, $t2 :: rd 0x33ad080, rs 0x675a1011, rt 0xffffffffd6ad50a5
+srlv $t0, $t1, $t2 :: rd 0x791d4014, rs 0x791d4014, rt 0xffffffffc8ea00a0
+srlv $t0, $t1, $t2 :: rd 0xfb, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+srlv $t0, $t1, $t2 :: rd 0x1c27d, rs 0x709f7b7a, rt 0xffffffffc1683bce
+srlv $t0, $t1, $t2 :: rd 0x3a, rs 0x745e66cd, rt 0xffffffffc5a92679
+srlv $t0, $t1, $t2 :: rd 0x982, rs 0xffffffff9823b6e0, rt 0x29d4f654
+srlv $t0, $t1, $t2 :: rd 0x139c556a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+srlv $t0, $t1, $t2 :: rd 0x24, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+srlv $t0, $t1, $t2 :: rd 0x4ab04, rs 0xffffffff95609039, rt 0x2497d08d
+srlv $t0, $t1, $t2 :: rd 0x8b27c0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+srlv $t0, $t1, $t2 :: rd 0x20a97ed, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+srlv $t0, $t1, $t2 :: rd 0x4332, rs 0xffffffff8664e6e5, rt 0x3793a651
+srlv $t0, $t1, $t2 :: rd 0xbe2b5, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+srlv $t0, $t1, $t2 :: rd 0x17, rs 0xffffffffbaea46ef, rt 0xb1d065b
+srlv $t0, $t1, $t2 :: rd 0x2dea580d, rs 0xffffffffb7a96036, rt 0x65e2082
+srlv $t0, $t1, $t2 :: rd 0x59b, rs 0xffffffffb3687d81, rt 0x29f3d35
+srlv $t0, $t1, $t2 :: rd 0xad2f, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+srlv $t0, $t1, $t2 :: rd 0x153dc60, rs 0xffffffffa9ee3033, rt 0x18197087
+srlv $t0, $t1, $t2 :: rd 0x2, rs 0xffffffffa4ad16ea, rt 0x155a565e
+srlv $t0, $t1, $t2 :: rd 0x503605, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+srlv $t0, $t1, $t2 :: rd 0xd4326d9, rs 0xffffffffd4326d90, rt 0x65c52d24
+srlv $t0, $t1, $t2 :: rd 0x1a1e, rs 0xffffffffd0f37027, rt 0x61043093
+srlv $t0, $t1, $t2 :: rd 0x376c15, rs 0xffffffffddb056fe, rt 0x6c47164a
+srlv $t0, $t1, $t2 :: rd 0x6, rs 0xffffffffd9714b49, rt 0x68860bfd
+srlv $t0, $t1, $t2 :: rd 0xc7, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+srlv $t0, $t1, $t2 :: rd 0x187ee, rs 0xffffffffc3f706fb, rt 0x7200464f
+srlv $t0, $t1, $t2 :: rd 0x33a, rs 0xffffffffceb42022, rt 0x7f436096
+srlv $t0, $t1, $t2 :: rd 0x653a9eca, rs 0xffffffffca753d95, rt 0x7b827d21
+srlv $t0, $t1, $t2 :: rd 0xf, rs 0xfffffffff23a8028, rt 0x43cdc09c
+srlv $t0, $t1, $t2 :: rd 0x1edf73, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+srlv $t0, $t1, $t2 :: rd 0x3eee, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+srlv $t0, $t1, $t2 :: rd 0x7fbcd37, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+srlv $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+srlv $t0, $t1, $t2 :: rd 0x1cb, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+srlv $t0, $t1, $t2 :: rd 0x3a2f3, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+srlv $t0, $t1, $t2 :: rd 0x76, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+srlv $t0, $t1, $t2 :: rd 0x690ce0e, rs 0x34867077, rt 0xffffffff857130c3
+srlv $t0, $t1, $t2 :: rd 0x304, rs 0x30476dc0, rt 0xffffffff81b02d74
+srlv $t0, $t1, $t2 :: rd 0x1e822, rs 0x3d044b19, rt 0xffffffff8cf30bad
+srlv $t0, $t1, $t2 :: rd 0xe, rs 0x39c556ae, rt 0xffffffff8832161a
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+srlv $t0, $t1, $t2 :: rd 0x23431b, rs 0x23431b1c, rt 0xffffffff92b45ba8
+srlv $t0, $t1, $t2 :: rd 0x1700, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+srlv $t0, $t1, $t2 :: rd 0xab0481, rs 0x2ac12072, rt 0xffffffff9b3660c6
+srlv $t0, $t1, $t2 :: rd 0x2, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+srlv $t0, $t1, $t2 :: rd 0x164f8, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+srlv $t0, $t1, $t2 :: rd 0xd8, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+srlv $t0, $t1, $t2 :: rd 0x7f36ec5, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+srlv $t0, $t1, $t2 :: rd 0x315d6, rs 0x18aeb13, rt 0xffffffffb07daba7
+srlv $t0, $t1, $t2 :: rd 0x54b, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+srlv $t0, $t1, $t2 :: rd 0x40468, rs 0x808d07d, rt 0xffffffffb9ff90c9
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+srlv $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+srlv $t0, $t1, $t2 :: rd 0x7c56b6b, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+srlv $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+srlv $t0, $t1, $t2 :: rd 0x1d7523, rs 0x75d48dde, rt 0xffffffffc423cd6a
+srlv $t0, $t1, $t2 :: rd 0xd727, rs 0x6b93dddb, rt 0xffffffffda649d6f
+srlv $t0, $t1, $t2 :: rd 0x6f, rs 0x6f52c06c, rt 0xffffffffdea580d8
+srlv $t0, $t1, $t2 :: rd 0x3108f35a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+srlv $t0, $t1, $t2 :: rd 0x19b, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+srlv $t0, $t1, $t2 :: rd 0xbd3e8, rs 0x5e9f46bf, rt 0xffffffffef68060b
+srlv $t0, $t1, $t2 :: rd 0x5, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+srlv $t0, $t1, $t2 :: rd 0x2b8ebee, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+srlv $t0, $t1, $t2 :: rd 0x14f7, rs 0x53dc6066, rt 0xffffffffe22b20d2
+srlv $t0, $t1, $t2 :: rd 0x9b, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+srlv $t0, $t1, $t2 :: rd 0x495a2dd4, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+srlv $t0, $t1, $t2 :: rd 0x22, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+srlv $t0, $t1, $t2 :: rd 0x10360, rs 0x40d816ba, rt 0xfffffffff12f560e
+srlv $t0, $t1, $t2 :: rd 0x1594b8d2, rs 0xffffffffaca5c697, rt 0x1d528623
+srlv $t0, $t1, $t2 :: rd 0xa86, rs 0xffffffffa864db20, rt 0x19939b94
+srlv $t0, $t1, $t2 :: rd 0x5293f, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+srlv $t0, $t1, $t2 :: rd 0x28, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+srlv $t0, $t1, $t2 :: rd 0xbb60ad, rs 0xffffffffbb60adfc, rt 0xa97ed48
+srlv $t0, $t1, $t2 :: rd 0x5b11, rs 0xffffffffb6238b25, rt 0x7d4cb91
+srlv $t0, $t1, $t2 :: rd 0x2cb8a5a, rs 0xffffffffb2e29692, rt 0x315d626
+srlv $t0, $t1, $t2 :: rd 0x11, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+srlv $t0, $t1, $t2 :: rd 0x21fb837d, rs 0xffffffff87ee0df6, rt 0x36194d42
+srlv $t0, $t1, $t2 :: rd 0x13352bb, rs 0xffffffff99a95df3, rt 0x285e1d47
+srlv $t0, $t1, $t2 :: rd 0x9d68, rs 0xffffffff9d684044, rt 0x2c9f00f0
+srlv $t0, $t1, $t2 :: rd 0x4815b3, rs 0xffffffff902b669d, rt 0x21dc2629
+srlv $t0, $t1, $t2 :: rd 0x2, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+srlv $t0, $t1, $t2 :: rd 0x1c16, rs 0xffffffffe0b41de7, rt 0x51435d53
+srlv $t0, $t1, $t2 :: rd 0xe475005, rs 0xffffffffe4750050, rt 0x558240e4
+srlv $t0, $t1, $t2 :: rd 0x7, rs 0xffffffffe9362689, rt 0x58c1663d
+srlv $t0, $t1, $t2 :: rd 0x3b7dce, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+srlv $t0, $t1, $t2 :: rd 0x1e760, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+srlv $t0, $t1, $t2 :: rd 0xf7, rs 0xfffffffff771768c, rt 0x46863638
+srlv $t0, $t1, $t2 :: rd 0x7d19282a, rs 0xfffffffffa325055, rt 0x4bc510e1
+srlv $t0, $t1, $t2 :: rd 0x3fb, rs 0xfffffffffef34de2, rt 0x4f040d56
+srlv $t0, $t1, $t2 :: rd 0x18d79e, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+srlv $t0, $t1, $t2 :: rd 0xc, rs 0xffffffffc27dede8, rt 0x738aad5c
+srlv $t0, $t1, $t2 :: rd 0x679f659, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+srlv $t0, $t1, $t2 :: rd 0x32ff, rs 0xffffffffcbffd686, rt 0x7a089632
+srlv $t0, $t1, $t2 :: rd 0x1ab, rs 0xffffffffd5b88683, rt 0x644fc637
+srlv $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+srlv $t0, $t1, $t2 :: rd 0x6e, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+srlv $t0, $t1, $t2 :: rd 0x363ee, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+srlv $t0, $t1, $t2 :: rd 0x1a, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+srlv $t0, $t1, $t2 :: rd 0x36e6f, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+srlv $t0, $t1, $t2 :: rd 0x608, rs 0x608edb80, rt 0xffffffffd1799b34
+srlv $t0, $t1, $t2 :: rd 0xc89f8c6, rs 0x644fc637, rt 0xffffffffd5b88683
+srlv $t0, $t1, $t2 :: rd 0x1e82258, rs 0x7a089632, rt 0xffffffffcbffd686
+srlv $t0, $t1, $t2 :: rd 0x3f64, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+srlv $t0, $t1, $t2 :: rd 0x738aad, rs 0x738aad5c, rt 0xffffffffc27dede8
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+srlv $t0, $t1, $t2 :: rd 0x13c10355, rs 0x4f040d56, rt 0xfffffffffef34de2
+srlv $t0, $t1, $t2 :: rd 0x25e, rs 0x4bc510e1, rt 0xfffffffffa325055
+srlv $t0, $t1, $t2 :: rd 0x46863, rs 0x46863638, rt 0xfffffffff771768c
+srlv $t0, $t1, $t2 :: rd 0x8, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+srlv $t0, $t1, $t2 :: rd 0x2c60b3, rs 0x58c1663d, rt 0xffffffffe9362689
+srlv $t0, $t1, $t2 :: rd 0x5582, rs 0x558240e4, rt 0xffffffffe4750050
+srlv $t0, $t1, $t2 :: rd 0xa286ba, rs 0x51435d53, rt 0xffffffffe0b41de7
+srlv $t0, $t1, $t2 :: rd 0x9474e, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0x21dc2629, rt 0xffffffff902b669d
+srlv $t0, $t1, $t2 :: rd 0x2c9f00f, rs 0x2c9f00f0, rt 0xffffffff9d684044
+srlv $t0, $t1, $t2 :: rd 0x50b, rs 0x285e1d47, rt 0xffffffff99a95df3
+srlv $t0, $t1, $t2 :: rd 0xd8, rs 0x36194d42, rt 0xffffffff87ee0df6
+srlv $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+srlv $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+srlv $t0, $t1, $t2 :: rd 0x76b4, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+srlv $t0, $t1, $t2 :: rd 0xc5, rs 0x315d626, rt 0xffffffffb2e29692
+srlv $t0, $t1, $t2 :: rd 0x3ea65c, rs 0x7d4cb91, rt 0xffffffffb6238b25
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+srlv $t0, $t1, $t2 :: rd 0x1cade, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+srlv $t0, $t1, $t2 :: rd 0x4046, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+srlv $t0, $t1, $t2 :: rd 0xa, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+srlv $t0, $t1, $t2 :: rd 0x19939b94, rs 0x19939b94, rt 0xffffffffa864db20
+srlv $t0, $t1, $t2 :: rd 0x3a, rs 0x1d528623, rt 0xffffffffaca5c697
+srlv $t0, $t1, $t2 :: rd 0x3c, rs 0xfffffffff12f560e, rt 0x40d816ba
+srlv $t0, $t1, $t2 :: rd 0x7af72, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+srlv $t0, $t1, $t2 :: rd 0xf8a, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+srlv $t0, $t1, $t2 :: rd 0x1f8d8e1a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+srlv $t0, $t1, $t2 :: rd 0x388ac83, rs 0xffffffffe22b20d2, rt 0x53dc6066
+srlv $t0, $t1, $t2 :: rd 0x7375, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+srlv $t0, $t1, $t2 :: rd 0xeba91b, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffef68060b, rt 0x5e9f46bf
+srlv $t0, $t1, $t2 :: rd 0x35c9eeed, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+srlv $t0, $t1, $t2 :: rd 0x69f, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+srlv $t0, $t1, $t2 :: rd 0xdea58, rs 0xffffffffdea580d8, rt 0x6f52c06c
+srlv $t0, $t1, $t2 :: rd 0x1b, rs 0xffffffffda649d6f, rt 0x6b93dddb
+srlv $t0, $t1, $t2 :: rd 0x3, rs 0xffffffffc423cd6a, rt 0x75d48dde
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+srlv $t0, $t1, $t2 :: rd 0xcda1, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+srlv $t0, $t1, $t2 :: rd 0x2f4fa3, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+srlv $t0, $t1, $t2 :: rd 0x5, rs 0xffffffffb9ff90c9, rt 0x808d07d
+srlv $t0, $t1, $t2 :: rd 0xb4bcb61, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+srlv $t0, $t1, $t2 :: rd 0x160f, rs 0xffffffffb07daba7, rt 0x18aeb13
+srlv $t0, $t1, $t2 :: rd 0x2b8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+srlv $t0, $t1, $t2 :: rd 0x557df30a, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+srlv $t0, $t1, $t2 :: rd 0xa7, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+srlv $t0, $t1, $t2 :: rd 0x146f3, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+srlv $t0, $t1, $t2 :: rd 0x26cd, rs 0xffffffff9b3660c6, rt 0x2ac12072
+srlv $t0, $t1, $t2 :: rd 0x4ffbbeb, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+srlv $t0, $t1, $t2 :: rd 0x9, rs 0xffffffff92b45ba8, rt 0x23431b1c
+srlv $t0, $t1, $t2 :: rd 0x12cea8, rs 0xffffffff9675461f, rt 0x278206ab
+srlv $t0, $t1, $t2 :: rd 0x220c8, rs 0xffffffff8832161a, rt 0x39c556ae
+srlv $t0, $t1, $t2 :: rd 0x46, rs 0xffffffff8cf30bad, rt 0x3d044b19
+srlv $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+srlv $t0, $t1, $t2 :: rd 0x10a, rs 0xffffffff857130c3, rt 0x34867077
+srlv $t0, $t1, $t2 :: rd 0x2ec54, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+srlv $t0, $t1, $t2 :: rd 0x16, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+srlv $t0, $t1, $t2 :: rd 0xa81157e, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+srlv $t0, $t1, $t2 :: rd 0x50c, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+srlv $t0, $t1, $t2 :: rd 0x2747, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+srlv $t0, $t1, $t2 :: rd 0x1293fef, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+srlv $t0, $t1, $t2 :: rd 0x43cdc0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+srlv $t0, $t1, $t2 :: rd 0x3dc, rs 0x7b827d21, rt 0xffffffffca753d95
+srlv $t0, $t1, $t2 :: rd 0x1fd0d825, rs 0x7f436096, rt 0xffffffffceb42022
+srlv $t0, $t1, $t2 :: rd 0xe, rs 0x7200464f, rt 0xffffffffc3f706fb
+srlv $t0, $t1, $t2 :: rd 0x76c15, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+srlv $t0, $t1, $t2 :: rd 0x344305, rs 0x68860bfd, rt 0xffffffffd9714b49
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0x6c47164a, rt 0xffffffffddb056fe
+srlv $t0, $t1, $t2 :: rd 0xc20861, rs 0x61043093, rt 0xffffffffd0f37027
+srlv $t0, $t1, $t2 :: rd 0x65c5, rs 0x65c52d24, rt 0xffffffffd4326d90
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+srlv $t0, $t1, $t2 :: rd 0x55695, rs 0x155a565e, rt 0xffffffffa4ad16ea
+srlv $t0, $t1, $t2 :: rd 0x303, rs 0x18197087, rt 0xffffffffa9ee3033
+srlv $t0, $t1, $t2 :: rd 0x1cd86d3, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+srlv $t0, $t1, $t2 :: rd 0x14f9e9a, rs 0x29f3d35, rt 0xffffffffb3687d81
+srlv $t0, $t1, $t2 :: rd 0x19, rs 0x65e2082, rt 0xffffffffb7a96036
+srlv $t0, $t1, $t2 :: rd 0x163a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+srlv $t0, $t1, $t2 :: rd 0xf, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+srlv $t0, $t1, $t2 :: rd 0x1bc9d32, rs 0x3793a651, rt 0xffffffff8664e6e5
+srlv $t0, $t1, $t2 :: rd 0xcd4, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+srlv $t0, $t1, $t2 :: rd 0x7c233, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+srlv $t0, $t1, $t2 :: rd 0x3, rs 0x3ad08088, rt 0xffffffff8b27c03c
+srlv $t0, $t1, $t2 :: rd 0x12, rs 0x2497d08d, rt 0xffffffff95609039
+srlv $t0, $t1, $t2 :: rd 0x815b, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+srlv $t0, $t1, $t2 :: rd 0x5a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+srlv $t0, $t1, $t2 :: rd 0x29d4f654, rs 0x29d4f654, rt 0xffffffff9823b6e0
+srlv $t0, $t1, $t2 :: rd 0x62d49, rs 0xffffffffc5a92679, rt 0x745e66cd
+srlv $t0, $t1, $t2 :: rd 0x30, rs 0xffffffffc1683bce, rt 0x709f7b7a
+srlv $t0, $t1, $t2 :: rd 0x198563a2, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+srlv $t0, $t1, $t2 :: rd 0xc8e, rs 0xffffffffc8ea00a0, rt 0x791d4014
+srlv $t0, $t1, $t2 :: rd 0x6b56, rs 0xffffffffd6ad50a5, rt 0x675a1011
+srlv $t0, $t1, $t2 :: rd 0x349b134, rs 0xffffffffd26c4d12, rt 0x639b0da6
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+srlv $t0, $t1, $t2 :: rd 0xdbee76, rs 0xffffffffdbee767c, rt 0x6a1936c8
+srlv $t0, $t1, $t2 :: rd 0x71d, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+srlv $t0, $t1, $t2 :: rd 0x39d8359d, rs 0xffffffffe760d676, rt 0x569796c2
+srlv $t0, $t1, $t2 :: rd 0x1d, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+srlv $t0, $t1, $t2 :: rd 0xeee2e, rs 0xffffffffeee2ed18, rt 0x5f15adac
+srlv $t0, $t1, $t2 :: rd 0x7852de, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+srlv $t0, $t1, $t2 :: rd 0x3, rs 0xfffffffff464a0aa, rt 0x4593e01e
+srlv $t0, $t1, $t2 :: rd 0x1f24f0c, rs 0xfffffffff9278673, rt 0x48d0c6c7
+srlv $t0, $t1, $t2 :: rd 0xfde6, rs 0xfffffffffde69bc4, rt 0x4c11db70
+srlv $t0, $t1, $t2 :: rd 0x4, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+srlv $t0, $t1, $t2 :: rd 0x235e78, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+srlv $t0, $t1, $t2 :: rd 0x1007, rs 0xffffffff803ac667, rt 0x31cd86d3
+srlv $t0, $t1, $t2 :: rd 0x84fbdbd, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+srlv $t0, $t1, $t2 :: rd 0x4d5e45ea, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+srlv $t0, $t1, $t2 :: rd 0x279, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+srlv $t0, $t1, $t2 :: rd 0x1267d, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+srlv $t0, $t1, $t2 :: rd 0x97, rs 0xffffffff97ffad0c, rt 0x2608edb8
+srlv $t0, $t1, $t2 :: rd 0x57d8085, rs 0xffffffffafb010b1, rt 0x1e475005
+srlv $t0, $t1, $t2 :: rd 0x2adc, rs 0xffffffffab710d06, rt 0x1a864db2
+srlv $t0, $t1, $t2 :: rd 0x14c645, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+srlv $t0, $t1, $t2 :: rd 0xa, rs 0xffffffffa2f33668, rt 0x130476dc
+srlv $t0, $t1, $t2 :: rd 0x5e, rs 0xffffffffbcb4666d, rt 0xd4326d9
+srlv $t0, $t1, $t2 :: rd 0x2e1d5, rs 0xffffffffb8757bda, rt 0x9823b6e
+srlv $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+srlv $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
diff --git a/none/tests/mips64/shift_instructions.stdout.exp-mips64r2 b/none/tests/mips64/shift_instructions.stdout.exp-mips64r2
new file mode 100644
index 0000000..4a4bd4b
--- /dev/null
+++ b/none/tests/mips64/shift_instructions.stdout.exp-mips64r2
@@ -0,0 +1,24832 @@
+drotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x257ad5400000000, rs 0x12bd6aa, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xad54000000000257, rs 0x12bd6aa, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4000000000257ad5, rs 0x12bd6aa, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5a5562600fd0ec7, rs 0x7e876382d2ab13, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x562600fd0ec705a5, rs 0x7e876382d2ab13, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x600fd0ec705a5562, rs 0x7e876382d2ab13, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x130476dc00000000, rs 0x9823b6e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x76dc000000001304, rs 0x9823b6e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc00000000130476d, rs 0x9823b6e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x862a21e72edadd35, rs 0x976d6e9ac31510f3, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x21e72edadd35862a, rs 0x976d6e9ac31510f3, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x72edadd35862a21e, rs 0x976d6e9ac31510f3, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1a864db200000000, rs 0xd4326d9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4db2000000001a86, rs 0xd4326d9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2000000001a864db, rs 0xd4326d9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb5ad4bf76ee8daee, rs 0xb7746d775ad6a5fb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4bf76ee8daeeb5ad, rs 0xb7746d775ad6a5fb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x76ee8daeeb5ad4bf, rs 0xb7746d775ad6a5fb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2608edb800000000, rs 0x130476dc, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xedb8000000002608, rs 0x130476dc, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8000000002608edb, rs 0x130476dc, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xcef6a0485618145, rs 0x42b0c0a28677b502, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6a04856181450cef, rs 0x42b0c0a28677b502, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4856181450cef6a0, rs 0x42b0c0a28677b502, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2f8ad6d600000000, rs 0x17c56b6b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd6d6000000002f8a, rs 0x17c56b6b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6000000002f8ad6d, rs 0x17c56b6b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3c78615a55513a63, rs 0x2aa89d319e3c30ad, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x615a55513a633c78, rs 0x2aa89d319e3c30ad, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa55513a633c78615, rs 0x2aa89d319e3c30ad, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x350c9b6400000000, rs 0x1a864db2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9b6400000000350c, rs 0x1a864db2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x400000000350c9b6, rs 0x1a864db2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xeff6827a3e611d86, rs 0x1f308ec377fb413d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x827a3e611d86eff6, rs 0x1f308ec377fb413d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa3e611d86eff6827, rs 0x1f308ec377fb413d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3c8ea00a00000000, rs 0x1e475005, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa00a000000003c8e, rs 0x1e475005, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa000000003c8ea00, rs 0x1e475005, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8ec1c9eef5408427, rs 0x7aa04213c760e4f7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc9eef54084278ec1, rs 0x7aa04213c760e4f7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xef54084278ec1c9e, rs 0x7aa04213c760e4f7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4c11db7000000000, rs 0x2608edb8, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xdb70000000004c11, rs 0x2608edb8, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4c11db7, rs 0x2608edb8, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x35b1b9413ce0b98a, rs 0x9e705cc51ad8dca0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb9413ce0b98a35b1, rs 0x9e705cc51ad8dca0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x13ce0b98a35b1b94, rs 0x9e705cc51ad8dca0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4593e01e00000000, rs 0x22c9f00f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe01e000000004593, rs 0x22c9f00f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe000000004593e01, rs 0x22c9f00f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2c2b4c1a967bb50d, rs 0x4b3dda869615a60d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4c1a967bb50d2c2b, rs 0x4b3dda869615a60d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa967bb50d2c2b4c1, rs 0x4b3dda869615a60d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5f15adac00000000, rs 0x2f8ad6d6, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xadac000000005f15, rs 0x2f8ad6d6, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc000000005f15ada, rs 0x2f8ad6d6, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc6a7a83a0bcf49ba, rs 0x5e7a4dd6353d41d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa83a0bcf49bac6a7, rs 0x5e7a4dd6353d41d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa0bcf49bac6a7a83, rs 0x5e7a4dd6353d41d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x569796c200000000, rs 0x2b4bcb61, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x96c2000000005697, rs 0x2b4bcb61, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x200000000569796c, rs 0x2b4bcb61, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8817a82675e6b53b, rs 0x3af35a9dc40bd413, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa82675e6b53b8817, rs 0x3af35a9dc40bd413, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x675e6b53b8817a82, rs 0x3af35a9dc40bd413, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x6a1936c800000000, rs 0x350c9b64, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x36c8000000006a19, rs 0x350c9b64, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8000000006a1936c, rs 0x350c9b64, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x341143008fea0aad, rs 0x47f505569a08a180, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x43008fea0aad3411, rs 0x47f505569a08a180, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8fea0aad3411430, rs 0x47f505569a08a180, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x639b0da600000000, rs 0x31cd86d3, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xda600000000639b, rs 0x31cd86d3, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x600000000639b0da, rs 0x31cd86d3, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xada4081f2ac96eff, rs 0x9564b77fd6d2040f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x81f2ac96effada4, rs 0x9564b77fd6d2040f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf2ac96effada4081, rs 0x9564b77fd6d2040f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x791d401400000000, rs 0x3c8ea00a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x401400000000791d, rs 0x3c8ea00a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x400000000791d401, rs 0x3c8ea00a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x658ed77d9d7904f3, rs 0xcebc8279b2c76bbe, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd77d9d7904f3658e, rs 0xcebc8279b2c76bbe, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xd9d7904f3658ed77, rs 0xcebc8279b2c76bbe, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x709f7b7a00000000, rs 0x384fbdbd, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7b7a00000000709f, rs 0x384fbdbd, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa00000000709f7b7, rs 0x384fbdbd, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3e31c98f6a06985e, rs 0xb5034c2f1f18e4c7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc98f6a06985e3e31, rs 0xb5034c2f1f18e4c7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf6a06985e3e31c98, rs 0xb5034c2f1f18e4c7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9823b6e000000000, rs 0x4c11db70, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb6e0000000009823, rs 0x4c11db70, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9823b6e, rs 0x4c11db70, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x35f4f2f29fea5f9, rs 0x94ff52fc81afa797, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4f2f29fea5f9035f, rs 0x94ff52fc81afa797, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf29fea5f9035f4f2, rs 0x94ff52fc81afa797, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x91a18d8e00000000, rs 0x48d0c6c7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8d8e0000000091a1, rs 0x48d0c6c7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe0000000091a18d8, rs 0x48d0c6c7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xdbf8a1d463b1b22c, rs 0x31d8d9166dfc50ea, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa1d463b1b22cdbf8, rs 0x31d8d9166dfc50ea, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x463b1b22cdbf8a1d, rs 0x31d8d9166dfc50ea, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8b27c03c00000000, rs 0x4593e01e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc03c000000008b27, rs 0x4593e01e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc000000008b27c03, rs 0x4593e01e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf1d12b626ca937ac, rs 0x36549bd678e895b1, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2b626ca937acf1d1, rs 0x36549bd678e895b1, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x26ca937acf1d12b6, rs 0x36549bd678e895b1, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x82a5fb5200000000, rs 0x4152fda9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfb520000000082a5, rs 0x4152fda9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x20000000082a5fb5, rs 0x4152fda9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x36c64b370bc14c63, rs 0x85e0a6319b63259b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4b370bc14c6336c6, rs 0x85e0a6319b63259b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x70bc14c6336c64b3, rs 0x85e0a6319b63259b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbe2b5b5800000000, rs 0x5f15adac, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5b5800000000be2b, rs 0x5f15adac, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x800000000be2b5b5, rs 0x5f15adac, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x99e2f58aaad67d95, rs 0x556b3ecaccf17ac5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf58aaad67d9599e2, rs 0x556b3ecaccf17ac5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xaaad67d9599e2f58, rs 0x556b3ecaccf17ac5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb7a9603600000000, rs 0x5bd4b01b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x603600000000b7a9, rs 0x5bd4b01b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x600000000b7a9603, rs 0x5bd4b01b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3dd41f7685ebf8b, rs 0xb42f5fc581eea0fb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x41f7685ebf8b03dd, rs 0xb42f5fc581eea0fb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7685ebf8b03dd41f, rs 0xb42f5fc581eea0fb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xad2f2d8400000000, rs 0x569796c2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2d8400000000ad2f, rs 0x569796c2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x400000000ad2f2d8, rs 0x569796c2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x28d05b2e4b6a1fd8, rs 0x25b50fec14682d97, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5b2e4b6a1fd828d0, rs 0x25b50fec14682d97, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe4b6a1fd828d05b2, rs 0x25b50fec14682d97, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa4ad16ea00000000, rs 0x52568b75, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x16ea00000000a4ad, rs 0x52568b75, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa00000000a4ad16e, rs 0x52568b75, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x59f610f5f9278a26, rs 0xfc93c5132cfb087a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x10f5f9278a2659f6, rs 0xfc93c5132cfb087a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5f9278a2659f610f, rs 0xfc93c5132cfb087a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd4326d9000000000, rs 0x6a1936c8, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6d9000000000d432, rs 0x6a1936c8, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xd4326d9, rs 0x6a1936c8, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9b440ecc7859b353, rs 0x3c2cd9a9cda20766, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xecc7859b3539b44, rs 0x3c2cd9a9cda20766, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc7859b3539b440ec, rs 0x3c2cd9a9cda20766, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xddb056fe00000000, rs 0x6ed82b7f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x56fe00000000ddb0, rs 0x6ed82b7f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe00000000ddb056f, rs 0x6ed82b7f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfae5b47c2f22e454, rs 0x1791722a7d72da3e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb47c2f22e454fae5, rs 0x1791722a7d72da3e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc2f22e454fae5b47, rs 0x1791722a7d72da3e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc7361b4c00000000, rs 0x639b0da6, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1b4c00000000c736, rs 0x639b0da6, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc00000000c7361b4, rs 0x639b0da6, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x279c495a10f993a3, rs 0x87cc9d193ce24ad, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x495a10f993a3279c, rs 0x87cc9d193ce24ad, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa10f993a3279c495, rs 0x87cc9d193ce24ad, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xceb4202200000000, rs 0x675a1011, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x202200000000ceb4, rs 0x675a1011, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x200000000ceb4202, rs 0x675a1011, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x71309da43a54eae0, rs 0x1d2a757038984ed2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9da43a54eae07130, rs 0x1d2a757038984ed2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x43a54eae071309da, rs 0x1d2a757038984ed2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf23a802800000000, rs 0x791d4014, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x802800000000f23a, rs 0x791d4014, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x800000000f23a802, rs 0x791d4014, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe219a06da1a0e1b6, rs 0xd0d070db710cd036, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa06da1a0e1b6e219, rs 0xd0d070db710cd036, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xda1a0e1b6e219a06, rs 0xd0d070db710cd036, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfbb8bb4600000000, rs 0x7ddc5da3, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xbb4600000000fbb8, rs 0x7ddc5da3, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x600000000fbb8bb4, rs 0x7ddc5da3, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x682ac08738438fa, rs 0x39c21c7d03415604, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xac08738438fa0682, rs 0x39c21c7d03415604, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8738438fa0682ac0, rs 0x39c21c7d03415604, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe13ef6f400000000, rs 0x709f7b7a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf6f400000000e13e, rs 0x709f7b7a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x400000000e13ef6f, rs 0x709f7b7a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1d98639d1d296f5f, rs 0x8e94b7af8ecc31ce, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x639d1d296f5f1d98, rs 0x8e94b7af8ecc31ce, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xd1d296f5f1d98639, rs 0x8e94b7af8ecc31ce, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe8bccd9a00000000, rs 0x745e66cd, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xcd9a00000000e8bc, rs 0x745e66cd, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa00000000e8bccd9, rs 0x745e66cd, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x39cece9e49d6d51a, rs 0x24eb6a8d1ce7674f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xce9e49d6d51a39ce, rs 0x24eb6a8d1ce7674f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe49d6d51a39cece9, rs 0x24eb6a8d1ce7674f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x30476dc1ffffffff, rs 0xffffffff9823b6e0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6dc1ffffffff3047, rs 0xffffffff9823b6e0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffff30476dc, rs 0xffffffff9823b6e0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x25adc94e5e728a88, rs 0x2f39454412d6e4a7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc94e5e728a8825ad, rs 0x2f39454412d6e4a7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe5e728a8825adc94, rs 0x2f39454412d6e4a7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x39c556afffffffff, rs 0xffffffff9ce2ab57, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x56afffffffff39c5, rs 0xffffffff9ce2ab57, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffff39c556a, rs 0xffffffff9ce2ab57, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xadb498a84c11856e, rs 0x2608c2b756da4c54, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x98a84c11856eadb4, rs 0x2608c2b756da4c54, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x84c11856eadb498a, rs 0x2608c2b756da4c54, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x23431b1dffffffff, rs 0xffffffff91a18d8e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1b1dffffffff2343, rs 0xffffffff91a18d8e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffff23431b1, rs 0xffffffff91a18d8e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x91ae4a5f200205b5, rs 0x900102dac8d7252f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4a5f200205b591ae, rs 0x900102dac8d7252f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf200205b591ae4a5, rs 0x900102dac8d7252f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2ac12073ffffffff, rs 0xffffffff95609039, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2073ffffffff2ac1, rs 0xffffffff95609039, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffff2ac1207, rs 0xffffffff95609039, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe5df49ef9121abe3, rs 0xc890d5f1f2efa4f7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x49ef9121abe3e5df, rs 0xc890d5f1f2efa4f7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf9121abe3e5df49e, rs 0xc890d5f1f2efa4f7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x164f8079ffffffff, rs 0xffffffff8b27c03c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8079ffffffff164f, rs 0xffffffff8b27c03c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffff164f807, rs 0xffffffff8b27c03c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x91614429daa00b97, rs 0xed5005cbc8b0a214, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4429daa00b979161, rs 0xed5005cbc8b0a214, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9daa00b979161442, rs 0xed5005cbc8b0a214, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1fcdbb17ffffffff, rs 0xffffffff8fe6dd8b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xbb17ffffffff1fcd, rs 0xffffffff8fe6dd8b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffff1fcdbb1, rs 0xffffffff8fe6dd8b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb32226d8628f2312, rs 0x314791895991136c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x26d8628f2312b322, rs 0x314791895991136c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8628f2312b32226d, rs 0x314791895991136c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x54bf6a5ffffffff, rs 0xffffffff82a5fb52, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf6a5ffffffff054b, rs 0xffffffff82a5fb52, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffff054bf6a, rs 0xffffffff82a5fb52, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x345f6de78ddd9ff3, rs 0xc6eecff99a2fb6f3, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6de78ddd9ff3345f, rs 0xc6eecff99a2fb6f3, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x78ddd9ff3345f6de, rs 0xc6eecff99a2fb6f3, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xcc9cdcbffffffff, rs 0xffffffff8664e6e5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xcdcbffffffff0cc9, rs 0xffffffff8664e6e5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffff0cc9cdc, rs 0xffffffff8664e6e5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7112a4e15012a424, rs 0xa809521238895270, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa4e15012a4247112, rs 0xa809521238895270, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x15012a4247112a4e, rs 0xa809521238895270, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7c56b6b1ffffffff, rs 0xffffffffbe2b5b58, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb6b1ffffffff7c56, rs 0xffffffffbe2b5b58, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffff7c56b6b, rs 0xffffffffbe2b5b58, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5aeca0810eea1409, rs 0x87750a04ad765040, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa0810eea14095aec, rs 0x87750a04ad765040, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x10eea14095aeca08, rs 0x87750a04ad765040, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x75d48ddfffffffff, rs 0xffffffffbaea46ef, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8ddfffffffff75d4, rs 0xffffffffbaea46ef, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffff75d48dd, rs 0xffffffffbaea46ef, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x976b506587bd0bd, rs 0x2c3de85e84bb5a83, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb506587bd0bd0976, rs 0x2c3de85e84bb5a83, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6587bd0bd0976b50, rs 0x2c3de85e84bb5a83, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x6f52c06dffffffff, rs 0xffffffffb7a96036, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc06dffffffff6f52, rs 0xffffffffb7a96036, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffff6f52c06, rs 0xffffffffb7a96036, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8a0d54cf5cd5ff1f, rs 0xae6aff8fc506aa67, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x54cf5cd5ff1f8a0d, rs 0xae6aff8fc506aa67, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf5cd5ff1f8a0d54c, rs 0xae6aff8fc506aa67, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x66d0fb03ffffffff, rs 0xffffffffb3687d81, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfb03ffffffff66d0, rs 0xffffffffb3687d81, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffff66d0fb0, rs 0xffffffffb3687d81, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc1dabdc780e225ba, rs 0xc07112dd60ed5ee3, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xbdc780e225bac1da, rs 0xc07112dd60ed5ee3, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x780e225bac1dabdc, rs 0xc07112dd60ed5ee3, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5a5e5b09ffffffff, rs 0xffffffffad2f2d84, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5b09ffffffff5a5e, rs 0xffffffffad2f2d84, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffff5a5e5b0, rs 0xffffffffad2f2d84, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x61b994b5898ee1ec, rs 0xc4c770f630dcca5a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x94b5898ee1ec61b9, rs 0xc4c770f630dcca5a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5898ee1ec61b994b, rs 0xc4c770f630dcca5a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x53dc6067ffffffff, rs 0xffffffffa9ee3033, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6067ffffffff53dc, rs 0xffffffffa9ee3033, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffff53dc606, rs 0xffffffffa9ee3033, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x79aa4efbfd85647, rs 0xdfec2b2383cd5277, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa4efbfd85647079a, rs 0xdfec2b2383cd5277, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfbfd85647079aa4e, rs 0xdfec2b2383cd5277, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x495a2dd5ffffffff, rs 0xffffffffa4ad16ea, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2dd5ffffffff495a, rs 0xffffffffa4ad16ea, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffff495a2dd, rs 0xffffffffa4ad16ea, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1fefb2d7a75b744c, rs 0xd3adba260ff7d96b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb2d7a75b744c1fef, rs 0xd3adba260ff7d96b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7a75b744c1fefb2d, rs 0xd3adba260ff7d96b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x40d816bbffffffff, rs 0xffffffffa06c0b5d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x16bbffffffff40d8, rs 0xffffffffa06c0b5d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffff40d816b, rs 0xffffffffa06c0b5d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x831801c956954f3, rs 0x4ab4aa798418c00e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x801c956954f30831, rs 0x4ab4aa798418c00e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc956954f30831801, rs 0x4ab4aa798418c00e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa864db21ffffffff, rs 0xffffffffd4326d90, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xdb21ffffffffa864, rs 0xffffffffd4326d90, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffffa864db2, rs 0xffffffffd4326d90, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1bc1e171771806bc, rs 0xbb8c035e0de0f0b8, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe171771806bc1bc1, rs 0xbb8c035e0de0f0b8, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1771806bc1bc1e17, rs 0xbb8c035e0de0f0b8, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa1e6e04fffffffff, rs 0xffffffffd0f37027, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe04fffffffffa1e6, rs 0xffffffffd0f37027, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffffa1e6e04, rs 0xffffffffd0f37027, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x52ffb9e26760dea9, rs 0x33b06f54a97fdcf1, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb9e26760dea952ff, rs 0x33b06f54a97fdcf1, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x26760dea952ffb9e, rs 0x33b06f54a97fdcf1, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbb60adfdffffffff, rs 0xffffffffddb056fe, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xadfdffffffffbb60, rs 0xffffffffddb056fe, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffffbb60adf, rs 0xffffffffddb056fe, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7fa38102ee867e6e, rs 0x77433f373fd1c081, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8102ee867e6e7fa3, rs 0x77433f373fd1c081, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2ee867e6e7fa3810, rs 0x77433f373fd1c081, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb2e29693ffffffff, rs 0xffffffffd9714b49, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9693ffffffffb2e2, rs 0xffffffffd9714b49, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffffb2e2969, rs 0xffffffffd9714b49, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x92432bc9d923b327, rs 0xec91d993c92195e4, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2bc9d923b3279243, rs 0xec91d993c92195e4, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9d923b32792432bc, rs 0xec91d993c92195e4, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8e6c3699ffffffff, rs 0xffffffffc7361b4c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3699ffffffff8e6c, rs 0xffffffffc7361b4c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffff8e6c369, rs 0xffffffffc7361b4c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2b634b5693f7ed4f, rs 0x49fbf6a795b1a5ab, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4b5693f7ed4f2b63, rs 0x49fbf6a795b1a5ab, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x693f7ed4f2b634b5, rs 0x49fbf6a795b1a5ab, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x87ee0df7ffffffff, rs 0xffffffffc3f706fb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xdf7ffffffff87ee, rs 0xffffffffc3f706fb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffff87ee0df, rs 0xffffffffc3f706fb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8f9d1a3c326c86f1, rs 0x19364378c7ce8d1e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1a3c326c86f18f9d, rs 0x19364378c7ce8d1e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc326c86f18f9d1a3, rs 0x19364378c7ce8d1e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9d684045ffffffff, rs 0xffffffffceb42022, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4045ffffffff9d68, rs 0xffffffffceb42022, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffff9d68404, rs 0xffffffffceb42022, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5e70920f733d1bde, rs 0xb99e8def2f384907, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x920f733d1bde5e70, rs 0xb99e8def2f384907, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf733d1bde5e70920, rs 0xb99e8def2f384907, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x94ea7b2bffffffff, rs 0xffffffffca753d95, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7b2bffffffff94ea, rs 0xffffffffca753d95, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffff94ea7b2, rs 0xffffffffca753d95, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb05625fc8fd59b9a, rs 0x47eacdcd582b12fe, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x25fc8fd59b9ab056, rs 0x47eacdcd582b12fe, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc8fd59b9ab05625f, rs 0x47eacdcd582b12fe, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe4750051ffffffff, rs 0xfffffffff23a8028, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x51ffffffffe475, rs 0xfffffffff23a8028, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffffe475005, rs 0xfffffffff23a8028, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xecab189fad0b109c, rs 0xd685884e76558c4f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x189fad0b109cecab, rs 0xd685884e76558c4f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfad0b109cecab189, rs 0xd685884e76558c4f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xedf73b3fffffffff, rs 0xfffffffff6fb9d9f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3b3fffffffffedf7, rs 0xfffffffff6fb9d9f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffffedf73b3, rs 0xfffffffff6fb9d9f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x69832b8ec2d1ac54, rs 0x6168d62a34c195c7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2b8ec2d1ac546983, rs 0x6168d62a34c195c7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xec2d1ac5469832b8, rs 0x6168d62a34c195c7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf771768dffffffff, rs 0xfffffffffbb8bb46, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x768dfffffffff771, rs 0xfffffffffbb8bb46, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdfffffffff771768, rs 0xfffffffffbb8bb46, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9be8e80ba602d312, rs 0xd30169894df47405, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe80ba602d3129be8, rs 0xd30169894df47405, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xba602d3129be8e80, rs 0xd30169894df47405, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfef34de3ffffffff, rs 0xffffffffff79a6f1, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4de3fffffffffef3, rs 0xffffffffff79a6f1, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3fffffffffef34de, rs 0xffffffffff79a6f1, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd9760db63943217e, rs 0x1ca190bf6cbb06db, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xdb63943217ed976, rs 0x1ca190bf6cbb06db, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x63943217ed9760db, rs 0x1ca190bf6cbb06db, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc27dede9ffffffff, rs 0xffffffffe13ef6f4, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xede9ffffffffc27d, rs 0xffffffffe13ef6f4, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffffc27dede, rs 0xffffffffe13ef6f4, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x395c7274b0601e05, rs 0x58300f029cae393a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7274b0601e05395c, rs 0x58300f029cae393a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4b0601e05395c727, rs 0x58300f029cae393a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xcbffd687ffffffff, rs 0xffffffffe5ffeb43, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd687ffffffffcbff, rs 0xffffffffe5ffeb43, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffffcbffd68, rs 0xffffffffe5ffeb43, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb8fd785b3532bfb7, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x785b3532bfb7b8fd, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xb3532bfb7b8fd785, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd1799b35ffffffff, rs 0xffffffffe8bccd9a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9b35ffffffffd179, rs 0xffffffffe8bccd9a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffffd1799b3, rs 0xffffffffe8bccd9a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc680b691152c08f7, rs 0x8a96047be3405b48, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb691152c08f7c680, rs 0x8a96047be3405b48, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1152c08f7c680b69, rs 0x8a96047be3405b48, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd8fba05bffffffff, rs 0xffffffffec7dd02d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa05bffffffffd8fb, rs 0xffffffffec7dd02d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffffd8fba05, rs 0xffffffffec7dd02d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xaa33a644eb7f5fa5, rs 0x75bfafd2d519d322, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa644eb7f5fa5aa33, rs 0x75bfafd2d519d322, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4eb7f5fa5aa33a64, rs 0x75bfafd2d519d322, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x690ce0ee00000000, rs 0x34867077, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe0ee00000000690c, rs 0x34867077, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe00000000690ce0e, rs 0x34867077, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4c61ed5bbc4610cf, rs 0xde230867a630f6ad, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xed5bbc4610cf4c61, rs 0xde230867a630f6ad, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbbc4610cf4c61ed5, rs 0xde230867a630f6ad, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x608edb8000000000, rs 0x30476dc0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xdb8000000000608e, rs 0x30476dc0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x608edb8, rs 0x30476dc0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xac2064c0581419e4, rs 0x2c0a0cf256103260, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x64c0581419e4ac20, rs 0x2c0a0cf256103260, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x581419e4ac2064c, rs 0x2c0a0cf256103260, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7a08963200000000, rs 0x3d044b19, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9632000000007a08, rs 0x3d044b19, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2000000007a08963, rs 0x3d044b19, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x493631df29520a88, rs 0x94a90544249b18ef, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x31df29520a884936, rs 0x94a90544249b18ef, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf29520a88493631d, rs 0x94a90544249b18ef, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x738aad5c00000000, rs 0x39c556ae, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xad5c00000000738a, rs 0x39c556ae, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc00000000738aad5, rs 0x39c556ae, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb6adf9bdf2a33f6a, rs 0xf9519fb55b56fcde, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf9bdf2a33f6ab6ad, rs 0xf9519fb55b56fcde, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdf2a33f6ab6adf9b, rs 0xf9519fb55b56fcde, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4f040d5600000000, rs 0x278206ab, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd56000000004f04, rs 0x278206ab, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6000000004f040d5, rs 0x278206ab, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8d0633703b5f040, rs 0x81daf8200468319b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x633703b5f04008d0, rs 0x81daf8200468319b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x703b5f04008d0633, rs 0x81daf8200468319b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4686363800000000, rs 0x23431b1c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3638000000004686, rs 0x23431b1c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8000000004686363, rs 0x23431b1c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xae4be5d918c394b4, rs 0x8c61ca5a5725f2ec, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe5d918c394b4ae4b, rs 0x8c61ca5a5725f2ec, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x918c394b4ae4be5d, rs 0x8c61ca5a5725f2ec, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5c007b8a00000000, rs 0x2e003dc5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7b8a000000005c00, rs 0x2e003dc5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa000000005c007b8, rs 0x2e003dc5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x84bb917f172b4dbb, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x917f172b4dbb84bb, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf172b4dbb84bb917, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x558240e400000000, rs 0x2ac12072, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x40e4000000005582, rs 0x2ac12072, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x400000000558240e, rs 0x2ac12072, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb58c2c5e6019cea3, rs 0x300ce751dac6162f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2c5e6019cea3b58c, rs 0x300ce751dac6162f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe6019cea3b58c2c5, rs 0x300ce751dac6162f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x251d3b9e00000000, rs 0x128e9dcf, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3b9e00000000251d, rs 0x128e9dcf, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe00000000251d3b9, rs 0x128e9dcf, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x74a550a0cef1fbe7, rs 0x6778fdf3ba52a850, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x50a0cef1fbe774a5, rs 0x6778fdf3ba52a850, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xcef1fbe774a550a, rs 0x6778fdf3ba52a850, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2c9f00f000000000, rs 0x164f8078, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf0000000002c9f, rs 0x164f8078, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2c9f00f, rs 0x164f8078, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb4f08f3f5a0163ef, rs 0xad00b1f7da78479f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8f3f5a0163efb4f0, rs 0xad00b1f7da78479f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf5a0163efb4f08f3, rs 0xad00b1f7da78479f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x36194d4200000000, rs 0x1b0ca6a1, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4d42000000003619, rs 0x1b0ca6a1, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x20000000036194d4, rs 0x1b0ca6a1, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4d6db31411a882d1, rs 0x8d44168a6b6d98a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb31411a882d14d6d, rs 0x8d44168a6b6d98a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x411a882d14d6db31, rs 0x8d44168a6b6d98a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3f9b762c00000000, rs 0x1fcdbb16, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x762c000000003f9b, rs 0x1fcdbb16, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc000000003f9b762, rs 0x1fcdbb16, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9cc68827ea30703b, rs 0xf518381dce634413, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8827ea30703b9cc6, rs 0xf518381dce634413, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ea30703b9cc6882, rs 0xf518381dce634413, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x315d62600000000, rs 0x18aeb13, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd626000000000315, rs 0x18aeb13, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6000000000315d62, rs 0x18aeb13, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xca4abf81c8c4fe7f, rs 0xe4627f3fe5255fc0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xbf81c8c4fe7fca4a, rs 0xe4627f3fe5255fc0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1c8c4fe7fca4abf8, rs 0xe4627f3fe5255fc0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa97ed4800000000, rs 0x54bf6a4, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xed48000000000a97, rs 0x54bf6a4, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8000000000a97ed4, rs 0x54bf6a4, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xec643e5199a725c2, rs 0xccd392e176321f28, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3e5199a725c2ec64, rs 0xccd392e176321f28, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x199a725c2ec643e5, rs 0xccd392e176321f28, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1011a0fa00000000, rs 0x808d07d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa0fa000000001011, rs 0x808d07d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa000000001011a0f, rs 0x808d07d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8031fb1f0528c928, rs 0x829464944018fd8f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfb1f0528c9288031, rs 0x829464944018fd8f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf0528c9288031fb1, rs 0x829464944018fd8f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x19939b9400000000, rs 0xcc9cdca, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9b94000000001993, rs 0xcc9cdca, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x40000000019939b9, rs 0xcc9cdca, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa5d1e1ca2ba64080, rs 0x15d3204052e8f0e5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe1ca2ba64080a5d1, rs 0x15d3204052e8f0e5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa2ba64080a5d1e1c, rs 0x15d3204052e8f0e5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf12f560e00000000, rs 0x7897ab07, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x560e00000000f12f, rs 0x7897ab07, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe00000000f12f560, rs 0x7897ab07, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x101fe688f95f07a5, rs 0x7caf83d2880ff344, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe688f95f07a5101f, rs 0x7caf83d2880ff344, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8f95f07a5101fe68, rs 0x7caf83d2880ff344, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf8ad6d6000000000, rs 0x7c56b6b0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6d6000000000f8ad, rs 0x7c56b6b0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf8ad6d6, rs 0x7c56b6b0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe8fbdfafe2ad4098, rs 0xf156a04c747defd7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xdfafe2ad4098e8fb, rs 0xf156a04c747defd7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfe2ad4098e8fbdfa, rs 0xf156a04c747defd7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe22b20d200000000, rs 0x71159069, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x20d200000000e22b, rs 0x71159069, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x200000000e22b20d, rs 0x71159069, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1e63ae2127c4c038, rs 0x93e2601c0f31d710, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xae2127c4c0381e63, rs 0x93e2601c0f31d710, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x127c4c0381e63ae2, rs 0x93e2601c0f31d710, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xeba91bbc00000000, rs 0x75d48dde, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1bbc00000000eba9, rs 0x75d48dde, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc00000000eba91bb, rs 0x75d48dde, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2639b267c3c34cf2, rs 0xe1e1a679131cd933, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb267c3c34cf22639, rs 0xe1e1a679131cd933, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7c3c34cf22639b26, rs 0xe1e1a679131cd933, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd727bbb600000000, rs 0x6b93dddb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xbbb600000000d727, rs 0x6b93dddb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x600000000d727bbb, rs 0x6b93dddb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4edf484e4852d6eb, rs 0x24296b75a76fa427, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x484e4852d6eb4edf, rs 0x24296b75a76fa427, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe4852d6eb4edf484, rs 0x24296b75a76fa427, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xdea580d800000000, rs 0x6f52c06c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x80d800000000dea5, rs 0x6f52c06c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x800000000dea580d, rs 0x6f52c06c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x273dcad5a52dc5a4, rs 0xd296e2d2139ee56a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xcad5a52dc5a4273d, rs 0xd296e2d2139ee56a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5a52dc5a4273dcad, rs 0xd296e2d2139ee56a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc423cd6a00000000, rs 0x6211e6b5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xcd6a00000000c423, rs 0x6211e6b5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa00000000c423cd6, rs 0x6211e6b5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xdb854b80b50488fe, rs 0x5a82447f6dc2a5c0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4b80b50488fedb85, rs 0x5a82447f6dc2a5c0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xb50488fedb854b8, rs 0x5a82447f6dc2a5c0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xcda1f60400000000, rs 0x66d0fb02, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf60400000000cda1, rs 0x66d0fb02, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x400000000cda1f60, rs 0x66d0fb02, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x80fb82d0ed913d01, rs 0x76c89e80c07dc168, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x82d0ed913d0180fb, rs 0x76c89e80c07dc168, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xed913d0180fb82d, rs 0x76c89e80c07dc168, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbd3e8d7e00000000, rs 0x5e9f46bf, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8d7e00000000bd3e, rs 0x5e9f46bf, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe00000000bd3e8d7, rs 0x5e9f46bf, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x97fc691e0e1b868a, rs 0x70dc3454bfe348f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x691e0e1b868a97fc, rs 0x70dc3454bfe348f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe0e1b868a97fc691, rs 0x70dc3454bfe348f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb4bcb61000000000, rs 0x5a5e5b08, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb61000000000b4bc, rs 0x5a5e5b08, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xb4bcb61, rs 0x5a5e5b08, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbada48377bb8e247, rs 0xbddc7123dd6d241b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x48377bb8e247bada, rs 0xbddc7123dd6d241b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x77bb8e247bada483, rs 0xbddc7123dd6d241b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xae3afba200000000, rs 0x571d7dd1, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfba200000000ae3a, rs 0x571d7dd1, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x200000000ae3afba, rs 0x571d7dd1, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4b3f9d7dec5f6e4f, rs 0xf62fb727a59fcebe, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9d7dec5f6e4f4b3f, rs 0xf62fb727a59fcebe, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdec5f6e4f4b3f9d7, rs 0xf62fb727a59fcebe, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa7b8c0cc00000000, rs 0x53dc6066, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc0cc00000000a7b8, rs 0x53dc6066, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc00000000a7b8c0c, rs 0x53dc6066, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1f3e8df6213e4fd2, rs 0x109f27e90f9f46fb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8df6213e4fd21f3e, rs 0x109f27e90f9f46fb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6213e4fd21f3e8df, rs 0x109f27e90f9f46fb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9b3660c600000000, rs 0x4d9b3063, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x60c6000000009b36, rs 0x4d9b3063, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6000000009b3660c, rs 0x4d9b3063, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5fa333ae7ec7b553, rs 0x3f63daa9afd199d7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x33ae7ec7b5535fa3, rs 0x3f63daa9afd199d7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe7ec7b5535fa333a, rs 0x3f63daa9afd199d7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x92b45ba800000000, rs 0x495a2dd4, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5ba80000000092b4, rs 0x495a2dd4, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x80000000092b45ba, rs 0x495a2dd4, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x47a909e5b796625d, rs 0xdbcb312ea3d484f2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9e5b796625d47a9, rs 0xdbcb312ea3d484f2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5b796625d47a909e, rs 0xdbcb312ea3d484f2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8832161a00000000, rs 0x44190b0d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x161a000000008832, rs 0x44190b0d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa000000008832161, rs 0x44190b0d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb49fc98c3e6a7f55, rs 0x1f353faada4fe4c6, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc98c3e6a7f55b49f, rs 0x1f353faada4fe4c6, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc3e6a7f55b49fc98, rs 0x1f353faada4fe4c6, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x81b02d7400000000, rs 0x40d816ba, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2d740000000081b0, rs 0x40d816ba, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x40000000081b02d7, rs 0x40d816ba, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe2a184c11610ddc0, rs 0x8b086ee07150c260, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x84c11610ddc0e2a1, rs 0x8b086ee07150c260, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x11610ddc0e2a184c, rs 0x8b086ee07150c260, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x594b8d2fffffffff, rs 0xffffffffaca5c697, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8d2fffffffff594b, rs 0xffffffffaca5c697, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffff594b8d2, rs 0xffffffffaca5c697, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb24afe4bca8ea1ab, rs 0xe54750d5d9257f25, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfe4bca8ea1abb24a, rs 0xe54750d5d9257f25, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbca8ea1abb24afe4, rs 0xe54750d5d9257f25, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x50c9b641ffffffff, rs 0xffffffffa864db20, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb641ffffffff50c9, rs 0xffffffffa864db20, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffff50c9b64, rs 0xffffffffa864db20, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd34db6b67ad2c4bf, rs 0x3d69625fe9a6db5b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb6b67ad2c4bfd34d, rs 0x3d69625fe9a6db5b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x67ad2c4bfd34db6b, rs 0x3d69625fe9a6db5b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4a4ffbf3ffffffff, rs 0xffffffffa527fdf9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfbf3ffffffff4a4f, rs 0xffffffffa527fdf9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffff4a4ffbf, rs 0xffffffffa527fdf9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8681592ce147c084, rs 0x70a3e0424340ac96, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x592ce147c0848681, rs 0x70a3e0424340ac96, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xce147c0848681592, rs 0x70a3e0424340ac96, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x43cdc09dffffffff, rs 0xffffffffa1e6e04e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc09dffffffff43cd, rs 0xffffffffa1e6e04e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffff43cdc09, rs 0xffffffffa1e6e04e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd3002e3d808f1e06, rs 0xc0478f036980171e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2e3d808f1e06d300, rs 0xc0478f036980171e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xd808f1e06d3002e3, rs 0xc0478f036980171e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7f436097ffffffff, rs 0xffffffffbfa1b04b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6097ffffffff7f43, rs 0xffffffffbfa1b04b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffff7f43609, rs 0xffffffffbfa1b04b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x39f253c679d0734a, rs 0x3ce839a51cf929e3, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x53c679d0734a39f2, rs 0x3ce839a51cf929e3, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x679d0734a39f253c, rs 0x3ce839a51cf929e3, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x76c15bf9ffffffff, rs 0xffffffffbb60adfc, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5bf9ffffffff76c1, rs 0xffffffffbb60adfc, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffff76c15bf, rs 0xffffffffbb60adfc, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbd6d12b1c5f7f512, rs 0xe2fbfa895eb68958, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x12b1c5f7f512bd6d, rs 0xe2fbfa895eb68958, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1c5f7f512bd6d12b, rs 0xe2fbfa895eb68958, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x6c47164bffffffff, rs 0xffffffffb6238b25, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x164bffffffff6c47, rs 0xffffffffb6238b25, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffff6c47164, rs 0xffffffffb6238b25, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xedda4b6fa49760ba, rs 0xd24bb05d76ed25b7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4b6fa49760baedda, rs 0xd24bb05d76ed25b7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfa49760baedda4b6, rs 0xd24bb05d76ed25b7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x65c52d25ffffffff, rs 0xffffffffb2e29692, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2d25ffffffff65c5, rs 0xffffffffb2e29692, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffff65c52d2, rs 0xffffffffb2e29692, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2e0625e21d72d058, rs 0xeb9682c170312f1, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x25e21d72d0582e06, rs 0xeb9682c170312f1, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x21d72d0582e0625e, rs 0xeb9682c170312f1, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x155a565fffffffff, rs 0xffffffff8aad2b2f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x565fffffffff155a, rs 0xffffffff8aad2b2f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffff155a565, rs 0xffffffff8aad2b2f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xba603a1b08f0a501, rs 0x84785280dd301d0d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3a1b08f0a501ba60, rs 0x84785280dd301d0d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xb08f0a501ba603a1, rs 0x84785280dd301d0d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3f1fadde2f38ef54, rs 0x179c77aa1f8fd6ef, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xadde2f38ef543f1f, rs 0x179c77aa1f8fd6ef, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe2f38ef543f1fadd, rs 0x179c77aa1f8fd6ef, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x533086da4c8899da, rs 0x26444ced2998436d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x86da4c8899da5330, rs 0x26444ced2998436d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa4c8899da533086d, rs 0x26444ced2998436d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfdc1bedffffffff, rs 0xffffffff87ee0df6, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1bedffffffff0fdc, rs 0xffffffff87ee0df6, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffff0fdc1be, rs 0xffffffff87ee0df6, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xab194e100e2eb93b, rs 0x7175c9dd58ca708, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4e100e2eb93bab19, rs 0x7175c9dd58ca708, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe2eb93bab194e1, rs 0x7175c9dd58ca708, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3352bbe7ffffffff, rs 0xffffffff99a95df3, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xbbe7ffffffff3352, rs 0xffffffff99a95df3, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffff3352bbe, rs 0xffffffff99a95df3, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xab06650ecc7a0c20, rs 0x663d061055833287, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x650ecc7a0c20ab06, rs 0x663d061055833287, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xecc7a0c20ab06650, rs 0x663d061055833287, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3ad08089ffffffff, rs 0xffffffff9d684044, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8089ffffffff3ad0, rs 0xffffffff9d684044, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffff3ad0808, rs 0xffffffff9d684044, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x12a3ad1756fba091, rs 0xab7dd0488951d68b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xad1756fba09112a3, rs 0xab7dd0488951d68b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x756fba09112a3ad1, rs 0xab7dd0488951d68b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2056cd3bffffffff, rs 0xffffffff902b669d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xcd3bffffffff2056, rs 0xffffffff902b669d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffff2056cd3, rs 0xffffffff902b669d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1d048e37ed3046ce, rs 0xf69823670e82471b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8e37ed3046ce1d04, rs 0xf69823670e82471b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ed3046ce1d048e3, rs 0xf69823670e82471b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x29d4f655ffffffff, rs 0xffffffff94ea7b2a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf655ffffffff29d4, rs 0xffffffff94ea7b2a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffff29d4f65, rs 0xffffffff94ea7b2a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb31a4d646d10d8b3, rs 0x36886c59d98d26b2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4d646d10d8b3b31a, rs 0x36886c59d98d26b2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x46d10d8b3b31a4d6, rs 0x36886c59d98d26b2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc1683bcfffffffff, rs 0xffffffffe0b41de7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3bcfffffffffc168, rs 0xffffffffe0b41de7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffffc1683bc, rs 0xffffffffe0b41de7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa657c8f2139497b7, rs 0x9ca4bdbd32be479, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc8f2139497b7a657, rs 0x9ca4bdbd32be479, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2139497b7a657c8f, rs 0x9ca4bdbd32be479, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc8ea00a1ffffffff, rs 0xffffffffe4750050, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa1ffffffffc8ea, rs 0xffffffffe4750050, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffffc8ea00a, rs 0xffffffffe4750050, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x32c5cc3ffabafa3b, rs 0xfd5d7d1d9962e61f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xcc3ffabafa3b32c5, rs 0xfd5d7d1d9962e61f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xffabafa3b32c5cc3, rs 0xfd5d7d1d9962e61f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd26c4d13ffffffff, rs 0xffffffffe9362689, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4d13ffffffffd26c, rs 0xffffffffe9362689, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffffd26c4d1, rs 0xffffffffe9362689, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x95a6e9be7e8caa7d, rs 0x3f46553ecad374df, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe9be7e8caa7d95a6, rs 0x3f46553ecad374df, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe7e8caa7d95a6e9b, rs 0x3f46553ecad374df, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xdbee767dffffffff, rs 0xffffffffedf73b3e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x767dffffffffdbee, rs 0xffffffffedf73b3e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffffdbee767, rs 0xffffffffedf73b3e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7ddbe54e5d3572fa, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe54e5d3572fa7ddb, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe5d3572fa7ddbe54, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe760d677ffffffff, rs 0xfffffffff3b06b3b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd677ffffffffe760, rs 0xfffffffff3b06b3b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffffe760d67, rs 0xfffffffff3b06b3b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x78193e666d4deff4, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3e666d4deff47819, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x66d4deff478193e6, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xeee2ed19ffffffff, rs 0xfffffffff771768c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xed19ffffffffeee2, rs 0xfffffffff771768c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffffeee2ed1, rs 0xfffffffff771768c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2abd93b9177271c6, rs 0x8bb938e3155ec9dc, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x93b9177271c62abd, rs 0x8bb938e3155ec9dc, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9177271c62abd93b, rs 0x8bb938e3155ec9dc, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf464a0abffffffff, rs 0xfffffffffa325055, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa0abfffffffff464, rs 0xfffffffffa325055, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbfffffffff464a0a, rs 0xfffffffffa325055, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x328f040da5be4b88, rs 0xd2df25c419478206, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x40da5be4b88328f, rs 0xd2df25c419478206, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xda5be4b88328f040, rs 0xd2df25c419478206, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfde69bc5ffffffff, rs 0xfffffffffef34de2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9bc5fffffffffde6, rs 0xfffffffffef34de2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5fffffffffde69bc, rs 0xfffffffffef34de2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd664304b78cb7e4f, rs 0xbc65bf27eb321825, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x304b78cb7e4fd664, rs 0xbc65bf27eb321825, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xb78cb7e4fd664304, rs 0xbc65bf27eb321825, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8d79e0bfffffffff, rs 0xffffffffc6bcf05f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe0bfffffffff8d79, rs 0xffffffffc6bcf05f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffff8d79e0b, rs 0xffffffffc6bcf05f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf5178fb551611fcc, rs 0xa8b08fe67a8bc7da, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8fb551611fccf517, rs 0xa8b08fe67a8bc7da, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x551611fccf5178fb, rs 0xa8b08fe67a8bc7da, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x84fbdbd1ffffffff, rs 0xffffffffc27dede8, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xdbd1ffffffff84fb, rs 0xffffffffc27dede8, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffff84fbdbd, rs 0xffffffffc27dede8, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf1bf9bd10a56b795, rs 0x852b5bcaf8dfcde8, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9bd10a56b795f1bf, rs 0x852b5bcaf8dfcde8, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x10a56b795f1bf9bd, rs 0x852b5bcaf8dfcde8, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9e7d9663ffffffff, rs 0xffffffffcf3ecb31, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9663ffffffff9e7d, rs 0xffffffffcf3ecb31, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffff9e7d966, rs 0xffffffffcf3ecb31, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb35324d208f12136, rs 0x478909b59a99269, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x24d208f12136b353, rs 0x478909b59a99269, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x208f12136b35324d, rs 0x478909b59a99269, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x97ffad0dffffffff, rs 0xffffffffcbffd686, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xad0dffffffff97ff, rs 0xffffffffcbffd686, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffff97ffad0, rs 0xffffffffcbffd686, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf0ae6c1f7f663990, rs 0xbfb31cc87857360f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6c1f7f663990f0ae, rs 0xbfb31cc87857360f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf7f663990f0ae6c1, rs 0xbfb31cc87857360f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xab710d07ffffffff, rs 0xffffffffd5b88683, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd07ffffffffab71, rs 0xffffffffd5b88683, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffffab710d0, rs 0xffffffffd5b88683, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xff13d3456ccbdabc, rs 0xb665ed5e7f89e9a2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd3456ccbdabcff13, rs 0xb665ed5e7f89e9a2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x56ccbdabcff13d34, rs 0xb665ed5e7f89e9a2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa2f33669ffffffff, rs 0xffffffffd1799b34, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3669ffffffffa2f3, rs 0xffffffffd1799b34, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffffa2f3366, rs 0xffffffffd1799b34, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x6f51abc82bb528e9, rs 0x15da9474b7a8d5e4, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xabc82bb528e96f51, rs 0x15da9474b7a8d5e4, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x82bb528e96f51abc, rs 0x15da9474b7a8d5e4, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb8757bdbffffffff, rs 0xffffffffdc3abded, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7bdbffffffffb875, rs 0xffffffffdc3abded, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffffb8757bd, rs 0xffffffffdc3abded, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x55f21f99ed66a6fa, rs 0xf6b3537d2af90fcc, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1f99ed66a6fa55f2, rs 0xf6b3537d2af90fcc, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ed66a6fa55f21f9, rs 0xf6b3537d2af90fcc, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb1f740b5ffffffff, rs 0xffffffffd8fba05a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x40b5ffffffffb1f7, rs 0xffffffffd8fba05a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffffb1f740b, rs 0xffffffffd8fba05a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x572c312e447af9fc, rs 0x223d7cfe2b961897, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x312e447af9fc572c, rs 0x223d7cfe2b961897, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe447af9fc572c312, rs 0x223d7cfe2b961897, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd219c1dc00000000, rs 0x690ce0ee, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc1dc00000000d219, rs 0x690ce0ee, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc00000000d219c1d, rs 0x690ce0ee, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x66e69496841669ea, rs 0x420b34f533734a4b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9496841669ea66e6, rs 0x420b34f533734a4b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6841669ea66e6949, rs 0x420b34f533734a4b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xdb9bfab200000000, rs 0x6dcdfd59, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfab200000000db9b, rs 0x6dcdfd59, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x200000000db9bfab, rs 0x6dcdfd59, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xba8d667912f9191b, rs 0x897c8c8ddd46b33c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x667912f9191bba8d, rs 0x897c8c8ddd46b33c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x912f9191bba8d667, rs 0x897c8c8ddd46b33c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc11db70000000000, rs 0x608edb80, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb70000000000c11d, rs 0x608edb80, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc11db70, rs 0x608edb80, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc72599b2f470e88b, rs 0x7a387445e392ccd9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x99b2f470e88bc725, rs 0x7a387445e392ccd9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2f470e88bc72599b, rs 0x7a387445e392ccd9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc89f8c6e00000000, rs 0x644fc637, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8c6e00000000c89f, rs 0x644fc637, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe00000000c89f8c6, rs 0x644fc637, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb0000192a25e5363, rs 0x512f29b1d80000c9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x192a25e5363b000, rs 0x512f29b1d80000c9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2a25e5363b000019, rs 0x512f29b1d80000c9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf4112c6400000000, rs 0x7a089632, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2c6400000000f411, rs 0x7a089632, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x400000000f4112c6, rs 0x7a089632, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7b5a0415d5bdab8a, rs 0xeaded5c53dad020a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x415d5bdab8a7b5a, rs 0xeaded5c53dad020a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5d5bdab8a7b5a041, rs 0xeaded5c53dad020a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfd93170a00000000, rs 0x7ec98b85, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x170a00000000fd93, rs 0x7ec98b85, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa00000000fd93170, rs 0x7ec98b85, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x63dd46b714c453ae, rs 0x8a6229d731eea35b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x46b714c453ae63dd, rs 0x8a6229d731eea35b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x714c453ae63dd46b, rs 0x8a6229d731eea35b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe7155ab800000000, rs 0x738aad5c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5ab800000000e715, rs 0x738aad5c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x800000000e7155ab, rs 0x738aad5c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9130ac9258787f3c, rs 0x2c3c3f9e48985649, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xac9258787f3c9130, rs 0x2c3c3f9e48985649, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x258787f3c9130ac9, rs 0x2c3c3f9e48985649, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xee9761d600000000, rs 0x774bb0eb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x61d600000000ee97, rs 0x774bb0eb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x600000000ee9761d, rs 0x774bb0eb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb93816eeffec3cf1, rs 0x7ff61e78dc9c0b77, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x16eeffec3cf1b938, rs 0x7ff61e78dc9c0b77, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xeffec3cf1b93816e, rs 0x7ff61e78dc9c0b77, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9e081aac00000000, rs 0x4f040d56, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1aac000000009e08, rs 0x4f040d56, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc000000009e081aa, rs 0x4f040d56, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3abcd1d8453361c0, rs 0x2299b0e01d5e68ec, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd1d8453361c03abc, rs 0x2299b0e01d5e68ec, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8453361c03abcd1d, rs 0x2299b0e01d5e68ec, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x978a21c200000000, rs 0x4bc510e1, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x21c200000000978a, rs 0x4bc510e1, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x200000000978a21c, rs 0x4bc510e1, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7a18dc4af87608ce, rs 0x7c3b04673d0c6e25, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xdc4af87608ce7a18, rs 0x7c3b04673d0c6e25, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xaf87608ce7a18dc4, rs 0x7c3b04673d0c6e25, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8d0c6c7000000000, rs 0x46863638, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6c70000000008d0c, rs 0x46863638, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8d0c6c7, rs 0x46863638, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xcff6cb0e2c9c2f83, rs 0x164e17c1e7fb6587, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xcb0e2c9c2f83cff6, rs 0x164e17c1e7fb6587, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe2c9c2f83cff6cb0, rs 0x164e17c1e7fb6587, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x848e571e00000000, rs 0x42472b8f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x571e00000000848e, rs 0x42472b8f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe00000000848e571, rs 0x42472b8f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xada92a17f4994516, rs 0xfa4ca28b56d4950b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2a17f4994516ada9, rs 0xfa4ca28b56d4950b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7f4994516ada92a1, rs 0xfa4ca28b56d4950b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb800f71400000000, rs 0x5c007b8a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf71400000000b800, rs 0x5c007b8a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x400000000b800f71, rs 0x5c007b8a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7cff4115cbd34629, rs 0xe5e9a314be7fa08a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4115cbd346297cff, rs 0xe5e9a314be7fa08a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5cbd346297cff411, rs 0xe5e9a314be7fa08a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb182cc7a00000000, rs 0x58c1663d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xcc7a00000000b182, rs 0x58c1663d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa00000000b182cc7, rs 0x58c1663d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2b2c938bf17d02c8, rs 0xf8be8164159649c5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x938bf17d02c82b2c, rs 0xf8be8164159649c5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbf17d02c82b2c938, rs 0xf8be8164159649c5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xab0481c800000000, rs 0x558240e4, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x81c800000000ab04, rs 0x558240e4, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x800000000ab0481c, rs 0x558240e4, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9cd362ef9464b2f, rs 0x7ca3259784e69b17, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x362ef9464b2f09cd, rs 0x7ca3259784e69b17, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xef9464b2f09cd362, rs 0x7ca3259784e69b17, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa286baa600000000, rs 0x51435d53, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xbaa600000000a286, rs 0x51435d53, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x600000000a286baa, rs 0x51435d53, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x43e49eb9f91aa879, rs 0xfc8d543ca1f24f5c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9eb9f91aa87943e4, rs 0xfc8d543ca1f24f5c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9f91aa87943e49eb, rs 0xfc8d543ca1f24f5c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4a3a773c00000000, rs 0x251d3b9e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x773c000000004a3a, rs 0x251d3b9e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc000000004a3a773, rs 0x251d3b9e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc68b3c6c95d6d941, rs 0x4aeb6ca0e3459e36, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3c6c95d6d941c68b, rs 0x4aeb6ca0e3459e36, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc95d6d941c68b3c6, rs 0x4aeb6ca0e3459e36, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x43b84c5200000000, rs 0x21dc2629, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4c520000000043b8, rs 0x21dc2629, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x20000000043b84c5, rs 0x21dc2629, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x30f301f58a65c31c, rs 0xc532e18e187980fa, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1f58a65c31c30f3, rs 0xc532e18e187980fa, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x58a65c31c30f301f, rs 0xc532e18e187980fa, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x593e01e000000000, rs 0x2c9f00f0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1e000000000593e, rs 0x2c9f00f0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x593e01e, rs 0x2c9f00f0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9e50fa3967fbd852, rs 0xb3fdec294f287d1c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfa3967fbd8529e50, rs 0xb3fdec294f287d1c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x967fbd8529e50fa3, rs 0xb3fdec294f287d1c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x50bc3a8e00000000, rs 0x285e1d47, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3a8e0000000050bc, rs 0x285e1d47, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe0000000050bc3a8, rs 0x285e1d47, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x92e657216c40cc14, rs 0xb620660a49732b90, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x57216c40cc1492e6, rs 0xb620660a49732b90, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x16c40cc1492e6572, rs 0xb620660a49732b90, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x6c329a8400000000, rs 0x36194d42, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9a84000000006c32, rs 0x36194d42, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4000000006c329a8, rs 0x36194d42, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd9fbd323326271e2, rs 0x993138f16cfde991, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd323326271e2d9fb, rs 0x993138f16cfde991, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3326271e2d9fbd32, rs 0x993138f16cfde991, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x65b0a1ea00000000, rs 0x32d850f5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa1ea0000000065b0, rs 0x32d850f5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa0000000065b0a1e, rs 0x32d850f5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfaa80f73bc05a266, rs 0xde02d1337d5407b9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf73bc05a266faa8, rs 0xde02d1337d5407b9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3bc05a266faa80f7, rs 0xde02d1337d5407b9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7f36ec5800000000, rs 0x3f9b762c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xec58000000007f36, rs 0x3f9b762c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8000000007f36ec5, rs 0x3f9b762c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc3b562b4274721c3, rs 0x13a390e1e1dab15a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x62b4274721c3c3b5, rs 0x13a390e1e1dab15a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4274721c3c3b562b, rs 0x13a390e1e1dab15a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x76b4d73600000000, rs 0x3b5a6b9b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd7360000000076b4, rs 0x3b5a6b9b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x60000000076b4d73, rs 0x3b5a6b9b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x50e2d90e869234d, rs 0x743491a6828716c8, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2d90e869234d050e, rs 0x743491a6828716c8, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe869234d050e2d9, rs 0x743491a6828716c8, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x62bac4c00000000, rs 0x315d626, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xac4c00000000062b, rs 0x315d626, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc00000000062bac4, rs 0x315d626, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xdbc525e519fe8095, rs 0x8cff404aede292f2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x25e519fe8095dbc5, rs 0x8cff404aede292f2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x519fe8095dbc525e, rs 0x8cff404aede292f2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfa9972200000000, rs 0x7d4cb91, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9722000000000fa9, rs 0x7d4cb91, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2000000000fa9972, rs 0x7d4cb91, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3f06ec6d739d81b6, rs 0xb9cec0db1f837636, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xec6d739d81b63f06, rs 0xb9cec0db1f837636, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xd739d81b63f06ec6, rs 0xb9cec0db1f837636, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x152fda9000000000, rs 0xa97ed48, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xda9000000000152f, rs 0xa97ed48, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x152fda9, rs 0xa97ed48, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa12ee385d54b54e, rs 0x2eaa5aa70509771c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xee385d54b54e0a12, rs 0x2eaa5aa70509771c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x85d54b54e0a12ee3, rs 0x2eaa5aa70509771c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1cade1fe00000000, rs 0xe56f0ff, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe1fe000000001cad, rs 0xe56f0ff, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe000000001cade1f, rs 0xe56f0ff, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x30ea4837a64ea71c, rs 0xd327538e1875241b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4837a64ea71c30ea, rs 0xd327538e1875241b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7a64ea71c30ea483, rs 0xd327538e1875241b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x202341f400000000, rs 0x1011a0fa, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x41f4000000002023, rs 0x1011a0fa, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x400000000202341f, rs 0x1011a0fa, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x16e736d685d3f0a9, rs 0x42e9f8548b739b6b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x36d685d3f0a916e7, rs 0x42e9f8548b739b6b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x685d3f0a916e736d, rs 0x42e9f8548b739b6b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x29a17a9a00000000, rs 0x14d0bd4d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7a9a0000000029a1, rs 0x14d0bd4d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa0000000029a17a9, rs 0x14d0bd4d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd9977434f1c9ca19, rs 0x78e4e50ceccbba1a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7434f1c9ca19d997, rs 0x78e4e50ceccbba1a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4f1c9ca19d997743, rs 0x78e4e50ceccbba1a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3327372800000000, rs 0x19939b94, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3728000000003327, rs 0x19939b94, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8000000003327372, rs 0x19939b94, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9b3a4f97ed6df47f, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4f97ed6df47f9b3a, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ed6df47f9b3a4f9, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3aa50c4600000000, rs 0x1d528623, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc46000000003aa5, rs 0x1d528623, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6000000003aa50c4, rs 0x1d528623, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5c7d2846e722c907, rs 0x73916483ae3e9423, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2846e722c9075c7d, rs 0x73916483ae3e9423, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6e722c9075c7d284, rs 0x73916483ae3e9423, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe25eac1dffffffff, rs 0xfffffffff12f560e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xac1dffffffffe25e, rs 0xfffffffff12f560e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffffe25eac1, rs 0xfffffffff12f560e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1c250ac24ed5ee14, rs 0x276af70a0e128561, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xac24ed5ee141c25, rs 0x276af70a0e128561, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x24ed5ee141c250ac, rs 0x276af70a0e128561, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xebdc9773ffffffff, rs 0xfffffffff5ee4bb9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9773ffffffffebdc, rs 0xfffffffff5ee4bb9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffffebdc977, rs 0xfffffffff5ee4bb9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x6bce96dc0608b7ed, rs 0x3045bf6b5e74b6e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x96dc0608b7ed6bce, rs 0x3045bf6b5e74b6e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc0608b7ed6bce96d, rs 0x3045bf6b5e74b6e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf15adac1ffffffff, rs 0xfffffffff8ad6d60, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xdac1fffffffff15a, rs 0xfffffffff8ad6d60, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1fffffffff15adac, rs 0xfffffffff8ad6d60, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x11599f4c40447e26, rs 0x20223f1308accfa6, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9f4c40447e261159, rs 0x20223f1308accfa6, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc40447e2611599f4, rs 0x20223f1308accfa6, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf8d8e1afffffffff, rs 0xfffffffffc6c70d7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe1affffffffff8d8, rs 0xfffffffffc6c70d7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xffffffffff8d8e1a, rs 0xfffffffffc6c70d7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x72ed6bebf078aae8, rs 0xf83c55743976b5f5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6bebf078aae872ed, rs 0xf83c55743976b5f5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbf078aae872ed6be, rs 0xf83c55743976b5f5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc45641a5ffffffff, rs 0xffffffffe22b20d2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x41a5ffffffffc456, rs 0xffffffffe22b20d2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffffc45641a, rs 0xffffffffe22b20d2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8d24787a3f2e41f2, rs 0x1f9720f946923c3d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x787a3f2e41f28d24, rs 0x1f9720f946923c3d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa3f2e41f28d24787, rs 0x1f9720f946923c3d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xcdd47acbffffffff, rs 0xffffffffe6ea3d65, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7acbffffffffcdd4, rs 0xffffffffe6ea3d65, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffffcdd47ac, rs 0xffffffffe6ea3d65, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xda4891bac41a50a0, rs 0x620d28506d2448dd, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x91bac41a50a0da48, rs 0x620d28506d2448dd, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xac41a50a0da4891b, rs 0x620d28506d2448dd, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd7523779ffffffff, rs 0xffffffffeba91bbc, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3779ffffffffd752, rs 0xffffffffeba91bbc, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffffd752377, rs 0xffffffffeba91bbc, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3fe94e64c14a43d3, rs 0x60a521e99ff4a732, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4e64c14a43d33fe9, rs 0x60a521e99ff4a732, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4c14a43d33fe94e6, rs 0x60a521e99ff4a732, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xded00c17ffffffff, rs 0xffffffffef68060b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc17ffffffffded0, rs 0xffffffffef68060b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffffded00c1, rs 0xffffffffef68060b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb8d01e16b411e756, rs 0x5a08f3ab5c680f0b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1e16b411e756b8d0, rs 0x5a08f3ab5c680f0b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6b411e756b8d01e1, rs 0x5a08f3ab5c680f0b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xae4f776dffffffff, rs 0xffffffffd727bbb6, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x776dffffffffae4f, rs 0xffffffffd727bbb6, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffffae4f776, rs 0xffffffffd727bbb6, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1e7a4d8f4b37cf, rs 0xc7a59be7800f3d26, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7a4d8f4b37cf001e, rs 0xc7a59be7800f3d26, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xd8f4b37cf001e7a4, rs 0xc7a59be7800f3d26, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa7cd4c03ffffffff, rs 0xffffffffd3e6a601, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4c03ffffffffa7cd, rs 0xffffffffd3e6a601, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffffa7cd4c0, rs 0xffffffffd3e6a601, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x594368235d9be53, rs 0x1aecdf2982ca1b41, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x368235d9be530594, rs 0x1aecdf2982ca1b41, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x235d9be530594368, rs 0x1aecdf2982ca1b41, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbd4b01b1ffffffff, rs 0xffffffffdea580d8, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1b1ffffffffbd4b, rs 0xffffffffdea580d8, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffffbd4b01b, rs 0xffffffffdea580d8, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc1a33b9a570c2744, rs 0x2b8613a260d19dcd, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3b9a570c2744c1a3, rs 0x2b8613a260d19dcd, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa570c2744c1a33b9, rs 0x2b8613a260d19dcd, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb4c93adfffffffff, rs 0xffffffffda649d6f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3adfffffffffb4c9, rs 0xffffffffda649d6f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffffb4c93ad, rs 0xffffffffda649d6f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1d177cfe4a315916, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7cfe4a3159161d17, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe4a3159161d177cf, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x88479ad5ffffffff, rs 0xffffffffc423cd6a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9ad5ffffffff8847, rs 0xffffffffc423cd6a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffff88479ad, rs 0xffffffffc423cd6a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5f9e90d6e87cad1a, rs 0x743e568d2fcf486b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x90d6e87cad1a5f9e, rs 0x743e568d2fcf486b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6e87cad1a5f9e90d, rs 0x743e568d2fcf486b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x69862e5024dec8de, rs 0x126f646f34c31728, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2e5024dec8de6986, rs 0x126f646f34c31728, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x24dec8de69862e5, rs 0x126f646f34c31728, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9b43ec09ffffffff, rs 0xffffffffcda1f604, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xec09ffffffff9b43, rs 0xffffffffcda1f604, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffff9b43ec0, rs 0xffffffffcda1f604, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xadf89a25556032c2, rs 0xaab0196156fc4d12, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9a25556032c2adf8, rs 0xaab0196156fc4d12, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5556032c2adf89a2, rs 0xaab0196156fc4d12, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb2ba684ea6b9a67, rs 0x7535cd338595d342, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa684ea6b9a670b2b, rs 0x7535cd338595d342, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4ea6b9a670b2ba68, rs 0x7535cd338595d342, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7a7d1afdffffffff, rs 0xffffffffbd3e8d7e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1afdffffffff7a7d, rs 0xffffffffbd3e8d7e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffff7a7d1af, rs 0xffffffffbd3e8d7e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x84468dd9bf64a9b4, rs 0xdfb254da422346ec, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8dd9bf64a9b48446, rs 0xdfb254da422346ec, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9bf64a9b484468dd, rs 0xdfb254da422346ec, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x73ff2193ffffffff, rs 0xffffffffb9ff90c9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2193ffffffff73ff, rs 0xffffffffb9ff90c9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffff73ff219, rs 0xffffffffb9ff90c9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x103565550ce4d92, rs 0xa86726c90081ab2a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x565550ce4d920103, rs 0xa86726c90081ab2a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x550ce4d920103565, rs 0xa86726c90081ab2a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x69796c21ffffffff, rs 0xffffffffb4bcb610, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6c21ffffffff6979, rs 0xffffffffb4bcb610, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffff69796c2, rs 0xffffffffb4bcb610, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xcf3ae87137fdff42, rs 0x9bfeffa1679d7438, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe87137fdff42cf3a, rs 0x9bfeffa1679d7438, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x137fdff42cf3ae87, rs 0x9bfeffa1679d7438, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x60fb574fffffffff, rs 0xffffffffb07daba7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x574fffffffff60fb, rs 0xffffffffb07daba7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffff60fb574, rs 0xffffffffb07daba7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x6fbdc4898ed3304d, rs 0xc7699826b7dee244, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc4898ed3304d6fbd, rs 0xc7699826b7dee244, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x98ed3304d6fbdc48, rs 0xc7699826b7dee244, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5c75f745ffffffff, rs 0xffffffffae3afba2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf745ffffffff5c75, rs 0xffffffffae3afba2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffff5c75f74, rs 0xffffffffae3afba2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf74ce094780f5f2f, rs 0x3c07af97fba6704a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe094780f5f2ff74c, rs 0x3c07af97fba6704a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4780f5f2ff74ce09, rs 0x3c07af97fba6704a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x55f7cc2bffffffff, rs 0xffffffffaafbe615, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xcc2bffffffff55f7, rs 0xffffffffaafbe615, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffff55f7cc2, rs 0xffffffffaafbe615, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x98b17fca426c9b8, rs 0x521364dc04c58bfe, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x17fca426c9b8098b, rs 0x521364dc04c58bfe, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xca426c9b8098b17f, rs 0x521364dc04c58bfe, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4f718199ffffffff, rs 0xffffffffa7b8c0cc, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8199ffffffff4f71, rs 0xffffffffa7b8c0cc, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffff4f71819, rs 0xffffffffa7b8c0cc, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x356f5d79c1ef76b1, rs 0xe0f7bb589ab7aebc, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5d79c1ef76b1356f, rs 0xe0f7bb589ab7aebc, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9c1ef76b1356f5d7, rs 0xe0f7bb589ab7aebc, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x46f3baf7ffffffff, rs 0xffffffffa379dd7b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xbaf7ffffffff46f3, rs 0xffffffffa379dd7b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffff46f3baf, rs 0xffffffffa379dd7b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbdd72a9bc66d8c19, rs 0xe336c60cdeeb954d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2a9bc66d8c19bdd7, rs 0xe336c60cdeeb954d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbc66d8c19bdd72a9, rs 0xe336c60cdeeb954d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x366cc18dffffffff, rs 0xffffffff9b3660c6, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc18dffffffff366c, rs 0xffffffff9b3660c6, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffff366cc18, rs 0xffffffff9b3660c6, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xdea482ddab642418, rs 0xd5b2120c6f52416e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x82ddab642418dea4, rs 0xd5b2120c6f52416e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdab642418dea482d, rs 0xd5b2120c6f52416e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3feefae3ffffffff, rs 0xffffffff9ff77d71, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfae3ffffffff3fee, rs 0xffffffff9ff77d71, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffff3feefae, rs 0xffffffff9ff77d71, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfcc514690b45a9fe, rs 0x85a2d4ff7e628a34, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x14690b45a9fefcc5, rs 0x85a2d4ff7e628a34, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x90b45a9fefcc5146, rs 0x85a2d4ff7e628a34, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2568b751ffffffff, rs 0xffffffff92b45ba8, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb751ffffffff2568, rs 0xffffffff92b45ba8, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffff2568b75, rs 0xffffffff92b45ba8, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x949cfc0f30d456ca, rs 0x986a2b654a4e7e07, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfc0f30d456ca949c, rs 0x986a2b654a4e7e07, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf30d456ca949cfc0, rs 0x986a2b654a4e7e07, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2cea8c3fffffffff, rs 0xffffffff9675461f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8c3fffffffff2cea, rs 0xffffffff9675461f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffff2cea8c3, rs 0xffffffff9675461f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x749136ab52e9d588, rs 0xa974eac43a489b55, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x36ab52e9d5887491, rs 0xa974eac43a489b55, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xb52e9d588749136a, rs 0xa974eac43a489b55, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x10642c35ffffffff, rs 0xffffffff8832161a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2c35ffffffff1064, rs 0xffffffff8832161a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffff10642c3, rs 0xffffffff8832161a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe5e3f1eb471182c4, rs 0xa388c16272f1f8f5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf1eb471182c4e5e3, rs 0xa388c16272f1f8f5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xb471182c4e5e3f1e, rs 0xa388c16272f1f8f5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x19e6175bffffffff, rs 0xffffffff8cf30bad, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x175bffffffff19e6, rs 0xffffffff8cf30bad, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffff19e6175, rs 0xffffffff8cf30bad, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xce92bd53d1823e8b, rs 0xe8c11f45e7495ea9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xbd53d1823e8bce92, rs 0xe8c11f45e7495ea9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3d1823e8bce92bd5, rs 0xe8c11f45e7495ea9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3605ae9ffffffff, rs 0xffffffff81b02d74, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5ae9ffffffff0360, rs 0xffffffff81b02d74, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffff03605ae, rs 0xffffffff81b02d74, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb98391695b54b4ec, rs 0xadaa5a765cc1c8b4, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x91695b54b4ecb983, rs 0xadaa5a765cc1c8b4, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x95b54b4ecb983916, rs 0xadaa5a765cc1c8b4, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xae26187ffffffff, rs 0xffffffff857130c3, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6187ffffffff0ae2, rs 0xffffffff857130c3, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffff0ae2618, rs 0xffffffff857130c3, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbf4c0b80f5699d11, rs 0x7ab4ce88dfa605c0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb80f5699d11bf4c, rs 0x7ab4ce88dfa605c0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf5699d11bf4c0b8, rs 0x7ab4ce88dfa605c0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbb15213200000000, rs 0x5d8a9099, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x213200000000bb15, rs 0x5d8a9099, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x200000000bb15213, rs 0x5d8a9099, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb34f609f6855adcc, rs 0xb42ad6e659a7b04f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x609f6855adccb34f, rs 0xb42ad6e659a7b04f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf6855adccb34f609, rs 0xb42ad6e659a7b04f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb2971a5c00000000, rs 0x594b8d2e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1a5c00000000b297, rs 0x594b8d2e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc00000000b2971a5, rs 0x594b8d2e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x6e51245e97f090b5, rs 0x4bf8485ab728922f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x245e97f090b56e51, rs 0x4bf8485ab728922f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe97f090b56e51245, rs 0x4bf8485ab728922f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa81157ee00000000, rs 0x5408abf7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x57ee00000000a811, rs 0x5408abf7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe00000000a81157e, rs 0x5408abf7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x76cd4ff6ed47ac18, rs 0x76a3d60c3b66a7fb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4ff6ed47ac1876cd, rs 0x76a3d60c3b66a7fb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6ed47ac1876cd4ff, rs 0x76a3d60c3b66a7fb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa1936c8000000000, rs 0x50c9b640, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6c8000000000a193, rs 0x50c9b640, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa1936c8, rs 0x50c9b640, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfb851db463c18d5f, rs 0x31e0c6affdc28eda, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1db463c18d5ffb85, rs 0x31e0c6affdc28eda, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x463c18d5ffb851db, rs 0x31e0c6affdc28eda, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9d1dcc8a00000000, rs 0x4e8ee645, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xcc8a000000009d1d, rs 0x4e8ee645, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa000000009d1dcc8, rs 0x4e8ee645, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7e19333aa6c0d769, rs 0x53606bb4bf0c999d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x333aa6c0d7697e19, rs 0x53606bb4bf0c999d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xaa6c0d7697e19333, rs 0x53606bb4bf0c999d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x949ff7e400000000, rs 0x4a4ffbf2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf7e400000000949f, rs 0x4a4ffbf2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x400000000949ff7e, rs 0x4a4ffbf2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x36f233e065f82590, rs 0x32fc12c81b7919f0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x33e065f8259036f2, rs 0x32fc12c81b7919f0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x65f8259036f233e, rs 0x32fc12c81b7919f0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8e19ba5600000000, rs 0x470cdd2b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xba56000000008e19, rs 0x470cdd2b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6000000008e19ba5, rs 0x470cdd2b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8e5df9ac7df10709, rs 0x3ef88384c72efcd6, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf9ac7df107098e5d, rs 0x3ef88384c72efcd6, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc7df107098e5df9a, rs 0x3ef88384c72efcd6, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x879b813800000000, rs 0x43cdc09c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x813800000000879b, rs 0x43cdc09c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x800000000879b813, rs 0x43cdc09c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd4546b0071638f76, rs 0x38b1c7bb6a2a3580, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6b0071638f76d454, rs 0x38b1c7bb6a2a3580, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x71638f76d4546b0, rs 0x38b1c7bb6a2a3580, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf704fa4200000000, rs 0x7b827d21, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfa4200000000f704, rs 0x7b827d21, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x200000000f704fa4, rs 0x7b827d21, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3b94ef922bd7ec24, rs 0x15ebf6121dca77c9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xef922bd7ec243b94, rs 0x15ebf6121dca77c9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x22bd7ec243b94ef9, rs 0x15ebf6121dca77c9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfe86c12c00000000, rs 0x7f436096, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc12c00000000fe86, rs 0x7f436096, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc00000000fe86c12, rs 0x7f436096, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfb228f5cbd559bb3, rs 0x5eaacdd9fd9147ae, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8f5cbd559bb3fb22, rs 0x5eaacdd9fd9147ae, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xcbd559bb3fb228f5, rs 0x5eaacdd9fd9147ae, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe4008c9e00000000, rs 0x7200464f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8c9e00000000e400, rs 0x7200464f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe00000000e4008c9, rs 0x7200464f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3d2222f7708e1f3, rs 0xbb8470f981e91117, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x222f7708e1f303d2, rs 0xbb8470f981e91117, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf7708e1f303d2222, rs 0xbb8470f981e91117, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xed82b7f000000000, rs 0x76c15bf8, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb7f000000000ed82, rs 0x76c15bf8, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xed82b7f, rs 0x76c15bf8, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8d4a65c00ba855d5, rs 0x5d42aeac6a532e0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x65c00ba855d58d4a, rs 0x5d42aeac6a532e0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xba855d58d4a65c, rs 0x5d42aeac6a532e0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd10c17fa00000000, rs 0x68860bfd, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x17fa00000000d10c, rs 0x68860bfd, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa00000000d10c17f, rs 0x68860bfd, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x33f73cc62957e6c8, rs 0x14abf36419fb9e63, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3cc62957e6c833f7, rs 0x14abf36419fb9e63, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x62957e6c833f73cc, rs 0x14abf36419fb9e63, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd88e2c9400000000, rs 0x6c47164a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2c9400000000d88e, rs 0x6c47164a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x400000000d88e2c9, rs 0x6c47164a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x51ae5558493aab35, rs 0x249d559aa8d72aac, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5558493aab3551ae, rs 0x249d559aa8d72aac, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8493aab3551ae555, rs 0x249d559aa8d72aac, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc208612600000000, rs 0x61043093, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x612600000000c208, rs 0x61043093, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x600000000c208612, rs 0x61043093, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x109661d819acec9e, rs 0xcd6764f084b30ec, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x61d819acec9e1096, rs 0xcd6764f084b30ec, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x819acec9e109661d, rs 0xcd6764f084b30ec, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xcb8a5a4800000000, rs 0x65c52d24, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5a4800000000cb8a, rs 0x65c52d24, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x800000000cb8a5a4, rs 0x65c52d24, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x248d1fbefe07580f, rs 0x7f03ac0792468fdf, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1fbefe07580f248d, rs 0x7f03ac0792468fdf, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xefe07580f248d1fb, rs 0x7f03ac0792468fdf, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x233697d200000000, rs 0x119b4be9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x97d2000000002336, rs 0x119b4be9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x200000000233697d, rs 0x119b4be9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xadcce1eafc6b9cda, rs 0x7e35ce6d56e670f5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe1eafc6b9cdaadcc, rs 0x7e35ce6d56e670f5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xafc6b9cdaadcce1e, rs 0x7e35ce6d56e670f5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2ab4acbc00000000, rs 0x155a565e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xacbc000000002ab4, rs 0x155a565e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc000000002ab4acb, rs 0x155a565e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x34ca4e222a5050b2, rs 0x152828591a652711, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4e222a5050b234ca, rs 0x152828591a652711, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x22a5050b234ca4e2, rs 0x152828591a652711, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3032e10e00000000, rs 0x18197087, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe10e000000003032, rs 0x18197087, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe000000003032e10, rs 0x18197087, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa42b53f73c386507, rs 0x9e1c3283d215a9fb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x53f73c386507a42b, rs 0x9e1c3283d215a9fb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x73c386507a42b53f, rs 0x9e1c3283d215a9fb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x39b0da6000000000, rs 0x1cd86d30, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xda600000000039b0, rs 0x1cd86d30, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x39b0da6, rs 0x1cd86d30, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5054082f1b2b8092, rs 0x8d95c049282a0417, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x82f1b2b80925054, rs 0x8d95c049282a0417, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf1b2b80925054082, rs 0x8d95c049282a0417, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x53e7a6a00000000, rs 0x29f3d35, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7a6a00000000053e, rs 0x29f3d35, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa00000000053e7a6, rs 0x29f3d35, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2f00b1e7e5cf4921, rs 0xf2e7a490978058f3, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb1e7e5cf49212f00, rs 0xf2e7a490978058f3, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7e5cf49212f00b1e, rs 0xf2e7a490978058f3, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xcbc410400000000, rs 0x65e2082, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4104000000000cbc, rs 0x65e2082, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4000000000cbc410, rs 0x65e2082, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x12eb6354eeb69994, rs 0x775b4cca0975b1aa, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6354eeb6999412eb, rs 0x775b4cca0975b1aa, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x4eeb6999412eb635, rs 0x775b4cca0975b1aa, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x163a0cb600000000, rs 0xb1d065b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xcb600000000163a, rs 0xb1d065b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x600000000163a0cb, rs 0xb1d065b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x6a2220401457094c, rs 0xa2b84a635111020, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x20401457094c6a22, rs 0xa2b84a635111020, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1457094c6a22204, rs 0xa2b84a635111020, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1fb837d800000000, rs 0xfdc1bec, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x37d8000000001fb8, rs 0xfdc1bec, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x8000000001fb837d, rs 0xfdc1bec, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4fb116de047f41a7, rs 0x23fa0d3a7d88b6f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x16de047f41a74fb1, rs 0x23fa0d3a7d88b6f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe047f41a74fb116d, rs 0x23fa0d3a7d88b6f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x6f274ca200000000, rs 0x3793a651, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4ca2000000006f27, rs 0x3793a651, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2000000006f274ca, rs 0x3793a651, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3283bdbb47b3236f, rs 0xa3d991b79941dedd, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xbdbb47b3236f3283, rs 0xa3d991b79941dedd, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xb47b3236f3283bdb, rs 0xa3d991b79941dedd, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x66a577cc00000000, rs 0x3352bbe6, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x77cc0000000066a5, rs 0x3352bbe6, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc0000000066a577c, rs 0x3352bbe6, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb41b2a10ea396906, rs 0x751cb4835a0d9508, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2a10ea396906b41b, rs 0x751cb4835a0d9508, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xea396906b41b2a1, rs 0x751cb4835a0d9508, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7c233a7e00000000, rs 0x3e119d3f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3a7e000000007c23, rs 0x3e119d3f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe000000007c233a7, rs 0x3e119d3f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc4b765a729395a6a, rs 0x949cad35625bb2d3, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x65a729395a6ac4b7, rs 0x949cad35625bb2d3, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x729395a6ac4b765a, rs 0x949cad35625bb2d3, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x75a1011000000000, rs 0x3ad08088, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1100000000075a1, rs 0x3ad08088, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x75a1011, rs 0x3ad08088, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4d252e72feacfe6b, rs 0x7f567f35a6929739, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2e72feacfe6b4d25, rs 0x7f567f35a6929739, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2feacfe6b4d252e7, rs 0x7f567f35a6929739, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x492fa11a00000000, rs 0x2497d08d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa11a00000000492f, rs 0x2497d08d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa00000000492fa11, rs 0x2497d08d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb71afa4e30b711c1, rs 0x185b88e0db8d7d27, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfa4e30b711c1b71a, rs 0x185b88e0db8d7d27, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe30b711c1b71afa4, rs 0x185b88e0db8d7d27, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x40ad9a7400000000, rs 0x2056cd3a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9a740000000040ad, rs 0x2056cd3a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x40000000040ad9a7, rs 0x2056cd3a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5fac37224ab499a4, rs 0x255a4cd22fd61b91, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x37224ab499a45fac, rs 0x255a4cd22fd61b91, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x24ab499a45fac372, rs 0x255a4cd22fd61b91, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5a2bd7c600000000, rs 0x2d15ebe3, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd7c6000000005a2b, rs 0x2d15ebe3, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6000000005a2bd7c, rs 0x2d15ebe3, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x486c7ef62091ab13, rs 0x1048d589a4363f7b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7ef62091ab13486c, rs 0x1048d589a4363f7b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x62091ab13486c7ef, rs 0x1048d589a4363f7b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x53a9eca800000000, rs 0x29d4f654, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xeca80000000053a9, rs 0x29d4f654, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x80000000053a9eca, rs 0x29d4f654, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe8c0af20d4daae11, rs 0x6a6d5708f4605790, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xaf20d4daae11e8c0, rs 0x6a6d5708f4605790, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xd4daae11e8c0af2, rs 0x6a6d5708f4605790, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8b524cf3ffffffff, rs 0xffffffffc5a92679, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4cf3ffffffff8b52, rs 0xffffffffc5a92679, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffff8b524cf, rs 0xffffffffc5a92679, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbc6ad2ffab1d9757, rs 0xd58ecbabde35697f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd2ffab1d9757bc6a, rs 0xd58ecbabde35697f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfab1d9757bc6ad2f, rs 0xd58ecbabde35697f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x82d0779dffffffff, rs 0xffffffffc1683bce, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x779dffffffff82d0, rs 0xffffffffc1683bce, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffff82d0779, rs 0xffffffffc1683bce, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x11814be2aeaa91fa, rs 0x575548fd08c0a5f1, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4be2aeaa91fa1181, rs 0x575548fd08c0a5f1, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2aeaa91fa11814be, rs 0x575548fd08c0a5f1, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x98563a2fffffffff, rs 0xffffffffcc2b1d17, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3a2fffffffff9856, rs 0xffffffffcc2b1d17, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffff98563a2, rs 0xffffffffcc2b1d17, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1db31bb7176c81f7, rs 0x8bb640fb8ed98ddb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1bb7176c81f71db3, rs 0x8bb640fb8ed98ddb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7176c81f71db31bb, rs 0x8bb640fb8ed98ddb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x91d40141ffffffff, rs 0xffffffffc8ea00a0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x141ffffffff91d4, rs 0xffffffffc8ea00a0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffff91d4014, rs 0xffffffffc8ea00a0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x578af1997c01aa3d, rs 0xbe00d51eabc578cc, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf1997c01aa3d578a, rs 0xbe00d51eabc578cc, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x97c01aa3d578af19, rs 0xbe00d51eabc578cc, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xad5aa14bffffffff, rs 0xffffffffd6ad50a5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa14bffffffffad5a, rs 0xffffffffd6ad50a5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffffad5aa14, rs 0xffffffffd6ad50a5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x382e15645efc4494, rs 0x2f7e224a1c170ab2, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x15645efc4494382e, rs 0x2f7e224a1c170ab2, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x45efc4494382e156, rs 0x2f7e224a1c170ab2, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xa4d89a25ffffffff, rs 0xffffffffd26c4d12, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9a25ffffffffa4d8, rs 0xffffffffd26c4d12, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffffa4d89a2, rs 0xffffffffd26c4d12, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4444ad4f52f1e259, rs 0xa978f12ca22256a7, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xad4f52f1e2594444, rs 0xa978f12ca22256a7, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf52f1e2594444ad4, rs 0xa978f12ca22256a7, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbe5ed797ffffffff, rs 0xffffffffdf2f6bcb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd797ffffffffbe5e, rs 0xffffffffdf2f6bcb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffffbe5ed79, rs 0xffffffffdf2f6bcb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x23dc05f32a15277, rs 0x9950a93b811ee02f, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc05f32a15277023d, rs 0x9950a93b811ee02f, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xf32a15277023dc05, rs 0x9950a93b811ee02f, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xb7dcecf9ffffffff, rs 0xffffffffdbee767c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xecf9ffffffffb7dc, rs 0xffffffffdbee767c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffffb7dcecf, rs 0xffffffffdbee767c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8cf2d419689dd527, rs 0xb44eea93c6796a0c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xd419689dd5278cf2, rs 0xb44eea93c6796a0c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9689dd5278cf2d41, rs 0xb44eea93c6796a0c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc7439783ffffffff, rs 0xffffffffe3a1cbc1, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9783ffffffffc743, rs 0xffffffffe3a1cbc1, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffffc743978, rs 0xffffffffe3a1cbc1, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd81d6caffce3f940, rs 0xfe71fca06c0eb657, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6caffce3f940d81d, rs 0xfe71fca06c0eb657, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xffce3f940d81d6ca, rs 0xfe71fca06c0eb657, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xcec1acedffffffff, rs 0xffffffffe760d676, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xacedffffffffcec1, rs 0xffffffffe760d676, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffffcec1ace, rs 0xffffffffe760d676, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf0315eae9dac727b, rs 0x4ed6393df818af57, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5eae9dac727bf031, rs 0x4ed6393df818af57, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xe9dac727bf0315ea, rs 0x4ed6393df818af57, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd447e15fffffffff, rs 0xffffffffea23f0af, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xe15fffffffffd447, rs 0xffffffffea23f0af, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffffd447e15, rs 0xffffffffea23f0af, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x46cee15e45d2040, rs 0xf22e90200236770a, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xee15e45d2040046c, rs 0xf22e90200236770a, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5e45d2040046cee1, rs 0xf22e90200236770a, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xddc5da31ffffffff, rs 0xffffffffeee2ed18, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xda31ffffffffddc5, rs 0xffffffffeee2ed18, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffffddc5da3, rs 0xffffffffeee2ed18, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5fa188bb03df6d8f, rs 0x81efb6c7afd0c45d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x88bb03df6d8f5fa1, rs 0x81efb6c7afd0c45d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xb03df6d8f5fa188b, rs 0x81efb6c7afd0c45d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe14b7a3bffffffff, rs 0xfffffffff0a5bd1d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7a3bffffffffe14b, rs 0xfffffffff0a5bd1d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffffe14b7a3, rs 0xfffffffff0a5bd1d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x20462b7ddb1e6a3, rs 0xeed8f3518102315b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x62b7ddb1e6a30204, rs 0xeed8f3518102315b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ddb1e6a3020462b, rs 0xeed8f3518102315b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xe8c94155ffffffff, rs 0xfffffffff464a0aa, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x4155ffffffffe8c9, rs 0xfffffffff464a0aa, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffffe8c9415, rs 0xfffffffff464a0aa, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x32bdfabd5b5fdf73, rs 0xadafefb9995efd5e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfabd5b5fdf7332bd, rs 0xadafefb9995efd5e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xd5b5fdf7332bdfab, rs 0xadafefb9995efd5e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xf24f0ce7ffffffff, rs 0xfffffffff9278673, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xce7fffffffff24f, rs 0xfffffffff9278673, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7fffffffff24f0ce, rs 0xfffffffff9278673, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xd64a610c680c3267, rs 0x34061933eb253086, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x610c680c3267d64a, rs 0x34061933eb253086, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xc680c3267d64a610, rs 0x34061933eb253086, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xfbcd3789ffffffff, rs 0xfffffffffde69bc4, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3789fffffffffbcd, rs 0xfffffffffde69bc4, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9fffffffffbcd378, rs 0xfffffffffde69bc4, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9698a5782e91b44c, rs 0x1748da264b4c52bc, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa5782e91b44c9698, rs 0x1748da264b4c52bc, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x82e91b44c9698a57, rs 0x1748da264b4c52bc, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1371fa13ffffffff, rs 0xffffffff89b8fd09, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xfa13ffffffff1371, rs 0xffffffff89b8fd09, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffff1371fa1, rs 0xffffffff89b8fd09, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x26057d1269fbf935, rs 0x34fdfc9a9302be89, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x7d1269fbf9352605, rs 0x34fdfc9a9302be89, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x269fbf93526057d1, rs 0x34fdfc9a9302be89, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x1af3c17dffffffff, rs 0xffffffff8d79e0be, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc17dffffffff1af3, rs 0xffffffff8d79e0be, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffff1af3c17, rs 0xffffffff8d79e0be, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x8a43a301a004f187, rs 0xd00278c3c521d180, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa301a004f1878a43, rs 0xd00278c3c521d180, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1a004f1878a43a30, rs 0xd00278c3c521d180, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x758ccfffffffff, rs 0xffffffff803ac667, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8ccfffffffff0075, rs 0xffffffff803ac667, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffff00758cc, rs 0xffffffff803ac667, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x83a6f4bbd2128949, rs 0xe90944a4c1d37a5d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf4bbd212894983a6, rs 0xe90944a4c1d37a5d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbd212894983a6f4b, rs 0xe90944a4c1d37a5d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x9f7b7a1ffffffff, rs 0xffffffff84fbdbd0, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xb7a1ffffffff09f7, rs 0xffffffff84fbdbd0, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffff09f7b7a, rs 0xffffffff84fbdbd0, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbbdf3072cbfad31f, rs 0x65fd698fddef9839, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x3072cbfad31fbbdf, rs 0x65fd698fddef9839, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2cbfad31fbbdf307, rs 0x65fd698fddef9839, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x357917abffffffff, rs 0xffffffff9abc8bd5, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x17abffffffff3579, rs 0xffffffff9abc8bd5, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffff357917a, rs 0xffffffff9abc8bd5, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x36b5ea5893dc75b, rs 0xc49ee3ad81b5af52, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5ea5893dc75b036b, rs 0xc49ee3ad81b5af52, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5893dc75b036b5ea, rs 0xc49ee3ad81b5af52, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3cfb2cc5ffffffff, rs 0xffffffff9e7d9662, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2cc5ffffffff3cfb, rs 0xffffffff9e7d9662, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffff3cfb2cc, rs 0xffffffff9e7d9662, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7b64c7d2f55283d1, rs 0x7aa941e8bdb263e9, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc7d2f55283d17b64, rs 0x7aa941e8bdb263e9, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x2f55283d17b64c7d, rs 0x7aa941e8bdb263e9, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x267d6177ffffffff, rs 0xffffffff933eb0bb, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6177ffffffff267d, rs 0xffffffff933eb0bb, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffff267d617, rs 0xffffffff933eb0bb, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x85e76b1a6e58413c, rs 0x372c209e42f3b58d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6b1a6e58413c85e7, rs 0x372c209e42f3b58d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa6e58413c85e76b1, rs 0x372c209e42f3b58d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x2fff5a19ffffffff, rs 0xffffffff97ffad0c, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5a19ffffffff2fff, rs 0xffffffff97ffad0c, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffff2fff5a1, rs 0xffffffff97ffad0c, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc245507661f0e16f, rs 0x30f870b7e122a83b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x507661f0e16fc245, rs 0x30f870b7e122a83b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x661f0e16fc245507, rs 0x30f870b7e122a83b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x5f602163ffffffff, rs 0xffffffffafb010b1, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x2163ffffffff5f60, rs 0xffffffffafb010b1, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3ffffffff5f60216, rs 0xffffffffafb010b1, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xcf1261d93c05bc96, rs 0x9e02de4b678930ec, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x61d93c05bc96cf12, rs 0x9e02de4b678930ec, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x93c05bc96cf1261d, rs 0x9e02de4b678930ec, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x56e21a0dffffffff, rs 0xffffffffab710d06, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x1a0dffffffff56e2, rs 0xffffffffab710d06, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xdffffffff56e21a0, rs 0xffffffffab710d06, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x304cc63d9ac350c7, rs 0xcd61a8639826631e, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xc63d9ac350c7304c, rs 0xcd61a8639826631e, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xd9ac350c7304cc63, rs 0xcd61a8639826631e, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x4c6457bfffffffff, rs 0xffffffffa6322bdf, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x57bfffffffff4c64, rs 0xffffffffa6322bdf, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xfffffffff4c6457b, rs 0xffffffffa6322bdf, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x34f7a7955d0f7913, rs 0xae87bc899a7bd3ca, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xa7955d0f791334f7, rs 0xae87bc899a7bd3ca, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x55d0f791334f7a79, rs 0xae87bc899a7bd3ca, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x45e66cd1ffffffff, rs 0xffffffffa2f33668, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6cd1ffffffff45e6, rs 0xffffffffa2f33668, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x1ffffffff45e66cd, rs 0xffffffffa2f33668, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xc9035e2eb1d8c89a, rs 0x58ec644d6481af17, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x5e2eb1d8c89ac903, rs 0x58ec644d6481af17, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xeb1d8c89ac9035e2, rs 0x58ec644d6481af17, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x7968ccdbffffffff, rs 0xffffffffbcb4666d, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xccdbffffffff7968, rs 0xffffffffbcb4666d, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xbffffffff7968ccd, rs 0xffffffffbcb4666d, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x646d6cccd0199cbf, rs 0x680cce5fb236b666, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x6cccd0199cbf646d, rs 0x680cce5fb236b666, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xcd0199cbf646d6cc, rs 0x680cce5fb236b666, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x70eaf7b5ffffffff, rs 0xffffffffb8757bda, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xf7b5ffffffff70ea, rs 0xffffffffb8757bda, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x5ffffffff70eaf7b, rs 0xffffffffb8757bda, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x3eda9aea7755328e, rs 0x3baa99471f6d4d75, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x9aea7755328e3eda, rs 0x3baa99471f6d4d75, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0xa7755328e3eda9ae, rs 0x3baa99471f6d4d75, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x6a6cba07ffffffff, rs 0xffffffffb5365d03, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0xba07ffffffff6a6c, rs 0xffffffffb5365d03, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x7ffffffff6a6cba0, rs 0xffffffffb5365d03, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0xbe2446d6c29b3688, rs 0x614d9b445f12236b, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x46d6c29b3688be24, rs 0x614d9b445f12236b, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x6c29b3688be2446d, rs 0x614d9b445f12236b, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x63ee8169ffffffff, rs 0xffffffffb1f740b4, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8169ffffffff63ee, rs 0xffffffffb1f740b4, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x9ffffffff63ee816, rs 0xffffffffb1f740b4, imm 0x0003
+drotr $t0, $t1, 0x00 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+drotr $t2, $t3, 0x1f :: rt 0x37508243454dd8cc, rs 0xa2a6ec661ba84121, imm 0x001f
+drotr $a0, $a1, 0x0f :: rt 0x8243454dd8cc3750, rs 0xa2a6ec661ba84121, imm 0x000f
+drotr $s0, $s1, 0x03 :: rt 0x3454dd8cc3750824, rs 0xa2a6ec661ba84121, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x12bd6aa00000000, rs 0x12bd6aa, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x257ad54, rs 0x12bd6aa, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x257ad540000, rs 0x12bd6aa, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x257ad540000000, rs 0x12bd6aa, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x82d2ab13007e8763, rs 0x7e876382d2ab13, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfd0ec705a55626, rs 0x7e876382d2ab13, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xec705a5562600fd, rs 0x7e876382d2ab13, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x705a5562600fd0ec, rs 0x7e876382d2ab13, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9823b6e00000000, rs 0x9823b6e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x130476dc, rs 0x9823b6e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x130476dc0000, rs 0x9823b6e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x130476dc0000000, rs 0x9823b6e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc31510f3976d6e9a, rs 0x976d6e9ac31510f3, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2edadd35862a21e7, rs 0x976d6e9ac31510f3, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xdd35862a21e72eda, rs 0x976d6e9ac31510f3, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x5862a21e72edadd3, rs 0x976d6e9ac31510f3, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd4326d900000000, rs 0xd4326d9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x1a864db2, rs 0xd4326d9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x1a864db20000, rs 0xd4326d9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x1a864db20000000, rs 0xd4326d9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5ad6a5fbb7746d77, rs 0xb7746d775ad6a5fb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6ee8daeeb5ad4bf7, rs 0xb7746d775ad6a5fb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xdaeeb5ad4bf76ee8, rs 0xb7746d775ad6a5fb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xeb5ad4bf76ee8dae, rs 0xb7746d775ad6a5fb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x130476dc00000000, rs 0x130476dc, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2608edb8, rs 0x130476dc, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x2608edb80000, rs 0x130476dc, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x2608edb80000000, rs 0x130476dc, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8677b50242b0c0a2, rs 0x42b0c0a28677b502, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x856181450cef6a04, rs 0x42b0c0a28677b502, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x81450cef6a048561, rs 0x42b0c0a28677b502, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x50cef6a048561814, rs 0x42b0c0a28677b502, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x17c56b6b00000000, rs 0x17c56b6b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2f8ad6d6, rs 0x17c56b6b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x2f8ad6d60000, rs 0x17c56b6b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x2f8ad6d60000000, rs 0x17c56b6b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9e3c30ad2aa89d31, rs 0x2aa89d319e3c30ad, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x55513a633c78615a, rs 0x2aa89d319e3c30ad, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3a633c78615a5551, rs 0x2aa89d319e3c30ad, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x33c78615a55513a6, rs 0x2aa89d319e3c30ad, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1a864db200000000, rs 0x1a864db2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x350c9b64, rs 0x1a864db2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x350c9b640000, rs 0x1a864db2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x350c9b640000000, rs 0x1a864db2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x77fb413d1f308ec3, rs 0x1f308ec377fb413d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3e611d86eff6827a, rs 0x1f308ec377fb413d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x1d86eff6827a3e61, rs 0x1f308ec377fb413d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6eff6827a3e611d8, rs 0x1f308ec377fb413d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1e47500500000000, rs 0x1e475005, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3c8ea00a, rs 0x1e475005, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3c8ea00a0000, rs 0x1e475005, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3c8ea00a0000000, rs 0x1e475005, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc760e4f77aa04213, rs 0x7aa04213c760e4f7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf54084278ec1c9ee, rs 0x7aa04213c760e4f7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x84278ec1c9eef540, rs 0x7aa04213c760e4f7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x78ec1c9eef540842, rs 0x7aa04213c760e4f7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2608edb800000000, rs 0x2608edb8, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x4c11db70, rs 0x2608edb8, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4c11db700000, rs 0x2608edb8, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x4c11db700000000, rs 0x2608edb8, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1ad8dca09e705cc5, rs 0x9e705cc51ad8dca0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3ce0b98a35b1b941, rs 0x9e705cc51ad8dca0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb98a35b1b9413ce0, rs 0x9e705cc51ad8dca0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa35b1b9413ce0b98, rs 0x9e705cc51ad8dca0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x22c9f00f00000000, rs 0x22c9f00f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x4593e01e, rs 0x22c9f00f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4593e01e0000, rs 0x22c9f00f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x4593e01e0000000, rs 0x22c9f00f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9615a60d4b3dda86, rs 0x4b3dda869615a60d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x967bb50d2c2b4c1a, rs 0x4b3dda869615a60d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb50d2c2b4c1a967b, rs 0x4b3dda869615a60d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd2c2b4c1a967bb50, rs 0x4b3dda869615a60d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2f8ad6d600000000, rs 0x2f8ad6d6, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5f15adac, rs 0x2f8ad6d6, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x5f15adac0000, rs 0x2f8ad6d6, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x5f15adac0000000, rs 0x2f8ad6d6, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6353d41d05e7a4dd, rs 0x5e7a4dd6353d41d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xbcf49bac6a7a83a, rs 0x5e7a4dd6353d41d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x49bac6a7a83a0bcf, rs 0x5e7a4dd6353d41d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xac6a7a83a0bcf49b, rs 0x5e7a4dd6353d41d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2b4bcb6100000000, rs 0x2b4bcb61, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x569796c2, rs 0x2b4bcb61, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x569796c20000, rs 0x2b4bcb61, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x569796c20000000, rs 0x2b4bcb61, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc40bd4133af35a9d, rs 0x3af35a9dc40bd413, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x75e6b53b8817a826, rs 0x3af35a9dc40bd413, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb53b8817a82675e6, rs 0x3af35a9dc40bd413, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb8817a82675e6b53, rs 0x3af35a9dc40bd413, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x350c9b6400000000, rs 0x350c9b64, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6a1936c8, rs 0x350c9b64, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x6a1936c80000, rs 0x350c9b64, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6a1936c80000000, rs 0x350c9b64, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9a08a18047f50556, rs 0x47f505569a08a180, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8fea0aad34114300, rs 0x47f505569a08a180, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xaad341143008fea, rs 0x47f505569a08a180, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd341143008fea0aa, rs 0x47f505569a08a180, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x31cd86d300000000, rs 0x31cd86d3, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x639b0da6, rs 0x31cd86d3, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x639b0da60000, rs 0x31cd86d3, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x639b0da60000000, rs 0x31cd86d3, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd6d2040f9564b77f, rs 0x9564b77fd6d2040f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2ac96effada4081f, rs 0x9564b77fd6d2040f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x6effada4081f2ac9, rs 0x9564b77fd6d2040f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfada4081f2ac96ef, rs 0x9564b77fd6d2040f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3c8ea00a00000000, rs 0x3c8ea00a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x791d4014, rs 0x3c8ea00a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x791d40140000, rs 0x3c8ea00a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x791d40140000000, rs 0x3c8ea00a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb2c76bbecebc8279, rs 0xcebc8279b2c76bbe, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x9d7904f3658ed77d, rs 0xcebc8279b2c76bbe, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4f3658ed77d9d79, rs 0xcebc8279b2c76bbe, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3658ed77d9d7904f, rs 0xcebc8279b2c76bbe, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x384fbdbd00000000, rs 0x384fbdbd, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x709f7b7a, rs 0x384fbdbd, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x709f7b7a0000, rs 0x384fbdbd, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x709f7b7a0000000, rs 0x384fbdbd, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1f18e4c7b5034c2f, rs 0xb5034c2f1f18e4c7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6a06985e3e31c98f, rs 0xb5034c2f1f18e4c7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x985e3e31c98f6a06, rs 0xb5034c2f1f18e4c7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe3e31c98f6a06985, rs 0xb5034c2f1f18e4c7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4c11db7000000000, rs 0x4c11db70, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x9823b6e0, rs 0x4c11db70, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9823b6e00000, rs 0x4c11db70, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x9823b6e00000000, rs 0x4c11db70, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x81afa79794ff52fc, rs 0x94ff52fc81afa797, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x29fea5f9035f4f2f, rs 0x94ff52fc81afa797, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa5f9035f4f2f29fe, rs 0x94ff52fc81afa797, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x9035f4f2f29fea5f, rs 0x94ff52fc81afa797, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x48d0c6c700000000, rs 0x48d0c6c7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x91a18d8e, rs 0x48d0c6c7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x91a18d8e0000, rs 0x48d0c6c7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x91a18d8e0000000, rs 0x48d0c6c7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6dfc50ea31d8d916, rs 0x31d8d9166dfc50ea, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x63b1b22cdbf8a1d4, rs 0x31d8d9166dfc50ea, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb22cdbf8a1d463b1, rs 0x31d8d9166dfc50ea, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xcdbf8a1d463b1b22, rs 0x31d8d9166dfc50ea, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4593e01e00000000, rs 0x4593e01e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8b27c03c, rs 0x4593e01e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8b27c03c0000, rs 0x4593e01e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8b27c03c0000000, rs 0x4593e01e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x78e895b136549bd6, rs 0x36549bd678e895b1, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6ca937acf1d12b62, rs 0x36549bd678e895b1, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x37acf1d12b626ca9, rs 0x36549bd678e895b1, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xcf1d12b626ca937a, rs 0x36549bd678e895b1, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4152fda900000000, rs 0x4152fda9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x82a5fb52, rs 0x4152fda9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x82a5fb520000, rs 0x4152fda9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x82a5fb520000000, rs 0x4152fda9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9b63259b85e0a631, rs 0x85e0a6319b63259b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xbc14c6336c64b37, rs 0x85e0a6319b63259b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4c6336c64b370bc1, rs 0x85e0a6319b63259b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x336c64b370bc14c6, rs 0x85e0a6319b63259b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5f15adac00000000, rs 0x5f15adac, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xbe2b5b58, rs 0x5f15adac, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xbe2b5b580000, rs 0x5f15adac, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xbe2b5b580000000, rs 0x5f15adac, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xccf17ac5556b3eca, rs 0x556b3ecaccf17ac5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xaad67d9599e2f58a, rs 0x556b3ecaccf17ac5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x7d9599e2f58aaad6, rs 0x556b3ecaccf17ac5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x599e2f58aaad67d9, rs 0x556b3ecaccf17ac5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5bd4b01b00000000, rs 0x5bd4b01b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xb7a96036, rs 0x5bd4b01b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb7a960360000, rs 0x5bd4b01b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb7a960360000000, rs 0x5bd4b01b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x81eea0fbb42f5fc5, rs 0xb42f5fc581eea0fb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x685ebf8b03dd41f7, rs 0xb42f5fc581eea0fb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xbf8b03dd41f7685e, rs 0xb42f5fc581eea0fb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb03dd41f7685ebf8, rs 0xb42f5fc581eea0fb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x569796c200000000, rs 0x569796c2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xad2f2d84, rs 0x569796c2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xad2f2d840000, rs 0x569796c2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xad2f2d840000000, rs 0x569796c2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x14682d9725b50fec, rs 0x25b50fec14682d97, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x4b6a1fd828d05b2e, rs 0x25b50fec14682d97, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x1fd828d05b2e4b6a, rs 0x25b50fec14682d97, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x828d05b2e4b6a1fd, rs 0x25b50fec14682d97, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x52568b7500000000, rs 0x52568b75, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa4ad16ea, rs 0x52568b75, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa4ad16ea0000, rs 0x52568b75, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa4ad16ea0000000, rs 0x52568b75, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2cfb087afc93c513, rs 0xfc93c5132cfb087a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf9278a2659f610f5, rs 0xfc93c5132cfb087a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8a2659f610f5f927, rs 0xfc93c5132cfb087a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x659f610f5f9278a2, rs 0xfc93c5132cfb087a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6a1936c800000000, rs 0x6a1936c8, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xd4326d90, rs 0x6a1936c8, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd4326d900000, rs 0x6a1936c8, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd4326d900000000, rs 0x6a1936c8, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xcda207663c2cd9a9, rs 0x3c2cd9a9cda20766, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7859b3539b440ecc, rs 0x3c2cd9a9cda20766, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb3539b440ecc7859, rs 0x3c2cd9a9cda20766, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x39b440ecc7859b35, rs 0x3c2cd9a9cda20766, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6ed82b7f00000000, rs 0x6ed82b7f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xddb056fe, rs 0x6ed82b7f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xddb056fe0000, rs 0x6ed82b7f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xddb056fe0000000, rs 0x6ed82b7f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7d72da3e1791722a, rs 0x1791722a7d72da3e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2f22e454fae5b47c, rs 0x1791722a7d72da3e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe454fae5b47c2f22, rs 0x1791722a7d72da3e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x4fae5b47c2f22e45, rs 0x1791722a7d72da3e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x639b0da600000000, rs 0x639b0da6, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc7361b4c, rs 0x639b0da6, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc7361b4c0000, rs 0x639b0da6, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc7361b4c0000000, rs 0x639b0da6, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x93ce24ad087cc9d1, rs 0x87cc9d193ce24ad, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x10f993a3279c495a, rs 0x87cc9d193ce24ad, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x93a3279c495a10f9, rs 0x87cc9d193ce24ad, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3279c495a10f993a, rs 0x87cc9d193ce24ad, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x675a101100000000, rs 0x675a1011, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xceb42022, rs 0x675a1011, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xceb420220000, rs 0x675a1011, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xceb420220000000, rs 0x675a1011, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x38984ed21d2a7570, rs 0x1d2a757038984ed2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3a54eae071309da4, rs 0x1d2a757038984ed2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xeae071309da43a54, rs 0x1d2a757038984ed2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x71309da43a54eae, rs 0x1d2a757038984ed2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x791d401400000000, rs 0x791d4014, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf23a8028, rs 0x791d4014, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf23a80280000, rs 0x791d4014, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf23a80280000000, rs 0x791d4014, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x710cd036d0d070db, rs 0xd0d070db710cd036, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa1a0e1b6e219a06d, rs 0xd0d070db710cd036, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe1b6e219a06da1a0, rs 0xd0d070db710cd036, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6e219a06da1a0e1b, rs 0xd0d070db710cd036, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7ddc5da300000000, rs 0x7ddc5da3, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfbb8bb46, rs 0x7ddc5da3, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfbb8bb460000, rs 0x7ddc5da3, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfbb8bb460000000, rs 0x7ddc5da3, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x341560439c21c7d, rs 0x39c21c7d03415604, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x738438fa0682ac08, rs 0x39c21c7d03415604, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x38fa0682ac087384, rs 0x39c21c7d03415604, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa0682ac08738438f, rs 0x39c21c7d03415604, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x709f7b7a00000000, rs 0x709f7b7a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe13ef6f4, rs 0x709f7b7a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe13ef6f40000, rs 0x709f7b7a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe13ef6f40000000, rs 0x709f7b7a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8ecc31ce8e94b7af, rs 0x8e94b7af8ecc31ce, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x1d296f5f1d98639d, rs 0x8e94b7af8ecc31ce, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x6f5f1d98639d1d29, rs 0x8e94b7af8ecc31ce, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf1d98639d1d296f5, rs 0x8e94b7af8ecc31ce, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x745e66cd00000000, rs 0x745e66cd, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe8bccd9a, rs 0x745e66cd, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe8bccd9a0000, rs 0x745e66cd, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe8bccd9a0000000, rs 0x745e66cd, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1ce7674f24eb6a8d, rs 0x24eb6a8d1ce7674f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x49d6d51a39cece9e, rs 0x24eb6a8d1ce7674f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd51a39cece9e49d6, rs 0x24eb6a8d1ce7674f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa39cece9e49d6d51, rs 0x24eb6a8d1ce7674f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9823b6e0ffffffff, rs 0xffffffff9823b6e0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff30476dc1, rs 0xffffffff9823b6e0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff30476dc1ffff, rs 0xffffffff9823b6e0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf30476dc1fffffff, rs 0xffffffff9823b6e0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x12d6e4a72f394544, rs 0x2f39454412d6e4a7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5e728a8825adc94e, rs 0x2f39454412d6e4a7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8a8825adc94e5e72, rs 0x2f39454412d6e4a7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x825adc94e5e728a8, rs 0x2f39454412d6e4a7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9ce2ab57ffffffff, rs 0xffffffff9ce2ab57, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff39c556af, rs 0xffffffff9ce2ab57, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff39c556afffff, rs 0xffffffff9ce2ab57, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf39c556affffffff, rs 0xffffffff9ce2ab57, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x56da4c542608c2b7, rs 0x2608c2b756da4c54, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x4c11856eadb498a8, rs 0x2608c2b756da4c54, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x856eadb498a84c11, rs 0x2608c2b756da4c54, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xeadb498a84c11856, rs 0x2608c2b756da4c54, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x91a18d8effffffff, rs 0xffffffff91a18d8e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff23431b1d, rs 0xffffffff91a18d8e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff23431b1dffff, rs 0xffffffff91a18d8e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf23431b1dfffffff, rs 0xffffffff91a18d8e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc8d7252f900102da, rs 0x900102dac8d7252f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x200205b591ae4a5f, rs 0x900102dac8d7252f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x5b591ae4a5f2002, rs 0x900102dac8d7252f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x591ae4a5f200205b, rs 0x900102dac8d7252f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x95609039ffffffff, rs 0xffffffff95609039, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff2ac12073, rs 0xffffffff95609039, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff2ac12073ffff, rs 0xffffffff95609039, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf2ac12073fffffff, rs 0xffffffff95609039, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf2efa4f7c890d5f1, rs 0xc890d5f1f2efa4f7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x9121abe3e5df49ef, rs 0xc890d5f1f2efa4f7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xabe3e5df49ef9121, rs 0xc890d5f1f2efa4f7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3e5df49ef9121abe, rs 0xc890d5f1f2efa4f7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8b27c03cffffffff, rs 0xffffffff8b27c03c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff164f8079, rs 0xffffffff8b27c03c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff164f8079ffff, rs 0xffffffff8b27c03c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf164f8079fffffff, rs 0xffffffff8b27c03c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc8b0a214ed5005cb, rs 0xed5005cbc8b0a214, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xdaa00b9791614429, rs 0xed5005cbc8b0a214, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb9791614429daa0, rs 0xed5005cbc8b0a214, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x791614429daa00b9, rs 0xed5005cbc8b0a214, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8fe6dd8bffffffff, rs 0xffffffff8fe6dd8b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff1fcdbb17, rs 0xffffffff8fe6dd8b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff1fcdbb17ffff, rs 0xffffffff8fe6dd8b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf1fcdbb17fffffff, rs 0xffffffff8fe6dd8b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5991136c31479189, rs 0x314791895991136c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x628f2312b32226d8, rs 0x314791895991136c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x2312b32226d8628f, rs 0x314791895991136c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x2b32226d8628f231, rs 0x314791895991136c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x82a5fb52ffffffff, rs 0xffffffff82a5fb52, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff054bf6a5, rs 0xffffffff82a5fb52, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff054bf6a5ffff, rs 0xffffffff82a5fb52, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf054bf6a5fffffff, rs 0xffffffff82a5fb52, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9a2fb6f3c6eecff9, rs 0xc6eecff99a2fb6f3, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8ddd9ff3345f6de7, rs 0xc6eecff99a2fb6f3, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9ff3345f6de78ddd, rs 0xc6eecff99a2fb6f3, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3345f6de78ddd9ff, rs 0xc6eecff99a2fb6f3, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8664e6e5ffffffff, rs 0xffffffff8664e6e5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff0cc9cdcb, rs 0xffffffff8664e6e5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff0cc9cdcbffff, rs 0xffffffff8664e6e5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf0cc9cdcbfffffff, rs 0xffffffff8664e6e5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x38895270a8095212, rs 0xa809521238895270, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5012a4247112a4e1, rs 0xa809521238895270, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa4247112a4e15012, rs 0xa809521238895270, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x47112a4e15012a42, rs 0xa809521238895270, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xbe2b5b58ffffffff, rs 0xffffffffbe2b5b58, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff7c56b6b1, rs 0xffffffffbe2b5b58, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff7c56b6b1ffff, rs 0xffffffffbe2b5b58, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf7c56b6b1fffffff, rs 0xffffffffbe2b5b58, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xad76504087750a04, rs 0x87750a04ad765040, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xeea14095aeca081, rs 0x87750a04ad765040, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x14095aeca0810eea, rs 0x87750a04ad765040, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x95aeca0810eea140, rs 0x87750a04ad765040, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xbaea46efffffffff, rs 0xffffffffbaea46ef, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff75d48ddf, rs 0xffffffffbaea46ef, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff75d48ddfffff, rs 0xffffffffbaea46ef, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf75d48ddffffffff, rs 0xffffffffbaea46ef, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x84bb5a832c3de85e, rs 0x2c3de85e84bb5a83, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x587bd0bd0976b506, rs 0x2c3de85e84bb5a83, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd0bd0976b506587b, rs 0x2c3de85e84bb5a83, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd0976b506587bd0b, rs 0x2c3de85e84bb5a83, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb7a96036ffffffff, rs 0xffffffffb7a96036, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff6f52c06d, rs 0xffffffffb7a96036, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff6f52c06dffff, rs 0xffffffffb7a96036, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf6f52c06dfffffff, rs 0xffffffffb7a96036, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc506aa67ae6aff8f, rs 0xae6aff8fc506aa67, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5cd5ff1f8a0d54cf, rs 0xae6aff8fc506aa67, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xff1f8a0d54cf5cd5, rs 0xae6aff8fc506aa67, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf8a0d54cf5cd5ff1, rs 0xae6aff8fc506aa67, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb3687d81ffffffff, rs 0xffffffffb3687d81, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff66d0fb03, rs 0xffffffffb3687d81, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff66d0fb03ffff, rs 0xffffffffb3687d81, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf66d0fb03fffffff, rs 0xffffffffb3687d81, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x60ed5ee3c07112dd, rs 0xc07112dd60ed5ee3, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x80e225bac1dabdc7, rs 0xc07112dd60ed5ee3, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x25bac1dabdc780e2, rs 0xc07112dd60ed5ee3, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xac1dabdc780e225b, rs 0xc07112dd60ed5ee3, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xad2f2d84ffffffff, rs 0xffffffffad2f2d84, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff5a5e5b09, rs 0xffffffffad2f2d84, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff5a5e5b09ffff, rs 0xffffffffad2f2d84, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf5a5e5b09fffffff, rs 0xffffffffad2f2d84, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x30dcca5ac4c770f6, rs 0xc4c770f630dcca5a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x898ee1ec61b994b5, rs 0xc4c770f630dcca5a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe1ec61b994b5898e, rs 0xc4c770f630dcca5a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc61b994b5898ee1e, rs 0xc4c770f630dcca5a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa9ee3033ffffffff, rs 0xffffffffa9ee3033, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff53dc6067, rs 0xffffffffa9ee3033, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff53dc6067ffff, rs 0xffffffffa9ee3033, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf53dc6067fffffff, rs 0xffffffffa9ee3033, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x83cd5277dfec2b23, rs 0xdfec2b2383cd5277, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xbfd85647079aa4ef, rs 0xdfec2b2383cd5277, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x5647079aa4efbfd8, rs 0xdfec2b2383cd5277, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7079aa4efbfd8564, rs 0xdfec2b2383cd5277, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa4ad16eaffffffff, rs 0xffffffffa4ad16ea, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff495a2dd5, rs 0xffffffffa4ad16ea, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff495a2dd5ffff, rs 0xffffffffa4ad16ea, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf495a2dd5fffffff, rs 0xffffffffa4ad16ea, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xff7d96bd3adba26, rs 0xd3adba260ff7d96b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa75b744c1fefb2d7, rs 0xd3adba260ff7d96b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x744c1fefb2d7a75b, rs 0xd3adba260ff7d96b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc1fefb2d7a75b744, rs 0xd3adba260ff7d96b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa06c0b5dffffffff, rs 0xffffffffa06c0b5d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff40d816bb, rs 0xffffffffa06c0b5d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff40d816bbffff, rs 0xffffffffa06c0b5d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf40d816bbfffffff, rs 0xffffffffa06c0b5d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8418c00e4ab4aa79, rs 0x4ab4aa798418c00e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x956954f30831801c, rs 0x4ab4aa798418c00e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x54f30831801c9569, rs 0x4ab4aa798418c00e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x30831801c956954f, rs 0x4ab4aa798418c00e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd4326d90ffffffff, rs 0xffffffffd4326d90, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffa864db21, rs 0xffffffffd4326d90, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffa864db21ffff, rs 0xffffffffd4326d90, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfa864db21fffffff, rs 0xffffffffd4326d90, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xde0f0b8bb8c035e, rs 0xbb8c035e0de0f0b8, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x771806bc1bc1e171, rs 0xbb8c035e0de0f0b8, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x6bc1bc1e1717718, rs 0xbb8c035e0de0f0b8, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc1bc1e171771806b, rs 0xbb8c035e0de0f0b8, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd0f37027ffffffff, rs 0xffffffffd0f37027, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffa1e6e04f, rs 0xffffffffd0f37027, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffa1e6e04fffff, rs 0xffffffffd0f37027, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfa1e6e04ffffffff, rs 0xffffffffd0f37027, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa97fdcf133b06f54, rs 0x33b06f54a97fdcf1, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6760dea952ffb9e2, rs 0x33b06f54a97fdcf1, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xdea952ffb9e26760, rs 0x33b06f54a97fdcf1, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x952ffb9e26760dea, rs 0x33b06f54a97fdcf1, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xddb056feffffffff, rs 0xffffffffddb056fe, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffbb60adfd, rs 0xffffffffddb056fe, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffbb60adfdffff, rs 0xffffffffddb056fe, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfbb60adfdfffffff, rs 0xffffffffddb056fe, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3fd1c08177433f37, rs 0x77433f373fd1c081, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xee867e6e7fa38102, rs 0x77433f373fd1c081, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x7e6e7fa38102ee86, rs 0x77433f373fd1c081, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe7fa38102ee867e6, rs 0x77433f373fd1c081, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd9714b49ffffffff, rs 0xffffffffd9714b49, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffb2e29693, rs 0xffffffffd9714b49, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffb2e29693ffff, rs 0xffffffffd9714b49, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfb2e29693fffffff, rs 0xffffffffd9714b49, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc92195e4ec91d993, rs 0xec91d993c92195e4, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xd923b32792432bc9, rs 0xec91d993c92195e4, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb32792432bc9d923, rs 0xec91d993c92195e4, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x792432bc9d923b32, rs 0xec91d993c92195e4, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc7361b4cffffffff, rs 0xffffffffc7361b4c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff8e6c3699, rs 0xffffffffc7361b4c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff8e6c3699ffff, rs 0xffffffffc7361b4c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf8e6c3699fffffff, rs 0xffffffffc7361b4c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x95b1a5ab49fbf6a7, rs 0x49fbf6a795b1a5ab, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x93f7ed4f2b634b56, rs 0x49fbf6a795b1a5ab, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xed4f2b634b5693f7, rs 0x49fbf6a795b1a5ab, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf2b634b5693f7ed4, rs 0x49fbf6a795b1a5ab, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc3f706fbffffffff, rs 0xffffffffc3f706fb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff87ee0df7, rs 0xffffffffc3f706fb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff87ee0df7ffff, rs 0xffffffffc3f706fb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf87ee0df7fffffff, rs 0xffffffffc3f706fb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc7ce8d1e19364378, rs 0x19364378c7ce8d1e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x326c86f18f9d1a3c, rs 0x19364378c7ce8d1e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x86f18f9d1a3c326c, rs 0x19364378c7ce8d1e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x18f9d1a3c326c86f, rs 0x19364378c7ce8d1e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xceb42022ffffffff, rs 0xffffffffceb42022, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff9d684045, rs 0xffffffffceb42022, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff9d684045ffff, rs 0xffffffffceb42022, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf9d684045fffffff, rs 0xffffffffceb42022, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2f384907b99e8def, rs 0xb99e8def2f384907, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x733d1bde5e70920f, rs 0xb99e8def2f384907, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x1bde5e70920f733d, rs 0xb99e8def2f384907, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe5e70920f733d1bd, rs 0xb99e8def2f384907, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xca753d95ffffffff, rs 0xffffffffca753d95, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff94ea7b2b, rs 0xffffffffca753d95, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff94ea7b2bffff, rs 0xffffffffca753d95, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf94ea7b2bfffffff, rs 0xffffffffca753d95, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x582b12fe47eacdcd, rs 0x47eacdcd582b12fe, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8fd59b9ab05625fc, rs 0x47eacdcd582b12fe, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9b9ab05625fc8fd5, rs 0x47eacdcd582b12fe, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xab05625fc8fd59b9, rs 0x47eacdcd582b12fe, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf23a8028ffffffff, rs 0xfffffffff23a8028, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffe4750051, rs 0xfffffffff23a8028, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffe4750051ffff, rs 0xfffffffff23a8028, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfe4750051fffffff, rs 0xfffffffff23a8028, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x76558c4fd685884e, rs 0xd685884e76558c4f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xad0b109cecab189f, rs 0xd685884e76558c4f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x109cecab189fad0b, rs 0xd685884e76558c4f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xcecab189fad0b109, rs 0xd685884e76558c4f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf6fb9d9fffffffff, rs 0xfffffffff6fb9d9f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffedf73b3f, rs 0xfffffffff6fb9d9f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffedf73b3fffff, rs 0xfffffffff6fb9d9f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfedf73b3ffffffff, rs 0xfffffffff6fb9d9f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x34c195c76168d62a, rs 0x6168d62a34c195c7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc2d1ac5469832b8e, rs 0x6168d62a34c195c7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xac5469832b8ec2d1, rs 0x6168d62a34c195c7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x469832b8ec2d1ac5, rs 0x6168d62a34c195c7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xfbb8bb46ffffffff, rs 0xfffffffffbb8bb46, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfffffffff771768d, rs 0xfffffffffbb8bb46, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfffff771768dffff, rs 0xfffffffffbb8bb46, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xff771768dfffffff, rs 0xfffffffffbb8bb46, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4df47405d3016989, rs 0xd30169894df47405, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa602d3129be8e80b, rs 0xd30169894df47405, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd3129be8e80ba602, rs 0xd30169894df47405, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x29be8e80ba602d31, rs 0xd30169894df47405, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xff79a6f1ffffffff, rs 0xffffffffff79a6f1, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfffffffffef34de3, rs 0xffffffffff79a6f1, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfffffef34de3ffff, rs 0xffffffffff79a6f1, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xffef34de3fffffff, rs 0xffffffffff79a6f1, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6cbb06db1ca190bf, rs 0x1ca190bf6cbb06db, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3943217ed9760db6, rs 0x1ca190bf6cbb06db, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x217ed9760db63943, rs 0x1ca190bf6cbb06db, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xed9760db63943217, rs 0x1ca190bf6cbb06db, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe13ef6f4ffffffff, rs 0xffffffffe13ef6f4, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffc27dede9, rs 0xffffffffe13ef6f4, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffc27dede9ffff, rs 0xffffffffe13ef6f4, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfc27dede9fffffff, rs 0xffffffffe13ef6f4, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9cae393a58300f02, rs 0x58300f029cae393a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xb0601e05395c7274, rs 0x58300f029cae393a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x1e05395c7274b060, rs 0x58300f029cae393a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x5395c7274b0601e0, rs 0x58300f029cae393a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe5ffeb43ffffffff, rs 0xffffffffe5ffeb43, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffcbffd687, rs 0xffffffffe5ffeb43, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffcbffd687ffff, rs 0xffffffffe5ffeb43, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfcbffd687fffffff, rs 0xffffffffe5ffeb43, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdc7ebc2d9a995fdb, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3532bfb7b8fd785b, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xbfb7b8fd785b3532, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7b8fd785b3532bfb, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe8bccd9affffffff, rs 0xffffffffe8bccd9a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffd1799b35, rs 0xffffffffe8bccd9a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffd1799b35ffff, rs 0xffffffffe8bccd9a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfd1799b35fffffff, rs 0xffffffffe8bccd9a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe3405b488a96047b, rs 0x8a96047be3405b48, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x152c08f7c680b691, rs 0x8a96047be3405b48, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8f7c680b691152c, rs 0x8a96047be3405b48, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7c680b691152c08f, rs 0x8a96047be3405b48, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xec7dd02dffffffff, rs 0xffffffffec7dd02d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffd8fba05b, rs 0xffffffffec7dd02d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffd8fba05bffff, rs 0xffffffffec7dd02d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfd8fba05bfffffff, rs 0xffffffffec7dd02d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd519d32275bfafd2, rs 0x75bfafd2d519d322, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xeb7f5fa5aa33a644, rs 0x75bfafd2d519d322, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x5fa5aa33a644eb7f, rs 0x75bfafd2d519d322, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x5aa33a644eb7f5fa, rs 0x75bfafd2d519d322, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3486707700000000, rs 0x34867077, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x690ce0ee, rs 0x34867077, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x690ce0ee0000, rs 0x34867077, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x690ce0ee0000000, rs 0x34867077, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa630f6adde230867, rs 0xde230867a630f6ad, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xbc4610cf4c61ed5b, rs 0xde230867a630f6ad, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x10cf4c61ed5bbc46, rs 0xde230867a630f6ad, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf4c61ed5bbc4610c, rs 0xde230867a630f6ad, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x30476dc000000000, rs 0x30476dc0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x608edb80, rs 0x30476dc0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x608edb800000, rs 0x30476dc0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x608edb800000000, rs 0x30476dc0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x561032602c0a0cf2, rs 0x2c0a0cf256103260, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x581419e4ac2064c0, rs 0x2c0a0cf256103260, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x19e4ac2064c05814, rs 0x2c0a0cf256103260, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x4ac2064c0581419e, rs 0x2c0a0cf256103260, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3d044b1900000000, rs 0x3d044b19, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7a089632, rs 0x3d044b19, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x7a0896320000, rs 0x3d044b19, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7a0896320000000, rs 0x3d044b19, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x249b18ef94a90544, rs 0x94a90544249b18ef, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x29520a88493631df, rs 0x94a90544249b18ef, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa88493631df2952, rs 0x94a90544249b18ef, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8493631df29520a8, rs 0x94a90544249b18ef, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x39c556ae00000000, rs 0x39c556ae, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x738aad5c, rs 0x39c556ae, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x738aad5c0000, rs 0x39c556ae, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x738aad5c0000000, rs 0x39c556ae, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5b56fcdef9519fb5, rs 0xf9519fb55b56fcde, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf2a33f6ab6adf9bd, rs 0xf9519fb55b56fcde, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3f6ab6adf9bdf2a3, rs 0xf9519fb55b56fcde, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xab6adf9bdf2a33f6, rs 0xf9519fb55b56fcde, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x278206ab00000000, rs 0x278206ab, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x4f040d56, rs 0x278206ab, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4f040d560000, rs 0x278206ab, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x4f040d560000000, rs 0x278206ab, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x468319b81daf820, rs 0x81daf8200468319b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3b5f04008d06337, rs 0x81daf8200468319b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf04008d0633703b5, rs 0x81daf8200468319b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8d0633703b5f04, rs 0x81daf8200468319b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x23431b1c00000000, rs 0x23431b1c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x46863638, rs 0x23431b1c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x468636380000, rs 0x23431b1c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x468636380000000, rs 0x23431b1c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5725f2ec8c61ca5a, rs 0x8c61ca5a5725f2ec, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x18c394b4ae4be5d9, rs 0x8c61ca5a5725f2ec, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x94b4ae4be5d918c3, rs 0x8c61ca5a5725f2ec, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x4ae4be5d918c394b, rs 0x8c61ca5a5725f2ec, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2e003dc500000000, rs 0x2e003dc5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5c007b8a, rs 0x2e003dc5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x5c007b8a0000, rs 0x2e003dc5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x5c007b8a0000000, rs 0x2e003dc5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc25dc8bf8b95a6dd, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x172b4dbb84bb917f, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4dbb84bb917f172b, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb84bb917f172b4db, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2ac1207200000000, rs 0x2ac12072, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x558240e4, rs 0x2ac12072, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x558240e40000, rs 0x2ac12072, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x558240e40000000, rs 0x2ac12072, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdac6162f300ce751, rs 0x300ce751dac6162f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6019cea3b58c2c5e, rs 0x300ce751dac6162f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xcea3b58c2c5e6019, rs 0x300ce751dac6162f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3b58c2c5e6019cea, rs 0x300ce751dac6162f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x128e9dcf00000000, rs 0x128e9dcf, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x251d3b9e, rs 0x128e9dcf, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x251d3b9e0000, rs 0x128e9dcf, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x251d3b9e0000000, rs 0x128e9dcf, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xba52a8506778fdf3, rs 0x6778fdf3ba52a850, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xcef1fbe774a550a0, rs 0x6778fdf3ba52a850, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfbe774a550a0cef1, rs 0x6778fdf3ba52a850, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x774a550a0cef1fbe, rs 0x6778fdf3ba52a850, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x164f807800000000, rs 0x164f8078, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2c9f00f0, rs 0x164f8078, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x2c9f00f00000, rs 0x164f8078, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x2c9f00f00000000, rs 0x164f8078, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xda78479fad00b1f7, rs 0xad00b1f7da78479f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5a0163efb4f08f3f, rs 0xad00b1f7da78479f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x63efb4f08f3f5a01, rs 0xad00b1f7da78479f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfb4f08f3f5a0163e, rs 0xad00b1f7da78479f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1b0ca6a100000000, rs 0x1b0ca6a1, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x36194d42, rs 0x1b0ca6a1, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x36194d420000, rs 0x1b0ca6a1, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x36194d420000000, rs 0x1b0ca6a1, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa6b6d98a08d44168, rs 0x8d44168a6b6d98a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x11a882d14d6db314, rs 0x8d44168a6b6d98a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x82d14d6db31411a8, rs 0x8d44168a6b6d98a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x14d6db31411a882d, rs 0x8d44168a6b6d98a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1fcdbb1600000000, rs 0x1fcdbb16, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3f9b762c, rs 0x1fcdbb16, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3f9b762c0000, rs 0x1fcdbb16, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3f9b762c0000000, rs 0x1fcdbb16, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xce634413f518381d, rs 0xf518381dce634413, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xea30703b9cc68827, rs 0xf518381dce634413, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x703b9cc68827ea30, rs 0xf518381dce634413, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb9cc68827ea30703, rs 0xf518381dce634413, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x18aeb1300000000, rs 0x18aeb13, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x315d626, rs 0x18aeb13, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x315d6260000, rs 0x18aeb13, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x315d6260000000, rs 0x18aeb13, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe5255fc0e4627f3f, rs 0xe4627f3fe5255fc0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc8c4fe7fca4abf81, rs 0xe4627f3fe5255fc0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfe7fca4abf81c8c4, rs 0xe4627f3fe5255fc0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfca4abf81c8c4fe7, rs 0xe4627f3fe5255fc0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x54bf6a400000000, rs 0x54bf6a4, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa97ed48, rs 0x54bf6a4, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa97ed480000, rs 0x54bf6a4, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa97ed480000000, rs 0x54bf6a4, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x76321f28ccd392e1, rs 0xccd392e176321f28, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x99a725c2ec643e51, rs 0xccd392e176321f28, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x25c2ec643e5199a7, rs 0xccd392e176321f28, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x2ec643e5199a725c, rs 0xccd392e176321f28, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x808d07d00000000, rs 0x808d07d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x1011a0fa, rs 0x808d07d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x1011a0fa0000, rs 0x808d07d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x1011a0fa0000000, rs 0x808d07d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4018fd8f82946494, rs 0x829464944018fd8f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x528c9288031fb1f, rs 0x829464944018fd8f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc9288031fb1f0528, rs 0x829464944018fd8f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x88031fb1f0528c92, rs 0x829464944018fd8f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xcc9cdca00000000, rs 0xcc9cdca, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x19939b94, rs 0xcc9cdca, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x19939b940000, rs 0xcc9cdca, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x19939b940000000, rs 0xcc9cdca, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x52e8f0e515d32040, rs 0x15d3204052e8f0e5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2ba64080a5d1e1ca, rs 0x15d3204052e8f0e5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4080a5d1e1ca2ba6, rs 0x15d3204052e8f0e5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa5d1e1ca2ba6408, rs 0x15d3204052e8f0e5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7897ab0700000000, rs 0x7897ab07, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf12f560e, rs 0x7897ab07, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf12f560e0000, rs 0x7897ab07, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf12f560e0000000, rs 0x7897ab07, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x880ff3447caf83d2, rs 0x7caf83d2880ff344, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf95f07a5101fe688, rs 0x7caf83d2880ff344, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x7a5101fe688f95f, rs 0x7caf83d2880ff344, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x5101fe688f95f07a, rs 0x7caf83d2880ff344, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7c56b6b000000000, rs 0x7c56b6b0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf8ad6d60, rs 0x7c56b6b0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf8ad6d600000, rs 0x7c56b6b0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf8ad6d600000000, rs 0x7c56b6b0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x747defd7f156a04c, rs 0xf156a04c747defd7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe2ad4098e8fbdfaf, rs 0xf156a04c747defd7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4098e8fbdfafe2ad, rs 0xf156a04c747defd7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8e8fbdfafe2ad409, rs 0xf156a04c747defd7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7115906900000000, rs 0x71159069, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe22b20d2, rs 0x71159069, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe22b20d20000, rs 0x71159069, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe22b20d20000000, rs 0x71159069, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf31d71093e2601c, rs 0x93e2601c0f31d710, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x27c4c0381e63ae21, rs 0x93e2601c0f31d710, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc0381e63ae2127c4, rs 0x93e2601c0f31d710, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x81e63ae2127c4c03, rs 0x93e2601c0f31d710, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x75d48dde00000000, rs 0x75d48dde, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xeba91bbc, rs 0x75d48dde, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xeba91bbc0000, rs 0x75d48dde, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xeba91bbc0000000, rs 0x75d48dde, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x131cd933e1e1a679, rs 0xe1e1a679131cd933, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc3c34cf22639b267, rs 0xe1e1a679131cd933, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4cf22639b267c3c3, rs 0xe1e1a679131cd933, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x22639b267c3c34cf, rs 0xe1e1a679131cd933, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6b93dddb00000000, rs 0x6b93dddb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xd727bbb6, rs 0x6b93dddb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd727bbb60000, rs 0x6b93dddb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd727bbb60000000, rs 0x6b93dddb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa76fa42724296b75, rs 0x24296b75a76fa427, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x4852d6eb4edf484e, rs 0x24296b75a76fa427, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd6eb4edf484e4852, rs 0x24296b75a76fa427, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb4edf484e4852d6e, rs 0x24296b75a76fa427, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6f52c06c00000000, rs 0x6f52c06c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xdea580d8, rs 0x6f52c06c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xdea580d80000, rs 0x6f52c06c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xdea580d80000000, rs 0x6f52c06c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x139ee56ad296e2d2, rs 0xd296e2d2139ee56a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa52dc5a4273dcad5, rs 0xd296e2d2139ee56a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc5a4273dcad5a52d, rs 0xd296e2d2139ee56a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x4273dcad5a52dc5a, rs 0xd296e2d2139ee56a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6211e6b500000000, rs 0x6211e6b5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc423cd6a, rs 0x6211e6b5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc423cd6a0000, rs 0x6211e6b5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc423cd6a0000000, rs 0x6211e6b5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6dc2a5c05a82447f, rs 0x5a82447f6dc2a5c0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xb50488fedb854b80, rs 0x5a82447f6dc2a5c0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x88fedb854b80b504, rs 0x5a82447f6dc2a5c0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xedb854b80b50488f, rs 0x5a82447f6dc2a5c0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x66d0fb0200000000, rs 0x66d0fb02, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xcda1f604, rs 0x66d0fb02, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xcda1f6040000, rs 0x66d0fb02, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xcda1f6040000000, rs 0x66d0fb02, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc07dc16876c89e80, rs 0x76c89e80c07dc168, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xed913d0180fb82d0, rs 0x76c89e80c07dc168, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3d0180fb82d0ed91, rs 0x76c89e80c07dc168, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x180fb82d0ed913d0, rs 0x76c89e80c07dc168, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5e9f46bf00000000, rs 0x5e9f46bf, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xbd3e8d7e, rs 0x5e9f46bf, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xbd3e8d7e0000, rs 0x5e9f46bf, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xbd3e8d7e0000000, rs 0x5e9f46bf, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4bfe348f070dc345, rs 0x70dc3454bfe348f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe1b868a97fc691e, rs 0x70dc3454bfe348f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x868a97fc691e0e1b, rs 0x70dc3454bfe348f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa97fc691e0e1b868, rs 0x70dc3454bfe348f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5a5e5b0800000000, rs 0x5a5e5b08, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xb4bcb610, rs 0x5a5e5b08, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb4bcb6100000, rs 0x5a5e5b08, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb4bcb6100000000, rs 0x5a5e5b08, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdd6d241bbddc7123, rs 0xbddc7123dd6d241b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7bb8e247bada4837, rs 0xbddc7123dd6d241b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe247bada48377bb8, rs 0xbddc7123dd6d241b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7bada48377bb8e24, rs 0xbddc7123dd6d241b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x571d7dd100000000, rs 0x571d7dd1, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xae3afba2, rs 0x571d7dd1, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xae3afba20000, rs 0x571d7dd1, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xae3afba20000000, rs 0x571d7dd1, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa59fcebef62fb727, rs 0xf62fb727a59fcebe, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xec5f6e4f4b3f9d7d, rs 0xf62fb727a59fcebe, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x6e4f4b3f9d7dec5f, rs 0xf62fb727a59fcebe, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf4b3f9d7dec5f6e4, rs 0xf62fb727a59fcebe, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x53dc606600000000, rs 0x53dc6066, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa7b8c0cc, rs 0x53dc6066, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa7b8c0cc0000, rs 0x53dc6066, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa7b8c0cc0000000, rs 0x53dc6066, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf9f46fb109f27e9, rs 0x109f27e90f9f46fb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x213e4fd21f3e8df6, rs 0x109f27e90f9f46fb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4fd21f3e8df6213e, rs 0x109f27e90f9f46fb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x21f3e8df6213e4fd, rs 0x109f27e90f9f46fb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4d9b306300000000, rs 0x4d9b3063, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x9b3660c6, rs 0x4d9b3063, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9b3660c60000, rs 0x4d9b3063, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x9b3660c60000000, rs 0x4d9b3063, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xafd199d73f63daa9, rs 0x3f63daa9afd199d7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7ec7b5535fa333ae, rs 0x3f63daa9afd199d7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb5535fa333ae7ec7, rs 0x3f63daa9afd199d7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x35fa333ae7ec7b55, rs 0x3f63daa9afd199d7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x495a2dd400000000, rs 0x495a2dd4, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x92b45ba8, rs 0x495a2dd4, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x92b45ba80000, rs 0x495a2dd4, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x92b45ba80000000, rs 0x495a2dd4, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa3d484f2dbcb312e, rs 0xdbcb312ea3d484f2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xb796625d47a909e5, rs 0xdbcb312ea3d484f2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x625d47a909e5b796, rs 0xdbcb312ea3d484f2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd47a909e5b796625, rs 0xdbcb312ea3d484f2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x44190b0d00000000, rs 0x44190b0d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8832161a, rs 0x44190b0d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8832161a0000, rs 0x44190b0d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8832161a0000000, rs 0x44190b0d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xda4fe4c61f353faa, rs 0x1f353faada4fe4c6, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3e6a7f55b49fc98c, rs 0x1f353faada4fe4c6, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x7f55b49fc98c3e6a, rs 0x1f353faada4fe4c6, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x5b49fc98c3e6a7f5, rs 0x1f353faada4fe4c6, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x40d816ba00000000, rs 0x40d816ba, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x81b02d74, rs 0x40d816ba, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x81b02d740000, rs 0x40d816ba, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x81b02d740000000, rs 0x40d816ba, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7150c2608b086ee0, rs 0x8b086ee07150c260, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x1610ddc0e2a184c1, rs 0x8b086ee07150c260, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xddc0e2a184c11610, rs 0x8b086ee07150c260, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe2a184c11610ddc, rs 0x8b086ee07150c260, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xaca5c697ffffffff, rs 0xffffffffaca5c697, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff594b8d2f, rs 0xffffffffaca5c697, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff594b8d2fffff, rs 0xffffffffaca5c697, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf594b8d2ffffffff, rs 0xffffffffaca5c697, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd9257f25e54750d5, rs 0xe54750d5d9257f25, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xca8ea1abb24afe4b, rs 0xe54750d5d9257f25, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa1abb24afe4bca8e, rs 0xe54750d5d9257f25, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xbb24afe4bca8ea1a, rs 0xe54750d5d9257f25, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa864db20ffffffff, rs 0xffffffffa864db20, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff50c9b641, rs 0xffffffffa864db20, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff50c9b641ffff, rs 0xffffffffa864db20, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf50c9b641fffffff, rs 0xffffffffa864db20, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe9a6db5b3d69625f, rs 0x3d69625fe9a6db5b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7ad2c4bfd34db6b6, rs 0x3d69625fe9a6db5b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc4bfd34db6b67ad2, rs 0x3d69625fe9a6db5b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfd34db6b67ad2c4b, rs 0x3d69625fe9a6db5b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa527fdf9ffffffff, rs 0xffffffffa527fdf9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff4a4ffbf3, rs 0xffffffffa527fdf9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff4a4ffbf3ffff, rs 0xffffffffa527fdf9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf4a4ffbf3fffffff, rs 0xffffffffa527fdf9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4340ac9670a3e042, rs 0x70a3e0424340ac96, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe147c0848681592c, rs 0x70a3e0424340ac96, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc0848681592ce147, rs 0x70a3e0424340ac96, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x48681592ce147c08, rs 0x70a3e0424340ac96, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa1e6e04effffffff, rs 0xffffffffa1e6e04e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff43cdc09d, rs 0xffffffffa1e6e04e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff43cdc09dffff, rs 0xffffffffa1e6e04e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf43cdc09dfffffff, rs 0xffffffffa1e6e04e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6980171ec0478f03, rs 0xc0478f036980171e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x808f1e06d3002e3d, rs 0xc0478f036980171e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x1e06d3002e3d808f, rs 0xc0478f036980171e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6d3002e3d808f1e0, rs 0xc0478f036980171e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xbfa1b04bffffffff, rs 0xffffffffbfa1b04b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff7f436097, rs 0xffffffffbfa1b04b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff7f436097ffff, rs 0xffffffffbfa1b04b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf7f436097fffffff, rs 0xffffffffbfa1b04b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1cf929e33ce839a5, rs 0x3ce839a51cf929e3, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x79d0734a39f253c6, rs 0x3ce839a51cf929e3, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x734a39f253c679d0, rs 0x3ce839a51cf929e3, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa39f253c679d0734, rs 0x3ce839a51cf929e3, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xbb60adfcffffffff, rs 0xffffffffbb60adfc, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff76c15bf9, rs 0xffffffffbb60adfc, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff76c15bf9ffff, rs 0xffffffffbb60adfc, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf76c15bf9fffffff, rs 0xffffffffbb60adfc, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5eb68958e2fbfa89, rs 0xe2fbfa895eb68958, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc5f7f512bd6d12b1, rs 0xe2fbfa895eb68958, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf512bd6d12b1c5f7, rs 0xe2fbfa895eb68958, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x2bd6d12b1c5f7f51, rs 0xe2fbfa895eb68958, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb6238b25ffffffff, rs 0xffffffffb6238b25, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff6c47164b, rs 0xffffffffb6238b25, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff6c47164bffff, rs 0xffffffffb6238b25, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf6c47164bfffffff, rs 0xffffffffb6238b25, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x76ed25b7d24bb05d, rs 0xd24bb05d76ed25b7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa49760baedda4b6f, rs 0xd24bb05d76ed25b7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x60baedda4b6fa497, rs 0xd24bb05d76ed25b7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xaedda4b6fa49760b, rs 0xd24bb05d76ed25b7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb2e29692ffffffff, rs 0xffffffffb2e29692, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff65c52d25, rs 0xffffffffb2e29692, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff65c52d25ffff, rs 0xffffffffb2e29692, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf65c52d25fffffff, rs 0xffffffffb2e29692, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x170312f10eb9682c, rs 0xeb9682c170312f1, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x1d72d0582e0625e2, rs 0xeb9682c170312f1, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd0582e0625e21d72, rs 0xeb9682c170312f1, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x82e0625e21d72d05, rs 0xeb9682c170312f1, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8aad2b2fffffffff, rs 0xffffffff8aad2b2f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff155a565f, rs 0xffffffff8aad2b2f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff155a565fffff, rs 0xffffffff8aad2b2f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf155a565ffffffff, rs 0xffffffff8aad2b2f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdd301d0d84785280, rs 0x84785280dd301d0d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8f0a501ba603a1b, rs 0x84785280dd301d0d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa501ba603a1b08f0, rs 0x84785280dd301d0d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x1ba603a1b08f0a50, rs 0x84785280dd301d0d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1f8fd6ef179c77aa, rs 0x179c77aa1f8fd6ef, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2f38ef543f1fadde, rs 0x179c77aa1f8fd6ef, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xef543f1fadde2f38, rs 0x179c77aa1f8fd6ef, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x43f1fadde2f38ef5, rs 0x179c77aa1f8fd6ef, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2998436d26444ced, rs 0x26444ced2998436d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x4c8899da533086da, rs 0x26444ced2998436d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x99da533086da4c88, rs 0x26444ced2998436d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa533086da4c8899d, rs 0x26444ced2998436d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x87ee0df6ffffffff, rs 0xffffffff87ee0df6, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff0fdc1bed, rs 0xffffffff87ee0df6, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff0fdc1bedffff, rs 0xffffffff87ee0df6, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf0fdc1bedfffffff, rs 0xffffffff87ee0df6, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd58ca70807175c9d, rs 0x7175c9dd58ca708, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe2eb93bab194e10, rs 0x7175c9dd58ca708, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb93bab194e100e2e, rs 0x7175c9dd58ca708, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xbab194e100e2eb93, rs 0x7175c9dd58ca708, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x99a95df3ffffffff, rs 0xffffffff99a95df3, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff3352bbe7, rs 0xffffffff99a95df3, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff3352bbe7ffff, rs 0xffffffff99a95df3, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf3352bbe7fffffff, rs 0xffffffff99a95df3, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x55833287663d0610, rs 0x663d061055833287, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xcc7a0c20ab06650e, rs 0x663d061055833287, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc20ab06650ecc7a, rs 0x663d061055833287, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xab06650ecc7a0c2, rs 0x663d061055833287, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9d684044ffffffff, rs 0xffffffff9d684044, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff3ad08089, rs 0xffffffff9d684044, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff3ad08089ffff, rs 0xffffffff9d684044, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf3ad08089fffffff, rs 0xffffffff9d684044, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8951d68bab7dd048, rs 0xab7dd0488951d68b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x56fba09112a3ad17, rs 0xab7dd0488951d68b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa09112a3ad1756fb, rs 0xab7dd0488951d68b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x112a3ad1756fba09, rs 0xab7dd0488951d68b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x902b669dffffffff, rs 0xffffffff902b669d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff2056cd3b, rs 0xffffffff902b669d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff2056cd3bffff, rs 0xffffffff902b669d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf2056cd3bfffffff, rs 0xffffffff902b669d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe82471bf6982367, rs 0xf69823670e82471b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xed3046ce1d048e37, rs 0xf69823670e82471b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x46ce1d048e37ed30, rs 0xf69823670e82471b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe1d048e37ed3046c, rs 0xf69823670e82471b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x94ea7b2affffffff, rs 0xffffffff94ea7b2a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff29d4f655, rs 0xffffffff94ea7b2a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff29d4f655ffff, rs 0xffffffff94ea7b2a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf29d4f655fffffff, rs 0xffffffff94ea7b2a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd98d26b236886c59, rs 0x36886c59d98d26b2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6d10d8b3b31a4d64, rs 0x36886c59d98d26b2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd8b3b31a4d646d10, rs 0x36886c59d98d26b2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3b31a4d646d10d8b, rs 0x36886c59d98d26b2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe0b41de7ffffffff, rs 0xffffffffe0b41de7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffc1683bcf, rs 0xffffffffe0b41de7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffc1683bcfffff, rs 0xffffffffe0b41de7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfc1683bcffffffff, rs 0xffffffffe0b41de7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd32be47909ca4bdb, rs 0x9ca4bdbd32be479, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x139497b7a657c8f2, rs 0x9ca4bdbd32be479, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x97b7a657c8f21394, rs 0x9ca4bdbd32be479, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7a657c8f2139497b, rs 0x9ca4bdbd32be479, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe4750050ffffffff, rs 0xffffffffe4750050, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffc8ea00a1, rs 0xffffffffe4750050, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffc8ea00a1ffff, rs 0xffffffffe4750050, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfc8ea00a1fffffff, rs 0xffffffffe4750050, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9962e61ffd5d7d1d, rs 0xfd5d7d1d9962e61f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfabafa3b32c5cc3f, rs 0xfd5d7d1d9962e61f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfa3b32c5cc3ffaba, rs 0xfd5d7d1d9962e61f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb32c5cc3ffabafa3, rs 0xfd5d7d1d9962e61f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe9362689ffffffff, rs 0xffffffffe9362689, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffd26c4d13, rs 0xffffffffe9362689, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffd26c4d13ffff, rs 0xffffffffe9362689, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfd26c4d13fffffff, rs 0xffffffffe9362689, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xcad374df3f46553e, rs 0x3f46553ecad374df, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7e8caa7d95a6e9be, rs 0x3f46553ecad374df, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xaa7d95a6e9be7e8c, rs 0x3f46553ecad374df, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd95a6e9be7e8caa7, rs 0x3f46553ecad374df, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xedf73b3effffffff, rs 0xffffffffedf73b3e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffdbee767d, rs 0xffffffffedf73b3e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffdbee767dffff, rs 0xffffffffedf73b3e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfdbee767dfffffff, rs 0xffffffffedf73b3e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3eedf2a72e9ab97d, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5d3572fa7ddbe54e, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x72fa7ddbe54e5d35, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa7ddbe54e5d3572f, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf3b06b3bffffffff, rs 0xfffffffff3b06b3b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffe760d677, rs 0xfffffffff3b06b3b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffe760d677ffff, rs 0xfffffffff3b06b3b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfe760d677fffffff, rs 0xfffffffff3b06b3b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3c0c9f3336a6f7fa, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6d4deff478193e66, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xeff478193e666d4d, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x478193e666d4deff, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf771768cffffffff, rs 0xfffffffff771768c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffeee2ed19, rs 0xfffffffff771768c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffeee2ed19ffff, rs 0xfffffffff771768c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfeee2ed19fffffff, rs 0xfffffffff771768c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x155ec9dc8bb938e3, rs 0x8bb938e3155ec9dc, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x177271c62abd93b9, rs 0x8bb938e3155ec9dc, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x71c62abd93b91772, rs 0x8bb938e3155ec9dc, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x62abd93b9177271c, rs 0x8bb938e3155ec9dc, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xfa325055ffffffff, rs 0xfffffffffa325055, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfffffffff464a0ab, rs 0xfffffffffa325055, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfffff464a0abffff, rs 0xfffffffffa325055, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xff464a0abfffffff, rs 0xfffffffffa325055, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x19478206d2df25c4, rs 0xd2df25c419478206, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa5be4b88328f040d, rs 0xd2df25c419478206, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4b88328f040da5be, rs 0xd2df25c419478206, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8328f040da5be4b8, rs 0xd2df25c419478206, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xfef34de2ffffffff, rs 0xfffffffffef34de2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfffffffffde69bc5, rs 0xfffffffffef34de2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfffffde69bc5ffff, rs 0xfffffffffef34de2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xffde69bc5fffffff, rs 0xfffffffffef34de2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xeb321825bc65bf27, rs 0xbc65bf27eb321825, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x78cb7e4fd664304b, rs 0xbc65bf27eb321825, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x7e4fd664304b78cb, rs 0xbc65bf27eb321825, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfd664304b78cb7e4, rs 0xbc65bf27eb321825, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc6bcf05fffffffff, rs 0xffffffffc6bcf05f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff8d79e0bf, rs 0xffffffffc6bcf05f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff8d79e0bfffff, rs 0xffffffffc6bcf05f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf8d79e0bffffffff, rs 0xffffffffc6bcf05f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7a8bc7daa8b08fe6, rs 0xa8b08fe67a8bc7da, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x51611fccf5178fb5, rs 0xa8b08fe67a8bc7da, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x1fccf5178fb55161, rs 0xa8b08fe67a8bc7da, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xcf5178fb551611fc, rs 0xa8b08fe67a8bc7da, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc27dede8ffffffff, rs 0xffffffffc27dede8, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff84fbdbd1, rs 0xffffffffc27dede8, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff84fbdbd1ffff, rs 0xffffffffc27dede8, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf84fbdbd1fffffff, rs 0xffffffffc27dede8, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf8dfcde8852b5bca, rs 0x852b5bcaf8dfcde8, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa56b795f1bf9bd1, rs 0x852b5bcaf8dfcde8, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb795f1bf9bd10a56, rs 0x852b5bcaf8dfcde8, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x5f1bf9bd10a56b79, rs 0x852b5bcaf8dfcde8, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xcf3ecb31ffffffff, rs 0xffffffffcf3ecb31, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff9e7d9663, rs 0xffffffffcf3ecb31, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff9e7d9663ffff, rs 0xffffffffcf3ecb31, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf9e7d9663fffffff, rs 0xffffffffcf3ecb31, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x59a992690478909b, rs 0x478909b59a99269, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8f12136b35324d2, rs 0x478909b59a99269, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x2136b35324d208f1, rs 0x478909b59a99269, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6b35324d208f1213, rs 0x478909b59a99269, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xcbffd686ffffffff, rs 0xffffffffcbffd686, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff97ffad0d, rs 0xffffffffcbffd686, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff97ffad0dffff, rs 0xffffffffcbffd686, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf97ffad0dfffffff, rs 0xffffffffcbffd686, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7857360fbfb31cc8, rs 0xbfb31cc87857360f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7f663990f0ae6c1f, rs 0xbfb31cc87857360f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3990f0ae6c1f7f66, rs 0xbfb31cc87857360f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf0ae6c1f7f66399, rs 0xbfb31cc87857360f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd5b88683ffffffff, rs 0xffffffffd5b88683, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffab710d07, rs 0xffffffffd5b88683, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffab710d07ffff, rs 0xffffffffd5b88683, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfab710d07fffffff, rs 0xffffffffd5b88683, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7f89e9a2b665ed5e, rs 0xb665ed5e7f89e9a2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6ccbdabcff13d345, rs 0xb665ed5e7f89e9a2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xdabcff13d3456ccb, rs 0xb665ed5e7f89e9a2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xcff13d3456ccbdab, rs 0xb665ed5e7f89e9a2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd1799b34ffffffff, rs 0xffffffffd1799b34, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffa2f33669, rs 0xffffffffd1799b34, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffa2f33669ffff, rs 0xffffffffd1799b34, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfa2f33669fffffff, rs 0xffffffffd1799b34, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb7a8d5e415da9474, rs 0x15da9474b7a8d5e4, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2bb528e96f51abc8, rs 0x15da9474b7a8d5e4, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x28e96f51abc82bb5, rs 0x15da9474b7a8d5e4, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x96f51abc82bb528e, rs 0x15da9474b7a8d5e4, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdc3abdedffffffff, rs 0xffffffffdc3abded, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffb8757bdb, rs 0xffffffffdc3abded, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffb8757bdbffff, rs 0xffffffffdc3abded, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfb8757bdbfffffff, rs 0xffffffffdc3abded, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2af90fccf6b3537d, rs 0xf6b3537d2af90fcc, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xed66a6fa55f21f99, rs 0xf6b3537d2af90fcc, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa6fa55f21f99ed66, rs 0xf6b3537d2af90fcc, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa55f21f99ed66a6f, rs 0xf6b3537d2af90fcc, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd8fba05affffffff, rs 0xffffffffd8fba05a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffb1f740b5, rs 0xffffffffd8fba05a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffb1f740b5ffff, rs 0xffffffffd8fba05a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfb1f740b5fffffff, rs 0xffffffffd8fba05a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2b961897223d7cfe, rs 0x223d7cfe2b961897, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x447af9fc572c312e, rs 0x223d7cfe2b961897, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf9fc572c312e447a, rs 0x223d7cfe2b961897, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc572c312e447af9f, rs 0x223d7cfe2b961897, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x690ce0ee00000000, rs 0x690ce0ee, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xd219c1dc, rs 0x690ce0ee, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd219c1dc0000, rs 0x690ce0ee, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd219c1dc0000000, rs 0x690ce0ee, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x33734a4b420b34f5, rs 0x420b34f533734a4b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x841669ea66e69496, rs 0x420b34f533734a4b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x69ea66e694968416, rs 0x420b34f533734a4b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa66e69496841669e, rs 0x420b34f533734a4b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6dcdfd5900000000, rs 0x6dcdfd59, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xdb9bfab2, rs 0x6dcdfd59, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xdb9bfab20000, rs 0x6dcdfd59, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xdb9bfab20000000, rs 0x6dcdfd59, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdd46b33c897c8c8d, rs 0x897c8c8ddd46b33c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x12f9191bba8d6679, rs 0x897c8c8ddd46b33c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x191bba8d667912f9, rs 0x897c8c8ddd46b33c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xbba8d667912f9191, rs 0x897c8c8ddd46b33c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x608edb8000000000, rs 0x608edb80, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc11db700, rs 0x608edb80, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc11db7000000, rs 0x608edb80, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc11db7000000000, rs 0x608edb80, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe392ccd97a387445, rs 0x7a387445e392ccd9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf470e88bc72599b2, rs 0x7a387445e392ccd9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe88bc72599b2f470, rs 0x7a387445e392ccd9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xbc72599b2f470e88, rs 0x7a387445e392ccd9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x644fc63700000000, rs 0x644fc637, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc89f8c6e, rs 0x644fc637, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc89f8c6e0000, rs 0x644fc637, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc89f8c6e0000000, rs 0x644fc637, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd80000c9512f29b1, rs 0x512f29b1d80000c9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa25e5363b0000192, rs 0x512f29b1d80000c9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x5363b0000192a25e, rs 0x512f29b1d80000c9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3b0000192a25e536, rs 0x512f29b1d80000c9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7a08963200000000, rs 0x7a089632, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf4112c64, rs 0x7a089632, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf4112c640000, rs 0x7a089632, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf4112c640000000, rs 0x7a089632, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3dad020aeaded5c5, rs 0xeaded5c53dad020a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xd5bdab8a7b5a0415, rs 0xeaded5c53dad020a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xab8a7b5a0415d5bd, rs 0xeaded5c53dad020a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa7b5a0415d5bdab8, rs 0xeaded5c53dad020a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7ec98b8500000000, rs 0x7ec98b85, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfd93170a, rs 0x7ec98b85, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfd93170a0000, rs 0x7ec98b85, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfd93170a0000000, rs 0x7ec98b85, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x31eea35b8a6229d7, rs 0x8a6229d731eea35b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x14c453ae63dd46b7, rs 0x8a6229d731eea35b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x53ae63dd46b714c4, rs 0x8a6229d731eea35b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe63dd46b714c453a, rs 0x8a6229d731eea35b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x738aad5c00000000, rs 0x738aad5c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe7155ab8, rs 0x738aad5c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe7155ab80000, rs 0x738aad5c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe7155ab80000000, rs 0x738aad5c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x489856492c3c3f9e, rs 0x2c3c3f9e48985649, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x58787f3c9130ac92, rs 0x2c3c3f9e48985649, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x7f3c9130ac925878, rs 0x2c3c3f9e48985649, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc9130ac9258787f3, rs 0x2c3c3f9e48985649, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x774bb0eb00000000, rs 0x774bb0eb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xee9761d6, rs 0x774bb0eb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xee9761d60000, rs 0x774bb0eb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xee9761d60000000, rs 0x774bb0eb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdc9c0b777ff61e78, rs 0x7ff61e78dc9c0b77, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffec3cf1b93816ee, rs 0x7ff61e78dc9c0b77, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3cf1b93816eeffec, rs 0x7ff61e78dc9c0b77, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x1b93816eeffec3cf, rs 0x7ff61e78dc9c0b77, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4f040d5600000000, rs 0x4f040d56, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x9e081aac, rs 0x4f040d56, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9e081aac0000, rs 0x4f040d56, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x9e081aac0000000, rs 0x4f040d56, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1d5e68ec2299b0e0, rs 0x2299b0e01d5e68ec, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x453361c03abcd1d8, rs 0x2299b0e01d5e68ec, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x61c03abcd1d84533, rs 0x2299b0e01d5e68ec, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3abcd1d8453361c, rs 0x2299b0e01d5e68ec, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4bc510e100000000, rs 0x4bc510e1, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x978a21c2, rs 0x4bc510e1, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x978a21c20000, rs 0x4bc510e1, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x978a21c20000000, rs 0x4bc510e1, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3d0c6e257c3b0467, rs 0x7c3b04673d0c6e25, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf87608ce7a18dc4a, rs 0x7c3b04673d0c6e25, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8ce7a18dc4af876, rs 0x7c3b04673d0c6e25, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe7a18dc4af87608c, rs 0x7c3b04673d0c6e25, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4686363800000000, rs 0x46863638, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8d0c6c70, rs 0x46863638, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8d0c6c700000, rs 0x46863638, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8d0c6c700000000, rs 0x46863638, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe7fb6587164e17c1, rs 0x164e17c1e7fb6587, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2c9c2f83cff6cb0e, rs 0x164e17c1e7fb6587, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x2f83cff6cb0e2c9c, rs 0x164e17c1e7fb6587, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3cff6cb0e2c9c2f8, rs 0x164e17c1e7fb6587, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x42472b8f00000000, rs 0x42472b8f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x848e571e, rs 0x42472b8f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x848e571e0000, rs 0x42472b8f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x848e571e0000000, rs 0x42472b8f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x56d4950bfa4ca28b, rs 0xfa4ca28b56d4950b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf4994516ada92a17, rs 0xfa4ca28b56d4950b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4516ada92a17f499, rs 0xfa4ca28b56d4950b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6ada92a17f499451, rs 0xfa4ca28b56d4950b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5c007b8a00000000, rs 0x5c007b8a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xb800f714, rs 0x5c007b8a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb800f7140000, rs 0x5c007b8a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb800f7140000000, rs 0x5c007b8a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xbe7fa08ae5e9a314, rs 0xe5e9a314be7fa08a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xcbd346297cff4115, rs 0xe5e9a314be7fa08a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x46297cff4115cbd3, rs 0xe5e9a314be7fa08a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x97cff4115cbd3462, rs 0xe5e9a314be7fa08a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x58c1663d00000000, rs 0x58c1663d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xb182cc7a, rs 0x58c1663d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb182cc7a0000, rs 0x58c1663d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb182cc7a0000000, rs 0x58c1663d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x159649c5f8be8164, rs 0xf8be8164159649c5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf17d02c82b2c938b, rs 0xf8be8164159649c5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x2c82b2c938bf17d, rs 0xf8be8164159649c5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x82b2c938bf17d02c, rs 0xf8be8164159649c5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x558240e400000000, rs 0x558240e4, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xab0481c8, rs 0x558240e4, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xab0481c80000, rs 0x558240e4, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xab0481c80000000, rs 0x558240e4, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x84e69b177ca32597, rs 0x7ca3259784e69b17, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf9464b2f09cd362e, rs 0x7ca3259784e69b17, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4b2f09cd362ef946, rs 0x7ca3259784e69b17, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf09cd362ef9464b2, rs 0x7ca3259784e69b17, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x51435d5300000000, rs 0x51435d53, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa286baa6, rs 0x51435d53, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa286baa60000, rs 0x51435d53, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa286baa60000000, rs 0x51435d53, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa1f24f5cfc8d543c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf91aa87943e49eb9, rs 0xfc8d543ca1f24f5c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa87943e49eb9f91a, rs 0xfc8d543ca1f24f5c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x943e49eb9f91aa87, rs 0xfc8d543ca1f24f5c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x251d3b9e00000000, rs 0x251d3b9e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x4a3a773c, rs 0x251d3b9e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4a3a773c0000, rs 0x251d3b9e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x4a3a773c0000000, rs 0x251d3b9e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe3459e364aeb6ca0, rs 0x4aeb6ca0e3459e36, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x95d6d941c68b3c6c, rs 0x4aeb6ca0e3459e36, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd941c68b3c6c95d6, rs 0x4aeb6ca0e3459e36, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x1c68b3c6c95d6d94, rs 0x4aeb6ca0e3459e36, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x21dc262900000000, rs 0x21dc2629, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x43b84c52, rs 0x21dc2629, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x43b84c520000, rs 0x21dc2629, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x43b84c520000000, rs 0x21dc2629, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x187980fac532e18e, rs 0xc532e18e187980fa, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8a65c31c30f301f5, rs 0xc532e18e187980fa, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc31c30f301f58a65, rs 0xc532e18e187980fa, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc30f301f58a65c31, rs 0xc532e18e187980fa, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2c9f00f000000000, rs 0x2c9f00f0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x593e01e0, rs 0x2c9f00f0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x593e01e00000, rs 0x2c9f00f0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x593e01e00000000, rs 0x2c9f00f0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4f287d1cb3fdec29, rs 0xb3fdec294f287d1c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x67fbd8529e50fa39, rs 0xb3fdec294f287d1c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd8529e50fa3967fb, rs 0xb3fdec294f287d1c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x29e50fa3967fbd85, rs 0xb3fdec294f287d1c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x285e1d4700000000, rs 0x285e1d47, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x50bc3a8e, rs 0x285e1d47, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x50bc3a8e0000, rs 0x285e1d47, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x50bc3a8e0000000, rs 0x285e1d47, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x49732b90b620660a, rs 0xb620660a49732b90, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6c40cc1492e65721, rs 0xb620660a49732b90, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xcc1492e657216c40, rs 0xb620660a49732b90, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x492e657216c40cc1, rs 0xb620660a49732b90, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x36194d4200000000, rs 0x36194d42, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6c329a84, rs 0x36194d42, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x6c329a840000, rs 0x36194d42, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6c329a840000000, rs 0x36194d42, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6cfde991993138f1, rs 0x993138f16cfde991, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x326271e2d9fbd323, rs 0x993138f16cfde991, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x71e2d9fbd3233262, rs 0x993138f16cfde991, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x2d9fbd323326271e, rs 0x993138f16cfde991, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x32d850f500000000, rs 0x32d850f5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x65b0a1ea, rs 0x32d850f5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x65b0a1ea0000, rs 0x32d850f5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x65b0a1ea0000000, rs 0x32d850f5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7d5407b9de02d133, rs 0xde02d1337d5407b9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xbc05a266faa80f73, rs 0xde02d1337d5407b9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa266faa80f73bc05, rs 0xde02d1337d5407b9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6faa80f73bc05a26, rs 0xde02d1337d5407b9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3f9b762c00000000, rs 0x3f9b762c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7f36ec58, rs 0x3f9b762c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x7f36ec580000, rs 0x3f9b762c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7f36ec580000000, rs 0x3f9b762c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe1dab15a13a390e1, rs 0x13a390e1e1dab15a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x274721c3c3b562b4, rs 0x13a390e1e1dab15a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x21c3c3b562b42747, rs 0x13a390e1e1dab15a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3c3b562b4274721c, rs 0x13a390e1e1dab15a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3b5a6b9b00000000, rs 0x3b5a6b9b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x76b4d736, rs 0x3b5a6b9b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x76b4d7360000, rs 0x3b5a6b9b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x76b4d7360000000, rs 0x3b5a6b9b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x828716c8743491a6, rs 0x743491a6828716c8, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe869234d050e2d90, rs 0x743491a6828716c8, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x234d050e2d90e869, rs 0x743491a6828716c8, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd050e2d90e869234, rs 0x743491a6828716c8, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x315d62600000000, rs 0x315d626, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x62bac4c, rs 0x315d626, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x62bac4c0000, rs 0x315d626, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x62bac4c0000000, rs 0x315d626, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xede292f28cff404a, rs 0x8cff404aede292f2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x19fe8095dbc525e5, rs 0x8cff404aede292f2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8095dbc525e519fe, rs 0x8cff404aede292f2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x5dbc525e519fe809, rs 0x8cff404aede292f2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7d4cb9100000000, rs 0x7d4cb91, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfa99722, rs 0x7d4cb91, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfa997220000, rs 0x7d4cb91, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfa997220000000, rs 0x7d4cb91, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1f837636b9cec0db, rs 0xb9cec0db1f837636, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x739d81b63f06ec6d, rs 0xb9cec0db1f837636, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x81b63f06ec6d739d, rs 0xb9cec0db1f837636, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x63f06ec6d739d81b, rs 0xb9cec0db1f837636, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa97ed4800000000, rs 0xa97ed48, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x152fda90, rs 0xa97ed48, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x152fda900000, rs 0xa97ed48, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x152fda900000000, rs 0xa97ed48, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x509771c2eaa5aa7, rs 0x2eaa5aa70509771c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5d54b54e0a12ee38, rs 0x2eaa5aa70509771c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb54e0a12ee385d54, rs 0x2eaa5aa70509771c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe0a12ee385d54b54, rs 0x2eaa5aa70509771c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe56f0ff00000000, rs 0xe56f0ff, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x1cade1fe, rs 0xe56f0ff, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x1cade1fe0000, rs 0xe56f0ff, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x1cade1fe0000000, rs 0xe56f0ff, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1875241bd327538e, rs 0xd327538e1875241b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa64ea71c30ea4837, rs 0xd327538e1875241b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa71c30ea4837a64e, rs 0xd327538e1875241b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc30ea4837a64ea71, rs 0xd327538e1875241b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1011a0fa00000000, rs 0x1011a0fa, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x202341f4, rs 0x1011a0fa, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x202341f40000, rs 0x1011a0fa, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x202341f40000000, rs 0x1011a0fa, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8b739b6b42e9f854, rs 0x42e9f8548b739b6b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x85d3f0a916e736d6, rs 0x42e9f8548b739b6b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf0a916e736d685d3, rs 0x42e9f8548b739b6b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x916e736d685d3f0a, rs 0x42e9f8548b739b6b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x14d0bd4d00000000, rs 0x14d0bd4d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x29a17a9a, rs 0x14d0bd4d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x29a17a9a0000, rs 0x14d0bd4d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x29a17a9a0000000, rs 0x14d0bd4d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xeccbba1a78e4e50c, rs 0x78e4e50ceccbba1a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf1c9ca19d9977434, rs 0x78e4e50ceccbba1a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xca19d9977434f1c9, rs 0x78e4e50ceccbba1a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x9d9977434f1c9ca1, rs 0x78e4e50ceccbba1a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x19939b9400000000, rs 0x19939b94, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x33273728, rs 0x19939b94, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x332737280000, rs 0x19939b94, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x332737280000000, rs 0x19939b94, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xcd9d27cbf6b6fa3f, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xed6df47f9b3a4f97, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf47f9b3a4f97ed6d, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf9b3a4f97ed6df47, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1d52862300000000, rs 0x1d528623, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3aa50c46, rs 0x1d528623, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3aa50c460000, rs 0x1d528623, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3aa50c460000000, rs 0x1d528623, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xae3e942373916483, rs 0x73916483ae3e9423, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe722c9075c7d2846, rs 0x73916483ae3e9423, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc9075c7d2846e722, rs 0x73916483ae3e9423, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x75c7d2846e722c90, rs 0x73916483ae3e9423, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf12f560effffffff, rs 0xfffffffff12f560e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffe25eac1d, rs 0xfffffffff12f560e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffe25eac1dffff, rs 0xfffffffff12f560e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfe25eac1dfffffff, rs 0xfffffffff12f560e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe128561276af70a, rs 0x276af70a0e128561, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x4ed5ee141c250ac2, rs 0x276af70a0e128561, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xee141c250ac24ed5, rs 0x276af70a0e128561, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x41c250ac24ed5ee1, rs 0x276af70a0e128561, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf5ee4bb9ffffffff, rs 0xfffffffff5ee4bb9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffebdc9773, rs 0xfffffffff5ee4bb9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffebdc9773ffff, rs 0xfffffffff5ee4bb9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfebdc9773fffffff, rs 0xfffffffff5ee4bb9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb5e74b6e03045bf6, rs 0x3045bf6b5e74b6e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x608b7ed6bce96dc, rs 0x3045bf6b5e74b6e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb7ed6bce96dc0608, rs 0x3045bf6b5e74b6e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd6bce96dc0608b7e, rs 0x3045bf6b5e74b6e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf8ad6d60ffffffff, rs 0xfffffffff8ad6d60, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfffffffff15adac1, rs 0xfffffffff8ad6d60, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfffff15adac1ffff, rs 0xfffffffff8ad6d60, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xff15adac1fffffff, rs 0xfffffffff8ad6d60, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8accfa620223f13, rs 0x20223f1308accfa6, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x40447e2611599f4c, rs 0x20223f1308accfa6, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x7e2611599f4c4044, rs 0x20223f1308accfa6, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x611599f4c40447e2, rs 0x20223f1308accfa6, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xfc6c70d7ffffffff, rs 0xfffffffffc6c70d7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfffffffff8d8e1af, rs 0xfffffffffc6c70d7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfffff8d8e1afffff, rs 0xfffffffffc6c70d7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xff8d8e1affffffff, rs 0xfffffffffc6c70d7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3976b5f5f83c5574, rs 0xf83c55743976b5f5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf078aae872ed6beb, rs 0xf83c55743976b5f5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xaae872ed6bebf078, rs 0xf83c55743976b5f5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x872ed6bebf078aae, rs 0xf83c55743976b5f5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe22b20d2ffffffff, rs 0xffffffffe22b20d2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffc45641a5, rs 0xffffffffe22b20d2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffc45641a5ffff, rs 0xffffffffe22b20d2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfc45641a5fffffff, rs 0xffffffffe22b20d2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x46923c3d1f9720f9, rs 0x1f9720f946923c3d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3f2e41f28d24787a, rs 0x1f9720f946923c3d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x41f28d24787a3f2e, rs 0x1f9720f946923c3d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x28d24787a3f2e41f, rs 0x1f9720f946923c3d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe6ea3d65ffffffff, rs 0xffffffffe6ea3d65, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffcdd47acb, rs 0xffffffffe6ea3d65, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffcdd47acbffff, rs 0xffffffffe6ea3d65, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfcdd47acbfffffff, rs 0xffffffffe6ea3d65, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6d2448dd620d2850, rs 0x620d28506d2448dd, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc41a50a0da4891ba, rs 0x620d28506d2448dd, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x50a0da4891bac41a, rs 0x620d28506d2448dd, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xda4891bac41a50a, rs 0x620d28506d2448dd, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xeba91bbcffffffff, rs 0xffffffffeba91bbc, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffd7523779, rs 0xffffffffeba91bbc, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffd7523779ffff, rs 0xffffffffeba91bbc, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfd7523779fffffff, rs 0xffffffffeba91bbc, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9ff4a73260a521e9, rs 0x60a521e99ff4a732, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc14a43d33fe94e64, rs 0x60a521e99ff4a732, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x43d33fe94e64c14a, rs 0x60a521e99ff4a732, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x33fe94e64c14a43d, rs 0x60a521e99ff4a732, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xef68060bffffffff, rs 0xffffffffef68060b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffded00c17, rs 0xffffffffef68060b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffded00c17ffff, rs 0xffffffffef68060b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfded00c17fffffff, rs 0xffffffffef68060b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5c680f0b5a08f3ab, rs 0x5a08f3ab5c680f0b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xb411e756b8d01e16, rs 0x5a08f3ab5c680f0b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe756b8d01e16b411, rs 0x5a08f3ab5c680f0b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6b8d01e16b411e75, rs 0x5a08f3ab5c680f0b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd727bbb6ffffffff, rs 0xffffffffd727bbb6, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffae4f776d, rs 0xffffffffd727bbb6, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffae4f776dffff, rs 0xffffffffd727bbb6, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfae4f776dfffffff, rs 0xffffffffd727bbb6, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x800f3d26c7a59be7, rs 0xc7a59be7800f3d26, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8f4b37cf001e7a4d, rs 0xc7a59be7800f3d26, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x37cf001e7a4d8f4b, rs 0xc7a59be7800f3d26, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf001e7a4d8f4b37c, rs 0xc7a59be7800f3d26, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd3e6a601ffffffff, rs 0xffffffffd3e6a601, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffa7cd4c03, rs 0xffffffffd3e6a601, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffa7cd4c03ffff, rs 0xffffffffd3e6a601, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfa7cd4c03fffffff, rs 0xffffffffd3e6a601, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x82ca1b411aecdf29, rs 0x1aecdf2982ca1b41, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x35d9be5305943682, rs 0x1aecdf2982ca1b41, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xbe530594368235d9, rs 0x1aecdf2982ca1b41, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x30594368235d9be5, rs 0x1aecdf2982ca1b41, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdea580d8ffffffff, rs 0xffffffffdea580d8, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffbd4b01b1, rs 0xffffffffdea580d8, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffbd4b01b1ffff, rs 0xffffffffdea580d8, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfbd4b01b1fffffff, rs 0xffffffffdea580d8, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x60d19dcd2b8613a2, rs 0x2b8613a260d19dcd, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x570c2744c1a33b9a, rs 0x2b8613a260d19dcd, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x2744c1a33b9a570c, rs 0x2b8613a260d19dcd, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x4c1a33b9a570c274, rs 0x2b8613a260d19dcd, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xda649d6fffffffff, rs 0xffffffffda649d6f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffb4c93adf, rs 0xffffffffda649d6f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffb4c93adfffff, rs 0xffffffffda649d6f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfb4c93adffffffff, rs 0xffffffffda649d6f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe8bbe7f2518ac8b, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x4a3159161d177cfe, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x59161d177cfe4a31, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x61d177cfe4a31591, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc423cd6affffffff, rs 0xffffffffc423cd6a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff88479ad5, rs 0xffffffffc423cd6a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff88479ad5ffff, rs 0xffffffffc423cd6a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf88479ad5fffffff, rs 0xffffffffc423cd6a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2fcf486b743e568d, rs 0x743e568d2fcf486b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe87cad1a5f9e90d6, rs 0x743e568d2fcf486b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xad1a5f9e90d6e87c, rs 0x743e568d2fcf486b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa5f9e90d6e87cad1, rs 0x743e568d2fcf486b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x34c31728126f646f, rs 0x126f646f34c31728, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x24dec8de69862e50, rs 0x126f646f34c31728, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc8de69862e5024de, rs 0x126f646f34c31728, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe69862e5024dec8d, rs 0x126f646f34c31728, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xcda1f604ffffffff, rs 0xffffffffcda1f604, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff9b43ec09, rs 0xffffffffcda1f604, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff9b43ec09ffff, rs 0xffffffffcda1f604, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf9b43ec09fffffff, rs 0xffffffffcda1f604, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x56fc4d12aab01961, rs 0xaab0196156fc4d12, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x556032c2adf89a25, rs 0xaab0196156fc4d12, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x32c2adf89a255560, rs 0xaab0196156fc4d12, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x2adf89a25556032c, rs 0xaab0196156fc4d12, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8595d3427535cd33, rs 0x7535cd338595d342, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xea6b9a670b2ba684, rs 0x7535cd338595d342, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9a670b2ba684ea6b, rs 0x7535cd338595d342, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x70b2ba684ea6b9a6, rs 0x7535cd338595d342, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xbd3e8d7effffffff, rs 0xffffffffbd3e8d7e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff7a7d1afd, rs 0xffffffffbd3e8d7e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff7a7d1afdffff, rs 0xffffffffbd3e8d7e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf7a7d1afdfffffff, rs 0xffffffffbd3e8d7e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x422346ecdfb254da, rs 0xdfb254da422346ec, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xbf64a9b484468dd9, rs 0xdfb254da422346ec, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa9b484468dd9bf64, rs 0xdfb254da422346ec, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x484468dd9bf64a9b, rs 0xdfb254da422346ec, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb9ff90c9ffffffff, rs 0xffffffffb9ff90c9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff73ff2193, rs 0xffffffffb9ff90c9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff73ff2193ffff, rs 0xffffffffb9ff90c9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf73ff2193fffffff, rs 0xffffffffb9ff90c9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x81ab2aa86726c9, rs 0xa86726c90081ab2a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x50ce4d9201035655, rs 0xa86726c90081ab2a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4d920103565550ce, rs 0xa86726c90081ab2a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x20103565550ce4d9, rs 0xa86726c90081ab2a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb4bcb610ffffffff, rs 0xffffffffb4bcb610, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff69796c21, rs 0xffffffffb4bcb610, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff69796c21ffff, rs 0xffffffffb4bcb610, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf69796c21fffffff, rs 0xffffffffb4bcb610, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x679d74389bfeffa1, rs 0x9bfeffa1679d7438, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x37fdff42cf3ae871, rs 0x9bfeffa1679d7438, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xff42cf3ae87137fd, rs 0x9bfeffa1679d7438, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x2cf3ae87137fdff4, rs 0x9bfeffa1679d7438, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb07daba7ffffffff, rs 0xffffffffb07daba7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff60fb574f, rs 0xffffffffb07daba7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff60fb574fffff, rs 0xffffffffb07daba7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf60fb574ffffffff, rs 0xffffffffb07daba7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb7dee244c7699826, rs 0xc7699826b7dee244, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8ed3304d6fbdc489, rs 0xc7699826b7dee244, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x304d6fbdc4898ed3, rs 0xc7699826b7dee244, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd6fbdc4898ed3304, rs 0xc7699826b7dee244, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xae3afba2ffffffff, rs 0xffffffffae3afba2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff5c75f745, rs 0xffffffffae3afba2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff5c75f745ffff, rs 0xffffffffae3afba2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf5c75f745fffffff, rs 0xffffffffae3afba2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xfba6704a3c07af97, rs 0x3c07af97fba6704a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x780f5f2ff74ce094, rs 0x3c07af97fba6704a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x5f2ff74ce094780f, rs 0x3c07af97fba6704a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xff74ce094780f5f2, rs 0x3c07af97fba6704a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xaafbe615ffffffff, rs 0xffffffffaafbe615, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff55f7cc2b, rs 0xffffffffaafbe615, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff55f7cc2bffff, rs 0xffffffffaafbe615, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf55f7cc2bfffffff, rs 0xffffffffaafbe615, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4c58bfe521364dc, rs 0x521364dc04c58bfe, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa426c9b8098b17fc, rs 0x521364dc04c58bfe, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc9b8098b17fca426, rs 0x521364dc04c58bfe, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8098b17fca426c9b, rs 0x521364dc04c58bfe, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa7b8c0ccffffffff, rs 0xffffffffa7b8c0cc, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff4f718199, rs 0xffffffffa7b8c0cc, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff4f718199ffff, rs 0xffffffffa7b8c0cc, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf4f718199fffffff, rs 0xffffffffa7b8c0cc, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9ab7aebce0f7bb58, rs 0xe0f7bb589ab7aebc, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc1ef76b1356f5d79, rs 0xe0f7bb589ab7aebc, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x76b1356f5d79c1ef, rs 0xe0f7bb589ab7aebc, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x1356f5d79c1ef76b, rs 0xe0f7bb589ab7aebc, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa379dd7bffffffff, rs 0xffffffffa379dd7b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff46f3baf7, rs 0xffffffffa379dd7b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff46f3baf7ffff, rs 0xffffffffa379dd7b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf46f3baf7fffffff, rs 0xffffffffa379dd7b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdeeb954de336c60c, rs 0xe336c60cdeeb954d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc66d8c19bdd72a9b, rs 0xe336c60cdeeb954d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8c19bdd72a9bc66d, rs 0xe336c60cdeeb954d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x9bdd72a9bc66d8c1, rs 0xe336c60cdeeb954d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9b3660c6ffffffff, rs 0xffffffff9b3660c6, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff366cc18d, rs 0xffffffff9b3660c6, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff366cc18dffff, rs 0xffffffff9b3660c6, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf366cc18dfffffff, rs 0xffffffff9b3660c6, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6f52416ed5b2120c, rs 0xd5b2120c6f52416e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xab642418dea482dd, rs 0xd5b2120c6f52416e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x2418dea482ddab64, rs 0xd5b2120c6f52416e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8dea482ddab64241, rs 0xd5b2120c6f52416e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9ff77d71ffffffff, rs 0xffffffff9ff77d71, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff3feefae3, rs 0xffffffff9ff77d71, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff3feefae3ffff, rs 0xffffffff9ff77d71, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf3feefae3fffffff, rs 0xffffffff9ff77d71, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7e628a3485a2d4ff, rs 0x85a2d4ff7e628a34, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xb45a9fefcc51469, rs 0x85a2d4ff7e628a34, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa9fefcc514690b45, rs 0x85a2d4ff7e628a34, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xefcc514690b45a9f, rs 0x85a2d4ff7e628a34, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x92b45ba8ffffffff, rs 0xffffffff92b45ba8, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff2568b751, rs 0xffffffff92b45ba8, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff2568b751ffff, rs 0xffffffff92b45ba8, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf2568b751fffffff, rs 0xffffffff92b45ba8, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4a4e7e07986a2b65, rs 0x986a2b654a4e7e07, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x30d456ca949cfc0f, rs 0x986a2b654a4e7e07, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x56ca949cfc0f30d4, rs 0x986a2b654a4e7e07, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa949cfc0f30d456c, rs 0x986a2b654a4e7e07, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9675461fffffffff, rs 0xffffffff9675461f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff2cea8c3f, rs 0xffffffff9675461f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff2cea8c3fffff, rs 0xffffffff9675461f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf2cea8c3ffffffff, rs 0xffffffff9675461f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3a489b55a974eac4, rs 0xa974eac43a489b55, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x52e9d588749136ab, rs 0xa974eac43a489b55, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd588749136ab52e9, rs 0xa974eac43a489b55, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8749136ab52e9d58, rs 0xa974eac43a489b55, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8832161affffffff, rs 0xffffffff8832161a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff10642c35, rs 0xffffffff8832161a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff10642c35ffff, rs 0xffffffff8832161a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf10642c35fffffff, rs 0xffffffff8832161a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x72f1f8f5a388c162, rs 0xa388c16272f1f8f5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x471182c4e5e3f1eb, rs 0xa388c16272f1f8f5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x82c4e5e3f1eb4711, rs 0xa388c16272f1f8f5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x4e5e3f1eb471182c, rs 0xa388c16272f1f8f5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8cf30badffffffff, rs 0xffffffff8cf30bad, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff19e6175b, rs 0xffffffff8cf30bad, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff19e6175bffff, rs 0xffffffff8cf30bad, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf19e6175bfffffff, rs 0xffffffff8cf30bad, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe7495ea9e8c11f45, rs 0xe8c11f45e7495ea9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xd1823e8bce92bd53, rs 0xe8c11f45e7495ea9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3e8bce92bd53d182, rs 0xe8c11f45e7495ea9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xbce92bd53d1823e8, rs 0xe8c11f45e7495ea9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x81b02d74ffffffff, rs 0xffffffff81b02d74, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff03605ae9, rs 0xffffffff81b02d74, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff03605ae9ffff, rs 0xffffffff81b02d74, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf03605ae9fffffff, rs 0xffffffff81b02d74, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5cc1c8b4adaa5a76, rs 0xadaa5a765cc1c8b4, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5b54b4ecb9839169, rs 0xadaa5a765cc1c8b4, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb4ecb98391695b54, rs 0xadaa5a765cc1c8b4, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xcb98391695b54b4e, rs 0xadaa5a765cc1c8b4, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x857130c3ffffffff, rs 0xffffffff857130c3, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff0ae26187, rs 0xffffffff857130c3, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff0ae26187ffff, rs 0xffffffff857130c3, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf0ae26187fffffff, rs 0xffffffff857130c3, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdfa605c07ab4ce88, rs 0x7ab4ce88dfa605c0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf5699d11bf4c0b80, rs 0x7ab4ce88dfa605c0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9d11bf4c0b80f569, rs 0x7ab4ce88dfa605c0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x1bf4c0b80f5699d1, rs 0x7ab4ce88dfa605c0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5d8a909900000000, rs 0x5d8a9099, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xbb152132, rs 0x5d8a9099, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xbb1521320000, rs 0x5d8a9099, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xbb1521320000000, rs 0x5d8a9099, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x59a7b04fb42ad6e6, rs 0xb42ad6e659a7b04f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6855adccb34f609f, rs 0xb42ad6e659a7b04f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xadccb34f609f6855, rs 0xb42ad6e659a7b04f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xcb34f609f6855adc, rs 0xb42ad6e659a7b04f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x594b8d2e00000000, rs 0x594b8d2e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xb2971a5c, rs 0x594b8d2e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb2971a5c0000, rs 0x594b8d2e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb2971a5c0000000, rs 0x594b8d2e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb728922f4bf8485a, rs 0x4bf8485ab728922f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x97f090b56e51245e, rs 0x4bf8485ab728922f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x90b56e51245e97f0, rs 0x4bf8485ab728922f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x56e51245e97f090b, rs 0x4bf8485ab728922f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5408abf700000000, rs 0x5408abf7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa81157ee, rs 0x5408abf7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa81157ee0000, rs 0x5408abf7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa81157ee0000000, rs 0x5408abf7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3b66a7fb76a3d60c, rs 0x76a3d60c3b66a7fb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xed47ac1876cd4ff6, rs 0x76a3d60c3b66a7fb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xac1876cd4ff6ed47, rs 0x76a3d60c3b66a7fb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x876cd4ff6ed47ac1, rs 0x76a3d60c3b66a7fb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x50c9b64000000000, rs 0x50c9b640, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa1936c80, rs 0x50c9b640, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xa1936c800000, rs 0x50c9b640, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa1936c800000000, rs 0x50c9b640, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xfdc28eda31e0c6af, rs 0x31e0c6affdc28eda, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x63c18d5ffb851db4, rs 0x31e0c6affdc28eda, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8d5ffb851db463c1, rs 0x31e0c6affdc28eda, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xffb851db463c18d5, rs 0x31e0c6affdc28eda, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4e8ee64500000000, rs 0x4e8ee645, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x9d1dcc8a, rs 0x4e8ee645, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9d1dcc8a0000, rs 0x4e8ee645, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x9d1dcc8a0000000, rs 0x4e8ee645, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xbf0c999d53606bb4, rs 0x53606bb4bf0c999d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa6c0d7697e19333a, rs 0x53606bb4bf0c999d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd7697e19333aa6c0, rs 0x53606bb4bf0c999d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x97e19333aa6c0d76, rs 0x53606bb4bf0c999d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4a4ffbf200000000, rs 0x4a4ffbf2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x949ff7e4, rs 0x4a4ffbf2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x949ff7e40000, rs 0x4a4ffbf2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x949ff7e40000000, rs 0x4a4ffbf2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1b7919f032fc12c8, rs 0x32fc12c81b7919f0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x65f8259036f233e0, rs 0x32fc12c81b7919f0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x259036f233e065f8, rs 0x32fc12c81b7919f0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x36f233e065f8259, rs 0x32fc12c81b7919f0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x470cdd2b00000000, rs 0x470cdd2b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x8e19ba56, rs 0x470cdd2b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8e19ba560000, rs 0x470cdd2b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8e19ba560000000, rs 0x470cdd2b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc72efcd63ef88384, rs 0x3ef88384c72efcd6, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7df107098e5df9ac, rs 0x3ef88384c72efcd6, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x7098e5df9ac7df1, rs 0x3ef88384c72efcd6, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x98e5df9ac7df1070, rs 0x3ef88384c72efcd6, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x43cdc09c00000000, rs 0x43cdc09c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x879b8138, rs 0x43cdc09c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x879b81380000, rs 0x43cdc09c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x879b81380000000, rs 0x43cdc09c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6a2a358038b1c7bb, rs 0x38b1c7bb6a2a3580, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x71638f76d4546b00, rs 0x38b1c7bb6a2a3580, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x8f76d4546b007163, rs 0x38b1c7bb6a2a3580, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6d4546b0071638f7, rs 0x38b1c7bb6a2a3580, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7b827d2100000000, rs 0x7b827d21, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf704fa42, rs 0x7b827d21, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf704fa420000, rs 0x7b827d21, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf704fa420000000, rs 0x7b827d21, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1dca77c915ebf612, rs 0x15ebf6121dca77c9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2bd7ec243b94ef92, rs 0x15ebf6121dca77c9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xec243b94ef922bd7, rs 0x15ebf6121dca77c9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x43b94ef922bd7ec2, rs 0x15ebf6121dca77c9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7f43609600000000, rs 0x7f436096, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfe86c12c, rs 0x7f436096, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfe86c12c0000, rs 0x7f436096, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfe86c12c0000000, rs 0x7f436096, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xfd9147ae5eaacdd9, rs 0x5eaacdd9fd9147ae, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xbd559bb3fb228f5c, rs 0x5eaacdd9fd9147ae, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9bb3fb228f5cbd55, rs 0x5eaacdd9fd9147ae, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3fb228f5cbd559bb, rs 0x5eaacdd9fd9147ae, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x7200464f00000000, rs 0x7200464f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe4008c9e, rs 0x7200464f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe4008c9e0000, rs 0x7200464f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe4008c9e0000000, rs 0x7200464f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x81e91117bb8470f9, rs 0xbb8470f981e91117, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7708e1f303d2222f, rs 0xbb8470f981e91117, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe1f303d2222f7708, rs 0xbb8470f981e91117, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x303d2222f7708e1f, rs 0xbb8470f981e91117, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x76c15bf800000000, rs 0x76c15bf8, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xed82b7f0, rs 0x76c15bf8, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xed82b7f00000, rs 0x76c15bf8, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xed82b7f00000000, rs 0x76c15bf8, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc6a532e005d42aea, rs 0x5d42aeac6a532e0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xba855d58d4a65c0, rs 0x5d42aeac6a532e0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x55d58d4a65c00ba8, rs 0x5d42aeac6a532e0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x58d4a65c00ba855d, rs 0x5d42aeac6a532e0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x68860bfd00000000, rs 0x68860bfd, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xd10c17fa, rs 0x68860bfd, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd10c17fa0000, rs 0x68860bfd, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd10c17fa0000000, rs 0x68860bfd, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x19fb9e6314abf364, rs 0x14abf36419fb9e63, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2957e6c833f73cc6, rs 0x14abf36419fb9e63, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe6c833f73cc62957, rs 0x14abf36419fb9e63, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x833f73cc62957e6c, rs 0x14abf36419fb9e63, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6c47164a00000000, rs 0x6c47164a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xd88e2c94, rs 0x6c47164a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd88e2c940000, rs 0x6c47164a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd88e2c940000000, rs 0x6c47164a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa8d72aac249d559a, rs 0x249d559aa8d72aac, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x493aab3551ae5558, rs 0x249d559aa8d72aac, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xab3551ae5558493a, rs 0x249d559aa8d72aac, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x551ae5558493aab3, rs 0x249d559aa8d72aac, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6104309300000000, rs 0x61043093, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc2086126, rs 0x61043093, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc20861260000, rs 0x61043093, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc20861260000000, rs 0x61043093, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x84b30ec0cd6764f, rs 0xcd6764f084b30ec, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x19acec9e109661d8, rs 0xcd6764f084b30ec, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xec9e109661d819ac, rs 0xcd6764f084b30ec, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe109661d819acec9, rs 0xcd6764f084b30ec, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x65c52d2400000000, rs 0x65c52d24, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xcb8a5a48, rs 0x65c52d24, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xcb8a5a480000, rs 0x65c52d24, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xcb8a5a480000000, rs 0x65c52d24, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x92468fdf7f03ac07, rs 0x7f03ac0792468fdf, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfe07580f248d1fbe, rs 0x7f03ac0792468fdf, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x580f248d1fbefe07, rs 0x7f03ac0792468fdf, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf248d1fbefe07580, rs 0x7f03ac0792468fdf, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x119b4be900000000, rs 0x119b4be9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x233697d2, rs 0x119b4be9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x233697d20000, rs 0x119b4be9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x233697d20000000, rs 0x119b4be9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x56e670f57e35ce6d, rs 0x7e35ce6d56e670f5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfc6b9cdaadcce1ea, rs 0x7e35ce6d56e670f5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9cdaadcce1eafc6b, rs 0x7e35ce6d56e670f5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xaadcce1eafc6b9cd, rs 0x7e35ce6d56e670f5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x155a565e00000000, rs 0x155a565e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2ab4acbc, rs 0x155a565e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x2ab4acbc0000, rs 0x155a565e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x2ab4acbc0000000, rs 0x155a565e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1a65271115282859, rs 0x152828591a652711, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2a5050b234ca4e22, rs 0x152828591a652711, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x50b234ca4e222a50, rs 0x152828591a652711, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x234ca4e222a5050b, rs 0x152828591a652711, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1819708700000000, rs 0x18197087, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3032e10e, rs 0x18197087, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3032e10e0000, rs 0x18197087, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3032e10e0000000, rs 0x18197087, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd215a9fb9e1c3283, rs 0x9e1c3283d215a9fb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3c386507a42b53f7, rs 0x9e1c3283d215a9fb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x6507a42b53f73c38, rs 0x9e1c3283d215a9fb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7a42b53f73c38650, rs 0x9e1c3283d215a9fb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1cd86d3000000000, rs 0x1cd86d30, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x39b0da60, rs 0x1cd86d30, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x39b0da600000, rs 0x1cd86d30, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x39b0da600000000, rs 0x1cd86d30, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x282a04178d95c049, rs 0x8d95c049282a0417, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x1b2b80925054082f, rs 0x8d95c049282a0417, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x80925054082f1b2b, rs 0x8d95c049282a0417, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x25054082f1b2b809, rs 0x8d95c049282a0417, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x29f3d3500000000, rs 0x29f3d35, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x53e7a6a, rs 0x29f3d35, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x53e7a6a0000, rs 0x29f3d35, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x53e7a6a0000000, rs 0x29f3d35, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x978058f3f2e7a490, rs 0xf2e7a490978058f3, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe5cf49212f00b1e7, rs 0xf2e7a490978058f3, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x49212f00b1e7e5cf, rs 0xf2e7a490978058f3, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x12f00b1e7e5cf492, rs 0xf2e7a490978058f3, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x65e208200000000, rs 0x65e2082, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xcbc4104, rs 0x65e2082, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xcbc41040000, rs 0x65e2082, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xcbc41040000000, rs 0x65e2082, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x975b1aa775b4cca, rs 0x775b4cca0975b1aa, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xeeb6999412eb6354, rs 0x775b4cca0975b1aa, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x999412eb6354eeb6, rs 0x775b4cca0975b1aa, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x412eb6354eeb6999, rs 0x775b4cca0975b1aa, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb1d065b00000000, rs 0xb1d065b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x163a0cb6, rs 0xb1d065b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x163a0cb60000, rs 0xb1d065b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x163a0cb60000000, rs 0xb1d065b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x351110200a2b84a6, rs 0xa2b84a635111020, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x1457094c6a222040, rs 0xa2b84a635111020, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x94c6a2220401457, rs 0xa2b84a635111020, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc6a2220401457094, rs 0xa2b84a635111020, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xfdc1bec00000000, rs 0xfdc1bec, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x1fb837d8, rs 0xfdc1bec, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x1fb837d80000, rs 0xfdc1bec, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x1fb837d80000000, rs 0xfdc1bec, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa7d88b6f023fa0d3, rs 0x23fa0d3a7d88b6f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x47f41a74fb116de, rs 0x23fa0d3a7d88b6f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x41a74fb116de047f, rs 0x23fa0d3a7d88b6f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x74fb116de047f41a, rs 0x23fa0d3a7d88b6f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3793a65100000000, rs 0x3793a651, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6f274ca2, rs 0x3793a651, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x6f274ca20000, rs 0x3793a651, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6f274ca20000000, rs 0x3793a651, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9941dedda3d991b7, rs 0xa3d991b79941dedd, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x47b3236f3283bdbb, rs 0xa3d991b79941dedd, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x236f3283bdbb47b3, rs 0xa3d991b79941dedd, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf3283bdbb47b3236, rs 0xa3d991b79941dedd, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3352bbe600000000, rs 0x3352bbe6, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x66a577cc, rs 0x3352bbe6, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x66a577cc0000, rs 0x3352bbe6, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x66a577cc0000000, rs 0x3352bbe6, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5a0d9508751cb483, rs 0x751cb4835a0d9508, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xea396906b41b2a10, rs 0x751cb4835a0d9508, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x6906b41b2a10ea39, rs 0x751cb4835a0d9508, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6b41b2a10ea39690, rs 0x751cb4835a0d9508, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3e119d3f00000000, rs 0x3e119d3f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7c233a7e, rs 0x3e119d3f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x7c233a7e0000, rs 0x3e119d3f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7c233a7e0000000, rs 0x3e119d3f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x625bb2d3949cad35, rs 0x949cad35625bb2d3, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x29395a6ac4b765a7, rs 0x949cad35625bb2d3, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x5a6ac4b765a72939, rs 0x949cad35625bb2d3, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xac4b765a729395a6, rs 0x949cad35625bb2d3, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x3ad0808800000000, rs 0x3ad08088, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x75a10110, rs 0x3ad08088, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x75a101100000, rs 0x3ad08088, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x75a101100000000, rs 0x3ad08088, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa69297397f567f35, rs 0x7f567f35a6929739, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfeacfe6b4d252e72, rs 0x7f567f35a6929739, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfe6b4d252e72feac, rs 0x7f567f35a6929739, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb4d252e72feacfe6, rs 0x7f567f35a6929739, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2497d08d00000000, rs 0x2497d08d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x492fa11a, rs 0x2497d08d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x492fa11a0000, rs 0x2497d08d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x492fa11a0000000, rs 0x2497d08d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdb8d7d27185b88e0, rs 0x185b88e0db8d7d27, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x30b711c1b71afa4e, rs 0x185b88e0db8d7d27, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x11c1b71afa4e30b7, rs 0x185b88e0db8d7d27, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x1b71afa4e30b711c, rs 0x185b88e0db8d7d27, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2056cd3a00000000, rs 0x2056cd3a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x40ad9a74, rs 0x2056cd3a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x40ad9a740000, rs 0x2056cd3a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x40ad9a740000000, rs 0x2056cd3a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2fd61b91255a4cd2, rs 0x255a4cd22fd61b91, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x4ab499a45fac3722, rs 0x255a4cd22fd61b91, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x99a45fac37224ab4, rs 0x255a4cd22fd61b91, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x45fac37224ab499a, rs 0x255a4cd22fd61b91, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x2d15ebe300000000, rs 0x2d15ebe3, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5a2bd7c6, rs 0x2d15ebe3, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x5a2bd7c60000, rs 0x2d15ebe3, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x5a2bd7c60000000, rs 0x2d15ebe3, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa4363f7b1048d589, rs 0x1048d589a4363f7b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2091ab13486c7ef6, rs 0x1048d589a4363f7b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xab13486c7ef62091, rs 0x1048d589a4363f7b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3486c7ef62091ab1, rs 0x1048d589a4363f7b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x29d4f65400000000, rs 0x29d4f654, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x53a9eca8, rs 0x29d4f654, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x53a9eca80000, rs 0x29d4f654, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x53a9eca80000000, rs 0x29d4f654, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf46057906a6d5708, rs 0x6a6d5708f4605790, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xd4daae11e8c0af20, rs 0x6a6d5708f4605790, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xae11e8c0af20d4da, rs 0x6a6d5708f4605790, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x1e8c0af20d4daae1, rs 0x6a6d5708f4605790, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc5a92679ffffffff, rs 0xffffffffc5a92679, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff8b524cf3, rs 0xffffffffc5a92679, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff8b524cf3ffff, rs 0xffffffffc5a92679, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf8b524cf3fffffff, rs 0xffffffffc5a92679, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xde35697fd58ecbab, rs 0xd58ecbabde35697f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xab1d9757bc6ad2ff, rs 0xd58ecbabde35697f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9757bc6ad2ffab1d, rs 0xd58ecbabde35697f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7bc6ad2ffab1d975, rs 0xd58ecbabde35697f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc1683bceffffffff, rs 0xffffffffc1683bce, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff82d0779d, rs 0xffffffffc1683bce, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff82d0779dffff, rs 0xffffffffc1683bce, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf82d0779dfffffff, rs 0xffffffffc1683bce, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8c0a5f1575548fd, rs 0x575548fd08c0a5f1, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xaeaa91fa11814be2, rs 0x575548fd08c0a5f1, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x91fa11814be2aeaa, rs 0x575548fd08c0a5f1, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xa11814be2aeaa91f, rs 0x575548fd08c0a5f1, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xcc2b1d17ffffffff, rs 0xffffffffcc2b1d17, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff98563a2f, rs 0xffffffffcc2b1d17, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff98563a2fffff, rs 0xffffffffcc2b1d17, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf98563a2ffffffff, rs 0xffffffffcc2b1d17, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8ed98ddb8bb640fb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x176c81f71db31bb7, rs 0x8bb640fb8ed98ddb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x81f71db31bb7176c, rs 0x8bb640fb8ed98ddb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x71db31bb7176c81f, rs 0x8bb640fb8ed98ddb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc8ea00a0ffffffff, rs 0xffffffffc8ea00a0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff91d40141, rs 0xffffffffc8ea00a0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff91d40141ffff, rs 0xffffffffc8ea00a0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf91d40141fffffff, rs 0xffffffffc8ea00a0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xabc578ccbe00d51e, rs 0xbe00d51eabc578cc, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7c01aa3d578af199, rs 0xbe00d51eabc578cc, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xaa3d578af1997c01, rs 0xbe00d51eabc578cc, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd578af1997c01aa3, rs 0xbe00d51eabc578cc, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd6ad50a5ffffffff, rs 0xffffffffd6ad50a5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffad5aa14b, rs 0xffffffffd6ad50a5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffad5aa14bffff, rs 0xffffffffd6ad50a5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfad5aa14bfffffff, rs 0xffffffffd6ad50a5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1c170ab22f7e224a, rs 0x2f7e224a1c170ab2, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5efc4494382e1564, rs 0x2f7e224a1c170ab2, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x4494382e15645efc, rs 0x2f7e224a1c170ab2, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x4382e15645efc449, rs 0x2f7e224a1c170ab2, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xd26c4d12ffffffff, rs 0xffffffffd26c4d12, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffa4d89a25, rs 0xffffffffd26c4d12, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffa4d89a25ffff, rs 0xffffffffd26c4d12, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfa4d89a25fffffff, rs 0xffffffffd26c4d12, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa22256a7a978f12c, rs 0xa978f12ca22256a7, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x52f1e2594444ad4f, rs 0xa978f12ca22256a7, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe2594444ad4f52f1, rs 0xa978f12ca22256a7, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x94444ad4f52f1e25, rs 0xa978f12ca22256a7, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdf2f6bcbffffffff, rs 0xffffffffdf2f6bcb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffbe5ed797, rs 0xffffffffdf2f6bcb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffbe5ed797ffff, rs 0xffffffffdf2f6bcb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfbe5ed797fffffff, rs 0xffffffffdf2f6bcb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x811ee02f9950a93b, rs 0x9950a93b811ee02f, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x32a15277023dc05f, rs 0x9950a93b811ee02f, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x5277023dc05f32a1, rs 0x9950a93b811ee02f, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7023dc05f32a1527, rs 0x9950a93b811ee02f, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xdbee767cffffffff, rs 0xffffffffdbee767c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffb7dcecf9, rs 0xffffffffdbee767c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffb7dcecf9ffff, rs 0xffffffffdbee767c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfb7dcecf9fffffff, rs 0xffffffffdbee767c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc6796a0cb44eea93, rs 0xb44eea93c6796a0c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x689dd5278cf2d419, rs 0xb44eea93c6796a0c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd5278cf2d419689d, rs 0xb44eea93c6796a0c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x78cf2d419689dd52, rs 0xb44eea93c6796a0c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe3a1cbc1ffffffff, rs 0xffffffffe3a1cbc1, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffc7439783, rs 0xffffffffe3a1cbc1, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffc7439783ffff, rs 0xffffffffe3a1cbc1, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfc7439783fffffff, rs 0xffffffffe3a1cbc1, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6c0eb657fe71fca0, rs 0xfe71fca06c0eb657, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfce3f940d81d6caf, rs 0xfe71fca06c0eb657, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf940d81d6caffce3, rs 0xfe71fca06c0eb657, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xd81d6caffce3f94, rs 0xfe71fca06c0eb657, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe760d676ffffffff, rs 0xffffffffe760d676, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffcec1aced, rs 0xffffffffe760d676, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffcec1acedffff, rs 0xffffffffe760d676, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfcec1acedfffffff, rs 0xffffffffe760d676, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf818af574ed6393d, rs 0x4ed6393df818af57, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x9dac727bf0315eae, rs 0x4ed6393df818af57, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x727bf0315eae9dac, rs 0x4ed6393df818af57, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xbf0315eae9dac727, rs 0x4ed6393df818af57, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xea23f0afffffffff, rs 0xffffffffea23f0af, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffd447e15f, rs 0xffffffffea23f0af, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffd447e15fffff, rs 0xffffffffea23f0af, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfd447e15ffffffff, rs 0xffffffffea23f0af, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x236770af22e9020, rs 0xf22e90200236770a, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xe45d2040046cee15, rs 0xf22e90200236770a, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x2040046cee15e45d, rs 0xf22e90200236770a, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x46cee15e45d204, rs 0xf22e90200236770a, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xeee2ed18ffffffff, rs 0xffffffffeee2ed18, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffddc5da31, rs 0xffffffffeee2ed18, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffddc5da31ffff, rs 0xffffffffeee2ed18, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfddc5da31fffffff, rs 0xffffffffeee2ed18, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xafd0c45d81efb6c7, rs 0x81efb6c7afd0c45d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3df6d8f5fa188bb, rs 0x81efb6c7afd0c45d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x6d8f5fa188bb03df, rs 0x81efb6c7afd0c45d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf5fa188bb03df6d8, rs 0x81efb6c7afd0c45d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf0a5bd1dffffffff, rs 0xfffffffff0a5bd1d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffe14b7a3b, rs 0xfffffffff0a5bd1d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffe14b7a3bffff, rs 0xfffffffff0a5bd1d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfe14b7a3bfffffff, rs 0xfffffffff0a5bd1d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8102315beed8f351, rs 0xeed8f3518102315b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xddb1e6a3020462b7, rs 0xeed8f3518102315b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe6a3020462b7ddb1, rs 0xeed8f3518102315b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x3020462b7ddb1e6a, rs 0xeed8f3518102315b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf464a0aaffffffff, rs 0xfffffffff464a0aa, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffffe8c94155, rs 0xfffffffff464a0aa, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffffe8c94155ffff, rs 0xfffffffff464a0aa, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfe8c94155fffffff, rs 0xfffffffff464a0aa, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x995efd5eadafefb9, rs 0xadafefb9995efd5e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5b5fdf7332bdfabd, rs 0xadafefb9995efd5e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xdf7332bdfabd5b5f, rs 0xadafefb9995efd5e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x332bdfabd5b5fdf7, rs 0xadafefb9995efd5e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xf9278673ffffffff, rs 0xfffffffff9278673, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfffffffff24f0ce7, rs 0xfffffffff9278673, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfffff24f0ce7ffff, rs 0xfffffffff9278673, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xff24f0ce7fffffff, rs 0xfffffffff9278673, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xeb25308634061933, rs 0x34061933eb253086, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x680c3267d64a610c, rs 0x34061933eb253086, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3267d64a610c680c, rs 0x34061933eb253086, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7d64a610c680c326, rs 0x34061933eb253086, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xfde69bc4ffffffff, rs 0xfffffffffde69bc4, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xfffffffffbcd3789, rs 0xfffffffffde69bc4, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xfffffbcd3789ffff, rs 0xfffffffffde69bc4, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xffbcd3789fffffff, rs 0xfffffffffde69bc4, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x4b4c52bc1748da26, rs 0x1748da264b4c52bc, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x2e91b44c9698a578, rs 0x1748da264b4c52bc, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xb44c9698a5782e91, rs 0x1748da264b4c52bc, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc9698a5782e91b44, rs 0x1748da264b4c52bc, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x89b8fd09ffffffff, rs 0xffffffff89b8fd09, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff1371fa13, rs 0xffffffff89b8fd09, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff1371fa13ffff, rs 0xffffffff89b8fd09, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf1371fa13fffffff, rs 0xffffffff89b8fd09, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9302be8934fdfc9a, rs 0x34fdfc9a9302be89, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x69fbf93526057d12, rs 0x34fdfc9a9302be89, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf93526057d1269fb, rs 0x34fdfc9a9302be89, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x526057d1269fbf93, rs 0x34fdfc9a9302be89, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x8d79e0beffffffff, rs 0xffffffff8d79e0be, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff1af3c17d, rs 0xffffffff8d79e0be, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff1af3c17dffff, rs 0xffffffff8d79e0be, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf1af3c17dfffffff, rs 0xffffffff8d79e0be, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc521d180d00278c3, rs 0xd00278c3c521d180, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xa004f1878a43a301, rs 0xd00278c3c521d180, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xf1878a43a301a004, rs 0xd00278c3c521d180, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x78a43a301a004f18, rs 0xd00278c3c521d180, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x803ac667ffffffff, rs 0xffffffff803ac667, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff00758ccf, rs 0xffffffff803ac667, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff00758ccfffff, rs 0xffffffff803ac667, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf00758ccffffffff, rs 0xffffffff803ac667, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xc1d37a5de90944a4, rs 0xe90944a4c1d37a5d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xd212894983a6f4bb, rs 0xe90944a4c1d37a5d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x894983a6f4bbd212, rs 0xe90944a4c1d37a5d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x983a6f4bbd212894, rs 0xe90944a4c1d37a5d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x84fbdbd0ffffffff, rs 0xffffffff84fbdbd0, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff09f7b7a1, rs 0xffffffff84fbdbd0, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff09f7b7a1ffff, rs 0xffffffff84fbdbd0, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf09f7b7a1fffffff, rs 0xffffffff84fbdbd0, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xddef983965fd698f, rs 0x65fd698fddef9839, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xcbfad31fbbdf3072, rs 0x65fd698fddef9839, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd31fbbdf3072cbfa, rs 0x65fd698fddef9839, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfbbdf3072cbfad31, rs 0x65fd698fddef9839, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9abc8bd5ffffffff, rs 0xffffffff9abc8bd5, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff357917ab, rs 0xffffffff9abc8bd5, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff357917abffff, rs 0xffffffff9abc8bd5, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf357917abfffffff, rs 0xffffffff9abc8bd5, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x81b5af52c49ee3ad, rs 0xc49ee3ad81b5af52, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x893dc75b036b5ea5, rs 0xc49ee3ad81b5af52, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc75b036b5ea5893d, rs 0xc49ee3ad81b5af52, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xb036b5ea5893dc75, rs 0xc49ee3ad81b5af52, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9e7d9662ffffffff, rs 0xffffffff9e7d9662, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff3cfb2cc5, rs 0xffffffff9e7d9662, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff3cfb2cc5ffff, rs 0xffffffff9e7d9662, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf3cfb2cc5fffffff, rs 0xffffffff9e7d9662, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xbdb263e97aa941e8, rs 0x7aa941e8bdb263e9, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xf55283d17b64c7d2, rs 0x7aa941e8bdb263e9, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x83d17b64c7d2f552, rs 0x7aa941e8bdb263e9, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x17b64c7d2f55283d, rs 0x7aa941e8bdb263e9, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x933eb0bbffffffff, rs 0xffffffff933eb0bb, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff267d6177, rs 0xffffffff933eb0bb, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff267d6177ffff, rs 0xffffffff933eb0bb, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf267d6177fffffff, rs 0xffffffff933eb0bb, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x42f3b58d372c209e, rs 0x372c209e42f3b58d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x6e58413c85e76b1a, rs 0x372c209e42f3b58d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x413c85e76b1a6e58, rs 0x372c209e42f3b58d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc85e76b1a6e58413, rs 0x372c209e42f3b58d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x97ffad0cffffffff, rs 0xffffffff97ffad0c, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff2fff5a19, rs 0xffffffff97ffad0c, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff2fff5a19ffff, rs 0xffffffff97ffad0c, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf2fff5a19fffffff, rs 0xffffffff97ffad0c, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xe122a83b30f870b7, rs 0x30f870b7e122a83b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x61f0e16fc2455076, rs 0x30f870b7e122a83b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xe16fc245507661f0, rs 0x30f870b7e122a83b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xfc245507661f0e16, rs 0x30f870b7e122a83b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xafb010b1ffffffff, rs 0xffffffffafb010b1, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff5f602163, rs 0xffffffffafb010b1, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff5f602163ffff, rs 0xffffffffafb010b1, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf5f602163fffffff, rs 0xffffffffafb010b1, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x678930ec9e02de4b, rs 0x9e02de4b678930ec, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x3c05bc96cf1261d9, rs 0x9e02de4b678930ec, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xbc96cf1261d93c05, rs 0x9e02de4b678930ec, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x6cf1261d93c05bc9, rs 0x9e02de4b678930ec, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xab710d06ffffffff, rs 0xffffffffab710d06, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff56e21a0d, rs 0xffffffffab710d06, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff56e21a0dffff, rs 0xffffffffab710d06, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf56e21a0dfffffff, rs 0xffffffffab710d06, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9826631ecd61a863, rs 0xcd61a8639826631e, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x9ac350c7304cc63d, rs 0xcd61a8639826631e, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x50c7304cc63d9ac3, rs 0xcd61a8639826631e, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x7304cc63d9ac350c, rs 0xcd61a8639826631e, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa6322bdfffffffff, rs 0xffffffffa6322bdf, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff4c6457bf, rs 0xffffffffa6322bdf, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff4c6457bfffff, rs 0xffffffffa6322bdf, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf4c6457bffffffff, rs 0xffffffffa6322bdf, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x9a7bd3caae87bc89, rs 0xae87bc899a7bd3ca, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x5d0f791334f7a795, rs 0xae87bc899a7bd3ca, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x791334f7a7955d0f, rs 0xae87bc899a7bd3ca, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x334f7a7955d0f791, rs 0xae87bc899a7bd3ca, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xa2f33668ffffffff, rs 0xffffffffa2f33668, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff45e66cd1, rs 0xffffffffa2f33668, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff45e66cd1ffff, rs 0xffffffffa2f33668, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf45e66cd1fffffff, rs 0xffffffffa2f33668, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x6481af1758ec644d, rs 0x58ec644d6481af17, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xb1d8c89ac9035e2e, rs 0x58ec644d6481af17, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xc89ac9035e2eb1d8, rs 0x58ec644d6481af17, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xac9035e2eb1d8c89, rs 0x58ec644d6481af17, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xbcb4666dffffffff, rs 0xffffffffbcb4666d, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff7968ccdb, rs 0xffffffffbcb4666d, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff7968ccdbffff, rs 0xffffffffbcb4666d, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf7968ccdbfffffff, rs 0xffffffffbcb4666d, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb236b666680cce5f, rs 0x680cce5fb236b666, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xd0199cbf646d6ccc, rs 0x680cce5fb236b666, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x9cbf646d6cccd019, rs 0x680cce5fb236b666, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf646d6cccd0199cb, rs 0x680cce5fb236b666, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb8757bdaffffffff, rs 0xffffffffb8757bda, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff70eaf7b5, rs 0xffffffffb8757bda, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff70eaf7b5ffff, rs 0xffffffffb8757bda, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf70eaf7b5fffffff, rs 0xffffffffb8757bda, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1f6d4d753baa9947, rs 0x3baa99471f6d4d75, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x7755328e3eda9aea, rs 0x3baa99471f6d4d75, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x328e3eda9aea7755, rs 0x3baa99471f6d4d75, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xe3eda9aea7755328, rs 0x3baa99471f6d4d75, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb5365d03ffffffff, rs 0xffffffffb5365d03, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff6a6cba07, rs 0xffffffffb5365d03, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff6a6cba07ffff, rs 0xffffffffb5365d03, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf6a6cba07fffffff, rs 0xffffffffb5365d03, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x5f12236b614d9b44, rs 0x614d9b445f12236b, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xc29b3688be2446d6, rs 0x614d9b445f12236b, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0x3688be2446d6c29b, rs 0x614d9b445f12236b, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0x8be2446d6c29b368, rs 0x614d9b445f12236b, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0xb1f740b4ffffffff, rs 0xffffffffb1f740b4, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0xffffffff63ee8169, rs 0xffffffffb1f740b4, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xffff63ee8169ffff, rs 0xffffffffb1f740b4, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xf63ee8169fffffff, rs 0xffffffffb1f740b4, imm 0x0003
+drotr32 $t0, $t1, 0x00 :: rt 0x1ba84121a2a6ec66, rs 0xa2a6ec661ba84121, imm 0x0000
+drotr32 $t2, $t3, 0x1f :: rt 0x454dd8cc37508243, rs 0xa2a6ec661ba84121, imm 0x001f
+drotr32 $a0, $a1, 0x0f :: rt 0xd8cc37508243454d, rs 0xa2a6ec661ba84121, imm 0x000f
+drotr32 $s0, $s1, 0x03 :: rt 0xc37508243454dd8c, rs 0xa2a6ec661ba84121, imm 0x0003
+drotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+drotrv $s0, $s1, $s2 :: rd 0x95eb5500000000, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+drotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+drotrv $s0, $s1, $s2 :: rd 0xec705a5562600fd0, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+drotrv $t0, $t1, $t2 :: rd 0x608edb8000000002, rs 0x9823b6e, rt 0xffffffffb8757bda
+drotrv $s0, $s1, $s2 :: rd 0x6b74d618a8879cbb, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+drotrv $t0, $t1, $t2 :: rd 0x6a1936c80000, rs 0xd4326d9, rt 0xffffffffbcb4666d
+drotrv $s0, $s1, $s2 :: rd 0xdd6b5a97eeddd1b5, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+drotrv $t0, $t1, $t2 :: rd 0x130476dc000000, rs 0x130476dc, rt 0xffffffffa2f33668
+drotrv $s0, $s1, $s2 :: rd 0xef6a04856181450c, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+drotrv $t0, $t1, $t2 :: rd 0x2f8ad6d600000000, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+drotrv $s0, $s1, $s2 :: rd 0x2b4aaa274c678f0c, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+drotrv $t0, $t1, $t2 :: rd 0xc8000000006a1936, rs 0x1a864db2, rt 0xffffffffab710d06
+drotrv $s0, $s1, $s2 :: rd 0xdfed04f47cc23b0d, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+drotrv $t0, $t1, $t2 :: rd 0xf23a8028000, rs 0x1e475005, rt 0xffffffffafb010b1
+drotrv $s0, $s1, $s2 :: rd 0x213c760e4f77aa04, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+drotrv $t0, $t1, $t2 :: rd 0xdb8000000002608e, rs 0x2608edb8, rt 0xffffffff97ffad0c
+drotrv $s0, $s1, $s2 :: rd 0xce0b98a35b1b9413, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+drotrv $t0, $t1, $t2 :: rd 0x4593e01e0, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+drotrv $s0, $s1, $s2 :: rd 0x306a59eed434b0ad, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+drotrv $t0, $t1, $t2 :: rd 0xbe2b5b580000000, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+drotrv $s0, $s1, $s2 :: rd 0x6eb1a9ea0e82f3d2, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+drotrv $t0, $t1, $t2 :: rd 0x5e5b08000000015a, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+drotrv $s0, $s1, $s2 :: rd 0xf504cebcd6a77102, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+drotrv $t0, $t1, $t2 :: rd 0x9b6400000000350c, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+drotrv $s0, $s1, $s2 :: rd 0xfa82ab4d0450c023, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+drotrv $t0, $t1, $t2 :: rd 0x639b0da6000000, rs 0x31cd86d3, rt 0xffffffff803ac667
+drotrv $s0, $s1, $s2 :: rd 0xb690207cab25bbfe, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+drotrv $t0, $t1, $t2 :: rd 0xf23a8028, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+drotrv $s0, $s1, $s2 :: rd 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+drotrv $t0, $t1, $t2 :: rd 0xde800000001c27de, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+drotrv $s0, $s1, $s2 :: rd 0x63da81a6178f8c72, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+drotrv $t0, $t1, $t2 :: rd 0x4c11db7, rs 0x4c11db70, rt 0xfffffffffde69bc4
+drotrv $s0, $s1, $s2 :: rd 0x4ff52fc81afa7979, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+drotrv $t0, $t1, $t2 :: rd 0x91a18d8e000, rs 0x48d0c6c7, rt 0xfffffffff9278673
+drotrv $s0, $s1, $s2 :: rd 0xa8c7636459b7f143, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+drotrv $t0, $t1, $t2 :: rd 0x1164f807800000, rs 0x4593e01e, rt 0xfffffffff464a0aa
+drotrv $s0, $s1, $s2 :: rd 0xe3a256c4d9526f59, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+drotrv $t0, $t1, $t2 :: rd 0xa97ed4800000002, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+drotrv $s0, $s1, $s2 :: rd 0x6c64b370bc14c633, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+drotrv $t0, $t1, $t2 :: rd 0x15adac000000005f, rs 0x5f15adac, rt 0xffffffffeee2ed18
+drotrv $s0, $s1, $s2 :: rd 0x678bd62aab59f656, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+drotrv $t0, $t1, $t2 :: rd 0xb7a960360000, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+drotrv $s0, $s1, $s2 :: rd 0x3eed0bd7f1607ba8, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+drotrv $t0, $t1, $t2 :: rd 0x15a5e5b0800, rs 0x569796c2, rt 0xffffffffe760d676
+drotrv $s0, $s1, $s2 :: rd 0xd05b2e4b6a1fd828, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+drotrv $t0, $t1, $t2 :: rd 0x80000000292b45ba, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+drotrv $s0, $s1, $s2 :: rd 0xf610f5f9278a2659, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+drotrv $t0, $t1, $t2 :: rd 0x6a1936c80, rs 0x6a1936c8, rt 0xffffffffdbee767c
+drotrv $s0, $s1, $s2 :: rd 0x7663c2cd9a9cda20, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+drotrv $t0, $t1, $t2 :: rd 0x6fe00000000ddb05, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+drotrv $s0, $s1, $s2 :: rd 0xe454fae5b47c2f22, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+drotrv $t0, $t1, $t2 :: rd 0xc3698000000018e6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+drotrv $s0, $s1, $s2 :: rd 0xa3279c495a10f993, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+drotrv $t0, $t1, $t2 :: rd 0x33ad08088000000, rs 0x675a1011, rt 0xffffffffd6ad50a5
+drotrv $s0, $s1, $s2 :: rd 0x9d5c0e2613b4874a, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+drotrv $t0, $t1, $t2 :: rd 0x791d401400000000, rs 0x791d4014, rt 0xffffffffc8ea00a0
+drotrv $s0, $s1, $s2 :: rd 0x36d0d070db710cd, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+drotrv $t0, $t1, $t2 :: rd 0xb8bb4600000000fb, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+drotrv $s0, $s1, $s2 :: rd 0x682ac08738438fa0, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+drotrv $t0, $t1, $t2 :: rd 0xede800000001c27d, rs 0x709f7b7a, rt 0xffffffffc1683bce
+drotrv $s0, $s1, $s2 :: rd 0x5bd7c76618e7474a, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+drotrv $t0, $t1, $t2 :: rd 0x3a2f336680, rs 0x745e66cd, rt 0xffffffffc5a92679
+drotrv $s0, $s1, $s2 :: rd 0x49d6d51a39cece9e, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+drotrv $t0, $t1, $t2 :: rd 0x3b6e0ffffffff982, rs 0xffffffff9823b6e0, rt 0x29d4f654
+drotrv $s0, $s1, $s2 :: rd 0xe4a72f39454412d6, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+drotrv $t0, $t1, $t2 :: rd 0xf39c556affffffff, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+drotrv $s0, $s1, $s2 :: rd 0xc11856eadb498a84, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+drotrv $t0, $t1, $t2 :: rd 0xffffffe4686363bf, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+drotrv $s0, $s1, $s2 :: rd 0x9297c800816d646b, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+drotrv $t0, $t1, $t2 :: rd 0x81cffffffffcab04, rs 0xffffffff95609039, rt 0x2497d08d
+drotrv $s0, $s1, $s2 :: rd 0xe3e5df49ef9121ab, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+drotrv $t0, $t1, $t2 :: rd 0x3cffffffff8b27c0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+drotrv $s0, $s1, $s2 :: rd 0xa802e5e458510a76, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+drotrv $t0, $t1, $t2 :: rd 0xffffffff1fcdbb17, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+drotrv $s0, $s1, $s2 :: rd 0x226d8628f2312b32, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+drotrv $t0, $t1, $t2 :: rd 0xfe0a97ed4bffffff, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+drotrv $s0, $s1, $s2 :: rd 0xf3c6eecff99a2fb6, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+drotrv $t0, $t1, $t2 :: rd 0x7372ffffffffc332, rs 0xffffffff8664e6e5, rt 0x3793a651
+drotrv $s0, $s1, $s2 :: rd 0xc44a9385404a9091, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+drotrv $t0, $t1, $t2 :: rd 0xfffbe2b5b58fffff, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+drotrv $s0, $s1, $s2 :: rd 0x14095aeca0810eea, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+drotrv $t0, $t1, $t2 :: rd 0x5d48ddfffffffff7, rs 0xffffffffbaea46ef, rt 0xb1d065b
+drotrv $s0, $s1, $s2 :: rd 0x84bb5a832c3de85e, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+drotrv $t0, $t1, $t2 :: rd 0xbfffffffedea580d, rs 0xffffffffb7a96036, rt 0x65e2082
+drotrv $s0, $s1, $s2 :: rd 0xe3f141aa99eb9abf, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+drotrv $t0, $t1, $t2 :: rd 0xfffffd9b43ec0fff, rs 0xffffffffb3687d81, rt 0x29f3d35
+drotrv $s0, $s1, $s2 :: rd 0x225bac1dabdc780e, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+drotrv $t0, $t1, $t2 :: rd 0xffffad2f2d84ffff, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+drotrv $s0, $s1, $s2 :: rd 0xb994b5898ee1ec61, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+drotrv $t0, $t1, $t2 :: rd 0x67ffffffff53dc60, rs 0xffffffffa9ee3033, rt 0x18197087
+drotrv $s0, $s1, $s2 :: rd 0xfd85647079aa4efb, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+drotrv $t0, $t1, $t2 :: rd 0x92b45babfffffffe, rs 0xffffffffa4ad16ea, rt 0x155a565e
+drotrv $s0, $s1, $s2 :: rd 0xecb5e9d6dd1307fb, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+drotrv $t0, $t1, $t2 :: rd 0xffd03605aeffffff, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+drotrv $s0, $s1, $s2 :: rd 0xa553cc20c6007255, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+drotrv $t0, $t1, $t2 :: rd 0xfd4326d90fffffff, rs 0xffffffffd4326d90, rt 0x65c52d24
+drotrv $s0, $s1, $s2 :: rd 0x1bc1e171771806bc, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+drotrv $t0, $t1, $t2 :: rd 0x6e04fffffffffa1e, rs 0xffffffffd0f37027, rt 0x61043093
+drotrv $s0, $s1, $s2 :: rd 0xf54a97fdcf133b06, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+drotrv $t0, $t1, $t2 :: rd 0xbfbffffffff76c15, rs 0xffffffffddb056fe, rt 0x6c47164a
+drotrv $s0, $s1, $s2 :: rd 0xf373fd1c08177433, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+drotrv $t0, $t1, $t2 :: rd 0xfffffffecb8a5a4f, rs 0xffffffffd9714b49, rt 0x68860bfd
+drotrv $s0, $s1, $s2 :: rd 0x792432bc9d923b32, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+drotrv $t0, $t1, $t2 :: rd 0xffffffc7361b4cff, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+drotrv $s0, $s1, $s2 :: rd 0x95b1a5ab49fbf6a7, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+drotrv $t0, $t1, $t2 :: rd 0xdf7ffffffff87ee, rs 0xffffffffc3f706fb, rt 0x7200464f
+drotrv $s0, $s1, $s2 :: rd 0x9d1a3c326c86f18f, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+drotrv $t0, $t1, $t2 :: rd 0xd0808bffffffff3a, rs 0xffffffffceb42022, rt 0x7f436096
+drotrv $s0, $s1, $s2 :: rd 0x37bcbce1241ee67a, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+drotrv $t0, $t1, $t2 :: rd 0xe53a9ecaffffffff, rs 0xffffffffca753d95, rt 0x7b827d21
+drotrv $s0, $s1, $s2 :: rd 0x7f23f566e6ac1589, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+drotrv $t0, $t1, $t2 :: rd 0x23a8028fffffffff, rs 0xfffffffff23a8028, rt 0x43cdc09c
+drotrv $s0, $s1, $s2 :: rd 0xd685884e76558c4f, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+drotrv $t0, $t1, $t2 :: rd 0xfffedf73b3ffffff, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+drotrv $s0, $s1, $s2 :: rd 0x6571d85a358a8d3, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+drotrv $t0, $t1, $t2 :: rd 0xfffffeee2ed1bfff, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+drotrv $s0, $s1, $s2 :: rd 0x69894df47405d301, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+drotrv $t0, $t1, $t2 :: rd 0x8ffffffffffbcd37, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+drotrv $s0, $s1, $s2 :: rd 0x65d836d8e50c85fb, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+drotrv $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+drotrv $s0, $s1, $s2 :: rd 0x2b8e4e960c03c0a7, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+drotrv $t0, $t1, $t2 :: rd 0xffffffcbffd687ff, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+drotrv $s0, $s1, $s2 :: rd 0x532bfb7b8fd785b3, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+drotrv $t0, $t1, $t2 :: rd 0xffffa2f3366bffff, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+drotrv $s0, $s1, $s2 :: rd 0x8f7c680b691152c, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+drotrv $t0, $t1, $t2 :: rd 0x3ee816fffffffff6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+drotrv $s0, $s1, $s2 :: rd 0xa644eb7f5fa5aa33, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+drotrv $t0, $t1, $t2 :: rd 0xe00000000690ce0e, rs 0x34867077, rt 0xffffffff857130c3
+drotrv $s0, $s1, $s2 :: rd 0xde230867a630f6ad, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+drotrv $t0, $t1, $t2 :: rd 0x30476dc0000, rs 0x30476dc0, rt 0xffffffff81b02d74
+drotrv $s0, $s1, $s2 :: rd 0xa0cf2561032602c0, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+drotrv $t0, $t1, $t2 :: rd 0x1e82258c80000, rs 0x3d044b19, rt 0xffffffff8cf30bad
+drotrv $s0, $s1, $s2 :: rd 0xa2124d8c77ca5482, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+drotrv $t0, $t1, $t2 :: rd 0x7155ab800000000e, rs 0x39c556ae, rt 0xffffffff8832161a
+drotrv $s0, $s1, $s2 :: rd 0x8cfdaadab7e6f7ca, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+drotrv $t0, $t1, $t2 :: rd 0x4f040d5600000000, rs 0x278206ab, rt 0xffffffff9675461f
+drotrv $s0, $s1, $s2 :: rd 0x418cdc0ed7c10023, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+drotrv $t0, $t1, $t2 :: rd 0x23431b1c000000, rs 0x23431b1c, rt 0xffffffff92b45ba8
+drotrv $s0, $s1, $s2 :: rd 0xd918c394b4ae4be5, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+drotrv $t0, $t1, $t2 :: rd 0x17001ee28000, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+drotrv $s0, $s1, $s2 :: rd 0x5a6ddc25dc8bf8b9, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+drotrv $t0, $t1, $t2 :: rd 0xc800000000ab0481, rs 0x2ac12072, rt 0xffffffff9b3660c6
+drotrv $s0, $s1, $s2 :: rd 0x9d476b1858bcc033, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+drotrv $t0, $t1, $t2 :: rd 0x251d3b9e0, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+drotrv $s0, $s1, $s2 :: rd 0x42833bc7ef9dd295, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+drotrv $t0, $t1, $t2 :: rd 0x7800000000164f8, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+drotrv $s0, $s1, $s2 :: rd 0xd00b1f7da78479fa, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+drotrv $t0, $t1, $t2 :: rd 0x65350800000000d8, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+drotrv $s0, $s1, $s2 :: rd 0x235105a29adb6628, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+drotrv $t0, $t1, $t2 :: rd 0x7f36ec580000000, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+drotrv $s0, $s1, $s2 :: rd 0x4fd460e077398d1, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+drotrv $t0, $t1, $t2 :: rd 0x315d626000000, rs 0x18aeb13, rt 0xffffffffb07daba7
+drotrv $s0, $s1, $s2 :: rd 0xe4627f3fe5255fc, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+drotrv $t0, $t1, $t2 :: rd 0xf6a400000000054b, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+drotrv $s0, $s1, $s2 :: rd 0xd392e176321f28cc, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+drotrv $t0, $t1, $t2 :: rd 0x3e80000000040468, rs 0x808d07d, rt 0xffffffffb9ff90c9
+drotrv $s0, $s1, $s2 :: rd 0x2510063f63e0a519, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+drotrv $t0, $t1, $t2 :: rd 0x33273728, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+drotrv $s0, $s1, $s2 :: rd 0x4052e8f0e515d32, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+drotrv $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+drotrv $s0, $s1, $s2 :: rd 0x1f2be0f4a203fcd1, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+drotrv $t0, $t1, $t2 :: rd 0x7c56b6b, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+drotrv $s0, $s1, $s2 :: rd 0x7bf5fc55a8131d1f, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+drotrv $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+drotrv $s0, $s1, $s2 :: rd 0x1c0f31d71093e260, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+drotrv $t0, $t1, $t2 :: rd 0x1d752377800000, rs 0x75d48dde, rt 0xffffffffc423cd6a
+drotrv $s0, $s1, $s2 :: rd 0xcf22639b267c3c34, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+drotrv $t0, $t1, $t2 :: rd 0xd727bbb60000, rs 0x6b93dddb, rt 0xffffffffda649d6f
+drotrv $s0, $s1, $s2 :: rd 0x4852d6eb4edf484e, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+drotrv $t0, $t1, $t2 :: rd 0x52c06c000000006f, rs 0x6f52c06c, rt 0xffffffffdea580d8
+drotrv $s0, $s1, $s2 :: rd 0x2b5694b716909cf7, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+drotrv $t0, $t1, $t2 :: rd 0x800000003108f35a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+drotrv $s0, $s1, $s2 :: rd 0x2d41223fb6e152e0, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+drotrv $t0, $t1, $t2 :: rd 0x19b43ec0800, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+drotrv $s0, $s1, $s2 :: rd 0x301f705a1db227a, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+drotrv $t0, $t1, $t2 :: rd 0xd7e00000000bd3e8, rs 0x5e9f46bf, rt 0xffffffffef68060b
+drotrv $s0, $s1, $s2 :: rd 0x91e0e1b868a97fc6, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+drotrv $t0, $t1, $t2 :: rd 0x5a5e5b080, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+drotrv $s0, $s1, $s2 :: rd 0x1c48f75b4906ef77, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+drotrv $t0, $t1, $t2 :: rd 0x2b8ebee88000000, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+drotrv $s0, $s1, $s2 :: rd 0x2cfe75f7b17db93d, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+drotrv $t0, $t1, $t2 :: rd 0x18198000000014f7, rs 0x53dc6066, rt 0xffffffffe22b20d2
+drotrv $s0, $s1, $s2 :: rd 0x84f93f487cfa37d8, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+drotrv $t0, $t1, $t2 :: rd 0x3660c6000000009b, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+drotrv $s0, $s1, $s2 :: rd 0x1ed54d7e8cceb9fb, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+drotrv $t0, $t1, $t2 :: rd 0x495a2dd400000000, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+drotrv $s0, $s1, $s2 :: rd 0xba8f5213cb6f2cc4, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+drotrv $t0, $t1, $t2 :: rd 0x220c858680, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+drotrv $s0, $s1, $s2 :: rd 0xfeab693f93187cd4, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+drotrv $t0, $t1, $t2 :: rd 0x5ae8000000010360, rs 0x40d816ba, rt 0xfffffffff12f560e
+drotrv $s0, $s1, $s2 :: rd 0x38a8613045843770, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+drotrv $t0, $t1, $t2 :: rd 0xf594b8d2ffffffff, rs 0xffffffffaca5c697, rt 0x1d528623
+drotrv $s0, $s1, $s2 :: rd 0xbb24afe4bca8ea1a, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+drotrv $t0, $t1, $t2 :: rd 0x4db20ffffffffa86, rs 0xffffffffa864db20, rt 0x19939b94
+drotrv $s0, $s1, $s2 :: rd 0x6b67ad2c4bfd34db, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+drotrv $t0, $t1, $t2 :: rd 0xefcffffffffd293f, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+drotrv $s0, $s1, $s2 :: rd 0xd02b259c28f81090, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+drotrv $t0, $t1, $t2 :: rd 0xffffffe879b813bf, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+drotrv $s0, $s1, $s2 :: rd 0xe06d3002e3d808f1, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+drotrv $t0, $t1, $t2 :: rd 0xffffffff7f436097, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+drotrv $s0, $s1, $s2 :: rd 0x9f253c679d0734a3, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+drotrv $t0, $t1, $t2 :: rd 0xfcffffffffbb60ad, rs 0xffffffffbb60adfc, rt 0xa97ed48
+drotrv $s0, $s1, $s2 :: rd 0xeb68958e2fbfa895, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+drotrv $t0, $t1, $t2 :: rd 0xc592ffffffffdb11, rs 0xffffffffb6238b25, rt 0x7d4cb91
+drotrv $s0, $s1, $s2 :: rd 0x2ec175dbb496df49, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+drotrv $t0, $t1, $t2 :: rd 0xfecb8a5a4bffffff, rs 0xffffffffb2e29692, rt 0x315d626
+drotrv $s0, $s1, $s2 :: rd 0x5a0b05c0c4bc43ae, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+drotrv $t0, $t1, $t2 :: rd 0x55a565fffffffff1, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+drotrv $s0, $s1, $s2 :: rd 0xd84785280dd301d, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+drotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+drotrv $s0, $s1, $s2 :: rd 0xe3f5bbc5e71dea87, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+drotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+drotrv $s0, $s1, $s2 :: rd 0x22267694cc21b693, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+drotrv $t0, $t1, $t2 :: rd 0xbfffffffe1fb837d, rs 0xffffffff87ee0df6, rt 0x36194d42
+drotrv $s0, $s1, $s2 :: rd 0x5384038bae4eeac6, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+drotrv $t0, $t1, $t2 :: rd 0xe7ffffffff3352bb, rs 0xffffffff99a95df3, rt 0x285e1d47
+drotrv $s0, $s1, $s2 :: rd 0x3287663d06105583, rs 0x663d061055833287, rt 0xb620660a49732b90
+drotrv $t0, $t1, $t2 :: rd 0xffff9d684044ffff, rs 0xffffffff9d684044, rt 0x2c9f00f0
+drotrv $s0, $s1, $s2 :: rd 0x951d68bab7dd0488, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+drotrv $t0, $t1, $t2 :: rd 0xffc815b34effffff, rs 0xffffffff902b669d, rt 0x21dc2629
+drotrv $s0, $s1, $s2 :: rd 0xa608d9c3a091c6fd, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+drotrv $t0, $t1, $t2 :: rd 0x53a9ecabfffffffe, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+drotrv $s0, $s1, $s2 :: rd 0x21b16766349ac8da, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+drotrv $t0, $t1, $t2 :: rd 0x83bcfffffffffc16, rs 0xffffffffe0b41de7, rt 0x51435d53
+drotrv $s0, $s1, $s2 :: rd 0x32be47909ca4bdbd, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+drotrv $t0, $t1, $t2 :: rd 0xfe4750050fffffff, rs 0xffffffffe4750050, rt 0x558240e4
+drotrv $s0, $s1, $s2 :: rd 0xc5cc3ffabafa3b32, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+drotrv $t0, $t1, $t2 :: rd 0xffffffff49b1344f, rs 0xffffffffe9362689, rt 0x58c1663d
+drotrv $s0, $s1, $s2 :: rd 0xf9fa32a9f6569ba6, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+drotrv $t0, $t1, $t2 :: rd 0xcfbffffffffb7dce, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+drotrv $s0, $s1, $s2 :: rd 0xa9cba6ae5f4fbb7c, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+drotrv $t0, $t1, $t2 :: rd 0xd677ffffffffe760, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+drotrv $s0, $s1, $s2 :: rd 0xe666d4deff478193, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+drotrv $t0, $t1, $t2 :: rd 0xfffffff771768cff, rs 0xfffffffff771768c, rt 0x46863638
+drotrv $s0, $s1, $s2 :: rd 0xb9177271c62abd93, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+drotrv $t0, $t1, $t2 :: rd 0xfd19282affffffff, rs 0xfffffffffa325055, rt 0x4bc510e1
+drotrv $s0, $s1, $s2 :: rd 0x20ca3c103696f92e, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+drotrv $t0, $t1, $t2 :: rd 0xcd378bfffffffffb, rs 0xfffffffffef34de2, rt 0x4f040d56
+drotrv $s0, $s1, $s2 :: rd 0xf27eb321825bc65b, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+drotrv $t0, $t1, $t2 :: rd 0xfff8d79e0bffffff, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+drotrv $s0, $s1, $s2 :: rd 0x611fccf5178fb551, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+drotrv $t0, $t1, $t2 :: rd 0x27dede8ffffffffc, rs 0xffffffffc27dede8, rt 0x738aad5c
+drotrv $s0, $s1, $s2 :: rd 0xf44295ade57c6fe6, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+drotrv $t0, $t1, $t2 :: rd 0x8ffffffffe79f659, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+drotrv $s0, $s1, $s2 :: rd 0x35324d208f12136b, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+drotrv $t0, $t1, $t2 :: rd 0xfffff2fff5a1bfff, rs 0xffffffffcbffd686, rt 0x7a089632
+drotrv $s0, $s1, $s2 :: rd 0x83efecc7321e15cd, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+drotrv $t0, $t1, $t2 :: rd 0xffffffab710d07ff, rs 0xffffffffd5b88683, rt 0x644fc637
+drotrv $s0, $s1, $s2 :: rd 0xd15b32f6af3fc4f4, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+drotrv $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+drotrv $s0, $s1, $s2 :: rd 0xd46af20aed4a3a5b, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+drotrv $t0, $t1, $t2 :: rd 0x1d5ef6ffffffffee, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+drotrv $s0, $s1, $s2 :: rd 0x6b3537d2af90fccf, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+drotrv $t0, $t1, $t2 :: rd 0xffff63ee816bffff, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+drotrv $s0, $s1, $s2 :: rd 0x12e447af9fc572c3, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+drotrv $t0, $t1, $t2 :: rd 0x43383b800000001a, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+drotrv $s0, $s1, $s2 :: rd 0xe69496841669ea66, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+drotrv $t0, $t1, $t2 :: rd 0x36e6feac80000, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+drotrv $s0, $s1, $s2 :: rd 0x33c897c8c8ddd46b, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+drotrv $t0, $t1, $t2 :: rd 0x608edb80000, rs 0x608edb80, rt 0xffffffffd1799b34
+drotrv $s0, $s1, $s2 :: rd 0x5e392ccd97a38744, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+drotrv $t0, $t1, $t2 :: rd 0xe00000000c89f8c6, rs 0x644fc637, rt 0xffffffffd5b88683
+drotrv $s0, $s1, $s2 :: rd 0x76000032544bca6c, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+drotrv $t0, $t1, $t2 :: rd 0xc800000001e82258, rs 0x7a089632, rt 0xffffffffcbffd686
+drotrv $s0, $s1, $s2 :: rd 0x415d5bdab8a7b5a, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+drotrv $t0, $t1, $t2 :: rd 0x3f64c5c28000, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+drotrv $s0, $s1, $s2 :: rd 0xeb98f751adc53114, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+drotrv $t0, $t1, $t2 :: rd 0x738aad5c000000, rs 0x738aad5c, rt 0xffffffffc27dede8
+drotrv $s0, $s1, $s2 :: rd 0x9e489856492c3c3f, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+drotrv $t0, $t1, $t2 :: rd 0xee9761d600000000, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+drotrv $s0, $s1, $s2 :: rd 0x2702dddffd879e37, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+drotrv $t0, $t1, $t2 :: rd 0x13c1035580000000, rs 0x4f040d56, rt 0xfffffffffef34de2
+drotrv $s0, $s1, $s2 :: rd 0xeaf3476114cd87, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+drotrv $t0, $t1, $t2 :: rd 0x288708000000025e, rs 0x4bc510e1, rt 0xfffffffffa325055
+drotrv $s0, $s1, $s2 :: rd 0x95f0ec119cf431b8, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+drotrv $t0, $t1, $t2 :: rd 0x6380000000046863, rs 0x46863638, rt 0xfffffffff771768c
+drotrv $s0, $s1, $s2 :: rd 0x7fb6587164e17c1e, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+drotrv $t0, $t1, $t2 :: rd 0x848e571e0, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+drotrv $s0, $s1, $s2 :: rd 0x94516ada92a17f49, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+drotrv $t0, $t1, $t2 :: rd 0x17001ee28, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+drotrv $s0, $s1, $s2 :: rd 0x297cff4115cbd346, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+drotrv $t0, $t1, $t2 :: rd 0x1e800000002c60b3, rs 0x58c1663d, rt 0xffffffffe9362689
+drotrv $s0, $s1, $s2 :: rd 0x2b2c938bf17d02c8, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+drotrv $t0, $t1, $t2 :: rd 0x40e4000000005582, rs 0x558240e4, rt 0xffffffffe4750050
+drotrv $s0, $s1, $s2 :: rd 0x9cd362ef9464b2f, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+drotrv $t0, $t1, $t2 :: rd 0xa286baa6000000, rs 0x51435d53, rt 0xffffffffe0b41de7
+drotrv $s0, $s1, $s2 :: rd 0x46aa1e50f927ae7e, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+drotrv $t0, $t1, $t2 :: rd 0x9474ee7800000, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+drotrv $s0, $s1, $s2 :: rd 0xdb2838d1678d92ba, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+drotrv $t0, $t1, $t2 :: rd 0xee1314800000001, rs 0x21dc2629, rt 0xffffffff902b669d
+drotrv $s0, $s1, $s2 :: rd 0xf301f58a65c31c3, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+drotrv $t0, $t1, $t2 :: rd 0x2c9f00f, rs 0x2c9f00f0, rt 0xffffffff9d684044
+drotrv $s0, $s1, $s2 :: rd 0xa3967fbd8529e50f, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+drotrv $t0, $t1, $t2 :: rd 0x50bc3a8e000, rs 0x285e1d47, rt 0xffffffff99a95df3
+drotrv $s0, $s1, $s2 :: rd 0x216c40cc1492e657, rs 0xb620660a49732b90, rt 0x663d061055833287
+drotrv $t0, $t1, $t2 :: rd 0xd865350800, rs 0x36194d42, rt 0xffffffff87ee0df6
+drotrv $s0, $s1, $s2 :: rd 0x91993138f16cfde9, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+drotrv $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+drotrv $s0, $s1, $s2 :: rd 0x899beaa03dcef016, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+drotrv $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+drotrv $s0, $s1, $s2 :: rd 0x21c3c3b562b42747, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+drotrv $t0, $t1, $t2 :: rd 0x76b4d7360000, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+drotrv $s0, $s1, $s2 :: rd 0xb643a1a48d341438, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+drotrv $t0, $t1, $t2 :: rd 0x75898000000000c5, rs 0x315d626, rt 0xffffffffb2e29692
+drotrv $s0, $s1, $s2 :: rd 0xa02576f14979467f, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+drotrv $t0, $t1, $t2 :: rd 0x3ea65c88000000, rs 0x7d4cb91, rt 0xffffffffb6238b25
+drotrv $s0, $s1, $s2 :: rd 0x9d81b63f06ec6d73, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+drotrv $t0, $t1, $t2 :: rd 0xa97ed480, rs 0xa97ed48, rt 0xffffffffbb60adfc
+drotrv $s0, $s1, $s2 :: rd 0x9771c2eaa5aa705, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+drotrv $t0, $t1, $t2 :: rd 0x1fe000000001cade, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+drotrv $s0, $s1, $s2 :: rd 0xc30ea4837a64ea71, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+drotrv $t0, $t1, $t2 :: rd 0x83e8000000004046, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+drotrv $s0, $s1, $s2 :: rd 0x2dce6dad0ba7e152, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+drotrv $t0, $t1, $t2 :: rd 0xa685ea680, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+drotrv $s0, $s1, $s2 :: rd 0x2ee869e3939433b3, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+drotrv $t0, $t1, $t2 :: rd 0x19939b9400000000, rs 0x19939b94, rt 0xffffffffa864db20
+drotrv $s0, $s1, $s2 :: rd 0xb3a4f97ed6df47f9, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+drotrv $t0, $t1, $t2 :: rd 0xa50c46000000003a, rs 0x1d528623, rt 0xffffffffaca5c697
+drotrv $s0, $s1, $s2 :: rd 0x1d71f4a11b9c8b24, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+drotrv $t0, $t1, $t2 :: rd 0xfffffffc4bd583bf, rs 0xfffffffff12f560e, rt 0x40d816ba
+drotrv $s0, $s1, $s2 :: rd 0xe128561276af70a, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+drotrv $t0, $t1, $t2 :: rd 0x5dcfffffffffaf72, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+drotrv $s0, $s1, $s2 :: rd 0xb80c116fdad79d2d, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+drotrv $t0, $t1, $t2 :: rd 0xd6d60fffffffff8a, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+drotrv $s0, $s1, $s2 :: rd 0x8fc4c22b33e98808, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+drotrv $t0, $t1, $t2 :: rd 0xff8d8e1affffffff, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+drotrv $s0, $s1, $s2 :: rd 0xed6bebf078aae872, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+drotrv $t0, $t1, $t2 :: rd 0xff88ac834bffffff, rs 0xffffffffe22b20d2, rt 0x53dc6066
+drotrv $s0, $s1, $s2 :: rd 0xf2e41f28d24787a3, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+drotrv $t0, $t1, $t2 :: rd 0x1eb2fffffffff375, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+drotrv $s0, $s1, $s2 :: rd 0x8834a141b4912375, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+drotrv $t0, $t1, $t2 :: rd 0xbcffffffffeba91b, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+drotrv $s0, $s1, $s2 :: rd 0xfe94e64c14a43d33, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+drotrv $t0, $t1, $t2 :: rd 0xffffffffded00c17, rs 0xffffffffef68060b, rt 0x5e9f46bf
+drotrv $s0, $s1, $s2 :: rd 0x1e16b411e756b8d0, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+drotrv $t0, $t1, $t2 :: rd 0xbffffffff5c9eeed, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+drotrv $s0, $s1, $s2 :: rd 0xe7800f3d26c7a59b, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+drotrv $t0, $t1, $t2 :: rd 0xfffffe9f35300fff, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+drotrv $s0, $s1, $s2 :: rd 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+drotrv $t0, $t1, $t2 :: rd 0xfffdea580d8fffff, rs 0xffffffffdea580d8, rt 0x6f52c06c
+drotrv $s0, $s1, $s2 :: rd 0xe8983467734ae184, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+drotrv $t0, $t1, $t2 :: rd 0x4c93adfffffffffb, rs 0xffffffffda649d6f, rt 0x6b93dddb
+drotrv $s0, $s1, $s2 :: rd 0x161d177cfe4a3159, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+drotrv $t0, $t1, $t2 :: rd 0x108f35abffffffff, rs 0xffffffffc423cd6a, rt 0x75d48dde
+drotrv $s0, $s1, $s2 :: rd 0xcad1a5f9e90d6e87, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+drotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+drotrv $s0, $s1, $s2 :: rd 0x1728126f646f34c3, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+drotrv $t0, $t1, $t2 :: rd 0xffffcda1f604ffff, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+drotrv $s0, $s1, $s2 :: rd 0xf89a25556032c2ad, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+drotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+drotrv $s0, $s1, $s2 :: rd 0x27535cd338595d34, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+drotrv $t0, $t1, $t2 :: rd 0x5fbfffffffef4fa3, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+drotrv $s0, $s1, $s2 :: rd 0xd2111a3766fd92a6, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+drotrv $t0, $t1, $t2 :: rd 0xfffffffdcffc864f, rs 0xffffffffb9ff90c9, rt 0x808d07d
+drotrv $s0, $s1, $s2 :: rd 0x565550ce4d920103, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+drotrv $t0, $t1, $t2 :: rd 0xfb4bcb610fffffff, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+drotrv $s0, $s1, $s2 :: rd 0xa1679d74389bfeff, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+drotrv $t0, $t1, $t2 :: rd 0xb574fffffffff60f, rs 0xffffffffb07daba7, rt 0x18aeb13
+drotrv $s0, $s1, $s2 :: rd 0xc7699826b7dee244, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+drotrv $t0, $t1, $t2 :: rd 0xebee8bfffffffeb8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+drotrv $s0, $s1, $s2 :: rd 0xce094780f5f2ff74, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+drotrv $t0, $t1, $t2 :: rd 0xd57df30affffffff, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+drotrv $s0, $s1, $s2 :: rd 0xff9484d937013162, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+drotrv $t0, $t1, $t2 :: rd 0xffffffa7b8c0ccff, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+drotrv $s0, $s1, $s2 :: rd 0x356f5d79c1ef76b1, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+drotrv $t0, $t1, $t2 :: rd 0xbaf7ffffffff46f3, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+drotrv $s0, $s1, $s2 :: rd 0x954de336c60cdeeb, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+drotrv $t0, $t1, $t2 :: rd 0xffffe6cd9831bfff, rs 0xffffffff9b3660c6, rt 0x2ac12072
+drotrv $s0, $s1, $s2 :: rd 0x2418dea482ddab64, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+drotrv $t0, $t1, $t2 :: rd 0x8ffffffffcffbbeb, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+drotrv $s0, $s1, $s2 :: rd 0xb45a9fefcc51469, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+drotrv $t0, $t1, $t2 :: rd 0x2b45ba8ffffffff9, rs 0xffffffff92b45ba8, rt 0x23431b1c
+drotrv $s0, $s1, $s2 :: rd 0xb654a4e7e07986a2, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+drotrv $t0, $t1, $t2 :: rd 0xfff2cea8c3ffffff, rs 0xffffffff9675461f, rt 0x278206ab
+drotrv $s0, $s1, $s2 :: rd 0x49136ab52e9d5887, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+drotrv $t0, $t1, $t2 :: rd 0xfffe20c8586bffff, rs 0xffffffff8832161a, rt 0x39c556ae
+drotrv $s0, $s1, $s2 :: rd 0xcbc7e3d68e230589, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+drotrv $t0, $t1, $t2 :: rd 0x7985d6ffffffffc6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+drotrv $s0, $s1, $s2 :: rd 0x3e8bce92bd53d182, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+drotrv $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+drotrv $s0, $s1, $s2 :: rd 0x5cc1c8b4adaa5a76, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+drotrv $t0, $t1, $t2 :: rd 0xffffff0ae26187ff, rs 0xffffffff857130c3, rt 0x34867077
+drotrv $s0, $s1, $s2 :: rd 0x7446fd302e03d5a6, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+drotrv $t0, $t1, $t2 :: rd 0x2ec5484c80000, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+drotrv $s0, $s1, $s2 :: rd 0x9669ec13ed0ab5b9, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+drotrv $t0, $t1, $t2 :: rd 0x52e34b8000000016, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+drotrv $s0, $s1, $s2 :: rd 0x2f4bf8485ab72892, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+drotrv $t0, $t1, $t2 :: rd 0xe00000000a81157e, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+drotrv $s0, $s1, $s2 :: rd 0xb061db353fdbb51e, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+drotrv $t0, $t1, $t2 :: rd 0x50c9b640000, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+drotrv $s0, $s1, $s2 :: rd 0x7831abff70a3b68c, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+drotrv $t0, $t1, $t2 :: rd 0x274773228000, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+drotrv $s0, $s1, $s2 :: rd 0xe19333aa6c0d7697, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+drotrv $t0, $t1, $t2 :: rd 0xc800000001293fef, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+drotrv $s0, $s1, $s2 :: rd 0x8197e09640dbc8cf, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+drotrv $t0, $t1, $t2 :: rd 0x8e19ba5600000000, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+drotrv $s0, $s1, $s2 :: rd 0xac7df107098e5df9, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+drotrv $t0, $t1, $t2 :: rd 0x43cdc09c000000, rs 0x43cdc09c, rt 0xfffffffff23a8028
+drotrv $s0, $s1, $s2 :: rd 0x6b0071638f76d454, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+drotrv $t0, $t1, $t2 :: rd 0x13e90800000003dc, rs 0x7b827d21, rt 0xffffffffca753d95
+drotrv $s0, $s1, $s2 :: rd 0x57afd8487729df24, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+drotrv $t0, $t1, $t2 :: rd 0x1fd0d82580000000, rs 0x7f436096, rt 0xffffffffceb42022
+drotrv $s0, $s1, $s2 :: rd 0x5cbd559bb3fb228f, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+drotrv $t0, $t1, $t2 :: rd 0xe4008c9e0, rs 0x7200464f, rt 0xffffffffc3f706fb
+drotrv $s0, $s1, $s2 :: rd 0x7a4445eee11c3e6, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+drotrv $t0, $t1, $t2 :: rd 0xbf80000000076c15, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+drotrv $s0, $s1, $s2 :: rd 0x5d58d4a65c00ba85, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+drotrv $t0, $t1, $t2 :: rd 0xfe80000000344305, rs 0x68860bfd, rt 0xffffffffd9714b49
+drotrv $s0, $s1, $s2 :: rd 0x419fb9e6314abf36, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+drotrv $t0, $t1, $t2 :: rd 0x1b11c5928, rs 0x6c47164a, rt 0xffffffffddb056fe
+drotrv $s0, $s1, $s2 :: rd 0x124eaacd546b9556, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+drotrv $t0, $t1, $t2 :: rd 0xc2086126000000, rs 0x61043093, rt 0xffffffffd0f37027
+drotrv $s0, $s1, $s2 :: rd 0x3b2784259876066b, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+drotrv $t0, $t1, $t2 :: rd 0x2d240000000065c5, rs 0x65c52d24, rt 0xffffffffd4326d90
+drotrv $s0, $s1, $s2 :: rd 0x3ac0792468fdf7f, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+drotrv $t0, $t1, $t2 :: rd 0x8cda5f4800000000, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+drotrv $s0, $s1, $s2 :: rd 0xc3d5f8d739b55b99, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+drotrv $t0, $t1, $t2 :: rd 0x5569597800000, rs 0x155a565e, rt 0xffffffffa4ad16ea
+drotrv $s0, $s1, $s2 :: rd 0xb234ca4e222a505, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+drotrv $t0, $t1, $t2 :: rd 0x3032e10e000, rs 0x18197087, rt 0xffffffffa9ee3033
+drotrv $s0, $s1, $s2 :: rd 0x386507a42b53f73c, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+drotrv $t0, $t1, $t2 :: rd 0x1cd86d3, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+drotrv $s0, $s1, $s2 :: rd 0xa8105e36570124a, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+drotrv $t0, $t1, $t2 :: rd 0x80000000014f9e9a, rs 0x29f3d35, rt 0xffffffffb3687d81
+drotrv $s0, $s1, $s2 :: rd 0x12f00b1e7e5cf492, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+drotrv $t0, $t1, $t2 :: rd 0x1978820800, rs 0x65e2082, rt 0xffffffffb7a96036
+drotrv $s0, $s1, $s2 :: rd 0x9412eb6354eeb699, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+drotrv $t0, $t1, $t2 :: rd 0x163a0cb60000, rs 0xb1d065b, rt 0xffffffffbaea46ef
+drotrv $s0, $s1, $s2 :: rd 0x1457094c6a22204, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+drotrv $t0, $t1, $t2 :: rd 0xdc1bec000000000f, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+drotrv $s0, $s1, $s2 :: rd 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+drotrv $t0, $t1, $t2 :: rd 0x1bc9d3288000000, rs 0x3793a651, rt 0xffffffff8664e6e5
+drotrv $s0, $s1, $s2 :: rd 0x91b79941dedda3d9, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+drotrv $t0, $t1, $t2 :: rd 0xaef9800000000cd4, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+drotrv $s0, $s1, $s2 :: rd 0x96906b41b2a10ea3, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+drotrv $t0, $t1, $t2 :: rd 0xa7e000000007c233, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+drotrv $s0, $s1, $s2 :: rd 0xd35625bb2d3949ca, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+drotrv $t0, $t1, $t2 :: rd 0x3ad080880, rs 0x3ad08088, rt 0xffffffff8b27c03c
+drotrv $s0, $s1, $s2 :: rd 0x297397f567f35a69, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+drotrv $t0, $t1, $t2 :: rd 0x124be84680, rs 0x2497d08d, rt 0xffffffff95609039
+drotrv $s0, $s1, $s2 :: rd 0xb711c1b71afa4e30, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+drotrv $t0, $t1, $t2 :: rd 0x34e800000000815b, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+drotrv $s0, $s1, $s2 :: rd 0x99a45fac37224ab4, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+drotrv $t0, $t1, $t2 :: rd 0x2bd7c6000000005a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+drotrv $s0, $s1, $s2 :: rd 0x63f7b1048d589a43, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+drotrv $t0, $t1, $t2 :: rd 0x29d4f65400000000, rs 0x29d4f654, rt 0xffffffff9823b6e0
+drotrv $s0, $s1, $s2 :: rd 0x11e8c0af20d4daae, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+drotrv $t0, $t1, $t2 :: rd 0x33cffffffffe2d49, rs 0xffffffffc5a92679, rt 0x745e66cd
+drotrv $s0, $s1, $s2 :: rd 0xd2ffab1d9757bc6a, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+drotrv $t0, $t1, $t2 :: rd 0xfffffff05a0ef3bf, rs 0xffffffffc1683bce, rt 0x709f7b7a
+drotrv $s0, $s1, $s2 :: rd 0x97c55d5523f42302, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+drotrv $t0, $t1, $t2 :: rd 0xf98563a2ffffffff, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+drotrv $s0, $s1, $s2 :: rd 0xb8bb640fb8ed98dd, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+drotrv $t0, $t1, $t2 :: rd 0xa00a0ffffffffc8e, rs 0xffffffffc8ea00a0, rt 0x791d4014
+drotrv $s0, $s1, $s2 :: rd 0x3547aaf15e332f8, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+drotrv $t0, $t1, $t2 :: rd 0xa852ffffffffeb56, rs 0xffffffffd6ad50a5, rt 0x675a1011
+drotrv $s0, $s1, $s2 :: rd 0xc2ac8bdf88928705, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+drotrv $t0, $t1, $t2 :: rd 0xff49b1344bffffff, rs 0xffffffffd26c4d12, rt 0x639b0da6
+drotrv $s0, $s1, $s2 :: rd 0x89651112b53d4bc7, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+drotrv $t0, $t1, $t2 :: rd 0xffffffffbe5ed797, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+drotrv $s0, $s1, $s2 :: rd 0x6542a4ee047b80be, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+drotrv $t0, $t1, $t2 :: rd 0x7cffffffffdbee76, rs 0xffffffffdbee767c, rt 0x6a1936c8
+drotrv $s0, $s1, $s2 :: rd 0x4f19e5a832d13baa, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+drotrv $t0, $t1, $t2 :: rd 0xffffff1d0e5e0fff, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+drotrv $s0, $s1, $s2 :: rd 0x9c7f281b03ad95ff, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+drotrv $t0, $t1, $t2 :: rd 0xbffffffff9d8359d, rs 0xffffffffe760d676, rt 0x569796c2
+drotrv $s0, $s1, $s2 :: rd 0x315eae9dac727bf0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+drotrv $t0, $t1, $t2 :: rd 0x447e15fffffffffd, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+drotrv $s0, $s1, $s2 :: rd 0x45d2040046cee15e, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+drotrv $t0, $t1, $t2 :: rd 0xfffeee2ed18fffff, rs 0xffffffffeee2ed18, rt 0x5f15adac
+drotrv $s0, $s1, $s2 :: rd 0xec0f7db63d7e8622, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+drotrv $t0, $t1, $t2 :: rd 0xfff852de8effffff, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+drotrv $s0, $s1, $s2 :: rd 0x20462b7ddb1e6a30, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+drotrv $t0, $t1, $t2 :: rd 0xd19282abffffffff, rs 0xfffffffff464a0aa, rt 0x4593e01e
+drotrv $s0, $s1, $s2 :: rd 0xf7dcccaf7eaf56d7, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+drotrv $t0, $t1, $t2 :: rd 0xe7fffffffff24f0c, rs 0xfffffffff9278673, rt 0x48d0c6c7
+drotrv $s0, $s1, $s2 :: rd 0x4cfac94c218d0186, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+drotrv $t0, $t1, $t2 :: rd 0xfffffde69bc4ffff, rs 0xfffffffffde69bc4, rt 0x4c11db70
+drotrv $s0, $s1, $s2 :: rd 0x98a5782e91b44c96, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+drotrv $t0, $t1, $t2 :: rd 0xfffffffc4dc7e84f, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+drotrv $s0, $s1, $s2 :: rd 0x1269fbf93526057d, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+drotrv $t0, $t1, $t2 :: rd 0x2fbfffffffe35e78, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+drotrv $s0, $s1, $s2 :: rd 0x4009e30f14874603, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+drotrv $t0, $t1, $t2 :: rd 0x58ccfffffffff007, rs 0xffffffff803ac667, rt 0x31cd86d3
+drotrv $s0, $s1, $s2 :: rd 0xf4bbd212894983a6, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+drotrv $t0, $t1, $t2 :: rd 0xf84fbdbd0fffffff, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+drotrv $s0, $s1, $s2 :: rd 0x65fd698fddef9839, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+drotrv $t0, $t1, $t2 :: rd 0xcd5e45eaffffffff, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+drotrv $s0, $s1, $s2 :: rd 0xb5ea5893dc75b036, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+drotrv $t0, $t1, $t2 :: rd 0xf6598bfffffffe79, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+drotrv $s0, $s1, $s2 :: rd 0xed931f4bd54a0f45, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+drotrv $t0, $t1, $t2 :: rd 0x6177ffffffff267d, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+drotrv $s0, $s1, $s2 :: rd 0xac69b96104f2179d, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+drotrv $t0, $t1, $t2 :: rd 0xffffff97ffad0cff, rs 0xffffffff97ffad0c, rt 0x2608edb8
+drotrv $s0, $s1, $s2 :: rd 0xe122a83b30f870b7, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+drotrv $t0, $t1, $t2 :: rd 0x8ffffffffd7d8085, rs 0xffffffffafb010b1, rt 0x1e475005
+drotrv $s0, $s1, $s2 :: rd 0x5bc96cf1261d93c, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+drotrv $t0, $t1, $t2 :: rd 0xffffeadc4341bfff, rs 0xffffffffab710d06, rt 0x1a864db2
+drotrv $s0, $s1, $s2 :: rd 0x6b0d431cc13318f6, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+drotrv $t0, $t1, $t2 :: rd 0xfff4c6457bffffff, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+drotrv $s0, $s1, $s2 :: rd 0xe44cd3de9e55743d, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+drotrv $t0, $t1, $t2 :: rd 0x2f33668ffffffffa, rs 0xffffffffa2f33668, rt 0x130476dc
+drotrv $s0, $s1, $s2 :: rd 0xd63b191359206bc5, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+drotrv $t0, $t1, $t2 :: rd 0x5a3336ffffffffde, rs 0xffffffffbcb4666d, rt 0xd4326d9
+drotrv $s0, $s1, $s2 :: rd 0x199cbf646d6cccd, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+drotrv $t0, $t1, $t2 :: rd 0xfffee1d5ef6bffff, rs 0xffffffffb8757bda, rt 0x9823b6e
+drotrv $s0, $s1, $s2 :: rd 0x5328e3eda9aea775, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+drotrv $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+drotrv $s0, $s1, $s2 :: rd 0x446d6c29b3688be2, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+drotrv $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+drotrv $s0, $s1, $s2 :: rd 0x1986ea104868a9bb, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x95eb5500000000, rs 0x12bd6aa, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x95eb550000, rs 0x12bd6aa, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x95eb550, rs 0x12bd6aa, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc169558980000000, rs 0x7e876382d2ab13, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x43b1c16955898000, rs 0x7e876382d2ab13, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3f43b1c16955898, rs 0x7e876382d2ab13, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4c11db700000000, rs 0x9823b6e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4c11db70000, rs 0x9823b6e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4c11db70, rs 0x9823b6e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x618a887980000000, rs 0x976d6e9ac31510f3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb74d618a88798000, rs 0x976d6e9ac31510f3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbb6b74d618a88798, rs 0x976d6e9ac31510f3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6a1936c80000000, rs 0xd4326d9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6a1936c8000, rs 0xd4326d9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6a1936c8, rs 0xd4326d9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xad6b52fd80000000, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x36bbad6b52fd8000, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbba36bbad6b52fd8, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9823b6e00000000, rs 0x130476dc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9823b6e0000, rs 0x130476dc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9823b6e0, rs 0x130476dc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x433bda8100000000, rs 0x42b0c0a28677b502, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6051433bda810000, rs 0x42b0c0a28677b502, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1586051433bda810, rs 0x42b0c0a28677b502, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbe2b5b580000000, rs 0x17c56b6b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xbe2b5b58000, rs 0x17c56b6b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbe2b5b58, rs 0x17c56b6b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcf1e185680000000, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4e98cf1e18568000, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5544e98cf1e18568, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd4326d900000000, rs 0x1a864db2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd4326d90000, rs 0x1a864db2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd4326d90, rs 0x1a864db2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbbfda09e80000000, rs 0x1f308ec377fb413d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4761bbfda09e8000, rs 0x1f308ec377fb413d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf984761bbfda09e8, rs 0x1f308ec377fb413d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf23a80280000000, rs 0x1e475005, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf23a8028000, rs 0x1e475005, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf23a8028, rs 0x1e475005, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe3b0727b80000000, rs 0x7aa04213c760e4f7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2109e3b0727b8000, rs 0x7aa04213c760e4f7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd502109e3b0727b8, rs 0x7aa04213c760e4f7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x130476dc00000000, rs 0x2608edb8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x130476dc0000, rs 0x2608edb8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x130476dc0, rs 0x2608edb8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8d6c6e5000000000, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2e628d6c6e500000, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf382e628d6c6e500, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1164f80780000000, rs 0x22c9f00f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1164f8078000, rs 0x22c9f00f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1164f8078, rs 0x22c9f00f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4b0ad30680000000, rs 0x4b3dda869615a60d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xed434b0ad3068000, rs 0x4b3dda869615a60d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x59eed434b0ad3068, rs 0x4b3dda869615a60d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x17c56b6b00000000, rs 0x2f8ad6d6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x17c56b6b0000, rs 0x2f8ad6d6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x17c56b6b0, rs 0x2f8ad6d6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb1a9ea0e80000000, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd26eb1a9ea0e8000, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2f3d26eb1a9ea0e8, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x15a5e5b080000000, rs 0x2b4bcb61, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x15a5e5b08000, rs 0x2b4bcb61, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x15a5e5b08, rs 0x2b4bcb61, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe205ea0980000000, rs 0x3af35a9dc40bd413, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xad4ee205ea098000, rs 0x3af35a9dc40bd413, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd79ad4ee205ea098, rs 0x3af35a9dc40bd413, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1a864db200000000, rs 0x350c9b64, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1a864db20000, rs 0x350c9b64, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1a864db20, rs 0x350c9b64, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4d0450c000000000, rs 0x47f505569a08a180, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x82ab4d0450c00000, rs 0x47f505569a08a180, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3fa82ab4d0450c00, rs 0x47f505569a08a180, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x18e6c36980000000, rs 0x31cd86d3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x18e6c3698000, rs 0x31cd86d3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x18e6c3698, rs 0x31cd86d3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeb69020780000000, rs 0x9564b77fd6d2040f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5bbfeb6902078000, rs 0x9564b77fd6d2040f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xab25bbfeb6902078, rs 0x9564b77fd6d2040f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1e47500500000000, rs 0x3c8ea00a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1e4750050000, rs 0x3c8ea00a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1e4750050, rs 0x3c8ea00a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd963b5df00000000, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x413cd963b5df0000, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x75e413cd963b5df0, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1c27dede80000000, rs 0x384fbdbd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1c27dede8000, rs 0x384fbdbd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1c27dede8, rs 0x384fbdbd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8f8c726380000000, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa6178f8c72638000, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa81a6178f8c72638, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2608edb800000000, rs 0x4c11db70, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2608edb80000, rs 0x4c11db70, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2608edb80, rs 0x4c11db70, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x40d7d3cb80000000, rs 0x94ff52fc81afa797, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa97e40d7d3cb8000, rs 0x94ff52fc81afa797, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa7fa97e40d7d3cb8, rs 0x94ff52fc81afa797, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2468636380000000, rs 0x48d0c6c7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x246863638000, rs 0x48d0c6c7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x246863638, rs 0x48d0c6c7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x36fe287500000000, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6c8b36fe28750000, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8ec6c8b36fe28750, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x22c9f00f00000000, rs 0x4593e01e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x22c9f00f0000, rs 0x4593e01e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x22c9f00f0, rs 0x4593e01e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3c744ad880000000, rs 0x36549bd678e895b1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4deb3c744ad88000, rs 0x36549bd678e895b1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb2a4deb3c744ad88, rs 0x36549bd678e895b1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x20a97ed480000000, rs 0x4152fda9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x20a97ed48000, rs 0x4152fda9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x20a97ed48, rs 0x4152fda9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcdb192cd80000000, rs 0x85e0a6319b63259b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5318cdb192cd8000, rs 0x85e0a6319b63259b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2f05318cdb192cd8, rs 0x85e0a6319b63259b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2f8ad6d600000000, rs 0x5f15adac, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2f8ad6d60000, rs 0x5f15adac, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2f8ad6d60, rs 0x5f15adac, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6678bd6280000000, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9f656678bd628000, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xab59f656678bd628, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2dea580d80000000, rs 0x5bd4b01b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2dea580d8000, rs 0x5bd4b01b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2dea580d8, rs 0x5bd4b01b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0f7507d80000000, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xafe2c0f7507d8000, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa17afe2c0f7507d8, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2b4bcb6100000000, rs 0x569796c2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2b4bcb610000, rs 0x569796c2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2b4bcb610, rs 0x569796c2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa3416cb80000000, rs 0x25b50fec14682d97, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x87f60a3416cb8000, rs 0x25b50fec14682d97, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2da87f60a3416cb8, rs 0x25b50fec14682d97, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x292b45ba80000000, rs 0x52568b75, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x292b45ba8000, rs 0x52568b75, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x292b45ba8, rs 0x52568b75, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x967d843d00000000, rs 0xfc93c5132cfb087a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe289967d843d0000, rs 0xfc93c5132cfb087a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe49e289967d843d0, rs 0xfc93c5132cfb087a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x350c9b6400000000, rs 0x6a1936c8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x350c9b640000, rs 0x6a1936c8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x350c9b640, rs 0x6a1936c8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe6d103b300000000, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6cd4e6d103b30000, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe166cd4e6d103b30, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x376c15bf80000000, rs 0x6ed82b7f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x376c15bf8000, rs 0x6ed82b7f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x376c15bf8, rs 0x6ed82b7f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3eb96d1f00000000, rs 0x1791722a7d72da3e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb9153eb96d1f0000, rs 0x1791722a7d72da3e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbc8b9153eb96d1f0, rs 0x1791722a7d72da3e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x31cd86d300000000, rs 0x639b0da6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x31cd86d30000, rs 0x639b0da6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x31cd86d30, rs 0x639b0da6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc9e7125680000000, rs 0x87cc9d193ce24ad, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x64e8c9e712568000, rs 0x87cc9d193ce24ad, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x43e64e8c9e712568, rs 0x87cc9d193ce24ad, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x33ad080880000000, rs 0x675a1011, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x33ad08088000, rs 0x675a1011, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x33ad08088, rs 0x675a1011, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1c4c276900000000, rs 0x1d2a757038984ed2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3ab81c4c27690000, rs 0x1d2a757038984ed2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe953ab81c4c27690, rs 0x1d2a757038984ed2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3c8ea00a00000000, rs 0x791d4014, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3c8ea00a0000, rs 0x791d4014, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3c8ea00a0, rs 0x791d4014, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb886681b00000000, rs 0xd0d070db710cd036, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x386db886681b0000, rs 0xd0d070db710cd036, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x868386db886681b0, rs 0xd0d070db710cd036, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3eee2ed180000000, rs 0x7ddc5da3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3eee2ed18000, rs 0x7ddc5da3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3eee2ed18, rs 0x7ddc5da3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x81a0ab0200000000, rs 0x39c21c7d03415604, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe3e81a0ab020000, rs 0x39c21c7d03415604, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xce10e3e81a0ab020, rs 0x39c21c7d03415604, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x384fbdbd00000000, rs 0x709f7b7a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x384fbdbd0000, rs 0x709f7b7a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x384fbdbd0, rs 0x709f7b7a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc76618e700000000, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5bd7c76618e70000, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x74a5bd7c76618e70, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3a2f336680000000, rs 0x745e66cd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3a2f33668000, rs 0x745e66cd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3a2f33668, rs 0x745e66cd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8e73b3a780000000, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb5468e73b3a78000, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x275b5468e73b3a78, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcc11db7000000000, rs 0xffffffff9823b6e0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcc11db700000, rs 0xffffffff9823b6e0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcc11db700, rs 0xffffffff9823b6e0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x96b725380000000, rs 0x2f39454412d6e4a7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa2a2096b72538000, rs 0x2f39454412d6e4a7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x79ca2a2096b72538, rs 0x2f39454412d6e4a7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xce7155ab80000000, rs 0xffffffff9ce2ab57, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffce7155ab8000, rs 0xffffffff9ce2ab57, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffce7155ab8, rs 0xffffffff9ce2ab57, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xab6d262a00000000, rs 0x2608c2b756da4c54, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x615bab6d262a0000, rs 0x2608c2b756da4c54, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x304615bab6d262a0, rs 0x2608c2b756da4c54, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc8d0c6c700000000, rs 0xffffffff91a18d8e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc8d0c6c70000, rs 0xffffffff91a18d8e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc8d0c6c70, rs 0xffffffff91a18d8e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x646b929780000000, rs 0x900102dac8d7252f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x816d646b92978000, rs 0x900102dac8d7252f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x800816d646b92978, rs 0x900102dac8d7252f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcab0481c80000000, rs 0xffffffff95609039, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcab0481c8000, rs 0xffffffff95609039, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcab0481c8, rs 0xffffffff95609039, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf977d27b80000000, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6af8f977d27b8000, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4486af8f977d27b8, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc593e01e00000000, rs 0xffffffff8b27c03c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc593e01e0000, rs 0xffffffff8b27c03c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc593e01e0, rs 0xffffffff8b27c03c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe458510a00000000, rs 0xed5005cbc8b0a214, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2e5e458510a0000, rs 0xed5005cbc8b0a214, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6a802e5e458510a0, rs 0xed5005cbc8b0a214, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc7f36ec580000000, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc7f36ec58000, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc7f36ec58, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xacc889b600000000, rs 0x314791895991136c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc8c4acc889b60000, rs 0x314791895991136c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8a3c8c4acc889b60, rs 0x314791895991136c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc152fda900000000, rs 0xffffffff82a5fb52, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc152fda90000, rs 0xffffffff82a5fb52, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc152fda90, rs 0xffffffff82a5fb52, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcd17db7980000000, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x67fccd17db798000, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x37767fccd17db798, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc332737280000000, rs 0xffffffff8664e6e5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc33273728000, rs 0xffffffff8664e6e5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc33273728, rs 0xffffffff8664e6e5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1c44a93800000000, rs 0xa809521238895270, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa9091c44a9380000, rs 0xa809521238895270, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x404a9091c44a9380, rs 0xa809521238895270, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdf15adac00000000, rs 0xffffffffbe2b5b58, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdf15adac0000, rs 0xffffffffbe2b5b58, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdf15adac0, rs 0xffffffffbe2b5b58, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x56bb282000000000, rs 0x87750a04ad765040, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x850256bb28200000, rs 0x87750a04ad765040, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3ba850256bb28200, rs 0x87750a04ad765040, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdd75237780000000, rs 0xffffffffbaea46ef, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdd7523778000, rs 0xffffffffbaea46ef, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdd7523778, rs 0xffffffffbaea46ef, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x425dad4180000000, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf42f425dad418000, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x61ef42f425dad418, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdbd4b01b00000000, rs 0xffffffffb7a96036, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdbd4b01b0000, rs 0xffffffffb7a96036, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdbd4b01b0, rs 0xffffffffb7a96036, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe283553380000000, rs 0xae6aff8fc506aa67, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7fc7e28355338000, rs 0xae6aff8fc506aa67, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x7357fc7e28355338, rs 0xae6aff8fc506aa67, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd9b43ec080000000, rs 0xffffffffb3687d81, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd9b43ec08000, rs 0xffffffffb3687d81, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd9b43ec08, rs 0xffffffffb3687d81, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb076af7180000000, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x896eb076af718000, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x38896eb076af718, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd69796c200000000, rs 0xffffffffad2f2d84, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd69796c20000, rs 0xffffffffad2f2d84, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd69796c20, rs 0xffffffffad2f2d84, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x186e652d00000000, rs 0xc4c770f630dcca5a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb87b186e652d0000, rs 0xc4c770f630dcca5a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x263b87b186e652d0, rs 0xc4c770f630dcca5a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd4f7181980000000, rs 0xffffffffa9ee3033, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd4f718198000, rs 0xffffffffa9ee3033, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd4f718198, rs 0xffffffffa9ee3033, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc1e6a93b80000000, rs 0xdfec2b2383cd5277, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1591c1e6a93b8000, rs 0xdfec2b2383cd5277, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xff61591c1e6a93b8, rs 0xdfec2b2383cd5277, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd2568b7500000000, rs 0xffffffffa4ad16ea, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd2568b750000, rs 0xffffffffa4ad16ea, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd2568b750, rs 0xffffffffa4ad16ea, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x7fbecb580000000, rs 0xd3adba260ff7d96b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xdd1307fbecb58000, rs 0xd3adba260ff7d96b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9d6dd1307fbecb58, rs 0xd3adba260ff7d96b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd03605ae80000000, rs 0xffffffffa06c0b5d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd03605ae8000, rs 0xffffffffa06c0b5d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd03605ae8, rs 0xffffffffa06c0b5d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc20c600700000000, rs 0x4ab4aa798418c00e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x553cc20c60070000, rs 0x4ab4aa798418c00e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x55a553cc20c60070, rs 0x4ab4aa798418c00e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xea1936c800000000, rs 0xffffffffd4326d90, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffea1936c80000, rs 0xffffffffd4326d90, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffea1936c80, rs 0xffffffffd4326d90, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6f0785c00000000, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1af06f0785c0000, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xdc601af06f0785c0, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe879b81380000000, rs 0xffffffffd0f37027, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe879b8138000, rs 0xffffffffd0f37027, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe879b8138, rs 0xffffffffd0f37027, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x54bfee7880000000, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x37aa54bfee788000, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9d837aa54bfee788, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeed82b7f00000000, rs 0xffffffffddb056fe, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffeed82b7f0000, rs 0xffffffffddb056fe, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffeed82b7f0, rs 0xffffffffddb056fe, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9fe8e04080000000, rs 0x77433f373fd1c081, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9f9b9fe8e0408000, rs 0x77433f373fd1c081, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xba19f9b9fe8e0408, rs 0x77433f373fd1c081, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xecb8a5a480000000, rs 0xffffffffd9714b49, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffecb8a5a48000, rs 0xffffffffd9714b49, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffecb8a5a48, rs 0xffffffffd9714b49, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe490caf200000000, rs 0xec91d993c92195e4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xecc9e490caf20000, rs 0xec91d993c92195e4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x648ecc9e490caf20, rs 0xec91d993c92195e4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe39b0da600000000, rs 0xffffffffc7361b4c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe39b0da60000, rs 0xffffffffc7361b4c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe39b0da60, rs 0xffffffffc7361b4c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcad8d2d580000000, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfb53cad8d2d58000, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4fdfb53cad8d2d58, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe1fb837d80000000, rs 0xffffffffc3f706fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe1fb837d8000, rs 0xffffffffc3f706fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe1fb837d8, rs 0xffffffffc3f706fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x63e7468f00000000, rs 0x19364378c7ce8d1e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x21bc63e7468f0000, rs 0x19364378c7ce8d1e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc9b21bc63e7468f0, rs 0x19364378c7ce8d1e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe75a101100000000, rs 0xffffffffceb42022, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe75a10110000, rs 0xffffffffceb42022, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe75a10110, rs 0xffffffffceb42022, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x979c248380000000, rs 0xb99e8def2f384907, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x46f7979c24838000, rs 0xb99e8def2f384907, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xccf46f7979c24838, rs 0xb99e8def2f384907, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe53a9eca80000000, rs 0xffffffffca753d95, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe53a9eca8000, rs 0xffffffffca753d95, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe53a9eca8, rs 0xffffffffca753d95, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xac15897f00000000, rs 0x47eacdcd582b12fe, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x66e6ac15897f0000, rs 0x47eacdcd582b12fe, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3f566e6ac15897f0, rs 0x47eacdcd582b12fe, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf91d401400000000, rs 0xfffffffff23a8028, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff91d40140000, rs 0xfffffffff23a8028, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff91d40140, rs 0xfffffffff23a8028, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3b2ac62780000000, rs 0xd685884e76558c4f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc4273b2ac6278000, rs 0xd685884e76558c4f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb42c4273b2ac6278, rs 0xd685884e76558c4f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfb7dcecf80000000, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffb7dcecf8000, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffb7dcecf8, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1a60cae380000000, rs 0x6168d62a34c195c7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6b151a60cae38000, rs 0x6168d62a34c195c7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb46b151a60cae38, rs 0x6168d62a34c195c7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfddc5da300000000, rs 0xfffffffffbb8bb46, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffddc5da30000, rs 0xfffffffffbb8bb46, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffddc5da30, rs 0xfffffffffbb8bb46, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa6fa3a0280000000, rs 0xd30169894df47405, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb4c4a6fa3a028000, rs 0xd30169894df47405, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x980b4c4a6fa3a028, rs 0xd30169894df47405, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xffbcd37880000000, rs 0xffffffffff79a6f1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffffbcd3788000, rs 0xffffffffff79a6f1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffffbcd3788, rs 0xffffffffff79a6f1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb65d836d80000000, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc85fb65d836d8000, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe50c85fb65d836d8, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf09f7b7a00000000, rs 0xffffffffe13ef6f4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff09f7b7a0000, rs 0xffffffffe13ef6f4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff09f7b7a0, rs 0xffffffffe13ef6f4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4e571c9d00000000, rs 0x58300f029cae393a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7814e571c9d0000, rs 0x58300f029cae393a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc1807814e571c9d0, rs 0x58300f029cae393a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf2fff5a180000000, rs 0xffffffffe5ffeb43, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff2fff5a18000, rs 0xffffffffe5ffeb43, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff2fff5a18, rs 0xffffffffe5ffeb43, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xee3f5e1680000000, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xafedee3f5e168000, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd4cafedee3f5e168, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf45e66cd00000000, rs 0xffffffffe8bccd9a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff45e66cd0000, rs 0xffffffffe8bccd9a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff45e66cd0, rs 0xffffffffe8bccd9a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf1a02da400000000, rs 0x8a96047be3405b48, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x23df1a02da40000, rs 0x8a96047be3405b48, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x54b023df1a02da40, rs 0x8a96047be3405b48, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf63ee81680000000, rs 0xffffffffec7dd02d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff63ee8168000, rs 0xffffffffec7dd02d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff63ee8168, rs 0xffffffffec7dd02d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6a8ce99100000000, rs 0x75bfafd2d519d322, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd7e96a8ce9910000, rs 0x75bfafd2d519d322, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xadfd7e96a8ce9910, rs 0x75bfafd2d519d322, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1a43383b80000000, rs 0x34867077, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1a43383b8000, rs 0x34867077, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1a43383b8, rs 0x34867077, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd3187b5680000000, rs 0xde230867a630f6ad, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x8433d3187b568000, rs 0xde230867a630f6ad, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf118433d3187b568, rs 0xde230867a630f6ad, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1823b6e000000000, rs 0x30476dc0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1823b6e00000, rs 0x30476dc0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1823b6e00, rs 0x30476dc0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2b08193000000000, rs 0x2c0a0cf256103260, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6792b0819300000, rs 0x2c0a0cf256103260, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x60506792b0819300, rs 0x2c0a0cf256103260, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1e82258c80000000, rs 0x3d044b19, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1e82258c8000, rs 0x3d044b19, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1e82258c8, rs 0x3d044b19, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x124d8c7780000000, rs 0x94a90544249b18ef, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x82a2124d8c778000, rs 0x94a90544249b18ef, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa5482a2124d8c778, rs 0x94a90544249b18ef, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1ce2ab5700000000, rs 0x39c556ae, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1ce2ab570000, rs 0x39c556ae, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1ce2ab570, rs 0x39c556ae, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xadab7e6f00000000, rs 0xf9519fb55b56fcde, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcfdaadab7e6f0000, rs 0xf9519fb55b56fcde, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xca8cfdaadab7e6f0, rs 0xf9519fb55b56fcde, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x13c1035580000000, rs 0x278206ab, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x13c103558000, rs 0x278206ab, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x13c103558, rs 0x278206ab, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x23418cd80000000, rs 0x81daf8200468319b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7c10023418cd8000, rs 0x81daf8200468319b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xed7c10023418cd8, rs 0x81daf8200468319b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x11a18d8e00000000, rs 0x23431b1c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x11a18d8e0000, rs 0x23431b1c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x11a18d8e0, rs 0x23431b1c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2b92f97600000000, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe52d2b92f9760000, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x630e52d2b92f9760, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x17001ee280000000, rs 0x2e003dc5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x17001ee28000, rs 0x2e003dc5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x17001ee28, rs 0x2e003dc5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe12ee45f80000000, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd36ee12ee45f8000, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5cad36ee12ee45f8, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1560903900000000, rs 0x2ac12072, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x156090390000, rs 0x2ac12072, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x156090390, rs 0x2ac12072, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xed630b1780000000, rs 0x300ce751dac6162f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x73a8ed630b178000, rs 0x300ce751dac6162f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x80673a8ed630b178, rs 0x300ce751dac6162f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9474ee780000000, rs 0x128e9dcf, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9474ee78000, rs 0x128e9dcf, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9474ee78, rs 0x128e9dcf, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdd29542800000000, rs 0x6778fdf3ba52a850, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7ef9dd2954280000, rs 0x6778fdf3ba52a850, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3bc7ef9dd2954280, rs 0x6778fdf3ba52a850, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb27c03c00000000, rs 0x164f8078, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb27c03c0000, rs 0x164f8078, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb27c03c0, rs 0x164f8078, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xed3c23cf80000000, rs 0xad00b1f7da78479f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x58fbed3c23cf8000, rs 0xad00b1f7da78479f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x68058fbed3c23cf8, rs 0xad00b1f7da78479f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd86535080000000, rs 0x1b0ca6a1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd8653508000, rs 0x1b0ca6a1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd8653508, rs 0x1b0ca6a1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x535b6cc500000000, rs 0x8d44168a6b6d98a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x20b4535b6cc50000, rs 0x8d44168a6b6d98a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x46a20b4535b6cc50, rs 0x8d44168a6b6d98a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfe6dd8b00000000, rs 0x1fcdbb16, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfe6dd8b0000, rs 0x1fcdbb16, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfe6dd8b0, rs 0x1fcdbb16, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe731a20980000000, rs 0xf518381dce634413, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1c0ee731a2098000, rs 0xf518381dce634413, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa8c1c0ee731a2098, rs 0xf518381dce634413, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc5758980000000, rs 0x18aeb13, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc575898000, rs 0x18aeb13, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc575898, rs 0x18aeb13, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf292afe000000000, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3f9ff292afe00000, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2313f9ff292afe00, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2a5fb5200000000, rs 0x54bf6a4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2a5fb520000, rs 0x54bf6a4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2a5fb520, rs 0x54bf6a4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbb190f9400000000, rs 0xccd392e176321f28, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc970bb190f940000, rs 0xccd392e176321f28, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x669c970bb190f940, rs 0xccd392e176321f28, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x404683e80000000, rs 0x808d07d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x404683e8000, rs 0x808d07d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x404683e8, rs 0x808d07d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x200c7ec780000000, rs 0x829464944018fd8f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x324a200c7ec78000, rs 0x829464944018fd8f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x14a324a200c7ec78, rs 0x829464944018fd8f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x664e6e500000000, rs 0xcc9cdca, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x664e6e50000, rs 0xcc9cdca, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x664e6e50, rs 0xcc9cdca, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2974787280000000, rs 0x15d3204052e8f0e5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9020297478728000, rs 0x15d3204052e8f0e5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xae99020297478728, rs 0x15d3204052e8f0e5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3c4bd58380000000, rs 0x7897ab07, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3c4bd5838000, rs 0x7897ab07, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3c4bd5838, rs 0x7897ab07, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4407f9a200000000, rs 0x7caf83d2880ff344, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc1e94407f9a20000, rs 0x7caf83d2880ff344, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe57c1e94407f9a20, rs 0x7caf83d2880ff344, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3e2b5b5800000000, rs 0x7c56b6b0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3e2b5b580000, rs 0x7c56b6b0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3e2b5b580, rs 0x7c56b6b0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3a3ef7eb80000000, rs 0xf156a04c747defd7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x50263a3ef7eb8000, rs 0xf156a04c747defd7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8ab50263a3ef7eb8, rs 0xf156a04c747defd7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x388ac83480000000, rs 0x71159069, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x388ac8348000, rs 0x71159069, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x388ac8348, rs 0x71159069, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x798eb8800000000, rs 0x93e2601c0f31d710, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x300e0798eb880000, rs 0x93e2601c0f31d710, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9f1300e0798eb880, rs 0x93e2601c0f31d710, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3aea46ef00000000, rs 0x75d48dde, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3aea46ef0000, rs 0x75d48dde, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3aea46ef0, rs 0x75d48dde, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x898e6c9980000000, rs 0xe1e1a679131cd933, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd33c898e6c998000, rs 0xe1e1a679131cd933, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf0d33c898e6c998, rs 0xe1e1a679131cd933, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x35c9eeed80000000, rs 0x6b93dddb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x35c9eeed8000, rs 0x6b93dddb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x35c9eeed8, rs 0x6b93dddb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd3b7d21380000000, rs 0x24296b75a76fa427, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb5bad3b7d2138000, rs 0x24296b75a76fa427, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x214b5bad3b7d2138, rs 0x24296b75a76fa427, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x37a9603600000000, rs 0x6f52c06c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x37a960360000, rs 0x6f52c06c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x37a960360, rs 0x6f52c06c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9cf72b500000000, rs 0xd296e2d2139ee56a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x716909cf72b50000, rs 0xd296e2d2139ee56a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x94b716909cf72b50, rs 0xd296e2d2139ee56a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3108f35a80000000, rs 0x6211e6b5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3108f35a8000, rs 0x6211e6b5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3108f35a8, rs 0x6211e6b5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb6e152e000000000, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x223fb6e152e00000, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd41223fb6e152e00, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x33687d8100000000, rs 0x66d0fb02, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x33687d810000, rs 0x66d0fb02, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x33687d810, rs 0x66d0fb02, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x603ee0b400000000, rs 0x76c89e80c07dc168, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4f40603ee0b40000, rs 0x76c89e80c07dc168, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb644f40603ee0b40, rs 0x76c89e80c07dc168, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2f4fa35f80000000, rs 0x5e9f46bf, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2f4fa35f8000, rs 0x5e9f46bf, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2f4fa35f8, rs 0x5e9f46bf, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa5ff1a4780000000, rs 0x70dc3454bfe348f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe1a2a5ff1a478000, rs 0x70dc3454bfe348f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x386e1a2a5ff1a478, rs 0x70dc3454bfe348f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2d2f2d8400000000, rs 0x5a5e5b08, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2d2f2d840000, rs 0x5a5e5b08, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2d2f2d840, rs 0x5a5e5b08, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeeb6920d80000000, rs 0xbddc7123dd6d241b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3891eeb6920d8000, rs 0xbddc7123dd6d241b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xeee3891eeb6920d8, rs 0xbddc7123dd6d241b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2b8ebee880000000, rs 0x571d7dd1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2b8ebee88000, rs 0x571d7dd1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2b8ebee88, rs 0x571d7dd1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd2cfe75f00000000, rs 0xf62fb727a59fcebe, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xdb93d2cfe75f0000, rs 0xf62fb727a59fcebe, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb17db93d2cfe75f0, rs 0xf62fb727a59fcebe, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x29ee303300000000, rs 0x53dc6066, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x29ee30330000, rs 0x53dc6066, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x29ee30330, rs 0x53dc6066, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x87cfa37d80000000, rs 0x109f27e90f9f46fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x93f487cfa37d8000, rs 0x109f27e90f9f46fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x84f93f487cfa37d8, rs 0x109f27e90f9f46fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x26cd983180000000, rs 0x4d9b3063, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x26cd98318000, rs 0x4d9b3063, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x26cd98318, rs 0x4d9b3063, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd7e8cceb80000000, rs 0x3f63daa9afd199d7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xed54d7e8cceb8000, rs 0x3f63daa9afd199d7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfb1ed54d7e8cceb8, rs 0x3f63daa9afd199d7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x24ad16ea00000000, rs 0x495a2dd4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x24ad16ea0000, rs 0x495a2dd4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x24ad16ea0, rs 0x495a2dd4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x51ea427900000000, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x989751ea42790000, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xde5989751ea42790, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x220c858680000000, rs 0x44190b0d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x220c85868000, rs 0x44190b0d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x220c85868, rs 0x44190b0d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6d27f26300000000, rs 0x1f353faada4fe4c6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9fd56d27f2630000, rs 0x1f353faada4fe4c6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf9a9fd56d27f2630, rs 0x1f353faada4fe4c6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x206c0b5d00000000, rs 0x40d816ba, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x206c0b5d0000, rs 0x40d816ba, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x206c0b5d0, rs 0x40d816ba, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x38a8613000000000, rs 0x8b086ee07150c260, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x377038a861300000, rs 0x8b086ee07150c260, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x584377038a861300, rs 0x8b086ee07150c260, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd652e34b80000000, rs 0xffffffffaca5c697, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd652e34b8000, rs 0xffffffffaca5c697, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd652e34b8, rs 0xffffffffaca5c697, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xec92bf9280000000, rs 0xe54750d5d9257f25, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa86aec92bf928000, rs 0xe54750d5d9257f25, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2a3a86aec92bf928, rs 0xe54750d5d9257f25, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd4326d9000000000, rs 0xffffffffa864db20, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd4326d900000, rs 0xffffffffa864db20, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd4326d900, rs 0xffffffffa864db20, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf4d36dad80000000, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb12ff4d36dad8000, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xeb4b12ff4d36dad8, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd293fefc80000000, rs 0xffffffffa527fdf9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd293fefc8000, rs 0xffffffffa527fdf9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd293fefc8, rs 0xffffffffa527fdf9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x21a0564b00000000, rs 0x70a3e0424340ac96, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf02121a0564b0000, rs 0x70a3e0424340ac96, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x851f02121a0564b0, rs 0x70a3e0424340ac96, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd0f3702700000000, rs 0xffffffffa1e6e04e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd0f370270000, rs 0xffffffffa1e6e04e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd0f370270, rs 0xffffffffa1e6e04e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb4c00b8f00000000, rs 0xc0478f036980171e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc781b4c00b8f0000, rs 0xc0478f036980171e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x23c781b4c00b8f0, rs 0xc0478f036980171e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdfd0d82580000000, rs 0xffffffffbfa1b04b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdfd0d8258000, rs 0xffffffffbfa1b04b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdfd0d8258, rs 0xffffffffbfa1b04b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8e7c94f180000000, rs 0x3ce839a51cf929e3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1cd28e7c94f18000, rs 0x3ce839a51cf929e3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe741cd28e7c94f18, rs 0x3ce839a51cf929e3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xddb056fe00000000, rs 0xffffffffbb60adfc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffddb056fe0000, rs 0xffffffffbb60adfc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffddb056fe0, rs 0xffffffffbb60adfc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xaf5b44ac00000000, rs 0xe2fbfa895eb68958, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfd44af5b44ac0000, rs 0xe2fbfa895eb68958, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x17dfd44af5b44ac0, rs 0xe2fbfa895eb68958, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdb11c59280000000, rs 0xffffffffb6238b25, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdb11c5928000, rs 0xffffffffb6238b25, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdb11c5928, rs 0xffffffffb6238b25, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbb7692db80000000, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd82ebb7692db8000, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x925d82ebb7692db8, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd9714b4900000000, rs 0xffffffffb2e29692, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd9714b490000, rs 0xffffffffb2e29692, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd9714b490, rs 0xffffffffb2e29692, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb81897880000000, rs 0xeb9682c170312f1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb4160b8189788000, rs 0xeb9682c170312f1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x75cb4160b8189788, rs 0xeb9682c170312f1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc556959780000000, rs 0xffffffff8aad2b2f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc55695978000, rs 0xffffffff8aad2b2f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc55695978, rs 0xffffffff8aad2b2f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6e980e8680000000, rs 0x84785280dd301d0d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x29406e980e868000, rs 0x84785280dd301d0d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x23c29406e980e868, rs 0x84785280dd301d0d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfc7eb7780000000, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3bd50fc7eb778000, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbce3bd50fc7eb778, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x94cc21b680000000, rs 0x26444ced2998436d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x267694cc21b68000, rs 0x26444ced2998436d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x322267694cc21b68, rs 0x26444ced2998436d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc3f706fb00000000, rs 0xffffffff87ee0df6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc3f706fb0000, rs 0xffffffff87ee0df6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc3f706fb0, rs 0xffffffff87ee0df6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeac6538400000000, rs 0x7175c9dd58ca708, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xae4eeac653840000, rs 0x7175c9dd58ca708, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x38bae4eeac653840, rs 0x7175c9dd58ca708, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xccd4aef980000000, rs 0xffffffff99a95df3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffccd4aef98000, rs 0xffffffff99a95df3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffccd4aef98, rs 0xffffffff99a95df3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2ac1994380000000, rs 0x663d061055833287, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x83082ac199438000, rs 0x663d061055833287, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x31e83082ac199438, rs 0x663d061055833287, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xceb4202200000000, rs 0xffffffff9d684044, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffceb420220000, rs 0xffffffff9d684044, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffceb420220, rs 0xffffffff9d684044, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x44a8eb4580000000, rs 0xab7dd0488951d68b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe82444a8eb458000, rs 0xab7dd0488951d68b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5bee82444a8eb458, rs 0xab7dd0488951d68b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc815b34e80000000, rs 0xffffffff902b669d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc815b34e8000, rs 0xffffffff902b669d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc815b34e8, rs 0xffffffff902b669d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8741238d80000000, rs 0xf69823670e82471b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x11b38741238d8000, rs 0xf69823670e82471b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb4c11b38741238d8, rs 0xf69823670e82471b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xca753d9500000000, rs 0xffffffff94ea7b2a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffca753d950000, rs 0xffffffff94ea7b2a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffca753d950, rs 0xffffffff94ea7b2a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xecc6935900000000, rs 0x36886c59d98d26b2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x362cecc693590000, rs 0x36886c59d98d26b2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb44362cecc693590, rs 0x36886c59d98d26b2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf05a0ef380000000, rs 0xffffffffe0b41de7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff05a0ef38000, rs 0xffffffffe0b41de7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff05a0ef38, rs 0xffffffffe0b41de7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe995f23c80000000, rs 0x9ca4bdbd32be479, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x25ede995f23c8000, rs 0x9ca4bdbd32be479, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4e525ede995f23c8, rs 0x9ca4bdbd32be479, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf23a802800000000, rs 0xffffffffe4750050, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff23a80280000, rs 0xffffffffe4750050, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff23a80280, rs 0xffffffffe4750050, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xccb1730f80000000, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xbe8eccb1730f8000, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xeaebe8eccb1730f8, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf49b134480000000, rs 0xffffffffe9362689, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff49b13448000, rs 0xffffffffe9362689, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff49b13448, rs 0xffffffffe9362689, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6569ba6f80000000, rs 0x3f46553ecad374df, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2a9f6569ba6f8000, rs 0x3f46553ecad374df, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfa32a9f6569ba6f8, rs 0x3f46553ecad374df, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf6fb9d9f00000000, rs 0xffffffffedf73b3e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff6fb9d9f0000, rs 0xffffffffedf73b3e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff6fb9d9f0, rs 0xffffffffedf73b3e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9f76f95380000000, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5cbe9f76f9538000, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x74d5cbe9f76f9538, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf9d8359d80000000, rs 0xfffffffff3b06b3b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff9d8359d8000, rs 0xfffffffff3b06b3b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff9d8359d8, rs 0xfffffffff3b06b3b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1e064f9980000000, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7bfd1e064f998000, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb537bfd1e064f998, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfbb8bb4600000000, rs 0xfffffffff771768c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffbb8bb460000, rs 0xfffffffff771768c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffbb8bb460, rs 0xfffffffff771768c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8aaf64ee00000000, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9c718aaf64ee0000, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5dc9c718aaf64ee0, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfd19282a80000000, rs 0xfffffffffa325055, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffd19282a8000, rs 0xfffffffffa325055, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffd19282a8, rs 0xfffffffffa325055, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xca3c10300000000, rs 0xd2df25c419478206, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x92e20ca3c1030000, rs 0xd2df25c419478206, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x96f92e20ca3c1030, rs 0xd2df25c419478206, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xff79a6f100000000, rs 0xfffffffffef34de2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffff79a6f10000, rs 0xfffffffffef34de2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffff79a6f10, rs 0xfffffffffef34de2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf5990c1280000000, rs 0xbc65bf27eb321825, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xdf93f5990c128000, rs 0xbc65bf27eb321825, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe32df93f5990c128, rs 0xbc65bf27eb321825, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe35e782f80000000, rs 0xffffffffc6bcf05f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe35e782f8000, rs 0xffffffffc6bcf05f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe35e782f8, rs 0xffffffffc6bcf05f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3d45e3ed00000000, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x47f33d45e3ed0000, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x45847f33d45e3ed0, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe13ef6f400000000, rs 0xffffffffc27dede8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe13ef6f40000, rs 0xffffffffc27dede8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe13ef6f40, rs 0xffffffffc27dede8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x7c6fe6f400000000, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xade57c6fe6f40000, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x295ade57c6fe6f40, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe79f659880000000, rs 0xffffffffcf3ecb31, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe79f65988000, rs 0xffffffffcf3ecb31, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe79f65988, rs 0xffffffffcf3ecb31, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xacd4c93480000000, rs 0x478909b59a99269, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x484dacd4c9348000, rs 0x478909b59a99269, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x23c484dacd4c9348, rs 0x478909b59a99269, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe5ffeb4300000000, rs 0xffffffffcbffd686, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe5ffeb430000, rs 0xffffffffcbffd686, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe5ffeb430, rs 0xffffffffcbffd686, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3c2b9b0780000000, rs 0xbfb31cc87857360f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x8e643c2b9b078000, rs 0xbfb31cc87857360f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfd98e643c2b9b078, rs 0xbfb31cc87857360f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeadc434180000000, rs 0xffffffffd5b88683, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffeadc43418000, rs 0xffffffffd5b88683, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffeadc43418, rs 0xffffffffd5b88683, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3fc4f4d100000000, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf6af3fc4f4d10000, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb32f6af3fc4f4d10, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe8bccd9a00000000, rs 0xffffffffd1799b34, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe8bccd9a0000, rs 0xffffffffd1799b34, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe8bccd9a0, rs 0xffffffffd1799b34, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5bd46af200000000, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4a3a5bd46af20000, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xaed4a3a5bd46af20, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xee1d5ef680000000, rs 0xffffffffdc3abded, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffee1d5ef68000, rs 0xffffffffdc3abded, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffee1d5ef68, rs 0xffffffffdc3abded, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x957c87e600000000, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa9be957c87e60000, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb59a9be957c87e60, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xec7dd02d00000000, rs 0xffffffffd8fba05a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffec7dd02d0000, rs 0xffffffffd8fba05a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffec7dd02d0, rs 0xffffffffd8fba05a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x15cb0c4b80000000, rs 0x223d7cfe2b961897, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xbe7f15cb0c4b8000, rs 0x223d7cfe2b961897, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x11ebe7f15cb0c4b8, rs 0x223d7cfe2b961897, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3486707700000000, rs 0x690ce0ee, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x348670770000, rs 0x690ce0ee, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x348670770, rs 0x690ce0ee, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x99b9a52580000000, rs 0x420b34f533734a4b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9a7a99b9a5258000, rs 0x420b34f533734a4b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1059a7a99b9a5258, rs 0x420b34f533734a4b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x36e6feac80000000, rs 0x6dcdfd59, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x36e6feac8000, rs 0x6dcdfd59, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x36e6feac8, rs 0x6dcdfd59, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeea3599e00000000, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4646eea3599e0000, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4be4646eea3599e0, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x30476dc000000000, rs 0x608edb80, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x30476dc00000, rs 0x608edb80, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x30476dc00, rs 0x608edb80, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf1c9666c80000000, rs 0x7a387445e392ccd9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3a22f1c9666c8000, rs 0x7a387445e392ccd9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd1c3a22f1c9666c8, rs 0x7a387445e392ccd9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3227e31b80000000, rs 0x644fc637, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3227e31b8000, rs 0x644fc637, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3227e31b8, rs 0x644fc637, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xec00006480000000, rs 0x512f29b1d80000c9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x94d8ec0000648000, rs 0x512f29b1d80000c9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x89794d8ec0000648, rs 0x512f29b1d80000c9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3d044b1900000000, rs 0x7a089632, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3d044b190000, rs 0x7a089632, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3d044b190, rs 0x7a089632, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9ed6810500000000, rs 0xeaded5c53dad020a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6ae29ed681050000, rs 0xeaded5c53dad020a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x56f6ae29ed681050, rs 0xeaded5c53dad020a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3f64c5c280000000, rs 0x7ec98b85, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3f64c5c28000, rs 0x7ec98b85, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3f64c5c28, rs 0x7ec98b85, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x98f751ad80000000, rs 0x8a6229d731eea35b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x14eb98f751ad8000, rs 0x8a6229d731eea35b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x53114eb98f751ad8, rs 0x8a6229d731eea35b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x39c556ae00000000, rs 0x738aad5c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x39c556ae0000, rs 0x738aad5c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x39c556ae0, rs 0x738aad5c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x244c2b2480000000, rs 0x2c3c3f9e48985649, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1fcf244c2b248000, rs 0x2c3c3f9e48985649, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x61e1fcf244c2b248, rs 0x2c3c3f9e48985649, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3ba5d87580000000, rs 0x774bb0eb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3ba5d8758000, rs 0x774bb0eb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3ba5d8758, rs 0x774bb0eb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6e4e05bb80000000, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf3c6e4e05bb8000, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffb0f3c6e4e05bb8, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x278206ab00000000, rs 0x4f040d56, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x278206ab0000, rs 0x4f040d56, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x278206ab0, rs 0x4f040d56, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeaf347600000000, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd8700eaf34760000, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x14cd8700eaf34760, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x25e2887080000000, rs 0x4bc510e1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x25e288708000, rs 0x4bc510e1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x25e288708, rs 0x4bc510e1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9e86371280000000, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x82339e8637128000, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe1d82339e8637128, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x23431b1c00000000, rs 0x46863638, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x23431b1c0000, rs 0x46863638, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x23431b1c0, rs 0x46863638, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf3fdb2c380000000, rs 0x164e17c1e7fb6587, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xbe0f3fdb2c38000, rs 0x164e17c1e7fb6587, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb270be0f3fdb2c38, rs 0x164e17c1e7fb6587, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x212395c780000000, rs 0x42472b8f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x212395c78000, rs 0x42472b8f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x212395c78, rs 0x42472b8f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xab6a4a8580000000, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5145ab6a4a858000, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd265145ab6a4a858, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2e003dc500000000, rs 0x5c007b8a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2e003dc50000, rs 0x5c007b8a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2e003dc50, rs 0x5c007b8a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5f3fd04500000000, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd18a5f3fd0450000, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2f4d18a5f3fd0450, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2c60b31e80000000, rs 0x58c1663d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2c60b31e8000, rs 0x58c1663d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2c60b31e8, rs 0x58c1663d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xacb24e280000000, rs 0xf8be8164159649c5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x40b20acb24e28000, rs 0xf8be8164159649c5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc5f40b20acb24e28, rs 0xf8be8164159649c5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2ac1207200000000, rs 0x558240e4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2ac120720000, rs 0x558240e4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2ac120720, rs 0x558240e4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc2734d8b80000000, rs 0x7ca3259784e69b17, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x92cbc2734d8b8000, rs 0x7ca3259784e69b17, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe5192cbc2734d8b8, rs 0x7ca3259784e69b17, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x28a1aea980000000, rs 0x51435d53, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x28a1aea98000, rs 0x51435d53, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x28a1aea98, rs 0x51435d53, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x50f927ae00000000, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xaa1e50f927ae0000, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe46aa1e50f927ae0, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x128e9dcf00000000, rs 0x251d3b9e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x128e9dcf0000, rs 0x251d3b9e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x128e9dcf0, rs 0x251d3b9e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x71a2cf1b00000000, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb65071a2cf1b0000, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x575b65071a2cf1b0, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x10ee131480000000, rs 0x21dc2629, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x10ee13148000, rs 0x21dc2629, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x10ee13148, rs 0x21dc2629, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc3cc07d00000000, rs 0xc532e18e187980fa, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x70c70c3cc07d0000, rs 0xc532e18e187980fa, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x29970c70c3cc07d0, rs 0xc532e18e187980fa, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x164f807800000000, rs 0x2c9f00f0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x164f80780000, rs 0x2c9f00f0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x164f80780, rs 0x2c9f00f0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa7943e8e00000000, rs 0xb3fdec294f287d1c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf614a7943e8e0000, rs 0xb3fdec294f287d1c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9fef614a7943e8e0, rs 0xb3fdec294f287d1c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x142f0ea380000000, rs 0x285e1d47, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x142f0ea38000, rs 0x285e1d47, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x142f0ea38, rs 0x285e1d47, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x24b995c800000000, rs 0xb620660a49732b90, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x330524b995c80000, rs 0xb620660a49732b90, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb10330524b995c80, rs 0xb620660a49732b90, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1b0ca6a100000000, rs 0x36194d42, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1b0ca6a10000, rs 0x36194d42, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1b0ca6a10, rs 0x36194d42, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb67ef4c880000000, rs 0x993138f16cfde991, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9c78b67ef4c88000, rs 0x993138f16cfde991, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc989c78b67ef4c88, rs 0x993138f16cfde991, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x196c287a80000000, rs 0x32d850f5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x196c287a8000, rs 0x32d850f5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x196c287a8, rs 0x32d850f5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbeaa03dc80000000, rs 0xde02d1337d5407b9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6899beaa03dc8000, rs 0xde02d1337d5407b9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf016899beaa03dc8, rs 0xde02d1337d5407b9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1fcdbb1600000000, rs 0x3f9b762c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1fcdbb160000, rs 0x3f9b762c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1fcdbb160, rs 0x3f9b762c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf0ed58ad00000000, rs 0x13a390e1e1dab15a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc870f0ed58ad0000, rs 0x13a390e1e1dab15a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9d1c870f0ed58ad0, rs 0x13a390e1e1dab15a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1dad35cd80000000, rs 0x3b5a6b9b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1dad35cd8000, rs 0x3b5a6b9b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1dad35cd8, rs 0x3b5a6b9b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x41438b6400000000, rs 0x743491a6828716c8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x48d341438b640000, rs 0x743491a6828716c8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa1a48d341438b640, rs 0x743491a6828716c8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x18aeb1300000000, rs 0x315d626, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x18aeb130000, rs 0x315d626, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x18aeb130, rs 0x315d626, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x76f1497900000000, rs 0x8cff404aede292f2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa02576f149790000, rs 0x8cff404aede292f2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x67fa02576f149790, rs 0x8cff404aede292f2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3ea65c880000000, rs 0x7d4cb91, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3ea65c88000, rs 0x7d4cb91, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3ea65c88, rs 0x7d4cb91, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8fc1bb1b00000000, rs 0xb9cec0db1f837636, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x606d8fc1bb1b0000, rs 0xb9cec0db1f837636, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xce7606d8fc1bb1b0, rs 0xb9cec0db1f837636, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x54bf6a400000000, rs 0xa97ed48, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x54bf6a40000, rs 0xa97ed48, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x54bf6a40, rs 0xa97ed48, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8284bb8e00000000, rs 0x2eaa5aa70509771c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2d538284bb8e0000, rs 0x2eaa5aa70509771c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x7552d538284bb8e0, rs 0x2eaa5aa70509771c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x72b787f80000000, rs 0xe56f0ff, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x72b787f8000, rs 0xe56f0ff, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x72b787f8, rs 0xe56f0ff, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc3a920d80000000, rs 0xd327538e1875241b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa9c70c3a920d8000, rs 0xd327538e1875241b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x993a9c70c3a920d8, rs 0xd327538e1875241b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x808d07d00000000, rs 0x1011a0fa, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x808d07d0000, rs 0x1011a0fa, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x808d07d0, rs 0x1011a0fa, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x45b9cdb580000000, rs 0x42e9f8548b739b6b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfc2a45b9cdb58000, rs 0x42e9f8548b739b6b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x174fc2a45b9cdb58, rs 0x42e9f8548b739b6b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa685ea680000000, rs 0x14d0bd4d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa685ea68000, rs 0x14d0bd4d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa685ea68, rs 0x14d0bd4d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x7665dd0d00000000, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x72867665dd0d0000, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc7272867665dd0d0, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcc9cdca00000000, rs 0x19939b94, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcc9cdca0000, rs 0x19939b94, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xcc9cdca0, rs 0x19939b94, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe6ce93e580000000, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7d1fe6ce93e58000, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb5b7d1fe6ce93e58, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xea9431180000000, rs 0x1d528623, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xea943118000, rs 0x1d528623, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xea943118, rs 0x1d528623, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd71f4a1180000000, rs 0x73916483ae3e9423, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb241d71f4a118000, rs 0x73916483ae3e9423, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9c8b241d71f4a118, rs 0x73916483ae3e9423, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf897ab0700000000, rs 0xfffffffff12f560e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff897ab070000, rs 0xfffffffff12f560e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff897ab070, rs 0xfffffffff12f560e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x70942b080000000, rs 0x276af70a0e128561, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7b85070942b08000, rs 0x276af70a0e128561, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3b57b85070942b08, rs 0x276af70a0e128561, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfaf725dc80000000, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffaf725dc8000, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffaf725dc8, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5af3a5b700000000, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2dfb5af3a5b70000, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1822dfb5af3a5b70, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfc56b6b000000000, rs 0xfffffffff8ad6d60, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffc56b6b00000, rs 0xfffffffff8ad6d60, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffc56b6b00, rs 0xfffffffff8ad6d60, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x845667d300000000, rs 0x20223f1308accfa6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1f89845667d30000, rs 0x20223f1308accfa6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x111f89845667d30, rs 0x20223f1308accfa6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfe36386b80000000, rs 0xfffffffffc6c70d7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffe36386b8000, rs 0xfffffffffc6c70d7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffe36386b8, rs 0xfffffffffc6c70d7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1cbb5afa80000000, rs 0xf83c55743976b5f5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2aba1cbb5afa8000, rs 0xf83c55743976b5f5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc1e2aba1cbb5afa8, rs 0xf83c55743976b5f5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf115906900000000, rs 0xffffffffe22b20d2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff11590690000, rs 0xffffffffe22b20d2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff11590690, rs 0xffffffffe22b20d2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa3491e1e80000000, rs 0x1f9720f946923c3d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x907ca3491e1e8000, rs 0x1f9720f946923c3d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfcb907ca3491e1e8, rs 0x1f9720f946923c3d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf3751eb280000000, rs 0xffffffffe6ea3d65, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff3751eb28000, rs 0xffffffffe6ea3d65, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff3751eb28, rs 0xffffffffe6ea3d65, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3692246e80000000, rs 0x620d28506d2448dd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x94283692246e8000, rs 0x620d28506d2448dd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x10694283692246e8, rs 0x620d28506d2448dd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf5d48dde00000000, rs 0xffffffffeba91bbc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff5d48dde0000, rs 0xffffffffeba91bbc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff5d48dde0, rs 0xffffffffeba91bbc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcffa539900000000, rs 0x60a521e99ff4a732, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x90f4cffa53990000, rs 0x60a521e99ff4a732, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5290f4cffa53990, rs 0x60a521e99ff4a732, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf7b4030580000000, rs 0xffffffffef68060b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff7b403058000, rs 0xffffffffef68060b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff7b403058, rs 0xffffffffef68060b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xae34078580000000, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x79d5ae3407858000, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd0479d5ae3407858, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeb93dddb00000000, rs 0xffffffffd727bbb6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffeb93dddb0000, rs 0xffffffffd727bbb6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffeb93dddb0, rs 0xffffffffd727bbb6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0079e9300000000, rs 0xc7a59be7800f3d26, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcdf3c0079e930000, rs 0xc7a59be7800f3d26, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3d2cdf3c0079e930, rs 0xc7a59be7800f3d26, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe9f3530080000000, rs 0xffffffffd3e6a601, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe9f353008000, rs 0xffffffffd3e6a601, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe9f353008, rs 0xffffffffd3e6a601, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc1650da080000000, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6f94c1650da08000, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd766f94c1650da08, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xef52c06c00000000, rs 0xffffffffdea580d8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffef52c06c0000, rs 0xffffffffdea580d8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffef52c06c0, rs 0xffffffffdea580d8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3068cee680000000, rs 0x2b8613a260d19dcd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9d13068cee68000, rs 0x2b8613a260d19dcd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5c309d13068cee68, rs 0x2b8613a260d19dcd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xed324eb780000000, rs 0xffffffffda649d6f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffed324eb78000, rs 0xffffffffda649d6f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffed324eb78, rs 0xffffffffda649d6f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8745df3f80000000, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x56458745df3f8000, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x28c56458745df3f8, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe211e6b500000000, rs 0xffffffffc423cd6a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe211e6b50000, rs 0xffffffffc423cd6a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe211e6b50, rs 0xffffffffc423cd6a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x97e7a43580000000, rs 0x743e568d2fcf486b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2b4697e7a4358000, rs 0x743e568d2fcf486b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa1f2b4697e7a4358, rs 0x743e568d2fcf486b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9a618b9400000000, rs 0x126f646f34c31728, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb2379a618b940000, rs 0x126f646f34c31728, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x937b2379a618b940, rs 0x126f646f34c31728, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe6d0fb0200000000, rs 0xffffffffcda1f604, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe6d0fb020000, rs 0xffffffffcda1f604, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe6d0fb020, rs 0xffffffffcda1f604, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xab7e268900000000, rs 0xaab0196156fc4d12, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcb0ab7e26890000, rs 0xaab0196156fc4d12, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5580cb0ab7e26890, rs 0xaab0196156fc4d12, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc2cae9a100000000, rs 0x7535cd338595d342, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe699c2cae9a10000, rs 0x7535cd338595d342, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa9ae699c2cae9a10, rs 0x7535cd338595d342, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xde9f46bf00000000, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffde9f46bf0000, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffde9f46bf0, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2111a37600000000, rs 0xdfb254da422346ec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2a6d2111a3760000, rs 0xdfb254da422346ec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfd92a6d2111a3760, rs 0xdfb254da422346ec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdcffc86480000000, rs 0xffffffffb9ff90c9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdcffc8648000, rs 0xffffffffb9ff90c9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdcffc8648, rs 0xffffffffb9ff90c9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8040d59500000000, rs 0xa86726c90081ab2a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x93648040d5950000, rs 0xa86726c90081ab2a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x43393648040d5950, rs 0xa86726c90081ab2a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xda5e5b0800000000, rs 0xffffffffb4bcb610, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffda5e5b080000, rs 0xffffffffb4bcb610, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffda5e5b080, rs 0xffffffffb4bcb610, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb3ceba1c00000000, rs 0x9bfeffa1679d7438, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7fd0b3ceba1c0000, rs 0x9bfeffa1679d7438, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xdff7fd0b3ceba1c0, rs 0x9bfeffa1679d7438, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd83ed5d380000000, rs 0xffffffffb07daba7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd83ed5d38000, rs 0xffffffffb07daba7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd83ed5d38, rs 0xffffffffb07daba7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5bef712200000000, rs 0xc7699826b7dee244, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcc135bef71220000, rs 0xc7699826b7dee244, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3b4cc135bef71220, rs 0xc7699826b7dee244, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd71d7dd100000000, rs 0xffffffffae3afba2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd71d7dd10000, rs 0xffffffffae3afba2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd71d7dd10, rs 0xffffffffae3afba2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfdd3382500000000, rs 0x3c07af97fba6704a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd7cbfdd338250000, rs 0x3c07af97fba6704a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe03d7cbfdd338250, rs 0x3c07af97fba6704a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd57df30a80000000, rs 0xffffffffaafbe615, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd57df30a8000, rs 0xffffffffaafbe615, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd57df30a8, rs 0xffffffffaafbe615, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x262c5ff00000000, rs 0x521364dc04c58bfe, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb26e0262c5ff0000, rs 0x521364dc04c58bfe, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x909b26e0262c5ff0, rs 0x521364dc04c58bfe, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd3dc606600000000, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd3dc60660000, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd3dc60660, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4d5bd75e00000000, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xddac4d5bd75e0000, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x7bddac4d5bd75e0, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd1bceebd80000000, rs 0xffffffffa379dd7b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd1bceebd8000, rs 0xffffffffa379dd7b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd1bceebd8, rs 0xffffffffa379dd7b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6f75caa680000000, rs 0xe336c60cdeeb954d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x63066f75caa68000, rs 0xe336c60cdeeb954d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x19b63066f75caa68, rs 0xe336c60cdeeb954d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcd9b306300000000, rs 0xffffffff9b3660c6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcd9b30630000, rs 0xffffffff9b3660c6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcd9b30630, rs 0xffffffff9b3660c6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x37a920b700000000, rs 0xd5b2120c6f52416e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x90637a920b70000, rs 0xd5b2120c6f52416e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xad9090637a920b70, rs 0xd5b2120c6f52416e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcffbbeb880000000, rs 0xffffffff9ff77d71, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcffbbeb88000, rs 0xffffffff9ff77d71, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcffbbeb88, rs 0xffffffff9ff77d71, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xbf31451a00000000, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6a7fbf31451a0000, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2d16a7fbf31451a0, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc95a2dd400000000, rs 0xffffffff92b45ba8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc95a2dd40000, rs 0xffffffff92b45ba8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc95a2dd40, rs 0xffffffff92b45ba8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xa5273f0380000000, rs 0x986a2b654a4e7e07, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x15b2a5273f038000, rs 0x986a2b654a4e7e07, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc3515b2a5273f038, rs 0x986a2b654a4e7e07, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcb3aa30f80000000, rs 0xffffffff9675461f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcb3aa30f8000, rs 0xffffffff9675461f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcb3aa30f8, rs 0xffffffff9675461f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1d244daa80000000, rs 0xa974eac43a489b55, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x75621d244daa8000, rs 0xa974eac43a489b55, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4ba75621d244daa8, rs 0xa974eac43a489b55, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc4190b0d00000000, rs 0xffffffff8832161a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc4190b0d0000, rs 0xffffffff8832161a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc4190b0d0, rs 0xffffffff8832161a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3978fc7a80000000, rs 0xa388c16272f1f8f5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x60b13978fc7a8000, rs 0xa388c16272f1f8f5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1c460b13978fc7a8, rs 0xa388c16272f1f8f5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc67985d680000000, rs 0xffffffff8cf30bad, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc67985d68000, rs 0xffffffff8cf30bad, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc67985d68, rs 0xffffffff8cf30bad, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf3a4af5480000000, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x8fa2f3a4af548000, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4608fa2f3a4af548, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0d816ba00000000, rs 0xffffffff81b02d74, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc0d816ba0000, rs 0xffffffff81b02d74, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc0d816ba0, rs 0xffffffff81b02d74, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2e60e45a00000000, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2d3b2e60e45a0000, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6d52d3b2e60e45a0, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc2b8986180000000, rs 0xffffffff857130c3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc2b898618000, rs 0xffffffff857130c3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc2b898618, rs 0xffffffff857130c3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6fd302e000000000, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x67446fd302e00000, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd5a67446fd302e00, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2ec5484c80000000, rs 0x5d8a9099, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2ec5484c8000, rs 0x5d8a9099, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2ec5484c8, rs 0x5d8a9099, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2cd3d82780000000, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6b732cd3d8278000, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa156b732cd3d8278, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2ca5c69700000000, rs 0x594b8d2e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2ca5c6970000, rs 0x594b8d2e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2ca5c6970, rs 0x594b8d2e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5b94491780000000, rs 0x4bf8485ab728922f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x242d5b9449178000, rs 0x4bf8485ab728922f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5fc242d5b9449178, rs 0x4bf8485ab728922f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2a0455fb80000000, rs 0x5408abf7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2a0455fb8000, rs 0x5408abf7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2a0455fb8, rs 0x5408abf7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1db353fd80000000, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xeb061db353fd8000, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb51eb061db353fd8, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2864db2000000000, rs 0x50c9b640, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2864db200000, rs 0x50c9b640, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2864db200, rs 0x50c9b640, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfee1476d00000000, rs 0x31e0c6affdc28eda, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6357fee1476d0000, rs 0x31e0c6affdc28eda, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8f06357fee1476d0, rs 0x31e0c6affdc28eda, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2747732280000000, rs 0x4e8ee645, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x274773228000, rs 0x4e8ee645, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x274773228, rs 0x4e8ee645, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5f864cce80000000, rs 0x53606bb4bf0c999d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x35da5f864cce8000, rs 0x53606bb4bf0c999d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9b035da5f864cce8, rs 0x53606bb4bf0c999d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2527fdf900000000, rs 0x4a4ffbf2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x2527fdf90000, rs 0x4a4ffbf2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2527fdf90, rs 0x4a4ffbf2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdbc8cf800000000, rs 0x32fc12c81b7919f0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x9640dbc8cf80000, rs 0x32fc12c81b7919f0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x97e09640dbc8cf80, rs 0x32fc12c81b7919f0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x23866e9580000000, rs 0x470cdd2b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x23866e958000, rs 0x470cdd2b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x23866e958, rs 0x470cdd2b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x63977e6b00000000, rs 0x3ef88384c72efcd6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x41c263977e6b0000, rs 0x3ef88384c72efcd6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf7c41c263977e6b0, rs 0x3ef88384c72efcd6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x21e6e04e00000000, rs 0x43cdc09c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x21e6e04e0000, rs 0x43cdc09c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x21e6e04e0, rs 0x43cdc09c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb5151ac000000000, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe3ddb5151ac00000, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc58e3ddb5151ac00, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3dc13e9080000000, rs 0x7b827d21, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3dc13e908000, rs 0x7b827d21, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3dc13e908, rs 0x7b827d21, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xee53be480000000, rs 0x15ebf6121dca77c9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfb090ee53be48000, rs 0x15ebf6121dca77c9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xaf5fb090ee53be48, rs 0x15ebf6121dca77c9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3fa1b04b00000000, rs 0x7f436096, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3fa1b04b0000, rs 0x7f436096, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3fa1b04b0, rs 0x7f436096, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfec8a3d700000000, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x66ecfec8a3d70000, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf5566ecfec8a3d70, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3900232780000000, rs 0x7200464f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x390023278000, rs 0x7200464f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x390023278, rs 0x7200464f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0f4888b80000000, rs 0xbb8470f981e91117, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x387cc0f4888b8000, rs 0xbb8470f981e91117, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xdc2387cc0f4888b8, rs 0xbb8470f981e91117, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3b60adfc00000000, rs 0x76c15bf8, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3b60adfc0000, rs 0x76c15bf8, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x3b60adfc0, rs 0x76c15bf8, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6352997000000000, rs 0x5d42aeac6a532e0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1575635299700000, rs 0x5d42aeac6a532e0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2ea1575635299700, rs 0x5d42aeac6a532e0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x344305fe80000000, rs 0x68860bfd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x344305fe8000, rs 0x68860bfd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x344305fe8, rs 0x68860bfd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcfdcf3180000000, rs 0x14abf36419fb9e63, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf9b20cfdcf318000, rs 0x14abf36419fb9e63, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa55f9b20cfdcf318, rs 0x14abf36419fb9e63, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x36238b2500000000, rs 0x6c47164a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x36238b250000, rs 0x6c47164a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x36238b250, rs 0x6c47164a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x546b955600000000, rs 0x249d559aa8d72aac, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xaacd546b95560000, rs 0x249d559aa8d72aac, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x24eaacd546b95560, rs 0x249d559aa8d72aac, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x3082184980000000, rs 0x61043093, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x308218498000, rs 0x61043093, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x308218498, rs 0x61043093, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8425987600000000, rs 0xcd6764f084b30ec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3b27842598760000, rs 0xcd6764f084b30ec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x66b3b27842598760, rs 0xcd6764f084b30ec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x32e2969200000000, rs 0x65c52d24, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x32e296920000, rs 0x65c52d24, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x32e296920, rs 0x65c52d24, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc92347ef80000000, rs 0x7f03ac0792468fdf, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd603c92347ef8000, rs 0x7f03ac0792468fdf, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf81d603c92347ef8, rs 0x7f03ac0792468fdf, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8cda5f480000000, rs 0x119b4be9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x8cda5f48000, rs 0x119b4be9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8cda5f48, rs 0x119b4be9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xab73387a80000000, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe736ab73387a8000, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf1ae736ab73387a8, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xaad2b2f00000000, rs 0x155a565e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xaad2b2f0000, rs 0x155a565e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xaad2b2f0, rs 0x155a565e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8d32938880000000, rs 0x152828591a652711, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x142c8d3293888000, rs 0x152828591a652711, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa94142c8d3293888, rs 0x152828591a652711, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0cb84380000000, rs 0x18197087, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc0cb8438000, rs 0x18197087, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc0cb8438, rs 0x18197087, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe90ad4fd80000000, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1941e90ad4fd8000, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf0e1941e90ad4fd8, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe6c369800000000, rs 0x1cd86d30, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe6c36980000, rs 0x1cd86d30, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xe6c36980, rs 0x1cd86d30, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x9415020b80000000, rs 0x8d95c049282a0417, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xe0249415020b8000, rs 0x8d95c049282a0417, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6cae0249415020b8, rs 0x8d95c049282a0417, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x14f9e9a80000000, rs 0x29f3d35, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x14f9e9a8000, rs 0x29f3d35, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x14f9e9a8, rs 0x29f3d35, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4bc02c7980000000, rs 0xf2e7a490978058f3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd2484bc02c798000, rs 0xf2e7a490978058f3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x973d2484bc02c798, rs 0xf2e7a490978058f3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x32f104100000000, rs 0x65e2082, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x32f10410000, rs 0x65e2082, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x32f10410, rs 0x65e2082, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x4bad8d500000000, rs 0x775b4cca0975b1aa, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa66504bad8d50000, rs 0x775b4cca0975b1aa, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbada66504bad8d50, rs 0x775b4cca0975b1aa, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x58e832d80000000, rs 0xb1d065b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x58e832d8000, rs 0xb1d065b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x58e832d8, rs 0xb1d065b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1a88881000000000, rs 0xa2b84a635111020, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc2531a8888100000, rs 0xa2b84a635111020, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x515c2531a8888100, rs 0xa2b84a635111020, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x7ee0df600000000, rs 0xfdc1bec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7ee0df60000, rs 0xfdc1bec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x7ee0df60, rs 0xfdc1bec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd3ec45b780000000, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd069d3ec45b78000, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x11fd069d3ec45b78, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1bc9d32880000000, rs 0x3793a651, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1bc9d3288000, rs 0x3793a651, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1bc9d3288, rs 0x3793a651, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcca0ef6e80000000, rs 0xa3d991b79941dedd, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc8dbcca0ef6e8000, rs 0xa3d991b79941dedd, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1ecc8dbcca0ef6e8, rs 0xa3d991b79941dedd, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x19a95df300000000, rs 0x3352bbe6, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x19a95df30000, rs 0x3352bbe6, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x19a95df30, rs 0x3352bbe6, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xad06ca8400000000, rs 0x751cb4835a0d9508, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x5a41ad06ca840000, rs 0x751cb4835a0d9508, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa8e5a41ad06ca840, rs 0x751cb4835a0d9508, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1f08ce9f80000000, rs 0x3e119d3f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1f08ce9f8000, rs 0x3e119d3f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1f08ce9f8, rs 0x3e119d3f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb12dd96980000000, rs 0x949cad35625bb2d3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x569ab12dd9698000, rs 0x949cad35625bb2d3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa4e569ab12dd9698, rs 0x949cad35625bb2d3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x1d68404400000000, rs 0x3ad08088, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1d6840440000, rs 0x3ad08088, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x1d6840440, rs 0x3ad08088, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd3494b9c80000000, rs 0x7f567f35a6929739, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3f9ad3494b9c8000, rs 0x7f567f35a6929739, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfab3f9ad3494b9c8, rs 0x7f567f35a6929739, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x124be84680000000, rs 0x2497d08d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x124be8468000, rs 0x2497d08d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x124be8468, rs 0x2497d08d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x6dc6be9380000000, rs 0x185b88e0db8d7d27, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc4706dc6be938000, rs 0x185b88e0db8d7d27, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc2dc4706dc6be938, rs 0x185b88e0db8d7d27, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x102b669d00000000, rs 0x2056cd3a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x102b669d0000, rs 0x2056cd3a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x102b669d0, rs 0x2056cd3a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x17eb0dc880000000, rs 0x255a4cd22fd61b91, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x266917eb0dc88000, rs 0x255a4cd22fd61b91, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2ad266917eb0dc88, rs 0x255a4cd22fd61b91, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x168af5f180000000, rs 0x2d15ebe3, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x168af5f18000, rs 0x2d15ebe3, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x168af5f18, rs 0x2d15ebe3, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd21b1fbd80000000, rs 0x1048d589a4363f7b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6ac4d21b1fbd8000, rs 0x1048d589a4363f7b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8246ac4d21b1fbd8, rs 0x1048d589a4363f7b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x14ea7b2a00000000, rs 0x29d4f654, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x14ea7b2a0000, rs 0x29d4f654, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x14ea7b2a0, rs 0x29d4f654, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x7a302bc800000000, rs 0x6a6d5708f4605790, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xab847a302bc80000, rs 0x6a6d5708f4605790, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x536ab847a302bc80, rs 0x6a6d5708f4605790, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe2d4933c80000000, rs 0xffffffffc5a92679, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe2d4933c8000, rs 0xffffffffc5a92679, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe2d4933c8, rs 0xffffffffc5a92679, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xef1ab4bf80000000, rs 0xd58ecbabde35697f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x65d5ef1ab4bf8000, rs 0xd58ecbabde35697f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xac765d5ef1ab4bf8, rs 0xd58ecbabde35697f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe0b41de700000000, rs 0xffffffffc1683bce, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe0b41de70000, rs 0xffffffffc1683bce, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe0b41de70, rs 0xffffffffc1683bce, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x846052f880000000, rs 0x575548fd08c0a5f1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa47e846052f88000, rs 0x575548fd08c0a5f1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xbaaa47e846052f88, rs 0x575548fd08c0a5f1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe6158e8b80000000, rs 0xffffffffcc2b1d17, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe6158e8b8000, rs 0xffffffffcc2b1d17, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe6158e8b8, rs 0xffffffffcc2b1d17, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc76cc6ed80000000, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x207dc76cc6ed8000, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x5db207dc76cc6ed8, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe475005000000000, rs 0xffffffffc8ea00a0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe47500500000, rs 0xffffffffc8ea00a0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe47500500, rs 0xffffffffc8ea00a0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x55e2bc6600000000, rs 0xbe00d51eabc578cc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6a8f55e2bc660000, rs 0xbe00d51eabc578cc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf006a8f55e2bc660, rs 0xbe00d51eabc578cc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeb56a85280000000, rs 0xffffffffd6ad50a5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffeb56a8528000, rs 0xffffffffd6ad50a5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffeb56a8528, rs 0xffffffffd6ad50a5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe0b855900000000, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x11250e0b85590000, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x7bf11250e0b85590, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe936268900000000, rs 0xffffffffd26c4d12, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffe93626890000, rs 0xffffffffd26c4d12, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffe93626890, rs 0xffffffffd26c4d12, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x51112b5380000000, rs 0xa978f12ca22256a7, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x789651112b538000, rs 0xa978f12ca22256a7, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x4bc789651112b538, rs 0xa978f12ca22256a7, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xef97b5e580000000, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffef97b5e58000, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffef97b5e58, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc08f701780000000, rs 0x9950a93b811ee02f, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x549dc08f70178000, rs 0x9950a93b811ee02f, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xca8549dc08f70178, rs 0x9950a93b811ee02f, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xedf73b3e00000000, rs 0xffffffffdbee767c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffedf73b3e0000, rs 0xffffffffdbee767c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffedf73b3e0, rs 0xffffffffdbee767c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe33cb50600000000, rs 0xb44eea93c6796a0c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x7549e33cb5060000, rs 0xb44eea93c6796a0c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa277549e33cb5060, rs 0xb44eea93c6796a0c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf1d0e5e080000000, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff1d0e5e08000, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff1d0e5e08, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x36075b2b80000000, rs 0xfe71fca06c0eb657, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfe5036075b2b8000, rs 0xfe71fca06c0eb657, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf38fe5036075b2b8, rs 0xfe71fca06c0eb657, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf3b06b3b00000000, rs 0xffffffffe760d676, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff3b06b3b0000, rs 0xffffffffe760d676, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff3b06b3b0, rs 0xffffffffe760d676, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfc0c57ab80000000, rs 0x4ed6393df818af57, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x1c9efc0c57ab8000, rs 0x4ed6393df818af57, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x76b1c9efc0c57ab8, rs 0x4ed6393df818af57, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf511f85780000000, rs 0xffffffffea23f0af, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff511f8578000, rs 0xffffffffea23f0af, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff511f8578, rs 0xffffffffea23f0af, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x11b3b8500000000, rs 0xf22e90200236770a, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4810011b3b850000, rs 0xf22e90200236770a, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x9174810011b3b850, rs 0xf22e90200236770a, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf771768c00000000, rs 0xffffffffeee2ed18, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff771768c0000, rs 0xffffffffeee2ed18, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff771768c0, rs 0xffffffffeee2ed18, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd7e8622e80000000, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xdb63d7e8622e8000, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf7db63d7e8622e8, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf852de8e80000000, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffff852de8e8000, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffff852de8e8, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc08118ad80000000, rs 0xeed8f3518102315b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x79a8c08118ad8000, rs 0xeed8f3518102315b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x76c79a8c08118ad8, rs 0xeed8f3518102315b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfa32505500000000, rs 0xfffffffff464a0aa, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffa3250550000, rs 0xfffffffff464a0aa, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffa3250550, rs 0xfffffffff464a0aa, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xccaf7eaf00000000, rs 0xadafefb9995efd5e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xf7dcccaf7eaf0000, rs 0xadafefb9995efd5e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6d7f7dcccaf7eaf0, rs 0xadafefb9995efd5e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfc93c33980000000, rs 0xfffffffff9278673, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffc93c3398000, rs 0xfffffffff9278673, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffc93c3398, rs 0xfffffffff9278673, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf592984300000000, rs 0x34061933eb253086, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xc99f59298430000, rs 0x34061933eb253086, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa030c99f59298430, rs 0x34061933eb253086, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xfef34de200000000, rs 0xfffffffffde69bc4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfffffef34de20000, rs 0xfffffffffde69bc4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xffffffffef34de20, rs 0xfffffffffde69bc4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x25a6295e00000000, rs 0x1748da264b4c52bc, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6d1325a6295e0000, rs 0x1748da264b4c52bc, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xba46d1325a6295e0, rs 0x1748da264b4c52bc, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc4dc7e8480000000, rs 0xffffffff89b8fd09, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc4dc7e848000, rs 0xffffffff89b8fd09, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc4dc7e848, rs 0xffffffff89b8fd09, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x49815f4480000000, rs 0x34fdfc9a9302be89, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xfe4d49815f448000, rs 0x34fdfc9a9302be89, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa7efe4d49815f448, rs 0x34fdfc9a9302be89, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc6bcf05f00000000, rs 0xffffffff8d79e0be, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc6bcf05f0000, rs 0xffffffff8d79e0be, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc6bcf05f0, rs 0xffffffff8d79e0be, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xe290e8c000000000, rs 0xd00278c3c521d180, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3c61e290e8c00000, rs 0xd00278c3c521d180, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x8013c61e290e8c00, rs 0xd00278c3c521d180, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc01d633380000000, rs 0xffffffff803ac667, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc01d63338000, rs 0xffffffff803ac667, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc01d63338, rs 0xffffffff803ac667, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x60e9bd2e80000000, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa25260e9bd2e8000, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x484a25260e9bd2e8, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc27dede800000000, rs 0xffffffff84fbdbd0, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc27dede80000, rs 0xffffffff84fbdbd0, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc27dede80, rs 0xffffffff84fbdbd0, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xeef7cc1c80000000, rs 0x65fd698fddef9839, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xb4c7eef7cc1c8000, rs 0x65fd698fddef9839, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x2feb4c7eef7cc1c8, rs 0x65fd698fddef9839, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcd5e45ea80000000, rs 0xffffffff9abc8bd5, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcd5e45ea8000, rs 0xffffffff9abc8bd5, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcd5e45ea8, rs 0xffffffff9abc8bd5, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc0dad7a900000000, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x71d6c0dad7a90000, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x24f71d6c0dad7a90, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcf3ecb3100000000, rs 0xffffffff9e7d9662, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcf3ecb310000, rs 0xffffffff9e7d9662, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcf3ecb310, rs 0xffffffff9e7d9662, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x5ed931f480000000, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xa0f45ed931f48000, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xd54a0f45ed931f48, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xc99f585d80000000, rs 0xffffffff933eb0bb, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffc99f585d8000, rs 0xffffffff933eb0bb, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffc99f585d8, rs 0xffffffff933eb0bb, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2179dac680000000, rs 0x372c209e42f3b58d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x104f2179dac68000, rs 0x372c209e42f3b58d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xb96104f2179dac68, rs 0x372c209e42f3b58d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcbffd68600000000, rs 0xffffffff97ffad0c, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffcbffd6860000, rs 0xffffffff97ffad0c, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffcbffd6860, rs 0xffffffff97ffad0c, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xf091541d80000000, rs 0x30f870b7e122a83b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x385bf091541d8000, rs 0x30f870b7e122a83b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x87c385bf091541d8, rs 0x30f870b7e122a83b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd7d8085880000000, rs 0xffffffffafb010b1, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd7d808588000, rs 0xffffffffafb010b1, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd7d808588, rs 0xffffffffafb010b1, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb3c4987600000000, rs 0x9e02de4b678930ec, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x6f25b3c498760000, rs 0x9e02de4b678930ec, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xf016f25b3c498760, rs 0x9e02de4b678930ec, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd5b8868300000000, rs 0xffffffffab710d06, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd5b886830000, rs 0xffffffffab710d06, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd5b886830, rs 0xffffffffab710d06, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcc13318f00000000, rs 0xcd61a8639826631e, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xd431cc13318f0000, rs 0xcd61a8639826631e, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x6b0d431cc13318f0, rs 0xcd61a8639826631e, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd31915ef80000000, rs 0xffffffffa6322bdf, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd31915ef8000, rs 0xffffffffa6322bdf, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd31915ef8, rs 0xffffffffa6322bdf, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xcd3de9e500000000, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xde44cd3de9e50000, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x743de44cd3de9e50, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd1799b3400000000, rs 0xffffffffa2f33668, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd1799b340000, rs 0xffffffffa2f33668, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd1799b340, rs 0xffffffffa2f33668, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xb240d78b80000000, rs 0x58ec644d6481af17, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x3226b240d78b8000, rs 0x58ec644d6481af17, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xc763226b240d78b8, rs 0x58ec644d6481af17, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xde5a333680000000, rs 0xffffffffbcb4666d, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffde5a33368000, rs 0xffffffffbcb4666d, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffde5a33368, rs 0xffffffffbcb4666d, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd91b5b3300000000, rs 0x680cce5fb236b666, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x672fd91b5b330000, rs 0x680cce5fb236b666, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x406672fd91b5b330, rs 0x680cce5fb236b666, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdc3abded00000000, rs 0xffffffffb8757bda, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffdc3abded0000, rs 0xffffffffb8757bda, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffdc3abded0, rs 0xffffffffb8757bda, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x8fb6a6ba80000000, rs 0x3baa99471f6d4d75, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x4ca38fb6a6ba8000, rs 0x3baa99471f6d4d75, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xdd54ca38fb6a6ba8, rs 0x3baa99471f6d4d75, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xda9b2e8180000000, rs 0xffffffffb5365d03, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffda9b2e818000, rs 0xffffffffb5365d03, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffda9b2e818, rs 0xffffffffb5365d03, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0x2f8911b580000000, rs 0x614d9b445f12236b, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xcda22f8911b58000, rs 0x614d9b445f12236b, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xa6cda22f8911b58, rs 0x614d9b445f12236b, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xd8fba05a00000000, rs 0xffffffffb1f740b4, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0xffffd8fba05a0000, rs 0xffffffffb1f740b4, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0xfffffffd8fba05a0, rs 0xffffffffb1f740b4, imm 0x0003
+dsll $t0, $t1, 0x00 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+dsll $t2, $t3, 0x1f :: rt 0xdd4209080000000, rs 0xa2a6ec661ba84121, imm 0x001f
+dsll $a0, $a1, 0x0f :: rt 0x76330dd420908000, rs 0xa2a6ec661ba84121, imm 0x000f
+dsll $s0, $s1, 0x03 :: rt 0x15376330dd420908, rs 0xa2a6ec661ba84121, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x12bd6aa00000000, rs 0x12bd6aa, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb55000000000000, rs 0x12bd6aa, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x95eb55000000000, rs 0x12bd6aa, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x82d2ab1300000000, rs 0x7e876382d2ab13, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7e876382d2ab13, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5589800000000000, rs 0x7e876382d2ab13, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1695589800000000, rs 0x7e876382d2ab13, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9823b6e00000000, rs 0x9823b6e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1db7000000000000, rs 0x9823b6e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4c11db7000000000, rs 0x9823b6e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc31510f300000000, rs 0x976d6e9ac31510f3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x976d6e9ac31510f3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8879800000000000, rs 0x976d6e9ac31510f3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x18a8879800000000, rs 0x976d6e9ac31510f3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd4326d900000000, rs 0xd4326d9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd4326d9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x936c800000000000, rs 0xd4326d9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6a1936c800000000, rs 0xd4326d9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5ad6a5fb00000000, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x52fd800000000000, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd6b52fd800000000, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x130476dc00000000, rs 0x130476dc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3b6e000000000000, rs 0x130476dc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9823b6e000000000, rs 0x130476dc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8677b50200000000, rs 0x42b0c0a28677b502, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xda81000000000000, rs 0x42b0c0a28677b502, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x33bda81000000000, rs 0x42b0c0a28677b502, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x17c56b6b00000000, rs 0x17c56b6b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x17c56b6b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb5b5800000000000, rs 0x17c56b6b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbe2b5b5800000000, rs 0x17c56b6b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9e3c30ad00000000, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1856800000000000, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf1e1856800000000, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1a864db200000000, rs 0x1a864db2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x26d9000000000000, rs 0x1a864db2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd4326d9000000000, rs 0x1a864db2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x77fb413d00000000, rs 0x1f308ec377fb413d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1f308ec377fb413d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa09e800000000000, rs 0x1f308ec377fb413d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbfda09e800000000, rs 0x1f308ec377fb413d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1e47500500000000, rs 0x1e475005, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1e475005, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa802800000000000, rs 0x1e475005, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf23a802800000000, rs 0x1e475005, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc760e4f700000000, rs 0x7aa04213c760e4f7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7aa04213c760e4f7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x727b800000000000, rs 0x7aa04213c760e4f7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3b0727b800000000, rs 0x7aa04213c760e4f7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2608edb800000000, rs 0x2608edb8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x76dc000000000000, rs 0x2608edb8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x30476dc000000000, rs 0x2608edb8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1ad8dca000000000, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6e50000000000000, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd6c6e50000000000, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x22c9f00f00000000, rs 0x22c9f00f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x22c9f00f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf807800000000000, rs 0x22c9f00f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x164f807800000000, rs 0x22c9f00f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9615a60d00000000, rs 0x4b3dda869615a60d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4b3dda869615a60d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd306800000000000, rs 0x4b3dda869615a60d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb0ad306800000000, rs 0x4b3dda869615a60d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2f8ad6d600000000, rs 0x2f8ad6d6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6b6b000000000000, rs 0x2f8ad6d6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7c56b6b000000000, rs 0x2f8ad6d6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6353d41d00000000, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xea0e800000000000, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a9ea0e800000000, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2b4bcb6100000000, rs 0x2b4bcb61, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2b4bcb61, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe5b0800000000000, rs 0x2b4bcb61, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5a5e5b0800000000, rs 0x2b4bcb61, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc40bd41300000000, rs 0x3af35a9dc40bd413, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3af35a9dc40bd413, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xea09800000000000, rs 0x3af35a9dc40bd413, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x205ea09800000000, rs 0x3af35a9dc40bd413, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x350c9b6400000000, rs 0x350c9b64, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4db2000000000000, rs 0x350c9b64, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa864db2000000000, rs 0x350c9b64, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9a08a18000000000, rs 0x47f505569a08a180, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47f505569a08a180, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x50c0000000000000, rs 0x47f505569a08a180, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd0450c0000000000, rs 0x47f505569a08a180, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x31cd86d300000000, rs 0x31cd86d3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x31cd86d3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc369800000000000, rs 0x31cd86d3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8e6c369800000000, rs 0x31cd86d3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd6d2040f00000000, rs 0x9564b77fd6d2040f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x9564b77fd6d2040f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x207800000000000, rs 0x9564b77fd6d2040f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb690207800000000, rs 0x9564b77fd6d2040f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3c8ea00a00000000, rs 0x3c8ea00a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5005000000000000, rs 0x3c8ea00a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe475005000000000, rs 0x3c8ea00a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb2c76bbe00000000, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb5df000000000000, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x963b5df000000000, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x384fbdbd00000000, rs 0x384fbdbd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x384fbdbd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdede800000000000, rs 0x384fbdbd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc27dede800000000, rs 0x384fbdbd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1f18e4c700000000, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7263800000000000, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf8c7263800000000, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4c11db7000000000, rs 0x4c11db70, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xedb8000000000000, rs 0x4c11db70, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x608edb8000000000, rs 0x4c11db70, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81afa79700000000, rs 0x94ff52fc81afa797, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x94ff52fc81afa797, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd3cb800000000000, rs 0x94ff52fc81afa797, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd7d3cb800000000, rs 0x94ff52fc81afa797, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x48d0c6c700000000, rs 0x48d0c6c7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x48d0c6c7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6363800000000000, rs 0x48d0c6c7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4686363800000000, rs 0x48d0c6c7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6dfc50ea00000000, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2875000000000000, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6fe2875000000000, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4593e01e00000000, rs 0x4593e01e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf00f000000000000, rs 0x4593e01e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2c9f00f000000000, rs 0x4593e01e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x78e895b100000000, rs 0x36549bd678e895b1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x36549bd678e895b1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4ad8800000000000, rs 0x36549bd678e895b1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc744ad8800000000, rs 0x36549bd678e895b1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4152fda900000000, rs 0x4152fda9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4152fda9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7ed4800000000000, rs 0x4152fda9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa97ed4800000000, rs 0x4152fda9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9b63259b00000000, rs 0x85e0a6319b63259b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x85e0a6319b63259b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x92cd800000000000, rs 0x85e0a6319b63259b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdb192cd800000000, rs 0x85e0a6319b63259b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5f15adac00000000, rs 0x5f15adac, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd6d6000000000000, rs 0x5f15adac, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf8ad6d6000000000, rs 0x5f15adac, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xccf17ac500000000, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbd62800000000000, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x678bd62800000000, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5bd4b01b00000000, rs 0x5bd4b01b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5bd4b01b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x580d800000000000, rs 0x5bd4b01b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdea580d800000000, rs 0x5bd4b01b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81eea0fb00000000, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x507d800000000000, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf7507d800000000, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x569796c200000000, rs 0x569796c2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcb61000000000000, rs 0x569796c2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb4bcb61000000000, rs 0x569796c2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x14682d9700000000, rs 0x25b50fec14682d97, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x25b50fec14682d97, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x16cb800000000000, rs 0x25b50fec14682d97, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa3416cb800000000, rs 0x25b50fec14682d97, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x52568b7500000000, rs 0x52568b75, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x52568b75, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x45ba800000000000, rs 0x52568b75, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x92b45ba800000000, rs 0x52568b75, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2cfb087a00000000, rs 0xfc93c5132cfb087a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfc93c5132cfb087a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x843d000000000000, rs 0xfc93c5132cfb087a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x67d843d000000000, rs 0xfc93c5132cfb087a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6a1936c800000000, rs 0x6a1936c8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9b64000000000000, rs 0x6a1936c8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x50c9b64000000000, rs 0x6a1936c8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcda2076600000000, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3b3000000000000, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6d103b3000000000, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6ed82b7f00000000, rs 0x6ed82b7f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x6ed82b7f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x15bf800000000000, rs 0x6ed82b7f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x76c15bf800000000, rs 0x6ed82b7f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7d72da3e00000000, rs 0x1791722a7d72da3e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6d1f000000000000, rs 0x1791722a7d72da3e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeb96d1f000000000, rs 0x1791722a7d72da3e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x639b0da600000000, rs 0x639b0da6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x86d3000000000000, rs 0x639b0da6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1cd86d3000000000, rs 0x639b0da6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x93ce24ad00000000, rs 0x87cc9d193ce24ad, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x87cc9d193ce24ad, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1256800000000000, rs 0x87cc9d193ce24ad, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9e71256800000000, rs 0x87cc9d193ce24ad, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x675a101100000000, rs 0x675a1011, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x675a1011, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x808800000000000, rs 0x675a1011, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3ad0808800000000, rs 0x675a1011, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x38984ed200000000, rs 0x1d2a757038984ed2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2769000000000000, rs 0x1d2a757038984ed2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc4c2769000000000, rs 0x1d2a757038984ed2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x791d401400000000, rs 0x791d4014, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa00a000000000000, rs 0x791d4014, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc8ea00a000000000, rs 0x791d4014, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x710cd03600000000, rs 0xd0d070db710cd036, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd0d070db710cd036, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x681b000000000000, rs 0xd0d070db710cd036, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x886681b000000000, rs 0xd0d070db710cd036, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7ddc5da300000000, rs 0x7ddc5da3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7ddc5da3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2ed1800000000000, rs 0x7ddc5da3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeee2ed1800000000, rs 0x7ddc5da3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x341560400000000, rs 0x39c21c7d03415604, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c21c7d03415604, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xab02000000000000, rs 0x39c21c7d03415604, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a0ab02000000000, rs 0x39c21c7d03415604, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x709f7b7a00000000, rs 0x709f7b7a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbdbd000000000000, rs 0x709f7b7a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x84fbdbd000000000, rs 0x709f7b7a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8ecc31ce00000000, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x18e7000000000000, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x76618e7000000000, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x745e66cd00000000, rs 0x745e66cd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x745e66cd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3366800000000000, rs 0x745e66cd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa2f3366800000000, rs 0x745e66cd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1ce7674f00000000, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb3a7800000000000, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe73b3a7800000000, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9823b6e000000000, rs 0xffffffff9823b6e0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9823b6e0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdb70000000000000, rs 0xffffffff9823b6e0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc11db70000000000, rs 0xffffffff9823b6e0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x12d6e4a700000000, rs 0x2f39454412d6e4a7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2f39454412d6e4a7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7253800000000000, rs 0x2f39454412d6e4a7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x96b7253800000000, rs 0x2f39454412d6e4a7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9ce2ab5700000000, rs 0xffffffff9ce2ab57, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff9ce2ab57, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x55ab800000000000, rs 0xffffffff9ce2ab57, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe7155ab800000000, rs 0xffffffff9ce2ab57, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x56da4c5400000000, rs 0x2608c2b756da4c54, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x262a000000000000, rs 0x2608c2b756da4c54, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb6d262a000000000, rs 0x2608c2b756da4c54, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x91a18d8e00000000, rs 0xffffffff91a18d8e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff91a18d8e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc6c7000000000000, rs 0xffffffff91a18d8e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8d0c6c7000000000, rs 0xffffffff91a18d8e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc8d7252f00000000, rs 0x900102dac8d7252f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x900102dac8d7252f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9297800000000000, rs 0x900102dac8d7252f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x46b9297800000000, rs 0x900102dac8d7252f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9560903900000000, rs 0xffffffff95609039, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff95609039, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x481c800000000000, rs 0xffffffff95609039, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xab0481c800000000, rs 0xffffffff95609039, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf2efa4f700000000, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd27b800000000000, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x977d27b800000000, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8b27c03c00000000, rs 0xffffffff8b27c03c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8b27c03c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe01e000000000000, rs 0xffffffff8b27c03c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x593e01e000000000, rs 0xffffffff8b27c03c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc8b0a21400000000, rs 0xed5005cbc8b0a214, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x510a000000000000, rs 0xed5005cbc8b0a214, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x458510a000000000, rs 0xed5005cbc8b0a214, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8fe6dd8b00000000, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6ec5800000000000, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7f36ec5800000000, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5991136c00000000, rs 0x314791895991136c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x314791895991136c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x89b6000000000000, rs 0x314791895991136c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcc889b6000000000, rs 0x314791895991136c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x82a5fb5200000000, rs 0xffffffff82a5fb52, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff82a5fb52, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfda9000000000000, rs 0xffffffff82a5fb52, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x152fda9000000000, rs 0xffffffff82a5fb52, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9a2fb6f300000000, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdb79800000000000, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd17db79800000000, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8664e6e500000000, rs 0xffffffff8664e6e5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff8664e6e5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7372800000000000, rs 0xffffffff8664e6e5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3327372800000000, rs 0xffffffff8664e6e5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3889527000000000, rs 0xa809521238895270, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa809521238895270, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa938000000000000, rs 0xa809521238895270, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc44a938000000000, rs 0xa809521238895270, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbe2b5b5800000000, rs 0xffffffffbe2b5b58, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xadac000000000000, rs 0xffffffffbe2b5b58, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf15adac000000000, rs 0xffffffffbe2b5b58, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xad76504000000000, rs 0x87750a04ad765040, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x87750a04ad765040, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2820000000000000, rs 0x87750a04ad765040, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6bb2820000000000, rs 0x87750a04ad765040, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbaea46ef00000000, rs 0xffffffffbaea46ef, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffbaea46ef, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2377800000000000, rs 0xffffffffbaea46ef, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd752377800000000, rs 0xffffffffbaea46ef, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x84bb5a8300000000, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xad41800000000000, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x25dad41800000000, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb7a9603600000000, rs 0xffffffffb7a96036, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb7a96036, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb01b000000000000, rs 0xffffffffb7a96036, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbd4b01b000000000, rs 0xffffffffb7a96036, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc506aa6700000000, rs 0xae6aff8fc506aa67, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xae6aff8fc506aa67, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5533800000000000, rs 0xae6aff8fc506aa67, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2835533800000000, rs 0xae6aff8fc506aa67, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb3687d8100000000, rs 0xffffffffb3687d81, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffb3687d81, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3ec0800000000000, rs 0xffffffffb3687d81, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9b43ec0800000000, rs 0xffffffffb3687d81, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x60ed5ee300000000, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xaf71800000000000, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x76af71800000000, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xad2f2d8400000000, rs 0xffffffffad2f2d84, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x96c2000000000000, rs 0xffffffffad2f2d84, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x69796c2000000000, rs 0xffffffffad2f2d84, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x30dcca5a00000000, rs 0xc4c770f630dcca5a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc4c770f630dcca5a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x652d000000000000, rs 0xc4c770f630dcca5a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x86e652d000000000, rs 0xc4c770f630dcca5a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa9ee303300000000, rs 0xffffffffa9ee3033, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffa9ee3033, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1819800000000000, rs 0xffffffffa9ee3033, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4f71819800000000, rs 0xffffffffa9ee3033, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x83cd527700000000, rs 0xdfec2b2383cd5277, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xdfec2b2383cd5277, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa93b800000000000, rs 0xdfec2b2383cd5277, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1e6a93b800000000, rs 0xdfec2b2383cd5277, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa4ad16ea00000000, rs 0xffffffffa4ad16ea, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa4ad16ea, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8b75000000000000, rs 0xffffffffa4ad16ea, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2568b75000000000, rs 0xffffffffa4ad16ea, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xff7d96b00000000, rs 0xd3adba260ff7d96b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd3adba260ff7d96b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xecb5800000000000, rs 0xd3adba260ff7d96b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7fbecb5800000000, rs 0xd3adba260ff7d96b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa06c0b5d00000000, rs 0xffffffffa06c0b5d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffa06c0b5d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5ae800000000000, rs 0xffffffffa06c0b5d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3605ae800000000, rs 0xffffffffa06c0b5d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8418c00e00000000, rs 0x4ab4aa798418c00e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6007000000000000, rs 0x4ab4aa798418c00e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x20c6007000000000, rs 0x4ab4aa798418c00e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd4326d9000000000, rs 0xffffffffd4326d90, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd4326d90, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x36c8000000000000, rs 0xffffffffd4326d90, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa1936c8000000000, rs 0xffffffffd4326d90, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xde0f0b800000000, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x785c000000000000, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6f0785c000000000, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd0f3702700000000, rs 0xffffffffd0f37027, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffd0f37027, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb813800000000000, rs 0xffffffffd0f37027, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x879b813800000000, rs 0xffffffffd0f37027, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa97fdcf100000000, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xee78800000000000, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4bfee78800000000, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xddb056fe00000000, rs 0xffffffffddb056fe, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffddb056fe, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2b7f000000000000, rs 0xffffffffddb056fe, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xed82b7f000000000, rs 0xffffffffddb056fe, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3fd1c08100000000, rs 0x77433f373fd1c081, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x77433f373fd1c081, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe040800000000000, rs 0x77433f373fd1c081, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfe8e040800000000, rs 0x77433f373fd1c081, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd9714b4900000000, rs 0xffffffffd9714b49, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffd9714b49, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa5a4800000000000, rs 0xffffffffd9714b49, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcb8a5a4800000000, rs 0xffffffffd9714b49, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc92195e400000000, rs 0xec91d993c92195e4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xec91d993c92195e4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcaf2000000000000, rs 0xec91d993c92195e4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x490caf2000000000, rs 0xec91d993c92195e4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc7361b4c00000000, rs 0xffffffffc7361b4c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xda6000000000000, rs 0xffffffffc7361b4c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x39b0da6000000000, rs 0xffffffffc7361b4c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x95b1a5ab00000000, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd2d5800000000000, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xad8d2d5800000000, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc3f706fb00000000, rs 0xffffffffc3f706fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffc3f706fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x837d800000000000, rs 0xffffffffc3f706fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1fb837d800000000, rs 0xffffffffc3f706fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc7ce8d1e00000000, rs 0x19364378c7ce8d1e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x468f000000000000, rs 0x19364378c7ce8d1e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3e7468f000000000, rs 0x19364378c7ce8d1e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xceb4202200000000, rs 0xffffffffceb42022, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffceb42022, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1011000000000000, rs 0xffffffffceb42022, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x75a1011000000000, rs 0xffffffffceb42022, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2f38490700000000, rs 0xb99e8def2f384907, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb99e8def2f384907, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2483800000000000, rs 0xb99e8def2f384907, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x79c2483800000000, rs 0xb99e8def2f384907, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xca753d9500000000, rs 0xffffffffca753d95, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffca753d95, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9eca800000000000, rs 0xffffffffca753d95, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x53a9eca800000000, rs 0xffffffffca753d95, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x582b12fe00000000, rs 0x47eacdcd582b12fe, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x897f000000000000, rs 0x47eacdcd582b12fe, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc15897f000000000, rs 0x47eacdcd582b12fe, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf23a802800000000, rs 0xfffffffff23a8028, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff23a8028, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4014000000000000, rs 0xfffffffff23a8028, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x91d4014000000000, rs 0xfffffffff23a8028, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x76558c4f00000000, rs 0xd685884e76558c4f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd685884e76558c4f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc627800000000000, rs 0xd685884e76558c4f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb2ac627800000000, rs 0xd685884e76558c4f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf6fb9d9f00000000, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcecf800000000000, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb7dcecf800000000, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x34c195c700000000, rs 0x6168d62a34c195c7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x6168d62a34c195c7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcae3800000000000, rs 0x6168d62a34c195c7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa60cae3800000000, rs 0x6168d62a34c195c7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfbb8bb4600000000, rs 0xfffffffffbb8bb46, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffbb8bb46, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5da3000000000000, rs 0xfffffffffbb8bb46, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xddc5da3000000000, rs 0xfffffffffbb8bb46, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4df4740500000000, rs 0xd30169894df47405, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd30169894df47405, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3a02800000000000, rs 0xd30169894df47405, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6fa3a02800000000, rs 0xd30169894df47405, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xff79a6f100000000, rs 0xffffffffff79a6f1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffff79a6f1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd378800000000000, rs 0xffffffffff79a6f1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfbcd378800000000, rs 0xffffffffff79a6f1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6cbb06db00000000, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x836d800000000000, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x65d836d800000000, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe13ef6f400000000, rs 0xffffffffe13ef6f4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe13ef6f4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7b7a000000000000, rs 0xffffffffe13ef6f4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9f7b7a000000000, rs 0xffffffffe13ef6f4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9cae393a00000000, rs 0x58300f029cae393a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58300f029cae393a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1c9d000000000000, rs 0x58300f029cae393a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe571c9d000000000, rs 0x58300f029cae393a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe5ffeb4300000000, rs 0xffffffffe5ffeb43, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffe5ffeb43, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf5a1800000000000, rs 0xffffffffe5ffeb43, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2fff5a1800000000, rs 0xffffffffe5ffeb43, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdc7ebc2d00000000, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5e16800000000000, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe3f5e16800000000, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe8bccd9a00000000, rs 0xffffffffe8bccd9a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe8bccd9a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x66cd000000000000, rs 0xffffffffe8bccd9a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x45e66cd000000000, rs 0xffffffffe8bccd9a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe3405b4800000000, rs 0x8a96047be3405b48, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8a96047be3405b48, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2da4000000000000, rs 0x8a96047be3405b48, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a02da4000000000, rs 0x8a96047be3405b48, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xec7dd02d00000000, rs 0xffffffffec7dd02d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffec7dd02d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe816800000000000, rs 0xffffffffec7dd02d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x63ee816800000000, rs 0xffffffffec7dd02d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd519d32200000000, rs 0x75bfafd2d519d322, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe991000000000000, rs 0x75bfafd2d519d322, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa8ce991000000000, rs 0x75bfafd2d519d322, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3486707700000000, rs 0x34867077, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x34867077, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x383b800000000000, rs 0x34867077, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa43383b800000000, rs 0x34867077, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa630f6ad00000000, rs 0xde230867a630f6ad, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xde230867a630f6ad, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7b56800000000000, rs 0xde230867a630f6ad, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3187b56800000000, rs 0xde230867a630f6ad, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x30476dc000000000, rs 0x30476dc0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb6e0000000000000, rs 0x30476dc0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x823b6e0000000000, rs 0x30476dc0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5610326000000000, rs 0x2c0a0cf256103260, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1930000000000000, rs 0x2c0a0cf256103260, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb081930000000000, rs 0x2c0a0cf256103260, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3d044b1900000000, rs 0x3d044b19, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3d044b19, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x258c800000000000, rs 0x3d044b19, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe82258c800000000, rs 0x3d044b19, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x249b18ef00000000, rs 0x94a90544249b18ef, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x94a90544249b18ef, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8c77800000000000, rs 0x94a90544249b18ef, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x24d8c77800000000, rs 0x94a90544249b18ef, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x39c556ae00000000, rs 0x39c556ae, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xab57000000000000, rs 0x39c556ae, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xce2ab57000000000, rs 0x39c556ae, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5b56fcde00000000, rs 0xf9519fb55b56fcde, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xf9519fb55b56fcde, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7e6f000000000000, rs 0xf9519fb55b56fcde, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdab7e6f000000000, rs 0xf9519fb55b56fcde, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x278206ab00000000, rs 0x278206ab, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x278206ab, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x355800000000000, rs 0x278206ab, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3c10355800000000, rs 0x278206ab, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x468319b00000000, rs 0x81daf8200468319b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x81daf8200468319b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x18cd800000000000, rs 0x81daf8200468319b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x23418cd800000000, rs 0x81daf8200468319b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x23431b1c00000000, rs 0x23431b1c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8d8e000000000000, rs 0x23431b1c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a18d8e000000000, rs 0x23431b1c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5725f2ec00000000, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf976000000000000, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb92f976000000000, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2e003dc500000000, rs 0x2e003dc5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2e003dc5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1ee2800000000000, rs 0x2e003dc5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7001ee2800000000, rs 0x2e003dc5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc25dc8bf00000000, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe45f800000000000, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x12ee45f800000000, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2ac1207200000000, rs 0x2ac12072, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9039000000000000, rs 0x2ac12072, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5609039000000000, rs 0x2ac12072, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdac6162f00000000, rs 0x300ce751dac6162f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x300ce751dac6162f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb17800000000000, rs 0x300ce751dac6162f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd630b17800000000, rs 0x300ce751dac6162f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x128e9dcf00000000, rs 0x128e9dcf, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x128e9dcf, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4ee7800000000000, rs 0x128e9dcf, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9474ee7800000000, rs 0x128e9dcf, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xba52a85000000000, rs 0x6778fdf3ba52a850, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5428000000000000, rs 0x6778fdf3ba52a850, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd295428000000000, rs 0x6778fdf3ba52a850, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x164f807800000000, rs 0x164f8078, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc03c000000000000, rs 0x164f8078, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb27c03c000000000, rs 0x164f8078, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xda78479f00000000, rs 0xad00b1f7da78479f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xad00b1f7da78479f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x23cf800000000000, rs 0xad00b1f7da78479f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd3c23cf800000000, rs 0xad00b1f7da78479f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1b0ca6a100000000, rs 0x1b0ca6a1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1b0ca6a1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5350800000000000, rs 0x1b0ca6a1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd865350800000000, rs 0x1b0ca6a1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa6b6d98a00000000, rs 0x8d44168a6b6d98a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6cc5000000000000, rs 0x8d44168a6b6d98a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x35b6cc5000000000, rs 0x8d44168a6b6d98a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1fcdbb1600000000, rs 0x1fcdbb16, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdd8b000000000000, rs 0x1fcdbb16, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfe6dd8b000000000, rs 0x1fcdbb16, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xce63441300000000, rs 0xf518381dce634413, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf518381dce634413, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa209800000000000, rs 0xf518381dce634413, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x731a209800000000, rs 0xf518381dce634413, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x18aeb1300000000, rs 0x18aeb13, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x18aeb13, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7589800000000000, rs 0x18aeb13, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc57589800000000, rs 0x18aeb13, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe5255fc000000000, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xafe0000000000000, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x292afe0000000000, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x54bf6a400000000, rs 0x54bf6a4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfb52000000000000, rs 0x54bf6a4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2a5fb52000000000, rs 0x54bf6a4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x76321f2800000000, rs 0xccd392e176321f28, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xccd392e176321f28, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf94000000000000, rs 0xccd392e176321f28, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb190f94000000000, rs 0xccd392e176321f28, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x808d07d00000000, rs 0x808d07d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x808d07d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x683e800000000000, rs 0x808d07d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x404683e800000000, rs 0x808d07d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4018fd8f00000000, rs 0x829464944018fd8f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x829464944018fd8f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7ec7800000000000, rs 0x829464944018fd8f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc7ec7800000000, rs 0x829464944018fd8f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcc9cdca00000000, rs 0xcc9cdca, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe6e5000000000000, rs 0xcc9cdca, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x664e6e5000000000, rs 0xcc9cdca, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x52e8f0e500000000, rs 0x15d3204052e8f0e5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x15d3204052e8f0e5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7872800000000000, rs 0x15d3204052e8f0e5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9747872800000000, rs 0x15d3204052e8f0e5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7897ab0700000000, rs 0x7897ab07, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7897ab07, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd583800000000000, rs 0x7897ab07, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc4bd583800000000, rs 0x7897ab07, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x880ff34400000000, rs 0x7caf83d2880ff344, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf9a2000000000000, rs 0x7caf83d2880ff344, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x407f9a2000000000, rs 0x7caf83d2880ff344, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7c56b6b000000000, rs 0x7c56b6b0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5b58000000000000, rs 0x7c56b6b0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe2b5b58000000000, rs 0x7c56b6b0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x747defd700000000, rs 0xf156a04c747defd7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf156a04c747defd7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf7eb800000000000, rs 0xf156a04c747defd7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa3ef7eb800000000, rs 0xf156a04c747defd7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7115906900000000, rs 0x71159069, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x71159069, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc834800000000000, rs 0x71159069, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x88ac834800000000, rs 0x71159069, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf31d71000000000, rs 0x93e2601c0f31d710, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb88000000000000, rs 0x93e2601c0f31d710, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x798eb88000000000, rs 0x93e2601c0f31d710, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x75d48dde00000000, rs 0x75d48dde, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x46ef000000000000, rs 0x75d48dde, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xaea46ef000000000, rs 0x75d48dde, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x131cd93300000000, rs 0xe1e1a679131cd933, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe1e1a679131cd933, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6c99800000000000, rs 0xe1e1a679131cd933, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x98e6c99800000000, rs 0xe1e1a679131cd933, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6b93dddb00000000, rs 0x6b93dddb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x6b93dddb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeeed800000000000, rs 0x6b93dddb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5c9eeed800000000, rs 0x6b93dddb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa76fa42700000000, rs 0x24296b75a76fa427, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x24296b75a76fa427, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd213800000000000, rs 0x24296b75a76fa427, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3b7d213800000000, rs 0x24296b75a76fa427, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6f52c06c00000000, rs 0x6f52c06c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6036000000000000, rs 0x6f52c06c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7a96036000000000, rs 0x6f52c06c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x139ee56a00000000, rs 0xd296e2d2139ee56a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd296e2d2139ee56a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x72b5000000000000, rs 0xd296e2d2139ee56a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9cf72b5000000000, rs 0xd296e2d2139ee56a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6211e6b500000000, rs 0x6211e6b5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x6211e6b5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf35a800000000000, rs 0x6211e6b5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x108f35a800000000, rs 0x6211e6b5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6dc2a5c000000000, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x52e0000000000000, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6e152e0000000000, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x66d0fb0200000000, rs 0x66d0fb02, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7d81000000000000, rs 0x66d0fb02, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3687d81000000000, rs 0x66d0fb02, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc07dc16800000000, rs 0x76c89e80c07dc168, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe0b4000000000000, rs 0x76c89e80c07dc168, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3ee0b4000000000, rs 0x76c89e80c07dc168, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5e9f46bf00000000, rs 0x5e9f46bf, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5e9f46bf, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa35f800000000000, rs 0x5e9f46bf, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf4fa35f800000000, rs 0x5e9f46bf, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4bfe348f00000000, rs 0x70dc3454bfe348f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x70dc3454bfe348f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1a47800000000000, rs 0x70dc3454bfe348f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5ff1a47800000000, rs 0x70dc3454bfe348f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5a5e5b0800000000, rs 0x5a5e5b08, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2d84000000000000, rs 0x5a5e5b08, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd2f2d84000000000, rs 0x5a5e5b08, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdd6d241b00000000, rs 0xbddc7123dd6d241b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xbddc7123dd6d241b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x920d800000000000, rs 0xbddc7123dd6d241b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeb6920d800000000, rs 0xbddc7123dd6d241b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x571d7dd100000000, rs 0x571d7dd1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x571d7dd1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbee8800000000000, rs 0x571d7dd1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb8ebee8800000000, rs 0x571d7dd1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa59fcebe00000000, rs 0xf62fb727a59fcebe, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xf62fb727a59fcebe, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe75f000000000000, rs 0xf62fb727a59fcebe, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2cfe75f000000000, rs 0xf62fb727a59fcebe, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x53dc606600000000, rs 0x53dc6066, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3033000000000000, rs 0x53dc6066, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9ee3033000000000, rs 0x53dc6066, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf9f46fb00000000, rs 0x109f27e90f9f46fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x109f27e90f9f46fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa37d800000000000, rs 0x109f27e90f9f46fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7cfa37d800000000, rs 0x109f27e90f9f46fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4d9b306300000000, rs 0x4d9b3063, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4d9b3063, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9831800000000000, rs 0x4d9b3063, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6cd9831800000000, rs 0x4d9b3063, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xafd199d700000000, rs 0x3f63daa9afd199d7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3f63daa9afd199d7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcceb800000000000, rs 0x3f63daa9afd199d7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7e8cceb800000000, rs 0x3f63daa9afd199d7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x495a2dd400000000, rs 0x495a2dd4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x16ea000000000000, rs 0x495a2dd4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4ad16ea000000000, rs 0x495a2dd4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa3d484f200000000, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4279000000000000, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1ea4279000000000, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x44190b0d00000000, rs 0x44190b0d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x44190b0d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8586800000000000, rs 0x44190b0d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x20c8586800000000, rs 0x44190b0d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xda4fe4c600000000, rs 0x1f353faada4fe4c6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf263000000000000, rs 0x1f353faada4fe4c6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd27f263000000000, rs 0x1f353faada4fe4c6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x40d816ba00000000, rs 0x40d816ba, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb5d000000000000, rs 0x40d816ba, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6c0b5d000000000, rs 0x40d816ba, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7150c26000000000, rs 0x8b086ee07150c260, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8b086ee07150c260, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6130000000000000, rs 0x8b086ee07150c260, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8a86130000000000, rs 0x8b086ee07150c260, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xaca5c69700000000, rs 0xffffffffaca5c697, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffaca5c697, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe34b800000000000, rs 0xffffffffaca5c697, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x652e34b800000000, rs 0xffffffffaca5c697, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd9257f2500000000, rs 0xe54750d5d9257f25, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe54750d5d9257f25, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbf92800000000000, rs 0xe54750d5d9257f25, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc92bf92800000000, rs 0xe54750d5d9257f25, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa864db2000000000, rs 0xffffffffa864db20, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa864db20, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6d90000000000000, rs 0xffffffffa864db20, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4326d90000000000, rs 0xffffffffa864db20, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe9a6db5b00000000, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6dad800000000000, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4d36dad800000000, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa527fdf900000000, rs 0xffffffffa527fdf9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffa527fdf9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfefc800000000000, rs 0xffffffffa527fdf9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x293fefc800000000, rs 0xffffffffa527fdf9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4340ac9600000000, rs 0x70a3e0424340ac96, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x564b000000000000, rs 0x70a3e0424340ac96, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a0564b000000000, rs 0x70a3e0424340ac96, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa1e6e04e00000000, rs 0xffffffffa1e6e04e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa1e6e04e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7027000000000000, rs 0xffffffffa1e6e04e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf37027000000000, rs 0xffffffffa1e6e04e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6980171e00000000, rs 0xc0478f036980171e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc0478f036980171e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb8f000000000000, rs 0xc0478f036980171e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4c00b8f000000000, rs 0xc0478f036980171e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbfa1b04b00000000, rs 0xffffffffbfa1b04b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffbfa1b04b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd825800000000000, rs 0xffffffffbfa1b04b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfd0d825800000000, rs 0xffffffffbfa1b04b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1cf929e300000000, rs 0x3ce839a51cf929e3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3ce839a51cf929e3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x94f1800000000000, rs 0x3ce839a51cf929e3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe7c94f1800000000, rs 0x3ce839a51cf929e3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbb60adfc00000000, rs 0xffffffffbb60adfc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbb60adfc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x56fe000000000000, rs 0xffffffffbb60adfc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdb056fe000000000, rs 0xffffffffbb60adfc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5eb6895800000000, rs 0xe2fbfa895eb68958, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x44ac000000000000, rs 0xe2fbfa895eb68958, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf5b44ac000000000, rs 0xe2fbfa895eb68958, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb6238b2500000000, rs 0xffffffffb6238b25, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffb6238b25, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc592800000000000, rs 0xffffffffb6238b25, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb11c592800000000, rs 0xffffffffb6238b25, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x76ed25b700000000, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x92db800000000000, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb7692db800000000, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb2e2969200000000, rs 0xffffffffb2e29692, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb2e29692, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4b49000000000000, rs 0xffffffffb2e29692, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9714b49000000000, rs 0xffffffffb2e29692, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x170312f100000000, rs 0xeb9682c170312f1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xeb9682c170312f1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8978800000000000, rs 0xeb9682c170312f1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb818978800000000, rs 0xeb9682c170312f1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8aad2b2f00000000, rs 0xffffffff8aad2b2f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff8aad2b2f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9597800000000000, rs 0xffffffff8aad2b2f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5569597800000000, rs 0xffffffff8aad2b2f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdd301d0d00000000, rs 0x84785280dd301d0d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x84785280dd301d0d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe86800000000000, rs 0x84785280dd301d0d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe980e86800000000, rs 0x84785280dd301d0d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1f8fd6ef00000000, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb77800000000000, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfc7eb77800000000, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2998436d00000000, rs 0x26444ced2998436d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x26444ced2998436d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x21b6800000000000, rs 0x26444ced2998436d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4cc21b6800000000, rs 0x26444ced2998436d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x87ee0df600000000, rs 0xffffffff87ee0df6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff87ee0df6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6fb000000000000, rs 0xffffffff87ee0df6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3f706fb000000000, rs 0xffffffff87ee0df6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd58ca70800000000, rs 0x7175c9dd58ca708, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5384000000000000, rs 0x7175c9dd58ca708, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xac65384000000000, rs 0x7175c9dd58ca708, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x99a95df300000000, rs 0xffffffff99a95df3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff99a95df3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xaef9800000000000, rs 0xffffffff99a95df3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcd4aef9800000000, rs 0xffffffff99a95df3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5583328700000000, rs 0x663d061055833287, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x663d061055833287, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9943800000000000, rs 0x663d061055833287, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xac19943800000000, rs 0x663d061055833287, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9d68404400000000, rs 0xffffffff9d684044, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9d684044, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2022000000000000, rs 0xffffffff9d684044, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeb42022000000000, rs 0xffffffff9d684044, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8951d68b00000000, rs 0xab7dd0488951d68b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xab7dd0488951d68b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb45800000000000, rs 0xab7dd0488951d68b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4a8eb45800000000, rs 0xab7dd0488951d68b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x902b669d00000000, rs 0xffffffff902b669d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff902b669d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb34e800000000000, rs 0xffffffff902b669d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x815b34e800000000, rs 0xffffffff902b669d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe82471b00000000, rs 0xf69823670e82471b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf69823670e82471b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x238d800000000000, rs 0xf69823670e82471b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x741238d800000000, rs 0xf69823670e82471b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x94ea7b2a00000000, rs 0xffffffff94ea7b2a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff94ea7b2a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3d95000000000000, rs 0xffffffff94ea7b2a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa753d95000000000, rs 0xffffffff94ea7b2a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd98d26b200000000, rs 0x36886c59d98d26b2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9359000000000000, rs 0x36886c59d98d26b2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcc69359000000000, rs 0x36886c59d98d26b2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe0b41de700000000, rs 0xffffffffe0b41de7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffe0b41de7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xef3800000000000, rs 0xffffffffe0b41de7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5a0ef3800000000, rs 0xffffffffe0b41de7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd32be47900000000, rs 0x9ca4bdbd32be479, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x9ca4bdbd32be479, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf23c800000000000, rs 0x9ca4bdbd32be479, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x995f23c800000000, rs 0x9ca4bdbd32be479, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe475005000000000, rs 0xffffffffe4750050, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe4750050, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8028000000000000, rs 0xffffffffe4750050, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x23a8028000000000, rs 0xffffffffe4750050, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9962e61f00000000, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x730f800000000000, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcb1730f800000000, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe936268900000000, rs 0xffffffffe9362689, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffe9362689, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1344800000000000, rs 0xffffffffe9362689, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x49b1344800000000, rs 0xffffffffe9362689, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcad374df00000000, rs 0x3f46553ecad374df, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3f46553ecad374df, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xba6f800000000000, rs 0x3f46553ecad374df, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x569ba6f800000000, rs 0x3f46553ecad374df, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xedf73b3e00000000, rs 0xffffffffedf73b3e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffedf73b3e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9d9f000000000000, rs 0xffffffffedf73b3e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6fb9d9f000000000, rs 0xffffffffedf73b3e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3eedf2a700000000, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf953800000000000, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf76f953800000000, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf3b06b3b00000000, rs 0xfffffffff3b06b3b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffff3b06b3b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x359d800000000000, rs 0xfffffffff3b06b3b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9d8359d800000000, rs 0xfffffffff3b06b3b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3c0c9f3300000000, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4f99800000000000, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe064f99800000000, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf771768c00000000, rs 0xfffffffff771768c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff771768c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbb46000000000000, rs 0xfffffffff771768c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbb8bb46000000000, rs 0xfffffffff771768c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x155ec9dc00000000, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x64ee000000000000, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xaaf64ee000000000, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfa32505500000000, rs 0xfffffffffa325055, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffffa325055, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x282a800000000000, rs 0xfffffffffa325055, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd19282a800000000, rs 0xfffffffffa325055, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1947820600000000, rs 0xd2df25c419478206, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd2df25c419478206, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc103000000000000, rs 0xd2df25c419478206, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xca3c103000000000, rs 0xd2df25c419478206, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfef34de200000000, rs 0xfffffffffef34de2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffef34de2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa6f1000000000000, rs 0xfffffffffef34de2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf79a6f1000000000, rs 0xfffffffffef34de2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xeb32182500000000, rs 0xbc65bf27eb321825, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xbc65bf27eb321825, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc12800000000000, rs 0xbc65bf27eb321825, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5990c12800000000, rs 0xbc65bf27eb321825, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc6bcf05f00000000, rs 0xffffffffc6bcf05f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffc6bcf05f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x782f800000000000, rs 0xffffffffc6bcf05f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x35e782f800000000, rs 0xffffffffc6bcf05f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7a8bc7da00000000, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe3ed000000000000, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd45e3ed000000000, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc27dede800000000, rs 0xffffffffc27dede8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc27dede8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf6f4000000000000, rs 0xffffffffc27dede8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x13ef6f4000000000, rs 0xffffffffc27dede8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf8dfcde800000000, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe6f4000000000000, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc6fe6f4000000000, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcf3ecb3100000000, rs 0xffffffffcf3ecb31, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffcf3ecb31, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6598800000000000, rs 0xffffffffcf3ecb31, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x79f6598800000000, rs 0xffffffffcf3ecb31, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x59a9926900000000, rs 0x478909b59a99269, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x478909b59a99269, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc934800000000000, rs 0x478909b59a99269, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcd4c934800000000, rs 0x478909b59a99269, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcbffd68600000000, rs 0xffffffffcbffd686, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffcbffd686, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb43000000000000, rs 0xffffffffcbffd686, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5ffeb43000000000, rs 0xffffffffcbffd686, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7857360f00000000, rs 0xbfb31cc87857360f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xbfb31cc87857360f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9b07800000000000, rs 0xbfb31cc87857360f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc2b9b07800000000, rs 0xbfb31cc87857360f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd5b8868300000000, rs 0xffffffffd5b88683, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffd5b88683, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4341800000000000, rs 0xffffffffd5b88683, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xadc4341800000000, rs 0xffffffffd5b88683, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7f89e9a200000000, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf4d1000000000000, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfc4f4d1000000000, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd1799b3400000000, rs 0xffffffffd1799b34, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd1799b34, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcd9a000000000000, rs 0xffffffffd1799b34, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8bccd9a000000000, rs 0xffffffffd1799b34, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb7a8d5e400000000, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6af2000000000000, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbd46af2000000000, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdc3abded00000000, rs 0xffffffffdc3abded, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffdc3abded, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5ef6800000000000, rs 0xffffffffdc3abded, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe1d5ef6800000000, rs 0xffffffffdc3abded, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2af90fcc00000000, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x87e6000000000000, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x57c87e6000000000, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd8fba05a00000000, rs 0xffffffffd8fba05a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd8fba05a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd02d000000000000, rs 0xffffffffd8fba05a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc7dd02d000000000, rs 0xffffffffd8fba05a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2b96189700000000, rs 0x223d7cfe2b961897, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x223d7cfe2b961897, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc4b800000000000, rs 0x223d7cfe2b961897, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5cb0c4b800000000, rs 0x223d7cfe2b961897, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x690ce0ee00000000, rs 0x690ce0ee, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7077000000000000, rs 0x690ce0ee, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4867077000000000, rs 0x690ce0ee, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x33734a4b00000000, rs 0x420b34f533734a4b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x420b34f533734a4b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa525800000000000, rs 0x420b34f533734a4b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9b9a525800000000, rs 0x420b34f533734a4b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6dcdfd5900000000, rs 0x6dcdfd59, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x6dcdfd59, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfeac800000000000, rs 0x6dcdfd59, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6e6feac800000000, rs 0x6dcdfd59, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdd46b33c00000000, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x599e000000000000, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xea3599e000000000, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x608edb8000000000, rs 0x608edb80, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6dc0000000000000, rs 0x608edb80, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x476dc0000000000, rs 0x608edb80, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe392ccd900000000, rs 0x7a387445e392ccd9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7a387445e392ccd9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x666c800000000000, rs 0x7a387445e392ccd9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1c9666c800000000, rs 0x7a387445e392ccd9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x644fc63700000000, rs 0x644fc637, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x644fc637, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe31b800000000000, rs 0x644fc637, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x227e31b800000000, rs 0x644fc637, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd80000c900000000, rs 0x512f29b1d80000c9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x512f29b1d80000c9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x64800000000000, rs 0x512f29b1d80000c9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc000064800000000, rs 0x512f29b1d80000c9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7a08963200000000, rs 0x7a089632, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4b19000000000000, rs 0x7a089632, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd044b19000000000, rs 0x7a089632, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3dad020a00000000, rs 0xeaded5c53dad020a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xeaded5c53dad020a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8105000000000000, rs 0xeaded5c53dad020a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xed68105000000000, rs 0xeaded5c53dad020a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7ec98b8500000000, rs 0x7ec98b85, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7ec98b85, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc5c2800000000000, rs 0x7ec98b85, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf64c5c2800000000, rs 0x7ec98b85, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x31eea35b00000000, rs 0x8a6229d731eea35b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x8a6229d731eea35b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x51ad800000000000, rs 0x8a6229d731eea35b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8f751ad800000000, rs 0x8a6229d731eea35b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x738aad5c00000000, rs 0x738aad5c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x56ae000000000000, rs 0x738aad5c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9c556ae000000000, rs 0x738aad5c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4898564900000000, rs 0x2c3c3f9e48985649, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2c3c3f9e48985649, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2b24800000000000, rs 0x2c3c3f9e48985649, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x44c2b24800000000, rs 0x2c3c3f9e48985649, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x774bb0eb00000000, rs 0x774bb0eb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x774bb0eb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd875800000000000, rs 0x774bb0eb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xba5d875800000000, rs 0x774bb0eb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdc9c0b7700000000, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5bb800000000000, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe4e05bb800000000, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4f040d5600000000, rs 0x4f040d56, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6ab000000000000, rs 0x4f040d56, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x78206ab000000000, rs 0x4f040d56, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1d5e68ec00000000, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3476000000000000, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeaf3476000000000, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4bc510e100000000, rs 0x4bc510e1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4bc510e1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8870800000000000, rs 0x4bc510e1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5e28870800000000, rs 0x4bc510e1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3d0c6e2500000000, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3712800000000000, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe863712800000000, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4686363800000000, rs 0x46863638, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1b1c000000000000, rs 0x46863638, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3431b1c000000000, rs 0x46863638, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe7fb658700000000, rs 0x164e17c1e7fb6587, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x164e17c1e7fb6587, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb2c3800000000000, rs 0x164e17c1e7fb6587, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3fdb2c3800000000, rs 0x164e17c1e7fb6587, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x42472b8f00000000, rs 0x42472b8f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x42472b8f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x95c7800000000000, rs 0x42472b8f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x12395c7800000000, rs 0x42472b8f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x56d4950b00000000, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4a85800000000000, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb6a4a85800000000, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5c007b8a00000000, rs 0x5c007b8a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3dc5000000000000, rs 0x5c007b8a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe003dc5000000000, rs 0x5c007b8a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbe7fa08a00000000, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd045000000000000, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf3fd045000000000, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x58c1663d00000000, rs 0x58c1663d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x58c1663d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb31e800000000000, rs 0x58c1663d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc60b31e800000000, rs 0x58c1663d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x159649c500000000, rs 0xf8be8164159649c5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf8be8164159649c5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x24e2800000000000, rs 0xf8be8164159649c5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xacb24e2800000000, rs 0xf8be8164159649c5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x558240e400000000, rs 0x558240e4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2072000000000000, rs 0x558240e4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xac12072000000000, rs 0x558240e4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x84e69b1700000000, rs 0x7ca3259784e69b17, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7ca3259784e69b17, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4d8b800000000000, rs 0x7ca3259784e69b17, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2734d8b800000000, rs 0x7ca3259784e69b17, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x51435d5300000000, rs 0x51435d53, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x51435d53, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xaea9800000000000, rs 0x51435d53, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8a1aea9800000000, rs 0x51435d53, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa1f24f5c00000000, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x27ae000000000000, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf927ae000000000, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x251d3b9e00000000, rs 0x251d3b9e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9dcf000000000000, rs 0x251d3b9e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x28e9dcf000000000, rs 0x251d3b9e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe3459e3600000000, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcf1b000000000000, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1a2cf1b000000000, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x21dc262900000000, rs 0x21dc2629, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x21dc2629, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1314800000000000, rs 0x21dc2629, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xee1314800000000, rs 0x21dc2629, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x187980fa00000000, rs 0xc532e18e187980fa, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc532e18e187980fa, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc07d000000000000, rs 0xc532e18e187980fa, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc3cc07d000000000, rs 0xc532e18e187980fa, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2c9f00f000000000, rs 0x2c9f00f0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8078000000000000, rs 0x2c9f00f0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x64f8078000000000, rs 0x2c9f00f0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4f287d1c00000000, rs 0xb3fdec294f287d1c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3e8e000000000000, rs 0xb3fdec294f287d1c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7943e8e000000000, rs 0xb3fdec294f287d1c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x285e1d4700000000, rs 0x285e1d47, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x285e1d47, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xea3800000000000, rs 0x285e1d47, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x42f0ea3800000000, rs 0x285e1d47, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x49732b9000000000, rs 0xb620660a49732b90, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb620660a49732b90, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x95c8000000000000, rs 0xb620660a49732b90, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4b995c8000000000, rs 0xb620660a49732b90, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x36194d4200000000, rs 0x36194d42, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa6a1000000000000, rs 0x36194d42, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb0ca6a1000000000, rs 0x36194d42, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6cfde99100000000, rs 0x993138f16cfde991, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x993138f16cfde991, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf4c8800000000000, rs 0x993138f16cfde991, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x67ef4c8800000000, rs 0x993138f16cfde991, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x32d850f500000000, rs 0x32d850f5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x32d850f5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x287a800000000000, rs 0x32d850f5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x96c287a800000000, rs 0x32d850f5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7d5407b900000000, rs 0xde02d1337d5407b9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xde02d1337d5407b9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3dc800000000000, rs 0xde02d1337d5407b9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xeaa03dc800000000, rs 0xde02d1337d5407b9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3f9b762c00000000, rs 0x3f9b762c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbb16000000000000, rs 0x3f9b762c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfcdbb16000000000, rs 0x3f9b762c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe1dab15a00000000, rs 0x13a390e1e1dab15a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x58ad000000000000, rs 0x13a390e1e1dab15a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xed58ad000000000, rs 0x13a390e1e1dab15a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3b5a6b9b00000000, rs 0x3b5a6b9b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3b5a6b9b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x35cd800000000000, rs 0x3b5a6b9b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdad35cd800000000, rs 0x3b5a6b9b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x828716c800000000, rs 0x743491a6828716c8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x743491a6828716c8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8b64000000000000, rs 0x743491a6828716c8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1438b64000000000, rs 0x743491a6828716c8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x315d62600000000, rs 0x315d626, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeb13000000000000, rs 0x315d626, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x18aeb13000000000, rs 0x315d626, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xede292f200000000, rs 0x8cff404aede292f2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8cff404aede292f2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4979000000000000, rs 0x8cff404aede292f2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6f14979000000000, rs 0x8cff404aede292f2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7d4cb9100000000, rs 0x7d4cb91, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7d4cb91, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x65c8800000000000, rs 0x7d4cb91, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3ea65c8800000000, rs 0x7d4cb91, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1f83763600000000, rs 0xb9cec0db1f837636, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb9cec0db1f837636, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbb1b000000000000, rs 0xb9cec0db1f837636, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfc1bb1b000000000, rs 0xb9cec0db1f837636, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa97ed4800000000, rs 0xa97ed48, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf6a4000000000000, rs 0xa97ed48, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x54bf6a4000000000, rs 0xa97ed48, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x509771c00000000, rs 0x2eaa5aa70509771c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbb8e000000000000, rs 0x2eaa5aa70509771c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x284bb8e000000000, rs 0x2eaa5aa70509771c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe56f0ff00000000, rs 0xe56f0ff, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe56f0ff, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x787f800000000000, rs 0xe56f0ff, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x72b787f800000000, rs 0xe56f0ff, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1875241b00000000, rs 0xd327538e1875241b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd327538e1875241b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x920d800000000000, rs 0xd327538e1875241b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc3a920d800000000, rs 0xd327538e1875241b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1011a0fa00000000, rs 0x1011a0fa, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd07d000000000000, rs 0x1011a0fa, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x808d07d000000000, rs 0x1011a0fa, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8b739b6b00000000, rs 0x42e9f8548b739b6b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x42e9f8548b739b6b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcdb5800000000000, rs 0x42e9f8548b739b6b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5b9cdb5800000000, rs 0x42e9f8548b739b6b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x14d0bd4d00000000, rs 0x14d0bd4d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x14d0bd4d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5ea6800000000000, rs 0x14d0bd4d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa685ea6800000000, rs 0x14d0bd4d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xeccbba1a00000000, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdd0d000000000000, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x665dd0d000000000, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x19939b9400000000, rs 0x19939b94, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcdca000000000000, rs 0x19939b94, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcc9cdca000000000, rs 0x19939b94, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcd9d27cb00000000, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x93e5800000000000, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6ce93e5800000000, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1d52862300000000, rs 0x1d528623, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1d528623, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4311800000000000, rs 0x1d528623, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xea94311800000000, rs 0x1d528623, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xae3e942300000000, rs 0x73916483ae3e9423, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x73916483ae3e9423, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4a11800000000000, rs 0x73916483ae3e9423, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x71f4a11800000000, rs 0x73916483ae3e9423, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf12f560e00000000, rs 0xfffffffff12f560e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff12f560e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xab07000000000000, rs 0xfffffffff12f560e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x897ab07000000000, rs 0xfffffffff12f560e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe12856100000000, rs 0x276af70a0e128561, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x276af70a0e128561, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x42b0800000000000, rs 0x276af70a0e128561, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x70942b0800000000, rs 0x276af70a0e128561, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf5ee4bb900000000, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x25dc800000000000, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xaf725dc800000000, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb5e74b6e00000000, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa5b7000000000000, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xaf3a5b7000000000, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf8ad6d6000000000, rs 0xfffffffff8ad6d60, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff8ad6d60, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb6b0000000000000, rs 0xfffffffff8ad6d60, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc56b6b0000000000, rs 0xfffffffff8ad6d60, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8accfa600000000, rs 0x20223f1308accfa6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x20223f1308accfa6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x67d3000000000000, rs 0x20223f1308accfa6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x45667d3000000000, rs 0x20223f1308accfa6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfc6c70d700000000, rs 0xfffffffffc6c70d7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffffc6c70d7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x386b800000000000, rs 0xfffffffffc6c70d7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe36386b800000000, rs 0xfffffffffc6c70d7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3976b5f500000000, rs 0xf83c55743976b5f5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf83c55743976b5f5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5afa800000000000, rs 0xf83c55743976b5f5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcbb5afa800000000, rs 0xf83c55743976b5f5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe22b20d200000000, rs 0xffffffffe22b20d2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe22b20d2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9069000000000000, rs 0xffffffffe22b20d2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1159069000000000, rs 0xffffffffe22b20d2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x46923c3d00000000, rs 0x1f9720f946923c3d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1f9720f946923c3d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1e1e800000000000, rs 0x1f9720f946923c3d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3491e1e800000000, rs 0x1f9720f946923c3d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe6ea3d6500000000, rs 0xffffffffe6ea3d65, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffe6ea3d65, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1eb2800000000000, rs 0xffffffffe6ea3d65, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3751eb2800000000, rs 0xffffffffe6ea3d65, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6d2448dd00000000, rs 0x620d28506d2448dd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x620d28506d2448dd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x246e800000000000, rs 0x620d28506d2448dd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x692246e800000000, rs 0x620d28506d2448dd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xeba91bbc00000000, rs 0xffffffffeba91bbc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffeba91bbc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8dde000000000000, rs 0xffffffffeba91bbc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5d48dde000000000, rs 0xffffffffeba91bbc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9ff4a73200000000, rs 0x60a521e99ff4a732, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5399000000000000, rs 0x60a521e99ff4a732, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xffa5399000000000, rs 0x60a521e99ff4a732, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xef68060b00000000, rs 0xffffffffef68060b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffef68060b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x305800000000000, rs 0xffffffffef68060b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7b40305800000000, rs 0xffffffffef68060b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5c680f0b00000000, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x785800000000000, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe340785800000000, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd727bbb600000000, rs 0xffffffffd727bbb6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd727bbb6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdddb000000000000, rs 0xffffffffd727bbb6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb93dddb000000000, rs 0xffffffffd727bbb6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x800f3d2600000000, rs 0xc7a59be7800f3d26, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc7a59be7800f3d26, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9e93000000000000, rs 0xc7a59be7800f3d26, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x79e93000000000, rs 0xc7a59be7800f3d26, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd3e6a60100000000, rs 0xffffffffd3e6a601, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffd3e6a601, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5300800000000000, rs 0xffffffffd3e6a601, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9f35300800000000, rs 0xffffffffd3e6a601, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x82ca1b4100000000, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xda0800000000000, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1650da0800000000, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdea580d800000000, rs 0xffffffffdea580d8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffdea580d8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc06c000000000000, rs 0xffffffffdea580d8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf52c06c000000000, rs 0xffffffffdea580d8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x60d19dcd00000000, rs 0x2b8613a260d19dcd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2b8613a260d19dcd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcee6800000000000, rs 0x2b8613a260d19dcd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x68cee6800000000, rs 0x2b8613a260d19dcd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xda649d6f00000000, rs 0xffffffffda649d6f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffda649d6f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4eb7800000000000, rs 0xffffffffda649d6f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd324eb7800000000, rs 0xffffffffda649d6f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe8bbe7f00000000, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdf3f800000000000, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x745df3f800000000, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc423cd6a00000000, rs 0xffffffffc423cd6a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc423cd6a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe6b5000000000000, rs 0xffffffffc423cd6a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x211e6b5000000000, rs 0xffffffffc423cd6a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2fcf486b00000000, rs 0x743e568d2fcf486b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x743e568d2fcf486b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa435800000000000, rs 0x743e568d2fcf486b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7e7a435800000000, rs 0x743e568d2fcf486b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x34c3172800000000, rs 0x126f646f34c31728, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x126f646f34c31728, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8b94000000000000, rs 0x126f646f34c31728, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa618b94000000000, rs 0x126f646f34c31728, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcda1f60400000000, rs 0xffffffffcda1f604, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffcda1f604, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfb02000000000000, rs 0xffffffffcda1f604, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6d0fb02000000000, rs 0xffffffffcda1f604, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x56fc4d1200000000, rs 0xaab0196156fc4d12, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xaab0196156fc4d12, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2689000000000000, rs 0xaab0196156fc4d12, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb7e2689000000000, rs 0xaab0196156fc4d12, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8595d34200000000, rs 0x7535cd338595d342, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7535cd338595d342, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe9a1000000000000, rs 0x7535cd338595d342, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2cae9a1000000000, rs 0x7535cd338595d342, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbd3e8d7e00000000, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x46bf000000000000, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe9f46bf000000000, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x422346ec00000000, rs 0xdfb254da422346ec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xdfb254da422346ec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa376000000000000, rs 0xdfb254da422346ec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x111a376000000000, rs 0xdfb254da422346ec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb9ff90c900000000, rs 0xffffffffb9ff90c9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffb9ff90c9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc864800000000000, rs 0xffffffffb9ff90c9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcffc864800000000, rs 0xffffffffb9ff90c9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81ab2a00000000, rs 0xa86726c90081ab2a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa86726c90081ab2a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd595000000000000, rs 0xa86726c90081ab2a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x40d595000000000, rs 0xa86726c90081ab2a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb4bcb61000000000, rs 0xffffffffb4bcb610, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5b08000000000000, rs 0xffffffffb4bcb610, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa5e5b08000000000, rs 0xffffffffb4bcb610, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x679d743800000000, rs 0x9bfeffa1679d7438, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9bfeffa1679d7438, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xba1c000000000000, rs 0x9bfeffa1679d7438, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3ceba1c000000000, rs 0x9bfeffa1679d7438, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb07daba700000000, rs 0xffffffffb07daba7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffb07daba7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd5d3800000000000, rs 0xffffffffb07daba7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x83ed5d3800000000, rs 0xffffffffb07daba7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb7dee24400000000, rs 0xc7699826b7dee244, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc7699826b7dee244, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7122000000000000, rs 0xc7699826b7dee244, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbef7122000000000, rs 0xc7699826b7dee244, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xae3afba200000000, rs 0xffffffffae3afba2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffae3afba2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7dd1000000000000, rs 0xffffffffae3afba2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x71d7dd1000000000, rs 0xffffffffae3afba2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfba6704a00000000, rs 0x3c07af97fba6704a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3825000000000000, rs 0x3c07af97fba6704a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdd33825000000000, rs 0x3c07af97fba6704a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xaafbe61500000000, rs 0xffffffffaafbe615, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffaafbe615, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf30a800000000000, rs 0xffffffffaafbe615, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x57df30a800000000, rs 0xffffffffaafbe615, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4c58bfe00000000, rs 0x521364dc04c58bfe, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc5ff000000000000, rs 0x521364dc04c58bfe, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x262c5ff000000000, rs 0x521364dc04c58bfe, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa7b8c0cc00000000, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6066000000000000, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3dc6066000000000, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9ab7aebc00000000, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd75e000000000000, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd5bd75e000000000, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa379dd7b00000000, rs 0xffffffffa379dd7b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffa379dd7b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xeebd800000000000, rs 0xffffffffa379dd7b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1bceebd800000000, rs 0xffffffffa379dd7b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdeeb954d00000000, rs 0xe336c60cdeeb954d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe336c60cdeeb954d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcaa6800000000000, rs 0xe336c60cdeeb954d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf75caa6800000000, rs 0xe336c60cdeeb954d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9b3660c600000000, rs 0xffffffff9b3660c6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9b3660c6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3063000000000000, rs 0xffffffff9b3660c6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd9b3063000000000, rs 0xffffffff9b3660c6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6f52416e00000000, rs 0xd5b2120c6f52416e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd5b2120c6f52416e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x20b7000000000000, rs 0xd5b2120c6f52416e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7a920b7000000000, rs 0xd5b2120c6f52416e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9ff77d7100000000, rs 0xffffffff9ff77d71, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff9ff77d71, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbeb8800000000000, rs 0xffffffff9ff77d71, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xffbbeb8800000000, rs 0xffffffff9ff77d71, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7e628a3400000000, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x451a000000000000, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf31451a000000000, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x92b45ba800000000, rs 0xffffffff92b45ba8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff92b45ba8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2dd4000000000000, rs 0xffffffff92b45ba8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x95a2dd4000000000, rs 0xffffffff92b45ba8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4a4e7e0700000000, rs 0x986a2b654a4e7e07, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x986a2b654a4e7e07, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3f03800000000000, rs 0x986a2b654a4e7e07, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5273f03800000000, rs 0x986a2b654a4e7e07, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9675461f00000000, rs 0xffffffff9675461f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff9675461f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa30f800000000000, rs 0xffffffff9675461f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb3aa30f800000000, rs 0xffffffff9675461f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3a489b5500000000, rs 0xa974eac43a489b55, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xa974eac43a489b55, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4daa800000000000, rs 0xa974eac43a489b55, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd244daa800000000, rs 0xa974eac43a489b55, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8832161a00000000, rs 0xffffffff8832161a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8832161a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb0d000000000000, rs 0xffffffff8832161a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4190b0d000000000, rs 0xffffffff8832161a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x72f1f8f500000000, rs 0xa388c16272f1f8f5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xa388c16272f1f8f5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfc7a800000000000, rs 0xa388c16272f1f8f5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x978fc7a800000000, rs 0xa388c16272f1f8f5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8cf30bad00000000, rs 0xffffffff8cf30bad, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff8cf30bad, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x85d6800000000000, rs 0xffffffff8cf30bad, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x67985d6800000000, rs 0xffffffff8cf30bad, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe7495ea900000000, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xaf54800000000000, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3a4af54800000000, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81b02d7400000000, rs 0xffffffff81b02d74, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff81b02d74, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x16ba000000000000, rs 0xffffffff81b02d74, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd816ba000000000, rs 0xffffffff81b02d74, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5cc1c8b400000000, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe45a000000000000, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe60e45a000000000, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x857130c300000000, rs 0xffffffff857130c3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff857130c3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9861800000000000, rs 0xffffffff857130c3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2b89861800000000, rs 0xffffffff857130c3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdfa605c000000000, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2e0000000000000, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfd302e0000000000, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5d8a909900000000, rs 0x5d8a9099, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5d8a9099, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x484c800000000000, rs 0x5d8a9099, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xec5484c800000000, rs 0x5d8a9099, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x59a7b04f00000000, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd827800000000000, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcd3d827800000000, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x594b8d2e00000000, rs 0x594b8d2e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc697000000000000, rs 0x594b8d2e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xca5c697000000000, rs 0x594b8d2e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb728922f00000000, rs 0x4bf8485ab728922f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4bf8485ab728922f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4917800000000000, rs 0x4bf8485ab728922f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb944917800000000, rs 0x4bf8485ab728922f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5408abf700000000, rs 0x5408abf7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x5408abf7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x55fb800000000000, rs 0x5408abf7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa0455fb800000000, rs 0x5408abf7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3b66a7fb00000000, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x53fd800000000000, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdb353fd800000000, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x50c9b64000000000, rs 0x50c9b640, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdb20000000000000, rs 0x50c9b640, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x864db20000000000, rs 0x50c9b640, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfdc28eda00000000, rs 0x31e0c6affdc28eda, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x476d000000000000, rs 0x31e0c6affdc28eda, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xee1476d000000000, rs 0x31e0c6affdc28eda, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4e8ee64500000000, rs 0x4e8ee645, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4e8ee645, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7322800000000000, rs 0x4e8ee645, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7477322800000000, rs 0x4e8ee645, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbf0c999d00000000, rs 0x53606bb4bf0c999d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x53606bb4bf0c999d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4cce800000000000, rs 0x53606bb4bf0c999d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf864cce800000000, rs 0x53606bb4bf0c999d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4a4ffbf200000000, rs 0x4a4ffbf2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xfdf9000000000000, rs 0x4a4ffbf2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x527fdf9000000000, rs 0x4a4ffbf2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1b7919f000000000, rs 0x32fc12c81b7919f0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8cf8000000000000, rs 0x32fc12c81b7919f0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdbc8cf8000000000, rs 0x32fc12c81b7919f0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x470cdd2b00000000, rs 0x470cdd2b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x470cdd2b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6e95800000000000, rs 0x470cdd2b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3866e95800000000, rs 0x470cdd2b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc72efcd600000000, rs 0x3ef88384c72efcd6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7e6b000000000000, rs 0x3ef88384c72efcd6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3977e6b000000000, rs 0x3ef88384c72efcd6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x43cdc09c00000000, rs 0x43cdc09c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe04e000000000000, rs 0x43cdc09c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1e6e04e000000000, rs 0x43cdc09c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6a2a358000000000, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1ac0000000000000, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5151ac0000000000, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7b827d2100000000, rs 0x7b827d21, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7b827d21, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3e90800000000000, rs 0x7b827d21, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdc13e90800000000, rs 0x7b827d21, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1dca77c900000000, rs 0x15ebf6121dca77c9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x15ebf6121dca77c9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3be4800000000000, rs 0x15ebf6121dca77c9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xee53be4800000000, rs 0x15ebf6121dca77c9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7f43609600000000, rs 0x7f436096, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb04b000000000000, rs 0x7f436096, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfa1b04b000000000, rs 0x7f436096, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfd9147ae00000000, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa3d7000000000000, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xec8a3d7000000000, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x7200464f00000000, rs 0x7200464f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7200464f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2327800000000000, rs 0x7200464f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9002327800000000, rs 0x7200464f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81e9111700000000, rs 0xbb8470f981e91117, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xbb8470f981e91117, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x888b800000000000, rs 0xbb8470f981e91117, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf4888b800000000, rs 0xbb8470f981e91117, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x76c15bf800000000, rs 0x76c15bf8, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xadfc000000000000, rs 0x76c15bf8, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb60adfc000000000, rs 0x76c15bf8, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc6a532e000000000, rs 0x5d42aeac6a532e0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9970000000000000, rs 0x5d42aeac6a532e0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3529970000000000, rs 0x5d42aeac6a532e0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x68860bfd00000000, rs 0x68860bfd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x68860bfd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5fe800000000000, rs 0x68860bfd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x44305fe800000000, rs 0x68860bfd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x19fb9e6300000000, rs 0x14abf36419fb9e63, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x14abf36419fb9e63, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcf31800000000000, rs 0x14abf36419fb9e63, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcfdcf31800000000, rs 0x14abf36419fb9e63, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6c47164a00000000, rs 0x6c47164a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8b25000000000000, rs 0x6c47164a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6238b25000000000, rs 0x6c47164a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa8d72aac00000000, rs 0x249d559aa8d72aac, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9556000000000000, rs 0x249d559aa8d72aac, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x46b9556000000000, rs 0x249d559aa8d72aac, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6104309300000000, rs 0x61043093, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x61043093, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1849800000000000, rs 0x61043093, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x821849800000000, rs 0x61043093, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x84b30ec00000000, rs 0xcd6764f084b30ec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9876000000000000, rs 0xcd6764f084b30ec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4259876000000000, rs 0xcd6764f084b30ec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x65c52d2400000000, rs 0x65c52d24, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9692000000000000, rs 0x65c52d24, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2e29692000000000, rs 0x65c52d24, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x92468fdf00000000, rs 0x7f03ac0792468fdf, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7f03ac0792468fdf, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x47ef800000000000, rs 0x7f03ac0792468fdf, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x92347ef800000000, rs 0x7f03ac0792468fdf, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x119b4be900000000, rs 0x119b4be9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x119b4be9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa5f4800000000000, rs 0x119b4be9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8cda5f4800000000, rs 0x119b4be9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x56e670f500000000, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x387a800000000000, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb73387a800000000, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x155a565e00000000, rs 0x155a565e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2b2f000000000000, rs 0x155a565e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xaad2b2f000000000, rs 0x155a565e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1a65271100000000, rs 0x152828591a652711, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x152828591a652711, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9388800000000000, rs 0x152828591a652711, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd329388800000000, rs 0x152828591a652711, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1819708700000000, rs 0x18197087, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x18197087, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb843800000000000, rs 0x18197087, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc0cb843800000000, rs 0x18197087, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd215a9fb00000000, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd4fd800000000000, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x90ad4fd800000000, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1cd86d3000000000, rs 0x1cd86d30, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3698000000000000, rs 0x1cd86d30, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe6c3698000000000, rs 0x1cd86d30, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x282a041700000000, rs 0x8d95c049282a0417, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x8d95c049282a0417, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x20b800000000000, rs 0x8d95c049282a0417, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x415020b800000000, rs 0x8d95c049282a0417, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x29f3d3500000000, rs 0x29f3d35, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x29f3d35, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9e9a800000000000, rs 0x29f3d35, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x14f9e9a800000000, rs 0x29f3d35, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x978058f300000000, rs 0xf2e7a490978058f3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xf2e7a490978058f3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2c79800000000000, rs 0xf2e7a490978058f3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbc02c79800000000, rs 0xf2e7a490978058f3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x65e208200000000, rs 0x65e2082, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1041000000000000, rs 0x65e2082, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x32f1041000000000, rs 0x65e2082, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x975b1aa00000000, rs 0x775b4cca0975b1aa, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd8d5000000000000, rs 0x775b4cca0975b1aa, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4bad8d5000000000, rs 0x775b4cca0975b1aa, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb1d065b00000000, rs 0xb1d065b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xb1d065b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x832d800000000000, rs 0xb1d065b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x58e832d800000000, rs 0xb1d065b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3511102000000000, rs 0xa2b84a635111020, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa2b84a635111020, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8810000000000000, rs 0xa2b84a635111020, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa888810000000000, rs 0xa2b84a635111020, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfdc1bec00000000, rs 0xfdc1bec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdf6000000000000, rs 0xfdc1bec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7ee0df6000000000, rs 0xfdc1bec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa7d88b6f00000000, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x45b7800000000000, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3ec45b7800000000, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3793a65100000000, rs 0x3793a651, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3793a651, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd328800000000000, rs 0x3793a651, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbc9d328800000000, rs 0x3793a651, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9941dedd00000000, rs 0xa3d991b79941dedd, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xa3d991b79941dedd, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xef6e800000000000, rs 0xa3d991b79941dedd, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xca0ef6e800000000, rs 0xa3d991b79941dedd, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3352bbe600000000, rs 0x3352bbe6, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5df3000000000000, rs 0x3352bbe6, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9a95df3000000000, rs 0x3352bbe6, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5a0d950800000000, rs 0x751cb4835a0d9508, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xca84000000000000, rs 0x751cb4835a0d9508, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd06ca84000000000, rs 0x751cb4835a0d9508, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3e119d3f00000000, rs 0x3e119d3f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3e119d3f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xce9f800000000000, rs 0x3e119d3f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf08ce9f800000000, rs 0x3e119d3f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x625bb2d300000000, rs 0x949cad35625bb2d3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x949cad35625bb2d3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd969800000000000, rs 0x949cad35625bb2d3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x12dd969800000000, rs 0x949cad35625bb2d3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x3ad0808800000000, rs 0x3ad08088, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4044000000000000, rs 0x3ad08088, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd684044000000000, rs 0x3ad08088, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa692973900000000, rs 0x7f567f35a6929739, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7f567f35a6929739, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4b9c800000000000, rs 0x7f567f35a6929739, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3494b9c800000000, rs 0x7f567f35a6929739, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2497d08d00000000, rs 0x2497d08d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2497d08d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe846800000000000, rs 0x2497d08d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x24be846800000000, rs 0x2497d08d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdb8d7d2700000000, rs 0x185b88e0db8d7d27, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x185b88e0db8d7d27, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbe93800000000000, rs 0x185b88e0db8d7d27, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdc6be93800000000, rs 0x185b88e0db8d7d27, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2056cd3a00000000, rs 0x2056cd3a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x669d000000000000, rs 0x2056cd3a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2b669d000000000, rs 0x2056cd3a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2fd61b9100000000, rs 0x255a4cd22fd61b91, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x255a4cd22fd61b91, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdc8800000000000, rs 0x255a4cd22fd61b91, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7eb0dc8800000000, rs 0x255a4cd22fd61b91, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x2d15ebe300000000, rs 0x2d15ebe3, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x2d15ebe3, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf5f1800000000000, rs 0x2d15ebe3, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x68af5f1800000000, rs 0x2d15ebe3, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa4363f7b00000000, rs 0x1048d589a4363f7b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x1048d589a4363f7b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1fbd800000000000, rs 0x1048d589a4363f7b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x21b1fbd800000000, rs 0x1048d589a4363f7b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x29d4f65400000000, rs 0x29d4f654, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7b2a000000000000, rs 0x29d4f654, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4ea7b2a000000000, rs 0x29d4f654, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf460579000000000, rs 0x6a6d5708f4605790, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2bc8000000000000, rs 0x6a6d5708f4605790, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa302bc8000000000, rs 0x6a6d5708f4605790, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc5a9267900000000, rs 0xffffffffc5a92679, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffc5a92679, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x933c800000000000, rs 0xffffffffc5a92679, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x2d4933c800000000, rs 0xffffffffc5a92679, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xde35697f00000000, rs 0xd58ecbabde35697f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xd58ecbabde35697f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb4bf800000000000, rs 0xd58ecbabde35697f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf1ab4bf800000000, rs 0xd58ecbabde35697f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc1683bce00000000, rs 0xffffffffc1683bce, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc1683bce, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x1de7000000000000, rs 0xffffffffc1683bce, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb41de7000000000, rs 0xffffffffc1683bce, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8c0a5f100000000, rs 0x575548fd08c0a5f1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x575548fd08c0a5f1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x52f8800000000000, rs 0x575548fd08c0a5f1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x46052f8800000000, rs 0x575548fd08c0a5f1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xcc2b1d1700000000, rs 0xffffffffcc2b1d17, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffcc2b1d17, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8e8b800000000000, rs 0xffffffffcc2b1d17, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6158e8b800000000, rs 0xffffffffcc2b1d17, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8ed98ddb00000000, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc6ed800000000000, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x76cc6ed800000000, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc8ea00a000000000, rs 0xffffffffc8ea00a0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc8ea00a0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x50000000000000, rs 0xffffffffc8ea00a0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4750050000000000, rs 0xffffffffc8ea00a0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xabc578cc00000000, rs 0xbe00d51eabc578cc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbc66000000000000, rs 0xbe00d51eabc578cc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5e2bc66000000000, rs 0xbe00d51eabc578cc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd6ad50a500000000, rs 0xffffffffd6ad50a5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffd6ad50a5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa852800000000000, rs 0xffffffffd6ad50a5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xb56a852800000000, rs 0xffffffffd6ad50a5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1c170ab200000000, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8559000000000000, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe0b8559000000000, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xd26c4d1200000000, rs 0xffffffffd26c4d12, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd26c4d12, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2689000000000000, rs 0xffffffffd26c4d12, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9362689000000000, rs 0xffffffffd26c4d12, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa22256a700000000, rs 0xa978f12ca22256a7, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xa978f12ca22256a7, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2b53800000000000, rs 0xa978f12ca22256a7, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1112b53800000000, rs 0xa978f12ca22256a7, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdf2f6bcb00000000, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb5e5800000000000, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf97b5e5800000000, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x811ee02f00000000, rs 0x9950a93b811ee02f, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x9950a93b811ee02f, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7017800000000000, rs 0x9950a93b811ee02f, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8f7017800000000, rs 0x9950a93b811ee02f, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xdbee767c00000000, rs 0xffffffffdbee767c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffdbee767c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3b3e000000000000, rs 0xffffffffdbee767c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdf73b3e000000000, rs 0xffffffffdbee767c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc6796a0c00000000, rs 0xb44eea93c6796a0c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xb506000000000000, rs 0xb44eea93c6796a0c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x33cb506000000000, rs 0xb44eea93c6796a0c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe3a1cbc100000000, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe5e0800000000000, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1d0e5e0800000000, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6c0eb65700000000, rs 0xfe71fca06c0eb657, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfe71fca06c0eb657, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5b2b800000000000, rs 0xfe71fca06c0eb657, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6075b2b800000000, rs 0xfe71fca06c0eb657, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe760d67600000000, rs 0xffffffffe760d676, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe760d676, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6b3b000000000000, rs 0xffffffffe760d676, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3b06b3b000000000, rs 0xffffffffe760d676, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf818af5700000000, rs 0x4ed6393df818af57, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x4ed6393df818af57, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x57ab800000000000, rs 0x4ed6393df818af57, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc0c57ab800000000, rs 0x4ed6393df818af57, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xea23f0af00000000, rs 0xffffffffea23f0af, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffea23f0af, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf857800000000000, rs 0xffffffffea23f0af, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x511f857800000000, rs 0xffffffffea23f0af, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x236770a00000000, rs 0xf22e90200236770a, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xf22e90200236770a, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3b85000000000000, rs 0xf22e90200236770a, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x11b3b85000000000, rs 0xf22e90200236770a, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xeee2ed1800000000, rs 0xffffffffeee2ed18, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x768c000000000000, rs 0xffffffffeee2ed18, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x771768c000000000, rs 0xffffffffeee2ed18, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xafd0c45d00000000, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x622e800000000000, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7e8622e800000000, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf0a5bd1d00000000, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xde8e800000000000, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x852de8e800000000, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8102315b00000000, rs 0xeed8f3518102315b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xeed8f3518102315b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x18ad800000000000, rs 0xeed8f3518102315b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8118ad800000000, rs 0xeed8f3518102315b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf464a0aa00000000, rs 0xfffffffff464a0aa, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff464a0aa, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5055000000000000, rs 0xfffffffff464a0aa, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa325055000000000, rs 0xfffffffff464a0aa, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x995efd5e00000000, rs 0xadafefb9995efd5e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xadafefb9995efd5e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7eaf000000000000, rs 0xadafefb9995efd5e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xcaf7eaf000000000, rs 0xadafefb9995efd5e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xf927867300000000, rs 0xfffffffff9278673, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xfffffffff9278673, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xc339800000000000, rs 0xfffffffff9278673, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc93c339800000000, rs 0xfffffffff9278673, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xeb25308600000000, rs 0x34061933eb253086, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34061933eb253086, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9843000000000000, rs 0x34061933eb253086, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5929843000000000, rs 0x34061933eb253086, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xfde69bc400000000, rs 0xfffffffffde69bc4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x4de2000000000000, rs 0xfffffffffde69bc4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xef34de2000000000, rs 0xfffffffffde69bc4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x4b4c52bc00000000, rs 0x1748da264b4c52bc, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x295e000000000000, rs 0x1748da264b4c52bc, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5a6295e000000000, rs 0x1748da264b4c52bc, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x89b8fd0900000000, rs 0xffffffff89b8fd09, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff89b8fd09, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x7e84800000000000, rs 0xffffffff89b8fd09, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x4dc7e84800000000, rs 0xffffffff89b8fd09, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9302be8900000000, rs 0x34fdfc9a9302be89, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x34fdfc9a9302be89, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5f44800000000000, rs 0x34fdfc9a9302be89, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x9815f44800000000, rs 0x34fdfc9a9302be89, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x8d79e0be00000000, rs 0xffffffff8d79e0be, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8d79e0be, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xf05f000000000000, rs 0xffffffff8d79e0be, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x6bcf05f000000000, rs 0xffffffff8d79e0be, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc521d18000000000, rs 0xd00278c3c521d180, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd00278c3c521d180, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe8c0000000000000, rs 0xd00278c3c521d180, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x290e8c0000000000, rs 0xd00278c3c521d180, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x803ac66700000000, rs 0xffffffff803ac667, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff803ac667, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x6333800000000000, rs 0xffffffff803ac667, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1d6333800000000, rs 0xffffffff803ac667, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xc1d37a5d00000000, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbd2e800000000000, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe9bd2e800000000, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x84fbdbd000000000, rs 0xffffffff84fbdbd0, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xede8000000000000, rs 0xffffffff84fbdbd0, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x27dede8000000000, rs 0xffffffff84fbdbd0, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xddef983900000000, rs 0x65fd698fddef9839, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x65fd698fddef9839, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcc1c800000000000, rs 0x65fd698fddef9839, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xef7cc1c800000000, rs 0x65fd698fddef9839, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9abc8bd500000000, rs 0xffffffff9abc8bd5, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff9abc8bd5, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x45ea800000000000, rs 0xffffffff9abc8bd5, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd5e45ea800000000, rs 0xffffffff9abc8bd5, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x81b5af5200000000, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd7a9000000000000, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdad7a9000000000, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9e7d966200000000, rs 0xffffffff9e7d9662, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9e7d9662, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xcb31000000000000, rs 0xffffffff9e7d9662, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf3ecb31000000000, rs 0xffffffff9e7d9662, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbdb263e900000000, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x31f4800000000000, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xed931f4800000000, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x933eb0bb00000000, rs 0xffffffff933eb0bb, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffff933eb0bb, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x585d800000000000, rs 0xffffffff933eb0bb, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x99f585d800000000, rs 0xffffffff933eb0bb, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x42f3b58d00000000, rs 0x372c209e42f3b58d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x372c209e42f3b58d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xdac6800000000000, rs 0x372c209e42f3b58d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x179dac6800000000, rs 0x372c209e42f3b58d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x97ffad0c00000000, rs 0xffffffff97ffad0c, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd686000000000000, rs 0xffffffff97ffad0c, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xbffd686000000000, rs 0xffffffff97ffad0c, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xe122a83b00000000, rs 0x30f870b7e122a83b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x30f870b7e122a83b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x541d800000000000, rs 0x30f870b7e122a83b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x91541d800000000, rs 0x30f870b7e122a83b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xafb010b100000000, rs 0xffffffffafb010b1, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffafb010b1, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x858800000000000, rs 0xffffffffafb010b1, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x7d80858800000000, rs 0xffffffffafb010b1, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x678930ec00000000, rs 0x9e02de4b678930ec, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9e02de4b678930ec, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9876000000000000, rs 0x9e02de4b678930ec, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x3c49876000000000, rs 0x9e02de4b678930ec, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xab710d0600000000, rs 0xffffffffab710d06, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffab710d06, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x8683000000000000, rs 0xffffffffab710d06, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x5b88683000000000, rs 0xffffffffab710d06, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9826631e00000000, rs 0xcd61a8639826631e, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcd61a8639826631e, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x318f000000000000, rs 0xcd61a8639826631e, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc13318f000000000, rs 0xcd61a8639826631e, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa6322bdf00000000, rs 0xffffffffa6322bdf, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffa6322bdf, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x15ef800000000000, rs 0xffffffffa6322bdf, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x31915ef800000000, rs 0xffffffffa6322bdf, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x9a7bd3ca00000000, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xe9e5000000000000, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xd3de9e5000000000, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xa2f3366800000000, rs 0xffffffffa2f33668, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa2f33668, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x9b34000000000000, rs 0xffffffffa2f33668, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x1799b34000000000, rs 0xffffffffa2f33668, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x6481af1700000000, rs 0x58ec644d6481af17, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x58ec644d6481af17, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xd78b800000000000, rs 0x58ec644d6481af17, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x240d78b800000000, rs 0x58ec644d6481af17, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xbcb4666d00000000, rs 0xffffffffbcb4666d, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffbcb4666d, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x3336800000000000, rs 0xffffffffbcb4666d, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xe5a3336800000000, rs 0xffffffffbcb4666d, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb236b66600000000, rs 0x680cce5fb236b666, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0x680cce5fb236b666, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x5b33000000000000, rs 0x680cce5fb236b666, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x91b5b33000000000, rs 0x680cce5fb236b666, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb8757bda00000000, rs 0xffffffffb8757bda, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb8757bda, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xbded000000000000, rs 0xffffffffb8757bda, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xc3abded000000000, rs 0xffffffffb8757bda, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1f6d4d7500000000, rs 0x3baa99471f6d4d75, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x3baa99471f6d4d75, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa6ba800000000000, rs 0x3baa99471f6d4d75, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xfb6a6ba800000000, rs 0x3baa99471f6d4d75, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb5365d0300000000, rs 0xffffffffb5365d03, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xffffffffb5365d03, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2e81800000000000, rs 0xffffffffb5365d03, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xa9b2e81800000000, rs 0xffffffffb5365d03, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x5f12236b00000000, rs 0x614d9b445f12236b, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0x614d9b445f12236b, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x11b5800000000000, rs 0x614d9b445f12236b, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xf8911b5800000000, rs 0x614d9b445f12236b, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0xb1f740b400000000, rs 0xffffffffb1f740b4, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb1f740b4, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0xa05a000000000000, rs 0xffffffffb1f740b4, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0x8fba05a000000000, rs 0xffffffffb1f740b4, imm 0x0003
+dsll32 $t0, $t1, 0x00 :: rt 0x1ba8412100000000, rs 0xa2a6ec661ba84121, imm 0x0000
+dsll32 $t2, $t3, 0x1f :: rt 0x8000000000000000, rs 0xa2a6ec661ba84121, imm 0x001f
+dsll32 $a0, $a1, 0x0f :: rt 0x2090800000000000, rs 0xa2a6ec661ba84121, imm 0x000f
+dsll32 $s0, $s1, 0x03 :: rt 0xdd42090800000000, rs 0xa2a6ec661ba84121, imm 0x0003
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+dsllv $s0, $s1, $s2 :: rd 0x257ad5400000000, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+dsllv $s0, $s1, $s2 :: rd 0x9558980000000000, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+dsllv $t0, $t1, $t2 :: rd 0x2608edb8000000, rs 0x9823b6e, rt 0xffffffffb8757bda
+dsllv $s0, $s1, $s2 :: rd 0x1e60000000000000, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+dsllv $t0, $t1, $t2 :: rd 0x64db200000000000, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dsllv $s0, $s1, $s2 :: rd 0xb5a97ec000000000, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+dsllv $t0, $t1, $t2 :: rd 0x476dc0000000000, rs 0x130476dc, rt 0xffffffffa2f33668
+dsllv $s0, $s1, $s2 :: rd 0x51433bda81000000, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+dsllv $t0, $t1, $t2 :: rd 0xbe2b5b580000000, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dsllv $s0, $s1, $s2 :: rd 0xa274c678f0c2b400, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+dsllv $t0, $t1, $t2 :: rd 0x6a1936c80, rs 0x1a864db2, rt 0xffffffffab710d06
+dsllv $s0, $s1, $s2 :: rd 0xddfed04f40000000, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+dsllv $t0, $t1, $t2 :: rd 0xa00a000000000000, rs 0x1e475005, rt 0xffffffffafb010b1
+dsllv $s0, $s1, $s2 :: rd 0xe4f700000000000, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+dsllv $t0, $t1, $t2 :: rd 0x2608edb8000, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dsllv $s0, $s1, $s2 :: rd 0x0, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+dsllv $t0, $t1, $t2 :: rd 0x7800000000000000, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dsllv $s0, $s1, $s2 :: rd 0xbb50d2c2b4c1a000, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+dsllv $t0, $t1, $t2 :: rd 0xbe2b5b5800000000, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dsllv $s0, $s1, $s2 :: rd 0xa7a83a0000000000, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+dsllv $t0, $t1, $t2 :: rd 0x569796c200000, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dsllv $s0, $s1, $s2 :: rd 0x6a77102f504c0000, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+dsllv $t0, $t1, $t2 :: rd 0x350c9b640000, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dsllv $s0, $s1, $s2 :: rd 0x0, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+dsllv $t0, $t1, $t2 :: rd 0xe6c3698000000000, rs 0x31cd86d3, rt 0xffffffff803ac667
+dsllv $s0, $s1, $s2 :: rd 0xfada4081e0000000, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dsllv $s0, $s1, $s2 :: rd 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+dsllv $t0, $t1, $t2 :: rd 0x709f7b7a00, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dsllv $s0, $s1, $s2 :: rd 0x6985e3e31c98e00, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+dsllv $t0, $t1, $t2 :: rd 0x4c11db700, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dsllv $s0, $s1, $s2 :: rd 0x7000000000000000, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+dsllv $t0, $t1, $t2 :: rd 0x3638000000000000, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dsllv $s0, $s1, $s2 :: rd 0x7636459b7f143a80, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+dsllv $t0, $t1, $t2 :: rd 0x4f80780000000000, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dsllv $s0, $s1, $s2 :: rd 0x9e3a256c40000000, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+dsllv $t0, $t1, $t2 :: rd 0x82a5fb520000000, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dsllv $s0, $s1, $s2 :: rd 0x8cdb192cd8000000, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+dsllv $t0, $t1, $t2 :: rd 0x5f15adac000000, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dsllv $s0, $s1, $s2 :: rd 0x599e2f58a0000000, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+dsllv $t0, $t1, $t2 :: rd 0x580d800000000000, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dsllv $s0, $s1, $s2 :: rd 0xbd7f1607ba83ec00, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+dsllv $t0, $t1, $t2 :: rd 0xb080000000000000, rs 0x569796c2, rt 0xffffffffe760d676
+dsllv $s0, $s1, $s2 :: rd 0xf60a3416cb800000, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+dsllv $t0, $t1, $t2 :: rd 0xa4ad16ea, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dsllv $s0, $s1, $s2 :: rd 0x89967d843d000000, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dsllv $s0, $s1, $s2 :: rd 0xcd9a9cda20766000, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+dsllv $t0, $t1, $t2 :: rd 0x376c15bf800, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dsllv $s0, $s1, $s2 :: rd 0x6d1f000000000000, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+dsllv $t0, $t1, $t2 :: rd 0x18e6c36980000, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dsllv $s0, $s1, $s2 :: rd 0xe712568000000000, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+dsllv $t0, $t1, $t2 :: rd 0xeb42022000000000, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dsllv $s0, $s1, $s2 :: rd 0x3b48000000000000, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+dsllv $t0, $t1, $t2 :: rd 0x791d401400000000, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dsllv $s0, $s1, $s2 :: rd 0x70db710cd036000, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+dsllv $t0, $t1, $t2 :: rd 0x3eee2ed1800000, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dsllv $s0, $s1, $s2 :: rd 0xe81a0ab020000000, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+dsllv $t0, $t1, $t2 :: rd 0x1c27dede8000, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dsllv $s0, $s1, $s2 :: rd 0x639c000000000000, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+dsllv $t0, $t1, $t2 :: rd 0x9a00000000000000, rs 0x745e66cd, rt 0xffffffffc5a92679
+dsllv $s0, $s1, $s2 :: rd 0x8000000000000000, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+dsllv $t0, $t1, $t2 :: rd 0xfff9823b6e000000, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dsllv $s0, $s1, $s2 :: rd 0x454412d6e4a70000, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+dsllv $t0, $t1, $t2 :: rd 0xe7155ab800000000, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dsllv $s0, $s1, $s2 :: rd 0xa000000000000000, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+dsllv $t0, $t1, $t2 :: rd 0x3800000000000000, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dsllv $s0, $s1, $s2 :: rd 0x5b591ae4a5e0000, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+dsllv $t0, $t1, $t2 :: rd 0xfffff2ac12072000, rs 0xffffffff95609039, rt 0x2497d08d
+dsllv $s0, $s1, $s2 :: rd 0x77d27b8000000000, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+dsllv $t0, $t1, $t2 :: rd 0xffffff8b27c03c00, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dsllv $s0, $s1, $s2 :: rd 0x2800000000000000, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dsllv $s0, $s1, $s2 :: rd 0x8c4acc889b600000, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+dsllv $t0, $t1, $t2 :: rd 0xa97ed48000000000, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dsllv $s0, $s1, $s2 :: rd 0xeecff99a2fb6f300, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+dsllv $t0, $t1, $t2 :: rd 0xffff0cc9cdca0000, rs 0xffffffff8664e6e5, rt 0x3793a651
+dsllv $s0, $s1, $s2 :: rd 0x47112a4e00000000, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+dsllv $t0, $t1, $t2 :: rd 0xb5b5800000000000, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dsllv $s0, $s1, $s2 :: rd 0x2820000000000000, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+dsllv $t0, $t1, $t2 :: rd 0xfdd7523778000000, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dsllv $s0, $s1, $s2 :: rd 0x84bb5a8300000000, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+dsllv $t0, $t1, $t2 :: rd 0xfffffffedea580d8, rs 0xffffffffb7a96036, rt 0x65e2082
+dsllv $s0, $s1, $s2 :: rd 0x1aa99c0000000000, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+dsllv $t0, $t1, $t2 :: rd 0xb020000000000000, rs 0xffffffffb3687d81, rt 0x29f3d35
+dsllv $s0, $s1, $s2 :: rd 0xf718000000000000, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+dsllv $t0, $t1, $t2 :: rd 0x2d84000000000000, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dsllv $s0, $s1, $s2 :: rd 0x7b186e652d000000, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+dsllv $t0, $t1, $t2 :: rd 0xffffffd4f7181980, rs 0xffffffffa9ee3033, rt 0x18197087
+dsllv $s0, $s1, $s2 :: rd 0xb800000000000000, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+dsllv $t0, $t1, $t2 :: rd 0xe92b45ba80000000, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dsllv $s0, $s1, $s2 :: rd 0x744c1fefb2d60000, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+dsllv $t0, $t1, $t2 :: rd 0xd816ba0000000000, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dsllv $s0, $s1, $s2 :: rd 0x1c0000000000000, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+dsllv $t0, $t1, $t2 :: rd 0x4326d90000000000, rs 0xffffffffd4326d90, rt 0x65c52d24
+dsllv $s0, $s1, $s2 :: rd 0x6f0785c00000000, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+dsllv $t0, $t1, $t2 :: rd 0xfffe879b81380000, rs 0xffffffffd0f37027, rt 0x61043093
+dsllv $s0, $s1, $s2 :: rd 0xfdcf100000000000, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+dsllv $t0, $t1, $t2 :: rd 0xffffff76c15bf800, rs 0xffffffffddb056fe, rt 0x6c47164a
+dsllv $s0, $s1, $s2 :: rd 0x1c08100000000000, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+dsllv $t0, $t1, $t2 :: rd 0x2000000000000000, rs 0xffffffffd9714b49, rt 0x68860bfd
+dsllv $s0, $s1, $s2 :: rd 0x490caf2000000000, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+dsllv $t0, $t1, $t2 :: rd 0x4c00000000000000, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dsllv $s0, $s1, $s2 :: rd 0x95b1a5ab00000000, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+dsllv $t0, $t1, $t2 :: rd 0xffffe1fb837d8000, rs 0xffffffffc3f706fb, rt 0x7200464f
+dsllv $s0, $s1, $s2 :: rd 0xbc63e7468f000000, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+dsllv $t0, $t1, $t2 :: rd 0xfff3ad0808800000, rs 0xffffffffceb42022, rt 0x7f436096
+dsllv $s0, $s1, $s2 :: rd 0x1241c00000000000, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+dsllv $t0, $t1, $t2 :: rd 0x94ea7b2a00000000, rs 0xffffffffca753d95, rt 0x7b827d21
+dsllv $s0, $s1, $s2 :: rd 0xd59b9ab05625fc00, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+dsllv $t0, $t1, $t2 :: rd 0xff23a80280000000, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dsllv $s0, $s1, $s2 :: rd 0xd685884e76558c4f, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+dsllv $t0, $t1, $t2 :: rd 0xdcecf80000000000, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dsllv $s0, $s1, $s2 :: rd 0x8a8d306571c00000, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+dsllv $t0, $t1, $t2 :: rd 0xed18000000000000, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dsllv $s0, $s1, $s2 :: rd 0x7405000000000000, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+dsllv $t0, $t1, $t2 :: rd 0xffffffffef34de20, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dsllv $s0, $s1, $s2 :: rd 0xed9760db60000000, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+dsllv $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dsllv $s0, $s1, $s2 :: rd 0xa72b8e4e8000000, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+dsllv $t0, $t1, $t2 :: rd 0xa180000000000000, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dsllv $s0, $s1, $s2 :: rd 0x6800000000000000, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+dsllv $t0, $t1, $t2 :: rd 0x3366800000000000, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dsllv $s0, $s1, $s2 :: rd 0x2da4000000000000, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+dsllv $t0, $t1, $t2 :: rd 0xffd8fba05a000000, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dsllv $s0, $s1, $s2 :: rd 0xd7e96a8ce9910000, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+dsllv $t0, $t1, $t2 :: rd 0x1a43383b8, rs 0x34867077, rt 0xffffffff857130c3
+dsllv $s0, $s1, $s2 :: rd 0xde230867a630f6ad, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+dsllv $t0, $t1, $t2 :: rd 0xdc00000000000000, rs 0x30476dc0, rt 0xffffffff81b02d74
+dsllv $s0, $s1, $s2 :: rd 0x2600000000000000, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+dsllv $t0, $t1, $t2 :: rd 0x8963200000000000, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dsllv $s0, $s1, $s2 :: rd 0x3631de0000000000, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+dsllv $t0, $t1, $t2 :: rd 0xe7155ab8000000, rs 0x39c556ae, rt 0xffffffff8832161a
+dsllv $s0, $s1, $s2 :: rd 0x9bc0000000000000, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+dsllv $t0, $t1, $t2 :: rd 0x13c1035580000000, rs 0x278206ab, rt 0xffffffff9675461f
+dsllv $s0, $s1, $s2 :: rd 0x4008d0633600000, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+dsllv $t0, $t1, $t2 :: rd 0x431b1c0000000000, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dsllv $s0, $s1, $s2 :: rd 0x30e52d2b92f97600, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+dsllv $t0, $t1, $t2 :: rd 0x7b8a000000000000, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dsllv $s0, $s1, $s2 :: rd 0x8bf0000000000000, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+dsllv $t0, $t1, $t2 :: rd 0xab0481c80, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dsllv $s0, $s1, $s2 :: rd 0x858bc00000000000, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+dsllv $t0, $t1, $t2 :: rd 0x7800000000000000, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dsllv $s0, $s1, $s2 :: rd 0x1fbe774a550a0000, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+dsllv $t0, $t1, $t2 :: rd 0x164f8078000, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dsllv $s0, $s1, $s2 :: rd 0xf000000000000000, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+dsllv $t0, $t1, $t2 :: rd 0x36194d4200000, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dsllv $s0, $s1, $s2 :: rd 0x8000000000000000, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+dsllv $t0, $t1, $t2 :: rd 0x7f36ec5800000000, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dsllv $s0, $s1, $s2 :: rd 0x60e077398d104c00, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+dsllv $t0, $t1, $t2 :: rd 0xc575898000000000, rs 0x18aeb13, rt 0xffffffffb07daba7
+dsllv $s0, $s1, $s2 :: rd 0x4627f3fe5255fc00, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+dsllv $t0, $t1, $t2 :: rd 0x54bf6a40000, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dsllv $s0, $s1, $s2 :: rd 0x2800000000000000, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+dsllv $t0, $t1, $t2 :: rd 0x1011a0fa00, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dsllv $s0, $s1, $s2 :: rd 0x63f63c0000000000, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dsllv $s0, $s1, $s2 :: rd 0x8f0e500000000000, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+dsllv $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0xf2be0f4a203fcd10, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+dsllv $t0, $t1, $t2 :: rd 0x7c56b6b00, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dsllv $s0, $s1, $s2 :: rd 0x8131d1f7bf5c0000, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+dsllv $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0x31d7100000000000, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+dsllv $t0, $t1, $t2 :: rd 0x5237780000000000, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dsllv $s0, $s1, $s2 :: rd 0xe6c9980000000000, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+dsllv $t0, $t1, $t2 :: rd 0xeeed800000000000, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dsllv $s0, $s1, $s2 :: rd 0x8000000000000000, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+dsllv $t0, $t1, $t2 :: rd 0x6f52c06c000000, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dsllv $s0, $s1, $s2 :: rd 0xdc5a4273dcad4000, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+dsllv $t0, $t1, $t2 :: rd 0xc423cd6a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dsllv $s0, $s1, $s2 :: rd 0xb50488fedb854b80, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+dsllv $t0, $t1, $t2 :: rd 0xc080000000000000, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dsllv $s0, $s1, $s2 :: rd 0x1f705a0000000000, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+dsllv $t0, $t1, $t2 :: rd 0x2f4fa35f800, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dsllv $s0, $s1, $s2 :: rd 0x6e1a2a5ff1a47800, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dsllv $s0, $s1, $s2 :: rd 0x906c000000000000, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+dsllv $t0, $t1, $t2 :: rd 0xe3afba2000000000, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dsllv $s0, $s1, $s2 :: rd 0xf4b3f9d7c0000000, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+dsllv $t0, $t1, $t2 :: rd 0x14f7181980000, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dsllv $s0, $s1, $s2 :: rd 0x6000000000000000, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+dsllv $t0, $t1, $t2 :: rd 0x26cd9831800000, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dsllv $s0, $s1, $s2 :: rd 0x3ae0000000000000, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+dsllv $t0, $t1, $t2 :: rd 0x495a2dd400000000, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dsllv $s0, $s1, $s2 :: rd 0xf5213c8000000000, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+dsllv $t0, $t1, $t2 :: rd 0x1a00000000000000, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dsllv $s0, $s1, $s2 :: rd 0xf931800000000000, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+dsllv $t0, $t1, $t2 :: rd 0x103605ae8000, rs 0x40d816ba, rt 0xfffffffff12f560e
+dsllv $s0, $s1, $s2 :: rd 0xe2a184c000000000, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+dsllv $t0, $t1, $t2 :: rd 0x652e34b800000000, rs 0xffffffffaca5c697, rt 0x1d528623
+dsllv $s0, $s1, $s2 :: rd 0xc92bf92800000000, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+dsllv $t0, $t1, $t2 :: rd 0xfffa864db2000000, rs 0xffffffffa864db20, rt 0x19939b94
+dsllv $s0, $s1, $s2 :: rd 0x4b12ff4d36dad800, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+dsllv $t0, $t1, $t2 :: rd 0xfffff4a4ffbf2000, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dsllv $s0, $s1, $s2 :: rd 0x90d02b258000000, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+dsllv $t0, $t1, $t2 :: rd 0x3800000000000000, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dsllv $s0, $s1, $s2 :: rd 0xb8f00000000000, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dsllv $s0, $s1, $s2 :: rd 0x28e7c94f18000000, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+dsllv $t0, $t1, $t2 :: rd 0xffffffbb60adfc00, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dsllv $s0, $s1, $s2 :: rd 0x95eb689580000000, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+dsllv $t0, $t1, $t2 :: rd 0xffff6c47164a0000, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dsllv $s0, $s1, $s2 :: rd 0x6dc0000000000000, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+dsllv $t0, $t1, $t2 :: rd 0xb8a5a48000000000, rs 0xffffffffb2e29692, rt 0x315d626
+dsllv $s0, $s1, $s2 :: rd 0x4bc4000000000000, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+dsllv $t0, $t1, $t2 :: rd 0xfc55695978000000, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dsllv $s0, $s1, $s2 :: rd 0x785280dd301d0d00, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+dsllv $s0, $s1, $s2 :: rd 0xa87e3f5bbc000000, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+dsllv $s0, $s1, $s2 :: rd 0xda00000000000000, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+dsllv $t0, $t1, $t2 :: rd 0xfffffffe1fb837d8, rs 0xffffffff87ee0df6, rt 0x36194d42
+dsllv $s0, $s1, $s2 :: rd 0xb93bab194e100000, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+dsllv $t0, $t1, $t2 :: rd 0xffffffccd4aef980, rs 0xffffffff99a95df3, rt 0x285e1d47
+dsllv $s0, $s1, $s2 :: rd 0x610558332870000, rs 0x663d061055833287, rt 0xb620660a49732b90
+dsllv $t0, $t1, $t2 :: rd 0x4044000000000000, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dsllv $s0, $s1, $s2 :: rd 0x88951d68b0000000, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+dsllv $t0, $t1, $t2 :: rd 0x56cd3a0000000000, rs 0xffffffff902b669d, rt 0x21dc2629
+dsllv $s0, $s1, $s2 :: rd 0x6c00000000000000, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+dsllv $t0, $t1, $t2 :: rd 0xe53a9eca80000000, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dsllv $s0, $s1, $s2 :: rd 0xac80000000000000, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+dsllv $t0, $t1, $t2 :: rd 0xffff05a0ef380000, rs 0xffffffffe0b41de7, rt 0x51435d53
+dsllv $s0, $s1, $s2 :: rd 0xbd32be4790000000, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+dsllv $t0, $t1, $t2 :: rd 0x4750050000000000, rs 0xffffffffe4750050, rt 0x558240e4
+dsllv $s0, $s1, $s2 :: rd 0x8eccb1730f800000, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+dsllv $t0, $t1, $t2 :: rd 0x2000000000000000, rs 0xffffffffe9362689, rt 0x58c1663d
+dsllv $s0, $s1, $s2 :: rd 0xe8caa7d95a6e9be0, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+dsllv $t0, $t1, $t2 :: rd 0xffffffb7dcecf800, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dsllv $s0, $s1, $s2 :: rd 0x6ae5f4fbb7ca9c00, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+dsllv $t0, $t1, $t2 :: rd 0xfffff9d8359d8000, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dsllv $s0, $s1, $s2 :: rd 0x37bfd1e064f99800, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+dsllv $t0, $t1, $t2 :: rd 0x8c00000000000000, rs 0xfffffffff771768c, rt 0x46863638
+dsllv $s0, $s1, $s2 :: rd 0xdc9c718aaf64ee00, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+dsllv $t0, $t1, $t2 :: rd 0xf464a0aa00000000, rs 0xfffffffffa325055, rt 0x4bc510e1
+dsllv $s0, $s1, $s2 :: rd 0x28f040c000000000, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+dsllv $t0, $t1, $t2 :: rd 0xffffbcd378800000, rs 0xfffffffffef34de2, rt 0x4f040d56
+dsllv $s0, $s1, $s2 :: rd 0x2182500000000000, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+dsllv $t0, $t1, $t2 :: rd 0xe782f80000000000, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dsllv $s0, $s1, $s2 :: rd 0xed00000000000000, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+dsllv $t0, $t1, $t2 :: rd 0xfc27dede80000000, rs 0xffffffffc27dede8, rt 0x738aad5c
+dsllv $s0, $s1, $s2 :: rd 0x56b795f1bf9bd000, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+dsllv $t0, $t1, $t2 :: rd 0xfffffff9e7d96620, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dsllv $s0, $s1, $s2 :: rd 0xdacd4c9348000000, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+dsllv $t0, $t1, $t2 :: rd 0x5a18000000000000, rs 0xffffffffcbffd686, rt 0x7a089632
+dsllv $s0, $s1, $s2 :: rd 0xcc7321e15cd83c00, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+dsllv $t0, $t1, $t2 :: rd 0x4180000000000000, rs 0xffffffffd5b88683, rt 0x644fc637
+dsllv $s0, $s1, $s2 :: rd 0xcbdabcff13d34400, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+dsllv $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+dsllv $s0, $s1, $s2 :: rd 0xe96f51abc8000000, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+dsllv $t0, $t1, $t2 :: rd 0xffb8757bda000000, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dsllv $s0, $s1, $s2 :: rd 0xc000000000000000, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+dsllv $t0, $t1, $t2 :: rd 0xe816800000000000, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dsllv $s0, $s1, $s2 :: rd 0xebe7f15cb0c4b800, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+dsllv $t0, $t1, $t2 :: rd 0x1a43383b8000000, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dsllv $s0, $s1, $s2 :: rd 0x7a99b9a525800000, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+dsllv $t0, $t1, $t2 :: rd 0xbfab200000000000, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dsllv $s0, $s1, $s2 :: rd 0xc8c8ddd46b33c000, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+dsllv $t0, $t1, $t2 :: rd 0xb800000000000000, rs 0x608edb80, rt 0xffffffffd1799b34
+dsllv $s0, $s1, $s2 :: rd 0x392ccd9000000000, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+dsllv $t0, $t1, $t2 :: rd 0x3227e31b8, rs 0x644fc637, rt 0xffffffffd5b88683
+dsllv $s0, $s1, $s2 :: rd 0x6000032400000000, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+dsllv $t0, $t1, $t2 :: rd 0x1e82258c80, rs 0x7a089632, rt 0xffffffffcbffd686
+dsllv $s0, $s1, $s2 :: rd 0x6ae29ed681050000, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+dsllv $t0, $t1, $t2 :: rd 0x170a000000000000, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dsllv $s0, $s1, $s2 :: rd 0xdd46b60000000000, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+dsllv $t0, $t1, $t2 :: rd 0x8aad5c0000000000, rs 0x738aad5c, rt 0xffffffffc27dede8
+dsllv $s0, $s1, $s2 :: rd 0x9856490000000000, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+dsllv $t0, $t1, $t2 :: rd 0x3ba5d87580000000, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dsllv $s0, $s1, $s2 :: rd 0xe372702ddc000000, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+dsllv $t0, $t1, $t2 :: rd 0x3c10355800000000, rs 0x4f040d56, rt 0xfffffffffef34de2
+dsllv $s0, $s1, $s2 :: rd 0xabcd1d8000000000, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+dsllv $t0, $t1, $t2 :: rd 0x978a21c200000, rs 0x4bc510e1, rt 0xfffffffffa325055
+dsllv $s0, $s1, $s2 :: rd 0xec119cf431b8940, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+dsllv $t0, $t1, $t2 :: rd 0x46863638000, rs 0x46863638, rt 0xfffffffff771768c
+dsllv $s0, $s1, $s2 :: rd 0x1e7fb65870000000, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+dsllv $t0, $t1, $t2 :: rd 0x7800000000000000, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dsllv $s0, $s1, $s2 :: rd 0xa858000000000000, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dsllv $s0, $s1, $s2 :: rd 0x3fd0450000000000, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+dsllv $t0, $t1, $t2 :: rd 0xb182cc7a00, rs 0x58c1663d, rt 0xffffffffe9362689
+dsllv $s0, $s1, $s2 :: rd 0xacb24e280000000, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+dsllv $t0, $t1, $t2 :: rd 0x558240e40000, rs 0x558240e4, rt 0xffffffffe4750050
+dsllv $s0, $s1, $s2 :: rd 0xc2734d8b80000000, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+dsllv $t0, $t1, $t2 :: rd 0xa1aea98000000000, rs 0x51435d53, rt 0xffffffffe0b41de7
+dsllv $s0, $s1, $s2 :: rd 0xb800000000000000, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+dsllv $t0, $t1, $t2 :: rd 0x74ee780000000000, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dsllv $s0, $s1, $s2 :: rd 0x78d8000000000000, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+dsllv $t0, $t1, $t2 :: rd 0x43b84c520000000, rs 0x21dc2629, rt 0xffffffff902b669d
+dsllv $s0, $s1, $s2 :: rd 0x70c3cc07d0000000, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+dsllv $t0, $t1, $t2 :: rd 0x2c9f00f00, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dsllv $s0, $s1, $s2 :: rd 0xef614a7943e8e000, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+dsllv $t0, $t1, $t2 :: rd 0xea38000000000000, rs 0x285e1d47, rt 0xffffffff99a95df3
+dsllv $s0, $s1, $s2 :: rd 0x10330524b995c800, rs 0xb620660a49732b90, rt 0x663d061055833287
+dsllv $t0, $t1, $t2 :: rd 0x5080000000000000, rs 0x36194d42, rt 0xffffffff87ee0df6
+dsllv $s0, $s1, $s2 :: rd 0x3138f16cfde99100, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+dsllv $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0x80f7200000000000, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+dsllv $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0x58ad000000000000, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+dsllv $t0, $t1, $t2 :: rd 0x35cd800000000000, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dsllv $s0, $s1, $s2 :: rd 0x9234d050e2d90000, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+dsllv $t0, $t1, $t2 :: rd 0xc5758980000, rs 0x315d626, rt 0xffffffffb2e29692
+dsllv $s0, $s1, $s2 :: rd 0x25e4000000000000, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+dsllv $t0, $t1, $t2 :: rd 0xfa99722000000000, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dsllv $s0, $s1, $s2 :: rd 0x1b00000000000000, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dsllv $s0, $s1, $s2 :: rd 0xa70509771c000000, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+dsllv $t0, $t1, $t2 :: rd 0x72b787f800, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dsllv $s0, $s1, $s2 :: rd 0xc3a920d800000000, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+dsllv $t0, $t1, $t2 :: rd 0x404683e8000, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dsllv $s0, $s1, $s2 :: rd 0x22dce6dac0000000, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+dsllv $t0, $t1, $t2 :: rd 0x9a00000000000000, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dsllv $s0, $s1, $s2 :: rd 0x433b32ee86800000, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+dsllv $t0, $t1, $t2 :: rd 0x19939b9400000000, rs 0x19939b94, rt 0xffffffffa864db20
+dsllv $s0, $s1, $s2 :: rd 0xfe6ce93e58000000, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+dsllv $t0, $t1, $t2 :: rd 0xea94311800000, rs 0x1d528623, rt 0xffffffffaca5c697
+dsllv $s0, $s1, $s2 :: rd 0xc7d2846000000000, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+dsllv $t0, $t1, $t2 :: rd 0x3800000000000000, rs 0xfffffffff12f560e, rt 0x40d816ba
+dsllv $s0, $s1, $s2 :: rd 0xe12856100000000, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+dsllv $t0, $t1, $t2 :: rd 0xfffffebdc9772000, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dsllv $s0, $s1, $s2 :: rd 0xc116fdad79d2db80, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+dsllv $t0, $t1, $t2 :: rd 0xffff8ad6d6000000, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dsllv $s0, $s1, $s2 :: rd 0x3e98000000000000, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+dsllv $t0, $t1, $t2 :: rd 0xe36386b800000000, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dsllv $s0, $s1, $s2 :: rd 0xba1cbb5afa800000, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+dsllv $t0, $t1, $t2 :: rd 0x8ac8348000000000, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dsllv $s0, $s1, $s2 :: rd 0xe800000000000000, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+dsllv $t0, $t1, $t2 :: rd 0xffffcdd47aca0000, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dsllv $s0, $s1, $s2 :: rd 0x4000000000000000, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+dsllv $t0, $t1, $t2 :: rd 0xffffffeba91bbc00, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dsllv $s0, $s1, $s2 :: rd 0x4cffa53990000000, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dsllv $s0, $s1, $s2 :: rd 0x79d5ae3407858000, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+dsllv $t0, $t1, $t2 :: rd 0xffffffff5c9eeed8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dsllv $s0, $s1, $s2 :: rd 0xf3d260000000000, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+dsllv $t0, $t1, $t2 :: rd 0xc020000000000000, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dsllv $s0, $s1, $s2 :: rd 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+dsllv $t0, $t1, $t2 :: rd 0x580d800000000000, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dsllv $s0, $s1, $s2 :: rd 0x4677340000000000, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+dsllv $t0, $t1, $t2 :: rd 0xfed324eb78000000, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dsllv $s0, $s1, $s2 :: rd 0x45df3f8000000000, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+dsllv $t0, $t1, $t2 :: rd 0xf108f35a80000000, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dsllv $s0, $s1, $s2 :: rd 0x4358000000000000, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+dsllv $s0, $s1, $s2 :: rd 0x646f34c317280000, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+dsllv $t0, $t1, $t2 :: rd 0xf604000000000000, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dsllv $s0, $s1, $s2 :: rd 0xb0ab7e2689000000, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+dsllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+dsllv $s0, $s1, $s2 :: rd 0x535cd338595d3420, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+dsllv $t0, $t1, $t2 :: rd 0xfffffef4fa35f800, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dsllv $s0, $s1, $s2 :: rd 0x4468dd8000000000, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+dsllv $t0, $t1, $t2 :: rd 0x2000000000000000, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dsllv $s0, $s1, $s2 :: rd 0x93648040d5950000, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+dsllv $t0, $t1, $t2 :: rd 0x4bcb610000000000, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dsllv $s0, $s1, $s2 :: rd 0x9d74380000000000, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+dsllv $t0, $t1, $t2 :: rd 0xfffd83ed5d380000, rs 0xffffffffb07daba7, rt 0x18aeb13
+dsllv $s0, $s1, $s2 :: rd 0xc7699826b7dee244, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+dsllv $t0, $t1, $t2 :: rd 0xffeb8ebee8800000, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dsllv $s0, $s1, $s2 :: rd 0x7cbfdd3382500000, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+dsllv $t0, $t1, $t2 :: rd 0x55f7cc2a00000000, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dsllv $s0, $s1, $s2 :: rd 0x4d937013162ff800, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+dsllv $t0, $t1, $t2 :: rd 0xcc00000000000000, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dsllv $s0, $s1, $s2 :: rd 0x4d5bd75e00000000, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+dsllv $t0, $t1, $t2 :: rd 0xffffd1bceebd8000, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dsllv $s0, $s1, $s2 :: rd 0xc60cdeeb954d0000, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+dsllv $t0, $t1, $t2 :: rd 0x8318000000000000, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dsllv $s0, $s1, $s2 :: rd 0x20b7000000000000, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+dsllv $t0, $t1, $t2 :: rd 0xfffffff3feefae20, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dsllv $s0, $s1, $s2 :: rd 0x0, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+dsllv $t0, $t1, $t2 :: rd 0xf92b45ba80000000, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dsllv $s0, $s1, $s2 :: rd 0xe7e0700000000000, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+dsllv $t0, $t1, $t2 :: rd 0xaa30f80000000000, rs 0xffffffff9675461f, rt 0x278206ab
+dsllv $s0, $s1, $s2 :: rd 0x21d244daa8000000, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+dsllv $t0, $t1, $t2 :: rd 0x8586800000000000, rs 0xffffffff8832161a, rt 0x39c556ae
+dsllv $s0, $s1, $s2 :: rd 0x9cbc7e3d40000000, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+dsllv $t0, $t1, $t2 :: rd 0xff19e6175a000000, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dsllv $s0, $s1, $s2 :: rd 0xaf54800000000000, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+dsllv $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+dsllv $s0, $s1, $s2 :: rd 0x5cc1c8b400000000, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+dsllv $t0, $t1, $t2 :: rd 0x6180000000000000, rs 0xffffffff857130c3, rt 0x34867077
+dsllv $s0, $s1, $s2 :: rd 0xc0b8000000000000, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+dsllv $t0, $t1, $t2 :: rd 0x5213200000000000, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dsllv $s0, $s1, $s2 :: rd 0x669ec13c00000000, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+dsllv $t0, $t1, $t2 :: rd 0x1652e34b8000000, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dsllv $s0, $s1, $s2 :: rd 0xf8485ab728922f00, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+dsllv $t0, $t1, $t2 :: rd 0x2a0455fb8, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dsllv $s0, $s1, $s2 :: rd 0xd4ff600000000000, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+dsllv $t0, $t1, $t2 :: rd 0x6400000000000000, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dsllv $s0, $s1, $s2 :: rd 0x6800000000000000, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+dsllv $t0, $t1, $t2 :: rd 0xcc8a000000000000, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dsllv $s0, $s1, $s2 :: rd 0xa5f864cce8000000, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+dsllv $t0, $t1, $t2 :: rd 0x1293fefc80, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dsllv $s0, $s1, $s2 :: rd 0x5f8259036f233e00, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+dsllv $t0, $t1, $t2 :: rd 0x23866e9580000000, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dsllv $s0, $s1, $s2 :: rd 0x7c41c263977e6b00, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+dsllv $t0, $t1, $t2 :: rd 0xcdc09c0000000000, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dsllv $s0, $s1, $s2 :: rd 0xe3ddb5151ac00000, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+dsllv $t0, $t1, $t2 :: rd 0xf704fa4200000, rs 0x7b827d21, rt 0xffffffffca753d95
+dsllv $s0, $s1, $s2 :: rd 0x4000000000000000, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+dsllv $t0, $t1, $t2 :: rd 0xfd0d825800000000, rs 0x7f436096, rt 0xffffffffceb42022
+dsllv $s0, $s1, $s2 :: rd 0x5566ecfec8a3d700, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+dsllv $t0, $t1, $t2 :: rd 0x7800000000000000, rs 0x7200464f, rt 0xffffffffc3f706fb
+dsllv $s0, $s1, $s2 :: rd 0x607a4445c0000000, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+dsllv $t0, $t1, $t2 :: rd 0x76c15bf8000, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dsllv $s0, $s1, $s2 :: rd 0x2997000000000000, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+dsllv $t0, $t1, $t2 :: rd 0xd10c17fa00, rs 0x68860bfd, rt 0xffffffffd9714b49
+dsllv $s0, $s1, $s2 :: rd 0x9fb9e63000000000, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x6c47164a, rt 0xffffffffddb056fe
+dsllv $s0, $s1, $s2 :: rd 0x493aab3551ae5558, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+dsllv $t0, $t1, $t2 :: rd 0x8218498000000000, rs 0x61043093, rt 0xffffffffd0f37027
+dsllv $s0, $s1, $s2 :: rd 0x61d8000000000000, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+dsllv $t0, $t1, $t2 :: rd 0x65c52d240000, rs 0x65c52d24, rt 0xffffffffd4326d90
+dsllv $s0, $s1, $s2 :: rd 0xdf00000000000000, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+dsllv $t0, $t1, $t2 :: rd 0x233697d20000000, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dsllv $s0, $s1, $s2 :: rd 0x739b55b99c3d4000, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+dsllv $t0, $t1, $t2 :: rd 0x6959780000000000, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dsllv $s0, $s1, $s2 :: rd 0x2938880000000000, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+dsllv $t0, $t1, $t2 :: rd 0x8438000000000000, rs 0x18197087, rt 0xffffffffa9ee3033
+dsllv $s0, $s1, $s2 :: rd 0xfd80000000000000, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+dsllv $t0, $t1, $t2 :: rd 0x1cd86d300, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dsllv $s0, $s1, $s2 :: rd 0x24a0a8105c000000, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+dsllv $t0, $t1, $t2 :: rd 0x53e7a6a, rs 0x29f3d35, rt 0xffffffffb3687d81
+dsllv $s0, $s1, $s2 :: rd 0xbc02c79800000000, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+dsllv $t0, $t1, $t2 :: rd 0x2080000000000000, rs 0x65e2082, rt 0xffffffffb7a96036
+dsllv $s0, $s1, $s2 :: rd 0xbad8d50000000000, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+dsllv $t0, $t1, $t2 :: rd 0x832d800000000000, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dsllv $s0, $s1, $s2 :: rd 0x515c2531a8888100, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+dsllv $t0, $t1, $t2 :: rd 0xfdc1bec000000, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dsllv $s0, $s1, $s2 :: rd 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+dsllv $t0, $t1, $t2 :: rd 0xf274ca2000000000, rs 0x3793a651, rt 0xffffffff8664e6e5
+dsllv $s0, $s1, $s2 :: rd 0xdedd000000000000, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+dsllv $t0, $t1, $t2 :: rd 0xcd4aef980000, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dsllv $s0, $s1, $s2 :: rd 0xa840000000000000, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+dsllv $t0, $t1, $t2 :: rd 0x1f08ce9f800, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dsllv $s0, $s1, $s2 :: rd 0xbb2d300000000000, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dsllv $s0, $s1, $s2 :: rd 0xf35a692973900000, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+dsllv $t0, $t1, $t2 :: rd 0x1a00000000000000, rs 0x2497d08d, rt 0xffffffff95609039
+dsllv $s0, $s1, $s2 :: rd 0x9380000000000000, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+dsllv $t0, $t1, $t2 :: rd 0x815b34e8000, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dsllv $s0, $s1, $s2 :: rd 0xdc8800000000000, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+dsllv $t0, $t1, $t2 :: rd 0x168af5f1800000, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dsllv $s0, $s1, $s2 :: rd 0x589a4363f7b00000, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+dsllv $t0, $t1, $t2 :: rd 0x29d4f65400000000, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dsllv $s0, $s1, $s2 :: rd 0x302bc80000000000, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+dsllv $t0, $t1, $t2 :: rd 0xfffff8b524cf2000, rs 0xffffffffc5a92679, rt 0x745e66cd
+dsllv $s0, $s1, $s2 :: rd 0x65d5ef1ab4bf8000, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+dsllv $t0, $t1, $t2 :: rd 0x3800000000000000, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dsllv $s0, $s1, $s2 :: rd 0x523f4230297c4000, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+dsllv $t0, $t1, $t2 :: rd 0x6158e8b800000000, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dsllv $s0, $s1, $s2 :: rd 0xbb640fb8ed98ddb0, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+dsllv $t0, $t1, $t2 :: rd 0xfffc8ea00a000000, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dsllv $s0, $s1, $s2 :: rd 0x3300000000000000, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+dsllv $t0, $t1, $t2 :: rd 0xffffad5aa14a0000, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dsllv $s0, $s1, $s2 :: rd 0x8928705c2ac80000, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+dsllv $t0, $t1, $t2 :: rd 0x9b13448000000000, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dsllv $s0, $s1, $s2 :: rd 0x4ad4e00000000000, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+dsllv $t0, $t1, $t2 :: rd 0x8000000000000000, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dsllv $s0, $s1, $s2 :: rd 0xc000000000000000, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+dsllv $t0, $t1, $t2 :: rd 0xffffffdbee767c00, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dsllv $s0, $s1, $s2 :: rd 0x9e5a830000000000, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+dsllv $t0, $t1, $t2 :: rd 0x7820000000000000, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dsllv $s0, $s1, $s2 :: rd 0x5c00000000000000, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+dsllv $t0, $t1, $t2 :: rd 0xffffffff9d8359d8, rs 0xffffffffe760d676, rt 0x569796c2
+dsllv $s0, $s1, $s2 :: rd 0x9efc0c57ab800000, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+dsllv $t0, $t1, $t2 :: rd 0xff511f8578000000, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dsllv $s0, $s1, $s2 :: rd 0x5000000000000000, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+dsllv $t0, $t1, $t2 :: rd 0x2ed1800000000000, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dsllv $s0, $s1, $s2 :: rd 0x3df6d8f5fa188ba0, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+dsllv $t0, $t1, $t2 :: rd 0x4b7a3a0000000000, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dsllv $s0, $s1, $s2 :: rd 0x8c08118ad8000000, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+dsllv $t0, $t1, $t2 :: rd 0xfd19282a80000000, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dsllv $s0, $s1, $s2 :: rd 0xfabc000000000000, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+dsllv $t0, $t1, $t2 :: rd 0xfffffffc93c33980, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dsllv $s0, $s1, $s2 :: rd 0x94c2180000000000, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+dsllv $t0, $t1, $t2 :: rd 0x9bc4000000000000, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dsllv $s0, $s1, $s2 :: rd 0x1325a6295e000000, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+dsllv $t0, $t1, $t2 :: rd 0x2000000000000000, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dsllv $s0, $s1, $s2 :: rd 0x7efe4d49815f4480, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+dsllv $t0, $t1, $t2 :: rd 0xfffffe35e782f800, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dsllv $s0, $s1, $s2 :: rd 0x0, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+dsllv $t0, $t1, $t2 :: rd 0xfffc01d633380000, rs 0xffffffff803ac667, rt 0x31cd86d3
+dsllv $s0, $s1, $s2 :: rd 0xa25260e9bd2e8000, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+dsllv $t0, $t1, $t2 :: rd 0x4fbdbd0000000000, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dsllv $s0, $s1, $s2 :: rd 0x65fd698fddef9839, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+dsllv $t0, $t1, $t2 :: rd 0x357917aa00000000, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dsllv $s0, $s1, $s2 :: rd 0x1d6c0dad7a900000, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+dsllv $t0, $t1, $t2 :: rd 0xffe79f6598800000, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dsllv $s0, $s1, $s2 :: rd 0x17b64c7d20000000, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+dsllv $t0, $t1, $t2 :: rd 0xffffc99f585d8000, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dsllv $s0, $s1, $s2 :: rd 0x8413c85e76b1a000, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+dsllv $t0, $t1, $t2 :: rd 0xc00000000000000, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dsllv $s0, $s1, $s2 :: rd 0xe122a83b00000000, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+dsllv $t0, $t1, $t2 :: rd 0xfffffff5f6021620, rs 0xffffffffafb010b1, rt 0x1e475005
+dsllv $s0, $s1, $s2 :: rd 0x7600000000000000, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+dsllv $t0, $t1, $t2 :: rd 0x3418000000000000, rs 0xffffffffab710d06, rt 0x1a864db2
+dsllv $s0, $s1, $s2 :: rd 0xc000000000000000, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+dsllv $t0, $t1, $t2 :: rd 0x915ef80000000000, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dsllv $s0, $s1, $s2 :: rd 0x7a79400000000000, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+dsllv $t0, $t1, $t2 :: rd 0xfa2f336680000000, rs 0xffffffffa2f33668, rt 0x130476dc
+dsllv $s0, $s1, $s2 :: rd 0x63b191359206bc5c, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+dsllv $t0, $t1, $t2 :: rd 0xff7968ccda000000, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dsllv $s0, $s1, $s2 :: rd 0x3000000000000000, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+dsllv $t0, $t1, $t2 :: rd 0x5ef6800000000000, rs 0xffffffffb8757bda, rt 0x9823b6e
+dsllv $s0, $s1, $s2 :: rd 0x6ba8000000000000, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+dsllv $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0xda22f8911b580000, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+dsllv $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+dsllv $s0, $s1, $s2 :: rd 0xa104840000000000, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x257, rs 0x12bd6aa, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x257ad5, rs 0x12bd6aa, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfd0ec7, rs 0x7e876382d2ab13, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfd0ec705a5, rs 0x7e876382d2ab13, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd0ec705a5562, rs 0x7e876382d2ab13, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1304, rs 0x9823b6e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x130476d, rs 0x9823b6e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff2edadd35, rs 0x976d6e9ac31510f3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff2edadd35862a, rs 0x976d6e9ac31510f3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf2edadd35862a21e, rs 0x976d6e9ac31510f3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1a86, rs 0xd4326d9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1a864db, rs 0xd4326d9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff6ee8daee, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff6ee8daeeb5ad, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf6ee8daeeb5ad4bf, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2608, rs 0x130476dc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2608edb, rs 0x130476dc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x85618145, rs 0x42b0c0a28677b502, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x856181450cef, rs 0x42b0c0a28677b502, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x856181450cef6a0, rs 0x42b0c0a28677b502, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2f8a, rs 0x17c56b6b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2f8ad6d, rs 0x17c56b6b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x55513a63, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x55513a633c78, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x55513a633c78615, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x350c, rs 0x1a864db2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x350c9b6, rs 0x1a864db2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x3e611d86, rs 0x1f308ec377fb413d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3e611d86eff6, rs 0x1f308ec377fb413d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3e611d86eff6827, rs 0x1f308ec377fb413d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3c8e, rs 0x1e475005, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3c8ea00, rs 0x1e475005, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf5408427, rs 0x7aa04213c760e4f7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf54084278ec1, rs 0x7aa04213c760e4f7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf54084278ec1c9e, rs 0x7aa04213c760e4f7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608edb8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4c11db7, rs 0x2608edb8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff3ce0b98a, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff3ce0b98a35b1, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf3ce0b98a35b1b94, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4593, rs 0x22c9f00f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4593e01, rs 0x22c9f00f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x967bb50d, rs 0x4b3dda869615a60d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x967bb50d2c2b, rs 0x4b3dda869615a60d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x967bb50d2c2b4c1, rs 0x4b3dda869615a60d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5f15, rs 0x2f8ad6d6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5f15ada, rs 0x2f8ad6d6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xbcf49ba, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xbcf49bac6a7, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xbcf49bac6a7a83, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5697, rs 0x2b4bcb61, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x569796c, rs 0x2b4bcb61, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x75e6b53b, rs 0x3af35a9dc40bd413, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x75e6b53b8817, rs 0x3af35a9dc40bd413, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x75e6b53b8817a82, rs 0x3af35a9dc40bd413, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6a19, rs 0x350c9b64, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6a1936c, rs 0x350c9b64, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x8fea0aad, rs 0x47f505569a08a180, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8fea0aad3411, rs 0x47f505569a08a180, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8fea0aad3411430, rs 0x47f505569a08a180, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x639b, rs 0x31cd86d3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x639b0da, rs 0x31cd86d3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff2ac96eff, rs 0x9564b77fd6d2040f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff2ac96effada4, rs 0x9564b77fd6d2040f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf2ac96effada4081, rs 0x9564b77fd6d2040f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x791d, rs 0x3c8ea00a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x791d401, rs 0x3c8ea00a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff9d7904f3, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff9d7904f3658e, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf9d7904f3658ed77, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x709f, rs 0x384fbdbd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x709f7b7, rs 0x384fbdbd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff6a06985e, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff6a06985e3e31, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf6a06985e3e31c98, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x9823, rs 0x4c11db70, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x9823b6e, rs 0x4c11db70, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff29fea5f9, rs 0x94ff52fc81afa797, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff29fea5f9035f, rs 0x94ff52fc81afa797, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf29fea5f9035f4f2, rs 0x94ff52fc81afa797, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x91a1, rs 0x48d0c6c7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x91a18d8, rs 0x48d0c6c7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x63b1b22c, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x63b1b22cdbf8, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x63b1b22cdbf8a1d, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8b27, rs 0x4593e01e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8b27c03, rs 0x4593e01e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6ca937ac, rs 0x36549bd678e895b1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6ca937acf1d1, rs 0x36549bd678e895b1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6ca937acf1d12b6, rs 0x36549bd678e895b1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x82a5, rs 0x4152fda9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x82a5fb5, rs 0x4152fda9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff0bc14c63, rs 0x85e0a6319b63259b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff0bc14c6336c6, rs 0x85e0a6319b63259b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf0bc14c6336c64b3, rs 0x85e0a6319b63259b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xbe2b, rs 0x5f15adac, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xbe2b5b5, rs 0x5f15adac, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xaad67d95, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xaad67d9599e2, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xaad67d9599e2f58, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb7a9, rs 0x5bd4b01b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb7a9603, rs 0x5bd4b01b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff685ebf8b, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff685ebf8b03dd, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf685ebf8b03dd41f, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xad2f, rs 0x569796c2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xad2f2d8, rs 0x569796c2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4b6a1fd8, rs 0x25b50fec14682d97, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4b6a1fd828d0, rs 0x25b50fec14682d97, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4b6a1fd828d05b2, rs 0x25b50fec14682d97, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa4ad, rs 0x52568b75, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa4ad16e, rs 0x52568b75, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff9278a26, rs 0xfc93c5132cfb087a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff9278a2659f6, rs 0xfc93c5132cfb087a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff9278a2659f610f, rs 0xfc93c5132cfb087a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd432, rs 0x6a1936c8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd4326d9, rs 0x6a1936c8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7859b353, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7859b3539b44, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7859b3539b440ec, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xddb0, rs 0x6ed82b7f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xddb056f, rs 0x6ed82b7f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2f22e454, rs 0x1791722a7d72da3e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2f22e454fae5, rs 0x1791722a7d72da3e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2f22e454fae5b47, rs 0x1791722a7d72da3e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc736, rs 0x639b0da6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc7361b4, rs 0x639b0da6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x10f993a3, rs 0x87cc9d193ce24ad, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x10f993a3279c, rs 0x87cc9d193ce24ad, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x10f993a3279c495, rs 0x87cc9d193ce24ad, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xceb4, rs 0x675a1011, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xceb4202, rs 0x675a1011, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x3a54eae0, rs 0x1d2a757038984ed2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3a54eae07130, rs 0x1d2a757038984ed2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3a54eae071309da, rs 0x1d2a757038984ed2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf23a, rs 0x791d4014, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf23a802, rs 0x791d4014, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa1a0e1b6, rs 0xd0d070db710cd036, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa1a0e1b6e219, rs 0xd0d070db710cd036, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa1a0e1b6e219a06, rs 0xd0d070db710cd036, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfbb8, rs 0x7ddc5da3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfbb8bb4, rs 0x7ddc5da3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x738438fa, rs 0x39c21c7d03415604, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x738438fa0682, rs 0x39c21c7d03415604, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x738438fa0682ac0, rs 0x39c21c7d03415604, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe13e, rs 0x709f7b7a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe13ef6f, rs 0x709f7b7a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff1d296f5f, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff1d296f5f1d98, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf1d296f5f1d98639, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe8bc, rs 0x745e66cd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe8bccd9, rs 0x745e66cd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x49d6d51a, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x49d6d51a39ce, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x49d6d51a39cece9, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3047, rs 0xffffffff9823b6e0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff30476dc, rs 0xffffffff9823b6e0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x5e728a88, rs 0x2f39454412d6e4a7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5e728a8825ad, rs 0x2f39454412d6e4a7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5e728a8825adc94, rs 0x2f39454412d6e4a7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff39c5, rs 0xffffffff9ce2ab57, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff39c556a, rs 0xffffffff9ce2ab57, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4c11856e, rs 0x2608c2b756da4c54, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4c11856eadb4, rs 0x2608c2b756da4c54, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4c11856eadb498a, rs 0x2608c2b756da4c54, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2343, rs 0xffffffff91a18d8e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff23431b1, rs 0xffffffff91a18d8e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff200205b5, rs 0x900102dac8d7252f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff200205b591ae, rs 0x900102dac8d7252f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf200205b591ae4a5, rs 0x900102dac8d7252f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2ac1, rs 0xffffffff95609039, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff2ac1207, rs 0xffffffff95609039, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff9121abe3, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff9121abe3e5df, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf9121abe3e5df49e, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff164f, rs 0xffffffff8b27c03c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff164f807, rs 0xffffffff8b27c03c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffdaa00b97, rs 0xed5005cbc8b0a214, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffdaa00b979161, rs 0xed5005cbc8b0a214, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfdaa00b979161442, rs 0xed5005cbc8b0a214, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff1fcd, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff1fcdbb1, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x628f2312, rs 0x314791895991136c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x628f2312b322, rs 0x314791895991136c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x628f2312b32226d, rs 0x314791895991136c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff054b, rs 0xffffffff82a5fb52, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff054bf6a, rs 0xffffffff82a5fb52, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff8ddd9ff3, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff8ddd9ff3345f, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf8ddd9ff3345f6de, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff0cc9, rs 0xffffffff8664e6e5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff0cc9cdc, rs 0xffffffff8664e6e5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5012a424, rs 0xa809521238895270, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5012a4247112, rs 0xa809521238895270, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5012a4247112a4e, rs 0xa809521238895270, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff7c56, rs 0xffffffffbe2b5b58, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff7c56b6b, rs 0xffffffffbe2b5b58, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff0eea1409, rs 0x87750a04ad765040, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff0eea14095aec, rs 0x87750a04ad765040, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf0eea14095aeca08, rs 0x87750a04ad765040, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff75d4, rs 0xffffffffbaea46ef, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff75d48dd, rs 0xffffffffbaea46ef, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x587bd0bd, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x587bd0bd0976, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x587bd0bd0976b50, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff6f52, rs 0xffffffffb7a96036, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff6f52c06, rs 0xffffffffb7a96036, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5cd5ff1f, rs 0xae6aff8fc506aa67, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5cd5ff1f8a0d, rs 0xae6aff8fc506aa67, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5cd5ff1f8a0d54c, rs 0xae6aff8fc506aa67, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff66d0, rs 0xffffffffb3687d81, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff66d0fb0, rs 0xffffffffb3687d81, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff80e225ba, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff80e225bac1da, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf80e225bac1dabdc, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff5a5e, rs 0xffffffffad2f2d84, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff5a5e5b0, rs 0xffffffffad2f2d84, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff898ee1ec, rs 0xc4c770f630dcca5a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff898ee1ec61b9, rs 0xc4c770f630dcca5a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf898ee1ec61b994b, rs 0xc4c770f630dcca5a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff53dc, rs 0xffffffffa9ee3033, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff53dc606, rs 0xffffffffa9ee3033, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffbfd85647, rs 0xdfec2b2383cd5277, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffbfd85647079a, rs 0xdfec2b2383cd5277, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfbfd85647079aa4e, rs 0xdfec2b2383cd5277, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff495a, rs 0xffffffffa4ad16ea, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff495a2dd, rs 0xffffffffa4ad16ea, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa75b744c, rs 0xd3adba260ff7d96b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa75b744c1fef, rs 0xd3adba260ff7d96b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa75b744c1fefb2d, rs 0xd3adba260ff7d96b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff40d8, rs 0xffffffffa06c0b5d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff40d816b, rs 0xffffffffa06c0b5d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x956954f3, rs 0x4ab4aa798418c00e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x956954f30831, rs 0x4ab4aa798418c00e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x956954f30831801, rs 0x4ab4aa798418c00e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffa864, rs 0xffffffffd4326d90, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffa864db2, rs 0xffffffffd4326d90, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff771806bc, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff771806bc1bc1, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf771806bc1bc1e17, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffa1e6, rs 0xffffffffd0f37027, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffa1e6e04, rs 0xffffffffd0f37027, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6760dea9, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6760dea952ff, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6760dea952ffb9e, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffbb60, rs 0xffffffffddb056fe, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffbb60adf, rs 0xffffffffddb056fe, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xee867e6e, rs 0x77433f373fd1c081, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xee867e6e7fa3, rs 0x77433f373fd1c081, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xee867e6e7fa3810, rs 0x77433f373fd1c081, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffb2e2, rs 0xffffffffd9714b49, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffb2e2969, rs 0xffffffffd9714b49, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffd923b327, rs 0xec91d993c92195e4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffd923b3279243, rs 0xec91d993c92195e4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd923b32792432bc, rs 0xec91d993c92195e4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff8e6c, rs 0xffffffffc7361b4c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff8e6c369, rs 0xffffffffc7361b4c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x93f7ed4f, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x93f7ed4f2b63, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x93f7ed4f2b634b5, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff87ee, rs 0xffffffffc3f706fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff87ee0df, rs 0xffffffffc3f706fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x326c86f1, rs 0x19364378c7ce8d1e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x326c86f18f9d, rs 0x19364378c7ce8d1e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x326c86f18f9d1a3, rs 0x19364378c7ce8d1e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff9d68, rs 0xffffffffceb42022, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff9d68404, rs 0xffffffffceb42022, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff733d1bde, rs 0xb99e8def2f384907, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff733d1bde5e70, rs 0xb99e8def2f384907, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf733d1bde5e70920, rs 0xb99e8def2f384907, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff94ea, rs 0xffffffffca753d95, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff94ea7b2, rs 0xffffffffca753d95, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x8fd59b9a, rs 0x47eacdcd582b12fe, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8fd59b9ab056, rs 0x47eacdcd582b12fe, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8fd59b9ab05625f, rs 0x47eacdcd582b12fe, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffe475, rs 0xfffffffff23a8028, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffe475005, rs 0xfffffffff23a8028, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffad0b109c, rs 0xd685884e76558c4f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffad0b109cecab, rs 0xd685884e76558c4f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfad0b109cecab189, rs 0xd685884e76558c4f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffedf7, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffedf73b3, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xc2d1ac54, rs 0x6168d62a34c195c7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc2d1ac546983, rs 0x6168d62a34c195c7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc2d1ac5469832b8, rs 0x6168d62a34c195c7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffff771, rs 0xfffffffffbb8bb46, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffff771768, rs 0xfffffffffbb8bb46, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa602d312, rs 0xd30169894df47405, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa602d3129be8, rs 0xd30169894df47405, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa602d3129be8e80, rs 0xd30169894df47405, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffffef3, rs 0xffffffffff79a6f1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffffef34de, rs 0xffffffffff79a6f1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x3943217e, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3943217ed976, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3943217ed9760db, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffc27d, rs 0xffffffffe13ef6f4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffc27dede, rs 0xffffffffe13ef6f4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xb0601e05, rs 0x58300f029cae393a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb0601e05395c, rs 0x58300f029cae393a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb0601e05395c727, rs 0x58300f029cae393a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffcbff, rs 0xffffffffe5ffeb43, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffcbffd68, rs 0xffffffffe5ffeb43, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff3532bfb7, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff3532bfb7b8fd, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf3532bfb7b8fd785, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffd179, rs 0xffffffffe8bccd9a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffd1799b3, rs 0xffffffffe8bccd9a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff152c08f7, rs 0x8a96047be3405b48, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff152c08f7c680, rs 0x8a96047be3405b48, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf152c08f7c680b69, rs 0x8a96047be3405b48, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffd8fb, rs 0xffffffffec7dd02d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffd8fba05, rs 0xffffffffec7dd02d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xeb7f5fa5, rs 0x75bfafd2d519d322, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xeb7f5fa5aa33, rs 0x75bfafd2d519d322, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xeb7f5fa5aa33a64, rs 0x75bfafd2d519d322, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x690c, rs 0x34867077, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x690ce0e, rs 0x34867077, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffbc4610cf, rs 0xde230867a630f6ad, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffbc4610cf4c61, rs 0xde230867a630f6ad, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfbc4610cf4c61ed5, rs 0xde230867a630f6ad, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x608e, rs 0x30476dc0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x608edb8, rs 0x30476dc0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x581419e4, rs 0x2c0a0cf256103260, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x581419e4ac20, rs 0x2c0a0cf256103260, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x581419e4ac2064c, rs 0x2c0a0cf256103260, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7a08, rs 0x3d044b19, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7a08963, rs 0x3d044b19, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff29520a88, rs 0x94a90544249b18ef, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff29520a884936, rs 0x94a90544249b18ef, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf29520a88493631d, rs 0x94a90544249b18ef, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x738a, rs 0x39c556ae, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x738aad5, rs 0x39c556ae, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff2a33f6a, rs 0xf9519fb55b56fcde, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff2a33f6ab6ad, rs 0xf9519fb55b56fcde, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff2a33f6ab6adf9b, rs 0xf9519fb55b56fcde, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4f04, rs 0x278206ab, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4f040d5, rs 0x278206ab, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff03b5f040, rs 0x81daf8200468319b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff03b5f04008d0, rs 0x81daf8200468319b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf03b5f04008d0633, rs 0x81daf8200468319b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4686, rs 0x23431b1c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4686363, rs 0x23431b1c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff18c394b4, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff18c394b4ae4b, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf18c394b4ae4be5d, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5c00, rs 0x2e003dc5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5c007b8, rs 0x2e003dc5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff172b4dbb, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff172b4dbb84bb, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf172b4dbb84bb917, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5582, rs 0x2ac12072, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x558240e, rs 0x2ac12072, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6019cea3, rs 0x300ce751dac6162f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6019cea3b58c, rs 0x300ce751dac6162f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6019cea3b58c2c5, rs 0x300ce751dac6162f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x251d, rs 0x128e9dcf, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x251d3b9, rs 0x128e9dcf, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xcef1fbe7, rs 0x6778fdf3ba52a850, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcef1fbe774a5, rs 0x6778fdf3ba52a850, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcef1fbe774a550a, rs 0x6778fdf3ba52a850, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2c9f, rs 0x164f8078, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2c9f00f, rs 0x164f8078, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5a0163ef, rs 0xad00b1f7da78479f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5a0163efb4f0, rs 0xad00b1f7da78479f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5a0163efb4f08f3, rs 0xad00b1f7da78479f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3619, rs 0x1b0ca6a1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x36194d4, rs 0x1b0ca6a1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x11a882d1, rs 0x8d44168a6b6d98a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x11a882d14d6d, rs 0x8d44168a6b6d98a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x11a882d14d6db31, rs 0x8d44168a6b6d98a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3f9b, rs 0x1fcdbb16, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3f9b762, rs 0x1fcdbb16, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffea30703b, rs 0xf518381dce634413, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffea30703b9cc6, rs 0xf518381dce634413, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfea30703b9cc6882, rs 0xf518381dce634413, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x315, rs 0x18aeb13, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x315d62, rs 0x18aeb13, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffc8c4fe7f, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffc8c4fe7fca4a, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc8c4fe7fca4abf8, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa97, rs 0x54bf6a4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa97ed4, rs 0x54bf6a4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff99a725c2, rs 0xccd392e176321f28, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff99a725c2ec64, rs 0xccd392e176321f28, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf99a725c2ec643e5, rs 0xccd392e176321f28, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1011, rs 0x808d07d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1011a0f, rs 0x808d07d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff0528c928, rs 0x829464944018fd8f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff0528c9288031, rs 0x829464944018fd8f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf0528c9288031fb1, rs 0x829464944018fd8f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1993, rs 0xcc9cdca, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x19939b9, rs 0xcc9cdca, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2ba64080, rs 0x15d3204052e8f0e5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2ba64080a5d1, rs 0x15d3204052e8f0e5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2ba64080a5d1e1c, rs 0x15d3204052e8f0e5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf12f, rs 0x7897ab07, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf12f560, rs 0x7897ab07, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf95f07a5, rs 0x7caf83d2880ff344, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf95f07a5101f, rs 0x7caf83d2880ff344, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf95f07a5101fe68, rs 0x7caf83d2880ff344, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf8ad, rs 0x7c56b6b0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf8ad6d6, rs 0x7c56b6b0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffe2ad4098, rs 0xf156a04c747defd7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffe2ad4098e8fb, rs 0xf156a04c747defd7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfe2ad4098e8fbdfa, rs 0xf156a04c747defd7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe22b, rs 0x71159069, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe22b20d, rs 0x71159069, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff27c4c038, rs 0x93e2601c0f31d710, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff27c4c0381e63, rs 0x93e2601c0f31d710, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf27c4c0381e63ae2, rs 0x93e2601c0f31d710, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xeba9, rs 0x75d48dde, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xeba91bb, rs 0x75d48dde, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffc3c34cf2, rs 0xe1e1a679131cd933, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffc3c34cf22639, rs 0xe1e1a679131cd933, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc3c34cf22639b26, rs 0xe1e1a679131cd933, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd727, rs 0x6b93dddb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd727bbb, rs 0x6b93dddb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4852d6eb, rs 0x24296b75a76fa427, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4852d6eb4edf, rs 0x24296b75a76fa427, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4852d6eb4edf484, rs 0x24296b75a76fa427, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xdea5, rs 0x6f52c06c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xdea580d, rs 0x6f52c06c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa52dc5a4, rs 0xd296e2d2139ee56a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa52dc5a4273d, rs 0xd296e2d2139ee56a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa52dc5a4273dcad, rs 0xd296e2d2139ee56a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc423, rs 0x6211e6b5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc423cd6, rs 0x6211e6b5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xb50488fe, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb50488fedb85, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb50488fedb854b8, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcda1, rs 0x66d0fb02, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcda1f60, rs 0x66d0fb02, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xed913d01, rs 0x76c89e80c07dc168, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xed913d0180fb, rs 0x76c89e80c07dc168, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xed913d0180fb82d, rs 0x76c89e80c07dc168, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xbd3e, rs 0x5e9f46bf, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xbd3e8d7, rs 0x5e9f46bf, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe1b868a, rs 0x70dc3454bfe348f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe1b868a97fc, rs 0x70dc3454bfe348f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe1b868a97fc691, rs 0x70dc3454bfe348f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb4bc, rs 0x5a5e5b08, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb4bcb61, rs 0x5a5e5b08, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff7bb8e247, rs 0xbddc7123dd6d241b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff7bb8e247bada, rs 0xbddc7123dd6d241b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf7bb8e247bada483, rs 0xbddc7123dd6d241b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xae3a, rs 0x571d7dd1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xae3afba, rs 0x571d7dd1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffec5f6e4f, rs 0xf62fb727a59fcebe, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffec5f6e4f4b3f, rs 0xf62fb727a59fcebe, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfec5f6e4f4b3f9d7, rs 0xf62fb727a59fcebe, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa7b8, rs 0x53dc6066, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa7b8c0c, rs 0x53dc6066, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x213e4fd2, rs 0x109f27e90f9f46fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x213e4fd21f3e, rs 0x109f27e90f9f46fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x213e4fd21f3e8df, rs 0x109f27e90f9f46fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x9b36, rs 0x4d9b3063, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x9b3660c, rs 0x4d9b3063, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7ec7b553, rs 0x3f63daa9afd199d7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7ec7b5535fa3, rs 0x3f63daa9afd199d7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7ec7b5535fa333a, rs 0x3f63daa9afd199d7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x92b4, rs 0x495a2dd4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x92b45ba, rs 0x495a2dd4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffb796625d, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffb796625d47a9, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfb796625d47a909e, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8832, rs 0x44190b0d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8832161, rs 0x44190b0d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x3e6a7f55, rs 0x1f353faada4fe4c6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3e6a7f55b49f, rs 0x1f353faada4fe4c6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3e6a7f55b49fc98, rs 0x1f353faada4fe4c6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x81b0, rs 0x40d816ba, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x81b02d7, rs 0x40d816ba, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff1610ddc0, rs 0x8b086ee07150c260, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff1610ddc0e2a1, rs 0x8b086ee07150c260, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf1610ddc0e2a184c, rs 0x8b086ee07150c260, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff594b, rs 0xffffffffaca5c697, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff594b8d2, rs 0xffffffffaca5c697, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffca8ea1ab, rs 0xe54750d5d9257f25, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffca8ea1abb24a, rs 0xe54750d5d9257f25, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfca8ea1abb24afe4, rs 0xe54750d5d9257f25, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff50c9, rs 0xffffffffa864db20, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff50c9b64, rs 0xffffffffa864db20, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7ad2c4bf, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7ad2c4bfd34d, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7ad2c4bfd34db6b, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff4a4f, rs 0xffffffffa527fdf9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff4a4ffbf, rs 0xffffffffa527fdf9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe147c084, rs 0x70a3e0424340ac96, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe147c0848681, rs 0x70a3e0424340ac96, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe147c0848681592, rs 0x70a3e0424340ac96, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff43cd, rs 0xffffffffa1e6e04e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff43cdc09, rs 0xffffffffa1e6e04e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff808f1e06, rs 0xc0478f036980171e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff808f1e06d300, rs 0xc0478f036980171e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf808f1e06d3002e3, rs 0xc0478f036980171e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff7f43, rs 0xffffffffbfa1b04b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff7f43609, rs 0xffffffffbfa1b04b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x79d0734a, rs 0x3ce839a51cf929e3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x79d0734a39f2, rs 0x3ce839a51cf929e3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x79d0734a39f253c, rs 0x3ce839a51cf929e3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff76c1, rs 0xffffffffbb60adfc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff76c15bf, rs 0xffffffffbb60adfc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffc5f7f512, rs 0xe2fbfa895eb68958, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffc5f7f512bd6d, rs 0xe2fbfa895eb68958, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc5f7f512bd6d12b, rs 0xe2fbfa895eb68958, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff6c47, rs 0xffffffffb6238b25, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff6c47164, rs 0xffffffffb6238b25, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa49760ba, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa49760baedda, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa49760baedda4b6, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff65c5, rs 0xffffffffb2e29692, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff65c52d2, rs 0xffffffffb2e29692, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x1d72d058, rs 0xeb9682c170312f1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1d72d0582e06, rs 0xeb9682c170312f1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1d72d0582e0625e, rs 0xeb9682c170312f1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff155a, rs 0xffffffff8aad2b2f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff155a565, rs 0xffffffff8aad2b2f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff08f0a501, rs 0x84785280dd301d0d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff08f0a501ba60, rs 0x84785280dd301d0d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf08f0a501ba603a1, rs 0x84785280dd301d0d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2f38ef54, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2f38ef543f1f, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2f38ef543f1fadd, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4c8899da, rs 0x26444ced2998436d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4c8899da5330, rs 0x26444ced2998436d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4c8899da533086d, rs 0x26444ced2998436d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff0fdc, rs 0xffffffff87ee0df6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff0fdc1be, rs 0xffffffff87ee0df6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe2eb93b, rs 0x7175c9dd58ca708, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe2eb93bab19, rs 0x7175c9dd58ca708, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe2eb93bab194e1, rs 0x7175c9dd58ca708, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3352, rs 0xffffffff99a95df3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff3352bbe, rs 0xffffffff99a95df3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xcc7a0c20, rs 0x663d061055833287, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcc7a0c20ab06, rs 0x663d061055833287, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcc7a0c20ab06650, rs 0x663d061055833287, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3ad0, rs 0xffffffff9d684044, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff3ad0808, rs 0xffffffff9d684044, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff56fba091, rs 0xab7dd0488951d68b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff56fba09112a3, rs 0xab7dd0488951d68b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf56fba09112a3ad1, rs 0xab7dd0488951d68b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2056, rs 0xffffffff902b669d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff2056cd3, rs 0xffffffff902b669d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffed3046ce, rs 0xf69823670e82471b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffed3046ce1d04, rs 0xf69823670e82471b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfed3046ce1d048e3, rs 0xf69823670e82471b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff29d4, rs 0xffffffff94ea7b2a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff29d4f65, rs 0xffffffff94ea7b2a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6d10d8b3, rs 0x36886c59d98d26b2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6d10d8b3b31a, rs 0x36886c59d98d26b2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6d10d8b3b31a4d6, rs 0x36886c59d98d26b2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffc168, rs 0xffffffffe0b41de7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffc1683bc, rs 0xffffffffe0b41de7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x139497b7, rs 0x9ca4bdbd32be479, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x139497b7a657, rs 0x9ca4bdbd32be479, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x139497b7a657c8f, rs 0x9ca4bdbd32be479, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffc8ea, rs 0xffffffffe4750050, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffc8ea00a, rs 0xffffffffe4750050, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffffabafa3b, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffabafa3b32c5, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffabafa3b32c5cc3, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffd26c, rs 0xffffffffe9362689, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffd26c4d1, rs 0xffffffffe9362689, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7e8caa7d, rs 0x3f46553ecad374df, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7e8caa7d95a6, rs 0x3f46553ecad374df, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7e8caa7d95a6e9b, rs 0x3f46553ecad374df, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffdbee, rs 0xffffffffedf73b3e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffdbee767, rs 0xffffffffedf73b3e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x5d3572fa, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5d3572fa7ddb, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5d3572fa7ddbe54, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffe760, rs 0xfffffffff3b06b3b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffe760d67, rs 0xfffffffff3b06b3b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6d4deff4, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6d4deff47819, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6d4deff478193e6, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffeee2, rs 0xfffffffff771768c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffeee2ed1, rs 0xfffffffff771768c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff177271c6, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff177271c62abd, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf177271c62abd93b, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffff464, rs 0xfffffffffa325055, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffff464a0a, rs 0xfffffffffa325055, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa5be4b88, rs 0xd2df25c419478206, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa5be4b88328f, rs 0xd2df25c419478206, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa5be4b88328f040, rs 0xd2df25c419478206, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffffde6, rs 0xfffffffffef34de2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffffde69bc, rs 0xfffffffffef34de2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff78cb7e4f, rs 0xbc65bf27eb321825, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff78cb7e4fd664, rs 0xbc65bf27eb321825, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf78cb7e4fd664304, rs 0xbc65bf27eb321825, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff8d79, rs 0xffffffffc6bcf05f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff8d79e0b, rs 0xffffffffc6bcf05f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff51611fcc, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff51611fccf517, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf51611fccf5178fb, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff84fb, rs 0xffffffffc27dede8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff84fbdbd, rs 0xffffffffc27dede8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff0a56b795, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff0a56b795f1bf, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf0a56b795f1bf9bd, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff9e7d, rs 0xffffffffcf3ecb31, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff9e7d966, rs 0xffffffffcf3ecb31, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x8f12136, rs 0x478909b59a99269, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8f12136b353, rs 0x478909b59a99269, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8f12136b35324d, rs 0x478909b59a99269, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff97ff, rs 0xffffffffcbffd686, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff97ffad0, rs 0xffffffffcbffd686, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff7f663990, rs 0xbfb31cc87857360f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff7f663990f0ae, rs 0xbfb31cc87857360f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf7f663990f0ae6c1, rs 0xbfb31cc87857360f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffab71, rs 0xffffffffd5b88683, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffab710d0, rs 0xffffffffd5b88683, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff6ccbdabc, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff6ccbdabcff13, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf6ccbdabcff13d34, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffa2f3, rs 0xffffffffd1799b34, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffa2f3366, rs 0xffffffffd1799b34, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2bb528e9, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2bb528e96f51, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2bb528e96f51abc, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffb875, rs 0xffffffffdc3abded, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffb8757bd, rs 0xffffffffdc3abded, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffed66a6fa, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffed66a6fa55f2, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfed66a6fa55f21f9, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffb1f7, rs 0xffffffffd8fba05a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffb1f740b, rs 0xffffffffd8fba05a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x447af9fc, rs 0x223d7cfe2b961897, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x447af9fc572c, rs 0x223d7cfe2b961897, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x447af9fc572c312, rs 0x223d7cfe2b961897, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd219, rs 0x690ce0ee, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd219c1d, rs 0x690ce0ee, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x841669ea, rs 0x420b34f533734a4b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x841669ea66e6, rs 0x420b34f533734a4b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x841669ea66e6949, rs 0x420b34f533734a4b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xdb9b, rs 0x6dcdfd59, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xdb9bfab, rs 0x6dcdfd59, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff12f9191b, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff12f9191bba8d, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf12f9191bba8d667, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc11d, rs 0x608edb80, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc11db70, rs 0x608edb80, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf470e88b, rs 0x7a387445e392ccd9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf470e88bc725, rs 0x7a387445e392ccd9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf470e88bc72599b, rs 0x7a387445e392ccd9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc89f, rs 0x644fc637, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc89f8c6, rs 0x644fc637, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xa25e5363, rs 0x512f29b1d80000c9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa25e5363b000, rs 0x512f29b1d80000c9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa25e5363b000019, rs 0x512f29b1d80000c9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf411, rs 0x7a089632, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf4112c6, rs 0x7a089632, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffd5bdab8a, rs 0xeaded5c53dad020a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffd5bdab8a7b5a, rs 0xeaded5c53dad020a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd5bdab8a7b5a041, rs 0xeaded5c53dad020a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfd93, rs 0x7ec98b85, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd93170, rs 0x7ec98b85, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff14c453ae, rs 0x8a6229d731eea35b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff14c453ae63dd, rs 0x8a6229d731eea35b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf14c453ae63dd46b, rs 0x8a6229d731eea35b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe715, rs 0x738aad5c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe7155ab, rs 0x738aad5c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x58787f3c, rs 0x2c3c3f9e48985649, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x58787f3c9130, rs 0x2c3c3f9e48985649, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x58787f3c9130ac9, rs 0x2c3c3f9e48985649, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xee97, rs 0x774bb0eb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xee9761d, rs 0x774bb0eb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffec3cf1, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffec3cf1b938, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffec3cf1b93816e, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x9e08, rs 0x4f040d56, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x9e081aa, rs 0x4f040d56, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x453361c0, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x453361c03abc, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x453361c03abcd1d, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x978a, rs 0x4bc510e1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x978a21c, rs 0x4bc510e1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf87608ce, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf87608ce7a18, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf87608ce7a18dc4, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8d0c, rs 0x46863638, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8d0c6c7, rs 0x46863638, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2c9c2f83, rs 0x164e17c1e7fb6587, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2c9c2f83cff6, rs 0x164e17c1e7fb6587, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2c9c2f83cff6cb0, rs 0x164e17c1e7fb6587, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x848e, rs 0x42472b8f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x848e571, rs 0x42472b8f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff4994516, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff4994516ada9, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff4994516ada92a1, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb800, rs 0x5c007b8a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb800f71, rs 0x5c007b8a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffcbd34629, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffcbd346297cff, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfcbd346297cff411, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb182, rs 0x58c1663d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb182cc7, rs 0x58c1663d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff17d02c8, rs 0xf8be8164159649c5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff17d02c82b2c, rs 0xf8be8164159649c5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff17d02c82b2c938, rs 0xf8be8164159649c5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xab04, rs 0x558240e4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xab0481c, rs 0x558240e4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf9464b2f, rs 0x7ca3259784e69b17, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf9464b2f09cd, rs 0x7ca3259784e69b17, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf9464b2f09cd362, rs 0x7ca3259784e69b17, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa286, rs 0x51435d53, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa286baa, rs 0x51435d53, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff91aa879, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff91aa87943e4, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff91aa87943e49eb, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4a3a, rs 0x251d3b9e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4a3a773, rs 0x251d3b9e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x95d6d941, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x95d6d941c68b, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x95d6d941c68b3c6, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x43b8, rs 0x21dc2629, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x43b84c5, rs 0x21dc2629, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff8a65c31c, rs 0xc532e18e187980fa, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff8a65c31c30f3, rs 0xc532e18e187980fa, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf8a65c31c30f301f, rs 0xc532e18e187980fa, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x593e, rs 0x2c9f00f0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x593e01e, rs 0x2c9f00f0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff67fbd852, rs 0xb3fdec294f287d1c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff67fbd8529e50, rs 0xb3fdec294f287d1c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf67fbd8529e50fa3, rs 0xb3fdec294f287d1c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x50bc, rs 0x285e1d47, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x50bc3a8, rs 0x285e1d47, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff6c40cc14, rs 0xb620660a49732b90, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff6c40cc1492e6, rs 0xb620660a49732b90, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf6c40cc1492e6572, rs 0xb620660a49732b90, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6c32, rs 0x36194d42, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6c329a8, rs 0x36194d42, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff326271e2, rs 0x993138f16cfde991, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff326271e2d9fb, rs 0x993138f16cfde991, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf326271e2d9fbd32, rs 0x993138f16cfde991, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x65b0, rs 0x32d850f5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x65b0a1e, rs 0x32d850f5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffbc05a266, rs 0xde02d1337d5407b9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffbc05a266faa8, rs 0xde02d1337d5407b9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfbc05a266faa80f7, rs 0xde02d1337d5407b9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7f36, rs 0x3f9b762c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7f36ec5, rs 0x3f9b762c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x274721c3, rs 0x13a390e1e1dab15a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x274721c3c3b5, rs 0x13a390e1e1dab15a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x274721c3c3b562b, rs 0x13a390e1e1dab15a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x76b4, rs 0x3b5a6b9b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x76b4d73, rs 0x3b5a6b9b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe869234d, rs 0x743491a6828716c8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe869234d050e, rs 0x743491a6828716c8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe869234d050e2d9, rs 0x743491a6828716c8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x62b, rs 0x315d626, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x62bac4, rs 0x315d626, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff19fe8095, rs 0x8cff404aede292f2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff19fe8095dbc5, rs 0x8cff404aede292f2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf19fe8095dbc525e, rs 0x8cff404aede292f2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfa9, rs 0x7d4cb91, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa9972, rs 0x7d4cb91, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff739d81b6, rs 0xb9cec0db1f837636, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff739d81b63f06, rs 0xb9cec0db1f837636, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf739d81b63f06ec6, rs 0xb9cec0db1f837636, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x152f, rs 0xa97ed48, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x152fda9, rs 0xa97ed48, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x5d54b54e, rs 0x2eaa5aa70509771c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5d54b54e0a12, rs 0x2eaa5aa70509771c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5d54b54e0a12ee3, rs 0x2eaa5aa70509771c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1cad, rs 0xe56f0ff, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1cade1f, rs 0xe56f0ff, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa64ea71c, rs 0xd327538e1875241b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa64ea71c30ea, rs 0xd327538e1875241b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa64ea71c30ea483, rs 0xd327538e1875241b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2023, rs 0x1011a0fa, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x202341f, rs 0x1011a0fa, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x85d3f0a9, rs 0x42e9f8548b739b6b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x85d3f0a916e7, rs 0x42e9f8548b739b6b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x85d3f0a916e736d, rs 0x42e9f8548b739b6b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x29a1, rs 0x14d0bd4d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x29a17a9, rs 0x14d0bd4d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf1c9ca19, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf1c9ca19d997, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf1c9ca19d997743, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3327, rs 0x19939b94, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3327372, rs 0x19939b94, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffed6df47f, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffed6df47f9b3a, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfed6df47f9b3a4f9, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3aa5, rs 0x1d528623, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3aa50c4, rs 0x1d528623, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe722c907, rs 0x73916483ae3e9423, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe722c9075c7d, rs 0x73916483ae3e9423, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe722c9075c7d284, rs 0x73916483ae3e9423, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffe25e, rs 0xfffffffff12f560e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffe25eac1, rs 0xfffffffff12f560e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4ed5ee14, rs 0x276af70a0e128561, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4ed5ee141c25, rs 0x276af70a0e128561, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4ed5ee141c250ac, rs 0x276af70a0e128561, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffebdc, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffebdc977, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x608b7ed, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x608b7ed6bce, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x608b7ed6bce96d, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffff15a, rs 0xfffffffff8ad6d60, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffff15adac, rs 0xfffffffff8ad6d60, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x40447e26, rs 0x20223f1308accfa6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x40447e261159, rs 0x20223f1308accfa6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x40447e2611599f4, rs 0x20223f1308accfa6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffff8d8, rs 0xfffffffffc6c70d7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffff8d8e1a, rs 0xfffffffffc6c70d7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffff078aae8, rs 0xf83c55743976b5f5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffff078aae872ed, rs 0xf83c55743976b5f5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xff078aae872ed6be, rs 0xf83c55743976b5f5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffc456, rs 0xffffffffe22b20d2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffc45641a, rs 0xffffffffe22b20d2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x3f2e41f2, rs 0x1f9720f946923c3d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3f2e41f28d24, rs 0x1f9720f946923c3d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3f2e41f28d24787, rs 0x1f9720f946923c3d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffcdd4, rs 0xffffffffe6ea3d65, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffcdd47ac, rs 0xffffffffe6ea3d65, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xc41a50a0, rs 0x620d28506d2448dd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc41a50a0da48, rs 0x620d28506d2448dd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc41a50a0da4891b, rs 0x620d28506d2448dd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffd752, rs 0xffffffffeba91bbc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffd752377, rs 0xffffffffeba91bbc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xc14a43d3, rs 0x60a521e99ff4a732, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc14a43d33fe9, rs 0x60a521e99ff4a732, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc14a43d33fe94e6, rs 0x60a521e99ff4a732, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffded0, rs 0xffffffffef68060b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffded00c1, rs 0xffffffffef68060b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xb411e756, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb411e756b8d0, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb411e756b8d01e1, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffae4f, rs 0xffffffffd727bbb6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffae4f776, rs 0xffffffffd727bbb6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff8f4b37cf, rs 0xc7a59be7800f3d26, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff8f4b37cf001e, rs 0xc7a59be7800f3d26, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf8f4b37cf001e7a4, rs 0xc7a59be7800f3d26, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffa7cd, rs 0xffffffffd3e6a601, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffa7cd4c0, rs 0xffffffffd3e6a601, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x35d9be53, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x35d9be530594, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x35d9be530594368, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffbd4b, rs 0xffffffffdea580d8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffbd4b01b, rs 0xffffffffdea580d8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x570c2744, rs 0x2b8613a260d19dcd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x570c2744c1a3, rs 0x2b8613a260d19dcd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x570c2744c1a33b9, rs 0x2b8613a260d19dcd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffb4c9, rs 0xffffffffda649d6f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffb4c93ad, rs 0xffffffffda649d6f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4a315916, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4a3159161d17, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4a3159161d177cf, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff8847, rs 0xffffffffc423cd6a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff88479ad, rs 0xffffffffc423cd6a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xe87cad1a, rs 0x743e568d2fcf486b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe87cad1a5f9e, rs 0x743e568d2fcf486b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe87cad1a5f9e90d, rs 0x743e568d2fcf486b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x24dec8de, rs 0x126f646f34c31728, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x24dec8de6986, rs 0x126f646f34c31728, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x24dec8de69862e5, rs 0x126f646f34c31728, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff9b43, rs 0xffffffffcda1f604, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff9b43ec0, rs 0xffffffffcda1f604, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff556032c2, rs 0xaab0196156fc4d12, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff556032c2adf8, rs 0xaab0196156fc4d12, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf556032c2adf89a2, rs 0xaab0196156fc4d12, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xea6b9a67, rs 0x7535cd338595d342, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xea6b9a670b2b, rs 0x7535cd338595d342, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xea6b9a670b2ba68, rs 0x7535cd338595d342, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff7a7d, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff7a7d1af, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffbf64a9b4, rs 0xdfb254da422346ec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffbf64a9b48446, rs 0xdfb254da422346ec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfbf64a9b484468dd, rs 0xdfb254da422346ec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff73ff, rs 0xffffffffb9ff90c9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff73ff219, rs 0xffffffffb9ff90c9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff50ce4d92, rs 0xa86726c90081ab2a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff50ce4d920103, rs 0xa86726c90081ab2a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf50ce4d920103565, rs 0xa86726c90081ab2a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff6979, rs 0xffffffffb4bcb610, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff69796c2, rs 0xffffffffb4bcb610, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff37fdff42, rs 0x9bfeffa1679d7438, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff37fdff42cf3a, rs 0x9bfeffa1679d7438, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf37fdff42cf3ae87, rs 0x9bfeffa1679d7438, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff60fb, rs 0xffffffffb07daba7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff60fb574, rs 0xffffffffb07daba7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff8ed3304d, rs 0xc7699826b7dee244, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff8ed3304d6fbd, rs 0xc7699826b7dee244, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf8ed3304d6fbdc48, rs 0xc7699826b7dee244, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff5c75, rs 0xffffffffae3afba2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff5c75f74, rs 0xffffffffae3afba2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x780f5f2f, rs 0x3c07af97fba6704a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x780f5f2ff74c, rs 0x3c07af97fba6704a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x780f5f2ff74ce09, rs 0x3c07af97fba6704a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff55f7, rs 0xffffffffaafbe615, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff55f7cc2, rs 0xffffffffaafbe615, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xa426c9b8, rs 0x521364dc04c58bfe, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa426c9b8098b, rs 0x521364dc04c58bfe, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa426c9b8098b17f, rs 0x521364dc04c58bfe, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff4f71, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff4f71819, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffc1ef76b1, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffc1ef76b1356f, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc1ef76b1356f5d7, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff46f3, rs 0xffffffffa379dd7b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff46f3baf, rs 0xffffffffa379dd7b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffc66d8c19, rs 0xe336c60cdeeb954d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffc66d8c19bdd7, rs 0xe336c60cdeeb954d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc66d8c19bdd72a9, rs 0xe336c60cdeeb954d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff366c, rs 0xffffffff9b3660c6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff366cc18, rs 0xffffffff9b3660c6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffab642418, rs 0xd5b2120c6f52416e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffab642418dea4, rs 0xd5b2120c6f52416e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfab642418dea482d, rs 0xd5b2120c6f52416e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3fee, rs 0xffffffff9ff77d71, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff3feefae, rs 0xffffffff9ff77d71, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff0b45a9fe, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff0b45a9fefcc5, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf0b45a9fefcc5146, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2568, rs 0xffffffff92b45ba8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff2568b75, rs 0xffffffff92b45ba8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff30d456ca, rs 0x986a2b654a4e7e07, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff30d456ca949c, rs 0x986a2b654a4e7e07, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf30d456ca949cfc0, rs 0x986a2b654a4e7e07, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2cea, rs 0xffffffff9675461f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff2cea8c3, rs 0xffffffff9675461f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff52e9d588, rs 0xa974eac43a489b55, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff52e9d5887491, rs 0xa974eac43a489b55, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf52e9d588749136a, rs 0xa974eac43a489b55, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff1064, rs 0xffffffff8832161a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff10642c3, rs 0xffffffff8832161a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff471182c4, rs 0xa388c16272f1f8f5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff471182c4e5e3, rs 0xa388c16272f1f8f5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf471182c4e5e3f1e, rs 0xa388c16272f1f8f5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff19e6, rs 0xffffffff8cf30bad, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff19e6175, rs 0xffffffff8cf30bad, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffd1823e8b, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffd1823e8bce92, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd1823e8bce92bd5, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff0360, rs 0xffffffff81b02d74, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff03605ae, rs 0xffffffff81b02d74, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5b54b4ec, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5b54b4ecb983, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5b54b4ecb983916, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff0ae2, rs 0xffffffff857130c3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff0ae2618, rs 0xffffffff857130c3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf5699d11, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf5699d11bf4c, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5699d11bf4c0b8, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xbb15, rs 0x5d8a9099, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xbb15213, rs 0x5d8a9099, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff6855adcc, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff6855adccb34f, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf6855adccb34f609, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb297, rs 0x594b8d2e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb2971a5, rs 0x594b8d2e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x97f090b5, rs 0x4bf8485ab728922f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x97f090b56e51, rs 0x4bf8485ab728922f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x97f090b56e51245, rs 0x4bf8485ab728922f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa811, rs 0x5408abf7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa81157e, rs 0x5408abf7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xed47ac18, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xed47ac1876cd, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xed47ac1876cd4ff, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa193, rs 0x50c9b640, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa1936c8, rs 0x50c9b640, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x63c18d5f, rs 0x31e0c6affdc28eda, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x63c18d5ffb85, rs 0x31e0c6affdc28eda, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x63c18d5ffb851db, rs 0x31e0c6affdc28eda, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x9d1d, rs 0x4e8ee645, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x9d1dcc8, rs 0x4e8ee645, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xa6c0d769, rs 0x53606bb4bf0c999d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xa6c0d7697e19, rs 0x53606bb4bf0c999d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xa6c0d7697e19333, rs 0x53606bb4bf0c999d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x949f, rs 0x4a4ffbf2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x949ff7e, rs 0x4a4ffbf2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x65f82590, rs 0x32fc12c81b7919f0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x65f8259036f2, rs 0x32fc12c81b7919f0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x65f8259036f233e, rs 0x32fc12c81b7919f0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x8e19, rs 0x470cdd2b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x8e19ba5, rs 0x470cdd2b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7df10709, rs 0x3ef88384c72efcd6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7df107098e5d, rs 0x3ef88384c72efcd6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7df107098e5df9a, rs 0x3ef88384c72efcd6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x879b, rs 0x43cdc09c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x879b813, rs 0x43cdc09c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x71638f76, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x71638f76d454, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x71638f76d4546b0, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf704, rs 0x7b827d21, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf704fa4, rs 0x7b827d21, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2bd7ec24, rs 0x15ebf6121dca77c9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2bd7ec243b94, rs 0x15ebf6121dca77c9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2bd7ec243b94ef9, rs 0x15ebf6121dca77c9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfe86, rs 0x7f436096, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfe86c12, rs 0x7f436096, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xbd559bb3, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xbd559bb3fb22, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xbd559bb3fb228f5, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xe400, rs 0x7200464f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xe4008c9, rs 0x7200464f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff7708e1f3, rs 0xbb8470f981e91117, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff7708e1f303d2, rs 0xbb8470f981e91117, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf7708e1f303d2222, rs 0xbb8470f981e91117, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xed82, rs 0x76c15bf8, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xed82b7f, rs 0x76c15bf8, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xba855d5, rs 0x5d42aeac6a532e0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xba855d58d4a, rs 0x5d42aeac6a532e0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xba855d58d4a65c, rs 0x5d42aeac6a532e0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd10c, rs 0x68860bfd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd10c17f, rs 0x68860bfd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2957e6c8, rs 0x14abf36419fb9e63, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2957e6c833f7, rs 0x14abf36419fb9e63, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2957e6c833f73cc, rs 0x14abf36419fb9e63, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd88e, rs 0x6c47164a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd88e2c9, rs 0x6c47164a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x493aab35, rs 0x249d559aa8d72aac, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x493aab3551ae, rs 0x249d559aa8d72aac, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x493aab3551ae555, rs 0x249d559aa8d72aac, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc208, rs 0x61043093, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc208612, rs 0x61043093, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x19acec9e, rs 0xcd6764f084b30ec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x19acec9e1096, rs 0xcd6764f084b30ec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x19acec9e109661d, rs 0xcd6764f084b30ec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcb8a, rs 0x65c52d24, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcb8a5a4, rs 0x65c52d24, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfe07580f, rs 0x7f03ac0792468fdf, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfe07580f248d, rs 0x7f03ac0792468fdf, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfe07580f248d1fb, rs 0x7f03ac0792468fdf, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2336, rs 0x119b4be9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x233697d, rs 0x119b4be9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfc6b9cda, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfc6b9cdaadcc, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfc6b9cdaadcce1e, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2ab4, rs 0x155a565e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2ab4acb, rs 0x155a565e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2a5050b2, rs 0x152828591a652711, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2a5050b234ca, rs 0x152828591a652711, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2a5050b234ca4e2, rs 0x152828591a652711, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x3032, rs 0x18197087, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x3032e10, rs 0x18197087, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff3c386507, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff3c386507a42b, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf3c386507a42b53f, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x39b0, rs 0x1cd86d30, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x39b0da6, rs 0x1cd86d30, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff1b2b8092, rs 0x8d95c049282a0417, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff1b2b80925054, rs 0x8d95c049282a0417, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf1b2b80925054082, rs 0x8d95c049282a0417, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x53e, rs 0x29f3d35, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x53e7a6, rs 0x29f3d35, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffe5cf4921, rs 0xf2e7a490978058f3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffe5cf49212f00, rs 0xf2e7a490978058f3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfe5cf49212f00b1e, rs 0xf2e7a490978058f3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcbc, rs 0x65e2082, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcbc410, rs 0x65e2082, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xeeb69994, rs 0x775b4cca0975b1aa, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xeeb6999412eb, rs 0x775b4cca0975b1aa, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xeeb6999412eb635, rs 0x775b4cca0975b1aa, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x163a, rs 0xb1d065b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x163a0cb, rs 0xb1d065b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x1457094c, rs 0xa2b84a635111020, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1457094c6a22, rs 0xa2b84a635111020, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1457094c6a22204, rs 0xa2b84a635111020, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x1fb8, rs 0xfdc1bec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x1fb837d, rs 0xfdc1bec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x47f41a7, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x47f41a74fb1, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x47f41a74fb116d, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6f27, rs 0x3793a651, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6f274ca, rs 0x3793a651, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff47b3236f, rs 0xa3d991b79941dedd, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff47b3236f3283, rs 0xa3d991b79941dedd, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf47b3236f3283bdb, rs 0xa3d991b79941dedd, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x66a5, rs 0x3352bbe6, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x66a577c, rs 0x3352bbe6, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xea396906, rs 0x751cb4835a0d9508, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xea396906b41b, rs 0x751cb4835a0d9508, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xea396906b41b2a1, rs 0x751cb4835a0d9508, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7c23, rs 0x3e119d3f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7c233a7, rs 0x3e119d3f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff29395a6a, rs 0x949cad35625bb2d3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff29395a6ac4b7, rs 0x949cad35625bb2d3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf29395a6ac4b765a, rs 0x949cad35625bb2d3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x75a1, rs 0x3ad08088, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x75a1011, rs 0x3ad08088, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfeacfe6b, rs 0x7f567f35a6929739, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfeacfe6b4d25, rs 0x7f567f35a6929739, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfeacfe6b4d252e7, rs 0x7f567f35a6929739, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x492f, rs 0x2497d08d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x492fa11, rs 0x2497d08d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x30b711c1, rs 0x185b88e0db8d7d27, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x30b711c1b71a, rs 0x185b88e0db8d7d27, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x30b711c1b71afa4, rs 0x185b88e0db8d7d27, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x40ad, rs 0x2056cd3a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x40ad9a7, rs 0x2056cd3a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x4ab499a4, rs 0x255a4cd22fd61b91, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x4ab499a45fac, rs 0x255a4cd22fd61b91, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x4ab499a45fac372, rs 0x255a4cd22fd61b91, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5a2b, rs 0x2d15ebe3, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5a2bd7c, rs 0x2d15ebe3, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2091ab13, rs 0x1048d589a4363f7b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2091ab13486c, rs 0x1048d589a4363f7b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2091ab13486c7ef, rs 0x1048d589a4363f7b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x53a9, rs 0x29d4f654, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x53a9eca, rs 0x29d4f654, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xd4daae11, rs 0x6a6d5708f4605790, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd4daae11e8c0, rs 0x6a6d5708f4605790, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd4daae11e8c0af2, rs 0x6a6d5708f4605790, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff8b52, rs 0xffffffffc5a92679, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff8b524cf, rs 0xffffffffc5a92679, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffab1d9757, rs 0xd58ecbabde35697f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffab1d9757bc6a, rs 0xd58ecbabde35697f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfab1d9757bc6ad2f, rs 0xd58ecbabde35697f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff82d0, rs 0xffffffffc1683bce, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff82d0779, rs 0xffffffffc1683bce, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xaeaa91fa, rs 0x575548fd08c0a5f1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xaeaa91fa1181, rs 0x575548fd08c0a5f1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xaeaa91fa11814be, rs 0x575548fd08c0a5f1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff9856, rs 0xffffffffcc2b1d17, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff98563a2, rs 0xffffffffcc2b1d17, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff176c81f7, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff176c81f71db3, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf176c81f71db31bb, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff91d4, rs 0xffffffffc8ea00a0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff91d4014, rs 0xffffffffc8ea00a0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff7c01aa3d, rs 0xbe00d51eabc578cc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff7c01aa3d578a, rs 0xbe00d51eabc578cc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf7c01aa3d578af19, rs 0xbe00d51eabc578cc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffad5a, rs 0xffffffffd6ad50a5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffad5aa14, rs 0xffffffffd6ad50a5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x5efc4494, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x5efc4494382e, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x5efc4494382e156, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffa4d8, rs 0xffffffffd26c4d12, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffa4d89a2, rs 0xffffffffd26c4d12, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff52f1e259, rs 0xa978f12ca22256a7, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff52f1e2594444, rs 0xa978f12ca22256a7, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf52f1e2594444ad4, rs 0xa978f12ca22256a7, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffbe5e, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffbe5ed79, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff32a15277, rs 0x9950a93b811ee02f, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff32a15277023d, rs 0x9950a93b811ee02f, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf32a15277023dc05, rs 0x9950a93b811ee02f, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffb7dc, rs 0xffffffffdbee767c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffb7dcecf, rs 0xffffffffdbee767c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff689dd527, rs 0xb44eea93c6796a0c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff689dd5278cf2, rs 0xb44eea93c6796a0c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf689dd5278cf2d41, rs 0xb44eea93c6796a0c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffc743, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffc743978, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xfffffffffce3f940, rs 0xfe71fca06c0eb657, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffce3f940d81d, rs 0xfe71fca06c0eb657, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffce3f940d81d6ca, rs 0xfe71fca06c0eb657, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffcec1, rs 0xffffffffe760d676, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffcec1ace, rs 0xffffffffe760d676, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x9dac727b, rs 0x4ed6393df818af57, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x9dac727bf031, rs 0x4ed6393df818af57, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x9dac727bf0315ea, rs 0x4ed6393df818af57, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffd447, rs 0xffffffffea23f0af, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffd447e15, rs 0xffffffffea23f0af, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffe45d2040, rs 0xf22e90200236770a, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffe45d2040046c, rs 0xf22e90200236770a, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfe45d2040046cee1, rs 0xf22e90200236770a, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffddc5, rs 0xffffffffeee2ed18, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffddc5da3, rs 0xffffffffeee2ed18, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff03df6d8f, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff03df6d8f5fa1, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf03df6d8f5fa188b, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffe14b, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffe14b7a3, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffddb1e6a3, rs 0xeed8f3518102315b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffddb1e6a30204, rs 0xeed8f3518102315b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfddb1e6a3020462b, rs 0xeed8f3518102315b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffffe8c9, rs 0xfffffffff464a0aa, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffffe8c9415, rs 0xfffffffff464a0aa, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5b5fdf73, rs 0xadafefb9995efd5e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5b5fdf7332bd, rs 0xadafefb9995efd5e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5b5fdf7332bdfab, rs 0xadafefb9995efd5e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffff24f, rs 0xfffffffff9278673, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffff24f0ce, rs 0xfffffffff9278673, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x680c3267, rs 0x34061933eb253086, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x680c3267d64a, rs 0x34061933eb253086, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x680c3267d64a610, rs 0x34061933eb253086, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xfffffffffffffbcd, rs 0xfffffffffde69bc4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xffffffffffbcd378, rs 0xfffffffffde69bc4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x2e91b44c, rs 0x1748da264b4c52bc, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x2e91b44c9698, rs 0x1748da264b4c52bc, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x2e91b44c9698a57, rs 0x1748da264b4c52bc, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff1371, rs 0xffffffff89b8fd09, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff1371fa1, rs 0xffffffff89b8fd09, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x69fbf935, rs 0x34fdfc9a9302be89, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x69fbf9352605, rs 0x34fdfc9a9302be89, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x69fbf93526057d1, rs 0x34fdfc9a9302be89, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff1af3, rs 0xffffffff8d79e0be, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff1af3c17, rs 0xffffffff8d79e0be, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffa004f187, rs 0xd00278c3c521d180, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffa004f1878a43, rs 0xd00278c3c521d180, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfa004f1878a43a30, rs 0xd00278c3c521d180, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff0075, rs 0xffffffff803ac667, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff00758cc, rs 0xffffffff803ac667, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffd2128949, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffd212894983a6, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfd212894983a6f4b, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff09f7, rs 0xffffffff84fbdbd0, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff09f7b7a, rs 0xffffffff84fbdbd0, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xcbfad31f, rs 0x65fd698fddef9839, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xcbfad31fbbdf, rs 0x65fd698fddef9839, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xcbfad31fbbdf307, rs 0x65fd698fddef9839, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3579, rs 0xffffffff9abc8bd5, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff357917a, rs 0xffffffff9abc8bd5, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff893dc75b, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff893dc75b036b, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf893dc75b036b5ea, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff3cfb, rs 0xffffffff9e7d9662, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff3cfb2cc, rs 0xffffffff9e7d9662, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xf55283d1, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xf55283d17b64, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf55283d17b64c7d, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff267d, rs 0xffffffff933eb0bb, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff267d617, rs 0xffffffff933eb0bb, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x6e58413c, rs 0x372c209e42f3b58d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x6e58413c85e7, rs 0x372c209e42f3b58d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x6e58413c85e76b1, rs 0x372c209e42f3b58d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff2fff, rs 0xffffffff97ffad0c, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff2fff5a1, rs 0xffffffff97ffad0c, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x61f0e16f, rs 0x30f870b7e122a83b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x61f0e16fc245, rs 0x30f870b7e122a83b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x61f0e16fc245507, rs 0x30f870b7e122a83b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff5f60, rs 0xffffffffafb010b1, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff5f60216, rs 0xffffffffafb010b1, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff3c05bc96, rs 0x9e02de4b678930ec, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff3c05bc96cf12, rs 0x9e02de4b678930ec, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf3c05bc96cf1261d, rs 0x9e02de4b678930ec, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff56e2, rs 0xffffffffab710d06, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff56e21a0, rs 0xffffffffab710d06, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff9ac350c7, rs 0xcd61a8639826631e, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff9ac350c7304c, rs 0xcd61a8639826631e, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf9ac350c7304cc63, rs 0xcd61a8639826631e, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff4c64, rs 0xffffffffa6322bdf, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff4c6457b, rs 0xffffffffa6322bdf, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff5d0f7913, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff5d0f791334f7, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf5d0f791334f7a79, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff45e6, rs 0xffffffffa2f33668, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff45e66cd, rs 0xffffffffa2f33668, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xb1d8c89a, rs 0x58ec644d6481af17, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xb1d8c89ac903, rs 0x58ec644d6481af17, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xb1d8c89ac9035e2, rs 0x58ec644d6481af17, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff7968, rs 0xffffffffbcb4666d, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff7968ccd, rs 0xffffffffbcb4666d, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xd0199cbf, rs 0x680cce5fb236b666, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xd0199cbf646d, rs 0x680cce5fb236b666, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xd0199cbf646d6cc, rs 0x680cce5fb236b666, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff70ea, rs 0xffffffffb8757bda, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff70eaf7b, rs 0xffffffffb8757bda, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0x7755328e, rs 0x3baa99471f6d4d75, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0x7755328e3eda, rs 0x3baa99471f6d4d75, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0x7755328e3eda9ae, rs 0x3baa99471f6d4d75, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff6a6c, rs 0xffffffffb5365d03, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff6a6cba0, rs 0xffffffffb5365d03, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xc29b3688, rs 0x614d9b445f12236b, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xc29b3688be24, rs 0x614d9b445f12236b, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xc29b3688be2446d, rs 0x614d9b445f12236b, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffffffffffff63ee, rs 0xffffffffb1f740b4, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xfffffffff63ee816, rs 0xffffffffb1f740b4, imm 0x0003
+dsra $t0, $t1, 0x00 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+dsra $t2, $t3, 0x1f :: rt 0xffffffff454dd8cc, rs 0xa2a6ec661ba84121, imm 0x001f
+dsra $a0, $a1, 0x0f :: rt 0xffff454dd8cc3750, rs 0xa2a6ec661ba84121, imm 0x000f
+dsra $s0, $s1, 0x03 :: rt 0xf454dd8cc3750824, rs 0xa2a6ec661ba84121, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x12bd6aa, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x12bd6aa, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x12bd6aa, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7e8763, rs 0x7e876382d2ab13, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7e876382d2ab13, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfd, rs 0x7e876382d2ab13, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfd0ec, rs 0x7e876382d2ab13, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x9823b6e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x9823b6e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x9823b6e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff976d6e9a, rs 0x976d6e9ac31510f3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x976d6e9ac31510f3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff2eda, rs 0x976d6e9ac31510f3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff2edadd3, rs 0x976d6e9ac31510f3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xd4326d9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xd4326d9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xd4326d9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb7746d77, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff6ee8, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff6ee8dae, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x130476dc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x130476dc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x130476dc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x42b0c0a2, rs 0x42b0c0a28677b502, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x8561, rs 0x42b0c0a28677b502, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x8561814, rs 0x42b0c0a28677b502, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x17c56b6b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x17c56b6b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x17c56b6b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2aa89d31, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5551, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x55513a6, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1a864db2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1a864db2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1a864db2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1f308ec3, rs 0x1f308ec377fb413d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x3e61, rs 0x1f308ec377fb413d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x3e611d8, rs 0x1f308ec377fb413d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1e475005, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1e475005, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1e475005, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7aa04213, rs 0x7aa04213c760e4f7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf540, rs 0x7aa04213c760e4f7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf540842, rs 0x7aa04213c760e4f7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2608edb8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2608edb8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2608edb8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9e705cc5, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff3ce0, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff3ce0b98, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x22c9f00f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x22c9f00f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x22c9f00f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x4b3dda86, rs 0x4b3dda869615a60d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x967b, rs 0x4b3dda869615a60d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x967bb50, rs 0x4b3dda869615a60d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2f8ad6d6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x5e7a4dd, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xbcf, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xbcf49b, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2b4bcb61, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2b4bcb61, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2b4bcb61, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3af35a9d, rs 0x3af35a9dc40bd413, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x75e6, rs 0x3af35a9dc40bd413, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x75e6b53, rs 0x3af35a9dc40bd413, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x350c9b64, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x350c9b64, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x350c9b64, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x47f50556, rs 0x47f505569a08a180, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47f505569a08a180, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x8fea, rs 0x47f505569a08a180, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x8fea0aa, rs 0x47f505569a08a180, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x31cd86d3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x31cd86d3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x31cd86d3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9564b77f, rs 0x9564b77fd6d2040f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9564b77fd6d2040f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff2ac9, rs 0x9564b77fd6d2040f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff2ac96ef, rs 0x9564b77fd6d2040f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3c8ea00a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3c8ea00a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3c8ea00a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffcebc8279, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff9d79, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff9d7904f, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x384fbdbd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x384fbdbd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x384fbdbd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb5034c2f, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff6a06, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff6a06985, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4c11db70, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4c11db70, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4c11db70, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff94ff52fc, rs 0x94ff52fc81afa797, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x94ff52fc81afa797, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff29fe, rs 0x94ff52fc81afa797, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff29fea5f, rs 0x94ff52fc81afa797, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x48d0c6c7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x48d0c6c7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x48d0c6c7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x31d8d916, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x63b1, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x63b1b22, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4593e01e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4593e01e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4593e01e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x36549bd6, rs 0x36549bd678e895b1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36549bd678e895b1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6ca9, rs 0x36549bd678e895b1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6ca937a, rs 0x36549bd678e895b1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4152fda9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4152fda9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4152fda9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff85e0a631, rs 0x85e0a6319b63259b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x85e0a6319b63259b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff0bc1, rs 0x85e0a6319b63259b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff0bc14c6, rs 0x85e0a6319b63259b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5f15adac, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5f15adac, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5f15adac, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x556b3eca, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xaad6, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xaad67d9, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5bd4b01b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5bd4b01b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5bd4b01b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb42f5fc5, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff685e, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff685ebf8, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x569796c2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x569796c2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x569796c2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x25b50fec, rs 0x25b50fec14682d97, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x25b50fec14682d97, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4b6a, rs 0x25b50fec14682d97, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4b6a1fd, rs 0x25b50fec14682d97, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x52568b75, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x52568b75, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x52568b75, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffffc93c513, rs 0xfc93c5132cfb087a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfc93c5132cfb087a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff927, rs 0xfc93c5132cfb087a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff9278a2, rs 0xfc93c5132cfb087a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6a1936c8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6a1936c8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6a1936c8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3c2cd9a9, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7859, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7859b35, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6ed82b7f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6ed82b7f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6ed82b7f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1791722a, rs 0x1791722a7d72da3e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2f22, rs 0x1791722a7d72da3e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2f22e45, rs 0x1791722a7d72da3e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x639b0da6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x639b0da6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x639b0da6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x87cc9d1, rs 0x87cc9d193ce24ad, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x10f9, rs 0x87cc9d193ce24ad, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x10f993a, rs 0x87cc9d193ce24ad, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x675a1011, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x675a1011, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x675a1011, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1d2a7570, rs 0x1d2a757038984ed2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x3a54, rs 0x1d2a757038984ed2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x3a54eae, rs 0x1d2a757038984ed2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x791d4014, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x791d4014, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x791d4014, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd0d070db, rs 0xd0d070db710cd036, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd0d070db710cd036, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa1a0, rs 0xd0d070db710cd036, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa1a0e1b, rs 0xd0d070db710cd036, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7ddc5da3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7ddc5da3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7ddc5da3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x39c21c7d, rs 0x39c21c7d03415604, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c21c7d03415604, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7384, rs 0x39c21c7d03415604, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x738438f, rs 0x39c21c7d03415604, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x709f7b7a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x709f7b7a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x709f7b7a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8e94b7af, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff1d29, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff1d296f5, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x745e66cd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x745e66cd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x745e66cd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x24eb6a8d, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x49d6, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x49d6d51, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2f394544, rs 0x2f39454412d6e4a7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5e72, rs 0x2f39454412d6e4a7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x5e728a8, rs 0x2f39454412d6e4a7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2608c2b7, rs 0x2608c2b756da4c54, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608c2b756da4c54, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4c11856, rs 0x2608c2b756da4c54, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff900102da, rs 0x900102dac8d7252f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x900102dac8d7252f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff2002, rs 0x900102dac8d7252f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff200205b, rs 0x900102dac8d7252f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc890d5f1, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff9121, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff9121abe, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffed5005cb, rs 0xed5005cbc8b0a214, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xed5005cbc8b0a214, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffdaa0, rs 0xed5005cbc8b0a214, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffdaa00b9, rs 0xed5005cbc8b0a214, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x31479189, rs 0x314791895991136c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x314791895991136c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x628f, rs 0x314791895991136c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x628f231, rs 0x314791895991136c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc6eecff9, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff8ddd, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff8ddd9ff, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa8095212, rs 0xa809521238895270, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa809521238895270, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5012, rs 0xa809521238895270, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5012a42, rs 0xa809521238895270, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff87750a04, rs 0x87750a04ad765040, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x87750a04ad765040, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff0eea, rs 0x87750a04ad765040, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff0eea140, rs 0x87750a04ad765040, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2c3de85e, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x587b, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x587bd0b, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffae6aff8f, rs 0xae6aff8fc506aa67, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xae6aff8fc506aa67, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5cd5, rs 0xae6aff8fc506aa67, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5cd5ff1, rs 0xae6aff8fc506aa67, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc07112dd, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff80e2, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff80e225b, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc4c770f6, rs 0xc4c770f630dcca5a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc4c770f630dcca5a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff898e, rs 0xc4c770f630dcca5a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff898ee1e, rs 0xc4c770f630dcca5a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffdfec2b23, rs 0xdfec2b2383cd5277, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xdfec2b2383cd5277, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffbfd8, rs 0xdfec2b2383cd5277, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffbfd8564, rs 0xdfec2b2383cd5277, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd3adba26, rs 0xd3adba260ff7d96b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd3adba260ff7d96b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa75b, rs 0xd3adba260ff7d96b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa75b744, rs 0xd3adba260ff7d96b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x4ab4aa79, rs 0x4ab4aa798418c00e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x9569, rs 0x4ab4aa798418c00e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x956954f, rs 0x4ab4aa798418c00e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbb8c035e, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff7718, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff771806b, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x33b06f54, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6760, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6760dea, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x77433f37, rs 0x77433f373fd1c081, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x77433f373fd1c081, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xee86, rs 0x77433f373fd1c081, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xee867e6, rs 0x77433f373fd1c081, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffec91d993, rs 0xec91d993c92195e4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xec91d993c92195e4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffd923, rs 0xec91d993c92195e4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffd923b32, rs 0xec91d993c92195e4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x49fbf6a7, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x93f7, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x93f7ed4, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x19364378, rs 0x19364378c7ce8d1e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x326c, rs 0x19364378c7ce8d1e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x326c86f, rs 0x19364378c7ce8d1e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb99e8def, rs 0xb99e8def2f384907, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb99e8def2f384907, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff733d, rs 0xb99e8def2f384907, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff733d1bd, rs 0xb99e8def2f384907, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x47eacdcd, rs 0x47eacdcd582b12fe, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x8fd5, rs 0x47eacdcd582b12fe, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x8fd59b9, rs 0x47eacdcd582b12fe, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd685884e, rs 0xd685884e76558c4f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd685884e76558c4f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffad0b, rs 0xd685884e76558c4f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffad0b109, rs 0xd685884e76558c4f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x6168d62a, rs 0x6168d62a34c195c7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xc2d1, rs 0x6168d62a34c195c7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xc2d1ac5, rs 0x6168d62a34c195c7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd3016989, rs 0xd30169894df47405, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd30169894df47405, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa602, rs 0xd30169894df47405, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa602d31, rs 0xd30169894df47405, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1ca190bf, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x3943, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x3943217, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x58300f02, rs 0x58300f029cae393a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58300f029cae393a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xb060, rs 0x58300f029cae393a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xb0601e0, rs 0x58300f029cae393a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9a995fdb, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff3532, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff3532bfb, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8a96047b, rs 0x8a96047be3405b48, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8a96047be3405b48, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff152c, rs 0x8a96047be3405b48, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff152c08f, rs 0x8a96047be3405b48, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x75bfafd2, rs 0x75bfafd2d519d322, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xeb7f, rs 0x75bfafd2d519d322, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xeb7f5fa, rs 0x75bfafd2d519d322, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x34867077, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x34867077, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x34867077, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffde230867, rs 0xde230867a630f6ad, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xde230867a630f6ad, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffbc46, rs 0xde230867a630f6ad, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffbc4610c, rs 0xde230867a630f6ad, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x30476dc0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x30476dc0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x30476dc0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2c0a0cf2, rs 0x2c0a0cf256103260, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5814, rs 0x2c0a0cf256103260, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x581419e, rs 0x2c0a0cf256103260, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3d044b19, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3d044b19, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3d044b19, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff94a90544, rs 0x94a90544249b18ef, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x94a90544249b18ef, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff2952, rs 0x94a90544249b18ef, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff29520a8, rs 0x94a90544249b18ef, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x39c556ae, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x39c556ae, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x39c556ae, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff9519fb5, rs 0xf9519fb55b56fcde, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf9519fb55b56fcde, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff2a3, rs 0xf9519fb55b56fcde, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff2a33f6, rs 0xf9519fb55b56fcde, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x278206ab, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x278206ab, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x278206ab, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff81daf820, rs 0x81daf8200468319b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x81daf8200468319b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff03b5, rs 0x81daf8200468319b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff03b5f04, rs 0x81daf8200468319b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x23431b1c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x23431b1c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x23431b1c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8c61ca5a, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff18c3, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff18c394b, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2e003dc5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2e003dc5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2e003dc5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8b95a6dd, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff172b, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff172b4db, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2ac12072, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2ac12072, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2ac12072, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x300ce751, rs 0x300ce751dac6162f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x300ce751dac6162f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6019, rs 0x300ce751dac6162f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6019cea, rs 0x300ce751dac6162f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x128e9dcf, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x128e9dcf, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x128e9dcf, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x6778fdf3, rs 0x6778fdf3ba52a850, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xcef1, rs 0x6778fdf3ba52a850, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xcef1fbe, rs 0x6778fdf3ba52a850, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x164f8078, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x164f8078, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x164f8078, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffad00b1f7, rs 0xad00b1f7da78479f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xad00b1f7da78479f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5a01, rs 0xad00b1f7da78479f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5a0163e, rs 0xad00b1f7da78479f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1b0ca6a1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x8d44168, rs 0x8d44168a6b6d98a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x11a8, rs 0x8d44168a6b6d98a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x11a882d, rs 0x8d44168a6b6d98a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1fcdbb16, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1fcdbb16, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1fcdbb16, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff518381d, rs 0xf518381dce634413, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf518381dce634413, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffea30, rs 0xf518381dce634413, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffea30703, rs 0xf518381dce634413, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x18aeb13, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x18aeb13, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x18aeb13, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe4627f3f, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffc8c4, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffc8c4fe7, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x54bf6a4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x54bf6a4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x54bf6a4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffccd392e1, rs 0xccd392e176321f28, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xccd392e176321f28, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff99a7, rs 0xccd392e176321f28, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff99a725c, rs 0xccd392e176321f28, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x808d07d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x808d07d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x808d07d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff82946494, rs 0x829464944018fd8f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x829464944018fd8f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff0528, rs 0x829464944018fd8f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff0528c92, rs 0x829464944018fd8f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xcc9cdca, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xcc9cdca, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xcc9cdca, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x15d32040, rs 0x15d3204052e8f0e5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2ba6, rs 0x15d3204052e8f0e5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2ba6408, rs 0x15d3204052e8f0e5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7897ab07, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7897ab07, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7897ab07, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7caf83d2, rs 0x7caf83d2880ff344, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf95f, rs 0x7caf83d2880ff344, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf95f07a, rs 0x7caf83d2880ff344, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7c56b6b0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7c56b6b0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7c56b6b0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff156a04c, rs 0xf156a04c747defd7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf156a04c747defd7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffe2ad, rs 0xf156a04c747defd7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffe2ad409, rs 0xf156a04c747defd7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x71159069, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x71159069, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x71159069, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff93e2601c, rs 0x93e2601c0f31d710, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x93e2601c0f31d710, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff27c4, rs 0x93e2601c0f31d710, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff27c4c03, rs 0x93e2601c0f31d710, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x75d48dde, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x75d48dde, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x75d48dde, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe1e1a679, rs 0xe1e1a679131cd933, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe1e1a679131cd933, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffc3c3, rs 0xe1e1a679131cd933, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffc3c34cf, rs 0xe1e1a679131cd933, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6b93dddb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6b93dddb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6b93dddb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x24296b75, rs 0x24296b75a76fa427, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x24296b75a76fa427, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4852, rs 0x24296b75a76fa427, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4852d6e, rs 0x24296b75a76fa427, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6f52c06c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6f52c06c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6f52c06c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd296e2d2, rs 0xd296e2d2139ee56a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd296e2d2139ee56a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa52d, rs 0xd296e2d2139ee56a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa52dc5a, rs 0xd296e2d2139ee56a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6211e6b5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6211e6b5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6211e6b5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x5a82447f, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xb504, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xb50488f, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x66d0fb02, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x66d0fb02, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x66d0fb02, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x76c89e80, rs 0x76c89e80c07dc168, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xed91, rs 0x76c89e80c07dc168, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xed913d0, rs 0x76c89e80c07dc168, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5e9f46bf, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5e9f46bf, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5e9f46bf, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x70dc345, rs 0x70dc3454bfe348f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe1b, rs 0x70dc3454bfe348f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe1b868, rs 0x70dc3454bfe348f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5a5e5b08, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5a5e5b08, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5a5e5b08, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbddc7123, rs 0xbddc7123dd6d241b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbddc7123dd6d241b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff7bb8, rs 0xbddc7123dd6d241b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff7bb8e24, rs 0xbddc7123dd6d241b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x571d7dd1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x571d7dd1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x571d7dd1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff62fb727, rs 0xf62fb727a59fcebe, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf62fb727a59fcebe, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffec5f, rs 0xf62fb727a59fcebe, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffec5f6e4, rs 0xf62fb727a59fcebe, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x53dc6066, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x53dc6066, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x53dc6066, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x109f27e9, rs 0x109f27e90f9f46fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x213e, rs 0x109f27e90f9f46fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x213e4fd, rs 0x109f27e90f9f46fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4d9b3063, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4d9b3063, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4d9b3063, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3f63daa9, rs 0x3f63daa9afd199d7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7ec7, rs 0x3f63daa9afd199d7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7ec7b55, rs 0x3f63daa9afd199d7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x495a2dd4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x495a2dd4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x495a2dd4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffdbcb312e, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffb796, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffb796625, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x44190b0d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x44190b0d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x44190b0d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1f353faa, rs 0x1f353faada4fe4c6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x3e6a, rs 0x1f353faada4fe4c6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x3e6a7f5, rs 0x1f353faada4fe4c6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x40d816ba, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x40d816ba, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x40d816ba, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8b086ee0, rs 0x8b086ee07150c260, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8b086ee07150c260, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff1610, rs 0x8b086ee07150c260, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff1610ddc, rs 0x8b086ee07150c260, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe54750d5, rs 0xe54750d5d9257f25, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe54750d5d9257f25, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffca8e, rs 0xe54750d5d9257f25, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffca8ea1a, rs 0xe54750d5d9257f25, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3d69625f, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7ad2, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7ad2c4b, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x70a3e042, rs 0x70a3e0424340ac96, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe147, rs 0x70a3e0424340ac96, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe147c08, rs 0x70a3e0424340ac96, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc0478f03, rs 0xc0478f036980171e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc0478f036980171e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff808f, rs 0xc0478f036980171e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff808f1e0, rs 0xc0478f036980171e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3ce839a5, rs 0x3ce839a51cf929e3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x79d0, rs 0x3ce839a51cf929e3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x79d0734, rs 0x3ce839a51cf929e3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe2fbfa89, rs 0xe2fbfa895eb68958, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe2fbfa895eb68958, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffc5f7, rs 0xe2fbfa895eb68958, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffc5f7f51, rs 0xe2fbfa895eb68958, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd24bb05d, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa497, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa49760b, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xeb9682c, rs 0xeb9682c170312f1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xeb9682c170312f1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x1d72, rs 0xeb9682c170312f1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x1d72d05, rs 0xeb9682c170312f1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff84785280, rs 0x84785280dd301d0d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x84785280dd301d0d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff08f0, rs 0x84785280dd301d0d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff08f0a50, rs 0x84785280dd301d0d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x179c77aa, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2f38, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2f38ef5, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x26444ced, rs 0x26444ced2998436d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x26444ced2998436d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4c88, rs 0x26444ced2998436d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4c8899d, rs 0x26444ced2998436d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7175c9d, rs 0x7175c9dd58ca708, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe2e, rs 0x7175c9dd58ca708, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe2eb93, rs 0x7175c9dd58ca708, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x663d0610, rs 0x663d061055833287, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x663d061055833287, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xcc7a, rs 0x663d061055833287, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xcc7a0c2, rs 0x663d061055833287, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffab7dd048, rs 0xab7dd0488951d68b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xab7dd0488951d68b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff56fb, rs 0xab7dd0488951d68b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff56fba09, rs 0xab7dd0488951d68b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff6982367, rs 0xf69823670e82471b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf69823670e82471b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffed30, rs 0xf69823670e82471b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffed3046c, rs 0xf69823670e82471b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x36886c59, rs 0x36886c59d98d26b2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6d10, rs 0x36886c59d98d26b2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6d10d8b, rs 0x36886c59d98d26b2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x9ca4bdb, rs 0x9ca4bdbd32be479, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x1394, rs 0x9ca4bdbd32be479, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x139497b, rs 0x9ca4bdbd32be479, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffffd5d7d1d, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffffaba, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffabafa3, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3f46553e, rs 0x3f46553ecad374df, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f46553ecad374df, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7e8c, rs 0x3f46553ecad374df, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7e8caa7, rs 0x3f46553ecad374df, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2e9ab97d, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5d35, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x5d3572f, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x36a6f7fa, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6d4d, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6d4deff, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8bb938e3, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff1772, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff177271c, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd2df25c4, rs 0xd2df25c419478206, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd2df25c419478206, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa5be, rs 0xd2df25c419478206, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa5be4b8, rs 0xd2df25c419478206, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbc65bf27, rs 0xbc65bf27eb321825, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbc65bf27eb321825, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff78cb, rs 0xbc65bf27eb321825, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff78cb7e4, rs 0xbc65bf27eb321825, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa8b08fe6, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5161, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff51611fc, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff852b5bca, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff0a56, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff0a56b79, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x478909b, rs 0x478909b59a99269, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x478909b59a99269, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x8f1, rs 0x478909b59a99269, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x8f1213, rs 0x478909b59a99269, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbfb31cc8, rs 0xbfb31cc87857360f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbfb31cc87857360f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff7f66, rs 0xbfb31cc87857360f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff7f66399, rs 0xbfb31cc87857360f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb665ed5e, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff6ccb, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff6ccbdab, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x15da9474, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2bb5, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2bb528e, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff6b3537d, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffed66, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffed66a6f, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x223d7cfe, rs 0x223d7cfe2b961897, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x447a, rs 0x223d7cfe2b961897, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x447af9f, rs 0x223d7cfe2b961897, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x690ce0ee, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x690ce0ee, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x690ce0ee, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x420b34f5, rs 0x420b34f533734a4b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x420b34f533734a4b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x8416, rs 0x420b34f533734a4b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x841669e, rs 0x420b34f533734a4b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6dcdfd59, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6dcdfd59, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6dcdfd59, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff897c8c8d, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff12f9, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff12f9191, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x608edb80, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x608edb80, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x608edb80, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7a387445, rs 0x7a387445e392ccd9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf470, rs 0x7a387445e392ccd9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf470e88, rs 0x7a387445e392ccd9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x644fc637, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x644fc637, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x644fc637, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x512f29b1, rs 0x512f29b1d80000c9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xa25e, rs 0x512f29b1d80000c9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xa25e536, rs 0x512f29b1d80000c9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7a089632, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7a089632, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7a089632, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffeaded5c5, rs 0xeaded5c53dad020a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xeaded5c53dad020a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffd5bd, rs 0xeaded5c53dad020a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffd5bdab8, rs 0xeaded5c53dad020a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7ec98b85, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7ec98b85, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7ec98b85, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8a6229d7, rs 0x8a6229d731eea35b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8a6229d731eea35b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff14c4, rs 0x8a6229d731eea35b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff14c453a, rs 0x8a6229d731eea35b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x738aad5c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x738aad5c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x738aad5c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2c3c3f9e, rs 0x2c3c3f9e48985649, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5878, rs 0x2c3c3f9e48985649, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x58787f3, rs 0x2c3c3f9e48985649, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x774bb0eb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x774bb0eb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x774bb0eb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7ff61e78, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffec, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffec3cf, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4f040d56, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4f040d56, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4f040d56, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2299b0e0, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4533, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x453361c, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4bc510e1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4bc510e1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4bc510e1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7c3b0467, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf876, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf87608c, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x46863638, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x46863638, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x46863638, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x164e17c1, rs 0x164e17c1e7fb6587, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2c9c, rs 0x164e17c1e7fb6587, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2c9c2f8, rs 0x164e17c1e7fb6587, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x42472b8f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x42472b8f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x42472b8f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffffa4ca28b, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff499, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff499451, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5c007b8a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5c007b8a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5c007b8a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe5e9a314, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffcbd3, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffcbd3462, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x58c1663d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x58c1663d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x58c1663d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff8be8164, rs 0xf8be8164159649c5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf8be8164159649c5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff17d, rs 0xf8be8164159649c5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff17d02c, rs 0xf8be8164159649c5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x558240e4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x558240e4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x558240e4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7ca32597, rs 0x7ca3259784e69b17, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf946, rs 0x7ca3259784e69b17, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf9464b2, rs 0x7ca3259784e69b17, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x51435d53, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x51435d53, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x51435d53, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffffc8d543c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff91a, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff91aa87, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x251d3b9e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x251d3b9e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x251d3b9e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x4aeb6ca0, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x95d6, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x95d6d94, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x21dc2629, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x21dc2629, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x21dc2629, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc532e18e, rs 0xc532e18e187980fa, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc532e18e187980fa, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff8a65, rs 0xc532e18e187980fa, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff8a65c31, rs 0xc532e18e187980fa, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2c9f00f0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2c9f00f0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2c9f00f0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb3fdec29, rs 0xb3fdec294f287d1c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb3fdec294f287d1c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff67fb, rs 0xb3fdec294f287d1c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff67fbd85, rs 0xb3fdec294f287d1c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x285e1d47, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x285e1d47, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x285e1d47, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb620660a, rs 0xb620660a49732b90, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb620660a49732b90, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff6c40, rs 0xb620660a49732b90, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff6c40cc1, rs 0xb620660a49732b90, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x36194d42, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x36194d42, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x36194d42, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff993138f1, rs 0x993138f16cfde991, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x993138f16cfde991, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff3262, rs 0x993138f16cfde991, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff326271e, rs 0x993138f16cfde991, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x32d850f5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x32d850f5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x32d850f5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffde02d133, rs 0xde02d1337d5407b9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xde02d1337d5407b9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffbc05, rs 0xde02d1337d5407b9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffbc05a26, rs 0xde02d1337d5407b9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3f9b762c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3f9b762c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3f9b762c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x13a390e1, rs 0x13a390e1e1dab15a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2747, rs 0x13a390e1e1dab15a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x274721c, rs 0x13a390e1e1dab15a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3b5a6b9b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x743491a6, rs 0x743491a6828716c8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x743491a6828716c8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe869, rs 0x743491a6828716c8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe869234, rs 0x743491a6828716c8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x315d626, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x315d626, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x315d626, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8cff404a, rs 0x8cff404aede292f2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8cff404aede292f2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff19fe, rs 0x8cff404aede292f2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff19fe809, rs 0x8cff404aede292f2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7d4cb91, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7d4cb91, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7d4cb91, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb9cec0db, rs 0xb9cec0db1f837636, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb9cec0db1f837636, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff739d, rs 0xb9cec0db1f837636, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff739d81b, rs 0xb9cec0db1f837636, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xa97ed48, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xa97ed48, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xa97ed48, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2eaa5aa7, rs 0x2eaa5aa70509771c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5d54, rs 0x2eaa5aa70509771c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x5d54b54, rs 0x2eaa5aa70509771c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xe56f0ff, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xe56f0ff, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xe56f0ff, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd327538e, rs 0xd327538e1875241b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd327538e1875241b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa64e, rs 0xd327538e1875241b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa64ea71, rs 0xd327538e1875241b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1011a0fa, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1011a0fa, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1011a0fa, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x42e9f854, rs 0x42e9f8548b739b6b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x85d3, rs 0x42e9f8548b739b6b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x85d3f0a, rs 0x42e9f8548b739b6b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x14d0bd4d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x14d0bd4d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x14d0bd4d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x78e4e50c, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf1c9, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf1c9ca1, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x19939b94, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x19939b94, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x19939b94, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff6b6fa3f, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffed6d, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffed6df47, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1d528623, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1d528623, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1d528623, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x73916483, rs 0x73916483ae3e9423, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x73916483ae3e9423, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe722, rs 0x73916483ae3e9423, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe722c90, rs 0x73916483ae3e9423, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x276af70a, rs 0x276af70a0e128561, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x276af70a0e128561, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4ed5, rs 0x276af70a0e128561, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4ed5ee1, rs 0x276af70a0e128561, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3045bf6, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x608, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x608b7e, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x20223f13, rs 0x20223f1308accfa6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x20223f1308accfa6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4044, rs 0x20223f1308accfa6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x40447e2, rs 0x20223f1308accfa6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff83c5574, rs 0xf83c55743976b5f5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf83c55743976b5f5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffff078, rs 0xf83c55743976b5f5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffff078aae, rs 0xf83c55743976b5f5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1f9720f9, rs 0x1f9720f946923c3d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x3f2e, rs 0x1f9720f946923c3d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x3f2e41f, rs 0x1f9720f946923c3d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x620d2850, rs 0x620d28506d2448dd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x620d28506d2448dd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xc41a, rs 0x620d28506d2448dd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xc41a50a, rs 0x620d28506d2448dd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x60a521e9, rs 0x60a521e99ff4a732, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xc14a, rs 0x60a521e99ff4a732, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xc14a43d, rs 0x60a521e99ff4a732, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x5a08f3ab, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xb411, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xb411e75, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc7a59be7, rs 0xc7a59be7800f3d26, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc7a59be7800f3d26, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff8f4b, rs 0xc7a59be7800f3d26, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff8f4b37c, rs 0xc7a59be7800f3d26, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1aecdf29, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x35d9, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x35d9be5, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2b8613a2, rs 0x2b8613a260d19dcd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x570c, rs 0x2b8613a260d19dcd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x570c274, rs 0x2b8613a260d19dcd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2518ac8b, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4a31, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4a31591, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x743e568d, rs 0x743e568d2fcf486b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xe87c, rs 0x743e568d2fcf486b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xe87cad1, rs 0x743e568d2fcf486b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x126f646f, rs 0x126f646f34c31728, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x126f646f34c31728, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x24de, rs 0x126f646f34c31728, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x24dec8d, rs 0x126f646f34c31728, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffaab01961, rs 0xaab0196156fc4d12, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xaab0196156fc4d12, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5560, rs 0xaab0196156fc4d12, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff556032c, rs 0xaab0196156fc4d12, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7535cd33, rs 0x7535cd338595d342, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7535cd338595d342, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xea6b, rs 0x7535cd338595d342, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xea6b9a6, rs 0x7535cd338595d342, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffdfb254da, rs 0xdfb254da422346ec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xdfb254da422346ec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffbf64, rs 0xdfb254da422346ec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffbf64a9b, rs 0xdfb254da422346ec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa86726c9, rs 0xa86726c90081ab2a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa86726c90081ab2a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff50ce, rs 0xa86726c90081ab2a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff50ce4d9, rs 0xa86726c90081ab2a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9bfeffa1, rs 0x9bfeffa1679d7438, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9bfeffa1679d7438, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff37fd, rs 0x9bfeffa1679d7438, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff37fdff4, rs 0x9bfeffa1679d7438, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc7699826, rs 0xc7699826b7dee244, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc7699826b7dee244, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff8ed3, rs 0xc7699826b7dee244, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff8ed3304, rs 0xc7699826b7dee244, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3c07af97, rs 0x3c07af97fba6704a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x780f, rs 0x3c07af97fba6704a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x780f5f2, rs 0x3c07af97fba6704a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x521364dc, rs 0x521364dc04c58bfe, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xa426, rs 0x521364dc04c58bfe, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xa426c9b, rs 0x521364dc04c58bfe, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe0f7bb58, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffc1ef, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffc1ef76b, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe336c60c, rs 0xe336c60cdeeb954d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe336c60cdeeb954d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffc66d, rs 0xe336c60cdeeb954d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffc66d8c1, rs 0xe336c60cdeeb954d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd5b2120c, rs 0xd5b2120c6f52416e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd5b2120c6f52416e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffab64, rs 0xd5b2120c6f52416e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffab64241, rs 0xd5b2120c6f52416e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff85a2d4ff, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff0b45, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff0b45a9f, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff986a2b65, rs 0x986a2b654a4e7e07, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x986a2b654a4e7e07, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff30d4, rs 0x986a2b654a4e7e07, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff30d456c, rs 0x986a2b654a4e7e07, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa974eac4, rs 0xa974eac43a489b55, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa974eac43a489b55, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff52e9, rs 0xa974eac43a489b55, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff52e9d58, rs 0xa974eac43a489b55, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa388c162, rs 0xa388c16272f1f8f5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa388c16272f1f8f5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff4711, rs 0xa388c16272f1f8f5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff471182c, rs 0xa388c16272f1f8f5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe8c11f45, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffd182, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffd1823e8, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffadaa5a76, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5b54, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5b54b4e, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7ab4ce88, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf569, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf5699d1, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5d8a9099, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5d8a9099, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5d8a9099, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb42ad6e6, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff6855, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff6855adc, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x594b8d2e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x594b8d2e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x594b8d2e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x4bf8485a, rs 0x4bf8485ab728922f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x97f0, rs 0x4bf8485ab728922f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x97f090b, rs 0x4bf8485ab728922f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5408abf7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5408abf7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5408abf7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x76a3d60c, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xed47, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xed47ac1, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x50c9b640, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x50c9b640, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x50c9b640, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x31e0c6af, rs 0x31e0c6affdc28eda, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x63c1, rs 0x31e0c6affdc28eda, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x63c18d5, rs 0x31e0c6affdc28eda, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4e8ee645, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4e8ee645, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4e8ee645, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x53606bb4, rs 0x53606bb4bf0c999d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xa6c0, rs 0x53606bb4bf0c999d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xa6c0d76, rs 0x53606bb4bf0c999d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4a4ffbf2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x32fc12c8, rs 0x32fc12c81b7919f0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x65f8, rs 0x32fc12c81b7919f0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x65f8259, rs 0x32fc12c81b7919f0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x470cdd2b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x470cdd2b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x470cdd2b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3ef88384, rs 0x3ef88384c72efcd6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7df1, rs 0x3ef88384c72efcd6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7df1070, rs 0x3ef88384c72efcd6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x43cdc09c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x43cdc09c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x43cdc09c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x38b1c7bb, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7163, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x71638f7, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7b827d21, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7b827d21, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7b827d21, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x15ebf612, rs 0x15ebf6121dca77c9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2bd7, rs 0x15ebf6121dca77c9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2bd7ec2, rs 0x15ebf6121dca77c9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7f436096, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7f436096, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7f436096, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x5eaacdd9, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xbd55, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xbd559bb, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7200464f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7200464f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7200464f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbb8470f9, rs 0xbb8470f981e91117, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbb8470f981e91117, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff7708, rs 0xbb8470f981e91117, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff7708e1f, rs 0xbb8470f981e91117, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x76c15bf8, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x76c15bf8, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x76c15bf8, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x5d42aea, rs 0x5d42aeac6a532e0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xba8, rs 0x5d42aeac6a532e0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xba855d, rs 0x5d42aeac6a532e0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x68860bfd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x68860bfd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x68860bfd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x14abf364, rs 0x14abf36419fb9e63, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2957, rs 0x14abf36419fb9e63, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2957e6c, rs 0x14abf36419fb9e63, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6c47164a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6c47164a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6c47164a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x249d559a, rs 0x249d559aa8d72aac, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x493a, rs 0x249d559aa8d72aac, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x493aab3, rs 0x249d559aa8d72aac, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x61043093, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x61043093, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x61043093, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xcd6764f, rs 0xcd6764f084b30ec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x19ac, rs 0xcd6764f084b30ec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x19acec9, rs 0xcd6764f084b30ec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x65c52d24, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x65c52d24, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x65c52d24, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7f03ac07, rs 0x7f03ac0792468fdf, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfe07, rs 0x7f03ac0792468fdf, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfe07580, rs 0x7f03ac0792468fdf, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x119b4be9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x119b4be9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x119b4be9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7e35ce6d, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfc6b, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfc6b9cd, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x155a565e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x155a565e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x155a565e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x15282859, rs 0x152828591a652711, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x152828591a652711, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2a50, rs 0x152828591a652711, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2a5050b, rs 0x152828591a652711, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x18197087, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x18197087, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x18197087, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9e1c3283, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff3c38, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff3c38650, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1cd86d30, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1cd86d30, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1cd86d30, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8d95c049, rs 0x8d95c049282a0417, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8d95c049282a0417, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff1b2b, rs 0x8d95c049282a0417, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff1b2b809, rs 0x8d95c049282a0417, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x29f3d35, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x29f3d35, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x29f3d35, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff2e7a490, rs 0xf2e7a490978058f3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf2e7a490978058f3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffe5cf, rs 0xf2e7a490978058f3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffe5cf492, rs 0xf2e7a490978058f3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x65e2082, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x65e2082, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x65e2082, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x775b4cca, rs 0x775b4cca0975b1aa, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xeeb6, rs 0x775b4cca0975b1aa, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xeeb6999, rs 0x775b4cca0975b1aa, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xb1d065b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xb1d065b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xb1d065b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xa2b84a6, rs 0xa2b84a635111020, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa2b84a635111020, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x1457, rs 0xa2b84a635111020, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x1457094, rs 0xa2b84a635111020, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0xfdc1bec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0xfdc1bec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0xfdc1bec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x23fa0d3, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x47f, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x47f41a, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3793a651, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3793a651, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3793a651, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa3d991b7, rs 0xa3d991b79941dedd, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa3d991b79941dedd, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff47b3, rs 0xa3d991b79941dedd, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff47b3236, rs 0xa3d991b79941dedd, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3352bbe6, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3352bbe6, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3352bbe6, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x751cb483, rs 0x751cb4835a0d9508, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xea39, rs 0x751cb4835a0d9508, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xea39690, rs 0x751cb4835a0d9508, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3e119d3f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3e119d3f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3e119d3f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff949cad35, rs 0x949cad35625bb2d3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x949cad35625bb2d3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff2939, rs 0x949cad35625bb2d3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff29395a6, rs 0x949cad35625bb2d3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3ad08088, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3ad08088, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3ad08088, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7f567f35, rs 0x7f567f35a6929739, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f567f35a6929739, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfeac, rs 0x7f567f35a6929739, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfeacfe6, rs 0x7f567f35a6929739, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2497d08d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2497d08d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2497d08d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x185b88e0, rs 0x185b88e0db8d7d27, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x30b7, rs 0x185b88e0db8d7d27, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x30b711c, rs 0x185b88e0db8d7d27, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2056cd3a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2056cd3a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2056cd3a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x255a4cd2, rs 0x255a4cd22fd61b91, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x4ab4, rs 0x255a4cd22fd61b91, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x4ab499a, rs 0x255a4cd22fd61b91, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2d15ebe3, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2d15ebe3, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2d15ebe3, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1048d589, rs 0x1048d589a4363f7b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2091, rs 0x1048d589a4363f7b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2091ab1, rs 0x1048d589a4363f7b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x0, rs 0x29d4f654, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x0, rs 0x29d4f654, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x0, rs 0x29d4f654, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x6a6d5708, rs 0x6a6d5708f4605790, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xd4da, rs 0x6a6d5708f4605790, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xd4daae1, rs 0x6a6d5708f4605790, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd58ecbab, rs 0xd58ecbabde35697f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd58ecbabde35697f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffab1d, rs 0xd58ecbabde35697f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffab1d975, rs 0xd58ecbabde35697f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x575548fd, rs 0x575548fd08c0a5f1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xaeaa, rs 0x575548fd08c0a5f1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xaeaa91f, rs 0x575548fd08c0a5f1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff8bb640fb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff176c, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff176c81f, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffbe00d51e, rs 0xbe00d51eabc578cc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xbe00d51eabc578cc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff7c01, rs 0xbe00d51eabc578cc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff7c01aa3, rs 0xbe00d51eabc578cc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x2f7e224a, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x5efc, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x5efc449, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa978f12c, rs 0xa978f12ca22256a7, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa978f12ca22256a7, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff52f1, rs 0xa978f12ca22256a7, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff52f1e25, rs 0xa978f12ca22256a7, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9950a93b, rs 0x9950a93b811ee02f, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9950a93b811ee02f, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff32a1, rs 0x9950a93b811ee02f, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff32a1527, rs 0x9950a93b811ee02f, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffb44eea93, rs 0xb44eea93c6796a0c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xb44eea93c6796a0c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff689d, rs 0xb44eea93c6796a0c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff689dd52, rs 0xb44eea93c6796a0c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffffe71fca0, rs 0xfe71fca06c0eb657, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfe71fca06c0eb657, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xfffffffffffffce3, rs 0xfe71fca06c0eb657, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffce3f94, rs 0xfe71fca06c0eb657, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x4ed6393d, rs 0x4ed6393df818af57, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4ed6393df818af57, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x9dac, rs 0x4ed6393df818af57, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x9dac727, rs 0x4ed6393df818af57, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xfffffffff22e9020, rs 0xf22e90200236770a, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xf22e90200236770a, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffe45d, rs 0xf22e90200236770a, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffe45d204, rs 0xf22e90200236770a, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff81efb6c7, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff03df, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff03df6d8, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffeed8f351, rs 0xeed8f3518102315b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xeed8f3518102315b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffddb1, rs 0xeed8f3518102315b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffddb1e6a, rs 0xeed8f3518102315b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffadafefb9, rs 0xadafefb9995efd5e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xadafefb9995efd5e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5b5f, rs 0xadafefb9995efd5e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5b5fdf7, rs 0xadafefb9995efd5e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x34061933, rs 0x34061933eb253086, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34061933eb253086, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x680c, rs 0x34061933eb253086, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x680c326, rs 0x34061933eb253086, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x1748da26, rs 0x1748da264b4c52bc, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x2e91, rs 0x1748da264b4c52bc, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x2e91b44, rs 0x1748da264b4c52bc, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x34fdfc9a, rs 0x34fdfc9a9302be89, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x69fb, rs 0x34fdfc9a9302be89, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x69fbf93, rs 0x34fdfc9a9302be89, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffd00278c3, rs 0xd00278c3c521d180, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xd00278c3c521d180, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffa004, rs 0xd00278c3c521d180, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffa004f18, rs 0xd00278c3c521d180, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffe90944a4, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffd212, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffffd212894, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x65fd698f, rs 0x65fd698fddef9839, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65fd698fddef9839, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xcbfa, rs 0x65fd698fddef9839, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xcbfad31, rs 0x65fd698fddef9839, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffc49ee3ad, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff893d, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff893dc75, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x7aa941e8, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xf552, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xf55283d, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x372c209e, rs 0x372c209e42f3b58d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x6e58, rs 0x372c209e42f3b58d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x6e58413, rs 0x372c209e42f3b58d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x30f870b7, rs 0x30f870b7e122a83b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x61f0, rs 0x30f870b7e122a83b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x61f0e16, rs 0x30f870b7e122a83b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffff9e02de4b, rs 0x9e02de4b678930ec, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0x9e02de4b678930ec, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff3c05, rs 0x9e02de4b678930ec, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff3c05bc9, rs 0x9e02de4b678930ec, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffcd61a863, rs 0xcd61a8639826631e, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xcd61a8639826631e, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff9ac3, rs 0xcd61a8639826631e, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff9ac350c, rs 0xcd61a8639826631e, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffae87bc89, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff5d0f, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff5d0f791, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x58ec644d, rs 0x58ec644d6481af17, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58ec644d6481af17, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xb1d8, rs 0x58ec644d6481af17, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xb1d8c89, rs 0x58ec644d6481af17, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x680cce5f, rs 0x680cce5fb236b666, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x680cce5fb236b666, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xd019, rs 0x680cce5fb236b666, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xd0199cb, rs 0x680cce5fb236b666, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x3baa9947, rs 0x3baa99471f6d4d75, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0x7755, rs 0x3baa99471f6d4d75, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0x7755328, rs 0x3baa99471f6d4d75, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0x614d9b44, rs 0x614d9b445f12236b, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0x0, rs 0x614d9b445f12236b, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xc29b, rs 0x614d9b445f12236b, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xc29b368, rs 0x614d9b445f12236b, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x0003
+dsra32 $t0, $t1, 0x00 :: rt 0xffffffffa2a6ec66, rs 0xa2a6ec661ba84121, imm 0x0000
+dsra32 $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xa2a6ec661ba84121, imm 0x001f
+dsra32 $a0, $a1, 0x0f :: rt 0xffffffffffff454d, rs 0xa2a6ec661ba84121, imm 0x000f
+dsra32 $s0, $s1, 0x03 :: rt 0xfffffffff454dd8c, rs 0xa2a6ec661ba84121, imm 0x0003
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+dsrav $s0, $s1, $s2 :: rd 0xfd0, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+dsrav $t0, $t1, $t2 :: rd 0x2, rs 0x9823b6e, rt 0xffffffffb8757bda
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffcbb, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffeddd1b5, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x130476dc, rt 0xffffffffa2f33668
+dsrav $s0, $s1, $s2 :: rd 0x856181450c, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dsrav $s0, $s1, $s2 :: rd 0xaaa274c678f0c, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+dsrav $t0, $t1, $t2 :: rd 0x6a1936, rs 0x1a864db2, rt 0xffffffffab710d06
+dsrav $s0, $s1, $s2 :: rd 0x7cc23b0d, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x1e475005, rt 0xffffffffafb010b1
+dsrav $s0, $s1, $s2 :: rd 0x7aa04, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+dsrav $t0, $t1, $t2 :: rd 0x2608e, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffff3, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dsrav $s0, $s1, $s2 :: rd 0x259eed434b0ad, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dsrav $s0, $s1, $s2 :: rd 0x2f3d2, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+dsrav $t0, $t1, $t2 :: rd 0x15a, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dsrav $s0, $s1, $s2 :: rd 0xebcd6a77102, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+dsrav $t0, $t1, $t2 :: rd 0x350c, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dsrav $s0, $s1, $s2 :: rd 0x23, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x31cd86d3, rt 0xffffffff803ac667
+dsrav $s0, $s1, $s2 :: rd 0xfffffffcab25bbfe, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dsrav $s0, $s1, $s2 :: rd 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+dsrav $t0, $t1, $t2 :: rd 0x1c27de, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dsrav $s0, $s1, $s2 :: rd 0xffda81a6178f8c72, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+dsrav $t0, $t1, $t2 :: rd 0x4c11db7, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffff9, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dsrav $s0, $s1, $s2 :: rd 0xc7636459b7f143, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dsrav $s0, $s1, $s2 :: rd 0xd9526f59, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+dsrav $t0, $t1, $t2 :: rd 0x2, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dsrav $s0, $s1, $s2 :: rd 0xfffffff0bc14c633, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+dsrav $t0, $t1, $t2 :: rd 0x5f, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dsrav $s0, $s1, $s2 :: rd 0x2ab59f656, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dsrav $s0, $s1, $s2 :: rd 0xffed0bd7f1607ba8, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x569796c2, rt 0xffffffffe760d676
+dsrav $s0, $s1, $s2 :: rd 0x4b6a1fd828, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+dsrav $t0, $t1, $t2 :: rd 0x292b45ba, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dsrav $s0, $s1, $s2 :: rd 0xfffffff9278a2659, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dsrav $s0, $s1, $s2 :: rd 0x3c2cd9a9cda20, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+dsrav $t0, $t1, $t2 :: rd 0xddb05, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dsrav $s0, $s1, $s2 :: rd 0x2f22, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+dsrav $t0, $t1, $t2 :: rd 0x18e6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dsrav $s0, $s1, $s2 :: rd 0x10f993, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dsrav $s0, $s1, $s2 :: rd 0x74a, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dsrav $s0, $s1, $s2 :: rd 0xfffd0d070db710cd, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+dsrav $t0, $t1, $t2 :: rd 0xfb, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dsrav $s0, $s1, $s2 :: rd 0x738438fa0, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+dsrav $t0, $t1, $t2 :: rd 0x1c27d, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffc74a, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x745e66cd, rt 0xffffffffc5a92679
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffff982, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dsrav $s0, $s1, $s2 :: rd 0x2f39454412d6, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dsrav $s0, $s1, $s2 :: rd 0x4, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dsrav $s0, $s1, $s2 :: rd 0xffffc800816d646b, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffcab04, rs 0xffffffff95609039, rt 0x2497d08d
+dsrav $s0, $s1, $s2 :: rd 0xffffffffff9121ab, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+dsrav $t0, $t1, $t2 :: rd 0xffffffffff8b27c0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffff6, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dsrav $s0, $s1, $s2 :: rd 0x628f2312b32, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dsrav $s0, $s1, $s2 :: rd 0xffc6eecff99a2fb6, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffc332, rs 0xffffffff8664e6e5, rt 0x3793a651
+dsrav $s0, $s1, $s2 :: rd 0xfffffffd404a9091, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffff0eea, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffff7, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dsrav $s0, $s1, $s2 :: rd 0x2c3de85e, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+dsrav $t0, $t1, $t2 :: rd 0xffffffffedea580d, rs 0xffffffffb7a96036, rt 0x65e2082
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffeb9abf, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffb3687d81, rt 0x29f3d35
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffff80e, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dsrav $s0, $s1, $s2 :: rd 0xffffff898ee1ec61, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+dsrav $t0, $t1, $t2 :: rd 0xffffffffff53dc60, rs 0xffffffffa9ee3033, rt 0x18197087
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffb, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffe, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dsrav $s0, $s1, $s2 :: rd 0xffffe9d6dd1307fb, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dsrav $s0, $s1, $s2 :: rd 0x255, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd4326d90, rt 0x65c52d24
+dsrav $s0, $s1, $s2 :: rd 0xffffffff771806bc, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffa1e, rs 0xffffffffd0f37027, rt 0x61043093
+dsrav $s0, $s1, $s2 :: rd 0x33b06, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffff76c15, rs 0xffffffffddb056fe, rt 0x6c47164a
+dsrav $s0, $s1, $s2 :: rd 0x77433, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd9714b49, rt 0x68860bfd
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffd923b32, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dsrav $s0, $s1, $s2 :: rd 0x49fbf6a7, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffff87ee, rs 0xffffffffc3f706fb, rt 0x7200464f
+dsrav $s0, $s1, $s2 :: rd 0x326c86f18f, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffff3a, rs 0xffffffffceb42022, rt 0x7f436096
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffee67a, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffca753d95, rt 0x7b827d21
+dsrav $s0, $s1, $s2 :: rd 0x23f566e6ac1589, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dsrav $s0, $s1, $s2 :: rd 0xd685884e76558c4f, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dsrav $s0, $s1, $s2 :: rd 0x185a358a8d3, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffd301, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffbcd37, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dsrav $s0, $s1, $s2 :: rd 0xe50c85fb, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+dsrav $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dsrav $s0, $s1, $s2 :: rd 0x160c03c0a7, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffff3, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffff152c, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffff6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dsrav $s0, $s1, $s2 :: rd 0xeb7f5fa5aa33, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+dsrav $t0, $t1, $t2 :: rd 0x690ce0e, rs 0x34867077, rt 0xffffffff857130c3
+dsrav $s0, $s1, $s2 :: rd 0xde230867a630f6ad, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x30476dc0, rt 0xffffffff81b02d74
+dsrav $s0, $s1, $s2 :: rd 0x2c0, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffca5482, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+dsrav $t0, $t1, $t2 :: rd 0xe, rs 0x39c556ae, rt 0xffffffff8832161a
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffca, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+dsrav $s0, $s1, $s2 :: rd 0xfffffc0ed7c10023, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dsrav $s0, $s1, $s2 :: rd 0xff18c394b4ae4be5, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffff8b9, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+dsrav $t0, $t1, $t2 :: rd 0xab0481, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dsrav $s0, $s1, $s2 :: rd 0xc033, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dsrav $s0, $s1, $s2 :: rd 0x33bc7ef9dd295, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+dsrav $t0, $t1, $t2 :: rd 0x164f8, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffa, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+dsrav $t0, $t1, $t2 :: rd 0xd8, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dsrav $s0, $s1, $s2 :: rd 0xfffd460e077398d1, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x18aeb13, rt 0xffffffffb07daba7
+dsrav $s0, $s1, $s2 :: rd 0xfe4627f3fe5255fc, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+dsrav $t0, $t1, $t2 :: rd 0x54b, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffcc, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+dsrav $t0, $t1, $t2 :: rd 0x40468, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffe0a519, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dsrav $s0, $s1, $s2 :: rd 0x15d32, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+dsrav $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0x1f2be0f4a203fcd1, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+dsrav $t0, $t1, $t2 :: rd 0x7c56b6b, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dsrav $s0, $s1, $s2 :: rd 0xfffffc55a8131d1f, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+dsrav $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0xffffffffff93e260, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffc3c34, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+dsrav $t0, $t1, $t2 :: rd 0x6f, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dsrav $s0, $s1, $s2 :: rd 0xfffe94b716909cf7, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+dsrav $t0, $t1, $t2 :: rd 0x3108f35a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dsrav $s0, $s1, $s2 :: rd 0x2d41223fb6e152e0, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dsrav $s0, $s1, $s2 :: rd 0x1db227a, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+dsrav $t0, $t1, $t2 :: rd 0xbd3e8, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dsrav $s0, $s1, $s2 :: rd 0xe1b868a97fc6, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffef77, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dsrav $s0, $s1, $s2 :: rd 0xffffffffb17db93d, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+dsrav $t0, $t1, $t2 :: rd 0x14f7, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+dsrav $t0, $t1, $t2 :: rd 0x9b, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dsrav $s0, $s1, $s2 :: rd 0x1fb, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dsrav $s0, $s1, $s2 :: rd 0xffffffffff6f2cc4, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dsrav $s0, $s1, $s2 :: rd 0x7cd4, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+dsrav $t0, $t1, $t2 :: rd 0x10360, rs 0x40d816ba, rt 0xfffffffff12f560e
+dsrav $s0, $s1, $s2 :: rd 0xffffffffc5843770, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffaca5c697, rt 0x1d528623
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffca8ea1a, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffa86, rs 0xffffffffa864db20, rt 0x19939b94
+dsrav $s0, $s1, $s2 :: rd 0x7ad2c4bfd34db, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffd293f, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dsrav $s0, $s1, $s2 :: rd 0x1c28f81090, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffff808f1, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dsrav $s0, $s1, $s2 :: rd 0x79d0734a3, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffbb60ad, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dsrav $s0, $s1, $s2 :: rd 0xfffffffe2fbfa895, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffdb11, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff49, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffb2e29692, rt 0x315d626
+dsrav $s0, $s1, $s2 :: rd 0x3ae, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffff1, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dsrav $s0, $s1, $s2 :: rd 0xff84785280dd301d, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+dsrav $s0, $s1, $s2 :: rd 0x5e71dea87, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+dsrav $s0, $s1, $s2 :: rd 0x13, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+dsrav $t0, $t1, $t2 :: rd 0xffffffffe1fb837d, rs 0xffffffff87ee0df6, rt 0x36194d42
+dsrav $s0, $s1, $s2 :: rd 0x38bae4eeac6, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+dsrav $t0, $t1, $t2 :: rd 0xffffffffff3352bb, rs 0xffffffff99a95df3, rt 0x285e1d47
+dsrav $s0, $s1, $s2 :: rd 0x663d06105583, rs 0x663d061055833287, rt 0xb620660a49732b90
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dsrav $s0, $s1, $s2 :: rd 0xfffffffab7dd0488, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff902b669d, rt 0x21dc2629
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffd, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffe, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dsrav $s0, $s1, $s2 :: rd 0xda, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffc16, rs 0xffffffffe0b41de7, rt 0x51435d53
+dsrav $s0, $s1, $s2 :: rd 0x9ca4bdbd, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe4750050, rt 0x558240e4
+dsrav $s0, $s1, $s2 :: rd 0xfffffffabafa3b32, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe9362689, rt 0x58c1663d
+dsrav $s0, $s1, $s2 :: rd 0x1fa32a9f6569ba6, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffb7dce, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dsrav $s0, $s1, $s2 :: rd 0xba6ae5f4fbb7c, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffe760, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dsrav $s0, $s1, $s2 :: rd 0x6d4deff478193, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff771768c, rt 0x46863638
+dsrav $s0, $s1, $s2 :: rd 0xff177271c62abd93, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffffa325055, rt 0x4bc510e1
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffe96f92e, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffb, rs 0xfffffffffef34de2, rt 0x4f040d56
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffbc65b, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff51, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffc, rs 0xffffffffc27dede8, rt 0x738aad5c
+dsrav $s0, $s1, $s2 :: rd 0xffc295ade57c6fe6, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffe79f659, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dsrav $s0, $s1, $s2 :: rd 0x8f12136b, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffcbffd686, rt 0x7a089632
+dsrav $s0, $s1, $s2 :: rd 0xffefecc7321e15cd, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd5b88683, rt 0x644fc637
+dsrav $s0, $s1, $s2 :: rd 0xffdb32f6af3fc4f4, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+dsrav $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+dsrav $s0, $s1, $s2 :: rd 0xaed4a3a5b, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffee, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffff, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dsrav $s0, $s1, $s2 :: rd 0x447af9fc572c3, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+dsrav $t0, $t1, $t2 :: rd 0x1a, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dsrav $s0, $s1, $s2 :: rd 0x841669ea66, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dsrav $s0, $s1, $s2 :: rd 0xfff897c8c8ddd46b, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x608edb80, rt 0xffffffffd1799b34
+dsrav $s0, $s1, $s2 :: rd 0x7a38744, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+dsrav $t0, $t1, $t2 :: rd 0xc89f8c6, rs 0x644fc637, rt 0xffffffffd5b88683
+dsrav $s0, $s1, $s2 :: rd 0x144bca6c, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+dsrav $t0, $t1, $t2 :: rd 0x1e82258, rs 0x7a089632, rt 0xffffffffcbffd686
+dsrav $s0, $s1, $s2 :: rd 0xffffd5bdab8a7b5a, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffc53114, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x738aad5c, rt 0xffffffffc27dede8
+dsrav $s0, $s1, $s2 :: rd 0x2c3c3f, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dsrav $s0, $s1, $s2 :: rd 0x1ffd879e37, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x4f040d56, rt 0xfffffffffef34de2
+dsrav $s0, $s1, $s2 :: rd 0x114cd87, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+dsrav $t0, $t1, $t2 :: rd 0x25e, rs 0x4bc510e1, rt 0xfffffffffa325055
+dsrav $s0, $s1, $s2 :: rd 0x1f0ec119cf431b8, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+dsrav $t0, $t1, $t2 :: rd 0x46863, rs 0x46863638, rt 0xfffffffff771768c
+dsrav $s0, $s1, $s2 :: rd 0x164e17c1e, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff49, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffcbd346, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+dsrav $t0, $t1, $t2 :: rd 0x2c60b3, rs 0x58c1663d, rt 0xffffffffe9362689
+dsrav $s0, $s1, $s2 :: rd 0xfffffffff17d02c8, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+dsrav $t0, $t1, $t2 :: rd 0x5582, rs 0x558240e4, rt 0xffffffffe4750050
+dsrav $s0, $s1, $s2 :: rd 0xf9464b2f, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x51435d53, rt 0xffffffffe0b41de7
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffe, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dsrav $s0, $s1, $s2 :: rd 0x12ba, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+dsrav $t0, $t1, $t2 :: rd 0x1, rs 0x21dc2629, rt 0xffffffff902b669d
+dsrav $s0, $s1, $s2 :: rd 0xfffffff8a65c31c3, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+dsrav $t0, $t1, $t2 :: rd 0x2c9f00f, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dsrav $s0, $s1, $s2 :: rd 0xfff67fbd8529e50f, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x285e1d47, rt 0xffffffff99a95df3
+dsrav $s0, $s1, $s2 :: rd 0xff6c40cc1492e657, rs 0xb620660a49732b90, rt 0x663d061055833287
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x36194d42, rt 0xffffffff87ee0df6
+dsrav $s0, $s1, $s2 :: rd 0xff993138f16cfde9, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+dsrav $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffef016, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+dsrav $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0x2747, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dsrav $s0, $s1, $s2 :: rd 0x3a1a48d341438, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+dsrav $t0, $t1, $t2 :: rd 0xc5, rs 0x315d626, rt 0xffffffffb2e29692
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffc67f, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff73, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dsrav $s0, $s1, $s2 :: rd 0x2eaa5aa705, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+dsrav $t0, $t1, $t2 :: rd 0x1cade, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffa64ea71, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+dsrav $t0, $t1, $t2 :: rd 0x4046, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dsrav $s0, $s1, $s2 :: rd 0x10ba7e152, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dsrav $s0, $s1, $s2 :: rd 0x1e3939433b3, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x19939b94, rt 0xffffffffa864db20
+dsrav $s0, $s1, $s2 :: rd 0xfffffffed6df47f9, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+dsrav $t0, $t1, $t2 :: rd 0x3a, rs 0x1d528623, rt 0xffffffffaca5c697
+dsrav $s0, $s1, $s2 :: rd 0x39c8b24, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff12f560e, rt 0x40d816ba
+dsrav $s0, $s1, $s2 :: rd 0x276af70a, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffaf72, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dsrav $s0, $s1, $s2 :: rd 0xc116fdad79d2d, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffff8a, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dsrav $s0, $s1, $s2 :: rd 0x808, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dsrav $s0, $s1, $s2 :: rd 0xfffffff078aae872, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dsrav $s0, $s1, $s2 :: rd 0x3, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffff375, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dsrav $s0, $s1, $s2 :: rd 0x1, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffeba91b, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dsrav $s0, $s1, $s2 :: rd 0xc14a43d33, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dsrav $s0, $s1, $s2 :: rd 0xb411e756b8d0, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+dsrav $t0, $t1, $t2 :: rd 0xfffffffff5c9eeed, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffc7a59b, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dsrav $s0, $s1, $s2 :: rd 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dsrav $s0, $s1, $s2 :: rd 0xae184, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffb, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dsrav $s0, $s1, $s2 :: rd 0x4a3159, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dsrav $s0, $s1, $s2 :: rd 0xe87, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+dsrav $s0, $s1, $s2 :: rd 0x126f646f34c3, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dsrav $s0, $s1, $s2 :: rd 0xffffff556032c2ad, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+dsrav $s0, $s1, $s2 :: rd 0x7535cd338595d34, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffef4fa3, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffefd92a6, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dsrav $s0, $s1, $s2 :: rd 0xffff50ce4d920103, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dsrav $s0, $s1, $s2 :: rd 0xffffffffff9bfeff, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffff60f, rs 0xffffffffb07daba7, rt 0x18aeb13
+dsrav $s0, $s1, $s2 :: rd 0xc7699826b7dee244, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffeb8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dsrav $s0, $s1, $s2 :: rd 0x780f5f2ff74, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dsrav $s0, $s1, $s2 :: rd 0x1484d937013162, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dsrav $s0, $s1, $s2 :: rd 0xffffffffc1ef76b1, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffff46f3, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dsrav $s0, $s1, $s2 :: rd 0xffffe336c60cdeeb, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffab64, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffcffbbeb, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffff, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffff9, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffff986a2, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff9675461f, rt 0x278206ab
+dsrav $s0, $s1, $s2 :: rd 0xfffffff52e9d5887, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff8832161a, rt 0x39c556ae
+dsrav $s0, $s1, $s2 :: rd 0xfffffffe8e230589, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffc6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffd182, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+dsrav $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+dsrav $s0, $s1, $s2 :: rd 0xffffffffadaa5a76, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff857130c3, rt 0x34867077
+dsrav $s0, $s1, $s2 :: rd 0x3d5a6, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dsrav $s0, $s1, $s2 :: rd 0xffffffffed0ab5b9, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+dsrav $t0, $t1, $t2 :: rd 0x16, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dsrav $s0, $s1, $s2 :: rd 0x4bf8485ab72892, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+dsrav $t0, $t1, $t2 :: rd 0xa81157e, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dsrav $s0, $s1, $s2 :: rd 0x3b51e, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dsrav $s0, $s1, $s2 :: rd 0xc, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dsrav $s0, $s1, $s2 :: rd 0xa6c0d7697, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+dsrav $t0, $t1, $t2 :: rd 0x1293fef, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dsrav $s0, $s1, $s2 :: rd 0x197e09640dbc8cf, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dsrav $s0, $s1, $s2 :: rd 0x7df107098e5df9, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dsrav $s0, $s1, $s2 :: rd 0x71638f76d454, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+dsrav $t0, $t1, $t2 :: rd 0x3dc, rs 0x7b827d21, rt 0xffffffffca753d95
+dsrav $s0, $s1, $s2 :: rd 0x0, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x7f436096, rt 0xffffffffceb42022
+dsrav $s0, $s1, $s2 :: rd 0xbd559bb3fb228f, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x7200464f, rt 0xffffffffc3f706fb
+dsrav $s0, $s1, $s2 :: rd 0xfffffffeee11c3e6, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+dsrav $t0, $t1, $t2 :: rd 0x76c15, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dsrav $s0, $s1, $s2 :: rd 0xba85, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+dsrav $t0, $t1, $t2 :: rd 0x344305, rs 0x68860bfd, rt 0xffffffffd9714b49
+dsrav $s0, $s1, $s2 :: rd 0x14abf36, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x6c47164a, rt 0xffffffffddb056fe
+dsrav $s0, $s1, $s2 :: rd 0x124eaacd546b9556, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x61043093, rt 0xffffffffd0f37027
+dsrav $s0, $s1, $s2 :: rd 0x66b, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+dsrav $t0, $t1, $t2 :: rd 0x65c5, rs 0x65c52d24, rt 0xffffffffd4326d90
+dsrav $s0, $s1, $s2 :: rd 0x7f, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dsrav $s0, $s1, $s2 :: rd 0x1f8d739b55b99, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dsrav $s0, $s1, $s2 :: rd 0x2a505, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x18197087, rt 0xffffffffa9ee3033
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff3c, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+dsrav $t0, $t1, $t2 :: rd 0x1cd86d3, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dsrav $s0, $s1, $s2 :: rd 0xffffffe36570124a, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+dsrav $t0, $t1, $t2 :: rd 0x14f9e9a, rs 0x29f3d35, rt 0xffffffffb3687d81
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffe5cf492, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x65e2082, rt 0xffffffffb7a96036
+dsrav $s0, $s1, $s2 :: rd 0xeeb699, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dsrav $s0, $s1, $s2 :: rd 0x1457094c6a22204, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+dsrav $t0, $t1, $t2 :: rd 0xf, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dsrav $s0, $s1, $s2 :: rd 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x3793a651, rt 0xffffffff8664e6e5
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffa3d9, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+dsrav $t0, $t1, $t2 :: rd 0xcd4, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dsrav $s0, $s1, $s2 :: rd 0xea3, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+dsrav $t0, $t1, $t2 :: rd 0x7c233, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffff949ca, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dsrav $s0, $s1, $s2 :: rd 0x7f567f35a69, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x2497d08d, rt 0xffffffff95609039
+dsrav $s0, $s1, $s2 :: rd 0x30, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+dsrav $t0, $t1, $t2 :: rd 0x815b, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dsrav $s0, $s1, $s2 :: rd 0x4ab4, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+dsrav $t0, $t1, $t2 :: rd 0x5a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dsrav $s0, $s1, $s2 :: rd 0x1048d589a43, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+dsrav $t0, $t1, $t2 :: rd 0x0, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dsrav $s0, $s1, $s2 :: rd 0xd4daae, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffe2d49, rs 0xffffffffc5a92679, rt 0x745e66cd
+dsrav $s0, $s1, $s2 :: rd 0xffffab1d9757bc6a, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dsrav $s0, $s1, $s2 :: rd 0x15d5523f42302, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dsrav $s0, $s1, $s2 :: rd 0xf8bb640fb8ed98dd, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffc8e, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffef8, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffeb56, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dsrav $s0, $s1, $s2 :: rd 0xbdf88928705, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffd4bc7, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffe, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffdbee76, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffed13baa, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffff, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+dsrav $t0, $t1, $t2 :: rd 0xfffffffff9d8359d, rs 0xffffffffe760d676, rt 0x569796c2
+dsrav $s0, $s1, $s2 :: rd 0x9dac727bf0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffd, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffe, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dsrav $s0, $s1, $s2 :: rd 0xfc0f7db63d7e8622, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dsrav $s0, $s1, $s2 :: rd 0xfffffffddb1e6a30, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffd6d7, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffff24f0c, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dsrav $s0, $s1, $s2 :: rd 0xd0186, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dsrav $s0, $s1, $s2 :: rd 0x2e91b44c96, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dsrav $s0, $s1, $s2 :: rd 0x69fbf93526057d, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffe35e78, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffffff, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffff007, rs 0xffffffff803ac667, rt 0x31cd86d3
+dsrav $s0, $s1, $s2 :: rd 0xffffd212894983a6, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dsrav $s0, $s1, $s2 :: rd 0x65fd698fddef9839, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dsrav $s0, $s1, $s2 :: rd 0xfffff893dc75b036, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffe79, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dsrav $s0, $s1, $s2 :: rd 0x3d54a0f45, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffff267d, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dsrav $s0, $s1, $s2 :: rd 0x1b96104f2179d, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dsrav $s0, $s1, $s2 :: rd 0x30f870b7, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffd7d8085, rs 0xffffffffafb010b1, rt 0x1e475005
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffffff3c, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffab710d06, rt 0x1a864db2
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffffffe, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dsrav $s0, $s1, $s2 :: rd 0xfffffffffffd743d, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+dsrav $t0, $t1, $t2 :: rd 0xfffffffffffffffa, rs 0xffffffffa2f33668, rt 0x130476dc
+dsrav $s0, $s1, $s2 :: rd 0x163b191359206bc5, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffde, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dsrav $s0, $s1, $s2 :: rd 0xd, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+dsrav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffb8757bda, rt 0x9823b6e
+dsrav $s0, $s1, $s2 :: rd 0x775, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+dsrav $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0xc29b3688be2, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+dsrav $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+dsrav $s0, $s1, $s2 :: rd 0xffffffffffe8a9bb, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x257, rs 0x12bd6aa, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x257ad5, rs 0x12bd6aa, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7e876382d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xfd0ec7, rs 0x7e876382d2ab13, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfd0ec705a5, rs 0x7e876382d2ab13, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfd0ec705a5562, rs 0x7e876382d2ab13, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1304, rs 0x9823b6e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x130476d, rs 0x9823b6e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x976d6e9ac31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x12edadd35, rs 0x976d6e9ac31510f3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x12edadd35862a, rs 0x976d6e9ac31510f3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x12edadd35862a21e, rs 0x976d6e9ac31510f3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a86, rs 0xd4326d9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a864db, rs 0xd4326d9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb7746d775ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x16ee8daee, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x16ee8daeeb5ad, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x16ee8daeeb5ad4bf, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2608, rs 0x130476dc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2608edb, rs 0x130476dc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x42b0c0a28677b502, rs 0x42b0c0a28677b502, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x85618145, rs 0x42b0c0a28677b502, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x856181450cef, rs 0x42b0c0a28677b502, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x856181450cef6a0, rs 0x42b0c0a28677b502, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2f8a, rs 0x17c56b6b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2f8ad6d, rs 0x17c56b6b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2aa89d319e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x55513a63, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x55513a633c78, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x55513a633c78615, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x350c, rs 0x1a864db2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x350c9b6, rs 0x1a864db2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1f308ec377fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x3e611d86, rs 0x1f308ec377fb413d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3e611d86eff6, rs 0x1f308ec377fb413d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3e611d86eff6827, rs 0x1f308ec377fb413d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3c8e, rs 0x1e475005, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3c8ea00, rs 0x1e475005, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7aa04213c760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf5408427, rs 0x7aa04213c760e4f7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf54084278ec1, rs 0x7aa04213c760e4f7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf54084278ec1c9e, rs 0x7aa04213c760e4f7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608edb8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4c11db7, rs 0x2608edb8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9e705cc51ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x13ce0b98a, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x13ce0b98a35b1, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x13ce0b98a35b1b94, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4593, rs 0x22c9f00f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4593e01, rs 0x22c9f00f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4b3dda869615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x967bb50d, rs 0x4b3dda869615a60d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x967bb50d2c2b, rs 0x4b3dda869615a60d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x967bb50d2c2b4c1, rs 0x4b3dda869615a60d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5f15, rs 0x2f8ad6d6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5f15ada, rs 0x2f8ad6d6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5e7a4dd6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xbcf49ba, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xbcf49bac6a7, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xbcf49bac6a7a83, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5697, rs 0x2b4bcb61, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x569796c, rs 0x2b4bcb61, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3af35a9dc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x75e6b53b, rs 0x3af35a9dc40bd413, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x75e6b53b8817, rs 0x3af35a9dc40bd413, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x75e6b53b8817a82, rs 0x3af35a9dc40bd413, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6a19, rs 0x350c9b64, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6a1936c, rs 0x350c9b64, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x47f505569a08a180, rs 0x47f505569a08a180, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x8fea0aad, rs 0x47f505569a08a180, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8fea0aad3411, rs 0x47f505569a08a180, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8fea0aad3411430, rs 0x47f505569a08a180, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x639b, rs 0x31cd86d3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x639b0da, rs 0x31cd86d3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9564b77fd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x12ac96eff, rs 0x9564b77fd6d2040f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x12ac96effada4, rs 0x9564b77fd6d2040f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x12ac96effada4081, rs 0x9564b77fd6d2040f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x791d, rs 0x3c8ea00a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x791d401, rs 0x3c8ea00a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x19d7904f3, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x19d7904f3658e, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x19d7904f3658ed77, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x709f, rs 0x384fbdbd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x709f7b7, rs 0x384fbdbd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb5034c2f1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x16a06985e, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x16a06985e3e31, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x16a06985e3e31c98, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x9823, rs 0x4c11db70, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x9823b6e, rs 0x4c11db70, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x94ff52fc81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x129fea5f9, rs 0x94ff52fc81afa797, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x129fea5f9035f, rs 0x94ff52fc81afa797, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x129fea5f9035f4f2, rs 0x94ff52fc81afa797, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x91a1, rs 0x48d0c6c7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x91a18d8, rs 0x48d0c6c7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x31d8d9166dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x63b1b22c, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x63b1b22cdbf8, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x63b1b22cdbf8a1d, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8b27, rs 0x4593e01e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8b27c03, rs 0x4593e01e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x36549bd678e895b1, rs 0x36549bd678e895b1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6ca937ac, rs 0x36549bd678e895b1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6ca937acf1d1, rs 0x36549bd678e895b1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6ca937acf1d12b6, rs 0x36549bd678e895b1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x82a5, rs 0x4152fda9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x82a5fb5, rs 0x4152fda9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x85e0a6319b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10bc14c63, rs 0x85e0a6319b63259b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10bc14c6336c6, rs 0x85e0a6319b63259b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10bc14c6336c64b3, rs 0x85e0a6319b63259b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xbe2b, rs 0x5f15adac, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xbe2b5b5, rs 0x5f15adac, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x556b3ecaccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xaad67d95, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xaad67d9599e2, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xaad67d9599e2f58, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb7a9, rs 0x5bd4b01b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb7a9603, rs 0x5bd4b01b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb42f5fc581eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1685ebf8b, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1685ebf8b03dd, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1685ebf8b03dd41f, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xad2f, rs 0x569796c2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xad2f2d8, rs 0x569796c2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x25b50fec14682d97, rs 0x25b50fec14682d97, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4b6a1fd8, rs 0x25b50fec14682d97, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4b6a1fd828d0, rs 0x25b50fec14682d97, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4b6a1fd828d05b2, rs 0x25b50fec14682d97, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa4ad, rs 0x52568b75, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa4ad16e, rs 0x52568b75, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfc93c5132cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f9278a26, rs 0xfc93c5132cfb087a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f9278a2659f6, rs 0xfc93c5132cfb087a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f9278a2659f610f, rs 0xfc93c5132cfb087a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd432, rs 0x6a1936c8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd4326d9, rs 0x6a1936c8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3c2cd9a9cda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7859b353, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7859b3539b44, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7859b3539b440ec, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xddb0, rs 0x6ed82b7f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xddb056f, rs 0x6ed82b7f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1791722a7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2f22e454, rs 0x1791722a7d72da3e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2f22e454fae5, rs 0x1791722a7d72da3e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2f22e454fae5b47, rs 0x1791722a7d72da3e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc736, rs 0x639b0da6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc7361b4, rs 0x639b0da6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x87cc9d193ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10f993a3, rs 0x87cc9d193ce24ad, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10f993a3279c, rs 0x87cc9d193ce24ad, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10f993a3279c495, rs 0x87cc9d193ce24ad, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xceb4, rs 0x675a1011, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xceb4202, rs 0x675a1011, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1d2a757038984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x3a54eae0, rs 0x1d2a757038984ed2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3a54eae07130, rs 0x1d2a757038984ed2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3a54eae071309da, rs 0x1d2a757038984ed2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf23a, rs 0x791d4014, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf23a802, rs 0x791d4014, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd0d070db710cd036, rs 0xd0d070db710cd036, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a1a0e1b6, rs 0xd0d070db710cd036, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a1a0e1b6e219, rs 0xd0d070db710cd036, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a1a0e1b6e219a06, rs 0xd0d070db710cd036, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfbb8, rs 0x7ddc5da3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfbb8bb4, rs 0x7ddc5da3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x39c21c7d03415604, rs 0x39c21c7d03415604, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x738438fa, rs 0x39c21c7d03415604, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x738438fa0682, rs 0x39c21c7d03415604, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x738438fa0682ac0, rs 0x39c21c7d03415604, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe13e, rs 0x709f7b7a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe13ef6f, rs 0x709f7b7a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8e94b7af8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x11d296f5f, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x11d296f5f1d98, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x11d296f5f1d98639, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe8bc, rs 0x745e66cd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe8bccd9, rs 0x745e66cd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x24eb6a8d1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x49d6d51a, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x49d6d51a39ce, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x49d6d51a39cece9, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9823b6e0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3047, rs 0xffffffff9823b6e0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff30476dc, rs 0xffffffff9823b6e0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2f39454412d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x5e728a88, rs 0x2f39454412d6e4a7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5e728a8825ad, rs 0x2f39454412d6e4a7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5e728a8825adc94, rs 0x2f39454412d6e4a7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9ce2ab57, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff39c5, rs 0xffffffff9ce2ab57, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff39c556a, rs 0xffffffff9ce2ab57, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2608c2b756da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4c11856e, rs 0x2608c2b756da4c54, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4c11856eadb4, rs 0x2608c2b756da4c54, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4c11856eadb498a, rs 0x2608c2b756da4c54, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff91a18d8e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2343, rs 0xffffffff91a18d8e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff23431b1, rs 0xffffffff91a18d8e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x900102dac8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1200205b5, rs 0x900102dac8d7252f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1200205b591ae, rs 0x900102dac8d7252f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1200205b591ae4a5, rs 0x900102dac8d7252f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff95609039, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2ac1, rs 0xffffffff95609039, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff2ac1207, rs 0xffffffff95609039, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc890d5f1f2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x19121abe3, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x19121abe3e5df, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x19121abe3e5df49e, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8b27c03c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff164f, rs 0xffffffff8b27c03c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff164f807, rs 0xffffffff8b27c03c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xed5005cbc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1daa00b97, rs 0xed5005cbc8b0a214, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1daa00b979161, rs 0xed5005cbc8b0a214, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1daa00b979161442, rs 0xed5005cbc8b0a214, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff1fcd, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff1fcdbb1, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x314791895991136c, rs 0x314791895991136c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x628f2312, rs 0x314791895991136c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x628f2312b322, rs 0x314791895991136c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x628f2312b32226d, rs 0x314791895991136c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff82a5fb52, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff054b, rs 0xffffffff82a5fb52, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff054bf6a, rs 0xffffffff82a5fb52, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc6eecff99a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x18ddd9ff3, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x18ddd9ff3345f, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x18ddd9ff3345f6de, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8664e6e5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff0cc9, rs 0xffffffff8664e6e5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff0cc9cdc, rs 0xffffffff8664e6e5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa809521238895270, rs 0xa809521238895270, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15012a424, rs 0xa809521238895270, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15012a4247112, rs 0xa809521238895270, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15012a4247112a4e, rs 0xa809521238895270, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbe2b5b58, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff7c56, rs 0xffffffffbe2b5b58, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff7c56b6b, rs 0xffffffffbe2b5b58, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x87750a04ad765040, rs 0x87750a04ad765040, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10eea1409, rs 0x87750a04ad765040, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10eea14095aec, rs 0x87750a04ad765040, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10eea14095aeca08, rs 0x87750a04ad765040, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbaea46ef, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff75d4, rs 0xffffffffbaea46ef, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff75d48dd, rs 0xffffffffbaea46ef, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2c3de85e84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x587bd0bd, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x587bd0bd0976, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x587bd0bd0976b50, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb7a96036, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff6f52, rs 0xffffffffb7a96036, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff6f52c06, rs 0xffffffffb7a96036, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xae6aff8fc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15cd5ff1f, rs 0xae6aff8fc506aa67, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15cd5ff1f8a0d, rs 0xae6aff8fc506aa67, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15cd5ff1f8a0d54c, rs 0xae6aff8fc506aa67, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb3687d81, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff66d0, rs 0xffffffffb3687d81, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff66d0fb0, rs 0xffffffffb3687d81, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc07112dd60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x180e225ba, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x180e225bac1da, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x180e225bac1dabdc, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffad2f2d84, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff5a5e, rs 0xffffffffad2f2d84, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff5a5e5b0, rs 0xffffffffad2f2d84, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc4c770f630dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1898ee1ec, rs 0xc4c770f630dcca5a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1898ee1ec61b9, rs 0xc4c770f630dcca5a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1898ee1ec61b994b, rs 0xc4c770f630dcca5a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa9ee3033, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff53dc, rs 0xffffffffa9ee3033, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff53dc606, rs 0xffffffffa9ee3033, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xdfec2b2383cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1bfd85647, rs 0xdfec2b2383cd5277, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1bfd85647079a, rs 0xdfec2b2383cd5277, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1bfd85647079aa4e, rs 0xdfec2b2383cd5277, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa4ad16ea, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff495a, rs 0xffffffffa4ad16ea, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff495a2dd, rs 0xffffffffa4ad16ea, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd3adba260ff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a75b744c, rs 0xd3adba260ff7d96b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a75b744c1fef, rs 0xd3adba260ff7d96b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a75b744c1fefb2d, rs 0xd3adba260ff7d96b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa06c0b5d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff40d8, rs 0xffffffffa06c0b5d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff40d816b, rs 0xffffffffa06c0b5d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4ab4aa798418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x956954f3, rs 0x4ab4aa798418c00e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x956954f30831, rs 0x4ab4aa798418c00e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x956954f30831801, rs 0x4ab4aa798418c00e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd4326d90, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffa864, rs 0xffffffffd4326d90, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffa864db2, rs 0xffffffffd4326d90, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbb8c035e0de0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1771806bc, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1771806bc1bc1, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1771806bc1bc1e17, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd0f37027, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffa1e6, rs 0xffffffffd0f37027, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffa1e6e04, rs 0xffffffffd0f37027, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x33b06f54a97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6760dea9, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6760dea952ff, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6760dea952ffb9e, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffddb056fe, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffbb60, rs 0xffffffffddb056fe, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffbb60adf, rs 0xffffffffddb056fe, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x77433f373fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xee867e6e, rs 0x77433f373fd1c081, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xee867e6e7fa3, rs 0x77433f373fd1c081, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xee867e6e7fa3810, rs 0x77433f373fd1c081, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd9714b49, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffb2e2, rs 0xffffffffd9714b49, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffb2e2969, rs 0xffffffffd9714b49, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xec91d993c92195e4, rs 0xec91d993c92195e4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1d923b327, rs 0xec91d993c92195e4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1d923b3279243, rs 0xec91d993c92195e4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1d923b32792432bc, rs 0xec91d993c92195e4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc7361b4c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff8e6c, rs 0xffffffffc7361b4c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff8e6c369, rs 0xffffffffc7361b4c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x49fbf6a795b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x93f7ed4f, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x93f7ed4f2b63, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x93f7ed4f2b634b5, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc3f706fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff87ee, rs 0xffffffffc3f706fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff87ee0df, rs 0xffffffffc3f706fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x19364378c7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x326c86f1, rs 0x19364378c7ce8d1e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x326c86f18f9d, rs 0x19364378c7ce8d1e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x326c86f18f9d1a3, rs 0x19364378c7ce8d1e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffceb42022, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff9d68, rs 0xffffffffceb42022, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff9d68404, rs 0xffffffffceb42022, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb99e8def2f384907, rs 0xb99e8def2f384907, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1733d1bde, rs 0xb99e8def2f384907, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1733d1bde5e70, rs 0xb99e8def2f384907, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1733d1bde5e70920, rs 0xb99e8def2f384907, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffca753d95, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff94ea, rs 0xffffffffca753d95, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff94ea7b2, rs 0xffffffffca753d95, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x47eacdcd582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x8fd59b9a, rs 0x47eacdcd582b12fe, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8fd59b9ab056, rs 0x47eacdcd582b12fe, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8fd59b9ab05625f, rs 0x47eacdcd582b12fe, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff23a8028, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffe475, rs 0xfffffffff23a8028, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffe475005, rs 0xfffffffff23a8028, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd685884e76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ad0b109c, rs 0xd685884e76558c4f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ad0b109cecab, rs 0xd685884e76558c4f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ad0b109cecab189, rs 0xd685884e76558c4f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffedf7, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffedf73b3, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6168d62a34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xc2d1ac54, rs 0x6168d62a34c195c7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc2d1ac546983, rs 0x6168d62a34c195c7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc2d1ac5469832b8, rs 0x6168d62a34c195c7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffffbb8bb46, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffff771, rs 0xfffffffffbb8bb46, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffff771768, rs 0xfffffffffbb8bb46, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd30169894df47405, rs 0xd30169894df47405, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a602d312, rs 0xd30169894df47405, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a602d3129be8, rs 0xd30169894df47405, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a602d3129be8e80, rs 0xd30169894df47405, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffff79a6f1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffffef3, rs 0xffffffffff79a6f1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffffef34de, rs 0xffffffffff79a6f1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1ca190bf6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x3943217e, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3943217ed976, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3943217ed9760db, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe13ef6f4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffc27d, rs 0xffffffffe13ef6f4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffc27dede, rs 0xffffffffe13ef6f4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x58300f029cae393a, rs 0x58300f029cae393a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xb0601e05, rs 0x58300f029cae393a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb0601e05395c, rs 0x58300f029cae393a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb0601e05395c727, rs 0x58300f029cae393a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe5ffeb43, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffcbff, rs 0xffffffffe5ffeb43, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffcbffd68, rs 0xffffffffe5ffeb43, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9a995fdbdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x13532bfb7, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x13532bfb7b8fd, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x13532bfb7b8fd785, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe8bccd9a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffd179, rs 0xffffffffe8bccd9a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffd1799b3, rs 0xffffffffe8bccd9a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8a96047be3405b48, rs 0x8a96047be3405b48, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1152c08f7, rs 0x8a96047be3405b48, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1152c08f7c680, rs 0x8a96047be3405b48, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1152c08f7c680b69, rs 0x8a96047be3405b48, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffec7dd02d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffd8fb, rs 0xffffffffec7dd02d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffd8fba05, rs 0xffffffffec7dd02d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x75bfafd2d519d322, rs 0x75bfafd2d519d322, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xeb7f5fa5, rs 0x75bfafd2d519d322, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xeb7f5fa5aa33, rs 0x75bfafd2d519d322, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xeb7f5fa5aa33a64, rs 0x75bfafd2d519d322, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x690c, rs 0x34867077, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x690ce0e, rs 0x34867077, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xde230867a630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1bc4610cf, rs 0xde230867a630f6ad, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1bc4610cf4c61, rs 0xde230867a630f6ad, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1bc4610cf4c61ed5, rs 0xde230867a630f6ad, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x608e, rs 0x30476dc0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x608edb8, rs 0x30476dc0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2c0a0cf256103260, rs 0x2c0a0cf256103260, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x581419e4, rs 0x2c0a0cf256103260, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x581419e4ac20, rs 0x2c0a0cf256103260, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x581419e4ac2064c, rs 0x2c0a0cf256103260, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7a08, rs 0x3d044b19, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7a08963, rs 0x3d044b19, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x94a90544249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x129520a88, rs 0x94a90544249b18ef, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x129520a884936, rs 0x94a90544249b18ef, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x129520a88493631d, rs 0x94a90544249b18ef, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x738a, rs 0x39c556ae, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x738aad5, rs 0x39c556ae, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf9519fb55b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f2a33f6a, rs 0xf9519fb55b56fcde, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f2a33f6ab6ad, rs 0xf9519fb55b56fcde, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f2a33f6ab6adf9b, rs 0xf9519fb55b56fcde, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4f04, rs 0x278206ab, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4f040d5, rs 0x278206ab, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x81daf8200468319b, rs 0x81daf8200468319b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x103b5f040, rs 0x81daf8200468319b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x103b5f04008d0, rs 0x81daf8200468319b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x103b5f04008d0633, rs 0x81daf8200468319b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4686, rs 0x23431b1c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4686363, rs 0x23431b1c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8c61ca5a5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x118c394b4, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x118c394b4ae4b, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x118c394b4ae4be5d, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5c00, rs 0x2e003dc5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5c007b8, rs 0x2e003dc5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8b95a6ddc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1172b4dbb, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1172b4dbb84bb, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1172b4dbb84bb917, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5582, rs 0x2ac12072, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x558240e, rs 0x2ac12072, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x300ce751dac6162f, rs 0x300ce751dac6162f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6019cea3, rs 0x300ce751dac6162f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6019cea3b58c, rs 0x300ce751dac6162f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6019cea3b58c2c5, rs 0x300ce751dac6162f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x251d, rs 0x128e9dcf, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x251d3b9, rs 0x128e9dcf, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6778fdf3ba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xcef1fbe7, rs 0x6778fdf3ba52a850, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcef1fbe774a5, rs 0x6778fdf3ba52a850, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcef1fbe774a550a, rs 0x6778fdf3ba52a850, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2c9f, rs 0x164f8078, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2c9f00f, rs 0x164f8078, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xad00b1f7da78479f, rs 0xad00b1f7da78479f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15a0163ef, rs 0xad00b1f7da78479f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15a0163efb4f0, rs 0xad00b1f7da78479f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15a0163efb4f08f3, rs 0xad00b1f7da78479f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3619, rs 0x1b0ca6a1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x36194d4, rs 0x1b0ca6a1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8d44168a6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x11a882d1, rs 0x8d44168a6b6d98a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x11a882d14d6d, rs 0x8d44168a6b6d98a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x11a882d14d6db31, rs 0x8d44168a6b6d98a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3f9b, rs 0x1fcdbb16, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3f9b762, rs 0x1fcdbb16, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf518381dce634413, rs 0xf518381dce634413, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ea30703b, rs 0xf518381dce634413, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ea30703b9cc6, rs 0xf518381dce634413, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ea30703b9cc6882, rs 0xf518381dce634413, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x315, rs 0x18aeb13, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x315d62, rs 0x18aeb13, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe4627f3fe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1c8c4fe7f, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1c8c4fe7fca4a, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1c8c4fe7fca4abf8, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa97, rs 0x54bf6a4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa97ed4, rs 0x54bf6a4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xccd392e176321f28, rs 0xccd392e176321f28, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x199a725c2, rs 0xccd392e176321f28, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x199a725c2ec64, rs 0xccd392e176321f28, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x199a725c2ec643e5, rs 0xccd392e176321f28, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1011, rs 0x808d07d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1011a0f, rs 0x808d07d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x829464944018fd8f, rs 0x829464944018fd8f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10528c928, rs 0x829464944018fd8f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10528c9288031, rs 0x829464944018fd8f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10528c9288031fb1, rs 0x829464944018fd8f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1993, rs 0xcc9cdca, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x19939b9, rs 0xcc9cdca, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x15d3204052e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2ba64080, rs 0x15d3204052e8f0e5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2ba64080a5d1, rs 0x15d3204052e8f0e5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2ba64080a5d1e1c, rs 0x15d3204052e8f0e5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf12f, rs 0x7897ab07, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf12f560, rs 0x7897ab07, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7caf83d2880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf95f07a5, rs 0x7caf83d2880ff344, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf95f07a5101f, rs 0x7caf83d2880ff344, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf95f07a5101fe68, rs 0x7caf83d2880ff344, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf8ad, rs 0x7c56b6b0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf8ad6d6, rs 0x7c56b6b0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf156a04c747defd7, rs 0xf156a04c747defd7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1e2ad4098, rs 0xf156a04c747defd7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1e2ad4098e8fb, rs 0xf156a04c747defd7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1e2ad4098e8fbdfa, rs 0xf156a04c747defd7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe22b, rs 0x71159069, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe22b20d, rs 0x71159069, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x93e2601c0f31d710, rs 0x93e2601c0f31d710, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x127c4c038, rs 0x93e2601c0f31d710, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x127c4c0381e63, rs 0x93e2601c0f31d710, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x127c4c0381e63ae2, rs 0x93e2601c0f31d710, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xeba9, rs 0x75d48dde, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xeba91bb, rs 0x75d48dde, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe1e1a679131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1c3c34cf2, rs 0xe1e1a679131cd933, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1c3c34cf22639, rs 0xe1e1a679131cd933, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1c3c34cf22639b26, rs 0xe1e1a679131cd933, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd727, rs 0x6b93dddb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd727bbb, rs 0x6b93dddb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x24296b75a76fa427, rs 0x24296b75a76fa427, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4852d6eb, rs 0x24296b75a76fa427, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4852d6eb4edf, rs 0x24296b75a76fa427, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4852d6eb4edf484, rs 0x24296b75a76fa427, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xdea5, rs 0x6f52c06c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xdea580d, rs 0x6f52c06c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd296e2d2139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a52dc5a4, rs 0xd296e2d2139ee56a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a52dc5a4273d, rs 0xd296e2d2139ee56a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a52dc5a4273dcad, rs 0xd296e2d2139ee56a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc423, rs 0x6211e6b5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc423cd6, rs 0x6211e6b5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5a82447f6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xb50488fe, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb50488fedb85, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb50488fedb854b8, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcda1, rs 0x66d0fb02, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcda1f60, rs 0x66d0fb02, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x76c89e80c07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xed913d01, rs 0x76c89e80c07dc168, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xed913d0180fb, rs 0x76c89e80c07dc168, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xed913d0180fb82d, rs 0x76c89e80c07dc168, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xbd3e, rs 0x5e9f46bf, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xbd3e8d7, rs 0x5e9f46bf, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x70dc3454bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe1b868a, rs 0x70dc3454bfe348f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe1b868a97fc, rs 0x70dc3454bfe348f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe1b868a97fc691, rs 0x70dc3454bfe348f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb4bc, rs 0x5a5e5b08, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb4bcb61, rs 0x5a5e5b08, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbddc7123dd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x17bb8e247, rs 0xbddc7123dd6d241b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x17bb8e247bada, rs 0xbddc7123dd6d241b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x17bb8e247bada483, rs 0xbddc7123dd6d241b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xae3a, rs 0x571d7dd1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xae3afba, rs 0x571d7dd1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf62fb727a59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ec5f6e4f, rs 0xf62fb727a59fcebe, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ec5f6e4f4b3f, rs 0xf62fb727a59fcebe, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ec5f6e4f4b3f9d7, rs 0xf62fb727a59fcebe, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa7b8, rs 0x53dc6066, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa7b8c0c, rs 0x53dc6066, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x109f27e90f9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x213e4fd2, rs 0x109f27e90f9f46fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x213e4fd21f3e, rs 0x109f27e90f9f46fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x213e4fd21f3e8df, rs 0x109f27e90f9f46fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x9b36, rs 0x4d9b3063, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x9b3660c, rs 0x4d9b3063, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3f63daa9afd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7ec7b553, rs 0x3f63daa9afd199d7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7ec7b5535fa3, rs 0x3f63daa9afd199d7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7ec7b5535fa333a, rs 0x3f63daa9afd199d7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x92b4, rs 0x495a2dd4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x92b45ba, rs 0x495a2dd4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xdbcb312ea3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1b796625d, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1b796625d47a9, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1b796625d47a909e, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8832, rs 0x44190b0d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8832161, rs 0x44190b0d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1f353faada4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x3e6a7f55, rs 0x1f353faada4fe4c6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3e6a7f55b49f, rs 0x1f353faada4fe4c6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3e6a7f55b49fc98, rs 0x1f353faada4fe4c6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x81b0, rs 0x40d816ba, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x81b02d7, rs 0x40d816ba, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8b086ee07150c260, rs 0x8b086ee07150c260, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x11610ddc0, rs 0x8b086ee07150c260, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x11610ddc0e2a1, rs 0x8b086ee07150c260, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x11610ddc0e2a184c, rs 0x8b086ee07150c260, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffaca5c697, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff594b, rs 0xffffffffaca5c697, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff594b8d2, rs 0xffffffffaca5c697, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe54750d5d9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ca8ea1ab, rs 0xe54750d5d9257f25, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ca8ea1abb24a, rs 0xe54750d5d9257f25, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ca8ea1abb24afe4, rs 0xe54750d5d9257f25, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa864db20, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff50c9, rs 0xffffffffa864db20, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff50c9b64, rs 0xffffffffa864db20, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3d69625fe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7ad2c4bf, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7ad2c4bfd34d, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7ad2c4bfd34db6b, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa527fdf9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff4a4f, rs 0xffffffffa527fdf9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff4a4ffbf, rs 0xffffffffa527fdf9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x70a3e0424340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe147c084, rs 0x70a3e0424340ac96, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe147c0848681, rs 0x70a3e0424340ac96, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe147c0848681592, rs 0x70a3e0424340ac96, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa1e6e04e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff43cd, rs 0xffffffffa1e6e04e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff43cdc09, rs 0xffffffffa1e6e04e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc0478f036980171e, rs 0xc0478f036980171e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1808f1e06, rs 0xc0478f036980171e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1808f1e06d300, rs 0xc0478f036980171e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1808f1e06d3002e3, rs 0xc0478f036980171e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbfa1b04b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff7f43, rs 0xffffffffbfa1b04b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff7f43609, rs 0xffffffffbfa1b04b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3ce839a51cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x79d0734a, rs 0x3ce839a51cf929e3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x79d0734a39f2, rs 0x3ce839a51cf929e3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x79d0734a39f253c, rs 0x3ce839a51cf929e3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbb60adfc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff76c1, rs 0xffffffffbb60adfc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff76c15bf, rs 0xffffffffbb60adfc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe2fbfa895eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1c5f7f512, rs 0xe2fbfa895eb68958, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1c5f7f512bd6d, rs 0xe2fbfa895eb68958, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1c5f7f512bd6d12b, rs 0xe2fbfa895eb68958, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb6238b25, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff6c47, rs 0xffffffffb6238b25, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff6c47164, rs 0xffffffffb6238b25, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd24bb05d76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a49760ba, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a49760baedda, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a49760baedda4b6, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb2e29692, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff65c5, rs 0xffffffffb2e29692, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff65c52d2, rs 0xffffffffb2e29692, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xeb9682c170312f1, rs 0xeb9682c170312f1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1d72d058, rs 0xeb9682c170312f1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1d72d0582e06, rs 0xeb9682c170312f1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1d72d0582e0625e, rs 0xeb9682c170312f1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8aad2b2f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff155a, rs 0xffffffff8aad2b2f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff155a565, rs 0xffffffff8aad2b2f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x84785280dd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x108f0a501, rs 0x84785280dd301d0d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x108f0a501ba60, rs 0x84785280dd301d0d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x108f0a501ba603a1, rs 0x84785280dd301d0d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x179c77aa1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2f38ef54, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2f38ef543f1f, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2f38ef543f1fadd, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x26444ced2998436d, rs 0x26444ced2998436d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4c8899da, rs 0x26444ced2998436d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4c8899da5330, rs 0x26444ced2998436d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4c8899da533086d, rs 0x26444ced2998436d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff87ee0df6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff0fdc, rs 0xffffffff87ee0df6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff0fdc1be, rs 0xffffffff87ee0df6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7175c9dd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe2eb93b, rs 0x7175c9dd58ca708, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe2eb93bab19, rs 0x7175c9dd58ca708, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe2eb93bab194e1, rs 0x7175c9dd58ca708, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff99a95df3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3352, rs 0xffffffff99a95df3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff3352bbe, rs 0xffffffff99a95df3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x663d061055833287, rs 0x663d061055833287, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xcc7a0c20, rs 0x663d061055833287, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcc7a0c20ab06, rs 0x663d061055833287, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcc7a0c20ab06650, rs 0x663d061055833287, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9d684044, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3ad0, rs 0xffffffff9d684044, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff3ad0808, rs 0xffffffff9d684044, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xab7dd0488951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x156fba091, rs 0xab7dd0488951d68b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x156fba09112a3, rs 0xab7dd0488951d68b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x156fba09112a3ad1, rs 0xab7dd0488951d68b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff902b669d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2056, rs 0xffffffff902b669d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff2056cd3, rs 0xffffffff902b669d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf69823670e82471b, rs 0xf69823670e82471b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ed3046ce, rs 0xf69823670e82471b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ed3046ce1d04, rs 0xf69823670e82471b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ed3046ce1d048e3, rs 0xf69823670e82471b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff94ea7b2a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff29d4, rs 0xffffffff94ea7b2a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff29d4f65, rs 0xffffffff94ea7b2a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x36886c59d98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6d10d8b3, rs 0x36886c59d98d26b2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6d10d8b3b31a, rs 0x36886c59d98d26b2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6d10d8b3b31a4d6, rs 0x36886c59d98d26b2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe0b41de7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffc168, rs 0xffffffffe0b41de7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffc1683bc, rs 0xffffffffe0b41de7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9ca4bdbd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x139497b7, rs 0x9ca4bdbd32be479, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x139497b7a657, rs 0x9ca4bdbd32be479, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x139497b7a657c8f, rs 0x9ca4bdbd32be479, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe4750050, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffc8ea, rs 0xffffffffe4750050, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffc8ea00a, rs 0xffffffffe4750050, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfd5d7d1d9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1fabafa3b, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fabafa3b32c5, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fabafa3b32c5cc3, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe9362689, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffd26c, rs 0xffffffffe9362689, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffd26c4d1, rs 0xffffffffe9362689, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3f46553ecad374df, rs 0x3f46553ecad374df, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7e8caa7d, rs 0x3f46553ecad374df, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7e8caa7d95a6, rs 0x3f46553ecad374df, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7e8caa7d95a6e9b, rs 0x3f46553ecad374df, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffedf73b3e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffdbee, rs 0xffffffffedf73b3e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffdbee767, rs 0xffffffffedf73b3e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2e9ab97d3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x5d3572fa, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5d3572fa7ddb, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5d3572fa7ddbe54, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff3b06b3b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffe760, rs 0xfffffffff3b06b3b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffe760d67, rs 0xfffffffff3b06b3b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x36a6f7fa3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6d4deff4, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6d4deff47819, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6d4deff478193e6, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff771768c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffeee2, rs 0xfffffffff771768c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffeee2ed1, rs 0xfffffffff771768c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8bb938e3155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1177271c6, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1177271c62abd, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1177271c62abd93b, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffffa325055, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffff464, rs 0xfffffffffa325055, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffff464a0a, rs 0xfffffffffa325055, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd2df25c419478206, rs 0xd2df25c419478206, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a5be4b88, rs 0xd2df25c419478206, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a5be4b88328f, rs 0xd2df25c419478206, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a5be4b88328f040, rs 0xd2df25c419478206, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffffef34de2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffffde6, rs 0xfffffffffef34de2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffffde69bc, rs 0xfffffffffef34de2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbc65bf27eb321825, rs 0xbc65bf27eb321825, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x178cb7e4f, rs 0xbc65bf27eb321825, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x178cb7e4fd664, rs 0xbc65bf27eb321825, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x178cb7e4fd664304, rs 0xbc65bf27eb321825, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc6bcf05f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff8d79, rs 0xffffffffc6bcf05f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff8d79e0b, rs 0xffffffffc6bcf05f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa8b08fe67a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x151611fcc, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x151611fccf517, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x151611fccf5178fb, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc27dede8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff84fb, rs 0xffffffffc27dede8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff84fbdbd, rs 0xffffffffc27dede8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x852b5bcaf8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10a56b795, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10a56b795f1bf, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10a56b795f1bf9bd, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffcf3ecb31, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff9e7d, rs 0xffffffffcf3ecb31, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff9e7d966, rs 0xffffffffcf3ecb31, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x478909b59a99269, rs 0x478909b59a99269, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x8f12136, rs 0x478909b59a99269, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8f12136b353, rs 0x478909b59a99269, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8f12136b35324d, rs 0x478909b59a99269, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffcbffd686, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff97ff, rs 0xffffffffcbffd686, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff97ffad0, rs 0xffffffffcbffd686, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbfb31cc87857360f, rs 0xbfb31cc87857360f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x17f663990, rs 0xbfb31cc87857360f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x17f663990f0ae, rs 0xbfb31cc87857360f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x17f663990f0ae6c1, rs 0xbfb31cc87857360f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd5b88683, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffab71, rs 0xffffffffd5b88683, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffab710d0, rs 0xffffffffd5b88683, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb665ed5e7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x16ccbdabc, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x16ccbdabcff13, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x16ccbdabcff13d34, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd1799b34, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffa2f3, rs 0xffffffffd1799b34, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffa2f3366, rs 0xffffffffd1799b34, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x15da9474b7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2bb528e9, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2bb528e96f51, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2bb528e96f51abc, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffdc3abded, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffb875, rs 0xffffffffdc3abded, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffb8757bd, rs 0xffffffffdc3abded, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf6b3537d2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ed66a6fa, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ed66a6fa55f2, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ed66a6fa55f21f9, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd8fba05a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffb1f7, rs 0xffffffffd8fba05a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffb1f740b, rs 0xffffffffd8fba05a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x223d7cfe2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x447af9fc, rs 0x223d7cfe2b961897, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x447af9fc572c, rs 0x223d7cfe2b961897, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x447af9fc572c312, rs 0x223d7cfe2b961897, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd219, rs 0x690ce0ee, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd219c1d, rs 0x690ce0ee, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x420b34f533734a4b, rs 0x420b34f533734a4b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x841669ea, rs 0x420b34f533734a4b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x841669ea66e6, rs 0x420b34f533734a4b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x841669ea66e6949, rs 0x420b34f533734a4b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xdb9b, rs 0x6dcdfd59, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xdb9bfab, rs 0x6dcdfd59, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x897c8c8ddd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x112f9191b, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x112f9191bba8d, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x112f9191bba8d667, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc11d, rs 0x608edb80, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc11db70, rs 0x608edb80, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7a387445e392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf470e88b, rs 0x7a387445e392ccd9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf470e88bc725, rs 0x7a387445e392ccd9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf470e88bc72599b, rs 0x7a387445e392ccd9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc89f, rs 0x644fc637, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc89f8c6, rs 0x644fc637, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x512f29b1d80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xa25e5363, rs 0x512f29b1d80000c9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa25e5363b000, rs 0x512f29b1d80000c9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa25e5363b000019, rs 0x512f29b1d80000c9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf411, rs 0x7a089632, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf4112c6, rs 0x7a089632, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xeaded5c53dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1d5bdab8a, rs 0xeaded5c53dad020a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1d5bdab8a7b5a, rs 0xeaded5c53dad020a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1d5bdab8a7b5a041, rs 0xeaded5c53dad020a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfd93, rs 0x7ec98b85, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfd93170, rs 0x7ec98b85, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8a6229d731eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x114c453ae, rs 0x8a6229d731eea35b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x114c453ae63dd, rs 0x8a6229d731eea35b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x114c453ae63dd46b, rs 0x8a6229d731eea35b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe715, rs 0x738aad5c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe7155ab, rs 0x738aad5c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2c3c3f9e48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x58787f3c, rs 0x2c3c3f9e48985649, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x58787f3c9130, rs 0x2c3c3f9e48985649, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x58787f3c9130ac9, rs 0x2c3c3f9e48985649, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xee97, rs 0x774bb0eb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xee9761d, rs 0x774bb0eb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7ff61e78dc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xffec3cf1, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xffec3cf1b938, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xffec3cf1b93816e, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x9e08, rs 0x4f040d56, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x9e081aa, rs 0x4f040d56, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2299b0e01d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x453361c0, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x453361c03abc, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x453361c03abcd1d, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x978a, rs 0x4bc510e1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x978a21c, rs 0x4bc510e1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7c3b04673d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf87608ce, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf87608ce7a18, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf87608ce7a18dc4, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8d0c, rs 0x46863638, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8d0c6c7, rs 0x46863638, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x164e17c1e7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2c9c2f83, rs 0x164e17c1e7fb6587, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2c9c2f83cff6, rs 0x164e17c1e7fb6587, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2c9c2f83cff6cb0, rs 0x164e17c1e7fb6587, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x848e, rs 0x42472b8f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x848e571, rs 0x42472b8f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfa4ca28b56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f4994516, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f4994516ada9, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f4994516ada92a1, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb800, rs 0x5c007b8a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb800f71, rs 0x5c007b8a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe5e9a314be7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1cbd34629, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1cbd346297cff, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1cbd346297cff411, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb182, rs 0x58c1663d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb182cc7, rs 0x58c1663d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf8be8164159649c5, rs 0xf8be8164159649c5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f17d02c8, rs 0xf8be8164159649c5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f17d02c82b2c, rs 0xf8be8164159649c5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f17d02c82b2c938, rs 0xf8be8164159649c5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xab04, rs 0x558240e4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xab0481c, rs 0x558240e4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7ca3259784e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf9464b2f, rs 0x7ca3259784e69b17, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf9464b2f09cd, rs 0x7ca3259784e69b17, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf9464b2f09cd362, rs 0x7ca3259784e69b17, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa286, rs 0x51435d53, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa286baa, rs 0x51435d53, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfc8d543ca1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f91aa879, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f91aa87943e4, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f91aa87943e49eb, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4a3a, rs 0x251d3b9e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4a3a773, rs 0x251d3b9e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4aeb6ca0e3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x95d6d941, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x95d6d941c68b, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x95d6d941c68b3c6, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x43b8, rs 0x21dc2629, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x43b84c5, rs 0x21dc2629, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc532e18e187980fa, rs 0xc532e18e187980fa, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x18a65c31c, rs 0xc532e18e187980fa, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x18a65c31c30f3, rs 0xc532e18e187980fa, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x18a65c31c30f301f, rs 0xc532e18e187980fa, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x593e, rs 0x2c9f00f0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x593e01e, rs 0x2c9f00f0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb3fdec294f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x167fbd852, rs 0xb3fdec294f287d1c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x167fbd8529e50, rs 0xb3fdec294f287d1c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x167fbd8529e50fa3, rs 0xb3fdec294f287d1c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x50bc, rs 0x285e1d47, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x50bc3a8, rs 0x285e1d47, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb620660a49732b90, rs 0xb620660a49732b90, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x16c40cc14, rs 0xb620660a49732b90, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x16c40cc1492e6, rs 0xb620660a49732b90, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x16c40cc1492e6572, rs 0xb620660a49732b90, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6c32, rs 0x36194d42, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6c329a8, rs 0x36194d42, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x993138f16cfde991, rs 0x993138f16cfde991, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1326271e2, rs 0x993138f16cfde991, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1326271e2d9fb, rs 0x993138f16cfde991, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1326271e2d9fbd32, rs 0x993138f16cfde991, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x65b0, rs 0x32d850f5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x65b0a1e, rs 0x32d850f5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xde02d1337d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1bc05a266, rs 0xde02d1337d5407b9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1bc05a266faa8, rs 0xde02d1337d5407b9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1bc05a266faa80f7, rs 0xde02d1337d5407b9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7f36, rs 0x3f9b762c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7f36ec5, rs 0x3f9b762c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x13a390e1e1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x274721c3, rs 0x13a390e1e1dab15a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x274721c3c3b5, rs 0x13a390e1e1dab15a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x274721c3c3b562b, rs 0x13a390e1e1dab15a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x76b4, rs 0x3b5a6b9b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x76b4d73, rs 0x3b5a6b9b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x743491a6828716c8, rs 0x743491a6828716c8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe869234d, rs 0x743491a6828716c8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe869234d050e, rs 0x743491a6828716c8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe869234d050e2d9, rs 0x743491a6828716c8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x62b, rs 0x315d626, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x62bac4, rs 0x315d626, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8cff404aede292f2, rs 0x8cff404aede292f2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x119fe8095, rs 0x8cff404aede292f2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x119fe8095dbc5, rs 0x8cff404aede292f2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x119fe8095dbc525e, rs 0x8cff404aede292f2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfa9, rs 0x7d4cb91, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfa9972, rs 0x7d4cb91, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb9cec0db1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1739d81b6, rs 0xb9cec0db1f837636, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1739d81b63f06, rs 0xb9cec0db1f837636, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1739d81b63f06ec6, rs 0xb9cec0db1f837636, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x152f, rs 0xa97ed48, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x152fda9, rs 0xa97ed48, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2eaa5aa70509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x5d54b54e, rs 0x2eaa5aa70509771c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5d54b54e0a12, rs 0x2eaa5aa70509771c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5d54b54e0a12ee3, rs 0x2eaa5aa70509771c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1cad, rs 0xe56f0ff, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1cade1f, rs 0xe56f0ff, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd327538e1875241b, rs 0xd327538e1875241b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a64ea71c, rs 0xd327538e1875241b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a64ea71c30ea, rs 0xd327538e1875241b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a64ea71c30ea483, rs 0xd327538e1875241b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2023, rs 0x1011a0fa, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x202341f, rs 0x1011a0fa, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x42e9f8548b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x85d3f0a9, rs 0x42e9f8548b739b6b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x85d3f0a916e7, rs 0x42e9f8548b739b6b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x85d3f0a916e736d, rs 0x42e9f8548b739b6b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x29a1, rs 0x14d0bd4d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x29a17a9, rs 0x14d0bd4d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x78e4e50ceccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf1c9ca19, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf1c9ca19d997, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf1c9ca19d997743, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3327, rs 0x19939b94, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3327372, rs 0x19939b94, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf6b6fa3fcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ed6df47f, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ed6df47f9b3a, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ed6df47f9b3a4f9, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3aa5, rs 0x1d528623, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3aa50c4, rs 0x1d528623, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x73916483ae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe722c907, rs 0x73916483ae3e9423, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe722c9075c7d, rs 0x73916483ae3e9423, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe722c9075c7d284, rs 0x73916483ae3e9423, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff12f560e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffe25e, rs 0xfffffffff12f560e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffe25eac1, rs 0xfffffffff12f560e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x276af70a0e128561, rs 0x276af70a0e128561, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4ed5ee14, rs 0x276af70a0e128561, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4ed5ee141c25, rs 0x276af70a0e128561, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4ed5ee141c250ac, rs 0x276af70a0e128561, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffebdc, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffebdc977, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3045bf6b5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x608b7ed, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x608b7ed6bce, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x608b7ed6bce96d, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff8ad6d60, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffff15a, rs 0xfffffffff8ad6d60, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffff15adac, rs 0xfffffffff8ad6d60, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x20223f1308accfa6, rs 0x20223f1308accfa6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x40447e26, rs 0x20223f1308accfa6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x40447e261159, rs 0x20223f1308accfa6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x40447e2611599f4, rs 0x20223f1308accfa6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffffc6c70d7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffff8d8, rs 0xfffffffffc6c70d7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffff8d8e1a, rs 0xfffffffffc6c70d7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf83c55743976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1f078aae8, rs 0xf83c55743976b5f5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1f078aae872ed, rs 0xf83c55743976b5f5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1f078aae872ed6be, rs 0xf83c55743976b5f5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe22b20d2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffc456, rs 0xffffffffe22b20d2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffc45641a, rs 0xffffffffe22b20d2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1f9720f946923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x3f2e41f2, rs 0x1f9720f946923c3d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3f2e41f28d24, rs 0x1f9720f946923c3d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3f2e41f28d24787, rs 0x1f9720f946923c3d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe6ea3d65, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffcdd4, rs 0xffffffffe6ea3d65, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffcdd47ac, rs 0xffffffffe6ea3d65, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x620d28506d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xc41a50a0, rs 0x620d28506d2448dd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc41a50a0da48, rs 0x620d28506d2448dd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc41a50a0da4891b, rs 0x620d28506d2448dd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffeba91bbc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffd752, rs 0xffffffffeba91bbc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffd752377, rs 0xffffffffeba91bbc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x60a521e99ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xc14a43d3, rs 0x60a521e99ff4a732, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc14a43d33fe9, rs 0x60a521e99ff4a732, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc14a43d33fe94e6, rs 0x60a521e99ff4a732, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffef68060b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffded0, rs 0xffffffffef68060b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffded00c1, rs 0xffffffffef68060b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5a08f3ab5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xb411e756, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb411e756b8d0, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb411e756b8d01e1, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd727bbb6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffae4f, rs 0xffffffffd727bbb6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffae4f776, rs 0xffffffffd727bbb6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc7a59be7800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x18f4b37cf, rs 0xc7a59be7800f3d26, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x18f4b37cf001e, rs 0xc7a59be7800f3d26, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x18f4b37cf001e7a4, rs 0xc7a59be7800f3d26, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd3e6a601, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffa7cd, rs 0xffffffffd3e6a601, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffa7cd4c0, rs 0xffffffffd3e6a601, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x35d9be53, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x35d9be530594, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x35d9be530594368, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffdea580d8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffbd4b, rs 0xffffffffdea580d8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffbd4b01b, rs 0xffffffffdea580d8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2b8613a260d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x570c2744, rs 0x2b8613a260d19dcd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x570c2744c1a3, rs 0x2b8613a260d19dcd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x570c2744c1a33b9, rs 0x2b8613a260d19dcd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffda649d6f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffb4c9, rs 0xffffffffda649d6f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffb4c93ad, rs 0xffffffffda649d6f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2518ac8b0e8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4a315916, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4a3159161d17, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4a3159161d177cf, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc423cd6a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff8847, rs 0xffffffffc423cd6a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff88479ad, rs 0xffffffffc423cd6a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x743e568d2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xe87cad1a, rs 0x743e568d2fcf486b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe87cad1a5f9e, rs 0x743e568d2fcf486b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe87cad1a5f9e90d, rs 0x743e568d2fcf486b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x126f646f34c31728, rs 0x126f646f34c31728, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x24dec8de, rs 0x126f646f34c31728, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x24dec8de6986, rs 0x126f646f34c31728, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x24dec8de69862e5, rs 0x126f646f34c31728, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffcda1f604, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff9b43, rs 0xffffffffcda1f604, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff9b43ec0, rs 0xffffffffcda1f604, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xaab0196156fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1556032c2, rs 0xaab0196156fc4d12, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1556032c2adf8, rs 0xaab0196156fc4d12, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1556032c2adf89a2, rs 0xaab0196156fc4d12, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7535cd338595d342, rs 0x7535cd338595d342, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xea6b9a67, rs 0x7535cd338595d342, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xea6b9a670b2b, rs 0x7535cd338595d342, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xea6b9a670b2ba68, rs 0x7535cd338595d342, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff7a7d, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff7a7d1af, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xdfb254da422346ec, rs 0xdfb254da422346ec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1bf64a9b4, rs 0xdfb254da422346ec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1bf64a9b48446, rs 0xdfb254da422346ec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1bf64a9b484468dd, rs 0xdfb254da422346ec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb9ff90c9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff73ff, rs 0xffffffffb9ff90c9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff73ff219, rs 0xffffffffb9ff90c9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa86726c90081ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x150ce4d92, rs 0xa86726c90081ab2a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x150ce4d920103, rs 0xa86726c90081ab2a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x150ce4d920103565, rs 0xa86726c90081ab2a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb4bcb610, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff6979, rs 0xffffffffb4bcb610, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff69796c2, rs 0xffffffffb4bcb610, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9bfeffa1679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x137fdff42, rs 0x9bfeffa1679d7438, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x137fdff42cf3a, rs 0x9bfeffa1679d7438, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x137fdff42cf3ae87, rs 0x9bfeffa1679d7438, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb07daba7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff60fb, rs 0xffffffffb07daba7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff60fb574, rs 0xffffffffb07daba7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc7699826b7dee244, rs 0xc7699826b7dee244, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x18ed3304d, rs 0xc7699826b7dee244, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x18ed3304d6fbd, rs 0xc7699826b7dee244, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x18ed3304d6fbdc48, rs 0xc7699826b7dee244, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffae3afba2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff5c75, rs 0xffffffffae3afba2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff5c75f74, rs 0xffffffffae3afba2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3c07af97fba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x780f5f2f, rs 0x3c07af97fba6704a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x780f5f2ff74c, rs 0x3c07af97fba6704a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x780f5f2ff74ce09, rs 0x3c07af97fba6704a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffaafbe615, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff55f7, rs 0xffffffffaafbe615, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff55f7cc2, rs 0xffffffffaafbe615, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x521364dc04c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xa426c9b8, rs 0x521364dc04c58bfe, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa426c9b8098b, rs 0x521364dc04c58bfe, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa426c9b8098b17f, rs 0x521364dc04c58bfe, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff4f71, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff4f71819, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe0f7bb589ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1c1ef76b1, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1c1ef76b1356f, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1c1ef76b1356f5d7, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa379dd7b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff46f3, rs 0xffffffffa379dd7b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff46f3baf, rs 0xffffffffa379dd7b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe336c60cdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1c66d8c19, rs 0xe336c60cdeeb954d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1c66d8c19bdd7, rs 0xe336c60cdeeb954d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1c66d8c19bdd72a9, rs 0xe336c60cdeeb954d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9b3660c6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff366c, rs 0xffffffff9b3660c6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff366cc18, rs 0xffffffff9b3660c6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd5b2120c6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ab642418, rs 0xd5b2120c6f52416e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ab642418dea4, rs 0xd5b2120c6f52416e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ab642418dea482d, rs 0xd5b2120c6f52416e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9ff77d71, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3fee, rs 0xffffffff9ff77d71, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff3feefae, rs 0xffffffff9ff77d71, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x85a2d4ff7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x10b45a9fe, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x10b45a9fefcc5, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x10b45a9fefcc5146, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff92b45ba8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2568, rs 0xffffffff92b45ba8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff2568b75, rs 0xffffffff92b45ba8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x986a2b654a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x130d456ca, rs 0x986a2b654a4e7e07, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x130d456ca949c, rs 0x986a2b654a4e7e07, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x130d456ca949cfc0, rs 0x986a2b654a4e7e07, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9675461f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2cea, rs 0xffffffff9675461f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff2cea8c3, rs 0xffffffff9675461f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa974eac43a489b55, rs 0xa974eac43a489b55, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x152e9d588, rs 0xa974eac43a489b55, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x152e9d5887491, rs 0xa974eac43a489b55, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x152e9d588749136a, rs 0xa974eac43a489b55, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8832161a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff1064, rs 0xffffffff8832161a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff10642c3, rs 0xffffffff8832161a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa388c16272f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1471182c4, rs 0xa388c16272f1f8f5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1471182c4e5e3, rs 0xa388c16272f1f8f5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1471182c4e5e3f1e, rs 0xa388c16272f1f8f5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8cf30bad, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff19e6, rs 0xffffffff8cf30bad, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff19e6175, rs 0xffffffff8cf30bad, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe8c11f45e7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1d1823e8b, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1d1823e8bce92, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1d1823e8bce92bd5, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff81b02d74, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff0360, rs 0xffffffff81b02d74, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff03605ae, rs 0xffffffff81b02d74, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xadaa5a765cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15b54b4ec, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15b54b4ecb983, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15b54b4ecb983916, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff857130c3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff0ae2, rs 0xffffffff857130c3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff0ae2618, rs 0xffffffff857130c3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7ab4ce88dfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf5699d11, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf5699d11bf4c, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf5699d11bf4c0b8, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xbb15, rs 0x5d8a9099, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xbb15213, rs 0x5d8a9099, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb42ad6e659a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x16855adcc, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x16855adccb34f, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x16855adccb34f609, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb297, rs 0x594b8d2e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb2971a5, rs 0x594b8d2e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4bf8485ab728922f, rs 0x4bf8485ab728922f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x97f090b5, rs 0x4bf8485ab728922f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x97f090b56e51, rs 0x4bf8485ab728922f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x97f090b56e51245, rs 0x4bf8485ab728922f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa811, rs 0x5408abf7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa81157e, rs 0x5408abf7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x76a3d60c3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xed47ac18, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xed47ac1876cd, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xed47ac1876cd4ff, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa193, rs 0x50c9b640, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa1936c8, rs 0x50c9b640, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x31e0c6affdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x63c18d5f, rs 0x31e0c6affdc28eda, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x63c18d5ffb85, rs 0x31e0c6affdc28eda, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x63c18d5ffb851db, rs 0x31e0c6affdc28eda, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x9d1d, rs 0x4e8ee645, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x9d1dcc8, rs 0x4e8ee645, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x53606bb4bf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xa6c0d769, rs 0x53606bb4bf0c999d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xa6c0d7697e19, rs 0x53606bb4bf0c999d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xa6c0d7697e19333, rs 0x53606bb4bf0c999d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x949f, rs 0x4a4ffbf2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x949ff7e, rs 0x4a4ffbf2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x32fc12c81b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x65f82590, rs 0x32fc12c81b7919f0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x65f8259036f2, rs 0x32fc12c81b7919f0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x65f8259036f233e, rs 0x32fc12c81b7919f0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x8e19, rs 0x470cdd2b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x8e19ba5, rs 0x470cdd2b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3ef88384c72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7df10709, rs 0x3ef88384c72efcd6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7df107098e5d, rs 0x3ef88384c72efcd6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7df107098e5df9a, rs 0x3ef88384c72efcd6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x879b, rs 0x43cdc09c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x879b813, rs 0x43cdc09c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x38b1c7bb6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x71638f76, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x71638f76d454, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x71638f76d4546b0, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf704, rs 0x7b827d21, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf704fa4, rs 0x7b827d21, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x15ebf6121dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2bd7ec24, rs 0x15ebf6121dca77c9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2bd7ec243b94, rs 0x15ebf6121dca77c9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2bd7ec243b94ef9, rs 0x15ebf6121dca77c9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfe86, rs 0x7f436096, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfe86c12, rs 0x7f436096, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5eaacdd9fd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xbd559bb3, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xbd559bb3fb22, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xbd559bb3fb228f5, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xe400, rs 0x7200464f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xe4008c9, rs 0x7200464f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbb8470f981e91117, rs 0xbb8470f981e91117, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x17708e1f3, rs 0xbb8470f981e91117, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x17708e1f303d2, rs 0xbb8470f981e91117, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x17708e1f303d2222, rs 0xbb8470f981e91117, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xed82, rs 0x76c15bf8, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xed82b7f, rs 0x76c15bf8, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x5d42aeac6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xba855d5, rs 0x5d42aeac6a532e0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xba855d58d4a, rs 0x5d42aeac6a532e0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xba855d58d4a65c, rs 0x5d42aeac6a532e0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd10c, rs 0x68860bfd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd10c17f, rs 0x68860bfd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x14abf36419fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2957e6c8, rs 0x14abf36419fb9e63, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2957e6c833f7, rs 0x14abf36419fb9e63, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2957e6c833f73cc, rs 0x14abf36419fb9e63, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd88e, rs 0x6c47164a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd88e2c9, rs 0x6c47164a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x249d559aa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x493aab35, rs 0x249d559aa8d72aac, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x493aab3551ae, rs 0x249d559aa8d72aac, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x493aab3551ae555, rs 0x249d559aa8d72aac, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc208, rs 0x61043093, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc208612, rs 0x61043093, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xcd6764f084b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x19acec9e, rs 0xcd6764f084b30ec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x19acec9e1096, rs 0xcd6764f084b30ec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x19acec9e109661d, rs 0xcd6764f084b30ec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcb8a, rs 0x65c52d24, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcb8a5a4, rs 0x65c52d24, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7f03ac0792468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xfe07580f, rs 0x7f03ac0792468fdf, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfe07580f248d, rs 0x7f03ac0792468fdf, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfe07580f248d1fb, rs 0x7f03ac0792468fdf, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2336, rs 0x119b4be9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x233697d, rs 0x119b4be9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7e35ce6d56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xfc6b9cda, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfc6b9cdaadcc, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfc6b9cdaadcce1e, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2ab4, rs 0x155a565e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2ab4acb, rs 0x155a565e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x152828591a652711, rs 0x152828591a652711, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2a5050b2, rs 0x152828591a652711, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2a5050b234ca, rs 0x152828591a652711, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2a5050b234ca4e2, rs 0x152828591a652711, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x3032, rs 0x18197087, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x3032e10, rs 0x18197087, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9e1c3283d215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x13c386507, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x13c386507a42b, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x13c386507a42b53f, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x39b0, rs 0x1cd86d30, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x39b0da6, rs 0x1cd86d30, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8d95c049282a0417, rs 0x8d95c049282a0417, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x11b2b8092, rs 0x8d95c049282a0417, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x11b2b80925054, rs 0x8d95c049282a0417, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x11b2b80925054082, rs 0x8d95c049282a0417, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x53e, rs 0x29f3d35, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x53e7a6, rs 0x29f3d35, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf2e7a490978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1e5cf4921, rs 0xf2e7a490978058f3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1e5cf49212f00, rs 0xf2e7a490978058f3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1e5cf49212f00b1e, rs 0xf2e7a490978058f3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcbc, rs 0x65e2082, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcbc410, rs 0x65e2082, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x775b4cca0975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xeeb69994, rs 0x775b4cca0975b1aa, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xeeb6999412eb, rs 0x775b4cca0975b1aa, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xeeb6999412eb635, rs 0x775b4cca0975b1aa, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x163a, rs 0xb1d065b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x163a0cb, rs 0xb1d065b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa2b84a635111020, rs 0xa2b84a635111020, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1457094c, rs 0xa2b84a635111020, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1457094c6a22, rs 0xa2b84a635111020, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1457094c6a22204, rs 0xa2b84a635111020, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fb8, rs 0xfdc1bec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fb837d, rs 0xfdc1bec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x47f41a7, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x47f41a74fb1, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x47f41a74fb116d, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6f27, rs 0x3793a651, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6f274ca, rs 0x3793a651, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa3d991b79941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x147b3236f, rs 0xa3d991b79941dedd, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x147b3236f3283, rs 0xa3d991b79941dedd, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x147b3236f3283bdb, rs 0xa3d991b79941dedd, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x66a5, rs 0x3352bbe6, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x66a577c, rs 0x3352bbe6, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x751cb4835a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xea396906, rs 0x751cb4835a0d9508, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xea396906b41b, rs 0x751cb4835a0d9508, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xea396906b41b2a1, rs 0x751cb4835a0d9508, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7c23, rs 0x3e119d3f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7c233a7, rs 0x3e119d3f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x949cad35625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x129395a6a, rs 0x949cad35625bb2d3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x129395a6ac4b7, rs 0x949cad35625bb2d3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x129395a6ac4b765a, rs 0x949cad35625bb2d3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x75a1, rs 0x3ad08088, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x75a1011, rs 0x3ad08088, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7f567f35a6929739, rs 0x7f567f35a6929739, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xfeacfe6b, rs 0x7f567f35a6929739, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xfeacfe6b4d25, rs 0x7f567f35a6929739, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xfeacfe6b4d252e7, rs 0x7f567f35a6929739, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x492f, rs 0x2497d08d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x492fa11, rs 0x2497d08d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x185b88e0db8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x30b711c1, rs 0x185b88e0db8d7d27, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x30b711c1b71a, rs 0x185b88e0db8d7d27, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x30b711c1b71afa4, rs 0x185b88e0db8d7d27, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x40ad, rs 0x2056cd3a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x40ad9a7, rs 0x2056cd3a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x255a4cd22fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x4ab499a4, rs 0x255a4cd22fd61b91, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x4ab499a45fac, rs 0x255a4cd22fd61b91, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x4ab499a45fac372, rs 0x255a4cd22fd61b91, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5a2b, rs 0x2d15ebe3, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5a2bd7c, rs 0x2d15ebe3, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1048d589a4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2091ab13, rs 0x1048d589a4363f7b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2091ab13486c, rs 0x1048d589a4363f7b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2091ab13486c7ef, rs 0x1048d589a4363f7b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x53a9, rs 0x29d4f654, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x53a9eca, rs 0x29d4f654, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x6a6d5708f4605790, rs 0x6a6d5708f4605790, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xd4daae11, rs 0x6a6d5708f4605790, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd4daae11e8c0, rs 0x6a6d5708f4605790, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd4daae11e8c0af2, rs 0x6a6d5708f4605790, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc5a92679, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff8b52, rs 0xffffffffc5a92679, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff8b524cf, rs 0xffffffffc5a92679, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd58ecbabde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ab1d9757, rs 0xd58ecbabde35697f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ab1d9757bc6a, rs 0xd58ecbabde35697f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ab1d9757bc6ad2f, rs 0xd58ecbabde35697f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc1683bce, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff82d0, rs 0xffffffffc1683bce, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff82d0779, rs 0xffffffffc1683bce, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x575548fd08c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xaeaa91fa, rs 0x575548fd08c0a5f1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xaeaa91fa1181, rs 0x575548fd08c0a5f1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xaeaa91fa11814be, rs 0x575548fd08c0a5f1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffcc2b1d17, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff9856, rs 0xffffffffcc2b1d17, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff98563a2, rs 0xffffffffcc2b1d17, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x8bb640fb8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1176c81f7, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1176c81f71db3, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1176c81f71db31bb, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffc8ea00a0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff91d4, rs 0xffffffffc8ea00a0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff91d4014, rs 0xffffffffc8ea00a0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xbe00d51eabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x17c01aa3d, rs 0xbe00d51eabc578cc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x17c01aa3d578a, rs 0xbe00d51eabc578cc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x17c01aa3d578af19, rs 0xbe00d51eabc578cc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd6ad50a5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffad5a, rs 0xffffffffd6ad50a5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffad5aa14, rs 0xffffffffd6ad50a5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x2f7e224a1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x5efc4494, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x5efc4494382e, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x5efc4494382e156, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffd26c4d12, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffa4d8, rs 0xffffffffd26c4d12, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffa4d89a2, rs 0xffffffffd26c4d12, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa978f12ca22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x152f1e259, rs 0xa978f12ca22256a7, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x152f1e2594444, rs 0xa978f12ca22256a7, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x152f1e2594444ad4, rs 0xa978f12ca22256a7, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffbe5e, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffbe5ed79, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9950a93b811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x132a15277, rs 0x9950a93b811ee02f, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x132a15277023d, rs 0x9950a93b811ee02f, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x132a15277023dc05, rs 0x9950a93b811ee02f, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffdbee767c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffb7dc, rs 0xffffffffdbee767c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffb7dcecf, rs 0xffffffffdbee767c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xb44eea93c6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1689dd527, rs 0xb44eea93c6796a0c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1689dd5278cf2, rs 0xb44eea93c6796a0c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1689dd5278cf2d41, rs 0xb44eea93c6796a0c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffc743, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffc743978, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfe71fca06c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1fce3f940, rs 0xfe71fca06c0eb657, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fce3f940d81d, rs 0xfe71fca06c0eb657, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fce3f940d81d6ca, rs 0xfe71fca06c0eb657, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffe760d676, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffcec1, rs 0xffffffffe760d676, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffcec1ace, rs 0xffffffffe760d676, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x4ed6393df818af57, rs 0x4ed6393df818af57, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x9dac727b, rs 0x4ed6393df818af57, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x9dac727bf031, rs 0x4ed6393df818af57, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x9dac727bf0315ea, rs 0x4ed6393df818af57, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffea23f0af, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffd447, rs 0xffffffffea23f0af, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffd447e15, rs 0xffffffffea23f0af, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xf22e90200236770a, rs 0xf22e90200236770a, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1e45d2040, rs 0xf22e90200236770a, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1e45d2040046c, rs 0xf22e90200236770a, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1e45d2040046cee1, rs 0xf22e90200236770a, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffeee2ed18, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffddc5, rs 0xffffffffeee2ed18, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffddc5da3, rs 0xffffffffeee2ed18, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x81efb6c7afd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x103df6d8f, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x103df6d8f5fa1, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x103df6d8f5fa188b, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffe14b, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffe14b7a3, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xeed8f3518102315b, rs 0xeed8f3518102315b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ddb1e6a3, rs 0xeed8f3518102315b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ddb1e6a30204, rs 0xeed8f3518102315b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ddb1e6a3020462b, rs 0xeed8f3518102315b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff464a0aa, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffffe8c9, rs 0xfffffffff464a0aa, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffffe8c9415, rs 0xfffffffff464a0aa, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xadafefb9995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15b5fdf73, rs 0xadafefb9995efd5e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15b5fdf7332bd, rs 0xadafefb9995efd5e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15b5fdf7332bdfab, rs 0xadafefb9995efd5e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffff9278673, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffff24f, rs 0xfffffffff9278673, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffff24f0ce, rs 0xfffffffff9278673, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x34061933eb253086, rs 0x34061933eb253086, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x680c3267, rs 0x34061933eb253086, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x680c3267d64a, rs 0x34061933eb253086, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x680c3267d64a610, rs 0x34061933eb253086, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xfffffffffde69bc4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1fffffffffbcd, rs 0xfffffffffde69bc4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1fffffffffbcd378, rs 0xfffffffffde69bc4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x1748da264b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x2e91b44c, rs 0x1748da264b4c52bc, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x2e91b44c9698, rs 0x1748da264b4c52bc, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x2e91b44c9698a57, rs 0x1748da264b4c52bc, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff89b8fd09, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff1371, rs 0xffffffff89b8fd09, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff1371fa1, rs 0xffffffff89b8fd09, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x34fdfc9a9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x69fbf935, rs 0x34fdfc9a9302be89, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x69fbf9352605, rs 0x34fdfc9a9302be89, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x69fbf93526057d1, rs 0x34fdfc9a9302be89, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff8d79e0be, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff1af3, rs 0xffffffff8d79e0be, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff1af3c17, rs 0xffffffff8d79e0be, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xd00278c3c521d180, rs 0xd00278c3c521d180, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1a004f187, rs 0xd00278c3c521d180, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1a004f1878a43, rs 0xd00278c3c521d180, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1a004f1878a43a30, rs 0xd00278c3c521d180, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff803ac667, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff0075, rs 0xffffffff803ac667, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff00758cc, rs 0xffffffff803ac667, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xe90944a4c1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1d2128949, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1d212894983a6, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1d212894983a6f4b, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff84fbdbd0, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff09f7, rs 0xffffffff84fbdbd0, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff09f7b7a, rs 0xffffffff84fbdbd0, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x65fd698fddef9839, rs 0x65fd698fddef9839, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xcbfad31f, rs 0x65fd698fddef9839, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xcbfad31fbbdf, rs 0x65fd698fddef9839, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xcbfad31fbbdf307, rs 0x65fd698fddef9839, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9abc8bd5, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3579, rs 0xffffffff9abc8bd5, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff357917a, rs 0xffffffff9abc8bd5, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xc49ee3ad81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1893dc75b, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1893dc75b036b, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1893dc75b036b5ea, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff9e7d9662, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff3cfb, rs 0xffffffff9e7d9662, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff3cfb2cc, rs 0xffffffff9e7d9662, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x7aa941e8bdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xf55283d1, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xf55283d17b64, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xf55283d17b64c7d, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff933eb0bb, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff267d, rs 0xffffffff933eb0bb, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff267d617, rs 0xffffffff933eb0bb, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x372c209e42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x6e58413c, rs 0x372c209e42f3b58d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x6e58413c85e7, rs 0x372c209e42f3b58d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x6e58413c85e76b1, rs 0x372c209e42f3b58d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffff97ffad0c, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff2fff, rs 0xffffffff97ffad0c, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff2fff5a1, rs 0xffffffff97ffad0c, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x30f870b7e122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x61f0e16f, rs 0x30f870b7e122a83b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x61f0e16fc245, rs 0x30f870b7e122a83b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x61f0e16fc245507, rs 0x30f870b7e122a83b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffafb010b1, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff5f60, rs 0xffffffffafb010b1, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff5f60216, rs 0xffffffffafb010b1, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x9e02de4b678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x13c05bc96, rs 0x9e02de4b678930ec, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x13c05bc96cf12, rs 0x9e02de4b678930ec, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x13c05bc96cf1261d, rs 0x9e02de4b678930ec, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffab710d06, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff56e2, rs 0xffffffffab710d06, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff56e21a0, rs 0xffffffffab710d06, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xcd61a8639826631e, rs 0xcd61a8639826631e, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x19ac350c7, rs 0xcd61a8639826631e, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x19ac350c7304c, rs 0xcd61a8639826631e, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x19ac350c7304cc63, rs 0xcd61a8639826631e, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa6322bdf, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff4c64, rs 0xffffffffa6322bdf, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff4c6457b, rs 0xffffffffa6322bdf, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xae87bc899a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x15d0f7913, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x15d0f791334f7, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x15d0f791334f7a79, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffa2f33668, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff45e6, rs 0xffffffffa2f33668, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff45e66cd, rs 0xffffffffa2f33668, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x58ec644d6481af17, rs 0x58ec644d6481af17, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xb1d8c89a, rs 0x58ec644d6481af17, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xb1d8c89ac903, rs 0x58ec644d6481af17, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xb1d8c89ac9035e2, rs 0x58ec644d6481af17, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffbcb4666d, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff7968, rs 0xffffffffbcb4666d, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff7968ccd, rs 0xffffffffbcb4666d, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x680cce5fb236b666, rs 0x680cce5fb236b666, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xd0199cbf, rs 0x680cce5fb236b666, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xd0199cbf646d, rs 0x680cce5fb236b666, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xd0199cbf646d6cc, rs 0x680cce5fb236b666, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb8757bda, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff70ea, rs 0xffffffffb8757bda, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff70eaf7b, rs 0xffffffffb8757bda, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x3baa99471f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x7755328e, rs 0x3baa99471f6d4d75, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x7755328e3eda, rs 0x3baa99471f6d4d75, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x7755328e3eda9ae, rs 0x3baa99471f6d4d75, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb5365d03, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff6a6c, rs 0xffffffffb5365d03, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff6a6cba0, rs 0xffffffffb5365d03, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0x614d9b445f12236b, rs 0x614d9b445f12236b, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0xc29b3688, rs 0x614d9b445f12236b, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0xc29b3688be24, rs 0x614d9b445f12236b, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0xc29b3688be2446d, rs 0x614d9b445f12236b, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1ffffffff, rs 0xffffffffb1f740b4, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1ffffffff63ee, rs 0xffffffffb1f740b4, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1ffffffff63ee816, rs 0xffffffffb1f740b4, imm 0x0003
+dsrl $t0, $t1, 0x00 :: rt 0xa2a6ec661ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+dsrl $t2, $t3, 0x1f :: rt 0x1454dd8cc, rs 0xa2a6ec661ba84121, imm 0x001f
+dsrl $a0, $a1, 0x0f :: rt 0x1454dd8cc3750, rs 0xa2a6ec661ba84121, imm 0x000f
+dsrl $s0, $s1, 0x03 :: rt 0x1454dd8cc3750824, rs 0xa2a6ec661ba84121, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x12bd6aa, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x12bd6aa, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x12bd6aa, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7e8763, rs 0x7e876382d2ab13, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7e876382d2ab13, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xfd, rs 0x7e876382d2ab13, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xfd0ec, rs 0x7e876382d2ab13, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x9823b6e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x9823b6e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x9823b6e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x976d6e9a, rs 0x976d6e9ac31510f3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x976d6e9ac31510f3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x12eda, rs 0x976d6e9ac31510f3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x12edadd3, rs 0x976d6e9ac31510f3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xd4326d9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xd4326d9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xd4326d9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb7746d77, rs 0xb7746d775ad6a5fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb7746d775ad6a5fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x16ee8, rs 0xb7746d775ad6a5fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x16ee8dae, rs 0xb7746d775ad6a5fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x130476dc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x130476dc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x130476dc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x42b0c0a2, rs 0x42b0c0a28677b502, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x8561, rs 0x42b0c0a28677b502, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x8561814, rs 0x42b0c0a28677b502, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x17c56b6b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x17c56b6b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x17c56b6b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2aa89d31, rs 0x2aa89d319e3c30ad, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2aa89d319e3c30ad, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5551, rs 0x2aa89d319e3c30ad, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x55513a6, rs 0x2aa89d319e3c30ad, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1a864db2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1a864db2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1a864db2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1f308ec3, rs 0x1f308ec377fb413d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f308ec377fb413d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x3e61, rs 0x1f308ec377fb413d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x3e611d8, rs 0x1f308ec377fb413d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1e475005, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1e475005, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1e475005, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7aa04213, rs 0x7aa04213c760e4f7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7aa04213c760e4f7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf540, rs 0x7aa04213c760e4f7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf540842, rs 0x7aa04213c760e4f7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2608edb8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2608edb8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2608edb8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9e705cc5, rs 0x9e705cc51ad8dca0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9e705cc51ad8dca0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x13ce0, rs 0x9e705cc51ad8dca0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x13ce0b98, rs 0x9e705cc51ad8dca0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x22c9f00f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x22c9f00f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x22c9f00f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x4b3dda86, rs 0x4b3dda869615a60d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4b3dda869615a60d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x967b, rs 0x4b3dda869615a60d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x967bb50, rs 0x4b3dda869615a60d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2f8ad6d6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2f8ad6d6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x5e7a4dd, rs 0x5e7a4dd6353d41d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5e7a4dd6353d41d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xbcf, rs 0x5e7a4dd6353d41d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xbcf49b, rs 0x5e7a4dd6353d41d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2b4bcb61, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2b4bcb61, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2b4bcb61, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3af35a9d, rs 0x3af35a9dc40bd413, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3af35a9dc40bd413, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x75e6, rs 0x3af35a9dc40bd413, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x75e6b53, rs 0x3af35a9dc40bd413, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x350c9b64, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x350c9b64, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x350c9b64, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x47f50556, rs 0x47f505569a08a180, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47f505569a08a180, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x8fea, rs 0x47f505569a08a180, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x8fea0aa, rs 0x47f505569a08a180, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x31cd86d3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x31cd86d3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x31cd86d3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9564b77f, rs 0x9564b77fd6d2040f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9564b77fd6d2040f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x12ac9, rs 0x9564b77fd6d2040f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x12ac96ef, rs 0x9564b77fd6d2040f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3c8ea00a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3c8ea00a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3c8ea00a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xcebc8279, rs 0xcebc8279b2c76bbe, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xcebc8279b2c76bbe, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x19d79, rs 0xcebc8279b2c76bbe, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x19d7904f, rs 0xcebc8279b2c76bbe, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x384fbdbd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x384fbdbd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x384fbdbd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb5034c2f, rs 0xb5034c2f1f18e4c7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb5034c2f1f18e4c7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x16a06, rs 0xb5034c2f1f18e4c7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x16a06985, rs 0xb5034c2f1f18e4c7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4c11db70, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4c11db70, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4c11db70, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x94ff52fc, rs 0x94ff52fc81afa797, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x94ff52fc81afa797, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x129fe, rs 0x94ff52fc81afa797, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x129fea5f, rs 0x94ff52fc81afa797, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x48d0c6c7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x48d0c6c7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x48d0c6c7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x31d8d916, rs 0x31d8d9166dfc50ea, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x63b1, rs 0x31d8d9166dfc50ea, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x63b1b22, rs 0x31d8d9166dfc50ea, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4593e01e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4593e01e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4593e01e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x36549bd6, rs 0x36549bd678e895b1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36549bd678e895b1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6ca9, rs 0x36549bd678e895b1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6ca937a, rs 0x36549bd678e895b1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4152fda9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4152fda9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4152fda9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x85e0a631, rs 0x85e0a6319b63259b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x85e0a6319b63259b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10bc1, rs 0x85e0a6319b63259b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10bc14c6, rs 0x85e0a6319b63259b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5f15adac, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5f15adac, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5f15adac, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x556b3eca, rs 0x556b3ecaccf17ac5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x556b3ecaccf17ac5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xaad6, rs 0x556b3ecaccf17ac5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xaad67d9, rs 0x556b3ecaccf17ac5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5bd4b01b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5bd4b01b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5bd4b01b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb42f5fc5, rs 0xb42f5fc581eea0fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb42f5fc581eea0fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1685e, rs 0xb42f5fc581eea0fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1685ebf8, rs 0xb42f5fc581eea0fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x569796c2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x569796c2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x569796c2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x25b50fec, rs 0x25b50fec14682d97, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x25b50fec14682d97, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4b6a, rs 0x25b50fec14682d97, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4b6a1fd, rs 0x25b50fec14682d97, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x52568b75, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x52568b75, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x52568b75, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xfc93c513, rs 0xfc93c5132cfb087a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfc93c5132cfb087a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f927, rs 0xfc93c5132cfb087a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f9278a2, rs 0xfc93c5132cfb087a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6a1936c8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6a1936c8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6a1936c8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3c2cd9a9, rs 0x3c2cd9a9cda20766, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7859, rs 0x3c2cd9a9cda20766, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7859b35, rs 0x3c2cd9a9cda20766, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6ed82b7f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6ed82b7f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6ed82b7f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1791722a, rs 0x1791722a7d72da3e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2f22, rs 0x1791722a7d72da3e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2f22e45, rs 0x1791722a7d72da3e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x639b0da6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x639b0da6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x639b0da6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x87cc9d1, rs 0x87cc9d193ce24ad, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x87cc9d193ce24ad, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10f9, rs 0x87cc9d193ce24ad, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10f993a, rs 0x87cc9d193ce24ad, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x675a1011, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x675a1011, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x675a1011, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1d2a7570, rs 0x1d2a757038984ed2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x3a54, rs 0x1d2a757038984ed2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x3a54eae, rs 0x1d2a757038984ed2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x791d4014, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x791d4014, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x791d4014, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd0d070db, rs 0xd0d070db710cd036, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd0d070db710cd036, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a1a0, rs 0xd0d070db710cd036, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a1a0e1b, rs 0xd0d070db710cd036, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7ddc5da3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7ddc5da3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7ddc5da3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x39c21c7d, rs 0x39c21c7d03415604, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c21c7d03415604, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7384, rs 0x39c21c7d03415604, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x738438f, rs 0x39c21c7d03415604, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x709f7b7a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x709f7b7a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x709f7b7a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8e94b7af, rs 0x8e94b7af8ecc31ce, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8e94b7af8ecc31ce, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x11d29, rs 0x8e94b7af8ecc31ce, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x11d296f5, rs 0x8e94b7af8ecc31ce, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x745e66cd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x745e66cd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x745e66cd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x24eb6a8d, rs 0x24eb6a8d1ce7674f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x24eb6a8d1ce7674f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x49d6, rs 0x24eb6a8d1ce7674f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x49d6d51, rs 0x24eb6a8d1ce7674f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9823b6e0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9823b6e0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9823b6e0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9823b6e0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2f394544, rs 0x2f39454412d6e4a7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f39454412d6e4a7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5e72, rs 0x2f39454412d6e4a7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x5e728a8, rs 0x2f39454412d6e4a7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9ce2ab57, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9ce2ab57, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9ce2ab57, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2608c2b7, rs 0x2608c2b756da4c54, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608c2b756da4c54, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4c11856, rs 0x2608c2b756da4c54, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff91a18d8e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff91a18d8e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff91a18d8e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff91a18d8e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x900102da, rs 0x900102dac8d7252f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x900102dac8d7252f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x12002, rs 0x900102dac8d7252f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1200205b, rs 0x900102dac8d7252f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff95609039, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff95609039, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff95609039, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff95609039, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc890d5f1, rs 0xc890d5f1f2efa4f7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc890d5f1f2efa4f7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x19121, rs 0xc890d5f1f2efa4f7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x19121abe, rs 0xc890d5f1f2efa4f7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8b27c03c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8b27c03c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8b27c03c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8b27c03c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xed5005cb, rs 0xed5005cbc8b0a214, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xed5005cbc8b0a214, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1daa0, rs 0xed5005cbc8b0a214, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1daa00b9, rs 0xed5005cbc8b0a214, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8fe6dd8b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8fe6dd8b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8fe6dd8b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x31479189, rs 0x314791895991136c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x314791895991136c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x628f, rs 0x314791895991136c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x628f231, rs 0x314791895991136c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff82a5fb52, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff82a5fb52, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff82a5fb52, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff82a5fb52, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc6eecff9, rs 0xc6eecff99a2fb6f3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc6eecff99a2fb6f3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x18ddd, rs 0xc6eecff99a2fb6f3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x18ddd9ff, rs 0xc6eecff99a2fb6f3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8664e6e5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8664e6e5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8664e6e5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8664e6e5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa8095212, rs 0xa809521238895270, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa809521238895270, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15012, rs 0xa809521238895270, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15012a42, rs 0xa809521238895270, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbe2b5b58, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbe2b5b58, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbe2b5b58, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x87750a04, rs 0x87750a04ad765040, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x87750a04ad765040, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10eea, rs 0x87750a04ad765040, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10eea140, rs 0x87750a04ad765040, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbaea46ef, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbaea46ef, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbaea46ef, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbaea46ef, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2c3de85e, rs 0x2c3de85e84bb5a83, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c3de85e84bb5a83, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x587b, rs 0x2c3de85e84bb5a83, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x587bd0b, rs 0x2c3de85e84bb5a83, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb7a96036, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb7a96036, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb7a96036, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb7a96036, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xae6aff8f, rs 0xae6aff8fc506aa67, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xae6aff8fc506aa67, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15cd5, rs 0xae6aff8fc506aa67, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15cd5ff1, rs 0xae6aff8fc506aa67, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb3687d81, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb3687d81, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb3687d81, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb3687d81, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc07112dd, rs 0xc07112dd60ed5ee3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc07112dd60ed5ee3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x180e2, rs 0xc07112dd60ed5ee3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x180e225b, rs 0xc07112dd60ed5ee3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffad2f2d84, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffad2f2d84, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffad2f2d84, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffad2f2d84, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc4c770f6, rs 0xc4c770f630dcca5a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc4c770f630dcca5a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1898e, rs 0xc4c770f630dcca5a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1898ee1e, rs 0xc4c770f630dcca5a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa9ee3033, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa9ee3033, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa9ee3033, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa9ee3033, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xdfec2b23, rs 0xdfec2b2383cd5277, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xdfec2b2383cd5277, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1bfd8, rs 0xdfec2b2383cd5277, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1bfd8564, rs 0xdfec2b2383cd5277, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa4ad16ea, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa4ad16ea, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa4ad16ea, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd3adba26, rs 0xd3adba260ff7d96b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd3adba260ff7d96b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a75b, rs 0xd3adba260ff7d96b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a75b744, rs 0xd3adba260ff7d96b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa06c0b5d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa06c0b5d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa06c0b5d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x4ab4aa79, rs 0x4ab4aa798418c00e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x9569, rs 0x4ab4aa798418c00e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x956954f, rs 0x4ab4aa798418c00e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd4326d90, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd4326d90, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd4326d90, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd4326d90, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbb8c035e, rs 0xbb8c035e0de0f0b8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbb8c035e0de0f0b8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x17718, rs 0xbb8c035e0de0f0b8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1771806b, rs 0xbb8c035e0de0f0b8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd0f37027, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd0f37027, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd0f37027, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd0f37027, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x33b06f54, rs 0x33b06f54a97fdcf1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x33b06f54a97fdcf1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6760, rs 0x33b06f54a97fdcf1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6760dea, rs 0x33b06f54a97fdcf1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffddb056fe, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffddb056fe, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffddb056fe, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffddb056fe, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x77433f37, rs 0x77433f373fd1c081, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x77433f373fd1c081, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xee86, rs 0x77433f373fd1c081, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xee867e6, rs 0x77433f373fd1c081, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd9714b49, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd9714b49, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd9714b49, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd9714b49, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xec91d993, rs 0xec91d993c92195e4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xec91d993c92195e4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1d923, rs 0xec91d993c92195e4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1d923b32, rs 0xec91d993c92195e4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc7361b4c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc7361b4c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc7361b4c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc7361b4c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x49fbf6a7, rs 0x49fbf6a795b1a5ab, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x49fbf6a795b1a5ab, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x93f7, rs 0x49fbf6a795b1a5ab, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x93f7ed4, rs 0x49fbf6a795b1a5ab, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc3f706fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc3f706fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc3f706fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc3f706fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x19364378, rs 0x19364378c7ce8d1e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x326c, rs 0x19364378c7ce8d1e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x326c86f, rs 0x19364378c7ce8d1e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffceb42022, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffceb42022, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffceb42022, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffceb42022, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb99e8def, rs 0xb99e8def2f384907, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb99e8def2f384907, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1733d, rs 0xb99e8def2f384907, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1733d1bd, rs 0xb99e8def2f384907, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffca753d95, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffca753d95, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffca753d95, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffca753d95, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x47eacdcd, rs 0x47eacdcd582b12fe, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x8fd5, rs 0x47eacdcd582b12fe, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x8fd59b9, rs 0x47eacdcd582b12fe, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff23a8028, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff23a8028, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff23a8028, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff23a8028, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd685884e, rs 0xd685884e76558c4f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd685884e76558c4f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ad0b, rs 0xd685884e76558c4f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ad0b109, rs 0xd685884e76558c4f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff6fb9d9f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff6fb9d9f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff6fb9d9f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x6168d62a, rs 0x6168d62a34c195c7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6168d62a34c195c7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xc2d1, rs 0x6168d62a34c195c7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xc2d1ac5, rs 0x6168d62a34c195c7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffffbb8bb46, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffffbb8bb46, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffffbb8bb46, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd3016989, rs 0xd30169894df47405, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd30169894df47405, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a602, rs 0xd30169894df47405, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a602d31, rs 0xd30169894df47405, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffff79a6f1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffff79a6f1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffff79a6f1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffff79a6f1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1ca190bf, rs 0x1ca190bf6cbb06db, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1ca190bf6cbb06db, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x3943, rs 0x1ca190bf6cbb06db, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x3943217, rs 0x1ca190bf6cbb06db, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe13ef6f4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe13ef6f4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe13ef6f4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x58300f02, rs 0x58300f029cae393a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58300f029cae393a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xb060, rs 0x58300f029cae393a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xb0601e0, rs 0x58300f029cae393a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe5ffeb43, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe5ffeb43, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe5ffeb43, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9a995fdb, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x13532, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x13532bfb, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe8bccd9a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe8bccd9a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe8bccd9a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8a96047b, rs 0x8a96047be3405b48, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8a96047be3405b48, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1152c, rs 0x8a96047be3405b48, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1152c08f, rs 0x8a96047be3405b48, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffec7dd02d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffec7dd02d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffec7dd02d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffec7dd02d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x75bfafd2, rs 0x75bfafd2d519d322, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xeb7f, rs 0x75bfafd2d519d322, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xeb7f5fa, rs 0x75bfafd2d519d322, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x34867077, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x34867077, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x34867077, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xde230867, rs 0xde230867a630f6ad, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xde230867a630f6ad, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1bc46, rs 0xde230867a630f6ad, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1bc4610c, rs 0xde230867a630f6ad, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x30476dc0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x30476dc0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x30476dc0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2c0a0cf2, rs 0x2c0a0cf256103260, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5814, rs 0x2c0a0cf256103260, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x581419e, rs 0x2c0a0cf256103260, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3d044b19, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3d044b19, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3d044b19, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x94a90544, rs 0x94a90544249b18ef, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x94a90544249b18ef, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x12952, rs 0x94a90544249b18ef, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x129520a8, rs 0x94a90544249b18ef, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x39c556ae, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x39c556ae, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x39c556ae, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf9519fb5, rs 0xf9519fb55b56fcde, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf9519fb55b56fcde, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f2a3, rs 0xf9519fb55b56fcde, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f2a33f6, rs 0xf9519fb55b56fcde, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x278206ab, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x278206ab, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x278206ab, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x81daf820, rs 0x81daf8200468319b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x81daf8200468319b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x103b5, rs 0x81daf8200468319b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x103b5f04, rs 0x81daf8200468319b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x23431b1c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x23431b1c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x23431b1c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8c61ca5a, rs 0x8c61ca5a5725f2ec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8c61ca5a5725f2ec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x118c3, rs 0x8c61ca5a5725f2ec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x118c394b, rs 0x8c61ca5a5725f2ec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2e003dc5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2e003dc5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2e003dc5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8b95a6dd, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1172b, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1172b4db, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2ac12072, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2ac12072, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2ac12072, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x300ce751, rs 0x300ce751dac6162f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x300ce751dac6162f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6019, rs 0x300ce751dac6162f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6019cea, rs 0x300ce751dac6162f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x128e9dcf, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x128e9dcf, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x128e9dcf, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x6778fdf3, rs 0x6778fdf3ba52a850, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xcef1, rs 0x6778fdf3ba52a850, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xcef1fbe, rs 0x6778fdf3ba52a850, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x164f8078, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x164f8078, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x164f8078, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xad00b1f7, rs 0xad00b1f7da78479f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xad00b1f7da78479f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15a01, rs 0xad00b1f7da78479f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15a0163e, rs 0xad00b1f7da78479f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1b0ca6a1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1b0ca6a1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8d44168, rs 0x8d44168a6b6d98a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x11a8, rs 0x8d44168a6b6d98a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x11a882d, rs 0x8d44168a6b6d98a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1fcdbb16, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1fcdbb16, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1fcdbb16, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf518381d, rs 0xf518381dce634413, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf518381dce634413, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ea30, rs 0xf518381dce634413, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ea30703, rs 0xf518381dce634413, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x18aeb13, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x18aeb13, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x18aeb13, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe4627f3f, rs 0xe4627f3fe5255fc0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe4627f3fe5255fc0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1c8c4, rs 0xe4627f3fe5255fc0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1c8c4fe7, rs 0xe4627f3fe5255fc0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x54bf6a4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x54bf6a4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x54bf6a4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xccd392e1, rs 0xccd392e176321f28, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xccd392e176321f28, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x199a7, rs 0xccd392e176321f28, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x199a725c, rs 0xccd392e176321f28, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x808d07d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x808d07d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x808d07d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x82946494, rs 0x829464944018fd8f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x829464944018fd8f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10528, rs 0x829464944018fd8f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10528c92, rs 0x829464944018fd8f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xcc9cdca, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xcc9cdca, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xcc9cdca, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x15d32040, rs 0x15d3204052e8f0e5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15d3204052e8f0e5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2ba6, rs 0x15d3204052e8f0e5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2ba6408, rs 0x15d3204052e8f0e5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7897ab07, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7897ab07, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7897ab07, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7caf83d2, rs 0x7caf83d2880ff344, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf95f, rs 0x7caf83d2880ff344, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf95f07a, rs 0x7caf83d2880ff344, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7c56b6b0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7c56b6b0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7c56b6b0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf156a04c, rs 0xf156a04c747defd7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf156a04c747defd7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1e2ad, rs 0xf156a04c747defd7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1e2ad409, rs 0xf156a04c747defd7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x71159069, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x71159069, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x71159069, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x93e2601c, rs 0x93e2601c0f31d710, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x93e2601c0f31d710, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x127c4, rs 0x93e2601c0f31d710, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x127c4c03, rs 0x93e2601c0f31d710, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x75d48dde, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x75d48dde, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x75d48dde, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe1e1a679, rs 0xe1e1a679131cd933, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe1e1a679131cd933, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1c3c3, rs 0xe1e1a679131cd933, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1c3c34cf, rs 0xe1e1a679131cd933, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6b93dddb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6b93dddb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6b93dddb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x24296b75, rs 0x24296b75a76fa427, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x24296b75a76fa427, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4852, rs 0x24296b75a76fa427, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4852d6e, rs 0x24296b75a76fa427, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6f52c06c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6f52c06c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6f52c06c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd296e2d2, rs 0xd296e2d2139ee56a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd296e2d2139ee56a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a52d, rs 0xd296e2d2139ee56a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a52dc5a, rs 0xd296e2d2139ee56a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6211e6b5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6211e6b5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6211e6b5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x5a82447f, rs 0x5a82447f6dc2a5c0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xb504, rs 0x5a82447f6dc2a5c0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xb50488f, rs 0x5a82447f6dc2a5c0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x66d0fb02, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x66d0fb02, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x66d0fb02, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x76c89e80, rs 0x76c89e80c07dc168, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xed91, rs 0x76c89e80c07dc168, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xed913d0, rs 0x76c89e80c07dc168, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5e9f46bf, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5e9f46bf, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5e9f46bf, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x70dc345, rs 0x70dc3454bfe348f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x70dc3454bfe348f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe1b, rs 0x70dc3454bfe348f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe1b868, rs 0x70dc3454bfe348f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5a5e5b08, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5a5e5b08, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5a5e5b08, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbddc7123, rs 0xbddc7123dd6d241b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbddc7123dd6d241b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x17bb8, rs 0xbddc7123dd6d241b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x17bb8e24, rs 0xbddc7123dd6d241b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x571d7dd1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x571d7dd1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x571d7dd1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf62fb727, rs 0xf62fb727a59fcebe, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf62fb727a59fcebe, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ec5f, rs 0xf62fb727a59fcebe, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ec5f6e4, rs 0xf62fb727a59fcebe, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x53dc6066, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x53dc6066, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x53dc6066, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x109f27e9, rs 0x109f27e90f9f46fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x109f27e90f9f46fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x213e, rs 0x109f27e90f9f46fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x213e4fd, rs 0x109f27e90f9f46fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4d9b3063, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4d9b3063, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4d9b3063, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3f63daa9, rs 0x3f63daa9afd199d7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f63daa9afd199d7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7ec7, rs 0x3f63daa9afd199d7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7ec7b55, rs 0x3f63daa9afd199d7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x495a2dd4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x495a2dd4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x495a2dd4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xdbcb312e, rs 0xdbcb312ea3d484f2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xdbcb312ea3d484f2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1b796, rs 0xdbcb312ea3d484f2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1b796625, rs 0xdbcb312ea3d484f2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x44190b0d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x44190b0d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x44190b0d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1f353faa, rs 0x1f353faada4fe4c6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x3e6a, rs 0x1f353faada4fe4c6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x3e6a7f5, rs 0x1f353faada4fe4c6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x40d816ba, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x40d816ba, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x40d816ba, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8b086ee0, rs 0x8b086ee07150c260, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8b086ee07150c260, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x11610, rs 0x8b086ee07150c260, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x11610ddc, rs 0x8b086ee07150c260, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffaca5c697, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffaca5c697, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffaca5c697, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffaca5c697, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe54750d5, rs 0xe54750d5d9257f25, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe54750d5d9257f25, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ca8e, rs 0xe54750d5d9257f25, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ca8ea1a, rs 0xe54750d5d9257f25, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa864db20, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa864db20, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa864db20, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa864db20, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3d69625f, rs 0x3d69625fe9a6db5b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3d69625fe9a6db5b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7ad2, rs 0x3d69625fe9a6db5b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7ad2c4b, rs 0x3d69625fe9a6db5b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa527fdf9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa527fdf9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa527fdf9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa527fdf9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x70a3e042, rs 0x70a3e0424340ac96, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe147, rs 0x70a3e0424340ac96, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe147c08, rs 0x70a3e0424340ac96, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa1e6e04e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa1e6e04e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa1e6e04e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc0478f03, rs 0xc0478f036980171e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc0478f036980171e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1808f, rs 0xc0478f036980171e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1808f1e0, rs 0xc0478f036980171e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbfa1b04b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbfa1b04b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbfa1b04b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3ce839a5, rs 0x3ce839a51cf929e3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ce839a51cf929e3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x79d0, rs 0x3ce839a51cf929e3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x79d0734, rs 0x3ce839a51cf929e3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbb60adfc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbb60adfc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbb60adfc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbb60adfc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe2fbfa89, rs 0xe2fbfa895eb68958, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe2fbfa895eb68958, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1c5f7, rs 0xe2fbfa895eb68958, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1c5f7f51, rs 0xe2fbfa895eb68958, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb6238b25, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb6238b25, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb6238b25, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb6238b25, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd24bb05d, rs 0xd24bb05d76ed25b7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd24bb05d76ed25b7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a497, rs 0xd24bb05d76ed25b7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a49760b, rs 0xd24bb05d76ed25b7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb2e29692, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb2e29692, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb2e29692, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb2e29692, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xeb9682c, rs 0xeb9682c170312f1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xeb9682c170312f1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1d72, rs 0xeb9682c170312f1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1d72d05, rs 0xeb9682c170312f1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8aad2b2f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8aad2b2f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8aad2b2f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x84785280, rs 0x84785280dd301d0d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x84785280dd301d0d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x108f0, rs 0x84785280dd301d0d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x108f0a50, rs 0x84785280dd301d0d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x179c77aa, rs 0x179c77aa1f8fd6ef, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x179c77aa1f8fd6ef, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2f38, rs 0x179c77aa1f8fd6ef, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2f38ef5, rs 0x179c77aa1f8fd6ef, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x26444ced, rs 0x26444ced2998436d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x26444ced2998436d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4c88, rs 0x26444ced2998436d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4c8899d, rs 0x26444ced2998436d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff87ee0df6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff87ee0df6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff87ee0df6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff87ee0df6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7175c9d, rs 0x7175c9dd58ca708, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe2e, rs 0x7175c9dd58ca708, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe2eb93, rs 0x7175c9dd58ca708, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff99a95df3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff99a95df3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff99a95df3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff99a95df3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x663d0610, rs 0x663d061055833287, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x663d061055833287, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xcc7a, rs 0x663d061055833287, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xcc7a0c2, rs 0x663d061055833287, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9d684044, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9d684044, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9d684044, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9d684044, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xab7dd048, rs 0xab7dd0488951d68b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xab7dd0488951d68b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x156fb, rs 0xab7dd0488951d68b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x156fba09, rs 0xab7dd0488951d68b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff902b669d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff902b669d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff902b669d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff902b669d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf6982367, rs 0xf69823670e82471b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf69823670e82471b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ed30, rs 0xf69823670e82471b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ed3046c, rs 0xf69823670e82471b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff94ea7b2a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff94ea7b2a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff94ea7b2a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x36886c59, rs 0x36886c59d98d26b2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6d10, rs 0x36886c59d98d26b2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6d10d8b, rs 0x36886c59d98d26b2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe0b41de7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe0b41de7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe0b41de7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe0b41de7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9ca4bdb, rs 0x9ca4bdbd32be479, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x9ca4bdbd32be479, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1394, rs 0x9ca4bdbd32be479, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x139497b, rs 0x9ca4bdbd32be479, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe4750050, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe4750050, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe4750050, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe4750050, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xfd5d7d1d, rs 0xfd5d7d1d9962e61f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfd5d7d1d9962e61f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1faba, rs 0xfd5d7d1d9962e61f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fabafa3, rs 0xfd5d7d1d9962e61f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe9362689, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe9362689, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe9362689, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe9362689, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3f46553e, rs 0x3f46553ecad374df, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f46553ecad374df, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7e8c, rs 0x3f46553ecad374df, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7e8caa7, rs 0x3f46553ecad374df, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffedf73b3e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffedf73b3e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffedf73b3e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffedf73b3e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2e9ab97d, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5d35, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x5d3572f, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff3b06b3b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff3b06b3b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff3b06b3b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x36a6f7fa, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6d4d, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6d4deff, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff771768c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff771768c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff771768c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff771768c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8bb938e3, rs 0x8bb938e3155ec9dc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8bb938e3155ec9dc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x11772, rs 0x8bb938e3155ec9dc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1177271c, rs 0x8bb938e3155ec9dc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffffa325055, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffa325055, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffffa325055, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffffa325055, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd2df25c4, rs 0xd2df25c419478206, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd2df25c419478206, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a5be, rs 0xd2df25c419478206, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a5be4b8, rs 0xd2df25c419478206, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffffef34de2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffef34de2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffffef34de2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffffef34de2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbc65bf27, rs 0xbc65bf27eb321825, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbc65bf27eb321825, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x178cb, rs 0xbc65bf27eb321825, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x178cb7e4, rs 0xbc65bf27eb321825, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc6bcf05f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc6bcf05f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc6bcf05f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa8b08fe6, rs 0xa8b08fe67a8bc7da, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa8b08fe67a8bc7da, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15161, rs 0xa8b08fe67a8bc7da, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x151611fc, rs 0xa8b08fe67a8bc7da, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc27dede8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc27dede8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc27dede8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc27dede8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x852b5bca, rs 0x852b5bcaf8dfcde8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x852b5bcaf8dfcde8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10a56, rs 0x852b5bcaf8dfcde8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10a56b79, rs 0x852b5bcaf8dfcde8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffcf3ecb31, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffcf3ecb31, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffcf3ecb31, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x478909b, rs 0x478909b59a99269, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x478909b59a99269, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x8f1, rs 0x478909b59a99269, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x8f1213, rs 0x478909b59a99269, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffcbffd686, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcbffd686, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffcbffd686, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffcbffd686, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbfb31cc8, rs 0xbfb31cc87857360f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbfb31cc87857360f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x17f66, rs 0xbfb31cc87857360f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x17f66399, rs 0xbfb31cc87857360f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd5b88683, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd5b88683, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd5b88683, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd5b88683, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb665ed5e, rs 0xb665ed5e7f89e9a2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb665ed5e7f89e9a2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x16ccb, rs 0xb665ed5e7f89e9a2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x16ccbdab, rs 0xb665ed5e7f89e9a2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd1799b34, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd1799b34, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd1799b34, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd1799b34, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x15da9474, rs 0x15da9474b7a8d5e4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2bb5, rs 0x15da9474b7a8d5e4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2bb528e, rs 0x15da9474b7a8d5e4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffdc3abded, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdc3abded, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffdc3abded, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffdc3abded, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf6b3537d, rs 0xf6b3537d2af90fcc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf6b3537d2af90fcc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ed66, rs 0xf6b3537d2af90fcc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ed66a6f, rs 0xf6b3537d2af90fcc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd8fba05a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd8fba05a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd8fba05a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd8fba05a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x223d7cfe, rs 0x223d7cfe2b961897, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x223d7cfe2b961897, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x447a, rs 0x223d7cfe2b961897, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x447af9f, rs 0x223d7cfe2b961897, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x690ce0ee, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x690ce0ee, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x690ce0ee, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x420b34f5, rs 0x420b34f533734a4b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x420b34f533734a4b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x8416, rs 0x420b34f533734a4b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x841669e, rs 0x420b34f533734a4b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6dcdfd59, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6dcdfd59, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6dcdfd59, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x897c8c8d, rs 0x897c8c8ddd46b33c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x897c8c8ddd46b33c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x112f9, rs 0x897c8c8ddd46b33c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x112f9191, rs 0x897c8c8ddd46b33c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x608edb80, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x608edb80, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x608edb80, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7a387445, rs 0x7a387445e392ccd9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7a387445e392ccd9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf470, rs 0x7a387445e392ccd9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf470e88, rs 0x7a387445e392ccd9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x644fc637, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x644fc637, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x644fc637, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x512f29b1, rs 0x512f29b1d80000c9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x512f29b1d80000c9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xa25e, rs 0x512f29b1d80000c9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xa25e536, rs 0x512f29b1d80000c9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7a089632, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7a089632, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7a089632, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xeaded5c5, rs 0xeaded5c53dad020a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xeaded5c53dad020a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1d5bd, rs 0xeaded5c53dad020a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1d5bdab8, rs 0xeaded5c53dad020a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7ec98b85, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7ec98b85, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7ec98b85, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8a6229d7, rs 0x8a6229d731eea35b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8a6229d731eea35b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x114c4, rs 0x8a6229d731eea35b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x114c453a, rs 0x8a6229d731eea35b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x738aad5c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x738aad5c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x738aad5c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2c3c3f9e, rs 0x2c3c3f9e48985649, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c3c3f9e48985649, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5878, rs 0x2c3c3f9e48985649, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x58787f3, rs 0x2c3c3f9e48985649, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x774bb0eb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x774bb0eb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x774bb0eb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7ff61e78, rs 0x7ff61e78dc9c0b77, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ff61e78dc9c0b77, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xffec, rs 0x7ff61e78dc9c0b77, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xffec3cf, rs 0x7ff61e78dc9c0b77, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4f040d56, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4f040d56, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4f040d56, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2299b0e0, rs 0x2299b0e01d5e68ec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4533, rs 0x2299b0e01d5e68ec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x453361c, rs 0x2299b0e01d5e68ec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4bc510e1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4bc510e1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4bc510e1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7c3b0467, rs 0x7c3b04673d0c6e25, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7c3b04673d0c6e25, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf876, rs 0x7c3b04673d0c6e25, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf87608c, rs 0x7c3b04673d0c6e25, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x46863638, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x46863638, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x46863638, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x164e17c1, rs 0x164e17c1e7fb6587, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x164e17c1e7fb6587, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2c9c, rs 0x164e17c1e7fb6587, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2c9c2f8, rs 0x164e17c1e7fb6587, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x42472b8f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x42472b8f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x42472b8f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xfa4ca28b, rs 0xfa4ca28b56d4950b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfa4ca28b56d4950b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f499, rs 0xfa4ca28b56d4950b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f499451, rs 0xfa4ca28b56d4950b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5c007b8a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5c007b8a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5c007b8a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe5e9a314, rs 0xe5e9a314be7fa08a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe5e9a314be7fa08a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1cbd3, rs 0xe5e9a314be7fa08a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1cbd3462, rs 0xe5e9a314be7fa08a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x58c1663d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x58c1663d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x58c1663d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf8be8164, rs 0xf8be8164159649c5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf8be8164159649c5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f17d, rs 0xf8be8164159649c5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f17d02c, rs 0xf8be8164159649c5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x558240e4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x558240e4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x558240e4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7ca32597, rs 0x7ca3259784e69b17, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ca3259784e69b17, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf946, rs 0x7ca3259784e69b17, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf9464b2, rs 0x7ca3259784e69b17, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x51435d53, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x51435d53, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x51435d53, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xfc8d543c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfc8d543ca1f24f5c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f91a, rs 0xfc8d543ca1f24f5c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f91aa87, rs 0xfc8d543ca1f24f5c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x251d3b9e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x251d3b9e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x251d3b9e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x4aeb6ca0, rs 0x4aeb6ca0e3459e36, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x95d6, rs 0x4aeb6ca0e3459e36, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x95d6d94, rs 0x4aeb6ca0e3459e36, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x21dc2629, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x21dc2629, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x21dc2629, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc532e18e, rs 0xc532e18e187980fa, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc532e18e187980fa, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x18a65, rs 0xc532e18e187980fa, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x18a65c31, rs 0xc532e18e187980fa, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2c9f00f0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2c9f00f0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2c9f00f0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb3fdec29, rs 0xb3fdec294f287d1c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb3fdec294f287d1c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x167fb, rs 0xb3fdec294f287d1c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x167fbd85, rs 0xb3fdec294f287d1c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x285e1d47, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x285e1d47, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x285e1d47, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb620660a, rs 0xb620660a49732b90, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb620660a49732b90, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x16c40, rs 0xb620660a49732b90, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x16c40cc1, rs 0xb620660a49732b90, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x36194d42, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x36194d42, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x36194d42, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x993138f1, rs 0x993138f16cfde991, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x993138f16cfde991, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x13262, rs 0x993138f16cfde991, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1326271e, rs 0x993138f16cfde991, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x32d850f5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x32d850f5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x32d850f5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xde02d133, rs 0xde02d1337d5407b9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xde02d1337d5407b9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1bc05, rs 0xde02d1337d5407b9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1bc05a26, rs 0xde02d1337d5407b9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3f9b762c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3f9b762c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3f9b762c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x13a390e1, rs 0x13a390e1e1dab15a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2747, rs 0x13a390e1e1dab15a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x274721c, rs 0x13a390e1e1dab15a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3b5a6b9b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3b5a6b9b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x743491a6, rs 0x743491a6828716c8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x743491a6828716c8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe869, rs 0x743491a6828716c8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe869234, rs 0x743491a6828716c8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x315d626, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x315d626, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x315d626, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8cff404a, rs 0x8cff404aede292f2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8cff404aede292f2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x119fe, rs 0x8cff404aede292f2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x119fe809, rs 0x8cff404aede292f2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7d4cb91, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7d4cb91, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7d4cb91, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb9cec0db, rs 0xb9cec0db1f837636, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb9cec0db1f837636, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1739d, rs 0xb9cec0db1f837636, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1739d81b, rs 0xb9cec0db1f837636, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xa97ed48, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xa97ed48, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xa97ed48, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2eaa5aa7, rs 0x2eaa5aa70509771c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5d54, rs 0x2eaa5aa70509771c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x5d54b54, rs 0x2eaa5aa70509771c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xe56f0ff, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xe56f0ff, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xe56f0ff, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd327538e, rs 0xd327538e1875241b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd327538e1875241b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a64e, rs 0xd327538e1875241b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a64ea71, rs 0xd327538e1875241b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1011a0fa, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1011a0fa, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1011a0fa, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x42e9f854, rs 0x42e9f8548b739b6b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x42e9f8548b739b6b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x85d3, rs 0x42e9f8548b739b6b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x85d3f0a, rs 0x42e9f8548b739b6b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x14d0bd4d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x14d0bd4d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x14d0bd4d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x78e4e50c, rs 0x78e4e50ceccbba1a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf1c9, rs 0x78e4e50ceccbba1a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf1c9ca1, rs 0x78e4e50ceccbba1a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x19939b94, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x19939b94, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x19939b94, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf6b6fa3f, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ed6d, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ed6df47, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1d528623, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1d528623, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1d528623, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x73916483, rs 0x73916483ae3e9423, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x73916483ae3e9423, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe722, rs 0x73916483ae3e9423, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe722c90, rs 0x73916483ae3e9423, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff12f560e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff12f560e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff12f560e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff12f560e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x276af70a, rs 0x276af70a0e128561, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x276af70a0e128561, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4ed5, rs 0x276af70a0e128561, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4ed5ee1, rs 0x276af70a0e128561, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff5ee4bb9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff5ee4bb9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff5ee4bb9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3045bf6, rs 0x3045bf6b5e74b6e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x608, rs 0x3045bf6b5e74b6e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x608b7e, rs 0x3045bf6b5e74b6e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff8ad6d60, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff8ad6d60, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff8ad6d60, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x20223f13, rs 0x20223f1308accfa6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x20223f1308accfa6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4044, rs 0x20223f1308accfa6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x40447e2, rs 0x20223f1308accfa6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffffc6c70d7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffffc6c70d7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffffc6c70d7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf83c5574, rs 0xf83c55743976b5f5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf83c55743976b5f5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1f078, rs 0xf83c55743976b5f5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1f078aae, rs 0xf83c55743976b5f5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe22b20d2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe22b20d2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe22b20d2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe22b20d2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1f9720f9, rs 0x1f9720f946923c3d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1f9720f946923c3d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x3f2e, rs 0x1f9720f946923c3d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x3f2e41f, rs 0x1f9720f946923c3d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe6ea3d65, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe6ea3d65, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe6ea3d65, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x620d2850, rs 0x620d28506d2448dd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x620d28506d2448dd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xc41a, rs 0x620d28506d2448dd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xc41a50a, rs 0x620d28506d2448dd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffeba91bbc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffeba91bbc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffeba91bbc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffeba91bbc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x60a521e9, rs 0x60a521e99ff4a732, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xc14a, rs 0x60a521e99ff4a732, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xc14a43d, rs 0x60a521e99ff4a732, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffef68060b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffef68060b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffef68060b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffef68060b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x5a08f3ab, rs 0x5a08f3ab5c680f0b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5a08f3ab5c680f0b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xb411, rs 0x5a08f3ab5c680f0b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xb411e75, rs 0x5a08f3ab5c680f0b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd727bbb6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd727bbb6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd727bbb6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd727bbb6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc7a59be7, rs 0xc7a59be7800f3d26, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc7a59be7800f3d26, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x18f4b, rs 0xc7a59be7800f3d26, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x18f4b37c, rs 0xc7a59be7800f3d26, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd3e6a601, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd3e6a601, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd3e6a601, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1aecdf29, rs 0x1aecdf2982ca1b41, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1aecdf2982ca1b41, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x35d9, rs 0x1aecdf2982ca1b41, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x35d9be5, rs 0x1aecdf2982ca1b41, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffdea580d8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdea580d8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffdea580d8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffdea580d8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2b8613a2, rs 0x2b8613a260d19dcd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2b8613a260d19dcd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x570c, rs 0x2b8613a260d19dcd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x570c274, rs 0x2b8613a260d19dcd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffda649d6f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffda649d6f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffda649d6f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffda649d6f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2518ac8b, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4a31, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4a31591, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc423cd6a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc423cd6a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc423cd6a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc423cd6a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x743e568d, rs 0x743e568d2fcf486b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x743e568d2fcf486b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xe87c, rs 0x743e568d2fcf486b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xe87cad1, rs 0x743e568d2fcf486b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x126f646f, rs 0x126f646f34c31728, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x126f646f34c31728, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x24de, rs 0x126f646f34c31728, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x24dec8d, rs 0x126f646f34c31728, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffcda1f604, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcda1f604, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffcda1f604, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffcda1f604, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xaab01961, rs 0xaab0196156fc4d12, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xaab0196156fc4d12, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15560, rs 0xaab0196156fc4d12, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1556032c, rs 0xaab0196156fc4d12, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7535cd33, rs 0x7535cd338595d342, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7535cd338595d342, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xea6b, rs 0x7535cd338595d342, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xea6b9a6, rs 0x7535cd338595d342, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbd3e8d7e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbd3e8d7e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbd3e8d7e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xdfb254da, rs 0xdfb254da422346ec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xdfb254da422346ec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1bf64, rs 0xdfb254da422346ec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1bf64a9b, rs 0xdfb254da422346ec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb9ff90c9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb9ff90c9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb9ff90c9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa86726c9, rs 0xa86726c90081ab2a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa86726c90081ab2a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x150ce, rs 0xa86726c90081ab2a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x150ce4d9, rs 0xa86726c90081ab2a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb4bcb610, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb4bcb610, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb4bcb610, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb4bcb610, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9bfeffa1, rs 0x9bfeffa1679d7438, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9bfeffa1679d7438, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x137fd, rs 0x9bfeffa1679d7438, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x137fdff4, rs 0x9bfeffa1679d7438, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb07daba7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb07daba7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb07daba7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb07daba7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc7699826, rs 0xc7699826b7dee244, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc7699826b7dee244, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x18ed3, rs 0xc7699826b7dee244, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x18ed3304, rs 0xc7699826b7dee244, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffae3afba2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffae3afba2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffae3afba2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffae3afba2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3c07af97, rs 0x3c07af97fba6704a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x780f, rs 0x3c07af97fba6704a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x780f5f2, rs 0x3c07af97fba6704a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffaafbe615, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffaafbe615, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffaafbe615, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffaafbe615, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x521364dc, rs 0x521364dc04c58bfe, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xa426, rs 0x521364dc04c58bfe, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xa426c9b, rs 0x521364dc04c58bfe, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa7b8c0cc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa7b8c0cc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa7b8c0cc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe0f7bb58, rs 0xe0f7bb589ab7aebc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe0f7bb589ab7aebc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1c1ef, rs 0xe0f7bb589ab7aebc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1c1ef76b, rs 0xe0f7bb589ab7aebc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa379dd7b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa379dd7b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa379dd7b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa379dd7b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe336c60c, rs 0xe336c60cdeeb954d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe336c60cdeeb954d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1c66d, rs 0xe336c60cdeeb954d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1c66d8c1, rs 0xe336c60cdeeb954d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9b3660c6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9b3660c6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9b3660c6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9b3660c6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd5b2120c, rs 0xd5b2120c6f52416e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd5b2120c6f52416e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ab64, rs 0xd5b2120c6f52416e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ab64241, rs 0xd5b2120c6f52416e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9ff77d71, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9ff77d71, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9ff77d71, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9ff77d71, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x85a2d4ff, rs 0x85a2d4ff7e628a34, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x85a2d4ff7e628a34, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x10b45, rs 0x85a2d4ff7e628a34, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x10b45a9f, rs 0x85a2d4ff7e628a34, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff92b45ba8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff92b45ba8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff92b45ba8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff92b45ba8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x986a2b65, rs 0x986a2b654a4e7e07, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x986a2b654a4e7e07, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x130d4, rs 0x986a2b654a4e7e07, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x130d456c, rs 0x986a2b654a4e7e07, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9675461f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9675461f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9675461f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9675461f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa974eac4, rs 0xa974eac43a489b55, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa974eac43a489b55, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x152e9, rs 0xa974eac43a489b55, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x152e9d58, rs 0xa974eac43a489b55, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8832161a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8832161a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8832161a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8832161a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa388c162, rs 0xa388c16272f1f8f5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa388c16272f1f8f5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x14711, rs 0xa388c16272f1f8f5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1471182c, rs 0xa388c16272f1f8f5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8cf30bad, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8cf30bad, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8cf30bad, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8cf30bad, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe8c11f45, rs 0xe8c11f45e7495ea9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe8c11f45e7495ea9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1d182, rs 0xe8c11f45e7495ea9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1d1823e8, rs 0xe8c11f45e7495ea9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff81b02d74, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff81b02d74, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff81b02d74, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff81b02d74, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xadaa5a76, rs 0xadaa5a765cc1c8b4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xadaa5a765cc1c8b4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15b54, rs 0xadaa5a765cc1c8b4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15b54b4e, rs 0xadaa5a765cc1c8b4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff857130c3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff857130c3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff857130c3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff857130c3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7ab4ce88, rs 0x7ab4ce88dfa605c0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf569, rs 0x7ab4ce88dfa605c0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf5699d1, rs 0x7ab4ce88dfa605c0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5d8a9099, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5d8a9099, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5d8a9099, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb42ad6e6, rs 0xb42ad6e659a7b04f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb42ad6e659a7b04f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x16855, rs 0xb42ad6e659a7b04f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x16855adc, rs 0xb42ad6e659a7b04f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x594b8d2e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x594b8d2e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x594b8d2e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x4bf8485a, rs 0x4bf8485ab728922f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4bf8485ab728922f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x97f0, rs 0x4bf8485ab728922f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x97f090b, rs 0x4bf8485ab728922f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x5408abf7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x5408abf7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x5408abf7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x76a3d60c, rs 0x76a3d60c3b66a7fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76a3d60c3b66a7fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xed47, rs 0x76a3d60c3b66a7fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xed47ac1, rs 0x76a3d60c3b66a7fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x50c9b640, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x50c9b640, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x50c9b640, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x31e0c6af, rs 0x31e0c6affdc28eda, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x63c1, rs 0x31e0c6affdc28eda, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x63c18d5, rs 0x31e0c6affdc28eda, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4e8ee645, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4e8ee645, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4e8ee645, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x53606bb4, rs 0x53606bb4bf0c999d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x53606bb4bf0c999d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xa6c0, rs 0x53606bb4bf0c999d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xa6c0d76, rs 0x53606bb4bf0c999d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x4a4ffbf2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x4a4ffbf2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x32fc12c8, rs 0x32fc12c81b7919f0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x65f8, rs 0x32fc12c81b7919f0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x65f8259, rs 0x32fc12c81b7919f0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x470cdd2b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x470cdd2b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x470cdd2b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3ef88384, rs 0x3ef88384c72efcd6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7df1, rs 0x3ef88384c72efcd6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7df1070, rs 0x3ef88384c72efcd6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x43cdc09c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x43cdc09c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x43cdc09c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x38b1c7bb, rs 0x38b1c7bb6a2a3580, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7163, rs 0x38b1c7bb6a2a3580, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x71638f7, rs 0x38b1c7bb6a2a3580, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7b827d21, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7b827d21, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7b827d21, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x15ebf612, rs 0x15ebf6121dca77c9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x15ebf6121dca77c9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2bd7, rs 0x15ebf6121dca77c9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2bd7ec2, rs 0x15ebf6121dca77c9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7f436096, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7f436096, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7f436096, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x5eaacdd9, rs 0x5eaacdd9fd9147ae, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xbd55, rs 0x5eaacdd9fd9147ae, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xbd559bb, rs 0x5eaacdd9fd9147ae, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x7200464f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x7200464f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x7200464f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbb8470f9, rs 0xbb8470f981e91117, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbb8470f981e91117, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x17708, rs 0xbb8470f981e91117, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x17708e1f, rs 0xbb8470f981e91117, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x76c15bf8, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x76c15bf8, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x76c15bf8, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x5d42aea, rs 0x5d42aeac6a532e0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xba8, rs 0x5d42aeac6a532e0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xba855d, rs 0x5d42aeac6a532e0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x68860bfd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x68860bfd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x68860bfd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x14abf364, rs 0x14abf36419fb9e63, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x14abf36419fb9e63, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2957, rs 0x14abf36419fb9e63, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2957e6c, rs 0x14abf36419fb9e63, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x6c47164a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x6c47164a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x6c47164a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x249d559a, rs 0x249d559aa8d72aac, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x493a, rs 0x249d559aa8d72aac, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x493aab3, rs 0x249d559aa8d72aac, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x61043093, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x61043093, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x61043093, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xcd6764f, rs 0xcd6764f084b30ec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x19ac, rs 0xcd6764f084b30ec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x19acec9, rs 0xcd6764f084b30ec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x65c52d24, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x65c52d24, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x65c52d24, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7f03ac07, rs 0x7f03ac0792468fdf, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f03ac0792468fdf, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xfe07, rs 0x7f03ac0792468fdf, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xfe07580, rs 0x7f03ac0792468fdf, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x119b4be9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x119b4be9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x119b4be9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7e35ce6d, rs 0x7e35ce6d56e670f5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7e35ce6d56e670f5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xfc6b, rs 0x7e35ce6d56e670f5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xfc6b9cd, rs 0x7e35ce6d56e670f5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x155a565e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x155a565e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x155a565e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x15282859, rs 0x152828591a652711, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x152828591a652711, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2a50, rs 0x152828591a652711, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2a5050b, rs 0x152828591a652711, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x18197087, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x18197087, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x18197087, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9e1c3283, rs 0x9e1c3283d215a9fb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9e1c3283d215a9fb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x13c38, rs 0x9e1c3283d215a9fb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x13c38650, rs 0x9e1c3283d215a9fb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x1cd86d30, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x1cd86d30, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x1cd86d30, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8d95c049, rs 0x8d95c049282a0417, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8d95c049282a0417, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x11b2b, rs 0x8d95c049282a0417, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x11b2b809, rs 0x8d95c049282a0417, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x29f3d35, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x29f3d35, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x29f3d35, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf2e7a490, rs 0xf2e7a490978058f3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf2e7a490978058f3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1e5cf, rs 0xf2e7a490978058f3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1e5cf492, rs 0xf2e7a490978058f3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x65e2082, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x65e2082, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x65e2082, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x775b4cca, rs 0x775b4cca0975b1aa, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xeeb6, rs 0x775b4cca0975b1aa, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xeeb6999, rs 0x775b4cca0975b1aa, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xb1d065b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xb1d065b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xb1d065b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa2b84a6, rs 0xa2b84a635111020, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xa2b84a635111020, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1457, rs 0xa2b84a635111020, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1457094, rs 0xa2b84a635111020, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0xfdc1bec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0xfdc1bec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0xfdc1bec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x23fa0d3, rs 0x23fa0d3a7d88b6f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x23fa0d3a7d88b6f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x47f, rs 0x23fa0d3a7d88b6f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x47f41a, rs 0x23fa0d3a7d88b6f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3793a651, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3793a651, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3793a651, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa3d991b7, rs 0xa3d991b79941dedd, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa3d991b79941dedd, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x147b3, rs 0xa3d991b79941dedd, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x147b3236, rs 0xa3d991b79941dedd, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3352bbe6, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3352bbe6, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3352bbe6, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x751cb483, rs 0x751cb4835a0d9508, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xea39, rs 0x751cb4835a0d9508, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xea39690, rs 0x751cb4835a0d9508, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3e119d3f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3e119d3f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3e119d3f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x949cad35, rs 0x949cad35625bb2d3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x949cad35625bb2d3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x12939, rs 0x949cad35625bb2d3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x129395a6, rs 0x949cad35625bb2d3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x3ad08088, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x3ad08088, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x3ad08088, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7f567f35, rs 0x7f567f35a6929739, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7f567f35a6929739, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xfeac, rs 0x7f567f35a6929739, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xfeacfe6, rs 0x7f567f35a6929739, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2497d08d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2497d08d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2497d08d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x185b88e0, rs 0x185b88e0db8d7d27, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x185b88e0db8d7d27, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x30b7, rs 0x185b88e0db8d7d27, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x30b711c, rs 0x185b88e0db8d7d27, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2056cd3a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2056cd3a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2056cd3a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x255a4cd2, rs 0x255a4cd22fd61b91, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x255a4cd22fd61b91, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x4ab4, rs 0x255a4cd22fd61b91, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x4ab499a, rs 0x255a4cd22fd61b91, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x2d15ebe3, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x2d15ebe3, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x2d15ebe3, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1048d589, rs 0x1048d589a4363f7b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1048d589a4363f7b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2091, rs 0x1048d589a4363f7b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2091ab1, rs 0x1048d589a4363f7b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x0, rs 0x29d4f654, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x0, rs 0x29d4f654, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x0, rs 0x29d4f654, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x6a6d5708, rs 0x6a6d5708f4605790, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xd4da, rs 0x6a6d5708f4605790, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xd4daae1, rs 0x6a6d5708f4605790, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc5a92679, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc5a92679, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc5a92679, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc5a92679, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd58ecbab, rs 0xd58ecbabde35697f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd58ecbabde35697f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ab1d, rs 0xd58ecbabde35697f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ab1d975, rs 0xd58ecbabde35697f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc1683bce, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc1683bce, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc1683bce, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc1683bce, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x575548fd, rs 0x575548fd08c0a5f1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x575548fd08c0a5f1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xaeaa, rs 0x575548fd08c0a5f1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xaeaa91f, rs 0x575548fd08c0a5f1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffcc2b1d17, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffcc2b1d17, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffcc2b1d17, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x8bb640fb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x8bb640fb8ed98ddb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1176c, rs 0x8bb640fb8ed98ddb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1176c81f, rs 0x8bb640fb8ed98ddb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffc8ea00a0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffc8ea00a0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffc8ea00a0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xbe00d51e, rs 0xbe00d51eabc578cc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xbe00d51eabc578cc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x17c01, rs 0xbe00d51eabc578cc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x17c01aa3, rs 0xbe00d51eabc578cc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd6ad50a5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd6ad50a5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd6ad50a5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x2f7e224a, rs 0x2f7e224a1c170ab2, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x5efc, rs 0x2f7e224a1c170ab2, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x5efc449, rs 0x2f7e224a1c170ab2, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffd26c4d12, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd26c4d12, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffd26c4d12, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffd26c4d12, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa978f12c, rs 0xa978f12ca22256a7, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa978f12ca22256a7, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x152f1, rs 0xa978f12ca22256a7, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x152f1e25, rs 0xa978f12ca22256a7, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffdf2f6bcb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffdf2f6bcb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffdf2f6bcb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9950a93b, rs 0x9950a93b811ee02f, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9950a93b811ee02f, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x132a1, rs 0x9950a93b811ee02f, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x132a1527, rs 0x9950a93b811ee02f, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffdbee767c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdbee767c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffdbee767c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffdbee767c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xb44eea93, rs 0xb44eea93c6796a0c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xb44eea93c6796a0c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1689d, rs 0xb44eea93c6796a0c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1689dd52, rs 0xb44eea93c6796a0c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe3a1cbc1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe3a1cbc1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe3a1cbc1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xfe71fca0, rs 0xfe71fca06c0eb657, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfe71fca06c0eb657, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1fce3, rs 0xfe71fca06c0eb657, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fce3f94, rs 0xfe71fca06c0eb657, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffe760d676, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe760d676, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffe760d676, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffe760d676, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x4ed6393d, rs 0x4ed6393df818af57, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x4ed6393df818af57, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x9dac, rs 0x4ed6393df818af57, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x9dac727, rs 0x4ed6393df818af57, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffea23f0af, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffea23f0af, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffea23f0af, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffea23f0af, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xf22e9020, rs 0xf22e90200236770a, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xf22e90200236770a, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1e45d, rs 0xf22e90200236770a, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1e45d204, rs 0xf22e90200236770a, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffeee2ed18, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffeee2ed18, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffeee2ed18, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffeee2ed18, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x81efb6c7, rs 0x81efb6c7afd0c45d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x81efb6c7afd0c45d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x103df, rs 0x81efb6c7afd0c45d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x103df6d8, rs 0x81efb6c7afd0c45d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff0a5bd1d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff0a5bd1d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff0a5bd1d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xeed8f351, rs 0xeed8f3518102315b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xeed8f3518102315b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ddb1, rs 0xeed8f3518102315b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1ddb1e6a, rs 0xeed8f3518102315b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff464a0aa, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff464a0aa, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff464a0aa, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff464a0aa, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xadafefb9, rs 0xadafefb9995efd5e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xadafefb9995efd5e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15b5f, rs 0xadafefb9995efd5e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15b5fdf7, rs 0xadafefb9995efd5e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffff9278673, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff9278673, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffff9278673, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffff9278673, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x34061933, rs 0x34061933eb253086, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34061933eb253086, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x680c, rs 0x34061933eb253086, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x680c326, rs 0x34061933eb253086, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xfffffffffde69bc4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffde69bc4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xfffffffffde69bc4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xfffffffffde69bc4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x1748da26, rs 0x1748da264b4c52bc, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x2e91, rs 0x1748da264b4c52bc, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x2e91b44, rs 0x1748da264b4c52bc, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff89b8fd09, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff89b8fd09, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff89b8fd09, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff89b8fd09, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x34fdfc9a, rs 0x34fdfc9a9302be89, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x34fdfc9a9302be89, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x69fb, rs 0x34fdfc9a9302be89, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x69fbf93, rs 0x34fdfc9a9302be89, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff8d79e0be, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8d79e0be, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff8d79e0be, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff8d79e0be, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xd00278c3, rs 0xd00278c3c521d180, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xd00278c3c521d180, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1a004, rs 0xd00278c3c521d180, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1a004f18, rs 0xd00278c3c521d180, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff803ac667, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff803ac667, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff803ac667, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff803ac667, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xe90944a4, rs 0xe90944a4c1d37a5d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xe90944a4c1d37a5d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1d212, rs 0xe90944a4c1d37a5d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1d212894, rs 0xe90944a4c1d37a5d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff84fbdbd0, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff84fbdbd0, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff84fbdbd0, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x65fd698f, rs 0x65fd698fddef9839, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x65fd698fddef9839, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xcbfa, rs 0x65fd698fddef9839, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xcbfad31, rs 0x65fd698fddef9839, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9abc8bd5, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9abc8bd5, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9abc8bd5, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xc49ee3ad, rs 0xc49ee3ad81b5af52, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xc49ee3ad81b5af52, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1893d, rs 0xc49ee3ad81b5af52, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1893dc75, rs 0xc49ee3ad81b5af52, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff9e7d9662, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9e7d9662, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff9e7d9662, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff9e7d9662, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x7aa941e8, rs 0x7aa941e8bdb263e9, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x7aa941e8bdb263e9, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xf552, rs 0x7aa941e8bdb263e9, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xf55283d, rs 0x7aa941e8bdb263e9, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff933eb0bb, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff933eb0bb, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff933eb0bb, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff933eb0bb, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x372c209e, rs 0x372c209e42f3b58d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x372c209e42f3b58d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x6e58, rs 0x372c209e42f3b58d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x6e58413, rs 0x372c209e42f3b58d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffff97ffad0c, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff97ffad0c, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffff97ffad0c, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffff97ffad0c, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x30f870b7, rs 0x30f870b7e122a83b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x30f870b7e122a83b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x61f0, rs 0x30f870b7e122a83b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x61f0e16, rs 0x30f870b7e122a83b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffafb010b1, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffafb010b1, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffafb010b1, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffafb010b1, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x9e02de4b, rs 0x9e02de4b678930ec, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0x9e02de4b678930ec, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x13c05, rs 0x9e02de4b678930ec, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x13c05bc9, rs 0x9e02de4b678930ec, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffab710d06, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffab710d06, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffab710d06, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffab710d06, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xcd61a863, rs 0xcd61a8639826631e, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xcd61a8639826631e, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x19ac3, rs 0xcd61a8639826631e, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x19ac350c, rs 0xcd61a8639826631e, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa6322bdf, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa6322bdf, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa6322bdf, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa6322bdf, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xae87bc89, rs 0xae87bc899a7bd3ca, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xae87bc899a7bd3ca, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x15d0f, rs 0xae87bc899a7bd3ca, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x15d0f791, rs 0xae87bc899a7bd3ca, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffa2f33668, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa2f33668, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffa2f33668, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffa2f33668, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x58ec644d, rs 0x58ec644d6481af17, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x58ec644d6481af17, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xb1d8, rs 0x58ec644d6481af17, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xb1d8c89, rs 0x58ec644d6481af17, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffbcb4666d, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbcb4666d, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffbcb4666d, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffbcb4666d, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x680cce5f, rs 0x680cce5fb236b666, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x680cce5fb236b666, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xd019, rs 0x680cce5fb236b666, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xd0199cb, rs 0x680cce5fb236b666, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb8757bda, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb8757bda, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb8757bda, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb8757bda, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x3baa9947, rs 0x3baa99471f6d4d75, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x3baa99471f6d4d75, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x7755, rs 0x3baa99471f6d4d75, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x7755328, rs 0x3baa99471f6d4d75, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb5365d03, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb5365d03, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb5365d03, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb5365d03, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0x614d9b44, rs 0x614d9b445f12236b, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x0, rs 0x614d9b445f12236b, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0xc29b, rs 0x614d9b445f12236b, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0xc29b368, rs 0x614d9b445f12236b, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xffffffff, rs 0xffffffffb1f740b4, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb1f740b4, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1ffff, rs 0xffffffffb1f740b4, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1fffffff, rs 0xffffffffb1f740b4, imm 0x0003
+dsrl32 $t0, $t1, 0x00 :: rt 0xa2a6ec66, rs 0xa2a6ec661ba84121, imm 0x0000
+dsrl32 $t2, $t3, 0x1f :: rt 0x1, rs 0xa2a6ec661ba84121, imm 0x001f
+dsrl32 $a0, $a1, 0x0f :: rt 0x1454d, rs 0xa2a6ec661ba84121, imm 0x000f
+dsrl32 $s0, $s1, 0x03 :: rt 0x1454dd8c, rs 0xa2a6ec661ba84121, imm 0x0003
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+dsrlv $s0, $s1, $s2 :: rd 0xfd0, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+dsrlv $t0, $t1, $t2 :: rd 0x2, rs 0x9823b6e, rt 0xffffffffb8757bda
+dsrlv $s0, $s1, $s2 :: rd 0x4bb, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0xd4326d9, rt 0xffffffffbcb4666d
+dsrlv $s0, $s1, $s2 :: rd 0x2ddd1b5, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x130476dc, rt 0xffffffffa2f33668
+dsrlv $s0, $s1, $s2 :: rd 0x856181450c, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+dsrlv $s0, $s1, $s2 :: rd 0xaaa274c678f0c, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+dsrlv $t0, $t1, $t2 :: rd 0x6a1936, rs 0x1a864db2, rt 0xffffffffab710d06
+dsrlv $s0, $s1, $s2 :: rd 0x7cc23b0d, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x1e475005, rt 0xffffffffafb010b1
+dsrlv $s0, $s1, $s2 :: rd 0x7aa04, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+dsrlv $t0, $t1, $t2 :: rd 0x2608e, rs 0x2608edb8, rt 0xffffffff97ffad0c
+dsrlv $s0, $s1, $s2 :: rd 0x13, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+dsrlv $s0, $s1, $s2 :: rd 0x259eed434b0ad, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+dsrlv $s0, $s1, $s2 :: rd 0x2f3d2, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+dsrlv $t0, $t1, $t2 :: rd 0x15a, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+dsrlv $s0, $s1, $s2 :: rd 0xebcd6a77102, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+dsrlv $t0, $t1, $t2 :: rd 0x350c, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+dsrlv $s0, $s1, $s2 :: rd 0x23, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x31cd86d3, rt 0xffffffff803ac667
+dsrlv $s0, $s1, $s2 :: rd 0x4ab25bbfe, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+dsrlv $s0, $s1, $s2 :: rd 0xcebc8279b2c76bbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+dsrlv $t0, $t1, $t2 :: rd 0x1c27de, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+dsrlv $s0, $s1, $s2 :: rd 0x5a81a6178f8c72, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+dsrlv $t0, $t1, $t2 :: rd 0x4c11db7, rs 0x4c11db70, rt 0xfffffffffde69bc4
+dsrlv $s0, $s1, $s2 :: rd 0x9, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x48d0c6c7, rt 0xfffffffff9278673
+dsrlv $s0, $s1, $s2 :: rd 0xc7636459b7f143, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x4593e01e, rt 0xfffffffff464a0aa
+dsrlv $s0, $s1, $s2 :: rd 0xd9526f59, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+dsrlv $t0, $t1, $t2 :: rd 0x2, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+dsrlv $s0, $s1, $s2 :: rd 0x10bc14c633, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+dsrlv $t0, $t1, $t2 :: rd 0x5f, rs 0x5f15adac, rt 0xffffffffeee2ed18
+dsrlv $s0, $s1, $s2 :: rd 0x2ab59f656, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+dsrlv $s0, $s1, $s2 :: rd 0x2d0bd7f1607ba8, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x569796c2, rt 0xffffffffe760d676
+dsrlv $s0, $s1, $s2 :: rd 0x4b6a1fd828, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+dsrlv $t0, $t1, $t2 :: rd 0x292b45ba, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+dsrlv $s0, $s1, $s2 :: rd 0x1f9278a2659, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x6a1936c8, rt 0xffffffffdbee767c
+dsrlv $s0, $s1, $s2 :: rd 0x3c2cd9a9cda20, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+dsrlv $t0, $t1, $t2 :: rd 0xddb05, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+dsrlv $s0, $s1, $s2 :: rd 0x2f22, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+dsrlv $t0, $t1, $t2 :: rd 0x18e6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+dsrlv $s0, $s1, $s2 :: rd 0x10f993, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x675a1011, rt 0xffffffffd6ad50a5
+dsrlv $s0, $s1, $s2 :: rd 0x74a, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x791d4014, rt 0xffffffffc8ea00a0
+dsrlv $s0, $s1, $s2 :: rd 0xd0d070db710cd, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+dsrlv $t0, $t1, $t2 :: rd 0xfb, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+dsrlv $s0, $s1, $s2 :: rd 0x738438fa0, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+dsrlv $t0, $t1, $t2 :: rd 0x1c27d, rs 0x709f7b7a, rt 0xffffffffc1683bce
+dsrlv $s0, $s1, $s2 :: rd 0x474a, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x745e66cd, rt 0xffffffffc5a92679
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+dsrlv $t0, $t1, $t2 :: rd 0xffffffff982, rs 0xffffffff9823b6e0, rt 0x29d4f654
+dsrlv $s0, $s1, $s2 :: rd 0x2f39454412d6, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+dsrlv $t0, $t1, $t2 :: rd 0x1fffffff, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+dsrlv $s0, $s1, $s2 :: rd 0x4, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+dsrlv $t0, $t1, $t2 :: rd 0x3f, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+dsrlv $s0, $s1, $s2 :: rd 0x4800816d646b, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffcab04, rs 0xffffffff95609039, rt 0x2497d08d
+dsrlv $s0, $s1, $s2 :: rd 0x19121ab, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+dsrlv $t0, $t1, $t2 :: rd 0xffffffff8b27c0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+dsrlv $s0, $s1, $s2 :: rd 0x76, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+dsrlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+dsrlv $s0, $s1, $s2 :: rd 0x628f2312b32, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffff, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+dsrlv $s0, $s1, $s2 :: rd 0xc6eecff99a2fb6, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffc332, rs 0xffffffff8664e6e5, rt 0x3793a651
+dsrlv $s0, $s1, $s2 :: rd 0x5404a9091, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+dsrlv $t0, $t1, $t2 :: rd 0xfffff, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+dsrlv $s0, $s1, $s2 :: rd 0x10eea, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff7, rs 0xffffffffbaea46ef, rt 0xb1d065b
+dsrlv $s0, $s1, $s2 :: rd 0x2c3de85e, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffedea580d, rs 0xffffffffb7a96036, rt 0x65e2082
+dsrlv $s0, $s1, $s2 :: rd 0x2b9abf, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+dsrlv $t0, $t1, $t2 :: rd 0x7ff, rs 0xffffffffb3687d81, rt 0x29f3d35
+dsrlv $s0, $s1, $s2 :: rd 0x180e, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+dsrlv $t0, $t1, $t2 :: rd 0xffff, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+dsrlv $s0, $s1, $s2 :: rd 0x1898ee1ec61, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff53dc60, rs 0xffffffffa9ee3033, rt 0x18197087
+dsrlv $s0, $s1, $s2 :: rd 0x1b, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffe, rs 0xffffffffa4ad16ea, rt 0x155a565e
+dsrlv $s0, $s1, $s2 :: rd 0x69d6dd1307fb, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+dsrlv $t0, $t1, $t2 :: rd 0x7fffff, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+dsrlv $s0, $s1, $s2 :: rd 0x255, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+dsrlv $t0, $t1, $t2 :: rd 0xfffffff, rs 0xffffffffd4326d90, rt 0x65c52d24
+dsrlv $s0, $s1, $s2 :: rd 0x1771806bc, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffffa1e, rs 0xffffffffd0f37027, rt 0x61043093
+dsrlv $s0, $s1, $s2 :: rd 0x33b06, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff76c15, rs 0xffffffffddb056fe, rt 0x6c47164a
+dsrlv $s0, $s1, $s2 :: rd 0x77433, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+dsrlv $t0, $t1, $t2 :: rd 0x7, rs 0xffffffffd9714b49, rt 0x68860bfd
+dsrlv $s0, $s1, $s2 :: rd 0x1d923b32, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+dsrlv $t0, $t1, $t2 :: rd 0xff, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+dsrlv $s0, $s1, $s2 :: rd 0x49fbf6a7, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff87ee, rs 0xffffffffc3f706fb, rt 0x7200464f
+dsrlv $s0, $s1, $s2 :: rd 0x326c86f18f, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff3a, rs 0xffffffffceb42022, rt 0x7f436096
+dsrlv $s0, $s1, $s2 :: rd 0x2e67a, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffff, rs 0xffffffffca753d95, rt 0x7b827d21
+dsrlv $s0, $s1, $s2 :: rd 0x23f566e6ac1589, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+dsrlv $t0, $t1, $t2 :: rd 0xfffffffff, rs 0xfffffffff23a8028, rt 0x43cdc09c
+dsrlv $s0, $s1, $s2 :: rd 0xd685884e76558c4f, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+dsrlv $t0, $t1, $t2 :: rd 0x1fffff, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+dsrlv $s0, $s1, $s2 :: rd 0x185a358a8d3, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+dsrlv $t0, $t1, $t2 :: rd 0x3fff, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+dsrlv $s0, $s1, $s2 :: rd 0xd301, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffffbcd37, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+dsrlv $s0, $s1, $s2 :: rd 0xe50c85fb, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+dsrlv $s0, $s1, $s2 :: rd 0x160c03c0a7, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+dsrlv $t0, $t1, $t2 :: rd 0x1ff, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+dsrlv $s0, $s1, $s2 :: rd 0x13, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+dsrlv $t0, $t1, $t2 :: rd 0x3ffff, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+dsrlv $s0, $s1, $s2 :: rd 0x1152c, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+dsrlv $t0, $t1, $t2 :: rd 0x7ffffffff6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+dsrlv $s0, $s1, $s2 :: rd 0xeb7f5fa5aa33, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+dsrlv $t0, $t1, $t2 :: rd 0x690ce0e, rs 0x34867077, rt 0xffffffff857130c3
+dsrlv $s0, $s1, $s2 :: rd 0xde230867a630f6ad, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x30476dc0, rt 0xffffffff81b02d74
+dsrlv $s0, $s1, $s2 :: rd 0x2c0, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x3d044b19, rt 0xffffffff8cf30bad
+dsrlv $s0, $s1, $s2 :: rd 0x4a5482, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+dsrlv $t0, $t1, $t2 :: rd 0xe, rs 0x39c556ae, rt 0xffffffff8832161a
+dsrlv $s0, $s1, $s2 :: rd 0x7ca, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+dsrlv $s0, $s1, $s2 :: rd 0x40ed7c10023, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x23431b1c, rt 0xffffffff92b45ba8
+dsrlv $s0, $s1, $s2 :: rd 0x118c394b4ae4be5, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+dsrlv $s0, $s1, $s2 :: rd 0x8b9, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+dsrlv $t0, $t1, $t2 :: rd 0xab0481, rs 0x2ac12072, rt 0xffffffff9b3660c6
+dsrlv $s0, $s1, $s2 :: rd 0xc033, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+dsrlv $s0, $s1, $s2 :: rd 0x33bc7ef9dd295, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+dsrlv $t0, $t1, $t2 :: rd 0x164f8, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+dsrlv $s0, $s1, $s2 :: rd 0xa, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+dsrlv $t0, $t1, $t2 :: rd 0xd8, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+dsrlv $s0, $s1, $s2 :: rd 0x3d460e077398d1, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x18aeb13, rt 0xffffffffb07daba7
+dsrlv $s0, $s1, $s2 :: rd 0xe4627f3fe5255fc, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+dsrlv $t0, $t1, $t2 :: rd 0x54b, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+dsrlv $s0, $s1, $s2 :: rd 0xcc, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+dsrlv $t0, $t1, $t2 :: rd 0x40468, rs 0x808d07d, rt 0xffffffffb9ff90c9
+dsrlv $s0, $s1, $s2 :: rd 0x20a519, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+dsrlv $s0, $s1, $s2 :: rd 0x15d32, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+dsrlv $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0x1f2be0f4a203fcd1, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+dsrlv $t0, $t1, $t2 :: rd 0x7c56b6b, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+dsrlv $s0, $s1, $s2 :: rd 0x3c55a8131d1f, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+dsrlv $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0x93e260, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x75d48dde, rt 0xffffffffc423cd6a
+dsrlv $s0, $s1, $s2 :: rd 0x1c3c34, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x6b93dddb, rt 0xffffffffda649d6f
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+dsrlv $t0, $t1, $t2 :: rd 0x6f, rs 0x6f52c06c, rt 0xffffffffdea580d8
+dsrlv $s0, $s1, $s2 :: rd 0x694b716909cf7, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+dsrlv $t0, $t1, $t2 :: rd 0x3108f35a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+dsrlv $s0, $s1, $s2 :: rd 0x2d41223fb6e152e0, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+dsrlv $s0, $s1, $s2 :: rd 0x1db227a, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+dsrlv $t0, $t1, $t2 :: rd 0xbd3e8, rs 0x5e9f46bf, rt 0xffffffffef68060b
+dsrlv $s0, $s1, $s2 :: rd 0xe1b868a97fc6, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+dsrlv $s0, $s1, $s2 :: rd 0x2f77, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+dsrlv $s0, $s1, $s2 :: rd 0x7b17db93d, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+dsrlv $t0, $t1, $t2 :: rd 0x14f7, rs 0x53dc6066, rt 0xffffffffe22b20d2
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+dsrlv $t0, $t1, $t2 :: rd 0x9b, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+dsrlv $s0, $s1, $s2 :: rd 0x1fb, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+dsrlv $s0, $s1, $s2 :: rd 0x36f2cc4, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+dsrlv $s0, $s1, $s2 :: rd 0x7cd4, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+dsrlv $t0, $t1, $t2 :: rd 0x10360, rs 0x40d816ba, rt 0xfffffffff12f560e
+dsrlv $s0, $s1, $s2 :: rd 0x45843770, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+dsrlv $t0, $t1, $t2 :: rd 0x1fffffff, rs 0xffffffffaca5c697, rt 0x1d528623
+dsrlv $s0, $s1, $s2 :: rd 0x1ca8ea1a, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffa86, rs 0xffffffffa864db20, rt 0x19939b94
+dsrlv $s0, $s1, $s2 :: rd 0x7ad2c4bfd34db, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffd293f, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+dsrlv $s0, $s1, $s2 :: rd 0x1c28f81090, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+dsrlv $t0, $t1, $t2 :: rd 0x3f, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+dsrlv $s0, $s1, $s2 :: rd 0x1808f1, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+dsrlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+dsrlv $s0, $s1, $s2 :: rd 0x79d0734a3, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffbb60ad, rs 0xffffffffbb60adfc, rt 0xa97ed48
+dsrlv $s0, $s1, $s2 :: rd 0xe2fbfa895, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffdb11, rs 0xffffffffb6238b25, rt 0x7d4cb91
+dsrlv $s0, $s1, $s2 :: rd 0x349, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffff, rs 0xffffffffb2e29692, rt 0x315d626
+dsrlv $s0, $s1, $s2 :: rd 0x3ae, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff1, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+dsrlv $s0, $s1, $s2 :: rd 0x84785280dd301d, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+dsrlv $s0, $s1, $s2 :: rd 0x5e71dea87, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+dsrlv $s0, $s1, $s2 :: rd 0x13, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffe1fb837d, rs 0xffffffff87ee0df6, rt 0x36194d42
+dsrlv $s0, $s1, $s2 :: rd 0x38bae4eeac6, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff3352bb, rs 0xffffffff99a95df3, rt 0x285e1d47
+dsrlv $s0, $s1, $s2 :: rd 0x663d06105583, rs 0x663d061055833287, rt 0xb620660a49732b90
+dsrlv $t0, $t1, $t2 :: rd 0xffff, rs 0xffffffff9d684044, rt 0x2c9f00f0
+dsrlv $s0, $s1, $s2 :: rd 0xab7dd0488, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+dsrlv $t0, $t1, $t2 :: rd 0x7fffff, rs 0xffffffff902b669d, rt 0x21dc2629
+dsrlv $s0, $s1, $s2 :: rd 0x3d, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffe, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+dsrlv $s0, $s1, $s2 :: rd 0xda, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffffc16, rs 0xffffffffe0b41de7, rt 0x51435d53
+dsrlv $s0, $s1, $s2 :: rd 0x9ca4bdbd, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+dsrlv $t0, $t1, $t2 :: rd 0xfffffff, rs 0xffffffffe4750050, rt 0x558240e4
+dsrlv $s0, $s1, $s2 :: rd 0x1fabafa3b32, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+dsrlv $t0, $t1, $t2 :: rd 0x7, rs 0xffffffffe9362689, rt 0x58c1663d
+dsrlv $s0, $s1, $s2 :: rd 0x1fa32a9f6569ba6, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffffb7dce, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+dsrlv $s0, $s1, $s2 :: rd 0xba6ae5f4fbb7c, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffffe760, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+dsrlv $s0, $s1, $s2 :: rd 0x6d4deff478193, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+dsrlv $t0, $t1, $t2 :: rd 0xff, rs 0xfffffffff771768c, rt 0x46863638
+dsrlv $s0, $s1, $s2 :: rd 0x1177271c62abd93, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffff, rs 0xfffffffffa325055, rt 0x4bc510e1
+dsrlv $s0, $s1, $s2 :: rd 0x696f92e, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffffb, rs 0xfffffffffef34de2, rt 0x4f040d56
+dsrlv $s0, $s1, $s2 :: rd 0xbc65b, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+dsrlv $t0, $t1, $t2 :: rd 0x1fffff, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+dsrlv $s0, $s1, $s2 :: rd 0x151, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffc, rs 0xffffffffc27dede8, rt 0x738aad5c
+dsrlv $s0, $s1, $s2 :: rd 0x4295ade57c6fe6, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffe79f659, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+dsrlv $s0, $s1, $s2 :: rd 0x8f12136b, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+dsrlv $t0, $t1, $t2 :: rd 0x3fff, rs 0xffffffffcbffd686, rt 0x7a089632
+dsrlv $s0, $s1, $s2 :: rd 0x2fecc7321e15cd, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+dsrlv $t0, $t1, $t2 :: rd 0x1ff, rs 0xffffffffd5b88683, rt 0x644fc637
+dsrlv $s0, $s1, $s2 :: rd 0x5b32f6af3fc4f4, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+dsrlv $s0, $s1, $s2 :: rd 0xaed4a3a5b, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffee, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+dsrlv $s0, $s1, $s2 :: rd 0xf, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+dsrlv $t0, $t1, $t2 :: rd 0x3ffff, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+dsrlv $s0, $s1, $s2 :: rd 0x447af9fc572c3, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+dsrlv $t0, $t1, $t2 :: rd 0x1a, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+dsrlv $s0, $s1, $s2 :: rd 0x841669ea66, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+dsrlv $s0, $s1, $s2 :: rd 0x897c8c8ddd46b, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x608edb80, rt 0xffffffffd1799b34
+dsrlv $s0, $s1, $s2 :: rd 0x7a38744, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+dsrlv $t0, $t1, $t2 :: rd 0xc89f8c6, rs 0x644fc637, rt 0xffffffffd5b88683
+dsrlv $s0, $s1, $s2 :: rd 0x144bca6c, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+dsrlv $t0, $t1, $t2 :: rd 0x1e82258, rs 0x7a089632, rt 0xffffffffcbffd686
+dsrlv $s0, $s1, $s2 :: rd 0x1d5bdab8a7b5a, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+dsrlv $s0, $s1, $s2 :: rd 0x453114, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x738aad5c, rt 0xffffffffc27dede8
+dsrlv $s0, $s1, $s2 :: rd 0x2c3c3f, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+dsrlv $s0, $s1, $s2 :: rd 0x1ffd879e37, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x4f040d56, rt 0xfffffffffef34de2
+dsrlv $s0, $s1, $s2 :: rd 0x114cd87, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+dsrlv $t0, $t1, $t2 :: rd 0x25e, rs 0x4bc510e1, rt 0xfffffffffa325055
+dsrlv $s0, $s1, $s2 :: rd 0x1f0ec119cf431b8, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+dsrlv $t0, $t1, $t2 :: rd 0x46863, rs 0x46863638, rt 0xfffffffff771768c
+dsrlv $s0, $s1, $s2 :: rd 0x164e17c1e, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+dsrlv $s0, $s1, $s2 :: rd 0x1f49, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+dsrlv $s0, $s1, $s2 :: rd 0x1cbd346, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+dsrlv $t0, $t1, $t2 :: rd 0x2c60b3, rs 0x58c1663d, rt 0xffffffffe9362689
+dsrlv $s0, $s1, $s2 :: rd 0x1f17d02c8, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+dsrlv $t0, $t1, $t2 :: rd 0x5582, rs 0x558240e4, rt 0xffffffffe4750050
+dsrlv $s0, $s1, $s2 :: rd 0xf9464b2f, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x51435d53, rt 0xffffffffe0b41de7
+dsrlv $s0, $s1, $s2 :: rd 0x7e, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+dsrlv $s0, $s1, $s2 :: rd 0x12ba, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+dsrlv $t0, $t1, $t2 :: rd 0x1, rs 0x21dc2629, rt 0xffffffff902b669d
+dsrlv $s0, $s1, $s2 :: rd 0x18a65c31c3, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+dsrlv $t0, $t1, $t2 :: rd 0x2c9f00f, rs 0x2c9f00f0, rt 0xffffffff9d684044
+dsrlv $s0, $s1, $s2 :: rd 0x167fbd8529e50f, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x285e1d47, rt 0xffffffff99a95df3
+dsrlv $s0, $s1, $s2 :: rd 0x16c40cc1492e657, rs 0xb620660a49732b90, rt 0x663d061055833287
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x36194d42, rt 0xffffffff87ee0df6
+dsrlv $s0, $s1, $s2 :: rd 0x993138f16cfde9, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+dsrlv $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0x6f016, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+dsrlv $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0x2747, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+dsrlv $s0, $s1, $s2 :: rd 0x3a1a48d341438, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+dsrlv $t0, $t1, $t2 :: rd 0xc5, rs 0x315d626, rt 0xffffffffb2e29692
+dsrlv $s0, $s1, $s2 :: rd 0x467f, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x7d4cb91, rt 0xffffffffb6238b25
+dsrlv $s0, $s1, $s2 :: rd 0x173, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+dsrlv $s0, $s1, $s2 :: rd 0x2eaa5aa705, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+dsrlv $t0, $t1, $t2 :: rd 0x1cade, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+dsrlv $s0, $s1, $s2 :: rd 0x1a64ea71, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+dsrlv $t0, $t1, $t2 :: rd 0x4046, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+dsrlv $s0, $s1, $s2 :: rd 0x10ba7e152, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+dsrlv $s0, $s1, $s2 :: rd 0x1e3939433b3, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x19939b94, rt 0xffffffffa864db20
+dsrlv $s0, $s1, $s2 :: rd 0x1ed6df47f9, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+dsrlv $t0, $t1, $t2 :: rd 0x3a, rs 0x1d528623, rt 0xffffffffaca5c697
+dsrlv $s0, $s1, $s2 :: rd 0x39c8b24, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+dsrlv $t0, $t1, $t2 :: rd 0x3f, rs 0xfffffffff12f560e, rt 0x40d816ba
+dsrlv $s0, $s1, $s2 :: rd 0x276af70a, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+dsrlv $t0, $t1, $t2 :: rd 0x7ffffffffaf72, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+dsrlv $s0, $s1, $s2 :: rd 0xc116fdad79d2d, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+dsrlv $t0, $t1, $t2 :: rd 0xfffffffff8a, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+dsrlv $s0, $s1, $s2 :: rd 0x808, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+dsrlv $t0, $t1, $t2 :: rd 0x1fffffff, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+dsrlv $s0, $s1, $s2 :: rd 0x1f078aae872, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffff, rs 0xffffffffe22b20d2, rt 0x53dc6066
+dsrlv $s0, $s1, $s2 :: rd 0x3, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+dsrlv $t0, $t1, $t2 :: rd 0x7ffffffff375, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+dsrlv $s0, $s1, $s2 :: rd 0x1, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffeba91b, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+dsrlv $s0, $s1, $s2 :: rd 0xc14a43d33, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+dsrlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffef68060b, rt 0x5e9f46bf
+dsrlv $s0, $s1, $s2 :: rd 0xb411e756b8d0, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff5c9eeed, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+dsrlv $s0, $s1, $s2 :: rd 0xc7a59b, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+dsrlv $t0, $t1, $t2 :: rd 0x7ff, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+dsrlv $s0, $s1, $s2 :: rd 0x1aecdf2982ca1b41, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+dsrlv $t0, $t1, $t2 :: rd 0xfffff, rs 0xffffffffdea580d8, rt 0x6f52c06c
+dsrlv $s0, $s1, $s2 :: rd 0xae184, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffffb, rs 0xffffffffda649d6f, rt 0x6b93dddb
+dsrlv $s0, $s1, $s2 :: rd 0x4a3159, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff, rs 0xffffffffc423cd6a, rt 0x75d48dde
+dsrlv $s0, $s1, $s2 :: rd 0xe87, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+dsrlv $s0, $s1, $s2 :: rd 0x126f646f34c3, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+dsrlv $t0, $t1, $t2 :: rd 0xffff, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+dsrlv $s0, $s1, $s2 :: rd 0x1556032c2ad, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+dsrlv $s0, $s1, $s2 :: rd 0x7535cd338595d34, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffef4fa3, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+dsrlv $s0, $s1, $s2 :: rd 0x6fd92a6, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+dsrlv $t0, $t1, $t2 :: rd 0x7, rs 0xffffffffb9ff90c9, rt 0x808d07d
+dsrlv $s0, $s1, $s2 :: rd 0x150ce4d920103, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+dsrlv $t0, $t1, $t2 :: rd 0xfffffff, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+dsrlv $s0, $s1, $s2 :: rd 0x9bfeff, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff60f, rs 0xffffffffb07daba7, rt 0x18aeb13
+dsrlv $s0, $s1, $s2 :: rd 0xc7699826b7dee244, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffeb8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+dsrlv $s0, $s1, $s2 :: rd 0x780f5f2ff74, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffff, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+dsrlv $s0, $s1, $s2 :: rd 0x1484d937013162, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+dsrlv $t0, $t1, $t2 :: rd 0xff, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+dsrlv $s0, $s1, $s2 :: rd 0x1c1ef76b1, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff46f3, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+dsrlv $s0, $s1, $s2 :: rd 0xe336c60cdeeb, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+dsrlv $t0, $t1, $t2 :: rd 0x3fff, rs 0xffffffff9b3660c6, rt 0x2ac12072
+dsrlv $s0, $s1, $s2 :: rd 0x1ab64, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffcffbbeb, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+dsrlv $s0, $s1, $s2 :: rd 0x1, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+dsrlv $t0, $t1, $t2 :: rd 0xffffffff9, rs 0xffffffff92b45ba8, rt 0x23431b1c
+dsrlv $s0, $s1, $s2 :: rd 0x986a2, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+dsrlv $t0, $t1, $t2 :: rd 0x1fffff, rs 0xffffffff9675461f, rt 0x278206ab
+dsrlv $s0, $s1, $s2 :: rd 0x152e9d5887, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+dsrlv $t0, $t1, $t2 :: rd 0x3ffff, rs 0xffffffff8832161a, rt 0x39c556ae
+dsrlv $s0, $s1, $s2 :: rd 0x28e230589, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffc6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+dsrlv $s0, $s1, $s2 :: rd 0x1d182, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+dsrlv $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+dsrlv $s0, $s1, $s2 :: rd 0xadaa5a76, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+dsrlv $t0, $t1, $t2 :: rd 0x1ff, rs 0xffffffff857130c3, rt 0x34867077
+dsrlv $s0, $s1, $s2 :: rd 0x3d5a6, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+dsrlv $s0, $s1, $s2 :: rd 0x2d0ab5b9, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+dsrlv $t0, $t1, $t2 :: rd 0x16, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+dsrlv $s0, $s1, $s2 :: rd 0x4bf8485ab72892, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+dsrlv $t0, $t1, $t2 :: rd 0xa81157e, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+dsrlv $s0, $s1, $s2 :: rd 0x3b51e, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+dsrlv $s0, $s1, $s2 :: rd 0xc, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+dsrlv $s0, $s1, $s2 :: rd 0xa6c0d7697, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+dsrlv $t0, $t1, $t2 :: rd 0x1293fef, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+dsrlv $s0, $s1, $s2 :: rd 0x197e09640dbc8cf, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+dsrlv $s0, $s1, $s2 :: rd 0x7df107098e5df9, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+dsrlv $s0, $s1, $s2 :: rd 0x71638f76d454, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+dsrlv $t0, $t1, $t2 :: rd 0x3dc, rs 0x7b827d21, rt 0xffffffffca753d95
+dsrlv $s0, $s1, $s2 :: rd 0x0, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x7f436096, rt 0xffffffffceb42022
+dsrlv $s0, $s1, $s2 :: rd 0xbd559bb3fb228f, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x7200464f, rt 0xffffffffc3f706fb
+dsrlv $s0, $s1, $s2 :: rd 0x2ee11c3e6, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+dsrlv $t0, $t1, $t2 :: rd 0x76c15, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+dsrlv $s0, $s1, $s2 :: rd 0xba85, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+dsrlv $t0, $t1, $t2 :: rd 0x344305, rs 0x68860bfd, rt 0xffffffffd9714b49
+dsrlv $s0, $s1, $s2 :: rd 0x14abf36, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x6c47164a, rt 0xffffffffddb056fe
+dsrlv $s0, $s1, $s2 :: rd 0x124eaacd546b9556, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x61043093, rt 0xffffffffd0f37027
+dsrlv $s0, $s1, $s2 :: rd 0x66b, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+dsrlv $t0, $t1, $t2 :: rd 0x65c5, rs 0x65c52d24, rt 0xffffffffd4326d90
+dsrlv $s0, $s1, $s2 :: rd 0x7f, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+dsrlv $s0, $s1, $s2 :: rd 0x1f8d739b55b99, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x155a565e, rt 0xffffffffa4ad16ea
+dsrlv $s0, $s1, $s2 :: rd 0x2a505, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x18197087, rt 0xffffffffa9ee3033
+dsrlv $s0, $s1, $s2 :: rd 0x13c, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+dsrlv $t0, $t1, $t2 :: rd 0x1cd86d3, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+dsrlv $s0, $s1, $s2 :: rd 0x236570124a, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+dsrlv $t0, $t1, $t2 :: rd 0x14f9e9a, rs 0x29f3d35, rt 0xffffffffb3687d81
+dsrlv $s0, $s1, $s2 :: rd 0x1e5cf492, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x65e2082, rt 0xffffffffb7a96036
+dsrlv $s0, $s1, $s2 :: rd 0xeeb699, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0xb1d065b, rt 0xffffffffbaea46ef
+dsrlv $s0, $s1, $s2 :: rd 0x1457094c6a22204, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+dsrlv $t0, $t1, $t2 :: rd 0xf, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+dsrlv $s0, $s1, $s2 :: rd 0x23fa0d3a7d88b6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x3793a651, rt 0xffffffff8664e6e5
+dsrlv $s0, $s1, $s2 :: rd 0xa3d9, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+dsrlv $t0, $t1, $t2 :: rd 0xcd4, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+dsrlv $s0, $s1, $s2 :: rd 0xea3, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+dsrlv $t0, $t1, $t2 :: rd 0x7c233, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+dsrlv $s0, $s1, $s2 :: rd 0x949ca, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x3ad08088, rt 0xffffffff8b27c03c
+dsrlv $s0, $s1, $s2 :: rd 0x7f567f35a69, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x2497d08d, rt 0xffffffff95609039
+dsrlv $s0, $s1, $s2 :: rd 0x30, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+dsrlv $t0, $t1, $t2 :: rd 0x815b, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+dsrlv $s0, $s1, $s2 :: rd 0x4ab4, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+dsrlv $t0, $t1, $t2 :: rd 0x5a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+dsrlv $s0, $s1, $s2 :: rd 0x1048d589a43, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+dsrlv $t0, $t1, $t2 :: rd 0x0, rs 0x29d4f654, rt 0xffffffff9823b6e0
+dsrlv $s0, $s1, $s2 :: rd 0xd4daae, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffe2d49, rs 0xffffffffc5a92679, rt 0x745e66cd
+dsrlv $s0, $s1, $s2 :: rd 0x1ab1d9757bc6a, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+dsrlv $t0, $t1, $t2 :: rd 0x3f, rs 0xffffffffc1683bce, rt 0x709f7b7a
+dsrlv $s0, $s1, $s2 :: rd 0x15d5523f42302, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+dsrlv $t0, $t1, $t2 :: rd 0x1fffffff, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+dsrlv $s0, $s1, $s2 :: rd 0x8bb640fb8ed98dd, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffc8e, rs 0xffffffffc8ea00a0, rt 0x791d4014
+dsrlv $s0, $s1, $s2 :: rd 0x2f8, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffeb56, rs 0xffffffffd6ad50a5, rt 0x675a1011
+dsrlv $s0, $s1, $s2 :: rd 0xbdf88928705, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffff, rs 0xffffffffd26c4d12, rt 0x639b0da6
+dsrlv $s0, $s1, $s2 :: rd 0x54bc7, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+dsrlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+dsrlv $s0, $s1, $s2 :: rd 0x2, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffdbee76, rs 0xffffffffdbee767c, rt 0x6a1936c8
+dsrlv $s0, $s1, $s2 :: rd 0x2d13baa, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+dsrlv $t0, $t1, $t2 :: rd 0x7ff, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+dsrlv $s0, $s1, $s2 :: rd 0x3f, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff9d8359d, rs 0xffffffffe760d676, rt 0x569796c2
+dsrlv $s0, $s1, $s2 :: rd 0x9dac727bf0, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffffd, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+dsrlv $s0, $s1, $s2 :: rd 0x1e, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+dsrlv $t0, $t1, $t2 :: rd 0xfffff, rs 0xffffffffeee2ed18, rt 0x5f15adac
+dsrlv $s0, $s1, $s2 :: rd 0x40f7db63d7e8622, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+dsrlv $t0, $t1, $t2 :: rd 0x7fffff, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+dsrlv $s0, $s1, $s2 :: rd 0x1ddb1e6a30, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+dsrlv $t0, $t1, $t2 :: rd 0x3ffffffff, rs 0xfffffffff464a0aa, rt 0x4593e01e
+dsrlv $s0, $s1, $s2 :: rd 0x56d7, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+dsrlv $t0, $t1, $t2 :: rd 0x1fffffffff24f0c, rs 0xfffffffff9278673, rt 0x48d0c6c7
+dsrlv $s0, $s1, $s2 :: rd 0xd0186, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+dsrlv $t0, $t1, $t2 :: rd 0xffff, rs 0xfffffffffde69bc4, rt 0x4c11db70
+dsrlv $s0, $s1, $s2 :: rd 0x2e91b44c96, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+dsrlv $t0, $t1, $t2 :: rd 0x7, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+dsrlv $s0, $s1, $s2 :: rd 0x69fbf93526057d, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffe35e78, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+dsrlv $s0, $s1, $s2 :: rd 0x3, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff007, rs 0xffffffff803ac667, rt 0x31cd86d3
+dsrlv $s0, $s1, $s2 :: rd 0x1d212894983a6, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+dsrlv $t0, $t1, $t2 :: rd 0xfffffff, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+dsrlv $s0, $s1, $s2 :: rd 0x65fd698fddef9839, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffff, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+dsrlv $s0, $s1, $s2 :: rd 0x1893dc75b036, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+dsrlv $t0, $t1, $t2 :: rd 0x3fffffffe79, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+dsrlv $s0, $s1, $s2 :: rd 0x3d54a0f45, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+dsrlv $t0, $t1, $t2 :: rd 0x1ffffffff267d, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+dsrlv $s0, $s1, $s2 :: rd 0x1b96104f2179d, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+dsrlv $t0, $t1, $t2 :: rd 0xff, rs 0xffffffff97ffad0c, rt 0x2608edb8
+dsrlv $s0, $s1, $s2 :: rd 0x30f870b7, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffd7d8085, rs 0xffffffffafb010b1, rt 0x1e475005
+dsrlv $s0, $s1, $s2 :: rd 0x13c, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+dsrlv $t0, $t1, $t2 :: rd 0x3fff, rs 0xffffffffab710d06, rt 0x1a864db2
+dsrlv $s0, $s1, $s2 :: rd 0x6, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+dsrlv $t0, $t1, $t2 :: rd 0x1fffff, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+dsrlv $s0, $s1, $s2 :: rd 0x5743d, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffa, rs 0xffffffffa2f33668, rt 0x130476dc
+dsrlv $s0, $s1, $s2 :: rd 0x163b191359206bc5, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+dsrlv $t0, $t1, $t2 :: rd 0x7fffffffde, rs 0xffffffffbcb4666d, rt 0xd4326d9
+dsrlv $s0, $s1, $s2 :: rd 0xd, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+dsrlv $t0, $t1, $t2 :: rd 0x3ffff, rs 0xffffffffb8757bda, rt 0x9823b6e
+dsrlv $s0, $s1, $s2 :: rd 0x775, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0xc29b3688be2, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+dsrlv $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+dsrlv $s0, $s1, $s2 :: rd 0x28a9bb, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+rotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x130476dc, rs 0x9823b6e, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x76dc1304, rs 0x9823b6e, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffc130476d, rs 0x9823b6e, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x1a864db2, rs 0xd4326d9, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x4db21a86, rs 0xd4326d9, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x21a864db, rs 0xd4326d9, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x2608edb8, rs 0x130476dc, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffedb82608, rs 0x130476dc, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff82608edb, rs 0x130476dc, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x2f8ad6d6, rs 0x17c56b6b, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffd6d62f8a, rs 0x17c56b6b, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x62f8ad6d, rs 0x17c56b6b, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x350c9b64, rs 0x1a864db2, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff9b64350c, rs 0x1a864db2, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4350c9b6, rs 0x1a864db2, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x3c8ea00a, rs 0x1e475005, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffa00a3c8e, rs 0x1e475005, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffa3c8ea00, rs 0x1e475005, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x4c11db70, rs 0x2608edb8, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffdb704c11, rs 0x2608edb8, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4c11db7, rs 0x2608edb8, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x4593e01e, rs 0x22c9f00f, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffe01e4593, rs 0x22c9f00f, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffe4593e01, rs 0x22c9f00f, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x5f15adac, rs 0x2f8ad6d6, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffadac5f15, rs 0x2f8ad6d6, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffc5f15ada, rs 0x2f8ad6d6, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x569796c2, rs 0x2b4bcb61, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff96c25697, rs 0x2b4bcb61, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x2569796c, rs 0x2b4bcb61, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x6a1936c8, rs 0x350c9b64, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x36c86a19, rs 0x350c9b64, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff86a1936c, rs 0x350c9b64, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x639b0da6, rs 0x31cd86d3, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xda6639b, rs 0x31cd86d3, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x6639b0da, rs 0x31cd86d3, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x791d4014, rs 0x3c8ea00a, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x4014791d, rs 0x3c8ea00a, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4791d401, rs 0x3c8ea00a, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x709f7b7a, rs 0x384fbdbd, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x7b7a709f, rs 0x384fbdbd, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffa709f7b7, rs 0x384fbdbd, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff9823b6e0, rs 0x4c11db70, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffb6e09823, rs 0x4c11db70, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x9823b6e, rs 0x4c11db70, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff91a18d8e, rs 0x48d0c6c7, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff8d8e91a1, rs 0x48d0c6c7, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffe91a18d8, rs 0x48d0c6c7, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff8b27c03c, rs 0x4593e01e, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffc03c8b27, rs 0x4593e01e, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffc8b27c03, rs 0x4593e01e, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff82a5fb52, rs 0x4152fda9, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffffb5282a5, rs 0x4152fda9, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x282a5fb5, rs 0x4152fda9, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffbe2b5b58, rs 0x5f15adac, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x5b58be2b, rs 0x5f15adac, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff8be2b5b5, rs 0x5f15adac, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffb7a96036, rs 0x5bd4b01b, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x6036b7a9, rs 0x5bd4b01b, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x6b7a9603, rs 0x5bd4b01b, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffad2f2d84, rs 0x569796c2, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x2d84ad2f, rs 0x569796c2, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4ad2f2d8, rs 0x569796c2, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffa4ad16ea, rs 0x52568b75, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x16eaa4ad, rs 0x52568b75, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffaa4ad16e, rs 0x52568b75, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffd4326d90, rs 0x6a1936c8, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x6d90d432, rs 0x6a1936c8, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xd4326d9, rs 0x6a1936c8, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffddb056fe, rs 0x6ed82b7f, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x56feddb0, rs 0x6ed82b7f, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffeddb056f, rs 0x6ed82b7f, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffc7361b4c, rs 0x639b0da6, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x1b4cc736, rs 0x639b0da6, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffcc7361b4, rs 0x639b0da6, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffceb42022, rs 0x675a1011, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x2022ceb4, rs 0x675a1011, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x2ceb4202, rs 0x675a1011, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffff23a8028, rs 0x791d4014, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff8028f23a, rs 0x791d4014, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff8f23a802, rs 0x791d4014, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffffbb8bb46, rs 0x7ddc5da3, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffbb46fbb8, rs 0x7ddc5da3, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x6fbb8bb4, rs 0x7ddc5da3, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffe13ef6f4, rs 0x709f7b7a, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffff6f4e13e, rs 0x709f7b7a, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4e13ef6f, rs 0x709f7b7a, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffe8bccd9a, rs 0x745e66cd, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffcd9ae8bc, rs 0x745e66cd, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffae8bccd9, rs 0x745e66cd, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x30476dc1, rs 0xffffffff9823b6e0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x6dc13047, rs 0xffffffff9823b6e0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x130476dc, rs 0xffffffff9823b6e0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x39c556af, rs 0xffffffff9ce2ab57, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x56af39c5, rs 0xffffffff9ce2ab57, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffff39c556a, rs 0xffffffff9ce2ab57, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x23431b1d, rs 0xffffffff91a18d8e, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x1b1d2343, rs 0xffffffff91a18d8e, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffd23431b1, rs 0xffffffff91a18d8e, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x2ac12073, rs 0xffffffff95609039, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x20732ac1, rs 0xffffffff95609039, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x32ac1207, rs 0xffffffff95609039, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x164f8079, rs 0xffffffff8b27c03c, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff8079164f, rs 0xffffffff8b27c03c, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff9164f807, rs 0xffffffff8b27c03c, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x1fcdbb17, rs 0xffffffff8fe6dd8b, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffbb171fcd, rs 0xffffffff8fe6dd8b, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x71fcdbb1, rs 0xffffffff8fe6dd8b, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x54bf6a5, rs 0xffffffff82a5fb52, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffff6a5054b, rs 0xffffffff82a5fb52, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x5054bf6a, rs 0xffffffff82a5fb52, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xcc9cdcb, rs 0xffffffff8664e6e5, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffcdcb0cc9, rs 0xffffffff8664e6e5, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffb0cc9cdc, rs 0xffffffff8664e6e5, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x7c56b6b1, rs 0xffffffffbe2b5b58, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffb6b17c56, rs 0xffffffffbe2b5b58, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x17c56b6b, rs 0xffffffffbe2b5b58, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x75d48ddf, rs 0xffffffffbaea46ef, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff8ddf75d4, rs 0xffffffffbaea46ef, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffff75d48dd, rs 0xffffffffbaea46ef, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x6f52c06d, rs 0xffffffffb7a96036, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffc06d6f52, rs 0xffffffffb7a96036, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffd6f52c06, rs 0xffffffffb7a96036, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x66d0fb03, rs 0xffffffffb3687d81, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffffb0366d0, rs 0xffffffffb3687d81, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x366d0fb0, rs 0xffffffffb3687d81, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x5a5e5b09, rs 0xffffffffad2f2d84, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x5b095a5e, rs 0xffffffffad2f2d84, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff95a5e5b0, rs 0xffffffffad2f2d84, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x53dc6067, rs 0xffffffffa9ee3033, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x606753dc, rs 0xffffffffa9ee3033, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x753dc606, rs 0xffffffffa9ee3033, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x495a2dd5, rs 0xffffffffa4ad16ea, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x2dd5495a, rs 0xffffffffa4ad16ea, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x5495a2dd, rs 0xffffffffa4ad16ea, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x40d816bb, rs 0xffffffffa06c0b5d, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x16bb40d8, rs 0xffffffffa06c0b5d, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffb40d816b, rs 0xffffffffa06c0b5d, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffa864db21, rs 0xffffffffd4326d90, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffdb21a864, rs 0xffffffffd4326d90, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x1a864db2, rs 0xffffffffd4326d90, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffa1e6e04f, rs 0xffffffffd0f37027, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffe04fa1e6, rs 0xffffffffd0f37027, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffffa1e6e04, rs 0xffffffffd0f37027, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffbb60adfd, rs 0xffffffffddb056fe, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffadfdbb60, rs 0xffffffffddb056fe, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffdbb60adf, rs 0xffffffffddb056fe, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffb2e29693, rs 0xffffffffd9714b49, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff9693b2e2, rs 0xffffffffd9714b49, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x3b2e2969, rs 0xffffffffd9714b49, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff8e6c3699, rs 0xffffffffc7361b4c, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x36998e6c, rs 0xffffffffc7361b4c, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff98e6c369, rs 0xffffffffc7361b4c, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff87ee0df7, rs 0xffffffffc3f706fb, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xdf787ee, rs 0xffffffffc3f706fb, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x787ee0df, rs 0xffffffffc3f706fb, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff9d684045, rs 0xffffffffceb42022, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x40459d68, rs 0xffffffffceb42022, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x59d68404, rs 0xffffffffceb42022, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff94ea7b2b, rs 0xffffffffca753d95, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x7b2b94ea, rs 0xffffffffca753d95, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffb94ea7b2, rs 0xffffffffca753d95, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffe4750051, rs 0xfffffffff23a8028, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x51e475, rs 0xfffffffff23a8028, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x1e475005, rs 0xfffffffff23a8028, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffedf73b3f, rs 0xfffffffff6fb9d9f, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x3b3fedf7, rs 0xfffffffff6fb9d9f, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffffedf73b3, rs 0xfffffffff6fb9d9f, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffff771768d, rs 0xfffffffffbb8bb46, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x768df771, rs 0xfffffffffbb8bb46, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffdf771768, rs 0xfffffffffbb8bb46, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffffef34de3, rs 0xffffffffff79a6f1, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x4de3fef3, rs 0xffffffffff79a6f1, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x3fef34de, rs 0xffffffffff79a6f1, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffc27dede9, rs 0xffffffffe13ef6f4, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffede9c27d, rs 0xffffffffe13ef6f4, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff9c27dede, rs 0xffffffffe13ef6f4, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffcbffd687, rs 0xffffffffe5ffeb43, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffd687cbff, rs 0xffffffffe5ffeb43, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x7cbffd68, rs 0xffffffffe5ffeb43, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffd1799b35, rs 0xffffffffe8bccd9a, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff9b35d179, rs 0xffffffffe8bccd9a, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x5d1799b3, rs 0xffffffffe8bccd9a, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffd8fba05b, rs 0xffffffffec7dd02d, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffa05bd8fb, rs 0xffffffffec7dd02d, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffbd8fba05, rs 0xffffffffec7dd02d, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x690ce0ee, rs 0x34867077, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffe0ee690c, rs 0x34867077, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffe690ce0e, rs 0x34867077, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x608edb80, rs 0x30476dc0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffdb80608e, rs 0x30476dc0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x608edb8, rs 0x30476dc0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x7a089632, rs 0x3d044b19, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff96327a08, rs 0x3d044b19, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x27a08963, rs 0x3d044b19, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x738aad5c, rs 0x39c556ae, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffad5c738a, rs 0x39c556ae, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffc738aad5, rs 0x39c556ae, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x4f040d56, rs 0x278206ab, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xd564f04, rs 0x278206ab, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x64f040d5, rs 0x278206ab, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x46863638, rs 0x23431b1c, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x36384686, rs 0x23431b1c, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff84686363, rs 0x23431b1c, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x5c007b8a, rs 0x2e003dc5, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x7b8a5c00, rs 0x2e003dc5, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffa5c007b8, rs 0x2e003dc5, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x558240e4, rs 0x2ac12072, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x40e45582, rs 0x2ac12072, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4558240e, rs 0x2ac12072, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x251d3b9e, rs 0x128e9dcf, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x3b9e251d, rs 0x128e9dcf, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffe251d3b9, rs 0x128e9dcf, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x2c9f00f0, rs 0x164f8078, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xf02c9f, rs 0x164f8078, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x2c9f00f, rs 0x164f8078, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x36194d42, rs 0x1b0ca6a1, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x4d423619, rs 0x1b0ca6a1, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x236194d4, rs 0x1b0ca6a1, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x3f9b762c, rs 0x1fcdbb16, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x762c3f9b, rs 0x1fcdbb16, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffc3f9b762, rs 0x1fcdbb16, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x315d626, rs 0x18aeb13, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffd6260315, rs 0x18aeb13, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x60315d62, rs 0x18aeb13, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xa97ed48, rs 0x54bf6a4, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffed480a97, rs 0x54bf6a4, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff80a97ed4, rs 0x54bf6a4, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x1011a0fa, rs 0x808d07d, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffa0fa1011, rs 0x808d07d, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffa1011a0f, rs 0x808d07d, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x19939b94, rs 0xcc9cdca, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff9b941993, rs 0xcc9cdca, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x419939b9, rs 0xcc9cdca, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffff12f560e, rs 0x7897ab07, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x560ef12f, rs 0x7897ab07, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffef12f560, rs 0x7897ab07, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffff8ad6d60, rs 0x7c56b6b0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x6d60f8ad, rs 0x7c56b6b0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xf8ad6d6, rs 0x7c56b6b0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffe22b20d2, rs 0x71159069, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x20d2e22b, rs 0x71159069, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x2e22b20d, rs 0x71159069, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffeba91bbc, rs 0x75d48dde, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x1bbceba9, rs 0x75d48dde, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffceba91bb, rs 0x75d48dde, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffd727bbb6, rs 0x6b93dddb, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffbbb6d727, rs 0x6b93dddb, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x6d727bbb, rs 0x6b93dddb, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffdea580d8, rs 0x6f52c06c, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff80d8dea5, rs 0x6f52c06c, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff8dea580d, rs 0x6f52c06c, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffc423cd6a, rs 0x6211e6b5, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffcd6ac423, rs 0x6211e6b5, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffac423cd6, rs 0x6211e6b5, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffcda1f604, rs 0x66d0fb02, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffff604cda1, rs 0x66d0fb02, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4cda1f60, rs 0x66d0fb02, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffbd3e8d7e, rs 0x5e9f46bf, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff8d7ebd3e, rs 0x5e9f46bf, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffebd3e8d7, rs 0x5e9f46bf, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffb4bcb610, rs 0x5a5e5b08, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffb610b4bc, rs 0x5a5e5b08, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xb4bcb61, rs 0x5a5e5b08, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffae3afba2, rs 0x571d7dd1, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffffba2ae3a, rs 0x571d7dd1, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x2ae3afba, rs 0x571d7dd1, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffa7b8c0cc, rs 0x53dc6066, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffc0cca7b8, rs 0x53dc6066, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffca7b8c0c, rs 0x53dc6066, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff9b3660c6, rs 0x4d9b3063, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x60c69b36, rs 0x4d9b3063, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x69b3660c, rs 0x4d9b3063, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff92b45ba8, rs 0x495a2dd4, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x5ba892b4, rs 0x495a2dd4, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff892b45ba, rs 0x495a2dd4, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff8832161a, rs 0x44190b0d, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x161a8832, rs 0x44190b0d, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffa8832161, rs 0x44190b0d, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff81b02d74, rs 0x40d816ba, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x2d7481b0, rs 0x40d816ba, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x481b02d7, rs 0x40d816ba, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x594b8d2f, rs 0xffffffffaca5c697, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff8d2f594b, rs 0xffffffffaca5c697, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffff594b8d2, rs 0xffffffffaca5c697, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x50c9b641, rs 0xffffffffa864db20, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffb64150c9, rs 0xffffffffa864db20, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x150c9b64, rs 0xffffffffa864db20, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x4a4ffbf3, rs 0xffffffffa527fdf9, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffffbf34a4f, rs 0xffffffffa527fdf9, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x34a4ffbf, rs 0xffffffffa527fdf9, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x43cdc09d, rs 0xffffffffa1e6e04e, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffc09d43cd, rs 0xffffffffa1e6e04e, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffd43cdc09, rs 0xffffffffa1e6e04e, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x7f436097, rs 0xffffffffbfa1b04b, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x60977f43, rs 0xffffffffbfa1b04b, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x77f43609, rs 0xffffffffbfa1b04b, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x76c15bf9, rs 0xffffffffbb60adfc, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x5bf976c1, rs 0xffffffffbb60adfc, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff976c15bf, rs 0xffffffffbb60adfc, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x6c47164b, rs 0xffffffffb6238b25, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x164b6c47, rs 0xffffffffb6238b25, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffb6c47164, rs 0xffffffffb6238b25, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x65c52d25, rs 0xffffffffb2e29692, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x2d2565c5, rs 0xffffffffb2e29692, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x565c52d2, rs 0xffffffffb2e29692, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x155a565f, rs 0xffffffff8aad2b2f, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x565f155a, rs 0xffffffff8aad2b2f, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffff155a565, rs 0xffffffff8aad2b2f, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfdc1bed, rs 0xffffffff87ee0df6, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x1bed0fdc, rs 0xffffffff87ee0df6, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffd0fdc1be, rs 0xffffffff87ee0df6, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x3352bbe7, rs 0xffffffff99a95df3, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffbbe73352, rs 0xffffffff99a95df3, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x73352bbe, rs 0xffffffff99a95df3, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x3ad08089, rs 0xffffffff9d684044, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff80893ad0, rs 0xffffffff9d684044, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff93ad0808, rs 0xffffffff9d684044, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x2056cd3b, rs 0xffffffff902b669d, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffcd3b2056, rs 0xffffffff902b669d, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffb2056cd3, rs 0xffffffff902b669d, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x29d4f655, rs 0xffffffff94ea7b2a, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffff65529d4, rs 0xffffffff94ea7b2a, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x529d4f65, rs 0xffffffff94ea7b2a, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffc1683bcf, rs 0xffffffffe0b41de7, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x3bcfc168, rs 0xffffffffe0b41de7, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffffc1683bc, rs 0xffffffffe0b41de7, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffc8ea00a1, rs 0xffffffffe4750050, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xa1c8ea, rs 0xffffffffe4750050, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x1c8ea00a, rs 0xffffffffe4750050, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffd26c4d13, rs 0xffffffffe9362689, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x4d13d26c, rs 0xffffffffe9362689, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x3d26c4d1, rs 0xffffffffe9362689, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffdbee767d, rs 0xffffffffedf73b3e, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x767ddbee, rs 0xffffffffedf73b3e, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffddbee767, rs 0xffffffffedf73b3e, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffe760d677, rs 0xfffffffff3b06b3b, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffd677e760, rs 0xfffffffff3b06b3b, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x7e760d67, rs 0xfffffffff3b06b3b, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffeee2ed19, rs 0xfffffffff771768c, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffed19eee2, rs 0xfffffffff771768c, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff9eee2ed1, rs 0xfffffffff771768c, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffff464a0ab, rs 0xfffffffffa325055, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffa0abf464, rs 0xfffffffffa325055, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffbf464a0a, rs 0xfffffffffa325055, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffffde69bc5, rs 0xfffffffffef34de2, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff9bc5fde6, rs 0xfffffffffef34de2, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x5fde69bc, rs 0xfffffffffef34de2, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff8d79e0bf, rs 0xffffffffc6bcf05f, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffe0bf8d79, rs 0xffffffffc6bcf05f, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffff8d79e0b, rs 0xffffffffc6bcf05f, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff84fbdbd1, rs 0xffffffffc27dede8, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffdbd184fb, rs 0xffffffffc27dede8, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x184fbdbd, rs 0xffffffffc27dede8, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff9e7d9663, rs 0xffffffffcf3ecb31, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff96639e7d, rs 0xffffffffcf3ecb31, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x39e7d966, rs 0xffffffffcf3ecb31, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff97ffad0d, rs 0xffffffffcbffd686, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffad0d97ff, rs 0xffffffffcbffd686, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffd97ffad0, rs 0xffffffffcbffd686, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffab710d07, rs 0xffffffffd5b88683, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xd07ab71, rs 0xffffffffd5b88683, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x7ab710d0, rs 0xffffffffd5b88683, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffa2f33669, rs 0xffffffffd1799b34, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x3669a2f3, rs 0xffffffffd1799b34, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff9a2f3366, rs 0xffffffffd1799b34, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffb8757bdb, rs 0xffffffffdc3abded, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x7bdbb875, rs 0xffffffffdc3abded, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffbb8757bd, rs 0xffffffffdc3abded, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffb1f740b5, rs 0xffffffffd8fba05a, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x40b5b1f7, rs 0xffffffffd8fba05a, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x5b1f740b, rs 0xffffffffd8fba05a, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffd219c1dc, rs 0x690ce0ee, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffc1dcd219, rs 0x690ce0ee, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffcd219c1d, rs 0x690ce0ee, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffdb9bfab2, rs 0x6dcdfd59, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffffab2db9b, rs 0x6dcdfd59, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x2db9bfab, rs 0x6dcdfd59, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffc11db700, rs 0x608edb80, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffb700c11d, rs 0x608edb80, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xc11db70, rs 0x608edb80, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffc89f8c6e, rs 0x644fc637, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff8c6ec89f, rs 0x644fc637, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffec89f8c6, rs 0x644fc637, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffff4112c64, rs 0x7a089632, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x2c64f411, rs 0x7a089632, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4f4112c6, rs 0x7a089632, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffffd93170a, rs 0x7ec98b85, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x170afd93, rs 0x7ec98b85, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffafd93170, rs 0x7ec98b85, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffe7155ab8, rs 0x738aad5c, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x5ab8e715, rs 0x738aad5c, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff8e7155ab, rs 0x738aad5c, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffee9761d6, rs 0x774bb0eb, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x61d6ee97, rs 0x774bb0eb, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x6ee9761d, rs 0x774bb0eb, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff9e081aac, rs 0x4f040d56, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x1aac9e08, rs 0x4f040d56, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffc9e081aa, rs 0x4f040d56, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff978a21c2, rs 0x4bc510e1, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x21c2978a, rs 0x4bc510e1, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x2978a21c, rs 0x4bc510e1, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff8d0c6c70, rs 0x46863638, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x6c708d0c, rs 0x46863638, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x8d0c6c7, rs 0x46863638, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff848e571e, rs 0x42472b8f, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x571e848e, rs 0x42472b8f, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffe848e571, rs 0x42472b8f, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffb800f714, rs 0x5c007b8a, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffff714b800, rs 0x5c007b8a, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4b800f71, rs 0x5c007b8a, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffb182cc7a, rs 0x58c1663d, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffcc7ab182, rs 0x58c1663d, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffab182cc7, rs 0x58c1663d, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffab0481c8, rs 0x558240e4, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff81c8ab04, rs 0x558240e4, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff8ab0481c, rs 0x558240e4, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffa286baa6, rs 0x51435d53, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffbaa6a286, rs 0x51435d53, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x6a286baa, rs 0x51435d53, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x4a3a773c, rs 0x251d3b9e, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x773c4a3a, rs 0x251d3b9e, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffc4a3a773, rs 0x251d3b9e, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x43b84c52, rs 0x21dc2629, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x4c5243b8, rs 0x21dc2629, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x243b84c5, rs 0x21dc2629, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x593e01e0, rs 0x2c9f00f0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x1e0593e, rs 0x2c9f00f0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x593e01e, rs 0x2c9f00f0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x50bc3a8e, rs 0x285e1d47, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x3a8e50bc, rs 0x285e1d47, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffe50bc3a8, rs 0x285e1d47, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x6c329a84, rs 0x36194d42, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff9a846c32, rs 0x36194d42, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x46c329a8, rs 0x36194d42, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x65b0a1ea, rs 0x32d850f5, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffa1ea65b0, rs 0x32d850f5, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffa65b0a1e, rs 0x32d850f5, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x7f36ec58, rs 0x3f9b762c, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffec587f36, rs 0x3f9b762c, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff87f36ec5, rs 0x3f9b762c, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x76b4d736, rs 0x3b5a6b9b, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffd73676b4, rs 0x3b5a6b9b, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x676b4d73, rs 0x3b5a6b9b, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x62bac4c, rs 0x315d626, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffac4c062b, rs 0x315d626, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffc062bac4, rs 0x315d626, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfa99722, rs 0x7d4cb91, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff97220fa9, rs 0x7d4cb91, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x20fa9972, rs 0x7d4cb91, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x152fda90, rs 0xa97ed48, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffda90152f, rs 0xa97ed48, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x152fda9, rs 0xa97ed48, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x1cade1fe, rs 0xe56f0ff, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffe1fe1cad, rs 0xe56f0ff, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffe1cade1f, rs 0xe56f0ff, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x202341f4, rs 0x1011a0fa, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x41f42023, rs 0x1011a0fa, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4202341f, rs 0x1011a0fa, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x29a17a9a, rs 0x14d0bd4d, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x7a9a29a1, rs 0x14d0bd4d, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffa29a17a9, rs 0x14d0bd4d, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x33273728, rs 0x19939b94, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x37283327, rs 0x19939b94, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff83327372, rs 0x19939b94, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x3aa50c46, rs 0x1d528623, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xc463aa5, rs 0x1d528623, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x63aa50c4, rs 0x1d528623, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffe25eac1d, rs 0xfffffffff12f560e, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffac1de25e, rs 0xfffffffff12f560e, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffde25eac1, rs 0xfffffffff12f560e, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffebdc9773, rs 0xfffffffff5ee4bb9, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff9773ebdc, rs 0xfffffffff5ee4bb9, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x3ebdc977, rs 0xfffffffff5ee4bb9, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffff15adac1, rs 0xfffffffff8ad6d60, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffdac1f15a, rs 0xfffffffff8ad6d60, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x1f15adac, rs 0xfffffffff8ad6d60, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffff8d8e1af, rs 0xfffffffffc6c70d7, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffe1aff8d8, rs 0xfffffffffc6c70d7, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffff8d8e1a, rs 0xfffffffffc6c70d7, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffc45641a5, rs 0xffffffffe22b20d2, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x41a5c456, rs 0xffffffffe22b20d2, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x5c45641a, rs 0xffffffffe22b20d2, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffcdd47acb, rs 0xffffffffe6ea3d65, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x7acbcdd4, rs 0xffffffffe6ea3d65, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffbcdd47ac, rs 0xffffffffe6ea3d65, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffd7523779, rs 0xffffffffeba91bbc, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x3779d752, rs 0xffffffffeba91bbc, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff9d752377, rs 0xffffffffeba91bbc, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffded00c17, rs 0xffffffffef68060b, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xc17ded0, rs 0xffffffffef68060b, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x7ded00c1, rs 0xffffffffef68060b, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffae4f776d, rs 0xffffffffd727bbb6, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x776dae4f, rs 0xffffffffd727bbb6, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffdae4f776, rs 0xffffffffd727bbb6, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffa7cd4c03, rs 0xffffffffd3e6a601, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x4c03a7cd, rs 0xffffffffd3e6a601, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x3a7cd4c0, rs 0xffffffffd3e6a601, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffbd4b01b1, rs 0xffffffffdea580d8, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x1b1bd4b, rs 0xffffffffdea580d8, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x1bd4b01b, rs 0xffffffffdea580d8, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffb4c93adf, rs 0xffffffffda649d6f, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x3adfb4c9, rs 0xffffffffda649d6f, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffffb4c93ad, rs 0xffffffffda649d6f, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff88479ad5, rs 0xffffffffc423cd6a, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff9ad58847, rs 0xffffffffc423cd6a, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x588479ad, rs 0xffffffffc423cd6a, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff9b43ec09, rs 0xffffffffcda1f604, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffec099b43, rs 0xffffffffcda1f604, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff99b43ec0, rs 0xffffffffcda1f604, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x7a7d1afd, rs 0xffffffffbd3e8d7e, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x1afd7a7d, rs 0xffffffffbd3e8d7e, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffd7a7d1af, rs 0xffffffffbd3e8d7e, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x73ff2193, rs 0xffffffffb9ff90c9, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x219373ff, rs 0xffffffffb9ff90c9, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x373ff219, rs 0xffffffffb9ff90c9, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x69796c21, rs 0xffffffffb4bcb610, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x6c216979, rs 0xffffffffb4bcb610, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x169796c2, rs 0xffffffffb4bcb610, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x60fb574f, rs 0xffffffffb07daba7, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x574f60fb, rs 0xffffffffb07daba7, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffff60fb574, rs 0xffffffffb07daba7, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x5c75f745, rs 0xffffffffae3afba2, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffff7455c75, rs 0xffffffffae3afba2, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x55c75f74, rs 0xffffffffae3afba2, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x55f7cc2b, rs 0xffffffffaafbe615, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffcc2b55f7, rs 0xffffffffaafbe615, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffb55f7cc2, rs 0xffffffffaafbe615, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x4f718199, rs 0xffffffffa7b8c0cc, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff81994f71, rs 0xffffffffa7b8c0cc, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff94f71819, rs 0xffffffffa7b8c0cc, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x46f3baf7, rs 0xffffffffa379dd7b, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffbaf746f3, rs 0xffffffffa379dd7b, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x746f3baf, rs 0xffffffffa379dd7b, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x366cc18d, rs 0xffffffff9b3660c6, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffc18d366c, rs 0xffffffff9b3660c6, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffd366cc18, rs 0xffffffff9b3660c6, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x3feefae3, rs 0xffffffff9ff77d71, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffffae33fee, rs 0xffffffff9ff77d71, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x33feefae, rs 0xffffffff9ff77d71, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x2568b751, rs 0xffffffff92b45ba8, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffb7512568, rs 0xffffffff92b45ba8, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x12568b75, rs 0xffffffff92b45ba8, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x2cea8c3f, rs 0xffffffff9675461f, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff8c3f2cea, rs 0xffffffff9675461f, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffff2cea8c3, rs 0xffffffff9675461f, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x10642c35, rs 0xffffffff8832161a, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x2c351064, rs 0xffffffff8832161a, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x510642c3, rs 0xffffffff8832161a, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x19e6175b, rs 0xffffffff8cf30bad, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x175b19e6, rs 0xffffffff8cf30bad, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffb19e6175, rs 0xffffffff8cf30bad, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x3605ae9, rs 0xffffffff81b02d74, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x5ae90360, rs 0xffffffff81b02d74, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff903605ae, rs 0xffffffff81b02d74, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xae26187, rs 0xffffffff857130c3, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x61870ae2, rs 0xffffffff857130c3, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x70ae2618, rs 0xffffffff857130c3, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffbb152132, rs 0x5d8a9099, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x2132bb15, rs 0x5d8a9099, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x2bb15213, rs 0x5d8a9099, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffb2971a5c, rs 0x594b8d2e, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x1a5cb297, rs 0x594b8d2e, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffcb2971a5, rs 0x594b8d2e, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffa81157ee, rs 0x5408abf7, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x57eea811, rs 0x5408abf7, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffea81157e, rs 0x5408abf7, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffa1936c80, rs 0x50c9b640, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x6c80a193, rs 0x50c9b640, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xa1936c8, rs 0x50c9b640, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff9d1dcc8a, rs 0x4e8ee645, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffcc8a9d1d, rs 0x4e8ee645, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffa9d1dcc8, rs 0x4e8ee645, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff949ff7e4, rs 0x4a4ffbf2, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffff7e4949f, rs 0x4a4ffbf2, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4949ff7e, rs 0x4a4ffbf2, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff8e19ba56, rs 0x470cdd2b, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffba568e19, rs 0x470cdd2b, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x68e19ba5, rs 0x470cdd2b, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff879b8138, rs 0x43cdc09c, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff8138879b, rs 0x43cdc09c, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff8879b813, rs 0x43cdc09c, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffff704fa42, rs 0x7b827d21, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffffa42f704, rs 0x7b827d21, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x2f704fa4, rs 0x7b827d21, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffffe86c12c, rs 0x7f436096, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffc12cfe86, rs 0x7f436096, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffcfe86c12, rs 0x7f436096, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffe4008c9e, rs 0x7200464f, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff8c9ee400, rs 0x7200464f, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffee4008c9, rs 0x7200464f, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffed82b7f0, rs 0x76c15bf8, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffb7f0ed82, rs 0x76c15bf8, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xed82b7f, rs 0x76c15bf8, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffd10c17fa, rs 0x68860bfd, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x17fad10c, rs 0x68860bfd, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffad10c17f, rs 0x68860bfd, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffd88e2c94, rs 0x6c47164a, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x2c94d88e, rs 0x6c47164a, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x4d88e2c9, rs 0x6c47164a, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffc2086126, rs 0x61043093, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x6126c208, rs 0x61043093, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x6c208612, rs 0x61043093, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffcb8a5a48, rs 0x65c52d24, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x5a48cb8a, rs 0x65c52d24, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff8cb8a5a4, rs 0x65c52d24, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x233697d2, rs 0x119b4be9, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff97d22336, rs 0x119b4be9, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x2233697d, rs 0x119b4be9, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x2ab4acbc, rs 0x155a565e, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffacbc2ab4, rs 0x155a565e, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffc2ab4acb, rs 0x155a565e, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x3032e10e, rs 0x18197087, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffe10e3032, rs 0x18197087, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffe3032e10, rs 0x18197087, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x39b0da60, rs 0x1cd86d30, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffda6039b0, rs 0x1cd86d30, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x39b0da6, rs 0x1cd86d30, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x53e7a6a, rs 0x29f3d35, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x7a6a053e, rs 0x29f3d35, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffa053e7a6, rs 0x29f3d35, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xcbc4104, rs 0x65e2082, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x41040cbc, rs 0x65e2082, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x40cbc410, rs 0x65e2082, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x163a0cb6, rs 0xb1d065b, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xcb6163a, rs 0xb1d065b, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x6163a0cb, rs 0xb1d065b, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x1fb837d8, rs 0xfdc1bec, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x37d81fb8, rs 0xfdc1bec, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff81fb837d, rs 0xfdc1bec, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x6f274ca2, rs 0x3793a651, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x4ca26f27, rs 0x3793a651, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x26f274ca, rs 0x3793a651, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x66a577cc, rs 0x3352bbe6, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x77cc66a5, rs 0x3352bbe6, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffc66a577c, rs 0x3352bbe6, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x7c233a7e, rs 0x3e119d3f, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x3a7e7c23, rs 0x3e119d3f, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffe7c233a7, rs 0x3e119d3f, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x75a10110, rs 0x3ad08088, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x11075a1, rs 0x3ad08088, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x75a1011, rs 0x3ad08088, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x492fa11a, rs 0x2497d08d, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffa11a492f, rs 0x2497d08d, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffa492fa11, rs 0x2497d08d, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x40ad9a74, rs 0x2056cd3a, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff9a7440ad, rs 0x2056cd3a, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x440ad9a7, rs 0x2056cd3a, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x5a2bd7c6, rs 0x2d15ebe3, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffd7c65a2b, rs 0x2d15ebe3, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x65a2bd7c, rs 0x2d15ebe3, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x53a9eca8, rs 0x29d4f654, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffeca853a9, rs 0x29d4f654, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff853a9eca, rs 0x29d4f654, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff8b524cf3, rs 0xffffffffc5a92679, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x4cf38b52, rs 0xffffffffc5a92679, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x38b524cf, rs 0xffffffffc5a92679, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff82d0779d, rs 0xffffffffc1683bce, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x779d82d0, rs 0xffffffffc1683bce, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffd82d0779, rs 0xffffffffc1683bce, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff98563a2f, rs 0xffffffffcc2b1d17, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x3a2f9856, rs 0xffffffffcc2b1d17, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffff98563a2, rs 0xffffffffcc2b1d17, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffff91d40141, rs 0xffffffffc8ea00a0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x14191d4, rs 0xffffffffc8ea00a0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x191d4014, rs 0xffffffffc8ea00a0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffad5aa14b, rs 0xffffffffd6ad50a5, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffa14bad5a, rs 0xffffffffd6ad50a5, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffbad5aa14, rs 0xffffffffd6ad50a5, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffa4d89a25, rs 0xffffffffd26c4d12, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff9a25a4d8, rs 0xffffffffd26c4d12, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x5a4d89a2, rs 0xffffffffd26c4d12, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffbe5ed797, rs 0xffffffffdf2f6bcb, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffd797be5e, rs 0xffffffffdf2f6bcb, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x7be5ed79, rs 0xffffffffdf2f6bcb, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffb7dcecf9, rs 0xffffffffdbee767c, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffecf9b7dc, rs 0xffffffffdbee767c, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff9b7dcecf, rs 0xffffffffdbee767c, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffc7439783, rs 0xffffffffe3a1cbc1, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff9783c743, rs 0xffffffffe3a1cbc1, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x3c743978, rs 0xffffffffe3a1cbc1, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffcec1aced, rs 0xffffffffe760d676, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffacedcec1, rs 0xffffffffe760d676, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffdcec1ace, rs 0xffffffffe760d676, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffd447e15f, rs 0xffffffffea23f0af, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffe15fd447, rs 0xffffffffea23f0af, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffffd447e15, rs 0xffffffffea23f0af, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffddc5da31, rs 0xffffffffeee2ed18, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffda31ddc5, rs 0xffffffffeee2ed18, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x1ddc5da3, rs 0xffffffffeee2ed18, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffe14b7a3b, rs 0xfffffffff0a5bd1d, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x7a3be14b, rs 0xfffffffff0a5bd1d, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffbe14b7a3, rs 0xfffffffff0a5bd1d, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xffffffffe8c94155, rs 0xfffffffff464a0aa, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x4155e8c9, rs 0xfffffffff464a0aa, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x5e8c9415, rs 0xfffffffff464a0aa, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffff24f0ce7, rs 0xfffffffff9278673, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xce7f24f, rs 0xfffffffff9278673, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x7f24f0ce, rs 0xfffffffff9278673, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0xfffffffffbcd3789, rs 0xfffffffffde69bc4, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x3789fbcd, rs 0xfffffffffde69bc4, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff9fbcd378, rs 0xfffffffffde69bc4, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x1371fa13, rs 0xffffffff89b8fd09, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffffa131371, rs 0xffffffff89b8fd09, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x31371fa1, rs 0xffffffff89b8fd09, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x1af3c17d, rs 0xffffffff8d79e0be, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffc17d1af3, rs 0xffffffff8d79e0be, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffd1af3c17, rs 0xffffffff8d79e0be, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x758ccf, rs 0xffffffff803ac667, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff8ccf0075, rs 0xffffffff803ac667, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffff00758cc, rs 0xffffffff803ac667, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x9f7b7a1, rs 0xffffffff84fbdbd0, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffb7a109f7, rs 0xffffffff84fbdbd0, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x109f7b7a, rs 0xffffffff84fbdbd0, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x357917ab, rs 0xffffffff9abc8bd5, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x17ab3579, rs 0xffffffff9abc8bd5, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffb357917a, rs 0xffffffff9abc8bd5, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x3cfb2cc5, rs 0xffffffff9e7d9662, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x2cc53cfb, rs 0xffffffff9e7d9662, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x53cfb2cc, rs 0xffffffff9e7d9662, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x267d6177, rs 0xffffffff933eb0bb, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x6177267d, rs 0xffffffff933eb0bb, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x7267d617, rs 0xffffffff933eb0bb, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x2fff5a19, rs 0xffffffff97ffad0c, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x5a192fff, rs 0xffffffff97ffad0c, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff92fff5a1, rs 0xffffffff97ffad0c, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x5f602163, rs 0xffffffffafb010b1, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x21635f60, rs 0xffffffffafb010b1, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x35f60216, rs 0xffffffffafb010b1, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x56e21a0d, rs 0xffffffffab710d06, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x1a0d56e2, rs 0xffffffffab710d06, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffd56e21a0, rs 0xffffffffab710d06, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x4c6457bf, rs 0xffffffffa6322bdf, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x57bf4c64, rs 0xffffffffa6322bdf, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xfffffffff4c6457b, rs 0xffffffffa6322bdf, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x45e66cd1, rs 0xffffffffa2f33668, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0x6cd145e6, rs 0xffffffffa2f33668, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x145e66cd, rs 0xffffffffa2f33668, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x7968ccdb, rs 0xffffffffbcb4666d, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffccdb7968, rs 0xffffffffbcb4666d, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffffb7968ccd, rs 0xffffffffbcb4666d, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x70eaf7b5, rs 0xffffffffb8757bda, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xfffffffff7b570ea, rs 0xffffffffb8757bda, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x570eaf7b, rs 0xffffffffb8757bda, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x6a6cba07, rs 0xffffffffb5365d03, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffffba076a6c, rs 0xffffffffb5365d03, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0x76a6cba0, rs 0xffffffffb5365d03, imm 0x0003
+rotr $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+rotr $t2, $t3, 0x1f :: rt 0x63ee8169, rs 0xffffffffb1f740b4, imm 0x001f
+rotr $a0, $a1, 0x0f :: rt 0xffffffff816963ee, rs 0xffffffffb1f740b4, imm 0x000f
+rotr $s0, $s1, 0x03 :: rt 0xffffffff963ee816, rs 0xffffffffb1f740b4, imm 0x0003
+rotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+rotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+rotrv $t0, $t1, $t2 :: rd 0x608edb82, rs 0x9823b6e, rt 0xffffffffb8757bda
+rotrv $t0, $t1, $t2 :: rd 0x36c86a19, rs 0xd4326d9, rt 0xffffffffbcb4666d
+rotrv $t0, $t1, $t2 :: rd 0xffffffffdc130476, rs 0x130476dc, rt 0xffffffffa2f33668
+rotrv $t0, $t1, $t2 :: rd 0x2f8ad6d6, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+rotrv $t0, $t1, $t2 :: rd 0xffffffffc86a1936, rs 0x1a864db2, rt 0xffffffffab710d06
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa8028f23, rs 0x1e475005, rt 0xffffffffafb010b1
+rotrv $t0, $t1, $t2 :: rd 0xffffffffdb82608e, rs 0x2608edb8, rt 0xffffffff97ffad0c
+rotrv $t0, $t1, $t2 :: rd 0x593e01e4, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+rotrv $t0, $t1, $t2 :: rd 0xffffffff8be2b5b5, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+rotrv $t0, $t1, $t2 :: rd 0x5e5b095a, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+rotrv $t0, $t1, $t2 :: rd 0xffffffff9b64350c, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa6639b0d, rs 0x31cd86d3, rt 0xffffffff803ac667
+rotrv $t0, $t1, $t2 :: rd 0xfffffffff23a8028, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+rotrv $t0, $t1, $t2 :: rd 0xffffffffde9c27de, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+rotrv $t0, $t1, $t2 :: rd 0x4c11db7, rs 0x4c11db70, rt 0xfffffffffde69bc4
+rotrv $t0, $t1, $t2 :: rd 0x18d8e91a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+rotrv $t0, $t1, $t2 :: rd 0x79164f8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+rotrv $t0, $t1, $t2 :: rd 0xa97ed4a, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+rotrv $t0, $t1, $t2 :: rd 0x15adac5f, rs 0x5f15adac, rt 0xffffffffeee2ed18
+rotrv $t0, $t1, $t2 :: rd 0x6036b7a9, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+rotrv $t0, $t1, $t2 :: rd 0x5e5b095a, rs 0x569796c2, rt 0xffffffffe760d676
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa92b45ba, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa1936c86, rs 0x6a1936c8, rt 0xffffffffdbee767c
+rotrv $t0, $t1, $t2 :: rd 0x6feddb05, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+rotrv $t0, $t1, $t2 :: rd 0xffffffffc36998e6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+rotrv $t0, $t1, $t2 :: rd 0xffffffff8b3ad080, rs 0x675a1011, rt 0xffffffffd6ad50a5
+rotrv $t0, $t1, $t2 :: rd 0x791d4014, rs 0x791d4014, rt 0xffffffffc8ea00a0
+rotrv $t0, $t1, $t2 :: rd 0xffffffffb8bb46fb, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+rotrv $t0, $t1, $t2 :: rd 0xffffffffede9c27d, rs 0x709f7b7a, rt 0xffffffffc1683bce
+rotrv $t0, $t1, $t2 :: rd 0x2f3366ba, rs 0x745e66cd, rt 0xffffffffc5a92679
+rotrv $t0, $t1, $t2 :: rd 0x3b6e0982, rs 0xffffffff9823b6e0, rt 0x29d4f654
+rotrv $t0, $t1, $t2 :: rd 0xfffffffff39c556a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+rotrv $t0, $t1, $t2 :: rd 0x686363a4, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+rotrv $t0, $t1, $t2 :: rd 0xffffffff81ccab04, rs 0xffffffff95609039, rt 0x2497d08d
+rotrv $t0, $t1, $t2 :: rd 0x3c8b27c0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+rotrv $t0, $t1, $t2 :: rd 0x1fcdbb17, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+rotrv $t0, $t1, $t2 :: rd 0x4a0a97ed, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+rotrv $t0, $t1, $t2 :: rd 0x7372c332, rs 0xffffffff8664e6e5, rt 0x3793a651
+rotrv $t0, $t1, $t2 :: rd 0xffffffffb58be2b5, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+rotrv $t0, $t1, $t2 :: rd 0x5d48ddf7, rs 0xffffffffbaea46ef, rt 0xb1d065b
+rotrv $t0, $t1, $t2 :: rd 0xffffffffadea580d, rs 0xffffffffb7a96036, rt 0x65e2082
+rotrv $t0, $t1, $t2 :: rd 0x43ec0d9b, rs 0xffffffffb3687d81, rt 0x29f3d35
+rotrv $t0, $t1, $t2 :: rd 0x2d84ad2f, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+rotrv $t0, $t1, $t2 :: rd 0x6753dc60, rs 0xffffffffa9ee3033, rt 0x18197087
+rotrv $t0, $t1, $t2 :: rd 0xffffffff92b45baa, rs 0xffffffffa4ad16ea, rt 0x155a565e
+rotrv $t0, $t1, $t2 :: rd 0xffffffffaed03605, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+rotrv $t0, $t1, $t2 :: rd 0xd4326d9, rs 0xffffffffd4326d90, rt 0x65c52d24
+rotrv $t0, $t1, $t2 :: rd 0x6e04fa1e, rs 0xffffffffd0f37027, rt 0x61043093
+rotrv $t0, $t1, $t2 :: rd 0xffffffffbfb76c15, rs 0xffffffffddb056fe, rt 0x6c47164a
+rotrv $t0, $t1, $t2 :: rd 0xffffffffcb8a5a4e, rs 0xffffffffd9714b49, rt 0x68860bfd
+rotrv $t0, $t1, $t2 :: rd 0x361b4cc7, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+rotrv $t0, $t1, $t2 :: rd 0xdf787ee, rs 0xffffffffc3f706fb, rt 0x7200464f
+rotrv $t0, $t1, $t2 :: rd 0xffffffffd0808b3a, rs 0xffffffffceb42022, rt 0x7f436096
+rotrv $t0, $t1, $t2 :: rd 0xffffffffe53a9eca, rs 0xffffffffca753d95, rt 0x7b827d21
+rotrv $t0, $t1, $t2 :: rd 0x23a8028f, rs 0xfffffffff23a8028, rt 0x43cdc09c
+rotrv $t0, $t1, $t2 :: rd 0xffffffffb3fedf73, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+rotrv $t0, $t1, $t2 :: rd 0x2ed1beee, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+rotrv $t0, $t1, $t2 :: rd 0xffffffff8ffbcd37, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+rotrv $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+rotrv $t0, $t1, $t2 :: rd 0xffffffffffd687cb, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+rotrv $t0, $t1, $t2 :: rd 0x366ba2f3, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+rotrv $t0, $t1, $t2 :: rd 0x3ee816f6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+rotrv $t0, $t1, $t2 :: rd 0xffffffffe690ce0e, rs 0x34867077, rt 0xffffffff857130c3
+rotrv $t0, $t1, $t2 :: rd 0x76dc0304, rs 0x30476dc0, rt 0xffffffff81b02d74
+rotrv $t0, $t1, $t2 :: rd 0x58c9e822, rs 0x3d044b19, rt 0xffffffff8cf30bad
+rotrv $t0, $t1, $t2 :: rd 0x7155ab8e, rs 0x39c556ae, rt 0xffffffff8832161a
+rotrv $t0, $t1, $t2 :: rd 0x4f040d56, rs 0x278206ab, rt 0xffffffff9675461f
+rotrv $t0, $t1, $t2 :: rd 0x1c23431b, rs 0x23431b1c, rt 0xffffffff92b45ba8
+rotrv $t0, $t1, $t2 :: rd 0x1ee29700, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+rotrv $t0, $t1, $t2 :: rd 0xffffffffc8ab0481, rs 0x2ac12072, rt 0xffffffff9b3660c6
+rotrv $t0, $t1, $t2 :: rd 0x51d3b9e2, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+rotrv $t0, $t1, $t2 :: rd 0x78164f8, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+rotrv $t0, $t1, $t2 :: rd 0x653508d8, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+rotrv $t0, $t1, $t2 :: rd 0xffffffff87f36ec5, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+rotrv $t0, $t1, $t2 :: rd 0x260315d6, rs 0x18aeb13, rt 0xffffffffb07daba7
+rotrv $t0, $t1, $t2 :: rd 0xfffffffff6a4054b, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+rotrv $t0, $t1, $t2 :: rd 0x3e840468, rs 0x808d07d, rt 0xffffffffb9ff90c9
+rotrv $t0, $t1, $t2 :: rd 0x33273728, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+rotrv $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+rotrv $t0, $t1, $t2 :: rd 0x7c56b6b, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+rotrv $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+rotrv $t0, $t1, $t2 :: rd 0x779d7523, rs 0x75d48dde, rt 0xffffffffc423cd6a
+rotrv $t0, $t1, $t2 :: rd 0xffffffffbbb6d727, rs 0x6b93dddb, rt 0xffffffffda649d6f
+rotrv $t0, $t1, $t2 :: rd 0x52c06c6f, rs 0x6f52c06c, rt 0xffffffffdea580d8
+rotrv $t0, $t1, $t2 :: rd 0xffffffffb108f35a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+rotrv $t0, $t1, $t2 :: rd 0x43ec099b, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+rotrv $t0, $t1, $t2 :: rd 0xffffffffd7ebd3e8, rs 0x5e9f46bf, rt 0xffffffffef68060b
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa5e5b085, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+rotrv $t0, $t1, $t2 :: rd 0xffffffff8ab8ebee, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+rotrv $t0, $t1, $t2 :: rd 0x181994f7, rs 0x53dc6066, rt 0xffffffffe22b20d2
+rotrv $t0, $t1, $t2 :: rd 0x3660c69b, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+rotrv $t0, $t1, $t2 :: rd 0x495a2dd4, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+rotrv $t0, $t1, $t2 :: rd 0xc8586a2, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+rotrv $t0, $t1, $t2 :: rd 0x5ae90360, rs 0x40d816ba, rt 0xfffffffff12f560e
+rotrv $t0, $t1, $t2 :: rd 0xfffffffff594b8d2, rs 0xffffffffaca5c697, rt 0x1d528623
+rotrv $t0, $t1, $t2 :: rd 0x4db20a86, rs 0xffffffffa864db20, rt 0x19939b94
+rotrv $t0, $t1, $t2 :: rd 0xffffffffefcd293f, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+rotrv $t0, $t1, $t2 :: rd 0x79b813a8, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+rotrv $t0, $t1, $t2 :: rd 0x7f436097, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+rotrv $t0, $t1, $t2 :: rd 0xfffffffffcbb60ad, rs 0xffffffffbb60adfc, rt 0xa97ed48
+rotrv $t0, $t1, $t2 :: rd 0xffffffffc592db11, rs 0xffffffffb6238b25, rt 0x7d4cb91
+rotrv $t0, $t1, $t2 :: rd 0x4acb8a5a, rs 0xffffffffb2e29692, rt 0x315d626
+rotrv $t0, $t1, $t2 :: rd 0x55a565f1, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+rotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+rotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa1fb837d, rs 0xffffffff87ee0df6, rt 0x36194d42
+rotrv $t0, $t1, $t2 :: rd 0xffffffffe73352bb, rs 0xffffffff99a95df3, rt 0x285e1d47
+rotrv $t0, $t1, $t2 :: rd 0x40449d68, rs 0xffffffff9d684044, rt 0x2c9f00f0
+rotrv $t0, $t1, $t2 :: rd 0x4ec815b3, rs 0xffffffff902b669d, rt 0x21dc2629
+rotrv $t0, $t1, $t2 :: rd 0x53a9ecaa, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+rotrv $t0, $t1, $t2 :: rd 0xffffffff83bcfc16, rs 0xffffffffe0b41de7, rt 0x51435d53
+rotrv $t0, $t1, $t2 :: rd 0xe475005, rs 0xffffffffe4750050, rt 0x558240e4
+rotrv $t0, $t1, $t2 :: rd 0x49b1344f, rs 0xffffffffe9362689, rt 0x58c1663d
+rotrv $t0, $t1, $t2 :: rd 0xffffffffcfbb7dce, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+rotrv $t0, $t1, $t2 :: rd 0xffffffffd677e760, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+rotrv $t0, $t1, $t2 :: rd 0x71768cf7, rs 0xfffffffff771768c, rt 0x46863638
+rotrv $t0, $t1, $t2 :: rd 0xfffffffffd19282a, rs 0xfffffffffa325055, rt 0x4bc510e1
+rotrv $t0, $t1, $t2 :: rd 0xffffffffcd378bfb, rs 0xfffffffffef34de2, rt 0x4f040d56
+rotrv $t0, $t1, $t2 :: rd 0xbf8d79e, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+rotrv $t0, $t1, $t2 :: rd 0x27dede8c, rs 0xffffffffc27dede8, rt 0x738aad5c
+rotrv $t0, $t1, $t2 :: rd 0xffffffff8e79f659, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+rotrv $t0, $t1, $t2 :: rd 0xfffffffff5a1b2ff, rs 0xffffffffcbffd686, rt 0x7a089632
+rotrv $t0, $t1, $t2 :: rd 0x710d07ab, rs 0xffffffffd5b88683, rt 0x644fc637
+rotrv $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+rotrv $t0, $t1, $t2 :: rd 0x1d5ef6ee, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+rotrv $t0, $t1, $t2 :: rd 0xffffffff816b63ee, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+rotrv $t0, $t1, $t2 :: rd 0x43383b9a, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+rotrv $t0, $t1, $t2 :: rd 0xffffffffeacb6e6f, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+rotrv $t0, $t1, $t2 :: rd 0xffffffffedb80608, rs 0x608edb80, rt 0xffffffffd1799b34
+rotrv $t0, $t1, $t2 :: rd 0xffffffffec89f8c6, rs 0x644fc637, rt 0xffffffffd5b88683
+rotrv $t0, $t1, $t2 :: rd 0xffffffffc9e82258, rs 0x7a089632, rt 0xffffffffcbffd686
+rotrv $t0, $t1, $t2 :: rd 0xffffffffc5c2bf64, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+rotrv $t0, $t1, $t2 :: rd 0x5c738aad, rs 0x738aad5c, rt 0xffffffffc27dede8
+rotrv $t0, $t1, $t2 :: rd 0xffffffffee9761d6, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+rotrv $t0, $t1, $t2 :: rd 0xffffffff93c10355, rs 0x4f040d56, rt 0xfffffffffef34de2
+rotrv $t0, $t1, $t2 :: rd 0x28870a5e, rs 0x4bc510e1, rt 0xfffffffffa325055
+rotrv $t0, $t1, $t2 :: rd 0x63846863, rs 0x46863638, rt 0xfffffffff771768c
+rotrv $t0, $t1, $t2 :: rd 0x48e571e8, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+rotrv $t0, $t1, $t2 :: rd 0x7001ee29, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+rotrv $t0, $t1, $t2 :: rd 0x1eac60b3, rs 0x58c1663d, rt 0xffffffffe9362689
+rotrv $t0, $t1, $t2 :: rd 0x40e45582, rs 0x558240e4, rt 0xffffffffe4750050
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa6a286ba, rs 0x51435d53, rt 0xffffffffe0b41de7
+rotrv $t0, $t1, $t2 :: rd 0xffffffffe789474e, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+rotrv $t0, $t1, $t2 :: rd 0xee13149, rs 0x21dc2629, rt 0xffffffff902b669d
+rotrv $t0, $t1, $t2 :: rd 0x2c9f00f, rs 0x2c9f00f0, rt 0xffffffff9d684044
+rotrv $t0, $t1, $t2 :: rd 0xffffffffc3a8e50b, rs 0x285e1d47, rt 0xffffffff99a95df3
+rotrv $t0, $t1, $t2 :: rd 0x653508d8, rs 0x36194d42, rt 0xffffffff87ee0df6
+rotrv $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+rotrv $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+rotrv $t0, $t1, $t2 :: rd 0xffffffffd73676b4, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+rotrv $t0, $t1, $t2 :: rd 0x758980c5, rs 0x315d626, rt 0xffffffffb2e29692
+rotrv $t0, $t1, $t2 :: rd 0xffffffff883ea65c, rs 0x7d4cb91, rt 0xffffffffb6238b25
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa97ed480, rs 0xa97ed48, rt 0xffffffffbb60adfc
+rotrv $t0, $t1, $t2 :: rd 0x1fe1cade, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+rotrv $t0, $t1, $t2 :: rd 0xffffffff83e84046, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+rotrv $t0, $t1, $t2 :: rd 0x685ea68a, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+rotrv $t0, $t1, $t2 :: rd 0x19939b94, rs 0x19939b94, rt 0xffffffffa864db20
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa50c463a, rs 0x1d528623, rt 0xffffffffaca5c697
+rotrv $t0, $t1, $t2 :: rd 0x4bd583bc, rs 0xfffffffff12f560e, rt 0x40d816ba
+rotrv $t0, $t1, $t2 :: rd 0x5dcfaf72, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+rotrv $t0, $t1, $t2 :: rd 0xffffffffd6d60f8a, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+rotrv $t0, $t1, $t2 :: rd 0xffffffffff8d8e1a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+rotrv $t0, $t1, $t2 :: rd 0x4b88ac83, rs 0xffffffffe22b20d2, rt 0x53dc6066
+rotrv $t0, $t1, $t2 :: rd 0x1eb2f375, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+rotrv $t0, $t1, $t2 :: rd 0xffffffffbceba91b, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+rotrv $t0, $t1, $t2 :: rd 0xffffffffded00c17, rs 0xffffffffef68060b, rt 0x5e9f46bf
+rotrv $t0, $t1, $t2 :: rd 0xffffffffb5c9eeed, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+rotrv $t0, $t1, $t2 :: rd 0x35300e9f, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+rotrv $t0, $t1, $t2 :: rd 0xd8dea58, rs 0xffffffffdea580d8, rt 0x6f52c06c
+rotrv $t0, $t1, $t2 :: rd 0x4c93adfb, rs 0xffffffffda649d6f, rt 0x6b93dddb
+rotrv $t0, $t1, $t2 :: rd 0x108f35ab, rs 0xffffffffc423cd6a, rt 0x75d48dde
+rotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+rotrv $t0, $t1, $t2 :: rd 0xfffffffff604cda1, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+rotrv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+rotrv $t0, $t1, $t2 :: rd 0x5faf4fa3, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+rotrv $t0, $t1, $t2 :: rd 0xffffffffcffc864d, rs 0xffffffffb9ff90c9, rt 0x808d07d
+rotrv $t0, $t1, $t2 :: rd 0xb4bcb61, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+rotrv $t0, $t1, $t2 :: rd 0xffffffffb574f60f, rs 0xffffffffb07daba7, rt 0x18aeb13
+rotrv $t0, $t1, $t2 :: rd 0xffffffffebee8ab8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+rotrv $t0, $t1, $t2 :: rd 0xffffffffd57df30a, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+rotrv $t0, $t1, $t2 :: rd 0xffffffffb8c0cca7, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+rotrv $t0, $t1, $t2 :: rd 0xffffffffbaf746f3, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+rotrv $t0, $t1, $t2 :: rd 0xffffffff9831a6cd, rs 0xffffffff9b3660c6, rt 0x2ac12072
+rotrv $t0, $t1, $t2 :: rd 0xffffffff8cffbbeb, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+rotrv $t0, $t1, $t2 :: rd 0x2b45ba89, rs 0xffffffff92b45ba8, rt 0x23431b1c
+rotrv $t0, $t1, $t2 :: rd 0xffffffffc3f2cea8, rs 0xffffffff9675461f, rt 0x278206ab
+rotrv $t0, $t1, $t2 :: rd 0x586a20c8, rs 0xffffffff8832161a, rt 0x39c556ae
+rotrv $t0, $t1, $t2 :: rd 0x7985d6c6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+rotrv $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+rotrv $t0, $t1, $t2 :: rd 0xffffffffe261870a, rs 0xffffffff857130c3, rt 0x34867077
+rotrv $t0, $t1, $t2 :: rd 0xffffffff84caec54, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+rotrv $t0, $t1, $t2 :: rd 0x52e34b96, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+rotrv $t0, $t1, $t2 :: rd 0xffffffffea81157e, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+rotrv $t0, $t1, $t2 :: rd 0xffffffff9b64050c, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+rotrv $t0, $t1, $t2 :: rd 0x7322a747, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+rotrv $t0, $t1, $t2 :: rd 0xffffffffc9293fef, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+rotrv $t0, $t1, $t2 :: rd 0xffffffff8e19ba56, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+rotrv $t0, $t1, $t2 :: rd 0xffffffff9c43cdc0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+rotrv $t0, $t1, $t2 :: rd 0x13e90bdc, rs 0x7b827d21, rt 0xffffffffca753d95
+rotrv $t0, $t1, $t2 :: rd 0xffffffff9fd0d825, rs 0x7f436096, rt 0xffffffffceb42022
+rotrv $t0, $t1, $t2 :: rd 0x4008c9ee, rs 0x7200464f, rt 0xffffffffc3f706fb
+rotrv $t0, $t1, $t2 :: rd 0xffffffffbf876c15, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+rotrv $t0, $t1, $t2 :: rd 0xfffffffffeb44305, rs 0x68860bfd, rt 0xffffffffd9714b49
+rotrv $t0, $t1, $t2 :: rd 0xffffffffb11c5929, rs 0x6c47164a, rt 0xffffffffddb056fe
+rotrv $t0, $t1, $t2 :: rd 0x26c20861, rs 0x61043093, rt 0xffffffffd0f37027
+rotrv $t0, $t1, $t2 :: rd 0x2d2465c5, rs 0x65c52d24, rt 0xffffffffd4326d90
+rotrv $t0, $t1, $t2 :: rd 0xffffffff8cda5f48, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+rotrv $t0, $t1, $t2 :: rd 0xffffffff97855695, rs 0x155a565e, rt 0xffffffffa4ad16ea
+rotrv $t0, $t1, $t2 :: rd 0x2e10e303, rs 0x18197087, rt 0xffffffffa9ee3033
+rotrv $t0, $t1, $t2 :: rd 0x1cd86d3, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+rotrv $t0, $t1, $t2 :: rd 0xffffffff814f9e9a, rs 0x29f3d35, rt 0xffffffffb3687d81
+rotrv $t0, $t1, $t2 :: rd 0x78820819, rs 0x65e2082, rt 0xffffffffb7a96036
+rotrv $t0, $t1, $t2 :: rd 0xcb6163a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+rotrv $t0, $t1, $t2 :: rd 0xffffffffdc1bec0f, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+rotrv $t0, $t1, $t2 :: rd 0xffffffff89bc9d32, rs 0x3793a651, rt 0xffffffff8664e6e5
+rotrv $t0, $t1, $t2 :: rd 0xffffffffaef98cd4, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa7e7c233, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+rotrv $t0, $t1, $t2 :: rd 0xffffffffad080883, rs 0x3ad08088, rt 0xffffffff8b27c03c
+rotrv $t0, $t1, $t2 :: rd 0x4be84692, rs 0x2497d08d, rt 0xffffffff95609039
+rotrv $t0, $t1, $t2 :: rd 0x34e8815b, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+rotrv $t0, $t1, $t2 :: rd 0x2bd7c65a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+rotrv $t0, $t1, $t2 :: rd 0x29d4f654, rs 0x29d4f654, rt 0xffffffff9823b6e0
+rotrv $t0, $t1, $t2 :: rd 0x33ce2d49, rs 0xffffffffc5a92679, rt 0x745e66cd
+rotrv $t0, $t1, $t2 :: rd 0x5a0ef3b0, rs 0xffffffffc1683bce, rt 0x709f7b7a
+rotrv $t0, $t1, $t2 :: rd 0xfffffffff98563a2, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa00a0c8e, rs 0xffffffffc8ea00a0, rt 0x791d4014
+rotrv $t0, $t1, $t2 :: rd 0xffffffffa852eb56, rs 0xffffffffd6ad50a5, rt 0x675a1011
+rotrv $t0, $t1, $t2 :: rd 0x4b49b134, rs 0xffffffffd26c4d12, rt 0x639b0da6
+rotrv $t0, $t1, $t2 :: rd 0xffffffffbe5ed797, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+rotrv $t0, $t1, $t2 :: rd 0x7cdbee76, rs 0xffffffffdbee767c, rt 0x6a1936c8
+rotrv $t0, $t1, $t2 :: rd 0xe5e0f1d, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+rotrv $t0, $t1, $t2 :: rd 0xffffffffb9d8359d, rs 0xffffffffe760d676, rt 0x569796c2
+rotrv $t0, $t1, $t2 :: rd 0x447e15fd, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+rotrv $t0, $t1, $t2 :: rd 0xffffffffd18eee2e, rs 0xffffffffeee2ed18, rt 0x5f15adac
+rotrv $t0, $t1, $t2 :: rd 0xffffffff8ef852de, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+rotrv $t0, $t1, $t2 :: rd 0xffffffffd19282ab, rs 0xfffffffff464a0aa, rt 0x4593e01e
+rotrv $t0, $t1, $t2 :: rd 0xffffffffe7f24f0c, rs 0xfffffffff9278673, rt 0x48d0c6c7
+rotrv $t0, $t1, $t2 :: rd 0xffffffff9bc4fde6, rs 0xfffffffffde69bc4, rt 0x4c11db70
+rotrv $t0, $t1, $t2 :: rd 0x4dc7e84c, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+rotrv $t0, $t1, $t2 :: rd 0x2fa35e78, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+rotrv $t0, $t1, $t2 :: rd 0x58ccf007, rs 0xffffffff803ac667, rt 0x31cd86d3
+rotrv $t0, $t1, $t2 :: rd 0x84fbdbd, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+rotrv $t0, $t1, $t2 :: rd 0xffffffffcd5e45ea, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+rotrv $t0, $t1, $t2 :: rd 0xfffffffff6598a79, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+rotrv $t0, $t1, $t2 :: rd 0x6177267d, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+rotrv $t0, $t1, $t2 :: rd 0xffffffffffad0c97, rs 0xffffffff97ffad0c, rt 0x2608edb8
+rotrv $t0, $t1, $t2 :: rd 0xffffffff8d7d8085, rs 0xffffffffafb010b1, rt 0x1e475005
+rotrv $t0, $t1, $t2 :: rd 0x4341aadc, rs 0xffffffffab710d06, rt 0x1a864db2
+rotrv $t0, $t1, $t2 :: rd 0x7bf4c645, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+rotrv $t0, $t1, $t2 :: rd 0x2f33668a, rs 0xffffffffa2f33668, rt 0x130476dc
+rotrv $t0, $t1, $t2 :: rd 0x5a3336de, rs 0xffffffffbcb4666d, rt 0xd4326d9
+rotrv $t0, $t1, $t2 :: rd 0xffffffffef6ae1d5, rs 0xffffffffb8757bda, rt 0x9823b6e
+rotrv $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+rotrv $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x12bd6aa, rs 0x12bd6aa, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x12bd6aa, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb550000, rs 0x12bd6aa, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x95eb550, rs 0x12bd6aa, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff82d2ab13, rs 0x7e876382d2ab13, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7e876382d2ab13, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x55898000, rs 0x7e876382d2ab13, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x16955898, rs 0x7e876382d2ab13, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1db70000, rs 0x9823b6e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4c11db70, rs 0x9823b6e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc31510f3, rs 0x976d6e9ac31510f3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x976d6e9ac31510f3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff88798000, rs 0x976d6e9ac31510f3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x18a88798, rs 0x976d6e9ac31510f3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd4326d9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff936c8000, rs 0xd4326d9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6a1936c8, rs 0xd4326d9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5ad6a5fb, rs 0xb7746d775ad6a5fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb7746d775ad6a5fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x52fd8000, rs 0xb7746d775ad6a5fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd6b52fd8, rs 0xb7746d775ad6a5fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3b6e0000, rs 0x130476dc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9823b6e0, rs 0x130476dc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8677b502, rs 0x42b0c0a28677b502, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x42b0c0a28677b502, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffda810000, rs 0x42b0c0a28677b502, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x33bda810, rs 0x42b0c0a28677b502, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x17c56b6b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb5b58000, rs 0x17c56b6b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbe2b5b58, rs 0x17c56b6b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9e3c30ad, rs 0x2aa89d319e3c30ad, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2aa89d319e3c30ad, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18568000, rs 0x2aa89d319e3c30ad, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff1e18568, rs 0x2aa89d319e3c30ad, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x26d90000, rs 0x1a864db2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd4326d90, rs 0x1a864db2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x77fb413d, rs 0x1f308ec377fb413d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1f308ec377fb413d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa09e8000, rs 0x1f308ec377fb413d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbfda09e8, rs 0x1f308ec377fb413d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1e475005, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa8028000, rs 0x1e475005, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff23a8028, rs 0x1e475005, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc760e4f7, rs 0x7aa04213c760e4f7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7aa04213c760e4f7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x727b8000, rs 0x7aa04213c760e4f7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3b0727b8, rs 0x7aa04213c760e4f7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x76dc0000, rs 0x2608edb8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x30476dc0, rs 0x2608edb8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1ad8dca0, rs 0x9e705cc51ad8dca0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x9e705cc51ad8dca0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6e500000, rs 0x9e705cc51ad8dca0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd6c6e500, rs 0x9e705cc51ad8dca0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x22c9f00f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff8078000, rs 0x22c9f00f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x164f8078, rs 0x22c9f00f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9615a60d, rs 0x4b3dda869615a60d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4b3dda869615a60d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd3068000, rs 0x4b3dda869615a60d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb0ad3068, rs 0x4b3dda869615a60d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6b6b0000, rs 0x2f8ad6d6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7c56b6b0, rs 0x2f8ad6d6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6353d41d, rs 0x5e7a4dd6353d41d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5e7a4dd6353d41d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffea0e8000, rs 0x5e7a4dd6353d41d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a9ea0e8, rs 0x5e7a4dd6353d41d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2b4bcb61, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe5b08000, rs 0x2b4bcb61, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5a5e5b08, rs 0x2b4bcb61, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc40bd413, rs 0x3af35a9dc40bd413, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3af35a9dc40bd413, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffea098000, rs 0x3af35a9dc40bd413, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x205ea098, rs 0x3af35a9dc40bd413, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4db20000, rs 0x350c9b64, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa864db20, rs 0x350c9b64, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9a08a180, rs 0x47f505569a08a180, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x47f505569a08a180, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x50c00000, rs 0x47f505569a08a180, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd0450c00, rs 0x47f505569a08a180, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x31cd86d3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc3698000, rs 0x31cd86d3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8e6c3698, rs 0x31cd86d3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd6d2040f, rs 0x9564b77fd6d2040f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x9564b77fd6d2040f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2078000, rs 0x9564b77fd6d2040f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb6902078, rs 0x9564b77fd6d2040f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x50050000, rs 0x3c8ea00a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe4750050, rs 0x3c8ea00a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb2c76bbe, rs 0xcebc8279b2c76bbe, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xcebc8279b2c76bbe, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb5df0000, rs 0xcebc8279b2c76bbe, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff963b5df0, rs 0xcebc8279b2c76bbe, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x384fbdbd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdede8000, rs 0x384fbdbd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc27dede8, rs 0x384fbdbd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1f18e4c7, rs 0xb5034c2f1f18e4c7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb5034c2f1f18e4c7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x72638000, rs 0xb5034c2f1f18e4c7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff8c72638, rs 0xb5034c2f1f18e4c7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffedb80000, rs 0x4c11db70, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x608edb80, rs 0x4c11db70, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff81afa797, rs 0x94ff52fc81afa797, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x94ff52fc81afa797, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd3cb8000, rs 0x94ff52fc81afa797, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xd7d3cb8, rs 0x94ff52fc81afa797, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x48d0c6c7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x63638000, rs 0x48d0c6c7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x46863638, rs 0x48d0c6c7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6dfc50ea, rs 0x31d8d9166dfc50ea, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x31d8d9166dfc50ea, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x28750000, rs 0x31d8d9166dfc50ea, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6fe28750, rs 0x31d8d9166dfc50ea, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff00f0000, rs 0x4593e01e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2c9f00f0, rs 0x4593e01e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x78e895b1, rs 0x36549bd678e895b1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x36549bd678e895b1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4ad88000, rs 0x36549bd678e895b1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc744ad88, rs 0x36549bd678e895b1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4152fda9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7ed48000, rs 0x4152fda9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xa97ed48, rs 0x4152fda9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9b63259b, rs 0x85e0a6319b63259b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x85e0a6319b63259b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff92cd8000, rs 0x85e0a6319b63259b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdb192cd8, rs 0x85e0a6319b63259b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd6d60000, rs 0x5f15adac, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff8ad6d60, rs 0x5f15adac, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffccf17ac5, rs 0x556b3ecaccf17ac5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x556b3ecaccf17ac5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbd628000, rs 0x556b3ecaccf17ac5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x678bd628, rs 0x556b3ecaccf17ac5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5bd4b01b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x580d8000, rs 0x5bd4b01b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdea580d8, rs 0x5bd4b01b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff81eea0fb, rs 0xb42f5fc581eea0fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb42f5fc581eea0fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x507d8000, rs 0xb42f5fc581eea0fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xf7507d8, rs 0xb42f5fc581eea0fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcb610000, rs 0x569796c2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb4bcb610, rs 0x569796c2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x14682d97, rs 0x25b50fec14682d97, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x25b50fec14682d97, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x16cb8000, rs 0x25b50fec14682d97, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa3416cb8, rs 0x25b50fec14682d97, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x52568b75, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x45ba8000, rs 0x52568b75, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff92b45ba8, rs 0x52568b75, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2cfb087a, rs 0xfc93c5132cfb087a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfc93c5132cfb087a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff843d0000, rs 0xfc93c5132cfb087a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x67d843d0, rs 0xfc93c5132cfb087a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9b640000, rs 0x6a1936c8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x50c9b640, rs 0x6a1936c8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcda20766, rs 0x3c2cd9a9cda20766, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3c2cd9a9cda20766, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3b30000, rs 0x3c2cd9a9cda20766, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6d103b30, rs 0x3c2cd9a9cda20766, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x6ed82b7f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x15bf8000, rs 0x6ed82b7f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x76c15bf8, rs 0x6ed82b7f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7d72da3e, rs 0x1791722a7d72da3e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1791722a7d72da3e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6d1f0000, rs 0x1791722a7d72da3e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeb96d1f0, rs 0x1791722a7d72da3e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff86d30000, rs 0x639b0da6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1cd86d30, rs 0x639b0da6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff93ce24ad, rs 0x87cc9d193ce24ad, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x87cc9d193ce24ad, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x12568000, rs 0x87cc9d193ce24ad, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9e712568, rs 0x87cc9d193ce24ad, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x675a1011, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x8088000, rs 0x675a1011, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3ad08088, rs 0x675a1011, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x38984ed2, rs 0x1d2a757038984ed2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1d2a757038984ed2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x27690000, rs 0x1d2a757038984ed2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc4c27690, rs 0x1d2a757038984ed2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa00a0000, rs 0x791d4014, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc8ea00a0, rs 0x791d4014, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x710cd036, rs 0xd0d070db710cd036, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xd0d070db710cd036, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x681b0000, rs 0xd0d070db710cd036, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff886681b0, rs 0xd0d070db710cd036, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7ddc5da3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2ed18000, rs 0x7ddc5da3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeee2ed18, rs 0x7ddc5da3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3415604, rs 0x39c21c7d03415604, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x39c21c7d03415604, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffab020000, rs 0x39c21c7d03415604, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a0ab020, rs 0x39c21c7d03415604, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbdbd0000, rs 0x709f7b7a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff84fbdbd0, rs 0x709f7b7a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8ecc31ce, rs 0x8e94b7af8ecc31ce, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8e94b7af8ecc31ce, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18e70000, rs 0x8e94b7af8ecc31ce, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x76618e70, rs 0x8e94b7af8ecc31ce, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x745e66cd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x33668000, rs 0x745e66cd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa2f33668, rs 0x745e66cd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1ce7674f, rs 0x24eb6a8d1ce7674f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x24eb6a8d1ce7674f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb3a78000, rs 0x24eb6a8d1ce7674f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe73b3a78, rs 0x24eb6a8d1ce7674f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9823b6e0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdb700000, rs 0xffffffff9823b6e0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc11db700, rs 0xffffffff9823b6e0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x12d6e4a7, rs 0x2f39454412d6e4a7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2f39454412d6e4a7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x72538000, rs 0x2f39454412d6e4a7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff96b72538, rs 0x2f39454412d6e4a7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff9ce2ab57, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x55ab8000, rs 0xffffffff9ce2ab57, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe7155ab8, rs 0xffffffff9ce2ab57, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x56da4c54, rs 0x2608c2b756da4c54, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2608c2b756da4c54, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x262a0000, rs 0x2608c2b756da4c54, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb6d262a0, rs 0x2608c2b756da4c54, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff91a18d8e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc6c70000, rs 0xffffffff91a18d8e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8d0c6c70, rs 0xffffffff91a18d8e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc8d7252f, rs 0x900102dac8d7252f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x900102dac8d7252f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff92978000, rs 0x900102dac8d7252f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x46b92978, rs 0x900102dac8d7252f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff95609039, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x481c8000, rs 0xffffffff95609039, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffab0481c8, rs 0xffffffff95609039, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff2efa4f7, rs 0xc890d5f1f2efa4f7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xc890d5f1f2efa4f7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd27b8000, rs 0xc890d5f1f2efa4f7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff977d27b8, rs 0xc890d5f1f2efa4f7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8b27c03c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe01e0000, rs 0xffffffff8b27c03c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x593e01e0, rs 0xffffffff8b27c03c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc8b0a214, rs 0xed5005cbc8b0a214, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xed5005cbc8b0a214, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x510a0000, rs 0xed5005cbc8b0a214, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x458510a0, rs 0xed5005cbc8b0a214, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff8fe6dd8b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6ec58000, rs 0xffffffff8fe6dd8b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7f36ec58, rs 0xffffffff8fe6dd8b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5991136c, rs 0x314791895991136c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x314791895991136c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff89b60000, rs 0x314791895991136c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcc889b60, rs 0x314791895991136c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff82a5fb52, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffda90000, rs 0xffffffff82a5fb52, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x152fda90, rs 0xffffffff82a5fb52, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9a2fb6f3, rs 0xc6eecff99a2fb6f3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xc6eecff99a2fb6f3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdb798000, rs 0xc6eecff99a2fb6f3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd17db798, rs 0xc6eecff99a2fb6f3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff8664e6e5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x73728000, rs 0xffffffff8664e6e5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x33273728, rs 0xffffffff8664e6e5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x38895270, rs 0xa809521238895270, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xa809521238895270, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa9380000, rs 0xa809521238895270, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc44a9380, rs 0xa809521238895270, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbe2b5b58, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffadac0000, rs 0xffffffffbe2b5b58, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff15adac0, rs 0xffffffffbe2b5b58, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffad765040, rs 0x87750a04ad765040, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x87750a04ad765040, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x28200000, rs 0x87750a04ad765040, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6bb28200, rs 0x87750a04ad765040, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffbaea46ef, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x23778000, rs 0xffffffffbaea46ef, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd7523778, rs 0xffffffffbaea46ef, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff84bb5a83, rs 0x2c3de85e84bb5a83, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2c3de85e84bb5a83, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffad418000, rs 0x2c3de85e84bb5a83, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x25dad418, rs 0x2c3de85e84bb5a83, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb7a96036, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb01b0000, rs 0xffffffffb7a96036, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbd4b01b0, rs 0xffffffffb7a96036, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc506aa67, rs 0xae6aff8fc506aa67, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xae6aff8fc506aa67, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x55338000, rs 0xae6aff8fc506aa67, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x28355338, rs 0xae6aff8fc506aa67, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffb3687d81, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3ec08000, rs 0xffffffffb3687d81, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9b43ec08, rs 0xffffffffb3687d81, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x60ed5ee3, rs 0xc07112dd60ed5ee3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xc07112dd60ed5ee3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffaf718000, rs 0xc07112dd60ed5ee3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x76af718, rs 0xc07112dd60ed5ee3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffad2f2d84, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff96c20000, rs 0xffffffffad2f2d84, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x69796c20, rs 0xffffffffad2f2d84, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x30dcca5a, rs 0xc4c770f630dcca5a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc4c770f630dcca5a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x652d0000, rs 0xc4c770f630dcca5a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff86e652d0, rs 0xc4c770f630dcca5a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffa9ee3033, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18198000, rs 0xffffffffa9ee3033, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4f718198, rs 0xffffffffa9ee3033, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff83cd5277, rs 0xdfec2b2383cd5277, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xdfec2b2383cd5277, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa93b8000, rs 0xdfec2b2383cd5277, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1e6a93b8, rs 0xdfec2b2383cd5277, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa4ad16ea, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8b750000, rs 0xffffffffa4ad16ea, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2568b750, rs 0xffffffffa4ad16ea, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xff7d96b, rs 0xd3adba260ff7d96b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd3adba260ff7d96b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffecb58000, rs 0xd3adba260ff7d96b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7fbecb58, rs 0xd3adba260ff7d96b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffa06c0b5d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5ae8000, rs 0xffffffffa06c0b5d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3605ae8, rs 0xffffffffa06c0b5d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8418c00e, rs 0x4ab4aa798418c00e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4ab4aa798418c00e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x60070000, rs 0x4ab4aa798418c00e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x20c60070, rs 0x4ab4aa798418c00e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd4326d90, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x36c80000, rs 0xffffffffd4326d90, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa1936c80, rs 0xffffffffd4326d90, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xde0f0b8, rs 0xbb8c035e0de0f0b8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xbb8c035e0de0f0b8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x785c0000, rs 0xbb8c035e0de0f0b8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6f0785c0, rs 0xbb8c035e0de0f0b8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffd0f37027, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb8138000, rs 0xffffffffd0f37027, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff879b8138, rs 0xffffffffd0f37027, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa97fdcf1, rs 0x33b06f54a97fdcf1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x33b06f54a97fdcf1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffee788000, rs 0x33b06f54a97fdcf1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4bfee788, rs 0x33b06f54a97fdcf1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffddb056fe, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2b7f0000, rs 0xffffffffddb056fe, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffed82b7f0, rs 0xffffffffddb056fe, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3fd1c081, rs 0x77433f373fd1c081, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x77433f373fd1c081, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe0408000, rs 0x77433f373fd1c081, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffe8e0408, rs 0x77433f373fd1c081, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffd9714b49, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa5a48000, rs 0xffffffffd9714b49, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcb8a5a48, rs 0xffffffffd9714b49, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc92195e4, rs 0xec91d993c92195e4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xec91d993c92195e4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcaf20000, rs 0xec91d993c92195e4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x490caf20, rs 0xec91d993c92195e4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc7361b4c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xda60000, rs 0xffffffffc7361b4c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x39b0da60, rs 0xffffffffc7361b4c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff95b1a5ab, rs 0x49fbf6a795b1a5ab, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x49fbf6a795b1a5ab, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd2d58000, rs 0x49fbf6a795b1a5ab, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffad8d2d58, rs 0x49fbf6a795b1a5ab, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffc3f706fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff837d8000, rs 0xffffffffc3f706fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1fb837d8, rs 0xffffffffc3f706fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc7ce8d1e, rs 0x19364378c7ce8d1e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x19364378c7ce8d1e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x468f0000, rs 0x19364378c7ce8d1e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3e7468f0, rs 0x19364378c7ce8d1e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffceb42022, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x10110000, rs 0xffffffffceb42022, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x75a10110, rs 0xffffffffceb42022, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2f384907, rs 0xb99e8def2f384907, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb99e8def2f384907, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x24838000, rs 0xb99e8def2f384907, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x79c24838, rs 0xb99e8def2f384907, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffca753d95, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9eca8000, rs 0xffffffffca753d95, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x53a9eca8, rs 0xffffffffca753d95, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x582b12fe, rs 0x47eacdcd582b12fe, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x47eacdcd582b12fe, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff897f0000, rs 0x47eacdcd582b12fe, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc15897f0, rs 0x47eacdcd582b12fe, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff23a8028, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x40140000, rs 0xfffffffff23a8028, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff91d40140, rs 0xfffffffff23a8028, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x76558c4f, rs 0xd685884e76558c4f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd685884e76558c4f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc6278000, rs 0xd685884e76558c4f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb2ac6278, rs 0xd685884e76558c4f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffff6fb9d9f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcecf8000, rs 0xfffffffff6fb9d9f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb7dcecf8, rs 0xfffffffff6fb9d9f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x34c195c7, rs 0x6168d62a34c195c7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x6168d62a34c195c7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcae38000, rs 0x6168d62a34c195c7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa60cae38, rs 0x6168d62a34c195c7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffbb8bb46, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5da30000, rs 0xfffffffffbb8bb46, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffddc5da30, rs 0xfffffffffbb8bb46, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4df47405, rs 0xd30169894df47405, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd30169894df47405, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3a028000, rs 0xd30169894df47405, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6fa3a028, rs 0xd30169894df47405, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffff79a6f1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd3788000, rs 0xffffffffff79a6f1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffbcd3788, rs 0xffffffffff79a6f1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6cbb06db, rs 0x1ca190bf6cbb06db, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1ca190bf6cbb06db, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff836d8000, rs 0x1ca190bf6cbb06db, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x65d836d8, rs 0x1ca190bf6cbb06db, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe13ef6f4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7b7a0000, rs 0xffffffffe13ef6f4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x9f7b7a0, rs 0xffffffffe13ef6f4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9cae393a, rs 0x58300f029cae393a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x58300f029cae393a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1c9d0000, rs 0x58300f029cae393a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe571c9d0, rs 0x58300f029cae393a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffe5ffeb43, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff5a18000, rs 0xffffffffe5ffeb43, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2fff5a18, rs 0xffffffffe5ffeb43, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdc7ebc2d, rs 0x9a995fdbdc7ebc2d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x9a995fdbdc7ebc2d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5e168000, rs 0x9a995fdbdc7ebc2d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe3f5e168, rs 0x9a995fdbdc7ebc2d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe8bccd9a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x66cd0000, rs 0xffffffffe8bccd9a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x45e66cd0, rs 0xffffffffe8bccd9a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe3405b48, rs 0x8a96047be3405b48, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8a96047be3405b48, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2da40000, rs 0x8a96047be3405b48, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a02da40, rs 0x8a96047be3405b48, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffec7dd02d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe8168000, rs 0xffffffffec7dd02d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x63ee8168, rs 0xffffffffec7dd02d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd519d322, rs 0x75bfafd2d519d322, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x75bfafd2d519d322, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe9910000, rs 0x75bfafd2d519d322, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa8ce9910, rs 0x75bfafd2d519d322, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x34867077, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x383b8000, rs 0x34867077, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa43383b8, rs 0x34867077, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa630f6ad, rs 0xde230867a630f6ad, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xde230867a630f6ad, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7b568000, rs 0xde230867a630f6ad, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3187b568, rs 0xde230867a630f6ad, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb6e00000, rs 0x30476dc0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff823b6e00, rs 0x30476dc0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x56103260, rs 0x2c0a0cf256103260, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2c0a0cf256103260, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x19300000, rs 0x2c0a0cf256103260, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb0819300, rs 0x2c0a0cf256103260, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3d044b19, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x258c8000, rs 0x3d044b19, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe82258c8, rs 0x3d044b19, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x249b18ef, rs 0x94a90544249b18ef, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x94a90544249b18ef, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8c778000, rs 0x94a90544249b18ef, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x24d8c778, rs 0x94a90544249b18ef, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffab570000, rs 0x39c556ae, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffce2ab570, rs 0x39c556ae, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5b56fcde, rs 0xf9519fb55b56fcde, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xf9519fb55b56fcde, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7e6f0000, rs 0xf9519fb55b56fcde, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdab7e6f0, rs 0xf9519fb55b56fcde, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x278206ab, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3558000, rs 0x278206ab, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3c103558, rs 0x278206ab, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x468319b, rs 0x81daf8200468319b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x81daf8200468319b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18cd8000, rs 0x81daf8200468319b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x23418cd8, rs 0x81daf8200468319b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8d8e0000, rs 0x23431b1c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a18d8e0, rs 0x23431b1c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5725f2ec, rs 0x8c61ca5a5725f2ec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8c61ca5a5725f2ec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff9760000, rs 0x8c61ca5a5725f2ec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb92f9760, rs 0x8c61ca5a5725f2ec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2e003dc5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1ee28000, rs 0x2e003dc5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7001ee28, rs 0x2e003dc5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc25dc8bf, rs 0x8b95a6ddc25dc8bf, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x8b95a6ddc25dc8bf, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe45f8000, rs 0x8b95a6ddc25dc8bf, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x12ee45f8, rs 0x8b95a6ddc25dc8bf, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff90390000, rs 0x2ac12072, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x56090390, rs 0x2ac12072, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdac6162f, rs 0x300ce751dac6162f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x300ce751dac6162f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xb178000, rs 0x300ce751dac6162f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd630b178, rs 0x300ce751dac6162f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x128e9dcf, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4ee78000, rs 0x128e9dcf, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9474ee78, rs 0x128e9dcf, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffba52a850, rs 0x6778fdf3ba52a850, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x6778fdf3ba52a850, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x54280000, rs 0x6778fdf3ba52a850, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd2954280, rs 0x6778fdf3ba52a850, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc03c0000, rs 0x164f8078, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb27c03c0, rs 0x164f8078, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffda78479f, rs 0xad00b1f7da78479f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xad00b1f7da78479f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x23cf8000, rs 0xad00b1f7da78479f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd3c23cf8, rs 0xad00b1f7da78479f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1b0ca6a1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x53508000, rs 0x1b0ca6a1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd8653508, rs 0x1b0ca6a1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa6b6d98a, rs 0x8d44168a6b6d98a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8d44168a6b6d98a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6cc50000, rs 0x8d44168a6b6d98a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x35b6cc50, rs 0x8d44168a6b6d98a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdd8b0000, rs 0x1fcdbb16, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffe6dd8b0, rs 0x1fcdbb16, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffce634413, rs 0xf518381dce634413, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf518381dce634413, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa2098000, rs 0xf518381dce634413, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x731a2098, rs 0xf518381dce634413, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x18aeb13, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x75898000, rs 0x18aeb13, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xc575898, rs 0x18aeb13, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe5255fc0, rs 0xe4627f3fe5255fc0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xe4627f3fe5255fc0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffafe00000, rs 0xe4627f3fe5255fc0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x292afe00, rs 0xe4627f3fe5255fc0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffb520000, rs 0x54bf6a4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2a5fb520, rs 0x54bf6a4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x76321f28, rs 0xccd392e176321f28, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xccd392e176321f28, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xf940000, rs 0xccd392e176321f28, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb190f940, rs 0xccd392e176321f28, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x808d07d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x683e8000, rs 0x808d07d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x404683e8, rs 0x808d07d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4018fd8f, rs 0x829464944018fd8f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x829464944018fd8f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7ec78000, rs 0x829464944018fd8f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xc7ec78, rs 0x829464944018fd8f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe6e50000, rs 0xcc9cdca, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x664e6e50, rs 0xcc9cdca, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x52e8f0e5, rs 0x15d3204052e8f0e5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x15d3204052e8f0e5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x78728000, rs 0x15d3204052e8f0e5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff97478728, rs 0x15d3204052e8f0e5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7897ab07, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd5838000, rs 0x7897ab07, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc4bd5838, rs 0x7897ab07, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff880ff344, rs 0x7caf83d2880ff344, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7caf83d2880ff344, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff9a20000, rs 0x7caf83d2880ff344, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x407f9a20, rs 0x7caf83d2880ff344, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5b580000, rs 0x7c56b6b0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe2b5b580, rs 0x7c56b6b0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x747defd7, rs 0xf156a04c747defd7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf156a04c747defd7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff7eb8000, rs 0xf156a04c747defd7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa3ef7eb8, rs 0xf156a04c747defd7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x71159069, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc8348000, rs 0x71159069, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff88ac8348, rs 0x71159069, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xf31d710, rs 0x93e2601c0f31d710, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x93e2601c0f31d710, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb880000, rs 0x93e2601c0f31d710, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x798eb880, rs 0x93e2601c0f31d710, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x46ef0000, rs 0x75d48dde, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffaea46ef0, rs 0x75d48dde, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x131cd933, rs 0xe1e1a679131cd933, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe1e1a679131cd933, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6c998000, rs 0xe1e1a679131cd933, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff98e6c998, rs 0xe1e1a679131cd933, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x6b93dddb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeeed8000, rs 0x6b93dddb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5c9eeed8, rs 0x6b93dddb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa76fa427, rs 0x24296b75a76fa427, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x24296b75a76fa427, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd2138000, rs 0x24296b75a76fa427, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3b7d2138, rs 0x24296b75a76fa427, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x60360000, rs 0x6f52c06c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7a960360, rs 0x6f52c06c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x139ee56a, rs 0xd296e2d2139ee56a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xd296e2d2139ee56a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x72b50000, rs 0xd296e2d2139ee56a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9cf72b50, rs 0xd296e2d2139ee56a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x6211e6b5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff35a8000, rs 0x6211e6b5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x108f35a8, rs 0x6211e6b5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6dc2a5c0, rs 0x5a82447f6dc2a5c0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5a82447f6dc2a5c0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x52e00000, rs 0x5a82447f6dc2a5c0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6e152e00, rs 0x5a82447f6dc2a5c0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7d810000, rs 0x66d0fb02, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3687d810, rs 0x66d0fb02, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc07dc168, rs 0x76c89e80c07dc168, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x76c89e80c07dc168, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe0b40000, rs 0x76c89e80c07dc168, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3ee0b40, rs 0x76c89e80c07dc168, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5e9f46bf, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa35f8000, rs 0x5e9f46bf, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff4fa35f8, rs 0x5e9f46bf, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4bfe348f, rs 0x70dc3454bfe348f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x70dc3454bfe348f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1a478000, rs 0x70dc3454bfe348f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5ff1a478, rs 0x70dc3454bfe348f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2d840000, rs 0x5a5e5b08, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd2f2d840, rs 0x5a5e5b08, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdd6d241b, rs 0xbddc7123dd6d241b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xbddc7123dd6d241b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff920d8000, rs 0xbddc7123dd6d241b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeb6920d8, rs 0xbddc7123dd6d241b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x571d7dd1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbee88000, rs 0x571d7dd1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb8ebee88, rs 0x571d7dd1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa59fcebe, rs 0xf62fb727a59fcebe, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xf62fb727a59fcebe, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe75f0000, rs 0xf62fb727a59fcebe, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2cfe75f0, rs 0xf62fb727a59fcebe, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x30330000, rs 0x53dc6066, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9ee30330, rs 0x53dc6066, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xf9f46fb, rs 0x109f27e90f9f46fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x109f27e90f9f46fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa37d8000, rs 0x109f27e90f9f46fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7cfa37d8, rs 0x109f27e90f9f46fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4d9b3063, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff98318000, rs 0x4d9b3063, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6cd98318, rs 0x4d9b3063, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffafd199d7, rs 0x3f63daa9afd199d7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3f63daa9afd199d7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcceb8000, rs 0x3f63daa9afd199d7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7e8cceb8, rs 0x3f63daa9afd199d7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x16ea0000, rs 0x495a2dd4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4ad16ea0, rs 0x495a2dd4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa3d484f2, rs 0xdbcb312ea3d484f2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xdbcb312ea3d484f2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x42790000, rs 0xdbcb312ea3d484f2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1ea42790, rs 0xdbcb312ea3d484f2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x44190b0d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff85868000, rs 0x44190b0d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x20c85868, rs 0x44190b0d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffda4fe4c6, rs 0x1f353faada4fe4c6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1f353faada4fe4c6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff2630000, rs 0x1f353faada4fe4c6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd27f2630, rs 0x1f353faada4fe4c6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xb5d0000, rs 0x40d816ba, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6c0b5d0, rs 0x40d816ba, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7150c260, rs 0x8b086ee07150c260, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8b086ee07150c260, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x61300000, rs 0x8b086ee07150c260, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8a861300, rs 0x8b086ee07150c260, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffaca5c697, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe34b8000, rs 0xffffffffaca5c697, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x652e34b8, rs 0xffffffffaca5c697, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd9257f25, rs 0xe54750d5d9257f25, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe54750d5d9257f25, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbf928000, rs 0xe54750d5d9257f25, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc92bf928, rs 0xe54750d5d9257f25, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa864db20, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6d900000, rs 0xffffffffa864db20, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4326d900, rs 0xffffffffa864db20, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe9a6db5b, rs 0x3d69625fe9a6db5b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3d69625fe9a6db5b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6dad8000, rs 0x3d69625fe9a6db5b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4d36dad8, rs 0x3d69625fe9a6db5b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffa527fdf9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffefc8000, rs 0xffffffffa527fdf9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x293fefc8, rs 0xffffffffa527fdf9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4340ac96, rs 0x70a3e0424340ac96, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x70a3e0424340ac96, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x564b0000, rs 0x70a3e0424340ac96, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a0564b0, rs 0x70a3e0424340ac96, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa1e6e04e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x70270000, rs 0xffffffffa1e6e04e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xf370270, rs 0xffffffffa1e6e04e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6980171e, rs 0xc0478f036980171e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc0478f036980171e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xb8f0000, rs 0xc0478f036980171e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4c00b8f0, rs 0xc0478f036980171e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffbfa1b04b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd8258000, rs 0xffffffffbfa1b04b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffd0d8258, rs 0xffffffffbfa1b04b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1cf929e3, rs 0x3ce839a51cf929e3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3ce839a51cf929e3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff94f18000, rs 0x3ce839a51cf929e3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe7c94f18, rs 0x3ce839a51cf929e3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbb60adfc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x56fe0000, rs 0xffffffffbb60adfc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdb056fe0, rs 0xffffffffbb60adfc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5eb68958, rs 0xe2fbfa895eb68958, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xe2fbfa895eb68958, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x44ac0000, rs 0xe2fbfa895eb68958, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff5b44ac0, rs 0xe2fbfa895eb68958, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffb6238b25, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc5928000, rs 0xffffffffb6238b25, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb11c5928, rs 0xffffffffb6238b25, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x76ed25b7, rs 0xd24bb05d76ed25b7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd24bb05d76ed25b7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff92db8000, rs 0xd24bb05d76ed25b7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb7692db8, rs 0xd24bb05d76ed25b7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb2e29692, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4b490000, rs 0xffffffffb2e29692, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9714b490, rs 0xffffffffb2e29692, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x170312f1, rs 0xeb9682c170312f1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xeb9682c170312f1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff89788000, rs 0xeb9682c170312f1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb8189788, rs 0xeb9682c170312f1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff8aad2b2f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff95978000, rs 0xffffffff8aad2b2f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x55695978, rs 0xffffffff8aad2b2f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdd301d0d, rs 0x84785280dd301d0d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x84785280dd301d0d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xe868000, rs 0x84785280dd301d0d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe980e868, rs 0x84785280dd301d0d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1f8fd6ef, rs 0x179c77aa1f8fd6ef, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x179c77aa1f8fd6ef, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb778000, rs 0x179c77aa1f8fd6ef, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffc7eb778, rs 0x179c77aa1f8fd6ef, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2998436d, rs 0x26444ced2998436d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x26444ced2998436d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x21b68000, rs 0x26444ced2998436d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4cc21b68, rs 0x26444ced2998436d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff87ee0df6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6fb0000, rs 0xffffffff87ee0df6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3f706fb0, rs 0xffffffff87ee0df6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd58ca708, rs 0x7175c9dd58ca708, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7175c9dd58ca708, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x53840000, rs 0x7175c9dd58ca708, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffac653840, rs 0x7175c9dd58ca708, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff99a95df3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffaef98000, rs 0xffffffff99a95df3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcd4aef98, rs 0xffffffff99a95df3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x55833287, rs 0x663d061055833287, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x663d061055833287, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff99438000, rs 0x663d061055833287, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffac199438, rs 0x663d061055833287, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9d684044, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x20220000, rs 0xffffffff9d684044, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeb420220, rs 0xffffffff9d684044, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8951d68b, rs 0xab7dd0488951d68b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xab7dd0488951d68b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb458000, rs 0xab7dd0488951d68b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4a8eb458, rs 0xab7dd0488951d68b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff902b669d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb34e8000, rs 0xffffffff902b669d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff815b34e8, rs 0xffffffff902b669d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xe82471b, rs 0xf69823670e82471b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf69823670e82471b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x238d8000, rs 0xf69823670e82471b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x741238d8, rs 0xf69823670e82471b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff94ea7b2a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3d950000, rs 0xffffffff94ea7b2a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa753d950, rs 0xffffffff94ea7b2a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd98d26b2, rs 0x36886c59d98d26b2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x36886c59d98d26b2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff93590000, rs 0x36886c59d98d26b2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcc693590, rs 0x36886c59d98d26b2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffe0b41de7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xef38000, rs 0xffffffffe0b41de7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5a0ef38, rs 0xffffffffe0b41de7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd32be479, rs 0x9ca4bdbd32be479, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x9ca4bdbd32be479, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff23c8000, rs 0x9ca4bdbd32be479, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff995f23c8, rs 0x9ca4bdbd32be479, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe4750050, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff80280000, rs 0xffffffffe4750050, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x23a80280, rs 0xffffffffe4750050, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9962e61f, rs 0xfd5d7d1d9962e61f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfd5d7d1d9962e61f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x730f8000, rs 0xfd5d7d1d9962e61f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcb1730f8, rs 0xfd5d7d1d9962e61f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffe9362689, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x13448000, rs 0xffffffffe9362689, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x49b13448, rs 0xffffffffe9362689, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcad374df, rs 0x3f46553ecad374df, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3f46553ecad374df, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffba6f8000, rs 0x3f46553ecad374df, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x569ba6f8, rs 0x3f46553ecad374df, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffedf73b3e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9d9f0000, rs 0xffffffffedf73b3e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6fb9d9f0, rs 0xffffffffedf73b3e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3eedf2a7, rs 0x2e9ab97d3eedf2a7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2e9ab97d3eedf2a7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff9538000, rs 0x2e9ab97d3eedf2a7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff76f9538, rs 0x2e9ab97d3eedf2a7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffff3b06b3b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x359d8000, rs 0xfffffffff3b06b3b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9d8359d8, rs 0xfffffffff3b06b3b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3c0c9f33, rs 0x36a6f7fa3c0c9f33, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x36a6f7fa3c0c9f33, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4f998000, rs 0x36a6f7fa3c0c9f33, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe064f998, rs 0x36a6f7fa3c0c9f33, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff771768c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbb460000, rs 0xfffffffff771768c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbb8bb460, rs 0xfffffffff771768c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x155ec9dc, rs 0x8bb938e3155ec9dc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8bb938e3155ec9dc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x64ee0000, rs 0x8bb938e3155ec9dc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffaaf64ee0, rs 0x8bb938e3155ec9dc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffffa325055, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x282a8000, rs 0xfffffffffa325055, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd19282a8, rs 0xfffffffffa325055, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x19478206, rs 0xd2df25c419478206, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xd2df25c419478206, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc1030000, rs 0xd2df25c419478206, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffca3c1030, rs 0xd2df25c419478206, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffef34de2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa6f10000, rs 0xfffffffffef34de2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff79a6f10, rs 0xfffffffffef34de2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffeb321825, rs 0xbc65bf27eb321825, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xbc65bf27eb321825, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xc128000, rs 0xbc65bf27eb321825, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5990c128, rs 0xbc65bf27eb321825, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffc6bcf05f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x782f8000, rs 0xffffffffc6bcf05f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x35e782f8, rs 0xffffffffc6bcf05f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7a8bc7da, rs 0xa8b08fe67a8bc7da, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xa8b08fe67a8bc7da, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe3ed0000, rs 0xa8b08fe67a8bc7da, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd45e3ed0, rs 0xa8b08fe67a8bc7da, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc27dede8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff6f40000, rs 0xffffffffc27dede8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x13ef6f40, rs 0xffffffffc27dede8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff8dfcde8, rs 0x852b5bcaf8dfcde8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x852b5bcaf8dfcde8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe6f40000, rs 0x852b5bcaf8dfcde8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc6fe6f40, rs 0x852b5bcaf8dfcde8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffcf3ecb31, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x65988000, rs 0xffffffffcf3ecb31, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x79f65988, rs 0xffffffffcf3ecb31, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x59a99269, rs 0x478909b59a99269, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x478909b59a99269, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc9348000, rs 0x478909b59a99269, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcd4c9348, rs 0x478909b59a99269, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffcbffd686, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb430000, rs 0xffffffffcbffd686, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5ffeb430, rs 0xffffffffcbffd686, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7857360f, rs 0xbfb31cc87857360f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xbfb31cc87857360f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9b078000, rs 0xbfb31cc87857360f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc2b9b078, rs 0xbfb31cc87857360f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffd5b88683, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x43418000, rs 0xffffffffd5b88683, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffadc43418, rs 0xffffffffd5b88683, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7f89e9a2, rs 0xb665ed5e7f89e9a2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xb665ed5e7f89e9a2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff4d10000, rs 0xb665ed5e7f89e9a2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffc4f4d10, rs 0xb665ed5e7f89e9a2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd1799b34, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcd9a0000, rs 0xffffffffd1799b34, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8bccd9a0, rs 0xffffffffd1799b34, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb7a8d5e4, rs 0x15da9474b7a8d5e4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x15da9474b7a8d5e4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6af20000, rs 0x15da9474b7a8d5e4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbd46af20, rs 0x15da9474b7a8d5e4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffdc3abded, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5ef68000, rs 0xffffffffdc3abded, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe1d5ef68, rs 0xffffffffdc3abded, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2af90fcc, rs 0xf6b3537d2af90fcc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xf6b3537d2af90fcc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff87e60000, rs 0xf6b3537d2af90fcc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x57c87e60, rs 0xf6b3537d2af90fcc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd8fba05a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd02d0000, rs 0xffffffffd8fba05a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc7dd02d0, rs 0xffffffffd8fba05a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2b961897, rs 0x223d7cfe2b961897, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x223d7cfe2b961897, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xc4b8000, rs 0x223d7cfe2b961897, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5cb0c4b8, rs 0x223d7cfe2b961897, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x70770000, rs 0x690ce0ee, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x48670770, rs 0x690ce0ee, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x33734a4b, rs 0x420b34f533734a4b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x420b34f533734a4b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa5258000, rs 0x420b34f533734a4b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9b9a5258, rs 0x420b34f533734a4b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x6dcdfd59, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffeac8000, rs 0x6dcdfd59, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6e6feac8, rs 0x6dcdfd59, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdd46b33c, rs 0x897c8c8ddd46b33c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x897c8c8ddd46b33c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x599e0000, rs 0x897c8c8ddd46b33c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffea3599e0, rs 0x897c8c8ddd46b33c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6dc00000, rs 0x608edb80, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x476dc00, rs 0x608edb80, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe392ccd9, rs 0x7a387445e392ccd9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7a387445e392ccd9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x666c8000, rs 0x7a387445e392ccd9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1c9666c8, rs 0x7a387445e392ccd9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x644fc637, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe31b8000, rs 0x644fc637, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x227e31b8, rs 0x644fc637, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd80000c9, rs 0x512f29b1d80000c9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x512f29b1d80000c9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x648000, rs 0x512f29b1d80000c9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc0000648, rs 0x512f29b1d80000c9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4b190000, rs 0x7a089632, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd044b190, rs 0x7a089632, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3dad020a, rs 0xeaded5c53dad020a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xeaded5c53dad020a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff81050000, rs 0xeaded5c53dad020a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffed681050, rs 0xeaded5c53dad020a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7ec98b85, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc5c28000, rs 0x7ec98b85, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff64c5c28, rs 0x7ec98b85, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x31eea35b, rs 0x8a6229d731eea35b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x8a6229d731eea35b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x51ad8000, rs 0x8a6229d731eea35b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8f751ad8, rs 0x8a6229d731eea35b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x56ae0000, rs 0x738aad5c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9c556ae0, rs 0x738aad5c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x48985649, rs 0x2c3c3f9e48985649, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2c3c3f9e48985649, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2b248000, rs 0x2c3c3f9e48985649, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x44c2b248, rs 0x2c3c3f9e48985649, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x774bb0eb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd8758000, rs 0x774bb0eb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffba5d8758, rs 0x774bb0eb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdc9c0b77, rs 0x7ff61e78dc9c0b77, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7ff61e78dc9c0b77, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5bb8000, rs 0x7ff61e78dc9c0b77, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe4e05bb8, rs 0x7ff61e78dc9c0b77, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6ab0000, rs 0x4f040d56, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x78206ab0, rs 0x4f040d56, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1d5e68ec, rs 0x2299b0e01d5e68ec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2299b0e01d5e68ec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x34760000, rs 0x2299b0e01d5e68ec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeaf34760, rs 0x2299b0e01d5e68ec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4bc510e1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff88708000, rs 0x4bc510e1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5e288708, rs 0x4bc510e1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3d0c6e25, rs 0x7c3b04673d0c6e25, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7c3b04673d0c6e25, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x37128000, rs 0x7c3b04673d0c6e25, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe8637128, rs 0x7c3b04673d0c6e25, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1b1c0000, rs 0x46863638, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3431b1c0, rs 0x46863638, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe7fb6587, rs 0x164e17c1e7fb6587, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x164e17c1e7fb6587, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb2c38000, rs 0x164e17c1e7fb6587, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3fdb2c38, rs 0x164e17c1e7fb6587, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x42472b8f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff95c78000, rs 0x42472b8f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x12395c78, rs 0x42472b8f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x56d4950b, rs 0xfa4ca28b56d4950b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfa4ca28b56d4950b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4a858000, rs 0xfa4ca28b56d4950b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb6a4a858, rs 0xfa4ca28b56d4950b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3dc50000, rs 0x5c007b8a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe003dc50, rs 0x5c007b8a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbe7fa08a, rs 0xe5e9a314be7fa08a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xe5e9a314be7fa08a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd0450000, rs 0xe5e9a314be7fa08a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff3fd0450, rs 0xe5e9a314be7fa08a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x58c1663d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb31e8000, rs 0x58c1663d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc60b31e8, rs 0x58c1663d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x159649c5, rs 0xf8be8164159649c5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf8be8164159649c5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x24e28000, rs 0xf8be8164159649c5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffacb24e28, rs 0xf8be8164159649c5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x20720000, rs 0x558240e4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffac120720, rs 0x558240e4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff84e69b17, rs 0x7ca3259784e69b17, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7ca3259784e69b17, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4d8b8000, rs 0x7ca3259784e69b17, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2734d8b8, rs 0x7ca3259784e69b17, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x51435d53, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffaea98000, rs 0x51435d53, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8a1aea98, rs 0x51435d53, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa1f24f5c, rs 0xfc8d543ca1f24f5c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfc8d543ca1f24f5c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x27ae0000, rs 0xfc8d543ca1f24f5c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xf927ae0, rs 0xfc8d543ca1f24f5c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9dcf0000, rs 0x251d3b9e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x28e9dcf0, rs 0x251d3b9e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe3459e36, rs 0x4aeb6ca0e3459e36, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4aeb6ca0e3459e36, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcf1b0000, rs 0x4aeb6ca0e3459e36, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1a2cf1b0, rs 0x4aeb6ca0e3459e36, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x21dc2629, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x13148000, rs 0x21dc2629, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xee13148, rs 0x21dc2629, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x187980fa, rs 0xc532e18e187980fa, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc532e18e187980fa, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc07d0000, rs 0xc532e18e187980fa, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc3cc07d0, rs 0xc532e18e187980fa, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff80780000, rs 0x2c9f00f0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x64f80780, rs 0x2c9f00f0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4f287d1c, rs 0xb3fdec294f287d1c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xb3fdec294f287d1c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3e8e0000, rs 0xb3fdec294f287d1c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7943e8e0, rs 0xb3fdec294f287d1c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x285e1d47, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xea38000, rs 0x285e1d47, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x42f0ea38, rs 0x285e1d47, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x49732b90, rs 0xb620660a49732b90, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xb620660a49732b90, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff95c80000, rs 0xb620660a49732b90, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4b995c80, rs 0xb620660a49732b90, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa6a10000, rs 0x36194d42, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb0ca6a10, rs 0x36194d42, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6cfde991, rs 0x993138f16cfde991, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x993138f16cfde991, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff4c88000, rs 0x993138f16cfde991, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x67ef4c88, rs 0x993138f16cfde991, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x32d850f5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x287a8000, rs 0x32d850f5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff96c287a8, rs 0x32d850f5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7d5407b9, rs 0xde02d1337d5407b9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xde02d1337d5407b9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3dc8000, rs 0xde02d1337d5407b9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffeaa03dc8, rs 0xde02d1337d5407b9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbb160000, rs 0x3f9b762c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffcdbb160, rs 0x3f9b762c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe1dab15a, rs 0x13a390e1e1dab15a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x13a390e1e1dab15a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x58ad0000, rs 0x13a390e1e1dab15a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xed58ad0, rs 0x13a390e1e1dab15a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3b5a6b9b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x35cd8000, rs 0x3b5a6b9b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdad35cd8, rs 0x3b5a6b9b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff828716c8, rs 0x743491a6828716c8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x743491a6828716c8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8b640000, rs 0x743491a6828716c8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1438b640, rs 0x743491a6828716c8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeb130000, rs 0x315d626, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x18aeb130, rs 0x315d626, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffede292f2, rs 0x8cff404aede292f2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x8cff404aede292f2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x49790000, rs 0x8cff404aede292f2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6f149790, rs 0x8cff404aede292f2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7d4cb91, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x65c88000, rs 0x7d4cb91, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3ea65c88, rs 0x7d4cb91, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1f837636, rs 0xb9cec0db1f837636, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xb9cec0db1f837636, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbb1b0000, rs 0xb9cec0db1f837636, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffc1bb1b0, rs 0xb9cec0db1f837636, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff6a40000, rs 0xa97ed48, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x54bf6a40, rs 0xa97ed48, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x509771c, rs 0x2eaa5aa70509771c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2eaa5aa70509771c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbb8e0000, rs 0x2eaa5aa70509771c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x284bb8e0, rs 0x2eaa5aa70509771c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe56f0ff, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x787f8000, rs 0xe56f0ff, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x72b787f8, rs 0xe56f0ff, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1875241b, rs 0xd327538e1875241b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd327538e1875241b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff920d8000, rs 0xd327538e1875241b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc3a920d8, rs 0xd327538e1875241b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd07d0000, rs 0x1011a0fa, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff808d07d0, rs 0x1011a0fa, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8b739b6b, rs 0x42e9f8548b739b6b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x42e9f8548b739b6b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcdb58000, rs 0x42e9f8548b739b6b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5b9cdb58, rs 0x42e9f8548b739b6b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x14d0bd4d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5ea68000, rs 0x14d0bd4d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa685ea68, rs 0x14d0bd4d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffeccbba1a, rs 0x78e4e50ceccbba1a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x78e4e50ceccbba1a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdd0d0000, rs 0x78e4e50ceccbba1a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x665dd0d0, rs 0x78e4e50ceccbba1a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcdca0000, rs 0x19939b94, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcc9cdca0, rs 0x19939b94, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcd9d27cb, rs 0xf6b6fa3fcd9d27cb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf6b6fa3fcd9d27cb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff93e58000, rs 0xf6b6fa3fcd9d27cb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6ce93e58, rs 0xf6b6fa3fcd9d27cb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1d528623, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x43118000, rs 0x1d528623, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffea943118, rs 0x1d528623, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffae3e9423, rs 0x73916483ae3e9423, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x73916483ae3e9423, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4a118000, rs 0x73916483ae3e9423, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x71f4a118, rs 0x73916483ae3e9423, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff12f560e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffab070000, rs 0xfffffffff12f560e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff897ab070, rs 0xfffffffff12f560e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xe128561, rs 0x276af70a0e128561, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x276af70a0e128561, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x42b08000, rs 0x276af70a0e128561, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x70942b08, rs 0x276af70a0e128561, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffff5ee4bb9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x25dc8000, rs 0xfffffffff5ee4bb9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffaf725dc8, rs 0xfffffffff5ee4bb9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb5e74b6e, rs 0x3045bf6b5e74b6e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3045bf6b5e74b6e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa5b70000, rs 0x3045bf6b5e74b6e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffaf3a5b70, rs 0x3045bf6b5e74b6e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff8ad6d60, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb6b00000, rs 0xfffffffff8ad6d60, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc56b6b00, rs 0xfffffffff8ad6d60, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x8accfa6, rs 0x20223f1308accfa6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x20223f1308accfa6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x67d30000, rs 0x20223f1308accfa6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x45667d30, rs 0x20223f1308accfa6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffffc6c70d7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x386b8000, rs 0xfffffffffc6c70d7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe36386b8, rs 0xfffffffffc6c70d7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3976b5f5, rs 0xf83c55743976b5f5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf83c55743976b5f5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5afa8000, rs 0xf83c55743976b5f5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcbb5afa8, rs 0xf83c55743976b5f5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe22b20d2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff90690000, rs 0xffffffffe22b20d2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x11590690, rs 0xffffffffe22b20d2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x46923c3d, rs 0x1f9720f946923c3d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1f9720f946923c3d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1e1e8000, rs 0x1f9720f946923c3d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3491e1e8, rs 0x1f9720f946923c3d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffe6ea3d65, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1eb28000, rs 0xffffffffe6ea3d65, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3751eb28, rs 0xffffffffe6ea3d65, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6d2448dd, rs 0x620d28506d2448dd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x620d28506d2448dd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x246e8000, rs 0x620d28506d2448dd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x692246e8, rs 0x620d28506d2448dd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffeba91bbc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8dde0000, rs 0xffffffffeba91bbc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5d48dde0, rs 0xffffffffeba91bbc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9ff4a732, rs 0x60a521e99ff4a732, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x60a521e99ff4a732, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x53990000, rs 0x60a521e99ff4a732, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffffa53990, rs 0x60a521e99ff4a732, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffef68060b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3058000, rs 0xffffffffef68060b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7b403058, rs 0xffffffffef68060b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5c680f0b, rs 0x5a08f3ab5c680f0b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5a08f3ab5c680f0b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7858000, rs 0x5a08f3ab5c680f0b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe3407858, rs 0x5a08f3ab5c680f0b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd727bbb6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdddb0000, rs 0xffffffffd727bbb6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb93dddb0, rs 0xffffffffd727bbb6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff800f3d26, rs 0xc7a59be7800f3d26, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc7a59be7800f3d26, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9e930000, rs 0xc7a59be7800f3d26, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x79e930, rs 0xc7a59be7800f3d26, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffd3e6a601, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x53008000, rs 0xffffffffd3e6a601, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9f353008, rs 0xffffffffd3e6a601, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff82ca1b41, rs 0x1aecdf2982ca1b41, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1aecdf2982ca1b41, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xda08000, rs 0x1aecdf2982ca1b41, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1650da08, rs 0x1aecdf2982ca1b41, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffdea580d8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc06c0000, rs 0xffffffffdea580d8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff52c06c0, rs 0xffffffffdea580d8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x60d19dcd, rs 0x2b8613a260d19dcd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2b8613a260d19dcd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcee68000, rs 0x2b8613a260d19dcd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x68cee68, rs 0x2b8613a260d19dcd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffda649d6f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4eb78000, rs 0xffffffffda649d6f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd324eb78, rs 0xffffffffda649d6f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xe8bbe7f, rs 0x2518ac8b0e8bbe7f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2518ac8b0e8bbe7f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdf3f8000, rs 0x2518ac8b0e8bbe7f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x745df3f8, rs 0x2518ac8b0e8bbe7f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc423cd6a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe6b50000, rs 0xffffffffc423cd6a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x211e6b50, rs 0xffffffffc423cd6a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2fcf486b, rs 0x743e568d2fcf486b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x743e568d2fcf486b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa4358000, rs 0x743e568d2fcf486b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7e7a4358, rs 0x743e568d2fcf486b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x34c31728, rs 0x126f646f34c31728, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x126f646f34c31728, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8b940000, rs 0x126f646f34c31728, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa618b940, rs 0x126f646f34c31728, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffcda1f604, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffb020000, rs 0xffffffffcda1f604, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6d0fb020, rs 0xffffffffcda1f604, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x56fc4d12, rs 0xaab0196156fc4d12, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xaab0196156fc4d12, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x26890000, rs 0xaab0196156fc4d12, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb7e26890, rs 0xaab0196156fc4d12, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8595d342, rs 0x7535cd338595d342, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7535cd338595d342, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe9a10000, rs 0x7535cd338595d342, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2cae9a10, rs 0x7535cd338595d342, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffbd3e8d7e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x46bf0000, rs 0xffffffffbd3e8d7e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe9f46bf0, rs 0xffffffffbd3e8d7e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x422346ec, rs 0xdfb254da422346ec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xdfb254da422346ec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa3760000, rs 0xdfb254da422346ec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x111a3760, rs 0xdfb254da422346ec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffb9ff90c9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc8648000, rs 0xffffffffb9ff90c9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcffc8648, rs 0xffffffffb9ff90c9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x81ab2a, rs 0xa86726c90081ab2a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xa86726c90081ab2a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd5950000, rs 0xa86726c90081ab2a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x40d5950, rs 0xa86726c90081ab2a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb4bcb610, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5b080000, rs 0xffffffffb4bcb610, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa5e5b080, rs 0xffffffffb4bcb610, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x679d7438, rs 0x9bfeffa1679d7438, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x9bfeffa1679d7438, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffba1c0000, rs 0x9bfeffa1679d7438, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3ceba1c0, rs 0x9bfeffa1679d7438, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffb07daba7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd5d38000, rs 0xffffffffb07daba7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff83ed5d38, rs 0xffffffffb07daba7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb7dee244, rs 0xc7699826b7dee244, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc7699826b7dee244, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x71220000, rs 0xc7699826b7dee244, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbef71220, rs 0xc7699826b7dee244, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffae3afba2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7dd10000, rs 0xffffffffae3afba2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x71d7dd10, rs 0xffffffffae3afba2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffba6704a, rs 0x3c07af97fba6704a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3c07af97fba6704a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x38250000, rs 0x3c07af97fba6704a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdd338250, rs 0x3c07af97fba6704a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffaafbe615, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff30a8000, rs 0xffffffffaafbe615, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x57df30a8, rs 0xffffffffaafbe615, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4c58bfe, rs 0x521364dc04c58bfe, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x521364dc04c58bfe, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc5ff0000, rs 0x521364dc04c58bfe, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x262c5ff0, rs 0x521364dc04c58bfe, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa7b8c0cc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x60660000, rs 0xffffffffa7b8c0cc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3dc60660, rs 0xffffffffa7b8c0cc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9ab7aebc, rs 0xe0f7bb589ab7aebc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xe0f7bb589ab7aebc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd75e0000, rs 0xe0f7bb589ab7aebc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd5bd75e0, rs 0xe0f7bb589ab7aebc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffa379dd7b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffeebd8000, rs 0xffffffffa379dd7b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1bceebd8, rs 0xffffffffa379dd7b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdeeb954d, rs 0xe336c60cdeeb954d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe336c60cdeeb954d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcaa68000, rs 0xe336c60cdeeb954d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff75caa68, rs 0xe336c60cdeeb954d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9b3660c6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x30630000, rs 0xffffffff9b3660c6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd9b30630, rs 0xffffffff9b3660c6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6f52416e, rs 0xd5b2120c6f52416e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xd5b2120c6f52416e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x20b70000, rs 0xd5b2120c6f52416e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7a920b70, rs 0xd5b2120c6f52416e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff9ff77d71, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbeb88000, rs 0xffffffff9ff77d71, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffffbbeb88, rs 0xffffffff9ff77d71, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7e628a34, rs 0x85a2d4ff7e628a34, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x85a2d4ff7e628a34, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x451a0000, rs 0x85a2d4ff7e628a34, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff31451a0, rs 0x85a2d4ff7e628a34, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff92b45ba8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2dd40000, rs 0xffffffff92b45ba8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff95a2dd40, rs 0xffffffff92b45ba8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4a4e7e07, rs 0x986a2b654a4e7e07, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x986a2b654a4e7e07, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3f038000, rs 0x986a2b654a4e7e07, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5273f038, rs 0x986a2b654a4e7e07, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff9675461f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa30f8000, rs 0xffffffff9675461f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb3aa30f8, rs 0xffffffff9675461f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3a489b55, rs 0xa974eac43a489b55, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xa974eac43a489b55, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4daa8000, rs 0xa974eac43a489b55, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd244daa8, rs 0xa974eac43a489b55, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8832161a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xb0d0000, rs 0xffffffff8832161a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4190b0d0, rs 0xffffffff8832161a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x72f1f8f5, rs 0xa388c16272f1f8f5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xa388c16272f1f8f5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffc7a8000, rs 0xa388c16272f1f8f5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff978fc7a8, rs 0xa388c16272f1f8f5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff8cf30bad, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff85d68000, rs 0xffffffff8cf30bad, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x67985d68, rs 0xffffffff8cf30bad, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe7495ea9, rs 0xe8c11f45e7495ea9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe8c11f45e7495ea9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffaf548000, rs 0xe8c11f45e7495ea9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3a4af548, rs 0xe8c11f45e7495ea9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff81b02d74, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x16ba0000, rs 0xffffffff81b02d74, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xd816ba0, rs 0xffffffff81b02d74, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5cc1c8b4, rs 0xadaa5a765cc1c8b4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xadaa5a765cc1c8b4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe45a0000, rs 0xadaa5a765cc1c8b4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe60e45a0, rs 0xadaa5a765cc1c8b4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff857130c3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff98618000, rs 0xffffffff857130c3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2b898618, rs 0xffffffff857130c3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdfa605c0, rs 0x7ab4ce88dfa605c0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7ab4ce88dfa605c0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2e00000, rs 0x7ab4ce88dfa605c0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffd302e00, rs 0x7ab4ce88dfa605c0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5d8a9099, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x484c8000, rs 0x5d8a9099, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffec5484c8, rs 0x5d8a9099, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x59a7b04f, rs 0xb42ad6e659a7b04f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb42ad6e659a7b04f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd8278000, rs 0xb42ad6e659a7b04f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcd3d8278, rs 0xb42ad6e659a7b04f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc6970000, rs 0x594b8d2e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffca5c6970, rs 0x594b8d2e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb728922f, rs 0x4bf8485ab728922f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4bf8485ab728922f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x49178000, rs 0x4bf8485ab728922f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb9449178, rs 0x4bf8485ab728922f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x5408abf7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x55fb8000, rs 0x5408abf7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa0455fb8, rs 0x5408abf7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3b66a7fb, rs 0x76a3d60c3b66a7fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x76a3d60c3b66a7fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x53fd8000, rs 0x76a3d60c3b66a7fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdb353fd8, rs 0x76a3d60c3b66a7fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdb200000, rs 0x50c9b640, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff864db200, rs 0x50c9b640, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffdc28eda, rs 0x31e0c6affdc28eda, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x31e0c6affdc28eda, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x476d0000, rs 0x31e0c6affdc28eda, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffee1476d0, rs 0x31e0c6affdc28eda, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4e8ee645, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x73228000, rs 0x4e8ee645, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x74773228, rs 0x4e8ee645, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbf0c999d, rs 0x53606bb4bf0c999d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x53606bb4bf0c999d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4cce8000, rs 0x53606bb4bf0c999d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff864cce8, rs 0x53606bb4bf0c999d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffffdf90000, rs 0x4a4ffbf2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x527fdf90, rs 0x4a4ffbf2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1b7919f0, rs 0x32fc12c81b7919f0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x32fc12c81b7919f0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8cf80000, rs 0x32fc12c81b7919f0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdbc8cf80, rs 0x32fc12c81b7919f0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x470cdd2b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6e958000, rs 0x470cdd2b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3866e958, rs 0x470cdd2b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc72efcd6, rs 0x3ef88384c72efcd6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3ef88384c72efcd6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7e6b0000, rs 0x3ef88384c72efcd6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3977e6b0, rs 0x3ef88384c72efcd6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe04e0000, rs 0x43cdc09c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1e6e04e0, rs 0x43cdc09c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6a2a3580, rs 0x38b1c7bb6a2a3580, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x38b1c7bb6a2a3580, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1ac00000, rs 0x38b1c7bb6a2a3580, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5151ac00, rs 0x38b1c7bb6a2a3580, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7b827d21, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3e908000, rs 0x7b827d21, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdc13e908, rs 0x7b827d21, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1dca77c9, rs 0x15ebf6121dca77c9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x15ebf6121dca77c9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3be48000, rs 0x15ebf6121dca77c9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffee53be48, rs 0x15ebf6121dca77c9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb04b0000, rs 0x7f436096, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffa1b04b0, rs 0x7f436096, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffd9147ae, rs 0x5eaacdd9fd9147ae, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5eaacdd9fd9147ae, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa3d70000, rs 0x5eaacdd9fd9147ae, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffec8a3d70, rs 0x5eaacdd9fd9147ae, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7200464f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x23278000, rs 0x7200464f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff90023278, rs 0x7200464f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff81e91117, rs 0xbb8470f981e91117, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xbb8470f981e91117, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff888b8000, rs 0xbb8470f981e91117, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xf4888b8, rs 0xbb8470f981e91117, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffadfc0000, rs 0x76c15bf8, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb60adfc0, rs 0x76c15bf8, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc6a532e0, rs 0x5d42aeac6a532e0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x5d42aeac6a532e0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff99700000, rs 0x5d42aeac6a532e0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x35299700, rs 0x5d42aeac6a532e0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x68860bfd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5fe8000, rs 0x68860bfd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x44305fe8, rs 0x68860bfd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x19fb9e63, rs 0x14abf36419fb9e63, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x14abf36419fb9e63, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcf318000, rs 0x14abf36419fb9e63, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcfdcf318, rs 0x14abf36419fb9e63, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8b250000, rs 0x6c47164a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6238b250, rs 0x6c47164a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa8d72aac, rs 0x249d559aa8d72aac, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x249d559aa8d72aac, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff95560000, rs 0x249d559aa8d72aac, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x46b95560, rs 0x249d559aa8d72aac, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x61043093, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18498000, rs 0x61043093, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x8218498, rs 0x61043093, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x84b30ec, rs 0xcd6764f084b30ec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xcd6764f084b30ec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff98760000, rs 0xcd6764f084b30ec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x42598760, rs 0xcd6764f084b30ec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff96920000, rs 0x65c52d24, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2e296920, rs 0x65c52d24, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff92468fdf, rs 0x7f03ac0792468fdf, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7f03ac0792468fdf, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x47ef8000, rs 0x7f03ac0792468fdf, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff92347ef8, rs 0x7f03ac0792468fdf, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x119b4be9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa5f48000, rs 0x119b4be9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8cda5f48, rs 0x119b4be9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x56e670f5, rs 0x7e35ce6d56e670f5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7e35ce6d56e670f5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x387a8000, rs 0x7e35ce6d56e670f5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb73387a8, rs 0x7e35ce6d56e670f5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2b2f0000, rs 0x155a565e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffaad2b2f0, rs 0x155a565e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1a652711, rs 0x152828591a652711, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x152828591a652711, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff93888000, rs 0x152828591a652711, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd3293888, rs 0x152828591a652711, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x18197087, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb8438000, rs 0x18197087, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc0cb8438, rs 0x18197087, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd215a9fb, rs 0x9e1c3283d215a9fb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x9e1c3283d215a9fb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd4fd8000, rs 0x9e1c3283d215a9fb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff90ad4fd8, rs 0x9e1c3283d215a9fb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x36980000, rs 0x1cd86d30, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe6c36980, rs 0x1cd86d30, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x282a0417, rs 0x8d95c049282a0417, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x8d95c049282a0417, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x20b8000, rs 0x8d95c049282a0417, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x415020b8, rs 0x8d95c049282a0417, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x29f3d35, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9e9a8000, rs 0x29f3d35, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x14f9e9a8, rs 0x29f3d35, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff978058f3, rs 0xf2e7a490978058f3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xf2e7a490978058f3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2c798000, rs 0xf2e7a490978058f3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbc02c798, rs 0xf2e7a490978058f3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x10410000, rs 0x65e2082, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x32f10410, rs 0x65e2082, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x975b1aa, rs 0x775b4cca0975b1aa, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x775b4cca0975b1aa, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd8d50000, rs 0x775b4cca0975b1aa, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4bad8d50, rs 0x775b4cca0975b1aa, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xb1d065b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff832d8000, rs 0xb1d065b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x58e832d8, rs 0xb1d065b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x35111020, rs 0xa2b84a635111020, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xa2b84a635111020, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff88100000, rs 0xa2b84a635111020, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa8888100, rs 0xa2b84a635111020, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xdf60000, rs 0xfdc1bec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7ee0df60, rs 0xfdc1bec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa7d88b6f, rs 0x23fa0d3a7d88b6f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x23fa0d3a7d88b6f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x45b78000, rs 0x23fa0d3a7d88b6f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3ec45b78, rs 0x23fa0d3a7d88b6f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3793a651, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd3288000, rs 0x3793a651, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbc9d3288, rs 0x3793a651, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9941dedd, rs 0xa3d991b79941dedd, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xa3d991b79941dedd, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffef6e8000, rs 0xa3d991b79941dedd, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffca0ef6e8, rs 0xa3d991b79941dedd, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5df30000, rs 0x3352bbe6, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9a95df30, rs 0x3352bbe6, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5a0d9508, rs 0x751cb4835a0d9508, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x751cb4835a0d9508, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffca840000, rs 0x751cb4835a0d9508, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd06ca840, rs 0x751cb4835a0d9508, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3e119d3f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffce9f8000, rs 0x3e119d3f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff08ce9f8, rs 0x3e119d3f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x625bb2d3, rs 0x949cad35625bb2d3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x949cad35625bb2d3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd9698000, rs 0x949cad35625bb2d3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x12dd9698, rs 0x949cad35625bb2d3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x40440000, rs 0x3ad08088, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd6840440, rs 0x3ad08088, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa6929739, rs 0x7f567f35a6929739, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7f567f35a6929739, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4b9c8000, rs 0x7f567f35a6929739, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3494b9c8, rs 0x7f567f35a6929739, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2497d08d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe8468000, rs 0x2497d08d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x24be8468, rs 0x2497d08d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdb8d7d27, rs 0x185b88e0db8d7d27, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x185b88e0db8d7d27, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbe938000, rs 0x185b88e0db8d7d27, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdc6be938, rs 0x185b88e0db8d7d27, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x669d0000, rs 0x2056cd3a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2b669d0, rs 0x2056cd3a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2fd61b91, rs 0x255a4cd22fd61b91, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x255a4cd22fd61b91, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xdc88000, rs 0x255a4cd22fd61b91, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7eb0dc88, rs 0x255a4cd22fd61b91, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x2d15ebe3, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff5f18000, rs 0x2d15ebe3, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x68af5f18, rs 0x2d15ebe3, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa4363f7b, rs 0x1048d589a4363f7b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x1048d589a4363f7b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1fbd8000, rs 0x1048d589a4363f7b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x21b1fbd8, rs 0x1048d589a4363f7b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7b2a0000, rs 0x29d4f654, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4ea7b2a0, rs 0x29d4f654, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff4605790, rs 0x6a6d5708f4605790, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x6a6d5708f4605790, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2bc80000, rs 0x6a6d5708f4605790, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa302bc80, rs 0x6a6d5708f4605790, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffc5a92679, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff933c8000, rs 0xffffffffc5a92679, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x2d4933c8, rs 0xffffffffc5a92679, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffde35697f, rs 0xd58ecbabde35697f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xd58ecbabde35697f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb4bf8000, rs 0xd58ecbabde35697f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff1ab4bf8, rs 0xd58ecbabde35697f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc1683bce, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x1de70000, rs 0xffffffffc1683bce, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xb41de70, rs 0xffffffffc1683bce, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x8c0a5f1, rs 0x575548fd08c0a5f1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x575548fd08c0a5f1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x52f88000, rs 0x575548fd08c0a5f1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x46052f88, rs 0x575548fd08c0a5f1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffcc2b1d17, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff8e8b8000, rs 0xffffffffcc2b1d17, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6158e8b8, rs 0xffffffffcc2b1d17, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8ed98ddb, rs 0x8bb640fb8ed98ddb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x8bb640fb8ed98ddb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc6ed8000, rs 0x8bb640fb8ed98ddb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x76cc6ed8, rs 0x8bb640fb8ed98ddb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffc8ea00a0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x500000, rs 0xffffffffc8ea00a0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x47500500, rs 0xffffffffc8ea00a0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffabc578cc, rs 0xbe00d51eabc578cc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xbe00d51eabc578cc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbc660000, rs 0xbe00d51eabc578cc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5e2bc660, rs 0xbe00d51eabc578cc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffd6ad50a5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa8528000, rs 0xffffffffd6ad50a5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffb56a8528, rs 0xffffffffd6ad50a5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1c170ab2, rs 0x2f7e224a1c170ab2, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x2f7e224a1c170ab2, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff85590000, rs 0x2f7e224a1c170ab2, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe0b85590, rs 0x2f7e224a1c170ab2, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffd26c4d12, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x26890000, rs 0xffffffffd26c4d12, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff93626890, rs 0xffffffffd26c4d12, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa22256a7, rs 0xa978f12ca22256a7, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xa978f12ca22256a7, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2b538000, rs 0xa978f12ca22256a7, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1112b538, rs 0xa978f12ca22256a7, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffdf2f6bcb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb5e58000, rs 0xffffffffdf2f6bcb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff97b5e58, rs 0xffffffffdf2f6bcb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff811ee02f, rs 0x9950a93b811ee02f, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x9950a93b811ee02f, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x70178000, rs 0x9950a93b811ee02f, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x8f70178, rs 0x9950a93b811ee02f, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffdbee767c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3b3e0000, rs 0xffffffffdbee767c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdf73b3e0, rs 0xffffffffdbee767c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc6796a0c, rs 0xb44eea93c6796a0c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xb44eea93c6796a0c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffb5060000, rs 0xb44eea93c6796a0c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x33cb5060, rs 0xb44eea93c6796a0c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffe3a1cbc1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe5e08000, rs 0xffffffffe3a1cbc1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1d0e5e08, rs 0xffffffffe3a1cbc1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6c0eb657, rs 0xfe71fca06c0eb657, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfe71fca06c0eb657, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5b2b8000, rs 0xfe71fca06c0eb657, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6075b2b8, rs 0xfe71fca06c0eb657, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffe760d676, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x6b3b0000, rs 0xffffffffe760d676, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3b06b3b0, rs 0xffffffffe760d676, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff818af57, rs 0x4ed6393df818af57, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x4ed6393df818af57, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x57ab8000, rs 0x4ed6393df818af57, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc0c57ab8, rs 0x4ed6393df818af57, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffea23f0af, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff8578000, rs 0xffffffffea23f0af, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x511f8578, rs 0xffffffffea23f0af, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x236770a, rs 0xf22e90200236770a, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xf22e90200236770a, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x3b850000, rs 0xf22e90200236770a, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x11b3b850, rs 0xf22e90200236770a, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffeee2ed18, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x768c0000, rs 0xffffffffeee2ed18, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x771768c0, rs 0xffffffffeee2ed18, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffafd0c45d, rs 0x81efb6c7afd0c45d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x81efb6c7afd0c45d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x622e8000, rs 0x81efb6c7afd0c45d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7e8622e8, rs 0x81efb6c7afd0c45d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffff0a5bd1d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffde8e8000, rs 0xfffffffff0a5bd1d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff852de8e8, rs 0xfffffffff0a5bd1d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8102315b, rs 0xeed8f3518102315b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xeed8f3518102315b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x18ad8000, rs 0xeed8f3518102315b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x8118ad8, rs 0xeed8f3518102315b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffff464a0aa, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x50550000, rs 0xfffffffff464a0aa, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa3250550, rs 0xfffffffff464a0aa, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff995efd5e, rs 0xadafefb9995efd5e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xadafefb9995efd5e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7eaf0000, rs 0xadafefb9995efd5e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffcaf7eaf0, rs 0xadafefb9995efd5e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xfffffffff9278673, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffc3398000, rs 0xfffffffff9278673, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc93c3398, rs 0xfffffffff9278673, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffeb253086, rs 0x34061933eb253086, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x34061933eb253086, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff98430000, rs 0x34061933eb253086, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x59298430, rs 0x34061933eb253086, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xfffffffffde69bc4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x4de20000, rs 0xfffffffffde69bc4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffef34de20, rs 0xfffffffffde69bc4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x4b4c52bc, rs 0x1748da264b4c52bc, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x1748da264b4c52bc, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x295e0000, rs 0x1748da264b4c52bc, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5a6295e0, rs 0x1748da264b4c52bc, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff89b8fd09, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x7e848000, rs 0xffffffff89b8fd09, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x4dc7e848, rs 0xffffffff89b8fd09, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9302be89, rs 0x34fdfc9a9302be89, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x34fdfc9a9302be89, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5f448000, rs 0x34fdfc9a9302be89, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff9815f448, rs 0x34fdfc9a9302be89, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff8d79e0be, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xfffffffff05f0000, rs 0xffffffff8d79e0be, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x6bcf05f0, rs 0xffffffff8d79e0be, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc521d180, rs 0xd00278c3c521d180, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xd00278c3c521d180, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe8c00000, rs 0xd00278c3c521d180, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x290e8c00, rs 0xd00278c3c521d180, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff803ac667, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x63338000, rs 0xffffffff803ac667, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1d63338, rs 0xffffffff803ac667, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffc1d37a5d, rs 0xe90944a4c1d37a5d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xe90944a4c1d37a5d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbd2e8000, rs 0xe90944a4c1d37a5d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xe9bd2e8, rs 0xe90944a4c1d37a5d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff84fbdbd0, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffede80000, rs 0xffffffff84fbdbd0, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x27dede80, rs 0xffffffff84fbdbd0, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffddef9839, rs 0x65fd698fddef9839, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x65fd698fddef9839, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcc1c8000, rs 0x65fd698fddef9839, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffef7cc1c8, rs 0x65fd698fddef9839, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff9abc8bd5, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x45ea8000, rs 0xffffffff9abc8bd5, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd5e45ea8, rs 0xffffffff9abc8bd5, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff81b5af52, rs 0xc49ee3ad81b5af52, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xc49ee3ad81b5af52, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd7a90000, rs 0xc49ee3ad81b5af52, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xdad7a90, rs 0xc49ee3ad81b5af52, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff9e7d9662, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffcb310000, rs 0xffffffff9e7d9662, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff3ecb310, rs 0xffffffff9e7d9662, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbdb263e9, rs 0x7aa941e8bdb263e9, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x7aa941e8bdb263e9, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x31f48000, rs 0x7aa941e8bdb263e9, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffed931f48, rs 0x7aa941e8bdb263e9, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffff933eb0bb, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x585d8000, rs 0xffffffff933eb0bb, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff99f585d8, rs 0xffffffff933eb0bb, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x42f3b58d, rs 0x372c209e42f3b58d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x372c209e42f3b58d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffdac68000, rs 0x372c209e42f3b58d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x179dac68, rs 0x372c209e42f3b58d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffff97ffad0c, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd6860000, rs 0xffffffff97ffad0c, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffbffd6860, rs 0xffffffff97ffad0c, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffe122a83b, rs 0x30f870b7e122a83b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x30f870b7e122a83b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x541d8000, rs 0x30f870b7e122a83b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x91541d8, rs 0x30f870b7e122a83b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffafb010b1, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x8588000, rs 0xffffffffafb010b1, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x7d808588, rs 0xffffffffafb010b1, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x678930ec, rs 0x9e02de4b678930ec, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x9e02de4b678930ec, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff98760000, rs 0x9e02de4b678930ec, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x3c498760, rs 0x9e02de4b678930ec, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffab710d06, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff86830000, rs 0xffffffffab710d06, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x5b886830, rs 0xffffffffab710d06, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9826631e, rs 0xcd61a8639826631e, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xcd61a8639826631e, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x318f0000, rs 0xcd61a8639826631e, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc13318f0, rs 0xcd61a8639826631e, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffa6322bdf, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x15ef8000, rs 0xffffffffa6322bdf, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x31915ef8, rs 0xffffffffa6322bdf, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffff9a7bd3ca, rs 0xae87bc899a7bd3ca, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xae87bc899a7bd3ca, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffe9e50000, rs 0xae87bc899a7bd3ca, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffd3de9e50, rs 0xae87bc899a7bd3ca, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffa2f33668, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffff9b340000, rs 0xffffffffa2f33668, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x1799b340, rs 0xffffffffa2f33668, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x6481af17, rs 0x58ec644d6481af17, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x58ec644d6481af17, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffd78b8000, rs 0x58ec644d6481af17, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0x240d78b8, rs 0x58ec644d6481af17, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffbcb4666d, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x33368000, rs 0xffffffffbcb4666d, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffe5a33368, rs 0xffffffffbcb4666d, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb236b666, rs 0x680cce5fb236b666, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0x680cce5fb236b666, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x5b330000, rs 0x680cce5fb236b666, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff91b5b330, rs 0x680cce5fb236b666, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb8757bda, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffbded0000, rs 0xffffffffb8757bda, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffc3abded0, rs 0xffffffffb8757bda, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1f6d4d75, rs 0x3baa99471f6d4d75, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x3baa99471f6d4d75, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa6ba8000, rs 0x3baa99471f6d4d75, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffffb6a6ba8, rs 0x3baa99471f6d4d75, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xffffffffb5365d03, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x2e818000, rs 0xffffffffb5365d03, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffa9b2e818, rs 0xffffffffb5365d03, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x5f12236b, rs 0x614d9b445f12236b, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0x614d9b445f12236b, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x11b58000, rs 0x614d9b445f12236b, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xfffffffff8911b58, rs 0x614d9b445f12236b, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0x0, rs 0xffffffffb1f740b4, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0xffffffffa05a0000, rs 0xffffffffb1f740b4, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffff8fba05a0, rs 0xffffffffb1f740b4, imm 0x0003
+sll $t0, $t1, 0x00 :: rt 0x1ba84121, rs 0xa2a6ec661ba84121, imm 0x0000
+sll $t2, $t3, 0x1f :: rt 0xffffffff80000000, rs 0xa2a6ec661ba84121, imm 0x001f
+sll $a0, $a1, 0x0f :: rt 0x20908000, rs 0xa2a6ec661ba84121, imm 0x000f
+sll $s0, $s1, 0x03 :: rt 0xffffffffdd420908, rs 0xa2a6ec661ba84121, imm 0x0003
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+sllv $s0, $s1, $s2 :: rd 0x257ad54, rs 0x12bd6aa, rt 0xa2a6ec661ba84121
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+sllv $s0, $s1, $s2 :: rd 0xffffffff95589800, rs 0x7e876382d2ab13, rt 0x614d9b445f12236b
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8000000, rs 0x9823b6e, rt 0xffffffffb8757bda
+sllv $s0, $s1, $s2 :: rd 0x1e600000, rs 0x976d6e9ac31510f3, rt 0x3baa99471f6d4d75
+sllv $t0, $t1, $t2 :: rd 0x64db2000, rs 0xd4326d9, rt 0xffffffffbcb4666d
+sllv $s0, $s1, $s2 :: rd 0xffffffffb5a97ec0, rs 0xb7746d775ad6a5fb, rt 0x680cce5fb236b666
+sllv $t0, $t1, $t2 :: rd 0x476dc00, rs 0x130476dc, rt 0xffffffffa2f33668
+sllv $s0, $s1, $s2 :: rd 0xffffffff81000000, rs 0x42b0c0a28677b502, rt 0x58ec644d6481af17
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+sllv $s0, $s1, $s2 :: rd 0xfffffffff0c2b400, rs 0x2aa89d319e3c30ad, rt 0xae87bc899a7bd3ca
+sllv $t0, $t1, $t2 :: rd 0xffffffffa1936c80, rs 0x1a864db2, rt 0xffffffffab710d06
+sllv $s0, $s1, $s2 :: rd 0x40000000, rs 0x1f308ec377fb413d, rt 0xcd61a8639826631e
+sllv $t0, $t1, $t2 :: rd 0xffffffffa00a0000, rs 0x1e475005, rt 0xffffffffafb010b1
+sllv $s0, $s1, $s2 :: rd 0xe4f7000, rs 0x7aa04213c760e4f7, rt 0x9e02de4b678930ec
+sllv $t0, $t1, $t2 :: rd 0xffffffff8edb8000, rs 0x2608edb8, rt 0xffffffff97ffad0c
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0x9e705cc51ad8dca0, rt 0x30f870b7e122a83b
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+sllv $s0, $s1, $s2 :: rd 0xffffffffb4c1a000, rs 0x4b3dda869615a60d, rt 0x372c209e42f3b58d
+sllv $t0, $t1, $t2 :: rd 0xffffffffbe2b5b58, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+sllv $s0, $s1, $s2 :: rd 0xffffffffa7a83a00, rs 0x5e7a4dd6353d41d, rt 0x7aa941e8bdb263e9
+sllv $t0, $t1, $t2 :: rd 0x6c200000, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+sllv $s0, $s1, $s2 :: rd 0x504c0000, rs 0x3af35a9dc40bd413, rt 0xc49ee3ad81b5af52
+sllv $t0, $t1, $t2 :: rd 0xffffffff9b640000, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0x47f505569a08a180, rt 0x65fd698fddef9839
+sllv $t0, $t1, $t2 :: rd 0xffffffffe6c36980, rs 0x31cd86d3, rt 0xffffffff803ac667
+sllv $s0, $s1, $s2 :: rd 0xffffffffe0000000, rs 0x9564b77fd6d2040f, rt 0xe90944a4c1d37a5d
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+sllv $s0, $s1, $s2 :: rd 0xffffffffb2c76bbe, rs 0xcebc8279b2c76bbe, rt 0xd00278c3c521d180
+sllv $t0, $t1, $t2 :: rd 0xffffffff9f7b7a00, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+sllv $s0, $s1, $s2 :: rd 0x31c98e00, rs 0xb5034c2f1f18e4c7, rt 0x34fdfc9a9302be89
+sllv $t0, $t1, $t2 :: rd 0xffffffffc11db700, rs 0x4c11db70, rt 0xfffffffffde69bc4
+sllv $s0, $s1, $s2 :: rd 0x70000000, rs 0x94ff52fc81afa797, rt 0x1748da264b4c52bc
+sllv $t0, $t1, $t2 :: rd 0x36380000, rs 0x48d0c6c7, rt 0xfffffffff9278673
+sllv $s0, $s1, $s2 :: rd 0x7f143a80, rs 0x31d8d9166dfc50ea, rt 0x34061933eb253086
+sllv $t0, $t1, $t2 :: rd 0x4f807800, rs 0x4593e01e, rt 0xfffffffff464a0aa
+sllv $s0, $s1, $s2 :: rd 0x40000000, rs 0x36549bd678e895b1, rt 0xadafefb9995efd5e
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+sllv $s0, $s1, $s2 :: rd 0xffffffffd8000000, rs 0x85e0a6319b63259b, rt 0xeed8f3518102315b
+sllv $t0, $t1, $t2 :: rd 0xffffffffac000000, rs 0x5f15adac, rt 0xffffffffeee2ed18
+sllv $s0, $s1, $s2 :: rd 0xffffffffa0000000, rs 0x556b3ecaccf17ac5, rt 0x81efb6c7afd0c45d
+sllv $t0, $t1, $t2 :: rd 0x580d8000, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+sllv $s0, $s1, $s2 :: rd 0xffffffffba83ec00, rs 0xb42f5fc581eea0fb, rt 0xf22e90200236770a
+sllv $t0, $t1, $t2 :: rd 0xffffffffb0800000, rs 0x569796c2, rt 0xffffffffe760d676
+sllv $s0, $s1, $s2 :: rd 0xffffffffcb800000, rs 0x25b50fec14682d97, rt 0x4ed6393df818af57
+sllv $t0, $t1, $t2 :: rd 0xffffffffa4ad16ea, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+sllv $s0, $s1, $s2 :: rd 0x3d000000, rs 0xfc93c5132cfb087a, rt 0xfe71fca06c0eb657
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x6a1936c8, rt 0xffffffffdbee767c
+sllv $s0, $s1, $s2 :: rd 0x20766000, rs 0x3c2cd9a9cda20766, rt 0xb44eea93c6796a0c
+sllv $t0, $t1, $t2 :: rd 0xffffffffc15bf800, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+sllv $s0, $s1, $s2 :: rd 0x6d1f0000, rs 0x1791722a7d72da3e, rt 0x9950a93b811ee02f
+sllv $t0, $t1, $t2 :: rd 0x36980000, rs 0x639b0da6, rt 0xffffffffd26c4d12
+sllv $s0, $s1, $s2 :: rd 0xffffffffe7125680, rs 0x87cc9d193ce24ad, rt 0xa978f12ca22256a7
+sllv $t0, $t1, $t2 :: rd 0xffffffffeb420220, rs 0x675a1011, rt 0xffffffffd6ad50a5
+sllv $s0, $s1, $s2 :: rd 0x3b480000, rs 0x1d2a757038984ed2, rt 0x2f7e224a1c170ab2
+sllv $t0, $t1, $t2 :: rd 0x791d4014, rs 0x791d4014, rt 0xffffffffc8ea00a0
+sllv $s0, $s1, $s2 :: rd 0xffffffffcd036000, rs 0xd0d070db710cd036, rt 0xbe00d51eabc578cc
+sllv $t0, $t1, $t2 :: rd 0xffffffffd1800000, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+sllv $s0, $s1, $s2 :: rd 0x20000000, rs 0x39c21c7d03415604, rt 0x8bb640fb8ed98ddb
+sllv $t0, $t1, $t2 :: rd 0xffffffffdede8000, rs 0x709f7b7a, rt 0xffffffffc1683bce
+sllv $s0, $s1, $s2 :: rd 0x639c0000, rs 0x8e94b7af8ecc31ce, rt 0x575548fd08c0a5f1
+sllv $t0, $t1, $t2 :: rd 0xffffffff9a000000, rs 0x745e66cd, rt 0xffffffffc5a92679
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0x24eb6a8d1ce7674f, rt 0xd58ecbabde35697f
+sllv $t0, $t1, $t2 :: rd 0x6e000000, rs 0xffffffff9823b6e0, rt 0x29d4f654
+sllv $s0, $s1, $s2 :: rd 0xffffffffe4a70000, rs 0x2f39454412d6e4a7, rt 0x6a6d5708f4605790
+sllv $t0, $t1, $t2 :: rd 0xffffffffe7155ab8, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+sllv $s0, $s1, $s2 :: rd 0xffffffffa0000000, rs 0x2608c2b756da4c54, rt 0x1048d589a4363f7b
+sllv $t0, $t1, $t2 :: rd 0x38000000, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+sllv $s0, $s1, $s2 :: rd 0x4a5e0000, rs 0x900102dac8d7252f, rt 0x255a4cd22fd61b91
+sllv $t0, $t1, $t2 :: rd 0x12072000, rs 0xffffffff95609039, rt 0x2497d08d
+sllv $s0, $s1, $s2 :: rd 0x77d27b80, rs 0xc890d5f1f2efa4f7, rt 0x185b88e0db8d7d27
+sllv $t0, $t1, $t2 :: rd 0x27c03c00, rs 0xffffffff8b27c03c, rt 0x3ad08088
+sllv $s0, $s1, $s2 :: rd 0x28000000, rs 0xed5005cbc8b0a214, rt 0x7f567f35a6929739
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+sllv $s0, $s1, $s2 :: rd 0xffffffff9b600000, rs 0x314791895991136c, rt 0x949cad35625bb2d3
+sllv $t0, $t1, $t2 :: rd 0xffffffffa97ed480, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+sllv $s0, $s1, $s2 :: rd 0x2fb6f300, rs 0xc6eecff99a2fb6f3, rt 0x751cb4835a0d9508
+sllv $t0, $t1, $t2 :: rd 0xffffffffcdca0000, rs 0xffffffff8664e6e5, rt 0x3793a651
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0xa809521238895270, rt 0xa3d991b79941dedd
+sllv $t0, $t1, $t2 :: rd 0xffffffffb5b58000, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+sllv $s0, $s1, $s2 :: rd 0x28200000, rs 0x87750a04ad765040, rt 0x23fa0d3a7d88b6f
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0xffffffffbaea46ef, rt 0xb1d065b
+sllv $s0, $s1, $s2 :: rd 0xffffffff84bb5a83, rs 0x2c3de85e84bb5a83, rt 0xa2b84a635111020
+sllv $t0, $t1, $t2 :: rd 0xffffffffdea580d8, rs 0xffffffffb7a96036, rt 0x65e2082
+sllv $s0, $s1, $s2 :: rd 0x1aa99c00, rs 0xae6aff8fc506aa67, rt 0x775b4cca0975b1aa
+sllv $t0, $t1, $t2 :: rd 0xffffffffb0200000, rs 0xffffffffb3687d81, rt 0x29f3d35
+sllv $s0, $s1, $s2 :: rd 0xfffffffff7180000, rs 0xc07112dd60ed5ee3, rt 0xf2e7a490978058f3
+sllv $t0, $t1, $t2 :: rd 0x2d840000, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+sllv $s0, $s1, $s2 :: rd 0x2d000000, rs 0xc4c770f630dcca5a, rt 0x8d95c049282a0417
+sllv $t0, $t1, $t2 :: rd 0xfffffffff7181980, rs 0xffffffffa9ee3033, rt 0x18197087
+sllv $s0, $s1, $s2 :: rd 0xffffffffb8000000, rs 0xdfec2b2383cd5277, rt 0x9e1c3283d215a9fb
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffa4ad16ea, rt 0x155a565e
+sllv $s0, $s1, $s2 :: rd 0xffffffffb2d60000, rs 0xd3adba260ff7d96b, rt 0x152828591a652711
+sllv $t0, $t1, $t2 :: rd 0xffffffffd816ba00, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+sllv $s0, $s1, $s2 :: rd 0x1c00000, rs 0x4ab4aa798418c00e, rt 0x7e35ce6d56e670f5
+sllv $t0, $t1, $t2 :: rd 0x4326d900, rs 0xffffffffd4326d90, rt 0x65c52d24
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0xbb8c035e0de0f0b8, rt 0x7f03ac0792468fdf
+sllv $t0, $t1, $t2 :: rd 0xffffffff81380000, rs 0xffffffffd0f37027, rt 0x61043093
+sllv $s0, $s1, $s2 :: rd 0xfffffffffdcf1000, rs 0x33b06f54a97fdcf1, rt 0xcd6764f084b30ec
+sllv $t0, $t1, $t2 :: rd 0xffffffffc15bf800, rs 0xffffffffddb056fe, rt 0x6c47164a
+sllv $s0, $s1, $s2 :: rd 0x1c081000, rs 0x77433f373fd1c081, rt 0x249d559aa8d72aac
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0xffffffffd9714b49, rt 0x68860bfd
+sllv $s0, $s1, $s2 :: rd 0x490caf20, rs 0xec91d993c92195e4, rt 0x14abf36419fb9e63
+sllv $t0, $t1, $t2 :: rd 0x4c000000, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+sllv $s0, $s1, $s2 :: rd 0xffffffff95b1a5ab, rs 0x49fbf6a795b1a5ab, rt 0x5d42aeac6a532e0
+sllv $t0, $t1, $t2 :: rd 0xffffffff837d8000, rs 0xffffffffc3f706fb, rt 0x7200464f
+sllv $s0, $s1, $s2 :: rd 0xffffffff8f000000, rs 0x19364378c7ce8d1e, rt 0xbb8470f981e91117
+sllv $t0, $t1, $t2 :: rd 0x8800000, rs 0xffffffffceb42022, rt 0x7f436096
+sllv $s0, $s1, $s2 :: rd 0x1241c000, rs 0xb99e8def2f384907, rt 0x5eaacdd9fd9147ae
+sllv $t0, $t1, $t2 :: rd 0xffffffff94ea7b2a, rs 0xffffffffca753d95, rt 0x7b827d21
+sllv $s0, $s1, $s2 :: rd 0x5625fc00, rs 0x47eacdcd582b12fe, rt 0x15ebf6121dca77c9
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xfffffffff23a8028, rt 0x43cdc09c
+sllv $s0, $s1, $s2 :: rd 0x76558c4f, rs 0xd685884e76558c4f, rt 0x38b1c7bb6a2a3580
+sllv $t0, $t1, $t2 :: rd 0xffffffffdcecf800, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+sllv $s0, $s1, $s2 :: rd 0x71c00000, rs 0x6168d62a34c195c7, rt 0x3ef88384c72efcd6
+sllv $t0, $t1, $t2 :: rd 0xffffffffed180000, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+sllv $s0, $s1, $s2 :: rd 0x74050000, rs 0xd30169894df47405, rt 0x32fc12c81b7919f0
+sllv $t0, $t1, $t2 :: rd 0xffffffffef34de20, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+sllv $s0, $s1, $s2 :: rd 0x60000000, rs 0x1ca190bf6cbb06db, rt 0x53606bb4bf0c999d
+sllv $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+sllv $s0, $s1, $s2 :: rd 0xffffffffe8000000, rs 0x58300f029cae393a, rt 0x31e0c6affdc28eda
+sllv $t0, $t1, $t2 :: rd 0xffffffffa1800000, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+sllv $s0, $s1, $s2 :: rd 0x68000000, rs 0x9a995fdbdc7ebc2d, rt 0x76a3d60c3b66a7fb
+sllv $t0, $t1, $t2 :: rd 0x33668000, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+sllv $s0, $s1, $s2 :: rd 0x2da40000, rs 0x8a96047be3405b48, rt 0x4bf8485ab728922f
+sllv $t0, $t1, $t2 :: rd 0x5a000000, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+sllv $s0, $s1, $s2 :: rd 0xffffffffe9910000, rs 0x75bfafd2d519d322, rt 0xb42ad6e659a7b04f
+sllv $t0, $t1, $t2 :: rd 0xffffffffa43383b8, rs 0x34867077, rt 0xffffffff857130c3
+sllv $s0, $s1, $s2 :: rd 0xffffffffa630f6ad, rs 0xde230867a630f6ad, rt 0x7ab4ce88dfa605c0
+sllv $t0, $t1, $t2 :: rd 0xffffffffdc000000, rs 0x30476dc0, rt 0xffffffff81b02d74
+sllv $s0, $s1, $s2 :: rd 0x26000000, rs 0x2c0a0cf256103260, rt 0xadaa5a765cc1c8b4
+sllv $t0, $t1, $t2 :: rd 0xffffffff89632000, rs 0x3d044b19, rt 0xffffffff8cf30bad
+sllv $s0, $s1, $s2 :: rd 0x3631de00, rs 0x94a90544249b18ef, rt 0xe8c11f45e7495ea9
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8000000, rs 0x39c556ae, rt 0xffffffff8832161a
+sllv $s0, $s1, $s2 :: rd 0xffffffff9bc00000, rs 0xf9519fb55b56fcde, rt 0xa388c16272f1f8f5
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x278206ab, rt 0xffffffff9675461f
+sllv $s0, $s1, $s2 :: rd 0x33600000, rs 0x81daf8200468319b, rt 0xa974eac43a489b55
+sllv $t0, $t1, $t2 :: rd 0x431b1c00, rs 0x23431b1c, rt 0xffffffff92b45ba8
+sllv $s0, $s1, $s2 :: rd 0xffffffff92f97600, rs 0x8c61ca5a5725f2ec, rt 0x986a2b654a4e7e07
+sllv $t0, $t1, $t2 :: rd 0x7b8a0000, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+sllv $s0, $s1, $s2 :: rd 0xffffffff8bf00000, rs 0x8b95a6ddc25dc8bf, rt 0x85a2d4ff7e628a34
+sllv $t0, $t1, $t2 :: rd 0xffffffffb0481c80, rs 0x2ac12072, rt 0xffffffff9b3660c6
+sllv $s0, $s1, $s2 :: rd 0xffffffff858bc000, rs 0x300ce751dac6162f, rt 0xd5b2120c6f52416e
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+sllv $s0, $s1, $s2 :: rd 0x550a0000, rs 0x6778fdf3ba52a850, rt 0xe336c60cdeeb954d
+sllv $t0, $t1, $t2 :: rd 0xfffffffff8078000, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+sllv $s0, $s1, $s2 :: rd 0xfffffffff0000000, rs 0xad00b1f7da78479f, rt 0xe0f7bb589ab7aebc
+sllv $t0, $t1, $t2 :: rd 0xffffffffd4200000, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0x8d44168a6b6d98a, rt 0x521364dc04c58bfe
+sllv $t0, $t1, $t2 :: rd 0x7f36ec58, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+sllv $s0, $s1, $s2 :: rd 0xffffffff8d104c00, rs 0xf518381dce634413, rt 0x3c07af97fba6704a
+sllv $t0, $t1, $t2 :: rd 0xffffffffc5758980, rs 0x18aeb13, rt 0xffffffffb07daba7
+sllv $s0, $s1, $s2 :: rd 0x5255fc00, rs 0xe4627f3fe5255fc0, rt 0xc7699826b7dee244
+sllv $t0, $t1, $t2 :: rd 0xfffffffff6a40000, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+sllv $s0, $s1, $s2 :: rd 0x28000000, rs 0xccd392e176321f28, rt 0x9bfeffa1679d7438
+sllv $t0, $t1, $t2 :: rd 0x11a0fa00, rs 0x808d07d, rt 0xffffffffb9ff90c9
+sllv $s0, $s1, $s2 :: rd 0x63f63c00, rs 0x829464944018fd8f, rt 0xa86726c90081ab2a
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+sllv $s0, $s1, $s2 :: rd 0xffffffff8f0e5000, rs 0x15d3204052e8f0e5, rt 0xdfb254da422346ec
+sllv $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0x203fcd10, rs 0x7caf83d2880ff344, rt 0x7535cd338595d342
+sllv $t0, $t1, $t2 :: rd 0xffffffffc56b6b00, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+sllv $s0, $s1, $s2 :: rd 0xffffffffbf5c0000, rs 0xf156a04c747defd7, rt 0xaab0196156fc4d12
+sllv $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0x31d71000, rs 0x93e2601c0f31d710, rt 0x126f646f34c31728
+sllv $t0, $t1, $t2 :: rd 0x52377800, rs 0x75d48dde, rt 0xffffffffc423cd6a
+sllv $s0, $s1, $s2 :: rd 0xffffffffe6c99800, rs 0xe1e1a679131cd933, rt 0x743e568d2fcf486b
+sllv $t0, $t1, $t2 :: rd 0xffffffffeeed8000, rs 0x6b93dddb, rt 0xffffffffda649d6f
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0x24296b75a76fa427, rt 0x2518ac8b0e8bbe7f
+sllv $t0, $t1, $t2 :: rd 0x6c000000, rs 0x6f52c06c, rt 0xffffffffdea580d8
+sllv $s0, $s1, $s2 :: rd 0xffffffffdcad4000, rs 0xd296e2d2139ee56a, rt 0x2b8613a260d19dcd
+sllv $t0, $t1, $t2 :: rd 0xffffffffc423cd6a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+sllv $s0, $s1, $s2 :: rd 0xffffffffdb854b80, rs 0x5a82447f6dc2a5c0, rt 0x1aecdf2982ca1b41
+sllv $t0, $t1, $t2 :: rd 0xffffffffc0800000, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+sllv $s0, $s1, $s2 :: rd 0x1f705a00, rs 0x76c89e80c07dc168, rt 0xc7a59be7800f3d26
+sllv $t0, $t1, $t2 :: rd 0xfffffffffa35f800, rs 0x5e9f46bf, rt 0xffffffffef68060b
+sllv $s0, $s1, $s2 :: rd 0xfffffffff1a47800, rs 0x70dc3454bfe348f, rt 0x5a08f3ab5c680f0b
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+sllv $s0, $s1, $s2 :: rd 0xffffffff906c0000, rs 0xbddc7123dd6d241b, rt 0x60a521e99ff4a732
+sllv $t0, $t1, $t2 :: rd 0xffffffffe3afba20, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0xf62fb727a59fcebe, rt 0x620d28506d2448dd
+sllv $t0, $t1, $t2 :: rd 0xffffffff81980000, rs 0x53dc6066, rt 0xffffffffe22b20d2
+sllv $s0, $s1, $s2 :: rd 0x60000000, rs 0x109f27e90f9f46fb, rt 0x1f9720f946923c3d
+sllv $t0, $t1, $t2 :: rd 0x31800000, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+sllv $s0, $s1, $s2 :: rd 0x3ae00000, rs 0x3f63daa9afd199d7, rt 0xf83c55743976b5f5
+sllv $t0, $t1, $t2 :: rd 0x495a2dd4, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+sllv $s0, $s1, $s2 :: rd 0xfffffffff5213c80, rs 0xdbcb312ea3d484f2, rt 0x20223f1308accfa6
+sllv $t0, $t1, $t2 :: rd 0x1a000000, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+sllv $s0, $s1, $s2 :: rd 0xfffffffff9318000, rs 0x1f353faada4fe4c6, rt 0x3045bf6b5e74b6e
+sllv $t0, $t1, $t2 :: rd 0x5ae8000, rs 0x40d816ba, rt 0xfffffffff12f560e
+sllv $s0, $s1, $s2 :: rd 0xffffffffe2a184c0, rs 0x8b086ee07150c260, rt 0x276af70a0e128561
+sllv $t0, $t1, $t2 :: rd 0x652e34b8, rs 0xffffffffaca5c697, rt 0x1d528623
+sllv $s0, $s1, $s2 :: rd 0xffffffffc92bf928, rs 0xe54750d5d9257f25, rt 0x73916483ae3e9423
+sllv $t0, $t1, $t2 :: rd 0xffffffffb2000000, rs 0xffffffffa864db20, rt 0x19939b94
+sllv $s0, $s1, $s2 :: rd 0x36dad800, rs 0x3d69625fe9a6db5b, rt 0xf6b6fa3fcd9d27cb
+sllv $t0, $t1, $t2 :: rd 0xffffffffffbf2000, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+sllv $s0, $s1, $s2 :: rd 0x58000000, rs 0x70a3e0424340ac96, rt 0x78e4e50ceccbba1a
+sllv $t0, $t1, $t2 :: rd 0x38000000, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+sllv $s0, $s1, $s2 :: rd 0xb8f000, rs 0xc0478f036980171e, rt 0x42e9f8548b739b6b
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+sllv $s0, $s1, $s2 :: rd 0x18000000, rs 0x3ce839a51cf929e3, rt 0xd327538e1875241b
+sllv $t0, $t1, $t2 :: rd 0x60adfc00, rs 0xffffffffbb60adfc, rt 0xa97ed48
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0xe2fbfa895eb68958, rt 0x2eaa5aa70509771c
+sllv $t0, $t1, $t2 :: rd 0x164a0000, rs 0xffffffffb6238b25, rt 0x7d4cb91
+sllv $s0, $s1, $s2 :: rd 0x6dc00000, rs 0xd24bb05d76ed25b7, rt 0xb9cec0db1f837636
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8a5a480, rs 0xffffffffb2e29692, rt 0x315d626
+sllv $s0, $s1, $s2 :: rd 0x4bc40000, rs 0xeb9682c170312f1, rt 0x8cff404aede292f2
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+sllv $s0, $s1, $s2 :: rd 0x301d0d00, rs 0x84785280dd301d0d, rt 0x743491a6828716c8
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+sllv $s0, $s1, $s2 :: rd 0xffffffffbc000000, rs 0x179c77aa1f8fd6ef, rt 0x13a390e1e1dab15a
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+sllv $s0, $s1, $s2 :: rd 0xffffffffda000000, rs 0x26444ced2998436d, rt 0xde02d1337d5407b9
+sllv $t0, $t1, $t2 :: rd 0x1fb837d8, rs 0xffffffff87ee0df6, rt 0x36194d42
+sllv $s0, $s1, $s2 :: rd 0x4e100000, rs 0x7175c9dd58ca708, rt 0x993138f16cfde991
+sllv $t0, $t1, $t2 :: rd 0xffffffffd4aef980, rs 0xffffffff99a95df3, rt 0x285e1d47
+sllv $s0, $s1, $s2 :: rd 0x32870000, rs 0x663d061055833287, rt 0xb620660a49732b90
+sllv $t0, $t1, $t2 :: rd 0x40440000, rs 0xffffffff9d684044, rt 0x2c9f00f0
+sllv $s0, $s1, $s2 :: rd 0xffffffffb0000000, rs 0xab7dd0488951d68b, rt 0xb3fdec294f287d1c
+sllv $t0, $t1, $t2 :: rd 0x56cd3a00, rs 0xffffffff902b669d, rt 0x21dc2629
+sllv $s0, $s1, $s2 :: rd 0x6c000000, rs 0xf69823670e82471b, rt 0xc532e18e187980fa
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+sllv $s0, $s1, $s2 :: rd 0xffffffffac800000, rs 0x36886c59d98d26b2, rt 0x4aeb6ca0e3459e36
+sllv $t0, $t1, $t2 :: rd 0xffffffffef380000, rs 0xffffffffe0b41de7, rt 0x51435d53
+sllv $s0, $s1, $s2 :: rd 0xffffffff90000000, rs 0x9ca4bdbd32be479, rt 0xfc8d543ca1f24f5c
+sllv $t0, $t1, $t2 :: rd 0x47500500, rs 0xffffffffe4750050, rt 0x558240e4
+sllv $s0, $s1, $s2 :: rd 0xf800000, rs 0xfd5d7d1d9962e61f, rt 0x7ca3259784e69b17
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0xffffffffe9362689, rt 0x58c1663d
+sllv $s0, $s1, $s2 :: rd 0x5a6e9be0, rs 0x3f46553ecad374df, rt 0xf8be8164159649c5
+sllv $t0, $t1, $t2 :: rd 0xffffffffdcecf800, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+sllv $s0, $s1, $s2 :: rd 0xffffffffb7ca9c00, rs 0x2e9ab97d3eedf2a7, rt 0xe5e9a314be7fa08a
+sllv $t0, $t1, $t2 :: rd 0x359d8000, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+sllv $s0, $s1, $s2 :: rd 0x64f99800, rs 0x36a6f7fa3c0c9f33, rt 0xfa4ca28b56d4950b
+sllv $t0, $t1, $t2 :: rd 0xffffffff8c000000, rs 0xfffffffff771768c, rt 0x46863638
+sllv $s0, $s1, $s2 :: rd 0xffffffffaf64ee00, rs 0x8bb938e3155ec9dc, rt 0x164e17c1e7fb6587
+sllv $t0, $t1, $t2 :: rd 0xfffffffff464a0aa, rs 0xfffffffffa325055, rt 0x4bc510e1
+sllv $s0, $s1, $s2 :: rd 0x28f040c0, rs 0xd2df25c419478206, rt 0x7c3b04673d0c6e25
+sllv $t0, $t1, $t2 :: rd 0x78800000, rs 0xfffffffffef34de2, rt 0x4f040d56
+sllv $s0, $s1, $s2 :: rd 0x21825000, rs 0xbc65bf27eb321825, rt 0x2299b0e01d5e68ec
+sllv $t0, $t1, $t2 :: rd 0xffffffffe782f800, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+sllv $s0, $s1, $s2 :: rd 0xffffffffed000000, rs 0xa8b08fe67a8bc7da, rt 0x7ff61e78dc9c0b77
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffc27dede8, rt 0x738aad5c
+sllv $s0, $s1, $s2 :: rd 0xffffffffbf9bd000, rs 0x852b5bcaf8dfcde8, rt 0x2c3c3f9e48985649
+sllv $t0, $t1, $t2 :: rd 0xffffffffe7d96620, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+sllv $s0, $s1, $s2 :: rd 0x48000000, rs 0x478909b59a99269, rt 0x8a6229d731eea35b
+sllv $t0, $t1, $t2 :: rd 0x5a180000, rs 0xffffffffcbffd686, rt 0x7a089632
+sllv $s0, $s1, $s2 :: rd 0x5cd83c00, rs 0xbfb31cc87857360f, rt 0xeaded5c53dad020a
+sllv $t0, $t1, $t2 :: rd 0x41800000, rs 0xffffffffd5b88683, rt 0x644fc637
+sllv $s0, $s1, $s2 :: rd 0x13d34400, rs 0xb665ed5e7f89e9a2, rt 0x512f29b1d80000c9
+sllv $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+sllv $s0, $s1, $s2 :: rd 0xffffffffc8000000, rs 0x15da9474b7a8d5e4, rt 0x7a387445e392ccd9
+sllv $t0, $t1, $t2 :: rd 0xffffffffda000000, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0xf6b3537d2af90fcc, rt 0x897c8c8ddd46b33c
+sllv $t0, $t1, $t2 :: rd 0xffffffffe8168000, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+sllv $s0, $s1, $s2 :: rd 0xffffffffb0c4b800, rs 0x223d7cfe2b961897, rt 0x420b34f533734a4b
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8000000, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+sllv $s0, $s1, $s2 :: rd 0x25800000, rs 0x420b34f533734a4b, rt 0x223d7cfe2b961897
+sllv $t0, $t1, $t2 :: rd 0xffffffffbfab2000, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+sllv $s0, $s1, $s2 :: rd 0x6b33c000, rs 0x897c8c8ddd46b33c, rt 0xf6b3537d2af90fcc
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8000000, rs 0x608edb80, rt 0xffffffffd1799b34
+sllv $s0, $s1, $s2 :: rd 0x392ccd90, rs 0x7a387445e392ccd9, rt 0x15da9474b7a8d5e4
+sllv $t0, $t1, $t2 :: rd 0x227e31b8, rs 0x644fc637, rt 0xffffffffd5b88683
+sllv $s0, $s1, $s2 :: rd 0x60000324, rs 0x512f29b1d80000c9, rt 0xb665ed5e7f89e9a2
+sllv $t0, $t1, $t2 :: rd 0xffffffff82258c80, rs 0x7a089632, rt 0xffffffffcbffd686
+sllv $s0, $s1, $s2 :: rd 0xffffffff81050000, rs 0xeaded5c53dad020a, rt 0xbfb31cc87857360f
+sllv $t0, $t1, $t2 :: rd 0x170a0000, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+sllv $s0, $s1, $s2 :: rd 0xffffffffdd46b600, rs 0x8a6229d731eea35b, rt 0x478909b59a99269
+sllv $t0, $t1, $t2 :: rd 0xffffffff8aad5c00, rs 0x738aad5c, rt 0xffffffffc27dede8
+sllv $s0, $s1, $s2 :: rd 0xffffffff98564900, rs 0x2c3c3f9e48985649, rt 0x852b5bcaf8dfcde8
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+sllv $s0, $s1, $s2 :: rd 0xffffffffdc000000, rs 0x7ff61e78dc9c0b77, rt 0xa8b08fe67a8bc7da
+sllv $t0, $t1, $t2 :: rd 0x3c103558, rs 0x4f040d56, rt 0xfffffffffef34de2
+sllv $s0, $s1, $s2 :: rd 0xffffffffabcd1d80, rs 0x2299b0e01d5e68ec, rt 0xbc65bf27eb321825
+sllv $t0, $t1, $t2 :: rd 0x1c200000, rs 0x4bc510e1, rt 0xfffffffffa325055
+sllv $s0, $s1, $s2 :: rd 0x431b8940, rs 0x7c3b04673d0c6e25, rt 0xd2df25c419478206
+sllv $t0, $t1, $t2 :: rd 0x63638000, rs 0x46863638, rt 0xfffffffff771768c
+sllv $s0, $s1, $s2 :: rd 0x70000000, rs 0x164e17c1e7fb6587, rt 0x8bb938e3155ec9dc
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+sllv $s0, $s1, $s2 :: rd 0xffffffffa8580000, rs 0xfa4ca28b56d4950b, rt 0x36a6f7fa3c0c9f33
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+sllv $s0, $s1, $s2 :: rd 0x3fd04500, rs 0xe5e9a314be7fa08a, rt 0x2e9ab97d3eedf2a7
+sllv $t0, $t1, $t2 :: rd 0xffffffff82cc7a00, rs 0x58c1663d, rt 0xffffffffe9362689
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0xf8be8164159649c5, rt 0x3f46553ecad374df
+sllv $t0, $t1, $t2 :: rd 0x40e40000, rs 0x558240e4, rt 0xffffffffe4750050
+sllv $s0, $s1, $s2 :: rd 0xffffffff80000000, rs 0x7ca3259784e69b17, rt 0xfd5d7d1d9962e61f
+sllv $t0, $t1, $t2 :: rd 0xffffffffa1aea980, rs 0x51435d53, rt 0xffffffffe0b41de7
+sllv $s0, $s1, $s2 :: rd 0xffffffffb8000000, rs 0xfc8d543ca1f24f5c, rt 0x9ca4bdbd32be479
+sllv $t0, $t1, $t2 :: rd 0x74ee7800, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+sllv $s0, $s1, $s2 :: rd 0x78d80000, rs 0x4aeb6ca0e3459e36, rt 0x36886c59d98d26b2
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0x21dc2629, rt 0xffffffff902b669d
+sllv $s0, $s1, $s2 :: rd 0xffffffffd0000000, rs 0xc532e18e187980fa, rt 0xf69823670e82471b
+sllv $t0, $t1, $t2 :: rd 0xffffffffc9f00f00, rs 0x2c9f00f0, rt 0xffffffff9d684044
+sllv $s0, $s1, $s2 :: rd 0x43e8e000, rs 0xb3fdec294f287d1c, rt 0xab7dd0488951d68b
+sllv $t0, $t1, $t2 :: rd 0xffffffffea380000, rs 0x285e1d47, rt 0xffffffff99a95df3
+sllv $s0, $s1, $s2 :: rd 0xffffffffb995c800, rs 0xb620660a49732b90, rt 0x663d061055833287
+sllv $t0, $t1, $t2 :: rd 0x50800000, rs 0x36194d42, rt 0xffffffff87ee0df6
+sllv $s0, $s1, $s2 :: rd 0xfffffffffde99100, rs 0x993138f16cfde991, rt 0x7175c9dd58ca708
+sllv $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0xffffffff80f72000, rs 0xde02d1337d5407b9, rt 0x26444ced2998436d
+sllv $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0x58ad0000, rs 0x13a390e1e1dab15a, rt 0x179c77aa1f8fd6ef
+sllv $t0, $t1, $t2 :: rd 0x35cd8000, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+sllv $s0, $s1, $s2 :: rd 0xffffffffe2d90000, rs 0x743491a6828716c8, rt 0x84785280dd301d0d
+sllv $t0, $t1, $t2 :: rd 0x58980000, rs 0x315d626, rt 0xffffffffb2e29692
+sllv $s0, $s1, $s2 :: rd 0x25e40000, rs 0x8cff404aede292f2, rt 0xeb9682c170312f1
+sllv $t0, $t1, $t2 :: rd 0xfffffffffa997220, rs 0x7d4cb91, rt 0xffffffffb6238b25
+sllv $s0, $s1, $s2 :: rd 0x1b000000, rs 0xb9cec0db1f837636, rt 0xd24bb05d76ed25b7
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xa97ed48, rt 0xffffffffbb60adfc
+sllv $s0, $s1, $s2 :: rd 0x1c000000, rs 0x2eaa5aa70509771c, rt 0xe2fbfa895eb68958
+sllv $t0, $t1, $t2 :: rd 0xffffffffb787f800, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+sllv $s0, $s1, $s2 :: rd 0xffffffffc3a920d8, rs 0xd327538e1875241b, rt 0x3ce839a51cf929e3
+sllv $t0, $t1, $t2 :: rd 0x683e8000, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0x42e9f8548b739b6b, rt 0xc0478f036980171e
+sllv $t0, $t1, $t2 :: rd 0xffffffff9a000000, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+sllv $s0, $s1, $s2 :: rd 0xffffffff86800000, rs 0x78e4e50ceccbba1a, rt 0x70a3e0424340ac96
+sllv $t0, $t1, $t2 :: rd 0x19939b94, rs 0x19939b94, rt 0xffffffffa864db20
+sllv $s0, $s1, $s2 :: rd 0x58000000, rs 0xf6b6fa3fcd9d27cb, rt 0x3d69625fe9a6db5b
+sllv $t0, $t1, $t2 :: rd 0x11800000, rs 0x1d528623, rt 0xffffffffaca5c697
+sllv $s0, $s1, $s2 :: rd 0xffffffffc7d28460, rs 0x73916483ae3e9423, rt 0xe54750d5d9257f25
+sllv $t0, $t1, $t2 :: rd 0x38000000, rs 0xfffffffff12f560e, rt 0x40d816ba
+sllv $s0, $s1, $s2 :: rd 0xe128561, rs 0x276af70a0e128561, rt 0x8b086ee07150c260
+sllv $t0, $t1, $t2 :: rd 0xffffffffc9772000, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+sllv $s0, $s1, $s2 :: rd 0x79d2db80, rs 0x3045bf6b5e74b6e, rt 0x1f353faada4fe4c6
+sllv $t0, $t1, $t2 :: rd 0xffffffffd6000000, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+sllv $s0, $s1, $s2 :: rd 0x3e980000, rs 0x20223f1308accfa6, rt 0xdbcb312ea3d484f2
+sllv $t0, $t1, $t2 :: rd 0xffffffffe36386b8, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+sllv $s0, $s1, $s2 :: rd 0xfffffffffa800000, rs 0xf83c55743976b5f5, rt 0x3f63daa9afd199d7
+sllv $t0, $t1, $t2 :: rd 0xffffffff8ac83480, rs 0xffffffffe22b20d2, rt 0x53dc6066
+sllv $s0, $s1, $s2 :: rd 0xffffffffe8000000, rs 0x1f9720f946923c3d, rt 0x109f27e90f9f46fb
+sllv $t0, $t1, $t2 :: rd 0x7aca0000, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+sllv $s0, $s1, $s2 :: rd 0x40000000, rs 0x620d28506d2448dd, rt 0xf62fb727a59fcebe
+sllv $t0, $t1, $t2 :: rd 0xffffffffa91bbc00, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+sllv $s0, $s1, $s2 :: rd 0xffffffff90000000, rs 0x60a521e99ff4a732, rt 0xbddc7123dd6d241b
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffef68060b, rt 0x5e9f46bf
+sllv $s0, $s1, $s2 :: rd 0x7858000, rs 0x5a08f3ab5c680f0b, rt 0x70dc3454bfe348f
+sllv $t0, $t1, $t2 :: rd 0x5c9eeed8, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+sllv $s0, $s1, $s2 :: rd 0xf3d2600, rs 0xc7a59be7800f3d26, rt 0x76c89e80c07dc168
+sllv $t0, $t1, $t2 :: rd 0xffffffffc0200000, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+sllv $s0, $s1, $s2 :: rd 0xffffffff82ca1b41, rs 0x1aecdf2982ca1b41, rt 0x5a82447f6dc2a5c0
+sllv $t0, $t1, $t2 :: rd 0x580d8000, rs 0xffffffffdea580d8, rt 0x6f52c06c
+sllv $s0, $s1, $s2 :: rd 0x46773400, rs 0x2b8613a260d19dcd, rt 0xd296e2d2139ee56a
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0xffffffffda649d6f, rt 0x6b93dddb
+sllv $s0, $s1, $s2 :: rd 0x45df3f80, rs 0x2518ac8b0e8bbe7f, rt 0x24296b75a76fa427
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffc423cd6a, rt 0x75d48dde
+sllv $s0, $s1, $s2 :: rd 0x43580000, rs 0x743e568d2fcf486b, rt 0xe1e1a679131cd933
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+sllv $s0, $s1, $s2 :: rd 0x17280000, rs 0x126f646f34c31728, rt 0x93e2601c0f31d710
+sllv $t0, $t1, $t2 :: rd 0xfffffffff6040000, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+sllv $s0, $s1, $s2 :: rd 0xffffffff89000000, rs 0xaab0196156fc4d12, rt 0xf156a04c747defd7
+sllv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+sllv $s0, $s1, $s2 :: rd 0x595d3420, rs 0x7535cd338595d342, rt 0x7caf83d2880ff344
+sllv $t0, $t1, $t2 :: rd 0xfffffffffa35f800, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+sllv $s0, $s1, $s2 :: rd 0x4468dd80, rs 0xdfb254da422346ec, rt 0x15d3204052e8f0e5
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0xffffffffb9ff90c9, rt 0x808d07d
+sllv $s0, $s1, $s2 :: rd 0xffffffffd5950000, rs 0xa86726c90081ab2a, rt 0x829464944018fd8f
+sllv $t0, $t1, $t2 :: rd 0x4bcb6100, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+sllv $s0, $s1, $s2 :: rd 0xffffffff9d743800, rs 0x9bfeffa1679d7438, rt 0xccd392e176321f28
+sllv $t0, $t1, $t2 :: rd 0x5d380000, rs 0xffffffffb07daba7, rt 0x18aeb13
+sllv $s0, $s1, $s2 :: rd 0xffffffffb7dee244, rs 0xc7699826b7dee244, rt 0xe4627f3fe5255fc0
+sllv $t0, $t1, $t2 :: rd 0xffffffffe8800000, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+sllv $s0, $s1, $s2 :: rd 0xffffffff82500000, rs 0x3c07af97fba6704a, rt 0xf518381dce634413
+sllv $t0, $t1, $t2 :: rd 0x55f7cc2a, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+sllv $s0, $s1, $s2 :: rd 0x162ff800, rs 0x521364dc04c58bfe, rt 0x8d44168a6b6d98a
+sllv $t0, $t1, $t2 :: rd 0xffffffffcc000000, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0xe0f7bb589ab7aebc, rt 0xad00b1f7da78479f
+sllv $t0, $t1, $t2 :: rd 0xffffffffeebd8000, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+sllv $s0, $s1, $s2 :: rd 0xffffffff954d0000, rs 0xe336c60cdeeb954d, rt 0x6778fdf3ba52a850
+sllv $t0, $t1, $t2 :: rd 0xffffffff83180000, rs 0xffffffff9b3660c6, rt 0x2ac12072
+sllv $s0, $s1, $s2 :: rd 0x20b70000, rs 0xd5b2120c6f52416e, rt 0x300ce751dac6162f
+sllv $t0, $t1, $t2 :: rd 0xfffffffffeefae20, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0x85a2d4ff7e628a34, rt 0x8b95a6ddc25dc8bf
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffff92b45ba8, rt 0x23431b1c
+sllv $s0, $s1, $s2 :: rd 0xffffffffe7e07000, rs 0x986a2b654a4e7e07, rt 0x8c61ca5a5725f2ec
+sllv $t0, $t1, $t2 :: rd 0xffffffffaa30f800, rs 0xffffffff9675461f, rt 0x278206ab
+sllv $s0, $s1, $s2 :: rd 0xffffffffa8000000, rs 0xa974eac43a489b55, rt 0x81daf8200468319b
+sllv $t0, $t1, $t2 :: rd 0xffffffff85868000, rs 0xffffffff8832161a, rt 0x39c556ae
+sllv $s0, $s1, $s2 :: rd 0x40000000, rs 0xa388c16272f1f8f5, rt 0xf9519fb55b56fcde
+sllv $t0, $t1, $t2 :: rd 0x5a000000, rs 0xffffffff8cf30bad, rt 0x3d044b19
+sllv $s0, $s1, $s2 :: rd 0xffffffffaf548000, rs 0xe8c11f45e7495ea9, rt 0x94a90544249b18ef
+sllv $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+sllv $s0, $s1, $s2 :: rd 0x5cc1c8b4, rs 0xadaa5a765cc1c8b4, rt 0x2c0a0cf256103260
+sllv $t0, $t1, $t2 :: rd 0x61800000, rs 0xffffffff857130c3, rt 0x34867077
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0b80000, rs 0x7ab4ce88dfa605c0, rt 0xde230867a630f6ad
+sllv $t0, $t1, $t2 :: rd 0x52132000, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+sllv $s0, $s1, $s2 :: rd 0x669ec13c, rs 0xb42ad6e659a7b04f, rt 0x75bfafd2d519d322
+sllv $t0, $t1, $t2 :: rd 0xffffffffb8000000, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+sllv $s0, $s1, $s2 :: rd 0x28922f00, rs 0x4bf8485ab728922f, rt 0x8a96047be3405b48
+sllv $t0, $t1, $t2 :: rd 0xffffffffa0455fb8, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+sllv $s0, $s1, $s2 :: rd 0xffffffffd4ff6000, rs 0x76a3d60c3b66a7fb, rt 0x9a995fdbdc7ebc2d
+sllv $t0, $t1, $t2 :: rd 0x64000000, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+sllv $s0, $s1, $s2 :: rd 0x68000000, rs 0x31e0c6affdc28eda, rt 0x58300f029cae393a
+sllv $t0, $t1, $t2 :: rd 0xffffffffcc8a0000, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+sllv $s0, $s1, $s2 :: rd 0xffffffffe8000000, rs 0x53606bb4bf0c999d, rt 0x1ca190bf6cbb06db
+sllv $t0, $t1, $t2 :: rd 0xffffffff93fefc80, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+sllv $s0, $s1, $s2 :: rd 0x6f233e00, rs 0x32fc12c81b7919f0, rt 0xd30169894df47405
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+sllv $s0, $s1, $s2 :: rd 0xffffffff977e6b00, rs 0x3ef88384c72efcd6, rt 0x6168d62a34c195c7
+sllv $t0, $t1, $t2 :: rd 0xffffffffcdc09c00, rs 0x43cdc09c, rt 0xfffffffff23a8028
+sllv $s0, $s1, $s2 :: rd 0x1ac00000, rs 0x38b1c7bb6a2a3580, rt 0xd685884e76558c4f
+sllv $t0, $t1, $t2 :: rd 0xffffffffa4200000, rs 0x7b827d21, rt 0xffffffffca753d95
+sllv $s0, $s1, $s2 :: rd 0x40000000, rs 0x15ebf6121dca77c9, rt 0x47eacdcd582b12fe
+sllv $t0, $t1, $t2 :: rd 0xfffffffffd0d8258, rs 0x7f436096, rt 0xffffffffceb42022
+sllv $s0, $s1, $s2 :: rd 0xffffffffc8a3d700, rs 0x5eaacdd9fd9147ae, rt 0xb99e8def2f384907
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0x7200464f, rt 0xffffffffc3f706fb
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0xbb8470f981e91117, rt 0x19364378c7ce8d1e
+sllv $t0, $t1, $t2 :: rd 0x15bf8000, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+sllv $s0, $s1, $s2 :: rd 0x29970000, rs 0x5d42aeac6a532e0, rt 0x49fbf6a795b1a5ab
+sllv $t0, $t1, $t2 :: rd 0xc17fa00, rs 0x68860bfd, rt 0xffffffffd9714b49
+sllv $s0, $s1, $s2 :: rd 0xffffffff9fb9e630, rs 0x14abf36419fb9e63, rt 0xec91d993c92195e4
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x6c47164a, rt 0xffffffffddb056fe
+sllv $s0, $s1, $s2 :: rd 0x51ae5558, rs 0x249d559aa8d72aac, rt 0x77433f373fd1c081
+sllv $t0, $t1, $t2 :: rd 0xffffffff82184980, rs 0x61043093, rt 0xffffffffd0f37027
+sllv $s0, $s1, $s2 :: rd 0x61d80000, rs 0xcd6764f084b30ec, rt 0x33b06f54a97fdcf1
+sllv $t0, $t1, $t2 :: rd 0x2d240000, rs 0x65c52d24, rt 0xffffffffd4326d90
+sllv $s0, $s1, $s2 :: rd 0xffffffffdf000000, rs 0x7f03ac0792468fdf, rt 0xbb8c035e0de0f0b8
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+sllv $s0, $s1, $s2 :: rd 0xffffffff9c3d4000, rs 0x7e35ce6d56e670f5, rt 0x4ab4aa798418c00e
+sllv $t0, $t1, $t2 :: rd 0x69597800, rs 0x155a565e, rt 0xffffffffa4ad16ea
+sllv $s0, $s1, $s2 :: rd 0x29388800, rs 0x152828591a652711, rt 0xd3adba260ff7d96b
+sllv $t0, $t1, $t2 :: rd 0xffffffff84380000, rs 0x18197087, rt 0xffffffffa9ee3033
+sllv $s0, $s1, $s2 :: rd 0xfffffffffd800000, rs 0x9e1c3283d215a9fb, rt 0xdfec2b2383cd5277
+sllv $t0, $t1, $t2 :: rd 0xffffffffcd86d300, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+sllv $s0, $s1, $s2 :: rd 0x5c000000, rs 0x8d95c049282a0417, rt 0xc4c770f630dcca5a
+sllv $t0, $t1, $t2 :: rd 0x53e7a6a, rs 0x29f3d35, rt 0xffffffffb3687d81
+sllv $s0, $s1, $s2 :: rd 0xffffffffbc02c798, rs 0xf2e7a490978058f3, rt 0xc07112dd60ed5ee3
+sllv $t0, $t1, $t2 :: rd 0x20800000, rs 0x65e2082, rt 0xffffffffb7a96036
+sllv $s0, $s1, $s2 :: rd 0xffffffffbad8d500, rs 0x775b4cca0975b1aa, rt 0xae6aff8fc506aa67
+sllv $t0, $t1, $t2 :: rd 0xffffffff832d8000, rs 0xb1d065b, rt 0xffffffffbaea46ef
+sllv $s0, $s1, $s2 :: rd 0xffffffffa8888100, rs 0xa2b84a635111020, rt 0x2c3de85e84bb5a83
+sllv $t0, $t1, $t2 :: rd 0xffffffffec000000, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+sllv $s0, $s1, $s2 :: rd 0xffffffffa7d88b6f, rs 0x23fa0d3a7d88b6f, rt 0x87750a04ad765040
+sllv $t0, $t1, $t2 :: rd 0xfffffffff274ca20, rs 0x3793a651, rt 0xffffffff8664e6e5
+sllv $s0, $s1, $s2 :: rd 0xffffffffdedd0000, rs 0xa3d991b79941dedd, rt 0xa809521238895270
+sllv $t0, $t1, $t2 :: rd 0xffffffffef980000, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+sllv $s0, $s1, $s2 :: rd 0xffffffffa8400000, rs 0x751cb4835a0d9508, rt 0xc6eecff99a2fb6f3
+sllv $t0, $t1, $t2 :: rd 0xffffffff8ce9f800, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+sllv $s0, $s1, $s2 :: rd 0xffffffffbb2d3000, rs 0x949cad35625bb2d3, rt 0x314791895991136c
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0x3ad08088, rt 0xffffffff8b27c03c
+sllv $s0, $s1, $s2 :: rd 0x73900000, rs 0x7f567f35a6929739, rt 0xed5005cbc8b0a214
+sllv $t0, $t1, $t2 :: rd 0x1a000000, rs 0x2497d08d, rt 0xffffffff95609039
+sllv $s0, $s1, $s2 :: rd 0xffffffff93800000, rs 0x185b88e0db8d7d27, rt 0xc890d5f1f2efa4f7
+sllv $t0, $t1, $t2 :: rd 0xffffffffb34e8000, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+sllv $s0, $s1, $s2 :: rd 0xdc88000, rs 0x255a4cd22fd61b91, rt 0x900102dac8d7252f
+sllv $t0, $t1, $t2 :: rd 0xfffffffff1800000, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+sllv $s0, $s1, $s2 :: rd 0xfffffffff7b00000, rs 0x1048d589a4363f7b, rt 0x2608c2b756da4c54
+sllv $t0, $t1, $t2 :: rd 0x29d4f654, rs 0x29d4f654, rt 0xffffffff9823b6e0
+sllv $s0, $s1, $s2 :: rd 0x302bc800, rs 0x6a6d5708f4605790, rt 0x2f39454412d6e4a7
+sllv $t0, $t1, $t2 :: rd 0x24cf2000, rs 0xffffffffc5a92679, rt 0x745e66cd
+sllv $s0, $s1, $s2 :: rd 0xffffffffb4bf8000, rs 0xd58ecbabde35697f, rt 0x24eb6a8d1ce7674f
+sllv $t0, $t1, $t2 :: rd 0x38000000, rs 0xffffffffc1683bce, rt 0x709f7b7a
+sllv $s0, $s1, $s2 :: rd 0x297c4000, rs 0x575548fd08c0a5f1, rt 0x8e94b7af8ecc31ce
+sllv $t0, $t1, $t2 :: rd 0x6158e8b8, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+sllv $s0, $s1, $s2 :: rd 0xffffffffed98ddb0, rs 0x8bb640fb8ed98ddb, rt 0x39c21c7d03415604
+sllv $t0, $t1, $t2 :: rd 0xa000000, rs 0xffffffffc8ea00a0, rt 0x791d4014
+sllv $s0, $s1, $s2 :: rd 0x33000000, rs 0xbe00d51eabc578cc, rt 0xd0d070db710cd036
+sllv $t0, $t1, $t2 :: rd 0xffffffffa14a0000, rs 0xffffffffd6ad50a5, rt 0x675a1011
+sllv $s0, $s1, $s2 :: rd 0x2ac80000, rs 0x2f7e224a1c170ab2, rt 0x1d2a757038984ed2
+sllv $t0, $t1, $t2 :: rd 0xffffffff9b134480, rs 0xffffffffd26c4d12, rt 0x639b0da6
+sllv $s0, $s1, $s2 :: rd 0x4ad4e000, rs 0xa978f12ca22256a7, rt 0x87cc9d193ce24ad
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0x9950a93b811ee02f, rt 0x1791722a7d72da3e
+sllv $t0, $t1, $t2 :: rd 0xffffffffee767c00, rs 0xffffffffdbee767c, rt 0x6a1936c8
+sllv $s0, $s1, $s2 :: rd 0xffffffff9e5a8300, rs 0xb44eea93c6796a0c, rt 0x3c2cd9a9cda20766
+sllv $t0, $t1, $t2 :: rd 0x78200000, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+sllv $s0, $s1, $s2 :: rd 0x5c000000, rs 0xfe71fca06c0eb657, rt 0xfc93c5132cfb087a
+sllv $t0, $t1, $t2 :: rd 0xffffffff9d8359d8, rs 0xffffffffe760d676, rt 0x569796c2
+sllv $s0, $s1, $s2 :: rd 0xffffffffab800000, rs 0x4ed6393df818af57, rt 0x25b50fec14682d97
+sllv $t0, $t1, $t2 :: rd 0x78000000, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+sllv $s0, $s1, $s2 :: rd 0x50000000, rs 0xf22e90200236770a, rt 0xb42f5fc581eea0fb
+sllv $t0, $t1, $t2 :: rd 0x2ed18000, rs 0xffffffffeee2ed18, rt 0x5f15adac
+sllv $s0, $s1, $s2 :: rd 0xfffffffffa188ba0, rs 0x81efb6c7afd0c45d, rt 0x556b3ecaccf17ac5
+sllv $t0, $t1, $t2 :: rd 0x4b7a3a00, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+sllv $s0, $s1, $s2 :: rd 0xffffffffd8000000, rs 0xeed8f3518102315b, rt 0x85e0a6319b63259b
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xfffffffff464a0aa, rt 0x4593e01e
+sllv $s0, $s1, $s2 :: rd 0xfffffffffabc0000, rs 0xadafefb9995efd5e, rt 0x36549bd678e895b1
+sllv $t0, $t1, $t2 :: rd 0xffffffff93c33980, rs 0xfffffffff9278673, rt 0x48d0c6c7
+sllv $s0, $s1, $s2 :: rd 0xffffffff94c21800, rs 0x34061933eb253086, rt 0x31d8d9166dfc50ea
+sllv $t0, $t1, $t2 :: rd 0xffffffff9bc40000, rs 0xfffffffffde69bc4, rt 0x4c11db70
+sllv $s0, $s1, $s2 :: rd 0x5e000000, rs 0x1748da264b4c52bc, rt 0x94ff52fc81afa797
+sllv $t0, $t1, $t2 :: rd 0x20000000, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+sllv $s0, $s1, $s2 :: rd 0xffffffff815f4480, rs 0x34fdfc9a9302be89, rt 0xb5034c2f1f18e4c7
+sllv $t0, $t1, $t2 :: rd 0xffffffffe782f800, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+sllv $s0, $s1, $s2 :: rd 0x0, rs 0xd00278c3c521d180, rt 0xcebc8279b2c76bbe
+sllv $t0, $t1, $t2 :: rd 0x33380000, rs 0xffffffff803ac667, rt 0x31cd86d3
+sllv $s0, $s1, $s2 :: rd 0xffffffffbd2e8000, rs 0xe90944a4c1d37a5d, rt 0x9564b77fd6d2040f
+sllv $t0, $t1, $t2 :: rd 0x4fbdbd00, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+sllv $s0, $s1, $s2 :: rd 0xffffffffddef9839, rs 0x65fd698fddef9839, rt 0x47f505569a08a180
+sllv $t0, $t1, $t2 :: rd 0x357917aa, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+sllv $s0, $s1, $s2 :: rd 0x7a900000, rs 0xc49ee3ad81b5af52, rt 0x3af35a9dc40bd413
+sllv $t0, $t1, $t2 :: rd 0xffffffff98800000, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+sllv $s0, $s1, $s2 :: rd 0x20000000, rs 0x7aa941e8bdb263e9, rt 0x5e7a4dd6353d41d
+sllv $t0, $t1, $t2 :: rd 0x585d8000, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+sllv $s0, $s1, $s2 :: rd 0x76b1a000, rs 0x372c209e42f3b58d, rt 0x4b3dda869615a60d
+sllv $t0, $t1, $t2 :: rd 0xc000000, rs 0xffffffff97ffad0c, rt 0x2608edb8
+sllv $s0, $s1, $s2 :: rd 0xffffffffe122a83b, rs 0x30f870b7e122a83b, rt 0x9e705cc51ad8dca0
+sllv $t0, $t1, $t2 :: rd 0xfffffffff6021620, rs 0xffffffffafb010b1, rt 0x1e475005
+sllv $s0, $s1, $s2 :: rd 0x76000000, rs 0x9e02de4b678930ec, rt 0x7aa04213c760e4f7
+sllv $t0, $t1, $t2 :: rd 0x34180000, rs 0xffffffffab710d06, rt 0x1a864db2
+sllv $s0, $s1, $s2 :: rd 0xffffffffc0000000, rs 0xcd61a8639826631e, rt 0x1f308ec377fb413d
+sllv $t0, $t1, $t2 :: rd 0xffffffff915ef800, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+sllv $s0, $s1, $s2 :: rd 0x7a794000, rs 0xae87bc899a7bd3ca, rt 0x2aa89d319e3c30ad
+sllv $t0, $t1, $t2 :: rd 0xffffffff80000000, rs 0xffffffffa2f33668, rt 0x130476dc
+sllv $s0, $s1, $s2 :: rd 0xffffffff9206bc5c, rs 0x58ec644d6481af17, rt 0x42b0c0a28677b502
+sllv $t0, $t1, $t2 :: rd 0xffffffffda000000, rs 0xffffffffbcb4666d, rt 0xd4326d9
+sllv $s0, $s1, $s2 :: rd 0x30000000, rs 0x680cce5fb236b666, rt 0xb7746d775ad6a5fb
+sllv $t0, $t1, $t2 :: rd 0x5ef68000, rs 0xffffffffb8757bda, rt 0x9823b6e
+sllv $s0, $s1, $s2 :: rd 0x6ba80000, rs 0x3baa99471f6d4d75, rt 0x976d6e9ac31510f3
+sllv $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0x1b580000, rs 0x614d9b445f12236b, rt 0x7e876382d2ab13
+sllv $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+sllv $s0, $s1, $s2 :: rd 0xffffffffa1048400, rs 0xa2a6ec661ba84121, rt 0x12bd6aa
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1304, rs 0x9823b6e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x130476d, rs 0x9823b6e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1a86, rs 0xd4326d9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x1a864db, rs 0xd4326d9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2608, rs 0x130476dc, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x2608edb, rs 0x130476dc, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2f8a, rs 0x17c56b6b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x2f8ad6d, rs 0x17c56b6b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x350c, rs 0x1a864db2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x350c9b6, rs 0x1a864db2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3c8e, rs 0x1e475005, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x3c8ea00, rs 0x1e475005, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608edb8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x4c11db7, rs 0x2608edb8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x4593, rs 0x22c9f00f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x4593e01, rs 0x22c9f00f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x5f15, rs 0x2f8ad6d6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x5f15ada, rs 0x2f8ad6d6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x5697, rs 0x2b4bcb61, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x569796c, rs 0x2b4bcb61, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x6a19, rs 0x350c9b64, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x6a1936c, rs 0x350c9b64, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x639b, rs 0x31cd86d3, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x639b0da, rs 0x31cd86d3, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x791d, rs 0x3c8ea00a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x791d401, rs 0x3c8ea00a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x709f, rs 0x384fbdbd, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x709f7b7, rs 0x384fbdbd, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x9823, rs 0x4c11db70, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x9823b6e, rs 0x4c11db70, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x91a1, rs 0x48d0c6c7, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x91a18d8, rs 0x48d0c6c7, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x8b27, rs 0x4593e01e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x8b27c03, rs 0x4593e01e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x82a5, rs 0x4152fda9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x82a5fb5, rs 0x4152fda9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xbe2b, rs 0x5f15adac, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xbe2b5b5, rs 0x5f15adac, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xb7a9, rs 0x5bd4b01b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xb7a9603, rs 0x5bd4b01b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xad2f, rs 0x569796c2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xad2f2d8, rs 0x569796c2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa4ad, rs 0x52568b75, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa4ad16e, rs 0x52568b75, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xd432, rs 0x6a1936c8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xd4326d9, rs 0x6a1936c8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xddb0, rs 0x6ed82b7f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xddb056f, rs 0x6ed82b7f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xc736, rs 0x639b0da6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xc7361b4, rs 0x639b0da6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xceb4, rs 0x675a1011, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xceb4202, rs 0x675a1011, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xf23a, rs 0x791d4014, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xf23a802, rs 0x791d4014, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfbb8, rs 0x7ddc5da3, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfbb8bb4, rs 0x7ddc5da3, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xe13e, rs 0x709f7b7a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xe13ef6f, rs 0x709f7b7a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xe8bc, rs 0x745e66cd, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xe8bccd9, rs 0x745e66cd, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9823b6e0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3047, rs 0xffffffff9823b6e0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff30476dc, rs 0xffffffff9823b6e0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ce2ab57, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff39c5, rs 0xffffffff9ce2ab57, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff39c556a, rs 0xffffffff9ce2ab57, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff91a18d8e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2343, rs 0xffffffff91a18d8e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff23431b1, rs 0xffffffff91a18d8e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff95609039, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2ac1, rs 0xffffffff95609039, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff2ac1207, rs 0xffffffff95609039, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8b27c03c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff164f, rs 0xffffffff8b27c03c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff164f807, rs 0xffffffff8b27c03c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff1fcd, rs 0xffffffff8fe6dd8b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff1fcdbb1, rs 0xffffffff8fe6dd8b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff82a5fb52, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff054b, rs 0xffffffff82a5fb52, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff054bf6a, rs 0xffffffff82a5fb52, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8664e6e5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff0cc9, rs 0xffffffff8664e6e5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff0cc9cdc, rs 0xffffffff8664e6e5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbe2b5b58, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff7c56, rs 0xffffffffbe2b5b58, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff7c56b6b, rs 0xffffffffbe2b5b58, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbaea46ef, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff75d4, rs 0xffffffffbaea46ef, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff75d48dd, rs 0xffffffffbaea46ef, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb7a96036, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff6f52, rs 0xffffffffb7a96036, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff6f52c06, rs 0xffffffffb7a96036, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb3687d81, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff66d0, rs 0xffffffffb3687d81, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff66d0fb0, rs 0xffffffffb3687d81, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffad2f2d84, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff5a5e, rs 0xffffffffad2f2d84, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff5a5e5b0, rs 0xffffffffad2f2d84, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa9ee3033, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff53dc, rs 0xffffffffa9ee3033, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff53dc606, rs 0xffffffffa9ee3033, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa4ad16ea, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff495a, rs 0xffffffffa4ad16ea, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff495a2dd, rs 0xffffffffa4ad16ea, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa06c0b5d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff40d8, rs 0xffffffffa06c0b5d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff40d816b, rs 0xffffffffa06c0b5d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd4326d90, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffa864, rs 0xffffffffd4326d90, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffa864db2, rs 0xffffffffd4326d90, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd0f37027, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffa1e6, rs 0xffffffffd0f37027, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffa1e6e04, rs 0xffffffffd0f37027, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffddb056fe, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffbb60, rs 0xffffffffddb056fe, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffbb60adf, rs 0xffffffffddb056fe, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd9714b49, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffb2e2, rs 0xffffffffd9714b49, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffb2e2969, rs 0xffffffffd9714b49, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc7361b4c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff8e6c, rs 0xffffffffc7361b4c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff8e6c369, rs 0xffffffffc7361b4c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc3f706fb, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff87ee, rs 0xffffffffc3f706fb, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff87ee0df, rs 0xffffffffc3f706fb, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffceb42022, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff9d68, rs 0xffffffffceb42022, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff9d68404, rs 0xffffffffceb42022, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffca753d95, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff94ea, rs 0xffffffffca753d95, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff94ea7b2, rs 0xffffffffca753d95, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff23a8028, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffe475, rs 0xfffffffff23a8028, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffe475005, rs 0xfffffffff23a8028, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff6fb9d9f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffedf7, rs 0xfffffffff6fb9d9f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffedf73b3, rs 0xfffffffff6fb9d9f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffbb8bb46, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffff771, rs 0xfffffffffbb8bb46, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffff771768, rs 0xfffffffffbb8bb46, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffff79a6f1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffffef3, rs 0xffffffffff79a6f1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffffef34de, rs 0xffffffffff79a6f1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe13ef6f4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffc27d, rs 0xffffffffe13ef6f4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffc27dede, rs 0xffffffffe13ef6f4, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe5ffeb43, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffcbff, rs 0xffffffffe5ffeb43, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffcbffd68, rs 0xffffffffe5ffeb43, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe8bccd9a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffd179, rs 0xffffffffe8bccd9a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffd1799b3, rs 0xffffffffe8bccd9a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffec7dd02d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffd8fb, rs 0xffffffffec7dd02d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffd8fba05, rs 0xffffffffec7dd02d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x690c, rs 0x34867077, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x690ce0e, rs 0x34867077, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x608e, rs 0x30476dc0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x608edb8, rs 0x30476dc0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x7a08, rs 0x3d044b19, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x7a08963, rs 0x3d044b19, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x738a, rs 0x39c556ae, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x738aad5, rs 0x39c556ae, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x4f04, rs 0x278206ab, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x4f040d5, rs 0x278206ab, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x4686, rs 0x23431b1c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x4686363, rs 0x23431b1c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x5c00, rs 0x2e003dc5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x5c007b8, rs 0x2e003dc5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x5582, rs 0x2ac12072, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x558240e, rs 0x2ac12072, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x251d, rs 0x128e9dcf, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x251d3b9, rs 0x128e9dcf, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2c9f, rs 0x164f8078, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x2c9f00f, rs 0x164f8078, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3619, rs 0x1b0ca6a1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x36194d4, rs 0x1b0ca6a1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3f9b, rs 0x1fcdbb16, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x3f9b762, rs 0x1fcdbb16, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x315, rs 0x18aeb13, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x315d62, rs 0x18aeb13, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa97, rs 0x54bf6a4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa97ed4, rs 0x54bf6a4, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1011, rs 0x808d07d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x1011a0f, rs 0x808d07d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1993, rs 0xcc9cdca, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x19939b9, rs 0xcc9cdca, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xf12f, rs 0x7897ab07, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xf12f560, rs 0x7897ab07, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xf8ad, rs 0x7c56b6b0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xf8ad6d6, rs 0x7c56b6b0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xe22b, rs 0x71159069, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xe22b20d, rs 0x71159069, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xeba9, rs 0x75d48dde, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xeba91bb, rs 0x75d48dde, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xd727, rs 0x6b93dddb, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xd727bbb, rs 0x6b93dddb, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xdea5, rs 0x6f52c06c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xdea580d, rs 0x6f52c06c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xc423, rs 0x6211e6b5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xc423cd6, rs 0x6211e6b5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xcda1, rs 0x66d0fb02, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xcda1f60, rs 0x66d0fb02, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xbd3e, rs 0x5e9f46bf, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xbd3e8d7, rs 0x5e9f46bf, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xb4bc, rs 0x5a5e5b08, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xb4bcb61, rs 0x5a5e5b08, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xae3a, rs 0x571d7dd1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xae3afba, rs 0x571d7dd1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa7b8, rs 0x53dc6066, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa7b8c0c, rs 0x53dc6066, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x9b36, rs 0x4d9b3063, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x9b3660c, rs 0x4d9b3063, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x92b4, rs 0x495a2dd4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x92b45ba, rs 0x495a2dd4, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x8832, rs 0x44190b0d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x8832161, rs 0x44190b0d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x81b0, rs 0x40d816ba, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x81b02d7, rs 0x40d816ba, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaca5c697, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff594b, rs 0xffffffffaca5c697, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff594b8d2, rs 0xffffffffaca5c697, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa864db20, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff50c9, rs 0xffffffffa864db20, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff50c9b64, rs 0xffffffffa864db20, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa527fdf9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff4a4f, rs 0xffffffffa527fdf9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff4a4ffbf, rs 0xffffffffa527fdf9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa1e6e04e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff43cd, rs 0xffffffffa1e6e04e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff43cdc09, rs 0xffffffffa1e6e04e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbfa1b04b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff7f43, rs 0xffffffffbfa1b04b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff7f43609, rs 0xffffffffbfa1b04b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbb60adfc, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff76c1, rs 0xffffffffbb60adfc, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff76c15bf, rs 0xffffffffbb60adfc, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb6238b25, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff6c47, rs 0xffffffffb6238b25, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff6c47164, rs 0xffffffffb6238b25, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb2e29692, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff65c5, rs 0xffffffffb2e29692, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff65c52d2, rs 0xffffffffb2e29692, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8aad2b2f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff155a, rs 0xffffffff8aad2b2f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff155a565, rs 0xffffffff8aad2b2f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff87ee0df6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff0fdc, rs 0xffffffff87ee0df6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff0fdc1be, rs 0xffffffff87ee0df6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff99a95df3, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3352, rs 0xffffffff99a95df3, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff3352bbe, rs 0xffffffff99a95df3, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9d684044, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3ad0, rs 0xffffffff9d684044, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff3ad0808, rs 0xffffffff9d684044, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff902b669d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2056, rs 0xffffffff902b669d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff2056cd3, rs 0xffffffff902b669d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff94ea7b2a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff29d4, rs 0xffffffff94ea7b2a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff29d4f65, rs 0xffffffff94ea7b2a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe0b41de7, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffc168, rs 0xffffffffe0b41de7, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffc1683bc, rs 0xffffffffe0b41de7, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe4750050, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffc8ea, rs 0xffffffffe4750050, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffc8ea00a, rs 0xffffffffe4750050, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe9362689, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffd26c, rs 0xffffffffe9362689, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffd26c4d1, rs 0xffffffffe9362689, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffedf73b3e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffdbee, rs 0xffffffffedf73b3e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffdbee767, rs 0xffffffffedf73b3e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff3b06b3b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffe760, rs 0xfffffffff3b06b3b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffe760d67, rs 0xfffffffff3b06b3b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff771768c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffeee2, rs 0xfffffffff771768c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffeee2ed1, rs 0xfffffffff771768c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffa325055, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffff464, rs 0xfffffffffa325055, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffff464a0a, rs 0xfffffffffa325055, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffef34de2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffffde6, rs 0xfffffffffef34de2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffffde69bc, rs 0xfffffffffef34de2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc6bcf05f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff8d79, rs 0xffffffffc6bcf05f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff8d79e0b, rs 0xffffffffc6bcf05f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc27dede8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff84fb, rs 0xffffffffc27dede8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff84fbdbd, rs 0xffffffffc27dede8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcf3ecb31, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff9e7d, rs 0xffffffffcf3ecb31, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff9e7d966, rs 0xffffffffcf3ecb31, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcbffd686, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff97ff, rs 0xffffffffcbffd686, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff97ffad0, rs 0xffffffffcbffd686, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd5b88683, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffab71, rs 0xffffffffd5b88683, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffab710d0, rs 0xffffffffd5b88683, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd1799b34, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffa2f3, rs 0xffffffffd1799b34, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffa2f3366, rs 0xffffffffd1799b34, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdc3abded, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffb875, rs 0xffffffffdc3abded, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffb8757bd, rs 0xffffffffdc3abded, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd8fba05a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffb1f7, rs 0xffffffffd8fba05a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffb1f740b, rs 0xffffffffd8fba05a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xd219, rs 0x690ce0ee, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xd219c1d, rs 0x690ce0ee, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xdb9b, rs 0x6dcdfd59, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xdb9bfab, rs 0x6dcdfd59, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xc11d, rs 0x608edb80, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xc11db70, rs 0x608edb80, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xc89f, rs 0x644fc637, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xc89f8c6, rs 0x644fc637, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xf411, rs 0x7a089632, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xf4112c6, rs 0x7a089632, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfd93, rs 0x7ec98b85, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfd93170, rs 0x7ec98b85, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xe715, rs 0x738aad5c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xe7155ab, rs 0x738aad5c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xee97, rs 0x774bb0eb, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xee9761d, rs 0x774bb0eb, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x9e08, rs 0x4f040d56, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x9e081aa, rs 0x4f040d56, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x978a, rs 0x4bc510e1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x978a21c, rs 0x4bc510e1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x8d0c, rs 0x46863638, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x8d0c6c7, rs 0x46863638, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x848e, rs 0x42472b8f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x848e571, rs 0x42472b8f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xb800, rs 0x5c007b8a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xb800f71, rs 0x5c007b8a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xb182, rs 0x58c1663d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xb182cc7, rs 0x58c1663d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xab04, rs 0x558240e4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xab0481c, rs 0x558240e4, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa286, rs 0x51435d53, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa286baa, rs 0x51435d53, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x4a3a, rs 0x251d3b9e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x4a3a773, rs 0x251d3b9e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x43b8, rs 0x21dc2629, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x43b84c5, rs 0x21dc2629, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x593e, rs 0x2c9f00f0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x593e01e, rs 0x2c9f00f0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x50bc, rs 0x285e1d47, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x50bc3a8, rs 0x285e1d47, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x6c32, rs 0x36194d42, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x6c329a8, rs 0x36194d42, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x65b0, rs 0x32d850f5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x65b0a1e, rs 0x32d850f5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x7f36, rs 0x3f9b762c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x7f36ec5, rs 0x3f9b762c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x76b4, rs 0x3b5a6b9b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x76b4d73, rs 0x3b5a6b9b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x62b, rs 0x315d626, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x62bac4, rs 0x315d626, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfa9, rs 0x7d4cb91, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfa9972, rs 0x7d4cb91, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x152f, rs 0xa97ed48, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x152fda9, rs 0xa97ed48, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1cad, rs 0xe56f0ff, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x1cade1f, rs 0xe56f0ff, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2023, rs 0x1011a0fa, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x202341f, rs 0x1011a0fa, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x29a1, rs 0x14d0bd4d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x29a17a9, rs 0x14d0bd4d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3327, rs 0x19939b94, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x3327372, rs 0x19939b94, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3aa5, rs 0x1d528623, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x3aa50c4, rs 0x1d528623, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff12f560e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffe25e, rs 0xfffffffff12f560e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffe25eac1, rs 0xfffffffff12f560e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff5ee4bb9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffebdc, rs 0xfffffffff5ee4bb9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffebdc977, rs 0xfffffffff5ee4bb9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff8ad6d60, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffff15a, rs 0xfffffffff8ad6d60, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffff15adac, rs 0xfffffffff8ad6d60, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffc6c70d7, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffff8d8, rs 0xfffffffffc6c70d7, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffff8d8e1a, rs 0xfffffffffc6c70d7, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe22b20d2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffc456, rs 0xffffffffe22b20d2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffc45641a, rs 0xffffffffe22b20d2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe6ea3d65, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffcdd4, rs 0xffffffffe6ea3d65, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffcdd47ac, rs 0xffffffffe6ea3d65, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeba91bbc, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffd752, rs 0xffffffffeba91bbc, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffd752377, rs 0xffffffffeba91bbc, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffef68060b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffded0, rs 0xffffffffef68060b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffded00c1, rs 0xffffffffef68060b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd727bbb6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffae4f, rs 0xffffffffd727bbb6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffae4f776, rs 0xffffffffd727bbb6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd3e6a601, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffa7cd, rs 0xffffffffd3e6a601, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffa7cd4c0, rs 0xffffffffd3e6a601, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdea580d8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffbd4b, rs 0xffffffffdea580d8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffbd4b01b, rs 0xffffffffdea580d8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffda649d6f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffb4c9, rs 0xffffffffda649d6f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffb4c93ad, rs 0xffffffffda649d6f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc423cd6a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff8847, rs 0xffffffffc423cd6a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff88479ad, rs 0xffffffffc423cd6a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcda1f604, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff9b43, rs 0xffffffffcda1f604, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff9b43ec0, rs 0xffffffffcda1f604, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbd3e8d7e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff7a7d, rs 0xffffffffbd3e8d7e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff7a7d1af, rs 0xffffffffbd3e8d7e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb9ff90c9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff73ff, rs 0xffffffffb9ff90c9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff73ff219, rs 0xffffffffb9ff90c9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb4bcb610, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff6979, rs 0xffffffffb4bcb610, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff69796c2, rs 0xffffffffb4bcb610, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb07daba7, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff60fb, rs 0xffffffffb07daba7, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff60fb574, rs 0xffffffffb07daba7, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffae3afba2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff5c75, rs 0xffffffffae3afba2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff5c75f74, rs 0xffffffffae3afba2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffaafbe615, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff55f7, rs 0xffffffffaafbe615, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff55f7cc2, rs 0xffffffffaafbe615, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa7b8c0cc, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff4f71, rs 0xffffffffa7b8c0cc, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff4f71819, rs 0xffffffffa7b8c0cc, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa379dd7b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff46f3, rs 0xffffffffa379dd7b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff46f3baf, rs 0xffffffffa379dd7b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9b3660c6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff366c, rs 0xffffffff9b3660c6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff366cc18, rs 0xffffffff9b3660c6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9ff77d71, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3fee, rs 0xffffffff9ff77d71, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff3feefae, rs 0xffffffff9ff77d71, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff92b45ba8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2568, rs 0xffffffff92b45ba8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff2568b75, rs 0xffffffff92b45ba8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9675461f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2cea, rs 0xffffffff9675461f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff2cea8c3, rs 0xffffffff9675461f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8832161a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff1064, rs 0xffffffff8832161a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff10642c3, rs 0xffffffff8832161a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8cf30bad, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff19e6, rs 0xffffffff8cf30bad, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff19e6175, rs 0xffffffff8cf30bad, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff81b02d74, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff0360, rs 0xffffffff81b02d74, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff03605ae, rs 0xffffffff81b02d74, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff857130c3, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff0ae2, rs 0xffffffff857130c3, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff0ae2618, rs 0xffffffff857130c3, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xbb15, rs 0x5d8a9099, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xbb15213, rs 0x5d8a9099, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xb297, rs 0x594b8d2e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xb2971a5, rs 0x594b8d2e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa811, rs 0x5408abf7, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa81157e, rs 0x5408abf7, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xa193, rs 0x50c9b640, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xa1936c8, rs 0x50c9b640, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x9d1d, rs 0x4e8ee645, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x9d1dcc8, rs 0x4e8ee645, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x949f, rs 0x4a4ffbf2, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x949ff7e, rs 0x4a4ffbf2, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x8e19, rs 0x470cdd2b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x8e19ba5, rs 0x470cdd2b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x879b, rs 0x43cdc09c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x879b813, rs 0x43cdc09c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xf704, rs 0x7b827d21, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xf704fa4, rs 0x7b827d21, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfe86, rs 0x7f436096, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfe86c12, rs 0x7f436096, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xe400, rs 0x7200464f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xe4008c9, rs 0x7200464f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xed82, rs 0x76c15bf8, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xed82b7f, rs 0x76c15bf8, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xd10c, rs 0x68860bfd, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xd10c17f, rs 0x68860bfd, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xd88e, rs 0x6c47164a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xd88e2c9, rs 0x6c47164a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xc208, rs 0x61043093, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xc208612, rs 0x61043093, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xcb8a, rs 0x65c52d24, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xcb8a5a4, rs 0x65c52d24, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2336, rs 0x119b4be9, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x233697d, rs 0x119b4be9, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x2ab4, rs 0x155a565e, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x2ab4acb, rs 0x155a565e, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x3032, rs 0x18197087, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x3032e10, rs 0x18197087, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x39b0, rs 0x1cd86d30, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x39b0da6, rs 0x1cd86d30, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x53e, rs 0x29f3d35, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x53e7a6, rs 0x29f3d35, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xcbc, rs 0x65e2082, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xcbc410, rs 0x65e2082, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x163a, rs 0xb1d065b, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x163a0cb, rs 0xb1d065b, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x1fb8, rs 0xfdc1bec, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x1fb837d, rs 0xfdc1bec, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x6f27, rs 0x3793a651, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x6f274ca, rs 0x3793a651, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x66a5, rs 0x3352bbe6, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x66a577c, rs 0x3352bbe6, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x7c23, rs 0x3e119d3f, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x7c233a7, rs 0x3e119d3f, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x75a1, rs 0x3ad08088, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x75a1011, rs 0x3ad08088, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x492f, rs 0x2497d08d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x492fa11, rs 0x2497d08d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x40ad, rs 0x2056cd3a, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x40ad9a7, rs 0x2056cd3a, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x5a2b, rs 0x2d15ebe3, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x5a2bd7c, rs 0x2d15ebe3, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0x53a9, rs 0x29d4f654, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0x53a9eca, rs 0x29d4f654, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc5a92679, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff8b52, rs 0xffffffffc5a92679, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff8b524cf, rs 0xffffffffc5a92679, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc1683bce, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff82d0, rs 0xffffffffc1683bce, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff82d0779, rs 0xffffffffc1683bce, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffcc2b1d17, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff9856, rs 0xffffffffcc2b1d17, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff98563a2, rs 0xffffffffcc2b1d17, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffc8ea00a0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff91d4, rs 0xffffffffc8ea00a0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff91d4014, rs 0xffffffffc8ea00a0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd6ad50a5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffad5a, rs 0xffffffffd6ad50a5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffad5aa14, rs 0xffffffffd6ad50a5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffd26c4d12, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffa4d8, rs 0xffffffffd26c4d12, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffa4d89a2, rs 0xffffffffd26c4d12, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffbe5e, rs 0xffffffffdf2f6bcb, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffbe5ed79, rs 0xffffffffdf2f6bcb, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffdbee767c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffb7dc, rs 0xffffffffdbee767c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffb7dcecf, rs 0xffffffffdbee767c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe3a1cbc1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffc743, rs 0xffffffffe3a1cbc1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffc743978, rs 0xffffffffe3a1cbc1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffe760d676, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffcec1, rs 0xffffffffe760d676, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffcec1ace, rs 0xffffffffe760d676, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffea23f0af, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffd447, rs 0xffffffffea23f0af, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffd447e15, rs 0xffffffffea23f0af, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffeee2ed18, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffddc5, rs 0xffffffffeee2ed18, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffddc5da3, rs 0xffffffffeee2ed18, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff0a5bd1d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffe14b, rs 0xfffffffff0a5bd1d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffe14b7a3, rs 0xfffffffff0a5bd1d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff464a0aa, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffffe8c9, rs 0xfffffffff464a0aa, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffffe8c9415, rs 0xfffffffff464a0aa, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffff9278673, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffff24f, rs 0xfffffffff9278673, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffff24f0ce, rs 0xfffffffff9278673, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xfffffffffde69bc4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xfffffffffffffbcd, rs 0xfffffffffde69bc4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xffffffffffbcd378, rs 0xfffffffffde69bc4, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff89b8fd09, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff1371, rs 0xffffffff89b8fd09, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff1371fa1, rs 0xffffffff89b8fd09, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff8d79e0be, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff1af3, rs 0xffffffff8d79e0be, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff1af3c17, rs 0xffffffff8d79e0be, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff803ac667, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff0075, rs 0xffffffff803ac667, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff00758cc, rs 0xffffffff803ac667, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff84fbdbd0, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff09f7, rs 0xffffffff84fbdbd0, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff09f7b7a, rs 0xffffffff84fbdbd0, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9abc8bd5, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3579, rs 0xffffffff9abc8bd5, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff357917a, rs 0xffffffff9abc8bd5, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff9e7d9662, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff3cfb, rs 0xffffffff9e7d9662, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff3cfb2cc, rs 0xffffffff9e7d9662, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff933eb0bb, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff267d, rs 0xffffffff933eb0bb, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff267d617, rs 0xffffffff933eb0bb, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffff97ffad0c, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff2fff, rs 0xffffffff97ffad0c, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff2fff5a1, rs 0xffffffff97ffad0c, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffafb010b1, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff5f60, rs 0xffffffffafb010b1, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff5f60216, rs 0xffffffffafb010b1, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffab710d06, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff56e2, rs 0xffffffffab710d06, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff56e21a0, rs 0xffffffffab710d06, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa6322bdf, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff4c64, rs 0xffffffffa6322bdf, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff4c6457b, rs 0xffffffffa6322bdf, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffa2f33668, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff45e6, rs 0xffffffffa2f33668, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff45e66cd, rs 0xffffffffa2f33668, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffbcb4666d, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff7968, rs 0xffffffffbcb4666d, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff7968ccd, rs 0xffffffffbcb4666d, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb8757bda, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff70ea, rs 0xffffffffb8757bda, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff70eaf7b, rs 0xffffffffb8757bda, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb5365d03, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff6a6c, rs 0xffffffffb5365d03, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff6a6cba0, rs 0xffffffffb5365d03, imm 0x0003
+sra $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+sra $t2, $t3, 0x1f :: rt 0xffffffffffffffff, rs 0xffffffffb1f740b4, imm 0x001f
+sra $a0, $a1, 0x0f :: rt 0xffffffffffff63ee, rs 0xffffffffb1f740b4, imm 0x000f
+sra $s0, $s1, 0x03 :: rt 0xfffffffff63ee816, rs 0xffffffffb1f740b4, imm 0x0003
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+srav $t0, $t1, $t2 :: rd 0x2, rs 0x9823b6e, rt 0xffffffffb8757bda
+srav $t0, $t1, $t2 :: rd 0x6a19, rs 0xd4326d9, rt 0xffffffffbcb4666d
+srav $t0, $t1, $t2 :: rd 0x130476, rs 0x130476dc, rt 0xffffffffa2f33668
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+srav $t0, $t1, $t2 :: rd 0x6a1936, rs 0x1a864db2, rt 0xffffffffab710d06
+srav $t0, $t1, $t2 :: rd 0xf23, rs 0x1e475005, rt 0xffffffffafb010b1
+srav $t0, $t1, $t2 :: rd 0x2608e, rs 0x2608edb8, rt 0xffffffff97ffad0c
+srav $t0, $t1, $t2 :: rd 0x4, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+srav $t0, $t1, $t2 :: rd 0xbe2b5b5, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+srav $t0, $t1, $t2 :: rd 0x15a, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+srav $t0, $t1, $t2 :: rd 0x350c, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+srav $t0, $t1, $t2 :: rd 0x639b0d, rs 0x31cd86d3, rt 0xffffffff803ac667
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+srav $t0, $t1, $t2 :: rd 0x1c27de, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+srav $t0, $t1, $t2 :: rd 0x4c11db7, rs 0x4c11db70, rt 0xfffffffffde69bc4
+srav $t0, $t1, $t2 :: rd 0x91a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+srav $t0, $t1, $t2 :: rd 0x1164f8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+srav $t0, $t1, $t2 :: rd 0x2, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+srav $t0, $t1, $t2 :: rd 0x5f, rs 0x5f15adac, rt 0xffffffffeee2ed18
+srav $t0, $t1, $t2 :: rd 0xb7a9, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+srav $t0, $t1, $t2 :: rd 0x15a, rs 0x569796c2, rt 0xffffffffe760d676
+srav $t0, $t1, $t2 :: rd 0x292b45ba, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+srav $t0, $t1, $t2 :: rd 0x6, rs 0x6a1936c8, rt 0xffffffffdbee767c
+srav $t0, $t1, $t2 :: rd 0xddb05, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+srav $t0, $t1, $t2 :: rd 0x18e6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+srav $t0, $t1, $t2 :: rd 0x33ad080, rs 0x675a1011, rt 0xffffffffd6ad50a5
+srav $t0, $t1, $t2 :: rd 0x791d4014, rs 0x791d4014, rt 0xffffffffc8ea00a0
+srav $t0, $t1, $t2 :: rd 0xfb, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+srav $t0, $t1, $t2 :: rd 0x1c27d, rs 0x709f7b7a, rt 0xffffffffc1683bce
+srav $t0, $t1, $t2 :: rd 0x3a, rs 0x745e66cd, rt 0xffffffffc5a92679
+srav $t0, $t1, $t2 :: rd 0xfffffffffffff982, rs 0xffffffff9823b6e0, rt 0x29d4f654
+srav $t0, $t1, $t2 :: rd 0xfffffffff39c556a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffe4, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+srav $t0, $t1, $t2 :: rd 0xfffffffffffcab04, rs 0xffffffff95609039, rt 0x2497d08d
+srav $t0, $t1, $t2 :: rd 0xffffffffff8b27c0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+srav $t0, $t1, $t2 :: rd 0xfffffffffe0a97ed, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+srav $t0, $t1, $t2 :: rd 0xffffffffffffc332, rs 0xffffffff8664e6e5, rt 0x3793a651
+srav $t0, $t1, $t2 :: rd 0xfffffffffffbe2b5, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff7, rs 0xffffffffbaea46ef, rt 0xb1d065b
+srav $t0, $t1, $t2 :: rd 0xffffffffedea580d, rs 0xffffffffb7a96036, rt 0x65e2082
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffd9b, rs 0xffffffffb3687d81, rt 0x29f3d35
+srav $t0, $t1, $t2 :: rd 0xffffffffffffad2f, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+srav $t0, $t1, $t2 :: rd 0xffffffffff53dc60, rs 0xffffffffa9ee3033, rt 0x18197087
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffe, rs 0xffffffffa4ad16ea, rt 0x155a565e
+srav $t0, $t1, $t2 :: rd 0xffffffffffd03605, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+srav $t0, $t1, $t2 :: rd 0xfffffffffd4326d9, rs 0xffffffffd4326d90, rt 0x65c52d24
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffa1e, rs 0xffffffffd0f37027, rt 0x61043093
+srav $t0, $t1, $t2 :: rd 0xfffffffffff76c15, rs 0xffffffffddb056fe, rt 0x6c47164a
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffe, rs 0xffffffffd9714b49, rt 0x68860bfd
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffc7, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+srav $t0, $t1, $t2 :: rd 0xffffffffffff87ee, rs 0xffffffffc3f706fb, rt 0x7200464f
+srav $t0, $t1, $t2 :: rd 0xffffffffffffff3a, rs 0xffffffffceb42022, rt 0x7f436096
+srav $t0, $t1, $t2 :: rd 0xffffffffe53a9eca, rs 0xffffffffca753d95, rt 0x7b827d21
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff23a8028, rt 0x43cdc09c
+srav $t0, $t1, $t2 :: rd 0xfffffffffffedf73, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffeee, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+srav $t0, $t1, $t2 :: rd 0xfffffffffffbcd37, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+srav $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffcb, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+srav $t0, $t1, $t2 :: rd 0xffffffffffffa2f3, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff6, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+srav $t0, $t1, $t2 :: rd 0x690ce0e, rs 0x34867077, rt 0xffffffff857130c3
+srav $t0, $t1, $t2 :: rd 0x304, rs 0x30476dc0, rt 0xffffffff81b02d74
+srav $t0, $t1, $t2 :: rd 0x1e822, rs 0x3d044b19, rt 0xffffffff8cf30bad
+srav $t0, $t1, $t2 :: rd 0xe, rs 0x39c556ae, rt 0xffffffff8832161a
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+srav $t0, $t1, $t2 :: rd 0x23431b, rs 0x23431b1c, rt 0xffffffff92b45ba8
+srav $t0, $t1, $t2 :: rd 0x1700, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+srav $t0, $t1, $t2 :: rd 0xab0481, rs 0x2ac12072, rt 0xffffffff9b3660c6
+srav $t0, $t1, $t2 :: rd 0x2, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+srav $t0, $t1, $t2 :: rd 0x164f8, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+srav $t0, $t1, $t2 :: rd 0xd8, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+srav $t0, $t1, $t2 :: rd 0x7f36ec5, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+srav $t0, $t1, $t2 :: rd 0x315d6, rs 0x18aeb13, rt 0xffffffffb07daba7
+srav $t0, $t1, $t2 :: rd 0x54b, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+srav $t0, $t1, $t2 :: rd 0x40468, rs 0x808d07d, rt 0xffffffffb9ff90c9
+srav $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+srav $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+srav $t0, $t1, $t2 :: rd 0x7c56b6b, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+srav $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+srav $t0, $t1, $t2 :: rd 0x1d7523, rs 0x75d48dde, rt 0xffffffffc423cd6a
+srav $t0, $t1, $t2 :: rd 0xd727, rs 0x6b93dddb, rt 0xffffffffda649d6f
+srav $t0, $t1, $t2 :: rd 0x6f, rs 0x6f52c06c, rt 0xffffffffdea580d8
+srav $t0, $t1, $t2 :: rd 0x3108f35a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+srav $t0, $t1, $t2 :: rd 0x19b, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+srav $t0, $t1, $t2 :: rd 0xbd3e8, rs 0x5e9f46bf, rt 0xffffffffef68060b
+srav $t0, $t1, $t2 :: rd 0x5, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+srav $t0, $t1, $t2 :: rd 0x2b8ebee, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+srav $t0, $t1, $t2 :: rd 0x14f7, rs 0x53dc6066, rt 0xffffffffe22b20d2
+srav $t0, $t1, $t2 :: rd 0x9b, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+srav $t0, $t1, $t2 :: rd 0x495a2dd4, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+srav $t0, $t1, $t2 :: rd 0x22, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+srav $t0, $t1, $t2 :: rd 0x10360, rs 0x40d816ba, rt 0xfffffffff12f560e
+srav $t0, $t1, $t2 :: rd 0xfffffffff594b8d2, rs 0xffffffffaca5c697, rt 0x1d528623
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffa86, rs 0xffffffffa864db20, rt 0x19939b94
+srav $t0, $t1, $t2 :: rd 0xfffffffffffd293f, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffe8, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+srav $t0, $t1, $t2 :: rd 0xffffffffffbb60ad, rs 0xffffffffbb60adfc, rt 0xa97ed48
+srav $t0, $t1, $t2 :: rd 0xffffffffffffdb11, rs 0xffffffffb6238b25, rt 0x7d4cb91
+srav $t0, $t1, $t2 :: rd 0xfffffffffecb8a5a, rs 0xffffffffb2e29692, rt 0x315d626
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff1, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+srav $t0, $t1, $t2 :: rd 0xffffffffe1fb837d, rs 0xffffffff87ee0df6, rt 0x36194d42
+srav $t0, $t1, $t2 :: rd 0xffffffffff3352bb, rs 0xffffffff99a95df3, rt 0x285e1d47
+srav $t0, $t1, $t2 :: rd 0xffffffffffff9d68, rs 0xffffffff9d684044, rt 0x2c9f00f0
+srav $t0, $t1, $t2 :: rd 0xffffffffffc815b3, rs 0xffffffff902b669d, rt 0x21dc2629
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffe, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffc16, rs 0xffffffffe0b41de7, rt 0x51435d53
+srav $t0, $t1, $t2 :: rd 0xfffffffffe475005, rs 0xffffffffe4750050, rt 0x558240e4
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffe9362689, rt 0x58c1663d
+srav $t0, $t1, $t2 :: rd 0xfffffffffffb7dce, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+srav $t0, $t1, $t2 :: rd 0xffffffffffffe760, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff7, rs 0xfffffffff771768c, rt 0x46863638
+srav $t0, $t1, $t2 :: rd 0xfffffffffd19282a, rs 0xfffffffffa325055, rt 0x4bc510e1
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffb, rs 0xfffffffffef34de2, rt 0x4f040d56
+srav $t0, $t1, $t2 :: rd 0xfffffffffff8d79e, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffc, rs 0xffffffffc27dede8, rt 0x738aad5c
+srav $t0, $t1, $t2 :: rd 0xfffffffffe79f659, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+srav $t0, $t1, $t2 :: rd 0xfffffffffffff2ff, rs 0xffffffffcbffd686, rt 0x7a089632
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffab, rs 0xffffffffd5b88683, rt 0x644fc637
+srav $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffee, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+srav $t0, $t1, $t2 :: rd 0xffffffffffff63ee, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+srav $t0, $t1, $t2 :: rd 0x1a, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+srav $t0, $t1, $t2 :: rd 0x36e6f, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+srav $t0, $t1, $t2 :: rd 0x608, rs 0x608edb80, rt 0xffffffffd1799b34
+srav $t0, $t1, $t2 :: rd 0xc89f8c6, rs 0x644fc637, rt 0xffffffffd5b88683
+srav $t0, $t1, $t2 :: rd 0x1e82258, rs 0x7a089632, rt 0xffffffffcbffd686
+srav $t0, $t1, $t2 :: rd 0x3f64, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+srav $t0, $t1, $t2 :: rd 0x738aad, rs 0x738aad5c, rt 0xffffffffc27dede8
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+srav $t0, $t1, $t2 :: rd 0x13c10355, rs 0x4f040d56, rt 0xfffffffffef34de2
+srav $t0, $t1, $t2 :: rd 0x25e, rs 0x4bc510e1, rt 0xfffffffffa325055
+srav $t0, $t1, $t2 :: rd 0x46863, rs 0x46863638, rt 0xfffffffff771768c
+srav $t0, $t1, $t2 :: rd 0x8, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+srav $t0, $t1, $t2 :: rd 0x1, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+srav $t0, $t1, $t2 :: rd 0x2c60b3, rs 0x58c1663d, rt 0xffffffffe9362689
+srav $t0, $t1, $t2 :: rd 0x5582, rs 0x558240e4, rt 0xffffffffe4750050
+srav $t0, $t1, $t2 :: rd 0xa286ba, rs 0x51435d53, rt 0xffffffffe0b41de7
+srav $t0, $t1, $t2 :: rd 0x9474e, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+srav $t0, $t1, $t2 :: rd 0x1, rs 0x21dc2629, rt 0xffffffff902b669d
+srav $t0, $t1, $t2 :: rd 0x2c9f00f, rs 0x2c9f00f0, rt 0xffffffff9d684044
+srav $t0, $t1, $t2 :: rd 0x50b, rs 0x285e1d47, rt 0xffffffff99a95df3
+srav $t0, $t1, $t2 :: rd 0xd8, rs 0x36194d42, rt 0xffffffff87ee0df6
+srav $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+srav $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+srav $t0, $t1, $t2 :: rd 0x76b4, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+srav $t0, $t1, $t2 :: rd 0xc5, rs 0x315d626, rt 0xffffffffb2e29692
+srav $t0, $t1, $t2 :: rd 0x3ea65c, rs 0x7d4cb91, rt 0xffffffffb6238b25
+srav $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+srav $t0, $t1, $t2 :: rd 0x1cade, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+srav $t0, $t1, $t2 :: rd 0x4046, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+srav $t0, $t1, $t2 :: rd 0xa, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+srav $t0, $t1, $t2 :: rd 0x19939b94, rs 0x19939b94, rt 0xffffffffa864db20
+srav $t0, $t1, $t2 :: rd 0x3a, rs 0x1d528623, rt 0xffffffffaca5c697
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffc, rs 0xfffffffff12f560e, rt 0x40d816ba
+srav $t0, $t1, $t2 :: rd 0xffffffffffffaf72, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+srav $t0, $t1, $t2 :: rd 0xffffffffffffff8a, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+srav $t0, $t1, $t2 :: rd 0xffffffffff8d8e1a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+srav $t0, $t1, $t2 :: rd 0xffffffffff88ac83, rs 0xffffffffe22b20d2, rt 0x53dc6066
+srav $t0, $t1, $t2 :: rd 0xfffffffffffff375, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+srav $t0, $t1, $t2 :: rd 0xffffffffffeba91b, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffef68060b, rt 0x5e9f46bf
+srav $t0, $t1, $t2 :: rd 0xfffffffff5c9eeed, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffe9f, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+srav $t0, $t1, $t2 :: rd 0xfffffffffffdea58, rs 0xffffffffdea580d8, rt 0x6f52c06c
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffb, rs 0xffffffffda649d6f, rt 0x6b93dddb
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffc423cd6a, rt 0x75d48dde
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+srav $t0, $t1, $t2 :: rd 0xffffffffffffcda1, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+srav $t0, $t1, $t2 :: rd 0xffffffffffef4fa3, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffd, rs 0xffffffffb9ff90c9, rt 0x808d07d
+srav $t0, $t1, $t2 :: rd 0xfffffffffb4bcb61, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+srav $t0, $t1, $t2 :: rd 0xfffffffffffff60f, rs 0xffffffffb07daba7, rt 0x18aeb13
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffeb8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+srav $t0, $t1, $t2 :: rd 0xffffffffd57df30a, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffa7, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+srav $t0, $t1, $t2 :: rd 0xffffffffffff46f3, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+srav $t0, $t1, $t2 :: rd 0xffffffffffffe6cd, rs 0xffffffff9b3660c6, rt 0x2ac12072
+srav $t0, $t1, $t2 :: rd 0xfffffffffcffbbeb, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff9, rs 0xffffffff92b45ba8, rt 0x23431b1c
+srav $t0, $t1, $t2 :: rd 0xfffffffffff2cea8, rs 0xffffffff9675461f, rt 0x278206ab
+srav $t0, $t1, $t2 :: rd 0xfffffffffffe20c8, rs 0xffffffff8832161a, rt 0x39c556ae
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffc6, rs 0xffffffff8cf30bad, rt 0x3d044b19
+srav $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+srav $t0, $t1, $t2 :: rd 0xffffffffffffff0a, rs 0xffffffff857130c3, rt 0x34867077
+srav $t0, $t1, $t2 :: rd 0x2ec54, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+srav $t0, $t1, $t2 :: rd 0x16, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+srav $t0, $t1, $t2 :: rd 0xa81157e, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+srav $t0, $t1, $t2 :: rd 0x50c, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+srav $t0, $t1, $t2 :: rd 0x2747, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+srav $t0, $t1, $t2 :: rd 0x1293fef, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+srav $t0, $t1, $t2 :: rd 0x43cdc0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+srav $t0, $t1, $t2 :: rd 0x3dc, rs 0x7b827d21, rt 0xffffffffca753d95
+srav $t0, $t1, $t2 :: rd 0x1fd0d825, rs 0x7f436096, rt 0xffffffffceb42022
+srav $t0, $t1, $t2 :: rd 0xe, rs 0x7200464f, rt 0xffffffffc3f706fb
+srav $t0, $t1, $t2 :: rd 0x76c15, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+srav $t0, $t1, $t2 :: rd 0x344305, rs 0x68860bfd, rt 0xffffffffd9714b49
+srav $t0, $t1, $t2 :: rd 0x1, rs 0x6c47164a, rt 0xffffffffddb056fe
+srav $t0, $t1, $t2 :: rd 0xc20861, rs 0x61043093, rt 0xffffffffd0f37027
+srav $t0, $t1, $t2 :: rd 0x65c5, rs 0x65c52d24, rt 0xffffffffd4326d90
+srav $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+srav $t0, $t1, $t2 :: rd 0x55695, rs 0x155a565e, rt 0xffffffffa4ad16ea
+srav $t0, $t1, $t2 :: rd 0x303, rs 0x18197087, rt 0xffffffffa9ee3033
+srav $t0, $t1, $t2 :: rd 0x1cd86d3, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+srav $t0, $t1, $t2 :: rd 0x14f9e9a, rs 0x29f3d35, rt 0xffffffffb3687d81
+srav $t0, $t1, $t2 :: rd 0x19, rs 0x65e2082, rt 0xffffffffb7a96036
+srav $t0, $t1, $t2 :: rd 0x163a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+srav $t0, $t1, $t2 :: rd 0xf, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+srav $t0, $t1, $t2 :: rd 0x1bc9d32, rs 0x3793a651, rt 0xffffffff8664e6e5
+srav $t0, $t1, $t2 :: rd 0xcd4, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+srav $t0, $t1, $t2 :: rd 0x7c233, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+srav $t0, $t1, $t2 :: rd 0x3, rs 0x3ad08088, rt 0xffffffff8b27c03c
+srav $t0, $t1, $t2 :: rd 0x12, rs 0x2497d08d, rt 0xffffffff95609039
+srav $t0, $t1, $t2 :: rd 0x815b, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+srav $t0, $t1, $t2 :: rd 0x5a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+srav $t0, $t1, $t2 :: rd 0x29d4f654, rs 0x29d4f654, rt 0xffffffff9823b6e0
+srav $t0, $t1, $t2 :: rd 0xfffffffffffe2d49, rs 0xffffffffc5a92679, rt 0x745e66cd
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffff0, rs 0xffffffffc1683bce, rt 0x709f7b7a
+srav $t0, $t1, $t2 :: rd 0xfffffffff98563a2, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffc8e, rs 0xffffffffc8ea00a0, rt 0x791d4014
+srav $t0, $t1, $t2 :: rd 0xffffffffffffeb56, rs 0xffffffffd6ad50a5, rt 0x675a1011
+srav $t0, $t1, $t2 :: rd 0xffffffffff49b134, rs 0xffffffffd26c4d12, rt 0x639b0da6
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+srav $t0, $t1, $t2 :: rd 0xffffffffffdbee76, rs 0xffffffffdbee767c, rt 0x6a1936c8
+srav $t0, $t1, $t2 :: rd 0xffffffffffffff1d, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+srav $t0, $t1, $t2 :: rd 0xfffffffff9d8359d, rs 0xffffffffe760d676, rt 0x569796c2
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffd, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+srav $t0, $t1, $t2 :: rd 0xfffffffffffeee2e, rs 0xffffffffeee2ed18, rt 0x5f15adac
+srav $t0, $t1, $t2 :: rd 0xfffffffffff852de, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffff, rs 0xfffffffff464a0aa, rt 0x4593e01e
+srav $t0, $t1, $t2 :: rd 0xfffffffffff24f0c, rs 0xfffffffff9278673, rt 0x48d0c6c7
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffde6, rs 0xfffffffffde69bc4, rt 0x4c11db70
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffc, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+srav $t0, $t1, $t2 :: rd 0xffffffffffe35e78, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+srav $t0, $t1, $t2 :: rd 0xfffffffffffff007, rs 0xffffffff803ac667, rt 0x31cd86d3
+srav $t0, $t1, $t2 :: rd 0xfffffffff84fbdbd, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+srav $t0, $t1, $t2 :: rd 0xffffffffcd5e45ea, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffe79, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+srav $t0, $t1, $t2 :: rd 0xffffffffffff267d, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+srav $t0, $t1, $t2 :: rd 0xffffffffffffff97, rs 0xffffffff97ffad0c, rt 0x2608edb8
+srav $t0, $t1, $t2 :: rd 0xfffffffffd7d8085, rs 0xffffffffafb010b1, rt 0x1e475005
+srav $t0, $t1, $t2 :: rd 0xffffffffffffeadc, rs 0xffffffffab710d06, rt 0x1a864db2
+srav $t0, $t1, $t2 :: rd 0xfffffffffff4c645, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+srav $t0, $t1, $t2 :: rd 0xfffffffffffffffa, rs 0xffffffffa2f33668, rt 0x130476dc
+srav $t0, $t1, $t2 :: rd 0xffffffffffffffde, rs 0xffffffffbcb4666d, rt 0xd4326d9
+srav $t0, $t1, $t2 :: rd 0xfffffffffffee1d5, rs 0xffffffffb8757bda, rt 0x9823b6e
+srav $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+srav $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x9823b6e, rs 0x9823b6e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x9823b6e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1304, rs 0x9823b6e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x130476d, rs 0x9823b6e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xd4326d9, rs 0xd4326d9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xd4326d9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a86, rs 0xd4326d9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a864db, rs 0xd4326d9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x130476dc, rs 0x130476dc, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x130476dc, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2608, rs 0x130476dc, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x2608edb, rs 0x130476dc, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x17c56b6b, rs 0x17c56b6b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x17c56b6b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2f8a, rs 0x17c56b6b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x2f8ad6d, rs 0x17c56b6b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1a864db2, rs 0x1a864db2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1a864db2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x350c, rs 0x1a864db2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x350c9b6, rs 0x1a864db2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1e475005, rs 0x1e475005, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1e475005, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3c8e, rs 0x1e475005, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x3c8ea00, rs 0x1e475005, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2608edb8, rs 0x2608edb8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2608edb8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x4c11, rs 0x2608edb8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x4c11db7, rs 0x2608edb8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x22c9f00f, rs 0x22c9f00f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x22c9f00f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x4593, rs 0x22c9f00f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x4593e01, rs 0x22c9f00f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2f8ad6d6, rs 0x2f8ad6d6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2f8ad6d6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x5f15, rs 0x2f8ad6d6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x5f15ada, rs 0x2f8ad6d6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2b4bcb61, rs 0x2b4bcb61, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2b4bcb61, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x5697, rs 0x2b4bcb61, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x569796c, rs 0x2b4bcb61, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x350c9b64, rs 0x350c9b64, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x350c9b64, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x6a19, rs 0x350c9b64, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x6a1936c, rs 0x350c9b64, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x31cd86d3, rs 0x31cd86d3, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x31cd86d3, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x639b, rs 0x31cd86d3, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x639b0da, rs 0x31cd86d3, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3c8ea00a, rs 0x3c8ea00a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3c8ea00a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x791d, rs 0x3c8ea00a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x791d401, rs 0x3c8ea00a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x384fbdbd, rs 0x384fbdbd, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x384fbdbd, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x709f, rs 0x384fbdbd, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x709f7b7, rs 0x384fbdbd, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4c11db70, rs 0x4c11db70, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4c11db70, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x9823, rs 0x4c11db70, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x9823b6e, rs 0x4c11db70, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x48d0c6c7, rs 0x48d0c6c7, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x48d0c6c7, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x91a1, rs 0x48d0c6c7, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x91a18d8, rs 0x48d0c6c7, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4593e01e, rs 0x4593e01e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4593e01e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x8b27, rs 0x4593e01e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x8b27c03, rs 0x4593e01e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4152fda9, rs 0x4152fda9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4152fda9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x82a5, rs 0x4152fda9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x82a5fb5, rs 0x4152fda9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5f15adac, rs 0x5f15adac, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5f15adac, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xbe2b, rs 0x5f15adac, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xbe2b5b5, rs 0x5f15adac, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5bd4b01b, rs 0x5bd4b01b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5bd4b01b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xb7a9, rs 0x5bd4b01b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xb7a9603, rs 0x5bd4b01b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x569796c2, rs 0x569796c2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x569796c2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xad2f, rs 0x569796c2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xad2f2d8, rs 0x569796c2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x52568b75, rs 0x52568b75, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x52568b75, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa4ad, rs 0x52568b75, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa4ad16e, rs 0x52568b75, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6a1936c8, rs 0x6a1936c8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6a1936c8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xd432, rs 0x6a1936c8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xd4326d9, rs 0x6a1936c8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6ed82b7f, rs 0x6ed82b7f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6ed82b7f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xddb0, rs 0x6ed82b7f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xddb056f, rs 0x6ed82b7f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x639b0da6, rs 0x639b0da6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x639b0da6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xc736, rs 0x639b0da6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xc7361b4, rs 0x639b0da6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x675a1011, rs 0x675a1011, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x675a1011, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xceb4, rs 0x675a1011, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xceb4202, rs 0x675a1011, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x791d4014, rs 0x791d4014, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x791d4014, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xf23a, rs 0x791d4014, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xf23a802, rs 0x791d4014, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7ddc5da3, rs 0x7ddc5da3, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7ddc5da3, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xfbb8, rs 0x7ddc5da3, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xfbb8bb4, rs 0x7ddc5da3, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x709f7b7a, rs 0x709f7b7a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x709f7b7a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xe13e, rs 0x709f7b7a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xe13ef6f, rs 0x709f7b7a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x745e66cd, rs 0x745e66cd, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x745e66cd, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xe8bc, rs 0x745e66cd, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xe8bccd9, rs 0x745e66cd, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9823b6e0, rs 0xffffffff9823b6e0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9823b6e0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13047, rs 0xffffffff9823b6e0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x130476dc, rs 0xffffffff9823b6e0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9ce2ab57, rs 0xffffffff9ce2ab57, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9ce2ab57, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x139c5, rs 0xffffffff9ce2ab57, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x139c556a, rs 0xffffffff9ce2ab57, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff91a18d8e, rs 0xffffffff91a18d8e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff91a18d8e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12343, rs 0xffffffff91a18d8e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x123431b1, rs 0xffffffff91a18d8e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff95609039, rs 0xffffffff95609039, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff95609039, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12ac1, rs 0xffffffff95609039, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x12ac1207, rs 0xffffffff95609039, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8b27c03c, rs 0xffffffff8b27c03c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8b27c03c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1164f, rs 0xffffffff8b27c03c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1164f807, rs 0xffffffff8b27c03c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8fe6dd8b, rs 0xffffffff8fe6dd8b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8fe6dd8b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x11fcd, rs 0xffffffff8fe6dd8b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x11fcdbb1, rs 0xffffffff8fe6dd8b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff82a5fb52, rs 0xffffffff82a5fb52, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff82a5fb52, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1054b, rs 0xffffffff82a5fb52, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1054bf6a, rs 0xffffffff82a5fb52, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8664e6e5, rs 0xffffffff8664e6e5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8664e6e5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x10cc9, rs 0xffffffff8664e6e5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x10cc9cdc, rs 0xffffffff8664e6e5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbe2b5b58, rs 0xffffffffbe2b5b58, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbe2b5b58, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x17c56, rs 0xffffffffbe2b5b58, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x17c56b6b, rs 0xffffffffbe2b5b58, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbaea46ef, rs 0xffffffffbaea46ef, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbaea46ef, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x175d4, rs 0xffffffffbaea46ef, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x175d48dd, rs 0xffffffffbaea46ef, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb7a96036, rs 0xffffffffb7a96036, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb7a96036, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x16f52, rs 0xffffffffb7a96036, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x16f52c06, rs 0xffffffffb7a96036, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb3687d81, rs 0xffffffffb3687d81, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb3687d81, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x166d0, rs 0xffffffffb3687d81, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x166d0fb0, rs 0xffffffffb3687d81, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffad2f2d84, rs 0xffffffffad2f2d84, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffad2f2d84, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x15a5e, rs 0xffffffffad2f2d84, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x15a5e5b0, rs 0xffffffffad2f2d84, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa9ee3033, rs 0xffffffffa9ee3033, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa9ee3033, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x153dc, rs 0xffffffffa9ee3033, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x153dc606, rs 0xffffffffa9ee3033, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa4ad16ea, rs 0xffffffffa4ad16ea, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa4ad16ea, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1495a, rs 0xffffffffa4ad16ea, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1495a2dd, rs 0xffffffffa4ad16ea, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa06c0b5d, rs 0xffffffffa06c0b5d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa06c0b5d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x140d8, rs 0xffffffffa06c0b5d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x140d816b, rs 0xffffffffa06c0b5d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd4326d90, rs 0xffffffffd4326d90, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd4326d90, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a864, rs 0xffffffffd4326d90, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a864db2, rs 0xffffffffd4326d90, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd0f37027, rs 0xffffffffd0f37027, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd0f37027, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a1e6, rs 0xffffffffd0f37027, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a1e6e04, rs 0xffffffffd0f37027, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffddb056fe, rs 0xffffffffddb056fe, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffddb056fe, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1bb60, rs 0xffffffffddb056fe, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1bb60adf, rs 0xffffffffddb056fe, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd9714b49, rs 0xffffffffd9714b49, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd9714b49, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1b2e2, rs 0xffffffffd9714b49, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1b2e2969, rs 0xffffffffd9714b49, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc7361b4c, rs 0xffffffffc7361b4c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc7361b4c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x18e6c, rs 0xffffffffc7361b4c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x18e6c369, rs 0xffffffffc7361b4c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc3f706fb, rs 0xffffffffc3f706fb, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc3f706fb, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x187ee, rs 0xffffffffc3f706fb, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x187ee0df, rs 0xffffffffc3f706fb, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffceb42022, rs 0xffffffffceb42022, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffceb42022, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x19d68, rs 0xffffffffceb42022, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x19d68404, rs 0xffffffffceb42022, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffca753d95, rs 0xffffffffca753d95, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffca753d95, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x194ea, rs 0xffffffffca753d95, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x194ea7b2, rs 0xffffffffca753d95, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff23a8028, rs 0xfffffffff23a8028, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff23a8028, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1e475, rs 0xfffffffff23a8028, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1e475005, rs 0xfffffffff23a8028, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff6fb9d9f, rs 0xfffffffff6fb9d9f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff6fb9d9f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1edf7, rs 0xfffffffff6fb9d9f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1edf73b3, rs 0xfffffffff6fb9d9f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffffbb8bb46, rs 0xfffffffffbb8bb46, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffbb8bb46, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1f771, rs 0xfffffffffbb8bb46, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1f771768, rs 0xfffffffffbb8bb46, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffff79a6f1, rs 0xffffffffff79a6f1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffff79a6f1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1fef3, rs 0xffffffffff79a6f1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1fef34de, rs 0xffffffffff79a6f1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe13ef6f4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1c27d, rs 0xffffffffe13ef6f4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1c27dede, rs 0xffffffffe13ef6f4, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe5ffeb43, rs 0xffffffffe5ffeb43, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe5ffeb43, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1cbff, rs 0xffffffffe5ffeb43, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1cbffd68, rs 0xffffffffe5ffeb43, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe8bccd9a, rs 0xffffffffe8bccd9a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe8bccd9a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1d179, rs 0xffffffffe8bccd9a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1d1799b3, rs 0xffffffffe8bccd9a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffec7dd02d, rs 0xffffffffec7dd02d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffec7dd02d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1d8fb, rs 0xffffffffec7dd02d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1d8fba05, rs 0xffffffffec7dd02d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x34867077, rs 0x34867077, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x34867077, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x690c, rs 0x34867077, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x690ce0e, rs 0x34867077, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x30476dc0, rs 0x30476dc0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x30476dc0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x608e, rs 0x30476dc0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x608edb8, rs 0x30476dc0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3d044b19, rs 0x3d044b19, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3d044b19, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x7a08, rs 0x3d044b19, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x7a08963, rs 0x3d044b19, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x39c556ae, rs 0x39c556ae, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x39c556ae, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x738a, rs 0x39c556ae, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x738aad5, rs 0x39c556ae, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x278206ab, rs 0x278206ab, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x278206ab, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x4f04, rs 0x278206ab, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x4f040d5, rs 0x278206ab, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x23431b1c, rs 0x23431b1c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x23431b1c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x4686, rs 0x23431b1c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x4686363, rs 0x23431b1c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2e003dc5, rs 0x2e003dc5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2e003dc5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x5c00, rs 0x2e003dc5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x5c007b8, rs 0x2e003dc5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2ac12072, rs 0x2ac12072, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2ac12072, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x5582, rs 0x2ac12072, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x558240e, rs 0x2ac12072, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x128e9dcf, rs 0x128e9dcf, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x128e9dcf, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x251d, rs 0x128e9dcf, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x251d3b9, rs 0x128e9dcf, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x164f8078, rs 0x164f8078, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x164f8078, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2c9f, rs 0x164f8078, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x2c9f00f, rs 0x164f8078, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1b0ca6a1, rs 0x1b0ca6a1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1b0ca6a1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3619, rs 0x1b0ca6a1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x36194d4, rs 0x1b0ca6a1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1fcdbb16, rs 0x1fcdbb16, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1fcdbb16, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3f9b, rs 0x1fcdbb16, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x3f9b762, rs 0x1fcdbb16, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x18aeb13, rs 0x18aeb13, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x18aeb13, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x315, rs 0x18aeb13, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x315d62, rs 0x18aeb13, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x54bf6a4, rs 0x54bf6a4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x54bf6a4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa97, rs 0x54bf6a4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa97ed4, rs 0x54bf6a4, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x808d07d, rs 0x808d07d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x808d07d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1011, rs 0x808d07d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1011a0f, rs 0x808d07d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xcc9cdca, rs 0xcc9cdca, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xcc9cdca, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1993, rs 0xcc9cdca, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x19939b9, rs 0xcc9cdca, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7897ab07, rs 0x7897ab07, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7897ab07, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xf12f, rs 0x7897ab07, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xf12f560, rs 0x7897ab07, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7c56b6b0, rs 0x7c56b6b0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7c56b6b0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xf8ad, rs 0x7c56b6b0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xf8ad6d6, rs 0x7c56b6b0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x71159069, rs 0x71159069, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x71159069, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xe22b, rs 0x71159069, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xe22b20d, rs 0x71159069, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x75d48dde, rs 0x75d48dde, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x75d48dde, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xeba9, rs 0x75d48dde, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xeba91bb, rs 0x75d48dde, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6b93dddb, rs 0x6b93dddb, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6b93dddb, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xd727, rs 0x6b93dddb, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xd727bbb, rs 0x6b93dddb, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6f52c06c, rs 0x6f52c06c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6f52c06c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xdea5, rs 0x6f52c06c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xdea580d, rs 0x6f52c06c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6211e6b5, rs 0x6211e6b5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6211e6b5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xc423, rs 0x6211e6b5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xc423cd6, rs 0x6211e6b5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x66d0fb02, rs 0x66d0fb02, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x66d0fb02, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xcda1, rs 0x66d0fb02, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xcda1f60, rs 0x66d0fb02, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5e9f46bf, rs 0x5e9f46bf, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5e9f46bf, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xbd3e, rs 0x5e9f46bf, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xbd3e8d7, rs 0x5e9f46bf, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5a5e5b08, rs 0x5a5e5b08, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5a5e5b08, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xb4bc, rs 0x5a5e5b08, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xb4bcb61, rs 0x5a5e5b08, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x571d7dd1, rs 0x571d7dd1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x571d7dd1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xae3a, rs 0x571d7dd1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xae3afba, rs 0x571d7dd1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x53dc6066, rs 0x53dc6066, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x53dc6066, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa7b8, rs 0x53dc6066, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa7b8c0c, rs 0x53dc6066, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4d9b3063, rs 0x4d9b3063, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4d9b3063, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x9b36, rs 0x4d9b3063, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x9b3660c, rs 0x4d9b3063, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x495a2dd4, rs 0x495a2dd4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x495a2dd4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x92b4, rs 0x495a2dd4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x92b45ba, rs 0x495a2dd4, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x44190b0d, rs 0x44190b0d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x44190b0d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x8832, rs 0x44190b0d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x8832161, rs 0x44190b0d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x40d816ba, rs 0x40d816ba, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x40d816ba, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x81b0, rs 0x40d816ba, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x81b02d7, rs 0x40d816ba, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffaca5c697, rs 0xffffffffaca5c697, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffaca5c697, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1594b, rs 0xffffffffaca5c697, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1594b8d2, rs 0xffffffffaca5c697, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa864db20, rs 0xffffffffa864db20, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa864db20, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x150c9, rs 0xffffffffa864db20, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x150c9b64, rs 0xffffffffa864db20, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa527fdf9, rs 0xffffffffa527fdf9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa527fdf9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x14a4f, rs 0xffffffffa527fdf9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x14a4ffbf, rs 0xffffffffa527fdf9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa1e6e04e, rs 0xffffffffa1e6e04e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa1e6e04e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x143cd, rs 0xffffffffa1e6e04e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x143cdc09, rs 0xffffffffa1e6e04e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbfa1b04b, rs 0xffffffffbfa1b04b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbfa1b04b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x17f43, rs 0xffffffffbfa1b04b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x17f43609, rs 0xffffffffbfa1b04b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbb60adfc, rs 0xffffffffbb60adfc, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbb60adfc, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x176c1, rs 0xffffffffbb60adfc, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x176c15bf, rs 0xffffffffbb60adfc, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb6238b25, rs 0xffffffffb6238b25, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb6238b25, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x16c47, rs 0xffffffffb6238b25, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x16c47164, rs 0xffffffffb6238b25, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb2e29692, rs 0xffffffffb2e29692, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb2e29692, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x165c5, rs 0xffffffffb2e29692, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x165c52d2, rs 0xffffffffb2e29692, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8aad2b2f, rs 0xffffffff8aad2b2f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8aad2b2f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1155a, rs 0xffffffff8aad2b2f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1155a565, rs 0xffffffff8aad2b2f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff87ee0df6, rs 0xffffffff87ee0df6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff87ee0df6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x10fdc, rs 0xffffffff87ee0df6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x10fdc1be, rs 0xffffffff87ee0df6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff99a95df3, rs 0xffffffff99a95df3, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff99a95df3, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13352, rs 0xffffffff99a95df3, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x13352bbe, rs 0xffffffff99a95df3, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9d684044, rs 0xffffffff9d684044, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9d684044, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13ad0, rs 0xffffffff9d684044, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x13ad0808, rs 0xffffffff9d684044, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff902b669d, rs 0xffffffff902b669d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff902b669d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12056, rs 0xffffffff902b669d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x12056cd3, rs 0xffffffff902b669d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff94ea7b2a, rs 0xffffffff94ea7b2a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff94ea7b2a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x129d4, rs 0xffffffff94ea7b2a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x129d4f65, rs 0xffffffff94ea7b2a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe0b41de7, rs 0xffffffffe0b41de7, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe0b41de7, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1c168, rs 0xffffffffe0b41de7, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1c1683bc, rs 0xffffffffe0b41de7, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe4750050, rs 0xffffffffe4750050, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe4750050, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1c8ea, rs 0xffffffffe4750050, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1c8ea00a, rs 0xffffffffe4750050, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe9362689, rs 0xffffffffe9362689, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe9362689, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1d26c, rs 0xffffffffe9362689, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1d26c4d1, rs 0xffffffffe9362689, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffedf73b3e, rs 0xffffffffedf73b3e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffedf73b3e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1dbee, rs 0xffffffffedf73b3e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1dbee767, rs 0xffffffffedf73b3e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff3b06b3b, rs 0xfffffffff3b06b3b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff3b06b3b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1e760, rs 0xfffffffff3b06b3b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1e760d67, rs 0xfffffffff3b06b3b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff771768c, rs 0xfffffffff771768c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff771768c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1eee2, rs 0xfffffffff771768c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1eee2ed1, rs 0xfffffffff771768c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffffa325055, rs 0xfffffffffa325055, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffa325055, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1f464, rs 0xfffffffffa325055, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1f464a0a, rs 0xfffffffffa325055, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffffef34de2, rs 0xfffffffffef34de2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffef34de2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1fde6, rs 0xfffffffffef34de2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1fde69bc, rs 0xfffffffffef34de2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc6bcf05f, rs 0xffffffffc6bcf05f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc6bcf05f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x18d79, rs 0xffffffffc6bcf05f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x18d79e0b, rs 0xffffffffc6bcf05f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc27dede8, rs 0xffffffffc27dede8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc27dede8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x184fb, rs 0xffffffffc27dede8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x184fbdbd, rs 0xffffffffc27dede8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffcf3ecb31, rs 0xffffffffcf3ecb31, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcf3ecb31, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x19e7d, rs 0xffffffffcf3ecb31, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x19e7d966, rs 0xffffffffcf3ecb31, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffcbffd686, rs 0xffffffffcbffd686, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcbffd686, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x197ff, rs 0xffffffffcbffd686, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x197ffad0, rs 0xffffffffcbffd686, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd5b88683, rs 0xffffffffd5b88683, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd5b88683, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ab71, rs 0xffffffffd5b88683, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ab710d0, rs 0xffffffffd5b88683, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd1799b34, rs 0xffffffffd1799b34, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd1799b34, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a2f3, rs 0xffffffffd1799b34, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a2f3366, rs 0xffffffffd1799b34, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffdc3abded, rs 0xffffffffdc3abded, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdc3abded, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1b875, rs 0xffffffffdc3abded, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1b8757bd, rs 0xffffffffdc3abded, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd8fba05a, rs 0xffffffffd8fba05a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd8fba05a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1b1f7, rs 0xffffffffd8fba05a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1b1f740b, rs 0xffffffffd8fba05a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x690ce0ee, rs 0x690ce0ee, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x690ce0ee, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xd219, rs 0x690ce0ee, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xd219c1d, rs 0x690ce0ee, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6dcdfd59, rs 0x6dcdfd59, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6dcdfd59, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xdb9b, rs 0x6dcdfd59, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xdb9bfab, rs 0x6dcdfd59, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x608edb80, rs 0x608edb80, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x608edb80, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xc11d, rs 0x608edb80, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xc11db70, rs 0x608edb80, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x644fc637, rs 0x644fc637, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x644fc637, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xc89f, rs 0x644fc637, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xc89f8c6, rs 0x644fc637, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7a089632, rs 0x7a089632, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7a089632, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xf411, rs 0x7a089632, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xf4112c6, rs 0x7a089632, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7ec98b85, rs 0x7ec98b85, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7ec98b85, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xfd93, rs 0x7ec98b85, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xfd93170, rs 0x7ec98b85, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x738aad5c, rs 0x738aad5c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x738aad5c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xe715, rs 0x738aad5c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xe7155ab, rs 0x738aad5c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x774bb0eb, rs 0x774bb0eb, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x774bb0eb, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xee97, rs 0x774bb0eb, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xee9761d, rs 0x774bb0eb, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4f040d56, rs 0x4f040d56, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4f040d56, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x9e08, rs 0x4f040d56, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x9e081aa, rs 0x4f040d56, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4bc510e1, rs 0x4bc510e1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4bc510e1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x978a, rs 0x4bc510e1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x978a21c, rs 0x4bc510e1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x46863638, rs 0x46863638, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x46863638, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x8d0c, rs 0x46863638, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x8d0c6c7, rs 0x46863638, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x42472b8f, rs 0x42472b8f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x42472b8f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x848e, rs 0x42472b8f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x848e571, rs 0x42472b8f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5c007b8a, rs 0x5c007b8a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5c007b8a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xb800, rs 0x5c007b8a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xb800f71, rs 0x5c007b8a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x58c1663d, rs 0x58c1663d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x58c1663d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xb182, rs 0x58c1663d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xb182cc7, rs 0x58c1663d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x558240e4, rs 0x558240e4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x558240e4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xab04, rs 0x558240e4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xab0481c, rs 0x558240e4, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x51435d53, rs 0x51435d53, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x51435d53, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa286, rs 0x51435d53, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa286baa, rs 0x51435d53, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x251d3b9e, rs 0x251d3b9e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x251d3b9e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x4a3a, rs 0x251d3b9e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x4a3a773, rs 0x251d3b9e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x21dc2629, rs 0x21dc2629, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x21dc2629, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x43b8, rs 0x21dc2629, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x43b84c5, rs 0x21dc2629, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2c9f00f0, rs 0x2c9f00f0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2c9f00f0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x593e, rs 0x2c9f00f0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x593e01e, rs 0x2c9f00f0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x285e1d47, rs 0x285e1d47, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x285e1d47, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x50bc, rs 0x285e1d47, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x50bc3a8, rs 0x285e1d47, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x36194d42, rs 0x36194d42, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x36194d42, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x6c32, rs 0x36194d42, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x6c329a8, rs 0x36194d42, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x32d850f5, rs 0x32d850f5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x32d850f5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x65b0, rs 0x32d850f5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x65b0a1e, rs 0x32d850f5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3f9b762c, rs 0x3f9b762c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3f9b762c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x7f36, rs 0x3f9b762c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x7f36ec5, rs 0x3f9b762c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3b5a6b9b, rs 0x3b5a6b9b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3b5a6b9b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x76b4, rs 0x3b5a6b9b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x76b4d73, rs 0x3b5a6b9b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x315d626, rs 0x315d626, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x315d626, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x62b, rs 0x315d626, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x62bac4, rs 0x315d626, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7d4cb91, rs 0x7d4cb91, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7d4cb91, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xfa9, rs 0x7d4cb91, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xfa9972, rs 0x7d4cb91, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xa97ed48, rs 0xa97ed48, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xa97ed48, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x152f, rs 0xa97ed48, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x152fda9, rs 0xa97ed48, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xe56f0ff, rs 0xe56f0ff, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xe56f0ff, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1cad, rs 0xe56f0ff, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1cade1f, rs 0xe56f0ff, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1011a0fa, rs 0x1011a0fa, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1011a0fa, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2023, rs 0x1011a0fa, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x202341f, rs 0x1011a0fa, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x14d0bd4d, rs 0x14d0bd4d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x14d0bd4d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x29a1, rs 0x14d0bd4d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x29a17a9, rs 0x14d0bd4d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x19939b94, rs 0x19939b94, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x19939b94, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3327, rs 0x19939b94, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x3327372, rs 0x19939b94, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1d528623, rs 0x1d528623, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1d528623, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3aa5, rs 0x1d528623, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x3aa50c4, rs 0x1d528623, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff12f560e, rs 0xfffffffff12f560e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff12f560e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1e25e, rs 0xfffffffff12f560e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1e25eac1, rs 0xfffffffff12f560e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff5ee4bb9, rs 0xfffffffff5ee4bb9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff5ee4bb9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ebdc, rs 0xfffffffff5ee4bb9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ebdc977, rs 0xfffffffff5ee4bb9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff8ad6d60, rs 0xfffffffff8ad6d60, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff8ad6d60, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1f15a, rs 0xfffffffff8ad6d60, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1f15adac, rs 0xfffffffff8ad6d60, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffffc6c70d7, rs 0xfffffffffc6c70d7, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffc6c70d7, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1f8d8, rs 0xfffffffffc6c70d7, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1f8d8e1a, rs 0xfffffffffc6c70d7, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe22b20d2, rs 0xffffffffe22b20d2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe22b20d2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1c456, rs 0xffffffffe22b20d2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1c45641a, rs 0xffffffffe22b20d2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe6ea3d65, rs 0xffffffffe6ea3d65, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe6ea3d65, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1cdd4, rs 0xffffffffe6ea3d65, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1cdd47ac, rs 0xffffffffe6ea3d65, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffeba91bbc, rs 0xffffffffeba91bbc, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffeba91bbc, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1d752, rs 0xffffffffeba91bbc, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1d752377, rs 0xffffffffeba91bbc, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffef68060b, rs 0xffffffffef68060b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffef68060b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ded0, rs 0xffffffffef68060b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ded00c1, rs 0xffffffffef68060b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd727bbb6, rs 0xffffffffd727bbb6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd727bbb6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ae4f, rs 0xffffffffd727bbb6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ae4f776, rs 0xffffffffd727bbb6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd3e6a601, rs 0xffffffffd3e6a601, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd3e6a601, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a7cd, rs 0xffffffffd3e6a601, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a7cd4c0, rs 0xffffffffd3e6a601, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffdea580d8, rs 0xffffffffdea580d8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdea580d8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1bd4b, rs 0xffffffffdea580d8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1bd4b01b, rs 0xffffffffdea580d8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffda649d6f, rs 0xffffffffda649d6f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffda649d6f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1b4c9, rs 0xffffffffda649d6f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1b4c93ad, rs 0xffffffffda649d6f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc423cd6a, rs 0xffffffffc423cd6a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc423cd6a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x18847, rs 0xffffffffc423cd6a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x188479ad, rs 0xffffffffc423cd6a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffcda1f604, rs 0xffffffffcda1f604, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcda1f604, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x19b43, rs 0xffffffffcda1f604, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x19b43ec0, rs 0xffffffffcda1f604, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x0, rs 0x0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x0, rs 0x0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x0, rs 0x0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbd3e8d7e, rs 0xffffffffbd3e8d7e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbd3e8d7e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x17a7d, rs 0xffffffffbd3e8d7e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x17a7d1af, rs 0xffffffffbd3e8d7e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb9ff90c9, rs 0xffffffffb9ff90c9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb9ff90c9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x173ff, rs 0xffffffffb9ff90c9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x173ff219, rs 0xffffffffb9ff90c9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb4bcb610, rs 0xffffffffb4bcb610, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb4bcb610, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x16979, rs 0xffffffffb4bcb610, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x169796c2, rs 0xffffffffb4bcb610, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb07daba7, rs 0xffffffffb07daba7, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb07daba7, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x160fb, rs 0xffffffffb07daba7, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x160fb574, rs 0xffffffffb07daba7, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffae3afba2, rs 0xffffffffae3afba2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffae3afba2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x15c75, rs 0xffffffffae3afba2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x15c75f74, rs 0xffffffffae3afba2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffaafbe615, rs 0xffffffffaafbe615, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffaafbe615, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x155f7, rs 0xffffffffaafbe615, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x155f7cc2, rs 0xffffffffaafbe615, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa7b8c0cc, rs 0xffffffffa7b8c0cc, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa7b8c0cc, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x14f71, rs 0xffffffffa7b8c0cc, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x14f71819, rs 0xffffffffa7b8c0cc, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa379dd7b, rs 0xffffffffa379dd7b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa379dd7b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x146f3, rs 0xffffffffa379dd7b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x146f3baf, rs 0xffffffffa379dd7b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9b3660c6, rs 0xffffffff9b3660c6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9b3660c6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1366c, rs 0xffffffff9b3660c6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1366cc18, rs 0xffffffff9b3660c6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9ff77d71, rs 0xffffffff9ff77d71, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9ff77d71, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13fee, rs 0xffffffff9ff77d71, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x13feefae, rs 0xffffffff9ff77d71, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff92b45ba8, rs 0xffffffff92b45ba8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff92b45ba8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12568, rs 0xffffffff92b45ba8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x12568b75, rs 0xffffffff92b45ba8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9675461f, rs 0xffffffff9675461f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9675461f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12cea, rs 0xffffffff9675461f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x12cea8c3, rs 0xffffffff9675461f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8832161a, rs 0xffffffff8832161a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8832161a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x11064, rs 0xffffffff8832161a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x110642c3, rs 0xffffffff8832161a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8cf30bad, rs 0xffffffff8cf30bad, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8cf30bad, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x119e6, rs 0xffffffff8cf30bad, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x119e6175, rs 0xffffffff8cf30bad, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff81b02d74, rs 0xffffffff81b02d74, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff81b02d74, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x10360, rs 0xffffffff81b02d74, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x103605ae, rs 0xffffffff81b02d74, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff857130c3, rs 0xffffffff857130c3, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff857130c3, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x10ae2, rs 0xffffffff857130c3, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x10ae2618, rs 0xffffffff857130c3, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5d8a9099, rs 0x5d8a9099, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5d8a9099, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xbb15, rs 0x5d8a9099, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xbb15213, rs 0x5d8a9099, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x594b8d2e, rs 0x594b8d2e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x594b8d2e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xb297, rs 0x594b8d2e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xb2971a5, rs 0x594b8d2e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x5408abf7, rs 0x5408abf7, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x5408abf7, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa811, rs 0x5408abf7, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa81157e, rs 0x5408abf7, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x50c9b640, rs 0x50c9b640, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x50c9b640, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xa193, rs 0x50c9b640, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xa1936c8, rs 0x50c9b640, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4e8ee645, rs 0x4e8ee645, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4e8ee645, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x9d1d, rs 0x4e8ee645, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x9d1dcc8, rs 0x4e8ee645, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x4a4ffbf2, rs 0x4a4ffbf2, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x4a4ffbf2, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x949f, rs 0x4a4ffbf2, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x949ff7e, rs 0x4a4ffbf2, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x470cdd2b, rs 0x470cdd2b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x470cdd2b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x8e19, rs 0x470cdd2b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x8e19ba5, rs 0x470cdd2b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x43cdc09c, rs 0x43cdc09c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x43cdc09c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x879b, rs 0x43cdc09c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x879b813, rs 0x43cdc09c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7b827d21, rs 0x7b827d21, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7b827d21, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xf704, rs 0x7b827d21, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xf704fa4, rs 0x7b827d21, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7f436096, rs 0x7f436096, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7f436096, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xfe86, rs 0x7f436096, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xfe86c12, rs 0x7f436096, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x7200464f, rs 0x7200464f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x7200464f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xe400, rs 0x7200464f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xe4008c9, rs 0x7200464f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x76c15bf8, rs 0x76c15bf8, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x76c15bf8, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xed82, rs 0x76c15bf8, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xed82b7f, rs 0x76c15bf8, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x68860bfd, rs 0x68860bfd, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x68860bfd, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xd10c, rs 0x68860bfd, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xd10c17f, rs 0x68860bfd, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x6c47164a, rs 0x6c47164a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x6c47164a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xd88e, rs 0x6c47164a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xd88e2c9, rs 0x6c47164a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x61043093, rs 0x61043093, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x61043093, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xc208, rs 0x61043093, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xc208612, rs 0x61043093, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x65c52d24, rs 0x65c52d24, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x65c52d24, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xcb8a, rs 0x65c52d24, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xcb8a5a4, rs 0x65c52d24, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x119b4be9, rs 0x119b4be9, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x119b4be9, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2336, rs 0x119b4be9, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x233697d, rs 0x119b4be9, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x155a565e, rs 0x155a565e, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x155a565e, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x2ab4, rs 0x155a565e, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x2ab4acb, rs 0x155a565e, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x18197087, rs 0x18197087, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x18197087, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x3032, rs 0x18197087, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x3032e10, rs 0x18197087, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x1cd86d30, rs 0x1cd86d30, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x1cd86d30, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x39b0, rs 0x1cd86d30, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x39b0da6, rs 0x1cd86d30, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x29f3d35, rs 0x29f3d35, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x29f3d35, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x53e, rs 0x29f3d35, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x53e7a6, rs 0x29f3d35, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x65e2082, rs 0x65e2082, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x65e2082, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0xcbc, rs 0x65e2082, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0xcbc410, rs 0x65e2082, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xb1d065b, rs 0xb1d065b, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xb1d065b, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x163a, rs 0xb1d065b, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x163a0cb, rs 0xb1d065b, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfdc1bec, rs 0xfdc1bec, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0xfdc1bec, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1fb8, rs 0xfdc1bec, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1fb837d, rs 0xfdc1bec, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3793a651, rs 0x3793a651, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3793a651, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x6f27, rs 0x3793a651, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x6f274ca, rs 0x3793a651, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3352bbe6, rs 0x3352bbe6, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3352bbe6, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x66a5, rs 0x3352bbe6, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x66a577c, rs 0x3352bbe6, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3e119d3f, rs 0x3e119d3f, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3e119d3f, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x7c23, rs 0x3e119d3f, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x7c233a7, rs 0x3e119d3f, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x3ad08088, rs 0x3ad08088, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x3ad08088, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x75a1, rs 0x3ad08088, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x75a1011, rs 0x3ad08088, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2497d08d, rs 0x2497d08d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2497d08d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x492f, rs 0x2497d08d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x492fa11, rs 0x2497d08d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2056cd3a, rs 0x2056cd3a, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2056cd3a, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x40ad, rs 0x2056cd3a, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x40ad9a7, rs 0x2056cd3a, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x2d15ebe3, rs 0x2d15ebe3, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x2d15ebe3, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x5a2b, rs 0x2d15ebe3, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x5a2bd7c, rs 0x2d15ebe3, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0x29d4f654, rs 0x29d4f654, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x0, rs 0x29d4f654, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x53a9, rs 0x29d4f654, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x53a9eca, rs 0x29d4f654, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc5a92679, rs 0xffffffffc5a92679, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc5a92679, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x18b52, rs 0xffffffffc5a92679, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x18b524cf, rs 0xffffffffc5a92679, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc1683bce, rs 0xffffffffc1683bce, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc1683bce, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x182d0, rs 0xffffffffc1683bce, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x182d0779, rs 0xffffffffc1683bce, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffcc2b1d17, rs 0xffffffffcc2b1d17, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffcc2b1d17, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x19856, rs 0xffffffffcc2b1d17, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x198563a2, rs 0xffffffffcc2b1d17, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffc8ea00a0, rs 0xffffffffc8ea00a0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffc8ea00a0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x191d4, rs 0xffffffffc8ea00a0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x191d4014, rs 0xffffffffc8ea00a0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd6ad50a5, rs 0xffffffffd6ad50a5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd6ad50a5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ad5a, rs 0xffffffffd6ad50a5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ad5aa14, rs 0xffffffffd6ad50a5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffd26c4d12, rs 0xffffffffd26c4d12, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffd26c4d12, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1a4d8, rs 0xffffffffd26c4d12, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1a4d89a2, rs 0xffffffffd26c4d12, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffdf2f6bcb, rs 0xffffffffdf2f6bcb, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdf2f6bcb, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1be5e, rs 0xffffffffdf2f6bcb, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1be5ed79, rs 0xffffffffdf2f6bcb, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffdbee767c, rs 0xffffffffdbee767c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffdbee767c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1b7dc, rs 0xffffffffdbee767c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1b7dcecf, rs 0xffffffffdbee767c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe3a1cbc1, rs 0xffffffffe3a1cbc1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe3a1cbc1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1c743, rs 0xffffffffe3a1cbc1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1c743978, rs 0xffffffffe3a1cbc1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffe760d676, rs 0xffffffffe760d676, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffe760d676, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1cec1, rs 0xffffffffe760d676, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1cec1ace, rs 0xffffffffe760d676, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffea23f0af, rs 0xffffffffea23f0af, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffea23f0af, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1d447, rs 0xffffffffea23f0af, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1d447e15, rs 0xffffffffea23f0af, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffeee2ed18, rs 0xffffffffeee2ed18, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffeee2ed18, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1ddc5, rs 0xffffffffeee2ed18, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1ddc5da3, rs 0xffffffffeee2ed18, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff0a5bd1d, rs 0xfffffffff0a5bd1d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff0a5bd1d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1e14b, rs 0xfffffffff0a5bd1d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1e14b7a3, rs 0xfffffffff0a5bd1d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff464a0aa, rs 0xfffffffff464a0aa, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff464a0aa, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1e8c9, rs 0xfffffffff464a0aa, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1e8c9415, rs 0xfffffffff464a0aa, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffff9278673, rs 0xfffffffff9278673, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffff9278673, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1f24f, rs 0xfffffffff9278673, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1f24f0ce, rs 0xfffffffff9278673, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xfffffffffde69bc4, rs 0xfffffffffde69bc4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xfffffffffde69bc4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1fbcd, rs 0xfffffffffde69bc4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1fbcd378, rs 0xfffffffffde69bc4, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff89b8fd09, rs 0xffffffff89b8fd09, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff89b8fd09, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x11371, rs 0xffffffff89b8fd09, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x11371fa1, rs 0xffffffff89b8fd09, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff8d79e0be, rs 0xffffffff8d79e0be, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff8d79e0be, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x11af3, rs 0xffffffff8d79e0be, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x11af3c17, rs 0xffffffff8d79e0be, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff803ac667, rs 0xffffffff803ac667, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff803ac667, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x10075, rs 0xffffffff803ac667, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x100758cc, rs 0xffffffff803ac667, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff84fbdbd0, rs 0xffffffff84fbdbd0, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff84fbdbd0, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x109f7, rs 0xffffffff84fbdbd0, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x109f7b7a, rs 0xffffffff84fbdbd0, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9abc8bd5, rs 0xffffffff9abc8bd5, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9abc8bd5, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13579, rs 0xffffffff9abc8bd5, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1357917a, rs 0xffffffff9abc8bd5, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff9e7d9662, rs 0xffffffff9e7d9662, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff9e7d9662, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x13cfb, rs 0xffffffff9e7d9662, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x13cfb2cc, rs 0xffffffff9e7d9662, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff933eb0bb, rs 0xffffffff933eb0bb, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff933eb0bb, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x1267d, rs 0xffffffff933eb0bb, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x1267d617, rs 0xffffffff933eb0bb, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffff97ffad0c, rs 0xffffffff97ffad0c, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffff97ffad0c, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x12fff, rs 0xffffffff97ffad0c, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x12fff5a1, rs 0xffffffff97ffad0c, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffafb010b1, rs 0xffffffffafb010b1, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffafb010b1, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x15f60, rs 0xffffffffafb010b1, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x15f60216, rs 0xffffffffafb010b1, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffab710d06, rs 0xffffffffab710d06, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffab710d06, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x156e2, rs 0xffffffffab710d06, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x156e21a0, rs 0xffffffffab710d06, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa6322bdf, rs 0xffffffffa6322bdf, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa6322bdf, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x14c64, rs 0xffffffffa6322bdf, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x14c6457b, rs 0xffffffffa6322bdf, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffa2f33668, rs 0xffffffffa2f33668, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffa2f33668, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x145e6, rs 0xffffffffa2f33668, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x145e66cd, rs 0xffffffffa2f33668, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffbcb4666d, rs 0xffffffffbcb4666d, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffbcb4666d, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x17968, rs 0xffffffffbcb4666d, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x17968ccd, rs 0xffffffffbcb4666d, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb8757bda, rs 0xffffffffb8757bda, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb8757bda, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x170ea, rs 0xffffffffb8757bda, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x170eaf7b, rs 0xffffffffb8757bda, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb5365d03, rs 0xffffffffb5365d03, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb5365d03, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x16a6c, rs 0xffffffffb5365d03, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x16a6cba0, rs 0xffffffffb5365d03, imm 0x0003
+srl $t0, $t1, 0x00 :: rt 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, imm 0x0000
+srl $t2, $t3, 0x1f :: rt 0x1, rs 0xffffffffb1f740b4, imm 0x001f
+srl $a0, $a1, 0x0f :: rt 0x163ee, rs 0xffffffffb1f740b4, imm 0x000f
+srl $s0, $s1, 0x03 :: rt 0x163ee816, rs 0xffffffffb1f740b4, imm 0x0003
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb1f740b4
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0xffffffffb5365d03
+srlv $t0, $t1, $t2 :: rd 0x2, rs 0x9823b6e, rt 0xffffffffb8757bda
+srlv $t0, $t1, $t2 :: rd 0x6a19, rs 0xd4326d9, rt 0xffffffffbcb4666d
+srlv $t0, $t1, $t2 :: rd 0x130476, rs 0x130476dc, rt 0xffffffffa2f33668
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x17c56b6b, rt 0xffffffffa6322bdf
+srlv $t0, $t1, $t2 :: rd 0x6a1936, rs 0x1a864db2, rt 0xffffffffab710d06
+srlv $t0, $t1, $t2 :: rd 0xf23, rs 0x1e475005, rt 0xffffffffafb010b1
+srlv $t0, $t1, $t2 :: rd 0x2608e, rs 0x2608edb8, rt 0xffffffff97ffad0c
+srlv $t0, $t1, $t2 :: rd 0x4, rs 0x22c9f00f, rt 0xffffffff933eb0bb
+srlv $t0, $t1, $t2 :: rd 0xbe2b5b5, rs 0x2f8ad6d6, rt 0xffffffff9e7d9662
+srlv $t0, $t1, $t2 :: rd 0x15a, rs 0x2b4bcb61, rt 0xffffffff9abc8bd5
+srlv $t0, $t1, $t2 :: rd 0x350c, rs 0x350c9b64, rt 0xffffffff84fbdbd0
+srlv $t0, $t1, $t2 :: rd 0x639b0d, rs 0x31cd86d3, rt 0xffffffff803ac667
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x3c8ea00a, rt 0xffffffff8d79e0be
+srlv $t0, $t1, $t2 :: rd 0x1c27de, rs 0x384fbdbd, rt 0xffffffff89b8fd09
+srlv $t0, $t1, $t2 :: rd 0x4c11db7, rs 0x4c11db70, rt 0xfffffffffde69bc4
+srlv $t0, $t1, $t2 :: rd 0x91a, rs 0x48d0c6c7, rt 0xfffffffff9278673
+srlv $t0, $t1, $t2 :: rd 0x1164f8, rs 0x4593e01e, rt 0xfffffffff464a0aa
+srlv $t0, $t1, $t2 :: rd 0x2, rs 0x4152fda9, rt 0xfffffffff0a5bd1d
+srlv $t0, $t1, $t2 :: rd 0x5f, rs 0x5f15adac, rt 0xffffffffeee2ed18
+srlv $t0, $t1, $t2 :: rd 0xb7a9, rs 0x5bd4b01b, rt 0xffffffffea23f0af
+srlv $t0, $t1, $t2 :: rd 0x15a, rs 0x569796c2, rt 0xffffffffe760d676
+srlv $t0, $t1, $t2 :: rd 0x292b45ba, rs 0x52568b75, rt 0xffffffffe3a1cbc1
+srlv $t0, $t1, $t2 :: rd 0x6, rs 0x6a1936c8, rt 0xffffffffdbee767c
+srlv $t0, $t1, $t2 :: rd 0xddb05, rs 0x6ed82b7f, rt 0xffffffffdf2f6bcb
+srlv $t0, $t1, $t2 :: rd 0x18e6, rs 0x639b0da6, rt 0xffffffffd26c4d12
+srlv $t0, $t1, $t2 :: rd 0x33ad080, rs 0x675a1011, rt 0xffffffffd6ad50a5
+srlv $t0, $t1, $t2 :: rd 0x791d4014, rs 0x791d4014, rt 0xffffffffc8ea00a0
+srlv $t0, $t1, $t2 :: rd 0xfb, rs 0x7ddc5da3, rt 0xffffffffcc2b1d17
+srlv $t0, $t1, $t2 :: rd 0x1c27d, rs 0x709f7b7a, rt 0xffffffffc1683bce
+srlv $t0, $t1, $t2 :: rd 0x3a, rs 0x745e66cd, rt 0xffffffffc5a92679
+srlv $t0, $t1, $t2 :: rd 0x982, rs 0xffffffff9823b6e0, rt 0x29d4f654
+srlv $t0, $t1, $t2 :: rd 0x139c556a, rs 0xffffffff9ce2ab57, rt 0x2d15ebe3
+srlv $t0, $t1, $t2 :: rd 0x24, rs 0xffffffff91a18d8e, rt 0x2056cd3a
+srlv $t0, $t1, $t2 :: rd 0x4ab04, rs 0xffffffff95609039, rt 0x2497d08d
+srlv $t0, $t1, $t2 :: rd 0x8b27c0, rs 0xffffffff8b27c03c, rt 0x3ad08088
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffff8fe6dd8b, rt 0x3e119d3f
+srlv $t0, $t1, $t2 :: rd 0x20a97ed, rs 0xffffffff82a5fb52, rt 0x3352bbe6
+srlv $t0, $t1, $t2 :: rd 0x4332, rs 0xffffffff8664e6e5, rt 0x3793a651
+srlv $t0, $t1, $t2 :: rd 0xbe2b5, rs 0xffffffffbe2b5b58, rt 0xfdc1bec
+srlv $t0, $t1, $t2 :: rd 0x17, rs 0xffffffffbaea46ef, rt 0xb1d065b
+srlv $t0, $t1, $t2 :: rd 0x2dea580d, rs 0xffffffffb7a96036, rt 0x65e2082
+srlv $t0, $t1, $t2 :: rd 0x59b, rs 0xffffffffb3687d81, rt 0x29f3d35
+srlv $t0, $t1, $t2 :: rd 0xad2f, rs 0xffffffffad2f2d84, rt 0x1cd86d30
+srlv $t0, $t1, $t2 :: rd 0x153dc60, rs 0xffffffffa9ee3033, rt 0x18197087
+srlv $t0, $t1, $t2 :: rd 0x2, rs 0xffffffffa4ad16ea, rt 0x155a565e
+srlv $t0, $t1, $t2 :: rd 0x503605, rs 0xffffffffa06c0b5d, rt 0x119b4be9
+srlv $t0, $t1, $t2 :: rd 0xd4326d9, rs 0xffffffffd4326d90, rt 0x65c52d24
+srlv $t0, $t1, $t2 :: rd 0x1a1e, rs 0xffffffffd0f37027, rt 0x61043093
+srlv $t0, $t1, $t2 :: rd 0x376c15, rs 0xffffffffddb056fe, rt 0x6c47164a
+srlv $t0, $t1, $t2 :: rd 0x6, rs 0xffffffffd9714b49, rt 0x68860bfd
+srlv $t0, $t1, $t2 :: rd 0xc7, rs 0xffffffffc7361b4c, rt 0x76c15bf8
+srlv $t0, $t1, $t2 :: rd 0x187ee, rs 0xffffffffc3f706fb, rt 0x7200464f
+srlv $t0, $t1, $t2 :: rd 0x33a, rs 0xffffffffceb42022, rt 0x7f436096
+srlv $t0, $t1, $t2 :: rd 0x653a9eca, rs 0xffffffffca753d95, rt 0x7b827d21
+srlv $t0, $t1, $t2 :: rd 0xf, rs 0xfffffffff23a8028, rt 0x43cdc09c
+srlv $t0, $t1, $t2 :: rd 0x1edf73, rs 0xfffffffff6fb9d9f, rt 0x470cdd2b
+srlv $t0, $t1, $t2 :: rd 0x3eee, rs 0xfffffffffbb8bb46, rt 0x4a4ffbf2
+srlv $t0, $t1, $t2 :: rd 0x7fbcd37, rs 0xffffffffff79a6f1, rt 0x4e8ee645
+srlv $t0, $t1, $t2 :: rd 0xffffffffe13ef6f4, rs 0xffffffffe13ef6f4, rt 0x50c9b640
+srlv $t0, $t1, $t2 :: rd 0x1cb, rs 0xffffffffe5ffeb43, rt 0x5408abf7
+srlv $t0, $t1, $t2 :: rd 0x3a2f3, rs 0xffffffffe8bccd9a, rt 0x594b8d2e
+srlv $t0, $t1, $t2 :: rd 0x76, rs 0xffffffffec7dd02d, rt 0x5d8a9099
+srlv $t0, $t1, $t2 :: rd 0x690ce0e, rs 0x34867077, rt 0xffffffff857130c3
+srlv $t0, $t1, $t2 :: rd 0x304, rs 0x30476dc0, rt 0xffffffff81b02d74
+srlv $t0, $t1, $t2 :: rd 0x1e822, rs 0x3d044b19, rt 0xffffffff8cf30bad
+srlv $t0, $t1, $t2 :: rd 0xe, rs 0x39c556ae, rt 0xffffffff8832161a
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x278206ab, rt 0xffffffff9675461f
+srlv $t0, $t1, $t2 :: rd 0x23431b, rs 0x23431b1c, rt 0xffffffff92b45ba8
+srlv $t0, $t1, $t2 :: rd 0x1700, rs 0x2e003dc5, rt 0xffffffff9ff77d71
+srlv $t0, $t1, $t2 :: rd 0xab0481, rs 0x2ac12072, rt 0xffffffff9b3660c6
+srlv $t0, $t1, $t2 :: rd 0x2, rs 0x128e9dcf, rt 0xffffffffa379dd7b
+srlv $t0, $t1, $t2 :: rd 0x164f8, rs 0x164f8078, rt 0xffffffffa7b8c0cc
+srlv $t0, $t1, $t2 :: rd 0xd8, rs 0x1b0ca6a1, rt 0xffffffffaafbe615
+srlv $t0, $t1, $t2 :: rd 0x7f36ec5, rs 0x1fcdbb16, rt 0xffffffffae3afba2
+srlv $t0, $t1, $t2 :: rd 0x315d6, rs 0x18aeb13, rt 0xffffffffb07daba7
+srlv $t0, $t1, $t2 :: rd 0x54b, rs 0x54bf6a4, rt 0xffffffffb4bcb610
+srlv $t0, $t1, $t2 :: rd 0x40468, rs 0x808d07d, rt 0xffffffffb9ff90c9
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0xcc9cdca, rt 0xffffffffbd3e8d7e
+srlv $t0, $t1, $t2 :: rd 0x7897ab07, rs 0x7897ab07, rt 0x0
+srlv $t0, $t1, $t2 :: rd 0x7c56b6b, rs 0x7c56b6b0, rt 0xffffffffcda1f604
+srlv $t0, $t1, $t2 :: rd 0x71159069, rs 0x71159069, rt 0x0
+srlv $t0, $t1, $t2 :: rd 0x1d7523, rs 0x75d48dde, rt 0xffffffffc423cd6a
+srlv $t0, $t1, $t2 :: rd 0xd727, rs 0x6b93dddb, rt 0xffffffffda649d6f
+srlv $t0, $t1, $t2 :: rd 0x6f, rs 0x6f52c06c, rt 0xffffffffdea580d8
+srlv $t0, $t1, $t2 :: rd 0x3108f35a, rs 0x6211e6b5, rt 0xffffffffd3e6a601
+srlv $t0, $t1, $t2 :: rd 0x19b, rs 0x66d0fb02, rt 0xffffffffd727bbb6
+srlv $t0, $t1, $t2 :: rd 0xbd3e8, rs 0x5e9f46bf, rt 0xffffffffef68060b
+srlv $t0, $t1, $t2 :: rd 0x5, rs 0x5a5e5b08, rt 0xffffffffeba91bbc
+srlv $t0, $t1, $t2 :: rd 0x2b8ebee, rs 0x571d7dd1, rt 0xffffffffe6ea3d65
+srlv $t0, $t1, $t2 :: rd 0x14f7, rs 0x53dc6066, rt 0xffffffffe22b20d2
+srlv $t0, $t1, $t2 :: rd 0x9b, rs 0x4d9b3063, rt 0xfffffffffc6c70d7
+srlv $t0, $t1, $t2 :: rd 0x495a2dd4, rs 0x495a2dd4, rt 0xfffffffff8ad6d60
+srlv $t0, $t1, $t2 :: rd 0x22, rs 0x44190b0d, rt 0xfffffffff5ee4bb9
+srlv $t0, $t1, $t2 :: rd 0x10360, rs 0x40d816ba, rt 0xfffffffff12f560e
+srlv $t0, $t1, $t2 :: rd 0x1594b8d2, rs 0xffffffffaca5c697, rt 0x1d528623
+srlv $t0, $t1, $t2 :: rd 0xa86, rs 0xffffffffa864db20, rt 0x19939b94
+srlv $t0, $t1, $t2 :: rd 0x5293f, rs 0xffffffffa527fdf9, rt 0x14d0bd4d
+srlv $t0, $t1, $t2 :: rd 0x28, rs 0xffffffffa1e6e04e, rt 0x1011a0fa
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffbfa1b04b, rt 0xe56f0ff
+srlv $t0, $t1, $t2 :: rd 0xbb60ad, rs 0xffffffffbb60adfc, rt 0xa97ed48
+srlv $t0, $t1, $t2 :: rd 0x5b11, rs 0xffffffffb6238b25, rt 0x7d4cb91
+srlv $t0, $t1, $t2 :: rd 0x2cb8a5a, rs 0xffffffffb2e29692, rt 0x315d626
+srlv $t0, $t1, $t2 :: rd 0x11, rs 0xffffffff8aad2b2f, rt 0x3b5a6b9b
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x3f9b762c
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x32d850f5
+srlv $t0, $t1, $t2 :: rd 0x21fb837d, rs 0xffffffff87ee0df6, rt 0x36194d42
+srlv $t0, $t1, $t2 :: rd 0x13352bb, rs 0xffffffff99a95df3, rt 0x285e1d47
+srlv $t0, $t1, $t2 :: rd 0x9d68, rs 0xffffffff9d684044, rt 0x2c9f00f0
+srlv $t0, $t1, $t2 :: rd 0x4815b3, rs 0xffffffff902b669d, rt 0x21dc2629
+srlv $t0, $t1, $t2 :: rd 0x2, rs 0xffffffff94ea7b2a, rt 0x251d3b9e
+srlv $t0, $t1, $t2 :: rd 0x1c16, rs 0xffffffffe0b41de7, rt 0x51435d53
+srlv $t0, $t1, $t2 :: rd 0xe475005, rs 0xffffffffe4750050, rt 0x558240e4
+srlv $t0, $t1, $t2 :: rd 0x7, rs 0xffffffffe9362689, rt 0x58c1663d
+srlv $t0, $t1, $t2 :: rd 0x3b7dce, rs 0xffffffffedf73b3e, rt 0x5c007b8a
+srlv $t0, $t1, $t2 :: rd 0x1e760, rs 0xfffffffff3b06b3b, rt 0x42472b8f
+srlv $t0, $t1, $t2 :: rd 0xf7, rs 0xfffffffff771768c, rt 0x46863638
+srlv $t0, $t1, $t2 :: rd 0x7d19282a, rs 0xfffffffffa325055, rt 0x4bc510e1
+srlv $t0, $t1, $t2 :: rd 0x3fb, rs 0xfffffffffef34de2, rt 0x4f040d56
+srlv $t0, $t1, $t2 :: rd 0x18d79e, rs 0xffffffffc6bcf05f, rt 0x774bb0eb
+srlv $t0, $t1, $t2 :: rd 0xc, rs 0xffffffffc27dede8, rt 0x738aad5c
+srlv $t0, $t1, $t2 :: rd 0x679f659, rs 0xffffffffcf3ecb31, rt 0x7ec98b85
+srlv $t0, $t1, $t2 :: rd 0x32ff, rs 0xffffffffcbffd686, rt 0x7a089632
+srlv $t0, $t1, $t2 :: rd 0x1ab, rs 0xffffffffd5b88683, rt 0x644fc637
+srlv $t0, $t1, $t2 :: rd 0xffffffffd1799b34, rs 0xffffffffd1799b34, rt 0x608edb80
+srlv $t0, $t1, $t2 :: rd 0x6e, rs 0xffffffffdc3abded, rt 0x6dcdfd59
+srlv $t0, $t1, $t2 :: rd 0x363ee, rs 0xffffffffd8fba05a, rt 0x690ce0ee
+srlv $t0, $t1, $t2 :: rd 0x1a, rs 0x690ce0ee, rt 0xffffffffd8fba05a
+srlv $t0, $t1, $t2 :: rd 0x36e6f, rs 0x6dcdfd59, rt 0xffffffffdc3abded
+srlv $t0, $t1, $t2 :: rd 0x608, rs 0x608edb80, rt 0xffffffffd1799b34
+srlv $t0, $t1, $t2 :: rd 0xc89f8c6, rs 0x644fc637, rt 0xffffffffd5b88683
+srlv $t0, $t1, $t2 :: rd 0x1e82258, rs 0x7a089632, rt 0xffffffffcbffd686
+srlv $t0, $t1, $t2 :: rd 0x3f64, rs 0x7ec98b85, rt 0xffffffffcf3ecb31
+srlv $t0, $t1, $t2 :: rd 0x738aad, rs 0x738aad5c, rt 0xffffffffc27dede8
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x774bb0eb, rt 0xffffffffc6bcf05f
+srlv $t0, $t1, $t2 :: rd 0x13c10355, rs 0x4f040d56, rt 0xfffffffffef34de2
+srlv $t0, $t1, $t2 :: rd 0x25e, rs 0x4bc510e1, rt 0xfffffffffa325055
+srlv $t0, $t1, $t2 :: rd 0x46863, rs 0x46863638, rt 0xfffffffff771768c
+srlv $t0, $t1, $t2 :: rd 0x8, rs 0x42472b8f, rt 0xfffffffff3b06b3b
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0x5c007b8a, rt 0xffffffffedf73b3e
+srlv $t0, $t1, $t2 :: rd 0x2c60b3, rs 0x58c1663d, rt 0xffffffffe9362689
+srlv $t0, $t1, $t2 :: rd 0x5582, rs 0x558240e4, rt 0xffffffffe4750050
+srlv $t0, $t1, $t2 :: rd 0xa286ba, rs 0x51435d53, rt 0xffffffffe0b41de7
+srlv $t0, $t1, $t2 :: rd 0x9474e, rs 0x251d3b9e, rt 0xffffffff94ea7b2a
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0x21dc2629, rt 0xffffffff902b669d
+srlv $t0, $t1, $t2 :: rd 0x2c9f00f, rs 0x2c9f00f0, rt 0xffffffff9d684044
+srlv $t0, $t1, $t2 :: rd 0x50b, rs 0x285e1d47, rt 0xffffffff99a95df3
+srlv $t0, $t1, $t2 :: rd 0xd8, rs 0x36194d42, rt 0xffffffff87ee0df6
+srlv $t0, $t1, $t2 :: rd 0x32d850f5, rs 0x32d850f5, rt 0x0
+srlv $t0, $t1, $t2 :: rd 0x3f9b762c, rs 0x3f9b762c, rt 0x0
+srlv $t0, $t1, $t2 :: rd 0x76b4, rs 0x3b5a6b9b, rt 0xffffffff8aad2b2f
+srlv $t0, $t1, $t2 :: rd 0xc5, rs 0x315d626, rt 0xffffffffb2e29692
+srlv $t0, $t1, $t2 :: rd 0x3ea65c, rs 0x7d4cb91, rt 0xffffffffb6238b25
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0xa97ed48, rt 0xffffffffbb60adfc
+srlv $t0, $t1, $t2 :: rd 0x1cade, rs 0xe56f0ff, rt 0xffffffffbfa1b04b
+srlv $t0, $t1, $t2 :: rd 0x4046, rs 0x1011a0fa, rt 0xffffffffa1e6e04e
+srlv $t0, $t1, $t2 :: rd 0xa, rs 0x14d0bd4d, rt 0xffffffffa527fdf9
+srlv $t0, $t1, $t2 :: rd 0x19939b94, rs 0x19939b94, rt 0xffffffffa864db20
+srlv $t0, $t1, $t2 :: rd 0x3a, rs 0x1d528623, rt 0xffffffffaca5c697
+srlv $t0, $t1, $t2 :: rd 0x3c, rs 0xfffffffff12f560e, rt 0x40d816ba
+srlv $t0, $t1, $t2 :: rd 0x7af72, rs 0xfffffffff5ee4bb9, rt 0x44190b0d
+srlv $t0, $t1, $t2 :: rd 0xf8a, rs 0xfffffffff8ad6d60, rt 0x495a2dd4
+srlv $t0, $t1, $t2 :: rd 0x1f8d8e1a, rs 0xfffffffffc6c70d7, rt 0x4d9b3063
+srlv $t0, $t1, $t2 :: rd 0x388ac83, rs 0xffffffffe22b20d2, rt 0x53dc6066
+srlv $t0, $t1, $t2 :: rd 0x7375, rs 0xffffffffe6ea3d65, rt 0x571d7dd1
+srlv $t0, $t1, $t2 :: rd 0xeba91b, rs 0xffffffffeba91bbc, rt 0x5a5e5b08
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffef68060b, rt 0x5e9f46bf
+srlv $t0, $t1, $t2 :: rd 0x35c9eeed, rs 0xffffffffd727bbb6, rt 0x66d0fb02
+srlv $t0, $t1, $t2 :: rd 0x69f, rs 0xffffffffd3e6a601, rt 0x6211e6b5
+srlv $t0, $t1, $t2 :: rd 0xdea58, rs 0xffffffffdea580d8, rt 0x6f52c06c
+srlv $t0, $t1, $t2 :: rd 0x1b, rs 0xffffffffda649d6f, rt 0x6b93dddb
+srlv $t0, $t1, $t2 :: rd 0x3, rs 0xffffffffc423cd6a, rt 0x75d48dde
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x71159069
+srlv $t0, $t1, $t2 :: rd 0xcda1, rs 0xffffffffcda1f604, rt 0x7c56b6b0
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x0, rt 0x7897ab07
+srlv $t0, $t1, $t2 :: rd 0x2f4fa3, rs 0xffffffffbd3e8d7e, rt 0xcc9cdca
+srlv $t0, $t1, $t2 :: rd 0x5, rs 0xffffffffb9ff90c9, rt 0x808d07d
+srlv $t0, $t1, $t2 :: rd 0xb4bcb61, rs 0xffffffffb4bcb610, rt 0x54bf6a4
+srlv $t0, $t1, $t2 :: rd 0x160f, rs 0xffffffffb07daba7, rt 0x18aeb13
+srlv $t0, $t1, $t2 :: rd 0x2b8, rs 0xffffffffae3afba2, rt 0x1fcdbb16
+srlv $t0, $t1, $t2 :: rd 0x557df30a, rs 0xffffffffaafbe615, rt 0x1b0ca6a1
+srlv $t0, $t1, $t2 :: rd 0xa7, rs 0xffffffffa7b8c0cc, rt 0x164f8078
+srlv $t0, $t1, $t2 :: rd 0x146f3, rs 0xffffffffa379dd7b, rt 0x128e9dcf
+srlv $t0, $t1, $t2 :: rd 0x26cd, rs 0xffffffff9b3660c6, rt 0x2ac12072
+srlv $t0, $t1, $t2 :: rd 0x4ffbbeb, rs 0xffffffff9ff77d71, rt 0x2e003dc5
+srlv $t0, $t1, $t2 :: rd 0x9, rs 0xffffffff92b45ba8, rt 0x23431b1c
+srlv $t0, $t1, $t2 :: rd 0x12cea8, rs 0xffffffff9675461f, rt 0x278206ab
+srlv $t0, $t1, $t2 :: rd 0x220c8, rs 0xffffffff8832161a, rt 0x39c556ae
+srlv $t0, $t1, $t2 :: rd 0x46, rs 0xffffffff8cf30bad, rt 0x3d044b19
+srlv $t0, $t1, $t2 :: rd 0xffffffff81b02d74, rs 0xffffffff81b02d74, rt 0x30476dc0
+srlv $t0, $t1, $t2 :: rd 0x10a, rs 0xffffffff857130c3, rt 0x34867077
+srlv $t0, $t1, $t2 :: rd 0x2ec54, rs 0x5d8a9099, rt 0xffffffffec7dd02d
+srlv $t0, $t1, $t2 :: rd 0x16, rs 0x594b8d2e, rt 0xffffffffe8bccd9a
+srlv $t0, $t1, $t2 :: rd 0xa81157e, rs 0x5408abf7, rt 0xffffffffe5ffeb43
+srlv $t0, $t1, $t2 :: rd 0x50c, rs 0x50c9b640, rt 0xffffffffe13ef6f4
+srlv $t0, $t1, $t2 :: rd 0x2747, rs 0x4e8ee645, rt 0xffffffffff79a6f1
+srlv $t0, $t1, $t2 :: rd 0x1293fef, rs 0x4a4ffbf2, rt 0xfffffffffbb8bb46
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x470cdd2b, rt 0xfffffffff6fb9d9f
+srlv $t0, $t1, $t2 :: rd 0x43cdc0, rs 0x43cdc09c, rt 0xfffffffff23a8028
+srlv $t0, $t1, $t2 :: rd 0x3dc, rs 0x7b827d21, rt 0xffffffffca753d95
+srlv $t0, $t1, $t2 :: rd 0x1fd0d825, rs 0x7f436096, rt 0xffffffffceb42022
+srlv $t0, $t1, $t2 :: rd 0xe, rs 0x7200464f, rt 0xffffffffc3f706fb
+srlv $t0, $t1, $t2 :: rd 0x76c15, rs 0x76c15bf8, rt 0xffffffffc7361b4c
+srlv $t0, $t1, $t2 :: rd 0x344305, rs 0x68860bfd, rt 0xffffffffd9714b49
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0x6c47164a, rt 0xffffffffddb056fe
+srlv $t0, $t1, $t2 :: rd 0xc20861, rs 0x61043093, rt 0xffffffffd0f37027
+srlv $t0, $t1, $t2 :: rd 0x65c5, rs 0x65c52d24, rt 0xffffffffd4326d90
+srlv $t0, $t1, $t2 :: rd 0x0, rs 0x119b4be9, rt 0xffffffffa06c0b5d
+srlv $t0, $t1, $t2 :: rd 0x55695, rs 0x155a565e, rt 0xffffffffa4ad16ea
+srlv $t0, $t1, $t2 :: rd 0x303, rs 0x18197087, rt 0xffffffffa9ee3033
+srlv $t0, $t1, $t2 :: rd 0x1cd86d3, rs 0x1cd86d30, rt 0xffffffffad2f2d84
+srlv $t0, $t1, $t2 :: rd 0x14f9e9a, rs 0x29f3d35, rt 0xffffffffb3687d81
+srlv $t0, $t1, $t2 :: rd 0x19, rs 0x65e2082, rt 0xffffffffb7a96036
+srlv $t0, $t1, $t2 :: rd 0x163a, rs 0xb1d065b, rt 0xffffffffbaea46ef
+srlv $t0, $t1, $t2 :: rd 0xf, rs 0xfdc1bec, rt 0xffffffffbe2b5b58
+srlv $t0, $t1, $t2 :: rd 0x1bc9d32, rs 0x3793a651, rt 0xffffffff8664e6e5
+srlv $t0, $t1, $t2 :: rd 0xcd4, rs 0x3352bbe6, rt 0xffffffff82a5fb52
+srlv $t0, $t1, $t2 :: rd 0x7c233, rs 0x3e119d3f, rt 0xffffffff8fe6dd8b
+srlv $t0, $t1, $t2 :: rd 0x3, rs 0x3ad08088, rt 0xffffffff8b27c03c
+srlv $t0, $t1, $t2 :: rd 0x12, rs 0x2497d08d, rt 0xffffffff95609039
+srlv $t0, $t1, $t2 :: rd 0x815b, rs 0x2056cd3a, rt 0xffffffff91a18d8e
+srlv $t0, $t1, $t2 :: rd 0x5a, rs 0x2d15ebe3, rt 0xffffffff9ce2ab57
+srlv $t0, $t1, $t2 :: rd 0x29d4f654, rs 0x29d4f654, rt 0xffffffff9823b6e0
+srlv $t0, $t1, $t2 :: rd 0x62d49, rs 0xffffffffc5a92679, rt 0x745e66cd
+srlv $t0, $t1, $t2 :: rd 0x30, rs 0xffffffffc1683bce, rt 0x709f7b7a
+srlv $t0, $t1, $t2 :: rd 0x198563a2, rs 0xffffffffcc2b1d17, rt 0x7ddc5da3
+srlv $t0, $t1, $t2 :: rd 0xc8e, rs 0xffffffffc8ea00a0, rt 0x791d4014
+srlv $t0, $t1, $t2 :: rd 0x6b56, rs 0xffffffffd6ad50a5, rt 0x675a1011
+srlv $t0, $t1, $t2 :: rd 0x349b134, rs 0xffffffffd26c4d12, rt 0x639b0da6
+srlv $t0, $t1, $t2 :: rd 0x1, rs 0xffffffffdf2f6bcb, rt 0x6ed82b7f
+srlv $t0, $t1, $t2 :: rd 0xdbee76, rs 0xffffffffdbee767c, rt 0x6a1936c8
+srlv $t0, $t1, $t2 :: rd 0x71d, rs 0xffffffffe3a1cbc1, rt 0x52568b75
+srlv $t0, $t1, $t2 :: rd 0x39d8359d, rs 0xffffffffe760d676, rt 0x569796c2
+srlv $t0, $t1, $t2 :: rd 0x1d, rs 0xffffffffea23f0af, rt 0x5bd4b01b
+srlv $t0, $t1, $t2 :: rd 0xeee2e, rs 0xffffffffeee2ed18, rt 0x5f15adac
+srlv $t0, $t1, $t2 :: rd 0x7852de, rs 0xfffffffff0a5bd1d, rt 0x4152fda9
+srlv $t0, $t1, $t2 :: rd 0x3, rs 0xfffffffff464a0aa, rt 0x4593e01e
+srlv $t0, $t1, $t2 :: rd 0x1f24f0c, rs 0xfffffffff9278673, rt 0x48d0c6c7
+srlv $t0, $t1, $t2 :: rd 0xfde6, rs 0xfffffffffde69bc4, rt 0x4c11db70
+srlv $t0, $t1, $t2 :: rd 0x4, rs 0xffffffff89b8fd09, rt 0x384fbdbd
+srlv $t0, $t1, $t2 :: rd 0x235e78, rs 0xffffffff8d79e0be, rt 0x3c8ea00a
+srlv $t0, $t1, $t2 :: rd 0x1007, rs 0xffffffff803ac667, rt 0x31cd86d3
+srlv $t0, $t1, $t2 :: rd 0x84fbdbd, rs 0xffffffff84fbdbd0, rt 0x350c9b64
+srlv $t0, $t1, $t2 :: rd 0x4d5e45ea, rs 0xffffffff9abc8bd5, rt 0x2b4bcb61
+srlv $t0, $t1, $t2 :: rd 0x279, rs 0xffffffff9e7d9662, rt 0x2f8ad6d6
+srlv $t0, $t1, $t2 :: rd 0x1267d, rs 0xffffffff933eb0bb, rt 0x22c9f00f
+srlv $t0, $t1, $t2 :: rd 0x97, rs 0xffffffff97ffad0c, rt 0x2608edb8
+srlv $t0, $t1, $t2 :: rd 0x57d8085, rs 0xffffffffafb010b1, rt 0x1e475005
+srlv $t0, $t1, $t2 :: rd 0x2adc, rs 0xffffffffab710d06, rt 0x1a864db2
+srlv $t0, $t1, $t2 :: rd 0x14c645, rs 0xffffffffa6322bdf, rt 0x17c56b6b
+srlv $t0, $t1, $t2 :: rd 0xa, rs 0xffffffffa2f33668, rt 0x130476dc
+srlv $t0, $t1, $t2 :: rd 0x5e, rs 0xffffffffbcb4666d, rt 0xd4326d9
+srlv $t0, $t1, $t2 :: rd 0x2e1d5, rs 0xffffffffb8757bda, rt 0x9823b6e
+srlv $t0, $t1, $t2 :: rd 0xffffffffb5365d03, rs 0xffffffffb5365d03, rt 0x0
+srlv $t0, $t1, $t2 :: rd 0xffffffffb1f740b4, rs 0xffffffffb1f740b4, rt 0x0
diff --git a/none/tests/mips64/shift_instructions.vgtest b/none/tests/mips64/shift_instructions.vgtest
new file mode 100644
index 0000000..06ec526
--- /dev/null
+++ b/none/tests/mips64/shift_instructions.vgtest
@@ -0,0 +1,2 @@
+prog: shift_instructions
+vgopts: -q
diff --git a/none/tests/mips64/test_block_size.c b/none/tests/mips64/test_block_size.c
new file mode 100644
index 0000000..7a29908
--- /dev/null
+++ b/none/tests/mips64/test_block_size.c
@@ -0,0 +1,71 @@
+#include <stdio.h>
+
+__attribute__((noinline)) int test_block_size1 ()
+{
+   int result = 1;
+   __asm__ __volatile__(
+         ".set  noreorder"  "\n\t"
+         ".set  nomacro"    "\n\t"
+         "b     begin1"     "\n\t"
+         "nop"              "\n\t"
+         "begin1:"          "\n\t"
+         ".rept 56"         "\n\t"
+         ".word 0"          "\n\t"
+         ".endr"            "\n\t"
+         "li    $a0, 0"     "\n\t"
+         "j     end1"       "\n\t"
+         "nop"              "\n\t"
+         "b     label1"     "\n\t"
+         "nop"              "\n\t"
+         "label1:"          "\n\t"
+         "li    $a0, 1"     "\n\t"
+         "end1:"            "\n\t"
+         "move  %0, $a0"    "\n\t"
+         ".set  reorder"    "\n\t"
+         ".set  macro"      "\n\t"
+         : /* out */ "=r" (result)
+         : /* in */
+         : /* trash */ "a0");
+   return result;
+}
+
+__attribute__((noinline)) int test_block_size2 ()
+{
+   int result = 1;
+   __asm__ __volatile__(
+         ".set  noreorder"  "\n\t"
+         ".set  nomacro"    "\n\t"
+         "b     begin2"     "\n\t"
+         "nop"              "\n\t"
+         "begin2:"          "\n\t"
+         ".rept 58"         "\n\t"
+         ".word 0"          "\n\t"
+         ".endr"            "\n\t"
+         "li    $a0, 1"     "\n\t"
+         "j     end2"       "\n\t"
+         "li    $a0, 0"     "\n\t"
+         "end2:"            "\n\t"
+         "move  %0, $a0"    "\n\t"
+         ".set  reorder"    "\n\t"
+         ".set  macro"      "\n\t"
+         : /* out */ "=r" (result)
+         : /* in */
+         : /* trash */ "a0");
+   return result;
+}
+
+int main ()
+{
+   /*******************TEST1*******************/
+   if (test_block_size1() == 0)
+      printf("test1 - PASS\n");
+   else
+      printf("test1 - FAIL\n");
+
+   /*******************TEST2*******************/
+   if (test_block_size2() == 0)
+      printf("test2 - PASS\n");
+   else
+      printf("test2 - FAIL\n");
+   return 0;
+}
diff --git a/none/tests/mips64/test_block_size.stderr.exp b/none/tests/mips64/test_block_size.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/test_block_size.stderr.exp
diff --git a/none/tests/mips64/test_block_size.stdout.exp b/none/tests/mips64/test_block_size.stdout.exp
new file mode 100644
index 0000000..3a48f4e
--- /dev/null
+++ b/none/tests/mips64/test_block_size.stdout.exp
@@ -0,0 +1,2 @@
+test1 - PASS
+test2 - PASS
diff --git a/none/tests/mips64/test_block_size.vgtest b/none/tests/mips64/test_block_size.vgtest
new file mode 100644
index 0000000..a0e90f4
--- /dev/null
+++ b/none/tests/mips64/test_block_size.vgtest
@@ -0,0 +1,2 @@
+prog: test_block_size
+vgopts: -q
diff --git a/none/tests/mips64/unaligned_load.c b/none/tests/mips64/unaligned_load.c
new file mode 100644
index 0000000..7739d6c
--- /dev/null
+++ b/none/tests/mips64/unaligned_load.c
@@ -0,0 +1,40 @@
+#include <stdio.h>
+
+#define N 15
+#define SOLL 8 /* size of unsigned long long */
+
+unsigned long long memSrc[] = {
+   0x12345658121f1e1f, 0,
+   3,                  -1,
+   0x232f2e2f56568441, 0x242c2b2b1236548c,
+   0xffffffff252a2e2b, 0x262d2d2a4521dddd,
+   0x3f343f3e22222222, 0x3e353d3c41231548,
+   0x363a3c3b45421212, 0x3b373b3a4545afcb,
+   0x454f4e4556984525, 0xfffffffffffffffc,
+   0x474d474c55aaaaaa, 0x4a484a4c65665659
+};
+
+int main()
+{
+   int i, index;
+   unsigned long long outLoad;
+   for (i = 8; i < N * SOLL ; i++) {
+      outLoad = 0;
+      __asm__ __volatile__(
+         "move  $t0, %1"        "\n\t"
+         "move  $t1, %2"        "\n\t"
+         "daddu $t0, $t0, $t1"  "\n\t"
+         "move  $t1, $zero"     "\n\t"
+         "ldl   $t1, 0($t0)"    "\n\t"
+         "ldr   $t1, 7($t0)"    "\n\t"
+         "move  %0,  $t1"       "\n\t"
+         : "=r" (outLoad)
+         : "r" (memSrc), "r" (i)
+         : "t0", "t1"
+      );
+      index = (i / SOLL) % N;
+      printf("i: %d, memSrc[%d]: 0x%llx, outLoad: 0x%llx\n",
+              i, index, memSrc[index], outLoad);
+   }
+   return 0;
+}
diff --git a/none/tests/mips64/unaligned_load.stderr.exp b/none/tests/mips64/unaligned_load.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/mips64/unaligned_load.stderr.exp
diff --git a/none/tests/mips64/unaligned_load.stdout.exp-BE b/none/tests/mips64/unaligned_load.stdout.exp-BE
new file mode 100644
index 0000000..1fbc422
--- /dev/null
+++ b/none/tests/mips64/unaligned_load.stdout.exp-BE
@@ -0,0 +1,112 @@
+i: 8, memSrc[1]: 0x0, outLoad: 0x0
+i: 9, memSrc[1]: 0x0, outLoad: 0x0
+i: 10, memSrc[1]: 0x0, outLoad: 0x0
+i: 11, memSrc[1]: 0x0, outLoad: 0x0
+i: 12, memSrc[1]: 0x0, outLoad: 0x0
+i: 13, memSrc[1]: 0x0, outLoad: 0x0
+i: 14, memSrc[1]: 0x0, outLoad: 0x0
+i: 15, memSrc[1]: 0x0, outLoad: 0x0
+i: 16, memSrc[2]: 0x3, outLoad: 0x3
+i: 17, memSrc[2]: 0x3, outLoad: 0x3ff
+i: 18, memSrc[2]: 0x3, outLoad: 0x3ffff
+i: 19, memSrc[2]: 0x3, outLoad: 0x3ffffff
+i: 20, memSrc[2]: 0x3, outLoad: 0x3ffffffff
+i: 21, memSrc[2]: 0x3, outLoad: 0x3ffffffffff
+i: 22, memSrc[2]: 0x3, outLoad: 0x3ffffffffffff
+i: 23, memSrc[2]: 0x3, outLoad: 0x3ffffffffffffff
+i: 24, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffffffffffffffff
+i: 25, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffffffffffffff23
+i: 26, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffffffffffff232f
+i: 27, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffffffffff232f2e
+i: 28, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffffffff232f2e2f
+i: 29, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffffff232f2e2f56
+i: 30, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffff232f2e2f5656
+i: 31, memSrc[3]: 0xffffffffffffffff, outLoad: 0xff232f2e2f565684
+i: 32, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x232f2e2f56568441
+i: 33, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x2f2e2f5656844124
+i: 34, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x2e2f56568441242c
+i: 35, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x2f56568441242c2b
+i: 36, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x56568441242c2b2b
+i: 37, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x568441242c2b2b12
+i: 38, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x8441242c2b2b1236
+i: 39, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x41242c2b2b123654
+i: 40, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x242c2b2b1236548c
+i: 41, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x2c2b2b1236548cff
+i: 42, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x2b2b1236548cffff
+i: 43, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x2b1236548cffffff
+i: 44, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x1236548cffffffff
+i: 45, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x36548cffffffff25
+i: 46, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x548cffffffff252a
+i: 47, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x8cffffffff252a2e
+i: 48, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0xffffffff252a2e2b
+i: 49, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0xffffff252a2e2b26
+i: 50, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0xffff252a2e2b262d
+i: 51, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0xff252a2e2b262d2d
+i: 52, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0x252a2e2b262d2d2a
+i: 53, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0x2a2e2b262d2d2a45
+i: 54, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0x2e2b262d2d2a4521
+i: 55, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0x2b262d2d2a4521dd
+i: 56, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x262d2d2a4521dddd
+i: 57, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x2d2d2a4521dddd3f
+i: 58, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x2d2a4521dddd3f34
+i: 59, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x2a4521dddd3f343f
+i: 60, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x4521dddd3f343f3e
+i: 61, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x21dddd3f343f3e22
+i: 62, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0xdddd3f343f3e2222
+i: 63, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0xdd3f343f3e222222
+i: 64, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x3f343f3e22222222
+i: 65, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x343f3e222222223e
+i: 66, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x3f3e222222223e35
+i: 67, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x3e222222223e353d
+i: 68, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x222222223e353d3c
+i: 69, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x2222223e353d3c41
+i: 70, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x22223e353d3c4123
+i: 71, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x223e353d3c412315
+i: 72, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x3e353d3c41231548
+i: 73, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x353d3c4123154836
+i: 74, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x3d3c41231548363a
+i: 75, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x3c41231548363a3c
+i: 76, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x41231548363a3c3b
+i: 77, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x231548363a3c3b45
+i: 78, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x1548363a3c3b4542
+i: 79, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x48363a3c3b454212
+i: 80, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x363a3c3b45421212
+i: 81, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x3a3c3b454212123b
+i: 82, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x3c3b454212123b37
+i: 83, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x3b454212123b373b
+i: 84, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x454212123b373b3a
+i: 85, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x4212123b373b3a45
+i: 86, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x12123b373b3a4545
+i: 87, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x123b373b3a4545af
+i: 88, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x3b373b3a4545afcb
+i: 89, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x373b3a4545afcb45
+i: 90, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x3b3a4545afcb454f
+i: 91, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x3a4545afcb454f4e
+i: 92, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x4545afcb454f4e45
+i: 93, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x45afcb454f4e4556
+i: 94, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0xafcb454f4e455698
+i: 95, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0xcb454f4e45569845
+i: 96, memSrc[12]: 0x454f4e4556984525, outLoad: 0x454f4e4556984525
+i: 97, memSrc[12]: 0x454f4e4556984525, outLoad: 0x4f4e4556984525ff
+i: 98, memSrc[12]: 0x454f4e4556984525, outLoad: 0x4e4556984525ffff
+i: 99, memSrc[12]: 0x454f4e4556984525, outLoad: 0x4556984525ffffff
+i: 100, memSrc[12]: 0x454f4e4556984525, outLoad: 0x56984525ffffffff
+i: 101, memSrc[12]: 0x454f4e4556984525, outLoad: 0x984525ffffffffff
+i: 102, memSrc[12]: 0x454f4e4556984525, outLoad: 0x4525ffffffffffff
+i: 103, memSrc[12]: 0x454f4e4556984525, outLoad: 0x25ffffffffffffff
+i: 104, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffffffffc
+i: 105, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffffffc47
+i: 106, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffffc474d
+i: 107, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xfffffffffc474d47
+i: 108, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xfffffffc474d474c
+i: 109, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xfffffc474d474c55
+i: 110, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xfffc474d474c55aa
+i: 111, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xfc474d474c55aaaa
+i: 112, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0x474d474c55aaaaaa
+i: 113, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0x4d474c55aaaaaa4a
+i: 114, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0x474c55aaaaaa4a48
+i: 115, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0x4c55aaaaaa4a484a
+i: 116, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0x55aaaaaa4a484a4c
+i: 117, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0xaaaaaa4a484a4c65
+i: 118, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0xaaaa4a484a4c6566
+i: 119, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0xaa4a484a4c656656
diff --git a/none/tests/mips64/unaligned_load.stdout.exp-LE b/none/tests/mips64/unaligned_load.stdout.exp-LE
new file mode 100644
index 0000000..506afba
--- /dev/null
+++ b/none/tests/mips64/unaligned_load.stdout.exp-LE
@@ -0,0 +1,112 @@
+i: 8, memSrc[1]: 0x0, outLoad: 0x0
+i: 9, memSrc[1]: 0x0, outLoad: 0x3
+i: 10, memSrc[1]: 0x0, outLoad: 0x0
+i: 11, memSrc[1]: 0x0, outLoad: 0x0
+i: 12, memSrc[1]: 0x0, outLoad: 0x0
+i: 13, memSrc[1]: 0x0, outLoad: 0x0
+i: 14, memSrc[1]: 0x0, outLoad: 0x0
+i: 15, memSrc[1]: 0x0, outLoad: 0x0
+i: 16, memSrc[2]: 0x3, outLoad: 0x300000000000000
+i: 17, memSrc[2]: 0x3, outLoad: 0xffffffffffffffff
+i: 18, memSrc[2]: 0x3, outLoad: 0xffffffffffffff
+i: 19, memSrc[2]: 0x3, outLoad: 0xffffffffffff
+i: 20, memSrc[2]: 0x3, outLoad: 0xffffffffff
+i: 21, memSrc[2]: 0x3, outLoad: 0xffffffff
+i: 22, memSrc[2]: 0x3, outLoad: 0xffffff
+i: 23, memSrc[2]: 0x3, outLoad: 0xffff
+i: 24, memSrc[3]: 0xffffffffffffffff, outLoad: 0xff000000000000ff
+i: 25, memSrc[3]: 0xffffffffffffffff, outLoad: 0x232f2e2f56568441
+i: 26, memSrc[3]: 0xffffffffffffffff, outLoad: 0xff232f2e2f565684
+i: 27, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffff232f2e2f5656
+i: 28, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffffff232f2e2f56
+i: 29, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffffffff232f2e2f
+i: 30, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffffffffff232f2e
+i: 31, memSrc[3]: 0xffffffffffffffff, outLoad: 0xffffffffffff232f
+i: 32, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x4100000000000023
+i: 33, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x242c2b2b1236548c
+i: 34, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x56242c2b2b123654
+i: 35, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x5656242c2b2b1236
+i: 36, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x2f5656242c2b2b12
+i: 37, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x2e2f5656242c2b2b
+i: 38, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x2f2e2f5656242c2b
+i: 39, memSrc[4]: 0x232f2e2f56568441, outLoad: 0x232f2e2f5656242c
+i: 40, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x8c00000000000024
+i: 41, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0xffffffff252a2e2b
+i: 42, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x36ffffffff252a2e
+i: 43, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x1236ffffffff252a
+i: 44, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x2b1236ffffffff25
+i: 45, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x2b2b1236ffffffff
+i: 46, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x2c2b2b1236ffffff
+i: 47, memSrc[5]: 0x242c2b2b1236548c, outLoad: 0x242c2b2b1236ffff
+i: 48, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0x2b000000000000ff
+i: 49, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0x262d2d2a4521dddd
+i: 50, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0x2a262d2d2a4521dd
+i: 51, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0x252a262d2d2a4521
+i: 52, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0xff252a262d2d2a45
+i: 53, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0xffff252a262d2d2a
+i: 54, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0xffffff252a262d2d
+i: 55, memSrc[6]: 0xffffffff252a2e2b, outLoad: 0xffffffff252a262d
+i: 56, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0xdd00000000000026
+i: 57, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x3f343f3e22222222
+i: 58, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x213f343f3e222222
+i: 59, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x45213f343f3e2222
+i: 60, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x2a45213f343f3e22
+i: 61, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x2d2a45213f343f3e
+i: 62, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x2d2d2a45213f343f
+i: 63, memSrc[7]: 0x262d2d2a4521dddd, outLoad: 0x262d2d2a45213f34
+i: 64, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x220000000000003f
+i: 65, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x3e353d3c41231548
+i: 66, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x223e353d3c412315
+i: 67, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x22223e353d3c4123
+i: 68, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x3e22223e353d3c41
+i: 69, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x3f3e22223e353d3c
+i: 70, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x343f3e22223e353d
+i: 71, memSrc[8]: 0x3f343f3e22222222, outLoad: 0x3f343f3e22223e35
+i: 72, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x480000000000003e
+i: 73, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x363a3c3b45421212
+i: 74, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x23363a3c3b454212
+i: 75, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x4123363a3c3b4542
+i: 76, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x3c4123363a3c3b45
+i: 77, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x3d3c4123363a3c3b
+i: 78, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x353d3c4123363a3c
+i: 79, memSrc[9]: 0x3e353d3c41231548, outLoad: 0x3e353d3c4123363a
+i: 80, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x1200000000000036
+i: 81, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x3b373b3a4545afcb
+i: 82, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x423b373b3a4545af
+i: 83, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x45423b373b3a4545
+i: 84, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x3b45423b373b3a45
+i: 85, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x3c3b45423b373b3a
+i: 86, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x3a3c3b45423b373b
+i: 87, memSrc[10]: 0x363a3c3b45421212, outLoad: 0x363a3c3b45423b37
+i: 88, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0xcb0000000000003b
+i: 89, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x454f4e4556984525
+i: 90, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x45454f4e45569845
+i: 91, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x4545454f4e455698
+i: 92, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x3a4545454f4e4556
+i: 93, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x3b3a4545454f4e45
+i: 94, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x373b3a4545454f4e
+i: 95, memSrc[11]: 0x3b373b3a4545afcb, outLoad: 0x3b373b3a4545454f
+i: 96, memSrc[12]: 0x454f4e4556984525, outLoad: 0x2500000000000045
+i: 97, memSrc[12]: 0x454f4e4556984525, outLoad: 0xfffffffffffffffc
+i: 98, memSrc[12]: 0x454f4e4556984525, outLoad: 0x98ffffffffffffff
+i: 99, memSrc[12]: 0x454f4e4556984525, outLoad: 0x5698ffffffffffff
+i: 100, memSrc[12]: 0x454f4e4556984525, outLoad: 0x455698ffffffffff
+i: 101, memSrc[12]: 0x454f4e4556984525, outLoad: 0x4e455698ffffffff
+i: 102, memSrc[12]: 0x454f4e4556984525, outLoad: 0x4f4e455698ffffff
+i: 103, memSrc[12]: 0x454f4e4556984525, outLoad: 0x454f4e455698ffff
+i: 104, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xfc000000000000ff
+i: 105, memSrc[13]: 0xfffffffffffffffc, outLoad: 0x474d474c55aaaaaa
+i: 106, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xff474d474c55aaaa
+i: 107, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xffff474d474c55aa
+i: 108, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xffffff474d474c55
+i: 109, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xffffffff474d474c
+i: 110, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xffffffffff474d47
+i: 111, memSrc[13]: 0xfffffffffffffffc, outLoad: 0xffffffffffff474d
+i: 112, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0xaa00000000000047
+i: 113, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0x4a484a4c65665659
+i: 114, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0xaa4a484a4c656656
+i: 115, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0x55aa4a484a4c6566
+i: 116, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0x4c55aa4a484a4c65
+i: 117, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0x474c55aa4a484a4c
+i: 118, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0x4d474c55aa4a484a
+i: 119, memSrc[14]: 0x474d474c55aaaaaa, outLoad: 0x474d474c55aa4a48
diff --git a/none/tests/mips64/unaligned_load.vgtest b/none/tests/mips64/unaligned_load.vgtest
new file mode 100644
index 0000000..ee475b9
--- /dev/null
+++ b/none/tests/mips64/unaligned_load.vgtest
@@ -0,0 +1,2 @@
+prog: unaligned_load
+vgopts: -q
diff --git a/none/tests/mmap_fcntl_bug.c b/none/tests/mmap_fcntl_bug.c
index 056b89c..f49639a 100644
--- a/none/tests/mmap_fcntl_bug.c
+++ b/none/tests/mmap_fcntl_bug.c
@@ -19,6 +19,7 @@
 	const char *file = /* argv[1]; */
 			   "mmap_fcntl_bug.c";
 	int fd, status;
+        off_t initial;
 
 	if (!file)
 		errx(1, "Usage: %s <normal-file>", argv[0]);
@@ -27,6 +28,13 @@
 	if (fd < 0)
 		err(1, "Opening %s", file);
 
+        // reproduce bug 297991: mmap interferes with fd position
+        initial = lseek(fd, 123, SEEK_SET);
+        if (123 != initial)
+                err(1, "initial off_t differs from 123 (TEST FAILED)");
+        if (lseek(fd, 0, SEEK_CUR) != 123)
+                err(1, "zero offset from initial differs from 123 (TEST FAILED)");
+
 	fl.l_type = F_WRLCK;
 	fl.l_whence = SEEK_SET;
 	fl.l_start = 0;
@@ -39,6 +47,8 @@
 	/* If under valgrind, mmap re-opens and closes file, screwing us */
 	if (mmap(NULL, getpagesize(), PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0) == MAP_FAILED)
 		err(1, "mmap of %s", file);
+        if (lseek(fd, 0, SEEK_CUR) != 123)
+                errx(1, "zero offset from initial after mmap differs from 123 (TEST FAILED)");
 
 	switch (fork()) {
 	case 0:
diff --git a/none/tests/ppc32/Makefile.am b/none/tests/ppc32/Makefile.am
index 6c8a52a..976d9f4 100644
--- a/none/tests/ppc32/Makefile.am
+++ b/none/tests/ppc32/Makefile.am
@@ -30,7 +30,12 @@
 	test_isa_2_06_part1.stderr.exp  test_isa_2_06_part1.stdout.exp  test_isa_2_06_part1.vgtest \
 	test_isa_2_06_part2.stderr.exp  test_isa_2_06_part2.stdout.exp  test_isa_2_06_part2.vgtest \
 	test_isa_2_06_part3.stderr.exp  test_isa_2_06_part3.stdout.exp  test_isa_2_06_part3.vgtest \
-	test_dfp1.stderr.exp test_dfp1.stdout.exp test_dfp1.vgtest
+	test_dfp1.stderr.exp test_dfp1.stdout.exp test_dfp1.vgtest \
+	test_dfp2.stderr.exp test_dfp2.stdout.exp test_dfp2.vgtest \
+	test_dfp2.stdout.exp_Without_dcffix \
+	test_dfp3.stderr.exp test_dfp3.stdout.exp test_dfp3.vgtest \
+	test_dfp4.stderr.exp test_dfp4.stdout.exp test_dfp4.vgtest \
+	test_dfp5.stderr.exp test_dfp5.stdout.exp test_dfp5.vgtest
 
 check_PROGRAMS = \
 	allexec \
@@ -41,7 +46,7 @@
 	test_isa_2_06_part1 \
 	test_isa_2_06_part2 \
 	test_isa_2_06_part3 \
-	test_dfp1
+	test_dfp1 test_dfp2 test_dfp3 test_dfp4 test_dfp5
 
 
 AM_CFLAGS    += @FLAG_M32@
@@ -89,3 +94,13 @@
 
 test_dfp1_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -lm -g -mregnames $(DFP_FLAG) \
 			@FLAG_M32@ $(BUILD_FLAGS_DFP)
+test_dfp2_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -lm -g -mregnames $(DFP_FLAG) \
+			@FLAG_M32@ $(BUILD_FLAGS_DFP)
+test_dfp3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -lm -g -mregnames $(DFP_FLAG) \
+			@FLAG_M32@ $(BUILD_FLAGS_DFP)
+
+test_dfp4_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -lm -g -mregnames $(DFP_FLAG) \
+			@FLAG_M32@ $(BUILD_FLAGS_DFP)
+
+test_dfp5_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -lm -g -mregnames $(DFP_FLAG) \
+			@FLAG_M32@ $(BUILD_FLAGS_DFP)
diff --git a/none/tests/ppc32/jm-fp.stdout.exp b/none/tests/ppc32/jm-fp.stdout.exp
index b2394cf..cff9df2 100644
--- a/none/tests/ppc32/jm-fp.stdout.exp
+++ b/none/tests/ppc32/jm-fp.stdout.exp
@@ -719,8 +719,8 @@
      frsqrte 8000000000000000 => fff0000000000000
      frsqrte 7ff0000000000000 => 0000000000000000
      frsqrte fff0000000000000 => 7ff8000000000000
-     frsqrte 7ff7ffffffffffff => 7fff800000000000
-     frsqrte fff7ffffffffffff => ffff800000000000
+     frsqrte 7ff7ffffffffffff => 7fff000000000000
+     frsqrte fff7ffffffffffff => ffff000000000000
      frsqrte 7ff8000000000000 => 7ff8000000000000
      frsqrte fff8000000000000 => fff8000000000000
 
@@ -891,8 +891,8 @@
     frsqrte. 8000000000000000 => fff0000000000000
     frsqrte. 7ff0000000000000 => 0000000000000000
     frsqrte. fff0000000000000 => 7ff8000000000000
-    frsqrte. 7ff7ffffffffffff => 7fff800000000000
-    frsqrte. fff7ffffffffffff => ffff800000000000
+    frsqrte. 7ff7ffffffffffff => 7fff000000000000
+    frsqrte. fff7ffffffffffff => ffff000000000000
     frsqrte. 7ff8000000000000 => 7ff8000000000000
     frsqrte. fff8000000000000 => fff8000000000000
 
diff --git a/none/tests/ppc32/jm-insns.c b/none/tests/ppc32/jm-insns.c
index 3249d23..038fb73 100644
--- a/none/tests/ppc32/jm-insns.c
+++ b/none/tests/ppc32/jm-insns.c
@@ -360,6 +360,7 @@
     PPC_COMPARE    = 0x00000300,
     PPC_CROP       = 0x00000400,
     PPC_LDST       = 0x00000500,
+    PPC_POPCNT     = 0x00000600,
     PPC_TYPE       = 0x00000F00,
     /* Family */
     PPC_INTEGER    = 0x00010000,
@@ -1686,6 +1687,17 @@
     { NULL,                   NULL,           },
 };
 
+static void
+tests_popcnt_one(void)
+{
+   __asm__ __volatile__ ("popcntb      17, 14");
+}
+
+static test_t tests_popcnt_ops_one[] = {
+    { &tests_popcnt_one            , "        popcntb", },
+    { NULL,                   NULL,           },
+};
+
 #if !defined (NO_FLOAT)
 static void test_fsel (void)
 {
@@ -2030,7 +2042,7 @@
 
 static void test_frsqrte_ (void)
 {
-    __asm__ __volatile__ ("frsqrte.     17, 14");
+     __asm__ __volatile__ ("frsqrte.     17, 14");
 }
 
 static void test_frsp_ (void)
@@ -3115,7 +3127,7 @@
 #endif /* defined (HAS_ALTIVEC) */
 
 #if defined (HAS_ALTIVEC)
-#if 0
+#if 1
 static void test_vmaddfp (void)
 {
     __asm__ __volatile__ ("vmaddfp      17, 14, 15, 16");
@@ -3128,8 +3140,8 @@
 #endif
 
 static test_t tests_afa_ops_three[] = {
-//    { &test_vmaddfp         , "     vmaddfp", },   // TODO: Not yet supported
-//    { &test_vnmsubfp        , "    vnmsubfp", },   // TODO: Not yet supported
+    { &test_vmaddfp         , "     vmaddfp", },
+    { &test_vnmsubfp        , "    vnmsubfp", },
     { NULL,                   NULL,           },
 };
 #endif /* defined (HAS_ALTIVEC) */
@@ -3934,6 +3946,11 @@
         "PPC integer store insns with three register args",
         0x0001050b,
     },
+    {
+        tests_popcnt_ops_one   ,
+        "PPC integer population count with one register args, no flags",
+        0x00010601,
+    },
 #if !defined (NO_FLOAT)
     {
         tests_fa_ops_three    ,
@@ -4097,16 +4114,16 @@
 #endif /* defined (HAS_ALTIVEC) */
 #if defined (HAS_ALTIVEC)
     {
-        tests_afa_ops_three   ,
-        "Altivec floating point arith insns with three args",
-        0x00050103,
+        tests_afa_ops_two     ,
+        "Altivec floating point arith insns with two args",
+        0x00050102,
     },
 #endif /* defined (HAS_ALTIVEC) */
 #if defined (HAS_ALTIVEC)
     {
-        tests_afa_ops_two     ,
-        "Altivec floating point arith insns with two args",
-        0x00050102,
+        tests_afa_ops_three   ,
+        "Altivec floating point arith insns with three args",
+        0x00050103,
     },
 #endif /* defined (HAS_ALTIVEC) */
 #if defined (HAS_ALTIVEC)
@@ -4624,12 +4641,17 @@
 {
    volatile HWord_t res;
    volatile uint32_t flags, xer, xer_orig;
-   int i, j, is_div, zap_hi32;
+   int i, j, is_div;
+#ifdef __powerpc64__
+   int zap_hi32;
+#endif
 
    // catches div, divwu, divo, divwu, divwuo, and . variants
    is_div = strstr(name, "divw") != NULL;
 
+#ifdef __powerpc64__
    zap_hi32 = strstr(name, "mulhw") != NULL;
+#endif
    
    xer_orig = 0x00000000;
  redo:
@@ -5741,6 +5763,14 @@
        res = f17;
        ur = *(uint64_t *)(&res);
 
+       if (strstr(name, " frsqrte") !=  NULL)
+          /* The 32-bit frsqrte instruction is the Floatig Reciprical Square
+           * Root Estimate instruction.  The precision of the estimate will
+           * vary from Proceesor implementation.  The approximation varies in
+           * bottom two bytes of the 32-bit result.
+           */
+           ur &= 0xFFFF000000000000ULL;
+
       if (zap_hi_32bits)
          ur &= 0x00000000FFFFFFFFULL;
       if (zap_lo_44bits)
@@ -6866,12 +6896,12 @@
 #endif
 
    /* if we're doing an estimation operation, arrange to zap the
-      bottom byte of the result as it's basically garbage, and differs
+      bottom 10-bits of the result as it's basically garbage, and differs
       between cpus */
    unsigned int mask
       = (strstr(name,"vrsqrtefp") != NULL ||
          strstr(name,    "vrefp") != NULL)
-           ? 0xFFFFFF00 : 0xFFFFFFFF;
+           ? 0xFFFFC000 : 0xFFFFFFFF;
 
    for (i=0; i<nb_vfargs; i++) {
       vec_in  = (vector float)vfargs[i];
@@ -6995,7 +7025,7 @@
    volatile vector float vec_in1, vec_in2, vec_in3, vec_out;
    volatile vector unsigned int vscr;
    unsigned int *src1, *src2, *src3, *dst;
-   int i,j,k;
+   int i,j,k,n;
 #if defined TEST_VSCR_SAT
    unsigned int* p_vscr;
 #endif
@@ -7042,6 +7072,38 @@
             src3 = (unsigned int*)&vec_in3;
             dst  = (unsigned int*)&vec_out;
 
+            /* Valgrind emulation for vmaddfp and vnmsubfp generates negative 
+             * NAN.  Technically, NAN is not positive or negative so mask off
+             * the sign bit to eliminate false errors.
+             * 
+             * Valgrind emulation is creating negative zero.  Mask off negative
+             * from zero result.
+             * 
+             * These are only an issue as we are printing the result in hex.
+             *
+             * The VEX emulation accuracy for the vmaddfp and vnmsubfp 
+             * instructions is off by a single bit in the least significant 
+             * bit position of the result.  Mask off the LSB.
+             */
+
+             for (n=0; n<4; n++) {
+                /* NAN result*/
+                if (((dst[n] & 0x7F800000) == 0x7F800000) &&
+                   ((dst[n] & 0x7FFFFF) != 0))
+                   dst[n] &= 0x7FFFFFFF;
+
+                /* Negative zero result */
+                else if (dst[n] == 0x80000000)
+                    dst[n] = 0x0;
+
+                else
+                    /* The actual result and the emulated result for the
+                     * vmaddfp and vnmsubfp instructions sometimes differ 
+                     * in the least significant bit.  Mask off the bit.
+                     */
+                    dst[n] &= 0xFFFFFFFE;
+                }
+
             printf("%s: %08x%08x%08x%08x, %08x%08x%08x%08x, %08x%08x%08x%08x\n", name,
                    src1[0], src1[1], src1[2], src1[3],
                    src2[0], src2[1], src2[2], src2[3],
@@ -7307,7 +7369,8 @@
       if ((type == PPC_ARITH   && !seln_flags.arith) ||
           (type == PPC_LOGICAL && !seln_flags.logical) ||
           (type == PPC_COMPARE && !seln_flags.compare) ||
-          (type == PPC_LDST && !seln_flags.ldst))
+          (type == PPC_LDST && !seln_flags.ldst) ||
+          (type == PPC_POPCNT && !seln_flags.arith))
          continue;
       /* Check instruction family */
       family = all_tests[i].flags & PPC_FAMILY;
diff --git a/none/tests/ppc32/jm-int.stdout.exp b/none/tests/ppc32/jm-int.stdout.exp
index 9d524da..5198d02 100644
--- a/none/tests/ppc32/jm-int.stdout.exp
+++ b/none/tests/ppc32/jm-int.stdout.exp
@@ -1596,4 +1596,9 @@
        stwux 000f423f, 4 => 000f423f, 4 (00000000 00000000)
        stwux ffffffff, 8 => ffffffff, 8 (00000000 00000000)
 
-All done. Tested 154 different instructions
+PPC integer population count with one register args, no flags:
+        popcntb 00000000 => 00000000 (00000000 00000000)
+        popcntb 000f423f => 00040206 (00000000 00000000)
+        popcntb ffffffff => 08080808 (00000000 00000000)
+
+All done. Tested 155 different instructions
diff --git a/none/tests/ppc32/jm-vmx.stdout.exp b/none/tests/ppc32/jm-vmx.stdout.exp
index 0a0bb3e..3e19e63 100644
--- a/none/tests/ppc32/jm-vmx.stdout.exp
+++ b/none/tests/ppc32/jm-vmx.stdout.exp
@@ -1517,7 +1517,6 @@
        stvxl   7, f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff => f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff (00000000)
        stvxl  14, f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff => f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff (00000000)
 
-Altivec floating point arith insns with three args:
 Altivec floating point arith insns with two args:
       vaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
       vaddfp:  => 033fffff 033fffff 033fffff 033fffff (00000000)
@@ -1907,6 +1906,585 @@
       vminfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff
       vminfp:  => ffffffff ffffffff ffffffff ffffffff (00000000)
 
+Altivec floating point arith insns with three args:
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+
 Altivec floating point arith insns with one arg:
        vrfin: 02bfffff 02bfffff 02bfffff 02bfffff
        vrfin:  => 00000000 00000000 00000000 00000000 (00000000)
@@ -2009,13 +2587,13 @@
        vrfim:  => ffffffff ffffffff ffffffff ffffffff (00000000)
 
        vrefp: 02bfffff 02bfffff 02bfffff 02bfffff
-       vrefp:  => 7c2aa900 7c2aa900 7c2aa900 7c2aa900 (00000000)
+       vrefp:  => 7c2a8000 7c2a8000 7c2a8000 7c2a8000 (00000000)
        vrefp: 513fffff 513fffff 513fffff 513fffff
-       vrefp:  => 2daaa900 2daaa900 2daaa900 2daaa900 (00000000)
+       vrefp:  => 2daa8000 2daa8000 2daa8000 2daa8000 (00000000)
        vrefp: 82bfffff 82bfffff 82bfffff 82bfffff
-       vrefp:  => fc2aa900 fc2aa900 fc2aa900 fc2aa900 (00000000)
+       vrefp:  => fc2a8000 fc2a8000 fc2a8000 fc2a8000 (00000000)
        vrefp: d13fffff d13fffff d13fffff d13fffff
-       vrefp:  => adaaa900 adaaa900 adaaa900 adaaa900 (00000000)
+       vrefp:  => adaa8000 adaa8000 adaa8000 adaa8000 (00000000)
        vrefp: 00000000 00000000 00000000 00000000
        vrefp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
        vrefp: 80000000 80000000 80000000 80000000
@@ -2025,18 +2603,18 @@
        vrefp: ff800000 ff800000 ff800000 ff800000
        vrefp:  => 80000000 80000000 80000000 80000000 (00000000)
        vrefp: 7fffffff 7fffffff 7fffffff 7fffffff
-       vrefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+       vrefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
        vrefp: ffffffff ffffffff ffffffff ffffffff
-       vrefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+       vrefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
        vrefp: 7fbfffff 7fbfffff 7fbfffff 7fbfffff
-       vrefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+       vrefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
        vrefp: ffbfffff ffbfffff ffbfffff ffbfffff
-       vrefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+       vrefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
 
    vrsqrtefp: 02bfffff 02bfffff 02bfffff 02bfffff
-   vrsqrtefp:  => 5dd10300 5dd10300 5dd10300 5dd10300 (00000000)
+   vrsqrtefp:  => 5dd10000 5dd10000 5dd10000 5dd10000 (00000000)
    vrsqrtefp: 513fffff 513fffff 513fffff 513fffff
-   vrsqrtefp:  => 3693ca00 3693ca00 3693ca00 3693ca00 (00000000)
+   vrsqrtefp:  => 3693c000 3693c000 3693c000 3693c000 (00000000)
    vrsqrtefp: 82bfffff 82bfffff 82bfffff 82bfffff
    vrsqrtefp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
    vrsqrtefp: d13fffff d13fffff d13fffff d13fffff
@@ -2050,13 +2628,13 @@
    vrsqrtefp: ff800000 ff800000 ff800000 ff800000
    vrsqrtefp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
    vrsqrtefp: 7fffffff 7fffffff 7fffffff 7fffffff
-   vrsqrtefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+   vrsqrtefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
    vrsqrtefp: ffffffff ffffffff ffffffff ffffffff
-   vrsqrtefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+   vrsqrtefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
    vrsqrtefp: 7fbfffff 7fbfffff 7fbfffff 7fbfffff
-   vrsqrtefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+   vrsqrtefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
    vrsqrtefp: ffbfffff ffbfffff ffbfffff ffbfffff
-   vrsqrtefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+   vrsqrtefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
 
 Altivec floating point compare insns:
     vcmpgtfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
@@ -3033,4 +3611,4 @@
       vctsxs: ffbfffff (          nan), 18 => 00000000 ( 0.000000e+00) (00000000)
       vctsxs: ffbfffff (          nan), 27 => 00000000 ( 0.000000e+00) (00000000)
 
-All done. Tested 163 different instructions
+All done. Tested 165 different instructions
diff --git a/none/tests/ppc32/jm-vmx.stdout.exp_Minus_nan b/none/tests/ppc32/jm-vmx.stdout.exp_Minus_nan
index 8c72a54..c3360e3 100644
--- a/none/tests/ppc32/jm-vmx.stdout.exp_Minus_nan
+++ b/none/tests/ppc32/jm-vmx.stdout.exp_Minus_nan
@@ -1517,7 +1517,6 @@
        stvxl   7, f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff => f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff (00000000)
        stvxl  14, f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff => f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff (00000000)
 
-Altivec floating point arith insns with three args:
 Altivec floating point arith insns with two args:
       vaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
       vaddfp:  => 033fffff 033fffff 033fffff 033fffff (00000000)
@@ -1907,6 +1906,585 @@
       vminfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff
       vminfp:  => ffffffff ffffffff ffffffff ffffffff (00000000)
 
+Altivec floating point arith insns with three args:
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+
 Altivec floating point arith insns with one arg:
        vrfin: 02bfffff 02bfffff 02bfffff 02bfffff
        vrfin:  => 00000000 00000000 00000000 00000000 (00000000)
@@ -2009,13 +2587,13 @@
        vrfim:  => ffffffff ffffffff ffffffff ffffffff (00000000)
 
        vrefp: 02bfffff 02bfffff 02bfffff 02bfffff
-       vrefp:  => 7c2aa900 7c2aa900 7c2aa900 7c2aa900 (00000000)
+       vrefp:  => 7c2a8000 7c2a8000 7c2a8000 7c2a8000 (00000000)
        vrefp: 513fffff 513fffff 513fffff 513fffff
-       vrefp:  => 2daaa900 2daaa900 2daaa900 2daaa900 (00000000)
+       vrefp:  => 2daa8000 2daa8000 2daa8000 2daa8000 (00000000)
        vrefp: 82bfffff 82bfffff 82bfffff 82bfffff
-       vrefp:  => fc2aa900 fc2aa900 fc2aa900 fc2aa900 (00000000)
+       vrefp:  => fc2a8000 fc2a8000 fc2a8000 fc2a8000 (00000000)
        vrefp: d13fffff d13fffff d13fffff d13fffff
-       vrefp:  => adaaa900 adaaa900 adaaa900 adaaa900 (00000000)
+       vrefp:  => adaa8000 adaa8000 adaa8000 adaa8000 (00000000)
        vrefp: 00000000 00000000 00000000 00000000
        vrefp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
        vrefp: 80000000 80000000 80000000 80000000
@@ -2025,18 +2603,18 @@
        vrefp: ff800000 ff800000 ff800000 ff800000
        vrefp:  => 80000000 80000000 80000000 80000000 (00000000)
        vrefp: 7fffffff 7fffffff 7fffffff 7fffffff
-       vrefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+       vrefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
        vrefp: ffffffff ffffffff ffffffff ffffffff
-       vrefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+       vrefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
        vrefp: 7fbfffff 7fbfffff 7fbfffff 7fbfffff
-       vrefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+       vrefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
        vrefp: ffbfffff ffbfffff ffbfffff ffbfffff
-       vrefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+       vrefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
 
    vrsqrtefp: 02bfffff 02bfffff 02bfffff 02bfffff
-   vrsqrtefp:  => 5dd10300 5dd10300 5dd10300 5dd10300 (00000000)
+   vrsqrtefp:  => 5dd10000 5dd10000 5dd10000 5dd10000 (00000000)
    vrsqrtefp: 513fffff 513fffff 513fffff 513fffff
-   vrsqrtefp:  => 3693ca00 3693ca00 3693ca00 3693ca00 (00000000)
+   vrsqrtefp:  => 3693c000 3693c000 3693c000 3693c000 (00000000)
    vrsqrtefp: 82bfffff 82bfffff 82bfffff 82bfffff
    vrsqrtefp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
    vrsqrtefp: d13fffff d13fffff d13fffff d13fffff
@@ -2050,13 +2628,13 @@
    vrsqrtefp: ff800000 ff800000 ff800000 ff800000
    vrsqrtefp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
    vrsqrtefp: 7fffffff 7fffffff 7fffffff 7fffffff
-   vrsqrtefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+   vrsqrtefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
    vrsqrtefp: ffffffff ffffffff ffffffff ffffffff
-   vrsqrtefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+   vrsqrtefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
    vrsqrtefp: 7fbfffff 7fbfffff 7fbfffff 7fbfffff
-   vrsqrtefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+   vrsqrtefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
    vrsqrtefp: ffbfffff ffbfffff ffbfffff ffbfffff
-   vrsqrtefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+   vrsqrtefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
 
 Altivec floating point compare insns:
     vcmpgtfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
@@ -3033,4 +3611,4 @@
       vctsxs: ffbfffff (         -nan), 18 => 00000000 ( 0.000000e+00) (00000000)
       vctsxs: ffbfffff (         -nan), 27 => 00000000 ( 0.000000e+00) (00000000)
 
-All done. Tested 163 different instructions
+All done. Tested 165 different instructions
diff --git a/none/tests/ppc32/power5+_round.c b/none/tests/ppc32/power5+_round.c
index d6f6bc3..b11e67b 100644
--- a/none/tests/ppc32/power5+_round.c
+++ b/none/tests/ppc32/power5+_round.c
@@ -86,25 +86,11 @@
       double friz[] = { inf, 1.0, 1.0, 0, neg0, -1.0, -1.0, -inf, nan };
       double frip[] = { inf, 2.0, 2.0, 0, neg0, -1.0, -1.0, -inf, nan };
       double frim[] = { inf, 1.0, 1.0, 0, neg0, -2.0, -2.0, -inf, nan };
-      int fprf[] = { POS_INF, POS_NORMAL, POS_NORMAL, POS_ZERO, NEG_ZERO,
-         NEG_NORMAL, NEG_NORMAL, NEG_INF, NAN
-      };
       double set2[] = { 0.9, 0.1, -0.1, -0.9, 1e-40, -1e-40 };
       double frin2[] = { 1.0, 0.0, -0.0, -1.0, 0.0, -0.0 };
-      int frin2rf[] =
-          { POS_NORMAL, POS_ZERO, NEG_ZERO, NEG_NORMAL, POS_ZERO,
- NEG_ZERO };
       double friz2[] = { 0.0, 0.0, -0.0, -0.0, 0.0, -0.0 };
-      int friz2rf[] =
-          { POS_ZERO, POS_ZERO, NEG_ZERO, NEG_ZERO, POS_ZERO, NEG_ZERO };
       double frip2[] = { 1.0, 1.0, -0.0, -0.0, 1.0, -0.0 };
-      int frip2rf[] =
-          { POS_NORMAL, POS_NORMAL, NEG_ZERO, NEG_ZERO, POS_NORMAL,
- NEG_ZERO };
       double frim2[] = { 0.0, 0.0, -1.0, -1.0, 0.0, -1.0 };
-      int frim2rf[] =
-          { POS_ZERO, POS_ZERO, NEG_NORMAL, NEG_NORMAL, POS_ZERO,
- NEG_NORMAL };
       double ret;
       int i;
 
@@ -136,26 +122,15 @@
       double set1[] = { inf, 0.9, 0.1, 0, neg0, -0.1, -0.9, -inf, nan };
       double frsp1[] =
           { inf, 0.9f, 0.1f, 0, neg0, -0.1f, -0.9f, -inf, nan };
-      int fprf1[] =
-          { POS_INF, POS_NORMAL, POS_NORMAL, POS_ZERO, NEG_ZERO,
-   NEG_NORMAL,
-         NEG_NORMAL, NEG_INF, NAN
-      };
       double set2[] =
           { 1.2e-38, 1.1e-38, 1e-40, 8e-44, 9e-44, 8e-46, 7e-46 };
       double frsp2[] =
           { 1.2e-38f, 1.1e-38f, 1e-40f, 8e-44f, 9e-44f, 8e-46f, 0.0 };
-      int fprf2[] = { POS_NORMAL, POS_DENORMAL, POS_DENORMAL, POS_DENORMAL,
-         POS_DENORMAL, POS_DENORMAL, POS_ZERO
-      };
       double set3[] =
           { -1.2e-38, -1.1e-38, -1e-40, -8e-44, -9e-44, -8e-46, -7e-46 };
       double frsp3[] =
           { -1.2e-38f, -1.1e-38f, -1e-40f, -8e-44f, -9e-44f, -8e-46f,
 -0.0 };
-      int fprf3[] = { NEG_NORMAL, NEG_DENORMAL, NEG_DENORMAL, NEG_DENORMAL,
-         NEG_DENORMAL, NEG_DENORMAL, NEG_ZERO
-      };
       double ret;
       int i;
       DO_TEST(frsp, set1, frsp1, fprf1);
diff --git a/none/tests/ppc32/round.c b/none/tests/ppc32/round.c
index f49c0b5..dd2bef6 100644
--- a/none/tests/ppc32/round.c
+++ b/none/tests/ppc32/round.c
@@ -142,7 +142,6 @@
 	int status = 0;
 	flt_overlay R, E;
 	char *result;
-	char *eq_ne;
 
 	set_rounding_mode(mode);
 
@@ -153,11 +152,9 @@
 		(R.layout.exp != E.layout.exp) ||
 		(R.layout.frac != E.layout.frac)) {
 		result = "FAILED";
-		eq_ne = "!=";
 		status = 1;
 	} else {
 		result = "PASSED";
-		eq_ne = "==";
 		status = 0;
 	}
 	printf("%s:%s:(double)(%-20a) = %20a",
diff --git a/none/tests/ppc32/test_dfp2.c b/none/tests/ppc32/test_dfp2.c
new file mode 100644
index 0000000..31bdae9
--- /dev/null
+++ b/none/tests/ppc32/test_dfp2.c
@@ -0,0 +1,675 @@
+/*  Copyright (C) 2012 IBM
+
+ Author: Maynard Johnson <maynardj@us.ibm.com>
+         Carl Love <carll@us.ibm.com>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+#include <elf.h>
+#include <link.h>
+
+#define PPC_FEATURE_HAS_VSX  0x00000080 /* Vector Scalar Extension. */
+
+#if defined(HAS_DFP)
+
+register double f14 __asm__ ("fr14");
+register double f15 __asm__ ("fr15");
+register double f16 __asm__ ("fr16");
+register double f17 __asm__ ("fr17");
+register double f18 __asm__ ("fr18");
+register double f19 __asm__ ("fr19");
+
+typedef unsigned char Bool;
+#define True 1
+#define False 0
+
+#define SET_FPSCR_ZERO \
+		do { double _d = 0.0;		                           \
+		__asm__ __volatile__ ("mtfsf 0xFF, %0" : : "f"(_d) ); \
+		} while (0)
+
+#define GET_FPSCR(_arg) \
+  __asm__ __volatile__ ("mffs %0"  : "=f"(_arg) )
+
+#define SET_FPSCR_DRN \
+  __asm__ __volatile__ ("mtfsf  1, %0, 0, 1" :  : "f"(f14) )
+
+#define SH_0  0
+#define SH_1  1
+#define SH_2  15
+#define SH_3  63
+
+#define NUM_RND_MODES  8
+#define CONDREG_MASK  0x0f000000
+#define CONDREG_SHIFT 24
+
+static char ** my_envp;
+static inline char** __auxv_find(void)
+{
+   char **result = my_envp;
+   /* Scan over the env vector looking for the ending NULL */
+   for (; *result != NULL; ++result) {
+   }
+   /* Bump the pointer one more step, which should be the auxv. */
+   return ++result;
+}
+
+static unsigned long fetch_at_hwcap(void)
+{
+   static unsigned long auxv_hwcap = 0;
+   int i;
+   ElfW(auxv_t) * auxv_buf = NULL;
+
+   if (auxv_hwcap)
+      return auxv_hwcap;
+
+   auxv_buf = (ElfW(auxv_t)*) __auxv_find();
+   for (i = 0; auxv_buf[i].a_type != AT_NULL; i++)
+      if (auxv_buf[i].a_type == AT_HWCAP) {
+         auxv_hwcap = auxv_buf[i].a_un.a_val;
+         break;
+      }
+
+   return auxv_hwcap;
+}
+
+int get_vsx(void) 
+{
+   /* Check to see if the AUX vector has the bit set indicating the HW
+    * supports the vsx instructions.  This implies the processor is
+    * at least a POWER 7.
+    */
+   unsigned long hwcap;
+
+   hwcap = fetch_at_hwcap();
+   if ((hwcap & PPC_FEATURE_HAS_VSX) == PPC_FEATURE_HAS_VSX)
+      return 1;
+
+   return 0;
+}
+
+/* The assembly-level instructions being tested */
+static void _test_dscri (int shift)
+{
+   switch(shift) {
+   case SH_0:
+      __asm__ __volatile__ ("dscri  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_0));
+      break;
+
+   case SH_1:
+      __asm__ __volatile__ ("dscri  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_1));
+      break;
+
+   case SH_2:
+      __asm__ __volatile__ ("dscri  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_2));
+      break;
+
+   case SH_3:
+      __asm__ __volatile__ ("dscri  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_3));
+      break;
+   default:
+      printf(" dscri, unsupported shift case %d\n", shift);
+   }
+}
+
+static void _test_dscli (int shift)
+{
+   switch(shift) {
+   case SH_0:
+      __asm__ __volatile__ ("dscli  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_0));
+      break;
+
+   case SH_1:
+      __asm__ __volatile__ ("dscli  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_1));
+      break;
+
+   case SH_2:
+      __asm__ __volatile__ ("dscli  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_2));
+      break;
+
+   case SH_3:
+      __asm__ __volatile__ ("dscli  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_3));
+      break;
+   default:
+      printf(" dscli, unsupported shift case %d\n", shift);
+   }
+}
+
+static void _test_dctdp (void)
+{
+   __asm__ __volatile__ ("dctdp  %0, %1" : "=f" (f18) : "f" (f14));
+}
+
+static void _test_drsp (void)
+{
+   __asm__ __volatile__ ("drsp  %0, %1" : "=f" (f18) : "f" (f14));
+}
+
+static void _test_dctfix (void)
+{
+   __asm__ __volatile__ ("dctfix  %0, %1" : "=f" (f18) : "f" (f14));
+}
+
+/* Power 7 and newer processors support this instruction */
+static void _test_dcffix (void)
+{
+   __asm__ __volatile__ ("dcffix  %0, %1" : "=f" (f18) : "f" (f14));
+}
+
+static void _test_dscriq (int shift)
+{
+   switch(shift) {
+   case SH_0:
+      __asm__ __volatile__ ("dscriq  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_0));
+      break;
+   case SH_1:
+      __asm__ __volatile__ ("dscriq  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_1));
+      break;
+   case SH_2:
+      __asm__ __volatile__ ("dscriq  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_2));
+      break;
+   case SH_3:
+      __asm__ __volatile__ ("dscriq  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_3));
+      break;
+   default:
+      printf(" dscriq, unsupported shift case %d\n", shift);
+   }
+}
+
+static void _test_dscliq (int shift)
+{
+   switch(shift) {
+   case SH_0:
+      __asm__ __volatile__ ("dscliq  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_0));
+      break;
+   case SH_1:
+      __asm__ __volatile__ ("dscliq  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_1));
+      break;
+   case SH_2:
+      __asm__ __volatile__ ("dscliq  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_2));
+      break;
+   case SH_3:
+      __asm__ __volatile__ ("dscliq  %0, %1, %2" : "=f" (f18) : "f" (f14), "i" (SH_3));
+      break;
+   default:
+      printf(" dscliq, unsupported shift case %d\n", shift);
+   }
+}
+
+static void _test_dctqpq (void)
+{
+   __asm__ __volatile__ ("dctqpq  %0, %1" : "=f" (f18) : "f" (f14));
+}
+
+static void _test_dctfixq (void)
+{
+   __asm__ __volatile__ ("dctfixq  %0, %1" : "=f" (f18) : "f" (f14));
+}
+
+static void _test_drdpq (void)
+{
+   __asm__ __volatile__ ("drdpq  %0, %1" : "=f" (f18) : "f" (f14));
+}
+
+static void _test_dcffixq (void)
+{
+   __asm__ __volatile__ ("dcffixq  %0, %1" : "=f" (f18) : "f" (f14));
+}
+
+typedef void (*test_func_t)();
+typedef void (*test_func_main_t)(int);
+typedef void (*test_func_shift_t)(int);
+typedef struct test_table
+{
+   test_func_main_t test_category;
+   char * name;
+} test_table_t;
+
+static unsigned long long dfp128_vals[] = {
+                                           // Some finite numbers
+                                           0x2207c00000000000ULL, 0x0000000000000e50ULL,
+                                           0x2f07c00000000000ULL, 0x000000000014c000ULL,  //large number
+                                           0xa207c00000000000ULL, 0x00000000000000e0ULL,
+                                           0x2206c00000000000ULL, 0x00000000000000cfULL,
+                                           0xa205c00000000000ULL, 0x000000010a395bcfULL,
+                                           0x6209400000fd0000ULL, 0x00253f1f534acdd4ULL, // a small number
+                                           0x000400000089b000ULL, 0x0a6000d000000049ULL, // very small number
+                                           // flavors of zero
+                                           0x2208000000000000ULL, 0x0000000000000000ULL,
+                                           0xa208000000000000ULL, 0x0000000000000000ULL, // negative
+                                           0xa248000000000000ULL, 0x0000000000000000ULL,
+                                           // flavors of NAN
+                                           0x7c00000000000000ULL, 0x0000000000000000ULL, // quiet
+                                           0xfc00000000000000ULL, 0xc00100035b007700ULL,
+                                           0x7e00000000000000ULL, 0xfe000000d0e0a0d0ULL, // signaling
+                                           // flavors of Infinity
+                                           0x7800000000000000ULL, 0x0000000000000000ULL,
+                                           0xf800000000000000ULL, 0x0000000000000000ULL, // negative
+                                           0xf900000000000000ULL, 0x0000000000000000ULL
+};
+
+static unsigned long long int64_vals[] = {
+                                          // I64 values
+                                          0x0ULL,                // zero
+                                          0x1ULL,                // one
+                                          0xffffffffffffffffULL, // minus one
+                                          0x2386f26fc0ffffULL,   // 9999999999999999
+                                          0xffdc790d903f0001ULL, // -9999999999999999
+                                          0x462d53c8abac0ULL,    // 1234567890124567
+                                          0xfffb9d2ac3754540ULL, // -1234567890124567
+};
+
+static unsigned long long dfp64_vals[] = {
+                                          // various finite numbers
+                                          0x2234000000000e50ULL,
+                                          0x223400000014c000ULL,
+                                          0xa2340000000000e0ULL,// negative
+                                          0x22240000000000cfULL,
+                                          0xa21400010a395bcfULL,// negative
+                                          0x6e4d3f1f534acdd4ULL,// large number
+                                          0x000400000089b000ULL,// very small number
+                                          // flavors of zero
+                                          0x2238000000000000ULL,
+                                          0xa238000000000000ULL,
+                                          0x4248000000000000ULL,
+                                          // flavors of NAN
+                                          0x7e34000000000111ULL,
+                                          0xfe000000d0e0a0d0ULL,//signaling
+                                          0xfc00000000000000ULL,//quiet
+                                          // flavors of Infinity
+                                          0x7800000000000000ULL,
+                                          0xf800000000000000ULL,//negative
+                                          0x7a34000000000000ULL,
+};
+
+
+typedef struct dfp_test_args {
+   int fra_idx;
+   int frb_idx;
+} dfp_test_args_t;
+
+
+/* Index pairs from dfp64_vals or dfp128_vals array to be used with 
+ * dfp_two_arg_tests */
+static dfp_test_args_t int64_args_x1[] = {
+  /*                        {int64 input val, unused } */
+                                          {0, 0},
+                                          {1, 0},
+                                          {2, 0},
+                                          {3, 0},
+                                          {4, 0},
+                                          {5, 0},
+                                          {6, 0},
+};
+
+static dfp_test_args_t dfp_2args_x1[] = {
+  /*                               {dfp_arg, shift_arg} */
+                                         {0, SH_0},
+                                         {0, SH_1},
+                                         {0, SH_2},
+                                         {0, SH_3},
+                                         {5, SH_0},
+                                         {5, SH_1},
+                                         {5, SH_2},
+                                         {5, SH_3},
+                                         {6, SH_0},
+                                         {6, SH_1},
+                                         {6, SH_2},
+                                         {6, SH_3},
+                                         {7, SH_0},
+                                         {7, SH_1},
+                                         {7, SH_2},
+                                         {7, SH_3},
+                                         {10, SH_0},
+                                         {10, SH_1},
+                                         {10, SH_2},
+                                         {10, SH_3},
+                                         {13, SH_0},
+                                         {13, SH_1},
+                                         {13, SH_2},
+                                         {13, SH_3},
+};
+
+/* Index pairs from dfp64_vals array to be used with dfp_one_arg_tests */
+static dfp_test_args_t dfp_1args_x1[] = {
+  /*                               {dfp_arg, unused} */
+                                         {0, 0},
+                                         {1, 0},
+                                         {2, 0},
+                                         {3, 0},
+                                         {4, 0},
+                                         {5, 0},
+                                         {6, 0},
+                                         {7, 0},
+                                         {8, 0},
+                                         {9, 0},
+                                         {10, 0},
+                                         {11, 0},
+                                         {12, 0},
+                                         {13, 0},
+                                         {14, 0},
+};
+
+typedef enum {
+   LONG_TEST,
+   QUAD_TEST
+} precision_type_t;
+
+typedef struct dfp_test
+{
+   test_func_t test_func;
+   const char * name;
+   dfp_test_args_t * targs;
+   int num_tests;
+   precision_type_t precision;
+   const char * op;
+   Bool cr_supported;
+} dfp_test_t;
+
+/* The dcffix and dcffixq tests are a little different in that they both take
+ * an I64 input.  
+ */
+static dfp_test_t
+dfp_dcffix_dcffixq_tests[] = {
+                              { &_test_dcffixq,"dcffixq", int64_args_x1, 7, QUAD_TEST, "I64S->D128", True},
+                              /* Power 7 instruction */
+                              { &_test_dcffix, "dcffix",  int64_args_x1, 7, LONG_TEST, "I64S->D64", True},
+                              { NULL, NULL, NULL, 0, 0, NULL}
+};
+
+static dfp_test_t
+dfp_one_arg_tests[] = {
+                       { &_test_dctdp,  "dctdp",   dfp_1args_x1, 15, LONG_TEST, "D32->D64", True},
+                       { &_test_drsp,   "drsp",    dfp_1args_x1, 15, LONG_TEST, "D64->D32", True},
+                       { &_test_dctfix, "dctfix",  dfp_1args_x1, 15, LONG_TEST, "D64->I64S", True},
+                       { &_test_dctqpq, "dctqpq",  dfp_1args_x1, 15, QUAD_TEST, "D64->D128", True},
+                       { &_test_dctfixq,"dctfixq", dfp_1args_x1, 15, QUAD_TEST, "D128->I64S", True},
+                       { &_test_drdpq,  "drdpq",   dfp_1args_x1, 15, QUAD_TEST, "D128->D64", True},
+                       { NULL, NULL, NULL, 0, 0, NULL}
+};
+
+
+static dfp_test_t
+dfp_two_arg_tests[] = {
+                       { &_test_dscri,  "dscri",   dfp_2args_x1, 20, LONG_TEST, ">>", True},
+                       { &_test_dscli,  "dscli",   dfp_2args_x1, 20, LONG_TEST, "<<", True},
+                       { &_test_dscriq, "dscriq",  dfp_2args_x1, 20, QUAD_TEST, ">>", True},
+                       { &_test_dscliq, "dscliq",  dfp_2args_x1, 20, QUAD_TEST, "<<", True},
+                       { NULL, NULL, NULL, 0, 0, NULL}
+};
+
+void set_rounding_mode(unsigned long long rnd_mode)
+{
+   double fpscr;
+   unsigned long long * hex_fpscr = (unsigned long long *)&fpscr;
+
+   *hex_fpscr = 0ULL;
+   __asm__ __volatile__ ("mffs %0"  : "=f"(f14));
+   fpscr = f14;
+   *hex_fpscr &= 0xFFFFFFF0FFFFFFFFULL;
+   *hex_fpscr |= (rnd_mode << 32);
+   f14 = fpscr;
+   SET_FPSCR_DRN;
+}
+
+static void test_dfp_one_arg_ops(int unused)
+{
+   test_func_t func;
+   unsigned long long u0, u0x;
+   double res, d0, *d0p;
+   double d0x, *d0xp;
+   unsigned long round_mode;
+   int k = 0;
+
+   u0x = 0;
+   d0p = &d0;
+   d0xp = &d0x;
+
+   while ((func = dfp_one_arg_tests[k].test_func)) {
+      int i;
+
+      for (round_mode = 0; round_mode < NUM_RND_MODES; round_mode++) {
+         /* Do each test with each of the possible rounding modes */
+         dfp_test_t test_group = dfp_one_arg_tests[k];
+
+         printf("\ntest with rounding mode %lu \n", round_mode);
+         /* The set_rounding_mode() uses the global value f14. Call the
+          * function before setting up the test for the specific instruction
+          * to avoid avoid conflicts using f14.
+          */
+         set_rounding_mode(round_mode);
+
+         for (i = 0; i < test_group.num_tests; i++) {
+
+            if (test_group.precision == LONG_TEST) {
+               u0 = dfp64_vals[test_group.targs[i].fra_idx];
+            } else {
+               u0 = dfp128_vals[test_group.targs[i].fra_idx * 2];
+               u0x = dfp128_vals[(test_group.targs[i].fra_idx * 2) + 1];
+            }
+
+            *(unsigned long long *)d0p = u0;
+            f14 = d0;
+            if (test_group.precision == QUAD_TEST) {
+	       *(unsigned long long *)d0xp = u0x;
+                f15 = d0x;
+            }
+
+            (*func)();
+            res = f18;
+
+            printf("%s %016llx", test_group.name, u0);
+
+            if (test_group.precision == LONG_TEST) {
+               printf(" %s  => %016llx",
+                      test_group.op, *((unsigned long long *)(&res)));
+            } else {
+               double resx = f19;
+               printf(" %016llx %s ==> %016llx %016llx",
+                      u0x, test_group.op,
+                      *((unsigned long long *)(&res)),
+                      *((unsigned long long *)(&resx)));
+            }
+            printf("\n");
+         }
+      }
+
+      k++;
+      printf( "\n" );
+   }
+}
+
+static void test_dfp_two_arg_ops(int unused)
+/* Shift instructions: first argument is the DFP source, second argument
+ * is 6 bit shift amount.
+ */
+{
+   test_func_shift_t func;
+   unsigned long long u0, u0x;
+   unsigned int shift_by;
+   double res, d0, *d0p;
+   double d0x, *d0xp;
+   unsigned long round_mode;
+   int k = 0;
+
+   u0x = 0;
+   d0p = &d0;
+   d0xp = &d0x;
+
+   while ((func = dfp_two_arg_tests[k].test_func)) {
+      int i;
+
+      for (round_mode = 0; round_mode < NUM_RND_MODES; round_mode++) {
+         /* Do each test with each of the possible rounding modes */
+         dfp_test_t test_group = dfp_two_arg_tests[k];
+
+         printf("\ntest with rounding mode %lu \n", round_mode);
+
+         /* The set_rounding_mode() uses the global value f14. Call the
+          * function before setting up the test for the specific instruction
+          * to avoid avoid conflicts using f14.
+          */
+         set_rounding_mode(round_mode);
+
+         for (i = 0; i < test_group.num_tests; i++) {
+
+            shift_by = test_group.targs[i].frb_idx;
+
+            if (test_group.precision == LONG_TEST) {
+               u0 = dfp64_vals[test_group.targs[i].fra_idx];
+            } else {
+               u0 = dfp128_vals[test_group.targs[i].fra_idx * 2];
+               u0x = dfp128_vals[(test_group.targs[i].fra_idx * 2) + 1];
+            }
+
+            *(unsigned long long *)d0p = u0;
+            f14 = d0;
+            if (test_group.precision == QUAD_TEST) {
+               *(unsigned long long *)d0xp = u0x;
+               f15 = d0x;
+            }
+
+            (*func)(shift_by);
+            res = f18;
+
+            printf("%s %016llx", test_group.name, u0);
+
+            if (test_group.precision) {
+               printf(" %s %-3d => %016llx",
+                      test_group.op, shift_by, *((unsigned long long *)(&res)));
+            } else {
+               double resx = f19;
+               printf(" %016llx %s %-3d  ==> %016llx %016llx",
+                      u0x, test_group.op, shift_by,
+                      *((unsigned long long *)(&res)),
+                      *((unsigned long long *)(&resx)));
+            }
+            printf("\n" );
+         }
+      }
+
+      k++;
+      printf( "\n" );
+   }
+}
+
+static void test_dcffix_dcffixq(int has_vsx)
+{
+   test_func_t func;
+   unsigned long long u0;
+   double res, d0, *d0p;
+   int k = 0, round_mode;
+
+   d0p = &d0;
+
+
+   while ((func = dfp_dcffix_dcffixq_tests[k].test_func)) {
+      int i;
+
+      if ((!has_vsx) && (!strcmp("dcffix", dfp_dcffix_dcffixq_tests[k].name))) {
+         k++;
+         /* The test instruction is dcffix it is supported on POWER 7
+          * and newer processors.  Skip if not POWER 7 or newer.
+          */
+         continue;
+      }
+
+      for (round_mode = 0; round_mode < NUM_RND_MODES; round_mode++) {
+         /* Do each test with each of the possible rounding modes */
+         dfp_test_t test_group = dfp_dcffix_dcffixq_tests[k];
+
+         printf("\ntest with rounding mode %u \n", round_mode);
+
+         /* The set_rounding_mode() uses the global value f14. Call the
+          * function before setting up the test for the specific instruction
+          * to avoid avoid conflicts using f14.
+          */
+         set_rounding_mode(round_mode); 
+
+         for (i = 0; i < test_group.num_tests; i++) {
+
+            /* The instructions take I64 inputs */
+            u0 = int64_vals[test_group.targs[i].fra_idx];
+
+            *(unsigned long long *)d0p = u0;
+            f14 = d0;
+
+            (*func)();
+            res = f18;
+
+            printf("%s %016llx", test_group.name, u0);
+
+            if (test_group.precision) {
+               printf(" %s  => %016llx",
+                      test_group.op, *((unsigned long long *)(&res)));
+            } else {
+               double resx = f19;
+               printf(" %s ==> %016llx %016llx",
+                      test_group.op,
+                      *((unsigned long long *)(&res)),
+                      *((unsigned long long *)(&resx)));
+            }
+            printf("\n" );
+         }
+      }
+
+      k++;
+      printf( "\n" );
+   }
+}
+
+static test_table_t
+all_tests[] =
+{
+   { &test_dfp_one_arg_ops,
+   "Test DFP fomat conversion instructions" },
+   { &test_dfp_two_arg_ops,
+   "Test DFP shift instructions" },
+   { test_dcffix_dcffixq,
+   "Test DCFFIX and DCFFIXQ instructions" },
+   { NULL, NULL }
+};
+#endif // HAS_DFP
+
+int main(int argc, char ** argv, char ** envp) {
+#if defined(HAS_DFP)
+   test_table_t aTest;
+   test_func_t func;
+   int i = 0, has_vsx;
+
+   /* If the processor has the VSX functionality then it is POWER 7
+    * or newer.
+    */
+   my_envp = envp;
+   has_vsx = get_vsx();  
+
+   while ((func = all_tests[i].test_category)) {
+      aTest = all_tests[i];
+      printf( "%s\n", aTest.name );
+      (*func)(has_vsx);
+      i++;
+   }
+
+#endif // HAS_DFP
+   return 0;
+}
diff --git a/none/tests/ppc32/test_dfp2.stderr.exp b/none/tests/ppc32/test_dfp2.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/ppc32/test_dfp2.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/ppc32/test_dfp2.stdout.exp b/none/tests/ppc32/test_dfp2.stdout.exp
new file mode 100644
index 0000000..50c3540
--- /dev/null
+++ b/none/tests/ppc32/test_dfp2.stdout.exp
@@ -0,0 +1,1679 @@
+Test DFP fomat conversion instructions
+
+test with rounding mode 0 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 1 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 2 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 3 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 4 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 5 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 6 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 7 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+
+test with rounding mode 0 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e57
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000000
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 1 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e56
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000000
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 2 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e56
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fd7c
+drsp 000400000089b000 D64->D32  => 0000000000000001
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 3 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e57
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000000
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 4 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e57
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000000
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 5 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e57
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000000
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 6 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e57
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fd7c
+drsp 000400000089b000 D64->D32  => 0000000000000001
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 7 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e56
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000001
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+
+test with rounding mode 0 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000000
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000000
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 1 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000000
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000000
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 2 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000001
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000001
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 3 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000000
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffb
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000000
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 4 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000000
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000000
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 5 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000000
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000000
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 6 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000001
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffb
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000001
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 7 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000001
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000001
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+
+test with rounding mode 0 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 1 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 2 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 3 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 4 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 5 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 6 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 7 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+
+test with rounding mode 0 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 1 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 2 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 3 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffb 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 4 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 5 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 6 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffb 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 7 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+
+test with rounding mode 0 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 1 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 77fcff3fcff3fcff 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 2 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 3 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 77fcff3fcff3fcff 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 4 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 5 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 6 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 7 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 77fcff3fcff3fcff 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+Test DFP shift instructions
+
+test with rounding mode 0 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 1 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 2 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 3 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 4 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 5 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 6 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 7 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+
+test with rounding mode 0 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 1 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 2 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 3 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 4 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 5 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 6 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 7 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+
+test with rounding mode 0 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 1 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 2 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 3 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 4 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 5 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 6 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 7 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+
+test with rounding mode 0 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 1 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 2 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 3 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 4 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 5 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 6 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 7 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+Test DCFFIX and DCFFIXQ instructions
+
+test with rounding mode 0 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 1 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 2 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 3 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 4 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 5 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 6 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 7 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+
+test with rounding mode 0 
+dcffix 0000000000000000 I64S->D64 ==> 2238000000000000 000534b9c1e28e56
+dcffix 0000000000000001 I64S->D64 ==> 2238000000000001 000534b9c1e28e56
+dcffix ffffffffffffffff I64S->D64 ==> a238000000000001 000534b9c1e28e56
+dcffix 002386f26fc0ffff I64S->D64 ==> 6e38ff3fcff3fcff 000534b9c1e28e56
+dcffix ffdc790d903f0001 I64S->D64 ==> ee38ff3fcff3fcff 000534b9c1e28e56
+dcffix 000462d53c8abac0 I64S->D64 ==> 263934b9c1e28e56 000534b9c1e28e56
+dcffix fffb9d2ac3754540 I64S->D64 ==> a63934b9c1e28e56 000534b9c1e28e56
+
+test with rounding mode 1 
+dcffix 0000000000000000 I64S->D64 ==> 2238000000000000 000534b9c1e28e56
+dcffix 0000000000000001 I64S->D64 ==> 2238000000000001 000534b9c1e28e56
+dcffix ffffffffffffffff I64S->D64 ==> a238000000000001 000534b9c1e28e56
+dcffix 002386f26fc0ffff I64S->D64 ==> 6e38ff3fcff3fcff 000534b9c1e28e56
+dcffix ffdc790d903f0001 I64S->D64 ==> ee38ff3fcff3fcff 000534b9c1e28e56
+dcffix 000462d53c8abac0 I64S->D64 ==> 263934b9c1e28e56 000534b9c1e28e56
+dcffix fffb9d2ac3754540 I64S->D64 ==> a63934b9c1e28e56 000534b9c1e28e56
+
+test with rounding mode 2 
+dcffix 0000000000000000 I64S->D64 ==> 2238000000000000 000534b9c1e28e56
+dcffix 0000000000000001 I64S->D64 ==> 2238000000000001 000534b9c1e28e56
+dcffix ffffffffffffffff I64S->D64 ==> a238000000000001 000534b9c1e28e56
+dcffix 002386f26fc0ffff I64S->D64 ==> 6e38ff3fcff3fcff 000534b9c1e28e56
+dcffix ffdc790d903f0001 I64S->D64 ==> ee38ff3fcff3fcff 000534b9c1e28e56
+dcffix 000462d53c8abac0 I64S->D64 ==> 263934b9c1e28e56 000534b9c1e28e56
+dcffix fffb9d2ac3754540 I64S->D64 ==> a63934b9c1e28e56 000534b9c1e28e56
+
+test with rounding mode 3 
+dcffix 0000000000000000 I64S->D64 ==> 2238000000000000 000534b9c1e28e56
+dcffix 0000000000000001 I64S->D64 ==> 2238000000000001 000534b9c1e28e56
+dcffix ffffffffffffffff I64S->D64 ==> a238000000000001 000534b9c1e28e56
+dcffix 002386f26fc0ffff I64S->D64 ==> 6e38ff3fcff3fcff 000534b9c1e28e56
+dcffix ffdc790d903f0001 I64S->D64 ==> ee38ff3fcff3fcff 000534b9c1e28e56
+dcffix 000462d53c8abac0 I64S->D64 ==> 263934b9c1e28e56 000534b9c1e28e56
+dcffix fffb9d2ac3754540 I64S->D64 ==> a63934b9c1e28e56 000534b9c1e28e56
+
+test with rounding mode 4 
+dcffix 0000000000000000 I64S->D64 ==> 2238000000000000 000534b9c1e28e56
+dcffix 0000000000000001 I64S->D64 ==> 2238000000000001 000534b9c1e28e56
+dcffix ffffffffffffffff I64S->D64 ==> a238000000000001 000534b9c1e28e56
+dcffix 002386f26fc0ffff I64S->D64 ==> 6e38ff3fcff3fcff 000534b9c1e28e56
+dcffix ffdc790d903f0001 I64S->D64 ==> ee38ff3fcff3fcff 000534b9c1e28e56
+dcffix 000462d53c8abac0 I64S->D64 ==> 263934b9c1e28e56 000534b9c1e28e56
+dcffix fffb9d2ac3754540 I64S->D64 ==> a63934b9c1e28e56 000534b9c1e28e56
+
+test with rounding mode 5 
+dcffix 0000000000000000 I64S->D64 ==> 2238000000000000 000534b9c1e28e56
+dcffix 0000000000000001 I64S->D64 ==> 2238000000000001 000534b9c1e28e56
+dcffix ffffffffffffffff I64S->D64 ==> a238000000000001 000534b9c1e28e56
+dcffix 002386f26fc0ffff I64S->D64 ==> 6e38ff3fcff3fcff 000534b9c1e28e56
+dcffix ffdc790d903f0001 I64S->D64 ==> ee38ff3fcff3fcff 000534b9c1e28e56
+dcffix 000462d53c8abac0 I64S->D64 ==> 263934b9c1e28e56 000534b9c1e28e56
+dcffix fffb9d2ac3754540 I64S->D64 ==> a63934b9c1e28e56 000534b9c1e28e56
+
+test with rounding mode 6 
+dcffix 0000000000000000 I64S->D64 ==> 2238000000000000 000534b9c1e28e56
+dcffix 0000000000000001 I64S->D64 ==> 2238000000000001 000534b9c1e28e56
+dcffix ffffffffffffffff I64S->D64 ==> a238000000000001 000534b9c1e28e56
+dcffix 002386f26fc0ffff I64S->D64 ==> 6e38ff3fcff3fcff 000534b9c1e28e56
+dcffix ffdc790d903f0001 I64S->D64 ==> ee38ff3fcff3fcff 000534b9c1e28e56
+dcffix 000462d53c8abac0 I64S->D64 ==> 263934b9c1e28e56 000534b9c1e28e56
+dcffix fffb9d2ac3754540 I64S->D64 ==> a63934b9c1e28e56 000534b9c1e28e56
+
+test with rounding mode 7 
+dcffix 0000000000000000 I64S->D64 ==> 2238000000000000 000534b9c1e28e56
+dcffix 0000000000000001 I64S->D64 ==> 2238000000000001 000534b9c1e28e56
+dcffix ffffffffffffffff I64S->D64 ==> a238000000000001 000534b9c1e28e56
+dcffix 002386f26fc0ffff I64S->D64 ==> 6e38ff3fcff3fcff 000534b9c1e28e56
+dcffix ffdc790d903f0001 I64S->D64 ==> ee38ff3fcff3fcff 000534b9c1e28e56
+dcffix 000462d53c8abac0 I64S->D64 ==> 263934b9c1e28e56 000534b9c1e28e56
+dcffix fffb9d2ac3754540 I64S->D64 ==> a63934b9c1e28e56 000534b9c1e28e56
+
diff --git a/none/tests/ppc32/test_dfp2.stdout.exp_Without_dcffix b/none/tests/ppc32/test_dfp2.stdout.exp_Without_dcffix
new file mode 100644
index 0000000..419a036
--- /dev/null
+++ b/none/tests/ppc32/test_dfp2.stdout.exp_Without_dcffix
@@ -0,0 +1,1606 @@
+Test DFP fomat conversion instructions
+
+test with rounding mode 0 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 1 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 2 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 3 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 4 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 5 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 6 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+test with rounding mode 7 
+dctdp 2234000000000e50 D32->D64  => 20a4000000000e50
+dctdp 223400000014c000 D32->D64  => 20a800000004c000
+dctdp a2340000000000e0 D32->D64  => 20a40000000000e0
+dctdp 22240000000000cf D32->D64  => 20a40000000000cf
+dctdp a21400010a395bcf D32->D64  => 2130000000295bcf
+dctdp 6e4d3f1f534acdd4 D32->D64  => 23740000004acdd4
+dctdp 000400000089b000 D32->D64  => 20c400000009b000
+dctdp 2238000000000000 D32->D64  => 20a4000000000000
+dctdp a238000000000000 D32->D64  => 20a4000000000000
+dctdp 4248000000000000 D32->D64  => 20a4000000000000
+dctdp 7e34000000000111 D32->D64  => 20a4000000000111
+dctdp fe000000d0e0a0d0 D32->D64  => a2dc00000040a0d0
+dctdp fc00000000000000 D32->D64  => 20a4000000000000
+dctdp 7800000000000000 D32->D64  => 20a4000000000000
+dctdp f800000000000000 D32->D64  => 20a4000000000000
+
+
+test with rounding mode 0 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e57
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000000
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 1 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e56
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000000
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 2 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e56
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fd7c
+drsp 000400000089b000 D64->D32  => 0000000000000001
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 3 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e57
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000000
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 4 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e57
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000000
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 5 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e57
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000000
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 6 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e57
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fd7c
+drsp 000400000089b000 D64->D32  => 0000000000000001
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+test with rounding mode 7 
+drsp 2234000000000e50 D64->D32  => 0000000022400e50
+drsp 223400000014c000 D64->D32  => 000000002644c000
+drsp a2340000000000e0 D64->D32  => 00000000a24000e0
+drsp 22240000000000cf D64->D32  => 00000000220000cf
+drsp a21400010a395bcf D64->D32  => 00000000b1f28e56
+drsp 6e4d3f1f534acdd4 D64->D32  => 000000006f34fc7d
+drsp 000400000089b000 D64->D32  => 0000000000000001
+drsp 2238000000000000 D64->D32  => 0000000022500000
+drsp a238000000000000 D64->D32  => 00000000a2500000
+drsp 4248000000000000 D64->D32  => 0000000043f00000
+drsp 7e34000000000111 D64->D32  => 000000007e000111
+drsp fe000000d0e0a0d0 D64->D32  => 00000000fe00a0d0
+drsp fc00000000000000 D64->D32  => 00000000fc000000
+drsp 7800000000000000 D64->D32  => 0000000078000000
+drsp f800000000000000 D64->D32  => 00000000f8000000
+
+
+test with rounding mode 0 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000000
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000000
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 1 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000000
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000000
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 2 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000001
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000001
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 3 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000000
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffb
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000000
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 4 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000000
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000000
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 5 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000000
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000000
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 6 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000001
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffb
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000001
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+test with rounding mode 7 
+dctfix 2234000000000e50 D64->I64S  => 0000000000000159
+dctfix 223400000014c000 D64->I64S  => 000000000001e078
+dctfix a2340000000000e0 D64->I64S  => fffffffffffffff0
+dctfix 22240000000000cf D64->I64S  => 0000000000000001
+dctfix a21400010a395bcf D64->I64S  => fffffffffffffffc
+dctfix 6e4d3f1f534acdd4 D64->I64S  => 7fffffffffffffff
+dctfix 000400000089b000 D64->I64S  => 0000000000000001
+dctfix 2238000000000000 D64->I64S  => 0000000000000000
+dctfix a238000000000000 D64->I64S  => 0000000000000000
+dctfix 4248000000000000 D64->I64S  => 0000000000000000
+dctfix 7e34000000000111 D64->I64S  => 8000000000000000
+dctfix fe000000d0e0a0d0 D64->I64S  => 8000000000000000
+dctfix fc00000000000000 D64->I64S  => 8000000000000000
+dctfix 7800000000000000 D64->I64S  => 7fffffffffffffff
+dctfix f800000000000000 D64->I64S  => 8000000000000000
+
+
+test with rounding mode 0 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 1 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 2 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 3 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 4 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 5 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 6 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+test with rounding mode 7 
+dctqpq 2207c00000000000 0000000000000e50 D64->D128 ==> 2204c00000000000 0003c00000000000
+dctqpq 2f07c00000000000 000000000014c000 D64->D128 ==> 2214c00000000000 000fc00000000000
+dctqpq a207c00000000000 00000000000000e0 D64->D128 ==> a204c00000000000 0003c00000000000
+dctqpq 2206c00000000000 00000000000000cf D64->D128 ==> 2204c00000000000 0002c00000000000
+dctqpq a205c00000000000 000000010a395bcf D64->D128 ==> a204c00000000000 0001c00000000000
+dctqpq 6209400000fd0000 00253f1f534acdd4 D64->D128 ==> 21c5000000000000 0021400000fd0000
+dctqpq 000400000089b000 0a6000d000000049 D64->D128 ==> 21a4c00000000000 000000000089b000
+dctqpq 2208000000000000 0000000000000000 D64->D128 ==> 2205000000000000 0000000000000000
+dctqpq a208000000000000 0000000000000000 D64->D128 ==> a205000000000000 0000000000000000
+dctqpq a248000000000000 0000000000000000 D64->D128 ==> a209000000000000 0000000000000000
+dctqpq 7c00000000000000 0000000000000000 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq fc00000000000000 c00100035b007700 D64->D128 ==> fc00000000000000 0000000000000000
+dctqpq 7e00000000000000 fe000000d0e0a0d0 D64->D128 ==> 7c00000000000000 0000000000000000
+dctqpq 7800000000000000 0000000000000000 D64->D128 ==> 7800000000000000 0000000000000000
+dctqpq f800000000000000 0000000000000000 D64->D128 ==> f800000000000000 0000000000000000
+
+
+test with rounding mode 0 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 1 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 2 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 3 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffb 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 4 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 5 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 6 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffb 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+test with rounding mode 7 
+dctfixq 2207c00000000000 0000000000000e50 D128->I64S ==> 0000000000000159 0000000000000000
+dctfixq 2f07c00000000000 000000000014c000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq a207c00000000000 00000000000000e0 D128->I64S ==> fffffffffffffff0 0000000000000000
+dctfixq 2206c00000000000 00000000000000cf D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq a205c00000000000 000000010a395bcf D128->I64S ==> fffffffffffffffc 0000000000000000
+dctfixq 6209400000fd0000 00253f1f534acdd4 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 000400000089b000 0a6000d000000049 D128->I64S ==> 0000000000000001 0000000000000000
+dctfixq 2208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a208000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq a248000000000000 0000000000000000 D128->I64S ==> 0000000000000000 0000000000000000
+dctfixq 7c00000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq fc00000000000000 c00100035b007700 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7e00000000000000 fe000000d0e0a0d0 D128->I64S ==> 8000000000000000 0000000000000000
+dctfixq 7800000000000000 0000000000000000 D128->I64S ==> 7fffffffffffffff 0000000000000000
+dctfixq f800000000000000 0000000000000000 D128->I64S ==> 8000000000000000 0000000000000000
+
+
+test with rounding mode 0 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 1 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 77fcff3fcff3fcff 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 2 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 3 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 77fcff3fcff3fcff 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 4 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 5 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000000 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 6 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+test with rounding mode 7 
+drdpq 2207c00000000000 0000000000000e50 D128->D64 ==> 2234000000000e50 0000000000000000
+drdpq 2f07c00000000000 000000000014c000 D128->D64 ==> 77fcff3fcff3fcff 0000000000000000
+drdpq a207c00000000000 00000000000000e0 D128->D64 ==> a2340000000000e0 0000000000000000
+drdpq 2206c00000000000 00000000000000cf D128->D64 ==> 22240000000000cf 0000000000000000
+drdpq a205c00000000000 000000010a395bcf D128->D64 ==> a21400010a395bcf 0000000000000000
+drdpq 6209400000fd0000 00253f1f534acdd4 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 000400000089b000 0a6000d000000049 D128->D64 ==> 0000000000000001 0000000000000000
+drdpq 2208000000000000 0000000000000000 D128->D64 ==> 2238000000000000 0000000000000000
+drdpq a208000000000000 0000000000000000 D128->D64 ==> a238000000000000 0000000000000000
+drdpq a248000000000000 0000000000000000 D128->D64 ==> c238000000000000 0000000000000000
+drdpq 7c00000000000000 0000000000000000 D128->D64 ==> 7c00000000000000 0000000000000000
+drdpq fc00000000000000 c00100035b007700 D128->D64 ==> fc0100035b007700 0000000000000000
+drdpq 7e00000000000000 fe000000d0e0a0d0 D128->D64 ==> 7c000000d0e0a0d0 0000000000000000
+drdpq 7800000000000000 0000000000000000 D128->D64 ==> 7800000000000000 0000000000000000
+drdpq f800000000000000 0000000000000000 D128->D64 ==> f800000000000000 0000000000000000
+
+Test DFP shift instructions
+
+test with rounding mode 0 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 1 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 2 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 3 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 4 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 5 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 6 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 7 
+dscri 2234000000000e50 0000000000000000 >> 0    ==> 2234000000000e50 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 1    ==> 22340000000001c5 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 15   ==> 2234000000000000 0000000000000000
+dscri 2234000000000e50 0000000000000000 >> 63   ==> 2234000000000000 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 1    ==> 224d8fe3ca394db5 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 15   ==> 224c000000000009 0000000000000000
+dscri 6e4d3f1f534acdd4 0000000000000000 >> 63   ==> 224c000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 0    ==> 000400000089b000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 1    ==> 00040000000c3a00 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 15   ==> 0004000000000000 0000000000000000
+dscri 000400000089b000 0000000000000000 >> 63   ==> 0004000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 0    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 1    ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 15   ==> 2238000000000000 0000000000000000
+dscri 2238000000000000 0000000000000000 >> 63   ==> 2238000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 0    ==> 7e00000000000111 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 1    ==> 7e00000000000021 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 15   ==> 7e00000000000000 0000000000000000
+dscri 7e34000000000111 0000000000000000 >> 63   ==> 7e00000000000000 0000000000000000
+
+
+test with rounding mode 0 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 1 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 2 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 3 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 4 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 5 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 6 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+test with rounding mode 7 
+dscli 2234000000000e50 0000000000000000 << 0    ==> 2234000000000e50 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 1    ==> 223400000000d280 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 15   ==> 2234000000000000 0000000000000000
+dscli 2234000000000e50 0000000000000000 << 63   ==> 2234000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 0    ==> 6e4d3f1f534acdd4 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 1    ==> 6a4ddee49c56cec0 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 15   ==> 324c000000000000 0000000000000000
+dscli 6e4d3f1f534acdd4 0000000000000000 << 63   ==> 224c000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 0    ==> 000400000089b000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 1    ==> 0004000004ed0000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 15   ==> 0004000000000000 0000000000000000
+dscli 000400000089b000 0000000000000000 << 63   ==> 0004000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 0    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 1    ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 15   ==> 2238000000000000 0000000000000000
+dscli 2238000000000000 0000000000000000 << 63   ==> 2238000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 0    ==> 7e00000000000111 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 1    ==> 7e00000000000890 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 15   ==> 7e00000000000000 0000000000000000
+dscli 7e34000000000111 0000000000000000 << 63   ==> 7e00000000000000 0000000000000000
+
+
+test with rounding mode 0 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 1 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 2 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 3 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 4 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 5 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 6 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+test with rounding mode 7 
+dscriq 2207c00000000000 >> 0   => 2207c00000000000
+dscriq 2207c00000000000 >> 1   => 2207c00000000000
+dscriq 2207c00000000000 >> 15  => 2207c00000000000
+dscriq 2207c00000000000 >> 63  => 2207c00000000000
+dscriq 6209400000fd0000 >> 0   => 6209400000fd0000
+dscriq 6209400000fd0000 >> 1   => 020940c0007b2000
+dscriq 6209400000fd0000 >> 15  => 0209400000000000
+dscriq 6209400000fd0000 >> 63  => 0209400000000000
+dscriq 000400000089b000 >> 0   => 000400000089b000
+dscriq 000400000089b000 >> 1   => 000400000010b700
+dscriq 000400000089b000 >> 15  => 0004000000000000
+dscriq 000400000089b000 >> 63  => 0004000000000000
+dscriq 2208000000000000 >> 0   => 2208000000000000
+dscriq 2208000000000000 >> 1   => 2208000000000000
+dscriq 2208000000000000 >> 15  => 2208000000000000
+dscriq 2208000000000000 >> 63  => 2208000000000000
+dscriq 7c00000000000000 >> 0   => 7c00000000000000
+dscriq 7c00000000000000 >> 1   => 7c00000000000000
+dscriq 7c00000000000000 >> 15  => 7c00000000000000
+dscriq 7c00000000000000 >> 63  => 7c00000000000000
+
+
+test with rounding mode 0 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 1 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 2 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 3 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 4 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 5 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 6 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+test with rounding mode 7 
+dscliq 2207c00000000000 << 0   => 2207c00000000000
+dscliq 2207c00000000000 << 1   => 2207c00000000000
+dscliq 2207c00000000000 << 15  => 2207c00000000000
+dscliq 2207c00000000000 << 63  => 2207c00000000000
+dscliq 6209400000fd0000 << 0   => 6209400000fd0000
+dscliq 6209400000fd0000 << 1   => 0209400027900000
+dscliq 6209400000fd0000 << 15  => 02094094fc7d4d2b
+dscliq 6209400000fd0000 << 63  => 0209400000000000
+dscliq 000400000089b000 << 0   => 000400000089b000
+dscliq 000400000089b000 << 1   => 00040000045b8000
+dscliq 000400000089b000 << 15  => 0004298003400000
+dscliq 000400000089b000 << 63  => 0004000000000000
+dscliq 2208000000000000 << 0   => 2208000000000000
+dscliq 2208000000000000 << 1   => 2208000000000000
+dscliq 2208000000000000 << 15  => 2208000000000000
+dscliq 2208000000000000 << 63  => 2208000000000000
+dscliq 7c00000000000000 << 0   => 7c00000000000000
+dscliq 7c00000000000000 << 1   => 7c00000000000000
+dscliq 7c00000000000000 << 15  => 7c00000000000000
+dscliq 7c00000000000000 << 63  => 7c00000000000000
+
+Test DCFFIX and DCFFIXQ instructions
+
+test with rounding mode 0 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 1 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 2 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 3 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 4 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 5 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 6 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
+test with rounding mode 7 
+dcffixq 0000000000000000 I64S->D128  => 2208000000000000
+dcffixq 0000000000000001 I64S->D128  => 2208000000000000
+dcffixq ffffffffffffffff I64S->D128  => a208000000000000
+dcffixq 002386f26fc0ffff I64S->D128  => 2208000000000000
+dcffixq ffdc790d903f0001 I64S->D128  => a208000000000000
+dcffixq 000462d53c8abac0 I64S->D128  => 2208000000000000
+dcffixq fffb9d2ac3754540 I64S->D128  => a208000000000000
+
diff --git a/none/tests/ppc32/test_dfp2.vgtest b/none/tests/ppc32/test_dfp2.vgtest
new file mode 100644
index 0000000..7fe6c16
--- /dev/null
+++ b/none/tests/ppc32/test_dfp2.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/check_dfp_cap
+prog: test_dfp2
diff --git a/none/tests/ppc32/test_dfp3.c b/none/tests/ppc32/test_dfp3.c
new file mode 100644
index 0000000..4fe3137
--- /dev/null
+++ b/none/tests/ppc32/test_dfp3.c
@@ -0,0 +1,1263 @@
+/*  Copyright (C) 2012 IBM
+
+ Author: Maynard Johnson <maynardj@us.ibm.com>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <string.h>
+
+#if defined(HAS_DFP)
+
+register double f14 __asm__ ("fr14");
+register double f15 __asm__ ("fr15");
+register double f16 __asm__ ("fr16");
+register double f17 __asm__ ("fr17");
+register double f18 __asm__ ("fr18");
+register double f19 __asm__ ("fr19");
+
+
+typedef unsigned char Bool;
+#define True 1
+#define False 0
+
+
+#define ALLCR "cr0","cr1","cr2","cr3","cr4","cr5","cr6","cr7"
+
+#define SET_CR(_arg) \
+      __asm__ __volatile__ ("mtcr  %0" : : "b"(_arg) : ALLCR );
+
+#define SET_XER(_arg) \
+      __asm__ __volatile__ ("mtxer %0" : : "b"(_arg) : "xer" );
+
+#define GET_CR(_lval) \
+      __asm__ __volatile__ ("mfcr %0"  : "=b"(_lval) )
+
+#define GET_XER(_lval) \
+      __asm__ __volatile__ ("mfxer %0" : "=b"(_lval) )
+
+#define GET_CR_XER(_lval_cr,_lval_xer) \
+   do { GET_CR(_lval_cr); GET_XER(_lval_xer); } while (0)
+
+#define SET_CR_ZERO \
+      SET_CR(0)
+
+#define SET_XER_ZERO \
+      SET_XER(0)
+
+#define SET_CR_XER_ZERO \
+   do { SET_CR_ZERO; SET_XER_ZERO; } while (0)
+
+#define SET_FPSCR_ZERO \
+   do { double _d = 0.0; \
+        __asm__ __volatile__ ("mtfsf 0xFF, %0" : : "f"(_d) ); \
+   } while (0)
+
+#define GET_FPSCR(_arg) \
+    __asm__ __volatile__ ("mffs %0"  : "=f"(_arg) )
+
+#define SET_FPSCR_DRN \
+    __asm__ __volatile__ ("mtfsf  1, %0, 0, 1" :  : "f"(f14) )
+
+
+// The assembly-level instructions being tested
+static void _test_drintx(int R, int RMC)
+{
+   if (RMC < 0 || RMC > 3 || R < 0 || R > 1) {
+      fprintf(stderr, "Invalid inputs to asm test: a=%d, b=%d\n", R, RMC);
+      return;
+   }
+   switch (RMC) {
+      case 0:
+         if (R)
+            __asm__ __volatile__ ("drintx 1, %0, %1, 0" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintx 0, %0, %1, 0" : "=f" (f18) : "f" (f16));
+         break;
+      case 1:
+         if (R)
+            __asm__ __volatile__ ("drintx 1, %0, %1, 1" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintx 0, %0, %1, 1" : "=f" (f18) : "f" (f16));
+         break;
+      case 2:
+         if (R)
+            __asm__ __volatile__ ("drintx 1, %0, %1, 2" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintx 0, %0, %1, 2" : "=f" (f18) : "f" (f16));
+         break;
+      case 3:
+         if (R)
+            __asm__ __volatile__ ("drintx 1, %0, %1, 3" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintx 0, %0, %1, 3" : "=f" (f18) : "f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_drintn(int R, int RMC)
+{
+   if (RMC < 0 || RMC > 3 || R < 0 || R > 1) {
+      fprintf(stderr, "Invalid inputs to asm test: a=%d, b=%d\n", R, RMC);
+      return;
+   }
+   switch (RMC) {
+      case 0:
+         if (R)
+            __asm__ __volatile__ ("drintn 1, %0, %1, 0" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintn 0, %0, %1, 0" : "=f" (f18) : "f" (f16));
+         break;
+      case 1:
+         if (R)
+            __asm__ __volatile__ ("drintn 1, %0, %1, 1" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintn 0, %0, %1, 1" : "=f" (f18) : "f" (f16));
+         break;
+      case 2:
+         if (R)
+            __asm__ __volatile__ ("drintn 1, %0, %1, 2" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintn 0, %0, %1, 2" : "=f" (f18) : "f" (f16));
+         break;
+      case 3:
+         if (R)
+            __asm__ __volatile__ ("drintn 1, %0, %1, 3" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintn 0, %0, %1, 3" : "=f" (f18) : "f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+
+static void _test_diex(int a __attribute__((unused)), int b __attribute__((unused)))
+{
+   __asm__ __volatile__ ("diex  %0, %1, %2" : "=f" (f18) : "f" (f14),"f" (f16));
+}
+
+static void _test_dxex(int a __attribute__((unused)), int b __attribute__((unused)))
+{
+   __asm__ __volatile__ ("dxex  %0, %1" : "=f" (f18) : "f" (f16));
+}
+
+static void _test_dcmpo(int BF, int x __attribute__((unused)))
+{
+   if (BF < 0 || BF > 7) {
+      fprintf(stderr, "Invalid input to asm test: a=%d\n", BF);
+      return;
+   }
+   switch (BF) {
+      case 0:
+         __asm__ __volatile__ ("dcmpo  0, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("dcmpo  1, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 2:
+         __asm__ __volatile__ ("dcmpo  2, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 3:
+         __asm__ __volatile__ ("dcmpo  3, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 4:
+         __asm__ __volatile__ ("dcmpo  4, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 5:
+         __asm__ __volatile__ ("dcmpo  5, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 6:
+         __asm__ __volatile__ ("dcmpo  6, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 7:
+         __asm__ __volatile__ ("dcmpo  7, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_dcmpu(int BF, int x __attribute__((unused)))
+{
+   if (BF < 0 || BF > 7) {
+      fprintf(stderr, "Invalid input to asm test: a=%d\n", BF);
+      return;
+   }
+   switch (BF) {
+      case 0:
+         __asm__ __volatile__ ("dcmpu  0, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("dcmpu  1, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 2:
+         __asm__ __volatile__ ("dcmpu  2, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 3:
+         __asm__ __volatile__ ("dcmpu  3, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 4:
+         __asm__ __volatile__ ("dcmpu  4, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 5:
+         __asm__ __volatile__ ("dcmpu  5, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 6:
+         __asm__ __volatile__ ("dcmpu  6, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 7:
+         __asm__ __volatile__ ("dcmpu  7, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+// Quad instruction testing
+static void _test_drintxq(int R, int RMC)
+{
+   if (RMC < 0 || RMC > 3 || R < 0 || R > 1) {
+      fprintf(stderr, "Invalid inputs to asm test: a=%d, b=%d\n", R, RMC);
+      return;
+   }
+   switch (RMC) {
+      case 0:
+         if (R)
+            __asm__ __volatile__ ("drintxq 1, %0, %1, 0" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintxq 0, %0, %1, 0" : "=f" (f18) : "f" (f16));
+         break;
+      case 1:
+         if (R)
+            __asm__ __volatile__ ("drintxq 1, %0, %1, 1" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintxq 0, %0, %1, 1" : "=f" (f18) : "f" (f16));
+         break;
+      case 2:
+         if (R)
+            __asm__ __volatile__ ("drintxq 1, %0, %1, 2" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintxq 0, %0, %1, 2" : "=f" (f18) : "f" (f16));
+         break;
+      case 3:
+         if (R)
+            __asm__ __volatile__ ("drintxq 1, %0, %1, 3" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintxq 0, %0, %1, 3" : "=f" (f18) : "f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_drintnq(int R, int RMC)
+{
+   if (RMC < 0 || RMC > 3 || R < 0 || R > 1) {
+      fprintf(stderr, "Invalid inputs to asm test: a=%d, b=%d\n", R, RMC);
+      return;
+   }
+   switch (RMC) {
+      case 0:
+         if (R)
+            __asm__ __volatile__ ("drintnq 1, %0, %1, 0" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintnq 0, %0, %1, 0" : "=f" (f18) : "f" (f16));
+         break;
+      case 1:
+         if (R)
+            __asm__ __volatile__ ("drintnq 1, %0, %1, 1" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintnq 0, %0, %1, 1" : "=f" (f18) : "f" (f16));
+         break;
+      case 2:
+         if (R)
+            __asm__ __volatile__ ("drintnq 1, %0, %1, 2" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintnq 0, %0, %1, 2" : "=f" (f18) : "f" (f16));
+         break;
+      case 3:
+         if (R)
+            __asm__ __volatile__ ("drintnq 1, %0, %1, 3" : "=f" (f18) : "f" (f16));
+         else
+            __asm__ __volatile__ ("drintnq 0, %0, %1, 3" : "=f" (f18) : "f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_diexq(int a __attribute__((unused)), int b __attribute__((unused)))
+{
+   __asm__ __volatile__ ("diexq  %0, %1, %2" : "=f" (f18) : "f" (f14),"f" (f16));
+}
+
+static void _test_dxexq(int a __attribute__((unused)), int b __attribute__((unused)))
+{
+   __asm__ __volatile__ ("dxexq  %0, %1" : "=f" (f18) : "f" (f16));
+}
+
+static void _test_dcmpoq(int BF, int x __attribute__((unused)))
+{
+   if (BF < 0 || BF > 7) {
+      fprintf(stderr, "Invalid input to asm test: a=%d\n", BF );
+      return;
+   }
+   switch (BF) {
+      case 0:
+         __asm__ __volatile__ ("dcmpoq  0, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("dcmpoq  1, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 2:
+         __asm__ __volatile__ ("dcmpoq  2, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 3:
+         __asm__ __volatile__ ("dcmpoq  3, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 4:
+         __asm__ __volatile__ ("dcmpoq  4, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 5:
+         __asm__ __volatile__ ("dcmpoq  5, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 6:
+         __asm__ __volatile__ ("dcmpoq  6, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 7:
+         __asm__ __volatile__ ("dcmpoq  7, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_dcmpuq(int BF, int x __attribute__((unused)))
+{
+   if (BF < 0 || BF > 7) {
+      fprintf(stderr, "Invalid input to asm test: a=%d\n", BF);
+      return;
+   }
+   switch (BF) {
+      case 0:
+         __asm__ __volatile__ ("dcmpuq  0, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("dcmpuq  1, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 2:
+         __asm__ __volatile__ ("dcmpuq  2, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 3:
+         __asm__ __volatile__ ("dcmpuq  3, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 4:
+         __asm__ __volatile__ ("dcmpuq  4, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 5:
+         __asm__ __volatile__ ("dcmpuq  5, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 6:
+         __asm__ __volatile__ ("dcmpuq  6, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 7:
+         __asm__ __volatile__ ("dcmpuq  7, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_drrnd(int x __attribute__((unused)), int RMC)
+{
+   if (RMC < 0 || RMC > 31) {
+      fprintf(stderr, "Invalid input to asm test: a=%d\n", RMC);
+      return;
+   }
+   switch (RMC) {
+      case 0:
+         __asm__ __volatile__ ("drrnd %0, %1, %2, 0" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("drrnd %0, %1, %2, 1" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 2:
+         __asm__ __volatile__ ("drrnd %0, %1, %2, 2" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 3:
+         __asm__ __volatile__ ("drrnd %0, %1, %2, 3" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_drrndq(int x __attribute__((unused)), int RMC)
+{
+   if (RMC < 0 || RMC > 3) {
+      fprintf(stderr, "Invalid input to asm test: a=%dn", RMC);
+      return;
+   }
+   switch (RMC) {
+      case 0:
+         __asm__ __volatile__ ("drrndq %0, %1, %2, 0" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("drrndq %0, %1, %2, 1" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 2:
+         __asm__ __volatile__ ("drrndq %0, %1, %2, 2" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 3:
+         __asm__ __volatile__ ("drrndq %0, %1, %2, 3" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_dqua(int x __attribute__((unused)), int RMC)
+{
+   if (RMC < 0 || RMC > 3) {
+      fprintf(stderr, "Invalid input to asm test: a=%d\n", RMC);
+      return;
+   }
+   switch (RMC) {
+      case 0:
+         __asm__ __volatile__ ("dqua %0, %1, %2, 0" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("dqua %0, %1, %2, 1" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 2:
+         __asm__ __volatile__ ("dqua %0, %1, %2, 2" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 3:
+         __asm__ __volatile__ ("dqua %0, %1, %2, 3" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_dquaq(int x __attribute__((unused)), int RMC)
+{
+   if (RMC < 0 || RMC > 3) {
+      fprintf(stderr, "Invalid input to asm test: a=%d\n", RMC);
+      return;
+   }
+   switch (RMC) {
+      case 0:
+         __asm__ __volatile__ ("dquaq %0, %1, %2, 0" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("dquaq %0, %1, %2, 1" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 2:
+         __asm__ __volatile__ ("dquaq %0, %1, %2, 2" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      case 3:
+         __asm__ __volatile__ ("dquaq %0, %1, %2, 3" : "=f" (f18) : "f" (f14), "f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+static int TE_vals[] = { -16, -2, 0, 5};
+#define TE_VAL_LEN sizeof(TE_vals)/sizeof(int)
+static Bool __is_TE_val(int x)
+{
+   int i;
+   for (i = 0; i < TE_VAL_LEN; i++) {
+      if (x==TE_vals[i])
+         return True;
+   }
+   return False;
+}
+
+static void _test_dquai(int TE, int RMC)
+{
+   if (RMC < 0 || RMC > 3 || !__is_TE_val(TE)) {
+      fprintf(stderr, "Invalid inputs to asm test: a=%d, b=%d\n", TE, RMC);
+      return;
+   }
+   switch (RMC) {
+      case 0:
+         switch (TE) {
+            case -16:
+               __asm__ __volatile__ ("dquai -16, %0, %1, 0" : "=f" (f18) : "f" (f16));
+               break;
+            case -2:
+               __asm__ __volatile__ ("dquai  -2, %0, %1, 0" : "=f" (f18) : "f" (f16));
+               break;
+            case 0:
+               __asm__ __volatile__ ("dquai   0, %0, %1, 0" : "=f" (f18) : "f" (f16));
+               break;
+            case 5:
+               __asm__ __volatile__ ("dquai   5, %0, %1, 0" : "=f" (f18) : "f" (f16));
+               break;
+            default:
+               break;
+         }
+         break;
+      case 1:
+         switch (TE) {
+            case -16:
+               __asm__ __volatile__ ("dquai -16, %0, %1, 1" : "=f" (f18) : "f" (f16));
+               break;
+            case -2:
+               __asm__ __volatile__ ("dquai  -2, %0, %1, 1" : "=f" (f18) : "f" (f16));
+               break;
+            case 0:
+               __asm__ __volatile__ ("dquai   0, %0, %1, 1" : "=f" (f18) : "f" (f16));
+               break;
+            case 5:
+               __asm__ __volatile__ ("dquai   5, %0, %1, 1" : "=f" (f18) : "f" (f16));
+               break;
+            default:
+               break;
+         }
+         break;
+      case 2:
+         switch (TE) {
+            case -16:
+               __asm__ __volatile__ ("dquai -16, %0, %1, 2" : "=f" (f18) : "f" (f16));
+               break;
+            case -2:
+               __asm__ __volatile__ ("dquai  -2, %0, %1, 2" : "=f" (f18) : "f" (f16));
+               break;
+            case 0:
+               __asm__ __volatile__ ("dquai   0, %0, %1, 2" : "=f" (f18) : "f" (f16));
+               break;
+            case 5:
+               __asm__ __volatile__ ("dquai   5, %0, %1, 2" : "=f" (f18) : "f" (f16));
+               break;
+            default:
+               break;
+         }
+         break;
+      case 3:
+         switch (TE) {
+            case -16:
+               __asm__ __volatile__ ("dquai -16, %0, %1, 3" : "=f" (f18) : "f" (f16));
+               break;
+            case -2:
+               __asm__ __volatile__ ("dquai  -2, %0, %1, 3" : "=f" (f18) : "f" (f16));
+               break;
+            case 0:
+               __asm__ __volatile__ ("dquai   0, %0, %1, 3" : "=f" (f18) : "f" (f16));
+               break;
+            case 5:
+               __asm__ __volatile__ ("dquai   5, %0, %1, 3" : "=f" (f18) : "f" (f16));
+               break;
+            default:
+               break;
+         }
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_dquaiq(int TE, int RMC)
+{
+   if (RMC < 0 || RMC > 3 || !__is_TE_val(TE)) {
+      fprintf(stderr, "Invalid inputs to asm test: a=%d, b=%d\n", TE, RMC);
+      return;
+   }
+   switch (RMC) {
+      case 0:
+         switch (TE) {
+            case -16:
+               __asm__ __volatile__ ("dquaiq -16, %0, %1, 0" : "=f" (f18) : "f" (f16));
+               break;
+            case -2:
+               __asm__ __volatile__ ("dquaiq  -2, %0, %1, 0" : "=f" (f18) : "f" (f16));
+               break;
+            case 0:
+               __asm__ __volatile__ ("dquaiq   0, %0, %1, 0" : "=f" (f18) : "f" (f16));
+               break;
+            case 5:
+               __asm__ __volatile__ ("dquaiq   5, %0, %1, 0" : "=f" (f18) : "f" (f16));
+               break;
+            default:
+               break;
+         }
+         break;
+      case 1:
+         switch (TE) {
+            case -16:
+               __asm__ __volatile__ ("dquaiq -16, %0, %1, 1" : "=f" (f18) : "f" (f16));
+               break;
+            case -2:
+               __asm__ __volatile__ ("dquaiq  -2, %0, %1, 1" : "=f" (f18) : "f" (f16));
+               break;
+            case 0:
+               __asm__ __volatile__ ("dquaiq   0, %0, %1, 1" : "=f" (f18) : "f" (f16));
+               break;
+            case 5:
+               __asm__ __volatile__ ("dquaiq   5, %0, %1, 1" : "=f" (f18) : "f" (f16));
+               break;
+            default:
+               break;
+         }
+         break;
+      case 2:
+         switch (TE) {
+            case -16:
+               __asm__ __volatile__ ("dquaiq -16, %0, %1, 2" : "=f" (f18) : "f" (f16));
+               break;
+            case -2:
+               __asm__ __volatile__ ("dquaiq  -2, %0, %1, 2" : "=f" (f18) : "f" (f16));
+               break;
+            case 0:
+               __asm__ __volatile__ ("dquaiq   0, %0, %1, 2" : "=f" (f18) : "f" (f16));
+               break;
+            case 5:
+               __asm__ __volatile__ ("dquaiq   5, %0, %1, 2" : "=f" (f18) : "f" (f16));
+               break;
+            default:
+               break;
+         }
+         break;
+      case 3:
+         switch (TE) {
+            case -16:
+               __asm__ __volatile__ ("dquaiq -16, %0, %1, 3" : "=f" (f18) : "f" (f16));
+               break;
+            case -2:
+               __asm__ __volatile__ ("dquaiq  -2, %0, %1, 3" : "=f" (f18) : "f" (f16));
+               break;
+            case 0:
+               __asm__ __volatile__ ("dquaiq   0, %0, %1, 3" : "=f" (f18) : "f" (f16));
+               break;
+            case 5:
+               __asm__ __volatile__ ("dquaiq   5, %0, %1, 3" : "=f" (f18) : "f" (f16));
+               break;
+            default:
+               break;
+         }
+         break;
+      default:
+         break;
+   }
+}
+
+
+typedef void (*test_func_t)(int a, int b);
+typedef void (*test_driver_func_t)(void);
+typedef struct test_table
+{
+   test_driver_func_t test_category;
+   char * name;
+} test_table_t;
+
+/*
+ *  345.0DD (0x2207c00000000000 0xe50)
+ *  1.2300e+5DD (0x2207c00000000000 0x14c000)
+ *  -16.0DD (0xa207c00000000000 0xe0)
+ *  0.00189DD (0x2206c00000000000 0xcf)
+ *  -4.1235DD (0xa205c00000000000 0x10a395bcf)
+ *  9.8399e+20DD (0x2209400000000000 0x253f1f534acdd4)
+ *  0DD (0x2208000000000000 0x0)
+ *  0DD (0x2208000000000000 0x0)
+ *  infDD (0x7800000000000000 0x0)
+ *  nanDD (0x7c00000000000000 0x0
+ */
+static unsigned long long dfp128_vals[] = {
+                                    // Some finite numbers
+                                    0x2207c00000000000ULL, 0x0000000000000e50ULL,
+                                    0x2207c00000000000ULL, 0x000000000014c000ULL,
+                                    0xa207c00000000000ULL, 0x00000000000000e0ULL,
+                                    0x2206c00000000000ULL, 0x00000000000000cfULL,
+                                    0xa205c00000000000ULL, 0x000000010a395bcfULL,
+                                    0x6209400000fd0000ULL, 0x00253f1f534acdd4ULL, // huge number
+                                    0x000400000089b000ULL, 0x0a6000d000000049ULL, // very small number
+                                    // flavors of zero
+                                    0x2208000000000000ULL, 0x0000000000000000ULL,
+                                    0xa208000000000000ULL, 0x0000000000000000ULL, // negative
+                                    0xa248000000000000ULL, 0x0000000000000000ULL,
+                                    // flavors of NAN
+                                    0x7c00000000000000ULL, 0x0000000000000000ULL, // quiet
+                                    0xfc00000000000000ULL, 0xc00100035b007700ULL,
+                                    0x7e00000000000000ULL, 0xfe000000d0e0a0d0ULL, // signaling
+                                    // flavors of Infinity
+                                    0x7800000000000000ULL, 0x0000000000000000ULL,
+                                    0xf800000000000000ULL, 0x0000000000000000ULL, // negative
+                                    0xf900000000000000ULL, 0x0000000000000000ULL
+};
+
+static unsigned long long dfp64_vals[] = {
+                                 // various finite numbers
+                                 0x2234000000000e50ULL,
+                                 0x223400000014c000ULL,
+                                 0xa2340000000000e0ULL,// negative
+                                 0x22240000000000cfULL,
+                                 0xa21400010a395bcfULL,// negative
+                                 0x6e4d3f1f534acdd4ULL,// huge number
+                                 0x000400000089b000ULL,// very small number
+                                 // flavors of zero
+                                 0x2238000000000000ULL,
+                                 0xa238000000000000ULL,
+                                 0x4248000000000000ULL,
+                                 // flavors of NAN
+                                 0x7e34000000000111ULL,
+                                 0xfe000000d0e0a0d0ULL,//signaling
+                                 0xfc00000000000000ULL,//quiet
+                                 // flavors of Infinity
+                                 0x7800000000000000ULL,
+                                 0xf800000000000000ULL,//negative
+                                 0x7a34000000000000ULL,
+};
+
+// Both Long and Quad arrays of DFP values should have the same length.
+// If that length is changed, t
+#define NUM_DFP_VALS (sizeof(dfp64_vals)/8)
+
+typedef struct dfp_test_args {
+   int fra_idx;
+   int frb_idx;
+} dfp_test_args_t;
+
+
+// Index pairs from dfp64_vals array to be used with dfp_two_arg_tests
+static dfp_test_args_t dfp_2args_x1[] = {
+                                    {0, 1},
+                                    {2, 1},
+                                    {3, 4},
+                                    {0, 6},
+                                    {2, 4},
+                                    {5, 1},
+                                    {5, 2},
+                                    {7, 1},
+                                    {7, 2},
+                                    {8, 0},
+                                    {8, 1},
+                                    {8, 2},
+                                    {7, 8},
+                                    {12, 14},
+                                    {12, 1},
+                                    {12, 13},
+                                    {12, 12},
+                                    {12, 11},
+                                    {11, 14},
+                                    {11, 0},
+                                    {11, 13},
+                                    {11, 11},
+                                    {14, 14},
+                                    {14, 3},
+                                    {14, 15},
+};
+
+typedef enum {
+   LONG_TEST,
+   QUAD_TEST
+} precision_type_t;
+
+typedef struct dfp_test
+{
+   test_func_t test_func;
+   const char * name;
+   dfp_test_args_t * targs;
+   int num_tests;
+   precision_type_t precision;
+   const char * op;
+} dfp_test_t;
+
+typedef struct dfp_one_arg_test
+{
+   test_func_t test_func;
+   const char * name;
+   precision_type_t precision;
+   const char * op;
+} dfp_one_arg_test_t;
+
+
+static dfp_one_arg_test_t
+dfp_quai_tests[] = {
+                    { &_test_dquai, "dquai", LONG_TEST, "[QI]"},
+                    { &_test_dquaiq, "dquaiq", QUAD_TEST, "[QI]"},
+                    { NULL, NULL, 0, NULL}
+};
+
+static void test_dfp_quai_ops(void)
+{
+   test_func_t func;
+   unsigned long long u0, u0x;
+   double res, d0, *d0p, d0x, *d0xp;
+
+   int k = 0;
+   u0 = u0x = 0;
+   d0p = &d0;
+   d0xp = &d0x;
+
+   while ((func = dfp_quai_tests[k].test_func)) {
+      int i;
+      dfp_one_arg_test_t test_def = dfp_quai_tests[k];
+
+      for (i = 0; i < NUM_DFP_VALS; i++) {
+         int TE, RMC;
+
+         if (test_def.precision == LONG_TEST) {
+            u0 = dfp64_vals[i];
+         } else {
+            u0 = dfp128_vals[i * 2];
+            u0x = dfp128_vals[(i * 2) + 1];
+         }
+         *(unsigned long long *)d0p = u0;
+         f16 = d0;
+         if (test_def.precision == QUAD_TEST) {
+            *(unsigned long long *)d0xp = u0x;
+            f17 = d0x;
+         }
+
+         for (TE = 0; TE < TE_VAL_LEN; TE++) {
+            for (RMC = 0; RMC < 4; RMC++) {
+               (*func)(TE_vals[TE], RMC);
+               res = f18;
+               printf("%s (RMC=%2d, TE=%3d) %s %016llx", test_def.name, RMC,
+                      TE_vals[TE], test_def.op, u0);
+               if (test_def.precision == LONG_TEST) {
+                  printf(" => %016llx\n",
+                         *((unsigned long long *)(&res)));
+               } else {
+                  double resx = f19;
+                  printf(" %016llx ==> %016llx %016llx\n",
+                         u0x, *((unsigned long long *)(&res)), *((unsigned long long *)(&resx)));
+               }
+            }
+         }
+      }
+      k++;
+      printf( "\n" );
+   }
+}
+
+
+static dfp_test_t
+dfp_qua_tests[] = {
+                   { &_test_dqua, "dqua", dfp_2args_x1, 25, LONG_TEST, "[Q]"},
+                   { &_test_dquaq, "dquaq", dfp_2args_x1, 25, QUAD_TEST, "[Q]"},
+                   { NULL, NULL, NULL, 0, 0, NULL}
+};
+
+static void test_dfp_qua_ops(void)
+{
+   test_func_t func;
+   unsigned long long u0, u0x, u1, u1x;
+   double res, d0, d1, *d0p, *d1p;
+   double d0x, d1x, *d0xp, *d1xp;
+   int k = 0;
+   u0x = u1x = 0;
+   d0p = &d0;
+   d0xp = &d0x;
+   d1p = &d1;
+   d1xp = &d1x;
+
+   while ((func = dfp_qua_tests[k].test_func)) {
+      int i, RMC;
+      dfp_test_t test_def = dfp_qua_tests[k];
+
+      for (i = 0; i < test_def.num_tests; i++) {
+         if (test_def.precision == LONG_TEST) {
+            u0 = dfp64_vals[test_def.targs[i].fra_idx];
+            u1 = dfp64_vals[test_def.targs[i].frb_idx];
+         } else {
+            u0 = dfp128_vals[test_def.targs[i].fra_idx * 2];
+            u0x = dfp128_vals[(test_def.targs[i].fra_idx * 2) + 1];
+            u1 = dfp128_vals[test_def.targs[i].frb_idx * 2];
+            u1x = dfp128_vals[(test_def.targs[i].frb_idx * 2) + 1];
+         }
+         *(unsigned long long *)d0p = u0;
+         *(unsigned long long *)d1p = u1;
+         f14 = d0;
+         f16 = d1;
+         if (test_def.precision == QUAD_TEST) {
+            *(unsigned long long *)d0xp = u0x;
+            *(unsigned long long *)d1xp = u1x;
+            f15 = d0x;
+            f17 = d1x;
+         }
+         for (RMC = 0; RMC < 4; RMC++) {
+            (*func)(-1, RMC);
+            res = f18;
+            printf("%s (RMC=%2d) %s %016llx", test_def.name, RMC, test_def.op, u0);
+            if (test_def.precision == LONG_TEST) {
+               printf(", %016llx => %016llx\n", u1, *((unsigned long long *)(&res)));
+            } else {
+               double resx = f19;
+               printf(" %016llx, %016llx %016llx ==> %016llx %016llx\n",u0x, u1, u1x,
+                      *((unsigned long long *)(&res)), *((unsigned long long *)(&resx)));
+            }
+         }
+      }
+      k++;
+      printf( "\n" );
+   }
+}
+
+
+static dfp_one_arg_test_t
+dfp_rrnd_tests[] = {
+                    { &_test_drrnd, "drrnd", LONG_TEST, "[RR]"},
+                    { &_test_drrndq, "drrndq", QUAD_TEST, "[RR]"},
+                    { NULL, NULL, 0, NULL}
+};
+
+static void test_dfp_rrnd_ops(void)
+{
+   test_func_t func;
+   unsigned long long u0, u0x;
+   double res, d0, *d0p, d0x, *d0xp, reference_sig, *reference_sig_p;
+   long long reference_sig_vals[] = {0ULL, 2ULL, 6ULL, 63ULL};
+   int num_reference_sig_vals = sizeof(reference_sig_vals)/sizeof(long long);
+
+   int k = 0;
+   u0 = u0x = 0;
+   d0p = &d0;
+   d0xp = &d0x;
+   reference_sig_p = &reference_sig;
+
+   while ((func = dfp_rrnd_tests[k].test_func)) {
+      int i, j;
+      dfp_one_arg_test_t test_def = dfp_rrnd_tests[k];
+
+      for (i = 0; i < NUM_DFP_VALS; i++) {
+         int RMC;
+
+         if (test_def.precision == LONG_TEST) {
+            u0 = dfp64_vals[i];
+         } else {
+            u0 = dfp128_vals[i * 2];
+            u0x = dfp128_vals[(i * 2) + 1];
+         }
+         *(unsigned long long *)d0p = u0;
+         f16 = d0;
+         if (test_def.precision == QUAD_TEST) {
+            *(unsigned long long *)d0xp = u0x;
+            f17 = d0x;
+         }
+
+         for (j = 0; j < num_reference_sig_vals; j++) {
+            *(long long *)reference_sig_p = reference_sig_vals[j];
+            f14 = reference_sig;
+            for (RMC = 0; RMC < 4; RMC++) {
+               (*func)(-1, RMC);
+               res = f18;
+               printf("%s (RMC=%d, ref sig=%d) %s%016llx", test_def.name, RMC,
+                      (int)reference_sig_vals[j], test_def.op, u0);
+               if (test_def.precision == LONG_TEST) {
+                  printf(" => %016llx\n",
+                         *((unsigned long long *)(&res)));
+               } else {
+                  double resx = f19;
+                  printf(" %016llx ==> %016llx %016llx\n",
+                         u0x, *((unsigned long long *)(&res)), *((unsigned long long *)(&resx)));
+               }
+            }
+         }
+      }
+      k++;
+      printf( "\n" );
+   }
+}
+
+
+static dfp_one_arg_test_t
+dfp_xiex_tests[] = {
+                       { &_test_diex, "diex", LONG_TEST, ">>"},
+                       { &_test_diexq, "diexq", QUAD_TEST, ">>"},
+                       { &_test_dxex, "dxex", LONG_TEST, "<<"},
+                       { &_test_dxexq, "dxexq", QUAD_TEST, "<<"},
+                       { NULL, NULL, 0, NULL}
+};
+
+static void test_dfp_xiex_ops(void)
+{
+   test_func_t func;
+   unsigned long long u0, u0x;
+   double res, d0, *d0p, d0x, *d0xp, target_exp, *target_exp_p;
+   /* The first two positions are placeholders and will be filled in later,
+    * based on the precision of the DFP argument.
+    */
+   long long target_exp_vals[] = {0ULL, 0ULL, 0ULL, -1ULL, -2ULL, -3ULL, -4ULL, -5ULL};
+   int num_exp_vals = sizeof(target_exp_vals)/sizeof(long long);
+   int k = 0;
+   u0 = u0x = 0;
+   d0p = &d0;
+   d0xp = &d0x;
+   target_exp_p = &target_exp;
+
+   while ((func = dfp_xiex_tests[k].test_func)) {
+      int i;
+      Bool insert_insn = False;
+      dfp_one_arg_test_t test_def = dfp_xiex_tests[k];
+
+      if (!strncmp(test_def.name, "di", 2))
+         insert_insn = True;
+
+      if (test_def.precision == QUAD_TEST) {
+         target_exp_vals[0] = 12288ULL; // > max biased exponent
+         target_exp_vals[1] = 5235ULL;
+      } else {
+         target_exp_vals[0] = 768ULL; // > max biased exponent
+         target_exp_vals[1] = 355ULL;
+      }
+
+      for (i = 0; i < NUM_DFP_VALS; i++) {
+         unsigned int j;
+
+         if (test_def.precision == QUAD_TEST) {
+            u0 = dfp128_vals[i * 2];
+            u0x = dfp128_vals[(i * 2) + 1];
+         } else {
+            u0 = dfp64_vals[i];
+         }
+         *(unsigned long long *)d0p = u0;
+         f16 = d0;
+         if (test_def.precision == QUAD_TEST) {
+            *(unsigned long long *)d0xp = u0x;
+            f17 = d0x;
+         }
+
+         if (!insert_insn) {
+            // This is just for extract insns (dexex[q])
+            (*func)(0, 0);
+            res = f18;
+            printf("%s %s ", test_def.name, test_def.op);
+            if (test_def.precision == LONG_TEST) {
+               printf("%016llx => %016llx\n", u0,
+                      *((unsigned long long *)(&res)));
+            } else {
+               double resx = f19;
+               printf("%016llx %016llx ==> %016llx %016llx\n", u0, u0x,
+                      *((unsigned long long *)(&res)), *((unsigned long long *)(&resx)));
+            }
+            continue;
+         }
+         // The following for-loop is just for insert insns (diex[q])
+         for (j = 0; j < num_exp_vals; j++) {
+            *(long long *)target_exp_p = target_exp_vals[j];
+            f14 = target_exp;
+            (*func)(0, 0);
+            res = f18;
+            printf("%s %s %5d, ", test_def.name, test_def.op, (int)target_exp_vals[j]);
+
+            if (test_def.precision == LONG_TEST) {
+               printf("%016llx => %016llx\n", u0,
+                      *((unsigned long long *)(&res)));
+            } else {
+               double resx = f19;
+               printf("%016llx %016llx ==> %016llx %016llx\n", u0, u0x,
+                      *((unsigned long long *)(&res)), *((unsigned long long *)(&resx)));
+            }
+         }
+      }
+      k++;
+      printf( "\n" );
+   }
+}
+
+static dfp_one_arg_test_t
+dfp_rint_tests[] = {
+                    { &_test_drintn, "drintn", LONG_TEST, "~"},
+                    { &_test_drintnq, "drintnq", QUAD_TEST, "~"},
+                    { &_test_drintx, "drintx", LONG_TEST, "~"},
+                    { &_test_drintxq, "drintxq", QUAD_TEST, "~"},
+                    { NULL, NULL, 0, NULL}
+};
+
+static void test_dfp_rint_ops(void)
+{
+   test_func_t func;
+   unsigned long long u0, u0x;
+   double res, d0, *d0p, d0x, *d0xp;
+   int k = 0;
+   u0 = u0x = 0;
+   d0p = &d0;
+   d0xp = &d0x;
+
+   while ((func = dfp_rint_tests[k].test_func)) {
+      int i;
+      dfp_one_arg_test_t test_def = dfp_rint_tests[k];
+
+      for (i = 0; i < NUM_DFP_VALS; i++) {
+         int R, RMC;
+
+         if (test_def.precision == LONG_TEST) {
+            u0 = dfp64_vals[i];
+         } else {
+            u0 = dfp128_vals[i * 2];
+            u0x = dfp128_vals[(i * 2) + 1];
+         }
+         *(unsigned long long *)d0p = u0;
+         f16 = d0;
+         if (test_def.precision == QUAD_TEST) {
+            *(unsigned long long *)d0xp = u0x;
+            f17 = d0x;
+         }
+
+         for (R = 0; R < 2; R++) {
+            for (RMC = 0; RMC < 4; RMC++) {
+               (*func)(R, RMC);
+               res = f18;
+               printf("%s (RM=%d) %s%016llx", test_def.name, (RMC + (R << 2)), test_def.op, u0);
+               if (test_def.precision == LONG_TEST) {
+                  printf(" => %016llx\n",
+                         *((unsigned long long *)(&res)));
+               } else {
+                  double resx = f19;
+                  printf(" %016llx ==> %016llx %016llx\n",
+                         u0x, *((unsigned long long *)(&res)), *((unsigned long long *)(&resx)));
+               }
+            }
+         }
+      }
+      k++;
+      printf( "\n" );
+   }
+}
+
+static dfp_test_t
+dfp_cmp_tests[] = {
+                     { &_test_dcmpo, "dcmpo", dfp_2args_x1, 25, LONG_TEST, "<>"},
+                     { &_test_dcmpoq, "dcmpoq", dfp_2args_x1, 25, QUAD_TEST, "<>"},
+                     { &_test_dcmpu, "dcmpu", dfp_2args_x1, 25, LONG_TEST, "<>"},
+                     { &_test_dcmpuq, "dcmpuq", dfp_2args_x1, 25, QUAD_TEST, "<>"},
+                     { NULL, NULL, NULL, 0, 0, NULL}
+};
+
+static void test_dfp_cmp_ops(void)
+{
+   test_func_t func;
+   unsigned long long u0, u0x, u1, u1x;
+   double d0, d1, *d0p, *d1p;
+   double d0x, d1x, *d0xp, *d1xp;
+   /* BF is a 3-bit instruction field that indicates the CR field in which the
+    * result of the compare should be placed.  We won't iterate through all
+    * 8 possible BF values since storing compare results to a given field is
+    * a well-tested mechanism in VEX.  But we will test two BF values, just as
+    * a sniff-test.
+    */
+   int k = 0, BF;
+   u0x = u1x = 0;
+   d0p = &d0;
+   d0xp = &d0x;
+   d1p = &d1;
+   d1xp = &d1x;
+
+   while ((func = dfp_cmp_tests[k].test_func)) {
+      int i, repeat = 1;
+      dfp_test_t test_def = dfp_cmp_tests[k];
+      BF = 0;
+
+again:
+      for (i = 0; i < test_def.num_tests; i++) {
+         unsigned int condreg;
+         unsigned int flags;
+
+         if (test_def.precision == LONG_TEST) {
+            u0 = dfp64_vals[test_def.targs[i].fra_idx];
+            u1 = dfp64_vals[test_def.targs[i].frb_idx];
+         } else {
+            u0 = dfp128_vals[test_def.targs[i].fra_idx * 2];
+            u0x = dfp128_vals[(test_def.targs[i].fra_idx * 2) + 1];
+            u1 = dfp128_vals[test_def.targs[i].frb_idx * 2];
+            u1x = dfp128_vals[(test_def.targs[i].frb_idx * 2) + 1];
+         }
+         *(unsigned long long *)d0p = u0;
+         *(unsigned long long *)d1p = u1;
+         f14 = d0;
+         f16 = d1;
+         if (test_def.precision == QUAD_TEST) {
+            *(unsigned long long *)d0xp = u0x;
+            *(unsigned long long *)d1xp = u1x;
+            f15 = d0x;
+            f17 = d1x;
+         }
+
+         SET_FPSCR_ZERO;
+         SET_CR_XER_ZERO;
+         (*func)(BF, 0);
+         GET_CR(flags);
+
+         condreg = ((flags >> (4 * (7-BF)))) & 0xf;
+         printf("%s %016llx", test_def.name, u0);
+         if (test_def.precision == LONG_TEST) {
+            printf(" %s %016llx => %x (BF=%d)\n",
+                   test_def.op, u1, condreg, BF);
+         } else {
+            printf(" %016llx %s %016llx %016llx ==> %x (BF=%d)\n",
+                   u0x, test_def.op, u1, u1x,
+                   condreg, BF);
+         }
+      }
+      if (repeat) {
+         repeat = 0;
+         BF = 5;
+         goto again;
+      }
+      k++;
+      printf( "\n" );
+   }
+}
+
+
+static test_table_t
+         all_tests[] =
+{
+                    { &test_dfp_cmp_ops,
+                      "Test DFP compare instructions"},
+                    { &test_dfp_rint_ops,
+                      "Test DFP round instructions"},
+                    { &test_dfp_xiex_ops,
+                      "Test DFP insert/extract instructions"},
+                    { &test_dfp_rrnd_ops,
+                      "Test DFP reround instructions"},
+                    { &test_dfp_qua_ops,
+                      "Test DFP quantize instructions"},
+                    { &test_dfp_quai_ops,
+                      "Test DFP quantize immediate instructions"},
+                    { NULL, NULL }
+};
+#endif // HAS_DFP
+
+int main() {
+#if defined(HAS_DFP)
+
+   test_table_t aTest;
+   test_driver_func_t func;
+   int i = 0;
+
+   while ((func = all_tests[i].test_category)) {
+      aTest = all_tests[i];
+      printf( "%s\n", aTest.name );
+      (*func)();
+      i++;
+   }
+
+#endif // HAS_DFP
+   return 0;
+}
diff --git a/none/tests/ppc32/test_dfp3.stderr.exp b/none/tests/ppc32/test_dfp3.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/ppc32/test_dfp3.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/ppc32/test_dfp3.stdout.exp b/none/tests/ppc32/test_dfp3.stdout.exp
new file mode 100644
index 0000000..5c21dc0
--- /dev/null
+++ b/none/tests/ppc32/test_dfp3.stdout.exp
@@ -0,0 +1,2248 @@
+Test DFP compare instructions
+dcmpo 2234000000000e50 <> 223400000014c000 => 8 (BF=0)
+dcmpo a2340000000000e0 <> 223400000014c000 => 8 (BF=0)
+dcmpo 22240000000000cf <> a21400010a395bcf => 4 (BF=0)
+dcmpo 2234000000000e50 <> 000400000089b000 => 4 (BF=0)
+dcmpo a2340000000000e0 <> a21400010a395bcf => 8 (BF=0)
+dcmpo 6e4d3f1f534acdd4 <> 223400000014c000 => 4 (BF=0)
+dcmpo 6e4d3f1f534acdd4 <> a2340000000000e0 => 4 (BF=0)
+dcmpo 2238000000000000 <> 223400000014c000 => 8 (BF=0)
+dcmpo 2238000000000000 <> a2340000000000e0 => 4 (BF=0)
+dcmpo a238000000000000 <> 2234000000000e50 => 8 (BF=0)
+dcmpo a238000000000000 <> 223400000014c000 => 8 (BF=0)
+dcmpo a238000000000000 <> a2340000000000e0 => 4 (BF=0)
+dcmpo 2238000000000000 <> a238000000000000 => 2 (BF=0)
+dcmpo fc00000000000000 <> f800000000000000 => 1 (BF=0)
+dcmpo fc00000000000000 <> 223400000014c000 => 1 (BF=0)
+dcmpo fc00000000000000 <> 7800000000000000 => 1 (BF=0)
+dcmpo fc00000000000000 <> fc00000000000000 => 1 (BF=0)
+dcmpo fc00000000000000 <> fe000000d0e0a0d0 => 1 (BF=0)
+dcmpo fe000000d0e0a0d0 <> f800000000000000 => 1 (BF=0)
+dcmpo fe000000d0e0a0d0 <> 2234000000000e50 => 1 (BF=0)
+dcmpo fe000000d0e0a0d0 <> 7800000000000000 => 1 (BF=0)
+dcmpo fe000000d0e0a0d0 <> fe000000d0e0a0d0 => 1 (BF=0)
+dcmpo f800000000000000 <> f800000000000000 => 2 (BF=0)
+dcmpo f800000000000000 <> 22240000000000cf => 8 (BF=0)
+dcmpo f800000000000000 <> 7a34000000000000 => 8 (BF=0)
+dcmpo 2234000000000e50 <> 223400000014c000 => 8 (BF=5)
+dcmpo a2340000000000e0 <> 223400000014c000 => 8 (BF=5)
+dcmpo 22240000000000cf <> a21400010a395bcf => 4 (BF=5)
+dcmpo 2234000000000e50 <> 000400000089b000 => 4 (BF=5)
+dcmpo a2340000000000e0 <> a21400010a395bcf => 8 (BF=5)
+dcmpo 6e4d3f1f534acdd4 <> 223400000014c000 => 4 (BF=5)
+dcmpo 6e4d3f1f534acdd4 <> a2340000000000e0 => 4 (BF=5)
+dcmpo 2238000000000000 <> 223400000014c000 => 8 (BF=5)
+dcmpo 2238000000000000 <> a2340000000000e0 => 4 (BF=5)
+dcmpo a238000000000000 <> 2234000000000e50 => 8 (BF=5)
+dcmpo a238000000000000 <> 223400000014c000 => 8 (BF=5)
+dcmpo a238000000000000 <> a2340000000000e0 => 4 (BF=5)
+dcmpo 2238000000000000 <> a238000000000000 => 2 (BF=5)
+dcmpo fc00000000000000 <> f800000000000000 => 1 (BF=5)
+dcmpo fc00000000000000 <> 223400000014c000 => 1 (BF=5)
+dcmpo fc00000000000000 <> 7800000000000000 => 1 (BF=5)
+dcmpo fc00000000000000 <> fc00000000000000 => 1 (BF=5)
+dcmpo fc00000000000000 <> fe000000d0e0a0d0 => 1 (BF=5)
+dcmpo fe000000d0e0a0d0 <> f800000000000000 => 1 (BF=5)
+dcmpo fe000000d0e0a0d0 <> 2234000000000e50 => 1 (BF=5)
+dcmpo fe000000d0e0a0d0 <> 7800000000000000 => 1 (BF=5)
+dcmpo fe000000d0e0a0d0 <> fe000000d0e0a0d0 => 1 (BF=5)
+dcmpo f800000000000000 <> f800000000000000 => 2 (BF=5)
+dcmpo f800000000000000 <> 22240000000000cf => 8 (BF=5)
+dcmpo f800000000000000 <> 7a34000000000000 => 8 (BF=5)
+
+dcmpoq 2207c00000000000 0000000000000e50 <> 2207c00000000000 000000000014c000 ==> 8 (BF=0)
+dcmpoq a207c00000000000 00000000000000e0 <> 2207c00000000000 000000000014c000 ==> 8 (BF=0)
+dcmpoq 2206c00000000000 00000000000000cf <> a205c00000000000 000000010a395bcf ==> 4 (BF=0)
+dcmpoq 2207c00000000000 0000000000000e50 <> 000400000089b000 0a6000d000000049 ==> 4 (BF=0)
+dcmpoq a207c00000000000 00000000000000e0 <> a205c00000000000 000000010a395bcf ==> 8 (BF=0)
+dcmpoq 6209400000fd0000 00253f1f534acdd4 <> 2207c00000000000 000000000014c000 ==> 8 (BF=0)
+dcmpoq 6209400000fd0000 00253f1f534acdd4 <> a207c00000000000 00000000000000e0 ==> 4 (BF=0)
+dcmpoq 2208000000000000 0000000000000000 <> 2207c00000000000 000000000014c000 ==> 8 (BF=0)
+dcmpoq 2208000000000000 0000000000000000 <> a207c00000000000 00000000000000e0 ==> 4 (BF=0)
+dcmpoq a208000000000000 0000000000000000 <> 2207c00000000000 0000000000000e50 ==> 8 (BF=0)
+dcmpoq a208000000000000 0000000000000000 <> 2207c00000000000 000000000014c000 ==> 8 (BF=0)
+dcmpoq a208000000000000 0000000000000000 <> a207c00000000000 00000000000000e0 ==> 4 (BF=0)
+dcmpoq 2208000000000000 0000000000000000 <> a208000000000000 0000000000000000 ==> 2 (BF=0)
+dcmpoq 7e00000000000000 fe000000d0e0a0d0 <> f800000000000000 0000000000000000 ==> 1 (BF=0)
+dcmpoq 7e00000000000000 fe000000d0e0a0d0 <> 2207c00000000000 000000000014c000 ==> 1 (BF=0)
+dcmpoq 7e00000000000000 fe000000d0e0a0d0 <> 7800000000000000 0000000000000000 ==> 1 (BF=0)
+dcmpoq 7e00000000000000 fe000000d0e0a0d0 <> 7e00000000000000 fe000000d0e0a0d0 ==> 1 (BF=0)
+dcmpoq 7e00000000000000 fe000000d0e0a0d0 <> fc00000000000000 c00100035b007700 ==> 1 (BF=0)
+dcmpoq fc00000000000000 c00100035b007700 <> f800000000000000 0000000000000000 ==> 1 (BF=0)
+dcmpoq fc00000000000000 c00100035b007700 <> 2207c00000000000 0000000000000e50 ==> 1 (BF=0)
+dcmpoq fc00000000000000 c00100035b007700 <> 7800000000000000 0000000000000000 ==> 1 (BF=0)
+dcmpoq fc00000000000000 c00100035b007700 <> fc00000000000000 c00100035b007700 ==> 1 (BF=0)
+dcmpoq f800000000000000 0000000000000000 <> f800000000000000 0000000000000000 ==> 2 (BF=0)
+dcmpoq f800000000000000 0000000000000000 <> 2206c00000000000 00000000000000cf ==> 8 (BF=0)
+dcmpoq f800000000000000 0000000000000000 <> f900000000000000 0000000000000000 ==> 2 (BF=0)
+dcmpoq 2207c00000000000 0000000000000e50 <> 2207c00000000000 000000000014c000 ==> 8 (BF=5)
+dcmpoq a207c00000000000 00000000000000e0 <> 2207c00000000000 000000000014c000 ==> 8 (BF=5)
+dcmpoq 2206c00000000000 00000000000000cf <> a205c00000000000 000000010a395bcf ==> 4 (BF=5)
+dcmpoq 2207c00000000000 0000000000000e50 <> 000400000089b000 0a6000d000000049 ==> 4 (BF=5)
+dcmpoq a207c00000000000 00000000000000e0 <> a205c00000000000 000000010a395bcf ==> 8 (BF=5)
+dcmpoq 6209400000fd0000 00253f1f534acdd4 <> 2207c00000000000 000000000014c000 ==> 8 (BF=5)
+dcmpoq 6209400000fd0000 00253f1f534acdd4 <> a207c00000000000 00000000000000e0 ==> 4 (BF=5)
+dcmpoq 2208000000000000 0000000000000000 <> 2207c00000000000 000000000014c000 ==> 8 (BF=5)
+dcmpoq 2208000000000000 0000000000000000 <> a207c00000000000 00000000000000e0 ==> 4 (BF=5)
+dcmpoq a208000000000000 0000000000000000 <> 2207c00000000000 0000000000000e50 ==> 8 (BF=5)
+dcmpoq a208000000000000 0000000000000000 <> 2207c00000000000 000000000014c000 ==> 8 (BF=5)
+dcmpoq a208000000000000 0000000000000000 <> a207c00000000000 00000000000000e0 ==> 4 (BF=5)
+dcmpoq 2208000000000000 0000000000000000 <> a208000000000000 0000000000000000 ==> 2 (BF=5)
+dcmpoq 7e00000000000000 fe000000d0e0a0d0 <> f800000000000000 0000000000000000 ==> 1 (BF=5)
+dcmpoq 7e00000000000000 fe000000d0e0a0d0 <> 2207c00000000000 000000000014c000 ==> 1 (BF=5)
+dcmpoq 7e00000000000000 fe000000d0e0a0d0 <> 7800000000000000 0000000000000000 ==> 1 (BF=5)
+dcmpoq 7e00000000000000 fe000000d0e0a0d0 <> 7e00000000000000 fe000000d0e0a0d0 ==> 1 (BF=5)
+dcmpoq 7e00000000000000 fe000000d0e0a0d0 <> fc00000000000000 c00100035b007700 ==> 1 (BF=5)
+dcmpoq fc00000000000000 c00100035b007700 <> f800000000000000 0000000000000000 ==> 1 (BF=5)
+dcmpoq fc00000000000000 c00100035b007700 <> 2207c00000000000 0000000000000e50 ==> 1 (BF=5)
+dcmpoq fc00000000000000 c00100035b007700 <> 7800000000000000 0000000000000000 ==> 1 (BF=5)
+dcmpoq fc00000000000000 c00100035b007700 <> fc00000000000000 c00100035b007700 ==> 1 (BF=5)
+dcmpoq f800000000000000 0000000000000000 <> f800000000000000 0000000000000000 ==> 2 (BF=5)
+dcmpoq f800000000000000 0000000000000000 <> 2206c00000000000 00000000000000cf ==> 8 (BF=5)
+dcmpoq f800000000000000 0000000000000000 <> f900000000000000 0000000000000000 ==> 2 (BF=5)
+
+dcmpu 2234000000000e50 <> 223400000014c000 => 8 (BF=0)
+dcmpu a2340000000000e0 <> 223400000014c000 => 8 (BF=0)
+dcmpu 22240000000000cf <> a21400010a395bcf => 4 (BF=0)
+dcmpu 2234000000000e50 <> 000400000089b000 => 4 (BF=0)
+dcmpu a2340000000000e0 <> a21400010a395bcf => 8 (BF=0)
+dcmpu 6e4d3f1f534acdd4 <> 223400000014c000 => 4 (BF=0)
+dcmpu 6e4d3f1f534acdd4 <> a2340000000000e0 => 4 (BF=0)
+dcmpu 2238000000000000 <> 223400000014c000 => 8 (BF=0)
+dcmpu 2238000000000000 <> a2340000000000e0 => 4 (BF=0)
+dcmpu a238000000000000 <> 2234000000000e50 => 8 (BF=0)
+dcmpu a238000000000000 <> 223400000014c000 => 8 (BF=0)
+dcmpu a238000000000000 <> a2340000000000e0 => 4 (BF=0)
+dcmpu 2238000000000000 <> a238000000000000 => 2 (BF=0)
+dcmpu fc00000000000000 <> f800000000000000 => 1 (BF=0)
+dcmpu fc00000000000000 <> 223400000014c000 => 1 (BF=0)
+dcmpu fc00000000000000 <> 7800000000000000 => 1 (BF=0)
+dcmpu fc00000000000000 <> fc00000000000000 => 1 (BF=0)
+dcmpu fc00000000000000 <> fe000000d0e0a0d0 => 1 (BF=0)
+dcmpu fe000000d0e0a0d0 <> f800000000000000 => 1 (BF=0)
+dcmpu fe000000d0e0a0d0 <> 2234000000000e50 => 1 (BF=0)
+dcmpu fe000000d0e0a0d0 <> 7800000000000000 => 1 (BF=0)
+dcmpu fe000000d0e0a0d0 <> fe000000d0e0a0d0 => 1 (BF=0)
+dcmpu f800000000000000 <> f800000000000000 => 2 (BF=0)
+dcmpu f800000000000000 <> 22240000000000cf => 8 (BF=0)
+dcmpu f800000000000000 <> 7a34000000000000 => 8 (BF=0)
+dcmpu 2234000000000e50 <> 223400000014c000 => 8 (BF=5)
+dcmpu a2340000000000e0 <> 223400000014c000 => 8 (BF=5)
+dcmpu 22240000000000cf <> a21400010a395bcf => 4 (BF=5)
+dcmpu 2234000000000e50 <> 000400000089b000 => 4 (BF=5)
+dcmpu a2340000000000e0 <> a21400010a395bcf => 8 (BF=5)
+dcmpu 6e4d3f1f534acdd4 <> 223400000014c000 => 4 (BF=5)
+dcmpu 6e4d3f1f534acdd4 <> a2340000000000e0 => 4 (BF=5)
+dcmpu 2238000000000000 <> 223400000014c000 => 8 (BF=5)
+dcmpu 2238000000000000 <> a2340000000000e0 => 4 (BF=5)
+dcmpu a238000000000000 <> 2234000000000e50 => 8 (BF=5)
+dcmpu a238000000000000 <> 223400000014c000 => 8 (BF=5)
+dcmpu a238000000000000 <> a2340000000000e0 => 4 (BF=5)
+dcmpu 2238000000000000 <> a238000000000000 => 2 (BF=5)
+dcmpu fc00000000000000 <> f800000000000000 => 1 (BF=5)
+dcmpu fc00000000000000 <> 223400000014c000 => 1 (BF=5)
+dcmpu fc00000000000000 <> 7800000000000000 => 1 (BF=5)
+dcmpu fc00000000000000 <> fc00000000000000 => 1 (BF=5)
+dcmpu fc00000000000000 <> fe000000d0e0a0d0 => 1 (BF=5)
+dcmpu fe000000d0e0a0d0 <> f800000000000000 => 1 (BF=5)
+dcmpu fe000000d0e0a0d0 <> 2234000000000e50 => 1 (BF=5)
+dcmpu fe000000d0e0a0d0 <> 7800000000000000 => 1 (BF=5)
+dcmpu fe000000d0e0a0d0 <> fe000000d0e0a0d0 => 1 (BF=5)
+dcmpu f800000000000000 <> f800000000000000 => 2 (BF=5)
+dcmpu f800000000000000 <> 22240000000000cf => 8 (BF=5)
+dcmpu f800000000000000 <> 7a34000000000000 => 8 (BF=5)
+
+dcmpuq 2207c00000000000 0000000000000e50 <> 2207c00000000000 000000000014c000 ==> 8 (BF=0)
+dcmpuq a207c00000000000 00000000000000e0 <> 2207c00000000000 000000000014c000 ==> 8 (BF=0)
+dcmpuq 2206c00000000000 00000000000000cf <> a205c00000000000 000000010a395bcf ==> 4 (BF=0)
+dcmpuq 2207c00000000000 0000000000000e50 <> 000400000089b000 0a6000d000000049 ==> 4 (BF=0)
+dcmpuq a207c00000000000 00000000000000e0 <> a205c00000000000 000000010a395bcf ==> 8 (BF=0)
+dcmpuq 6209400000fd0000 00253f1f534acdd4 <> 2207c00000000000 000000000014c000 ==> 8 (BF=0)
+dcmpuq 6209400000fd0000 00253f1f534acdd4 <> a207c00000000000 00000000000000e0 ==> 4 (BF=0)
+dcmpuq 2208000000000000 0000000000000000 <> 2207c00000000000 000000000014c000 ==> 8 (BF=0)
+dcmpuq 2208000000000000 0000000000000000 <> a207c00000000000 00000000000000e0 ==> 4 (BF=0)
+dcmpuq a208000000000000 0000000000000000 <> 2207c00000000000 0000000000000e50 ==> 8 (BF=0)
+dcmpuq a208000000000000 0000000000000000 <> 2207c00000000000 000000000014c000 ==> 8 (BF=0)
+dcmpuq a208000000000000 0000000000000000 <> a207c00000000000 00000000000000e0 ==> 4 (BF=0)
+dcmpuq 2208000000000000 0000000000000000 <> a208000000000000 0000000000000000 ==> 2 (BF=0)
+dcmpuq 7e00000000000000 fe000000d0e0a0d0 <> f800000000000000 0000000000000000 ==> 1 (BF=0)
+dcmpuq 7e00000000000000 fe000000d0e0a0d0 <> 2207c00000000000 000000000014c000 ==> 1 (BF=0)
+dcmpuq 7e00000000000000 fe000000d0e0a0d0 <> 7800000000000000 0000000000000000 ==> 1 (BF=0)
+dcmpuq 7e00000000000000 fe000000d0e0a0d0 <> 7e00000000000000 fe000000d0e0a0d0 ==> 1 (BF=0)
+dcmpuq 7e00000000000000 fe000000d0e0a0d0 <> fc00000000000000 c00100035b007700 ==> 1 (BF=0)
+dcmpuq fc00000000000000 c00100035b007700 <> f800000000000000 0000000000000000 ==> 1 (BF=0)
+dcmpuq fc00000000000000 c00100035b007700 <> 2207c00000000000 0000000000000e50 ==> 1 (BF=0)
+dcmpuq fc00000000000000 c00100035b007700 <> 7800000000000000 0000000000000000 ==> 1 (BF=0)
+dcmpuq fc00000000000000 c00100035b007700 <> fc00000000000000 c00100035b007700 ==> 1 (BF=0)
+dcmpuq f800000000000000 0000000000000000 <> f800000000000000 0000000000000000 ==> 2 (BF=0)
+dcmpuq f800000000000000 0000000000000000 <> 2206c00000000000 00000000000000cf ==> 8 (BF=0)
+dcmpuq f800000000000000 0000000000000000 <> f900000000000000 0000000000000000 ==> 2 (BF=0)
+dcmpuq 2207c00000000000 0000000000000e50 <> 2207c00000000000 000000000014c000 ==> 8 (BF=5)
+dcmpuq a207c00000000000 00000000000000e0 <> 2207c00000000000 000000000014c000 ==> 8 (BF=5)
+dcmpuq 2206c00000000000 00000000000000cf <> a205c00000000000 000000010a395bcf ==> 4 (BF=5)
+dcmpuq 2207c00000000000 0000000000000e50 <> 000400000089b000 0a6000d000000049 ==> 4 (BF=5)
+dcmpuq a207c00000000000 00000000000000e0 <> a205c00000000000 000000010a395bcf ==> 8 (BF=5)
+dcmpuq 6209400000fd0000 00253f1f534acdd4 <> 2207c00000000000 000000000014c000 ==> 8 (BF=5)
+dcmpuq 6209400000fd0000 00253f1f534acdd4 <> a207c00000000000 00000000000000e0 ==> 4 (BF=5)
+dcmpuq 2208000000000000 0000000000000000 <> 2207c00000000000 000000000014c000 ==> 8 (BF=5)
+dcmpuq 2208000000000000 0000000000000000 <> a207c00000000000 00000000000000e0 ==> 4 (BF=5)
+dcmpuq a208000000000000 0000000000000000 <> 2207c00000000000 0000000000000e50 ==> 8 (BF=5)
+dcmpuq a208000000000000 0000000000000000 <> 2207c00000000000 000000000014c000 ==> 8 (BF=5)
+dcmpuq a208000000000000 0000000000000000 <> a207c00000000000 00000000000000e0 ==> 4 (BF=5)
+dcmpuq 2208000000000000 0000000000000000 <> a208000000000000 0000000000000000 ==> 2 (BF=5)
+dcmpuq 7e00000000000000 fe000000d0e0a0d0 <> f800000000000000 0000000000000000 ==> 1 (BF=5)
+dcmpuq 7e00000000000000 fe000000d0e0a0d0 <> 2207c00000000000 000000000014c000 ==> 1 (BF=5)
+dcmpuq 7e00000000000000 fe000000d0e0a0d0 <> 7800000000000000 0000000000000000 ==> 1 (BF=5)
+dcmpuq 7e00000000000000 fe000000d0e0a0d0 <> 7e00000000000000 fe000000d0e0a0d0 ==> 1 (BF=5)
+dcmpuq 7e00000000000000 fe000000d0e0a0d0 <> fc00000000000000 c00100035b007700 ==> 1 (BF=5)
+dcmpuq fc00000000000000 c00100035b007700 <> f800000000000000 0000000000000000 ==> 1 (BF=5)
+dcmpuq fc00000000000000 c00100035b007700 <> 2207c00000000000 0000000000000e50 ==> 1 (BF=5)
+dcmpuq fc00000000000000 c00100035b007700 <> 7800000000000000 0000000000000000 ==> 1 (BF=5)
+dcmpuq fc00000000000000 c00100035b007700 <> fc00000000000000 c00100035b007700 ==> 1 (BF=5)
+dcmpuq f800000000000000 0000000000000000 <> f800000000000000 0000000000000000 ==> 2 (BF=5)
+dcmpuq f800000000000000 0000000000000000 <> 2206c00000000000 00000000000000cf ==> 8 (BF=5)
+dcmpuq f800000000000000 0000000000000000 <> f900000000000000 0000000000000000 ==> 2 (BF=5)
+
+Test DFP round instructions
+drintn (RM=0) ~2234000000000e50 => 22380000000001c5
+drintn (RM=1) ~2234000000000e50 => 22380000000001c5
+drintn (RM=2) ~2234000000000e50 => 22380000000001c5
+drintn (RM=3) ~2234000000000e50 => 22380000000001c5
+drintn (RM=4) ~2234000000000e50 => 22380000000001c5
+drintn (RM=5) ~2234000000000e50 => 22380000000001c5
+drintn (RM=6) ~2234000000000e50 => 22380000000001c5
+drintn (RM=7) ~2234000000000e50 => 22380000000001c5
+drintn (RM=0) ~223400000014c000 => 2238000000028c00
+drintn (RM=1) ~223400000014c000 => 2238000000028c00
+drintn (RM=2) ~223400000014c000 => 2238000000028c00
+drintn (RM=3) ~223400000014c000 => 2238000000028c00
+drintn (RM=4) ~223400000014c000 => 2238000000028c00
+drintn (RM=5) ~223400000014c000 => 2238000000028c00
+drintn (RM=6) ~223400000014c000 => 2238000000028c00
+drintn (RM=7) ~223400000014c000 => 2238000000028c00
+drintn (RM=0) ~a2340000000000e0 => a238000000000016
+drintn (RM=1) ~a2340000000000e0 => a238000000000016
+drintn (RM=2) ~a2340000000000e0 => a238000000000016
+drintn (RM=3) ~a2340000000000e0 => a238000000000016
+drintn (RM=4) ~a2340000000000e0 => a238000000000016
+drintn (RM=5) ~a2340000000000e0 => a238000000000016
+drintn (RM=6) ~a2340000000000e0 => a238000000000016
+drintn (RM=7) ~a2340000000000e0 => a238000000000016
+drintn (RM=0) ~22240000000000cf => 2238000000000000
+drintn (RM=1) ~22240000000000cf => 2238000000000000
+drintn (RM=2) ~22240000000000cf => 2238000000000000
+drintn (RM=3) ~22240000000000cf => 2238000000000000
+drintn (RM=4) ~22240000000000cf => 2238000000000001
+drintn (RM=5) ~22240000000000cf => 2238000000000000
+drintn (RM=6) ~22240000000000cf => 2238000000000001
+drintn (RM=7) ~22240000000000cf => 2238000000000000
+drintn (RM=0) ~a21400010a395bcf => a238000000000004
+drintn (RM=1) ~a21400010a395bcf => a238000000000004
+drintn (RM=2) ~a21400010a395bcf => a238000000000004
+drintn (RM=3) ~a21400010a395bcf => a238000000000004
+drintn (RM=4) ~a21400010a395bcf => a238000000000004
+drintn (RM=5) ~a21400010a395bcf => a238000000000005
+drintn (RM=6) ~a21400010a395bcf => a238000000000005
+drintn (RM=7) ~a21400010a395bcf => a238000000000004
+drintn (RM=0) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintn (RM=1) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintn (RM=2) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintn (RM=3) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintn (RM=4) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintn (RM=5) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintn (RM=6) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintn (RM=7) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintn (RM=0) ~000400000089b000 => 2238000000000000
+drintn (RM=1) ~000400000089b000 => 2238000000000000
+drintn (RM=2) ~000400000089b000 => 2238000000000000
+drintn (RM=3) ~000400000089b000 => 2238000000000000
+drintn (RM=4) ~000400000089b000 => 2238000000000001
+drintn (RM=5) ~000400000089b000 => 2238000000000000
+drintn (RM=6) ~000400000089b000 => 2238000000000001
+drintn (RM=7) ~000400000089b000 => 2238000000000000
+drintn (RM=0) ~2238000000000000 => 2238000000000000
+drintn (RM=1) ~2238000000000000 => 2238000000000000
+drintn (RM=2) ~2238000000000000 => 2238000000000000
+drintn (RM=3) ~2238000000000000 => 2238000000000000
+drintn (RM=4) ~2238000000000000 => 2238000000000000
+drintn (RM=5) ~2238000000000000 => 2238000000000000
+drintn (RM=6) ~2238000000000000 => 2238000000000000
+drintn (RM=7) ~2238000000000000 => 2238000000000000
+drintn (RM=0) ~a238000000000000 => a238000000000000
+drintn (RM=1) ~a238000000000000 => a238000000000000
+drintn (RM=2) ~a238000000000000 => a238000000000000
+drintn (RM=3) ~a238000000000000 => a238000000000000
+drintn (RM=4) ~a238000000000000 => a238000000000000
+drintn (RM=5) ~a238000000000000 => a238000000000000
+drintn (RM=6) ~a238000000000000 => a238000000000000
+drintn (RM=7) ~a238000000000000 => a238000000000000
+drintn (RM=0) ~4248000000000000 => 4248000000000000
+drintn (RM=1) ~4248000000000000 => 4248000000000000
+drintn (RM=2) ~4248000000000000 => 4248000000000000
+drintn (RM=3) ~4248000000000000 => 4248000000000000
+drintn (RM=4) ~4248000000000000 => 4248000000000000
+drintn (RM=5) ~4248000000000000 => 4248000000000000
+drintn (RM=6) ~4248000000000000 => 4248000000000000
+drintn (RM=7) ~4248000000000000 => 4248000000000000
+drintn (RM=0) ~7e34000000000111 => 7c00000000000111
+drintn (RM=1) ~7e34000000000111 => 7c00000000000111
+drintn (RM=2) ~7e34000000000111 => 7c00000000000111
+drintn (RM=3) ~7e34000000000111 => 7c00000000000111
+drintn (RM=4) ~7e34000000000111 => 7c00000000000111
+drintn (RM=5) ~7e34000000000111 => 7c00000000000111
+drintn (RM=6) ~7e34000000000111 => 7c00000000000111
+drintn (RM=7) ~7e34000000000111 => 7c00000000000111
+drintn (RM=0) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintn (RM=1) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintn (RM=2) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintn (RM=3) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintn (RM=4) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintn (RM=5) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintn (RM=6) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintn (RM=7) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintn (RM=0) ~fc00000000000000 => fc00000000000000
+drintn (RM=1) ~fc00000000000000 => fc00000000000000
+drintn (RM=2) ~fc00000000000000 => fc00000000000000
+drintn (RM=3) ~fc00000000000000 => fc00000000000000
+drintn (RM=4) ~fc00000000000000 => fc00000000000000
+drintn (RM=5) ~fc00000000000000 => fc00000000000000
+drintn (RM=6) ~fc00000000000000 => fc00000000000000
+drintn (RM=7) ~fc00000000000000 => fc00000000000000
+drintn (RM=0) ~7800000000000000 => 7800000000000000
+drintn (RM=1) ~7800000000000000 => 7800000000000000
+drintn (RM=2) ~7800000000000000 => 7800000000000000
+drintn (RM=3) ~7800000000000000 => 7800000000000000
+drintn (RM=4) ~7800000000000000 => 7800000000000000
+drintn (RM=5) ~7800000000000000 => 7800000000000000
+drintn (RM=6) ~7800000000000000 => 7800000000000000
+drintn (RM=7) ~7800000000000000 => 7800000000000000
+drintn (RM=0) ~f800000000000000 => f800000000000000
+drintn (RM=1) ~f800000000000000 => f800000000000000
+drintn (RM=2) ~f800000000000000 => f800000000000000
+drintn (RM=3) ~f800000000000000 => f800000000000000
+drintn (RM=4) ~f800000000000000 => f800000000000000
+drintn (RM=5) ~f800000000000000 => f800000000000000
+drintn (RM=6) ~f800000000000000 => f800000000000000
+drintn (RM=7) ~f800000000000000 => f800000000000000
+drintn (RM=0) ~7a34000000000000 => 7800000000000000
+drintn (RM=1) ~7a34000000000000 => 7800000000000000
+drintn (RM=2) ~7a34000000000000 => 7800000000000000
+drintn (RM=3) ~7a34000000000000 => 7800000000000000
+drintn (RM=4) ~7a34000000000000 => 7800000000000000
+drintn (RM=5) ~7a34000000000000 => 7800000000000000
+drintn (RM=6) ~7a34000000000000 => 7800000000000000
+drintn (RM=7) ~7a34000000000000 => 7800000000000000
+
+drintnq (RM=0) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintnq (RM=1) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintnq (RM=2) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintnq (RM=3) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintnq (RM=4) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintnq (RM=5) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintnq (RM=6) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintnq (RM=7) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintnq (RM=0) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintnq (RM=1) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintnq (RM=2) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintnq (RM=3) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintnq (RM=4) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintnq (RM=5) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintnq (RM=6) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintnq (RM=7) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintnq (RM=0) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintnq (RM=1) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintnq (RM=2) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintnq (RM=3) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintnq (RM=4) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintnq (RM=5) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintnq (RM=6) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintnq (RM=7) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintnq (RM=0) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintnq (RM=1) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintnq (RM=2) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintnq (RM=3) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintnq (RM=4) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000001
+drintnq (RM=5) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintnq (RM=6) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000001
+drintnq (RM=7) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintnq (RM=0) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintnq (RM=1) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintnq (RM=2) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintnq (RM=3) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintnq (RM=4) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintnq (RM=5) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000005
+drintnq (RM=6) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000005
+drintnq (RM=7) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintnq (RM=0) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintnq (RM=1) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintnq (RM=2) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintnq (RM=3) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintnq (RM=4) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000001
+drintnq (RM=5) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintnq (RM=6) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000001
+drintnq (RM=7) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintnq (RM=0) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintnq (RM=1) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintnq (RM=2) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintnq (RM=3) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintnq (RM=4) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000001
+drintnq (RM=5) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintnq (RM=6) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000001
+drintnq (RM=7) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintnq (RM=0) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintnq (RM=1) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintnq (RM=2) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintnq (RM=3) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintnq (RM=4) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintnq (RM=5) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintnq (RM=6) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintnq (RM=7) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintnq (RM=0) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintnq (RM=1) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintnq (RM=2) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintnq (RM=3) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintnq (RM=4) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintnq (RM=5) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintnq (RM=6) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintnq (RM=7) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintnq (RM=0) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintnq (RM=1) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintnq (RM=2) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintnq (RM=3) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintnq (RM=4) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintnq (RM=5) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintnq (RM=6) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintnq (RM=7) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintnq (RM=0) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintnq (RM=1) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintnq (RM=2) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintnq (RM=3) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintnq (RM=4) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintnq (RM=5) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintnq (RM=6) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintnq (RM=7) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintnq (RM=0) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintnq (RM=1) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintnq (RM=2) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintnq (RM=3) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintnq (RM=4) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintnq (RM=5) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintnq (RM=6) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintnq (RM=7) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintnq (RM=0) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintnq (RM=1) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintnq (RM=2) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintnq (RM=3) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintnq (RM=4) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintnq (RM=5) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintnq (RM=6) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintnq (RM=7) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintnq (RM=0) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintnq (RM=1) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintnq (RM=2) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintnq (RM=3) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintnq (RM=4) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintnq (RM=5) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintnq (RM=6) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintnq (RM=7) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintnq (RM=0) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=1) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=2) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=3) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=4) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=5) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=6) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=7) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=0) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=1) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=2) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=3) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=4) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=5) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=6) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintnq (RM=7) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+
+drintx (RM=0) ~2234000000000e50 => 22380000000001c5
+drintx (RM=1) ~2234000000000e50 => 22380000000001c5
+drintx (RM=2) ~2234000000000e50 => 22380000000001c5
+drintx (RM=3) ~2234000000000e50 => 22380000000001c5
+drintx (RM=4) ~2234000000000e50 => 22380000000001c5
+drintx (RM=5) ~2234000000000e50 => 22380000000001c5
+drintx (RM=6) ~2234000000000e50 => 22380000000001c5
+drintx (RM=7) ~2234000000000e50 => 22380000000001c5
+drintx (RM=0) ~223400000014c000 => 2238000000028c00
+drintx (RM=1) ~223400000014c000 => 2238000000028c00
+drintx (RM=2) ~223400000014c000 => 2238000000028c00
+drintx (RM=3) ~223400000014c000 => 2238000000028c00
+drintx (RM=4) ~223400000014c000 => 2238000000028c00
+drintx (RM=5) ~223400000014c000 => 2238000000028c00
+drintx (RM=6) ~223400000014c000 => 2238000000028c00
+drintx (RM=7) ~223400000014c000 => 2238000000028c00
+drintx (RM=0) ~a2340000000000e0 => a238000000000016
+drintx (RM=1) ~a2340000000000e0 => a238000000000016
+drintx (RM=2) ~a2340000000000e0 => a238000000000016
+drintx (RM=3) ~a2340000000000e0 => a238000000000016
+drintx (RM=4) ~a2340000000000e0 => a238000000000016
+drintx (RM=5) ~a2340000000000e0 => a238000000000016
+drintx (RM=6) ~a2340000000000e0 => a238000000000016
+drintx (RM=7) ~a2340000000000e0 => a238000000000016
+drintx (RM=0) ~22240000000000cf => 2238000000000000
+drintx (RM=1) ~22240000000000cf => 2238000000000000
+drintx (RM=2) ~22240000000000cf => 2238000000000000
+drintx (RM=3) ~22240000000000cf => 2238000000000000
+drintx (RM=4) ~22240000000000cf => 2238000000000001
+drintx (RM=5) ~22240000000000cf => 2238000000000000
+drintx (RM=6) ~22240000000000cf => 2238000000000001
+drintx (RM=7) ~22240000000000cf => 2238000000000000
+drintx (RM=0) ~a21400010a395bcf => a238000000000004
+drintx (RM=1) ~a21400010a395bcf => a238000000000004
+drintx (RM=2) ~a21400010a395bcf => a238000000000004
+drintx (RM=3) ~a21400010a395bcf => a238000000000004
+drintx (RM=4) ~a21400010a395bcf => a238000000000004
+drintx (RM=5) ~a21400010a395bcf => a238000000000005
+drintx (RM=6) ~a21400010a395bcf => a238000000000005
+drintx (RM=7) ~a21400010a395bcf => a238000000000004
+drintx (RM=0) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintx (RM=1) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintx (RM=2) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintx (RM=3) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintx (RM=4) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintx (RM=5) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintx (RM=6) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintx (RM=7) ~6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drintx (RM=0) ~000400000089b000 => 2238000000000000
+drintx (RM=1) ~000400000089b000 => 2238000000000000
+drintx (RM=2) ~000400000089b000 => 2238000000000000
+drintx (RM=3) ~000400000089b000 => 2238000000000000
+drintx (RM=4) ~000400000089b000 => 2238000000000001
+drintx (RM=5) ~000400000089b000 => 2238000000000000
+drintx (RM=6) ~000400000089b000 => 2238000000000001
+drintx (RM=7) ~000400000089b000 => 2238000000000000
+drintx (RM=0) ~2238000000000000 => 2238000000000000
+drintx (RM=1) ~2238000000000000 => 2238000000000000
+drintx (RM=2) ~2238000000000000 => 2238000000000000
+drintx (RM=3) ~2238000000000000 => 2238000000000000
+drintx (RM=4) ~2238000000000000 => 2238000000000000
+drintx (RM=5) ~2238000000000000 => 2238000000000000
+drintx (RM=6) ~2238000000000000 => 2238000000000000
+drintx (RM=7) ~2238000000000000 => 2238000000000000
+drintx (RM=0) ~a238000000000000 => a238000000000000
+drintx (RM=1) ~a238000000000000 => a238000000000000
+drintx (RM=2) ~a238000000000000 => a238000000000000
+drintx (RM=3) ~a238000000000000 => a238000000000000
+drintx (RM=4) ~a238000000000000 => a238000000000000
+drintx (RM=5) ~a238000000000000 => a238000000000000
+drintx (RM=6) ~a238000000000000 => a238000000000000
+drintx (RM=7) ~a238000000000000 => a238000000000000
+drintx (RM=0) ~4248000000000000 => 4248000000000000
+drintx (RM=1) ~4248000000000000 => 4248000000000000
+drintx (RM=2) ~4248000000000000 => 4248000000000000
+drintx (RM=3) ~4248000000000000 => 4248000000000000
+drintx (RM=4) ~4248000000000000 => 4248000000000000
+drintx (RM=5) ~4248000000000000 => 4248000000000000
+drintx (RM=6) ~4248000000000000 => 4248000000000000
+drintx (RM=7) ~4248000000000000 => 4248000000000000
+drintx (RM=0) ~7e34000000000111 => 7c00000000000111
+drintx (RM=1) ~7e34000000000111 => 7c00000000000111
+drintx (RM=2) ~7e34000000000111 => 7c00000000000111
+drintx (RM=3) ~7e34000000000111 => 7c00000000000111
+drintx (RM=4) ~7e34000000000111 => 7c00000000000111
+drintx (RM=5) ~7e34000000000111 => 7c00000000000111
+drintx (RM=6) ~7e34000000000111 => 7c00000000000111
+drintx (RM=7) ~7e34000000000111 => 7c00000000000111
+drintx (RM=0) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintx (RM=1) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintx (RM=2) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintx (RM=3) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintx (RM=4) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintx (RM=5) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintx (RM=6) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintx (RM=7) ~fe000000d0e0a0d0 => fc000000d0e0a0d0
+drintx (RM=0) ~fc00000000000000 => fc00000000000000
+drintx (RM=1) ~fc00000000000000 => fc00000000000000
+drintx (RM=2) ~fc00000000000000 => fc00000000000000
+drintx (RM=3) ~fc00000000000000 => fc00000000000000
+drintx (RM=4) ~fc00000000000000 => fc00000000000000
+drintx (RM=5) ~fc00000000000000 => fc00000000000000
+drintx (RM=6) ~fc00000000000000 => fc00000000000000
+drintx (RM=7) ~fc00000000000000 => fc00000000000000
+drintx (RM=0) ~7800000000000000 => 7800000000000000
+drintx (RM=1) ~7800000000000000 => 7800000000000000
+drintx (RM=2) ~7800000000000000 => 7800000000000000
+drintx (RM=3) ~7800000000000000 => 7800000000000000
+drintx (RM=4) ~7800000000000000 => 7800000000000000
+drintx (RM=5) ~7800000000000000 => 7800000000000000
+drintx (RM=6) ~7800000000000000 => 7800000000000000
+drintx (RM=7) ~7800000000000000 => 7800000000000000
+drintx (RM=0) ~f800000000000000 => f800000000000000
+drintx (RM=1) ~f800000000000000 => f800000000000000
+drintx (RM=2) ~f800000000000000 => f800000000000000
+drintx (RM=3) ~f800000000000000 => f800000000000000
+drintx (RM=4) ~f800000000000000 => f800000000000000
+drintx (RM=5) ~f800000000000000 => f800000000000000
+drintx (RM=6) ~f800000000000000 => f800000000000000
+drintx (RM=7) ~f800000000000000 => f800000000000000
+drintx (RM=0) ~7a34000000000000 => 7800000000000000
+drintx (RM=1) ~7a34000000000000 => 7800000000000000
+drintx (RM=2) ~7a34000000000000 => 7800000000000000
+drintx (RM=3) ~7a34000000000000 => 7800000000000000
+drintx (RM=4) ~7a34000000000000 => 7800000000000000
+drintx (RM=5) ~7a34000000000000 => 7800000000000000
+drintx (RM=6) ~7a34000000000000 => 7800000000000000
+drintx (RM=7) ~7a34000000000000 => 7800000000000000
+
+drintxq (RM=0) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintxq (RM=1) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintxq (RM=2) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintxq (RM=3) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintxq (RM=4) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintxq (RM=5) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintxq (RM=6) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintxq (RM=7) ~2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+drintxq (RM=0) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintxq (RM=1) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintxq (RM=2) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintxq (RM=3) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintxq (RM=4) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintxq (RM=5) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintxq (RM=6) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintxq (RM=7) ~2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drintxq (RM=0) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintxq (RM=1) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintxq (RM=2) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintxq (RM=3) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintxq (RM=4) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintxq (RM=5) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintxq (RM=6) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintxq (RM=7) ~a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drintxq (RM=0) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintxq (RM=1) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintxq (RM=2) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintxq (RM=3) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintxq (RM=4) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000001
+drintxq (RM=5) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintxq (RM=6) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000001
+drintxq (RM=7) ~2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+drintxq (RM=0) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintxq (RM=1) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintxq (RM=2) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintxq (RM=3) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintxq (RM=4) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintxq (RM=5) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000005
+drintxq (RM=6) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000005
+drintxq (RM=7) ~a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+drintxq (RM=0) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintxq (RM=1) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintxq (RM=2) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintxq (RM=3) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintxq (RM=4) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000001
+drintxq (RM=5) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintxq (RM=6) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000001
+drintxq (RM=7) ~6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+drintxq (RM=0) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintxq (RM=1) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintxq (RM=2) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintxq (RM=3) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintxq (RM=4) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000001
+drintxq (RM=5) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintxq (RM=6) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000001
+drintxq (RM=7) ~000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+drintxq (RM=0) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintxq (RM=1) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintxq (RM=2) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintxq (RM=3) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintxq (RM=4) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintxq (RM=5) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintxq (RM=6) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintxq (RM=7) ~2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drintxq (RM=0) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintxq (RM=1) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintxq (RM=2) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintxq (RM=3) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintxq (RM=4) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintxq (RM=5) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintxq (RM=6) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintxq (RM=7) ~a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drintxq (RM=0) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintxq (RM=1) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintxq (RM=2) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintxq (RM=3) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintxq (RM=4) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintxq (RM=5) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintxq (RM=6) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintxq (RM=7) ~a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drintxq (RM=0) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintxq (RM=1) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintxq (RM=2) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintxq (RM=3) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintxq (RM=4) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintxq (RM=5) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintxq (RM=6) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintxq (RM=7) ~7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drintxq (RM=0) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintxq (RM=1) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintxq (RM=2) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintxq (RM=3) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintxq (RM=4) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintxq (RM=5) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintxq (RM=6) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintxq (RM=7) ~fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drintxq (RM=0) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintxq (RM=1) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintxq (RM=2) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintxq (RM=3) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintxq (RM=4) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintxq (RM=5) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintxq (RM=6) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintxq (RM=7) ~7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drintxq (RM=0) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintxq (RM=1) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintxq (RM=2) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintxq (RM=3) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintxq (RM=4) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintxq (RM=5) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintxq (RM=6) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintxq (RM=7) ~7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drintxq (RM=0) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=1) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=2) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=3) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=4) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=5) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=6) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=7) ~f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=0) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=1) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=2) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=3) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=4) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=5) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=6) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drintxq (RM=7) ~f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+
+Test DFP insert/extract instructions
+diex >>   768, 2234000000000e50 => 7c00000000000e50
+diex >>   355, 2234000000000e50 => 218c000000000e50
+diex >>     0, 2234000000000e50 => 0000000000000e50
+diex >>    -1, 2234000000000e50 => 7800000000000e50
+diex >>    -2, 2234000000000e50 => 7c00000000000e50
+diex >>    -3, 2234000000000e50 => 7e00000000000e50
+diex >>    -4, 2234000000000e50 => 7c00000000000e50
+diex >>    -5, 2234000000000e50 => 7c00000000000e50
+diex >>   768, 223400000014c000 => 7c0000000014c000
+diex >>   355, 223400000014c000 => 218c00000014c000
+diex >>     0, 223400000014c000 => 000000000014c000
+diex >>    -1, 223400000014c000 => 780000000014c000
+diex >>    -2, 223400000014c000 => 7c0000000014c000
+diex >>    -3, 223400000014c000 => 7e0000000014c000
+diex >>    -4, 223400000014c000 => 7c0000000014c000
+diex >>    -5, 223400000014c000 => 7c0000000014c000
+diex >>   768, a2340000000000e0 => fc000000000000e0
+diex >>   355, a2340000000000e0 => a18c0000000000e0
+diex >>     0, a2340000000000e0 => 80000000000000e0
+diex >>    -1, a2340000000000e0 => f8000000000000e0
+diex >>    -2, a2340000000000e0 => fc000000000000e0
+diex >>    -3, a2340000000000e0 => fe000000000000e0
+diex >>    -4, a2340000000000e0 => fc000000000000e0
+diex >>    -5, a2340000000000e0 => fc000000000000e0
+diex >>   768, 22240000000000cf => 7c000000000000cf
+diex >>   355, 22240000000000cf => 218c0000000000cf
+diex >>     0, 22240000000000cf => 00000000000000cf
+diex >>    -1, 22240000000000cf => 78000000000000cf
+diex >>    -2, 22240000000000cf => 7c000000000000cf
+diex >>    -3, 22240000000000cf => 7e000000000000cf
+diex >>    -4, 22240000000000cf => 7c000000000000cf
+diex >>    -5, 22240000000000cf => 7c000000000000cf
+diex >>   768, a21400010a395bcf => fc0000010a395bcf
+diex >>   355, a21400010a395bcf => a18c00010a395bcf
+diex >>     0, a21400010a395bcf => 800000010a395bcf
+diex >>    -1, a21400010a395bcf => f80000010a395bcf
+diex >>    -2, a21400010a395bcf => fc0000010a395bcf
+diex >>    -3, a21400010a395bcf => fe0000010a395bcf
+diex >>    -4, a21400010a395bcf => fc0000010a395bcf
+diex >>    -5, a21400010a395bcf => fc0000010a395bcf
+diex >>   768, 6e4d3f1f534acdd4 => 7c013f1f534acdd4
+diex >>   355, 6e4d3f1f534acdd4 => 6d8d3f1f534acdd4
+diex >>     0, 6e4d3f1f534acdd4 => 64013f1f534acdd4
+diex >>    -1, 6e4d3f1f534acdd4 => 78013f1f534acdd4
+diex >>    -2, 6e4d3f1f534acdd4 => 7c013f1f534acdd4
+diex >>    -3, 6e4d3f1f534acdd4 => 7e013f1f534acdd4
+diex >>    -4, 6e4d3f1f534acdd4 => 7c013f1f534acdd4
+diex >>    -5, 6e4d3f1f534acdd4 => 7c013f1f534acdd4
+diex >>   768, 000400000089b000 => 7c0000000089b000
+diex >>   355, 000400000089b000 => 218c00000089b000
+diex >>     0, 000400000089b000 => 000000000089b000
+diex >>    -1, 000400000089b000 => 780000000089b000
+diex >>    -2, 000400000089b000 => 7c0000000089b000
+diex >>    -3, 000400000089b000 => 7e0000000089b000
+diex >>    -4, 000400000089b000 => 7c0000000089b000
+diex >>    -5, 000400000089b000 => 7c0000000089b000
+diex >>   768, 2238000000000000 => 7c00000000000000
+diex >>   355, 2238000000000000 => 218c000000000000
+diex >>     0, 2238000000000000 => 0000000000000000
+diex >>    -1, 2238000000000000 => 7800000000000000
+diex >>    -2, 2238000000000000 => 7c00000000000000
+diex >>    -3, 2238000000000000 => 7e00000000000000
+diex >>    -4, 2238000000000000 => 7c00000000000000
+diex >>    -5, 2238000000000000 => 7c00000000000000
+diex >>   768, a238000000000000 => fc00000000000000
+diex >>   355, a238000000000000 => a18c000000000000
+diex >>     0, a238000000000000 => 8000000000000000
+diex >>    -1, a238000000000000 => f800000000000000
+diex >>    -2, a238000000000000 => fc00000000000000
+diex >>    -3, a238000000000000 => fe00000000000000
+diex >>    -4, a238000000000000 => fc00000000000000
+diex >>    -5, a238000000000000 => fc00000000000000
+diex >>   768, 4248000000000000 => 7c00000000000000
+diex >>   355, 4248000000000000 => 218c000000000000
+diex >>     0, 4248000000000000 => 0000000000000000
+diex >>    -1, 4248000000000000 => 7800000000000000
+diex >>    -2, 4248000000000000 => 7c00000000000000
+diex >>    -3, 4248000000000000 => 7e00000000000000
+diex >>    -4, 4248000000000000 => 7c00000000000000
+diex >>    -5, 4248000000000000 => 7c00000000000000
+diex >>   768, 7e34000000000111 => 7c00000000000111
+diex >>   355, 7e34000000000111 => 218c000000000111
+diex >>     0, 7e34000000000111 => 0000000000000111
+diex >>    -1, 7e34000000000111 => 7800000000000111
+diex >>    -2, 7e34000000000111 => 7c00000000000111
+diex >>    -3, 7e34000000000111 => 7e00000000000111
+diex >>    -4, 7e34000000000111 => 7c00000000000111
+diex >>    -5, 7e34000000000111 => 7c00000000000111
+diex >>   768, fe000000d0e0a0d0 => fc000000d0e0a0d0
+diex >>   355, fe000000d0e0a0d0 => a18c0000d0e0a0d0
+diex >>     0, fe000000d0e0a0d0 => 80000000d0e0a0d0
+diex >>    -1, fe000000d0e0a0d0 => f8000000d0e0a0d0
+diex >>    -2, fe000000d0e0a0d0 => fc000000d0e0a0d0
+diex >>    -3, fe000000d0e0a0d0 => fe000000d0e0a0d0
+diex >>    -4, fe000000d0e0a0d0 => fc000000d0e0a0d0
+diex >>    -5, fe000000d0e0a0d0 => fc000000d0e0a0d0
+diex >>   768, fc00000000000000 => fc00000000000000
+diex >>   355, fc00000000000000 => a18c000000000000
+diex >>     0, fc00000000000000 => 8000000000000000
+diex >>    -1, fc00000000000000 => f800000000000000
+diex >>    -2, fc00000000000000 => fc00000000000000
+diex >>    -3, fc00000000000000 => fe00000000000000
+diex >>    -4, fc00000000000000 => fc00000000000000
+diex >>    -5, fc00000000000000 => fc00000000000000
+diex >>   768, 7800000000000000 => 7c00000000000000
+diex >>   355, 7800000000000000 => 218c000000000000
+diex >>     0, 7800000000000000 => 0000000000000000
+diex >>    -1, 7800000000000000 => 7800000000000000
+diex >>    -2, 7800000000000000 => 7c00000000000000
+diex >>    -3, 7800000000000000 => 7e00000000000000
+diex >>    -4, 7800000000000000 => 7c00000000000000
+diex >>    -5, 7800000000000000 => 7c00000000000000
+diex >>   768, f800000000000000 => fc00000000000000
+diex >>   355, f800000000000000 => a18c000000000000
+diex >>     0, f800000000000000 => 8000000000000000
+diex >>    -1, f800000000000000 => f800000000000000
+diex >>    -2, f800000000000000 => fc00000000000000
+diex >>    -3, f800000000000000 => fe00000000000000
+diex >>    -4, f800000000000000 => fc00000000000000
+diex >>    -5, f800000000000000 => fc00000000000000
+diex >>   768, 7a34000000000000 => 7c00000000000000
+diex >>   355, 7a34000000000000 => 218c000000000000
+diex >>     0, 7a34000000000000 => 0000000000000000
+diex >>    -1, 7a34000000000000 => 7800000000000000
+diex >>    -2, 7a34000000000000 => 7c00000000000000
+diex >>    -3, 7a34000000000000 => 7e00000000000000
+diex >>    -4, 7a34000000000000 => 7c00000000000000
+diex >>    -5, 7a34000000000000 => 7c00000000000000
+
+diexq >> 12288, 2207c00000000000 0000000000000e50 ==> 7c00000000000000 0000000000000e50
+diexq >>  5235, 2207c00000000000 0000000000000e50 ==> 211cc00000000000 0000000000000e50
+diexq >>     0, 2207c00000000000 0000000000000e50 ==> 0000000000000000 0000000000000e50
+diexq >>    -1, 2207c00000000000 0000000000000e50 ==> 7800000000000000 0000000000000e50
+diexq >>    -2, 2207c00000000000 0000000000000e50 ==> 7c00000000000000 0000000000000e50
+diexq >>    -3, 2207c00000000000 0000000000000e50 ==> 7e00000000000000 0000000000000e50
+diexq >>    -4, 2207c00000000000 0000000000000e50 ==> 7c00000000000000 0000000000000e50
+diexq >>    -5, 2207c00000000000 0000000000000e50 ==> 7c00000000000000 0000000000000e50
+diexq >> 12288, 2207c00000000000 000000000014c000 ==> 7c00000000000000 000000000014c000
+diexq >>  5235, 2207c00000000000 000000000014c000 ==> 211cc00000000000 000000000014c000
+diexq >>     0, 2207c00000000000 000000000014c000 ==> 0000000000000000 000000000014c000
+diexq >>    -1, 2207c00000000000 000000000014c000 ==> 7800000000000000 000000000014c000
+diexq >>    -2, 2207c00000000000 000000000014c000 ==> 7c00000000000000 000000000014c000
+diexq >>    -3, 2207c00000000000 000000000014c000 ==> 7e00000000000000 000000000014c000
+diexq >>    -4, 2207c00000000000 000000000014c000 ==> 7c00000000000000 000000000014c000
+diexq >>    -5, 2207c00000000000 000000000014c000 ==> 7c00000000000000 000000000014c000
+diexq >> 12288, a207c00000000000 00000000000000e0 ==> fc00000000000000 00000000000000e0
+diexq >>  5235, a207c00000000000 00000000000000e0 ==> a11cc00000000000 00000000000000e0
+diexq >>     0, a207c00000000000 00000000000000e0 ==> 8000000000000000 00000000000000e0
+diexq >>    -1, a207c00000000000 00000000000000e0 ==> f800000000000000 00000000000000e0
+diexq >>    -2, a207c00000000000 00000000000000e0 ==> fc00000000000000 00000000000000e0
+diexq >>    -3, a207c00000000000 00000000000000e0 ==> fe00000000000000 00000000000000e0
+diexq >>    -4, a207c00000000000 00000000000000e0 ==> fc00000000000000 00000000000000e0
+diexq >>    -5, a207c00000000000 00000000000000e0 ==> fc00000000000000 00000000000000e0
+diexq >> 12288, 2206c00000000000 00000000000000cf ==> 7c00000000000000 00000000000000cf
+diexq >>  5235, 2206c00000000000 00000000000000cf ==> 211cc00000000000 00000000000000cf
+diexq >>     0, 2206c00000000000 00000000000000cf ==> 0000000000000000 00000000000000cf
+diexq >>    -1, 2206c00000000000 00000000000000cf ==> 7800000000000000 00000000000000cf
+diexq >>    -2, 2206c00000000000 00000000000000cf ==> 7c00000000000000 00000000000000cf
+diexq >>    -3, 2206c00000000000 00000000000000cf ==> 7e00000000000000 00000000000000cf
+diexq >>    -4, 2206c00000000000 00000000000000cf ==> 7c00000000000000 00000000000000cf
+diexq >>    -5, 2206c00000000000 00000000000000cf ==> 7c00000000000000 00000000000000cf
+diexq >> 12288, a205c00000000000 000000010a395bcf ==> fc00000000000000 000000010a395bcf
+diexq >>  5235, a205c00000000000 000000010a395bcf ==> a11cc00000000000 000000010a395bcf
+diexq >>     0, a205c00000000000 000000010a395bcf ==> 8000000000000000 000000010a395bcf
+diexq >>    -1, a205c00000000000 000000010a395bcf ==> f800000000000000 000000010a395bcf
+diexq >>    -2, a205c00000000000 000000010a395bcf ==> fc00000000000000 000000010a395bcf
+diexq >>    -3, a205c00000000000 000000010a395bcf ==> fe00000000000000 000000010a395bcf
+diexq >>    -4, a205c00000000000 000000010a395bcf ==> fc00000000000000 000000010a395bcf
+diexq >>    -5, a205c00000000000 000000010a395bcf ==> fc00000000000000 000000010a395bcf
+diexq >> 12288, 6209400000fd0000 00253f1f534acdd4 ==> 7c00000000fd0000 00253f1f534acdd4
+diexq >>  5235, 6209400000fd0000 00253f1f534acdd4 ==> 691cc00000fd0000 00253f1f534acdd4
+diexq >>     0, 6209400000fd0000 00253f1f534acdd4 ==> 6000000000fd0000 00253f1f534acdd4
+diexq >>    -1, 6209400000fd0000 00253f1f534acdd4 ==> 7800000000fd0000 00253f1f534acdd4
+diexq >>    -2, 6209400000fd0000 00253f1f534acdd4 ==> 7c00000000fd0000 00253f1f534acdd4
+diexq >>    -3, 6209400000fd0000 00253f1f534acdd4 ==> 7e00000000fd0000 00253f1f534acdd4
+diexq >>    -4, 6209400000fd0000 00253f1f534acdd4 ==> 7c00000000fd0000 00253f1f534acdd4
+diexq >>    -5, 6209400000fd0000 00253f1f534acdd4 ==> 7c00000000fd0000 00253f1f534acdd4
+diexq >> 12288, 000400000089b000 0a6000d000000049 ==> 7c0000000089b000 0a6000d000000049
+diexq >>  5235, 000400000089b000 0a6000d000000049 ==> 211cc0000089b000 0a6000d000000049
+diexq >>     0, 000400000089b000 0a6000d000000049 ==> 000000000089b000 0a6000d000000049
+diexq >>    -1, 000400000089b000 0a6000d000000049 ==> 780000000089b000 0a6000d000000049
+diexq >>    -2, 000400000089b000 0a6000d000000049 ==> 7c0000000089b000 0a6000d000000049
+diexq >>    -3, 000400000089b000 0a6000d000000049 ==> 7e0000000089b000 0a6000d000000049
+diexq >>    -4, 000400000089b000 0a6000d000000049 ==> 7c0000000089b000 0a6000d000000049
+diexq >>    -5, 000400000089b000 0a6000d000000049 ==> 7c0000000089b000 0a6000d000000049
+diexq >> 12288, 2208000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >>  5235, 2208000000000000 0000000000000000 ==> 211cc00000000000 0000000000000000
+diexq >>     0, 2208000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+diexq >>    -1, 2208000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+diexq >>    -2, 2208000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >>    -3, 2208000000000000 0000000000000000 ==> 7e00000000000000 0000000000000000
+diexq >>    -4, 2208000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >>    -5, 2208000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >> 12288, a208000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>  5235, a208000000000000 0000000000000000 ==> a11cc00000000000 0000000000000000
+diexq >>     0, a208000000000000 0000000000000000 ==> 8000000000000000 0000000000000000
+diexq >>    -1, a208000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+diexq >>    -2, a208000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>    -3, a208000000000000 0000000000000000 ==> fe00000000000000 0000000000000000
+diexq >>    -4, a208000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>    -5, a208000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >> 12288, a248000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>  5235, a248000000000000 0000000000000000 ==> a11cc00000000000 0000000000000000
+diexq >>     0, a248000000000000 0000000000000000 ==> 8000000000000000 0000000000000000
+diexq >>    -1, a248000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+diexq >>    -2, a248000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>    -3, a248000000000000 0000000000000000 ==> fe00000000000000 0000000000000000
+diexq >>    -4, a248000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>    -5, a248000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >> 12288, 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >>  5235, 7c00000000000000 0000000000000000 ==> 211cc00000000000 0000000000000000
+diexq >>     0, 7c00000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+diexq >>    -1, 7c00000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+diexq >>    -2, 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >>    -3, 7c00000000000000 0000000000000000 ==> 7e00000000000000 0000000000000000
+diexq >>    -4, 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >>    -5, 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >> 12288, fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+diexq >>  5235, fc00000000000000 c00100035b007700 ==> a11cc00000000000 c00100035b007700
+diexq >>     0, fc00000000000000 c00100035b007700 ==> 8000000000000000 c00100035b007700
+diexq >>    -1, fc00000000000000 c00100035b007700 ==> f800000000000000 c00100035b007700
+diexq >>    -2, fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+diexq >>    -3, fc00000000000000 c00100035b007700 ==> fe00000000000000 c00100035b007700
+diexq >>    -4, fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+diexq >>    -5, fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+diexq >> 12288, 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+diexq >>  5235, 7e00000000000000 fe000000d0e0a0d0 ==> 211cc00000000000 fe000000d0e0a0d0
+diexq >>     0, 7e00000000000000 fe000000d0e0a0d0 ==> 0000000000000000 fe000000d0e0a0d0
+diexq >>    -1, 7e00000000000000 fe000000d0e0a0d0 ==> 7800000000000000 fe000000d0e0a0d0
+diexq >>    -2, 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+diexq >>    -3, 7e00000000000000 fe000000d0e0a0d0 ==> 7e00000000000000 fe000000d0e0a0d0
+diexq >>    -4, 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+diexq >>    -5, 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+diexq >> 12288, 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >>  5235, 7800000000000000 0000000000000000 ==> 211cc00000000000 0000000000000000
+diexq >>     0, 7800000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+diexq >>    -1, 7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+diexq >>    -2, 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >>    -3, 7800000000000000 0000000000000000 ==> 7e00000000000000 0000000000000000
+diexq >>    -4, 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >>    -5, 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+diexq >> 12288, f800000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>  5235, f800000000000000 0000000000000000 ==> a11cc00000000000 0000000000000000
+diexq >>     0, f800000000000000 0000000000000000 ==> 8000000000000000 0000000000000000
+diexq >>    -1, f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+diexq >>    -2, f800000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>    -3, f800000000000000 0000000000000000 ==> fe00000000000000 0000000000000000
+diexq >>    -4, f800000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>    -5, f800000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >> 12288, f900000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>  5235, f900000000000000 0000000000000000 ==> a11cc00000000000 0000000000000000
+diexq >>     0, f900000000000000 0000000000000000 ==> 8000000000000000 0000000000000000
+diexq >>    -1, f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+diexq >>    -2, f900000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>    -3, f900000000000000 0000000000000000 ==> fe00000000000000 0000000000000000
+diexq >>    -4, f900000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+diexq >>    -5, f900000000000000 0000000000000000 ==> fc00000000000000 0000000000000000
+
+dxex << 2234000000000e50 => 000000000000018d
+dxex << 223400000014c000 => 000000000000018d
+dxex << a2340000000000e0 => 000000000000018d
+dxex << 22240000000000cf => 0000000000000189
+dxex << a21400010a395bcf => 0000000000000185
+dxex << 6e4d3f1f534acdd4 => 0000000000000193
+dxex << 000400000089b000 => 0000000000000001
+dxex << 2238000000000000 => 000000000000018e
+dxex << a238000000000000 => 000000000000018e
+dxex << 4248000000000000 => 0000000000000292
+dxex << 7e34000000000111 => fffffffffffffffd
+dxex << fe000000d0e0a0d0 => fffffffffffffffd
+dxex << fc00000000000000 => fffffffffffffffe
+dxex << 7800000000000000 => ffffffffffffffff
+dxex << f800000000000000 => ffffffffffffffff
+dxex << 7a34000000000000 => ffffffffffffffff
+
+dxexq << 2207c00000000000 0000000000000e50 ==> 000000000000181f 0000000000000000
+dxexq << 2207c00000000000 000000000014c000 ==> 000000000000181f 0000000000000000
+dxexq << a207c00000000000 00000000000000e0 ==> 000000000000181f 0000000000000000
+dxexq << 2206c00000000000 00000000000000cf ==> 000000000000181b 0000000000000000
+dxexq << a205c00000000000 000000010a395bcf ==> 0000000000001817 0000000000000000
+dxexq << 6209400000fd0000 00253f1f534acdd4 ==> 0000000000000825 0000000000000000
+dxexq << 000400000089b000 0a6000d000000049 ==> 0000000000000010 0000000000000000
+dxexq << 2208000000000000 0000000000000000 ==> 0000000000001820 0000000000000000
+dxexq << a208000000000000 0000000000000000 ==> 0000000000001820 0000000000000000
+dxexq << a248000000000000 0000000000000000 ==> 0000000000001920 0000000000000000
+dxexq << 7c00000000000000 0000000000000000 ==> fffffffffffffffe 0000000000000000
+dxexq << fc00000000000000 c00100035b007700 ==> fffffffffffffffe 0000000000000000
+dxexq << 7e00000000000000 fe000000d0e0a0d0 ==> fffffffffffffffd 0000000000000000
+dxexq << 7800000000000000 0000000000000000 ==> ffffffffffffffff 0000000000000000
+dxexq << f800000000000000 0000000000000000 ==> ffffffffffffffff 0000000000000000
+dxexq << f900000000000000 0000000000000000 ==> ffffffffffffffff 0000000000000000
+
+Test DFP reround instructions
+drrnd (RMC=0, ref sig=0) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=1, ref sig=0) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=2, ref sig=0) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=3, ref sig=0) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=0, ref sig=2) [RR]2234000000000e50 => 223c000000000034
+drrnd (RMC=1, ref sig=2) [RR]2234000000000e50 => 223c000000000034
+drrnd (RMC=2, ref sig=2) [RR]2234000000000e50 => 223c000000000035
+drrnd (RMC=3, ref sig=2) [RR]2234000000000e50 => 223c000000000034
+drrnd (RMC=0, ref sig=6) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=1, ref sig=6) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=2, ref sig=6) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=3, ref sig=6) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=0, ref sig=63) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=1, ref sig=63) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=2, ref sig=63) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=3, ref sig=63) [RR]2234000000000e50 => 2234000000000e50
+drrnd (RMC=0, ref sig=0) [RR]223400000014c000 => 223400000014c000
+drrnd (RMC=1, ref sig=0) [RR]223400000014c000 => 223400000014c000
+drrnd (RMC=2, ref sig=0) [RR]223400000014c000 => 223400000014c000
+drrnd (RMC=3, ref sig=0) [RR]223400000014c000 => 223400000014c000
+drrnd (RMC=0, ref sig=2) [RR]223400000014c000 => 2248000000000012
+drrnd (RMC=1, ref sig=2) [RR]223400000014c000 => 2248000000000012
+drrnd (RMC=2, ref sig=2) [RR]223400000014c000 => 2248000000000012
+drrnd (RMC=3, ref sig=2) [RR]223400000014c000 => 2248000000000012
+drrnd (RMC=0, ref sig=6) [RR]223400000014c000 => 2238000000028c00
+drrnd (RMC=1, ref sig=6) [RR]223400000014c000 => 2238000000028c00
+drrnd (RMC=2, ref sig=6) [RR]223400000014c000 => 2238000000028c00
+drrnd (RMC=3, ref sig=6) [RR]223400000014c000 => 2238000000028c00
+drrnd (RMC=0, ref sig=63) [RR]223400000014c000 => 223400000014c000
+drrnd (RMC=1, ref sig=63) [RR]223400000014c000 => 223400000014c000
+drrnd (RMC=2, ref sig=63) [RR]223400000014c000 => 223400000014c000
+drrnd (RMC=3, ref sig=63) [RR]223400000014c000 => 223400000014c000
+drrnd (RMC=0, ref sig=0) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=1, ref sig=0) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=2, ref sig=0) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=3, ref sig=0) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=0, ref sig=2) [RR]a2340000000000e0 => a238000000000016
+drrnd (RMC=1, ref sig=2) [RR]a2340000000000e0 => a238000000000016
+drrnd (RMC=2, ref sig=2) [RR]a2340000000000e0 => a238000000000016
+drrnd (RMC=3, ref sig=2) [RR]a2340000000000e0 => a238000000000016
+drrnd (RMC=0, ref sig=6) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=1, ref sig=6) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=2, ref sig=6) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=3, ref sig=6) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=0, ref sig=63) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=1, ref sig=63) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=2, ref sig=63) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=3, ref sig=63) [RR]a2340000000000e0 => a2340000000000e0
+drrnd (RMC=0, ref sig=0) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=1, ref sig=0) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=2, ref sig=0) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=3, ref sig=0) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=0, ref sig=2) [RR]22240000000000cf => 2228000000000019
+drrnd (RMC=1, ref sig=2) [RR]22240000000000cf => 2228000000000018
+drrnd (RMC=2, ref sig=2) [RR]22240000000000cf => 2228000000000019
+drrnd (RMC=3, ref sig=2) [RR]22240000000000cf => 2228000000000019
+drrnd (RMC=0, ref sig=6) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=1, ref sig=6) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=2, ref sig=6) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=3, ref sig=6) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=0, ref sig=63) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=1, ref sig=63) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=2, ref sig=63) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=3, ref sig=63) [RR]22240000000000cf => 22240000000000cf
+drrnd (RMC=0, ref sig=0) [RR]a21400010a395bcf => a21400010a395bcf
+drrnd (RMC=1, ref sig=0) [RR]a21400010a395bcf => a21400010a395bcf
+drrnd (RMC=2, ref sig=0) [RR]a21400010a395bcf => a21400010a395bcf
+drrnd (RMC=3, ref sig=0) [RR]a21400010a395bcf => a21400010a395bcf
+drrnd (RMC=0, ref sig=2) [RR]a21400010a395bcf => a234000000000041
+drrnd (RMC=1, ref sig=2) [RR]a21400010a395bcf => a234000000000041
+drrnd (RMC=2, ref sig=2) [RR]a21400010a395bcf => a234000000000041
+drrnd (RMC=3, ref sig=2) [RR]a21400010a395bcf => a234000000000041
+drrnd (RMC=0, ref sig=6) [RR]a21400010a395bcf => a2240000000849c6
+drrnd (RMC=1, ref sig=6) [RR]a21400010a395bcf => a2240000000849c5
+drrnd (RMC=2, ref sig=6) [RR]a21400010a395bcf => a2240000000849c6
+drrnd (RMC=3, ref sig=6) [RR]a21400010a395bcf => a2240000000849c6
+drrnd (RMC=0, ref sig=63) [RR]a21400010a395bcf => a21400010a395bcf
+drrnd (RMC=1, ref sig=63) [RR]a21400010a395bcf => a21400010a395bcf
+drrnd (RMC=2, ref sig=63) [RR]a21400010a395bcf => a21400010a395bcf
+drrnd (RMC=3, ref sig=63) [RR]a21400010a395bcf => a21400010a395bcf
+drrnd (RMC=0, ref sig=0) [RR]6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drrnd (RMC=1, ref sig=0) [RR]6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drrnd (RMC=2, ref sig=0) [RR]6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drrnd (RMC=3, ref sig=0) [RR]6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drrnd (RMC=0, ref sig=2) [RR]6e4d3f1f534acdd4 => 228400000000005e
+drrnd (RMC=1, ref sig=2) [RR]6e4d3f1f534acdd4 => 228400000000005e
+drrnd (RMC=2, ref sig=2) [RR]6e4d3f1f534acdd4 => 228400000000005e
+drrnd (RMC=3, ref sig=2) [RR]6e4d3f1f534acdd4 => 228400000000005e
+drrnd (RMC=0, ref sig=6) [RR]6e4d3f1f534acdd4 => 2274000000063f8f
+drrnd (RMC=1, ref sig=6) [RR]6e4d3f1f534acdd4 => 2274000000063f8f
+drrnd (RMC=2, ref sig=6) [RR]6e4d3f1f534acdd4 => 2274000000063f8f
+drrnd (RMC=3, ref sig=6) [RR]6e4d3f1f534acdd4 => 2274000000063f8f
+drrnd (RMC=0, ref sig=63) [RR]6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drrnd (RMC=1, ref sig=63) [RR]6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drrnd (RMC=2, ref sig=63) [RR]6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drrnd (RMC=3, ref sig=63) [RR]6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+drrnd (RMC=0, ref sig=0) [RR]000400000089b000 => 000400000089b000
+drrnd (RMC=1, ref sig=0) [RR]000400000089b000 => 000400000089b000
+drrnd (RMC=2, ref sig=0) [RR]000400000089b000 => 000400000089b000
+drrnd (RMC=3, ref sig=0) [RR]000400000089b000 => 000400000089b000
+drrnd (RMC=0, ref sig=2) [RR]000400000089b000 => 001800000000004f
+drrnd (RMC=1, ref sig=2) [RR]000400000089b000 => 001800000000004e
+drrnd (RMC=2, ref sig=2) [RR]000400000089b000 => 001800000000004f
+drrnd (RMC=3, ref sig=2) [RR]000400000089b000 => 001800000000004f
+drrnd (RMC=0, ref sig=6) [RR]000400000089b000 => 00080000000c3a00
+drrnd (RMC=1, ref sig=6) [RR]000400000089b000 => 00080000000c3a00
+drrnd (RMC=2, ref sig=6) [RR]000400000089b000 => 00080000000c3a00
+drrnd (RMC=3, ref sig=6) [RR]000400000089b000 => 00080000000c3a00
+drrnd (RMC=0, ref sig=63) [RR]000400000089b000 => 000400000089b000
+drrnd (RMC=1, ref sig=63) [RR]000400000089b000 => 000400000089b000
+drrnd (RMC=2, ref sig=63) [RR]000400000089b000 => 000400000089b000
+drrnd (RMC=3, ref sig=63) [RR]000400000089b000 => 000400000089b000
+drrnd (RMC=0, ref sig=0) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=1, ref sig=0) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=2, ref sig=0) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=3, ref sig=0) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=0, ref sig=2) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=1, ref sig=2) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=2, ref sig=2) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=3, ref sig=2) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=0, ref sig=6) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=1, ref sig=6) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=2, ref sig=6) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=3, ref sig=6) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=0, ref sig=63) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=1, ref sig=63) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=2, ref sig=63) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=3, ref sig=63) [RR]2238000000000000 => 2238000000000000
+drrnd (RMC=0, ref sig=0) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=1, ref sig=0) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=2, ref sig=0) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=3, ref sig=0) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=0, ref sig=2) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=1, ref sig=2) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=2, ref sig=2) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=3, ref sig=2) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=0, ref sig=6) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=1, ref sig=6) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=2, ref sig=6) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=3, ref sig=6) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=0, ref sig=63) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=1, ref sig=63) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=2, ref sig=63) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=3, ref sig=63) [RR]a238000000000000 => a238000000000000
+drrnd (RMC=0, ref sig=0) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=1, ref sig=0) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=2, ref sig=0) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=3, ref sig=0) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=0, ref sig=2) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=1, ref sig=2) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=2, ref sig=2) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=3, ref sig=2) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=0, ref sig=6) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=1, ref sig=6) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=2, ref sig=6) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=3, ref sig=6) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=0, ref sig=63) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=1, ref sig=63) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=2, ref sig=63) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=3, ref sig=63) [RR]4248000000000000 => 4248000000000000
+drrnd (RMC=0, ref sig=0) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=1, ref sig=0) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=2, ref sig=0) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=3, ref sig=0) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=0, ref sig=2) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=1, ref sig=2) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=2, ref sig=2) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=3, ref sig=2) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=0, ref sig=6) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=1, ref sig=6) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=2, ref sig=6) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=3, ref sig=6) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=0, ref sig=63) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=1, ref sig=63) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=2, ref sig=63) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=3, ref sig=63) [RR]7e34000000000111 => 7c00000000000111
+drrnd (RMC=0, ref sig=0) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=1, ref sig=0) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=2, ref sig=0) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=3, ref sig=0) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=0, ref sig=2) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=1, ref sig=2) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=2, ref sig=2) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=3, ref sig=2) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=0, ref sig=6) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=1, ref sig=6) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=2, ref sig=6) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=3, ref sig=6) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=0, ref sig=63) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=1, ref sig=63) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=2, ref sig=63) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=3, ref sig=63) [RR]fe000000d0e0a0d0 => fc000000d0e0a0d0
+drrnd (RMC=0, ref sig=0) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=1, ref sig=0) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=2, ref sig=0) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=3, ref sig=0) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=0, ref sig=2) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=1, ref sig=2) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=2, ref sig=2) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=3, ref sig=2) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=0, ref sig=6) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=1, ref sig=6) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=2, ref sig=6) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=3, ref sig=6) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=0, ref sig=63) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=1, ref sig=63) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=2, ref sig=63) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=3, ref sig=63) [RR]fc00000000000000 => fc00000000000000
+drrnd (RMC=0, ref sig=0) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=1, ref sig=0) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=2, ref sig=0) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=3, ref sig=0) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=0, ref sig=2) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=1, ref sig=2) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=2, ref sig=2) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=3, ref sig=2) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=0, ref sig=6) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=1, ref sig=6) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=2, ref sig=6) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=3, ref sig=6) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=0, ref sig=63) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=1, ref sig=63) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=2, ref sig=63) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=3, ref sig=63) [RR]7800000000000000 => 7800000000000000
+drrnd (RMC=0, ref sig=0) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=1, ref sig=0) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=2, ref sig=0) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=3, ref sig=0) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=0, ref sig=2) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=1, ref sig=2) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=2, ref sig=2) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=3, ref sig=2) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=0, ref sig=6) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=1, ref sig=6) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=2, ref sig=6) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=3, ref sig=6) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=0, ref sig=63) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=1, ref sig=63) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=2, ref sig=63) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=3, ref sig=63) [RR]f800000000000000 => f800000000000000
+drrnd (RMC=0, ref sig=0) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=1, ref sig=0) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=2, ref sig=0) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=3, ref sig=0) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=0, ref sig=2) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=1, ref sig=2) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=2, ref sig=2) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=3, ref sig=2) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=0, ref sig=6) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=1, ref sig=6) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=2, ref sig=6) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=3, ref sig=6) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=0, ref sig=63) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=1, ref sig=63) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=2, ref sig=63) [RR]7a34000000000000 => 7800000000000000
+drrnd (RMC=3, ref sig=63) [RR]7a34000000000000 => 7800000000000000
+
+drrndq (RMC=0, ref sig=0) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=1, ref sig=0) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=2, ref sig=0) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=3, ref sig=0) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=0, ref sig=2) [RR]2207c00000000000 0000000000000e50 ==> 2208400000000000 0000000000000034
+drrndq (RMC=1, ref sig=2) [RR]2207c00000000000 0000000000000e50 ==> 2208400000000000 0000000000000034
+drrndq (RMC=2, ref sig=2) [RR]2207c00000000000 0000000000000e50 ==> 2208400000000000 0000000000000035
+drrndq (RMC=3, ref sig=2) [RR]2207c00000000000 0000000000000e50 ==> 2208400000000000 0000000000000034
+drrndq (RMC=0, ref sig=6) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=1, ref sig=6) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=2, ref sig=6) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=3, ref sig=6) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=0, ref sig=63) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=1, ref sig=63) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=2, ref sig=63) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=3, ref sig=63) [RR]2207c00000000000 0000000000000e50 ==> 2207c00000000000 0000000000000e50
+drrndq (RMC=0, ref sig=0) [RR]2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+drrndq (RMC=1, ref sig=0) [RR]2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+drrndq (RMC=2, ref sig=0) [RR]2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+drrndq (RMC=3, ref sig=0) [RR]2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+drrndq (RMC=0, ref sig=2) [RR]2207c00000000000 000000000014c000 ==> 2209000000000000 0000000000000012
+drrndq (RMC=1, ref sig=2) [RR]2207c00000000000 000000000014c000 ==> 2209000000000000 0000000000000012
+drrndq (RMC=2, ref sig=2) [RR]2207c00000000000 000000000014c000 ==> 2209000000000000 0000000000000012
+drrndq (RMC=3, ref sig=2) [RR]2207c00000000000 000000000014c000 ==> 2209000000000000 0000000000000012
+drrndq (RMC=0, ref sig=6) [RR]2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drrndq (RMC=1, ref sig=6) [RR]2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drrndq (RMC=2, ref sig=6) [RR]2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drrndq (RMC=3, ref sig=6) [RR]2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+drrndq (RMC=0, ref sig=63) [RR]2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+drrndq (RMC=1, ref sig=63) [RR]2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+drrndq (RMC=2, ref sig=63) [RR]2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+drrndq (RMC=3, ref sig=63) [RR]2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+drrndq (RMC=0, ref sig=0) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=1, ref sig=0) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=2, ref sig=0) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=3, ref sig=0) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=0, ref sig=2) [RR]a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drrndq (RMC=1, ref sig=2) [RR]a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drrndq (RMC=2, ref sig=2) [RR]a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drrndq (RMC=3, ref sig=2) [RR]a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+drrndq (RMC=0, ref sig=6) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=1, ref sig=6) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=2, ref sig=6) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=3, ref sig=6) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=0, ref sig=63) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=1, ref sig=63) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=2, ref sig=63) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=3, ref sig=63) [RR]a207c00000000000 00000000000000e0 ==> a207c00000000000 00000000000000e0
+drrndq (RMC=0, ref sig=0) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=1, ref sig=0) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=2, ref sig=0) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=3, ref sig=0) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=0, ref sig=2) [RR]2206c00000000000 00000000000000cf ==> 2207000000000000 0000000000000019
+drrndq (RMC=1, ref sig=2) [RR]2206c00000000000 00000000000000cf ==> 2207000000000000 0000000000000018
+drrndq (RMC=2, ref sig=2) [RR]2206c00000000000 00000000000000cf ==> 2207000000000000 0000000000000019
+drrndq (RMC=3, ref sig=2) [RR]2206c00000000000 00000000000000cf ==> 2207000000000000 0000000000000019
+drrndq (RMC=0, ref sig=6) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=1, ref sig=6) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=2, ref sig=6) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=3, ref sig=6) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=0, ref sig=63) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=1, ref sig=63) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=2, ref sig=63) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=3, ref sig=63) [RR]2206c00000000000 00000000000000cf ==> 2206c00000000000 00000000000000cf
+drrndq (RMC=0, ref sig=0) [RR]a205c00000000000 000000010a395bcf ==> a205c00000000000 000000010a395bcf
+drrndq (RMC=1, ref sig=0) [RR]a205c00000000000 000000010a395bcf ==> a205c00000000000 000000010a395bcf
+drrndq (RMC=2, ref sig=0) [RR]a205c00000000000 000000010a395bcf ==> a205c00000000000 000000010a395bcf
+drrndq (RMC=3, ref sig=0) [RR]a205c00000000000 000000010a395bcf ==> a205c00000000000 000000010a395bcf
+drrndq (RMC=0, ref sig=2) [RR]a205c00000000000 000000010a395bcf ==> a207c00000000000 0000000000000041
+drrndq (RMC=1, ref sig=2) [RR]a205c00000000000 000000010a395bcf ==> a207c00000000000 0000000000000041
+drrndq (RMC=2, ref sig=2) [RR]a205c00000000000 000000010a395bcf ==> a207c00000000000 0000000000000041
+drrndq (RMC=3, ref sig=2) [RR]a205c00000000000 000000010a395bcf ==> a207c00000000000 0000000000000041
+drrndq (RMC=0, ref sig=6) [RR]a205c00000000000 000000010a395bcf ==> a206c00000000000 00000000000849c6
+drrndq (RMC=1, ref sig=6) [RR]a205c00000000000 000000010a395bcf ==> a206c00000000000 00000000000849c5
+drrndq (RMC=2, ref sig=6) [RR]a205c00000000000 000000010a395bcf ==> a206c00000000000 00000000000849c6
+drrndq (RMC=3, ref sig=6) [RR]a205c00000000000 000000010a395bcf ==> a206c00000000000 00000000000849c6
+drrndq (RMC=0, ref sig=63) [RR]a205c00000000000 000000010a395bcf ==> a205c00000000000 000000010a395bcf
+drrndq (RMC=1, ref sig=63) [RR]a205c00000000000 000000010a395bcf ==> a205c00000000000 000000010a395bcf
+drrndq (RMC=2, ref sig=63) [RR]a205c00000000000 000000010a395bcf ==> a205c00000000000 000000010a395bcf
+drrndq (RMC=3, ref sig=63) [RR]a205c00000000000 000000010a395bcf ==> a205c00000000000 000000010a395bcf
+drrndq (RMC=0, ref sig=0) [RR]6209400000fd0000 00253f1f534acdd4 ==> 6209400000fd0000 00253f1f534acdd4
+drrndq (RMC=1, ref sig=0) [RR]6209400000fd0000 00253f1f534acdd4 ==> 6209400000fd0000 00253f1f534acdd4
+drrndq (RMC=2, ref sig=0) [RR]6209400000fd0000 00253f1f534acdd4 ==> 6209400000fd0000 00253f1f534acdd4
+drrndq (RMC=3, ref sig=0) [RR]6209400000fd0000 00253f1f534acdd4 ==> 6209400000fd0000 00253f1f534acdd4
+drrndq (RMC=0, ref sig=2) [RR]6209400000fd0000 00253f1f534acdd4 ==> 0211400000000000 000000000000000a
+drrndq (RMC=1, ref sig=2) [RR]6209400000fd0000 00253f1f534acdd4 ==> 0211400000000000 000000000000000a
+drrndq (RMC=2, ref sig=2) [RR]6209400000fd0000 00253f1f534acdd4 ==> 0211400000000000 000000000000000a
+drrndq (RMC=3, ref sig=2) [RR]6209400000fd0000 00253f1f534acdd4 ==> 0211400000000000 000000000000000a
+drrndq (RMC=0, ref sig=6) [RR]6209400000fd0000 00253f1f534acdd4 ==> 0210400000000000 0000000000003000
+drrndq (RMC=1, ref sig=6) [RR]6209400000fd0000 00253f1f534acdd4 ==> 0210400000000000 0000000000003000
+drrndq (RMC=2, ref sig=6) [RR]6209400000fd0000 00253f1f534acdd4 ==> 0210400000000000 0000000000003000
+drrndq (RMC=3, ref sig=6) [RR]6209400000fd0000 00253f1f534acdd4 ==> 0210400000000000 0000000000003000
+drrndq (RMC=0, ref sig=63) [RR]6209400000fd0000 00253f1f534acdd4 ==> 6209400000fd0000 00253f1f534acdd4
+drrndq (RMC=1, ref sig=63) [RR]6209400000fd0000 00253f1f534acdd4 ==> 6209400000fd0000 00253f1f534acdd4
+drrndq (RMC=2, ref sig=63) [RR]6209400000fd0000 00253f1f534acdd4 ==> 6209400000fd0000 00253f1f534acdd4
+drrndq (RMC=3, ref sig=63) [RR]6209400000fd0000 00253f1f534acdd4 ==> 6209400000fd0000 00253f1f534acdd4
+drrndq (RMC=0, ref sig=0) [RR]000400000089b000 0a6000d000000049 ==> 000400000089b000 0a6000d000000049
+drrndq (RMC=1, ref sig=0) [RR]000400000089b000 0a6000d000000049 ==> 000400000089b000 0a6000d000000049
+drrndq (RMC=2, ref sig=0) [RR]000400000089b000 0a6000d000000049 ==> 000400000089b000 0a6000d000000049
+drrndq (RMC=3, ref sig=0) [RR]000400000089b000 0a6000d000000049 ==> 000400000089b000 0a6000d000000049
+drrndq (RMC=0, ref sig=2) [RR]000400000089b000 0a6000d000000049 ==> 000a400000000000 0000000000000011
+drrndq (RMC=1, ref sig=2) [RR]000400000089b000 0a6000d000000049 ==> 000a400000000000 0000000000000010
+drrndq (RMC=2, ref sig=2) [RR]000400000089b000 0a6000d000000049 ==> 000a400000000000 0000000000000011
+drrndq (RMC=3, ref sig=2) [RR]000400000089b000 0a6000d000000049 ==> 000a400000000000 0000000000000011
+drrndq (RMC=0, ref sig=6) [RR]000400000089b000 0a6000d000000049 ==> 0009400000000000 00000000000226c0
+drrndq (RMC=1, ref sig=6) [RR]000400000089b000 0a6000d000000049 ==> 0009400000000000 00000000000226c0
+drrndq (RMC=2, ref sig=6) [RR]000400000089b000 0a6000d000000049 ==> 0009400000000000 00000000000226c0
+drrndq (RMC=3, ref sig=6) [RR]000400000089b000 0a6000d000000049 ==> 0009400000000000 00000000000226c0
+drrndq (RMC=0, ref sig=63) [RR]000400000089b000 0a6000d000000049 ==> 000400000089b000 0a6000d000000049
+drrndq (RMC=1, ref sig=63) [RR]000400000089b000 0a6000d000000049 ==> 000400000089b000 0a6000d000000049
+drrndq (RMC=2, ref sig=63) [RR]000400000089b000 0a6000d000000049 ==> 000400000089b000 0a6000d000000049
+drrndq (RMC=3, ref sig=63) [RR]000400000089b000 0a6000d000000049 ==> 000400000089b000 0a6000d000000049
+drrndq (RMC=0, ref sig=0) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=1, ref sig=0) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=2, ref sig=0) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=3, ref sig=0) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=0, ref sig=2) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=1, ref sig=2) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=2, ref sig=2) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=3, ref sig=2) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=0, ref sig=6) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=1, ref sig=6) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=2, ref sig=6) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=3, ref sig=6) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=0, ref sig=63) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=1, ref sig=63) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=2, ref sig=63) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=3, ref sig=63) [RR]2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+drrndq (RMC=0, ref sig=0) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=1, ref sig=0) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=2, ref sig=0) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=3, ref sig=0) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=0, ref sig=2) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=1, ref sig=2) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=2, ref sig=2) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=3, ref sig=2) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=0, ref sig=6) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=1, ref sig=6) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=2, ref sig=6) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=3, ref sig=6) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=0, ref sig=63) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=1, ref sig=63) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=2, ref sig=63) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=3, ref sig=63) [RR]a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+drrndq (RMC=0, ref sig=0) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=1, ref sig=0) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=2, ref sig=0) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=3, ref sig=0) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=0, ref sig=2) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=1, ref sig=2) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=2, ref sig=2) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=3, ref sig=2) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=0, ref sig=6) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=1, ref sig=6) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=2, ref sig=6) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=3, ref sig=6) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=0, ref sig=63) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=1, ref sig=63) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=2, ref sig=63) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=3, ref sig=63) [RR]a248000000000000 0000000000000000 ==> a248000000000000 0000000000000000
+drrndq (RMC=0, ref sig=0) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=1, ref sig=0) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=2, ref sig=0) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=3, ref sig=0) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=0, ref sig=2) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=1, ref sig=2) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=2, ref sig=2) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=3, ref sig=2) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=0, ref sig=6) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=1, ref sig=6) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=2, ref sig=6) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=3, ref sig=6) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=0, ref sig=63) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=1, ref sig=63) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=2, ref sig=63) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=3, ref sig=63) [RR]7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+drrndq (RMC=0, ref sig=0) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=1, ref sig=0) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=2, ref sig=0) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=3, ref sig=0) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=0, ref sig=2) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=1, ref sig=2) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=2, ref sig=2) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=3, ref sig=2) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=0, ref sig=6) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=1, ref sig=6) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=2, ref sig=6) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=3, ref sig=6) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=0, ref sig=63) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=1, ref sig=63) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=2, ref sig=63) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=3, ref sig=63) [RR]fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+drrndq (RMC=0, ref sig=0) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=1, ref sig=0) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=2, ref sig=0) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=3, ref sig=0) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=0, ref sig=2) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=1, ref sig=2) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=2, ref sig=2) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=3, ref sig=2) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=0, ref sig=6) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=1, ref sig=6) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=2, ref sig=6) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=3, ref sig=6) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=0, ref sig=63) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=1, ref sig=63) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=2, ref sig=63) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=3, ref sig=63) [RR]7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+drrndq (RMC=0, ref sig=0) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=0) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=0) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=0) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=0, ref sig=2) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=2) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=2) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=2) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=0, ref sig=6) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=6) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=6) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=6) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=0, ref sig=63) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=63) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=63) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=63) [RR]7800000000000000 0000000000000000 ==> 7800000000000000 0000000000000000
+drrndq (RMC=0, ref sig=0) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=0) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=0) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=0) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=0, ref sig=2) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=2) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=2) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=2) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=0, ref sig=6) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=6) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=6) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=6) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=0, ref sig=63) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=63) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=63) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=63) [RR]f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=0, ref sig=0) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=0) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=0) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=0) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=0, ref sig=2) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=2) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=2) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=2) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=0, ref sig=6) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=6) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=6) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=6) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=0, ref sig=63) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=1, ref sig=63) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=2, ref sig=63) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+drrndq (RMC=3, ref sig=63) [RR]f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+
+Test DFP quantize instructions
+dqua (RMC= 0) [Q] 2234000000000e50, 223400000014c000 => 223400000014c000
+dqua (RMC= 1) [Q] 2234000000000e50, 223400000014c000 => 223400000014c000
+dqua (RMC= 2) [Q] 2234000000000e50, 223400000014c000 => 223400000014c000
+dqua (RMC= 3) [Q] 2234000000000e50, 223400000014c000 => 223400000014c000
+dqua (RMC= 0) [Q] a2340000000000e0, 223400000014c000 => 223400000014c000
+dqua (RMC= 1) [Q] a2340000000000e0, 223400000014c000 => 223400000014c000
+dqua (RMC= 2) [Q] a2340000000000e0, 223400000014c000 => 223400000014c000
+dqua (RMC= 3) [Q] a2340000000000e0, 223400000014c000 => 223400000014c000
+dqua (RMC= 0) [Q] 22240000000000cf, a21400010a395bcf => a2240000000849c6
+dqua (RMC= 1) [Q] 22240000000000cf, a21400010a395bcf => a2240000000849c5
+dqua (RMC= 2) [Q] 22240000000000cf, a21400010a395bcf => a2240000000849c6
+dqua (RMC= 3) [Q] 22240000000000cf, a21400010a395bcf => a2240000000849c6
+dqua (RMC= 0) [Q] 2234000000000e50, 000400000089b000 => 2234000000000000
+dqua (RMC= 1) [Q] 2234000000000e50, 000400000089b000 => 2234000000000000
+dqua (RMC= 2) [Q] 2234000000000e50, 000400000089b000 => 2234000000000000
+dqua (RMC= 3) [Q] 2234000000000e50, 000400000089b000 => 2234000000000000
+dqua (RMC= 0) [Q] a2340000000000e0, a21400010a395bcf => a234000000000041
+dqua (RMC= 1) [Q] a2340000000000e0, a21400010a395bcf => a234000000000041
+dqua (RMC= 2) [Q] a2340000000000e0, a21400010a395bcf => a234000000000041
+dqua (RMC= 3) [Q] a2340000000000e0, a21400010a395bcf => a234000000000041
+dqua (RMC= 0) [Q] 6e4d3f1f534acdd4, 223400000014c000 => 224c000000000001
+dqua (RMC= 1) [Q] 6e4d3f1f534acdd4, 223400000014c000 => 224c000000000001
+dqua (RMC= 2) [Q] 6e4d3f1f534acdd4, 223400000014c000 => 224c000000000001
+dqua (RMC= 3) [Q] 6e4d3f1f534acdd4, 223400000014c000 => 224c000000000001
+dqua (RMC= 0) [Q] 6e4d3f1f534acdd4, a2340000000000e0 => a24c000000000000
+dqua (RMC= 1) [Q] 6e4d3f1f534acdd4, a2340000000000e0 => a24c000000000000
+dqua (RMC= 2) [Q] 6e4d3f1f534acdd4, a2340000000000e0 => a24c000000000000
+dqua (RMC= 3) [Q] 6e4d3f1f534acdd4, a2340000000000e0 => a24c000000000000
+dqua (RMC= 0) [Q] 2238000000000000, 223400000014c000 => 2238000000028c00
+dqua (RMC= 1) [Q] 2238000000000000, 223400000014c000 => 2238000000028c00
+dqua (RMC= 2) [Q] 2238000000000000, 223400000014c000 => 2238000000028c00
+dqua (RMC= 3) [Q] 2238000000000000, 223400000014c000 => 2238000000028c00
+dqua (RMC= 0) [Q] 2238000000000000, a2340000000000e0 => a238000000000016
+dqua (RMC= 1) [Q] 2238000000000000, a2340000000000e0 => a238000000000016
+dqua (RMC= 2) [Q] 2238000000000000, a2340000000000e0 => a238000000000016
+dqua (RMC= 3) [Q] 2238000000000000, a2340000000000e0 => a238000000000016
+dqua (RMC= 0) [Q] a238000000000000, 2234000000000e50 => 22380000000001c5
+dqua (RMC= 1) [Q] a238000000000000, 2234000000000e50 => 22380000000001c5
+dqua (RMC= 2) [Q] a238000000000000, 2234000000000e50 => 22380000000001c5
+dqua (RMC= 3) [Q] a238000000000000, 2234000000000e50 => 22380000000001c5
+dqua (RMC= 0) [Q] a238000000000000, 223400000014c000 => 2238000000028c00
+dqua (RMC= 1) [Q] a238000000000000, 223400000014c000 => 2238000000028c00
+dqua (RMC= 2) [Q] a238000000000000, 223400000014c000 => 2238000000028c00
+dqua (RMC= 3) [Q] a238000000000000, 223400000014c000 => 2238000000028c00
+dqua (RMC= 0) [Q] a238000000000000, a2340000000000e0 => a238000000000016
+dqua (RMC= 1) [Q] a238000000000000, a2340000000000e0 => a238000000000016
+dqua (RMC= 2) [Q] a238000000000000, a2340000000000e0 => a238000000000016
+dqua (RMC= 3) [Q] a238000000000000, a2340000000000e0 => a238000000000016
+dqua (RMC= 0) [Q] 2238000000000000, a238000000000000 => a238000000000000
+dqua (RMC= 1) [Q] 2238000000000000, a238000000000000 => a238000000000000
+dqua (RMC= 2) [Q] 2238000000000000, a238000000000000 => a238000000000000
+dqua (RMC= 3) [Q] 2238000000000000, a238000000000000 => a238000000000000
+dqua (RMC= 0) [Q] fc00000000000000, f800000000000000 => fc00000000000000
+dqua (RMC= 1) [Q] fc00000000000000, f800000000000000 => fc00000000000000
+dqua (RMC= 2) [Q] fc00000000000000, f800000000000000 => fc00000000000000
+dqua (RMC= 3) [Q] fc00000000000000, f800000000000000 => fc00000000000000
+dqua (RMC= 0) [Q] fc00000000000000, 223400000014c000 => fc00000000000000
+dqua (RMC= 1) [Q] fc00000000000000, 223400000014c000 => fc00000000000000
+dqua (RMC= 2) [Q] fc00000000000000, 223400000014c000 => fc00000000000000
+dqua (RMC= 3) [Q] fc00000000000000, 223400000014c000 => fc00000000000000
+dqua (RMC= 0) [Q] fc00000000000000, 7800000000000000 => fc00000000000000
+dqua (RMC= 1) [Q] fc00000000000000, 7800000000000000 => fc00000000000000
+dqua (RMC= 2) [Q] fc00000000000000, 7800000000000000 => fc00000000000000
+dqua (RMC= 3) [Q] fc00000000000000, 7800000000000000 => fc00000000000000
+dqua (RMC= 0) [Q] fc00000000000000, fc00000000000000 => fc00000000000000
+dqua (RMC= 1) [Q] fc00000000000000, fc00000000000000 => fc00000000000000
+dqua (RMC= 2) [Q] fc00000000000000, fc00000000000000 => fc00000000000000
+dqua (RMC= 3) [Q] fc00000000000000, fc00000000000000 => fc00000000000000
+dqua (RMC= 0) [Q] fc00000000000000, fe000000d0e0a0d0 => fc000000d0e0a0d0
+dqua (RMC= 1) [Q] fc00000000000000, fe000000d0e0a0d0 => fc000000d0e0a0d0
+dqua (RMC= 2) [Q] fc00000000000000, fe000000d0e0a0d0 => fc000000d0e0a0d0
+dqua (RMC= 3) [Q] fc00000000000000, fe000000d0e0a0d0 => fc000000d0e0a0d0
+dqua (RMC= 0) [Q] fe000000d0e0a0d0, f800000000000000 => fc000000d0e0a0d0
+dqua (RMC= 1) [Q] fe000000d0e0a0d0, f800000000000000 => fc000000d0e0a0d0
+dqua (RMC= 2) [Q] fe000000d0e0a0d0, f800000000000000 => fc000000d0e0a0d0
+dqua (RMC= 3) [Q] fe000000d0e0a0d0, f800000000000000 => fc000000d0e0a0d0
+dqua (RMC= 0) [Q] fe000000d0e0a0d0, 2234000000000e50 => fc000000d0e0a0d0
+dqua (RMC= 1) [Q] fe000000d0e0a0d0, 2234000000000e50 => fc000000d0e0a0d0
+dqua (RMC= 2) [Q] fe000000d0e0a0d0, 2234000000000e50 => fc000000d0e0a0d0
+dqua (RMC= 3) [Q] fe000000d0e0a0d0, 2234000000000e50 => fc000000d0e0a0d0
+dqua (RMC= 0) [Q] fe000000d0e0a0d0, 7800000000000000 => fc000000d0e0a0d0
+dqua (RMC= 1) [Q] fe000000d0e0a0d0, 7800000000000000 => fc000000d0e0a0d0
+dqua (RMC= 2) [Q] fe000000d0e0a0d0, 7800000000000000 => fc000000d0e0a0d0
+dqua (RMC= 3) [Q] fe000000d0e0a0d0, 7800000000000000 => fc000000d0e0a0d0
+dqua (RMC= 0) [Q] fe000000d0e0a0d0, fe000000d0e0a0d0 => fc000000d0e0a0d0
+dqua (RMC= 1) [Q] fe000000d0e0a0d0, fe000000d0e0a0d0 => fc000000d0e0a0d0
+dqua (RMC= 2) [Q] fe000000d0e0a0d0, fe000000d0e0a0d0 => fc000000d0e0a0d0
+dqua (RMC= 3) [Q] fe000000d0e0a0d0, fe000000d0e0a0d0 => fc000000d0e0a0d0
+dqua (RMC= 0) [Q] f800000000000000, f800000000000000 => f800000000000000
+dqua (RMC= 1) [Q] f800000000000000, f800000000000000 => f800000000000000
+dqua (RMC= 2) [Q] f800000000000000, f800000000000000 => f800000000000000
+dqua (RMC= 3) [Q] f800000000000000, f800000000000000 => f800000000000000
+dqua (RMC= 0) [Q] f800000000000000, 22240000000000cf => 7c00000000000000
+dqua (RMC= 1) [Q] f800000000000000, 22240000000000cf => 7c00000000000000
+dqua (RMC= 2) [Q] f800000000000000, 22240000000000cf => 7c00000000000000
+dqua (RMC= 3) [Q] f800000000000000, 22240000000000cf => 7c00000000000000
+dqua (RMC= 0) [Q] f800000000000000, 7a34000000000000 => 7800000000000000
+dqua (RMC= 1) [Q] f800000000000000, 7a34000000000000 => 7800000000000000
+dqua (RMC= 2) [Q] f800000000000000, 7a34000000000000 => 7800000000000000
+dqua (RMC= 3) [Q] f800000000000000, 7a34000000000000 => 7800000000000000
+
+dquaq (RMC= 0) [Q] 2207c00000000000 0000000000000e50, 2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+dquaq (RMC= 1) [Q] 2207c00000000000 0000000000000e50, 2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+dquaq (RMC= 2) [Q] 2207c00000000000 0000000000000e50, 2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+dquaq (RMC= 3) [Q] 2207c00000000000 0000000000000e50, 2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+dquaq (RMC= 0) [Q] a207c00000000000 00000000000000e0, 2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+dquaq (RMC= 1) [Q] a207c00000000000 00000000000000e0, 2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+dquaq (RMC= 2) [Q] a207c00000000000 00000000000000e0, 2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+dquaq (RMC= 3) [Q] a207c00000000000 00000000000000e0, 2207c00000000000 000000000014c000 ==> 2207c00000000000 000000000014c000
+dquaq (RMC= 0) [Q] 2206c00000000000 00000000000000cf, a205c00000000000 000000010a395bcf ==> a206c00000000000 00000000000849c6
+dquaq (RMC= 1) [Q] 2206c00000000000 00000000000000cf, a205c00000000000 000000010a395bcf ==> a206c00000000000 00000000000849c5
+dquaq (RMC= 2) [Q] 2206c00000000000 00000000000000cf, a205c00000000000 000000010a395bcf ==> a206c00000000000 00000000000849c6
+dquaq (RMC= 3) [Q] 2206c00000000000 00000000000000cf, a205c00000000000 000000010a395bcf ==> a206c00000000000 00000000000849c6
+dquaq (RMC= 0) [Q] 2207c00000000000 0000000000000e50, 000400000089b000 0a6000d000000049 ==> 2207c00000000000 0000000000000000
+dquaq (RMC= 1) [Q] 2207c00000000000 0000000000000e50, 000400000089b000 0a6000d000000049 ==> 2207c00000000000 0000000000000000
+dquaq (RMC= 2) [Q] 2207c00000000000 0000000000000e50, 000400000089b000 0a6000d000000049 ==> 2207c00000000000 0000000000000000
+dquaq (RMC= 3) [Q] 2207c00000000000 0000000000000e50, 000400000089b000 0a6000d000000049 ==> 2207c00000000000 0000000000000000
+dquaq (RMC= 0) [Q] a207c00000000000 00000000000000e0, a205c00000000000 000000010a395bcf ==> a207c00000000000 0000000000000041
+dquaq (RMC= 1) [Q] a207c00000000000 00000000000000e0, a205c00000000000 000000010a395bcf ==> a207c00000000000 0000000000000041
+dquaq (RMC= 2) [Q] a207c00000000000 00000000000000e0, a205c00000000000 000000010a395bcf ==> a207c00000000000 0000000000000041
+dquaq (RMC= 3) [Q] a207c00000000000 00000000000000e0, a205c00000000000 000000010a395bcf ==> a207c00000000000 0000000000000041
+dquaq (RMC= 0) [Q] 6209400000fd0000 00253f1f534acdd4, 2207c00000000000 000000000014c000 ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 1) [Q] 6209400000fd0000 00253f1f534acdd4, 2207c00000000000 000000000014c000 ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 2) [Q] 6209400000fd0000 00253f1f534acdd4, 2207c00000000000 000000000014c000 ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 3) [Q] 6209400000fd0000 00253f1f534acdd4, 2207c00000000000 000000000014c000 ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 0) [Q] 6209400000fd0000 00253f1f534acdd4, a207c00000000000 00000000000000e0 ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 1) [Q] 6209400000fd0000 00253f1f534acdd4, a207c00000000000 00000000000000e0 ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 2) [Q] 6209400000fd0000 00253f1f534acdd4, a207c00000000000 00000000000000e0 ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 3) [Q] 6209400000fd0000 00253f1f534acdd4, a207c00000000000 00000000000000e0 ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 0) [Q] 2208000000000000 0000000000000000, 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaq (RMC= 1) [Q] 2208000000000000 0000000000000000, 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaq (RMC= 2) [Q] 2208000000000000 0000000000000000, 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaq (RMC= 3) [Q] 2208000000000000 0000000000000000, 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaq (RMC= 0) [Q] 2208000000000000 0000000000000000, a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaq (RMC= 1) [Q] 2208000000000000 0000000000000000, a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaq (RMC= 2) [Q] 2208000000000000 0000000000000000, a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaq (RMC= 3) [Q] 2208000000000000 0000000000000000, a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaq (RMC= 0) [Q] a208000000000000 0000000000000000, 2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+dquaq (RMC= 1) [Q] a208000000000000 0000000000000000, 2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+dquaq (RMC= 2) [Q] a208000000000000 0000000000000000, 2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+dquaq (RMC= 3) [Q] a208000000000000 0000000000000000, 2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+dquaq (RMC= 0) [Q] a208000000000000 0000000000000000, 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaq (RMC= 1) [Q] a208000000000000 0000000000000000, 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaq (RMC= 2) [Q] a208000000000000 0000000000000000, 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaq (RMC= 3) [Q] a208000000000000 0000000000000000, 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaq (RMC= 0) [Q] a208000000000000 0000000000000000, a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaq (RMC= 1) [Q] a208000000000000 0000000000000000, a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaq (RMC= 2) [Q] a208000000000000 0000000000000000, a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaq (RMC= 3) [Q] a208000000000000 0000000000000000, a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaq (RMC= 0) [Q] 2208000000000000 0000000000000000, a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaq (RMC= 1) [Q] 2208000000000000 0000000000000000, a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaq (RMC= 2) [Q] 2208000000000000 0000000000000000, a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaq (RMC= 3) [Q] 2208000000000000 0000000000000000, a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaq (RMC= 0) [Q] 7e00000000000000 fe000000d0e0a0d0, f800000000000000 0000000000000000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 1) [Q] 7e00000000000000 fe000000d0e0a0d0, f800000000000000 0000000000000000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 2) [Q] 7e00000000000000 fe000000d0e0a0d0, f800000000000000 0000000000000000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 3) [Q] 7e00000000000000 fe000000d0e0a0d0, f800000000000000 0000000000000000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 0) [Q] 7e00000000000000 fe000000d0e0a0d0, 2207c00000000000 000000000014c000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 1) [Q] 7e00000000000000 fe000000d0e0a0d0, 2207c00000000000 000000000014c000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 2) [Q] 7e00000000000000 fe000000d0e0a0d0, 2207c00000000000 000000000014c000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 3) [Q] 7e00000000000000 fe000000d0e0a0d0, 2207c00000000000 000000000014c000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 0) [Q] 7e00000000000000 fe000000d0e0a0d0, 7800000000000000 0000000000000000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 1) [Q] 7e00000000000000 fe000000d0e0a0d0, 7800000000000000 0000000000000000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 2) [Q] 7e00000000000000 fe000000d0e0a0d0, 7800000000000000 0000000000000000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 3) [Q] 7e00000000000000 fe000000d0e0a0d0, 7800000000000000 0000000000000000 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 0) [Q] 7e00000000000000 fe000000d0e0a0d0, 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 1) [Q] 7e00000000000000 fe000000d0e0a0d0, 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 2) [Q] 7e00000000000000 fe000000d0e0a0d0, 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 3) [Q] 7e00000000000000 fe000000d0e0a0d0, 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 0) [Q] 7e00000000000000 fe000000d0e0a0d0, fc00000000000000 c00100035b007700 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 1) [Q] 7e00000000000000 fe000000d0e0a0d0, fc00000000000000 c00100035b007700 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 2) [Q] 7e00000000000000 fe000000d0e0a0d0, fc00000000000000 c00100035b007700 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 3) [Q] 7e00000000000000 fe000000d0e0a0d0, fc00000000000000 c00100035b007700 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaq (RMC= 0) [Q] fc00000000000000 c00100035b007700, f800000000000000 0000000000000000 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 1) [Q] fc00000000000000 c00100035b007700, f800000000000000 0000000000000000 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 2) [Q] fc00000000000000 c00100035b007700, f800000000000000 0000000000000000 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 3) [Q] fc00000000000000 c00100035b007700, f800000000000000 0000000000000000 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 0) [Q] fc00000000000000 c00100035b007700, 2207c00000000000 0000000000000e50 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 1) [Q] fc00000000000000 c00100035b007700, 2207c00000000000 0000000000000e50 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 2) [Q] fc00000000000000 c00100035b007700, 2207c00000000000 0000000000000e50 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 3) [Q] fc00000000000000 c00100035b007700, 2207c00000000000 0000000000000e50 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 0) [Q] fc00000000000000 c00100035b007700, 7800000000000000 0000000000000000 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 1) [Q] fc00000000000000 c00100035b007700, 7800000000000000 0000000000000000 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 2) [Q] fc00000000000000 c00100035b007700, 7800000000000000 0000000000000000 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 3) [Q] fc00000000000000 c00100035b007700, 7800000000000000 0000000000000000 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 0) [Q] fc00000000000000 c00100035b007700, fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 1) [Q] fc00000000000000 c00100035b007700, fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 2) [Q] fc00000000000000 c00100035b007700, fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 3) [Q] fc00000000000000 c00100035b007700, fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaq (RMC= 0) [Q] f800000000000000 0000000000000000, f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+dquaq (RMC= 1) [Q] f800000000000000 0000000000000000, f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+dquaq (RMC= 2) [Q] f800000000000000 0000000000000000, f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+dquaq (RMC= 3) [Q] f800000000000000 0000000000000000, f800000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+dquaq (RMC= 0) [Q] f800000000000000 0000000000000000, 2206c00000000000 00000000000000cf ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 1) [Q] f800000000000000 0000000000000000, 2206c00000000000 00000000000000cf ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 2) [Q] f800000000000000 0000000000000000, 2206c00000000000 00000000000000cf ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 3) [Q] f800000000000000 0000000000000000, 2206c00000000000 00000000000000cf ==> 7c00000000000000 0000000000000000
+dquaq (RMC= 0) [Q] f800000000000000 0000000000000000, f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+dquaq (RMC= 1) [Q] f800000000000000 0000000000000000, f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+dquaq (RMC= 2) [Q] f800000000000000 0000000000000000, f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+dquaq (RMC= 3) [Q] f800000000000000 0000000000000000, f900000000000000 0000000000000000 ==> f800000000000000 0000000000000000
+
+Test DFP quantize immediate instructions
+dquai (RMC= 0, TE=-16) [QI] 2234000000000e50 => 7c00000000000000
+dquai (RMC= 1, TE=-16) [QI] 2234000000000e50 => 7c00000000000000
+dquai (RMC= 2, TE=-16) [QI] 2234000000000e50 => 7c00000000000000
+dquai (RMC= 3, TE=-16) [QI] 2234000000000e50 => 7c00000000000000
+dquai (RMC= 0, TE= -2) [QI] 2234000000000e50 => 223000000000d280
+dquai (RMC= 1, TE= -2) [QI] 2234000000000e50 => 223000000000d280
+dquai (RMC= 2, TE= -2) [QI] 2234000000000e50 => 223000000000d280
+dquai (RMC= 3, TE= -2) [QI] 2234000000000e50 => 223000000000d280
+dquai (RMC= 0, TE=  0) [QI] 2234000000000e50 => 22380000000001c5
+dquai (RMC= 1, TE=  0) [QI] 2234000000000e50 => 22380000000001c5
+dquai (RMC= 2, TE=  0) [QI] 2234000000000e50 => 22380000000001c5
+dquai (RMC= 3, TE=  0) [QI] 2234000000000e50 => 22380000000001c5
+dquai (RMC= 0, TE=  5) [QI] 2234000000000e50 => 224c000000000000
+dquai (RMC= 1, TE=  5) [QI] 2234000000000e50 => 224c000000000000
+dquai (RMC= 2, TE=  5) [QI] 2234000000000e50 => 224c000000000000
+dquai (RMC= 3, TE=  5) [QI] 2234000000000e50 => 224c000000000000
+dquai (RMC= 0, TE=-16) [QI] 223400000014c000 => 7c00000000000000
+dquai (RMC= 1, TE=-16) [QI] 223400000014c000 => 7c00000000000000
+dquai (RMC= 2, TE=-16) [QI] 223400000014c000 => 7c00000000000000
+dquai (RMC= 3, TE=-16) [QI] 223400000014c000 => 7c00000000000000
+dquai (RMC= 0, TE= -2) [QI] 223400000014c000 => 2230000001260000
+dquai (RMC= 1, TE= -2) [QI] 223400000014c000 => 2230000001260000
+dquai (RMC= 2, TE= -2) [QI] 223400000014c000 => 2230000001260000
+dquai (RMC= 3, TE= -2) [QI] 223400000014c000 => 2230000001260000
+dquai (RMC= 0, TE=  0) [QI] 223400000014c000 => 2238000000028c00
+dquai (RMC= 1, TE=  0) [QI] 223400000014c000 => 2238000000028c00
+dquai (RMC= 2, TE=  0) [QI] 223400000014c000 => 2238000000028c00
+dquai (RMC= 3, TE=  0) [QI] 223400000014c000 => 2238000000028c00
+dquai (RMC= 0, TE=  5) [QI] 223400000014c000 => 224c000000000001
+dquai (RMC= 1, TE=  5) [QI] 223400000014c000 => 224c000000000001
+dquai (RMC= 2, TE=  5) [QI] 223400000014c000 => 224c000000000001
+dquai (RMC= 3, TE=  5) [QI] 223400000014c000 => 224c000000000001
+dquai (RMC= 0, TE=-16) [QI] a2340000000000e0 => 7c00000000000000
+dquai (RMC= 1, TE=-16) [QI] a2340000000000e0 => 7c00000000000000
+dquai (RMC= 2, TE=-16) [QI] a2340000000000e0 => 7c00000000000000
+dquai (RMC= 3, TE=-16) [QI] a2340000000000e0 => 7c00000000000000
+dquai (RMC= 0, TE= -2) [QI] a2340000000000e0 => a230000000000700
+dquai (RMC= 1, TE= -2) [QI] a2340000000000e0 => a230000000000700
+dquai (RMC= 2, TE= -2) [QI] a2340000000000e0 => a230000000000700
+dquai (RMC= 3, TE= -2) [QI] a2340000000000e0 => a230000000000700
+dquai (RMC= 0, TE=  0) [QI] a2340000000000e0 => a238000000000016
+dquai (RMC= 1, TE=  0) [QI] a2340000000000e0 => a238000000000016
+dquai (RMC= 2, TE=  0) [QI] a2340000000000e0 => a238000000000016
+dquai (RMC= 3, TE=  0) [QI] a2340000000000e0 => a238000000000016
+dquai (RMC= 0, TE=  5) [QI] a2340000000000e0 => a24c000000000000
+dquai (RMC= 1, TE=  5) [QI] a2340000000000e0 => a24c000000000000
+dquai (RMC= 2, TE=  5) [QI] a2340000000000e0 => a24c000000000000
+dquai (RMC= 3, TE=  5) [QI] a2340000000000e0 => a24c000000000000
+dquai (RMC= 0, TE=-16) [QI] 22240000000000cf => 21f8182300000000
+dquai (RMC= 1, TE=-16) [QI] 22240000000000cf => 21f8182300000000
+dquai (RMC= 2, TE=-16) [QI] 22240000000000cf => 21f8182300000000
+dquai (RMC= 3, TE=-16) [QI] 22240000000000cf => 21f8182300000000
+dquai (RMC= 0, TE= -2) [QI] 22240000000000cf => 2230000000000000
+dquai (RMC= 1, TE= -2) [QI] 22240000000000cf => 2230000000000000
+dquai (RMC= 2, TE= -2) [QI] 22240000000000cf => 2230000000000000
+dquai (RMC= 3, TE= -2) [QI] 22240000000000cf => 2230000000000000
+dquai (RMC= 0, TE=  0) [QI] 22240000000000cf => 2238000000000000
+dquai (RMC= 1, TE=  0) [QI] 22240000000000cf => 2238000000000000
+dquai (RMC= 2, TE=  0) [QI] 22240000000000cf => 2238000000000000
+dquai (RMC= 3, TE=  0) [QI] 22240000000000cf => 2238000000000000
+dquai (RMC= 0, TE=  5) [QI] 22240000000000cf => 224c000000000000
+dquai (RMC= 1, TE=  5) [QI] 22240000000000cf => 224c000000000000
+dquai (RMC= 2, TE=  5) [QI] 22240000000000cf => 224c000000000000
+dquai (RMC= 3, TE=  5) [QI] 22240000000000cf => 224c000000000000
+dquai (RMC= 0, TE=-16) [QI] a21400010a395bcf => 7c00000000000000
+dquai (RMC= 1, TE=-16) [QI] a21400010a395bcf => 7c00000000000000
+dquai (RMC= 2, TE=-16) [QI] a21400010a395bcf => 7c00000000000000
+dquai (RMC= 3, TE=-16) [QI] a21400010a395bcf => 7c00000000000000
+dquai (RMC= 0, TE= -2) [QI] a21400010a395bcf => a230000000000212
+dquai (RMC= 1, TE= -2) [QI] a21400010a395bcf => a230000000000212
+dquai (RMC= 2, TE= -2) [QI] a21400010a395bcf => a230000000000212
+dquai (RMC= 3, TE= -2) [QI] a21400010a395bcf => a230000000000212
+dquai (RMC= 0, TE=  0) [QI] a21400010a395bcf => a238000000000004
+dquai (RMC= 1, TE=  0) [QI] a21400010a395bcf => a238000000000004
+dquai (RMC= 2, TE=  0) [QI] a21400010a395bcf => a238000000000004
+dquai (RMC= 3, TE=  0) [QI] a21400010a395bcf => a238000000000004
+dquai (RMC= 0, TE=  5) [QI] a21400010a395bcf => a24c000000000000
+dquai (RMC= 1, TE=  5) [QI] a21400010a395bcf => a24c000000000000
+dquai (RMC= 2, TE=  5) [QI] a21400010a395bcf => a24c000000000000
+dquai (RMC= 3, TE=  5) [QI] a21400010a395bcf => a24c000000000000
+dquai (RMC= 0, TE=-16) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 1, TE=-16) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 2, TE=-16) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 3, TE=-16) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 0, TE= -2) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 1, TE= -2) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 2, TE= -2) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 3, TE= -2) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 0, TE=  0) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 1, TE=  0) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 2, TE=  0) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 3, TE=  0) [QI] 6e4d3f1f534acdd4 => 7c00000000000000
+dquai (RMC= 0, TE=  5) [QI] 6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+dquai (RMC= 1, TE=  5) [QI] 6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+dquai (RMC= 2, TE=  5) [QI] 6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+dquai (RMC= 3, TE=  5) [QI] 6e4d3f1f534acdd4 => 6e4d3f1f534acdd4
+dquai (RMC= 0, TE=-16) [QI] 000400000089b000 => 21f8000000000000
+dquai (RMC= 1, TE=-16) [QI] 000400000089b000 => 21f8000000000000
+dquai (RMC= 2, TE=-16) [QI] 000400000089b000 => 21f8000000000000
+dquai (RMC= 3, TE=-16) [QI] 000400000089b000 => 21f8000000000000
+dquai (RMC= 0, TE= -2) [QI] 000400000089b000 => 2230000000000000
+dquai (RMC= 1, TE= -2) [QI] 000400000089b000 => 2230000000000000
+dquai (RMC= 2, TE= -2) [QI] 000400000089b000 => 2230000000000000
+dquai (RMC= 3, TE= -2) [QI] 000400000089b000 => 2230000000000000
+dquai (RMC= 0, TE=  0) [QI] 000400000089b000 => 2238000000000000
+dquai (RMC= 1, TE=  0) [QI] 000400000089b000 => 2238000000000000
+dquai (RMC= 2, TE=  0) [QI] 000400000089b000 => 2238000000000000
+dquai (RMC= 3, TE=  0) [QI] 000400000089b000 => 2238000000000000
+dquai (RMC= 0, TE=  5) [QI] 000400000089b000 => 224c000000000000
+dquai (RMC= 1, TE=  5) [QI] 000400000089b000 => 224c000000000000
+dquai (RMC= 2, TE=  5) [QI] 000400000089b000 => 224c000000000000
+dquai (RMC= 3, TE=  5) [QI] 000400000089b000 => 224c000000000000
+dquai (RMC= 0, TE=-16) [QI] 2238000000000000 => 21f8000000000000
+dquai (RMC= 1, TE=-16) [QI] 2238000000000000 => 21f8000000000000
+dquai (RMC= 2, TE=-16) [QI] 2238000000000000 => 21f8000000000000
+dquai (RMC= 3, TE=-16) [QI] 2238000000000000 => 21f8000000000000
+dquai (RMC= 0, TE= -2) [QI] 2238000000000000 => 2230000000000000
+dquai (RMC= 1, TE= -2) [QI] 2238000000000000 => 2230000000000000
+dquai (RMC= 2, TE= -2) [QI] 2238000000000000 => 2230000000000000
+dquai (RMC= 3, TE= -2) [QI] 2238000000000000 => 2230000000000000
+dquai (RMC= 0, TE=  0) [QI] 2238000000000000 => 2238000000000000
+dquai (RMC= 1, TE=  0) [QI] 2238000000000000 => 2238000000000000
+dquai (RMC= 2, TE=  0) [QI] 2238000000000000 => 2238000000000000
+dquai (RMC= 3, TE=  0) [QI] 2238000000000000 => 2238000000000000
+dquai (RMC= 0, TE=  5) [QI] 2238000000000000 => 224c000000000000
+dquai (RMC= 1, TE=  5) [QI] 2238000000000000 => 224c000000000000
+dquai (RMC= 2, TE=  5) [QI] 2238000000000000 => 224c000000000000
+dquai (RMC= 3, TE=  5) [QI] 2238000000000000 => 224c000000000000
+dquai (RMC= 0, TE=-16) [QI] a238000000000000 => a1f8000000000000
+dquai (RMC= 1, TE=-16) [QI] a238000000000000 => a1f8000000000000
+dquai (RMC= 2, TE=-16) [QI] a238000000000000 => a1f8000000000000
+dquai (RMC= 3, TE=-16) [QI] a238000000000000 => a1f8000000000000
+dquai (RMC= 0, TE= -2) [QI] a238000000000000 => a230000000000000
+dquai (RMC= 1, TE= -2) [QI] a238000000000000 => a230000000000000
+dquai (RMC= 2, TE= -2) [QI] a238000000000000 => a230000000000000
+dquai (RMC= 3, TE= -2) [QI] a238000000000000 => a230000000000000
+dquai (RMC= 0, TE=  0) [QI] a238000000000000 => a238000000000000
+dquai (RMC= 1, TE=  0) [QI] a238000000000000 => a238000000000000
+dquai (RMC= 2, TE=  0) [QI] a238000000000000 => a238000000000000
+dquai (RMC= 3, TE=  0) [QI] a238000000000000 => a238000000000000
+dquai (RMC= 0, TE=  5) [QI] a238000000000000 => a24c000000000000
+dquai (RMC= 1, TE=  5) [QI] a238000000000000 => a24c000000000000
+dquai (RMC= 2, TE=  5) [QI] a238000000000000 => a24c000000000000
+dquai (RMC= 3, TE=  5) [QI] a238000000000000 => a24c000000000000
+dquai (RMC= 0, TE=-16) [QI] 4248000000000000 => 21f8000000000000
+dquai (RMC= 1, TE=-16) [QI] 4248000000000000 => 21f8000000000000
+dquai (RMC= 2, TE=-16) [QI] 4248000000000000 => 21f8000000000000
+dquai (RMC= 3, TE=-16) [QI] 4248000000000000 => 21f8000000000000
+dquai (RMC= 0, TE= -2) [QI] 4248000000000000 => 2230000000000000
+dquai (RMC= 1, TE= -2) [QI] 4248000000000000 => 2230000000000000
+dquai (RMC= 2, TE= -2) [QI] 4248000000000000 => 2230000000000000
+dquai (RMC= 3, TE= -2) [QI] 4248000000000000 => 2230000000000000
+dquai (RMC= 0, TE=  0) [QI] 4248000000000000 => 2238000000000000
+dquai (RMC= 1, TE=  0) [QI] 4248000000000000 => 2238000000000000
+dquai (RMC= 2, TE=  0) [QI] 4248000000000000 => 2238000000000000
+dquai (RMC= 3, TE=  0) [QI] 4248000000000000 => 2238000000000000
+dquai (RMC= 0, TE=  5) [QI] 4248000000000000 => 224c000000000000
+dquai (RMC= 1, TE=  5) [QI] 4248000000000000 => 224c000000000000
+dquai (RMC= 2, TE=  5) [QI] 4248000000000000 => 224c000000000000
+dquai (RMC= 3, TE=  5) [QI] 4248000000000000 => 224c000000000000
+dquai (RMC= 0, TE=-16) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 1, TE=-16) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 2, TE=-16) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 3, TE=-16) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 0, TE= -2) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 1, TE= -2) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 2, TE= -2) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 3, TE= -2) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 0, TE=  0) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 1, TE=  0) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 2, TE=  0) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 3, TE=  0) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 0, TE=  5) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 1, TE=  5) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 2, TE=  5) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 3, TE=  5) [QI] 7e34000000000111 => 7c00000000000111
+dquai (RMC= 0, TE=-16) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 1, TE=-16) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 2, TE=-16) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 3, TE=-16) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 0, TE= -2) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 1, TE= -2) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 2, TE= -2) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 3, TE= -2) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 0, TE=  0) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 1, TE=  0) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 2, TE=  0) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 3, TE=  0) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 0, TE=  5) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 1, TE=  5) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 2, TE=  5) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 3, TE=  5) [QI] fe000000d0e0a0d0 => fc000000d0e0a0d0
+dquai (RMC= 0, TE=-16) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 1, TE=-16) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 2, TE=-16) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 3, TE=-16) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 0, TE= -2) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 1, TE= -2) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 2, TE= -2) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 3, TE= -2) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 0, TE=  0) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 1, TE=  0) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 2, TE=  0) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 3, TE=  0) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 0, TE=  5) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 1, TE=  5) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 2, TE=  5) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 3, TE=  5) [QI] fc00000000000000 => fc00000000000000
+dquai (RMC= 0, TE=-16) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 1, TE=-16) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 2, TE=-16) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 3, TE=-16) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 0, TE= -2) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 1, TE= -2) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 2, TE= -2) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 3, TE= -2) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 0, TE=  0) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 1, TE=  0) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 2, TE=  0) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 3, TE=  0) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 0, TE=  5) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 1, TE=  5) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 2, TE=  5) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 3, TE=  5) [QI] 7800000000000000 => 7c00000000000000
+dquai (RMC= 0, TE=-16) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 1, TE=-16) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 2, TE=-16) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 3, TE=-16) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 0, TE= -2) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 1, TE= -2) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 2, TE= -2) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 3, TE= -2) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 0, TE=  0) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 1, TE=  0) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 2, TE=  0) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 3, TE=  0) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 0, TE=  5) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 1, TE=  5) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 2, TE=  5) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 3, TE=  5) [QI] f800000000000000 => 7c00000000000000
+dquai (RMC= 0, TE=-16) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 1, TE=-16) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 2, TE=-16) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 3, TE=-16) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 0, TE= -2) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 1, TE= -2) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 2, TE= -2) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 3, TE= -2) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 0, TE=  0) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 1, TE=  0) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 2, TE=  0) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 3, TE=  0) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 0, TE=  5) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 1, TE=  5) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 2, TE=  5) [QI] 7a34000000000000 => 7c00000000000000
+dquai (RMC= 3, TE=  5) [QI] 7a34000000000000 => 7c00000000000000
+
+dquaiq (RMC= 0, TE=-16) [QI] 2207c00000000000 0000000000000e50 ==> 2204000000000000 3940000000000000
+dquaiq (RMC= 1, TE=-16) [QI] 2207c00000000000 0000000000000e50 ==> 2204000000000000 3940000000000000
+dquaiq (RMC= 2, TE=-16) [QI] 2207c00000000000 0000000000000e50 ==> 2204000000000000 3940000000000000
+dquaiq (RMC= 3, TE=-16) [QI] 2207c00000000000 0000000000000e50 ==> 2204000000000000 3940000000000000
+dquaiq (RMC= 0, TE= -2) [QI] 2207c00000000000 0000000000000e50 ==> 2207800000000000 000000000000d280
+dquaiq (RMC= 1, TE= -2) [QI] 2207c00000000000 0000000000000e50 ==> 2207800000000000 000000000000d280
+dquaiq (RMC= 2, TE= -2) [QI] 2207c00000000000 0000000000000e50 ==> 2207800000000000 000000000000d280
+dquaiq (RMC= 3, TE= -2) [QI] 2207c00000000000 0000000000000e50 ==> 2207800000000000 000000000000d280
+dquaiq (RMC= 0, TE=  0) [QI] 2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+dquaiq (RMC= 1, TE=  0) [QI] 2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+dquaiq (RMC= 2, TE=  0) [QI] 2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+dquaiq (RMC= 3, TE=  0) [QI] 2207c00000000000 0000000000000e50 ==> 2208000000000000 00000000000001c5
+dquaiq (RMC= 0, TE=  5) [QI] 2207c00000000000 0000000000000e50 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] 2207c00000000000 0000000000000e50 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] 2207c00000000000 0000000000000e50 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] 2207c00000000000 0000000000000e50 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] 2207c00000000000 000000000014c000 ==> 2204000000000053 0000000000000000
+dquaiq (RMC= 1, TE=-16) [QI] 2207c00000000000 000000000014c000 ==> 2204000000000053 0000000000000000
+dquaiq (RMC= 2, TE=-16) [QI] 2207c00000000000 000000000014c000 ==> 2204000000000053 0000000000000000
+dquaiq (RMC= 3, TE=-16) [QI] 2207c00000000000 000000000014c000 ==> 2204000000000053 0000000000000000
+dquaiq (RMC= 0, TE= -2) [QI] 2207c00000000000 000000000014c000 ==> 2207800000000000 0000000001260000
+dquaiq (RMC= 1, TE= -2) [QI] 2207c00000000000 000000000014c000 ==> 2207800000000000 0000000001260000
+dquaiq (RMC= 2, TE= -2) [QI] 2207c00000000000 000000000014c000 ==> 2207800000000000 0000000001260000
+dquaiq (RMC= 3, TE= -2) [QI] 2207c00000000000 000000000014c000 ==> 2207800000000000 0000000001260000
+dquaiq (RMC= 0, TE=  0) [QI] 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaiq (RMC= 1, TE=  0) [QI] 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaiq (RMC= 2, TE=  0) [QI] 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaiq (RMC= 3, TE=  0) [QI] 2207c00000000000 000000000014c000 ==> 2208000000000000 0000000000028c00
+dquaiq (RMC= 0, TE=  5) [QI] 2207c00000000000 000000000014c000 ==> 2209400000000000 0000000000000001
+dquaiq (RMC= 1, TE=  5) [QI] 2207c00000000000 000000000014c000 ==> 2209400000000000 0000000000000001
+dquaiq (RMC= 2, TE=  5) [QI] 2207c00000000000 000000000014c000 ==> 2209400000000000 0000000000000001
+dquaiq (RMC= 3, TE=  5) [QI] 2207c00000000000 000000000014c000 ==> 2209400000000000 0000000000000001
+dquaiq (RMC= 0, TE=-16) [QI] a207c00000000000 00000000000000e0 ==> a204000000000000 0380000000000000
+dquaiq (RMC= 1, TE=-16) [QI] a207c00000000000 00000000000000e0 ==> a204000000000000 0380000000000000
+dquaiq (RMC= 2, TE=-16) [QI] a207c00000000000 00000000000000e0 ==> a204000000000000 0380000000000000
+dquaiq (RMC= 3, TE=-16) [QI] a207c00000000000 00000000000000e0 ==> a204000000000000 0380000000000000
+dquaiq (RMC= 0, TE= -2) [QI] a207c00000000000 00000000000000e0 ==> a207800000000000 0000000000000700
+dquaiq (RMC= 1, TE= -2) [QI] a207c00000000000 00000000000000e0 ==> a207800000000000 0000000000000700
+dquaiq (RMC= 2, TE= -2) [QI] a207c00000000000 00000000000000e0 ==> a207800000000000 0000000000000700
+dquaiq (RMC= 3, TE= -2) [QI] a207c00000000000 00000000000000e0 ==> a207800000000000 0000000000000700
+dquaiq (RMC= 0, TE=  0) [QI] a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaiq (RMC= 1, TE=  0) [QI] a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaiq (RMC= 2, TE=  0) [QI] a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaiq (RMC= 3, TE=  0) [QI] a207c00000000000 00000000000000e0 ==> a208000000000000 0000000000000016
+dquaiq (RMC= 0, TE=  5) [QI] a207c00000000000 00000000000000e0 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] a207c00000000000 00000000000000e0 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] a207c00000000000 00000000000000e0 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] a207c00000000000 00000000000000e0 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] 2206c00000000000 00000000000000cf ==> 2204000000000000 0000182300000000
+dquaiq (RMC= 1, TE=-16) [QI] 2206c00000000000 00000000000000cf ==> 2204000000000000 0000182300000000
+dquaiq (RMC= 2, TE=-16) [QI] 2206c00000000000 00000000000000cf ==> 2204000000000000 0000182300000000
+dquaiq (RMC= 3, TE=-16) [QI] 2206c00000000000 00000000000000cf ==> 2204000000000000 0000182300000000
+dquaiq (RMC= 0, TE= -2) [QI] 2206c00000000000 00000000000000cf ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 1, TE= -2) [QI] 2206c00000000000 00000000000000cf ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 2, TE= -2) [QI] 2206c00000000000 00000000000000cf ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 3, TE= -2) [QI] 2206c00000000000 00000000000000cf ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 0, TE=  0) [QI] 2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  0) [QI] 2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  0) [QI] 2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  0) [QI] 2206c00000000000 00000000000000cf ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  5) [QI] 2206c00000000000 00000000000000cf ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] 2206c00000000000 00000000000000cf ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] 2206c00000000000 00000000000000cf ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] 2206c00000000000 00000000000000cf ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] a205c00000000000 000000010a395bcf ==> a204000000000000 010534b9c1e00000
+dquaiq (RMC= 1, TE=-16) [QI] a205c00000000000 000000010a395bcf ==> a204000000000000 010534b9c1e00000
+dquaiq (RMC= 2, TE=-16) [QI] a205c00000000000 000000010a395bcf ==> a204000000000000 010534b9c1e00000
+dquaiq (RMC= 3, TE=-16) [QI] a205c00000000000 000000010a395bcf ==> a204000000000000 010534b9c1e00000
+dquaiq (RMC= 0, TE= -2) [QI] a205c00000000000 000000010a395bcf ==> a207800000000000 0000000000000212
+dquaiq (RMC= 1, TE= -2) [QI] a205c00000000000 000000010a395bcf ==> a207800000000000 0000000000000212
+dquaiq (RMC= 2, TE= -2) [QI] a205c00000000000 000000010a395bcf ==> a207800000000000 0000000000000212
+dquaiq (RMC= 3, TE= -2) [QI] a205c00000000000 000000010a395bcf ==> a207800000000000 0000000000000212
+dquaiq (RMC= 0, TE=  0) [QI] a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+dquaiq (RMC= 1, TE=  0) [QI] a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+dquaiq (RMC= 2, TE=  0) [QI] a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+dquaiq (RMC= 3, TE=  0) [QI] a205c00000000000 000000010a395bcf ==> a208000000000000 0000000000000004
+dquaiq (RMC= 0, TE=  5) [QI] a205c00000000000 000000010a395bcf ==> a209400000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] a205c00000000000 000000010a395bcf ==> a209400000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] a205c00000000000 000000010a395bcf ==> a209400000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] a205c00000000000 000000010a395bcf ==> a209400000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 1, TE=-16) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 2, TE=-16) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 3, TE=-16) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 0, TE= -2) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 1, TE= -2) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 2, TE= -2) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 3, TE= -2) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 0, TE=  0) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  0) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  0) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  0) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  5) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] 6209400000fd0000 00253f1f534acdd4 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] 000400000089b000 0a6000d000000049 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 1, TE=-16) [QI] 000400000089b000 0a6000d000000049 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 2, TE=-16) [QI] 000400000089b000 0a6000d000000049 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 3, TE=-16) [QI] 000400000089b000 0a6000d000000049 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 0, TE= -2) [QI] 000400000089b000 0a6000d000000049 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 1, TE= -2) [QI] 000400000089b000 0a6000d000000049 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 2, TE= -2) [QI] 000400000089b000 0a6000d000000049 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 3, TE= -2) [QI] 000400000089b000 0a6000d000000049 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 0, TE=  0) [QI] 000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  0) [QI] 000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  0) [QI] 000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  0) [QI] 000400000089b000 0a6000d000000049 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  5) [QI] 000400000089b000 0a6000d000000049 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] 000400000089b000 0a6000d000000049 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] 000400000089b000 0a6000d000000049 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] 000400000089b000 0a6000d000000049 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] 2208000000000000 0000000000000000 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 1, TE=-16) [QI] 2208000000000000 0000000000000000 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 2, TE=-16) [QI] 2208000000000000 0000000000000000 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 3, TE=-16) [QI] 2208000000000000 0000000000000000 ==> 2204000000000000 0000000000000000
+dquaiq (RMC= 0, TE= -2) [QI] 2208000000000000 0000000000000000 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 1, TE= -2) [QI] 2208000000000000 0000000000000000 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 2, TE= -2) [QI] 2208000000000000 0000000000000000 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 3, TE= -2) [QI] 2208000000000000 0000000000000000 ==> 2207800000000000 0000000000000000
+dquaiq (RMC= 0, TE=  0) [QI] 2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  0) [QI] 2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  0) [QI] 2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  0) [QI] 2208000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  5) [QI] 2208000000000000 0000000000000000 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] 2208000000000000 0000000000000000 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] 2208000000000000 0000000000000000 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] 2208000000000000 0000000000000000 ==> 2209400000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] a208000000000000 0000000000000000 ==> a204000000000000 0000000000000000
+dquaiq (RMC= 1, TE=-16) [QI] a208000000000000 0000000000000000 ==> a204000000000000 0000000000000000
+dquaiq (RMC= 2, TE=-16) [QI] a208000000000000 0000000000000000 ==> a204000000000000 0000000000000000
+dquaiq (RMC= 3, TE=-16) [QI] a208000000000000 0000000000000000 ==> a204000000000000 0000000000000000
+dquaiq (RMC= 0, TE= -2) [QI] a208000000000000 0000000000000000 ==> a207800000000000 0000000000000000
+dquaiq (RMC= 1, TE= -2) [QI] a208000000000000 0000000000000000 ==> a207800000000000 0000000000000000
+dquaiq (RMC= 2, TE= -2) [QI] a208000000000000 0000000000000000 ==> a207800000000000 0000000000000000
+dquaiq (RMC= 3, TE= -2) [QI] a208000000000000 0000000000000000 ==> a207800000000000 0000000000000000
+dquaiq (RMC= 0, TE=  0) [QI] a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  0) [QI] a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  0) [QI] a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  0) [QI] a208000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  5) [QI] a208000000000000 0000000000000000 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] a208000000000000 0000000000000000 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] a208000000000000 0000000000000000 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] a208000000000000 0000000000000000 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] a248000000000000 0000000000000000 ==> a204000000000000 0000000000000000
+dquaiq (RMC= 1, TE=-16) [QI] a248000000000000 0000000000000000 ==> a204000000000000 0000000000000000
+dquaiq (RMC= 2, TE=-16) [QI] a248000000000000 0000000000000000 ==> a204000000000000 0000000000000000
+dquaiq (RMC= 3, TE=-16) [QI] a248000000000000 0000000000000000 ==> a204000000000000 0000000000000000
+dquaiq (RMC= 0, TE= -2) [QI] a248000000000000 0000000000000000 ==> a207800000000000 0000000000000000
+dquaiq (RMC= 1, TE= -2) [QI] a248000000000000 0000000000000000 ==> a207800000000000 0000000000000000
+dquaiq (RMC= 2, TE= -2) [QI] a248000000000000 0000000000000000 ==> a207800000000000 0000000000000000
+dquaiq (RMC= 3, TE= -2) [QI] a248000000000000 0000000000000000 ==> a207800000000000 0000000000000000
+dquaiq (RMC= 0, TE=  0) [QI] a248000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  0) [QI] a248000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  0) [QI] a248000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  0) [QI] a248000000000000 0000000000000000 ==> a208000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  5) [QI] a248000000000000 0000000000000000 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] a248000000000000 0000000000000000 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] a248000000000000 0000000000000000 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] a248000000000000 0000000000000000 ==> a209400000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=-16) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=-16) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=-16) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE= -2) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE= -2) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE= -2) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE= -2) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  0) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  0) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  0) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  0) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  5) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] 7c00000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 1, TE=-16) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 2, TE=-16) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 3, TE=-16) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 0, TE= -2) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 1, TE= -2) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 2, TE= -2) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 3, TE= -2) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 0, TE=  0) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 1, TE=  0) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 2, TE=  0) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 3, TE=  0) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 0, TE=  5) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 1, TE=  5) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 2, TE=  5) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 3, TE=  5) [QI] fc00000000000000 c00100035b007700 ==> fc00000000000000 c00100035b007700
+dquaiq (RMC= 0, TE=-16) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 1, TE=-16) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 2, TE=-16) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 3, TE=-16) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 0, TE= -2) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 1, TE= -2) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 2, TE= -2) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 3, TE= -2) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 0, TE=  0) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 1, TE=  0) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 2, TE=  0) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 3, TE=  0) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 0, TE=  5) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 1, TE=  5) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 2, TE=  5) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 3, TE=  5) [QI] 7e00000000000000 fe000000d0e0a0d0 ==> 7c00000000000000 fe000000d0e0a0d0
+dquaiq (RMC= 0, TE=-16) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=-16) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=-16) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=-16) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE= -2) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE= -2) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE= -2) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE= -2) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  0) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  0) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  0) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  0) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  5) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] 7800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=-16) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=-16) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=-16) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE= -2) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE= -2) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE= -2) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE= -2) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  0) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  0) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  0) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  0) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  5) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] f800000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE=-16) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=-16) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=-16) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=-16) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE= -2) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE= -2) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE= -2) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE= -2) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  0) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  0) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  0) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  0) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 0, TE=  5) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 1, TE=  5) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 2, TE=  5) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+dquaiq (RMC= 3, TE=  5) [QI] f900000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+
diff --git a/none/tests/ppc32/test_dfp3.vgtest b/none/tests/ppc32/test_dfp3.vgtest
new file mode 100644
index 0000000..39168a3
--- /dev/null
+++ b/none/tests/ppc32/test_dfp3.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/check_dfp_cap
+prog: test_dfp3
diff --git a/none/tests/ppc32/test_dfp4.c b/none/tests/ppc32/test_dfp4.c
new file mode 100644
index 0000000..7cd8721
--- /dev/null
+++ b/none/tests/ppc32/test_dfp4.c
@@ -0,0 +1,626 @@
+/*  Copyright (C) 2012 IBM
+
+ Author: Maynard Johnson <maynardj@us.ibm.com>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#if defined(HAS_DFP)
+
+typedef union stuff {
+   _Decimal64  dec_val;
+   _Decimal128  dec_val128;
+   unsigned long long u64_val;
+   struct {
+      unsigned long long valu;
+      unsigned long long vall;
+   } u128;
+} dfp_val_t;
+
+
+typedef unsigned char Bool;
+#define True 1
+#define False 0
+
+
+#define ALLCR "cr0","cr1","cr2","cr3","cr4","cr5","cr6","cr7"
+
+#define SET_CR(_arg) \
+      __asm__ __volatile__ ("mtcr  %0" : : "b"(_arg) : ALLCR );
+
+#define SET_XER(_arg) \
+      __asm__ __volatile__ ("mtxer %0" : : "b"(_arg) : "xer" );
+
+#define GET_CR(_lval) \
+      __asm__ __volatile__ ("mfcr %0"  : "=b"(_lval) )
+
+#define GET_XER(_lval) \
+      __asm__ __volatile__ ("mfxer %0" : "=b"(_lval) )
+
+#define GET_CR_XER(_lval_cr,_lval_xer) \
+   do { GET_CR(_lval_cr); GET_XER(_lval_xer); } while (0)
+
+#define SET_CR_ZERO \
+      SET_CR(0)
+
+#define SET_XER_ZERO \
+      SET_XER(0)
+
+#define SET_CR_XER_ZERO \
+   do { SET_CR_ZERO; SET_XER_ZERO; } while (0)
+
+#define SET_FPSCR_ZERO \
+   do { double _d = 0.0; \
+        __asm__ __volatile__ ("mtfsf 0xFF, %0" : : "f"(_d) ); \
+   } while (0)
+
+#define GET_FPSCR(_arg) \
+    __asm__ __volatile__ ("mffs %0"  : "=f"(_arg) )
+
+#define SET_FPSCR_DRN \
+    __asm__ __volatile__ ("mtfsf  1, %0, 0, 1" :  : "f"(f14) )
+
+
+// The assembly-level instructions being tested
+
+/* In _test_dtstdc[q], DCM can be one of 6 possible data classes, numbered 0-5.
+ * In reality, DCM is a 6-bit mask field.  We just test the individual values
+ * and assume that masking multiple values would work OK.
+ * BF is the condition register bit field which can range from 0-7.  But for
+ * testing purposes, we only use BF values of '0' and '5'.
+ */
+static void _test_dtstdc(int BF, int DCM, dfp_val_t val1, dfp_val_t x1 __attribute__((unused)))
+{
+   _Decimal64 f14 = val1.dec_val;
+   if (DCM < 0 || DCM > 5 || !(BF == 0 || BF == 5)) {
+      fprintf(stderr, "Invalid inputs to asm test: a=%d, b=%d\n", BF, DCM);
+      return;
+   }
+   switch (DCM) {
+      case 0:
+         if (BF)
+            __asm__ __volatile__ ("dtstdc 5, %0, 1" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdc 0, %0, 1" : : "f" (f14));
+         break;
+      case 1:
+         if (BF)
+            __asm__ __volatile__ ("dtstdc 5, %0, 2" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdc 0, %0, 2" : : "f" (f14));
+         break;
+      case 2:
+         if (BF)
+            __asm__ __volatile__ ("dtstdc 5, %0, 4" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdc 0, %0, 4" : : "f" (f14));
+         break;
+      case 3:
+         if (BF)
+            __asm__ __volatile__ ("dtstdc 5, %0, 8" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdc 0, %0, 8" : : "f" (f14));
+         break;
+      case 4:
+         if (BF)
+            __asm__ __volatile__ ("dtstdc 5, %0, 16" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdc 0, %0, 16" : : "f" (f14));
+         break;
+      case 5:
+         if (BF)
+            __asm__ __volatile__ ("dtstdc 5, %0, 32" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdc 0, %0, 32" : : "f" (f14));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_dtstdcq(int BF, int DCM, dfp_val_t val1, dfp_val_t x1 __attribute__((unused)))
+{
+   _Decimal128 f14 = val1.dec_val128;
+   if (DCM < 0 || DCM > 5 || !(BF == 0 || BF == 5)) {
+      fprintf(stderr, "Invalid inputs to asm test: a=%d, b=%d\n", BF, DCM);
+      return;
+   }
+   switch (DCM) {
+      case 0:
+         if (BF)
+            __asm__ __volatile__ ("dtstdcq 5, %0, 1" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdcq 0, %0, 1" : : "f" (f14));
+         break;
+      case 1:
+         if (BF)
+            __asm__ __volatile__ ("dtstdcq 5, %0, 2" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdcq 0, %0, 2" : : "f" (f14));
+         break;
+      case 2:
+         if (BF)
+            __asm__ __volatile__ ("dtstdcq 5, %0, 4" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdcq 0, %0, 4" : : "f" (f14));
+         break;
+      case 3:
+         if (BF)
+            __asm__ __volatile__ ("dtstdcq 5, %0, 8" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdcq 0, %0, 8" : : "f" (f14));
+         break;
+      case 4:
+         if (BF)
+            __asm__ __volatile__ ("dtstdcq 5, %0, 16" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdcq 0, %0, 16" : : "f" (f14));
+         break;
+      case 5:
+         if (BF)
+            __asm__ __volatile__ ("dtstdcq 5, %0, 32" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdcq 0, %0, 32" : : "f" (f14));
+         break;
+      default:
+         break;
+   }
+}
+
+/* In _test_dtstdg[q], DGM can be one of 6 possible data groups, numbered 0-5.
+ * In reality, DGM is a 6-bit mask field.  We just test the individual values
+ * and assume that masking multiple values would work OK.
+ * BF is the condition register bit field which can range from 0-7.  But for
+ * testing purposes, we only use BF values of '0' and '5'.
+ */
+static void _test_dtstdg(int BF, int DGM, dfp_val_t val1, dfp_val_t x1 __attribute__((unused)))
+{
+   _Decimal64 f14 = val1.dec_val;
+   if (DGM < 0 || DGM > 5 || !(BF == 0 || BF == 5)) {
+      fprintf(stderr, "Invalid inputs to asm test: a=%d, b=%d\n", BF, DGM);
+      return;
+   }
+   switch (DGM) {
+      case 0:
+         if (BF)
+            __asm__ __volatile__ ("dtstdg 5, %0, 1" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdg 0, %0, 1" : : "f" (f14));
+         break;
+      case 1:
+         if (BF)
+            __asm__ __volatile__ ("dtstdg 5, %0, 2" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdg 0, %0, 2" : : "f" (f14));
+         break;
+      case 2:
+         if (BF)
+            __asm__ __volatile__ ("dtstdg 5, %0, 4" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdg 0, %0, 4" : : "f" (f14));
+         break;
+      case 3:
+         if (BF)
+            __asm__ __volatile__ ("dtstdg 5, %0, 8" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdg 0, %0, 8" : : "f" (f14));
+         break;
+      case 4:
+         if (BF)
+            __asm__ __volatile__ ("dtstdg 5, %0, 16" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdg 0, %0, 16" : : "f" (f14));
+         break;
+      case 5:
+         if (BF)
+            __asm__ __volatile__ ("dtstdg 5, %0, 32" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdg 0, %0, 32" : : "f" (f14));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_dtstdgq(int BF, int DGM, dfp_val_t val1, dfp_val_t x1 __attribute__((unused)))
+{
+   _Decimal128 f14 = val1.dec_val128;
+   if (DGM < 0 || DGM > 5 || !(BF == 0 || BF == 5)) {
+      fprintf(stderr, "Invalid inputs to asm test: a=%d, b=%d\n", BF, DGM);
+      return;
+   }
+   switch (DGM) {
+      case 0:
+         if (BF)
+            __asm__ __volatile__ ("dtstdgq 5, %0, 1" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdgq 0, %0, 1" : : "f" (f14));
+         break;
+      case 1:
+         if (BF)
+            __asm__ __volatile__ ("dtstdgq 5, %0, 2" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdgq 0, %0, 2" : : "f" (f14));
+         break;
+      case 2:
+         if (BF)
+            __asm__ __volatile__ ("dtstdgq 5, %0, 4" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdgq 0, %0, 4" : : "f" (f14));
+         break;
+      case 3:
+         if (BF)
+            __asm__ __volatile__ ("dtstdgq 5, %0, 8" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdgq 0, %0, 8" : : "f" (f14));
+         break;
+      case 4:
+         if (BF)
+            __asm__ __volatile__ ("dtstdgq 5, %0, 16" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdgq 0, %0, 16" : : "f" (f14));
+         break;
+      case 5:
+         if (BF)
+            __asm__ __volatile__ ("dtstdgq 5, %0, 32" : : "f" (f14));
+         else
+            __asm__ __volatile__ ("dtstdgq 0, %0, 32" : : "f" (f14));
+         break;
+      default:
+         break;
+   }
+}
+
+/* In _test_dtstex[q], BF is the condition register bit field indicating the
+ * CR field in which the result of the test should be placed.  BF can range
+ * from 0-7, but for testing purposes, we only use BF values of '4' and '7'.
+ */
+static void
+_test_dtstex(int BF, int x __attribute__((unused)), dfp_val_t val1, dfp_val_t val2)
+{
+   _Decimal64 f14 = val1.dec_val;
+   _Decimal64 f16 = val2.dec_val;
+   if (!(BF == 4 || BF == 7)) {
+      fprintf(stderr, "Invalid input to asm test: a=%d\n", BF);
+      return;
+   }
+   switch (BF) {
+      case 4:
+         __asm__ __volatile__ ("dtstex  4, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 7:
+         __asm__ __volatile__ ("dtstex  7, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+static void _test_dtstexq(int BF, int x __attribute__((unused)), dfp_val_t val1, dfp_val_t val2)
+{
+   _Decimal128 f14 = val1.dec_val128;
+   _Decimal128 f16 = val2.dec_val128;
+   if (!(BF == 4 || BF == 7)) {
+      fprintf(stderr, "Invalid input to asm test: a=%d\n", BF);
+      return;
+   }
+   switch (BF) {
+      case 4:
+         __asm__ __volatile__ ("dtstexq  4, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      case 7:
+         __asm__ __volatile__ ("dtstexq  7, %0, %1" :  : "f" (f14),"f" (f16));
+         break;
+      default:
+         break;
+   }
+}
+
+
+
+typedef void (*test_func_t)(int a, int b,  dfp_val_t val1,  dfp_val_t val2);
+typedef void (*test_driver_func_t)(void);
+typedef struct test_table
+{
+   test_driver_func_t test_category;
+   char * name;
+} test_table_t;
+
+/*
+ *  345.0DD (0x2207c00000000000 0xe50)
+ *  1.2300e+5DD (0x2207c00000000000 0x14c000)
+ *  -16.0DD (0xa207c00000000000 0xe0)
+ *  0.00189DD (0x2206c00000000000 0xcf)
+ *  -4.1235DD (0xa205c00000000000 0x10a395bcf)
+ *  9.8399e+20DD (0x2209400000000000 0x253f1f534acdd4)
+ *  0DD (0x2208000000000000 0x0)
+ *  0DD (0x2208000000000000 0x0)
+ *  infDD (0x7800000000000000 0x0)
+ *  nanDD (0x7c00000000000000 0x0
+ */
+static unsigned long long dfp128_vals[] = {
+                                    // Some finite numbers
+                                    0x2207c00000000000ULL, 0x0000000000000e50ULL,
+                                    0x2207c00000000000ULL, 0x000000000014c000ULL,
+                                    0xa207c00000000000ULL, 0x00000000000000e0ULL,
+                                    0x2206c00000000000ULL, 0x00000000000000cfULL,
+                                    0xa205c00000000000ULL, 0x000000010a395bcfULL,
+                                    0x6209400000fd0000ULL, 0x00253f1f534acdd4ULL, // huge number
+                                    0x000400000089b000ULL, 0x0a6000d000000049ULL, // very small number
+                                    // flavors of zero
+                                    0x2208000000000000ULL, 0x0000000000000000ULL,
+                                    0xa208000000000000ULL, 0x0000000000000000ULL, // negative
+                                    0xa248000000000000ULL, 0x0000000000000000ULL,
+                                    // flavors of NAN
+                                    0x7c00000000000000ULL, 0x0000000000000000ULL, // quiet
+                                    0xfc00000000000000ULL, 0xc00100035b007700ULL,
+                                    0x7e00000000000000ULL, 0xfe000000d0e0a0d0ULL, // signaling
+                                    // flavors of Infinity
+                                    0x7800000000000000ULL, 0x0000000000000000ULL,
+                                    0xf800000000000000ULL, 0x0000000000000000ULL, // negative
+                                    0xf900000000000000ULL, 0x0000000000000000ULL
+};
+
+static unsigned long long dfp64_vals[] = {
+                                 // various finite numbers
+                                 0x2234000000000e50ULL,
+                                 0x223400000014c000ULL,
+                                 0xa2340000000000e0ULL,// negative
+                                 0x22240000000000cfULL,
+                                 0xa21400010a395bcfULL,// negative
+                                 0x6e4d3f1f534acdd4ULL,// huge number
+                                 0x000400000089b000ULL,// very small number
+                                 // flavors of zero
+                                 0x2238000000000000ULL,
+                                 0xa238000000000000ULL,
+                                 0x4248000000000000ULL,
+                                 // flavors of NAN
+                                 0x7e34000000000111ULL,
+                                 0xfe000000d0e0a0d0ULL,//signaling
+                                 0xfc00000000000000ULL,//quiet
+                                 // flavors of Infinity
+                                 0x7800000000000000ULL,
+                                 0xf800000000000000ULL,//negative
+                                 0x7a34000000000000ULL,
+};
+
+// Both Long and Quad arrays of DFP values should have the same length, so it
+// doesn't matter which array I use for calculating the following #define.
+#define NUM_DFP_VALS (sizeof(dfp64_vals)/8)
+
+typedef struct dfp_test_args {
+   int fra_idx;
+   int frb_idx;
+} dfp_test_args_t;
+
+
+// Index pairs from dfp64_vals array to be used with dfp_two_arg_tests
+static dfp_test_args_t dfp_2args_x1[] = {
+                                    {0, 1},
+                                    {2, 1},
+                                    {4, 3},
+                                    {6, 0},
+                                    {2, 4},
+                                    {5, 1},
+                                    {5, 2},
+                                    {7, 1},
+                                    {7, 2},
+                                    {8, 0},
+                                    {8, 1},
+                                    {8, 2},
+                                    {7, 8},
+                                    {12, 14},
+                                    {12, 1},
+                                    {12, 13},
+                                    {12, 12},
+                                    {12, 11},
+                                    {11, 14},
+                                    {11, 0},
+                                    {11, 13},
+                                    {11, 11},
+                                    {14, 14},
+                                    {14, 3},
+                                    {14, 15},
+};
+
+typedef enum {
+   LONG_TEST,
+   QUAD_TEST
+} precision_type_t;
+
+typedef struct dfp_test
+{
+   test_func_t test_func;
+   const char * name;
+   dfp_test_args_t * targs;
+   int num_tests;
+   precision_type_t precision;
+   const char * op;
+} dfp_test_t;
+
+typedef struct dfp_one_arg_test
+{
+   test_func_t test_func;
+   const char * name;
+   precision_type_t precision;
+   const char * op;
+} dfp_one_arg_test_t;
+
+
+
+static dfp_one_arg_test_t
+dfp_ClassAndGroupTest_tests[] = {
+                                 { &_test_dtstdc,  "dtstdc", LONG_TEST, "[tCls]"},
+                                 { &_test_dtstdcq, "dtstdcq", QUAD_TEST, "[tCls]"},
+                                 { &_test_dtstdg,  "dtstdg", LONG_TEST, "[tGrp]"},
+                                 { &_test_dtstdgq, "dtstdgq", QUAD_TEST, "[tGrp]"},
+                                 { NULL, NULL, 0, NULL}
+};
+
+static void test_dfp_ClassAndGroupTest_ops(void)
+{
+   test_func_t func;
+   dfp_val_t test_val, dummy;
+
+   int k = 0;
+
+   while ((func = dfp_ClassAndGroupTest_tests[k].test_func)) {
+      int i;
+      dfp_one_arg_test_t test_def = dfp_ClassAndGroupTest_tests[k];
+
+      for (i = 0; i < NUM_DFP_VALS; i++) {
+         int data_class_OR_group, BF = 0;
+         Bool repeat = True;
+
+         if (test_def.precision == LONG_TEST) {
+            test_val.u64_val = dfp64_vals[i];
+         } else {
+            test_val.u128.valu = dfp128_vals[i * 2];
+            test_val.u64_val = test_val.u128.valu;
+            test_val.u128.vall = dfp128_vals[(i * 2) + 1];
+         }
+
+again:
+         for (data_class_OR_group = 0; data_class_OR_group < 6; data_class_OR_group++) {
+            unsigned int condreg;
+            unsigned int flags;
+            SET_FPSCR_ZERO;
+            SET_CR_XER_ZERO;
+            (*func)(BF, data_class_OR_group, test_val, dummy);
+            GET_CR(flags);
+
+            condreg = ((flags >> (4 * (7-BF)))) & 0xf;
+            printf("%s (DC/DG=%d) %s%016llx", test_def.name, data_class_OR_group,
+                   test_def.op, test_val.u64_val);
+            if (test_def.precision == QUAD_TEST) {
+               printf(" %016llx", test_val.u128.vall);
+            }
+            printf(" => %x (BF=%d)\n", condreg, BF);
+         }
+         if (repeat) {
+            repeat = False;
+            BF = 5;
+            goto again;
+         }
+      }
+      k++;
+      printf( "\n" );
+   }
+}
+
+
+static dfp_test_t
+dfp_ExpTest_tests[] = {
+                   { &_test_dtstex, "dtstex", dfp_2args_x1, 25, LONG_TEST, "[tExp]"},
+                   { &_test_dtstexq, "dtstexq", dfp_2args_x1, 25, QUAD_TEST, "[tExp]"},
+                   { NULL, NULL, NULL, 0, 0, NULL}
+};
+
+
+static void test_dfp_ExpTest_ops(void)
+{
+   dfp_val_t test_val1, test_val2;
+   test_func_t func;
+   int k = 0;
+
+   while ((func = dfp_ExpTest_tests[k].test_func)) {
+      /* BF is a 3-bit instruction field that indicates the CR field in which the
+       * result of the test should be placed.  We won't iterate through all
+       * 8 possible BF values since storing compare results to a given field is
+       * a well-tested mechanism in VEX.  But we will test two BF values, just as
+       * a sniff-test.
+       */
+      int i, repeat = 1, BF = 4;
+      dfp_test_t test_def = dfp_ExpTest_tests[k];
+
+again:
+      for (i = 0; i < test_def.num_tests; i++) {
+         unsigned int condreg;
+         unsigned int flags;
+
+         if (test_def.precision == LONG_TEST) {
+            test_val1.u64_val = dfp64_vals[test_def.targs[i].fra_idx];
+            test_val2.u64_val  = dfp64_vals[test_def.targs[i].frb_idx];
+         } else {
+            test_val1.u128.valu = dfp128_vals[test_def.targs[i].fra_idx * 2];
+            test_val1.u64_val = test_val1.u128.valu;
+            test_val1.u128.vall = dfp128_vals[(test_def.targs[i].fra_idx * 2) + 1];
+            test_val2.u128.valu = dfp128_vals[test_def.targs[i].frb_idx * 2];
+            test_val2.u64_val = test_val2.u128.valu;
+            test_val2.u128.vall = dfp128_vals[(test_def.targs[i].frb_idx * 2) + 1];
+         }
+
+         SET_FPSCR_ZERO;
+         SET_CR_XER_ZERO;
+         (*func)(BF, 0, test_val1, test_val2);
+         GET_CR(flags);
+
+         condreg = ((flags >> (4 * (7-BF)))) & 0xf;
+         printf("%s %016llx", test_def.name, test_val1.u64_val);
+         if (test_def.precision == LONG_TEST) {
+            printf(" %s %016llx ",
+                   test_def.op, test_val2.u64_val);
+         } else {
+            printf(" %016llx %s %016llx %016llx ",
+                   test_val1.u128.vall, test_def.op, test_val2.u128.valu, test_val2.u128.vall);
+         }
+         printf(" => %x (BF=%d)\n", condreg, BF);
+      }
+      if (repeat) {
+         repeat = 0;
+         BF = 7;
+         goto again;
+      }
+      k++;
+      printf( "\n" );
+   }
+}
+
+
+static test_table_t
+         all_tests[] =
+{
+                    { &test_dfp_ExpTest_ops,
+                      "Test DFP exponent test instructions"},
+                    { &test_dfp_ClassAndGroupTest_ops,
+                      "Test DFP class and group test instructions"},
+                    { NULL, NULL }
+};
+#endif // HAS_DFP
+
+int main() {
+#if defined(HAS_DFP)
+
+   test_table_t aTest;
+   test_driver_func_t func;
+   int i = 0;
+
+   while ((func = all_tests[i].test_category)) {
+      aTest = all_tests[i];
+      printf( "%s\n", aTest.name );
+      (*func)();
+      i++;
+   }
+
+#endif // HAS_DFP
+   return 0;
+}
diff --git a/none/tests/ppc32/test_dfp4.stderr.exp b/none/tests/ppc32/test_dfp4.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/ppc32/test_dfp4.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/ppc32/test_dfp4.stdout.exp b/none/tests/ppc32/test_dfp4.stdout.exp
new file mode 100644
index 0000000..253b2a5
--- /dev/null
+++ b/none/tests/ppc32/test_dfp4.stdout.exp
@@ -0,0 +1,876 @@
+Test DFP exponent test instructions
+dtstex 2234000000000e50 [tExp] 223400000014c000  => 2 (BF=4)
+dtstex a2340000000000e0 [tExp] 223400000014c000  => 2 (BF=4)
+dtstex a21400010a395bcf [tExp] 22240000000000cf  => 8 (BF=4)
+dtstex 000400000089b000 [tExp] 2234000000000e50  => 8 (BF=4)
+dtstex a2340000000000e0 [tExp] a21400010a395bcf  => 4 (BF=4)
+dtstex 6e4d3f1f534acdd4 [tExp] 223400000014c000  => 4 (BF=4)
+dtstex 6e4d3f1f534acdd4 [tExp] a2340000000000e0  => 4 (BF=4)
+dtstex 2238000000000000 [tExp] 223400000014c000  => 4 (BF=4)
+dtstex 2238000000000000 [tExp] a2340000000000e0  => 4 (BF=4)
+dtstex a238000000000000 [tExp] 2234000000000e50  => 4 (BF=4)
+dtstex a238000000000000 [tExp] 223400000014c000  => 4 (BF=4)
+dtstex a238000000000000 [tExp] a2340000000000e0  => 4 (BF=4)
+dtstex 2238000000000000 [tExp] a238000000000000  => 2 (BF=4)
+dtstex fc00000000000000 [tExp] f800000000000000  => 1 (BF=4)
+dtstex fc00000000000000 [tExp] 223400000014c000  => 1 (BF=4)
+dtstex fc00000000000000 [tExp] 7800000000000000  => 1 (BF=4)
+dtstex fc00000000000000 [tExp] fc00000000000000  => 2 (BF=4)
+dtstex fc00000000000000 [tExp] fe000000d0e0a0d0  => 2 (BF=4)
+dtstex fe000000d0e0a0d0 [tExp] f800000000000000  => 1 (BF=4)
+dtstex fe000000d0e0a0d0 [tExp] 2234000000000e50  => 1 (BF=4)
+dtstex fe000000d0e0a0d0 [tExp] 7800000000000000  => 1 (BF=4)
+dtstex fe000000d0e0a0d0 [tExp] fe000000d0e0a0d0  => 2 (BF=4)
+dtstex f800000000000000 [tExp] f800000000000000  => 2 (BF=4)
+dtstex f800000000000000 [tExp] 22240000000000cf  => 1 (BF=4)
+dtstex f800000000000000 [tExp] 7a34000000000000  => 2 (BF=4)
+dtstex 2234000000000e50 [tExp] 223400000014c000  => 2 (BF=7)
+dtstex a2340000000000e0 [tExp] 223400000014c000  => 2 (BF=7)
+dtstex a21400010a395bcf [tExp] 22240000000000cf  => 8 (BF=7)
+dtstex 000400000089b000 [tExp] 2234000000000e50  => 8 (BF=7)
+dtstex a2340000000000e0 [tExp] a21400010a395bcf  => 4 (BF=7)
+dtstex 6e4d3f1f534acdd4 [tExp] 223400000014c000  => 4 (BF=7)
+dtstex 6e4d3f1f534acdd4 [tExp] a2340000000000e0  => 4 (BF=7)
+dtstex 2238000000000000 [tExp] 223400000014c000  => 4 (BF=7)
+dtstex 2238000000000000 [tExp] a2340000000000e0  => 4 (BF=7)
+dtstex a238000000000000 [tExp] 2234000000000e50  => 4 (BF=7)
+dtstex a238000000000000 [tExp] 223400000014c000  => 4 (BF=7)
+dtstex a238000000000000 [tExp] a2340000000000e0  => 4 (BF=7)
+dtstex 2238000000000000 [tExp] a238000000000000  => 2 (BF=7)
+dtstex fc00000000000000 [tExp] f800000000000000  => 1 (BF=7)
+dtstex fc00000000000000 [tExp] 223400000014c000  => 1 (BF=7)
+dtstex fc00000000000000 [tExp] 7800000000000000  => 1 (BF=7)
+dtstex fc00000000000000 [tExp] fc00000000000000  => 2 (BF=7)
+dtstex fc00000000000000 [tExp] fe000000d0e0a0d0  => 2 (BF=7)
+dtstex fe000000d0e0a0d0 [tExp] f800000000000000  => 1 (BF=7)
+dtstex fe000000d0e0a0d0 [tExp] 2234000000000e50  => 1 (BF=7)
+dtstex fe000000d0e0a0d0 [tExp] 7800000000000000  => 1 (BF=7)
+dtstex fe000000d0e0a0d0 [tExp] fe000000d0e0a0d0  => 2 (BF=7)
+dtstex f800000000000000 [tExp] f800000000000000  => 2 (BF=7)
+dtstex f800000000000000 [tExp] 22240000000000cf  => 1 (BF=7)
+dtstex f800000000000000 [tExp] 7a34000000000000  => 2 (BF=7)
+
+dtstexq 2207c00000000000 0000000000000e50 [tExp] 2207c00000000000 000000000014c000  => 2 (BF=4)
+dtstexq a207c00000000000 00000000000000e0 [tExp] 2207c00000000000 000000000014c000  => 2 (BF=4)
+dtstexq a205c00000000000 000000010a395bcf [tExp] 2206c00000000000 00000000000000cf  => 8 (BF=4)
+dtstexq 000400000089b000 0a6000d000000049 [tExp] 2207c00000000000 0000000000000e50  => 8 (BF=4)
+dtstexq a207c00000000000 00000000000000e0 [tExp] a205c00000000000 000000010a395bcf  => 4 (BF=4)
+dtstexq 6209400000fd0000 00253f1f534acdd4 [tExp] 2207c00000000000 000000000014c000  => 8 (BF=4)
+dtstexq 6209400000fd0000 00253f1f534acdd4 [tExp] a207c00000000000 00000000000000e0  => 8 (BF=4)
+dtstexq 2208000000000000 0000000000000000 [tExp] 2207c00000000000 000000000014c000  => 4 (BF=4)
+dtstexq 2208000000000000 0000000000000000 [tExp] a207c00000000000 00000000000000e0  => 4 (BF=4)
+dtstexq a208000000000000 0000000000000000 [tExp] 2207c00000000000 0000000000000e50  => 4 (BF=4)
+dtstexq a208000000000000 0000000000000000 [tExp] 2207c00000000000 000000000014c000  => 4 (BF=4)
+dtstexq a208000000000000 0000000000000000 [tExp] a207c00000000000 00000000000000e0  => 4 (BF=4)
+dtstexq 2208000000000000 0000000000000000 [tExp] a208000000000000 0000000000000000  => 2 (BF=4)
+dtstexq 7e00000000000000 fe000000d0e0a0d0 [tExp] f800000000000000 0000000000000000  => 1 (BF=4)
+dtstexq 7e00000000000000 fe000000d0e0a0d0 [tExp] 2207c00000000000 000000000014c000  => 1 (BF=4)
+dtstexq 7e00000000000000 fe000000d0e0a0d0 [tExp] 7800000000000000 0000000000000000  => 1 (BF=4)
+dtstexq 7e00000000000000 fe000000d0e0a0d0 [tExp] 7e00000000000000 fe000000d0e0a0d0  => 2 (BF=4)
+dtstexq 7e00000000000000 fe000000d0e0a0d0 [tExp] fc00000000000000 c00100035b007700  => 2 (BF=4)
+dtstexq fc00000000000000 c00100035b007700 [tExp] f800000000000000 0000000000000000  => 1 (BF=4)
+dtstexq fc00000000000000 c00100035b007700 [tExp] 2207c00000000000 0000000000000e50  => 1 (BF=4)
+dtstexq fc00000000000000 c00100035b007700 [tExp] 7800000000000000 0000000000000000  => 1 (BF=4)
+dtstexq fc00000000000000 c00100035b007700 [tExp] fc00000000000000 c00100035b007700  => 2 (BF=4)
+dtstexq f800000000000000 0000000000000000 [tExp] f800000000000000 0000000000000000  => 2 (BF=4)
+dtstexq f800000000000000 0000000000000000 [tExp] 2206c00000000000 00000000000000cf  => 1 (BF=4)
+dtstexq f800000000000000 0000000000000000 [tExp] f900000000000000 0000000000000000  => 2 (BF=4)
+dtstexq 2207c00000000000 0000000000000e50 [tExp] 2207c00000000000 000000000014c000  => 2 (BF=7)
+dtstexq a207c00000000000 00000000000000e0 [tExp] 2207c00000000000 000000000014c000  => 2 (BF=7)
+dtstexq a205c00000000000 000000010a395bcf [tExp] 2206c00000000000 00000000000000cf  => 8 (BF=7)
+dtstexq 000400000089b000 0a6000d000000049 [tExp] 2207c00000000000 0000000000000e50  => 8 (BF=7)
+dtstexq a207c00000000000 00000000000000e0 [tExp] a205c00000000000 000000010a395bcf  => 4 (BF=7)
+dtstexq 6209400000fd0000 00253f1f534acdd4 [tExp] 2207c00000000000 000000000014c000  => 8 (BF=7)
+dtstexq 6209400000fd0000 00253f1f534acdd4 [tExp] a207c00000000000 00000000000000e0  => 8 (BF=7)
+dtstexq 2208000000000000 0000000000000000 [tExp] 2207c00000000000 000000000014c000  => 4 (BF=7)
+dtstexq 2208000000000000 0000000000000000 [tExp] a207c00000000000 00000000000000e0  => 4 (BF=7)
+dtstexq a208000000000000 0000000000000000 [tExp] 2207c00000000000 0000000000000e50  => 4 (BF=7)
+dtstexq a208000000000000 0000000000000000 [tExp] 2207c00000000000 000000000014c000  => 4 (BF=7)
+dtstexq a208000000000000 0000000000000000 [tExp] a207c00000000000 00000000000000e0  => 4 (BF=7)
+dtstexq 2208000000000000 0000000000000000 [tExp] a208000000000000 0000000000000000  => 2 (BF=7)
+dtstexq 7e00000000000000 fe000000d0e0a0d0 [tExp] f800000000000000 0000000000000000  => 1 (BF=7)
+dtstexq 7e00000000000000 fe000000d0e0a0d0 [tExp] 2207c00000000000 000000000014c000  => 1 (BF=7)
+dtstexq 7e00000000000000 fe000000d0e0a0d0 [tExp] 7800000000000000 0000000000000000  => 1 (BF=7)
+dtstexq 7e00000000000000 fe000000d0e0a0d0 [tExp] 7e00000000000000 fe000000d0e0a0d0  => 2 (BF=7)
+dtstexq 7e00000000000000 fe000000d0e0a0d0 [tExp] fc00000000000000 c00100035b007700  => 2 (BF=7)
+dtstexq fc00000000000000 c00100035b007700 [tExp] f800000000000000 0000000000000000  => 1 (BF=7)
+dtstexq fc00000000000000 c00100035b007700 [tExp] 2207c00000000000 0000000000000e50  => 1 (BF=7)
+dtstexq fc00000000000000 c00100035b007700 [tExp] 7800000000000000 0000000000000000  => 1 (BF=7)
+dtstexq fc00000000000000 c00100035b007700 [tExp] fc00000000000000 c00100035b007700  => 2 (BF=7)
+dtstexq f800000000000000 0000000000000000 [tExp] f800000000000000 0000000000000000  => 2 (BF=7)
+dtstexq f800000000000000 0000000000000000 [tExp] 2206c00000000000 00000000000000cf  => 1 (BF=7)
+dtstexq f800000000000000 0000000000000000 [tExp] f900000000000000 0000000000000000  => 2 (BF=7)
+
+Test DFP class and group test instructions
+dtstdc (DC/DG=0) [tCls]2234000000000e50 => 0 (BF=0)
+dtstdc (DC/DG=1) [tCls]2234000000000e50 => 0 (BF=0)
+dtstdc (DC/DG=2) [tCls]2234000000000e50 => 0 (BF=0)
+dtstdc (DC/DG=3) [tCls]2234000000000e50 => 2 (BF=0)
+dtstdc (DC/DG=4) [tCls]2234000000000e50 => 0 (BF=0)
+dtstdc (DC/DG=5) [tCls]2234000000000e50 => 0 (BF=0)
+dtstdc (DC/DG=0) [tCls]2234000000000e50 => 0 (BF=5)
+dtstdc (DC/DG=1) [tCls]2234000000000e50 => 0 (BF=5)
+dtstdc (DC/DG=2) [tCls]2234000000000e50 => 0 (BF=5)
+dtstdc (DC/DG=3) [tCls]2234000000000e50 => 2 (BF=5)
+dtstdc (DC/DG=4) [tCls]2234000000000e50 => 0 (BF=5)
+dtstdc (DC/DG=5) [tCls]2234000000000e50 => 0 (BF=5)
+dtstdc (DC/DG=0) [tCls]223400000014c000 => 0 (BF=0)
+dtstdc (DC/DG=1) [tCls]223400000014c000 => 0 (BF=0)
+dtstdc (DC/DG=2) [tCls]223400000014c000 => 0 (BF=0)
+dtstdc (DC/DG=3) [tCls]223400000014c000 => 2 (BF=0)
+dtstdc (DC/DG=4) [tCls]223400000014c000 => 0 (BF=0)
+dtstdc (DC/DG=5) [tCls]223400000014c000 => 0 (BF=0)
+dtstdc (DC/DG=0) [tCls]223400000014c000 => 0 (BF=5)
+dtstdc (DC/DG=1) [tCls]223400000014c000 => 0 (BF=5)
+dtstdc (DC/DG=2) [tCls]223400000014c000 => 0 (BF=5)
+dtstdc (DC/DG=3) [tCls]223400000014c000 => 2 (BF=5)
+dtstdc (DC/DG=4) [tCls]223400000014c000 => 0 (BF=5)
+dtstdc (DC/DG=5) [tCls]223400000014c000 => 0 (BF=5)
+dtstdc (DC/DG=0) [tCls]a2340000000000e0 => 8 (BF=0)
+dtstdc (DC/DG=1) [tCls]a2340000000000e0 => 8 (BF=0)
+dtstdc (DC/DG=2) [tCls]a2340000000000e0 => 8 (BF=0)
+dtstdc (DC/DG=3) [tCls]a2340000000000e0 => a (BF=0)
+dtstdc (DC/DG=4) [tCls]a2340000000000e0 => 8 (BF=0)
+dtstdc (DC/DG=5) [tCls]a2340000000000e0 => 8 (BF=0)
+dtstdc (DC/DG=0) [tCls]a2340000000000e0 => 8 (BF=5)
+dtstdc (DC/DG=1) [tCls]a2340000000000e0 => 8 (BF=5)
+dtstdc (DC/DG=2) [tCls]a2340000000000e0 => 8 (BF=5)
+dtstdc (DC/DG=3) [tCls]a2340000000000e0 => a (BF=5)
+dtstdc (DC/DG=4) [tCls]a2340000000000e0 => 8 (BF=5)
+dtstdc (DC/DG=5) [tCls]a2340000000000e0 => 8 (BF=5)
+dtstdc (DC/DG=0) [tCls]22240000000000cf => 0 (BF=0)
+dtstdc (DC/DG=1) [tCls]22240000000000cf => 0 (BF=0)
+dtstdc (DC/DG=2) [tCls]22240000000000cf => 0 (BF=0)
+dtstdc (DC/DG=3) [tCls]22240000000000cf => 2 (BF=0)
+dtstdc (DC/DG=4) [tCls]22240000000000cf => 0 (BF=0)
+dtstdc (DC/DG=5) [tCls]22240000000000cf => 0 (BF=0)
+dtstdc (DC/DG=0) [tCls]22240000000000cf => 0 (BF=5)
+dtstdc (DC/DG=1) [tCls]22240000000000cf => 0 (BF=5)
+dtstdc (DC/DG=2) [tCls]22240000000000cf => 0 (BF=5)
+dtstdc (DC/DG=3) [tCls]22240000000000cf => 2 (BF=5)
+dtstdc (DC/DG=4) [tCls]22240000000000cf => 0 (BF=5)
+dtstdc (DC/DG=5) [tCls]22240000000000cf => 0 (BF=5)
+dtstdc (DC/DG=0) [tCls]a21400010a395bcf => 8 (BF=0)
+dtstdc (DC/DG=1) [tCls]a21400010a395bcf => 8 (BF=0)
+dtstdc (DC/DG=2) [tCls]a21400010a395bcf => 8 (BF=0)
+dtstdc (DC/DG=3) [tCls]a21400010a395bcf => a (BF=0)
+dtstdc (DC/DG=4) [tCls]a21400010a395bcf => 8 (BF=0)
+dtstdc (DC/DG=5) [tCls]a21400010a395bcf => 8 (BF=0)
+dtstdc (DC/DG=0) [tCls]a21400010a395bcf => 8 (BF=5)
+dtstdc (DC/DG=1) [tCls]a21400010a395bcf => 8 (BF=5)
+dtstdc (DC/DG=2) [tCls]a21400010a395bcf => 8 (BF=5)
+dtstdc (DC/DG=3) [tCls]a21400010a395bcf => a (BF=5)
+dtstdc (DC/DG=4) [tCls]a21400010a395bcf => 8 (BF=5)
+dtstdc (DC/DG=5) [tCls]a21400010a395bcf => 8 (BF=5)
+dtstdc (DC/DG=0) [tCls]6e4d3f1f534acdd4 => 0 (BF=0)
+dtstdc (DC/DG=1) [tCls]6e4d3f1f534acdd4 => 0 (BF=0)
+dtstdc (DC/DG=2) [tCls]6e4d3f1f534acdd4 => 0 (BF=0)
+dtstdc (DC/DG=3) [tCls]6e4d3f1f534acdd4 => 2 (BF=0)
+dtstdc (DC/DG=4) [tCls]6e4d3f1f534acdd4 => 0 (BF=0)
+dtstdc (DC/DG=5) [tCls]6e4d3f1f534acdd4 => 0 (BF=0)
+dtstdc (DC/DG=0) [tCls]6e4d3f1f534acdd4 => 0 (BF=5)
+dtstdc (DC/DG=1) [tCls]6e4d3f1f534acdd4 => 0 (BF=5)
+dtstdc (DC/DG=2) [tCls]6e4d3f1f534acdd4 => 0 (BF=5)
+dtstdc (DC/DG=3) [tCls]6e4d3f1f534acdd4 => 2 (BF=5)
+dtstdc (DC/DG=4) [tCls]6e4d3f1f534acdd4 => 0 (BF=5)
+dtstdc (DC/DG=5) [tCls]6e4d3f1f534acdd4 => 0 (BF=5)
+dtstdc (DC/DG=0) [tCls]000400000089b000 => 0 (BF=0)
+dtstdc (DC/DG=1) [tCls]000400000089b000 => 0 (BF=0)
+dtstdc (DC/DG=2) [tCls]000400000089b000 => 0 (BF=0)
+dtstdc (DC/DG=3) [tCls]000400000089b000 => 0 (BF=0)
+dtstdc (DC/DG=4) [tCls]000400000089b000 => 2 (BF=0)
+dtstdc (DC/DG=5) [tCls]000400000089b000 => 0 (BF=0)
+dtstdc (DC/DG=0) [tCls]000400000089b000 => 0 (BF=5)
+dtstdc (DC/DG=1) [tCls]000400000089b000 => 0 (BF=5)
+dtstdc (DC/DG=2) [tCls]000400000089b000 => 0 (BF=5)
+dtstdc (DC/DG=3) [tCls]000400000089b000 => 0 (BF=5)
+dtstdc (DC/DG=4) [tCls]000400000089b000 => 2 (BF=5)
+dtstdc (DC/DG=5) [tCls]000400000089b000 => 0 (BF=5)
+dtstdc (DC/DG=0) [tCls]2238000000000000 => 0 (BF=0)
+dtstdc (DC/DG=1) [tCls]2238000000000000 => 0 (BF=0)
+dtstdc (DC/DG=2) [tCls]2238000000000000 => 0 (BF=0)
+dtstdc (DC/DG=3) [tCls]2238000000000000 => 0 (BF=0)
+dtstdc (DC/DG=4) [tCls]2238000000000000 => 0 (BF=0)
+dtstdc (DC/DG=5) [tCls]2238000000000000 => 2 (BF=0)
+dtstdc (DC/DG=0) [tCls]2238000000000000 => 0 (BF=5)
+dtstdc (DC/DG=1) [tCls]2238000000000000 => 0 (BF=5)
+dtstdc (DC/DG=2) [tCls]2238000000000000 => 0 (BF=5)
+dtstdc (DC/DG=3) [tCls]2238000000000000 => 0 (BF=5)
+dtstdc (DC/DG=4) [tCls]2238000000000000 => 0 (BF=5)
+dtstdc (DC/DG=5) [tCls]2238000000000000 => 2 (BF=5)
+dtstdc (DC/DG=0) [tCls]a238000000000000 => 8 (BF=0)
+dtstdc (DC/DG=1) [tCls]a238000000000000 => 8 (BF=0)
+dtstdc (DC/DG=2) [tCls]a238000000000000 => 8 (BF=0)
+dtstdc (DC/DG=3) [tCls]a238000000000000 => 8 (BF=0)
+dtstdc (DC/DG=4) [tCls]a238000000000000 => 8 (BF=0)
+dtstdc (DC/DG=5) [tCls]a238000000000000 => a (BF=0)
+dtstdc (DC/DG=0) [tCls]a238000000000000 => 8 (BF=5)
+dtstdc (DC/DG=1) [tCls]a238000000000000 => 8 (BF=5)
+dtstdc (DC/DG=2) [tCls]a238000000000000 => 8 (BF=5)
+dtstdc (DC/DG=3) [tCls]a238000000000000 => 8 (BF=5)
+dtstdc (DC/DG=4) [tCls]a238000000000000 => 8 (BF=5)
+dtstdc (DC/DG=5) [tCls]a238000000000000 => a (BF=5)
+dtstdc (DC/DG=0) [tCls]4248000000000000 => 0 (BF=0)
+dtstdc (DC/DG=1) [tCls]4248000000000000 => 0 (BF=0)
+dtstdc (DC/DG=2) [tCls]4248000000000000 => 0 (BF=0)
+dtstdc (DC/DG=3) [tCls]4248000000000000 => 0 (BF=0)
+dtstdc (DC/DG=4) [tCls]4248000000000000 => 0 (BF=0)
+dtstdc (DC/DG=5) [tCls]4248000000000000 => 2 (BF=0)
+dtstdc (DC/DG=0) [tCls]4248000000000000 => 0 (BF=5)
+dtstdc (DC/DG=1) [tCls]4248000000000000 => 0 (BF=5)
+dtstdc (DC/DG=2) [tCls]4248000000000000 => 0 (BF=5)
+dtstdc (DC/DG=3) [tCls]4248000000000000 => 0 (BF=5)
+dtstdc (DC/DG=4) [tCls]4248000000000000 => 0 (BF=5)
+dtstdc (DC/DG=5) [tCls]4248000000000000 => 2 (BF=5)
+dtstdc (DC/DG=0) [tCls]7e34000000000111 => 2 (BF=0)
+dtstdc (DC/DG=1) [tCls]7e34000000000111 => 0 (BF=0)
+dtstdc (DC/DG=2) [tCls]7e34000000000111 => 0 (BF=0)
+dtstdc (DC/DG=3) [tCls]7e34000000000111 => 0 (BF=0)
+dtstdc (DC/DG=4) [tCls]7e34000000000111 => 0 (BF=0)
+dtstdc (DC/DG=5) [tCls]7e34000000000111 => 0 (BF=0)
+dtstdc (DC/DG=0) [tCls]7e34000000000111 => 2 (BF=5)
+dtstdc (DC/DG=1) [tCls]7e34000000000111 => 0 (BF=5)
+dtstdc (DC/DG=2) [tCls]7e34000000000111 => 0 (BF=5)
+dtstdc (DC/DG=3) [tCls]7e34000000000111 => 0 (BF=5)
+dtstdc (DC/DG=4) [tCls]7e34000000000111 => 0 (BF=5)
+dtstdc (DC/DG=5) [tCls]7e34000000000111 => 0 (BF=5)
+dtstdc (DC/DG=0) [tCls]fe000000d0e0a0d0 => a (BF=0)
+dtstdc (DC/DG=1) [tCls]fe000000d0e0a0d0 => 8 (BF=0)
+dtstdc (DC/DG=2) [tCls]fe000000d0e0a0d0 => 8 (BF=0)
+dtstdc (DC/DG=3) [tCls]fe000000d0e0a0d0 => 8 (BF=0)
+dtstdc (DC/DG=4) [tCls]fe000000d0e0a0d0 => 8 (BF=0)
+dtstdc (DC/DG=5) [tCls]fe000000d0e0a0d0 => 8 (BF=0)
+dtstdc (DC/DG=0) [tCls]fe000000d0e0a0d0 => a (BF=5)
+dtstdc (DC/DG=1) [tCls]fe000000d0e0a0d0 => 8 (BF=5)
+dtstdc (DC/DG=2) [tCls]fe000000d0e0a0d0 => 8 (BF=5)
+dtstdc (DC/DG=3) [tCls]fe000000d0e0a0d0 => 8 (BF=5)
+dtstdc (DC/DG=4) [tCls]fe000000d0e0a0d0 => 8 (BF=5)
+dtstdc (DC/DG=5) [tCls]fe000000d0e0a0d0 => 8 (BF=5)
+dtstdc (DC/DG=0) [tCls]fc00000000000000 => 8 (BF=0)
+dtstdc (DC/DG=1) [tCls]fc00000000000000 => a (BF=0)
+dtstdc (DC/DG=2) [tCls]fc00000000000000 => 8 (BF=0)
+dtstdc (DC/DG=3) [tCls]fc00000000000000 => 8 (BF=0)
+dtstdc (DC/DG=4) [tCls]fc00000000000000 => 8 (BF=0)
+dtstdc (DC/DG=5) [tCls]fc00000000000000 => 8 (BF=0)
+dtstdc (DC/DG=0) [tCls]fc00000000000000 => 8 (BF=5)
+dtstdc (DC/DG=1) [tCls]fc00000000000000 => a (BF=5)
+dtstdc (DC/DG=2) [tCls]fc00000000000000 => 8 (BF=5)
+dtstdc (DC/DG=3) [tCls]fc00000000000000 => 8 (BF=5)
+dtstdc (DC/DG=4) [tCls]fc00000000000000 => 8 (BF=5)
+dtstdc (DC/DG=5) [tCls]fc00000000000000 => 8 (BF=5)
+dtstdc (DC/DG=0) [tCls]7800000000000000 => 0 (BF=0)
+dtstdc (DC/DG=1) [tCls]7800000000000000 => 0 (BF=0)
+dtstdc (DC/DG=2) [tCls]7800000000000000 => 2 (BF=0)
+dtstdc (DC/DG=3) [tCls]7800000000000000 => 0 (BF=0)
+dtstdc (DC/DG=4) [tCls]7800000000000000 => 0 (BF=0)
+dtstdc (DC/DG=5) [tCls]7800000000000000 => 0 (BF=0)
+dtstdc (DC/DG=0) [tCls]7800000000000000 => 0 (BF=5)
+dtstdc (DC/DG=1) [tCls]7800000000000000 => 0 (BF=5)
+dtstdc (DC/DG=2) [tCls]7800000000000000 => 2 (BF=5)
+dtstdc (DC/DG=3) [tCls]7800000000000000 => 0 (BF=5)
+dtstdc (DC/DG=4) [tCls]7800000000000000 => 0 (BF=5)
+dtstdc (DC/DG=5) [tCls]7800000000000000 => 0 (BF=5)
+dtstdc (DC/DG=0) [tCls]f800000000000000 => 8 (BF=0)
+dtstdc (DC/DG=1) [tCls]f800000000000000 => 8 (BF=0)
+dtstdc (DC/DG=2) [tCls]f800000000000000 => a (BF=0)
+dtstdc (DC/DG=3) [tCls]f800000000000000 => 8 (BF=0)
+dtstdc (DC/DG=4) [tCls]f800000000000000 => 8 (BF=0)
+dtstdc (DC/DG=5) [tCls]f800000000000000 => 8 (BF=0)
+dtstdc (DC/DG=0) [tCls]f800000000000000 => 8 (BF=5)
+dtstdc (DC/DG=1) [tCls]f800000000000000 => 8 (BF=5)
+dtstdc (DC/DG=2) [tCls]f800000000000000 => a (BF=5)
+dtstdc (DC/DG=3) [tCls]f800000000000000 => 8 (BF=5)
+dtstdc (DC/DG=4) [tCls]f800000000000000 => 8 (BF=5)
+dtstdc (DC/DG=5) [tCls]f800000000000000 => 8 (BF=5)
+dtstdc (DC/DG=0) [tCls]7a34000000000000 => 0 (BF=0)
+dtstdc (DC/DG=1) [tCls]7a34000000000000 => 0 (BF=0)
+dtstdc (DC/DG=2) [tCls]7a34000000000000 => 2 (BF=0)
+dtstdc (DC/DG=3) [tCls]7a34000000000000 => 0 (BF=0)
+dtstdc (DC/DG=4) [tCls]7a34000000000000 => 0 (BF=0)
+dtstdc (DC/DG=5) [tCls]7a34000000000000 => 0 (BF=0)
+dtstdc (DC/DG=0) [tCls]7a34000000000000 => 0 (BF=5)
+dtstdc (DC/DG=1) [tCls]7a34000000000000 => 0 (BF=5)
+dtstdc (DC/DG=2) [tCls]7a34000000000000 => 2 (BF=5)
+dtstdc (DC/DG=3) [tCls]7a34000000000000 => 0 (BF=5)
+dtstdc (DC/DG=4) [tCls]7a34000000000000 => 0 (BF=5)
+dtstdc (DC/DG=5) [tCls]7a34000000000000 => 0 (BF=5)
+
+dtstdcq (DC/DG=0) [tCls]2207c00000000000 0000000000000e50 => 0 (BF=0)
+dtstdcq (DC/DG=1) [tCls]2207c00000000000 0000000000000e50 => 0 (BF=0)
+dtstdcq (DC/DG=2) [tCls]2207c00000000000 0000000000000e50 => 0 (BF=0)
+dtstdcq (DC/DG=3) [tCls]2207c00000000000 0000000000000e50 => 2 (BF=0)
+dtstdcq (DC/DG=4) [tCls]2207c00000000000 0000000000000e50 => 0 (BF=0)
+dtstdcq (DC/DG=5) [tCls]2207c00000000000 0000000000000e50 => 0 (BF=0)
+dtstdcq (DC/DG=0) [tCls]2207c00000000000 0000000000000e50 => 0 (BF=5)
+dtstdcq (DC/DG=1) [tCls]2207c00000000000 0000000000000e50 => 0 (BF=5)
+dtstdcq (DC/DG=2) [tCls]2207c00000000000 0000000000000e50 => 0 (BF=5)
+dtstdcq (DC/DG=3) [tCls]2207c00000000000 0000000000000e50 => 2 (BF=5)
+dtstdcq (DC/DG=4) [tCls]2207c00000000000 0000000000000e50 => 0 (BF=5)
+dtstdcq (DC/DG=5) [tCls]2207c00000000000 0000000000000e50 => 0 (BF=5)
+dtstdcq (DC/DG=0) [tCls]2207c00000000000 000000000014c000 => 0 (BF=0)
+dtstdcq (DC/DG=1) [tCls]2207c00000000000 000000000014c000 => 0 (BF=0)
+dtstdcq (DC/DG=2) [tCls]2207c00000000000 000000000014c000 => 0 (BF=0)
+dtstdcq (DC/DG=3) [tCls]2207c00000000000 000000000014c000 => 2 (BF=0)
+dtstdcq (DC/DG=4) [tCls]2207c00000000000 000000000014c000 => 0 (BF=0)
+dtstdcq (DC/DG=5) [tCls]2207c00000000000 000000000014c000 => 0 (BF=0)
+dtstdcq (DC/DG=0) [tCls]2207c00000000000 000000000014c000 => 0 (BF=5)
+dtstdcq (DC/DG=1) [tCls]2207c00000000000 000000000014c000 => 0 (BF=5)
+dtstdcq (DC/DG=2) [tCls]2207c00000000000 000000000014c000 => 0 (BF=5)
+dtstdcq (DC/DG=3) [tCls]2207c00000000000 000000000014c000 => 2 (BF=5)
+dtstdcq (DC/DG=4) [tCls]2207c00000000000 000000000014c000 => 0 (BF=5)
+dtstdcq (DC/DG=5) [tCls]2207c00000000000 000000000014c000 => 0 (BF=5)
+dtstdcq (DC/DG=0) [tCls]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstdcq (DC/DG=1) [tCls]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstdcq (DC/DG=2) [tCls]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstdcq (DC/DG=3) [tCls]a207c00000000000 00000000000000e0 => a (BF=0)
+dtstdcq (DC/DG=4) [tCls]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstdcq (DC/DG=5) [tCls]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstdcq (DC/DG=0) [tCls]a207c00000000000 00000000000000e0 => 8 (BF=5)
+dtstdcq (DC/DG=1) [tCls]a207c00000000000 00000000000000e0 => 8 (BF=5)
+dtstdcq (DC/DG=2) [tCls]a207c00000000000 00000000000000e0 => 8 (BF=5)
+dtstdcq (DC/DG=3) [tCls]a207c00000000000 00000000000000e0 => a (BF=5)
+dtstdcq (DC/DG=4) [tCls]a207c00000000000 00000000000000e0 => 8 (BF=5)
+dtstdcq (DC/DG=5) [tCls]a207c00000000000 00000000000000e0 => 8 (BF=5)
+dtstdcq (DC/DG=0) [tCls]2206c00000000000 00000000000000cf => 0 (BF=0)
+dtstdcq (DC/DG=1) [tCls]2206c00000000000 00000000000000cf => 0 (BF=0)
+dtstdcq (DC/DG=2) [tCls]2206c00000000000 00000000000000cf => 0 (BF=0)
+dtstdcq (DC/DG=3) [tCls]2206c00000000000 00000000000000cf => 2 (BF=0)
+dtstdcq (DC/DG=4) [tCls]2206c00000000000 00000000000000cf => 0 (BF=0)
+dtstdcq (DC/DG=5) [tCls]2206c00000000000 00000000000000cf => 0 (BF=0)
+dtstdcq (DC/DG=0) [tCls]2206c00000000000 00000000000000cf => 0 (BF=5)
+dtstdcq (DC/DG=1) [tCls]2206c00000000000 00000000000000cf => 0 (BF=5)
+dtstdcq (DC/DG=2) [tCls]2206c00000000000 00000000000000cf => 0 (BF=5)
+dtstdcq (DC/DG=3) [tCls]2206c00000000000 00000000000000cf => 2 (BF=5)
+dtstdcq (DC/DG=4) [tCls]2206c00000000000 00000000000000cf => 0 (BF=5)
+dtstdcq (DC/DG=5) [tCls]2206c00000000000 00000000000000cf => 0 (BF=5)
+dtstdcq (DC/DG=0) [tCls]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstdcq (DC/DG=1) [tCls]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstdcq (DC/DG=2) [tCls]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstdcq (DC/DG=3) [tCls]a205c00000000000 000000010a395bcf => a (BF=0)
+dtstdcq (DC/DG=4) [tCls]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstdcq (DC/DG=5) [tCls]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstdcq (DC/DG=0) [tCls]a205c00000000000 000000010a395bcf => 8 (BF=5)
+dtstdcq (DC/DG=1) [tCls]a205c00000000000 000000010a395bcf => 8 (BF=5)
+dtstdcq (DC/DG=2) [tCls]a205c00000000000 000000010a395bcf => 8 (BF=5)
+dtstdcq (DC/DG=3) [tCls]a205c00000000000 000000010a395bcf => a (BF=5)
+dtstdcq (DC/DG=4) [tCls]a205c00000000000 000000010a395bcf => 8 (BF=5)
+dtstdcq (DC/DG=5) [tCls]a205c00000000000 000000010a395bcf => 8 (BF=5)
+dtstdcq (DC/DG=0) [tCls]6209400000fd0000 00253f1f534acdd4 => 0 (BF=0)
+dtstdcq (DC/DG=1) [tCls]6209400000fd0000 00253f1f534acdd4 => 0 (BF=0)
+dtstdcq (DC/DG=2) [tCls]6209400000fd0000 00253f1f534acdd4 => 0 (BF=0)
+dtstdcq (DC/DG=3) [tCls]6209400000fd0000 00253f1f534acdd4 => 2 (BF=0)
+dtstdcq (DC/DG=4) [tCls]6209400000fd0000 00253f1f534acdd4 => 0 (BF=0)
+dtstdcq (DC/DG=5) [tCls]6209400000fd0000 00253f1f534acdd4 => 0 (BF=0)
+dtstdcq (DC/DG=0) [tCls]6209400000fd0000 00253f1f534acdd4 => 0 (BF=5)
+dtstdcq (DC/DG=1) [tCls]6209400000fd0000 00253f1f534acdd4 => 0 (BF=5)
+dtstdcq (DC/DG=2) [tCls]6209400000fd0000 00253f1f534acdd4 => 0 (BF=5)
+dtstdcq (DC/DG=3) [tCls]6209400000fd0000 00253f1f534acdd4 => 2 (BF=5)
+dtstdcq (DC/DG=4) [tCls]6209400000fd0000 00253f1f534acdd4 => 0 (BF=5)
+dtstdcq (DC/DG=5) [tCls]6209400000fd0000 00253f1f534acdd4 => 0 (BF=5)
+dtstdcq (DC/DG=0) [tCls]000400000089b000 0a6000d000000049 => 0 (BF=0)
+dtstdcq (DC/DG=1) [tCls]000400000089b000 0a6000d000000049 => 0 (BF=0)
+dtstdcq (DC/DG=2) [tCls]000400000089b000 0a6000d000000049 => 0 (BF=0)
+dtstdcq (DC/DG=3) [tCls]000400000089b000 0a6000d000000049 => 2 (BF=0)
+dtstdcq (DC/DG=4) [tCls]000400000089b000 0a6000d000000049 => 0 (BF=0)
+dtstdcq (DC/DG=5) [tCls]000400000089b000 0a6000d000000049 => 0 (BF=0)
+dtstdcq (DC/DG=0) [tCls]000400000089b000 0a6000d000000049 => 0 (BF=5)
+dtstdcq (DC/DG=1) [tCls]000400000089b000 0a6000d000000049 => 0 (BF=5)
+dtstdcq (DC/DG=2) [tCls]000400000089b000 0a6000d000000049 => 0 (BF=5)
+dtstdcq (DC/DG=3) [tCls]000400000089b000 0a6000d000000049 => 2 (BF=5)
+dtstdcq (DC/DG=4) [tCls]000400000089b000 0a6000d000000049 => 0 (BF=5)
+dtstdcq (DC/DG=5) [tCls]000400000089b000 0a6000d000000049 => 0 (BF=5)
+dtstdcq (DC/DG=0) [tCls]2208000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=1) [tCls]2208000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=2) [tCls]2208000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=3) [tCls]2208000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=4) [tCls]2208000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=5) [tCls]2208000000000000 0000000000000000 => 2 (BF=0)
+dtstdcq (DC/DG=0) [tCls]2208000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=1) [tCls]2208000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=2) [tCls]2208000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=3) [tCls]2208000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=4) [tCls]2208000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=5) [tCls]2208000000000000 0000000000000000 => 2 (BF=5)
+dtstdcq (DC/DG=0) [tCls]a208000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=1) [tCls]a208000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=2) [tCls]a208000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=3) [tCls]a208000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=4) [tCls]a208000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=5) [tCls]a208000000000000 0000000000000000 => a (BF=0)
+dtstdcq (DC/DG=0) [tCls]a208000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=1) [tCls]a208000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=2) [tCls]a208000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=3) [tCls]a208000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=4) [tCls]a208000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=5) [tCls]a208000000000000 0000000000000000 => a (BF=5)
+dtstdcq (DC/DG=0) [tCls]a248000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=1) [tCls]a248000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=2) [tCls]a248000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=3) [tCls]a248000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=4) [tCls]a248000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=5) [tCls]a248000000000000 0000000000000000 => a (BF=0)
+dtstdcq (DC/DG=0) [tCls]a248000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=1) [tCls]a248000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=2) [tCls]a248000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=3) [tCls]a248000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=4) [tCls]a248000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=5) [tCls]a248000000000000 0000000000000000 => a (BF=5)
+dtstdcq (DC/DG=0) [tCls]7c00000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=1) [tCls]7c00000000000000 0000000000000000 => 2 (BF=0)
+dtstdcq (DC/DG=2) [tCls]7c00000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=3) [tCls]7c00000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=4) [tCls]7c00000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=5) [tCls]7c00000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=0) [tCls]7c00000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=1) [tCls]7c00000000000000 0000000000000000 => 2 (BF=5)
+dtstdcq (DC/DG=2) [tCls]7c00000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=3) [tCls]7c00000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=4) [tCls]7c00000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=5) [tCls]7c00000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=0) [tCls]fc00000000000000 c00100035b007700 => 8 (BF=0)
+dtstdcq (DC/DG=1) [tCls]fc00000000000000 c00100035b007700 => a (BF=0)
+dtstdcq (DC/DG=2) [tCls]fc00000000000000 c00100035b007700 => 8 (BF=0)
+dtstdcq (DC/DG=3) [tCls]fc00000000000000 c00100035b007700 => 8 (BF=0)
+dtstdcq (DC/DG=4) [tCls]fc00000000000000 c00100035b007700 => 8 (BF=0)
+dtstdcq (DC/DG=5) [tCls]fc00000000000000 c00100035b007700 => 8 (BF=0)
+dtstdcq (DC/DG=0) [tCls]fc00000000000000 c00100035b007700 => 8 (BF=5)
+dtstdcq (DC/DG=1) [tCls]fc00000000000000 c00100035b007700 => a (BF=5)
+dtstdcq (DC/DG=2) [tCls]fc00000000000000 c00100035b007700 => 8 (BF=5)
+dtstdcq (DC/DG=3) [tCls]fc00000000000000 c00100035b007700 => 8 (BF=5)
+dtstdcq (DC/DG=4) [tCls]fc00000000000000 c00100035b007700 => 8 (BF=5)
+dtstdcq (DC/DG=5) [tCls]fc00000000000000 c00100035b007700 => 8 (BF=5)
+dtstdcq (DC/DG=0) [tCls]7e00000000000000 fe000000d0e0a0d0 => 2 (BF=0)
+dtstdcq (DC/DG=1) [tCls]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=0)
+dtstdcq (DC/DG=2) [tCls]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=0)
+dtstdcq (DC/DG=3) [tCls]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=0)
+dtstdcq (DC/DG=4) [tCls]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=0)
+dtstdcq (DC/DG=5) [tCls]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=0)
+dtstdcq (DC/DG=0) [tCls]7e00000000000000 fe000000d0e0a0d0 => 2 (BF=5)
+dtstdcq (DC/DG=1) [tCls]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=5)
+dtstdcq (DC/DG=2) [tCls]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=5)
+dtstdcq (DC/DG=3) [tCls]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=5)
+dtstdcq (DC/DG=4) [tCls]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=5)
+dtstdcq (DC/DG=5) [tCls]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=5)
+dtstdcq (DC/DG=0) [tCls]7800000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=1) [tCls]7800000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=2) [tCls]7800000000000000 0000000000000000 => 2 (BF=0)
+dtstdcq (DC/DG=3) [tCls]7800000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=4) [tCls]7800000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=5) [tCls]7800000000000000 0000000000000000 => 0 (BF=0)
+dtstdcq (DC/DG=0) [tCls]7800000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=1) [tCls]7800000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=2) [tCls]7800000000000000 0000000000000000 => 2 (BF=5)
+dtstdcq (DC/DG=3) [tCls]7800000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=4) [tCls]7800000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=5) [tCls]7800000000000000 0000000000000000 => 0 (BF=5)
+dtstdcq (DC/DG=0) [tCls]f800000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=1) [tCls]f800000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=2) [tCls]f800000000000000 0000000000000000 => a (BF=0)
+dtstdcq (DC/DG=3) [tCls]f800000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=4) [tCls]f800000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=5) [tCls]f800000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=0) [tCls]f800000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=1) [tCls]f800000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=2) [tCls]f800000000000000 0000000000000000 => a (BF=5)
+dtstdcq (DC/DG=3) [tCls]f800000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=4) [tCls]f800000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=5) [tCls]f800000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=0) [tCls]f900000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=1) [tCls]f900000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=2) [tCls]f900000000000000 0000000000000000 => a (BF=0)
+dtstdcq (DC/DG=3) [tCls]f900000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=4) [tCls]f900000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=5) [tCls]f900000000000000 0000000000000000 => 8 (BF=0)
+dtstdcq (DC/DG=0) [tCls]f900000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=1) [tCls]f900000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=2) [tCls]f900000000000000 0000000000000000 => a (BF=5)
+dtstdcq (DC/DG=3) [tCls]f900000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=4) [tCls]f900000000000000 0000000000000000 => 8 (BF=5)
+dtstdcq (DC/DG=5) [tCls]f900000000000000 0000000000000000 => 8 (BF=5)
+
+dtstdg (DC/DG=0) [tGrp]2234000000000e50 => 0 (BF=0)
+dtstdg (DC/DG=1) [tGrp]2234000000000e50 => 0 (BF=0)
+dtstdg (DC/DG=2) [tGrp]2234000000000e50 => 2 (BF=0)
+dtstdg (DC/DG=3) [tGrp]2234000000000e50 => 0 (BF=0)
+dtstdg (DC/DG=4) [tGrp]2234000000000e50 => 0 (BF=0)
+dtstdg (DC/DG=5) [tGrp]2234000000000e50 => 0 (BF=0)
+dtstdg (DC/DG=0) [tGrp]2234000000000e50 => 0 (BF=5)
+dtstdg (DC/DG=1) [tGrp]2234000000000e50 => 0 (BF=5)
+dtstdg (DC/DG=2) [tGrp]2234000000000e50 => 2 (BF=5)
+dtstdg (DC/DG=3) [tGrp]2234000000000e50 => 0 (BF=5)
+dtstdg (DC/DG=4) [tGrp]2234000000000e50 => 0 (BF=5)
+dtstdg (DC/DG=5) [tGrp]2234000000000e50 => 0 (BF=5)
+dtstdg (DC/DG=0) [tGrp]223400000014c000 => 0 (BF=0)
+dtstdg (DC/DG=1) [tGrp]223400000014c000 => 0 (BF=0)
+dtstdg (DC/DG=2) [tGrp]223400000014c000 => 2 (BF=0)
+dtstdg (DC/DG=3) [tGrp]223400000014c000 => 0 (BF=0)
+dtstdg (DC/DG=4) [tGrp]223400000014c000 => 0 (BF=0)
+dtstdg (DC/DG=5) [tGrp]223400000014c000 => 0 (BF=0)
+dtstdg (DC/DG=0) [tGrp]223400000014c000 => 0 (BF=5)
+dtstdg (DC/DG=1) [tGrp]223400000014c000 => 0 (BF=5)
+dtstdg (DC/DG=2) [tGrp]223400000014c000 => 2 (BF=5)
+dtstdg (DC/DG=3) [tGrp]223400000014c000 => 0 (BF=5)
+dtstdg (DC/DG=4) [tGrp]223400000014c000 => 0 (BF=5)
+dtstdg (DC/DG=5) [tGrp]223400000014c000 => 0 (BF=5)
+dtstdg (DC/DG=0) [tGrp]a2340000000000e0 => 8 (BF=0)
+dtstdg (DC/DG=1) [tGrp]a2340000000000e0 => 8 (BF=0)
+dtstdg (DC/DG=2) [tGrp]a2340000000000e0 => a (BF=0)
+dtstdg (DC/DG=3) [tGrp]a2340000000000e0 => 8 (BF=0)
+dtstdg (DC/DG=4) [tGrp]a2340000000000e0 => 8 (BF=0)
+dtstdg (DC/DG=5) [tGrp]a2340000000000e0 => 8 (BF=0)
+dtstdg (DC/DG=0) [tGrp]a2340000000000e0 => 8 (BF=5)
+dtstdg (DC/DG=1) [tGrp]a2340000000000e0 => 8 (BF=5)
+dtstdg (DC/DG=2) [tGrp]a2340000000000e0 => a (BF=5)
+dtstdg (DC/DG=3) [tGrp]a2340000000000e0 => 8 (BF=5)
+dtstdg (DC/DG=4) [tGrp]a2340000000000e0 => 8 (BF=5)
+dtstdg (DC/DG=5) [tGrp]a2340000000000e0 => 8 (BF=5)
+dtstdg (DC/DG=0) [tGrp]22240000000000cf => 0 (BF=0)
+dtstdg (DC/DG=1) [tGrp]22240000000000cf => 0 (BF=0)
+dtstdg (DC/DG=2) [tGrp]22240000000000cf => 2 (BF=0)
+dtstdg (DC/DG=3) [tGrp]22240000000000cf => 0 (BF=0)
+dtstdg (DC/DG=4) [tGrp]22240000000000cf => 0 (BF=0)
+dtstdg (DC/DG=5) [tGrp]22240000000000cf => 0 (BF=0)
+dtstdg (DC/DG=0) [tGrp]22240000000000cf => 0 (BF=5)
+dtstdg (DC/DG=1) [tGrp]22240000000000cf => 0 (BF=5)
+dtstdg (DC/DG=2) [tGrp]22240000000000cf => 2 (BF=5)
+dtstdg (DC/DG=3) [tGrp]22240000000000cf => 0 (BF=5)
+dtstdg (DC/DG=4) [tGrp]22240000000000cf => 0 (BF=5)
+dtstdg (DC/DG=5) [tGrp]22240000000000cf => 0 (BF=5)
+dtstdg (DC/DG=0) [tGrp]a21400010a395bcf => 8 (BF=0)
+dtstdg (DC/DG=1) [tGrp]a21400010a395bcf => 8 (BF=0)
+dtstdg (DC/DG=2) [tGrp]a21400010a395bcf => a (BF=0)
+dtstdg (DC/DG=3) [tGrp]a21400010a395bcf => 8 (BF=0)
+dtstdg (DC/DG=4) [tGrp]a21400010a395bcf => 8 (BF=0)
+dtstdg (DC/DG=5) [tGrp]a21400010a395bcf => 8 (BF=0)
+dtstdg (DC/DG=0) [tGrp]a21400010a395bcf => 8 (BF=5)
+dtstdg (DC/DG=1) [tGrp]a21400010a395bcf => 8 (BF=5)
+dtstdg (DC/DG=2) [tGrp]a21400010a395bcf => a (BF=5)
+dtstdg (DC/DG=3) [tGrp]a21400010a395bcf => 8 (BF=5)
+dtstdg (DC/DG=4) [tGrp]a21400010a395bcf => 8 (BF=5)
+dtstdg (DC/DG=5) [tGrp]a21400010a395bcf => 8 (BF=5)
+dtstdg (DC/DG=0) [tGrp]6e4d3f1f534acdd4 => 0 (BF=0)
+dtstdg (DC/DG=1) [tGrp]6e4d3f1f534acdd4 => 2 (BF=0)
+dtstdg (DC/DG=2) [tGrp]6e4d3f1f534acdd4 => 0 (BF=0)
+dtstdg (DC/DG=3) [tGrp]6e4d3f1f534acdd4 => 0 (BF=0)
+dtstdg (DC/DG=4) [tGrp]6e4d3f1f534acdd4 => 0 (BF=0)
+dtstdg (DC/DG=5) [tGrp]6e4d3f1f534acdd4 => 0 (BF=0)
+dtstdg (DC/DG=0) [tGrp]6e4d3f1f534acdd4 => 0 (BF=5)
+dtstdg (DC/DG=1) [tGrp]6e4d3f1f534acdd4 => 2 (BF=5)
+dtstdg (DC/DG=2) [tGrp]6e4d3f1f534acdd4 => 0 (BF=5)
+dtstdg (DC/DG=3) [tGrp]6e4d3f1f534acdd4 => 0 (BF=5)
+dtstdg (DC/DG=4) [tGrp]6e4d3f1f534acdd4 => 0 (BF=5)
+dtstdg (DC/DG=5) [tGrp]6e4d3f1f534acdd4 => 0 (BF=5)
+dtstdg (DC/DG=0) [tGrp]000400000089b000 => 0 (BF=0)
+dtstdg (DC/DG=1) [tGrp]000400000089b000 => 0 (BF=0)
+dtstdg (DC/DG=2) [tGrp]000400000089b000 => 0 (BF=0)
+dtstdg (DC/DG=3) [tGrp]000400000089b000 => 2 (BF=0)
+dtstdg (DC/DG=4) [tGrp]000400000089b000 => 0 (BF=0)
+dtstdg (DC/DG=5) [tGrp]000400000089b000 => 0 (BF=0)
+dtstdg (DC/DG=0) [tGrp]000400000089b000 => 0 (BF=5)
+dtstdg (DC/DG=1) [tGrp]000400000089b000 => 0 (BF=5)
+dtstdg (DC/DG=2) [tGrp]000400000089b000 => 0 (BF=5)
+dtstdg (DC/DG=3) [tGrp]000400000089b000 => 2 (BF=5)
+dtstdg (DC/DG=4) [tGrp]000400000089b000 => 0 (BF=5)
+dtstdg (DC/DG=5) [tGrp]000400000089b000 => 0 (BF=5)
+dtstdg (DC/DG=0) [tGrp]2238000000000000 => 0 (BF=0)
+dtstdg (DC/DG=1) [tGrp]2238000000000000 => 0 (BF=0)
+dtstdg (DC/DG=2) [tGrp]2238000000000000 => 0 (BF=0)
+dtstdg (DC/DG=3) [tGrp]2238000000000000 => 0 (BF=0)
+dtstdg (DC/DG=4) [tGrp]2238000000000000 => 0 (BF=0)
+dtstdg (DC/DG=5) [tGrp]2238000000000000 => 2 (BF=0)
+dtstdg (DC/DG=0) [tGrp]2238000000000000 => 0 (BF=5)
+dtstdg (DC/DG=1) [tGrp]2238000000000000 => 0 (BF=5)
+dtstdg (DC/DG=2) [tGrp]2238000000000000 => 0 (BF=5)
+dtstdg (DC/DG=3) [tGrp]2238000000000000 => 0 (BF=5)
+dtstdg (DC/DG=4) [tGrp]2238000000000000 => 0 (BF=5)
+dtstdg (DC/DG=5) [tGrp]2238000000000000 => 2 (BF=5)
+dtstdg (DC/DG=0) [tGrp]a238000000000000 => 8 (BF=0)
+dtstdg (DC/DG=1) [tGrp]a238000000000000 => 8 (BF=0)
+dtstdg (DC/DG=2) [tGrp]a238000000000000 => 8 (BF=0)
+dtstdg (DC/DG=3) [tGrp]a238000000000000 => 8 (BF=0)
+dtstdg (DC/DG=4) [tGrp]a238000000000000 => 8 (BF=0)
+dtstdg (DC/DG=5) [tGrp]a238000000000000 => a (BF=0)
+dtstdg (DC/DG=0) [tGrp]a238000000000000 => 8 (BF=5)
+dtstdg (DC/DG=1) [tGrp]a238000000000000 => 8 (BF=5)
+dtstdg (DC/DG=2) [tGrp]a238000000000000 => 8 (BF=5)
+dtstdg (DC/DG=3) [tGrp]a238000000000000 => 8 (BF=5)
+dtstdg (DC/DG=4) [tGrp]a238000000000000 => 8 (BF=5)
+dtstdg (DC/DG=5) [tGrp]a238000000000000 => a (BF=5)
+dtstdg (DC/DG=0) [tGrp]4248000000000000 => 0 (BF=0)
+dtstdg (DC/DG=1) [tGrp]4248000000000000 => 0 (BF=0)
+dtstdg (DC/DG=2) [tGrp]4248000000000000 => 0 (BF=0)
+dtstdg (DC/DG=3) [tGrp]4248000000000000 => 0 (BF=0)
+dtstdg (DC/DG=4) [tGrp]4248000000000000 => 0 (BF=0)
+dtstdg (DC/DG=5) [tGrp]4248000000000000 => 2 (BF=0)
+dtstdg (DC/DG=0) [tGrp]4248000000000000 => 0 (BF=5)
+dtstdg (DC/DG=1) [tGrp]4248000000000000 => 0 (BF=5)
+dtstdg (DC/DG=2) [tGrp]4248000000000000 => 0 (BF=5)
+dtstdg (DC/DG=3) [tGrp]4248000000000000 => 0 (BF=5)
+dtstdg (DC/DG=4) [tGrp]4248000000000000 => 0 (BF=5)
+dtstdg (DC/DG=5) [tGrp]4248000000000000 => 2 (BF=5)
+dtstdg (DC/DG=0) [tGrp]7e34000000000111 => 2 (BF=0)
+dtstdg (DC/DG=1) [tGrp]7e34000000000111 => 0 (BF=0)
+dtstdg (DC/DG=2) [tGrp]7e34000000000111 => 0 (BF=0)
+dtstdg (DC/DG=3) [tGrp]7e34000000000111 => 0 (BF=0)
+dtstdg (DC/DG=4) [tGrp]7e34000000000111 => 0 (BF=0)
+dtstdg (DC/DG=5) [tGrp]7e34000000000111 => 0 (BF=0)
+dtstdg (DC/DG=0) [tGrp]7e34000000000111 => 2 (BF=5)
+dtstdg (DC/DG=1) [tGrp]7e34000000000111 => 0 (BF=5)
+dtstdg (DC/DG=2) [tGrp]7e34000000000111 => 0 (BF=5)
+dtstdg (DC/DG=3) [tGrp]7e34000000000111 => 0 (BF=5)
+dtstdg (DC/DG=4) [tGrp]7e34000000000111 => 0 (BF=5)
+dtstdg (DC/DG=5) [tGrp]7e34000000000111 => 0 (BF=5)
+dtstdg (DC/DG=0) [tGrp]fe000000d0e0a0d0 => a (BF=0)
+dtstdg (DC/DG=1) [tGrp]fe000000d0e0a0d0 => 8 (BF=0)
+dtstdg (DC/DG=2) [tGrp]fe000000d0e0a0d0 => 8 (BF=0)
+dtstdg (DC/DG=3) [tGrp]fe000000d0e0a0d0 => 8 (BF=0)
+dtstdg (DC/DG=4) [tGrp]fe000000d0e0a0d0 => 8 (BF=0)
+dtstdg (DC/DG=5) [tGrp]fe000000d0e0a0d0 => 8 (BF=0)
+dtstdg (DC/DG=0) [tGrp]fe000000d0e0a0d0 => a (BF=5)
+dtstdg (DC/DG=1) [tGrp]fe000000d0e0a0d0 => 8 (BF=5)
+dtstdg (DC/DG=2) [tGrp]fe000000d0e0a0d0 => 8 (BF=5)
+dtstdg (DC/DG=3) [tGrp]fe000000d0e0a0d0 => 8 (BF=5)
+dtstdg (DC/DG=4) [tGrp]fe000000d0e0a0d0 => 8 (BF=5)
+dtstdg (DC/DG=5) [tGrp]fe000000d0e0a0d0 => 8 (BF=5)
+dtstdg (DC/DG=0) [tGrp]fc00000000000000 => a (BF=0)
+dtstdg (DC/DG=1) [tGrp]fc00000000000000 => 8 (BF=0)
+dtstdg (DC/DG=2) [tGrp]fc00000000000000 => 8 (BF=0)
+dtstdg (DC/DG=3) [tGrp]fc00000000000000 => 8 (BF=0)
+dtstdg (DC/DG=4) [tGrp]fc00000000000000 => 8 (BF=0)
+dtstdg (DC/DG=5) [tGrp]fc00000000000000 => 8 (BF=0)
+dtstdg (DC/DG=0) [tGrp]fc00000000000000 => a (BF=5)
+dtstdg (DC/DG=1) [tGrp]fc00000000000000 => 8 (BF=5)
+dtstdg (DC/DG=2) [tGrp]fc00000000000000 => 8 (BF=5)
+dtstdg (DC/DG=3) [tGrp]fc00000000000000 => 8 (BF=5)
+dtstdg (DC/DG=4) [tGrp]fc00000000000000 => 8 (BF=5)
+dtstdg (DC/DG=5) [tGrp]fc00000000000000 => 8 (BF=5)
+dtstdg (DC/DG=0) [tGrp]7800000000000000 => 2 (BF=0)
+dtstdg (DC/DG=1) [tGrp]7800000000000000 => 0 (BF=0)
+dtstdg (DC/DG=2) [tGrp]7800000000000000 => 0 (BF=0)
+dtstdg (DC/DG=3) [tGrp]7800000000000000 => 0 (BF=0)
+dtstdg (DC/DG=4) [tGrp]7800000000000000 => 0 (BF=0)
+dtstdg (DC/DG=5) [tGrp]7800000000000000 => 0 (BF=0)
+dtstdg (DC/DG=0) [tGrp]7800000000000000 => 2 (BF=5)
+dtstdg (DC/DG=1) [tGrp]7800000000000000 => 0 (BF=5)
+dtstdg (DC/DG=2) [tGrp]7800000000000000 => 0 (BF=5)
+dtstdg (DC/DG=3) [tGrp]7800000000000000 => 0 (BF=5)
+dtstdg (DC/DG=4) [tGrp]7800000000000000 => 0 (BF=5)
+dtstdg (DC/DG=5) [tGrp]7800000000000000 => 0 (BF=5)
+dtstdg (DC/DG=0) [tGrp]f800000000000000 => a (BF=0)
+dtstdg (DC/DG=1) [tGrp]f800000000000000 => 8 (BF=0)
+dtstdg (DC/DG=2) [tGrp]f800000000000000 => 8 (BF=0)
+dtstdg (DC/DG=3) [tGrp]f800000000000000 => 8 (BF=0)
+dtstdg (DC/DG=4) [tGrp]f800000000000000 => 8 (BF=0)
+dtstdg (DC/DG=5) [tGrp]f800000000000000 => 8 (BF=0)
+dtstdg (DC/DG=0) [tGrp]f800000000000000 => a (BF=5)
+dtstdg (DC/DG=1) [tGrp]f800000000000000 => 8 (BF=5)
+dtstdg (DC/DG=2) [tGrp]f800000000000000 => 8 (BF=5)
+dtstdg (DC/DG=3) [tGrp]f800000000000000 => 8 (BF=5)
+dtstdg (DC/DG=4) [tGrp]f800000000000000 => 8 (BF=5)
+dtstdg (DC/DG=5) [tGrp]f800000000000000 => 8 (BF=5)
+dtstdg (DC/DG=0) [tGrp]7a34000000000000 => 2 (BF=0)
+dtstdg (DC/DG=1) [tGrp]7a34000000000000 => 0 (BF=0)
+dtstdg (DC/DG=2) [tGrp]7a34000000000000 => 0 (BF=0)
+dtstdg (DC/DG=3) [tGrp]7a34000000000000 => 0 (BF=0)
+dtstdg (DC/DG=4) [tGrp]7a34000000000000 => 0 (BF=0)
+dtstdg (DC/DG=5) [tGrp]7a34000000000000 => 0 (BF=0)
+dtstdg (DC/DG=0) [tGrp]7a34000000000000 => 2 (BF=5)
+dtstdg (DC/DG=1) [tGrp]7a34000000000000 => 0 (BF=5)
+dtstdg (DC/DG=2) [tGrp]7a34000000000000 => 0 (BF=5)
+dtstdg (DC/DG=3) [tGrp]7a34000000000000 => 0 (BF=5)
+dtstdg (DC/DG=4) [tGrp]7a34000000000000 => 0 (BF=5)
+dtstdg (DC/DG=5) [tGrp]7a34000000000000 => 0 (BF=5)
+
+dtstdgq (DC/DG=0) [tGrp]2207c00000000000 0000000000000e50 => 0 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]2207c00000000000 0000000000000e50 => 0 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]2207c00000000000 0000000000000e50 => 2 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]2207c00000000000 0000000000000e50 => 0 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]2207c00000000000 0000000000000e50 => 0 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]2207c00000000000 0000000000000e50 => 0 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]2207c00000000000 0000000000000e50 => 0 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]2207c00000000000 0000000000000e50 => 0 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]2207c00000000000 0000000000000e50 => 2 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]2207c00000000000 0000000000000e50 => 0 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]2207c00000000000 0000000000000e50 => 0 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]2207c00000000000 0000000000000e50 => 0 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]2207c00000000000 000000000014c000 => 0 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]2207c00000000000 000000000014c000 => 0 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]2207c00000000000 000000000014c000 => 2 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]2207c00000000000 000000000014c000 => 0 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]2207c00000000000 000000000014c000 => 0 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]2207c00000000000 000000000014c000 => 0 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]2207c00000000000 000000000014c000 => 0 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]2207c00000000000 000000000014c000 => 0 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]2207c00000000000 000000000014c000 => 2 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]2207c00000000000 000000000014c000 => 0 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]2207c00000000000 000000000014c000 => 0 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]2207c00000000000 000000000014c000 => 0 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]a207c00000000000 00000000000000e0 => a (BF=0)
+dtstdgq (DC/DG=3) [tGrp]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]a207c00000000000 00000000000000e0 => 8 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]a207c00000000000 00000000000000e0 => 8 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]a207c00000000000 00000000000000e0 => a (BF=5)
+dtstdgq (DC/DG=3) [tGrp]a207c00000000000 00000000000000e0 => 8 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]a207c00000000000 00000000000000e0 => 8 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]a207c00000000000 00000000000000e0 => 8 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]2206c00000000000 00000000000000cf => 0 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]2206c00000000000 00000000000000cf => 0 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]2206c00000000000 00000000000000cf => 2 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]2206c00000000000 00000000000000cf => 0 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]2206c00000000000 00000000000000cf => 0 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]2206c00000000000 00000000000000cf => 0 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]2206c00000000000 00000000000000cf => 0 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]2206c00000000000 00000000000000cf => 0 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]2206c00000000000 00000000000000cf => 2 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]2206c00000000000 00000000000000cf => 0 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]2206c00000000000 00000000000000cf => 0 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]2206c00000000000 00000000000000cf => 0 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]a205c00000000000 000000010a395bcf => a (BF=0)
+dtstdgq (DC/DG=3) [tGrp]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]a205c00000000000 000000010a395bcf => 8 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]a205c00000000000 000000010a395bcf => 8 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]a205c00000000000 000000010a395bcf => a (BF=5)
+dtstdgq (DC/DG=3) [tGrp]a205c00000000000 000000010a395bcf => 8 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]a205c00000000000 000000010a395bcf => 8 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]a205c00000000000 000000010a395bcf => 8 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]6209400000fd0000 00253f1f534acdd4 => 0 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]6209400000fd0000 00253f1f534acdd4 => 2 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]6209400000fd0000 00253f1f534acdd4 => 0 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]6209400000fd0000 00253f1f534acdd4 => 0 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]6209400000fd0000 00253f1f534acdd4 => 0 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]6209400000fd0000 00253f1f534acdd4 => 0 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]6209400000fd0000 00253f1f534acdd4 => 0 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]6209400000fd0000 00253f1f534acdd4 => 2 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]6209400000fd0000 00253f1f534acdd4 => 0 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]6209400000fd0000 00253f1f534acdd4 => 0 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]6209400000fd0000 00253f1f534acdd4 => 0 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]6209400000fd0000 00253f1f534acdd4 => 0 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]000400000089b000 0a6000d000000049 => 0 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]000400000089b000 0a6000d000000049 => 0 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]000400000089b000 0a6000d000000049 => 2 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]000400000089b000 0a6000d000000049 => 0 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]000400000089b000 0a6000d000000049 => 0 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]000400000089b000 0a6000d000000049 => 0 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]000400000089b000 0a6000d000000049 => 0 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]000400000089b000 0a6000d000000049 => 0 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]000400000089b000 0a6000d000000049 => 2 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]000400000089b000 0a6000d000000049 => 0 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]000400000089b000 0a6000d000000049 => 0 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]000400000089b000 0a6000d000000049 => 0 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]2208000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]2208000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]2208000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]2208000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]2208000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]2208000000000000 0000000000000000 => 2 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]2208000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]2208000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]2208000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]2208000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]2208000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]2208000000000000 0000000000000000 => 2 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]a208000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]a208000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]a208000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]a208000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]a208000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]a208000000000000 0000000000000000 => a (BF=0)
+dtstdgq (DC/DG=0) [tGrp]a208000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]a208000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]a208000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]a208000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]a208000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]a208000000000000 0000000000000000 => a (BF=5)
+dtstdgq (DC/DG=0) [tGrp]a248000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]a248000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]a248000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]a248000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]a248000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]a248000000000000 0000000000000000 => a (BF=0)
+dtstdgq (DC/DG=0) [tGrp]a248000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]a248000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]a248000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]a248000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]a248000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]a248000000000000 0000000000000000 => a (BF=5)
+dtstdgq (DC/DG=0) [tGrp]7c00000000000000 0000000000000000 => 2 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]7c00000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]7c00000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]7c00000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]7c00000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]7c00000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]7c00000000000000 0000000000000000 => 2 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]7c00000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]7c00000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]7c00000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]7c00000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]7c00000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]fc00000000000000 c00100035b007700 => a (BF=0)
+dtstdgq (DC/DG=1) [tGrp]fc00000000000000 c00100035b007700 => 8 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]fc00000000000000 c00100035b007700 => 8 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]fc00000000000000 c00100035b007700 => 8 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]fc00000000000000 c00100035b007700 => 8 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]fc00000000000000 c00100035b007700 => 8 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]fc00000000000000 c00100035b007700 => a (BF=5)
+dtstdgq (DC/DG=1) [tGrp]fc00000000000000 c00100035b007700 => 8 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]fc00000000000000 c00100035b007700 => 8 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]fc00000000000000 c00100035b007700 => 8 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]fc00000000000000 c00100035b007700 => 8 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]fc00000000000000 c00100035b007700 => 8 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 2 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 2 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]7e00000000000000 fe000000d0e0a0d0 => 0 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]7800000000000000 0000000000000000 => 2 (BF=0)
+dtstdgq (DC/DG=1) [tGrp]7800000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]7800000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]7800000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]7800000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]7800000000000000 0000000000000000 => 0 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]7800000000000000 0000000000000000 => 2 (BF=5)
+dtstdgq (DC/DG=1) [tGrp]7800000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]7800000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]7800000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]7800000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]7800000000000000 0000000000000000 => 0 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]f800000000000000 0000000000000000 => a (BF=0)
+dtstdgq (DC/DG=1) [tGrp]f800000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]f800000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]f800000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]f800000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]f800000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]f800000000000000 0000000000000000 => a (BF=5)
+dtstdgq (DC/DG=1) [tGrp]f800000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]f800000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]f800000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]f800000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]f800000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=0) [tGrp]f900000000000000 0000000000000000 => a (BF=0)
+dtstdgq (DC/DG=1) [tGrp]f900000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=2) [tGrp]f900000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=3) [tGrp]f900000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=4) [tGrp]f900000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=5) [tGrp]f900000000000000 0000000000000000 => 8 (BF=0)
+dtstdgq (DC/DG=0) [tGrp]f900000000000000 0000000000000000 => a (BF=5)
+dtstdgq (DC/DG=1) [tGrp]f900000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=2) [tGrp]f900000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=3) [tGrp]f900000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=4) [tGrp]f900000000000000 0000000000000000 => 8 (BF=5)
+dtstdgq (DC/DG=5) [tGrp]f900000000000000 0000000000000000 => 8 (BF=5)
+
diff --git a/none/tests/ppc32/test_dfp4.vgtest b/none/tests/ppc32/test_dfp4.vgtest
new file mode 100644
index 0000000..dac3356
--- /dev/null
+++ b/none/tests/ppc32/test_dfp4.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/check_dfp_cap
+prog: test_dfp4
diff --git a/none/tests/ppc32/test_dfp5.c b/none/tests/ppc32/test_dfp5.c
new file mode 100644
index 0000000..64008b6
--- /dev/null
+++ b/none/tests/ppc32/test_dfp5.c
@@ -0,0 +1,595 @@
+/*  Copyright (C) 2012 IBM
+
+ Author: Maynard Johnson <maynardj@us.ibm.com>
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307, USA.
+
+ The GNU General Public License is contained in the file COPYING.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+
+#if defined(HAS_DFP)
+
+typedef union stuff {
+   _Decimal64  dec_val;
+   _Decimal128  dec_val128;
+   unsigned long long u64_val;
+   struct {
+      unsigned long long valu;
+      unsigned long long vall;
+   } u128;
+} dfp_val_t;
+
+
+typedef unsigned char Bool;
+#define True 1
+#define False 0
+
+
+#define ALLCR "cr0","cr1","cr2","cr3","cr4","cr5","cr6","cr7"
+
+#define SET_CR(_arg) \
+      __asm__ __volatile__ ("mtcr  %0" : : "b"(_arg) : ALLCR );
+
+#define SET_XER(_arg) \
+      __asm__ __volatile__ ("mtxer %0" : : "b"(_arg) : "xer" );
+
+#define GET_CR(_lval) \
+      __asm__ __volatile__ ("mfcr %0"  : "=b"(_lval) )
+
+#define GET_XER(_lval) \
+      __asm__ __volatile__ ("mfxer %0" : "=b"(_lval) )
+
+#define GET_CR_XER(_lval_cr,_lval_xer) \
+   do { GET_CR(_lval_cr); GET_XER(_lval_xer); } while (0)
+
+#define SET_CR_ZERO \
+      SET_CR(0)
+
+#define SET_XER_ZERO \
+      SET_XER(0)
+
+#define SET_CR_XER_ZERO \
+   do { SET_CR_ZERO; SET_XER_ZERO; } while (0)
+
+#define SET_FPSCR_ZERO \
+   do { double _d = 0.0; \
+        __asm__ __volatile__ ("mtfsf 0xFF, %0" : : "f"(_d) ); \
+   } while (0)
+
+#define GET_FPSCR(_arg) \
+    __asm__ __volatile__ ("mffs %0"  : "=f"(_arg) )
+
+#define SET_FPSCR_DRN \
+    __asm__ __volatile__ ("mtfsf  1, %0, 0, 1" :  : "f"(f14) )
+
+#ifndef __powerpc64__
+typedef uint32_t HWord_t;
+#else
+typedef uint64_t HWord_t;
+#endif /* __powerpc64__ */
+
+enum BF_vals { BF_val1 = 0, BF_val2 = 1, BF_val3 =6};
+
+// The assembly-level instructions being tested
+static void _test_dtstsf(unsigned int BF, unsigned int ref_sig, dfp_val_t valB)
+{
+   _Decimal64 f16 = valB.dec_val;
+   register HWord_t r14 __asm__ ("r14");
+   double f14;
+   r14 = (HWord_t)&ref_sig;
+
+   __asm __volatile__ ("lfiwax %0, 0, %1" : "=f" (f14): "r" (r14));
+   switch (BF) {
+      case BF_val1:
+         __asm__ __volatile__ ("dtstsf %0, %1, %2" : : "i" (BF_val1), "f" (f14), "f" (f16));
+         break;
+      case BF_val2:
+         __asm__ __volatile__ ("dtstsf %0, %1, %2" : : "i" (BF_val2), "f" (f14), "f" (f16));
+         break;
+      case BF_val3:
+         __asm__ __volatile__ ("dtstsf %0, %1, %2" : : "i" (BF_val3), "f" (f14), "f" (f16));
+         break;
+      default:
+         fprintf(stderr, "Invalid value %d for BF\n", BF);
+         break;
+   }
+}
+
+static void _test_dtstsfq(unsigned int BF, unsigned int ref_sig, dfp_val_t valB)
+{
+   _Decimal128 f16 = valB.dec_val128;
+   register HWord_t r14 __asm__ ("r14");
+   double f14;
+   r14 = (HWord_t)&ref_sig;
+
+   __asm __volatile__ ("lfiwax %0, 0, %1" : "=f" (f14): "r" (r14));
+   switch (BF) {
+      case BF_val1:
+         __asm__ __volatile__ ("dtstsfq %0, %1, %2" : : "i" (BF_val1), "f" (f14), "f" (f16));
+         break;
+      case BF_val2:
+         __asm__ __volatile__ ("dtstsfq %0, %1, %2" : : "i" (BF_val2), "f" (f14), "f" (f16));
+         break;
+      case BF_val3:
+         __asm__ __volatile__ ("dtstsfq %0, %1, %2" : : "i" (BF_val3), "f" (f14), "f" (f16));
+         break;
+      default:
+         fprintf(stderr, "Invalid value %d for BF\n", BF);
+         break;
+   }
+}
+
+static dfp_val_t _test_ddedpd(unsigned int SP, dfp_val_t valB)
+{
+   _Decimal64 ret = 0;
+   dfp_val_t result;
+   _Decimal64 f16 = valB.dec_val;
+   switch (SP) {
+      case 0:
+         __asm__ __volatile__ ("ddedpd. 0, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("ddedpd. 1, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      case 2:
+         __asm__ __volatile__ ("ddedpd. 2, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      case 3:
+         __asm__ __volatile__ ("ddedpd. 3, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      default:
+         fprintf(stderr, "Invalid value %d for SP\n", SP);
+         break;
+   }
+   result.dec_val = ret;
+   return result;
+}
+
+
+static dfp_val_t _test_ddedpdq(unsigned int SP, dfp_val_t valB)
+{
+   _Decimal128 ret = 0;
+   dfp_val_t result;
+   _Decimal128 f16 = valB.dec_val128;
+   switch (SP) {
+      case 0:
+         __asm__ __volatile__ ("ddedpdq 0, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("ddedpdq 1, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      case 2:
+         __asm__ __volatile__ ("ddedpdq 2, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      case 3:
+         __asm__ __volatile__ ("ddedpdq 3, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      default:
+         fprintf(stderr, "Invalid value %d for SP\n", SP);
+         break;
+   }
+   result.dec_val128 = ret;
+   return result;
+}
+
+static dfp_val_t _test_denbcd(unsigned int S, dfp_val_t valB)
+{
+   _Decimal64 ret = 0;
+   dfp_val_t result;
+   _Decimal64 f16 = valB.dec_val;
+   switch (S) {
+      case 0:
+         __asm__ __volatile__ ("denbcd. 0, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("denbcd. 1, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      default:
+         fprintf(stderr, "Invalid value %d for S\n", S);
+         break;
+   }
+   result.dec_val = ret;
+   return result;
+}
+
+
+static dfp_val_t _test_denbcdq(unsigned int S, dfp_val_t valB)
+{
+   _Decimal128 ret = 0;
+   dfp_val_t result;
+   _Decimal128 f16 = valB.dec_val128;
+   switch (S) {
+      case 0:
+         __asm__ __volatile__ ("denbcdq 0, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      case 1:
+         __asm__ __volatile__ ("denbcdq 1, %0, %1" : "=f" (ret) : "f" (f16));
+         break;
+      default:
+         fprintf(stderr, "Invalid value %d for S\n", S);
+         break;
+   }
+   result.dec_val128 = ret;
+   return result;
+}
+
+
+typedef void (*test_func_t)(unsigned int imm, unsigned int imm2,  dfp_val_t valB);
+typedef dfp_val_t (*test_func_bcd_t)(unsigned int imm, dfp_val_t valB);
+typedef void (*test_driver_func_t)(void);
+typedef struct test_table
+{
+   test_driver_func_t test_category;
+   char * name;
+} test_table_t;
+
+/*
+ *  345.0DD (0x2207c00000000000 0xe50)
+ *  1.2300e+5DD (0x2207c00000000000 0x14c000)
+ *  -16.0DD (0xa207c00000000000 0xe0)
+ *  0.00189DD (0x2206c00000000000 0xcf)
+ *  -4.1235DD (0xa205c00000000000 0x10a395bcf)
+ *  9.8399e+20DD (0x2209400000000000 0x253f1f534acdd4)
+ *  0DD (0x2208000000000000 0x0)
+ *  0DD (0x2208000000000000 0x0)
+ *  infDD (0x7800000000000000 0x0)
+ *  nanDD (0x7c00000000000000 0x0
+ */
+static unsigned long long dfp128_vals[] = {
+                                    // Some finite numbers
+                                    0x2207c00000000000ULL, 0x0000000000000e50ULL,
+                                    0x2207c00000000000ULL, 0x000000000014c000ULL,
+                                    0xa207c00000000000ULL, 0x00000000000000e0ULL,
+                                    0x2206c00000000000ULL, 0x00000000000000cfULL,
+                                    0xa205c00000000000ULL, 0x000000010a395bcfULL,
+                                    0x6209400000fd0000ULL, 0x00253f1f534acdd4ULL, // huge number
+                                    0x000400000089b000ULL, 0x0a6000d000000049ULL, // very small number
+                                    // flavors of zero
+                                    0x2208000000000000ULL, 0x0000000000000000ULL,
+                                    0xa208000000000000ULL, 0x0000000000000000ULL, // negative
+                                    0xa248000000000000ULL, 0x0000000000000000ULL,
+                                    // flavors of NAN
+                                    0x7c00000000000000ULL, 0x0000000000000000ULL, // quiet
+                                    0xfc00000000000000ULL, 0xc00100035b007700ULL,
+                                    0x7e00000000000000ULL, 0xfe000000d0e0a0d0ULL, // signaling
+                                    // flavors of Infinity
+                                    0x7800000000000000ULL, 0x0000000000000000ULL,
+                                    0xf800000000000000ULL, 0x0000000000000000ULL, // negative
+                                    0xf900000000000000ULL, 0x0000000000000000ULL
+};
+
+static unsigned long long dfp64_vals[] = {
+                                 // various finite numbers
+                                 0x2234000000000e50ULL,
+                                 0x223400000014c000ULL,
+                                 0xa2340000000000e0ULL,// negative
+                                 0x22240000000000cfULL,
+                                 0xa21400010a395bcfULL,// negative
+                                 0x6e4d3f1f534acdd4ULL,// huge number
+                                 0x000400000089b000ULL,// very small number
+                                 // flavors of zero
+                                 0x2238000000000000ULL,
+                                 0xa238000000000000ULL,
+                                 0x4248000000000000ULL,
+                                 // flavors of NAN
+                                 0x7e34000000000111ULL,
+                                 0xfe000000d0e0a0d0ULL,//signaling
+                                 0xfc00000000000000ULL,//quiet
+                                 // flavors of Infinity
+                                 0x7800000000000000ULL,
+                                 0xf800000000000000ULL,//negative
+                                 0x7a34000000000000ULL,
+};
+
+/* The bcd64_vals and bdc128_vals hold the unique results of executing
+ * the ddedpd instruction on the basic dfp64 and dfp128 array values.
+ * Executing the inverse operation (denbcd) on these values with the
+ * appropriate S (signed) value should yield values approximating the
+ * original dfp values (except being 2^4 in magnitude since the decoding
+ * operation shifted the value one hex digit to the left to make room
+ * for signedness info).
+ */
+static unsigned long long bcd64_vals[] = {
+                                          0x0000000000003450ULL,
+                                          0x000000000003450cULL,
+                                          0x000000000003450fULL,
+                                          0x0000000001230000ULL,
+                                          0x000000001230000cULL,
+                                          0x000000001230000fULL,
+                                          0x0000000000000160ULL,
+                                          0x000000000000160dULL,
+                                          0x0000000000000189ULL,
+                                          0x000000000000189cULL,
+                                          0x000000000000189fULL,
+                                          0x0000004123456789ULL,
+                                          0x000004123456789dULL,
+                                          0x9839871234533354ULL,
+                                          0x839871234533354cULL,
+                                          0x839871234533354fULL,
+                                          0x0000000008864000ULL,
+                                          0x000000008864000cULL,
+                                          0x000000008864000fULL,
+                                          0x0000000000000000ULL,
+                                          0x000000000000000cULL,
+                                          0x000000000000000fULL,
+                                          0x000000000000000dULL,
+                                          0x0000000000000211ULL,
+                                          0x000000000000211cULL,
+                                          0x000000000000211fULL,
+                                          0x0000003882028150ULL,
+                                          0x000003882028150dULL
+ };
+
+static unsigned long long bcd128_vals[] = {
+                                           0x0000000000000000ULL, 0x0000000000003450ULL,
+                                           0x0000000000000000ULL, 0x000000000003450cULL,
+                                           0x0000000000000000ULL, 0x000000000003450fULL,
+                                           0x0000000000000000ULL, 0x0000000001230000ULL,
+                                           0x0000000000000000ULL, 0x000000001230000cULL,
+                                           0x0000000000000000ULL, 0x000000001230000fULL,
+                                           0x0000000000000000ULL, 0x0000000000000160ULL,
+                                           0x0000000000000000ULL, 0x000000000000160dULL,
+                                           0x0000000000000000ULL, 0x0000000000000189ULL,
+                                           0x0000000000000000ULL, 0x000000000000189cULL,
+                                           0x0000000000000000ULL, 0x000000000000189fULL,
+                                           0x0000000000000000ULL, 0x0000004123456789ULL,
+                                           0x0000000000000000ULL, 0x000004123456789dULL,
+                                           0x0000097100000000ULL, 0x9839871234533354ULL,
+                                           0x0000971000000009ULL, 0x839871234533354cULL,
+                                           0x0000971000000009ULL, 0x839871234533354fULL,
+                                           0x0000010954000051ULL, 0x8000640000000049ULL,
+                                           0x0000109540000518ULL, 0x000640000000049cULL,
+                                           0x0000109540000518ULL, 0x000640000000049fULL,
+                                           0x0000000000000000ULL, 0x0000000000000000ULL,
+                                           0x0000000000000000ULL, 0x000000000000000cULL,
+                                           0x0000000000000000ULL, 0x000000000000000fULL,
+                                           0x0000000000000000ULL, 0x000000000000000dULL,
+                                           0x0000000000080000ULL, 0x0200801330811600ULL,
+                                           0x0000000000800000ULL, 0x200801330811600dULL,
+                                           0x0000000000088170ULL, 0x0000003882028150ULL,
+                                           0x0000000000881700ULL, 0x000003882028150cULL,
+                                           0x0000000000881700ULL, 0x000003882028150fULL
+};
+
+// Both Long and Quad arrays of DFP values should have the same length, so it
+// doesn't matter which array I use for calculating the following #define.
+#define NUM_DFP_VALS (sizeof(dfp64_vals)/8)
+
+typedef enum {
+   LONG_TEST,
+   QUAD_TEST
+} precision_type_t;
+
+typedef struct dfp_one_arg_test
+{
+   test_func_t test_func;
+   const char * name;
+   precision_type_t precision;
+   const char * op;
+} dfp_one_arg_test_t;
+
+typedef struct dfp_one_arg_bcd_test
+{
+   test_func_bcd_t test_func;
+   const char * name;
+   precision_type_t precision;
+   const char * op;
+} dfp_one_arg_bcd_test_t;
+
+static dfp_one_arg_bcd_test_t
+dfp_test_dfp_ddedpd_tests[] = {
+                            { &_test_ddedpd, "ddedpd", LONG_TEST, "[D->B]"},
+                            { &_test_ddedpdq, "ddedpdq", QUAD_TEST, "[D->B]"},
+                            { NULL, NULL, 0, NULL}
+};
+
+static void test_dfp_ddedpd_ops(void)
+{
+   test_func_bcd_t func;
+   dfp_val_t test_val;
+
+   int k = 0;
+
+   while ((func = dfp_test_dfp_ddedpd_tests[k].test_func)) {
+      int i;
+      dfp_one_arg_bcd_test_t test_def = dfp_test_dfp_ddedpd_tests[k];
+
+      for (i = 0; i < NUM_DFP_VALS; i++) {
+         unsigned int SP;
+
+         if (test_def.precision == LONG_TEST) {
+            test_val.u64_val = dfp64_vals[i];
+         } else {
+            test_val.u128.valu = dfp128_vals[i * 2];
+            test_val.u64_val = test_val.u128.valu;
+            test_val.u128.vall = dfp128_vals[(i * 2) + 1];
+         }
+
+         for (SP = 0; SP < 4; SP++) {
+            dfp_val_t result;
+            result = (*func)(SP, test_val);
+            printf("%s (SP=%d) %s%016llx", test_def.name, SP,
+                   test_def.op, test_val.u64_val);
+            if (test_def.precision == QUAD_TEST) {
+               printf(" %016llx", test_val.u128.vall);
+            }
+            if (test_def.precision == LONG_TEST)
+               printf(" ==> %016llx\n", result.u64_val);
+            else
+               printf(" ==> %016llx %016llx\n", result.u128.valu, result.u128.vall);
+         }
+      }
+      k++;
+      printf( "\n" );
+   }
+}
+
+static dfp_one_arg_bcd_test_t
+dfp_test_dfp_denbcd_tests[] = {
+                            { &_test_denbcd, "denbcd", LONG_TEST, "[B->D]"},
+                            { &_test_denbcdq, "denbcdq", QUAD_TEST, "[B->D]"},
+                            { NULL, NULL, 0, NULL}
+};
+
+static void test_dfp_denbcd_ops(void)
+{
+   test_func_bcd_t func;
+   dfp_val_t test_val;
+   int num_test_vals;
+
+   int k = 0;
+
+   while ((func = dfp_test_dfp_denbcd_tests[k].test_func)) {
+      int i;
+      dfp_one_arg_bcd_test_t test_def = dfp_test_dfp_denbcd_tests[k];
+      if (test_def.precision == LONG_TEST)
+         num_test_vals = sizeof(bcd64_vals)/sizeof(unsigned long long);
+      else
+         num_test_vals = sizeof(bcd128_vals)/(2 * sizeof(unsigned long long));
+
+      for (i = 0; i < num_test_vals; i++) {
+         unsigned int S;
+         dfp_val_t result;
+         /* The DPD-to-BCD decodings may contain up to 3 decodings for each normal DFP
+          * value: the first is an unsigned decoding, and the other two are
+          * signed decodings, with SP[1] set to '0' and '1' respectively at decode
+          * time. But some of the results of decodings were duplicates, so they were
+          * not included in the bcd64_vals and bcd128_vals arrays.
+          *
+          * When doing the encoding operation (denbcd), we'll attempt both S=0 and
+          * S=1; one or the other should encode the BCD value to something close to
+          * its original DFP value (except being 2^4 in magnitude since the decoding
+          * operation shifted the value one hex digit to the left to make room
+          * for signedness info).
+          */
+         for (S = 0; S < 2; S++) {
+            if (test_def.precision == LONG_TEST) {
+               test_val.u64_val = bcd64_vals[i];
+            } else {
+               test_val.u128.valu = bcd128_vals[i * 2];
+               test_val.u64_val = test_val.u128.valu;
+               test_val.u128.vall = bcd128_vals[(i * 2) + 1];
+            }
+
+            result = (*func)(S, test_val);
+            printf("%s (S=%d) %s%016llx", test_def.name, S,
+                   test_def.op, test_val.u64_val);
+            if (test_def.precision == QUAD_TEST) {
+               printf(" %016llx", test_val.u128.vall);
+            }
+            if (test_def.precision == LONG_TEST)
+               printf(" ==> %016llx\n", result.u64_val);
+            else
+               printf(" ==> %016llx %016llx\n", result.u128.valu, result.u128.vall);
+         }
+      }
+      k++;
+      printf( "\n" );
+   }
+}
+
+
+static dfp_one_arg_test_t
+dfp_test_significance_tests[] = {
+                                          { &_test_dtstsf,  "dtstsf", LONG_TEST, "[tSig]"},
+                                          { &_test_dtstsfq, "dtstsfq", QUAD_TEST, "[tSig]"},
+                                          { NULL, NULL, 0, NULL}
+};
+
+static void test_dfp_test_significance_ops(void)
+{
+   test_func_t func;
+   dfp_val_t test_valB;
+   int k = 0;
+   unsigned int BF_vals[] = {BF_val1, BF_val2, BF_val3};
+   unsigned int reference_sig, reference_sig_vals[] = {0U, 1U, 2U, 4U, 6U, 63U};
+   int num_reference_sig_vals = sizeof(reference_sig_vals)/sizeof(unsigned int);
+
+   while ((func = dfp_test_significance_tests[k].test_func)) {
+      int i;
+      dfp_one_arg_test_t test_def = dfp_test_significance_tests[k];
+
+      for (i = 0; i < NUM_DFP_VALS; i++) {
+         int j;
+         if (test_def.precision == LONG_TEST) {
+            test_valB.u64_val = dfp64_vals[i];
+         } else {
+            test_valB.u128.valu = dfp128_vals[i * 2];
+            test_valB.u64_val = test_valB.u128.valu;
+            test_valB.u128.vall = dfp128_vals[(i * 2) + 1];
+         }
+
+         for (j = 0; j < num_reference_sig_vals; j++) {
+            int bf_idx, BF;
+            reference_sig = reference_sig_vals[j];
+            for (bf_idx = 0; bf_idx < sizeof(BF_vals)/sizeof(unsigned int); bf_idx++) {
+               unsigned int condreg;
+               unsigned int flags;
+               BF = BF_vals[bf_idx];
+               SET_FPSCR_ZERO;
+               SET_CR_XER_ZERO;
+               (*func)(BF, reference_sig, test_valB);
+               GET_CR(flags);
+
+               condreg = ((flags >> (4 * (7-BF)))) & 0xf;
+               printf("%s (ref_sig=%d) %s%016llx", test_def.name, reference_sig,
+                      test_def.op, test_valB.u64_val);
+               if (test_def.precision == QUAD_TEST) {
+                  printf(" %016llx", test_valB.u128.vall);
+               }
+               printf(" => %x (BF=%d)\n", condreg, BF);
+            }
+         }
+         printf( "\n" );
+      }
+      k++;
+   }
+}
+
+static test_table_t
+         all_tests[] =
+{
+                    { &test_dfp_test_significance_ops,
+                      "Test DFP test significance instructions"},
+                    { &test_dfp_ddedpd_ops,
+                      "Test DFP DPD-to-BCD instructions"},
+                    { &test_dfp_denbcd_ops,
+                      "Test DFP BCD-to-DPD instructions"},
+                    { NULL, NULL }
+};
+#endif // HAS_DFP
+
+int main() {
+#if defined(HAS_DFP)
+
+   test_table_t aTest;
+   test_driver_func_t func;
+   int i = 0;
+
+   while ((func = all_tests[i].test_category)) {
+      aTest = all_tests[i];
+      printf( "%s\n", aTest.name );
+      (*func)();
+      i++;
+   }
+
+#endif // HAS_DFP
+   return 0;
+}
diff --git a/none/tests/ppc32/test_dfp5.stderr.exp b/none/tests/ppc32/test_dfp5.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/ppc32/test_dfp5.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/ppc32/test_dfp5.stdout.exp b/none/tests/ppc32/test_dfp5.stdout.exp
new file mode 100644
index 0000000..0085526
--- /dev/null
+++ b/none/tests/ppc32/test_dfp5.stdout.exp
@@ -0,0 +1,855 @@
+Test DFP test significance instructions
+dtstsf (ref_sig=0) [tSig]2234000000000e50 => 4 (BF=0)
+dtstsf (ref_sig=0) [tSig]2234000000000e50 => 4 (BF=1)
+dtstsf (ref_sig=0) [tSig]2234000000000e50 => 4 (BF=6)
+dtstsf (ref_sig=1) [tSig]2234000000000e50 => 8 (BF=0)
+dtstsf (ref_sig=1) [tSig]2234000000000e50 => 8 (BF=1)
+dtstsf (ref_sig=1) [tSig]2234000000000e50 => 8 (BF=6)
+dtstsf (ref_sig=2) [tSig]2234000000000e50 => 8 (BF=0)
+dtstsf (ref_sig=2) [tSig]2234000000000e50 => 8 (BF=1)
+dtstsf (ref_sig=2) [tSig]2234000000000e50 => 8 (BF=6)
+dtstsf (ref_sig=4) [tSig]2234000000000e50 => 2 (BF=0)
+dtstsf (ref_sig=4) [tSig]2234000000000e50 => 2 (BF=1)
+dtstsf (ref_sig=4) [tSig]2234000000000e50 => 2 (BF=6)
+dtstsf (ref_sig=6) [tSig]2234000000000e50 => 4 (BF=0)
+dtstsf (ref_sig=6) [tSig]2234000000000e50 => 4 (BF=1)
+dtstsf (ref_sig=6) [tSig]2234000000000e50 => 4 (BF=6)
+dtstsf (ref_sig=63) [tSig]2234000000000e50 => 4 (BF=0)
+dtstsf (ref_sig=63) [tSig]2234000000000e50 => 4 (BF=1)
+dtstsf (ref_sig=63) [tSig]2234000000000e50 => 4 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]223400000014c000 => 4 (BF=0)
+dtstsf (ref_sig=0) [tSig]223400000014c000 => 4 (BF=1)
+dtstsf (ref_sig=0) [tSig]223400000014c000 => 4 (BF=6)
+dtstsf (ref_sig=1) [tSig]223400000014c000 => 8 (BF=0)
+dtstsf (ref_sig=1) [tSig]223400000014c000 => 8 (BF=1)
+dtstsf (ref_sig=1) [tSig]223400000014c000 => 8 (BF=6)
+dtstsf (ref_sig=2) [tSig]223400000014c000 => 8 (BF=0)
+dtstsf (ref_sig=2) [tSig]223400000014c000 => 8 (BF=1)
+dtstsf (ref_sig=2) [tSig]223400000014c000 => 8 (BF=6)
+dtstsf (ref_sig=4) [tSig]223400000014c000 => 8 (BF=0)
+dtstsf (ref_sig=4) [tSig]223400000014c000 => 8 (BF=1)
+dtstsf (ref_sig=4) [tSig]223400000014c000 => 8 (BF=6)
+dtstsf (ref_sig=6) [tSig]223400000014c000 => 8 (BF=0)
+dtstsf (ref_sig=6) [tSig]223400000014c000 => 8 (BF=1)
+dtstsf (ref_sig=6) [tSig]223400000014c000 => 8 (BF=6)
+dtstsf (ref_sig=63) [tSig]223400000014c000 => 4 (BF=0)
+dtstsf (ref_sig=63) [tSig]223400000014c000 => 4 (BF=1)
+dtstsf (ref_sig=63) [tSig]223400000014c000 => 4 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]a2340000000000e0 => 4 (BF=0)
+dtstsf (ref_sig=0) [tSig]a2340000000000e0 => 4 (BF=1)
+dtstsf (ref_sig=0) [tSig]a2340000000000e0 => 4 (BF=6)
+dtstsf (ref_sig=1) [tSig]a2340000000000e0 => 8 (BF=0)
+dtstsf (ref_sig=1) [tSig]a2340000000000e0 => 8 (BF=1)
+dtstsf (ref_sig=1) [tSig]a2340000000000e0 => 8 (BF=6)
+dtstsf (ref_sig=2) [tSig]a2340000000000e0 => 8 (BF=0)
+dtstsf (ref_sig=2) [tSig]a2340000000000e0 => 8 (BF=1)
+dtstsf (ref_sig=2) [tSig]a2340000000000e0 => 8 (BF=6)
+dtstsf (ref_sig=4) [tSig]a2340000000000e0 => 4 (BF=0)
+dtstsf (ref_sig=4) [tSig]a2340000000000e0 => 4 (BF=1)
+dtstsf (ref_sig=4) [tSig]a2340000000000e0 => 4 (BF=6)
+dtstsf (ref_sig=6) [tSig]a2340000000000e0 => 4 (BF=0)
+dtstsf (ref_sig=6) [tSig]a2340000000000e0 => 4 (BF=1)
+dtstsf (ref_sig=6) [tSig]a2340000000000e0 => 4 (BF=6)
+dtstsf (ref_sig=63) [tSig]a2340000000000e0 => 4 (BF=0)
+dtstsf (ref_sig=63) [tSig]a2340000000000e0 => 4 (BF=1)
+dtstsf (ref_sig=63) [tSig]a2340000000000e0 => 4 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]22240000000000cf => 4 (BF=0)
+dtstsf (ref_sig=0) [tSig]22240000000000cf => 4 (BF=1)
+dtstsf (ref_sig=0) [tSig]22240000000000cf => 4 (BF=6)
+dtstsf (ref_sig=1) [tSig]22240000000000cf => 8 (BF=0)
+dtstsf (ref_sig=1) [tSig]22240000000000cf => 8 (BF=1)
+dtstsf (ref_sig=1) [tSig]22240000000000cf => 8 (BF=6)
+dtstsf (ref_sig=2) [tSig]22240000000000cf => 8 (BF=0)
+dtstsf (ref_sig=2) [tSig]22240000000000cf => 8 (BF=1)
+dtstsf (ref_sig=2) [tSig]22240000000000cf => 8 (BF=6)
+dtstsf (ref_sig=4) [tSig]22240000000000cf => 4 (BF=0)
+dtstsf (ref_sig=4) [tSig]22240000000000cf => 4 (BF=1)
+dtstsf (ref_sig=4) [tSig]22240000000000cf => 4 (BF=6)
+dtstsf (ref_sig=6) [tSig]22240000000000cf => 4 (BF=0)
+dtstsf (ref_sig=6) [tSig]22240000000000cf => 4 (BF=1)
+dtstsf (ref_sig=6) [tSig]22240000000000cf => 4 (BF=6)
+dtstsf (ref_sig=63) [tSig]22240000000000cf => 4 (BF=0)
+dtstsf (ref_sig=63) [tSig]22240000000000cf => 4 (BF=1)
+dtstsf (ref_sig=63) [tSig]22240000000000cf => 4 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]a21400010a395bcf => 4 (BF=0)
+dtstsf (ref_sig=0) [tSig]a21400010a395bcf => 4 (BF=1)
+dtstsf (ref_sig=0) [tSig]a21400010a395bcf => 4 (BF=6)
+dtstsf (ref_sig=1) [tSig]a21400010a395bcf => 8 (BF=0)
+dtstsf (ref_sig=1) [tSig]a21400010a395bcf => 8 (BF=1)
+dtstsf (ref_sig=1) [tSig]a21400010a395bcf => 8 (BF=6)
+dtstsf (ref_sig=2) [tSig]a21400010a395bcf => 8 (BF=0)
+dtstsf (ref_sig=2) [tSig]a21400010a395bcf => 8 (BF=1)
+dtstsf (ref_sig=2) [tSig]a21400010a395bcf => 8 (BF=6)
+dtstsf (ref_sig=4) [tSig]a21400010a395bcf => 8 (BF=0)
+dtstsf (ref_sig=4) [tSig]a21400010a395bcf => 8 (BF=1)
+dtstsf (ref_sig=4) [tSig]a21400010a395bcf => 8 (BF=6)
+dtstsf (ref_sig=6) [tSig]a21400010a395bcf => 8 (BF=0)
+dtstsf (ref_sig=6) [tSig]a21400010a395bcf => 8 (BF=1)
+dtstsf (ref_sig=6) [tSig]a21400010a395bcf => 8 (BF=6)
+dtstsf (ref_sig=63) [tSig]a21400010a395bcf => 4 (BF=0)
+dtstsf (ref_sig=63) [tSig]a21400010a395bcf => 4 (BF=1)
+dtstsf (ref_sig=63) [tSig]a21400010a395bcf => 4 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]6e4d3f1f534acdd4 => 4 (BF=0)
+dtstsf (ref_sig=0) [tSig]6e4d3f1f534acdd4 => 4 (BF=1)
+dtstsf (ref_sig=0) [tSig]6e4d3f1f534acdd4 => 4 (BF=6)
+dtstsf (ref_sig=1) [tSig]6e4d3f1f534acdd4 => 8 (BF=0)
+dtstsf (ref_sig=1) [tSig]6e4d3f1f534acdd4 => 8 (BF=1)
+dtstsf (ref_sig=1) [tSig]6e4d3f1f534acdd4 => 8 (BF=6)
+dtstsf (ref_sig=2) [tSig]6e4d3f1f534acdd4 => 8 (BF=0)
+dtstsf (ref_sig=2) [tSig]6e4d3f1f534acdd4 => 8 (BF=1)
+dtstsf (ref_sig=2) [tSig]6e4d3f1f534acdd4 => 8 (BF=6)
+dtstsf (ref_sig=4) [tSig]6e4d3f1f534acdd4 => 8 (BF=0)
+dtstsf (ref_sig=4) [tSig]6e4d3f1f534acdd4 => 8 (BF=1)
+dtstsf (ref_sig=4) [tSig]6e4d3f1f534acdd4 => 8 (BF=6)
+dtstsf (ref_sig=6) [tSig]6e4d3f1f534acdd4 => 8 (BF=0)
+dtstsf (ref_sig=6) [tSig]6e4d3f1f534acdd4 => 8 (BF=1)
+dtstsf (ref_sig=6) [tSig]6e4d3f1f534acdd4 => 8 (BF=6)
+dtstsf (ref_sig=63) [tSig]6e4d3f1f534acdd4 => 4 (BF=0)
+dtstsf (ref_sig=63) [tSig]6e4d3f1f534acdd4 => 4 (BF=1)
+dtstsf (ref_sig=63) [tSig]6e4d3f1f534acdd4 => 4 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]000400000089b000 => 4 (BF=0)
+dtstsf (ref_sig=0) [tSig]000400000089b000 => 4 (BF=1)
+dtstsf (ref_sig=0) [tSig]000400000089b000 => 4 (BF=6)
+dtstsf (ref_sig=1) [tSig]000400000089b000 => 8 (BF=0)
+dtstsf (ref_sig=1) [tSig]000400000089b000 => 8 (BF=1)
+dtstsf (ref_sig=1) [tSig]000400000089b000 => 8 (BF=6)
+dtstsf (ref_sig=2) [tSig]000400000089b000 => 8 (BF=0)
+dtstsf (ref_sig=2) [tSig]000400000089b000 => 8 (BF=1)
+dtstsf (ref_sig=2) [tSig]000400000089b000 => 8 (BF=6)
+dtstsf (ref_sig=4) [tSig]000400000089b000 => 8 (BF=0)
+dtstsf (ref_sig=4) [tSig]000400000089b000 => 8 (BF=1)
+dtstsf (ref_sig=4) [tSig]000400000089b000 => 8 (BF=6)
+dtstsf (ref_sig=6) [tSig]000400000089b000 => 8 (BF=0)
+dtstsf (ref_sig=6) [tSig]000400000089b000 => 8 (BF=1)
+dtstsf (ref_sig=6) [tSig]000400000089b000 => 8 (BF=6)
+dtstsf (ref_sig=63) [tSig]000400000089b000 => 4 (BF=0)
+dtstsf (ref_sig=63) [tSig]000400000089b000 => 4 (BF=1)
+dtstsf (ref_sig=63) [tSig]000400000089b000 => 4 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]2238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=0) [tSig]2238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=0) [tSig]2238000000000000 => 4 (BF=6)
+dtstsf (ref_sig=1) [tSig]2238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=1) [tSig]2238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=1) [tSig]2238000000000000 => 4 (BF=6)
+dtstsf (ref_sig=2) [tSig]2238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=2) [tSig]2238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=2) [tSig]2238000000000000 => 4 (BF=6)
+dtstsf (ref_sig=4) [tSig]2238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=4) [tSig]2238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=4) [tSig]2238000000000000 => 4 (BF=6)
+dtstsf (ref_sig=6) [tSig]2238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=6) [tSig]2238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=6) [tSig]2238000000000000 => 4 (BF=6)
+dtstsf (ref_sig=63) [tSig]2238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=63) [tSig]2238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=63) [tSig]2238000000000000 => 4 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]a238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=0) [tSig]a238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=0) [tSig]a238000000000000 => 4 (BF=6)
+dtstsf (ref_sig=1) [tSig]a238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=1) [tSig]a238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=1) [tSig]a238000000000000 => 4 (BF=6)
+dtstsf (ref_sig=2) [tSig]a238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=2) [tSig]a238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=2) [tSig]a238000000000000 => 4 (BF=6)
+dtstsf (ref_sig=4) [tSig]a238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=4) [tSig]a238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=4) [tSig]a238000000000000 => 4 (BF=6)
+dtstsf (ref_sig=6) [tSig]a238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=6) [tSig]a238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=6) [tSig]a238000000000000 => 4 (BF=6)
+dtstsf (ref_sig=63) [tSig]a238000000000000 => 4 (BF=0)
+dtstsf (ref_sig=63) [tSig]a238000000000000 => 4 (BF=1)
+dtstsf (ref_sig=63) [tSig]a238000000000000 => 4 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]4248000000000000 => 4 (BF=0)
+dtstsf (ref_sig=0) [tSig]4248000000000000 => 4 (BF=1)
+dtstsf (ref_sig=0) [tSig]4248000000000000 => 4 (BF=6)
+dtstsf (ref_sig=1) [tSig]4248000000000000 => 4 (BF=0)
+dtstsf (ref_sig=1) [tSig]4248000000000000 => 4 (BF=1)
+dtstsf (ref_sig=1) [tSig]4248000000000000 => 4 (BF=6)
+dtstsf (ref_sig=2) [tSig]4248000000000000 => 4 (BF=0)
+dtstsf (ref_sig=2) [tSig]4248000000000000 => 4 (BF=1)
+dtstsf (ref_sig=2) [tSig]4248000000000000 => 4 (BF=6)
+dtstsf (ref_sig=4) [tSig]4248000000000000 => 4 (BF=0)
+dtstsf (ref_sig=4) [tSig]4248000000000000 => 4 (BF=1)
+dtstsf (ref_sig=4) [tSig]4248000000000000 => 4 (BF=6)
+dtstsf (ref_sig=6) [tSig]4248000000000000 => 4 (BF=0)
+dtstsf (ref_sig=6) [tSig]4248000000000000 => 4 (BF=1)
+dtstsf (ref_sig=6) [tSig]4248000000000000 => 4 (BF=6)
+dtstsf (ref_sig=63) [tSig]4248000000000000 => 4 (BF=0)
+dtstsf (ref_sig=63) [tSig]4248000000000000 => 4 (BF=1)
+dtstsf (ref_sig=63) [tSig]4248000000000000 => 4 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]7e34000000000111 => 1 (BF=0)
+dtstsf (ref_sig=0) [tSig]7e34000000000111 => 1 (BF=1)
+dtstsf (ref_sig=0) [tSig]7e34000000000111 => 1 (BF=6)
+dtstsf (ref_sig=1) [tSig]7e34000000000111 => 1 (BF=0)
+dtstsf (ref_sig=1) [tSig]7e34000000000111 => 1 (BF=1)
+dtstsf (ref_sig=1) [tSig]7e34000000000111 => 1 (BF=6)
+dtstsf (ref_sig=2) [tSig]7e34000000000111 => 1 (BF=0)
+dtstsf (ref_sig=2) [tSig]7e34000000000111 => 1 (BF=1)
+dtstsf (ref_sig=2) [tSig]7e34000000000111 => 1 (BF=6)
+dtstsf (ref_sig=4) [tSig]7e34000000000111 => 1 (BF=0)
+dtstsf (ref_sig=4) [tSig]7e34000000000111 => 1 (BF=1)
+dtstsf (ref_sig=4) [tSig]7e34000000000111 => 1 (BF=6)
+dtstsf (ref_sig=6) [tSig]7e34000000000111 => 1 (BF=0)
+dtstsf (ref_sig=6) [tSig]7e34000000000111 => 1 (BF=1)
+dtstsf (ref_sig=6) [tSig]7e34000000000111 => 1 (BF=6)
+dtstsf (ref_sig=63) [tSig]7e34000000000111 => 1 (BF=0)
+dtstsf (ref_sig=63) [tSig]7e34000000000111 => 1 (BF=1)
+dtstsf (ref_sig=63) [tSig]7e34000000000111 => 1 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]fe000000d0e0a0d0 => 1 (BF=0)
+dtstsf (ref_sig=0) [tSig]fe000000d0e0a0d0 => 1 (BF=1)
+dtstsf (ref_sig=0) [tSig]fe000000d0e0a0d0 => 1 (BF=6)
+dtstsf (ref_sig=1) [tSig]fe000000d0e0a0d0 => 1 (BF=0)
+dtstsf (ref_sig=1) [tSig]fe000000d0e0a0d0 => 1 (BF=1)
+dtstsf (ref_sig=1) [tSig]fe000000d0e0a0d0 => 1 (BF=6)
+dtstsf (ref_sig=2) [tSig]fe000000d0e0a0d0 => 1 (BF=0)
+dtstsf (ref_sig=2) [tSig]fe000000d0e0a0d0 => 1 (BF=1)
+dtstsf (ref_sig=2) [tSig]fe000000d0e0a0d0 => 1 (BF=6)
+dtstsf (ref_sig=4) [tSig]fe000000d0e0a0d0 => 1 (BF=0)
+dtstsf (ref_sig=4) [tSig]fe000000d0e0a0d0 => 1 (BF=1)
+dtstsf (ref_sig=4) [tSig]fe000000d0e0a0d0 => 1 (BF=6)
+dtstsf (ref_sig=6) [tSig]fe000000d0e0a0d0 => 1 (BF=0)
+dtstsf (ref_sig=6) [tSig]fe000000d0e0a0d0 => 1 (BF=1)
+dtstsf (ref_sig=6) [tSig]fe000000d0e0a0d0 => 1 (BF=6)
+dtstsf (ref_sig=63) [tSig]fe000000d0e0a0d0 => 1 (BF=0)
+dtstsf (ref_sig=63) [tSig]fe000000d0e0a0d0 => 1 (BF=1)
+dtstsf (ref_sig=63) [tSig]fe000000d0e0a0d0 => 1 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]fc00000000000000 => 1 (BF=0)
+dtstsf (ref_sig=0) [tSig]fc00000000000000 => 1 (BF=1)
+dtstsf (ref_sig=0) [tSig]fc00000000000000 => 1 (BF=6)
+dtstsf (ref_sig=1) [tSig]fc00000000000000 => 1 (BF=0)
+dtstsf (ref_sig=1) [tSig]fc00000000000000 => 1 (BF=1)
+dtstsf (ref_sig=1) [tSig]fc00000000000000 => 1 (BF=6)
+dtstsf (ref_sig=2) [tSig]fc00000000000000 => 1 (BF=0)
+dtstsf (ref_sig=2) [tSig]fc00000000000000 => 1 (BF=1)
+dtstsf (ref_sig=2) [tSig]fc00000000000000 => 1 (BF=6)
+dtstsf (ref_sig=4) [tSig]fc00000000000000 => 1 (BF=0)
+dtstsf (ref_sig=4) [tSig]fc00000000000000 => 1 (BF=1)
+dtstsf (ref_sig=4) [tSig]fc00000000000000 => 1 (BF=6)
+dtstsf (ref_sig=6) [tSig]fc00000000000000 => 1 (BF=0)
+dtstsf (ref_sig=6) [tSig]fc00000000000000 => 1 (BF=1)
+dtstsf (ref_sig=6) [tSig]fc00000000000000 => 1 (BF=6)
+dtstsf (ref_sig=63) [tSig]fc00000000000000 => 1 (BF=0)
+dtstsf (ref_sig=63) [tSig]fc00000000000000 => 1 (BF=1)
+dtstsf (ref_sig=63) [tSig]fc00000000000000 => 1 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]7800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=0) [tSig]7800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=0) [tSig]7800000000000000 => 1 (BF=6)
+dtstsf (ref_sig=1) [tSig]7800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=1) [tSig]7800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=1) [tSig]7800000000000000 => 1 (BF=6)
+dtstsf (ref_sig=2) [tSig]7800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=2) [tSig]7800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=2) [tSig]7800000000000000 => 1 (BF=6)
+dtstsf (ref_sig=4) [tSig]7800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=4) [tSig]7800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=4) [tSig]7800000000000000 => 1 (BF=6)
+dtstsf (ref_sig=6) [tSig]7800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=6) [tSig]7800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=6) [tSig]7800000000000000 => 1 (BF=6)
+dtstsf (ref_sig=63) [tSig]7800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=63) [tSig]7800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=63) [tSig]7800000000000000 => 1 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]f800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=0) [tSig]f800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=0) [tSig]f800000000000000 => 1 (BF=6)
+dtstsf (ref_sig=1) [tSig]f800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=1) [tSig]f800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=1) [tSig]f800000000000000 => 1 (BF=6)
+dtstsf (ref_sig=2) [tSig]f800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=2) [tSig]f800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=2) [tSig]f800000000000000 => 1 (BF=6)
+dtstsf (ref_sig=4) [tSig]f800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=4) [tSig]f800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=4) [tSig]f800000000000000 => 1 (BF=6)
+dtstsf (ref_sig=6) [tSig]f800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=6) [tSig]f800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=6) [tSig]f800000000000000 => 1 (BF=6)
+dtstsf (ref_sig=63) [tSig]f800000000000000 => 1 (BF=0)
+dtstsf (ref_sig=63) [tSig]f800000000000000 => 1 (BF=1)
+dtstsf (ref_sig=63) [tSig]f800000000000000 => 1 (BF=6)
+
+dtstsf (ref_sig=0) [tSig]7a34000000000000 => 1 (BF=0)
+dtstsf (ref_sig=0) [tSig]7a34000000000000 => 1 (BF=1)
+dtstsf (ref_sig=0) [tSig]7a34000000000000 => 1 (BF=6)
+dtstsf (ref_sig=1) [tSig]7a34000000000000 => 1 (BF=0)
+dtstsf (ref_sig=1) [tSig]7a34000000000000 => 1 (BF=1)
+dtstsf (ref_sig=1) [tSig]7a34000000000000 => 1 (BF=6)
+dtstsf (ref_sig=2) [tSig]7a34000000000000 => 1 (BF=0)
+dtstsf (ref_sig=2) [tSig]7a34000000000000 => 1 (BF=1)
+dtstsf (ref_sig=2) [tSig]7a34000000000000 => 1 (BF=6)
+dtstsf (ref_sig=4) [tSig]7a34000000000000 => 1 (BF=0)
+dtstsf (ref_sig=4) [tSig]7a34000000000000 => 1 (BF=1)
+dtstsf (ref_sig=4) [tSig]7a34000000000000 => 1 (BF=6)
+dtstsf (ref_sig=6) [tSig]7a34000000000000 => 1 (BF=0)
+dtstsf (ref_sig=6) [tSig]7a34000000000000 => 1 (BF=1)
+dtstsf (ref_sig=6) [tSig]7a34000000000000 => 1 (BF=6)
+dtstsf (ref_sig=63) [tSig]7a34000000000000 => 1 (BF=0)
+dtstsf (ref_sig=63) [tSig]7a34000000000000 => 1 (BF=1)
+dtstsf (ref_sig=63) [tSig]7a34000000000000 => 1 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]2207c00000000000 0000000000000e50 => 4 (BF=0)
+dtstsfq (ref_sig=0) [tSig]2207c00000000000 0000000000000e50 => 4 (BF=1)
+dtstsfq (ref_sig=0) [tSig]2207c00000000000 0000000000000e50 => 4 (BF=6)
+dtstsfq (ref_sig=1) [tSig]2207c00000000000 0000000000000e50 => 8 (BF=0)
+dtstsfq (ref_sig=1) [tSig]2207c00000000000 0000000000000e50 => 8 (BF=1)
+dtstsfq (ref_sig=1) [tSig]2207c00000000000 0000000000000e50 => 8 (BF=6)
+dtstsfq (ref_sig=2) [tSig]2207c00000000000 0000000000000e50 => 8 (BF=0)
+dtstsfq (ref_sig=2) [tSig]2207c00000000000 0000000000000e50 => 8 (BF=1)
+dtstsfq (ref_sig=2) [tSig]2207c00000000000 0000000000000e50 => 8 (BF=6)
+dtstsfq (ref_sig=4) [tSig]2207c00000000000 0000000000000e50 => 2 (BF=0)
+dtstsfq (ref_sig=4) [tSig]2207c00000000000 0000000000000e50 => 2 (BF=1)
+dtstsfq (ref_sig=4) [tSig]2207c00000000000 0000000000000e50 => 2 (BF=6)
+dtstsfq (ref_sig=6) [tSig]2207c00000000000 0000000000000e50 => 4 (BF=0)
+dtstsfq (ref_sig=6) [tSig]2207c00000000000 0000000000000e50 => 4 (BF=1)
+dtstsfq (ref_sig=6) [tSig]2207c00000000000 0000000000000e50 => 4 (BF=6)
+dtstsfq (ref_sig=63) [tSig]2207c00000000000 0000000000000e50 => 4 (BF=0)
+dtstsfq (ref_sig=63) [tSig]2207c00000000000 0000000000000e50 => 4 (BF=1)
+dtstsfq (ref_sig=63) [tSig]2207c00000000000 0000000000000e50 => 4 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]2207c00000000000 000000000014c000 => 4 (BF=0)
+dtstsfq (ref_sig=0) [tSig]2207c00000000000 000000000014c000 => 4 (BF=1)
+dtstsfq (ref_sig=0) [tSig]2207c00000000000 000000000014c000 => 4 (BF=6)
+dtstsfq (ref_sig=1) [tSig]2207c00000000000 000000000014c000 => 8 (BF=0)
+dtstsfq (ref_sig=1) [tSig]2207c00000000000 000000000014c000 => 8 (BF=1)
+dtstsfq (ref_sig=1) [tSig]2207c00000000000 000000000014c000 => 8 (BF=6)
+dtstsfq (ref_sig=2) [tSig]2207c00000000000 000000000014c000 => 8 (BF=0)
+dtstsfq (ref_sig=2) [tSig]2207c00000000000 000000000014c000 => 8 (BF=1)
+dtstsfq (ref_sig=2) [tSig]2207c00000000000 000000000014c000 => 8 (BF=6)
+dtstsfq (ref_sig=4) [tSig]2207c00000000000 000000000014c000 => 8 (BF=0)
+dtstsfq (ref_sig=4) [tSig]2207c00000000000 000000000014c000 => 8 (BF=1)
+dtstsfq (ref_sig=4) [tSig]2207c00000000000 000000000014c000 => 8 (BF=6)
+dtstsfq (ref_sig=6) [tSig]2207c00000000000 000000000014c000 => 8 (BF=0)
+dtstsfq (ref_sig=6) [tSig]2207c00000000000 000000000014c000 => 8 (BF=1)
+dtstsfq (ref_sig=6) [tSig]2207c00000000000 000000000014c000 => 8 (BF=6)
+dtstsfq (ref_sig=63) [tSig]2207c00000000000 000000000014c000 => 4 (BF=0)
+dtstsfq (ref_sig=63) [tSig]2207c00000000000 000000000014c000 => 4 (BF=1)
+dtstsfq (ref_sig=63) [tSig]2207c00000000000 000000000014c000 => 4 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=0)
+dtstsfq (ref_sig=0) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=1)
+dtstsfq (ref_sig=0) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=6)
+dtstsfq (ref_sig=1) [tSig]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstsfq (ref_sig=1) [tSig]a207c00000000000 00000000000000e0 => 8 (BF=1)
+dtstsfq (ref_sig=1) [tSig]a207c00000000000 00000000000000e0 => 8 (BF=6)
+dtstsfq (ref_sig=2) [tSig]a207c00000000000 00000000000000e0 => 8 (BF=0)
+dtstsfq (ref_sig=2) [tSig]a207c00000000000 00000000000000e0 => 8 (BF=1)
+dtstsfq (ref_sig=2) [tSig]a207c00000000000 00000000000000e0 => 8 (BF=6)
+dtstsfq (ref_sig=4) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=0)
+dtstsfq (ref_sig=4) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=1)
+dtstsfq (ref_sig=4) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=6)
+dtstsfq (ref_sig=6) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=0)
+dtstsfq (ref_sig=6) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=1)
+dtstsfq (ref_sig=6) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=6)
+dtstsfq (ref_sig=63) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=0)
+dtstsfq (ref_sig=63) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=1)
+dtstsfq (ref_sig=63) [tSig]a207c00000000000 00000000000000e0 => 4 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]2206c00000000000 00000000000000cf => 4 (BF=0)
+dtstsfq (ref_sig=0) [tSig]2206c00000000000 00000000000000cf => 4 (BF=1)
+dtstsfq (ref_sig=0) [tSig]2206c00000000000 00000000000000cf => 4 (BF=6)
+dtstsfq (ref_sig=1) [tSig]2206c00000000000 00000000000000cf => 8 (BF=0)
+dtstsfq (ref_sig=1) [tSig]2206c00000000000 00000000000000cf => 8 (BF=1)
+dtstsfq (ref_sig=1) [tSig]2206c00000000000 00000000000000cf => 8 (BF=6)
+dtstsfq (ref_sig=2) [tSig]2206c00000000000 00000000000000cf => 8 (BF=0)
+dtstsfq (ref_sig=2) [tSig]2206c00000000000 00000000000000cf => 8 (BF=1)
+dtstsfq (ref_sig=2) [tSig]2206c00000000000 00000000000000cf => 8 (BF=6)
+dtstsfq (ref_sig=4) [tSig]2206c00000000000 00000000000000cf => 4 (BF=0)
+dtstsfq (ref_sig=4) [tSig]2206c00000000000 00000000000000cf => 4 (BF=1)
+dtstsfq (ref_sig=4) [tSig]2206c00000000000 00000000000000cf => 4 (BF=6)
+dtstsfq (ref_sig=6) [tSig]2206c00000000000 00000000000000cf => 4 (BF=0)
+dtstsfq (ref_sig=6) [tSig]2206c00000000000 00000000000000cf => 4 (BF=1)
+dtstsfq (ref_sig=6) [tSig]2206c00000000000 00000000000000cf => 4 (BF=6)
+dtstsfq (ref_sig=63) [tSig]2206c00000000000 00000000000000cf => 4 (BF=0)
+dtstsfq (ref_sig=63) [tSig]2206c00000000000 00000000000000cf => 4 (BF=1)
+dtstsfq (ref_sig=63) [tSig]2206c00000000000 00000000000000cf => 4 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]a205c00000000000 000000010a395bcf => 4 (BF=0)
+dtstsfq (ref_sig=0) [tSig]a205c00000000000 000000010a395bcf => 4 (BF=1)
+dtstsfq (ref_sig=0) [tSig]a205c00000000000 000000010a395bcf => 4 (BF=6)
+dtstsfq (ref_sig=1) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstsfq (ref_sig=1) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=1)
+dtstsfq (ref_sig=1) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=6)
+dtstsfq (ref_sig=2) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstsfq (ref_sig=2) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=1)
+dtstsfq (ref_sig=2) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=6)
+dtstsfq (ref_sig=4) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstsfq (ref_sig=4) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=1)
+dtstsfq (ref_sig=4) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=6)
+dtstsfq (ref_sig=6) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=0)
+dtstsfq (ref_sig=6) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=1)
+dtstsfq (ref_sig=6) [tSig]a205c00000000000 000000010a395bcf => 8 (BF=6)
+dtstsfq (ref_sig=63) [tSig]a205c00000000000 000000010a395bcf => 4 (BF=0)
+dtstsfq (ref_sig=63) [tSig]a205c00000000000 000000010a395bcf => 4 (BF=1)
+dtstsfq (ref_sig=63) [tSig]a205c00000000000 000000010a395bcf => 4 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]6209400000fd0000 00253f1f534acdd4 => 4 (BF=0)
+dtstsfq (ref_sig=0) [tSig]6209400000fd0000 00253f1f534acdd4 => 4 (BF=1)
+dtstsfq (ref_sig=0) [tSig]6209400000fd0000 00253f1f534acdd4 => 4 (BF=6)
+dtstsfq (ref_sig=1) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=0)
+dtstsfq (ref_sig=1) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=1)
+dtstsfq (ref_sig=1) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=6)
+dtstsfq (ref_sig=2) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=0)
+dtstsfq (ref_sig=2) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=1)
+dtstsfq (ref_sig=2) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=6)
+dtstsfq (ref_sig=4) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=0)
+dtstsfq (ref_sig=4) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=1)
+dtstsfq (ref_sig=4) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=6)
+dtstsfq (ref_sig=6) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=0)
+dtstsfq (ref_sig=6) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=1)
+dtstsfq (ref_sig=6) [tSig]6209400000fd0000 00253f1f534acdd4 => 8 (BF=6)
+dtstsfq (ref_sig=63) [tSig]6209400000fd0000 00253f1f534acdd4 => 4 (BF=0)
+dtstsfq (ref_sig=63) [tSig]6209400000fd0000 00253f1f534acdd4 => 4 (BF=1)
+dtstsfq (ref_sig=63) [tSig]6209400000fd0000 00253f1f534acdd4 => 4 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]000400000089b000 0a6000d000000049 => 4 (BF=0)
+dtstsfq (ref_sig=0) [tSig]000400000089b000 0a6000d000000049 => 4 (BF=1)
+dtstsfq (ref_sig=0) [tSig]000400000089b000 0a6000d000000049 => 4 (BF=6)
+dtstsfq (ref_sig=1) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=0)
+dtstsfq (ref_sig=1) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=1)
+dtstsfq (ref_sig=1) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=6)
+dtstsfq (ref_sig=2) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=0)
+dtstsfq (ref_sig=2) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=1)
+dtstsfq (ref_sig=2) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=6)
+dtstsfq (ref_sig=4) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=0)
+dtstsfq (ref_sig=4) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=1)
+dtstsfq (ref_sig=4) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=6)
+dtstsfq (ref_sig=6) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=0)
+dtstsfq (ref_sig=6) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=1)
+dtstsfq (ref_sig=6) [tSig]000400000089b000 0a6000d000000049 => 8 (BF=6)
+dtstsfq (ref_sig=63) [tSig]000400000089b000 0a6000d000000049 => 4 (BF=0)
+dtstsfq (ref_sig=63) [tSig]000400000089b000 0a6000d000000049 => 4 (BF=1)
+dtstsfq (ref_sig=63) [tSig]000400000089b000 0a6000d000000049 => 4 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]2208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=0) [tSig]2208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=0) [tSig]2208000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=1) [tSig]2208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=1) [tSig]2208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=1) [tSig]2208000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=2) [tSig]2208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=2) [tSig]2208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=2) [tSig]2208000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=4) [tSig]2208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=4) [tSig]2208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=4) [tSig]2208000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=6) [tSig]2208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=6) [tSig]2208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=6) [tSig]2208000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=63) [tSig]2208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=63) [tSig]2208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=63) [tSig]2208000000000000 0000000000000000 => 4 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]a208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=0) [tSig]a208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=0) [tSig]a208000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=1) [tSig]a208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=1) [tSig]a208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=1) [tSig]a208000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=2) [tSig]a208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=2) [tSig]a208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=2) [tSig]a208000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=4) [tSig]a208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=4) [tSig]a208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=4) [tSig]a208000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=6) [tSig]a208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=6) [tSig]a208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=6) [tSig]a208000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=63) [tSig]a208000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=63) [tSig]a208000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=63) [tSig]a208000000000000 0000000000000000 => 4 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]a248000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=0) [tSig]a248000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=0) [tSig]a248000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=1) [tSig]a248000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=1) [tSig]a248000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=1) [tSig]a248000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=2) [tSig]a248000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=2) [tSig]a248000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=2) [tSig]a248000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=4) [tSig]a248000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=4) [tSig]a248000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=4) [tSig]a248000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=6) [tSig]a248000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=6) [tSig]a248000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=6) [tSig]a248000000000000 0000000000000000 => 4 (BF=6)
+dtstsfq (ref_sig=63) [tSig]a248000000000000 0000000000000000 => 4 (BF=0)
+dtstsfq (ref_sig=63) [tSig]a248000000000000 0000000000000000 => 4 (BF=1)
+dtstsfq (ref_sig=63) [tSig]a248000000000000 0000000000000000 => 4 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]7c00000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=0) [tSig]7c00000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=0) [tSig]7c00000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=1) [tSig]7c00000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=1) [tSig]7c00000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=1) [tSig]7c00000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=2) [tSig]7c00000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=2) [tSig]7c00000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=2) [tSig]7c00000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=4) [tSig]7c00000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=4) [tSig]7c00000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=4) [tSig]7c00000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=6) [tSig]7c00000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=6) [tSig]7c00000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=6) [tSig]7c00000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=63) [tSig]7c00000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=63) [tSig]7c00000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=63) [tSig]7c00000000000000 0000000000000000 => 1 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=0)
+dtstsfq (ref_sig=0) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=1)
+dtstsfq (ref_sig=0) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=6)
+dtstsfq (ref_sig=1) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=0)
+dtstsfq (ref_sig=1) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=1)
+dtstsfq (ref_sig=1) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=6)
+dtstsfq (ref_sig=2) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=0)
+dtstsfq (ref_sig=2) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=1)
+dtstsfq (ref_sig=2) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=6)
+dtstsfq (ref_sig=4) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=0)
+dtstsfq (ref_sig=4) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=1)
+dtstsfq (ref_sig=4) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=6)
+dtstsfq (ref_sig=6) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=0)
+dtstsfq (ref_sig=6) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=1)
+dtstsfq (ref_sig=6) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=6)
+dtstsfq (ref_sig=63) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=0)
+dtstsfq (ref_sig=63) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=1)
+dtstsfq (ref_sig=63) [tSig]fc00000000000000 c00100035b007700 => 1 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=0)
+dtstsfq (ref_sig=0) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=1)
+dtstsfq (ref_sig=0) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=6)
+dtstsfq (ref_sig=1) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=0)
+dtstsfq (ref_sig=1) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=1)
+dtstsfq (ref_sig=1) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=6)
+dtstsfq (ref_sig=2) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=0)
+dtstsfq (ref_sig=2) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=1)
+dtstsfq (ref_sig=2) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=6)
+dtstsfq (ref_sig=4) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=0)
+dtstsfq (ref_sig=4) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=1)
+dtstsfq (ref_sig=4) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=6)
+dtstsfq (ref_sig=6) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=0)
+dtstsfq (ref_sig=6) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=1)
+dtstsfq (ref_sig=6) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=6)
+dtstsfq (ref_sig=63) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=0)
+dtstsfq (ref_sig=63) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=1)
+dtstsfq (ref_sig=63) [tSig]7e00000000000000 fe000000d0e0a0d0 => 1 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]7800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=0) [tSig]7800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=0) [tSig]7800000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=1) [tSig]7800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=1) [tSig]7800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=1) [tSig]7800000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=2) [tSig]7800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=2) [tSig]7800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=2) [tSig]7800000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=4) [tSig]7800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=4) [tSig]7800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=4) [tSig]7800000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=6) [tSig]7800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=6) [tSig]7800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=6) [tSig]7800000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=63) [tSig]7800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=63) [tSig]7800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=63) [tSig]7800000000000000 0000000000000000 => 1 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]f800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=0) [tSig]f800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=0) [tSig]f800000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=1) [tSig]f800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=1) [tSig]f800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=1) [tSig]f800000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=2) [tSig]f800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=2) [tSig]f800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=2) [tSig]f800000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=4) [tSig]f800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=4) [tSig]f800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=4) [tSig]f800000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=6) [tSig]f800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=6) [tSig]f800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=6) [tSig]f800000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=63) [tSig]f800000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=63) [tSig]f800000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=63) [tSig]f800000000000000 0000000000000000 => 1 (BF=6)
+
+dtstsfq (ref_sig=0) [tSig]f900000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=0) [tSig]f900000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=0) [tSig]f900000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=1) [tSig]f900000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=1) [tSig]f900000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=1) [tSig]f900000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=2) [tSig]f900000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=2) [tSig]f900000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=2) [tSig]f900000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=4) [tSig]f900000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=4) [tSig]f900000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=4) [tSig]f900000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=6) [tSig]f900000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=6) [tSig]f900000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=6) [tSig]f900000000000000 0000000000000000 => 1 (BF=6)
+dtstsfq (ref_sig=63) [tSig]f900000000000000 0000000000000000 => 1 (BF=0)
+dtstsfq (ref_sig=63) [tSig]f900000000000000 0000000000000000 => 1 (BF=1)
+dtstsfq (ref_sig=63) [tSig]f900000000000000 0000000000000000 => 1 (BF=6)
+
+Test DFP DPD-to-BCD instructions
+ddedpd (SP=0) [D->B]2234000000000e50 ==> 0000000000003450
+ddedpd (SP=1) [D->B]2234000000000e50 ==> 0000000000003450
+ddedpd (SP=2) [D->B]2234000000000e50 ==> 000000000003450c
+ddedpd (SP=3) [D->B]2234000000000e50 ==> 000000000003450f
+ddedpd (SP=0) [D->B]223400000014c000 ==> 0000000001230000
+ddedpd (SP=1) [D->B]223400000014c000 ==> 0000000001230000
+ddedpd (SP=2) [D->B]223400000014c000 ==> 000000001230000c
+ddedpd (SP=3) [D->B]223400000014c000 ==> 000000001230000f
+ddedpd (SP=0) [D->B]a2340000000000e0 ==> 0000000000000160
+ddedpd (SP=1) [D->B]a2340000000000e0 ==> 0000000000000160
+ddedpd (SP=2) [D->B]a2340000000000e0 ==> 000000000000160d
+ddedpd (SP=3) [D->B]a2340000000000e0 ==> 000000000000160d
+ddedpd (SP=0) [D->B]22240000000000cf ==> 0000000000000189
+ddedpd (SP=1) [D->B]22240000000000cf ==> 0000000000000189
+ddedpd (SP=2) [D->B]22240000000000cf ==> 000000000000189c
+ddedpd (SP=3) [D->B]22240000000000cf ==> 000000000000189f
+ddedpd (SP=0) [D->B]a21400010a395bcf ==> 0000004123456789
+ddedpd (SP=1) [D->B]a21400010a395bcf ==> 0000004123456789
+ddedpd (SP=2) [D->B]a21400010a395bcf ==> 000004123456789d
+ddedpd (SP=3) [D->B]a21400010a395bcf ==> 000004123456789d
+ddedpd (SP=0) [D->B]6e4d3f1f534acdd4 ==> 9839871234533354
+ddedpd (SP=1) [D->B]6e4d3f1f534acdd4 ==> 9839871234533354
+ddedpd (SP=2) [D->B]6e4d3f1f534acdd4 ==> 839871234533354c
+ddedpd (SP=3) [D->B]6e4d3f1f534acdd4 ==> 839871234533354f
+ddedpd (SP=0) [D->B]000400000089b000 ==> 0000000008864000
+ddedpd (SP=1) [D->B]000400000089b000 ==> 0000000008864000
+ddedpd (SP=2) [D->B]000400000089b000 ==> 000000008864000c
+ddedpd (SP=3) [D->B]000400000089b000 ==> 000000008864000f
+ddedpd (SP=0) [D->B]2238000000000000 ==> 0000000000000000
+ddedpd (SP=1) [D->B]2238000000000000 ==> 0000000000000000
+ddedpd (SP=2) [D->B]2238000000000000 ==> 000000000000000c
+ddedpd (SP=3) [D->B]2238000000000000 ==> 000000000000000f
+ddedpd (SP=0) [D->B]a238000000000000 ==> 0000000000000000
+ddedpd (SP=1) [D->B]a238000000000000 ==> 0000000000000000
+ddedpd (SP=2) [D->B]a238000000000000 ==> 000000000000000d
+ddedpd (SP=3) [D->B]a238000000000000 ==> 000000000000000d
+ddedpd (SP=0) [D->B]4248000000000000 ==> 0000000000000000
+ddedpd (SP=1) [D->B]4248000000000000 ==> 0000000000000000
+ddedpd (SP=2) [D->B]4248000000000000 ==> 000000000000000c
+ddedpd (SP=3) [D->B]4248000000000000 ==> 000000000000000f
+ddedpd (SP=0) [D->B]7e34000000000111 ==> 0000000000000211
+ddedpd (SP=1) [D->B]7e34000000000111 ==> 0000000000000211
+ddedpd (SP=2) [D->B]7e34000000000111 ==> 000000000000211c
+ddedpd (SP=3) [D->B]7e34000000000111 ==> 000000000000211f
+ddedpd (SP=0) [D->B]fe000000d0e0a0d0 ==> 0000003882028150
+ddedpd (SP=1) [D->B]fe000000d0e0a0d0 ==> 0000003882028150
+ddedpd (SP=2) [D->B]fe000000d0e0a0d0 ==> 000003882028150d
+ddedpd (SP=3) [D->B]fe000000d0e0a0d0 ==> 000003882028150d
+ddedpd (SP=0) [D->B]fc00000000000000 ==> 0000000000000000
+ddedpd (SP=1) [D->B]fc00000000000000 ==> 0000000000000000
+ddedpd (SP=2) [D->B]fc00000000000000 ==> 000000000000000d
+ddedpd (SP=3) [D->B]fc00000000000000 ==> 000000000000000d
+ddedpd (SP=0) [D->B]7800000000000000 ==> 0000000000000000
+ddedpd (SP=1) [D->B]7800000000000000 ==> 0000000000000000
+ddedpd (SP=2) [D->B]7800000000000000 ==> 000000000000000c
+ddedpd (SP=3) [D->B]7800000000000000 ==> 000000000000000f
+ddedpd (SP=0) [D->B]f800000000000000 ==> 0000000000000000
+ddedpd (SP=1) [D->B]f800000000000000 ==> 0000000000000000
+ddedpd (SP=2) [D->B]f800000000000000 ==> 000000000000000d
+ddedpd (SP=3) [D->B]f800000000000000 ==> 000000000000000d
+ddedpd (SP=0) [D->B]7a34000000000000 ==> 0000000000000000
+ddedpd (SP=1) [D->B]7a34000000000000 ==> 0000000000000000
+ddedpd (SP=2) [D->B]7a34000000000000 ==> 000000000000000c
+ddedpd (SP=3) [D->B]7a34000000000000 ==> 000000000000000f
+
+ddedpdq (SP=0) [D->B]2207c00000000000 0000000000000e50 ==> 0000000000000000 0000000000003450
+ddedpdq (SP=1) [D->B]2207c00000000000 0000000000000e50 ==> 0000000000000000 0000000000003450
+ddedpdq (SP=2) [D->B]2207c00000000000 0000000000000e50 ==> 0000000000000000 000000000003450c
+ddedpdq (SP=3) [D->B]2207c00000000000 0000000000000e50 ==> 0000000000000000 000000000003450f
+ddedpdq (SP=0) [D->B]2207c00000000000 000000000014c000 ==> 0000000000000000 0000000001230000
+ddedpdq (SP=1) [D->B]2207c00000000000 000000000014c000 ==> 0000000000000000 0000000001230000
+ddedpdq (SP=2) [D->B]2207c00000000000 000000000014c000 ==> 0000000000000000 000000001230000c
+ddedpdq (SP=3) [D->B]2207c00000000000 000000000014c000 ==> 0000000000000000 000000001230000f
+ddedpdq (SP=0) [D->B]a207c00000000000 00000000000000e0 ==> 0000000000000000 0000000000000160
+ddedpdq (SP=1) [D->B]a207c00000000000 00000000000000e0 ==> 0000000000000000 0000000000000160
+ddedpdq (SP=2) [D->B]a207c00000000000 00000000000000e0 ==> 0000000000000000 000000000000160d
+ddedpdq (SP=3) [D->B]a207c00000000000 00000000000000e0 ==> 0000000000000000 000000000000160d
+ddedpdq (SP=0) [D->B]2206c00000000000 00000000000000cf ==> 0000000000000000 0000000000000189
+ddedpdq (SP=1) [D->B]2206c00000000000 00000000000000cf ==> 0000000000000000 0000000000000189
+ddedpdq (SP=2) [D->B]2206c00000000000 00000000000000cf ==> 0000000000000000 000000000000189c
+ddedpdq (SP=3) [D->B]2206c00000000000 00000000000000cf ==> 0000000000000000 000000000000189f
+ddedpdq (SP=0) [D->B]a205c00000000000 000000010a395bcf ==> 0000000000000000 0000004123456789
+ddedpdq (SP=1) [D->B]a205c00000000000 000000010a395bcf ==> 0000000000000000 0000004123456789
+ddedpdq (SP=2) [D->B]a205c00000000000 000000010a395bcf ==> 0000000000000000 000004123456789d
+ddedpdq (SP=3) [D->B]a205c00000000000 000000010a395bcf ==> 0000000000000000 000004123456789d
+ddedpdq (SP=0) [D->B]6209400000fd0000 00253f1f534acdd4 ==> 0000097100000000 9839871234533354
+ddedpdq (SP=1) [D->B]6209400000fd0000 00253f1f534acdd4 ==> 0000097100000000 9839871234533354
+ddedpdq (SP=2) [D->B]6209400000fd0000 00253f1f534acdd4 ==> 0000971000000009 839871234533354c
+ddedpdq (SP=3) [D->B]6209400000fd0000 00253f1f534acdd4 ==> 0000971000000009 839871234533354f
+ddedpdq (SP=0) [D->B]000400000089b000 0a6000d000000049 ==> 0000010954000051 8000640000000049
+ddedpdq (SP=1) [D->B]000400000089b000 0a6000d000000049 ==> 0000010954000051 8000640000000049
+ddedpdq (SP=2) [D->B]000400000089b000 0a6000d000000049 ==> 0000109540000518 000640000000049c
+ddedpdq (SP=3) [D->B]000400000089b000 0a6000d000000049 ==> 0000109540000518 000640000000049f
+ddedpdq (SP=0) [D->B]2208000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=1) [D->B]2208000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=2) [D->B]2208000000000000 0000000000000000 ==> 0000000000000000 000000000000000c
+ddedpdq (SP=3) [D->B]2208000000000000 0000000000000000 ==> 0000000000000000 000000000000000f
+ddedpdq (SP=0) [D->B]a208000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=1) [D->B]a208000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=2) [D->B]a208000000000000 0000000000000000 ==> 0000000000000000 000000000000000d
+ddedpdq (SP=3) [D->B]a208000000000000 0000000000000000 ==> 0000000000000000 000000000000000d
+ddedpdq (SP=0) [D->B]a248000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=1) [D->B]a248000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=2) [D->B]a248000000000000 0000000000000000 ==> 0000000000000000 000000000000000d
+ddedpdq (SP=3) [D->B]a248000000000000 0000000000000000 ==> 0000000000000000 000000000000000d
+ddedpdq (SP=0) [D->B]7c00000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=1) [D->B]7c00000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=2) [D->B]7c00000000000000 0000000000000000 ==> 0000000000000000 000000000000000c
+ddedpdq (SP=3) [D->B]7c00000000000000 0000000000000000 ==> 0000000000000000 000000000000000f
+ddedpdq (SP=0) [D->B]fc00000000000000 c00100035b007700 ==> 0000000000080000 0200801330811600
+ddedpdq (SP=1) [D->B]fc00000000000000 c00100035b007700 ==> 0000000000080000 0200801330811600
+ddedpdq (SP=2) [D->B]fc00000000000000 c00100035b007700 ==> 0000000000800000 200801330811600d
+ddedpdq (SP=3) [D->B]fc00000000000000 c00100035b007700 ==> 0000000000800000 200801330811600d
+ddedpdq (SP=0) [D->B]7e00000000000000 fe000000d0e0a0d0 ==> 0000000000088170 0000003882028150
+ddedpdq (SP=1) [D->B]7e00000000000000 fe000000d0e0a0d0 ==> 0000000000088170 0000003882028150
+ddedpdq (SP=2) [D->B]7e00000000000000 fe000000d0e0a0d0 ==> 0000000000881700 000003882028150c
+ddedpdq (SP=3) [D->B]7e00000000000000 fe000000d0e0a0d0 ==> 0000000000881700 000003882028150f
+ddedpdq (SP=0) [D->B]7800000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=1) [D->B]7800000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=2) [D->B]7800000000000000 0000000000000000 ==> 0000000000000000 000000000000000c
+ddedpdq (SP=3) [D->B]7800000000000000 0000000000000000 ==> 0000000000000000 000000000000000f
+ddedpdq (SP=0) [D->B]f800000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=1) [D->B]f800000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=2) [D->B]f800000000000000 0000000000000000 ==> 0000000000000000 000000000000000d
+ddedpdq (SP=3) [D->B]f800000000000000 0000000000000000 ==> 0000000000000000 000000000000000d
+ddedpdq (SP=0) [D->B]f900000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=1) [D->B]f900000000000000 0000000000000000 ==> 0000000000000000 0000000000000000
+ddedpdq (SP=2) [D->B]f900000000000000 0000000000000000 ==> 0000000000000000 000000000000000d
+ddedpdq (SP=3) [D->B]f900000000000000 0000000000000000 ==> 0000000000000000 000000000000000d
+
+Test DFP BCD-to-DPD instructions
+denbcd (S=0) [B->D]0000000000003450 ==> 2238000000000e50
+denbcd (S=1) [B->D]0000000000003450 ==> 7c00000000000000
+denbcd (S=0) [B->D]000000000003450c ==> 7c00000000000000
+denbcd (S=1) [B->D]000000000003450c ==> 2238000000000e50
+denbcd (S=0) [B->D]000000000003450f ==> 7c00000000000000
+denbcd (S=1) [B->D]000000000003450f ==> 2238000000000e50
+denbcd (S=0) [B->D]0000000001230000 ==> 223800000014c000
+denbcd (S=1) [B->D]0000000001230000 ==> 7c00000000000000
+denbcd (S=0) [B->D]000000001230000c ==> 7c00000000000000
+denbcd (S=1) [B->D]000000001230000c ==> 223800000014c000
+denbcd (S=0) [B->D]000000001230000f ==> 7c00000000000000
+denbcd (S=1) [B->D]000000001230000f ==> 223800000014c000
+denbcd (S=0) [B->D]0000000000000160 ==> 22380000000000e0
+denbcd (S=1) [B->D]0000000000000160 ==> 7c00000000000000
+denbcd (S=0) [B->D]000000000000160d ==> 7c00000000000000
+denbcd (S=1) [B->D]000000000000160d ==> a2380000000000e0
+denbcd (S=0) [B->D]0000000000000189 ==> 22380000000000cf
+denbcd (S=1) [B->D]0000000000000189 ==> 7c00000000000000
+denbcd (S=0) [B->D]000000000000189c ==> 7c00000000000000
+denbcd (S=1) [B->D]000000000000189c ==> 22380000000000cf
+denbcd (S=0) [B->D]000000000000189f ==> 7c00000000000000
+denbcd (S=1) [B->D]000000000000189f ==> 22380000000000cf
+denbcd (S=0) [B->D]0000004123456789 ==> 223800010a395bcf
+denbcd (S=1) [B->D]0000004123456789 ==> 7c00000000000000
+denbcd (S=0) [B->D]000004123456789d ==> 7c00000000000000
+denbcd (S=1) [B->D]000004123456789d ==> a23800010a395bcf
+denbcd (S=0) [B->D]9839871234533354 ==> 6e393f1f534acdd4
+denbcd (S=1) [B->D]9839871234533354 ==> 7c00000000000000
+denbcd (S=0) [B->D]839871234533354c ==> 7c00000000000000
+denbcd (S=1) [B->D]839871234533354c ==> 22393f1f534acdd4
+denbcd (S=0) [B->D]839871234533354f ==> 7c00000000000000
+denbcd (S=1) [B->D]839871234533354f ==> 22393f1f534acdd4
+denbcd (S=0) [B->D]0000000008864000 ==> 223800000089b000
+denbcd (S=1) [B->D]0000000008864000 ==> 7c00000000000000
+denbcd (S=0) [B->D]000000008864000c ==> 7c00000000000000
+denbcd (S=1) [B->D]000000008864000c ==> 223800000089b000
+denbcd (S=0) [B->D]000000008864000f ==> 7c00000000000000
+denbcd (S=1) [B->D]000000008864000f ==> 223800000089b000
+denbcd (S=0) [B->D]0000000000000000 ==> 2238000000000000
+denbcd (S=1) [B->D]0000000000000000 ==> 7c00000000000000
+denbcd (S=0) [B->D]000000000000000c ==> 7c00000000000000
+denbcd (S=1) [B->D]000000000000000c ==> 2238000000000000
+denbcd (S=0) [B->D]000000000000000f ==> 7c00000000000000
+denbcd (S=1) [B->D]000000000000000f ==> 2238000000000000
+denbcd (S=0) [B->D]000000000000000d ==> 7c00000000000000
+denbcd (S=1) [B->D]000000000000000d ==> a238000000000000
+denbcd (S=0) [B->D]0000000000000211 ==> 2238000000000111
+denbcd (S=1) [B->D]0000000000000211 ==> 7c00000000000000
+denbcd (S=0) [B->D]000000000000211c ==> 7c00000000000000
+denbcd (S=1) [B->D]000000000000211c ==> 2238000000000111
+denbcd (S=0) [B->D]000000000000211f ==> 7c00000000000000
+denbcd (S=1) [B->D]000000000000211f ==> 2238000000000111
+denbcd (S=0) [B->D]0000003882028150 ==> 22380000d0e0a0d0
+denbcd (S=1) [B->D]0000003882028150 ==> 7c00000000000000
+denbcd (S=0) [B->D]000003882028150d ==> 7c00000000000000
+denbcd (S=1) [B->D]000003882028150d ==> a2380000d0e0a0d0
+
+denbcdq (S=0) [B->D]0000000000000000 0000000000003450 ==> 2208000000000000 0000000000000e50
+denbcdq (S=1) [B->D]0000000000000000 0000000000003450 ==> 7c00000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000000000000000 000000000003450c ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 000000000003450c ==> 2208000000000000 0000000000000e50
+denbcdq (S=0) [B->D]0000000000000000 000000000003450f ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 000000000003450f ==> 2208000000000000 0000000000000e50
+denbcdq (S=0) [B->D]0000000000000000 0000000001230000 ==> 2208000000000000 000000000014c000
+denbcdq (S=1) [B->D]0000000000000000 0000000001230000 ==> 7c00000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000000000000000 000000001230000c ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 000000001230000c ==> 2208000000000000 000000000014c000
+denbcdq (S=0) [B->D]0000000000000000 000000001230000f ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 000000001230000f ==> 2208000000000000 000000000014c000
+denbcdq (S=0) [B->D]0000000000000000 0000000000000160 ==> 2208000000000000 00000000000000e0
+denbcdq (S=1) [B->D]0000000000000000 0000000000000160 ==> 7c00000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000000000000000 000000000000160d ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 000000000000160d ==> a208000000000000 00000000000000e0
+denbcdq (S=0) [B->D]0000000000000000 0000000000000189 ==> 2208000000000000 00000000000000cf
+denbcdq (S=1) [B->D]0000000000000000 0000000000000189 ==> 7c00000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000000000000000 000000000000189c ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 000000000000189c ==> 2208000000000000 00000000000000cf
+denbcdq (S=0) [B->D]0000000000000000 000000000000189f ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 000000000000189f ==> 2208000000000000 00000000000000cf
+denbcdq (S=0) [B->D]0000000000000000 0000004123456789 ==> 2208000000000000 000000010a395bcf
+denbcdq (S=1) [B->D]0000000000000000 0000004123456789 ==> 7c00000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000000000000000 000004123456789d ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 000004123456789d ==> a208000000000000 000000010a395bcf
+denbcdq (S=0) [B->D]0000097100000000 9839871234533354 ==> 2208000000fd0000 00253f1f534acdd4
+denbcdq (S=1) [B->D]0000097100000000 9839871234533354 ==> 7c00000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000971000000009 839871234533354c ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000971000000009 839871234533354c ==> 2208000000fd0000 00253f1f534acdd4
+denbcdq (S=0) [B->D]0000971000000009 839871234533354f ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000971000000009 839871234533354f ==> 2208000000fd0000 00253f1f534acdd4
+denbcdq (S=0) [B->D]0000010954000051 8000640000000049 ==> 220800000089b000 0a6000d000000049
+denbcdq (S=1) [B->D]0000010954000051 8000640000000049 ==> 7c00000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000109540000518 000640000000049c ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000109540000518 000640000000049c ==> 220800000089b000 0a6000d000000049
+denbcdq (S=0) [B->D]0000109540000518 000640000000049f ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000109540000518 000640000000049f ==> 220800000089b000 0a6000d000000049
+denbcdq (S=0) [B->D]0000000000000000 0000000000000000 ==> 2208000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 0000000000000000 ==> 7c00000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000000000000000 000000000000000c ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 000000000000000c ==> 2208000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000000000000000 000000000000000f ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 000000000000000f ==> 2208000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000000000000000 000000000000000d ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000000000 000000000000000d ==> a208000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000000000080000 0200801330811600 ==> 2208000000000000 c00100035b007700
+denbcdq (S=1) [B->D]0000000000080000 0200801330811600 ==> 7c00000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000000000800000 200801330811600d ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000800000 200801330811600d ==> a208000000000000 c00100035b007700
+denbcdq (S=0) [B->D]0000000000088170 0000003882028150 ==> 2208000000000000 fe000000d0e0a0d0
+denbcdq (S=1) [B->D]0000000000088170 0000003882028150 ==> 7c00000000000000 0000000000000000
+denbcdq (S=0) [B->D]0000000000881700 000003882028150c ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000881700 000003882028150c ==> 2208000000000000 fe000000d0e0a0d0
+denbcdq (S=0) [B->D]0000000000881700 000003882028150f ==> 7c00000000000000 0000000000000000
+denbcdq (S=1) [B->D]0000000000881700 000003882028150f ==> 2208000000000000 fe000000d0e0a0d0
+
diff --git a/none/tests/ppc32/test_dfp5.vgtest b/none/tests/ppc32/test_dfp5.vgtest
new file mode 100644
index 0000000..9777d05
--- /dev/null
+++ b/none/tests/ppc32/test_dfp5.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/check_dfp_cap
+prog: test_dfp5
diff --git a/none/tests/ppc32/test_isa_2_06_part1.c b/none/tests/ppc32/test_isa_2_06_part1.c
index 9138f4a..25dcc2e 100644
--- a/none/tests/ppc32/test_isa_2_06_part1.c
+++ b/none/tests/ppc32/test_isa_2_06_part1.c
@@ -1868,8 +1868,7 @@
 {
    test_func_t func;
    unsigned int *src, *dst;
-   int i, j, m, equality;
-   i = j = 0;
+   int m, equality;
 
    func = storeTest.test_func;
    r14 = (HWord_t) storeTest.base_addr;
diff --git a/none/tests/ppc32/test_isa_2_06_part2.c b/none/tests/ppc32/test_isa_2_06_part2.c
index 91a3161..d9f2453 100644
--- a/none/tests/ppc32/test_isa_2_06_part2.c
+++ b/none/tests/ppc32/test_isa_2_06_part2.c
@@ -1529,12 +1529,12 @@
                                        { 4, 4 },
                                        { 4, -5 },
                                        { 3, 8 },
-                                       { 0x8000000000000000, 0xa },
+                                       { 0x8000000000000000ULL, 0xa },
                                        { 0x50c, -1 },
                                        { 0x50c, -4096 },
                                        { 0x1234fedc, 0x8000a873 },
-                                       { 0xabcd87651234fedc, 0xa123b893 },
-                                       { 0x123456789abdc, 0 },
+                                       { 0xabcd87651234fedcULL, 0xa123b893 },
+                                       { 0x123456789abdcULL, 0 },
                                        { 0, 2 },
                                        { 0x77, 0xa3499 }
 };
diff --git a/none/tests/ppc32/test_isa_2_06_part3.c b/none/tests/ppc32/test_isa_2_06_part3.c
index 2f86760..a3639a6 100644
--- a/none/tests/ppc32/test_isa_2_06_part3.c
+++ b/none/tests/ppc32/test_isa_2_06_part3.c
@@ -1303,12 +1303,12 @@
                                        { 4, 4 },
                                        { 4, -5 },
                                        { 3, 8 },
-                                       { 0x8000000000000000, 0xa },
+                                       { 0x8000000000000000ULL, 0xa },
                                        { 0x50c, -1 },
                                        { 0x50c, -4096 },
                                        { 0x1234fedc, 0x8000a873 },
-                                       { 0xabcd87651234fedc, 0xa123b893 },
-                                       { 0x123456789abdc, 0 },
+                                       { 0xabcd87651234fedcULL, 0xa123b893 },
+                                       { 0x123456789abdcULL, 0 },
                                        { 0, 2 },
                                        { 0x77, 0xa3499 }
 };
diff --git a/none/tests/ppc64/Makefile.am b/none/tests/ppc64/Makefile.am
index 93fa272..3213e53 100644
--- a/none/tests/ppc64/Makefile.am
+++ b/none/tests/ppc64/Makefile.am
@@ -18,12 +18,17 @@
 	test_isa_2_06_part1.stderr.exp  test_isa_2_06_part1.stdout.exp  test_isa_2_06_part1.vgtest \
 	test_isa_2_06_part2.stderr.exp  test_isa_2_06_part2.stdout.exp  test_isa_2_06_part2.vgtest \
 	test_isa_2_06_part3.stderr.exp  test_isa_2_06_part3.stdout.exp  test_isa_2_06_part3.vgtest \
-	test_dfp1.stderr.exp test_dfp1.stdout.exp test_dfp1.vgtest
+	test_dfp1.stderr.exp test_dfp1.stdout.exp test_dfp1.vgtest \
+	test_dfp2.stderr.exp test_dfp2.stdout.exp test_dfp2.vgtest \
+	test_dfp2.stdout.exp_Without_dcffix \
+	test_dfp3.stderr.exp test_dfp3.stdout.exp test_dfp3.vgtest \
+	test_dfp4.stderr.exp test_dfp4.stdout.exp test_dfp4.vgtest \
+	test_dfp5.stderr.exp test_dfp5.stdout.exp test_dfp5.vgtest
 
 check_PROGRAMS = \
 	allexec \
 	jm-insns lsw round std_reg_imm twi_tdi tw_td power6_bcmp power6_mf_gpr test_isa_2_06_part1 \
-	test_isa_2_06_part2 test_isa_2_06_part3 test_dfp1
+	test_isa_2_06_part2 test_isa_2_06_part3 test_dfp1 test_dfp2 test_dfp3 test_dfp4 test_dfp5
 
 AM_CFLAGS    += @FLAG_M64@
 AM_CXXFLAGS  += @FLAG_M64@
@@ -68,3 +73,14 @@
 test_dfp1_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -lm -g -mregnames $(DFP_FLAG) \
 			@FLAG_M64@ $(BUILD_FLAGS_DFP)
 
+test_dfp2_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -lm -g -mregnames $(DFP_FLAG) \
+			@FLAG_M64@ $(BUILD_FLAGS_DFP)
+test_dfp3_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -lm -g -mregnames $(DFP_FLAG) \
+			@FLAG_M64@ $(BUILD_FLAGS_DFP)
+
+test_dfp4_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -lm -g -mregnames $(DFP_FLAG) \
+			@FLAG_M64@ $(BUILD_FLAGS_DFP)
+
+test_dfp5_CFLAGS = $(AM_CFLAGS) -Winline -Wall -O -lm -g -mregnames $(DFP_FLAG) \
+			@FLAG_M64@ $(BUILD_FLAGS_DFP)
+
diff --git a/none/tests/ppc64/jm-fp.stdout.exp b/none/tests/ppc64/jm-fp.stdout.exp
index adbdabf..00bd727 100644
--- a/none/tests/ppc64/jm-fp.stdout.exp
+++ b/none/tests/ppc64/jm-fp.stdout.exp
@@ -719,8 +719,8 @@
      frsqrte 8000000000000000 => fff0000000000000
      frsqrte 7ff0000000000000 => 0000000000000000
      frsqrte fff0000000000000 => 7ff8000000000000
-     frsqrte 7ff7ffffffffffff => 7fff800000000000
-     frsqrte fff7ffffffffffff => ffff800000000000
+     frsqrte 7ff7ffffffffffff => 7fff000000000000
+     frsqrte fff7ffffffffffff => ffff000000000000
      frsqrte 7ff8000000000000 => 7ff8000000000000
      frsqrte fff8000000000000 => fff8000000000000
 
@@ -942,8 +942,8 @@
     frsqrte. 8000000000000000 => fff0000000000000
     frsqrte. 7ff0000000000000 => 0000000000000000
     frsqrte. fff0000000000000 => 7ff8000000000000
-    frsqrte. 7ff7ffffffffffff => 7fff800000000000
-    frsqrte. fff7ffffffffffff => ffff800000000000
+    frsqrte. 7ff7ffffffffffff => 7fff000000000000
+    frsqrte. fff7ffffffffffff => ffff000000000000
     frsqrte. 7ff8000000000000 => 7ff8000000000000
     frsqrte. fff8000000000000 => fff8000000000000
 
diff --git a/none/tests/ppc64/jm-int.stdout.exp b/none/tests/ppc64/jm-int.stdout.exp
index dec9370..4dba79b 100644
--- a/none/tests/ppc64/jm-int.stdout.exp
+++ b/none/tests/ppc64/jm-int.stdout.exp
@@ -4705,4 +4705,9 @@
        stdux 0000001cbe991def,   8 => 0000001cbe991def,  8 (00000000 00000000)
        stdux ffffffffffffffff,  16 => ffffffffffffffff, 16 (00000000 00000000)
 
-All done. Tested 203 different instructions
+PPC integer population count with one register args, no flags:
+        popcntb 0000000000000000 => 0000000000000000 (00000000 00000000)
+        popcntb 0000001cbe991def => 0000000306040407 (00000000 00000000)
+        popcntb ffffffffffffffff => 0808080808080808 (00000000 00000000)
+
+All done. Tested 204 different instructions
diff --git a/none/tests/ppc64/jm-vmx.stdout.exp b/none/tests/ppc64/jm-vmx.stdout.exp
index 0a0bb3e..3e19e63 100644
--- a/none/tests/ppc64/jm-vmx.stdout.exp
+++ b/none/tests/ppc64/jm-vmx.stdout.exp
@@ -1517,7 +1517,6 @@
        stvxl   7, f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff => f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff (00000000)
        stvxl  14, f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff => f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff (00000000)
 
-Altivec floating point arith insns with three args:
 Altivec floating point arith insns with two args:
       vaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
       vaddfp:  => 033fffff 033fffff 033fffff 033fffff (00000000)
@@ -1907,6 +1906,585 @@
       vminfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff
       vminfp:  => ffffffff ffffffff ffffffff ffffffff (00000000)
 
+Altivec floating point arith insns with three args:
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+
 Altivec floating point arith insns with one arg:
        vrfin: 02bfffff 02bfffff 02bfffff 02bfffff
        vrfin:  => 00000000 00000000 00000000 00000000 (00000000)
@@ -2009,13 +2587,13 @@
        vrfim:  => ffffffff ffffffff ffffffff ffffffff (00000000)
 
        vrefp: 02bfffff 02bfffff 02bfffff 02bfffff
-       vrefp:  => 7c2aa900 7c2aa900 7c2aa900 7c2aa900 (00000000)
+       vrefp:  => 7c2a8000 7c2a8000 7c2a8000 7c2a8000 (00000000)
        vrefp: 513fffff 513fffff 513fffff 513fffff
-       vrefp:  => 2daaa900 2daaa900 2daaa900 2daaa900 (00000000)
+       vrefp:  => 2daa8000 2daa8000 2daa8000 2daa8000 (00000000)
        vrefp: 82bfffff 82bfffff 82bfffff 82bfffff
-       vrefp:  => fc2aa900 fc2aa900 fc2aa900 fc2aa900 (00000000)
+       vrefp:  => fc2a8000 fc2a8000 fc2a8000 fc2a8000 (00000000)
        vrefp: d13fffff d13fffff d13fffff d13fffff
-       vrefp:  => adaaa900 adaaa900 adaaa900 adaaa900 (00000000)
+       vrefp:  => adaa8000 adaa8000 adaa8000 adaa8000 (00000000)
        vrefp: 00000000 00000000 00000000 00000000
        vrefp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
        vrefp: 80000000 80000000 80000000 80000000
@@ -2025,18 +2603,18 @@
        vrefp: ff800000 ff800000 ff800000 ff800000
        vrefp:  => 80000000 80000000 80000000 80000000 (00000000)
        vrefp: 7fffffff 7fffffff 7fffffff 7fffffff
-       vrefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+       vrefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
        vrefp: ffffffff ffffffff ffffffff ffffffff
-       vrefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+       vrefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
        vrefp: 7fbfffff 7fbfffff 7fbfffff 7fbfffff
-       vrefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+       vrefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
        vrefp: ffbfffff ffbfffff ffbfffff ffbfffff
-       vrefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+       vrefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
 
    vrsqrtefp: 02bfffff 02bfffff 02bfffff 02bfffff
-   vrsqrtefp:  => 5dd10300 5dd10300 5dd10300 5dd10300 (00000000)
+   vrsqrtefp:  => 5dd10000 5dd10000 5dd10000 5dd10000 (00000000)
    vrsqrtefp: 513fffff 513fffff 513fffff 513fffff
-   vrsqrtefp:  => 3693ca00 3693ca00 3693ca00 3693ca00 (00000000)
+   vrsqrtefp:  => 3693c000 3693c000 3693c000 3693c000 (00000000)
    vrsqrtefp: 82bfffff 82bfffff 82bfffff 82bfffff
    vrsqrtefp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
    vrsqrtefp: d13fffff d13fffff d13fffff d13fffff
@@ -2050,13 +2628,13 @@
    vrsqrtefp: ff800000 ff800000 ff800000 ff800000
    vrsqrtefp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
    vrsqrtefp: 7fffffff 7fffffff 7fffffff 7fffffff
-   vrsqrtefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+   vrsqrtefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
    vrsqrtefp: ffffffff ffffffff ffffffff ffffffff
-   vrsqrtefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+   vrsqrtefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
    vrsqrtefp: 7fbfffff 7fbfffff 7fbfffff 7fbfffff
-   vrsqrtefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+   vrsqrtefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
    vrsqrtefp: ffbfffff ffbfffff ffbfffff ffbfffff
-   vrsqrtefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+   vrsqrtefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
 
 Altivec floating point compare insns:
     vcmpgtfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
@@ -3033,4 +3611,4 @@
       vctsxs: ffbfffff (          nan), 18 => 00000000 ( 0.000000e+00) (00000000)
       vctsxs: ffbfffff (          nan), 27 => 00000000 ( 0.000000e+00) (00000000)
 
-All done. Tested 163 different instructions
+All done. Tested 165 different instructions
diff --git a/none/tests/ppc64/jm-vmx.stdout.exp_Minus_nan b/none/tests/ppc64/jm-vmx.stdout.exp_Minus_nan
index 8c72a54..c3360e3 100644
--- a/none/tests/ppc64/jm-vmx.stdout.exp_Minus_nan
+++ b/none/tests/ppc64/jm-vmx.stdout.exp_Minus_nan
@@ -1517,7 +1517,6 @@
        stvxl   7, f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff => f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff (00000000)
        stvxl  14, f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff => f1f2f3f4 f5f6f7f8 f9fafbfc fefdfeff (00000000)
 
-Altivec floating point arith insns with three args:
 Altivec floating point arith insns with two args:
       vaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
       vaddfp:  => 033fffff 033fffff 033fffff 033fffff (00000000)
@@ -1907,6 +1906,585 @@
       vminfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff
       vminfp:  => ffffffff ffffffff ffffffff ffffffff (00000000)
 
+Altivec floating point arith insns with three args:
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 00000000 00000000 00000000 00000000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+     vmaddfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+     vmaddfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+     vmaddfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 02bfffff02bfffff02bfffff02bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 630ffffe 630ffffe 630ffffe 630ffffe (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 513fffff513fffff513fffff513fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 948ffffe 948ffffe 948ffffe 948ffffe (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 82bfffff82bfffff82bfffff82bfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 148ffffe 148ffffe 148ffffe 148ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => e30ffffe e30ffffe e30ffffe e30ffffe (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: d13fffffd13fffffd13fffffd13fffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 00000000000000000000000000000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 00000000000000000000000000000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 02bffffe 02bffffe 02bffffe 02bffffe (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 00000000 00000000 00000000 00000000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
+    vnmsubfp: 80000000800000008000000080000000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 80000000800000008000000080000000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7f8000007f8000007f8000007f800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => ff800000 ff800000 ff800000 ff800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ff800000ff800000ff800000ff800000, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fffffff7fffffff7fffffff7fffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffffffffffffffffffffffffffffffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: 7fbfffff7fbfffff7fbfffff7fbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 02bfffff02bfffff02bfffff02bfffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, d13fffffd13fffffd13fffffd13fffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, 7f8000007f8000007f8000007f800000, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 02bfffff02bfffff02bfffff02bfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 80000000800000008000000080000000
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+    vnmsubfp: ffbfffffffbfffffffbfffffffbfffff, ffffffffffffffffffffffffffffffff, 7fbfffff7fbfffff7fbfffff7fbfffff
+    vnmsubfp:  => 7fffffff 7fffffff 7fffffff 7fffffff (00000000)
+
 Altivec floating point arith insns with one arg:
        vrfin: 02bfffff 02bfffff 02bfffff 02bfffff
        vrfin:  => 00000000 00000000 00000000 00000000 (00000000)
@@ -2009,13 +2587,13 @@
        vrfim:  => ffffffff ffffffff ffffffff ffffffff (00000000)
 
        vrefp: 02bfffff 02bfffff 02bfffff 02bfffff
-       vrefp:  => 7c2aa900 7c2aa900 7c2aa900 7c2aa900 (00000000)
+       vrefp:  => 7c2a8000 7c2a8000 7c2a8000 7c2a8000 (00000000)
        vrefp: 513fffff 513fffff 513fffff 513fffff
-       vrefp:  => 2daaa900 2daaa900 2daaa900 2daaa900 (00000000)
+       vrefp:  => 2daa8000 2daa8000 2daa8000 2daa8000 (00000000)
        vrefp: 82bfffff 82bfffff 82bfffff 82bfffff
-       vrefp:  => fc2aa900 fc2aa900 fc2aa900 fc2aa900 (00000000)
+       vrefp:  => fc2a8000 fc2a8000 fc2a8000 fc2a8000 (00000000)
        vrefp: d13fffff d13fffff d13fffff d13fffff
-       vrefp:  => adaaa900 adaaa900 adaaa900 adaaa900 (00000000)
+       vrefp:  => adaa8000 adaa8000 adaa8000 adaa8000 (00000000)
        vrefp: 00000000 00000000 00000000 00000000
        vrefp:  => 7f800000 7f800000 7f800000 7f800000 (00000000)
        vrefp: 80000000 80000000 80000000 80000000
@@ -2025,18 +2603,18 @@
        vrefp: ff800000 ff800000 ff800000 ff800000
        vrefp:  => 80000000 80000000 80000000 80000000 (00000000)
        vrefp: 7fffffff 7fffffff 7fffffff 7fffffff
-       vrefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+       vrefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
        vrefp: ffffffff ffffffff ffffffff ffffffff
-       vrefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+       vrefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
        vrefp: 7fbfffff 7fbfffff 7fbfffff 7fbfffff
-       vrefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+       vrefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
        vrefp: ffbfffff ffbfffff ffbfffff ffbfffff
-       vrefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+       vrefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
 
    vrsqrtefp: 02bfffff 02bfffff 02bfffff 02bfffff
-   vrsqrtefp:  => 5dd10300 5dd10300 5dd10300 5dd10300 (00000000)
+   vrsqrtefp:  => 5dd10000 5dd10000 5dd10000 5dd10000 (00000000)
    vrsqrtefp: 513fffff 513fffff 513fffff 513fffff
-   vrsqrtefp:  => 3693ca00 3693ca00 3693ca00 3693ca00 (00000000)
+   vrsqrtefp:  => 3693c000 3693c000 3693c000 3693c000 (00000000)
    vrsqrtefp: 82bfffff 82bfffff 82bfffff 82bfffff
    vrsqrtefp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
    vrsqrtefp: d13fffff d13fffff d13fffff d13fffff
@@ -2050,13 +2628,13 @@
    vrsqrtefp: ff800000 ff800000 ff800000 ff800000
    vrsqrtefp:  => 7fc00000 7fc00000 7fc00000 7fc00000 (00000000)
    vrsqrtefp: 7fffffff 7fffffff 7fffffff 7fffffff
-   vrsqrtefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+   vrsqrtefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
    vrsqrtefp: ffffffff ffffffff ffffffff ffffffff
-   vrsqrtefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+   vrsqrtefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
    vrsqrtefp: 7fbfffff 7fbfffff 7fbfffff 7fbfffff
-   vrsqrtefp:  => 7fffff00 7fffff00 7fffff00 7fffff00 (00000000)
+   vrsqrtefp:  => 7fffc000 7fffc000 7fffc000 7fffc000 (00000000)
    vrsqrtefp: ffbfffff ffbfffff ffbfffff ffbfffff
-   vrsqrtefp:  => ffffff00 ffffff00 ffffff00 ffffff00 (00000000)
+   vrsqrtefp:  => ffffc000 ffffc000 ffffc000 ffffc000 (00000000)
 
 Altivec floating point compare insns:
     vcmpgtfp: 02bfffff02bfffff02bfffff02bfffff, 02bfffff02bfffff02bfffff02bfffff
@@ -3033,4 +3611,4 @@
       vctsxs: ffbfffff (         -nan), 18 => 00000000 ( 0.000000e+00) (00000000)
       vctsxs: ffbfffff (         -nan), 27 => 00000000 ( 0.000000e+00) (00000000)
 
-All done. Tested 163 different instructions
+All done. Tested 165 different instructions
diff --git a/none/tests/ppc64/round.c b/none/tests/ppc64/round.c
index f49c0b5..dd2bef6 100644
--- a/none/tests/ppc64/round.c
+++ b/none/tests/ppc64/round.c
@@ -142,7 +142,6 @@
 	int status = 0;
 	flt_overlay R, E;
 	char *result;
-	char *eq_ne;
 
 	set_rounding_mode(mode);
 
@@ -153,11 +152,9 @@
 		(R.layout.exp != E.layout.exp) ||
 		(R.layout.frac != E.layout.frac)) {
 		result = "FAILED";
-		eq_ne = "!=";
 		status = 1;
 	} else {
 		result = "PASSED";
-		eq_ne = "==";
 		status = 0;
 	}
 	printf("%s:%s:(double)(%-20a) = %20a",
diff --git a/none/tests/ppc64/test_dfp2.c b/none/tests/ppc64/test_dfp2.c
new file mode 120000
index 0000000..635ad7b
--- /dev/null
+++ b/none/tests/ppc64/test_dfp2.c
@@ -0,0 +1 @@
+../../../none/tests/ppc32/test_dfp2.c
\ No newline at end of file
diff --git a/none/tests/ppc64/test_dfp2.stderr.exp b/none/tests/ppc64/test_dfp2.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/ppc64/test_dfp2.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/ppc64/test_dfp2.stdout.exp b/none/tests/ppc64/test_dfp2.stdout.exp
new file mode 120000
index 0000000..c4912cb
--- /dev/null
+++ b/none/tests/ppc64/test_dfp2.stdout.exp
@@ -0,0 +1 @@
+../../../none/tests/ppc32/test_dfp2.stdout.exp
\ No newline at end of file
diff --git a/none/tests/ppc64/test_dfp2.stdout.exp_Without_dcffix b/none/tests/ppc64/test_dfp2.stdout.exp_Without_dcffix
new file mode 120000
index 0000000..19bfcb1
--- /dev/null
+++ b/none/tests/ppc64/test_dfp2.stdout.exp_Without_dcffix
@@ -0,0 +1 @@
+../../../none/tests/ppc32/test_dfp2.stdout.exp_Without_dcffix
\ No newline at end of file
diff --git a/none/tests/ppc64/test_dfp2.vgtest b/none/tests/ppc64/test_dfp2.vgtest
new file mode 100644
index 0000000..7fe6c16
--- /dev/null
+++ b/none/tests/ppc64/test_dfp2.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/check_dfp_cap
+prog: test_dfp2
diff --git a/none/tests/ppc64/test_dfp3.c b/none/tests/ppc64/test_dfp3.c
new file mode 120000
index 0000000..a1404ce
--- /dev/null
+++ b/none/tests/ppc64/test_dfp3.c
@@ -0,0 +1 @@
+../../../none/tests/ppc32/test_dfp3.c
\ No newline at end of file
diff --git a/none/tests/ppc64/test_dfp3.stderr.exp b/none/tests/ppc64/test_dfp3.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/ppc64/test_dfp3.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/ppc64/test_dfp3.stdout.exp b/none/tests/ppc64/test_dfp3.stdout.exp
new file mode 120000
index 0000000..9d8c3c6
--- /dev/null
+++ b/none/tests/ppc64/test_dfp3.stdout.exp
@@ -0,0 +1 @@
+../../../none/tests/ppc32/test_dfp3.stdout.exp
\ No newline at end of file
diff --git a/none/tests/ppc64/test_dfp3.vgtest b/none/tests/ppc64/test_dfp3.vgtest
new file mode 100644
index 0000000..39168a3
--- /dev/null
+++ b/none/tests/ppc64/test_dfp3.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/check_dfp_cap
+prog: test_dfp3
diff --git a/none/tests/ppc64/test_dfp4.c b/none/tests/ppc64/test_dfp4.c
new file mode 120000
index 0000000..57c85cd
--- /dev/null
+++ b/none/tests/ppc64/test_dfp4.c
@@ -0,0 +1 @@
+../../../none/tests/ppc32/test_dfp4.c
\ No newline at end of file
diff --git a/none/tests/ppc64/test_dfp4.stderr.exp b/none/tests/ppc64/test_dfp4.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/ppc64/test_dfp4.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/ppc64/test_dfp4.stdout.exp b/none/tests/ppc64/test_dfp4.stdout.exp
new file mode 120000
index 0000000..4f5c1aa
--- /dev/null
+++ b/none/tests/ppc64/test_dfp4.stdout.exp
@@ -0,0 +1 @@
+../../../none/tests/ppc32/test_dfp4.stdout.exp
\ No newline at end of file
diff --git a/none/tests/ppc64/test_dfp4.vgtest b/none/tests/ppc64/test_dfp4.vgtest
new file mode 100644
index 0000000..dac3356
--- /dev/null
+++ b/none/tests/ppc64/test_dfp4.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/check_dfp_cap
+prog: test_dfp4
diff --git a/none/tests/ppc64/test_dfp5.c b/none/tests/ppc64/test_dfp5.c
new file mode 120000
index 0000000..ae52602
--- /dev/null
+++ b/none/tests/ppc64/test_dfp5.c
@@ -0,0 +1 @@
+../../../none/tests/ppc32/test_dfp5.c
\ No newline at end of file
diff --git a/none/tests/ppc64/test_dfp5.stderr.exp b/none/tests/ppc64/test_dfp5.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/ppc64/test_dfp5.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/ppc64/test_dfp5.stdout.exp b/none/tests/ppc64/test_dfp5.stdout.exp
new file mode 120000
index 0000000..5bc4dc3
--- /dev/null
+++ b/none/tests/ppc64/test_dfp5.stdout.exp
@@ -0,0 +1 @@
+../../../none/tests/ppc32/test_dfp5.stdout.exp
\ No newline at end of file
diff --git a/none/tests/ppc64/test_dfp5.vgtest b/none/tests/ppc64/test_dfp5.vgtest
new file mode 100644
index 0000000..9777d05
--- /dev/null
+++ b/none/tests/ppc64/test_dfp5.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/check_dfp_cap
+prog: test_dfp5
diff --git a/none/tests/process_vm_readv_writev.c b/none/tests/process_vm_readv_writev.c
index 851cd33..63b58d3 100644
--- a/none/tests/process_vm_readv_writev.c
+++ b/none/tests/process_vm_readv_writev.c
@@ -1,3 +1,5 @@
+#define _GNU_SOURCE 1
+
 #include <config.h>
 #include <stdlib.h>
 #include <stdio.h>
diff --git a/none/tests/s390x/Makefile.am b/none/tests/s390x/Makefile.am
index 6f5b95a..fdbd760 100644
--- a/none/tests/s390x/Makefile.am
+++ b/none/tests/s390x/Makefile.am
@@ -6,29 +6,56 @@
              and or xor insert div srst fold_And16 flogr sub_EI add_EI \
              and_EI or_EI xor_EI insert_EI mul_GE add_GE condloadstore \
              op_exception fgx stck stckf stcke stfle cksm mvcl clcl troo \
-             trto trot trtt tr tre
+             trto trot trtt tr tre cij cgij clij clgij crj cgrj clrj clgrj \
+             cs csg cds cdsg cu21 cu21_1 cu24 cu24_1 cu42 cu12 cu12_1 \
+             ex_sig ex_clone cu14 cu14_1 cu41 fpconv ecag fpext fpext_warn \
+             rounding-1 rounding-2 rounding-3 rounding-4 rounding-5 bfp-1 \
+             bfp-2 bfp-3 bfp-4 srnm srnmb comp-1 comp-2 exrl tmll tm stmg \
+	     ex clst mvc test_clone test_fork test_sig rounding-6 \
+	     spechelper-alr spechelper-algr \
+	     spechelper-slr spechelper-slgr \
+	     spechelper-cr  spechelper-clr  \
+	     spechelper-ltr spechelper-or   \
+	     spechelper-icm-1  spechelper-icm-2 spechelper-tmll \
+	     spechelper-tm laa
+if BUILD_DFP_TESTS
+  INSN_TESTS += dfp-1 dfp-2 dfp-3 dfp-4 dfptest dfpext dfpconv srnmt pfpo
+endif
 
 check_PROGRAMS = $(INSN_TESTS) \
 		 allexec \
-		 ex_sig \
-		 ex_clone \
 		 op00
 
+DIST_INSN_TESTS = $(INSN_TESTS) dfp-1
+
 EXTRA_DIST = \
-	$(addsuffix .stderr.exp,$(INSN_TESTS)) \
-	$(addsuffix .stdout.exp,$(INSN_TESTS)) \
-	$(addsuffix .vgtest,$(INSN_TESTS)) \
-	ex_sig.stdout.exp ex_sig.stderr.exp ex_sig.vgtest \
-	ex_clone.stdout.exp ex_clone.stderr.exp ex_clone.vgtest \
+	$(addsuffix .stderr.exp,$(DIST_INSN_TESTS)) \
+	$(addsuffix .stdout.exp,$(DIST_INSN_TESTS)) \
+	$(addsuffix .vgtest,$(DIST_INSN_TESTS)) \
+	ecag.stdout.exp-z10ec ecag.stdout.exp-z196 ecag.stdout.exp-zec12 \
 	op00.stderr.exp1 op00.stderr.exp2 op00.vgtest \
+	fpext_fail.vgtest fpext_fail.stderr.exp fpext_fail.stdout.exp \
 	test.h opcodes.h add.h  and.h  div.h  insert.h \
-	mul.h  or.h  sub.h  test.h  xor.h table.h
+	mul.h  or.h  sub.h  xor.h table.h svc.h rounding.h \
+	dfp-1.stderr.exp dfp-1.stdout.exp dfp-1.vgtest \
+	dfp-2.stderr.exp dfp-2.stdout.exp dfp-2.vgtest \
+	dfp-3.stderr.exp dfp-3.stdout.exp dfp-3.vgtest \
+	dfp-4.stderr.exp dfp-4.stdout.exp dfp-4.vgtest \
+	dfptest.stderr.exp dfptest.stdout.exp dfptest.vgtest \
+	dfpext.stderr.exp dfpext.stdout.exp dfpext.vgtest \
+	dfpconv.stderr.exp dfpconv.stdout.exp dfpconv.vgtest \
+	srnmt.stderr.exp srnmt.stdout.exp srnmt.vgtest \
+	pfpo.stderr.exp pfpo.stdout.exp pfpo.vgtest
 
 AM_CFLAGS    += @FLAG_M64@
 AM_CXXFLAGS  += @FLAG_M64@
 AM_CCASFLAGS += @FLAG_M64@
 
 allexec_CFLAGS   = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
+tcxb_CFLAGS      = $(AM_CFLAGS) -std=gnu99
+cu12_1_CFLAGS    = $(AM_CFLAGS) -DM3=1
+cu14_1_CFLAGS    = $(AM_CFLAGS) -DM3=1
+cu21_1_CFLAGS    = $(AM_CFLAGS) -DM3=1
+cu24_1_CFLAGS    = $(AM_CFLAGS) -DM3=1
 
 ex_clone_LDFLAGS = -lpthread
-tcxb_CFLAGS      = $(AM_CFLAGS) -std=gnu99
diff --git a/none/tests/s390x/bfp-1.c b/none/tests/s390x/bfp-1.c
new file mode 100644
index 0000000..2cf558e
--- /dev/null
+++ b/none/tests/s390x/bfp-1.c
@@ -0,0 +1,93 @@
+#include <stdio.h>
+
+/* Simple test to see that basic operators are mapped
+   correctly. Uses default rounding mode. */
+
+volatile double d1, d2;
+volatile float f1, f2;
+
+void fadd8(void)
+{
+   printf("%f + %f = %f\n", d1, d2, d1 + d2);
+}
+
+void fsub8(void)
+{
+   printf("%f - %f = %f\n", d1, d2, d1 - d2);
+}
+
+void fmul8(void)
+{
+   printf("%f * %f = %f\n", d1, d2, d1 * d2);
+}
+
+void fdiv8(void)
+{
+   printf("%f / %f = %f\n", d1, d2, d1 / d2);
+}
+
+void fadd4(void)
+{
+   register float r1 asm("f1") = f1;
+   register float r2 asm("f2") = f2;
+
+   __asm__ volatile ("aebr %[r1],%[r2]\n\t"
+                     : [r1] "+f"(r1)
+                     : [r2] "f"(r2) : "cc");
+   printf("%f + %f = %f\n", f1, f2, r1);
+}
+
+void fsub4(void)
+{
+   register float r1 asm("f1") = f1;
+   register float r2 asm("f2") = f2;
+
+   __asm__ volatile ("sebr %[r1],%[r2]\n\t"
+                     : [r1] "+f"(r1)
+                     : [r2] "f"(r2) : "cc");
+   printf("%f - %f = %f\n", f1, f2, r1);
+}
+
+void fmul4(void)
+{
+   register float r1 asm("f1") = f1;
+   register float r2 asm("f2") = f2;
+
+   __asm__ volatile ("meebr %[r1],%[r2]\n\t"
+                     : [r1] "+f"(r1)
+                     : [r2] "f"(r2) : "cc");
+   printf("%f * %f = %f\n", f1, f2, r1);
+}
+
+void fdiv4(void)
+{
+   register float r1 asm("f1") = f1;
+   register float r2 asm("f2") = f2;
+
+   __asm__ volatile ("debr %[r1],%[r2]\n\t"
+                     : [r1] "+f"(r1)
+                     : [r2] "f"(r2) : "cc");
+   printf("%f / %f = %f\n", f1, f2, r1);
+}
+
+
+int main()
+{
+   printf("double arithmetic\n");
+   d1 = 10.5;
+   d2 =  1.25;
+   fadd8();
+   fsub8();
+   fmul8();
+   fdiv8();
+
+   printf("float arithmetic\n");
+   f1 = 10.5f;
+   f2 =  1.25f;
+   fadd4();
+   fsub4();
+   fmul4();
+   fdiv4();
+
+   return 0;
+}
diff --git a/none/tests/s390x/bfp-1.stderr.exp b/none/tests/s390x/bfp-1.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/bfp-1.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/bfp-1.stdout.exp b/none/tests/s390x/bfp-1.stdout.exp
new file mode 100644
index 0000000..023c598
--- /dev/null
+++ b/none/tests/s390x/bfp-1.stdout.exp
@@ -0,0 +1,10 @@
+double arithmetic
+10.500000 + 1.250000 = 11.750000
+10.500000 - 1.250000 = 9.250000
+10.500000 * 1.250000 = 13.125000
+10.500000 / 1.250000 = 8.400000
+float arithmetic
+10.500000 + 1.250000 = 11.750000
+10.500000 - 1.250000 = 9.250000
+10.500000 * 1.250000 = 13.125000
+10.500000 / 1.250000 = 8.400000
diff --git a/none/tests/s390x/bfp-1.vgtest b/none/tests/s390x/bfp-1.vgtest
new file mode 100644
index 0000000..9d67c4a
--- /dev/null
+++ b/none/tests/s390x/bfp-1.vgtest
@@ -0,0 +1 @@
+prog: bfp-1
diff --git a/none/tests/s390x/bfp-2.c b/none/tests/s390x/bfp-2.c
new file mode 100644
index 0000000..5dae5ff
--- /dev/null
+++ b/none/tests/s390x/bfp-2.c
@@ -0,0 +1,102 @@
+#include <stdio.h>
+
+/* Test various BFP ops:
+   - square root
+   - load negative
+   - load positive
+   - load complement
+*/
+
+void sqebr(float in)
+{
+   float out;
+
+   __asm__ volatile("sqebr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in));
+   printf("sqebr  %f  -> %f\n", in, out);
+}
+
+void sqdbr(double in)
+{
+   double out;
+
+   __asm__ volatile("sqdbr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in));
+   printf("sqdbr  %f  -> %f\n", in, out);
+}
+
+void lnebr(float in)
+{
+   float out;
+
+   __asm__ volatile("lnebr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in));
+   printf("lnebr  %f  -> %f\n", in, out);
+}
+
+void lndbr(double in)
+{
+   double out;
+
+   __asm__ volatile("lndbr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in));
+   printf("lndbr  %f  -> %f\n", in, out);
+}
+
+void lpebr(float in)
+{
+   float out;
+
+   __asm__ volatile("lpebr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in));
+   printf("lpebr  %f  -> %f\n", in, out);
+}
+
+void lpdbr(double in)
+{
+   double out;
+
+   __asm__ volatile("lpdbr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in));
+   printf("lpdbr  %f  -> %f\n", in, out);
+}
+
+void lcebr(float in)
+{
+   float out;
+
+   __asm__ volatile("lcebr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in));
+   printf("lcebr  %f  -> %f\n", in, out);
+}
+
+void lcdbr(double in)
+{
+   double out;
+
+   __asm__ volatile("lcdbr %[out],%[in]" : [out]"=f"(out) : [in]"f"(in));
+   printf("lcdbr  %f  -> %f\n", in, out);
+}
+
+int main(void)
+{
+   // square root
+   sqebr(121.0f);  // 4 byte values
+   sqdbr(144.0);   // 8 bytes values
+
+   // load negative
+   lnebr(-2.5f);   // 4 byte values
+   lnebr(12.5f);   // 4 byte values
+
+   lndbr(-0.5);    // 8 byte values
+   lndbr(42.5);    // 8 byte values
+
+   // load positive
+   lpebr(-2.5f);   // 4 byte values
+   lpebr(12.5f);   // 4 byte values
+
+   lpdbr(-0.5);    // 8 byte values
+   lpdbr(42.5);    // 8 byte values
+
+   // load complement
+   lcebr(-23.5f);  // 4 byte values
+   lcebr(123.5f);  // 4 byte values
+
+   lcdbr(-17.5);   // 8 byte values
+   lcdbr(234.5);   // 8 byte values
+
+   return 0;
+}
diff --git a/none/tests/s390x/bfp-2.stderr.exp b/none/tests/s390x/bfp-2.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/bfp-2.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/bfp-2.stdout.exp b/none/tests/s390x/bfp-2.stdout.exp
new file mode 100644
index 0000000..074180a
--- /dev/null
+++ b/none/tests/s390x/bfp-2.stdout.exp
@@ -0,0 +1,14 @@
+sqebr  121.000000  -> 11.000000
+sqdbr  144.000000  -> 12.000000
+lnebr  -2.500000  -> -2.500000
+lnebr  12.500000  -> -12.500000
+lndbr  -0.500000  -> -0.500000
+lndbr  42.500000  -> -42.500000
+lpebr  -2.500000  -> 2.500000
+lpebr  12.500000  -> 12.500000
+lpdbr  -0.500000  -> 0.500000
+lpdbr  42.500000  -> 42.500000
+lcebr  -23.500000  -> 23.500000
+lcebr  123.500000  -> -123.500000
+lcdbr  -17.500000  -> 17.500000
+lcdbr  234.500000  -> -234.500000
diff --git a/none/tests/s390x/bfp-2.vgtest b/none/tests/s390x/bfp-2.vgtest
new file mode 100644
index 0000000..239b8f9
--- /dev/null
+++ b/none/tests/s390x/bfp-2.vgtest
@@ -0,0 +1 @@
+prog: bfp-2
diff --git a/none/tests/s390x/bfp-3.c b/none/tests/s390x/bfp-3.c
new file mode 100644
index 0000000..857e1c8
--- /dev/null
+++ b/none/tests/s390x/bfp-3.c
@@ -0,0 +1,53 @@
+#include <stdio.h>
+
+/* Test BFP multiply and add/sub  32/64-bit. There are no such insns
+   working with 128-bit data */
+
+void maebr(float v1, float v2, float v3)
+{
+   float r1 = v1;
+
+   __asm__ volatile("maebr %[r1],%[r3],%[r2]"
+                    : [r1]"+f"(r1) : [r2]"f"(v2), [r3]"f"(v3));
+   printf("maebr  %f * %f + %f  -> %f\n", v2, v3, v1, r1);
+}
+
+void madbr(double v1, double v2, double v3)
+{
+   double r1 = v1;
+
+   __asm__ volatile("madbr %[r1],%[r3],%[r2]"
+                    : [r1]"+f"(r1) : [r2]"f"(v2), [r3]"f"(v3));
+   printf("madbr  %f * %f + %f  -> %f\n", v2, v3, v1, r1);
+}
+
+void msebr(float v1, float v2, float v3)
+{
+   float r1 = v1;
+
+   __asm__ volatile("msebr %[r1],%[r3],%[r2]"
+                    : [r1]"+f"(r1) : [r2]"f"(v2), [r3]"f"(v3));
+   printf("msebr  %f * %f - %f  -> %f\n", v2, v3, v1, r1);
+}
+
+void msdbr(double v1, double v2, double v3)
+{
+   double r1 = v1;
+
+   __asm__ volatile("msdbr %[r1],%[r3],%[r2]"
+                    : [r1]"+f"(r1) : [r2]"f"(v2), [r3]"f"(v3));
+   printf("msdbr  %f * %f - %f  -> %f\n", v2, v3, v1, r1);
+}
+
+int main(void)
+{
+   // multiply and add
+   maebr(10.5f, 20.25, 3.0);  // 4 byte values
+   madbr(-10.5, 42.75, -2.0); // 8 byte values
+
+   // multiply and sub
+   msebr(10.5f, 20.25, 3.0);  // 4 byte values
+   msdbr(-10.5, 42.75, -2.0); // 8 byte values
+
+   return 0;
+}
diff --git a/none/tests/s390x/bfp-3.stderr.exp b/none/tests/s390x/bfp-3.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/bfp-3.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/bfp-3.stdout.exp b/none/tests/s390x/bfp-3.stdout.exp
new file mode 100644
index 0000000..bd9e5c4
--- /dev/null
+++ b/none/tests/s390x/bfp-3.stdout.exp
@@ -0,0 +1,4 @@
+maebr  20.250000 * 3.000000 + 10.500000  -> 71.250000
+madbr  42.750000 * -2.000000 + -10.500000  -> -96.000000
+msebr  20.250000 * 3.000000 - 10.500000  -> 50.250000
+msdbr  42.750000 * -2.000000 - -10.500000  -> -75.000000
diff --git a/none/tests/s390x/bfp-3.vgtest b/none/tests/s390x/bfp-3.vgtest
new file mode 100644
index 0000000..8088d7d
--- /dev/null
+++ b/none/tests/s390x/bfp-3.vgtest
@@ -0,0 +1 @@
+prog: bfp-3
diff --git a/none/tests/s390x/bfp-4.c b/none/tests/s390x/bfp-4.c
new file mode 100644
index 0000000..c2d8881
--- /dev/null
+++ b/none/tests/s390x/bfp-4.c
@@ -0,0 +1,61 @@
+#include <stdio.h>
+
+/* Test BFP comparison for  32/64-bit. */
+
+void cebr(float v1, float v2)
+{
+   int cc;
+
+   __asm__ volatile("cebr %[r1],%[r2]\n\t"
+                    "ipm   %[psw]\n\t"
+                    "srl   %[psw],28\n\t"
+                    : [psw]"=d"(cc) : [r1]"f"(v1), [r2]"f"(v2) : "cc");
+   if (cc == 0)
+      printf("cfebr:  %f == %f\n", v1, v2);
+   if (cc == 1)
+      printf("cfebr:  %f < %f\n", v1, v2);
+   if (cc == 2)
+      printf("cfebr:  %f > %f\n", v1, v2);
+}
+
+void cdbr(double v1, double v2)
+{
+   int cc;
+
+   __asm__ volatile("cdbr %[r1],%[r2]\n\t"
+                    "ipm   %[psw]\n\t"
+                    "srl   %[psw],28\n\t"
+                    : [psw]"=d"(cc) : [r1]"f"(v1), [r2]"f"(v2) : "cc");
+   if (cc == 0)
+      printf("cdebr:  %f == %f\n", v1, v2);
+   if (cc == 1)
+      printf("cdebr:  %f < %f\n", v1, v2);
+   if (cc == 2)
+      printf("cdebr:  %f > %f\n", v1, v2);
+}
+
+int main(void)
+{
+   float f1, f2;
+   float d1, d2;
+
+   // compare 4 bytes
+   f1 = 3.14f;
+   f2 = f1;
+   cebr(f1, f2);
+   f2 = f1 + 10.;
+   cebr(f1, f2);
+   f2 = f1 - 100.;
+   cebr(f1, f2);
+
+   // compare 8 bytes
+   d1 = 2.78;
+   d2 = d1;
+   cdbr(d1, d2);
+   d2 = d1 + 10.;
+   cdbr(d1, d2);
+   d2 = d1 - 100.;
+   cdbr(d1, d2);
+
+   return 0;
+}
diff --git a/none/tests/s390x/bfp-4.stderr.exp b/none/tests/s390x/bfp-4.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/bfp-4.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/bfp-4.stdout.exp b/none/tests/s390x/bfp-4.stdout.exp
new file mode 100644
index 0000000..eff1366
--- /dev/null
+++ b/none/tests/s390x/bfp-4.stdout.exp
@@ -0,0 +1,6 @@
+cfebr:  3.140000 == 3.140000
+cfebr:  3.140000 < 13.140000
+cfebr:  3.140000 > -96.860001
+cdebr:  2.780000 == 2.780000
+cdebr:  2.780000 < 12.780000
+cdebr:  2.780000 > -97.220001
diff --git a/none/tests/s390x/bfp-4.vgtest b/none/tests/s390x/bfp-4.vgtest
new file mode 100644
index 0000000..b800aa3
--- /dev/null
+++ b/none/tests/s390x/bfp-4.vgtest
@@ -0,0 +1 @@
+prog: bfp-4
diff --git a/none/tests/s390x/cds.c b/none/tests/s390x/cds.c
new file mode 100644
index 0000000..693f19b
--- /dev/null
+++ b/none/tests/s390x/cds.c
@@ -0,0 +1,114 @@
+#include <stdint.h>
+#include <stdio.h>
+
+typedef struct {
+   uint64_t high;
+   uint64_t low;
+} quad_word;
+
+void 
+test(quad_word op1_init, uint64_t op2_init, quad_word op3_init,
+     int expected_cc)
+{
+   int cc = 1 - expected_cc;
+
+   quad_word op1 = op1_init;
+   uint64_t  op2 = op2_init;
+   quad_word op3 = op3_init;
+
+   quad_word op1_before = op1;
+   uint64_t  op2_before = op2;
+   quad_word op3_before = op3;
+
+   printf("before op1 = (%#lx, %#lx)\n", op1.high, op1.low);
+   printf("before op2 =  %#lx\n", op2);
+   printf("before op3 = (%#lx, %#lx)\n", op3.high, op3.low);
+
+   __asm__ volatile (
+                     "lmg     %%r0,%%r1,%1\n\t"
+                     "lmg     %%r2,%%r3,%3\n\t"
+                     "cds     %%r0,%%r2,%2\n\t"  //  cds 1st,3rd,2nd
+                     "stmg    %%r0,%%r1,%1\n"    // store r0,r1 to op1
+                     "stmg    %%r2,%%r3,%3\n"    // store r2,r3 to op3
+                     "ipm     %0\n\t"
+                     "srl     %0,28\n\t"
+                     : "=d" (cc), "+QS" (op1), "+QS" (op2), "+QS" (op3)
+                     :
+                     : "r0", "r1", "r2", "r3", "cc");
+
+   printf("after  op1 = (%#lx, %#lx)\n", op1.high, op1.low);
+   printf("after  op2 = %#lx\n", op2);
+   printf("after  op3 = (%#lx, %#lx)\n", op3.high, op3.low);
+   printf("cc = %d\n", cc);
+
+   // Check the condition code
+   if (cc != expected_cc) {
+      printf("condition code is incorrect\n");
+   }
+
+   // op3 never changes
+   if (op3.low != op3_before.low || op3.high != op3_before.high) {
+      printf("operand #3 modified\n");
+   }
+
+   if (expected_cc == 0) {
+      // 3rd operand stored at 2nd operand location
+
+      // op1 did not change
+      if (op1.low != op1_before.low || op1.high != op1_before.high) {
+         printf("operand #1 modified\n");
+      }
+
+      // lower 32 bits of op2 are the lower 32 bits of op3.low
+      if ((op2 & 0xffffffff) != (op3.low & 0xffffffff)) {
+         printf("operand #2 [32:63] incorrect\n");
+      }
+      // higher 32 bits of op2 are the lower 32 bits of op3.high
+      if ((op2 >> 32) != (op3.high & 0xffffffff)) {
+         printf("operand #2 [0:31] incorrect\n");
+      }
+   } else {
+      // 2nd operand stored at 1st operand location
+
+      // op2 did not change
+      if (op2 != op2_before) {
+         printf("operand #2 modified\n");
+      }
+
+      // bits [0:31] of op1 (both parts) are unchanged
+      if ((op1.high >> 32) != (op1_before.high >> 32) ||
+          (op1.low  >> 32) != (op1_before.low >> 32)) {
+         printf("operand #1 [0:31] modified\n");
+      }
+
+      if ((op1.low & 0xffffffff) != (op2 & 0xffffffff)) {
+         printf("operand #1 low[32:63] incorrect\n");
+      }
+      if ((op1.high & 0xffffffff) != (op2 >> 32)) {
+         printf("operand #1 high[32:63] not updated\n");
+      }
+   }
+}
+
+int main ()
+{
+   quad_word op1, op3;
+   uint64_t  op2;
+
+   // (op1.high[32:63], op1.low[32:63]) == op2
+   op1.high = 0x0000000044556677ull;
+   op1.low  = 0x111111118899aabbull;
+   op2      = 0x445566778899aabbull;
+
+   op3.high = op3.low = 0xdeadbeefdeadbabeull;
+   test(op1, op2, op3, 0);
+
+   // (op1.high[32:63], op1.low[32:63]) != op2
+   op1.high = 0x1000000000000000ull;
+   op1.low  = 0x0000000000000000ull;
+   op2      = 0x8000000000000001ull;;
+   op3.high = op3.low = 0xdeadbeefdeadbabeull;
+   test(op1, op2, op3, 1);
+
+   return 0;
+}
diff --git a/none/tests/s390x/cds.stderr.exp b/none/tests/s390x/cds.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cds.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cds.stdout.exp b/none/tests/s390x/cds.stdout.exp
new file mode 100644
index 0000000..7636947
--- /dev/null
+++ b/none/tests/s390x/cds.stdout.exp
@@ -0,0 +1,14 @@
+before op1 = (0x44556677, 0x111111118899aabb)
+before op2 =  0x445566778899aabb
+before op3 = (0xdeadbeefdeadbabe, 0xdeadbeefdeadbabe)
+after  op1 = (0x44556677, 0x111111118899aabb)
+after  op2 = 0xdeadbabedeadbabe
+after  op3 = (0xdeadbeefdeadbabe, 0xdeadbeefdeadbabe)
+cc = 0
+before op1 = (0x1000000000000000, 0)
+before op2 =  0x8000000000000001
+before op3 = (0xdeadbeefdeadbabe, 0xdeadbeefdeadbabe)
+after  op1 = (0x1000000080000000, 0x1)
+after  op2 = 0x8000000000000001
+after  op3 = (0xdeadbeefdeadbabe, 0xdeadbeefdeadbabe)
+cc = 1
diff --git a/none/tests/s390x/cds.vgtest b/none/tests/s390x/cds.vgtest
new file mode 100644
index 0000000..0daf980
--- /dev/null
+++ b/none/tests/s390x/cds.vgtest
@@ -0,0 +1 @@
+prog: cds
diff --git a/none/tests/s390x/cdsg.c b/none/tests/s390x/cdsg.c
new file mode 100644
index 0000000..6143f56
--- /dev/null
+++ b/none/tests/s390x/cdsg.c
@@ -0,0 +1,110 @@
+#include <stdint.h>
+#include <stdio.h>
+
+typedef struct {
+   uint64_t high;
+   uint64_t low;
+} __attribute__((aligned(16))) quad_word;
+
+
+/* CDSG needs quad-word alignment */
+quad_word _op1, _op2, _op3;
+
+void
+test(quad_word op1_init, quad_word op2_init, quad_word op3_init,
+     int expected_cc)
+{
+   quad_word op1_before, op2_before, op3_before;
+   int cc = 1 - expected_cc;
+
+   _op1 = op1_init;
+   _op2 = op2_init;
+   _op3 = op3_init;
+
+   op1_before = _op1;
+   op2_before = _op2;
+   op3_before = _op3;
+
+   printf("before op1 = (%#lx, %#lx)\n", _op1.high, _op1.low);
+   printf("before op2 = (%#lx, %#lx)\n", _op2.high, _op2.low);
+   printf("before op3 = (%#lx, %#lx)\n", _op3.high, _op3.low);
+
+   __asm__ volatile (
+                     "lmg     %%r0,%%r1,%1\n\t"
+                     "lmg     %%r2,%%r3,%3\n\t"
+                     "cdsg    %%r0,%%r2,%2\n\t"  //  cdsg 1st,3rd,2nd
+                     "stmg    %%r0,%%r1,%1\n"    // store r0,r1 to _op1
+                     "stmg    %%r2,%%r3,%3\n"    // store r2,r3 to _op3
+                     "ipm     %0\n\t"
+                     "srl     %0,28\n\t"
+                     : "=d" (cc), "+QS" (_op1), "+QS" (_op2), "+QS" (_op3)
+                     :
+                     : "r0", "r1", "r2", "r3", "cc");
+
+   printf("after  op1 = (%#lx, %#lx)\n", _op1.high, _op1.low);
+   printf("after  op2 = (%#lx, %#lx)\n", _op2.high, _op2.low);
+   printf("after  op3 = (%#lx, %#lx)\n", _op3.high, _op3.low);
+   printf("cc = %d\n", cc);
+
+   if (cc != expected_cc) {
+      printf("condition code is incorrect\n");
+   }
+
+   // _op3 never changes
+   if (_op3.low != op3_before.low || _op3.high != op3_before.high) {
+      printf("operand #3 modified\n");
+   }
+
+   if (expected_cc == 0) {
+      // 3rd operand stored at 2nd operand location
+
+      // _op1 did not change
+      if (_op1.low != op1_before.low || _op1.high != op1_before.high) {
+         printf("operand #1 modified\n");
+      }
+      if (_op2.high != _op3.high || _op2.low != _op3.low) {
+         printf("operand #2 incorrect\n");
+      }
+   } else {
+      // 2nd operand stored at 1st operand location
+
+      // _op2 did not change
+      if (_op2.low != op2_before.low || _op2.high != op2_before.high) {
+         printf("operand #2 modified\n");
+      }
+
+      if (_op1.high != _op2.high || _op1.low != _op2.low) {
+         printf("operand #1 incorrect\n");
+      }
+   }
+}
+
+int main ()
+{
+   quad_word op1, op2, op3;
+
+   // op1 == op2
+   op1.high = 0x0011223344556677ull;
+   op1.low  = 0x8899aabbccddeeffull;
+   op2 = op1;
+   op3.high = op3.low = 0xdeadbeefdeadbabeull;
+   test(op1, op2, op3, 0);
+
+   // op1 != op2 (only MSB differs)
+   op1.high = 0x8000000000000000ull;
+   op1.low  = 0x0000000000000000ull;
+   op2.high = 0;
+   op2.low  = 1;
+   op3.high = op3.low = 0xdeadbeefdeadbabeull;
+   test(op1, op2, op3, 1);
+
+   // op1 != op2 (only LSB differs)
+   op1.high = 0x0000000000000000ull;
+   op1.low  = 0x0000000000000001ull;
+   op2.high = 1;
+   op2.low  = 0;
+   op3.high = op3.low = 0xdeadbeefdeadbabeull;
+   test(op1, op2, op3, 1);
+
+   return 0;
+}
diff --git a/none/tests/s390x/cdsg.stderr.exp b/none/tests/s390x/cdsg.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cdsg.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cdsg.stdout.exp b/none/tests/s390x/cdsg.stdout.exp
new file mode 100644
index 0000000..460bfbf
--- /dev/null
+++ b/none/tests/s390x/cdsg.stdout.exp
@@ -0,0 +1,21 @@
+before op1 = (0x11223344556677, 0x8899aabbccddeeff)
+before op2 = (0x11223344556677, 0x8899aabbccddeeff)
+before op3 = (0xdeadbeefdeadbabe, 0xdeadbeefdeadbabe)
+after  op1 = (0x11223344556677, 0x8899aabbccddeeff)
+after  op2 = (0xdeadbeefdeadbabe, 0xdeadbeefdeadbabe)
+after  op3 = (0xdeadbeefdeadbabe, 0xdeadbeefdeadbabe)
+cc = 0
+before op1 = (0x8000000000000000, 0)
+before op2 = (0, 0x1)
+before op3 = (0xdeadbeefdeadbabe, 0xdeadbeefdeadbabe)
+after  op1 = (0, 0x1)
+after  op2 = (0, 0x1)
+after  op3 = (0xdeadbeefdeadbabe, 0xdeadbeefdeadbabe)
+cc = 1
+before op1 = (0, 0x1)
+before op2 = (0x1, 0)
+before op3 = (0xdeadbeefdeadbabe, 0xdeadbeefdeadbabe)
+after  op1 = (0x1, 0)
+after  op2 = (0x1, 0)
+after  op3 = (0xdeadbeefdeadbabe, 0xdeadbeefdeadbabe)
+cc = 1
diff --git a/none/tests/s390x/cdsg.vgtest b/none/tests/s390x/cdsg.vgtest
new file mode 100644
index 0000000..e0cd61f
--- /dev/null
+++ b/none/tests/s390x/cdsg.vgtest
@@ -0,0 +1 @@
+prog: cdsg
diff --git a/none/tests/s390x/cgij.c b/none/tests/s390x/cgij.c
new file mode 100644
index 0000000..962e56e
--- /dev/null
+++ b/none/tests/s390x/cgij.c
@@ -0,0 +1,175 @@
+#include <stdio.h>
+#include <stdint.h>
+#include "opcodes.h"
+
+#define BRASLCLOBBER "0","1","2","3","4","5","14", \
+		     "f0","f1","f2","f3","f4","f5","f6","f7"
+
+void if_eq(void)        { printf("equal\n");   }
+void if_ne(void)        { printf("not equal\n");   }
+void if_gt(void)        { printf("greater than\n");   }
+void if_le(void)        { printf("less or equal\n");   }
+void if_lt(void)        { printf("less than\n");   }
+void if_ge(void)        { printf("greater or equal\n");   }
+void if_taken(void)     { printf("taken\n");   }
+void if_not_taken(void) { printf("not taken\n");   }
+
+#undef LT
+#define NEVER 0
+#define GT 2
+#define LT 4
+#define NE 6
+#define EQ 8
+#define LE C
+#define GE A
+#define ALWAYS E
+
+
+void compare_never(int64_t value)
+{
+   register int64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi   15,-160\n\t"
+                CGIJ(7,NEVER,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_always(int64_t value)
+{
+   register int64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi   15,-160\n\t"
+                CGIJ(7,ALWAYS,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_le42(int64_t value)
+{
+   register int64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi   15,-160\n\t"
+                CGIJ(7,LE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_gt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_le\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ge42(int64_t value)
+{
+   register int64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi   15,-160\n\t"
+                CGIJ(7,GE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_lt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ge\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_gt42(int64_t value)
+{
+   register int64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi   15,-160\n\t"
+                CGIJ(7,GT,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_le\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_gt\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_lt42(int64_t value)
+{
+   register int64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi   15,-160\n\t"
+                CGIJ(7,LT,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_ge\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_lt\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_eq42(int64_t value)
+{
+   register int64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi   15,-160\n\t"
+                CGIJ(7,EQ,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_ne\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_eq\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ne42(int64_t value)
+{
+   register int64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi   15,-160\n\t"
+                CGIJ(7,NE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_eq\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ne\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+int main()
+{
+   compare_eq42(-12);
+   compare_eq42(42);
+   compare_eq42(100);
+
+   compare_ne42(-12);
+   compare_ne42(42);
+   compare_ne42(100);
+
+   compare_gt42(-12);
+   compare_gt42(42);
+   compare_gt42(100);
+
+   compare_lt42(-12);
+   compare_lt42(42);
+   compare_lt42(100);
+
+   compare_le42(-12);
+   compare_le42(42);
+   compare_le42(100);
+
+   compare_ge42(-12);
+   compare_ge42(42);
+   compare_ge42(100);
+
+   compare_never(-12);
+   compare_never(42);
+   compare_never(100);
+
+   compare_always(-12);
+   compare_always(42);
+   compare_always(100);
+
+   return 0;
+}
diff --git a/none/tests/s390x/cgij.stderr.exp b/none/tests/s390x/cgij.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cgij.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cgij.stdout.exp b/none/tests/s390x/cgij.stdout.exp
new file mode 100644
index 0000000..bd98295
--- /dev/null
+++ b/none/tests/s390x/cgij.stdout.exp
@@ -0,0 +1,24 @@
+not equal
+equal
+not equal
+not equal
+equal
+not equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+not taken
+not taken
+not taken
+taken
+taken
+taken
diff --git a/none/tests/s390x/cgij.vgtest b/none/tests/s390x/cgij.vgtest
new file mode 100644
index 0000000..1a75de9
--- /dev/null
+++ b/none/tests/s390x/cgij.vgtest
@@ -0,0 +1 @@
+prog: cgij
diff --git a/none/tests/s390x/cgrj.c b/none/tests/s390x/cgrj.c
new file mode 100644
index 0000000..f269918
--- /dev/null
+++ b/none/tests/s390x/cgrj.c
@@ -0,0 +1,191 @@
+#include <stdio.h>
+#include <stdint.h>
+#include "opcodes.h"
+
+#define BRASLCLOBBER "0","1","2","3","4","5","14", \
+		     "f0","f1","f2","f3","f4","f5","f6","f7"
+
+void if_eq(void)        { printf("equal\n");   }
+void if_ne(void)        { printf("not equal\n");   }
+void if_gt(void)        { printf("greater than\n");   }
+void if_le(void)        { printf("less or equal\n");   }
+void if_lt(void)        { printf("less than\n");   }
+void if_ge(void)        { printf("greater or equal\n");   }
+void if_taken(void)     { printf("taken\n");   }
+void if_not_taken(void) { printf("not taken\n");   }
+
+#undef LT
+#define NEVER 0
+#define GT 2
+#define LT 4
+#define NE 6
+#define EQ 8
+#define LE C
+#define GE A
+#define ALWAYS E
+
+
+void compare_never(int64_t value1, int64_t value2)
+{
+   register int64_t val1 asm("r7") = value1;
+   register int64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CGRJ(7,8,8,NEVER) "\n\t"
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t" 
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_always(int64_t value1, int64_t value2)
+{
+   register int64_t val1 asm("r7") = value1;
+   register int64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CGRJ(7,8,8,ALWAYS) "\n\t"
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_le(int64_t value1, int64_t value2)
+{
+   register int64_t val1 asm("r7") = value1;
+   register int64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CGRJ(7,8,8,LE) "\n\t"
+                "brasl 14,if_gt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_le\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ge(int64_t value1, int64_t value2)
+{
+   register int64_t val1 asm("r7") = value1;
+   register int64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CGRJ(7,8,8,GE) "\n\t"
+                "brasl 14,if_lt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ge\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_gt(int64_t value1, int64_t value2)
+{
+   register int64_t val1 asm("r7") = value1;
+   register int64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CGRJ(7,8,8,GT) "\n\t"
+                "brasl 14,if_le\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_gt\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_lt(int64_t value1, int64_t value2)
+{
+   register int64_t val1 asm("r7") = value1;
+   register int64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CGRJ(7,8,8,LT) "\n\t"
+                "brasl 14,if_ge\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_lt\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_eq(int64_t value1, int64_t value2)
+{
+   register int64_t val1 asm("r7") = value1;
+   register int64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CGRJ(7,8,8,EQ) "\n\t"
+                "brasl 14,if_ne\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_eq\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ne(int64_t value1, int64_t value2)
+{
+   register int64_t val1 asm("r7") = value1;
+   register int64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CGRJ(7,8,8,NE) "\n\t"
+                "brasl 14,if_eq\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ne\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+int main()
+{
+   compare_eq(-12, 42);
+   compare_eq(42, 42);
+   compare_eq(100, 42);
+
+   compare_ne(-12, 42);
+   compare_ne(42, 42);
+   compare_ne(100, 42);
+
+   compare_gt(-12, 42);
+   compare_gt(42, 42);
+   compare_gt(100, 42);
+
+   compare_lt(-12, 42);
+   compare_lt(42, 42);
+   compare_lt(100, 42);
+
+   compare_le(-12, 42);
+   compare_le(42, 42);
+   compare_le(100, 42);
+
+   compare_ge(-12, 42);
+   compare_ge(42, 42);
+   compare_ge(100, 42);
+
+   compare_never(-12, 42);
+   compare_never(42, 42);
+   compare_never(100, 42);
+
+   compare_always(-12, 42);
+   compare_always(42, 42);
+   compare_always(100, 42);
+
+   return 0;
+}
diff --git a/none/tests/s390x/cgrj.stderr.exp b/none/tests/s390x/cgrj.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cgrj.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cgrj.stdout.exp b/none/tests/s390x/cgrj.stdout.exp
new file mode 100644
index 0000000..bd98295
--- /dev/null
+++ b/none/tests/s390x/cgrj.stdout.exp
@@ -0,0 +1,24 @@
+not equal
+equal
+not equal
+not equal
+equal
+not equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+not taken
+not taken
+not taken
+taken
+taken
+taken
diff --git a/none/tests/s390x/cgrj.vgtest b/none/tests/s390x/cgrj.vgtest
new file mode 100644
index 0000000..f61e06e
--- /dev/null
+++ b/none/tests/s390x/cgrj.vgtest
@@ -0,0 +1 @@
+prog: cgrj
diff --git a/none/tests/s390x/cij.c b/none/tests/s390x/cij.c
new file mode 100644
index 0000000..4f2913e
--- /dev/null
+++ b/none/tests/s390x/cij.c
@@ -0,0 +1,175 @@
+#include <stdio.h>
+#include <stdint.h>
+#include "opcodes.h"
+
+#define BRASLCLOBBER "0","1","2","3","4","5","14", \
+		     "f0","f1","f2","f3","f4","f5","f6","f7"
+
+void if_eq(void)        { printf("equal\n");   }
+void if_ne(void)        { printf("not equal\n");   }
+void if_gt(void)        { printf("greater than\n");   }
+void if_le(void)        { printf("less or equal\n");   }
+void if_lt(void)        { printf("less than\n");   }
+void if_ge(void)        { printf("greater or equal\n");   }
+void if_taken(void)     { printf("taken\n");   }
+void if_not_taken(void) { printf("not taken\n");   }
+
+#undef LT
+#define NEVER 0
+#define GT 2
+#define LT 4
+#define NE 6
+#define EQ 8
+#define LE C
+#define GE A
+#define ALWAYS E
+
+
+void compare_never(int32_t value)
+{
+   register int32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CIJ(7,NEVER,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_always(int32_t value)
+{
+   register int32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CIJ(7,ALWAYS,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_le42(int32_t value)
+{
+   register int32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CIJ(7,LE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_gt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_le\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ge42(int32_t value)
+{
+   register int32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CIJ(7,GE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_lt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ge\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_gt42(int32_t value)
+{
+   register int32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CIJ(7,GT,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_le\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_gt\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_lt42(int32_t value)
+{
+   register int32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CIJ(7,LT,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_ge\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_lt\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_eq42(int32_t value)
+{
+   register int32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CIJ(7,EQ,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_ne\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_eq\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ne42(int32_t value)
+{
+   register int32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CIJ(7,NE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_eq\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ne\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+int main()
+{
+   compare_eq42(-12);
+   compare_eq42(42);
+   compare_eq42(100);
+
+   compare_ne42(-12);
+   compare_ne42(42);
+   compare_ne42(100);
+
+   compare_gt42(-12);
+   compare_gt42(42);
+   compare_gt42(100);
+
+   compare_lt42(-12);
+   compare_lt42(42);
+   compare_lt42(100);
+
+   compare_le42(-12);
+   compare_le42(42);
+   compare_le42(100);
+
+   compare_ge42(-12);
+   compare_ge42(42);
+   compare_ge42(100);
+
+   compare_never(-12);
+   compare_never(42);
+   compare_never(100);
+
+   compare_always(-12);
+   compare_always(42);
+   compare_always(100);
+
+   return 0;
+}
diff --git a/none/tests/s390x/cij.stderr.exp b/none/tests/s390x/cij.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cij.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cij.stdout.exp b/none/tests/s390x/cij.stdout.exp
new file mode 100644
index 0000000..bd98295
--- /dev/null
+++ b/none/tests/s390x/cij.stdout.exp
@@ -0,0 +1,24 @@
+not equal
+equal
+not equal
+not equal
+equal
+not equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+not taken
+not taken
+not taken
+taken
+taken
+taken
diff --git a/none/tests/s390x/cij.vgtest b/none/tests/s390x/cij.vgtest
new file mode 100644
index 0000000..959413f
--- /dev/null
+++ b/none/tests/s390x/cij.vgtest
@@ -0,0 +1 @@
+prog: cij
diff --git a/none/tests/s390x/clgij.c b/none/tests/s390x/clgij.c
new file mode 100644
index 0000000..87d3a3a
--- /dev/null
+++ b/none/tests/s390x/clgij.c
@@ -0,0 +1,175 @@
+#include <stdio.h>
+#include <stdint.h>
+#include "opcodes.h"
+
+#define BRASLCLOBBER "0","1","2","3","4","5","14", \
+		     "f0","f1","f2","f3","f4","f5","f6","f7"
+
+void if_eq(void)        { printf("equal\n");   }
+void if_ne(void)        { printf("not equal\n");   }
+void if_gt(void)        { printf("greater than\n");   }
+void if_le(void)        { printf("less or equal\n");   }
+void if_lt(void)        { printf("less than\n");   }
+void if_ge(void)        { printf("greater or equal\n");   }
+void if_taken(void)     { printf("taken\n");   }
+void if_not_taken(void) { printf("not taken\n");   }
+
+#undef LT
+#define NEVER 0
+#define GT 2
+#define LT 4
+#define NE 6
+#define EQ 8
+#define LE C
+#define GE A
+#define ALWAYS E
+
+
+void compare_never(uint64_t value)
+{
+   register uint64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGIJ(7,NEVER,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_always(uint64_t value)
+{
+   register uint64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGIJ(7,ALWAYS,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_le42(uint64_t value)
+{
+   register uint64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGIJ(7,LE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_gt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_le\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ge42(uint64_t value)
+{
+   register uint64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGIJ(7,GE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_lt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ge\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_gt42(uint64_t value)
+{
+   register uint64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGIJ(7,GT,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_le\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_gt\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_lt42(uint64_t value)
+{
+   register uint64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGIJ(7,LT,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_ge\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_lt\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_eq42(uint64_t value)
+{
+   register uint64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGIJ(7,EQ,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_ne\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_eq\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ne42(uint64_t value)
+{
+   register uint64_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGIJ(7,NE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_eq\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ne\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+int main()
+{
+   compare_eq42(12);
+   compare_eq42(42);
+   compare_eq42(100);
+
+   compare_ne42(12);
+   compare_ne42(42);
+   compare_ne42(100);
+
+   compare_gt42(12);
+   compare_gt42(42);
+   compare_gt42(100);
+
+   compare_lt42(12);
+   compare_lt42(42);
+   compare_lt42(100);
+
+   compare_le42(12);
+   compare_le42(42);
+   compare_le42(100);
+
+   compare_ge42(12);
+   compare_ge42(42);
+   compare_ge42(100);
+
+   compare_never(12);
+   compare_never(42);
+   compare_never(100);
+
+   compare_always(12);
+   compare_always(42);
+   compare_always(100);
+
+   return 0;
+}
diff --git a/none/tests/s390x/clgij.stderr.exp b/none/tests/s390x/clgij.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/clgij.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/clgij.stdout.exp b/none/tests/s390x/clgij.stdout.exp
new file mode 100644
index 0000000..bd98295
--- /dev/null
+++ b/none/tests/s390x/clgij.stdout.exp
@@ -0,0 +1,24 @@
+not equal
+equal
+not equal
+not equal
+equal
+not equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+not taken
+not taken
+not taken
+taken
+taken
+taken
diff --git a/none/tests/s390x/clgij.vgtest b/none/tests/s390x/clgij.vgtest
new file mode 100644
index 0000000..b400a6b
--- /dev/null
+++ b/none/tests/s390x/clgij.vgtest
@@ -0,0 +1 @@
+prog: clgij
diff --git a/none/tests/s390x/clgrj.c b/none/tests/s390x/clgrj.c
new file mode 100644
index 0000000..de6b825
--- /dev/null
+++ b/none/tests/s390x/clgrj.c
@@ -0,0 +1,191 @@
+#include <stdio.h>
+#include <stdint.h>
+#include "opcodes.h"
+
+#define BRASLCLOBBER "0","1","2","3","4","5","14", \
+		     "f0","f1","f2","f3","f4","f5","f6","f7"
+
+void if_eq(void)        { printf("equal\n");   }
+void if_ne(void)        { printf("not equal\n");   }
+void if_gt(void)        { printf("greater than\n");   }
+void if_le(void)        { printf("less or equal\n");   }
+void if_lt(void)        { printf("less than\n");   }
+void if_ge(void)        { printf("greater or equal\n");   }
+void if_taken(void)     { printf("taken\n");   }
+void if_not_taken(void) { printf("not taken\n");   }
+
+#undef LT
+#define NEVER 0
+#define GT 2
+#define LT 4
+#define NE 6
+#define EQ 8
+#define LE C
+#define GE A
+#define ALWAYS E
+
+
+void compare_never(uint64_t value1, uint64_t value2)
+{
+   register uint64_t val1 asm("r7") = value1;
+   register uint64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGRJ(7,8,8,NEVER) "\n\t"
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_always(uint64_t value1, uint64_t value2)
+{
+   register uint64_t val1 asm("r7") = value1;
+   register uint64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGRJ(7,8,8,ALWAYS) "\n\t"
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_le(uint64_t value1, uint64_t value2)
+{
+   register uint64_t val1 asm("r7") = value1;
+   register uint64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGRJ(7,8,8,LE) "\n\t"
+                "brasl 14,if_gt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_le\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ge(uint64_t value1, uint64_t value2)
+{
+   register uint64_t val1 asm("r7") = value1;
+   register uint64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGRJ(7,8,8,GE) "\n\t"
+                "brasl 14,if_lt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ge\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_gt(uint64_t value1, uint64_t value2)
+{
+   register uint64_t val1 asm("r7") = value1;
+   register uint64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGRJ(7,8,8,GT) "\n\t"
+                "brasl 14,if_le\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_gt\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_lt(uint64_t value1, uint64_t value2)
+{
+   register uint64_t val1 asm("r7") = value1;
+   register uint64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGRJ(7,8,8,LT) "\n\t"
+                "brasl 14,if_ge\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_lt\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_eq(uint64_t value1, uint64_t value2)
+{
+   register uint64_t val1 asm("r7") = value1;
+   register uint64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGRJ(7,8,8,EQ) "\n\t"
+                "brasl 14,if_ne\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_eq\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ne(uint64_t value1, uint64_t value2)
+{
+   register uint64_t val1 asm("r7") = value1;
+   register uint64_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLGRJ(7,8,8,NE) "\n\t"
+                "brasl 14,if_eq\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ne\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+int main()
+{
+   compare_eq(12, 42);
+   compare_eq(42, 42);
+   compare_eq(100, 42);
+
+   compare_ne(12, 42);
+   compare_ne(42, 42);
+   compare_ne(100, 42);
+
+   compare_gt(12, 42);
+   compare_gt(42, 42);
+   compare_gt(100, 42);
+
+   compare_lt(12, 42);
+   compare_lt(42, 42);
+   compare_lt(100, 42);
+
+   compare_le(12, 42);
+   compare_le(42, 42);
+   compare_le(100, 42);
+
+   compare_ge(12, 42);
+   compare_ge(42, 42);
+   compare_ge(100, 42);
+
+   compare_never(12, 42);
+   compare_never(42, 42);
+   compare_never(100, 42);
+
+   compare_always(12, 42);
+   compare_always(42, 42);
+   compare_always(100, 42);
+
+   return 0;
+}
diff --git a/none/tests/s390x/clgrj.stderr.exp b/none/tests/s390x/clgrj.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/clgrj.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/clgrj.stdout.exp b/none/tests/s390x/clgrj.stdout.exp
new file mode 100644
index 0000000..bd98295
--- /dev/null
+++ b/none/tests/s390x/clgrj.stdout.exp
@@ -0,0 +1,24 @@
+not equal
+equal
+not equal
+not equal
+equal
+not equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+not taken
+not taken
+not taken
+taken
+taken
+taken
diff --git a/none/tests/s390x/clgrj.vgtest b/none/tests/s390x/clgrj.vgtest
new file mode 100644
index 0000000..b0dedcc
--- /dev/null
+++ b/none/tests/s390x/clgrj.vgtest
@@ -0,0 +1 @@
+prog: clgrj
diff --git a/none/tests/s390x/clij.c b/none/tests/s390x/clij.c
new file mode 100644
index 0000000..3b62e1c
--- /dev/null
+++ b/none/tests/s390x/clij.c
@@ -0,0 +1,175 @@
+#include <stdio.h>
+#include <stdint.h>
+#include "opcodes.h"
+
+#define BRASLCLOBBER "0","1","2","3","4","5","14", \
+		     "f0","f1","f2","f3","f4","f5","f6","f7"
+
+void if_eq(void)        { printf("equal\n");   }
+void if_ne(void)        { printf("not equal\n");   }
+void if_gt(void)        { printf("greater than\n");   }
+void if_le(void)        { printf("less or equal\n");   }
+void if_lt(void)        { printf("less than\n");   }
+void if_ge(void)        { printf("greater or equal\n");   }
+void if_taken(void)     { printf("taken\n");   }
+void if_not_taken(void) { printf("not taken\n");   }
+
+#undef LT
+#define NEVER 0
+#define GT 2
+#define LT 4
+#define NE 6
+#define EQ 8
+#define LE C
+#define GE A
+#define ALWAYS E
+
+
+void compare_never(uint32_t value)
+{
+   register uint32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLIJ(7,NEVER,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_always(uint32_t value)
+{
+   register uint32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLIJ(7,ALWAYS,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_le42(uint32_t value)
+{
+   register uint32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLIJ(7,LE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_gt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_le\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ge42(uint32_t value)
+{
+   register uint32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLIJ(7,GE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_lt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ge\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_gt42(uint32_t value)
+{
+   register uint32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLIJ(7,GT,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_le\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_gt\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_lt42(uint32_t value)
+{
+   register uint32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLIJ(7,LT,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_ge\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_lt\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_eq42(uint32_t value)
+{
+   register uint32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLIJ(7,EQ,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_ne\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_eq\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ne42(uint32_t value)
+{
+   register uint32_t val asm("r7") = value;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLIJ(7,NE,8,2a) "\n\t"    /* 0x2a == 42 */
+                "brasl 14,if_eq\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ne\n\t"
+                "0: aghi 15,160\n\t" : : "d"(val) : "15", BRASLCLOBBER);
+   return;
+}
+
+int main()
+{
+   compare_eq42(12);
+   compare_eq42(42);
+   compare_eq42(100);
+
+   compare_ne42(12);
+   compare_ne42(42);
+   compare_ne42(100);
+
+   compare_gt42(12);
+   compare_gt42(42);
+   compare_gt42(100);
+
+   compare_lt42(12);
+   compare_lt42(42);
+   compare_lt42(100);
+
+   compare_le42(12);
+   compare_le42(42);
+   compare_le42(100);
+
+   compare_ge42(12);
+   compare_ge42(42);
+   compare_ge42(100);
+
+   compare_never(12);
+   compare_never(42);
+   compare_never(100);
+
+   compare_always(12);
+   compare_always(42);
+   compare_always(100);
+
+   return 0;
+}
diff --git a/none/tests/s390x/clij.stderr.exp b/none/tests/s390x/clij.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/clij.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/clij.stdout.exp b/none/tests/s390x/clij.stdout.exp
new file mode 100644
index 0000000..bd98295
--- /dev/null
+++ b/none/tests/s390x/clij.stdout.exp
@@ -0,0 +1,24 @@
+not equal
+equal
+not equal
+not equal
+equal
+not equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+not taken
+not taken
+not taken
+taken
+taken
+taken
diff --git a/none/tests/s390x/clij.vgtest b/none/tests/s390x/clij.vgtest
new file mode 100644
index 0000000..2cc05ad
--- /dev/null
+++ b/none/tests/s390x/clij.vgtest
@@ -0,0 +1 @@
+prog: clij
diff --git a/none/tests/s390x/clrj.c b/none/tests/s390x/clrj.c
new file mode 100644
index 0000000..4e3454f
--- /dev/null
+++ b/none/tests/s390x/clrj.c
@@ -0,0 +1,191 @@
+#include <stdio.h>
+#include <stdint.h>
+#include "opcodes.h"
+
+#define BRASLCLOBBER "0","1","2","3","4","5","14", \
+		     "f0","f1","f2","f3","f4","f5","f6","f7"
+
+void if_eq(void)        { printf("equal\n");   }
+void if_ne(void)        { printf("not equal\n");   }
+void if_gt(void)        { printf("greater than\n");   }
+void if_le(void)        { printf("less or equal\n");   }
+void if_lt(void)        { printf("less than\n");   }
+void if_ge(void)        { printf("greater or equal\n");   }
+void if_taken(void)     { printf("taken\n");   }
+void if_not_taken(void) { printf("not taken\n");   }
+
+#undef LT
+#define NEVER 0
+#define GT 2
+#define LT 4
+#define NE 6
+#define EQ 8
+#define LE C
+#define GE A
+#define ALWAYS E
+
+
+void compare_never(uint32_t value1, uint32_t value2)
+{
+   register uint32_t val1 asm("r7") = value1;
+   register uint32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLRJ(7,8,8,NEVER) "\n\t"
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_always(uint32_t value1, uint32_t value2)
+{
+   register uint32_t val1 asm("r7") = value1;
+   register uint32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLRJ(7,8,8,ALWAYS) "\n\t"
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_le(uint32_t value1, uint32_t value2)
+{
+   register uint32_t val1 asm("r7") = value1;
+   register uint32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLRJ(7,8,8,LE) "\n\t"
+                "brasl 14,if_gt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_le\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ge(uint32_t value1, uint32_t value2)
+{
+   register uint32_t val1 asm("r7") = value1;
+   register uint32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLRJ(7,8,8,GE) "\n\t"
+                "brasl 14,if_lt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ge\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_gt(uint32_t value1, uint32_t value2)
+{
+   register uint32_t val1 asm("r7") = value1;
+   register uint32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLRJ(7,8,8,GT) "\n\t"
+                "brasl 14,if_le\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_gt\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_lt(uint32_t value1, uint32_t value2)
+{
+   register uint32_t val1 asm("r7") = value1;
+   register uint32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLRJ(7,8,8,LT) "\n\t"
+                "brasl 14,if_ge\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_lt\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_eq(uint32_t value1, uint32_t value2)
+{
+   register uint32_t val1 asm("r7") = value1;
+   register uint32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLRJ(7,8,8,EQ) "\n\t"
+                "brasl 14,if_ne\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_eq\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ne(uint32_t value1, uint32_t value2)
+{
+   register uint32_t val1 asm("r7") = value1;
+   register uint32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CLRJ(7,8,8,NE) "\n\t"
+                "brasl 14,if_eq\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ne\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+int main()
+{
+   compare_eq(12, 42);
+   compare_eq(42, 42);
+   compare_eq(100, 42);
+
+   compare_ne(12, 42);
+   compare_ne(42, 42);
+   compare_ne(100, 42);
+
+   compare_gt(12, 42);
+   compare_gt(42, 42);
+   compare_gt(100, 42);
+
+   compare_lt(12, 42);
+   compare_lt(42, 42);
+   compare_lt(100, 42);
+
+   compare_le(12, 42);
+   compare_le(42, 42);
+   compare_le(100, 42);
+
+   compare_ge(12, 42);
+   compare_ge(42, 42);
+   compare_ge(100, 42);
+
+   compare_never(12, 42);
+   compare_never(42, 42);
+   compare_never(100, 42);
+
+   compare_always(12, 42);
+   compare_always(42, 42);
+   compare_always(100, 42);
+
+   return 0;
+}
diff --git a/none/tests/s390x/clrj.stderr.exp b/none/tests/s390x/clrj.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/clrj.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/clrj.stdout.exp b/none/tests/s390x/clrj.stdout.exp
new file mode 100644
index 0000000..bd98295
--- /dev/null
+++ b/none/tests/s390x/clrj.stdout.exp
@@ -0,0 +1,24 @@
+not equal
+equal
+not equal
+not equal
+equal
+not equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+not taken
+not taken
+not taken
+taken
+taken
+taken
diff --git a/none/tests/s390x/clrj.vgtest b/none/tests/s390x/clrj.vgtest
new file mode 100644
index 0000000..75fcf1b
--- /dev/null
+++ b/none/tests/s390x/clrj.vgtest
@@ -0,0 +1 @@
+prog: clrj
diff --git a/none/tests/s390x/clst.c b/none/tests/s390x/clst.c
new file mode 100644
index 0000000..fc7d96e
--- /dev/null
+++ b/none/tests/s390x/clst.c
@@ -0,0 +1,53 @@
+#include <stdio.h>
+#include <ctype.h>
+#include "test.h"
+
+#define LOOPBACK "jo 0b	\n\t"
+
+typedef struct {
+   const char *str1;
+   const char *str2;
+   int cc;
+} clst_t;
+
+static clst_t
+do_clst(const char *__string1, const char *__string2, char __end)
+{
+   register char end asm ("0") = __end;
+   register const char *string1 asm ("2") = __string1;
+   register const char *string2 asm ("4") = __string2;
+
+   asm volatile( "0: clst 2,4\n\t"
+                 LOOPBACK
+                 :"+d" (string1), "+d" (string2) :"d" (end): "cc");
+
+   return (clst_t) { .str1 = string1, .str2 = string2, .cc = get_cc() };
+}
+
+void
+clst(const char *str1, const char *str2, int sentinel)
+{
+   clst_t res;
+
+   printf("comparing: %s with %s   sentinel = %d", str1, str2, sentinel);
+   if (isprint(sentinel))
+      printf(" (%c)", sentinel);
+   printf("\n");
+   res = do_clst(str1, str2, sentinel);
+   printf("str1 = %s\nstr2 = %s\ncc = %d\n", res.str1, res.str2, res.cc);
+   printf("\n");
+}
+
+int main(void)
+{
+   clst("lower123",  "lowerabc",  '\0');
+   clst("higher234", "higher123", '\0');
+   clst("equal",  "equal",  '\0');
+
+   clst("equal",  "equallong",  '\0');
+   clst("equallong",  "equal",  '\0');
+
+   clst("lower1",  "lower2",  'w');   // will compare equal
+
+   return 0;
+}
diff --git a/none/tests/s390x/clst.stderr.exp b/none/tests/s390x/clst.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/clst.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/clst.stdout.exp b/none/tests/s390x/clst.stdout.exp
new file mode 100644
index 0000000..21bb155
--- /dev/null
+++ b/none/tests/s390x/clst.stdout.exp
@@ -0,0 +1,30 @@
+comparing: lower123 with lowerabc   sentinel = 0
+str1 = 123
+str2 = abc
+cc = 1
+
+comparing: higher234 with higher123   sentinel = 0
+str1 = 234
+str2 = 123
+cc = 2
+
+comparing: equal with equal   sentinel = 0
+str1 = equal
+str2 = equal
+cc = 0
+
+comparing: equal with equallong   sentinel = 0
+str1 = 
+str2 = long
+cc = 1
+
+comparing: equallong with equal   sentinel = 0
+str1 = long
+str2 = 
+cc = 2
+
+comparing: lower1 with lower2   sentinel = 119 (w)
+str1 = lower1
+str2 = lower2
+cc = 0
+
diff --git a/none/tests/s390x/clst.vgtest b/none/tests/s390x/clst.vgtest
new file mode 100644
index 0000000..15f6e6e
--- /dev/null
+++ b/none/tests/s390x/clst.vgtest
@@ -0,0 +1 @@
+prog: clst
diff --git a/none/tests/s390x/comp-1.c b/none/tests/s390x/comp-1.c
new file mode 100644
index 0000000..c3b15c2
--- /dev/null
+++ b/none/tests/s390x/comp-1.c
@@ -0,0 +1,220 @@
+/* Test signed integer comparison ops
+   cr, cgr, cgfr, c, cg, cgf, cfi, cgfi
+
+   missing: cy, crl, cgrl, cgfrl
+*/
+
+#include <stdio.h>
+#include <stdint.h>
+#include <inttypes.h>
+#include <limits.h>
+#include "opcodes.h"
+
+#undef RIL_RI
+#define RIL_RI(op1,r1,op2,i2)  \
+            ".short 0x" #op1 #r1 #op2 "\n\t"  \
+            ".long  " #i2 "\n\t"
+
+
+/* Perform a single signed comparison
+   Both operands in register */
+#define SCOMP_REG_REG(insn, v1, v2)        \
+({                                         \
+   int cc;                                 \
+   int64_t op1 = v1;                       \
+   int64_t op2 = v2;                       \
+   asm volatile(   #insn " %1, %2\n\t"     \
+                   "ipm %0\n\t"            \
+                   "srl %0,28\n\t"         \
+                   : "=d" (cc)             \
+                   : "d" (op1), "d" (op2)  \
+                   : "cc");                \
+   printf("%.6s (%"PRId64", %"PRId64") --> cc = %d\n", \
+          #insn, op1, op2, cc);            \
+})
+
+/* Perform a single signed comparison
+   Left operand in register, right operand in memory */
+#define SCOMP_REG_MEM(insn, v1, v2, op2_t) \
+({                                         \
+   int cc;                                 \
+   int64_t op1 = v1;                       \
+   op2_t   op2 = v2;                       \
+   asm volatile(   #insn " %1, %2\n\t"     \
+                   "ipm %0\n\t"            \
+                   "srl %0,28\n\t"         \
+                   : "=d" (cc)             \
+                   : "d" (op1), "Q" (op2)  \
+                   : "cc");                \
+   printf("%.6s (%"PRId64", %"PRId64") --> cc = %d\n", \
+          #insn, op1, (int64_t)op2, cc);            \
+})
+
+/* Perform a single signed comparison
+   Left operand in register, right operand is an immediate constant */
+#define SCOMP_REG_IMM(insn, v1, v2)        \
+({                                         \
+   int cc;                                 \
+   register int64_t op1 asm("8") = v1;     \
+   asm volatile(   insn(8, v2)             \
+                   "ipm %0\n\t"            \
+                   "srl %0,28\n\t"         \
+                   : "=d" (cc)             \
+                   : "d" (op1)             \
+                   : "cc");           \
+   printf("%.6s (%"PRId64", %"PRId64") --> cc = %d\n", \
+          #insn, op1, (int64_t)v2, cc);            \
+})
+
+/* Run a sequence of signed comparisons for a given insn */
+#define run_scomp_reg_reg(insn) \
+({                              \
+   SCOMP_REG_REG(insn,  0,  0); \
+   SCOMP_REG_REG(insn,  0,  1); \
+   SCOMP_REG_REG(insn,  0, -1); \
+   SCOMP_REG_REG(insn,  1,  0); \
+   SCOMP_REG_REG(insn, -1,  0); \
+   SCOMP_REG_REG(insn, -2, -1); \
+   SCOMP_REG_REG(insn, -2, -2); \
+   SCOMP_REG_REG(insn, -2, -3); \
+   SCOMP_REG_REG(insn,  2,  1); \
+   SCOMP_REG_REG(insn,  2,  2); \
+   SCOMP_REG_REG(insn,  2,  3); \
+   SCOMP_REG_REG(insn, -2,  1); \
+   SCOMP_REG_REG(insn,  2, -1); \
+   SCOMP_REG_REG(insn,  INT8_MIN,   INT8_MIN); \
+   SCOMP_REG_REG(insn,  INT8_MIN,   INT8_MAX); \
+   SCOMP_REG_REG(insn,  INT8_MAX,   INT8_MIN); \
+   SCOMP_REG_REG(insn,  INT8_MAX,   INT8_MAX); \
+   SCOMP_REG_REG(insn,  INT16_MIN,  INT16_MIN); \
+   SCOMP_REG_REG(insn,  INT16_MIN,  INT16_MAX); \
+   SCOMP_REG_REG(insn,  INT16_MAX,  INT16_MIN); \
+   SCOMP_REG_REG(insn,  INT16_MAX,  INT16_MAX); \
+   SCOMP_REG_REG(insn,  INT32_MIN,  INT32_MIN); \
+   SCOMP_REG_REG(insn,  INT32_MIN,  INT32_MAX); \
+   SCOMP_REG_REG(insn,  INT32_MAX,  INT32_MIN); \
+   SCOMP_REG_REG(insn,  INT32_MAX,  INT32_MAX); \
+})
+
+/* Run a sequence of signed comparisons for a given insn */
+#define run_scomp_reg_mem(insn, op2_t) \
+({                              \
+   SCOMP_REG_MEM(insn,  0,  0, op2_t); \
+   SCOMP_REG_MEM(insn,  0,  1, op2_t); \
+   SCOMP_REG_MEM(insn,  0, -1, op2_t); \
+   SCOMP_REG_MEM(insn,  1,  0, op2_t); \
+   SCOMP_REG_MEM(insn, -1,  0, op2_t); \
+   SCOMP_REG_MEM(insn, -2, -1, op2_t); \
+   SCOMP_REG_MEM(insn, -2, -2, op2_t); \
+   SCOMP_REG_MEM(insn, -2, -3, op2_t); \
+   SCOMP_REG_MEM(insn,  2,  1, op2_t); \
+   SCOMP_REG_MEM(insn,  2,  2, op2_t); \
+   SCOMP_REG_MEM(insn,  2,  3, op2_t); \
+   SCOMP_REG_MEM(insn, -2,  1, op2_t); \
+   SCOMP_REG_MEM(insn,  2, -1, op2_t); \
+   SCOMP_REG_MEM(insn,  INT8_MIN,   INT8_MIN, op2_t); \
+   SCOMP_REG_MEM(insn,  INT8_MIN,   INT8_MAX, op2_t); \
+   SCOMP_REG_MEM(insn,  INT8_MAX,   INT8_MIN, op2_t); \
+   SCOMP_REG_MEM(insn,  INT8_MAX,   INT8_MAX, op2_t); \
+   SCOMP_REG_MEM(insn,  INT16_MIN,  INT16_MIN, op2_t); \
+   SCOMP_REG_MEM(insn,  INT16_MIN,  INT16_MAX, op2_t); \
+   SCOMP_REG_MEM(insn,  INT16_MAX,  INT16_MIN, op2_t); \
+   SCOMP_REG_MEM(insn,  INT16_MAX,  INT16_MAX, op2_t); \
+   SCOMP_REG_MEM(insn,  INT32_MIN,  INT32_MIN, op2_t); \
+   SCOMP_REG_MEM(insn,  INT32_MIN,  INT32_MAX, op2_t); \
+   SCOMP_REG_MEM(insn,  INT32_MAX,  INT32_MIN, op2_t); \
+   SCOMP_REG_MEM(insn,  INT32_MAX,  INT32_MAX, op2_t); \
+})
+
+/* Run a sequence of signed comparisons for a given insn */
+#define run_scomp_reg_imm(insn) \
+({                              \
+   SCOMP_REG_IMM(insn,  0,  0); \
+   SCOMP_REG_IMM(insn,  0,  1); \
+   SCOMP_REG_IMM(insn,  0, -1); \
+   SCOMP_REG_IMM(insn,  1,  0); \
+   SCOMP_REG_IMM(insn, -1,  0); \
+   SCOMP_REG_IMM(insn, -2, -1); \
+   SCOMP_REG_IMM(insn, -2, -2); \
+   SCOMP_REG_IMM(insn, -2, -3); \
+   SCOMP_REG_IMM(insn,  2,  1); \
+   SCOMP_REG_IMM(insn,  2,  2); \
+   SCOMP_REG_IMM(insn,  2,  3); \
+   SCOMP_REG_IMM(insn, -2,  1); \
+   SCOMP_REG_IMM(insn,  2, -1); \
+   SCOMP_REG_IMM(insn,  INT8_MIN,   INT8_MIN); \
+   SCOMP_REG_IMM(insn,  INT8_MIN,   INT8_MAX); \
+   SCOMP_REG_IMM(insn,  INT8_MAX,   INT8_MIN); \
+   SCOMP_REG_IMM(insn,  INT8_MAX,   INT8_MAX); \
+   SCOMP_REG_IMM(insn,  INT16_MIN,  INT16_MIN); \
+   SCOMP_REG_IMM(insn,  INT16_MIN,  INT16_MAX); \
+   SCOMP_REG_IMM(insn,  INT16_MAX,  INT16_MIN); \
+   SCOMP_REG_IMM(insn,  INT16_MAX,  INT16_MAX); \
+   SCOMP_REG_IMM(insn,  INT32_MIN,  INT32_MIN); \
+   SCOMP_REG_IMM(insn,  INT32_MIN,  INT32_MAX); \
+   SCOMP_REG_IMM(insn,  INT32_MAX,  INT32_MIN); \
+   SCOMP_REG_IMM(insn,  INT32_MAX,  INT32_MAX); \
+})
+
+void
+signed_comparison_reg_reg(void)
+{
+   run_scomp_reg_reg(cr);
+
+   run_scomp_reg_reg(cgr);
+   /* Special cases for cgr */
+   SCOMP_REG_REG(cgr, INT64_MIN, INT64_MIN);
+   SCOMP_REG_REG(cgr, INT64_MIN, INT64_MAX);
+   SCOMP_REG_REG(cgr, INT64_MAX, INT64_MIN);
+   SCOMP_REG_REG(cgr, INT64_MAX, INT64_MAX);
+
+   run_scomp_reg_reg(cgfr);
+   /* Special cases for cgfr */
+   SCOMP_REG_REG(cgfr, INT64_MIN, INT32_MIN);
+   SCOMP_REG_REG(cgfr, INT64_MIN, INT32_MAX);
+   SCOMP_REG_REG(cgfr, INT64_MAX, INT32_MIN);
+   SCOMP_REG_REG(cgfr, INT64_MAX, INT32_MAX);
+}
+
+void
+signed_comparison_reg_mem(void)
+{
+   run_scomp_reg_mem(c, int32_t);
+
+   run_scomp_reg_mem(cg, int64_t);
+   /* Special cases for cg */
+   SCOMP_REG_MEM(cg, INT64_MIN, INT64_MIN, int64_t);
+   SCOMP_REG_MEM(cg, INT64_MIN, INT64_MAX, int64_t);
+   SCOMP_REG_MEM(cg, INT64_MAX, INT64_MIN, int64_t);
+   SCOMP_REG_MEM(cg, INT64_MAX, INT64_MAX, int64_t);
+
+   run_scomp_reg_mem(cgf, int32_t);
+   /* Special cases for cgf */
+   SCOMP_REG_MEM(cgf, INT64_MIN, INT32_MIN, int32_t);
+   SCOMP_REG_MEM(cgf, INT64_MIN, INT32_MAX, int32_t);
+   SCOMP_REG_MEM(cgf, INT64_MAX, INT32_MIN, int32_t);
+   SCOMP_REG_MEM(cgf, INT64_MAX, INT32_MAX, int32_t);
+}
+
+void
+signed_comparison_reg_imm(void)
+{
+   run_scomp_reg_imm(CFI);
+
+   run_scomp_reg_imm(CGFI);
+   /* Special cases for cgfi */
+   SCOMP_REG_IMM(CGFI, INT64_MIN, INT32_MIN);
+   SCOMP_REG_IMM(CGFI, INT64_MIN, INT32_MAX);
+   SCOMP_REG_IMM(CGFI, INT64_MAX, INT32_MIN);
+   SCOMP_REG_IMM(CGFI, INT64_MAX, INT32_MAX);
+}
+
+
+int main(void)
+{
+   signed_comparison_reg_reg();
+   signed_comparison_reg_mem();
+   signed_comparison_reg_imm();
+   
+   return 0;
+}
diff --git a/none/tests/s390x/comp-1.stderr.exp b/none/tests/s390x/comp-1.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/comp-1.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/comp-1.stdout.exp b/none/tests/s390x/comp-1.stdout.exp
new file mode 100644
index 0000000..2b799af
--- /dev/null
+++ b/none/tests/s390x/comp-1.stdout.exp
@@ -0,0 +1,220 @@
+cr (0, 0) --> cc = 0
+cr (0, 1) --> cc = 1
+cr (0, -1) --> cc = 2
+cr (1, 0) --> cc = 2
+cr (-1, 0) --> cc = 1
+cr (-2, -1) --> cc = 1
+cr (-2, -2) --> cc = 0
+cr (-2, -3) --> cc = 2
+cr (2, 1) --> cc = 2
+cr (2, 2) --> cc = 0
+cr (2, 3) --> cc = 1
+cr (-2, 1) --> cc = 1
+cr (2, -1) --> cc = 2
+cr (-128, -128) --> cc = 0
+cr (-128, 127) --> cc = 1
+cr (127, -128) --> cc = 2
+cr (127, 127) --> cc = 0
+cr (-32768, -32768) --> cc = 0
+cr (-32768, 32767) --> cc = 1
+cr (32767, -32768) --> cc = 2
+cr (32767, 32767) --> cc = 0
+cr (-2147483648, -2147483648) --> cc = 0
+cr (-2147483648, 2147483647) --> cc = 1
+cr (2147483647, -2147483648) --> cc = 2
+cr (2147483647, 2147483647) --> cc = 0
+cgr (0, 0) --> cc = 0
+cgr (0, 1) --> cc = 1
+cgr (0, -1) --> cc = 2
+cgr (1, 0) --> cc = 2
+cgr (-1, 0) --> cc = 1
+cgr (-2, -1) --> cc = 1
+cgr (-2, -2) --> cc = 0
+cgr (-2, -3) --> cc = 2
+cgr (2, 1) --> cc = 2
+cgr (2, 2) --> cc = 0
+cgr (2, 3) --> cc = 1
+cgr (-2, 1) --> cc = 1
+cgr (2, -1) --> cc = 2
+cgr (-128, -128) --> cc = 0
+cgr (-128, 127) --> cc = 1
+cgr (127, -128) --> cc = 2
+cgr (127, 127) --> cc = 0
+cgr (-32768, -32768) --> cc = 0
+cgr (-32768, 32767) --> cc = 1
+cgr (32767, -32768) --> cc = 2
+cgr (32767, 32767) --> cc = 0
+cgr (-2147483648, -2147483648) --> cc = 0
+cgr (-2147483648, 2147483647) --> cc = 1
+cgr (2147483647, -2147483648) --> cc = 2
+cgr (2147483647, 2147483647) --> cc = 0
+cgr (-9223372036854775808, -9223372036854775808) --> cc = 0
+cgr (-9223372036854775808, 9223372036854775807) --> cc = 1
+cgr (9223372036854775807, -9223372036854775808) --> cc = 2
+cgr (9223372036854775807, 9223372036854775807) --> cc = 0
+cgfr (0, 0) --> cc = 0
+cgfr (0, 1) --> cc = 1
+cgfr (0, -1) --> cc = 2
+cgfr (1, 0) --> cc = 2
+cgfr (-1, 0) --> cc = 1
+cgfr (-2, -1) --> cc = 1
+cgfr (-2, -2) --> cc = 0
+cgfr (-2, -3) --> cc = 2
+cgfr (2, 1) --> cc = 2
+cgfr (2, 2) --> cc = 0
+cgfr (2, 3) --> cc = 1
+cgfr (-2, 1) --> cc = 1
+cgfr (2, -1) --> cc = 2
+cgfr (-128, -128) --> cc = 0
+cgfr (-128, 127) --> cc = 1
+cgfr (127, -128) --> cc = 2
+cgfr (127, 127) --> cc = 0
+cgfr (-32768, -32768) --> cc = 0
+cgfr (-32768, 32767) --> cc = 1
+cgfr (32767, -32768) --> cc = 2
+cgfr (32767, 32767) --> cc = 0
+cgfr (-2147483648, -2147483648) --> cc = 0
+cgfr (-2147483648, 2147483647) --> cc = 1
+cgfr (2147483647, -2147483648) --> cc = 2
+cgfr (2147483647, 2147483647) --> cc = 0
+cgfr (-9223372036854775808, -2147483648) --> cc = 1
+cgfr (-9223372036854775808, 2147483647) --> cc = 1
+cgfr (9223372036854775807, -2147483648) --> cc = 2
+cgfr (9223372036854775807, 2147483647) --> cc = 2
+c (0, 0) --> cc = 0
+c (0, 1) --> cc = 1
+c (0, -1) --> cc = 2
+c (1, 0) --> cc = 2
+c (-1, 0) --> cc = 1
+c (-2, -1) --> cc = 1
+c (-2, -2) --> cc = 0
+c (-2, -3) --> cc = 2
+c (2, 1) --> cc = 2
+c (2, 2) --> cc = 0
+c (2, 3) --> cc = 1
+c (-2, 1) --> cc = 1
+c (2, -1) --> cc = 2
+c (-128, -128) --> cc = 0
+c (-128, 127) --> cc = 1
+c (127, -128) --> cc = 2
+c (127, 127) --> cc = 0
+c (-32768, -32768) --> cc = 0
+c (-32768, 32767) --> cc = 1
+c (32767, -32768) --> cc = 2
+c (32767, 32767) --> cc = 0
+c (-2147483648, -2147483648) --> cc = 0
+c (-2147483648, 2147483647) --> cc = 1
+c (2147483647, -2147483648) --> cc = 2
+c (2147483647, 2147483647) --> cc = 0
+cg (0, 0) --> cc = 0
+cg (0, 1) --> cc = 1
+cg (0, -1) --> cc = 2
+cg (1, 0) --> cc = 2
+cg (-1, 0) --> cc = 1
+cg (-2, -1) --> cc = 1
+cg (-2, -2) --> cc = 0
+cg (-2, -3) --> cc = 2
+cg (2, 1) --> cc = 2
+cg (2, 2) --> cc = 0
+cg (2, 3) --> cc = 1
+cg (-2, 1) --> cc = 1
+cg (2, -1) --> cc = 2
+cg (-128, -128) --> cc = 0
+cg (-128, 127) --> cc = 1
+cg (127, -128) --> cc = 2
+cg (127, 127) --> cc = 0
+cg (-32768, -32768) --> cc = 0
+cg (-32768, 32767) --> cc = 1
+cg (32767, -32768) --> cc = 2
+cg (32767, 32767) --> cc = 0
+cg (-2147483648, -2147483648) --> cc = 0
+cg (-2147483648, 2147483647) --> cc = 1
+cg (2147483647, -2147483648) --> cc = 2
+cg (2147483647, 2147483647) --> cc = 0
+cg (-9223372036854775808, -9223372036854775808) --> cc = 0
+cg (-9223372036854775808, 9223372036854775807) --> cc = 1
+cg (9223372036854775807, -9223372036854775808) --> cc = 2
+cg (9223372036854775807, 9223372036854775807) --> cc = 0
+cgf (0, 0) --> cc = 0
+cgf (0, 1) --> cc = 1
+cgf (0, -1) --> cc = 2
+cgf (1, 0) --> cc = 2
+cgf (-1, 0) --> cc = 1
+cgf (-2, -1) --> cc = 1
+cgf (-2, -2) --> cc = 0
+cgf (-2, -3) --> cc = 2
+cgf (2, 1) --> cc = 2
+cgf (2, 2) --> cc = 0
+cgf (2, 3) --> cc = 1
+cgf (-2, 1) --> cc = 1
+cgf (2, -1) --> cc = 2
+cgf (-128, -128) --> cc = 0
+cgf (-128, 127) --> cc = 1
+cgf (127, -128) --> cc = 2
+cgf (127, 127) --> cc = 0
+cgf (-32768, -32768) --> cc = 0
+cgf (-32768, 32767) --> cc = 1
+cgf (32767, -32768) --> cc = 2
+cgf (32767, 32767) --> cc = 0
+cgf (-2147483648, -2147483648) --> cc = 0
+cgf (-2147483648, 2147483647) --> cc = 1
+cgf (2147483647, -2147483648) --> cc = 2
+cgf (2147483647, 2147483647) --> cc = 0
+cgf (-9223372036854775808, -2147483648) --> cc = 1
+cgf (-9223372036854775808, 2147483647) --> cc = 1
+cgf (9223372036854775807, -2147483648) --> cc = 2
+cgf (9223372036854775807, 2147483647) --> cc = 2
+CFI (0, 0) --> cc = 0
+CFI (0, 1) --> cc = 1
+CFI (0, -1) --> cc = 2
+CFI (1, 0) --> cc = 2
+CFI (-1, 0) --> cc = 1
+CFI (-2, -1) --> cc = 1
+CFI (-2, -2) --> cc = 0
+CFI (-2, -3) --> cc = 2
+CFI (2, 1) --> cc = 2
+CFI (2, 2) --> cc = 0
+CFI (2, 3) --> cc = 1
+CFI (-2, 1) --> cc = 1
+CFI (2, -1) --> cc = 2
+CFI (-128, -128) --> cc = 0
+CFI (-128, 127) --> cc = 1
+CFI (127, -128) --> cc = 2
+CFI (127, 127) --> cc = 0
+CFI (-32768, -32768) --> cc = 0
+CFI (-32768, 32767) --> cc = 1
+CFI (32767, -32768) --> cc = 2
+CFI (32767, 32767) --> cc = 0
+CFI (-2147483648, -2147483648) --> cc = 0
+CFI (-2147483648, 2147483647) --> cc = 1
+CFI (2147483647, -2147483648) --> cc = 2
+CFI (2147483647, 2147483647) --> cc = 0
+CGFI (0, 0) --> cc = 0
+CGFI (0, 1) --> cc = 1
+CGFI (0, -1) --> cc = 2
+CGFI (1, 0) --> cc = 2
+CGFI (-1, 0) --> cc = 1
+CGFI (-2, -1) --> cc = 1
+CGFI (-2, -2) --> cc = 0
+CGFI (-2, -3) --> cc = 2
+CGFI (2, 1) --> cc = 2
+CGFI (2, 2) --> cc = 0
+CGFI (2, 3) --> cc = 1
+CGFI (-2, 1) --> cc = 1
+CGFI (2, -1) --> cc = 2
+CGFI (-128, -128) --> cc = 0
+CGFI (-128, 127) --> cc = 1
+CGFI (127, -128) --> cc = 2
+CGFI (127, 127) --> cc = 0
+CGFI (-32768, -32768) --> cc = 0
+CGFI (-32768, 32767) --> cc = 1
+CGFI (32767, -32768) --> cc = 2
+CGFI (32767, 32767) --> cc = 0
+CGFI (-2147483648, -2147483648) --> cc = 0
+CGFI (-2147483648, 2147483647) --> cc = 1
+CGFI (2147483647, -2147483648) --> cc = 2
+CGFI (2147483647, 2147483647) --> cc = 0
+CGFI (-9223372036854775808, -2147483648) --> cc = 1
+CGFI (-9223372036854775808, 2147483647) --> cc = 1
+CGFI (9223372036854775807, -2147483648) --> cc = 2
+CGFI (9223372036854775807, 2147483647) --> cc = 2
diff --git a/none/tests/s390x/comp-1.vgtest b/none/tests/s390x/comp-1.vgtest
new file mode 100644
index 0000000..b03b655
--- /dev/null
+++ b/none/tests/s390x/comp-1.vgtest
@@ -0,0 +1 @@
+prog: comp-1
diff --git a/none/tests/s390x/comp-2.c b/none/tests/s390x/comp-2.c
new file mode 100644
index 0000000..3f05146
--- /dev/null
+++ b/none/tests/s390x/comp-2.c
@@ -0,0 +1,198 @@
+/* Test unsigned integer comparison ops
+   clr, clgr, clgfr, cl, clg, clgf, clfi, clgfi
+
+   missing: cly, clrl, clgrl, clgfrl
+*/
+
+#include <stdio.h>
+#include <stdint.h>
+#include <inttypes.h>
+#include <limits.h>
+#include "opcodes.h"
+
+#undef RIL_RU
+#define RIL_RU(op1,r1,op2,i2)  \
+            ".short 0x" #op1 #r1 #op2 "\n\t"  \
+            ".long  " #i2 "\n\t"
+
+
+/* Perform a single unsigned comparison
+   Both operands in register */
+#define SCOMP_REG_REG(insn, v1, v2)        \
+({                                         \
+   int cc;                                 \
+   uint64_t op1 = v1;                      \
+   uint64_t op2 = v2;                      \
+   asm volatile(   #insn " %1, %2\n\t"     \
+                   "ipm %0\n\t"            \
+                   "srl %0,28\n\t"         \
+                   : "=d" (cc)             \
+                   : "d" (op1), "d" (op2)  \
+                   : "cc");                \
+   printf("%.6s (%"PRIu64", %"PRIu64") --> cc = %d\n", \
+          #insn, op1, op2, cc);            \
+})
+
+/* Perform a single unsigned comparison
+   Left operand in register, right operand in memory */
+#define SCOMP_REG_MEM(insn, v1, v2, op2_t) \
+({                                         \
+   int cc;                                 \
+   uint64_t op1 = v1;                      \
+   op2_t    op2 = v2;                      \
+   asm volatile(   #insn " %1, %2\n\t"     \
+                   "ipm %0\n\t"            \
+                   "srl %0,28\n\t"         \
+                   : "=d" (cc)             \
+                   : "d" (op1), "Q" (op2)  \
+                   : "cc");                \
+   printf("%.6s (%"PRIu64", %"PRIu64") --> cc = %d\n", \
+          #insn, op1, (uint64_t)op2, cc);            \
+})
+
+/* Perform a single unsigned comparison
+   Left operand in register, right operand is an immediate constant */
+#define SCOMP_REG_IMM(insn, v1, v2)        \
+({                                         \
+   int cc;                                 \
+   register uint64_t op1 asm("8") = v1;    \
+   asm volatile(   insn(8, v2)             \
+                   "ipm %0\n\t"            \
+                   "srl %0,28\n\t"         \
+                   : "=d" (cc)             \
+                   : "d" (op1)             \
+                   : "cc");           \
+   printf("%.6s (%"PRIu64", %"PRIu64") --> cc = %d\n", \
+          #insn, op1, (uint64_t)v2, cc);            \
+})
+
+/* Run a sequence of unsigned comparisons for a given insn */
+#define run_scomp_reg_reg(insn) \
+({                              \
+   SCOMP_REG_REG(insn,  0,  0); \
+   SCOMP_REG_REG(insn,  0,  1); \
+   SCOMP_REG_REG(insn,  1,  0); \
+   SCOMP_REG_REG(insn,  2,  1); \
+   SCOMP_REG_REG(insn,  2,  2); \
+   SCOMP_REG_REG(insn,  2,  3); \
+   SCOMP_REG_REG(insn,  0,  INT8_MAX); \
+   SCOMP_REG_REG(insn,  INT8_MAX, 0); \
+   SCOMP_REG_REG(insn,  INT8_MAX, INT8_MAX-1); \
+   SCOMP_REG_REG(insn,  INT8_MAX, INT8_MAX);  \
+   SCOMP_REG_REG(insn,  0,  INT16_MAX); \
+   SCOMP_REG_REG(insn,  INT16_MAX, 0); \
+   SCOMP_REG_REG(insn,  INT16_MAX, INT16_MAX); \
+   SCOMP_REG_REG(insn,  INT16_MAX, INT16_MAX-1); \
+   SCOMP_REG_REG(insn,  0,  INT32_MAX); \
+   SCOMP_REG_REG(insn,  INT32_MAX, 0); \
+   SCOMP_REG_REG(insn,  INT32_MAX, INT32_MAX); \
+   SCOMP_REG_REG(insn,  INT32_MAX, INT32_MAX-1); \
+})
+
+/* Run a sequence of signed comparisons for a given insn */
+#define run_scomp_reg_mem(insn, op2_t) \
+({                              \
+   SCOMP_REG_MEM(insn,  0,  0, op2_t); \
+   SCOMP_REG_MEM(insn,  0,  1, op2_t); \
+   SCOMP_REG_MEM(insn,  1,  0, op2_t); \
+   SCOMP_REG_MEM(insn,  2,  1, op2_t); \
+   SCOMP_REG_MEM(insn,  2,  2, op2_t); \
+   SCOMP_REG_MEM(insn,  2,  3, op2_t); \
+   SCOMP_REG_MEM(insn,  0,   INT8_MAX, op2_t); \
+   SCOMP_REG_MEM(insn,  INT8_MAX,   0, op2_t); \
+   SCOMP_REG_MEM(insn,  INT8_MAX,   INT8_MAX-1, op2_t); \
+   SCOMP_REG_MEM(insn,  INT8_MAX,   INT8_MAX,   op2_t); \
+   SCOMP_REG_MEM(insn,  0,  INT16_MAX, op2_t); \
+   SCOMP_REG_MEM(insn,  INT16_MAX,  0, op2_t); \
+   SCOMP_REG_MEM(insn,  INT16_MAX,  INT16_MAX-1, op2_t); \
+   SCOMP_REG_MEM(insn,  INT16_MAX,  INT16_MAX,   op2_t); \
+   SCOMP_REG_MEM(insn,  0,  INT32_MAX, op2_t); \
+   SCOMP_REG_MEM(insn,  INT32_MAX,  0, op2_t); \
+   SCOMP_REG_MEM(insn,  INT32_MAX,  INT32_MAX-1, op2_t); \
+   SCOMP_REG_MEM(insn,  INT32_MAX,  INT32_MAX,   op2_t); \
+})
+
+/* Run a sequence of signed comparisons for a given insn */
+#define run_scomp_reg_imm(insn) \
+({                              \
+   SCOMP_REG_IMM(insn,  0,  0); \
+   SCOMP_REG_IMM(insn,  0,  1); \
+   SCOMP_REG_IMM(insn,  1,  0); \
+   SCOMP_REG_IMM(insn,  2,  1); \
+   SCOMP_REG_IMM(insn,  2,  2); \
+   SCOMP_REG_IMM(insn,  2,  3); \
+   SCOMP_REG_IMM(insn,  INT8_MAX, 0); \
+   SCOMP_REG_IMM(insn,  INT8_MAX, INT8_MAX-1); \
+   SCOMP_REG_IMM(insn,  INT8_MAX, INT8_MAX);  \
+   SCOMP_REG_IMM(insn,  0,  INT16_MAX); \
+   SCOMP_REG_IMM(insn,  INT16_MAX, 0); \
+   SCOMP_REG_IMM(insn,  INT16_MAX, INT16_MAX); \
+   SCOMP_REG_IMM(insn,  INT16_MAX, INT16_MAX-1); \
+   SCOMP_REG_IMM(insn,  0,  INT32_MAX); \
+   SCOMP_REG_IMM(insn,  INT32_MAX, 0); \
+   SCOMP_REG_IMM(insn,  INT32_MAX, INT32_MAX); \
+   SCOMP_REG_IMM(insn,  INT32_MAX, INT32_MAX-1); \
+})
+
+void
+signed_comparison_reg_reg(void)
+{
+   run_scomp_reg_reg(clr);
+
+   run_scomp_reg_reg(clgr);
+   /* Special cases for clgr */
+   SCOMP_REG_REG(clgr, INT64_MIN, INT64_MIN);
+   SCOMP_REG_REG(clgr, INT64_MIN, INT64_MAX);
+   SCOMP_REG_REG(clgr, INT64_MAX, INT64_MIN);
+   SCOMP_REG_REG(clgr, INT64_MAX, INT64_MAX);
+
+   run_scomp_reg_reg(clgfr);
+   /* Special cases for clgfr */
+   SCOMP_REG_REG(clgfr, INT64_MIN, INT32_MIN);
+   SCOMP_REG_REG(clgfr, INT64_MIN, INT32_MAX);
+   SCOMP_REG_REG(clgfr, INT64_MAX, INT32_MIN);
+   SCOMP_REG_REG(clgfr, INT64_MAX, INT32_MAX);
+}
+
+void
+signed_comparison_reg_mem(void)
+{
+   run_scomp_reg_mem(cl, int32_t);
+
+   run_scomp_reg_mem(clg, int64_t);
+   /* Special cases for clg */
+   SCOMP_REG_MEM(clg, INT64_MIN, INT64_MIN, int64_t);
+   SCOMP_REG_MEM(clg, INT64_MIN, INT64_MAX, int64_t);
+   SCOMP_REG_MEM(clg, INT64_MAX, INT64_MIN, int64_t);
+   SCOMP_REG_MEM(clg, INT64_MAX, INT64_MAX, int64_t);
+
+   run_scomp_reg_mem(clgf, int32_t);
+   /* Special cases for clgf */
+   SCOMP_REG_MEM(clgf, INT64_MIN, INT32_MIN, int32_t);
+   SCOMP_REG_MEM(clgf, INT64_MIN, INT32_MAX, int32_t);
+   SCOMP_REG_MEM(clgf, INT64_MAX, INT32_MIN, int32_t);
+   SCOMP_REG_MEM(clgf, INT64_MAX, INT32_MAX, int32_t);
+}
+
+void
+signed_comparison_reg_imm(void)
+{
+   run_scomp_reg_imm(CLFI);
+
+   run_scomp_reg_imm(CLGFI);
+   /* Special cases for clgfi */
+   SCOMP_REG_IMM(CLGFI, INT64_MIN, INT32_MIN);
+   SCOMP_REG_IMM(CLGFI, INT64_MIN, INT32_MAX);
+   SCOMP_REG_IMM(CLGFI, INT64_MAX, INT32_MIN);
+   SCOMP_REG_IMM(CLGFI, INT64_MAX, INT32_MAX);
+}
+
+
+int main(void)
+{
+   signed_comparison_reg_reg();
+   signed_comparison_reg_mem();
+   signed_comparison_reg_imm();
+   
+   return 0;
+}
diff --git a/none/tests/s390x/comp-2.stderr.exp b/none/tests/s390x/comp-2.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/comp-2.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/comp-2.stdout.exp b/none/tests/s390x/comp-2.stdout.exp
new file mode 100644
index 0000000..701aec2
--- /dev/null
+++ b/none/tests/s390x/comp-2.stdout.exp
@@ -0,0 +1,162 @@
+clr (0, 0) --> cc = 0
+clr (0, 1) --> cc = 1
+clr (1, 0) --> cc = 2
+clr (2, 1) --> cc = 2
+clr (2, 2) --> cc = 0
+clr (2, 3) --> cc = 1
+clr (0, 127) --> cc = 1
+clr (127, 0) --> cc = 2
+clr (127, 126) --> cc = 2
+clr (127, 127) --> cc = 0
+clr (0, 32767) --> cc = 1
+clr (32767, 0) --> cc = 2
+clr (32767, 32767) --> cc = 0
+clr (32767, 32766) --> cc = 2
+clr (0, 2147483647) --> cc = 1
+clr (2147483647, 0) --> cc = 2
+clr (2147483647, 2147483647) --> cc = 0
+clr (2147483647, 2147483646) --> cc = 2
+clgr (0, 0) --> cc = 0
+clgr (0, 1) --> cc = 1
+clgr (1, 0) --> cc = 2
+clgr (2, 1) --> cc = 2
+clgr (2, 2) --> cc = 0
+clgr (2, 3) --> cc = 1
+clgr (0, 127) --> cc = 1
+clgr (127, 0) --> cc = 2
+clgr (127, 126) --> cc = 2
+clgr (127, 127) --> cc = 0
+clgr (0, 32767) --> cc = 1
+clgr (32767, 0) --> cc = 2
+clgr (32767, 32767) --> cc = 0
+clgr (32767, 32766) --> cc = 2
+clgr (0, 2147483647) --> cc = 1
+clgr (2147483647, 0) --> cc = 2
+clgr (2147483647, 2147483647) --> cc = 0
+clgr (2147483647, 2147483646) --> cc = 2
+clgr (9223372036854775808, 9223372036854775808) --> cc = 0
+clgr (9223372036854775808, 9223372036854775807) --> cc = 2
+clgr (9223372036854775807, 9223372036854775808) --> cc = 1
+clgr (9223372036854775807, 9223372036854775807) --> cc = 0
+clgfr (0, 0) --> cc = 0
+clgfr (0, 1) --> cc = 1
+clgfr (1, 0) --> cc = 2
+clgfr (2, 1) --> cc = 2
+clgfr (2, 2) --> cc = 0
+clgfr (2, 3) --> cc = 1
+clgfr (0, 127) --> cc = 1
+clgfr (127, 0) --> cc = 2
+clgfr (127, 126) --> cc = 2
+clgfr (127, 127) --> cc = 0
+clgfr (0, 32767) --> cc = 1
+clgfr (32767, 0) --> cc = 2
+clgfr (32767, 32767) --> cc = 0
+clgfr (32767, 32766) --> cc = 2
+clgfr (0, 2147483647) --> cc = 1
+clgfr (2147483647, 0) --> cc = 2
+clgfr (2147483647, 2147483647) --> cc = 0
+clgfr (2147483647, 2147483646) --> cc = 2
+clgfr (9223372036854775808, 18446744071562067968) --> cc = 2
+clgfr (9223372036854775808, 2147483647) --> cc = 2
+clgfr (9223372036854775807, 18446744071562067968) --> cc = 2
+clgfr (9223372036854775807, 2147483647) --> cc = 2
+cl (0, 0) --> cc = 0
+cl (0, 1) --> cc = 1
+cl (1, 0) --> cc = 2
+cl (2, 1) --> cc = 2
+cl (2, 2) --> cc = 0
+cl (2, 3) --> cc = 1
+cl (0, 127) --> cc = 1
+cl (127, 0) --> cc = 2
+cl (127, 126) --> cc = 2
+cl (127, 127) --> cc = 0
+cl (0, 32767) --> cc = 1
+cl (32767, 0) --> cc = 2
+cl (32767, 32766) --> cc = 2
+cl (32767, 32767) --> cc = 0
+cl (0, 2147483647) --> cc = 1
+cl (2147483647, 0) --> cc = 2
+cl (2147483647, 2147483646) --> cc = 2
+cl (2147483647, 2147483647) --> cc = 0
+clg (0, 0) --> cc = 0
+clg (0, 1) --> cc = 1
+clg (1, 0) --> cc = 2
+clg (2, 1) --> cc = 2
+clg (2, 2) --> cc = 0
+clg (2, 3) --> cc = 1
+clg (0, 127) --> cc = 1
+clg (127, 0) --> cc = 2
+clg (127, 126) --> cc = 2
+clg (127, 127) --> cc = 0
+clg (0, 32767) --> cc = 1
+clg (32767, 0) --> cc = 2
+clg (32767, 32766) --> cc = 2
+clg (32767, 32767) --> cc = 0
+clg (0, 2147483647) --> cc = 1
+clg (2147483647, 0) --> cc = 2
+clg (2147483647, 2147483646) --> cc = 2
+clg (2147483647, 2147483647) --> cc = 0
+clg (9223372036854775808, 9223372036854775808) --> cc = 0
+clg (9223372036854775808, 9223372036854775807) --> cc = 2
+clg (9223372036854775807, 9223372036854775808) --> cc = 1
+clg (9223372036854775807, 9223372036854775807) --> cc = 0
+clgf (0, 0) --> cc = 0
+clgf (0, 1) --> cc = 1
+clgf (1, 0) --> cc = 2
+clgf (2, 1) --> cc = 2
+clgf (2, 2) --> cc = 0
+clgf (2, 3) --> cc = 1
+clgf (0, 127) --> cc = 1
+clgf (127, 0) --> cc = 2
+clgf (127, 126) --> cc = 2
+clgf (127, 127) --> cc = 0
+clgf (0, 32767) --> cc = 1
+clgf (32767, 0) --> cc = 2
+clgf (32767, 32766) --> cc = 2
+clgf (32767, 32767) --> cc = 0
+clgf (0, 2147483647) --> cc = 1
+clgf (2147483647, 0) --> cc = 2
+clgf (2147483647, 2147483646) --> cc = 2
+clgf (2147483647, 2147483647) --> cc = 0
+clgf (9223372036854775808, 18446744071562067968) --> cc = 2
+clgf (9223372036854775808, 2147483647) --> cc = 2
+clgf (9223372036854775807, 18446744071562067968) --> cc = 2
+clgf (9223372036854775807, 2147483647) --> cc = 2
+CLFI (0, 0) --> cc = 0
+CLFI (0, 1) --> cc = 1
+CLFI (1, 0) --> cc = 2
+CLFI (2, 1) --> cc = 2
+CLFI (2, 2) --> cc = 0
+CLFI (2, 3) --> cc = 1
+CLFI (127, 0) --> cc = 2
+CLFI (127, 126) --> cc = 2
+CLFI (127, 127) --> cc = 0
+CLFI (0, 32767) --> cc = 1
+CLFI (32767, 0) --> cc = 2
+CLFI (32767, 32767) --> cc = 0
+CLFI (32767, 32766) --> cc = 2
+CLFI (0, 2147483647) --> cc = 1
+CLFI (2147483647, 0) --> cc = 2
+CLFI (2147483647, 2147483647) --> cc = 0
+CLFI (2147483647, 2147483646) --> cc = 2
+CLGFI (0, 0) --> cc = 0
+CLGFI (0, 1) --> cc = 1
+CLGFI (1, 0) --> cc = 2
+CLGFI (2, 1) --> cc = 2
+CLGFI (2, 2) --> cc = 0
+CLGFI (2, 3) --> cc = 1
+CLGFI (127, 0) --> cc = 2
+CLGFI (127, 126) --> cc = 2
+CLGFI (127, 127) --> cc = 0
+CLGFI (0, 32767) --> cc = 1
+CLGFI (32767, 0) --> cc = 2
+CLGFI (32767, 32767) --> cc = 0
+CLGFI (32767, 32766) --> cc = 2
+CLGFI (0, 2147483647) --> cc = 1
+CLGFI (2147483647, 0) --> cc = 2
+CLGFI (2147483647, 2147483647) --> cc = 0
+CLGFI (2147483647, 2147483646) --> cc = 2
+CLGFI (9223372036854775808, 18446744071562067968) --> cc = 2
+CLGFI (9223372036854775808, 2147483647) --> cc = 2
+CLGFI (9223372036854775807, 18446744071562067968) --> cc = 2
+CLGFI (9223372036854775807, 2147483647) --> cc = 2
diff --git a/none/tests/s390x/comp-2.vgtest b/none/tests/s390x/comp-2.vgtest
new file mode 100644
index 0000000..71f3140
--- /dev/null
+++ b/none/tests/s390x/comp-2.vgtest
@@ -0,0 +1 @@
+prog: comp-2
diff --git a/none/tests/s390x/crj.c b/none/tests/s390x/crj.c
new file mode 100644
index 0000000..936b70c
--- /dev/null
+++ b/none/tests/s390x/crj.c
@@ -0,0 +1,191 @@
+#include <stdio.h>
+#include <stdint.h>
+#include "opcodes.h"
+
+#define BRASLCLOBBER "0","1","2","3","4","5","14", \
+		     "f0","f1","f2","f3","f4","f5","f6","f7"
+
+void if_eq(void)        { printf("equal\n");   }
+void if_ne(void)        { printf("not equal\n");   }
+void if_gt(void)        { printf("greater than\n");   }
+void if_le(void)        { printf("less or equal\n");   }
+void if_lt(void)        { printf("less than\n");   }
+void if_ge(void)        { printf("greater or equal\n");   }
+void if_taken(void)     { printf("taken\n");   }
+void if_not_taken(void) { printf("not taken\n");   }
+
+#undef LT
+#define NEVER 0
+#define GT 2
+#define LT 4
+#define NE 6
+#define EQ 8
+#define LE C
+#define GE A
+#define ALWAYS E
+
+
+void compare_never(int32_t value1, int32_t value2)
+{
+   register int32_t val1 asm("r7") = value1;
+   register int32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CRJ(7,8,8,NEVER) "\n\t"
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_always(int32_t value1, int32_t value2)
+{
+   register int32_t val1 asm("r7") = value1;
+   register int32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CRJ(7,8,8,ALWAYS) "\n\t"
+                "brasl 14,if_not_taken\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_taken\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_le(int32_t value1, int32_t value2)
+{
+   register int32_t val1 asm("r7") = value1;
+   register int32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CRJ(7,8,8,LE) "\n\t"
+                "brasl 14,if_gt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_le\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ge(int32_t value1, int32_t value2)
+{
+   register int32_t val1 asm("r7") = value1;
+   register int32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CRJ(7,8,8,GE) "\n\t"
+                "brasl 14,if_lt\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ge\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_gt(int32_t value1, int32_t value2)
+{
+   register int32_t val1 asm("r7") = value1;
+   register int32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CRJ(7,8,8,GT) "\n\t"
+                "brasl 14,if_le\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_gt\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_lt(int32_t value1, int32_t value2)
+{
+   register int32_t val1 asm("r7") = value1;
+   register int32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CRJ(7,8,8,LT) "\n\t"
+                "brasl 14,if_ge\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_lt\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_eq(int32_t value1, int32_t value2)
+{
+   register int32_t val1 asm("r7") = value1;
+   register int32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CRJ(7,8,8,EQ) "\n\t"
+                "brasl 14,if_ne\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_eq\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+void compare_ne(int32_t value1, int32_t value2)
+{
+   register int32_t val1 asm("r7") = value1;
+   register int32_t val2 asm("r8") = value2;
+
+   asm volatile(
+                "aghi  15,-160\n\t"
+                CRJ(7,8,8,NE) "\n\t"
+                "brasl 14,if_eq\n\t"
+                "j     0f\n\t"
+                "brasl 14,if_ne\n\t"
+                "0: aghi 15,160\n\t"
+                : : "d"(val1), "d"(val2) : "15", BRASLCLOBBER);
+   return;
+}
+
+int main()
+{
+   compare_eq(-12, 42);
+   compare_eq(42, 42);
+   compare_eq(100, 42);
+
+   compare_ne(-12, 42);
+   compare_ne(42, 42);
+   compare_ne(100, 42);
+
+   compare_gt(-12, 42);
+   compare_gt(42, 42);
+   compare_gt(100, 42);
+
+   compare_lt(-12, 42);
+   compare_lt(42, 42);
+   compare_lt(100, 42);
+
+   compare_le(-12, 42);
+   compare_le(42, 42);
+   compare_le(100, 42);
+
+   compare_ge(-12, 42);
+   compare_ge(42, 42);
+   compare_ge(100, 42);
+
+   compare_never(-12, 42);
+   compare_never(42, 42);
+   compare_never(100, 42);
+
+   compare_always(-12, 42);
+   compare_always(42, 42);
+   compare_always(100, 42);
+
+   return 0;
+}
diff --git a/none/tests/s390x/crj.stderr.exp b/none/tests/s390x/crj.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/crj.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/crj.stdout.exp b/none/tests/s390x/crj.stdout.exp
new file mode 100644
index 0000000..bd98295
--- /dev/null
+++ b/none/tests/s390x/crj.stdout.exp
@@ -0,0 +1,24 @@
+not equal
+equal
+not equal
+not equal
+equal
+not equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+less or equal
+less or equal
+greater than
+less than
+greater or equal
+greater or equal
+not taken
+not taken
+not taken
+taken
+taken
+taken
diff --git a/none/tests/s390x/crj.vgtest b/none/tests/s390x/crj.vgtest
new file mode 100644
index 0000000..1e1bba6
--- /dev/null
+++ b/none/tests/s390x/crj.vgtest
@@ -0,0 +1 @@
+prog: crj
diff --git a/none/tests/s390x/cs.c b/none/tests/s390x/cs.c
new file mode 100644
index 0000000..ab1021d
--- /dev/null
+++ b/none/tests/s390x/cs.c
@@ -0,0 +1,51 @@
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+void 
+test(int32_t op1_init, int32_t op2_init, int32_t op3_init, int expected_cc)
+{
+   register int32_t op1 asm("8") = op1_init;
+   register int32_t op3 asm("9") = op3_init;
+   
+   int32_t op2 = op2_init;
+   int cc = 1 - expected_cc; 
+
+   printf("before op1 = %#x\n", op1);
+   printf("before op2 = %#x\n", op2);
+   printf("before op3 = %#x\n", op3);
+
+   __asm__ volatile (
+           "cs      8,9,%1\n\t"
+           "ipm     %0\n\t"
+           "srl     %0,28\n\t"
+           : "=d" (cc), "+Q" (op2), "+d"(op1), "+d"(op3)
+           : 
+           : "cc");
+
+   printf("after  op1 = %#x\n", op1);
+   printf("after  op2 = %#x\n", op2);
+   printf("after  op3 = %#x\n", op3);
+   printf("cc = %d\n", cc);
+
+   if (cc != expected_cc) {
+      printf("condition code is incorrect\n");
+   }
+   if (expected_cc == 0) {
+      if (op2 != op3) {
+         printf("operand #2 not updated\n");
+      }
+   } else {
+      if (op1 != op2) {
+         printf("operand #1 not updated\n");
+      }
+   }
+}
+
+int main ()
+{
+   test(0x10000000, 0x10000000, 0x12345678, 0);
+   test(0x10000000, 0x20000000, 0x12345678, 1);
+
+   return 0;
+}
diff --git a/none/tests/s390x/cs.stderr.exp b/none/tests/s390x/cs.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cs.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cs.stdout.exp b/none/tests/s390x/cs.stdout.exp
new file mode 100644
index 0000000..803a8b3
--- /dev/null
+++ b/none/tests/s390x/cs.stdout.exp
@@ -0,0 +1,14 @@
+before op1 = 0x10000000
+before op2 = 0x10000000
+before op3 = 0x12345678
+after  op1 = 0x10000000
+after  op2 = 0x12345678
+after  op3 = 0x12345678
+cc = 0
+before op1 = 0x10000000
+before op2 = 0x20000000
+before op3 = 0x12345678
+after  op1 = 0x20000000
+after  op2 = 0x20000000
+after  op3 = 0x12345678
+cc = 1
diff --git a/none/tests/s390x/cs.vgtest b/none/tests/s390x/cs.vgtest
new file mode 100644
index 0000000..9d9bdd9
--- /dev/null
+++ b/none/tests/s390x/cs.vgtest
@@ -0,0 +1 @@
+prog: cs
diff --git a/none/tests/s390x/csg.c b/none/tests/s390x/csg.c
new file mode 100644
index 0000000..398c461
--- /dev/null
+++ b/none/tests/s390x/csg.c
@@ -0,0 +1,51 @@
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+void 
+test(int64_t op1_init, int64_t op2_init, int64_t op3_init, int expected_cc)
+{
+   register int64_t op1 asm("8") = op1_init;
+   register int64_t op3 asm("9") = op3_init;
+   
+   int64_t op2 = op2_init;
+   int cc = 1 - expected_cc; 
+
+   printf("before op1 = %#lx\n", op1);
+   printf("before op2 = %#lx\n", op2);
+   printf("before op3 = %#lx\n", op3);
+
+   __asm__ volatile (
+           "csg     8,9,%1\n\t"
+           "ipm     %0\n\t"
+           "srl     %0,28\n\t"
+           : "=d" (cc), "+Q" (op2), "+d"(op1), "+d"(op3)
+           : 
+           : "cc");
+
+   printf("after  op1 = %#lx\n", op1);
+   printf("after  op2 = %#lx\n", op2);
+   printf("after  op3 = %#lx\n", op3);
+   printf("cc = %d\n", cc);
+
+   if (cc != expected_cc) {
+      printf("condition code is incorrect\n");
+   }
+   if (expected_cc == 0) {
+      if (op2 != op3) {
+         printf("operand #2 not updated\n");
+      }
+   } else {
+      if (op1 != op2) {
+         printf("operand #1 not updated\n");
+      }
+   }
+}
+
+int main ()
+{
+   test(0x1000000000000000ull, 0x1000000000000000ull, 0x1234567887654321ull, 0);
+   test(0x1000000000000000ull, 0x2000000000000000ull, 0x1234567887654321ull, 1);
+
+   return 0;
+}
diff --git a/none/tests/s390x/csg.stderr.exp b/none/tests/s390x/csg.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/csg.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/csg.stdout.exp b/none/tests/s390x/csg.stdout.exp
new file mode 100644
index 0000000..1258ece
--- /dev/null
+++ b/none/tests/s390x/csg.stdout.exp
@@ -0,0 +1,14 @@
+before op1 = 0x1000000000000000
+before op2 = 0x1000000000000000
+before op3 = 0x1234567887654321
+after  op1 = 0x1000000000000000
+after  op2 = 0x1234567887654321
+after  op3 = 0x1234567887654321
+cc = 0
+before op1 = 0x1000000000000000
+before op2 = 0x2000000000000000
+before op3 = 0x1234567887654321
+after  op1 = 0x2000000000000000
+after  op2 = 0x2000000000000000
+after  op3 = 0x1234567887654321
+cc = 1
diff --git a/none/tests/s390x/csg.vgtest b/none/tests/s390x/csg.vgtest
new file mode 100644
index 0000000..c765a1b
--- /dev/null
+++ b/none/tests/s390x/csg.vgtest
@@ -0,0 +1 @@
+prog: csg
diff --git a/none/tests/s390x/cu12.c b/none/tests/s390x/cu12.c
new file mode 100644
index 0000000..1281118
--- /dev/null
+++ b/none/tests/s390x/cu12.c
@@ -0,0 +1,595 @@
+#include <stdint.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include "opcodes.h"
+
+#ifndef M3
+#define M3 0
+#endif
+
+/* The abstracted result of an CU12 insn */
+typedef struct {
+   uint64_t addr1;  // target
+   uint64_t len1;
+   uint64_t addr2;  // source
+   uint64_t len2;
+   uint32_t cc;
+} cu12_t;
+
+/* Define various input buffers. */
+
+/* 1-byte UTF-8 character */
+uint8_t pattern1[] = {
+   0x00, 0x01, 0x02, 0x03
+};
+
+/* 2-byte UTF-8 character */
+uint8_t pattern2[] = {
+   0xc2, 0x80,
+   0xc2, 0x81,
+   0xc2, 0x82,
+   0xc2, 0x83,
+};
+
+/* 3-byte UTF-8 character */
+uint8_t pattern3[] = {
+   0xe1, 0x80, 0x80,
+   0xe1, 0x80, 0x81,
+   0xe1, 0x80, 0x82,
+   0xe1, 0x80, 0x83,
+};
+
+/* 4-byte UTF-8 character */
+uint8_t pattern4[] = {
+   0xf4, 0x80, 0x80, 0x80,
+   0xf4, 0x80, 0x80, 0x81,
+   0xf4, 0x80, 0x80, 0x82,
+   0xf4, 0x80, 0x80, 0x83,
+};
+
+
+/* Mixed bytes */
+uint8_t mixed[] = {
+   0x01,                    // 1 byte
+   0xc3, 0x80,              // 2 bytes
+   0x12,                    // 1 byte
+   0xe1, 0x90, 0x93,        // 3 bytes
+   0x23,                    // 1 byte
+   0xf4, 0x80, 0x90, 0x8a,  // 4 bytes
+   0x34,                    // 1 byte
+   0xc4, 0x8c,              // 2 bytes
+   0xe1, 0x91, 0x94,        // 3 bytes
+   0xc5, 0x8a,              // 2 bytes
+   0xf4, 0x80, 0x90, 0x8a,  // 4 bytes
+   0xc5, 0x8a,              // 2 bytes
+   0xe1, 0x91, 0x94,        // 3 bytes
+   0xf4, 0x80, 0x90, 0x8a,  // 4 bytes
+   0xe1, 0x91, 0x94,        // 3 bytes
+};
+
+/* This is the buffer for the converted bytes. */
+uint16_t buff[1000];  /* Large so we con'don't have to worry about it */
+
+
+static cu12_t
+do_cu12(uint16_t *dst, uint64_t dst_len, uint8_t *src, uint64_t src_len)
+{
+   int cc = 42;
+   cu12_t regs;
+
+   /* build up the register pairs */
+   register uint8_t  *source     asm("4") = src;
+   register uint64_t  source_len asm("5") = src_len;
+   register uint16_t *dest       asm("2") = dst;
+   register uint64_t  dest_len   asm("3") = dst_len;
+
+   asm volatile(
+                CU12(M3,2,4)
+                "ipm %2\n\t"
+                "srl %2,28\n\t"
+                : "+d"(dest), "+d"(source), "=d"(cc),
+                  "+d"(source_len), "+d"(dest_len)
+                :
+                : "memory", "cc");
+
+   /* Capture register contents at end of cu12 */
+   regs.addr1 = (uint64_t)dest;
+   regs.len1  = dest_len;
+   regs.addr2 = (uint64_t)source;
+   regs.len2  = source_len;
+   regs.cc = cc;
+   
+   return regs;
+}
+
+void
+run_test(uint16_t *dst, uint64_t dst_len, uint8_t *src, uint64_t src_len)
+{
+   int i;
+   cu12_t result;
+
+   printf("UTF8:  ");
+   if (src_len == 0) 
+      printf(" <none>");
+   else {
+      for(i = 0; i < src_len; ++i)
+         printf(" %02x", src[i]);
+   }
+   printf("\n");
+      
+   result = do_cu12(dst, dst_len, src, src_len);
+
+   // Write out the converted byte, if any
+   printf("UTF16: ");
+   if (dst_len - result.len1 == 0)
+      printf(" <none>");
+   else {
+      uint64_t num_bytes = dst_len - result.len1;
+
+      /* The number of bytes that were written must be divisible by 2 */
+      if (num_bytes % 2 != 0)
+         fprintf(stderr, "*** number of bytes is not a multiple of 2\n");
+
+      for (i = 0; i < num_bytes / 2; i++) {
+         printf(" %04x", dst[i]);
+      }
+   }
+   printf("\n");
+
+   printf("  cc = %d\n", result.cc);
+   if (dst != NULL)
+      printf("  dst address difference: %"PRId64, result.addr1 - (uint64_t)dst);
+   printf("  dst len: %"PRId64"\n", result.len1);
+
+   if (src != NULL)
+      printf("  src address difference: %"PRId64, result.addr2 - (uint64_t)src);
+   printf("  src len: %"PRId64"\n", result.len2);
+}
+
+// Test conversion of a one-byte character
+void convert_1_byte(void)
+{
+   int i;
+
+   printf("===== Conversion of a one-byte character =====\n");
+
+   printf("\n----- Valid characters -----\n");
+   uint8_t valid[] = { 
+      0x00, 0x7f,              // corner cases
+      0x01, 0x10, 0x7e, 0x5d   // misc 
+   };
+   run_test(buff, sizeof buff, valid, sizeof valid);
+
+   // As conversion stops upon encountering an invalid character, we
+   // need to test each invalid character separately, to make sure it
+   // is recognized as invalid.
+   
+   printf("\n----- Invalid characters -----\n");
+   uint8_t always_invalid[] = {
+      0x80, 0xbf,              // corner cases
+      0xf8, 0xff,              // corner cases
+      0x81, 0xbe, 0x95, 0xab   // misc
+   };
+   for (i = 0; i < sizeof always_invalid; ++i) {
+      uint8_t invalid_char[1];
+      invalid_char[0] = always_invalid[i];
+      run_test(buff, sizeof buff, invalid_char, sizeof invalid_char);
+   }
+
+   // In case of m3 == 0 we get cc=0 indicating exhaustion of source
+   printf("\n----- Invalid characters if m3 == 1 -----\n");
+   uint8_t invalid_if_m3[] = {  // contains all such invalid characters
+      0xc0, 0xc1,
+      0xf5, 0xf6, 0xf7
+   };
+   for (i = 0; i < sizeof invalid_if_m3; ++i) {
+      uint8_t invalid_char[1];
+      invalid_char[0] = invalid_if_m3[i];
+      run_test(buff, sizeof buff, invalid_char, sizeof invalid_char);
+   }
+
+   printf("\n----- 1st char valid, 2nd char invalid -----\n");
+   uint8_t valid_invalid[] = {
+      0x10, // valid
+      0xaa  // invalid
+   };
+   run_test(buff, sizeof buff, valid_invalid, sizeof valid_invalid);
+}
+
+// Test conversion of a two-byte character
+void convert_2_bytes(void)
+{
+   int i;
+
+   printf("\n===== Conversion of a two-byte character =====\n");
+
+   printf("\n----- Valid characters -----\n");
+   uint8_t valid[] = { 
+      0xc2, 0x80,             // corner case
+      0xc2, 0xbf,             // corner case
+      0xdf, 0x80,             // corner case
+      0xdf, 0xbf,             // corner case
+      0xc3, 0xbe, 0xda, 0xbc  // misc 
+   };
+   run_test(buff, sizeof buff, valid, sizeof valid);
+
+   printf("\n----- Valid characters if m3 == 0 -----\n");
+   // First char is 0xc0 or 0xc1
+   uint8_t valid_if_not_m3[] = {
+      0xc0, 0x80,
+      0xc0, 0xbf,
+      0xc1, 0x80,
+      0xc0, 0xbf
+   };
+   run_test(buff, sizeof buff, valid_if_not_m3, sizeof valid_if_not_m3);
+
+   // Test for invalid two-byte characters where the 1st byte is valid
+   // The 2nd byte is invalid if not in range 0x80..0xbf, inclusive
+
+   // As conversion stops upon encountering an invalid character, we
+   // need to test each invalid character separately, to make sure it
+   // is recognized as invalid.
+   
+   printf("\n----- Invalid characters if m3 == 1 -----\n");
+   uint8_t always_invalid[] = {
+      0xc2, 0x00,
+      0xc2, 0x7f,
+      0xc2, 0xc0,
+      0xc2, 0xff
+   };
+   for (i = 0; i < sizeof always_invalid; i += 2) {
+      uint8_t invalid_char[2];
+      invalid_char[0] = always_invalid[i];
+      invalid_char[1] = always_invalid[i+1];
+      run_test(buff, sizeof buff, invalid_char, sizeof invalid_char);
+   }
+
+   /* Nb: for a two-byte character we need not test the case where 
+      invalidity of the character (cc=2) takes precedence over exhaustion
+      of the 1st operand (cc=1). Invalidity of the character has already
+      been tested when testing the 1st byte. */
+
+   printf("\n----- 1st char valid, 2nd char invalid -----\n");
+   uint8_t valid_invalid[] = {
+      0xc3, 0x81, // valid
+      0xc4, 0x00  // invalid
+   };
+   run_test(buff, sizeof buff, valid_invalid, sizeof valid_invalid);
+}
+
+// Test conversion of a three-byte character
+void
+convert_3_bytes(void)
+{
+   int i;
+
+   printf("\n===== Conversion of a three-byte character =====\n");
+
+   /* Exhaustively test the 1st byte E0 - EF, and the interval boundaries for
+      the 2nd and 3rd bytes */
+   printf("\n----- Valid characters -----\n");
+   uint8_t e0[] = { 
+      0xe0, 0xa0, 0x80,
+      0xe0, 0xbf, 0x80,
+      0xe0, 0xa0, 0xbf,
+      0xe0, 0xbf, 0xbf,
+      0xe0, 0xaa, 0xbb,   // random  e0 .. ..
+   };
+   run_test(buff, sizeof buff, e0, sizeof e0);
+
+   uint8_t ed[] = { 
+      0xed, 0x80, 0x80,
+      0xed, 0x9f, 0x80,
+      0xed, 0x80, 0xbf,
+      0xed, 0x9f, 0xbf,
+      0xed, 0x8a, 0xbb,   // random  ed .. ..
+   };
+   run_test(buff, sizeof buff, ed, sizeof ed);
+
+   for (i = 0; i <= 0xf; ++i) {
+      uint8_t exxx_1[3] = { 0x0, 0x80, 0x80 };
+      uint8_t exxx_2[3] = { 0x0, 0xbf, 0x80 };
+      uint8_t exxx_3[3] = { 0x0, 0x80, 0xbf };
+      uint8_t exxx_4[3] = { 0x0, 0xbf, 0xbf };
+
+      if (i == 0x00) continue;   // special case e0
+      if (i == 0x0d) continue;   // special case ed
+
+      exxx_1[0] = 0xe0 | i;
+      exxx_2[0] = 0xe0 | i;
+      exxx_3[0] = 0xe0 | i;
+      exxx_4[0] = 0xe0 | i;
+      run_test(buff, sizeof buff, exxx_1, sizeof exxx_1);
+      run_test(buff, sizeof buff, exxx_2, sizeof exxx_2);
+      run_test(buff, sizeof buff, exxx_3, sizeof exxx_3);
+      run_test(buff, sizeof buff, exxx_4, sizeof exxx_4);
+   };
+
+   printf("\n----- Invalid characters (2nd byte is invalid) -----\n");
+   // Test for invalid three-byte characters where the 1st byte is valid
+   // The 2nd byte is invalid.
+
+   // As conversion stops upon encountering an invalid character, we
+   // need to test each invalid character separately, to make sure it
+   // is recognized as invalid.
+
+   e0[0] = 0xe0;  // valid
+   e0[1] = 0x9f;  // invalid  because outside [0xa0 .. 0xbf]
+   e0[2] = 0x80;  // valid
+   run_test(buff, sizeof buff, e0, sizeof e0);
+   e0[1] = 0xc0;  // invalid  because outside [0xa0 .. 0xbf]
+   run_test(buff, sizeof buff, e0, sizeof e0);
+
+   ed[0] = 0xed;  // valid
+   ed[1] = 0x7f;  // invalid  because outside [0x80 .. 0x9f]
+   ed[2] = 0x80;  // valid
+   run_test(buff, sizeof buff, ed, sizeof ed);
+   ed[1] = 0xa0;  // invalid  because outside [0x80 .. 0x9f]
+   run_test(buff, sizeof buff, ed, sizeof ed);
+
+   for (i = 0; i <= 0xf; ++i) {
+      uint8_t exxx_1[3] = { 0x0, 0x7f, 0x80 };
+      uint8_t exxx_2[3] = { 0x0, 0xc0, 0x80 };
+
+      if (i == 0x00) continue;   // special case e0
+      if (i == 0x0d) continue;   // special case ed
+
+      exxx_1[0] = 0xe0 | i;
+      exxx_2[0] = 0xe0 | i;
+      run_test(buff, sizeof buff, exxx_1, sizeof exxx_1);
+      run_test(buff, sizeof buff, exxx_2, sizeof exxx_2);
+   };
+
+   printf("\n----- Invalid characters (3rd byte is invalid) -----\n");
+   // For all 1st bytes 0xe0 .. 0xef the 3rd bytes must be in [0x80 .. 0xbf]
+   // No need to special case 0xe0 and 0xed
+   for (i = 0; i <= 0xf; ++i) {
+      uint8_t exxx_1[3] = { 0x0, 0xab, 0x7f };
+      uint8_t exxx_2[3] = { 0x0, 0xab, 0xc0 };
+
+      exxx_1[0] = 0xe0 | i;
+      exxx_2[0] = 0xe0 | i;
+      run_test(buff, sizeof buff, exxx_1, sizeof exxx_1);
+      run_test(buff, sizeof buff, exxx_2, sizeof exxx_2);
+   };
+
+   printf("\n----- Invalid 2nd char AND output exhausted -----\n");
+   /* The character is invalid in its 2nd byte AND the output buffer is 
+      exhausted (2 bytes are needed) */
+   uint8_t pat1[] = {
+      0xe0, 0x00, 0x80
+   };
+   run_test(buff, 1, pat1, 3);
+
+   printf("\n----- Invalid 3rd char AND output exhausted -----\n");
+   /* The character is invalid in its 3rd byte AND the output buffer is 
+      exhausted (2 bytes are needed) */
+   uint8_t pat2[] = {
+      0xe4, 0x84, 0x00
+   };
+   run_test(buff, 1, pat2, 3);
+
+   printf("\n----- 1st char valid, 2nd char invalid -----\n");
+   uint8_t valid_invalid[] = {
+      0xe1, 0x90, 0x90, // valid
+      0xe1, 0x00, 0x90  // invalid
+   };
+   run_test(buff, sizeof buff, valid_invalid, sizeof valid_invalid);
+}
+
+// Test conversion of a four-byte character
+void
+convert_4_bytes(void)
+{
+   int i, j;
+
+   printf("\n===== Conversion of a four-byte character =====\n");
+
+   printf("\n----- Valid characters -----\n");
+   for (i = 0; i <= 4; ++i) {
+      uint8_t valid[4];
+
+      valid[0] = 0xf0 | i;
+
+      for (j = 0; j <= 1; ++j) {
+         // Byte 2
+         if (i == 0) {
+            valid[1] = j == 0 ? 0x90 : 0xbf;    // 0xf0
+         } else if (i == 4) {
+            valid[1] = j == 0 ? 0x80 : 0x8f;    // 0xf4
+         } else {
+            valid[1] = j == 0 ? 0x80 : 0xbf;    // 0xf1 .. 0xf3
+         }
+         // Byte 3 and byte 4 have same interval 0x80 .. 0xbf
+         valid[2] = 0x80;
+         valid[3] = 0x80;
+         run_test(buff, sizeof buff, valid, sizeof valid);
+         valid[2] = 0x80;
+         valid[3] = 0xbf;
+         run_test(buff, sizeof buff, valid, sizeof valid);
+         valid[2] = 0xbf;
+         valid[3] = 0x80;
+         run_test(buff, sizeof buff, valid, sizeof valid);
+         valid[2] = 0xbf;
+         valid[3] = 0xbf;
+         run_test(buff, sizeof buff, valid, sizeof valid);
+      }
+   }
+
+   printf("\n----- Valid characters if m3 == 0 -----\n");
+   // First char is 0xf5 .. 0xf7
+   uint8_t valid_if_not_m3[] = {
+      0xf5, 0x00, 0x00, 0x00,
+      0xf6, 0x11, 0x22, 0x33,
+      0xf7, 0x44, 0x55, 0x66,
+   };
+   run_test(buff, sizeof buff, valid_if_not_m3, sizeof valid_if_not_m3);
+
+   // As conversion stops upon encountering an invalid character, we
+   // need to test each invalid character separately, to make sure it
+   // is recognized as invalid.
+
+   printf("\n----- Invalid characters (2nd byte is invalid) -----\n");
+   // Test for invalid four-byte characters where the 2nd byte is invalid.
+   // All other bytes are valid
+   uint8_t f0[4], f4[4];
+
+   f0[0] = 0xf0;  // valid
+   f0[1] = 0x8f;  // invalid  because outside [0x90 .. 0xbf]
+   f0[2] = 0x80;  // valid
+   f0[3] = 0x80;  // valid
+   run_test(buff, sizeof buff, f0, sizeof f0);
+   f0[1] = 0xc0;  // invalid  because outside [0x90 .. 0xbf]
+   run_test(buff, sizeof buff, f0, sizeof f0);
+
+   f4[0] = 0xf4;  // valid
+   f4[1] = 0x7f;  // invalid  because outside [0x80 .. 0x8f]
+   f4[2] = 0x80;  // valid
+   f4[3] = 0x80;  // valid
+   run_test(buff, sizeof buff, f4, sizeof f4);
+   f4[1] = 0x90;  // invalid  because outside [0x80 .. 0x9f]
+   run_test(buff, sizeof buff, f4, sizeof f4);
+
+   for (i = 0; i <= 0x4; ++i) {
+      uint8_t fxxx_1[4] = { 0x0, 0x7f, 0x80, 0x80 };
+      uint8_t fxxx_2[4] = { 0x0, 0xc0, 0x80, 0x80 };
+
+      if (i == 0) continue;   // special case f0
+      if (i == 4) continue;   // special case f4
+
+      fxxx_1[0] = 0xf0 | i;
+      fxxx_2[0] = 0xf0 | i;
+      run_test(buff, sizeof buff, fxxx_1, sizeof fxxx_1);
+      run_test(buff, sizeof buff, fxxx_2, sizeof fxxx_2);
+   };
+
+   printf("\n----- Invalid characters (3rd byte is invalid) -----\n");
+   // Test for invalid four-byte characters where the 3rd byte is invalid.
+   // All other bytes are valid
+   for (i = 0; i <= 0x4; ++i) {
+      uint8_t fxxx[4] = { 0x0, 0x0, 0x0, 0x80 };
+
+      fxxx[0] = 0xf0 | i;
+      fxxx[1] = (i == 0) ? 0x94 : 0x84;
+      fxxx[2] = 0x7f;
+      run_test(buff, sizeof buff, fxxx, sizeof fxxx);
+      fxxx[2] = 0xc0;
+      run_test(buff, sizeof buff, fxxx, sizeof fxxx);
+   };
+
+   printf("\n----- Invalid characters (4th byte is invalid) -----\n");
+   // Test for invalid four-byte characters where the 3rd byte is invalid.
+   // All other bytes are valid
+   for (i = 0; i <= 0x4; ++i) {
+      uint8_t fxxx[4] = { 0x0, 0x0, 0x80, 0x0 };
+
+      fxxx[0] = 0xf0 | i;
+      fxxx[1] = (i == 0) ? 0x94 : 0x84;
+      fxxx[3] = 0x7f;
+      run_test(buff, sizeof buff, fxxx, sizeof fxxx);
+      fxxx[3] = 0xc0;
+      run_test(buff, sizeof buff, fxxx, sizeof fxxx);
+   };
+
+   printf("\n----- Invalid 2nd char AND output exhausted -----\n");
+   /* The character is invalid in its 2nd byte AND the output buffer is 
+      exhausted (4 bytes are needed) */
+   uint8_t pat1[] = {
+      0xf0, 0x00, 0x80, 0x80
+   };
+   run_test(buff, 1, pat1, 4);
+
+   printf("\n----- Invalid 3rd char AND output exhausted -----\n");
+   /* The character is invalid in its 3rd byte AND the output buffer is 
+      exhausted (4 bytes are needed) */
+   uint8_t pat2[] = {
+      0xf0, 0xaa, 0x00, 0x80
+   };
+   run_test(buff, 3, pat2, 4);
+
+   printf("\n----- Invalid 4th char AND output exhausted -----\n");
+   /* The character is invalid in its 4th byte AND the output buffer is 
+      exhausted (4 bytes are needed) */
+   uint8_t pat3[] = {
+      0xf0, 0xaa, 0xaa, 0x00
+   };
+   run_test(buff, 3, pat3, 4);
+
+   printf("\n----- 1st char valid, 2nd char invalid -----\n");
+   uint8_t valid_invalid[] = {
+      0xf0, 0xaa, 0xaa, 0xaa, // valid
+      0xf0, 0x00, 0x00, 0x00  // invalid
+   };
+   run_test(buff, sizeof buff, valid_invalid, sizeof valid_invalid);
+}
+
+
+int main()
+{
+   convert_1_byte();
+   convert_2_bytes();
+   convert_3_bytes();
+   convert_4_bytes();
+
+   /* Length == 0, no memory should be read or written */
+   printf("\n------------- test1 ----------------\n");
+   run_test(NULL, 0, NULL, 0);
+
+   /* Test exhaustion of source length (source bytes are valid) */
+   printf("\n------------- test2.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+   run_test(buff, sizeof buff, NULL,     0);
+   run_test(buff, sizeof buff, pattern1, 0);
+   run_test(buff, sizeof buff, pattern2, 0);
+   run_test(buff, sizeof buff, pattern2, 1);
+   run_test(buff, sizeof buff, pattern3, 0);
+   run_test(buff, sizeof buff, pattern3, 1);
+   run_test(buff, sizeof buff, pattern3, 2);
+   run_test(buff, sizeof buff, pattern4, 0);
+   run_test(buff, sizeof buff, pattern4, 1);
+   run_test(buff, sizeof buff, pattern4, 2);
+   run_test(buff, sizeof buff, pattern4, 3);
+
+   printf("\n------------- test2.2 ----------------\n");
+   /* At least one character will be written to BUFF, i.e. loop in jitted
+      code is iterated */
+   run_test(buff, sizeof buff, pattern1, 2);
+   run_test(buff, sizeof buff, pattern2, 5);
+   run_test(buff, sizeof buff, pattern3, 6);
+   run_test(buff, sizeof buff, pattern4, 9);
+
+   /* Test exhaustion of destination length (source bytes are valid) */
+   printf("\n------------- test3.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+
+   /* Want to write 2 or 4 bytes at a time */
+   run_test(NULL, 0, pattern1, sizeof pattern1);  // 2-byte result
+   run_test(NULL, 0, pattern2, sizeof pattern2);  // 2-byte result
+   run_test(NULL, 1, pattern2, sizeof pattern2);  // 2-byte result
+   run_test(NULL, 0, pattern3, sizeof pattern3);  // 2-byte result
+   run_test(NULL, 1, pattern3, sizeof pattern3);  // 2-byte result
+   run_test(NULL, 0, pattern4, sizeof pattern4);  // 4-byte result
+   run_test(NULL, 1, pattern4, sizeof pattern4);  // 4-byte result
+   run_test(NULL, 2, pattern4, sizeof pattern4);  // 4-byte result
+   run_test(NULL, 3, pattern4, sizeof pattern4);  // 4-byte result
+
+   printf("\n------------- test3.2 ----------------\n");
+   /* At least one character will be written to BUFF, i.e. loop in jitted
+      code is iterated */
+   run_test(buff, 4, pattern1, sizeof pattern1);
+   run_test(buff, 5, pattern1, sizeof pattern2);
+   run_test(buff, 6, pattern1, sizeof pattern3);
+   run_test(buff, 7, pattern1, sizeof pattern4);
+
+   /* Convert buffer with mixed characters */
+   printf("\n------------- test4 ----------------\n");
+   run_test(buff, sizeof buff, mixed, sizeof mixed);
+
+   return 0;
+}
diff --git a/none/tests/s390x/cu12.stderr.exp b/none/tests/s390x/cu12.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cu12.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cu12.stdout.exp b/none/tests/s390x/cu12.stdout.exp
new file mode 100644
index 0000000..59c5dc9
--- /dev/null
+++ b/none/tests/s390x/cu12.stdout.exp
@@ -0,0 +1,1325 @@
+===== Conversion of a one-byte character =====
+
+----- Valid characters -----
+UTF8:   00 7f 01 10 7e 5d
+UTF16:  0000 007f 0001 0010 007e 005d
+  cc = 0
+  dst address difference: 12  dst len: 1988
+  src address difference: 6  src len: 0
+
+----- Invalid characters -----
+UTF8:   80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   bf
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f8
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   ff
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   81
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   be
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   95
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   ab
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+
+----- Invalid characters if m3 == 1 -----
+UTF8:   c0
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   c1
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f5
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f6
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f7
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   10 aa
+UTF16:  0010
+  cc = 2
+  dst address difference: 2  dst len: 1998
+  src address difference: 1  src len: 1
+
+===== Conversion of a two-byte character =====
+
+----- Valid characters -----
+UTF8:   c2 80 c2 bf df 80 df bf c3 be da bc
+UTF16:  0080 00bf 07c0 07ff 00fe 06bc
+  cc = 0
+  dst address difference: 12  dst len: 1988
+  src address difference: 12  src len: 0
+
+----- Valid characters if m3 == 0 -----
+UTF8:   c0 80 c0 bf c1 80 c0 bf
+UTF16:  0000 003f 0040 003f
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 8  src len: 0
+
+----- Invalid characters if m3 == 1 -----
+UTF8:   c2 00
+UTF16:  0080
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 2  src len: 0
+UTF8:   c2 7f
+UTF16:  00bf
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 2  src len: 0
+UTF8:   c2 c0
+UTF16:  0080
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 2  src len: 0
+UTF8:   c2 ff
+UTF16:  00bf
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 2  src len: 0
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   c3 81 c4 00
+UTF16:  00c1 0100
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+
+===== Conversion of a three-byte character =====
+
+----- Valid characters -----
+UTF8:   e0 a0 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF16:  0800 0fc0 083f 0fff 0abb
+  cc = 0
+  dst address difference: 10  dst len: 1990
+  src address difference: 15  src len: 0
+UTF8:   ed 80 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF16:  d000 d7c0 d03f d7ff d2bb
+  cc = 0
+  dst address difference: 10  dst len: 1990
+  src address difference: 15  src len: 0
+UTF8:   e1 80 80
+UTF16:  1000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e1 bf 80
+UTF16:  1fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e1 80 bf
+UTF16:  103f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e1 bf bf
+UTF16:  1fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 80 80
+UTF16:  2000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 bf 80
+UTF16:  2fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 80 bf
+UTF16:  203f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 bf bf
+UTF16:  2fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 80 80
+UTF16:  3000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 bf 80
+UTF16:  3fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 80 bf
+UTF16:  303f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 bf bf
+UTF16:  3fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 80 80
+UTF16:  4000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 bf 80
+UTF16:  4fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 80 bf
+UTF16:  403f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 bf bf
+UTF16:  4fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 80 80
+UTF16:  5000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 bf 80
+UTF16:  5fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 80 bf
+UTF16:  503f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 bf bf
+UTF16:  5fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 80 80
+UTF16:  6000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 bf 80
+UTF16:  6fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 80 bf
+UTF16:  603f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 bf bf
+UTF16:  6fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 80 80
+UTF16:  7000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 bf 80
+UTF16:  7fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 80 bf
+UTF16:  703f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 bf bf
+UTF16:  7fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 80 80
+UTF16:  8000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 bf 80
+UTF16:  8fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 80 bf
+UTF16:  803f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 bf bf
+UTF16:  8fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 80 80
+UTF16:  9000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 bf 80
+UTF16:  9fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 80 bf
+UTF16:  903f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 bf bf
+UTF16:  9fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea 80 80
+UTF16:  a000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea bf 80
+UTF16:  afc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea 80 bf
+UTF16:  a03f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea bf bf
+UTF16:  afff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb 80 80
+UTF16:  b000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb bf 80
+UTF16:  bfc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb 80 bf
+UTF16:  b03f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb bf bf
+UTF16:  bfff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec 80 80
+UTF16:  c000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec bf 80
+UTF16:  cfc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec 80 bf
+UTF16:  c03f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec bf bf
+UTF16:  cfff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee 80 80
+UTF16:  e000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee bf 80
+UTF16:  efc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee 80 bf
+UTF16:  e03f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee bf bf
+UTF16:  efff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef 80 80
+UTF16:  f000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef bf 80
+UTF16:  ffc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef 80 bf
+UTF16:  f03f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef bf bf
+UTF16:  ffff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+
+----- Invalid characters (2nd byte is invalid) -----
+UTF8:   e0 9f 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF16:  07c0 0fc0 083f 0fff 0abb
+  cc = 0
+  dst address difference: 10  dst len: 1990
+  src address difference: 15  src len: 0
+UTF8:   e0 c0 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF16:  0000 0fc0 083f 0fff 0abb
+  cc = 0
+  dst address difference: 10  dst len: 1990
+  src address difference: 15  src len: 0
+UTF8:   ed 7f 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF16:  dfc0 d7c0 d03f d7ff d2bb
+  cc = 0
+  dst address difference: 10  dst len: 1990
+  src address difference: 15  src len: 0
+UTF8:   ed a0 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF16:  d800 d7c0 d03f d7ff d2bb
+  cc = 0
+  dst address difference: 10  dst len: 1990
+  src address difference: 15  src len: 0
+UTF8:   e1 7f 80
+UTF16:  1fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e1 c0 80
+UTF16:  1000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 7f 80
+UTF16:  2fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 c0 80
+UTF16:  2000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 7f 80
+UTF16:  3fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 c0 80
+UTF16:  3000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 7f 80
+UTF16:  4fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 c0 80
+UTF16:  4000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 7f 80
+UTF16:  5fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 c0 80
+UTF16:  5000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 7f 80
+UTF16:  6fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 c0 80
+UTF16:  6000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 7f 80
+UTF16:  7fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 c0 80
+UTF16:  7000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 7f 80
+UTF16:  8fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 c0 80
+UTF16:  8000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 7f 80
+UTF16:  9fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 c0 80
+UTF16:  9000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea 7f 80
+UTF16:  afc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea c0 80
+UTF16:  a000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb 7f 80
+UTF16:  bfc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb c0 80
+UTF16:  b000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec 7f 80
+UTF16:  cfc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec c0 80
+UTF16:  c000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee 7f 80
+UTF16:  efc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee c0 80
+UTF16:  e000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef 7f 80
+UTF16:  ffc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef c0 80
+UTF16:  f000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+
+----- Invalid characters (3rd byte is invalid) -----
+UTF8:   e0 ab 7f
+UTF16:  0aff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e0 ab c0
+UTF16:  0ac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e1 ab 7f
+UTF16:  1aff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e1 ab c0
+UTF16:  1ac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 ab 7f
+UTF16:  2aff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 ab c0
+UTF16:  2ac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 ab 7f
+UTF16:  3aff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 ab c0
+UTF16:  3ac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 ab 7f
+UTF16:  4aff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 ab c0
+UTF16:  4ac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 ab 7f
+UTF16:  5aff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 ab c0
+UTF16:  5ac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 ab 7f
+UTF16:  6aff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 ab c0
+UTF16:  6ac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 ab 7f
+UTF16:  7aff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 ab c0
+UTF16:  7ac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 ab 7f
+UTF16:  8aff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 ab c0
+UTF16:  8ac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 ab 7f
+UTF16:  9aff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 ab c0
+UTF16:  9ac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea ab 7f
+UTF16:  aaff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea ab c0
+UTF16:  aac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb ab 7f
+UTF16:  baff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb ab c0
+UTF16:  bac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec ab 7f
+UTF16:  caff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec ab c0
+UTF16:  cac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ed ab 7f
+UTF16:  daff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ed ab c0
+UTF16:  dac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee ab 7f
+UTF16:  eaff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee ab c0
+UTF16:  eac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef ab 7f
+UTF16:  faff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef ab c0
+UTF16:  fac0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+
+----- Invalid 2nd char AND output exhausted -----
+UTF8:   e0 00 80
+UTF16:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 3
+
+----- Invalid 3rd char AND output exhausted -----
+UTF8:   e4 84 00
+UTF16:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 3
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   e1 90 90 e1 00 90
+UTF16:  1410 1010
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 6  src len: 0
+
+===== Conversion of a four-byte character =====
+
+----- Valid characters -----
+UTF8:   f0 90 80 80
+UTF16:  d800 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 80 bf
+UTF16:  d800 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 bf 80
+UTF16:  d803 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 bf bf
+UTF16:  d803 dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf 80 80
+UTF16:  d8bc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf 80 bf
+UTF16:  d8bc dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf bf 80
+UTF16:  d8bf dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf bf bf
+UTF16:  d8bf dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 80 80
+UTF16:  d8c0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 80 bf
+UTF16:  d8c0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 bf 80
+UTF16:  d8c3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 bf bf
+UTF16:  d8c3 dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf 80 80
+UTF16:  d9bc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf 80 bf
+UTF16:  d9bc dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf bf 80
+UTF16:  d9bf dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf bf bf
+UTF16:  d9bf dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 80 80
+UTF16:  d9c0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 80 bf
+UTF16:  d9c0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 bf 80
+UTF16:  d9c3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 bf bf
+UTF16:  d9c3 dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf 80 80
+UTF16:  dabc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf 80 bf
+UTF16:  dabc dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf bf 80
+UTF16:  dabf dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf bf bf
+UTF16:  dabf dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 80 80
+UTF16:  dac0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 80 bf
+UTF16:  dac0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 bf 80
+UTF16:  dac3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 bf bf
+UTF16:  dac3 dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf 80 80
+UTF16:  dbbc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf 80 bf
+UTF16:  dbbc dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf bf 80
+UTF16:  dbbf dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf bf bf
+UTF16:  dbbf dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 80 80
+UTF16:  dbc0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 80 bf
+UTF16:  dbc0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 bf 80
+UTF16:  dbc3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 bf bf
+UTF16:  dbc3 dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f 80 80
+UTF16:  dbfc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f 80 bf
+UTF16:  dbfc dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f bf 80
+UTF16:  dbff dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f bf bf
+UTF16:  dbff dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+
+----- Valid characters if m3 == 0 -----
+UTF8:   f5 00 00 00 f6 11 22 33 f7 44 55 66
+UTF16:  d8c0 dc00 da06 dcb3 dad1 dd66
+  cc = 0
+  dst address difference: 12  dst len: 1988
+  src address difference: 12  src len: 0
+
+----- Invalid characters (2nd byte is invalid) -----
+UTF8:   f0 8f 80 80
+UTF16:  dbfc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 c0 80 80
+UTF16:  dbc0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 7f 80 80
+UTF16:  d8bc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 90 80 80
+UTF16:  d800 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 7f 80 80
+UTF16:  d9bc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 c0 80 80
+UTF16:  d8c0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 7f 80 80
+UTF16:  dabc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 c0 80 80
+UTF16:  d9c0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 7f 80 80
+UTF16:  dbbc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 c0 80 80
+UTF16:  dac0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+
+----- Invalid characters (3rd byte is invalid) -----
+UTF8:   f0 94 7f 80
+UTF16:  d813 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 94 c0 80
+UTF16:  d810 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 84 7f 80
+UTF16:  d8d3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 84 c0 80
+UTF16:  d8d0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 84 7f 80
+UTF16:  d9d3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 84 c0 80
+UTF16:  d9d0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 84 7f 80
+UTF16:  dad3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 84 c0 80
+UTF16:  dad0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 84 7f 80
+UTF16:  dbd3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 84 c0 80
+UTF16:  dbd0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+
+----- Invalid characters (4th byte is invalid) -----
+UTF8:   f0 94 80 7f
+UTF16:  d810 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 94 80 c0
+UTF16:  d810 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 84 80 7f
+UTF16:  d8d0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 84 80 c0
+UTF16:  d8d0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 84 80 7f
+UTF16:  d9d0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 84 80 c0
+UTF16:  d9d0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 84 80 7f
+UTF16:  dad0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 84 80 c0
+UTF16:  dad0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 84 80 7f
+UTF16:  dbd0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 84 80 c0
+UTF16:  dbd0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+
+----- Invalid 2nd char AND output exhausted -----
+UTF8:   f0 00 80 80
+UTF16:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 4
+
+----- Invalid 3rd char AND output exhausted -----
+UTF8:   f0 aa 00 80
+UTF16:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 3
+  src address difference: 0  src len: 4
+
+----- Invalid 4th char AND output exhausted -----
+UTF8:   f0 aa aa 00
+UTF16:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 3
+  src address difference: 0  src len: 4
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   f0 aa aa aa f0 00 00 00
+UTF16:  d86a deaa dbc0 dc00
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 8  src len: 0
+
+------------- test1 ----------------
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst len: 0
+  src len: 0
+
+------------- test2.1 ----------------
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src len: 0
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   c2
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   e1
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   e1 80
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   f4
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f4 80
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   f4 80 80
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+
+------------- test2.2 ----------------
+UTF8:   00 01
+UTF16:  0000 0001
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 2  src len: 0
+UTF8:   c2 80 c2 81 c2
+UTF16:  0080 0081
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 1
+UTF8:   e1 80 80 e1 80 81
+UTF16:  1000 1001
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 6  src len: 0
+UTF8:   f4 80 80 80 f4 80 80 81 f4
+UTF16:  dbc0 dc00 dbc0 dc01
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 8  src len: 1
+
+------------- test3.1 ----------------
+UTF8:   00 01 02 03
+UTF16:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 4
+UTF8:   c2 80 c2 81 c2 82 c2 83
+UTF16:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 8
+UTF8:   c2 80 c2 81 c2 82 c2 83
+UTF16:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 8
+UTF8:   e1 80 80 e1 80 81 e1 80 82 e1 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 12
+UTF8:   e1 80 80 e1 80 81 e1 80 82 e1 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 12
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 3
+  src address difference: 0  src len: 16
+
+------------- test3.2 ----------------
+UTF8:   00 01 02 03
+UTF16:  0000 0001
+  cc = 1
+  dst address difference: 4  dst len: 0
+  src address difference: 2  src len: 2
+UTF8:   00 01 02 03 c2 80 c2 81
+UTF16:  0000 0001
+  cc = 1
+  dst address difference: 4  dst len: 1
+  src address difference: 2  src len: 6
+UTF8:   00 01 02 03 c2 80 c2 81 c2 82 c2 83
+UTF16:  0000 0001 0002
+  cc = 1
+  dst address difference: 6  dst len: 0
+  src address difference: 3  src len: 9
+UTF8:   00 01 02 03 c2 80 c2 81 c2 82 c2 83 e1 80 80 e1
+UTF16:  0000 0001 0002
+  cc = 1
+  dst address difference: 6  dst len: 1
+  src address difference: 3  src len: 13
+
+------------- test4 ----------------
+UTF8:   01 c3 80 12 e1 90 93 23 f4 80 90 8a 34 c4 8c e1 91 94 c5 8a f4 80 90 8a c5 8a e1 91 94 f4 80 90 8a e1 91 94
+UTF16:  0001 00c0 0012 1413 0023 dbc1 dc0a 0034 010c 1454 014a dbc1 dc0a 014a 1454 dbc1 dc0a 1454
+  cc = 0
+  dst address difference: 36  dst len: 1964
+  src address difference: 36  src len: 0
diff --git a/none/tests/s390x/cu12.vgtest b/none/tests/s390x/cu12.vgtest
new file mode 100644
index 0000000..cdf8071
--- /dev/null
+++ b/none/tests/s390x/cu12.vgtest
@@ -0,0 +1 @@
+prog: cu12
diff --git a/none/tests/s390x/cu12_1.c b/none/tests/s390x/cu12_1.c
new file mode 120000
index 0000000..a331548
--- /dev/null
+++ b/none/tests/s390x/cu12_1.c
@@ -0,0 +1 @@
+cu12.c
\ No newline at end of file
diff --git a/none/tests/s390x/cu12_1.stderr.exp b/none/tests/s390x/cu12_1.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cu12_1.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cu12_1.stdout.exp b/none/tests/s390x/cu12_1.stdout.exp
new file mode 100644
index 0000000..d5a616f
--- /dev/null
+++ b/none/tests/s390x/cu12_1.stdout.exp
@@ -0,0 +1,1325 @@
+===== Conversion of a one-byte character =====
+
+----- Valid characters -----
+UTF8:   00 7f 01 10 7e 5d
+UTF16:  0000 007f 0001 0010 007e 005d
+  cc = 0
+  dst address difference: 12  dst len: 1988
+  src address difference: 6  src len: 0
+
+----- Invalid characters -----
+UTF8:   80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   bf
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f8
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   ff
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   81
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   be
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   95
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   ab
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+
+----- Invalid characters if m3 == 1 -----
+UTF8:   c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   c1
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f5
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f6
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f7
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   10 aa
+UTF16:  0010
+  cc = 2
+  dst address difference: 2  dst len: 1998
+  src address difference: 1  src len: 1
+
+===== Conversion of a two-byte character =====
+
+----- Valid characters -----
+UTF8:   c2 80 c2 bf df 80 df bf c3 be da bc
+UTF16:  0080 00bf 07c0 07ff 00fe 06bc
+  cc = 0
+  dst address difference: 12  dst len: 1988
+  src address difference: 12  src len: 0
+
+----- Valid characters if m3 == 0 -----
+UTF8:   c0 80 c0 bf c1 80 c0 bf
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 8
+
+----- Invalid characters if m3 == 1 -----
+UTF8:   c2 00
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   c2 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   c2 c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   c2 ff
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   c3 81 c4 00
+UTF16:  00c1
+  cc = 2
+  dst address difference: 2  dst len: 1998
+  src address difference: 2  src len: 2
+
+===== Conversion of a three-byte character =====
+
+----- Valid characters -----
+UTF8:   e0 a0 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF16:  0800 0fc0 083f 0fff 0abb
+  cc = 0
+  dst address difference: 10  dst len: 1990
+  src address difference: 15  src len: 0
+UTF8:   ed 80 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF16:  d000 d7c0 d03f d7ff d2bb
+  cc = 0
+  dst address difference: 10  dst len: 1990
+  src address difference: 15  src len: 0
+UTF8:   e1 80 80
+UTF16:  1000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e1 bf 80
+UTF16:  1fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e1 80 bf
+UTF16:  103f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e1 bf bf
+UTF16:  1fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 80 80
+UTF16:  2000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 bf 80
+UTF16:  2fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 80 bf
+UTF16:  203f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e2 bf bf
+UTF16:  2fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 80 80
+UTF16:  3000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 bf 80
+UTF16:  3fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 80 bf
+UTF16:  303f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e3 bf bf
+UTF16:  3fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 80 80
+UTF16:  4000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 bf 80
+UTF16:  4fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 80 bf
+UTF16:  403f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e4 bf bf
+UTF16:  4fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 80 80
+UTF16:  5000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 bf 80
+UTF16:  5fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 80 bf
+UTF16:  503f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e5 bf bf
+UTF16:  5fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 80 80
+UTF16:  6000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 bf 80
+UTF16:  6fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 80 bf
+UTF16:  603f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e6 bf bf
+UTF16:  6fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 80 80
+UTF16:  7000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 bf 80
+UTF16:  7fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 80 bf
+UTF16:  703f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e7 bf bf
+UTF16:  7fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 80 80
+UTF16:  8000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 bf 80
+UTF16:  8fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 80 bf
+UTF16:  803f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e8 bf bf
+UTF16:  8fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 80 80
+UTF16:  9000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 bf 80
+UTF16:  9fc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 80 bf
+UTF16:  903f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   e9 bf bf
+UTF16:  9fff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea 80 80
+UTF16:  a000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea bf 80
+UTF16:  afc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea 80 bf
+UTF16:  a03f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ea bf bf
+UTF16:  afff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb 80 80
+UTF16:  b000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb bf 80
+UTF16:  bfc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb 80 bf
+UTF16:  b03f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   eb bf bf
+UTF16:  bfff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec 80 80
+UTF16:  c000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec bf 80
+UTF16:  cfc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec 80 bf
+UTF16:  c03f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ec bf bf
+UTF16:  cfff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee 80 80
+UTF16:  e000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee bf 80
+UTF16:  efc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee 80 bf
+UTF16:  e03f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ee bf bf
+UTF16:  efff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef 80 80
+UTF16:  f000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef bf 80
+UTF16:  ffc0
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef 80 bf
+UTF16:  f03f
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+UTF8:   ef bf bf
+UTF16:  ffff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 0
+
+----- Invalid characters (2nd byte is invalid) -----
+UTF8:   e0 9f 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 15
+UTF8:   e0 c0 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 15
+UTF8:   ed 7f 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 15
+UTF8:   ed a0 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 15
+UTF8:   e1 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e1 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e2 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e2 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e3 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e3 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e4 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e4 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e5 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e5 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e6 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e6 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e7 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e7 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e8 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e8 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e9 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e9 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ea 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ea c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   eb 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   eb c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ec 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ec c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ee 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ee c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ef 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ef c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+
+----- Invalid characters (3rd byte is invalid) -----
+UTF8:   e0 ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e0 ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e1 ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e1 ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e2 ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e2 ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e3 ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e3 ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e4 ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e4 ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e5 ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e5 ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e6 ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e6 ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e7 ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e7 ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e8 ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e8 ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e9 ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e9 ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ea ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ea ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   eb ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   eb ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ec ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ec ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ed ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ed ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ee ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ee ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ef ab 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ef ab c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+
+----- Invalid 2nd char AND output exhausted -----
+UTF8:   e0 00 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 3
+
+----- Invalid 3rd char AND output exhausted -----
+UTF8:   e4 84 00
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 3
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   e1 90 90 e1 00 90
+UTF16:  1410
+  cc = 2
+  dst address difference: 2  dst len: 1998
+  src address difference: 3  src len: 3
+
+===== Conversion of a four-byte character =====
+
+----- Valid characters -----
+UTF8:   f0 90 80 80
+UTF16:  d800 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 80 bf
+UTF16:  d800 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 bf 80
+UTF16:  d803 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 bf bf
+UTF16:  d803 dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf 80 80
+UTF16:  d8bc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf 80 bf
+UTF16:  d8bc dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf bf 80
+UTF16:  d8bf dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf bf bf
+UTF16:  d8bf dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 80 80
+UTF16:  d8c0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 80 bf
+UTF16:  d8c0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 bf 80
+UTF16:  d8c3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 bf bf
+UTF16:  d8c3 dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf 80 80
+UTF16:  d9bc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf 80 bf
+UTF16:  d9bc dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf bf 80
+UTF16:  d9bf dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf bf bf
+UTF16:  d9bf dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 80 80
+UTF16:  d9c0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 80 bf
+UTF16:  d9c0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 bf 80
+UTF16:  d9c3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 bf bf
+UTF16:  d9c3 dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf 80 80
+UTF16:  dabc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf 80 bf
+UTF16:  dabc dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf bf 80
+UTF16:  dabf dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf bf bf
+UTF16:  dabf dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 80 80
+UTF16:  dac0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 80 bf
+UTF16:  dac0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 bf 80
+UTF16:  dac3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 bf bf
+UTF16:  dac3 dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf 80 80
+UTF16:  dbbc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf 80 bf
+UTF16:  dbbc dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf bf 80
+UTF16:  dbbf dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf bf bf
+UTF16:  dbbf dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 80 80
+UTF16:  dbc0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 80 bf
+UTF16:  dbc0 dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 bf 80
+UTF16:  dbc3 dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 bf bf
+UTF16:  dbc3 dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f 80 80
+UTF16:  dbfc dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f 80 bf
+UTF16:  dbfc dc3f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f bf 80
+UTF16:  dbff dfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f bf bf
+UTF16:  dbff dfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+
+----- Valid characters if m3 == 0 -----
+UTF8:   f5 00 00 00 f6 11 22 33 f7 44 55 66
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 12
+
+----- Invalid characters (2nd byte is invalid) -----
+UTF8:   f0 8f 80 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f0 c0 80 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 7f 80 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 90 80 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 7f 80 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 c0 80 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 7f 80 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 c0 80 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 7f 80 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 c0 80 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+
+----- Invalid characters (3rd byte is invalid) -----
+UTF8:   f0 94 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f0 94 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 84 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 84 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 84 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 84 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 84 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 84 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 84 7f 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 84 c0 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+
+----- Invalid characters (4th byte is invalid) -----
+UTF8:   f0 94 80 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f0 94 80 c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 84 80 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 84 80 c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 84 80 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 84 80 c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 84 80 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 84 80 c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 84 80 7f
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 84 80 c0
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+
+----- Invalid 2nd char AND output exhausted -----
+UTF8:   f0 00 80 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 4
+
+----- Invalid 3rd char AND output exhausted -----
+UTF8:   f0 aa 00 80
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 3
+  src address difference: 0  src len: 4
+
+----- Invalid 4th char AND output exhausted -----
+UTF8:   f0 aa aa 00
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 3
+  src address difference: 0  src len: 4
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   f0 aa aa aa f0 00 00 00
+UTF16:  d86a deaa
+  cc = 2
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 4
+
+------------- test1 ----------------
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst len: 0
+  src len: 0
+
+------------- test2.1 ----------------
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src len: 0
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   c2
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   e1
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   e1 80
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   <none>
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   f4
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f4 80
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   f4 80 80
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+
+------------- test2.2 ----------------
+UTF8:   00 01
+UTF16:  0000 0001
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 2  src len: 0
+UTF8:   c2 80 c2 81 c2
+UTF16:  0080 0081
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 1
+UTF8:   e1 80 80 e1 80 81
+UTF16:  1000 1001
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 6  src len: 0
+UTF8:   f4 80 80 80 f4 80 80 81 f4
+UTF16:  dbc0 dc00 dbc0 dc01
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 8  src len: 1
+
+------------- test3.1 ----------------
+UTF8:   00 01 02 03
+UTF16:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 4
+UTF8:   c2 80 c2 81 c2 82 c2 83
+UTF16:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 8
+UTF8:   c2 80 c2 81 c2 82 c2 83
+UTF16:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 8
+UTF8:   e1 80 80 e1 80 81 e1 80 82 e1 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 12
+UTF8:   e1 80 80 e1 80 81 e1 80 82 e1 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 12
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF16:  <none>
+  cc = 1
+  dst len: 3
+  src address difference: 0  src len: 16
+
+------------- test3.2 ----------------
+UTF8:   00 01 02 03
+UTF16:  0000 0001
+  cc = 1
+  dst address difference: 4  dst len: 0
+  src address difference: 2  src len: 2
+UTF8:   00 01 02 03 c2 80 c2 81
+UTF16:  0000 0001
+  cc = 1
+  dst address difference: 4  dst len: 1
+  src address difference: 2  src len: 6
+UTF8:   00 01 02 03 c2 80 c2 81 c2 82 c2 83
+UTF16:  0000 0001 0002
+  cc = 1
+  dst address difference: 6  dst len: 0
+  src address difference: 3  src len: 9
+UTF8:   00 01 02 03 c2 80 c2 81 c2 82 c2 83 e1 80 80 e1
+UTF16:  0000 0001 0002
+  cc = 1
+  dst address difference: 6  dst len: 1
+  src address difference: 3  src len: 13
+
+------------- test4 ----------------
+UTF8:   01 c3 80 12 e1 90 93 23 f4 80 90 8a 34 c4 8c e1 91 94 c5 8a f4 80 90 8a c5 8a e1 91 94 f4 80 90 8a e1 91 94
+UTF16:  0001 00c0 0012 1413 0023 dbc1 dc0a 0034 010c 1454 014a dbc1 dc0a 014a 1454 dbc1 dc0a 1454
+  cc = 0
+  dst address difference: 36  dst len: 1964
+  src address difference: 36  src len: 0
diff --git a/none/tests/s390x/cu12_1.vgtest b/none/tests/s390x/cu12_1.vgtest
new file mode 100644
index 0000000..f712482
--- /dev/null
+++ b/none/tests/s390x/cu12_1.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/s390x_features s390x-etf3
+prog: cu12_1
diff --git a/none/tests/s390x/cu14.c b/none/tests/s390x/cu14.c
new file mode 100644
index 0000000..44738c7
--- /dev/null
+++ b/none/tests/s390x/cu14.c
@@ -0,0 +1,595 @@
+#include <stdint.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include "opcodes.h"
+
+#ifndef M3
+#define M3 0
+#endif
+
+/* The abstracted result of an CU14 insn */
+typedef struct {
+   uint64_t addr1;  // target
+   uint64_t len1;
+   uint64_t addr2;  // source
+   uint64_t len2;
+   uint32_t cc;
+} cu14_t;
+
+/* Define various input buffers. */
+
+/* 1-byte UTF-8 character */
+uint8_t pattern1[] = {
+   0x00, 0x01, 0x02, 0x03
+};
+
+/* 2-byte UTF-8 character */
+uint8_t pattern2[] = {
+   0xc2, 0x80,
+   0xc2, 0x81,
+   0xc2, 0x82,
+   0xc2, 0x83,
+};
+
+/* 3-byte UTF-8 character */
+uint8_t pattern3[] = {
+   0xe1, 0x80, 0x80,
+   0xe1, 0x80, 0x81,
+   0xe1, 0x80, 0x82,
+   0xe1, 0x80, 0x83,
+};
+
+/* 4-byte UTF-8 character */
+uint8_t pattern4[] = {
+   0xf4, 0x80, 0x80, 0x80,
+   0xf4, 0x80, 0x80, 0x81,
+   0xf4, 0x80, 0x80, 0x82,
+   0xf4, 0x80, 0x80, 0x83,
+};
+
+
+/* Mixed bytes */
+uint8_t mixed[] = {
+   0x01,                    // 1 byte
+   0xc3, 0x80,              // 2 bytes
+   0x12,                    // 1 byte
+   0xe1, 0x90, 0x93,        // 3 bytes
+   0x23,                    // 1 byte
+   0xf4, 0x80, 0x90, 0x8a,  // 4 bytes
+   0x34,                    // 1 byte
+   0xc4, 0x8c,              // 2 bytes
+   0xe1, 0x91, 0x94,        // 3 bytes
+   0xc5, 0x8a,              // 2 bytes
+   0xf4, 0x80, 0x90, 0x8a,  // 4 bytes
+   0xc5, 0x8a,              // 2 bytes
+   0xe1, 0x91, 0x94,        // 3 bytes
+   0xf4, 0x80, 0x90, 0x8a,  // 4 bytes
+   0xe1, 0x91, 0x94,        // 3 bytes
+};
+
+/* This is the buffer for the converted bytes. */
+uint32_t buff[500];  /* Large so we con'don't have to worry about it */
+
+
+static cu14_t
+do_cu14(uint32_t *dst, uint64_t dst_len, uint8_t *src, uint64_t src_len)
+{
+   int cc = 42;
+   cu14_t regs;
+
+   /* build up the register pairs */
+   register uint8_t  *source     asm("4") = src;
+   register uint64_t  source_len asm("5") = src_len;
+   register uint32_t *dest       asm("2") = dst;
+   register uint64_t  dest_len   asm("3") = dst_len;
+
+   asm volatile(
+                CU14(M3,2,4)
+                "ipm %2\n\t"
+                "srl %2,28\n\t"
+                : "+d"(dest), "+d"(source), "=d"(cc),
+                  "+d"(source_len), "+d"(dest_len)
+                :
+                : "memory", "cc");
+
+   /* Capture register contents at end of cu14 */
+   regs.addr1 = (uint64_t)dest;
+   regs.len1  = dest_len;
+   regs.addr2 = (uint64_t)source;
+   regs.len2  = source_len;
+   regs.cc = cc;
+   
+   return regs;
+}
+
+void
+run_test(uint32_t *dst, uint64_t dst_len, uint8_t *src, uint64_t src_len)
+{
+   int i;
+   cu14_t result;
+
+   printf("UTF8:  ");
+   if (src_len == 0) 
+      printf(" <none>");
+   else {
+      for(i = 0; i < src_len; ++i)
+         printf(" %02x", src[i]);
+   }
+   printf("\n");
+      
+   result = do_cu14(dst, dst_len, src, src_len);
+
+   // Write out the converted bytes, if any
+   printf("UTF32: ");
+   if (dst_len - result.len1 == 0)
+      printf(" <none>");
+   else {
+      uint64_t num_bytes = dst_len - result.len1;
+
+      /* The number of bytes that were written must be divisible by 4 */
+      if (num_bytes % 4 != 0)
+         fprintf(stderr, "*** number of bytes is not a multiple of 4\n");
+
+      for (i = 0; i < num_bytes / 4; i++) {
+         printf(" %08x", dst[i]);
+      }
+   }
+   printf("\n");
+
+   printf("  cc = %d\n", result.cc);
+   if (dst != NULL)
+      printf("  dst address difference: %"PRId64, result.addr1 - (uint64_t)dst);
+   printf("  dst len: %"PRId64"\n", result.len1);
+
+   if (src != NULL)
+      printf("  src address difference: %"PRId64, result.addr2 - (uint64_t)src);
+   printf("  src len: %"PRId64"\n", result.len2);
+}
+
+// Test conversion of a one-byte character
+void convert_1_byte(void)
+{
+   int i;
+
+   printf("===== Conversion of a one-byte character =====\n");
+
+   printf("\n----- Valid characters -----\n");
+   uint8_t valid[] = { 
+      0x00, 0x7f,              // corner cases
+      0x01, 0x10, 0x7e, 0x5d   // misc 
+   };
+   run_test(buff, sizeof buff, valid, sizeof valid);
+
+   // As conversion stops upon encountering an invalid character, we
+   // need to test each invalid character separately, to make sure it
+   // is recognized as invalid.
+   
+   printf("\n----- Invalid characters -----\n");
+   uint8_t always_invalid[] = {
+      0x80, 0xbf,              // corner cases
+      0xf8, 0xff,              // corner cases
+      0x81, 0xbe, 0x95, 0xab   // misc
+   };
+   for (i = 0; i < sizeof always_invalid; ++i) {
+      uint8_t invalid_char[1];
+      invalid_char[0] = always_invalid[i];
+      run_test(buff, sizeof buff, invalid_char, sizeof invalid_char);
+   }
+
+   // In case of m3 == 0 we get cc=0 indicating exhaustion of source
+   printf("\n----- Invalid characters if m3 == 1 -----\n");
+   uint8_t invalid_if_m3[] = {  // contains all such invalid characters
+      0xc0, 0xc1,
+      0xf5, 0xf6, 0xf7
+   };
+   for (i = 0; i < sizeof invalid_if_m3; ++i) {
+      uint8_t invalid_char[1];
+      invalid_char[0] = invalid_if_m3[i];
+      run_test(buff, sizeof buff, invalid_char, sizeof invalid_char);
+   }
+
+   printf("\n----- 1st char valid, 2nd char invalid -----\n");
+   uint8_t valid_invalid[] = {
+      0x10, // valid
+      0xaa  // invalid
+   };
+   run_test(buff, sizeof buff, valid_invalid, sizeof valid_invalid);
+}
+
+// Test conversion of a two-byte character
+void convert_2_bytes(void)
+{
+   int i;
+
+   printf("\n===== Conversion of a two-byte character =====\n");
+
+   printf("\n----- Valid characters -----\n");
+   uint8_t valid[] = { 
+      0xc2, 0x80,             // corner case
+      0xc2, 0xbf,             // corner case
+      0xdf, 0x80,             // corner case
+      0xdf, 0xbf,             // corner case
+      0xc3, 0xbe, 0xda, 0xbc  // misc 
+   };
+   run_test(buff, sizeof buff, valid, sizeof valid);
+
+   printf("\n----- Valid characters if m3 == 0 -----\n");
+   // First char is 0xc0 or 0xc1
+   uint8_t valid_if_not_m3[] = {
+      0xc0, 0x80,
+      0xc0, 0xbf,
+      0xc1, 0x80,
+      0xc0, 0xbf
+   };
+   run_test(buff, sizeof buff, valid_if_not_m3, sizeof valid_if_not_m3);
+
+   // Test for invalid two-byte characters where the 1st byte is valid
+   // The 2nd byte is invalid if not in range 0x80..0xbf, inclusive
+
+   // As conversion stops upon encountering an invalid character, we
+   // need to test each invalid character separately, to make sure it
+   // is recognized as invalid.
+   
+   printf("\n----- Invalid characters if m3 == 1 -----\n");
+   uint8_t always_invalid[] = {
+      0xc2, 0x00,
+      0xc2, 0x7f,
+      0xc2, 0xc0,
+      0xc2, 0xff
+   };
+   for (i = 0; i < sizeof always_invalid; i += 2) {
+      uint8_t invalid_char[2];
+      invalid_char[0] = always_invalid[i];
+      invalid_char[1] = always_invalid[i+1];
+      run_test(buff, sizeof buff, invalid_char, sizeof invalid_char);
+   }
+
+   /* Nb: for a two-byte character we need not test the case where 
+      invalidity of the character (cc=2) takes precedence over exhaustion
+      of the 1st operand (cc=1). Invalidity of the character has already
+      been tested when testing the 1st byte. */
+
+   printf("\n----- 1st char valid, 2nd char invalid -----\n");
+   uint8_t valid_invalid[] = {
+      0xc3, 0x81, // valid
+      0xc4, 0x00  // invalid
+   };
+   run_test(buff, sizeof buff, valid_invalid, sizeof valid_invalid);
+}
+
+// Test conversion of a three-byte character
+void
+convert_3_bytes(void)
+{
+   int i;
+
+   printf("\n===== Conversion of a three-byte character =====\n");
+
+   /* Exhaustively test the 1st byte E0 - EF, and the interval boundaries for
+      the 2nd and 3rd bytes */
+   printf("\n----- Valid characters -----\n");
+   uint8_t e0[] = { 
+      0xe0, 0xa0, 0x80,
+      0xe0, 0xbf, 0x80,
+      0xe0, 0xa0, 0xbf,
+      0xe0, 0xbf, 0xbf,
+      0xe0, 0xaa, 0xbb,   // random  e0 .. ..
+   };
+   run_test(buff, sizeof buff, e0, sizeof e0);
+
+   uint8_t ed[] = { 
+      0xed, 0x80, 0x80,
+      0xed, 0x9f, 0x80,
+      0xed, 0x80, 0xbf,
+      0xed, 0x9f, 0xbf,
+      0xed, 0x8a, 0xbb,   // random  ed .. ..
+   };
+   run_test(buff, sizeof buff, ed, sizeof ed);
+
+   for (i = 0; i <= 0xf; ++i) {
+      uint8_t exxx_1[3] = { 0x0, 0x80, 0x80 };
+      uint8_t exxx_2[3] = { 0x0, 0xbf, 0x80 };
+      uint8_t exxx_3[3] = { 0x0, 0x80, 0xbf };
+      uint8_t exxx_4[3] = { 0x0, 0xbf, 0xbf };
+
+      if (i == 0x00) continue;   // special case e0
+      if (i == 0x0d) continue;   // special case ed
+
+      exxx_1[0] = 0xe0 | i;
+      exxx_2[0] = 0xe0 | i;
+      exxx_3[0] = 0xe0 | i;
+      exxx_4[0] = 0xe0 | i;
+      run_test(buff, sizeof buff, exxx_1, sizeof exxx_1);
+      run_test(buff, sizeof buff, exxx_2, sizeof exxx_2);
+      run_test(buff, sizeof buff, exxx_3, sizeof exxx_3);
+      run_test(buff, sizeof buff, exxx_4, sizeof exxx_4);
+   };
+
+   printf("\n----- Invalid characters (2nd byte is invalid) -----\n");
+   // Test for invalid three-byte characters where the 1st byte is valid
+   // The 2nd byte is invalid.
+
+   // As conversion stops upon encountering an invalid character, we
+   // need to test each invalid character separately, to make sure it
+   // is recognized as invalid.
+
+   e0[0] = 0xe0;  // valid
+   e0[1] = 0x9f;  // invalid  because outside [0xa0 .. 0xbf]
+   e0[2] = 0x80;  // valid
+   run_test(buff, sizeof buff, e0, sizeof e0);
+   e0[1] = 0xc0;  // invalid  because outside [0xa0 .. 0xbf]
+   run_test(buff, sizeof buff, e0, sizeof e0);
+
+   ed[0] = 0xed;  // valid
+   ed[1] = 0x7f;  // invalid  because outside [0x80 .. 0x9f]
+   ed[2] = 0x80;  // valid
+   run_test(buff, sizeof buff, ed, sizeof ed);
+   ed[1] = 0xa0;  // invalid  because outside [0x80 .. 0x9f]
+   run_test(buff, sizeof buff, ed, sizeof ed);
+
+   for (i = 0; i <= 0xf; ++i) {
+      uint8_t exxx_1[3] = { 0x0, 0x7f, 0x80 };
+      uint8_t exxx_2[3] = { 0x0, 0xc0, 0x80 };
+
+      if (i == 0x00) continue;   // special case e0
+      if (i == 0x0d) continue;   // special case ed
+
+      exxx_1[0] = 0xe0 | i;
+      exxx_2[0] = 0xe0 | i;
+      run_test(buff, sizeof buff, exxx_1, sizeof exxx_1);
+      run_test(buff, sizeof buff, exxx_2, sizeof exxx_2);
+   };
+
+   printf("\n----- Invalid characters (3rd byte is invalid) -----\n");
+   // For all 1st bytes 0xe0 .. 0xef the 3rd bytes must be in [0x80 .. 0xbf]
+   // No need to special case 0xe0 and 0xed
+   for (i = 0; i <= 0xf; ++i) {
+      uint8_t exxx_1[3] = { 0x0, 0xab, 0x7f };
+      uint8_t exxx_2[3] = { 0x0, 0xab, 0xc0 };
+
+      exxx_1[0] = 0xe0 | i;
+      exxx_2[0] = 0xe0 | i;
+      run_test(buff, sizeof buff, exxx_1, sizeof exxx_1);
+      run_test(buff, sizeof buff, exxx_2, sizeof exxx_2);
+   };
+
+   printf("\n----- Invalid 2nd char AND output exhausted -----\n");
+   /* The character is invalid in its 2nd byte AND the output buffer is 
+      exhausted (2 bytes are needed) */
+   uint8_t pat1[] = {
+      0xe0, 0x00, 0x80
+   };
+   run_test(buff, 1, pat1, 3);
+
+   printf("\n----- Invalid 3rd char AND output exhausted -----\n");
+   /* The character is invalid in its 3rd byte AND the output buffer is 
+      exhausted (2 bytes are needed) */
+   uint8_t pat2[] = {
+      0xe4, 0x84, 0x00
+   };
+   run_test(buff, 1, pat2, 3);
+
+   printf("\n----- 1st char valid, 2nd char invalid -----\n");
+   uint8_t valid_invalid[] = {
+      0xe1, 0x90, 0x90, // valid
+      0xe1, 0x00, 0x90  // invalid
+   };
+   run_test(buff, sizeof buff, valid_invalid, sizeof valid_invalid);
+}
+
+// Test conversion of a four-byte character
+void
+convert_4_bytes(void)
+{
+   int i, j;
+
+   printf("\n===== Conversion of a four-byte character =====\n");
+
+   printf("\n----- Valid characters -----\n");
+   for (i = 0; i <= 4; ++i) {
+      uint8_t valid[4];
+
+      valid[0] = 0xf0 | i;
+
+      for (j = 0; j <= 1; ++j) {
+         // Byte 2
+         if (i == 0) {
+            valid[1] = j == 0 ? 0x90 : 0xbf;    // 0xf0
+         } else if (i == 4) {
+            valid[1] = j == 0 ? 0x80 : 0x8f;    // 0xf4
+         } else {
+            valid[1] = j == 0 ? 0x80 : 0xbf;    // 0xf1 .. 0xf3
+         }
+         // Byte 3 and byte 4 have same interval 0x80 .. 0xbf
+         valid[2] = 0x80;
+         valid[3] = 0x80;
+         run_test(buff, sizeof buff, valid, sizeof valid);
+         valid[2] = 0x80;
+         valid[3] = 0xbf;
+         run_test(buff, sizeof buff, valid, sizeof valid);
+         valid[2] = 0xbf;
+         valid[3] = 0x80;
+         run_test(buff, sizeof buff, valid, sizeof valid);
+         valid[2] = 0xbf;
+         valid[3] = 0xbf;
+         run_test(buff, sizeof buff, valid, sizeof valid);
+      }
+   }
+
+   printf("\n----- Valid characters if m3 == 0 -----\n");
+   // First char is 0xf5 .. 0xf7
+   uint8_t valid_if_not_m3[] = {
+      0xf5, 0x00, 0x00, 0x00,
+      0xf6, 0x11, 0x22, 0x33,
+      0xf7, 0x44, 0x55, 0x66,
+   };
+   run_test(buff, sizeof buff, valid_if_not_m3, sizeof valid_if_not_m3);
+
+   // As conversion stops upon encountering an invalid character, we
+   // need to test each invalid character separately, to make sure it
+   // is recognized as invalid.
+
+   printf("\n----- Invalid characters (2nd byte is invalid) -----\n");
+   // Test for invalid four-byte characters where the 2nd byte is invalid.
+   // All other bytes are valid
+   uint8_t f0[4], f4[4];
+
+   f0[0] = 0xf0;  // valid
+   f0[1] = 0x8f;  // invalid  because outside [0x90 .. 0xbf]
+   f0[2] = 0x80;  // valid
+   f0[3] = 0x80;  // valid
+   run_test(buff, sizeof buff, f0, sizeof f0);
+   f0[1] = 0xc0;  // invalid  because outside [0x90 .. 0xbf]
+   run_test(buff, sizeof buff, f0, sizeof f0);
+
+   f4[0] = 0xf4;  // valid
+   f4[1] = 0x7f;  // invalid  because outside [0x80 .. 0x8f]
+   f4[2] = 0x80;  // valid
+   f4[3] = 0x80;  // valid
+   run_test(buff, sizeof buff, f4, sizeof f4);
+   f4[1] = 0x90;  // invalid  because outside [0x80 .. 0x9f]
+   run_test(buff, sizeof buff, f4, sizeof f4);
+
+   for (i = 0; i <= 0x4; ++i) {
+      uint8_t fxxx_1[4] = { 0x0, 0x7f, 0x80, 0x80 };
+      uint8_t fxxx_2[4] = { 0x0, 0xc0, 0x80, 0x80 };
+
+      if (i == 0) continue;   // special case f0
+      if (i == 4) continue;   // special case f4
+
+      fxxx_1[0] = 0xf0 | i;
+      fxxx_2[0] = 0xf0 | i;
+      run_test(buff, sizeof buff, fxxx_1, sizeof fxxx_1);
+      run_test(buff, sizeof buff, fxxx_2, sizeof fxxx_2);
+   };
+
+   printf("\n----- Invalid characters (3rd byte is invalid) -----\n");
+   // Test for invalid four-byte characters where the 3rd byte is invalid.
+   // All other bytes are valid
+   for (i = 0; i <= 0x4; ++i) {
+      uint8_t fxxx[4] = { 0x0, 0x0, 0x0, 0x80 };
+
+      fxxx[0] = 0xf0 | i;
+      fxxx[1] = (i == 0) ? 0x94 : 0x84;
+      fxxx[2] = 0x7f;
+      run_test(buff, sizeof buff, fxxx, sizeof fxxx);
+      fxxx[2] = 0xc0;
+      run_test(buff, sizeof buff, fxxx, sizeof fxxx);
+   };
+
+   printf("\n----- Invalid characters (4th byte is invalid) -----\n");
+   // Test for invalid four-byte characters where the 3rd byte is invalid.
+   // All other bytes are valid
+   for (i = 0; i <= 0x4; ++i) {
+      uint8_t fxxx[4] = { 0x0, 0x0, 0x80, 0x0 };
+
+      fxxx[0] = 0xf0 | i;
+      fxxx[1] = (i == 0) ? 0x94 : 0x84;
+      fxxx[3] = 0x7f;
+      run_test(buff, sizeof buff, fxxx, sizeof fxxx);
+      fxxx[3] = 0xc0;
+      run_test(buff, sizeof buff, fxxx, sizeof fxxx);
+   };
+
+   printf("\n----- Invalid 2nd char AND output exhausted -----\n");
+   /* The character is invalid in its 2nd byte AND the output buffer is 
+      exhausted (4 bytes are needed) */
+   uint8_t pat1[] = {
+      0xf0, 0x00, 0x80, 0x80
+   };
+   run_test(buff, 1, pat1, 4);
+
+   printf("\n----- Invalid 3rd char AND output exhausted -----\n");
+   /* The character is invalid in its 3rd byte AND the output buffer is 
+      exhausted (4 bytes are needed) */
+   uint8_t pat2[] = {
+      0xf0, 0xaa, 0x00, 0x80
+   };
+   run_test(buff, 3, pat2, 4);
+
+   printf("\n----- Invalid 4th char AND output exhausted -----\n");
+   /* The character is invalid in its 4th byte AND the output buffer is 
+      exhausted (4 bytes are needed) */
+   uint8_t pat3[] = {
+      0xf0, 0xaa, 0xaa, 0x00
+   };
+   run_test(buff, 3, pat3, 4);
+
+   printf("\n----- 1st char valid, 2nd char invalid -----\n");
+   uint8_t valid_invalid[] = {
+      0xf0, 0xaa, 0xaa, 0xaa, // valid
+      0xf0, 0x00, 0x00, 0x00  // invalid
+   };
+   run_test(buff, sizeof buff, valid_invalid, sizeof valid_invalid);
+}
+
+
+int main()
+{
+   convert_1_byte();
+   convert_2_bytes();
+   convert_3_bytes();
+   convert_4_bytes();
+
+   /* Length == 0, no memory should be read or written */
+   printf("\n------------- test1 ----------------\n");
+   run_test(NULL, 0, NULL, 0);
+
+   /* Test exhaustion of source length (source bytes are valid) */
+   printf("\n------------- test2.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+   run_test(buff, sizeof buff, NULL,     0);
+   run_test(buff, sizeof buff, pattern1, 0);
+   run_test(buff, sizeof buff, pattern2, 0);
+   run_test(buff, sizeof buff, pattern2, 1);
+   run_test(buff, sizeof buff, pattern3, 0);
+   run_test(buff, sizeof buff, pattern3, 1);
+   run_test(buff, sizeof buff, pattern3, 2);
+   run_test(buff, sizeof buff, pattern4, 0);
+   run_test(buff, sizeof buff, pattern4, 1);
+   run_test(buff, sizeof buff, pattern4, 2);
+   run_test(buff, sizeof buff, pattern4, 3);
+
+   printf("\n------------- test2.2 ----------------\n");
+   /* At least one character will be written to BUFF, i.e. loop in jitted
+      code is iterated */
+   run_test(buff, sizeof buff, pattern1, 2);
+   run_test(buff, sizeof buff, pattern2, 5);
+   run_test(buff, sizeof buff, pattern3, 6);
+   run_test(buff, sizeof buff, pattern4, 9);
+
+   /* Test exhaustion of destination length (source bytes are valid) */
+   printf("\n------------- test3.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+
+   /* Want to write 2 or 4 bytes at a time */
+   run_test(NULL, 0, pattern1, sizeof pattern1);  // 2-byte result
+   run_test(NULL, 0, pattern2, sizeof pattern2);  // 2-byte result
+   run_test(NULL, 1, pattern2, sizeof pattern2);  // 2-byte result
+   run_test(NULL, 0, pattern3, sizeof pattern3);  // 2-byte result
+   run_test(NULL, 1, pattern3, sizeof pattern3);  // 2-byte result
+   run_test(NULL, 0, pattern4, sizeof pattern4);  // 4-byte result
+   run_test(NULL, 1, pattern4, sizeof pattern4);  // 4-byte result
+   run_test(NULL, 2, pattern4, sizeof pattern4);  // 4-byte result
+   run_test(NULL, 3, pattern4, sizeof pattern4);  // 4-byte result
+
+   printf("\n------------- test3.2 ----------------\n");
+   /* At least one character will be written to BUFF, i.e. loop in jitted
+      code is iterated */
+   run_test(buff, 4, pattern1, sizeof pattern1);
+   run_test(buff, 5, pattern1, sizeof pattern2);
+   run_test(buff, 6, pattern1, sizeof pattern3);
+   run_test(buff, 7, pattern1, sizeof pattern4);
+
+   /* Convert buffer with mixed characters */
+   printf("\n------------- test4 ----------------\n");
+   run_test(buff, sizeof buff, mixed, sizeof mixed);
+
+   return 0;
+}
diff --git a/none/tests/s390x/cu14.stderr.exp b/none/tests/s390x/cu14.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cu14.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cu14.stdout.exp b/none/tests/s390x/cu14.stdout.exp
new file mode 100644
index 0000000..9cba92d
--- /dev/null
+++ b/none/tests/s390x/cu14.stdout.exp
@@ -0,0 +1,1325 @@
+===== Conversion of a one-byte character =====
+
+----- Valid characters -----
+UTF8:   00 7f 01 10 7e 5d
+UTF32:  00000000 0000007f 00000001 00000010 0000007e 0000005d
+  cc = 0
+  dst address difference: 24  dst len: 1976
+  src address difference: 6  src len: 0
+
+----- Invalid characters -----
+UTF8:   80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   bf
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f8
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   ff
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   81
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   be
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   95
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   ab
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+
+----- Invalid characters if m3 == 1 -----
+UTF8:   c0
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   c1
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f5
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f6
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f7
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   10 aa
+UTF32:  00000010
+  cc = 2
+  dst address difference: 4  dst len: 1996
+  src address difference: 1  src len: 1
+
+===== Conversion of a two-byte character =====
+
+----- Valid characters -----
+UTF8:   c2 80 c2 bf df 80 df bf c3 be da bc
+UTF32:  00000080 000000bf 000007c0 000007ff 000000fe 000006bc
+  cc = 0
+  dst address difference: 24  dst len: 1976
+  src address difference: 12  src len: 0
+
+----- Valid characters if m3 == 0 -----
+UTF8:   c0 80 c0 bf c1 80 c0 bf
+UTF32:  00000000 0000003f 00000040 0000003f
+  cc = 0
+  dst address difference: 16  dst len: 1984
+  src address difference: 8  src len: 0
+
+----- Invalid characters if m3 == 1 -----
+UTF8:   c2 00
+UTF32:  00000080
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 2  src len: 0
+UTF8:   c2 7f
+UTF32:  000000bf
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 2  src len: 0
+UTF8:   c2 c0
+UTF32:  00000080
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 2  src len: 0
+UTF8:   c2 ff
+UTF32:  000000bf
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 2  src len: 0
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   c3 81 c4 00
+UTF32:  000000c1 00000100
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 4  src len: 0
+
+===== Conversion of a three-byte character =====
+
+----- Valid characters -----
+UTF8:   e0 a0 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF32:  00000800 00000fc0 0000083f 00000fff 00000abb
+  cc = 0
+  dst address difference: 20  dst len: 1980
+  src address difference: 15  src len: 0
+UTF8:   ed 80 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF32:  0000d000 0000d7c0 0000d03f 0000d7ff 0000d2bb
+  cc = 0
+  dst address difference: 20  dst len: 1980
+  src address difference: 15  src len: 0
+UTF8:   e1 80 80
+UTF32:  00001000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e1 bf 80
+UTF32:  00001fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e1 80 bf
+UTF32:  0000103f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e1 bf bf
+UTF32:  00001fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 80 80
+UTF32:  00002000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 bf 80
+UTF32:  00002fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 80 bf
+UTF32:  0000203f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 bf bf
+UTF32:  00002fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 80 80
+UTF32:  00003000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 bf 80
+UTF32:  00003fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 80 bf
+UTF32:  0000303f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 bf bf
+UTF32:  00003fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 80 80
+UTF32:  00004000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 bf 80
+UTF32:  00004fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 80 bf
+UTF32:  0000403f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 bf bf
+UTF32:  00004fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 80 80
+UTF32:  00005000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 bf 80
+UTF32:  00005fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 80 bf
+UTF32:  0000503f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 bf bf
+UTF32:  00005fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 80 80
+UTF32:  00006000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 bf 80
+UTF32:  00006fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 80 bf
+UTF32:  0000603f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 bf bf
+UTF32:  00006fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 80 80
+UTF32:  00007000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 bf 80
+UTF32:  00007fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 80 bf
+UTF32:  0000703f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 bf bf
+UTF32:  00007fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 80 80
+UTF32:  00008000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 bf 80
+UTF32:  00008fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 80 bf
+UTF32:  0000803f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 bf bf
+UTF32:  00008fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 80 80
+UTF32:  00009000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 bf 80
+UTF32:  00009fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 80 bf
+UTF32:  0000903f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 bf bf
+UTF32:  00009fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea 80 80
+UTF32:  0000a000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea bf 80
+UTF32:  0000afc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea 80 bf
+UTF32:  0000a03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea bf bf
+UTF32:  0000afff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb 80 80
+UTF32:  0000b000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb bf 80
+UTF32:  0000bfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb 80 bf
+UTF32:  0000b03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb bf bf
+UTF32:  0000bfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec 80 80
+UTF32:  0000c000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec bf 80
+UTF32:  0000cfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec 80 bf
+UTF32:  0000c03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec bf bf
+UTF32:  0000cfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee 80 80
+UTF32:  0000e000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee bf 80
+UTF32:  0000efc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee 80 bf
+UTF32:  0000e03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee bf bf
+UTF32:  0000efff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef 80 80
+UTF32:  0000f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef bf 80
+UTF32:  0000ffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef 80 bf
+UTF32:  0000f03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef bf bf
+UTF32:  0000ffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+
+----- Invalid characters (2nd byte is invalid) -----
+UTF8:   e0 9f 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF32:  000007c0 00000fc0 0000083f 00000fff 00000abb
+  cc = 0
+  dst address difference: 20  dst len: 1980
+  src address difference: 15  src len: 0
+UTF8:   e0 c0 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF32:  00000000 00000fc0 0000083f 00000fff 00000abb
+  cc = 0
+  dst address difference: 20  dst len: 1980
+  src address difference: 15  src len: 0
+UTF8:   ed 7f 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF32:  0000dfc0 0000d7c0 0000d03f 0000d7ff 0000d2bb
+  cc = 0
+  dst address difference: 20  dst len: 1980
+  src address difference: 15  src len: 0
+UTF8:   ed a0 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF32:  0000d800 0000d7c0 0000d03f 0000d7ff 0000d2bb
+  cc = 0
+  dst address difference: 20  dst len: 1980
+  src address difference: 15  src len: 0
+UTF8:   e1 7f 80
+UTF32:  00001fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e1 c0 80
+UTF32:  00001000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 7f 80
+UTF32:  00002fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 c0 80
+UTF32:  00002000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 7f 80
+UTF32:  00003fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 c0 80
+UTF32:  00003000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 7f 80
+UTF32:  00004fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 c0 80
+UTF32:  00004000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 7f 80
+UTF32:  00005fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 c0 80
+UTF32:  00005000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 7f 80
+UTF32:  00006fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 c0 80
+UTF32:  00006000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 7f 80
+UTF32:  00007fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 c0 80
+UTF32:  00007000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 7f 80
+UTF32:  00008fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 c0 80
+UTF32:  00008000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 7f 80
+UTF32:  00009fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 c0 80
+UTF32:  00009000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea 7f 80
+UTF32:  0000afc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea c0 80
+UTF32:  0000a000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb 7f 80
+UTF32:  0000bfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb c0 80
+UTF32:  0000b000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec 7f 80
+UTF32:  0000cfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec c0 80
+UTF32:  0000c000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee 7f 80
+UTF32:  0000efc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee c0 80
+UTF32:  0000e000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef 7f 80
+UTF32:  0000ffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef c0 80
+UTF32:  0000f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+
+----- Invalid characters (3rd byte is invalid) -----
+UTF8:   e0 ab 7f
+UTF32:  00000aff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e0 ab c0
+UTF32:  00000ac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e1 ab 7f
+UTF32:  00001aff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e1 ab c0
+UTF32:  00001ac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 ab 7f
+UTF32:  00002aff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 ab c0
+UTF32:  00002ac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 ab 7f
+UTF32:  00003aff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 ab c0
+UTF32:  00003ac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 ab 7f
+UTF32:  00004aff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 ab c0
+UTF32:  00004ac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 ab 7f
+UTF32:  00005aff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 ab c0
+UTF32:  00005ac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 ab 7f
+UTF32:  00006aff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 ab c0
+UTF32:  00006ac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 ab 7f
+UTF32:  00007aff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 ab c0
+UTF32:  00007ac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 ab 7f
+UTF32:  00008aff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 ab c0
+UTF32:  00008ac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 ab 7f
+UTF32:  00009aff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 ab c0
+UTF32:  00009ac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea ab 7f
+UTF32:  0000aaff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea ab c0
+UTF32:  0000aac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb ab 7f
+UTF32:  0000baff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb ab c0
+UTF32:  0000bac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec ab 7f
+UTF32:  0000caff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec ab c0
+UTF32:  0000cac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ed ab 7f
+UTF32:  0000daff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ed ab c0
+UTF32:  0000dac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee ab 7f
+UTF32:  0000eaff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee ab c0
+UTF32:  0000eac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef ab 7f
+UTF32:  0000faff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef ab c0
+UTF32:  0000fac0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+
+----- Invalid 2nd char AND output exhausted -----
+UTF8:   e0 00 80
+UTF32:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 3
+
+----- Invalid 3rd char AND output exhausted -----
+UTF8:   e4 84 00
+UTF32:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 3
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   e1 90 90 e1 00 90
+UTF32:  00001410 00001010
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 6  src len: 0
+
+===== Conversion of a four-byte character =====
+
+----- Valid characters -----
+UTF8:   f0 90 80 80
+UTF32:  00010000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 80 bf
+UTF32:  0001003f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 bf 80
+UTF32:  00010fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 bf bf
+UTF32:  00010fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf 80 80
+UTF32:  0003f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf 80 bf
+UTF32:  0003f03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf bf 80
+UTF32:  0003ffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf bf bf
+UTF32:  0003ffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 80 80
+UTF32:  00040000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 80 bf
+UTF32:  0004003f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 bf 80
+UTF32:  00040fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 bf bf
+UTF32:  00040fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf 80 80
+UTF32:  0007f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf 80 bf
+UTF32:  0007f03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf bf 80
+UTF32:  0007ffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf bf bf
+UTF32:  0007ffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 80 80
+UTF32:  00080000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 80 bf
+UTF32:  0008003f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 bf 80
+UTF32:  00080fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 bf bf
+UTF32:  00080fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf 80 80
+UTF32:  000bf000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf 80 bf
+UTF32:  000bf03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf bf 80
+UTF32:  000bffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf bf bf
+UTF32:  000bffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 80 80
+UTF32:  000c0000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 80 bf
+UTF32:  000c003f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 bf 80
+UTF32:  000c0fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 bf bf
+UTF32:  000c0fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf 80 80
+UTF32:  000ff000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf 80 bf
+UTF32:  000ff03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf bf 80
+UTF32:  000fffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf bf bf
+UTF32:  000fffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 80 80
+UTF32:  00100000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 80 bf
+UTF32:  0010003f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 bf 80
+UTF32:  00100fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 bf bf
+UTF32:  00100fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f 80 80
+UTF32:  0010f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f 80 bf
+UTF32:  0010f03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f bf 80
+UTF32:  0010ffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f bf bf
+UTF32:  0010ffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+
+----- Valid characters if m3 == 0 -----
+UTF8:   f5 00 00 00 f6 11 22 33 f7 44 55 66
+UTF32:  00140000 001918b3 001c4566
+  cc = 0
+  dst address difference: 12  dst len: 1988
+  src address difference: 12  src len: 0
+
+----- Invalid characters (2nd byte is invalid) -----
+UTF8:   f0 8f 80 80
+UTF32:  0000f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 c0 80 80
+UTF32:  00000000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 7f 80 80
+UTF32:  0013f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 90 80 80
+UTF32:  00110000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 7f 80 80
+UTF32:  0007f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 c0 80 80
+UTF32:  00040000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 7f 80 80
+UTF32:  000bf000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 c0 80 80
+UTF32:  00080000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 7f 80 80
+UTF32:  000ff000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 c0 80 80
+UTF32:  000c0000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+
+----- Invalid characters (3rd byte is invalid) -----
+UTF8:   f0 94 7f 80
+UTF32:  00014fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 94 c0 80
+UTF32:  00014000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 84 7f 80
+UTF32:  00044fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 84 c0 80
+UTF32:  00044000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 84 7f 80
+UTF32:  00084fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 84 c0 80
+UTF32:  00084000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 84 7f 80
+UTF32:  000c4fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 84 c0 80
+UTF32:  000c4000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 84 7f 80
+UTF32:  00104fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 84 c0 80
+UTF32:  00104000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+
+----- Invalid characters (4th byte is invalid) -----
+UTF8:   f0 94 80 7f
+UTF32:  0001403f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 94 80 c0
+UTF32:  00014000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 84 80 7f
+UTF32:  0004403f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 84 80 c0
+UTF32:  00044000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 84 80 7f
+UTF32:  0008403f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 84 80 c0
+UTF32:  00084000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 84 80 7f
+UTF32:  000c403f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 84 80 c0
+UTF32:  000c4000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 84 80 7f
+UTF32:  0010403f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 84 80 c0
+UTF32:  00104000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+
+----- Invalid 2nd char AND output exhausted -----
+UTF8:   f0 00 80 80
+UTF32:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 4
+
+----- Invalid 3rd char AND output exhausted -----
+UTF8:   f0 aa 00 80
+UTF32:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 3
+  src address difference: 0  src len: 4
+
+----- Invalid 4th char AND output exhausted -----
+UTF8:   f0 aa aa 00
+UTF32:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 3
+  src address difference: 0  src len: 4
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   f0 aa aa aa f0 00 00 00
+UTF32:  0002aaaa 00000000
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 8  src len: 0
+
+------------- test1 ----------------
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst len: 0
+  src len: 0
+
+------------- test2.1 ----------------
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src len: 0
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   c2
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   e1
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   e1 80
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   f4
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f4 80
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   f4 80 80
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+
+------------- test2.2 ----------------
+UTF8:   00 01
+UTF32:  00000000 00000001
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 2  src len: 0
+UTF8:   c2 80 c2 81 c2
+UTF32:  00000080 00000081
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 4  src len: 1
+UTF8:   e1 80 80 e1 80 81
+UTF32:  00001000 00001001
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 6  src len: 0
+UTF8:   f4 80 80 80 f4 80 80 81 f4
+UTF32:  00100000 00100001
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 8  src len: 1
+
+------------- test3.1 ----------------
+UTF8:   00 01 02 03
+UTF32:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 4
+UTF8:   c2 80 c2 81 c2 82 c2 83
+UTF32:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 8
+UTF8:   c2 80 c2 81 c2 82 c2 83
+UTF32:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 8
+UTF8:   e1 80 80 e1 80 81 e1 80 82 e1 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 12
+UTF8:   e1 80 80 e1 80 81 e1 80 82 e1 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 12
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 3
+  src address difference: 0  src len: 16
+
+------------- test3.2 ----------------
+UTF8:   00 01 02 03
+UTF32:  00000000
+  cc = 1
+  dst address difference: 4  dst len: 0
+  src address difference: 1  src len: 3
+UTF8:   00 01 02 03 c2 80 c2 81
+UTF32:  00000000
+  cc = 1
+  dst address difference: 4  dst len: 1
+  src address difference: 1  src len: 7
+UTF8:   00 01 02 03 c2 80 c2 81 c2 82 c2 83
+UTF32:  00000000
+  cc = 1
+  dst address difference: 4  dst len: 2
+  src address difference: 1  src len: 11
+UTF8:   00 01 02 03 c2 80 c2 81 c2 82 c2 83 e1 80 80 e1
+UTF32:  00000000
+  cc = 1
+  dst address difference: 4  dst len: 3
+  src address difference: 1  src len: 15
+
+------------- test4 ----------------
+UTF8:   01 c3 80 12 e1 90 93 23 f4 80 90 8a 34 c4 8c e1 91 94 c5 8a f4 80 90 8a c5 8a e1 91 94 f4 80 90 8a e1 91 94
+UTF32:  00000001 000000c0 00000012 00001413 00000023 0010040a 00000034 0000010c 00001454 0000014a 0010040a 0000014a 00001454 0010040a 00001454
+  cc = 0
+  dst address difference: 60  dst len: 1940
+  src address difference: 36  src len: 0
diff --git a/none/tests/s390x/cu14.vgtest b/none/tests/s390x/cu14.vgtest
new file mode 100644
index 0000000..5c71bcb
--- /dev/null
+++ b/none/tests/s390x/cu14.vgtest
@@ -0,0 +1 @@
+prog: cu14
diff --git a/none/tests/s390x/cu14_1.c b/none/tests/s390x/cu14_1.c
new file mode 120000
index 0000000..d0d84e8
--- /dev/null
+++ b/none/tests/s390x/cu14_1.c
@@ -0,0 +1 @@
+cu14.c
\ No newline at end of file
diff --git a/none/tests/s390x/cu14_1.stderr.exp b/none/tests/s390x/cu14_1.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cu14_1.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cu14_1.stdout.exp b/none/tests/s390x/cu14_1.stdout.exp
new file mode 100644
index 0000000..a685c0e
--- /dev/null
+++ b/none/tests/s390x/cu14_1.stdout.exp
@@ -0,0 +1,1325 @@
+===== Conversion of a one-byte character =====
+
+----- Valid characters -----
+UTF8:   00 7f 01 10 7e 5d
+UTF32:  00000000 0000007f 00000001 00000010 0000007e 0000005d
+  cc = 0
+  dst address difference: 24  dst len: 1976
+  src address difference: 6  src len: 0
+
+----- Invalid characters -----
+UTF8:   80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   bf
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f8
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   ff
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   81
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   be
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   95
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   ab
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+
+----- Invalid characters if m3 == 1 -----
+UTF8:   c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   c1
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f5
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f6
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f7
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   10 aa
+UTF32:  00000010
+  cc = 2
+  dst address difference: 4  dst len: 1996
+  src address difference: 1  src len: 1
+
+===== Conversion of a two-byte character =====
+
+----- Valid characters -----
+UTF8:   c2 80 c2 bf df 80 df bf c3 be da bc
+UTF32:  00000080 000000bf 000007c0 000007ff 000000fe 000006bc
+  cc = 0
+  dst address difference: 24  dst len: 1976
+  src address difference: 12  src len: 0
+
+----- Valid characters if m3 == 0 -----
+UTF8:   c0 80 c0 bf c1 80 c0 bf
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 8
+
+----- Invalid characters if m3 == 1 -----
+UTF8:   c2 00
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   c2 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   c2 c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   c2 ff
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   c3 81 c4 00
+UTF32:  000000c1
+  cc = 2
+  dst address difference: 4  dst len: 1996
+  src address difference: 2  src len: 2
+
+===== Conversion of a three-byte character =====
+
+----- Valid characters -----
+UTF8:   e0 a0 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF32:  00000800 00000fc0 0000083f 00000fff 00000abb
+  cc = 0
+  dst address difference: 20  dst len: 1980
+  src address difference: 15  src len: 0
+UTF8:   ed 80 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF32:  0000d000 0000d7c0 0000d03f 0000d7ff 0000d2bb
+  cc = 0
+  dst address difference: 20  dst len: 1980
+  src address difference: 15  src len: 0
+UTF8:   e1 80 80
+UTF32:  00001000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e1 bf 80
+UTF32:  00001fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e1 80 bf
+UTF32:  0000103f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e1 bf bf
+UTF32:  00001fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 80 80
+UTF32:  00002000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 bf 80
+UTF32:  00002fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 80 bf
+UTF32:  0000203f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e2 bf bf
+UTF32:  00002fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 80 80
+UTF32:  00003000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 bf 80
+UTF32:  00003fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 80 bf
+UTF32:  0000303f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e3 bf bf
+UTF32:  00003fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 80 80
+UTF32:  00004000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 bf 80
+UTF32:  00004fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 80 bf
+UTF32:  0000403f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e4 bf bf
+UTF32:  00004fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 80 80
+UTF32:  00005000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 bf 80
+UTF32:  00005fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 80 bf
+UTF32:  0000503f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e5 bf bf
+UTF32:  00005fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 80 80
+UTF32:  00006000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 bf 80
+UTF32:  00006fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 80 bf
+UTF32:  0000603f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e6 bf bf
+UTF32:  00006fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 80 80
+UTF32:  00007000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 bf 80
+UTF32:  00007fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 80 bf
+UTF32:  0000703f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e7 bf bf
+UTF32:  00007fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 80 80
+UTF32:  00008000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 bf 80
+UTF32:  00008fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 80 bf
+UTF32:  0000803f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e8 bf bf
+UTF32:  00008fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 80 80
+UTF32:  00009000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 bf 80
+UTF32:  00009fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 80 bf
+UTF32:  0000903f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   e9 bf bf
+UTF32:  00009fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea 80 80
+UTF32:  0000a000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea bf 80
+UTF32:  0000afc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea 80 bf
+UTF32:  0000a03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ea bf bf
+UTF32:  0000afff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb 80 80
+UTF32:  0000b000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb bf 80
+UTF32:  0000bfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb 80 bf
+UTF32:  0000b03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   eb bf bf
+UTF32:  0000bfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec 80 80
+UTF32:  0000c000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec bf 80
+UTF32:  0000cfc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec 80 bf
+UTF32:  0000c03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ec bf bf
+UTF32:  0000cfff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee 80 80
+UTF32:  0000e000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee bf 80
+UTF32:  0000efc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee 80 bf
+UTF32:  0000e03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ee bf bf
+UTF32:  0000efff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef 80 80
+UTF32:  0000f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef bf 80
+UTF32:  0000ffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef 80 bf
+UTF32:  0000f03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+UTF8:   ef bf bf
+UTF32:  0000ffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 0
+
+----- Invalid characters (2nd byte is invalid) -----
+UTF8:   e0 9f 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 15
+UTF8:   e0 c0 80 e0 bf 80 e0 a0 bf e0 bf bf e0 aa bb
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 15
+UTF8:   ed 7f 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 15
+UTF8:   ed a0 80 ed 9f 80 ed 80 bf ed 9f bf ed 8a bb
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 15
+UTF8:   e1 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e1 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e2 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e2 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e3 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e3 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e4 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e4 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e5 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e5 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e6 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e6 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e7 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e7 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e8 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e8 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e9 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e9 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ea 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ea c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   eb 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   eb c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ec 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ec c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ee 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ee c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ef 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ef c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+
+----- Invalid characters (3rd byte is invalid) -----
+UTF8:   e0 ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e0 ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e1 ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e1 ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e2 ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e2 ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e3 ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e3 ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e4 ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e4 ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e5 ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e5 ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e6 ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e6 ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e7 ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e7 ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e8 ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e8 ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e9 ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   e9 ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ea ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ea ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   eb ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   eb ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ec ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ec ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ed ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ed ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ee ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ee ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ef ab 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+UTF8:   ef ab c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+
+----- Invalid 2nd char AND output exhausted -----
+UTF8:   e0 00 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 3
+
+----- Invalid 3rd char AND output exhausted -----
+UTF8:   e4 84 00
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 3
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   e1 90 90 e1 00 90
+UTF32:  00001410
+  cc = 2
+  dst address difference: 4  dst len: 1996
+  src address difference: 3  src len: 3
+
+===== Conversion of a four-byte character =====
+
+----- Valid characters -----
+UTF8:   f0 90 80 80
+UTF32:  00010000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 80 bf
+UTF32:  0001003f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 bf 80
+UTF32:  00010fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 90 bf bf
+UTF32:  00010fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf 80 80
+UTF32:  0003f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf 80 bf
+UTF32:  0003f03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf bf 80
+UTF32:  0003ffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f0 bf bf bf
+UTF32:  0003ffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 80 80
+UTF32:  00040000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 80 bf
+UTF32:  0004003f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 bf 80
+UTF32:  00040fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 80 bf bf
+UTF32:  00040fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf 80 80
+UTF32:  0007f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf 80 bf
+UTF32:  0007f03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf bf 80
+UTF32:  0007ffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f1 bf bf bf
+UTF32:  0007ffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 80 80
+UTF32:  00080000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 80 bf
+UTF32:  0008003f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 bf 80
+UTF32:  00080fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 80 bf bf
+UTF32:  00080fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf 80 80
+UTF32:  000bf000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf 80 bf
+UTF32:  000bf03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf bf 80
+UTF32:  000bffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f2 bf bf bf
+UTF32:  000bffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 80 80
+UTF32:  000c0000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 80 bf
+UTF32:  000c003f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 bf 80
+UTF32:  000c0fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 80 bf bf
+UTF32:  000c0fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf 80 80
+UTF32:  000ff000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf 80 bf
+UTF32:  000ff03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf bf 80
+UTF32:  000fffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f3 bf bf bf
+UTF32:  000fffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 80 80
+UTF32:  00100000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 80 bf
+UTF32:  0010003f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 bf 80
+UTF32:  00100fc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 80 bf bf
+UTF32:  00100fff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f 80 80
+UTF32:  0010f000
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f 80 bf
+UTF32:  0010f03f
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f bf 80
+UTF32:  0010ffc0
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF8:   f4 8f bf bf
+UTF32:  0010ffff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+
+----- Valid characters if m3 == 0 -----
+UTF8:   f5 00 00 00 f6 11 22 33 f7 44 55 66
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 12
+
+----- Invalid characters (2nd byte is invalid) -----
+UTF8:   f0 8f 80 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f0 c0 80 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 7f 80 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 90 80 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 7f 80 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 c0 80 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 7f 80 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 c0 80 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 7f 80 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 c0 80 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+
+----- Invalid characters (3rd byte is invalid) -----
+UTF8:   f0 94 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f0 94 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 84 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 84 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 84 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 84 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 84 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 84 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 84 7f 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 84 c0 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+
+----- Invalid characters (4th byte is invalid) -----
+UTF8:   f0 94 80 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f0 94 80 c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 84 80 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f1 84 80 c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 84 80 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f2 84 80 c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 84 80 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f3 84 80 c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 84 80 7f
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF8:   f4 84 80 c0
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+
+----- Invalid 2nd char AND output exhausted -----
+UTF8:   f0 00 80 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1
+  src address difference: 0  src len: 4
+
+----- Invalid 3rd char AND output exhausted -----
+UTF8:   f0 aa 00 80
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 3
+  src address difference: 0  src len: 4
+
+----- Invalid 4th char AND output exhausted -----
+UTF8:   f0 aa aa 00
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 3
+  src address difference: 0  src len: 4
+
+----- 1st char valid, 2nd char invalid -----
+UTF8:   f0 aa aa aa f0 00 00 00
+UTF32:  0002aaaa
+  cc = 2
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 4
+
+------------- test1 ----------------
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst len: 0
+  src len: 0
+
+------------- test2.1 ----------------
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src len: 0
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   c2
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   e1
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   e1 80
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   <none>
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF8:   f4
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF8:   f4 80
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF8:   f4 80 80
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+
+------------- test2.2 ----------------
+UTF8:   00 01
+UTF32:  00000000 00000001
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 2  src len: 0
+UTF8:   c2 80 c2 81 c2
+UTF32:  00000080 00000081
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 4  src len: 1
+UTF8:   e1 80 80 e1 80 81
+UTF32:  00001000 00001001
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 6  src len: 0
+UTF8:   f4 80 80 80 f4 80 80 81 f4
+UTF32:  00100000 00100001
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 8  src len: 1
+
+------------- test3.1 ----------------
+UTF8:   00 01 02 03
+UTF32:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 4
+UTF8:   c2 80 c2 81 c2 82 c2 83
+UTF32:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 8
+UTF8:   c2 80 c2 81 c2 82 c2 83
+UTF32:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 8
+UTF8:   e1 80 80 e1 80 81 e1 80 82 e1 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 12
+UTF8:   e1 80 80 e1 80 81 e1 80 82 e1 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 12
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 16
+UTF8:   f4 80 80 80 f4 80 80 81 f4 80 80 82 f4 80 80 83
+UTF32:  <none>
+  cc = 1
+  dst len: 3
+  src address difference: 0  src len: 16
+
+------------- test3.2 ----------------
+UTF8:   00 01 02 03
+UTF32:  00000000
+  cc = 1
+  dst address difference: 4  dst len: 0
+  src address difference: 1  src len: 3
+UTF8:   00 01 02 03 c2 80 c2 81
+UTF32:  00000000
+  cc = 1
+  dst address difference: 4  dst len: 1
+  src address difference: 1  src len: 7
+UTF8:   00 01 02 03 c2 80 c2 81 c2 82 c2 83
+UTF32:  00000000
+  cc = 1
+  dst address difference: 4  dst len: 2
+  src address difference: 1  src len: 11
+UTF8:   00 01 02 03 c2 80 c2 81 c2 82 c2 83 e1 80 80 e1
+UTF32:  00000000
+  cc = 1
+  dst address difference: 4  dst len: 3
+  src address difference: 1  src len: 15
+
+------------- test4 ----------------
+UTF8:   01 c3 80 12 e1 90 93 23 f4 80 90 8a 34 c4 8c e1 91 94 c5 8a f4 80 90 8a c5 8a e1 91 94 f4 80 90 8a e1 91 94
+UTF32:  00000001 000000c0 00000012 00001413 00000023 0010040a 00000034 0000010c 00001454 0000014a 0010040a 0000014a 00001454 0010040a 00001454
+  cc = 0
+  dst address difference: 60  dst len: 1940
+  src address difference: 36  src len: 0
diff --git a/none/tests/s390x/cu14_1.vgtest b/none/tests/s390x/cu14_1.vgtest
new file mode 100644
index 0000000..330a2cf
--- /dev/null
+++ b/none/tests/s390x/cu14_1.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/s390x_features s390x-etf3
+prog: cu14_1
diff --git a/none/tests/s390x/cu21.c b/none/tests/s390x/cu21.c
new file mode 100644
index 0000000..d2d1f11
--- /dev/null
+++ b/none/tests/s390x/cu21.c
@@ -0,0 +1,270 @@
+#include <stdint.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include "opcodes.h"
+
+#ifndef M3
+#define M3 0
+#endif
+
+/* The abstracted result of an CU21 insn */
+typedef struct {
+   uint64_t addr1;  // target
+   uint64_t len1;
+   uint64_t addr2;  // source
+   uint64_t len2;
+   uint32_t cc;
+} cu21_t;
+
+/* Define various input buffers. */
+
+/* U+0000 to U+007f:  Result is 1 byte for each uint16_t */
+uint16_t pattern1[] = {
+   0x0000, 0x007f,    /* corner cases */
+   0x0047, 0x0056, 0x0045, 0x0021, 0x007b, 0x003a /* misc */
+};
+
+/* U+0080 to U+07ff:  Result is 2 bytes for each uint16_t */
+uint16_t pattern2[] = {
+   0x0080, 0x07ff,    /* corner cases */
+   0x07df, 0x008f, 0x0100, 0x017f, 0x052f, 0x0600, 0x06ff /* misc */
+};
+
+/* U+0800 to U+d7ff:  Result is 3 bytes for each uint16_t
+   U+dc00 to U+ffff:  Result is 3 bytes for each uint16_t */
+uint16_t pattern3[] = {
+   0x0800, 0xd7ff,    /* corner cases */
+   0xdc00, 0xffff,    /* corner cases */
+   0x083f, 0x1a21, 0x1b10, 0x2200, 0x225e, 0x22c9, 0xe001  /* misc */
+};
+
+/* U+d800 to U+dbff:  Result is 4 bytes for each uint16_t pair */
+uint16_t pattern4[] = {
+   0xd800, 0xdc00,    /* left  corner case */
+   0xdbff, 0xdfff,    /* right corner case */
+   0xdada, 0xdddd, 0xdeaf, 0xdcdc  /* misc */
+};
+
+/* Invalid low surrogate */
+uint16_t invalid[] = { 0xd801, 0x0098 };
+
+/* Mixed bytes */
+uint16_t mixed[] = {
+   0x0078 /* 1 byte */,
+   0x0200 /* 2 bytes */,
+   0xffff /* 3 bytes */,
+   0xd800, 0xdc01 /* 4 bytes */
+};
+
+/* This is the buffer for the converted bytes. */
+uint8_t buff[1000];  /* Large so we con'don't have to worry about it */
+
+void write_and_check(uint16_t *, unsigned, unsigned);
+
+
+static cu21_t
+do_cu21(uint8_t *dst, uint64_t dst_len, uint16_t *src, uint64_t src_len)
+{
+   int cc = 42;
+   cu21_t regs;
+
+   /* build up the register pairs */
+   register uint16_t *source     asm("4") = src;
+   register uint64_t  source_len asm("5") = src_len;
+   register uint8_t  *dest       asm("2") = dst;
+   register uint64_t  dest_len   asm("3") = dst_len;
+
+   asm volatile(
+                CU21(M3,2,4)
+                "ipm %2\n\t"
+                "srl %2,28\n\t"
+                : "+d"(dest), "+d"(source), "=d"(cc),
+                  "+d"(source_len), "+d"(dest_len)
+                :
+                : "memory", "cc");
+
+   /* Capture register contents at end of cu21 */
+   regs.addr1 = (uint64_t)dest;
+   regs.len1  = dest_len;
+   regs.addr2 = (uint64_t)source;
+   regs.len2  = source_len;
+   regs.cc = cc;
+   
+   return regs;
+}
+
+void
+run_test(uint8_t *dst, uint64_t dst_len, uint16_t *src, uint64_t src_len)
+{
+   int i;
+   cu21_t result;
+
+   result = do_cu21(dst, dst_len, src, src_len);
+
+   // Write out the converted bytes, if any
+   printf("UTF8: ");
+   if (dst_len - result.len1 == 0)
+      printf(" <none>");
+   else
+      for (i = 0; i < dst_len - result.len1; i++) {
+         printf(" %02x", dst[i]);
+      }
+   printf("\n");
+
+   printf("  cc = %d\n", result.cc);
+   if (dst != NULL)
+      printf("  dst address difference: %"PRId64, result.addr1 - (uint64_t)dst);
+   printf("  dst len: %"PRId64"\n", result.len1);
+
+   if (src != NULL)
+      printf("  src address difference: %"PRId64, result.addr2 - (uint64_t)src);
+   printf("  src len: %"PRId64"\n", result.len2);
+}
+
+int main()
+{
+   /* Length == 0, no memory should be read or written */
+   printf("\n------------- test1 ----------------\n");
+   run_test(NULL, 0, NULL, 0);
+
+   /* Test exhaustion of source length (source bytes are valid) */
+   printf("\n------------- test2.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+   run_test(buff, sizeof buff, NULL,     1);
+   run_test(buff, sizeof buff, pattern1, 1);
+   run_test(buff, sizeof buff, pattern2, 1);
+   run_test(buff, sizeof buff, pattern3, 1);
+   run_test(buff, sizeof buff, pattern4, 1);
+   run_test(buff, sizeof buff, pattern4, 2);
+   run_test(buff, sizeof buff, pattern4, 3);
+
+   printf("\n------------- test2.2 ----------------\n");
+   /* At least one character will be written to BUFF, i.e. loop in jitted
+      code is iterated */
+   run_test(buff, sizeof buff, pattern1, 3);
+   run_test(buff, sizeof buff, pattern2, 5);
+   run_test(buff, sizeof buff, pattern3, 7);
+   run_test(buff, sizeof buff, pattern4, 9);
+   run_test(buff, sizeof buff, pattern4, 10);
+   run_test(buff, sizeof buff, pattern4, 11);
+
+   /* Test exhaustion of destination length (source bytes are valid) */
+   printf("\n------------- test3.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+
+   /* Want to write a single byte */
+   run_test(NULL, 0, pattern1, sizeof pattern1);
+
+   /* Want to write two bytes */
+   run_test(NULL, 0, pattern2, sizeof pattern2);
+   run_test(NULL, 1, pattern2, sizeof pattern2);
+
+   /* Want to write three bytes */
+   run_test(NULL, 0, pattern3, sizeof pattern3);
+   run_test(NULL, 1, pattern3, sizeof pattern3);
+   run_test(NULL, 2, pattern3, sizeof pattern3);
+
+   /* Want to write four bytes */
+   run_test(NULL, 0, pattern4, sizeof pattern4);
+   run_test(NULL, 1, pattern4, sizeof pattern4);
+   run_test(NULL, 2, pattern4, sizeof pattern4);
+   run_test(NULL, 3, pattern4, sizeof pattern4);
+
+   printf("\n------------- test3.2 ----------------\n");
+   /* At least one character will be written to BUFF, i.e. loop in jitted
+      code is iterated */
+   run_test(buff, 3, pattern1, sizeof pattern1);
+
+   run_test(buff, 5, pattern2, sizeof pattern2);
+
+   run_test(buff, 7, pattern3, sizeof pattern3);
+   run_test(buff, 8, pattern3, sizeof pattern3);
+
+   run_test(buff,  9, pattern4, sizeof pattern4);
+   run_test(buff, 10, pattern4, sizeof pattern4);
+   run_test(buff, 11, pattern4, sizeof pattern4);
+
+   /* When both operands are exhausted, cc=0 takes precedence.
+      (test1 tests this for len == 0) */
+   printf("\n------------- test4 ----------------\n");
+   run_test(buff, 6, pattern1, 6);
+
+   /* Input has invalid low surrogate. */
+   printf("\n------------- test5 ----------------\n");
+   run_test(buff, sizeof buff, invalid, sizeof invalid);
+   run_test(buff, 0, invalid, sizeof invalid);
+
+   /* Convert all pattern buffers */
+   printf("\n------------- test6 ----------------\n");
+   run_test(buff, sizeof buff, pattern1, sizeof pattern1);
+   run_test(buff, sizeof buff, pattern2, sizeof pattern2);
+   run_test(buff, sizeof buff, pattern3, sizeof pattern3);
+   run_test(buff, sizeof buff, pattern4, sizeof pattern4);
+   run_test(buff, sizeof buff, mixed,    sizeof mixed);
+
+   /* Make sure we only write the exact number of bytes (and not more) */
+   uint16_t pat[2];
+
+   /* Write 1 byte */
+   printf("\n------------- test7.1 ----------------\n");
+   pat[0] = 0x10;
+   write_and_check(pat, 2, 1);
+
+   /* Write 2 bytes */
+   printf("\n------------- test7.2 ----------------\n");
+   pat[0] = 0x8f;
+   write_and_check(pat, 2, 2);
+
+   /* Write 3 bytes */
+   printf("\n------------- test7.3 ----------------\n");
+   pat[0] = 0x842;
+   write_and_check(pat, 2, 3);
+
+   /* Write 4 bytes */
+   printf("\n------------- test7.4 ----------------\n");
+   pat[0] = 0xd842;
+   pat[1] = 0xdc42;
+   write_and_check(pat, 2, 4);
+
+   return 0;
+}
+
+
+void
+write_and_check_aux(uint16_t *input, unsigned num_input_bytes,
+                    unsigned num_expected_output_bytes,
+                    unsigned fill_byte)
+{
+   int num_errors, i;
+
+   /* Fill output buffer with FILL_BYTE */
+   memset(buff, fill_byte, sizeof buff);
+
+   /* Execute cu21 */
+   run_test(buff, sizeof buff, input, num_input_bytes);
+
+   /* Make sure the rest of the buffer is unmodified.  */
+   num_errors = 0;
+   for (i = num_expected_output_bytes; i < sizeof buff; ++i)
+      if (buff[i] != fill_byte) ++num_errors;
+   if (num_errors)
+      fprintf(stderr, "*** wrote more than %u bytes\n",
+              num_expected_output_bytes);
+}
+
+void
+write_and_check(uint16_t *input, unsigned num_input_bytes,
+                unsigned num_expected_output_bytes)
+{
+   write_and_check_aux(input, num_input_bytes, num_expected_output_bytes, 0x0);
+
+   /* Run again with different fill pattern to make sure we did not write
+      an extra 0x0 byte */
+   write_and_check_aux(input, num_input_bytes, num_expected_output_bytes, 0xFF);
+}
diff --git a/none/tests/s390x/cu21.stderr.exp b/none/tests/s390x/cu21.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cu21.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cu21.stdout.exp b/none/tests/s390x/cu21.stdout.exp
new file mode 100644
index 0000000..1119f20
--- /dev/null
+++ b/none/tests/s390x/cu21.stdout.exp
@@ -0,0 +1,212 @@
+
+------------- test1 ----------------
+UTF8:  <none>
+  cc = 0
+  dst len: 0
+  src len: 0
+
+------------- test2.1 ----------------
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 2
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 3
+
+------------- test2.2 ----------------
+UTF8:  00
+  cc = 0
+  dst address difference: 1  dst len: 999
+  src address difference: 2  src len: 1
+UTF8:  c2 80 df bf
+  cc = 0
+  dst address difference: 4  dst len: 996
+  src address difference: 4  src len: 1
+UTF8:  e0 a0 80 ed 9f bf ed b0 80
+  cc = 0
+  dst address difference: 9  dst len: 991
+  src address difference: 6  src len: 1
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 0
+  dst address difference: 8  dst len: 992
+  src address difference: 8  src len: 1
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 0
+  dst address difference: 8  dst len: 992
+  src address difference: 8  src len: 2
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 0
+  dst address difference: 8  dst len: 992
+  src address difference: 8  src len: 3
+
+------------- test3.1 ----------------
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 16
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 18
+UTF8:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 18
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 22
+UTF8:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 22
+UTF8:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 22
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 16
+UTF8:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 16
+UTF8:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 16
+UTF8:  <none>
+  cc = 1
+  dst len: 3
+  src address difference: 0  src len: 16
+
+------------- test3.2 ----------------
+UTF8:  00 7f 47
+  cc = 1
+  dst address difference: 3  dst len: 0
+  src address difference: 6  src len: 10
+UTF8:  c2 80 df bf
+  cc = 1
+  dst address difference: 4  dst len: 1
+  src address difference: 4  src len: 14
+UTF8:  e0 a0 80 ed 9f bf
+  cc = 1
+  dst address difference: 6  dst len: 1
+  src address difference: 4  src len: 18
+UTF8:  e0 a0 80 ed 9f bf
+  cc = 1
+  dst address difference: 6  dst len: 2
+  src address difference: 4  src len: 18
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 1
+  dst address difference: 8  dst len: 1
+  src address difference: 8  src len: 8
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 1
+  dst address difference: 8  dst len: 2
+  src address difference: 8  src len: 8
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 1
+  dst address difference: 8  dst len: 3
+  src address difference: 8  src len: 8
+
+------------- test4 ----------------
+UTF8:  00 7f 47
+  cc = 0
+  dst address difference: 3  dst len: 3
+  src address difference: 6  src len: 0
+
+------------- test5 ----------------
+UTF8:  f0 90 92 98
+  cc = 0
+  dst address difference: 4  dst len: 996
+  src address difference: 4  src len: 0
+UTF8:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 0
+  src address difference: 0  src len: 4
+
+------------- test6 ----------------
+UTF8:  00 7f 47 56 45 21 7b 3a
+  cc = 0
+  dst address difference: 8  dst len: 992
+  src address difference: 16  src len: 0
+UTF8:  c2 80 df bf df 9f c2 8f c4 80 c5 bf d4 af d8 80 db bf
+  cc = 0
+  dst address difference: 18  dst len: 982
+  src address difference: 18  src len: 0
+UTF8:  e0 a0 80 ed 9f bf ed b0 80 ef bf bf e0 a0 bf e1 a8 a1 e1 ac 90 e2 88 80 e2 89 9e e2 8b 89 ee 80 81
+  cc = 0
+  dst address difference: 33  dst len: 967
+  src address difference: 22  src len: 0
+UTF8:  f0 90 80 80 f4 8f bf bf f3 86 a7 9d ed ba af ed b3 9c
+  cc = 0
+  dst address difference: 18  dst len: 982
+  src address difference: 16  src len: 0
+UTF8:  78 c8 80 ef bf bf f0 90 80 81
+  cc = 0
+  dst address difference: 10  dst len: 990
+  src address difference: 10  src len: 0
+
+------------- test7.1 ----------------
+UTF8:  10
+  cc = 0
+  dst address difference: 1  dst len: 999
+  src address difference: 2  src len: 0
+UTF8:  10
+  cc = 0
+  dst address difference: 1  dst len: 999
+  src address difference: 2  src len: 0
+
+------------- test7.2 ----------------
+UTF8:  c2 8f
+  cc = 0
+  dst address difference: 2  dst len: 998
+  src address difference: 2  src len: 0
+UTF8:  c2 8f
+  cc = 0
+  dst address difference: 2  dst len: 998
+  src address difference: 2  src len: 0
+
+------------- test7.3 ----------------
+UTF8:  e0 a1 82
+  cc = 0
+  dst address difference: 3  dst len: 997
+  src address difference: 2  src len: 0
+UTF8:  e0 a1 82
+  cc = 0
+  dst address difference: 3  dst len: 997
+  src address difference: 2  src len: 0
+
+------------- test7.4 ----------------
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 2
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 2
diff --git a/none/tests/s390x/cu21.vgtest b/none/tests/s390x/cu21.vgtest
new file mode 100644
index 0000000..39bb6c6
--- /dev/null
+++ b/none/tests/s390x/cu21.vgtest
@@ -0,0 +1 @@
+prog: cu21
diff --git a/none/tests/s390x/cu21_1.c b/none/tests/s390x/cu21_1.c
new file mode 120000
index 0000000..d919a51
--- /dev/null
+++ b/none/tests/s390x/cu21_1.c
@@ -0,0 +1 @@
+cu21.c
\ No newline at end of file
diff --git a/none/tests/s390x/cu21_1.stderr.exp b/none/tests/s390x/cu21_1.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cu21_1.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cu21_1.stdout.exp b/none/tests/s390x/cu21_1.stdout.exp
new file mode 100644
index 0000000..95a829f
--- /dev/null
+++ b/none/tests/s390x/cu21_1.stdout.exp
@@ -0,0 +1,212 @@
+
+------------- test1 ----------------
+UTF8:  <none>
+  cc = 0
+  dst len: 0
+  src len: 0
+
+------------- test2.1 ----------------
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 2
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 3
+
+------------- test2.2 ----------------
+UTF8:  00
+  cc = 0
+  dst address difference: 1  dst len: 999
+  src address difference: 2  src len: 1
+UTF8:  c2 80 df bf
+  cc = 0
+  dst address difference: 4  dst len: 996
+  src address difference: 4  src len: 1
+UTF8:  e0 a0 80 ed 9f bf ed b0 80
+  cc = 0
+  dst address difference: 9  dst len: 991
+  src address difference: 6  src len: 1
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 0
+  dst address difference: 8  dst len: 992
+  src address difference: 8  src len: 1
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 0
+  dst address difference: 8  dst len: 992
+  src address difference: 8  src len: 2
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 0
+  dst address difference: 8  dst len: 992
+  src address difference: 8  src len: 3
+
+------------- test3.1 ----------------
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 16
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 18
+UTF8:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 18
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 22
+UTF8:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 22
+UTF8:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 22
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 16
+UTF8:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 16
+UTF8:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 16
+UTF8:  <none>
+  cc = 1
+  dst len: 3
+  src address difference: 0  src len: 16
+
+------------- test3.2 ----------------
+UTF8:  00 7f 47
+  cc = 1
+  dst address difference: 3  dst len: 0
+  src address difference: 6  src len: 10
+UTF8:  c2 80 df bf
+  cc = 1
+  dst address difference: 4  dst len: 1
+  src address difference: 4  src len: 14
+UTF8:  e0 a0 80 ed 9f bf
+  cc = 1
+  dst address difference: 6  dst len: 1
+  src address difference: 4  src len: 18
+UTF8:  e0 a0 80 ed 9f bf
+  cc = 1
+  dst address difference: 6  dst len: 2
+  src address difference: 4  src len: 18
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 1
+  dst address difference: 8  dst len: 1
+  src address difference: 8  src len: 8
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 1
+  dst address difference: 8  dst len: 2
+  src address difference: 8  src len: 8
+UTF8:  f0 90 80 80 f4 8f bf bf
+  cc = 1
+  dst address difference: 8  dst len: 3
+  src address difference: 8  src len: 8
+
+------------- test4 ----------------
+UTF8:  00 7f 47
+  cc = 0
+  dst address difference: 3  dst len: 3
+  src address difference: 6  src len: 0
+
+------------- test5 ----------------
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 0
+  src address difference: 0  src len: 4
+
+------------- test6 ----------------
+UTF8:  00 7f 47 56 45 21 7b 3a
+  cc = 0
+  dst address difference: 8  dst len: 992
+  src address difference: 16  src len: 0
+UTF8:  c2 80 df bf df 9f c2 8f c4 80 c5 bf d4 af d8 80 db bf
+  cc = 0
+  dst address difference: 18  dst len: 982
+  src address difference: 18  src len: 0
+UTF8:  e0 a0 80 ed 9f bf ed b0 80 ef bf bf e0 a0 bf e1 a8 a1 e1 ac 90 e2 88 80 e2 89 9e e2 8b 89 ee 80 81
+  cc = 0
+  dst address difference: 33  dst len: 967
+  src address difference: 22  src len: 0
+UTF8:  f0 90 80 80 f4 8f bf bf f3 86 a7 9d ed ba af ed b3 9c
+  cc = 0
+  dst address difference: 18  dst len: 982
+  src address difference: 16  src len: 0
+UTF8:  78 c8 80 ef bf bf f0 90 80 81
+  cc = 0
+  dst address difference: 10  dst len: 990
+  src address difference: 10  src len: 0
+
+------------- test7.1 ----------------
+UTF8:  10
+  cc = 0
+  dst address difference: 1  dst len: 999
+  src address difference: 2  src len: 0
+UTF8:  10
+  cc = 0
+  dst address difference: 1  dst len: 999
+  src address difference: 2  src len: 0
+
+------------- test7.2 ----------------
+UTF8:  c2 8f
+  cc = 0
+  dst address difference: 2  dst len: 998
+  src address difference: 2  src len: 0
+UTF8:  c2 8f
+  cc = 0
+  dst address difference: 2  dst len: 998
+  src address difference: 2  src len: 0
+
+------------- test7.3 ----------------
+UTF8:  e0 a1 82
+  cc = 0
+  dst address difference: 3  dst len: 997
+  src address difference: 2  src len: 0
+UTF8:  e0 a1 82
+  cc = 0
+  dst address difference: 3  dst len: 997
+  src address difference: 2  src len: 0
+
+------------- test7.4 ----------------
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 2
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 2
diff --git a/none/tests/s390x/cu21_1.vgtest b/none/tests/s390x/cu21_1.vgtest
new file mode 100644
index 0000000..153c7a4
--- /dev/null
+++ b/none/tests/s390x/cu21_1.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/s390x_features s390x-etf3
+prog: cu21_1
diff --git a/none/tests/s390x/cu24.c b/none/tests/s390x/cu24.c
new file mode 100644
index 0000000..2cd8828
--- /dev/null
+++ b/none/tests/s390x/cu24.c
@@ -0,0 +1,183 @@
+#include <stdint.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include "opcodes.h"
+
+#ifndef M3
+#define M3 0
+#endif
+
+/* The abstracted result of an CU24 insn */
+typedef struct {
+   uint64_t addr1;  // target
+   uint64_t len1;
+   uint64_t addr2;  // source
+   uint64_t len2;
+   uint32_t cc;
+} cu24_t;
+
+/* Define various input buffers. */
+
+/* Single UTF-16 value */
+uint16_t pattern1[] = {
+   0x0000, 0xd7ff,    /* [0000 ... d7ff]  corner cases */
+   0xdc00, 0xffff,    /* [dc00 ... ffff]  corner cases */
+   0x0047, 0x0156, 0x1245, 0xa021, 0xfffe /* misc */
+};
+
+/* UTF-16 surrogate pair */
+uint16_t pattern2[] = {
+   0xd800, 0xdc00,    /* left  corner case */
+   0xdbff, 0xdfff,    /* right corner case */
+   0xdada, 0xdddd, 0xdeaf, 0xdcdc  /* misc */
+};
+
+/* Invalid low surrogate */
+uint16_t invalid[] = { 0xd801, 0x0098 };
+
+/* Mixed bytes */
+uint16_t mixed[] = {
+   0x0078,
+   0x0200,
+   0xffff,
+   0xd800, 0xdc01,
+   0xde00, 0xdd00,
+   0xc0c0
+};
+
+/* This is the buffer for the converted bytes. */
+uint32_t buff[1000];  /* Large so we con'don't have to worry about it */
+
+
+static cu24_t
+do_cu24(uint32_t *dst, uint64_t dst_len, uint16_t *src, uint64_t src_len)
+{
+   int cc = 42;
+   cu24_t regs;
+
+   /* build up the register pairs */
+   register uint16_t *source     asm("4") = src;
+   register uint64_t  source_len asm("5") = src_len;
+   register uint32_t *dest       asm("2") = dst;
+   register uint64_t  dest_len   asm("3") = dst_len;
+
+   asm volatile(
+                CU24(M3,2,4)
+                "ipm %2\n\t"
+                "srl %2,28\n\t"
+                : "+d"(dest), "+d"(source), "=d"(cc),
+                  "+d"(source_len), "+d"(dest_len)
+                :
+                : "memory", "cc");
+
+   /* Capture register contents at end of cu24 */
+   regs.addr1 = (uint64_t)dest;
+   regs.len1  = dest_len;
+   regs.addr2 = (uint64_t)source;
+   regs.len2  = source_len;
+   regs.cc = cc;
+   
+   return regs;
+}
+
+void
+run_test(uint32_t *dst, uint64_t dst_len, uint16_t *src, uint64_t src_len)
+{
+   int i;
+   cu24_t result;
+
+   result = do_cu24(dst, dst_len, src, src_len);
+
+   // Write out the converted byte, if any
+   printf("UTF32: ");
+   if (dst_len - result.len1 == 0)
+      printf(" <none>");
+   else {
+      uint64_t num_bytes = dst_len - result.len1;
+
+      /* The number of bytes that were written must be divisible by 4 */
+      if (num_bytes % 4 != 0)
+         fprintf(stderr, "*** number of bytes is not a multiple of 4\n");
+
+      for (i = 0; i < num_bytes / 4; i++) {
+         printf(" %02x", dst[i]);
+      }
+   }
+   printf("\n");
+
+   printf("  cc = %d\n", result.cc);
+   if (dst != NULL)
+      printf("  dst address difference: %"PRId64, result.addr1 - (uint64_t)dst);
+   printf("  dst len: %"PRId64"\n", result.len1);
+
+   if (src != NULL)
+      printf("  src address difference: %"PRId64, result.addr2 - (uint64_t)src);
+   printf("  src len: %"PRId64"\n", result.len2);
+}
+
+int main()
+{
+   /* Length == 0, no memory should be read or written */
+   printf("\n------------- test1 ----------------\n");
+   run_test(NULL, 0, NULL, 0);
+
+   /* Test exhaustion of source length (source bytes are valid) */
+   printf("\n------------- test2.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+   run_test(buff, sizeof buff, NULL,     1);
+   run_test(buff, sizeof buff, pattern1, 1);
+   run_test(buff, sizeof buff, pattern2, 1);
+   run_test(buff, sizeof buff, pattern2, 2);
+   run_test(buff, sizeof buff, pattern2, 3);
+
+   printf("\n------------- test2.2 ----------------\n");
+   /* At least one character will be written to BUFF, i.e. loop in jitted
+      code is iterated */
+   run_test(buff, sizeof buff, pattern1, 3);
+   run_test(buff, sizeof buff, pattern1, 5);
+   run_test(buff, sizeof buff, pattern2, 2);
+   run_test(buff, sizeof buff, pattern2, 5);
+   run_test(buff, sizeof buff, pattern2, 7);
+
+   /* Test exhaustion of destination length (source bytes are valid) */
+   printf("\n------------- test3.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+
+   /* Want to write 4 bytes at a time */
+   run_test(NULL, 0, pattern1, sizeof pattern1);
+   run_test(NULL, 1, pattern1, sizeof pattern1);
+   run_test(NULL, 2, pattern1, sizeof pattern1);
+   run_test(NULL, 3, pattern1, sizeof pattern1);
+
+   printf("\n------------- test3.2 ----------------\n");
+   /* At least one character will be written to BUFF, i.e. loop in jitted
+      code is iterated */
+   run_test(buff, 4, pattern1, sizeof pattern1);
+   run_test(buff, 5, pattern1, sizeof pattern1);
+   run_test(buff, 6, pattern1, sizeof pattern1);
+   run_test(buff, 7, pattern1, sizeof pattern1);
+
+   /* When both operands are exhausted, cc=0 takes precedence.
+      (test1 tests this for len == 0) */
+   printf("\n------------- test4 ----------------\n");
+   run_test(buff, 4, pattern1, 2);   // no iteration
+   run_test(buff, 8, pattern1, 4);   // iteration
+
+   /* Input has invalid low surrogate. */
+   printf("\n------------- test5 ----------------\n");
+   run_test(buff, sizeof buff, invalid, sizeof invalid);
+   run_test(buff, 0, invalid, sizeof invalid);
+
+   /* Convert all pattern buffers */
+   printf("\n------------- test6 ----------------\n");
+   run_test(buff, sizeof buff, pattern1, sizeof pattern1);
+   run_test(buff, sizeof buff, pattern2, sizeof pattern2);
+
+   return 0;
+}
diff --git a/none/tests/s390x/cu24.stderr.exp b/none/tests/s390x/cu24.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cu24.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cu24.stdout.exp b/none/tests/s390x/cu24.stdout.exp
new file mode 100644
index 0000000..d29f4dd
--- /dev/null
+++ b/none/tests/s390x/cu24.stdout.exp
@@ -0,0 +1,116 @@
+
+------------- test1 ----------------
+UTF32:  <none>
+  cc = 0
+  dst len: 0
+  src len: 0
+
+------------- test2.1 ----------------
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src len: 1
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src address difference: 0  src len: 1
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src address difference: 0  src len: 1
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src address difference: 0  src len: 2
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src address difference: 0  src len: 3
+
+------------- test2.2 ----------------
+UTF32:  00
+  cc = 0
+  dst address difference: 4  dst len: 3996
+  src address difference: 2  src len: 1
+UTF32:  00 d7ff
+  cc = 0
+  dst address difference: 8  dst len: 3992
+  src address difference: 4  src len: 1
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src address difference: 0  src len: 2
+UTF32:  10000
+  cc = 0
+  dst address difference: 4  dst len: 3996
+  src address difference: 4  src len: 1
+UTF32:  10000
+  cc = 0
+  dst address difference: 4  dst len: 3996
+  src address difference: 4  src len: 3
+
+------------- test3.1 ----------------
+UTF32:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 18
+UTF32:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 18
+UTF32:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 18
+UTF32:  <none>
+  cc = 1
+  dst len: 3
+  src address difference: 0  src len: 18
+
+------------- test3.2 ----------------
+UTF32:  00
+  cc = 1
+  dst address difference: 4  dst len: 0
+  src address difference: 2  src len: 16
+UTF32:  00
+  cc = 1
+  dst address difference: 4  dst len: 1
+  src address difference: 2  src len: 16
+UTF32:  00
+  cc = 1
+  dst address difference: 4  dst len: 2
+  src address difference: 2  src len: 16
+UTF32:  00
+  cc = 1
+  dst address difference: 4  dst len: 3
+  src address difference: 2  src len: 16
+
+------------- test4 ----------------
+UTF32:  00
+  cc = 0
+  dst address difference: 4  dst len: 0
+  src address difference: 2  src len: 0
+UTF32:  00 d7ff
+  cc = 0
+  dst address difference: 8  dst len: 0
+  src address difference: 4  src len: 0
+
+------------- test5 ----------------
+UTF32:  10498
+  cc = 0
+  dst address difference: 4  dst len: 3996
+  src address difference: 4  src len: 0
+UTF32:  <none>
+  cc = 1
+  dst address difference: 0  dst len: 0
+  src address difference: 0  src len: 4
+
+------------- test6 ----------------
+UTF32:  00 d7ff dc00 ffff 47 156 1245 a021 fffe
+  cc = 0
+  dst address difference: 36  dst len: 3964
+  src address difference: 18  src len: 0
+UTF32:  10000 10ffff c69dd deaf dcdc
+  cc = 0
+  dst address difference: 20  dst len: 3980
+  src address difference: 16  src len: 0
diff --git a/none/tests/s390x/cu24.vgtest b/none/tests/s390x/cu24.vgtest
new file mode 100644
index 0000000..a130e91
--- /dev/null
+++ b/none/tests/s390x/cu24.vgtest
@@ -0,0 +1 @@
+prog: cu24
diff --git a/none/tests/s390x/cu24_1.c b/none/tests/s390x/cu24_1.c
new file mode 120000
index 0000000..85676fa
--- /dev/null
+++ b/none/tests/s390x/cu24_1.c
@@ -0,0 +1 @@
+cu24.c
\ No newline at end of file
diff --git a/none/tests/s390x/cu24_1.stderr.exp b/none/tests/s390x/cu24_1.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cu24_1.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cu24_1.stdout.exp b/none/tests/s390x/cu24_1.stdout.exp
new file mode 100644
index 0000000..c6e22d5
--- /dev/null
+++ b/none/tests/s390x/cu24_1.stdout.exp
@@ -0,0 +1,116 @@
+
+------------- test1 ----------------
+UTF32:  <none>
+  cc = 0
+  dst len: 0
+  src len: 0
+
+------------- test2.1 ----------------
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src len: 1
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src address difference: 0  src len: 1
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src address difference: 0  src len: 1
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src address difference: 0  src len: 2
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src address difference: 0  src len: 3
+
+------------- test2.2 ----------------
+UTF32:  00
+  cc = 0
+  dst address difference: 4  dst len: 3996
+  src address difference: 2  src len: 1
+UTF32:  00 d7ff
+  cc = 0
+  dst address difference: 8  dst len: 3992
+  src address difference: 4  src len: 1
+UTF32:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 4000
+  src address difference: 0  src len: 2
+UTF32:  10000
+  cc = 0
+  dst address difference: 4  dst len: 3996
+  src address difference: 4  src len: 1
+UTF32:  10000
+  cc = 0
+  dst address difference: 4  dst len: 3996
+  src address difference: 4  src len: 3
+
+------------- test3.1 ----------------
+UTF32:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 18
+UTF32:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 18
+UTF32:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 18
+UTF32:  <none>
+  cc = 1
+  dst len: 3
+  src address difference: 0  src len: 18
+
+------------- test3.2 ----------------
+UTF32:  00
+  cc = 1
+  dst address difference: 4  dst len: 0
+  src address difference: 2  src len: 16
+UTF32:  00
+  cc = 1
+  dst address difference: 4  dst len: 1
+  src address difference: 2  src len: 16
+UTF32:  00
+  cc = 1
+  dst address difference: 4  dst len: 2
+  src address difference: 2  src len: 16
+UTF32:  00
+  cc = 1
+  dst address difference: 4  dst len: 3
+  src address difference: 2  src len: 16
+
+------------- test4 ----------------
+UTF32:  00
+  cc = 0
+  dst address difference: 4  dst len: 0
+  src address difference: 2  src len: 0
+UTF32:  00 d7ff
+  cc = 0
+  dst address difference: 8  dst len: 0
+  src address difference: 4  src len: 0
+
+------------- test5 ----------------
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 4000
+  src address difference: 0  src len: 4
+UTF32:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 0
+  src address difference: 0  src len: 4
+
+------------- test6 ----------------
+UTF32:  00 d7ff dc00 ffff 47 156 1245 a021 fffe
+  cc = 0
+  dst address difference: 36  dst len: 3964
+  src address difference: 18  src len: 0
+UTF32:  10000 10ffff c69dd deaf dcdc
+  cc = 0
+  dst address difference: 20  dst len: 3980
+  src address difference: 16  src len: 0
diff --git a/none/tests/s390x/cu24_1.vgtest b/none/tests/s390x/cu24_1.vgtest
new file mode 100644
index 0000000..992ccdc
--- /dev/null
+++ b/none/tests/s390x/cu24_1.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/s390x_features s390x-etf3
+prog: cu24_1
diff --git a/none/tests/s390x/cu41.c b/none/tests/s390x/cu41.c
new file mode 100644
index 0000000..d6a2f7a
--- /dev/null
+++ b/none/tests/s390x/cu41.c
@@ -0,0 +1,259 @@
+#include <stdint.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include <assert.h>
+#include "opcodes.h"
+
+/* The abstracted result of an CU41 insn */
+typedef struct {
+   uint64_t addr1;  // target
+   uint64_t len1;
+   uint64_t addr2;  // source
+   uint64_t len2;
+   uint32_t cc;
+} cu41_t;
+
+/* Define various input buffers. */
+
+/* 0000 to 00ff:  Result is 1 byte for each uint32_t */
+uint32_t pattern1[] = {
+   0x0000, 0x007f,    /* corner cases */
+   0x0001, 0x007e, 0x0030, 0x005e /* misc */
+};
+
+/* 0080 to 07ff: Result is 2 bytes for each uint32_t */
+uint32_t pattern2[] = {
+   0x0080, 0x07ff,    /* corner cases */
+   0x0081, 0x07fe, 0x100, 0x333, 0x555, 0x6aa  /* misc */
+};
+
+/* 0800 to d7ff: Result is 3 bytes for each uint32_t */
+/* dc00 to ffff: Result is 3 bytes for each uint32_t */
+uint32_t pattern3[] = {
+   0x0800, 0xd7ff,    /* corner cases */
+   0xdc00, 0xffff,    /* corner cases */
+   0xdc01, 0xfffe, 0xdea0, 0xd00d, 0xe555  /* misc */
+};
+
+/* 10000 to 10ffff: Result is 4 bytes for each uint32_t */
+uint32_t pattern4[] = {
+   0x10000, 0x10ffff,    /* corner cases */
+   0x10001, 0x10fffe, 0x12345, 0x23456, 0xfedcb  /* misc */
+};
+
+/* Invalid UTF-32 character */
+uint32_t invalid[] = {
+   0x0000d800, 0x0000dbff,   /* corner cases */
+   0x00110000, 0xffffffff,   /* corner cases */
+   0x0000daad, 0x0000d901, 0x0000d8ff, /* misc */
+   0x00110011, 0x01000000, 0x10000000, 0xdeadbeef  /* misc */
+};
+
+/* Mixed bytes */
+uint32_t mixed[] = {
+   0x00000078 /* 1 byte  */,
+   0x00000111 /* 2 bytes */,
+   0x00001234 /* 3 bytes */,
+   0x00040404 /* 4 bytes */,
+};
+
+/* This is the buffer for the converted bytes. */
+uint8_t buff[1000];  /* Large so we con'don't have to worry about it */
+
+void write_and_check(uint32_t *, unsigned, unsigned);
+
+
+static cu41_t
+do_cu41(uint8_t *dst, uint64_t dst_len, uint32_t *src, uint64_t src_len)
+{
+   int cc = 42;
+   cu41_t regs;
+
+   /* build up the register pairs */
+   register uint32_t *source     asm("4") = src;
+   register uint64_t  source_len asm("5") = src_len;
+   register uint8_t  *dest       asm("2") = dst;
+   register uint64_t  dest_len   asm("3") = dst_len;
+
+   asm volatile(
+                CU41(2,4)
+                "ipm %2\n\t"
+                "srl %2,28\n\t"
+                : "+d"(dest), "+d"(source), "=d"(cc),
+                  "+d"(source_len), "+d"(dest_len)
+                :
+                : "memory", "cc");
+
+   /* Capture register contents at end of cu41 */
+   regs.addr1 = (uint64_t)dest;
+   regs.len1  = dest_len;
+   regs.addr2 = (uint64_t)source;
+   regs.len2  = source_len;
+   regs.cc = cc;
+   
+   return regs;
+}
+
+void
+run_test(uint8_t *dst, uint64_t dst_len, uint32_t *src, uint64_t src_len)
+{
+   int i;
+   cu41_t result;
+
+   result = do_cu41(dst, dst_len, src, src_len);
+
+   // Write out the converted values, if any
+   printf("UTF8: ");
+   if (dst_len - result.len1 == 0)
+      printf(" <none>");
+   else
+      for (i = 0; i < dst_len - result.len1; ++i) {
+         printf(" %02x", dst[i]);
+      }
+   printf("\n");
+
+   printf("  cc = %d\n", result.cc);
+   if (dst != NULL)
+      printf("  dst address difference: %"PRId64, result.addr1 - (uint64_t)dst);
+   printf("  dst len: %"PRId64"\n", result.len1);
+
+   if (src != NULL)
+      printf("  src address difference: %"PRId64, result.addr2 - (uint64_t)src);
+   printf("  src len: %"PRId64"\n", result.len2);
+}
+
+int main()
+{
+   int i;
+
+   /* Length == 0, no memory should be read or written */
+   printf("\n------------- test1 ----------------\n");
+   run_test(NULL, 0, NULL, 0);
+
+   /* Test exhaustion of source length (source bytes are valid) */
+   printf("\n------------- test2.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+   run_test(buff, sizeof buff, NULL,     0);
+   run_test(buff, sizeof buff, NULL,     1);
+   run_test(buff, sizeof buff, NULL,     2);
+   run_test(buff, sizeof buff, NULL,     3);
+   run_test(buff, sizeof buff, pattern1, 0);
+   run_test(buff, sizeof buff, pattern1, 1);
+   run_test(buff, sizeof buff, pattern1, 2);
+   run_test(buff, sizeof buff, pattern1, 3);
+
+   printf("\n------------- test2.2 ----------------\n");
+   /* At least one character will be written to BUFF, i.e. loop in jitted
+      code is iterated */
+   run_test(buff, sizeof buff, pattern1, 4);  /* 1 utf32 -> 1 1-byte utf8 */
+   run_test(buff, sizeof buff, pattern2, 10); /* 2 utf32 -> 2 2-byte utf8 */
+   run_test(buff, sizeof buff, pattern3, 5);  /* 1 utf32 -> 1 3-byte utf8 */
+   run_test(buff, sizeof buff, pattern4, 21); /* 5 utf32 -> 5 4-byte utf8 */
+
+   /* Test exhaustion of destination length (source bytes are valid) */
+   printf("\n------------- test3.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+
+   /* Want to write at least 1 byte */
+   run_test(NULL, 0, pattern1, sizeof pattern1);
+
+   /* Want to write at least 2 bytes */
+   run_test(NULL, 0, pattern2, sizeof pattern2);
+   run_test(NULL, 1, pattern2, sizeof pattern2);
+
+   /* Want to write at least 3 bytes */
+   run_test(NULL, 0, pattern3, sizeof pattern3);
+   run_test(NULL, 1, pattern3, sizeof pattern3);
+
+   /* Want to write at least 4 bytes */
+   run_test(NULL, 0, pattern4, sizeof pattern4);
+   run_test(NULL, 1, pattern4, sizeof pattern4);
+   run_test(NULL, 2, pattern4, sizeof pattern4);
+   run_test(NULL, 3, pattern4, sizeof pattern4);
+
+   /* When both operands are exhausted, cc=0 takes precedence.
+      (test1 tests this for len == 0) */
+   printf("\n------------- test4 ----------------\n");
+   run_test(buff, 2, pattern1, 8);
+
+   /* Input contains invalid characters */
+
+   // As conversion stops upon encountering an invalid character, we
+   // need to test each invalid character separately, to make sure it
+   // is recognized as invalid.
+
+   printf("\n------------- test5 ----------------\n");
+   for (i = 0; i < sizeof invalid / 4; ++i) {
+      run_test(buff, sizeof buff, invalid + i, 4);
+   }
+   run_test(buff, 0, invalid, sizeof invalid);  // cc = 2
+   run_test(buff, 100, invalid, sizeof invalid);
+
+   /* Convert all pattern buffers */
+   printf("\n------------- test6 ----------------\n");
+   run_test(buff, sizeof buff, pattern1, sizeof pattern1);
+   run_test(buff, sizeof buff, pattern2, sizeof pattern2);
+   run_test(buff, sizeof buff, pattern3, sizeof pattern3);
+   run_test(buff, sizeof buff, pattern4, sizeof pattern4);
+   run_test(buff, sizeof buff, mixed,    sizeof mixed);
+
+   /* Make sure we only write the exact number of bytes (and not more) */
+
+   /* Write 1 byte */
+   printf("\n------------- test7.0 ----------------\n");
+   write_and_check(pattern1 + 2, 4, 1);
+
+   /* Write 2 bytes */
+   printf("\n------------- test7.1 ----------------\n");
+   write_and_check(pattern2 + 3, 4, 2);
+
+   /* Write 3 bytes */
+   printf("\n------------- test7.2 ----------------\n");
+   write_and_check(pattern3 + 6, 4, 3);
+
+   /* Write 4 bytes */
+   printf("\n------------- test7.3 ----------------\n");
+   write_and_check(pattern4 + 5, 4, 4);
+
+   return 0;
+}
+
+
+void
+write_and_check_aux(uint32_t *input, unsigned num_input_bytes,
+                    unsigned num_expected_output_bytes,
+                    unsigned fill_byte)
+{
+   int num_errors, i;
+
+   /* Fill output buffer with FILL_BYTE */
+   memset(buff, fill_byte, sizeof buff);
+
+   /* Execute cu41 */
+   run_test(buff, sizeof buff, input, num_input_bytes);
+
+   /* Make sure the rest of the buffer is unmodified.  */
+   num_errors = 0;
+   for (i = num_expected_output_bytes; i < sizeof buff; ++i)
+      if (((unsigned char *)buff)[i] != fill_byte) ++num_errors;
+   if (num_errors)
+      fprintf(stderr, "*** wrote more than %d bytes\n",
+              num_expected_output_bytes);
+}
+
+void
+write_and_check(uint32_t *input, unsigned num_input_bytes,
+                unsigned num_expected_output_bytes)
+{
+   write_and_check_aux(input, num_input_bytes, num_expected_output_bytes, 0x0);
+
+   /* Run again with different fill pattern to make sure we did not write
+      an extra 0x0 byte */
+   write_and_check_aux(input, num_input_bytes, num_expected_output_bytes, 0xFF);
+}
diff --git a/none/tests/s390x/cu41.stderr.exp b/none/tests/s390x/cu41.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cu41.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cu41.stdout.exp b/none/tests/s390x/cu41.stdout.exp
new file mode 100644
index 0000000..c7fa41f
--- /dev/null
+++ b/none/tests/s390x/cu41.stdout.exp
@@ -0,0 +1,218 @@
+
+------------- test1 ----------------
+UTF8:  <none>
+  cc = 0
+  dst len: 0
+  src len: 0
+
+------------- test2.1 ----------------
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src len: 0
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src len: 2
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src len: 3
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 0
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 1
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 2
+UTF8:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 3
+
+------------- test2.2 ----------------
+UTF8:  00
+  cc = 0
+  dst address difference: 1  dst len: 999
+  src address difference: 4  src len: 0
+UTF8:  c2 80 df bf
+  cc = 0
+  dst address difference: 4  dst len: 996
+  src address difference: 8  src len: 2
+UTF8:  e0 a0 80
+  cc = 0
+  dst address difference: 3  dst len: 997
+  src address difference: 4  src len: 1
+UTF8:  f0 90 80 80 f4 8f bf bf f0 90 80 81 f4 8f bf be f0 92 8d 85
+  cc = 0
+  dst address difference: 20  dst len: 980
+  src address difference: 20  src len: 1
+
+------------- test3.1 ----------------
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 24
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 32
+UTF8:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 32
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 36
+UTF8:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 36
+UTF8:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 28
+UTF8:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 28
+UTF8:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 28
+UTF8:  <none>
+  cc = 1
+  dst len: 3
+  src address difference: 0  src len: 28
+
+------------- test4 ----------------
+UTF8:  00 7f
+  cc = 0
+  dst address difference: 2  dst len: 0
+  src address difference: 8  src len: 0
+
+------------- test5 ----------------
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 1000
+  src address difference: 0  src len: 4
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 0
+  src address difference: 0  src len: 44
+UTF8:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 100
+  src address difference: 0  src len: 44
+
+------------- test6 ----------------
+UTF8:  00 7f 01 7e 30 5e
+  cc = 0
+  dst address difference: 6  dst len: 994
+  src address difference: 24  src len: 0
+UTF8:  c2 80 df bf c2 81 df be c4 80 cc b3 d5 95 da aa
+  cc = 0
+  dst address difference: 16  dst len: 984
+  src address difference: 32  src len: 0
+UTF8:  e0 a0 80 ed 9f bf ed b0 80 ef bf bf ed b0 81 ef bf be ed ba a0 ed 80 8d ee 95 95
+  cc = 0
+  dst address difference: 27  dst len: 973
+  src address difference: 36  src len: 0
+UTF8:  f0 90 80 80 f4 8f bf bf f0 90 80 81 f4 8f bf be f0 92 8d 85 f0 a3 91 96 f3 be b7 8b
+  cc = 0
+  dst address difference: 28  dst len: 972
+  src address difference: 28  src len: 0
+UTF8:  78 c4 91 e1 88 b4 f1 80 90 84
+  cc = 0
+  dst address difference: 10  dst len: 990
+  src address difference: 16  src len: 0
+
+------------- test7.0 ----------------
+UTF8:  01
+  cc = 0
+  dst address difference: 1  dst len: 999
+  src address difference: 4  src len: 0
+UTF8:  01
+  cc = 0
+  dst address difference: 1  dst len: 999
+  src address difference: 4  src len: 0
+
+------------- test7.1 ----------------
+UTF8:  df be
+  cc = 0
+  dst address difference: 2  dst len: 998
+  src address difference: 4  src len: 0
+UTF8:  df be
+  cc = 0
+  dst address difference: 2  dst len: 998
+  src address difference: 4  src len: 0
+
+------------- test7.2 ----------------
+UTF8:  ed ba a0
+  cc = 0
+  dst address difference: 3  dst len: 997
+  src address difference: 4  src len: 0
+UTF8:  ed ba a0
+  cc = 0
+  dst address difference: 3  dst len: 997
+  src address difference: 4  src len: 0
+
+------------- test7.3 ----------------
+UTF8:  f0 a3 91 96
+  cc = 0
+  dst address difference: 4  dst len: 996
+  src address difference: 4  src len: 0
+UTF8:  f0 a3 91 96
+  cc = 0
+  dst address difference: 4  dst len: 996
+  src address difference: 4  src len: 0
diff --git a/none/tests/s390x/cu41.vgtest b/none/tests/s390x/cu41.vgtest
new file mode 100644
index 0000000..815e594
--- /dev/null
+++ b/none/tests/s390x/cu41.vgtest
@@ -0,0 +1 @@
+prog: cu41
diff --git a/none/tests/s390x/cu42.c b/none/tests/s390x/cu42.c
new file mode 100644
index 0000000..2b41d76
--- /dev/null
+++ b/none/tests/s390x/cu42.c
@@ -0,0 +1,236 @@
+#include <stdint.h>
+#include <inttypes.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include <assert.h>
+#include "opcodes.h"
+
+/* The abstracted result of an CU42 insn */
+typedef struct {
+   uint64_t addr1;  // target
+   uint64_t len1;
+   uint64_t addr2;  // source
+   uint64_t len2;
+   uint32_t cc;
+} cu42_t;
+
+/* Define various input buffers. */
+
+/* U+0000 to U+d7ff:  Result is 2 bytes for each uint32_t
+   U+dc00 to U+ffff:  Result is 2 bytes for each uint32_t */
+uint32_t pattern2[] = {
+   0x0000, 0xd7ff,    /* corner cases */
+   0xdc00, 0xffff,    /* corner cases */
+   0xabba, 0xf00d, 0xd00f, 0x1234 /* misc */
+};
+
+/* U+00010000 to U+0010ffff:  Result is 4 bytes for each uint32_t */
+uint32_t pattern4[] = {
+   0x00010000, 0x0010ffff,    /* corner cases */
+   0x00010123, 0x00023456, 0x000789ab, 0x00100000  /* misc */
+};
+
+/* Invalid UTF-32 character */
+uint32_t invalid[] = {
+   0x0000d800, 0x0000dbff,   /* corner cases */
+   0x00110000, 0xffffffff,   /* corner cases */
+   0x0000daad, 0x0000d901, 0x0000d8ff, /* misc */
+   0x00110011, 0x01000000, 0x10000000, 0xdeadbeef  /* misc */
+};
+
+/* Mixed bytes */
+uint32_t mixed[] = {
+   0x00000078 /* 2 bytes */,
+   0x0000d000 /* 2 bytes */,
+   0x00033333 /* 4 bytes */,
+   0x00040404 /* 4 bytes */,
+   0x0000abcd /* 2 bytes */,
+};
+
+/* This is the buffer for the converted bytes. */
+uint16_t buff[1000];  /* Large so we con'don't have to worry about it */
+
+void write_and_check(uint32_t *, unsigned, unsigned);
+
+
+static cu42_t
+do_cu42(uint16_t *dst, uint64_t dst_len, uint32_t *src, uint64_t src_len)
+{
+   int cc = 42;
+   cu42_t regs;
+
+   /* build up the register pairs */
+   register uint32_t *source     asm("4") = src;
+   register uint64_t  source_len asm("5") = src_len;
+   register uint16_t *dest       asm("2") = dst;
+   register uint64_t  dest_len   asm("3") = dst_len;
+
+   asm volatile(
+                CU42(2,4)
+                "ipm %2\n\t"
+                "srl %2,28\n\t"
+                : "+d"(dest), "+d"(source), "=d"(cc),
+                  "+d"(source_len), "+d"(dest_len)
+                :
+                : "memory", "cc");
+
+   /* Capture register contents at end of cu42 */
+   regs.addr1 = (uint64_t)dest;
+   regs.len1  = dest_len;
+   regs.addr2 = (uint64_t)source;
+   regs.len2  = source_len;
+   regs.cc = cc;
+   
+   return regs;
+}
+
+void
+run_test(uint16_t *dst, uint64_t dst_len, uint32_t *src, uint64_t src_len)
+{
+   int i;
+   cu42_t result;
+
+   result = do_cu42(dst, dst_len, src, src_len);
+
+   // Write out the converted values, if any
+   printf("UTF16: ");
+   if (dst_len - result.len1 == 0)
+      printf(" <none>");
+   else
+      assert((dst_len - result.len1) % 2 == 0);
+      for (i = 0; i < (dst_len - result.len1) / 2; ++i) {
+         printf(" %04x", dst[i]);
+      }
+   printf("\n");
+
+   printf("  cc = %d\n", result.cc);
+   if (dst != NULL)
+      printf("  dst address difference: %"PRId64, result.addr1 - (uint64_t)dst);
+   printf("  dst len: %"PRId64"\n", result.len1);
+
+   if (src != NULL)
+      printf("  src address difference: %"PRId64, result.addr2 - (uint64_t)src);
+   printf("  src len: %"PRId64"\n", result.len2);
+}
+
+int main()
+{
+   int i;
+
+   /* Length == 0, no memory should be read or written */
+   printf("\n------------- test1 ----------------\n");
+   run_test(NULL, 0, NULL, 0);
+
+   /* Test exhaustion of source length (source bytes are valid) */
+   printf("\n------------- test2.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+   run_test(buff, sizeof buff, NULL,     0);
+   run_test(buff, sizeof buff, NULL,     1);
+   run_test(buff, sizeof buff, NULL,     2);
+   run_test(buff, sizeof buff, NULL,     3);
+   run_test(buff, sizeof buff, pattern2, 0);
+   run_test(buff, sizeof buff, pattern2, 1);
+   run_test(buff, sizeof buff, pattern2, 2);
+   run_test(buff, sizeof buff, pattern2, 3);
+
+   printf("\n------------- test2.2 ----------------\n");
+   /* At least one character will be written to BUFF, i.e. loop in jitted
+      code is iterated */
+   run_test(buff, sizeof buff, pattern2, 4);  /* 1 utf32 -> 1 utf16 */
+   run_test(buff, sizeof buff, pattern2, 10); /* 2 utf32 -> 2 utf16 */
+   run_test(buff, sizeof buff, pattern4, 5);  /* 1 utf32 -> 2 utf16 */
+   run_test(buff, sizeof buff, pattern4, 11); /* 2 utf32 -> 4 utf16 */
+   run_test(buff, sizeof buff, pattern4, 18); /* 4 utf32 -> 8 utf16 */
+
+   /* Test exhaustion of destination length (source bytes are valid) */
+   printf("\n------------- test3.1 ----------------\n");
+
+   /* No character will be written to BUFF, i.e. loop in jitted code
+      is not iterated */
+
+   /* Want to write at least 1 UTF-16 */
+   run_test(NULL, 0, pattern2, sizeof pattern2);
+
+   /* Want to write at least 1 UTF-16 */
+   run_test(NULL, 0, pattern2, sizeof pattern2);
+   run_test(NULL, 1, pattern2, sizeof pattern2);
+
+   /* Want to write at least 2 UTF-16 */
+   run_test(NULL, 0, pattern4, sizeof pattern4);
+   run_test(NULL, 1, pattern4, sizeof pattern4);
+   run_test(NULL, 2, pattern4, sizeof pattern4);
+   run_test(NULL, 3, pattern4, sizeof pattern4);
+
+   /* When both operands are exhausted, cc=0 takes precedence.
+      (test1 tests this for len == 0) */
+   printf("\n------------- test4 ----------------\n");
+   run_test(buff, 4, pattern2, 8);
+
+   /* Input contains invalid characters */
+
+   // As conversion stops upon encountering an invalid character, we
+   // need to test each invalid character separately, to make sure it
+   // is recognized as invalid.
+
+   printf("\n------------- test5 ----------------\n");
+   for (i = 0; i < sizeof invalid / 4; ++i) {
+      run_test(buff, sizeof buff, invalid + i, 4);
+   }
+   run_test(buff, 0, invalid, sizeof invalid);  // cc = 2
+   run_test(buff, 100, invalid, sizeof invalid);
+
+   /* Convert all pattern buffers */
+   printf("\n------------- test6 ----------------\n");
+   run_test(buff, sizeof buff, pattern2, sizeof pattern2);
+   run_test(buff, sizeof buff, pattern4, sizeof pattern4);
+   run_test(buff, sizeof buff, mixed,    sizeof mixed);
+
+   /* Make sure we only write the exact number of bytes (and not more) */
+
+   /* Write 2 bytes */
+   printf("\n------------- test7.1 ----------------\n");
+   write_and_check(pattern2 + 3, 4, 2);
+
+   /* Write 4 bytes */
+   printf("\n------------- test7.2 ----------------\n");
+   write_and_check(pattern4 + 5, 4, 4);
+
+   return 0;
+}
+
+
+void
+write_and_check_aux(uint32_t *input, unsigned num_input_bytes,
+                    unsigned num_expected_output_bytes,
+                    unsigned fill_byte)
+{
+   int num_errors, i;
+
+   /* Fill output buffer with FILL_BYTE */
+   memset(buff, fill_byte, sizeof buff);
+
+   /* Execute cu42 */
+   run_test(buff, sizeof buff, input, num_input_bytes);
+
+   /* Make sure the rest of the buffer is unmodified.  */
+   num_errors = 0;
+   for (i = num_expected_output_bytes; i < sizeof buff; ++i)
+      if (((unsigned char *)buff)[i] != fill_byte) ++num_errors;
+   if (num_errors)
+      fprintf(stderr, "*** wrote more than %d bytes\n",
+              num_expected_output_bytes);
+}
+
+void
+write_and_check(uint32_t *input, unsigned num_input_bytes,
+                unsigned num_expected_output_bytes)
+{
+   write_and_check_aux(input, num_input_bytes, num_expected_output_bytes, 0x0);
+
+   /* Run again with different fill pattern to make sure we did not write
+      an extra 0x0 byte */
+   write_and_check_aux(input, num_input_bytes, num_expected_output_bytes, 0xFF);
+}
diff --git a/none/tests/s390x/cu42.stderr.exp b/none/tests/s390x/cu42.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/cu42.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/cu42.stdout.exp b/none/tests/s390x/cu42.stdout.exp
new file mode 100644
index 0000000..8bb3e24
--- /dev/null
+++ b/none/tests/s390x/cu42.stdout.exp
@@ -0,0 +1,186 @@
+
+------------- test1 ----------------
+UTF16:  <none>
+  cc = 0
+  dst len: 0
+  src len: 0
+
+------------- test2.1 ----------------
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src len: 0
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src len: 1
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src len: 2
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src len: 3
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 0
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 1
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 2
+UTF16:  <none>
+  cc = 0
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 3
+
+------------- test2.2 ----------------
+UTF16:  0000
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 4  src len: 0
+UTF16:  0000 d7ff
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 8  src len: 2
+UTF16:  d800 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 1
+UTF16:  d800 dc00 dbff dfff
+  cc = 0
+  dst address difference: 8  dst len: 1992
+  src address difference: 8  src len: 3
+UTF16:  d800 dc00 dbff dfff d800 dd23 d84d dc56
+  cc = 0
+  dst address difference: 16  dst len: 1984
+  src address difference: 16  src len: 2
+
+------------- test3.1 ----------------
+UTF16:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 32
+UTF16:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 32
+UTF16:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 32
+UTF16:  <none>
+  cc = 1
+  dst len: 0
+  src address difference: 0  src len: 24
+UTF16:  <none>
+  cc = 1
+  dst len: 1
+  src address difference: 0  src len: 24
+UTF16:  <none>
+  cc = 1
+  dst len: 2
+  src address difference: 0  src len: 24
+UTF16:  <none>
+  cc = 1
+  dst len: 3
+  src address difference: 0  src len: 24
+
+------------- test4 ----------------
+UTF16:  0000 d7ff
+  cc = 0
+  dst address difference: 4  dst len: 0
+  src address difference: 8  src len: 0
+
+------------- test5 ----------------
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 2000
+  src address difference: 0  src len: 4
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 0
+  src address difference: 0  src len: 44
+UTF16:  <none>
+  cc = 2
+  dst address difference: 0  dst len: 100
+  src address difference: 0  src len: 44
+
+------------- test6 ----------------
+UTF16:  0000 d7ff dc00 ffff abba f00d d00f 1234
+  cc = 0
+  dst address difference: 16  dst len: 1984
+  src address difference: 32  src len: 0
+UTF16:  d800 dc00 dbff dfff d800 dd23 d84d dc56 d9a2 ddab dbc0 dc00
+  cc = 0
+  dst address difference: 24  dst len: 1976
+  src address difference: 24  src len: 0
+UTF16:  0078 d000 d88c df33 d8c1 dc04 abcd
+  cc = 0
+  dst address difference: 14  dst len: 1986
+  src address difference: 20  src len: 0
+
+------------- test7.1 ----------------
+UTF16:  ffff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 4  src len: 0
+UTF16:  ffff
+  cc = 0
+  dst address difference: 2  dst len: 1998
+  src address difference: 4  src len: 0
+
+------------- test7.2 ----------------
+UTF16:  dbc0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
+UTF16:  dbc0 dc00
+  cc = 0
+  dst address difference: 4  dst len: 1996
+  src address difference: 4  src len: 0
diff --git a/none/tests/s390x/cu42.vgtest b/none/tests/s390x/cu42.vgtest
new file mode 100644
index 0000000..da601bc
--- /dev/null
+++ b/none/tests/s390x/cu42.vgtest
@@ -0,0 +1 @@
+prog: cu42
diff --git a/none/tests/s390x/dfp-1.c b/none/tests/s390x/dfp-1.c
new file mode 100644
index 0000000..1b7d51b
--- /dev/null
+++ b/none/tests/s390x/dfp-1.c
@@ -0,0 +1,173 @@
+#include <stdio.h>
+#include "opcodes.h"
+#include "dfp_utils.h"
+
+volatile _Decimal64 d64_1, d64_2, result_64;
+volatile _Decimal128 d128_1, d128_2, result_128;
+
+#define DFP_BINOP(insn, op1, op2, type, round, cc)                      \
+  ({                                                                    \
+    register type d1 asm("f0") =  op1;                                  \
+    register type d2 asm("f1") =  op2;                                  \
+    /* d1 = d1 (op) d2    */                                            \
+    asm volatile(insn(1,round,0,0)                                      \
+                 "ipm %1\n\t"                                           \
+                 "srl %1,28\n\t"                                        \
+                 :"+f" (d1), "=d" (cc)                                  \
+                 :"f"(d2)                                               \
+                 );                                                     \
+    d1;                                                                 \
+  })
+
+int main() {
+  int cc;
+
+  printf("Decimal floating point arithmetic\n");
+
+    /* 64-bit ADD */
+  printf("64-bit ADD\n");
+  /* case 1: cc = 2 */
+  d64_1 = 3.14DD;
+  d64_2 = 0.005DD;
+  result_64 = DFP_BINOP(ADTRA, d64_1, d64_2, _Decimal64, 1, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "+", cc);
+  /* case 2: cc = 1 */
+  d64_1 = -3.14DD;
+  d64_2 = 0.005DD;
+  result_64 = DFP_BINOP(ADTRA, d64_1, d64_2, _Decimal64, 1, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "+", cc);
+  /* case 2: cc = 0 */
+  d64_1 = 3.14DD;
+  d64_2 = -d64_1;
+  result_64 = DFP_BINOP(ADTRA, d64_1, d64_2, _Decimal64, 3, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "+", cc);
+
+
+    /* 64-bit SUBTRACT */
+  printf("64-bit SUBTRACT\n");
+  /* case 1: cc = 2 */
+  d64_1 = 3.14DD;
+  d64_2 = 0.005DD;
+  result_64 = DFP_BINOP(SDTRA, d64_1, d64_2, _Decimal64, 4, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "-", cc);
+  /* case 2: cc = 1 */
+  d64_1 = -3.14DD;
+  d64_2 = 0.005DD;
+  result_64 = DFP_BINOP(SDTRA, d64_1, d64_2, _Decimal64, 5, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "-", cc);
+  /* case 3: cc = 0 */
+  d64_1 = 3.14DD;
+  d64_2 = d64_1;
+  result_64 = DFP_BINOP(SDTRA, d64_1, d64_2, _Decimal64, 5, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "-", cc);
+
+    /* 64-bit MULTIPLY */
+  printf("64-bit MULTIPLY\n");
+  /* case 1: cc = 2 */
+  d64_1 = 3.14DD;
+  d64_2 = 7.DD;
+  result_64 = DFP_BINOP(MDTRA, d64_1, d64_2, _Decimal64, 6, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "*", cc);
+  /* case 2: cc = 1 */
+  d64_1 = -3.14DD;
+  d64_2 = 7.DD;
+  result_64 = DFP_BINOP(MDTRA, d64_1, d64_2, _Decimal64, 7, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "*", cc);
+  /* case 3: cc = 0 */
+  d64_1 = -3.14DD;
+  d64_2 = 0.DD;
+  result_64 = DFP_BINOP(MDTRA, d64_1, d64_2, _Decimal64, 7, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "*", cc);
+
+    /* 64-bit DIVIDE */
+  printf("64-bit DIVIDE\n");
+  /* case 1: cc = 2 */
+  d64_1 = 22.DD;
+  d64_2 = 7.DD;
+  result_64 = DFP_BINOP(DDTRA, d64_1, d64_2, _Decimal64, d, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "/", cc);
+  /* case 2: cc = 1 */
+  d64_1 = -22.DD;
+  d64_2 = 7.DD;
+  result_64 = DFP_BINOP(DDTRA, d64_1, d64_2, _Decimal64, e, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "/", cc);
+  /* case 3: cc = 0 */
+  d64_1 = 0.DD;
+  d64_2 = 7.DD;
+  result_64 = DFP_BINOP(DDTRA, d64_1, d64_2, _Decimal64, e, cc);
+  DFP_BINOP_PRINT(d64_1, d64_2, result_64, _Decimal64, "/", cc);
+
+    /* 128-bit ADD */
+  printf("128-bit ADD\n");
+  /* case 1: cc = 2 */
+  d128_1 = 3.14DL;
+  d128_2 = 0.005DL;
+  result_128 = DFP_BINOP(AXTRA, d128_1, d128_2, _Decimal128, 1, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "+", cc);
+  /* case 2: cc = 1 */
+  d128_1 = -3.14DL;
+  d128_2 = 0.005DL;
+  result_128 = DFP_BINOP(AXTRA, d128_1, d128_2, _Decimal128, 1, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "+", cc);
+  /* case 3: cc = 0 */
+  d128_1 = 3.14DL;
+  d128_2 = -d128_1;
+  result_128 = DFP_BINOP(AXTRA, d128_1, d128_2, _Decimal128, 3, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "+", cc);
+
+    /* 128-bit SUBTRACT */
+  printf("128-bit SUBTRACT\n");
+  /* case 1: cc = 2 */
+  d128_1 = 3.14DL;
+  d128_2 = 0.005DL;
+  result_128 = DFP_BINOP(SXTRA, d128_1, d128_2, _Decimal128, 4, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "-", cc);
+  /* case 2: cc = 1 */
+  d128_1 = -3.14DL;
+  d128_2 = 0.005DL;
+  result_128 = DFP_BINOP(SXTRA, d128_1, d128_2, _Decimal128, 5, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "-", cc);
+  /* case 3: cc = 0 */
+  d128_1 = 3.14DL;
+  d128_2 = d128_1;
+  result_128 = DFP_BINOP(SXTRA, d128_1, d128_2, _Decimal128, 5, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "-", cc);
+
+    /* 128-bit MULTIPLY */
+  printf("128-bit MULTIPLY\n");
+  /* case 1: cc = 2 */
+  d128_1 = 3.14DL;
+  d128_2 = 7.DL;
+  result_128 = DFP_BINOP(MXTRA, d128_1, d128_2, _Decimal128, 6, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "*", cc);
+  /* case 2: cc = 1 */
+  d128_1 = -3.14DL;
+  d128_2 = 7.DL;
+  result_128 = DFP_BINOP(MXTRA, d128_1, d128_2, _Decimal128, 7, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "*", cc);
+  /* case 3: cc = 0 */
+  d128_1 = 3.14DL;
+  d128_2 = 0.DL;
+  result_128 = DFP_BINOP(MXTRA, d128_1, d128_2, _Decimal128, 7, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "*", cc);
+
+    /* 128-bit DIVIDE */
+  printf("128-bit DIVIDE\n");
+  /* case 1: cc = 2 */
+  d128_1 = 22.DL;
+  d128_2 = 7.DL;
+  result_128 = DFP_BINOP(DXTRA, d128_1, d128_2, _Decimal128, d, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "/", cc);
+  /* case 2: cc = 1 */
+  d128_1 = -22.DL;
+  d128_2 = 7.DL;
+  result_128 = DFP_BINOP(DXTRA, d128_1, d128_2, _Decimal128, e, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "/", cc);
+  /* case 3: cc = 0 */
+  d128_1 = 0.DL;
+  d128_2 = 7.DL;
+  result_128 = DFP_BINOP(DXTRA, d128_1, d128_2, _Decimal128, e, cc);
+  DFP_BINOP_PRINT(d128_1, d128_2, result_128, _Decimal128, "/", cc);
+
+  return 0;
+}
diff --git a/none/tests/s390x/dfp-1.stderr.exp b/none/tests/s390x/dfp-1.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/dfp-1.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/dfp-1.stdout.exp b/none/tests/s390x/dfp-1.stdout.exp
new file mode 100644
index 0000000..cd00dd5
--- /dev/null
+++ b/none/tests/s390x/dfp-1.stdout.exp
@@ -0,0 +1,33 @@
+Decimal floating point arithmetic
+64-bit ADD
+2230000000000194 + 222c000000000005 = 222c000000000cc5 cc = 2
+a230000000000194 + 222c000000000005 = a22c000000000cb5 cc = 1
+2230000000000194 + a230000000000194 = 2230000000000000 cc = 0
+64-bit SUBTRACT
+2230000000000194 - 222c000000000005 = 222c000000000cb5 cc = 2
+a230000000000194 - 222c000000000005 = a22c000000000cc5 cc = 1
+2230000000000194 - 2230000000000194 = 2230000000000000 cc = 0
+64-bit MULTIPLY
+2230000000000194 * 2238000000000007 = 22300000000008de cc = 0
+a230000000000194 * 2238000000000007 = a2300000000008de cc = 0
+a230000000000194 * 2238000000000000 = a230000000000000 cc = 0
+64-bit DIVIDE
+2238000000000022 / 2238000000000007 = 2dfcc2d74c2d74c3 cc = 0
+a238000000000022 / 2238000000000007 = adfcc2d74c2d74c3 cc = 0
+2238000000000000 / 2238000000000007 = 2238000000000000 cc = 0
+128-bit ADD
+220780000000000000000194 + 220740000000000000000005 = 220740000000000000000cc5 cc = 2
+a20780000000000000000194 + 220740000000000000000005 = a20740000000000000000cb5 cc = 1
+220780000000000000000194 + a20780000000000000000194 = 220780000000000000000000 cc = 0
+128-bit SUBTRACT
+220780000000000000000194 - 220740000000000000000005 = 220740000000000000000cb5 cc = 2
+a20780000000000000000194 - 220740000000000000000005 = a20740000000000000000cc5 cc = 1
+220780000000000000000194 - 220780000000000000000194 = 220780000000000000000000 cc = 0
+128-bit MULTIPLY
+220780000000000000000194 * 220800000000000000000007 = 2207800000000000000008de cc = 0
+a20780000000000000000194 * 220800000000000000000007 = a207800000000000000008de cc = 0
+220780000000000000000194 * 220800000000000000000000 = 220780000000000000000000 cc = 0
+128-bit DIVIDE
+220800000000000000000022 / 220800000000000000000007 = 2dffcc2d74c2d74c2d74c2d74c2d74c3 cc = 0
+a20800000000000000000022 / 220800000000000000000007 = adffcc2d74c2d74c2d74c2d74c2d74c3 cc = 0
+220800000000000000000000 / 220800000000000000000007 = 220800000000000000000000 cc = 0
diff --git a/none/tests/s390x/dfp-1.vgtest b/none/tests/s390x/dfp-1.vgtest
new file mode 100644
index 0000000..0423b34
--- /dev/null
+++ b/none/tests/s390x/dfp-1.vgtest
@@ -0,0 +1,2 @@
+prog: dfp-1
+prereq: test -e dfp-1 && ../../../tests/s390x_features s390x-dfp
diff --git a/none/tests/s390x/dfp-2.c b/none/tests/s390x/dfp-2.c
new file mode 100644
index 0000000..bec51be
--- /dev/null
+++ b/none/tests/s390x/dfp-2.c
@@ -0,0 +1,376 @@
+#include <stdio.h>
+#include <stdint.h>
+#include "dfp_utils.h"
+
+/* Test various DFP ops:
+   - extract biased exponent 64/128 bit
+   - extract significance 64/128 bit
+   - insert biased exponent 64/128 bit
+   - load and test 64/128 bit
+   - shift left/right 64/128 bit
+   - reround 64/128 bit
+*/
+
+void eedtr(_Decimal64 in)
+{
+  long out;
+  asm volatile(".insn rre, 0xb3e50000, %[out], %[in]\n\t"
+               :[out] "=d" (out) :[in] "f" (in));
+  printf("EEDTR ");
+  DFP_VAL_PRINT(in, _Decimal64);
+  printf(" -> %ld\n", out);
+}
+
+void eextr(_Decimal128 in)
+{
+  long out;
+  asm volatile(".insn rre, 0xb3ed0000, %[out], %[in]\n\t"
+               :[out] "=d" (out) :[in] "f" (in));
+  printf("EEXTR ");
+  DFP_VAL_PRINT(in, _Decimal128);
+  printf(" -> %ld\n", out);
+}
+
+void esdtr(_Decimal64 in)
+{
+  long out;
+  asm volatile(".insn rre, 0xb3e70000, %[out], %[in]\n\t"
+               :[out] "=d" (out) :[in] "f" (in));
+  printf("ESDTR ");
+  DFP_VAL_PRINT(in, _Decimal64);
+  printf(" -> %ld\n", out);
+}
+
+void esxtr(_Decimal128 in)
+{
+  long out;
+  asm volatile(".insn rre, 0xb3ef0000, %[out], %[in]\n\t"
+               :[out] "=d" (out) :[in] "f" (in));
+  printf("ESXTR ");
+  DFP_VAL_PRINT(in, _Decimal128);
+  printf(" -> %ld\n", out);
+}
+
+void iedtr(_Decimal64 in, long amount)
+{
+  _Decimal64 out;
+
+  asm volatile (".insn rrf, 0xb3f60000, %[out], %[amount], %[in], 0\n\t"
+                :[out]"=f"(out)
+                :[in]"f"(in), [amount]"d"(amount));
+
+  printf("IEDTR ");
+  DFP_VAL_PRINT(in, _Decimal64);
+  printf(", %ld -> ", amount);
+  DFP_VAL_PRINT(out, _Decimal64);
+  printf("\n");
+}
+
+void iextr(_Decimal128 in, long amount)
+{
+  _Decimal128 out;
+
+  asm volatile (".insn rrf, 0xb3fe0000, %[out], %[amount], %[in], 0\n\t"
+                :[out]"=f"(out)
+                :[in]"f"(in), [amount]"d"(amount));
+
+  printf("IEXTR ");
+  DFP_VAL_PRINT(in, _Decimal128);
+  printf(", %ld -> ", amount);
+  DFP_VAL_PRINT(out, _Decimal128);
+  printf("\n");
+}
+
+void ltdtr(_Decimal64 in)
+{
+  _Decimal64 out;
+  int cc;
+  asm volatile(".insn rre, 0xb3d60000, %[out], %[in]\n\t"
+               "ipm %1\n\t"
+               "srl %1,28\n\t"
+               :[out] "=d" (out), "=d" (cc)
+               :[in] "f" (in));
+  printf("LTDTR ");
+  DFP_VAL_PRINT(in, _Decimal64);
+  printf(" -> %d\n", cc);
+}
+
+void ltxtr(_Decimal128 in)
+{
+  _Decimal128 out;
+  int cc;
+  asm volatile(".insn rre, 0xb3de0000, %[out], %[in]\n\t"
+               "ipm %1\n\t"
+               "srl %1,28\n\t"
+               :[out] "=f" (out), "=d" (cc)
+               :[in] "f" (in));
+  printf("LTXTR ");
+  DFP_VAL_PRINT(in, _Decimal128);
+  printf(" -> %d\n", cc);
+}
+
+void qadtr(_Decimal64 op, _Decimal64 quan, uint8_t rm)
+{
+  _Decimal64 out;
+
+  asm volatile (
+                ".insn rrf, 0xb3f50000, %[out], %[quan], %[op], %[rm]\n\t"
+                :[out]"=f"(out)
+                :[op]"f"(op), [quan]"f"(quan), [rm]"d"(rm)
+                );
+  printf("QADTR ");
+  DFP_VAL_PRINT(op, _Decimal64);
+  printf(", ");
+  DFP_VAL_PRINT(quan, _Decimal64);
+  printf(", %x -> ", rm);
+  DFP_VAL_PRINT(out, _Decimal64);
+  printf("\n");
+}
+
+void quantize64(_Decimal64 op, _Decimal64 quan)
+{
+  uint8_t i;
+
+  for (i = 0; i < 16; i++)
+    qadtr(op, quan, i);
+}
+
+void qaxtr(_Decimal128 op, _Decimal128 quan, uint8_t rm)
+{
+  _Decimal128 out;
+
+  asm volatile (
+                ".insn rrf, 0xb3fd0000, %[out], %[quan], %[op], %[rm]\n\t"
+                :[out]"=f"(out)
+                :[op]"f"(op), [quan]"f"(quan), [rm]"d"(rm)
+                );
+  printf("QAXTR ");
+  DFP_VAL_PRINT(op, _Decimal128);
+  printf(", ");
+  DFP_VAL_PRINT(quan, _Decimal128);
+  printf(", %x -> ", rm);
+  DFP_VAL_PRINT(out, _Decimal128);
+  printf("\n");
+}
+
+void quantize128(_Decimal128 op, _Decimal128 quan)
+{
+  uint8_t i;
+
+  for (i = 0; i < 16; i++)
+    qaxtr(op, quan, i);
+}
+
+void rrdtr(_Decimal64 op, uint8_t sig, uint8_t rm)
+{
+  _Decimal64 out;
+
+  asm volatile (
+                ".insn rrf, 0xb3f70000, %[out], %[sig], %[op], %[rm]\n\t"
+                :[out]"=f"(out)
+                :[op]"f"(op), [sig]"d"(sig), [rm]"d"(rm)
+                );
+  printf("RRDTR ");
+  DFP_VAL_PRINT(op, _Decimal64);
+  printf(", %d, %x -> ", sig, rm);
+  DFP_VAL_PRINT(out, _Decimal64);
+  printf("\n");
+}
+
+void reround64(_Decimal64 op, uint8_t sig)
+{
+  uint8_t i;
+
+  for (i = 0; i < 16; i++)
+    rrdtr(op, sig, i);
+}
+
+void rrxtr(_Decimal128 op, uint8_t sig, uint8_t rm)
+{
+  _Decimal128 out;
+
+  asm volatile (
+                ".insn rrf, 0xb3ff0000, %[out], %[sig], %[op], %[rm]\n\t"
+                :[out]"=f"(out)
+                :[op]"f"(op), [sig]"d"(sig), [rm]"d"(rm)
+                );
+  printf("RRXTR ");
+  DFP_VAL_PRINT(op, _Decimal128);
+  printf(", %d, %x -> ", sig, rm);
+  DFP_VAL_PRINT(out, _Decimal128);
+  printf("\n");
+}
+
+void reround128(_Decimal128 op, uint8_t sig)
+{
+  uint8_t i;
+
+  for (i = 0; i < 16; i++)
+    rrxtr(op, sig, i);
+}
+
+void sldt(_Decimal64 in, unsigned long amount)
+{
+  _Decimal64 out;
+  int *shift = (int *) amount;
+
+  asm volatile (".insn rxf, 0xed0000000040, %[out], %[in], 0(%[amount])\n\t"
+                :[out]"=f"(out)
+                :[in]"f"(in),[amount]"a"(shift));
+
+  printf("SLDT ");
+  DFP_VAL_PRINT(in, _Decimal64);
+  printf(" -> ");
+  DFP_VAL_PRINT(out, _Decimal64);
+  printf("\n");
+}
+
+void slxt(_Decimal128 in, unsigned long amount)
+{
+  _Decimal128 out;
+  int *shift = (int *) amount;
+
+  asm volatile (".insn rxf, 0xed0000000048, %[out], %[in], 0(%[amount])\n\t"
+                :[out]"=f"(out)
+                :[in]"f"(in),[amount]"a"(shift));
+
+  printf("SLXT ");
+  DFP_VAL_PRINT(in, _Decimal128);
+  printf(" -> ");
+  DFP_VAL_PRINT(out, _Decimal128);
+  printf("\n");
+}
+
+void srdt(_Decimal64 in, unsigned long amount)
+{
+  _Decimal64 out;
+  int *shift = (int *) amount;
+
+  asm volatile (".insn rxf, 0xed0000000041, %[out], %[in], 0(%[amount])\n\t"
+                :[out]"=f"(out)
+                :[in]"f"(in),[amount]"a"(shift));
+
+  printf("SRDT ");
+  DFP_VAL_PRINT(in, _Decimal64);
+  printf(" -> ");
+  DFP_VAL_PRINT(out, _Decimal64);
+  printf("\n");
+}
+
+void srxt(_Decimal128 in, unsigned long amount)
+{
+  _Decimal128 out;
+  int *shift = (int *) amount;
+
+  asm volatile (".insn rxf, 0xed0000000049, %[out], %[in], 0(%[amount])\n\t"
+                :[out]"=f"(out)
+                :[in]"f"(in),[amount]"a"(shift));
+
+  printf("SRXT ");
+  DFP_VAL_PRINT(in, _Decimal128);
+  printf(" -> ");
+  DFP_VAL_PRINT(out, _Decimal128);
+  printf("\n");
+}
+
+int main() {
+  _Decimal64 d64 = 50.0005DD;
+  _Decimal128 d128 = 50.0005DL;
+
+  eedtr(d64);
+  eedtr(-d64);
+  eedtr(0.DD);
+  eextr(d128);
+  eextr(-d128);
+  eextr(0.DL);
+
+  esdtr(d64);
+  esdtr(-d64);
+  esdtr(0.DD);
+  esxtr(d128);
+  esxtr(-d128);
+  esxtr(0.DL);
+
+  ltdtr(d64);
+  ltdtr(-d64);
+  ltdtr(0.0DD);
+  ltxtr(d128);
+  ltxtr(-d128);
+  ltxtr(0.0DL);
+
+  d64 = 12345678.54321DD;
+  sldt(d64, 10);
+  sldt(-d64, 2);
+  sldt(0.DD, 2);
+  sldt(-0.DD, 2);
+
+  srdt(d64, 5);
+  srdt(-d64, 2);
+  srdt(0.DD, 2);
+  srdt(-0.DD, 2);
+
+  d128 = 12345678.54321DL;
+  slxt(d128, 10);
+  slxt(-d128, 2);
+  slxt(0.DL, 2);
+  slxt(-0.DL, 2);
+
+  srxt(d128, 10);
+  srxt(-d128, 2);
+  srxt(0.DL, 2);
+  srxt(-0.DL, 2);
+
+  d64 = 5.000005DD;
+  iedtr(d64, 391);
+  iedtr(d64, 392);
+  iedtr(d64, 393);
+  iedtr(-d64, 391);
+  iedtr(-d64, 392);
+  iedtr(-d64, 393);
+  iedtr(0.DD, 393);
+  iedtr(-0.DD, 393);
+  iedtr(1.DD, 393);
+
+  d128 = 5.000005DL;
+  iextr(d128, 6169);
+  iextr(d128, 6170);
+  iextr(d128, 6171);
+  iextr(-d128, 6169);
+  iextr(-d128, 6170);
+  iextr(-d128, 6171);
+  iextr(0.DL, 6171);
+  iextr(-0.DL, 6171);
+  iextr(1.DL, 6171);
+
+  d64 = 2.171234DD;
+  quantize64(d64, 0.001DD);
+  quantize64(-d64, 0.001DD);
+  quantize64(-d64, 0.DD);
+  quantize64(0.DD, 0.001DD);
+
+  d128 = 26365343648.171234DL;
+  quantize128(d128, 230.01DL);
+  quantize128(-d128, 230.01DL);
+  quantize128(d128, 0.DL);
+  quantize128(-0.DL, 230.01DL);
+
+  d64 = 2.174598DD;
+  reround64(d64, 3);
+  reround64(d64, 4);
+  reround64(d64, 5);
+  reround64(-d64, 3);
+  reround64(-d64, 4);
+  reround64(-d64, 5);
+  reround64(0.DD, 0);
+
+  d128 = 2.174598DL;
+  reround128(d128, 3);
+  reround128(d128, 4);
+  reround128(d128, 5);
+  reround128(-d128, 3);
+  reround128(-d128, 4);
+  reround128(-d128, 5);
+  reround128(0.DL, 0);
+
+  return 0;
+}
diff --git a/none/tests/s390x/dfp-2.stderr.exp b/none/tests/s390x/dfp-2.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/dfp-2.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/dfp-2.stdout.exp b/none/tests/s390x/dfp-2.stdout.exp
new file mode 100644
index 0000000..ccf5991
--- /dev/null
+++ b/none/tests/s390x/dfp-2.stdout.exp
@@ -0,0 +1,404 @@
+EEDTR 22280000000a0005 -> 394
+EEDTR a2280000000a0005 -> 394
+EEDTR 2238000000000000 -> 398
+EEXTR 2207000000000000000a0005 -> 6172
+EEXTR a207000000000000000a0005 -> 6172
+EEXTR 220800000000000000000000 -> 6176
+ESDTR 22280000000a0005 -> 6
+ESDTR a2280000000a0005 -> 6
+ESDTR 2238000000000000 -> 0
+ESXTR 2207000000000000000a0005 -> 6
+ESXTR a207000000000000000a0005 -> 6
+ESXTR 220800000000000000000000 -> 0
+LTDTR 22280000000a0005 -> 2
+LTDTR a2280000000a0005 -> 1
+LTDTR 2234000000000000 -> 0
+LTXTR 2207000000000000000a0005 -> 2
+LTXTR a207000000000000000a0005 -> 1
+LTXTR 2207c0000000000000000000 -> 0
+SLDT 2224014d2e7971a1 -> 6a26c34400000000
+SLDT a224014d2e7971a1 -> a224a395bcb8c880
+SLDT 2238000000000000 -> 2238000000000000
+SLDT a238000000000000 -> a238000000000000
+SRDT 2224014d2e7971a1 -> 2224000001271778
+SRDT a224014d2e7971a1 -> a22400049c5de2c3
+SRDT 2238000000000000 -> 2238000000000000
+SRDT a238000000000000 -> a238000000000000
+SLXT 2206c0000000000014d2e7971a1 -> 2206c0000000049c5de2c34400000000
+SLXT a206c0000000000014d2e7971a1 -> a206c00000000000a395bcb8c880
+SLXT 220800000000000000000000 -> 220800000000000000000000
+SLXT a20800000000000000000000 -> a20800000000000000000000
+SRXT 2206c0000000000014d2e7971a1 -> 2206c00000000000000000a3
+SRXT a206c0000000000014d2e7971a1 -> a206c0000000000049c5de2c3
+SRXT 220800000000000000000000 -> 220800000000000000000000
+SRXT a20800000000000000000000 -> a20800000000000000000000
+IEDTR 2220000000500005, 391 -> 221c000000500005
+IEDTR 2220000000500005, 392 -> 2220000000500005
+IEDTR 2220000000500005, 393 -> 2224000000500005
+IEDTR a220000000500005, 391 -> a21c000000500005
+IEDTR a220000000500005, 392 -> a220000000500005
+IEDTR a220000000500005, 393 -> a224000000500005
+IEDTR 2238000000000000, 393 -> 2224000000000000
+IEDTR a238000000000000, 393 -> a224000000000000
+IEDTR 2238000000000001, 393 -> 2224000000000001
+IEXTR 220680000000000000500005, 6169 -> 220640000000000000500005
+IEXTR 220680000000000000500005, 6170 -> 220680000000000000500005
+IEXTR 220680000000000000500005, 6171 -> 2206c0000000000000500005
+IEXTR a20680000000000000500005, 6169 -> a20640000000000000500005
+IEXTR a20680000000000000500005, 6170 -> a20680000000000000500005
+IEXTR a20680000000000000500005, 6171 -> a206c0000000000000500005
+IEXTR 220800000000000000000000, 6171 -> 2206c0000000000000000000
+IEXTR a20800000000000000000000, 6171 -> a206c0000000000000000000
+IEXTR 220800000000000000000001, 6171 -> 2206c0000000000000000001
+QADTR 222000000023c534, 222c000000000001, 0 -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, 1 -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, 2 -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, 3 -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, 4 -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, 5 -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, 6 -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, 7 -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, 8 -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, 9 -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, a -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, b -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, c -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, d -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, e -> 222c0000000008f1
+QADTR 222000000023c534, 222c000000000001, f -> 222c0000000008f1
+QADTR a22000000023c534, 222c000000000001, 0 -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, 1 -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, 2 -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, 3 -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, 4 -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, 5 -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, 6 -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, 7 -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, 8 -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, 9 -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, a -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, b -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, c -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, d -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, e -> a22c0000000008f1
+QADTR a22000000023c534, 222c000000000001, f -> a22c0000000008f1
+QADTR a22000000023c534, 2238000000000000, 0 -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, 1 -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, 2 -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, 3 -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, 4 -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, 5 -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, 6 -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, 7 -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, 8 -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, 9 -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, a -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, b -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, c -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, d -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, e -> a238000000000002
+QADTR a22000000023c534, 2238000000000000, f -> a238000000000002
+QADTR 2238000000000000, 222c000000000001, 0 -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, 1 -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, 2 -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, 3 -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, 4 -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, 5 -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, 6 -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, 7 -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, 8 -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, 9 -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, a -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, b -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, c -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, d -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, e -> 222c000000000000
+QADTR 2238000000000000, 222c000000000001, f -> 222c000000000000
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, 0 -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, 1 -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, 2 -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, 3 -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, 4 -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, 5 -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, 6 -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, 7 -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, 8 -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, 9 -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, a -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, b -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, c -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, d -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, e -> 22078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220780000000000000008c01, f -> 22078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, 0 -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, 1 -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, 2 -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, 3 -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, 4 -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, 5 -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, 6 -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, 7 -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, 8 -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, 9 -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, a -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, b -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, c -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, d -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, e -> a2078000000000002cdab47931d
+QAXTR a20680000000000099e570f483c534, 220780000000000000008c01, f -> a2078000000000002cdab47931d
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, 0 -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, 1 -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, 2 -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, 3 -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, 4 -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, 5 -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, 6 -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, 7 -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, 8 -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, 9 -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, a -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, b -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, c -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, d -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, e -> 220800000000000099e570f48
+QAXTR 220680000000000099e570f483c534, 220800000000000000000000, f -> 220800000000000099e570f48
+QAXTR a20800000000000000000000, 220780000000000000008c01, 0 -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, 1 -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, 2 -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, 3 -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, 4 -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, 5 -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, 6 -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, 7 -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, 8 -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, 9 -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, a -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, b -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, c -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, d -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, e -> a20780000000000000000000
+QAXTR a20800000000000000000000, 220780000000000000008c01, f -> a20780000000000000000000
+RRDTR 222000000023d2de, 3, 0 -> 2230000000000117
+RRDTR 222000000023d2de, 3, 1 -> 2230000000000117
+RRDTR 222000000023d2de, 3, 2 -> 2230000000000117
+RRDTR 222000000023d2de, 3, 3 -> 2230000000000117
+RRDTR 222000000023d2de, 3, 4 -> 2230000000000117
+RRDTR 222000000023d2de, 3, 5 -> 2230000000000117
+RRDTR 222000000023d2de, 3, 6 -> 2230000000000117
+RRDTR 222000000023d2de, 3, 7 -> 2230000000000117
+RRDTR 222000000023d2de, 3, 8 -> 2230000000000117
+RRDTR 222000000023d2de, 3, 9 -> 2230000000000117
+RRDTR 222000000023d2de, 3, a -> 2230000000000117
+RRDTR 222000000023d2de, 3, b -> 2230000000000117
+RRDTR 222000000023d2de, 3, c -> 2230000000000117
+RRDTR 222000000023d2de, 3, d -> 2230000000000117
+RRDTR 222000000023d2de, 3, e -> 2230000000000117
+RRDTR 222000000023d2de, 3, f -> 2230000000000117
+RRDTR 222000000023d2de, 4, 0 -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, 1 -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, 2 -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, 3 -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, 4 -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, 5 -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, 6 -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, 7 -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, 8 -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, 9 -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, a -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, b -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, c -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, d -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, e -> 222c0000000008f5
+RRDTR 222000000023d2de, 4, f -> 222c0000000008f5
+RRDTR 222000000023d2de, 5, 0 -> 22280000000087c6
+RRDTR 222000000023d2de, 5, 1 -> 22280000000087c6
+RRDTR 222000000023d2de, 5, 2 -> 22280000000087c6
+RRDTR 222000000023d2de, 5, 3 -> 22280000000087c6
+RRDTR 222000000023d2de, 5, 4 -> 22280000000087c6
+RRDTR 222000000023d2de, 5, 5 -> 22280000000087c6
+RRDTR 222000000023d2de, 5, 6 -> 22280000000087c6
+RRDTR 222000000023d2de, 5, 7 -> 22280000000087c6
+RRDTR 222000000023d2de, 5, 8 -> 22280000000087c6
+RRDTR 222000000023d2de, 5, 9 -> 22280000000087c6
+RRDTR 222000000023d2de, 5, a -> 22280000000087c6
+RRDTR 222000000023d2de, 5, b -> 22280000000087c6
+RRDTR 222000000023d2de, 5, c -> 22280000000087c6
+RRDTR 222000000023d2de, 5, d -> 22280000000087c6
+RRDTR 222000000023d2de, 5, e -> 22280000000087c6
+RRDTR 222000000023d2de, 5, f -> 22280000000087c6
+RRDTR a22000000023d2de, 3, 0 -> a230000000000117
+RRDTR a22000000023d2de, 3, 1 -> a230000000000117
+RRDTR a22000000023d2de, 3, 2 -> a230000000000117
+RRDTR a22000000023d2de, 3, 3 -> a230000000000117
+RRDTR a22000000023d2de, 3, 4 -> a230000000000117
+RRDTR a22000000023d2de, 3, 5 -> a230000000000117
+RRDTR a22000000023d2de, 3, 6 -> a230000000000117
+RRDTR a22000000023d2de, 3, 7 -> a230000000000117
+RRDTR a22000000023d2de, 3, 8 -> a230000000000117
+RRDTR a22000000023d2de, 3, 9 -> a230000000000117
+RRDTR a22000000023d2de, 3, a -> a230000000000117
+RRDTR a22000000023d2de, 3, b -> a230000000000117
+RRDTR a22000000023d2de, 3, c -> a230000000000117
+RRDTR a22000000023d2de, 3, d -> a230000000000117
+RRDTR a22000000023d2de, 3, e -> a230000000000117
+RRDTR a22000000023d2de, 3, f -> a230000000000117
+RRDTR a22000000023d2de, 4, 0 -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, 1 -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, 2 -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, 3 -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, 4 -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, 5 -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, 6 -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, 7 -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, 8 -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, 9 -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, a -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, b -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, c -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, d -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, e -> a22c0000000008f5
+RRDTR a22000000023d2de, 4, f -> a22c0000000008f5
+RRDTR a22000000023d2de, 5, 0 -> a2280000000087c6
+RRDTR a22000000023d2de, 5, 1 -> a2280000000087c6
+RRDTR a22000000023d2de, 5, 2 -> a2280000000087c6
+RRDTR a22000000023d2de, 5, 3 -> a2280000000087c6
+RRDTR a22000000023d2de, 5, 4 -> a2280000000087c6
+RRDTR a22000000023d2de, 5, 5 -> a2280000000087c6
+RRDTR a22000000023d2de, 5, 6 -> a2280000000087c6
+RRDTR a22000000023d2de, 5, 7 -> a2280000000087c6
+RRDTR a22000000023d2de, 5, 8 -> a2280000000087c6
+RRDTR a22000000023d2de, 5, 9 -> a2280000000087c6
+RRDTR a22000000023d2de, 5, a -> a2280000000087c6
+RRDTR a22000000023d2de, 5, b -> a2280000000087c6
+RRDTR a22000000023d2de, 5, c -> a2280000000087c6
+RRDTR a22000000023d2de, 5, d -> a2280000000087c6
+RRDTR a22000000023d2de, 5, e -> a2280000000087c6
+RRDTR a22000000023d2de, 5, f -> a2280000000087c6
+RRDTR 2238000000000000, 0, 0 -> 2238000000000000
+RRDTR 2238000000000000, 0, 1 -> 2238000000000000
+RRDTR 2238000000000000, 0, 2 -> 2238000000000000
+RRDTR 2238000000000000, 0, 3 -> 2238000000000000
+RRDTR 2238000000000000, 0, 4 -> 2238000000000000
+RRDTR 2238000000000000, 0, 5 -> 2238000000000000
+RRDTR 2238000000000000, 0, 6 -> 2238000000000000
+RRDTR 2238000000000000, 0, 7 -> 2238000000000000
+RRDTR 2238000000000000, 0, 8 -> 2238000000000000
+RRDTR 2238000000000000, 0, 9 -> 2238000000000000
+RRDTR 2238000000000000, 0, a -> 2238000000000000
+RRDTR 2238000000000000, 0, b -> 2238000000000000
+RRDTR 2238000000000000, 0, c -> 2238000000000000
+RRDTR 2238000000000000, 0, d -> 2238000000000000
+RRDTR 2238000000000000, 0, e -> 2238000000000000
+RRDTR 2238000000000000, 0, f -> 2238000000000000
+RRXTR 22068000000000000023d2de, 3, 0 -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, 1 -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, 2 -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, 3 -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, 4 -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, 5 -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, 6 -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, 7 -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, 8 -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, 9 -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, a -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, b -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, c -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, d -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, e -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 3, f -> 220780000000000000000117
+RRXTR 22068000000000000023d2de, 4, 0 -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, 1 -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, 2 -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, 3 -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, 4 -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, 5 -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, 6 -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, 7 -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, 8 -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, 9 -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, a -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, b -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, c -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, d -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, e -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 4, f -> 2207400000000000000008f5
+RRXTR 22068000000000000023d2de, 5, 0 -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, 1 -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, 2 -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, 3 -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, 4 -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, 5 -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, 6 -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, 7 -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, 8 -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, 9 -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, a -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, b -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, c -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, d -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, e -> 2207000000000000000087c6
+RRXTR 22068000000000000023d2de, 5, f -> 2207000000000000000087c6
+RRXTR a2068000000000000023d2de, 3, 0 -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, 1 -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, 2 -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, 3 -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, 4 -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, 5 -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, 6 -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, 7 -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, 8 -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, 9 -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, a -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, b -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, c -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, d -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, e -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 3, f -> a20780000000000000000117
+RRXTR a2068000000000000023d2de, 4, 0 -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, 1 -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, 2 -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, 3 -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, 4 -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, 5 -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, 6 -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, 7 -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, 8 -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, 9 -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, a -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, b -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, c -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, d -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, e -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 4, f -> a207400000000000000008f5
+RRXTR a2068000000000000023d2de, 5, 0 -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, 1 -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, 2 -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, 3 -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, 4 -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, 5 -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, 6 -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, 7 -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, 8 -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, 9 -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, a -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, b -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, c -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, d -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, e -> a207000000000000000087c6
+RRXTR a2068000000000000023d2de, 5, f -> a207000000000000000087c6
+RRXTR 220800000000000000000000, 0, 0 -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, 1 -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, 2 -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, 3 -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, 4 -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, 5 -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, 6 -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, 7 -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, 8 -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, 9 -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, a -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, b -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, c -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, d -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, e -> 220800000000000000000000
+RRXTR 220800000000000000000000, 0, f -> 220800000000000000000000
diff --git a/none/tests/s390x/dfp-2.vgtest b/none/tests/s390x/dfp-2.vgtest
new file mode 100644
index 0000000..1646329
--- /dev/null
+++ b/none/tests/s390x/dfp-2.vgtest
@@ -0,0 +1,2 @@
+prog: dfp-2
+prereq: test -e dfp-2 && ../../../tests/s390x_features s390x-dfp
diff --git a/none/tests/s390x/dfp-3.c b/none/tests/s390x/dfp-3.c
new file mode 100644
index 0000000..ed0177c
--- /dev/null
+++ b/none/tests/s390x/dfp-3.c
@@ -0,0 +1,116 @@
+#include <stdio.h>
+#include <sys/types.h>
+#include "opcodes.h"
+#include "dfp_utils.h"
+
+/* Following macros adopted from dfp/math.h from libdfp */
+#define DEC_INFINITY    __builtin_infd64()
+#define DEC_NAN         (0.0DF * DEC_INFINITY)
+
+/* Test DFP value and exponent comparison for  64/128-bit. */
+
+#define CMP_DFP(insn, op1, op2, type, cc)                               \
+  ({                                                                    \
+  register type d1 asm("f0") =  op1;                                    \
+  register type d2 asm("f1") =  op2;                                    \
+  /* cc = d1 (cmp) d2    */                                             \
+  asm volatile(insn(0,1)                                                \
+               "ipm %0\n\t"                                             \
+               "srl %0,28\n\t"                                          \
+               :"=d" (cc)                                               \
+               :"f"(d1), "f"(d2)                                        \
+               );                                                       \
+  cc;                                                                   \
+})
+
+
+#define COMPARE(insn, v1, v2, type)                                     \
+  {                                                                     \
+    int cc;                                                             \
+    CMP_DFP(insn, v1, v2, type, cc);                                    \
+    DFP_VAL_PRINT(v1, type);                                            \
+    switch (cc) {                                                       \
+    case 0:                                                             \
+      printf(" == ");                                                   \
+      break;                                                            \
+    case 1:                                                             \
+      printf(" < ");                                                    \
+      break;                                                            \
+    case 2:                                                             \
+      printf(" > ");                                                    \
+      break;                                                            \
+    case 3:                                                             \
+      printf(" <> ");                                                   \
+      break;                                                            \
+    }                                                                   \
+    DFP_VAL_PRINT(v2, type);                                            \
+    printf(" (cc == %d)\n", cc);                                        \
+}
+
+int main(void)
+{
+   _Decimal64 d64_1, d64_2;
+   _Decimal128 d128_1, d128_2;
+
+   /* compare 8 bytes DFP value */
+   printf("cdtr:\n");
+   d64_1 = 5.000005DD;
+   d64_2 = 50000000000000000.000005DD;
+   COMPARE(CDTR, d64_1, d64_1, _Decimal64);
+   COMPARE(CDTR, d64_1, d64_2, _Decimal64);
+   COMPARE(CDTR, d64_2, d64_1, _Decimal64);
+
+   /* compare NAN and INF operands */
+   d64_1 = DEC_INFINITY;
+   d64_2 = DEC_NAN;
+   COMPARE(CDTR, d64_1, d64_2, _Decimal64);
+   COMPARE(CDTR, d64_1, d64_1, _Decimal64);
+   COMPARE(CDTR, d64_2, d64_2, _Decimal64);
+
+   /* compare 16 bytes DFP value */
+   printf("cxtr:\n");
+   d128_1 = 5.00005DL;
+   d128_2 = 5000000000000000.5DL;
+   COMPARE(CXTR, d128_1, d128_1, _Decimal128);
+   COMPARE(CXTR, d128_1, d128_2, _Decimal128);
+   COMPARE(CXTR, d128_2, d128_1, _Decimal128);
+
+   /* compare NAN and INF operands */
+   d128_1 = DEC_INFINITY;
+   d128_2 = DEC_NAN;
+   COMPARE(CXTR, d128_1, d128_2, _Decimal128);
+   COMPARE(CXTR, d128_1, d128_1, _Decimal128);
+   COMPARE(CXTR, d128_2, d128_2, _Decimal128);
+
+   /* compare exponents of 8 bytes DFP value */
+   printf("cedtr:\n");
+   d64_1 = 5.000005DD;
+   d64_2 = 50000000000000000.000005DD;
+   COMPARE(CEDTR, d64_1, d64_1, _Decimal64);
+   COMPARE(CEDTR, d64_1, d64_2, _Decimal64);
+   COMPARE(CEDTR, d64_2, d64_1, _Decimal64);
+
+   /* compare NAN and INF operands */
+   d64_1 = DEC_INFINITY;
+   d64_2 = DEC_NAN;
+   COMPARE(CEDTR, d64_1, d64_2, _Decimal64);
+   COMPARE(CEDTR, d64_1, d64_1, _Decimal64);
+   COMPARE(CEDTR, d64_2, d64_2, _Decimal64);
+
+   /* compare exponents of 16 bytes DFP value */
+   printf("cextr:\n");
+   d128_1 = 5.00005DL;
+   d128_2 = 5000000000000000.5DL;
+   COMPARE(CEXTR, d128_1, d128_1, _Decimal128);
+   COMPARE(CEXTR, d128_1, d128_2, _Decimal128);
+   COMPARE(CEXTR, d128_2, d128_1, _Decimal128);
+
+   /* compare NAN and INF operands */
+   d128_1 = DEC_INFINITY;
+   d128_2 = DEC_NAN;
+   COMPARE(CEXTR, d128_1, d128_2, _Decimal128);
+   COMPARE(CEXTR, d128_1, d128_1, _Decimal128);
+   COMPARE(CEXTR, d128_2, d128_2, _Decimal128);
+
+   return 0;
+}
diff --git a/none/tests/s390x/dfp-3.stderr.exp b/none/tests/s390x/dfp-3.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/dfp-3.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/dfp-3.stdout.exp b/none/tests/s390x/dfp-3.stdout.exp
new file mode 100644
index 0000000..83c422f
--- /dev/null
+++ b/none/tests/s390x/dfp-3.stdout.exp
@@ -0,0 +1,28 @@
+cdtr:
+2220000000500005 == 2220000000500005 (cc == 0)
+2220000000500005 < 363c000000000000 (cc == 1)
+363c000000000000 > 2220000000500005 (cc == 2)
+7800000000000000 <> 7c00000000000000 (cc == 3)
+7800000000000000 == 7800000000000000 (cc == 0)
+7c00000000000000 <> 7c00000000000000 (cc == 3)
+cxtr:
+2206c00000000000000a0005 == 2206c00000000000000a0005 (cc == 0)
+2206c00000000000000a0005 < 2207c00000000000140000000000005 (cc == 1)
+2207c00000000000140000000000005 > 2206c00000000000000a0005 (cc == 2)
+780000000000000000000000 <> 7c0000000000000000000000 (cc == 3)
+780000000000000000000000 == 780000000000000000000000 (cc == 0)
+7c0000000000000000000000 <> 7c0000000000000000000000 (cc == 3)
+cedtr:
+2220000000500005 == 2220000000500005 (cc == 0)
+2220000000500005 < 363c000000000000 (cc == 1)
+363c000000000000 > 2220000000500005 (cc == 2)
+7800000000000000 <> 7c00000000000000 (cc == 3)
+7800000000000000 == 7800000000000000 (cc == 0)
+7c00000000000000 == 7c00000000000000 (cc == 0)
+cextr:
+2206c00000000000000a0005 == 2206c00000000000000a0005 (cc == 0)
+2206c00000000000000a0005 < 2207c00000000000140000000000005 (cc == 1)
+2207c00000000000140000000000005 > 2206c00000000000000a0005 (cc == 2)
+780000000000000000000000 <> 7c0000000000000000000000 (cc == 3)
+780000000000000000000000 == 780000000000000000000000 (cc == 0)
+7c0000000000000000000000 == 7c0000000000000000000000 (cc == 0)
diff --git a/none/tests/s390x/dfp-3.vgtest b/none/tests/s390x/dfp-3.vgtest
new file mode 100644
index 0000000..e2b5673
--- /dev/null
+++ b/none/tests/s390x/dfp-3.vgtest
@@ -0,0 +1,2 @@
+prog: dfp-3
+prereq: test -e dfp-3 && ../../../tests/s390x_features s390x-dfp
diff --git a/none/tests/s390x/dfp-4.c b/none/tests/s390x/dfp-4.c
new file mode 100644
index 0000000..eaaea41
--- /dev/null
+++ b/none/tests/s390x/dfp-4.c
@@ -0,0 +1,43 @@
+#include <stdio.h>
+#include <sys/types.h>
+#include "dfp_utils.h"
+
+volatile _Decimal32 d32_1, d32_2;
+volatile _Decimal64 d64_1, d64_2;
+volatile _Decimal128 d128_1, d128_2;
+
+int main(void)
+{
+   d64_1 = 5.000005DD;
+   d64_2 = 60000.4DD;
+   d32_1 = 3.000002DF;
+   d32_2 = 500000.000005DF;
+   d128_1 = 100000000.000028DL;
+
+   d64_1 = (_Decimal64) d32_1; //Exercise LDETR (load lengthened)
+   printf("D32 -> D64  : ");
+   DFP_VAL_PRINT(d32_1, _Decimal32);
+   printf(" -> ");
+   DFP_VAL_PRINT(d64_1, _Decimal64);
+
+   d128_2 = (_Decimal128) d64_2; //Exercise LXDTR (load lengthened)
+   printf("\nD64 -> D128 : ");
+   DFP_VAL_PRINT(d64_2, _Decimal64);
+   printf(" -> ");
+   DFP_VAL_PRINT(d128_2, _Decimal128);
+
+   d32_2 = (_Decimal32) d64_2; //Exercise LEDTR (load rounded)
+   printf("\nD64 -> D32  : ");
+   DFP_VAL_PRINT(d64_2, _Decimal64);
+   printf(" -> ");
+   DFP_VAL_PRINT(d32_2, _Decimal32);
+
+   d64_2 = (_Decimal64) d128_1; //Exercise LDXTR (load rounded)
+   printf("\nD128 -> D64 : ");
+   DFP_VAL_PRINT(d128_1, _Decimal128);
+   printf(" -> ");
+   DFP_VAL_PRINT(d64_2, _Decimal64);
+   printf("\n");
+
+   return 0;
+}
diff --git a/none/tests/s390x/dfp-4.stderr.exp b/none/tests/s390x/dfp-4.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/dfp-4.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/dfp-4.stdout.exp b/none/tests/s390x/dfp-4.stdout.exp
new file mode 100644
index 0000000..9a2319c
--- /dev/null
+++ b/none/tests/s390x/dfp-4.stdout.exp
@@ -0,0 +1,4 @@
+D32 -> D64  : 2df00002 -> 2220000000300002
+D64 -> D128 : 22340000000c0004 -> 2207c00000000000000c0004
+D64 -> D32  : 22340000000c0004 -> 224c0004
+D128 -> D64 : 2206800000000000800000000028 -> 2220800000000028
diff --git a/none/tests/s390x/dfp-4.vgtest b/none/tests/s390x/dfp-4.vgtest
new file mode 100644
index 0000000..0ffc1a6
--- /dev/null
+++ b/none/tests/s390x/dfp-4.vgtest
@@ -0,0 +1,2 @@
+prog: dfp-4
+prereq: test -e dfp-4 && ../../../tests/s390x_features s390x-dfp
diff --git a/none/tests/s390x/dfp_utils.h b/none/tests/s390x/dfp_utils.h
new file mode 100644
index 0000000..031f29e
--- /dev/null
+++ b/none/tests/s390x/dfp_utils.h
@@ -0,0 +1,32 @@
+#ifndef DFP_UTILS_H
+#define DFP_UTILS_H
+
+#include <stddef.h>      /* size_t */
+#include <stdio.h>       /* printf */
+
+/* convinience macros to print DFP values to avoid linking libdfp to
+   DFP testcases */
+
+#define DFP_VAL_PRINT(op, type)                                         \
+  {                                                                     \
+    size_t n = sizeof(type);                                            \
+    if (n == 4)                                                         \
+      printf("%x", *((unsigned int *) &op));                            \
+    else if (n == 8)                                                    \
+      printf("%lx", *((unsigned long *) &op));                          \
+    else                                                                \
+      printf("%lx%08lx", *((unsigned long *) &op),                      \
+             *(((unsigned long *) &op) + 1));                           \
+  }
+
+#define DFP_BINOP_PRINT(op1, op2, result, type, op, cc)                 \
+  {                                                                     \
+    DFP_VAL_PRINT(op1, type);                                           \
+    printf(" "op" ");                                                   \
+    DFP_VAL_PRINT(op2, type);                                           \
+    printf(" = ");                                                      \
+    DFP_VAL_PRINT(result, type);                                        \
+    printf(" cc = %d\n", cc);                                           \
+  }
+
+#endif /* DFP_UTILS_H */
diff --git a/none/tests/s390x/dfpconv.c b/none/tests/s390x/dfpconv.c
new file mode 100644
index 0000000..5656a0e
--- /dev/null
+++ b/none/tests/s390x/dfpconv.c
@@ -0,0 +1,150 @@
+#include <stdio.h>
+#include "opcodes.h"
+#include "dfp_utils.h"
+#define __STDC_WANT_DEC_FP__ 1
+#include <float.h>
+
+#define I2D(insn,  initial, target,round)                               \
+  ({                                                                    \
+    register int source asm("2") =  initial;                            \
+    register typeof(target) _t asm("f0");                               \
+    asm volatile(insn(round,0,0,2) :"=f" (_t):"d"(source));             \
+    _t;                                                                 \
+})
+
+#define D2I(insn, initial, type, round, cc)                             \
+  ({                                                                    \
+    register type source asm("f0") =  initial;                          \
+    register int target asm ("2") = 0;                                  \
+    asm volatile(insn(round,0,2,0)                                      \
+                 "ipm %1\n\t"                                           \
+                 "srl %1,28\n\t"                                        \
+                 :"=d" (target), "=d" (cc) :"f"(source):"cc");          \
+    target;                                                             \
+})
+
+
+#define DO_PRINT_I2D(insn, l, d, round)                                 \
+  ({                                                                    \
+    printf(#insn " round=%d %d -> ", 0x##round, l);                     \
+    d = I2D(insn, l, d, round);                                         \
+    DFP_VAL_PRINT(d, typeof(d));                                        \
+    printf("\n");                                                       \
+  })
+
+#define DO_INSN_I2D(insn, round, type)                                  \
+  ({                                                                    \
+    type d;                                                             \
+    DO_PRINT_I2D(insn, 0, d, round);                                    \
+    DO_PRINT_I2D(insn, 1, d, round);                                    \
+    DO_PRINT_I2D(insn, 0xffffffff, d, round);                           \
+    DO_PRINT_I2D(insn, 0x80000000, d, round);                           \
+    DO_PRINT_I2D(insn, 0x7fffffff, d, round);                           \
+   })
+
+#define DO_PRINT_D2I(insn, d, type, round, cc)                          \
+  ({                                                                    \
+    printf(#insn " round=%d ", 0x##round);                              \
+    DFP_VAL_PRINT(d, type);                                             \
+    printf(" -> %d ", D2I(insn, d, type, round, cc));                   \
+    printf("cc=%d\n", cc);                                              \
+  })
+
+#define DO_INSN_D2I(insn, round, type)                                  \
+  ({                                                                    \
+    int cc;                                                             \
+    type d;                                                             \
+    d = -1.1DD;                                                         \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 0.DD;                                                           \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.DD;                                                           \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.4DD;                                                          \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.5DD;                                                          \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6DD;                                                          \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+4DD;                                                       \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+8DD;                                                       \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+4DD;                                                       \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+12DD;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+20DD;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+200DD;                                                     \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E-4DD;                                                       \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = DEC32_MIN;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = DEC32_MAX;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = DEC64_MIN;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = DEC64_MAX;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+  })
+
+#define DO_D2I(round)                                                   \
+  ({                                                                    \
+    DO_INSN_D2I(CGDTRA,  round, _Decimal64);                            \
+    DO_INSN_D2I(CGXTRA,  round, _Decimal128);                           \
+  })
+
+
+int main()
+{
+  /* rounding mode is not used for the I64 -> D128 conversion */
+  DO_INSN_I2D(CXGTRA, 0, _Decimal128);
+
+  /* Omit rounding mode value 0 and 2 as the current DFP rounding
+     mode is chosen for these values. */
+  DO_INSN_I2D(CDGTRA, 1, _Decimal64);
+  DO_D2I(1);
+
+  DO_INSN_I2D(CDGTRA, 3, _Decimal64);
+  DO_D2I(3);
+
+  DO_INSN_I2D(CDGTRA, 4, _Decimal64);
+  DO_D2I(4);
+
+  DO_INSN_I2D(CDGTRA, 5, _Decimal64);
+  DO_D2I(5);
+
+  DO_INSN_I2D(CDGTRA, 6, _Decimal64);
+  DO_D2I(6);
+
+  DO_INSN_I2D(CDGTRA, 7, _Decimal64);
+  DO_D2I(7);
+
+  DO_INSN_I2D(CDGTRA, 8, _Decimal64);
+  DO_D2I(8);
+
+  DO_INSN_I2D(CDGTRA, 9, _Decimal64);
+  DO_D2I(9);
+
+  DO_INSN_I2D(CDGTRA, a, _Decimal64);
+  DO_D2I(a);
+
+  DO_INSN_I2D(CDGTRA, b, _Decimal64);
+  DO_D2I(b);
+
+  DO_INSN_I2D(CDGTRA, c, _Decimal64);
+  DO_D2I(c);
+
+  DO_INSN_I2D(CDGTRA, d, _Decimal64);
+  DO_D2I(d);
+
+  DO_INSN_I2D(CDGTRA, e, _Decimal64);
+  DO_D2I(e);
+
+  DO_INSN_I2D(CDGTRA, f, _Decimal64);
+  DO_D2I(f);
+
+  return 0;
+}
diff --git a/none/tests/s390x/dfpconv.stderr.exp b/none/tests/s390x/dfpconv.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/dfpconv.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/dfpconv.stdout.exp b/none/tests/s390x/dfpconv.stdout.exp
new file mode 100644
index 0000000..d30a0d6
--- /dev/null
+++ b/none/tests/s390x/dfpconv.stdout.exp
@@ -0,0 +1,551 @@
+CXGTRA round=0 0 -> 220800000000000000000000
+CXGTRA round=0 1 -> 220800000000000000000001
+CXGTRA round=0 -1 -> 2208000000000000115afb55b
+CXGTRA round=0 -2147483648 -> 22080000000000008c78af48
+CXGTRA round=0 2147483647 -> 22080000000000008c78af47
+CDGTRA round=1 0 -> 2238000000000000
+CDGTRA round=1 1 -> 2238000000000001
+CDGTRA round=1 -1 -> 2238000115afb55b
+CDGTRA round=1 -2147483648 -> 223800008c78af48
+CDGTRA round=1 2147483647 -> 223800008c78af47
+CGDTRA round=1 a234000000000011 -> -1 cc=1
+CGDTRA round=1 2238000000000000 -> 0 cc=0
+CGDTRA round=1 2238000000000001 -> 1 cc=2
+CGDTRA round=1 2234000000000014 -> 1 cc=2
+CGDTRA round=1 2234000000000015 -> 2 cc=2
+CGDTRA round=1 2234000000000016 -> 2 cc=2
+CGDTRA round=1 2244000000000016 -> 16000 cc=2
+CGDTRA round=1 2254000000000016 -> 160000000 cc=2
+CGDTRA round=1 2244000000000016 -> 16000 cc=2
+CGDTRA round=1 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=1 2284000000000016 -> -1 cc=3
+CGDTRA round=1 4154000000000016 -> -1 cc=3
+CGDTRA round=1 2224000000000016 -> 0 cc=2
+CGDTRA round=1 20bc000000000001 -> 0 cc=2
+CGDTRA round=1 23a000000093fcff -> -1 cc=3
+CGDTRA round=1 3c000000000001 -> 0 cc=2
+CGDTRA round=1 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=1 a207c0000000000000000011 -> -1 cc=1
+CGXTRA round=1 220800000000000000000000 -> 0 cc=0
+CGXTRA round=1 220800000000000000000001 -> 1 cc=2
+CGXTRA round=1 2207c0000000000000000014 -> 1 cc=2
+CGXTRA round=1 2207c0000000000000000015 -> 2 cc=2
+CGXTRA round=1 2207c0000000000000000016 -> 2 cc=2
+CGXTRA round=1 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=1 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=1 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=1 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=1 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=1 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=1 2206c0000000000000000016 -> 0 cc=2
+CGXTRA round=1 21f040000000000000000001 -> 0 cc=2
+CGXTRA round=1 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=1 21a840000000000000000001 -> 0 cc=2
+CGXTRA round=1 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=3 0 -> 2238000000000000
+CDGTRA round=3 1 -> 2238000000000001
+CDGTRA round=3 -1 -> 2238000115afb55b
+CDGTRA round=3 -2147483648 -> 223800008c78af48
+CDGTRA round=3 2147483647 -> 223800008c78af47
+CGDTRA round=3 a234000000000011 -> -1 cc=1
+CGDTRA round=3 2238000000000000 -> 0 cc=0
+CGDTRA round=3 2238000000000001 -> 1 cc=2
+CGDTRA round=3 2234000000000014 -> 1 cc=2
+CGDTRA round=3 2234000000000015 -> 1 cc=2
+CGDTRA round=3 2234000000000016 -> 1 cc=2
+CGDTRA round=3 2244000000000016 -> 16000 cc=2
+CGDTRA round=3 2254000000000016 -> 160000000 cc=2
+CGDTRA round=3 2244000000000016 -> 16000 cc=2
+CGDTRA round=3 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=3 2284000000000016 -> -1 cc=3
+CGDTRA round=3 4154000000000016 -> -1 cc=3
+CGDTRA round=3 2224000000000016 -> 1 cc=2
+CGDTRA round=3 20bc000000000001 -> 1 cc=2
+CGDTRA round=3 23a000000093fcff -> -1 cc=3
+CGDTRA round=3 3c000000000001 -> 1 cc=2
+CGDTRA round=3 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=3 a207c0000000000000000011 -> -1 cc=1
+CGXTRA round=3 220800000000000000000000 -> 0 cc=0
+CGXTRA round=3 220800000000000000000001 -> 1 cc=2
+CGXTRA round=3 2207c0000000000000000014 -> 1 cc=2
+CGXTRA round=3 2207c0000000000000000015 -> 1 cc=2
+CGXTRA round=3 2207c0000000000000000016 -> 1 cc=2
+CGXTRA round=3 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=3 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=3 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=3 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=3 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=3 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=3 2206c0000000000000000016 -> 1 cc=2
+CGXTRA round=3 21f040000000000000000001 -> 1 cc=2
+CGXTRA round=3 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=3 21a840000000000000000001 -> 1 cc=2
+CGXTRA round=3 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=4 0 -> 2238000000000000
+CDGTRA round=4 1 -> 2238000000000001
+CDGTRA round=4 -1 -> 2238000115afb55b
+CDGTRA round=4 -2147483648 -> 223800008c78af48
+CDGTRA round=4 2147483647 -> 223800008c78af47
+CGDTRA round=4 a234000000000011 -> -1 cc=1
+CGDTRA round=4 2238000000000000 -> 0 cc=0
+CGDTRA round=4 2238000000000001 -> 1 cc=2
+CGDTRA round=4 2234000000000014 -> 1 cc=2
+CGDTRA round=4 2234000000000015 -> 2 cc=2
+CGDTRA round=4 2234000000000016 -> 2 cc=2
+CGDTRA round=4 2244000000000016 -> 16000 cc=2
+CGDTRA round=4 2254000000000016 -> 160000000 cc=2
+CGDTRA round=4 2244000000000016 -> 16000 cc=2
+CGDTRA round=4 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=4 2284000000000016 -> -1 cc=3
+CGDTRA round=4 4154000000000016 -> -1 cc=3
+CGDTRA round=4 2224000000000016 -> 0 cc=2
+CGDTRA round=4 20bc000000000001 -> 0 cc=2
+CGDTRA round=4 23a000000093fcff -> -1 cc=3
+CGDTRA round=4 3c000000000001 -> 0 cc=2
+CGDTRA round=4 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=4 a207c0000000000000000011 -> -1 cc=1
+CGXTRA round=4 220800000000000000000000 -> 0 cc=0
+CGXTRA round=4 220800000000000000000001 -> 1 cc=2
+CGXTRA round=4 2207c0000000000000000014 -> 1 cc=2
+CGXTRA round=4 2207c0000000000000000015 -> 2 cc=2
+CGXTRA round=4 2207c0000000000000000016 -> 2 cc=2
+CGXTRA round=4 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=4 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=4 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=4 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=4 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=4 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=4 2206c0000000000000000016 -> 0 cc=2
+CGXTRA round=4 21f040000000000000000001 -> 0 cc=2
+CGXTRA round=4 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=4 21a840000000000000000001 -> 0 cc=2
+CGXTRA round=4 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=5 0 -> 2238000000000000
+CDGTRA round=5 1 -> 2238000000000001
+CDGTRA round=5 -1 -> 2238000115afb55b
+CDGTRA round=5 -2147483648 -> 223800008c78af48
+CDGTRA round=5 2147483647 -> 223800008c78af47
+CGDTRA round=5 a234000000000011 -> -1 cc=1
+CGDTRA round=5 2238000000000000 -> 0 cc=0
+CGDTRA round=5 2238000000000001 -> 1 cc=2
+CGDTRA round=5 2234000000000014 -> 1 cc=2
+CGDTRA round=5 2234000000000015 -> 1 cc=2
+CGDTRA round=5 2234000000000016 -> 1 cc=2
+CGDTRA round=5 2244000000000016 -> 16000 cc=2
+CGDTRA round=5 2254000000000016 -> 160000000 cc=2
+CGDTRA round=5 2244000000000016 -> 16000 cc=2
+CGDTRA round=5 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=5 2284000000000016 -> -1 cc=3
+CGDTRA round=5 4154000000000016 -> -1 cc=3
+CGDTRA round=5 2224000000000016 -> 0 cc=2
+CGDTRA round=5 20bc000000000001 -> 0 cc=2
+CGDTRA round=5 23a000000093fcff -> -1 cc=3
+CGDTRA round=5 3c000000000001 -> 0 cc=2
+CGDTRA round=5 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=5 a207c0000000000000000011 -> -1 cc=1
+CGXTRA round=5 220800000000000000000000 -> 0 cc=0
+CGXTRA round=5 220800000000000000000001 -> 1 cc=2
+CGXTRA round=5 2207c0000000000000000014 -> 1 cc=2
+CGXTRA round=5 2207c0000000000000000015 -> 1 cc=2
+CGXTRA round=5 2207c0000000000000000016 -> 1 cc=2
+CGXTRA round=5 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=5 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=5 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=5 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=5 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=5 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=5 2206c0000000000000000016 -> 0 cc=2
+CGXTRA round=5 21f040000000000000000001 -> 0 cc=2
+CGXTRA round=5 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=5 21a840000000000000000001 -> 0 cc=2
+CGXTRA round=5 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=6 0 -> 2238000000000000
+CDGTRA round=6 1 -> 2238000000000001
+CDGTRA round=6 -1 -> 2238000115afb55b
+CDGTRA round=6 -2147483648 -> 223800008c78af48
+CDGTRA round=6 2147483647 -> 223800008c78af47
+CGDTRA round=6 a234000000000011 -> -1 cc=1
+CGDTRA round=6 2238000000000000 -> 0 cc=0
+CGDTRA round=6 2238000000000001 -> 1 cc=2
+CGDTRA round=6 2234000000000014 -> 2 cc=2
+CGDTRA round=6 2234000000000015 -> 2 cc=2
+CGDTRA round=6 2234000000000016 -> 2 cc=2
+CGDTRA round=6 2244000000000016 -> 16000 cc=2
+CGDTRA round=6 2254000000000016 -> 160000000 cc=2
+CGDTRA round=6 2244000000000016 -> 16000 cc=2
+CGDTRA round=6 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=6 2284000000000016 -> -1 cc=3
+CGDTRA round=6 4154000000000016 -> -1 cc=3
+CGDTRA round=6 2224000000000016 -> 1 cc=2
+CGDTRA round=6 20bc000000000001 -> 1 cc=2
+CGDTRA round=6 23a000000093fcff -> -1 cc=3
+CGDTRA round=6 3c000000000001 -> 1 cc=2
+CGDTRA round=6 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=6 a207c0000000000000000011 -> -1 cc=1
+CGXTRA round=6 220800000000000000000000 -> 0 cc=0
+CGXTRA round=6 220800000000000000000001 -> 1 cc=2
+CGXTRA round=6 2207c0000000000000000014 -> 2 cc=2
+CGXTRA round=6 2207c0000000000000000015 -> 2 cc=2
+CGXTRA round=6 2207c0000000000000000016 -> 2 cc=2
+CGXTRA round=6 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=6 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=6 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=6 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=6 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=6 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=6 2206c0000000000000000016 -> 1 cc=2
+CGXTRA round=6 21f040000000000000000001 -> 1 cc=2
+CGXTRA round=6 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=6 21a840000000000000000001 -> 1 cc=2
+CGXTRA round=6 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=7 0 -> 2238000000000000
+CDGTRA round=7 1 -> 2238000000000001
+CDGTRA round=7 -1 -> 2238000115afb55b
+CDGTRA round=7 -2147483648 -> 223800008c78af48
+CDGTRA round=7 2147483647 -> 223800008c78af47
+CGDTRA round=7 a234000000000011 -> -2 cc=1
+CGDTRA round=7 2238000000000000 -> 0 cc=0
+CGDTRA round=7 2238000000000001 -> 1 cc=2
+CGDTRA round=7 2234000000000014 -> 1 cc=2
+CGDTRA round=7 2234000000000015 -> 1 cc=2
+CGDTRA round=7 2234000000000016 -> 1 cc=2
+CGDTRA round=7 2244000000000016 -> 16000 cc=2
+CGDTRA round=7 2254000000000016 -> 160000000 cc=2
+CGDTRA round=7 2244000000000016 -> 16000 cc=2
+CGDTRA round=7 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=7 2284000000000016 -> -1 cc=3
+CGDTRA round=7 4154000000000016 -> -1 cc=3
+CGDTRA round=7 2224000000000016 -> 0 cc=2
+CGDTRA round=7 20bc000000000001 -> 0 cc=2
+CGDTRA round=7 23a000000093fcff -> -1 cc=3
+CGDTRA round=7 3c000000000001 -> 0 cc=2
+CGDTRA round=7 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=7 a207c0000000000000000011 -> -2 cc=1
+CGXTRA round=7 220800000000000000000000 -> 0 cc=0
+CGXTRA round=7 220800000000000000000001 -> 1 cc=2
+CGXTRA round=7 2207c0000000000000000014 -> 1 cc=2
+CGXTRA round=7 2207c0000000000000000015 -> 1 cc=2
+CGXTRA round=7 2207c0000000000000000016 -> 1 cc=2
+CGXTRA round=7 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=7 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=7 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=7 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=7 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=7 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=7 2206c0000000000000000016 -> 0 cc=2
+CGXTRA round=7 21f040000000000000000001 -> 0 cc=2
+CGXTRA round=7 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=7 21a840000000000000000001 -> 0 cc=2
+CGXTRA round=7 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=8 0 -> 2238000000000000
+CDGTRA round=8 1 -> 2238000000000001
+CDGTRA round=8 -1 -> 2238000115afb55b
+CDGTRA round=8 -2147483648 -> 223800008c78af48
+CDGTRA round=8 2147483647 -> 223800008c78af47
+CGDTRA round=8 a234000000000011 -> -1 cc=1
+CGDTRA round=8 2238000000000000 -> 0 cc=0
+CGDTRA round=8 2238000000000001 -> 1 cc=2
+CGDTRA round=8 2234000000000014 -> 1 cc=2
+CGDTRA round=8 2234000000000015 -> 2 cc=2
+CGDTRA round=8 2234000000000016 -> 2 cc=2
+CGDTRA round=8 2244000000000016 -> 16000 cc=2
+CGDTRA round=8 2254000000000016 -> 160000000 cc=2
+CGDTRA round=8 2244000000000016 -> 16000 cc=2
+CGDTRA round=8 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=8 2284000000000016 -> -1 cc=3
+CGDTRA round=8 4154000000000016 -> -1 cc=3
+CGDTRA round=8 2224000000000016 -> 0 cc=2
+CGDTRA round=8 20bc000000000001 -> 0 cc=2
+CGDTRA round=8 23a000000093fcff -> -1 cc=3
+CGDTRA round=8 3c000000000001 -> 0 cc=2
+CGDTRA round=8 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=8 a207c0000000000000000011 -> -1 cc=1
+CGXTRA round=8 220800000000000000000000 -> 0 cc=0
+CGXTRA round=8 220800000000000000000001 -> 1 cc=2
+CGXTRA round=8 2207c0000000000000000014 -> 1 cc=2
+CGXTRA round=8 2207c0000000000000000015 -> 2 cc=2
+CGXTRA round=8 2207c0000000000000000016 -> 2 cc=2
+CGXTRA round=8 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=8 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=8 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=8 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=8 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=8 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=8 2206c0000000000000000016 -> 0 cc=2
+CGXTRA round=8 21f040000000000000000001 -> 0 cc=2
+CGXTRA round=8 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=8 21a840000000000000000001 -> 0 cc=2
+CGXTRA round=8 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=9 0 -> 2238000000000000
+CDGTRA round=9 1 -> 2238000000000001
+CDGTRA round=9 -1 -> 2238000115afb55b
+CDGTRA round=9 -2147483648 -> 223800008c78af48
+CDGTRA round=9 2147483647 -> 223800008c78af47
+CGDTRA round=9 a234000000000011 -> -1 cc=1
+CGDTRA round=9 2238000000000000 -> 0 cc=0
+CGDTRA round=9 2238000000000001 -> 1 cc=2
+CGDTRA round=9 2234000000000014 -> 1 cc=2
+CGDTRA round=9 2234000000000015 -> 1 cc=2
+CGDTRA round=9 2234000000000016 -> 1 cc=2
+CGDTRA round=9 2244000000000016 -> 16000 cc=2
+CGDTRA round=9 2254000000000016 -> 160000000 cc=2
+CGDTRA round=9 2244000000000016 -> 16000 cc=2
+CGDTRA round=9 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=9 2284000000000016 -> -1 cc=3
+CGDTRA round=9 4154000000000016 -> -1 cc=3
+CGDTRA round=9 2224000000000016 -> 0 cc=2
+CGDTRA round=9 20bc000000000001 -> 0 cc=2
+CGDTRA round=9 23a000000093fcff -> -1 cc=3
+CGDTRA round=9 3c000000000001 -> 0 cc=2
+CGDTRA round=9 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=9 a207c0000000000000000011 -> -1 cc=1
+CGXTRA round=9 220800000000000000000000 -> 0 cc=0
+CGXTRA round=9 220800000000000000000001 -> 1 cc=2
+CGXTRA round=9 2207c0000000000000000014 -> 1 cc=2
+CGXTRA round=9 2207c0000000000000000015 -> 1 cc=2
+CGXTRA round=9 2207c0000000000000000016 -> 1 cc=2
+CGXTRA round=9 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=9 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=9 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=9 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=9 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=9 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=9 2206c0000000000000000016 -> 0 cc=2
+CGXTRA round=9 21f040000000000000000001 -> 0 cc=2
+CGXTRA round=9 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=9 21a840000000000000000001 -> 0 cc=2
+CGXTRA round=9 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=10 0 -> 2238000000000000
+CDGTRA round=10 1 -> 2238000000000001
+CDGTRA round=10 -1 -> 2238000115afb55b
+CDGTRA round=10 -2147483648 -> 223800008c78af48
+CDGTRA round=10 2147483647 -> 223800008c78af47
+CGDTRA round=10 a234000000000011 -> -1 cc=1
+CGDTRA round=10 2238000000000000 -> 0 cc=0
+CGDTRA round=10 2238000000000001 -> 1 cc=2
+CGDTRA round=10 2234000000000014 -> 2 cc=2
+CGDTRA round=10 2234000000000015 -> 2 cc=2
+CGDTRA round=10 2234000000000016 -> 2 cc=2
+CGDTRA round=10 2244000000000016 -> 16000 cc=2
+CGDTRA round=10 2254000000000016 -> 160000000 cc=2
+CGDTRA round=10 2244000000000016 -> 16000 cc=2
+CGDTRA round=10 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=10 2284000000000016 -> -1 cc=3
+CGDTRA round=10 4154000000000016 -> -1 cc=3
+CGDTRA round=10 2224000000000016 -> 1 cc=2
+CGDTRA round=10 20bc000000000001 -> 1 cc=2
+CGDTRA round=10 23a000000093fcff -> -1 cc=3
+CGDTRA round=10 3c000000000001 -> 1 cc=2
+CGDTRA round=10 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=10 a207c0000000000000000011 -> -1 cc=1
+CGXTRA round=10 220800000000000000000000 -> 0 cc=0
+CGXTRA round=10 220800000000000000000001 -> 1 cc=2
+CGXTRA round=10 2207c0000000000000000014 -> 2 cc=2
+CGXTRA round=10 2207c0000000000000000015 -> 2 cc=2
+CGXTRA round=10 2207c0000000000000000016 -> 2 cc=2
+CGXTRA round=10 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=10 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=10 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=10 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=10 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=10 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=10 2206c0000000000000000016 -> 1 cc=2
+CGXTRA round=10 21f040000000000000000001 -> 1 cc=2
+CGXTRA round=10 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=10 21a840000000000000000001 -> 1 cc=2
+CGXTRA round=10 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=11 0 -> 2238000000000000
+CDGTRA round=11 1 -> 2238000000000001
+CDGTRA round=11 -1 -> 2238000115afb55b
+CDGTRA round=11 -2147483648 -> 223800008c78af48
+CDGTRA round=11 2147483647 -> 223800008c78af47
+CGDTRA round=11 a234000000000011 -> -2 cc=1
+CGDTRA round=11 2238000000000000 -> 0 cc=0
+CGDTRA round=11 2238000000000001 -> 1 cc=2
+CGDTRA round=11 2234000000000014 -> 1 cc=2
+CGDTRA round=11 2234000000000015 -> 1 cc=2
+CGDTRA round=11 2234000000000016 -> 1 cc=2
+CGDTRA round=11 2244000000000016 -> 16000 cc=2
+CGDTRA round=11 2254000000000016 -> 160000000 cc=2
+CGDTRA round=11 2244000000000016 -> 16000 cc=2
+CGDTRA round=11 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=11 2284000000000016 -> -1 cc=3
+CGDTRA round=11 4154000000000016 -> -1 cc=3
+CGDTRA round=11 2224000000000016 -> 0 cc=2
+CGDTRA round=11 20bc000000000001 -> 0 cc=2
+CGDTRA round=11 23a000000093fcff -> -1 cc=3
+CGDTRA round=11 3c000000000001 -> 0 cc=2
+CGDTRA round=11 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=11 a207c0000000000000000011 -> -2 cc=1
+CGXTRA round=11 220800000000000000000000 -> 0 cc=0
+CGXTRA round=11 220800000000000000000001 -> 1 cc=2
+CGXTRA round=11 2207c0000000000000000014 -> 1 cc=2
+CGXTRA round=11 2207c0000000000000000015 -> 1 cc=2
+CGXTRA round=11 2207c0000000000000000016 -> 1 cc=2
+CGXTRA round=11 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=11 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=11 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=11 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=11 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=11 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=11 2206c0000000000000000016 -> 0 cc=2
+CGXTRA round=11 21f040000000000000000001 -> 0 cc=2
+CGXTRA round=11 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=11 21a840000000000000000001 -> 0 cc=2
+CGXTRA round=11 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=12 0 -> 2238000000000000
+CDGTRA round=12 1 -> 2238000000000001
+CDGTRA round=12 -1 -> 2238000115afb55b
+CDGTRA round=12 -2147483648 -> 223800008c78af48
+CDGTRA round=12 2147483647 -> 223800008c78af47
+CGDTRA round=12 a234000000000011 -> -1 cc=1
+CGDTRA round=12 2238000000000000 -> 0 cc=0
+CGDTRA round=12 2238000000000001 -> 1 cc=2
+CGDTRA round=12 2234000000000014 -> 1 cc=2
+CGDTRA round=12 2234000000000015 -> 2 cc=2
+CGDTRA round=12 2234000000000016 -> 2 cc=2
+CGDTRA round=12 2244000000000016 -> 16000 cc=2
+CGDTRA round=12 2254000000000016 -> 160000000 cc=2
+CGDTRA round=12 2244000000000016 -> 16000 cc=2
+CGDTRA round=12 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=12 2284000000000016 -> -1 cc=3
+CGDTRA round=12 4154000000000016 -> -1 cc=3
+CGDTRA round=12 2224000000000016 -> 0 cc=2
+CGDTRA round=12 20bc000000000001 -> 0 cc=2
+CGDTRA round=12 23a000000093fcff -> -1 cc=3
+CGDTRA round=12 3c000000000001 -> 0 cc=2
+CGDTRA round=12 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=12 a207c0000000000000000011 -> -1 cc=1
+CGXTRA round=12 220800000000000000000000 -> 0 cc=0
+CGXTRA round=12 220800000000000000000001 -> 1 cc=2
+CGXTRA round=12 2207c0000000000000000014 -> 1 cc=2
+CGXTRA round=12 2207c0000000000000000015 -> 2 cc=2
+CGXTRA round=12 2207c0000000000000000016 -> 2 cc=2
+CGXTRA round=12 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=12 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=12 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=12 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=12 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=12 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=12 2206c0000000000000000016 -> 0 cc=2
+CGXTRA round=12 21f040000000000000000001 -> 0 cc=2
+CGXTRA round=12 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=12 21a840000000000000000001 -> 0 cc=2
+CGXTRA round=12 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=13 0 -> 2238000000000000
+CDGTRA round=13 1 -> 2238000000000001
+CDGTRA round=13 -1 -> 2238000115afb55b
+CDGTRA round=13 -2147483648 -> 223800008c78af48
+CDGTRA round=13 2147483647 -> 223800008c78af47
+CGDTRA round=13 a234000000000011 -> -1 cc=1
+CGDTRA round=13 2238000000000000 -> 0 cc=0
+CGDTRA round=13 2238000000000001 -> 1 cc=2
+CGDTRA round=13 2234000000000014 -> 1 cc=2
+CGDTRA round=13 2234000000000015 -> 1 cc=2
+CGDTRA round=13 2234000000000016 -> 2 cc=2
+CGDTRA round=13 2244000000000016 -> 16000 cc=2
+CGDTRA round=13 2254000000000016 -> 160000000 cc=2
+CGDTRA round=13 2244000000000016 -> 16000 cc=2
+CGDTRA round=13 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=13 2284000000000016 -> -1 cc=3
+CGDTRA round=13 4154000000000016 -> -1 cc=3
+CGDTRA round=13 2224000000000016 -> 0 cc=2
+CGDTRA round=13 20bc000000000001 -> 0 cc=2
+CGDTRA round=13 23a000000093fcff -> -1 cc=3
+CGDTRA round=13 3c000000000001 -> 0 cc=2
+CGDTRA round=13 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=13 a207c0000000000000000011 -> -1 cc=1
+CGXTRA round=13 220800000000000000000000 -> 0 cc=0
+CGXTRA round=13 220800000000000000000001 -> 1 cc=2
+CGXTRA round=13 2207c0000000000000000014 -> 1 cc=2
+CGXTRA round=13 2207c0000000000000000015 -> 1 cc=2
+CGXTRA round=13 2207c0000000000000000016 -> 2 cc=2
+CGXTRA round=13 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=13 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=13 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=13 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=13 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=13 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=13 2206c0000000000000000016 -> 0 cc=2
+CGXTRA round=13 21f040000000000000000001 -> 0 cc=2
+CGXTRA round=13 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=13 21a840000000000000000001 -> 0 cc=2
+CGXTRA round=13 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=14 0 -> 2238000000000000
+CDGTRA round=14 1 -> 2238000000000001
+CDGTRA round=14 -1 -> 2238000115afb55b
+CDGTRA round=14 -2147483648 -> 223800008c78af48
+CDGTRA round=14 2147483647 -> 223800008c78af47
+CGDTRA round=14 a234000000000011 -> -2 cc=1
+CGDTRA round=14 2238000000000000 -> 0 cc=0
+CGDTRA round=14 2238000000000001 -> 1 cc=2
+CGDTRA round=14 2234000000000014 -> 2 cc=2
+CGDTRA round=14 2234000000000015 -> 2 cc=2
+CGDTRA round=14 2234000000000016 -> 2 cc=2
+CGDTRA round=14 2244000000000016 -> 16000 cc=2
+CGDTRA round=14 2254000000000016 -> 160000000 cc=2
+CGDTRA round=14 2244000000000016 -> 16000 cc=2
+CGDTRA round=14 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=14 2284000000000016 -> -1 cc=3
+CGDTRA round=14 4154000000000016 -> -1 cc=3
+CGDTRA round=14 2224000000000016 -> 1 cc=2
+CGDTRA round=14 20bc000000000001 -> 1 cc=2
+CGDTRA round=14 23a000000093fcff -> -1 cc=3
+CGDTRA round=14 3c000000000001 -> 1 cc=2
+CGDTRA round=14 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=14 a207c0000000000000000011 -> -2 cc=1
+CGXTRA round=14 220800000000000000000000 -> 0 cc=0
+CGXTRA round=14 220800000000000000000001 -> 1 cc=2
+CGXTRA round=14 2207c0000000000000000014 -> 2 cc=2
+CGXTRA round=14 2207c0000000000000000015 -> 2 cc=2
+CGXTRA round=14 2207c0000000000000000016 -> 2 cc=2
+CGXTRA round=14 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=14 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=14 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=14 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=14 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=14 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=14 2206c0000000000000000016 -> 1 cc=2
+CGXTRA round=14 21f040000000000000000001 -> 1 cc=2
+CGXTRA round=14 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=14 21a840000000000000000001 -> 1 cc=2
+CGXTRA round=14 226440000000000024ff3fcff3fcff -> -1 cc=3
+CDGTRA round=15 0 -> 2238000000000000
+CDGTRA round=15 1 -> 2238000000000001
+CDGTRA round=15 -1 -> 2238000115afb55b
+CDGTRA round=15 -2147483648 -> 223800008c78af48
+CDGTRA round=15 2147483647 -> 223800008c78af47
+CGDTRA round=15 a234000000000011 -> -1 cc=1
+CGDTRA round=15 2238000000000000 -> 0 cc=0
+CGDTRA round=15 2238000000000001 -> 1 cc=2
+CGDTRA round=15 2234000000000014 -> 1 cc=2
+CGDTRA round=15 2234000000000015 -> 1 cc=2
+CGDTRA round=15 2234000000000016 -> 1 cc=2
+CGDTRA round=15 2244000000000016 -> 16000 cc=2
+CGDTRA round=15 2254000000000016 -> 160000000 cc=2
+CGDTRA round=15 2244000000000016 -> 16000 cc=2
+CGDTRA round=15 2264000000000016 -> -2022801408 cc=2
+CGDTRA round=15 2284000000000016 -> -1 cc=3
+CGDTRA round=15 4154000000000016 -> -1 cc=3
+CGDTRA round=15 2224000000000016 -> 1 cc=2
+CGDTRA round=15 20bc000000000001 -> 1 cc=2
+CGDTRA round=15 23a000000093fcff -> -1 cc=3
+CGDTRA round=15 3c000000000001 -> 1 cc=2
+CGDTRA round=15 77fcff3fcff3fcff -> -1 cc=3
+CGXTRA round=15 a207c0000000000000000011 -> -1 cc=1
+CGXTRA round=15 220800000000000000000000 -> 0 cc=0
+CGXTRA round=15 220800000000000000000001 -> 1 cc=2
+CGXTRA round=15 2207c0000000000000000014 -> 1 cc=2
+CGXTRA round=15 2207c0000000000000000015 -> 1 cc=2
+CGXTRA round=15 2207c0000000000000000016 -> 1 cc=2
+CGXTRA round=15 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=15 2209c0000000000000000016 -> 160000000 cc=2
+CGXTRA round=15 2208c0000000000000000016 -> 16000 cc=2
+CGXTRA round=15 220ac0000000000000000016 -> -2022801408 cc=2
+CGXTRA round=15 220cc0000000000000000016 -> -1 cc=3
+CGXTRA round=15 2239c0000000000000000016 -> -1 cc=3
+CGXTRA round=15 2206c0000000000000000016 -> 1 cc=2
+CGXTRA round=15 21f040000000000000000001 -> 1 cc=2
+CGXTRA round=15 221e8000000000000093fcff -> -1 cc=3
+CGXTRA round=15 21a840000000000000000001 -> 1 cc=2
+CGXTRA round=15 226440000000000024ff3fcff3fcff -> -1 cc=3
diff --git a/none/tests/s390x/dfpconv.vgtest b/none/tests/s390x/dfpconv.vgtest
new file mode 100644
index 0000000..0b0f133
--- /dev/null
+++ b/none/tests/s390x/dfpconv.vgtest
@@ -0,0 +1,2 @@
+prog: dfpconv
+prereq: test -e dfpconv && ../../../tests/s390x_features s390x-dfp
diff --git a/none/tests/s390x/dfpext.c b/none/tests/s390x/dfpext.c
new file mode 100644
index 0000000..d9a62d2
--- /dev/null
+++ b/none/tests/s390x/dfpext.c
@@ -0,0 +1,247 @@
+#include <stdio.h>
+#include "opcodes.h"
+#include "dfp_utils.h"
+#define __STDC_WANT_DEC_FP__ 1
+#include <float.h>
+
+#define L2D(insn,  initial, target,round)                               \
+  ({                                                                    \
+    register unsigned long source asm("2") =  initial;                  \
+    register typeof(target) _t asm("f0");                               \
+    asm volatile(insn(round,0,0,2) :"=f" (_t):"d"(source));             \
+    _t;                                                                 \
+  })
+
+#define I2D(insn,  initial, target,round)                               \
+  ({                                                                    \
+    register int source asm("2") =  initial;                            \
+    register typeof(target) _t asm("f0");                               \
+    asm volatile(insn(round,0,0,2) :"=f" (_t):"d"(source));             \
+    _t;                                                                 \
+})
+
+#define D2L(insn, initial, type, round, cc)                             \
+  ({                                                                    \
+    register type source asm("f0") =  initial;                          \
+    register unsigned long target asm ("2") = 0;                        \
+    asm volatile(insn(round,0,2,0)                                      \
+                 "ipm %1\n\t"                                           \
+                 "srl %1,28\n\t"                                        \
+                 :"=d" (target), "=d" (cc) :"f"(source):"cc");          \
+    target;                                                             \
+  })
+
+#define D2I(insn, initial, type, round, cc)                             \
+  ({                                                                    \
+    register type source asm("f0") =  initial;                          \
+    register int target asm ("2") = 0;                                  \
+    asm volatile(insn(round,0,2,0)                                      \
+                 "ipm %1\n\t"                                           \
+                 "srl %1,28\n\t"                                        \
+                 :"=d" (target), "=d" (cc) :"f"(source):"cc");          \
+    target;                                                             \
+})
+
+
+#define DO_PRINT_L2D(insn, l, d, round)                                 \
+  ({                                                                    \
+    printf(#insn " round=%d %lu -> ", 0x##round, l);                    \
+    d = L2D(insn, l, d, round);                                         \
+    DFP_VAL_PRINT(d, typeof(d));                                        \
+    printf("\n");                                                       \
+  })
+
+#define DO_INSN_L2D(insn, round, type)                                  \
+  ({                                                                    \
+    type d;                                                             \
+    DO_PRINT_L2D(insn, 0UL, d, round);                                  \
+    DO_PRINT_L2D(insn, 1UL, d, round);                                  \
+    DO_PRINT_L2D(insn, 0xffffffffUL, d, round);                         \
+    DO_PRINT_L2D(insn, 0x80000000UL, d, round);                         \
+    DO_PRINT_L2D(insn, 0x7fffffffUL, d, round);                         \
+    DO_PRINT_L2D(insn, 0x100000000UL, d, round);                        \
+    DO_PRINT_L2D(insn, 0xffffffffffffffffUL, d, round);                 \
+    DO_PRINT_L2D(insn, 0x8000000000000000UL, d, round);                 \
+    DO_PRINT_L2D(insn, 0x7fffffffffffffffUL, d, round);                 \
+  })
+
+#define DO_PRINT_I2D(insn, l, d, round)                                 \
+  ({                                                                    \
+    printf(#insn " round=%d %d -> ", 0x##round, l);                     \
+    d = I2D(insn, l, d, round);                                         \
+    DFP_VAL_PRINT(d, typeof(d));                                        \
+    printf("\n");                                                       \
+  })
+
+#define DO_INSN_I2D(insn, round, type)                                  \
+  ({                                                                    \
+    type d;                                                             \
+    DO_PRINT_I2D(insn, 0, d, round);                                    \
+    DO_PRINT_I2D(insn, 1, d, round);                                    \
+    DO_PRINT_I2D(insn, 0xffffffff, d, round);                           \
+    DO_PRINT_I2D(insn, 0x80000000, d, round);                           \
+    DO_PRINT_I2D(insn, 0x7fffffff, d, round);                           \
+   })
+
+#define DO_PRINT_D2L(insn, d, type, round, cc)                          \
+  ({                                                                    \
+    printf(#insn " round=%d ", 0x##round);                              \
+    DFP_VAL_PRINT(d, type);                                             \
+    printf(" -> %lu ", D2L(insn, d, type, round, cc));                  \
+    printf("cc=%d\n", cc);                                              \
+  })
+
+#define DO_INSN_D2L(insn, round, type)                                  \
+  ({                                                                    \
+    int cc;                                                             \
+    type d;                                                             \
+    d = -1.1DD;                                                         \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 0.DD;                                                           \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 1.DD;                                                           \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 1.4DD;                                                          \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 1.5DD;                                                          \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 1.6DD;                                                          \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 1.6E+4DD;                                                       \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 1.6E+8DD;                                                       \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 1.6E+4DD;                                                       \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 1.6E+12DD;                                                      \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 1.6E+20DD;                                                      \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 1.6E+200DD;                                                     \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = 1.6E-4DD;                                                       \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = DEC32_MIN;                                                      \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = DEC32_MAX;                                                      \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = DEC64_MIN;                                                      \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+    d = DEC64_MAX;                                                      \
+    DO_PRINT_D2L(insn, d, type, round, cc);                             \
+  })
+
+#define DO_PRINT_D2I(insn, d, type, round, cc)                          \
+  ({                                                                    \
+    printf(#insn " round=%d ", 0x##round);                              \
+    DFP_VAL_PRINT(d, type);                                             \
+    printf(" -> %d ", D2I(insn, d, type, round, cc));                   \
+    printf("cc=%d\n", cc);                                              \
+  })
+
+#define DO_INSN_D2I(insn, round, type)                                  \
+  ({                                                                    \
+    int cc;                                                             \
+    type d;                                                             \
+    d = -1.1DD;                                                         \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 0.DD;                                                           \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.DD;                                                           \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.4DD;                                                          \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.5DD;                                                          \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6DD;                                                          \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+4DD;                                                       \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+8DD;                                                       \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+4DD;                                                       \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+12DD;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+20DD;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E+200DD;                                                     \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = 1.6E-4DD;                                                       \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = DEC32_MIN;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = DEC32_MAX;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = DEC64_MIN;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+    d = DEC64_MAX;                                                      \
+    DO_PRINT_D2I(insn, d, type, round, cc);                             \
+  })
+
+#define DO_D2L(round)                                                   \
+  ({                                                                    \
+    DO_INSN_D2L(CLFDTR, round, _Decimal64);                             \
+    DO_INSN_D2L(CLGDTR, round, _Decimal64);                             \
+    DO_INSN_D2I(CFDTR,  round, _Decimal64);                             \
+    DO_INSN_D2L(CLFXTR, round, _Decimal128);                            \
+    DO_INSN_D2L(CLGXTR, round, _Decimal128);                            \
+    DO_INSN_D2I(CFXTR,  round, _Decimal128);                            \
+  })
+
+
+int main()
+{
+  /* rounding mode is not used for the following insns */
+  DO_INSN_I2D(CDFTR,  0, _Decimal64);
+  DO_INSN_I2D(CXFTR,  0, _Decimal128);
+  DO_INSN_L2D(CDLFTR, 0, _Decimal64);
+  DO_INSN_L2D(CXLFTR, 0, _Decimal128);
+  DO_INSN_L2D(CXLGTR, 0, _Decimal128);
+
+  /* Omit rounding mode value 0 and 2 as the current DFP rounding
+     mode is chosen for these values. */
+  DO_INSN_L2D(CDLGTR, 1, _Decimal64);
+  DO_D2L(1);
+
+  DO_INSN_L2D(CDLGTR, 3, _Decimal64);
+  DO_D2L(3);
+
+  DO_INSN_L2D(CDLGTR, 4, _Decimal64);
+  DO_D2L(4);
+
+  DO_INSN_L2D(CDLGTR, 5, _Decimal64);
+  DO_D2L(5);
+
+  DO_INSN_L2D(CDLGTR, 6, _Decimal64);
+  DO_D2L(6);
+
+  DO_INSN_L2D(CDLGTR, 7, _Decimal64);
+  DO_D2L(7);
+
+  DO_INSN_L2D(CDLGTR, 8, _Decimal64);
+  DO_D2L(8);
+
+  DO_INSN_L2D(CDLGTR, 9, _Decimal64);
+  DO_D2L(9);
+
+  DO_INSN_L2D(CDLGTR, a, _Decimal64);
+  DO_D2L(a);
+
+  DO_INSN_L2D(CDLGTR, b, _Decimal64);
+  DO_D2L(b);
+
+  DO_INSN_L2D(CDLGTR, c, _Decimal64);
+  DO_D2L(c);
+
+  DO_INSN_L2D(CDLGTR, d, _Decimal64);
+  DO_D2L(d);
+
+  DO_INSN_L2D(CDLGTR, e, _Decimal64);
+  DO_D2L(e);
+
+  DO_INSN_L2D(CDLGTR, f, _Decimal64);
+  DO_D2L(f);
+
+  return 0;
+}
diff --git a/none/tests/s390x/dfpext.stderr.exp b/none/tests/s390x/dfpext.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/dfpext.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/dfpext.stdout.exp b/none/tests/s390x/dfpext.stdout.exp
new file mode 100644
index 0000000..74d760a
--- /dev/null
+++ b/none/tests/s390x/dfpext.stdout.exp
@@ -0,0 +1,1591 @@
+CDFTR round=0 0 -> 2238000000000000
+CDFTR round=0 1 -> 2238000000000001
+CDFTR round=0 -1 -> a238000000000001
+CDFTR round=0 -2147483648 -> a23800008c78af48
+CDFTR round=0 2147483647 -> 223800008c78af47
+CXFTR round=0 0 -> 220800000000000000000000
+CXFTR round=0 1 -> 220800000000000000000001
+CXFTR round=0 -1 -> a20800000000000000000001
+CXFTR round=0 -2147483648 -> a2080000000000008c78af48
+CXFTR round=0 2147483647 -> 22080000000000008c78af47
+CDLFTR round=0 0 -> 2238000000000000
+CDLFTR round=0 1 -> 2238000000000001
+CDLFTR round=0 4294967295 -> 2238000115afb55b
+CDLFTR round=0 2147483648 -> 223800008c78af48
+CDLFTR round=0 2147483647 -> 223800008c78af47
+CDLFTR round=0 4294967296 -> 2238000000000000
+CDLFTR round=0 18446744073709551615 -> 2238000115afb55b
+CDLFTR round=0 9223372036854775808 -> 2238000000000000
+CDLFTR round=0 9223372036854775807 -> 2238000115afb55b
+CXLFTR round=0 0 -> 220800000000000000000000
+CXLFTR round=0 1 -> 220800000000000000000001
+CXLFTR round=0 4294967295 -> 2208000000000000115afb55b
+CXLFTR round=0 2147483648 -> 22080000000000008c78af48
+CXLFTR round=0 2147483647 -> 22080000000000008c78af47
+CXLFTR round=0 4294967296 -> 220800000000000000000000
+CXLFTR round=0 18446744073709551615 -> 2208000000000000115afb55b
+CXLFTR round=0 9223372036854775808 -> 220800000000000000000000
+CXLFTR round=0 9223372036854775807 -> 2208000000000000115afb55b
+CXLGTR round=0 0 -> 220800000000000000000000
+CXLGTR round=0 1 -> 220800000000000000000001
+CXLGTR round=0 4294967295 -> 2208000000000000115afb55b
+CXLGTR round=0 2147483648 -> 22080000000000008c78af48
+CXLGTR round=0 2147483647 -> 22080000000000008c78af47
+CXLGTR round=0 4294967296 -> 2208000000000000115afb57a
+CXLGTR round=0 18446744073709551615 -> 2208000000000001891bc41cf89b4715
+CXLGTR round=0 9223372036854775808 -> 2208000000000000948df20da5cfd42e
+CXLGTR round=0 9223372036854775807 -> 2208000000000000948df20da5cfd70d
+CDLGTR round=1 0 -> 2238000000000000
+CDLGTR round=1 1 -> 2238000000000001
+CDLGTR round=1 4294967295 -> 2238000115afb55b
+CDLGTR round=1 2147483648 -> 223800008c78af48
+CDLGTR round=1 2147483647 -> 223800008c78af47
+CDLGTR round=1 4294967296 -> 2238000115afb57a
+CDLGTR round=1 18446744073709551615 -> 264a4cdd2077c2dd
+CDLGTR round=1 9223372036854775808 -> 6e45237c836973f6
+CDLGTR round=1 9223372036854775807 -> 6e45237c836973f6
+CLFDTR round=1 a234000000000011 -> 0 cc=3
+CLFDTR round=1 2238000000000000 -> 0 cc=0
+CLFDTR round=1 2238000000000001 -> 1 cc=2
+CLFDTR round=1 2234000000000014 -> 1 cc=2
+CLFDTR round=1 2234000000000015 -> 2 cc=2
+CLFDTR round=1 2234000000000016 -> 2 cc=2
+CLFDTR round=1 2244000000000016 -> 16000 cc=2
+CLFDTR round=1 2254000000000016 -> 160000000 cc=2
+CLFDTR round=1 2244000000000016 -> 16000 cc=2
+CLFDTR round=1 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=1 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=1 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=1 2224000000000016 -> 0 cc=2
+CLFDTR round=1 20bc000000000001 -> 0 cc=2
+CLFDTR round=1 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=1 3c000000000001 -> 0 cc=2
+CLFDTR round=1 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=1 a234000000000011 -> 0 cc=3
+CLGDTR round=1 2238000000000000 -> 0 cc=0
+CLGDTR round=1 2238000000000001 -> 1 cc=2
+CLGDTR round=1 2234000000000014 -> 1 cc=2
+CLGDTR round=1 2234000000000015 -> 2 cc=2
+CLGDTR round=1 2234000000000016 -> 2 cc=2
+CLGDTR round=1 2244000000000016 -> 16000 cc=2
+CLGDTR round=1 2254000000000016 -> 160000000 cc=2
+CLGDTR round=1 2244000000000016 -> 16000 cc=2
+CLGDTR round=1 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=1 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=1 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=1 2224000000000016 -> 0 cc=2
+CLGDTR round=1 20bc000000000001 -> 0 cc=2
+CLGDTR round=1 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=1 3c000000000001 -> 0 cc=2
+CLGDTR round=1 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=1 a234000000000011 -> -1 cc=1
+CFDTR round=1 2238000000000000 -> 0 cc=0
+CFDTR round=1 2238000000000001 -> 1 cc=2
+CFDTR round=1 2234000000000014 -> 1 cc=2
+CFDTR round=1 2234000000000015 -> 2 cc=2
+CFDTR round=1 2234000000000016 -> 2 cc=2
+CFDTR round=1 2244000000000016 -> 16000 cc=2
+CFDTR round=1 2254000000000016 -> 160000000 cc=2
+CFDTR round=1 2244000000000016 -> 16000 cc=2
+CFDTR round=1 2264000000000016 -> 2147483647 cc=3
+CFDTR round=1 2284000000000016 -> 2147483647 cc=3
+CFDTR round=1 4154000000000016 -> 2147483647 cc=3
+CFDTR round=1 2224000000000016 -> 0 cc=2
+CFDTR round=1 20bc000000000001 -> 0 cc=2
+CFDTR round=1 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=1 3c000000000001 -> 0 cc=2
+CFDTR round=1 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=1 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=1 220800000000000000000000 -> 0 cc=0
+CLFXTR round=1 220800000000000000000001 -> 1 cc=2
+CLFXTR round=1 2207c0000000000000000014 -> 1 cc=2
+CLFXTR round=1 2207c0000000000000000015 -> 2 cc=2
+CLFXTR round=1 2207c0000000000000000016 -> 2 cc=2
+CLFXTR round=1 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=1 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=1 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=1 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=1 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=1 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=1 2206c0000000000000000016 -> 0 cc=2
+CLFXTR round=1 21f040000000000000000001 -> 0 cc=2
+CLFXTR round=1 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=1 21a840000000000000000001 -> 0 cc=2
+CLFXTR round=1 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=1 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=1 220800000000000000000000 -> 0 cc=0
+CLGXTR round=1 220800000000000000000001 -> 1 cc=2
+CLGXTR round=1 2207c0000000000000000014 -> 1 cc=2
+CLGXTR round=1 2207c0000000000000000015 -> 2 cc=2
+CLGXTR round=1 2207c0000000000000000016 -> 2 cc=2
+CLGXTR round=1 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=1 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=1 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=1 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=1 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=1 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=1 2206c0000000000000000016 -> 0 cc=2
+CLGXTR round=1 21f040000000000000000001 -> 0 cc=2
+CLGXTR round=1 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=1 21a840000000000000000001 -> 0 cc=2
+CLGXTR round=1 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=1 a207c0000000000000000011 -> -1 cc=1
+CFXTR round=1 220800000000000000000000 -> 0 cc=0
+CFXTR round=1 220800000000000000000001 -> 1 cc=2
+CFXTR round=1 2207c0000000000000000014 -> 1 cc=2
+CFXTR round=1 2207c0000000000000000015 -> 2 cc=2
+CFXTR round=1 2207c0000000000000000016 -> 2 cc=2
+CFXTR round=1 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=1 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=1 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=1 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=1 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=1 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=1 2206c0000000000000000016 -> 0 cc=2
+CFXTR round=1 21f040000000000000000001 -> 0 cc=2
+CFXTR round=1 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=1 21a840000000000000000001 -> 0 cc=2
+CFXTR round=1 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=3 0 -> 2238000000000000
+CDLGTR round=3 1 -> 2238000000000001
+CDLGTR round=3 4294967295 -> 2238000115afb55b
+CDLGTR round=3 2147483648 -> 223800008c78af48
+CDLGTR round=3 2147483647 -> 223800008c78af47
+CDLGTR round=3 4294967296 -> 2238000115afb57a
+CDLGTR round=3 18446744073709551615 -> 264a4cdd2077c3dc
+CDLGTR round=3 9223372036854775808 -> 6e45237c836973f6
+CDLGTR round=3 9223372036854775807 -> 6e45237c836973f6
+CLFDTR round=3 a234000000000011 -> 0 cc=3
+CLFDTR round=3 2238000000000000 -> 0 cc=0
+CLFDTR round=3 2238000000000001 -> 1 cc=2
+CLFDTR round=3 2234000000000014 -> 1 cc=2
+CLFDTR round=3 2234000000000015 -> 1 cc=2
+CLFDTR round=3 2234000000000016 -> 1 cc=2
+CLFDTR round=3 2244000000000016 -> 16000 cc=2
+CLFDTR round=3 2254000000000016 -> 160000000 cc=2
+CLFDTR round=3 2244000000000016 -> 16000 cc=2
+CLFDTR round=3 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=3 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=3 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=3 2224000000000016 -> 1 cc=2
+CLFDTR round=3 20bc000000000001 -> 1 cc=2
+CLFDTR round=3 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=3 3c000000000001 -> 1 cc=2
+CLFDTR round=3 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=3 a234000000000011 -> 0 cc=3
+CLGDTR round=3 2238000000000000 -> 0 cc=0
+CLGDTR round=3 2238000000000001 -> 1 cc=2
+CLGDTR round=3 2234000000000014 -> 1 cc=2
+CLGDTR round=3 2234000000000015 -> 1 cc=2
+CLGDTR round=3 2234000000000016 -> 1 cc=2
+CLGDTR round=3 2244000000000016 -> 16000 cc=2
+CLGDTR round=3 2254000000000016 -> 160000000 cc=2
+CLGDTR round=3 2244000000000016 -> 16000 cc=2
+CLGDTR round=3 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=3 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=3 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=3 2224000000000016 -> 1 cc=2
+CLGDTR round=3 20bc000000000001 -> 1 cc=2
+CLGDTR round=3 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=3 3c000000000001 -> 1 cc=2
+CLGDTR round=3 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=3 a234000000000011 -> -1 cc=1
+CFDTR round=3 2238000000000000 -> 0 cc=0
+CFDTR round=3 2238000000000001 -> 1 cc=2
+CFDTR round=3 2234000000000014 -> 1 cc=2
+CFDTR round=3 2234000000000015 -> 1 cc=2
+CFDTR round=3 2234000000000016 -> 1 cc=2
+CFDTR round=3 2244000000000016 -> 16000 cc=2
+CFDTR round=3 2254000000000016 -> 160000000 cc=2
+CFDTR round=3 2244000000000016 -> 16000 cc=2
+CFDTR round=3 2264000000000016 -> 2147483647 cc=3
+CFDTR round=3 2284000000000016 -> 2147483647 cc=3
+CFDTR round=3 4154000000000016 -> 2147483647 cc=3
+CFDTR round=3 2224000000000016 -> 1 cc=2
+CFDTR round=3 20bc000000000001 -> 1 cc=2
+CFDTR round=3 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=3 3c000000000001 -> 1 cc=2
+CFDTR round=3 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=3 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=3 220800000000000000000000 -> 0 cc=0
+CLFXTR round=3 220800000000000000000001 -> 1 cc=2
+CLFXTR round=3 2207c0000000000000000014 -> 1 cc=2
+CLFXTR round=3 2207c0000000000000000015 -> 1 cc=2
+CLFXTR round=3 2207c0000000000000000016 -> 1 cc=2
+CLFXTR round=3 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=3 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=3 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=3 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=3 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=3 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=3 2206c0000000000000000016 -> 1 cc=2
+CLFXTR round=3 21f040000000000000000001 -> 1 cc=2
+CLFXTR round=3 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=3 21a840000000000000000001 -> 1 cc=2
+CLFXTR round=3 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=3 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=3 220800000000000000000000 -> 0 cc=0
+CLGXTR round=3 220800000000000000000001 -> 1 cc=2
+CLGXTR round=3 2207c0000000000000000014 -> 1 cc=2
+CLGXTR round=3 2207c0000000000000000015 -> 1 cc=2
+CLGXTR round=3 2207c0000000000000000016 -> 1 cc=2
+CLGXTR round=3 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=3 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=3 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=3 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=3 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=3 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=3 2206c0000000000000000016 -> 1 cc=2
+CLGXTR round=3 21f040000000000000000001 -> 1 cc=2
+CLGXTR round=3 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=3 21a840000000000000000001 -> 1 cc=2
+CLGXTR round=3 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=3 a207c0000000000000000011 -> -1 cc=1
+CFXTR round=3 220800000000000000000000 -> 0 cc=0
+CFXTR round=3 220800000000000000000001 -> 1 cc=2
+CFXTR round=3 2207c0000000000000000014 -> 1 cc=2
+CFXTR round=3 2207c0000000000000000015 -> 1 cc=2
+CFXTR round=3 2207c0000000000000000016 -> 1 cc=2
+CFXTR round=3 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=3 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=3 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=3 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=3 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=3 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=3 2206c0000000000000000016 -> 1 cc=2
+CFXTR round=3 21f040000000000000000001 -> 1 cc=2
+CFXTR round=3 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=3 21a840000000000000000001 -> 1 cc=2
+CFXTR round=3 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=4 0 -> 2238000000000000
+CDLGTR round=4 1 -> 2238000000000001
+CDLGTR round=4 4294967295 -> 2238000115afb55b
+CDLGTR round=4 2147483648 -> 223800008c78af48
+CDLGTR round=4 2147483647 -> 223800008c78af47
+CDLGTR round=4 4294967296 -> 2238000115afb57a
+CDLGTR round=4 18446744073709551615 -> 264a4cdd2077c2dd
+CDLGTR round=4 9223372036854775808 -> 6e45237c836973f6
+CDLGTR round=4 9223372036854775807 -> 6e45237c836973f6
+CLFDTR round=4 a234000000000011 -> 0 cc=3
+CLFDTR round=4 2238000000000000 -> 0 cc=0
+CLFDTR round=4 2238000000000001 -> 1 cc=2
+CLFDTR round=4 2234000000000014 -> 1 cc=2
+CLFDTR round=4 2234000000000015 -> 2 cc=2
+CLFDTR round=4 2234000000000016 -> 2 cc=2
+CLFDTR round=4 2244000000000016 -> 16000 cc=2
+CLFDTR round=4 2254000000000016 -> 160000000 cc=2
+CLFDTR round=4 2244000000000016 -> 16000 cc=2
+CLFDTR round=4 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=4 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=4 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=4 2224000000000016 -> 0 cc=2
+CLFDTR round=4 20bc000000000001 -> 0 cc=2
+CLFDTR round=4 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=4 3c000000000001 -> 0 cc=2
+CLFDTR round=4 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=4 a234000000000011 -> 0 cc=3
+CLGDTR round=4 2238000000000000 -> 0 cc=0
+CLGDTR round=4 2238000000000001 -> 1 cc=2
+CLGDTR round=4 2234000000000014 -> 1 cc=2
+CLGDTR round=4 2234000000000015 -> 2 cc=2
+CLGDTR round=4 2234000000000016 -> 2 cc=2
+CLGDTR round=4 2244000000000016 -> 16000 cc=2
+CLGDTR round=4 2254000000000016 -> 160000000 cc=2
+CLGDTR round=4 2244000000000016 -> 16000 cc=2
+CLGDTR round=4 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=4 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=4 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=4 2224000000000016 -> 0 cc=2
+CLGDTR round=4 20bc000000000001 -> 0 cc=2
+CLGDTR round=4 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=4 3c000000000001 -> 0 cc=2
+CLGDTR round=4 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=4 a234000000000011 -> -1 cc=1
+CFDTR round=4 2238000000000000 -> 0 cc=0
+CFDTR round=4 2238000000000001 -> 1 cc=2
+CFDTR round=4 2234000000000014 -> 1 cc=2
+CFDTR round=4 2234000000000015 -> 2 cc=2
+CFDTR round=4 2234000000000016 -> 2 cc=2
+CFDTR round=4 2244000000000016 -> 16000 cc=2
+CFDTR round=4 2254000000000016 -> 160000000 cc=2
+CFDTR round=4 2244000000000016 -> 16000 cc=2
+CFDTR round=4 2264000000000016 -> 2147483647 cc=3
+CFDTR round=4 2284000000000016 -> 2147483647 cc=3
+CFDTR round=4 4154000000000016 -> 2147483647 cc=3
+CFDTR round=4 2224000000000016 -> 0 cc=2
+CFDTR round=4 20bc000000000001 -> 0 cc=2
+CFDTR round=4 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=4 3c000000000001 -> 0 cc=2
+CFDTR round=4 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=4 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=4 220800000000000000000000 -> 0 cc=0
+CLFXTR round=4 220800000000000000000001 -> 1 cc=2
+CLFXTR round=4 2207c0000000000000000014 -> 1 cc=2
+CLFXTR round=4 2207c0000000000000000015 -> 2 cc=2
+CLFXTR round=4 2207c0000000000000000016 -> 2 cc=2
+CLFXTR round=4 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=4 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=4 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=4 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=4 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=4 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=4 2206c0000000000000000016 -> 0 cc=2
+CLFXTR round=4 21f040000000000000000001 -> 0 cc=2
+CLFXTR round=4 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=4 21a840000000000000000001 -> 0 cc=2
+CLFXTR round=4 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=4 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=4 220800000000000000000000 -> 0 cc=0
+CLGXTR round=4 220800000000000000000001 -> 1 cc=2
+CLGXTR round=4 2207c0000000000000000014 -> 1 cc=2
+CLGXTR round=4 2207c0000000000000000015 -> 2 cc=2
+CLGXTR round=4 2207c0000000000000000016 -> 2 cc=2
+CLGXTR round=4 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=4 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=4 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=4 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=4 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=4 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=4 2206c0000000000000000016 -> 0 cc=2
+CLGXTR round=4 21f040000000000000000001 -> 0 cc=2
+CLGXTR round=4 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=4 21a840000000000000000001 -> 0 cc=2
+CLGXTR round=4 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=4 a207c0000000000000000011 -> -1 cc=1
+CFXTR round=4 220800000000000000000000 -> 0 cc=0
+CFXTR round=4 220800000000000000000001 -> 1 cc=2
+CFXTR round=4 2207c0000000000000000014 -> 1 cc=2
+CFXTR round=4 2207c0000000000000000015 -> 2 cc=2
+CFXTR round=4 2207c0000000000000000016 -> 2 cc=2
+CFXTR round=4 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=4 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=4 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=4 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=4 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=4 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=4 2206c0000000000000000016 -> 0 cc=2
+CFXTR round=4 21f040000000000000000001 -> 0 cc=2
+CFXTR round=4 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=4 21a840000000000000000001 -> 0 cc=2
+CFXTR round=4 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=5 0 -> 2238000000000000
+CDLGTR round=5 1 -> 2238000000000001
+CDLGTR round=5 4294967295 -> 2238000115afb55b
+CDLGTR round=5 2147483648 -> 223800008c78af48
+CDLGTR round=5 2147483647 -> 223800008c78af47
+CDLGTR round=5 4294967296 -> 2238000115afb57a
+CDLGTR round=5 18446744073709551615 -> 264a4cdd2077c2dd
+CDLGTR round=5 9223372036854775808 -> 6e45237c836973f5
+CDLGTR round=5 9223372036854775807 -> 6e45237c836973f5
+CLFDTR round=5 a234000000000011 -> 0 cc=3
+CLFDTR round=5 2238000000000000 -> 0 cc=0
+CLFDTR round=5 2238000000000001 -> 1 cc=2
+CLFDTR round=5 2234000000000014 -> 1 cc=2
+CLFDTR round=5 2234000000000015 -> 1 cc=2
+CLFDTR round=5 2234000000000016 -> 1 cc=2
+CLFDTR round=5 2244000000000016 -> 16000 cc=2
+CLFDTR round=5 2254000000000016 -> 160000000 cc=2
+CLFDTR round=5 2244000000000016 -> 16000 cc=2
+CLFDTR round=5 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=5 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=5 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=5 2224000000000016 -> 0 cc=2
+CLFDTR round=5 20bc000000000001 -> 0 cc=2
+CLFDTR round=5 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=5 3c000000000001 -> 0 cc=2
+CLFDTR round=5 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=5 a234000000000011 -> 0 cc=3
+CLGDTR round=5 2238000000000000 -> 0 cc=0
+CLGDTR round=5 2238000000000001 -> 1 cc=2
+CLGDTR round=5 2234000000000014 -> 1 cc=2
+CLGDTR round=5 2234000000000015 -> 1 cc=2
+CLGDTR round=5 2234000000000016 -> 1 cc=2
+CLGDTR round=5 2244000000000016 -> 16000 cc=2
+CLGDTR round=5 2254000000000016 -> 160000000 cc=2
+CLGDTR round=5 2244000000000016 -> 16000 cc=2
+CLGDTR round=5 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=5 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=5 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=5 2224000000000016 -> 0 cc=2
+CLGDTR round=5 20bc000000000001 -> 0 cc=2
+CLGDTR round=5 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=5 3c000000000001 -> 0 cc=2
+CLGDTR round=5 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=5 a234000000000011 -> -1 cc=1
+CFDTR round=5 2238000000000000 -> 0 cc=0
+CFDTR round=5 2238000000000001 -> 1 cc=2
+CFDTR round=5 2234000000000014 -> 1 cc=2
+CFDTR round=5 2234000000000015 -> 1 cc=2
+CFDTR round=5 2234000000000016 -> 1 cc=2
+CFDTR round=5 2244000000000016 -> 16000 cc=2
+CFDTR round=5 2254000000000016 -> 160000000 cc=2
+CFDTR round=5 2244000000000016 -> 16000 cc=2
+CFDTR round=5 2264000000000016 -> 2147483647 cc=3
+CFDTR round=5 2284000000000016 -> 2147483647 cc=3
+CFDTR round=5 4154000000000016 -> 2147483647 cc=3
+CFDTR round=5 2224000000000016 -> 0 cc=2
+CFDTR round=5 20bc000000000001 -> 0 cc=2
+CFDTR round=5 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=5 3c000000000001 -> 0 cc=2
+CFDTR round=5 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=5 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=5 220800000000000000000000 -> 0 cc=0
+CLFXTR round=5 220800000000000000000001 -> 1 cc=2
+CLFXTR round=5 2207c0000000000000000014 -> 1 cc=2
+CLFXTR round=5 2207c0000000000000000015 -> 1 cc=2
+CLFXTR round=5 2207c0000000000000000016 -> 1 cc=2
+CLFXTR round=5 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=5 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=5 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=5 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=5 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=5 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=5 2206c0000000000000000016 -> 0 cc=2
+CLFXTR round=5 21f040000000000000000001 -> 0 cc=2
+CLFXTR round=5 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=5 21a840000000000000000001 -> 0 cc=2
+CLFXTR round=5 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=5 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=5 220800000000000000000000 -> 0 cc=0
+CLGXTR round=5 220800000000000000000001 -> 1 cc=2
+CLGXTR round=5 2207c0000000000000000014 -> 1 cc=2
+CLGXTR round=5 2207c0000000000000000015 -> 1 cc=2
+CLGXTR round=5 2207c0000000000000000016 -> 1 cc=2
+CLGXTR round=5 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=5 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=5 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=5 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=5 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=5 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=5 2206c0000000000000000016 -> 0 cc=2
+CLGXTR round=5 21f040000000000000000001 -> 0 cc=2
+CLGXTR round=5 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=5 21a840000000000000000001 -> 0 cc=2
+CLGXTR round=5 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=5 a207c0000000000000000011 -> -1 cc=1
+CFXTR round=5 220800000000000000000000 -> 0 cc=0
+CFXTR round=5 220800000000000000000001 -> 1 cc=2
+CFXTR round=5 2207c0000000000000000014 -> 1 cc=2
+CFXTR round=5 2207c0000000000000000015 -> 1 cc=2
+CFXTR round=5 2207c0000000000000000016 -> 1 cc=2
+CFXTR round=5 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=5 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=5 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=5 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=5 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=5 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=5 2206c0000000000000000016 -> 0 cc=2
+CFXTR round=5 21f040000000000000000001 -> 0 cc=2
+CFXTR round=5 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=5 21a840000000000000000001 -> 0 cc=2
+CFXTR round=5 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=6 0 -> 2238000000000000
+CDLGTR round=6 1 -> 2238000000000001
+CDLGTR round=6 4294967295 -> 2238000115afb55b
+CDLGTR round=6 2147483648 -> 223800008c78af48
+CDLGTR round=6 2147483647 -> 223800008c78af47
+CDLGTR round=6 4294967296 -> 2238000115afb57a
+CDLGTR round=6 18446744073709551615 -> 264a4cdd2077c3dc
+CDLGTR round=6 9223372036854775808 -> 6e45237c836973f6
+CDLGTR round=6 9223372036854775807 -> 6e45237c836973f6
+CLFDTR round=6 a234000000000011 -> 0 cc=3
+CLFDTR round=6 2238000000000000 -> 0 cc=0
+CLFDTR round=6 2238000000000001 -> 1 cc=2
+CLFDTR round=6 2234000000000014 -> 2 cc=2
+CLFDTR round=6 2234000000000015 -> 2 cc=2
+CLFDTR round=6 2234000000000016 -> 2 cc=2
+CLFDTR round=6 2244000000000016 -> 16000 cc=2
+CLFDTR round=6 2254000000000016 -> 160000000 cc=2
+CLFDTR round=6 2244000000000016 -> 16000 cc=2
+CLFDTR round=6 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=6 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=6 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=6 2224000000000016 -> 1 cc=2
+CLFDTR round=6 20bc000000000001 -> 1 cc=2
+CLFDTR round=6 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=6 3c000000000001 -> 1 cc=2
+CLFDTR round=6 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=6 a234000000000011 -> 0 cc=3
+CLGDTR round=6 2238000000000000 -> 0 cc=0
+CLGDTR round=6 2238000000000001 -> 1 cc=2
+CLGDTR round=6 2234000000000014 -> 2 cc=2
+CLGDTR round=6 2234000000000015 -> 2 cc=2
+CLGDTR round=6 2234000000000016 -> 2 cc=2
+CLGDTR round=6 2244000000000016 -> 16000 cc=2
+CLGDTR round=6 2254000000000016 -> 160000000 cc=2
+CLGDTR round=6 2244000000000016 -> 16000 cc=2
+CLGDTR round=6 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=6 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=6 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=6 2224000000000016 -> 1 cc=2
+CLGDTR round=6 20bc000000000001 -> 1 cc=2
+CLGDTR round=6 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=6 3c000000000001 -> 1 cc=2
+CLGDTR round=6 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=6 a234000000000011 -> -1 cc=1
+CFDTR round=6 2238000000000000 -> 0 cc=0
+CFDTR round=6 2238000000000001 -> 1 cc=2
+CFDTR round=6 2234000000000014 -> 2 cc=2
+CFDTR round=6 2234000000000015 -> 2 cc=2
+CFDTR round=6 2234000000000016 -> 2 cc=2
+CFDTR round=6 2244000000000016 -> 16000 cc=2
+CFDTR round=6 2254000000000016 -> 160000000 cc=2
+CFDTR round=6 2244000000000016 -> 16000 cc=2
+CFDTR round=6 2264000000000016 -> 2147483647 cc=3
+CFDTR round=6 2284000000000016 -> 2147483647 cc=3
+CFDTR round=6 4154000000000016 -> 2147483647 cc=3
+CFDTR round=6 2224000000000016 -> 1 cc=2
+CFDTR round=6 20bc000000000001 -> 1 cc=2
+CFDTR round=6 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=6 3c000000000001 -> 1 cc=2
+CFDTR round=6 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=6 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=6 220800000000000000000000 -> 0 cc=0
+CLFXTR round=6 220800000000000000000001 -> 1 cc=2
+CLFXTR round=6 2207c0000000000000000014 -> 2 cc=2
+CLFXTR round=6 2207c0000000000000000015 -> 2 cc=2
+CLFXTR round=6 2207c0000000000000000016 -> 2 cc=2
+CLFXTR round=6 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=6 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=6 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=6 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=6 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=6 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=6 2206c0000000000000000016 -> 1 cc=2
+CLFXTR round=6 21f040000000000000000001 -> 1 cc=2
+CLFXTR round=6 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=6 21a840000000000000000001 -> 1 cc=2
+CLFXTR round=6 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=6 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=6 220800000000000000000000 -> 0 cc=0
+CLGXTR round=6 220800000000000000000001 -> 1 cc=2
+CLGXTR round=6 2207c0000000000000000014 -> 2 cc=2
+CLGXTR round=6 2207c0000000000000000015 -> 2 cc=2
+CLGXTR round=6 2207c0000000000000000016 -> 2 cc=2
+CLGXTR round=6 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=6 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=6 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=6 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=6 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=6 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=6 2206c0000000000000000016 -> 1 cc=2
+CLGXTR round=6 21f040000000000000000001 -> 1 cc=2
+CLGXTR round=6 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=6 21a840000000000000000001 -> 1 cc=2
+CLGXTR round=6 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=6 a207c0000000000000000011 -> -1 cc=1
+CFXTR round=6 220800000000000000000000 -> 0 cc=0
+CFXTR round=6 220800000000000000000001 -> 1 cc=2
+CFXTR round=6 2207c0000000000000000014 -> 2 cc=2
+CFXTR round=6 2207c0000000000000000015 -> 2 cc=2
+CFXTR round=6 2207c0000000000000000016 -> 2 cc=2
+CFXTR round=6 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=6 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=6 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=6 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=6 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=6 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=6 2206c0000000000000000016 -> 1 cc=2
+CFXTR round=6 21f040000000000000000001 -> 1 cc=2
+CFXTR round=6 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=6 21a840000000000000000001 -> 1 cc=2
+CFXTR round=6 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=7 0 -> 2238000000000000
+CDLGTR round=7 1 -> 2238000000000001
+CDLGTR round=7 4294967295 -> 2238000115afb55b
+CDLGTR round=7 2147483648 -> 223800008c78af48
+CDLGTR round=7 2147483647 -> 223800008c78af47
+CDLGTR round=7 4294967296 -> 2238000115afb57a
+CDLGTR round=7 18446744073709551615 -> 264a4cdd2077c2dd
+CDLGTR round=7 9223372036854775808 -> 6e45237c836973f5
+CDLGTR round=7 9223372036854775807 -> 6e45237c836973f5
+CLFDTR round=7 a234000000000011 -> 0 cc=3
+CLFDTR round=7 2238000000000000 -> 0 cc=0
+CLFDTR round=7 2238000000000001 -> 1 cc=2
+CLFDTR round=7 2234000000000014 -> 1 cc=2
+CLFDTR round=7 2234000000000015 -> 1 cc=2
+CLFDTR round=7 2234000000000016 -> 1 cc=2
+CLFDTR round=7 2244000000000016 -> 16000 cc=2
+CLFDTR round=7 2254000000000016 -> 160000000 cc=2
+CLFDTR round=7 2244000000000016 -> 16000 cc=2
+CLFDTR round=7 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=7 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=7 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=7 2224000000000016 -> 0 cc=2
+CLFDTR round=7 20bc000000000001 -> 0 cc=2
+CLFDTR round=7 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=7 3c000000000001 -> 0 cc=2
+CLFDTR round=7 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=7 a234000000000011 -> 0 cc=3
+CLGDTR round=7 2238000000000000 -> 0 cc=0
+CLGDTR round=7 2238000000000001 -> 1 cc=2
+CLGDTR round=7 2234000000000014 -> 1 cc=2
+CLGDTR round=7 2234000000000015 -> 1 cc=2
+CLGDTR round=7 2234000000000016 -> 1 cc=2
+CLGDTR round=7 2244000000000016 -> 16000 cc=2
+CLGDTR round=7 2254000000000016 -> 160000000 cc=2
+CLGDTR round=7 2244000000000016 -> 16000 cc=2
+CLGDTR round=7 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=7 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=7 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=7 2224000000000016 -> 0 cc=2
+CLGDTR round=7 20bc000000000001 -> 0 cc=2
+CLGDTR round=7 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=7 3c000000000001 -> 0 cc=2
+CLGDTR round=7 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=7 a234000000000011 -> -2 cc=1
+CFDTR round=7 2238000000000000 -> 0 cc=0
+CFDTR round=7 2238000000000001 -> 1 cc=2
+CFDTR round=7 2234000000000014 -> 1 cc=2
+CFDTR round=7 2234000000000015 -> 1 cc=2
+CFDTR round=7 2234000000000016 -> 1 cc=2
+CFDTR round=7 2244000000000016 -> 16000 cc=2
+CFDTR round=7 2254000000000016 -> 160000000 cc=2
+CFDTR round=7 2244000000000016 -> 16000 cc=2
+CFDTR round=7 2264000000000016 -> 2147483647 cc=3
+CFDTR round=7 2284000000000016 -> 2147483647 cc=3
+CFDTR round=7 4154000000000016 -> 2147483647 cc=3
+CFDTR round=7 2224000000000016 -> 0 cc=2
+CFDTR round=7 20bc000000000001 -> 0 cc=2
+CFDTR round=7 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=7 3c000000000001 -> 0 cc=2
+CFDTR round=7 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=7 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=7 220800000000000000000000 -> 0 cc=0
+CLFXTR round=7 220800000000000000000001 -> 1 cc=2
+CLFXTR round=7 2207c0000000000000000014 -> 1 cc=2
+CLFXTR round=7 2207c0000000000000000015 -> 1 cc=2
+CLFXTR round=7 2207c0000000000000000016 -> 1 cc=2
+CLFXTR round=7 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=7 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=7 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=7 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=7 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=7 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=7 2206c0000000000000000016 -> 0 cc=2
+CLFXTR round=7 21f040000000000000000001 -> 0 cc=2
+CLFXTR round=7 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=7 21a840000000000000000001 -> 0 cc=2
+CLFXTR round=7 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=7 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=7 220800000000000000000000 -> 0 cc=0
+CLGXTR round=7 220800000000000000000001 -> 1 cc=2
+CLGXTR round=7 2207c0000000000000000014 -> 1 cc=2
+CLGXTR round=7 2207c0000000000000000015 -> 1 cc=2
+CLGXTR round=7 2207c0000000000000000016 -> 1 cc=2
+CLGXTR round=7 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=7 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=7 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=7 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=7 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=7 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=7 2206c0000000000000000016 -> 0 cc=2
+CLGXTR round=7 21f040000000000000000001 -> 0 cc=2
+CLGXTR round=7 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=7 21a840000000000000000001 -> 0 cc=2
+CLGXTR round=7 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=7 a207c0000000000000000011 -> -2 cc=1
+CFXTR round=7 220800000000000000000000 -> 0 cc=0
+CFXTR round=7 220800000000000000000001 -> 1 cc=2
+CFXTR round=7 2207c0000000000000000014 -> 1 cc=2
+CFXTR round=7 2207c0000000000000000015 -> 1 cc=2
+CFXTR round=7 2207c0000000000000000016 -> 1 cc=2
+CFXTR round=7 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=7 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=7 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=7 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=7 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=7 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=7 2206c0000000000000000016 -> 0 cc=2
+CFXTR round=7 21f040000000000000000001 -> 0 cc=2
+CFXTR round=7 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=7 21a840000000000000000001 -> 0 cc=2
+CFXTR round=7 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=8 0 -> 2238000000000000
+CDLGTR round=8 1 -> 2238000000000001
+CDLGTR round=8 4294967295 -> 2238000115afb55b
+CDLGTR round=8 2147483648 -> 223800008c78af48
+CDLGTR round=8 2147483647 -> 223800008c78af47
+CDLGTR round=8 4294967296 -> 2238000115afb57a
+CDLGTR round=8 18446744073709551615 -> 264a4cdd2077c2dd
+CDLGTR round=8 9223372036854775808 -> 6e45237c836973f6
+CDLGTR round=8 9223372036854775807 -> 6e45237c836973f6
+CLFDTR round=8 a234000000000011 -> 0 cc=3
+CLFDTR round=8 2238000000000000 -> 0 cc=0
+CLFDTR round=8 2238000000000001 -> 1 cc=2
+CLFDTR round=8 2234000000000014 -> 1 cc=2
+CLFDTR round=8 2234000000000015 -> 2 cc=2
+CLFDTR round=8 2234000000000016 -> 2 cc=2
+CLFDTR round=8 2244000000000016 -> 16000 cc=2
+CLFDTR round=8 2254000000000016 -> 160000000 cc=2
+CLFDTR round=8 2244000000000016 -> 16000 cc=2
+CLFDTR round=8 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=8 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=8 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=8 2224000000000016 -> 0 cc=2
+CLFDTR round=8 20bc000000000001 -> 0 cc=2
+CLFDTR round=8 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=8 3c000000000001 -> 0 cc=2
+CLFDTR round=8 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=8 a234000000000011 -> 0 cc=3
+CLGDTR round=8 2238000000000000 -> 0 cc=0
+CLGDTR round=8 2238000000000001 -> 1 cc=2
+CLGDTR round=8 2234000000000014 -> 1 cc=2
+CLGDTR round=8 2234000000000015 -> 2 cc=2
+CLGDTR round=8 2234000000000016 -> 2 cc=2
+CLGDTR round=8 2244000000000016 -> 16000 cc=2
+CLGDTR round=8 2254000000000016 -> 160000000 cc=2
+CLGDTR round=8 2244000000000016 -> 16000 cc=2
+CLGDTR round=8 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=8 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=8 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=8 2224000000000016 -> 0 cc=2
+CLGDTR round=8 20bc000000000001 -> 0 cc=2
+CLGDTR round=8 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=8 3c000000000001 -> 0 cc=2
+CLGDTR round=8 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=8 a234000000000011 -> -1 cc=1
+CFDTR round=8 2238000000000000 -> 0 cc=0
+CFDTR round=8 2238000000000001 -> 1 cc=2
+CFDTR round=8 2234000000000014 -> 1 cc=2
+CFDTR round=8 2234000000000015 -> 2 cc=2
+CFDTR round=8 2234000000000016 -> 2 cc=2
+CFDTR round=8 2244000000000016 -> 16000 cc=2
+CFDTR round=8 2254000000000016 -> 160000000 cc=2
+CFDTR round=8 2244000000000016 -> 16000 cc=2
+CFDTR round=8 2264000000000016 -> 2147483647 cc=3
+CFDTR round=8 2284000000000016 -> 2147483647 cc=3
+CFDTR round=8 4154000000000016 -> 2147483647 cc=3
+CFDTR round=8 2224000000000016 -> 0 cc=2
+CFDTR round=8 20bc000000000001 -> 0 cc=2
+CFDTR round=8 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=8 3c000000000001 -> 0 cc=2
+CFDTR round=8 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=8 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=8 220800000000000000000000 -> 0 cc=0
+CLFXTR round=8 220800000000000000000001 -> 1 cc=2
+CLFXTR round=8 2207c0000000000000000014 -> 1 cc=2
+CLFXTR round=8 2207c0000000000000000015 -> 2 cc=2
+CLFXTR round=8 2207c0000000000000000016 -> 2 cc=2
+CLFXTR round=8 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=8 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=8 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=8 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=8 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=8 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=8 2206c0000000000000000016 -> 0 cc=2
+CLFXTR round=8 21f040000000000000000001 -> 0 cc=2
+CLFXTR round=8 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=8 21a840000000000000000001 -> 0 cc=2
+CLFXTR round=8 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=8 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=8 220800000000000000000000 -> 0 cc=0
+CLGXTR round=8 220800000000000000000001 -> 1 cc=2
+CLGXTR round=8 2207c0000000000000000014 -> 1 cc=2
+CLGXTR round=8 2207c0000000000000000015 -> 2 cc=2
+CLGXTR round=8 2207c0000000000000000016 -> 2 cc=2
+CLGXTR round=8 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=8 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=8 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=8 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=8 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=8 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=8 2206c0000000000000000016 -> 0 cc=2
+CLGXTR round=8 21f040000000000000000001 -> 0 cc=2
+CLGXTR round=8 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=8 21a840000000000000000001 -> 0 cc=2
+CLGXTR round=8 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=8 a207c0000000000000000011 -> -1 cc=1
+CFXTR round=8 220800000000000000000000 -> 0 cc=0
+CFXTR round=8 220800000000000000000001 -> 1 cc=2
+CFXTR round=8 2207c0000000000000000014 -> 1 cc=2
+CFXTR round=8 2207c0000000000000000015 -> 2 cc=2
+CFXTR round=8 2207c0000000000000000016 -> 2 cc=2
+CFXTR round=8 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=8 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=8 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=8 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=8 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=8 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=8 2206c0000000000000000016 -> 0 cc=2
+CFXTR round=8 21f040000000000000000001 -> 0 cc=2
+CFXTR round=8 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=8 21a840000000000000000001 -> 0 cc=2
+CFXTR round=8 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=9 0 -> 2238000000000000
+CDLGTR round=9 1 -> 2238000000000001
+CDLGTR round=9 4294967295 -> 2238000115afb55b
+CDLGTR round=9 2147483648 -> 223800008c78af48
+CDLGTR round=9 2147483647 -> 223800008c78af47
+CDLGTR round=9 4294967296 -> 2238000115afb57a
+CDLGTR round=9 18446744073709551615 -> 264a4cdd2077c2dd
+CDLGTR round=9 9223372036854775808 -> 6e45237c836973f5
+CDLGTR round=9 9223372036854775807 -> 6e45237c836973f5
+CLFDTR round=9 a234000000000011 -> 0 cc=3
+CLFDTR round=9 2238000000000000 -> 0 cc=0
+CLFDTR round=9 2238000000000001 -> 1 cc=2
+CLFDTR round=9 2234000000000014 -> 1 cc=2
+CLFDTR round=9 2234000000000015 -> 1 cc=2
+CLFDTR round=9 2234000000000016 -> 1 cc=2
+CLFDTR round=9 2244000000000016 -> 16000 cc=2
+CLFDTR round=9 2254000000000016 -> 160000000 cc=2
+CLFDTR round=9 2244000000000016 -> 16000 cc=2
+CLFDTR round=9 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=9 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=9 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=9 2224000000000016 -> 0 cc=2
+CLFDTR round=9 20bc000000000001 -> 0 cc=2
+CLFDTR round=9 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=9 3c000000000001 -> 0 cc=2
+CLFDTR round=9 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=9 a234000000000011 -> 0 cc=3
+CLGDTR round=9 2238000000000000 -> 0 cc=0
+CLGDTR round=9 2238000000000001 -> 1 cc=2
+CLGDTR round=9 2234000000000014 -> 1 cc=2
+CLGDTR round=9 2234000000000015 -> 1 cc=2
+CLGDTR round=9 2234000000000016 -> 1 cc=2
+CLGDTR round=9 2244000000000016 -> 16000 cc=2
+CLGDTR round=9 2254000000000016 -> 160000000 cc=2
+CLGDTR round=9 2244000000000016 -> 16000 cc=2
+CLGDTR round=9 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=9 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=9 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=9 2224000000000016 -> 0 cc=2
+CLGDTR round=9 20bc000000000001 -> 0 cc=2
+CLGDTR round=9 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=9 3c000000000001 -> 0 cc=2
+CLGDTR round=9 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=9 a234000000000011 -> -1 cc=1
+CFDTR round=9 2238000000000000 -> 0 cc=0
+CFDTR round=9 2238000000000001 -> 1 cc=2
+CFDTR round=9 2234000000000014 -> 1 cc=2
+CFDTR round=9 2234000000000015 -> 1 cc=2
+CFDTR round=9 2234000000000016 -> 1 cc=2
+CFDTR round=9 2244000000000016 -> 16000 cc=2
+CFDTR round=9 2254000000000016 -> 160000000 cc=2
+CFDTR round=9 2244000000000016 -> 16000 cc=2
+CFDTR round=9 2264000000000016 -> 2147483647 cc=3
+CFDTR round=9 2284000000000016 -> 2147483647 cc=3
+CFDTR round=9 4154000000000016 -> 2147483647 cc=3
+CFDTR round=9 2224000000000016 -> 0 cc=2
+CFDTR round=9 20bc000000000001 -> 0 cc=2
+CFDTR round=9 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=9 3c000000000001 -> 0 cc=2
+CFDTR round=9 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=9 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=9 220800000000000000000000 -> 0 cc=0
+CLFXTR round=9 220800000000000000000001 -> 1 cc=2
+CLFXTR round=9 2207c0000000000000000014 -> 1 cc=2
+CLFXTR round=9 2207c0000000000000000015 -> 1 cc=2
+CLFXTR round=9 2207c0000000000000000016 -> 1 cc=2
+CLFXTR round=9 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=9 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=9 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=9 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=9 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=9 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=9 2206c0000000000000000016 -> 0 cc=2
+CLFXTR round=9 21f040000000000000000001 -> 0 cc=2
+CLFXTR round=9 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=9 21a840000000000000000001 -> 0 cc=2
+CLFXTR round=9 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=9 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=9 220800000000000000000000 -> 0 cc=0
+CLGXTR round=9 220800000000000000000001 -> 1 cc=2
+CLGXTR round=9 2207c0000000000000000014 -> 1 cc=2
+CLGXTR round=9 2207c0000000000000000015 -> 1 cc=2
+CLGXTR round=9 2207c0000000000000000016 -> 1 cc=2
+CLGXTR round=9 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=9 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=9 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=9 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=9 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=9 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=9 2206c0000000000000000016 -> 0 cc=2
+CLGXTR round=9 21f040000000000000000001 -> 0 cc=2
+CLGXTR round=9 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=9 21a840000000000000000001 -> 0 cc=2
+CLGXTR round=9 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=9 a207c0000000000000000011 -> -1 cc=1
+CFXTR round=9 220800000000000000000000 -> 0 cc=0
+CFXTR round=9 220800000000000000000001 -> 1 cc=2
+CFXTR round=9 2207c0000000000000000014 -> 1 cc=2
+CFXTR round=9 2207c0000000000000000015 -> 1 cc=2
+CFXTR round=9 2207c0000000000000000016 -> 1 cc=2
+CFXTR round=9 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=9 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=9 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=9 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=9 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=9 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=9 2206c0000000000000000016 -> 0 cc=2
+CFXTR round=9 21f040000000000000000001 -> 0 cc=2
+CFXTR round=9 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=9 21a840000000000000000001 -> 0 cc=2
+CFXTR round=9 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=10 0 -> 2238000000000000
+CDLGTR round=10 1 -> 2238000000000001
+CDLGTR round=10 4294967295 -> 2238000115afb55b
+CDLGTR round=10 2147483648 -> 223800008c78af48
+CDLGTR round=10 2147483647 -> 223800008c78af47
+CDLGTR round=10 4294967296 -> 2238000115afb57a
+CDLGTR round=10 18446744073709551615 -> 264a4cdd2077c3dc
+CDLGTR round=10 9223372036854775808 -> 6e45237c836973f6
+CDLGTR round=10 9223372036854775807 -> 6e45237c836973f6
+CLFDTR round=10 a234000000000011 -> 0 cc=3
+CLFDTR round=10 2238000000000000 -> 0 cc=0
+CLFDTR round=10 2238000000000001 -> 1 cc=2
+CLFDTR round=10 2234000000000014 -> 2 cc=2
+CLFDTR round=10 2234000000000015 -> 2 cc=2
+CLFDTR round=10 2234000000000016 -> 2 cc=2
+CLFDTR round=10 2244000000000016 -> 16000 cc=2
+CLFDTR round=10 2254000000000016 -> 160000000 cc=2
+CLFDTR round=10 2244000000000016 -> 16000 cc=2
+CLFDTR round=10 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=10 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=10 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=10 2224000000000016 -> 1 cc=2
+CLFDTR round=10 20bc000000000001 -> 1 cc=2
+CLFDTR round=10 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=10 3c000000000001 -> 1 cc=2
+CLFDTR round=10 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=10 a234000000000011 -> 0 cc=3
+CLGDTR round=10 2238000000000000 -> 0 cc=0
+CLGDTR round=10 2238000000000001 -> 1 cc=2
+CLGDTR round=10 2234000000000014 -> 2 cc=2
+CLGDTR round=10 2234000000000015 -> 2 cc=2
+CLGDTR round=10 2234000000000016 -> 2 cc=2
+CLGDTR round=10 2244000000000016 -> 16000 cc=2
+CLGDTR round=10 2254000000000016 -> 160000000 cc=2
+CLGDTR round=10 2244000000000016 -> 16000 cc=2
+CLGDTR round=10 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=10 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=10 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=10 2224000000000016 -> 1 cc=2
+CLGDTR round=10 20bc000000000001 -> 1 cc=2
+CLGDTR round=10 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=10 3c000000000001 -> 1 cc=2
+CLGDTR round=10 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=10 a234000000000011 -> -1 cc=1
+CFDTR round=10 2238000000000000 -> 0 cc=0
+CFDTR round=10 2238000000000001 -> 1 cc=2
+CFDTR round=10 2234000000000014 -> 2 cc=2
+CFDTR round=10 2234000000000015 -> 2 cc=2
+CFDTR round=10 2234000000000016 -> 2 cc=2
+CFDTR round=10 2244000000000016 -> 16000 cc=2
+CFDTR round=10 2254000000000016 -> 160000000 cc=2
+CFDTR round=10 2244000000000016 -> 16000 cc=2
+CFDTR round=10 2264000000000016 -> 2147483647 cc=3
+CFDTR round=10 2284000000000016 -> 2147483647 cc=3
+CFDTR round=10 4154000000000016 -> 2147483647 cc=3
+CFDTR round=10 2224000000000016 -> 1 cc=2
+CFDTR round=10 20bc000000000001 -> 1 cc=2
+CFDTR round=10 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=10 3c000000000001 -> 1 cc=2
+CFDTR round=10 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=10 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=10 220800000000000000000000 -> 0 cc=0
+CLFXTR round=10 220800000000000000000001 -> 1 cc=2
+CLFXTR round=10 2207c0000000000000000014 -> 2 cc=2
+CLFXTR round=10 2207c0000000000000000015 -> 2 cc=2
+CLFXTR round=10 2207c0000000000000000016 -> 2 cc=2
+CLFXTR round=10 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=10 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=10 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=10 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=10 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=10 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=10 2206c0000000000000000016 -> 1 cc=2
+CLFXTR round=10 21f040000000000000000001 -> 1 cc=2
+CLFXTR round=10 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=10 21a840000000000000000001 -> 1 cc=2
+CLFXTR round=10 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=10 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=10 220800000000000000000000 -> 0 cc=0
+CLGXTR round=10 220800000000000000000001 -> 1 cc=2
+CLGXTR round=10 2207c0000000000000000014 -> 2 cc=2
+CLGXTR round=10 2207c0000000000000000015 -> 2 cc=2
+CLGXTR round=10 2207c0000000000000000016 -> 2 cc=2
+CLGXTR round=10 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=10 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=10 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=10 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=10 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=10 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=10 2206c0000000000000000016 -> 1 cc=2
+CLGXTR round=10 21f040000000000000000001 -> 1 cc=2
+CLGXTR round=10 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=10 21a840000000000000000001 -> 1 cc=2
+CLGXTR round=10 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=10 a207c0000000000000000011 -> -1 cc=1
+CFXTR round=10 220800000000000000000000 -> 0 cc=0
+CFXTR round=10 220800000000000000000001 -> 1 cc=2
+CFXTR round=10 2207c0000000000000000014 -> 2 cc=2
+CFXTR round=10 2207c0000000000000000015 -> 2 cc=2
+CFXTR round=10 2207c0000000000000000016 -> 2 cc=2
+CFXTR round=10 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=10 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=10 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=10 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=10 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=10 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=10 2206c0000000000000000016 -> 1 cc=2
+CFXTR round=10 21f040000000000000000001 -> 1 cc=2
+CFXTR round=10 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=10 21a840000000000000000001 -> 1 cc=2
+CFXTR round=10 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=11 0 -> 2238000000000000
+CDLGTR round=11 1 -> 2238000000000001
+CDLGTR round=11 4294967295 -> 2238000115afb55b
+CDLGTR round=11 2147483648 -> 223800008c78af48
+CDLGTR round=11 2147483647 -> 223800008c78af47
+CDLGTR round=11 4294967296 -> 2238000115afb57a
+CDLGTR round=11 18446744073709551615 -> 264a4cdd2077c2dd
+CDLGTR round=11 9223372036854775808 -> 6e45237c836973f5
+CDLGTR round=11 9223372036854775807 -> 6e45237c836973f5
+CLFDTR round=11 a234000000000011 -> 0 cc=3
+CLFDTR round=11 2238000000000000 -> 0 cc=0
+CLFDTR round=11 2238000000000001 -> 1 cc=2
+CLFDTR round=11 2234000000000014 -> 1 cc=2
+CLFDTR round=11 2234000000000015 -> 1 cc=2
+CLFDTR round=11 2234000000000016 -> 1 cc=2
+CLFDTR round=11 2244000000000016 -> 16000 cc=2
+CLFDTR round=11 2254000000000016 -> 160000000 cc=2
+CLFDTR round=11 2244000000000016 -> 16000 cc=2
+CLFDTR round=11 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=11 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=11 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=11 2224000000000016 -> 0 cc=2
+CLFDTR round=11 20bc000000000001 -> 0 cc=2
+CLFDTR round=11 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=11 3c000000000001 -> 0 cc=2
+CLFDTR round=11 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=11 a234000000000011 -> 0 cc=3
+CLGDTR round=11 2238000000000000 -> 0 cc=0
+CLGDTR round=11 2238000000000001 -> 1 cc=2
+CLGDTR round=11 2234000000000014 -> 1 cc=2
+CLGDTR round=11 2234000000000015 -> 1 cc=2
+CLGDTR round=11 2234000000000016 -> 1 cc=2
+CLGDTR round=11 2244000000000016 -> 16000 cc=2
+CLGDTR round=11 2254000000000016 -> 160000000 cc=2
+CLGDTR round=11 2244000000000016 -> 16000 cc=2
+CLGDTR round=11 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=11 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=11 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=11 2224000000000016 -> 0 cc=2
+CLGDTR round=11 20bc000000000001 -> 0 cc=2
+CLGDTR round=11 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=11 3c000000000001 -> 0 cc=2
+CLGDTR round=11 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=11 a234000000000011 -> -2 cc=1
+CFDTR round=11 2238000000000000 -> 0 cc=0
+CFDTR round=11 2238000000000001 -> 1 cc=2
+CFDTR round=11 2234000000000014 -> 1 cc=2
+CFDTR round=11 2234000000000015 -> 1 cc=2
+CFDTR round=11 2234000000000016 -> 1 cc=2
+CFDTR round=11 2244000000000016 -> 16000 cc=2
+CFDTR round=11 2254000000000016 -> 160000000 cc=2
+CFDTR round=11 2244000000000016 -> 16000 cc=2
+CFDTR round=11 2264000000000016 -> 2147483647 cc=3
+CFDTR round=11 2284000000000016 -> 2147483647 cc=3
+CFDTR round=11 4154000000000016 -> 2147483647 cc=3
+CFDTR round=11 2224000000000016 -> 0 cc=2
+CFDTR round=11 20bc000000000001 -> 0 cc=2
+CFDTR round=11 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=11 3c000000000001 -> 0 cc=2
+CFDTR round=11 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=11 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=11 220800000000000000000000 -> 0 cc=0
+CLFXTR round=11 220800000000000000000001 -> 1 cc=2
+CLFXTR round=11 2207c0000000000000000014 -> 1 cc=2
+CLFXTR round=11 2207c0000000000000000015 -> 1 cc=2
+CLFXTR round=11 2207c0000000000000000016 -> 1 cc=2
+CLFXTR round=11 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=11 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=11 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=11 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=11 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=11 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=11 2206c0000000000000000016 -> 0 cc=2
+CLFXTR round=11 21f040000000000000000001 -> 0 cc=2
+CLFXTR round=11 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=11 21a840000000000000000001 -> 0 cc=2
+CLFXTR round=11 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=11 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=11 220800000000000000000000 -> 0 cc=0
+CLGXTR round=11 220800000000000000000001 -> 1 cc=2
+CLGXTR round=11 2207c0000000000000000014 -> 1 cc=2
+CLGXTR round=11 2207c0000000000000000015 -> 1 cc=2
+CLGXTR round=11 2207c0000000000000000016 -> 1 cc=2
+CLGXTR round=11 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=11 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=11 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=11 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=11 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=11 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=11 2206c0000000000000000016 -> 0 cc=2
+CLGXTR round=11 21f040000000000000000001 -> 0 cc=2
+CLGXTR round=11 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=11 21a840000000000000000001 -> 0 cc=2
+CLGXTR round=11 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=11 a207c0000000000000000011 -> -2 cc=1
+CFXTR round=11 220800000000000000000000 -> 0 cc=0
+CFXTR round=11 220800000000000000000001 -> 1 cc=2
+CFXTR round=11 2207c0000000000000000014 -> 1 cc=2
+CFXTR round=11 2207c0000000000000000015 -> 1 cc=2
+CFXTR round=11 2207c0000000000000000016 -> 1 cc=2
+CFXTR round=11 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=11 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=11 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=11 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=11 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=11 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=11 2206c0000000000000000016 -> 0 cc=2
+CFXTR round=11 21f040000000000000000001 -> 0 cc=2
+CFXTR round=11 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=11 21a840000000000000000001 -> 0 cc=2
+CFXTR round=11 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=12 0 -> 2238000000000000
+CDLGTR round=12 1 -> 2238000000000001
+CDLGTR round=12 4294967295 -> 2238000115afb55b
+CDLGTR round=12 2147483648 -> 223800008c78af48
+CDLGTR round=12 2147483647 -> 223800008c78af47
+CDLGTR round=12 4294967296 -> 2238000115afb57a
+CDLGTR round=12 18446744073709551615 -> 264a4cdd2077c2dd
+CDLGTR round=12 9223372036854775808 -> 6e45237c836973f6
+CDLGTR round=12 9223372036854775807 -> 6e45237c836973f6
+CLFDTR round=12 a234000000000011 -> 0 cc=3
+CLFDTR round=12 2238000000000000 -> 0 cc=0
+CLFDTR round=12 2238000000000001 -> 1 cc=2
+CLFDTR round=12 2234000000000014 -> 1 cc=2
+CLFDTR round=12 2234000000000015 -> 2 cc=2
+CLFDTR round=12 2234000000000016 -> 2 cc=2
+CLFDTR round=12 2244000000000016 -> 16000 cc=2
+CLFDTR round=12 2254000000000016 -> 160000000 cc=2
+CLFDTR round=12 2244000000000016 -> 16000 cc=2
+CLFDTR round=12 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=12 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=12 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=12 2224000000000016 -> 0 cc=2
+CLFDTR round=12 20bc000000000001 -> 0 cc=2
+CLFDTR round=12 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=12 3c000000000001 -> 0 cc=2
+CLFDTR round=12 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=12 a234000000000011 -> 0 cc=3
+CLGDTR round=12 2238000000000000 -> 0 cc=0
+CLGDTR round=12 2238000000000001 -> 1 cc=2
+CLGDTR round=12 2234000000000014 -> 1 cc=2
+CLGDTR round=12 2234000000000015 -> 2 cc=2
+CLGDTR round=12 2234000000000016 -> 2 cc=2
+CLGDTR round=12 2244000000000016 -> 16000 cc=2
+CLGDTR round=12 2254000000000016 -> 160000000 cc=2
+CLGDTR round=12 2244000000000016 -> 16000 cc=2
+CLGDTR round=12 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=12 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=12 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=12 2224000000000016 -> 0 cc=2
+CLGDTR round=12 20bc000000000001 -> 0 cc=2
+CLGDTR round=12 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=12 3c000000000001 -> 0 cc=2
+CLGDTR round=12 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=12 a234000000000011 -> -1 cc=1
+CFDTR round=12 2238000000000000 -> 0 cc=0
+CFDTR round=12 2238000000000001 -> 1 cc=2
+CFDTR round=12 2234000000000014 -> 1 cc=2
+CFDTR round=12 2234000000000015 -> 2 cc=2
+CFDTR round=12 2234000000000016 -> 2 cc=2
+CFDTR round=12 2244000000000016 -> 16000 cc=2
+CFDTR round=12 2254000000000016 -> 160000000 cc=2
+CFDTR round=12 2244000000000016 -> 16000 cc=2
+CFDTR round=12 2264000000000016 -> 2147483647 cc=3
+CFDTR round=12 2284000000000016 -> 2147483647 cc=3
+CFDTR round=12 4154000000000016 -> 2147483647 cc=3
+CFDTR round=12 2224000000000016 -> 0 cc=2
+CFDTR round=12 20bc000000000001 -> 0 cc=2
+CFDTR round=12 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=12 3c000000000001 -> 0 cc=2
+CFDTR round=12 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=12 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=12 220800000000000000000000 -> 0 cc=0
+CLFXTR round=12 220800000000000000000001 -> 1 cc=2
+CLFXTR round=12 2207c0000000000000000014 -> 1 cc=2
+CLFXTR round=12 2207c0000000000000000015 -> 2 cc=2
+CLFXTR round=12 2207c0000000000000000016 -> 2 cc=2
+CLFXTR round=12 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=12 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=12 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=12 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=12 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=12 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=12 2206c0000000000000000016 -> 0 cc=2
+CLFXTR round=12 21f040000000000000000001 -> 0 cc=2
+CLFXTR round=12 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=12 21a840000000000000000001 -> 0 cc=2
+CLFXTR round=12 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=12 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=12 220800000000000000000000 -> 0 cc=0
+CLGXTR round=12 220800000000000000000001 -> 1 cc=2
+CLGXTR round=12 2207c0000000000000000014 -> 1 cc=2
+CLGXTR round=12 2207c0000000000000000015 -> 2 cc=2
+CLGXTR round=12 2207c0000000000000000016 -> 2 cc=2
+CLGXTR round=12 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=12 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=12 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=12 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=12 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=12 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=12 2206c0000000000000000016 -> 0 cc=2
+CLGXTR round=12 21f040000000000000000001 -> 0 cc=2
+CLGXTR round=12 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=12 21a840000000000000000001 -> 0 cc=2
+CLGXTR round=12 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=12 a207c0000000000000000011 -> -1 cc=1
+CFXTR round=12 220800000000000000000000 -> 0 cc=0
+CFXTR round=12 220800000000000000000001 -> 1 cc=2
+CFXTR round=12 2207c0000000000000000014 -> 1 cc=2
+CFXTR round=12 2207c0000000000000000015 -> 2 cc=2
+CFXTR round=12 2207c0000000000000000016 -> 2 cc=2
+CFXTR round=12 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=12 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=12 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=12 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=12 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=12 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=12 2206c0000000000000000016 -> 0 cc=2
+CFXTR round=12 21f040000000000000000001 -> 0 cc=2
+CFXTR round=12 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=12 21a840000000000000000001 -> 0 cc=2
+CFXTR round=12 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=13 0 -> 2238000000000000
+CDLGTR round=13 1 -> 2238000000000001
+CDLGTR round=13 4294967295 -> 2238000115afb55b
+CDLGTR round=13 2147483648 -> 223800008c78af48
+CDLGTR round=13 2147483647 -> 223800008c78af47
+CDLGTR round=13 4294967296 -> 2238000115afb57a
+CDLGTR round=13 18446744073709551615 -> 264a4cdd2077c2dd
+CDLGTR round=13 9223372036854775808 -> 6e45237c836973f6
+CDLGTR round=13 9223372036854775807 -> 6e45237c836973f6
+CLFDTR round=13 a234000000000011 -> 0 cc=3
+CLFDTR round=13 2238000000000000 -> 0 cc=0
+CLFDTR round=13 2238000000000001 -> 1 cc=2
+CLFDTR round=13 2234000000000014 -> 1 cc=2
+CLFDTR round=13 2234000000000015 -> 1 cc=2
+CLFDTR round=13 2234000000000016 -> 2 cc=2
+CLFDTR round=13 2244000000000016 -> 16000 cc=2
+CLFDTR round=13 2254000000000016 -> 160000000 cc=2
+CLFDTR round=13 2244000000000016 -> 16000 cc=2
+CLFDTR round=13 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=13 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=13 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=13 2224000000000016 -> 0 cc=2
+CLFDTR round=13 20bc000000000001 -> 0 cc=2
+CLFDTR round=13 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=13 3c000000000001 -> 0 cc=2
+CLFDTR round=13 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=13 a234000000000011 -> 0 cc=3
+CLGDTR round=13 2238000000000000 -> 0 cc=0
+CLGDTR round=13 2238000000000001 -> 1 cc=2
+CLGDTR round=13 2234000000000014 -> 1 cc=2
+CLGDTR round=13 2234000000000015 -> 1 cc=2
+CLGDTR round=13 2234000000000016 -> 2 cc=2
+CLGDTR round=13 2244000000000016 -> 16000 cc=2
+CLGDTR round=13 2254000000000016 -> 160000000 cc=2
+CLGDTR round=13 2244000000000016 -> 16000 cc=2
+CLGDTR round=13 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=13 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=13 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=13 2224000000000016 -> 0 cc=2
+CLGDTR round=13 20bc000000000001 -> 0 cc=2
+CLGDTR round=13 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=13 3c000000000001 -> 0 cc=2
+CLGDTR round=13 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=13 a234000000000011 -> -1 cc=1
+CFDTR round=13 2238000000000000 -> 0 cc=0
+CFDTR round=13 2238000000000001 -> 1 cc=2
+CFDTR round=13 2234000000000014 -> 1 cc=2
+CFDTR round=13 2234000000000015 -> 1 cc=2
+CFDTR round=13 2234000000000016 -> 2 cc=2
+CFDTR round=13 2244000000000016 -> 16000 cc=2
+CFDTR round=13 2254000000000016 -> 160000000 cc=2
+CFDTR round=13 2244000000000016 -> 16000 cc=2
+CFDTR round=13 2264000000000016 -> 2147483647 cc=3
+CFDTR round=13 2284000000000016 -> 2147483647 cc=3
+CFDTR round=13 4154000000000016 -> 2147483647 cc=3
+CFDTR round=13 2224000000000016 -> 0 cc=2
+CFDTR round=13 20bc000000000001 -> 0 cc=2
+CFDTR round=13 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=13 3c000000000001 -> 0 cc=2
+CFDTR round=13 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=13 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=13 220800000000000000000000 -> 0 cc=0
+CLFXTR round=13 220800000000000000000001 -> 1 cc=2
+CLFXTR round=13 2207c0000000000000000014 -> 1 cc=2
+CLFXTR round=13 2207c0000000000000000015 -> 1 cc=2
+CLFXTR round=13 2207c0000000000000000016 -> 2 cc=2
+CLFXTR round=13 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=13 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=13 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=13 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=13 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=13 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=13 2206c0000000000000000016 -> 0 cc=2
+CLFXTR round=13 21f040000000000000000001 -> 0 cc=2
+CLFXTR round=13 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=13 21a840000000000000000001 -> 0 cc=2
+CLFXTR round=13 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=13 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=13 220800000000000000000000 -> 0 cc=0
+CLGXTR round=13 220800000000000000000001 -> 1 cc=2
+CLGXTR round=13 2207c0000000000000000014 -> 1 cc=2
+CLGXTR round=13 2207c0000000000000000015 -> 1 cc=2
+CLGXTR round=13 2207c0000000000000000016 -> 2 cc=2
+CLGXTR round=13 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=13 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=13 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=13 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=13 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=13 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=13 2206c0000000000000000016 -> 0 cc=2
+CLGXTR round=13 21f040000000000000000001 -> 0 cc=2
+CLGXTR round=13 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=13 21a840000000000000000001 -> 0 cc=2
+CLGXTR round=13 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=13 a207c0000000000000000011 -> -1 cc=1
+CFXTR round=13 220800000000000000000000 -> 0 cc=0
+CFXTR round=13 220800000000000000000001 -> 1 cc=2
+CFXTR round=13 2207c0000000000000000014 -> 1 cc=2
+CFXTR round=13 2207c0000000000000000015 -> 1 cc=2
+CFXTR round=13 2207c0000000000000000016 -> 2 cc=2
+CFXTR round=13 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=13 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=13 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=13 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=13 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=13 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=13 2206c0000000000000000016 -> 0 cc=2
+CFXTR round=13 21f040000000000000000001 -> 0 cc=2
+CFXTR round=13 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=13 21a840000000000000000001 -> 0 cc=2
+CFXTR round=13 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=14 0 -> 2238000000000000
+CDLGTR round=14 1 -> 2238000000000001
+CDLGTR round=14 4294967295 -> 2238000115afb55b
+CDLGTR round=14 2147483648 -> 223800008c78af48
+CDLGTR round=14 2147483647 -> 223800008c78af47
+CDLGTR round=14 4294967296 -> 2238000115afb57a
+CDLGTR round=14 18446744073709551615 -> 264a4cdd2077c3dc
+CDLGTR round=14 9223372036854775808 -> 6e45237c836973f6
+CDLGTR round=14 9223372036854775807 -> 6e45237c836973f6
+CLFDTR round=14 a234000000000011 -> 0 cc=3
+CLFDTR round=14 2238000000000000 -> 0 cc=0
+CLFDTR round=14 2238000000000001 -> 1 cc=2
+CLFDTR round=14 2234000000000014 -> 2 cc=2
+CLFDTR round=14 2234000000000015 -> 2 cc=2
+CLFDTR round=14 2234000000000016 -> 2 cc=2
+CLFDTR round=14 2244000000000016 -> 16000 cc=2
+CLFDTR round=14 2254000000000016 -> 160000000 cc=2
+CLFDTR round=14 2244000000000016 -> 16000 cc=2
+CLFDTR round=14 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=14 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=14 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=14 2224000000000016 -> 1 cc=2
+CLFDTR round=14 20bc000000000001 -> 1 cc=2
+CLFDTR round=14 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=14 3c000000000001 -> 1 cc=2
+CLFDTR round=14 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=14 a234000000000011 -> 0 cc=3
+CLGDTR round=14 2238000000000000 -> 0 cc=0
+CLGDTR round=14 2238000000000001 -> 1 cc=2
+CLGDTR round=14 2234000000000014 -> 2 cc=2
+CLGDTR round=14 2234000000000015 -> 2 cc=2
+CLGDTR round=14 2234000000000016 -> 2 cc=2
+CLGDTR round=14 2244000000000016 -> 16000 cc=2
+CLGDTR round=14 2254000000000016 -> 160000000 cc=2
+CLGDTR round=14 2244000000000016 -> 16000 cc=2
+CLGDTR round=14 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=14 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=14 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=14 2224000000000016 -> 1 cc=2
+CLGDTR round=14 20bc000000000001 -> 1 cc=2
+CLGDTR round=14 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=14 3c000000000001 -> 1 cc=2
+CLGDTR round=14 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=14 a234000000000011 -> -2 cc=1
+CFDTR round=14 2238000000000000 -> 0 cc=0
+CFDTR round=14 2238000000000001 -> 1 cc=2
+CFDTR round=14 2234000000000014 -> 2 cc=2
+CFDTR round=14 2234000000000015 -> 2 cc=2
+CFDTR round=14 2234000000000016 -> 2 cc=2
+CFDTR round=14 2244000000000016 -> 16000 cc=2
+CFDTR round=14 2254000000000016 -> 160000000 cc=2
+CFDTR round=14 2244000000000016 -> 16000 cc=2
+CFDTR round=14 2264000000000016 -> 2147483647 cc=3
+CFDTR round=14 2284000000000016 -> 2147483647 cc=3
+CFDTR round=14 4154000000000016 -> 2147483647 cc=3
+CFDTR round=14 2224000000000016 -> 1 cc=2
+CFDTR round=14 20bc000000000001 -> 1 cc=2
+CFDTR round=14 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=14 3c000000000001 -> 1 cc=2
+CFDTR round=14 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=14 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=14 220800000000000000000000 -> 0 cc=0
+CLFXTR round=14 220800000000000000000001 -> 1 cc=2
+CLFXTR round=14 2207c0000000000000000014 -> 2 cc=2
+CLFXTR round=14 2207c0000000000000000015 -> 2 cc=2
+CLFXTR round=14 2207c0000000000000000016 -> 2 cc=2
+CLFXTR round=14 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=14 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=14 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=14 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=14 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=14 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=14 2206c0000000000000000016 -> 1 cc=2
+CLFXTR round=14 21f040000000000000000001 -> 1 cc=2
+CLFXTR round=14 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=14 21a840000000000000000001 -> 1 cc=2
+CLFXTR round=14 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=14 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=14 220800000000000000000000 -> 0 cc=0
+CLGXTR round=14 220800000000000000000001 -> 1 cc=2
+CLGXTR round=14 2207c0000000000000000014 -> 2 cc=2
+CLGXTR round=14 2207c0000000000000000015 -> 2 cc=2
+CLGXTR round=14 2207c0000000000000000016 -> 2 cc=2
+CLGXTR round=14 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=14 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=14 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=14 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=14 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=14 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=14 2206c0000000000000000016 -> 1 cc=2
+CLGXTR round=14 21f040000000000000000001 -> 1 cc=2
+CLGXTR round=14 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=14 21a840000000000000000001 -> 1 cc=2
+CLGXTR round=14 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=14 a207c0000000000000000011 -> -2 cc=1
+CFXTR round=14 220800000000000000000000 -> 0 cc=0
+CFXTR round=14 220800000000000000000001 -> 1 cc=2
+CFXTR round=14 2207c0000000000000000014 -> 2 cc=2
+CFXTR round=14 2207c0000000000000000015 -> 2 cc=2
+CFXTR round=14 2207c0000000000000000016 -> 2 cc=2
+CFXTR round=14 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=14 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=14 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=14 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=14 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=14 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=14 2206c0000000000000000016 -> 1 cc=2
+CFXTR round=14 21f040000000000000000001 -> 1 cc=2
+CFXTR round=14 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=14 21a840000000000000000001 -> 1 cc=2
+CFXTR round=14 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
+CDLGTR round=15 0 -> 2238000000000000
+CDLGTR round=15 1 -> 2238000000000001
+CDLGTR round=15 4294967295 -> 2238000115afb55b
+CDLGTR round=15 2147483648 -> 223800008c78af48
+CDLGTR round=15 2147483647 -> 223800008c78af47
+CDLGTR round=15 4294967296 -> 2238000115afb57a
+CDLGTR round=15 18446744073709551615 -> 264a4cdd2077c3dc
+CDLGTR round=15 9223372036854775808 -> 6e45237c836973f6
+CDLGTR round=15 9223372036854775807 -> 6e45237c836973f6
+CLFDTR round=15 a234000000000011 -> 0 cc=3
+CLFDTR round=15 2238000000000000 -> 0 cc=0
+CLFDTR round=15 2238000000000001 -> 1 cc=2
+CLFDTR round=15 2234000000000014 -> 1 cc=2
+CLFDTR round=15 2234000000000015 -> 1 cc=2
+CLFDTR round=15 2234000000000016 -> 1 cc=2
+CLFDTR round=15 2244000000000016 -> 16000 cc=2
+CLFDTR round=15 2254000000000016 -> 160000000 cc=2
+CLFDTR round=15 2244000000000016 -> 16000 cc=2
+CLFDTR round=15 2264000000000016 -> 4294967295 cc=3
+CLFDTR round=15 2284000000000016 -> 4294967295 cc=3
+CLFDTR round=15 4154000000000016 -> 4294967295 cc=3
+CLFDTR round=15 2224000000000016 -> 1 cc=2
+CLFDTR round=15 20bc000000000001 -> 1 cc=2
+CLFDTR round=15 23a000000093fcff -> 4294967295 cc=3
+CLFDTR round=15 3c000000000001 -> 1 cc=2
+CLFDTR round=15 77fcff3fcff3fcff -> 4294967295 cc=3
+CLGDTR round=15 a234000000000011 -> 0 cc=3
+CLGDTR round=15 2238000000000000 -> 0 cc=0
+CLGDTR round=15 2238000000000001 -> 1 cc=2
+CLGDTR round=15 2234000000000014 -> 1 cc=2
+CLGDTR round=15 2234000000000015 -> 1 cc=2
+CLGDTR round=15 2234000000000016 -> 1 cc=2
+CLGDTR round=15 2244000000000016 -> 16000 cc=2
+CLGDTR round=15 2254000000000016 -> 160000000 cc=2
+CLGDTR round=15 2244000000000016 -> 16000 cc=2
+CLGDTR round=15 2264000000000016 -> 1600000000000 cc=2
+CLGDTR round=15 2284000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=15 4154000000000016 -> 18446744073709551615 cc=3
+CLGDTR round=15 2224000000000016 -> 1 cc=2
+CLGDTR round=15 20bc000000000001 -> 1 cc=2
+CLGDTR round=15 23a000000093fcff -> 18446744073709551615 cc=3
+CLGDTR round=15 3c000000000001 -> 1 cc=2
+CLGDTR round=15 77fcff3fcff3fcff -> 18446744073709551615 cc=3
+CFDTR round=15 a234000000000011 -> -1 cc=1
+CFDTR round=15 2238000000000000 -> 0 cc=0
+CFDTR round=15 2238000000000001 -> 1 cc=2
+CFDTR round=15 2234000000000014 -> 1 cc=2
+CFDTR round=15 2234000000000015 -> 1 cc=2
+CFDTR round=15 2234000000000016 -> 1 cc=2
+CFDTR round=15 2244000000000016 -> 16000 cc=2
+CFDTR round=15 2254000000000016 -> 160000000 cc=2
+CFDTR round=15 2244000000000016 -> 16000 cc=2
+CFDTR round=15 2264000000000016 -> 2147483647 cc=3
+CFDTR round=15 2284000000000016 -> 2147483647 cc=3
+CFDTR round=15 4154000000000016 -> 2147483647 cc=3
+CFDTR round=15 2224000000000016 -> 1 cc=2
+CFDTR round=15 20bc000000000001 -> 1 cc=2
+CFDTR round=15 23a000000093fcff -> 2147483647 cc=3
+CFDTR round=15 3c000000000001 -> 1 cc=2
+CFDTR round=15 77fcff3fcff3fcff -> 2147483647 cc=3
+CLFXTR round=15 a207c0000000000000000011 -> 0 cc=3
+CLFXTR round=15 220800000000000000000000 -> 0 cc=0
+CLFXTR round=15 220800000000000000000001 -> 1 cc=2
+CLFXTR round=15 2207c0000000000000000014 -> 1 cc=2
+CLFXTR round=15 2207c0000000000000000015 -> 1 cc=2
+CLFXTR round=15 2207c0000000000000000016 -> 1 cc=2
+CLFXTR round=15 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=15 2209c0000000000000000016 -> 160000000 cc=2
+CLFXTR round=15 2208c0000000000000000016 -> 16000 cc=2
+CLFXTR round=15 220ac0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=15 220cc0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=15 2239c0000000000000000016 -> 4294967295 cc=3
+CLFXTR round=15 2206c0000000000000000016 -> 1 cc=2
+CLFXTR round=15 21f040000000000000000001 -> 1 cc=2
+CLFXTR round=15 221e8000000000000093fcff -> 4294967295 cc=3
+CLFXTR round=15 21a840000000000000000001 -> 1 cc=2
+CLFXTR round=15 226440000000000024ff3fcff3fcff -> 4294967295 cc=3
+CLGXTR round=15 a207c0000000000000000011 -> 0 cc=3
+CLGXTR round=15 220800000000000000000000 -> 0 cc=0
+CLGXTR round=15 220800000000000000000001 -> 1 cc=2
+CLGXTR round=15 2207c0000000000000000014 -> 1 cc=2
+CLGXTR round=15 2207c0000000000000000015 -> 1 cc=2
+CLGXTR round=15 2207c0000000000000000016 -> 1 cc=2
+CLGXTR round=15 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=15 2209c0000000000000000016 -> 160000000 cc=2
+CLGXTR round=15 2208c0000000000000000016 -> 16000 cc=2
+CLGXTR round=15 220ac0000000000000000016 -> 1600000000000 cc=2
+CLGXTR round=15 220cc0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=15 2239c0000000000000000016 -> 18446744073709551615 cc=3
+CLGXTR round=15 2206c0000000000000000016 -> 1 cc=2
+CLGXTR round=15 21f040000000000000000001 -> 1 cc=2
+CLGXTR round=15 221e8000000000000093fcff -> 18446744073709551615 cc=3
+CLGXTR round=15 21a840000000000000000001 -> 1 cc=2
+CLGXTR round=15 226440000000000024ff3fcff3fcff -> 18446744073709551615 cc=3
+CFXTR round=15 a207c0000000000000000011 -> -1 cc=1
+CFXTR round=15 220800000000000000000000 -> 0 cc=0
+CFXTR round=15 220800000000000000000001 -> 1 cc=2
+CFXTR round=15 2207c0000000000000000014 -> 1 cc=2
+CFXTR round=15 2207c0000000000000000015 -> 1 cc=2
+CFXTR round=15 2207c0000000000000000016 -> 1 cc=2
+CFXTR round=15 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=15 2209c0000000000000000016 -> 160000000 cc=2
+CFXTR round=15 2208c0000000000000000016 -> 16000 cc=2
+CFXTR round=15 220ac0000000000000000016 -> 2147483647 cc=3
+CFXTR round=15 220cc0000000000000000016 -> 2147483647 cc=3
+CFXTR round=15 2239c0000000000000000016 -> 2147483647 cc=3
+CFXTR round=15 2206c0000000000000000016 -> 1 cc=2
+CFXTR round=15 21f040000000000000000001 -> 1 cc=2
+CFXTR round=15 221e8000000000000093fcff -> 2147483647 cc=3
+CFXTR round=15 21a840000000000000000001 -> 1 cc=2
+CFXTR round=15 226440000000000024ff3fcff3fcff -> 2147483647 cc=3
diff --git a/none/tests/s390x/dfpext.vgtest b/none/tests/s390x/dfpext.vgtest
new file mode 100644
index 0000000..ced73e5
--- /dev/null
+++ b/none/tests/s390x/dfpext.vgtest
@@ -0,0 +1,2 @@
+prog: dfpext
+prereq: test -e dfpext && ../../../tests/s390x_features s390x-dfp && ../../../tests/s390x_features s390x-fpext
diff --git a/none/tests/s390x/dfptest.c b/none/tests/s390x/dfptest.c
new file mode 100644
index 0000000..f1b383a
--- /dev/null
+++ b/none/tests/s390x/dfptest.c
@@ -0,0 +1,125 @@
+#include <math.h>
+#include <stdio.h>
+
+/* Following macros adopted from dfp/math.h from libdfp */
+#define DEC_INFINITY    __builtin_infd64()
+#define DEC_NAN         (0.0DF * DEC_INFINITY)
+
+/* Following instructions are tested:
+test data class tests for
+   _Decimal32  - TDCET
+   _Decimal64  - TDCDT
+   _decimal128 - TDCXT
+test data group tests for
+   _Decimal32  - TDGET
+   _Decimal64  - TDGDT
+   _decimal128 - TDGXT
+*/
+
+#define TEST_128(opcode, d, n)                                  \
+  ({                                                            \
+    int match;                                                  \
+    _Decimal128 f = d;                                          \
+    long long num = n;                                          \
+    asm volatile(opcode ", %1,0(%2)\n"                          \
+                 "ipm %0\n"                                     \
+                 "srl %0,28\n"                                  \
+                 : "=d" (match) : "f" (f), "a" (num) : "cc");   \
+    match;                                                      \
+ })
+
+#define TEST_64(opcode, d, n)                                   \
+  ({                                                            \
+    int match;                                                  \
+    _Decimal64 f = d;                                           \
+    long long num = n;                                          \
+    asm volatile(opcode ", %1,0(%2)\n"                          \
+                 "ipm %0\n"                                     \
+                 "srl %0,28\n"                                  \
+                 : "=d" (match) : "f" (f), "a" (num) : "cc");   \
+    match;                                                      \
+ })
+
+#define TEST_32(opcode, d, n)                                   \
+  ({                                                            \
+    int match;                                                  \
+    _Decimal32 f = d;                                           \
+    long long num = n;                                          \
+    asm volatile(opcode ", %1,0(%2)\n"                          \
+                 "ipm %0\n"                                     \
+                 "srl %0,28\n"                                  \
+                 : "=d" (match) : "f" (f), "a" (num) : "cc");   \
+    match;                                                      \
+ })
+
+int main()
+{
+	int i;
+
+    /* The right most 12 bits 52:63 of the second operand are set and tested */
+    for (i = 0; i < 12; i++) {
+        /* DFP 128 bit - TDCXT */
+        printf("%d", TEST_128(".insn rxe, 0xed0000000058", +0.0DF, 1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000058", -0.0DF, 1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000058", +2.2DF, 1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000058", -2.2DF, 1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000058",+DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000058",-DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000058", +DEC_NAN, 1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000058", -DEC_NAN, 1UL<<i));
+
+        /* DFP 128 bit - TDGXT */
+        printf("%d", TEST_128(".insn rxe, 0xed0000000059", +0.0DF, 1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000059", -0.0DF, 1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000059", +2.2DF, 1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000059", -2.2DF, 1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000059",+DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000059",-DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000059", +DEC_NAN, 1UL<<i));
+        printf("%d", TEST_128(".insn rxe, 0xed0000000059", -DEC_NAN, 1UL<<i));
+
+        /* DFP 64 bit - TDCDT */
+        printf("%d", TEST_64(".insn rxe, 0xed0000000054", +0.0DF, 1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000054", -0.0DF, 1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000054", +2.2DF, 1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000054", -2.2DF, 1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000054",+DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000054",-DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000054", +DEC_NAN, 1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000054", -DEC_NAN, 1UL<<i));
+
+        /* DFP 64 bit - TDGDT */
+        printf("%d", TEST_64(".insn rxe, 0xed0000000055", +0.0DF, 1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000055", -0.0DF, 1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000055", +2.2DF, 1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000055", -2.2DF, 1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000055",+DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000055",-DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000055", +DEC_NAN, 1UL<<i));
+        printf("%d", TEST_64(".insn rxe, 0xed0000000055", -DEC_NAN, 1UL<<i));
+
+        /* DFP 32 bit - TDCET */
+        printf("%d", TEST_32(".insn rxe, 0xed0000000050", +0.0DF, 1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000050", -0.0DF, 1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000050", +2.2DF, 1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000050", -2.2DF, 1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000050",+DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000050",-DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000050", +DEC_NAN, 1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000050", -DEC_NAN, 1UL<<i));
+
+        /* DFP 32 bit - TDGET */
+        printf("%d", TEST_32(".insn rxe, 0xed0000000051", +0.0DF, 1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000051", -0.0DF, 1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000051", +2.2DF, 1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000051", -2.2DF, 1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000051",+DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000051",-DEC_INFINITY,1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000051", +DEC_NAN, 1UL<<i));
+        printf("%d", TEST_32(".insn rxe, 0xed0000000051", -DEC_NAN, 1UL<<i));
+
+        printf("\n");
+
+	}
+	return 0;
+}
diff --git a/none/tests/s390x/dfptest.stderr.exp b/none/tests/s390x/dfptest.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/dfptest.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/dfptest.stdout.exp b/none/tests/s390x/dfptest.stdout.exp
new file mode 100644
index 0000000..15fd7b5
--- /dev/null
+++ b/none/tests/s390x/dfptest.stdout.exp
@@ -0,0 +1,12 @@
+000000000000010100000000000001010000000000000101
+000000000000101000000000000010100000000000001010
+000000010000000000000001000000000000000100000000
+000000100000000000000010000000000000001000000000
+000001000001000000000100000100000000010000010000
+000010000010000000001000001000000000100000100000
+000100000000000000010000000000000001000000000000
+001000000000000000100000000000000010000000000000
+000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000
+010000000100000001000000010000000100000001000000
+100000001000000010000000100000001000000010000000
diff --git a/none/tests/s390x/dfptest.vgtest b/none/tests/s390x/dfptest.vgtest
new file mode 100644
index 0000000..a6f1291
--- /dev/null
+++ b/none/tests/s390x/dfptest.vgtest
@@ -0,0 +1,2 @@
+prog: dfptest
+prereq: test -e dfptest && ../../../tests/s390x_features s390x-dfp
diff --git a/none/tests/s390x/ecag.c b/none/tests/s390x/ecag.c
new file mode 100644
index 0000000..31a469f
--- /dev/null
+++ b/none/tests/s390x/ecag.c
@@ -0,0 +1,73 @@
+#include <stdio.h>
+#include <assert.h>
+#include <stdint.h>
+#include <inttypes.h>
+#include "opcodes.h"
+
+uint64_t
+ecag(int ai, int li, int ti)
+{
+   register uint64_t result asm("2") = 0;
+   register uint64_t input  asm("3") = (ai << 4) | (li << 1) | ti;
+
+   asm volatile( ECAG(2,0,3,000,00)
+                 : "=d" (result) : "d" (input));
+   return result;
+}
+
+static unsigned
+get_level_info(uint64_t topology, unsigned level)
+{
+   return (topology >> (56 - level * 8)) & 0xff;
+}
+
+int 
+main(void)
+{
+   unsigned level;
+   uint64_t topology;
+
+   topology = ecag(0, 0, 0);   // get summary
+
+   /* ECAG supports at most 8 levels of cache. Iterate over all of them
+      ignoring those not present. */
+   for (level = 0; level < 8; level++) {
+      unsigned info = get_level_info(topology, level);
+
+      if ((info & 0xc) == 0) continue;  // cache does not exist at this level
+
+      unsigned cache_type  =  info & 0x3;
+      unsigned cache_scope = (info & 0xc) >> 2;
+      char *type, *scope;
+
+      switch (cache_type) {
+      case 0: type = "separate data and instruction"; break;
+      case 1: type = "instruction"; break;
+      case 2: type = "data"; break;
+      case 3: type = "unified data and instruction"; break;
+      }
+
+      switch (cache_scope) {
+      case 0: assert(0);  // should never occur because cache exists
+      case 1: scope = "private";  break;
+      case 2: scope = "shared";   break;
+      case 3: scope = "reserved"; break;
+      }
+
+      printf("L%u topology: %s; %s\n", level+1, type, scope);
+      printf("L%u cache line size data: %"PRId64"\n", level+1,
+             ecag(1, level, 0));
+      printf("L%u cache line size insn: %"PRId64"\n", level+1,
+             ecag(1, level, 1));
+      printf("L%u total cachesize data: %"PRId64"\n", level+1,
+             ecag(2, level, 0));
+      printf("L%u total cachesize insn: %"PRId64"\n", level+1,
+             ecag(2, level, 1));
+      printf("L%u set. assoc.     data: %"PRId64"\n", level+1,
+             ecag(3, level, 0));
+      printf("L%u set. assoc.     insn: %"PRId64"\n", level+1,
+             ecag(3, level, 1));
+   }
+   
+   return 0;
+}
diff --git a/none/tests/s390x/ecag.stderr.exp b/none/tests/s390x/ecag.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/ecag.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/ecag.stdout.exp b/none/tests/s390x/ecag.stdout.exp
new file mode 100644
index 0000000..bf8ba6a
--- /dev/null
+++ b/none/tests/s390x/ecag.stdout.exp
@@ -0,0 +1 @@
+just to silence the consistency checker
diff --git a/none/tests/s390x/ecag.stdout.exp-z10ec b/none/tests/s390x/ecag.stdout.exp-z10ec
new file mode 100644
index 0000000..13e7855
--- /dev/null
+++ b/none/tests/s390x/ecag.stdout.exp-z10ec
@@ -0,0 +1,21 @@
+L1 topology: separate data and instruction; private
+L1 cache line size data: 256
+L1 cache line size insn: 256
+L1 total cachesize data: 131072
+L1 total cachesize insn: 65536
+L1 set. assoc.     data: 8
+L1 set. assoc.     insn: 4
+L2 topology: unified data and instruction; private
+L2 cache line size data: 256
+L2 cache line size insn: 256
+L2 total cachesize data: 3145728
+L2 total cachesize insn: 3145728
+L2 set. assoc.     data: 12
+L2 set. assoc.     insn: 12
+L3 topology: unified data and instruction; shared
+L3 cache line size data: 256
+L3 cache line size insn: 256
+L3 total cachesize data: 50331648
+L3 total cachesize insn: 50331648
+L3 set. assoc.     data: 24
+L3 set. assoc.     insn: 24
diff --git a/none/tests/s390x/ecag.stdout.exp-z196 b/none/tests/s390x/ecag.stdout.exp-z196
new file mode 100644
index 0000000..f44ea55
--- /dev/null
+++ b/none/tests/s390x/ecag.stdout.exp-z196
@@ -0,0 +1,28 @@
+L1 topology: separate data and instruction; private
+L1 cache line size data: 256
+L1 cache line size insn: 256
+L1 total cachesize data: 131072
+L1 total cachesize insn: 65536
+L1 set. assoc.     data: 8
+L1 set. assoc.     insn: 4
+L2 topology: unified data and instruction; private
+L2 cache line size data: 256
+L2 cache line size insn: 256
+L2 total cachesize data: 1572864
+L2 total cachesize insn: 1572864
+L2 set. assoc.     data: 12
+L2 set. assoc.     insn: 12
+L3 topology: unified data and instruction; shared
+L3 cache line size data: 256
+L3 cache line size insn: 256
+L3 total cachesize data: 25165824
+L3 total cachesize insn: 25165824
+L3 set. assoc.     data: 12
+L3 set. assoc.     insn: 12
+L4 topology: unified data and instruction; shared
+L4 cache line size data: 256
+L4 cache line size insn: 256
+L4 total cachesize data: 201326592
+L4 total cachesize insn: 201326592
+L4 set. assoc.     data: 24
+L4 set. assoc.     insn: 24
diff --git a/none/tests/s390x/ecag.stdout.exp-zec12 b/none/tests/s390x/ecag.stdout.exp-zec12
new file mode 100644
index 0000000..1562bf6
--- /dev/null
+++ b/none/tests/s390x/ecag.stdout.exp-zec12
@@ -0,0 +1,28 @@
+L1 topology: separate data and instruction; private
+L1 cache line size data: 256
+L1 cache line size insn: 256
+L1 total cachesize data: 98304
+L1 total cachesize insn: 65536
+L1 set. assoc.     data: 6
+L1 set. assoc.     insn: 4
+L2 topology: separate data and instruction; private
+L2 cache line size data: 256
+L2 cache line size insn: 256
+L2 total cachesize data: 1048576
+L2 total cachesize insn: 1048576
+L2 set. assoc.     data: 8
+L2 set. assoc.     insn: 8
+L3 topology: unified data and instruction; shared
+L3 cache line size data: 256
+L3 cache line size insn: 256
+L3 total cachesize data: 50331648
+L3 total cachesize insn: 50331648
+L3 set. assoc.     data: 12
+L3 set. assoc.     insn: 12
+L4 topology: unified data and instruction; shared
+L4 cache line size data: 256
+L4 cache line size insn: 256
+L4 total cachesize data: 402653184
+L4 total cachesize insn: 402653184
+L4 set. assoc.     data: 24
+L4 set. assoc.     insn: 24
diff --git a/none/tests/s390x/ecag.vgtest b/none/tests/s390x/ecag.vgtest
new file mode 100644
index 0000000..f4abb77
--- /dev/null
+++ b/none/tests/s390x/ecag.vgtest
@@ -0,0 +1,2 @@
+prereq: ../../../tests/s390x_features s390x-genins
+prog: ecag
diff --git a/none/tests/s390x/ex.c b/none/tests/s390x/ex.c
new file mode 100644
index 0000000..439246e
--- /dev/null
+++ b/none/tests/s390x/ex.c
@@ -0,0 +1,62 @@
+#include <stdio.h>
+
+char buffer[] ="0123456789abcdef";
+char target[] ="XXXXXXXXXXXXXXXX";
+
+int main(void)
+{
+   setbuf(stdout, NULL);
+
+   printf("------- Copy 10+1 bytes from buffer to target\n");
+   printf("------- EX to OR in the length\n");
+   printf("before: buffer = |%s|\n", buffer);
+   printf("before: target = |%s|\n", target);
+   asm volatile( "larl 1, 1f\n\t"
+                 "lghi 2, 10\n\t"
+                 "ex   2, 0(1)\n\t"
+                 "j    2f\n\t"
+                 "1:\n\t"
+                 "mvc  0(1,%0),0(%1)\n\t"
+                 "2:\n\t"
+                 : : "a" (target), "a" (buffer): "1", "2", "memory");
+   printf("after:  buffer = |%s|\n", buffer);
+   printf("after:  target = |%s|\n", target);
+   printf("\n");
+
+   printf("------- EX 0,... has no effect (writes out target)\n");
+   printf("        target = |");
+   asm volatile( "lghi 0, 0xff\n\t" // fill nonsense in r0
+                 "larl 1, 1f\n\t"
+                 "lghi 2, 1\n\t"    // stdout  
+                 "lgr  3, %0\n\t"   // target
+                 "lghi 4, %1\n\t"   // len
+                 "ex   0, 0(1)\n\t"
+                 "j    2f\n\t"
+                 "1:\n\t"
+                 "svc  4\n\t"
+                 "2:\n\t"
+                 : : "a" (target), "i" (sizeof target - 1)
+                 : "0", "1", "2", "3", "4");
+   printf("|\n");
+   printf("\n");
+
+   printf("------- EX to OR in the syscall number (writes out target)\n");
+   printf("        target = |");
+   asm volatile( "lghi 5, 4\n\t"    // NR_write
+                 "larl 1, 1f\n\t"
+                 "lghi 2, 1\n\t"    // stdout
+                 "lgr  3, %0\n\t"   // target
+                 "lghi 4, %1\n\t"   // len
+                 "ex   5, 0(1)\n\t"
+                 "j    2f\n\t"
+                 "1:\n\t"
+                 "svc  0\n\t"       // changed to NR_write
+                 "2:\n\t"
+                 : : "a" (target), "i" (sizeof target - 1)
+                 : "1", "2", "3", "4", "5");
+   printf("|\n");
+   printf("\n");
+
+   return 0;
+}
+
diff --git a/none/tests/s390x/ex.stderr.exp b/none/tests/s390x/ex.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/ex.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/ex.stdout.exp b/none/tests/s390x/ex.stdout.exp
new file mode 100644
index 0000000..1271b58
--- /dev/null
+++ b/none/tests/s390x/ex.stdout.exp
@@ -0,0 +1,13 @@
+------- Copy 10+1 bytes from buffer to target
+------- EX to OR in the length
+before: buffer = |0123456789abcdef|
+before: target = |XXXXXXXXXXXXXXXX|
+after:  buffer = |0123456789abcdef|
+after:  target = |0123456789aXXXXX|
+
+------- EX 0,... has no effect (writes out target)
+        target = |0123456789aXXXXX|
+
+------- EX to OR in the syscall number (writes out target)
+        target = |0123456789aXXXXX|
+
diff --git a/none/tests/s390x/ex.vgtest b/none/tests/s390x/ex.vgtest
new file mode 100644
index 0000000..9c28b6c
--- /dev/null
+++ b/none/tests/s390x/ex.vgtest
@@ -0,0 +1 @@
+prog: ex
diff --git a/none/tests/s390x/exrl.c b/none/tests/s390x/exrl.c
new file mode 100644
index 0000000..2c99602
--- /dev/null
+++ b/none/tests/s390x/exrl.c
@@ -0,0 +1,59 @@
+#include <stdio.h>
+
+char buffer[] ="0123456789abcdef";
+char target[] ="XXXXXXXXXXXXXXXX";
+
+int main(void)
+{
+   setbuf(stdout, NULL);
+
+   printf("------- Copy 10+1 bytes from buffer to target\n");
+   printf("------- EXRL to OR in the length\n");
+   printf("before: buffer = |%s|\n", buffer);
+   printf("before: target = |%s|\n", target);
+   asm volatile( "lghi 2, 10\n\t"
+                 ".insn ril,0xc60000000000,2,1f\n\t" // exrl 2, 1f
+                 "j    2f\n\t"
+                 "1:\n\t"
+                 "mvc  0(1,%0),0(%1)\n\t"
+                 "2:\n\t"
+                 : : "a" (target), "a" (buffer) : "1", "2", "memory");
+   printf("after:  buffer = |%s|\n", buffer);
+   printf("after:  target = |%s|\n", target);
+   printf("\n");
+
+   printf("------- EXRL 0,... has no effect (writes out target)\n");
+   printf("        target = |");
+   asm volatile( "lghi 0, 0xff\n\t" // fill nonsense in r0
+                 "lghi 2, 1\n\t"    // stdout
+                 "lgr  3, %0\n\t"   // target
+                 "lghi 4, %1\n\t"   // len
+                 ".insn ril,0xc60000000000,0,1f\n\t" // exrl 0, 1f
+                 "j    2f\n\t"
+                 "1:\n\t"
+                 "svc  4\n\t"       // NR_write
+                 "2:\n\t"
+                 : : "a" (target), "i" (sizeof target - 1)
+                 : "0", "2", "3", "4");
+   printf("|\n");
+   printf("\n");
+
+   printf("------- EXRL to OR in the syscall number (writes out target)\n");
+   printf("        target = |");
+   asm volatile( "lghi 1, 4\n\t"    // NR_write
+                 "lghi 2, 1\n\t"    // stdout
+                 "lgr  3, %0\n\t"   // target
+                 "lghi 4, %1\n\t"   // len
+                 ".insn ril,0xc60000000000,1,1f\n\t" // exrl 1, 1f
+                 "j    2f\n\t"
+                 "1:\n\t"
+                 "svc  0\n\t"       // changed to NR_write
+                 "2:\n\t"
+                 : : "a" (target), "i" (sizeof target - 1)
+                 : "1", "2", "3", "4");
+   printf("|\n");
+   printf("\n");
+
+   return 0;
+}
+
diff --git a/none/tests/s390x/exrl.stderr.exp b/none/tests/s390x/exrl.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/exrl.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/exrl.stdout.exp b/none/tests/s390x/exrl.stdout.exp
new file mode 100644
index 0000000..520919e
--- /dev/null
+++ b/none/tests/s390x/exrl.stdout.exp
@@ -0,0 +1,13 @@
+------- Copy 10+1 bytes from buffer to target
+------- EXRL to OR in the length
+before: buffer = |0123456789abcdef|
+before: target = |XXXXXXXXXXXXXXXX|
+after:  buffer = |0123456789abcdef|
+after:  target = |0123456789aXXXXX|
+
+------- EXRL 0,... has no effect (writes out target)
+        target = |0123456789aXXXXX|
+
+------- EXRL to OR in the syscall number (writes out target)
+        target = |0123456789aXXXXX|
+
diff --git a/none/tests/s390x/exrl.vgtest b/none/tests/s390x/exrl.vgtest
new file mode 100644
index 0000000..f4710bb
--- /dev/null
+++ b/none/tests/s390x/exrl.vgtest
@@ -0,0 +1 @@
+prog: exrl
diff --git a/none/tests/s390x/fpconv.c b/none/tests/s390x/fpconv.c
new file mode 100644
index 0000000..02b5128
--- /dev/null
+++ b/none/tests/s390x/fpconv.c
@@ -0,0 +1,119 @@
+#include <float.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <inttypes.h>
+#include <limits.h>
+
+/* The following opcodes are tested:
+
+   Convert to fixed:    cfebr, cgebr, cfdbr, cgdbr
+   Convert from fixed:  cefbr, cdfbr, cegbr, cdgbr
+
+   We do not test rounding here. Just making sure the insn selector
+   picks the correct insn.
+*/
+
+#define I2F(insn, initial, target_type)                         \
+do {                                                            \
+   int64_t source = initial;                                    \
+   target_type target;                                          \
+   asm volatile(insn " %0,%1\n\t" :"=f" (target) :"d"(source)); \
+   printf(insn " %"PRId64" -> %f\n", source, target);           \
+} while (0)
+
+#define DO_INSN_I32_TO_F(insn, target_type)        \
+do {                                               \
+   printf("\n----- int32_t -> " #target_type "\n");\
+   I2F(insn,   0, target_type);                    \
+   I2F(insn,   1, target_type);                    \
+   I2F(insn,  -1, target_type);                    \
+   I2F(insn,  42, target_type);                    \
+   I2F(insn, SHRT_MAX, target_type);               \
+   I2F(insn, SHRT_MIN, target_type);               \
+   I2F(insn, INT_MAX, target_type);                \
+   I2F(insn, INT_MIN, target_type);                \
+} while (0)
+
+#define DO_INSN_I64_TO_F(insn, target_type)        \
+do {                                               \
+   printf("\n----- int64_t -> " #target_type "\n");\
+   I2F(insn,   0, target_type);                    \
+   I2F(insn,   1, target_type);                    \
+   I2F(insn,  -1, target_type);                    \
+   I2F(insn,  42, target_type);                    \
+   I2F(insn, SHRT_MAX, target_type);               \
+   I2F(insn, SHRT_MIN, target_type);               \
+   I2F(insn, INT_MAX, target_type);                \
+   I2F(insn, INT_MIN, target_type);                \
+   I2F(insn, LONG_MAX, target_type);               \
+   I2F(insn, LONG_MIN, target_type);               \
+} while (0)
+
+#define DO_I2F()                        \
+do {                                    \
+   DO_INSN_I32_TO_F("cefbr", float);    \
+   DO_INSN_I32_TO_F("cdfbr", double);   \
+   DO_INSN_I64_TO_F("cegbr", float);    \
+   DO_INSN_I64_TO_F("cdgbr", double);   \
+} while (0)
+
+
+#define F2I(insn, initial, source_type, target_type)               \
+do {                                                               \
+   int cc;                                                         \
+   source_type source = initial;                                   \
+   target_type target = 0;                                         \
+   asm volatile(insn " %0,0,%2\n\t"                                \
+                "ipm %1\n\t"                                       \
+                "srl %1,28\n\t"                                    \
+ 		: "=d" (target), "=d" (cc) : "f"(source) : "cc");  \
+   printf(insn " %f -> %ld   cc = %d\n", source, (long)target, cc); \
+} while (0)
+
+#define DO_INSN_F32_TO_I(insn, type)          \
+do {                                          \
+   printf("\n----- float -> " #type "\n");    \
+   F2I(insn, -1.0f, float, type);             \
+   F2I(insn,  0.0f, float, type);             \
+   F2I(insn,  1.0f, float, type);             \
+   F2I(insn, 1.4f, float, type);              \
+   F2I(insn, 1.5f, float, type);              \
+   F2I(insn, 1.6f, float, type);              \
+   F2I(insn, 1.6E+4f, float, type);           \
+   F2I(insn, 1.6E+8f, float, type);           \
+   F2I(insn, 1.6E-4f, float, type);           \
+   F2I(insn, FLT_MAX, float, type);           \
+} while (0)
+
+#define DO_INSN_F64_TO_I(insn, type)          \
+do {                                          \
+   printf("\n----- double -> " #type "\n");   \
+   F2I(insn, -1.0, double, type);             \
+   F2I(insn,  0.0, double, type);             \
+   F2I(insn,  1.0, double, type);             \
+   F2I(insn, 1.4, double, type);              \
+   F2I(insn, 1.5, double, type);              \
+   F2I(insn, 1.6, double, type);              \
+   F2I(insn, 1.6E+4, double, type);           \
+   F2I(insn, 1.6E+8, double, type);           \
+   F2I(insn, 1.6E-4, double, type);           \
+   F2I(insn, FLT_MAX, double, type);          \
+   F2I(insn, DBL_MAX, double, type);          \
+} while (0)
+
+#define DO_F2I()                        \
+do {                                    \
+   DO_INSN_F32_TO_I("cfebr", int32_t);  \
+   DO_INSN_F32_TO_I("cgebr", int64_t);  \
+   DO_INSN_F64_TO_I("cfdbr", int32_t);  \
+   DO_INSN_F64_TO_I("cgdbr", int64_t);  \
+} while (0)
+
+
+int main()
+{
+   DO_I2F();
+   DO_F2I();
+
+   return 0;
+}
diff --git a/none/tests/s390x/fpconv.stderr.exp b/none/tests/s390x/fpconv.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/fpconv.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/fpconv.stdout.exp b/none/tests/s390x/fpconv.stdout.exp
new file mode 100644
index 0000000..779655e
--- /dev/null
+++ b/none/tests/s390x/fpconv.stdout.exp
@@ -0,0 +1,94 @@
+
+----- int32_t -> float
+cefbr 0 -> 0.000000
+cefbr 1 -> 1.000000
+cefbr -1 -> -1.000000
+cefbr 42 -> 42.000000
+cefbr 32767 -> 32767.000000
+cefbr -32768 -> -32768.000000
+cefbr 2147483647 -> 2147483648.000000
+cefbr -2147483648 -> -2147483648.000000
+
+----- int32_t -> double
+cdfbr 0 -> 0.000000
+cdfbr 1 -> 1.000000
+cdfbr -1 -> -1.000000
+cdfbr 42 -> 42.000000
+cdfbr 32767 -> 32767.000000
+cdfbr -32768 -> -32768.000000
+cdfbr 2147483647 -> 2147483647.000000
+cdfbr -2147483648 -> -2147483648.000000
+
+----- int64_t -> float
+cegbr 0 -> 0.000000
+cegbr 1 -> 1.000000
+cegbr -1 -> -1.000000
+cegbr 42 -> 42.000000
+cegbr 32767 -> 32767.000000
+cegbr -32768 -> -32768.000000
+cegbr 2147483647 -> 2147483648.000000
+cegbr -2147483648 -> -2147483648.000000
+cegbr 9223372036854775807 -> 9223372036854775808.000000
+cegbr -9223372036854775808 -> -9223372036854775808.000000
+
+----- int64_t -> double
+cdgbr 0 -> 0.000000
+cdgbr 1 -> 1.000000
+cdgbr -1 -> -1.000000
+cdgbr 42 -> 42.000000
+cdgbr 32767 -> 32767.000000
+cdgbr -32768 -> -32768.000000
+cdgbr 2147483647 -> 2147483647.000000
+cdgbr -2147483648 -> -2147483648.000000
+cdgbr 9223372036854775807 -> 9223372036854775808.000000
+cdgbr -9223372036854775808 -> -9223372036854775808.000000
+
+----- float -> int32_t
+cfebr -1.000000 -> -1   cc = 1
+cfebr 0.000000 -> 0   cc = 0
+cfebr 1.000000 -> 1   cc = 2
+cfebr 1.400000 -> 1   cc = 2
+cfebr 1.500000 -> 2   cc = 2
+cfebr 1.600000 -> 2   cc = 2
+cfebr 16000.000000 -> 16000   cc = 2
+cfebr 160000000.000000 -> 160000000   cc = 2
+cfebr 0.000160 -> 0   cc = 2
+cfebr 340282346638528859811704183484516925440.000000 -> 2147483647   cc = 3
+
+----- float -> int64_t
+cgebr -1.000000 -> -1   cc = 1
+cgebr 0.000000 -> 0   cc = 0
+cgebr 1.000000 -> 1   cc = 2
+cgebr 1.400000 -> 1   cc = 2
+cgebr 1.500000 -> 2   cc = 2
+cgebr 1.600000 -> 2   cc = 2
+cgebr 16000.000000 -> 16000   cc = 2
+cgebr 160000000.000000 -> 160000000   cc = 2
+cgebr 0.000160 -> 0   cc = 2
+cgebr 340282346638528859811704183484516925440.000000 -> 9223372036854775807   cc = 3
+
+----- double -> int32_t
+cfdbr -1.000000 -> -1   cc = 1
+cfdbr 0.000000 -> 0   cc = 0
+cfdbr 1.000000 -> 1   cc = 2
+cfdbr 1.400000 -> 1   cc = 2
+cfdbr 1.500000 -> 2   cc = 2
+cfdbr 1.600000 -> 2   cc = 2
+cfdbr 16000.000000 -> 16000   cc = 2
+cfdbr 160000000.000000 -> 160000000   cc = 2
+cfdbr 0.000160 -> 0   cc = 2
+cfdbr 340282346638528859811704183484516925440.000000 -> 2147483647   cc = 3
+cfdbr 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 2147483647   cc = 3
+
+----- double -> int64_t
+cgdbr -1.000000 -> -1   cc = 1
+cgdbr 0.000000 -> 0   cc = 0
+cgdbr 1.000000 -> 1   cc = 2
+cgdbr 1.400000 -> 1   cc = 2
+cgdbr 1.500000 -> 2   cc = 2
+cgdbr 1.600000 -> 2   cc = 2
+cgdbr 16000.000000 -> 16000   cc = 2
+cgdbr 160000000.000000 -> 160000000   cc = 2
+cgdbr 0.000160 -> 0   cc = 2
+cgdbr 340282346638528859811704183484516925440.000000 -> 9223372036854775807   cc = 3
+cgdbr 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 9223372036854775807   cc = 3
diff --git a/none/tests/s390x/fpconv.vgtest b/none/tests/s390x/fpconv.vgtest
new file mode 100644
index 0000000..e2e3c28
--- /dev/null
+++ b/none/tests/s390x/fpconv.vgtest
@@ -0,0 +1 @@
+prog: fpconv
diff --git a/none/tests/s390x/fpext.c b/none/tests/s390x/fpext.c
new file mode 100644
index 0000000..64e7a47
--- /dev/null
+++ b/none/tests/s390x/fpext.c
@@ -0,0 +1,147 @@
+#include <float.h>
+#include <stdio.h>
+#include "opcodes.h"
+
+
+#define L2F(insn,  initial, target,round)                                \
+({                                                                       \
+   register unsigned long source asm("2") =  initial;                    \
+   register typeof(target) _t asm("f0");                                 \
+   asm volatile(insn(round,0,0,2) :"=f" (_t):"d"(source));               \
+   _t;                                                                   \
+})
+
+#define F2L(insn, initial, type, round, cc)                              \
+({                                                                       \
+   register type source asm("f0") =  initial;                            \
+   register unsigned long target asm ("2") = 0;                          \
+   asm volatile(insn(round,0,2,0)                                        \
+                "ipm %1\n\t"                                             \
+                "srl %1,28\n\t"                                          \
+ 		:"=d" (target), "=d" (cc) :"f"(source):"cc");            \
+   target;                                                               \
+})
+
+
+#define DO_INSN_L2F32(insn, round)                                       \
+({                                                                       \
+   float f32;                                                            \
+   printf(#insn " %f\n", L2F(insn, 0, f32, round));                      \
+   printf(#insn " %f\n", L2F(insn, 1, f32, round));                      \
+   printf(#insn " %f\n", L2F(insn, 0xffffffffUL, f32, round));           \
+   printf(#insn " %f\n", L2F(insn, 0x80000000UL, f32, round));           \
+   printf(#insn " %f\n", L2F(insn, 0x7fffffffUL, f32, round));           \
+   printf(#insn " %f\n", L2F(insn, 0x100000000UL, f32, round));          \
+   printf(#insn " %f\n", L2F(insn, 0xffffffffffffffffUL, f32, round));   \
+   printf(#insn " %f\n", L2F(insn, 0x8000000000000000UL, f32, round));   \
+   printf(#insn " %f\n", L2F(insn, 0x7fffffffffffffffUL, f32, round));   \
+})
+
+#define DO_INSN_L2F64(insn, round)                                       \
+({                                                                       \
+   double f64;                                                           \
+   printf(#insn " %f\n", L2F(insn, 0, f64, round));                      \
+   printf(#insn " %f\n", L2F(insn, 1, f64, round));                      \
+   printf(#insn " %f\n", L2F(insn, 0xffffffffUL, f64, round));           \
+   printf(#insn " %f\n", L2F(insn, 0x80000000UL, f64, round));           \
+   printf(#insn " %f\n", L2F(insn, 0x7fffffffUL, f64, round));           \
+   printf(#insn " %f\n", L2F(insn, 0x100000000UL, f64, round));          \
+   printf(#insn " %f\n", L2F(insn, 0xffffffffffffffffUL, f64, round));   \
+   printf(#insn " %f\n", L2F(insn, 0x8000000000000000UL, f64, round));   \
+   printf(#insn " %f\n", L2F(insn, 0x7fffffffffffffffUL, f64, round));   \
+})
+
+#define DO_INSN_L2F128(insn, round)                                      \
+({                                                                       \
+   long double f128;                                                     \
+   printf(#insn " %Lf\n", L2F(insn, 0, f128, round));                    \
+   printf(#insn " %Lf\n", L2F(insn, 1, f128, round));                    \
+   printf(#insn " %Lf\n", L2F(insn, 0xffffffffUL, f128, round));         \
+   printf(#insn " %Lf\n", L2F(insn, 0x80000000UL, f128, round));         \
+   printf(#insn " %Lf\n", L2F(insn, 0x7fffffffUL, f128, round));         \
+   printf(#insn " %Lf\n", L2F(insn, 0x100000000UL, f128, round));        \
+   printf(#insn " %Lf\n", L2F(insn, 0xffffffffffffffffUL, f128, round)); \
+   printf(#insn " %Lf\n", L2F(insn, 0x8000000000000000UL, f128, round)); \
+   printf(#insn " %Lf\n", L2F(insn, 0x7fffffffffffffffUL, f128, round)); \
+})
+
+#define DO_INSN_F2L(insn, round, type)                                   \
+({                                                                       \
+   int cc;                                                               \
+   printf(#insn " %lu ", F2L(insn, -1.1, type, round, cc));              \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 0, type, round, cc));                 \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 1, type, round, cc));                 \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 1.4, type, round, cc));               \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 1.5, type, round, cc));               \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 1.6, type, round, cc));               \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 1.6E+4, type, round, cc));            \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 1.6E+8, type, round, cc));            \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 1.6E+12, type, round, cc));           \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 1.6E+20, type, round, cc));           \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 1.6E+200, type, round, cc));          \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 1.6E+2000L, type, round, cc));        \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, 1.6E-4, type, round, cc));            \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, FLT_MIN, type, round, cc));           \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, FLT_MAX, type, round, cc));           \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, DBL_MIN, type, round, cc));           \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, DBL_MAX, type, round, cc));           \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, LDBL_MIN, type, round, cc));          \
+   printf("cc=%d\n", cc);                                                \
+   printf(#insn " %lu ", F2L(insn, LDBL_MAX, type, round, cc));          \
+   printf("cc=%d\n", cc);                                                \
+})
+
+#define DO_L2F(round)                                                    \
+({                                                                       \
+   DO_INSN_L2F32(CELFBR, round);                                         \
+   DO_INSN_L2F32(CELGBR, round);                                         \
+   DO_INSN_L2F64(CDLFBR, round);                                         \
+   DO_INSN_L2F64(CDLGBR, round);                                         \
+   DO_INSN_L2F128(CXLFBR, round);                                        \
+   DO_INSN_L2F128(CXLGBR, round);                                        \
+})
+
+#define DO_F2L(round)                                                    \
+({                                                                       \
+   DO_INSN_F2L(CLFEBR, round, float);                                    \
+   DO_INSN_F2L(CLGEBR, round, float);                                    \
+   DO_INSN_F2L(CLFDBR, round, double);                                   \
+   DO_INSN_F2L(CLGDBR, round, double);                                   \
+   DO_INSN_F2L(CLFXBR, round, long double);                              \
+   DO_INSN_F2L(CLGXBR, round, long double);                              \
+})
+
+
+int main()
+{
+   DO_L2F(4);
+   DO_F2L(4);
+
+   DO_L2F(5);
+   DO_F2L(5);
+
+   DO_L2F(6);
+   DO_F2L(6);
+
+   DO_L2F(7);
+   DO_F2L(7);
+
+   return 0;
+}
diff --git a/none/tests/s390x/fpext.stderr.exp b/none/tests/s390x/fpext.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/fpext.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/fpext.stdout.exp b/none/tests/s390x/fpext.stdout.exp
new file mode 100644
index 0000000..48fbda0
--- /dev/null
+++ b/none/tests/s390x/fpext.stdout.exp
@@ -0,0 +1,672 @@
+CELFBR 0.000000
+CELFBR 1.000000
+CELFBR 4294967296.000000
+CELFBR 2147483648.000000
+CELFBR 2147483648.000000
+CELFBR 0.000000
+CELFBR 4294967296.000000
+CELFBR 0.000000
+CELFBR 4294967296.000000
+CELGBR 0.000000
+CELGBR 1.000000
+CELGBR 4294967296.000000
+CELGBR 2147483648.000000
+CELGBR 2147483648.000000
+CELGBR 4294967296.000000
+CELGBR 18446744073709551616.000000
+CELGBR 9223372036854775808.000000
+CELGBR 9223372036854775808.000000
+CDLFBR 0.000000
+CDLFBR 1.000000
+CDLFBR 4294967295.000000
+CDLFBR 2147483648.000000
+CDLFBR 2147483647.000000
+CDLFBR 0.000000
+CDLFBR 4294967295.000000
+CDLFBR 0.000000
+CDLFBR 4294967295.000000
+CDLGBR 0.000000
+CDLGBR 1.000000
+CDLGBR 4294967295.000000
+CDLGBR 2147483648.000000
+CDLGBR 2147483647.000000
+CDLGBR 4294967296.000000
+CDLGBR 18446744073709551616.000000
+CDLGBR 9223372036854775808.000000
+CDLGBR 9223372036854775808.000000
+CXLFBR 0.000000
+CXLFBR 1.000000
+CXLFBR 4294967295.000000
+CXLFBR 2147483648.000000
+CXLFBR 2147483647.000000
+CXLFBR 0.000000
+CXLFBR 4294967295.000000
+CXLFBR 0.000000
+CXLFBR 4294967295.000000
+CXLGBR 0.000000
+CXLGBR 1.000000
+CXLGBR 4294967295.000000
+CXLGBR 2147483648.000000
+CXLGBR 2147483647.000000
+CXLGBR 4294967296.000000
+CXLGBR 18446744073709551615.000000
+CXLGBR 9223372036854775808.000000
+CXLGBR 9223372036854775807.000000
+CLFEBR 0 cc=3
+CLFEBR 0 cc=0
+CLFEBR 1 cc=2
+CLFEBR 1 cc=2
+CLFEBR 2 cc=2
+CLFEBR 2 cc=2
+CLFEBR 16000 cc=2
+CLFEBR 160000000 cc=2
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 0 cc=2
+CLFEBR 0 cc=2
+CLFEBR 4294967295 cc=3
+CLFEBR 0 cc=0
+CLFEBR 4294967295 cc=3
+CLFEBR 0 cc=0
+CLFEBR 4294967295 cc=3
+CLGEBR 0 cc=3
+CLGEBR 0 cc=0
+CLGEBR 1 cc=2
+CLGEBR 1 cc=2
+CLGEBR 2 cc=2
+CLGEBR 2 cc=2
+CLGEBR 16000 cc=2
+CLGEBR 160000000 cc=2
+CLGEBR 1599999967232 cc=2
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 0 cc=2
+CLGEBR 0 cc=2
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 0 cc=0
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 0 cc=0
+CLGEBR 18446744073709551615 cc=3
+CLFDBR 0 cc=3
+CLFDBR 0 cc=0
+CLFDBR 1 cc=2
+CLFDBR 1 cc=2
+CLFDBR 2 cc=2
+CLFDBR 2 cc=2
+CLFDBR 16000 cc=2
+CLFDBR 160000000 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 0 cc=2
+CLFDBR 0 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 0 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 0 cc=0
+CLFDBR 4294967295 cc=3
+CLGDBR 0 cc=3
+CLGDBR 0 cc=0
+CLGDBR 1 cc=2
+CLGDBR 1 cc=2
+CLGDBR 2 cc=2
+CLGDBR 2 cc=2
+CLGDBR 16000 cc=2
+CLGDBR 160000000 cc=2
+CLGDBR 1600000000000 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 0 cc=2
+CLGDBR 0 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 0 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 0 cc=0
+CLGDBR 18446744073709551615 cc=3
+CLFXBR 0 cc=3
+CLFXBR 0 cc=0
+CLFXBR 1 cc=2
+CLFXBR 1 cc=2
+CLFXBR 2 cc=2
+CLFXBR 2 cc=2
+CLFXBR 16000 cc=2
+CLFXBR 160000000 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 0 cc=2
+CLFXBR 0 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 0 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 0 cc=2
+CLFXBR 4294967295 cc=3
+CLGXBR 0 cc=3
+CLGXBR 0 cc=0
+CLGXBR 1 cc=2
+CLGXBR 1 cc=2
+CLGXBR 2 cc=2
+CLGXBR 2 cc=2
+CLGXBR 16000 cc=2
+CLGXBR 160000000 cc=2
+CLGXBR 1600000000000 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 0 cc=2
+CLGXBR 0 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 0 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 0 cc=2
+CLGXBR 18446744073709551615 cc=3
+CELFBR 0.000000
+CELFBR 1.000000
+CELFBR 4294967040.000000
+CELFBR 2147483648.000000
+CELFBR 2147483520.000000
+CELFBR 0.000000
+CELFBR 4294967040.000000
+CELFBR 0.000000
+CELFBR 4294967040.000000
+CELGBR 0.000000
+CELGBR 1.000000
+CELGBR 4294967040.000000
+CELGBR 2147483648.000000
+CELGBR 2147483520.000000
+CELGBR 4294967296.000000
+CELGBR 18446742974197923840.000000
+CELGBR 9223372036854775808.000000
+CELGBR 9223371487098961920.000000
+CDLFBR 0.000000
+CDLFBR 1.000000
+CDLFBR 4294967295.000000
+CDLFBR 2147483648.000000
+CDLFBR 2147483647.000000
+CDLFBR 0.000000
+CDLFBR 4294967295.000000
+CDLFBR 0.000000
+CDLFBR 4294967295.000000
+CDLGBR 0.000000
+CDLGBR 1.000000
+CDLGBR 4294967295.000000
+CDLGBR 2147483648.000000
+CDLGBR 2147483647.000000
+CDLGBR 4294967296.000000
+CDLGBR 18446744073709549568.000000
+CDLGBR 9223372036854775808.000000
+CDLGBR 9223372036854774784.000000
+CXLFBR 0.000000
+CXLFBR 1.000000
+CXLFBR 4294967295.000000
+CXLFBR 2147483648.000000
+CXLFBR 2147483647.000000
+CXLFBR 0.000000
+CXLFBR 4294967295.000000
+CXLFBR 0.000000
+CXLFBR 4294967295.000000
+CXLGBR 0.000000
+CXLGBR 1.000000
+CXLGBR 4294967295.000000
+CXLGBR 2147483648.000000
+CXLGBR 2147483647.000000
+CXLGBR 4294967296.000000
+CXLGBR 18446744073709551615.000000
+CXLGBR 9223372036854775808.000000
+CXLGBR 9223372036854775807.000000
+CLFEBR 0 cc=3
+CLFEBR 0 cc=0
+CLFEBR 1 cc=2
+CLFEBR 1 cc=2
+CLFEBR 1 cc=2
+CLFEBR 1 cc=2
+CLFEBR 16000 cc=2
+CLFEBR 160000000 cc=2
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 0 cc=2
+CLFEBR 0 cc=2
+CLFEBR 4294967295 cc=3
+CLFEBR 0 cc=0
+CLFEBR 4294967295 cc=3
+CLFEBR 0 cc=0
+CLFEBR 4294967295 cc=3
+CLGEBR 0 cc=3
+CLGEBR 0 cc=0
+CLGEBR 1 cc=2
+CLGEBR 1 cc=2
+CLGEBR 1 cc=2
+CLGEBR 1 cc=2
+CLGEBR 16000 cc=2
+CLGEBR 160000000 cc=2
+CLGEBR 1599999967232 cc=2
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 0 cc=2
+CLGEBR 0 cc=2
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 0 cc=0
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 0 cc=0
+CLGEBR 18446744073709551615 cc=3
+CLFDBR 0 cc=3
+CLFDBR 0 cc=0
+CLFDBR 1 cc=2
+CLFDBR 1 cc=2
+CLFDBR 1 cc=2
+CLFDBR 1 cc=2
+CLFDBR 16000 cc=2
+CLFDBR 160000000 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 0 cc=2
+CLFDBR 0 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 0 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 0 cc=0
+CLFDBR 4294967295 cc=3
+CLGDBR 0 cc=3
+CLGDBR 0 cc=0
+CLGDBR 1 cc=2
+CLGDBR 1 cc=2
+CLGDBR 1 cc=2
+CLGDBR 1 cc=2
+CLGDBR 16000 cc=2
+CLGDBR 160000000 cc=2
+CLGDBR 1600000000000 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 0 cc=2
+CLGDBR 0 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 0 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 0 cc=0
+CLGDBR 18446744073709551615 cc=3
+CLFXBR 0 cc=3
+CLFXBR 0 cc=0
+CLFXBR 1 cc=2
+CLFXBR 1 cc=2
+CLFXBR 1 cc=2
+CLFXBR 1 cc=2
+CLFXBR 16000 cc=2
+CLFXBR 160000000 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 0 cc=2
+CLFXBR 0 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 0 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 0 cc=2
+CLFXBR 4294967295 cc=3
+CLGXBR 0 cc=3
+CLGXBR 0 cc=0
+CLGXBR 1 cc=2
+CLGXBR 1 cc=2
+CLGXBR 1 cc=2
+CLGXBR 1 cc=2
+CLGXBR 16000 cc=2
+CLGXBR 160000000 cc=2
+CLGXBR 1600000000000 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 0 cc=2
+CLGXBR 0 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 0 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 0 cc=2
+CLGXBR 18446744073709551615 cc=3
+CELFBR 0.000000
+CELFBR 1.000000
+CELFBR 4294967296.000000
+CELFBR 2147483648.000000
+CELFBR 2147483648.000000
+CELFBR 0.000000
+CELFBR 4294967296.000000
+CELFBR 0.000000
+CELFBR 4294967296.000000
+CELGBR 0.000000
+CELGBR 1.000000
+CELGBR 4294967296.000000
+CELGBR 2147483648.000000
+CELGBR 2147483648.000000
+CELGBR 4294967296.000000
+CELGBR 18446744073709551616.000000
+CELGBR 9223372036854775808.000000
+CELGBR 9223372036854775808.000000
+CDLFBR 0.000000
+CDLFBR 1.000000
+CDLFBR 4294967295.000000
+CDLFBR 2147483648.000000
+CDLFBR 2147483647.000000
+CDLFBR 0.000000
+CDLFBR 4294967295.000000
+CDLFBR 0.000000
+CDLFBR 4294967295.000000
+CDLGBR 0.000000
+CDLGBR 1.000000
+CDLGBR 4294967295.000000
+CDLGBR 2147483648.000000
+CDLGBR 2147483647.000000
+CDLGBR 4294967296.000000
+CDLGBR 18446744073709551616.000000
+CDLGBR 9223372036854775808.000000
+CDLGBR 9223372036854775808.000000
+CXLFBR 0.000000
+CXLFBR 1.000000
+CXLFBR 4294967295.000000
+CXLFBR 2147483648.000000
+CXLFBR 2147483647.000000
+CXLFBR 0.000000
+CXLFBR 4294967295.000000
+CXLFBR 0.000000
+CXLFBR 4294967295.000000
+CXLGBR 0.000000
+CXLGBR 1.000000
+CXLGBR 4294967295.000000
+CXLGBR 2147483648.000000
+CXLGBR 2147483647.000000
+CXLGBR 4294967296.000000
+CXLGBR 18446744073709551615.000000
+CXLGBR 9223372036854775808.000000
+CXLGBR 9223372036854775807.000000
+CLFEBR 0 cc=3
+CLFEBR 0 cc=0
+CLFEBR 1 cc=2
+CLFEBR 2 cc=2
+CLFEBR 2 cc=2
+CLFEBR 2 cc=2
+CLFEBR 16000 cc=2
+CLFEBR 160000000 cc=2
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 1 cc=2
+CLFEBR 1 cc=2
+CLFEBR 4294967295 cc=3
+CLFEBR 0 cc=0
+CLFEBR 4294967295 cc=3
+CLFEBR 0 cc=0
+CLFEBR 4294967295 cc=3
+CLGEBR 0 cc=3
+CLGEBR 0 cc=0
+CLGEBR 1 cc=2
+CLGEBR 2 cc=2
+CLGEBR 2 cc=2
+CLGEBR 2 cc=2
+CLGEBR 16000 cc=2
+CLGEBR 160000000 cc=2
+CLGEBR 1599999967232 cc=2
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 1 cc=2
+CLGEBR 1 cc=2
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 0 cc=0
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 0 cc=0
+CLGEBR 18446744073709551615 cc=3
+CLFDBR 0 cc=3
+CLFDBR 0 cc=0
+CLFDBR 1 cc=2
+CLFDBR 2 cc=2
+CLFDBR 2 cc=2
+CLFDBR 2 cc=2
+CLFDBR 16000 cc=2
+CLFDBR 160000000 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 1 cc=2
+CLFDBR 1 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 1 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 0 cc=0
+CLFDBR 4294967295 cc=3
+CLGDBR 0 cc=3
+CLGDBR 0 cc=0
+CLGDBR 1 cc=2
+CLGDBR 2 cc=2
+CLGDBR 2 cc=2
+CLGDBR 2 cc=2
+CLGDBR 16000 cc=2
+CLGDBR 160000000 cc=2
+CLGDBR 1600000000000 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 1 cc=2
+CLGDBR 1 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 1 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 0 cc=0
+CLGDBR 18446744073709551615 cc=3
+CLFXBR 0 cc=3
+CLFXBR 0 cc=0
+CLFXBR 1 cc=2
+CLFXBR 2 cc=2
+CLFXBR 2 cc=2
+CLFXBR 2 cc=2
+CLFXBR 16000 cc=2
+CLFXBR 160000000 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 1 cc=2
+CLFXBR 1 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 1 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 1 cc=2
+CLFXBR 4294967295 cc=3
+CLGXBR 0 cc=3
+CLGXBR 0 cc=0
+CLGXBR 1 cc=2
+CLGXBR 2 cc=2
+CLGXBR 2 cc=2
+CLGXBR 2 cc=2
+CLGXBR 16000 cc=2
+CLGXBR 160000000 cc=2
+CLGXBR 1600000000000 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 1 cc=2
+CLGXBR 1 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 1 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 1 cc=2
+CLGXBR 18446744073709551615 cc=3
+CELFBR 0.000000
+CELFBR 1.000000
+CELFBR 4294967040.000000
+CELFBR 2147483648.000000
+CELFBR 2147483520.000000
+CELFBR 0.000000
+CELFBR 4294967040.000000
+CELFBR 0.000000
+CELFBR 4294967040.000000
+CELGBR 0.000000
+CELGBR 1.000000
+CELGBR 4294967040.000000
+CELGBR 2147483648.000000
+CELGBR 2147483520.000000
+CELGBR 4294967296.000000
+CELGBR 18446742974197923840.000000
+CELGBR 9223372036854775808.000000
+CELGBR 9223371487098961920.000000
+CDLFBR 0.000000
+CDLFBR 1.000000
+CDLFBR 4294967295.000000
+CDLFBR 2147483648.000000
+CDLFBR 2147483647.000000
+CDLFBR 0.000000
+CDLFBR 4294967295.000000
+CDLFBR 0.000000
+CDLFBR 4294967295.000000
+CDLGBR 0.000000
+CDLGBR 1.000000
+CDLGBR 4294967295.000000
+CDLGBR 2147483648.000000
+CDLGBR 2147483647.000000
+CDLGBR 4294967296.000000
+CDLGBR 18446744073709549568.000000
+CDLGBR 9223372036854775808.000000
+CDLGBR 9223372036854774784.000000
+CXLFBR 0.000000
+CXLFBR 1.000000
+CXLFBR 4294967295.000000
+CXLFBR 2147483648.000000
+CXLFBR 2147483647.000000
+CXLFBR 0.000000
+CXLFBR 4294967295.000000
+CXLFBR 0.000000
+CXLFBR 4294967295.000000
+CXLGBR 0.000000
+CXLGBR 1.000000
+CXLGBR 4294967295.000000
+CXLGBR 2147483648.000000
+CXLGBR 2147483647.000000
+CXLGBR 4294967296.000000
+CXLGBR 18446744073709551615.000000
+CXLGBR 9223372036854775808.000000
+CXLGBR 9223372036854775807.000000
+CLFEBR 0 cc=3
+CLFEBR 0 cc=0
+CLFEBR 1 cc=2
+CLFEBR 1 cc=2
+CLFEBR 1 cc=2
+CLFEBR 1 cc=2
+CLFEBR 16000 cc=2
+CLFEBR 160000000 cc=2
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 4294967295 cc=3
+CLFEBR 0 cc=2
+CLFEBR 0 cc=2
+CLFEBR 4294967295 cc=3
+CLFEBR 0 cc=0
+CLFEBR 4294967295 cc=3
+CLFEBR 0 cc=0
+CLFEBR 4294967295 cc=3
+CLGEBR 0 cc=3
+CLGEBR 0 cc=0
+CLGEBR 1 cc=2
+CLGEBR 1 cc=2
+CLGEBR 1 cc=2
+CLGEBR 1 cc=2
+CLGEBR 16000 cc=2
+CLGEBR 160000000 cc=2
+CLGEBR 1599999967232 cc=2
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 0 cc=2
+CLGEBR 0 cc=2
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 0 cc=0
+CLGEBR 18446744073709551615 cc=3
+CLGEBR 0 cc=0
+CLGEBR 18446744073709551615 cc=3
+CLFDBR 0 cc=3
+CLFDBR 0 cc=0
+CLFDBR 1 cc=2
+CLFDBR 1 cc=2
+CLFDBR 1 cc=2
+CLFDBR 1 cc=2
+CLFDBR 16000 cc=2
+CLFDBR 160000000 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 4294967295 cc=3
+CLFDBR 0 cc=2
+CLFDBR 0 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 0 cc=2
+CLFDBR 4294967295 cc=3
+CLFDBR 0 cc=0
+CLFDBR 4294967295 cc=3
+CLGDBR 0 cc=3
+CLGDBR 0 cc=0
+CLGDBR 1 cc=2
+CLGDBR 1 cc=2
+CLGDBR 1 cc=2
+CLGDBR 1 cc=2
+CLGDBR 16000 cc=2
+CLGDBR 160000000 cc=2
+CLGDBR 1600000000000 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 0 cc=2
+CLGDBR 0 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 0 cc=2
+CLGDBR 18446744073709551615 cc=3
+CLGDBR 0 cc=0
+CLGDBR 18446744073709551615 cc=3
+CLFXBR 0 cc=3
+CLFXBR 0 cc=0
+CLFXBR 1 cc=2
+CLFXBR 1 cc=2
+CLFXBR 1 cc=2
+CLFXBR 1 cc=2
+CLFXBR 16000 cc=2
+CLFXBR 160000000 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 4294967295 cc=3
+CLFXBR 0 cc=2
+CLFXBR 0 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 0 cc=2
+CLFXBR 4294967295 cc=3
+CLFXBR 0 cc=2
+CLFXBR 4294967295 cc=3
+CLGXBR 0 cc=3
+CLGXBR 0 cc=0
+CLGXBR 1 cc=2
+CLGXBR 1 cc=2
+CLGXBR 1 cc=2
+CLGXBR 1 cc=2
+CLGXBR 16000 cc=2
+CLGXBR 160000000 cc=2
+CLGXBR 1600000000000 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 0 cc=2
+CLGXBR 0 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 0 cc=2
+CLGXBR 18446744073709551615 cc=3
+CLGXBR 0 cc=2
+CLGXBR 18446744073709551615 cc=3
diff --git a/none/tests/s390x/fpext.vgtest b/none/tests/s390x/fpext.vgtest
new file mode 100644
index 0000000..4740430
--- /dev/null
+++ b/none/tests/s390x/fpext.vgtest
@@ -0,0 +1,2 @@
+prog: fpext
+prereq: ../../../tests/s390x_features s390x-fpext
diff --git a/none/tests/s390x/fpext_fail.stderr.exp b/none/tests/s390x/fpext_fail.stderr.exp
new file mode 100644
index 0000000..d64bb23
--- /dev/null
+++ b/none/tests/s390x/fpext_fail.stderr.exp
@@ -0,0 +1,8 @@
+
+Emulation fatal error -- Valgrind cannot continue:
+  Encountered an instruction that requires the floating point extension facility.
+  That facility is not available on this host
+   at 0x........: main (fpext.c:134)
+
+Valgrind has to exit now.  Sorry.
+
diff --git a/none/tests/s390x/fpext_fail.stdout.exp b/none/tests/s390x/fpext_fail.stdout.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/s390x/fpext_fail.stdout.exp
diff --git a/none/tests/s390x/fpext_fail.vgtest b/none/tests/s390x/fpext_fail.vgtest
new file mode 100644
index 0000000..64ed5ee
--- /dev/null
+++ b/none/tests/s390x/fpext_fail.vgtest
@@ -0,0 +1,2 @@
+prog: fpext
+prereq: ../../../tests/s390x_features '!s390x-fpext'
diff --git a/none/tests/s390x/fpext_warn.c b/none/tests/s390x/fpext_warn.c
new file mode 100644
index 0000000..0bc4f6d
--- /dev/null
+++ b/none/tests/s390x/fpext_warn.c
@@ -0,0 +1,18 @@
+#include <stdio.h>
+#include "opcodes.h"
+
+/* Test that emulation warnings appear when the floating point
+   extension facility is not installed and the opcode specifies
+   a rounding mode other than 0. */
+int
+main(void)
+{
+   printf("before\n");
+   __asm__ volatile ( CEGBRA(1,0,0,0) : : : "cc", "memory");
+   __asm__ volatile ( CEFBRA(3,0,0,0) : : : "cc", "memory");
+   __asm__ volatile ( CDGBRA(4,0,0,0) : : : "cc", "memory");
+   __asm__ volatile ( CEFBRA(5,0,0,0) : : : "cc", "memory");
+
+   printf("after\n");
+   return 0;
+}
diff --git a/none/tests/s390x/fpext_warn.stderr.exp b/none/tests/s390x/fpext_warn.stderr.exp
new file mode 100644
index 0000000..9f7943b
--- /dev/null
+++ b/none/tests/s390x/fpext_warn.stderr.exp
@@ -0,0 +1,20 @@
+
+Emulation warning: unsupported action:
+  The specified rounding mode cannot be supported. That
+  feature requires the floating point extension facility.
+  which is not available on this host. Continuing using
+  the rounding mode from FPC. Results may differ!
+   at 0x........: main (fpext_warn.c:10)
+Emulation warning: unsupported action:
+  The specified rounding mode cannot be supported. That
+  feature requires the floating point extension facility.
+  which is not available on this host. Continuing using
+  the rounding mode from FPC. Results may differ!
+   at 0x........: main (fpext_warn.c:10)
+Emulation warning: unsupported action:
+  The specified rounding mode cannot be supported. That
+  feature requires the floating point extension facility.
+  which is not available on this host. Continuing using
+  the rounding mode from FPC. Results may differ!
+   at 0x........: main (fpext_warn.c:10)
+
diff --git a/none/tests/s390x/fpext_warn.stdout.exp b/none/tests/s390x/fpext_warn.stdout.exp
new file mode 100644
index 0000000..eecca90
--- /dev/null
+++ b/none/tests/s390x/fpext_warn.stdout.exp
@@ -0,0 +1,2 @@
+before
+after
diff --git a/none/tests/s390x/fpext_warn.vgtest b/none/tests/s390x/fpext_warn.vgtest
new file mode 100644
index 0000000..6900df9
--- /dev/null
+++ b/none/tests/s390x/fpext_warn.vgtest
@@ -0,0 +1,3 @@
+prog: fpext_warn
+prereq: ../../../tests/s390x_features '!s390x-fpext'
+vgopts: --show-emwarns=yes
diff --git a/none/tests/s390x/laa.c b/none/tests/s390x/laa.c
new file mode 100644
index 0000000..91a2bb1
--- /dev/null
+++ b/none/tests/s390x/laa.c
@@ -0,0 +1,59 @@
+#include <stdint.h>
+#include <stdio.h>
+#include <string.h>
+
+void 
+test(int32_t op1_init, int32_t op2_init, int32_t op3_init, int expected_cc)
+{
+   register int32_t op1 asm("8") = op1_init;
+   register int32_t op3 asm("9") = op3_init;
+   
+   int32_t op2 = op2_init;
+   int cc = 1 - expected_cc; 
+
+   printf("before op1 = %#x\n", op1);
+   printf("before op2 = %#x\n", op2);
+   printf("before op3 = %#x\n", op3);
+
+   __asm__ volatile (
+           ".insn rsy,0xEB00000000f8, 8,9,%1\n\t"
+           "ipm     %0\n\t"
+           "srl     %0,28\n\t"
+           : "=d" (cc), "+Q" (op2), "+d"(op1), "+d"(op3)
+           : 
+           : "cc");
+
+   printf("after  op1 = %#x\n", op1);
+   printf("after  op2 = %#x\n", op2);
+   printf("after  op3 = %#x\n", op3);
+   printf("cc = %d\n", cc);
+
+   if (cc != expected_cc) {
+      printf("condition code is incorrect\n");
+   }
+   if (expected_cc == 0 && op2 != 0) {
+      printf("cc = 0, but result != 0\n");
+   } 
+   if (expected_cc == 1 && op2 >= 0) {
+      printf("cc = 1, but result >= 0\n");
+   } 
+   if (expected_cc == 2 && op2 <= 0) {
+      printf("cc = 2, but result <= 0\n");
+   } 
+   /* the test for cc = 3 is left as an exercise for the reader. */
+}
+
+int main ()
+{
+   test(0, 0, 0, 0);
+   test(-1, -1, -1, 1);
+   test(0x10000000, 0x10000000, 0x12345678, 2);
+   test(0x10000000, 0x20000000, 0x12345678, 2);
+
+   test(-1, 3, -3, 0);
+   test(0, -1, -1, 1);
+   test(-1, 0x10000000, 0x12345678, 2);
+   test(0x10000000, 0x7fffffff, 1, 3);
+
+   return 0;
+}
diff --git a/none/tests/s390x/laa.stderr.exp b/none/tests/s390x/laa.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/laa.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/laa.stdout.exp b/none/tests/s390x/laa.stdout.exp
new file mode 100644
index 0000000..e6e2dee
--- /dev/null
+++ b/none/tests/s390x/laa.stdout.exp
@@ -0,0 +1,56 @@
+before op1 = 0
+before op2 = 0
+before op3 = 0
+after  op1 = 0
+after  op2 = 0
+after  op3 = 0
+cc = 0
+before op1 = 0xffffffff
+before op2 = 0xffffffff
+before op3 = 0xffffffff
+after  op1 = 0xffffffff
+after  op2 = 0xfffffffe
+after  op3 = 0xffffffff
+cc = 1
+before op1 = 0x10000000
+before op2 = 0x10000000
+before op3 = 0x12345678
+after  op1 = 0x10000000
+after  op2 = 0x22345678
+after  op3 = 0x12345678
+cc = 2
+before op1 = 0x10000000
+before op2 = 0x20000000
+before op3 = 0x12345678
+after  op1 = 0x20000000
+after  op2 = 0x32345678
+after  op3 = 0x12345678
+cc = 2
+before op1 = 0xffffffff
+before op2 = 0x3
+before op3 = 0xfffffffd
+after  op1 = 0x3
+after  op2 = 0
+after  op3 = 0xfffffffd
+cc = 0
+before op1 = 0
+before op2 = 0xffffffff
+before op3 = 0xffffffff
+after  op1 = 0xffffffff
+after  op2 = 0xfffffffe
+after  op3 = 0xffffffff
+cc = 1
+before op1 = 0xffffffff
+before op2 = 0x10000000
+before op3 = 0x12345678
+after  op1 = 0x10000000
+after  op2 = 0x22345678
+after  op3 = 0x12345678
+cc = 2
+before op1 = 0x10000000
+before op2 = 0x7fffffff
+before op3 = 0x1
+after  op1 = 0x7fffffff
+after  op2 = 0x80000000
+after  op3 = 0x1
+cc = 3
diff --git a/none/tests/s390x/laa.vgtest b/none/tests/s390x/laa.vgtest
new file mode 100644
index 0000000..7047c56
--- /dev/null
+++ b/none/tests/s390x/laa.vgtest
@@ -0,0 +1 @@
+prog: laa
diff --git a/none/tests/s390x/mvc.c b/none/tests/s390x/mvc.c
new file mode 100644
index 0000000..3d5c496
--- /dev/null
+++ b/none/tests/s390x/mvc.c
@@ -0,0 +1,62 @@
+#include <stdio.h>
+#include <assert.h>
+#include <string.h>
+
+char buffer[] = "0123456789abcdefXXXXX";
+char target[] = "---------------------";
+char overlap[]= "012345678901234567890";
+char full[300];
+
+int main(void)
+{
+   int i;
+
+   /* Normal copy */
+   printf("------- Copy 17 bytes from BUFFER to TARGET\n");
+   printf("before: buffer = |%s|\n", buffer);
+   printf("before: target = |%s|\n", target);
+   asm volatile( "mvc 0(17,%0),0(%1)\n"
+                 ::"a" (target),"a" (buffer): "memory");
+   printf("after:  buffer = |%s|\n", buffer);
+   printf("after:  target = |%s|\n", target);
+   printf("\n");
+
+   /* Destructive overlap #1 */
+   printf("------- Destructive overlap #1\n");
+   printf("before: |%s|\n", overlap);
+   asm volatile( "mvc 1(17,%0),0(%1)\n"
+                 ::"a" (overlap),"a" (overlap): "memory");
+   printf("after:  |%s|\n", overlap);
+
+   /* Destructive overlap #2 */
+   printf("------- Destructive overlap #2\n");
+   memset(target, '-', sizeof target - 1);  // restore initial state
+   printf("before: target = |%s|\n", target);
+   asm volatile( "mvi 0(%0),'x'\n\t"        // target[1] = 'x'
+                 "mvc 1(2,%0),0(%0)\n\t"    // target[2:3] = target[1]
+                 :: "a" (target+1));
+   printf("after:  target = |%s|\n", target);
+
+   /* Destructive overlap #3 */
+   printf("------- Destructive overlap #3 (max length)\n");
+   memset(full, '-', sizeof full);
+   full[0] = 'x';
+   asm volatile( "mvc 1(256,%0),0(%0)\n\t"     // full[1:256] = full[0]
+                 :: "a" (full));
+   /* Verify: the first 256+1 characters should be 'x' followed by '-' */
+   for (i = 0; i <= 256; ++i)
+      assert(full[i] == 'x');
+   for ( ; i < sizeof full; ++i)
+      assert(full[i] == '-');
+   printf("\n");
+
+   /* Non-destructive overlap */
+   printf("------- Non-destructive overlap  buf[0:4] = buf[10:14]\n");
+   char buf[] = "0123456789abcde";
+   printf("before: buf = |%s|\n", buf);
+   asm volatile( "mvc 0(5,%0),10(%1)\n"
+                 ::"a" (buf),"a" (buf): "memory");
+   printf("after:  buf = |%s|\n", buf);
+   
+   return 0;
+}
diff --git a/none/tests/s390x/mvc.stderr.exp b/none/tests/s390x/mvc.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/mvc.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/mvc.stdout.exp b/none/tests/s390x/mvc.stdout.exp
new file mode 100644
index 0000000..7ad5cc0
--- /dev/null
+++ b/none/tests/s390x/mvc.stdout.exp
@@ -0,0 +1,17 @@
+------- Copy 17 bytes from BUFFER to TARGET
+before: buffer = |0123456789abcdefXXXXX|
+before: target = |---------------------|
+after:  buffer = |0123456789abcdefXXXXX|
+after:  target = |0123456789abcdefX----|
+
+------- Destructive overlap #1
+before: |012345678901234567890|
+after:  |000000000000000000890|
+------- Destructive overlap #2
+before: target = |---------------------|
+after:  target = |-xxx-----------------|
+------- Destructive overlap #3 (max length)
+
+------- Non-destructive overlap  buf[0:4] = buf[10:14]
+before: buf = |0123456789abcde|
+after:  buf = |abcde56789abcde|
diff --git a/none/tests/s390x/mvc.vgtest b/none/tests/s390x/mvc.vgtest
new file mode 100644
index 0000000..c5e499d
--- /dev/null
+++ b/none/tests/s390x/mvc.vgtest
@@ -0,0 +1 @@
+prog: mvc
diff --git a/none/tests/s390x/op00.stderr.exp1 b/none/tests/s390x/op00.stderr.exp1
index 73d098c..b7552bf 100644
--- a/none/tests/s390x/op00.stderr.exp1
+++ b/none/tests/s390x/op00.stderr.exp1
@@ -1,5 +1,19 @@
 
+vex s390->IR: unknown insn: 0000
+valgrind: Unrecognised instruction at address 0x.........
+   at 0x........: main (op00.c:3)
+Your program just tried to execute an instruction that Valgrind
+did not recognise.  There are two possible reasons for this.
+1. Your program has a bug and erroneously jumped to a non-code
+   location.  If you are running Memcheck and you just saw a
+   warning about a bad jump, it's probably your program's fault.
+2. The instruction is legitimate but Valgrind doesn't handle it,
+   i.e. it's Valgrind's fault.  If you think this is the case or
+   you are not sure, please let us know and we'll try to fix it.
+Either way, Valgrind will now raise a SIGILL signal which will
+probably kill your program.
 
 Process terminating with default action of signal 4 (SIGILL)
-   at 0x........: main (op00.c:5)
+ Illegal opcode at address 0x........
+   at 0x........: main (op00.c:3)
 
diff --git a/none/tests/s390x/op00.stderr.exp2 b/none/tests/s390x/op00.stderr.exp2
index d587a66..b7552bf 100644
--- a/none/tests/s390x/op00.stderr.exp2
+++ b/none/tests/s390x/op00.stderr.exp2
@@ -1,6 +1,19 @@
 
+vex s390->IR: unknown insn: 0000
+valgrind: Unrecognised instruction at address 0x.........
+   at 0x........: main (op00.c:3)
+Your program just tried to execute an instruction that Valgrind
+did not recognise.  There are two possible reasons for this.
+1. Your program has a bug and erroneously jumped to a non-code
+   location.  If you are running Memcheck and you just saw a
+   warning about a bad jump, it's probably your program's fault.
+2. The instruction is legitimate but Valgrind doesn't handle it,
+   i.e. it's Valgrind's fault.  If you think this is the case or
+   you are not sure, please let us know and we'll try to fix it.
+Either way, Valgrind will now raise a SIGILL signal which will
+probably kill your program.
 
 Process terminating with default action of signal 4 (SIGILL)
  Illegal opcode at address 0x........
-   at 0x........: main (op00.c:5)
+   at 0x........: main (op00.c:3)
 
diff --git a/none/tests/s390x/op_exception.stderr.exp b/none/tests/s390x/op_exception.stderr.exp
index 24c6bf3..4373ff5 100644
--- a/none/tests/s390x/op_exception.stderr.exp
+++ b/none/tests/s390x/op_exception.stderr.exp
@@ -1,4 +1,30 @@
 
+vex s390->IR: unknown insn: 0000
+valgrind: Unrecognised instruction at address 0x.........
+   at 0x........: main (op_exception.c:23)
+Your program just tried to execute an instruction that Valgrind
+did not recognise.  There are two possible reasons for this.
+1. Your program has a bug and erroneously jumped to a non-code
+   location.  If you are running Memcheck and you just saw a
+   warning about a bad jump, it's probably your program's fault.
+2. The instruction is legitimate but Valgrind doesn't handle it,
+   i.e. it's Valgrind's fault.  If you think this is the case or
+   you are not sure, please let us know and we'll try to fix it.
+Either way, Valgrind will now raise a SIGILL signal which will
+probably kill your program.
+vex s390->IR: unknown insn: 0000
+valgrind: Unrecognised instruction at address 0x.........
+   at 0x........: main (op_exception.c:23)
+Your program just tried to execute an instruction that Valgrind
+did not recognise.  There are two possible reasons for this.
+1. Your program has a bug and erroneously jumped to a non-code
+   location.  If you are running Memcheck and you just saw a
+   warning about a bad jump, it's probably your program's fault.
+2. The instruction is legitimate but Valgrind doesn't handle it,
+   i.e. it's Valgrind's fault.  If you think this is the case or
+   you are not sure, please let us know and we'll try to fix it.
+Either way, Valgrind will now raise a SIGILL signal which will
+probably kill your program.
 vex s390->IR: unknown insn: FFFF FFFF FFFF
 valgrind: Unrecognised instruction at address 0x.........
    at 0x........: main (op_exception.c:30)
@@ -12,4 +38,17 @@
    you are not sure, please let us know and we'll try to fix it.
 Either way, Valgrind will now raise a SIGILL signal which will
 probably kill your program.
+vex s390->IR: unknown insn: 0000
+valgrind: Unrecognised instruction at address 0x.........
+   at 0x........: main (op_exception.c:30)
+Your program just tried to execute an instruction that Valgrind
+did not recognise.  There are two possible reasons for this.
+1. Your program has a bug and erroneously jumped to a non-code
+   location.  If you are running Memcheck and you just saw a
+   warning about a bad jump, it's probably your program's fault.
+2. The instruction is legitimate but Valgrind doesn't handle it,
+   i.e. it's Valgrind's fault.  If you think this is the case or
+   you are not sure, please let us know and we'll try to fix it.
+Either way, Valgrind will now raise a SIGILL signal which will
+probably kill your program.
 
diff --git a/none/tests/s390x/opcodes.h b/none/tests/s390x/opcodes.h
index 7469c87..f8a55e2 100644
--- a/none/tests/s390x/opcodes.h
+++ b/none/tests/s390x/opcodes.h
@@ -51,6 +51,8 @@
             ".short 0x" #op1 #r1 #r2 "\n\t"  \
             ".long  0x" #i4 #m3 #u0 #op2 "\n\t"
 #define RRE_RR(op,u0,r1,r2)  ".long 0x" #op #u0 #r1 #r2 "\n\t"
+#define RRE_RERE(op,r1,r2)  ".long 0x" #op "00" #r1 #r2 "\n\t"
+#define RRE_R0(op,r1)       ".long 0x" #op "00" #r1 "0" "\n\t"
 #define SIL_RDU(op,b1,d1,i2)  \
             ".short 0x" #op "\n\t"  \
             ".long  0x" #b1 #d1 #i2 "\n\t"
@@ -67,6 +69,10 @@
             ".short 0x" #op1 #r1 #r3 "\n\t"  \
             ".long  0x" #b2 #dl2 #dh2 #op2 "\n\t"
 #define RRF_F0FF2(op,r3,u0,r1,r2)  ".long 0x" #op #r3 #u0 #r1 #r2 "\n\t"
+#define RRF_FUFF2(op,r3,m4,r1,r2) ".long 0x" #op #r3 #m4 #r1 #r2 "\n\t"
+#define RRF_UUFR(op,m3,m4,r1,r2)  ".long 0x" #op #m3 #m4 #r1 #r2 "\n\t"
+#define RRF_UURF(op,m3,m4,r1,r2)  ".long 0x" #op #m3 #m4 #r1 #r2 "\n\t"
+
 #define RSY_RRRD(op1,r1,r3,b2,dl2,dh2,op2)  \
             ".short 0x" #op1 #r1 #r3 "\n\t"  \
             ".long  0x" #b2 #dl2 #dh2 #op2 "\n\t"
@@ -92,7 +98,10 @@
 #define RIE_RRUUU(op1,r1,r2,i3,i4,i5,op2)  \
             ".short 0x" #op1 #r1 #r2 "\n\t"  \
             ".long  0x" #i3 #i4 #i5 #op2 "\n\t"
+#define RRF_M0RERE(op,m3,r1,r2)  ".long 0x" #op #m3 "0" #r1 #r2 "\n\t"
+#define S_RD(op,b2,d2) ".long 0x" #op #b2 #d2 "\n\t"
 
+#define ADTRA(r3,m4,r1,r2)              RRF_FUFF2(b3d2,r3,m4,r1,r2)
 #define AFI(r1,i2)                      RIL_RI(c2,r1,9,i2)
 #define AGFI(r1,i2)                     RIL_RI(c2,r1,8,i2)
 #define AGHIK(r1,r3,i2)                 RIE_RRI0(ec,r1,r3,i2,00,d9)
@@ -118,8 +127,32 @@
 #define ALY(r1,x2,b2,dl2,dh2)           RXY_RRRD(e3,r1,x2,b2,dl2,dh2,5e)
 #define ARK(r3,r1,r2)                   RRF_R0RR2(b9f8,r3,0,r1,r2)
 #define ASI(i2,b1,dl1,dh1)              SIY_IRD(eb,i2,b1,dl1,dh1,6a)
+#define AXTRA(r3,m4,r1,r2)              RRF_FUFF2(b3da,r3,m4,r1,r2)
 #define AY(r1,x2,b2,dl2,dh2)            RXY_RRRD(e3,r1,x2,b2,dl2,dh2,5a)
+#define CDFBRA(m3,m4,r1,r2)             RRF_UUFR(b395,m3,m4,r1,r2)
+#define CDFTR(m3,m4,r1,r2)              RRF_UUFR(b951,m3,m4,r1,r2)
+#define CDGBRA(m3,m4,r1,r2)             RRF_UUFR(b3a5,m3,m4,r1,r2)
+#define CDGTRA(m3,m4,r1,r2)             RRF_UUFR(b3f1,m3,m4,r1,r2)
+#define CDLFBR(m3,m4,r1,r2)             RRF_UUFR(b391,m3,m4,r1,r2)
+#define CDLFTR(m3,m4,r1,r2)             RRF_UUFR(b953,m3,m4,r1,r2)
+#define CDLGBR(m3,m4,r1,r2)             RRF_UUFR(b3a1,m3,m4,r1,r2)
+#define CDLGTR(m3,m4,r1,r2)             RRF_UUFR(b952,m3,m4,r1,r2)
+#define CDTR(r1,r2)                     RRE_RERE(b3e4,r1,r2)
+#define CEDTR(r1,r2)                    RRE_RERE(b3f4,r1,r2)
+#define CEFBRA(m3,m4,r1,r2)             RRF_UUFR(b394,m3,m4,r1,r2)
+#define CEGBRA(m3,m4,r1,r2)             RRF_UUFR(b3a4,m3,m4,r1,r2)
+#define CELFBR(m3,m4,r1,r2)             RRF_UUFR(b390,m3,m4,r1,r2)
+#define CELGBR(m3,m4,r1,r2)             RRF_UUFR(b3a0,m3,m4,r1,r2)
+#define CEXTR(r1,r2)                    RRE_RERE(b3fc,r1,r2)
+#define CFEBRA(m3,m4,r1,r2)             RRF_UURF(b398,m3,m4,r1,r2)
+#define CFDBRA(m3,m4,r1,r2)             RRF_UURF(b399,m3,m4,r1,r2)
+#define CFDTR(m3,m4,r1,r2)              RRF_UURF(b941,m3,m4,r1,r2)
 #define CFI(r1,i2)                      RIL_RI(c2,r1,d,i2)
+#define CFXBRA(m3,m4,r1,r2)             RRF_UURF(b39a,m3,m4,r1,r2)
+#define CFXTR(m3,m4,r1,r2)              RRF_UURF(b949,m3,m4,r1,r2)
+#define CGDBRA(m3,m4,r1,r2)             RRF_UURF(b3a9,m3,m4,r1,r2)
+#define CGDTRA(m3,m4,r1,r2)             RRF_UURF(b3e1,m3,m4,r1,r2)
+#define CGEBRA(m3,m4,r1,r2)             RRF_UURF(b3a8,m3,m4,r1,r2)
 #define CGFI(r1,i2)                     RIL_RI(c2,r1,c,i2)
 #define CGFRL(r1,i2)                    RIL_RP(c6,r1,c,i2)
 #define CGH(r1,x2,b2,dl2,dh2)           RXY_RRRD(e3,r1,x2,b2,dl2,dh2,34)
@@ -130,6 +163,8 @@
 #define CGRB(r1,r2,b4,d4,m3)            RRS(ec,r1,r2,b4,d4,m3,0,e4)
 #define CGRJ(r1,r2,i4,m3)               RIE_RRPU(ec,r1,r2,i4,m3,0,64)
 #define CGRL(r1,i2)                     RIL_RP(c6,r1,8,i2)
+#define CGXBRA(m3,m4,r1,r2)             RRF_UURF(b3aa,m3,m4,r1,r2)
+#define CGXTRA(m3,m4,r1,r2)             RRF_UURF(b3e9,m3,m4,r1,r2)
 #define CHF(r1,x2,b2,dl2,dh2)           RXY_RRRD(e3,r1,x2,b2,dl2,dh2,cd)
 #define CHHR(r1,r2)                     RRE_RR(b9cd,00,r1,r2)
 #define CHHSI(b1,d1,i2)                 SIL_RDI(e554,b1,d1,i2)
@@ -140,8 +175,16 @@
 #define CIB(r1,m3,b4,d4,i2)             RIS_RURDI(ec,r1,m3,b4,d4,i2,fe)
 #define CIH(r1,i2)                      RIL_RI(cc,r1,d,i2)
 #define CIJ(r1,m3,i4,i2)                RIE_RUPI(ec,r1,m3,i4,i2,7e)
+#define CLFEBR(m3,m4,r1,r2)             RRF_UURF(b39c,m3,m4,r1,r2)
+#define CLFDBR(m3,m4,r1,r2)             RRF_UURF(b39d,m3,m4,r1,r2)
+#define CLFDTR(m3,m4,r1,r2)             RRF_UURF(b943,m3,m4,r1,r2)
+#define CLFXBR(m3,m4,r1,r2)             RRF_UURF(b39e,m3,m4,r1,r2)
+#define CLFXTR(m3,m4,r1,r2)             RRF_UURF(b94b,m3,m4,r1,r2)
 #define CLFHSI(b1,d1,i2)                SIL_RDU(e55d,b1,d1,i2)
 #define CLFI(r1,i2)                     RIL_RU(c2,r1,f,i2)
+#define CLGDBR(m3,m4,r1,r2)             RRF_UURF(b3ad,m3,m4,r1,r2)
+#define CLGDTR(m3,m4,r1,r2)             RRF_UURF(b942,m3,m4,r1,r2)
+#define CLGEBR(m3,m4,r1,r2)             RRF_UURF(b3ac,m3,m4,r1,r2)
 #define CLGFI(r1,i2)                    RIL_RU(c2,r1,e,i2)
 #define CLGFRL(r1,i2)                   RIL_RP(c6,r1,e,i2)
 #define CLGHRL(r1,i2)                   RIL_RP(c6,r1,6,i2)
@@ -151,6 +194,8 @@
 #define CLGRB(r1,r2,b4,d4,m3)           RRS(ec,r1,r2,b4,d4,m3,0,e5)
 #define CLGRJ(r1,r2,i4,m3)              RIE_RRPU(ec,r1,r2,i4,m3,0,65)
 #define CLGRL(r1,i2)                    RIL_RP(c6,r1,a,i2)
+#define CLGXBR(m3,m4,r1,r2)             RRF_UURF(b3ae,m3,m4,r1,r2)
+#define CLGXTR(m3,m4,r1,r2)             RRF_UURF(b94a,m3,m4,r1,r2)
 #define CLHF(r1,x2,b2,dl2,dh2)          RXY_RRRD(e3,r1,x2,b2,dl2,dh2,cf)
 #define CLHHR(r1,r2)                    RRE_RR(b9cf,00,r1,r2)
 #define CLHHSI(b1,d1,i2)                SIL_RDU(e555,b1,d1,i2)
@@ -170,9 +215,26 @@
 #define CRJ(r1,r2,i4,m3)                RIE_RRPU(ec,r1,r2,i4,m3,0,76)
 #define CRL(r1,i2)                      RIL_RP(c6,r1,d,i2)
 #define CSY(r1,r3,b2,dl2,dh2)           RSY_RRRD(eb,r1,r3,b2,dl2,dh2,14)
+#define CU12(m3,r1,r2)                  RRF_M0RERE(b2a7,m3,r1,r2)
+#define CU14(m3,r1,r2)                  RRF_M0RERE(b9b0,m3,r1,r2)
+#define CU21(m3,r1,r2)                  RRF_M0RERE(b2a6,m3,r1,r2)
+#define CU24(m3,r1,r2)                  RRF_M0RERE(b9b1,m3,r1,r2)
+#define CU41(r1,r2)                     RRE_RERE(b9b2,r1,r2)
+#define CU42(r1,r2)                     RRE_RERE(b9b3,r1,r2)
 #define CVBY(r1,x2,b2,dl2,dh2)          RXY_RRRD(e3,r1,x2,b2,dl2,dh2,06)
 #define CVDY(r1,x2,b2,dl2,dh2)          RXY_RRRD(e3,r1,x2,b2,dl2,dh2,26)
+#define CXFBRA(m3,m4,r1,r2)             RRF_UUFR(b396,m3,m4,r1,r2)
+#define CXFTR(m3,m4,r1,r2)              RRF_UUFR(b959,m3,m4,r1,r2)
+#define CXGBRA(m3,m4,r1,r2)             RRF_UUFR(b3a6,m3,m4,r1,r2)
+#define CXGTRA(m3,m4,r1,r2)             RRF_UUFR(b3f9,m3,m4,r1,r2)
+#define CXLFBR(m3,m4,r1,r2)             RRF_UUFR(b392,m3,m4,r1,r2)
+#define CXLFTR(m3,m4,r1,r2)             RRF_UUFR(b95b,m3,m4,r1,r2)
+#define CXLGBR(m3,m4,r1,r2)             RRF_UUFR(b3a2,m3,m4,r1,r2)
+#define CXLGTR(m3,m4,r1,r2)             RRF_UUFR(b95a,m3,m4,r1,r2)
+#define CXTR(r1,r2)                     RRE_RERE(b3ec,r1,r2)
 #define CY(r1,x2,b2,dl2,dh2)            RXY_RRRD(e3,r1,x2,b2,dl2,dh2,59)
+#define DDTRA(r3,m4,r1,r2)              RRF_FUFF2(b3d1,r3,m4,r1,r2)
+#define DXTRA(r3,m4,r1,r2)              RRF_FUFF2(b3d9,r3,m4,r1,r2)
 #define EXRL(r1,i2)                     RIL_RP(c6,r1,0,i2)
 #define FLOGR(r1,r2)                    RRE_RR(b983,00,r1,r2)
 #define ICMY(r1,r3,b2,dl2,dh2)          RSY_RURD(eb,r1,r3,b2,dl2,dh2,81)
@@ -237,6 +299,7 @@
 #define LTG(r1,x2,b2,dl2,dh2)           RXY_RRRD(e3,r1,x2,b2,dl2,dh2,02)
 #define LTGF(r1,x2,b2,dl2,dh2)          RXY_RRRD(e3,r1,x2,b2,dl2,dh2,32)
 #define LY(r1,x2,b2,dl2,dh2)            RXY_RRRD(e3,r1,x2,b2,dl2,dh2,58)
+#define MDTRA(r3,m4,r1,r2)              RRF_FUFF2(b3d0,r3,m4,r1,r2)
 #define MFY(r1,x2,b2,dl2,dh2)           RXY_RRRD(e3,r1,x2,b2,dl2,dh2,5c)
 #define MHY(r1,x2,b2,dl2,dh2)           RXY_RRRD(e3,r1,x2,b2,dl2,dh2,7c)
 #define MSFI(r1,i2)                     RIL_RI(c2,r1,1,i2)
@@ -246,6 +309,7 @@
 #define MVHHI(b1,d1,i2)                 SIL_RDI(e544,b1,d1,i2)
 #define MVHI(b1,d1,i2)                  SIL_RDI(e54c,b1,d1,i2)
 #define MVIY(i2,b1,dl1,dh1)             SIY_URD(eb,i2,b1,dl1,dh1,52)
+#define MXTRA(r3,m4,r1,r2)              RRF_FUFF2(b3d8,r3,m4,r1,r2)
 #define NGRK(r3,r1,r2)                  RRF_R0RR2(b9e4,r3,0,r1,r2)
 #define NIHF(r1,i2)                     RIL_RU(c0,r1,a,i2)
 #define NILF(r1,i2)                     RIL_RU(c0,r1,b,i2)
@@ -264,11 +328,14 @@
 #define RNSBG(r1,r2,i3,i4,i5)           RIE_RRUUU(ec,r1,r2,i3,i4,i5,54)
 #define ROSBG(r1,r2,i3,i4,i5)           RIE_RRUUU(ec,r1,r2,i3,i4,i5,56)
 #define RXSBG(r1,r2,i3,i4,i5)           RIE_RRUUU(ec,r1,r2,i3,i4,i5,57)
+#define SFPC(r1)                        RRE_R0(b384,r1)
 #define SGRK(r3,r1,r2)                  RRF_R0RR2(b9e9,r3,0,r1,r2)
 #define SHHHR(r3,r1,r2)                 RRF_R0RR2(b9c9,r3,0,r1,r2)
 #define SHHLR(r3,r1,r2)                 RRF_R0RR2(b9d9,r3,0,r1,r2)
 #define SHY(r1,x2,b2,dl2,dh2)           RXY_RRRD(e3,r1,x2,b2,dl2,dh2,7b)
 #define SLAK(r1,r3,b2,dl2,dh2)          RSY_RRRD(eb,r1,r3,b2,dl2,dh2,dd)
+#define ECAG(r1,r3,b2,dl2,dh2)          RSY_RRRD(eb,r1,r3,b2,dl2,dh2,4c)
+#define SDTRA(r3,m4,r1,r2)              RRF_FUFF2(b3d3,r3,m4,r1,r2)
 #define SLFI(r1,i2)                     RIL_RU(c2,r1,5,i2)
 #define SLGFI(r1,i2)                    RIL_RU(c2,r1,4,i2)
 #define SLGRK(r3,r1,r2)                 RRF_R0RR2(b9eb,r3,0,r1,r2)
@@ -280,6 +347,8 @@
 #define SRAK(r1,r3,b2,dl2,dh2)          RSY_RRRD(eb,r1,r3,b2,dl2,dh2,dc)
 #define SRK(r3,r1,r2)                   RRF_R0RR2(b9f9,r3,0,r1,r2)
 #define SRLK(r1,r3,b2,dl2,dh2)          RSY_RRRD(eb,r1,r3,b2,dl2,dh2,de)
+#define SRNMB(b2,d2)                    S_RD(b2b8,b2,d2)
+#define SRNMT(b2,d2)                    S_RD(b2b9,b2,d2)
 #define STAMY(r1,r3,b2,dl2,dh2)         RSY_AARD(eb,r1,r3,b2,dl2,dh2,9b)
 #define STCH(r1,x2,b2,dl2,dh2)          RXY_RRRD(e3,r1,x2,b2,dl2,dh2,c3)
 #define STCMY(r1,r3,b2,dl2,dh2)         RSY_RURD(eb,r1,r3,b2,dl2,dh2,2d)
@@ -296,6 +365,7 @@
 #define STOCG(r1,r3,b2,dl2,dh2)         RSY_RDRM(eb,r1,r3,b2,dl2,dh2,e3)
 #define STRL(r1,i2)                     RIL_RP(c4,r1,f,i2)
 #define STY(r1,x2,b2,dl2,dh2)           RXY_RRRD(e3,r1,x2,b2,dl2,dh2,50)
+#define SXTRA(r3,m4,r1,r2)              RRF_FUFF2(b3db,r3,m4,r1,r2)
 #define SY(r1,x2,b2,dl2,dh2)            RXY_RRRD(e3,r1,x2,b2,dl2,dh2,5b)
 #define TMY(i2,b1,dl1,dh1)              SIY_URD(eb,i2,b1,dl1,dh1,51)
 #define XGRK(r3,r1,r2)                  RRF_R0RR2(b9e7,r3,0,r1,r2)
diff --git a/none/tests/s390x/pfpo.c b/none/tests/s390x/pfpo.c
new file mode 100644
index 0000000..dd4fcec
--- /dev/null
+++ b/none/tests/s390x/pfpo.c
@@ -0,0 +1,273 @@
+#include <stdio.h>
+#include <stdint.h>
+#include "dfp_utils.h"
+#define __STDC_WANT_DEC_FP__ 1
+#include <float.h>
+
+#ifndef PFPO_FUNCTIONS
+#define PFPO_FUNCTIONS
+#define PFPO_F32_TO_D32   0x01080500
+#define PFPO_D32_TO_F32   0x01050800
+#define PFPO_F32_TO_D64   0x01090500
+#define PFPO_D32_TO_F64   0x01060800
+#define PFPO_F32_TO_D128  0x010A0500
+#define PFPO_D32_TO_F128  0x01070800
+#define PFPO_F64_TO_D32   0x01080600
+#define PFPO_D64_TO_F32   0x01050900
+#define PFPO_F64_TO_D64   0x01090600
+#define PFPO_D64_TO_F64   0x01060900
+#define PFPO_F64_TO_D128  0x010A0600
+#define PFPO_D64_TO_F128  0x01070900
+#define PFPO_D128_TO_F64  0x01060A00
+#define PFPO_F128_TO_D32  0x01080700
+#define PFPO_D128_TO_F32  0x01050A00
+#define PFPO_F128_TO_D64  0x01090700
+#define PFPO_D128_TO_F64  0x01060A00
+#define PFPO_F128_TO_D128 0x010A0700
+#define PFPO_D128_TO_F128 0x01070A00
+
+#define PFPO(initial, src_type, dst_type, fn_code, round, ret_code, cc) \
+({                                                                      \
+  register src_type src_reg asm("f4") = initial;                        \
+  register dst_type dst_reg asm("f0");                                  \
+  register unsigned long fn asm("0") = fn_code | (round & 0xf);         \
+  register unsigned int ret asm("1");                                   \
+  asm volatile(".short 0x010a\n\t"                                      \
+               "ipm %2\n\t"                                             \
+               "srl %2,28\n\t"                                          \
+               :"=f"(dst_reg), "=d"(ret), "=d" (cc)                     \
+               : "f"(src_reg), "d"(fn));                                \
+  ret_code = ret;                                                       \
+  dst_reg;                                                              \
+})
+
+#endif /* PFPO_FUNCTIONS */
+
+/* Test BFP <-> DFP conversions */
+int main()
+{
+  int cc;
+  uint8_t i, j;
+  unsigned int ret_code;
+
+  float f32;
+  double f64;
+  long double f128;
+
+  _Decimal32 d32;
+  _Decimal64 d64;
+  _Decimal128 d128;
+
+  float f32_in[] = {123.5656789, FLT_MAX, FLT_MIN};
+  double f64_in[] = {123456789999.5656789, DBL_MIN, DBL_MAX};
+  long double f128_in[] = {1234567812345678912345678912.5656789L,
+                           LDBL_MIN, LDBL_MAX};
+
+  _Decimal32 d32_in[] = {123.5656789DF, DEC32_MAX, DEC32_MIN};
+  _Decimal64 d64_in[] = {123456789999.5656789DD, DEC64_MIN, DEC64_MAX};
+  _Decimal128 d128_in[] = {1234567812345678912345678912.5656789DL,
+                           DEC128_MIN, DEC128_MAX};
+
+ /* valid function code */
+  PFPO(0., double, _Decimal64, 0x81090600, 0, ret_code, cc);
+  printf("pfpo test: function=%x ret=%d cc=%d\n", 0x81090600, ret_code, cc);
+
+ /* invalid function code */
+  PFPO(0., double, _Decimal64, 0x81990600, 0, ret_code, cc);
+  printf("pfpo test: function=%x ret=%d cc=%d\n", 0x81990600, ret_code, cc);
+
+  for (i = 0; i < 16; i++) {
+    if (i < 2 || i > 7) {
+
+      /* f32 -> d32 */
+      for(j = 0; j < 3; j++) {
+        printf("f32 -> d32: round=%x ", i);
+        printf("%f -> ", f32_in[j]);
+        d32 = PFPO(f32_in[j], float, _Decimal32, PFPO_F32_TO_D32,
+                   i, ret_code, cc);
+        DFP_VAL_PRINT(d32, _Decimal32);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* f32 -> d64 */
+      for(j = 0; j < 3; j++) {
+        printf("f32 -> d64: round=%x ", i);
+        printf("%f -> ", f32_in[j]);
+        d64 = PFPO(f32_in[j], float, _Decimal64, PFPO_F32_TO_D64,
+                   i, ret_code, cc);
+        DFP_VAL_PRINT(d64, _Decimal64);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* f32 -> d128 */
+      for(j = 0; j < 3; j++) {
+        printf("f32 -> d128: round=%x ", i);
+        printf("%f -> ", f32_in[j]);
+        d128 = PFPO(f32_in[j], float, _Decimal128, PFPO_F32_TO_D128,
+                    i, ret_code, cc);
+        DFP_VAL_PRINT(d128, _Decimal128);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* f64 -> d32 */
+      for(j = 0; j < 3; j++) {
+        printf("f64 -> d32: round=%x ", i);
+        printf("%lf -> ", f64_in[j]);
+        d32 = PFPO(f64_in[j], double, _Decimal32, PFPO_F64_TO_D32,
+                   i, ret_code, cc);
+        DFP_VAL_PRINT(d32, _Decimal32);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* f64 -> d64 */
+      for(j = 0; j < 3; j++) {
+        printf("f64 -> d64: round=%x ", i);
+        printf("%lf -> ", f64_in[j]);
+        d64 = PFPO(f64_in[j], double, _Decimal64, PFPO_F64_TO_D64,
+                   i, ret_code, cc);
+        DFP_VAL_PRINT(d64, _Decimal64);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* f64 -> d128 */
+      for(j = 0; j < 3; j++) {
+        printf("f64 -> d128: round=%x ", i);
+        printf("%lf -> ", f64_in[j]);
+        d128 = PFPO(f64_in[j], double, _Decimal128, PFPO_F64_TO_D128,
+                   i, ret_code, cc);
+        DFP_VAL_PRINT(d128, _Decimal128);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* f128 -> d32 */
+      for(j = 0; j < 3; j++) {
+        printf("f128 -> d32: round=%x ", i);
+        printf("%Lf -> ", f128_in[j]);
+        d32 = PFPO(f128_in[j], long double, _Decimal32, PFPO_F128_TO_D32,
+                   i, ret_code, cc);
+        DFP_VAL_PRINT(d32, _Decimal32);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* f128 -> d64 */
+      for(j = 0; j < 3; j++) {
+        printf("f128 -> d6: round=%x ", i);
+        printf("%Lf -> ", f128_in[j]);
+        d64 = PFPO(f128_in[j], long double, _Decimal64, PFPO_F128_TO_D64,
+                   i, ret_code, cc);
+        DFP_VAL_PRINT(d64, _Decimal64);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* f128 -> d128 */
+      for(j = 0; j < 3; j++) {
+        printf("f128 -> d128: round=%x ", i);
+        printf("%Lf -> ", f128_in[j]);
+        d128 = PFPO(f128_in[j], long double, _Decimal128, PFPO_F128_TO_D128,
+                   i, ret_code, cc);
+        DFP_VAL_PRINT(d128, _Decimal128);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* d32 -> f32 */
+      for(j = 0; j < 3; j++) {
+        printf("d32 -> f32: round=%x ", i);
+        DFP_VAL_PRINT(d32_in[j], _Decimal32);
+        printf(" -> ");
+        f32 = PFPO(d32_in[j], _Decimal32, float, PFPO_D32_TO_F32,
+                   i, ret_code, cc);
+        printf("%f", f32);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* d32 -> f64 */
+      for(j = 0; j < 3; j++) {
+        printf("d32 -> f64: round=%x ", i);
+        DFP_VAL_PRINT(d32_in[j], _Decimal32);
+        printf(" -> ");
+        f64 = PFPO(d32_in[j], _Decimal32, double, PFPO_D32_TO_F64,
+                   i, ret_code, cc);
+        printf("%lf", f64);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* d32 -> f128 */
+      for(j = 0; j < 3; j++) {
+        printf("d32 -> f128: round=%x ", i);
+        DFP_VAL_PRINT(d32_in[j], _Decimal32);
+        printf(" -> ");
+        f128 = PFPO(d32_in[j], _Decimal32, long double, PFPO_D32_TO_F128,
+                   i, ret_code, cc);
+        printf("%Lf", f128);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* d64 -> f32 */
+      for(j = 0; j < 3; j++) {
+        printf("d64 -> f32: round=%x ", i);
+        DFP_VAL_PRINT(d64_in[j], _Decimal64);
+        printf(" -> ");
+        f32 = PFPO(d64_in[j], _Decimal64, float, PFPO_D64_TO_F32,
+                   i, ret_code, cc);
+        printf("%f", f32);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* d64 -> f64 */
+      for(j = 0; j < 3; j++) {
+        printf("d64 -> f64: round=%x ", i);
+        DFP_VAL_PRINT(d64_in[j], _Decimal64);
+        printf(" -> ");
+        f64 = PFPO(d64_in[j], _Decimal64, double, PFPO_D64_TO_F64,
+                   i, ret_code, cc);
+        printf("%lf", f64);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* d64 -> f128 */
+      for(j = 0; j < 3; j++) {
+        printf("d64 -> f128: round=%x ", i);
+        DFP_VAL_PRINT(d64_in[j], _Decimal64);
+        printf(" -> ");
+        f128 = PFPO(d64_in[j], _Decimal64, long double, PFPO_D64_TO_F128,
+                   i, ret_code, cc);
+        printf("%Lf", f128);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* d128 -> f32 */
+      for(j = 0; j < 3; j++) {
+        printf("d128 -> f32: round=%x ", i);
+        DFP_VAL_PRINT(d128_in[j], _Decimal128);
+        printf(" -> ");
+        f32 = PFPO(d128_in[j], _Decimal128, float, PFPO_D128_TO_F32,
+                   i, ret_code, cc);
+        printf("%f", f32);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* d128 -> f64 */
+      for(j = 0; j < 3; j++) {
+        printf("d128 -> f64: round=%x ", i);
+        DFP_VAL_PRINT(d128_in[j], _Decimal128);
+        printf(" -> ");
+        f64 = PFPO(d128_in[j], _Decimal128, double, PFPO_D128_TO_F64,
+                   i, ret_code, cc);
+        printf("%lf", f64);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+
+      /* d128 -> f128 */
+      for(j = 0; j < 3; j++) {
+        printf("d128 -> f128: round=%x ", i);
+        DFP_VAL_PRINT(d128_in[j], _Decimal128);
+        printf(" -> ");
+        f128 = PFPO(d128_in[j], _Decimal128, long double, PFPO_D128_TO_F128,
+                   i, ret_code, cc);
+        printf("%Lf", f128);
+        printf(" ret=%d cc=%d\n", ret_code, cc);
+      }
+    }
+  }
+  return 0;
+}
diff --git a/none/tests/s390x/pfpo.stderr.exp b/none/tests/s390x/pfpo.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/pfpo.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/pfpo.stdout.exp b/none/tests/s390x/pfpo.stdout.exp
new file mode 100644
index 0000000..1b2c2ff
--- /dev/null
+++ b/none/tests/s390x/pfpo.stdout.exp
@@ -0,0 +1,542 @@
+pfpo test: function=81090600 ret=0 cc=0
+pfpo test: function=81990600 ret=0 cc=3
+f32 -> d32: round=0 123.565681 -> 2614d757 ret=0 cc=1
+f32 -> d32: round=0 340282346638528859811704183484516925440.000000 -> 4c58092d ret=0 cc=1
+f32 -> d32: round=0 0.000000 -> 793d65a ret=0 cc=1
+f32 -> d64: round=0 123.565681 -> 260535d5a1cbd4db ret=0 cc=1
+f32 -> d64: round=0 340282346638528859811704183484516925440.000000 -> 2e96024b66672d4f ret=0 cc=1
+f32 -> d64: round=0 0.000000 -> 2564f5969d04b14e ret=0 cc=1
+f32 -> d128: round=0 123.565681 -> 2203c00000000001275ae8317d1774a5 ret=0 cc=0
+f32 -> d128: round=0 340282346638528859811704183484516925440.000000 -> 2e096024b66672d4eb78971063c934e9 ret=0 cc=1
+f32 -> d128: round=0 0.000000 -> 25f64f5969d04b16ba1faeedab748946 ret=0 cc=1
+f64 -> d32: round=0 123456789999.565674 -> 26a4d2e8 ret=0 cc=1
+f64 -> d32: round=0 0.000000 -> 0 ret=0 cc=1
+f64 -> d32: round=0 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 78000000 ret=0 cc=1
+f64 -> d64: round=0 123456789999.565674 -> 262934b9c7fa7f57 ret=0 cc=1
+f64 -> d64: round=0 0.000000 -> 92d251ce3ea1d01 ret=0 cc=1
+f64 -> d64: round=0 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 46cffbcecb45b196 ret=0 cc=1
+f64 -> d128: round=0 123456789999.565674 -> 22050000000028e56f3cffb97734b8a5 ret=0 cc=0
+f64 -> d128: round=0 0.000000 -> 29b2d251ce3ea1d016ac1a4cb976ca04 ret=0 cc=1
+f64 -> d128: round=0 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 264cffbcecb45b195e20c55d13765c44 ret=0 cc=1
+f128 -> d32: round=0 1234567812345678912345678912.565679 -> 27a4d2e8 ret=0 cc=1
+f128 -> d32: round=0 0.000000 -> 0 ret=0 cc=1
+f128 -> d32: round=0 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 78000000 ret=0 cc=1
+f128 -> d6: round=0 1234567812345678912345678912.565679 -> 266934b9d1c71779 ret=0 cc=1
+f128 -> d6: round=0 0.000000 -> 0 ret=0 cc=1
+f128 -> d6: round=0 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 7800000000000000 ret=0 cc=1
+f128 -> d128: round=0 1234567812345678912345678912.565679 -> 2606934b9d1c71778671c5de19cb9779 ret=0 cc=1
+f128 -> d128: round=0 0.000000 -> d2ede220cc32483ba1962ddf1d687d3 ret=0 cc=1
+f128 -> d128: round=0 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 46d0ccfec65b75d31f944bf65a6ca007 ret=0 cc=1
+d32 -> f32: round=0 2614d757 -> 123.565697 ret=0 cc=1
+d32 -> f32: round=0 77f3fcff -> inf ret=0 cc=1
+d32 -> f32: round=0 600001 -> 0.000000 ret=0 cc=1
+d32 -> f64: round=0 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f64: round=0 77f3fcff -> 9999998999999999145058500637276236756335285900858519878078201916184111084614646836542515064078336.000000 ret=0 cc=1
+d32 -> f64: round=0 600001 -> 0.000000 ret=0 cc=1
+d32 -> f128: round=0 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f128: round=0 77f3fcff -> 9999998999999999999999999999999999462354159244984568360531049341302200948801429690072240675094528.000000 ret=0 cc=1
+d32 -> f128: round=0 600001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=0 262934b9c7fa7f57 -> 123456790528.000000 ret=0 cc=1
+d64 -> f32: round=0 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=0 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f64: round=0 262934b9c7fa7f57 -> 123456789999.565704 ret=0 cc=1
+d64 -> f64: round=0 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f64: round=0 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f128: round=0 262934b9c7fa7f57 -> 123456789999.565700 ret=0 cc=1
+d64 -> f128: round=0 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f128: round=0 77fcff3fcff3fcff -> 9999999999999999000000000000000000013723202727516060118807077893448616268747199640509480875143654370524821933293844615764721668487788941176186611501359635428425057176258171019295271247185046529699191156424938761709359083589727106005789174223154354416401110127617320588057734183075456542453869127620182239429135678998347351873054557747250681274391162650971365131334722353902232279187456.000000 ret=0 cc=1
+d128 -> f32: round=0 2606934b9d1c71778671c5de19cb9779 -> 1234567826894753579187306496.000000 ret=0 cc=1
+d128 -> f32: round=0 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f32: round=0 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f64: round=0 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678857580314624.000000 ret=0 cc=1
+d128 -> f64: round=0 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f64: round=0 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f128: round=0 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678912345678912.565679 ret=0 cc=1
+d128 -> f128: round=0 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f128: round=0 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+f32 -> d32: round=1 123.565681 -> 2614d757 ret=0 cc=1
+f32 -> d32: round=1 340282346638528859811704183484516925440.000000 -> 4c58092d ret=0 cc=1
+f32 -> d32: round=1 0.000000 -> 793d65a ret=0 cc=1
+f32 -> d64: round=1 123.565681 -> 260535d5a1cbd4db ret=0 cc=1
+f32 -> d64: round=1 340282346638528859811704183484516925440.000000 -> 2e96024b66672d4f ret=0 cc=1
+f32 -> d64: round=1 0.000000 -> 2564f5969d04b14e ret=0 cc=1
+f32 -> d128: round=1 123.565681 -> 2203c00000000001275ae8317d1774a5 ret=0 cc=0
+f32 -> d128: round=1 340282346638528859811704183484516925440.000000 -> 2e096024b66672d4eb78971063c934e9 ret=0 cc=1
+f32 -> d128: round=1 0.000000 -> 25f64f5969d04b16ba1faeedab748946 ret=0 cc=1
+f64 -> d32: round=1 123456789999.565674 -> 26a4d2e8 ret=0 cc=1
+f64 -> d32: round=1 0.000000 -> 0 ret=0 cc=1
+f64 -> d32: round=1 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 78000000 ret=0 cc=1
+f64 -> d64: round=1 123456789999.565674 -> 262934b9c7fa7f57 ret=0 cc=1
+f64 -> d64: round=1 0.000000 -> 92d251ce3ea1d01 ret=0 cc=1
+f64 -> d64: round=1 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 46cffbcecb45b196 ret=0 cc=1
+f64 -> d128: round=1 123456789999.565674 -> 22050000000028e56f3cffb97734b8a5 ret=0 cc=0
+f64 -> d128: round=1 0.000000 -> 29b2d251ce3ea1d016ac1a4cb976ca04 ret=0 cc=1
+f64 -> d128: round=1 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 264cffbcecb45b195e20c55d13765c44 ret=0 cc=1
+f128 -> d32: round=1 1234567812345678912345678912.565679 -> 27a4d2e8 ret=0 cc=1
+f128 -> d32: round=1 0.000000 -> 0 ret=0 cc=1
+f128 -> d32: round=1 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 78000000 ret=0 cc=1
+f128 -> d6: round=1 1234567812345678912345678912.565679 -> 266934b9d1c71779 ret=0 cc=1
+f128 -> d6: round=1 0.000000 -> 0 ret=0 cc=1
+f128 -> d6: round=1 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 7800000000000000 ret=0 cc=1
+f128 -> d128: round=1 1234567812345678912345678912.565679 -> 2606934b9d1c71778671c5de19cb9779 ret=0 cc=1
+f128 -> d128: round=1 0.000000 -> d2ede220cc32483ba1962ddf1d687d3 ret=0 cc=1
+f128 -> d128: round=1 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 46d0ccfec65b75d31f944bf65a6ca007 ret=0 cc=1
+d32 -> f32: round=1 2614d757 -> 123.565697 ret=0 cc=1
+d32 -> f32: round=1 77f3fcff -> inf ret=0 cc=1
+d32 -> f32: round=1 600001 -> 0.000000 ret=0 cc=1
+d32 -> f64: round=1 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f64: round=1 77f3fcff -> 9999998999999999145058500637276236756335285900858519878078201916184111084614646836542515064078336.000000 ret=0 cc=1
+d32 -> f64: round=1 600001 -> 0.000000 ret=0 cc=1
+d32 -> f128: round=1 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f128: round=1 77f3fcff -> 9999998999999999999999999999999999462354159244984568360531049341302200948801429690072240675094528.000000 ret=0 cc=1
+d32 -> f128: round=1 600001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=1 262934b9c7fa7f57 -> 123456790528.000000 ret=0 cc=1
+d64 -> f32: round=1 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=1 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f64: round=1 262934b9c7fa7f57 -> 123456789999.565704 ret=0 cc=1
+d64 -> f64: round=1 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f64: round=1 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f128: round=1 262934b9c7fa7f57 -> 123456789999.565700 ret=0 cc=1
+d64 -> f128: round=1 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f128: round=1 77fcff3fcff3fcff -> 9999999999999999000000000000000000013723202727516060118807077893448616268747199640509480875143654370524821933293844615764721668487788941176186611501359635428425057176258171019295271247185046529699191156424938761709359083589727106005789174223154354416401110127617320588057734183075456542453869127620182239429135678998347351873054557747250681274391162650971365131334722353902232279187456.000000 ret=0 cc=1
+d128 -> f32: round=1 2606934b9d1c71778671c5de19cb9779 -> 1234567826894753579187306496.000000 ret=0 cc=1
+d128 -> f32: round=1 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f32: round=1 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f64: round=1 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678857580314624.000000 ret=0 cc=1
+d128 -> f64: round=1 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f64: round=1 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f128: round=1 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678912345678912.565679 ret=0 cc=1
+d128 -> f128: round=1 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f128: round=1 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+f32 -> d32: round=8 123.565681 -> 2614d757 ret=0 cc=1
+f32 -> d32: round=8 340282346638528859811704183484516925440.000000 -> 4c58092d ret=0 cc=1
+f32 -> d32: round=8 0.000000 -> 793d65a ret=0 cc=1
+f32 -> d64: round=8 123.565681 -> 260535d5a1cbd4db ret=0 cc=1
+f32 -> d64: round=8 340282346638528859811704183484516925440.000000 -> 2e96024b66672d4f ret=0 cc=1
+f32 -> d64: round=8 0.000000 -> 2564f5969d04b14e ret=0 cc=1
+f32 -> d128: round=8 123.565681 -> 2203c00000000001275ae8317d1774a5 ret=0 cc=0
+f32 -> d128: round=8 340282346638528859811704183484516925440.000000 -> 2e096024b66672d4eb78971063c934e9 ret=0 cc=1
+f32 -> d128: round=8 0.000000 -> 25f64f5969d04b16ba1faeedab748946 ret=0 cc=1
+f64 -> d32: round=8 123456789999.565674 -> 26a4d2e8 ret=0 cc=1
+f64 -> d32: round=8 0.000000 -> 0 ret=0 cc=1
+f64 -> d32: round=8 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 78000000 ret=0 cc=1
+f64 -> d64: round=8 123456789999.565674 -> 262934b9c7fa7f57 ret=0 cc=1
+f64 -> d64: round=8 0.000000 -> 92d251ce3ea1d01 ret=0 cc=1
+f64 -> d64: round=8 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 46cffbcecb45b196 ret=0 cc=1
+f64 -> d128: round=8 123456789999.565674 -> 22050000000028e56f3cffb97734b8a5 ret=0 cc=0
+f64 -> d128: round=8 0.000000 -> 29b2d251ce3ea1d016ac1a4cb976ca04 ret=0 cc=1
+f64 -> d128: round=8 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 264cffbcecb45b195e20c55d13765c44 ret=0 cc=1
+f128 -> d32: round=8 1234567812345678912345678912.565679 -> 27a4d2e8 ret=0 cc=1
+f128 -> d32: round=8 0.000000 -> 0 ret=0 cc=1
+f128 -> d32: round=8 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 78000000 ret=0 cc=1
+f128 -> d6: round=8 1234567812345678912345678912.565679 -> 266934b9d1c71779 ret=0 cc=1
+f128 -> d6: round=8 0.000000 -> 0 ret=0 cc=1
+f128 -> d6: round=8 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 7800000000000000 ret=0 cc=1
+f128 -> d128: round=8 1234567812345678912345678912.565679 -> 2606934b9d1c71778671c5de19cb9779 ret=0 cc=1
+f128 -> d128: round=8 0.000000 -> d2ede220cc32483ba1962ddf1d687d3 ret=0 cc=1
+f128 -> d128: round=8 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 46d0ccfec65b75d31f944bf65a6ca007 ret=0 cc=1
+d32 -> f32: round=8 2614d757 -> 123.565697 ret=0 cc=1
+d32 -> f32: round=8 77f3fcff -> inf ret=0 cc=1
+d32 -> f32: round=8 600001 -> 0.000000 ret=0 cc=1
+d32 -> f64: round=8 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f64: round=8 77f3fcff -> 9999998999999999145058500637276236756335285900858519878078201916184111084614646836542515064078336.000000 ret=0 cc=1
+d32 -> f64: round=8 600001 -> 0.000000 ret=0 cc=1
+d32 -> f128: round=8 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f128: round=8 77f3fcff -> 9999998999999999999999999999999999462354159244984568360531049341302200948801429690072240675094528.000000 ret=0 cc=1
+d32 -> f128: round=8 600001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=8 262934b9c7fa7f57 -> 123456790528.000000 ret=0 cc=1
+d64 -> f32: round=8 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=8 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f64: round=8 262934b9c7fa7f57 -> 123456789999.565704 ret=0 cc=1
+d64 -> f64: round=8 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f64: round=8 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f128: round=8 262934b9c7fa7f57 -> 123456789999.565700 ret=0 cc=1
+d64 -> f128: round=8 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f128: round=8 77fcff3fcff3fcff -> 9999999999999999000000000000000000013723202727516060118807077893448616268747199640509480875143654370524821933293844615764721668487788941176186611501359635428425057176258171019295271247185046529699191156424938761709359083589727106005789174223154354416401110127617320588057734183075456542453869127620182239429135678998347351873054557747250681274391162650971365131334722353902232279187456.000000 ret=0 cc=1
+d128 -> f32: round=8 2606934b9d1c71778671c5de19cb9779 -> 1234567826894753579187306496.000000 ret=0 cc=1
+d128 -> f32: round=8 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f32: round=8 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f64: round=8 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678857580314624.000000 ret=0 cc=1
+d128 -> f64: round=8 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f64: round=8 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f128: round=8 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678912345678912.565679 ret=0 cc=1
+d128 -> f128: round=8 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f128: round=8 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+f32 -> d32: round=9 123.565681 -> 2614d756 ret=0 cc=1
+f32 -> d32: round=9 340282346638528859811704183484516925440.000000 -> 4c58092d ret=0 cc=1
+f32 -> d32: round=9 0.000000 -> 793d65a ret=0 cc=1
+f32 -> d64: round=9 123.565681 -> 260535d5a1cbd4db ret=0 cc=1
+f32 -> d64: round=9 340282346638528859811704183484516925440.000000 -> 2e96024b66672d4e ret=0 cc=1
+f32 -> d64: round=9 0.000000 -> 2564f5969d04b16b ret=0 cc=1
+f32 -> d128: round=9 123.565681 -> 2203c00000000001275ae8317d1774a5 ret=0 cc=0
+f32 -> d128: round=9 340282346638528859811704183484516925440.000000 -> 2e096024b66672d4eb78971063c934e9 ret=0 cc=1
+f32 -> d128: round=9 0.000000 -> 25f64f5969d04b16ba1faeedab748945 ret=0 cc=1
+f64 -> d32: round=9 123456789999.565674 -> 26a4d2e7 ret=0 cc=1
+f64 -> d32: round=9 0.000000 -> 0 ret=0 cc=1
+f64 -> d32: round=9 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 77f3fcff ret=0 cc=1
+f64 -> d64: round=9 123456789999.565674 -> 262934b9c7fa7f56 ret=0 cc=1
+f64 -> d64: round=9 0.000000 -> 92d251ce3ea1d01 ret=0 cc=1
+f64 -> d64: round=9 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 46cffbcecb45b195 ret=0 cc=1
+f64 -> d128: round=9 123456789999.565674 -> 22050000000028e56f3cffb97734b8a5 ret=0 cc=0
+f64 -> d128: round=9 0.000000 -> 29b2d251ce3ea1d016ac1a4cb976ca04 ret=0 cc=1
+f64 -> d128: round=9 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 264cffbcecb45b195e20c55d13765c43 ret=0 cc=1
+f128 -> d32: round=9 1234567812345678912345678912.565679 -> 27a4d2e7 ret=0 cc=1
+f128 -> d32: round=9 0.000000 -> 0 ret=0 cc=1
+f128 -> d32: round=9 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 77f3fcff ret=0 cc=1
+f128 -> d6: round=9 1234567812345678912345678912.565679 -> 266934b9d1c71778 ret=0 cc=1
+f128 -> d6: round=9 0.000000 -> 0 ret=0 cc=1
+f128 -> d6: round=9 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 77fcff3fcff3fcff ret=0 cc=1
+f128 -> d128: round=9 1234567812345678912345678912.565679 -> 2606934b9d1c71778671c5de19cb9778 ret=0 cc=1
+f128 -> d128: round=9 0.000000 -> d2ede220cc32483ba1962ddf1d687d2 ret=0 cc=1
+f128 -> d128: round=9 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 46d0ccfec65b75d31f944bf65a6ca007 ret=0 cc=1
+d32 -> f32: round=9 2614d757 -> 123.565697 ret=0 cc=1
+d32 -> f32: round=9 77f3fcff -> 340282346638528859811704183484516925440.000000 ret=0 cc=1
+d32 -> f32: round=9 600001 -> 0.000000 ret=0 cc=1
+d32 -> f64: round=9 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f64: round=9 77f3fcff -> 9999998999999999145058500637276236756335285900858519878078201916184111084614646836542515064078336.000000 ret=0 cc=1
+d32 -> f64: round=9 600001 -> 0.000000 ret=0 cc=1
+d32 -> f128: round=9 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f128: round=9 77f3fcff -> 9999998999999999999999999999999999462354159244984568360531049341302200948801429690072240675094528.000000 ret=0 cc=1
+d32 -> f128: round=9 600001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=9 262934b9c7fa7f57 -> 123456782336.000000 ret=0 cc=1
+d64 -> f32: round=9 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=9 77fcff3fcff3fcff -> 340282346638528859811704183484516925440.000000 ret=0 cc=1
+d64 -> f64: round=9 262934b9c7fa7f57 -> 123456789999.565689 ret=0 cc=1
+d64 -> f64: round=9 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f64: round=9 77fcff3fcff3fcff -> 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 ret=0 cc=1
+d64 -> f128: round=9 262934b9c7fa7f57 -> 123456789999.565700 ret=0 cc=1
+d64 -> f128: round=9 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f128: round=9 77fcff3fcff3fcff -> 9999999999999998999999999999999999011475789084709673889028339197981988227866027267975429236742260568576493242123199471608742905707579095873390210885787416844008664287345878764229292117974155289218865991686427043558671183680330222761915900091445678924679434149542002905093136934255882251614858293192050966728369822997905014788913668537562822688033678412786208282848430334013331830996992.000000 ret=0 cc=1
+d128 -> f32: round=9 2606934b9d1c71778671c5de19cb9779 -> 1234567753107777284349100032.000000 ret=0 cc=1
+d128 -> f32: round=9 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f32: round=9 77ffcff3fcff3fcff3fcff3fcff3fcff -> 340282346638528859811704183484516925440.000000 ret=0 cc=1
+d128 -> f64: round=9 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678857580314624.000000 ret=0 cc=1
+d128 -> f64: round=9 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f64: round=9 77ffcff3fcff3fcff3fcff3fcff3fcff -> 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 ret=0 cc=1
+d128 -> f128: round=9 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678912345678912.565679 ret=0 cc=1
+d128 -> f128: round=9 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f128: round=9 77ffcff3fcff3fcff3fcff3fcff3fcff -> 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 ret=0 cc=1
+f32 -> d32: round=a 123.565681 -> 2614d757 ret=0 cc=1
+f32 -> d32: round=a 340282346638528859811704183484516925440.000000 -> 4c580a2c ret=0 cc=1
+f32 -> d32: round=a 0.000000 -> 793d65b ret=0 cc=1
+f32 -> d64: round=a 123.565681 -> 260535d5a1cbd4fa ret=0 cc=1
+f32 -> d64: round=a 340282346638528859811704183484516925440.000000 -> 2e96024b66672d4f ret=0 cc=1
+f32 -> d64: round=a 0.000000 -> 2564f5969d04b14e ret=0 cc=1
+f32 -> d128: round=a 123.565681 -> 2203c00000000001275ae8317d1774a5 ret=0 cc=0
+f32 -> d128: round=a 340282346638528859811704183484516925440.000000 -> 2e096024b66672d4eb78971063c934f0 ret=0 cc=1
+f32 -> d128: round=a 0.000000 -> 25f64f5969d04b16ba1faeedab748946 ret=0 cc=1
+f64 -> d32: round=a 123456789999.565674 -> 26a4d2e8 ret=0 cc=1
+f64 -> d32: round=a 0.000000 -> 1 ret=0 cc=1
+f64 -> d32: round=a 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 78000000 ret=0 cc=1
+f64 -> d64: round=a 123456789999.565674 -> 262934b9c7fa7f57 ret=0 cc=1
+f64 -> d64: round=a 0.000000 -> 92d251ce3ea1d02 ret=0 cc=1
+f64 -> d64: round=a 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 46cffbcecb45b196 ret=0 cc=1
+f64 -> d128: round=a 123456789999.565674 -> 22050000000028e56f3cffb97734b8a5 ret=0 cc=0
+f64 -> d128: round=a 0.000000 -> 29b2d251ce3ea1d016ac1a4cb976ca05 ret=0 cc=1
+f64 -> d128: round=a 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 264cffbcecb45b195e20c55d13765c44 ret=0 cc=1
+f128 -> d32: round=a 1234567812345678912345678912.565679 -> 27a4d2e8 ret=0 cc=1
+f128 -> d32: round=a 0.000000 -> 1 ret=0 cc=1
+f128 -> d32: round=a 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 78000000 ret=0 cc=1
+f128 -> d6: round=a 1234567812345678912345678912.565679 -> 266934b9d1c71779 ret=0 cc=1
+f128 -> d6: round=a 0.000000 -> 1 ret=0 cc=1
+f128 -> d6: round=a 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 7800000000000000 ret=0 cc=1
+f128 -> d128: round=a 1234567812345678912345678912.565679 -> 2606934b9d1c71778671c5de19cb9779 ret=0 cc=1
+f128 -> d128: round=a 0.000000 -> d2ede220cc32483ba1962ddf1d687d3 ret=0 cc=1
+f128 -> d128: round=a 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 46d0ccfec65b75d31f944bf65a6ca008 ret=0 cc=1
+d32 -> f32: round=a 2614d757 -> 123.565704 ret=0 cc=1
+d32 -> f32: round=a 77f3fcff -> inf ret=0 cc=1
+d32 -> f32: round=a 600001 -> 0.000000 ret=0 cc=1
+d32 -> f64: round=a 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f64: round=a 77f3fcff -> 9999999000000001042196090701464782576122304283201202146053630678039112307087703222191231084789760.000000 ret=0 cc=1
+d32 -> f64: round=a 600001 -> 0.000000 ret=0 cc=1
+d32 -> f128: round=a 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f128: round=a 77f3fcff -> 9999999000000000000000000000000001107858716566190610515500231898652705931537295323652104023703552.000000 ret=0 cc=1
+d32 -> f128: round=a 600001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=a 262934b9c7fa7f57 -> 123456790528.000000 ret=0 cc=1
+d64 -> f32: round=a 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=a 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f64: round=a 262934b9c7fa7f57 -> 123456789999.565704 ret=0 cc=1
+d64 -> f64: round=a 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f64: round=a 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f128: round=a 262934b9c7fa7f57 -> 123456789999.565700 ret=0 cc=1
+d64 -> f128: round=a 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f128: round=a 77fcff3fcff3fcff -> 9999999999999999000000000000000000013723202727516060118807077893448616268747199640509480875143654370524821933293844615764721668487788941176186611501359635428425057176258171019295271247185046529699191156424938761709359083589727106005789174223154354416401110127617320588057734183075456542453869127620182239429135678998347351873054557747250681274391162650971365131334722353902232279187456.000000 ret=0 cc=1
+d128 -> f32: round=a 2606934b9d1c71778671c5de19cb9779 -> 1234567826894753579187306496.000000 ret=0 cc=1
+d128 -> f32: round=a 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f32: round=a 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f64: round=a 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678995019268096.000000 ret=0 cc=1
+d128 -> f64: round=a 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f64: round=a 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f128: round=a 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678912345678912.565679 ret=0 cc=1
+d128 -> f128: round=a 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f128: round=a 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+f32 -> d32: round=b 123.565681 -> 2614d756 ret=0 cc=1
+f32 -> d32: round=b 340282346638528859811704183484516925440.000000 -> 4c58092d ret=0 cc=1
+f32 -> d32: round=b 0.000000 -> 793d65a ret=0 cc=1
+f32 -> d64: round=b 123.565681 -> 260535d5a1cbd4db ret=0 cc=1
+f32 -> d64: round=b 340282346638528859811704183484516925440.000000 -> 2e96024b66672d4e ret=0 cc=1
+f32 -> d64: round=b 0.000000 -> 2564f5969d04b16b ret=0 cc=1
+f32 -> d128: round=b 123.565681 -> 2203c00000000001275ae8317d1774a5 ret=0 cc=0
+f32 -> d128: round=b 340282346638528859811704183484516925440.000000 -> 2e096024b66672d4eb78971063c934e9 ret=0 cc=1
+f32 -> d128: round=b 0.000000 -> 25f64f5969d04b16ba1faeedab748945 ret=0 cc=1
+f64 -> d32: round=b 123456789999.565674 -> 26a4d2e7 ret=0 cc=1
+f64 -> d32: round=b 0.000000 -> 0 ret=0 cc=1
+f64 -> d32: round=b 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 77f3fcff ret=0 cc=1
+f64 -> d64: round=b 123456789999.565674 -> 262934b9c7fa7f56 ret=0 cc=1
+f64 -> d64: round=b 0.000000 -> 92d251ce3ea1d01 ret=0 cc=1
+f64 -> d64: round=b 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 46cffbcecb45b195 ret=0 cc=1
+f64 -> d128: round=b 123456789999.565674 -> 22050000000028e56f3cffb97734b8a5 ret=0 cc=0
+f64 -> d128: round=b 0.000000 -> 29b2d251ce3ea1d016ac1a4cb976ca04 ret=0 cc=1
+f64 -> d128: round=b 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 264cffbcecb45b195e20c55d13765c43 ret=0 cc=1
+f128 -> d32: round=b 1234567812345678912345678912.565679 -> 27a4d2e7 ret=0 cc=1
+f128 -> d32: round=b 0.000000 -> 0 ret=0 cc=1
+f128 -> d32: round=b 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 77f3fcff ret=0 cc=1
+f128 -> d6: round=b 1234567812345678912345678912.565679 -> 266934b9d1c71778 ret=0 cc=1
+f128 -> d6: round=b 0.000000 -> 0 ret=0 cc=1
+f128 -> d6: round=b 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 77fcff3fcff3fcff ret=0 cc=1
+f128 -> d128: round=b 1234567812345678912345678912.565679 -> 2606934b9d1c71778671c5de19cb9778 ret=0 cc=1
+f128 -> d128: round=b 0.000000 -> d2ede220cc32483ba1962ddf1d687d2 ret=0 cc=1
+f128 -> d128: round=b 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 46d0ccfec65b75d31f944bf65a6ca007 ret=0 cc=1
+d32 -> f32: round=b 2614d757 -> 123.565697 ret=0 cc=1
+d32 -> f32: round=b 77f3fcff -> 340282346638528859811704183484516925440.000000 ret=0 cc=1
+d32 -> f32: round=b 600001 -> 0.000000 ret=0 cc=1
+d32 -> f64: round=b 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f64: round=b 77f3fcff -> 9999998999999999145058500637276236756335285900858519878078201916184111084614646836542515064078336.000000 ret=0 cc=1
+d32 -> f64: round=b 600001 -> 0.000000 ret=0 cc=1
+d32 -> f128: round=b 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f128: round=b 77f3fcff -> 9999998999999999999999999999999999462354159244984568360531049341302200948801429690072240675094528.000000 ret=0 cc=1
+d32 -> f128: round=b 600001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=b 262934b9c7fa7f57 -> 123456782336.000000 ret=0 cc=1
+d64 -> f32: round=b 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=b 77fcff3fcff3fcff -> 340282346638528859811704183484516925440.000000 ret=0 cc=1
+d64 -> f64: round=b 262934b9c7fa7f57 -> 123456789999.565689 ret=0 cc=1
+d64 -> f64: round=b 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f64: round=b 77fcff3fcff3fcff -> 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 ret=0 cc=1
+d64 -> f128: round=b 262934b9c7fa7f57 -> 123456789999.565700 ret=0 cc=1
+d64 -> f128: round=b 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f128: round=b 77fcff3fcff3fcff -> 9999999999999998999999999999999999011475789084709673889028339197981988227866027267975429236742260568576493242123199471608742905707579095873390210885787416844008664287345878764229292117974155289218865991686427043558671183680330222761915900091445678924679434149542002905093136934255882251614858293192050966728369822997905014788913668537562822688033678412786208282848430334013331830996992.000000 ret=0 cc=1
+d128 -> f32: round=b 2606934b9d1c71778671c5de19cb9779 -> 1234567753107777284349100032.000000 ret=0 cc=1
+d128 -> f32: round=b 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f32: round=b 77ffcff3fcff3fcff3fcff3fcff3fcff -> 340282346638528859811704183484516925440.000000 ret=0 cc=1
+d128 -> f64: round=b 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678857580314624.000000 ret=0 cc=1
+d128 -> f64: round=b 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f64: round=b 77ffcff3fcff3fcff3fcff3fcff3fcff -> 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 ret=0 cc=1
+d128 -> f128: round=b 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678912345678912.565679 ret=0 cc=1
+d128 -> f128: round=b 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f128: round=b 77ffcff3fcff3fcff3fcff3fcff3fcff -> 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 ret=0 cc=1
+f32 -> d32: round=c 123.565681 -> 2614d757 ret=0 cc=1
+f32 -> d32: round=c 340282346638528859811704183484516925440.000000 -> 4c58092d ret=0 cc=1
+f32 -> d32: round=c 0.000000 -> 793d65a ret=0 cc=1
+f32 -> d64: round=c 123.565681 -> 260535d5a1cbd4db ret=0 cc=1
+f32 -> d64: round=c 340282346638528859811704183484516925440.000000 -> 2e96024b66672d4f ret=0 cc=1
+f32 -> d64: round=c 0.000000 -> 2564f5969d04b14e ret=0 cc=1
+f32 -> d128: round=c 123.565681 -> 2203c00000000001275ae8317d1774a5 ret=0 cc=0
+f32 -> d128: round=c 340282346638528859811704183484516925440.000000 -> 2e096024b66672d4eb78971063c934e9 ret=0 cc=1
+f32 -> d128: round=c 0.000000 -> 25f64f5969d04b16ba1faeedab748946 ret=0 cc=1
+f64 -> d32: round=c 123456789999.565674 -> 26a4d2e8 ret=0 cc=1
+f64 -> d32: round=c 0.000000 -> 0 ret=0 cc=1
+f64 -> d32: round=c 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 78000000 ret=0 cc=1
+f64 -> d64: round=c 123456789999.565674 -> 262934b9c7fa7f57 ret=0 cc=1
+f64 -> d64: round=c 0.000000 -> 92d251ce3ea1d01 ret=0 cc=1
+f64 -> d64: round=c 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 46cffbcecb45b196 ret=0 cc=1
+f64 -> d128: round=c 123456789999.565674 -> 22050000000028e56f3cffb97734b8a5 ret=0 cc=0
+f64 -> d128: round=c 0.000000 -> 29b2d251ce3ea1d016ac1a4cb976ca04 ret=0 cc=1
+f64 -> d128: round=c 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 264cffbcecb45b195e20c55d13765c44 ret=0 cc=1
+f128 -> d32: round=c 1234567812345678912345678912.565679 -> 27a4d2e8 ret=0 cc=1
+f128 -> d32: round=c 0.000000 -> 0 ret=0 cc=1
+f128 -> d32: round=c 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 78000000 ret=0 cc=1
+f128 -> d6: round=c 1234567812345678912345678912.565679 -> 266934b9d1c71779 ret=0 cc=1
+f128 -> d6: round=c 0.000000 -> 0 ret=0 cc=1
+f128 -> d6: round=c 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 7800000000000000 ret=0 cc=1
+f128 -> d128: round=c 1234567812345678912345678912.565679 -> 2606934b9d1c71778671c5de19cb9779 ret=0 cc=1
+f128 -> d128: round=c 0.000000 -> d2ede220cc32483ba1962ddf1d687d3 ret=0 cc=1
+f128 -> d128: round=c 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 46d0ccfec65b75d31f944bf65a6ca007 ret=0 cc=1
+d32 -> f32: round=c 2614d757 -> 123.565697 ret=0 cc=1
+d32 -> f32: round=c 77f3fcff -> inf ret=0 cc=1
+d32 -> f32: round=c 600001 -> 0.000000 ret=0 cc=1
+d32 -> f64: round=c 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f64: round=c 77f3fcff -> 9999998999999999145058500637276236756335285900858519878078201916184111084614646836542515064078336.000000 ret=0 cc=1
+d32 -> f64: round=c 600001 -> 0.000000 ret=0 cc=1
+d32 -> f128: round=c 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f128: round=c 77f3fcff -> 9999998999999999999999999999999999462354159244984568360531049341302200948801429690072240675094528.000000 ret=0 cc=1
+d32 -> f128: round=c 600001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=c 262934b9c7fa7f57 -> 123456790528.000000 ret=0 cc=1
+d64 -> f32: round=c 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=c 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f64: round=c 262934b9c7fa7f57 -> 123456789999.565704 ret=0 cc=1
+d64 -> f64: round=c 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f64: round=c 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f128: round=c 262934b9c7fa7f57 -> 123456789999.565700 ret=0 cc=1
+d64 -> f128: round=c 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f128: round=c 77fcff3fcff3fcff -> 9999999999999999000000000000000000013723202727516060118807077893448616268747199640509480875143654370524821933293844615764721668487788941176186611501359635428425057176258171019295271247185046529699191156424938761709359083589727106005789174223154354416401110127617320588057734183075456542453869127620182239429135678998347351873054557747250681274391162650971365131334722353902232279187456.000000 ret=0 cc=1
+d128 -> f32: round=c 2606934b9d1c71778671c5de19cb9779 -> 1234567826894753579187306496.000000 ret=0 cc=1
+d128 -> f32: round=c 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f32: round=c 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f64: round=c 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678857580314624.000000 ret=0 cc=1
+d128 -> f64: round=c 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f64: round=c 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f128: round=c 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678912345678912.565679 ret=0 cc=1
+d128 -> f128: round=c 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f128: round=c 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+f32 -> d32: round=d 123.565681 -> 2614d757 ret=0 cc=1
+f32 -> d32: round=d 340282346638528859811704183484516925440.000000 -> 4c58092d ret=0 cc=1
+f32 -> d32: round=d 0.000000 -> 793d65a ret=0 cc=1
+f32 -> d64: round=d 123.565681 -> 260535d5a1cbd4db ret=0 cc=1
+f32 -> d64: round=d 340282346638528859811704183484516925440.000000 -> 2e96024b66672d4f ret=0 cc=1
+f32 -> d64: round=d 0.000000 -> 2564f5969d04b14e ret=0 cc=1
+f32 -> d128: round=d 123.565681 -> 2203c00000000001275ae8317d1774a5 ret=0 cc=0
+f32 -> d128: round=d 340282346638528859811704183484516925440.000000 -> 2e096024b66672d4eb78971063c934e9 ret=0 cc=1
+f32 -> d128: round=d 0.000000 -> 25f64f5969d04b16ba1faeedab748946 ret=0 cc=1
+f64 -> d32: round=d 123456789999.565674 -> 26a4d2e8 ret=0 cc=1
+f64 -> d32: round=d 0.000000 -> 0 ret=0 cc=1
+f64 -> d32: round=d 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 78000000 ret=0 cc=1
+f64 -> d64: round=d 123456789999.565674 -> 262934b9c7fa7f57 ret=0 cc=1
+f64 -> d64: round=d 0.000000 -> 92d251ce3ea1d01 ret=0 cc=1
+f64 -> d64: round=d 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 46cffbcecb45b196 ret=0 cc=1
+f64 -> d128: round=d 123456789999.565674 -> 22050000000028e56f3cffb97734b8a5 ret=0 cc=0
+f64 -> d128: round=d 0.000000 -> 29b2d251ce3ea1d016ac1a4cb976ca04 ret=0 cc=1
+f64 -> d128: round=d 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 264cffbcecb45b195e20c55d13765c44 ret=0 cc=1
+f128 -> d32: round=d 1234567812345678912345678912.565679 -> 27a4d2e8 ret=0 cc=1
+f128 -> d32: round=d 0.000000 -> 0 ret=0 cc=1
+f128 -> d32: round=d 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 78000000 ret=0 cc=1
+f128 -> d6: round=d 1234567812345678912345678912.565679 -> 266934b9d1c71779 ret=0 cc=1
+f128 -> d6: round=d 0.000000 -> 0 ret=0 cc=1
+f128 -> d6: round=d 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 7800000000000000 ret=0 cc=1
+f128 -> d128: round=d 1234567812345678912345678912.565679 -> 2606934b9d1c71778671c5de19cb9779 ret=0 cc=1
+f128 -> d128: round=d 0.000000 -> d2ede220cc32483ba1962ddf1d687d3 ret=0 cc=1
+f128 -> d128: round=d 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 46d0ccfec65b75d31f944bf65a6ca007 ret=0 cc=1
+d32 -> f32: round=d 2614d757 -> 123.565697 ret=0 cc=1
+d32 -> f32: round=d 77f3fcff -> inf ret=0 cc=1
+d32 -> f32: round=d 600001 -> 0.000000 ret=0 cc=1
+d32 -> f64: round=d 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f64: round=d 77f3fcff -> 9999998999999999145058500637276236756335285900858519878078201916184111084614646836542515064078336.000000 ret=0 cc=1
+d32 -> f64: round=d 600001 -> 0.000000 ret=0 cc=1
+d32 -> f128: round=d 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f128: round=d 77f3fcff -> 9999998999999999999999999999999999462354159244984568360531049341302200948801429690072240675094528.000000 ret=0 cc=1
+d32 -> f128: round=d 600001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=d 262934b9c7fa7f57 -> 123456790528.000000 ret=0 cc=1
+d64 -> f32: round=d 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=d 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f64: round=d 262934b9c7fa7f57 -> 123456789999.565704 ret=0 cc=1
+d64 -> f64: round=d 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f64: round=d 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f128: round=d 262934b9c7fa7f57 -> 123456789999.565700 ret=0 cc=1
+d64 -> f128: round=d 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f128: round=d 77fcff3fcff3fcff -> 9999999999999999000000000000000000013723202727516060118807077893448616268747199640509480875143654370524821933293844615764721668487788941176186611501359635428425057176258171019295271247185046529699191156424938761709359083589727106005789174223154354416401110127617320588057734183075456542453869127620182239429135678998347351873054557747250681274391162650971365131334722353902232279187456.000000 ret=0 cc=1
+d128 -> f32: round=d 2606934b9d1c71778671c5de19cb9779 -> 1234567826894753579187306496.000000 ret=0 cc=1
+d128 -> f32: round=d 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f32: round=d 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f64: round=d 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678857580314624.000000 ret=0 cc=1
+d128 -> f64: round=d 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f64: round=d 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f128: round=d 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678912345678912.565679 ret=0 cc=1
+d128 -> f128: round=d 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f128: round=d 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+f32 -> d32: round=e 123.565681 -> 2614d757 ret=0 cc=1
+f32 -> d32: round=e 340282346638528859811704183484516925440.000000 -> 4c580a2c ret=0 cc=1
+f32 -> d32: round=e 0.000000 -> 793d65b ret=0 cc=1
+f32 -> d64: round=e 123.565681 -> 260535d5a1cbd4fa ret=0 cc=1
+f32 -> d64: round=e 340282346638528859811704183484516925440.000000 -> 2e96024b66672d4f ret=0 cc=1
+f32 -> d64: round=e 0.000000 -> 2564f5969d04b14e ret=0 cc=1
+f32 -> d128: round=e 123.565681 -> 2203c00000000001275ae8317d1774a5 ret=0 cc=0
+f32 -> d128: round=e 340282346638528859811704183484516925440.000000 -> 2e096024b66672d4eb78971063c934f0 ret=0 cc=1
+f32 -> d128: round=e 0.000000 -> 25f64f5969d04b16ba1faeedab748946 ret=0 cc=1
+f64 -> d32: round=e 123456789999.565674 -> 26a4d2e8 ret=0 cc=1
+f64 -> d32: round=e 0.000000 -> 1 ret=0 cc=1
+f64 -> d32: round=e 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 78000000 ret=0 cc=1
+f64 -> d64: round=e 123456789999.565674 -> 262934b9c7fa7f57 ret=0 cc=1
+f64 -> d64: round=e 0.000000 -> 92d251ce3ea1d02 ret=0 cc=1
+f64 -> d64: round=e 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 46cffbcecb45b196 ret=0 cc=1
+f64 -> d128: round=e 123456789999.565674 -> 22050000000028e56f3cffb97734b8a5 ret=0 cc=0
+f64 -> d128: round=e 0.000000 -> 29b2d251ce3ea1d016ac1a4cb976ca05 ret=0 cc=1
+f64 -> d128: round=e 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 264cffbcecb45b195e20c55d13765c44 ret=0 cc=1
+f128 -> d32: round=e 1234567812345678912345678912.565679 -> 27a4d2e8 ret=0 cc=1
+f128 -> d32: round=e 0.000000 -> 1 ret=0 cc=1
+f128 -> d32: round=e 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 78000000 ret=0 cc=1
+f128 -> d6: round=e 1234567812345678912345678912.565679 -> 266934b9d1c71779 ret=0 cc=1
+f128 -> d6: round=e 0.000000 -> 1 ret=0 cc=1
+f128 -> d6: round=e 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 7800000000000000 ret=0 cc=1
+f128 -> d128: round=e 1234567812345678912345678912.565679 -> 2606934b9d1c71778671c5de19cb9779 ret=0 cc=1
+f128 -> d128: round=e 0.000000 -> d2ede220cc32483ba1962ddf1d687d3 ret=0 cc=1
+f128 -> d128: round=e 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 46d0ccfec65b75d31f944bf65a6ca008 ret=0 cc=1
+d32 -> f32: round=e 2614d757 -> 123.565704 ret=0 cc=1
+d32 -> f32: round=e 77f3fcff -> inf ret=0 cc=1
+d32 -> f32: round=e 600001 -> 0.000000 ret=0 cc=1
+d32 -> f64: round=e 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f64: round=e 77f3fcff -> 9999999000000001042196090701464782576122304283201202146053630678039112307087703222191231084789760.000000 ret=0 cc=1
+d32 -> f64: round=e 600001 -> 0.000000 ret=0 cc=1
+d32 -> f128: round=e 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f128: round=e 77f3fcff -> 9999999000000000000000000000000001107858716566190610515500231898652705931537295323652104023703552.000000 ret=0 cc=1
+d32 -> f128: round=e 600001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=e 262934b9c7fa7f57 -> 123456790528.000000 ret=0 cc=1
+d64 -> f32: round=e 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=e 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f64: round=e 262934b9c7fa7f57 -> 123456789999.565704 ret=0 cc=1
+d64 -> f64: round=e 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f64: round=e 77fcff3fcff3fcff -> inf ret=0 cc=1
+d64 -> f128: round=e 262934b9c7fa7f57 -> 123456789999.565700 ret=0 cc=1
+d64 -> f128: round=e 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f128: round=e 77fcff3fcff3fcff -> 9999999999999999000000000000000000013723202727516060118807077893448616268747199640509480875143654370524821933293844615764721668487788941176186611501359635428425057176258171019295271247185046529699191156424938761709359083589727106005789174223154354416401110127617320588057734183075456542453869127620182239429135678998347351873054557747250681274391162650971365131334722353902232279187456.000000 ret=0 cc=1
+d128 -> f32: round=e 2606934b9d1c71778671c5de19cb9779 -> 1234567826894753579187306496.000000 ret=0 cc=1
+d128 -> f32: round=e 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f32: round=e 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f64: round=e 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678995019268096.000000 ret=0 cc=1
+d128 -> f64: round=e 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f64: round=e 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+d128 -> f128: round=e 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678912345678912.565679 ret=0 cc=1
+d128 -> f128: round=e 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f128: round=e 77ffcff3fcff3fcff3fcff3fcff3fcff -> inf ret=0 cc=1
+f32 -> d32: round=f 123.565681 -> 2614d756 ret=0 cc=1
+f32 -> d32: round=f 340282346638528859811704183484516925440.000000 -> 4c58092d ret=0 cc=1
+f32 -> d32: round=f 0.000000 -> 793d65a ret=0 cc=1
+f32 -> d64: round=f 123.565681 -> 260535d5a1cbd4fa ret=0 cc=1
+f32 -> d64: round=f 340282346638528859811704183484516925440.000000 -> 2e96024b66672d4e ret=0 cc=1
+f32 -> d64: round=f 0.000000 -> 2564f5969d04b16b ret=0 cc=1
+f32 -> d128: round=f 123.565681 -> 2203c00000000001275ae8317d1774a5 ret=0 cc=0
+f32 -> d128: round=f 340282346638528859811704183484516925440.000000 -> 2e096024b66672d4eb78971063c934e9 ret=0 cc=1
+f32 -> d128: round=f 0.000000 -> 25f64f5969d04b16ba1faeedab748946 ret=0 cc=1
+f64 -> d32: round=f 123456789999.565674 -> 26a4d2e7 ret=0 cc=1
+f64 -> d32: round=f 0.000000 -> 1 ret=0 cc=1
+f64 -> d32: round=f 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 77f3fcff ret=0 cc=1
+f64 -> d64: round=f 123456789999.565674 -> 262934b9c7fa7f56 ret=0 cc=1
+f64 -> d64: round=f 0.000000 -> 92d251ce3ea1d01 ret=0 cc=1
+f64 -> d64: round=f 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 46cffbcecb45b196 ret=0 cc=1
+f64 -> d128: round=f 123456789999.565674 -> 22050000000028e56f3cffb97734b8a5 ret=0 cc=0
+f64 -> d128: round=f 0.000000 -> 29b2d251ce3ea1d016ac1a4cb976ca04 ret=0 cc=1
+f64 -> d128: round=f 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 -> 264cffbcecb45b195e20c55d13765c43 ret=0 cc=1
+f128 -> d32: round=f 1234567812345678912345678912.565679 -> 27a4d2e7 ret=0 cc=1
+f128 -> d32: round=f 0.000000 -> 1 ret=0 cc=1
+f128 -> d32: round=f 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 77f3fcff ret=0 cc=1
+f128 -> d6: round=f 1234567812345678912345678912.565679 -> 266934b9d1c71778 ret=0 cc=1
+f128 -> d6: round=f 0.000000 -> 1 ret=0 cc=1
+f128 -> d6: round=f 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 77fcff3fcff3fcff ret=0 cc=1
+f128 -> d128: round=f 1234567812345678912345678912.565679 -> 2606934b9d1c71778671c5de19cb9778 ret=0 cc=1
+f128 -> d128: round=f 0.000000 -> d2ede220cc32483ba1962ddf1d687d2 ret=0 cc=1
+f128 -> d128: round=f 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 -> 46d0ccfec65b75d31f944bf65a6ca007 ret=0 cc=1
+d32 -> f32: round=f 2614d757 -> 123.565697 ret=0 cc=1
+d32 -> f32: round=f 77f3fcff -> 340282346638528859811704183484516925440.000000 ret=0 cc=1
+d32 -> f32: round=f 600001 -> 0.000000 ret=0 cc=1
+d32 -> f64: round=f 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f64: round=f 77f3fcff -> 9999999000000001042196090701464782576122304283201202146053630678039112307087703222191231084789760.000000 ret=0 cc=1
+d32 -> f64: round=f 600001 -> 0.000000 ret=0 cc=1
+d32 -> f128: round=f 2614d757 -> 123.565700 ret=0 cc=1
+d32 -> f128: round=f 77f3fcff -> 9999998999999999999999999999999999462354159244984568360531049341302200948801429690072240675094528.000000 ret=0 cc=1
+d32 -> f128: round=f 600001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=f 262934b9c7fa7f57 -> 123456790528.000000 ret=0 cc=1
+d64 -> f32: round=f 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f32: round=f 77fcff3fcff3fcff -> 340282346638528859811704183484516925440.000000 ret=0 cc=1
+d64 -> f64: round=f 262934b9c7fa7f57 -> 123456789999.565689 ret=0 cc=1
+d64 -> f64: round=f 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f64: round=f 77fcff3fcff3fcff -> 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 ret=0 cc=1
+d64 -> f128: round=f 262934b9c7fa7f57 -> 123456789999.565700 ret=0 cc=1
+d64 -> f128: round=f 3c000000000001 -> 0.000000 ret=0 cc=1
+d64 -> f128: round=f 77fcff3fcff3fcff -> 9999999999999999000000000000000000013723202727516060118807077893448616268747199640509480875143654370524821933293844615764721668487788941176186611501359635428425057176258171019295271247185046529699191156424938761709359083589727106005789174223154354416401110127617320588057734183075456542453869127620182239429135678998347351873054557747250681274391162650971365131334722353902232279187456.000000 ret=0 cc=1
+d128 -> f32: round=f 2606934b9d1c71778671c5de19cb9779 -> 1234567753107777284349100032.000000 ret=0 cc=1
+d128 -> f32: round=f 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f32: round=f 77ffcff3fcff3fcff3fcff3fcff3fcff -> 340282346638528859811704183484516925440.000000 ret=0 cc=1
+d128 -> f64: round=f 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678857580314624.000000 ret=0 cc=1
+d128 -> f64: round=f 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f64: round=f 77ffcff3fcff3fcff3fcff3fcff3fcff -> 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.000000 ret=0 cc=1
+d128 -> f128: round=f 2606934b9d1c71778671c5de19cb9779 -> 1234567812345678912345678912.565679 ret=0 cc=1
+d128 -> f128: round=f 840000000000000000001 -> 0.000000 ret=0 cc=1
+d128 -> f128: round=f 77ffcff3fcff3fcff3fcff3fcff3fcff -> 1189731495357231765085759326628007016196469052641694045529698884212163579755312392324974012848462073525902033564749126859755265433573804462672698751945261490853461958725021262845865799405404493574681566096686172574953791792292256220777095858112702436475442537092608935138247345677279593806773692330094615746119725784172889892521939920757654204864565673356452247278152288867700638935595456496699511441752909606878513250948311396886100526833092128683974752192266386791880873694343077348155564101669971138512786874753496996549221727686770196551512812712488289469952298031867469924683981576664562667786719061499639630341657098305425237220876664630087808767256182803220212219924852375903049520911395910918921205273496768588119030111593018789368039232011671404175845108854706965215605777113516257404818817695075025715299705916714352103671782759119316034498392169720631800164034124698918142227577300459309880454715179606299895507583075851195185857971173167676966057998899352631885417716295302014668802384075846036226606480142977595407135050379808649130157164024060311786908796372510335873512774795275748595417572920936651398752709055215663939505589207804914540432978557623565645991208599669097180808881920063722771431218489011922209679053545963628417326002439732802939524313786668514027381434321036636571171670423586472759561231970793967839279147282720195377060602122638457883204809341717526809639253539447730280863675704796054050525162959099932535265586464682793821550087166946662209865086040990507131145474267411042839542322762994938759613112743837192839682676257555388372814490845395747128162065871588219108887240116651361962050800029176299938826082417547516732269930473133261258921845516815235455354310458114528303607394526100730578774092094736822286015459361126642549541799645333882549670764145955017051330800061253865140180153211929361456500343514792890205532021760061882232615736553377294980974059590520187961459799386741513028505934410453603480192383349321115171811051004108592830991811382552909064873029533418691087118107895004426881765865961841419267486232005929789956207494587649901662172318722999484512325826087031561936383689740686505279775296789331613683822798597040651600524129025149894873153196942095056670847466927644812596506700129443579512479230621373978088731257089799622902183824105412930483065603459863120371744282301377070153823878609951218937542956964157950988060608985782910656238116142203574104757451828170804875257446204128348513829082731722364189380493588338947664370623279820755831646205417488393062838201789547219543194450902113699925965376908192792152122212824578879336506875288617303469517112245451315447164280392523574962804175375927948971096983905242318797695347043690474223813266505639761164438844266531364626851219633994434154098562127395936184421821444273431534507860161614287022720984061569660333372788241037131538077377480152670583257920535569973318188112685673318997967497786786001251403873023920127717626858627038170562807276699687356274072773403132694104831615879354395811585825112837841563222761623334459188131537882355732483030085976890382969734476214593428191212717141333047577867552218517431064848760373196290310124466145087078377140528533048684204278799596652514009368964527494988719996088230065668196236298805733689960371306226158464997243490564472254071897564144128539839986096045563264771285585066304177995720101744844387158329767375560416207800878830072072413908657855667239546369357775781344288195989176313356856417845434232814886744226746707066979755577121788798468777700116472954103621810567107869855646414713502627836321256957407217461738363552424248762436478085351810995749293238174081331905048144612700905541425702220302537611494824228765324577933778519818778697340282580912780674979058938062556856001076057705982166686824756037569615760497619819482052758118532729333127733603742149847001463931981340719681330844408263017545241644293372483217234561694263937855759294448662979095419227451801588425977869694026601427919655168415895923043115191751872713346095752634608254475988154162254952597853199039645883742199236387610395830948074365988397707849632252080920941206268114832425403540515474312327876180802357701527842702008781378306569508588571830140611098042683009530862797403015355464377406249853964481000402231771665700893607521804084523668568649103258862666293372472441435563520595461701042390500795615834505944837326652542467444364861499184275097485253621979537504128523848241127715641240965261646703516395599407360083455079665191393229410544185167999099787655424462558900874388405649169453726739312260234815543297842308646072190147948072928456725835039546121182133640777769925841807579051735838823112759622714067509669913645288281894558925612972425252452248453502562347348900936766966136332741088135837550717443838484760651019872222926016920811114616937143207743488504602012776364256746872315205952601072228970686460932435222754496341763535189105548847634608972381760403137363968.000000 ret=0 cc=1
diff --git a/none/tests/s390x/pfpo.vgtest b/none/tests/s390x/pfpo.vgtest
new file mode 100644
index 0000000..0f1f5b9
--- /dev/null
+++ b/none/tests/s390x/pfpo.vgtest
@@ -0,0 +1,2 @@
+prog: pfpo
+prereq: test -e pfpo && ../../../tests/s390x_features s390x-pfpo
diff --git a/none/tests/s390x/rounding-1.c b/none/tests/s390x/rounding-1.c
new file mode 100644
index 0000000..deb8071
--- /dev/null
+++ b/none/tests/s390x/rounding-1.c
@@ -0,0 +1,64 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <inttypes.h>
+
+/* This testcase is to illustrate that for convert to fixed the condition
+   code depends on the rounding mode. */
+
+const char *
+rtext(unsigned round)
+{
+   switch (round) {
+   case 0: return "[fpc]";
+   case 1: return "[->near/away]";
+      /* 2 is invalid */
+   case 3: return "[prep short]";
+   case 4: return "[->near/even]";
+   case 5: return "[->0]";
+   case 6: return "[->+inf]";
+   case 7: return "[->-inf]";
+   }
+   assert(0);
+}
+
+#define convert_to_int(opcode,src_type,dst_type,dst_fmt,round,value) \
+do { \
+   src_type src = value; \
+   dst_type dst;         \
+   unsigned cc;          \
+                         \
+   __asm__ volatile (opcode " %[dst]," #round ",%[src]\n\t"     \
+                     "ipm %[cc]\n\t"                  \
+                     "srl %[cc],28\n\t"               \
+                     : [dst] "=d"(dst), [cc] "=d"(cc) \
+                     : [src] "f"(src)                 \
+                     : "cc");                         \
+                                                      \
+   printf("%s %-20s %f\t-> %"dst_fmt"\tcc = %u\n",    \
+          opcode, rtext(round), src, dst, cc);        \
+} while (0)
+
+
+#define cfdbr(round,value) \
+        convert_to_int("cfdbr",double,int32_t,PRId32,round,value)
+
+int main(void)
+{
+   double dval;
+
+   dval = -2147483648.5;  // a < MN
+
+   // f64 -> i32
+
+   cfdbr(4, dval);  // round to nearest with ties to even
+   cfdbr(5, dval);  // round to zero
+   cfdbr(6, dval);  // round to +inf
+
+   /* The next invocation needs to give cc=3. It used to give cc=1 when
+      we were considering the to-be-converted value ONLY */
+   cfdbr(7, dval);  // round to -inf
+
+   return 0;
+}
diff --git a/none/tests/s390x/rounding-1.stderr.exp b/none/tests/s390x/rounding-1.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/rounding-1.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/rounding-1.stdout.exp b/none/tests/s390x/rounding-1.stdout.exp
new file mode 100644
index 0000000..98c3854
--- /dev/null
+++ b/none/tests/s390x/rounding-1.stdout.exp
@@ -0,0 +1,4 @@
+cfdbr [->near/even]        -2147483648.500000	-> -2147483648	cc = 1
+cfdbr [->0]                -2147483648.500000	-> -2147483648	cc = 1
+cfdbr [->+inf]             -2147483648.500000	-> -2147483648	cc = 1
+cfdbr [->-inf]             -2147483648.500000	-> -2147483648	cc = 3
diff --git a/none/tests/s390x/rounding-1.vgtest b/none/tests/s390x/rounding-1.vgtest
new file mode 100644
index 0000000..4c1e45b
--- /dev/null
+++ b/none/tests/s390x/rounding-1.vgtest
@@ -0,0 +1 @@
+prog: rounding-1
diff --git a/none/tests/s390x/rounding-2.c b/none/tests/s390x/rounding-2.c
new file mode 100644
index 0000000..ecc5a19
--- /dev/null
+++ b/none/tests/s390x/rounding-2.c
@@ -0,0 +1,41 @@
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "opcodes.h"
+
+/* Basic test that we can set the rounding mode in the FPC and
+   query it. Covers only generally available rounding modes. */
+
+void
+set_rounding_mode(unsigned mode)
+{
+   register unsigned r asm("1") = mode;
+   __asm__ volatile ( SFPC(1) : : "d"(r) );
+}
+
+unsigned
+get_rounding_mode(void)
+{
+   unsigned fpc;
+
+   __asm__ volatile ("stfpc  %0\n\t" : "=m"(fpc));
+
+   return fpc & 0x7;
+}
+
+
+int main(void)
+{
+   int i;
+   const unsigned rmodes[] = { 0, 1, 2, 3 };
+
+   printf("initial rounding mode: %u\n", get_rounding_mode());
+
+   for (i = 0; i < sizeof rmodes / sizeof rmodes[0]; ++i) {
+      printf("setting rounding mode to %u\n", rmodes[i]);
+      set_rounding_mode(rmodes[i]);
+      printf("...checking: %u\n", get_rounding_mode());
+   }
+
+   return 0;
+}
diff --git a/none/tests/s390x/rounding-2.stderr.exp b/none/tests/s390x/rounding-2.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/rounding-2.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/rounding-2.stdout.exp b/none/tests/s390x/rounding-2.stdout.exp
new file mode 100644
index 0000000..e0da369
--- /dev/null
+++ b/none/tests/s390x/rounding-2.stdout.exp
@@ -0,0 +1,9 @@
+initial rounding mode: 0
+setting rounding mode to 0
+...checking: 0
+setting rounding mode to 1
+...checking: 1
+setting rounding mode to 2
+...checking: 2
+setting rounding mode to 3
+...checking: 3
diff --git a/none/tests/s390x/rounding-2.vgtest b/none/tests/s390x/rounding-2.vgtest
new file mode 100644
index 0000000..c6e067d
--- /dev/null
+++ b/none/tests/s390x/rounding-2.vgtest
@@ -0,0 +1 @@
+prog: rounding-2
diff --git a/none/tests/s390x/rounding-3.c b/none/tests/s390x/rounding-3.c
new file mode 100644
index 0000000..8e4923c
--- /dev/null
+++ b/none/tests/s390x/rounding-3.c
@@ -0,0 +1,113 @@
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <inttypes.h>
+#include "opcodes.h"
+
+/* Test "convert to fixed"  with "per fpc" rounding.
+   Covers all generally available rounding modes.
+*/
+
+void
+set_rounding_mode(unsigned mode)
+{
+   register unsigned r asm("1") = mode;
+   __asm__ volatile ( SFPC(1) : : "d"(r) );
+}
+
+unsigned
+get_rounding_mode(void)
+{
+   unsigned fpc;
+
+   __asm__ volatile ("stfpc  %0\n\t" : "=m"(fpc));
+
+   return fpc & 0x7;
+}
+
+
+const char *
+rtext(unsigned fpc_round)
+{
+   switch (fpc_round) {
+   case 0: return "[-> near]";
+   case 1: return "[-> zero]";
+   case 2: return "[-> +inf]";
+   case 3: return "[-> -inf]";
+   }
+   assert(0);
+}
+
+#define convert_to_int(opcode,src_type,dst_type,dst_fmt,round,value) \
+do { \
+   src_type src = value; \
+   dst_type dst;         \
+   unsigned cc;          \
+                         \
+   __asm__ volatile (opcode " %[dst]," #round ",%[src]\n\t"     \
+                     "ipm %[cc]\n\t"                  \
+                     "srl %[cc],28\n\t"               \
+                     : [dst] "=d"(dst), [cc] "=d"(cc) \
+                     : [src] "f"(src)                 \
+                     : "cc");                         \
+                                                      \
+   printf("%s %f\t-> %"dst_fmt"\tcc = %u\n",    \
+          opcode, src, dst, cc);        \
+} while (0)
+
+
+#define cfebr(value) \
+        convert_to_int("cfebr",float,int32_t,PRId32,0,value)
+#define cfdbr(value) \
+        convert_to_int("cfdbr",double,int32_t,PRId32,0,value)
+#define cgebr(value) \
+        convert_to_int("cgebr",float,int64_t,PRId64,0,value)
+#define cgdbr(value) \
+        convert_to_int("cgdbr",double,int64_t,PRId64,0,value)
+
+int main(void)
+{
+   int i, j;
+   static const unsigned rmodes[] = { 0, 1, 2, 3 };
+   static const float fval[] = {
+      1.4f, 1.5f, 2.5f, 1.6f, -1.4f, -1.5f, -2.5f, -1.6f, 0.0f,
+   };
+   static const double dval[] = {
+      1.4, 1.5, 2.5, 1.6, -1.4, -1.5, -2.5, -1.6, 0.0,
+   };
+
+
+   for (i = 0; i < sizeof rmodes / sizeof rmodes[0]; ++i) {
+      printf("setting rounding mode to %s\n", rtext(rmodes[i]));
+      set_rounding_mode(rmodes[i]);
+      assert(get_rounding_mode() == rmodes[i]);
+
+      /* f32 -> i32 */
+      for (j = 0; j < sizeof fval / sizeof fval[0]; ++j) {
+         cfebr(fval[j]);
+         assert(get_rounding_mode() == rmodes[i]);
+      }
+
+      /* f32 -> i64 */
+      for (j = 0; j < sizeof fval / sizeof fval[0]; ++j) {
+         cgebr(fval[j]);
+         assert(get_rounding_mode() == rmodes[i]);
+      }
+
+      /* f64 -> i32 */
+      for (j = 0; j < sizeof dval / sizeof dval[0]; ++j) {
+         cfdbr(dval[j]);
+         assert(get_rounding_mode() == rmodes[i]);
+      }
+
+      /* f64 -> i64 */
+      for (j = 0; j < sizeof dval / sizeof dval[0]; ++j) {
+         cgdbr(dval[j]);
+         assert(get_rounding_mode() == rmodes[i]);
+      }
+
+   }
+
+   return 0;
+}
diff --git a/none/tests/s390x/rounding-3.stderr.exp b/none/tests/s390x/rounding-3.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/rounding-3.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/rounding-3.stdout.exp b/none/tests/s390x/rounding-3.stdout.exp
new file mode 100644
index 0000000..5b08525
--- /dev/null
+++ b/none/tests/s390x/rounding-3.stdout.exp
@@ -0,0 +1,148 @@
+setting rounding mode to [-> near]
+cfebr 1.400000	-> 1	cc = 2
+cfebr 1.500000	-> 2	cc = 2
+cfebr 2.500000	-> 2	cc = 2
+cfebr 1.600000	-> 2	cc = 2
+cfebr -1.400000	-> -1	cc = 1
+cfebr -1.500000	-> -2	cc = 1
+cfebr -2.500000	-> -2	cc = 1
+cfebr -1.600000	-> -2	cc = 1
+cfebr 0.000000	-> 0	cc = 0
+cgebr 1.400000	-> 1	cc = 2
+cgebr 1.500000	-> 2	cc = 2
+cgebr 2.500000	-> 2	cc = 2
+cgebr 1.600000	-> 2	cc = 2
+cgebr -1.400000	-> -1	cc = 1
+cgebr -1.500000	-> -2	cc = 1
+cgebr -2.500000	-> -2	cc = 1
+cgebr -1.600000	-> -2	cc = 1
+cgebr 0.000000	-> 0	cc = 0
+cfdbr 1.400000	-> 1	cc = 2
+cfdbr 1.500000	-> 2	cc = 2
+cfdbr 2.500000	-> 2	cc = 2
+cfdbr 1.600000	-> 2	cc = 2
+cfdbr -1.400000	-> -1	cc = 1
+cfdbr -1.500000	-> -2	cc = 1
+cfdbr -2.500000	-> -2	cc = 1
+cfdbr -1.600000	-> -2	cc = 1
+cfdbr 0.000000	-> 0	cc = 0
+cgdbr 1.400000	-> 1	cc = 2
+cgdbr 1.500000	-> 2	cc = 2
+cgdbr 2.500000	-> 2	cc = 2
+cgdbr 1.600000	-> 2	cc = 2
+cgdbr -1.400000	-> -1	cc = 1
+cgdbr -1.500000	-> -2	cc = 1
+cgdbr -2.500000	-> -2	cc = 1
+cgdbr -1.600000	-> -2	cc = 1
+cgdbr 0.000000	-> 0	cc = 0
+setting rounding mode to [-> zero]
+cfebr 1.400000	-> 1	cc = 2
+cfebr 1.500000	-> 1	cc = 2
+cfebr 2.500000	-> 2	cc = 2
+cfebr 1.600000	-> 1	cc = 2
+cfebr -1.400000	-> -1	cc = 1
+cfebr -1.500000	-> -1	cc = 1
+cfebr -2.500000	-> -2	cc = 1
+cfebr -1.600000	-> -1	cc = 1
+cfebr 0.000000	-> 0	cc = 0
+cgebr 1.400000	-> 1	cc = 2
+cgebr 1.500000	-> 1	cc = 2
+cgebr 2.500000	-> 2	cc = 2
+cgebr 1.600000	-> 1	cc = 2
+cgebr -1.400000	-> -1	cc = 1
+cgebr -1.500000	-> -1	cc = 1
+cgebr -2.500000	-> -2	cc = 1
+cgebr -1.600000	-> -1	cc = 1
+cgebr 0.000000	-> 0	cc = 0
+cfdbr 1.400000	-> 1	cc = 2
+cfdbr 1.500000	-> 1	cc = 2
+cfdbr 2.500000	-> 2	cc = 2
+cfdbr 1.600000	-> 1	cc = 2
+cfdbr -1.400000	-> -1	cc = 1
+cfdbr -1.500000	-> -1	cc = 1
+cfdbr -2.500000	-> -2	cc = 1
+cfdbr -1.600000	-> -1	cc = 1
+cfdbr 0.000000	-> 0	cc = 0
+cgdbr 1.400000	-> 1	cc = 2
+cgdbr 1.500000	-> 1	cc = 2
+cgdbr 2.500000	-> 2	cc = 2
+cgdbr 1.600000	-> 1	cc = 2
+cgdbr -1.400000	-> -1	cc = 1
+cgdbr -1.500000	-> -1	cc = 1
+cgdbr -2.500000	-> -2	cc = 1
+cgdbr -1.600000	-> -1	cc = 1
+cgdbr 0.000000	-> 0	cc = 0
+setting rounding mode to [-> +inf]
+cfebr 1.400000	-> 2	cc = 2
+cfebr 1.500000	-> 2	cc = 2
+cfebr 2.500000	-> 3	cc = 2
+cfebr 1.600000	-> 2	cc = 2
+cfebr -1.400000	-> -1	cc = 1
+cfebr -1.500000	-> -1	cc = 1
+cfebr -2.500000	-> -2	cc = 1
+cfebr -1.600000	-> -1	cc = 1
+cfebr 0.000000	-> 0	cc = 0
+cgebr 1.400000	-> 2	cc = 2
+cgebr 1.500000	-> 2	cc = 2
+cgebr 2.500000	-> 3	cc = 2
+cgebr 1.600000	-> 2	cc = 2
+cgebr -1.400000	-> -1	cc = 1
+cgebr -1.500000	-> -1	cc = 1
+cgebr -2.500000	-> -2	cc = 1
+cgebr -1.600000	-> -1	cc = 1
+cgebr 0.000000	-> 0	cc = 0
+cfdbr 1.400000	-> 2	cc = 2
+cfdbr 1.500000	-> 2	cc = 2
+cfdbr 2.500000	-> 3	cc = 2
+cfdbr 1.600000	-> 2	cc = 2
+cfdbr -1.400000	-> -1	cc = 1
+cfdbr -1.500000	-> -1	cc = 1
+cfdbr -2.500000	-> -2	cc = 1
+cfdbr -1.600000	-> -1	cc = 1
+cfdbr 0.000000	-> 0	cc = 0
+cgdbr 1.400000	-> 2	cc = 2
+cgdbr 1.500000	-> 2	cc = 2
+cgdbr 2.500000	-> 3	cc = 2
+cgdbr 1.600000	-> 2	cc = 2
+cgdbr -1.400000	-> -1	cc = 1
+cgdbr -1.500000	-> -1	cc = 1
+cgdbr -2.500000	-> -2	cc = 1
+cgdbr -1.600000	-> -1	cc = 1
+cgdbr 0.000000	-> 0	cc = 0
+setting rounding mode to [-> -inf]
+cfebr 1.400000	-> 1	cc = 2
+cfebr 1.500000	-> 1	cc = 2
+cfebr 2.500000	-> 2	cc = 2
+cfebr 1.600000	-> 1	cc = 2
+cfebr -1.400000	-> -2	cc = 1
+cfebr -1.500000	-> -2	cc = 1
+cfebr -2.500000	-> -3	cc = 1
+cfebr -1.600000	-> -2	cc = 1
+cfebr 0.000000	-> 0	cc = 0
+cgebr 1.400000	-> 1	cc = 2
+cgebr 1.500000	-> 1	cc = 2
+cgebr 2.500000	-> 2	cc = 2
+cgebr 1.600000	-> 1	cc = 2
+cgebr -1.400000	-> -2	cc = 1
+cgebr -1.500000	-> -2	cc = 1
+cgebr -2.500000	-> -3	cc = 1
+cgebr -1.600000	-> -2	cc = 1
+cgebr 0.000000	-> 0	cc = 0
+cfdbr 1.400000	-> 1	cc = 2
+cfdbr 1.500000	-> 1	cc = 2
+cfdbr 2.500000	-> 2	cc = 2
+cfdbr 1.600000	-> 1	cc = 2
+cfdbr -1.400000	-> -2	cc = 1
+cfdbr -1.500000	-> -2	cc = 1
+cfdbr -2.500000	-> -3	cc = 1
+cfdbr -1.600000	-> -2	cc = 1
+cfdbr 0.000000	-> 0	cc = 0
+cgdbr 1.400000	-> 1	cc = 2
+cgdbr 1.500000	-> 1	cc = 2
+cgdbr 2.500000	-> 2	cc = 2
+cgdbr 1.600000	-> 1	cc = 2
+cgdbr -1.400000	-> -2	cc = 1
+cgdbr -1.500000	-> -2	cc = 1
+cgdbr -2.500000	-> -3	cc = 1
+cgdbr -1.600000	-> -2	cc = 1
+cgdbr 0.000000	-> 0	cc = 0
diff --git a/none/tests/s390x/rounding-3.vgtest b/none/tests/s390x/rounding-3.vgtest
new file mode 100644
index 0000000..8168710
--- /dev/null
+++ b/none/tests/s390x/rounding-3.vgtest
@@ -0,0 +1 @@
+prog: rounding-3
diff --git a/none/tests/s390x/rounding-4.c b/none/tests/s390x/rounding-4.c
new file mode 100644
index 0000000..e0a3cb3
--- /dev/null
+++ b/none/tests/s390x/rounding-4.c
@@ -0,0 +1,75 @@
+#include <stdio.h>
+#include <assert.h>
+#include "opcodes.h"
+
+/* Test "load rounded" with universally available rounding modes.
+   Rounding mode is provided via FPC.
+   Also test "load lengthened" (which is independent of rounding modes). */
+
+volatile double d;
+volatile float f;
+
+const char *
+rtext(unsigned fpc_round)
+{
+   switch (fpc_round) {
+   case 0: return "[-> near]";
+   case 1: return "[-> zero]";
+   case 2: return "[-> +inf]";
+   case 3: return "[-> -inf]";
+   }
+   assert(0);
+}
+
+void
+set_rounding_mode(unsigned mode)
+{
+   printf("setting FPC rounding mode to %s\n", rtext(mode));
+   register unsigned r asm("1") = mode;
+   __asm__ volatile ( SFPC(1) : : "d"(r) );
+}
+
+
+void
+load_rounded(void)
+{
+   f = d;
+   printf("load rounded  d = %22.20g    f = %22.20g\n", d, f);
+}
+
+void
+load_lengthened(void)
+{
+   d = f;
+   printf("load lengthened  d = %22.20g    f = %22.20g\n", d, f);
+}
+
+/* Tests for load rounded and load lengthened */
+int main()
+{
+   d = 12345678.98765432E21;
+   set_rounding_mode(0);
+   load_rounded();
+   set_rounding_mode(1);
+   load_rounded();
+   set_rounding_mode(2);
+   load_rounded();
+   set_rounding_mode(3);
+   load_rounded();
+   printf("\n");
+
+   d = -12345678.98765432E21;
+   set_rounding_mode(0);
+   load_rounded();
+   set_rounding_mode(1);
+   load_rounded();
+   set_rounding_mode(2);
+   load_rounded();
+   set_rounding_mode(3);
+   load_rounded();
+   printf("\n");
+
+   load_lengthened();
+
+   return 0;
+}
diff --git a/none/tests/s390x/rounding-4.stderr.exp b/none/tests/s390x/rounding-4.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/rounding-4.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/rounding-4.stdout.exp b/none/tests/s390x/rounding-4.stdout.exp
new file mode 100644
index 0000000..a1e5d6e
--- /dev/null
+++ b/none/tests/s390x/rounding-4.stdout.exp
@@ -0,0 +1,19 @@
+setting FPC rounding mode to [-> near]
+load rounded  d = 1.2345678987654319598e+28    f = 1.234567915439125133e+28
+setting FPC rounding mode to [-> zero]
+load rounded  d = 1.2345678987654319598e+28    f = 1.2345677973799630613e+28
+setting FPC rounding mode to [-> +inf]
+load rounded  d = 1.2345678987654319598e+28    f = 1.234567915439125133e+28
+setting FPC rounding mode to [-> -inf]
+load rounded  d = 1.2345678987654319598e+28    f = 1.2345677973799630613e+28
+
+setting FPC rounding mode to [-> near]
+load rounded  d = -1.2345678987654319598e+28    f = -1.234567915439125133e+28
+setting FPC rounding mode to [-> zero]
+load rounded  d = -1.2345678987654319598e+28    f = -1.2345677973799630613e+28
+setting FPC rounding mode to [-> +inf]
+load rounded  d = -1.2345678987654319598e+28    f = -1.2345677973799630613e+28
+setting FPC rounding mode to [-> -inf]
+load rounded  d = -1.2345678987654319598e+28    f = -1.234567915439125133e+28
+
+load lengthened  d = -1.234567915439125133e+28    f = -1.234567915439125133e+28
diff --git a/none/tests/s390x/rounding-4.vgtest b/none/tests/s390x/rounding-4.vgtest
new file mode 100644
index 0000000..e264b57
--- /dev/null
+++ b/none/tests/s390x/rounding-4.vgtest
@@ -0,0 +1 @@
+prog: rounding-4
diff --git a/none/tests/s390x/rounding-5.c b/none/tests/s390x/rounding-5.c
new file mode 100644
index 0000000..e1eab40
--- /dev/null
+++ b/none/tests/s390x/rounding-5.c
@@ -0,0 +1,93 @@
+#include <stdio.h>
+#include <assert.h>
+#include <stdint.h>
+#include <inttypes.h>
+#include "opcodes.h"
+
+/* Test "convert from fixed" with universally available rounding modes.
+   Rounding mode is provided via FPC. */
+
+volatile int32_t i32;
+volatile int64_t i64;
+
+const char *
+rtext(unsigned fpc_round)
+{
+   switch (fpc_round) {
+   case 0: return "[-> near]";
+   case 1: return "[-> zero]";
+   case 2: return "[-> +inf]";
+   case 3: return "[-> -inf]";
+   }
+   assert(0);
+}
+
+void
+set_rounding_mode(unsigned mode)
+{
+   printf("setting FPC rounding mode to %s\n", rtext(mode));
+   register unsigned r asm("1") = mode;
+   __asm__ volatile ( SFPC(1) : : "d"(r) );
+}
+
+void cefbr(unsigned mode)
+{
+   set_rounding_mode(mode);
+
+   float out;
+
+   __asm__ volatile("cefbr %[r1],%[r2]" : [r1] "=f"(out) : [r2] "d"(i32));
+   printf("cefbr:  %"PRId32" -> %f\n", i32, out);
+}
+
+void cegbr(unsigned mode)
+{
+   set_rounding_mode(mode);
+
+   float out;
+
+   __asm__ volatile("cegbr %[r1],%[r2]" : [r1] "=f"(out) : [r2] "d"(i64));
+   printf("cegbr:  %"PRId64" -> %f\n", i64, out);
+}
+
+void cdgbr(unsigned mode)
+{
+   set_rounding_mode(mode);
+
+   double out;
+
+   __asm__ volatile("cdgbr %[r1],%[r2]" : [r1] "=f"(out) : [r2] "d"(i64));
+   printf("cegbr:  %"PRId64" -> %f\n", i64, out);
+}
+
+
+int main()
+{
+   int mode;
+
+   /* i32 -> f32 */
+   i32 = INT32_MAX;
+   for (mode = 0; mode <= 3; ++mode) cefbr(mode);
+   printf("\n");
+   i32 = INT32_MIN;
+   for (mode = 0; mode <= 3; ++mode) cefbr(mode);
+   printf("\n");
+
+   /* i64 -> f32 */
+   i64 = INT64_MAX;
+   for (mode = 0; mode <= 3; ++mode) cegbr(mode);
+   printf("\n");
+   i64 = INT64_MIN;
+   for (mode = 0; mode <= 3; ++mode) cegbr(mode);
+   printf("\n");
+
+   /* i64 -> f64 */
+   i64 = INT64_MAX;
+   for (mode = 0; mode <= 3; ++mode) cdgbr(mode);
+   printf("\n");
+   i64 = INT64_MIN;
+   for (mode = 0; mode <= 3; ++mode) cdgbr(mode);
+   printf("\n");
+
+   return 0;
+}
diff --git a/none/tests/s390x/rounding-5.stderr.exp b/none/tests/s390x/rounding-5.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/rounding-5.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/rounding-5.stdout.exp b/none/tests/s390x/rounding-5.stdout.exp
new file mode 100644
index 0000000..80e55f6
--- /dev/null
+++ b/none/tests/s390x/rounding-5.stdout.exp
@@ -0,0 +1,54 @@
+setting FPC rounding mode to [-> near]
+cefbr:  2147483647 -> 2147483648.000000
+setting FPC rounding mode to [-> zero]
+cefbr:  2147483647 -> 2147483520.000000
+setting FPC rounding mode to [-> +inf]
+cefbr:  2147483647 -> 2147483648.000000
+setting FPC rounding mode to [-> -inf]
+cefbr:  2147483647 -> 2147483520.000000
+
+setting FPC rounding mode to [-> near]
+cefbr:  -2147483648 -> -2147483648.000000
+setting FPC rounding mode to [-> zero]
+cefbr:  -2147483648 -> -2147483648.000000
+setting FPC rounding mode to [-> +inf]
+cefbr:  -2147483648 -> -2147483648.000000
+setting FPC rounding mode to [-> -inf]
+cefbr:  -2147483648 -> -2147483648.000000
+
+setting FPC rounding mode to [-> near]
+cegbr:  9223372036854775807 -> 9223372036854775808.000000
+setting FPC rounding mode to [-> zero]
+cegbr:  9223372036854775807 -> 9223371487098961920.000000
+setting FPC rounding mode to [-> +inf]
+cegbr:  9223372036854775807 -> 9223372036854775808.000000
+setting FPC rounding mode to [-> -inf]
+cegbr:  9223372036854775807 -> 9223371487098961920.000000
+
+setting FPC rounding mode to [-> near]
+cegbr:  -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> zero]
+cegbr:  -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> +inf]
+cegbr:  -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> -inf]
+cegbr:  -9223372036854775808 -> -9223372036854775808.000000
+
+setting FPC rounding mode to [-> near]
+cegbr:  9223372036854775807 -> 9223372036854775808.000000
+setting FPC rounding mode to [-> zero]
+cegbr:  9223372036854775807 -> 9223372036854774784.000000
+setting FPC rounding mode to [-> +inf]
+cegbr:  9223372036854775807 -> 9223372036854775808.000000
+setting FPC rounding mode to [-> -inf]
+cegbr:  9223372036854775807 -> 9223372036854774784.000000
+
+setting FPC rounding mode to [-> near]
+cegbr:  -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> zero]
+cegbr:  -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> +inf]
+cegbr:  -9223372036854775808 -> -9223372036854775808.000000
+setting FPC rounding mode to [-> -inf]
+cegbr:  -9223372036854775808 -> -9223372036854775808.000000
+
diff --git a/none/tests/s390x/rounding-5.vgtest b/none/tests/s390x/rounding-5.vgtest
new file mode 100644
index 0000000..51f3021
--- /dev/null
+++ b/none/tests/s390x/rounding-5.vgtest
@@ -0,0 +1 @@
+prog: rounding-5
diff --git a/none/tests/s390x/rounding-6.c b/none/tests/s390x/rounding-6.c
new file mode 100644
index 0000000..fb94411
--- /dev/null
+++ b/none/tests/s390x/rounding-6.c
@@ -0,0 +1,121 @@
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <inttypes.h>
+#include "opcodes.h"
+#include "rounding.h"
+
+/* Test "convert to fixed"  with rounding mode given in insn (m3 field)
+   Covers all generally available rounding modes that can be mapped to
+   IRRoundingMode. As a consequence m3=1 which is "round to nearest with
+   ties away from 0" is not tested here.
+*/
+
+const char *
+rtext(unsigned m3_round)
+{
+   switch (m3_round) {
+   case 0: return "[-> per fpc]";
+   case 1: return "[-> nearest away]";
+   case 3: return "[-> prepare short]";   // floating point extension fac needed
+   case 4: return "[-> nearest even]";
+   case 5: return "[-> 0]";
+   case 6: return "[-> +inf]";
+   case 7: return "[-> -inf]";
+   }
+   assert(0);
+}
+
+#define convert_to_int(opcode,src_type,dst_type,dst_fmt,round,value) \
+do { \
+   src_type src = value; \
+   dst_type dst;         \
+   unsigned cc;          \
+                         \
+   __asm__ volatile (opcode " %[dst]," #round ",%[src]\n\t"     \
+                     "ipm %[cc]\n\t"                  \
+                     "srl %[cc],28\n\t"               \
+                     : [dst] "=d"(dst), [cc] "=d"(cc) \
+                     : [src] "f"(src)                 \
+                     : "cc");                         \
+                                                      \
+   printf("%s %f\t-> %"dst_fmt"\tcc = %u  %s\n",    \
+          opcode, src, dst, cc, rtext(round));        \
+} while (0)
+
+
+#define cfebr(value, round) \
+        convert_to_int("cfebr",float,int32_t,PRId32,round,value)
+#define cfdbr(value, round) \
+        convert_to_int("cfdbr",double,int32_t,PRId32,round,value)
+#define cgebr(value, round) \
+        convert_to_int("cgebr",float,int64_t,PRId64,round,value)
+#define cgdbr(value, round) \
+        convert_to_int("cgdbr",double,int64_t,PRId64,round,value)
+
+void
+set_rounding_mode(unsigned mode)
+{
+   register unsigned r asm("1") = mode;
+   __asm__ volatile ( SFPC(1) : : "d"(r) );
+}
+
+
+int main(void)
+{
+   int j;
+   static const float fval[] = {
+      1.4f, 1.5f, 2.5f, 1.6f, -1.4f, -1.5f, -2.5f, -1.6f, 0.0f,
+   };
+   static const double dval[] = {
+      1.4, 1.5, 2.5, 1.6, -1.4, -1.5, -2.5, -1.6, 0.0,
+   };
+
+   /* Note when testing M3_NEAR need to set the FPC rounding mode
+      to something else. FPC rounding mode is NEAR by default.
+      Setting the FPC rounding mode to != NEAR is the only way to make
+      sure the M3 field is not ignored. */
+
+   /* f32 -> i32 */
+   for (j = 0; j < sizeof fval / sizeof fval[0]; ++j) {
+      set_rounding_mode(FPC_BFP_ROUND_ZERO);
+      cfebr(fval[j], M3_BFP_ROUND_NEAREST_EVEN);
+      set_rounding_mode(FPC_BFP_ROUND_NEAREST_EVEN);
+      cfebr(fval[j], M3_BFP_ROUND_ZERO);
+      cfebr(fval[j], M3_BFP_ROUND_POSINF);
+      cfebr(fval[j], M3_BFP_ROUND_NEGINF);
+   }
+
+   /* f32 -> i64 */
+   for (j = 0; j < sizeof fval / sizeof fval[0]; ++j) {
+      set_rounding_mode(FPC_BFP_ROUND_ZERO);
+      cgebr(fval[j], M3_BFP_ROUND_NEAREST_EVEN);
+      set_rounding_mode(FPC_BFP_ROUND_NEAREST_EVEN);
+      cgebr(fval[j], M3_BFP_ROUND_ZERO);
+      cgebr(fval[j], M3_BFP_ROUND_POSINF);
+      cgebr(fval[j], M3_BFP_ROUND_NEGINF);
+   }
+
+   /* f64 -> i32 */
+   for (j = 0; j < sizeof dval / sizeof dval[0]; ++j) {
+      set_rounding_mode(FPC_BFP_ROUND_ZERO);
+      cfdbr(dval[j], M3_BFP_ROUND_NEAREST_EVEN);
+      set_rounding_mode(FPC_BFP_ROUND_NEAREST_EVEN);
+      cfdbr(dval[j], M3_BFP_ROUND_ZERO);
+      cfdbr(dval[j], M3_BFP_ROUND_POSINF);
+      cfdbr(dval[j], M3_BFP_ROUND_NEGINF);
+   }
+
+   /* f64 -> i64 */
+   for (j = 0; j < sizeof dval / sizeof dval[0]; ++j) {
+      set_rounding_mode(FPC_BFP_ROUND_ZERO);
+      cgdbr(dval[j], M3_BFP_ROUND_NEAREST_EVEN);
+      set_rounding_mode(FPC_BFP_ROUND_NEAREST_EVEN);
+      cgdbr(dval[j], M3_BFP_ROUND_ZERO);
+      cgdbr(dval[j], M3_BFP_ROUND_POSINF);
+      cgdbr(dval[j], M3_BFP_ROUND_NEGINF);
+   }
+
+   return 0;
+}
diff --git a/none/tests/s390x/rounding-6.stderr.exp b/none/tests/s390x/rounding-6.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/rounding-6.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/rounding-6.stdout.exp b/none/tests/s390x/rounding-6.stdout.exp
new file mode 100644
index 0000000..4fbce8b
--- /dev/null
+++ b/none/tests/s390x/rounding-6.stdout.exp
@@ -0,0 +1,144 @@
+cfebr 1.400000	-> 1	cc = 2  [-> nearest even]
+cfebr 1.400000	-> 1	cc = 2  [-> 0]
+cfebr 1.400000	-> 2	cc = 2  [-> +inf]
+cfebr 1.400000	-> 1	cc = 2  [-> -inf]
+cfebr 1.500000	-> 2	cc = 2  [-> nearest even]
+cfebr 1.500000	-> 1	cc = 2  [-> 0]
+cfebr 1.500000	-> 2	cc = 2  [-> +inf]
+cfebr 1.500000	-> 1	cc = 2  [-> -inf]
+cfebr 2.500000	-> 2	cc = 2  [-> nearest even]
+cfebr 2.500000	-> 2	cc = 2  [-> 0]
+cfebr 2.500000	-> 3	cc = 2  [-> +inf]
+cfebr 2.500000	-> 2	cc = 2  [-> -inf]
+cfebr 1.600000	-> 2	cc = 2  [-> nearest even]
+cfebr 1.600000	-> 1	cc = 2  [-> 0]
+cfebr 1.600000	-> 2	cc = 2  [-> +inf]
+cfebr 1.600000	-> 1	cc = 2  [-> -inf]
+cfebr -1.400000	-> -1	cc = 1  [-> nearest even]
+cfebr -1.400000	-> -1	cc = 1  [-> 0]
+cfebr -1.400000	-> -1	cc = 1  [-> +inf]
+cfebr -1.400000	-> -2	cc = 1  [-> -inf]
+cfebr -1.500000	-> -2	cc = 1  [-> nearest even]
+cfebr -1.500000	-> -1	cc = 1  [-> 0]
+cfebr -1.500000	-> -1	cc = 1  [-> +inf]
+cfebr -1.500000	-> -2	cc = 1  [-> -inf]
+cfebr -2.500000	-> -2	cc = 1  [-> nearest even]
+cfebr -2.500000	-> -2	cc = 1  [-> 0]
+cfebr -2.500000	-> -2	cc = 1  [-> +inf]
+cfebr -2.500000	-> -3	cc = 1  [-> -inf]
+cfebr -1.600000	-> -2	cc = 1  [-> nearest even]
+cfebr -1.600000	-> -1	cc = 1  [-> 0]
+cfebr -1.600000	-> -1	cc = 1  [-> +inf]
+cfebr -1.600000	-> -2	cc = 1  [-> -inf]
+cfebr 0.000000	-> 0	cc = 0  [-> nearest even]
+cfebr 0.000000	-> 0	cc = 0  [-> 0]
+cfebr 0.000000	-> 0	cc = 0  [-> +inf]
+cfebr 0.000000	-> 0	cc = 0  [-> -inf]
+cgebr 1.400000	-> 1	cc = 2  [-> nearest even]
+cgebr 1.400000	-> 1	cc = 2  [-> 0]
+cgebr 1.400000	-> 2	cc = 2  [-> +inf]
+cgebr 1.400000	-> 1	cc = 2  [-> -inf]
+cgebr 1.500000	-> 2	cc = 2  [-> nearest even]
+cgebr 1.500000	-> 1	cc = 2  [-> 0]
+cgebr 1.500000	-> 2	cc = 2  [-> +inf]
+cgebr 1.500000	-> 1	cc = 2  [-> -inf]
+cgebr 2.500000	-> 2	cc = 2  [-> nearest even]
+cgebr 2.500000	-> 2	cc = 2  [-> 0]
+cgebr 2.500000	-> 3	cc = 2  [-> +inf]
+cgebr 2.500000	-> 2	cc = 2  [-> -inf]
+cgebr 1.600000	-> 2	cc = 2  [-> nearest even]
+cgebr 1.600000	-> 1	cc = 2  [-> 0]
+cgebr 1.600000	-> 2	cc = 2  [-> +inf]
+cgebr 1.600000	-> 1	cc = 2  [-> -inf]
+cgebr -1.400000	-> -1	cc = 1  [-> nearest even]
+cgebr -1.400000	-> -1	cc = 1  [-> 0]
+cgebr -1.400000	-> -1	cc = 1  [-> +inf]
+cgebr -1.400000	-> -2	cc = 1  [-> -inf]
+cgebr -1.500000	-> -2	cc = 1  [-> nearest even]
+cgebr -1.500000	-> -1	cc = 1  [-> 0]
+cgebr -1.500000	-> -1	cc = 1  [-> +inf]
+cgebr -1.500000	-> -2	cc = 1  [-> -inf]
+cgebr -2.500000	-> -2	cc = 1  [-> nearest even]
+cgebr -2.500000	-> -2	cc = 1  [-> 0]
+cgebr -2.500000	-> -2	cc = 1  [-> +inf]
+cgebr -2.500000	-> -3	cc = 1  [-> -inf]
+cgebr -1.600000	-> -2	cc = 1  [-> nearest even]
+cgebr -1.600000	-> -1	cc = 1  [-> 0]
+cgebr -1.600000	-> -1	cc = 1  [-> +inf]
+cgebr -1.600000	-> -2	cc = 1  [-> -inf]
+cgebr 0.000000	-> 0	cc = 0  [-> nearest even]
+cgebr 0.000000	-> 0	cc = 0  [-> 0]
+cgebr 0.000000	-> 0	cc = 0  [-> +inf]
+cgebr 0.000000	-> 0	cc = 0  [-> -inf]
+cfdbr 1.400000	-> 1	cc = 2  [-> nearest even]
+cfdbr 1.400000	-> 1	cc = 2  [-> 0]
+cfdbr 1.400000	-> 2	cc = 2  [-> +inf]
+cfdbr 1.400000	-> 1	cc = 2  [-> -inf]
+cfdbr 1.500000	-> 2	cc = 2  [-> nearest even]
+cfdbr 1.500000	-> 1	cc = 2  [-> 0]
+cfdbr 1.500000	-> 2	cc = 2  [-> +inf]
+cfdbr 1.500000	-> 1	cc = 2  [-> -inf]
+cfdbr 2.500000	-> 2	cc = 2  [-> nearest even]
+cfdbr 2.500000	-> 2	cc = 2  [-> 0]
+cfdbr 2.500000	-> 3	cc = 2  [-> +inf]
+cfdbr 2.500000	-> 2	cc = 2  [-> -inf]
+cfdbr 1.600000	-> 2	cc = 2  [-> nearest even]
+cfdbr 1.600000	-> 1	cc = 2  [-> 0]
+cfdbr 1.600000	-> 2	cc = 2  [-> +inf]
+cfdbr 1.600000	-> 1	cc = 2  [-> -inf]
+cfdbr -1.400000	-> -1	cc = 1  [-> nearest even]
+cfdbr -1.400000	-> -1	cc = 1  [-> 0]
+cfdbr -1.400000	-> -1	cc = 1  [-> +inf]
+cfdbr -1.400000	-> -2	cc = 1  [-> -inf]
+cfdbr -1.500000	-> -2	cc = 1  [-> nearest even]
+cfdbr -1.500000	-> -1	cc = 1  [-> 0]
+cfdbr -1.500000	-> -1	cc = 1  [-> +inf]
+cfdbr -1.500000	-> -2	cc = 1  [-> -inf]
+cfdbr -2.500000	-> -2	cc = 1  [-> nearest even]
+cfdbr -2.500000	-> -2	cc = 1  [-> 0]
+cfdbr -2.500000	-> -2	cc = 1  [-> +inf]
+cfdbr -2.500000	-> -3	cc = 1  [-> -inf]
+cfdbr -1.600000	-> -2	cc = 1  [-> nearest even]
+cfdbr -1.600000	-> -1	cc = 1  [-> 0]
+cfdbr -1.600000	-> -1	cc = 1  [-> +inf]
+cfdbr -1.600000	-> -2	cc = 1  [-> -inf]
+cfdbr 0.000000	-> 0	cc = 0  [-> nearest even]
+cfdbr 0.000000	-> 0	cc = 0  [-> 0]
+cfdbr 0.000000	-> 0	cc = 0  [-> +inf]
+cfdbr 0.000000	-> 0	cc = 0  [-> -inf]
+cgdbr 1.400000	-> 1	cc = 2  [-> nearest even]
+cgdbr 1.400000	-> 1	cc = 2  [-> 0]
+cgdbr 1.400000	-> 2	cc = 2  [-> +inf]
+cgdbr 1.400000	-> 1	cc = 2  [-> -inf]
+cgdbr 1.500000	-> 2	cc = 2  [-> nearest even]
+cgdbr 1.500000	-> 1	cc = 2  [-> 0]
+cgdbr 1.500000	-> 2	cc = 2  [-> +inf]
+cgdbr 1.500000	-> 1	cc = 2  [-> -inf]
+cgdbr 2.500000	-> 2	cc = 2  [-> nearest even]
+cgdbr 2.500000	-> 2	cc = 2  [-> 0]
+cgdbr 2.500000	-> 3	cc = 2  [-> +inf]
+cgdbr 2.500000	-> 2	cc = 2  [-> -inf]
+cgdbr 1.600000	-> 2	cc = 2  [-> nearest even]
+cgdbr 1.600000	-> 1	cc = 2  [-> 0]
+cgdbr 1.600000	-> 2	cc = 2  [-> +inf]
+cgdbr 1.600000	-> 1	cc = 2  [-> -inf]
+cgdbr -1.400000	-> -1	cc = 1  [-> nearest even]
+cgdbr -1.400000	-> -1	cc = 1  [-> 0]
+cgdbr -1.400000	-> -1	cc = 1  [-> +inf]
+cgdbr -1.400000	-> -2	cc = 1  [-> -inf]
+cgdbr -1.500000	-> -2	cc = 1  [-> nearest even]
+cgdbr -1.500000	-> -1	cc = 1  [-> 0]
+cgdbr -1.500000	-> -1	cc = 1  [-> +inf]
+cgdbr -1.500000	-> -2	cc = 1  [-> -inf]
+cgdbr -2.500000	-> -2	cc = 1  [-> nearest even]
+cgdbr -2.500000	-> -2	cc = 1  [-> 0]
+cgdbr -2.500000	-> -2	cc = 1  [-> +inf]
+cgdbr -2.500000	-> -3	cc = 1  [-> -inf]
+cgdbr -1.600000	-> -2	cc = 1  [-> nearest even]
+cgdbr -1.600000	-> -1	cc = 1  [-> 0]
+cgdbr -1.600000	-> -1	cc = 1  [-> +inf]
+cgdbr -1.600000	-> -2	cc = 1  [-> -inf]
+cgdbr 0.000000	-> 0	cc = 0  [-> nearest even]
+cgdbr 0.000000	-> 0	cc = 0  [-> 0]
+cgdbr 0.000000	-> 0	cc = 0  [-> +inf]
+cgdbr 0.000000	-> 0	cc = 0  [-> -inf]
diff --git a/none/tests/s390x/rounding-6.vgtest b/none/tests/s390x/rounding-6.vgtest
new file mode 100644
index 0000000..13baa31
--- /dev/null
+++ b/none/tests/s390x/rounding-6.vgtest
@@ -0,0 +1 @@
+prog: rounding-6
diff --git a/none/tests/s390x/rounding.h b/none/tests/s390x/rounding.h
new file mode 100644
index 0000000..0be1ee3
--- /dev/null
+++ b/none/tests/s390x/rounding.h
@@ -0,0 +1,44 @@
+#ifndef ROUNDING_H
+#define ROUNDING_H
+
+/* Macros, so the values can be used together with opcodes.h */
+
+/* ---------------------------------------------------------------- */
+/* BFP rounding mode as it is encoded in the m3 field of certain    */
+/* instructions (e.g. CFEBR)                                        */
+/* ---------------------------------------------------------------- */
+#define M3_BFP_ROUND_PER_FPC        0
+
+// Cannot be mapped to IRRoundingMode
+#define M3_BFP_ROUND_NEAREST_AWAY   1
+
+// 2 is not allowed
+
+// Needs floating point extension facility
+// Cannot be mapped to IRRoundingMode
+#define M3_BFP_ROUND_PREPARE_SHORT  3
+
+#define M3_BFP_ROUND_NEAREST_EVEN   4
+#define M3_BFP_ROUND_ZERO           5
+#define M3_BFP_ROUND_POSINF         6
+#define M3_BFP_ROUND_NEGINF         7
+
+
+/* ---------------------------------------------------------------- */
+/* BFP rounding mode as it is encoded in bits [29:31] of the FPC    */
+/* register. Only rounding modes 0..3 are universally supported.    */
+/* Others require additional hardware facilities.                   */
+/* ---------------------------------------------------------------- */
+#define FPC_BFP_ROUND_NEAREST_EVEN  0
+#define FPC_BFP_ROUND_ZERO          1
+#define FPC_BFP_ROUND_POSINF        2
+#define FPC_BFP_ROUND_NEGINF        3
+
+// 4,5,6 are not allowed
+
+// Needs floating point extension facility
+// Cannot be mapped to IRRoundingMode
+#define FPC_BFP_ROUND_PREPARE_SHORT 7
+
+
+#endif /* ROUNDING_H */
diff --git a/none/tests/s390x/spechelper-algr.c b/none/tests/s390x/spechelper-algr.c
new file mode 100644
index 0000000..441b6ef
--- /dev/null
+++ b/none/tests/s390x/spechelper-algr.c
@@ -0,0 +1,168 @@
+#include <stdio.h>
+
+#define branch(mask,_v1,_v2)                           \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned long b1 = _v1;                        \
+        unsigned long b2 = _v2;                        \
+        asm volatile(   "       algr %[b1],%[b2]\n\t"  \
+                 	"	brc " #mask " ,1f\n\t" \
+                        "       mvi %[taken],0\n\t"    \
+			"	j   0f\n\t"            \
+			"1:	mvi %[taken],1\n\t"    \
+			"0:	bcr 0,0 /* nop */\n\t" \
+             : [taken] "=Q" (taken), [b1] "+d"(b1)     \
+             : [b2] "d"(b2)                            \
+             : "cc");                                  \
+        taken;                                         \
+   })
+
+
+void
+algr_cc_0(void)
+{
+  unsigned long v1, v2;
+  int wrong, ok;
+
+  printf("Test #1  cc == 0\n");
+
+  v1 = v2 = 0;
+  wrong = ok = 0;
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++wrong; else ++ok;
+  if (branch(2,  v1, v2)) ++wrong; else ++ok;
+  if (branch(3,  v1, v2)) ++wrong; else ++ok;
+  if (branch(4,  v1, v2)) ++wrong; else ++ok;
+  if (branch(5,  v1, v2)) ++wrong; else ++ok;
+  if (branch(6,  v1, v2)) ++wrong; else ++ok;
+  if (branch(7,  v1, v2)) ++wrong; else ++ok;
+  if (branch(8,  v1, v2)) ++ok; else ++wrong;
+  if (branch(9,  v1, v2)) ++ok; else ++wrong;
+  if (branch(10, v1, v2)) ++ok; else ++wrong;
+  if (branch(11, v1, v2)) ++ok; else ++wrong;
+  if (branch(12, v1, v2)) ++ok; else ++wrong;
+  if (branch(13, v1, v2)) ++ok; else ++wrong;
+  if (branch(14, v1, v2)) ++ok; else ++wrong;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+algr_cc_1(void)
+{
+  unsigned long v1, v2;
+  int wrong, ok;
+
+  printf("Test #2  cc == 1\n");
+
+  v1 = v2 = 42;
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++wrong; else ++ok;
+  if (branch(2,  v1, v2)) ++wrong; else ++ok;
+  if (branch(3,  v1, v2)) ++wrong; else ++ok;
+  if (branch(4,  v1, v2)) ++ok; else ++wrong;
+  if (branch(5,  v1, v2)) ++ok; else ++wrong;
+  if (branch(6,  v1, v2)) ++ok; else ++wrong;
+  if (branch(7,  v1, v2)) ++ok; else ++wrong;
+  if (branch(8,  v1, v2)) ++wrong; else ++ok;
+  if (branch(9,  v1, v2)) ++wrong; else ++ok;
+  if (branch(10, v1, v2)) ++wrong; else ++ok;
+  if (branch(11, v1, v2)) ++wrong; else ++ok;
+  if (branch(12, v1, v2)) ++ok; else ++wrong;
+  if (branch(13, v1, v2)) ++ok; else ++wrong;
+  if (branch(14, v1, v2)) ++ok; else ++wrong;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+algr_cc_2(void)
+{
+  unsigned long v1, v2;
+  int wrong, ok;
+
+  printf("Test #3  cc == 2\n");
+
+  v1 = ~0ULL;
+  v2 = 1;
+
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++wrong; else ++ok;
+  if (branch(2,  v1, v2)) ++ok; else ++wrong;
+  if (branch(3,  v1, v2)) ++ok; else ++wrong;
+  if (branch(4,  v1, v2)) ++wrong; else ++ok;
+  if (branch(5,  v1, v2)) ++wrong; else ++ok;
+  if (branch(6,  v1, v2)) ++ok; else ++wrong;
+  if (branch(7,  v1, v2)) ++ok; else ++wrong;
+  if (branch(8,  v1, v2)) ++wrong; else ++ok;
+  if (branch(9,  v1, v2)) ++wrong; else ++ok;
+  if (branch(10, v1, v2)) ++ok; else ++wrong;
+  if (branch(11, v1, v2)) ++ok; else ++wrong;
+  if (branch(12, v1, v2)) ++wrong; else ++ok;
+  if (branch(13, v1, v2)) ++wrong; else ++ok;
+  if (branch(14, v1, v2)) ++ok; else ++wrong;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 /* || ok != 16 */)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+algr_cc_3(void)
+{
+  unsigned long v1, v2;
+  int wrong, ok;
+
+  printf("Test #4  cc == 3\n");
+
+  v1 = ~0ULL;
+  v2 = 100;
+
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++ok; else ++wrong;
+  if (branch(2,  v1, v2)) ++wrong; else ++ok;
+  if (branch(3,  v1, v2)) ++ok; else ++wrong;
+  if (branch(4,  v1, v2)) ++wrong; else ++ok;
+  if (branch(5,  v1, v2)) ++ok; else ++wrong;
+  if (branch(6,  v1, v2)) ++wrong; else ++ok;
+  if (branch(7,  v1, v2)) ++ok; else ++wrong;
+  if (branch(8,  v1, v2)) ++wrong; else ++ok;
+  if (branch(9,  v1, v2)) ++ok; else ++wrong;
+  if (branch(10, v1, v2)) ++wrong; else ++ok;
+  if (branch(11, v1, v2)) ++ok; else ++wrong;
+  if (branch(12, v1, v2)) ++wrong; else ++ok;
+  if (branch(13, v1, v2)) ++ok; else ++wrong;
+  if (branch(14, v1, v2)) ++wrong; else ++ok;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+int main()
+{
+  algr_cc_0();
+  algr_cc_1();
+  algr_cc_2();
+  algr_cc_3();
+
+  return 0;
+}
diff --git a/none/tests/s390x/spechelper-algr.stderr.exp b/none/tests/s390x/spechelper-algr.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-algr.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-algr.stdout.exp b/none/tests/s390x/spechelper-algr.stdout.exp
new file mode 100644
index 0000000..9784a86
--- /dev/null
+++ b/none/tests/s390x/spechelper-algr.stdout.exp
@@ -0,0 +1,8 @@
+Test #1  cc == 0
+OK
+Test #2  cc == 1
+OK
+Test #3  cc == 2
+OK
+Test #4  cc == 3
+OK
diff --git a/none/tests/s390x/spechelper-algr.vgtest b/none/tests/s390x/spechelper-algr.vgtest
new file mode 100644
index 0000000..2287b7f
--- /dev/null
+++ b/none/tests/s390x/spechelper-algr.vgtest
@@ -0,0 +1 @@
+prog: spechelper-algr
diff --git a/none/tests/s390x/spechelper-alr.c b/none/tests/s390x/spechelper-alr.c
new file mode 100644
index 0000000..0f1bff5
--- /dev/null
+++ b/none/tests/s390x/spechelper-alr.c
@@ -0,0 +1,168 @@
+#include <stdio.h>
+
+#define branch(mask,_v1,_v2)                           \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned b1 = _v1;                             \
+        unsigned b2 = _v2;                             \
+        asm volatile(   "       alr %[b1],%[b2]\n\t"   \
+                 	"	brc " #mask " ,1f\n\t" \
+                        "       mvi %[taken],0\n\t"    \
+			"	j   0f\n\t"            \
+			"1:	mvi %[taken],1\n\t"    \
+			"0:	bcr 0,0 /* nop */\n\t" \
+             : [taken] "=Q" (taken), [b1] "+d"(b1)     \
+             : [b2] "d"(b2)                            \
+             : "cc");                                  \
+        taken;                                         \
+   })
+
+
+void
+alr_cc_0(void)
+{
+  unsigned v1, v2;
+  int wrong, ok;
+
+  printf("Test #1  cc == 0\n");
+
+  v1 = v2 = 0;
+  wrong = ok = 0;
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++wrong; else ++ok;
+  if (branch(2,  v1, v2)) ++wrong; else ++ok;
+  if (branch(3,  v1, v2)) ++wrong; else ++ok;
+  if (branch(4,  v1, v2)) ++wrong; else ++ok;
+  if (branch(5,  v1, v2)) ++wrong; else ++ok;
+  if (branch(6,  v1, v2)) ++wrong; else ++ok;
+  if (branch(7,  v1, v2)) ++wrong; else ++ok;
+  if (branch(8,  v1, v2)) ++ok; else ++wrong;
+  if (branch(9,  v1, v2)) ++ok; else ++wrong;
+  if (branch(10, v1, v2)) ++ok; else ++wrong;
+  if (branch(11, v1, v2)) ++ok; else ++wrong;
+  if (branch(12, v1, v2)) ++ok; else ++wrong;
+  if (branch(13, v1, v2)) ++ok; else ++wrong;
+  if (branch(14, v1, v2)) ++ok; else ++wrong;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+alr_cc_1(void)
+{
+  unsigned v1, v2;
+  int wrong, ok;
+
+  printf("Test #2  cc == 1\n");
+
+  v1 = v2 = 42;
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++wrong; else ++ok;
+  if (branch(2,  v1, v2)) ++wrong; else ++ok;
+  if (branch(3,  v1, v2)) ++wrong; else ++ok;
+  if (branch(4,  v1, v2)) ++ok; else ++wrong;
+  if (branch(5,  v1, v2)) ++ok; else ++wrong;
+  if (branch(6,  v1, v2)) ++ok; else ++wrong;
+  if (branch(7,  v1, v2)) ++ok; else ++wrong;
+  if (branch(8,  v1, v2)) ++wrong; else ++ok;
+  if (branch(9,  v1, v2)) ++wrong; else ++ok;
+  if (branch(10, v1, v2)) ++wrong; else ++ok;
+  if (branch(11, v1, v2)) ++wrong; else ++ok;
+  if (branch(12, v1, v2)) ++ok; else ++wrong;
+  if (branch(13, v1, v2)) ++ok; else ++wrong;
+  if (branch(14, v1, v2)) ++ok; else ++wrong;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+alr_cc_2(void)
+{
+  unsigned v1, v2;
+  int wrong, ok;
+
+  printf("Test #3  cc == 2\n");
+
+  v1 = 0xFFFFFFFF;
+  v2 = 1;
+
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++wrong; else ++ok;
+  if (branch(2,  v1, v2)) ++ok; else ++wrong;
+  if (branch(3,  v1, v2)) ++ok; else ++wrong;
+  if (branch(4,  v1, v2)) ++wrong; else ++ok;
+  if (branch(5,  v1, v2)) ++wrong; else ++ok;
+  if (branch(6,  v1, v2)) ++ok; else ++wrong;
+  if (branch(7,  v1, v2)) ++ok; else ++wrong;
+  if (branch(8,  v1, v2)) ++wrong; else ++ok;
+  if (branch(9,  v1, v2)) ++wrong; else ++ok;
+  if (branch(10, v1, v2)) ++ok; else ++wrong;
+  if (branch(11, v1, v2)) ++ok; else ++wrong;
+  if (branch(12, v1, v2)) ++wrong; else ++ok;
+  if (branch(13, v1, v2)) ++wrong; else ++ok;
+  if (branch(14, v1, v2)) ++ok; else ++wrong;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 /* || ok != 16 */)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+alr_cc_3(void)
+{
+  unsigned v1, v2;
+  int wrong, ok;
+
+  printf("Test #4  cc == 3\n");
+
+  v1 = 0xFFFFFFFF;
+  v2 = 100;
+
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++ok; else ++wrong;
+  if (branch(2,  v1, v2)) ++wrong; else ++ok;
+  if (branch(3,  v1, v2)) ++ok; else ++wrong;
+  if (branch(4,  v1, v2)) ++wrong; else ++ok;
+  if (branch(5,  v1, v2)) ++ok; else ++wrong;
+  if (branch(6,  v1, v2)) ++wrong; else ++ok;
+  if (branch(7,  v1, v2)) ++ok; else ++wrong;
+  if (branch(8,  v1, v2)) ++wrong; else ++ok;
+  if (branch(9,  v1, v2)) ++ok; else ++wrong;
+  if (branch(10, v1, v2)) ++wrong; else ++ok;
+  if (branch(11, v1, v2)) ++ok; else ++wrong;
+  if (branch(12, v1, v2)) ++wrong; else ++ok;
+  if (branch(13, v1, v2)) ++ok; else ++wrong;
+  if (branch(14, v1, v2)) ++wrong; else ++ok;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+int main()
+{
+  alr_cc_0();
+  alr_cc_1();
+  alr_cc_2();
+  alr_cc_3();
+
+  return 0;
+}
diff --git a/none/tests/s390x/spechelper-alr.stderr.exp b/none/tests/s390x/spechelper-alr.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-alr.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-alr.stdout.exp b/none/tests/s390x/spechelper-alr.stdout.exp
new file mode 100644
index 0000000..9784a86
--- /dev/null
+++ b/none/tests/s390x/spechelper-alr.stdout.exp
@@ -0,0 +1,8 @@
+Test #1  cc == 0
+OK
+Test #2  cc == 1
+OK
+Test #3  cc == 2
+OK
+Test #4  cc == 3
+OK
diff --git a/none/tests/s390x/spechelper-alr.vgtest b/none/tests/s390x/spechelper-alr.vgtest
new file mode 100644
index 0000000..da9193b
--- /dev/null
+++ b/none/tests/s390x/spechelper-alr.vgtest
@@ -0,0 +1 @@
+prog: spechelper-alr
diff --git a/none/tests/s390x/spechelper-clr.c b/none/tests/s390x/spechelper-clr.c
new file mode 100644
index 0000000..3277fc7
--- /dev/null
+++ b/none/tests/s390x/spechelper-clr.c
@@ -0,0 +1,124 @@
+#include <stdio.h>
+
+#define branch(mask,_v1,_v2)                           \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned b1 = _v1, b2 = _v2;                   \
+        asm volatile("     clr  %[b1],%[b2]\n\t"       \
+                     "     brc " #mask " ,1f\n\t"      \
+                     "     mvi %[taken],0\n\t"         \
+                     "     j   0f\n\t"                 \
+                     "1:   mvi %[taken],1\n\t"         \
+                     "0:   bcr 0,0 /* nop */\n\t"      \
+             : [taken] "=Q" (taken)                    \
+             : [b1] "d"(b1), [b2] "d"(b2)              \
+             : "cc");                                  \
+        taken;                                         \
+   })
+
+void
+clr_1(void)
+{
+   int wrong, ok, v1, v2;
+
+   printf("Test #1  op1 == op2\n");
+
+   v1 = v2 = 42;
+   wrong = ok = 0;
+
+   if (branch(0,  v1, v2)) ++wrong; else ++ok;
+   if (branch(1,  v1, v2)) ++wrong; else ++ok;
+   if (branch(2,  v1, v2)) ++wrong; else ++ok;
+   if (branch(3,  v1, v2)) ++wrong; else ++ok;
+   if (branch(4,  v1, v2)) ++wrong; else ++ok;
+   if (branch(5,  v1, v2)) ++wrong; else ++ok;
+   if (branch(6,  v1, v2)) ++wrong; else ++ok;
+   if (branch(7,  v1, v2)) ++wrong; else ++ok;
+   if (branch(8,  v1, v2)) ++ok; else ++wrong;
+   if (branch(9,  v1, v2)) ++ok; else ++wrong;
+   if (branch(10, v1, v2)) ++ok; else ++wrong;
+   if (branch(11, v1, v2)) ++ok; else ++wrong;
+   if (branch(12, v1, v2)) ++ok; else ++wrong;
+   if (branch(13, v1, v2)) ++ok; else ++wrong;
+   if (branch(14, v1, v2)) ++ok; else ++wrong;
+   if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+   if (wrong != 0 || ok != 16)
+      printf("FAILED\n");
+   else
+      printf("OK\n");
+}
+
+void
+clr_2(void)
+{
+   int wrong, ok, v1, v2;
+
+   printf("Test #2  op1 > op2\n");
+   v1 = 100;
+   v2 = 99;
+   wrong = ok = 0;
+
+   if (branch(0,  v1, v2)) ++wrong; else ++ok;
+   if (branch(1,  v1, v2)) ++wrong; else ++ok;
+   if (branch(2,  v1, v2)) ++ok; else ++wrong;
+   if (branch(3,  v1, v2)) ++ok; else ++wrong;
+   if (branch(4,  v1, v2)) ++wrong; else ++ok;
+   if (branch(5,  v1, v2)) ++wrong; else ++ok;
+   if (branch(6,  v1, v2)) ++ok; else ++wrong;
+   if (branch(7,  v1, v2)) ++ok; else ++wrong;
+   if (branch(8,  v1, v2)) ++wrong; else ++ok;
+   if (branch(9,  v1, v2)) ++wrong; else ++ok;
+   if (branch(10, v1, v2)) ++ok; else ++wrong;
+   if (branch(11, v1, v2)) ++ok; else ++wrong;
+   if (branch(12, v1, v2)) ++wrong; else ++ok;
+   if (branch(13, v1, v2)) ++wrong; else ++ok;
+   if (branch(14, v1, v2)) ++ok; else ++wrong;
+   if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+   if (wrong != 0 || ok != 16)
+      printf("FAILED\n");
+   else
+      printf("OK\n");
+}
+
+void
+clr_3(void)
+{
+   int wrong, ok, v1, v2;
+
+   printf("Test #3  op1 < op2\n");
+   v1 = 7;
+   v2 = 10;
+   wrong = ok = 0;
+
+   if (branch(0,  v1, v2)) ++wrong; else ++ok;
+   if (branch(1,  v1, v2)) ++wrong; else ++ok;
+   if (branch(2,  v1, v2)) ++wrong; else ++ok;
+   if (branch(3,  v1, v2)) ++wrong; else ++ok;
+   if (branch(4,  v1, v2)) ++ok; else ++wrong;
+   if (branch(5,  v1, v2)) ++ok; else ++wrong;
+   if (branch(6,  v1, v2)) ++ok; else ++wrong;
+   if (branch(7,  v1, v2)) ++ok; else ++wrong;
+   if (branch(8,  v1, v2)) ++wrong; else ++ok;
+   if (branch(9,  v1, v2)) ++wrong; else ++ok;
+   if (branch(10, v1, v2)) ++wrong; else ++ok;
+   if (branch(11, v1, v2)) ++wrong; else ++ok;
+   if (branch(12, v1, v2)) ++ok; else ++wrong;
+   if (branch(13, v1, v2)) ++ok; else ++wrong;
+   if (branch(14, v1, v2)) ++ok; else ++wrong;
+   if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+   if (wrong != 0 || ok != 16)
+      printf("FAILED\n");
+   else
+      printf("OK\n");
+}
+
+int main()
+{
+   clr_1();
+   clr_2();
+   clr_3();
+   return 0;
+}
diff --git a/none/tests/s390x/spechelper-clr.stderr.exp b/none/tests/s390x/spechelper-clr.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-clr.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-clr.stdout.exp b/none/tests/s390x/spechelper-clr.stdout.exp
new file mode 100644
index 0000000..d6cd0fc
--- /dev/null
+++ b/none/tests/s390x/spechelper-clr.stdout.exp
@@ -0,0 +1,6 @@
+Test #1  op1 == op2
+OK
+Test #2  op1 > op2
+OK
+Test #3  op1 < op2
+OK
diff --git a/none/tests/s390x/spechelper-clr.vgtest b/none/tests/s390x/spechelper-clr.vgtest
new file mode 100644
index 0000000..5a51848
--- /dev/null
+++ b/none/tests/s390x/spechelper-clr.vgtest
@@ -0,0 +1 @@
+prog: spechelper-clr
diff --git a/none/tests/s390x/spechelper-cr.c b/none/tests/s390x/spechelper-cr.c
new file mode 100644
index 0000000..63efacd
--- /dev/null
+++ b/none/tests/s390x/spechelper-cr.c
@@ -0,0 +1,124 @@
+#include <stdio.h>
+
+#define branch(mask,_v1,_v2)                           \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned b1 = _v1, b2 = _v2;                   \
+        asm volatile(   "       cr  %[b1],%[b2]\n\t"   \
+                 	"	brc " #mask " ,1f\n\t" \
+                        "       mvi %[taken],0\n\t"    \
+			"	j   0f\n\t"            \
+			"1:	mvi %[taken],1\n\t"    \
+			"0:	bcr 0,0 /* nop */\n\t" \
+             : [taken] "=Q" (taken)                    \
+             : [b1] "d"(b1), [b2] "d"(b2)              \
+             : "cc");                                  \
+        taken;                                         \
+   })
+
+void
+cr_1(void)
+{
+  int wrong, ok, v1, v2;
+
+  printf("Test #1  op1 == op2\n");
+
+  v1 = v2 = 42;
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++wrong; else ++ok;
+  if (branch(2,  v1, v2)) ++wrong; else ++ok;
+  if (branch(3,  v1, v2)) ++wrong; else ++ok;
+  if (branch(4,  v1, v2)) ++wrong; else ++ok;
+  if (branch(5,  v1, v2)) ++wrong; else ++ok;
+  if (branch(6,  v1, v2)) ++wrong; else ++ok;
+  if (branch(7,  v1, v2)) ++wrong; else ++ok;
+  if (branch(8,  v1, v2)) ++ok; else ++wrong;
+  if (branch(9,  v1, v2)) ++ok; else ++wrong;
+  if (branch(10, v1, v2)) ++ok; else ++wrong;
+  if (branch(11, v1, v2)) ++ok; else ++wrong;
+  if (branch(12, v1, v2)) ++ok; else ++wrong;
+  if (branch(13, v1, v2)) ++ok; else ++wrong;
+  if (branch(14, v1, v2)) ++ok; else ++wrong;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+cr_2(void)
+{
+  int wrong, ok, v1, v2;
+
+  printf("Test #2  op1 > op2\n");
+  v1 = 100;
+  v2 = -10;
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++wrong; else ++ok;
+  if (branch(2,  v1, v2)) ++ok; else ++wrong;
+  if (branch(3,  v1, v2)) ++ok; else ++wrong;
+  if (branch(4,  v1, v2)) ++wrong; else ++ok;
+  if (branch(5,  v1, v2)) ++wrong; else ++ok;
+  if (branch(6,  v1, v2)) ++ok; else ++wrong;
+  if (branch(7,  v1, v2)) ++ok; else ++wrong;
+  if (branch(8,  v1, v2)) ++wrong; else ++ok;
+  if (branch(9,  v1, v2)) ++wrong; else ++ok;
+  if (branch(10, v1, v2)) ++ok; else ++wrong;
+  if (branch(11, v1, v2)) ++ok; else ++wrong;
+  if (branch(12, v1, v2)) ++wrong; else ++ok;
+  if (branch(13, v1, v2)) ++wrong; else ++ok;
+  if (branch(14, v1, v2)) ++ok; else ++wrong;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+cr_3(void)
+{
+  int wrong, ok, v1, v2;
+
+  printf("Test #3  op1 < op2\n");
+  v1 = -100;
+  v2 = -10;
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++wrong; else ++ok;
+  if (branch(2,  v1, v2)) ++wrong; else ++ok;
+  if (branch(3,  v1, v2)) ++wrong; else ++ok;
+  if (branch(4,  v1, v2)) ++ok; else ++wrong;
+  if (branch(5,  v1, v2)) ++ok; else ++wrong;
+  if (branch(6,  v1, v2)) ++ok; else ++wrong;
+  if (branch(7,  v1, v2)) ++ok; else ++wrong;
+  if (branch(8,  v1, v2)) ++wrong; else ++ok;
+  if (branch(9,  v1, v2)) ++wrong; else ++ok;
+  if (branch(10, v1, v2)) ++wrong; else ++ok;
+  if (branch(11, v1, v2)) ++wrong; else ++ok;
+  if (branch(12, v1, v2)) ++ok; else ++wrong;
+  if (branch(13, v1, v2)) ++ok; else ++wrong;
+  if (branch(14, v1, v2)) ++ok; else ++wrong;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+int main()
+{
+  cr_1();
+  cr_2();
+  cr_3();
+  return 0;
+}
diff --git a/none/tests/s390x/spechelper-cr.stderr.exp b/none/tests/s390x/spechelper-cr.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-cr.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-cr.stdout.exp b/none/tests/s390x/spechelper-cr.stdout.exp
new file mode 100644
index 0000000..d6cd0fc
--- /dev/null
+++ b/none/tests/s390x/spechelper-cr.stdout.exp
@@ -0,0 +1,6 @@
+Test #1  op1 == op2
+OK
+Test #2  op1 > op2
+OK
+Test #3  op1 < op2
+OK
diff --git a/none/tests/s390x/spechelper-cr.vgtest b/none/tests/s390x/spechelper-cr.vgtest
new file mode 100644
index 0000000..cc03468
--- /dev/null
+++ b/none/tests/s390x/spechelper-cr.vgtest
@@ -0,0 +1 @@
+prog: spechelper-cr
diff --git a/none/tests/s390x/spechelper-icm-1.c b/none/tests/s390x/spechelper-icm-1.c
new file mode 100644
index 0000000..78d202d
--- /dev/null
+++ b/none/tests/s390x/spechelper-icm-1.c
@@ -0,0 +1,761 @@
+#include <stdio.h>
+
+#define branch(mask,icmm,_v1)                          \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned b1 = _v1;                             \
+        asm volatile(	"	larl 1, 2f\n\t"        \
+			"	l 0, 0(1)\n\t"         \
+			"       icm 0," #icmm",%[b1]\n\t"     \
+                 	"	brc " #mask " ,1f\n\t" \
+                        "       mvi %[taken],0\n\t"    \
+			"	j   0f\n\t"            \
+			"1:	mvi %[taken],1\n\t"    \
+			"	j   0f\n\t"            \
+			"2:	.long 0\n\t"           \
+			"0:	bcr 0,0 /* nop */\n\t" \
+             : [taken] "=Q" (taken)                    \
+             : [b1] "Q"(b1)                            \
+             : "cc", "0","1");                         \
+        taken;                                         \
+   })
+
+void
+icm_mask_0(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #1  mask == 0, value == 0xFFFFFFFF  --> cc == 0\n");
+
+  v1 = 0xFFFFFFFF;
+  wrong = ok = 0;
+
+  if (branch(0,  0, v1)) ++wrong; else ++ok;
+  if (branch(1,  0, v1)) ++wrong; else ++ok;
+  if (branch(2,  0, v1)) ++wrong; else ++ok;
+  if (branch(3,  0, v1)) ++wrong; else ++ok;
+  if (branch(4,  0, v1)) ++wrong; else ++ok;
+  if (branch(5,  0, v1)) ++wrong; else ++ok;
+  if (branch(6,  0, v1)) ++wrong; else ++ok;
+  if (branch(7,  0, v1)) ++wrong; else ++ok;
+  if (branch(8,  0, v1)) ++ok; else ++wrong;
+  if (branch(9,  0, v1)) ++ok; else ++wrong;
+  if (branch(10, 0, v1)) ++ok; else ++wrong;
+  if (branch(11, 0, v1)) ++ok; else ++wrong;
+  if (branch(12, 0, v1)) ++ok; else ++wrong;
+  if (branch(13, 0, v1)) ++ok; else ++wrong;
+  if (branch(14, 0, v1)) ++ok; else ++wrong;
+  if (branch(15, 0, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+icm_value_0(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #2  mask == 0xF, value == 0  --> cc == 0\n");
+
+  v1 = 0;
+  wrong = ok = 0;
+
+  if (branch(0,  15, v1)) ++wrong; else ++ok;
+  if (branch(1,  15, v1)) ++wrong; else ++ok;
+  if (branch(2,  15, v1)) ++wrong; else ++ok;
+  if (branch(3,  15, v1)) ++wrong; else ++ok;
+  if (branch(4,  15, v1)) ++wrong; else ++ok;
+  if (branch(5,  15, v1)) ++wrong; else ++ok;
+  if (branch(6,  15, v1)) ++wrong; else ++ok;
+  if (branch(7,  15, v1)) ++wrong; else ++ok;
+  if (branch(8,  15, v1)) ++ok; else ++wrong;
+  if (branch(9,  15, v1)) ++ok; else ++wrong;
+  if (branch(10, 15, v1)) ++ok; else ++wrong;
+  if (branch(11, 15, v1)) ++ok; else ++wrong;
+  if (branch(12, 15, v1)) ++ok; else ++wrong;
+  if (branch(13, 15, v1)) ++ok; else ++wrong;
+  if (branch(14, 15, v1)) ++ok; else ++wrong;
+  if (branch(15, 15, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads one byte */
+void
+icm_one_byte_msb_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #3  load one byte, msb set  --> cc == 1\n");
+
+  v1 = 0x80000000;
+  wrong = ok = 0;
+
+  if (branch(0,  8, v1)) ++wrong; else ++ok;
+  if (branch(1,  8, v1)) ++wrong; else ++ok;
+  if (branch(2,  8, v1)) ++wrong; else ++ok;
+  if (branch(3,  8, v1)) ++wrong; else ++ok;
+  if (branch(4,  8, v1)) ++ok; else ++wrong;
+  if (branch(5,  8, v1)) ++ok; else ++wrong;
+  if (branch(6,  8, v1)) ++ok; else ++wrong;
+  if (branch(7,  8, v1)) ++ok; else ++wrong;
+  if (branch(8,  8, v1)) ++wrong; else ++ok;
+  if (branch(9,  8, v1)) ++wrong; else ++ok;
+  if (branch(10, 8, v1)) ++wrong; else ++ok;
+  if (branch(11, 8, v1)) ++wrong; else ++ok;
+  if (branch(12, 8, v1)) ++ok; else ++wrong;
+  if (branch(13, 8, v1)) ++ok; else ++wrong;
+  if (branch(14, 8, v1)) ++ok; else ++wrong;
+  if (branch(15, 8, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  4, v1)) ++wrong; else ++ok;
+  if (branch(1,  4, v1)) ++wrong; else ++ok;
+  if (branch(2,  4, v1)) ++wrong; else ++ok;
+  if (branch(3,  4, v1)) ++wrong; else ++ok;
+  if (branch(4,  4, v1)) ++ok; else ++wrong;
+  if (branch(5,  4, v1)) ++ok; else ++wrong;
+  if (branch(6,  4, v1)) ++ok; else ++wrong;
+  if (branch(7,  4, v1)) ++ok; else ++wrong;
+  if (branch(8,  4, v1)) ++wrong; else ++ok;
+  if (branch(9,  4, v1)) ++wrong; else ++ok;
+  if (branch(10, 4, v1)) ++wrong; else ++ok;
+  if (branch(11, 4, v1)) ++wrong; else ++ok;
+  if (branch(12, 4, v1)) ++ok; else ++wrong;
+  if (branch(13, 4, v1)) ++ok; else ++wrong;
+  if (branch(14, 4, v1)) ++ok; else ++wrong;
+  if (branch(15, 4, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  2, v1)) ++wrong; else ++ok;
+  if (branch(1,  2, v1)) ++wrong; else ++ok;
+  if (branch(2,  2, v1)) ++wrong; else ++ok;
+  if (branch(3,  2, v1)) ++wrong; else ++ok;
+  if (branch(4,  2, v1)) ++ok; else ++wrong;
+  if (branch(5,  2, v1)) ++ok; else ++wrong;
+  if (branch(6,  2, v1)) ++ok; else ++wrong;
+  if (branch(7,  2, v1)) ++ok; else ++wrong;
+  if (branch(8,  2, v1)) ++wrong; else ++ok;
+  if (branch(9,  2, v1)) ++wrong; else ++ok;
+  if (branch(10, 2, v1)) ++wrong; else ++ok;
+  if (branch(11, 2, v1)) ++wrong; else ++ok;
+  if (branch(12, 2, v1)) ++ok; else ++wrong;
+  if (branch(13, 2, v1)) ++ok; else ++wrong;
+  if (branch(14, 2, v1)) ++ok; else ++wrong;
+  if (branch(15, 2, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  1, v1)) ++wrong; else ++ok;
+  if (branch(1,  1, v1)) ++wrong; else ++ok;
+  if (branch(2,  1, v1)) ++wrong; else ++ok;
+  if (branch(3,  1, v1)) ++wrong; else ++ok;
+  if (branch(4,  1, v1)) ++ok; else ++wrong;
+  if (branch(5,  1, v1)) ++ok; else ++wrong;
+  if (branch(6,  1, v1)) ++ok; else ++wrong;
+  if (branch(7,  1, v1)) ++ok; else ++wrong;
+  if (branch(8,  1, v1)) ++wrong; else ++ok;
+  if (branch(9,  1, v1)) ++wrong; else ++ok;
+  if (branch(10, 1, v1)) ++wrong; else ++ok;
+  if (branch(11, 1, v1)) ++wrong; else ++ok;
+  if (branch(12, 1, v1)) ++ok; else ++wrong;
+  if (branch(13, 1, v1)) ++ok; else ++wrong;
+  if (branch(14, 1, v1)) ++ok; else ++wrong;
+  if (branch(15, 1, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 64)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads two bytes */
+void
+icm_two_bytes_msb_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #4  load two bytes, msb set  --> cc == 1\n");
+
+  v1 = 0x80000000;
+  wrong = ok = 0;
+
+  if (branch(0,  12, v1)) ++wrong; else ++ok;
+  if (branch(1,  12, v1)) ++wrong; else ++ok;
+  if (branch(2,  12, v1)) ++wrong; else ++ok;
+  if (branch(3,  12, v1)) ++wrong; else ++ok;
+  if (branch(4,  12, v1)) ++ok; else ++wrong;
+  if (branch(5,  12, v1)) ++ok; else ++wrong;
+  if (branch(6,  12, v1)) ++ok; else ++wrong;
+  if (branch(7,  12, v1)) ++ok; else ++wrong;
+  if (branch(8,  12, v1)) ++wrong; else ++ok;
+  if (branch(9,  12, v1)) ++wrong; else ++ok;
+  if (branch(10, 12, v1)) ++wrong; else ++ok;
+  if (branch(11, 12, v1)) ++wrong; else ++ok;
+  if (branch(12, 12, v1)) ++ok; else ++wrong;
+  if (branch(13, 12, v1)) ++ok; else ++wrong;
+  if (branch(14, 12, v1)) ++ok; else ++wrong;
+  if (branch(15, 12, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  10, v1)) ++wrong; else ++ok;
+  if (branch(1,  10, v1)) ++wrong; else ++ok;
+  if (branch(2,  10, v1)) ++wrong; else ++ok;
+  if (branch(3,  10, v1)) ++wrong; else ++ok;
+  if (branch(4,  10, v1)) ++ok; else ++wrong;
+  if (branch(5,  10, v1)) ++ok; else ++wrong;
+  if (branch(6,  10, v1)) ++ok; else ++wrong;
+  if (branch(7,  10, v1)) ++ok; else ++wrong;
+  if (branch(8,  10, v1)) ++wrong; else ++ok;
+  if (branch(9,  10, v1)) ++wrong; else ++ok;
+  if (branch(10, 10, v1)) ++wrong; else ++ok;
+  if (branch(11, 10, v1)) ++wrong; else ++ok;
+  if (branch(12, 10, v1)) ++ok; else ++wrong;
+  if (branch(13, 10, v1)) ++ok; else ++wrong;
+  if (branch(14, 10, v1)) ++ok; else ++wrong;
+  if (branch(15, 10, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   9, v1)) ++wrong; else ++ok;
+  if (branch(1,   9, v1)) ++wrong; else ++ok;
+  if (branch(2,   9, v1)) ++wrong; else ++ok;
+  if (branch(3,   9, v1)) ++wrong; else ++ok;
+  if (branch(4,   9, v1)) ++ok; else ++wrong;
+  if (branch(5,   9, v1)) ++ok; else ++wrong;
+  if (branch(6,   9, v1)) ++ok; else ++wrong;
+  if (branch(7,   9, v1)) ++ok; else ++wrong;
+  if (branch(8,   9, v1)) ++wrong; else ++ok;
+  if (branch(9,   9, v1)) ++wrong; else ++ok;
+  if (branch(10,  9, v1)) ++wrong; else ++ok;
+  if (branch(11,  9, v1)) ++wrong; else ++ok;
+  if (branch(12,  9, v1)) ++ok; else ++wrong;
+  if (branch(13,  9, v1)) ++ok; else ++wrong;
+  if (branch(14,  9, v1)) ++ok; else ++wrong;
+  if (branch(15,  9, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   6, v1)) ++wrong; else ++ok;
+  if (branch(1,   6, v1)) ++wrong; else ++ok;
+  if (branch(2,   6, v1)) ++wrong; else ++ok;
+  if (branch(3,   6, v1)) ++wrong; else ++ok;
+  if (branch(4,   6, v1)) ++ok; else ++wrong;
+  if (branch(5,   6, v1)) ++ok; else ++wrong;
+  if (branch(6,   6, v1)) ++ok; else ++wrong;
+  if (branch(7,   6, v1)) ++ok; else ++wrong;
+  if (branch(8,   6, v1)) ++wrong; else ++ok;
+  if (branch(9,   6, v1)) ++wrong; else ++ok;
+  if (branch(10,  6, v1)) ++wrong; else ++ok;
+  if (branch(11,  6, v1)) ++wrong; else ++ok;
+  if (branch(12,  6, v1)) ++ok; else ++wrong;
+  if (branch(13,  6, v1)) ++ok; else ++wrong;
+  if (branch(14,  6, v1)) ++ok; else ++wrong;
+  if (branch(15,  6, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   5, v1)) ++wrong; else ++ok;
+  if (branch(1,   5, v1)) ++wrong; else ++ok;
+  if (branch(2,   5, v1)) ++wrong; else ++ok;
+  if (branch(3,   5, v1)) ++wrong; else ++ok;
+  if (branch(4,   5, v1)) ++ok; else ++wrong;
+  if (branch(5,   5, v1)) ++ok; else ++wrong;
+  if (branch(6,   5, v1)) ++ok; else ++wrong;
+  if (branch(7,   5, v1)) ++ok; else ++wrong;
+  if (branch(8,   5, v1)) ++wrong; else ++ok;
+  if (branch(9,   5, v1)) ++wrong; else ++ok;
+  if (branch(10,  5, v1)) ++wrong; else ++ok;
+  if (branch(11,  5, v1)) ++wrong; else ++ok;
+  if (branch(12,  5, v1)) ++ok; else ++wrong;
+  if (branch(13,  5, v1)) ++ok; else ++wrong;
+  if (branch(14,  5, v1)) ++ok; else ++wrong;
+  if (branch(15,  5, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   3, v1)) ++wrong; else ++ok;
+  if (branch(1,   3, v1)) ++wrong; else ++ok;
+  if (branch(2,   3, v1)) ++wrong; else ++ok;
+  if (branch(3,   3, v1)) ++wrong; else ++ok;
+  if (branch(4,   3, v1)) ++ok; else ++wrong;
+  if (branch(5,   3, v1)) ++ok; else ++wrong;
+  if (branch(6,   3, v1)) ++ok; else ++wrong;
+  if (branch(7,   3, v1)) ++ok; else ++wrong;
+  if (branch(8,   3, v1)) ++wrong; else ++ok;
+  if (branch(9,   3, v1)) ++wrong; else ++ok;
+  if (branch(10,  3, v1)) ++wrong; else ++ok;
+  if (branch(11,  3, v1)) ++wrong; else ++ok;
+  if (branch(12,  3, v1)) ++ok; else ++wrong;
+  if (branch(13,  3, v1)) ++ok; else ++wrong;
+  if (branch(14,  3, v1)) ++ok; else ++wrong;
+  if (branch(15,  3, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 96)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads three bytes */
+void
+icm_three_bytes_msb_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #5  load three bytes, msb set  --> cc == 1\n");
+
+  v1 = 0x80000000;
+  wrong = ok = 0;
+
+  if (branch(0,  14, v1)) ++wrong; else ++ok;
+  if (branch(1,  14, v1)) ++wrong; else ++ok;
+  if (branch(2,  14, v1)) ++wrong; else ++ok;
+  if (branch(3,  14, v1)) ++wrong; else ++ok;
+  if (branch(4,  14, v1)) ++ok; else ++wrong;
+  if (branch(5,  14, v1)) ++ok; else ++wrong;
+  if (branch(6,  14, v1)) ++ok; else ++wrong;
+  if (branch(7,  14, v1)) ++ok; else ++wrong;
+  if (branch(8,  14, v1)) ++wrong; else ++ok;
+  if (branch(9,  14, v1)) ++wrong; else ++ok;
+  if (branch(10, 14, v1)) ++wrong; else ++ok;
+  if (branch(11, 14, v1)) ++wrong; else ++ok;
+  if (branch(12, 14, v1)) ++ok; else ++wrong;
+  if (branch(13, 14, v1)) ++ok; else ++wrong;
+  if (branch(14, 14, v1)) ++ok; else ++wrong;
+  if (branch(15, 14, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  13, v1)) ++wrong; else ++ok;
+  if (branch(1,  13, v1)) ++wrong; else ++ok;
+  if (branch(2,  13, v1)) ++wrong; else ++ok;
+  if (branch(3,  13, v1)) ++wrong; else ++ok;
+  if (branch(4,  13, v1)) ++ok; else ++wrong;
+  if (branch(5,  13, v1)) ++ok; else ++wrong;
+  if (branch(6,  13, v1)) ++ok; else ++wrong;
+  if (branch(7,  13, v1)) ++ok; else ++wrong;
+  if (branch(8,  13, v1)) ++wrong; else ++ok;
+  if (branch(9,  13, v1)) ++wrong; else ++ok;
+  if (branch(10, 13, v1)) ++wrong; else ++ok;
+  if (branch(11, 13, v1)) ++wrong; else ++ok;
+  if (branch(12, 13, v1)) ++ok; else ++wrong;
+  if (branch(13, 13, v1)) ++ok; else ++wrong;
+  if (branch(14, 13, v1)) ++ok; else ++wrong;
+  if (branch(15, 13, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  11, v1)) ++wrong; else ++ok;
+  if (branch(1,  11, v1)) ++wrong; else ++ok;
+  if (branch(2,  11, v1)) ++wrong; else ++ok;
+  if (branch(3,  11, v1)) ++wrong; else ++ok;
+  if (branch(4,  11, v1)) ++ok; else ++wrong;
+  if (branch(5,  11, v1)) ++ok; else ++wrong;
+  if (branch(6,  11, v1)) ++ok; else ++wrong;
+  if (branch(7,  11, v1)) ++ok; else ++wrong;
+  if (branch(8,  11, v1)) ++wrong; else ++ok;
+  if (branch(9,  11, v1)) ++wrong; else ++ok;
+  if (branch(10, 11, v1)) ++wrong; else ++ok;
+  if (branch(11, 11, v1)) ++wrong; else ++ok;
+  if (branch(12, 11, v1)) ++ok; else ++wrong;
+  if (branch(13, 11, v1)) ++ok; else ++wrong;
+  if (branch(14, 11, v1)) ++ok; else ++wrong;
+  if (branch(15, 11, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   7, v1)) ++wrong; else ++ok;
+  if (branch(1,   7, v1)) ++wrong; else ++ok;
+  if (branch(2,   7, v1)) ++wrong; else ++ok;
+  if (branch(3,   7, v1)) ++wrong; else ++ok;
+  if (branch(4,   7, v1)) ++ok; else ++wrong;
+  if (branch(5,   7, v1)) ++ok; else ++wrong;
+  if (branch(6,   7, v1)) ++ok; else ++wrong;
+  if (branch(7,   7, v1)) ++ok; else ++wrong;
+  if (branch(8,   7, v1)) ++wrong; else ++ok;
+  if (branch(9,   7, v1)) ++wrong; else ++ok;
+  if (branch(10,  7, v1)) ++wrong; else ++ok;
+  if (branch(11,  7, v1)) ++wrong; else ++ok;
+  if (branch(12,  7, v1)) ++ok; else ++wrong;
+  if (branch(13,  7, v1)) ++ok; else ++wrong;
+  if (branch(14,  7, v1)) ++ok; else ++wrong;
+  if (branch(15,  7, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 64)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads four bytes */
+void
+icm_four_bytes_msb_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #6  load four bytes, msb set  --> cc == 1\n");
+
+  v1 = 0x80000000;
+  wrong = ok = 0;
+
+  if (branch(0,  15, v1)) ++wrong; else ++ok;
+  if (branch(1,  15, v1)) ++wrong; else ++ok;
+  if (branch(2,  15, v1)) ++wrong; else ++ok;
+  if (branch(3,  15, v1)) ++wrong; else ++ok;
+  if (branch(4,  15, v1)) ++ok; else ++wrong;
+  if (branch(5,  15, v1)) ++ok; else ++wrong;
+  if (branch(6,  15, v1)) ++ok; else ++wrong;
+  if (branch(7,  15, v1)) ++ok; else ++wrong;
+  if (branch(8,  15, v1)) ++wrong; else ++ok;
+  if (branch(9,  15, v1)) ++wrong; else ++ok;
+  if (branch(10, 15, v1)) ++wrong; else ++ok;
+  if (branch(11, 15, v1)) ++wrong; else ++ok;
+  if (branch(12, 15, v1)) ++ok; else ++wrong;
+  if (branch(13, 15, v1)) ++ok; else ++wrong;
+  if (branch(14, 15, v1)) ++ok; else ++wrong;
+  if (branch(15, 15, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads one byte */
+void
+icm_one_byte_msb_not_set(void)
+{
+  int wrong, ok, v1;
+
+  printf("Test #7  load one byte, msb not set  --> cc == 2\n");
+
+  v1 = 0x7FFFFFFF;
+  wrong = ok = 0;
+
+  if (branch(0,  8, v1)) ++wrong; else ++ok;
+  if (branch(1,  8, v1)) ++wrong; else ++ok;
+  if (branch(2,  8, v1)) ++ok; else ++wrong;
+  if (branch(3,  8, v1)) ++ok; else ++wrong;
+  if (branch(4,  8, v1)) ++wrong; else ++ok;
+  if (branch(5,  8, v1)) ++wrong; else ++ok;
+  if (branch(6,  8, v1)) ++ok; else ++wrong;
+  if (branch(7,  8, v1)) ++ok; else ++wrong;
+  if (branch(8,  8, v1)) ++wrong; else ++ok;
+  if (branch(9,  8, v1)) ++wrong; else ++ok;
+  if (branch(10, 8, v1)) ++ok; else ++wrong;
+  if (branch(11, 8, v1)) ++ok; else ++wrong;
+  if (branch(12, 8, v1)) ++wrong; else ++ok;
+  if (branch(13, 8, v1)) ++wrong; else ++ok;
+  if (branch(14, 8, v1)) ++ok; else ++wrong;
+  if (branch(15, 8, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  4, v1)) ++wrong; else ++ok;
+  if (branch(1,  4, v1)) ++wrong; else ++ok;
+  if (branch(2,  4, v1)) ++ok; else ++wrong;
+  if (branch(3,  4, v1)) ++ok; else ++wrong;
+  if (branch(4,  4, v1)) ++wrong; else ++ok;
+  if (branch(5,  4, v1)) ++wrong; else ++ok;
+  if (branch(6,  4, v1)) ++ok; else ++wrong;
+  if (branch(7,  4, v1)) ++ok; else ++wrong;
+  if (branch(8,  4, v1)) ++wrong; else ++ok;
+  if (branch(9,  4, v1)) ++wrong; else ++ok;
+  if (branch(10, 4, v1)) ++ok; else ++wrong;
+  if (branch(11, 4, v1)) ++ok; else ++wrong;
+  if (branch(12, 4, v1)) ++wrong; else ++ok;
+  if (branch(13, 4, v1)) ++wrong; else ++ok;
+  if (branch(14, 4, v1)) ++ok; else ++wrong;
+  if (branch(15, 4, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  2, v1)) ++wrong; else ++ok;
+  if (branch(1,  2, v1)) ++wrong; else ++ok;
+  if (branch(2,  2, v1)) ++ok; else ++wrong;
+  if (branch(3,  2, v1)) ++ok; else ++wrong;
+  if (branch(4,  2, v1)) ++wrong; else ++ok;
+  if (branch(5,  2, v1)) ++wrong; else ++ok;
+  if (branch(6,  2, v1)) ++ok; else ++wrong;
+  if (branch(7,  2, v1)) ++ok; else ++wrong;
+  if (branch(8,  2, v1)) ++wrong; else ++ok;
+  if (branch(9,  2, v1)) ++wrong; else ++ok;
+  if (branch(10, 2, v1)) ++ok; else ++wrong;
+  if (branch(11, 2, v1)) ++ok; else ++wrong;
+  if (branch(12, 2, v1)) ++wrong; else ++ok;
+  if (branch(13, 2, v1)) ++wrong; else ++ok;
+  if (branch(14, 2, v1)) ++ok; else ++wrong;
+  if (branch(15, 2, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  1, v1)) ++wrong; else ++ok;
+  if (branch(1,  1, v1)) ++wrong; else ++ok;
+  if (branch(2,  1, v1)) ++ok; else ++wrong;
+  if (branch(3,  1, v1)) ++ok; else ++wrong;
+  if (branch(4,  1, v1)) ++wrong; else ++ok;
+  if (branch(5,  1, v1)) ++wrong; else ++ok;
+  if (branch(6,  1, v1)) ++ok; else ++wrong;
+  if (branch(7,  1, v1)) ++ok; else ++wrong;
+  if (branch(8,  1, v1)) ++wrong; else ++ok;
+  if (branch(9,  1, v1)) ++wrong; else ++ok;
+  if (branch(10, 1, v1)) ++ok; else ++wrong;
+  if (branch(11, 1, v1)) ++ok; else ++wrong;
+  if (branch(12, 1, v1)) ++wrong; else ++ok;
+  if (branch(13, 1, v1)) ++wrong; else ++ok;
+  if (branch(14, 1, v1)) ++ok; else ++wrong;
+  if (branch(15, 1, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 64)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads two bytes */
+void
+icm_two_bytes_msb_not_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #8  load two bytes, msb not set  --> cc == 2\n");
+
+  v1 = 0x7FFFFFFF;
+  wrong = ok = 0;
+
+  if (branch(0,  12, v1)) ++wrong; else ++ok;
+  if (branch(1,  12, v1)) ++wrong; else ++ok;
+  if (branch(2,  12, v1)) ++ok; else ++wrong;
+  if (branch(3,  12, v1)) ++ok; else ++wrong;
+  if (branch(4,  12, v1)) ++wrong; else ++ok;
+  if (branch(5,  12, v1)) ++wrong; else ++ok;
+  if (branch(6,  12, v1)) ++ok; else ++wrong;
+  if (branch(7,  12, v1)) ++ok; else ++wrong;
+  if (branch(8,  12, v1)) ++wrong; else ++ok;
+  if (branch(9,  12, v1)) ++wrong; else ++ok;
+  if (branch(10, 12, v1)) ++ok; else ++wrong;
+  if (branch(11, 12, v1)) ++ok; else ++wrong;
+  if (branch(12, 12, v1)) ++wrong; else ++ok;
+  if (branch(13, 12, v1)) ++wrong; else ++ok;
+  if (branch(14, 12, v1)) ++ok; else ++wrong;
+  if (branch(15, 12, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  10, v1)) ++wrong; else ++ok;
+  if (branch(1,  10, v1)) ++wrong; else ++ok;
+  if (branch(2,  10, v1)) ++ok; else ++wrong;
+  if (branch(3,  10, v1)) ++ok; else ++wrong;
+  if (branch(4,  10, v1)) ++wrong; else ++ok;
+  if (branch(5,  10, v1)) ++wrong; else ++ok;
+  if (branch(6,  10, v1)) ++ok; else ++wrong;
+  if (branch(7,  10, v1)) ++ok; else ++wrong;
+  if (branch(8,  10, v1)) ++wrong; else ++ok;
+  if (branch(9,  10, v1)) ++wrong; else ++ok;
+  if (branch(10, 10, v1)) ++ok; else ++wrong;
+  if (branch(11, 10, v1)) ++ok; else ++wrong;
+  if (branch(12, 10, v1)) ++wrong; else ++ok;
+  if (branch(13, 10, v1)) ++wrong; else ++ok;
+  if (branch(14, 10, v1)) ++ok; else ++wrong;
+  if (branch(15, 10, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   9, v1)) ++wrong; else ++ok;
+  if (branch(1,   9, v1)) ++wrong; else ++ok;
+  if (branch(2,   9, v1)) ++ok; else ++wrong;
+  if (branch(3,   9, v1)) ++ok; else ++wrong;
+  if (branch(4,   9, v1)) ++wrong; else ++ok;
+  if (branch(5,   9, v1)) ++wrong; else ++ok;
+  if (branch(6,   9, v1)) ++ok; else ++wrong;
+  if (branch(7,   9, v1)) ++ok; else ++wrong;
+  if (branch(8,   9, v1)) ++wrong; else ++ok;
+  if (branch(9,   9, v1)) ++wrong; else ++ok;
+  if (branch(10,  9, v1)) ++ok; else ++wrong;
+  if (branch(11,  9, v1)) ++ok; else ++wrong;
+  if (branch(12,  9, v1)) ++wrong; else ++ok;
+  if (branch(13,  9, v1)) ++wrong; else ++ok;
+  if (branch(14,  9, v1)) ++ok; else ++wrong;
+  if (branch(15,  9, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   6, v1)) ++wrong; else ++ok;
+  if (branch(1,   6, v1)) ++wrong; else ++ok;
+  if (branch(2,   6, v1)) ++ok; else ++wrong;
+  if (branch(3,   6, v1)) ++ok; else ++wrong;
+  if (branch(4,   6, v1)) ++wrong; else ++ok;
+  if (branch(5,   6, v1)) ++wrong; else ++ok;
+  if (branch(6,   6, v1)) ++ok; else ++wrong;
+  if (branch(7,   6, v1)) ++ok; else ++wrong;
+  if (branch(8,   6, v1)) ++wrong; else ++ok;
+  if (branch(9,   6, v1)) ++wrong; else ++ok;
+  if (branch(10,  6, v1)) ++ok; else ++wrong;
+  if (branch(11,  6, v1)) ++ok; else ++wrong;
+  if (branch(12,  6, v1)) ++wrong; else ++ok;
+  if (branch(13,  6, v1)) ++wrong; else ++ok;
+  if (branch(14,  6, v1)) ++ok; else ++wrong;
+  if (branch(15,  6, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   5, v1)) ++wrong; else ++ok;
+  if (branch(1,   5, v1)) ++wrong; else ++ok;
+  if (branch(2,   5, v1)) ++ok; else ++wrong;
+  if (branch(3,   5, v1)) ++ok; else ++wrong;
+  if (branch(4,   5, v1)) ++wrong; else ++ok;
+  if (branch(5,   5, v1)) ++wrong; else ++ok;
+  if (branch(6,   5, v1)) ++ok; else ++wrong;
+  if (branch(7,   5, v1)) ++ok; else ++wrong;
+  if (branch(8,   5, v1)) ++wrong; else ++ok;
+  if (branch(9,   5, v1)) ++wrong; else ++ok;
+  if (branch(10,  5, v1)) ++ok; else ++wrong;
+  if (branch(11,  5, v1)) ++ok; else ++wrong;
+  if (branch(12,  5, v1)) ++wrong; else ++ok;
+  if (branch(13,  5, v1)) ++wrong; else ++ok;
+  if (branch(14,  5, v1)) ++ok; else ++wrong;
+  if (branch(15,  5, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   3, v1)) ++wrong; else ++ok;
+  if (branch(1,   3, v1)) ++wrong; else ++ok;
+  if (branch(2,   3, v1)) ++ok; else ++wrong;
+  if (branch(3,   3, v1)) ++ok; else ++wrong;
+  if (branch(4,   3, v1)) ++wrong; else ++ok;
+  if (branch(5,   3, v1)) ++wrong; else ++ok;
+  if (branch(6,   3, v1)) ++ok; else ++wrong;
+  if (branch(7,   3, v1)) ++ok; else ++wrong;
+  if (branch(8,   3, v1)) ++wrong; else ++ok;
+  if (branch(9,   3, v1)) ++wrong; else ++ok;
+  if (branch(10,  3, v1)) ++ok; else ++wrong;
+  if (branch(11,  3, v1)) ++ok; else ++wrong;
+  if (branch(12,  3, v1)) ++wrong; else ++ok;
+  if (branch(13,  3, v1)) ++wrong; else ++ok;
+  if (branch(14,  3, v1)) ++ok; else ++wrong;
+  if (branch(15,  3, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 96)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+
+/* loads three bytes */
+void
+icm_three_bytes_msb_not_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #9  load three bytes, msb not set  --> cc == 2\n");
+
+  v1 = 0x7FFFFFFF;
+  wrong = ok = 0;
+
+  if (branch(0,  14, v1)) ++wrong; else ++ok;
+  if (branch(1,  14, v1)) ++wrong; else ++ok;
+  if (branch(2,  14, v1)) ++ok; else ++wrong;
+  if (branch(3,  14, v1)) ++ok; else ++wrong;
+  if (branch(4,  14, v1)) ++wrong; else ++ok;
+  if (branch(5,  14, v1)) ++wrong; else ++ok;
+  if (branch(6,  14, v1)) ++ok; else ++wrong;
+  if (branch(7,  14, v1)) ++ok; else ++wrong;
+  if (branch(8,  14, v1)) ++wrong; else ++ok;
+  if (branch(9,  14, v1)) ++wrong; else ++ok;
+  if (branch(10, 14, v1)) ++ok; else ++wrong;
+  if (branch(11, 14, v1)) ++ok; else ++wrong;
+  if (branch(12, 14, v1)) ++wrong; else ++ok;
+  if (branch(13, 14, v1)) ++wrong; else ++ok;
+  if (branch(14, 14, v1)) ++ok; else ++wrong;
+  if (branch(15, 14, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  13, v1)) ++wrong; else ++ok;
+  if (branch(1,  13, v1)) ++wrong; else ++ok;
+  if (branch(2,  13, v1)) ++ok; else ++wrong;
+  if (branch(3,  13, v1)) ++ok; else ++wrong;
+  if (branch(4,  13, v1)) ++wrong; else ++ok;
+  if (branch(5,  13, v1)) ++wrong; else ++ok;
+  if (branch(6,  13, v1)) ++ok; else ++wrong;
+  if (branch(7,  13, v1)) ++ok; else ++wrong;
+  if (branch(8,  13, v1)) ++wrong; else ++ok;
+  if (branch(9,  13, v1)) ++wrong; else ++ok;
+  if (branch(10, 13, v1)) ++ok; else ++wrong;
+  if (branch(11, 13, v1)) ++ok; else ++wrong;
+  if (branch(12, 13, v1)) ++wrong; else ++ok;
+  if (branch(13, 13, v1)) ++wrong; else ++ok;
+  if (branch(14, 13, v1)) ++ok; else ++wrong;
+  if (branch(15, 13, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  11, v1)) ++wrong; else ++ok;
+  if (branch(1,  11, v1)) ++wrong; else ++ok;
+  if (branch(2,  11, v1)) ++ok; else ++wrong;
+  if (branch(3,  11, v1)) ++ok; else ++wrong;
+  if (branch(4,  11, v1)) ++wrong; else ++ok;
+  if (branch(5,  11, v1)) ++wrong; else ++ok;
+  if (branch(6,  11, v1)) ++ok; else ++wrong;
+  if (branch(7,  11, v1)) ++ok; else ++wrong;
+  if (branch(8,  11, v1)) ++wrong; else ++ok;
+  if (branch(9,  11, v1)) ++wrong; else ++ok;
+  if (branch(10, 11, v1)) ++ok; else ++wrong;
+  if (branch(11, 11, v1)) ++ok; else ++wrong;
+  if (branch(12, 11, v1)) ++wrong; else ++ok;
+  if (branch(13, 11, v1)) ++wrong; else ++ok;
+  if (branch(14, 11, v1)) ++ok; else ++wrong;
+  if (branch(15, 11, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   7, v1)) ++wrong; else ++ok;
+  if (branch(1,   7, v1)) ++wrong; else ++ok;
+  if (branch(2,   7, v1)) ++ok; else ++wrong;
+  if (branch(3,   7, v1)) ++ok; else ++wrong;
+  if (branch(4,   7, v1)) ++wrong; else ++ok;
+  if (branch(5,   7, v1)) ++wrong; else ++ok;
+  if (branch(6,   7, v1)) ++ok; else ++wrong;
+  if (branch(7,   7, v1)) ++ok; else ++wrong;
+  if (branch(8,   7, v1)) ++wrong; else ++ok;
+  if (branch(9,   7, v1)) ++wrong; else ++ok;
+  if (branch(10,  7, v1)) ++ok; else ++wrong;
+  if (branch(11,  7, v1)) ++ok; else ++wrong;
+  if (branch(12,  7, v1)) ++wrong; else ++ok;
+  if (branch(13,  7, v1)) ++wrong; else ++ok;
+  if (branch(14,  7, v1)) ++ok; else ++wrong;
+  if (branch(15,  7, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 64)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads four bytes */
+void
+icm_four_bytes_msb_not_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #10  load four bytes, msb not set  --> cc == 2\n");
+
+  v1 = 0x7FFFFFFF;
+  wrong = ok = 0;
+
+  if (branch(0,  15, v1)) ++wrong; else ++ok;
+  if (branch(1,  15, v1)) ++wrong; else ++ok;
+  if (branch(2,  15, v1)) ++ok; else ++wrong;
+  if (branch(3,  15, v1)) ++ok; else ++wrong;
+  if (branch(4,  15, v1)) ++wrong; else ++ok;
+  if (branch(5,  15, v1)) ++wrong; else ++ok;
+  if (branch(6,  15, v1)) ++ok; else ++wrong;
+  if (branch(7,  15, v1)) ++ok; else ++wrong;
+  if (branch(8,  15, v1)) ++wrong; else ++ok;
+  if (branch(9,  15, v1)) ++wrong; else ++ok;
+  if (branch(10, 15, v1)) ++ok; else ++wrong;
+  if (branch(11, 15, v1)) ++ok; else ++wrong;
+  if (branch(12, 15, v1)) ++wrong; else ++ok;
+  if (branch(13, 15, v1)) ++wrong; else ++ok;
+  if (branch(14, 15, v1)) ++ok; else ++wrong;
+  if (branch(15, 15, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+int main()
+{
+  icm_mask_0();
+  icm_value_0();
+
+  icm_one_byte_msb_set();
+  icm_two_bytes_msb_set();
+  icm_three_bytes_msb_set();
+  icm_four_bytes_msb_set();
+
+  icm_one_byte_msb_not_set();
+  icm_two_bytes_msb_not_set();
+  icm_three_bytes_msb_not_set();
+  icm_four_bytes_msb_not_set();
+
+  return 0;
+}
diff --git a/none/tests/s390x/spechelper-icm-1.stderr.exp b/none/tests/s390x/spechelper-icm-1.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-icm-1.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-icm-1.stdout.exp b/none/tests/s390x/spechelper-icm-1.stdout.exp
new file mode 100644
index 0000000..65dcbc4
--- /dev/null
+++ b/none/tests/s390x/spechelper-icm-1.stdout.exp
@@ -0,0 +1,20 @@
+Test #1  mask == 0, value == 0xFFFFFFFF  --> cc == 0
+OK
+Test #2  mask == 0xF, value == 0  --> cc == 0
+OK
+Test #3  load one byte, msb set  --> cc == 1
+OK
+Test #4  load two bytes, msb set  --> cc == 1
+OK
+Test #5  load three bytes, msb set  --> cc == 1
+OK
+Test #6  load four bytes, msb set  --> cc == 1
+OK
+Test #7  load one byte, msb not set  --> cc == 2
+OK
+Test #8  load two bytes, msb not set  --> cc == 2
+OK
+Test #9  load three bytes, msb not set  --> cc == 2
+OK
+Test #10  load four bytes, msb not set  --> cc == 2
+OK
diff --git a/none/tests/s390x/spechelper-icm-1.vgtest b/none/tests/s390x/spechelper-icm-1.vgtest
new file mode 100644
index 0000000..38b54bb
--- /dev/null
+++ b/none/tests/s390x/spechelper-icm-1.vgtest
@@ -0,0 +1 @@
+prog: spechelper-icm-1
diff --git a/none/tests/s390x/spechelper-icm-2.c b/none/tests/s390x/spechelper-icm-2.c
new file mode 100644
index 0000000..e0554f7
--- /dev/null
+++ b/none/tests/s390x/spechelper-icm-2.c
@@ -0,0 +1,761 @@
+#include <stdio.h>
+
+#define branch(mask,icmm,_v1)                          \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned b1 = _v1;                             \
+        asm volatile(	"	larl 1, 2f\n\t"        \
+			"	l 0, 0(1)\n\t"         \
+			"       icm 0," #icmm",%[b1]\n\t"     \
+                 	"	brc " #mask " ,1f\n\t" \
+                        "       mvi %[taken],0\n\t"    \
+			"	j   0f\n\t"            \
+			"1:	mvi %[taken],1\n\t"    \
+			"	j   0f\n\t"            \
+			"2:	.long 0xffffffff\n\t"  \
+			"0:	bcr 0,0 /* nop */\n\t" \
+             : [taken] "=Q" (taken)                    \
+             : [b1] "Q"(b1)                            \
+             : "cc", "0","1");                         \
+        taken;                                         \
+   })
+
+void
+icm_mask_0(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #1  mask == 0, value == 0xFFFFFFFF  --> cc == 0\n");
+
+  v1 = 0xFFFFFFFF;
+  wrong = ok = 0;
+
+  if (branch(0,  0, v1)) ++wrong; else ++ok;
+  if (branch(1,  0, v1)) ++wrong; else ++ok;
+  if (branch(2,  0, v1)) ++wrong; else ++ok;
+  if (branch(3,  0, v1)) ++wrong; else ++ok;
+  if (branch(4,  0, v1)) ++wrong; else ++ok;
+  if (branch(5,  0, v1)) ++wrong; else ++ok;
+  if (branch(6,  0, v1)) ++wrong; else ++ok;
+  if (branch(7,  0, v1)) ++wrong; else ++ok;
+  if (branch(8,  0, v1)) ++ok; else ++wrong;
+  if (branch(9,  0, v1)) ++ok; else ++wrong;
+  if (branch(10, 0, v1)) ++ok; else ++wrong;
+  if (branch(11, 0, v1)) ++ok; else ++wrong;
+  if (branch(12, 0, v1)) ++ok; else ++wrong;
+  if (branch(13, 0, v1)) ++ok; else ++wrong;
+  if (branch(14, 0, v1)) ++ok; else ++wrong;
+  if (branch(15, 0, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+icm_value_0(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #2  mask == 0xF, value == 0  --> cc == 0\n");
+
+  v1 = 0;
+  wrong = ok = 0;
+
+  if (branch(0,  15, v1)) ++wrong; else ++ok;
+  if (branch(1,  15, v1)) ++wrong; else ++ok;
+  if (branch(2,  15, v1)) ++wrong; else ++ok;
+  if (branch(3,  15, v1)) ++wrong; else ++ok;
+  if (branch(4,  15, v1)) ++wrong; else ++ok;
+  if (branch(5,  15, v1)) ++wrong; else ++ok;
+  if (branch(6,  15, v1)) ++wrong; else ++ok;
+  if (branch(7,  15, v1)) ++wrong; else ++ok;
+  if (branch(8,  15, v1)) ++ok; else ++wrong;
+  if (branch(9,  15, v1)) ++ok; else ++wrong;
+  if (branch(10, 15, v1)) ++ok; else ++wrong;
+  if (branch(11, 15, v1)) ++ok; else ++wrong;
+  if (branch(12, 15, v1)) ++ok; else ++wrong;
+  if (branch(13, 15, v1)) ++ok; else ++wrong;
+  if (branch(14, 15, v1)) ++ok; else ++wrong;
+  if (branch(15, 15, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads one byte */
+void
+icm_one_byte_msb_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #3  load one byte, msb set  --> cc == 1\n");
+
+  v1 = 0x80000000;
+  wrong = ok = 0;
+
+  if (branch(0,  8, v1)) ++wrong; else ++ok;
+  if (branch(1,  8, v1)) ++wrong; else ++ok;
+  if (branch(2,  8, v1)) ++wrong; else ++ok;
+  if (branch(3,  8, v1)) ++wrong; else ++ok;
+  if (branch(4,  8, v1)) ++ok; else ++wrong;
+  if (branch(5,  8, v1)) ++ok; else ++wrong;
+  if (branch(6,  8, v1)) ++ok; else ++wrong;
+  if (branch(7,  8, v1)) ++ok; else ++wrong;
+  if (branch(8,  8, v1)) ++wrong; else ++ok;
+  if (branch(9,  8, v1)) ++wrong; else ++ok;
+  if (branch(10, 8, v1)) ++wrong; else ++ok;
+  if (branch(11, 8, v1)) ++wrong; else ++ok;
+  if (branch(12, 8, v1)) ++ok; else ++wrong;
+  if (branch(13, 8, v1)) ++ok; else ++wrong;
+  if (branch(14, 8, v1)) ++ok; else ++wrong;
+  if (branch(15, 8, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  4, v1)) ++wrong; else ++ok;
+  if (branch(1,  4, v1)) ++wrong; else ++ok;
+  if (branch(2,  4, v1)) ++wrong; else ++ok;
+  if (branch(3,  4, v1)) ++wrong; else ++ok;
+  if (branch(4,  4, v1)) ++ok; else ++wrong;
+  if (branch(5,  4, v1)) ++ok; else ++wrong;
+  if (branch(6,  4, v1)) ++ok; else ++wrong;
+  if (branch(7,  4, v1)) ++ok; else ++wrong;
+  if (branch(8,  4, v1)) ++wrong; else ++ok;
+  if (branch(9,  4, v1)) ++wrong; else ++ok;
+  if (branch(10, 4, v1)) ++wrong; else ++ok;
+  if (branch(11, 4, v1)) ++wrong; else ++ok;
+  if (branch(12, 4, v1)) ++ok; else ++wrong;
+  if (branch(13, 4, v1)) ++ok; else ++wrong;
+  if (branch(14, 4, v1)) ++ok; else ++wrong;
+  if (branch(15, 4, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  2, v1)) ++wrong; else ++ok;
+  if (branch(1,  2, v1)) ++wrong; else ++ok;
+  if (branch(2,  2, v1)) ++wrong; else ++ok;
+  if (branch(3,  2, v1)) ++wrong; else ++ok;
+  if (branch(4,  2, v1)) ++ok; else ++wrong;
+  if (branch(5,  2, v1)) ++ok; else ++wrong;
+  if (branch(6,  2, v1)) ++ok; else ++wrong;
+  if (branch(7,  2, v1)) ++ok; else ++wrong;
+  if (branch(8,  2, v1)) ++wrong; else ++ok;
+  if (branch(9,  2, v1)) ++wrong; else ++ok;
+  if (branch(10, 2, v1)) ++wrong; else ++ok;
+  if (branch(11, 2, v1)) ++wrong; else ++ok;
+  if (branch(12, 2, v1)) ++ok; else ++wrong;
+  if (branch(13, 2, v1)) ++ok; else ++wrong;
+  if (branch(14, 2, v1)) ++ok; else ++wrong;
+  if (branch(15, 2, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  1, v1)) ++wrong; else ++ok;
+  if (branch(1,  1, v1)) ++wrong; else ++ok;
+  if (branch(2,  1, v1)) ++wrong; else ++ok;
+  if (branch(3,  1, v1)) ++wrong; else ++ok;
+  if (branch(4,  1, v1)) ++ok; else ++wrong;
+  if (branch(5,  1, v1)) ++ok; else ++wrong;
+  if (branch(6,  1, v1)) ++ok; else ++wrong;
+  if (branch(7,  1, v1)) ++ok; else ++wrong;
+  if (branch(8,  1, v1)) ++wrong; else ++ok;
+  if (branch(9,  1, v1)) ++wrong; else ++ok;
+  if (branch(10, 1, v1)) ++wrong; else ++ok;
+  if (branch(11, 1, v1)) ++wrong; else ++ok;
+  if (branch(12, 1, v1)) ++ok; else ++wrong;
+  if (branch(13, 1, v1)) ++ok; else ++wrong;
+  if (branch(14, 1, v1)) ++ok; else ++wrong;
+  if (branch(15, 1, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 64)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads two bytes */
+void
+icm_two_bytes_msb_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #4  load two bytes, msb set  --> cc == 1\n");
+
+  v1 = 0x80000000;
+  wrong = ok = 0;
+
+  if (branch(0,  12, v1)) ++wrong; else ++ok;
+  if (branch(1,  12, v1)) ++wrong; else ++ok;
+  if (branch(2,  12, v1)) ++wrong; else ++ok;
+  if (branch(3,  12, v1)) ++wrong; else ++ok;
+  if (branch(4,  12, v1)) ++ok; else ++wrong;
+  if (branch(5,  12, v1)) ++ok; else ++wrong;
+  if (branch(6,  12, v1)) ++ok; else ++wrong;
+  if (branch(7,  12, v1)) ++ok; else ++wrong;
+  if (branch(8,  12, v1)) ++wrong; else ++ok;
+  if (branch(9,  12, v1)) ++wrong; else ++ok;
+  if (branch(10, 12, v1)) ++wrong; else ++ok;
+  if (branch(11, 12, v1)) ++wrong; else ++ok;
+  if (branch(12, 12, v1)) ++ok; else ++wrong;
+  if (branch(13, 12, v1)) ++ok; else ++wrong;
+  if (branch(14, 12, v1)) ++ok; else ++wrong;
+  if (branch(15, 12, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  10, v1)) ++wrong; else ++ok;
+  if (branch(1,  10, v1)) ++wrong; else ++ok;
+  if (branch(2,  10, v1)) ++wrong; else ++ok;
+  if (branch(3,  10, v1)) ++wrong; else ++ok;
+  if (branch(4,  10, v1)) ++ok; else ++wrong;
+  if (branch(5,  10, v1)) ++ok; else ++wrong;
+  if (branch(6,  10, v1)) ++ok; else ++wrong;
+  if (branch(7,  10, v1)) ++ok; else ++wrong;
+  if (branch(8,  10, v1)) ++wrong; else ++ok;
+  if (branch(9,  10, v1)) ++wrong; else ++ok;
+  if (branch(10, 10, v1)) ++wrong; else ++ok;
+  if (branch(11, 10, v1)) ++wrong; else ++ok;
+  if (branch(12, 10, v1)) ++ok; else ++wrong;
+  if (branch(13, 10, v1)) ++ok; else ++wrong;
+  if (branch(14, 10, v1)) ++ok; else ++wrong;
+  if (branch(15, 10, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   9, v1)) ++wrong; else ++ok;
+  if (branch(1,   9, v1)) ++wrong; else ++ok;
+  if (branch(2,   9, v1)) ++wrong; else ++ok;
+  if (branch(3,   9, v1)) ++wrong; else ++ok;
+  if (branch(4,   9, v1)) ++ok; else ++wrong;
+  if (branch(5,   9, v1)) ++ok; else ++wrong;
+  if (branch(6,   9, v1)) ++ok; else ++wrong;
+  if (branch(7,   9, v1)) ++ok; else ++wrong;
+  if (branch(8,   9, v1)) ++wrong; else ++ok;
+  if (branch(9,   9, v1)) ++wrong; else ++ok;
+  if (branch(10,  9, v1)) ++wrong; else ++ok;
+  if (branch(11,  9, v1)) ++wrong; else ++ok;
+  if (branch(12,  9, v1)) ++ok; else ++wrong;
+  if (branch(13,  9, v1)) ++ok; else ++wrong;
+  if (branch(14,  9, v1)) ++ok; else ++wrong;
+  if (branch(15,  9, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   6, v1)) ++wrong; else ++ok;
+  if (branch(1,   6, v1)) ++wrong; else ++ok;
+  if (branch(2,   6, v1)) ++wrong; else ++ok;
+  if (branch(3,   6, v1)) ++wrong; else ++ok;
+  if (branch(4,   6, v1)) ++ok; else ++wrong;
+  if (branch(5,   6, v1)) ++ok; else ++wrong;
+  if (branch(6,   6, v1)) ++ok; else ++wrong;
+  if (branch(7,   6, v1)) ++ok; else ++wrong;
+  if (branch(8,   6, v1)) ++wrong; else ++ok;
+  if (branch(9,   6, v1)) ++wrong; else ++ok;
+  if (branch(10,  6, v1)) ++wrong; else ++ok;
+  if (branch(11,  6, v1)) ++wrong; else ++ok;
+  if (branch(12,  6, v1)) ++ok; else ++wrong;
+  if (branch(13,  6, v1)) ++ok; else ++wrong;
+  if (branch(14,  6, v1)) ++ok; else ++wrong;
+  if (branch(15,  6, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   5, v1)) ++wrong; else ++ok;
+  if (branch(1,   5, v1)) ++wrong; else ++ok;
+  if (branch(2,   5, v1)) ++wrong; else ++ok;
+  if (branch(3,   5, v1)) ++wrong; else ++ok;
+  if (branch(4,   5, v1)) ++ok; else ++wrong;
+  if (branch(5,   5, v1)) ++ok; else ++wrong;
+  if (branch(6,   5, v1)) ++ok; else ++wrong;
+  if (branch(7,   5, v1)) ++ok; else ++wrong;
+  if (branch(8,   5, v1)) ++wrong; else ++ok;
+  if (branch(9,   5, v1)) ++wrong; else ++ok;
+  if (branch(10,  5, v1)) ++wrong; else ++ok;
+  if (branch(11,  5, v1)) ++wrong; else ++ok;
+  if (branch(12,  5, v1)) ++ok; else ++wrong;
+  if (branch(13,  5, v1)) ++ok; else ++wrong;
+  if (branch(14,  5, v1)) ++ok; else ++wrong;
+  if (branch(15,  5, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   3, v1)) ++wrong; else ++ok;
+  if (branch(1,   3, v1)) ++wrong; else ++ok;
+  if (branch(2,   3, v1)) ++wrong; else ++ok;
+  if (branch(3,   3, v1)) ++wrong; else ++ok;
+  if (branch(4,   3, v1)) ++ok; else ++wrong;
+  if (branch(5,   3, v1)) ++ok; else ++wrong;
+  if (branch(6,   3, v1)) ++ok; else ++wrong;
+  if (branch(7,   3, v1)) ++ok; else ++wrong;
+  if (branch(8,   3, v1)) ++wrong; else ++ok;
+  if (branch(9,   3, v1)) ++wrong; else ++ok;
+  if (branch(10,  3, v1)) ++wrong; else ++ok;
+  if (branch(11,  3, v1)) ++wrong; else ++ok;
+  if (branch(12,  3, v1)) ++ok; else ++wrong;
+  if (branch(13,  3, v1)) ++ok; else ++wrong;
+  if (branch(14,  3, v1)) ++ok; else ++wrong;
+  if (branch(15,  3, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 96)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads three bytes */
+void
+icm_three_bytes_msb_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #5  load three bytes, msb set  --> cc == 1\n");
+
+  v1 = 0x80000000;
+  wrong = ok = 0;
+
+  if (branch(0,  14, v1)) ++wrong; else ++ok;
+  if (branch(1,  14, v1)) ++wrong; else ++ok;
+  if (branch(2,  14, v1)) ++wrong; else ++ok;
+  if (branch(3,  14, v1)) ++wrong; else ++ok;
+  if (branch(4,  14, v1)) ++ok; else ++wrong;
+  if (branch(5,  14, v1)) ++ok; else ++wrong;
+  if (branch(6,  14, v1)) ++ok; else ++wrong;
+  if (branch(7,  14, v1)) ++ok; else ++wrong;
+  if (branch(8,  14, v1)) ++wrong; else ++ok;
+  if (branch(9,  14, v1)) ++wrong; else ++ok;
+  if (branch(10, 14, v1)) ++wrong; else ++ok;
+  if (branch(11, 14, v1)) ++wrong; else ++ok;
+  if (branch(12, 14, v1)) ++ok; else ++wrong;
+  if (branch(13, 14, v1)) ++ok; else ++wrong;
+  if (branch(14, 14, v1)) ++ok; else ++wrong;
+  if (branch(15, 14, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  13, v1)) ++wrong; else ++ok;
+  if (branch(1,  13, v1)) ++wrong; else ++ok;
+  if (branch(2,  13, v1)) ++wrong; else ++ok;
+  if (branch(3,  13, v1)) ++wrong; else ++ok;
+  if (branch(4,  13, v1)) ++ok; else ++wrong;
+  if (branch(5,  13, v1)) ++ok; else ++wrong;
+  if (branch(6,  13, v1)) ++ok; else ++wrong;
+  if (branch(7,  13, v1)) ++ok; else ++wrong;
+  if (branch(8,  13, v1)) ++wrong; else ++ok;
+  if (branch(9,  13, v1)) ++wrong; else ++ok;
+  if (branch(10, 13, v1)) ++wrong; else ++ok;
+  if (branch(11, 13, v1)) ++wrong; else ++ok;
+  if (branch(12, 13, v1)) ++ok; else ++wrong;
+  if (branch(13, 13, v1)) ++ok; else ++wrong;
+  if (branch(14, 13, v1)) ++ok; else ++wrong;
+  if (branch(15, 13, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  11, v1)) ++wrong; else ++ok;
+  if (branch(1,  11, v1)) ++wrong; else ++ok;
+  if (branch(2,  11, v1)) ++wrong; else ++ok;
+  if (branch(3,  11, v1)) ++wrong; else ++ok;
+  if (branch(4,  11, v1)) ++ok; else ++wrong;
+  if (branch(5,  11, v1)) ++ok; else ++wrong;
+  if (branch(6,  11, v1)) ++ok; else ++wrong;
+  if (branch(7,  11, v1)) ++ok; else ++wrong;
+  if (branch(8,  11, v1)) ++wrong; else ++ok;
+  if (branch(9,  11, v1)) ++wrong; else ++ok;
+  if (branch(10, 11, v1)) ++wrong; else ++ok;
+  if (branch(11, 11, v1)) ++wrong; else ++ok;
+  if (branch(12, 11, v1)) ++ok; else ++wrong;
+  if (branch(13, 11, v1)) ++ok; else ++wrong;
+  if (branch(14, 11, v1)) ++ok; else ++wrong;
+  if (branch(15, 11, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   7, v1)) ++wrong; else ++ok;
+  if (branch(1,   7, v1)) ++wrong; else ++ok;
+  if (branch(2,   7, v1)) ++wrong; else ++ok;
+  if (branch(3,   7, v1)) ++wrong; else ++ok;
+  if (branch(4,   7, v1)) ++ok; else ++wrong;
+  if (branch(5,   7, v1)) ++ok; else ++wrong;
+  if (branch(6,   7, v1)) ++ok; else ++wrong;
+  if (branch(7,   7, v1)) ++ok; else ++wrong;
+  if (branch(8,   7, v1)) ++wrong; else ++ok;
+  if (branch(9,   7, v1)) ++wrong; else ++ok;
+  if (branch(10,  7, v1)) ++wrong; else ++ok;
+  if (branch(11,  7, v1)) ++wrong; else ++ok;
+  if (branch(12,  7, v1)) ++ok; else ++wrong;
+  if (branch(13,  7, v1)) ++ok; else ++wrong;
+  if (branch(14,  7, v1)) ++ok; else ++wrong;
+  if (branch(15,  7, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 64)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads four bytes */
+void
+icm_four_bytes_msb_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #6  load four bytes, msb set  --> cc == 1\n");
+
+  v1 = 0x80000000;
+  wrong = ok = 0;
+
+  if (branch(0,  15, v1)) ++wrong; else ++ok;
+  if (branch(1,  15, v1)) ++wrong; else ++ok;
+  if (branch(2,  15, v1)) ++wrong; else ++ok;
+  if (branch(3,  15, v1)) ++wrong; else ++ok;
+  if (branch(4,  15, v1)) ++ok; else ++wrong;
+  if (branch(5,  15, v1)) ++ok; else ++wrong;
+  if (branch(6,  15, v1)) ++ok; else ++wrong;
+  if (branch(7,  15, v1)) ++ok; else ++wrong;
+  if (branch(8,  15, v1)) ++wrong; else ++ok;
+  if (branch(9,  15, v1)) ++wrong; else ++ok;
+  if (branch(10, 15, v1)) ++wrong; else ++ok;
+  if (branch(11, 15, v1)) ++wrong; else ++ok;
+  if (branch(12, 15, v1)) ++ok; else ++wrong;
+  if (branch(13, 15, v1)) ++ok; else ++wrong;
+  if (branch(14, 15, v1)) ++ok; else ++wrong;
+  if (branch(15, 15, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads one byte */
+void
+icm_one_byte_msb_not_set(void)
+{
+  int wrong, ok, v1;
+
+  printf("Test #7  load one byte, msb not set  --> cc == 2\n");
+
+  v1 = 0x7FFFFFFF;
+  wrong = ok = 0;
+
+  if (branch(0,  8, v1)) ++wrong; else ++ok;
+  if (branch(1,  8, v1)) ++wrong; else ++ok;
+  if (branch(2,  8, v1)) ++ok; else ++wrong;
+  if (branch(3,  8, v1)) ++ok; else ++wrong;
+  if (branch(4,  8, v1)) ++wrong; else ++ok;
+  if (branch(5,  8, v1)) ++wrong; else ++ok;
+  if (branch(6,  8, v1)) ++ok; else ++wrong;
+  if (branch(7,  8, v1)) ++ok; else ++wrong;
+  if (branch(8,  8, v1)) ++wrong; else ++ok;
+  if (branch(9,  8, v1)) ++wrong; else ++ok;
+  if (branch(10, 8, v1)) ++ok; else ++wrong;
+  if (branch(11, 8, v1)) ++ok; else ++wrong;
+  if (branch(12, 8, v1)) ++wrong; else ++ok;
+  if (branch(13, 8, v1)) ++wrong; else ++ok;
+  if (branch(14, 8, v1)) ++ok; else ++wrong;
+  if (branch(15, 8, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  4, v1)) ++wrong; else ++ok;
+  if (branch(1,  4, v1)) ++wrong; else ++ok;
+  if (branch(2,  4, v1)) ++ok; else ++wrong;
+  if (branch(3,  4, v1)) ++ok; else ++wrong;
+  if (branch(4,  4, v1)) ++wrong; else ++ok;
+  if (branch(5,  4, v1)) ++wrong; else ++ok;
+  if (branch(6,  4, v1)) ++ok; else ++wrong;
+  if (branch(7,  4, v1)) ++ok; else ++wrong;
+  if (branch(8,  4, v1)) ++wrong; else ++ok;
+  if (branch(9,  4, v1)) ++wrong; else ++ok;
+  if (branch(10, 4, v1)) ++ok; else ++wrong;
+  if (branch(11, 4, v1)) ++ok; else ++wrong;
+  if (branch(12, 4, v1)) ++wrong; else ++ok;
+  if (branch(13, 4, v1)) ++wrong; else ++ok;
+  if (branch(14, 4, v1)) ++ok; else ++wrong;
+  if (branch(15, 4, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  2, v1)) ++wrong; else ++ok;
+  if (branch(1,  2, v1)) ++wrong; else ++ok;
+  if (branch(2,  2, v1)) ++ok; else ++wrong;
+  if (branch(3,  2, v1)) ++ok; else ++wrong;
+  if (branch(4,  2, v1)) ++wrong; else ++ok;
+  if (branch(5,  2, v1)) ++wrong; else ++ok;
+  if (branch(6,  2, v1)) ++ok; else ++wrong;
+  if (branch(7,  2, v1)) ++ok; else ++wrong;
+  if (branch(8,  2, v1)) ++wrong; else ++ok;
+  if (branch(9,  2, v1)) ++wrong; else ++ok;
+  if (branch(10, 2, v1)) ++ok; else ++wrong;
+  if (branch(11, 2, v1)) ++ok; else ++wrong;
+  if (branch(12, 2, v1)) ++wrong; else ++ok;
+  if (branch(13, 2, v1)) ++wrong; else ++ok;
+  if (branch(14, 2, v1)) ++ok; else ++wrong;
+  if (branch(15, 2, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  1, v1)) ++wrong; else ++ok;
+  if (branch(1,  1, v1)) ++wrong; else ++ok;
+  if (branch(2,  1, v1)) ++ok; else ++wrong;
+  if (branch(3,  1, v1)) ++ok; else ++wrong;
+  if (branch(4,  1, v1)) ++wrong; else ++ok;
+  if (branch(5,  1, v1)) ++wrong; else ++ok;
+  if (branch(6,  1, v1)) ++ok; else ++wrong;
+  if (branch(7,  1, v1)) ++ok; else ++wrong;
+  if (branch(8,  1, v1)) ++wrong; else ++ok;
+  if (branch(9,  1, v1)) ++wrong; else ++ok;
+  if (branch(10, 1, v1)) ++ok; else ++wrong;
+  if (branch(11, 1, v1)) ++ok; else ++wrong;
+  if (branch(12, 1, v1)) ++wrong; else ++ok;
+  if (branch(13, 1, v1)) ++wrong; else ++ok;
+  if (branch(14, 1, v1)) ++ok; else ++wrong;
+  if (branch(15, 1, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 64)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads two bytes */
+void
+icm_two_bytes_msb_not_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #8  load two bytes, msb not set  --> cc == 2\n");
+
+  v1 = 0x7FFFFFFF;
+  wrong = ok = 0;
+
+  if (branch(0,  12, v1)) ++wrong; else ++ok;
+  if (branch(1,  12, v1)) ++wrong; else ++ok;
+  if (branch(2,  12, v1)) ++ok; else ++wrong;
+  if (branch(3,  12, v1)) ++ok; else ++wrong;
+  if (branch(4,  12, v1)) ++wrong; else ++ok;
+  if (branch(5,  12, v1)) ++wrong; else ++ok;
+  if (branch(6,  12, v1)) ++ok; else ++wrong;
+  if (branch(7,  12, v1)) ++ok; else ++wrong;
+  if (branch(8,  12, v1)) ++wrong; else ++ok;
+  if (branch(9,  12, v1)) ++wrong; else ++ok;
+  if (branch(10, 12, v1)) ++ok; else ++wrong;
+  if (branch(11, 12, v1)) ++ok; else ++wrong;
+  if (branch(12, 12, v1)) ++wrong; else ++ok;
+  if (branch(13, 12, v1)) ++wrong; else ++ok;
+  if (branch(14, 12, v1)) ++ok; else ++wrong;
+  if (branch(15, 12, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  10, v1)) ++wrong; else ++ok;
+  if (branch(1,  10, v1)) ++wrong; else ++ok;
+  if (branch(2,  10, v1)) ++ok; else ++wrong;
+  if (branch(3,  10, v1)) ++ok; else ++wrong;
+  if (branch(4,  10, v1)) ++wrong; else ++ok;
+  if (branch(5,  10, v1)) ++wrong; else ++ok;
+  if (branch(6,  10, v1)) ++ok; else ++wrong;
+  if (branch(7,  10, v1)) ++ok; else ++wrong;
+  if (branch(8,  10, v1)) ++wrong; else ++ok;
+  if (branch(9,  10, v1)) ++wrong; else ++ok;
+  if (branch(10, 10, v1)) ++ok; else ++wrong;
+  if (branch(11, 10, v1)) ++ok; else ++wrong;
+  if (branch(12, 10, v1)) ++wrong; else ++ok;
+  if (branch(13, 10, v1)) ++wrong; else ++ok;
+  if (branch(14, 10, v1)) ++ok; else ++wrong;
+  if (branch(15, 10, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   9, v1)) ++wrong; else ++ok;
+  if (branch(1,   9, v1)) ++wrong; else ++ok;
+  if (branch(2,   9, v1)) ++ok; else ++wrong;
+  if (branch(3,   9, v1)) ++ok; else ++wrong;
+  if (branch(4,   9, v1)) ++wrong; else ++ok;
+  if (branch(5,   9, v1)) ++wrong; else ++ok;
+  if (branch(6,   9, v1)) ++ok; else ++wrong;
+  if (branch(7,   9, v1)) ++ok; else ++wrong;
+  if (branch(8,   9, v1)) ++wrong; else ++ok;
+  if (branch(9,   9, v1)) ++wrong; else ++ok;
+  if (branch(10,  9, v1)) ++ok; else ++wrong;
+  if (branch(11,  9, v1)) ++ok; else ++wrong;
+  if (branch(12,  9, v1)) ++wrong; else ++ok;
+  if (branch(13,  9, v1)) ++wrong; else ++ok;
+  if (branch(14,  9, v1)) ++ok; else ++wrong;
+  if (branch(15,  9, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   6, v1)) ++wrong; else ++ok;
+  if (branch(1,   6, v1)) ++wrong; else ++ok;
+  if (branch(2,   6, v1)) ++ok; else ++wrong;
+  if (branch(3,   6, v1)) ++ok; else ++wrong;
+  if (branch(4,   6, v1)) ++wrong; else ++ok;
+  if (branch(5,   6, v1)) ++wrong; else ++ok;
+  if (branch(6,   6, v1)) ++ok; else ++wrong;
+  if (branch(7,   6, v1)) ++ok; else ++wrong;
+  if (branch(8,   6, v1)) ++wrong; else ++ok;
+  if (branch(9,   6, v1)) ++wrong; else ++ok;
+  if (branch(10,  6, v1)) ++ok; else ++wrong;
+  if (branch(11,  6, v1)) ++ok; else ++wrong;
+  if (branch(12,  6, v1)) ++wrong; else ++ok;
+  if (branch(13,  6, v1)) ++wrong; else ++ok;
+  if (branch(14,  6, v1)) ++ok; else ++wrong;
+  if (branch(15,  6, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   5, v1)) ++wrong; else ++ok;
+  if (branch(1,   5, v1)) ++wrong; else ++ok;
+  if (branch(2,   5, v1)) ++ok; else ++wrong;
+  if (branch(3,   5, v1)) ++ok; else ++wrong;
+  if (branch(4,   5, v1)) ++wrong; else ++ok;
+  if (branch(5,   5, v1)) ++wrong; else ++ok;
+  if (branch(6,   5, v1)) ++ok; else ++wrong;
+  if (branch(7,   5, v1)) ++ok; else ++wrong;
+  if (branch(8,   5, v1)) ++wrong; else ++ok;
+  if (branch(9,   5, v1)) ++wrong; else ++ok;
+  if (branch(10,  5, v1)) ++ok; else ++wrong;
+  if (branch(11,  5, v1)) ++ok; else ++wrong;
+  if (branch(12,  5, v1)) ++wrong; else ++ok;
+  if (branch(13,  5, v1)) ++wrong; else ++ok;
+  if (branch(14,  5, v1)) ++ok; else ++wrong;
+  if (branch(15,  5, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   3, v1)) ++wrong; else ++ok;
+  if (branch(1,   3, v1)) ++wrong; else ++ok;
+  if (branch(2,   3, v1)) ++ok; else ++wrong;
+  if (branch(3,   3, v1)) ++ok; else ++wrong;
+  if (branch(4,   3, v1)) ++wrong; else ++ok;
+  if (branch(5,   3, v1)) ++wrong; else ++ok;
+  if (branch(6,   3, v1)) ++ok; else ++wrong;
+  if (branch(7,   3, v1)) ++ok; else ++wrong;
+  if (branch(8,   3, v1)) ++wrong; else ++ok;
+  if (branch(9,   3, v1)) ++wrong; else ++ok;
+  if (branch(10,  3, v1)) ++ok; else ++wrong;
+  if (branch(11,  3, v1)) ++ok; else ++wrong;
+  if (branch(12,  3, v1)) ++wrong; else ++ok;
+  if (branch(13,  3, v1)) ++wrong; else ++ok;
+  if (branch(14,  3, v1)) ++ok; else ++wrong;
+  if (branch(15,  3, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 96)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+
+/* loads three bytes */
+void
+icm_three_bytes_msb_not_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #9  load three bytes, msb not set  --> cc == 2\n");
+
+  v1 = 0x7FFFFFFF;
+  wrong = ok = 0;
+
+  if (branch(0,  14, v1)) ++wrong; else ++ok;
+  if (branch(1,  14, v1)) ++wrong; else ++ok;
+  if (branch(2,  14, v1)) ++ok; else ++wrong;
+  if (branch(3,  14, v1)) ++ok; else ++wrong;
+  if (branch(4,  14, v1)) ++wrong; else ++ok;
+  if (branch(5,  14, v1)) ++wrong; else ++ok;
+  if (branch(6,  14, v1)) ++ok; else ++wrong;
+  if (branch(7,  14, v1)) ++ok; else ++wrong;
+  if (branch(8,  14, v1)) ++wrong; else ++ok;
+  if (branch(9,  14, v1)) ++wrong; else ++ok;
+  if (branch(10, 14, v1)) ++ok; else ++wrong;
+  if (branch(11, 14, v1)) ++ok; else ++wrong;
+  if (branch(12, 14, v1)) ++wrong; else ++ok;
+  if (branch(13, 14, v1)) ++wrong; else ++ok;
+  if (branch(14, 14, v1)) ++ok; else ++wrong;
+  if (branch(15, 14, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  13, v1)) ++wrong; else ++ok;
+  if (branch(1,  13, v1)) ++wrong; else ++ok;
+  if (branch(2,  13, v1)) ++ok; else ++wrong;
+  if (branch(3,  13, v1)) ++ok; else ++wrong;
+  if (branch(4,  13, v1)) ++wrong; else ++ok;
+  if (branch(5,  13, v1)) ++wrong; else ++ok;
+  if (branch(6,  13, v1)) ++ok; else ++wrong;
+  if (branch(7,  13, v1)) ++ok; else ++wrong;
+  if (branch(8,  13, v1)) ++wrong; else ++ok;
+  if (branch(9,  13, v1)) ++wrong; else ++ok;
+  if (branch(10, 13, v1)) ++ok; else ++wrong;
+  if (branch(11, 13, v1)) ++ok; else ++wrong;
+  if (branch(12, 13, v1)) ++wrong; else ++ok;
+  if (branch(13, 13, v1)) ++wrong; else ++ok;
+  if (branch(14, 13, v1)) ++ok; else ++wrong;
+  if (branch(15, 13, v1)) ++ok; else ++wrong;
+
+  if (branch(0,  11, v1)) ++wrong; else ++ok;
+  if (branch(1,  11, v1)) ++wrong; else ++ok;
+  if (branch(2,  11, v1)) ++ok; else ++wrong;
+  if (branch(3,  11, v1)) ++ok; else ++wrong;
+  if (branch(4,  11, v1)) ++wrong; else ++ok;
+  if (branch(5,  11, v1)) ++wrong; else ++ok;
+  if (branch(6,  11, v1)) ++ok; else ++wrong;
+  if (branch(7,  11, v1)) ++ok; else ++wrong;
+  if (branch(8,  11, v1)) ++wrong; else ++ok;
+  if (branch(9,  11, v1)) ++wrong; else ++ok;
+  if (branch(10, 11, v1)) ++ok; else ++wrong;
+  if (branch(11, 11, v1)) ++ok; else ++wrong;
+  if (branch(12, 11, v1)) ++wrong; else ++ok;
+  if (branch(13, 11, v1)) ++wrong; else ++ok;
+  if (branch(14, 11, v1)) ++ok; else ++wrong;
+  if (branch(15, 11, v1)) ++ok; else ++wrong;
+
+  if (branch(0,   7, v1)) ++wrong; else ++ok;
+  if (branch(1,   7, v1)) ++wrong; else ++ok;
+  if (branch(2,   7, v1)) ++ok; else ++wrong;
+  if (branch(3,   7, v1)) ++ok; else ++wrong;
+  if (branch(4,   7, v1)) ++wrong; else ++ok;
+  if (branch(5,   7, v1)) ++wrong; else ++ok;
+  if (branch(6,   7, v1)) ++ok; else ++wrong;
+  if (branch(7,   7, v1)) ++ok; else ++wrong;
+  if (branch(8,   7, v1)) ++wrong; else ++ok;
+  if (branch(9,   7, v1)) ++wrong; else ++ok;
+  if (branch(10,  7, v1)) ++ok; else ++wrong;
+  if (branch(11,  7, v1)) ++ok; else ++wrong;
+  if (branch(12,  7, v1)) ++wrong; else ++ok;
+  if (branch(13,  7, v1)) ++wrong; else ++ok;
+  if (branch(14,  7, v1)) ++ok; else ++wrong;
+  if (branch(15,  7, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 64)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+/* loads four bytes */
+void
+icm_four_bytes_msb_not_set(void)
+{
+  int wrong, ok;
+  unsigned v1;
+
+  printf("Test #10  load four bytes, msb not set  --> cc == 2\n");
+
+  v1 = 0x7FFFFFFF;
+  wrong = ok = 0;
+
+  if (branch(0,  15, v1)) ++wrong; else ++ok;
+  if (branch(1,  15, v1)) ++wrong; else ++ok;
+  if (branch(2,  15, v1)) ++ok; else ++wrong;
+  if (branch(3,  15, v1)) ++ok; else ++wrong;
+  if (branch(4,  15, v1)) ++wrong; else ++ok;
+  if (branch(5,  15, v1)) ++wrong; else ++ok;
+  if (branch(6,  15, v1)) ++ok; else ++wrong;
+  if (branch(7,  15, v1)) ++ok; else ++wrong;
+  if (branch(8,  15, v1)) ++wrong; else ++ok;
+  if (branch(9,  15, v1)) ++wrong; else ++ok;
+  if (branch(10, 15, v1)) ++ok; else ++wrong;
+  if (branch(11, 15, v1)) ++ok; else ++wrong;
+  if (branch(12, 15, v1)) ++wrong; else ++ok;
+  if (branch(13, 15, v1)) ++wrong; else ++ok;
+  if (branch(14, 15, v1)) ++ok; else ++wrong;
+  if (branch(15, 15, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+int main()
+{
+  icm_mask_0();
+  icm_value_0();
+
+  icm_one_byte_msb_set();
+  icm_two_bytes_msb_set();
+  icm_three_bytes_msb_set();
+  icm_four_bytes_msb_set();
+
+  icm_one_byte_msb_not_set();
+  icm_two_bytes_msb_not_set();
+  icm_three_bytes_msb_not_set();
+  icm_four_bytes_msb_not_set();
+
+  return 0;
+}
diff --git a/none/tests/s390x/spechelper-icm-2.stderr.exp b/none/tests/s390x/spechelper-icm-2.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-icm-2.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-icm-2.stdout.exp b/none/tests/s390x/spechelper-icm-2.stdout.exp
new file mode 100644
index 0000000..65dcbc4
--- /dev/null
+++ b/none/tests/s390x/spechelper-icm-2.stdout.exp
@@ -0,0 +1,20 @@
+Test #1  mask == 0, value == 0xFFFFFFFF  --> cc == 0
+OK
+Test #2  mask == 0xF, value == 0  --> cc == 0
+OK
+Test #3  load one byte, msb set  --> cc == 1
+OK
+Test #4  load two bytes, msb set  --> cc == 1
+OK
+Test #5  load three bytes, msb set  --> cc == 1
+OK
+Test #6  load four bytes, msb set  --> cc == 1
+OK
+Test #7  load one byte, msb not set  --> cc == 2
+OK
+Test #8  load two bytes, msb not set  --> cc == 2
+OK
+Test #9  load three bytes, msb not set  --> cc == 2
+OK
+Test #10  load four bytes, msb not set  --> cc == 2
+OK
diff --git a/none/tests/s390x/spechelper-icm-2.vgtest b/none/tests/s390x/spechelper-icm-2.vgtest
new file mode 100644
index 0000000..96b88a2
--- /dev/null
+++ b/none/tests/s390x/spechelper-icm-2.vgtest
@@ -0,0 +1 @@
+prog: spechelper-icm-2
diff --git a/none/tests/s390x/spechelper-ltr.c b/none/tests/s390x/spechelper-ltr.c
new file mode 100644
index 0000000..de20f36
--- /dev/null
+++ b/none/tests/s390x/spechelper-ltr.c
@@ -0,0 +1,120 @@
+#include <stdio.h>
+
+#define branch(mask,_v1)                               \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned b1 = _v1;                             \
+        asm volatile(   "       ltr  %[b1],%[b1]\n\t"  \
+                 	"	brc " #mask " ,1f\n\t" \
+                        "       mvi %[taken],0\n\t"    \
+			"	j   0f\n\t"            \
+			"1:	mvi %[taken],1\n\t"    \
+			"0:	bcr 0,0 /* nop */\n\t" \
+             : [taken] "=Q" (taken), [b1] "+d"(b1)     \
+             :                                         \
+             : "cc");                                  \
+        taken;                                         \
+   })
+
+void
+ltr_1(void)
+{
+  int wrong, ok, v1;
+
+  printf("Test #1  value = 0\n");
+
+  v1 = 0;
+  wrong = ok = 0;
+  if (branch(0,  v1)) ++wrong; else ++ok;
+  if (branch(1,  v1)) ++wrong; else ++ok;
+  if (branch(2,  v1)) ++wrong; else ++ok;
+  if (branch(3,  v1)) ++wrong; else ++ok;
+  if (branch(4,  v1)) ++wrong; else ++ok;
+  if (branch(5,  v1)) ++wrong; else ++ok;
+  if (branch(6,  v1)) ++wrong; else ++ok;
+  if (branch(7,  v1)) ++wrong; else ++ok;
+  if (branch(8,  v1)) ++ok; else ++wrong;
+  if (branch(9,  v1)) ++ok; else ++wrong;
+  if (branch(10, v1)) ++ok; else ++wrong;
+  if (branch(11, v1)) ++ok; else ++wrong;
+  if (branch(12, v1)) ++ok; else ++wrong;
+  if (branch(13, v1)) ++ok; else ++wrong;
+  if (branch(14, v1)) ++ok; else ++wrong;
+  if (branch(15, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+ltr_2(void)
+{
+  int wrong, ok, v1;
+
+  printf("Test #2  value > 0\n");
+  v1 = 42;
+  wrong = ok = 0;
+  if (branch(0,  v1)) ++wrong; else ++ok;
+  if (branch(1,  v1)) ++wrong; else ++ok;
+  if (branch(2,  v1)) ++ok; else ++wrong;
+  if (branch(3,  v1)) ++ok; else ++wrong;
+  if (branch(4,  v1)) ++wrong; else ++ok;
+  if (branch(5,  v1)) ++wrong; else ++ok;
+  if (branch(6,  v1)) ++ok; else ++wrong;
+  if (branch(7,  v1)) ++ok; else ++wrong;
+  if (branch(8,  v1)) ++wrong; else ++ok;
+  if (branch(9,  v1)) ++wrong; else ++ok;
+  if (branch(10, v1)) ++ok; else ++wrong;
+  if (branch(11, v1)) ++ok; else ++wrong;
+  if (branch(12, v1)) ++wrong; else ++ok;
+  if (branch(13, v1)) ++wrong; else ++ok;
+  if (branch(14, v1)) ++ok; else ++wrong;
+  if (branch(15, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+ltr_3(void)
+{
+  int wrong, ok, v1;
+
+  printf("Test #3  value < 0\n");
+
+  v1 = -100;
+  wrong = ok = 0;
+  if (branch(0,  v1)) ++wrong; else ++ok;
+  if (branch(1,  v1)) ++wrong; else ++ok;
+  if (branch(2,  v1)) ++wrong; else ++ok;
+  if (branch(3,  v1)) ++wrong; else ++ok;
+  if (branch(4,  v1)) ++ok; else ++wrong;
+  if (branch(5,  v1)) ++ok; else ++wrong;
+  if (branch(6,  v1)) ++ok; else ++wrong;
+  if (branch(7,  v1)) ++ok; else ++wrong;
+  if (branch(8,  v1)) ++wrong; else ++ok;
+  if (branch(9,  v1)) ++wrong; else ++ok;
+  if (branch(10, v1)) ++wrong; else ++ok;
+  if (branch(11, v1)) ++wrong; else ++ok;
+  if (branch(12, v1)) ++ok; else ++wrong;
+  if (branch(13, v1)) ++ok; else ++wrong;
+  if (branch(14, v1)) ++ok; else ++wrong;
+  if (branch(15, v1)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+int main()
+{
+  ltr_1();
+  ltr_2();
+  ltr_3();
+  return 0;
+}
diff --git a/none/tests/s390x/spechelper-ltr.stderr.exp b/none/tests/s390x/spechelper-ltr.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-ltr.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-ltr.stdout.exp b/none/tests/s390x/spechelper-ltr.stdout.exp
new file mode 100644
index 0000000..58fcdd3
--- /dev/null
+++ b/none/tests/s390x/spechelper-ltr.stdout.exp
@@ -0,0 +1,6 @@
+Test #1  value = 0
+OK
+Test #2  value > 0
+OK
+Test #3  value < 0
+OK
diff --git a/none/tests/s390x/spechelper-ltr.vgtest b/none/tests/s390x/spechelper-ltr.vgtest
new file mode 100644
index 0000000..59e1550
--- /dev/null
+++ b/none/tests/s390x/spechelper-ltr.vgtest
@@ -0,0 +1 @@
+prog: spechelper-ltr
diff --git a/none/tests/s390x/spechelper-or.c b/none/tests/s390x/spechelper-or.c
new file mode 100644
index 0000000..d495cd8
--- /dev/null
+++ b/none/tests/s390x/spechelper-or.c
@@ -0,0 +1,88 @@
+#include <stdio.h>
+
+#define branch(mask,_v1,_v2)                           \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned b1 = _v1, b2 = _v2;                   \
+        asm volatile("     or   %[b1],%[b2]\n\t"       \
+                     "     brc  " #mask " ,1f\n\t"     \
+                     "     mvi  %[taken],0\n\t"        \
+                     "     j    0f\n\t"                \
+                     "1:   mvi  %[taken],1\n\t"        \
+                     "0:   bcr  0,0 /* nop */\n\t"     \
+             : [taken] "=Q" (taken), [b1] "+d"(b1)     \
+             : [b2] "d"(b2)                            \
+             : "cc");                                  \
+        taken;                                         \
+   })
+
+void
+or_1(void)
+{
+   int wrong, ok, v1, v2;
+
+   printf("Test #1  result = 0\n");
+
+   v1 = v2 = 0;
+   wrong = ok = 0;
+   if (branch(0,  v1, v2)) ++wrong; else ++ok;
+   if (branch(1,  v1, v2)) ++wrong; else ++ok;
+   if (branch(2,  v1, v2)) ++wrong; else ++ok;
+   if (branch(3,  v1, v2)) ++wrong; else ++ok;
+   if (branch(4,  v1, v2)) ++wrong; else ++ok;
+   if (branch(5,  v1, v2)) ++wrong; else ++ok;
+   if (branch(6,  v1, v2)) ++wrong; else ++ok;
+   if (branch(7,  v1, v2)) ++wrong; else ++ok;
+   if (branch(8,  v1, v2)) ++ok; else ++wrong;
+   if (branch(9,  v1, v2)) ++ok; else ++wrong;
+   if (branch(10, v1, v2)) ++ok; else ++wrong;
+   if (branch(11, v1, v2)) ++ok; else ++wrong;
+   if (branch(12, v1, v2)) ++ok; else ++wrong;
+   if (branch(13, v1, v2)) ++ok; else ++wrong;
+   if (branch(14, v1, v2)) ++ok; else ++wrong;
+   if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+   if (wrong != 0 || ok != 16)
+      printf("FAILED\n");
+   else
+      printf("OK\n");
+}
+
+void
+or_2(void)
+{
+   int wrong, ok, v1, v2;
+
+   printf("Test #2  result = 0xffffffff\n");
+   v1 = 0;
+   v2 = ~0;
+   wrong = ok = 0;
+   if (branch(0,  v1, v2)) ++wrong; else ++ok;
+   if (branch(1,  v1, v2)) ++wrong; else ++ok;
+   if (branch(2,  v1, v2)) ++wrong; else ++ok;
+   if (branch(3,  v1, v2)) ++wrong; else ++ok;
+   if (branch(4,  v1, v2)) ++ok; else ++wrong;
+   if (branch(5,  v1, v2)) ++ok; else ++wrong;
+   if (branch(6,  v1, v2)) ++ok; else ++wrong;
+   if (branch(7,  v1, v2)) ++ok; else ++wrong;
+   if (branch(8,  v1, v2)) ++wrong; else ++ok;
+   if (branch(9,  v1, v2)) ++wrong; else ++ok;
+   if (branch(10, v1, v2)) ++wrong; else ++ok;
+   if (branch(11, v1, v2)) ++wrong; else ++ok;
+   if (branch(12, v1, v2)) ++ok; else ++wrong;
+   if (branch(13, v1, v2)) ++ok; else ++wrong;
+   if (branch(14, v1, v2)) ++ok; else ++wrong;
+   if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+   if (wrong != 0 || ok != 16)
+      printf("FAILED\n");
+   else
+      printf("OK\n");
+}
+
+int main()
+{
+   or_1();
+   or_2();
+   return 0;
+}
diff --git a/none/tests/s390x/spechelper-or.stderr.exp b/none/tests/s390x/spechelper-or.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-or.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-or.stdout.exp b/none/tests/s390x/spechelper-or.stdout.exp
new file mode 100644
index 0000000..5f52c58
--- /dev/null
+++ b/none/tests/s390x/spechelper-or.stdout.exp
@@ -0,0 +1,4 @@
+Test #1  result = 0
+OK
+Test #2  result = 0xffffffff
+OK
diff --git a/none/tests/s390x/spechelper-or.vgtest b/none/tests/s390x/spechelper-or.vgtest
new file mode 100644
index 0000000..6ee56b1
--- /dev/null
+++ b/none/tests/s390x/spechelper-or.vgtest
@@ -0,0 +1 @@
+prog: spechelper-or
diff --git a/none/tests/s390x/spechelper-slgr.c b/none/tests/s390x/spechelper-slgr.c
new file mode 100644
index 0000000..699df4e
--- /dev/null
+++ b/none/tests/s390x/spechelper-slgr.c
@@ -0,0 +1,138 @@
+#include <stdio.h>
+
+#define branch(mask,_v1,_v2)                           \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned long b1 = _v1;                        \
+        unsigned long b2 = _v2;                        \
+        asm volatile("     slgr %[b1],%[b2]\n\t"       \
+                     "     brc  " #mask " ,1f\n\t"     \
+                     "     mvi  %[taken],0\n\t"        \
+                     "     j    0f\n\t"                \
+                     "1:   mvi  %[taken],1\n\t"        \
+                     "0:   bcr 0,0 /* nop */\n\t"      \
+             : [taken] "=Q" (taken), [b1] "+d"(b1)     \
+             : [b2] "d"(b2)                            \
+             : "cc");                                  \
+        taken;                                         \
+   })
+
+
+/* cc = (op1 == op2) ? 2
+                     : (op1 > op2) ? 3 : 1; */
+
+
+void
+slgr_equal(void)
+{
+   unsigned long v1, v2;
+   int wrong, ok;
+
+   printf("Test #1  op1 == op2\n");
+
+   v1 = v2 = 42;
+   wrong = ok = 0;
+
+   if (branch(0,  v1, v2)) ++wrong; else ++ok;
+   if (branch(1,  v1, v2)) ++wrong; else ++ok;
+   if (branch(2,  v1, v2)) ++ok; else ++wrong;
+   if (branch(3,  v1, v2)) ++ok; else ++wrong;
+   if (branch(4,  v1, v2)) ++wrong; else ++ok;
+   if (branch(5,  v1, v2)) ++wrong; else ++ok;
+   if (branch(6,  v1, v2)) ++ok; else ++wrong;
+   if (branch(7,  v1, v2)) ++ok; else ++wrong;
+   if (branch(8,  v1, v2)) ++wrong; else ++ok;
+   if (branch(9,  v1, v2)) ++wrong; else ++ok;
+   if (branch(10, v1, v2)) ++ok; else ++wrong;
+   if (branch(11, v1, v2)) ++ok; else ++wrong;
+   if (branch(12, v1, v2)) ++wrong; else ++ok;
+   if (branch(13, v1, v2)) ++wrong; else ++ok;
+   if (branch(14, v1, v2)) ++ok; else ++wrong;
+   if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+   if (wrong != 0 || ok != 16)
+      printf("FAILED\n");
+   else
+      printf("OK\n");
+}
+
+void
+slgr_less(void)
+{
+   unsigned long v1, v2;
+   int wrong, ok;
+
+   printf("Test #2  op1 < op2\n");
+
+   v1 = 100;
+   v2 = 1000;
+
+   wrong = ok = 0;
+
+   if (branch(0,  v1, v2)) ++wrong; else ++ok;
+   if (branch(1,  v1, v2)) ++wrong; else ++ok;
+   if (branch(2,  v1, v2)) ++wrong; else ++ok;
+   if (branch(3,  v1, v2)) ++wrong; else ++ok;
+   if (branch(4,  v1, v2)) ++ok; else ++wrong;
+   if (branch(5,  v1, v2)) ++ok; else ++wrong;
+   if (branch(6,  v1, v2)) ++ok; else ++wrong;
+   if (branch(7,  v1, v2)) ++ok; else ++wrong;
+   if (branch(8,  v1, v2)) ++wrong; else ++ok;
+   if (branch(9,  v1, v2)) ++wrong; else ++ok;
+   if (branch(10, v1, v2)) ++wrong; else ++ok;
+   if (branch(11, v1, v2)) ++wrong; else ++ok;
+   if (branch(12, v1, v2)) ++ok; else ++wrong;
+   if (branch(13, v1, v2)) ++ok; else ++wrong;
+   if (branch(14, v1, v2)) ++ok; else ++wrong;
+   if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+   if (wrong != 0 /* || ok != 16 */)
+      printf("FAILED\n");
+   else
+      printf("OK\n");
+}
+
+void
+slgr_greater(void)
+{
+   unsigned long v1, v2;
+   int wrong, ok;
+
+   printf("Test #3  op1 > op2\n");
+
+   v1 = 10000;
+   v2 = 1000;
+
+   wrong = ok = 0;
+
+   if (branch(0,  v1, v2)) ++wrong; else ++ok;
+   if (branch(1,  v1, v2)) ++ok; else ++wrong;
+   if (branch(2,  v1, v2)) ++wrong; else ++ok;
+   if (branch(3,  v1, v2)) ++ok; else ++wrong;
+   if (branch(4,  v1, v2)) ++wrong; else ++ok;
+   if (branch(5,  v1, v2)) ++ok; else ++wrong;
+   if (branch(6,  v1, v2)) ++wrong; else ++ok;
+   if (branch(7,  v1, v2)) ++ok; else ++wrong;
+   if (branch(8,  v1, v2)) ++wrong; else ++ok;
+   if (branch(9,  v1, v2)) ++ok; else ++wrong;
+   if (branch(10, v1, v2)) ++wrong; else ++ok;
+   if (branch(11, v1, v2)) ++ok; else ++wrong;
+   if (branch(12, v1, v2)) ++wrong; else ++ok;
+   if (branch(13, v1, v2)) ++ok; else ++wrong;
+   if (branch(14, v1, v2)) ++wrong; else ++ok;
+   if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+   if (wrong != 0 || ok != 16)
+      printf("FAILED\n");
+   else
+      printf("OK\n");
+}
+
+int main()
+{
+   slgr_equal();
+   slgr_less();
+   slgr_greater();
+
+   return 0;
+}
diff --git a/none/tests/s390x/spechelper-slgr.stderr.exp b/none/tests/s390x/spechelper-slgr.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-slgr.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-slgr.stdout.exp b/none/tests/s390x/spechelper-slgr.stdout.exp
new file mode 100644
index 0000000..575c11c
--- /dev/null
+++ b/none/tests/s390x/spechelper-slgr.stdout.exp
@@ -0,0 +1,6 @@
+Test #1  op1 == op2
+OK
+Test #2  op1 < op2
+OK
+Test #3  op1 > op2
+OK
diff --git a/none/tests/s390x/spechelper-slgr.vgtest b/none/tests/s390x/spechelper-slgr.vgtest
new file mode 100644
index 0000000..8336161
--- /dev/null
+++ b/none/tests/s390x/spechelper-slgr.vgtest
@@ -0,0 +1 @@
+prog: spechelper-slgr
diff --git a/none/tests/s390x/spechelper-slr.c b/none/tests/s390x/spechelper-slr.c
new file mode 100644
index 0000000..9eb59cc
--- /dev/null
+++ b/none/tests/s390x/spechelper-slr.c
@@ -0,0 +1,136 @@
+#include <stdio.h>
+
+#define branch(mask,_v1,_v2)                           \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned int  b1 = _v1;                        \
+        unsigned int  b2 = _v2;                        \
+        asm volatile(   "       slr %[b1],%[b2]\n\t"   \
+                 	"	brc " #mask " ,1f\n\t" \
+                        "       mvi %[taken],0\n\t"    \
+			"	j   0f\n\t"            \
+			"1:	mvi %[taken],1\n\t"    \
+			"0:	bcr 0,0 /* nop */\n\t" \
+             : [taken] "=Q" (taken), [b1] "+d"(b1)     \
+             : [b2] "d"(b2)                            \
+             : "cc");                                  \
+        taken;                                         \
+   })
+
+/* cc = (op1 == op2) ? 2
+                     : (op1 > op2) ? 3 : 1; */
+
+void
+slr_equal(void)
+{
+  unsigned int v1, v2;
+  int wrong, ok;
+
+  printf("Test #1  op1 == op2\n");
+
+  v1 = v2 = 0xffffffff;
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++wrong; else ++ok;
+  if (branch(2,  v1, v2)) ++ok; else ++wrong;
+  if (branch(3,  v1, v2)) ++ok; else ++wrong;
+  if (branch(4,  v1, v2)) ++wrong; else ++ok;
+  if (branch(5,  v1, v2)) ++wrong; else ++ok;
+  if (branch(6,  v1, v2)) ++ok; else ++wrong;
+  if (branch(7,  v1, v2)) ++ok; else ++wrong;
+  if (branch(8,  v1, v2)) ++wrong; else ++ok;
+  if (branch(9,  v1, v2)) ++wrong; else ++ok;
+  if (branch(10, v1, v2)) ++ok; else ++wrong;
+  if (branch(11, v1, v2)) ++ok; else ++wrong;
+  if (branch(12, v1, v2)) ++wrong; else ++ok;
+  if (branch(13, v1, v2)) ++wrong; else ++ok;
+  if (branch(14, v1, v2)) ++ok; else ++wrong;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+slr_less(void)
+{
+  unsigned int v1, v2;
+  int wrong, ok;
+
+  printf("Test #2  op1 < op2\n");
+
+  v1 = 100;
+  v2 = 0xffffffff;
+
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++wrong; else ++ok;
+  if (branch(2,  v1, v2)) ++wrong; else ++ok;
+  if (branch(3,  v1, v2)) ++wrong; else ++ok;
+  if (branch(4,  v1, v2)) ++ok; else ++wrong;
+  if (branch(5,  v1, v2)) ++ok; else ++wrong;
+  if (branch(6,  v1, v2)) ++ok; else ++wrong;
+  if (branch(7,  v1, v2)) ++ok; else ++wrong;
+  if (branch(8,  v1, v2)) ++wrong; else ++ok;
+  if (branch(9,  v1, v2)) ++wrong; else ++ok;
+  if (branch(10, v1, v2)) ++wrong; else ++ok;
+  if (branch(11, v1, v2)) ++wrong; else ++ok;
+  if (branch(12, v1, v2)) ++ok; else ++wrong;
+  if (branch(13, v1, v2)) ++ok; else ++wrong;
+  if (branch(14, v1, v2)) ++ok; else ++wrong;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 /* || ok != 16 */)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+slr_greater(void)
+{
+  unsigned int v1, v2;
+  int wrong, ok;
+
+  printf("Test #3  op1 > op2\n");
+
+  v1 = 0xffffffff;
+  v2 = 1000;
+
+  wrong = ok = 0;
+
+  if (branch(0,  v1, v2)) ++wrong; else ++ok;
+  if (branch(1,  v1, v2)) ++ok; else ++wrong;
+  if (branch(2,  v1, v2)) ++wrong; else ++ok;
+  if (branch(3,  v1, v2)) ++ok; else ++wrong;
+  if (branch(4,  v1, v2)) ++wrong; else ++ok;
+  if (branch(5,  v1, v2)) ++ok; else ++wrong;
+  if (branch(6,  v1, v2)) ++wrong; else ++ok;
+  if (branch(7,  v1, v2)) ++ok; else ++wrong;
+  if (branch(8,  v1, v2)) ++wrong; else ++ok;
+  if (branch(9,  v1, v2)) ++ok; else ++wrong;
+  if (branch(10, v1, v2)) ++wrong; else ++ok;
+  if (branch(11, v1, v2)) ++ok; else ++wrong;
+  if (branch(12, v1, v2)) ++wrong; else ++ok;
+  if (branch(13, v1, v2)) ++ok; else ++wrong;
+  if (branch(14, v1, v2)) ++wrong; else ++ok;
+  if (branch(15, v1, v2)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+int main()
+{
+  slr_equal();
+  slr_less();
+  slr_greater();
+
+  return 0;
+}
diff --git a/none/tests/s390x/spechelper-slr.stderr.exp b/none/tests/s390x/spechelper-slr.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-slr.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-slr.stdout.exp b/none/tests/s390x/spechelper-slr.stdout.exp
new file mode 100644
index 0000000..575c11c
--- /dev/null
+++ b/none/tests/s390x/spechelper-slr.stdout.exp
@@ -0,0 +1,6 @@
+Test #1  op1 == op2
+OK
+Test #2  op1 < op2
+OK
+Test #3  op1 > op2
+OK
diff --git a/none/tests/s390x/spechelper-slr.vgtest b/none/tests/s390x/spechelper-slr.vgtest
new file mode 100644
index 0000000..c759c1f
--- /dev/null
+++ b/none/tests/s390x/spechelper-slr.vgtest
@@ -0,0 +1 @@
+prog: spechelper-slr
diff --git a/none/tests/s390x/spechelper-tm.c b/none/tests/s390x/spechelper-tm.c
new file mode 100644
index 0000000..218d582
--- /dev/null
+++ b/none/tests/s390x/spechelper-tm.c
@@ -0,0 +1,233 @@
+#include <stdio.h>
+
+#define branch(mask,i2,_v1)                            \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned char v1 = _v1;                        \
+        asm volatile(   "       tm %[v]," #i2 "\n\t" \
+                 	"	brc " #mask " ,1f\n\t" \
+                        "       mvi %[taken],0\n\t"    \
+			"	j   0f\n\t"            \
+			"1:	mvi %[taken],1\n\t"    \
+			"0:	bcr 0,0 /* nop */\n\t" \
+             : [taken] "=Q" (taken)                    \
+             : [v] "Q"(v1)                             \
+             : "cc");                                  \
+        taken;                                         \
+   })
+
+void
+tm_mask_0(void)
+{
+  int wrong, ok;
+  unsigned char v;
+
+  printf("Test #1  mask == 0, value == ~0  --> cc == 0\n");
+
+  v = ~0;
+  wrong = ok = 0;
+
+  if (branch(0,  0, v)) ++wrong; else ++ok;
+  if (branch(1,  0, v)) ++wrong; else ++ok;
+  if (branch(2,  0, v)) ++wrong; else ++ok;
+  if (branch(3,  0, v)) ++wrong; else ++ok;
+  if (branch(4,  0, v)) ++wrong; else ++ok;
+  if (branch(5,  0, v)) ++wrong; else ++ok;
+  if (branch(6,  0, v)) ++wrong; else ++ok;
+  if (branch(7,  0, v)) ++wrong; else ++ok;
+  if (branch(8,  0, v)) ++ok; else ++wrong;
+  if (branch(9,  0, v)) ++ok; else ++wrong;
+  if (branch(10, 0, v)) ++ok; else ++wrong;
+  if (branch(11, 0, v)) ++ok; else ++wrong;
+  if (branch(12, 0, v)) ++ok; else ++wrong;
+  if (branch(13, 0, v)) ++ok; else ++wrong;
+  if (branch(14, 0, v)) ++ok; else ++wrong;
+  if (branch(15, 0, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+tm_value_0(void)
+{
+  int wrong, ok;
+  unsigned char v;
+
+  printf("Test #2  mask == 0xFF, value == 0  --> cc == 0\n");
+
+  v = 0;
+  wrong = ok = 0;
+
+  if (branch(0,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(1,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(2,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(3,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(4,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(5,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(6,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(7,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(8,  0xFF, v)) ++ok; else ++wrong;
+  if (branch(9,  0xFF, v)) ++ok; else ++wrong;
+  if (branch(10, 0xFF, v)) ++ok; else ++wrong;
+  if (branch(11, 0xFF, v)) ++ok; else ++wrong;
+  if (branch(12, 0xFF, v)) ++ok; else ++wrong;
+  if (branch(13, 0xFF, v)) ++ok; else ++wrong;
+  if (branch(14, 0xFF, v)) ++ok; else ++wrong;
+  if (branch(15, 0xFF, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+tm_all_selected_bits_set_1(void)
+{
+  int wrong, ok;
+  unsigned char v;
+
+  printf("Test #3  mask == 0xFF, value == 0xFF  --> cc == 3\n");
+
+  v = 0xFF;
+  wrong = ok = 0;
+
+  if (branch(0,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(1,  0xFF, v)) ++ok; else ++wrong;
+  if (branch(2,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(3,  0xFF, v)) ++ok; else ++wrong;
+  if (branch(4,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(5,  0xFF, v)) ++ok; else ++wrong;
+  if (branch(6,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(7,  0xFF, v)) ++ok; else ++wrong;
+  if (branch(8,  0xFF, v)) ++wrong; else ++ok;
+  if (branch(9,  0xFF, v)) ++ok; else ++wrong;
+  if (branch(10, 0xFF, v)) ++wrong; else ++ok;
+  if (branch(11, 0xFF, v)) ++ok; else ++wrong;
+  if (branch(12, 0xFF, v)) ++wrong; else ++ok;
+  if (branch(13, 0xFF, v)) ++ok; else ++wrong;
+  if (branch(14, 0xFF, v)) ++wrong; else ++ok;
+  if (branch(15, 0xFF, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+tm_all_selected_bits_set_2(void)
+{
+  int wrong, ok;
+  unsigned char v;
+
+  printf("Test #4  mask == 0x80, value == 0x80  --> cc == 3\n");
+
+  v = 0x80;
+  wrong = ok = 0;
+
+  if (branch(0,  0x80, v)) ++wrong; else ++ok;
+  if (branch(1,  0x80, v)) ++ok; else ++wrong;
+  if (branch(2,  0x80, v)) ++wrong; else ++ok;
+  if (branch(3,  0x80, v)) ++ok; else ++wrong;
+  if (branch(4,  0x80, v)) ++wrong; else ++ok;
+  if (branch(5,  0x80, v)) ++ok; else ++wrong;
+  if (branch(6,  0x80, v)) ++wrong; else ++ok;
+  if (branch(7,  0x80, v)) ++ok; else ++wrong;
+  if (branch(8,  0x80, v)) ++wrong; else ++ok;
+  if (branch(9,  0x80, v)) ++ok; else ++wrong;
+  if (branch(10, 0x80, v)) ++wrong; else ++ok;
+  if (branch(11, 0x80, v)) ++ok; else ++wrong;
+  if (branch(12, 0x80, v)) ++wrong; else ++ok;
+  if (branch(13, 0x80, v)) ++ok; else ++wrong;
+  if (branch(14, 0x80, v)) ++wrong; else ++ok;
+  if (branch(15, 0x80, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+tm_some_selected_bits_set_msb_set(void)
+{
+  int wrong, ok;
+  unsigned char v;
+
+  printf("Test #5  mask == 0xF0, value == 0x90  --> cc == 1\n");
+
+  v = 0x90;
+  wrong = ok = 0;
+
+  if (branch(0,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(1,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(2,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(3,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(4,  0xF0, v)) ++ok; else ++wrong;
+  if (branch(5,  0xF0, v)) ++ok; else ++wrong;
+  if (branch(6,  0xF0, v)) ++ok; else ++wrong;
+  if (branch(7,  0xF0, v)) ++ok; else ++wrong;
+  if (branch(8,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(9,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(10, 0xF0, v)) ++wrong; else ++ok;
+  if (branch(11, 0xF0, v)) ++wrong; else ++ok;
+  if (branch(12, 0xF0, v)) ++ok; else ++wrong;
+  if (branch(13, 0xF0, v)) ++ok; else ++wrong;
+  if (branch(14, 0xF0, v)) ++ok; else ++wrong;
+  if (branch(15, 0xF0, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+tm_some_selected_bits_set_msb_not_set(void)
+{
+  int wrong, ok;
+  unsigned char v;
+
+  printf("Test #6  mask == 0xF0, value == 0x30  --> cc == 1\n");
+
+  v = 0x30;
+  wrong = ok = 0;
+
+  if (branch(0,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(1,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(2,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(3,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(4,  0xF0, v)) ++ok; else ++wrong;
+  if (branch(5,  0xF0, v)) ++ok; else ++wrong;
+  if (branch(6,  0xF0, v)) ++ok; else ++wrong;
+  if (branch(7,  0xF0, v)) ++ok; else ++wrong;
+  if (branch(8,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(9,  0xF0, v)) ++wrong; else ++ok;
+  if (branch(10, 0xF0, v)) ++wrong; else ++ok;
+  if (branch(11, 0xF0, v)) ++wrong; else ++ok;
+  if (branch(12, 0xF0, v)) ++ok; else ++wrong;
+  if (branch(13, 0xF0, v)) ++ok; else ++wrong;
+  if (branch(14, 0xF0, v)) ++ok; else ++wrong;
+  if (branch(15, 0xF0, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+int main()
+{
+  tm_mask_0();
+  tm_value_0();
+  tm_all_selected_bits_set_1();
+  tm_all_selected_bits_set_2();
+  tm_some_selected_bits_set_msb_set();
+  tm_some_selected_bits_set_msb_not_set();
+
+  return 0;
+}
diff --git a/none/tests/s390x/spechelper-tm.stderr.exp b/none/tests/s390x/spechelper-tm.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-tm.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-tm.stdout.exp b/none/tests/s390x/spechelper-tm.stdout.exp
new file mode 100644
index 0000000..86cae89
--- /dev/null
+++ b/none/tests/s390x/spechelper-tm.stdout.exp
@@ -0,0 +1,12 @@
+Test #1  mask == 0, value == ~0  --> cc == 0
+OK
+Test #2  mask == 0xFF, value == 0  --> cc == 0
+OK
+Test #3  mask == 0xFF, value == 0xFF  --> cc == 3
+OK
+Test #4  mask == 0x80, value == 0x80  --> cc == 3
+OK
+Test #5  mask == 0xF0, value == 0x90  --> cc == 1
+OK
+Test #6  mask == 0xF0, value == 0x30  --> cc == 1
+OK
diff --git a/none/tests/s390x/spechelper-tm.vgtest b/none/tests/s390x/spechelper-tm.vgtest
new file mode 100644
index 0000000..1b33c10
--- /dev/null
+++ b/none/tests/s390x/spechelper-tm.vgtest
@@ -0,0 +1 @@
+prog: spechelper-tm
diff --git a/none/tests/s390x/spechelper-tmll.c b/none/tests/s390x/spechelper-tmll.c
new file mode 100644
index 0000000..88d36d2
--- /dev/null
+++ b/none/tests/s390x/spechelper-tmll.c
@@ -0,0 +1,234 @@
+#include <stdio.h>
+
+#define branch(mask,i2,_v1)                            \
+  ({                                                   \
+        unsigned char taken;                           \
+        unsigned long v1 = _v1;                        \
+        asm volatile(   "       tmll %[v]," #i2 "\n\t" \
+                 	"	brc " #mask " ,1f\n\t" \
+                        "       mvi %[taken],0\n\t"    \
+			"	j   0f\n\t"            \
+			"1:	mvi %[taken],1\n\t"    \
+			"0:	bcr 0,0 /* nop */\n\t" \
+             : [taken] "=Q" (taken)                    \
+             : [v] "d"(v1)                             \
+             : "cc");                                  \
+        taken;                                         \
+   })
+
+void
+tmll_mask_0(void)
+{
+  int wrong, ok;
+  unsigned long v;
+
+  printf("Test #1  mask == 0, value == ~0  --> cc == 0\n");
+
+  v = ~0ULL;
+  wrong = ok = 0;
+
+  if (branch(0,  0, v)) ++wrong; else ++ok;
+  if (branch(1,  0, v)) ++wrong; else ++ok;
+  if (branch(2,  0, v)) ++wrong; else ++ok;
+  if (branch(3,  0, v)) ++wrong; else ++ok;
+  if (branch(4,  0, v)) ++wrong; else ++ok;
+  if (branch(5,  0, v)) ++wrong; else ++ok;
+  if (branch(6,  0, v)) ++wrong; else ++ok;
+  if (branch(7,  0, v)) ++wrong; else ++ok;
+  if (branch(8,  0, v)) ++ok; else ++wrong;
+  if (branch(9,  0, v)) ++ok; else ++wrong;
+  if (branch(10, 0, v)) ++ok; else ++wrong;
+  if (branch(11, 0, v)) ++ok; else ++wrong;
+  if (branch(12, 0, v)) ++ok; else ++wrong;
+  if (branch(13, 0, v)) ++ok; else ++wrong;
+  if (branch(14, 0, v)) ++ok; else ++wrong;
+  if (branch(15, 0, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+tmll_value_0(void)
+{
+  int wrong, ok;
+  unsigned long v;
+
+  printf("Test #2  mask == 0xFFF, value == 0  --> cc == 0\n");
+
+  v = 0;
+  wrong = ok = 0;
+
+  if (branch(0,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(1,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(2,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(3,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(4,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(5,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(6,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(7,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(8,  0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(9,  0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(10, 0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(11, 0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(12, 0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(13, 0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(14, 0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(15, 0xFFFF, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+tmll_all_selected_bits_set_1(void)
+{
+  int wrong, ok;
+  unsigned long v;
+
+  printf("Test #3  mask == 0xFFFF, value == 0xFFFF  --> cc == 3\n");
+
+  v = 0xFFFF;
+  wrong = ok = 0;
+
+  if (branch(0,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(1,  0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(2,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(3,  0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(4,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(5,  0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(6,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(7,  0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(8,  0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(9,  0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(10, 0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(11, 0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(12, 0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(13, 0xFFFF, v)) ++ok; else ++wrong;
+  if (branch(14, 0xFFFF, v)) ++wrong; else ++ok;
+  if (branch(15, 0xFFFF, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+tmll_all_selected_bits_set_2(void)
+{
+  int wrong, ok;
+  unsigned long v;
+
+  printf("Test #4  mask == 0x8000, value == 0x8000  --> cc == 3\n");
+
+  v = 0x8000;
+  wrong = ok = 0;
+
+  if (branch(0,  0x8000, v)) ++wrong; else ++ok;
+  if (branch(1,  0x8000, v)) ++ok; else ++wrong;
+  if (branch(2,  0x8000, v)) ++wrong; else ++ok;
+  if (branch(3,  0x8000, v)) ++ok; else ++wrong;
+  if (branch(4,  0x8000, v)) ++wrong; else ++ok;
+  if (branch(5,  0x8000, v)) ++ok; else ++wrong;
+  if (branch(6,  0x8000, v)) ++wrong; else ++ok;
+  if (branch(7,  0x8000, v)) ++ok; else ++wrong;
+  if (branch(8,  0x8000, v)) ++wrong; else ++ok;
+  if (branch(9,  0x8000, v)) ++ok; else ++wrong;
+  if (branch(10, 0x8000, v)) ++wrong; else ++ok;
+  if (branch(11, 0x8000, v)) ++ok; else ++wrong;
+  if (branch(12, 0x8000, v)) ++wrong; else ++ok;
+  if (branch(13, 0x8000, v)) ++ok; else ++wrong;
+  if (branch(14, 0x8000, v)) ++wrong; else ++ok;
+  if (branch(15, 0x8000, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+tmll_some_selected_bits_set_msb_set(void)
+{
+  int wrong, ok;
+  unsigned long v;
+
+  printf("Test #5  mask == 0xF000, value == 0x9000  --> cc == 2\n");
+
+  v = 0x9000;
+  wrong = ok = 0;
+
+  if (branch(0,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(1,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(2,  0xF000, v)) ++ok; else ++wrong;
+  if (branch(3,  0xF000, v)) ++ok; else ++wrong;
+  if (branch(4,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(5,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(6,  0xF000, v)) ++ok; else ++wrong;
+  if (branch(7,  0xF000, v)) ++ok; else ++wrong;
+  if (branch(8,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(9,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(10, 0xF000, v)) ++ok; else ++wrong;
+  if (branch(11, 0xF000, v)) ++ok; else ++wrong;
+  if (branch(12, 0xF000, v)) ++wrong; else ++ok;
+  if (branch(13, 0xF000, v)) ++wrong; else ++ok;
+  if (branch(14, 0xF000, v)) ++ok; else ++wrong;
+  if (branch(15, 0xF000, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+void
+tmll_some_selected_bits_set_msb_not_set(void)
+{
+  int wrong, ok;
+  unsigned long v;
+
+  printf("Test #6  mask == 0xF000, value == 0x3000  --> cc == 1\n");
+
+  v = 0x3000;
+  wrong = ok = 0;
+
+  if (branch(0,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(1,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(2,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(3,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(4,  0xF000, v)) ++ok; else ++wrong;
+  if (branch(5,  0xF000, v)) ++ok; else ++wrong;
+  if (branch(6,  0xF000, v)) ++ok; else ++wrong;
+  if (branch(7,  0xF000, v)) ++ok; else ++wrong;
+  if (branch(8,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(9,  0xF000, v)) ++wrong; else ++ok;
+  if (branch(10, 0xF000, v)) ++wrong; else ++ok;
+  if (branch(11, 0xF000, v)) ++wrong; else ++ok;
+  if (branch(12, 0xF000, v)) ++ok; else ++wrong;
+  if (branch(13, 0xF000, v)) ++ok; else ++wrong;
+  if (branch(14, 0xF000, v)) ++ok; else ++wrong;
+  if (branch(15, 0xF000, v)) ++ok; else ++wrong;
+
+  if (wrong != 0 || ok != 16)
+    printf("FAILED\n");
+  else
+    printf("OK\n");
+}
+
+
+int main()
+{
+  tmll_mask_0();
+  tmll_value_0();
+  tmll_all_selected_bits_set_1();
+  tmll_all_selected_bits_set_2();
+  tmll_some_selected_bits_set_msb_set();
+  tmll_some_selected_bits_set_msb_not_set();
+
+  return 0;
+}
diff --git a/none/tests/s390x/spechelper-tmll.stderr.exp b/none/tests/s390x/spechelper-tmll.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/spechelper-tmll.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/spechelper-tmll.stdout.exp b/none/tests/s390x/spechelper-tmll.stdout.exp
new file mode 100644
index 0000000..9eb1491
--- /dev/null
+++ b/none/tests/s390x/spechelper-tmll.stdout.exp
@@ -0,0 +1,12 @@
+Test #1  mask == 0, value == ~0  --> cc == 0
+OK
+Test #2  mask == 0xFFF, value == 0  --> cc == 0
+OK
+Test #3  mask == 0xFFFF, value == 0xFFFF  --> cc == 3
+OK
+Test #4  mask == 0x8000, value == 0x8000  --> cc == 3
+OK
+Test #5  mask == 0xF000, value == 0x9000  --> cc == 2
+OK
+Test #6  mask == 0xF000, value == 0x3000  --> cc == 1
+OK
diff --git a/none/tests/s390x/spechelper-tmll.vgtest b/none/tests/s390x/spechelper-tmll.vgtest
new file mode 100644
index 0000000..10b9a4f
--- /dev/null
+++ b/none/tests/s390x/spechelper-tmll.vgtest
@@ -0,0 +1 @@
+prog: spechelper-tmll
diff --git a/none/tests/s390x/srnm.c b/none/tests/s390x/srnm.c
new file mode 100644
index 0000000..f383398
--- /dev/null
+++ b/none/tests/s390x/srnm.c
@@ -0,0 +1,50 @@
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "opcodes.h"
+
+#define srnm(b,d) \
+   ({ \
+      __asm__ volatile ( "lghi 8," #b "\n\t" \
+                         "srnm " #d "(8)\n\t" ::: "8"); \
+   })
+
+unsigned
+get_rounding_mode(void)
+{
+   unsigned fpc;
+
+   __asm__ volatile ("stfpc  %0\n\t" : "=m"(fpc));
+
+   return fpc & 0x7;
+}
+
+int main(void)
+{
+   printf("initial rounding mode = %u\n", get_rounding_mode());
+
+   /* Set basic rounding modes in various ways */
+   srnm(1,2);  // 1 + 2 = 3
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   srnm(2,0);
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   srnm(0,1);
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   srnm(0,0);
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   /* Some rounding modes with bits to be ignored */
+   srnm(0xff,0);  // -> 3
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   srnm(0,0xfe);  // -> 2
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   srnm(0xf0,0x0f);  // -> 3
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   return 0;
+}
diff --git a/none/tests/s390x/srnm.stderr.exp b/none/tests/s390x/srnm.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/srnm.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/srnm.stdout.exp b/none/tests/s390x/srnm.stdout.exp
new file mode 100644
index 0000000..a5a0278
--- /dev/null
+++ b/none/tests/s390x/srnm.stdout.exp
@@ -0,0 +1,8 @@
+initial rounding mode = 0
+rounding mode = 3
+rounding mode = 2
+rounding mode = 1
+rounding mode = 0
+rounding mode = 3
+rounding mode = 2
+rounding mode = 3
diff --git a/none/tests/s390x/srnm.vgtest b/none/tests/s390x/srnm.vgtest
new file mode 100644
index 0000000..4144aeb
--- /dev/null
+++ b/none/tests/s390x/srnm.vgtest
@@ -0,0 +1 @@
+prog: srnm
diff --git a/none/tests/s390x/srnmb.c b/none/tests/s390x/srnmb.c
new file mode 100644
index 0000000..4ef9cbd
--- /dev/null
+++ b/none/tests/s390x/srnmb.c
@@ -0,0 +1,67 @@
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "opcodes.h"
+
+#define srnmb(b,d) \
+   ({ \
+      __asm__ volatile ( "lghi 8," #b "\n\t" \
+                         SRNMB(8,d) \
+                         ::: "8"); \
+   })
+
+
+/* Like srnm above, except it uses r0 as a base register */
+#define srnmb0(d) \
+   ({ \
+      __asm__ volatile ( SRNMB(0,d) \
+                         ::: "0"); \
+   })
+
+unsigned
+get_rounding_mode(void)
+{
+   unsigned fpc;
+
+   __asm__ volatile ("stfpc  %0\n\t" : "=m"(fpc));
+
+   return fpc & 0x7;
+}
+
+int main(void)
+{
+   printf("initial rounding mode = %u\n", get_rounding_mode());
+
+   /* Set basic rounding modes in various ways */
+   srnmb(1,002);  // 1 + 2 = 3
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   srnmb(2,000);
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   srnmb(0,001);
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   srnmb(0,000);
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+#if 0
+   // fpext
+   srnmb(7,000);  // -> 7
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   srnmb(0,000);  // -> 0
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   srnmb(0,007);  // -> 7
+   printf("rounding mode = %u\n", get_rounding_mode());
+#endif
+
+   srnmb(0,001);
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   srnmb0(004);    // -> emul warning invalid rounding mode
+   printf("rounding mode = %u\n", get_rounding_mode());
+
+   return 0;
+}
diff --git a/none/tests/s390x/srnmb.stderr.exp b/none/tests/s390x/srnmb.stderr.exp
new file mode 100644
index 0000000..12c94ab
--- /dev/null
+++ b/none/tests/s390x/srnmb.stderr.exp
@@ -0,0 +1,6 @@
+
+Emulation warning: unsupported action:
+  The specified rounding mode is invalid.
+  Continuing using 'round to nearest'. Results may differ!
+   at 0x........: main (srnmb.c:64)
+
diff --git a/none/tests/s390x/srnmb.stdout.exp b/none/tests/s390x/srnmb.stdout.exp
new file mode 100644
index 0000000..c2be0f7
--- /dev/null
+++ b/none/tests/s390x/srnmb.stdout.exp
@@ -0,0 +1,7 @@
+initial rounding mode = 0
+rounding mode = 3
+rounding mode = 2
+rounding mode = 1
+rounding mode = 0
+rounding mode = 1
+rounding mode = 0
diff --git a/none/tests/s390x/srnmb.vgtest b/none/tests/s390x/srnmb.vgtest
new file mode 100644
index 0000000..6eff81b
--- /dev/null
+++ b/none/tests/s390x/srnmb.vgtest
@@ -0,0 +1,2 @@
+prog: srnmb
+vgopts: --show-emwarns=yes
diff --git a/none/tests/s390x/srnmt.c b/none/tests/s390x/srnmt.c
new file mode 100644
index 0000000..7776c86
--- /dev/null
+++ b/none/tests/s390x/srnmt.c
@@ -0,0 +1,61 @@
+#include <assert.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include "opcodes.h"
+
+#define srnmt(b,d) \
+   ({ \
+      __asm__ volatile ( "lghi 8," #b "\n\t" \
+                         SRNMT(8,d) \
+                         ::: "8"); \
+   })
+
+
+/* Like srnmt above, except it uses r0 as a base register */
+#define srnmt0(d) \
+   ({ \
+      __asm__ volatile ( SRNMT(0,d) \
+                         ::: "0"); \
+   })
+
+unsigned
+get_dfp_rounding_mode(void)
+{
+   unsigned fpc;
+
+   __asm__ volatile ("stfpc  %0\n\t" : "=m"(fpc));
+
+   return (fpc & 0x70) >> 4;
+}
+
+int main(void)
+{
+   printf("initial rounding mode = %u\n", get_dfp_rounding_mode());
+
+   /* Set basic rounding modes in various ways */
+   srnmt(1,002);  // 1 + 2 = 3
+   printf("rounding mode = %u\n", get_dfp_rounding_mode());
+
+   srnmt(2,000);
+   printf("rounding mode = %u\n", get_dfp_rounding_mode());
+
+   srnmt(0,001);
+   printf("rounding mode = %u\n", get_dfp_rounding_mode());
+
+   srnmt(0,000);
+   printf("rounding mode = %u\n", get_dfp_rounding_mode());
+
+   srnmt(7,000);
+   printf("rounding mode = %u\n", get_dfp_rounding_mode());
+
+   srnmt(0,006);
+   printf("rounding mode = %u\n", get_dfp_rounding_mode());
+
+   srnmt0(005);
+   printf("rounding mode = %u\n", get_dfp_rounding_mode());
+
+   srnmt0(004);
+   printf("rounding mode = %u\n", get_dfp_rounding_mode());
+
+   return 0;
+}
diff --git a/none/tests/s390x/srnmt.stderr.exp b/none/tests/s390x/srnmt.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/srnmt.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/srnmt.stdout.exp b/none/tests/s390x/srnmt.stdout.exp
new file mode 100644
index 0000000..581d3f2
--- /dev/null
+++ b/none/tests/s390x/srnmt.stdout.exp
@@ -0,0 +1,9 @@
+initial rounding mode = 0
+rounding mode = 3
+rounding mode = 2
+rounding mode = 1
+rounding mode = 0
+rounding mode = 7
+rounding mode = 6
+rounding mode = 5
+rounding mode = 4
diff --git a/none/tests/s390x/srnmt.vgtest b/none/tests/s390x/srnmt.vgtest
new file mode 100644
index 0000000..cb7a448
--- /dev/null
+++ b/none/tests/s390x/srnmt.vgtest
@@ -0,0 +1,2 @@
+prog: srnmt
+prereq: test -e srnmt && ../../../tests/s390x_features s390x-dfp
diff --git a/none/tests/s390x/stfle.c b/none/tests/s390x/stfle.c
index 7bfe2d6..6c8007b 100644
--- a/none/tests/s390x/stfle.c
+++ b/none/tests/s390x/stfle.c
@@ -52,5 +52,11 @@
   else
     printf("The z/Architecture architectural mode is not installed\n");
 
+  /* Test #4: Message security assist */
+  if (stfle(dw, 17)) {
+     printf("MSA facility is present\n");
+  } else {
+     printf("No MSA facility available\n");
+  }
   return 0;
 }
diff --git a/none/tests/s390x/stfle.stdout.exp b/none/tests/s390x/stfle.stdout.exp
index c4653a9..a4e9716 100644
--- a/none/tests/s390x/stfle.stdout.exp
+++ b/none/tests/s390x/stfle.stdout.exp
@@ -6,3 +6,5 @@
 the value of cc is 3 and #double words is 2
 the value of cc is 3 and #double words is 2
 The z/Architecture architectural mode is installed and active
+the value of cc is 3 and #double words is 2
+No MSA facility available
diff --git a/none/tests/s390x/stmg.c b/none/tests/s390x/stmg.c
new file mode 100644
index 0000000..37961ad
--- /dev/null
+++ b/none/tests/s390x/stmg.c
@@ -0,0 +1,59 @@
+#include <stdio.h>
+
+char base[] ="0123456789012345678901234567890123456789";
+
+void
+stmg_no_wrap(void)
+{
+   char buf[24];
+
+   /* No-wrap around case; copies 24 bytes from BASE to BUF */
+   asm volatile( "lg   5,  0(%1)\n\t"
+                 "lg   6,  8(%1)\n\t"
+                 "lg   7, 16(%1)\n\t"
+                 "stmg 5, 7, %0\n\t"
+                 :"=m" (buf)
+                 : "a" (base)
+                 : "5", "6", "7");
+   /* Write out BUF */
+   asm volatile( "lghi 2, 1\n\t"   // stdout
+                 "lgr  3, %0\n\t"  // buf
+                 "lghi 4, 24\n\t"  // len = 3*8 bytes
+                 "svc  4\n\t"
+                 : : "a" (buf)
+                 : "2", "3", "4");
+}
+
+void
+stmg_wrap(void)
+{
+   char buf[64];
+
+   /* Wrap around case; copies 32 bytes from BASE to BUF */
+   asm volatile( "lg   15,  0(%1)\n\t"
+                 "lg    0,  8(%1)\n\t"
+                 "lg    1, 16(%1)\n\t"
+                 "lg    2, 24(%1)\n\t"
+                 "stmg 15, 2, %0\n\t"
+                 :"=m" (buf)
+                 : "a" (base)
+                 : "15", "0", "1", "2");
+   /* Write out BUF */
+   asm volatile( "lghi 2, 1\n\t"   // stdout
+                 "lgr  3, %0\n\t"  // buf
+                 "lghi 4, 32\n\t"  // len = 4*8 bytes
+                 "svc  4\n\t"
+                 : : "a" (buf)
+                 : "2", "3", "4");
+}
+
+
+int main(void)
+{
+   stmg_no_wrap();
+   printf("\n");
+   stmg_wrap();
+   printf("\n");
+
+   return 0;
+}
diff --git a/none/tests/s390x/stmg.stderr.exp b/none/tests/s390x/stmg.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/stmg.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/stmg.stdout.exp b/none/tests/s390x/stmg.stdout.exp
new file mode 100644
index 0000000..79a225e
--- /dev/null
+++ b/none/tests/s390x/stmg.stdout.exp
@@ -0,0 +1,2 @@
+01234567890123456789012301234567890123456789012345678901
+
diff --git a/none/tests/s390x/stmg.vgtest b/none/tests/s390x/stmg.vgtest
new file mode 100644
index 0000000..314003e
--- /dev/null
+++ b/none/tests/s390x/stmg.vgtest
@@ -0,0 +1 @@
+prog: stmg
diff --git a/none/tests/s390x/svc.h b/none/tests/s390x/svc.h
new file mode 100644
index 0000000..166eb8a
--- /dev/null
+++ b/none/tests/s390x/svc.h
@@ -0,0 +1,105 @@
+#ifndef SVC_H
+#define SVC_H
+#include <asm/unistd.h>
+#include <sys/syscall.h>
+
+static inline long
+svc0(int num)
+{
+  register int _num asm("1") = num;
+  register long ret asm("2");
+
+  asm volatile(	"svc 0\n"
+		:"=d"(ret)
+		: "d" (_num)
+		: "cc", "memory");
+  return ret;
+}
+
+static inline long
+svc1(int num, unsigned long arg1)
+{
+  register int _num asm("1") = num;
+  register long ret asm("2");
+  register unsigned long _arg1 asm("2") = arg1;
+
+  asm volatile(	"svc 0\n"
+		:"=d"(ret)
+		: "d" (_num), "d" (_arg1)
+		: "cc", "memory");
+  return ret;
+}
+
+static inline long
+svc2(int num, unsigned long arg1, unsigned long arg2)
+{
+  register int _num asm("1") = num;
+  register long ret asm("2");
+  register unsigned long _arg1 asm("2") = arg1;
+  register unsigned long _arg2 asm("3") = arg2;
+
+  asm volatile(	"svc 0\n"
+		:"=d"(ret)
+		: "d" (_num), "d" (_arg1), "d" (_arg2)
+		: "cc", "memory");
+  return ret;
+}
+
+
+static inline long
+svc3(int num, unsigned long arg1, unsigned long arg2, unsigned long arg3)
+{
+  register int _num asm("1") = num;
+  register long ret asm("2");
+  register unsigned long _arg1 asm("2") = arg1;
+  register unsigned long _arg2 asm("3") = arg2;
+  register unsigned long _arg3 asm("4") = arg3;
+
+  asm volatile(	"svc 0\n"
+		:"=d"(ret)
+		: "d" (_num), "d" (_arg1), "d" (_arg2), "d" (_arg3)
+		: "cc", "memory");
+  return ret;
+}
+
+
+
+static inline long
+svc4(int num, unsigned long arg1, unsigned long arg2, unsigned long arg3, unsigned long arg4)
+{
+  register int _num asm("1") = num;
+  register long ret asm("2");
+  register unsigned long _arg1 asm("2") = arg1;
+  register unsigned long _arg2 asm("3") = arg2;
+  register unsigned long _arg3 asm("4") = arg3;
+  register unsigned long _arg4 asm("5") = arg4;
+
+  asm volatile(	"svc 0\n"
+		:"=d"(ret)
+		: "d" (_num), "d" (_arg1), "d" (_arg2), "d" (_arg3), "d" (_arg4)
+		: "cc", "memory");
+  return ret;
+}
+
+
+
+static inline long
+svc5(int num, unsigned long arg1, unsigned long arg2, unsigned long arg3, unsigned long arg4,
+	unsigned long arg5)
+{
+  register int _num asm("1") = num;
+  register long ret asm("2");
+  register unsigned long _arg1 asm("2") = arg1;
+  register unsigned long _arg2 asm("3") = arg2;
+  register unsigned long _arg3 asm("4") = arg3;
+  register unsigned long _arg4 asm("5") = arg4;
+  register unsigned long _arg5 asm("6") = arg5;
+
+  asm volatile(	"svc 0\n"
+		:"=d"(ret)
+		: "d" (_num), "d" (_arg1), "d" (_arg2), "d" (_arg3), "d" (_arg4), "d" (_arg5)
+		: "cc", "memory");
+  return ret;
+}
+
+#endif /* SVC_H */
diff --git a/none/tests/s390x/test.h b/none/tests/s390x/test.h
index 17a1f96..c75e14c 100644
--- a/none/tests/s390x/test.h
+++ b/none/tests/s390x/test.h
@@ -1,4 +1,28 @@
+#ifndef TEST_H
+#define TEST_H
+
 #include <stdio.h>
+#include <sys/time.h>
+#include "svc.h"
+
+/* Convenience macros and functions for testcases */
+
+#define EXIT(ret)  svc1(__NR_exit, ret)
+
+/* X must be a string constant */
+#define SAY(x) say(x"\n", sizeof x)
+
+/* Test COND and if it happens to be true, say so */
+#define TEST(cond) do { if (cond) SAY(#cond); } while (0)
+
+#define BRASLCLOBBER "0","1","2","3","4","5","14", \
+		     "f0","f1","f2","f3","f4","f5","f6","f7"
+
+int say(const char *text, unsigned long num_chars)
+{
+	return svc3(4, 1, (unsigned long) text, num_chars);
+}
+
 #define get_cc() \
 ({ \
 	char __cc; \
@@ -28,3 +52,15 @@
 	for (i=0; i < size; i++)
 		printf("%2.2X ", ((char *) field)[i]);
 }
+
+static inline void mysleep(long sec, long usec)
+{
+	struct timeval tv;
+
+	tv.tv_sec = sec;
+	tv.tv_usec = usec;
+
+	svc5(SYS_select, 0,0,0,0,(unsigned long) &tv);
+}
+
+#endif /* TEST_H */
diff --git a/none/tests/s390x/test_clone.c b/none/tests/s390x/test_clone.c
new file mode 100644
index 0000000..60d515a
--- /dev/null
+++ b/none/tests/s390x/test_clone.c
@@ -0,0 +1,86 @@
+#define _GNU_SOURCE
+#include <sys/syscall.h>
+#include <linux/wait.h>
+#include <sched.h>
+#include "test.h"
+
+char stack[4096];
+
+void saynum(int num)
+{
+   char *nums="012345679";
+   say(nums+num,1);
+}
+
+void test_thread(void *arg)
+{
+   mysleep(0,50000);
+   SAY("thread_start");
+   mysleep(0,50000);
+   SAY("thread_end");
+   EXIT(1);
+}
+
+void test_child(void)
+{
+   mysleep(0,50000);
+   SAY("child_start");
+   mysleep(0,50000);
+   SAY("child_end");
+   EXIT(1);
+}
+
+
+void forkish(void)
+{
+   int pid;
+   int status;
+
+   asm volatile( "lghi 2, 0\n"
+                 "lgr  3, 0\n"
+                 "svc  120\n"      // CLONE
+                 "lr   %0, 2\n"
+                 :"=d" (pid)
+                 :: "2", "3", "cc");
+   if (!pid)
+      test_child();
+   SAY("MAIN_proc");
+   asm volatile( "lr 2, %2\n"
+                 "lgr 3,%1\n"
+                 "lgr 4,%3\n"
+                 "lghi 5,0\n"
+                 "svc 114\n"       // WAIT4
+                 : "=m" (status)
+                 : "d" (&status), "d" (pid), "d" (__WALL)
+                 : "2","3","4","5", "cc");
+   say("wait returned:",14);
+   saynum(status >> 8);
+   say("\n",1);
+   SAY("MAIN_proc_end");
+}
+
+void threadish(void)
+{
+   register long ret   asm("2") = (unsigned long) stack+4096-160;
+   register long flags asm("3") = CLONE_THREAD | CLONE_SIGHAND |
+                                  CLONE_PARENT | CLONE_VM |
+                                  CLONE_FILES  | CLONE_FS |
+                                  CLONE_PTRACE;
+
+   asm volatile( "svc 120\n"
+                 :"+d"(ret)
+                 : "d"(flags)
+                 : "cc", "memory");
+   if (!ret)
+      test_thread(0);
+   SAY("MAIN_thread");
+   mysleep(0,10000);
+   SAY("MAIN_thread_end");
+}
+
+int main(void)
+{
+   forkish();
+   threadish();
+   EXIT(1);
+}
diff --git a/none/tests/s390x/test_clone.stderr.exp b/none/tests/s390x/test_clone.stderr.exp
new file mode 100644
index 0000000..b28b04f
--- /dev/null
+++ b/none/tests/s390x/test_clone.stderr.exp
@@ -0,0 +1,3 @@
+
+
+
diff --git a/none/tests/s390x/test_clone.stdout.exp b/none/tests/s390x/test_clone.stdout.exp
new file mode 100644
index 0000000..a5aaa18
--- /dev/null
+++ b/none/tests/s390x/test_clone.stdout.exp
@@ -0,0 +1,9 @@
+MAIN_proc
+child_start
+child_end
+wait returned:1
+MAIN_proc_end
+MAIN_thread
+MAIN_thread_end
+thread_start
+thread_end
diff --git a/none/tests/s390x/test_clone.vgtest b/none/tests/s390x/test_clone.vgtest
new file mode 100644
index 0000000..03b797c
--- /dev/null
+++ b/none/tests/s390x/test_clone.vgtest
@@ -0,0 +1 @@
+prog: test_clone
diff --git a/none/tests/s390x/test_fork.c b/none/tests/s390x/test_fork.c
new file mode 100644
index 0000000..1c18e71
--- /dev/null
+++ b/none/tests/s390x/test_fork.c
@@ -0,0 +1,19 @@
+#include <asm/unistd.h>
+#include "test.h"
+
+int main()
+{
+   switch (svc0(__NR_fork)) {
+   case 0:
+      SAY("child\n");
+      break;
+   case -1:
+      SAY("error\n");
+      break;
+   default:
+      svc4(__NR_wait4, 0, 0, 0, 0);
+      SAY("parent\n");
+      break;
+   }
+   EXIT(0);
+}
diff --git a/none/tests/s390x/test_fork.stderr.exp b/none/tests/s390x/test_fork.stderr.exp
new file mode 100644
index 0000000..b28b04f
--- /dev/null
+++ b/none/tests/s390x/test_fork.stderr.exp
@@ -0,0 +1,3 @@
+
+
+
diff --git a/none/tests/s390x/test_fork.stdout.exp b/none/tests/s390x/test_fork.stdout.exp
new file mode 100644
index 0000000..ed62fd9
--- /dev/null
+++ b/none/tests/s390x/test_fork.stdout.exp
@@ -0,0 +1,4 @@
+child
+
+parent
+
diff --git a/none/tests/s390x/test_fork.vgtest b/none/tests/s390x/test_fork.vgtest
new file mode 100644
index 0000000..b865c5e
--- /dev/null
+++ b/none/tests/s390x/test_fork.vgtest
@@ -0,0 +1 @@
+prog: test_fork
diff --git a/none/tests/s390x/test_sig.c b/none/tests/s390x/test_sig.c
new file mode 100644
index 0000000..7404931
--- /dev/null
+++ b/none/tests/s390x/test_sig.c
@@ -0,0 +1,69 @@
+#include <features.h>
+#include <fpu_control.h>
+#include <signal.h>
+#include <sys/types.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <ucontext.h>
+#include <unistd.h>
+
+void handle_SIG(int sig)
+{
+   double d;
+
+   _FPU_SETCW(0);
+   d = 7;
+   asm volatile ("":: "f" (d));
+   printf("Got signal %d\n", sig);
+   if (sig == SIGSEGV) {
+      printf("SIGSEGV, exiting...\n");
+      exit(0);
+   }
+}
+
+void handle_rt_SIG(int sig, siginfo_t *info, void *uc)
+{
+   double d;
+
+   _FPU_SETCW(0);
+   d = 8;
+   asm volatile ("":: "f" (d));
+   printf("Got signal %d\n", sig);
+   printf("si_signo: %d\n", info->si_signo);
+   printf("si_errno: %d\n", info->si_errno);
+   printf("si_code: %d\n", info->si_code);
+   if (sig == SIGSEGV) {
+      printf("SIGSEGV, exiting...\n");
+      exit(0);
+   }
+}
+
+int main(void)
+{
+   //   char *a;
+   struct sigaction sa;
+   double d1,d2,d3,d4,d5;
+
+   _FPU_SETCW(1);
+   d1 = d2 = d3 = d4 = d5 = 1;
+   sa.sa_sigaction=handle_rt_SIG;
+   sa.sa_flags =SA_SIGINFO;
+   sigemptyset(&sa.sa_mask);
+   sigaction(SIGALRM, &sa, NULL);
+   signal(SIGUSR1, handle_SIG);
+   signal(SIGSEGV, handle_SIG);
+   kill(getpid(), SIGALRM);
+   printf("One!\n");
+   kill(getpid(), SIGUSR1);
+   printf("floating point is now: %f %f %f %f %f\n", d1, d2, d3, d4, d5);
+   {
+      int fpc;
+      _FPU_GETCW(fpc);
+      printf("fpc= %d\n", fpc);
+   }
+   printf("Good Bye!\n");
+//	a = (char *) 0x12345678;
+//	*a = 1;
+   exit(0);
+}
diff --git a/none/tests/s390x/test_sig.stderr.exp b/none/tests/s390x/test_sig.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/test_sig.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/test_sig.stdout.exp b/none/tests/s390x/test_sig.stdout.exp
new file mode 100644
index 0000000..c7f0bee
--- /dev/null
+++ b/none/tests/s390x/test_sig.stdout.exp
@@ -0,0 +1,9 @@
+Got signal 14
+si_signo: 14
+si_errno: 0
+si_code: 0
+One!
+Got signal 10
+floating point is now: 1.000000 1.000000 1.000000 1.000000 1.000000
+fpc= 1
+Good Bye!
diff --git a/none/tests/s390x/test_sig.vgtest b/none/tests/s390x/test_sig.vgtest
new file mode 100644
index 0000000..0e1aa51
--- /dev/null
+++ b/none/tests/s390x/test_sig.vgtest
@@ -0,0 +1 @@
+prog: test_sig
diff --git a/none/tests/s390x/tm.c b/none/tests/s390x/tm.c
new file mode 100644
index 0000000..615b2cf
--- /dev/null
+++ b/none/tests/s390x/tm.c
@@ -0,0 +1,79 @@
+#include <stdio.h>
+
+#define get_cc() \
+({ \
+   char __cc; \
+   /* don't use IPM to better test spechelpers */ \
+   asm volatile( "brc 8,1f\n\t" \
+                 "brc 4,2f\n\t" \
+                 "brc 2,3f\n\t" \
+                 "brc 1,4f\n\t" \
+                 "mvi %0,4\n\t" \
+                 "j   0f\n\t" \
+                 "1:  mvi %0,0\n\t" \
+                 "j   0f\n\t" \
+                 "2:  mvi %0,1\n\t" \
+                 "j   0f\n\t" \
+                 "3:  mvi %0,2\n\t" \
+                 "j   0f\n\t" \
+                 "4:  mvi %0,3\n\t" \
+                 "j   0f\n\t" \
+                 "0:  /* nop */ brc 0,0\n\t" \
+                 : "=m" (__cc) : : "memory"); \
+	__cc; \
+})
+
+void check_cc(int value, int cc)
+{
+   if (cc != value) {
+      printf("wrong cc: ");
+      if (value == 0) printf("expected 0  ");
+      if (value == 1) printf("expected 1  ");
+      if (value == 2) printf("expected 2  ");
+      if (value == 3) printf("expected 3  ");
+      if (cc == 0) printf("got 0");
+      if (cc == 1) printf("got 1");
+      if (cc == 2) printf("got 2");
+      if (cc == 3) printf("got 3");
+   } else {
+      printf("OK");
+   }
+   printf("\n");
+}
+
+void tm(void)
+{
+   unsigned char v;
+
+   /* test #1: value is zero */
+   v = 0;
+   asm volatile( "tm   %[v],15\n\t" : : [v] "R"(v) : "cc");
+   check_cc(0, get_cc());
+
+   /* test #2: mask is zero */
+   v = 0xFF;
+   asm volatile( "tm   %[v],0\n\t" : : [v] "R"(v) : "cc");
+   check_cc(0, get_cc());
+
+   /* test #3: selected bits are 0 */
+   v = 0x0F;
+   asm volatile( "tm   %[v],0xf0\n\t" : : [v] "R"(v) : "cc");
+   check_cc(0, get_cc());
+
+   /* test #4: selected bits are all 1 */
+   v = 0xF0;
+   asm volatile( "tm   %[v],0x70\n\t" : : [v] "R"(v) : "cc");
+   check_cc(3, get_cc());
+
+   /* test #5: selected bits are mixed */
+   v = 0x0F;
+   asm volatile( "tm   %[v],0x81\n\t" : : [v] "R"(v) : "cc");
+   check_cc(1, get_cc());
+}
+
+int main(void)
+{
+   tm();
+
+   return 0;
+}
diff --git a/none/tests/s390x/tm.stderr.exp b/none/tests/s390x/tm.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/tm.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/tm.stdout.exp b/none/tests/s390x/tm.stdout.exp
new file mode 100644
index 0000000..21da4d2
--- /dev/null
+++ b/none/tests/s390x/tm.stdout.exp
@@ -0,0 +1,5 @@
+OK
+OK
+OK
+OK
+OK
diff --git a/none/tests/s390x/tm.vgtest b/none/tests/s390x/tm.vgtest
new file mode 100644
index 0000000..b167837
--- /dev/null
+++ b/none/tests/s390x/tm.vgtest
@@ -0,0 +1 @@
+prog: tm
diff --git a/none/tests/s390x/tmll.c b/none/tests/s390x/tmll.c
new file mode 100644
index 0000000..477bf6e
--- /dev/null
+++ b/none/tests/s390x/tmll.c
@@ -0,0 +1,84 @@
+#include <stdio.h>
+
+#define get_cc() \
+({ \
+   char __cc; \
+   /* don't use IPM to better test spechelpers */ \
+   asm volatile( "brc 8,1f\n\t" \
+                 "brc 4,2f\n\t" \
+                 "brc 2,3f\n\t" \
+                 "brc 1,4f\n\t" \
+                 "mvi %0,4\n\t" \
+                 "j   0f\n\t" \
+                 "1:  mvi %0,0\n\t" \
+                 "j   0f\n\t" \
+                 "2:  mvi %0,1\n\t" \
+                 "j   0f\n\t" \
+                 "3:  mvi %0,2\n\t" \
+                 "j   0f\n\t" \
+                 "4:  mvi %0,3\n\t" \
+                 "j   0f\n\t" \
+                 "0:  /* nop */ brc 0,0\n\t" \
+                 : "=m" (__cc) : : "memory"); \
+	__cc; \
+})
+
+void check_cc(int value, int cc)
+{
+   if (cc != value) {
+      printf("wrong cc: ");
+      if (value == 0) printf("expected 0  ");
+      if (value == 1) printf("expected 1  ");
+      if (value == 2) printf("expected 2  ");
+      if (value == 3) printf("expected 3  ");
+      if (cc == 0) printf("got 0");
+      if (cc == 1) printf("got 1");
+      if (cc == 2) printf("got 2");
+      if (cc == 3) printf("got 3");
+   } else {
+      printf("OK");
+   }
+   printf("\n");
+}
+
+void tmll(void)
+{
+   unsigned long v;
+
+   /* test #1: value is zero, all bits selected */
+   v = 0;
+   asm volatile( "tmll   %[v],0xFFFF\n\t" : : [v] "d"(v) : "cc");
+   check_cc(0, get_cc());
+
+   /* test #2: value is all-ones, mask is zero */
+   v = 0xFFFF;
+   asm volatile( "tmll   %[v],0\n\t" : : [v] "d"(v) : "cc");
+   check_cc(0, get_cc());
+
+   /* test #3: selected bits are 0 */
+   v = 0x0F;
+   asm volatile( "tmll   %[v],0xf0\n\t" : : [v] "d"(v) : "cc");
+   check_cc(0, get_cc());
+
+   /* test #4: selected bits are all 1 */
+   v = 0xF0;
+   asm volatile( "tmll   %[v],0x70\n\t" : : [v] "d"(v) : "cc");
+   check_cc(3, get_cc());
+
+   /* test #5: selected bits are mixed, leftmost bit is 0 */
+   v = 0x0F;
+   asm volatile( "tmll   %[v],0x81\n\t" : : [v] "d"(v) : "cc");
+   check_cc(1, get_cc());
+
+   /* test #6: selected bits are mixed, leftmost bit is 1 */
+   v = 0xF0;
+   asm volatile( "tmll   %[v],0x81\n\t" : : [v] "d"(v) : "cc");
+   check_cc(2, get_cc());
+}
+
+int main(void)
+{
+  tmll();
+
+  return 0;
+}
diff --git a/none/tests/s390x/tmll.stderr.exp b/none/tests/s390x/tmll.stderr.exp
new file mode 100644
index 0000000..139597f
--- /dev/null
+++ b/none/tests/s390x/tmll.stderr.exp
@@ -0,0 +1,2 @@
+
+
diff --git a/none/tests/s390x/tmll.stdout.exp b/none/tests/s390x/tmll.stdout.exp
new file mode 100644
index 0000000..afa2372
--- /dev/null
+++ b/none/tests/s390x/tmll.stdout.exp
@@ -0,0 +1,6 @@
+OK
+OK
+OK
+OK
+OK
+OK
diff --git a/none/tests/s390x/tmll.vgtest b/none/tests/s390x/tmll.vgtest
new file mode 100644
index 0000000..5869aa5
--- /dev/null
+++ b/none/tests/s390x/tmll.vgtest
@@ -0,0 +1 @@
+prog: tmll
diff --git a/none/tests/s390x/tre.c b/none/tests/s390x/tre.c
index db546df..dd2e1ef 100644
--- a/none/tests/s390x/tre.c
+++ b/none/tests/s390x/tre.c
@@ -47,7 +47,7 @@
    tre_regs regs;
    int i;
 
-   regs = tre(tran_table, buff, len, test);
+   regs = tre(tran_table, srcaddr, len, test);
 
    if ((uint64_t)tran_table != regs.tabaddr)
       printf("translation table address changed\n");
diff --git a/none/tests/s390x/tre.stdout.exp b/none/tests/s390x/tre.stdout.exp
index f03e622..3a42b52 100644
--- a/none/tests/s390x/tre.stdout.exp
+++ b/none/tests/s390x/tre.stdout.exp
@@ -1,4 +1,3 @@
-source address/length not updated properly
 Resulting cc is 0 and the string is 
 Resulting cc is 0 and the string is 
 Resulting cc is 0 and the string is 
diff --git a/none/tests/selfrun.vgtest b/none/tests/selfrun.vgtest
index 8db2779..55cc8c9 100644
--- a/none/tests/selfrun.vgtest
+++ b/none/tests/selfrun.vgtest
@@ -1,3 +1,3 @@
 prog: ../../coregrind/valgrind --tool=none --command-line-only=yes ./selfrun
-vgopts: --vex-iropt-precise-memory-exns=yes
+vgopts: --vex-iropt-register-updates=allregs-at-mem-access
 prereq: grep '^#define HAVE_PIE 1' ../../config.h > /dev/null
diff --git a/none/tests/sem.c b/none/tests/sem.c
index ef3c091..27db071 100644
--- a/none/tests/sem.c
+++ b/none/tests/sem.c
@@ -7,6 +7,7 @@
 #include <sys/ipc.h>
 #include <sys/sem.h>
 #include <time.h>
+#include <unistd.h>
 int main(int argc, char **argv)
 {
    int semid;
@@ -32,6 +33,20 @@
       exit(1);
    }
 
+   if (semctl(semid, 0, GETVAL) != 1)
+   {
+      perror("semctl GETVAL");
+      semctl(semid, 0, IPC_RMID);
+      exit(1);
+   }
+
+   if (semctl(semid, 0, GETPID) != getpid())
+   {
+      perror("semctl GETPID");
+      semctl(semid, 0, IPC_RMID);
+      exit(1);
+   }
+
    /* The next call to semtimedop causes the program to hang on
       ppc32-linux (Yellow Dog 4.0).  I don't know why.  Hence the
       extended ifdef. */
diff --git a/none/tests/sha1_test.c b/none/tests/sha1_test.c
index c47a74d..097b336 100644
--- a/none/tests/sha1_test.c
+++ b/none/tests/sha1_test.c
@@ -249,9 +249,10 @@
 {
     SHA1_CTX ctx;
     unsigned char hash[20];
+    unsigned char abc[] = "abc";
 
     SHA1Init(&ctx);
-    SHA1Update(&ctx, "abc", 3);
+    SHA1Update(&ctx, abc, 3);
     SHA1Final(hash, &ctx);
     return 0;
 }
diff --git a/none/tests/shell.stderr.exp-dash2 b/none/tests/shell.stderr.exp-dash2
new file mode 100644
index 0000000..1e7f02c
--- /dev/null
+++ b/none/tests/shell.stderr.exp-dash2
@@ -0,0 +1,8 @@
+./shell: 10: ./shell: ./x86/: Permission denied
+./shell: 13: ./shell: ./shell.vgtest: Permission denied
+execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
+EXEC FAILED: I can't recover from execve() failing, so I'm dying.
+Add more stringent tests in PRE(sys_execve), or work out how to recover.
+./shell_binaryfile: 4: ./shell_binaryfile: Syntax error: ")" unexpected
+./shell: 22: ./shell: ./shell_nosuchfile: not found
+./shell: 25: ./shell: shell_nosuchfile: not found
diff --git a/none/tests/valgrind_cpp_test.cpp b/none/tests/valgrind_cpp_test.cpp
index 41a522b..5328829 100644
--- a/none/tests/valgrind_cpp_test.cpp
+++ b/none/tests/valgrind_cpp_test.cpp
@@ -40,8 +40,8 @@
   return 0;
 }
 
-void VG_(assert_fail)(Bool isCore, const Char* expr, const Char* file,
-                      Int line, const Char* fn, const HChar* format, ... )
+void VG_(assert_fail)(Bool isCore, const HChar* expr, const HChar* file,
+                      Int line, const HChar* fn, const HChar* format, ... )
 {
   abort();
 }
diff --git a/none/tests/x86/Makefile.am b/none/tests/x86/Makefile.am
index 99b2fa0..0ed86e5 100644
--- a/none/tests/x86/Makefile.am
+++ b/none/tests/x86/Makefile.am
@@ -53,6 +53,7 @@
 	looper.stderr.exp looper.stdout.exp looper.vgtest \
 	lzcnt32.stderr.exp lzcnt32.stdout.exp lzcnt32.vgtest \
 	movx.stderr.exp movx.stdout.exp movx.vgtest \
+	movbe.stderr.exp movbe.stdout.exp movbe.vgtest \
 	pushpopseg.stderr.exp pushpopseg.stdout.exp pushpopseg.vgtest \
 	sbbmisc.stderr.exp sbbmisc.stdout.exp sbbmisc.vgtest \
 	shift_ndep.stderr.exp shift_ndep.stdout.exp shift_ndep.vgtest \
@@ -104,6 +105,9 @@
 if !VGCONF_OS_IS_DARWIN
  check_PROGRAMS += cse_fail faultstatus
 endif
+if BUILD_MOVBE_TESTS
+ check_PROGRAMS += movbe
+endif
 
 
 AM_CFLAGS    += @FLAG_M32@ $(FLAG_MMMX) $(FLAG_MSSE)
diff --git a/none/tests/x86/bt_everything.c b/none/tests/x86/bt_everything.c
index 123d417..b367c02 100644
--- a/none/tests/x86/bt_everything.c
+++ b/none/tests/x86/bt_everything.c
@@ -4,7 +4,7 @@
 #include <assert.h>
 
 
-unsigned int btsl_mem ( char* base, int bitno )
+unsigned int btsl_mem ( unsigned char* base, int bitno )
 {
    unsigned char res;
    __asm__ 
@@ -18,7 +18,7 @@
    return res;
 }
 
-unsigned int btrl_mem ( char* base, int bitno )
+unsigned int btrl_mem ( unsigned char* base, int bitno )
 {
    unsigned char res;
    __asm__ 
@@ -29,7 +29,7 @@
    return res;
 }
 
-unsigned int btcl_mem ( char* base, int bitno )
+unsigned int btcl_mem ( unsigned char* base, int bitno )
 {
    unsigned char res;
    __asm__ 
@@ -40,7 +40,7 @@
    return res;
 }
 
-unsigned int btl_mem ( char* base, int bitno )
+unsigned int btl_mem ( unsigned char* base, int bitno )
 {
    unsigned char res;
    __asm__ 
diff --git a/none/tests/x86/bt_literal.c b/none/tests/x86/bt_literal.c
index 3f7e764..9b99bff 100644
--- a/none/tests/x86/bt_literal.c
+++ b/none/tests/x86/bt_literal.c
@@ -52,7 +52,7 @@
 
 
 
-UInt mash_mem_L ( UInt* origp )
+UInt mash_mem_L ( int* origp )
 {
   UInt reconstructed, mashed;
   __asm__ __volatile__ (
diff --git a/none/tests/x86/movbe.c b/none/tests/x86/movbe.c
new file mode 100644
index 0000000..d4f4953
--- /dev/null
+++ b/none/tests/x86/movbe.c
@@ -0,0 +1,77 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <malloc.h>
+
+typedef  unsigned char           UChar;
+typedef  unsigned int            UInt;
+typedef  unsigned long int       UWord;
+typedef  unsigned long long int  ULong;
+
+
+typedef  struct { UChar cs[40]; }  Block;
+
+void showBlock ( char* msg, Block* b )
+{
+   int i;
+   printf("  %s ", msg);
+   for (i = 0; i < 40; i++) 
+      printf("%02x", (UInt)b->cs[i]);
+   printf("\n");
+}
+
+UChar randUChar ( void )
+{
+   static UInt seed = 80021;
+   seed = 1103515245 * seed + 12345;
+   return (seed >> 17) & 0xFF;
+}
+
+void randBlock ( Block* b )
+{
+   int i;
+   UChar* p = (UChar*)b;
+   for (i = 0; i < sizeof(Block); i++)
+      p[i] = randUChar();
+}
+
+/* Generate a function test_NAME, that tests the given insn.
+   The insn may only mention (%eax) and esi. */
+
+#define GEN_test_Monly(_name, _mem_form)   \
+    \
+    __attribute__ ((noinline)) static void test_##_name ( void )   \
+    { \
+       Block* b = memalign(32, sizeof(Block)); \
+       randBlock(b); \
+       printf("%s\n", #_name); \
+       showBlock("before", b); \
+       __asm__ __volatile__( \
+          "leal      16(%0),%%eax"  "\n\t" \
+          "movl      24(%0),%%esi"   "\n\t" \
+          _mem_form  "\n\t" \
+          "movl      %%esi, 32(%0)"  "\n\t" \
+          : /*OUT*/  \
+          : /*IN*/"r"(b) \
+          : /*TRASH*/"esi","eax","memory","cc" \
+       ); \
+       showBlock("after ", b); \
+       printf("\n"); \
+       free(b); \
+    }
+
+GEN_test_Monly( MOVBE_RtoM_32, "movbel %%esi,1(%%eax)")
+GEN_test_Monly( MOVBE_RtoM_16, "movbew %%si,1(%%eax)")
+
+GEN_test_Monly( MOVBE_MtoR_32, "movbel 1(%%eax), %%esi")
+GEN_test_Monly( MOVBE_MtoR_16, "movbew 1(%%eax), %%si")
+
+int main ( void )
+{
+   test_MOVBE_RtoM_32();
+   test_MOVBE_RtoM_16();
+   test_MOVBE_MtoR_32();
+   test_MOVBE_MtoR_16();
+   return 0;
+}
diff --git a/none/tests/x86/movbe.stderr.exp b/none/tests/x86/movbe.stderr.exp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/none/tests/x86/movbe.stderr.exp
diff --git a/none/tests/x86/movbe.stdout.exp b/none/tests/x86/movbe.stdout.exp
new file mode 100644
index 0000000..b454d8c
--- /dev/null
+++ b/none/tests/x86/movbe.stdout.exp
@@ -0,0 +1,16 @@
+MOVBE_RtoM_32
+  before 00571784494af2981ecac9199de375513bd127afa6e9c3690d6a95fac528657d501eefeec0d8b847
+  after  00571784494af2981ecac9199de375513bfa956a0de9c3690d6a95fac528657d0d6a95fac0d8b847
+
+MOVBE_RtoM_16
+  before 84c4457d8560b160b244a056e51599fe2751bca75afbd2b6382dccdbc2829139fd673a5c2148a319
+  after  84c4457d8560b160b244a056e51599fe272d38a75afbd2b6382dccdbc2829139382dccdb2148a319
+
+MOVBE_MtoR_32
+  before 179e655064dc2a846b3e625d19775d06e540bc6839c44b4a36ed3550df9899d8979b83b70eb840d7
+  after  179e655064dc2a846b3e625d19775d06e540bc6839c44b4a36ed3550df9899d83968bc400eb840d7
+
+MOVBE_MtoR_16
+  before 856c13b8709950cb8315cab0121ab056db93c0f8294addf95df605a7d127a7d31f195c53c95bf85f
+  after  856c13b8709950cb8315cab0121ab056db93c0f8294addf95df605a7d127a7d3c09305a7c95bf85f
+
diff --git a/none/tests/x86/movbe.vgtest b/none/tests/x86/movbe.vgtest
new file mode 100644
index 0000000..a34320b
--- /dev/null
+++ b/none/tests/x86/movbe.vgtest
@@ -0,0 +1,3 @@
+prereq: test -e movbe
+prog: movbe
+vgopts: -q
diff --git a/perf/Makefile.am b/perf/Makefile.am
index 66b0ed0..5a12378 100644
--- a/perf/Makefile.am
+++ b/perf/Makefile.am
@@ -31,3 +31,6 @@
 ffbench_LDADD	= -lm
 
 tinycc_CFLAGS	= $(AM_CFLAGS) -Wno-shadow -Wno-inline
+if HAS_POINTER_SIGN_WARNING
+tinycc_CFLAGS  += -Wno-pointer-sign
+endif
diff --git a/perf/tinycc.c b/perf/tinycc.c
index 339f789..d97bc33 100644
--- a/perf/tinycc.c
+++ b/perf/tinycc.c
@@ -9848,7 +9848,7 @@
     CValue cval;
     TokenString macro_str1;
     CString cstr;
-
+    memset(&cval, 0, sizeof(cval));
     start_macro_ptr = macro_str;
     /* we search the first '##' */
     for(;;) {
@@ -21285,7 +21285,7 @@
 
 void help(void)
 {
-    printf("tcc version " TCC_VERSION " - Tiny C Compiler - Copyright (C) 2001-2011 Fabrice Bellard\n"
+    printf("tcc version " TCC_VERSION " - Tiny C Compiler - Copyright (C) 2001-2012 Fabrice Bellard\n"
            "usage: tcc [-v] [-c] [-o outfile] [-Bdir] [-bench] [-Idir] [-Dsym[=val]] [-Usym]\n"
            "           [-Wwarn] [-g] [-b] [-bt N] [-Ldir] [-llib] [-shared] [-static]\n"
            "           [infile1 infile2...] [-run infile args...]\n"
diff --git a/perf/vg_perf.in b/perf/vg_perf.in
index 2188a31..5d31f48 100644
--- a/perf/vg_perf.in
+++ b/perf/vg_perf.in
@@ -43,6 +43,11 @@
 #
 # The prerequisite command, if present, must return 0 otherwise the test is
 # skipped.
+# Sometimes it is useful to run all the tests at a high sanity check
+# level or with arbitrary other flags.  To make this simple, extra 
+# options, applied to all tests run, are read from $EXTRA_REGTEST_OPTS,
+# and handed to valgrind prior to any other flags specified by the 
+# .vgperf file. Note: the env var is the same as vg_regtest.
 #----------------------------------------------------------------------------
 
 use warnings;
@@ -58,12 +63,19 @@
     -h --help             show this message
     --reps=<n>            number of repeats for each program [1]
     --tools=<t1,t2,t3>    tools to run [Nulgrind and Memcheck]
-    --vg                  Valgrind(s) to measure (can be specified multiple
-                            times).  The "in-place" build is used.
-                            [Valgrind in the current directory]
+    --vg=<dir>            top-level directory containing Valgrind to measure
+                          [Valgrind in the current directory, i.e. --vg=.]
+                          Can be specified multiple times.
+                          The "in-place" build is used.
+
+    --outer-valgrind: run these Valgrind(s) under the given outer valgrind.
+      These Valgrind(s) must be configured with --enable-inner.
+    --outer-tool: tool to use by the outer valgrind (default cachegrind).
+    --outer-args: use this as outer tool args.
 
   Any tools named in --tools must be present in all directories specified
   with --vg.  (This is not checked.)
+  Use EXTRA_REGTEST_OPTS to supply extra args for all tests
 END
 ;
 
@@ -79,6 +91,14 @@
 my @vgdirs;             # Dirs of the various Valgrinds being measured.
 my @tools = ("none", "memcheck");   # tools being measured
 
+# Outer valgrind to use, and args to use for it.
+# If this is set, --valgrind should be set to the installed inner valgrind,
+# and --valgrind-lib will be ignore
+my $outer_valgrind;
+my $outer_tool = "cachegrind";
+my $outer_args;
+
+
 my $num_tests_done   = 0;
 my $num_timings_done = 0;
 
@@ -119,7 +139,6 @@
 {
     my ($vgdir) = @_;
     if ($vgdir !~ /^\//) { $vgdir = "$tests_dir/$vgdir"; }
-    validate_program($vgdir, "./coregrind/valgrind", 1, 1);
     push(@vgdirs, $vgdir);
 }
 
@@ -137,6 +156,12 @@
                 add_vgdir($1);
             } elsif ($arg =~ /^--tools=(.+)$/) {
                 @tools = split(/,/, $1);
+            } elsif ($arg =~ /^--outer-valgrind=(.*)$/) {
+                $outer_valgrind = $1;
+            } elsif ($arg =~ /^--outer-tool=(.*)$/) {
+                $outer_tool = $1;
+            } elsif ($arg =~ /^--outer-args=(.*)$/) {
+                $outer_args = $1;
             } else {
                 die $usage;
             }
@@ -228,6 +253,12 @@
             die "\n*** missing usertime in perf.stderr\n";
         $tmin = $1 if ($1 < $tmin);
     }
+
+    # Successful run; cleanup
+    unlink("perf.cmd");
+    unlink("perf.stderr");
+    unlink("perf.stdout");
+
     # Avoid divisions by zero!
     return (0 == $tmin ? 0.01 : $tmin);
 }
@@ -256,6 +287,22 @@
     my $cmd     = "$timecmd $prog $args";
     my $tNative = time_prog($cmd, $n_reps);
 
+    if (defined $outer_valgrind) {
+        $outer_valgrind = validate_program($tests_dir, $outer_valgrind, 1, 1);
+        foreach my $vgdir (@vgdirs) {
+            validate_program($vgdir, "./coregrind/valgrind", 1, 1);
+        }
+    } else {
+        foreach my $vgdir (@vgdirs) {
+            validate_program($vgdir, "./coregrind/valgrind", 1, 1);
+        }
+    }
+
+    # Pull any extra options (for example, --sanity-level=4)
+    # from $EXTRA_REGTEST_OPTS.
+    my $maybe_extraopts = $ENV{"EXTRA_REGTEST_OPTS"};
+    my $extraopts = $maybe_extraopts ?  $maybe_extraopts  : "";
+
     foreach my $vgdir (@vgdirs) {
         # Benchmark name
         printf("%-8s ", $name);
@@ -272,20 +319,50 @@
             # First two chars of toolname for abbreviation
             my $tool_abbrev = $tool;
             $tool_abbrev =~ s/(..).*/$1/;
-
-            # Do the tool run(s).  Set both VALGRIND_LIB and VALGRIND_LIB_INNER
-            # in case this Valgrind was configured with --enable-inner.  And
-            # also VALGRINDLIB, which was the old name for the variable, to
-            # allow comparison against old Valgrind versions (eg. 2.4.X).
             printf("  %s:", $tool_abbrev);
-            my $vgsetup = "VALGRINDLIB=$vgdir/.in_place "
-                        . "VALGRIND_LIB=$vgdir/.in_place "
-                        . "VALGRIND_LIB_INNER=$vgdir/.in_place ";
+            my $run_outer_args = "";
+            if (not defined $outer_args) {
+                $run_outer_args = 
+                      " -v --command-line-only=yes"
+                    . " --run-libc-freeres=no --sim-hints=enable-outer"
+                    . " --smc-check=all-non-file"
+                    . " --vgdb=no --trace-children=yes --read-var-info=no"
+                    . " --suppressions=../tests/outer_inner.supp"
+                    . " --memcheck:leak-check=full --memcheck:show-reachable=no"
+                    . " --cachegrind:cache-sim=yes --cachegrind:branch-sim=yes"
+                    . " --cachegrind:cachegrind-out-file=cachegrind.out.$vgdirname.$tool_abbrev.$name.%p"
+                    . " --callgrind:cache-sim=yes --callgrind:branch-sim=yes"
+                    . " --callgrind:dump-instr=yes --callgrind:collect-jumps=yes"
+                    . " --callgrind:callgrind-out-file=callgrind.out.$vgdirname.$tool_abbrev.$name.%p"
+                    . " ";
+            } else {
+                $run_outer_args = $outer_args;
+            }
+
+            my $vgsetup = "";
             my $vgcmd   = "$vgdir/coregrind/valgrind "
-                        . "--command-line-only=yes --tool=$tool -q "
+                        . "--command-line-only=yes --tool=$tool  $extraopts -q "
                         . "--memcheck:leak-check=no "
                         . "--trace-children=yes "
                         . "$vgopts ";
+            # Do the tool run(s).
+            if (defined $outer_valgrind ) {
+                # in an outer-inner setup, only set VALGRIND_LIB_INNER
+                $vgsetup = "VALGRIND_LIB_INNER=$vgdir/.in_place ";
+                $vgcmd   = "$outer_valgrind "
+                         . "--tool=" . $outer_tool . " "
+                         . "$run_outer_args "
+                         . "--log-file=" . "$outer_tool.outer.log.$vgdirname.$tool_abbrev.$name.%p "
+                         . $vgcmd;
+            } else {
+                # Set both VALGRIND_LIB and VALGRIND_LIB_INNER
+                # in case this Valgrind was configured with --enable-inner.  And
+                # also VALGRINDLIB, which was the old name for the variable, to
+                # allow comparison against old Valgrind versions (eg. 2.4.X).
+                $vgsetup = "VALGRINDLIB=$vgdir/.in_place "
+                         . "VALGRIND_LIB=$vgdir/.in_place "
+                         . "VALGRIND_LIB_INNER=$vgdir/.in_place ";
+            }
             my $cmd     = "$vgsetup $timecmd $vgcmd $prog $args";
             my $tTool   = time_prog($cmd, $n_reps);
             printf("%4.1fs (%4.1fx,", $tTool, $tTool/$tNative);
@@ -368,10 +445,22 @@
 #----------------------------------------------------------------------------
 # main()
 #----------------------------------------------------------------------------
+sub warn_about_EXTRA_REGTEST_OPTS()
+{
+    print "WARNING: \$EXTRA_REGTEST_OPTS is set.  You probably don't want\n";
+    print "to run the perf tests with it set, unless you are doing some\n";
+    print "strange experiment, and/or you really know what you are doing.\n";
+    print "\n";
+}
 
 # nuke VALGRIND_OPTS
 $ENV{"VALGRIND_OPTS"} = "";
 
+if ($ENV{"EXTRA_REGTEST_OPTS"}) {
+    print "\n";
+    warn_about_EXTRA_REGTEST_OPTS();
+}
+
 my @fs = process_command_line();
 foreach my $f (@fs) {
     if (-d $f) {
@@ -394,6 +483,10 @@
 }
 summarise_results();
 
+if ($ENV{"EXTRA_REGTEST_OPTS"}) {
+    warn_about_EXTRA_REGTEST_OPTS();
+}
+
 ##--------------------------------------------------------------------##
 ##--- end                                                          ---##
 ##--------------------------------------------------------------------##
diff --git a/tests/arch_test.c b/tests/arch_test.c
index 4263c89..849af6e 100644
--- a/tests/arch_test.c
+++ b/tests/arch_test.c
@@ -29,6 +29,8 @@
    "ppc64",
    "arm",
    "s390x",
+   "mips32",
+   "mips64",
    NULL
 };
 
@@ -38,7 +40,9 @@
    if ( 0 == strcmp( arch, "x86"   ) ) return True;
 
 #elif defined(VGP_amd64_linux) || defined(VGP_amd64_darwin)
+#if defined(VGA_SEC_x86)
    if ( 0 == strcmp( arch, "x86"   ) ) return True;
+#endif
    if ( 0 == strcmp( arch, "amd64" ) ) return True;
 
 #elif defined(VGP_ppc32_linux)
@@ -46,7 +50,9 @@
 
 #elif defined(VGP_ppc64_linux)
    if ( 0 == strcmp( arch, "ppc64" ) ) return True;
+#if defined(VGA_SEC_ppc32)
    if ( 0 == strcmp( arch, "ppc32" ) ) return True;
+#endif
 
 #elif defined(VGP_s390x_linux)
    if ( 0 == strcmp( arch, "s390x" ) ) return True;
@@ -54,6 +60,12 @@
 #elif defined(VGP_arm_linux)
    if ( 0 == strcmp( arch, "arm" ) ) return True;
 
+#elif defined(VGP_mips32_linux)
+   if ( 0 == strcmp( arch, "mips32" ) ) return True;
+
+#elif defined(VGP_mips64_linux)
+   if ( 0 == strcmp( arch, "mips64" ) ) return True;
+
 #else
 #  error Unknown platform
 #endif   // VGP_*
diff --git a/tests/platform_test b/tests/platform_test
index 7fbf05a..43275c8 100644
--- a/tests/platform_test
+++ b/tests/platform_test
@@ -13,7 +13,7 @@
 all_platforms=
 all_platforms="$all_platforms x86-linux amd64-linux ppc32-linux ppc64-linux"
 all_platforms="$all_platforms arm-linux"
-all_platforms="$all_platforms s390x-linux"
+all_platforms="$all_platforms s390x-linux mips32-linux mips64-linux"
 all_platforms="$all_platforms x86-darwin amd64-darwin"
 
 if [ $# -ne 2 ] ; then
diff --git a/tests/s390x_features.c b/tests/s390x_features.c
index 302d167..a25b189 100644
--- a/tests/s390x_features.c
+++ b/tests/s390x_features.c
@@ -5,6 +5,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <assert.h>
 #include <ctype.h>     // isspace
 #include <fcntl.h>     // open
 #include <unistd.h>    // lseek
@@ -17,9 +18,9 @@
 //     model, if specified, matches the machine
 // - 1 the machine does not provide the asked-for feature or the
 //     cpu model, if specified, does not match the machine
+// - 1 for an unknown cpu model in /proc/cpu_info
 // - 2 if the asked-for feature isn't recognised (this will be the case for
 //     any feature if run on a non-s390x machine).
-// - 2 for an unknown cpu model in /proc/cpu_info
 // - 3 if there was a usage error (it also prints an error message).
 //
 // USAGE:
@@ -79,11 +80,13 @@
    { "2066", "z800"   },
    { "2084", "z990"   },
    { "2086", "z890"   },
-   { "2094", "z9-ec"  },
-   { "2096", "z9-bc"  },
-   { "2097", "z10-ec" },
-   { "2098", "z10-bc" },
+   { "2094", "z9-EC"  },
+   { "2096", "z9-BC"  },
+   { "2097", "z10-EC" },
+   { "2098", "z10-BC" },
    { "2817", "z196"   },
+   { "2818", "z114"   },
+   { "2827", "zEC12"  },
 };
 
 
@@ -115,7 +118,6 @@
    model_info *model;
 
    /* Slurp contents of /proc/cpuinfo into FILE_BUF */
-   //fh = open("/proc/cpuinfo", O_RDONLY, S_IRUSR);
    fh = open("/proc/cpuinfo", O_RDONLY, S_IRUSR);
    if (fh < 0) return NULL;
 
@@ -189,6 +191,11 @@
    return model;
 }
 
+
+/* Convenience macro that maps the facility bit number as given in the
+   Principles of Ops "facility indications" section to a bit mask */
+#define FAC_BIT(x)   (1ULL << (63 - (x)))
+
 static int go(char *feature, char *cpu)
 {
    unsigned long long facilities;
@@ -199,23 +206,31 @@
    facilities = stfle();
 
    if        (strcmp(feature, "s390x-zarch") == 0 ) {
-     match = (facilities & (1ULL << 62) && (facilities & (1ULL << 61)));
+      match = (facilities & FAC_BIT(1)) && (facilities & FAC_BIT(2));
    } else if (strcmp(feature, "s390x-n3") == 0 ) {
-     match = (facilities & (1ULL << 63));
+      match = facilities & FAC_BIT(0);
    } else if (strcmp(feature, "s390x-stfle") == 0 ) {
-     match = (facilities & (1ULL << 56));
+      match = facilities & FAC_BIT(7);
    } else if (strcmp(feature, "s390x-ldisp") == 0 ) {
-     match = (facilities & (1ULL << 45) && (facilities & (1ULL << 44)));
+      match = (facilities & FAC_BIT(18)) && (facilities & FAC_BIT(19));
    } else if (strcmp(feature, "s390x-eimm") == 0 ) {
-     match = (facilities & (1ULL << 42));
+      match = facilities & FAC_BIT(21);
    } else if (strcmp(feature, "s390x-stckf") == 0 ) {
-     match = (facilities & (1ULL << 38));
+      match = facilities & FAC_BIT(25);
    } else if (strcmp(feature, "s390x-genins") == 0 ) {
-     match = (facilities & (1ULL << 29));
+      match = facilities & FAC_BIT(34);
    } else if (strcmp(feature, "s390x-exrl") == 0 ) {
-     match = (facilities & (1ULL << 28));
+      match = facilities & FAC_BIT(35);
+   } else if (strcmp(feature, "s390x-etf3") == 0 ) {
+      match = facilities & FAC_BIT(30);
+   } else if (strcmp(feature, "s390x-fpext") == 0 ) {
+      match = facilities & FAC_BIT(37);
+   } else if (strcmp(feature, "s390x-dfp") == 0 ) {
+      match = facilities & FAC_BIT(42);
+   } else if (strcmp(feature, "s390x-pfpo") == 0 ) {
+      match = facilities & FAC_BIT(44);
    } else {
-     return 2;          // Unrecognised feature.
+      return 2;          // Unrecognised feature.
    }
 
    if (match == 0) return 1;   // facility not provided
@@ -224,7 +239,7 @@
    if (cpu == NULL) return 0;
 
    host = get_host();
-   if (host == NULL) return 2;  // unknown model
+   if (host == NULL) return 1;  // unknown model
 
    //   printf("host = %s (%s)\n", host->cpuinfo_name, host->real_name);
 
@@ -286,14 +301,28 @@
 //---------------------------------------------------------------------------
 int main(int argc, char **argv)
 {
-   int rc;
+   int rc, inverted = 0;
 
    if (argc < 2 || argc > 3) {
       fprintf( stderr, "usage: s390x_features <feature> [<machine-model>]\n" );
       exit(3);                // Usage error.
    }
 
+   if (argv[1][0] == '!') {
+      assert(argv[2] == NULL);   // not allowed
+      inverted = 1;
+      ++argv[1];
+   }
+
    rc = go(argv[1], argv[2]);
+   
+   if (inverted) {
+      switch (rc) {
+      case 0: rc = 1; break;
+      case 1: rc = 0; break;
+      case 2: rc = 2; break;
+      }
+   }
 
    //   printf("rc = %d\n", rc);
 
diff --git a/tests/sys_mman.h b/tests/sys_mman.h
index 7ac64d5..c059308 100644
--- a/tests/sys_mman.h
+++ b/tests/sys_mman.h
@@ -21,7 +21,7 @@
    void* ptr;
    int r;
    long pagesz = sysconf(_SC_PAGE_SIZE);
-   assert(pagesz == 4096 || pagesz == 65536);
+   assert(pagesz == 4096 || pagesz == 16384 || pagesz == 65536);
    ptr = mmap(0, pagesz, PROT_READ, MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
    assert(ptr != (void*)-1);
    r = munmap(ptr, pagesz);
diff --git a/tests/vg_regtest.in b/tests/vg_regtest.in
index 9ea1d05..224385f 100755
--- a/tests/vg_regtest.in
+++ b/tests/vg_regtest.in
@@ -164,8 +164,6 @@
 chomp(my $tests_dir = `pwd`);
 
 # Outer valgrind to use, and args to use for it.
-# If this is set, --valgrind should be set to the installed inner valgrind,
-# and --valgrind-lib will be ignore
 my $outer_valgrind;
 my $outer_tool = "memcheck";
 my $outer_args;
@@ -238,11 +236,12 @@
     $valgrind = validate_program($tests_dir, $valgrind, 1, 0);
     
     if (defined $outer_valgrind) {
-      $outer_valgrind = validate_program($tests_dir, $outer_valgrind, 1, 0);
+      $outer_valgrind = validate_program($tests_dir, $outer_valgrind, 1, 1);
       if (not defined $outer_args) {
           $outer_args = 
-              " --command-line-only=yes"
+                " --command-line-only=yes"
               . " --run-libc-freeres=no --sim-hints=enable-outer"
+              . " --smc-check=all-non-file"
               . " --vgdb=no --trace-children=yes --read-var-info=no"
               . " --suppressions=" 
               . validate_program($tests_dir,"./tests/outer_inner.supp",1,0)
@@ -457,12 +456,12 @@
     }
  
     # Pass the appropriate --tool option for the directory (can be overridden
-    # by an "args:" line, though).  Set both VALGRIND_LIB and
-    # VALGRIND_LIB_INNER in case this Valgrind was configured with
-    # --enable-inner.
+    # by an "args:" line, though).
     my $tool=determine_tool();
     if (defined $outer_valgrind ) {
-        mysystem("$outer_valgrind "
+        # in an outer-inner setup, only set VALGRIND_LIB_INNER
+        mysystem(   "VALGRIND_LIB_INNER=$valgrind_lib "
+                  . "$outer_valgrind "
                   . "--tool=" . $outer_tool . " "
                   . "$outer_args "
                   . "--log-file=" . "$name.outer.log "
@@ -471,7 +470,9 @@
                   . "--tool=$tool $extraopts $vgopts "
                   . "$prog $args > $name.stdout.out 2> $name.stderr.out");
     } else {
-        mysystem("VALGRIND_LIB=$valgrind_lib VALGRIND_LIB_INNER=$valgrind_lib "
+        # Set both VALGRIND_LIB and VALGRIND_LIB_INNER in case this Valgrind
+        # was configured with --enable-inner.
+        mysystem(   "VALGRIND_LIB=$valgrind_lib VALGRIND_LIB_INNER=$valgrind_lib "
                   . "$valgrind --command-line-only=yes --memcheck:leak-check=no "
                   . "--tool=$tool $extraopts $vgopts "
                   . "$prog $args > $name.stdout.out 2> $name.stderr.out");
diff --git a/tests/x86_amd64_features.c b/tests/x86_amd64_features.c
index 6597b0f..cfa082c 100644
--- a/tests/x86_amd64_features.c
+++ b/tests/x86_amd64_features.c
@@ -12,6 +12,12 @@
 // - 2 if the asked-for feature isn't recognised (this will be the case for
 //     any feature if run on a non-x86/AMD64 machine).
 // - 3 if there was a usage error (it also prints an error message).
+// viz:
+#define FEATURE_PRESENT       0
+#define FEATURE_NOT_PRESENT   1
+#define UNRECOGNISED_FEATURE  2
+#define USAGE_ERROR           3
+
 
 #define False  0
 #define True   1
@@ -42,11 +48,31 @@
    return 0 == strcmp(vstr, str);
 }
 
+static Bool have_xgetbv ( void )
+{
+#if defined(VGA_amd64)
+   unsigned long long int w;
+   __asm__ __volatile__("movq $0,%%rcx ; "
+                        ".byte 0x0F,0x01,0xD0 ; " /* xgetbv */
+                        "movq %%rax,%0"
+                        :/*OUT*/"=r"(w) :/*IN*/
+                        :/*TRASH*/"rdx","rcx");
+   if ((w & 6) == 6) {
+      /* OS has enabled both XMM and YMM state support */
+      return True;
+   } else {
+      return False;
+   }
+#else
+   return False;
+#endif
+}
+
 static Bool go(char* cpu)
 { 
    unsigned int level = 0, cmask = 0, dmask = 0, a, b, c, d;
    Bool require_amd = False;
-
+   Bool require_xgetbv = False;
    if        ( strcmp( cpu, "x86-fpu" ) == 0 ) {
      level = 1;
      dmask = 1 << 0;
@@ -95,16 +121,20 @@
    } else if ( strcmp( cpu, "amd64-sse42" ) == 0 ) {
      level = 1;
      cmask = 1 << 20;
+   } else if ( strcmp( cpu, "amd64-avx" ) == 0 ) {
+     level = 1;
+     cmask = (1 << 27) | (1 << 28);
+     require_xgetbv = True;
 #endif
    } else {
-     return 2;          // Unrecognised feature.
+     return UNRECOGNISED_FEATURE;
    }
 
    assert( !(cmask != 0 && dmask != 0) );
    assert( !(cmask == 0 && dmask == 0) );
 
    if (require_amd && !vendorStringEquals("AuthenticAMD"))
-      return 1; // Feature not present
+      return FEATURE_NOT_PRESENT;
       // regardless of what that feature actually is
 
    cpuid( level & 0x80000000, &a, &b, &c, &d );
@@ -112,17 +142,28 @@
    if ( a >= level ) {
       cpuid( level, &a, &b, &c, &d );
 
-      if (dmask > 0 && (d & dmask) != 0) return 0;    // Feature present.
-      if (cmask > 0 && (c & cmask) != 0) return 0;    // Feature present.
+      if (dmask > 0 && (d & dmask) == dmask) {
+         if (require_xgetbv && !have_xgetbv())
+            return FEATURE_NOT_PRESENT;
+         else
+            return FEATURE_PRESENT;
+      }
+      if (cmask > 0 && (c & cmask) == cmask) {
+         if (require_xgetbv && !have_xgetbv())
+            return FEATURE_NOT_PRESENT;
+         else
+            return FEATURE_PRESENT;
+      }
    }
-   return 1;                                          // Feature not present.
+   return FEATURE_NOT_PRESENT;
 }
 
 #else
 
 static Bool go(char* cpu)
 {
-   return 2;      // Feature not recognised (non-x86/AMD64 machine!)
+   // Feature not recognised (non-x86/AMD64 machine!)
+   return UNRECOGNISED_FEATURE;
 }
 
 #endif   // defined(VGA_x86)  || defined(VGA_amd64)
@@ -135,7 +176,7 @@
 {
    if ( argc != 2 ) {
       fprintf( stderr, "usage: x86_amd64_features <feature>\n" );
-      exit(3);                // Usage error.
+      exit(USAGE_ERROR);
    }
    return go(argv[1]);
 }
diff --git a/valgrind.pc.in b/valgrind.pc.in
index 34b3bd1..8a923cd 100644
--- a/valgrind.pc.in
+++ b/valgrind.pc.in
@@ -5,7 +5,7 @@
 arch=@VGCONF_ARCH_PRI@
 os=@VGCONF_OS@
 platform=@VGCONF_ARCH_PRI@-@VGCONF_OS@
-valt_load_address=@VALT_LOAD_ADDRESS@
+valt_load_address=@VALT_LOAD_ADDRESS_PRI@
 
 Name: Valgrind
 Description: A dynamic binary instrumentation framework
diff --git a/valgrind.spec.in b/valgrind.spec.in
index 5fd3002..9e3e17c 100644
--- a/valgrind.spec.in
+++ b/valgrind.spec.in
@@ -36,7 +36,7 @@
 
 %files
 %defattr(-,root,root)
-%doc AUTHORS COPYING FAQ.txt NEWS README*
+%doc AUTHORS COPYING FAQ.txt NEWS NEWS.old README*
 %doc docs.installed/html/*.html docs.installed/html/images/*.png
 %{_bindir}/*
 %{_includedir}/valgrind